diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000..047d1d44eb --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,221 @@ +#------------------------------------------------------------------------------ +# Top Level CMakeLists.txt for Geant4 Build +# +# 21st September 2010 Ben Morgan +# +# $Id: CMakeLists.txt,v 1.6 2010/12/08 16:36:34 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# + +#------------------------------------------------------------------------------ +# Enforce out-of-source builds before anything else +# +if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) + message(STATUS "Geant4 requires an out-of-source build.") + message(STATUS "Please remove these files from ${CMAKE_BINARY_DIR} first:") + message(STATUS "CMakeCache.txt") + message(STATUS "CMakeFiles") + message(STATUS "Once these files are removed, create a separate directory") + message(STATUS "and run CMake from there") + message(FATAL_ERROR "in-source build detected") +endif() + +#------------------------------------------------------------------------------ +# Define CMake requirements and override make rules as needed +# +cmake_minimum_required(VERSION 2.6) +set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX + ${CMAKE_SOURCE_DIR}/cmake/Modules/Geant4MakeRules_cxx.cmake) + +set(CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran + ${CMAKE_SOURCE_DIR}/cmake/Modules/Geant4MakeRules_fortran.cmake) + +#------------------------------------------------------------------------------ +# Define the project +# +project(geant4) + +#------------------------------------------------------------------------------ +# Define the version of the project - can be used to generate sources, +# but just used for CPack the the moment +# +set(${PROJECT_NAME}_VERSION "9.4.0") +set(${PROJECT_NAME}_VERSION_MAJOR "9") +set(${PROJECT_NAME}_VERSION_MINOR "4") +set(${PROJECT_NAME}_VERSION_PATCH "0") + +#------------------------------------------------------------------------------ +# Set up path to internal set of CMake modules. +# +set(CMAKE_MODULE_PATH + ${geant4_SOURCE_DIR}/cmake + ${geant4_SOURCE_DIR}/cmake/Modules + ${CMAKE_MODULE_PATH}) + + +#------------------------------------------------------------------------------ +# Set up Build types or configurations +# If further tuning of compiler flags is needed then it should be done here. +# (It can't be done in the make rules override section). +# However, exercise care when doing this not to override existing flags!! +# We don't do this on WIN32 platforms because of some teething issues +# with compiler specifics and linker flags +if(NOT WIN32) + include(Geant4BuildModes) +endif(NOT WIN32) + + +#------------------------------------------------------------------------------ +# Includes for common utilities +# +include(Geant4CPackBase) +include(FeatureSummary) +include(Geant4MacroUtilities) +include(CMakeDependentOption) + + +#------------------------------------------------------------------------------ +# Geant4 library build options. +# Only global or granular libraries can be built. Global libraries are the +# default, and provide an advanced option to switch to granular build. +# Only developers really need the granular build. +option(GEANT4_BUILD_GRANULAR_LIBS "Build Geant4 with granular libraries" OFF) +mark_as_advanced(GEANT4_BUILD_GRANULAR_LIBS) +GEANT4_ADD_FEATURE(GEANT4_BUILD_GRANULAR_LIBS "Build granular Geant4 libraries") + +# Default to static libraries on win32 until declspec issues resolved +if(WIN32) + option(BUILD_STATIC_LIBS "Build Geant4 static libraries" ON) + option(BUILD_SHARED_LIBS "Build Geant4 dynamic libraries" OFF) +else(WIN32) + option(BUILD_STATIC_LIBS "Build Geant4 static libraries" OFF) + option(BUILD_SHARED_LIBS "Build Geant4 dynamic libraries" ON) +endif(WIN32) + +#------------------------------------------------------------------------------ +# Build output +# Output all binaries to single directory based on their type +# +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/outputs/runtime) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/outputs/library) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/outputs/archive) + + +#------------------------------------------------------------------------------ +# Geant4 defaults for data libraries +# Not required for build, so how best to handle? +# + +#------------------------------------------------------------------------------ +# Find required CLHEP package +# Use REQUIRED - we MUST have it. An EXACT version number is not used at +# present, but can be added later as needed. +# +find_package(CLHEP 2.1.0.1 REQUIRED) + + +#------------------------------------------------------------------------------ +# Geant4 User Interface Options +# Written in separate module for clarity +# +include(Geant4InterfaceOptions) + +#------------------------------------------------------------------------------ +# Geant4 Extra Modules Options +# +#------------------------------------------------------------------------------ +# Optional support for GDML - requires XercesC package +# +option(GEANT4_USE_GDML "Build Geant4 with GDML support" OFF) +if(GEANT4_USE_GDML) + find_package(XercesC REQUIRED) +endif(GEANT4_USE_GDML) + +GEANT4_ADD_FEATURE(GEANT4_USE_GDML "Build Geant4 with GDML support") + + +#------------------------------------------------------------------------------ +# Build G3ToG4 converter program +# The G3toG4 *library* will always be built, but the application requires +# a Fortran compiler AND CERNLIB, so is optional. +# Only on *NIX because converter requires CERNLIB, and Windows support for +# this is an unknown quantity at present (can always change later). +# +if(UNIX) + option(GEANT4_USE_GEANT3TOGEANT4 "Build the Geant3-to-Geant4 converter application" OFF) + if(GEANT4_USE_GEANT3TOGEANT4) + enable_language(Fortran) + #find_package(CERNLIB REQUIRED) + endif(GEANT4_USE_GEANT3TOGEANT4) + + GEANT4_ADD_FEATURE(GEANT4_USE_GEANT3TOGEANT4 "Build the Geant3-to-Geant4 converter application") +endif() + +#------------------------------------------------------------------------------ +# Optional use of system zlib library +# +#option(GEANT4_USE_SYSTEM_ZLIB "Use the system's zlib library" OFF) +if(GEANT4_USE_SYSTEM_ZLIB) + # This needs more work - use ITK's way of doing it as an example. + find_package(ZLIB) +endif(GEANT4_USE_SYSTEM_ZLIB) + +GEANT4_ADD_FEATURE(GEANT4_USE_SYSTEM_ZLIB "Use system zlib library") + + +#------------------------------------------------------------------------------ +# Optional build of Python wrappers (Geant4Py) +# Suggested that this be brought under the wing of the CMake system. +# -> Requires Global/Shared library build (all platforms?) +# +#CMAKE_DEPENDENT_OPTION(GEANT4_WRAP_PYTHON "Wrap Geant4 classes into the Python language" OFF "GEANT4_BUILD_GLOBAL_LIBS;BUILD_SHARED_LIBS" OFF) +#if(GEANT4_WRAP_PYTHON) + # We need Boost-Python and Python + # NB: Watch for FindPythonLibs picking up the static version... + # Known issue with CMake 2.6 module - see Bug #8389 and 2257 for details + # of fix + # find_package(Boost REQUIRED COMPONENTS python) + #find_package(PythonLibs REQUIRED) + #endif(GEANT4_WRAP_PYTHON) + + #GEANT4_ADD_FEATURE(GEANT4_WRAP_PYTHON "Wrap Geant4 classes into the Python language") + + +#------------------------------------------------------------------------------ +# Add the source subdirectory - all the source code for the libraries is under +# this. +# +add_subdirectory(source) + + +#------------------------------------------------------------------------------ +# Generate any Use/Config files here once everything else has been processed +# e.g. "UseGeant4.cmake", "Geant4Config.cmake" - library dependencies etc +# +set(GEANT4_PREFIX ${CMAKE_INSTALL_PREFIX}) +set(GEANT4_EXEC_PREFIX ${GEANT4_PREFIX}) +set(GEANT4_BINDIR ${GEANT4_EXEC_PREFIX}/bin) +set(GEANT4_LIBDIR ${GEANT4_PREFIX}/lib) +set(GEANT4_DATAROOTDIR ${GEANT4_PREFIX}/share) +set(GEANT4_DATADIR ${GEANT4_DATAROOTDIR}) +set(GEANT4_INCLUDEDIR ${GEANT4_PREFIX}/include) +set(GEANT4_DOCDIR ${GEANT4_DATAROOTDIR}/doc/geant4-${geant4_VERSION}) + +include(Geant4ToolchainBackwardCompatibility) +include(Geant4ConfigureConfigScript) + + +#------------------------------------------------------------------------------ +# Install any extra files needed such as documentation and legacy Makefiles +# +# User example code +install(DIRECTORY examples + DESTINATION ${GEANT4_DATAROOTDIR}/geant4-${geant4_VERSION} + PATTERN "CVS" EXCLUDE) + + +# +# Final output - show what's been enabled so that user knows what's +# happening - also useful for later problem solving! +# +GEANT4_PRINT_ENABLED_FEATURES() diff --git a/Configure b/Configure index 8bd856d992..71543882b2 100755 --- a/Configure +++ b/Configure @@ -18,9 +18,9 @@ # you may fetch it yourself from your nearest archive site.) # -# $Id: Configure,v 1.126 2009/11/26 10:40:56 bmorgan Exp $ +# $Id: Configure,v 1.139 2010/12/03 11:10:39 bmorgan Exp $ # -# Generated on Thu Nov 26 10:39:51 GMT 2009 [metaconfig 3.0 PL70] +# Generated on Fri Dec 3 11:08:58 GMT 2010 [metaconfig 3.0 PL70] cat >/tmp/c1$$ </dev/null\` \`ls -dr \$with_qt_dir/include/qt*/Qt 2>/dev/null\` \`ls -dr \$with_qt_dir/include/qt* 2>/dev/null\` - \$with_qt_dir/include - \$with_qt_dir/QtCore.framework/Headers" + \$with_qt_dir/include" # Check for qglobal.h g4_qglobal_loc=\`./loc qglobal.h no \$g4_qt_possible_qt_include_dirs\` @@ -2285,17 +2293,29 @@ if test "x\$g4_qt_is_configured" = "x" ; then fi else - # We use standard search paths... + # We use standard search paths, again preferencing Frameworks so that + # these are not missed qt_direct_test_header="qglobal.h" g4_qt_include_path_list=" \`ls -dr /Library/Frameworks/QtCore.framework/Headers 2>/dev/null\` \`ls -dr /System/Library/Frameworks/QtCore.framework/Headers 2>/dev/null\` + \`ls -dr /usr/local/Qt*/QtCore.framework/Headers 2>/dev/null\` + \`ls -dr /usr/local/Qt*/lib*/QtCore.framework/Headers 2>/dev/null\` + \`ls -dr /usr/local/lib*/Qt*/QtCore.framework/Headers 2>/dev/null\` + \`ls -dr /opt/local/Qt*/QtCore.framework/Headers 2>/dev/null\` + \`ls -dr /opt/local/Qt*/lib*/QtCore.framework/Headers 2>/dev/null\` + \`ls -dr /opt/local/lib/Qt*/QtCore.framework/Headers 2>/dev/null\` + \`ls -dr /opt/local/lib*/QtCore.framework/Headers 2>/dev/null\` + \`ls -dr /opt/Qt*/QtCore.framework/Headers 2>/dev/null\` + \`ls -dr /opt/Qt*/lib*/QtCore.framework/Headers 2>/dev/null\` + \`ls -dr /usr/lib/QtCore.framework/Headers 2>/dev/null\` + \`ls -dr /usr/lib/Qt*/QtCore.framework/Headers 2>/dev/null\` /usr/include/QtCore \`ls -dr /usr/include/qt*/QtCore 2>/dev/null\` - \`ls -dr /usr/local/include/QtCore 2>/dev/null\` + \`ls -dr /usr/local/include/QtCore 2>/dev/null\` \`ls -dr /usr/local/include/qt*/QtCore 2>/dev/null\` - \`ls -dr /usr/local/qt*/include/QtCore 2>/dev/null\` + \`ls -dr /usr/local/qt*/include/QtCore 2>/dev/null\` \`ls -dr /opt/qt*/include/QtCore 2>/dev/null\` \`ls -dr /usr/qt*/include/QtCore 2>/dev/null\` \`ls -dr /usr/qt/*/include/QtCore 2>/dev/null\` @@ -2306,7 +2326,7 @@ if test "x\$g4_qt_is_configured" = "x" ; then /usr/include \`ls -dr /usr/include/qt* 2>/dev/null\` \`ls -dr /usr/local/include 2>/dev/null\` - \`ls -dr /usr/local/include/qt* 2>/dev/null\` + \`ls -dr /usr/local/include/qt* 2>/dev/null\` \`ls -dr /usr/local/qt*/include 2>/dev/null\` \`ls -dr /opt/qt*/include 2>/dev/null\` \`ls -dr /usr/qt*/include 2>/dev/null\` @@ -2349,9 +2369,10 @@ if test "x\$g4_qt_is_configured" = "x" ; then if test "x\$g4_qt_include_dir" = "x" ; then g4_qt_include_dir=no g4_havegoodqt=no + echo "checking for qglobal.h... no" + else + echo "checking for qglobal.h... \$g4_qt_include_dir/qglobal.h" fi - - echo "checking for qglobal.h... \$g4_qt_include_dir/qglobal.h" fi # END TEST with_qt_dir is set # @@ -2362,24 +2383,54 @@ if test "x\$g4_qt_is_configured" = "x" ; then # Immediate and obvious Darwin check... if test "x\`basename \$g4_qt_include_dir\`" = "xHeaders" ; then - #check for moc - if test -x "/usr/bin/moc" ; then - g4_qt_moc="/usr/bin/moc" - echo "checking for moc... \$g4_qt_moc" + #check for moc - we have a framework so we first need to check for + #a bin directory below g4_qt_include_dir. Depending on how the + #Framework was installed, this may be below the level that + #QtCore.framework is at. - g4_qt_dir=\`dirname \$g4_qt_include_dir\` - g4_qt_dir=\`dirname \$g4_qt_dir\` + # Find base framework directory + g4_qt_fmwk_base_dir=\`dirname \$g4_qt_include_dir\` + g4_qt_fmwk_base_dir=\`dirname \$g4_qt_fmwk_base_dir\` - g4_qt_version="4" - g4_qt_cxxflags="-I\$g4_qt_dir/QtCore.framework/Headers -I\$g4_qt_dir/QtGui.framework/Headers" - g4_qt_gl_cxxflags="-I\$g4_qt_dir/QtOpenGl.framework/Headers" - g4_qt_libs="-F\$g4_qt_dir -framework QtCore -framework QtGui" - g4_qt_gl_libs="-framework QtOpenGL" - else - echo "checking for moc... no" - g4_havegoodqt=no + if test "x\`basename \$g4_qt_fmwk_base_dir\`" = "xlib" ; then + #This is probably an independent install + echo "checking Mac Framework location... trolltech/custom" + g4_qt_dir=\`dirname \$g4_qt_fmwk_base_dir\` + + #Check for moc + if test -x "\$g4_qt_dir/bin/moc" ; then + g4_qt_moc="\$g4_qt_dir/bin/moc" + echo "checking for moc... \$g4_qt_moc" + + g4_qt_version="4" + g4_qt_cxxflags="-I\$g4_qt_dir/lib/QtCore.framework/Headers -I\$g4_qt_dir/lib/QtGui.framework/Headers" + g4_qt_gl_cxxflags="-I\$g4_qt_dir/lib/QtOpenGl.framework/Headers" + g4_qt_libs="-F\$g4_qt_dir/lib -framework QtCore -framework QtGui" + g4_qt_gl_libs="-framework QtOpenGL" + else + echo "checking for moc... no" + g4_havegoodqt=no + fi + elif test "x\`basename \$g4_qt_fmwk_base_dir\`" = "xFrameworks" ; then + #This looks like a system install + echo "Checking Mac Framework location... Frameworks" + if test -x "/usr/bin/moc" ; then + g4_qt_moc="/usr/bin/moc" + echo "checking for moc... \$g4_qt_moc" + + g4_qt_dir=\$g4_qt_fmwk_base_dir + + g4_qt_version="4" + g4_qt_cxxflags="-I\$g4_qt_dir/QtCore.framework/Headers -I\$g4_qt_dir/QtGui.framework/Headers" + g4_qt_gl_cxxflags="-I\$g4_qt_dir/QtOpenGl.framework/Headers" + g4_qt_libs="-F\$g4_qt_dir -framework QtCore -framework QtGui" + g4_qt_gl_libs="-framework QtOpenGL" + else + echo "checking for moc... no" + g4_havegoodqt=no + fi fi - else + elif test "x\$g4_qt_include_dir" != "x" ; then # Probably have Unix-style installation, in which case estimated # 'QTDIR' equivalent is $with_qt_dir if supplied, or directory # one level below the 'include' directory in \$g4_qt_include_dir @@ -2478,7 +2529,7 @@ if test "x\$g4_qt_is_configured" = "x" ; then # will have a lib64 dir even on an i*86 machine... # We don't ever cross-compile Geant4, so must have the native libraries. # Double check for this craziness... - case `uname -m` in + case "`uname -m`" in i*86) g4_qt_lib_dir=\$g4_qt_dir/lib ;; @@ -2670,6 +2721,9 @@ EOM\` else g4_qt_is_configured='' fi + else + #We couldn't find qglobal... + g4_havegoodqt="no" fi #END TEST for Darwin Framework else @@ -3122,7 +3176,7 @@ if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7" ; then # while test 1 = 1 ; do g4message="Do you want to build static libraries too?" - dflt=n + dflt=$g4lib_build_static rp=$g4message . ./myread gans=$ans @@ -3162,15 +3216,15 @@ if test \( "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7" -a "X$g4s gans=$ans case $gans in - n*|N*) + n*|N*) + # If global libs not wanted, we must force build and use of granular g4global=n g4granular=y g4lib_use_granular=y ;; y*|Y*) + # If we do want global libs, leave granular alone to preserve default settings g4global=y - g4granular=n - g4lib_use_granular=n ;; esac @@ -3186,7 +3240,9 @@ if test \( "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7" -a "X$g4s case $gans in n*|N*) + # If granular libraries not built, also force use_granular to no g4granular=n + g4lib_use_granular=n ;; y*|Y*) g4granular=y @@ -3233,12 +3289,14 @@ y*|Y*) ;; esac -g4data_photonevaporation_version='PhotonEvaporation2.0' -g4data_radioactivedecay_version='RadioactiveDecay3.2' -g4data_g4emlow_version='G4EMLOW6.9' -g4data_g4ndl_version='G4NDL3.13' +g4data_photonevaporation_version='PhotonEvaporation2.1' +g4data_radioactivedecay_version='RadioactiveDecay3.3' +g4data_g4emlow_version='G4EMLOW6.19' +g4data_g4ndl_version='G4NDL3.14' g4data_g4abla_version='G4ABLA3.0' g4data_realsurface_version='RealSurface1.0' +g4data_neutronxs_version='G4NEUTRONXS1.0' +g4data_pii_version='G4PII1.2' #END GEANT4 DATA OPTIONS echo " " echo "*CHECKS AND OPTIONS FOR GEANT4 PHYSICS DATA FILES*" @@ -3289,11 +3347,23 @@ case "$g4realsurfacedata" in ;; esac +case "$g4neutronxsdata" in +'') + g4neutronxsdata=$g4data/$g4data_neutronxs_version + ;; +esac + +case "$g4piidata" in +'') + g4piidata=$g4data/$g4data_pii_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_realsurface_version" +g4data_alllibs="$g4data_photonevaporation_version $g4data_radioactivedecay_version $g4data_g4emlow_version $g4data_g4ndl_version $g4data_g4abla_version $g4data_realsurface_version $g4data_neutronxs_version $g4data_pii_version" g4message=`cat </dev/null` + g4_make_version=`$g4_make_loc -v 2>/dev/null | sed s"/'//"` case $g4_make_version in GNU*) @@ -3586,7 +3700,7 @@ 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` + g4_gmake_version=`$g4_gmake_loc -v 2>/dev/null | sed s"/'//"` case $g4_gmake_version in GNU*) @@ -3625,7 +3739,7 @@ EOM` gans=$ans #Check if this is GNU make... - g4_user_make_version=`$gans -v 2>/dev/null` + g4_user_make_version=`$gans -v 2>/dev/null | sed s"/'//"` case $g4_user_make_version in "GNU Make"*) @@ -3641,6 +3755,29 @@ EOM` fi +# +# As we now have a suitable make, query the user for how many parallel jobs +# they want to launch. Make sure they give a sensible response (n>0) +# +g4_sensible_job_number="no" + +while test "x$g4_sensible_job_number" = "xno" ; do + g4message="How many parallel jobs should make launch?" + dflt=$g4make_jobs + rp=$g4message + . ./myread + gans="$ans" + + # Check that response is reasonable + if test $gans -gt 0 ; then + echo "Checking that $gans is a valid number... yes" + g4make_jobs=$gans + g4_sensible_job_number="yes" + else + echo "Checking that $gans is a valid number... no" + fi +done + echo " " echo "*CHECKS FOR REQUIRED EXTERNAL PACKAGE CLHEP*" @@ -5547,77 +5684,106 @@ esac # if test "X$g4lib_build_gdml" != "Xn"; then - if test "X$g4gdml_xercesc_root" = "X"; then - #probe for Xerces, using example from UI and Vis - xercesc_root=`find $g4gdml_xercesc_root /usr/include /usr/local/include \ -/opt/local/include /sw/include -type d -name xercesc 2>/dev/null | xargs echo` + # If g4system is WIN32-VC, we need to force the input of a search path + # though we can use with_xercesc_root as the dflt. + if test "X$g4system" = "XWIN32-VC" ; then + g4message=`cat << EOM +You have requested GDML support for Geant4 built on WIN32-VC. +This requires the Xerces-C library built for MSVC. +Please enter the path to the Xerces-C install (i.e. if XercesC is installed +in PATH\include\xercesc, enter PATH), or type '-' to CANCEL the build of the +GDML module. +XercesC path: +EOM` + dflt=$with_xercesc_root + fn='d~(-)' + rp=$g4message + . ./getfile + with_xercesc_root=$ans + if test "X$with_xercesc_root" = "X-" ; then + g4lib_build_gdml=n + g4gdml_xercesc_root="" + echo "G4LIB_BUILD_GDML cancelled..." + echo " " + fi + fi - #If we got something, strip off the include/xerces part - if test "X$xercesc_root" != "X"; then - g4gdml_xercesc_root=`dirname $xercesc_root` - g4gdml_xercesc_root=`dirname $g4gdml_xercesc_root` + # We now have a suitable platform independent setup for probing for the + # Xerces-C install.... + if test "X$with_xercesc_root" != "X-"; then + if test "X$with_xercesc_root" != "X" ; then + # Probe for Xerces-C in the supplied directory + xercesc_root=`find $with_xercesc_root/include -type d -name xercesc 2>/dev/null | xargs echo` + else + # Probe for Xerces-C in standard locations + xercesc_root=`find /usr/include /usr/local/include /opt/local/include /sw/include -type d -name xercesc 2>/dev/null | xargs echo` + fi - echo "checking for XercesC install... $g4gdml_xercesc_root" - echo " " - else - g4gdml_xercesc_root="" - echo "checking for XercesC install... no" - fi - fi #END OF XERCES AUTOPROBE + # What did we find?? + if test "X$xercesc_root" = "X" ; then + g4gdml_xercesc_root="" + echo "checking for XercesC install... no" + else + # We'll have PATH/include/xercesc if we found it + g4gdml_xercesc_root=`dirname $xercesc_root` + g4gdml_xercesc_root=`dirname $g4gdml_xercesc_root` + + echo "checking for XercesC install... $g4gdml_xercesc_root" + fi - # - # If the autoprobe failed, prompt the user to enter the path to the Xerces - # install - # - if test "X$g4gdml_xercesc_root" = "X"; then - - promptend="no" - xercesloc="the standard locations" + # If we didn't find anything, fall back to the user... + if test "X$g4gdml_xercesc_root" = "X" ; then + promptend="no" + if test "X$with_xercesc_root" = "X" ; then + xercescloc="the standard locations" + else + xercescloc=$with_xercesc_root + fi - while test "$promptend" = "no"; do - g4message=`cat << EOM + while test "$promptend" = "no"; do + g4message=`cat << EOM -Autodetection failed to locate XercesC in $xercesloc on your system. +Autodetection failed to locate XercesC in $xercescloc on your system. Please enter the path to your XercesC install (i.e. if XercesC is installed in PATH/include/xercesc, enter PATH), or type '-' to CANCEL the build of the GDML module. XercesC path: EOM` - dflt=$g4gdml_xercesc_root - fn='d~(-)' - rp=$g4message - . ./getfile + dflt=$g4gdml_xercesc_root + fn='d~(-)' + rp=$g4message + . ./getfile - #check for user cancellation - if test "X$ans" = "X-"; then - g4lib_build_gdml=n - g4gdml_xercesc_root="" - echo "G4LIB_BUILD_GDML cancelled..." - echo " " - promptend=yes - else - if test -r "$ans/include/xercesc"; then - g4gdml_xercesc_root=$ans - echo "checking for XercesC install... $g4gdml_xercesc_root" - echo " " - promptend=yes - else - xercesloc=$ans - echo "checking for Xercesc install... no" - fi + #check for user cancellation + if test "X$ans" = "X-"; then + g4lib_build_gdml=n + g4gdml_xercesc_root="" + echo "G4LIB_BUILD_GDML cancelled..." + echo " " + promptend=yes + else + if test -r "$ans/include/xercesc"; then + g4gdml_xercesc_root=$ans + echo "checking for XercesC install... $g4gdml_xercesc_root" + echo " " + promptend=yes + else + xercesloc=$ans + echo "checking for Xercesc install... no" + fi fi #END OF USER INPUT CHECKING - done #END OF WHILE LOOP OVER USER INPUT - fi #END OF USER INPUT SECTION + done #END OF WHILE LOOP OVER USER INPUT + fi #END OF USER INPUT SECTION - # - # If a filter on g4gdml_xerces_root is needed to remove common system paths - # then it should be put here... - # - if test "x$g4gdml_xercesc_root" = "x/usr" -o "x$g4gdml_xercesc_root" = "x/usr/local" ; then - g4gdml_xercesc_root="" + # + # If a filter on g4gdml_xerces_root is needed to remove common system paths + # then it should be put here... + # + if test "x$g4gdml_xercesc_root" = "x/usr" -o "x$g4gdml_xercesc_root" = "x/usr/local" ; then + g4gdml_xercesc_root="" fi - + fi # End outer check of WIN32-VC module cancellation fi #END XERCES PROBE #END OF GDML/XERCES PROBE @@ -5794,9 +5960,13 @@ g4lib_use_granular='$g4lib_use_granular' g4lib_use_shared='$g4lib_use_shared' g4lib_use_static='$g4lib_use_static' g4make='$g4make' +g4make_jobs='$g4make_jobs' g4neutronhpcrosssections='$g4neutronhpcrosssections' +g4neutronxsdata='$g4neutronxsdata' g4osname='$g4osname' +g4piidata='$g4piidata' g4radioactivedata='$g4radioactivedata' +g4realsurfacedata='$g4realsurfacedata' g4system='$g4system' g4tmp='$g4tmp' g4ui_build_gag_session='$g4ui_build_gag_session' diff --git a/ReleaseNotes/Beta4.9.4-1.txt b/ReleaseNotes/Beta4.9.4-1.txt new file mode 100644 index 0000000000..23c8b7b539 --- /dev/null +++ b/ReleaseNotes/Beta4.9.4-1.txt @@ -0,0 +1,789 @@ + + Geant4 9.4-beta-01 Release Notes + -------------------------------- + + 25 June 2010 + +List of main features and fixes included in this Beta release since 9.3.p01: + + o Configuration: + ------------- + + Configure script: + o Protected echos on LD_LIBRARY_PATH so that output from use of + Configure post-install is clean. + o Added removal of quotes from make version string to handle non-English + language systems. + o Fixed selection of XERCESCROOT path for Windows. + o Added new data set G4NEUTRONXS (Evaluated neutron cross section + data, version 1.0), controlled by variable G4NEUTRONXSDATA. + o Updated data set G4EMLOW to version 6.13. + + Removed 'leading_particle' hadronic module from include paths list. + + Increased stack size on WIN32-VC setup (i.e. 8MB as on Linux), adding + the option to LDFLAGS. + + o Digits+Hits: + ----------- + + Added missing virtual destructor to G4VScoringMesh and removed + unnecessary virtual qualifiers to G4ScoringBox. + + o Environments: + ------------ + + G4Py: + o Revised usage of MultipleScattering classes to make use of new particle + based processes. + o Fixed bug in wrapping of G4GDMLParser. + o Updated run-manager and physics-lists. + + Momo: + o Revised obsolete trajectory drawing. + + o Event: + ----- + + Improved logic in G4PrimaryTransformer. Addressing problem report #1101. + + Fixed compilation warning in G4SmartTrackStack issued with gcc 4.5.0. + + Added few accessors methods to G4SPSEneDistribution class. + + Removed obsolete CLHEP_HepMC option from G4EventManager class. + + o Geometry: + -------- + + solids/Boolean: + o Introduced recursive algorithm in CreatePolyhedron() for Boolean + operations: it uses HepPolyhedronProcessor from 'graphics_reps' module, + using new technique in attempt to avoid numerical problems for the + calculation of the polyhedron in BooleanProcessor. It allows to try + all permutations, also for Booleans of Booleans. + Helps in reducing the number of cases of "Error in Boolean processor" + for visualization; still some stubborn cases are left. + + solids/CSG: + o G4Box: first implementation of speed improvements and corrections from + joint code review of G4Box class: introduced half-tolerance constants + and better logic in some conditional statements. Some code cleanup. + o G4Orb: modified DistanceToIn(p,v) to be more consistent with Inside(p). + + solids/specific: + o Introducing new G4GenericTrap shape, a new solid representing an + arbitrary trapezoid with up to 8 vertices standing on two parallel + planes perpendicular to the Z axis. + o Fix in G4TriangularFacet and G4TessellatedSolid to correct treatment of + optical photon transport related to internal reflection at surface. + Addresses problem report #1103. + o G4ExtrudedSolid: eliminated requirement for clockwise ordering of + polygon vertices. Added a check for vertices ordering; if vertices + are defined anti-clockwise their ordering is reverted. + Fix in polygon facet triangularization for consequent concave vertices. + o Fixed deletion of internal arrays in CreatePolyhedron() for G4Polycone + and G4Polyhedra. + + volumes: + o Make use of specialized allocator for handling internal vector in + G4NavigatorHistory, globally controlling the memory pool, to optimise + memory management and reduce fragmentation. + Measured ~2% average run-time speed-up. + o Added Reset() method to G4ReflectionFactory for clearing maps of + constituent and reflected volumes. + + o Global: + ------ + + Introduced G4PhysicsVectorCache, placeholder for cache R/W data in use + by G4PhysicsVector and derivates. Modified G4PhysicsVector and + G4LPhysicsFreeVector accordingly. + + Moved interpolation methods to inline in G4PhysicsVector. + + More safe numerical computation of A13() and logA() methods in G4Pow. + + Changed date for release 9.4-beta. + + o Graphical Representations: + ------------------------- + + Added support for new command "/vis/scene/add/digits", analogous to the + already-existing "/vis/scene/add/hits": added methods Draw() and + FilterDigi() for digits in G4VVisManager; added method AddCompound () + in G4VGraphicsScene. + + Added method DispatchToModel(const G4VTrajectory&), i.e., without i_mode, + to G4VVisManager in order to distinguish usage and in preparation for + 'i_mode' migration. + + o Intercoms: + --------- + + G4UIManager: added field to get GUI Window session. + + Added used characters to 'tokenNum' in G4UItokenNum suppressing compiler + warnings of gcc-4.5.0. + + o Interfaces: + ---------- + + G4UIExective: changed order for session type; GUI session is prioritized. + + G4VBasicShell: implemented improvements for command completion. + + G4Qt: added a link to G4UIQt + + G4UIQt: added tab widgets for visualization. Added new command in help + tree for immediate update of the tree. Fixed warning in standard-output + during viewer creation and fixed flush problem. Fixed recursive repaint + problem. Fixed call to contructor QKeySequence() in AddButton() to + allow for porting on gcc-4.5.0. + + o Materials: + --------- + + G4MaterialPropertyVector: removed allocation of temporary helper object + and modified GetAdjacentBins() to allow for a value to match a bin + exactly. Measured 21% CPU speed-up for optical processes. + + G4OpticalSurface: changed GetAngularDistributionValue(), no longer + dereferencing a pointer but returning the value at the array index. + + G4NistMaterialBuilder: added 6 new materials. + + G4NistMaterialBuilder, G4NistManager: added method + GetMeanIonisationEnergy(). Added material G4_LUCITE. + + G4ionisParamMat, G4DensityEffectData: added possibility to access density + effect data in the case when pure material is not defined via NIST; atom + number and state of such materials are checked. + + G4DensityEffectData: fixed method GetIndex(Z, state) for Hydrogen + and solid states, renamed it to GetElementIndex(). + + G4IonisParamMat: added member and method GetInvA23(); use + GetElementIndex(). + + G4IonisParamElm: use mean excitation energy from NIST DB; addressing a + problem reported for mean energy deposition in compound materials. + + G4AtomicShells: improved performance by adding indexing array. + + G4Element: moved include of G4AtomicShells header to the source. + + o Particles: + --------- + + Allow creation of shortlived particles other than in 'PreInit' state. + + ElectronOccupancy in G4DynamicParticle is now created on demand, i.e. + it is not created at construction of G4DynamicParticle but when + AddElectron() or RemoveElectron() are invoked. + + Fixed problems that error messages appear in cout and not in cerr. + + Added anti-nuclei as short-lived particles. + + G4MuonRadiativeDecayChannelWithSpin: corrected sign error. + + Code cleanup in G4DynamicParticle constructors. + + o Persistency: + ----------- + + Added G4GenericTrap among the set of supported solids in both GDML reader + and writer, treating as 'arb8' GDML type. + + Corrected dump of division axis in GDML writer. + + ASCII module: added missing virtual destructor to G4tgbDetectorBuilder. + + o Physics Lists: + ------------- + + Moved QGSP_FTFP_BERT list to supported (was experimental). + + Removed previously blocked lists (FTFP_EMV, QGSC_EFLOW, QGSP_EMX). + + Remove obsolete lists, except QGSP (now blocked) and QGSC_CHIPS; + i.e. lists removed: FTFC, FTFP, LHEP_BERT_HP, LHEP_BERT, LHEP_PRECO_HP, + QGSC_EMV, QGSC, QGSC_QGSC, QGSP_BERT_DIF, QGSP_BERT_NQE, + QGSP_DIF, QGSP_EMV, QGSP_EMV_NQE, QGSP_NQE, QGSP_QE + + New physics list QGSP_BERT_CHIPS: use CHIPS inelastic for all "misc" + particles, including anti-proton, anti-neutron and hyperons. + Also use interface to CHIPS cross-sections for Kaons. + Added classes: QGSP_BERT_CHIPS, HadronPhysicsQGSP_BERT_CHIPS, and + G4MiscCHIPSBuilder; modifed G4PhysListFactory accordingly. + + Introduced new constructor for all builders with verbosity argument. + Existing constructors are kept, but updated default arguments to avoid + ambigous signatures. Changed physics-lists to use the new constructor. + Introduced new constructor for G4NeutronTrackingCut. + + Replaced G4HadronQElasticPhysics with G4QElasticPhysics and G4IonPhysics + with G4QIonPhysics in the CHIPS physics-list + Bug fix for the virtual destructor in G4QElasticPhysics & G4QIonPhysics. + Particles are restricted to SU(3) hadrons (no pi0 & eta) in + G4QElasticPhysics. + Fix in G4QPhotoNuclearPhysics to reset particles iterator. + + G4EmStandardPhysics_option2: added G4WentzelVIMscModel and 'RangeFactor' + set to 0.04 for e+-. + + G4EmLivermorePhysics, G4EmPenelopePhysics, G4EmDNAPhysics, + G4EmLivermorePolarizedPhysics: added G4GoudsmitSaundersonMscModel for e+-; + added 1 MeV upper limit for the Livermore ionisation model (was 1 GeV). + + Revised QGSP_FTFP_BERT and FTFP_BERT lists to use CHIPS G4QInelastic for + all "misc" particles, including anti-proton, anti-neutron and hyperons, + and use interface to CHIPS cross-sections G4QHadronInelasticDataSet for + kaons. Required changes to respective HadronPhysics* classes. + + LBE: substituted obsolete G4MultipleScattering by particle wise processes. + + QBBC: disabled multi-fragmentation model of deexcitation. + + G4FTFPNeutronBuilder, G4FTFPPiKBuilder, G4FTFPProtonBuilder, + G4QGSPNeutronBuilder, G4QGSPPiKBuilder, G4QGSPProtonBuilder, G4QGSBuilder: + added deletion of G4ExcitationHandler and G4QGSMFragmentation; added + deletion of neutron builder for QGSP_BERT, FTFP_BERT, QGSP_FTFP_BERT. + + o Electromagnetic Processes: + ------------------------- + + Adjoint: + o G4AdjointhMultipleScattering: removed unused header. + + High Energy: + o New model G4ICRU73NoDeltaModel, derived from G4ICRU73QOModel. + + Low Energy: + o Added four new models (gamma ray models Compton, GammaConversion, + PhotoElectric, Rayleigh), upgrades of G4Penelope from version 2001 to + version 2008. + o Added MinEnergyCut() method to G4PenelopeIonisationModel. Small (minor) + changes to other Penelope models (mainly clean-up). + Removed useless call in G4PenelopeIonisationModel which triggered fake + warning messages. + o Updated public interface of G4LivermorePhotoElectricModel. + Removed possibility to use custom cuts for fluorescence/Auger. + Main cuts from G4ProductionCutsTable are always used, for consistency. + o New G4PenelopeOscillator* classes (Beta version) to manage + multi-element atomic oscillators used in Penelope Compton and + Ionisation models. Compliant with Penelope-2008. + o Added dummy method ComputeCrossSectionPerAtom() in + G4PenelopeRayleighModel, never inkoved in tracking and issuing a + warning if users access it via G4EmCalculator. + o Clean-up in Penelope models; explicitely set Auger flag to false in + constructor. + o Fixed initialisation order in some models' constructor to fix Valgrind + run-time errors reports. + o Fixed bugs in G4AtomicDeexcitation and G4AugerTransition. + o G4DNA processes: + - Added new prototype excitation model for electrons in + G4DNABornExcitationModel. Will be fully released in December. + - Corrected G4DNABornIonisationModel for maximum kinetic energy + transfer. + - Modified method declaration in G4DNABornExcitation. Modified electron + correction in G4DNAMillerGreenExcitation. + - Extended search range for maximum of DCS in G4DNARuddIonisationModel. + - Changed default parameters in G4DNAEmfietzoglouExcitationModel. + Modified initialisation of e- Emfietzoglou excitation model to fix + memory leaks. + - Changed computation of scattering angle in G4DNAChampionElasticModel. + - Replaced hard coded masses in G4DNADingfelderCharge* classes. + o New PIXE developments: + - G4ecpssrKCrossSection and G4ecpssrLiCrossSection classes: these + classes substitute the G4ecpssrCrossSection class, fixing existing + bugs and improving the goodness of the results especially at higher + energies. + The Geant4 PIXE developers are really thankful to Maria Grazia Pia + for searching for bugs in the previous Geant4 release, pointing + existing problems and propose solution in a very collaborative way + in: M.G.Pia et al., CHEP-2009 conference, March 2009, Prague (Czech + Republic). + - G4empCrossSection and G4teoCrossSection classes: these two classes, + deriving from G4VhShellCrossSection, provide the interface to + empirical ionization cross sections (Orlic for L shells and Paul + for K). + - G4hShellCrossSection, G4hShellCrossSectionDoubleExp, + G4hShellCrossSectionDoubleExpData, G4hShellCrossSectionExp, + G4hShellCrossSectionExpData classes are now discontinued. + - G4hLowEnergyIonisation has been updated to follow the new design + and let the user chose which model to use for the calculation of shell + ionization cross section through the method SelectShellIonisationCS(). + Dependencies on old methods for cross sectiuon calculation have been + removed. + - Bugs fixes in G4OrlicLiCrossSection and G4PaulKCrossSection. + o Fix in G4AugerTransition to cure crash on Windows. + o Added missing virtual destructors where necessary. + o Corrected return value case in method GetPhotoElectronDirection() + in G4PhotoElectricAngularGeneratorSauterGavrila. + Addressing problem report #1120. + o Requires new G4LEDATA data set, version 6.13. + + Muons: + o G4MuPairProductionModel: added sampling recoil of a primary particle + o G4MuIonisation: use G4ICRU73QOModel for mu- for E< 0.2 MeV. + + Polarisation: + o Fix in G4ePolarizedIonisation to use default vector size of + G4VEnergyLossProcess and avoid size mismatch in G4LossTableBuilder. + + Standard: + o G4GoudsmitSaundersonMscModel: fixed problems of small angle theta + distributions. Improved numerical stability of computations for small + angles by direct cross-section calculation, now inverse of the inverse + angular sampling without large angle rejection method longitudinal + displacement is computed exactly from . + o G4GoudsmitSaundersonTable: improved numerical stability by minimum of + used arrays in computation within the dichotomy finding method. + Optimized code to improve speed by addition extra class members. + o G4eBremsstrahlungModel: reduced 'minThreshold' to 0.1 keV. + o G4MollerBhabhaModel: reduced minimum cut value to mean ionisation + potential. + o G4WentzelVIModel: added protections; added DefineMaterial() call to + cross-section class. + o G4ASTARStopping, G4PSTARTStopping: replaced C-arrays with + G4PhysicsVector with Spline interpolation. Reviewed names of materials + (G4_PHOTO_EMULSION, G4_He, G4_NYLON-6-6). + o Fixed G4_O data in G4ASTARStopping. Fixed G4_Pt and G4_PROPANE data in + G4PSTARStopping. + o Cleanup in GetElectronicDEDX() method in G4WaterStopping. + o G4eMultipleScattering, G4hMultipleScattering: improved printout at + initialisation. Removed old unused header of G4UrbanMscModel in + G4hMultipleScattering. + o G4eBremsstrahlungRelModel, G4MollerBhabhaModel: set minimum cut value + to 0.1 keV. + o G4eBremsstrahlungModel: fix in SelectRandomAtom() method. + Addressing problem report #1115. + o G4UrbanMscModel93: added randomization of step limit for the first + step in any volume for option "UseDistanceTo Boundary". + o G4BraggIonGasModel, G4BetheBlochIonGasModel: new ionisation models for + low density media. + o G4BraggModel: above 2 MeV use ICRU'49 parameterisation for all atoms. + o New model G4ICRU73QOModel for anti-particles + o G4hIonisation: use new G4ICRU73QOModel for negatively charged particles + instead of G4BraggModel, which used to be applied for positevely + charged particles only. This modification provides simulation of + Barkas effect at low energies (before the effect was simulated at + higher energies in G4BetheBlochModel). + The high energy limit for the new model is the same as for G4BraggModel + (2 MeV for protons/anti-protons). + o G4WentzelOKandVIxSection: new class to compute cross sections and + sample scattering angle. + o G4WentzelVIModel, G4eCoulombScatteringModel, G4CoulombScatteringModel: + use new class G4WentzelOKandVIxSection. + o G4WentzelVIModel: optimized method of step limitation. + o G4WentzelVIModel, G4eCoulombScatteringModel: added momentum dependent + limit of scattering angle between single and multiple scattering which + allows to use G4WentzelVIModel with optical model of hadron scattering. + o G4PAIModel, G4PAIPhotonModel: added printout for the model + initialisation. + o Removed obsolete models: G4UrbanMscModel, G4UrbanMscModel2, + G4UrbanMscModel71, G4MultipleScattering, G4ComptonScattering52, + G4PolarizedComptonScattering. + + Utils: + o G4VMscModel, G4VMultipleScattering: set skin=1.0 as default. + o G4LossTableManager: added new method GetNumberOfBinsPerDecade(), which + is used in G4VEmModel for initialisation of G4EmElementSelector. + Addressing problem report #1115. + Added methods PreparePhsyicsTables(), BuildPhysicsTables(), fixing + initialisation of models via G4EmConfigurator. + o G4EmProcessOptions: removed extra initialisation code, already existing + in G4LossTableManager. + o G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering: added + calls to new G4LossTableManager methods PreparePhsyicsTables() and + BuildPhysicsTables(). + o Added method GetCurrentElement() in G4VEmProcess, G4VEnergyLossProcess + and G4VEmModel classes. + o G4VEmProcess: cleanup printout at initialisation for scattering process. + o G4VEmModel: added method ChargeSquareRatio() to access current charge + of an ion; use this method in G4VEnergyLossProcess. + o G4VEnergyLossProcess: call CorrectionsAlongStep() only for ions (minor + CPU saving). Use the same method to build cross section table + as DEDX table (use copy constructors to reduce number of calls to exp()). + o G4EmCalculator: fix in GetCrossSection() method. + o G4EmElementSelector: use Spline flag to construct vectors probabilities. + o G4EmModelManager: do not use min energy cut defined by models, so + production threshold is defined only by range to energy conversion and + is limited only by low limit of energy threshold defined in 'cut' + category. + o G4EmConfigurator: fix for case of more than one model added per a + process. + o G4EmCorrections: moved G4AtomicShell header into source. + + Xrays: + o Included scintillation rise time to G4Scintillation. + o Use std namespace for mathematical functions explicitly. + + o Hadronic Processes: + ------------------ + + Removed obsolete code for 'leading_particle' model. + + cross_sections + o G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS: added + path to new data set through environment variable G4NEUTRONXSDATA. + o Implemented integer Z and A transition to G4CrossSectionDataStore. + o G4UPiNuclearCrossSection: fixed memory leak at destruction. + o Updated G4GlauberGribovCrossSection for anti-protons. + + management + o G4HadronicProcess: added methods CheckEnergyMomentumConservation(), + SetEpReportLevel(), SetEnergyMomentumCheckLevels() and + GetEnergyMomentumCheckLevels(), which implement energy/momentum + checking. Some code cleanup. + o New G4HadronicEPTestMessenger class to provide energy/momentum test + commands available in UI. + + models/cascade + o Replaced all uses of bindingEnergy() (local Bertini method) with the + Geant4 standard G4NucleiProperties::GetBindingEnergy(A,Z) in classes + G4IntraNuclearCascader, G4InuclCollider, G4NucleiModel, G4Fissioner, + G4EquilibriumModel and G4NonEquilibriumModel. + G4Fissioner still uses Bertini method bindingEnergyAsymptotic(). + o G4Diproton, G4Dineutron, G4UnboundPN: new G4ParticleDefinition + subclasses, which implement the Bertini-specific dibaryon states. + o G4ElementaryParticleCollider: replaced original (incorrect) pp, pn, nn + 2-body to 2-body scattering angular distributions with a new + parameterization of elastic scattering data using the sum of two + exponentials. + o Improved angular distributions for 2-body final states of pi-nucleon, + nucleon-nucleon, kaon-nucleon anf hyperon-nucleon scattering. + o Replaced G4CascadeMomentum internal class with G4LorentzVector. + o Completed first stage of migration from using internal Bertini particle + types to Geant4 standard particle types. + o Energy/momentum checks added which remove large energy non-conservation + events. + o Improved memory management: removed allocation of strings in various + constuctors; replaced several cases of return-by-value with const or + non-const reference, or by use of buffers. + o CPU speed improvements from the removal of unnecessary class + instantiations.. Code re-organization to permit more speed improvements + in the future. + + models/chiral_inv_phase_space + o Updated proton elastic and CHIPS parameters. + o Implemented anti-baryon elastic interactions. + o Added pion elastic and fixed a bug in CHIPS fragmentation. + o Implemented isotope wise CHIPS elastic for neutrons. + o Fix in G4QElasticCrossSection in parameter order for nH. + o Bug fix in G4QNeutronNuclearCrossSection for Ba isotopes. + o Bug fix for K0 in G4QKaonMinusElasticCrossSection::GetExchangeT(). + o Bug fix in G4QNucleus::ChoosePosition() for looping. + o Fix to use of Z+N instead of N for A. + o Corrected Titanium and Zirconium isotopes in G4QIsotope. + o Added decay of Chipolino in the G4QEnvironment, when A_env=0. + o Bug fix following G4NucleiProperties warning for A=0, Z=0. + o Bug fix in G4QPDGCode and G4QEnvironment for Omega and Sigma; + when mass is small for Lambda andSigma+, use Xi0,p. + o Correction in G4QElastic for K0 elastic cross-sections. + o Corrected treatment of vacuum in fragmentation module. + o nn is decayed in G4QLowEnergy; Omega- is included in G4QElastic; + N neutrons (A=N, Z=0) are decayed in G4QLowEnergy. + o Bug-fix in G4QLowEnergy: pions as secondaries. + o Bug-fix in K0 elastic & Ion-Ion Elastic. + + models/coherent_elastic + o Use G4Q(Proton/Neutron)ElasticCrossSection instead of + G4QElasticCrossSection; fixed initialization problem for + G4QNeutronElasticCrossSection. + o G4UHadronElasticProcess: fixed CHIPS warning for Cu, due to wrong + isotope sected; addressing problem report from ALICE. + + models/de_excitation + o G4StatMFMacroTemperature: cleanup logic of solving equation for + temperature; moved constructors and destructor to source. + o G4ProtonEvaporationProbability, G4DeuteronEvaporationProbability, + G4TritonEvaporationProbability, G4He3EvaporationProbability, + G4AlphaEvaporationProbability: return back to published variant + parameterization of inverse cross section (OPT3, Kalbach). + o G4FermiFragmentsPool: extended list of stable fragments. + o G4UnstableFragmentBreakUp: new class to decay exotic fragment + (like 2n or 2p). + o G4DiscreteGammaTransition: make transition depended on Z and A (before + was only Z) and added energy tolerance + o G4VGammaDeexcitation: rewritten kinematic of 2-body decay. + Fix to take into account electron mass in the case of electron emission. + Take into account bounding energy of electron in the case of electron + emission; fixed kinematic. + o G4DiscreteGammaTransition, G4DiscreteGammaDeexcitation, + G4ContinuumGammaDeexcitation: set energy tolerance 1 keV. More accurate + Lorentz computations. Define destructors to be virtual. + o G4DiscreteGammaTransition: removed unphysical corrections of gamma + energy; fixed default particle as gamma; avoid subtracting binding + energy in case of electron emission. + o G4ExcitationHandler: apply FermiBreakUp to fragments with A>1 (before + was A>4) in order to reduce number of fake gamma produced in + deexcitation of light fragments; added parameter 'minExcitation' equal + to 1 keV. Added check on stability of primary; do evaporation if + FermiBreakUp cannot deexcite a fragment. Added SetParameters() method. + o G4Evaporation: rewritten BreakUp() method; added Initialise() method at + construction, to setup all options and not at run time. + Added InitialiseEvaporation() method to setup decay channels; changed + order of decay channels: first photon evaporation, then fission, + finally all other channels as before. Improved condition on how to + stop deexcitation loop. + Added call to G4UnstableFragmentBreakUp if natural abundances of cold + fragment is zero and Z < 20; optimized logic of stopping of evaporation + loop. Set as a default variant evaporation combining standard plus GEM + probabilities. + o G4PhotonEvaporation: added correction of electron state after emission. + o G4VEvaporationChannel, G4PhotonEvaporation: added two new virtual + methods EmittedFragment() and BreakUpFragment(). + o G4FermiConfiguration: parameter of Coulomb energy Kappa is changed from + 1 to 6 according to recommendation of original author of the model + A.Botvina. + o G4FermiPhaseSpaceDecay: improved model of sampling of kinetic energy. + Cleanup of the code to use G4Pow. + o G4FermiFragmentsPool: fix for fragment 111. + o G4StatMFFragment, G4CompetitiveFission, G4EvaporationProbability, + G4GEMProbability: corrected inclusion of headers. + o G4E1Probability: code cleanup and optimisation by usage of G4Pow, + integer A and introduction of const members. Added numerical protection + to avoid division by zero. + o G4GEMProbability: fixed numerical problem (division by zero), code + cleanup and optimisation by usage of G4Pow and integer Z,A. + o Code cleanup. Moved constructors and destructors to source files for + virtual interfaces. + + models/im_r_matrix + o Removed empty source file for G4VScatterer. + Synchronised developments to HEAD version. + + models/incl + o Nuclear deformation and shell effect data reader now constructs the + corresponding data tables correctly. + o Added some internal logging facilities to INCL (disabled by default). + o Added missing virtual destructor to base classes where necessary. + + models/management + o G4HadronicInteraction: added two methods, GetEnergyMomentumCheckLevels() + and SetEnergyMomentumCheckLevels() in order to implement checking + of energy/momentum conservation. + o G4VPreCompoundModel: moved constructor and destructor to source. + + models/neutron_hp + o Modified sampling in G4NeutronHPInelasticCompFS. + o Fix bug about incidence energy in G4NeutronHPEnAngCorrelation. + + models/parton_string/diffraction + o Added missing virtual destructor to G4DiffractiveHHScatterer. + + models/parton_string/hadronization + o Improved Lund string fragmentation. + o Fixed inconsistency between LightFragmentationTest and Lund + fragmentation. Fixed problems of energy non-conservation in FTF. + + models/parton_string/qgsm + o Remove unused class G4PartonStringAnnihilator. + + models/pre_equilibrium + o G4PreCompoundModel: moved constructor and destructor to source. + o Removed unused dummy classes G4VPreCompoundIon and + G4VPreCompoundNucleon. + o G4PreCompoundProton, G4PreCompoundDeuteron, G4PreCompoundTriton, + G4PreCompoundHe3, G4PreCompoundAlpha: return back to published variant + OPT3 (Kalbach) parameterization of inverse cross section. + + models/radioactive_decay + o G4RadioactiveDecay: + - In LoadDecayTable() create a decay table for isomers not included + in RDM database and assume they all under go IT decay. + - After DoDecay() check if there is any secondary produced. + Kill the track if not to prevent infinite loop. + - Insert a special treatment for K-40 beta decay; applied SetICM(), + SetARM() and SetHLThreshold() to a decay channel. + Addresses problem report #1068. + - Make sure the propertime is positive; negative case occures when the + isomer is not in RDM database and its f-l is set to -1 by default. + - Corrected typo in declaration. + o G4NuclearDecayChannel: added initialisation to all three constructors. + o G4RadioactiveDecay, G4NuclearDecayChannel: + - Limit the shell index to < 7, as required by the ARM. Changed to use + BreakUp() rather than BreakItUp() so to limit to one transition per + step when ICM is applied. Addresses problem report #1001. + - Added private member data 'applyICM', 'applyARM' and + 'halflifethresold' with their modifiers. + o G4RadioactiveDecayMessenger: added the UI commands for SetICM, SETARM + and SetHLThreshold. + + models/util + o G4Fragment: do not add any shift to excitation energy but use direct + computation (this is needed to avoid infinite loop in gamma + deexcitation); use G4NucleiProperties to access or compute ground + state mass. Allow e- as a fragment. + Added inline method ComputeGroundStateMass(); added accessors for + integer Z and A; added ExcitationEnergyWarning() method. + Minor speedup by adding member and access method to GroundStateMass. + Some code cleanup: single return in inline methods. + + util + o Added interface for integer A&Z to G4Nucleus, and modified G4LightMedia, + G4HadronicWhiteBoard and G4ReactionDynamics to use the new interface. + + o Optical Processes: + ----------------- + + Fix for backpainted surfaces to avoid applying twice reflectivity. + Addressing problem report #1114. + + Refashioned code in the case of type 'dielectric_dielect'. + + Fixed sampling of 'theFacetNormal' for 'polishedbackpainted' material + in G4OpBoundaryProcess::DielectricDielectric() method. Address problem + reported on Hypernews Optical Processes Forum, thread #334. + + Modified G4OpBoundaryProcess to call ProposeLocalEnergyDeposit() every + time a photon is in 'fStopAndKill' state because of NoRINDEX. This will + trigger scoring when a photon encounters a volume not defined as an + optical medium. + + o Run + --- + + Corrected printing of number of events processed on run abortion. + + Fixed definition of path for Windows in G4RunManager for random seeds + directory: use '\' instead of '/' and suitable system command. + + Use "const G4String&" as arguments and return value wherever applicable + in G4RunManager and G4RunManagerKernel. + + o Tracking + -------- + + G4VTrajectory, G4Trajectory, G4SmoothTrajectory: added deprecation + message, being printed via G4Exception only once, and only if a user + invokes with a non-zero value of 'i_mode' in DrawTrajectory(). + + o Visualization: + ------------- + + management: + o Added new "/vis/open" command for OpenGL viewers, "/vis/open OGL". + This new form allows the same macro to be used whether one is on + Linux or Windows (calling OGLSX on Linux and OGLSWin32 on Windows). + When the application has been built with Qt, it will use the Qt form + of OpenGL; when built with Motif, it will use the Motif form of OpenGL. + Also added options OGLI and OGLS to force Immediate or Stored modes. + The user is still free to use the older, specific viewer names, such + as OGLIX, but the simple form, OGL, will give the most portable macros. + o Added new "/vis/open" command for OpenInventor, "/vis/open OI". + This new form allows the same macro to be used whether one is on Linux + or Windows (calling OIX on Linux and OIWin32 on Windows). + o Added "/vis/scene/add/digis" and "/vis/filtering/digi" commands, + analogous to the already-existing commands "/vis/scene/add/hits" and + "/vis/filtering/hits". As with hits, it remains the user's + responsibility to provide the digitisation classes. + Added method AddCompound(const G4VDigi&) to drivers. + o Introduced DispatchToModel without 'i_mode'. The archaic form + G4VTrajectory::DrawTrajectory(i_mode) is replaced by the newer form, + G4VTrajectory::DrawTrajectory(). 'i_mode' used to be a parameter to + control whether the trajectory was drawn as a line, a line plus step + points, or only step points: + - i_mode > 0 meant draw lines and points, size of points in + pixels = abs(i_mode)/1000 + - i_mode = 0 meant draw only lines + - i_mode < 0 meant draw only points, size of points in + pixels = abs(i_mode)/1000 + Since release 8.1, better control has been available from the command + "/vis/modeling/trajectories". Since release 5.0, 'i_mode' less than + 1000 has in fact drawn no points and 'i_mode' of 1000 has drawn points + that were so small (a single pixel wide) that they were overshadowed + by the trajectory itself except at endpoints of the trajectory or + where the trajectory made a sharp change of direction. + Use of 'i_mode' is now trapped and a warning gets printed. + o Changed order of flags to follow G4UIExecutive. + o G4VisManager, G4VisExecutive: introduced optional verbosity string + argument in constructor; made 'fVerbosity' and GetVerbosity() static. + o Added virtual destructors to fix compilation warnings. + + modeling: + o Added G4DigiModel and G4DigiFilterFactories. + o Added default colours to G4TrajectoryDrawByParticleID. + o Replace polyhedra with solids for sections and cutaways. + o Trap use of 'i_mode' and print warning. + + HepRep: + o Added command "/vis/heprep/renderCylAsPolygons". + + gMocren: + o Removed dependency on G4VisManager. Improved printout. + + OpenGL: + o Some improvements with auto rotation mode. + o G4OpenGLQtViewer: better inclusion of new tabs in UI part. + Many improvements to OpenGL Qt. + o Speed improvements for polymarkers (e.g., trajectories). + o Corrected strdup usage in G4OpenGLViewer. + o Use generic section and cutaway algorithm. + o Added protection against multiple repaint call, and protection against + resizeGl with bad values. + + OpenInventor: + o Added protection against repeated initialisation. + + RayTracer: + o Added missing virtual destructor to G4VRTScanner, G4RTXScanner and + G4RTSimpleScanner classes. + + o Data Sets: + --------- + + G4EMLOW-6.13: + o Updated PDF.dat to msc_GS module. + o New directory and data files needed by ionisation cross section + models for PIXE; added data tables in the directories uf, kpcsPaul + and kacsPaul included in the 'pixe' dir. + o Added 'sigmadiff_cumulated_elastic_e_champion.dat' and + temporary 'sigma_excitation_e_born.dat' to dna module. + o Added data files in the penelope module, necessary for + Penelope08 models for gamma rays. + + G4NEUTRONXS-1.0: + o New data set for Evaluated neutron cross section data on natural + composition of elements. + + o Examples: + -------- + + Various fixes, improvements, adoption of new features. + + Updated visualization usage in most examples, including macro sections + the user can uncomment to activate additional features. + + Adopt G4UIExecutive to initialise UI sessions. + + Migrated physics-lists to use particle-based multiple-scattering + processes. + + advanced/human_phantom + o Added missing includes, causing compilation error. + o Corrected commands in some macros. + + extended/electromagnetic/TestEm0 + o New physics-lists for EM standard options 0,1,2,3. + o RunAction: printout both GetCrossSection() and ComputeCrossSection(). + Reverse order of calls, first ComputeCrossSection(), then + GetCrossSection(). + + extended/electromagnetic/TestEm1 + o RunAction: replaced 'ProcessCount' with a map. + o Introduction of G4UIExecutive in main(). + + extended/electromagnetic/TestEm2 + o Added histos rms on profiles (histos numbering is changed) + and new scripts. + + extended/electromagnetic/TestEm3 + o Added PhysListEmStandardGS and PhysListEmStandardWVI. + o Added printout of mean number of gamma, e-, e+. + + extended/electromagnetic/TestEm7 + o Added extra EM option "ionGasModels", which disables effective ion + charge and enables use of new models G4BraggIonGasModel, + G4BetheBlochIonGasModel. + o Added extra macro ionGasC12.mac. + o Fixed setup for histograms through JAIDA. + + extended/electromagnetic/TestEm8 + o PhysicsList, Em8DetectorConstruction: renamed "VertexDetector" with + "GasDetector" + o Added cut per region in TestEm8.in. + + extended/electromagnetic/TestEm11 + + extended/electromagnetic/TestEm12 + o Added lists PhysListStandardGS, PhysListStandardSS, PhysListStandardWVI. + + extended/electromagnetic/TestEm13 + + extended/electromagnetic/TestEm14 + o PhysicsList: extend 'ProductionCuts' down to 100 eV. + Removed non pertinent EmOptions. + o PhysListEmStandard, Livermore, Penelope: all processes registered as + discrete (i.e., no continuous Eloss). + o RunAction: replaced 'ProcessCount' with a map. + o Cleanup in SteppingAction. Updated README. + + extended/eventgenerator/HepMC + o Updated to make use of HepMC-2.06.00. + o Use QGSP physics-list. + + extended/eventgenerator/particleGun + o New example demonstrating three different ways of usage of + G4ParticleGun, shooting primary particles in different cases. + + extended/exoticphysics/monopole + o Substituted QGSP list by QGSP_BERT. + o Added new classes for monopole G4MonopoleEquation, + G4MonopoleFieldSetup and G4MonopoleTransportation. + o Added test on ionisation of heavy highly charged particle; some cleanup. + + extended/hadronic/Hadr01 + o Cleanup of physics-list according to last update to physics_list + library. + + extended/medical/DICOM + o Added function to read nested items (defined and undefined) + o Removed dependencies on CONQUEST + o DICOM handler can now read whichever DICOM file (PT,CT,DR,CR,US,MR... ) + + extended/medical/electronScattering + o Added PhysListEmStandardWVI. + o RunAction::PrintFluence(): print unormalized fluence per event. + + extended/medical/electronScattering2 + o New example for simulation of precision electron scattering benchmark + with minimal user code. + + extended/medical/fanoCavity + + extended/medical/fanoCavity2 + o Introduced PhysListEmStandard_option2 (UrbanMscModel93 without options) + and PhysListEmStandard_WVI (using WentzelVIModel). + o Added to run01.mac all physics lists choice. + + extended/parallel/MPI + o General code review. + o mpi_interface: OpenMPI as default MPI library instead of LAM/MPI; + improved /mpi/status command (added waste of CPU, time measurement); + introduced /mpi/wait command for waiting until "beamOn" ends; + improved macro file parser (same parser as G4UIbatch; fixed unexpected + behavior at the end of batch mode); changed "beamOn" behavior for better + performance (thread-out for interactive, on-thread for batch). + o exMPI01: use G4UIcsh instead of G4UItcsh since OpenMPI is now default; + use G4eMultipleScattering instead of obsolete G4MultipleScattering. + o exMPI02: use G4UIcsh instead of G4UItcsh since OpenMPI is now default. + + examples/extended/persistency/gdml/G01 + o Added G4GenericTrap to the solids.gdml sample. + + examples/extended/persistency/gdml/G03 + o Corrected selection of G4UItcsh in main(), to fix problem on Windows. + + examples/novice/N04 + o Replaced QGSP list with QGSP_BERT. + + + ---------------------------------------------------------------------------- + Migration Notes + --------------- + + o Obsolete classes G4MultipleScattering, G4UrbanMscModel and G4UrbanMscModel2 + are removed in this release; multiple-scattering particle-based processes, + G4eMultipleScattering, G4hMultipleScattering and G4MuMultipleScattering are + now mandatory; G4UrbanMscModel93 is now introduced. + o The visualization trajectory modeling command + "/vis/modeling/trajectories/create/drawByParticleID" + used to default all trajectories to grey, with the user having to + explicitly set any other color code. While the user can still set any + wished color code, the default has been improved to: + [e-/red; e+/blue; proton/cyan; gamma/green; neutron/yellow; + pi+,pi-,pi0/magenta; other/grey]. + o In some examples, visualization that used to draw trajectories as simple + lines now also draws step points. Users who wish to disable step point + drawing can do so by commenting out a line in the visualization macro. + + ---------------------------------------------------------------------------- + + 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.6, gcc-4.2.1 + + Windows/XP and CygWin Tools with: Visual C++ 9.0 (Visual Studio 2008) + + o More verified configurations: + + Linux, gcc-4.5.0 + + Linux, Intel-icc 11.1 + + o Geant4 9.4-beta-01 requires the installation of CLHEP-2.0.4.6. + + 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-3.txt b/ReleaseNotes/Patch4.9.2-3.txt new file mode 100644 index 0000000000..f1d26bb5c3 --- /dev/null +++ b/ReleaseNotes/Patch4.9.2-3.txt @@ -0,0 +1,188 @@ + + Geant4 9.2 - patch-03 Release Notes + ----------------------------------- + + 29 January 2010 + +List of fixes included in this public patch since the public release 9.2.p02: + + o Configuration: + ------------- + + binmake.gmk: removed extra space characters in definition of TARGOBJEXT, + fixing issue with target for main() not being rebuilt according to + dependencies change. Addressing problem report #1098. + + Darwin-g++.gmk: added paths to $QTHOME/include and $QTHOME/lib to + setup for Qt4 configuration. + + Added G4OPTDEBUG option for hybrid optimized-debug build also to + Darwin-g++ and WIN32-g++ configurations. + + o Digits_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. + + o Error_propagation: + ----------------- + + Corrected usage of G4ThreeVector constructor in class + G4ErrorMagFieldLimitProces. + + 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 Bug fix in G4EqEMFieldWithSpin, following report on Hypernews EM-field + forum #161. Courtesy of Hiromi Iinuma (KEK). + + management: + o Fixed implementation of G4LogicalVolume::TotalVolumeEntities() to + become invariant to call sequence. + o 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. + o G4VTouchable: moved inline vitual methods, constructor and destructor + to source, to avoid problem of memory alignment in allocation of + derived objects. + + navigation: + o Refinements in G4PropagatorInField: + + 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'. 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. + o 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: + o 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. + o 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. + o G4Orb: moved debug warning in DistanceToIn(p,v) within G4CSGDEBUG flag. + + solids/specific: + o G4Ellipsoid: refined fix in DistanceToIn(p,v) for points located on the + curved surface, and correct treatment of geometrical tolerance. + Addresses problem report #1076. + o Avoid redundant assignment of value to 3-vector in G4PolyconeSide and + in G4TwistTubsSide. + + volumes: + o 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. + o Added missing implementation for composing G4AssemblyVolume constructor. + o 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. + + o Global: + ------ + + Changed date for patch-03 to release 9.2. + + o Standard Electromagnetic Processes: + ---------------------------------- + + Utils: + o G4ionEffectiveCharge: added protection to minimal kinetic energy. + o G4EmCorrections: fixed computation of correction to ion stopping powers. + o G4VEnergyLossProcess, G4VEmProcess: added protection against negative + cross section; fixed problem in retrieving physics tables from file. + + o Hadronic Processes: + ------------------ + + cross_sections: + o G4CrossSectionDataSetRegistry: more accurate deletion of cross-sections. + o G4TripathiLightCrossSection: re-enabled low energy check code. + + management: + o G4HadronicProcessStore: added protection to Clean() method. + + models/abrasion: + o Fixed problems of negative sqrt() and made code more robust to + potential loop problems. + + models/CHIPS: + o Fix in G4QElasticCrossSection for memory corruption caused by wrong + setting of limit for the tabular initialization in method GetPTables(). + Courtesy of Z.Marshall (ATLAS). + + models/coherent_elastic: + o G4HadronElastic: use static pointer to G4VQCrossSection in order to + guarantee unique version of CHIPS cross-section class. Removed printout + in destructor. + + models/management: + o G4HadronicInteractionRegistry: more accurate deletion of models. + + stopping: + o G4PiMinusAbsorptionAtRest and G4KaonMinusAbsorptionAtRest: fixed + usage of 3vector constructor. + + o Generic Processes: + ----------------- + + Cuts: + o G4VRangeToEnergyConverter: modified implementation of method + 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. + o 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. + + o Persistency: + ----------- + + gdml: + o Corrected handling of 'quantity' tag; added missing caching of + evaluation. + + o Examples: + -------- + + extended/radioactivedecay/exrdm: + o Fixed trivial compilation warning when compiled without G4ANALYSIS_USE. + + ---------------------------------------------------------------------------- + + Technical Notes + --------------- + + o This is a cumulative patch and can be applied on top of release 9.2, + 9.2.p01 or 9.2.p02. + 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-4.txt b/ReleaseNotes/Patch4.9.2-4.txt new file mode 100644 index 0000000000..888d1642d3 --- /dev/null +++ b/ReleaseNotes/Patch4.9.2-4.txt @@ -0,0 +1,43 @@ + + Geant4 9.2 - patch-04 Release Notes + ----------------------------------- + + 16 September 2010 + +List of fixes included in this public patch since the public release 9.2.p03: + + o Hadronic Processes: + ------------------ + + models/cascade: + o Fix for long-standing problem of energy non conservation in pion-nuclear + reaction on very light nuclei (in particular He) in G4CascadeInterface. + The workaround re-samples the interaction in the rare case when an + unphysical final state with baryon number violation is generated. + + models/CHIPS: + o Fix in G4QEnvironment for a rare problem of anomalous event with high + pT jet observed in ATLAS, identified in a Gamma+A -> X reaction with + gamma energy of 2 GeV, for which at least one of the secondaries was + created with too much kinetic energy (up to 90 GeV). + Addresses problem report #1126 and relates only to 9.2 release series. + o Fix in G4ChiralInvariantPhaseSpace to catch previously un-handled + exceptions produced when a 'chipolino' pseudo-particle is produced by + the model and thrown by Q4QEnvironment::Fragment; handles the case in + which Q4QEnvironment returns a 90000000 fragment, and converts it to + a gamma. Addressing problem report #1138. + + ---------------------------------------------------------------------------- + + Technical Notes + --------------- + + o This is a cumulative patch and can be applied on top of release 9.2, + 9.2.p01, 9.2.p02 or 9.2.p03. + 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. + +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.3-1.txt b/ReleaseNotes/Patch4.9.3-1.txt new file mode 100644 index 0000000000..8d54cd0cf8 --- /dev/null +++ b/ReleaseNotes/Patch4.9.3-1.txt @@ -0,0 +1,238 @@ + + Geant4 9.3 - patch-01 Release Notes + ----------------------------------- + + 9 April 2010 + +List of fixes included in this public patch since the public release 9.3: + + o Configuration: + ------------- + + Configure script: + o Corrected settings of LD_LYBRARY_PATH for CLHEP for the case of static + libraries build selection (path was set only for the dynamic libraries + case...). + o Corrected detection of Qt modules on MacOSX. + Addressing problem report #1095. + + binmake.gmk: removed extra space characters in definition of TARGOBJEXT, + fixing issue with target for main() not being rebuilt according to + dependencies change. Addressing problem report #1098. + + 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: + -------- + + management: + o Fixed initialisation of min/max extent for mother and target volumes + in method BuildNodes() of G4SmartVoxelHeader. + + navigation: + o Avoid unnecessary creation of debug string in G4PropagatorInField. + Also printout reformatting. + + solids/specific: + o Adopt caching of Phi in G4PolyconeSide and G4PolyhedraSide to avoid + unnecessary consecutive computations on the same point. + o Use kInfinity for initialising minimum and maximum allowed extent for + G4SolidExtentList of faceted solids. + + volumes: + o Adopt assign() within copy-constructor of G4NavigationHistory. + Should provide slight performance improvement. + + o Global: + ------ + + G4PhysicsLogVector, G4PhysicsLnVector, G4PhysicsLinearVector: preserve + values of 'edgeMin' and 'edgeMax' in constructors avoiding recomputation, + to avoid precision problem; fixes problem detected on Windows/VC++. + + Moved 'mem' pool in G4Allocator to public section, to allow for use of + allocator in vectors on Windows/C++. + + Changed date for patch-01 to release 9.3. + + o Materials: + --------- + + G4OpticalSurface: removed left-over debug test function OverWrite() + from header. + + o Persistency (GDML): + ------------------ + + Added missing reference attribute in G4GDMLWriteMaterials for dumping + of materials property vectors. Increased string buffer in G4GDMLWrite. + Addressing problem report #1104. + + Corrected import of surface properties in G4GDMLReadSolids for the case + of recursive read of files. + + Added IsValid() method to parser to verify if variable/constant/quantity + is defined and is valid. Added const qualifier to reader accessors in + parser. + + o Low-energy Electromagnetic Processes: + ------------------------------------ + + Modified hydrogen correction in G4DNARuddIonisation. + + Re-added vapor water shell constants to G4DNARuddIonisationModel + and modified electron correction. + + Extended low energy cover of G4DNA charge change processes + + Improved way of testing material in Geant4-DNA models. + + Fixed initialisation of 'atomTotalCrossSection' in + G4hShellCrossSectionDoubleExp. + + o Standard Electromagnetic Processes: + ---------------------------------- + + High Energy: + o G4mplIonisation: fixed IsApplicable() method, now returning always + "true". Addresses a problem report by CMS about crashes in the case + when several types of monopoles are instantiated. + + Standard: + o G4CoulombScatteringModel: added comments to relativistic formula. + o G4eCoulombScatteringModel: added method SetLowEnergyLimit(). + o G4CoulombScattering: removed inlined method SetBuildTableFlag() + hiding implementation in the base class. + o G4PolarizedComptonScattering: added message for obsolete process. + o Use data for Oxygen (G4_O) from ICRU'49 instead NIST for alpha stopping + power. Fixes problem of data corruption when such material is used. + + Utils: + o G4EmCorrections: added protection against large Barkas and Bloch + corrections in the case of large negatively charged particle + (Q^2 > 50); addresses problem of simulation of highly charged + exotic particles reported by ATLAS. + o Code cleanup in G4EmCalculator. + o G4VEmProcess: added protection against negative cross section. + Moved SetBuildTableFlag() method from protected to public. + Fixed problem for ion processes by adding pointer to 'currentParticle' + which may be different from generic ion. + o G4VEnergyLossProcess: added protection against negative cross + section, and improved logic in RetrieveTable() method. + o Reordered inline methods and improved comments in classes G4VEmModel, + G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering and + G4LossTableManager. + + o Hadronic Processes: + ------------------ + + cross_sections: + o G4CrossSectionDataSetRegistry: do not pop_back vector of pointers + when deregistering cross-section data set; addresses problem detected + on Windows/VC++. + o G4UPiNuclearCrossSection: fixed bug for high Z (>83) atoms. + o Cache computation of std::pow() in GetCaptureCrossSection() method of + G4HadronCrossSections, avoiding repeated calls with same argument. + + models/cascade: + o G4InteractionCase: minor change in initialisation in constructor to + allow for porting on C++0x Standard. + + models/CHIPS: + o Correction of mass in G4Quasmon, and fix of memory corruption in mass + calculation; + o Tuning of parameters and fixed bug in CHIPS fragmentation. + + models/de_excitation: + o G4ExcitationHandler: activated Fermi-BreakUp by setting limits to the + default values (Z=9 and A=17) for this model. + + models/high_energy: + o Fixed segmentation fault in G4HEKaonZeroLongInelastic and + G4HEKaonZeroShortInelastic due to local instantiation and subsequent + deletion of the K0 and anti-K0 models. As added feature, the production + of K0 and anti-K0 outside the nucleus is now prohibited. + + models/management: + o G4HadronicInteractionRegistry: do not pop_back vector of pointers + when deregistering cross-section data set; addresses problem detected + on Windows/VC++. + + models/neutron_hp: + o Add 'Ignore' and 'Enable' methods for on-flight Doppler broadening + in G4NeutronHPElasticData, G4NeutronHPInelasticData and + G4NeutronHPCaptureData, which can now be set from the physics-lists. + + models/pre_equilibrium: + o Added protections for numerical computations to G4PreCompoundEmission. + + o Generic Processes: + ----------------- + + Cuts: + o Fix in G4ProductionCutTable to solve problems with zero range for + protons. + + Optical: + o Fixed problem of initialization of 'PropertyPointers', now set to + NULL at the start of PostStepDoIt(). Addresses problem report #1094. + + o Physics Lists: + ------------- + + QBBC: fixed hadron inelastic configuration; instantiated + G4PreCompoundModel and its pointer propagated to all high energy models. + Use CHIPS for anti-protons to fix crash in FTF. + + o Track: + ----- + + Replace string data member to a pointer in G4VUserTrackInformation + for property to indicate type of UserTrackInformation; helps in reducing + unnecessary memory churn reported by CMS. + + Modified G4VUserTrackInformation::Print() method from pure-virtual to + simple virtual. + + o Tracking: + -------- + + G4RichTrajectory: Fixed bug in MergeTrajectory(), to not invoke + G4Trajectory::MergeTrajectory(). + + G4RichTrajectory and G4RichTrajectoryPoint: eliminated spaces in + G4AttValue values; G4AttValue() values are "None" for attributes + derived from zero pointers. + + o Visualization: + ------------- + + gMocren: fixed file-I/O bug in G4GMocrenFileViewer and G4GMocrenIO; + fix in G4GMocrenFileSceneHandler to allow for porting on C++0x Standard, + also use G4 types in consistent way. Removed debug code with printout. + + o Examples: + -------- + + Migrated physics-lists to use particle-based multiple-scattering + wherever necessary, and updated reference outputs. + + advanced/microbeam: + o Added density initialisation in MicrobeamPhantomConfiguration and + changed material/density selection. + + advanced/microdosimetry: + o Disable use of G4UItcsh on Windows. + + advanced/underground_physics: + o Physics list migrated from LowEnergy processes to the new Livermore + models. Physics results unchanged for gamma/e-. Possible differences + with ions/protons. + o Corrected analysis-manager to solve a problem with the HBOOK output + files (ntuples not filled, histograms not saved). + Get rid of a warning message and allocation problems with ntuple2. + + extended/field/field04: + o Fixed compilation error on Windows in F04RunAction. + + extended/hadronic/Hadr01: + o Fixed problem of counting of particles leaked from the target. + o When PhysList defined via PHYSLIST environment variable still + make local PhysList messenger available to avoid crash in old macro. + + extended/optical/wls: + o Added missing initialization macro init.in. + o Replaced use of 2*M_PI with CLHEP::twopi. + + extended/persistency/gdml/G01: + o Added printout of associated auxiliary information value. + o Corrected typo in replicated.gdml file. + + extended/persistency/gdml/G03: + o Disable use of G4UItcsh on Windows. + + extended/visualization/userVisAction: + o Introduced G4UIExecutive. + + novice/N02: + o Correction in DetectorConstruction::SetMagField() to invoke + fpMagField->SetMagFieldValue(). + + novice/N03: + o visTutor: corrected exN03Vis14.mac and exN03Vis15.mac to enable + visualization of tracks and removed redundancy; updated gui.mac + adding missing macros and correcting order; corrected comments + wherever necessary. + + ---------------------------------------------------------------------------- + + Technical Notes + --------------- + + o This patch should be applied on top of relese 9.3. + o Technical notes distributed for release 9.3 are also applicable and + valid for this patch. + +The code and rebuilt binary libraries for release 9.3 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.3-2.txt b/ReleaseNotes/Patch4.9.3-2.txt new file mode 100644 index 0000000000..cdcb4ba7d9 --- /dev/null +++ b/ReleaseNotes/Patch4.9.3-2.txt @@ -0,0 +1,277 @@ + + Geant4 9.3 - patch-02 Release Notes + ----------------------------------- + + 17 September 2010 + +List of fixes included in this public patch since the public release 9.3.p01: + + o Configuration: + ------------- + + Configure script: + o Updated internal scripts for Configure: protected echos on + LD_LIBRARY_PATH so that output from use of Configure post-install + is clean. Also addressing problem report #1139. + o Fixed selection of XERCESCROOT path for Windows. + o Added quoting of uname in Qt.U to prevent Power Mac problems. + o Added removal of quotes from make version string to handle non-English + language systems. + + Simplified QTLIBPATH setup in Linux-g++.gmk. + + Increased stack size on WIN32-VC setup (i.e. 8MB as on Linux), adding + the option to LDFLAGS. + + o Digits+Hits: + ----------- + + Added missing virtual destructor to G4VScoringMesh and removed + unnecessary virtual qualifiers to G4ScoringBox. + + o Event: + ----- + + Improved logic in G4PrimaryTransformer. Addressing problem report #1101. + + Fixed compilation warning in G4SmartTrackStack issued with gcc 4.5.0. + + Removed obsolete CLHEP_HepMC option from G4EventManager class. + + Fixed electron mass correction for ions in G4PrimaryTransformer. + + o Geometry: + -------- + + biasing: + o G4IStore: corrected use of internal cell-importance iterator to avoid + invalidation in methods GetImportance(). + o Corrected mispelled name for GetLowerWeight() method in classes + G4WeightWindowStore and G4VWeightWindowStore. Fixed use of internal + cell-importance iterator in G4WeightWindowStore::GetLowerWeight() to + avoid cases of invalidation. + o Fixed initialization of data in copy-constructor for G4GeometryCell. + + divisions: + o Improved logic in G4PVDivision constructors and in method + G4PVDivisionFactory::CreatePVDivision() in case of invalid construct. + o Properly initialise Boolean flag 'bDivInTrap' in G4VParameterisationTrd + constructor. + o G4ParameterisationTrd: disabled unreachable error message in method + G4ParameterisationTrdX::CheckParametersValidity(). + o Removed uninitialised member in G4ParameterisationTrdX and correction + in method ComputeSolid(). + o Get rid of unnecessary virtual specification for leaf classes in the + hierarchy. + + magneticfield: + o Fixed cases of possible memory corruption in G4RKG3_Stepper. + o Fixed case of unused array data member in G4ExactHelixStepper. + o Removed useless code never executed in G4ConstRK4::Stepper(). + o Fixed initialization in constructor and fixed passing of time in + G4NystromRK4. + o Added dummy initialization of data members in constructors. + + management: + o Fixed compilation errors for code within G4GEOMETRY_VOXELDEBUG flag + in G4GeometryManager and G4SmartVoxelHeader. + o Added printout of voxel limits in G4SmartVoxelHeader::Buildnodes(). + o G4LogicalSurface: made virtual destructor and constructors not inline. + o G4SmartVoxelHeader: fixed potential case of invalid iterator in + deletion of test slices in BuildVoxelsWithinLimits(). + o G4GeometryManager: restore cout precision after printing voxel + statistics. + o Added dummy initialization of data members in constructors. + + navigation: + o Fix in G4GeomTestSegment::FindSomePoints(), to address problem + report #980. + o Fixed array out of bound error in G4MultipleNavigator and G4PathFinder + constructors. + o Fixed cout precision restoring where applicable. + o Replaced use of DBL_MAX for distances with kInfinity in + G4MultiNavigator and G4Navigator internals. + o Added dummy initialisation of data members in constructors. + + solids/BREPS: + o Fixed possible leaks in G4BREPSolid::IsConvex() method, + G4ToroidalSurface destructor, G4BezierSurface::ClipSurface() method + and G4OsloMatrix construction. + o Corrected possible dereferencing of null pointer in method + G4BREPSolidSphere::DistanceToOut(). + o Corrected deletion of internal data in G4BSplineCurve::Project() method. + o G4Assembly: corrected case of invalid iterator in destructor. + o G4Hyperbola: corrected signature to internal Init() function to avoid + parameter passed by value. + o G4BSplineCurve: corrected initialization of null pointer in Project(). + o G4CompositeCurve, G4SurfaceBoundary: corrected cases of invalid + iterator. + o Some code cleanup in G4ConicalSurface, GCylindricalSurface and + G4SpericalSurface. + o Added dummy initialisation of static data where applicable. + + solids/CSG: + o G4Torus: fix in DistanceToOut(p,v,...) to address problem report #1081. + Fixed call to internal method for finding roots, to avoid copy + of sdt::vector() by parameters. Some cleanup to avoid unnecessary + protected section and virtual table. + o Fixed condition in G4Tubs::Inside(p) for point on surface. + o Corrected use of std::fabs() in place of std::abs() in G4Tubs, G4Cons, + G4Sphere and G4Torus. Use pre-computed half-tolerance constants in + G4Torus. + o Improved initialisation logic in several constructors. + o Corrected cases of not-restored cout precision where applicable. + + solids/specific: + o Fix in G4TriangularFacet and G4TessellatedSolid to correct treatment + of optical photon transport related to internal reflection at surface. + Addresses problem report #1103. + o G4ExtrudedSolid: eliminated requirement for clockwise ordering of + polygon vertices. Added a check for vertices ordering; if vertices + are defined anti-clockwise their ordering is reverted. + Fix in polygon facet triangularization for consequent concave vertices. + o Fixed deletion of internal arrays in CreatePolyhedron() for G4Polycone + and G4Polyhedra. + o G4EllipticalTube: extended implementation of SurfaceNormal(p) in + agreement with canonical form. + o Fixed cases of division by zero in G4VTwistSurface and G4TwistBoxSide. + o Use INT_MAX as initialisation for max limits in G4SolidExtentList. + o Fixed potential case of dereferencing null pointer in methods + G4EllipticalTube::DistanceToOut(p,v), G4VCSGfaceted::DistanceToIn(p,v) + and G4VCSGfaceted::DistanceToOut(p,v). + o Fixed unecessary object copy as argument in method + G4PolyhedraSide::IntersectSidePlane(). + o Replaced calls to std::abs() with std::fabs() where suitable. + o Added dummy initialization of data members where applicable. + + volumes: + o Added Reset() method to G4ReflectionFactory for clearing maps of + constituent and reflected volumes. + + o Global: + ------ + + More safe numerical computation of A13() and logA() methods in G4Pow. + + Added INT_MAX and INT_MIN portability macros in templates.hh. + + Fixed cases of invalidated iterator in G4StateManager. + + Added dummy initialization of data members in constructors. + + Changed date for patch-02 to release 9.3. + + o Interfaces: + ---------- + + Fixed call to contructor QKeySequence() in G4UIQt:AddButton() to + allow for porting on gcc-4.5.0. Addresses problem report #1127. + + o Particles: + --------- + + Fixed logic bug in G4ExcitedMesonConstructor::Add3PiMode(). + + G4MuonRadiativeDecayChannelWithSpin: corrected sign error. + + o Persistency: + ----------- + + Corrected dump of division axis in GDML writer. + + Fixed printout of unit in G4GDMLWriteStructure for replicas and + divisions, in the case of angles. + + Added missing virtual destructor to G4tgbDetectorBuilder in ASCII module. + Fixed signature for std::map in G4tgrVolumeMgr header. + + Fixed recursive header inclusion in G4PersistencyCenter class in 'mctruth' + module, and added dummy initialization of data members in constructors. + + o Low-energy Electromagnetic Processes: + ------------------------------------ + + Fixed bugs in G4AtomicDeexcitation and G4AugerTransition to cure crash + on Windows. + + Corrected return value case in method GetPhotoElectronDirection() in + G4PhotoElectricAngularGeneratorSauterGavrila. + Addressing problem report #1120. + + o Standard Electromagnetic Processes: + ---------------------------------- + + Adjoint: + o G4AdjointAlongStepWeightCorrection: get rid of call to non-Standard + isnan(), replaced by explicit validity test. + o G4AdjointhMultipleScattering: removed unused header. + + Polarisation: + o Fix in G4ePolarizedIonisation to use default vector size of + G4VEnergyLossProcess and avoid size mismatch in G4LossTableBuilder. + + Standard: + o G4eBremsstrahlungModel: fix in SelectRandomAtom() method. + Addressing problem report #1115. + o Fixed G4_O data in G4ASTARStopping. + Fixed G4_Pt and G4_PROPANE data in G4PSTARStopping. + + o Hadronic Processes: + ------------------ + + models/cascade: + o Fix for long-standing problem of energy non conservation in pion-nuclear + reaction on very light nuclei (in particular He) in G4CascadeInterface. + The workaround re-samples the interaction in the rare case when an + unphysical final state with baryon number violation is generated. + + models/CHIPS: + o Fix in G4ChiralInvariantPhaseSpace to catch previously un-handled + exceptions produced when a 'chipolino' pseudo-particle is produced by + the model and thrown by Q4QEnvironment::Fragment; handles the case in + which Q4QEnvironment returns a 90000000 fragment, and converts it to + a gamma. Addressing problem report #1138. + o Bug fix in G4QNucleus::ChoosePosition() for looping. + o Fix in fragmentation module for run-time warning on Windows. + + models/de_excitation: + o Fixed numerical problem (division by zero) in G4GEMProbability. + + models/neutron_hp: + o Added safety for zero length cross-section table in + G4NeutronHPFissionData. Addressing problem report #1118. + o Add safety for negative value in G4NeutronHPInelasticCompFS. + o Added model name in constructor of G4NeutronHPThermalScattering. + Addressing problem report #1116. + o Modified sampling in G4NeutronHPInelasticCompFS. + o Fix bug about incidence energy in G4NeutronHPEnAngCorrelation. + + models/parton_string/hadronization + o Improved Lund string fragmentation. + o Fixed inconsistency between LightFragmentationTest and Lund + fragmentation. + o Fixed problems of energy non-conservation in FTF. + + models/photolepton_hadron/muon_nuclear: + o G4MuNuclearInteraction: properly clear hadronic tracks PostStepDoIt(). + + models/util: + o G4Fancy3DNucleus: added missing std:: to call to sort() algorithm. + + o Generic Processes: + ----------------- + + Biasing: + o G4WeightWindowProcess: corrected call to method GetLowerWeight() in + G4WeightWindowStore, after correction of mispelled name. + + Optical: + o Fix for backpainted surfaces to avoid applying twice reflectivity. + Addressing problem report #1114. + o Fixed sampling of 'theFacetNormal' for 'polishedbackpainted' material + in G4OpBoundaryProcess::DielectricDielectric() method. Address problem + reported on Hypernews Optical Processes Forum, thread #334. + o Refashioned code in the case of type 'dielectric_dielect'. + + Transportation: + o Fix to G4Transportation to properly update the step flag which + identifies the last step in a volume (applies for linear steps only, + i.e. no field). Partially addressing problem report #1032. + + o Run: + --- + + Corrected printing of number of events processed on run abortion. + + Fixed definition of path for Windows in G4RunManager for random seeds + directory: use '\' instead of '/' and suitable system command. + + Use "const G4String&" as arguments and return value wherever applicable + in G4RunManager and G4RunManagerKernel. + + Added dummy initialisation of data members in constructors. + + Use canonical form for exceptions in G4RunManager and added dummy return + statements; same in G4VUserPhysicsList. + + o Examples: + -------- + + Migrated physics-lists to use particle-based multiple-scattering + wherever necessary, and updated reference outputs. + + advanced/human_phantom: + o Added missing includes, causing compilation error. + o Migrated physics-lists. + o Corrected commands in some macros. + + extended/geometry/olap: + o Fixed compilation error for setting of kRadTolerance. + o Removed inclusion of obsolete G4ParticleWithCuts header. + + extended/persistency/gdml/G03: + o Corrected selection of G4UItcsh in main(), to fix problem on Windows. + + ---------------------------------------------------------------------------- + + Technical Notes + --------------- + + o This patch should be applied on top of relese 9.3. + o Technical notes distributed for release 9.3 are also applicable and + valid for this patch. + +The code and rebuilt binary libraries for release 9.3 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 index 84cc03761c..53cd1a936a 100644 --- a/ReleaseNotes/ReleaseNotes4.9.3.html +++ b/ReleaseNotes/ReleaseNotes4.9.3.html @@ -359,7 +359,7 @@ Please see the corresponding details in
  • 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.
  • + BERTini to FTFP 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.
  • diff --git a/ReleaseNotes/ReleaseNotes4.9.4.html b/ReleaseNotes/ReleaseNotes4.9.4.html new file mode 100644 index 0000000000..6a06049eb5 --- /dev/null +++ b/ReleaseNotes/ReleaseNotes4.9.4.html @@ -0,0 +1,2258 @@ + + +Geant4 9.4 Release Notes + + + +

    +
    +

    + +

    + +Geant4 9.4 Release Notes + + + + +
    + +December 17th, 2010 + +
    + +

    +


    +

    +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

    + +Officially tested 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 5 (SLC5) (based on RedHat Linux Enterprise 5).
    • +
    • MacOSX 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.5.1, 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
    • +
    • MacOSX 10.5, gcc-4.0.1
    • +
    • 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.1.0.1. +Use of a different CLHEP version may cause incorrect simulation results. +

    +Most Geant4 9.4 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.3 to release 9.4. +Note that for all users a full re-installation of libraries (or a full +recompilation) and a recompilation of user applications is required. + + +

    +Standard Electromagnetic physics +

    +
      +
    • Changed default multiple scattering models to G4UrbanMscModel93 + for electrons and positron, G4WentzelVIModel for muons. + G4UrbanMscModel90 remains the choice for other particles.
    • +
    • Removed obsolete classes G4MultipleScattering, G4UrbanMscModel and + G4UrbanMscModel2. The use of multiple scattering processes + specialised by particle type (G4eMultipleScattering, G4hMultipleScattering + and G4MuMultipleScattering) is now mandatory. +
    + +

    +Low Energy Electromagnetic physics +

    +
      +
    • The Geant4-DNA G4DNAEmfietzoglouExcitationModel class for the modeling of + electron excitation in liquid water is obsolete and should be replaced + by the G4DNABornExcitationModel class.
    • +
    + +

    +Persistency +

    +
      +
    • GDML: to better match the schema definition, a correction to the 'value' + type from double to string has been made for the + auxiliary-information returned by G4GDMLParser. This may require + related change in the user code, where the auxiliary information feature + is used.
    • +
    + +

    +Physics Lists +

    +
      +
    • Previously obsolete physics lists have been deleted, for the detailed +list please see below. +
    • Introduced new constructor for all builders with a common signature. +Previous constructors are kept for this release, but are declared obsolete. +They will be removed in a future release. +
    • +
    + +

    +Visualization +

    +
      +
    • The visualization trajectory modeling command + /vis/modeling/trajectories/create/drawByParticleID + used to default all trajectories to grey, with the user having to + explicitly set any other color code. While the user can still set any + wished color code, the default has been improved to: + [e-/red; e+/blue; proton/cyan; gamma/green; neutron/yellow; + pi+,pi-,pi0/magenta; other/grey].
    • +
    • In some examples, visualization that used to draw trajectories as simple + lines now also draws step points. Users who wish to disable step point + drawing can do so by commenting out a line in the visualization macro.
    • +
    + +

    +Data Sets +

    +This release introduces new data sets and also new versions. +Please see the corresponding details in +Section 10 of this document. +
      +
    • G4NEUTRONXS-1.0, new data set for evaluated neutron cross-section data + on natural composition of elements (controlled by variable + G4NEUTRONXSDATA).
    • +
    • G4PII-1.2, new data set for shell ionisation cross-sections (controlled + by variable G4PIIDATA).
    • +
    • New data set versions: G4EMLOW.6.19, G4RadioactiveDecay.3.3, + G4PhotonEvaporation.2.1, G4NDL.3.14.
    • +
    + +

    + +
    + + + +

    4. New Developments and Capabilities

    + +Geometry +
      +
    • It is now possible to introduce gaps between slices in divisions, + by making use of a new specialised physical-volume type, + G4ReplicatedSlice for defining the divided daughter volumes.
    • +
    • In regular voxelised geometries, the restriction for voxels to completely + fill the envelope container is now relaxed. It is now allowed to define + envelopes of different types other than box for regular geometries, + by making use of a new parameterisation helper class + G4PartialPhantomParameterisation.
    • +
    • A new specific shape, G4GenericTrap, is now implemented. + This new solid represents an arbitrary trapezoid with up to 8 vertices + standing on two parallel planes perpendicular to the Z axis.
    • +
    + +Detector description persistency +
      +
    • Introduced new UI commands from the GDML parser to allow for importing and + exporting GDML files through macros or interactively, supporting all + various options provided by the parser.
    • +
    + +Digitization & Hits +
      +
    • Cylindrical scoring mesh is now fully released.
    • +
    • Most of primitive scorers now take their default units, and units may + by altered by their UI commands. These units are used for drawing and + dumping the scores.
    • +
    + +Standard Electromagnetic physics +
      +
    • New model G4ICRU73QOModel is available + for low-energy ionisation of negative-charge projectiles + (including anti-ions); it is based on ICRU'73 data for oscillator strengths; + this model is the default for negative-charge particles in G4hIonisation process class.
    • +
    • Improved modeling of fluctuations in energy deposition, relevant for + deposit in gasses and silicon. Increases stability when step size changes.
    • +
    • New model of single scattering and NIEL for ions + G4IonCoulombScatteringModel is available; the model is applicable + from 50 keV to 100 TeV.
    • +
    • New ionisation models G4BraggIonGasModel, + G4BetheBlochIonGasModel are available for simulation of ion + transport in low density media, e.g. in vacuum. + The ion charge of a particle is not changed by these models.
    • +
    • The default angular distribution of gamma in the Bremsstrahlung process + can be substituted by alternative model in physics-list.
    • +
    • Fluorescence and Auger electron production can be activated via UI commands, + using the new models G4PEEffectFluoModel and G4KleinNishinaModel.
    • +
    • Disabled usage of minimum energy threshold per model. As a result the + production threshold is defined only by range (converted to energy in each + material). It remains constrained by the minimum limit defined in 'cut' category. + This change is necessary to allow the full set of combinations of models + in a process.
    • +
    + +Low Energy Electromagnetic physics +
      +
    • Photon Livermore models: + first implementation of pair production in the electric field of the + electron. The G4BoldyshevTripletModel should be used in + conjunction with the G4LivermoreNuclearGammaConversionModel + model (using G4MultiModel) in order not to account twice + for the pair production cross section in the electron field.
    • +
    • Electron Livermore models: + G4LivermoreIonisationModel is able to generate fluorescence + along the step. Addressing problem report + #1141.
    • +
    • Penelope models: + added four new models (gamma ray models: Compton, GammaConversion, + PhotoElectric and Rayleigh). Upgrades of Penelope from version 2001 to + version 2008, named as G4Penelope08xxxxModel. To be considered + as beta.
    • +
    • For all low energy EM models: no customized production cuts are allowed + anymore for fluorescence/Auger. + Main cuts from the G4ProductionCutsTable are always used, for + consistency.
    • +
    • Geant4-DNA (in liquid water): +
        +
      • New process and model classes for electron attachment and vibrational + excitation.
      • +
      • New electronic excitation model for electrons.
      • +
      • Extended very low energy coverage of Champion's electron elastic + scattering.
      • +
      • New excitation model for neutral hydrogen.
      • +
      • Preliminary new ionization models for C, N, O and Fe. + To be considered as beta.
      • +
      • Multi-scale combination of Geant4-DNA discrete processes with Standard + or low energy EM physics processes adopting the unified software + approach of both EM physics sub-categories (see the + microdosimetry advanced example for illustration).
      • +
    • +
    + +Hadronic physics +
      +
    • Hadronic interfaces now require integer Z and A arguments. Elements or + materials with effective or average values of Z and A are no longer + allowed.
    • +
    • Quark exchange, Reggeon cascade and nuclear destruction parameters in the FTF + model were tuned. Tuning of the nuclear destruction parameters was based on + HARP-CDP data. Low mass string fragmentation was improved.
    • +
    • The Bertini cascade model was re-written to employ more code re-use, improve + memory management, and provide better energy/momentum conservation. Angular + distributions of the two-body final states of hadron-nucleon interactions were + redone and improved. + An optional interface to the G4Precompound model (and the associated + de-excitation processes) is now available; this is an alternative to the + dedicated de-excitation which has been used until now.
    • +
    • Anti-baryon-nucleon elastic scattering was added to the CHIPS model.
    • +
    • Fermi breakup was extended to include fragments with 1 < A < 5 . + Several improvements were made to bring the model closer to the original + one of Botvina. Use hybrid of Fermi breakup and GEM models for + A < 20. Several other improvements were made to the evaporation + models. A README file was added explaining the photo-evaporation data + files.
    • +
    • New, fast models and cross sections for neutron elastic, inelastic and capture + are now available: G4NeutronElasticXS, G4NeutronInelasticXS and + G4NeutronCaptureXS.
    • +
    • An isomer decay table was added to extend the number of existing isomers in the + radioactive decay model. All of them will be decayed by isomeric transition + (IT). A README file was added to explain the radioactive decay data files.
    • +
    • RQMD (relativistic quantum molecular dynamics) code was enabled in the QMD + model to allow treatment of higher collision energies.
    • +
    • A new model, G4NuclNuclDiffuseElastic is now available for + nucleus-nucleus elastic scattering.
    • +
    • A new class G4ComponentAntiNuclNuclearXS provides + the total elastic and inelastic cross sections of anti-nucleon + and anti-nucleus interactions with nuclei. + These were calculated using the Glauber approach.
    • +
    • All hadronic processes now check to see if the cross section has become negative + at the end of a step, before invoking the model.
    • +
    • Checking of Energy/momentum conservation is available in the hadronic + process class. Methods can set the theshold level for reporting + and the verbosity of the output.
    • +
    + +

    +Physics Lists +
      +
    • New physics lists QGSP_BERT_CHIPS and Shielding, details are described below. +
    • Improved inelastic hadronic cross section at high energies, above 90 GeV, + in all QGS.. and FTF.. lists. +
    • Improved cross sections for Kaon, and all "misc" particles, including + anti-proton, anti-neutron, and hyperons in FTFP_BERT, QGSP_FTFP_BERT, and the + two new physics lists QGSP_BERT_CHIPS and Shielding. +
    • Use G4UrbanMscModel93 by default for e+,e- in all EM physics + builders except G4EmLivermorePhysics and G4EmPenelopePhysics + where new G4GoudsmitSaundersonMscModel is used.
    • +
    • G4WentzelVIModel93 and G4CoulombScattering are + used by default for mu+,mu- in all builders. +
    • In G4EmStandardPhysics_option2 for small angle multiple scattering +G4WentzelVIModel93 is used for protons, pions, and kaons; + for angular distribution of bremmstrahlung gamma G4GeneratorBS + is applied.
    • +
    • Improved G4EmConfigurator class, to define alternative models by particle + type, energy range, and detector region. + Can be used to choose configuration EM models before or after the EM physics + has been instantiated.
    • +
    + +

    + +
    + + +

    5. Expected effects on physics and performance

    + +Standard Electromagnetic physics and cuts +
      +
    • Small increase of visible energy deposition in sampling calorimeters + (e.g. 0.5% for a simplified setup with materials of the ATLAS EM barrel calorimeter) + due to improvements in the multiple scattering model.
    • +
    • Improved tails of energy deposition in thin absorbers.
    • +
    + +Hadronic physics +
      +
    • Improved treatment of low mass strings in the FTF model allows the model + to be used at lower energies and provides a smoother transition in energy + response in the region where string models give way to cascade models.
    • +
    • Improved memory management in the Bertini cascade model results in a + 10-fold reduction of object creation and destruction. The model also + conserves energy and momentum better.
    • +
    • Fermi Break-up Model and GEM evaporation are used by default providing + improved production of light fragments in nuclear fragmentation at low + energy.
    • +
    • Improved spectra of nuclear gamma deexcitation including Doppler + broadening simulation.
    • +
    • Fast neutron cross-sections can provide significant CPU savings for + applications which need accurate simulation of neutrons below 20 MeV.
    • +
    • Materials defined with an effective Z or A can no longer be used + with hadronic processes.
    • +
    + +

    + +
    + + + +

    6. Known Run-Time Problems and Limitations

    +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. +

    +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 100 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: +
        +
      • Updated scripts for Configure, to allow for parallel builds.
      • +
      • Added new data sets G4NEUTRONXS (Evaluated neutron cross + section data, version 1.0), controlled by variable G4NEUTRONXSDATA, + and G4PII (shell ionization cross section data, version 1.2), + controlled by variable G4PIIDATA.
      • +
      • Added new versions of data sets for G4EMLOW.6.19, G4RadioactiveDecay.3.3, + G4PhotonEvaporation.2.1, G4NDL.3.14.
      • +
    • +
    • cmake: +
        +
      • First 'alpha' version of a new build infrastructure based on CMake + (see http://www.cmake.org/). + Added scripts and file catalogues to all source modules.
      • +
    • +
    • Removed 'leading_particle' hadronic module from include paths list.
    • +
    • Added obj make target to globlib.gmk to allow for + creation of object files only.
    • +
    • Removed obsolete Qt3 setup for Darwin-g++, Linux-g++ and + WIN32-VC.
    • +
    • Darwin-g++.gmk: corrected and simplified Qt setup for use of + Native OpenGL.
    • +
    • Fixed linking options for shared libraries in Linux-icc.gmk.
    • +
    • Corrected definition of LDFLAGS in binmake.gmk to + avoid occasional fatal clashes with settings in user's environment. + Added include paths to new modules and cleaned obsolete paths.
    • +
    • Replaced use of strcat() with more secure strncat() + in liblist.c, and protected uses of strcpy().
    • +
    + + +

    Digitization & Hits

    +
      +
    • Cylindrical scoring mesh is now fully released.
    • +
    • Improved some UI commands for defining scorers.
    • +
    • Fixed signature in G4VPrimitiveScorer for Set/GetUnit() + methods.
    • +
    + + +

    Electromagnetic Processes

    +
      +
    • Adjoint +
        +
      • G4AdjointBremsstrahlungModel: use G4EmModelManager for + proper initialization. G4eBremsstrahlungModel is used as forward + model. Fixing cases of floating point exceptions.
      • +
      • G4AdjointhIonisation: removed negative term in the expression + of the adjoint cross-section (AdjointCrossSection() method) and + adapted method RapidSampleSecondaries().
      • +
      • G4VEmAdjointModel: added a check on null cross section to + avoid FPE.
      • +
    • +
    • High Energy +
        +
      • New model G4ICRU73NoDeltaModel + derived from G4ICRU73QOModel.
      • +
      • Added new G4mplIonisationWithDeltaModel for ionization of monopoles, + to be used in the G4mplIonisation process class as a default model; + this enables delta-ray production, which is needed by ATLAS and CMS.
      • +
      • Fixed defects reported by Coverity tool, mainly related to initialization + of static data.
      • +
    • +
    • Low Energy +
        +
      • Added four new models (gamma ray models Compton, GammaConversion, + PhotoElectric, Rayleigh), upgrades of G4Penelope ionisation + and Bremsstrahlung for e+/e- to version 2008.
      • +
      • Added MinEnergyCut() method to G4PenelopeIonisationModel. + Small (minor) changes to other Penelope models (mainly clean-up). + Removed useless call in G4PenelopeIonisationModel which + triggered fake warning messages.
      • +
      • Added class G4PenelopeCrossSection to store/handle cross + sections (and higher momenta, like stopping powers) for Penelope + models. +
      • New G4PenelopeOscillator* classes to manage + multi-element atomic oscillators used in Penelope Compton and + Ionisation models. Compliant with Penelope-2008.
      • +
      • Added dummy method ComputeCrossSectionPerAtom() in + G4PenelopeRayleighModel, never inkoved in tracking and + issuing a warning if users access it via G4EmCalculator.
      • +
      • Updated public interface of G4LivermorePhotoElectricModel. + Removed possibility to use custom cuts for fluorescence/Auger. + Main cuts from G4ProductionCutsTable are always used, for + consistency.
      • +
      • Updated G4LivermoreIonisationModel to produce fluorescence + AlongStep only if above the production cuts. Stricter check for energy + conservation.
      • +
      • Bug fix in G4LivermoreIonisation and in + G4LivermorePolarizedPhotoElectricModel.
      • +
      • New models G4BoldyshevTripletModel, G4LivermoreGammaConversionModelRC, + and G4LivermoreNuclearGammaConversionModel.
      • +
      • G4LivermorePolarizedGammaConversionModel: fixed element + selection and initialisation.
      • +
      • Clean-up in Penelope models; explicitely set Auger flag to false in + constructor. Addressed Coverity reports for Penelope/Livermore + processes.
      • +
      • Geant4-DNA processes and models: +
          +
        • New excitation model for electrons in G4DNABornExcitationModel + and for H.
        • +
        • Added new G4DNA processes and e- models for vibrational and attachment + as in: Z. Francis et al., Appl. Radiat. Isot. 69 (2011) 220-226.
        • +
        • Extended low energy coverage of G4DNA electron models.
        • +
        • New preliminary Geant4-DNA ionisation class for ions to be used + with new data set, G4LEDATA-6.19.
        • +
        • Corrected G4DNABornIonisationModel for maximum kinetic + energy transfer.
        • +
        • Modified method declaration in G4DNABornExcitation. + Modified electron correction in G4DNAMillerGreenExcitation.
        • +
        • Extended search range for maximum of DCS in + G4DNARuddIonisationModel.
        • +
        • Changed default parameters in G4DNAEmfietzoglouExcitationModel. + Modified initialisation of e- Emfietzoglou excitation model to fix + memory leaks.
        • +
        • Changed computation of scattering angle in + G4DNAChampionElasticModel.
        • +
        • Replaced hard coded masses in G4DNADingfelderCharge* + classes.
        • +
        • Updated & extended Rudd and Miller & Green models. Adapted all high + energy limits of G4DNA electron models.
        • +
        • Changed low energy limit of G4DNA elastic scattering models for e-. + Switched default excitation model for e- to Born.
        • +
        • Set high energy limit of G4DNAScreenedRutherfordModel to 1 MeV + and decreased low energy limit.
        • +
        • Updated high energy limits of G4DNAExcitation and G4DNAIonisation. + Added protection in xs file opening for G4DNA Sanche excitation.
        • +
        • Restricted momentum conservation to electrons in G4DNA ionisation.
        • +
        • Added new control of low energy limit of G4DNA e- models. + Energy ranges adapted accordingly.
        • +
      • +
      • Fixed initialisation order in some models' constructor to fix Valgrind + run-time errors reports. +
      • Fixed bugs in G4AtomicDeexcitation and G4AugerTransition. +
      • New PIXE developments: +
          +
        • G4ecpssrKCrossSection and G4ecpssrLiCrossSection + classes: these classes substitute the G4ecpssrCrossSection + class, fixing existing bugs and improving the goodness of the + results especially at higher energies.
        • +
        • G4empCrossSection and G4teoCrossSection classes: + classes deriving from G4VhShellCrossSection and providing + the interface to empirical ionization cross sections (Orlic for L + shells and Paul for K).
        • +
        • G4hShellCrossSection, G4hShellCrossSectionDoubleExp, + G4hShellCrossSectionDoubleExpData, G4hShellCrossSectionExp, + G4hShellCrossSectionExpData classes are now discontinued.
        • +
        • G4hLowEnergyIonisation has been updated to follow the new + design and let the user chose which model to use for the calculation + of shell ionization cross section through the method + SelectShellIonisationCS(). + Dependencies on old methods for cross section calculation have + been removed.
        • +
        • Changed default parametersa and fixed units management. +
        • Bugs fixes in G4OrlicLiCrossSection and + G4PaulKCrossSection.
        • +
      • +
      • Fix in G4AugerTransition to cure crash on Windows.
      • +
      • Added missing virtual destructors where necessary.
      • +
      • Corrected return value case in method GetPhotoElectronDirection() + in G4PhotoElectricAngularGeneratorSauterGavrila. Addressing problem + report #1120.
      • +
      • New class G4UAtomicDeexcitation class, derived from + G4VAtomicDeexcitation from utils module. It will + replace G4AtomicDeexcitation class. + Updated G4hLowEnergyIonisation to it.
      • +
      • Optimised computation in G4GeneratorBS and fixed comments. + Moved classes G4VBremAngularDistribution and + G4ModifiedTsai moved to utils and standard + modules respectively.
      • +
      • Requires new data set G4EMLOW-6.19.
      • +
    • +
    • Muons +
        +
      • G4MuPairProductionModel: added sampling recoil of a primary + particle.
      • +
      • G4MuIonisation: use G4ICRU73QOModel for mu- + for E< 0.2 MeV (G4BraggModel in past).
      • +
      • Fixed defects reported by Coverity tool, mainly related to + initialization of static data.
      • +
    • +
    • Polarisation +
        +
      • Fixed signature to G4VPolarizedCrossSection::TotalXSection() + in source file.
      • +
      • Fixed issues reported by the Coverity tool.
      • +
    • +
    • Precise Impact Ionisation +
        +
      • New module for precise impact ionisation, as described in: + M.G.Pia et al., PIXE Simulation With Geant4, IEEE-TNS, vol. 56, no. 6, pp. 3614-3649, 2009. + Requires new data set G4PIIDATA-1.2.
      • +
    • +
    • Standard +
        +
      • Single and multiple scattering: +
          +
        • G4GoudsmitSaundersonMscModel: fixed problems of small + angle theta distributions; improved numerical stability of + computations for small angles by direct cross-section calculation; + the inverse angular sampling + is performed without large angle rejection method.
        • +
        • G4GoudsmitSaundersonTable: improved numerical stability by minimum + of used arrays in computation + within the dichotomy finding method; optimized code to + improve speed by addition extra class members.
        • +
        • G4eMultipleScattering, G4hMultipleScattering: improved + printout at initialisation.
        • +
        • G4UrbanMscModel93: added randomization of step limit for + the first step in any volume for option UseDistanceToBoundary.
        • +
        • G4WentzelVIModel: added numerical protections; added + DefineMaterial() call to the G4WentzelOKandVIxSection class + to keep conssitency of two classes in run time; + optimized method of step limitation; + added usage of geometry factor and the option + UseDistanceToBoundary.
        • +
        • G4WentzelOKandVIxSection: new class to compute cross + sections and sample scattering angle in G4WentzelVIModel, + G4eCoulombScatteringModel, G4CoulombScatteringModel classes; + added momentum + dependent limit of scattering angle between single and multiple scattering + which allows to use coherently G4WentzelVIModel + with optical model of hadron scattering.
        • +
        • G4eCoulombScatteringModel: fixed computation of nuclear + recoil.
        • +
        • G4IonCoulombCrossSection, G4IonCoulombScatteringModel: new + model of single scattering and NIEL for ions.
        • +
        • G4UrbanMscModel90, G4UrbanMscModel92, G4UrbanMscModel93: + added warning messages.
        • +
        • Removed obsolete classes: G4UrbanMscModel, + G4UrbanMscModel2, G4UrbanMscModel71, + G4MultipleScattering.
        • +
      • +
      • Bremsstrahlung models: +
          +
        • G4eBremsstrahlungModel: fix in SelectRandomAtom() + method. Addressing problem report + #1115.
        • +
        • G4eBremsstrahlungModel: reduced minThreshold + to 0.1 keV.
        • +
        • Added G4ModifiedTsai class, moved from 'lowenergy' module.
        • +
        • G4PairProductionRelModel, G4eBremsstrahlungRelModel: use + general interface to sample polar angular distribution with + the G4ModifiedTsai generator as a default.
        • +
      • +
      • G4UniversalFluctuation: revision of width correction + providing better results for thin targets and a good tail; + fixed anomaly at the tail of distribution for thin targets.
      • +
      • New class G4UniversalFluctuation93 is a backcup of original version + as in release 9.3 for G4UniversalFluctuation.
      • +
      • G4ASTARStopping, G4PSTARTStopping: replaced C-arrays with + G4PhysicsVector with spline interpolation; reviewed names + of materials (G4_PHOTO_EMULSION, G4_He, G4_NYLON-6-6).
      • +
      • G4WaterStopping: fixed bug in index of data for Fe ion; + cleanup in GetElectronicDEDX() method.
      • +
      • G4BraggIonGasModel, G4BetheBlochIonGasModel: new ionisation + models for low density media; charge of projectile ion is not changed + by these models during tracking in contrary with the default models.
      • +
      • G4BraggModel: extended validity range above 2 MeV + using ICRU'49 parameterisation for comparison purposes.
      • +
      • New G4ICRU73QOModel for low-energy negatively charged + particles; it is applicable from 5 keV to 15 MeV for anti-proton.
      • +
      • G4hIonisation: use new G4ICRU73QOModel for negatively + charged particles instead of G4BraggModel, which now used to be + applied for positive-charged particles only; this modification + improves simulation of Barkas effect at low energies (before the effect + was simulated precisely in G4BetheBlochModel which + is used above 2 MeV for protons/anti-protons); + the high energy limit for the new model is the same as for + G4BraggModel (2 MeV for protons/anti-protons).
      • +
      • G4PAIModel, G4PAIySection: fixed a bug in G4_Ar.
      • +
      • G4ionIonisation, G4alphaIonisation: removed obsolete nuclear + stopping flag and Get/Set methods (nuclear stopping is + simulated by the dedicated G4NuclearStopping process).
      • +
      • G4BetheHeitlerModel, G4PairProductionRelModel: removed unused + internal table of cross section.
      • +
      • G4PEEffectFluoModel, G4KleinNishinaModel: new models providing + sampling of atomic relaxations.
      • +
      • Removed obsolete classes: G4ComptonScattering52, + G4PolarizedComptonScattering.
      • +
      • Fixed defects reported by Coverity tool, mainly related to + initialization of static data.
      • +
    • +
    • Utils +
        +
      • G4VMscModel, G4VMultipleScattering: set skin=1.0 as + a default; added more detailed printout for kaon+.
      • +
      • G4VMscModel: added protection in computation of the displacement + to limit it inside current volume - addressing problem report + #1128. +
      • G4LossTableManager: added new method GetNumberOfBinsPerDecade(), + which is used in G4VEmModel for initialisation of + G4EmElementSelector - addressing problem report + #1115; + added methods PreparePhsyicsTables(), BuildPhysicsTables(), + fixing initialisation of models via G4EmConfigurator.
      • +
      • G4EmProcessOptions: removed extra initialisation code, already existing + in G4LossTableManager.
      • +
      • G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering: added + calls to new G4LossTableManager methods PreparePhsyicsTables() + and BuildPhysicsTables().
      • +
      • Added method GetCurrentElement() in G4VEmProcess, + G4VEnergyLossProcess and G4VEmModel classes.
      • +
      • G4VEmProcess: cleanup printout at initialisation for + scattering process.
      • +
      • G4VEmModel: added method ChargeSquareRatio() to + access current charge of an ion; use this method in + G4VEnergyLossProcess.
      • +
      • G4VEnergyLossProcess: call CorrectionsAlongStep() only + for ions (minor CPU saving); use copy constructors to reduce number of calls to + exp() for building of the cross section + table; minor optimisation in PostStepDoIt() to reduce + number of calls to log().
      • +
      • G4VEnergyLossProcess: fix addressing problem report + #1141.
      • +
      • G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering, + G4VEmModel, G4EmMultiModel: replaced obsolete method + GetDefinition() of G4DynamicParticle with + GetParticleDefinition().
      • +
      • G4EmCalculator: fix in GetCrossSection() method.
      • +
      • G4EmElementSelector: use spline flag to construct vectors + probabilities.
      • +
      • G4EmModelManager: do not use min energy cut defined by models, so + production threshold is defined only by range to energy conversion and + is limited only by low limit of energy threshold defined in 'cut' + category.
      • +
      • G4EmConfigurator: fix for case of more than one model added per a + process.
      • +
      • G4EmCorrections: moved G4AtomicShell header into + source; fixed computation of shell corrections + according to prescriptions of original papers; added Bichsel + approximation for Barkas corrections for the large Z > 47, + and use G4PhysicsVector instead of C-arrays; these + modifications improving energy loss computations for protons at the energies + below 10 MeV, which improving energy loss of heavy negatively + charged objects (ATLAS problem).
      • +
      • G4ElectronIonPair: added method SampleNumberOfIonsAlongStep(). +
      • G4VEmAngularDistribution: new general interface for angular distribution. +
      • Added class G4VBremAngularDistribution, moved from 'lowenergy' + module.
      • +
      • Added G4VAtomDeexcitation: new general interface to atomic deexcitation module.
      • +
      • Fixed defects reported by Coverity tool.
      • +
    • +
    • Xrays +
        +
      • Included scintillation rise time to G4Scintillation.
      • +
      • G4Scintillation: allow for the light yield to be a function + of particle type and deposit energy in case of non-linear light emission + in scintillators. Courtesy of Zach Hartwig (Department of Nuclear + Science and Engineeering, MIT). All particles are assigned the + ELECTRONSCINTILLATIONYIELD unless the user specifies + otherwise.
      • +
      • G4SynchrotronRadiationInMat, G4SynchrotronRadiation, + G4TransitionRadiation: added missing process sub-types.
      • +
    • +
    + + +

    Event

    +
      +
    • Added setting of touchable history of the origin to G4Track.
    • +
    • Added protection against null pointer in G4TrackStack and G4SmartTrackStack.
    • +
    • Fixed incorrect destination stack in G4StackManager for the case + more than three track stacks are used.
    • +
    • General Particle Source +
        +
      • Added automatic energy biasing scheme. Users now can bias the energy + distribution sampling to a given power-law distribution (index alpha) + via the UI command: /gps/ene/biasAlpha alpha. + Possibility to specify arbitrary energy distribution by supplying the + data points in a 2-column (energy in MeV and flux) ASCII file, + via the UI command: /gps/hist/file [your_file_name].
      • +
      • Bug fix in the Spline interpolation implementation.
      • +
      • Bug fix in the logarithm interpolation implementation (alpha = -1 case).
      • +
      • Added few accessors methods and implemented concrete destructor for + G4SPSEneDistribution. Addressing problem report + #1149.
      • +
    • +
    + + +

    General Processes

    +
      +
    • Cuts +
        +
      • Fixed possible case of memory leak in G4PhysicsTableHelper.
      • +
    • +
    • Decay +
        +
      • Make use of 'const' pointer to G4ParticleDefinition.
      • +
      • Fixed some minor Coverity reports.
      • +
    • +
    • management +
        +
      • +
      • Fixed initialization of data in constructors for G4VProces, + G4ProcessTable and G4ProcessAttribute.
      • +
      • Fixed cases of uninitialised data reported by Coverity.
      • +
    • +
    • Optical +
        +
      • Modified G4OpBoundaryProcess to call ProposeLocalEnergyDeposit() + every time a photon is in 'fStopAndKill' state because of NoRINDEX. + This will trigger scoring when a photon encounters a volume not defined + as an optical medium.
      • +
      • Added Mie Scattering of Optical Photons; courtesy of Xin Qian (Kellogg + Radiation Lab of Caltech), based on work from Vlasios Vasileiou + (University of Maryland).
      • +
      • Implemented Henyey-Greenstein phase functions.
      • +
      • Fix for long-standing problem report #207.
      • +
      • Fixed minor Coverity reports.
      • +
    • +
    • Scoring +
        +
      • Introduced new class G4EnergySplitter, a class to calculate + the split of energy in voxels when G4RegularNavigation is used. + It takes into account of the energy loss and multiple scattering + corrections as the particles loses energies from voxel to voxel.
      • +
      • Added new G4ScoreSplittingProcess to split the length and + energy of a step in a regular structure into sub-steps, and to call + the scorers for each sub-volume.
      • +
    • +
    + + +

    Geometry

    +
      +
    • Divisions +
        +
      • Introducing G4ReplicatedSlice, allowing for gaps in between + divided daughter volumes.
      • +
    • +
    • Magnetic field +
        +
      • New class G4MonopoleEq for rhs of d(pc)/ds propagation in + field in SI units.
      • +
      • Revised constructor of G4MagErrorStepper to add number of + State variables. Corrected MagErrorStepper to copy state + variable to output.
      • +
      • Enabled G4ConstRK4 to copy remaining state variables.
      • +
    • +
    • Management +
        +
      • Added Clone() virtual method to G4VSolid, to return a + pointer to a dynamically allocated copy of the solid. To be used by + Geant4-MT. Implemented the method for all concrete solids.
      • +
      • Added copy-ctr and assignment operator to G4ReflectedSolid, + now also implementing the Clone() method.
      • +
    • +
    • Navigation +
        +
      • Added first implementation of G4VoxelSafety, a new class for the + computation of exact safety.
      • +
      • Added new class G4PartialPhantomParameterisation allowing for + envelopes of different types other than box for regular geometries, so + that relaxing the restriction for voxels to completely fill the + envelope container. Adapted G4PhantomParameterisation, + G4RegularNavigation and G4Navigator accordingly.
      • +
      • Added new class G4NavigationLogger for "check-mode" verbosity. + Reorganised verbosity formatting for voxel and normal navigation.
      • +
      • Increased unit value to 100 times kCarTolerance to make push + more effective in G4Navigator::ComputeStep(). Added possibility + to switch off push notifications in G4Navigator; also added + related UI command. + Added inline method for creation of a touchable-history given a + navigation history pointer as argument.
      • +
    • +
    • Solids (Boolean) +
        +
      • Introduced recursive algorithm in CreatePolyhedron() for Boolean + operations: it uses HepPolyhedronProcessor from 'graphics_reps' module, + using new technique in attempt to avoid numerical problems for the + calculation of the polyhedron in BooleanProcessor. It allows to try + all permutations, also for Booleans of Booleans. + Helps in reducing the number of cases of "Error in Boolean processor" + for visualization; still some stubborn cases are left.
      • +
      • Simplified logic in G4UnionSolid::Inside() to exclude obvious + conditional cases.
      • +
      • Implemented copy-constructor and assignment operator for concrete + solids classes to facilitate conversion to Geant4-MT.
      • +
    • +
    • Solids (BREPS) +
        +
      • Implemented copy-constructor and assignment operator for solids + classes to facilitate conversion to Geant4-MT.
      • +
      • Fixed more cases of null pointer forward in G4BREPSolid, + G4BREPSolidPolyhedra and G4BezierSurface classes.
      • +
    • +
    • Solids (CSG) +
        +
      • G4Box: first implementation of speed improvements and + corrections from joint code review of G4Box class: introduced + half-tolerance constants and better logic in some conditional statements. + Some code cleanup. +
      • G4Orb: modified DistanceToIn(p,v) to be more + consistent with Inside(p).
      • +
      • Implemented copy-constructor and assignment operator for all solids + to facilitate conversion to Geant4-MT.
      • +
      • Added missing validity checks on radii to modifiers in G4Tubs.
      • +
      • Fixed remaining cases of cout precision restoring in G4Sphere.
      • +
    • +
    • Solids (Specific) +
        +
      • Introducing new G4GenericTrap shape, a new solid representing + an arbitrary trapezoid with up to 8 vertices standing on two parallel + planes perpendicular to the Z axis.
      • +
      • G4EllipticalCone: fixes in DistanceToIn(p,v) and + DistanceToOut(p,v) for correct handling of point on the + surface. Corrected formula for SurfaceNormal(p).
      • +
      • Implemented copy-constructor and assignment operator for all solids + to facilitate conversion to Geant4-MT.
      • +
      • Avoid possible case of derefencing null pointer in + G4ReduciblePolygon RemoveDuplicateVertices() and + RemoveRedundantVertices() methods.
      • +
      • Fixed case of division by zero in G4TwistedTubs.
      • +
      • More fixes on Coverity reports for classes G4TessellatedSolid + and G4ReduciblePolygon.
      • +
    • +
    • Volumes +
        +
      • Make use of specialized allocator for handling internal vector in + G4NavigatorHistory, globally controlling the memory pool, + to optimise memory management and reduce fragmentation. + Measured ~2% average run-time speed-up.
      • +
      • G4GRSSolid, G4GRSVolume: safer initialisation in copy + constructor.
      • +
      • G4PVPlacement, G4PVReplica: added fake initialisation for + all members in specialized constructor for I/O persistency. Added fake + return statements after exceptions.
      • +
      • G4NavigationHistory: restored original implementation for + constructor.
      • +
    • +
    + + +

    Global

    +
      +
    • Introduced G4PhysicsVectorCache, placeholder for cache R/W data + in use by G4PhysicsVector and derivates. + Modified G4PhysicsVector and G4LPhysicsFreeVector + accordingly.
    • +
    • More safe numerical computation of A13() and logA() methods in G4Pow. + Added methods logfactorial() and powN() to G4Pow class.
    • +
    • G4Allocator: implemented customizable pool size.
    • +
    • G4UnitsTable: added new category "Solid angle".
    • +
    • Fixed restoring of cout/cerr formatting in G4DataVector, + G4PhysicsVector.
    • +
    • Added class G4ConvergenceTester, implementing a facility for + estimating the quality of the simulation, by providing statistical + information to assist in establishing valid confidence intervals for + Monte Carlo results.
    • +
    • Fixed potential case of memory leak in G4OrderedTable::Retrieve().
    • +
    • Fixed cases of tainted scalar in G4DataVector, G4OrderedTable, + G4PhysicsTable and G4PhysicsVector.
    • +
    • Modified FPE handler to get correct SIGINFO data for error messages. + Added experimental code for MacOSX.
    • +
    • Added dummy initialization of members in constructors where applicable.
    • +
    • Changed date for release 9.4.
    • +
    + + +

    Graphical Representations

    +
      +
    • Added support for new command /vis/scene/add/digits, analogous to + the already-existing /vis/scene/add/hits: added methods + Draw() and FilterDigi() for digits in + G4VVisManager; added method AddCompound() + in G4VGraphicsScene.
    • +
    • Added method DispatchToModel(const G4VTrajectory&), i.e., without + i_mode, to G4VVisManager in order to distinguish usage + and in preparation for i_mode migration.
    • +
    + + +

    Hadronic Processes

    +
      +
    • Implemented transition to adopt integer Z and A.
    • +
    • Removed obsolete code for 'leading_particle' model.
    • +
    • Cross sections +
        +
      • G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS: + added path to new data set through environment variable + G4NEUTRONXSDATA; use vectors instead of C arrays; use G4HadronNucleonXsc + class and PDG parameterisation for high energy cross sections of + Hydrogen; code cleanup.
      • +
      • G4UPiNuclearCrossSection: fixed memory leak at destruction.
      • +
      • Updated G4GlauberGribovCrossSection for anti-protons.
      • +
      • G4VComponentCrossSection: new interface for cross sections.
      • +
      • G4VCrossSectionDataSet: added name, min and max kinetic energy + and related accessors.
      • +
      • G4IonProtonCrossSection: some code clenup; moved virtual + methods to source, added constructor and destructor, make + G4ProtonInelasticCrossSection class member. Fixed bug in + kinematics.
      • +
      • Added G4CrossSectionInelastic and G4CrossSectionElastic, + wrappers for components.
      • +
      • New class G4ComponentAntiNuclNuclearXS for the calculation of + the total elastic and inelastic cross-sections of anti-nucleon and + anti-nucleus interactions with nuclei based on Glauber approach.
      • +
      • New class G4CrossSectionPairGG to extend a given cross-section + with a scaled G4GlauberGribovCrossSection. Scaling result in + smooth transition.
      • +
      • G4BGGPionElasticXS, G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS: + fixed low-energy (E < 20 MeV) models.
      • +
      • G4TripathiLightCrossSection: fix for threshold shape.
      • +
      • G4VCrossSectionDataSet: introduced new methods, + IsIsoApplicable() and GetZandACrossSection(), + replacing IsZAApplicable() and GetIsoZACrossSection() + now obsoleted. Modified code to use the new API.
      • +
      • Fix for uninitialized data in cross-sections constructors.
      • +
      • Initialize all elements of array Y[nE] to zero in + G4ElectroNuclearCrossSection::GetEquivalentPhotonEnergy().
      • +
      • G4VComponentCrossSection: use G4ParticleDefinition + and kinetic energy instead of G4DynamicParticle.
      • +
      • G4EMDissociationCrossSection: is now applicable for Hydrogen + but cross-section for Hydrogen is zero
      • +
    • +
    • Management +
        +
      • G4HadronicProcess: added methods + CheckEnergyMomentumConservation(), + SetEpReportLevel(), SetEnergyMomentumCheckLevels() and + GetEnergyMomentumCheckLevels(), which implement energy/momentum + checking. Some code cleanup.
      • +
      • New G4HadronicEPTestMessenger class to provide energy/momentum + test commands available in UI.
      • +
      • G4HadronicProcess: use new const GetParticleDefinition() + method of G4DynamicParticle. Added protection against negative + cross section; some cleanup. Check cross-section value before calling + ApplyYourself() in PostStepDoIt(). If less than or + equal to zero, return track unchanged.
      • +
      • Fixed data initialisation in G4EnergyRangeManager.
      • +
      • G4HadronicInteraction: added two methods, + GetEnergyMomentumCheckLevels() + and SetEnergyMomentumCheckLevels() in order to implement + checking of energy/momentum conservation.
      • +
      • G4VPreCompoundModel: make de-excited G4Fragment non-const.
      • +
      • G4VIntraNuclearTransportModel: moved constructor and destructor + to source.
      • +
      • Fixed initialisation of data in G4VNuclearDensity constructor.
      • +
    • +
    • Abrasion +
        +
      • Removed redudant headers inclusion in G4WilsonAbrasionModel. + Fixed initialization in constructor.
      • +
      • Fixed memory leak in method GetExcitationEnergyOfTarget() for + G4NuclearAbrasionGeometry.
      • +
    • +
    • Binary Cascade +
        +
      • G4GeneratorPrecompoundInterface: define default deexcitation + with G4PreCompoundModel in the constructor of the class. + Minor cleanup as a part of PreCompound model cleanup: + added pointers to proton and neutron.
      • +
      • Lowered CaptureThreshold in G4GeneratorPrecompoundInterface + from 80 to 10 MeV.
      • +
      • Fixed memory leak for products in Propagate().
      • +
    • +
    • Bertini Cascade +
        +
      • General improvement of code design. Several collider classes re-designed + so that they can be re-used.
      • +
      • Replaced all uses of bindingEnergy() (local Bertini method) + with the standard G4NucleiProperties::GetBindingEnergy(A,Z).
      • +
      • G4Diproton, G4Dineutron, G4UnboundPN: new particle + subclasses, implementing the Bertini-specific dibaryon states.
      • +
      • G4ElementaryParticleCollider: replaced original (incorrect) + pp, pn, nn 2-body to 2-body scattering angular distributions + with a new parameterization of elastic scattering data using the sum of + two exponentials.
      • +
      • Improved angular distributions for 2-body final states of pi-nucleon, + nucleon-nucleon, kaon-nucleon and hyperon-nucleon scattering.
      • +
      • Replaced G4CascadeMomentum internal class with + G4LorentzVector.
      • +
      • Added energy/momentum checks to remove large energy non-conservation + events.
      • +
      • Improved memory management: removed allocation of strings in various + constuctors; replaced several cases of return-by-value with const or + non-const reference, or by use of buffers. CPU speed improvements from + the removal of unnecessary class instantiations.
      • +
      • Replace std::vectors with fixed-length arrays in places where speed is + affected. Use G4cerr for error reporting. Added more verbosity.
      • +
      • Improved, but not completely fixed, energy conservation in nuclear + breakup. Introduced 4-momentum conservation at each elementary + interaction and at the end of most sub-model stages. Some violation + still remains for the case of break-up of light nuclei.
      • +
      • Bug fix of energy non-conservation in N-body phase space generator.
      • +
      • Introduced temporary particle types for nuclear fragments far from + stability. These later disappear after the fragments are broken up.
      • +
      • Added 4-momentum checking after each sub-model.
      • +
      • Improved handling of nuclear excitation energy, now part of nuclear + mass.
      • +
      • Recover secondaries from elementary hadron-nucleon interactions which + were deleted in original Bertini model.
      • +
      • A bug resulting in factor of 2 reduction of double differential + cross-section in validation at several GeV, is now fixed.
      • +
      • New interface to G4Precompound model added and tested.
      • +
      • Fixed bug leading to very low hyperon energies and high CPU usage.
      • +
      • Removed several unused classes and did additional code clean-up.
      • +
      • Major reorganization of G4NucleiModel::generateModel() code. + Added scaling factors ("units") for nuclear radii and cross-sections, + in order to adapt calculations to the literature.
      • +
      • G4NucleiModel: put messages related to negative-path-length + and zero-interaction-partners behind verbosity flag.
      • +
      • Fixed defects reported from Coverity tool.
      • +
    • +
    • Chiral Invariant Phase Space (CHIPS) +
        +
      • Updated proton elastic and CHIPS parameters.
      • +
      • Implemented anti-baryon elastic interactions.
      • +
      • Added pion elastic and fixed a bug in CHIPS fragmentation.
      • +
      • Implemented isotope-wise CHIPS elastic for neutrons.
      • +
      • Fix in G4QElasticCrossSection in parameter order for nH.
      • +
      • Bug fix in G4QNeutronNuclearCrossSection for Ba isotopes.
      • +
      • Bug fix for K0 in G4QKaonMinusElasticCrossSection::GetExchangeT().
      • +
      • Fix to use of Z+N instead of N for A.
      • +
      • Corrected Titanium and Zirconium isotopes in G4QIsotope.
      • +
      • Added decay of Chipolino in the G4QEnvironment, when A_env=0.
      • +
      • Bug fix following G4NucleiProperties warning for A=0, Z=0.
      • +
      • Bug fix in G4QPDGCode and G4QEnvironment for Omega and Sigma; + when mass is small for Lambda andSigma+, use Xi0,p.
      • +
      • Correction in G4QElastic for K0 elastic cross-sections.
      • +
      • Corrected treatment of vacuum in fragmentation module.
      • +
      • nn is decayed in G4QLowEnergy; Omega- is included in + G4QElastic; N neutrons (A=N, Z=0) are decayed in + G4QLowEnergy.
      • +
      • Bug-fix in G4QLowEnergy: pions as secondaries.
      • +
      • Bug-fix in K0 elastic & Ion-Ion Elastic.
      • +
      • Bug fix in 'body' module following tests on HARP data.
      • +
      • G4QEnvironment: PDG=0 bug fix; photon and safety corrections.
      • +
      • Simplified initialisation of pairs in classes G4QNeutronCaptureRatio, + G4QNeutronElasticCrossSection, G4QNeutronNuclearCrossSection and + G4QuasiFreeRatios.
      • +
      • Added missing std:: to call to 'for_each' algorithm in G4QInelastic.
      • +
      • G4QContent: removed dead code in quark constructor; addressing problem + report #1131. + Removed dead code also in method MakePartonPair().
      • +
      • Removed dead code in G4QNucleus and G4QEnvironment.
      • +
      • G4ElectroNuclearReaction: cross section classes are included + by pointer and not by value; addresses old problem reported in HyperNews.
      • +
    • +
    • De-excitation +
        +
      • G4ExcitationHandler: apply FermiBreakUp to fragments with + A>1 (before was A>4) in order to reduce number of + fake gamma produced in deexcitation of light fragments; added parameter + 'minExcitation' equal to 1 keV; added check on stability of + primary; do evaporation if FermiBreakUp cannot deexcite a fragment; + added SetParameters() method.
      • +
      • G4StatMFMacroTemperature: cleanup logic of solving equation for + temperature to avoid exception; moved constructors and destructor to source.
      • +
      • G4FermiFragmentsPool: extended list of stable fragments to be coherent with the list + of fragments in the GEM model; fix for fragment 111.
      • +
      • G4FermiConfiguration: parameter of Coulomb energy Kappa is + changed from 1 to 6 according to recommendation of original author of + the model A.Botvina.
      • +
      • G4FermiPhaseSpaceDecay: improved model of sampling of kinetic + energy; cleanup of the code to use G4Pow.
      • +
      • G4UnstableFragmentBreakUp: new class to decay exotic fragment + (like 2n or 2p).
      • +
      • G4Evaporation: rewritten BreakUp() method; added + Initialise() method at construction, to setup all options and + not at run time. + Added InitialiseEvaporation() method to setup decay channels; + changed order of decay channels: first photon evaporation, then fission, + finally all other channels as before. Improved condition on how to + stop deexcitation loop; + added call to G4UnstableFragmentBreakUp if natural abundances + of cold fragment is zero and Z < 20; optimized logic of + stopping of evaporation loop; set as a default variant evaporation + combining standard plus GEM probabilities.
      • +
      • G4Evaporation, G4EvaporationChannel, G4EvaporationProbability: + improved computation of minimal and maximal evaporation energy.
      • +
      • G4EvaporationChannel: removed new and delete of probability + objects at each to the class, use instead local + G4EvaporationProbability of the channel.
      • +
      • G4GEMChannel: use the same formulas as in G4GEMProbability + class.
      • +
      • G4GEMProbability: fixed numerical problem (division by zero), code + cleanup.
      • +
      • G4VEvaporationChannel, G4PhotonEvaporation: added two new + virtual methods EmittedFragment() and BreakUpFragment().
      • +
      • G4DiscreteGammaTransition: make transition depended on Z and A (before + was only Z) and added energy tolerance
      • +
      • G4VGammaDeexcitation: rewritten kinematics of 2-body decay; + fix in kinematics to take into account the electron mass and the binding energy + in the case of electron emission.
      • +
      • G4DiscreteGammaTransition, G4DiscreteGammaDeexcitation, + G4ContinuumGammaDeexcitation: set energy tolerance 1 keV; + more accurate Lorentz computations; define destructors to be virtual.
      • +
      • G4DiscreteGammaTransition: removed unphysical corrections of + gamma energy; fixed default particle as gamma; avoid extra subtracting binding + energy in case of electron emission; use const-ref for G4NuclerLevel + data member
      • +
      • G4ContinuumGammaTransition: use exponential law for sampling + of decay time.
      • +
      • G4PhotonEvaporation: added correction of electron state after + emission; fixed probability computation.
      • +
      • G4E1Probability: code cleanup; added numerical protection + to avoid division by zero; fixed probability computation.
      • +
      • G4NuclearLevelManager: replaced stream input in Read() + with char[] input and manual conversion to double; reduces 142 MB of + memory churn and some CPU speedup.
      • +
      • G4NuclearLevelStore, G4NuclearLevelManager, G4NuclearLevel: + eliminate passing and copying of vectors; fill NuclearLevel directly by + Manager; modified G4ContinuumGammaTransition accordingly.
      • +
      • Add README file explaining the photo-evaporation data files.
      • +
      • Removed unused classes: G4DummyProbability, G4E1ProbabilityXXX, + G4E1SingleProbabilityXXX, where XXX=001,01,1,10,100 + differing only by the scale factor for the probability; + scale factor may be applied in the main class if needed.
      • +
      • G4NeutronRadCapture: use G4PhotonEvaporation instead + of simplified one gamma emission method.
      • +
      • Fixed problems reported by the Coveruty tool (mainly missing data + initialisation); moved constructors and destructors to source; + code cleanup.
      • +
    • +
    • Elastic scattering +
        +
      • Added new model G4NuclNuclDiffuseElastic, final state + production model for nucleus-nucleus elastic scattering, where + Coulomb amplitude is not considered as correction.
      • +
      • Use G4Q(Proton/Neutron)ElasticCrossSection instead of + G4QElasticCrossSection; fixed initialization problem for + G4QNeutronElasticCrossSection.
      • +
      • G4UHadronElasticProcess: fixed CHIPS warning for Cu, due to + wrong isotope selected; addressing problem report from ALICE.
      • +
      • New class G4CHIPSElasticXS extracted from + G4UHadronElasticProcess, following G4VCrossSectionDataSet interface.
      • +
    • +
    • High Energy Theoretical +
        +
      • In G4HEInelastic fixed case of array overrun; got rid of dead + code and a memory leak in methods HighEnergyCascading(), + MediumEnergyCascading() and QuasiElasticScattering().
      • +
      • Fixed uninitialized data and removed dead code where applicable.
      • +
    • +
    • Im_r_matrix +
        +
      • Removed empty source file for G4VScatterer. + Synchronised developments to HEAD version.
      • +
    • +
    • INCL/ABLA +
        +
      • Nuclear deformation and shell effect data reader now constructs the + corresponding data tables correctly.
      • +
      • Added some internal logging facilities to INCL (disabled by default).
      • +
      • Added missing virtual destructor to base classes where necessary.
      • +
      • Refactored INCL input data structure to use a new class G4InclInput.
      • +
      • Access to input data only through accessor methods.
      • +
      • INCL now uses integer A and Z internally as well as in the interface.
      • +
      • Fixed fragment vector and Fermi break-up related memory leaks in + INCL/ABLA interfaces.
      • +
      • Corrected initialisation of INCL internal data and added checks on + array boundaries in datafile reader.
      • +
      • Fixed insufficient array index safeguard in ABLA.
      • +
      • Updated interfaces: INCL + built-in ABLA de-excitation and + INCL + PreCompound model.
      • +
    • +
    • neutron_hp +
        +
      • Bug fix in MF=6, LAW=2 case in G4NeutronHPDiscreteTwoBody; + on kind contribution by E.Mendoza, D.Cano-Ott (CIEMAT).
      • +
      • Fixed bug in G4NeutronHPCaptureFS; addressing problem report + #1155. +
      • Set lower limit for gamma energy in G4NeutronHPFinalState.
      • +
      • Added special treatment for Be9(n,2n)Be8(2a) case in + G4NeutronHPInelasticBaseFS; removed unnecessary warnings.
      • +
      • Added safety for _nat_ data in G4NeutronHPInelasticCompFS.
      • +
      • Changed warning message in G4NeutronHPPhotonDist.
      • +
    • +
    • Parton-String +
        +
      • Added missing virtual destructor to G4DiffractiveHHScatterer.
      • +
      • Implemented new tuned parameters of nuclear destruction in FTF model; + parameters were tuned using HARP-CDP data on p+Cu interactions. + Still additional tuning required for heavy nuclei.
      • +
      • Use integer interface of G4Nucleus in G4FTFModel.
      • +
      • Tuned parameters to FTF for pA and PiA interactions; also tuned quark + exchange and Reggeon cascade parameters.
      • +
      • Improved low mass string fragmentation.
      • +
      • Introduced an action in FragmentStrings(); string + fragmentation is repeated to avoid energy-momentum violation.
      • +
      • Introduced phase space restrictions at small mass string fragmentation.
      • +
      • Moved inline methods in G4ExcitedStringDecay to source.
      • +
      • Fixed warning messages in G4LundStringFragmentation.
      • +
      • Remove unused class G4PartonStringAnnihilator.
      • +
    • +
    • Pre-equilibrium +
        +
      • Removed unused dummy classes G4VPreCompoundIon and + G4VPreCompoundNucleon.
      • +
      • General cleaup of all classes: use G4Pow class to speedup + computations.
      • +
      • G4PreCompoundModel: Emission and Transition classes become + members created at construction and no longer at run time; + initialisation is performed at construction or when options are + changed; G4Fragment is no longer const, + it is modified during process of emission of particles.
      • +
      • G4PreCompoundEmission: removed SetUp() inline method + and moved its functionality.
      • +
      • G4PreCompoundTransitions: fixed bug in the + PerformTransition() method, to use number of particles + instead of number of excitons.
      • +
      • G4PreCompoundModel: disabled upper limit on excitation + energy.
      • +
      • G4PreCompoundTransitions: fixed bug in the PerformTransition() + method, use number of particles instead of number of excitons.
      • +
      • Fixed Coverity warnings for missing initialisation of data in constructors.
      • +
    • +
    • QMD Reaction +
        +
      • Enabled RQMD in G4QMDReaction and G4QMDMeanField.
      • +
    • +
    • Radioactive Decay +
        +
      • G4RadioactiveDecay: in LoadDecayTable() create a decay table + for isomers not included in RDM database and assume they all under go + IT decay. After DoDecay() check if there is any secondary + produced; kill the track if not to prevent infinite loop. + Insert a special treatment for K-40 beta decay; applied + SetICM(), SetARM() and SetHLThreshold() + to a decay channel; addresses problem report + #1068. + Make sure the proper time is positive.
      • +
      • G4NuclearDecayChannel: added initialisation to all three + constructors.
      • +
      • G4RadioactiveDecay, G4NuclearDecayChannel: limit the shell + index to < 7, as required by the ARM. Changed to use + BreakUp() so to limit to one transition per step when ICM is + applied; addresses problem report + #1001.
      • +
      • G4RadioactiveDecayMessenger: added the UI commands for + SetICM(), SETARM() and SetHLThreshold(); + removed restrictions to hlCMD. + G4RadioactiveDecay: apply SetICM(), SetARM() + and SetHLThreshold() in all decay modes.
      • +
      • Completed implementation for generating the activity table in VR mode.
      • +
      • Added class G4RadioactivityTable for tallying the accumulated + radio-activities in VR mode; modified G4RadioactiveDecay + accordingly, with changes needed to setup the radioactivity tables.
      • +
      • Improved code formatting.
      • +
    • +
    • Re-Parameterized Gheisha +
        +
      • Fixed initialisation of data in G4RPGFragmentation constructor.
      • +
    • +
    • Stopping +
        +
      • G4MuonMinusCaptureAtRest::DoMuCapture(): fixed unused branch + in mass calculation
      • +
      • Fixed initialisation of data in G4PiMinusStopMaterial and + G4StopDummyDeexcitation constructors.
      • +
    • +
    • Utils +
        +
      • G4Fragment: do not add any shift to excitation energy but use + direct computation (this is needed to avoid infinite loop in gamma + deexcitation); use G4NucleiProperties to access or compute + ground state mass. Allow e- as a fragment. + Improved printout of negative excitation energy. + Minor speedup and some code cleanup.
      • +
      • Fixed minor leak in G4KineticTrack.
      • +
      • G4DecayStrongResonances: cleanup of unused headers.
      • +
    • +
    + + +

    Intercoms

    +
      +
    • Added new commands to G4UIcommand: + /control/if, /control/add, /control/subtract, /control/multiply + and /control/divide.
    • +
    • Implemented range check of UI commands for units.
    • +
    • G4UIManager: added field to get GUI Window session.
    • +
    + + +

    Interfaces

    +
      +
    • G4VBasicShell: implemented improvements for command completion.
    • +
    • G4UIQt: added tab widgets for visualization. Added new command in + help tree for immediate update of the tree. Fixed warning in standard-output + during viewer creation and fixed flush problem. Fixed recursive repaint + problem. Fixed call to contructor QKeySequence() in + AddButton() to allow for porting on gcc-4.5.0. + Fixed problem with redraw of help tree.
    • +
    • G4UIExective: changed order for session type; GUI session is + prioritized.
    • +
    + + +

    Materials

    +
      +
    • G4MaterialPropertyVector: removed allocation of temporary helper + object and modified GetAdjacentBins() to allow for a value to + match a bin exactly. Measured 21% CPU speed-up for optical processes.
    • +
    • G4OpticalSurface: changed GetAngularDistributionValue(), + no longer dereferencing a pointer but returning the value at the array + index.
    • +
    • G4NistMaterialBuilder: added G4_LUCITE and 6 new materials more. + Added DNA biochemical materials. Added G4_CYTOSINE, G4_THYMINE, G4_URACIL.
    • +
    • G4NistManager: use G4Pow for fast computations.
    • +
    • G4NistMaterialBuilder, G4NistManager: added method + GetMeanIonisationEnergy().
    • +
    • G4ionisParamMat, G4DensityEffectData: added possibility to access + density effect data in the case when pure material is not defined via NIST; + atom number and state of such materials are checked.
    • +
    • G4DensityEffectData: fixed method GetIndex(Z, state) for + Hydrogen and solid states, renamed it to GetElementIndex().
    • +
    • G4IonisParamMat: added member and method GetInvA23(); + use GetElementIndex().
    • +
    • G4IonisParamElm: use mean excitation energy from NIST DB + instead of data of the ICRU37 report; + addressing a problem reported for mean energy deposition in compound + materials.
    • +
    • G4AtomicShells: improved performance by adding indexing array.
    • +
    • G4SandiaTable: fixed bug in G4_Ar and in + SandiaMixing().
    • +
    • Removed obsolete unused data classes G4IronStoppingICRU73, + G4MaterialStoppingICRU73, G4SimpleMaterialStoppingICRU73, + data are uploaded from G4LEDATA data set.
    • +
    • Fixed defects reported by Coverity tool, mainly related to initialization + of static data. Adopt G4 types wherever necessary. Some code formatting.
    • +
    + + +

    Particles

    +
      +
    • Updated mass/width of muons, taus, mesons, and baryons to PDG-2010.
    • +
    • Added light anti_nuclei inside hadrons/ions sub-module.
    • +
    • Added methods IsLightAntiIon() and GetLightAntiIon() to + G4IonTable.
    • +
    • Fix to G4IonTable::IsLightIon() method; do not classify neutron + and genericIon as light ions.
    • +
    • Modified G4ParticleDefiniton::Dump() to print AtomicNumber/Mass.
    • +
    • ElectronOccupancy in G4DynamicParticle is now created on demand, i.e. + it is not created at construction of G4DynamicParticle but when + AddElectron() or RemoveElectron() are invoked.
    • +
    • Allow creation of shortlived particles other than in 'PreInit' state.
    • +
    • Added G4DynamicParticle::GetParticleDefinition() giving + 'const' pointer. Code clean up to use const pointer of + G4ParticleDefinition where possible.
    • +
    • Fixed signature for std::pair in G4IonTable source code for + compliance to ISO/C++ Standard.
    • +
    • Fixed problems that error messages appear in cout and not in cerr.
    • +
    • Code cleanup in G4DynamicParticle constructors.
    • +
    • Fixed cases of uninitialised data reported by Coverity.
    • +
    + + +

    Persistency

    +
      +
    • ASCII +
        +
      • Added missing static data initialisation to constructors where + applicable.
      • +
      • Fixed potential cases of dereferencing a NULL pointer in + G4tgbMaterialMgr.
      • +
      • Fixed cases of unreachable code in G4tbrVolumeMgr.
      • +
      • Fixed leaks in G4tgrFileReader.
      • +
      • G4tgrUtils: fixed logic in WordIsUnit() and fixed + restoring of cout precision in Dump3v().
      • +
      • Fixed some minor Coverity reports.
      • +
    • +
    • GDML +
        +
      • New class G4GDMLMessenger instantiated with G4GDMLParser + and defining UI commands for importing and exporting GDML files, through + the various options the parser provides.
      • +
      • Corrected GetWorldVolume() in G4GDMLReadStructure, to + make use of the structure stored in memory in case geometry is already + imported.
      • +
      • Added G4GenericTrap among the set of supported solids in both + GDML reader and writer, treating as 'arb8' GDML type.
      • +
      • Added GetAuxMap() method to G4GDMLParser and removed + 'const' qualifier to types in internal map of logical-volumes. Changed + value type to 'string' in G4GDMLAuxPairType to avoid extra + type evaluation while parsing.
      • +
      • Fixed dummy initialisation of members in classes constructors where + applicable.
      • +
      • Added exceptions asserting validity of dynamic casted pointers.
      • +
      • Added possibility to de-activate/activate names stripping when reading + files, by invoking a new method G4GDMLParser::SetStripFlag(bool) + before importing the GDML file. Stripping is activated by default.
      • +
      • Fixed minor left Coverity reports. Some code cleanup.
      • +
    • +
    • mctruth +
        +
      • Fixed possible case of NULL forward in G4PersistencyCenter + class.
      • +
    • +
    + + +

    Physics lists

    +
      +
    • New physics lists and builders: +
        +
      • QGSP_BERT_CHIPS: use CHIPS inelastic in cluding cross sections + for Kaon and all "misc" particles, including anti-proton, + anti-neutron and hyperons. +
      • +
      • Shielding: A list optimised to shielding applications. Uses FTFP and + Bertini for proton, neutron,pion, and Kaon. For neutron at low energy, + neutron_HP is used. Uses G4BGGNucleonInelasticXS + inelastic cross sections for proton and neutron, + G4NeutronHPJENDLHEInelasticData for neutron at low energy, + interface to CHIPS cross-sections G4QHadronInelasticDataSet for Kaon. + For ions the QMD model is used. +
    • +
    • Physics lists qualification changes (obsolete/partially + disabled/experimental/supported): +
        +
      • Obsolete and disabled (removed): FTFP_EMV, QGSC_EFLOW, QGSP_EMX, + FTFC, FTFP, LHEP_BERT_HP, LHEP_BERT, LHEP_PRECO_HP, + QGSC_EMV, QGSC, QGSC_QGSC, QGSP_BERT_DIF, QGSP_BERT_NQE, + QGSP_DIF, QGSP_EMV, QGSP_EMV_NQE, QGSP_NQE, QGSP_QE.
      • +
      • Obsolete (blocked): QGSP, QGSC_CHIPS
      • . +
      • Explicitely marked experimental:
      • +
      • Marked as supported: QGSP_FTFP_BERT
      • +
    • +
    • Introduced new constructor for all builders with verbosity argument. + Existing constructors are kept, but updated default arguments to avoid + ambiguous signatures. Changed physics-lists to use the new constructor. + Introduced new constructor for G4NeutronTrackingCut.
    • +
    • EM physics builders and options: +
        +
      • Included anti_deuteron, anti_triton, anti_alpha, anti_He3 in all EM + builders except the DNA builder.
      • +
      • Added G4WentzelVIModel for multiple-scattering and + G4CoulombScattering process for muons in all builders.
      • +
      • Use G4ionIonisation for He3 and He4 ions in all EM builders.
      • +
      • G4EmStandardPhysics_option2: added G4WentzelVIModel for + multiple-scattering and excluded single + scattering model for pi+-, kaon+-, protons + (hadron elastic process is responsible for large angle scattering); + added BS angular generator for bremsstrahlung.
      • +
      • G4EmStandardPhysics_option3: commented out Rayleigh to have better CPU + performance.
      • +
      • G4EmLivermorePhysics, G4EmPenelopePhysics, G4EmDNAPhysics, + G4EmLivermorePolarizedPhysics: added G4GoudsmitSaundersonMscModel + for e+-; added 1 MeV upper limit for the Livermore ionisation + model (was 1 GeV).
      • +
      • Correctly implement new option SetScintillationByParticleType() in + G4OpticalPhysics; make ConstructProcess() and + ConstructParticle() methods public. Added G4OpMieHG + scattering process.
      • +
      • Changed default elastic model in G4EmDNAPhysics and switched + elastic model in G4DNA physics builder.
      • +
      • Added new e- G4DNA processes to G4EmDNAPhysics in builders.
      • + Added also new H-excitation model. +
    • +
    • Hadronic builders: +
        +
      • Allow for separate physics for pion and Kaon, i.e. add builders + seperating pion and Kaon, + G4{V,}{Pion,Kaon}Builder, G4{LEP,Bertini, QGSP}PionBuilder, + and G4ChipKaonBuilder. In QGSP_BERT_CHIPS, use CHIPS + G4QInelastic via G4ChipKaonBuilder for Kaons.
      • +
      • In builders G4QGSP{Proton, Neutron,Pik}Builder and + G4QGSBinary, FTFP and FTFBinary builders use cross-section + with relativistic rise, using a combination of previously used + cross-section and G4GlauberGribovCrossSection above + 91 GeV.
      • +
      • G4FTFPNeutronBuilder, G4FTFPPiKBuilder, G4FTFPProtonBuilder, + G4QGSPNeutronBuilder, G4QGSPPiKBuilder, G4QGSPProtonBuilder, G4QGSBuilder: + added deletion of G4ExcitationHandler and G4QGSMFragmentation; + added deletion of neutron builder for QGSP_BERT, FTFP_BERT, QGSP_FTFP_BERT.
      • +
      • Replaced G4HadronQElasticPhysics with G4QElasticPhysics + and G4IonPhysics with G4QIonPhysics in the CHIPS + physics-list. Particles are restricted to SU(3) hadrons (no pi0 & eta) in + G4QElasticPhysics. Fix in G4QPhotoNuclearPhysics to + reset particles iterator.
      • +
      • G4IonBinaryCascadePhysics: added G4IonProtonCrossSection.
      • +
    • +
    • G4HadronElasticPhysics renamed to G4HadronElasticPhysics93 + G4HadronElasticPhysics is now a copy of G4HadronHElasticPhysics. + Applied related changes to QGSP_BERT_EMV. G4HadronHElasticPhysics + is now marked as obsolete.
    • +
    • Fixed bugs in G4IonQMDPhysics: wrong energy limit for overlap + with BIC; also use QMD for d, alpha.
    • +
    • G4HadronElasticPhysicsHP: added CHIPS cross sections for p and + n on Hydrogen and Helium targets.
    • +
    • Updates to lists: +
        +
      • Revised QGSP_FTFP_BERT and FTFP_BERT lists to use CHIPS G4QInelastic + for all "misc" particles, including anti-proton, anti-neutron and + hyperons, and use interface to CHIPS cross-sections + G4QHadronInelasticDataSet for kaons. Required changes to + respective HadronPhysics* classes. +
      • LBE: substituted obsolete G4MultipleScattering by particle + wise processes. Updated to comply with the new EM design (use + Livermore models rather than LowEnergy processes).
      • +
      • QBBC: disabled multi-fragmentation model of deexcitation.
      • +
      • QGS_BIC and FTF_BIC now use G4NeutronXS cross sections.
      • +
    • +
    • G4DataQuestionaire: fix for problem report + #1125 + for optical physics, to correctly check on G4REALSURFACEDATA path.
    • +
    • Added check on new G4NEUTRONXSDATA data set for QBBC and in + G4NeutronCrossSectionXS.
    • +
    + + +

    Run

    +
      +
    • Added G4ScoreSplittingProcess if geometry includes a regular + structure.
    • +
    • Added protection against particle without process manager.
    • +
    • Introducing two new methods in G4RunManager class, ReOptimize() and + ReOptimizeMotherOf(); these will cause re-optimization (re-voxelization) + of one particular logical volume without forcing re-optimization of the + entire geometrical hierarchy.
    • +
    • G4RunManagerKernel: in RunInitialization(), notify + G4VisManager when geometry needs to be closed. +
    + + +

    Track & Tracking

    +
      +
    • Added G4Track::GetParticleDefinition() returning 'const' pointer, + if possible.
    • +
    • Added warning exception if GetDeltaEnergy/Momentum() methods are + invoked. These methods are now obsolete and planned to be removed.
    • +
    • Added touchable history of the origin to G4Track.
    • +
    • Added protection against possible null pointer in G4Track::GetVelocity(). + Use PhysicsVector for calculation of GetVelocity() for better + performance.
    • +
    • G4SteppingManager: use canonical form for G4Exception. + Added protection for possible negative index in method + ApplyProductionCut() and some printout formatting.
    • +
    • G4Step::GetSecondary() gives back a const G4TrackVector*, + while G4Step::GetfSecondary() gives back non-const pointer.
    • +
    • Fixed restoring of output settings in G4SteppingVerbose. + Fixed cases of restoring cout/cerr precision formatting in several classes.
    • +
    • Use 0 instead of NULL where applicable.
    • +
    • Fixed minor reports from Coverity.
    • +
    + + +

    Visualization

    +
      +
    • Management +
        +
      • Added new /vis/open command for OpenGL viewers, + /vis/open OGL. + This new form allows the same macro to be used whether one is on + Linux or Windows (calling OGLSX on Linux and OGLSWin32 on Windows). + When the application has been built with Qt, it will use the Qt form + of OpenGL; when built with Motif, it will use the Motif form of OpenGL. + Also added options OGLI and OGLS to force Immediate or Stored modes. + The user is still free to use the older, specific viewer names, such + as OGLIX, but the simple form, OGL, will give the most portable macros.
      • +
      • Added new /vis/open command for OpenInventor, /vis/open OI. + This new form allows the same macro to be used whether one is on Linux + or Windows (calling OIX on Linux and OIWin32 on Windows).
      • +
      • Added /vis/scene/add/digis and /vis/filtering/digi + commands, analogous to the already-existing commands + /vis/scene/add/hits and /vis/filtering/hits. + As with hits, it remains the user's responsibility to provide the + digitisation classes. + Added method AddCompound(const G4VDigi&) to drivers.
      • +
      • Introduced DispatchToModel without i_mode. The archaic form + G4VTrajectory::DrawTrajectory(i_mode) is replaced by the + newer form, G4VTrajectory::DrawTrajectory(). i_mode + used to be a parameter to control whether the trajectory was drawn as + a line, a line plus step points, or only step points: +
          +
        • 'i_mode > 0' meant draw lines and points, size of points in + 'pixels = abs(i_mode)/1000'
        • +
        • 'i_mode = 0' meant draw only lines
        • +
        • 'i_mode < 0' meant draw only points, size of points in + 'pixels = abs(i_mode)/1000'
        • +
        + Since release 8.1, better control has been available from the command + /vis/modeling/trajectories. Since release 5.0, i_mode + less than 1000 has in fact drawn no points and i_mode of 1000 + has drawn points that were so small (a single pixel wide) that they + were overshadowed by the trajectory itself except at endpoints of the + trajectory or where the trajectory made a sharp change of direction. + Use of i_mode is now trapped and a warning gets printed.
      • +
      • Changed order of flags to follow G4UIExecutive.
      • +
      • Moved all non-fatal output messages from G4cerr to G4cout + for DAWN, VRML and gMocren drivers.
      • +
      • G4VisManager, G4VisExecutive: introduced optional verbosity + string argument in constructor; made 'fVerbosity' and + GetVerbosity() static.
      • +
      • Added virtual destructors to fix compilation warnings.
      • +
      • Added /vis/viewer/set/defaultColour and defaultTextColour + commands.
      • +
      • Fixed G4VisExecutive inlined constructor.
      • +
      • Fixed some Coverity reports.
      • +
    • +
    • Modeling +
        +
      • Added G4DigiModel and G4DigiFilterFactories.
      • +
      • Added default colours to G4TrajectoryDrawByParticleID.
      • +
      • Replace polyhedra with solids for sections and cutaways.
      • +
      • Trap use of i_mode and print warning.
      • +
      • Fixed time-slicing problem.
      • +
    • +
    • Externals +
        +
      • G4OpenGL2PSAction: added new method to set viewport.
      • +
      • Updated gl2ps to version 1.3.5.
      • +
    • +
    • gMocren +
        +
      • Removed dependency on G4VisManager. Improved printout.
      • +
    • +
    • HepRep +
        +
      • Added command /vis/heprep/renderCylAsPolygons. +
    • +
    • OpenGL +
        +
      • G4OpenGLQtViewer: better inclusion of new tabs in UI part. + Many improvements to OpenGL Qt.
      • +
      • Speed improvements for polymarkers (e.g., trajectories).
      • +
      • Some improvements with auto rotation mode.
      • +
      • Corrected strdup usage in G4OpenGLViewer.
      • +
      • Use generic section and cutaway algorithm.
      • +
      • Added protection against multiple repaint call, and protection against + resizeGl with bad values.
      • +
      • Improved kernel visit trigger.
      • +
      • Time-slices fade to background colour.
      • +
      • Added verbosity control.
      • +
      • Tidied display list limit.
      • +
    • +
    • OpenInventor +
        +
      • Added protection against repeated initialisation.
      • +
      • Protected output with G4VisManager::confirmations.
      • +
      • Improved kernel visit trigger.
      • +
    • +
    • RayTracer +
        +
      • Added missing virtual destructor to G4VRTScanner, G4RTXScanner + and G4RTSimpleScanner classes. +
    • +
    + + +

    Environments

    +
      +
    • G4Py: revised usage of MultipleScattering classes to make use of new + particle based processes. Fixed bug in wrapping of G4GDMLParser. + Updated run-manager and physics-lists. Added new example using GTK + First experimental support for Python3. Updates to support changes + in kernel.
    • +
    • Momo: revised obsolete trajectory drawing. Using QGSP_BERT + physics-list instead of GPE. JAVA source codes is now included.
    • +
    + + +

    Data sets

    +
      +
    • New data set G4NEUTRONXS-1.0 for evaluated neutron cross section data + on natural composition of elements: +
        +
      • Path to data controlled by variable G4NEUTRONXSDATA.
      • +
    • +
    • New data set G4PII-1.2 for shell ionisation cross-sections to be used + in precise impact ionisation simulation. +
        +
      • Path to data controlled by variable G4PIIDATA.
      • +
    • +
    • New low-energy data set, G4EMLOW.6.19: +
        +
      • New directory and data files needed by ionisation cross section + models for PIXE; added data tables in the directories uf, kpcsPaul + and kacsPaul included in the 'pixe' dir.
      • +
      • Added 'sigmadiff_cumulated_elastic_e_champion.dat' and + temporary 'sigma_excitation_e_born.dat' to dna module.
      • +
      • Added data files in the penelope module, necessary for + Penelope08 models for gamma rays.
      • +
      • Added sigma_excitation_e_born.dat file for G4DNABornIonisationModel.
      • +
      • Updated G4DNA data tables.
      • +
      • added two new Geant4-DNA files for for vibrational excitation and + attachment sigma.
      • +
      • Added extra stopping power data for ions; data are obtained from + computations of PASS code by A.Schinner.
      • +
      • Updated sigma ionisation Rudd data.
      • +
      • Updated PDF.dat to msc_GS module.
      • +
    • +
    • New neutron data set with thermal cross sections, G4NDL.3.14: +
        +
      • Added Zinc and Tantalum data.
      • +
      • Updated Lithium and Boron data.
      • +
    • +
    • New photon-evaporation data set, G4PhotonEvaporation.2.1: +
        +
      • Added documentation file, with data format description.
      • +
    • +
    • New radioactive decay data set, G4RadioactiveDecay.3.3: +
        +
      • Added documentation file, with data format description.
      • +
    • +
    + + +

    Examples

    +
      +
    • Various fixes, improvements, adoption of new features.
    • +
    • Adopt G4UIExecutive to initialise UI sessions in nearly all + examples.
    • +
    • Updated visualization usage in most examples, including macro sections + the user can uncomment to activate additional features.
    • +
    • Fixed AIDA file option for most examples making use of histogramming.
    • +
    • Completed migration to use particle-based multiple-scattering.
    • +
    • Updated reference outputs.
    • +
    • advanced +
        +
      • brachytherapy +
          +
        • General code review.
        • +
      • +
      • ChargeExchangeMC +
          +
        • New application for Monte Carlo simulation of charge exchange, + based on a real experiment performed at the Petesburg Nuclear + Physics Institute (PNPI, Russia).
        • +
      • +
      • eRosita +
          +
        • New example implementin a simplified seetup of the eROSITA X-ray + telescope for instrumental background simulations and fluorescence + measurements.
        • +
      • +
      • gammaray_telescope +
          +
        • +
        • Corrected initialisation of G4ThreeVector.
        • +
        • Now using reference physics-list.
        • +
      • +
      • hadrontherapy +
          +
        • Removed the macro 'GUI.mac' contained in the macro folder: the + GUI personalisation are contained in the 'GUIPersonalisation.mac' + file that runs when the default macro files are called.
        • +
        • Fixed the modulatorMacro.mac for the modulator rotation and included the + modulator.loop file for automatic rotation of the modulator wheel.
        • +
        • Removed the 'addPackage' command. Now reference physics-lists can + be activated setting the enviroment variable PHYSLIST to + the name of the list. Modified main() program in order to + launch different macro file depending if PHYSILIST variable + is activated or not. Removed some macro files.
        • +
        • Correctd range shifter and modulator positions. + Corrected position of primary proton beam.
        • +
        • Changed the macro command name to store secondary particles to: + analysis/secondary [true/false].
        • +
        • Added a macro command to store dose between runs: + analysis/writeDoseFile [filename].
        • +
        • Fixed bug in nanalysis messenger when analysis is not set.
        • +
        • Added QGSP_BIC_EMY reference physics list.
        • +
        • Added separation between cut for the transport beam line and + detector.
        • +
        • General code review and updated and cleaned macro files. + Updated README.
        • +
      • +
      • human_phantom +
          +
        • Corrected a bug in Event action.
        • +
      • +
      • medical_linac +
          +
        • Corrected and updated the vis.mac file.
        • +
        • Added 'Launches' folders to store simulation outputs and macros...
        • +
        • Added a phantom based on dicom CT images.
        • +
        • Added the capability to rotate the accelerator (around the X axis + and around the Y axis of a fix 90 deg angle). Added the capability + to translate the phantom.
        • +
        • Modified the format of the output files and removed obsolete files.
        • +
      • +
      • microdosimetry +
          +
        • Modified energy limit of Sanche vib excitation for e-.
        • +
        • Added H excitation.
        • +
      • +
      • nanobeam +
          +
        • Added post step point information to SteppingAction.
        • +
        • Updated for production of histograms with AIDA.
        • +
      • +
      • xray_fluorescence +
          +
        • Corrected bug in the MercuryPrimaryGeneratorAction.
        • +
      • +
    • +
    • extended +
        +
      • Retired extended examples: ExDiane.
      • +
      • analysis/AnaEx01 +
          +
        • Added class HistoManager to replace AnaEx01AnalysisManager.
        • +
      • +
      • analysis/N03Con +
          +
        • Moved G4ConvergenceTester to kernel inside + global/HEPNumerics module.
        • +
        • Renamed classes. Introduced NIST materials. Added vis macro.
        • +
      • +
      • biasing/ReverseMC01 +
          +
        • Added initialisation of data in G4AdjointPhysicsList + constructor.
        • +
        • Modified some tests in RMC01AnalysisManager.
        • +
        • Corrected density of Si in RMC01DetectorConstruction and + corrected position of the lower Ta plate.
        • +
        • Fixed compilation error on Windows.
        • +
      • +
      • electromagnetic/TestEm0 +
          +
        • New physics-lists for EM standard options 0,1,2,3.
        • +
        • Print out cross-sections in RunAction.
        • +
      • +
      • electromagnetic/TestEm1 +
          +
        • RunAction: replaced 'ProcessCount' with a map.
        • +
      • +
      • electromagnetic/TestEm2 +
          +
        • Added histos rms on profiles (histos numbering is changed) + and new scripts. +
      • +
      • electromagnetic/TestEm3 +
          +
        • Added PhysListEmStandardGS and PhysListEmStandardWVI.
        • +
        • Added printout of mean number of gamma, e-, e+.
        • +
        • Added ion scattering model into WVI Physics constructor.
        • +
      • +
      • electromagnetic/TestEm5 +
          +
        • Added ion scattering model into WVI Physics constructor.
        • +
      • +
      • electromagnetic/TestEm6 +
          +
        • Fixed compilation error on gcc-4.5.1.
        • +
      • +
      • electromagnetic/TestEm7 +
          +
        • Added extra EM option "ionGasModels", which disables effective ion + charge and enables use of new models G4BraggIonGasModel, + G4BetheBlochIonGasModel.
        • +
        • Added extra macro ionGasC12.mac.
        • +
        • Added standard HistoManager. Fixed normalisation factor in + histograms 2 and 3.
        • +
        • PhysListEmStandardNR: removed obsolete set of nuclear + stopping flag.
        • +
        • Added ion scattering model into SS physics constructor.
        • +
      • +
      • electromagnetic/TestEm8 +
          +
        • Completely revised in physics, scoring and histograms for treatment of + ionisation in thin absorbers and gaseous detectors.
        • +
        • Added reation of distribution output file in Histomanager.
        • +
        • PhysicsList, Em8DetectorConstruction: renamed + "VertexDetector" with "GasDetector". Fixed UI commands for step + limiter.
        • +
        • Added cut per region in input macro.
        • +
        • DetectorConstruction: added more printout.
        • +
        • DetectorMessenger: fixed state; added G4State_PreInit.
        • +
      • +
      • electromagnetic/TestEm9 +
          +
        • Histo: use empty option when opening file
        • +
        • PhysicsList: use default constructor for elastic builder.
        • +
        • Added applyCuts option to macro files.
        • +
      • +
      • electromagnetic/TestEm11
      • +
      • electromagnetic/TestEm12 +
          +
        • Added lists PhysListStandardGS, PhysListStandardSS, + PhysListStandardWVI.
        • +
        • Added EGSnrc data in 'sandia' subdirectory.
        • +
      • +
      • electromagnetic/TestEm13
      • +
      • electromagnetic/TestEm14 +
          +
        • PhysicsList: extended 'ProductionCuts' down to 100 eV. + Removed non pertinent EmOptions.
        • +
        • PhysListEmStandard, Livermore, Penelope: all processes + registered as discrete (i.e., no continuous energy loss).
        • +
        • RunAction: replaced 'ProcessCount' with a map.
        • +
        • Cleanup in SteppingAction. Updated README.
        • +
      • +
      • electromagnetic/TestEm16 +
          +
        • SteppingAction: use const pointers for step/track objects.
        • +
      • +
      • electromagnetic/TestEm18 +
          +
        • PhysicsList, PhysListEmStandardFLUO: updated according to + changes in electromagnetic/utils module.
        • +
        • Removed obsolete builders for Livermore and Penelope in + PhysicsList; added fluorescence and PIXE options.
        • +
      • +
      • eventgenerator/exgps +
          +
        • Added batch input macro.
        • +
        • Added extra tests in the macros directory for automatic energy + biasing and to import energy spectrum in ascii file.
        • +
        • Changed analysis macro files; added plotfiles.py and plotall.py + scripts for plotting the results.
        • +
      • +
      • eventgenerator/HepMC +
          +
        • Updated to make use of HepMC-2.06.03. +
        • Use QGSP_BERT physics-list. +
      • +
      • eventgenerator/particleGun +
          +
        • New example demonstrating three different ways of usage of + G4ParticleGun, shooting primary particles in different + cases.
        • +
      • +
      • exoticphysics/monopole +
          +
        • Substituted QGSP list by QGSP_BERT.
        • +
        • Added new classes for monopole G4MonopoleEquation, + G4MonopoleFieldSetup and G4MonopoleTransportation.
        • +
        • Use most recent version of monopole transportation, delta-electron + production enabled, non-integer monopole charge allowed.
        • +
        • Added test on ionisation of heavy highly charged particle; some + cleanup.
        • +
      • +
      • field/field04 +
          +
        • Included Mie scattering process and updated usage of + G4PhysListFactory.
        • +
      • +
      • geometry/olap +
          +
        • Fixed uninitialised data in OlapInfo, causing undefined behavior.
        • +
        • Fixed compilation warnings for unused parameters.
        • +
        • Added simple batch input macro.
        • +
      • +
      • hadronic/Hadr01 +
          +
        • Cleanup of physics-list according to last update to physics_list + library. Use default elastic builder for majority of cases. + Removed TRV lists and cleanup elastic.
        • +
      • +
      • medical/DICOM +
          +
        • Added function to read nested items (defined and undefined).
        • +
        • Removed dependencies on CONQUEST.
        • +
        • DICOM handler can now read whichever DICOM file + (PT,CT,DR,CR,US,MR... ).
        • +
        • Introduced partial phantom definition and adopt new + G4ScoreSplittingProcess.
        • +
        • Fixed compilation warning on virtual methods hiding and minor + others.
        • +
      • +
      • medical/electronScattering +
          +
        • Added PhysListEmStandardWVI.
        • +
        • Print unormalized fluence per event in RunAction.
        • +
      • +
      • medical/electronScattering2 +
          +
        • New example for simulation of precision electron scattering + benchmark with minimal user code. +
      • +
      • medical/fanoCavity[1,2] +
          +
        • Introduced PhysListEmStandard_option2 and + PhysListEmStandard_WVI.
        • +
        • Added to run01.mac all physics-lists choice.
        • +
        • Corrected initialisation of 3-vector in constructor.
        • +
      • +
      • medical/GammaTherapy +
          +
        • Removed unused methods in PrimaryGeneratorAction.
        • +
      • +
      • optical/LXe +
          +
        • Fixed initialisation of G4ThreeVector.
        • +
      • +
      • optical/wls +
          +
        • Included Mie scattering process and updated usage of + G4PhysListFactory.
        • +
        • Corrected bug in definition of sensitive detector, when updating + geometry.
        • +
      • +
      • parallel/MPI +
          +
        • General code review.
        • +
        • mpi_interface: OpenMPI as default MPI library instead of LAM/MPI; + improved /mpi/status command (added waste of CPU, time + measurement); improved macro file parser (same parser as + G4UIbatch; fixed unexpected behavior at the end of batch + mode); changed "beamOn" behavior for better performance (thread-out + for interactive, on-thread for batch).
        • +
        • exMPI01, exMPI02: use G4UIcsh instead of G4UItcsh + since OpenMPI is now default.
        • +
      • +
      • parameterisations/gflash +
          +
        • Added default production cut to region crystals to cleanup + warning on stderr. Fixed also some compilation warnings.
        • +
      • +
      • persistency/gdml +
          +
        • G01: added G4GenericTrap to the solids.gdml + sample. Use string as second item in auxiliary-value in + main(). Added commented command for de-activating names + stripping while reading. Use world volume for tracking to dump + to GDML file.
        • +
        • G02: fixed use of obsolete physics-list.
        • +
        • G03: fixed use of obsolete physics-list.
        • +
        • G04: new example showing how to associate a sensitive + detector to a volume through auxiliary-information.
        • +
      • +
      • persistency/P03 +
          +
        • Corrected README.
        • +
      • +
      • radioactivedecay +
          +
        • New example "rdecay01" to demonstrate basic functionality of the + G4RadioactiveDecay process.
        • +
        • Renamed "exrdm" example to "rdecay02". + Updated exrdmAnalysisManager to output the accumulated + radioactivities at the end of a run, in VR mode. + Added more macros u238-b.mac, u238.mac, po201m.mac and + proton-beam.mac.
        • +
      • +
      • runAndEvent/RE01 +
          +
        • Added a protection against empty stack in + RE01StackingAction.
        • +
      • +
      • runAndEvent/RE02 +
          +
        • Bug fix in RE02DetectorConstruction, correcting size of + array and fixing crash on Windows.
        • +
        • Fixed warning messages.
        • +
      • +
    • +
    • novice +
        +
      • N03 +
          +
        • Changed classe mames, suppressed 'ExN03' prefix.
        • +
        • DetectorConstruction: introduced NIST materials.
        • +
        • Rationalised visTutor: several obsolete macros deleted; 6 macros + improved and retained (Tree0, Vis0,5,12,13, heprep); + updated gui.mac accordingly and moved to main directory; + updated main() program.
        • +
        • Updated README.
        • +
      • +
      • N04 +
          +
        • Replaced QGSP list with QGSP_BERT.
        • +
      • +
      • N06 +
          +
        • Added Mie scattering process and associated material properties.
        • +
      • +
    • +
    + +
    + + + diff --git a/cmake/History b/cmake/History new file mode 100644 index 0000000000..688badfc1b --- /dev/null +++ b/cmake/History @@ -0,0 +1,26 @@ +cvs log $Id: History,v 1.3 2010/12/03 17:58:51 gcosmo Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + Category History file + --------------------- + +History file for Geant4 configuration scripts. +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 * + ---------------------------------------------------------- + +December 3rd 2010 - B. Morgan (cmake-V09-03-01) +- Added generation of geant4-config script. + +October 29th 2010 - B. Morgan +- Install.g4cmake: Added as installation guide for using CMake. + +October 1st, 2010 - B.Morgan (cmake-V09-03-00) +- Created. First Alpha version of CMake build system. diff --git a/cmake/INSTALL.g4cmake b/cmake/INSTALL.g4cmake new file mode 100644 index 0000000000..ee2b2bb3cd --- /dev/null +++ b/cmake/INSTALL.g4cmake @@ -0,0 +1,329 @@ +#------------------------------------------------------------------------------ +# INSTALL.g4cmake +# +# 29th October Ben Morgan +# +# $Id: INSTALL.g4cmake,v 1.2 2010/11/18 14:34:04 gcosmo Exp $ +# +# Install guide for the Geant4 CMake Buildsystem +# + +1. Introduction to Geant4 using CMake +------------------------------------- + +1.1 Prerequisites +----------------- +You need to have CMake version 2.6 or higher installed on your system. +RPM/DEB/other packages are generally available on most mainline Linux +distributions. Otherwise, binaries and the CMake sources are available from +Kitware: + +http://www.cmake.org/cmake/resources/software.html + +for Linux, Mac OS X, Windows and a variety of UNIX platforms. + +Whilst this guide will take you through the basics of using CMake to build +and install Geant4 using CMake, further detailed documentation on CMake is +available from: + +http://www.cmake.org/cmake/help/help.html + + +In addition to CMake the standard list of Geant4 prerequisites are needed: + +- CLHEP library, version as supported by the Geant4 release in use. + + +1.2 Currently Supported Platforms +--------------------------------- +The CMake system will be supported on the current list of Geant4 supported +platforms with CMake 2.6.4 or 2.8.x + +Native Windows builds are not currently supported, but are being +worked on. + + +1.3 What is Built, What is Not Built +------------------------------------ +Currently supported: + Granular or global library build (only one can be chosen however). + Dynamic and/or archive libraries. + GDML support (optional, requires XercesC) + +Not currently supported: + UI modules requiring external libraries. + Vis drivers requiring external libraries. + + + +2. Building Geant4 with the CMake system +---------------------------------------- +To get going as quickly as possible, read sections 2.1, 2.2 and 2.3. +Other sections and subsections deal with more advanced usage. + + +2.1 Setting up the Geant4 source and build trees +------------------------------------------------ +You should obtain the Geant4 sources as usual, either via an archive file +of the sources, or via checkout from the Geant4 repository. Unpack the archive, +or checkout the repository to a location of your choice, e.g. + +/path/to/geant4.9.4 + +We call this directory the "source tree". In CMake, we enforce an "out of +source" build so that the buildscripts created by CMake do not mix with the +sources. This is particularly important for developers with a working copy +from the repository. + +We will build Geant4 in a separate "build tree" directory. This can be created +wherever you like, though we strongly recommend it is outside the source tree. +In addition, if you wish to use an IDE such as Eclipse, there may be limitations +on where the build tree should be. For these reasons, we recommmend creating +your build tree directory alongside the source tree, e.g. using our location +from above + +/path/to/geant4.9.4 +/path/to/geant4.9.4-build + +You are of course free to experiment here, but the above is the recommended way. + +You may have as many build trees as you like, and this will be discussed +below. + + +2.2 Running CMake +----------------- +CMake generates buildscripts (e.g. Makefiles, Xcode projects) for the build tool +(e.g. make, Xcode) of your choice. The first step after setting up the source +and build trees is therefore to run CMake in the build tree to generate the +needed scripts. We shall assume in the following that we are on *NIX, where +CMake defaults to generating Makefiles, and we shall use the CMake command line +interface. + +If you wish to generate, e.g. Xcode projects, consult the CMake documentation +for the "-G" option which allows you to select another tool. The GUI +interface to CMake available on some platforms also has a switch to do this. + +Our first step is therefore to move into the build tree directory and then run +CMake, pointing it to the source tree, i.e. (NB '$' denotes the prompt, not a +literal '$') + +$ cd /path/to/geant4.9.4-build +$ cmake ../geant4.9.4 + +The cmake command is the basic command line interface. All being well, you will +see some output like (platform dependent!): + +$ cmake ../geant4.9.4 +-- The C compiler identification is GNU +-- The CXX compiler identification is GNU +-- Check for working C compiler: /usr/bin/gcc +-- Check for working C compiler: /usr/bin/gcc -- works +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- setting default compiler flags for CXX +-- Check for working CXX compiler: /usr/bin/c++ +-- Check for working CXX compiler: /usr/bin/c++ -- works +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done + + +Depending on your system configuration, you may then see an error message: + +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:70 (MESSAGE): + Failed to find CLHEP (missing: CLHEP_VERSION_OK CLHEP_LIBRARIES + CLHEP_INCLUDE_DIRS) +Call Stack (most recent call first): + cmake/Modules/FindCLHEP.cmake:118 (find_package_handle_standard_args) + CMakeLists.txt:103 (find_package) + + +-- Configuring incomplete, errors occurred! + + +This means that CMake has not located CLHEP on your system. The location of +CLHEP works by searching for the clhep-config script, from which library and +header paths can be derived. If you see this error, you have two options. + +1) Add the path to clhep-config to your system PATH environment variable, and + then re-run cmake as above. + +2) Re-run cmake, passing it the location to clhep-config, i.e. + +$ cmake -DCLHEP_CONFIG_EXECUTABLE=/path/to/my/clhep/bin/clhep-config + + +All being well, you should then see the output + + +-- setting default compiler flags for CXX +-- Found CLHEP version: CLHEP 2.1.0.1 +-- Found CLHEP: TRUE +-- The following Geant4 features are enabled: + +-- Configuring done +-- Generating done +-- Build files have been written to: /path/to/geant4.9.4-build + + +Depending on the speed of your system and filesystem, there may be pauses at +the 'Configuring...' and 'Generating...' steps. + +If you now list the contents of your build directory, it will contain +somthing like the following: + + +$ ls +CMakeCache.txt cmake_install.cmake CPackSourceConfig.cmake outputs +CMakeFiles CPackConfig.cmake Makefile source + + +We have a Makefile, so are now ready to build! + + +2.2.1 Advanced CMake usage +-------------------------- +The proceedure listed above configures the build of Geant4 with the default +options. These are: + +Libraries are built in global dynamic mode. +No GDML support. +No UI/Vis modules with external dependencies are built. +Geant4 will be installed in /usr/local + + +These options can be tweaked by passing command line arguments to cmake, e.g +to change the install location, we can do + +$ cmake -DCMAKE_INSTALL_PREFIX=/path/to/my/geant4/install ../geant4.9.4 + + +However, as the list of options is quite large, it is recommended in this +case to use either the ccmake Curses interface, or the cmake-gui if available. +These provide a clean, easy to use view of how the build is configured, with +each option documented and easy to edit. If you wish to use these interfaces, +please consult the relevant CMake documentation for these applications. + + +2.3 Running the Build Tool +-------------------------- +Once CMake has configured the build, we simply need to run the appropriate +build tool with the generated build scripts. In our example we have generated +Makefiles, so in our build directory, we simply type + +$ make + +to build. All being well, you should see the output + +$ make +Scanning dependencies of target G4global +[ 1%] Building CXX object source/global/CMakeFiles/G4global.dir/HEPNumerics/src/G4AnalyticalPolSolver.cc.o +[ 1%] Building CXX object source/global/CMakeFiles/G4global.dir/HEPNumerics/src/G4ChebyshevApproximation.cc.o +... + + +By default, CMake Makefiles produce a summary output of what's being built. +If you wish to see more detail, you can run make with + +$ make VERBOSE=1 + +which will output a very detailed report of everything being done. + +CMake Makefiles also support parallel builds, so you can also do + +$ make -jN + +where N is only limited by the number of cores you have available! +If there are errors in the build, make will immediately exit. + +You can also build parts of Geant4 selectively. + +$ make help + +will print a list of all targets that can be built. + + +If the build is successful, you can then run + +$ make install + +to install Geant4 under the location specified by CMAKE_INSTALL_PREFIX from +earlier. As noted, this defaults to /usr/local on *NIX, so you will need to +change it if you don't have write permission there. Note that you can also +do a staged install as + +$ make install DESTDIR=/path/to/stage + +works. + + +NOTE: If you are not using Makefiles, you will need to consult the documentation +of your buildtool. However, CMake generally works "by the book" on setting +up builds on the other tools. + + + +2.4 Packaging +------------- +Once you have built Geant4, you can also create source and binary packages +if you wish. With Makefiles, you simply do + +$ make package_source + +to generate a source package, or + +$ make package + +to generate a binary package. + +At present, only self-extracting .sh binary packages are generated, but support +for Mac bundles and Windows NSIS installers will be added. + + + +2.5 Multiple Build Directories +------------------------------- +When CMake configures the build, it essentially fixes the choice of options +available (e.g. global dynamic libraries). You can rerun CMake to change these +options, but it is recommended not to do this. Rather, you should create +one build directory per configuration of Geant4 you wish to build. + +For instance, if I wanted to build global libraries and also test granular +libraries, I would have my source tree + +/path/to/geant4.9.4 + +and two build trees + +/path/to/geant4.9.4-global +/path/to/geant4.9.4-granular + + +I would then set the builds up as + +$ cd /path/to/geant4.9.4-global +$ cmake ../geant4.9.4 +$ make + +and + +$ cd /path/to/geant4.9.4-granular +$ cmake -DGEANT4_BUILD_GRANULAR_LIBS ../geant4.9.4 +$ make + + +This can naturally be extended to any other configurations you want. +Whilst this means more disk space is taken, it has two key advantages + +1) Because CMake keeps the build configuration in a cache file (CMakeCache.txt) + it is absolutely clear how the build is configured. You do not have to + worry about environment variable setup, and most problems can be resolved + by consulting the cache. + +2) Each build tree references a known source tree, and changes in the source + tree will be picked up by the build trees. For developers, this means you + can have one working copy of Geant4, and then many build trees referring + to this, one for each configuration you wish to test, e.g. debugging vs + optimization. diff --git a/cmake/Modules/CMakeMacroParseArguments.cmake b/cmake/Modules/CMakeMacroParseArguments.cmake new file mode 100644 index 0000000000..e44bab0bf2 --- /dev/null +++ b/cmake/Modules/CMakeMacroParseArguments.cmake @@ -0,0 +1,90 @@ +# This file defines the following macro for developers needing to parse +# arguments passed to a CMake macro using names. +# +# PARSE_ARGUMENTS - parse arguments supplied to a macro +# +# The PARSE_ARGUMENTS macro will take the arguments of another macro and define +# several variables. The first argument to PARSE_ARGUMENTS is a prefix to put +# on all variables it creates. The second argument is a list of names, and the +# third argument is a list of options. Both of these lists should be quoted. +# The rest of PARSE_ARGUMENTS are arguments from another macro to be parsed. +# +# PARSE_ARGUMENTS(prefix arg_names options arg1 arg2...) +# +# For each item in options, PARSE_ARGUMENTS will create a variable with that +# name, prefixed with prefix_. So, for example, if prefix is MY_MACRO and +# options is OPTION1;OPTION2, then PARSE_ARGUMENTS will create the variables +# MY_MACRO_OPTION1 and MY_MACRO_OPTION2. These variables will be set to true +# if the option exists in the command line or false otherwise. +# +# For each item in arg_names, PARSE_ARGUMENTS will create a variable with that +# name, prefixed with prefix_. Each variable will be filled with the arguments +# that occur after the given arg_name is encountered up to the next arg_name +# or the end of the arguments. All options are removed from these lists. +# PARSE_ARGUMENTS also creates a prefix_DEFAULT_ARGS variable containing the +# list of all arguments up to the first arg_name encountered. +# +# Here is a simple, albeit impractical, example of using PARSE_ARGUMENTS that +# demonstrates its behavior. +# +# SET(arguments +# hello OPTION3 world +# LIST3 foo bar +# OPTION2 +# LIST1 fuz baz +# ) +# PARSE_ARGUMENTS(ARG "LIST1;LIST2;LIST3" "OPTION1;OPTION2;OPTION3" ${arguments}) +# +# PARSE_ARGUMENTS creates 7 variables and sets them as follows: +# +# * ARG_DEFAULT_ARGS: hello;world +# * ARG_LIST1: fuz;baz +# * ARG_LIST2: +# * ARG_LIST3: foo;bar +# * ARG_OPTION1: FALSE +# * ARG_OPTION2: TRUE +# * ARG_OPTION3: TRUE +# +# If you don't have any options, use an empty string in its place. +# +# PARSE_ARGUMENTS(ARG "LIST1;LIST2;LIST3" "" ${arguments}) +# +# Likewise if you have no lists. +# +# PARSE_ARGUMENTS(ARG "" "OPTION1;OPTION2;OPTION3" ${arguments}) +# +# +# Code and description copied from: +# http://www.cmake.org/Wiki/CMakeMacroParseArguments + +MACRO(PARSE_ARGUMENTS prefix arg_names option_names) + SET(DEFAULT_ARGS) + FOREACH(arg_name ${arg_names}) + SET(${prefix}_${arg_name}) + ENDFOREACH(arg_name) + FOREACH(option ${option_names}) + SET(${prefix}_${option} FALSE) + ENDFOREACH(option) + + SET(current_arg_name DEFAULT_ARGS) + SET(current_arg_list) + FOREACH(arg ${ARGN}) + SET(larg_names ${arg_names}) + LIST(FIND larg_names "${arg}" is_arg_name) + IF (is_arg_name GREATER -1) + SET(${prefix}_${current_arg_name} ${current_arg_list}) + SET(current_arg_name ${arg}) + SET(current_arg_list) + ELSE (is_arg_name GREATER -1) + SET(loption_names ${option_names}) + LIST(FIND loption_names "${arg}" is_option) + IF (is_option GREATER -1) + SET(${prefix}_${arg} TRUE) + ELSE (is_option GREATER -1) + SET(current_arg_list ${current_arg_list} ${arg}) + ENDIF (is_option GREATER -1) + ENDIF (is_arg_name GREATER -1) + ENDFOREACH(arg) + SET(${prefix}_${current_arg_name} ${current_arg_list}) +ENDMACRO(PARSE_ARGUMENTS) + diff --git a/cmake/Modules/COPYING-CMAKE-SCRIPTS b/cmake/Modules/COPYING-CMAKE-SCRIPTS new file mode 100644 index 0000000000..31ee0999f9 --- /dev/null +++ b/cmake/Modules/COPYING-CMAKE-SCRIPTS @@ -0,0 +1,22 @@ +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/cmake/Modules/FindCLHEP.cmake b/cmake/Modules/FindCLHEP.cmake new file mode 100644 index 0000000000..8f90c0737a --- /dev/null +++ b/cmake/Modules/FindCLHEP.cmake @@ -0,0 +1,120 @@ +# - Try to find CLHEP library on *NIX Platforms +# +# Once done this will define +# +# CLHEP_FOUND - system has the required CLHEP library +# CLHEP_INCLUDE_DIRS- the CLHEP include directory +# CLHEP_LIBRARIES - the libraries needed to use CLHEP +# CLHEP_VERSION_OK - Flag indicating if discovered version satisfies +# versioning requirements. +# +# Usage of this module as follows: +# +# FIND_PACKAGE(CLHEP 2.0.3.3 [EXACT] [REQUIRED|QUIET]) +# +# Variables used by this module, which can change the default behaviour and +# need to be set before calling find_package: +# +# +# CLHEP_CONFIG_EXECUTABLE All information on the CLHEP installation is +# derived from the clhep-config program. Set this +# variable to the full path to clhep-config if +# the module has problems finding the proper +# CLHEP installation (Cached). +# +# CLHEP_MAX_VERSION Set this variable to maximum version number +# required, in the format "x.y.z" or "x.y". This +# is used with any version number supplied to +# FIND_PACKAGE to do a range check on the +# discovered version. +# +# The module uses the following logic to perform version checking +# +# 1) FIND_PACKAGE version a.b.c supplied, EXACT set: +# Check and require that discovered version x.y.z == a.b.c +# CLHEP_MAX_VERSION ignored. +# +# 2) FIND_PACKAGE version a.b.c supplied +# i) If CLHEP_MAX_VERSION not set, check and require that discovered version +# x.y.z >= a.b.c +# ii) If CLHEP_MAX_VERSION p.q.r set, check and require that discovered +# version x.y.z satisfies a.b.c <= x.y.z < p.q.r +# +# 3) FIND_PACKAGE version a.b.c NOT supplied +# i) If CLHEP_MAX_VERSION not set, not version check performed. +# ii) If CLHEP_MAX_VERSION p.q.r set, check and require that discovered +# version x.y.z < p.q.r +# + +# Copyright (c) 2009, Ben Morgan, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +include(ResolveCompilerPaths) +include(MacroEnsureVersion) + +if (CLHEP_FOUND) + # We already found CLHEP + # For now ignore different versioning between calls - yes makes no sense + # for subcalls to recheck? + set(CLHEP_FIND_QUIETLY TRUE) + +else () + # Find the clhep-config program + find_program(CLHEP_CONFIG_EXECUTABLE NAMES clhep-config) + + # Reset vars + set(CLHEP_LIBRARIES) + set(CLHEP_INCLUDE_DIRS) + set(CLHEP_VERSION_OK) + + # If we find it... + if (CLHEP_CONFIG_EXECUTABLE) + # Check version first + execute_process(COMMAND ${CLHEP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE CLHEP_DISCOVERED_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) + message(STATUS "Found CLHEP version: ${CLHEP_DISCOVERED_VERSION}") + + # VERSIONING CHECK + # At the end of this section, CLHEP_VERSION_OK will be true if + # discovered version satisfies requirements + if (CLHEP_FIND_VERSION AND CLHEP_FIND_VERSION_EXACT) + if ("CLHEP ${CLHEP_FIND_VERSION}" STREQUAL ${CLHEP_DISCOVERED_VERSION}) + set(CLHEP_VERSION_OK TRUE) + else () + set(CLHEP_VERSION_OK FALSE) + endif () + elseif (CLHEP_FIND_VERSION AND NOT CLHEP_FIND_VERSION_EXACT) + if (CLHEP_MAX_VERSION) + MACRO_ENSURE_VERSION_RANGE("${CLHEP_FIND_VERSION}" "${CLHEP_DISCOVERED_VERSION}" "${CLHEP_MAX_VERSION}" CLHEP_VERSION_OK) + else () + MACRO_ENSURE_VERSION("${CLHEP_FIND_VERSION}" "${CLHEP_DISCOVERED_VERSION}" CLHEP_VERSION_OK) + endif() + else () + if (CLHEP_MAX_VERSION) + MACRO_ENSURE_VERSION_RANGE("0.0.0.0" "${CLHEP_DISCOVERED_VERSION}" "${CLHEP_MAX_VERSION}" CLHEP_VERSION_OK) + else() + set(CLHEP_VERSION_OK TRUE) + endif () + endif () + # END OF VERSIONING CHECKS + + # Use clhep-config to find libs and includes + execute_process(COMMAND ${CLHEP_CONFIG_EXECUTABLE} --libs OUTPUT_VARIABLE CLHEP_CONFIG_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${CLHEP_CONFIG_EXECUTABLE} --include OUTPUT_VARIABLE CLHEP_CONFIG_INCLUDE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE) + + # Did we succeed? + if (CLHEP_CONFIG_LIBS AND CLHEP_CONFIG_INCLUDE_DIR) + #Resolve the includes and libraries + RESOLVE_INCLUDES(CLHEP_INCLUDE_DIRS ${CLHEP_CONFIG_INCLUDE_DIR}) + RESOLVE_LIBRARIES(CLHEP_LIBRARIES ${CLHEP_CONFIG_LIBS}) + endif () + endif () +endif () + + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(CLHEP "Failed to find CLHEP" CLHEP_VERSION_OK CLHEP_LIBRARIES CLHEP_INCLUDE_DIRS) +mark_as_advanced(CLHEP_CONFIG_EXECUTABLE) + diff --git a/cmake/Modules/FindXercesC.cmake b/cmake/Modules/FindXercesC.cmake new file mode 100644 index 0000000000..cc70da7f62 --- /dev/null +++ b/cmake/Modules/FindXercesC.cmake @@ -0,0 +1,79 @@ +# - Find Xerces-C +# This module tries to find the Xerces-C library and headers. +# Once done this will define +# +# XERCESC_FOUND - system has Xerces-C headers and libraries +# XERCESC_INCLUDE_DIRS - the include directories needed for Xerces-C +# XERCESC_LIBRARIES - the libraries needed to use Xerces-C +# +# Variables used by this module, which can change the default behaviour and +# need to be set before calling find_package: +# +# XERCESC_ROOT_DIR Root directory to Xerces-C installation. Will +# be used ahead of CMake default path. +# +# The following advanced variables may be used if the module has difficulty +# locating Xerces-C or you need fine control over what is used. +# +# XERCESC_INCLUDE_DIR +# +# XERCESC_LIBRARY +# +# Copyright (c) 2009, Ben Morgan, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + + +# Look for the header - preferentially searching below XERCESC_ROOT_DIR +find_path( + XERCESC_INCLUDE_DIR + NAMES xercesc/util/XercesVersion.hpp + PATHS ${XERCESC_ROOT_DIR} + PATH_SUFFIXES include + NO_DEFAULT_PATH +) + +# If we didn't find it there, fall back to some standard search paths +find_path( + XERCESC_INCLUDE_DIR + NAMES xercesc/util/XercesVersion.hpp +) + +# Look for the library, preferentially searching below XERCESC_ROOT_DIR +find_library( + XERCESC_LIBRARY + NAMES xerces-c + PATHS ${XERCESC_ROOT_DIR} + PATH_SUFFIXES lib64 lib32 lib + NO_DEFAULT_PATH +) + +find_library( + XERCESC_LIBRARY + NAMES xerces-c +) + + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + XercesC + DEFAULT_MSG + XERCESC_LIBRARY + XERCESC_INCLUDE_DIR +) + +if (XERCESC_FOUND) + set(XERCESC_LIBRARIES ${XERCESC_LIBRARY}) + set(XERCESC_INCLUDE_DIRS ${XERCESC_INCLUDE_DIR}) +else (XERCESC_FOUND) + set(XERCESC_LIBRARIES) + set(XERCESC_INCLUDE_DIRS) +endif (XERCESC_FOUND) + + +mark_as_advanced( + XERCESC_LIBRARY + XERCESC_INCLUDE_DIR +) diff --git a/cmake/Modules/Geant4BuildModes.cmake b/cmake/Modules/Geant4BuildModes.cmake new file mode 100644 index 0000000000..972c5d690d --- /dev/null +++ b/cmake/Modules/Geant4BuildModes.cmake @@ -0,0 +1,86 @@ +# - Add Geant4 specific build modes and additional flags +# +# This follows the guide on adding a new mode on the CMake wiki: +# +# http://www.cmake.org/Wiki/CMake_FAQ#How_can_I_extend_the_build_modes_with_a_custom_made_one_.3F +# +# Geant4 supports the standard CMake build types/configurations of +# +# Release Debug MinSizeRel RelWithDebInfo +# +# In addition, two types specifically for development are added: +# +# TestRelease: +# For trial production and extended testing. It is optimized, has verbose +# output, has debugging symbols, and adds definitions to allow FPE +# and physics conservation law testing. +# +# Maintainer: +# For development of the toolkit. It adds debugging, and enables the use +# of library specific debugging via standardized definitions. +# +# Compiler flags specific to these build types are set in the cache, and the +# types are added to the CMAKE_BUILD_TYPE cache string and to +# CMAKE_CONFIGURATION_TYPES if appropriate to the build tool being used. +# + +#------------------------------------------------------------------------------ +# Add TestRelease Mode +# NB - the use of FORCE prevents user editting of the value in the GUI. +# That's probably correct behaviour for now. + +# NB, these may be compiler specific, so be careful. + +set(CMAKE_CXX_FLAGS_TESTRELEASE "-O2 -g -DG4FPE_DEBUG -DG4DEBUG_VERBOSE" + CACHE STRING "Flags added to the C++ compiler during TestRelease builds") + +#------------------------------------------------------------------------------ +# Add Maintainer Mode +# NB - the use of FORCE prevents user editting of the value in the GUI. +# That's probably correct behaviour for now. + +# NB, these may be compiler specific, so be careful. + +set(CMAKE_CXX_FLAGS_MAINTAINER "-g" + CACHE STRING "Flags added to the C++ compiler during Maintainer builds" + FORCE) + +# Mark all the additional flags as advanced because most users will nver need +# to see them +mark_as_advanced( + CMAKE_CXX_FLAGS_TESTRELEASE + CMAKE_CXX_FLAGS_MAINTAINER) + +#------------------------------------------------------------------------------ +# Add the new configuration types ONLY if the build tool supports multiple +# configurations +# +if(CMAKE_CONFIGURATION_TYPES) + list(APPEND CMAKE_CONFIGURATION_TYPES TestRelease) + list(APPEND CMAKE_CONFIGURATION_TYPES Maintainer) + list(REMOVE_DUPLICATES CMAKE_CONFIGURATION_TYPES) + set(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" + CACHE STRING "Geant4 configurations for multimode build tools" + FORCE) +endif() + +#------------------------------------------------------------------------------ +# Update build type information ONLY for single mode build tools, adding +# default type if none has been set, but otherwise leaving value alone. +# NB: this doesn't allow "None" for the build type - would need something +# more sophiticated using an internal cache variable. +# Good enough for now! +# +if(NOT CMAKE_CONFIGURATION_TYPES) + if(NOT CMAKE_BUILD_TYPE) + # Default to a Release build if nothing else... + set(CMAKE_BUILD_TYPE Release + CACHE STRING "Choose the type of build, options are: None Release TestRelease MinSizeRel Debug RelWithDebInfo MinSizeRel Maintainer." + FORCE) + else() + # Force to the cache, but use existing value. + set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" + CACHE STRING "Choose the type of build, options are: None Release TestRelease MinSizeRel Debug RelWithDebInfo MinSizeRel Maintainer." + FORCE) + endif() +endif() diff --git a/cmake/Modules/Geant4CPackBase.cmake b/cmake/Modules/Geant4CPackBase.cmake new file mode 100644 index 0000000000..b49553d2d2 --- /dev/null +++ b/cmake/Modules/Geant4CPackBase.cmake @@ -0,0 +1,31 @@ +# +# Basic CPack configuration for Geant4 - VERY rough +# +include(InstallRequiredSystemLibraries) + +set(CPACK_PACKAGE_DESCRIPTION "Geant4 Toolkit") +set(CPACK_PACKAGE_VENDOR "Geant4 Collaboration") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE") +set(CPACK_PACKAGE_VERSION ${${PROJECT_NAME}_VERSION}) +set(CPACK_PACKAGE_VERSION_MAJOR ${${PROJECT_NAME}_VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${${PROJECT_NAME}_VERSION_MINOR}) +set(CPACK_PACKAGE_VERSION_PATCH ${${PROJECT_NAME}_VERSION_PATCH}) + +set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") + +set(CPACK_SOURCE_IGNORE_FILES + ${CMAKE_BINARY_DIR} + "~$" + "/CVS/" + "/\\\\\\\\.svn/" + "/.git/" + "/\\\\\\\\.git/" + "\\\\\\\\.swp$" + "\\\\\\\\.swp$" + "\\\\.swp" + "\\\\\\\\.#" + "/#" +) + +# FINAL step - include base CPack +include(CPack) diff --git a/cmake/Modules/Geant4ConfigureConfigScript.cmake b/cmake/Modules/Geant4ConfigureConfigScript.cmake new file mode 100644 index 0000000000..bf36fee235 --- /dev/null +++ b/cmake/Modules/Geant4ConfigureConfigScript.cmake @@ -0,0 +1,48 @@ +# - Script for configuring and installing geant4-config script +# +# The geant4-config script provides an sh based interface to provide +# information on the Geant4 installation, including installation prefix, +# version number, compiler and linker flags. +# +# The script is generated froma template file and then installed to the +# known bindir as an executable. +# +# $Id: Geant4ConfigureConfigScript.cmake,v 1.4 2010/12/13 17:31:59 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# + +#----------------------------------------------------------------------------- +# Only create script if we have a global library build... +# +if(NOT GEANT4_BUILD_GRANULAR_LIBS AND UNIX) + # Setup variables needed for expansion in configuration file + # - GDML + if(GEANT4_USE_GDML) + set(G4_BUILTWITH_GDML "yes") + else() + set(G4_BUILTWITH_GDML "no") + endif() + + # - Qt + if(GEANT4_USE_QT) + set(G4_BUILTWITH_QT "yes") + else() + set(G4_BUILTWITH_QT "no") + endif() + + # Configure the script + configure_file(${CMAKE_SOURCE_DIR}/cmake/Templates/geant4-config.in + ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/geant4-config + @ONLY) + + # Install it + install(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/geant4-config + DESTINATION ${GEANT4_BINDIR} + PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE) +else() + message(WARNING "geant4-config script will not be generated") +endif() + diff --git a/cmake/Modules/Geant4InterfaceOptions.cmake b/cmake/Modules/Geant4InterfaceOptions.cmake new file mode 100644 index 0000000000..a535bf2e3b --- /dev/null +++ b/cmake/Modules/Geant4InterfaceOptions.cmake @@ -0,0 +1,92 @@ +# Geant4InterfaceOptions - module to configure build options for Geant4 UI/Vis +# +# Rather than separate the UI and visualization options, we simply ask if +# the user wants to build support for a particular tool, e.g. Qt. +# +# Specific UI/Vis options are also handled here. +# +# $Id: Geant4InterfaceOptions.cmake,v 1.5 2010/11/26 18:52:16 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# + +if(UNIX) + #-------------------------------------------------------------------------- + # XAW (X11 Athena) Support (UI only) + #option(GEANT4_USE_XAW "Build Geant4 with XAW (X11 Athena) support" OFF) + + if(GEANT4_USE_XAW) + # Find and configure XAW... + endif() + + #-------------------------------------------------------------------------- + # Xm (Motif) Support (UI and Vis) + #option(GEANT4_USE_XM "Build Geant4 with Xm (X11-Motif) support" OFF) + + if(GEANT4_USE_XM) + # Find and configure Xm... + endif() + + #-------------------------------------------------------------------------- + # X11 Support for RayTracer driver + #option(GEANT4_USE_RAYTRACERX "Build RayTracer driver with X11 support" OFF) + + if(GEANT4_USE_RAYTRACERX) + # Find and configure X11... + endif() + + #------------------------------------------------------------------------- + # Support for Client/Server DAWN driver + # mark as advanced because user should know what they're doing to use this + option(GEANT4_USE_NETWORKDAWN "Build Dawn driver with Client/Server support" OFF) + # + # Possible headers checks for needed network parts? + # + mark_as_advanced(GEANT4_USE_NETWORKDAWN) + + #-------------------------------------------------------------------------- + # Support for Client/Server VRML driver + # mark as advanced because user should know what they're doing to use this + option(GEANT4_USE_NETWORKVRML "Build VRML driver with Client/Server support" OFF) + # + # Possible header checks for needed network parts? + # + mark_as_advanced(GEANT4_USE_NETWORKVRML) +endif() + +#------------------------------------------------------------------------------ +# Qt Support (UI and Vis) +option(GEANT4_USE_QT "Build Geant4 with Qt support" OFF) + +if(GEANT4_USE_QT) + # Find and configure Qt - require 4 + find_package(Qt4 REQUIRED COMPONENTS QtCore QtGui QtOpenGL) + + # Info on how tofall back to Qt3 kept below for information + #if(NOT QT_FOUND) + # message(STATUS "failed to find Qt4, trying Qt3...") + # find_package(Qt3 REQUIRED) + # if(NOT QT_FOUND) + # message(SEND_ERROR "Qt3 could not be found.") + # endif() + #endif() +endif() + + +#----------------------------------------------------------------------------- +# OpenGL support +# We have several options Xm, Qt, that require OpenGL. +# If we have any of these, find OpenGL +# + +if(GEANT4_USE_QT) + # Find OpenGL. NB will use framework on Mac... (no X11) + find_package(OpenGL REQUIRED) + + if(OPENGL_FOUND) + set(GEANT4_USE_OPENGL TRUE) + endif() +else() + set(GEANT4_USE_OPENGL FALSE) +endif() + + diff --git a/cmake/Modules/Geant4MacroDefineModule.cmake b/cmake/Modules/Geant4MacroDefineModule.cmake new file mode 100644 index 0000000000..9bebb82008 --- /dev/null +++ b/cmake/Modules/Geant4MacroDefineModule.cmake @@ -0,0 +1,144 @@ +# - Macros for organizing and specializing code in Geant4 modules +# +# This file defines the following macros for Geant4 developers needing to +# define the sources, headers and library dependencies for a standard +# Geant4 granular library module, plus utlities for specializing source file +# properties +# +# GEANT4_DEFINE_MODULE - define a standard Geant4 Granular Library Module +# ====================== +# A Geant4 Module is defined as a directory containing subdirectories +# +# include - holds all header files for the module +# src - holds all source files for the module +# +# GEANT4_DEFINE_MODULE will take the name of the module, a list of header files, +# a list of source files and dependencies: +# +# GEANT4_DEFINE_MODULE(NAME name +# HEADERS hdr1 hdr2 ... +# SOURCES src1 src2 ... +# GRANULAR_DEPENDENCIES dep1 dep2 ... +# GLOBAL_DEPENDENCIES dep1 dep2 ... +# LINK_LIBRARIES lib1 lib2 ...) +# +# It assumes that it will be called from a CMake located in the module +# root directory (i.e. the directory containing the include and src +# subdirectories). It uses this location to define absolute paths to the +# headers and sources, and will ignore any absolute paths passed in HEADERS +# or SOURCES so that generated files can be passed in. +# +# The macro defines the variables +# +# G4MODULENAME = name +# ${G4MODULENAME}_HEADERS = List of absolute paths to files given in HEADERS +# ${G4MODULENAME}_SOURCES = List of absolute paths to files given in SOURCES +# ${G4MODULENAME}_GRANULAR_DEPS = List of granular libraries on which this +# module depends +# ${G4MODULENAME}_GLOBAL_DEPS = List of global libraries on which this module +# depends +# ${G4MODULENAME}_LINK_LIBRARIES = List of external libraries to be linked to +# this module +# +# It will also add the module include directory to the list of directories +# using include_directories +# +# +# GEANT4_ADD_COMPILE_DEFINITIONS - add compile defintions to a list of files +# ================================ +# GEANT4_ADD_COMPILE_DEFINITIONS(SOURCES src1 src2 ... +# COMPILE_DEFINITIONS def1 def 2) +# +# Here, SOURCES is the list of source files to which compile definitions +# will be added. COMPILE_DEFINITIONS gives the list of definitions that +# should be added. These definitions will be appended to any existing +# definitions given to the sources. +# + + +include(CMakeMacroParseArguments) + +MACRO(GEANT4_DEFINE_MODULE) + PARSE_ARGUMENTS(G4DEFMOD + "NAME;HEADERS;SOURCES;GRANULAR_DEPENDENCIES;GLOBAL_DEPENDENCIES;LINK_LIBRARIES" + "" + ${ARGN} + ) + + set(G4MODULENAME ${G4DEFMOD_NAME}) + + get_filename_component(${G4MODULENAME}_BASEDIR ${CMAKE_CURRENT_LIST_FILE} PATH) + set(${G4MODULENAME}_SRCDIR ${${G4MODULENAME}_BASEDIR}/src) + set(${G4MODULENAME}_INCDIR ${${G4MODULENAME}_BASEDIR}/include) + + # We now create absolute paths to the headers and sources, + # ignoring any already absolute paths + foreach(_HDR ${G4DEFMOD_HEADERS}) + if(IS_ABSOLUTE ${_HDR}) + list(APPEND ${G4MODULENAME}_HEADERS ${_HDR}) + else() + list(APPEND ${G4MODULENAME}_HEADERS ${${G4MODULENAME}_INCDIR}/${_HDR}) + endif() + endforeach() + + + foreach(_SRC ${G4DEFMOD_SOURCES}) + if(IS_ABSOLUTE ${_SRC}) + list(APPEND ${G4MODULENAME}_SOURCES ${_SRC}) + else() + list(APPEND ${G4MODULENAME}_SOURCES ${${G4MODULENAME}_SRCDIR}/${_SRC}) + endif() + endforeach() + + + foreach(_LIB ${G4DEFMOD_GRANULAR_DEPENDENCIES}) + list(APPEND ${G4MODULENAME}_GRANULAR_DEPENDENCIES ${_LIB}) + endforeach() + + + foreach(_LIB ${G4DEFMOD_GLOBAL_DEPENDENCIES}) + list(APPEND ${G4MODULENAME}_GLOBAL_DEPENDENCIES ${_LIB}) + endforeach() + + + foreach(_LIB ${G4DEFMOD_LINK_LIBRARIES}) + list(APPEND ${G4MODULENAME}_LINK_LIBRARIES ${_LIB}) + endforeach() + + include_directories(${${G4MODULENAME}_INCDIR}) +ENDMACRO() + + +# GEANT4_ADD_COMPILE_DEFINITIONS +MACRO(GEANT4_ADD_COMPILE_DEFINITIONS) + PARSE_ARGUMENTS(G4ADDDEF + "SOURCES;COMPILE_DEFINITIONS" + "" + ${ARGN} + ) + + # We assume that the sources have been added at the level of a + # a sources.cmake, so are inside the src subdir of the sources.cmake + get_filename_component(_ACD_BASE_PATH ${CMAKE_CURRENT_LIST_FILE} PATH) + + # Now for each file, add the definitions + foreach(_acd_source ${G4ADDDEF_SOURCES}) + # Extract any existing compile definitions + get_source_file_property( + _acd_existing_properties + ${_ACD_BASE_PATH}/src/${_acd_source} + COMPILE_DEFINITIONS) + + if(_acd_existing_properties) + set(_acd_new_defs ${_acd_existing_properties} + ${G4ADDDEF_COMPILE_DEFINITIONS}) + else() + set(_acd_new_defs ${G4ADDDEF_COMPILE_DEFINITIONS}) + endif() + + # quote compile defs because this must epand to space separated list + set_source_files_properties(${_ACD_BASE_PATH}/src/${_acd_source} + PROPERTIES COMPILE_DEFINITIONS "${_acd_new_defs}") + endforeach() +ENDMACRO() + diff --git a/cmake/Modules/Geant4MacroLibraryTargets.cmake b/cmake/Modules/Geant4MacroLibraryTargets.cmake new file mode 100644 index 0000000000..3dbeedbcf8 --- /dev/null +++ b/cmake/Modules/Geant4MacroLibraryTargets.cmake @@ -0,0 +1,162 @@ +# - Define useful macros for building and installing library targets +# +# This file defines the following macros for Geant4 developers needing to +# add shared and static library targets. +# +# GEANT4_LIBRARY_TARGET - define standard Geant4 library targets +# +# The macro will take the name of the library and its sources, defining +# static and shared targets depending on the value of BUILD_SHARED_LIBS and +# BUILD_STATIC_LIBS. Install targets are also created. + +include(CMakeMacroParseArguments) + +MACRO(GEANT4_LIBRARY_TARGET) + PARSE_ARGUMENTS(G4LIBTARGET + "NAME;SOURCES;GEANT4_LINK_LIBRARIES;LINK_LIBRARIES" + "" + ${ARGN} + ) + + if(BUILD_SHARED_LIBS) + # Add the shared library target and link its dependencies + add_library(${G4LIBTARGET_NAME} SHARED ${G4LIBTARGET_SOURCES}) + target_link_libraries(${G4LIBTARGET_NAME} + ${G4LIBTARGET_GEANT4_LINK_LIBRARIES} + ${G4LIBTARGET_LINK_LIBRARIES}) + + # This property is set to prevent concurrent builds of static and shared + # libs removing each others files. + set_target_properties(${G4LIBTARGET_NAME} + PROPERTIES CLEAN_DIRECT_OUTPUT 1) + + # Install the library - note the use of RUNTIME, LIBRARY and ARCHIVE + # this helps with later DLL builds + # NEEDS WORK TO REMOVE HARDCODED LIB/BIN DIR + install(TARGETS ${G4LIBTARGET_NAME} + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + endif() + + # + # As above, but for static rather than shared library + if(BUILD_STATIC_LIBS) + # We have to distinguish the static from shared lib, so use -static in + # name. Link its dependencies, but CMake should only use this for + # tracking. + add_library(${G4LIBTARGET_NAME}-static STATIC ${G4LIBTARGET_SOURCES}) + target_link_libraries(${G4LIBTARGET_NAME}-static + ${G4LIBTARGET_GEANT4_LINK_LIBRARIES} + ${G4LIBTARGET_LINK_LIBRARIES}) + + #But we can rename the output library to the correct name + set_target_properties(${G4LIBTARGET_NAME}-static + PROPERTIES OUTPUT_NAME ${G4LIBTARGET_NAME}) + + set_target_properties(${G4LIBTARGET_NAME}-static + PROPERTIES CLEAN_DIRECT_OUTPUT 1) + + install(TARGETS ${G4LIBTARGET_NAME}-static + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + endif() +ENDMACRO() + + +MACRO(GEANT4_HEADER_MODULE_TARGET) + PARSE_ARGUMENTS(G4HEADERMOD + "COMPONENT" + "" + ${ARGN} + ) + + # Only has one component, and we just have to pick out the headers + include(${G4HEADERMOD_COMPONENT}) + + # Header install? + install(FILES ${${G4MODULENAME}_HEADERS} + DESTINATION include/${CMAKE_PROJECT_NAME} + COMPONENT headers) +ENDMACRO() + + +MACRO(GEANT4_GRANULAR_LIBRARY_TARGET) + PARSE_ARGUMENTS(G4GRANLIB + "COMPONENT" + "" + ${ARGN} + ) + + # Granular lib only has one component, but we must pick out + # the granular dependencies + include(${G4GRANLIB_COMPONENT}) + + # Add the library target, using variables set by the inclusion of + # the component file + GEANT4_LIBRARY_TARGET(NAME ${G4MODULENAME} + SOURCES ${${G4MODULENAME}_SOURCES} ${${G4MODULENAME}_HEADERS} + GEANT4_LINK_LIBRARIES ${${G4MODULENAME}_GRANULAR_DEPENDENCIES} + LINK_LIBRARIES ${${G4MODULENAME}_LINK_LIBRARIES}) + + # Header install? + install(FILES ${${G4MODULENAME}_HEADERS} + DESTINATION include/${CMAKE_PROJECT_NAME} + COMPONENT headers) +ENDMACRO() + + + +MACRO(GEANT4_GLOBAL_LIBRARY_TARGET) + PARSE_ARGUMENTS(G4GLOBLIB + "NAME;COMPONENTS" + "" + ${ARGN} + ) + + # We loop over the component sources one at a time, + # appending properties as we go. + foreach(_comp ${G4GLOBLIB_COMPONENTS}) + include(${_comp}) + # In case we have a global lib with one component, ensure name gets set + if(NOT G4GLOBLIB_NAME) + set(G4GLOBLIB_NAME ${G4MODULENAME}) + endif() + + list(APPEND ${G4GLOBLIB_NAME}_GLOBAL_SOURCES ${${G4MODULENAME}_SOURCES}) + list(APPEND ${G4GLOBLIB_NAME}_GLOBAL_HEADERS ${${G4MODULENAME}_HEADERS}) + + list(APPEND ${G4GLOBLIB_NAME}_GLOBAL_DEPENDENCIES + ${${G4MODULENAME}_GLOBAL_DEPENDENCIES}) + + list(APPEND ${G4GLOBLIB_NAME}_LINK_LIBRARIES + ${${G4MODULENAME}_LINK_LIBRARIES}) + endforeach() + + # Filter out duplicates in GLOBAL_DEPENDENCIES and LINK_LIBRARIES + if(${G4GLOBLIB_NAME}_GLOBAL_DEPENDENCIES) + list(REMOVE_DUPLICATES ${G4GLOBLIB_NAME}_GLOBAL_DEPENDENCIES) + endif() + if(${G4GLOBLIB_NAME}_LINK_LIBRARIES) + list(REMOVE_DUPLICATES ${G4GLOBLIB_NAME}_LINK_LIBRARIES) + endif() + + # Now add the library target + GEANT4_LIBRARY_TARGET(NAME ${G4GLOBLIB_NAME} + SOURCES + ${${G4GLOBLIB_NAME}_GLOBAL_SOURCES} + ${${G4GLOBLIB_NAME}_GLOBAL_HEADERS} + GEANT4_LINK_LIBRARIES + ${${G4GLOBLIB_NAME}_GLOBAL_DEPENDENCIES} + LINK_LIBRARIES + ${${G4GLOBLIB_NAME}_LINK_LIBRARIES}) + + # Header install? + install(FILES ${${G4GLOBLIB_NAME}_GLOBAL_HEADERS} + DESTINATION include/${CMAKE_PROJECT_NAME} + COMPONENT headers) +ENDMACRO() + + + diff --git a/cmake/Modules/Geant4MacroUtilities.cmake b/cmake/Modules/Geant4MacroUtilities.cmake new file mode 100644 index 0000000000..18181d4828 --- /dev/null +++ b/cmake/Modules/Geant4MacroUtilities.cmake @@ -0,0 +1,41 @@ +# Geant4MacroUtilities - this module defines helper macros and functions +# +# GEANT4_ADD_FEATURE(NAME DESCRIPTION) +# Use this macro to add a Geant4 specific feature NAME, assumed to be a +# boolean, to the list of enabled/disabled features, together with a short +# DESCRIPTION. +# +# GEANT4_PRINT_ENABLED_FEATURES() +# Prints list of enabled Geant4 features and their description only. Just a +# simplified version of that in FeatureSummary. + + + +macro(GEANT4_ADD_FEATURE _var _description) + if(${_var}) + set_property(GLOBAL APPEND PROPERTY GEANT4_ENABLED_FEATURES ${_var}) + else(${_var}) + set_property(GLOBAL APPEND PROPERTY GEANT4_DISABLED_FEATURES ${_var}) + endif(${_var}) + + set_property(GLOBAL PROPERTY ${_var}_DESCRIPTION "${_description}") +endmacro(GEANT4_ADD_FEATURE) + + +macro(GEANT4_PRINT_ENABLED_FEATURES) + set(_currentFeatureText "The following Geant4 features are enabled:") + get_property(_enabledFeatures GLOBAL PROPERTY GEANT4_ENABLED_FEATURES) + + foreach(_feature ${_enabledFeatures}) + set(_currentFeatureText "${_currentFeatureText}\n${_feature}") + + get_property(_desc GLOBAL PROPERTY ${_feature}_DESCRIPTION) + + if(_desc) + set(_currentFeatureText "${_currentFeatureText}: ${_desc}") + set(_desc NOTFOUND) + endif(_desc) + endforeach(_feature) + + message(STATUS "${_currentFeatureText}\n") +endmacro(GEANT4_PRINT_ENABLED_FEATURES) diff --git a/cmake/Modules/Geant4MakeRules_cxx.cmake b/cmake/Modules/Geant4MakeRules_cxx.cmake new file mode 100644 index 0000000000..848fcc0a6f --- /dev/null +++ b/cmake/Modules/Geant4MakeRules_cxx.cmake @@ -0,0 +1,96 @@ +# - Geant4MakeRules_cxx +# Sets the default make rules for a CXX build, specifically the initialization +# of the compiler flags on a platform dependent basis +# + +message(STATUS "setting default compiler flags for CXX") + + +#------------------------------------------------------------------------------ +# GNU C++ Compiler on all(?) platforms +# +if(CMAKE_COMPILER_IS_GNUCXX) + set(CMAKE_CXX_FLAGS_INIT "-W -Wall -ansi -pedantic -Wno-non-virtual-dtor -Wno-long-long -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -pipe") + set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g") + set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG") + set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g") +endif() + + +#------------------------------------------------------------------------------ +# MSVC - all (?) versions +# I don't understand VS flags at all.... Guess try the CMake defaults first +# and see what happens! +if(MSVC) + # Hmm, WIN32-VC.gmk uses dashes, but cmake uses slashes, latter probably + # best for native build. + set(CMAKE_CXX_FLAGS_INIT "-MD -GR -EHsc -Zm200 -nologo -D_CONSOLE -D_WIN32 -DWIN32 -DOS") + set(CMAKE_CXX_FLAGS_DEBUG_INIT "-Od -Zi") + set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG") + set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g") + + # We may also have to set linker flags.... +endif() + + +#------------------------------------------------------------------------------ +# Intel C++ Compilers - all (?) platforms +# +# Sufficient id on all platforms? +if(CMAKE_CXX_COMPILER MATCHES "icpc.*") + set(CMAKE_CXX_FLAGS_INIT "-w1 -Wnon-virtual-dtor -Wpointer-arith -Wwrite-strings -ansi -fp-model precise") + set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g") + set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG") + set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g") +endif() + + +#------------------------------------------------------------------------------ +# Ye Olde *NIX/Compiler Systems +# NB: *NOT* Supported... Only provided as legacy. +# None are tested... +# Whilst these use flags taken from existing Geant4 setup, may want to see if +# CMake defaults on these platforms are good enough... +# +if(UNIX AND NOT CMAKE_COMPILER_IS_GNUCXX) + #-------------------------------------------------------------------------- + # IBM xlC compiler + # + if(CMAKE_CXX_COMPILER MATCHES "xlC") + set(CMAKE_CXX_FLAGS_INIT "") + set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g -qdbextra -qcheck=all -qfullpath -qtwolink -+") + set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -qtwolink -+") + set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O3 -qtwolink -+") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O3 -g -qdbextra -qcheck=all -qfullpath -qtwolink -+") + endif() + + #-------------------------------------------------------------------------- + # HP aC++ Compiler + # + if(CMAKE_CXX_COMPILER MATCHES "aCC") + set(CMAKE_CXX_FLAGS_INIT "+DAportable +W823") + set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g") + set(CMAKE_CXX_FLAGS_RELEASE_INIT "+O2 +Onolimit") + set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O2 +Onolimit") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 +Onolimit -g") + endif() + + #-------------------------------------------------------------------------- + # IRIX MIPSpro CC Compiler + # + if(CMAKE_CXX_COMPILER MATCHES "CC" AND CMAKE_SYSTEM_NAME MATCHES "IRIX") + set(CMAKE_CXX_FLAGS_INIT "-ptused -DSOCKET_IRIX_SOLARIS") + set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g") + set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O -OPT:Olimit=5000") + set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O -OPT:Olimit=5000") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O -OPT:Olimit=5000 -g") + endif() + + #-------------------------------------------------------------------------- + # SunOS CC Compiler + # - CMake may do a reasonable job on its own here... +endif() + diff --git a/cmake/Modules/Geant4MakeRules_fortran.cmake b/cmake/Modules/Geant4MakeRules_fortran.cmake new file mode 100644 index 0000000000..8eeced0ae7 --- /dev/null +++ b/cmake/Modules/Geant4MakeRules_fortran.cmake @@ -0,0 +1,26 @@ +# - Geant4MakeRules_fortran +# Sets the default make rules for a Fortran build, specifically the +# initialization of the compiler flags on a platform dependent basis +# + +message(STATUS "setting default compiler flags for Fortran") + +# We have to rely on the compiler name +get_filename_component(Fortran_COMPILER_NAME ${CMAKE_Fortran_COMPILER} NAME) + +# gfortran... +if(Fortran_COMPILER_NAME STREQUAL "gfortran") + set(CMAKE_Fortran_FLAGS_INIT "-fno-automatic -fno-backslash -fno-second-underscore") + set(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g") + set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3") + set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-Os") + set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -g") +elseif(Fortran_COMPILER_NAME STREQUAL "ifort") + set(CMAKE_Fortran_FLAGS_INIT "-noautomatic -assume nobscc -assume no2underscores") + set(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g") + set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3") + set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-Os") + set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -g") +endif() + +# ifort... diff --git a/cmake/Modules/Geant4ToolchainBackwardCompatibility.cmake b/cmake/Modules/Geant4ToolchainBackwardCompatibility.cmake new file mode 100644 index 0000000000..92a9d6d1da --- /dev/null +++ b/cmake/Modules/Geant4ToolchainBackwardCompatibility.cmake @@ -0,0 +1,152 @@ +# - Script for setting up backward compatibility with GNU make user toolchain +# +# The GNU make based buildsystem for Geant4 provides a toolchain for users +# building simple Geant4 applications. The old style build and install of +# Geant4 provides a customized set of non-standard install paths with use of +# the toolchain dependent on environment variables pointing to the install +# paths. +# +# This script processes information on the CMake install paths, system and +# compiler to determine the following variables for backward compatibility +# +# GEANT4_SYSTEM : Old style system name, e.g. 'Linux', 'Darwin' or 'WIN32' +# +# GEANT4_COMPILER: Old system compiler id, e.g. 'g++', 'VC'. +# +# G4INSTALL : Location of config subdirectory containing GNU make +# fragment files for toolchain. +# +# G4INCLUDE : Old style path to location of Geant4 headers +# +# G4LIB : Old style library directory path. Rather than +# containing the actual libraries, it is expected to +# contain subdirectories named +# GEANT4_SYSTEM-GEANT4_COMPILER +# +# +# These variables are used in CMake configuration files which generate shell +# scripts (C and Bourne flavour) the user can source to set up their +# environment. These replace the old style 'env.(c)sh' scripts to allow +# users to work with the new CMake built libraries transparently if +# their application relies on the old style toolchain. +# +# Compatibility with the library path style: +# +# /lib/G4SYSTEM-G4COMPILER +# +# is provided by installing a directory 'geant4-' in the actual +# library directory and creating a symbolic link inside this directory +# pointing up one directory level. +# +# $Id: Geant4ToolchainBackwardCompatibility.cmake,v 1.10 2010/12/13 19:03:34 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# + + +#------------------------------------------------------------------------------ +# Determine the backward compatible system name +# +if(NOT WIN32) + set(GEANT4_SYSTEM ${CMAKE_SYSTEM_NAME}) +else() + set(GEANT4_SYSTEM "WIN32") +endif() + +message(STATUS "Geant4 backwards compatible system name: ${GEANT4_SYSTEM}") + +#------------------------------------------------------------------------------ +# Determine the backward compatible compiler name +# +if(CMAKE_COMPILER_IS_GNUCXX) + set(GEANT4_COMPILER "g++") +elseif(MSVC) + set(GEANT4_COMPILER "VC") +elseif(CMAKE_CXX_COMPILER MATCHES "icpc.*") + set(GEANT4_COMPILER "icc") +else() + set(GEANT4_COMPILER "UNSUPPORTED") +endif() + +message(STATUS "Geant4 backwards compatible compiler name: ${GEANT4_COMPILER}") + + +#------------------------------------------------------------------------------ +# Construct backward compatible variables +# +set(G4SYSTEM "${GEANT4_SYSTEM}-${GEANT4_COMPILER}") +set(G4INSTALL ${GEANT4_DATADIR}/geant4-${geant4_VERSION}) +set(G4INCLUDE ${GEANT4_INCLUDEDIR}/geant4) +set(G4LIB ${GEANT4_LIBDIR}/geant4-${geant4_VERSION}) + +message(STATUS "Geant4 backwards compatible variable G4SYSTEM : ${G4SYSTEM}") +message(STATUS "Geant4 backwards compatible variable G4INSTALL: ${G4INSTALL}") +message(STATUS "Geant4 backwards compatible variable G4INCLUDE: ${G4INCLUDE}") +message(STATUS "Geant4 backwards compatible variable G4LIB : ${G4LIB}") + + +#------------------------------------------------------------------------------ +# CLHEP setup +# Unless CLHEP is setup very oddly, the base directory should be sufficient +execute_process(COMMAND ${CLHEP_CONFIG_EXECUTABLE} --prefix + OUTPUT_VARIABLE CLHEP_BASE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE) + + + +#------------------------------------------------------------------------------ +# Optional variables which are set only if certain features are enabled +# +if(GEANT4_USE_QT) + set(G4_HAVE_QT "yes") +else() + set(G4_HAVE_QT "no") +endif() + +if(UNIX) + set(G4_HAVE_TCSH "yes") +else() + set(G4_HAVE_TCSH "no") +endif() + + +#------------------------------------------------------------------------------ +# Add configure files for generating backward compatible shell scripts +# and install these together with the old GNU make toolchain +# +if(UNIX) + # Create the sh and csh environment setup files + configure_file(${CMAKE_SOURCE_DIR}/cmake/Templates/geant4-env.sh.in + ${CMAKE_BINARY_DIR}/outputs/runtime/geant4-${geant4_VERSION}.sh + @ONLY) + + configure_file(${CMAKE_SOURCE_DIR}/cmake/Templates/geant4-env.csh.in + ${CMAKE_BINARY_DIR}/outputs/runtime/geant4-${geant4_VERSION}.csh + @ONLY) + + # Install targets + # toolchain + install(DIRECTORY config + DESTINATION ${GEANT4_DATAROOTDIR}/geant4-${geant4_VERSION} + FILES_MATCHING PATTERN "*.gmk" + PATTERN "CVS" EXCLUDE + PATTERN "scripts/" EXCLUDE) + + # setup scripts + install(FILES + ${CMAKE_BINARY_DIR}/outputs/runtime/geant4-${geant4_VERSION}.sh + ${CMAKE_BINARY_DIR}/outputs/runtime/geant4-${geant4_VERSION}.csh + DESTINATION ${GEANT4_DATAROOTDIR}/geant4-${geant4_VERSION}/config + PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE) + + # compatibility softlink to library directory + install(CODE "execute_process(COMMAND \${CMAKE_COMMAND} -E make_directory \$ENV{DESTDIR}${GEANT4_LIBDIR}/geant4-${geant4_VERSION})") + + install(CODE "execute_process(COMMAND \${CMAKE_COMMAND} -E create_symlink .. ${GEANT4_SYSTEM}-${GEANT4_COMPILER} WORKING_DIRECTORY \$ENV{DESTDIR}${GEANT4_LIBDIR}/geant4-${geant4_VERSION})") + +endif() + + + + diff --git a/cmake/Modules/History b/cmake/Modules/History new file mode 100644 index 0000000000..2ecbec7e58 --- /dev/null +++ b/cmake/Modules/History @@ -0,0 +1,67 @@ + ========================================================= + 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 summarise 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 * + ---------------------------------------------------------- + +3rd December 2010 Ben Morgan +- Geant4ConfigureConfigScript.cmake - Removed requirement on having a shared +library build to generate script. + + +2nd December 2010 Ben Morgan +- Geant4ConfigureConfigScript.cmake - New script file to create a +'geant4-config' script for providing compiler and library flags and paths. + +1st December 2010 Ben Morgan +- Geant4ToolChainBackwardCompatibility.cmake - New script file to support +setup of shell scripts enabling use by users of older GNU make toolchain for +user applications with newer CMake build of Geant4. + +26th November 2010 Ben Morgan +- Geant4InterfaceOptions.cmake - Added find_package for OpenGL as this is needed +for core OGL support. +- Geant4MacroDefineModule.cmake - Updated GEANT4_ADD_COMPILE_DEFINITIONS to +append compile defintions to any existing ones on the files. + +23rd November 2010 Ben Morgan +- Geant4InterfaceOptions.cmake - Added standard option to enable Qt support and +added find_package for Qt4. +- Geant4MacroDefineModule.cmake - Modified setting of absolute paths to supplied +sources so that actual absolute paths can be passed in. This helps with +adding generated files like moc sources. +- Geant4InterfaceOptions.cmake - Added advanced option to enable network component +of VRML library. +- Geant4InterfaceOptions.cmake - Added advanced option to enable network component +of Fukui Renderer library. +- Geant4MacroDefineModule.cmake - Added new macro GEANT4_ADD_COMPILE_DEFINITIONS +for easy adding of compile definitions to one or more source files. + + +30th September 2010 Ben Morgan +- Geant4MacroLibraryTargets.cmake - Used new variable name for global sources +and headers to prevent duplication of source names in global target. + +- FindXercesC.cmake - Fixed case of NAME argument to +FindPackagHandleStandardArgs. + + +24th September 2010 Ben Morgan +- Geant4MacroLibraryTargets.cmake - Added granular library target macro and +allowed global library macro to take one component for mixed libraries. + +- Geant4MacroDefineModule.cmake - cleaned up and added dependency variables. + +21st September 2010 Ben Morgan +- Initial copy of cmake module files into ref-07 tag. + diff --git a/cmake/Modules/MacroEnsureVersion.cmake b/cmake/Modules/MacroEnsureVersion.cmake new file mode 100644 index 0000000000..268f155173 --- /dev/null +++ b/cmake/Modules/MacroEnsureVersion.cmake @@ -0,0 +1,217 @@ +# This file defines the following macros for developers to use in ensuring +# that installed software is of the right version: +# +# MACRO_ENSURE_VERSION - test that a version number is greater than +# or equal to some minimum +# MACRO_ENSURE_VERSION_RANGE - test that a version number is greater than +# or equal to some minimum and less than some +# maximum +# MACRO_ENSURE_VERSION2 - deprecated, do not use in new code +# +# MACRO_VERIFY_VERSION - test that a version number satisfies a given +# set of requirements, such as an exact match, +# greater than or equal to a minimum, less than +# or equal to some maximum, or between a minimum +# and maximum. + +# MACRO_ENSURE_VERSION +# This macro compares version numbers of the form "a.b.c.d" or "a.b.c" or "a.b" +# MACRO_ENSURE_VERSION( FOO_MIN_VERSION FOO_VERSION_FOUND FOO_VERSION_OK) +# will set FOO_VERSION_OK to true if FOO_VERSION_FOUND >= FOO_MIN_VERSION +# Leading and trailing text is ok, e.g. +# MACRO_ENSURE_VERSION( "2.5.31" "flex 2.5.4a" VERSION_OK) +# which means 2.5.31 is required and "flex 2.5.4a" is what was found on the system + +# Copyright (c) 2006, David Faure, +# Copyright (c) 2007, Will Stephenson +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +# MACRO_VERIFY_VERSION +# This macro compares version numbers of the form "a.b.c.d" or "a.b.c" or "a.b" +# +# MACRO_VERIFY_VERSION(VERSION_OK +# MIN_VERSION "a.b.c.d" +# MAX_VERSION "p.q.r" +# FOUND_VERSION "x.y.z" +# [FIND_EXACT True|False]) +# +# The macro uses the following logic to verify version checking +# +# 1) MIN_VERSION a.b.c, FOUND_VERSION x.y.z supplied, FIND_EXACT set: +# Check and require that x.y.z == a.b.c +# MAX_VERSION ignored. +# +# 2) MIN_VERSION a.b.c, FOUND_VERSION x.y.z supplied +# i) If MAX_VERSION not set, check and require that x.y.z >= a.b.c +# ii) If MAX_VERSION p.q.r set, check and require a.b.c <= x.y.z < p.q.r +# +# 3) MIN_VERSION a.b.c NOT supplied, FOUND_VERSION x.y.z supplied +# i) If MAX_VERSION not set, version assumed to be verified. +# ii) If MAX_VERSION p.q.r set, check and require x.y.z < p.q.r +# +# Copyright (c) 2009, Ben Morgan, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + + + +# MACRO_ENSURE_VERSION_RANGE +# This macro ensures that a version number of the form +# "a.b.c.d" or "a.b.c" or "a.b" falls within a range defined by +# min_version <= found_version < max_version. +# If this expression holds, FOO_VERSION_OK will be set TRUE +# +# Example: MACRO_ENSURE_VERSION_RANGE3( "0.1.0" ${FOOCODE_VERSION} "0.7.0" FOO_VERSION_OK ) +# +# This macro will break silently if any of a,b,c or d are greater than 100. +# +# Copyright (c) 2007, Will Stephenson +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +# NORMALIZE_VERSION +# Helper macro to convert version numbers of the form "a.b.c.d" +# to an integer equal to 10^6 * a + 10^4 * b + 10^2 * c + d +# +# This macro will break silently if any of a,b,c,d are greater than 100. +# +# Copyright (c) 2006, David Faure, +# Copyright (c) 2007, Will Stephenson +# +# Modifications Copyright (c) 2008, Ben Morgan +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +# CHECK_RANGE_INCLUSIVE_LOWER +# Helper macro to check whether x <= y < z +# +# Copyright (c) 2007, Will Stephenson +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +# MACRO_ + +MACRO(NORMALIZE_VERSION _requested_version _normalized_version) + # Do we have a.b.c.d in _requested_version? + STRING(REGEX MATCH "[^0-9]*[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9].*" _fourPartMatch "${_requested_version}") + STRING(REGEX MATCH "[^0-9]*[0-9]+\\.[0-9]+\\.[0-9]+.*" _threePartMatch "${_requested_version}") + + if (_fourPartMatch) + # We certainly have a.b.c.d so split out the components as needed + STRING(REGEX REPLACE "[^0-9]*([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" _major_vers "${_requested_version}") + STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" _minor_vers "${_requested_version}") + STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" _patch_vers "${_requested_version}") + STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" _tweak_vers "${_requested_version}") + + elseif (_threePartMatch) + # parse the parts of the version string + STRING(REGEX REPLACE "[^0-9]*([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" _major_vers "${_requested_version}") + STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" _minor_vers "${_requested_version}") + STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" _patch_vers "${_requested_version}") + set(_tweak_vers "0") + else (_threePartMatch) + STRING(REGEX REPLACE "[^0-9]*([0-9]+)\\.[0-9]+" "\\1" _major_vers "${_requested_version}") + STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.([0-9]+)" "\\1" _minor_vers "${_requested_version}") + set(_patch_vers "0") + set(_tweak_vers "0") + endif (_fourPartMatch) + + # compute an overall version number which can be compared at once + MATH(EXPR ${_normalized_version} "${_major_vers}*1000000 + ${_minor_vers}*10000 + ${_patch_vers}*100 + ${_tweak_vers}") +ENDMACRO(NORMALIZE_VERSION) + +MACRO(MACRO_CHECK_RANGE_INCLUSIVE_LOWER _lower_limit _value _upper_limit _ok) + if (${_value} LESS ${_lower_limit}) + set( ${_ok} FALSE ) + elseif (${_value} EQUAL ${_lower_limit}) + set( ${_ok} TRUE ) + elseif (${_value} EQUAL ${_upper_limit}) + set( ${_ok} FALSE ) + elseif (${_value} GREATER ${_upper_limit}) + set( ${_ok} FALSE ) + else (${_value} LESS ${_lower_limit}) + set( ${_ok} TRUE ) + endif (${_value} LESS ${_lower_limit}) +ENDMACRO(MACRO_CHECK_RANGE_INCLUSIVE_LOWER) + +MACRO(MACRO_ENSURE_VERSION requested_version found_version var_too_old) + NORMALIZE_VERSION( ${requested_version} req_vers_num ) + NORMALIZE_VERSION( ${found_version} found_vers_num ) + + if (found_vers_num LESS req_vers_num) + set( ${var_too_old} FALSE ) + else (found_vers_num LESS req_vers_num) + set( ${var_too_old} TRUE ) + endif (found_vers_num LESS req_vers_num) + +ENDMACRO(MACRO_ENSURE_VERSION) + +MACRO(MACRO_ENSURE_VERSION2 requested_version2 found_version2 var_too_old2) + MACRO_ENSURE_VERSION( ${requested_version2} ${found_version2} ${var_too_old2}) +ENDMACRO(MACRO_ENSURE_VERSION2) + +MACRO(MACRO_ENSURE_VERSION_RANGE min_version found_version max_version var_ok) + NORMALIZE_VERSION( ${min_version} req_vers_num ) + NORMALIZE_VERSION( ${found_version} found_vers_num ) + NORMALIZE_VERSION( ${max_version} max_vers_num ) + + MACRO_CHECK_RANGE_INCLUSIVE_LOWER( ${req_vers_num} ${found_vers_num} ${max_vers_num} ${var_ok}) +ENDMACRO(MACRO_ENSURE_VERSION_RANGE) + + +include(CMakeMacroParseArguments) +MACRO(MACRO_VERIFY_VERSION) + PARSE_ARGUMENTS(MVV + "MIN_VERSION;MAX_VERSION;FOUND_VERSION;FIND_EXACT" + "" + ${ARGN}) + + set(MVV_VAR_OK ${ARGV0}) + message("var to set: ${ARGV0}") + message("min_version = ${MVV_MIN_VERSION}") + message("max_version = ${MVV_MAX_VERSION}") + message("found_version = ${MVV_FOUND_VERSION}") + message("find_exact = ${MVV_FIND_EXACT}") + + # If MIN_VERSION NOT supplied, must set it to absolute minimum + if (NOT DEFINED ${MVV_MIN_VERSION}) + set(MVV_MIN_VERSION "0.0.0.0") + endif (NOT DEFINED ${MVV_MIN_VERSION}) + + if (MVV_FOUND_VERSION AND MVV_FIND_EXACT) + if (${MVV_MIN_VERSION} MATCHES ${MVV_FOUND_VERSION}) + set(${MVV_VAR_OK} TRUE) + else (${MVV_MIN_VERSION} MATCHES ${MVV_FOUND_VERSION}) + set(${MVV_VAR_OK} FALSE) + endif (${MVV_MIN_VERSION} MATCHES ${MVV_FOUND_VERSION}) + elseif (MVV_FOUND_VERSION AND NOT MVV_FIND_EXACT) + if (MVV_MAX_VERSION) + MACRO_ENSURE_VERSION_RANGE(${MVV_MIN_VERSION} + ${MVV_FOUND_VERSION} + ${MVV_MAX_VERSION} + ${MVV_VAR_OK}) + else (MVV_MAX_VERSION) + MACRO_ENSURE_VERSION(${MVV_MIN_VERSION} + ${MVV_FOUND_VERSION} + ${MVV_VAR_OK}) + endif (MVV_MAX_VERSION) + else (MVV_FOUND_VERSION AND MVV_FIND_EXACT) + if (MVV_MAX_VERSION) + MACRO_ENSURE_VERSION_RANGE("0.0.0.0" + ${MVV_FOUND_VERSION} + ${MVV_MAX_VERSION} + ${MVV_VAR_OK}) + else (MVV_MAX_VERSION) + set(${MVV_VAR_OK} TRUE) + endif (MVV_MAX_VERSION) + endif (MVV_FOUND_VERSION AND MVV_FIND_EXACT) +ENDMACRO(MACRO_VERIFY_VERSION) + diff --git a/cmake/Modules/ResolveCompilerPaths.cmake b/cmake/Modules/ResolveCompilerPaths.cmake new file mode 100644 index 0000000000..37d968f3d7 --- /dev/null +++ b/cmake/Modules/ResolveCompilerPaths.cmake @@ -0,0 +1,94 @@ +# ResolveCompilerPaths - this module defines two macros +# +# RESOLVE_LIBRARIES (XXX_LIBRARIES LINK_LINE) +# This macro is intended to be used by FindXXX.cmake modules. +# It parses a compiler link line and resolves all libraries +# (-lfoo) using the library path contexts (-L/path) in scope. +# The result in XXX_LIBRARIES is the list of fully resolved libs. +# Example: +# +# RESOLVE_LIBRARIES (FOO_LIBRARIES "-L/A -la -L/B -lb -lc -ld") +# +# will be resolved to +# +# FOO_LIBRARIES:STRING="/A/liba.so;/B/libb.so;/A/libc.so;/usr/lib/libd.so" +# +# if the filesystem looks like +# +# /A: liba.so libc.so +# /B: liba.so libb.so +# /usr/lib: liba.so libb.so libc.so libd.so +# +# and /usr/lib is a system directory. +# +# Note: If RESOLVE_LIBRARIES() resolves a link line differently from +# the native linker, there is a bug in this macro (please report it). +# +# RESOLVE_INCLUDES (XXX_INCLUDES INCLUDE_LINE) +# This macro is intended to be used by FindXXX.cmake modules. +# It parses a compile line and resolves all includes +# (-I/path/to/include) to a list of directories. Other flags are ignored. +# Example: +# +# RESOLVE_INCLUDES (FOO_INCLUDES "-I/A -DBAR='\"irrelevant -I/string here\"' -I/B") +# +# will be resolved to +# +# FOO_INCLUDES:STRING="/A;/B" +# +# assuming both directories exist. +# Note: as currently implemented, the -I/string will be picked up mistakenly (cry, cry) + +macro (RESOLVE_LIBRARIES LIBS LINK_LINE) + string (REGEX MATCHALL "((-L|-l|-Wl)([^\" ]+|\"[^\"]+\")|/[^\" ]+(a|so|dll))" _all_tokens "${LINK_LINE}") + set (_libs_found) + set (_directory_list) + foreach (token ${_all_tokens}) + if (token MATCHES "-L([^\" ]+|\"[^\"]+\")") + # If it's a library path, add it to the list + string (REGEX REPLACE "^-L" "" token ${token}) + string (REGEX REPLACE "//" "/" token ${token}) + list (APPEND _directory_list ${token}) + elseif (token MATCHES "^(-l([^\" ]+|\"[^\"]+\")|/[^\" ]+(a|so|dll))") + # It's a library, resolve the path by looking in the list and then (by default) in system directories + string (REGEX REPLACE "^-l" "" token ${token}) + set (_root) + if (token MATCHES "^/") # We have an absolute path, add root to the search path + set (_root "/") + endif (token MATCHES "^/") + set (_lib "NOTFOUND" CACHE FILEPATH "Cleared" FORCE) + find_library (_lib ${token} HINTS ${_directory_list} ${_root}) + if (_lib) + string (REPLACE "//" "/" _lib ${_lib}) + list (APPEND _libs_found ${_lib}) + else (_lib) + message (STATUS "Unable to find library ${token}") + endif (_lib) + endif (token MATCHES "-L([^\" ]+|\"[^\"]+\")") + endforeach (token) + set (_lib "NOTFOUND" CACHE INTERNAL "Scratch variable" FORCE) + # only the LAST occurence of each library is required since there should be no circular dependencies + if (_libs_found) + list (REVERSE _libs_found) + list (REMOVE_DUPLICATES _libs_found) + list (REVERSE _libs_found) + endif (_libs_found) + set (${LIBS} "${_libs_found}") +endmacro (RESOLVE_LIBRARIES) + +macro (RESOLVE_INCLUDES INCS COMPILE_LINE) + string (REGEX MATCHALL "-I([^\" ]+|\"[^\"]+\")" _all_tokens "${COMPILE_LINE}") + set (_incs_found) + foreach (token ${_all_tokens}) + string (REGEX REPLACE "^-I" "" token ${token}) + string (REGEX REPLACE "//" "/" token ${token}) + if (EXISTS ${token}) + list (APPEND _incs_found ${token}) + else (EXISTS ${token}) + message (STATUS "Include directory ${token} does not exist") + endif (EXISTS ${token}) + endforeach (token) + list (REMOVE_DUPLICATES _incs_found) + set (${INCS} "${_incs_found}") +endmacro (RESOLVE_INCLUDES) + diff --git a/cmake/Templates/geant4-config.in b/cmake/Templates/geant4-config.in new file mode 100644 index 0000000000..b635f088fd --- /dev/null +++ b/cmake/Templates/geant4-config.in @@ -0,0 +1,214 @@ +#!/bin/sh + +#------------------------------------------------------------------------------ +# sh config query script for Geant4 @geant4_VERSION@ +# +# Autogenerated by CMake DO NOT EDIT +# +# $Id: geant4-config.in,v 1.3 2010/12/14 13:53:45 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + + +#----------------------------------------------------------------------------- +# Expansion and calculation of all needed variables +# +prefix=@GEANT4_PREFIX@ +exec_prefix=@GEANT4_EXEC_PREFIX@ +libdir=@GEANT4_LIBDIR@ +includedir=@GEANT4_INCLUDEDIR@ + + +name="geant4" +description="Geant4 toolkit for the simulation of the passage of particles through matter" +version=@geant4_VERSION@ + +# 'Requires' that may affect cflags and libs. +clhep_config_exe=@CLHEP_CONFIG_EXECUTABLE@ + +# Have to add in all -D options for core vis libraries... +vis_cflags="-DG4VIS_USE_ASCIITREE \ + -DG4VIS_USE_DAWNFILE \ + -DG4VIS_USE_GMOCRENFILE \ + -DG4VIS_USE_HEPREPFILE \ + -DG4VIS_USE_RAYTRACER \ + -DG4VIS_USE_VRMLFILE" + +vis_libs="-lG4Tree \ + -lG4FR \ + -lG4GMocren \ + -lG4visHepRep \ + -lG4RayTracer \ + -lG4VRML \ + -lG4vis_management \ + -lG4modeling" + + + +# Extra optional features that were enabled. +have_gdml="@G4_BUILTWITH_GDML@" +gdml_cflags="-I@XERCESC_INCLUDE_DIRS@" + +have_qt="@G4_BUILTWITH_QT@" +qt_cflags="-I@QT_QTCORE_INCLUDE_DIR@ \ + -I@QT_QTGUI_INCLUDE_DIR@ \ + -I@QT_QTOPENGL_INCLUDE_DIR@" + +libs="-lG4interfaces \ + -lG4persistency \ + -lG4error_propagation \ + -lG4readout \ + -lG4physicslists \ + -lG4run \ + -lG4event \ + -lG4tracking \ + -lG4parmodels \ + -lG4processes \ + -lG4digits_hits \ + -lG4track \ + -lG4particles \ + -lG4geometry \ + -lG4materials \ + -lG4graphics_reps \ + -lG4intercoms \ + -lG4global" + +cflags="-I${includedir} `${clhep_config_exe} --include`" + +# - GDML +if test "x${have_gdml}" = "xyes" ; then + cflags="${cflags} ${gdml_cflags}" +fi + +# - Qt +if test "x${have_qt}" = "xyes" ; then + vis_cflags="${vis_cflags} -DG4UI_USE_QT -DG4VIS_USE_OPENGLQT ${qt_cflags}" + vis_libs="-lG4OpenGL -lG4gl2ps ${vis_libs}" +fi + + +#----------------------------------------------------------------------------- +# help function +# +help() +{ + cat<d_name)+2)*sizeof(char)); strcpy(buffer,directory); - strcat(buffer,"/"); - strcat(buffer,entry->d_name); + strncat(buffer,"/",1); + strncat(buffer,entry->d_name,strlen(entry->d_name)); s=stat(buffer,&status); if(s==0) { @@ -286,12 +286,17 @@ int main (int argc, char** argv) { exit(1); } libmapPtr->trigger=(char*)malloc(TRIGSIZE); + if(strlen(ptr)>TRIGSIZE) + { + fprintf(stderr," ERROR: String overflow for: %s\n", ptr); + exit(1); + } strcpy(libmapPtr->trigger,ptr); ptr=strtok(NULL,"/"); while(ptr&&strcmp(ptr,"GNUmakefile")) { - strcat(libmapPtr->trigger,"/"); - strcat(libmapPtr->trigger,ptr); + strncat(libmapPtr->trigger,"/",1); + strncat(libmapPtr->trigger,ptr,strlen(ptr)); ptr=strtok(NULL,"/"); } if(!ptr) @@ -338,9 +343,14 @@ int main (int argc, char** argv) { /* Look for a "user" library... */ for(libmapPtr=libmap;libmapPtr;libmapPtr=libmapPtr->next) { - strcpy(workbuf,libmapPtr->lib); + if(strlen(libmapPtr->lib)>256) + { + fprintf(stderr," ERROR: String overflow for: %s\n", libmapPtr->lib); + exit(1); + } + strcpy(workbuf,libmapPtr->lib); /* Add trailing "/" to distinguish track/ and tracking/, etc. */ - strcat(workbuf,"/"); + strncat(workbuf,"/",1); if(strstr(ptr,workbuf)) break; } if(libmapPtr) @@ -366,8 +376,13 @@ int main (int argc, char** argv) { for(libmapPtr=libmap;libmapPtr;libmapPtr=libmapPtr->next) { /* Look for trigger string. */ - strcpy(workbuf,libmapPtr->trigger); - strcat(workbuf,"/include"); + if(strlen(libmapPtr->trigger)>256) + { + fprintf(stderr," ERROR: String overflow for: %s\n", libmapPtr->trigger); + exit(1); + } + strcpy(workbuf,libmapPtr->trigger); + strncat(workbuf,"/include",8); ptr=strstr(bufferPtr,workbuf); if(ptr && (userLibmapPtr != libmapPtr)) { @@ -387,8 +402,13 @@ int main (int argc, char** argv) { happen with Objectivity which makes header files from .ddl files and places them in a temporary directory. */ + if(strlen(libmapPtr->lib)>256) + { + fprintf(stderr," ERROR: String overflow for: %s\n", libmapPtr->lib); + exit(1); + } strcpy(workbuf,libmapPtr->lib); - strcat(workbuf,"/"); + strncat(workbuf,"/",1); ptr=strstr(bufferPtr,workbuf); if(ptr && (userLibmapPtr != libmapPtr)) { diff --git a/config/scripts/env.csh.SH b/config/scripts/env.csh.SH index 82e00de4c5..e4860d433f 100755 --- a/config/scripts/env.csh.SH +++ b/config/scripts/env.csh.SH @@ -40,6 +40,8 @@ unsetenv G4NEUTRONHPDATA unsetenv G4RADIOACTIVEDATA unsetenv G4ABLADATA unsetenv G4REALSURFACEDATA +unsetenv G4NEUTRONXSDATA +unsetenv G4PIIDATA unsetenv G4LIB unsetenv G4LIB_BUILD_G3TOG4 @@ -97,97 +99,109 @@ echo "On this machine the G4SYSTEM=\$G4SYSTEM" # #+ if ( X$g4install != X$g4final_install ) then -setenv G4INSTALL "$g4final_install/src/geant4" -echo "On this machine the G4INSTALL=\$G4INSTALL" + setenv G4INSTALL "$g4final_install/src/geant4" + echo "On this machine the G4INSTALL=\$G4INSTALL" else -setenv G4INSTALL "$g4install" -echo "On this machine the G4INSTALL=\$G4INSTALL" + setenv G4INSTALL "$g4install" + echo "On this machine the G4INSTALL=\$G4INSTALL" endif #+ if ( X$g4includes_flag != Xn ) then -if ( X$g4install != X$g4final_install ) then -setenv G4INCLUDE "$g4final_install/include/geant4" -else -setenv G4INCLUDE "$g4final_install/include" -endif -echo "On this machine the G4INCLUDE=\$G4INCLUDE" -#else -#setenv G4BASE "$g4final_install/include/geant4/source" -#echo "On this machine the G4BASE=\$G4BASE" + if ( X$g4install != X$g4final_install ) then + setenv G4INCLUDE "$g4final_install/include/geant4" + else + setenv G4INCLUDE "$g4final_install/include" + endif + + echo "On this machine the G4INCLUDE=\$G4INCLUDE" endif #+ if ( X$g4lib != X ) then -if ( X$g4install != X$g4final_install ) then -setenv G4LIB "$g4final_install/lib/geant4" -else -setenv G4LIB "$g4final_install/lib" -endif -echo "On this machine the G4LIB=\$G4LIB" + if ( X$g4install != X$g4final_install ) then + setenv G4LIB "$g4final_install/lib/geant4" + else + setenv G4LIB "$g4final_install/lib" + endif + + echo "On this machine the G4LIB=\$G4LIB" endif #+ if ( X$g4levelgammadata != X ) then -setenv G4LEVELGAMMADATA "$g4levelgammadata" -echo "On this machine the G4LEVELGAMMADATA=\$G4LEVELGAMMADATA" + setenv G4LEVELGAMMADATA "$g4levelgammadata" + echo "On this machine the G4LEVELGAMMADATA=\$G4LEVELGAMMADATA" endif #+ if ( X$g4radioactivedata != X ) then -setenv G4RADIOACTIVEDATA "$g4radioactivedata" -echo "On this machine the G4RADIOACTIVEDATA=\$G4RADIOACTIVEDATA" + setenv G4RADIOACTIVEDATA "$g4radioactivedata" + echo "On this machine the G4RADIOACTIVEDATA=\$G4RADIOACTIVEDATA" endif #+ if ( X$g4ledata != X ) then -setenv G4LEDATA "$g4ledata" -echo "On this machine the G4LEDATA=\$G4LEDATA" + setenv G4LEDATA "$g4ledata" + echo "On this machine the G4LEDATA=\$G4LEDATA" endif #+ if ( X$g4neutronhpcrosssections != X ) then -setenv G4NEUTRONHPDATA "$g4neutronhpcrosssections" -echo "On this machine the G4NEUTRONHPDATA=\$G4NEUTRONHPDATA" + setenv G4NEUTRONHPDATA "$g4neutronhpcrosssections" + echo "On this machine the G4NEUTRONHPDATA=\$G4NEUTRONHPDATA" endif #+ if ( X$g4abladata != X ) then -setenv G4ABLADATA "$g4abladata" -echo "On this machine the G4ABLADATA=\$G4ABLADATA" + setenv G4ABLADATA "$g4abladata" + echo "On this machine the G4ABLADATA=\$G4ABLADATA" endif #+ if ( X$g4realsurfacedata != X ) then -setenv G4REALSURFACEDATA "$g4realsurfacedata" -echo "On this machine the G4REALSURFACEDATA=\$G4REALSURFACEDATA" + setenv G4REALSURFACEDATA "$g4realsurfacedata" + echo "On this machine the G4REALSURFACEDATA=\$G4REALSURFACEDATA" endif +#+ +if ( X$g4neutronxsdata != X ) then + setenv G4NEUTRONXSDATA "$g4neutronxsdata" + echo "On this machine the G4NEUTRONXSDATA=\$G4NEUTRONXSDATA" +endif + +#+ +if ( X$g4piidata != X ) then + setenv G4PIIDATA "$g4piidata" + echo "On this machine the G4PIIDATA=\$G4PIIDATA" +endif + + # # g4clhep.U # if ( X$g4clhep_base_dir != X ) then -setenv CLHEP_BASE_DIR "$g4clhep_base_dir" -echo "On this machine the CLHEP_BASE_DIR=\$CLHEP_BASE_DIR" + setenv CLHEP_BASE_DIR "$g4clhep_base_dir" + echo "On this machine the CLHEP_BASE_DIR=\$CLHEP_BASE_DIR" endif #+ if ( X$g4clhep_include_dir != X ) then -setenv CLHEP_INCLUDE_DIR "$g4clhep_include_dir" -echo "On this machine the CLHEP_INCLUDE_DIR=\$CLHEP_INCLUDE_DIR" + setenv CLHEP_INCLUDE_DIR "$g4clhep_include_dir" + echo "On this machine the CLHEP_INCLUDE_DIR=\$CLHEP_INCLUDE_DIR" endif #+ if ( X$g4clhep_lib_dir != X ) then -setenv CLHEP_LIB_DIR "$g4clhep_lib_dir" -echo "On this machine the CLHEP_LIB_DIR=\$CLHEP_LIB_DIR" + setenv CLHEP_LIB_DIR "$g4clhep_lib_dir" + echo "On this machine the CLHEP_LIB_DIR=\$CLHEP_LIB_DIR" endif #+ if ( X$g4clhep_lib != X ) then -setenv CLHEP_LIB "$g4clhep_lib" -echo "On this machine the CLHEP_LIB=\$CLHEP_LIB" + setenv CLHEP_LIB "$g4clhep_lib" + echo "On this machine the CLHEP_LIB=\$CLHEP_LIB" endif #+ @@ -195,8 +209,8 @@ endif # g4debug # if ( X$g4debug == Xy ) then -setenv G4DEBUG 1 -echo "On this machine the G4DEBUG=\$G4DEBUG" + setenv G4DEBUG 1 + echo "On this machine the G4DEBUG=\$G4DEBUG" endif @@ -205,64 +219,64 @@ endif # #+ if ( X$g4ui_none == Xy ) then -setenv G4UI_NONE 1 -echo "On this machine G4UI_NONE is set, so no user interfaces are available" + 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 + 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 -echo "On this machine the G4UI_BUILD_XAW_SESSION=\$G4UI_BUILD_XAW_SESSION" + setenv G4UI_BUILD_XAW_SESSION 1 + echo "On this machine the G4UI_BUILD_XAW_SESSION=\$G4UI_BUILD_XAW_SESSION" endif #+ if ( X$g4ui_use_xaw == Xy ) then -setenv G4UI_USE_XAW 1 -echo "On this machine the G4UI_USE_XAW=\$G4UI_USE_XAW" + setenv G4UI_USE_XAW 1 + echo "On this machine the G4UI_USE_XAW=\$G4UI_USE_XAW" endif #+ if ( X$g4ui_build_xm_session == Xy ) then -setenv G4UI_BUILD_XM_SESSION 1 -echo "On this machine the G4UI_BUILD_XM_SESSION=\$G4UI_BUILD_XM_SESSION" + setenv G4UI_BUILD_XM_SESSION 1 + echo "On this machine the G4UI_BUILD_XM_SESSION=\$G4UI_BUILD_XM_SESSION" endif #+ if ( X$g4ui_use_xm == Xy ) then -setenv G4UI_USE_XM 1 -echo "On this machine the G4UI_USE_XM=\$G4UI_USE_XM" + setenv G4UI_USE_XM 1 + echo "On this machine the G4UI_USE_XM=\$G4UI_USE_XM" endif #+ if ( X$g4ui_build_win32_session == Xy ) then -setenv G4UI_BUILD_WIN32_SESSION 1 -echo "On this machine the G4UI_BUILD_WIN32_SESSION=\$G4UI_BUILD_WIN32_SESSION" + setenv G4UI_BUILD_WIN32_SESSION 1 + echo "On this machine the G4UI_BUILD_WIN32_SESSION=\$G4UI_BUILD_WIN32_SESSION" endif #+ if ( X$g4ui_use_win32 == Xy ) then -setenv G4UI_USE_WIN32 1 -echo "On this machine the G4UI_USE_WIN32=\$G4UI_USE_WIN32" + setenv G4UI_USE_WIN32 1 + echo "On this machine the G4UI_USE_WIN32=\$G4UI_USE_WIN32" endif #+ if ( X$g4ui_build_qt_session == Xy ) then -setenv G4UI_BUILD_QT_SESSION 1 -echo "On this machine the G4UI_BUILD_QT_SESSION=\$G4UI_BUILD_QT_SESSION" + setenv G4UI_BUILD_QT_SESSION 1 + echo "On this machine the G4UI_BUILD_QT_SESSION=\$G4UI_BUILD_QT_SESSION" endif #+ if ( X$g4ui_use_qt == Xy ) then -setenv G4UI_USE_QT 1 -echo "On this machine the G4UI_USE_QT=\$G4UI_USE_QT" + setenv G4UI_USE_QT 1 + echo "On this machine the G4UI_USE_QT=\$G4UI_USE_QT" endif @@ -272,160 +286,160 @@ endif # #+ if ( X$g4vis_none == Xy ) then -setenv G4VIS_NONE 1 -echo "On this machine G4VIS_NONE is set, so no vis drivers are available" + 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 -echo "On this machine the G4VIS_BUILD_DAWN_DRIVER=\$G4VIS_BUILD_DAWN_DRIVER" + setenv G4VIS_BUILD_DAWN_DRIVER 1 + echo "On this machine the G4VIS_BUILD_DAWN_DRIVER=\$G4VIS_BUILD_DAWN_DRIVER" endif #+ if ( X$g4vis_build_openglx_driver == Xy ) then -setenv G4VIS_BUILD_OPENGLX_DRIVER 1 -echo "On this machine the G4VIS_BUILD_OPENGLX_DRIVER=\$G4VIS_BUILD_OPENGLX_DRIVER" + setenv G4VIS_BUILD_OPENGLX_DRIVER 1 + echo "On this machine the G4VIS_BUILD_OPENGLX_DRIVER=\$G4VIS_BUILD_OPENGLX_DRIVER" endif #+ if ( X$g4vis_build_openglxm_driver == Xy ) then -setenv G4VIS_BUILD_OPENGLXM_DRIVER 1 -echo "On this machine the G4VIS_BUILD_OPENGLXM_DRIVER=\$G4VIS_BUILD_OPENGLXM_DRIVER" + setenv G4VIS_BUILD_OPENGLXM_DRIVER 1 + echo "On this machine the G4VIS_BUILD_OPENGLXM_DRIVER=\$G4VIS_BUILD_OPENGLXM_DRIVER" endif #+ if ( X$g4vis_build_openglwin32_driver == Xy ) then -setenv G4VIS_BUILD_OPENGLWIN32_DRIVER 1 -echo "On this machine the G4VIS_BUILD_OPENGLWIN32_DRIVER=\$G4VIS_BUILD_OPENGLWIN32_DRIVER" + setenv G4VIS_BUILD_OPENGLWIN32_DRIVER 1 + echo "On this machine the G4VIS_BUILD_OPENGLWIN32_DRIVER=\$G4VIS_BUILD_OPENGLWIN32_DRIVER" endif #+ if ( X$g4vis_build_oix_driver == Xy ) then -setenv G4VIS_BUILD_OIX_DRIVER 1 -echo "On this machine the G4VIS_BUILD_OIX_DRIVER=\$G4VIS_BUILD_OIX_DRIVER" + setenv G4VIS_BUILD_OIX_DRIVER 1 + echo "On this machine the G4VIS_BUILD_OIX_DRIVER=\$G4VIS_BUILD_OIX_DRIVER" endif #+ if ( X$g4vis_build_raytracerx_driver == Xy ) then -setenv G4VIS_BUILD_RAYTRACERX_DRIVER 1 -echo "On this machine the G4VIS_BUILD_RAYTRACERX_DRIVER=\$G4VIS_BUILD_RAYTRACERX_DRIVER" + setenv G4VIS_BUILD_RAYTRACERX_DRIVER 1 + echo "On this machine the G4VIS_BUILD_RAYTRACERX_DRIVER=\$G4VIS_BUILD_RAYTRACERX_DRIVER" endif #+ if ( X$g4vis_build_oiwin32_driver == Xy ) then -setenv G4VIS_BUILD_OIWIN32_DRIVER 1 -echo "On this machine the G4VIS_BUILD_OIWIN32_DRIVER=\$G4VIS_BUILD_OIWIN32_DRIVER" + setenv G4VIS_BUILD_OIWIN32_DRIVER 1 + echo "On this machine the G4VIS_BUILD_OIWIN32_DRIVER=\$G4VIS_BUILD_OIWIN32_DRIVER" endif #+ if ( X$g4vis_build_vrml_driver == Xy ) then -setenv G4VIS_BUILD_VRML_DRIVER 1 -echo "On this machine the G4VIS_BUILD_VRML_DRIVER=\$G4VIS_BUILD_VRML_DRIVER" + setenv G4VIS_BUILD_VRML_DRIVER 1 + echo "On this machine the G4VIS_BUILD_VRML_DRIVER=\$G4VIS_BUILD_VRML_DRIVER" endif #+ if ( X$g4vis_build_openglqt_driver == Xy ) then -setenv G4VIS_BUILD_OPENGLQT_DRIVER 1 -echo "On this machine the G4VIS_BUILD_OPENGLQT_DRIVER=\$G4VIS_BUILD_OPENGLQT_DRIVER" + setenv G4VIS_BUILD_OPENGLQT_DRIVER 1 + echo "On this machine the G4VIS_BUILD_OPENGLQT_DRIVER=\$G4VIS_BUILD_OPENGLQT_DRIVER" endif #+ if ( X$g4vis_use_dawn == Xy ) then -setenv G4VIS_USE_DAWN 1 -echo "On this machine the G4VIS_USE_DAWN=\$G4VIS_USE_DAWN" + setenv G4VIS_USE_DAWN 1 + echo "On this machine the G4VIS_USE_DAWN=\$G4VIS_USE_DAWN" endif #+ if ( X$g4vis_use_openglx == Xy ) then -setenv G4VIS_USE_OPENGLX 1 -echo "On this machine the G4VIS_USE_OPENGLX=\$G4VIS_USE_OPENGLX" + setenv G4VIS_USE_OPENGLX 1 + echo "On this machine the G4VIS_USE_OPENGLX=\$G4VIS_USE_OPENGLX" endif #+ if ( X$g4vis_use_openglxm == Xy ) then -setenv G4VIS_USE_OPENGLXM 1 -echo "On this machine the G4VIS_USE_OPENGLXM=\$G4VIS_USE_OPENGLXM" + setenv G4VIS_USE_OPENGLXM 1 + echo "On this machine the G4VIS_USE_OPENGLXM=\$G4VIS_USE_OPENGLXM" endif #+ if ( X$g4vis_use_openglwin32 == Xy ) then -setenv G4VIS_USE_OPENGLWIN32 1 -echo "On this machine the G4VIS_USE_OPENGLWIN32=\$G4VIS_USE_OPENGLWIN32" + setenv G4VIS_USE_OPENGLWIN32 1 + echo "On this machine the G4VIS_USE_OPENGLWIN32=\$G4VIS_USE_OPENGLWIN32" endif #+ if ( X$g4vis_use_oix == Xy ) then -setenv G4VIS_USE_OIX 1 -echo "On this machine the G4VIS_USE_OIX=\$G4VIS_USE_OIX" + setenv G4VIS_USE_OIX 1 + echo "On this machine the G4VIS_USE_OIX=\$G4VIS_USE_OIX" endif #+ if ( X$g4vis_use_raytracerx == Xy ) then -setenv G4VIS_USE_RAYTRACERX 1 -echo "On this machine the G4VIS_USE_RAYTRACERX=\$G4VIS_USE_RAYTRACERX" + setenv G4VIS_USE_RAYTRACERX 1 + echo "On this machine the G4VIS_USE_RAYTRACERX=\$G4VIS_USE_RAYTRACERX" endif #+ if ( X$g4vis_use_oiwin32 == Xy ) then -setenv G4VIS_USE_OIWIN32 1 -echo "On this machine the G4VIS_USE_OIWIN32=\$G4VIS_USE_OIWIN32" + setenv G4VIS_USE_OIWIN32 1 + echo "On this machine the G4VIS_USE_OIWIN32=\$G4VIS_USE_OIWIN32" endif #+ if ( X$g4vis_use_vrml == Xy ) then -setenv G4VIS_USE_VRML 1 -echo "On this machine the G4VIS_USE_VRML=\$G4VIS_USE_VRML" + setenv G4VIS_USE_VRML 1 + echo "On this machine the G4VIS_USE_VRML=\$G4VIS_USE_VRML" endif #+ if ( X$g4vis_use_openglqt == Xy ) then -setenv G4VIS_USE_OPENGLQT 1 -echo "On this machine the G4VIS_USE_OPENGLQT=\$G4VIS_USE_OPENGLQT" + setenv G4VIS_USE_OPENGLQT 1 + echo "On this machine the G4VIS_USE_OPENGLQT=\$G4VIS_USE_OPENGLQT" endif #+ if ( X$g4vis_oglhome != X ) then -setenv OGLHOME "$g4vis_oglhome" -echo "On this machine the OGLHOME=\$OGLHOME" + setenv OGLHOME "$g4vis_oglhome" + echo "On this machine the OGLHOME=\$OGLHOME" endif #+ if ( X$g4vis_oivhome != X ) then -setenv OIVHOME "$g4vis_oivhome" -echo "On this machine the OIVHOME=\$OIVHOME" + setenv OIVHOME "$g4vis_oivhome" + echo "On this machine the OIVHOME=\$OIVHOME" endif #+ if ( X$g4vis_build_openglxm_driver != X ) then -setenv XMFLAGS "$g4vis_xmflags" -echo "On this machine the XMFLAGS=\$XMFLAGS" + setenv XMFLAGS "$g4vis_xmflags" + echo "On this machine the XMFLAGS=\$XMFLAGS" endif #+ if ( X$g4vis_build_openglxm_driver != X ) then -setenv XMLIBS "$g4vis_xmlibs" -echo "On this machine the XMLIBS=\$XMLIBS" + setenv XMLIBS "$g4vis_xmlibs" + echo "On this machine the XMLIBS=\$XMLIBS" endif #+ if ( X$g4ui_build_xm_session != X ) then -setenv XMFLAGS "$g4vis_xmflags" -echo "On this machine the XMFLAGS=\$XMFLAGS" + setenv XMFLAGS "$g4vis_xmflags" + echo "On this machine the XMFLAGS=\$XMFLAGS" endif #+ if ( X$g4ui_build_xm_session != X ) then -setenv XMLIBS "$g4vis_xmlibs" -echo "On this machine the XMLIBS=\$XMLIBS" + setenv XMLIBS "$g4vis_xmlibs" + echo "On this machine the XMLIBS=\$XMLIBS" endif #+ if ( X$g4ui_build_xaw_session != X ) then -setenv XAWFLAGS "$g4ui_xawflags" -echo "On this machine the XAWFLAGS=\$XAWFLAGS" + setenv XAWFLAGS "$g4ui_xawflags" + echo "On this machine the XAWFLAGS=\$XAWFLAGS" endif #+ @@ -439,27 +453,29 @@ endif # Qt Flags and Libs, messy, but needed for backward compatibility #+ if ( "X$g4ui_build_qt_session" == "Xy" || "X$g4ui_use_qt" == "Xy" ) then -setenv QTFLAGS "$g4_qt_cxxflags" -setenv QTLIBS "$g4_qt_libs" -setenv QTMOC "$g4_qt_moc" -echo "On this machine the QTFLAGS=\$QTFLAGS" -echo "On this machine the QTLIBS=\$QTLIBS" -echo "On this machine the QTMOC=\$QTMOC" + setenv QTFLAGS "$g4_qt_cxxflags" + setenv QTLIBS "$g4_qt_libs" + setenv QTMOC "$g4_qt_moc" + echo "On this machine the QTFLAGS=\$QTFLAGS" + echo "On this machine the QTLIBS=\$QTLIBS" + echo "On this machine the QTMOC=\$QTMOC" endif if ( "X$g4vis_build_openglqt_driver" == "Xy" || "X$g4vis_build_openglqt_driver" == "Xy" ) then -if ( "X\$QTFLAGS" == "X" ) then -setenv QTFLAGS "$g4_qt_cxxflags $g4_qt_gl_cxxflags" -else -setenv QTFLAGS "\$QTFLAGS $g4_qt_gl_cxxflags" -endif -if ( "X\$QTMOC" == "X" ) then -setenv QTMOC "$g4_qt_moc" -endif -setenv GLQTLIBS "$g4_qt_libs $g4_qt_gl_libs" -echo "On this machine the QTFLAGS=\$QTFLAGS" -echo "On this machine the GLQTLIBS=\$GLQTLIBS" -echo "On this machine the QTMOC=\$QTMOC" + if ( "X\$QTFLAGS" == "X" ) then + setenv QTFLAGS "$g4_qt_cxxflags $g4_qt_gl_cxxflags" + else + setenv QTFLAGS "\$QTFLAGS $g4_qt_gl_cxxflags" + endif + + if ( "X\$QTMOC" == "X" ) then + setenv QTMOC "$g4_qt_moc" + endif + + setenv GLQTLIBS "$g4_qt_libs $g4_qt_gl_libs" + echo "On this machine the QTFLAGS=\$QTFLAGS" + echo "On this machine the GLQTLIBS=\$GLQTLIBS" + echo "On this machine the QTMOC=\$QTMOC" endif @@ -471,13 +487,13 @@ endif # #+ if ( X$g4lib_build_gdml == Xy ) then -setenv G4LIB_BUILD_GDML 1 -echo "On this machine the G4LIB_BUILD_GDML=\$G4LIB_BUILD_GDML" + setenv G4LIB_BUILD_GDML 1 + echo "On this machine the G4LIB_BUILD_GDML=\$G4LIB_BUILD_GDML" endif if ( X$g4lib_build_gdml == Xy ) then -setenv XERCESCROOT "$g4gdml_xercesc_root" -echo "On this machine the XERCESCROOT=\$XERCESCROOT" + setenv XERCESCROOT "$g4gdml_xercesc_root" + echo "On this machine the XERCESCROOT=\$XERCESCROOT" endif @@ -488,13 +504,13 @@ endif # #+ if ( X$g4wlib_build_g3tog4 == Xy ) then -setenv G4LIB_BUILD_G3TOG4 1 -echo "On this machine the G4LIB_BUILD_G3TOG4=\$G4LIB_BUILD_G3TOG4" + setenv G4LIB_BUILD_G3TOG4 1 + echo "On this machine the G4LIB_BUILD_G3TOG4=\$G4LIB_BUILD_G3TOG4" endif if ( X$g4w_use_g3tog4 == Xy ) then -setenv G4LIB_USE_G3TOG4 1 -echo "On this machine the G4LIB_USE_G3TOG4=\$G4LIB_USE_G3TOG4" + setenv G4LIB_USE_G3TOG4 1 + echo "On this machine the G4LIB_USE_G3TOG4=\$G4LIB_USE_G3TOG4" endif @@ -503,13 +519,13 @@ endif # #+ if ( X$g4wlib_build_zlib == Xy ) then -setenv G4LIB_BUILD_ZLIB 1 -echo "On this machine the G4LIB_BUILD_ZLIB=\$G4LIB_BUILD_ZLIB" + setenv G4LIB_BUILD_ZLIB 1 + echo "On this machine the G4LIB_BUILD_ZLIB=\$G4LIB_BUILD_ZLIB" endif if ( X$g4w_use_ZLIB == Xy ) then -setenv G4LIB_USE_ZLIB 1 -echo "On this machine the G4LIB_USE_ZLIB=\$G4LIB_USE_ZLIB" + setenv G4LIB_USE_ZLIB 1 + echo "On this machine the G4LIB_USE_ZLIB=\$G4LIB_USE_ZLIB" endif #+ @@ -517,13 +533,13 @@ endif # g4shared # if ( X$g4lib_build_shared == Xy ) then -setenv G4LIB_BUILD_SHARED 1 -echo "On this machine the G4LIB_BUILD_SHARED=\$G4LIB_BUILD_SHARED" + setenv G4LIB_BUILD_SHARED 1 + echo "On this machine the G4LIB_BUILD_SHARED=\$G4LIB_BUILD_SHARED" endif if ( X$g4lib_build_static == Xy ) then -setenv G4LIB_BUILD_STATIC 1 -echo "On this machine the G4LIB_BUILD_STATIC=\$G4LIB_BUILD_STATIC" + setenv G4LIB_BUILD_STATIC 1 + echo "On this machine the G4LIB_BUILD_STATIC=\$G4LIB_BUILD_STATIC" endif #+ @@ -531,8 +547,8 @@ endif # g4granular # if ( X$g4lib_use_granular == Xy ) then -setenv G4LIB_USE_GRANULAR 1 -echo "On this machine the G4LIB_USE_GRANULAR=\$G4LIB_USE_GRANULAR" + setenv G4LIB_USE_GRANULAR 1 + echo "On this machine the G4LIB_USE_GRANULAR=\$G4LIB_USE_GRANULAR" endif ##################################################################### @@ -548,85 +564,104 @@ $spitshell >>env.csh <<'!NO!SUBS!' # G4WORKDIR # if ( ${?G4WORKDIR} ) then -echo "In your environment you have the G4WORKDIR=$G4WORKDIR" + echo "In your environment you have the G4WORKDIR=$G4WORKDIR" else -# Check for Windows! -if ( "X$G4SYSTEM" == "XWIN32-VC" || "X$G4SYSTEM" == "XWIN32-VC7" ) then - -echo "G4WORKDIR will be set to c:/geant4 (in "native" Windows syntax)." -setenv G4WORKDIR "c:/geant4" - -else # if Unix - -echo "G4WORKDIR will be set to HOME/geant4=$HOME/geant4" -setenv G4WORKDIR $HOME/geant4 - -endif + # Check for Windows! + if ( "X$G4SYSTEM" == "XWIN32-VC" || "X$G4SYSTEM" == "XWIN32-VC7" ) then + echo "G4WORKDIR will be set to c:/geant4 (in "native" Windows syntax)." + setenv G4WORKDIR "c:/geant4" + else # if Unix + echo "G4WORKDIR will be set to HOME/geant4=$HOME/geant4" + setenv G4WORKDIR $HOME/geant4 + endif endif # -# Shared libraries -# -if ( ${?G4LIB_BUILD_SHARED} ) then +# *NIX Shared Libraries +# If we built Geant4 with shared libraries, we need to add the Gean4 +# library directory to (DY)LD_LIBRARY_PATH. +# In all cases, external shared library directories should be added to +# (DY)LD_LIBRARY_PATH + +if ( "X$G4SYSTEM" != "XDarwin-g++" ) then + if ( ${?LD_LIBRARY_PATH} ) then + if ( ${?G4LIB_BUILD_SHARED} ) then + setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4LIB}/${G4SYSTEM} + endif + + setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${CLHEP_LIB_DIR} + + if ( ${?G4LIB_BUILD_GDML} ) then + setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${XERCESCROOT}/lib + endif + + else + if ( ${?G4LIB_BUILD_SHARED} ) then + setenv LD_LIBRARY_PATH ${G4LIB}/${G4SYSTEM} + setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${CLHEP_LIB_DIR} + else + setenv LD_LIBRARY_PATH ${CLHEP_LIB_DIR} + endif + + if ( ${?G4LIB_BUILD_GDML} ) then + setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${XERCESCROOT}/lib + endif + endif +else + # + # Darwin Shared Libraries + # we repeat the above logic, but for DYLD_LIBRARY_PATH + # + if ( ${?DYLD_LIBRARY_PATH} ) then + if ( ${?G4LIB_BUILD_SHARED} ) then + setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:${G4LIB}/${G4SYSTEM} + endif + + setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:${CLHEP_LIB_DIR} + + if ( ${?G4LIB_BUILD_GDML} ) then + setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:${XERCESCROOT}/lib + endif + else + if ( ${?G4LIB_BUILD_SHARED} ) then + setenv DYLD_LIBRARY_PATH ${G4LIB}/${G4SYSTEM} + setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:${CLHEP_LIB_DIR} + else + setenv DYLD_LIBRARY_PATH ${CLHEP_LIB_DIR} + endif + + if ( ${?G4LIB_BUILD_GDML} ) then + setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:${XERCESCROOT}/lib + endif + endif +endif + # # Warning about LD_LIBRARY_PATH # echo '' -echo 'LD_LIBRARY_PATH is set to include CLHEP and Geant4 libraries. ' -echo '' -echo 'NOTE : verify that the correct path for the CLHEP library' -echo '- $CLHEP_BASE_DIR/lib - is included in the $LD_LIBRARY_PATH' -echo 'variable in your environment, and no other outdated installations' -echo 'of CLHEP are by chance referenced through $LD_LIBRARY_PATH and' -echo 'present in your system !' -echo '' - -if ( ${?LD_LIBRARY_PATH} ) then -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4LIB}/${G4SYSTEM} -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${CLHEP_LIB_DIR} - -if ( ${?G4LIB_BUILD_GDML} ) then - setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${XERCESCROOT}/lib -endif - -else -setenv LD_LIBRARY_PATH ${G4LIB}/${G4SYSTEM} -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${CLHEP_LIB_DIR} - -if ( ${?G4LIB_BUILD_GDML} ) then - setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${XERCESCROOT}/lib -endif - -endif -endif - -# -# Shared libraries for Mac -# -if ( "X$G4SYSTEM" == "XDarwin-g++" ) then - if ( ${?G4LIB_BUILD_SHARED} ) then -if ( ${?DYLD_LIBRARY_PATH} ) then -setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:${G4LIB}/${G4SYSTEM} -setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:${CLHEP_LIB_DIR} - -if ( ${?G4LIB_BUILD_GDML} ) then - setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:${XERCESCROOT}/lib -endif - + if ( "X$G4SYSTEM" == "XDarwin-g++" ) then + echo 'DYLD_LIBRARY_PATH is set to include CLHEP and Geant4 libraries. ' + else + echo 'LD_LIBRARY_PATH is set to include CLHEP and Geant4 libraries. ' + endif else -setenv DYLD_LIBRARY_PATH ${G4LIB}/${G4SYSTEM} -setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:${CLHEP_LIB_DIR} - -if ( ${?G4LIB_BUILD_GDML} ) then - setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:${XERCESCROOT}/lib -endif - -endif -endif - + if ( "X$G4SYSTEM" == "XDarwin-g++" ) then + echo 'DYLD_LIBRARY_PATH is set to include CLHEP libraries. ' + else + echo 'LD_LIBRARY_PATH is set to include CLHEP libraries. ' + endif endif +echo 'NOTE : you should verify that the correct path for the CLHEP library' +echo '' +echo ${CLHEP_BASE_DIR}/lib +echo '' +echo 'is included in the dynamic library search path ahead of any other' +echo 'installations of CLHEP on your system that may be referenced by this' +echo 'path.' +echo '' # # For BIN diff --git a/config/scripts/env.sh.SH b/config/scripts/env.sh.SH index b9f1e678af..d6870e1c00 100755 --- a/config/scripts/env.sh.SH +++ b/config/scripts/env.sh.SH @@ -40,6 +40,8 @@ unset G4NEUTRONHPDATA unset G4RADIOACTIVEDATA unset G4ABLADATA unset G4REALSURFACEDATA +unset G4NEUTRONXSDATA +unset G4PIIDATA unset G4LIB unset G4LIB_BUILD_G3TOG4 @@ -93,7 +95,7 @@ unset G4VIS_USE_OPENGLQT G4SYSTEM="$g4system" export G4SYSTEM if [ X\$g4non_display = X ] ; then -echo "On this machine the G4SYSTEM=\$G4SYSTEM" + echo "On this machine the G4SYSTEM=\$G4SYSTEM" fi # @@ -101,137 +103,150 @@ fi # #+ if [ X$g4install != X$g4final_install ] ; then -G4INSTALL="$g4final_install/src/geant4" + G4INSTALL="$g4final_install/src/geant4" else -G4INSTALL="$g4install" + G4INSTALL="$g4install" fi export G4INSTALL if [ X\$g4non_display = X ] ; then -echo "On this machine the G4INSTALL=\$G4INSTALL" + echo "On this machine the G4INSTALL=\$G4INSTALL" fi #+ if [ X$g4includes_flag != Xn ] ; then -if [ X$g4install != X$g4final_install ] ; then -G4INCLUDE="$g4final_install/include/geant4" -else -G4INCLUDE="$g4install/include/" -fi -export G4INCLUDE -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4INCLUDE=\$G4INCLUDE" -fi -#else -#G4BASE="$g4final_install/include/geant4/source" -#export G4BASE -#if [ X\$g4non_display = X ] ; then -#echo "On this machine the G4BASE=\$G4BASE" -#fi + if [ X$g4install != X$g4final_install ] ; then + G4INCLUDE="$g4final_install/include/geant4" + else + G4INCLUDE="$g4install/include/" + fi + export G4INCLUDE + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4INCLUDE=\$G4INCLUDE" + fi fi #+ if [ X$g4lib != X ] ; then -if [ X$g4install != X$g4final_install ] ; then -G4LIB="$g4final_install/lib/geant4" -else -G4LIB="$g4install/lib" -fi -export G4LIB -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4LIB=\$G4LIB" -fi + if [ X$g4install != X$g4final_install ] ; then + G4LIB="$g4final_install/lib/geant4" + else + G4LIB="$g4install/lib" + fi + export G4LIB + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4LIB=\$G4LIB" + fi fi #+ if [ X$g4levelgammadata != X ] ; then -G4LEVELGAMMADATA="$g4levelgammadata" -export G4LEVELGAMMADATA -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4LEVELGAMMADATA=\$G4LEVELGAMMADATA" -fi + G4LEVELGAMMADATA="$g4levelgammadata" + export G4LEVELGAMMADATA + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4LEVELGAMMADATA=\$G4LEVELGAMMADATA" + fi fi #+ if [ X$g4radioactivedata != X ] ; then -G4RADIOACTIVEDATA="$g4radioactivedata" -export G4RADIOACTIVEDATA -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4RADIOACTIVEDATA=\$G4RADIOACTIVEDATA" -fi + G4RADIOACTIVEDATA="$g4radioactivedata" + export G4RADIOACTIVEDATA + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4RADIOACTIVEDATA=\$G4RADIOACTIVEDATA" + fi fi #+ if [ X$g4ledata != X ] ; then -G4LEDATA="$g4ledata" -export G4LEDATA -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4LEDATA=\$G4LEDATA" -fi + G4LEDATA="$g4ledata" + export G4LEDATA + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4LEDATA=\$G4LEDATA" + fi fi #+ if [ X$g4neutronhpcrosssections != X ] ; then -G4NEUTRONHPDATA="$g4neutronhpcrosssections" -export G4NEUTRONHPDATA -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4NEUTRONHPDATA=\$G4NEUTRONHPDATA" -fi + G4NEUTRONHPDATA="$g4neutronhpcrosssections" + export G4NEUTRONHPDATA + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4NEUTRONHPDATA=\$G4NEUTRONHPDATA" + fi fi #+ if [ X$g4abladata != X ] ; then -G4ABLADATA="$g4abladata" -export G4ABLADATA -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4ABLADATA=\$G4ABLADATA" -fi + G4ABLADATA="$g4abladata" + export G4ABLADATA + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4ABLADATA=\$G4ABLADATA" + fi fi #+ if [ X$g4realsurfacedata != X ] ; then -G4REALSURFACEDATA="$g4realsurfacedata" -export G4REALSURFACEDATA -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4REALSURFACEDATA=\$G4REALSURFACEDATA" + G4REALSURFACEDATA="$g4realsurfacedata" + export G4REALSURFACEDATA + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4REALSURFACEDATA=\$G4REALSURFACEDATA" + fi fi + +#+ +if [ X$g4neutronxsdata != X ] ; then + G4NEUTRONXSDATA="$g4neutronxsdata" + export G4NEUTRONXSDATA + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4NEUTRONXSDATA=\$G4NEUTRONXSDATA" + fi fi +#+ +if [ X$g4piidata != X ] ; then + G4PIIDATA="$g4piidata" + export G4PIIDATA + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4PIIDATA=\$G4PIIDATA" + fi +fi + + # # g4clhep.U # if [ X$g4clhep_base_dir != X ] ; then -CLHEP_BASE_DIR="$g4clhep_base_dir" -export CLHEP_BASE_DIR -if [ X\$g4non_display = X ] ; then -echo "On this machine the CLHEP_BASE_DIR=\$CLHEP_BASE_DIR" -fi + CLHEP_BASE_DIR="$g4clhep_base_dir" + export CLHEP_BASE_DIR + if [ X\$g4non_display = X ] ; then + echo "On this machine the CLHEP_BASE_DIR=\$CLHEP_BASE_DIR" + fi fi #+ if [ X$g4clhep_include_dir != X ] ; then -CLHEP_INCLUDE_DIR="$g4clhep_include_dir" -export CLHEP_INCLUDE_DIR -if [ X\$g4non_display = X ] ; then -echo "On this machine the CLHEP_INCLUDE_DIR=\$CLHEP_INCLUDE_DIR" -fi + CLHEP_INCLUDE_DIR="$g4clhep_include_dir" + export CLHEP_INCLUDE_DIR + if [ X\$g4non_display = X ] ; then + echo "On this machine the CLHEP_INCLUDE_DIR=\$CLHEP_INCLUDE_DIR" + fi fi #+ if [ X$g4clhep_lib_dir != X ] ; then -CLHEP_LIB_DIR="$g4clhep_lib_dir" -export CLHEP_LIB_DIR -if [ X\$g4non_display = X ] ; then -echo "On this machine the CLHEP_LIB_DIR=\$CLHEP_LIB_DIR" -fi + CLHEP_LIB_DIR="$g4clhep_lib_dir" + export CLHEP_LIB_DIR + if [ X\$g4non_display = X ] ; then + echo "On this machine the CLHEP_LIB_DIR=\$CLHEP_LIB_DIR" + fi fi #+ if [ X$g4clhep_lib != X ] ; then -CLHEP_LIB="$g4clhep_lib" -export CLHEP_LIB -if [ X\$g4non_display = X ] ; then -echo "On this machine the CLHEP_LIB=\$CLHEP_LIB" -fi + CLHEP_LIB="$g4clhep_lib" + export CLHEP_LIB + if [ X\$g4non_display = X ] ; then + echo "On this machine the CLHEP_LIB=\$CLHEP_LIB" + fi fi #+ @@ -239,11 +254,11 @@ fi # g4debug # if [ X$g4debug = Xy ] ; then -G4DEBUG=1 -export G4DEBUG -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4DEBUG=\$G4DEBUG" -fi + G4DEBUG=1 + export G4DEBUG + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4DEBUG=\$G4DEBUG" + fi fi @@ -252,11 +267,11 @@ fi # #+ 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 + 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 @@ -266,87 +281,87 @@ 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 + 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 -export G4UI_BUILD_XAW_SESSION -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4UI_BUILD_XAW_SESSION=\$G4UI_BUILD_XAW_SESSION" -fi + G4UI_BUILD_XAW_SESSION=1 + export G4UI_BUILD_XAW_SESSION + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4UI_BUILD_XAW_SESSION=\$G4UI_BUILD_XAW_SESSION" + fi fi #+ if [ X$g4ui_use_xaw = Xy ] ; then -G4UI_USE_XAW=1 -export G4UI_USE_XAW -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4UI_USE_XAW=\$G4UI_USE_XAW" -fi + G4UI_USE_XAW=1 + export G4UI_USE_XAW + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4UI_USE_XAW=\$G4UI_USE_XAW" + fi fi #+ if [ X$g4ui_build_xm_session = Xy ] ; then -G4UI_BUILD_XM_SESSION=1 -export G4UI_BUILD_XM_SESSION -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4UI_BUILD_XM_SESSION=\$G4UI_BUILD_XM_SESSION" -fi + G4UI_BUILD_XM_SESSION=1 + export G4UI_BUILD_XM_SESSION + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4UI_BUILD_XM_SESSION=\$G4UI_BUILD_XM_SESSION" + fi fi #+ if [ X$g4ui_use_xm = Xy ] ; then -G4UI_USE_XM=1 -export G4UI_USE_XM -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4UI_USE_XM=\$G4UI_USE_XM" -fi + G4UI_USE_XM=1 + export G4UI_USE_XM + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4UI_USE_XM=\$G4UI_USE_XM" + fi fi #+ if [ X$g4ui_build_win32_session = Xy ] ; then -G4UI_BUILD_WIN32_SESSION=1 -export G4UI_BUILD_WIN32_SESSION -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4UI_BUILD_WIN32_SESSION=\$G4UI_BUILD_WIN32_SESSION" -fi + G4UI_BUILD_WIN32_SESSION=1 + export G4UI_BUILD_WIN32_SESSION + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4UI_BUILD_WIN32_SESSION=\$G4UI_BUILD_WIN32_SESSION" + fi fi #+ if [ X$g4ui_use_win32 = Xy ] ; then -G4UI_USE_WIN32=1 -export G4UI_USE_WIN32 -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4UI_USE_WIN32=\$G4UI_USE_WIN32" -fi + G4UI_USE_WIN32=1 + export G4UI_USE_WIN32 + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4UI_USE_WIN32=\$G4UI_USE_WIN32" + fi fi #+ if [ X$g4ui_build_qt_session = Xy ] ; then -G4UI_BUILD_QT_SESSION=1 -export G4UI_BUILD_QT_SESSION -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4UI_BUILD_QT_SESSION=\$G4UI_BUILD_QT_SESSION" -fi + G4UI_BUILD_QT_SESSION=1 + export G4UI_BUILD_QT_SESSION + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4UI_BUILD_QT_SESSION=\$G4UI_BUILD_QT_SESSION" + fi fi #+ if [ X$g4ui_use_qt = Xy ] ; then -G4UI_USE_QT=1 -export G4UI_USE_QT -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4UI_USE_QT=\$G4UI_USE_QT" -fi + G4UI_USE_QT=1 + export G4UI_USE_QT + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4UI_USE_QT=\$G4UI_USE_QT" + fi fi @@ -356,251 +371,251 @@ fi # #+ 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 + 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 -export G4VIS_BUILD_DAWN_DRIVER -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_BUILD_DAWN_DRIVER=\$G4VIS_BUILD_DAWN_DRIVER" -fi + G4VIS_BUILD_DAWN_DRIVER=1 + export G4VIS_BUILD_DAWN_DRIVER + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_BUILD_DAWN_DRIVER=\$G4VIS_BUILD_DAWN_DRIVER" + fi fi #+ if [ X$g4vis_build_openglx_driver = Xy ] ; then -G4VIS_BUILD_OPENGLX_DRIVER=1 -export G4VIS_BUILD_OPENGLX_DRIVER -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_BUILD_OPENGLX_DRIVER=\$G4VIS_BUILD_OPENGLX_DRIVER" -fi + G4VIS_BUILD_OPENGLX_DRIVER=1 + export G4VIS_BUILD_OPENGLX_DRIVER + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_BUILD_OPENGLX_DRIVER=\$G4VIS_BUILD_OPENGLX_DRIVER" + fi fi #+ if [ X$g4vis_build_openglxm_driver = Xy ] ; then -G4VIS_BUILD_OPENGLXM_DRIVER=1 -export G4VIS_BUILD_OPENGLXM_DRIVER -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_BUILD_OPENGLXM_DRIVER=\$G4VIS_BUILD_OPENGLXM_DRIVER" -fi + G4VIS_BUILD_OPENGLXM_DRIVER=1 + export G4VIS_BUILD_OPENGLXM_DRIVER + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_BUILD_OPENGLXM_DRIVER=\$G4VIS_BUILD_OPENGLXM_DRIVER" + fi fi #+ if [ X$g4vis_build_openglwin32_driver = Xy ] ; then -G4VIS_BUILD_OPENGLWIN32_DRIVER=1 -export G4VIS_BUILD_OPENGLWIN32_DRIVER -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_BUILD_OPENGLWIN32_DRIVER=\$G4VIS_BUILD_OPENGLWIN32_DRIVER" -fi + G4VIS_BUILD_OPENGLWIN32_DRIVER=1 + export G4VIS_BUILD_OPENGLWIN32_DRIVER + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_BUILD_OPENGLWIN32_DRIVER=\$G4VIS_BUILD_OPENGLWIN32_DRIVER" + fi fi #+ if [ X$g4vis_build_oix_driver = Xy ] ; then -G4VIS_BUILD_OIX_DRIVER=1 -export G4VIS_BUILD_OIX_DRIVER -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_BUILD_OIX_DRIVER=\$G4VIS_BUILD_OIX_DRIVER" -fi + G4VIS_BUILD_OIX_DRIVER=1 + export G4VIS_BUILD_OIX_DRIVER + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_BUILD_OIX_DRIVER=\$G4VIS_BUILD_OIX_DRIVER" + fi fi #+ if [ X$g4vis_build_raytracerx_driver = Xy ] ; then -G4VIS_BUILD_RAYTRACERX_DRIVER=1 -export G4VIS_BUILD_RAYTRACERX_DRIVER -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_BUILD_RAYTRACERX_DRIVER=\$G4VIS_BUILD_RAYTRACERX_DRIVER" -fi + G4VIS_BUILD_RAYTRACERX_DRIVER=1 + export G4VIS_BUILD_RAYTRACERX_DRIVER + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_BUILD_RAYTRACERX_DRIVER=\$G4VIS_BUILD_RAYTRACERX_DRIVER" + fi fi #+ if [ X$g4vis_build_oiwin32_driver = Xy ] ; then -G4VIS_BUILD_OIWIN32_DRIVER=1 -export G4VIS_BUILD_OIWIN32_DRIVER -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_BUILD_OIWIN32_DRIVER=\$G4VIS_BUILD_OIWIN32_DRIVER" -fi + G4VIS_BUILD_OIWIN32_DRIVER=1 + export G4VIS_BUILD_OIWIN32_DRIVER + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_BUILD_OIWIN32_DRIVER=\$G4VIS_BUILD_OIWIN32_DRIVER" + fi fi #+ if [ X$g4vis_build_vrml_driver = Xy ] ; then -G4VIS_BUILD_VRML_DRIVER=1 -export G4VIS_BUILD_VRML_DRIVER -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_BUILD_VRML_DRIVER=\$G4VIS_BUILD_VRML_DRIVER" -fi + G4VIS_BUILD_VRML_DRIVER=1 + export G4VIS_BUILD_VRML_DRIVER + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_BUILD_VRML_DRIVER=\$G4VIS_BUILD_VRML_DRIVER" + fi fi #+ if [ X$g4vis_build_openglqt_driver = Xy ] ; then -G4VIS_BUILD_OPENGLQT_DRIVER=1 -export G4VIS_BUILD_OPENGLQT_DRIVER -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_BUILD_OPENGLQT_DRIVER=\$G4VIS_BUILD_OPENGLQT_DRIVER" -fi + G4VIS_BUILD_OPENGLQT_DRIVER=1 + export G4VIS_BUILD_OPENGLQT_DRIVER + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_BUILD_OPENGLQT_DRIVER=\$G4VIS_BUILD_OPENGLQT_DRIVER" + fi fi #+ if [ X$g4vis_use_dawn = Xy ] ; then -G4VIS_USE_DAWN=1 -export G4VIS_USE_DAWN -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_USE_DAWN=\$G4VIS_USE_DAWN" -fi + G4VIS_USE_DAWN=1 + export G4VIS_USE_DAWN + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_USE_DAWN=\$G4VIS_USE_DAWN" + fi fi #+ if [ X$g4vis_use_openglx = Xy ] ; then -G4VIS_USE_OPENGLX=1 -export G4VIS_USE_OPENGLX -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_USE_OPENGLX=\$G4VIS_USE_OPENGLX" -fi + G4VIS_USE_OPENGLX=1 + export G4VIS_USE_OPENGLX + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_USE_OPENGLX=\$G4VIS_USE_OPENGLX" + fi fi #+ if [ X$g4vis_use_openglxm = Xy ] ; then -G4VIS_USE_OPENGLXM=1 -export G4VIS_USE_OPENGLXM -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_USE_OPENGLXM=\$G4VIS_USE_OPENGLXM" -fi + G4VIS_USE_OPENGLXM=1 + export G4VIS_USE_OPENGLXM + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_USE_OPENGLXM=\$G4VIS_USE_OPENGLXM" + fi fi #+ if [ X$g4vis_use_openglwin32 = Xy ] ; then -G4VIS_USE_OPENGLWIN32=1 -export G4VIS_USE_OPENGLWIN32 -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_USE_OPENGLWIN32=\$G4VIS_USE_OPENGLWIN32" -fi + G4VIS_USE_OPENGLWIN32=1 + export G4VIS_USE_OPENGLWIN32 + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_USE_OPENGLWIN32=\$G4VIS_USE_OPENGLWIN32" + fi fi #+ if [ X$g4vis_use_oix = Xy ] ; then -G4VIS_USE_OIX=1 -export G4VIS_USE_OIX -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_USE_OIX=\$G4VIS_USE_OIX" -fi + G4VIS_USE_OIX=1 + export G4VIS_USE_OIX + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_USE_OIX=\$G4VIS_USE_OIX" + fi fi #+ if [ X$g4vis_use_raytracerx = Xy ] ; then -G4VIS_USE_RAYTRACERX=1 -export G4VIS_USE_RAYTRACERX -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_USE_RAYTRACERX=\$G4VIS_USE_RAYTRACERX" -fi + G4VIS_USE_RAYTRACERX=1 + export G4VIS_USE_RAYTRACERX + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_USE_RAYTRACERX=\$G4VIS_USE_RAYTRACERX" + fi fi #+ if [ X$g4vis_use_oiwin32 = Xy ] ; then -G4VIS_USE_OIWIN32=1 -export G4VIS_USE_OIWIN32 -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_USE_OIWIN32=\$G4VIS_USE_OIWIN32" -fi + G4VIS_USE_OIWIN32=1 + export G4VIS_USE_OIWIN32 + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_USE_OIWIN32=\$G4VIS_USE_OIWIN32" + fi fi #+ if [ X$g4vis_use_vrml = Xy ] ; then -G4VIS_USE_VRML=1 -export G4VIS_USE_VRML -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_USE_VRML=\$G4VIS_USE_VRML" -fi + G4VIS_USE_VRML=1 + export G4VIS_USE_VRML + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_USE_VRML=\$G4VIS_USE_VRML" + fi fi #+ if [ X$g4vis_use_openglqt = Xy ] ; then -G4VIS_USE_OPENGLQT=1 -export G4VIS_USE_OPENGLQT -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4VIS_USE_OPENGLQT=\$G4VIS_USE_OPENGLQT" -fi + G4VIS_USE_OPENGLQT=1 + export G4VIS_USE_OPENGLQT + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4VIS_USE_OPENGLQT=\$G4VIS_USE_OPENGLQT" + fi fi #+ if [ X$g4vis_oglhome != X ] ; then -OGLHOME="$g4vis_oglhome" -export OGLHOME -if [ X\$g4non_display = X ] ; then -echo "On this machine the OGLHOME=\$OGLHOME" -fi + OGLHOME="$g4vis_oglhome" + export OGLHOME + if [ X\$g4non_display = X ] ; then + echo "On this machine the OGLHOME=\$OGLHOME" + fi fi #+ if [ X$g4vis_oivhome != X ] ; then -OIVHOME="$g4vis_oivhome" -export OIVHOME -if [ X\$g4non_display = X ] ; then -echo "On this machine the OIVHOME=\$OIVHOME" -fi + OIVHOME="$g4vis_oivhome" + export OIVHOME + if [ X\$g4non_display = X ] ; then + echo "On this machine the OIVHOME=\$OIVHOME" + fi fi #+ if [ X$g4vis_build_openglxm_driver != X ] ; then -XMFLAGS="$g4vis_xmflags" -export XMFLAGS -if [ X\$g4non_display = X ] ; then -echo "On this machine the XMFLAGS=\$XMFLAGS" -fi + XMFLAGS="$g4vis_xmflags" + export XMFLAGS + if [ X\$g4non_display = X ] ; then + echo "On this machine the XMFLAGS=\$XMFLAGS" + fi fi #+ if [ X$g4vis_build_openglxm_driver != X ] ; then -XMLIBS="$g4vis_xmlibs" -export XMLIBS -if [ X\$g4non_display = X ] ; then -echo "On this machine the XMLIBS=\$XMLIBS" -fi + XMLIBS="$g4vis_xmlibs" + export XMLIBS + if [ X\$g4non_display = X ] ; then + echo "On this machine the XMLIBS=\$XMLIBS" + fi fi #+ if [ X$g4ui_build_xm_session != X ] ; then -XMFLAGS="$g4vis_xmflags" -export XMFLAGS -if [ X\$g4non_display = X ] ; then -echo "On this machine the XMFLAGS=\$XMFLAGS" -fi + XMFLAGS="$g4vis_xmflags" + export XMFLAGS + if [ X\$g4non_display = X ] ; then + echo "On this machine the XMFLAGS=\$XMFLAGS" + fi fi #+ if [ X$g4vis_build_xm_session != X ] ; then -XMLIBS="$g4vis_xmlibs" -export XMLIBS -if [ X\$g4non_display = X ] ; then -echo "On this machine the XMLIBS=\$XMLIBS" -fi + XMLIBS="$g4vis_xmlibs" + export XMLIBS + if [ X\$g4non_display = X ] ; then + echo "On this machine the XMLIBS=\$XMLIBS" + fi fi #+ if [ X$g4ui_build_xaw_session != X ] ; then -XAWFLAGS="$g4ui_xawflags" -export XAWFLAGS -if [ X\$g4non_display = X ] ; then -echo "On this machine the XAWFLAGS=\$XAWFLAGS" -fi + XAWFLAGS="$g4ui_xawflags" + export XAWFLAGS + if [ X\$g4non_display = X ] ; then + echo "On this machine the XAWFLAGS=\$XAWFLAGS" + fi fi #+ if [ X$g4ui_build_xaw_session != X ] ; then -XAWLIBS="$g4ui_xawlibs" -export XAWLIBS -if [ X\$g4non_display = X ] ; then -echo "On this machine the XAWLIBS=\$XAWLIBS" -fi + XAWLIBS="$g4ui_xawlibs" + export XAWLIBS + if [ X\$g4non_display = X ] ; then + echo "On this machine the XAWLIBS=\$XAWLIBS" + fi fi @@ -608,37 +623,39 @@ fi # Qt Flags and Libs, messy, but needed for backward compatibility #+ if [ "X$g4ui_build_qt_session" = "Xy" -o "X$g4ui_use_qt" = "Xy" ] ; then -QTFLAGS="$g4_qt_cxxflags" -QTLIBS="$g4_qt_libs" -QTMOC="$g4_qt_moc" -export QTFLAGS -export QTLIBS -export QTMOC -if test "x\$g4non_display" = "x" ; then -echo "On this machine the QTFLAGS=\$QTFLAGS" -echo "On this machine the QTLIBS=\$QTLIBS" -echo "On this machine the QTMOC=\$QTMOC" -fi + QTFLAGS="$g4_qt_cxxflags" + QTLIBS="$g4_qt_libs" + QTMOC="$g4_qt_moc" + export QTFLAGS + export QTLIBS + export QTMOC + if test "x\$g4non_display" = "x" ; then + echo "On this machine the QTFLAGS=\$QTFLAGS" + echo "On this machine the QTLIBS=\$QTLIBS" + echo "On this machine the QTMOC=\$QTMOC" + fi fi if [ "X$g4vis_build_openglqt_driver" = "Xy" -o "X$g4vis_build_openglqt_driver" = "Xy" ] ; then -if [ "X\$QTFLAGS" = "X" ] ; then -QTFLAGS="$g4_qt_cxxflags $g4_qt_gl_cxxflags" -else -QTFLAGS="\$QTFLAGS $g4_qt_gl_cxxflags" -fi -if [ "X\$QTMOC" = "X" ] ; then -QTMOC="$g4_qt_moc" -fi -GLQTLIBS="$g4_qt_libs $g4_qt_gl_libs" -export QTFLAGS -export QTMOC -export GLQTLIBS -if test "x\$g4non_display" = "x" ; then -echo "On this machine the QTFLAGS=\$QTFLAGS" -echo "On this machine the GLQTLIBS=\$GLQTLIBS" -echo "On this machine the QTMOC=\$QTMOC" -fi + if [ "X\$QTFLAGS" = "X" ] ; then + QTFLAGS="$g4_qt_cxxflags $g4_qt_gl_cxxflags" + else + QTFLAGS="\$QTFLAGS $g4_qt_gl_cxxflags" + fi + + if [ "X\$QTMOC" = "X" ] ; then + QTMOC="$g4_qt_moc" + fi + + GLQTLIBS="$g4_qt_libs $g4_qt_gl_libs" + export QTFLAGS + export QTMOC + export GLQTLIBS + if test "x\$g4non_display" = "x" ; then + echo "On this machine the QTFLAGS=\$QTFLAGS" + echo "On this machine the GLQTLIBS=\$GLQTLIBS" + echo "On this machine the QTMOC=\$QTMOC" + fi fi @@ -648,19 +665,19 @@ fi # #+ if [ X$g4lib_build_gdml = Xy ] ; then -G4LIB_BUILD_GDML=1 -export G4LIB_BUILD_GDML -if test "x\$g4non_display" = "x" ; then -echo "On this machine the G4LIB_BUILD_GDML=\$G4LIB_BUILD_GDML" -fi + G4LIB_BUILD_GDML=1 + export G4LIB_BUILD_GDML + if test "x\$g4non_display" = "x" ; then + echo "On this machine the G4LIB_BUILD_GDML=\$G4LIB_BUILD_GDML" + fi fi if [ X$g4lib_build_gdml = Xy ] ; then -XERCESCROOT=$g4gdml_xercesc_root -export XERCESCROOT -if test "x\$g4non_display" = "x" ; then -echo "On this machine the XERCESCROOT=\$XERCESCROOT" -fi + XERCESCROOT=$g4gdml_xercesc_root + export XERCESCROOT + if test "x\$g4non_display" = "x" ; then + echo "On this machine the XERCESCROOT=\$XERCESCROOT" + fi fi @@ -670,19 +687,19 @@ fi # #+ if [ X$g4wlib_build_g3tog4 = Xy ] ; then -G4LIB_BUILD_G3TOG4=1 -export G4LIB_BUILD_G3TOG4 -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4LIB_BUILD_G3TOG4=\$G4LIB_BUILD_G3TOG4" -fi + G4LIB_BUILD_G3TOG4=1 + export G4LIB_BUILD_G3TOG4 + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4LIB_BUILD_G3TOG4=\$G4LIB_BUILD_G3TOG4" + fi fi if [ X$g4w_use_g3tog4 = Xy ] ; then -G4LIB_USE_G3TOG4=1 -export G4LIB_USE_G3TOG4 -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4LIB_USE_G3TOG4=\$G4LIB_USE_G3TOG4" -fi + G4LIB_USE_G3TOG4=1 + export G4LIB_USE_G3TOG4 + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4LIB_USE_G3TOG4=\$G4LIB_USE_G3TOG4" + fi fi # @@ -690,19 +707,19 @@ fi # #+ if [ X$g4wlib_build_zlib = Xy ] ; then -G4LIB_BUILD_ZLIB=1 -export G4LIB_BUILD_ZLIB -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4LIB_BUILD_ZLIB=\$G4LIB_BUILD_ZLIB" -fi + G4LIB_BUILD_ZLIB=1 + export G4LIB_BUILD_ZLIB + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4LIB_BUILD_ZLIB=\$G4LIB_BUILD_ZLIB" + fi fi if [ X$g4w_use_zlib = Xy ] ; then -G4LIB_USE_ZLIB=1 -export G4LIB_USE_ZLIB -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4LIB_USE_ZLIB=\$G4LIB_USE_ZLIB" -fi + G4LIB_USE_ZLIB=1 + export G4LIB_USE_ZLIB + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4LIB_USE_ZLIB=\$G4LIB_USE_ZLIB" + fi fi @@ -711,19 +728,19 @@ fi # g4shared # if [ X$g4lib_build_shared = Xy ] ; then -G4LIB_BUILD_SHARED=1 -export G4LIB_BUILD_SHARED -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4LIB_BUILD_SHARED=\$G4LIB_BUILD_SHARED" -fi + G4LIB_BUILD_SHARED=1 + export G4LIB_BUILD_SHARED + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4LIB_BUILD_SHARED=\$G4LIB_BUILD_SHARED" + fi fi if [ X$g4lib_build_static = Xy ] ; then -G4LIB_BUILD_STATIC=1 -export G4LIB_BUILD_STATIC -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4LIB_BUILD_STATIC=\$G4LIB_BUILD_STATIC" -fi + G4LIB_BUILD_STATIC=1 + export G4LIB_BUILD_STATIC + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4LIB_BUILD_STATIC=\$G4LIB_BUILD_STATIC" + fi fi #+ @@ -731,11 +748,11 @@ fi # g4granular # if [ X$g4lib_use_granular = Xy ] ; then -G4LIB_USE_GRANULAR=1 -export G4LIB_USE_GRANULAR -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4LIB_USE_GRANULAR=\$G4LIB_USE_GRANULAR" -fi + G4LIB_USE_GRANULAR=1 + export G4LIB_USE_GRANULAR + if [ X\$g4non_display = X ] ; then + echo "On this machine the G4LIB_USE_GRANULAR=\$G4LIB_USE_GRANULAR" + fi fi @@ -752,107 +769,135 @@ $spitshell >>env.sh <<'!NO!SUBS!' # G4WORKDIR # if [ $G4WORKDIR ] ; then - -if [ X\$g4non_display = X ] ; then -echo "In your environment you have the G4WORKDIR=$G4WORKDIR" -fi - + if [ X\$g4non_display = X ] ; then + echo "In your environment you have the G4WORKDIR=$G4WORKDIR" + fi else + # Check for Windows! + if test "X$G4SYSTEM" = "XWIN32-VC" -o "X$G4SYSTEM" = "XWIN32-VC7"; then + if [ X\$g4non_display = X ] ; then + echo "G4WORKDIR will be set to c:/geant4 (in "native" Windows syntax)" + fi -# Check for Windows! -if test "X$G4SYSTEM" = "XWIN32-VC" -o "X$G4SYSTEM" = "XWIN32-VC7"; then + G4WORKDIR="c:/geant4" + export G4WORKDIR -if [ X\$g4non_display = X ] ; then -echo "G4WORKDIR will be set to c:/geant4 (in "native" Windows syntax)" + else # if Unix + if [ X\$g4non_display = X ] ; then + echo "G4WORKDIR will be set to HOME/geant4=$HOME/geant4" + fi + + G4WORKDIR=$HOME/geant4 + export G4WORKDIR + fi # if platforms fi -G4WORKDIR="c:/geant4" -export G4WORKDIR - -else # if Unix - -if [ X\$g4non_display = X ] ; then -echo "G4WORKDIR will be set to HOME/geant4=$HOME/geant4" -fi - -G4WORKDIR=$HOME/geant4 -export G4WORKDIR - -fi # if platforms - -fi # -# Shared libraries +# *NIX Shared Libraries +# If we built Geant4 with shared libraries, we need to add the Gean4 +# library directory to (DY)LD_LIBRARY_PATH. +# In all cases, external shared library directories should be added to +# (DY)LD_LIBRARY_PATH + +if test "X$G4SYSTEM" != "XDarwin-g++" ; then + if [ $LD_LIBRARY_PATH ] ; then + if [ $G4LIB_BUILD_SHARED ] ; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${G4LIB}/${G4SYSTEM} + fi + + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CLHEP_LIB_DIR} + + if [ $G4LIB_BUILD_GDML ] ; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${XERCESCROOT}/lib + fi + + export LD_LIBRARY_PATH + else + if [ $G4LIB_BUILD_SHARED ] ; then + LD_LIBRARY_PATH=${G4LIB}/${G4SYSTEM} + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CLHEP_LIB_DIR} + else + LD_LIBRARY_PATH=${CLHEP_LIB_DIR} + fi + + if [ $G4LIB_BUILD_GDML ] ; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${XERCESCROOT}/lib + fi + + export LD_LIBRARY_PATH + fi +else + # + # Shared libraries for Mac + # + if [ $DYLD_LIBRARY_PATH ] ; then + if [ $G4LIB_BUILD_SHARED ] ; then + DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${G4LIB}/${G4SYSTEM} + fi + + DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${CLHEP_LIB_DIR} + + if [ $G4LIB_BUILD_GDML ] ; then + DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${XERCESCROOT}/lib + fi + + export DYLD_LIBRARY_PATH + else + if [ $G4LIB_BUILD_SHARED ] ; then + DYLD_LIBRARY_PATH=${G4LIB}/${G4SYSTEM} + DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${CLHEP_LIB_DIR} + else + DYLD_LIBRARY_PATH=${CLHEP_LIB_DIR} + fi + + if [ $G4LIB_BUILD_GDML ] ; then + DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${XERCESCROOT}/lib + fi + + export DYLD_LIBRARY_PATH + fi +fi + # +# Warning about LD_LIBRARY_PATH +# NB: ONLY echo if g4non_display not set if [ $G4LIB_BUILD_SHARED ] ; then -# -# Warning about LD_LIBRARY_PATH unless g4non_display is set! -# -if test "x\$g4non_display" = "x" ; then - echo '' - echo 'LD_LIBRARY_PATH is set to include CLHEP and Geant4 libraries. ' - echo '' - echo 'NOTE : verify that the correct path for the CLHEP library' - echo '- $CLHEP_BASE_DIR/lib - is included in the $LD_LIBRARY_PATH' - echo 'variable in your environment, and no other outdated installations' - echo 'of CLHEP are by chance referenced through $LD_LIBRARY_PATH and' - echo 'present in your system !' - echo '' -fi - -if [ $LD_LIBRARY_PATH ] ; then -LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${G4LIB}/${G4SYSTEM} -LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CLHEP_LIB_DIR} - -if [ $G4LIB_BUILD_GDML ] ; then - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${XERCESCROOT}/lib -fi -export LD_LIBRARY_PATH - + if test "X$G4SYSTEM" = "XDarwin-g++" ; then + if [ X\$g4non_display = X ] ; then + echo 'DYLD_LIBRARY_PATH is set to include CLHEP and Geant4 libraries. ' + fi + else + if [ X\$g4non_display = X ] ; then + echo 'LD_LIBRARY_PATH is set to include CLHEP and Geant4 libraries. ' + fi + fi else -LD_LIBRARY_PATH=${G4LIB}/${G4SYSTEM} -LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CLHEP_LIB_DIR} - -if [ $G4LIB_BUILD_GDML ] ; then - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${XERCESCROOT}/lib + if test "X$G4SYSTEM" = "XDarwin-g++" ; then + if [ X\$g4non_display = X ] ; then + echo 'DYLD_LIBRARY_PATH is set to include CLHEP libraries. ' + fi + else + if [ X\$g4non_display = X ] ; then + echo 'LD_LIBRARY_PATH is set to include CLHEP libraries. ' + fi + fi fi -export LD_LIBRARY_PATH -fi +if [ X\$g4non_display = X ] ; then + echo 'NOTE : you should verify that the correct path for the CLHEP library' + echo '' + echo ${CLHEP_BASE_DIR}/lib + echo '' + echo 'is included in the dynamic library search path ahead of any other' + echo 'installations of CLHEP on your system that may be referenced by this' + echo 'path.' + echo '' fi -# -# Shared libraries for Mac -# -if test "X$G4SYSTEM" = "XDarwin-g++" ; then - -if [ $G4LIB_BUILD_SHARED ] ; then -if [ $DYLD_LIBRARY_PATH ] ; then -DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${G4LIB}/${G4SYSTEM} -DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${CLHEP_LIB_DIR} - -if [ $G4LIB_BUILD_GDML ] ; then - DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${XERCESCROOT}/lib -fi - -export DYLD_LIBRARY_PATH -else -DYLD_LIBRARY_PATH=${G4LIB}/${G4SYSTEM} -DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${CLHEP_LIB_DIR} - -if [ $G4LIB_BUILD_GDML ] ; then - DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${XERCESCROOT}/lib -fi - -export DYLD_LIBRARY_PATH -fi -fi - -fi # # For BIN diff --git a/config/scripts/install.sh.SH b/config/scripts/install.sh.SH index 6d6afc2e68..711621ce42 100755 --- a/config/scripts/install.sh.SH +++ b/config/scripts/install.sh.SH @@ -629,7 +629,7 @@ fi # Create GNUmakefile.db to keep ALL GNUmakefile DB :) if test -f \$G4INSTALL/config/scripts/GNUmakefile.db ; then -mv \$G4INSTALL/config/scripts/GNUmakefile.db \$G4LIB/\$G4SYSTEM/GNUmakefile.db.bac + mv \$G4INSTALL/config/scripts/GNUmakefile.db \$G4LIB/\$G4SYSTEM/GNUmakefile.db.bac fi # Be careful: first time there is no $G4LIB! @@ -641,78 +641,82 @@ $g4make -n -p -f \$G4INSTALL/config/scripts/GNUmakefile > \$G4LIB/\$G4SYSTEM/GNU echo "" echo "Starting build..." echo "" + +echo "Cleaning up $g4conf/g4make.log" +rm -rf $g4conf/g4make.log + cd $g4install/source -#echo `pwd` + +if test $g4make_jobs -gt 1 ; then + $g4make obj -j $g4make_jobs +fi # There is no env! if [ X$g4global = Xy ] ; then -echo "" -rm -rf $g4conf/g4make.log -$g4make global 2>&1 | tee $g4conf/g4make.log + echo "Building global libraries..." + $g4make global 2>&1 | tee $g4conf/g4make.log fi # There is env for binaries - for User: should be set in env.[c]sh! if [ X$g4granular = Xy ] ; then -G4LIB_USE_GRANULAR=1 -export G4LIB_USE_GRANULAR -rm -rf $g4conf/g4make.log -$g4make 2>&1 | tee $g4conf/g4make.log + echo "Building granular libraries..." + G4LIB_USE_GRANULAR=1 + export G4LIB_USE_GRANULAR + $g4make 2>&1 | tee $g4conf/g4make.log fi if [ X$g4lib_build_dll = Xy ] ; then -echo "" -rm -rf $g4conf/g4make.log -$g4make dll 2>&1 | tee $g4conf/g4make.log + echo "Building WIN32 DLLs..." + $g4make dll 2>&1 | tee $g4conf/g4make.log fi if [ X$g4lib_build_dyn = Xy ] ; then -echo "" -rm -rf $g4conf/g4make.log -$g4make global G4LIB_BUILD_SHARED=1 2>&1 | tee $g4conf/g4make.log + echo "" + rm -rf $g4conf/g4make.log + $g4make global G4LIB_BUILD_SHARED=1 2>&1 | tee $g4conf/g4make.log fi # Check for errors in log file if test -f \$g4conf/g4make.log ; then - -# There are two (at least) shells 'sh' and 'bash' with -# different arithmetic expansion...So we are doing it by 'text' -# in two steps... + # There are two (at least) shells 'sh' and 'bash' with + # different arithmetic expansion...So we are doing it by 'text' + # in two steps... -err=\`grep " Error " $g4conf/g4make.log | wc -w\` -int=\`grep " Interrupt " $g4conf/g4make.log | wc -w\` -stp=\`grep Stop\. $g4conf/g4make.log | wc -w\` + err=\`grep " Error " $g4conf/g4make.log | wc -w\` + int=\`grep " Interrupt " $g4conf/g4make.log | wc -w\` + stp=\`grep Stop\. $g4conf/g4make.log | wc -w\` -err2=\`echo \$err\` -int2=\`echo \$int\` -stp2=\`echo \$stp\` + err2=\`echo \$err\` + int2=\`echo \$int\` + stp2=\`echo \$stp\` -if [ X\$err2 = X0 -a X\$int2 = X0 ] ; then -echo "" -echo "####################################################" -echo "# Your Geant4 installation seems to be successful! " -echo "# To be sure please have a look into the log file: " -echo "# $g4conf/g4make.log " -echo "####################################################" -echo "" + if [ X\$err2 = X0 -a X\$int2 = X0 ] ; then + echo "" + echo "####################################################" + echo "# Your Geant4 installation seems to be successful! " + echo "# To be sure please have a look into the log file: " + echo "# $g4conf/g4make.log " + echo "####################################################" + echo "" + else + echo "" + echo "############################################################" + echo "# It looks like you had errors during Geant4 installation " + echo "# (or interrupted installation)! " + echo "# Please check log file: " + echo "# $g4conf/g4make.log " + echo "############################################################" + echo "" + fi else -echo "" -echo "############################################################" -echo "# It looks like you had errors during Geant4 installation " -echo "# (or interrupted installation)! " -echo "# Please check log file: " -echo "# $g4conf/g4make.log " -echo "############################################################" -echo "" -fi -else -echo "" -echo "############################################################" -echo "# It looks like you had errors during Geant4 installation " -echo "# (or interrupted installation)! " -echo "# You have no log file: " -echo "# $g4conf/g4make.log " -echo "############################################################" -echo "" + echo "" + echo "############################################################" + echo "# It looks like you had errors during Geant4 installation " + echo "# (or interrupted installation)! " + echo "# You have no log file: " + echo "# $g4conf/g4make.log " + echo "############################################################" + echo "" fi !GROK!THIS! diff --git a/config/sys/Darwin-g++.gmk b/config/sys/Darwin-g++.gmk index 36dda332a7..38655ddbf6 100644 --- a/config/sys/Darwin-g++.gmk +++ b/config/sys/Darwin-g++.gmk @@ -1,8 +1,6 @@ # # ------ MacOS-X ------ -# MacOS 10.3 gcc-3.3 -# MacOS 10.4 gcc-4.0 -# MacOS 10.5 gcc-4.0 +# MacOS 10.6 gcc-4.2 # # Original author: Helmut Burkhardt - CERN # Revisions: Guy Barrand - LAL @@ -64,73 +62,63 @@ ifeq ($(G4SYSTEM),Darwin-g++) DLDLIBS := -ldl ifndef OGLHOME OGLHOME := /usr/X11R6 +# OGLHOME := /System/Library/Frameworks/OpenGL.framework endif ifndef OGLFLAGS OGLFLAGS := -I$(OGLHOME)/include +# OGLFLAGS := -I$(OGLHOME)/Headers endif ifndef OGLLIBS - ifeq ($(shell uname -r | sed 's/\([0-9]*\).[0-9]*.[0-9]*/\1/'),9) - # the following lines are for building on MacOSX 10.5 "Leopard" - OGLLIBS := $(shell test -f /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib && echo "-L/usr/X11R6/lib -lGLU -lGL -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib") + QTGLPATH := $(shell test -f /System/Library/Frameworks/OpenGL.framework/OpenGL && echo "/System/Library/Frameworks/OpenGL.framework") + ifeq ($(QTGLPATH),/System/Library/Frameworks/OpenGL.framework) + DARWIN_VERSION = $(shell uname -r | sed 's/\([0-9]*\).[0-9]*.[0-9]*/\1/') + ifeq ($(DARWIN_VERSION),9) + # the following lines are for building on MacOSX 10.5 "Leopard" + OGLLIBS := -Wl,$(QTGLPATH)/Versions/A/Libraries/libGL.dylib -L$(OGLHOME)/lib -lGLU -lGL + else + ifeq ($(DARWIN_VERSION),10) + # the following lines are for building on MacOSX > 10.5 + OGLLIBS := -F/System/Library/Frameworks -framework OpenGL -framework AGL -L$(OGLHOME)/lib -lGLU -lGL + endif + endif else - OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL + OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL endif endif # ---- QT Setup block ------------------------------------------------------- + ifndef QTHOME - QTHOME := $(shell test -f /Library/Frameworks/Qt3Support.framework/Qt3Support && echo "/Library/Frameworks" || echo "/sw") + QTHOME := /Library/Frameworks endif ifndef QTMOC - ifeq ($(QTHOME),/Library/Frameworks) - QTMOC := /usr/bin/moc - else - QTMOC := $(QTHOME)/bin/moc - endif - endif - - QT_VERSION := $(shell $(QTMOC) 2>&1 -v | sed 's/.* .Qt \([0-9]\)\..*/\1/' ) - - ifndef QTFLAGS - 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)/include/Qt -I$(QTHOME)/include + ifeq ($(QTHOME),/Library/Frameworks) + QTMOC := /usr/bin/moc else - QTFLAGS := -I $(QTHOME)/include/Qt -I$(QTHOME)/include + QTMOC := $(QTHOME)/bin/moc endif endif + ifndef QTFLAGS + QTFLAGS := -I $(QTHOME)/QtCore.framework/Headers + QTFLAGS += -I $(QTHOME)/QtGui.framework/Headers + QTFLAGS += -I $(QTHOME)/QtOpenGL.framework/Headers + QTFLAGS += -I $(QTHOME)/include/Qt -I$(QTHOME)/include + endif ifndef QTLIBPATH - ifeq ($(QT_VERSION),3) - QTLIBPATH := $(shell test -d $(QTHOME)/lib/qt3/lib && echo "$(QTHOME)/lib/qt3/lib" || echo "$(QTHOME)/lib" ) + ifeq ($(QTHOME),/Library/Frameworks) + QTLIBPATH := -F$(QTHOME) else - QTLIBPATH := -F$(QTHOME)/lib -F$(QTHOME) + QTLIBPATH := -F$(QTHOME)/lib endif endif ifndef QTLIBS - ifeq ($(QT_VERSION),3) - QTLIBS := -L$(QTLIBPATH) - QT3_MT := $(shell ls $(QTLIBPATH)/libqt-mt.* 2>/dev/null | wc -l ) - ifneq ($(QT3_MT),0) - QTLIBS += -lqt-mt - else - QTLIBS += -lqt - endif - QTLIBS += -lqui - else - QTLIBS := $(QTLIBPATH) -framework QtCore -framework QtGui - endif + QTLIBS := $(QTLIBPATH) -framework QtCore -framework QtGui endif ifndef GLQTLIBS - ifeq ($(QT_VERSION),3) - # already done in QTLIBS - # GLQTLIBS := $(QTLIBS) - else - GLQTLIBS := $(QTLIBPATH) -framework QtCore -framework QtGui - GLQTLIBS += -framework QtOpenGL - endif + GLQTLIBS := $(QTLIBPATH) -framework QtCore -framework QtGui + GLQTLIBS += -framework QtOpenGL endif + #---------------------------------------------------------------------------- define build-granular-shared-lib diff --git a/config/sys/Linux-g++.gmk b/config/sys/Linux-g++.gmk index f1ba6f5ee1..cbedc1cc5d 100644 --- a/config/sys/Linux-g++.gmk +++ b/config/sys/Linux-g++.gmk @@ -76,6 +76,7 @@ ifeq ($(G4SYSTEM),Linux-g++) endif # ---- QT Setup block ------------------------------------------------------- + ifndef QTHOME QTHOME := /usr endif @@ -86,58 +87,25 @@ ifeq ($(G4SYSTEM),Linux-g++) QT_VERSION := $(shell $(QTMOC) 2>&1 -v | sed 's/.* .Qt \([0-9]\)\..*/\1/' ) ifndef QTFLAGS - ifeq ($(QT_VERSION),4) - 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 -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 + QTFLAGS := -I$(QTHOME)/include -I$(QTHOME)/include/Qt + QTFLAGS += -I$(QTHOME)/include/QtCore + QTFLAGS += -I$(QTHOME)/include/QtGui + QTFLAGS += -I$(QTHOME)/include/QtOpenGL 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 := $(QTHOME)/lib/qt$(QT_VERSION) - endif - ifneq ($(QT_SEARCH_LIB2),0) - QTLIBPATH := $(QTHOME)/lib + QTLIBPATH := $(QTHOME)/lib + QT_SEARCH_LIB := $(shell ls $(QTLIBPATH)/qt$(QT_VERSION)/libq* 2>/dev/null | wc -l ) + ifneq ($(QT_SEARCH_LIB),0) + QTLIBPATH := $(QTHOME)/lib/qt$(QT_VERSION) endif endif ifndef QTLIBS - QTLIBS := -L$(QTLIBPATH) - ifeq ($(QT_VERSION),3) - QT3_MT := $(shell ls $(QTLIBPATH)/libqt-mt.* 2>/dev/null | wc -l ) - ifneq ($(QT3_MT),0) - QTLIBS += -lqt-mt - else - QTLIBS += -lqt - endif - QTLIBS += -lqui - else - QTLIBS += -lQtCore -lQtGui - endif + QTLIBS := -L$(QTLIBPATH) -lQtCore -lQtGui endif ifndef GLQTLIBS - ifeq ($(QT_VERSION),3) - # already done in QTLIBS - # GLQTLIBS := $(QTLIBS) - else - GLQTLIBS := -L$(QTLIBPATH) -lQtCore -lQtGui -lQtOpenGL - endif + GLQTLIBS := -L$(QTLIBPATH) -lQtCore -lQtGui -lQtOpenGL endif + #---------------------------------------------------------------------------- define build-granular-shared-lib diff --git a/config/sys/Linux-icc.gmk b/config/sys/Linux-icc.gmk index 85f89e4af2..4da20d23c9 100644 --- a/config/sys/Linux-icc.gmk +++ b/config/sys/Linux-icc.gmk @@ -24,6 +24,7 @@ ifeq ($(G4SYSTEM),Linux-icc) CXXFLAGS += -fPIC FCFLAGS += -fPIC CCFLAGS += -fPIC + LDFLAGS += -i-dynamic endif G4RUNPATHOPTION := -Wl,-rpath -Wl, CC := icc diff --git a/config/sys/WIN32-VC.gmk b/config/sys/WIN32-VC.gmk index 941f735c3a..156b6fa0ce 100644 --- a/config/sys/WIN32-VC.gmk +++ b/config/sys/WIN32-VC.gmk @@ -13,7 +13,7 @@ ifeq ($(G4SYSTEM),WIN32-VC) CXXFLAGS += -MD -GR -EHsc -Zm200 -nologo CXXFLAGS += -D_CONSOLE -D_WIN32 -DOS CPPFLAGS += -DWIN32 -DXPNET -D_CRT_SECURE_NO_DEPRECATE - LDFLAGS += -FORCE /NODEFAULTLIB:MSVCRT.dll + LDFLAGS += -FORCE /NODEFAULTLIB:MSVCRT.dll /STACK:8368128 SHEXT := dll AR := LIB @@ -47,21 +47,11 @@ ifeq ($(G4SYSTEM),WIN32-VC) QTMOC := $(QTHOME)/bin/moc endif - QT_VERSION := $(shell test -f $(QTHOME)/lib/Qt3Support4.lib && echo QT4 || echo QT3) - ifndef QTLIBS - ifeq ($(QT_VERSION),QT3) - QTLIBS := -L$(QTHOME)/lib -lqt-mt - else - QTLIBS := -L$(QTHOME)/lib QtCore4.lib QtGui4.lib - endif + QTLIBS := -L$(QTHOME)/lib QtCore4.lib QtGui4.lib endif ifndef GLQTLIBS - ifeq ($(QT_VERSION),QT3) - GLQTLIBS := -L$(QTHOME)/lib -lqt-mt - else - GLQTLIBS := -L$(QTHOME)/lib QtCore4.lib QtGui4.lib QtOpenGL4.lib - endif + GLQTLIBS := -L$(QTHOME)/lib QtCore4.lib QtGui4.lib QtOpenGL4.lib endif # diff --git a/environments/History b/environments/History index dd999b820e..b78d89ca80 100644 --- a/environments/History +++ b/environments/History @@ -1,4 +1,4 @@ -$Id: History,v 1.40 2009/11/27 07:59:32 kmura Exp $ +$Id: History,v 1.43 2010/12/02 08:06:06 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -18,6 +18,27 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +envs-V09-03-02 / 2 December 2010 Koichi Murakami + [g4py] + - updates for 9.4 release + - add a new example using GTK (examples/emplot/emcalc_gui.py) + - experimental support for Python3 + [momo] + - Uses QGSP_BERT physics list instead of GPE + - JAVA source codes are included. (momo-src.jar) + +envs-V09-03-01 / 21 June 2010 Koichi Murakami + [g4py] + - updates for 9.4-beta-cand-02 tag (G4RunManager, physics list) + +envs-V09-03-00 / 4 June 010 Koichi Murakami + [g4py] + - update for the 9.4 beta release + - revise usage of MultipleScattering classes + - bug fix in wrapping of G4GDMLParser + [momo] + - revise archaic trajectory drawing + envs-V09-02-02 27 Nov. 2009 Koichi Murakami [g4py] - linker option is updated. diff --git a/environments/MOMO/000README b/environments/MOMO/000README new file mode 100644 index 0000000000..f2e3950cab --- /dev/null +++ b/environments/MOMO/000README @@ -0,0 +1,22 @@ +How to use momo-src.jar + +momo-src.jar is the Java archive file which contains all Java source files and +relevant data files, as well as a Geant4.9.4 example in ./MomoHome directory. + +If you use MOMO.jar to run MOMO, momo-src.jar isn't necessary. +When you have new JDK or other JDK like OpenJDK etc, momo-src.jar can be used +to create your own MOMO.jar. + +The required tools are +1) JDK-1.6 or later (OpenJDK isn't tested fully) +2) Apache ant (1.7 or later) + +To compile, + + +1) copy momo-src.jar to any clean directory and change directory to there +2) jar fvx momo-src.jar and you have the full codes and data. +3) ant (build.xml is use by default) and you have MOMO.jar the executable MOMO jar file +4) java -jar ./MOMO.jar + +you may have a warning on the unsecure use of the HashTable but you can neglect it. diff --git a/environments/MOMO/History b/environments/MOMO/History index c94bed9be2..7846ed3fa3 100644 --- a/environments/MOMO/History +++ b/environments/MOMO/History @@ -1,4 +1,4 @@ -$Id: History,v 1.6 2004/11/26 04:53:21 hajime Exp $ +$Id: History,v 1.8 2010/12/01 05:41:58 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -18,6 +18,14 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +2010 December 1 Koichi Murakami + - MOMO.jar updated (use QGSP_BERT physics list instead of GPE) + - JAVA source codes are included. (momo-src.jar) + - MomoHome and docs directories are migrated to momo-src.jar + +2010 June 4 Koichi Murakami + - revise archaic trajectory drawing (vis.mac and EventAction in MomoHome) + 2004 November 26 Hajime Yoshida - replaced MOMO.jar with minor changes - added some example files and README diff --git a/environments/MOMO/MOMO.jar b/environments/MOMO/MOMO.jar index c8d0f933f6..0ef3dbe86f 100644 Binary files a/environments/MOMO/MOMO.jar and b/environments/MOMO/MOMO.jar differ diff --git a/environments/MOMO/MomoHome/MomoN02PhysicsList.g4ph b/environments/MOMO/MomoHome/MomoN02PhysicsList.g4ph deleted file mode 100644 index d3d11d97a5..0000000000 Binary files a/environments/MOMO/MomoHome/MomoN02PhysicsList.g4ph and /dev/null differ diff --git a/environments/MOMO/MomoHome/Momomake.gmk b/environments/MOMO/MomoHome/Momomake.gmk deleted file mode 100644 index fb95b64262..0000000000 --- a/environments/MOMO/MomoHome/Momomake.gmk +++ /dev/null @@ -1,48 +0,0 @@ -##### GNUmakefile ##### -# ---------------------------------------------------------- -# Script defining rules and paths for making binaries. -# ---------------------------------------------------------- -# Automatic creation of GNUmakefile for Momo environment. -# with users selection of G4TARGET, UI and VIS variables -# Momo is the name of legendary samurai who conquered bad geants. ---- H. Yoshida. - -name := linac -G4TARGET := $(name) -G4EXLIB := true - -# Vis/GUI used -G4VIS_USE_DAWN := 1 -G4VIS_USE_DAWNFILE := 1 -G4VIS_USE_OPENGLX := 1 -G4VIS_USE_VRML := 1 -G4VIS_USE_VRMLFILE := 1 -# Vis/GUI built -G4VIS_BUILD_DAWN_DRIVER := 1 -G4VIS_BUILD_DAWNFILE_DRIVER := 1 -G4VIS_BUILD_OPENGLX_DRIVER := 1 -G4VIS_BUILD_VRML_DRIVER := 1 -G4VIS_BUILD_VRMLFILE_DRIVER := 1 - -# General Envs defined -G4SYSTEM:=Linux-g++ -G4INSTALL:=/home/yoshidah/geant4 -G4WORKDIR:=/home/yoshidah/geant4 -G4BINDIR:=/home/yoshidah/geant4/bin/Linux-g++ -G4USE_STL:=1 -G4LIB_BUILD_STATIC:=1 -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 = ../../.. -endif - -.PHONY: all -all: lib bin - - include $(G4INSTALL)/config/binmake.gmk - - diff --git a/environments/MOMO/MomoHome/README b/environments/MOMO/MomoHome/README deleted file mode 100644 index 1a0206267b..0000000000 --- a/environments/MOMO/MomoHome/README +++ /dev/null @@ -1,71 +0,0 @@ -2004 NOvember 26 - -A) How to use MOMO. - -1) cd here where src/ and include/ are located -2) "java -version" and check that your java virtual machine is version 1.4 - (1.5 works with some malfuctionning) -3) "java -jar ../MOMO.jar" and MOMO starts -4) check that "set G4WORKDIR" displays this directory. If you change this, - you will have faster access to files in that directory. - -B) How to use the example of a flattening filter - -1) relevant files of this example are - ./linac.cc - ./Momomake.gmk - ./flat.his (a macro file) - ./src/flatteningFilter.cc - ./include/flatteningFilter.hh - All these files are generated automatically by MOMO, including the history macro file. - -2) fill the tables from the persistent files - a) GPE -> load file -> MomoN02PhysicsList.g4ph - -> make C++ file -> save in src/ - -> make header file -> save in include/ - b) GGE -> load file -> flatteningFilter.g4dt - -> make C++ file -> save in src/ - -> make header file -> savle in include/ - c) type i the name of the main program in the top field of MOMO panel - -3) Project menu - a) make main program -> save here - b) make Makefile -> save here - c) compile - If some errors are found, correct them -4) run - GAG -> Geant4 -> Start -> file chooser - mouse click /control/execute -> file chooser -> flat.his -> OK - and you will have OpenGL event display: - e- 10MeV, entering the flattenig filter (same as the examples/extended/linac), - changing the incident angles - -Enjoy! - --------------------------------------------------------------------- - -2002 March - - Momo's default home directory in which the default src and include -directories and the default four classes are placed. - - src/MomoEventAction.cc - src/MomoRunAction.cc - src/MomoPrimaryGeneratorAction.cc - src/MomoVisManager.cc - - - include/MomoEventAction.hh - include/MomoRunAction.hh - include/MomoPrimaryGeneratorAction.hh - include/MomoVisManager.hh - -A macro file is included to visualise events and trajectories - - ./vis.mac - -And this file - - ./README - - diff --git a/environments/MOMO/MomoHome/flat.his b/environments/MOMO/MomoHome/flat.his deleted file mode 100644 index 443a8a9b8f..0000000000 --- a/environments/MOMO/MomoHome/flat.his +++ /dev/null @@ -1,36 +0,0 @@ -#Command History List -/control/execute vis.mac -/gun/particle e- -/gun/direction 0 0 -1 -/gun/energy 0.01 GeV -/gun/position 0 0 110 cm - -/run/beamOn 10 ***NULL*** -1 -/vis/viewer/zoom 5 -/vis/viewer/pan 0.1 0 m -/vis/viewer/pan 0.1 0 m -/vis/viewer/pan 0.1 0 m -/vis/viewer/pan 0.1 0 m -/vis/viewer/pan 0.1 0 m -/vis/viewer/pan 0.1 0 m -/vis/viewer/pan 0.1 0 m -/vis/viewer/pan 0.1 0 m -/vis/viewer/pan 0.1 0 m -/vis/viewer/zoom 4 -/vis/viewer/pan 0.1 0 m -/vis/viewer/pan 0.1 0 m -/run/beamOn 100 ***NULL*** -1 -/gun/direction 0.0 0.01 -1 -/run/beamOn 100 ***NULL*** -1 -/gun/direction 0.0 0.03 -1 -/run/beamOn 100 ***NULL*** -1 -/gun/direction 0.0 0.05 -1 -/run/beamOn 100 ***NULL*** -1 -/gun/direction 0.0 0.08 -1 -/run/beamOn 100 ***NULL*** -1 -/gun/direction 0.0 0.1 -1 -/run/beamOn 100 ***NULL*** -1 -/gun/direction 0.0 0.0 -1 -/run/beamOn 100 ***NULL*** -1 -/run/beamOn 100 ***NULL*** -1 -/run/beamOn 100 ***NULL*** -1 diff --git a/environments/MOMO/MomoHome/flatteningFilter.g4dt b/environments/MOMO/MomoHome/flatteningFilter.g4dt deleted file mode 100644 index 634e9ca1a4..0000000000 Binary files a/environments/MOMO/MomoHome/flatteningFilter.g4dt and /dev/null differ diff --git a/environments/MOMO/MomoHome/include/MomoN02PhysicsList.hh b/environments/MOMO/MomoHome/include/MomoN02PhysicsList.hh deleted file mode 100644 index 524882f27a..0000000000 --- a/environments/MOMO/MomoHome/include/MomoN02PhysicsList.hh +++ /dev/null @@ -1,55 +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. * -// ******************************************************************** -// - -// Physics List Header File -// MomoN02PhysicsList.hh generated by Geant4 Physics Editor at Thu Mar 14 10:39:12 JST 2002 - - - #ifndef MomoN02PhysicsList_h -#define MomoN02PhysicsList_h 1 - -#include "G4VUserPhysicsList.hh" -class MomoN02PhysicsList: public G4VUserPhysicsList - { public: - MomoN02PhysicsList(); - virtual ~MomoN02PhysicsList(); - - protected: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - virtual void SetCuts(); - protected: - virtual void ConstructBosons(); - virtual void ConstructLeptons(); - virtual void ConstructMesons(); - virtual void ConstructBaryons(); - protected: - virtual void ConstructGeneral(); - virtual void ConstructEM(); - virtual void ConstructAllShortLiveds(); - }; -#endif - diff --git a/environments/MOMO/MomoHome/include/MomoVisManager.hh b/environments/MOMO/MomoHome/include/MomoVisManager.hh deleted file mode 100644 index fe03362d50..0000000000 --- a/environments/MOMO/MomoHome/include/MomoVisManager.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. * -// ******************************************************************** -// -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// 1998 Dec 10, updated for geant4.0.0, Hajime Yoshida -// -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -// Example Visualization Manager implementing virtual function -// RegisterGraphicsSystems. Exploits C-pre-processor variables -// G4VIS_USE_DAWN, etc., which are set by the GNUmakefiles if -// environment variables of the same name are set. - -// So all you have to do is set environment variables and compile and -// instantiate this in your main(). - -// Alternatively, you can implement an empty function here and just -// register the systems you want in your main(), e.g.: -// G4VisManager* myVisManager = new MyVisManager; -// myVisManager -> RegisterGraphicsSystem (new MyGraphicsSystem); - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#ifndef MomoVisManager_h -#define MomoVisManager_h 1 - -#include "G4VisManager.hh" - - -class MomoVisManager: public G4VisManager { - -public: - - MomoVisManager (); - -private: - - void RegisterGraphicsSystems (); - -}; - -#endif diff --git a/environments/MOMO/MomoHome/linac.cc b/environments/MOMO/MomoHome/linac.cc deleted file mode 100644 index ff10d2937e..0000000000 --- a/environments/MOMO/MomoHome/linac.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. * -// ******************************************************************** -// -//##### MOMO Main program ##### -//# ---------------------------------------------------------- -//# Automatic creation of the main program for Momo environment. -// 2003 December, updated for geant4.6.0 -// -------------------------------------------------------------- -// linac.cc generated by Geant4 Momo -// at Sat Nov 27 12:16:36 JST 2004 - - -// This code implementation is the intellectual property of -// the GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// -#include "G4RunManager.hh" -#include "G4UImanager.hh" -// Your choice of User Interface driver -#include "G4UIGAG.hh" -// Detector geometry generated by Momo's GGE -#include "flatteningFilter.hh" -// Physics List generated by Momo's GPE -#include "MomoN02PhysicsList.hh" -// Momo's default PrimaryGeneratorAction -#include "MomoPrimaryGeneratorAction.hh" -#include "MomoRunAction.hh" -#include "MomoEventAction.hh" -#ifdef G4VIS_USE -#include "MomoVisManager.hh" -#endif -int main() -{ - // Construct the default run manager - G4RunManager* runManager = new G4RunManager; - // set mandatory initialization classes - runManager->SetUserInitialization(new flatteningFilter); - runManager->SetUserInitialization(new MomoN02PhysicsList); -#ifdef G4VIS_USE - // visualization manager - G4VisManager* visManager = new MomoVisManager; - visManager->Initialize(); -#endif - // set mandatory user action class - runManager->SetUserAction(new MomoPrimaryGeneratorAction); - // set user action classes to visualise trajectories - runManager->SetUserAction(new MomoRunAction); - runManager->SetUserAction(new MomoEventAction); - // Initialize G4 kernel - runManager->Initialize(); - // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); - G4UIsession * session = new G4UIGAG; - session->SessionStart(); - delete session; - // job termination -#ifdef G4VIS_USE - delete visManager; -#endif - delete runManager; - return 0; -} - diff --git a/environments/MOMO/MomoHome/src/MomoN02PhysicsList.cc b/environments/MOMO/MomoHome/src/MomoN02PhysicsList.cc deleted file mode 100644 index 7b0dc4f6b2..0000000000 --- a/environments/MOMO/MomoHome/src/MomoN02PhysicsList.cc +++ /dev/null @@ -1,241 +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. * -// ******************************************************************** -// - -// MomoN02PhysicsList.cc - -// generated by Geant4 Physics Editor at Thu Nov 25 13:06:26 JST 2004 - -#include "MomoN02PhysicsList.hh" - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" -#include "G4ShortLivedConstructor.hh" -#include "G4Material.hh" -#include "G4MaterialTable.hh" - -#include "G4ios.hh" - -MomoN02PhysicsList::MomoN02PhysicsList(): G4VUserPhysicsList() -{ -// Here used the default cut value you have typed in - - defaultCutValue = 1.0*cm; - SetVerboseLevel(1); -} - -MomoN02PhysicsList::~MomoN02PhysicsList() -{} - -void MomoN02PhysicsList::ConstructParticle() -{ -// Here are constructed all particles you have chosen - - ConstructBosons(); - ConstructLeptons(); - ConstructMesons(); - ConstructBaryons(); - ConstructAllShortLiveds(); -} - -// In this method, static member functions should be called for ALL particles to be used. - -void MomoN02PhysicsList::ConstructBosons() -{ - G4ChargedGeantino::ChargedGeantinoDefinition(); - G4Gamma::GammaDefinition(); - G4Geantino::GeantinoDefinition(); -} -void MomoN02PhysicsList::ConstructLeptons() -{ - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); - G4MuonPlus::MuonPlusDefinition(); - G4MuonMinus::MuonMinusDefinition(); - G4NeutrinoE::NeutrinoEDefinition(); - G4AntiNeutrinoE::AntiNeutrinoEDefinition(); - G4NeutrinoMu::NeutrinoMuDefinition(); - G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); -} -void MomoN02PhysicsList::ConstructMesons() -{ - G4PionPlus::PionPlusDefinition(); - G4PionMinus::PionMinusDefinition(); - G4PionZero::PionZeroDefinition(); - G4Eta::EtaDefinition(); - G4KaonPlus::KaonPlusDefinition(); - G4KaonMinus::KaonMinusDefinition(); - G4KaonZeroLong::KaonZeroLongDefinition(); - G4KaonZeroShort::KaonZeroShortDefinition(); - G4KaonZero::KaonZeroDefinition(); -} -void MomoN02PhysicsList::ConstructBaryons() -{ - G4Proton::ProtonDefinition(); - G4AntiProton::AntiProtonDefinition(); - G4Neutron::NeutronDefinition(); - G4AntiNeutron::AntiNeutronDefinition(); -} -void MomoN02PhysicsList::ConstructAllShortLiveds() -{ -// Here are contructed all short liveds - -} -void MomoN02PhysicsList::ConstructProcess() -{ -// Transportation, electromagnetic and general processes - - AddTransportation(); - ConstructEM(); - ConstructGeneral(); -} -// Here are respective header files for chosen processes - -#include "G4GammaConversion.hh" -#include "G4ComptonScattering.hh" -#include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" -#include "G4MuIonisation.hh" - -// The next two processes are always included. - -#include "G4hIonisation.hh" -#include "G4MultipleScattering.hh" -void MomoN02PhysicsList::ConstructEM() -{ - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - -// The next processes are always added. - - if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0 )&& - (particle->GetParticleName() != "e-") && - (particle->GetParticleName() != "e+") && - (particle->GetParticleName() != "mu-") && - (particle->GetParticleName() != "mu+") && - (particle->GetParticleName() != "chargedgeantino")){ - pmanager->AddProcess(new G4MultipleScattering(), -1, 1, 1); - pmanager->AddProcess(new G4hIonisation(), -1, 2, 2); - } -// Each if clause corresponds to a row in the PhysicsTable - - if (particleName == "gamma") { - pmanager->AddProcess(new G4GammaConversion(),ordInActive,ordInActive,ordDefault); - } - if (particleName == "gamma") { - pmanager->AddProcess(new G4ComptonScattering(),ordInActive,ordInActive,ordDefault); - } - if (particleName == "gamma") { - pmanager->AddProcess(new G4PhotoElectricEffect(),ordInActive,ordInActive,ordDefault); - } - if (particleName == "e-") { - pmanager->AddProcess(new G4MultipleScattering(),ordInActive,1,1); - } - if (particleName == "e-") { - pmanager->AddProcess(new G4eIonisation(),ordInActive,2,2); - } - if (particleName == "e-") { - pmanager->AddProcess(new G4eBremsstrahlung(),ordInActive,ordInActive,3); - } - if (particleName == "e+") { - pmanager->AddProcess(new G4eIonisation(),ordInActive,2,2); - } - if (particleName == "e+") { - pmanager->AddProcess(new G4eBremsstrahlung(),ordInActive,ordInActive,3); - } - if (particleName == "e+") { - pmanager->AddProcess(new G4eplusAnnihilation(),ordDefault,ordInActive,4); - } - if (particleName == "e+") { - pmanager->AddProcess(new G4MultipleScattering(),ordInActive,1,1); - } - if (particleName == "mu+") { - pmanager->AddProcess(new G4MultipleScattering(),ordInActive,1,1); - } - if (particleName == "mu+") { - pmanager->AddProcess(new G4MuBremsstrahlung(),ordInActive,ordInActive,3); - } - if (particleName == "mu+") { - pmanager->AddProcess(new G4MuPairProduction(),ordInActive,ordInActive,4); - } - if (particleName == "mu+") { - pmanager->AddProcess(new G4MuIonisation(),ordInActive,2,2); - } - if (particleName == "mu-") { - pmanager->AddProcess(new G4MultipleScattering(),ordInActive,1,1); - } - if (particleName == "mu-") { - pmanager->AddProcess(new G4MuBremsstrahlung(),ordInActive,ordInActive,3); - } - if (particleName == "mu-") { - pmanager->AddProcess(new G4MuIonisation(),ordInActive,2,2); - } - if (particleName == "mu-") { - pmanager->AddProcess(new G4MuPairProduction(),ordInActive,ordInActive,4); - } - } -} - -#include "G4Decay.hh" - -void MomoN02PhysicsList::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 MomoN02PhysicsList::SetCuts() -{ -// defaultCutValue you have typed in is used - - if (verboseLevel >1){ - G4cout << "MomoN02PhysicsList::SetCuts:"; - } - SetCutsWithDefault(); -} - diff --git a/environments/MOMO/MomoHome/src/MomoVisManager.cc b/environments/MOMO/MomoHome/src/MomoVisManager.cc deleted file mode 100644 index d8cf997075..0000000000 --- a/environments/MOMO/MomoHome/src/MomoVisManager.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. * -// ******************************************************************** -// -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// - -// 2002 march, updated for geant4.4.0, Hajime Yoshida -// -// -// John Allison 24th January 1998. - - -#ifdef G4VIS_USE - -#include "MomoVisManager.hh" - -// Supported drivers... - -#ifdef G4VIS_USE_DAWN -#include "G4FukuiRenderer.hh" -#endif - -#ifdef G4VIS_USE_DAWNFILE -#include "G4DAWNFILE.hh" -#endif - -#ifdef G4VIS_USE_OPENGLX -#include "G4OpenGLImmediateX.hh" -#include "G4OpenGLStoredX.hh" -#endif - - -#ifdef G4VIS_USE_VRML -#include "G4VRML1.hh" -// #include "G4VRML2.hh" -#endif - -#ifdef G4VIS_USE_VRMLFILE -#include "G4VRML1File.hh" -//#include "G4VRML2File.hh" -#endif - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -MomoVisManager::MomoVisManager () {} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void MomoVisManager::RegisterGraphicsSystems () { - -#ifdef G4VIS_USE_DAWN - RegisterGraphicsSystem (new G4FukuiRenderer); -#endif - -#ifdef G4VIS_USE_DAWNFILE - RegisterGraphicsSystem (new G4DAWNFILE); -#endif - - -#ifdef G4VIS_USE_OPENGLX - RegisterGraphicsSystem (new G4OpenGLImmediateX); - RegisterGraphicsSystem (new G4OpenGLStoredX); -#endif - - -#ifdef G4VIS_USE_VRML - RegisterGraphicsSystem (new G4VRML1); -// RegisterGraphicsSystem (new G4VRML2); -#endif - -#ifdef G4VIS_USE_VRMLFILE - RegisterGraphicsSystem (new G4VRML1File); -// RegisterGraphicsSystem (new G4VRML2File); -#endif - - if (fVerbose > 0) { - G4cout << - "\nYou have successfully chosen to use the following graphics systems." - << G4endl; - PrintAvailableGraphicsSystems (); - } -} - -#endif - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/environments/MOMO/MomoHome/src/flatteningFilter.cc b/environments/MOMO/MomoHome/src/flatteningFilter.cc deleted file mode 100644 index 8d2a093c50..0000000000 --- a/environments/MOMO/MomoHome/src/flatteningFilter.cc +++ /dev/null @@ -1,627 +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. * -// ******************************************************************** -// -//***** Generated by Geant4 Geometry Editor at Fri Nov 26 11:51:46 JST 2004 ***** - -//------HeaderFile- - #include "flatteningFilter.hh" - -#include "G4UnitsTable.hh" - -#include "G4VUserDetectorConstruction.hh" - -#include "globals.hh" -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4Cons.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4PVPlacement.hh" -#include "G4PVReplica.hh" -#include "G4SDManager.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -flatteningFilter::flatteningFilter() -{ ; } -flatteningFilter::~flatteningFilter() -{ ; } -G4VPhysicalVolume* flatteningFilter::Construct( ) -{ -// Elements -G4Element* elementN = new G4Element( "Nitrogen", "N", 7. , 14.00674*g/mole ); -G4Element* elementO = new G4Element( "Oxygen", "O", 8. , 15.9994*g/mole ); -G4Element* elementH = new G4Element( "Hydrogen", "H", 1. , 1.00794*g/mole ); - -// Materials from Combination - -G4Material* Air = new G4Material("Air", 1.205*mg/cm3, 2, kStateUndefined, 293.15*kelvin, 1.0*atmosphere ); -Air->AddElement( elementN, 1 ); -Air->AddElement( elementO, 0 ); -G4Material* H2O = new G4Material("H2O", 1.0*g/cm3, 2, kStateUndefined, 273.15*kelvin, 1.0*atmosphere ); -H2O->AddElement( elementH, 2 ); -H2O->AddElement( elementO, 1 ); - -// Materials from Scratch - -G4Material* Aluminum = new G4Material("Aluminum", 13, 26.981539*g/mole, 2.7*g/cm3,kStateSolid, 273.15*kelvin, 1.0*atmosphere ); - -// Visualization attributes - - -G4VisAttributes * b1= new G4VisAttributes( G4Colour(0/255. ,238/255. ,238/255. )); - -G4VisAttributes * b2= new G4VisAttributes( G4Colour(10/255. ,238/255. ,238/255. )); - -G4VisAttributes * b3= new G4VisAttributes( G4Colour(20/255. ,238/255. ,238/255. )); - -G4VisAttributes * b4= new G4VisAttributes( G4Colour(30/255. ,238/255. ,238/255. )); - -G4VisAttributes * b5= new G4VisAttributes( G4Colour(39/255. ,238/255. ,238/255. )); - -G4VisAttributes * b6= new G4VisAttributes( G4Colour(49/255. ,238/255. ,238/255. )); - -G4VisAttributes * b7= new G4VisAttributes( G4Colour(57/255. ,238/255. ,238/255. )); - -G4VisAttributes * b8= new G4VisAttributes( G4Colour(67/255. ,238/255. ,238/255. )); - -G4VisAttributes * b9= new G4VisAttributes( G4Colour(77/255. ,238/255. ,238/255. )); - -G4VisAttributes * b10= new G4VisAttributes( G4Colour(87/255. ,238/255. ,238/255. )); - -G4VisAttributes * b11= new G4VisAttributes( G4Colour(94/255. ,238/255. ,238/255. )); - -G4VisAttributes * b12= new G4VisAttributes( G4Colour(101/255. ,238/255. ,238/255. )); - -G4VisAttributes * b13= new G4VisAttributes( G4Colour(109/255. ,238/255. ,238/255. )); - -G4VisAttributes * b14= new G4VisAttributes( G4Colour(117/255. ,238/255. ,238/255. )); - -G4VisAttributes * b15= new G4VisAttributes( G4Colour(126/255. ,238/255. ,238/255. )); - -G4VisAttributes * b16= new G4VisAttributes( G4Colour(135/255. ,238/255. ,238/255. )); - -G4VisAttributes * b17= new G4VisAttributes( G4Colour(146/255. ,238/255. ,238/255. )); - -G4VisAttributes * b18= new G4VisAttributes( G4Colour(156/255. ,238/255. ,238/255. )); - -G4VisAttributes * g1= new G4VisAttributes( G4Colour(156/255. ,255/255. ,41/255. )); - -G4VisAttributes * g2= new G4VisAttributes( G4Colour(156/255. ,255/255. ,64/255. )); - -G4VisAttributes * g3= new G4VisAttributes( G4Colour(156/255. ,255/255. ,84/255. )); - -G4VisAttributes * pink= new G4VisAttributes( G4Colour(255/255. ,153/255. ,153/255. )); - -G4VisAttributes * b19= new G4VisAttributes( G4Colour(216/255. ,248/255. ,246/255. )); - -// Logical Volumes - -G4Box *solidworld= new G4Box("solidworld", 1000.0*mm, 1000.0*mm, 4000.0*mm ); -G4LogicalVolume * world = new G4LogicalVolume(solidworld, //its solid - Air, //its material - "world" , //its name - 0,0,0); - -G4Box *solidwaterbox= new G4Box("solidwaterbox", 200.0*mm, 200.0*mm, 200.0*mm ); -G4LogicalVolume * waterbox = new G4LogicalVolume(solidwaterbox, //its solid - H2O, //its material - "waterbox" , //its name - 0,0,0); - -waterbox->SetVisAttributes(pink); - -G4Cons *solidcon1= new G4Cons("solidcon1", 0.0*mm, 1.0E-7*mm, 0.0*mm, 0.25*mm, 0.06*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con1 = new G4LogicalVolume(solidcon1, //its solid - Aluminum, //its material - "con1" , //its name - 0,0,0); - -con1->SetVisAttributes(b1); - -G4Cons *solidcon2= new G4Cons("solidcon2", 0.0*mm, 0.51*mm, 0.0*mm, 0.25*mm, 0.065*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con2 = new G4LogicalVolume(solidcon2, //its solid - Aluminum, //its material - "con2" , //its name - 0,0,0); - -con2->SetVisAttributes(b2); - -G4Cons *solidcon3= new G4Cons("solidcon3", 0.0*mm, 0.77*mm, 0.0*mm, 0.51*mm, 0.075*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con3 = new G4LogicalVolume(solidcon3, //its solid - Aluminum, //its material - "con3" , //its name - 0,0,0); - -con3->SetVisAttributes(b3); - -G4Cons *solidcon4= new G4Cons("solidcon4", 0.0*mm, 1.03*mm, 0.0*mm, 0.77*mm, 0.09*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con4 = new G4LogicalVolume(solidcon4, //its solid - Aluminum, //its material - "con4" , //its name - 0,0,0); - -con4->SetVisAttributes(b4); - -G4Cons *solidcon5= new G4Cons("solidcon5", 0.0*mm, 1.54*mm, 0.0*mm, 1.03*mm, 0.22*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con5 = new G4LogicalVolume(solidcon5, //its solid - Aluminum, //its material - "con5" , //its name - 0,0,0); - -con5->SetVisAttributes(b5); - -G4Cons *solidcon6= new G4Cons("solidcon6", 0.0*mm, 2.05*mm, 0.0*mm, 1.54*mm, 0.24*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con6 = new G4LogicalVolume(solidcon6, //its solid - Aluminum, //its material - "con6" , //its name - 0,0,0); - -con6->SetVisAttributes(b6); - -G4Cons *solidcon7= new G4Cons("solidcon7", 0.0*mm, 2.56*mm, 0.0*mm, 2.05*mm, 0.23*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con7 = new G4LogicalVolume(solidcon7, //its solid - Aluminum, //its material - "con7" , //its name - 0,0,0); - -con7->SetVisAttributes(b7); - -G4Cons *solidcon8= new G4Cons("solidcon8", 0.0*mm, 3.07*mm, 0.0*mm, 2.56*mm, 0.23*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con8 = new G4LogicalVolume(solidcon8, //its solid - Aluminum, //its material - "con8" , //its name - 0,0,0); - -con8->SetVisAttributes(b8); - -G4Cons *solidcon9= new G4Cons("solidcon9", 0.0*mm, 3.58*mm, 0.0*mm, 3.07*mm, 0.225*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con9 = new G4LogicalVolume(solidcon9, //its solid - Aluminum, //its material - "con9" , //its name - 0,0,0); - -con9->SetVisAttributes(b9); - -G4Cons *solidcon10= new G4Cons("solidcon10", 0.0*mm, 4.09*mm, 0.0*mm, 3.58*mm, 0.22*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con10 = new G4LogicalVolume(solidcon10, //its solid - Aluminum, //its material - "con10" , //its name - 0,0,0); - -con10->SetVisAttributes(b10); - -G4Cons *solidcon11= new G4Cons("solidcon11", 0.0*mm, 5.1*mm, 0.0*mm, 4.09*mm, 0.425*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con11 = new G4LogicalVolume(solidcon11, //its solid - Aluminum, //its material - "con11" , //its name - 0,0,0); - -con11->SetVisAttributes(b11); - -G4Cons *solidcon12= new G4Cons("solidcon12", 0.0*mm, 6.2*mm, 0.0*mm, 5.1*mm, 0.395*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con12 = new G4LogicalVolume(solidcon12, //its solid - Aluminum, //its material - "con12" , //its name - 0,0,0); - -con12->SetVisAttributes(b12); - -G4Cons *solidcon13= new G4Cons("solidcon13", 0.0*mm, 7.3*mm, 0.0*mm, 6.2*mm, 0.38*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con13 = new G4LogicalVolume(solidcon13, //its solid - Aluminum, //its material - "con13" , //its name - 0,0,0); - -con13->SetVisAttributes(b13); - -G4Cons *solidcon14= new G4Cons("solidcon14", 0.0*mm, 8.4*mm, 0.0*mm, 7.3*mm, 0.335*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con14 = new G4LogicalVolume(solidcon14, //its solid - Aluminum, //its material - "con14" , //its name - 0,0,0); - -con14->SetVisAttributes(b14); - -G4Cons *solidcon15= new G4Cons("solidcon15", 0.0*mm, 9.5*mm, 0.0*mm, 8.4*mm, 0.325*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con15 = new G4LogicalVolume(solidcon15, //its solid - Aluminum, //its material - "con15" , //its name - 0,0,0); - -con15->SetVisAttributes(b15); - -G4Cons *solidcon16= new G4Cons("solidcon16", 0.0*mm, 10.5*mm, 0.0*mm, 9.5*mm, 0.28*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con16 = new G4LogicalVolume(solidcon16, //its solid - Aluminum, //its material - "con16" , //its name - 0,0,0); - -con16->SetVisAttributes(b16); - -G4Cons *solidcon17= new G4Cons("solidcon17", 0.0*mm, 11.5*mm, 0.0*mm, 10.5*mm, 0.275*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con17 = new G4LogicalVolume(solidcon17, //its solid - Aluminum, //its material - "con17" , //its name - 0,0,0); - -con17->SetVisAttributes(b17); - -G4Cons *solidcon18= new G4Cons("solidcon18", 0.0*mm, 12.15*mm, 0.0*mm, 11.5*mm, 0.19*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * con18 = new G4LogicalVolume(solidcon18, //its solid - Aluminum, //its material - "con18" , //its name - 0,0,0); - -con18->SetVisAttributes(b18); - -G4Cons *solidcons19= new G4Cons("solidcons19", 0.0*mm, 13.01*mm, 0.0*mm, 13.35*mm, 0.225*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * cons19 = new G4LogicalVolume(solidcons19, //its solid - Aluminum, //its material - "cons19" , //its name - 0,0,0); - -cons19->SetVisAttributes(b19); - -G4Tubs *solidtub1= new G4Tubs("solidtub1", 0.0*mm, 13.35*mm, 0.4*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * tub1 = new G4LogicalVolume(solidtub1, //its solid - Aluminum, //its material - "tub1" , //its name - 0,0,0); - -tub1->SetVisAttributes(g1); - -G4Tubs *solidtub2= new G4Tubs("solidtub2", 13.0*mm, 13.35*mm, 0.225*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * tub2 = new G4LogicalVolume(solidtub2, //its solid - Aluminum, //its material - "tub2" , //its name - 0,0,0); - -tub2->SetVisAttributes(g2); - -G4Tubs *solidtub3= new G4Tubs("solidtub3", 13.35*mm, 16.0*mm, 0.625*mm, 0.0*rad, 360.0*deg ); -G4LogicalVolume * tub3 = new G4LogicalVolume(solidtub3, //its solid - Aluminum, //its material - "tub3" , //its name - 0,0,0); - -tub3->SetVisAttributes(g3); - - -// Physical Volumes ---- Single Positioned Placement, Repeated Placement, Slicing --------------------------- - - -// Single Positioned Placement - -G4RotationMatrix rotMatrixpworld; // unit rotation matrix -G4double anglepworld = 0.0*deg; // rotational angle -rotMatrixpworld.rotateX(anglepworld); // rot matrix - -G4VPhysicalVolume * pworld= new G4PVPlacement(G4Transform3D(rotMatrixpworld, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 0.0*mm)), - "pworld", //its name (2nd constructor) - world, //its logical volume - NULL, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixphantom; // unit rotation matrix -G4double anglephantom = 0.0*deg; // rotational angle -rotMatrixphantom.rotateX(anglephantom); // rot matrix - -G4VPhysicalVolume * phantom= new G4PVPlacement(G4Transform3D(rotMatrixphantom, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 0.0*mm)), - "phantom", //its name (2nd constructor) - waterbox, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon1; // unit rotation matrix -G4double anglepcon1 = 0.0*deg; // rotational angle -rotMatrixpcon1.rotateX(anglepcon1); // rot matrix - -G4VPhysicalVolume * pcon1= new G4PVPlacement(G4Transform3D(rotMatrixpcon1, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1034.04*mm)), - "pcon1", //its name (2nd constructor) - con1, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon2; // unit rotation matrix -G4double anglepcon2 = 0.0*deg; // rotational angle -rotMatrixpcon2.rotateX(anglepcon2); // rot matrix - -G4VPhysicalVolume * pcon2= new G4PVPlacement(G4Transform3D(rotMatrixpcon2, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1033.888*mm)), - "pcon2", //its name (2nd constructor) - con2, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon3; // unit rotation matrix -G4double anglepcon3 = 0.0*deg; // rotational angle -rotMatrixpcon3.rotateX(anglepcon3); // rot matrix - -G4VPhysicalVolume * pcon3= new G4PVPlacement(G4Transform3D(rotMatrixpcon3, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1033.748*mm)), - "pcon3", //its name (2nd constructor) - con3, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon4; // unit rotation matrix -G4double anglepcon4 = 0.0*deg; // rotational angle -rotMatrixpcon4.rotateX(anglepcon4); // rot matrix - -G4VPhysicalVolume * pcon4= new G4PVPlacement(G4Transform3D(rotMatrixpcon4, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1033.583*mm)), - "pcon4", //its name (2nd constructor) - con4, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon5; // unit rotation matrix -G4double anglepcon5 = 0.0*deg; // rotational angle -rotMatrixpcon5.rotateX(anglepcon5); // rot matrix - -G4VPhysicalVolume * pcon5= new G4PVPlacement(G4Transform3D(rotMatrixpcon5, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1033.273*mm)), - "pcon5", //its name (2nd constructor) - con5, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon6; // unit rotation matrix -G4double anglepcon6 = 0.0*deg; // rotational angle -rotMatrixpcon6.rotateX(anglepcon6); // rot matrix - -G4VPhysicalVolume * pcon6= new G4PVPlacement(G4Transform3D(rotMatrixpcon6, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1032.813*mm)), - "pcon6", //its name (2nd constructor) - con6, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon7; // unit rotation matrix -G4double anglepcon7 = 0.0*deg; // rotational angle -rotMatrixpcon7.rotateX(anglepcon7); // rot matrix - -G4VPhysicalVolume * pcon7= new G4PVPlacement(G4Transform3D(rotMatrixpcon7, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1032.343*mm)), - "pcon7", //its name (2nd constructor) - con7, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon8; // unit rotation matrix -G4double anglepcon8 = 0.0*deg; // rotational angle -rotMatrixpcon8.rotateX(anglepcon8); // rot matrix - -G4VPhysicalVolume * pcon8= new G4PVPlacement(G4Transform3D(rotMatrixpcon8, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1031.883*mm)), - "pcon8", //its name (2nd constructor) - con8, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon9; // unit rotation matrix -G4double anglepcon9 = 0.0*deg; // rotational angle -rotMatrixpcon9.rotateX(anglepcon9); // rot matrix - -G4VPhysicalVolume * pcon9= new G4PVPlacement(G4Transform3D(rotMatrixpcon9, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1031.428*mm)), - "pcon9", //its name (2nd constructor) - con9, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon10; // unit rotation matrix -G4double anglepcon10 = 0.0*deg; // rotational angle -rotMatrixpcon10.rotateX(anglepcon10); // rot matrix - -G4VPhysicalVolume * pcon10= new G4PVPlacement(G4Transform3D(rotMatrixpcon10, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1030.983*mm)), - "pcon10", //its name (2nd constructor) - con10, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon11; // unit rotation matrix -G4double anglepcon11 = 0.0*deg; // rotational angle -rotMatrixpcon11.rotateX(anglepcon11); // rot matrix - -G4VPhysicalVolume * pcon11= new G4PVPlacement(G4Transform3D(rotMatrixpcon11, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1030.338*mm)), - "pcon11", //its name (2nd constructor) - con11, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon12; // unit rotation matrix -G4double anglepcon12 = 0.0*deg; // rotational angle -rotMatrixpcon12.rotateX(anglepcon12); // rot matrix - -G4VPhysicalVolume * pcon12= new G4PVPlacement(G4Transform3D(rotMatrixpcon12, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1029.518*mm)), - "pcon12", //its name (2nd constructor) - con12, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon13; // unit rotation matrix -G4double anglepcon13 = 0.0*deg; // rotational angle -rotMatrixpcon13.rotateX(anglepcon13); // rot matrix - -G4VPhysicalVolume * pcon13= new G4PVPlacement(G4Transform3D(rotMatrixpcon13, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1028.743*mm)), - "pcon13", //its name (2nd constructor) - con13, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon14; // unit rotation matrix -G4double anglepcon14 = 0.0*deg; // rotational angle -rotMatrixpcon14.rotateX(anglepcon14); // rot matrix - -G4VPhysicalVolume * pcon14= new G4PVPlacement(G4Transform3D(rotMatrixpcon14, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1028.028*mm)), - "pcon14", //its name (2nd constructor) - con14, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon15; // unit rotation matrix -G4double anglepcon15 = 0.0*deg; // rotational angle -rotMatrixpcon15.rotateX(anglepcon15); // rot matrix - -G4VPhysicalVolume * pcon15= new G4PVPlacement(G4Transform3D(rotMatrixpcon15, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1027.368*mm)), - "pcon15", //its name (2nd constructor) - con15, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon16; // unit rotation matrix -G4double anglepcon16 = 0.0*deg; // rotational angle -rotMatrixpcon16.rotateX(anglepcon16); // rot matrix - -G4VPhysicalVolume * pcon16= new G4PVPlacement(G4Transform3D(rotMatrixpcon16, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1026.763*mm)), - "pcon16", //its name (2nd constructor) - con16, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon17; // unit rotation matrix -G4double anglepcon17 = 0.0*deg; // rotational angle -rotMatrixpcon17.rotateX(anglepcon17); // rot matrix - -G4VPhysicalVolume * pcon17= new G4PVPlacement(G4Transform3D(rotMatrixpcon17, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1025.6208*mm)), - "pcon17", //its name (2nd constructor) - con17, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon18; // unit rotation matrix -G4double anglepcon18 = 0.0*deg; // rotational angle -rotMatrixpcon18.rotateX(anglepcon18); // rot matrix - -G4VPhysicalVolume * pcon18= new G4PVPlacement(G4Transform3D(rotMatrixpcon18, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1024.743*mm)), - "pcon18", //its name (2nd constructor) - con18, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixpcon19; // unit rotation matrix -G4double anglepcon19 = 0.0*deg; // rotational angle -rotMatrixpcon19.rotateX(anglepcon19); // rot matrix - -G4VPhysicalVolume * pcon19= new G4PVPlacement(G4Transform3D(rotMatrixpcon19, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1024.778*mm)), - "pcon19", //its name (2nd constructor) - cons19, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixptub1; // unit rotation matrix -G4double angleptub1 = 0.0*deg; // rotational angle -rotMatrixptub1.rotateX(angleptub1); // rot matrix - -G4VPhysicalVolume * ptub1= new G4PVPlacement(G4Transform3D(rotMatrixptub1, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1024.153*mm)), - "ptub1", //its name (2nd constructor) - tub1, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixptub2; // unit rotation matrix -G4double angleptub2 = 0.0*deg; // rotational angle -rotMatrixptub2.rotateX(angleptub2); // rot matrix - -G4VPhysicalVolume * ptub2= new G4PVPlacement(G4Transform3D(rotMatrixptub2, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1024.153*mm)), - "ptub2", //its name (2nd constructor) - tub2, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - -G4RotationMatrix rotMatrixptub3; // unit rotation matrix -G4double angleptub3 = 0.0*deg; // rotational angle -rotMatrixptub3.rotateX(angleptub3); // rot matrix - -G4VPhysicalVolume * ptub3= new G4PVPlacement(G4Transform3D(rotMatrixptub3, //rotation - G4ThreeVector(0.0*mm, 0.0*mm, 1024.378*mm)), - "ptub3", //its name (2nd constructor) - tub3, //its logical volume - pworld, //its mother volume - false, //no boolean operation - 0); //copy number - - -// Repeated Placement Translation - - -// Repeated Placement AxialSymmetoric - - -// Slicing Translation - - -// Slicing AxialSymmetric - - -// return the physical World - - - return pworld; -} diff --git a/environments/MOMO/MomoHome/vis.mac b/environments/MOMO/MomoHome/vis.mac deleted file mode 100644 index dff0aea735..0000000000 --- a/environments/MOMO/MomoHome/vis.mac +++ /dev/null @@ -1,49 +0,0 @@ -# -# Macro file for the initialization phase of "exampleN03.cc" -# when running in interactive mode -# -# Sets some default verbose -# -/control/verbose 2 -/control/saveHistory -/run/verbose 2 -# -# 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) -# -# Use this open statement to get an .eps and .prim files -# suitable for viewing in DAWN. -/vis/open DAWNFILE -# -# Use this open statement instead for OpenGL in immediate mode. -/vis/open OGLIX -# -# Use this open statement instead to get a HepRep version 1 file -# suitable for viewing in WIRED. -#/vis/open HepRepFile -# -# Use this open statement instead to get a HepRep version 2 file -# suitable for viewing in WIRED. -#/vis/open HepRepXML -# -# Output an empty detector -/vis/viewer/flush -# -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) -# -/tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate -# -# At end of each run, an automatic flush causes graphical output. -#/run/beamOn 1 -# When you exit Geant4, you will find a file called scene-0.heprep.zip. -# Unzipping this will give you three separate HepRep files suitable for -# viewing in WIRED. -# The first file will contain just detector geometry. -# The second file will contain the detector plus one event. -# The third file will contain the detector plus ten events. diff --git a/environments/MOMO/MomoHome/vrmlvis.mac b/environments/MOMO/MomoHome/vrmlvis.mac deleted file mode 100644 index 3a6ed4eb56..0000000000 --- a/environments/MOMO/MomoHome/vrmlvis.mac +++ /dev/null @@ -1,28 +0,0 @@ - -/control/verbose 2 -/control/saveHistory -/run/verbose 2 - - -/vis/scene/create -/vis/open VRML1FILE -/vis/drawVolume -/vis/scene/add/axes 0 0 0 2 m -/vis/viewer/update -/vis/viewer/set/viewpointThetaPhi 60 30 deg -/vis/viewer/zoom 5 - -/vis/viewer/flush -# -# draw scene/ -# -# -# for drawing the tracks -/run/initialize -/tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate - - - -/vis/viewer/update - diff --git a/environments/MOMO/docs/MOMOHelp.html b/environments/MOMO/docs/MOMOHelp.html deleted file mode 100644 index 61a2a1e22b..0000000000 --- a/environments/MOMO/docs/MOMOHelp.html +++ /dev/null @@ -1,2337 +0,0 @@ - - - -MOMO Help - - - -
    -

    -MOMO; Integrated GUI desktop for Geant4 development -


    - November 25, 2004 -
    - Hajime YOSHIDA -
    - Naruto University of Education -
    - -
    -

    Index

    -

      -
    1. MOMO and its derived versions -
    2. How to develop Geant4 detector, physics list, -main program, and makefile, using MOMO -
    3. GGE Geant4 Geometry Editor -
        -
      1. Characteristics -
      2. Material Editor and Volume Editor -
      3. Menus of GGE -
      4. Material Editor -
          -
        1. Periodic Table of Elements -
        2. Functionalities of the Material Editor -
        -
      5. The Logical Volume Editor -
          -
        1. Functionalities to define Geant4 logical volumes -
        -
      6. The Physical Volume Editor -
          -
        1. Limit of Physical volumes Editor -
        2. Constructors of G4PVPlacement -
        3. Single Positioned Volume -
        4. Repeated Translationally Positioned Volumes -
        5. Repeated Rotationally Positioned Volumes -
        6. Replica in the X, Y or Z direction, Replica in rho, phi or Z direction -
        -
      7. Generation of C++ code -
          -
        1. Naming conventions in GGE -
        2. Default values and combo-boxes -
        -
      - -
    4. GPE Geant4 Physics Editor -
        -
      1. Particle -
      2. EM Processes -
      3. C++ codes generated by GPE -
      4. Persistent file -
      - - - -
    5. MOMO's Companion Files -
        -
      1. Momomake.gmk generated by MOMO -
      2. Main program generated by MOMO -
      -
    6. Makefiles and Environment Variables - - -
    7. GAG and Gain -
        -
      1. GAG -
      2. Gain -
      -
    - -TOP - -1) MOMO and its derived versions -
    -
    - -Momo is conceived as a kind of integrated GUI desktop for Geant4 -which combines existing tools like GGE (Geant4 Geometry Editor), -GPE (Geant4 Physics Editor), GAG (Geant4 Adaptive GUI) -and Gain (Geant4 adaptive interface for network). - -It also provides user with the capability to create a makefile reflecting his -environment variables, to create a simple main program which utilises -C++ source codes generated by GGE and GPE and to compile a running application. - -It is completely written in Java and runs on -any platform running Java like Linux, Windows and Mac. -Currently supported is Java 1.4 (some functions don't work well with Java 1.5). - -At present time, there are three versions of MOMO, which have different way -to start. -
    -
    Stand-alone version -
    It must be started in the console, using "java" command. -The jar (Java archive) file MOMO.jar of the standalone version can -be downloaded from the site below: - Naruto Web server - -When its environment and a set of -companion files are prepared (explained later), MOMO is capable of -creating C++ main program, GNU makefile and compiling to make a -running program. - -GAG (Geant4 Adaptive GUI) and gain (Geant4 adaptive interface for network) -are available to steer -the execution of Geant4 and are integrated in the present version of MOMO. -
    Java Web Start version -
    -This version is of exactly the same MOMO as - the stand-alone version with digital signature. When user clicks it in -the Web browser, the jar file is downloaded automatically. Then, it asks -him whether he wants to start it, trusting the signature. -
    MomoPlugin to JAS3 -
    JAS3, when loaded with MomoPlugin.jar, -offers similar functionalities as above. -The current version of MomoPlugin.jar lacks some functions -(creating main program, and makefile) found in -the stand-alone version, as explained below. - -The plugin version can be -used in conjunction with G4Plugin which steers the execution of -Geant4. MomoPlugin and G4Plugin are available at SLAC. - -The main program must use G4UIrmi class to -connect to G4Plugin. The front-end class G4UIrmi has a stronger point -that G4UIGAG in that it is multi-threaded. So, user of G4Plugin + G4UIrmi -can stop the execution of a long run without exiting, needless to say -the powerful integrated environment for code development, -steering the execution of simulation and analysing the results. -This manual doesn't treat this interesting plugin. -
    - -
    -BACK
    - -2) How to develop detector, physics list, main program, and makefile, using MOMO -
    -Using MOMO, -user can create geometry, physics, main C++ classes and a makefile, -compile them with Geant4 libraries. Schematical diagram is shown below. - -
    -   GGE             GPE            MOMO or User    MOMO Env. Panel  MOMO companions
    -    |               |                 |              |                   |
    - Geometry.cc   PhysicsList.cc    MySimulation.cc  makefile         *.cc *.hh
    -    |               |                 |              |                   |
    - Geometry.o    PhysicsList.o     MySimulation.o   Momomake.gmk          *.o
    -       \             \                |             /                  /
    -                                 Mysimulation
    -                                      /\
    -                                      ||
    -                                 GAG / Gain / G4Plugin
    -
    - -
    - -All versions of MOMO, in common, offers the following key functions; -
      -
    • GGE to create detector C++ class files -
    • GPE to create physics list C++ class files -
    • Environment Panel to see and set the Geant4 environment variables which are used in the makefile generated by MOMO -
    • GAG to start a Geant4 application and to steer its execution -
    • Gain to start a Geant4 application at a remote site and to steer its execution - -
    - -MOMO has the extra menus; - -
      -
    1. "Project" menus -
        -
      • the button to create a simple working main program which uses G4UIGAG interface and visualization drivers which are set on the MOMO's Env panel, -
      • the button to create a Makefile using the environment variables -set in the "Environment Panel". This makefile is made so that the -environment variables set by the user within the "Environment Panel" -oversede the ones defined in the parent terminal/login shell. -
      • the button to compile all the files generated by MOMO and a set -of companion files to make a running Geant4 executable file. -
      -
    2. Help menu -This document is displayed. - -
    -MOMO is helped by the followings; - -
      - -
    • A set of companion files complement the C++ source files generated by MOMO. -They are stored in the canonical directory structure of Geant4. -Among them are mandatory user-defined class and visualization manager. -So MOMO with the companion files provide a complete set of -running Geant4 simulation, as explained later. -
    • Examplary MOMO's persistent -files of geometry and physics list are also included for demonstration. - -
    - - -
    -BACK -
    -3) GGE Geant4 Geometry Editor -
    -
    - - GGE, or GEANT4 Geometry Editor, is a tabular tool to "create" a -detector geometry of GEANT4. -From the rows of the tables, filled by user, it generates a -complete C++ class code lines for materials and logical volumes. - -It is capable of limited and relatively simple cases of the full geometry, -including physical volumes, i.e., placing of logical volumes. -

    -3-1) Characteristics -

    -
    BACK -
    -
    Tables -
    It provides users with several tables -into whose cells users can fill with their own detector parameters. -Each row of the tables corresponds to a kind of instantiation or -application of a certain method of a class. -
    Help user with Geant4 defaults -
    Default values, canonical units of Geant4, pre-defined Geant4 constants -etc. are visually provided for user's choice. -
    C++ code generation -
    Using the data in the tables, even if they are partial and imcomplete, -GGE can generate C++ source codes for a detector, -only if the class name of the geometry is supplied. -
    -If user wants so, C++ codes generated by GGE can be a complete -description of a detector, including the definition of atoms, materials, -solids, color attributes, -logical volumes and physical volumes with rotations and translations. -
      -
    • All necessary class names and their usages of the Geant4 class libraries - are applied in automatic C++ code generation -
    • All necessary class definition files are included automatically -
    • Necessary local variables such as to define the rotation or translation - are created when necessary. Naming conventions are explained later. - -
    • The C++ source codes are saved into files and can be compiled to - make a GEANT4 executable. -
    -
    Persistency and Reuse of detector data -
    Full detector data and material data can be -saved in the Java's serialization format or in the XML format a la GDML-1. -It can be reloaded for later reuse. - -XML format a la GDML-1 is limited to materials and logical volumes. -But XML file -lacks some items in the MOMO's table due -to GDML-1's present imcompleteness. Physical volumes aren't -supported. -
    Companion files and Extra "Project" functions -
    - -
      -
    • -A set of companion files are provided to visualize the geometry and -to run the simulation with the physics list. Files generated by GGE and GPE -must be stored in the canonical sub-directories, therein. - -Details will be explained later. -
    • The stand-alone version of MOMO provides three menu buttons; -
        -
      • to generate a simple working main program. User has to supply the -name of the main program, which MOMO uses for the G4TARGET. -
      • to generate Momomake.gmk makefile. The environment variables set by -a user are included in the Momomake.gmk. -
      • to compile all. If MOMOHOME variable is defined to designate the - position of the companion files, MOMO starts make command. Or user can -use this makefile like; -
        -      %make -f Momomake.gmk
        -
        - -
    - - - -
    -BACK
    - -

    3-2) Material Editor and Volume Editor

    -
    - - GGE consists of two tabular editors (material and volume) which are -interrelated.
    - -The material editor consists of two tables; one for "material from scratch", another -for "compound materials". -
    - Volume editor consists of two minor editors; -one for "logical volumes" and another for -"physical volumes". The logical volume editor allows user to specify complete -description of logical volumes, -including solid, material, and visualization attribute. -
    -The Physical volume editor, in contrast, supports only limited use-cases ; Single -Positioned Volume, Repeatedly Positioned Volumes with incremental copy numbers -(translational arrangement or axially symmetric arrangement), and -Replicas (in any axis). - -

    -Tips! -

      -
    1. GGE/MOMO is based on Java's MVC (Model-View-Control) model, so that any changes -to any of the tables by a user -are automatically reflected to the internal data structure of GGE and thus to C++ codes. -This is true at any moment, so that user can get even imcomplete C++ class files -at any moment, even without any filled tabular cells, though only the -class name is mandatory. -
    2. -The whole detector description can be saved in a persistent file and can -be loaded for later reuse. -
    3. - - -GGE employs own naming rules to generate C++ codes from the tables. This will -be explained later. -
    -
    -
    BACK
    - -

    3-3) Menus of GGE

    -
    - -GGE has a top menu buttons and fill-in text area. - - -
      -
    • text area to specify the class name. This is mandatory to save data or to create C++ source codes. -
    • menu buttons; Material editor, Volume editor -
        -
      • load, save a persistent file -
          -
        • Java Serialization data format (MOMO-standards), - the compatibility with the future version of MOMO isn't garuanteed. -
        • XML format (not recommended though with limited functions) -
        -
      • clear the tables -
      • generate cc and hh files using the specified class name (Volume editor) -
      -
    -
    -

    3-4) Material Editor


    -
    BACK -
    -The material editor -is composed of two minor tables for -
      -
    1. "material from scratch" -and -
    2. "compound materials". -
    - These tables can be enlengthened as will, if necessary. -The boundary of the two tables can be moved as will, too. -
    - -Every row corresponds to one material (scratch or compound). -A row is filled with selected element(s) and default values, when -user push the "append" or "insert" button, after selecting a element(s). - -
    -BACK
    - -

    3-4-1) Periodic Table of Elements

    -
    -The periodic table is popped up, -when one of the "append" or "insert" buttons of the tables is pushed. -
    -When an element is chosen by the mouse click, it's label color becomes green. -Multiple elements (upto 20 at present) -can be chosen simultaneously for compound materials. -When a mouse is clicked on the selected element, is is deselected. So, user -can choose correct element(s). -
    -The foundamental properties of atoms; Z, A, etc. are pre-built in to the -atomic table and are copied automatically to the table. -They are also used to create -C++, XML and Java serialization files, -even though unseen to the user. -
    -The element window can be hidden at any moment by the close -button of the window. - -
    -
    -BACK
    -

    -3-4-2) Functionalities of the Material Editor -

    - -
    - -The following functionalities are implemented; -
      -
    1. append, insert, edit and delete a material -
        -
      • material from scratch
        - The name of an atom, numbers Z and A are - taken from the atomic table. User has to specify its density, - temperature and pressure. Canonical units and states can be - choosen from the listbox.
        Although the scratch table shows - the names of the elements in the second column, - the corresponding instance in C++ is named "elementX", where - "X" represents element's symbol, like "elementH", "elementNa". -
      • material by combination (number or fractional ratios).
        - When element(s) is(are) chosen in the periodic table of - atoms, it(they) is(are) copied to tha table of - scratch(compound) on the pression of "append" - or "insert" button. -
        If user selected multiple elements and pushed - "insert" or "append" button of the scratch table, only the - first element is copied. When the button of the compound table - is pushed, all the selected elements are shown in the third column. -
        - To "insert" a row, user - has to focus a row before the click on the menu button. A new row - is created just below it. -
      • User has to type in the name of a compound material, - which is employed as the variable name in verbatim. -
      • A pop-up window - is displayed when he focuses and click - on a third cell with the label "elements". - There, compound by number or by fraction can be specified. - The values are copied to the "elements" cell. To confirm, user - can enlarge the width of the cell. -
      • default states (and their canonical names) - and values are provided (material state, temperature, - pressure). -
      • canonical physical units of GEANT4 - are shown in selectable combo-boxes. -
      -
    2. The first column "in Use" is to mark the - materials used in user's detector (logical volumes). - The default value is "in Use", when a row is created at the first time. -
        -
      • Only materials used in the logical volumes can be - automatically checked and marked as "in Use" state by - the "Mark the Used Materials" button - on the Logical Volume Table, as seen below. -
      • user can add any materials "in Use" to - have C++ constructors, even when they aren't used in - logical volumes. -
      -
    3. input and output from/to persistent material file -
      - Material tables are saved to a Java's persistent file and can be - reused. XML a la GDML format is also provided. Note that GDML is not yet - complete and is lacking a part of definitions like material's state etc. -
        -
      • load, append or save a material file -
      • exemplary persistent material database - file "PDG.g4mt" and PDG.xml taken from the PDG data book - are available. -
      -
    - -Not yet implemented are; -
      -
    • material from materials, -
    • isotope -
    -Notice on C++ codes
    -MOMO doesn't duplicate the C++ instance of an element, but - is not protected against possible duplication -of "in Use" instances of the same name of compound materials. -
    -
    -

    3-4-3) A code fragment generated from the dicom.xml; XML file.

    -
    -// Elements
    -G4Element* elementH = new G4Element( "Hydrogen", "H", 1. , 1.00794*g/mole );
    -G4Element* elementC = new G4Element( "Carbon", "C", 6. , 12.011*g/mole );
    -G4Element* elementN = new G4Element( "Nitrogen", "N", 7. , 14.00674*g/mole );
    -G4Element* elementO = new G4Element( "Oxygen", "O", 8. , 15.9994*g/mole );
    -G4Element* elementNa = new G4Element( "Sodium", "Na", 11. , 22.989768*g/mole );
    -G4Element* elementMg = new G4Element( "Magnesium", "Mg", 12. , 24.305*g/mole );
    -G4Element* elementP = new G4Element( "Phosphorus", "P", 15. , 30.973762*g/mole );
    -G4Element* elementS = new G4Element( "Sulfur", "S", 16. , 32.066*g/mole );
    -G4Element* elementCl = new G4Element( "Chlorine", "Cl", 17. , 35.4527*g/mole );
    -G4Element* elementK = new G4Element( "Potassium", "K", 19. , 39.0983*g/mole );
    -G4Element* elementCa = new G4Element( "Calcium", "Ca", 20. , 40.078*g/mole );
    -G4Element* elementFe = new G4Element( "Iron", "Fe", 26. , 55.845*g/mole );
    -
    -// Materials from Combination
    -
    -G4Material* SkeletonSpongiosa = new G4Material("SkeletonSpongiosa",  1159.0*kg/m3, 
    -     12, kStateUndefined, 273.15*kelvin, 1.0*atmosphere );
    -SkeletonSpongiosa->AddElement( elementH, 0.085 );
    -SkeletonSpongiosa->AddElement( elementC, 0.404 );
    -SkeletonSpongiosa->AddElement( elementN, 0.058 );
    -SkeletonSpongiosa->AddElement( elementO, 0.367 );
    -SkeletonSpongiosa->AddElement( elementNa, 0.0010 );
    -SkeletonSpongiosa->AddElement( elementMg, 0.0010 );
    -SkeletonSpongiosa->AddElement( elementP, 0.034 );
    -SkeletonSpongiosa->AddElement( elementS, 0.0020 );
    -SkeletonSpongiosa->AddElement( elementCl, 0.0020 );
    -SkeletonSpongiosa->AddElement( elementK, 0.0010 );
    -SkeletonSpongiosa->AddElement( elementCa, 0.044 );
    -SkeletonSpongiosa->AddElement( elementFe, 0.0010 );
    -
    -
    -
    -The above C++ lines are generated from the next fragments of XML file a la GDML -which was created by MOMO which reloaded this XML file. - -
    -
    -<?xml version="1.0" encoding="UTF-8"?>
    -<gdml xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
    -     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    -     xsi:noNamespaceSchemaLocation="../schema/gdml_1.0.xsd">
    -<!--skip-->
    -
    -  <materials>
    -     <!--Elements-->
    -     <element name="Hydrogen" formula="H" Z="1">
    -      <atom value="1.00794"/>
    -     </element>
    -     <element name="Carbon" formula="C" Z="6">
    -      <atom value="12.011"/>
    -     </element>
    -     <element name="Nitrogen" formula="N" Z="7">
    -      <atom value="14.00674"/>
    -     </element>
    -     <element name="Oxygen" formula="O" Z="8">
    -      <atom value="15.9994"/>
    -     </element>
    -     <element name="Sodium" formula="Na" Z="11">
    -      <atom value="22.989768"/>
    -     </element>
    -     <element name="Magnesium" formula="Mg" Z="12">
    -      <atom value="24.305"/>
    -     </element>
    -     <element name="Phosphorus" formula="P" Z="15">
    -      <atom value="30.973762"/>
    -     </element>
    -     <element name="Sulfur" formula="S" Z="16">
    -      <atom value="32.066"/>
    -     </element>
    -     <element name="Chlorine" formula="Cl" Z="17">
    -      <atom value="35.4527"/>
    -     </element>
    -     <element name="Potassium" formula="K" Z="19">
    -      <atom value="39.0983"/>
    -     </element>
    -     <element name="Calcium" formula="Ca" Z="20">
    -      <atom value="40.078"/>
    -     </element>
    -     <element name="Iron" formula="Fe" Z="26">
    -      <atom value="55.845"/>
    -     </element>
    -
    -     <!--Materials from Combination-->
    -     <material name="SkeletonSpongiosa">
    -         <D type="denstiy" value="1159.0" unit="kg/m3"/>
    -         <T type="temperature" value="273.15" unit="kelvin"/>
    -         <P type="pascal" value="1.0" unit="atmosphere"/>
    -         <fraction n="0.085" ref="H"/>
    -         <fraction n="0.404" ref="C"/>
    -         <fraction n="0.058" ref="N"/>
    -         <fraction n="0.367" ref="O"/>
    -         <fraction n="0.0010" ref="Na"/>
    -         <fraction n="0.0010" ref="Mg"/>
    -         <fraction n="0.034" ref="P"/>
    -         <fraction n="0.0020" ref="S"/>
    -         <fraction n="0.0020" ref="Cl"/>
    -         <fraction n="0.0010" ref="K"/>
    -         <fraction n="0.044" ref="Ca"/>
    -         <fraction n="0.0010" ref="Fe"/>
    -     </material>
    -<!--skip-->
    -</gdml>
    -
    -
    - -
    - -BACK
    - -

    - 3-5) The Logical Volume Editor -

    - -
    - -The logical volume editor is composed of -
      -
    • three buttons; "append", "insert" and "delete" -
    • the logical volume table; -
      -Each row in the table corresponds to an instantiation of -a Geant4 logical or physical volume constructor. Its arguments -are specified in the other cells of the row. -
    • the button "Mark the Used Materials" -
    • the editor for visualization attributes
      -When "create" button is pressed, a color chooser popps up. By choosing a color -and typing its name, it is copied in the editor. -
    - -
    -

    -3-5-1) Functionalities of the logical volume editor -

    -
    BACK
    - -Following functionaliteis are implemented; -
      -
    1. Defining G4LogicalVolumes
      - Each row of the logical vulume table represents an - instance of the G4LogicalVolume constructor. - User can append, insert or delete a row with corresponding buttons.
      - The table has following columns; -
        -
      • The first column is to specify the name of a logical volume. -
      • The second column is filled automatically by choosing one of the - G4Solid types from the listbox.
        - By clicking on the cell, user has a pop-up window - to edit its parameters and preview with DAWN. -
      • The third column is type-in cell for material name - listed in the material editor. All the items already - defined in the Material editor are diaplayed in the form - of the listbox only to choose one. -
      • The fourth column is to specify the visualization attribute's - name. All the color names defined in the color chooser lists are - displayed to choose one. -
      - -
    2. Selecting a G4Solid
      - All Geant4 solids can be selected from the solid listbox, located at the - right of "Select a Solid" label. -
        -
      • all CSG solids; box, tube segment, cone segment, - symmetric trapezoid, sphere segment, parallel piped, - torus segment, HYPE, -
      • BREP solids; PolyCone segment and Polygone segment -
      -
    3. After selecting a solid tyle, user pushes the "append" or "insert" button - and a new row is created in the table. -
    4. By clicking on the "solid" cell (the second column), - a pop up - window appears to specify solid's parameters. User can -
        -
      • type in parameters and select canonical units of CSG solids -
      • add any number of nodes and facets of BREP solids and - type in their parameters and select canonical units -
      • preview with DAWN with automatically chosen world size -
      • save DAWN format file of the solid - -
      -
      - A code fragment of a logical volume "thintube" of -BREP PolyCone generated by MOMO. Words in red are those typed in by a user. -
      -G4double DzArraythintube   [] = 
      -     {-1000.0*micrometer, -750.0*micrometer, -500.0*micrometer, -250.0*micrometer, 
      -      0.0*micrometer, 250.0*micrometer, 500.0*micrometer, 750.0*micrometer, 
      -      1000.0*micrometer};
      -G4double RminArraythintube [] = 
      -     {1.0*micrometer, 1.0*micrometer, 1.0*micrometer, 1.0*micrometer, 1.0*micrometer, 
      -      1.0*micrometer, 1.0*micrometer, 1.0*micrometer, 1.0*micrometer};
      -G4double RmaxArraythintube [] = 
      -      {20.0*micrometer, 16.0*micrometer, 12.0*micrometer, 8.0*micrometer, 
      -       4.0*micrometer, 8.0*micrometer, 12.0*micrometer, 16.0*micrometer, 20.0*micrometer};
      -
      -G4BREPSolidPCone *solidthintube = new G4BREPSolidPCone("solidthintube",  //its name
      -0.0*mrad,  //its start angle
      -270.0*deg, //its opening angle
      -9,  //its nZ
      -DzArraythintube[0],  //z start 
      -DzArraythintube,  //z value 
      -RminArraythintube,  //rmin 
      -RmaxArraythintube );  //rmax
      -
      -G4LogicalVolume * logicalthintube = new G4LogicalVolume(solidthintube,  //its solid
      -carbon,  //its material
      -"logicalthintube" , //its name
      - 0,0,0);
      -
      -logicalthintube->SetVisAttributes(black);
      -
      -
      -
    5. Defining G4Color
      - The visualization attribute and its name are required by the logical - volumes. They - can be defined using a graphical color chooser. - Each color's given unique name is listed in the editor panel. - The RGB numbers defined by the chooser are taken - to generate C++ codes. -
      -An example of code fragments generated by MOMO -
      -G4VisAttributes * lightblue= new G4VisAttributes( G4Colour(0/255. ,255/255. ,255/255. ));
      -
      - -
    6. "Make the used materials" button.
      - Clicking this button, GGE scans the materials specified in the - logical volume table and marks "in Use" cell (the first column ) - of the material tables accordingly. All other materials not used in - logical volumes are not marked. - - Note that only rows marked "in Use" are used - to generate C++ codes. - -
    -
    -BACK
    - -

    3-6) The Physical Volume Editor

    - -
    -The physical volume editor consists of five minor tables of different -way of displacement of a logical volume. Each table is contained in a tabbed pane. - - -
    -

    3-6-1) Limit of Physical volumes Editor

    -

    -Compared with the logical volume editor, the physical volume one has limited -generality. So, if user aren't satisfied with the following simplistic ways -to place logical volumes, he can use partially generated C++ codes for -logical volumes etc. as a starting point. - -

    - -

    3-6-2) Constructors of G4PVPlacement

    -BACK
    -Following four types of constructor are implemented, -according to the types of -rotation and types of the mother volume. -
      -
    1. Type 1 constructor = rotation of the frame, physical mother volume -
    2. Type 2 constructor = rotation of a body, physical mother volume -
    3. Type 3 constructor = rotation of the frame, logical mother volume -
    4. Type 4 constructor = rotation of a body, logical mother volume -
    - - -Next are the example C++ codes generated by MOMO for the above four cases. In the first two cases, -words in red are those which user typed in the cells of the editor. -
      -
    1. "box-bp" and "box-fp" in the first column to specify the pName, i.e., the name of the unstance of G4PVPlacement -
    2. "box" in the second column to spscify the names of their logical volumes, pLogical. All the names already defined in the logical volume panel are displayed to choose one. In this case, one "box" is used to make different physical volumes. -
    3. "container" in the pMother, i.e., name of the mother volume. The prefixes "logical" or "physical" are attached according to the type of the mother volume. -
    - -pNames are used as postfixes -to designate local variables like rotation matrices and rotation angles etc.. -On the contrary, several prefixes are used to differentiate -instances, like physicalcontainer and logicalcontainer, where only "container" is typed in a cell. -
    -Naming conventions will be explained later. - -
    -
    -
    -// Single Positioned Placement 
    -// Body rotation + physical mother
    -G4RotationMatrix rotMatrixbox-bp;   // unit rotation matrix
    -G4double anglebox-bp = 0.0*deg;   // rotational angle
    -rotMatrixbox-bp.rotateX(anglebox-bp);  // rot matrix
    -
    -G4VPhysicalVolume *  box-bp= new G4PVPlacement(G4Transform3D(rotMatrixbox-bp,	//rotation 
    -		 G4ThreeVector(0.0*mm, 0.0*mm, 0.0*mm)),
    -		 "box-bp",   //its name  (2nd constructor)
    -		 box,         //its logical volume 
    -		 physicalcontainer,              //its mother volume 
    -		 false,                 //no boolean operation 
    -		 0);                       //copy number 
    -
    -// Frame rotation + physical mother
    -G4RotationMatrix rotMatrixbox-fp;   // unit rotation matrix
    -G4double anglebox-fp = 0.0*deg;   // rotational angle
    -rotMatrixbox-fp.rotateX(anglebox-fp);  // rot matrix
    -
    -G4VPhysicalVolume *  box-fp= new G4PVPlacement( new G4RotationMatrix(rotMatrixbox-fp) ,        // Frame rotation 
    -		 G4ThreeVector(0.0*mm, 0.0*mm, 0.0*mm),
    -		 "box-fp",   // 1st constructor its name 
    -		 box,         //its logical volume 
    -		 physicalcontainer,	//its mother volume 
    -		 false,	//no boolean operation 
    -		 0);	//copy number 
    -
    -// Body rotation + logical mother
    -
    -G4RotationMatrix rotMatrixbox-bl;   // unit rotation matrix
    -G4double anglebox-bl = 0.0*deg;   // rotational angle
    -rotMatrixbox-bl.rotateX(anglebox-bl);  // rot matrix
    -
    -
    -G4VPhysicalVolume *  box-bl= new G4PVPlacement(G4Transform3D(rotMatrixbox-bl,	//rotation 
    -		 G4ThreeVector(0.0*mm, 0.0*mm, 0.0*mm)),
    -		 box,	//its current logical volume(4th constructor) 
    -		 "box-bl",    //its name 
    -		 logicalcontainer,              //its mother volume 
    -		 false,                 //no boolean operation 
    -		 0);                       //copy number 
    -
    -// Frame rotation + logical mother
    -
    -G4RotationMatrix rotMatrixbox-fl;   // unit rotation matrix
    -G4double anglebox-fl = 0.0*deg;   // rotational angle
    -rotMatrixbox-fl.rotateX(anglebox-fl);  // rot matrix
    -
    -G4VPhysicalVolume *  box-fl= new G4PVPlacement( new G4RotationMatrix(rotMatrixbox-fl) ,        // Frame rotation 
    -		 G4ThreeVector(0.0*mm, 0.0*mm, 0.0*mm),
    -		 box,	// 3rd constructor its logical volume 
    -		 "box-fl",    //its name 
    -		 logicalcontainer,	//its mother volume 
    -		 false,	//no boolean operation 
    -		 0);	//copy number 
    -
    -
    -
    -Following simple placements are provided in GGE. Every placement is -contained in independent tabbed pane. - -
    -BACK
    - -

    3-6-3) -Single Positioned Volume (SPV)


    - - Each row represents a physical volume - which has one-to-one -correspondence to a logical volume. The C++ code lines are demonstrated just above.
    -IMPORTANT!! The world volume must be - defined in the first row of this table. - -
      -
    1. The first column specifies either body or frame rotation. -
    2. The second column specifies the instance's name of the physical volume -
    3. The third column specifies the name of the logical volume to be placed -
    4. The fourth column specifies the type of the mother volume. - The mother volume is either - null(Master Reference System), logical or physical. - The MARS or the world volume must be specified at the first row. -
    5. The fifth column specifies the name of the mother volume, if it isn't NULL. -
    6. The columns 7, 8 and 9-th specify the translation - in the X, Y or Z direction (default is no translation) with a - selectable unit of length -
    7. The 11-th column specifies the axis of rotation (frame or body); - rotation around X, Y or Z axis with an angle in the 12-th column -
    -
    -BACK
    - -

    3-6-4) -Repeated Translationally Positioned Volumes (RTPV Arrangement)


    - - Each row represent a physical volume - which consists of any number of copies of a logical volume with incremental copy numbers. - -
      -
    1. The first to 4-th columns are same as above. -
    2. The columns 6, 7 and 8-th specify the position of the first copy -
    3. The 10-th column specifies the direction of placement; X, Y or Z direction -
    4. The 11-th column specifies the incremental step size of displacement -
    5. The last column specifies the number of copies -
    - - -Next is a fragment of C++ code generated from a line in the table. Here "Boses" is typed in the -first column, pName. This word is used as the postfix to designate local variables as well as -the loop variable. "box" is the pLogical, i.e., the name of the logical volume. Here the mother's -name is typed in as "world" in the pMother cell, and it is physical. The "box" logical volume -is translated along X direction from X0 = -100*cm in 10*cm step with the copy numbers "copyBoxes" from 1 to 21. - -
    -G4int copyBoxes;
    -copyBoxes=0;
    -for (G4int Boxes=1; Boxes<=21; Boxes++){
    -  G4double transBoxes =-100.0*cm+10.0*cm*(Boxes-1);
    -  G4VPhysicalVolume * Boxes = new G4PVPlacement(0,      //no rotation 
    -		 G4ThreeVector(transBoxes, 0.0*cm, 0.0*cm),
    -		 "Boxes",   //its name 
    -		 box,         //its logical volume
    -		 physicalworld,            //its mother volume
    -		 false,             //no boolean operation
    -		 copyBoxes++);      //copy number 
    -}
    -
    -
    - - -
    -BACK
    - -

    3-6-5) Repeated Rotationally Positioned Volumes; (RRPV Arrangement) -


    - - Each row represents a physical volume - which consists of - axially symmetric arrangement of any number of copies of a - logical volume with incremental copy numbers.
    - -
      -
    1. The columns "move", "pName", "pLogic", "MomType" and "pMother" are same as above. - -
    2. (X0, Y0, Z0) column specify the position of the center of an axial rotation -
    3. "Radius" column specifies a radius of axially symmetric arrangement -
    4. "RotAxis" column specifies the rotational axis ; X, Y or Z -
    5. "Phi_0" and "dPhi" column specify a starting angle and incremental step angle -
    6. The last column specifies the number of copies -
    - -A row of the table generates the C++ code lines as below. Here -"Circle" is the pName. -The logical volume "box" is -copied around the Z axis from 0* deg with 30* deg step and with copy number "copyCircle" from 1 to 10. -The center of rotation (x0Circle, y0Circle, z0Circle) = (-200*mm, 100*mm, 0.0*mm). -
    -
    -// Active Rotation of Bodies
    -G4int copyCircle;
    -copyCircle=0;
    -G4RotationMatrix rotationMatrixCircle;G4double startCircle = 0.0*deg;
    -G4double incCircle = 30.0*deg;
    -rotationMatrixCircle.rotateZ(startCircle);
    -G4double x0Circle = -200.0*mm;
    -G4double y0Circle = 100.0*mm;
    -G4double z0Circle = 0.0*mm;
    -G4double radiusCircle = 300.0*mm;
    -
    -for (G4int Circle=1; Circle<=10; Circle++){
    -  G4double transCircle = startCircle+incCircle*(Circle-1);
    -
    -  G4double xCircle, yCircle, zCircle;
    -  xCircle = x0Circle + radiusCircle * cos(transCircle);
    -  yCircle = y0Circle + radiusCircle * sin(transCircle);
    -  zCircle = z0Circle;
    -  G4VPhysicalVolume * Circle = new G4PVPlacement(G4Transform3D(rotationMatrixCircle,	//rotate
    -		 G4ThreeVector(xCircle, yCircle, zCircle)),
    -		 "Circle",   //its name 
    -		 box,         //its logical volume
    -		 physicalworld,            //its mother volume
    -		 false,             //no boolean operation
    -		 copyCircle++);      //copy number 
    -  rotationMatrixCircle.rotateZ(incCircle);
    -}
    -
    -
    - -
    -BACK
    - -

    3-6-6, 7) Replica in the X, Y or Z direction, - Replica in rho, phi or Z direction

    - - -
      -
    1. width (in length or angle) and number of replicas -
    2. offset (in length or angle) -
    3. logical or physical mother volume -
    - -Below is the C++ code lines generated from a row in the table. "Sliced" is the pName (the first column). -"box" is the logical volume to be sliced. pMother is "world" and it is the physical volume. -The number of replicas along X axis is 1000 with 2.0*micronmeter width and -with offset of -1.0*mm. -
    -
    -/ Slicing Translation 
    -
    -G4PVReplica *  physicalSliced= new G4PVReplica("physicalSliced",  //name
    -		logicalbox,  // its logical
    -		physicalworld,  // its mother
    -		kXAxis, // along Axis
    -		1000, // No of replicas
    -		2.0*micrometer, //  width
    -		-1.0*mm); // offset
    -
    -
    - -Planned but -not implemented yet are paremetrised volumes with linear scaling or linear rotation. - -
    -
    BACK
    - -

    -3-7) Generation of C++ code -

    -

    - -GGE has two menu buttons to generate the implementation file and class definition file. - -
      -
    • C++ code lines are written out to a editor widget and can be edited and saved to a file. - But edited file - loses the correspondence with the tables contents or the persistent file. -
    • The required and necessary header files are automatically included; elements, solid types etc. -
    • The order of creating instances is following; -
        -
      1. G4Elements, -
      2. G4Material, -
      3. G4VisAttributes, -
      4. G4Solids, -
      5. G4LogicalVolume, -
      6. Single Positioned Volumes, -
      7. Repeated Volumes, -
      8. Replicas -
      9. return the instance name of the MARS -
      - Order of instantiation inside each section is from the first row to downward. -
    - -Here is a sample of automatically generated C++ code - which is created from completely skelton tables but with the class name "MyDetector". - -
    -//***** Generated by Geant4 Geometry Editor at  Wed Feb 25 20:27:44 JST 2004 *****
    -
    -//------HeaderFile-
    - #include "MyDetector.hh"
    -
    -#include "G4UnitsTable.hh"
    -
    -#include "G4VUserDetectorConstruction.hh"
    -
    -#include "globals.hh"
    -#include "G4Material.hh"
    -#include "G4MaterialTable.hh"
    -#include "G4Element.hh"
    -#include "G4ElementTable.hh"
    -#include "G4LogicalVolume.hh"
    -#include "G4ThreeVector.hh"
    -#include "G4PVPlacement.hh"
    -#include "G4PVReplica.hh"
    -#include "G4SDManager.hh"
    -#include "G4VisAttributes.hh"
    -#include "G4Colour.hh"
    -
    -MyDetector::MyDetector()
    -{ ; }
    -MyDetector::~MyDetector()
    -{ ; }
    -G4VPhysicalVolume* MyDetector::Construct( )
    -{
    -// Elements
    -
    -// Materials from Combination
    -
    -
    -// Materials from Scratch
    -
    -
    -// Visualization attributes
    -
    -
    -// Logical  Volumes
    -
    -
    -// Physical Volumes ----  Single Positioned Placement,   Repeated Placement,   Slicing  --------------------------- 
    -
    -
    -// Single Positioned Placement 
    -
    -
    -// Repeated Placement Translation 
    -
    -
    -// Repeated Placement AxialSymmetoric
    -
    -
    -// Slicing Translation 
    -
    -
    -// Slicing AxialSymmetric 
    -
    -
    -// return the physical World
    -
    -
    -
    -
    -Next is the definition file of this skelton class. -
    -
    -
    -// Geometry Header File 
    -//   MyDetector.hh generated by Geant4 Geometry Editor at Wed Feb 25 20:27:44 JST 2004  
    -
    -
    -#ifndef MyDetector_h
    -#define  MyDetector_h  1
    -
    -class G4VPhysicalVolume;
    -#include "G4VUserDetectorConstruction.hh"
    -class  MyDetector:  public G4VUserDetectorConstruction
    -   {      public:
    -      MyDetector();
    -     ~MyDetector();
    -
    -      public:
    -      G4VPhysicalVolume* Construct();
    -  };
    -#endif
    -
    -
    - -
    -BACK
    - -

    -3-7-1) Naming conventions in GGE -

    -
    - Knowing GGE's naming convention is helpful to read the generated C++ code as -well as using GGE correctly. Look at relevant Geant4 constructors will be very -suggestive. - -
      -
    1. Elements and materials -
        -
      1. Elements are named "elementXXX", where XXX stands for the - element's symbol in the periodic table. -
      2. materials are named just as you have typed in the second column - of the material window. -
      -
    2. solids and logical volumes
      - The "Name" typed in the first (leftmost) column of the "Logical Volume" - is used to name the corresponding solid. If the name "world" is given - to a logical volume of a Box, the G4Solid has an instance "solidworld". -
    3. logical and physical volumes
      -
        -
      1. The strings of the pName (physical or logical) cells filled in the table are used literally as the names of instances. -
      2. The instance of a physical volume defined by "pName" has - a name prefixed - with "physical", i.,e., instance's name is "physical" + pName ( + => - string concatenation). "logical" is added to the instance of a logical - volume. -
      3. In case of SPV (single positioned volume), the columns "pName" (instance of - physical volume) and "pLogical" may have the same strings. -
      4. - In case of RVA (repeated volumes arrangement), "pName" is different from - "pLogical" whose copies are repeatedly placed. -
      -
    4. All variables are named after their proper instances. - See for example, the control variable used in the for loop in the - RVA. -
      - Another examples are arrays to define BREP geometry. -
    -
    -
    BACK
    - -

    -3-7-2) Default values and combo-boxes -

    - -
      -
    1. Default optional values of materials - GGE provides default values in a pre-filled columns or with the - combo-boxes. "Use", "State" and "Unit" columns are equipped with - combo-boxes. Temperature and pressure column are pre-filled with - 273.15 * kelvin and 1 * atmosphere. -
    2. Default values in volumes - "Mother Type" is either NULL (mother of all), logical (type 2, 4 constructors) - or physical (type 2 or 4 constructors) in G4PVPlacement. -
    - -
    -
    -
    - -4)GPE: Geant4 Physics Editor -BACK
    -
    - -GPE is the GUI tool for the user to be able to define the association -between particles and processes. - -It consists of two parts; -
    -
    Physics List Table -
    This is shown in the upper half of the GPE. Every row represents a - C++ code line to add the doublet of a particle (the first column) - and an EM process (the second column) with the default parameters (from the third through fifth column). The name of a particle can be copied -from the table below by a mouse click. -
    EM particle table and EM process table -
    Two tables are displayed in tabbed panes, respectively. User select a particle(s) within the particle table and then click the "Append" button. A new row is created in the Physics List Table with the default process "Null". Then, -user chooses a process and click the "Change process" button. -
    - - -
    -BACK
    - -

    4-1)Particle

    -
    - -GPE helps the user to choose particles to be instantiated. - -
      -
    1. The user can either choose a set of all particles belonging to a category -or to choose an individual particle. -The following buttons are shown in the tabbed pane titled "EM Particles". -
        -
      • one of either Bosons, Leptons, Mesons, Baryons, Ions -
      • all bosons, all leptons, all mesons, all baryons, all ions, all short-lived -
      - -Particles in the category "Shortlived" can be either chosen all at once -or not chosen at all. -
    2. -
    - -

    - C++ codes for particles instantiation -

    -
    - -GPE generates the -"ConstructParticle" method as follows; -
    -void MyPhysicsList::ConstructParticle()
    -{
    -     ConstructBosons();
    -     ConstructLeptons();
    -     ConstructMesons();
    -     ConstructBarions();
    -     ConstructIons();
    -     ConstructShortLiveds();
    -}
    -
    - -Then GPE generates codes for each category of particles, - -
    -void MyPhysicsList::ConstructBosons()
    -{
    -     G4Geantino::GeantinoDefinition();
    -     ....
    -     ....    
    -}
    -
    - - -
    -
    BACK
    -

    -4-2)EM Processes -


    - - -With the GPE the user can -choose, associate and register a process to a particle. - - -Merits of GPE¡¡could be as follows; -
      -
    • user can forget many lengthy class names of particles and processes -
    • user can forget to specify necessary class definition files -
    • user can forget default values of stepping parameters associated to processes -
    • user can forget how to register doublets of a particle and a process -
    • it is quite easy to test a physics list -
    - - -
      -
    1. -Process Manager
      - - Information required to register a process to the process manager, i.e., - Pointer to the process object and ordering parameter for each DoIt -
    2. -C++ code
      - -From a row in the Physics List Table GPE generates C++ lines like; -
      -  G4Aprocess* aProcess;
      -  G4ParticleDefinition* particle;
      -
      -  G4ProcessManager* pmanager = particle->GetProcessManager();
      -  if ( aProcess->IsApplicable(*particle) ) {
      -       pmanager->AddProcess(aProcess, idxAtRest, idxAlongStep, idxPostStep):
      -    }
      -
      -
      - -
    3. -On a selection of a process, the default (predefined) -ordering parameters are given. The user can edit them as will. - -
    4. -Available Processes -
        -Currently implemented in GPE are transportation, -electromagnetic and general (only G4Decay). -
      • -The following electromagnetic processes are available in GPE; - standard, muon, xray and lowenergy processes. -
      • -Transportation and G4Decay are always included by GPE (default). -
      • -Hadronic processes and models - aren't implemented. -
      • - -Excluded processes are parametrization and optical, since both are deeply -correlated with the detector geometry. -
      -
    -
    -
    BACK
    -

    4-3) C++ codes generated by GPE -

    - -
      -
    1. C++ code for "ConstructProcess" method - -
      -void MyPhysicsList::ConstructProcess()
      -{
      -     AddTransportation();
      -     ConstructEM();
      -     //ConstructHad();
      -     ConstructGeneral():
      -}
      -
      -void ExN02PhysicsList::ConstructEM()
      -{
      -  theParticleIterator->reset();
      -  while( (*theParticleIterator)() ){
      -    G4ParticleDefinition* particle = theParticleIterator->value();
      -    G4ProcessManager* pmanager = particle->GetProcessManager();
      -    G4String particleName = particle->GetParticleName();
      -
      -// Each if clause corresponds to a row in the PhysicsTable
      -
      -    if (particleName == "gamma") {
      -      pmanager->AddProcess(new G4PhotoElectricEffect(),ordInActive,ordInActive,ordDefault);
      -    }
      -    if (particleName == "gamma") {
      -      pmanager->AddProcess(new G4ComptonScattering(),ordInActive,ordInActive,ordDefault);
      -    }
      -    if (particleName == "gamma") {
      -      pmanager->AddProcess(new G4GammaConversion(),ordInActive,ordInActive,ordDefault);
      -    }
      -    if (particleName == "gamma") {
      -      pmanager->AddProcess(new G4PolarizedComptonScattering(),ordInActive,ordInActive,ordDefault);
      -    }
      -    if (particleName == "e-") {
      -      pmanager->AddProcess(new G4MultipleScattering(),ordInActive,1,1);
      -    }
      -.....
      -.....
      -
      - - - - -
    2. -C++ code for ConstructGeneral() - -
      -#include "G4Decay.hh"
      -
      -void ExN02PhysicsList::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);
      -    }
      -  }
      -}
      -
      -
      - - - -
    3. GPE generates a header file of user's physics list class. -
    4. -C++ for default cut value can be generated, using user's cut length. -(no cut-by-region). -
      -void ExN02PhysicsList::SetCuts()
      -{
      -// defaultCutValue you have typed in is used
      -
      -  if (verboseLevel >1){
      -    G4cout << "ExN02PhysicsList::SetCuts:";
      -  }
      -  SetCutsWithDefault();
      -}
      -
      -
    -BACK
    - -

    4-4) Persistent file

    -
    -The class name and default cut value are indispensable to make C++ code or to -save to the persistent file. The contents of the GPE can be saved to a file -in the Java serialization format and can be reused. - - - - -
    - - -5)MOMO's Companion Files - - -
    -
    - -The companion files are included under MomoHome. -The files in red are created by MOMO. -
    -[~/MomoPlugin]$ ls -R MomoHome
    -MomoHome:
    -MomoN02Test.cc             PDGmaterials.xml  include/
    -MomoN02MyDetector.g4dt     README             src/
    -MomoN02PhysicsList.g4ph     Momomake.gmk    dicomVolume.xml    vis.mac
    -
    -MomoHome/include:
    -MomoEventAction.hh    MomoN02PhysicsList.hh          MomoRunAction.hh
    -MomoN02MyDetector.hh  MomoPrimaryGeneratorAction.hh  MomoVisManager.hh
    -
    -MomoHome/src:
    -MomoEventAction.cc    MomoN02PhysicsList.cc          MomoRunAction.cc
    -MomoN02MyDetector.cc  MomoPrimaryGeneratorAction.cc  MomoVisManager.cc
    -
    -BACK
    - -

    5-1)Momomake.gmk generated by MOMO

    -

    -Following is the automatically generated "Momomake.gmk" file. The word in red -is the target name specified by the user. In the example, -G4WORKDIR and G4BINDIR (in orange) are specified in the relative path (period). -Note that the present directory means where momo was started. -
    -##### GNUmakefile #####
    -# ----------------------------------------------------------
    -# Script defining rules and paths for making binaries.
    -# ----------------------------------------------------------
    -# Automatic creation of GNUmakefile for Momo environment.
    -# with users selection of G4TARGET, UI and VIS variables
    -#  Momo is the name of legendary samurai who conquered bad geants. ----   H. Yoshida.
    -
    -name := MomoN02Test
    -G4TARGET := $(name)
    -G4EXLIB := true
    -
    -# Vis/GUI used
    -G4VIS_USE_DAWN := 1
    -G4VIS_USE_DAWNFILE := 1
    -G4VIS_USE_OPENGLX := 1
    -G4VIS_USE_VRML := 1
    -G4VIS_USE_VRMLFILE := 1
    -# Vis/GUI built
    -G4VIS_BUILD_DAWN_DRIVER := 1
    -G4VIS_BUILD_DAWNFILE_DRIVER := 1
    -G4VIS_BUILD_OPENGLX_DRIVER := 1
    -G4VIS_BUILD_VRML_DRIVER := 1
    -G4VIS_BUILD_VRMLFILE_DRIVER := 1
    -
    -# General Envs defined
    -G4SYSTEM:=Linux-g++
    -G4INSTALL:=/home/yoshidah/geant4.6.0.p01
    -G4WORKDIR:=.
    -G4BINDIR:=./bin/Linux-g++
    -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 = ../../..
    -endif
    -
    -.PHONY: all
    -all: lib bin
    -
    -  include $(G4INSTALL)/config/binmake.gmk
    -
    - -
    - -

    5-2)Main program generated by MOMO

    -
    BACK
    -All the following codes are automatically generated by MOMO. -The red words are user defined class names, which MOMO uses for -code generation. The words in orange can be changed as will. -
    -//##### MOMO Main program #####
    -//# ----------------------------------------------------------
    -//# Automatic creation of the main program for Momo environment.
    -// 2003 December, updated for  geant4.6.0
    -// --------------------------------------------------------------
    -//   MomoN02Test.cc generated by Geant4 Momo
    -//     at Tue Feb 24 09:23:50 JST 2004  
    -
    -
    -// This code implementation is the intellectual property of
    -// the  GEANT4 collaboration.
    -//
    -// By copying, distributing or modifying the Program (or any work
    -// based on the Program) you indicate your acceptance of this statement,
    -// and all its terms.
    -//
    -// 
    -#include "G4RunManager.hh"
    -#include "G4UImanager.hh"
    -// Your choice of User Interface driver
    -#include "G4UIGAG.hh"
    -// Detector geometry generated by Momo's GGE
    -#include "MomoN02MyDetector.hh"
    -// Physics List generated by Momo's GPE
    -#include "MomoN02PhysicsList.hh"
    -// Momo's default PrimaryGeneratorAction
    -#include "MomoPrimaryGeneratorAction.hh"
    -#include "MomoRunAction.hh"
    -#include "MomoEventAction.hh"
    -#ifdef G4VIS_USE
    -#include "MomoVisManager.hh"
    -#endif
    -int main()
    -{
    -  // Construct the default run manager
    -  G4RunManager* runManager = new G4RunManager;
    -  // set mandatory initialization classes
    -  runManager->SetUserInitialization(new MomoN02MyDetector);
    -  runManager->SetUserInitialization(new MomoN02PhysicsList);
    -#ifdef G4VIS_USE
    -  // visualization manager
    -  G4VisManager* visManager = new MomoVisManager;
    -  visManager->Initialize();
    -#endif
    -  // set mandatory user action class
    -  runManager->SetUserAction(new MomoPrimaryGeneratorAction);
    -  // set user action classes to visualise trajectories
    -  runManager->SetUserAction(new MomoRunAction);
    -  runManager->SetUserAction(new MomoEventAction);
    -  // Initialize G4 kernel
    -  runManager->Initialize();
    -  // get the pointer to the User Interface manager 
    -  G4UImanager* UI = G4UImanager::GetUIpointer();
    -      G4UIsession * session = new G4UIGAG;
    -      session->SessionStart();
    -      delete session;
    -  // job termination
    -#ifdef G4VIS_USE
    -  delete visManager;
    -#endif
    -  delete runManager;
    -  return 0;
    -}
    -
    -
    -
    - - - - -
    -The following document is taken from the Geant4 documents to help -MOMO's Environment Panel.
    - -10.5 Makefiles and Environment -Variables -BACK -

    -
    -

    This -section describes how the GNUmake infrastructure is implemented in Geant4 and -provides a quick reference guide for the user/installer about the most important -environment variables defined. -

    -

    10.5.1 The GNUmake system in Geant4

    As described in section 2.7.1.1 of -this manual, the GNUmake process in Geant4 is mainly controlled by the following -GNUmake script files (*.gmk scripts are placed in -$G4INSTALL/config): -
      -
    • architecture.gmk: defining all the architecture specific - settings and paths. System settings are stored in - $G4INSTALL/config/sys in separate files. -
    • common.gmk: defining all general GNUmake rules for building - objects and libraries. -
    • globlib.gmk: defining all general GNUmake rules for building - compound libraries. -
    • binmake.gmk: defining the general GNUmake rules for building - executables. -
    • GNUmake scripts: placed inside each directory in the G4 - distribution and defining directives specific to build a library (or a set of - sub-libraries) or and executable.
    To build a single library (or a set -of sub-libraries) or an executable, you must explicitly change your current -directory to the one you're interested to and invoke the "gmake" -command from there ("gmake global" for building a compound library). -Here is a list of the basic commands or GNUmake "targets" one can invoke to -build libraries and/or executables: -
      -
    • gmake
      This will start the compilation process for building a - kernel library or a library associated to an example. Kernel libraries are - built with maximum granularity, i.e. if a category is a compound one, this - command will build all the related sub-libraries, _not_ the compound one. The - top level GNUmakefile in $G4INSTALL/source will also - build in this case a dependency map libname.map of each library to - establish the linking order automatically at the bin step. The map - will be placed in $G4LIB/$G4SYSTEM. -
    • gmake global
      It will start the compilation process to build - a single compound kernel library per category. If issued sub-sequently to - "gmake", both installations 'granular' and 'compound' libraries will be - available (NOTE: will consistently increase the disk space required. Compound - libraries will then be selected by default at link time, unless - G4LIB_USE_GRANULAR is specified). -
    • gmake bin or gmake (only for examples/)
      It will - start the compilation process to build an executable. This command will build - implicitly the library associated to the example and link the final - application. It assumes _all_ kernel libraries are already generated and - placed in the correct $G4INSTALL path defined for them.
      The - linking order is controlled automatically in case libraries have been built - with maximum granularity, and the link list is generated on the fly. -
    lib/ bin/ and tmp/ directories -

    The $G4INSTALL environment variable specifies where the -installation of the Geant4 toolkit should take place, therefore kernel libraries -will be placed in $G4INSTALL/lib. The $G4WORKDIR -environment variable is set by the user and specifies the path to the user -working directory; temporary files (object-files and data products of the -installation process of Geant4) will be placed in $G4WORKDIR/tmp, -according to the system architecture used. Binaries will be placed in -$G4WORKDIR/bin, according to the system architecture used. The path -to $G4WORKDIR/bin/$G4SYSTEM should be added to $PATH in -the user environment. -

    -


    - -

    10.5.2 Environment variables

    Here is a list of the most important -environment variables defined within the Geant4 GNUmake infrastructure, with a -short explanation of their use. We recommend _not_ to override (explicitly or by -accident) those environment variables listed here and marked with (!). -
      -
    • System configuration -

      $CLHEP_BASE_DIR
      Specifies the path where the CLHEP package is installed - in your system. -

      $G4SYSTEM (!)
      Defines the architecture and compiler currently used. This - variable should be set automatically by the installer script "g4install" (in - case of installation of Geant4) or by the script "g4config" (in case of - pre-installed Geant4 and initial configuration of the user's environment). -

      -
    • Installation paths -

      $G4INSTALL
      Defines the path where the Geant4 toolkit should be - installed. It should be set by the system installer. By default, it sets to - $HOME/geant4, assuming the Geant4 distribution is placed in $HOME. -

      $G4BASE (!)
      Defines the path to the source code. Internally used to - define $CPPFLAGS and $LDFLAGS for -I and -L directives. It has to be set to - $G4INSTALL/src. -

      $G4WORKDIR
      Defines the path for the user's workdir for Geant4. It is set - by default to $HOME/geant4, assuming the user's working directory for Geant4 - is placed in $HOME. -

      $G4INCLUDE
      Defines the path where source header files may be mirrored at - installation by issuing gmake includes (default is set to - $G4INSTALL/include) -

      $G4BIN, $G4BINDIR (!)
      Used by the system to specify the place where to - store executables. By default they're set to $G4WORKDIR/bin and - $G4BIN/$G4SYSTEM respectively. The path to $G4WORKDIR/bin/$G4SYSTEM should be - added to $PATH in the user environment. $G4BIN can be overridden. -

      $G4TMP, $G4TMPDIR (!)
      Used by the system to specify the place where to - store temporary files products of the compilation/build of a user application - or test. By default they're set to $G4WORKDIR/tmp and $G4TMP/$G4SYSTEM - respectively. $G4TMP can be overridden. -

      $G4LIB, $G4LIBDIR (!)
      Used by the system to specify the place where to - store libraries. By default they're set to $G4INSTALL/lib and $G4LIB/$G4SYSTEM - respectively. $G4LIB can be overridden. -

      -
    • Build specific -

      $G4TARGET
      Specifies the target (name of the source file defining the - main()) of the application/example to be built. This variable is set - automatically for the examples and tests placed in $G4INSTALL/examples. -

      $G4EXEC_BUILD
      Flag specifying if to use a secondary template repository - or not for handling template instantiations at the time of building a user - application/example. For internal category tests in Geant4, this variable is - already in the related GNUmakefile. It's however not needed for examples and - tests in $G4INSTALL/examples, where class names are already mangled and - different each other. It applies only on those compilers which make use of - template repositories (see Appendix A.2 of this Guide). The secondary template - repository is set to $G4TREP/exec. -

      $G4DEBUG
      Specifies to compile the code (libraries or examples) including - symbolic information in the object code for debugging. The size of the - generated object code can increase considerably. By default, code is compiled - in optimised mode ($G4OPTIMISE set). -

      $G4NO_OPTIMISE
      Specifies to compile the code (libraries or examples) - without compiler optimisation. -

      $G4NO_STD_NAMESPACE
      To avoid using the std namespace in the - Geant4 libraries. -

      $G4NO_STD_EXCEPTIONS
      To avoid throwing of exceptions in Geant4. -

      $G4_NO_VERBOSE
      Geant4 code is compiled by default in high verbosity mode - ($G4VERBOSE flag set). For better performance, verbosity code can be left out - by defining $G4_NO_VERBOSE. -

      $G4LIB_BUILD_SHARED
      Flag specifying if to build kernel libraries as - shared libraries (libraries will be then used by default). If not set, static - archive libraries are built by default. -

      $G4LIB_BUILD_STATIC
      Flag specifying if to build kernel libraries as - static archive libraries in addition to shared libraries (in case - $G4LIB_BUILD_SHARED is set as well). -

      $G4LIB_USE_GRANULAR
      To force usage of "granular" libraries against - "compound" libraries at link time in case both have been installed. The Geant4 - building system chooses "compound" libraries by default, if installed. -

    -
      -
    • UI specific -

      The most relevant flags for User Interface drivers are just listed here. A - more detailed description is given also in section 2. of this User's Guide. -

      G4UI_USE_TERMINAL
      Specifies to use dumb terminal interface in the - application to be built (default). -

      G4UI_BUILD_XM_SESSION, G4UI_BUILD_XAW_SESSION
      Specifies to include in - kernel library the XM or XAW Motif-based user interfaces. -

      G4UI_USE_XM, G4UI_USE_XAW
      Specifies to use the XM or XAW - interfaces in the application to be built. -

      G4UI_BUILD_WO_SESSION, G4UI_USE_WO
      Specifies to use the WO user - interface associated to the OPACS tool. -

      G4UI_BUILD_WIN32_SESSION
      Specifies to include in kernel library the - WIN32 terminal interface for Windows systems. -

      G4UI_USE_WIN32
      Specifies to use the WIN32 interfaces in the application - to be built on Windows systems. -

      G4UI_NONE
      If 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.

    -
      -
    • Visualization specific -

      The most relevant flags for visualization graphics drivers are just listed - here. A description of these variables is given also in section 2. of this - User's Guide. -

      $G4VIS_BUILD_OPENGLX_DRIVER
      Specifies to build kernel library for - visualization including the OpenGL driver with X11 extension. It requires - $OGLHOME set (path to OpenGL installation). -

      $G4VIS_USE_OPENGLX
      Specifies to use OpenGL graphics with X11 extension - in the application to be built. -

      $G4VIS_BUILD_OPENGLXM_DRIVER
      Specifies to build kernel library for - visualization including the OpenGL driver with XM extension. It requires - $OGLHOME set (path to OpenGL installation). -

      $G4VIS_USE_OPENGLXM
      Specifies to use OpenGL graphics with XM extension - in the application to be built. -

      $G4VIS_BUILD_OI_DRIVER
      Specifies to build kernel library for - visualization including the OpenInventor driver. It requires $OIHOME and - $HEPVISDIR set (paths to OpenInventor/HepVis installation). -

      $G4VIS_USE_OI
      Specifies to use OpenInventor graphics in the application - to be built. -

      $G4VIS_BUILD_OIX_DRIVER
      Specifies to build the driver for the free X11 - version of OpenInventor. -

      $G4VIS_USE_OIX
      Specifies to use the free X11 version of OpenInventor. -

      $G4VIS_BUILD_OIWIN32_DRIVER
      Specifies to build the driver for the free - X11 version of OpenInventor on Windows systems. -

      $G4VIS_USE_OIWIN32
      Specifies to use the free X11 version of OpenInventor - on Windows systems. -

      $G4VIS_BUILD_OPACS_DRIVER
      Specifies to build kernel library for - visualization including the OPACS driver. It requires $OPACSHOME set (path to - OPACS installation). -

      $G4VIS_USE_OPACS
      Specifies to use OpenInventor graphics in the - application to be built. -

      $G4VIS_BUILD_DAWN_DRIVER
      Specifies to build kernel library for - visualization including the driver for DAWN. -

      $G4VIS_USE_DAWN
      Specifies to use DAWN as a possible graphics renderer in - the application to be built. -

      $G4DAWN_HOST_NAME
      To specify the hostname for use with the DAWN-network - driver. -

      $G4VIS_NONE
      If specified, no visualization drivers will be built or - used.

    -
      -
    • Analysis specific -

      $G4ANALYSIS_USE
      Specifies to activate the appropriate environment for - analysis, if an application includes code for histogramming based on - AIDA. Additional setup variables are required - ($G4ANALYSIS_AIDA_CONFIG_CFLAGS, $G4ANALYSIS_AIDA_CONFIG_LIBS) to define - config options for AIDA ("aida-config --cflags" and "aida-config --libs"). See - installation instructions of the specific analysis tools for details. -

    -
      -
    • Directory paths to Physics Data -

      $NeutronHPCrossSections
      Path to external data set for Neutron Scaterring - processes. -

      $G4LEDATA
      Path to external data set for low energy electromagnetic - processes. -

      $G4LEVELGAMMADATA
      Path to the data set for Photon Evaporation. -

      $G4RADIOACTIVEDATA
      Path to the data set for Radiative Decay processes. -

    -
    - -

    10.5.3 Linking External Libraries with Geant4

    The Geant4 GNUmake -infrastructure allows to extend the link list of libraries with external (or -user defined) packages which may be required for some user's applications to -generate the final executable. -

    -

    10.5.3.1 Adding external libraries which do *not* use Geant4

    In the -GNUmakefile of your application, before including binmake.gmk, -specify the extra library in EXTRALIBS either using the --L...-l... syntax or by specifying the full pathname, e.g.:
      EXTRALIBS := -L<your-path>/lib -l<myExtraLib>
    -or
    -  EXTRALIBS := <your-path>/lib/lib<myExtraLib>.a
    -
    You may also specify EXTRA_LINK_DEPENDENCIES, which is added to -the dependency of the target executable, and you may also specify a rule for -making it, e.g.:
      EXTRA_LINK_DEPENDENCIES := <your-path>/lib/lib<myExtraLib>.a
    -
    -  <your-path>/lib/lib<myExtraLib>.a:
    -        cd <your-path>/lib; $(MAKE)
    -
    Note that you almost certainly need to augment CPPFLAGS for the -header files of the external library, e.g.:
      CPPFLAGS+=-I<your-path>/include
    -
    See table 10.5.1. -

    -

    - - - - -
     # --------------------------------------------------------------------
    - # GNUmakefile for the application "sim" depending on module "Xplotter"
    - # --------------------------------------------------------------------
    -
    - name := sim
    - G4TARGET := $(name)
    - G4EXLIB := true
    -
    - CPPFLAGS  += -I$(HOME)/Xplotter/include
    - EXTRALIBS += -L$(HOME)/Xplotter/lib -lXplotter
    - EXTRA_LINK_DEPENDENCIES := $(HOME)/Xplotter/lib/libXplotter.a
    -
    - .PHONY: all
    -
    - all: lib bin
    -
    - include $(G4INSTALL)/config/binmake.gmk
    -
    - $(HOME)/Xplotter/lib/libXplotter.a:
    -         cd $(HOME)/Xplotter; $(MAKE)
    -
    Table 10.5.1
    An example of a customised GNUmakefile - for an application or example using an external module not bound to - Geant4.
    -

    -

    10.5.3.2 Adding external libraries which use Geant4

    In addition to the -above, specify, in EXTRALIBSSOURCEDIRS, a list of directories -containing source files in its src/ subdirectory. Thus, your -GNUmakefile might contain:
      EXTRALIBS += $(G4WORKDIR)/tmp/$(G4SYSTEM)/<myApp>/lib<myApp>.a \
    -               -L<your-path>/lib -l<myExtraLib>
    -  EXTRALIBSSOURCEDIRS += <your-path>/<myApp> <your-path>/<MyExtraModule>
    -  EXTRA_LINK_DEPENDENCIES := $(G4WORKDIR)/tmp/$(G4SYSTEM)/<myApp>/lib<myApp>.a
    -
    -  MYSOURCES := $(wildcard <your-path>/<myApp>/src/*cc)
    -  $(G4WORKDIR)/tmp/$(G4SYSTEM)/<myApp>/lib<myApp>.a: $(MYSOURCES)
    -        cd <your-path>/<myApp>; $(MAKE)
    -
    See Table 10.5.2. -

    -

    - - - - -
    # -----------------------------------------------------------------
    -# GNUmakefile for the application "phys" depending on module "reco"
    -# -----------------------------------------------------------------
    -
    -name := phys
    -G4TARGET := $(name)
    -G4EXLIB := true
    -
    -EXTRALIBS += $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name)/libphys.a \
    -             -L$(HOME)/reco/lib -lreco
    -EXTRALIBSSOURCEDIRS += $(HOME)/phys $(HOME)/reco
    -EXTRA_LINK_DEPENDENCIES := $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name)/libphys.a
    -
    -.PHONY: all
    -all: lib bin
    -
    -include $(G4INSTALL)/config/binmake.gmk
    -
    -MYSOURCES := $(wildcard $(HOME)/phys/src/*cc)
    -$(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name)/libphys.a: $(MYSOURCES)
    -	cd $(HOME)/phys; $(MAKE)
    -
    Table 10.5.2
    An example of a customised GNUmakefile - for an application or example using external modules bound to Geant4. -
    -

    -


    - -7. GAG and Gain - -

    -
    - - -
    -

    7-1 How to use GAG

    -
    BACK -
    -Usage of GAG is simple. -
      -
    1. Click the GAG tab and open the GAG's pane -
    2. Click the top left Geant menu and its "Start" button -
    3. Choose the Geant4 binary file, using the file chooser and click on it -
    4. After a moment, the Geant4 command tree (at left) and parameter panel (at right) are displayed. AT the lower panel is displayed the outputs from Geant4 application. -
    5. Click on the nodes or leaves make their help diaplayed. Commands in the opaque characters are inactive ones. -
    6. Parameters are either chosen from the list or typed in. -
    7. Four buttons are available -
        -
      • "Default" button displays the default parameters of the command, if defined -
      • "Current" button displays the current value(s), if available -
      • "Clear" button clear the contents in the parameters cells -
      • "Execute" button starts the command. During the execution, its color isn't in green. -
      -
    8. Output from the Geant4 are shown in the lower window, if "Log_to_Terminal" button is cheched. This button can be unchecked at any time. "Log_to_File" button can be also cheched or unchecked at any time. -
    9. If you want to interrupt the execution, "Kill_Geant4" button is used. -
    - -

    7-2 How to use Gain

    -
    BACK - -
    -

    What is Gain?

    -Gain(Geant4 adaptive interface for network) is a networked GUI tool based on GAG. -It inherits almost all features of GAG and has new features to -make use of Geant4 running at (a) remote machine(s). -

    -Gain runs on a client machine (Windows or Linux), -while Geant4 runs on a remote or local server (Linux or Solaris). -

    - -It provides two ways to connect to the remote server; SSH mode and Gain socket mode. SSH mode is strongly recommended, since it is as safe as remote SSh -connection and it requires G4UIGAG as the Geant4's interface. - -

    -
    Gain SSH mode -
    Gain has a SSH client fuction and use it to connect to a remote server. Geant4 compiled with G4UIGAG class - can be connected to Gain client. When a SSH connection is established after the authentication, - Gain displays the - remote file browser with which user can choose a Geant4 executable and make it run. - Data are encrypted during their transfer and are decripted at both side. So, some CPU - power is required for a client machine, if a large amount of data are transfered from - the running Geant4 to Gain.
    Output from the remote Geant4 are - displayed on the Gain console. - This console can be used as a normal - SSH console and you can type in command directly.
    - Pluriel remote sessions can be accepted, each displayed in a separate - tabbed pane. A console is attached to each pane/session. -
    Gain socket mode -
    Gain uses its own way of connecting to a remote server. Remote Geant4 must be compiled with -G4UIGainServer class which is distributed in the standard Geant4 package. In this mode, user has to -make a Geant4 executable run on the remote server, after having logged in to the remote -machine. G4UIGainServer acts as a network server -and tells the number of port available for the Gain client. Gain client, after specifying the server and port -number, is allowed to connect to the Geant4. Geant4 output -
    - -
    -

    How to use Gain

    -

    -The figure shows a scene when Gain is running in -Gain socket mode. -

    -In this example, -two tabbed panes are displayed to run remote Geant4s running on different servers. - - -

      -
    1. - Gain is started on the Cygwin console. Gain can be started with - Java Web Start. - -
    2. - Top menu to connect to a server or close (kill) the running G4ant4 or finish Gain. - - -
    3. The window to - choose SSh or Gain socket; now SSHINTERFACE is focused - -
    4. After typing in the remote host name, - SSH login window is shown. - -
    5. -When SSH login is accepted, Gain shows the - remore File Chooser. Geant4 with G4UIGAG interface can be started -from this chooser. - -
    6. When Geant4 is started, - Geant4 initialisation output are shown on the cygwin console. - - - - -
    7. After the initialisation phase, - command tree window is available on Gain. - -
    8. Then, the Gain console is shown below the command tree window. -See the hardcopy -of the whole Gain window. -This console is the SSH console, so that you can type in Geant4 commands -in stead of selecting them in the above command panel. -
      -You can shrink the console by single click on the triangle at the left -border. - -
    9. -Two ways of ending Geant4 execution are provided. -The command tree provides "exit" command which is just the "exit" of Geant4. On the top -menu, "Close one" menu is to send CTRL + C to the running Geant4 process. It can be sent at any -moment. - -
    -
    -

    Notices on Gain console


    -
      -
    • At present, Gain's console displays ecerything G4cout from Geant4 -with G4UIGAG interface. So, strings employed for Gain protocols are -displayed. Please ignore lines starting with @@. -
    • Gain console demands heavy Windows (X or Windows) power. -So, with old graphic accelerators like S3 etc. which are yet common -on Linux platforms, speed of console may be very slow. In such cases, -shrinking the console pane is a good way to speed up the execution. -
    • We have tested Gain over the Internet for a session of more than 24 hours. -On Windows XP, We observed some curious deformed tree icons during the session, -but the functions were correct and they became normal after some elapsed time. -
      -Here is the copy of the long run. -
    • The console provides a session of G4UIterminal, and NOT G4UItcsh, at present. -
    • If you type "exit" on the console, the execution of Geant4 is stopped. -The console is yet a usual ssh console, while the upper windows for -the command tree is losing connection to Geant4. If you type in "exit" on the -console, it end the ssh session and the whole Gain will be destroyed. -
    -
    - -
    -yoshida -
    - - - - - - - -
    -About -the authors - - - - - - - - - - - - - - - diff --git a/environments/MOMO/momo-src.jar b/environments/MOMO/momo-src.jar new file mode 100644 index 0000000000..41967134bf Binary files /dev/null and b/environments/MOMO/momo-src.jar differ diff --git a/environments/g4py/00README b/environments/g4py/00README index e547eec97f..127ccf4432 100644 --- a/environments/g4py/00README +++ b/environments/g4py/00README @@ -1,4 +1,4 @@ -$Id: 00README,v 1.12 2009/11/20 03:36:51 kmura Exp $ +$Id: 00README,v 1.13 2010/12/02 08:34:42 kmura Exp $ ========================================================================== Geant4Py @@ -10,22 +10,20 @@ URL --- http://www-geant4.kek.jp/projects/Geant4Py/ - System Requirements: ------------------- Python - - only 2.x is tested. + - Python2.x and Python 3.x (experimental) Geant4 - - 8.0 or later + - version 9.x - should be built in "GLOBAL" and "SHARED" libraries. - All header files should be collected into $(G4INSTALL)/include by "make includes" CLHEP - - 1.9.1.1 or later + - version 2.x - should be built in shared library. - - Building shared objects is supported since version 1.9. (Optional) ROOT @@ -60,15 +58,16 @@ 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.#)], (location of pyconfig.h) --with-python-libdir=DIR Python library dir [/usr/lib(64)] + --with-python3 Use Python3 --with-boost-incdir=DIR BOOST-C++ header dir [/usr/include], (location of boost/) @@ -149,18 +148,18 @@ Notes: All users' libraries should be build in SHARED libaries. 2) Development Environment: -OS: SuSE Linux 11.1 (x86-64) -g++ : 4.3.2 +OS: SuSE Linux 11.3 (x86-64) +g++ : 4.5.0 Python: 2.6 -CLHEP: 2.0.4.4 -ROOT: 5.20/00 +CLHEP: 2.1.0.1 +ROOT: 5.26/00 3) Tested environment: Linux 32/64-bit - SuSE 11.2 11.1 - SL4.5 SL5.4 + SuSE 11.2 11.3 SLED11SP1 + SL4.8 SL5.4 Ubuntu 8.0.4 - MacOSX 10.5 (Leopard) 10.6 (Snow Leopard) + MacOSX 10.6 (Snow Leopard) Have A Fun!! diff --git a/environments/g4py/History b/environments/g4py/History index 1808834689..441994da4f 100644 --- a/environments/g4py/History +++ b/environments/g4py/History @@ -1,4 +1,4 @@ -$Id: History,v 1.48 2009/11/27 07:56:30 kmura Exp $ +$Id: History,v 1.53 2010/12/02 08:34:26 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -13,6 +13,21 @@ Geant4Py is a Geant4-Python bridge. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +1 December 2010 K.Murakami + - update for chages of G4 classes (G4GDMLParser, physics list) + - add a new example using GTK (examples/emplot/emcalc_gui.py) + - experimentally support for Python3 + +21 June 2010 K.Murakami (tagged as envs-V09-03-01) + - updates for changes of G4 classes (G4RunManager, physics list) + - use G4xMultipleScattering for EMLowEpl site-pacakage module + +4 June 2010 K.Murakami (tagged as envs-V09-03-00) + - update for the 9.4 beta release + - use G4xMultipleScattering instead if G4MultipleScattering class. + - bug fix in pyG4GDMLParser.cc + 27 November 2009 K.Murakami - config/g4py.gmk: add -lz as linker options diff --git a/environments/g4py/config/sys/linux.gmk b/environments/g4py/config/sys/linux.gmk index eefd1e3f67..56ad748823 100644 --- a/environments/g4py/config/sys/linux.gmk +++ b/environments/g4py/config/sys/linux.gmk @@ -1,5 +1,5 @@ -# $Id: linux.gmk,v 1.9 2008/12/01 10:14:36 kmura Exp $ -# $Name: geant4-09-02 $ +# $Id: linux.gmk,v 1.10 2010/12/02 08:33:02 kmura Exp $ +# $Name: geant4-09-04 $ # =========================================================== # System specific terms # =========================================================== @@ -46,8 +46,8 @@ else @$(CXX) -c -o $@ $(CXXFLAGS) $(CPPFLAGS) $*.cc endif -%.pyc: %.py; python -c 'import py_compile; py_compile.compile( "$<" )' -%.pyo: %.py; python -O -c 'import py_compile; py_compile.compile( "$<" )' +%.pyc: %.py; $(Q_PYTHON) -c 'import py_compile; py_compile.compile( "$<" )' +%.pyo: %.py; $(Q_PYTHON) -O -c 'import py_compile; py_compile.compile( "$<" )' # building a shared library diff --git a/environments/g4py/config/sys/linuxx8664gcc.gmk b/environments/g4py/config/sys/linuxx8664gcc.gmk index bb8955c8ed..0445ecf623 100644 --- a/environments/g4py/config/sys/linuxx8664gcc.gmk +++ b/environments/g4py/config/sys/linuxx8664gcc.gmk @@ -1,5 +1,5 @@ -# $Id: linuxx8664gcc.gmk,v 1.9 2008/12/01 10:14:36 kmura Exp $ -# $Name: geant4-09-02 $ +# $Id: linuxx8664gcc.gmk,v 1.10 2010/12/02 08:33:02 kmura Exp $ +# $Name: geant4-09-04 $ # =========================================================== # System specific terms # =========================================================== @@ -46,8 +46,8 @@ else @$(CXX) -c -o $@ $(CXXFLAGS) $(CPPFLAGS) $*.cc endif -%.pyc: %.py; python -c 'import py_compile; py_compile.compile( "$<" )' -%.pyo: %.py; python -O -c 'import py_compile; py_compile.compile( "$<" )' +%.pyc: %.py; $(Q_PYTHON) -c 'import py_compile; py_compile.compile( "$<" )' +%.pyo: %.py; $(Q_PYTHON) -O -c 'import py_compile; py_compile.compile( "$<" )' # building a shared library diff --git a/environments/g4py/config/sys/macosx.gmk b/environments/g4py/config/sys/macosx.gmk index 8f2acaffca..db9e5b3ed8 100644 --- a/environments/g4py/config/sys/macosx.gmk +++ b/environments/g4py/config/sys/macosx.gmk @@ -1,5 +1,5 @@ -# $Id: macosx.gmk,v 1.5 2008/12/01 06:47:39 kmura Exp $ -# $Name: geant4-09-02 $ +# $Id: macosx.gmk,v 1.6 2010/12/02 08:33:02 kmura Exp $ +# $Name: geant4-09-04 $ # =========================================================== # System specific terms # @@ -48,8 +48,8 @@ else @$(CXX) -c -o $@ $(CXXFLAGS) $(CPPFLAGS) $*.cc endif -%.pyc: %.py; python -c 'import py_compile; py_compile.compile( "$<" )' -%.pyo: %.py; python -O -c 'import py_compile; py_compile.compile( "$<" )' +%.pyc: %.py; $(Q_PYTHON) -c 'import py_compile; py_compile.compile( "$<" )' +%.pyo: %.py; $(Q_PYTHON) -O -c 'import py_compile; py_compile.compile( "$<" )' # building a shared library diff --git a/environments/g4py/configure b/environments/g4py/configure index 86fd1030aa..a4b8b3ff27 100755 --- a/environments/g4py/configure +++ b/environments/g4py/configure @@ -1,5 +1,5 @@ #! /bin/sh - -#$Id: configure,v 1.17 2009/11/20 03:36:51 kmura Exp $ +#$Id: configure,v 1.18 2010/12/02 08:36:02 kmura Exp $ # ====================================================================== # A configure script for Geant4Py # ====================================================================== @@ -52,6 +52,7 @@ Fine tuning of the library path: --with-python-incdir=DIR Python header dir [/usr/include/python(2.#)], (location of pyconfig.h) --with-python-libdir=DIR Python library dir [/usr/lib(64)] + --with-python3 Use Python3 --with-boost-incdir=DIR BOOST-C++ header dir [/usr/include], (location of boost/) @@ -97,6 +98,8 @@ clhep_libdir=/zzz clhep_lib=${CLHEP_LIB:-CLHEP} python_incdir=/zzz +python_exe=python +with_python3=0 boost_incdir=/usr/include boost_python_lib=boost_python @@ -170,6 +173,9 @@ do --with-extra-dir=*) extra_dir=$optarg ;; --with-python-incdir=*) python_incdir=$optarg ;; --with-python-libdir=*) python_libdir=$optarg ;; + --with-python3 ) python_exe=python3 + with_python3=1 + boost_python_lib=boost_python3 ;; --with-boost-incdir=*) boost_incdir=$optarg ;; --with-boost-libdir=*) boost_libdir=$optarg ;; --with-boost-python-lib=*) boost_python_lib=$optarg ;; @@ -324,7 +330,11 @@ echo "lib${clhep_lib}.${shlib}" # --- echo $ac_n "Checking for Python include dir (pyconfig.h) ... $ac_c" # check version -set python python2.6 python2.5 python2.4 python2.3 python2.2 +if [ $with_python3 = 0 ]; then + set python python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 +else + set python3.1 python3.0 +fi for aincdir in $* do if [ -d /usr/include/"$aincdir" ]; then @@ -553,6 +563,8 @@ Q_CLHEP_LIB := $clhep_lib Q_PYTHON_INCDIR := $python_incdir Q_PYTHON_LIBDIR := $python_libdir +Q_PYTHON := $python_exe +Q_WITH_PYTHON3 := $with_python3 Q_BOOST_INCDIR := $boost_incdir Q_BOOST_LIBDIR := $boost_libdir Q_BOOST_PYTHON_LIB := $boost_python_lib diff --git a/environments/g4py/examples/demos/TestEm0/g4lib/PhysListEmStandard.cc b/environments/g4py/examples/demos/TestEm0/g4lib/PhysListEmStandard.cc index 48bfe6d743..7557d85504 100644 --- a/environments/g4py/examples/demos/TestEm0/g4lib/PhysListEmStandard.cc +++ b/environments/g4py/examples/demos/TestEm0/g4lib/PhysListEmStandard.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysListEmStandard.cc,v 1.1 2007/06/21 15:18:32 jjacquem Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysListEmStandard.cc,v 1.2 2010/06/04 05:43:20 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -38,7 +38,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" @@ -82,13 +84,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); @@ -96,20 +98,20 @@ 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); } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); + 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 G4hMultipleScattering,-1,1,1); pmanager->AddProcess(new G4hIonisation, -1,2,2); } } diff --git a/environments/g4py/examples/demos/TestEm0/python3/testem0.py b/environments/g4py/examples/demos/TestEm0/python3/testem0.py new file mode 100755 index 0000000000..81fba79927 --- /dev/null +++ b/environments/g4py/examples/demos/TestEm0/python3/testem0.py @@ -0,0 +1,191 @@ +#!/usr/bin/python3 +# ================================================================== +# python script for TestEm0 python version +# +# ================================================================== +import Geant4 as g4 +import TestEm0 + +# ================================================================== +# user actions in python +# ================================================================== + + +# ================================================================== +# main +# ================================================================== + +myDC= TestEm0.DetectorConstruction() +g4.gRunManager.SetUserInitialization(myDC) + +myPL= TestEm0.PhysicsList() +g4.gRunManager.SetUserInitialization(myPL) + +# set user actions... +myPGA= TestEm0.PrimaryGeneratorAction(myDC) +g4.gRunManager.SetUserAction(myPGA) + +myRA= TestEm0.RunAction(myDC,myPGA) + +# set user action classes +g4.gRunManager.SetUserAction(myRA) + + + +g4.gRunManager.Initialize() + +pg = g4.G4ParticleGun() + +materialList = TestEm0.getMaterialTable(); + +particleList = TestEm0.getParticleTable() + +enrgyList = ["eV","keV","MeV","GeV","TeV","PeV"] + +cutsList = ["um", "mm" , "cm", "m", "km"] + + + + +# GUI + +from tkinter import * +class App(Frame): + + + def init(self): + +# title and header + title = Label(self, text="TestEm0 empowered by Geant4Py\n\n\n") + title.grid(row=0, column=1, columnspan = 4) + +# particle list box + particle_title = Label(self, text="Particle") + particle_title.grid(row=2, column=0) + + particleFrame = Frame(self) + scrollbar2 = Scrollbar(particleFrame) + scrollbar2.pack(side = RIGHT, fill = Y) + self.particleListBox = Listbox(particleFrame, yscrollcommand=scrollbar2.set, exportselection=FALSE,height = 6) + self.particleListBox.pack(side = LEFT) + for item in particleList: + self.particleListBox.insert(END, item) + scrollbar2.config(command=self.particleListBox.yview) + particleFrame.grid(row=3, column=0) + self.particleListBox.select_set(0) + +# separator frame + fblank = Frame(self,width = 40) + fblank.grid(row=3,column=1) + +# material list box + detmaterial_title = Label(self, text="Material") + detmaterial_title.grid(row=2, column=2) + + materialFrame = Frame(self) + scrollbar = Scrollbar(materialFrame) + scrollbar.pack(side = RIGHT, fill = Y) + self.materialListBox = Listbox(materialFrame, yscrollcommand=scrollbar.set, exportselection=FALSE, height = 6) + self.materialListBox.pack(side = LEFT, fill = Y) + for item in materialList: + self.materialListBox.insert(END, item) + scrollbar.config(command=self.materialListBox.yview) + materialFrame.grid(row=3, column=2) + self.materialListBox.select_set(0) + +# separator frame + fblank = Frame(self,width = 40) + fblank.grid(row=3,column=3) + +# energy + fEnergy = Frame(self) + energyLabel = Label(self, text="Energy") + energyLabel.grid(row = 2, column = 4) + + scrollbarEnergy = Scrollbar(fEnergy) + scrollbarEnergy.pack(side = RIGHT, fill = Y) + self.energyEntry = Entry(fEnergy, width= 8 ); + self.energyEntry.pack(side = TOP) + self.energyEntry.insert(0, "1.0") + + self.energyListBox = Listbox(fEnergy, yscrollcommand=scrollbarEnergy.set,exportselection=FALSE,width=8,height = 5) + self.energyListBox.pack(side = BOTTOM ) + for item in enrgyList: + self.energyListBox.insert(END, item) + scrollbarEnergy.config(command=self.energyListBox.yview) + fEnergy.grid(row = 3, column = 4 ) + self.energyListBox.select_set(0) + +# separator frame + fblank = Frame(self,width = 40) + fblank.grid(row=3,column=5) + +# cuts + fCuts = Frame(self) + cutsLabel = Label(self, text="Cuts", width= 8) + cutsLabel.grid(row = 2, column = 6) + + scrollbarCuts = Scrollbar(fCuts) + scrollbarCuts.pack(side = RIGHT, fill = Y) + self.cutsEntry = Entry(fCuts, width= 8); + self.cutsEntry.pack(side = TOP) + self.cutsEntry.insert(0, "1.0") + + self.cutsListBox = Listbox(fCuts, width= 8 ,yscrollcommand=scrollbarCuts.set,exportselection=FALSE,height = 5) + self.cutsListBox.pack(side = BOTTOM ) + for item in cutsList: + self.cutsListBox.insert(END, item) + scrollbarCuts.config(command=self.cutsListBox.yview) + fCuts.grid(row = 3, column = 6 ) + self.cutsListBox.select_set(0) + +# separator frame + fblank = Frame(self,height = 40) + fblank.grid(row=4,column=0) + +# start a run button + startBut = Button(self, bg="green", text="Start a run", command=self.cmd_beamOn) + startBut.grid(row=5, column=2, sticky=W) + +# exit button + exitBut = Button(self, bg="grey", text="Exit", command=self.quit) + exitBut.grid(row=5, column=6, sticky=E) + + def __init__(self, master=None): + Frame.__init__(self, master) + self.init() + self.grid() + + def cmd_beamOn(self): + + # get and set particle + if self.particleListBox.curselection(): + index =int(self.particleListBox.curselection()[0]) + g4.gApplyUICommand("/gun/particle " + particleList[index]) + + # get and set detector Material + if self.materialListBox.curselection(): + index =int(self.materialListBox.curselection()[0]) + g4.gApplyUICommand("/testem/det/setMat " + materialList[index]) + + # get and set energy + energy = self.energyEntry.get() + if self.energyListBox.curselection(): + index = int(self.energyListBox.curselection()[0]) + unity = enrgyList[index] + g4.gApplyUICommand("/gun/energy " + energy + " " + unity) + + # get and set cuts + cuts = self.cutsEntry.get() + if self.cutsListBox.curselection(): + index = int(self.cutsListBox.curselection()[0]) + unity = cutsList[index] + g4.gApplyUICommand("/testem/phys/setCuts " + cuts + " " + unity) + + # run beamOn + g4.gRunManager.BeamOn(1) + + +app = App() +app.mainloop() + diff --git a/environments/g4py/examples/demos/water_phantom/g4lib/PhysicsListEMstd.cc b/environments/g4py/examples/demos/water_phantom/g4lib/PhysicsListEMstd.cc index ab02edaf2e..de47637acd 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/PhysicsListEMstd.cc +++ b/environments/g4py/examples/demos/water_phantom/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:28:29 gunter Exp $ -// $Name: geant4-09-02 $ +// $Id: PhysicsListEMstd.cc,v 1.4 2010/06/04 05:43:47 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // ==================================================================== // PhysicsListEMstd.cc // @@ -46,10 +46,10 @@ #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" +#include "G4eMultipleScattering.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/examples/demos/water_phantom/g4lib/PhysicsListLHad.cc b/environments/g4py/examples/demos/water_phantom/g4lib/PhysicsListLHad.cc index d3f16077e3..1cc3fb9b9f 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/PhysicsListLHad.cc +++ b/environments/g4py/examples/demos/water_phantom/g4lib/PhysicsListLHad.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsListLHad.cc,v 1.3 2006/06/29 15:28:35 gunter Exp $ +// $Id: PhysicsListLHad.cc,v 1.4 2010/06/04 05:43:47 kmura Exp $ // ==================================================================== // PhysicsListLHad.cc // @@ -33,7 +33,7 @@ #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" -#include "G4MultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4hIonisation.hh" // Hadronic Processes @@ -152,7 +152,7 @@ void PhysicsListLHad::ConstructProcess() pManager-> AddDiscreteProcess(theProtonInelasticProcess); // QED - G4VProcess* thepMultipleScattering = new G4MultipleScattering(); + G4VProcess* thepMultipleScattering = new G4hMultipleScattering(); G4VProcess* thepIonisation = new G4hIonisation(); pManager-> AddProcess(thepIonisation); @@ -193,7 +193,7 @@ void PhysicsListLHad::ConstructProcess() pManager-> AddRestProcess(theAntiProtonAnnihilation); // QED - G4VProcess* theapMultipleScattering = new G4MultipleScattering(); + G4VProcess* theapMultipleScattering = new G4hMultipleScattering(); G4VProcess* theapIonisation = new G4hIonisation(); pManager-> AddProcess(theapIonisation); @@ -232,7 +232,7 @@ void PhysicsListLHad::ConstructProcess() pManager-> AddDiscreteProcess(thePionPlusInelasticProcess); // QED - G4VProcess* theppMultipleScattering = new G4MultipleScattering(); + G4VProcess* theppMultipleScattering = new G4hMultipleScattering(); G4VProcess* theppIonisation = new G4hIonisation(); pManager-> AddProcess(theppIonisation); @@ -266,7 +266,7 @@ void PhysicsListLHad::ConstructProcess() pManager-> AddDiscreteProcess(thePionMinusInelasticProcess); // QED - G4VProcess* thepmMultipleScattering = new G4MultipleScattering(); + G4VProcess* thepmMultipleScattering = new G4hMultipleScattering(); G4VProcess* thepmIonisation = new G4hIonisation(); pManager-> AddProcess(thepmIonisation); @@ -300,7 +300,7 @@ void PhysicsListLHad::ConstructProcess() pManager-> AddDiscreteProcess(theKaonPlusInelasticProcess); // QED - G4VProcess* thekpMultipleScattering = new G4MultipleScattering(); + G4VProcess* thekpMultipleScattering = new G4hMultipleScattering(); G4VProcess* thekpIonisation = new G4hIonisation(); pManager-> AddProcess(thekpIonisation); @@ -334,7 +334,7 @@ void PhysicsListLHad::ConstructProcess() pManager->AddDiscreteProcess(theKaonMinusInelasticProcess); // QED - G4VProcess* thekmMultipleScattering = new G4MultipleScattering(); + G4VProcess* thekmMultipleScattering = new G4hMultipleScattering(); G4VProcess* thekmIonisation = new G4hIonisation(); pManager-> AddProcess(thekmIonisation); diff --git a/environments/g4py/examples/education/lesson1/python3/Lesson1.py b/environments/g4py/examples/education/lesson1/python3/Lesson1.py new file mode 100755 index 0000000000..97269b8146 --- /dev/null +++ b/environments/g4py/examples/education/lesson1/python3/Lesson1.py @@ -0,0 +1,294 @@ +#!/usr/bin/python3 +# ================================================================== +# python script for "measurement" of mass attenuation coefficient +# +# +# - using site-module packages +# ================================================================== +from Geant4 import * +import g4py.NISTmaterials +import g4py.ezgeom +from g4py.ezgeom import G4EzVolume +import g4py.EMSTDpl +import g4py.ParticleGun +from time import * +import sys + +# ================================================================== +# intialize +# ================================================================== +def Configure(): + # ------------------------------------------------------------------ + # setup for materials + # ------------------------------------------------------------------ + # simple materials for Qgeom + g4py.NISTmaterials.Construct() + + # ------------------------------------------------------------------ + # setup for geometry + # ------------------------------------------------------------------ + #g4py.Qgeom.Construct() + g4py.ezgeom.Construct() # initialize + + # ------------------------------------------------------------------ + # setup for physics list + # ------------------------------------------------------------------ + g4py.EMSTDpl.Construct() + + # ------------------------------------------------------------------ + # setup for primary generator action + # ------------------------------------------------------------------ + g4py.ParticleGun.Construct() + gControlExecute("gun.mac") + +# ================================================================== +# constructing geometry +# ================================================================== +def ConstructGeom(): + print("* Constructing geometry...") + # reset world material + global absorber + air= G4Material.GetMaterial("G4_AIR", 1) + galactic = G4Material.GetMaterial("G4_Galactic", 1) + absorber = {} # material's dictionary to be used by a radiobutton + aluminum = G4Material.GetMaterial("G4_Al", 1) + iron = G4Material.GetMaterial("G4_Fe", 1) + silver = G4Material.GetMaterial("G4_Ag", 1) + gold = G4Material.GetMaterial("G4_Au", 1) + lead = G4Material.GetMaterial("G4_Pb", 1) + water = G4Material.GetMaterial("G4_WATER", 1) + absorber = {"air":air, "aluminum":aluminum, "iron":iron, "lead":lead, "water":water, "gold":gold} + g4py.ezgeom.SetWorldMaterial(galactic) + g4py.ezgeom.ResizeWorld(120.*cm, 120.*cm, 100.*cm) + # water phantom + global water_phantom, water_phantom_pv + + water_phantom= G4EzVolume("WaterPhantom") + water_phantom.CreateBoxVolume(water, 110.*cm, 110.*cm, 10.*cm) + + water_phantom_pv = water_phantom.PlaceIt(G4ThreeVector(0.,0.,0.*cm)) + +# ================================================================== +# main +# ================================================================== +# ------------------------------------------------------------------ +# randum number +# ------------------------------------------------------------------ +print("Random numbers...") +rand_engine= Ranlux64Engine() +HepRandom.setTheEngine(rand_engine) +HepRandom.setTheSeed(20050830) + +# setup... + +Configure() +ConstructGeom() + +# ------------------------------------------------------------------ +# go... +# ------------------------------------------------------------------ +gRunManager.Initialize() + +# visualization not here but after "Start a run" button +gControlExecute("oglx.mac") +#gControlExecute("vrml.mac") + +# creating widgets using grid layout + +from tkinter import * + +class App(Frame): + + + def init(self): + +#title and header row=0, 1 + title = Label(self, text="Geant4Py for Education @ H. Yoshida Naruto Univ. of Education") + title.grid(row=0, column=1, columnspan=5) + header = Label(self, text="Measurement of Mass Attenuation Coefficient") + header.grid(row=1, column=1, columnspan=5) + +#material selection row=2 + materialLabel = Label(self, bg="green", text="Material") + materialLabel.grid(row=2, column=0, sticky=W) + self.materialVar = StringVar() + self.materialVar.set("water") + ra1 = { } + pos=1 + for i in absorber.keys(): + ra1[i] = Radiobutton(self, text=i, variable=self.materialVar, value=i) + ra1[i].grid(row=2, column=pos, sticky=W) + pos=pos+1 + +#absorber thickness row=3 + thickLabel = Label(self, bg="green", text="Thickness (mm)") + self.thickVar = DoubleVar() + self.thickVar.set(100.0) + thick = Scale(self, orient=HORIZONTAL, length=400, from_=0., to=100., resolution=0.05, tickinterval=10.0, digits=4, variable=self.thickVar) + thickLabel.grid(row=3, column=0, sticky=W) + thick.grid(row=3, column=1, columnspan=5, sticky=W) + +#get logical volume and set its half length + self.solid = g4py.ezgeom.G4EzVolume.GetSold(water_phantom) + +#particle row=4 + particleLabel = Label(self, bg="green", text="Particle") + particleLabel.grid(row=4, column=0, sticky=W) + self.particleVar = StringVar() + self.particleVar.set("gamma") + ra1 = { } + pos1=1 + for i in ("gamma", "e-"): + ra1[i] = Radiobutton(self, text=i, variable=self.particleVar, value=i) + ra1[i].grid(row=4, column=pos1, sticky=W) + pos1=pos1+1 + +#energy row=5 + energyLabel = Label(self, bg="green", text="Energy (MeV)") + + self.energyVar=StringVar() + self.energyVar.set(1) + energy = Scale(self, orient=HORIZONTAL, length=400, from_=0., to=100., tickinterval=10.0, resolution=0.1, variable=self.energyVar, digits=4 ) + energyLabel.grid(row=5, column=0, sticky=W) + energy.grid(row=5, column=1, columnspan=5, sticky=W) + +#number of event row=6 + eventLabel = Label(self, bg="green", text="Events") + self.eventVar=IntVar() + event = Scale(self, orient=HORIZONTAL, length=400, from_=1, to=100, tickinterval=10, resolution=1, variable=self.eventVar ) + eventLabel.grid(row=6, column=0, sticky=W) + event.grid(row=6, column=1, columnspan=5, sticky=W) + +#start a run button row=7 + startBut = Button(self, bg="orange", text="Start a run", command=self.cmd_beamOn) + startBut.grid(row=0, column=0, sticky=W) + +#Zoom in/out Pan X Y row=8 + visLabel = Label(self, text="viewer", bg="orange") + expandBut = Button(self, text="Zoom in", command=self.cmd_expand) + shrinkBut = Button(self, text="Zoom out", command=self.cmd_shrink) + visLabel.grid(row=8, column=0, sticky=W) + expandBut.grid(row=8, column=1, sticky=W) + shrinkBut.grid(row=8, column=2, sticky=W) + + upBut = Button(self, text="Up", command=self.cmd_up) + downBut = Button(self, text="Down", command=self.cmd_down) + upBut.grid(row=8, column=3, sticky=W) + downBut.grid(row=8, column=4, sticky=W) + + leftBut = Button(self, text="Left", command=self.cmd_left) + rightBut = Button(self, text="Right", command=self.cmd_right) + leftBut.grid(row=8, column=5, sticky=W) + rightBut.grid(row=8, column=6, sticky=W) +# later +# resetBut = Button(self, text="Reset", command=self.cmd_reset) +# resetBut.grid(row=8, column=7, sticky=W) + + +# panLabel = Label(self, text="Pan X Y (mm)") +# self.panXYVar = StringVar() +# panXYEnt = Entry(self, textvariable=self.panXYVar) +# panBut = Button(self, bg="orange", text="OK", command=self.cmd_pan) +# panLabel.grid(row=8, column=3, sticky=W) +# panXYEnt.grid(row=8, column=4) +# panBut.grid(row=8, column=5) +#Geant4 command entry row = 9 +# g4comLabel = Label(self, text="Geant4 command") +# self.g4commandVar = StringVar() +# commandEntry = Entry(self, textvariable=self.g4commandVar) +# comBut = Button(self, bg="orange", text="Execute", command=self.cmd_g4command) +# g4comLabel.grid(row=9, column=0, sticky=W) +# commandEntry.grid(row=9, column=1, columnspan=4, sticky=E+W) +# comBut.grid(row=9, column=5) + +#exit row = 10 + exitBut = Button(self, bg="red", text="End all", command=sys.exit) + exitBut.grid(row=0, column=6, sticky=W) + +#on Run butto do... + def cmd_beamOn(self): + materialChosen = self.materialVar.get() + water_phantom.SetMaterial(absorber[materialChosen]) + + if materialChosen == "water": + water_phantom.SetColor(0., 0.9, 1.0) + + if materialChosen == "air": + water_phantom.SetColor(0.9, 0.9, 1.0) + + if materialChosen == "lead": + water_phantom.SetColor(0.2, 0.2, 0.2) + + if materialChosen == "iron": + water_phantom.SetColor(0.7, 0.5, 0.7) + + if materialChosen == "aluminum": + water_phantom.SetColor(.7, 0.9, 1.0) + + if materialChosen == "gold": + water_phantom.SetColor(1., 0.9, .0) + + self.solid.SetZHalfLength(self.thickVar.get() * mm/2.0) +# gControlExecute("oglx.mac") #draw for each run + gApplyUICommand("/vis/viewer/flush") + + self.cmd_particle(self.particleVar.get()) + self.cmd_energy(self.energyVar.get()) +# TODO later to reflesh text + gApplyUICommand("/vis/scene/add/text 0 610 610 mm 20 0 0 " + " ") + gApplyUICommand("/vis/scene/add/text 0 610 610 mm 20 0 0 " + self.materialVar.get() + " = " + str(self.thickVar.get()) + "mm " + self.particleVar.get() + " = "+self.energyVar.get() + "MeV") + + eventNum = self.eventVar.get() + for i in range(eventNum): + gunYZpos = str(i-eventNum/2) + ". -20. cm" + gApplyUICommand("/gun/position 0. " + gunYZpos) + gRunManager.BeamOn(1) + sleep(0.01) +# self.cmd_expand() #Zoom in to the last diaplayed OGLSX +# self.cmd_shrink() + + + + def cmd_g4command(self): + gApplyUICommand(self.g4commandVar.get()) + + def cmd_particle(self, particle): + gApplyUICommand("/gun/particle " + particle) + + + def cmd_energy(self, penergy): + gApplyUICommand("/gun/energy " + penergy + " MeV") + + + def cmd_expand(self): + gApplyUICommand("/vis/viewer/zoom 1.2") + + def cmd_up(self): + gApplyUICommand("/vis/viewer/pan " + " 0. 10. mm") + + def cmd_down(self): + gApplyUICommand("/vis/viewer/pan " + " 0. -10. mm") + + def cmd_right(self): + gApplyUICommand("/vis/viewer/pan " + " -1. 0. mm") + + def cmd_left(self): + gApplyUICommand("/vis/viewer/pan " + " 1. 0. mm") + + + def cmd_shrink(self): + gApplyUICommand("/vis/viewer/zoom 0.8") + + +# def cmd_reset(self): +# gApplyUICommand("/vis/viewer/pan " + " 0. 0. mm") + + + def __init__(self, master=None): + Frame.__init__(self, master) + self.init() + self.grid() + + +app = App() +app.mainloop() diff --git a/environments/g4py/examples/education/lesson2/python3/ExN03.py b/environments/g4py/examples/education/lesson2/python3/ExN03.py new file mode 100755 index 0000000000..91422d6a45 --- /dev/null +++ b/environments/g4py/examples/education/lesson2/python3/ExN03.py @@ -0,0 +1,426 @@ +#!/usr/bin/python3 +# ================================================================== +# python script for Geant4Py +# +# ExN03 : geant4/examples/novice/N03 +# using site-module packages +# ================================================================== +from Geant4 import * +import g4py.Qmaterials, g4py.NISTmaterials +import g4py.ExN03geom +import g4py.ExN03pl +import g4py.ParticleGun, g4py.MedicalBeam +import sys +from time import * +from subprocess import * +import os + +# ================================================================== +# main +# ================================================================== +# ------------------------------------------------------------------ +# randum number +# ------------------------------------------------------------------ +rand_engine= Ranlux64Engine() +HepRandom.setTheEngine(rand_engine) +HepRandom.setTheSeed(20050830) + +# ------------------------------------------------------------------ +# setup for materials +# ------------------------------------------------------------------ + +# NIST materials +#g4py.NISTmaterials.Construct() + +# ------------------------------------------------------------------ +# setup for geometry +# ------------------------------------------------------------------ +# normal way for constructing user geometry + + +exN03geom= g4py.ExN03geom.ExN03DetectorConstruction() +gRunManager.SetUserInitialization(exN03geom) + +# 2nd way, short-cut way + +#g4py.ExN01geom.Construct() +#g4py.ExN03geom.Construct() + +# magnetic field +#exN03geom.SetMagField(0.1 * tesla) + +# ------------------------------------------------------------------ +# setup for physics list +# ------------------------------------------------------------------ +# normal way for constructing user physics list +exN03PL= g4py.ExN03pl.ExN03PhysicsList() +gRunManager.SetUserInitialization(exN03PL) + +# 2nd way, short-cut way +#g4py.ExN01pl.Construct() +#g4py.EMSTDpl.Construct() + +# ------------------------------------------------------------------ +# setup for primary generator action +# ------------------------------------------------------------------ +# normal way for constructing user physics list +#pgPGA= g4py.ParticleGun.ParticleGunAction() +#gRunManager.SetUserAction(pgPGA) +#pg= pgPGA.GetParticleGun() + +# 2nd way, short-cut way +pg= g4py.ParticleGun.Construct() + +# set parameters of particle gun +pg.SetParticleByName("e-") +pg.SetParticleEnergy(50.*MeV) +pg.SetParticlePosition(G4ThreeVector(-40.,0.,0.)*cm) +pg.SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)) + +# medical beam +#beam= MedicalBeam.Construct() + +# ------------------------------------------------------------------ +# go... +# ------------------------------------------------------------------ +gRunManager.Initialize() + +# beamOn +#gRunManager.BeamOn(3) + + +#TEST +#gProcessTable.SetProcessActivation("msc", 0) +#gProcessTable.SetProcessActivation("conv", 0) +#gProcessTable.SetProcessActivation("eBrem", 0) +#gProcessTable.SetProcessActivation("eIoni", 0) +#gProcessTable.SetProcessActivation("annihil", 0) + + +# visualization +# OGLSX, VRML and HEPREP sceneHandlers are all created with names +gApplyUICommand("/vis/sceneHandler/create OGLSX OGLSX") +gApplyUICommand("/vis/sceneHandler/create VRML2FILE VRML") +gApplyUICommand("/vis/sceneHandler/create HepRepFile HEPREP") + +# OGLSX is the default so, viewer is created and volume is drawn +gApplyUICommand("/vis/viewer/create OGLSX oglsxviewer") +gApplyUICommand("/vis/drawVolume") +gApplyUICommand("/vis/scene/add/trajectories") + +gApplyUICommand("/tracking/storeTrajectory 1") +gApplyUICommand("/vis/scene/endOfEventAction accumulate") +gApplyUICommand("/vis/scene/endOfRunAction accumulate") +gApplyUICommand("/vis/viewer/select oglsxviewer") + +# viewers VRML and Wired are tested by their envs vars +# if their envs var are set, then viewers are created and drawVolume + +global heprepViewer, heprepDir, heprepName +heprepViewer = os.environ.get("G4HEPREPFILE_VIEWER") +heprepDir = os.environ.get("G4HEPREPFILE_DIR") +heprepName = os.environ.get("G4HEPREPFILE_NAME") +if heprepViewer is not None: + gApplyUICommand("/vis/viewer/create HEPREP wired") + gApplyUICommand("/vis/drawVolume") + +# VRML viewers name is user defined +vrmlDir = os.environ.get("G4VRML_DEST_DIR") +vrmlViewer = os.environ.get("G4VRMLFILE_VIEWER") + +if vrmlViewer is not None: + gApplyUICommand("/vis/viewer/create VRML vrmlviewer") + gApplyUICommand("/vis/drawVolume") + + + +# creating widgets using grid layout + +from tkinter import * + +class App(Frame): + + g4pipe = 0 + + def init(self): + +#title and header row=0, 1 + title = Label(self, text="exampleN03") + title.grid(row=0, column=1, columnspan=3) + header = Label(self, text="empowered by \n Geant4Py") + header.grid(row=1, column=1, columnspan=3) +# number of layers + layerLabel = Label(self, bg="green", text="No of layers") + self.layerVar=IntVar() + self.layerVar.set(10) + layer = Scale(self, orient=HORIZONTAL, length=400, from_=0, to=10, tickinterval=1, resolution=1, variable=self.layerVar ) + layerLabel.grid(row=2, column=0, sticky=W) + layer.grid(row=2, column=1, columnspan=5, sticky=W) + +#absorber material selection row=3 + absorbermaterialLabel = Label(self, bg="green", text="Absorber Material") + absorbermaterialLabel.grid(row=3, column=0, sticky=W) + self.absorbermaterialVar = StringVar() + self.absorbermaterialVar.set("Lead") + ra1 = { } + pos=1 + for i in ("Aluminium", "Lead"): + ra1[i] = Radiobutton(self, text=i, variable=self.absorbermaterialVar, value=i) + ra1[i].grid(row=3, column=pos, sticky=W) + pos=pos+1 + +#absorber thickness row=4 + absorberthickLabel = Label(self, bg="green", text="Thickness (mm)") + self.absorberthickVar = DoubleVar() + self.absorberthickVar.set(10.0) + absorberthick = Scale(self, orient=HORIZONTAL, length=400, from_=0., to=100., resolution=0.05, tickinterval=10.0, digits=4, variable=self.absorberthickVar) + absorberthickLabel.grid(row=4, column=0, sticky=W) + absorberthick.grid(row=4, column=1, columnspan=5, sticky=W) + + +#gap material selection row=5 + gapmaterialLabel = Label(self, bg="green", text="Gap Material") + gapmaterialLabel.grid(row=5, column=0, sticky=W) + self.gapmaterialVar = StringVar() + self.gapmaterialVar.set("liquidArgon") + ra2 = { } + pos=1 + for i in ("liquidArgon","Scintillator", "Air", "Aerogel", "Galactic" ): + ra2[i] = Radiobutton(self, text=i, variable=self.gapmaterialVar, value=i) + ra2[i].grid(row=5, column=pos, sticky=W) + pos=pos+1 + +#gap thickness row=6 + gapthickLabel = Label(self, bg="green", text="Thickness (mm)") + self.gapthickVar = DoubleVar() + self.gapthickVar.set(5.0) + gapthick = Scale(self, orient=HORIZONTAL, length=400, from_=0., to=100., resolution=0.05, tickinterval=10.0, digits=4, variable=self.gapthickVar) + gapthickLabel.grid(row=6, column=0, sticky=W) + gapthick.grid(row=6, column=1, columnspan=5, sticky=W) + +#calorSizeYZ row=7 + calorsizeYZLabel = Label(self, bg="green", text="SizeYZ (mm)") + self.calorsizeYZVar = DoubleVar() + self.calorsizeYZVar.set(100.0) + calorsizeYZ = Scale(self, orient=HORIZONTAL, length=400, from_=0., to=200., resolution=0.05, tickinterval=20.0, digits=4, variable=self.calorsizeYZVar) + calorsizeYZLabel.grid(row=7, column=0, sticky=W) + calorsizeYZ.grid(row=7, column=1, columnspan=5, sticky=W) + + +#particle row=8 + particleLabel = Label(self, bg="green", text="Particle") + particleLabel.grid(row=8, column=0, sticky=W) + self.particleVar = StringVar() + self.particleVar.set("e-") + ra1 = { } + pos1=1 + for i in ("proton", "gamma", "e-", "e+", "mu-", "mu+"): + ra1[i] = Radiobutton(self, text=i, variable=self.particleVar, value=i) + ra1[i].grid(row=8, column=pos1, sticky=W) + pos1=pos1+1 + +#energy row=9 + energyLabel = Label(self, bg="green", text="Energy (MeV)") + + self.energyVar=StringVar() + self.energyVar.set(50) + energy = Scale(self, orient=HORIZONTAL, length=400, from_=0., to=1000., tickinterval=100.0, resolution=0.1, variable=self.energyVar, digits=5 ) + energyLabel.grid(row=9, column=0, sticky=W) + energy.grid(row=9, column=1, columnspan=5, sticky=W) + +#number of event row=10 + eventLabel = Label(self, bg="green", text="Events") + self.eventVar=IntVar() + self.eventVar.set(3) + event = Scale(self, orient=HORIZONTAL, length=400, from_=0, to=100, tickinterval=10, resolution=1, variable=self.eventVar ) + eventLabel.grid(row=10, column=0, sticky=W) + event.grid(row=10, column=1, columnspan=5, sticky=W) + +#start a run button row=0 + startBut = Button(self, bg="orange", text="Start a run", command=self.cmd_beamOn) + startBut.grid(row=0, column=0, sticky=W) + +#Zoom in/out Pan X Y row=13 +# visLabel = Label(self, text="viewer", bg="orange") +# expandBut = Button(self, text="Zoom in", command=self.cmd_expand) +# shrinkBut = Button(self, text="Zoom out", command=self.cmd_shrink) +# visLabel.grid(row=13, column=0, sticky=W) +# expandBut.grid(row=13, column=1, sticky=W) +# shrinkBut.grid(row=13, column=2, sticky=W) +# panLabel = Label(self, text="Pan X Y(mm)") +# self.panXYVar = StringVar() +# panXYEnt = Entry(self, textvariable=self.panXYVar, width=6) +# panBut = Button(self, bg="orange", text="OK", command=self.cmd_pan) +# panLabel.grid(row=13, column=3, sticky=W) +# panXYEnt.grid(row=13, column=4) +# panBut.grid(row=13, column=5) + +# process activate row 11 - 13 + processLabel=Label(self, text="Process on/off", bg="green") + processLabel.grid(row=11, column=0, sticky=W) + procTab = {} + + self.processList = ["phot", "compt", "conv", "msc", "eIoni", "eBrem", "annihil","muIoni", "muBrems", "hIoni"] + pos=1 + self.processVar = {} + for i in self.processList: + self.processVar[i] = IntVar() + procTab[i] = Checkbutton(self, text=i, variable=self.processVar[i], command=self.cmd_setProcess) + if pos <= 3: + procTab[i].grid(row=11, column=pos, sticky=W) + if 4<= pos <= 7: + procTab[i].grid(row=12, column=pos-3, sticky=W) + if pos >= 8: + procTab[i].grid(row=13, column=pos-7, sticky=W) + pos=pos+1 + procTab[i].select() +# set cuts row 14 + cutLabel = Label(self, bg="green", text="Cut (mm)") + + self.cutVar=DoubleVar() + self.cutVar.set(1.) + cut = Scale(self, orient=HORIZONTAL, length=400, from_=0., to=10., tickinterval=1., resolution=0.005, variable=self.cutVar, digits=5 ) + cutLabel.grid(row=14, column=0, sticky=W) + cut.grid(row=14, column=1, columnspan=5, sticky=W) + +# set mag field row 15 + magLabel = Label(self, bg="green", text="Magnetic (T)") + + self.magVar=DoubleVar() + self.magVar.set(0.) + mag = Scale(self, orient=HORIZONTAL, length=400, from_=0., to=5., tickinterval=1., resolution=0.1, variable=self.magVar, digits=3 ) + magLabel.grid(row=15, column=0, sticky=W) + mag.grid(row=15, column=1, columnspan=5, sticky=W) + + +# viewer selection row=16 + viewerLabel = Label(self, bg="green", text="Viewer") + viewerLabel.grid(row=16, column=0, sticky=W) + self.viewerVar = StringVar() + self.viewerVar.set("") + stateOfViewer = {"OpenGL":"normal", "VRML":"normal", "Wired":"normal"} + if vrmlViewer is None: stateOfViewer["VRML"] = "disabled" + if heprepViewer is None: stateOfViewer["Wired"] = "disabled" + viewers = { } + pos=1 + for i in ("OpenGL", "VRML", "Wired"): + viewers[i] = Radiobutton(self, text=i, variable=self.viewerVar, value=i, command=self.cmd_viewer, state=stateOfViewer[i]) + viewers[i].grid(row=16, column=pos, sticky=W) + pos=pos+1 + + +#Geant4 command entry row = 17 + g4comLabel = Label(self, text="Geant4 command", bg="orange") + self.g4commandVar = StringVar() + commandEntry = Entry(self, textvariable=self.g4commandVar, width=15) + self.g4commandVar.set("/vis/viewer/zoom 1.2") + comBut = Button(self, bg="orange", text="Execute", command=self.cmd_g4command) + g4comLabel.grid(row=17, column=0, sticky=W) + commandEntry.grid(row=17, column=1, columnspan=3, sticky=E+W) + comBut.grid(row=17, column=5) + +#exit row = 0 + exitBut = Button(self, bg="red", text="End all", command=sys.exit) + exitBut.grid(row=0, column=5, sticky=W) + +#on Run butto do... + def cmd_beamOn(self): + exN03geom.SetNbOfLayers(self.layerVar.get()) + exN03geom.SetAbsorberMaterial(self.absorbermaterialVar.get()) + exN03geom.SetAbsorberThickness(self.absorberthickVar.get() * mm/2.0) + exN03geom.SetGapMaterial(self.gapmaterialVar.get()) + exN03geom.SetGapThickness(self.gapthickVar.get() * mm/2.0) + exN03geom.SetCalorSizeYZ(self.calorsizeYZVar.get() * mm) + position = -self.layerVar.get()*(self.absorberthickVar.get() + self.gapthickVar.get())*1.2 + + exN03geom.UpdateGeometry() + exN03PL.SetDefaultCutValue(self.cutVar.get() * mm) + exN03PL.SetCutsWithDefault() + exN03geom.SetMagField(self.magVar.get() * tesla) + + print("Now geometry updated") + + + self.cmd_particle(self.particleVar.get()) + self.cmd_energy(self.energyVar.get()) + + print(position) + + eventNum = self.eventVar.get() + for i in range(eventNum): + + pg.SetParticlePosition(G4ThreeVector(position*mm, (i-eventNum/2)*5.*mm, 0.*cm)) + gRunManager.BeamOn(1) + sleep(0.01) + gApplyUICommand("/vis/viewer/update") + + def cmd_setProcess(self): + for i in self.processList: + if self.processVar[i].get() == 0: + gProcessTable.SetProcessActivation(i, 0) + print("Process " + i + " inactivated") + else: + gProcessTable.SetProcessActivation(i, 1) + print("Process " + i + " activated") + + def cmd_g4command(self): + gApplyUICommand(self.g4commandVar.get()) + + def cmd_particle(self, particle): + gApplyUICommand("/gun/particle " + particle) + + + def cmd_energy(self, penergy): + gApplyUICommand("/gun/energy " + penergy + " MeV") + + + def cmd_viewer(self): + if self.viewerVar.get() == "OpenGL": + gApplyUICommand("/vis/viewer/select oglsxviewer") + gApplyUICommand("/vis/scene/add/trajectories") + + gApplyUICommand("/tracking/storeTrajectory 1") + gApplyUICommand("/vis/scene/endOfEventAction accumulate") + gApplyUICommand("/vis/scene/endOfRunAction accumulate") + + if self.viewerVar.get() == "VRML": + gApplyUICommand("/vis/viewer/select vrmlviewer") + gApplyUICommand("/vis/scene/add/trajectories") + + gApplyUICommand("/tracking/storeTrajectory 1") + gApplyUICommand("/vis/scene/endOfEventAction accumulate") + gApplyUICommand("/vis/scene/endOfRunAction accumulate") + + if self.viewerVar.get() == "Wired": + gApplyUICommand("/vis/viewer/select wired") + gApplyUICommand("/vis/scene/add/trajectories") + + gApplyUICommand("/tracking/storeTrajectory 1") + gApplyUICommand("/vis/scene/endOfEventAction accumulate") + gApplyUICommand("/vis/scene/endOfRunAction accumulate") + + if self.g4pipe == 0: + Popen(heprepViewer + " -file " + heprepDir + "/" + heprepName +".heprep", shell=True) + self.g4pipe = 1 + + + def cmd_expand(self): + gApplyUICommand("/vis/viewer/zoom 1.2") + + def cmd_pan(self): + gApplyUICommand("/vis/viewer/pan " + self.panXYVar.get() + " " + " mm") + + + def cmd_shrink(self): + gApplyUICommand("/vis/viewer/zoom 0.8") + + + + def __init__(self, master=None): + Frame.__init__(self, master) + self.init() + self.grid() + + +app = App() +app.mainloop() diff --git a/environments/g4py/examples/emplot/emcalc_gui.py b/environments/g4py/examples/emplot/emcalc_gui.py new file mode 100755 index 0000000000..293d961060 --- /dev/null +++ b/environments/g4py/examples/emplot/emcalc_gui.py @@ -0,0 +1,364 @@ +#!/usr/bin/env python +# -*- coding:utf-8 -*- + +# ================================================================== +# EM Calculator (GTK) +# +# Koichi Murakami (KEK/CRC) +# ================================================================== +from Geant4 import * +import g4py.ExN03pl +import g4py.emcalculator +import EmPlot +import ROOT +import sys +from cStringIO import StringIO + +# ================================================================== +# Geant4 +# ================================================================== +def g4_configure() : + EmPlot.Configure() + g4py.ExN03pl.Construct() + +# ------------------------------------------------------------------- +# plot for chaged particles +# ------------------------------------------------------------------- +def plot_charged(material, pname) : + EmPlot.SetMaterial(material) + + # initialize G4 kernel + gRunManager.Initialize() + gRunManagerKernel.RunInitialization() + + # energy + elist= [] + for n in range(-3, 3): + for i in range(10,99): + elist.append(i/10.*10.**n *MeV) + + # calculate stopping power + global mycout + mycout.close() + sys.stdout = mycout = StringIO() + dedx_list= g4py.emcalculator.CalculateDEDX(pname, material, elist, 1) + xlist_tot=[] + xlist_ioni=[] + xlist_brems=[] + + for x in dedx_list: + xlist_tot.append((x[0], x[1]["tot"]/(MeV*cm2/g))) + xlist_ioni.append((x[0], x[1]["ioni"]/(MeV*cm2/g))) + xlist_brems.append((x[0], x[1]["brems"]/(MeV*cm2/g))) + + # make plot + global myCanvas, aplot, bplot, cplot + myCanvas = EmPlot.init_root() + aplot = EmPlot.make_plot(xlist_tot, pname+" Stopping Power ("+material+")", + "dE/dX (MeV cm^{2}/g)") + bplot = EmPlot.make_plot(xlist_ioni, "Stopping Power ("+material+")", + "dE/dX (MeV cm^{2}/g)", 1) + cplot = EmPlot.make_plot(xlist_brems, "Stopping Power ("+material+")", + "dE/dX (MeV cm^{2}/g)", 3) + myCanvas.SaveAs("/tmp/sp.png") + + +# ------------------------------------------------------------------- +# plot for gamma +# ------------------------------------------------------------------- +def plot_gamma(material) : + EmPlot.SetMaterial(material) + + # initialize G4 kernel + gRunManager.Initialize() + gRunManagerKernel.RunInitialization() + + # energy + elist= [] + for n in range(-3, 4): + for i in range(10,99): + elist.append(i/10.*10.**n *MeV) + + # calculate cross sections + global mycout + mycout.close() + sys.stdout = mycout = StringIO() + xsection_list= g4py.emcalculator.CalculatePhotonCrossSection(material, + elist, 1) + xlist_tot=[] + xlist_comp=[] + xlist_pe=[] + xlist_conv=[] + for x in xsection_list: + xlist_tot.append((x[0]/MeV, x[1]["tot"]/(cm2/g))) + xlist_comp.append((x[0]/MeV, x[1]["compt"]/(cm2/g))) + xlist_pe.append((x[0]/MeV, x[1]["phot"]/(cm2/g))) + xlist_conv.append((x[0]/MeV, x[1]["conv"]/(cm2/g))) + + # make plots + global myCanvas, aplot, bplot, cplot, dplot + myCanvas = EmPlot.init_root() + aplot = EmPlot.make_plot(xlist_tot, "Photon Cross Section ("+material+")", + "Cross Section (cm^{2}/g)") + bplo = EmPlot.make_plot(xlist_comp, "Photon Cross Section ("+material+")", + "Cross Section (cm^{2}/g)", 1) + cplot = EmPlot.make_plot(xlist_pe, "Photon Cross Section ("+material+")", + "Cross Section (cm^{2}/g)", 7) + dplot = EmPlot.make_plot(xlist_conv, "Photon Cross Section ("+material+")", + "Cross Section (cm^{2}/g)", 3) + myCanvas.SaveAs("/tmp/cs.png") + + +# ================================================================== +# GUI +# ================================================================== +import pygtk +pygtk.require20() +import gtk + +# ------------------------------------------------------------------- +# main window +# ------------------------------------------------------------------- +class MainWindow : + def __init__(self) : + self.__margin = 8 + + # main window + self.mainwindow = gtk.Window(gtk.WINDOW_TOPLEVEL) + self.mainwindow.set_title('Em Calculator') + self.mainwindow.set_position(gtk.WIN_POS_MOUSE) + self.mainwindow.set_default_size(500, 300) + self.mainwindow.connect('delete-event', lambda w,d: gtk.main_quit()) + self.mainwindow.connect('destroy-event',lambda w,d: gtk.main_quit()) + + # components + header = self.create_header() + + particle_frame = self.create_particle_frame() + particle_frame.set_border_width(self.__margin) + + material_frame = self.create_material_frame() + material_frame.set_border_width(self.__margin) + + separator = gtk.HSeparator() + + action_box = self.create_action_box() + action_box.set_border_width(self.__margin) + + # layout + vbox = gtk.VBox() + vbox.pack_start(header) + vbox.pack_start(particle_frame) + vbox.pack_start(material_frame) + vbox.pack_start(separator) + vbox.pack_start(action_box) + + self.mainwindow.add(vbox) + self.mainwindow.show_all() + + # text view + self.textview = TextView() + + # error dialog + self.error_dialog = gtk.MessageDialog(parent=self.mainwindow, + buttons=gtk.BUTTONS_CLOSE, type=gtk.MESSAGE_ERROR, + message_format="Material is not defined in G4Nist materials") + self.error_dialog.connect("response", self.cb_close_dialog) + + def create_header(self) : + hbox = gtk.HBox() + + label = gtk.Label() + label.set_markup("EM Calculator") + hbox.pack_start(label) + + label = gtk.Label() + text = """ + +Shows + - stopping power for e/mu/proton + - cross sections for gamma +""" + label.set_markup(text) + hbox.pack_start(label) + + return hbox + + def create_particle_frame(self) : + frame = gtk.Frame("Particle") + + hbox = gtk.HBox() + frame.add(hbox) + hbox.set_border_width(self.__margin) + + button = gtk.RadioButton(None, "electron") + button.connect("toggled", self.cb_select_particle, "e-") + hbox.pack_start(button, True, True, 0) + button.show() + self.particle = "e-" + + button = gtk.RadioButton(button, "positron") + button.connect("toggled", self.cb_select_particle, "e+") + hbox.pack_start(button, True, True, 0) + button.show() + + button = gtk.RadioButton(button, "mu-") + button.connect("toggled", self.cb_select_particle, "mu-") + hbox.pack_start(button, True, True, 0) + button.show() + + button = gtk.RadioButton(button, "mu+") + button.connect("toggled", self.cb_select_particle, "mu+") + hbox.pack_start(button, True, True, 0) + button.show() + + button = gtk.RadioButton(button, "proton") + button.connect("toggled", self.cb_select_particle, "proton") + hbox.pack_start(button, True, True, 0) + button.show() + + button = gtk.RadioButton(button, "gamma") + button.connect("toggled", self.cb_select_particle, "gamma") + hbox.pack_start(button, True, True, 0) + button.show() + + return frame + + def create_material_frame(self) : + frame = gtk.Frame("Material (G4Nist)") + + hbox = gtk.HBox() + frame.add(hbox) + hbox.set_border_width(self.__margin) + + self.material_list = [ "G4_Al", "G4_Si", "G4_Ar", "G4_Cu", "G4_Fe", + "G4_Ge", "G4_Ag", "G4_W", "G4_Au", "G4_Pb", + "G4_AIR", "G4_Galactic", "G4_WATER", "G4_CESIUM_IODIDE", + "G4_SODIUM_IODIDE", "G4_PLASTIC_SC_VINYLTOLUENE", + "G4_MYLAR" ] + + self.material_combo = gtk.combo_box_entry_new_text() + hbox.pack_start(self.material_combo) + for name in self.material_list : + self.material_combo.append_text(name) + self.material_combo.set_active(0) + self.material = self.material_list[0] + self.material_combo.connect("changed", self.cb_select_material) + + return frame + + def create_action_box(self) : + box = gtk.HButtonBox() + box.set_layout(gtk.BUTTONBOX_END) + box.set_spacing(self.__margin) + + exec_button = gtk.Button(stock = gtk.STOCK_EXECUTE) + text_button = gtk.Button("Text View") + quit_button = gtk.Button(stock = gtk.STOCK_QUIT) + box.add(exec_button) + box.add(text_button) + box.add(quit_button) + + exec_button.connect("clicked", self.cb_show_plot) + text_button.connect("clicked", self.cb_show_textview) + quit_button.connect("clicked", lambda w: gtk.main_quit()) + + return box + + # callbacks + def cb_show_textview(self, widget, data=None) : + window = self.textview.get_window() + window.show_all() + + def cb_select_particle(self, widget, data=None) : + self.particle = data + + def cb_select_material(self, widget, data=None) : + entry = widget.get_child() + self.material = entry.get_text() + + def cb_show_plot(self, widget, data=None) : + g4mate = gNistManager.FindOrBuildMaterial(self.material) + if (g4mate == None) : + self.error_dialog.show_all() + return + + if (self.material_list.count(self.material) == 0) : + self.material_combo.append_text(self.material) + + if (self.particle == "gamma" ) : + plot_gamma(self.material) + else : + plot_charged(self.material, self.particle) + self.textview.textbuffer.set_text(mycout.getvalue()) + + def cb_close_dialog(self, widget, data=None) : + widget.hide_all() + + +# ------------------------------------------------------------------- +# text view +# ------------------------------------------------------------------- +class TextView : + def __init__(self) : + self.__margin = 8 + self.text_window = gtk.Window(gtk.WINDOW_TOPLEVEL) + self.text_window.set_title('Value with Text') + self.text_window.set_position(gtk.WIN_POS_MOUSE) + self.text_window.set_default_size(500, 300) + + vbox = gtk.VBox() + self.text_window.add(vbox) + + sw = gtk.ScrolledWindow() + sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) + sw.set_border_width(self.__margin) + vbox.pack_start(sw) + + textview = gtk.TextView() + self.textbuffer = textview.get_buffer() + sw.add(textview) + + hbox = gtk.HButtonBox() + hbox.set_layout(gtk.BUTTONBOX_END) + hbox.set_border_width(self.__margin) + vbox.pack_start(hbox, expand=False) + + close_button = gtk.Button(stock = gtk.STOCK_CLOSE) + close_button.connect("clicked", self.cb_hide_window) + hbox.add(close_button) + + def get_window(self) : + return self.text_window + + def cb_hide_window(self, widget, data=None) : + self.text_window.hide_all() + return False + + +# ================================================================== +# main +# ================================================================== +def main() : + SetG4PyCoutDestination() + + default_stdout = sys.stdout + global mycout + sys.stdout = mycout = StringIO() + + # G4 setup + g4_configure() + + # start GUI + application = MainWindow() + gtk.main() + + gTerminate() + sys.stdout = default_stdout + + +if __name__ == "__main__": + try : + main() + except KeyboardInterrupt : + pass diff --git a/environments/g4py/examples/gdml/GDMLSchema/gdml_extensions.xsd b/environments/g4py/examples/gdml/GDMLSchema/gdml_extensions.xsd index 022a16c4d4..4c537de559 100644 --- a/environments/g4py/examples/gdml/GDMLSchema/gdml_extensions.xsd +++ b/environments/g4py/examples/gdml/GDMLSchema/gdml_extensions.xsd @@ -6,6 +6,7 @@ + @@ -19,7 +20,7 @@ - + diff --git a/environments/g4py/examples/gdml/GDMLSchema/gdml_parameterised.xsd b/environments/g4py/examples/gdml/GDMLSchema/gdml_parameterised.xsd index fbd85afc5c..3ba4bb009a 100644 --- a/environments/g4py/examples/gdml/GDMLSchema/gdml_parameterised.xsd +++ b/environments/g4py/examples/gdml/GDMLSchema/gdml_parameterised.xsd @@ -17,35 +17,194 @@ - Dimensions for parametrised boxes. + Dimensions for parametrised Boxes. - - - + + + + + + + + Dimensions for parametrised Trd. + + + + + + + + + + + + + + + + + + Dimensions for parametrised Trap. + + + + + + + + + + + + + + + + + + + + + - Dimensions for parametrised boxes. + Dimensions for parametrised Tubes. - - - - + + + + + + + + + + Dimensions for parametrised Cones. + + + + + + + + + + + + + + + + + + + + + Dimensions for parametrised Spheres. + + + + + + + + + + + + + + + + + + + + Dimensions for parametrised Orbs. + + + + + + + + + + + + + + Dimensions for parametrised Torus. + + + + + + + + + + + + + + + + + + + Dimensions for parametrised Paras. + + + + + + + + + + + + + + + + + + + + Dimensions for parametrised Hypes. + + + + + + + + + + + + + + + diff --git a/environments/g4py/examples/gdml/GDMLSchema/gdml_solids.xsd b/environments/g4py/examples/gdml/GDMLSchema/gdml_solids.xsd index 4bb08cb8c8..410744a7cd 100644 --- a/environments/g4py/examples/gdml/GDMLSchema/gdml_solids.xsd +++ b/environments/g4py/examples/gdml/GDMLSchema/gdml_solids.xsd @@ -421,6 +421,28 @@ + + + + CSG cone with elliptical cross section + dx semiaxis in X + dy semiaxis in Y + zmax height of elliptical cone + zcut upper cut plane level + + + + + + + + + + + + + + diff --git a/environments/g4py/examples/gdml/python3/read_gdml.py b/environments/g4py/examples/gdml/python3/read_gdml.py new file mode 100755 index 0000000000..df13f7c24f --- /dev/null +++ b/environments/g4py/examples/gdml/python3/read_gdml.py @@ -0,0 +1,54 @@ +#!/usr/bin/python3 +# ================================================================== +# An example for reading a GDML file +# +# ================================================================== +from Geant4 import * +import g4py.ExN01pl, g4py.ParticleGun + +# ================================================================== +# user actions in python +# ================================================================== +class MyDetectorConstruction(G4VUserDetectorConstruction): + "My Detector Construction" + + def __init__(self): + G4VUserDetectorConstruction.__init__(self) + self.world= None + self.gdml_parser= G4GDMLParser() + + # ----------------------------------------------------------------- + def __del__(self): + pass + + # ----------------------------------------------------------------- + def Construct(self): + self.gdml_parser.Read("qgeom.gdml") + self.world= self.gdml_parser.GetWorldVolume() + + return self.world + + +# ================================================================== +# main +# ================================================================== +# set geometry +myDC= MyDetectorConstruction() +gRunManager.SetUserInitialization(myDC) + +# minimal physics list +g4py.ExN01pl.Construct() + +# set primary generator action +g4py.ParticleGun.Construct() + +# initialize +gRunManager.Initialize() + +# visualization +gApplyUICommand("/vis/open OGLIX") +gApplyUICommand("/vis/scene/create") +gApplyUICommand("/vis/scene/add/volume") +gApplyUICommand("/vis/sceneHandler/attach") +gApplyUICommand("/vis/viewer/set/viewpointThetaPhi 90. -90.") + diff --git a/environments/g4py/examples/gdml/python3/write_gdml.py b/environments/g4py/examples/gdml/python3/write_gdml.py new file mode 100755 index 0000000000..0e2bcb74e2 --- /dev/null +++ b/environments/g4py/examples/gdml/python3/write_gdml.py @@ -0,0 +1,41 @@ +#!/usr/bin/python3 +# ================================================================== +# An example of writing a GDML file +# +# ================================================================== +from Geant4 import * +import g4py.Qmaterials, g4py.Qgeom +import g4py.ExN01pl, g4py.ParticleGun + +# ================================================================== +# main +# ================================================================== +# set geometry +g4py.Qmaterials.Construct() +g4py.Qgeom.Construct() + +# minimal physics list +g4py.ExN01pl.Construct() + +# set primary generator action +g4py.ParticleGun.Construct() + +# initialize +gRunManager.Initialize() + +# visualization +gApplyUICommand("/vis/open OGLIX") +gApplyUICommand("/vis/scene/create") +gApplyUICommand("/vis/scene/add/volume") +gApplyUICommand("/vis/sceneHandler/attach") +gApplyUICommand("/vis/viewer/set/viewpointThetaPhi 90. -90.") + +# write to a GDML file +print("\n*** write to a GDML file...") +navigator= gTransportationManager.GetNavigatorForTracking() +world_volume= navigator.GetWorldVolume() + +gdml_parser = G4GDMLParser() +gdml_parser.Write("qgeom.gdml", world_volume) + + diff --git a/environments/g4py/examples/gdml/qgeom.gdml b/environments/g4py/examples/gdml/qgeom.gdml index e50ee66777..03439ea028 100644 --- a/environments/g4py/examples/gdml/qgeom.gdml +++ b/environments/g4py/examples/gdml/qgeom.gdml @@ -1,389 +1,389 @@ - + - + - + - + - + - - + + - + - + - + - - + + - - - - + + + + - - - + + + - - - - - - + + + + + + - - - + + + - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + diff --git a/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.cc b/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.cc index 5aa89775e8..d6a32bff91 100644 --- a/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.cc +++ b/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsListEMlowE.cc,v 1.1 2006/07/12 08:46:18 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: PhysicsListEMlowE.cc,v 1.2 2010/06/21 12:29:42 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // ==================================================================== // PhysicsListEMlowE.cc // @@ -46,7 +46,7 @@ #include "G4LowEnergyIonisation.hh" #include "G4LowEnergyBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" // ==================================================================== // @@ -88,7 +88,7 @@ void PhysicsListEMlowE::ConstructProcess() G4ProcessManager* pm; - // ---------------------------------------------------------- + // ---------------------------------------------------------- // gamma physics // ---------------------------------------------------------- pm= G4Gamma::Gamma()-> GetProcessManager(); @@ -102,7 +102,7 @@ void PhysicsListEMlowE::ConstructProcess() // ---------------------------------------------------------- G4LowEnergyIonisation* eion= new G4LowEnergyIonisation; G4LowEnergyBremsstrahlung* ebrems= new G4LowEnergyBremsstrahlung; - G4MultipleScattering* msc= new G4MultipleScattering; + G4eMultipleScattering* msc= new G4eMultipleScattering; pm= G4Electron::Electron()-> GetProcessManager(); pm-> AddProcess(msc, ordInActive, 1, 1); @@ -114,7 +114,7 @@ void PhysicsListEMlowE::ConstructProcess() // ---------------------------------------------------------- eion= new G4LowEnergyIonisation; ebrems= new G4LowEnergyBremsstrahlung; - msc= new G4MultipleScattering; + msc= new G4eMultipleScattering; G4eplusAnnihilation* annihilation= new G4eplusAnnihilation; pm= G4Positron::Positron()-> GetProcessManager(); diff --git a/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.cc b/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.cc index aa27dbd7fe..6358de468f 100644 --- a/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.cc +++ b/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsListEMstd.cc,v 1.5 2006/07/11 09:55:01 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: PhysicsListEMstd.cc,v 1.6 2010/06/04 05:45:57 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // ==================================================================== // PhysicsListEMstd.cc // @@ -42,7 +42,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" @@ -99,7 +99,7 @@ void PhysicsListEMstd::ConstructProcess() // ---------------------------------------------------------- // electron physics // ---------------------------------------------------------- - G4MultipleScattering* msc= new G4MultipleScattering; + G4eMultipleScattering* msc= new G4eMultipleScattering; G4eIonisation* eion= new G4eIonisation; G4eBremsstrahlung* ebrems= new G4eBremsstrahlung; @@ -111,7 +111,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/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.cc b/environments/g4py/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.cc index 08d416419b..645e17a5ee 100644 --- a/environments/g4py/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.cc +++ b/environments/g4py/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN03PhysicsList.cc,v 1.4 2006/06/29 15:30:01 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExN03PhysicsList.cc,v 1.5 2010/06/04 05:45:57 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -141,7 +141,9 @@ void ExN03PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -171,13 +173,13 @@ void ExN03PhysicsList::ConstructEM() } 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); @@ -185,7 +187,7 @@ void ExN03PhysicsList::ConstructEM() } 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); @@ -194,7 +196,7 @@ void ExN03PhysicsList::ConstructEM() (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/environments/g4py/site-modules/processes/emcalculator/GNUmakefile b/environments/g4py/site-modules/processes/emcalculator/GNUmakefile index 9e27ecaa48..f1de17779e 100644 --- a/environments/g4py/site-modules/processes/emcalculator/GNUmakefile +++ b/environments/g4py/site-modules/processes/emcalculator/GNUmakefile @@ -1,13 +1,28 @@ -# $Id: GNUmakefile,v 1.2 2008/12/03 07:40:49 kmura Exp $ -# $Name: geant4-09-02 $ +# $Id: GNUmakefile,v 1.3 2010/12/02 08:34:07 kmura Exp $ +# $Name: geant4-09-04 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== include ../../../config/config.gmk -install_dir := $(Q_LIBDIR)/g4py +ifeq ($(Q_WITH_PYTHON3), 0) + install_dir := $(Q_LIBDIR)/g4py -include $(G4PY_INSTALL)/config/g4py.gmk -include $(G4PY_INSTALL)/config/sys/$(Q_SYSTEM).gmk -include $(G4PY_INSTALL)/config/script-install.gmk + include $(G4PY_INSTALL)/config/g4py.gmk + include $(G4PY_INSTALL)/config/sys/$(Q_SYSTEM).gmk + include $(G4PY_INSTALL)/config/script-install.gmk +else + +.PHONY: all install clean + +all: + @cd python3 && $(MAKE) + +install: + @cd python3 && $(MAKE) install + +clean: + @cd python3 && $(MAKE) clean + +endif diff --git a/environments/g4py/site-modules/processes/emcalculator/python3/GNUmakefile b/environments/g4py/site-modules/processes/emcalculator/python3/GNUmakefile new file mode 100644 index 0000000000..7c2cc9227c --- /dev/null +++ b/environments/g4py/site-modules/processes/emcalculator/python3/GNUmakefile @@ -0,0 +1,13 @@ +# $Id: GNUmakefile,v 1.1 2010/12/02 08:43:22 kmura Exp $ +# $Name: geant4-09-04 $ +# =========================================================== +# Makefile for building Geant4Py modules +# =========================================================== +include ../../../../config/config.gmk + +install_dir := $(Q_LIBDIR)/g4py + +include $(G4PY_INSTALL)/config/g4py.gmk +include $(G4PY_INSTALL)/config/sys/$(Q_SYSTEM).gmk +include $(G4PY_INSTALL)/config/script-install.gmk + diff --git a/environments/g4py/site-modules/processes/emcalculator/python3/emcalculator.py b/environments/g4py/site-modules/processes/emcalculator/python3/emcalculator.py new file mode 100644 index 0000000000..3e233b3657 --- /dev/null +++ b/environments/g4py/site-modules/processes/emcalculator/python3/emcalculator.py @@ -0,0 +1,150 @@ +#$Id: emcalculator.py,v 1.1 2010/12/02 08:43:22 kmura Exp $ +""" +# ================================================================== +# Python module (Python3) +# +# Calculation of photon cross section and stopping power for +# chared particles +# +# Q, 2005 +# ================================================================== +""" +from Geant4 import * + +# ================================================================== +# public symbols +# ================================================================== +__all__ = [ 'CalculatePhotonCrossSection', 'CalculateDEDX' ] + +# ================================================================== +# Photon Cross Section +# ================================================================== +def CalculatePhotonCrossSection(mat, elist, verbose=0, + plist=["compt", "", "phot", "conv"]): + """ + Calculate photon cross section for a given material and + a list of energy, returing a list of cross sections for + the components of "Copmton scattering", "rayleigh scattering", + "photoelectric effect", "pair creation" and total one. + + Arguments: + mat: material name + elist: list of energy + verbose: verbose level [0] + plist: list of process name + (compton/rayleigh/photoelectic/conversion) [StandardEM set] + + Keys of index: + "compt": Compton Scattering + "rayleigh": Rayleigh Scattering + "phot" : photoelectric effect + "conv" : pair Creation + "tot" : total + + Example: + xsec_list= CalculatePhotonCrossSection(...) + value= xsec_list[energy_index]["compt"] + """ + if(verbose>0): + print("-------------------------------------------------------------------") + print(" Photon Cross Section (", mat, ")") + print("Energy Compton Raleigh Photo- Pair Total") + print(" Scattering Scattering electric Creation") + print("(MeV) (cm2/g) (cm2/g) (cm2/g) (cm2/g) (cm2/g)") + print("-------------------------------------------------------------------") + + xsection_list= [] + for ekin in elist: + xsec= {} + xsec["compt"] \ + = gEmCalculator.ComputeCrossSectionPerVolume(ekin, "gamma", plist[0], + mat) * cm2/g + xsec["rayleigh"] \ + = gEmCalculator.ComputeCrossSectionPerVolume(ekin, "gamma", plist[1], + mat) * cm2/g + + xsec["phot"] \ + = gEmCalculator.ComputeCrossSectionPerVolume(ekin, "gamma", plist[2], + mat) * cm2/g + xsec["conv"] \ + = gEmCalculator.ComputeCrossSectionPerVolume(ekin, "gamma", plist[3], + mat) * cm2/g + + xsec["tot"]= xsec["compt"] + xsec["rayleigh"] + xsec["phot"] + xsec["conv"] + + xsection_list.append((ekin, xsec)) + + if(verbose>0): + print(" %8.3e %8.3e %8.3e %8.3e %8.3e %8.3e" \ + % (ekin/MeV, xsec["compt"]/(cm2/g), xsec["rayleigh"]/(cm2/g), + xsec["phot"]/(cm2/g), xsec["conv"]/(cm2/g), xsec["tot"]/(cm2/g))) + + return xsection_list + + +# ================================================================== +# Stopping Power +# ================================================================== +def CalculateDEDX(part, mat, elist, verbose=0, + plist=["eIoni", "eBrem", "muIoni", "muBrems", "hIoni"]): + """ + Calculate stopping powers for a give particle, material and + a list of energy, returing stopping power for the components of + "Ionization", "Radiation" and total one. + + Arguments: + part: particle name + mat: material name + elist: list of energy + verbose: verbose level [0] + plist: list of process name + (electron ionization/electron brems/ + muon ionization/muon brems/hadron ionization) [StandardEM set] + + Keys of index: + "ioni": ionization + "brems": Bremsstrahlung + "tot": total + + Example: + dedx_list= CalculateDEDX(...) + value= dedx_list[energy_index]["ioni"] + """ + if(verbose>0): + print("------------------------------------------------------") + print(" Stopping Power (", part, ",", mat, ")") + print(" Energy Ionization Radiation Total") + print(" (MeV) (MeVcm2/g) (MeVcm2/g) (MeVcm2/g)") + print("------------------------------------------------------") + + procname_brems= "" + procname_ioni= "" + if ( part=="e+" or part=="e-" ): + procname_ioni= plist[0] + procname_brems= plist[1] + elif ( part=="mu+" or part=="mu-"): + procname_ioni= plist[2] + procname_brems= plist[3] + else: + procname_ioni= plist[4] + procname_brems= "" + + dedx_list= [] + for ekin in elist: + dedx= {} + dedx["ioni"] \ + = gEmCalculator.ComputeDEDX(ekin, part, procname_ioni, mat) * MeV*cm2/g + dedx["brems"] \ + = gEmCalculator.ComputeDEDX(ekin, part, procname_brems, mat) * MeV*cm2/g + dedx["tot"]= dedx["ioni"]+ dedx["brems"] + + if(verbose>0): + print(" %8.3e %8.3e %8.3e %8.3e" \ + % (ekin/MeV, dedx["ioni"]/(MeV*cm2/g), + dedx["brems"]/(MeV*cm2/g), dedx["tot"]/(MeV*cm2/g) )) + + + dedx_list.append((ekin, dedx)) + + return dedx_list + diff --git a/environments/g4py/site-modules/utils/MCScore/GNUmakefile b/environments/g4py/site-modules/utils/MCScore/GNUmakefile index e3c98179cd..290500d8a0 100644 --- a/environments/g4py/site-modules/utils/MCScore/GNUmakefile +++ b/environments/g4py/site-modules/utils/MCScore/GNUmakefile @@ -1,13 +1,28 @@ -# $Id: GNUmakefile,v 1.3 2008/12/03 07:40:49 kmura Exp $ -# $Name: geant4-09-02 $ +# $Id: GNUmakefile,v 1.4 2010/12/02 08:34:07 kmura Exp $ +# $Name: geant4-09-04 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== include ../../../config/config.gmk -install_dir := $(Q_LIBDIR)/g4py +ifeq ($(Q_WITH_PYTHON3), 0) + install_dir := $(Q_LIBDIR)/g4py -include $(G4PY_INSTALL)/config/g4py.gmk -include $(G4PY_INSTALL)/config/sys/$(Q_SYSTEM).gmk -include $(G4PY_INSTALL)/config/script-install.gmk + include $(G4PY_INSTALL)/config/g4py.gmk + include $(G4PY_INSTALL)/config/sys/$(Q_SYSTEM).gmk + include $(G4PY_INSTALL)/config/script-install.gmk +else + +.PHONY: all install clean + +all: + @cd python3 && $(MAKE) + +install: + @cd python3 && $(MAKE) install + +clean: + @cd python3 && $(MAKE) clean + +endif diff --git a/environments/g4py/site-modules/utils/MCScore/python3/GNUmakefile b/environments/g4py/site-modules/utils/MCScore/python3/GNUmakefile new file mode 100644 index 0000000000..508f7583a9 --- /dev/null +++ b/environments/g4py/site-modules/utils/MCScore/python3/GNUmakefile @@ -0,0 +1,13 @@ +# $Id: GNUmakefile,v 1.1 2010/12/02 08:44:17 kmura Exp $ +# $Name: geant4-09-04 $ +# =========================================================== +# Makefile for building Geant4Py modules +# =========================================================== +include ../../../../config/config.gmk + +install_dir := $(Q_LIBDIR)/g4py + +include $(G4PY_INSTALL)/config/g4py.gmk +include $(G4PY_INSTALL)/config/sys/$(Q_SYSTEM).gmk +include $(G4PY_INSTALL)/config/script-install.gmk + diff --git a/environments/g4py/site-modules/utils/MCScore/python3/mcscore.py b/environments/g4py/site-modules/utils/MCScore/python3/mcscore.py new file mode 100644 index 0000000000..eb9321cb64 --- /dev/null +++ b/environments/g4py/site-modules/utils/MCScore/python3/mcscore.py @@ -0,0 +1,136 @@ +""" +Python module (Python3) + +This module provides classes and functions for scoring reactions + + [C] MCVertex: + [C] MCParticle: + [f] read_next_vertex(stream): + + Q, 2006 +""" +import string +from Geant4.hepunit import * + +# ================================================================== +# public symbols +# ================================================================== +__all__ = [ 'MCParticle', 'MCVertex', 'read_next_vertex' ] + + +# ================================================================== +# class definition +# ================================================================== + +# ------------------------------------------------------------------ +# MCParticle +# ------------------------------------------------------------------ +class MCParticle: + "MC particle" + def __init__(self, aname, aZ, aA, akE, apx, apy, apz): + self.name = aname + self.Z = aZ + self.A = aA + self.kineticE = akE + self.px = apx + self.py = apy + self.pz = apz + + def printout(self): + print("--- particle: %s, Z=%2d, A=%2d, kE=%g" % \ + (self.name, self.Z, self.A, self.kineticE/MeV)) + +# ------------------------------------------------------------------ +# MCVertex +# ------------------------------------------------------------------ +class MCVertex : + "MC vertex" + def __init__(self, ax, ay, az): + self.x = ax + self.y = ay + self.z = az + self.nparticle = 0 + self.particle_list = [] + + def append_particle(self, aparticle): + self.particle_list.append(aparticle) + self.nparticle= self.nparticle+1 + + def printout(self): + print("@@@ vertex: x=(%g,%g,%g) Nsec=%3d" % \ + (self.x/cm, self.y/cm, self.z/cm, self.nparticle)) + for p in self.particle_list: + p.printout() + + def dump_vertex(self, stream): + aline = "%g %g %g %d\n" % \ + (self.x/m, self.y/m, self.z/m, self.nparticle) + stream.write(aline) + for p in self.particle_list: + aline = " %s %d %d %g %g %g %g\n" % \ + (p.name, p.Z, p.A, p.kineticE/MeV, p.px/MeV, p.py/MeV, p.pz/MeV) + stream.write(aline) + + def __del__(self): + np = len(self.particle_list) + del self.particle_list[0:np] + + +# ================================================================== +# I/O interface +# ================================================================== +def read_next_vertex(stream): + "read next vertex from a file stream" + line= stream.readline() + if line == "": # EOF + return 0 + + # reading vertex + data = line.split() + x = string.atof(data[0]) * m + y = string.atof(data[1]) * m + z = string.atof(data[2]) * m + nsec = string.atoi(data[3]) + + vertex = MCVertex(x,y,z) + + # reading particles + for p in range(0, nsec): + data = stream.readline().split() + pname = data[0] + Z = string.atoi(data[1]) + A = string.atoi(data[2]) + kE = string.atof(data[3]) * MeV + px = string.atof(data[4]) * MeV + py = string.atof(data[5]) * MeV + pz = string.atof(data[6]) * MeV + + particle = MCParticle(pname, Z, A, kE, px, py, pz) + vertex.append_particle(particle) + + return vertex + + +# ================================================================== +# test +# ================================================================== +def test(): + f = open("reaction.dat") + f.seek(0) + + while(1): + vertex = read_next_vertex(f) + if vertex == 0: + break + vertex.printout() + del vertex + f.close() + print(">>> EOF") + + +# ================================================================== +# main +# ================================================================== +if __name__ == "__main__": + test() + diff --git a/environments/g4py/source/GNUmakefile b/environments/g4py/source/GNUmakefile index 64b3fed334..450b55936c 100644 --- a/environments/g4py/source/GNUmakefile +++ b/environments/g4py/source/GNUmakefile @@ -1,5 +1,5 @@ -# $Id: GNUmakefile,v 1.8 2008/12/03 07:33:39 kmura Exp $ -# $Name: geant4-09-02 $ +# $Id: GNUmakefile,v 1.9 2010/12/02 08:21:04 kmura Exp $ +# $Name: geant4-09-04 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== @@ -8,7 +8,12 @@ include ../config/config.gmk SUBDIR1 := global interface intercoms run event tracking track SUBDIR1 += geometry materials particles processes digits_hits SUBDIR2 := visualization graphics_reps physics_lists gdml -SUBDIR3 := python + +ifeq ($(Q_WITH_PYTHON3), 0) + SUBDIR3 := python +else + SUBDIR3 := python3 +endif .PHONY: all install clean diff --git a/environments/g4py/source/gdml/pyG4GDMLParser.cc b/environments/g4py/source/gdml/pyG4GDMLParser.cc index 42ae8765dd..02ba3d41aa 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.3 2008/12/12 02:26:34 kmura Exp $ -// $Name: geant4-09-03 $ +// $Id: pyG4GDMLParser.cc,v 1.5 2010/12/02 08:24:22 kmura Exp $ +// $Name: geant4-09-04 $ // ==================================================================== // pyG4GDMLParser.cc // @@ -34,6 +34,8 @@ #include #include "G4GDMLParser.hh" +#include "G4LogicalVolume.hh" +#include "G4Material.hh" #include "G4Version.hh" using namespace boost::python; @@ -43,14 +45,28 @@ using namespace boost::python; // ==================================================================== namespace pyG4GDMLParser { +BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_GetWorldVolume, + GetWorldVolume, 0, 1); + +#if G4VERSION_NUMBER >= 940 +void (G4GDMLParser::*f1_Write) + (const G4String&, const G4VPhysicalVolume*, G4bool, + const G4String&) = &G4GDMLParser::Write; + +void (G4GDMLParser::*f2_Write) + (const G4String&, const G4LogicalVolume*, G4bool, + const G4String&) = &G4GDMLParser::Write; + +BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(g_Write, Write, 2, 4); +#endif + + #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); } using namespace pyG4GDMLParser; @@ -63,15 +79,24 @@ void export_G4GDMLParser() class_ ("G4GDMLParser", "GDML parser") // --- -#if G4VERSION_NUMBNER < 920 +#if G4VERSION_NUMBER < 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 + +#if G4VERSION_NUMBER >= 920 +#if G4VERSION_NUMBER >= 940 + .def("Write", f1_Write, f_Write()) + .def("Write", f2_Write, g_Write()) +#else + .def("Write", &G4GDMLParser::Write, f_Write()) +#endif +#endif + .def("GetWorldVolume", &G4GDMLParser::GetWorldVolume, f_GetWorldVolume() [return_value_policy()]) diff --git a/environments/g4py/source/graphics_reps/pyG4VisAttributes.cc b/environments/g4py/source/graphics_reps/pyG4VisAttributes.cc index d7b0bc9b19..fe2938361e 100644 --- a/environments/g4py/source/graphics_reps/pyG4VisAttributes.cc +++ b/environments/g4py/source/graphics_reps/pyG4VisAttributes.cc @@ -23,14 +23,15 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pyG4VisAttributes.cc,v 1.4 2006/06/29 15:33:57 gunter Exp $ -// $Name: geant4-09-02 $ +// $Id: pyG4VisAttributes.cc,v 1.5 2010/12/02 08:23:49 kmura Exp $ +// $Name: geant4-09-04 $ // ==================================================================== // pyG4VisAttributes.cc // // 2005 Q // ==================================================================== #include +#include "G4AttDef.hh" #include "G4VisAttributes.hh" using namespace boost::python; diff --git a/environments/g4py/source/physics_lists/pyPhysicsLists.cc b/environments/g4py/source/physics_lists/pyPhysicsLists.cc index 2dcfee85ed..39c195db59 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.9 2009/11/20 03:36:51 kmura Exp $ -// $Name: geant4-09-03 $ +// $Id: pyPhysicsLists.cc,v 1.13 2010/12/02 08:24:22 kmura Exp $ +// $Name: geant4-09-04 $ // ==================================================================== // pyPhysicsLists.cc // @@ -35,62 +35,46 @@ #include #include -#if G4VERSION_NUMBER >= 820 +#include "G4HadronCaptureProcess.hh" +#include "G4HadronQElasticPhysics.hh" -#include "G4HadronInelasticQBBC.hh" -#include "G4HadronInelasticQLHEP.hh" - -#include "FTFC.hh" -#include "FTFP.hh" #include "LBE.hh" #include "LHEP.hh" -#include "LHEP_BERT.hh" -#include "LHEP_BERT_HP.hh" #include "LHEP_EMV.hh" -#include "LHEP_PRECO_HP.hh" #include "QBBC.hh" -#include "QGSC.hh" -#include "QGSC_EFLOW.hh" -#include "QGSC_EMV.hh" #include "QGSP.hh" #include "QGSP_BERT.hh" #include "QGSP_BERT_HP.hh" #include "QGSP_BIC.hh" #include "QGSP_BIC_HP.hh" -#include "QGSP_EMV.hh" -#include "QGSP_EMX.hh" #include "QGSP_QEL.hh" - -#if G4VERSION_NUMBER <= 830 -#include "LHEP_BIC.hh" -#include "LHEP_BIC_HP.hh" -#include "LHEP_HP.hh" -#include "LHEP_LEAD.hh" -#include "LHEP_LEAD_HP.hh" -#include "LHEP_PRECO.hh" -#include "QGSC_LEAD.hh" -#include "QGSC_LEAD_HP.hh" -#include "QGSP_HP.hh" -#endif - -#endif - -#if G4VERSION_NUMBER >= 830 -#include "FTFP_EMV.hh" #include "QGSP_BERT_EMV.hh" -#include "QGSP_BERT_NQE.hh" #include "QGSP_BERT_TRV.hh" -#include "QGSP_EMV_NQE.hh" -#include "QGSP_NQE.hh" -#endif + +// dropped at 9.4 +//#include "FTFC.hh" +//#include "FTFP.hh" +//#include "LHEP_BERT.hh" +//#include "LHEP_BERT_HP.hh" +//#include "LHEP_PRECO_HP.hh" +//#include "QGSC.hh" +//#include "QGSC_EMV.hh" +//#include "QGSP_EMV.hh" +//#include "QGSC_EFLOW.hh" +//#include "QGSP_EMX.hh" +//#include "FTFP_EMV.hh" +//#include "QGSP_BERT_NQE.hh" +//#include "QGSP_EMV_NQE.hh" +//#include "QGSP_NQE.hh" #if G4VERSION_NUMBER >= 910 #include "FTFP_BERT.hh" #include "FTF_BIC.hh" #include "QGSC_BERT.hh" #include "QGS_BIC.hh" -#include "QGSP_DIF.hh" -#include "QGSP_BERT_DIF.hh" +// dropped at 9.4 +//#include "QGSP_DIF.hh" +//#include "QGSP_BERT_DIF.hh" #endif #if G4VERSION_NUMBER >= 930 @@ -99,12 +83,17 @@ #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" +// dropped at 9.4 +//#include "QGSC_QGSC.hh" +#endif + +#if G4VERSION_NUMBER >= 940 +#include "QGSP_BERT_CHIPS.hh" #endif // macro for adding physics lists @@ -144,58 +133,41 @@ void export_PhysicsLists() { def("ListPhysicsList", ListPhysicsList); -#if G4VERSION_NUMBER >= 820 - ADD_PHYSICS_LIST(FTFC); - ADD_PHYSICS_LIST(FTFP); ADD_PHYSICS_LIST(LBE); ADD_PHYSICS_LIST(LHEP); - ADD_PHYSICS_LIST(LHEP_BERT); - ADD_PHYSICS_LIST(LHEP_BERT_HP); ADD_PHYSICS_LIST(LHEP_EMV); - ADD_PHYSICS_LIST(LHEP_PRECO_HP); ADD_PHYSICS_LIST(QBBC); - ADD_PHYSICS_LIST(QGSC); - ADD_PHYSICS_LIST(QGSC_EFLOW); - ADD_PHYSICS_LIST(QGSC_EMV); ADD_PHYSICS_LIST(QGSP); ADD_PHYSICS_LIST(QGSP_BERT); ADD_PHYSICS_LIST(QGSP_BERT_HP); ADD_PHYSICS_LIST(QGSP_BIC); ADD_PHYSICS_LIST(QGSP_BIC_HP); - ADD_PHYSICS_LIST(QGSP_EMV); - ADD_PHYSICS_LIST(QGSP_EMX); ADD_PHYSICS_LIST(QGSP_QEL); - -#if G4VERSION_NUMBER <= 830 - ADD_PHYSICS_LIST(LHEP_BIC); - ADD_PHYSICS_LIST(LHEP_BIC_HP); - ADD_PHYSICS_LIST(LHEP_HP); - ADD_PHYSICS_LIST(LHEP_LEAD); - ADD_PHYSICS_LIST(LHEP_LEAD_HP); - ADD_PHYSICS_LIST(LHEP_PRECO); - ADD_PHYSICS_LIST(QGSC_LEAD); - ADD_PHYSICS_LIST(QGSC_LEAD_HP); - ADD_PHYSICS_LIST(QGSP_HP); -#endif - -#endif - -#if G4VERSION_NUMBER >= 830 - ADD_PHYSICS_LIST(FTFP_EMV); ADD_PHYSICS_LIST(QGSP_BERT_EMV); - ADD_PHYSICS_LIST(QGSP_BERT_NQE); ADD_PHYSICS_LIST(QGSP_BERT_TRV); - ADD_PHYSICS_LIST(QGSP_EMV_NQE); - ADD_PHYSICS_LIST(QGSP_NQE); -#endif + + //ADD_PHYSICS_LIST(FTFC); + //ADD_PHYSICS_LIST(FTFP); + //ADD_PHYSICS_LIST(LHEP_BERT); + //ADD_PHYSICS_LIST(LHEP_BERT_HP); + //ADD_PHYSICS_LIST(LHEP_PRECO_HP); + //ADD_PHYSICS_LIST(QGSC); + //ADD_PHYSICS_LIST(QGSC_EMV); + //ADD_PHYSICS_LIST(QGSP_EMV); + //ADD_PHYSICS_LIST(QGSC_EFLOW); + //ADD_PHYSICS_LIST(QGSP_EMX); + //ADD_PHYSICS_LIST(FTFP_EMV); + //ADD_PHYSICS_LIST(QGSP_BERT_NQE); + //ADD_PHYSICS_LIST(QGSP_EMV_NQE); + //ADD_PHYSICS_LIST(QGSP_NQE); #if G4VERSION_NUMBER >= 910 ADD_PHYSICS_LIST(FTFP_BERT); ADD_PHYSICS_LIST(FTF_BIC); ADD_PHYSICS_LIST(QGSC_BERT); ADD_PHYSICS_LIST(QGS_BIC); - ADD_PHYSICS_LIST(QGSP_DIF); - ADD_PHYSICS_LIST(QGSP_BERT_DIF); + //ADD_PHYSICS_LIST(QGSP_DIF); + //ADD_PHYSICS_LIST(QGSP_BERT_DIF); #endif #if G4VERSION_NUMBER >= 930 @@ -204,12 +176,16 @@ void export_PhysicsLists() 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); + //ADD_PHYSICS_LIST(QGSC_QGSC); +#endif + +#if G4VERSION_NUMBER >= 940 + ADD_PHYSICS_LIST(QGSP_BERT_CHIPS); #endif // sort PL vector diff --git a/environments/g4py/source/python/__init__.py b/environments/g4py/source/python/__init__.py index e3b3d005fa..aabc5fce4f 100644 --- a/environments/g4py/source/python/__init__.py +++ b/environments/g4py/source/python/__init__.py @@ -8,12 +8,10 @@ # Hava A Fun! # ================================================================== """ -# $Id: __init__.py,v 1.21 2009/11/20 03:36:51 kmura Exp $ -__version__ ='9.3.0' -__date__ = '1/Dec/2009' +# $Id: __init__.py,v 1.23 2010/12/02 08:24:22 kmura Exp $ +__version__ ='9.4.0' +__date__ = '17/December/2010' __author__ = 'K.Murakami (Koichi.Murakami@kek.jp)' -__url__ = 'http://www-geant4.kek.jp/projects/Geant4Py/' - # import submodules from G4interface import * @@ -42,9 +40,8 @@ def print_version(): Version : %s Date : %s Contact : %s - WWW : %s ============================================================= -""" % ( __version__, __date__, __author__, __url__) +""" % ( __version__, __date__, __author__) # ================================================================== # initialize @@ -236,12 +233,12 @@ import signal import threading def _run_abort(signum, frame): - state = gStateManager.GetCurrentState(); + state = gStateManager.GetCurrentState() if(state == G4ApplicationState.G4State_GeomClosed or state == G4ApplicationState.G4State_EventProc): - print "aborting Run ..."; - gRunManager.AbortRun(True); + print "aborting Run ..." + gRunManager.AbortRun(True) else: raise KeyboardInterrupt diff --git a/environments/g4py/source/python3/GNUmakefile b/environments/g4py/source/python3/GNUmakefile new file mode 100644 index 0000000000..e4bafb91a9 --- /dev/null +++ b/environments/g4py/source/python3/GNUmakefile @@ -0,0 +1,13 @@ +# $Id: GNUmakefile,v 1.1 2010/12/02 08:22:21 kmura Exp $ +# $Name: geant4-09-04 $ +# =========================================================== +# Makefile for building Geant4Py modules +# =========================================================== +include ../../config/config.gmk + +install_dir := $(Q_LIBDIR)/Geant4 + +include $(G4PY_INSTALL)/config/g4py.gmk +include $(G4PY_INSTALL)/config/sys/$(Q_SYSTEM).gmk +include $(G4PY_INSTALL)/config/script-install.gmk + diff --git a/environments/g4py/source/python3/__init__.py b/environments/g4py/source/python3/__init__.py new file mode 100644 index 0000000000..38d6ca7719 --- /dev/null +++ b/environments/g4py/source/python3/__init__.py @@ -0,0 +1,246 @@ +""" +# ================================================================== +# [Geant4] module package +# +# Welcome to Geant4Py. +# +# This package contains a set of Python interface with Geant4. +# Hava A Fun! +# ================================================================== +""" +# $Id: __init__.py,v 1.1 2010/12/02 08:22:21 kmura Exp $ +__version__ ='9.4.0' +__date__ = '17/December/2010' +__author__ = 'K.Murakami (Koichi.Murakami@kek.jp)' + +# import submodules +from .G4interface import * +from .G4intercoms import * +from .G4global import * +from .G4run import * +from .G4event import * +from .G4tracking import * +from .G4track import * +from .G4particles import * +from .G4processes import * +from .G4geometry import * +from .G4materials import * +from .G4physicslists import * +from .G4digits_hits import * +from .G4visualization import * +from .G4gdml import * +from .G4graphics_reps import * +from .hepunit import * +from .colortable import * + +def print_version(): + print("""============================================================= + Welcome to Geant4Py (A Geant4-Python Bridge) + + Version : %s + Date : %s + Contact : %s +============================================================= +""" % ( __version__, __date__, __author__) ) + +# ================================================================== +# initialize +# ================================================================== +# set G4cout/G4cerr to Python stdout +SetG4PyCoutDestination() + +# ================================================================== +# globals, which start with "g" +# ================================================================== +# gRunManager +if G4RunManager.GetRunManager() == None: + gRunManager = G4RunManager() +else: + gRunManager = G4RunManager.GetRunManager() +gRunManagerKernel = G4RunManagerKernel.GetRunManagerKernel() + +# gUImanager +gUImanager = G4UImanager.GetUIpointer() + +# gEventManager +gEventManager = G4EventManager.GetEventManager() + +# gStackManager +gStackManager = gEventManager.GetStackManager() + +# gTrackingManager +gTrackingManager = gEventManager.GetTrackingManager() + +# gStateManager +gStateManager = G4StateManager.GetStateManager() +gExceptionHandler = G4ExceptionHandler() # automatically registered + +# gGeometryManager +gGeometryManager = G4GeometryManager.GetInstance() + +# gTransportationManager +gTransportationManager = G4TransportationManager.GetTransportationManager() + +# gParticleTable +gParticleTable = G4ParticleTable.GetParticleTable() +gParticleIterator = PyG4ParticleList() + +# gProcessTable +gProcessTable = G4ProcessTable.GetProcessTable() + +# gLossTableManager +gLossTableManager = G4LossTableManager.Instance() + +# gProductionCutsTable +gProductionCutsTable = G4ProductionCutsTable.GetProductionCutsTable() + +# gEmCalculator +gEmCalculator = G4EmCalculator() + +# gMaterial/ElementTable +gMaterialTable = G4Material.GetMaterialTable() +gElementTable = G4Element.GetElementTable() + +# gNistManager (since 7.1) +_material_class_list = dir(G4materials) +_qfind = _material_class_list.count("G4NistManager") > 0 +if _qfind: + gNistManager = G4NistManager.Instance() + +# gVisManager +_visdriver_list = dir(G4visualization) +_q_opengl_ix = "G4OpenGLImmediateX" in _visdriver_list +_q_opengl_sx = "G4OpenGLStoredX" in _visdriver_list +_q_opengl_ixm = "G4OpenGLImmediateXm" in _visdriver_list +_q_opengl_sxm = "G4OpenGLStoredXm" in _visdriver_list +_q_raytracer_x = "G4RayTracerX" in _visdriver_list + +if G4VisManager.GetConcreteInstance() == None: + gVisManager = G4VisManager() + if _q_opengl_ix: + _opengl_ix = G4OpenGLImmediateX() + if _q_opengl_sx: + _opengl_sx = G4OpenGLStoredX() + if _q_opengl_ixm: + _opengl_ixm = G4OpenGLImmediateXm() + if _q_opengl_sxm: + _opengl_sxm = G4OpenGLStoredXm() + if _q_raytracer_x: + _raytracer_x = G4RayTracerX() + + _vrml1 = G4VRML1File() + _vrml2 = G4VRML2File() + _dawn = G4DAWNFILE() + _heprep_xml = G4HepRep() + _heprep_file = G4HepRepFile() + _atree = G4ASCIITree() + _raytracer = G4RayTracer() + + if _q_opengl_ix: + gVisManager.RegisterGraphicsSystem(_opengl_ix) + if _q_opengl_sx: + gVisManager.RegisterGraphicsSystem(_opengl_sx) + if _q_opengl_ixm: + gVisManager.RegisterGraphicsSystem(_opengl_ixm) + if _q_opengl_sxm: + gVisManager.RegisterGraphicsSystem(_opengl_sxm) + if _q_raytracer_x: + gVisManager.RegisterGraphicsSystem(_raytracer_x) + + gVisManager.RegisterGraphicsSystem(_vrml1) + gVisManager.RegisterGraphicsSystem(_vrml2) + gVisManager.RegisterGraphicsSystem(_dawn) + gVisManager.RegisterGraphicsSystem(_heprep_xml) + gVisManager.RegisterGraphicsSystem(_heprep_file) + gVisManager.RegisterGraphicsSystem(_atree) + gVisManager.RegisterGraphicsSystem(_raytracer) + + gVisManager.Initialize() + +# version information +gG4Version = G4Version +gG4Date = G4Date +gG4VERSION_NUMBER = G4VERSION_NUMBER + +# ------------------------------------------------------------------ +# functions +# ------------------------------------------------------------------ +gControlExecute = gUImanager.ExecuteMacroFile +gApplyUICommand = G4intercoms.ApplyUICommand +gGetCurrentValues = gUImanager.GetCurrentValues +gStartUISession = G4interface.StartUISession + + +# ================================================================== +# extentions +# ================================================================== + +# ------------------------------------------------------------------ +# generate one event +# ------------------------------------------------------------------ +def _one_event(self): + "generate one event." + self.BeamOn(1) + +G4RunManager.OneEvent = _one_event + +# ------------------------------------------------------------------ +# list material information +# ------------------------------------------------------------------ +def _list_material(self): + "list materials." + n_materials = len(gMaterialTable) + print(" +------------------------------------------------------------------") + print(" | Table of G4Material-s (%d materails defined)" % (n_materials)) + for i in range(0, n_materials) : + material = gMaterialTable[i] + print(" |--------------------------------------------------------"\ + "----------") + print(" | %s: %s" % (material.GetName(), + G4BestUnit(material.GetDensity(),"Volumic Mass"))) + + elementVec = material.GetElementVector() + fractionVec = material.GetFractionVector() + abundanceVec = material.GetVecNbOfAtomsPerVolume() + totNAtoms = material.GetTotNbOfAtomsPerVolume() + + n_elements = len(elementVec) + for j in range(0, n_elements): + print(" | + (%1d) %s(%s): A=%4.1f, N=%5.1f, " \ + "Frac.=(%4.1f%%m,%4.1f%%a)" % \ + (j+1, elementVec[j].GetName(), elementVec[j].GetSymbol(), + elementVec[j].GetZ(), + elementVec[j].GetN(), + fractionVec[j]/hepunit.perCent, + abundanceVec[j]/totNAtoms/hepunit.perCent)) + + print(" +------------------------------------------------------------------") + +G4MaterialTable.ListMaterial = _list_material + + +# ------------------------------------------------------------------ +# termination +# ------------------------------------------------------------------ +def gTerminate(): + gGeometryManager.OpenGeometry() + + +# ------------------------------------------------------------------ +# signal handler +# ------------------------------------------------------------------ +import signal +import threading + +def _run_abort(signum, frame): + state = gStateManager.GetCurrentState() + + if(state == G4ApplicationState.G4State_GeomClosed or + state == G4ApplicationState.G4State_EventProc): + print("aborting Run ...") + gRunManager.AbortRun(True) + else: + raise KeyboardInterrupt + +if (threading.activeCount() == 1): + signal.signal(signal.SIGINT, _run_abort) diff --git a/environments/g4py/source/python3/colortable.py b/environments/g4py/source/python3/colortable.py new file mode 100644 index 0000000000..bc44a29267 --- /dev/null +++ b/environments/g4py/source/python3/colortable.py @@ -0,0 +1,778 @@ +""" +# ================================================================== +# Python module +# +# color table +# +# Q, 2005 +# ================================================================== +""" +#$Id: colortable.py,v 1.1 2010/12/02 08:22:21 kmura Exp $ + + +def int_rgb(name): + return _colortable[name] + + +def float_rgb(name): + rgb = _colortable[name] + return (rgb[0]/255., rgb[1]/255., rgb[2]/255.) + + +# ================================================================== +# RGB color table (/usr/lib/X11/rgb.txt) +# ================================================================== +_colortable = { } +_colortable["snow"] = (255, 250, 250) +_colortable["ghost"] = (248, 248, 255) +_colortable["GhostWhite"] = (248, 248, 255) +_colortable["white"] = (245, 245, 245) +_colortable["WhiteSmoke"] = (245, 245, 245) +_colortable["gainsboro"] = (220, 220, 220) +_colortable["floral"] = (255, 250, 240) +_colortable["FloralWhite"] = (255, 250, 240) +_colortable["old"] = (253, 245, 230) +_colortable["OldLace"] = (253, 245, 230) +_colortable["linen"] = (250, 240, 230) +_colortable["antique"] = (250, 235, 215) +_colortable["AntiqueWhite"] = (250, 235, 215) +_colortable["papaya"] = (255, 239, 213) +_colortable["PapayaWhip"] = (255, 239, 213) +_colortable["blanched"] = (255, 235, 205) +_colortable["BlanchedAlmond"] = (255, 235, 205) +_colortable["bisque"] = (255, 228, 196) +_colortable["peach"] = (255, 218, 185) +_colortable["PeachPuff"] = (255, 218, 185) +_colortable["navajo"] = (255, 222, 173) +_colortable["NavajoWhite"] = (255, 222, 173) +_colortable["moccasin"] = (255, 228, 181) +_colortable["cornsilk"] = (255, 248, 220) +_colortable["ivory"] = (255, 255, 240) +_colortable["lemon"] = (255, 250, 205) +_colortable["LemonChiffon"] = (255, 250, 205) +_colortable["seashell"] = (255, 245, 238) +_colortable["honeydew"] = (240, 255, 240) +_colortable["mint"] = (245, 255, 250) +_colortable["MintCream"] = (245, 255, 250) +_colortable["azure"] = (240, 255, 255) +_colortable["alice"] = (240, 248, 255) +_colortable["AliceBlue"] = (240, 248, 255) +_colortable["lavender"] = (230, 230, 250) +_colortable["lavender"] = (255, 240, 245) +_colortable["LavenderBlush"] = (255, 240, 245) +_colortable["misty"] = (255, 228, 225) +_colortable["MistyRose"] = (255, 228, 225) +_colortable["white"] = (255, 255, 255) +_colortable["black"] = (0, 0, 0) +_colortable["dark"] = (47, 79, 79) +_colortable["DarkSlateGray"] = (47, 79, 79) +_colortable["dark"] = (47, 79, 79) +_colortable["DarkSlateGrey"] = (47, 79, 79) +_colortable["dim"] = (105, 105, 105) +_colortable["DimGray"] = (105, 105, 105) +_colortable["dim"] = (105, 105, 105) +_colortable["DimGrey"] = (105, 105, 105) +_colortable["slate"] = (112, 128, 144) +_colortable["SlateGray"] = (112, 128, 144) +_colortable["slate"] = (112, 128, 144) +_colortable["SlateGrey"] = (112, 128, 144) +_colortable["light"] = (119, 136, 153) +_colortable["LightSlateGray"] = (119, 136, 153) +_colortable["light"] = (119, 136, 153) +_colortable["LightSlateGrey"] = (119, 136, 153) +_colortable["gray"] = (190, 190, 190) +_colortable["grey"] = (190, 190, 190) +_colortable["light"] = (211, 211, 211) +_colortable["LightGrey"] = (211, 211, 211) +_colortable["light"] = (211, 211, 211) +_colortable["LightGray"] = (211, 211, 211) +_colortable["midnight"] = (25, 25, 112) +_colortable["MidnightBlue"] = (25, 25, 112) +_colortable["navy"] = (0, 0, 128) +_colortable["navy"] = (0, 0, 128) +_colortable["NavyBlue"] = (0, 0, 128) +_colortable["cornflower"] = (100, 149, 237) +_colortable["CornflowerBlue"] = (100, 149, 237) +_colortable["dark"] = (72, 61, 139) +_colortable["DarkSlateBlue"] = (72, 61, 139) +_colortable["slate"] = (106, 90, 205) +_colortable["SlateBlue"] = (106, 90, 205) +_colortable["medium"] = (123, 104, 238) +_colortable["MediumSlateBlue"] = (123, 104, 238) +_colortable["light"] = (132, 112, 255) +_colortable["LightSlateBlue"] = (132, 112, 255) +_colortable["medium"] = (0, 0, 205) +_colortable["MediumBlue"] = (0, 0, 205) +_colortable["royal"] = (65, 105, 225) +_colortable["RoyalBlue"] = (65, 105, 225) +_colortable["blue"] = (0, 0, 255) +_colortable["dodger"] = (30, 144, 255) +_colortable["DodgerBlue"] = (30, 144, 255) +_colortable["deep"] = (0, 191, 255) +_colortable["DeepSkyBlue"] = (0, 191, 255) +_colortable["sky"] = (135, 206, 235) +_colortable["SkyBlue"] = (135, 206, 235) +_colortable["light"] = (135, 206, 250) +_colortable["LightSkyBlue"] = (135, 206, 250) +_colortable["steel"] = (70, 130, 180) +_colortable["SteelBlue"] = (70, 130, 180) +_colortable["light"] = (176, 196, 222) +_colortable["LightSteelBlue"] = (176, 196, 222) +_colortable["light"] = (173, 216, 230) +_colortable["LightBlue"] = (173, 216, 230) +_colortable["powder"] = (176, 224, 230) +_colortable["PowderBlue"] = (176, 224, 230) +_colortable["pale"] = (175, 238, 238) +_colortable["PaleTurquoise"] = (175, 238, 238) +_colortable["dark"] = (0, 206, 209) +_colortable["DarkTurquoise"] = (0, 206, 209) +_colortable["medium"] = (72, 209, 204) +_colortable["MediumTurquoise"] = (72, 209, 204) +_colortable["turquoise"] = (64, 224, 208) +_colortable["cyan"] = (0, 255, 255) +_colortable["light"] = (224, 255, 255) +_colortable["LightCyan"] = (224, 255, 255) +_colortable["cadet"] = (95, 158, 160) +_colortable["CadetBlue"] = (95, 158, 160) +_colortable["medium"] = (102, 205, 170) +_colortable["MediumAquamarine"] = (102, 205, 170) +_colortable["aquamarine"] = (127, 255, 212) +_colortable["dark"] = (0, 100, 0) +_colortable["DarkGreen"] = (0, 100, 0) +_colortable["dark"] = (85, 107, 47) +_colortable["DarkOliveGreen"] = (85, 107, 47) +_colortable["dark"] = (143, 188, 143) +_colortable["DarkSeaGreen"] = (143, 188, 143) +_colortable["sea"] = (46, 139, 87) +_colortable["SeaGreen"] = (46, 139, 87) +_colortable["medium"] = (60, 179, 113) +_colortable["MediumSeaGreen"] = (60, 179, 113) +_colortable["light"] = (32, 178, 170) +_colortable["LightSeaGreen"] = (32, 178, 170) +_colortable["pale"] = (152, 251, 152) +_colortable["PaleGreen"] = (152, 251, 152) +_colortable["spring"] = (0, 255, 127) +_colortable["SpringGreen"] = (0, 255, 127) +_colortable["lawn"] = (124, 252, 0) +_colortable["LawnGreen"] = (124, 252, 0) +_colortable["green"] = (0, 255, 0) +_colortable["chartreuse"] = (127, 255, 0) +_colortable["medium"] = (0, 250, 154) +_colortable["MediumSpringGreen"] = (0, 250, 154) +_colortable["green"] = (173, 255, 47) +_colortable["GreenYellow"] = (173, 255, 47) +_colortable["lime"] = (50, 205, 50) +_colortable["LimeGreen"] = (50, 205, 50) +_colortable["yellow"] = (154, 205, 50) +_colortable["YellowGreen"] = (154, 205, 50) +_colortable["forest"] = (34, 139, 34) +_colortable["ForestGreen"] = (34, 139, 34) +_colortable["olive"] = (107, 142, 35) +_colortable["OliveDrab"] = (107, 142, 35) +_colortable["dark"] = (189, 183, 107) +_colortable["DarkKhaki"] = (189, 183, 107) +_colortable["khaki"] = (240, 230, 140) +_colortable["pale"] = (238, 232, 170) +_colortable["PaleGoldenrod"] = (238, 232, 170) +_colortable["light"] = (250, 250, 210) +_colortable["LightGoldenrodYellow"] = (250, 250, 210) +_colortable["light"] = (255, 255, 224) +_colortable["LightYellow"] = (255, 255, 224) +_colortable["yellow"] = (255, 255, 0) +_colortable["gold"] = (255, 215, 0) +_colortable["light"] = (238, 221, 130) +_colortable["LightGoldenrod"] = (238, 221, 130) +_colortable["goldenrod"] = (218, 165, 32) +_colortable["dark"] = (184, 134, 11) +_colortable["DarkGoldenrod"] = (184, 134, 11) +_colortable["rosy"] = (188, 143, 143) +_colortable["RosyBrown"] = (188, 143, 143) +_colortable["indian"] = (205, 92, 92) +_colortable["IndianRed"] = (205, 92, 92) +_colortable["saddle"] = (139, 69, 19) +_colortable["SaddleBrown"] = (139, 69, 19) +_colortable["sienna"] = (160, 82, 45) +_colortable["peru"] = (205, 133, 63) +_colortable["burlywood"] = (222, 184, 135) +_colortable["beige"] = (245, 245, 220) +_colortable["wheat"] = (245, 222, 179) +_colortable["sandy"] = (244, 164, 96) +_colortable["SandyBrown"] = (244, 164, 96) +_colortable["tan"] = (210, 180, 140) +_colortable["chocolate"] = (210, 105, 30) +_colortable["firebrick"] = (178, 34, 34) +_colortable["brown"] = (165, 42, 42) +_colortable["dark"] = (233, 150, 122) +_colortable["DarkSalmon"] = (233, 150, 122) +_colortable["salmon"] = (250, 128, 114) +_colortable["light"] = (255, 160, 122) +_colortable["LightSalmon"] = (255, 160, 122) +_colortable["orange"] = (255, 165, 0) +_colortable["dark"] = (255, 140, 0) +_colortable["DarkOrange"] = (255, 140, 0) +_colortable["coral"] = (255, 127, 80) +_colortable["light"] = (240, 128, 128) +_colortable["LightCoral"] = (240, 128, 128) +_colortable["tomato"] = (255, 99, 71) +_colortable["orange"] = (255, 69, 0) +_colortable["OrangeRed"] = (255, 69, 0) +_colortable["red"] = (255, 0, 0) +_colortable["hot"] = (255, 105, 180) +_colortable["HotPink"] = (255, 105, 180) +_colortable["deep"] = (255, 20, 147) +_colortable["DeepPink"] = (255, 20, 147) +_colortable["pink"] = (255, 192, 203) +_colortable["light"] = (255, 182, 193) +_colortable["LightPink"] = (255, 182, 193) +_colortable["pale"] = (219, 112, 147) +_colortable["PaleVioletRed"] = (219, 112, 147) +_colortable["maroon"] = (176, 48, 96) +_colortable["medium"] = (199, 21, 133) +_colortable["MediumVioletRed"] = (199, 21, 133) +_colortable["violet"] = (208, 32, 144) +_colortable["VioletRed"] = (208, 32, 144) +_colortable["magenta"] = (255, 0, 255) +_colortable["violet"] = (238, 130, 238) +_colortable["plum"] = (221, 160, 221) +_colortable["orchid"] = (218, 112, 214) +_colortable["medium"] = (186, 85, 211) +_colortable["MediumOrchid"] = (186, 85, 211) +_colortable["dark"] = (153, 50, 204) +_colortable["DarkOrchid"] = (153, 50, 204) +_colortable["dark"] = (148, 0, 211) +_colortable["DarkViolet"] = (148, 0, 211) +_colortable["blue"] = (138, 43, 226) +_colortable["BlueViolet"] = (138, 43, 226) +_colortable["purple"] = (160, 32, 240) +_colortable["medium"] = (147, 112, 219) +_colortable["MediumPurple"] = (147, 112, 219) +_colortable["thistle"] = (216, 191, 216) +_colortable["snow1"] = (255, 250, 250) +_colortable["snow2"] = (238, 233, 233) +_colortable["snow3"] = (205, 201, 201) +_colortable["snow4"] = (139, 137, 137) +_colortable["seashell1"] = (255, 245, 238) +_colortable["seashell2"] = (238, 229, 222) +_colortable["seashell3"] = (205, 197, 191) +_colortable["seashell4"] = (139, 134, 130) +_colortable["AntiqueWhite1"] = (255, 239, 219) +_colortable["AntiqueWhite2"] = (238, 223, 204) +_colortable["AntiqueWhite3"] = (205, 192, 176) +_colortable["AntiqueWhite4"] = (139, 131, 120) +_colortable["bisque1"] = (255, 228, 196) +_colortable["bisque2"] = (238, 213, 183) +_colortable["bisque3"] = (205, 183, 158) +_colortable["bisque4"] = (139, 125, 107) +_colortable["PeachPuff1"] = (255, 218, 185) +_colortable["PeachPuff2"] = (238, 203, 173) +_colortable["PeachPuff3"] = (205, 175, 149) +_colortable["PeachPuff4"] = (139, 119, 101) +_colortable["NavajoWhite1"] = (255, 222, 173) +_colortable["NavajoWhite2"] = (238, 207, 161) +_colortable["NavajoWhite3"] = (205, 179, 139) +_colortable["NavajoWhite4"] = (139, 121, 94) +_colortable["LemonChiffon1"] = (255, 250, 205) +_colortable["LemonChiffon2"] = (238, 233, 191) +_colortable["LemonChiffon3"] = (205, 201, 165) +_colortable["LemonChiffon4"] = (139, 137, 112) +_colortable["cornsilk1"] = (255, 248, 220) +_colortable["cornsilk2"] = (238, 232, 205) +_colortable["cornsilk3"] = (205, 200, 177) +_colortable["cornsilk4"] = (139, 136, 120) +_colortable["ivory1"] = (255, 255, 240) +_colortable["ivory2"] = (238, 238, 224) +_colortable["ivory3"] = (205, 205, 193) +_colortable["ivory4"] = (139, 139, 131) +_colortable["honeydew1"] = (240, 255, 240) +_colortable["honeydew2"] = (224, 238, 224) +_colortable["honeydew3"] = (193, 205, 193) +_colortable["honeydew4"] = (131, 139, 131) +_colortable["LavenderBlush1"] = (255, 240, 245) +_colortable["LavenderBlush2"] = (238, 224, 229) +_colortable["LavenderBlush3"] = (205, 193, 197) +_colortable["LavenderBlush4"] = (139, 131, 134) +_colortable["MistyRose1"] = (255, 228, 225) +_colortable["MistyRose2"] = (238, 213, 210) +_colortable["MistyRose3"] = (205, 183, 181) +_colortable["MistyRose4"] = (139, 125, 123) +_colortable["azure1"] = (240, 255, 255) +_colortable["azure2"] = (224, 238, 238) +_colortable["azure3"] = (193, 205, 205) +_colortable["azure4"] = (131, 139, 139) +_colortable["SlateBlue1"] = (131, 111, 255) +_colortable["SlateBlue2"] = (122, 103, 238) +_colortable["SlateBlue3"] = (105, 89, 205) +_colortable["SlateBlue4"] = (71, 60, 139) +_colortable["RoyalBlue1"] = (72, 118, 255) +_colortable["RoyalBlue2"] = (67, 110, 238) +_colortable["RoyalBlue3"] = (58, 95, 205) +_colortable["RoyalBlue4"] = (39, 64, 139) +_colortable["blue1"] = (0, 0, 255) +_colortable["blue2"] = (0, 0, 238) +_colortable["blue3"] = (0, 0, 205) +_colortable["blue4"] = (0, 0, 139) +_colortable["DodgerBlue1"] = (30, 144, 255) +_colortable["DodgerBlue2"] = (28, 134, 238) +_colortable["DodgerBlue3"] = (24, 116, 205) +_colortable["DodgerBlue4"] = (16, 78, 139) +_colortable["SteelBlue1"] = (99, 184, 255) +_colortable["SteelBlue2"] = (92, 172, 238) +_colortable["SteelBlue3"] = (79, 148, 205) +_colortable["SteelBlue4"] = (54, 100, 139) +_colortable["DeepSkyBlue1"] = (0, 191, 255) +_colortable["DeepSkyBlue2"] = (0, 178, 238) +_colortable["DeepSkyBlue3"] = (0, 154, 205) +_colortable["DeepSkyBlue4"] = (0, 104, 139) +_colortable["SkyBlue1"] = (135, 206, 255) +_colortable["SkyBlue2"] = (126, 192, 238) +_colortable["SkyBlue3"] = (108, 166, 205) +_colortable["SkyBlue4"] = (74, 112, 139) +_colortable["LightSkyBlue1"] = (176, 226, 255) +_colortable["LightSkyBlue2"] = (164, 211, 238) +_colortable["LightSkyBlue3"] = (141, 182, 205) +_colortable["LightSkyBlue4"] = (96, 123, 139) +_colortable["SlateGray1"] = (198, 226, 255) +_colortable["SlateGray2"] = (185, 211, 238) +_colortable["SlateGray3"] = (159, 182, 205) +_colortable["SlateGray4"] = (108, 123, 139) +_colortable["LightSteelBlue1"] = (202, 225, 255) +_colortable["LightSteelBlue2"] = (188, 210, 238) +_colortable["LightSteelBlue3"] = (162, 181, 205) +_colortable["LightSteelBlue4"] = (110, 123, 139) +_colortable["LightBlue1"] = (191, 239, 255) +_colortable["LightBlue2"] = (178, 223, 238) +_colortable["LightBlue3"] = (154, 192, 205) +_colortable["LightBlue4"] = (104, 131, 139) +_colortable["LightCyan1"] = (224, 255, 255) +_colortable["LightCyan2"] = (209, 238, 238) +_colortable["LightCyan3"] = (180, 205, 205) +_colortable["LightCyan4"] = (122, 139, 139) +_colortable["PaleTurquoise1"] = (187, 255, 255) +_colortable["PaleTurquoise2"] = (174, 238, 238) +_colortable["PaleTurquoise3"] = (150, 205, 205) +_colortable["PaleTurquoise4"] = (102, 139, 139) +_colortable["CadetBlue1"] = (152, 245, 255) +_colortable["CadetBlue2"] = (142, 229, 238) +_colortable["CadetBlue3"] = (122, 197, 205) +_colortable["CadetBlue4"] = (83, 134, 139) +_colortable["turquoise1"] = (0, 245, 255) +_colortable["turquoise2"] = (0, 229, 238) +_colortable["turquoise3"] = (0, 197, 205) +_colortable["turquoise4"] = (0, 134, 139) +_colortable["cyan1"] = (0, 255, 255) +_colortable["cyan2"] = (0, 238, 238) +_colortable["cyan3"] = (0, 205, 205) +_colortable["cyan4"] = (0, 139, 139) +_colortable["DarkSlateGray1"] = (151, 255, 255) +_colortable["DarkSlateGray2"] = (141, 238, 238) +_colortable["DarkSlateGray3"] = (121, 205, 205) +_colortable["DarkSlateGray4"] = (82, 139, 139) +_colortable["aquamarine1"] = (127, 255, 212) +_colortable["aquamarine2"] = (118, 238, 198) +_colortable["aquamarine3"] = (102, 205, 170) +_colortable["aquamarine4"] = (69, 139, 116) +_colortable["DarkSeaGreen1"] = (193, 255, 193) +_colortable["DarkSeaGreen2"] = (180, 238, 180) +_colortable["DarkSeaGreen3"] = (155, 205, 155) +_colortable["DarkSeaGreen4"] = (105, 139, 105) +_colortable["SeaGreen1"] = (84, 255, 159) +_colortable["SeaGreen2"] = (78, 238, 148) +_colortable["SeaGreen3"] = (67, 205, 128) +_colortable["SeaGreen4"] = (46, 139, 87) +_colortable["PaleGreen1"] = (154, 255, 154) +_colortable["PaleGreen2"] = (144, 238, 144) +_colortable["PaleGreen3"] = (124, 205, 124) +_colortable["PaleGreen4"] = (84, 139, 84) +_colortable["SpringGreen1"] = (0, 255, 127) +_colortable["SpringGreen2"] = (0, 238, 118) +_colortable["SpringGreen3"] = (0, 205, 102) +_colortable["SpringGreen4"] = (0, 139, 69) +_colortable["green1"] = (0, 255, 0) +_colortable["green2"] = (0, 238, 0) +_colortable["green3"] = (0, 205, 0) +_colortable["green4"] = (0, 139, 0) +_colortable["chartreuse1"] = (127, 255, 0) +_colortable["chartreuse2"] = (118, 238, 0) +_colortable["chartreuse3"] = (102, 205, 0) +_colortable["chartreuse4"] = (69, 139, 0) +_colortable["OliveDrab1"] = (192, 255, 62) +_colortable["OliveDrab2"] = (179, 238, 58) +_colortable["OliveDrab3"] = (154, 205, 50) +_colortable["OliveDrab4"] = (105, 139, 34) +_colortable["DarkOliveGreen1"] = (202, 255, 112) +_colortable["DarkOliveGreen2"] = (188, 238, 104) +_colortable["DarkOliveGreen3"] = (162, 205, 90) +_colortable["DarkOliveGreen4"] = (110, 139, 61) +_colortable["khaki1"] = (255, 246, 143) +_colortable["khaki2"] = (238, 230, 133) +_colortable["khaki3"] = (205, 198, 115) +_colortable["khaki4"] = (139, 134, 78) +_colortable["LightGoldenrod1"] = (255, 236, 139) +_colortable["LightGoldenrod2"] = (238, 220, 130) +_colortable["LightGoldenrod3"] = (205, 190, 112) +_colortable["LightGoldenrod4"] = (139, 129, 76) +_colortable["LightYellow1"] = (255, 255, 224) +_colortable["LightYellow2"] = (238, 238, 209) +_colortable["LightYellow3"] = (205, 205, 180) +_colortable["LightYellow4"] = (139, 139, 122) +_colortable["yellow1"] = (255, 255, 0) +_colortable["yellow2"] = (238, 238, 0) +_colortable["yellow3"] = (205, 205, 0) +_colortable["yellow4"] = (139, 139, 0) +_colortable["gold1"] = (255, 215, 0) +_colortable["gold2"] = (238, 201, 0) +_colortable["gold3"] = (205, 173, 0) +_colortable["gold4"] = (139, 117, 0) +_colortable["goldenrod1"] = (255, 193, 37) +_colortable["goldenrod2"] = (238, 180, 34) +_colortable["goldenrod3"] = (205, 155, 29) +_colortable["goldenrod4"] = (139, 105, 20) +_colortable["DarkGoldenrod1"] = (255, 185, 15) +_colortable["DarkGoldenrod2"] = (238, 173, 14) +_colortable["DarkGoldenrod3"] = (205, 149, 12) +_colortable["DarkGoldenrod4"] = (139, 101, 8) +_colortable["RosyBrown1"] = (255, 193, 193) +_colortable["RosyBrown2"] = (238, 180, 180) +_colortable["RosyBrown3"] = (205, 155, 155) +_colortable["RosyBrown4"] = (139, 105, 105) +_colortable["IndianRed1"] = (255, 106, 106) +_colortable["IndianRed2"] = (238, 99, 99) +_colortable["IndianRed3"] = (205, 85, 85) +_colortable["IndianRed4"] = (139, 58, 58) +_colortable["sienna1"] = (255, 130, 71) +_colortable["sienna2"] = (238, 121, 66) +_colortable["sienna3"] = (205, 104, 57) +_colortable["sienna4"] = (139, 71, 38) +_colortable["burlywood1"] = (255, 211, 155) +_colortable["burlywood2"] = (238, 197, 145) +_colortable["burlywood3"] = (205, 170, 125) +_colortable["burlywood4"] = (139, 115, 85) +_colortable["wheat1"] = (255, 231, 186) +_colortable["wheat2"] = (238, 216, 174) +_colortable["wheat3"] = (205, 186, 150) +_colortable["wheat4"] = (139, 126, 102) +_colortable["tan1"] = (255, 165, 79) +_colortable["tan2"] = (238, 154, 73) +_colortable["tan3"] = (205, 133, 63) +_colortable["tan4"] = (139, 90, 43) +_colortable["chocolate1"] = (255, 127, 36) +_colortable["chocolate2"] = (238, 118, 33) +_colortable["chocolate3"] = (205, 102, 29) +_colortable["chocolate4"] = (139, 69, 19) +_colortable["firebrick1"] = (255, 48, 48) +_colortable["firebrick2"] = (238, 44, 44) +_colortable["firebrick3"] = (205, 38, 38) +_colortable["firebrick4"] = (139, 26, 26) +_colortable["brown1"] = (255, 64, 64) +_colortable["brown2"] = (238, 59, 59) +_colortable["brown3"] = (205, 51, 51) +_colortable["brown4"] = (139, 35, 35) +_colortable["salmon1"] = (255, 140, 105) +_colortable["salmon2"] = (238, 130, 98) +_colortable["salmon3"] = (205, 112, 84) +_colortable["salmon4"] = (139, 76, 57) +_colortable["LightSalmon1"] = (255, 160, 122) +_colortable["LightSalmon2"] = (238, 149, 114) +_colortable["LightSalmon3"] = (205, 129, 98) +_colortable["LightSalmon4"] = (139, 87, 66) +_colortable["orange1"] = (255, 165, 0) +_colortable["orange2"] = (238, 154, 0) +_colortable["orange3"] = (205, 133, 0) +_colortable["orange4"] = (139, 90, 0) +_colortable["DarkOrange1"] = (255, 127, 0) +_colortable["DarkOrange2"] = (238, 118, 0) +_colortable["DarkOrange3"] = (205, 102, 0) +_colortable["DarkOrange4"] = (139, 69, 0) +_colortable["coral1"] = (255, 114, 86) +_colortable["coral2"] = (238, 106, 80) +_colortable["coral3"] = (205, 91, 69) +_colortable["coral4"] = (139, 62, 47) +_colortable["tomato1"] = (255, 99, 71) +_colortable["tomato2"] = (238, 92, 66) +_colortable["tomato3"] = (205, 79, 57) +_colortable["tomato4"] = (139, 54, 38) +_colortable["OrangeRed1"] = (255, 69, 0) +_colortable["OrangeRed2"] = (238, 64, 0) +_colortable["OrangeRed3"] = (205, 55, 0) +_colortable["OrangeRed4"] = (139, 37, 0) +_colortable["red1"] = (255, 0, 0) +_colortable["red2"] = (238, 0, 0) +_colortable["red3"] = (205, 0, 0) +_colortable["red4"] = (139, 0, 0) +_colortable["DeepPink1"] = (255, 20, 147) +_colortable["DeepPink2"] = (238, 18, 137) +_colortable["DeepPink3"] = (205, 16, 118) +_colortable["DeepPink4"] = (139, 10, 80) +_colortable["HotPink1"] = (255, 110, 180) +_colortable["HotPink2"] = (238, 106, 167) +_colortable["HotPink3"] = (205, 96, 144) +_colortable["HotPink4"] = (139, 58, 98) +_colortable["pink1"] = (255, 181, 197) +_colortable["pink2"] = (238, 169, 184) +_colortable["pink3"] = (205, 145, 158) +_colortable["pink4"] = (139, 99, 108) +_colortable["LightPink1"] = (255, 174, 185) +_colortable["LightPink2"] = (238, 162, 173) +_colortable["LightPink3"] = (205, 140, 149) +_colortable["LightPink4"] = (139, 95, 101) +_colortable["PaleVioletRed1"] = (255, 130, 171) +_colortable["PaleVioletRed2"] = (238, 121, 159) +_colortable["PaleVioletRed3"] = (205, 104, 137) +_colortable["PaleVioletRed4"] = (139, 71, 93) +_colortable["maroon1"] = (255, 52, 179) +_colortable["maroon2"] = (238, 48, 167) +_colortable["maroon3"] = (205, 41, 144) +_colortable["maroon4"] = (139, 28, 98) +_colortable["VioletRed1"] = (255, 62, 150) +_colortable["VioletRed2"] = (238, 58, 140) +_colortable["VioletRed3"] = (205, 50, 120) +_colortable["VioletRed4"] = (139, 34, 82) +_colortable["magenta1"] = (255, 0, 255) +_colortable["magenta2"] = (238, 0, 238) +_colortable["magenta3"] = (205, 0, 205) +_colortable["magenta4"] = (139, 0, 139) +_colortable["orchid1"] = (255, 131, 250) +_colortable["orchid2"] = (238, 122, 233) +_colortable["orchid3"] = (205, 105, 201) +_colortable["orchid4"] = (139, 71, 137) +_colortable["plum1"] = (255, 187, 255) +_colortable["plum2"] = (238, 174, 238) +_colortable["plum3"] = (205, 150, 205) +_colortable["plum4"] = (139, 102, 139) +_colortable["MediumOrchid1"] = (224, 102, 255) +_colortable["MediumOrchid2"] = (209, 95, 238) +_colortable["MediumOrchid3"] = (180, 82, 205) +_colortable["MediumOrchid4"] = (122, 55, 139) +_colortable["DarkOrchid1"] = (191, 62, 255) +_colortable["DarkOrchid2"] = (178, 58, 238) +_colortable["DarkOrchid3"] = (154, 50, 205) +_colortable["DarkOrchid4"] = (104, 34, 139) +_colortable["purple1"] = (155, 48, 255) +_colortable["purple2"] = (145, 44, 238) +_colortable["purple3"] = (125, 38, 205) +_colortable["purple4"] = (85, 26, 139) +_colortable["MediumPurple1"] = (171, 130, 255) +_colortable["MediumPurple2"] = (159, 121, 238) +_colortable["MediumPurple3"] = (137, 104, 205) +_colortable["MediumPurple4"] = (93, 71, 139) +_colortable["thistle1"] = (255, 225, 255) +_colortable["thistle2"] = (238, 210, 238) +_colortable["thistle3"] = (205, 181, 205) +_colortable["thistle4"] = (139, 123, 139) +_colortable["gray0"] = (0, 0, 0) +_colortable["grey0"] = (0, 0, 0) +_colortable["gray1"] = (3, 3, 3) +_colortable["grey1"] = (3, 3, 3) +_colortable["gray2"] = (5, 5, 5) +_colortable["grey2"] = (5, 5, 5) +_colortable["gray3"] = (8, 8, 8) +_colortable["grey3"] = (8, 8, 8) +_colortable["gray4"] = (10, 10, 10) +_colortable["grey4"] = (10, 10, 10) +_colortable["gray5"] = (13, 13, 13) +_colortable["grey5"] = (13, 13, 13) +_colortable["gray6"] = (15, 15, 15) +_colortable["grey6"] = (15, 15, 15) +_colortable["gray7"] = (18, 18, 18) +_colortable["grey7"] = (18, 18, 18) +_colortable["gray8"] = (20, 20, 20) +_colortable["grey8"] = (20, 20, 20) +_colortable["gray9"] = (23, 23, 23) +_colortable["grey9"] = (23, 23, 23) +_colortable["gray10"] = (26, 26, 26) +_colortable["grey10"] = (26, 26, 26) +_colortable["gray11"] = (28, 28, 28) +_colortable["grey11"] = (28, 28, 28) +_colortable["gray12"] = (31, 31, 31) +_colortable["grey12"] = (31, 31, 31) +_colortable["gray13"] = (33, 33, 33) +_colortable["grey13"] = (33, 33, 33) +_colortable["gray14"] = (36, 36, 36) +_colortable["grey14"] = (36, 36, 36) +_colortable["gray15"] = (38, 38, 38) +_colortable["grey15"] = (38, 38, 38) +_colortable["gray16"] = (41, 41, 41) +_colortable["grey16"] = (41, 41, 41) +_colortable["gray17"] = (43, 43, 43) +_colortable["grey17"] = (43, 43, 43) +_colortable["gray18"] = (46, 46, 46) +_colortable["grey18"] = (46, 46, 46) +_colortable["gray19"] = (48, 48, 48) +_colortable["grey19"] = (48, 48, 48) +_colortable["gray20"] = (51, 51, 51) +_colortable["grey20"] = (51, 51, 51) +_colortable["gray21"] = (54, 54, 54) +_colortable["grey21"] = (54, 54, 54) +_colortable["gray22"] = (56, 56, 56) +_colortable["grey22"] = (56, 56, 56) +_colortable["gray23"] = (59, 59, 59) +_colortable["grey23"] = (59, 59, 59) +_colortable["gray24"] = (61, 61, 61) +_colortable["grey24"] = (61, 61, 61) +_colortable["gray25"] = (64, 64, 64) +_colortable["grey25"] = (64, 64, 64) +_colortable["gray26"] = (66, 66, 66) +_colortable["grey26"] = (66, 66, 66) +_colortable["gray27"] = (69, 69, 69) +_colortable["grey27"] = (69, 69, 69) +_colortable["gray28"] = (71, 71, 71) +_colortable["grey28"] = (71, 71, 71) +_colortable["gray29"] = (74, 74, 74) +_colortable["grey29"] = (74, 74, 74) +_colortable["gray30"] = (77, 77, 77) +_colortable["grey30"] = (77, 77, 77) +_colortable["gray31"] = (79, 79, 79) +_colortable["grey31"] = (79, 79, 79) +_colortable["gray32"] = (82, 82, 82) +_colortable["grey32"] = (82, 82, 82) +_colortable["gray33"] = (84, 84, 84) +_colortable["grey33"] = (84, 84, 84) +_colortable["gray34"] = (87, 87, 87) +_colortable["grey34"] = (87, 87, 87) +_colortable["gray35"] = (89, 89, 89) +_colortable["grey35"] = (89, 89, 89) +_colortable["gray36"] = (92, 92, 92) +_colortable["grey36"] = (92, 92, 92) +_colortable["gray37"] = (94, 94, 94) +_colortable["grey37"] = (94, 94, 94) +_colortable["gray38"] = (97, 97, 97) +_colortable["grey38"] = (97, 97, 97) +_colortable["gray39"] = (99, 99, 99) +_colortable["grey39"] = (99, 99, 99) +_colortable["gray40"] = (102, 102, 102) +_colortable["grey40"] = (102, 102, 102) +_colortable["gray41"] = (105, 105, 105) +_colortable["grey41"] = (105, 105, 105) +_colortable["gray42"] = (107, 107, 107) +_colortable["grey42"] = (107, 107, 107) +_colortable["gray43"] = (110, 110, 110) +_colortable["grey43"] = (110, 110, 110) +_colortable["gray44"] = (112, 112, 112) +_colortable["grey44"] = (112, 112, 112) +_colortable["gray45"] = (115, 115, 115) +_colortable["grey45"] = (115, 115, 115) +_colortable["gray46"] = (117, 117, 117) +_colortable["grey46"] = (117, 117, 117) +_colortable["gray47"] = (120, 120, 120) +_colortable["grey47"] = (120, 120, 120) +_colortable["gray48"] = (122, 122, 122) +_colortable["grey48"] = (122, 122, 122) +_colortable["gray49"] = (125, 125, 125) +_colortable["grey49"] = (125, 125, 125) +_colortable["gray50"] = (127, 127, 127) +_colortable["grey50"] = (127, 127, 127) +_colortable["gray51"] = (130, 130, 130) +_colortable["grey51"] = (130, 130, 130) +_colortable["gray52"] = (133, 133, 133) +_colortable["grey52"] = (133, 133, 133) +_colortable["gray53"] = (135, 135, 135) +_colortable["grey53"] = (135, 135, 135) +_colortable["gray54"] = (138, 138, 138) +_colortable["grey54"] = (138, 138, 138) +_colortable["gray55"] = (140, 140, 140) +_colortable["grey55"] = (140, 140, 140) +_colortable["gray56"] = (143, 143, 143) +_colortable["grey56"] = (143, 143, 143) +_colortable["gray57"] = (145, 145, 145) +_colortable["grey57"] = (145, 145, 145) +_colortable["gray58"] = (148, 148, 148) +_colortable["grey58"] = (148, 148, 148) +_colortable["gray59"] = (150, 150, 150) +_colortable["grey59"] = (150, 150, 150) +_colortable["gray60"] = (153, 153, 153) +_colortable["grey60"] = (153, 153, 153) +_colortable["gray61"] = (156, 156, 156) +_colortable["grey61"] = (156, 156, 156) +_colortable["gray62"] = (158, 158, 158) +_colortable["grey62"] = (158, 158, 158) +_colortable["gray63"] = (161, 161, 161) +_colortable["grey63"] = (161, 161, 161) +_colortable["gray64"] = (163, 163, 163) +_colortable["grey64"] = (163, 163, 163) +_colortable["gray65"] = (166, 166, 166) +_colortable["grey65"] = (166, 166, 166) +_colortable["gray66"] = (168, 168, 168) +_colortable["grey66"] = (168, 168, 168) +_colortable["gray67"] = (171, 171, 171) +_colortable["grey67"] = (171, 171, 171) +_colortable["gray68"] = (173, 173, 173) +_colortable["grey68"] = (173, 173, 173) +_colortable["gray69"] = (176, 176, 176) +_colortable["grey69"] = (176, 176, 176) +_colortable["gray70"] = (179, 179, 179) +_colortable["grey70"] = (179, 179, 179) +_colortable["gray71"] = (181, 181, 181) +_colortable["grey71"] = (181, 181, 181) +_colortable["gray72"] = (184, 184, 184) +_colortable["grey72"] = (184, 184, 184) +_colortable["gray73"] = (186, 186, 186) +_colortable["grey73"] = (186, 186, 186) +_colortable["gray74"] = (189, 189, 189) +_colortable["grey74"] = (189, 189, 189) +_colortable["gray75"] = (191, 191, 191) +_colortable["grey75"] = (191, 191, 191) +_colortable["gray76"] = (194, 194, 194) +_colortable["grey76"] = (194, 194, 194) +_colortable["gray77"] = (196, 196, 196) +_colortable["grey77"] = (196, 196, 196) +_colortable["gray78"] = (199, 199, 199) +_colortable["grey78"] = (199, 199, 199) +_colortable["gray79"] = (201, 201, 201) +_colortable["grey79"] = (201, 201, 201) +_colortable["gray80"] = (204, 204, 204) +_colortable["grey80"] = (204, 204, 204) +_colortable["gray81"] = (207, 207, 207) +_colortable["grey81"] = (207, 207, 207) +_colortable["gray82"] = (209, 209, 209) +_colortable["grey82"] = (209, 209, 209) +_colortable["gray83"] = (212, 212, 212) +_colortable["grey83"] = (212, 212, 212) +_colortable["gray84"] = (214, 214, 214) +_colortable["grey84"] = (214, 214, 214) +_colortable["gray85"] = (217, 217, 217) +_colortable["grey85"] = (217, 217, 217) +_colortable["gray86"] = (219, 219, 219) +_colortable["grey86"] = (219, 219, 219) +_colortable["gray87"] = (222, 222, 222) +_colortable["grey87"] = (222, 222, 222) +_colortable["gray88"] = (224, 224, 224) +_colortable["grey88"] = (224, 224, 224) +_colortable["gray89"] = (227, 227, 227) +_colortable["grey89"] = (227, 227, 227) +_colortable["gray90"] = (229, 229, 229) +_colortable["grey90"] = (229, 229, 229) +_colortable["gray91"] = (232, 232, 232) +_colortable["grey91"] = (232, 232, 232) +_colortable["gray92"] = (235, 235, 235) +_colortable["grey92"] = (235, 235, 235) +_colortable["gray93"] = (237, 237, 237) +_colortable["grey93"] = (237, 237, 237) +_colortable["gray94"] = (240, 240, 240) +_colortable["grey94"] = (240, 240, 240) +_colortable["gray95"] = (242, 242, 242) +_colortable["grey95"] = (242, 242, 242) +_colortable["gray96"] = (245, 245, 245) +_colortable["grey96"] = (245, 245, 245) +_colortable["gray97"] = (247, 247, 247) +_colortable["grey97"] = (247, 247, 247) +_colortable["gray98"] = (250, 250, 250) +_colortable["grey98"] = (250, 250, 250) +_colortable["gray99"] = (252, 252, 252) +_colortable["grey99"] = (252, 252, 252) +_colortable["gray100"] = (255, 255, 255) +_colortable["grey100"] = (255, 255, 255) +_colortable["dark"] = (169, 169, 169) +_colortable["DarkGrey"] = (169, 169, 169) +_colortable["dark"] = (169, 169, 169) +_colortable["DarkGray"] = (169, 169, 169) +_colortable["dark"] = (0, 0, 139) +_colortable["DarkBlue"] = (0, 0, 139) +_colortable["dark"] = (0, 139, 139) +_colortable["DarkCyan"] = (0, 139, 139) +_colortable["dark"] = (139, 0, 139) +_colortable["DarkMagenta"] = (139, 0, 139) +_colortable["dark"] = (139, 0, 0) +_colortable["DarkRed"] = (139, 0, 0) +_colortable["light"] = (144, 238, 144) +_colortable["LightGreen"] = (144, 238, 144) + diff --git a/environments/g4py/source/python3/g4thread.py b/environments/g4py/source/python3/g4thread.py new file mode 100644 index 0000000000..92a714e5b7 --- /dev/null +++ b/environments/g4py/source/python3/g4thread.py @@ -0,0 +1,24 @@ +""" +# ================================================================== +# Python module +# +# Geant4 threading module +# +# Q, 2005 +# ================================================================== +""" +#$Id: g4thread.py,v 1.1 2010/12/02 08:22:21 kmura Exp $ + +import thread +from G4run import * + +# ------------------------------------------------------------------ +# BeamOn in a new thread +# ------------------------------------------------------------------ +def _TBeamOn(self, nevent): + "generate events in a thread" + args = (nevent,) + thread.start_new_thread(self.BeamOn, args) + +G4RunManager.TBeamOn= _TBeamOn + diff --git a/environments/g4py/source/python3/g4viscp.py b/environments/g4py/source/python3/g4viscp.py new file mode 100644 index 0000000000..1b3137d85f --- /dev/null +++ b/environments/g4py/source/python3/g4viscp.py @@ -0,0 +1,69 @@ +#$Id: g4viscp.py,v 1.1 2010/12/02 08:22:21 kmura Exp $ +""" +# ================================================================== +# Python module +# +# Visualization Control Panel +# +# Q, 2005 +# ================================================================== +""" +from G4interface import * + +# ------------------------------------------------------------------ +# Scene +# ------------------------------------------------------------------ +class G4Scene : + "Scene" + def __init__(self, aname, vol= "world", acopyno=0, + amode=0, bmode=1): + self.name= aname + self.volume= vol + self.copyno= acopyno + self.mode_eventaction= amode # 0: accumulate / 1: refresh + self.mode_runaction= bmode # 0: accumulate / 1: refresh + self.mode= ("accumulate", "refresh") + + def create_scene(self): + ApplyUICommand("/vis/scene/create " + self.name) + ApplyUICommand("/vis/scene/add/volume %s %d" % + (self.volume, self.copyno)) + ApplyUICommand("/vis/scene/add/trajectories") + self.update_scene() + + def update_scene(self): + ApplyUICommand("/vis/scene/select " + self.name) + ApplyUICommand("/vis/sceneHandler/attach") + ApplyUICommand("/vis/scene/endOfEventAction %s" % + (self.mode[self.mode_eventaction]) ) + ApplyUICommand("/vis/scene/endOfRunAction %s" % + (self.mode[self.mode_runaction]) ) + +# ------------------------------------------------------------------ +# Visualization Control Panel +# ------------------------------------------------------------------ +class G4VisCP : + "G4 Visualization Control Panel" + + def __init__(self, gsys="OGLIX"): + self.gsystem= gsys + self.scenelist= [G4Scene("default")] + self.viewpoint= [270., 90.] + + rc= ApplyUICommand("/vis/open " + gsys) + if (rc != 0): + return + + self.scenelist[0].create_scene() + ApplyUICommand("/vis/viewer/set/viewpointThetaPhi %f %f" + % (self.viewpoint[0], self.viewpoint[1]) ) + ApplyUICommand("/tracking/storeTrajectory 1") + + def add_scene(self, ascene): + self.scenelist.append(ascene) + + def select_scene(self, iscene): + self.scenelist[iscene].update_scene() + ApplyUICommand("/vis/viewer/set/viewpointThetaPhi %f %f" + % (self.viewpoint[0], self.viewpoint[1]) ) + diff --git a/environments/g4py/source/python3/hepunit.py b/environments/g4py/source/python3/hepunit.py new file mode 100644 index 0000000000..19b05c297d --- /dev/null +++ b/environments/g4py/source/python3/hepunit.py @@ -0,0 +1,308 @@ +""" +# ================================================================== +# Python module +# +# This module defines physical units and constants used in HEP, +# which are imported from CLHEP library. +# +# Q, 2005 +# ================================================================== +""" +#$Id: hepunit.py,v 1.1 2010/12/02 08:22:21 kmura Exp $ + +# ================================================================== +# imported from "SystemOfUnits.h" +# ================================================================== +millimeter = 1. +millimeter2 = millimeter*millimeter +millimeter3 = millimeter*millimeter*millimeter + +centimeter = 10.*millimeter +centimeter2 = centimeter*centimeter +centimeter3 = centimeter*centimeter*centimeter + +meter = 1000.*millimeter +meter2 = meter*meter +meter3 = meter*meter*meter + +kilometer = 1000.*meter +kilometer2 = kilometer*kilometer +kilometer3 = kilometer*kilometer*kilometer + +parsec = 3.0856775807e+16*meter + +micrometer = 1.e-6 *meter +nanometer = 1.e-9 *meter +angstrom = 1.e-10*meter +fermi = 1.e-15*meter + +barn = 1.e-28*meter2 +millibarn = 1.e-3 *barn +microbarn = 1.e-6 *barn +nanobarn = 1.e-9 *barn +picobarn = 1.e-12*barn + +# symbols +mm = millimeter +mm2 = millimeter2 +mm3 = millimeter3 + +cm = centimeter +cm2 = centimeter2 +cm3 = centimeter3 + +m = meter +m2 = meter2 +m3 = meter3 + +km = kilometer +km2 = kilometer2 +km3 = kilometer3 + +pc = parsec + +# +# Angle +# +radian = 1. +milliradian = 1.e-3*radian +degree = (3.14159265358979323846/180.0)*radian + +steradian = 1. + +# symbols +rad = radian +mrad = milliradian +sr = steradian +deg = degree + +# +# Time [T] +# +nanosecond = 1. +second = 1.e+9 *nanosecond +millisecond = 1.e-3 *second +microsecond = 1.e-6 *second +picosecond = 1.e-12*second + +hertz = 1./second +kilohertz = 1.e+3*hertz +megahertz = 1.e+6*hertz + +# symbols +ns = nanosecond +s = second +ms = millisecond + +# +# Electric charge [Q] +# +eplus = 1. # positron charge +e_SI = 1.60217733e-19 # positron charge in coulomb +coulomb = eplus/e_SI # coulomb = 6.24150 e+18 * eplus + +# +# Energy [E] +# +megaelectronvolt = 1. +electronvolt = 1.e-6*megaelectronvolt +kiloelectronvolt = 1.e-3*megaelectronvolt +gigaelectronvolt = 1.e+3*megaelectronvolt +teraelectronvolt = 1.e+6*megaelectronvolt +petaelectronvolt = 1.e+9*megaelectronvolt + +joule = electronvolt/e_SI # joule = 6.24150 e+12 * MeV + +# symbols +MeV = megaelectronvolt +eV = electronvolt +keV = kiloelectronvolt +GeV = gigaelectronvolt +TeV = teraelectronvolt +PeV = petaelectronvolt + +# +# Mass [E][T^2][L^-2] +# +kilogram = joule*second*second/(meter*meter) +gram = 1.e-3*kilogram +milligram = 1.e-3*gram + +# symbols +kg = kilogram +g = gram +mg = milligram + +# +# Power [E][T^-1] +# +watt = joule/second # watt = 6.24150 e+3 * MeV/ns + +# +# Force [E][L^-1] +# +newton = joule/meter # newton = 6.24150 e+9 * MeV/mm + +# +# Pressure [E][L^-3] +# +pascal = newton/m2 # pascal = 6.24150 e+3 * MeV/mm3 +bar = 100000*pascal # bar = 6.24150 e+8 * MeV/mm3 +atmosphere = 101325*pascal # atm = 6.32420 e+8 * MeV/mm3 + +# +# Electric current [Q][T^-1] +# +ampere = coulomb/second # ampere = 6.24150 e+9 * eplus/ns +milliampere = 1.e-3*ampere +microampere = 1.e-6*ampere +nanoampere = 1.e-9*ampere + +# +# Electric potential [E][Q^-1] +# +megavolt = megaelectronvolt/eplus +kilovolt = 1.e-3*megavolt +volt = 1.e-6*megavolt + +# +# Electric resistance [E][T][Q^-2] +# +ohm = volt/ampere # ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns) + +# +# Electric capacitance [Q^2][E^-1] +# +farad = coulomb/volt # farad = 6.24150e+24 * eplus/Megavolt +millifarad = 1.e-3*farad +microfarad = 1.e-6*farad +nanofarad = 1.e-9*farad +picofarad = 1.e-12*farad + +# +# Magnetic Flux [T][E][Q^-1] +# +weber = volt*second # weber = 1000*megavolt*ns + +# +# Magnetic Field [T][E][Q^-1][L^-2] +# +tesla = volt*second/meter2 # tesla =0.001*megavolt*ns/mm2 + +gauss = 1.e-4*tesla +kilogauss = 1.e-1*tesla + +# +# Inductance [T^2][E][Q^-2] +# +henry = weber/ampere # henry = 1.60217e-7*MeV*(ns/eplus)**2 + +# +# Temperature +# +kelvin = 1. + +# +# Amount of substance +# +mole = 1. + +# +# Activity [T^-1] +# +becquerel = 1./second +curie = 3.7e+10 * becquerel + +# +# Absorbed dose [L^2][T^-2] +# +gray = joule/kilogram + +# +# Luminous intensity [I] +# +candela = 1. + +# +# Luminous flux [I] +# +lumen = candela*steradian + +# +# Illuminance [I][L^-2] +# +lux = lumen/meter2 + +# +# Miscellaneous +# +perCent = 0.01 +perThousand = 0.001 +perMillion = 0.000001 + + +# ================================================================== +# imported from "PhysicalConstants.h" +# ================================================================== +pi = 3.14159265358979323846 +twopi = 2.*pi +halfpi = pi/2. +pi2 = pi*pi + +# +Avogadro = 6.0221367e+23/mole + +# c = 299.792458 mm/ns +# c^2 = 898.7404 (mm/ns)^2 +c_light = 2.99792458e+8 * m/s +c_squared = c_light * c_light + +# h = 4.13566e-12 MeV*ns +# hbar = 6.58212e-13 MeV*ns +# hbarc = 197.32705e-12 MeV*mm +h_Planck = 6.6260755e-34 * joule*s +hbar_Planck = h_Planck/twopi +hbarc = hbar_Planck * c_light +hbarc_squared = hbarc * hbarc + +# +electron_charge = - eplus # see SystemOfUnits.h +e_squared = eplus * eplus + +# amu_c2 - atomic equivalent mass unit +# amu - atomic mass unit +electron_mass_c2 = 0.51099906 * MeV +proton_mass_c2 = 938.27231 * MeV +neutron_mass_c2 = 939.56563 * MeV +amu_c2 = 931.49432 * MeV +amu = amu_c2/c_squared + +# permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm +# permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm) +mu0 = 4*pi*1.e-7 * henry/m +epsilon0 = 1./(c_squared*mu0) + +# electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2) +elm_coupling = e_squared/(4*pi*epsilon0) +fine_structure_const = elm_coupling/hbarc +classic_electr_radius = elm_coupling/electron_mass_c2 +electron_Compton_length = hbarc/electron_mass_c2 +Bohr_radius = electron_Compton_length/fine_structure_const + +alpha_rcl2 = fine_structure_const * classic_electr_radius \ + * classic_electr_radius +twopi_mc2_rcl2 = twopi * electron_mass_c2 \ + * classic_electr_radius \ + * classic_electr_radius + +# +k_Boltzmann = 8.617385e-11 * MeV/kelvin + +# +STP_Temperature = 273.15*kelvin +STP_Pressure = 1.*atmosphere +kGasThreshold = 10.*mg/cm3 + +# +universe_mean_density = 1.e-25*g/cm3 + diff --git a/environments/g4py/source/run/pyG4RunManager.cc b/environments/g4py/source/run/pyG4RunManager.cc index c34e32e341..3e56972221 100644 --- a/environments/g4py/source/run/pyG4RunManager.cc +++ b/environments/g4py/source/run/pyG4RunManager.cc @@ -23,14 +23,15 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pyG4RunManager.cc,v 1.4 2006/06/29 15:35:12 gunter Exp $ -// $Name: geant4-09-02 $ +// $Id: pyG4RunManager.cc,v 1.6 2010/12/02 08:23:05 kmura Exp $ +// $Name: geant4-09-04 $ // ==================================================================== // pyG4RunManager.cc // // 2005 Q // ==================================================================== #include +#include "G4Version.hh" #include "G4RunManager.hh" #include "G4VUserDetectorConstruction.hh" #include "G4VUserPhysicsList.hh" @@ -72,13 +73,17 @@ void (G4RunManager::*f6_SetUserAction)(G4UserSteppingAction*) = &G4RunManager::SetUserAction; // DumpRegion +#if G4VERSION_NUMBER >= 932 +void (G4RunManager::*f1_DumpRegion)(const G4String&) const + = &G4RunManager::DumpRegion; +#else void (G4RunManager::*f1_DumpRegion)(G4String) const - = &G4RunManager::DumpRegion; + = &G4RunManager::DumpRegion; +#endif void (G4RunManager::*f2_DumpRegion)(G4Region*) const = &G4RunManager::DumpRegion; -BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_DumpRegion, - DumpRegion, 0, 1); +BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_DumpRegion, DumpRegion, 0, 1); // BeamOn() BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_BeamOn, BeamOn, 1, 3); @@ -87,8 +92,8 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_BeamOn, BeamOn, 1, 3); BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_AbortRun, AbortRun, 0, 1); // DefineWorldVolume() -BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_DefineWorldVolume, - DefineWorldVolume, 1, 2); +BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_DefineWorldVolume, + DefineWorldVolume, 1, 2); }; @@ -102,18 +107,18 @@ void export_G4RunManager() class_("G4RunManager", "run manager class") // --- .def("GetRunManager", &G4RunManager::GetRunManager, - "Get an instance of G4RunManager", - return_value_policy()) + "Get an instance of G4RunManager", + return_value_policy()) .staticmethod("GetRunManager") // --- .def("SetVerboseLevel", &G4RunManager::SetVerboseLevel) .def("GetVerboseLevel", &G4RunManager::GetVerboseLevel) // --- .def("Initialize", &G4RunManager::Initialize) - .def("BeamOn", &G4RunManager::BeamOn, - f_BeamOn((arg("n_event"), arg("macroFile")=0, - arg("n_select")=-1), - "Starts event loop.")) + .def("BeamOn", &G4RunManager::BeamOn, + f_BeamOn((arg("n_event"), arg("macroFile")=0, + arg("n_select")=-1), + "Starts event loop.")) // --- .def("SetUserInitialization", f1_SetUserInitialization) .def("SetUserInitialization", f2_SetUserInitialization) @@ -125,50 +130,58 @@ void export_G4RunManager() .def("SetUserAction", f6_SetUserAction) // --- .def("GetUserDetectorConstruction", - &G4RunManager::GetUserDetectorConstruction, - return_internal_reference<>()) + &G4RunManager::GetUserDetectorConstruction, + return_internal_reference<>()) .def("GetUserPhysicsList", - &G4RunManager::GetUserPhysicsList, - return_internal_reference<>()) + &G4RunManager::GetUserPhysicsList, + return_internal_reference<>()) .def("GetUserPrimaryGeneratorAction", - &G4RunManager::GetUserPrimaryGeneratorAction, - return_internal_reference<>()) + &G4RunManager::GetUserPrimaryGeneratorAction, + return_internal_reference<>()) .def("GetUserRunAction", &G4RunManager::GetUserRunAction, - return_internal_reference<>()) + return_internal_reference<>()) .def("GetUserEventAction", &G4RunManager::GetUserEventAction, - return_internal_reference<>()) + return_internal_reference<>()) .def("GetUserStackingAction", &G4RunManager::GetUserStackingAction, - return_internal_reference<>()) + return_internal_reference<>()) .def("GetUserTrackingAction", &G4RunManager::GetUserTrackingAction, - return_internal_reference<>()) + return_internal_reference<>()) .def("GetUserSteppingAction", &G4RunManager::GetUserSteppingAction, - return_internal_reference<>()) + return_internal_reference<>()) // --- .def("AbortRun", &G4RunManager::AbortRun, - f_AbortRun((arg("soft_abort")=false), - "Abort run (event loop).")) - .def("AbortEvent", &G4RunManager::AbortEvent) - .def("GetVersionString", &G4RunManager::GetVersionString) + f_AbortRun((arg("soft_abort")=false), + "Abort run (event loop).")) + .def("AbortEvent", &G4RunManager::AbortEvent) .def("DefineWorldVolume", &G4RunManager::DefineWorldVolume, - f_DefineWorldVolume()) + f_DefineWorldVolume()) .def("DumpRegion", f1_DumpRegion) .def("DumpRegion", f2_DumpRegion, f_DumpRegion()) .def("rndmSaveThisRun", &G4RunManager::rndmSaveThisRun) .def("rndmSaveThisEvent", &G4RunManager::rndmSaveThisEvent) .def("RestoreRandomNumberStatus", - &G4RunManager::RestoreRandomNumberStatus) + &G4RunManager::RestoreRandomNumberStatus) .def("SetRandomNumberStore", &G4RunManager::SetRandomNumberStore) .def("GetRandomNumberStore", &G4RunManager::GetRandomNumberStore) .def("SetRandomNumberStoreDir", &G4RunManager::SetRandomNumberStoreDir) - .def("GetRandomNumberStoreDir", &G4RunManager::GetRandomNumberStoreDir) .def("GeometryHasBeenModified", &G4RunManager::GeometryHasBeenModified) .def("PhysicsHasBeenModified", &G4RunManager::PhysicsHasBeenModified) .def("GetGeometryToBeOptimized",&G4RunManager::GetGeometryToBeOptimized) .def("GetCurrentRun", &G4RunManager::GetCurrentRun, - return_value_policy()) + return_value_policy()) .def("GetCurrentEvent", &G4RunManager::GetCurrentEvent, - return_value_policy()) + return_value_policy()) .def("SetRunIDCounter", &G4RunManager::SetRunIDCounter) + +#if G4VERSION_NUMBER >= 932 + .def("GetVersionString", &G4RunManager::GetVersionString, + return_value_policy()) + .def("GetRandomNumberStoreDir", &G4RunManager::GetRandomNumberStoreDir, + return_internal_reference<>()) +#else + .def("GetVersionString", &G4RunManager::GetVersionString) + .def("GetRandomNumberStoreDir", &G4RunManager::GetRandomNumberStoreDir) +#endif ; // reduced functionality... diff --git a/environments/g4py/tests/gtest01/python3/test.py b/environments/g4py/tests/gtest01/python3/test.py new file mode 100755 index 0000000000..eca51be0c0 --- /dev/null +++ b/environments/g4py/tests/gtest01/python3/test.py @@ -0,0 +1,121 @@ +#!/usr/bin/python3 +# ================================================================== +# python script for Geant4Py test +# +# gtest01 +# - check basic control flow +# ================================================================== +from Geant4 import * +import gtest01 +import random + +# ================================================================== +# user actions in python +# ================================================================== +class MyPrimaryGeneratorAction(G4VUserPrimaryGeneratorAction): + "My Primary Generator Action" + + def __init__(self): + G4VUserPrimaryGeneratorAction.__init__(self) + self.particleGun= G4ParticleGun(1) + + def GeneratePrimaries(self, event): + #dx= random.gauss(0., 0.1) + dx=0. + self.particleGun.SetParticleMomentumDirection(G4ThreeVector(dx, 0., 1.)) + self.particleGun.GeneratePrimaryVertex(event) + +# ------------------------------------------------------------------ +class MyRunAction(G4UserRunAction): + "My Run Action" + + def BeginOfRunAction(self, run): + print("*** #event to be processed (BRA)=", + run.GetNumberOfEventToBeProcessed()) + + def EndOfRunAction(self, run): + print("*** run end run(ERA)=", run.GetRunID()) + +# ------------------------------------------------------------------ +class MyEventAction(G4UserEventAction): + "My Event Action" + + #def BeginOfEventAction(self, event): + #print("*** current event (BEA)=", event.GetEventID()) + # pass + + #def EndOfEventAction(self, event): + #print("*** current event (EEA)=", event.GetEventID()) + +# ------------------------------------------------------------------ +class MySteppingAction(G4UserSteppingAction): + "My Stepping Action" + + def UserSteppingAction(self, step): + #print("*** dE/dx in current step=", step.GetTotalEnergyDeposit()) + track= step.GetTrack() + touchable= track.GetTouchable() + pv= touchable.GetVolume() + #print(pv.GetCopyNo()) + #print(touchable.GetReplicaNumber(0)) + +# ------------------------------------------------------------------ +class MyField(G4MagneticField): + "My Magnetic Field" + + def GetFieldValue(self, pos, time): + bfield= G4ThreeVector() + bfield.x= 0. + bfield.y= 5.*tesla + bfield.z= 0. + return bfield + +# ================================================================== +# main +# ================================================================== +qMaterials= gtest01.QMaterials() +qMaterials.Construct() + +qDC= gtest01.QDetectorConstruction() +gRunManager.SetUserInitialization(qDC) + +qPL= gtest01.QPhysicsList() +gRunManager.SetUserInitialization(qPL) + +# set user actions... +#qPGA= gtest01.QPrimaryGeneratorAction() +myPGA= MyPrimaryGeneratorAction() +gRunManager.SetUserAction(myPGA) + +#myRA= MyRunAction() +#gRunManager.SetUserAction(myRA) + +myEA= MyEventAction() +gRunManager.SetUserAction(myEA) + +mySA= MySteppingAction() +gRunManager.SetUserAction(mySA) + +# set particle gun +#ApplyUICommand("/control/execute gun.mac") +#pg= qPGA.GetParticleGun() +pg= myPGA.particleGun +pg.SetParticleByName("e-") +pg.SetParticleEnergy(200.*MeV) +pg.SetParticlePosition(G4ThreeVector(0.,0.,-14.9)*cm) + +# magnetic field +fieldMgr= gTransportationManager.GetFieldManager() +myField= G4UniformMagField(G4ThreeVector(0.,10.*tesla,0.)) +#myField= MyField() +fieldMgr.SetDetectorField(myField) +fieldMgr.CreateChordFinder(myField) + +gRunManager.Initialize() + +# visualization +gControlExecute("vis.mac") + +# beamOn +gRunManager.BeamOn(10) + diff --git a/environments/g4py/tests/gtest01/test.py b/environments/g4py/tests/gtest01/test.py index 9db01ed61b..c254071d6f 100755 --- a/environments/g4py/tests/gtest01/test.py +++ b/environments/g4py/tests/gtest01/test.py @@ -8,7 +8,7 @@ from Geant4 import * import gtest01 import random -import thread +#import thread # ================================================================== # user actions in python diff --git a/environments/g4py/tests/gtest02/python3/test.py b/environments/g4py/tests/gtest02/python3/test.py new file mode 100755 index 0000000000..9b56c8abed --- /dev/null +++ b/environments/g4py/tests/gtest02/python3/test.py @@ -0,0 +1,133 @@ +#!/usr/bin/python3 +# ================================================================== +# python script for Geant4Py test +# +# gtest02 +# - test for using site-module packages +# ================================================================== +from Geant4 import * +import g4py.Qmaterials, g4py.NISTmaterials +import g4py.Qgeom, g4py.ExN01geom, g4py.ExN03geom +import g4py.ExN01pl, g4py.EMSTDpl +import g4py.ParticleGun, g4py.MedicalBeam + +# ================================================================== +# user setup +# ================================================================== + +# ------------------------------------------------------------------ +# Setup-0 (Q) +# ------------------------------------------------------------------ +def Setup0(): + # simple materials for Qgeom + g4py.Qmaterials.Construct() + + # NIST materials + #g4py.NISTmaterials.Construct() + + # normal way for constructing user geometry + #qDC= g4py.Qgeom.QDetectorConstruction() + #gRunManager.SetUserInitialization(qDC) + + # 2nd way, short-cut way + g4py.Qgeom.Construct() + + # primary + global primary_position, primary_direction + primary_position= G4ThreeVector(0.,0., -14.9*cm) + primary_direction= G4ThreeVector(0.2, 0., 1.) + + +# ------------------------------------------------------------------ +# Setup-1 (ExampleN01) +# ------------------------------------------------------------------ +def Setup1(): + g4py.ExN01geom.Construct() + + global primary_position, primary_direction + primary_position= G4ThreeVector(-2.5*m, 0., 0.) + primary_direction= G4ThreeVector(1., 0., 0.) + + +# ------------------------------------------------------------------ +# Setup-3 (ExampleN03) +# ------------------------------------------------------------------ +def Setup3(): + #exN03geom= g4py.ExN03geom.ExN03DetectorConstruction() + #gRunManager.SetUserInitialization(exN03geom) + + g4py.ExN03geom.Construct() + + global primary_position, primary_direction + primary_position= G4ThreeVector(-1.*m, 0., 0.) + primary_direction= G4ThreeVector(1., 0., 0.) + + +# ================================================================== +# main +# ================================================================== +# ------------------------------------------------------------------ +# randum number +# ------------------------------------------------------------------ +rand_engine= Ranlux64Engine() +HepRandom.setTheEngine(rand_engine) +HepRandom.setTheSeed(20050830) + +# ------------------------------------------------------------------ +# user setup +# ------------------------------------------------------------------ +Setup0() +#Setup1() +#Setup3() + + +# ------------------------------------------------------------------ +# setup for physics list +# ------------------------------------------------------------------ +# normal way for constructing user physics list +#exN01PL= ExN01PhysicsList.ExN01PhysicsList() +#gRunManager.SetUserInitialization(exN01PL) + +# 2nd way, short-cut way +# geantino + transportation +#g4py.ExN01pl.Construct() + +# electron/gamma standard EM +g4py.EMSTDpl.Construct() + +# ------------------------------------------------------------------ +# setup for primary generator action +# ------------------------------------------------------------------ +# ------------ +# Particle Gun +# ------------ +# normal way for constructing user physics list +#pgPGA= g4py.ParticleGun.ParticleGunAction() +#gRunManager.SetUserAction(pgPGA) +#pg= pgPGA.GetParticleGun() + +# 2nd way, short-cut way +pg= g4py.ParticleGun.Construct() + +# set parameters of particle gun +pg.SetParticleByName("e-") +pg.SetParticleEnergy(300.*MeV) +pg.SetParticlePosition(primary_position) +pg.SetParticleMomentumDirection(primary_direction) + +# ------------ +# Medical Beam +# ------------ +#beam= g4py.MedicalBeam.Construct() + +# ------------------------------------------------------------------ +# go... +# ------------------------------------------------------------------ +gRunManager.Initialize() + +# visualization +gApplyUICommand("/control/execute vis.mac") + +# beamOn +#gRunManager.BeamOn(3) + diff --git a/environments/g4py/tests/gtest03/python3/test.py b/environments/g4py/tests/gtest03/python3/test.py new file mode 100755 index 0000000000..8072373302 --- /dev/null +++ b/environments/g4py/tests/gtest03/python3/test.py @@ -0,0 +1,100 @@ +#!/usr/bin/python3 +# ================================================================== +# python script for Geant4Py test +# +# gtest02 +# - test for using site-module packages +# ================================================================== +from Geant4 import * +import g4py.NISTmaterials +import g4py.ezgeom +from g4py.ezgeom import G4EzVolume +import g4py.EMSTDpl +import g4py.ParticleGun + +# ================================================================== +# intialize +# ================================================================== +def Configure(): + # ------------------------------------------------------------------ + # setup for materials + # ------------------------------------------------------------------ + # simple materials for Qgeom + g4py.NISTmaterials.Construct() + + # ------------------------------------------------------------------ + # setup for geometry + # ------------------------------------------------------------------ + #g4py.Qgeom.Construct() + g4py.ezgeom.Construct() # initialize + + # ------------------------------------------------------------------ + # setup for physics list + # ------------------------------------------------------------------ + g4py.EMSTDpl.Construct() + + # ------------------------------------------------------------------ + # setup for primary generator action + # ------------------------------------------------------------------ + g4py.ParticleGun.Construct() + gControlExecute("gun.mac") + +# ================================================================== +# constructing geometry +# ================================================================== +def ConstructGeom(): + print("* Constructing geometry...") + # reset world material + air= G4Material.GetMaterial("G4_AIR") + g4py.ezgeom.SetWorldMaterial(air) + + # target + global target + target= G4EzVolume("Target") + au= G4Material.GetMaterial("G4_Au") + target.CreateTubeVolume(au, 0., 1.*cm, 1.*mm) + target.PlaceIt(G4ThreeVector(0.,0.,-10.*cm)) + + # dummy box + global detector_box, detector_box_pv + detector_box= G4EzVolume("DetectorBox") + detector_box.CreateBoxVolume(air, 20.*cm, 20.*cm, 40.*cm) + detector_box_pv= detector_box.PlaceIt(G4ThreeVector(0.,0.,20.*cm)) + + # calorimeter + global cal + cal= G4EzVolume("Calorimeter") + nai= G4Material.GetMaterial("G4_SODIUM_IODIDE") + cal.CreateBoxVolume(nai, 5.*cm, 5.*cm, 30.*cm) + dd= 5.*cm + for ical in range(-1, 2): + calPos= G4ThreeVector(dd*ical, 0., 0.) + print(calPos) + cal.PlaceIt(calPos, ical+1, detector_box) + + +# ================================================================== +# main +# ================================================================== +# ------------------------------------------------------------------ +# randum number +# ------------------------------------------------------------------ +rand_engine= Ranlux64Engine() +HepRandom.setTheEngine(rand_engine) +HepRandom.setTheSeed(20050830) + +# setup... +Configure() +ConstructGeom() + +# ------------------------------------------------------------------ +# go... +# ------------------------------------------------------------------ +gRunManager.Initialize() + +# visualization +gControlExecute("vis.mac") + +# beamOn +#gRunManager.BeamOn(3) + diff --git a/environments/g4py/tests/gtest04/python3/test.py b/environments/g4py/tests/gtest04/python3/test.py new file mode 100755 index 0000000000..0ab4e802c8 --- /dev/null +++ b/environments/g4py/tests/gtest04/python3/test.py @@ -0,0 +1,36 @@ +#!/usr/bin/python3 +# ================================================================== +# python script for Geant4Py test +# +# gtest04 +# - test for command tree and command information +# ================================================================== +from Geant4 import * + +def DumpTree(atree): + print("@@", atree.GetPathName(), "::", atree.GetTitle()) + ntree= atree.GetTreeEntry() + ncommand= atree.GetCommandEntry() + + for i in range(1, ncommand+1): + icommand= atree.GetCommand(i) + print(" **", icommand.GetCommandPath()) + print(" ", icommand.GetTitle()) + x= icommand.GetStateList() + + nparameter= icommand.GetParameterEntries() + for j in range(0, nparameter): + iparam= icommand.GetParameter(j) + print(" +", iparam.GetParameterName(), iparam.GetParameterType()) + + for i in range(1, ntree+1): + itree= atree.GetTree(i) + DumpTree(itree) + +# ================================================================== +# main +# ================================================================== +root_tree= gUImanager.GetTree() + +DumpTree(root_tree) + diff --git a/environments/g4py/tests/gtest05/python3/test.py b/environments/g4py/tests/gtest05/python3/test.py new file mode 100755 index 0000000000..91d181c3a2 --- /dev/null +++ b/environments/g4py/tests/gtest05/python3/test.py @@ -0,0 +1,310 @@ +#!/usr/bin/python3 +# ================================================================== +# python script for Geant4Py test +# +# gtest05 +# - test for CSG geometry construction in Python +# ================================================================== +from Geant4 import * +import g4py.ExN01pl, g4py.ParticleGun +import os, math + +# ================================================================== +# user actions in python +# ================================================================== +class MyDetectorConstruction(G4VUserDetectorConstruction): + "My Detector Construction" + + def __init__(self): + G4VUserDetectorConstruction.__init__(self) + self.air= gNistManager.FindOrBuildMaterial("G4_AIR") + self.lv_object= None + self.world= self.ConstructWorld() + + self.va_red= G4VisAttributes(G4Color(1.,0.,0.)) + self.va_cyan= G4VisAttributes(G4Color(0.,1.,1.)) + self.va_green= G4VisAttributes(G4Color(0.,1.,0.)) + self.va_blue= G4VisAttributes(G4Color(0.,0.,1.)) + self.va_magenta= G4VisAttributes(G4Color(1.,0.,1.)) + + # ----------------------------------------------------------------- + def ConstructWorld(self): + # Python has automatic garbage collection system. + # Geometry objects must be defined as GLOBAL not to be deleted. + global sld_world, lv_world, pv_world, va_world + + sld_world= G4Box("world", 1.*m, 1.*m, 1.*m) + lv_world= G4LogicalVolume(sld_world, self.air, "world") + pv_world= G4PVPlacement(G4Transform3D(), lv_world, "world", + None, False, 0) + + va_world= G4VisAttributes() + va_world.SetVisibility(False) + lv_world.SetVisAttributes(va_world) + + # solid object (dummy) + global sld_sld, lv_sld, pv_sld + sld_sld= G4Box("dummy", 10.*cm, 10.*cm, 10.*cm) + self.lv_object= lv_sld= G4LogicalVolume(sld_sld, self.air, "dummy") + pv_sld= G4PVPlacement(None, G4ThreeVector(), "dummy", lv_sld, + pv_world, False, 0) + + return pv_world + + # ----------------------------------------------------------------- + def ConstructBox(self): + global sld_box + sld_box= G4Box("box", 30.*cm, 40.*cm, 60.*cm) + self.lv_object.SetSolid(sld_box) + self.lv_object.SetVisAttributes(self.va_red) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructTubs(self): + global sld_tubs + sld_tubs= G4Tubs("tubs", 10.*cm, 15.*cm, 20.*cm, 0., pi) + self.lv_object.SetSolid(sld_tubs) + self.lv_object.SetVisAttributes(self.va_cyan) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructCons(self): + global sld_cons + sld_cons= G4Cons("cons", 5.*cm, 10.*cm, 20.*cm, 25.*cm, + 40.*cm, 0., 4./3.*pi) + self.lv_object.SetSolid(sld_cons) + self.lv_object.SetVisAttributes(self.va_green) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructPara(self): + global sld_para + sld_para= G4Para("para", 30.*cm, 40.*cm, 60.*cm, pi/4., pi/8., 0.) + self.lv_object.SetSolid(sld_para) + self.lv_object.SetVisAttributes(self.va_blue) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructTrd(self): + global sld_trd + sld_trd= G4Trd("trd", 30.*cm, 10.*cm, 40.*cm, 15.*cm, 60.*cm) + self.lv_object.SetSolid(sld_trd) + self.lv_object.SetVisAttributes(self.va_blue) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructTrap(self): + global sld_trap + sld_trap= G4Trap("trap", 60.*cm, 20.*degree, 5.*degree, + 40.*cm, 30.*cm, 40.*cm, 10.*degree, + 16.*cm, 10*cm, 14.*cm, 10.*deg) + self.lv_object.SetSolid(sld_trap) + self.lv_object.SetVisAttributes(self.va_green) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructSphere(self): + global sld_sphere + sld_sphere= G4Sphere("sphere", 100.*cm, 120.*cm, 0., 180.*deg, + 0., 180.*deg) + self.lv_object.SetSolid(sld_sphere) + self.lv_object.SetVisAttributes(self.va_cyan) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructOrb(self): + global sld_orb + sld_orb= G4Orb("orb", 100.*cm) + self.lv_object.SetSolid(sld_orb) + self.lv_object.SetVisAttributes(self.va_red) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructTorus(self): + global sld_torus + sld_torus= G4Torus("torus", 40.*cm, 60.*cm, 200.*cm, 0., 90.*deg) + self.lv_object.SetSolid(sld_torus) + self.lv_object.SetVisAttributes(self.va_magenta) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructPolycone(self): + zvec= G4doubleVector() + rinvec= G4doubleVector() + routvec= G4doubleVector() + + zvec[:]= [ 5.*cm, 7.*cm, 9.*cm, 11.*cm, 25.*cm, 27.*cm, 29.*cm, + 31.*cm, 35.*cm ] + rinvec[:]= [0.,0.,0.,0.,0.,0.,0.,0.,0.] + routvec[:]= [ 0., 10.*cm, 10.*cm, 5.*cm, 5.*cm, 10.*cm, + 10.*cm, 2.*cm, 2.*cm ] + + global sld_pcon + sld_pcon= CreatePolycone("pcon", 0., twopi, 9, zvec, rinvec,routvec) + self.lv_object.SetSolid(sld_pcon) + self.lv_object.SetVisAttributes(self.va_cyan) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructPolyhedra(self): + zvec= G4doubleVector() + rinvec= G4doubleVector() + routvec= G4doubleVector() + + zvec[:]= [ 0., 5.*cm, 8.*cm, 13.*cm, 30.*cm, 32.*cm, 35.*cm ] + rinvec[:]= [0.,0.,0.,0.,0.,0.,0. ] + routvec[:]= [ 0., 15.*cm, 15.*cm, 4.*cm, 4.*cm, 10.*cm, 10.*cm ] + + global sld_pgon + sld_pgon= CreatePolyhedra("pgon", 0., twopi, 5, 7, zvec, rinvec,routvec) + self.lv_object.SetSolid(sld_pgon) + self.lv_object.SetVisAttributes(self.va_green) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructEllipticalTube(self): + global sld_et + sld_et= G4EllipticalTube("ellipticaltube", 5.*cm, 10.*cm, 20.*cm) + self.lv_object.SetSolid(sld_et) + self.lv_object.SetVisAttributes(self.va_cyan) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructEllipsoid(self): + global sld_es + sld_es= G4Ellipsoid("ellipsoid", 10.*cm, 20.*cm, 50.*cm, + -10.*cm, 40.*cm) + self.lv_object.SetSolid(sld_es) + self.lv_object.SetVisAttributes(self.va_red) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructEllipticalCone(self): + global sld_ec + sld_ec= G4EllipticalCone("ellipticalcone", 30.*cm, 60.*cm, + 50.*cm, 25.*cm) + self.lv_object.SetSolid(sld_ec) + self.lv_object.SetVisAttributes(self.va_magenta) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructHype(self): + global sld_hype + sld_hype= G4Hype("hype", 20.*cm, 30.*cm, 0.7, 0.7, 50.*cm) + self.lv_object.SetSolid(sld_hype) + self.lv_object.SetVisAttributes(self.va_blue) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructTet(self): + global sld_tet + p1= G4ThreeVector(0., 0., math.sqrt(3.)*cm) + p2= G4ThreeVector(0., 2*math.sqrt(2./3.)*cm, -1./math.sqrt(3)*cm) + p3= G4ThreeVector(-math.sqrt(2.)*cm, -math.sqrt(2./3.)*cm, + -1./math.sqrt(3)*cm) + p4= G4ThreeVector(math.sqrt(2)*cm, -math.sqrt(2./3.)*cm, + -1./math.sqrt(3)*cm) + + sld_tet= G4Tet("tet", 20.*p1, 20.*p2, 20.*p3, 20.*p4) + self.lv_object.SetSolid(sld_tet) + self.lv_object.SetVisAttributes(self.va_green) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructTwistedBox(self): + global sld_twb + sld_twb= G4TwistedBox("twistedbox", 30.*deg, 30.*cm, 40.*cm, 60.*cm) + self.lv_object.SetSolid(sld_twb) + self.lv_object.SetVisAttributes(self.va_cyan) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructTwistedTrap(self): + global sld_twtrp + sld_twtrp= G4TwistedTrap("twistedtrap", 30.*deg, + 60.*cm, 20.*deg, 5.*deg, + 40.*cm, 30.*cm, 40.*cm, + 16.*cm, 10.*cm, 14.*cm, 10.*deg) + self.lv_object.SetSolid(sld_twtrp) + self.lv_object.SetVisAttributes(self.va_blue) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructTwistedTrd(self): + global sld_twtrd + sld_twtrd= G4TwistedTrd("twistedtrd", 30.*cm, 10.*cm, + 40.*cm, 15.*cm, 60.*cm, 30.*deg) + self.lv_object.SetSolid(sld_twtrd) + self.lv_object.SetVisAttributes(self.va_green) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructTwistedTubs(self): + global sld_twt + sld_twt= G4TwistedTubs("twistedtube", 60.*deg, + 10.*cm, 15.*cm, 20.*cm, 90.*deg) + self.lv_object.SetSolid(sld_twt) + self.lv_object.SetVisAttributes(self.va_magenta) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def Construct(self): # return the world volume + return self.world + +# ================================================================== +# main +# ================================================================== +os.environ["G4VRML_DEST_DIR"]= "." +os.environ["G4VRMLFILE_MAX_FILE_NUM"]= "1" +os.environ["G4VRMLFILE_VIEWER"]= "echo" + +# set geometry +myDC= MyDetectorConstruction() +gRunManager.SetUserInitialization(myDC) + +# minimal physics list +g4py.ExN01pl.Construct() + +# set primary generator action +g4py.ParticleGun.Construct() + +# initialize +gRunManager.Initialize() + +# visualization +gApplyUICommand("/vis/open VRML2FILE") +gApplyUICommand("/vis/scene/create") +gApplyUICommand("/vis/scene/add/volume") +gApplyUICommand("/vis/sceneHandler/attach") +gApplyUICommand("/vis/scene/add/axes 0. 0. 0. 10. cm") + +# create a vrml file for each solid type +f_list= ( + ("g4box", myDC.ConstructBox), + ("g4tubs", myDC.ConstructTubs), + ("g4cons", myDC.ConstructCons), + ("g4para", myDC.ConstructPara), + ("g4trd", myDC.ConstructTrd), + ("g4trap", myDC.ConstructTrap), + ("g4sphere", myDC.ConstructSphere), + ("g4orb", myDC.ConstructOrb), + ("g4torus", myDC.ConstructTorus), + ("g4polycone", myDC.ConstructPolycone), + ("g4polyhedra", myDC.ConstructPolyhedra), + ("g4ellipticaltube", myDC.ConstructEllipticalTube), + ("g4ellipsoid", myDC.ConstructEllipsoid), + ("g4ellipticalcone", myDC.ConstructEllipticalCone), + ("g4hype", myDC.ConstructHype), + ("g4tet", myDC.ConstructTet), + ("g4twistedbox", myDC.ConstructTwistedBox), + ("g4twistedtrap", myDC.ConstructTwistedTrap), + ("g4twistedtrd", myDC.ConstructTwistedTrd), + ("g4twistedtubs", myDC.ConstructTwistedTubs) + ) + +for s,f in f_list: + f.__call__() + gRunManager.BeamOn(1) + fname= "%s.wrl" % (s) + os.rename("g4_00.wrl", fname) + diff --git a/environments/g4py/tests/gtest05/vrml/g4sphere.wrl b/environments/g4py/tests/gtest05/vrml/g4sphere.wrl index 285c300eac..e3bfafdc9b 100644 --- a/environments/g4py/tests/gtest05/vrml/g4sphere.wrl +++ b/environments/g4py/tests/gtest05/vrml/g4sphere.wrl @@ -19,7 +19,7 @@ Viewpoint { coord Coordinate { point [ 0 0 1200, - 310.583 0 1159.11, + 310.583 2.1464e-307 1159.11, 300 80.3848 1159.11, 268.973 155.291 1159.11, 219.615 219.615 1159.11, @@ -32,7 +32,7 @@ Viewpoint { -268.973 155.291 1159.11, -300 80.3848 1159.11, -310.583 3.80354e-14 1159.11, - 600 0 1039.23, + 600 4.14653e-307 1039.23, 579.555 155.291 1039.23, 519.615 300 1039.23, 424.264 424.264 1039.23, @@ -45,7 +45,7 @@ Viewpoint { -519.615 300 1039.23, -579.555 155.291 1039.23, -600 7.34788e-14 1039.23, - 848.528 0 848.528, + 848.528 5.86408e-307 848.528, 819.615 219.615 848.528, 734.847 424.264 848.528, 600 600 848.528, @@ -58,7 +58,7 @@ Viewpoint { -734.847 424.264 848.528, -819.615 219.615 848.528, -848.528 1.03915e-13 848.528, - 1039.23 0 600, + 1039.23 7.182e-307 600, 1003.82 268.973 600, 900 519.615 600, 734.847 734.847 600, @@ -71,7 +71,7 @@ Viewpoint { -900 519.615 600, -1003.82 268.973 600, -1039.23 1.27269e-13 600, - 1159.11 0 310.583, + 1159.11 8.01048e-307 310.583, 1119.62 300 310.583, 1003.82 579.555 310.583, 819.615 819.615 310.583, @@ -84,7 +84,7 @@ Viewpoint { -1003.82 579.555 310.583, -1119.62 300 310.583, -1159.11 1.4195e-13 310.583, - 1200 0 7.34788e-14, + 1200 8.29306e-307 7.34788e-14, 1159.11 310.583 7.34788e-14, 1039.23 600 7.34788e-14, 848.528 848.528 7.34788e-14, @@ -97,7 +97,7 @@ Viewpoint { -1039.23 600 7.34788e-14, -1159.11 310.583 7.34788e-14, -1200 1.46958e-13 7.34788e-14, - 1159.11 0 -310.583, + 1159.11 8.01048e-307 -310.583, 1119.62 300 -310.583, 1003.82 579.555 -310.583, 819.615 819.615 -310.583, @@ -110,7 +110,7 @@ Viewpoint { -1003.82 579.555 -310.583, -1119.62 300 -310.583, -1159.11 1.4195e-13 -310.583, - 1039.23 0 -600, + 1039.23 7.182e-307 -600, 1003.82 268.973 -600, 900 519.615 -600, 734.847 734.847 -600, @@ -123,7 +123,7 @@ Viewpoint { -900 519.615 -600, -1003.82 268.973 -600, -1039.23 1.27269e-13 -600, - 848.528 0 -848.528, + 848.528 5.86408e-307 -848.528, 819.615 219.615 -848.528, 734.847 424.264 -848.528, 600 600 -848.528, @@ -136,7 +136,7 @@ Viewpoint { -734.847 424.264 -848.528, -819.615 219.615 -848.528, -848.528 1.03915e-13 -848.528, - 600 0 -1039.23, + 600 4.14653e-307 -1039.23, 579.555 155.291 -1039.23, 519.615 300 -1039.23, 424.264 424.264 -1039.23, @@ -149,7 +149,7 @@ Viewpoint { -519.615 300 -1039.23, -579.555 155.291 -1039.23, -600 7.34788e-14 -1039.23, - 310.583 0 -1159.11, + 310.583 2.1464e-307 -1159.11, 300 80.3848 -1159.11, 268.973 155.291 -1159.11, 219.615 219.615 -1159.11, @@ -164,7 +164,7 @@ Viewpoint { -310.583 3.80354e-14 -1159.11, 0 0 -1200, 0 0 1000, - 258.819 0 965.926, + 258.819 1.78867e-307 965.926, 250 66.9873 965.926, 224.144 129.41 965.926, 183.013 183.013 965.926, @@ -177,7 +177,7 @@ Viewpoint { -224.144 129.41 965.926, -250 66.9873 965.926, -258.819 3.16962e-14 965.926, - 500 0 866.025, + 500 3.45544e-307 866.025, 482.963 129.41 866.025, 433.013 250 866.025, 353.553 353.553 866.025, @@ -190,7 +190,7 @@ Viewpoint { -433.013 250 866.025, -482.963 129.41 866.025, -500 6.12323e-14 866.025, - 707.107 0 707.107, + 707.107 4.88673e-307 707.107, 683.013 183.013 707.107, 612.372 353.553 707.107, 500 500 707.107, @@ -203,7 +203,7 @@ Viewpoint { -612.372 353.553 707.107, -683.013 183.013 707.107, -707.107 8.65956e-14 707.107, - 866.025 0 500, + 866.025 5.985e-307 500, 836.516 224.144 500, 750 433.013 500, 612.372 612.372 500, @@ -216,7 +216,7 @@ Viewpoint { -750 433.013 500, -836.516 224.144 500, -866.025 1.06058e-13 500, - 965.926 0 258.819, + 965.926 6.6754e-307 258.819, 933.013 250 258.819, 836.516 482.963 258.819, 683.013 683.013 258.819, @@ -229,7 +229,7 @@ Viewpoint { -836.516 482.963 258.819, -933.013 250 258.819, -965.926 1.18292e-13 258.819, - 1000 0 6.12323e-14, + 1000 6.91088e-307 6.12323e-14, 965.926 258.819 6.12323e-14, 866.025 500 6.12323e-14, 707.107 707.107 6.12323e-14, @@ -242,7 +242,7 @@ Viewpoint { -866.025 500 6.12323e-14, -965.926 258.819 6.12323e-14, -1000 1.22465e-13 6.12323e-14, - 965.926 0 -258.819, + 965.926 6.6754e-307 -258.819, 933.013 250 -258.819, 836.516 482.963 -258.819, 683.013 683.013 -258.819, @@ -255,7 +255,7 @@ Viewpoint { -836.516 482.963 -258.819, -933.013 250 -258.819, -965.926 1.18292e-13 -258.819, - 866.025 0 -500, + 866.025 5.985e-307 -500, 836.516 224.144 -500, 750 433.013 -500, 612.372 612.372 -500, @@ -268,7 +268,7 @@ Viewpoint { -750 433.013 -500, -836.516 224.144 -500, -866.025 1.06058e-13 -500, - 707.107 0 -707.107, + 707.107 4.88673e-307 -707.107, 683.013 183.013 -707.107, 612.372 353.553 -707.107, 500 500 -707.107, @@ -281,7 +281,7 @@ Viewpoint { -612.372 353.553 -707.107, -683.013 183.013 -707.107, -707.107 8.65956e-14 -707.107, - 500 0 -866.025, + 500 3.45544e-307 -866.025, 482.963 129.41 -866.025, 433.013 250 -866.025, 353.553 353.553 -866.025, @@ -294,7 +294,7 @@ Viewpoint { -433.013 250 -866.025, -482.963 129.41 -866.025, -500 6.12323e-14 -866.025, - 258.819 0 -965.926, + 258.819 1.78867e-307 -965.926, 250 66.9873 -965.926, 224.144 129.41 -965.926, 183.013 183.013 -965.926, diff --git a/environments/g4py/tests/gtest06/python3/test.py b/environments/g4py/tests/gtest06/python3/test.py new file mode 100755 index 0000000000..cfdeaf3096 --- /dev/null +++ b/environments/g4py/tests/gtest06/python3/test.py @@ -0,0 +1,126 @@ +#!/usr/bin/python3 +# ================================================================== +# python script for Geant4Py test +# +# gtest06 +# - test for constructing/visualizing boolean geoemtries +# ================================================================== +from Geant4 import * +import g4py.ExN01pl, g4py.ParticleGun + +# ================================================================== +# user actions in python +# ================================================================== +class MyDetectorConstruction(G4VUserDetectorConstruction): + "My Detector Construction" + + def __init__(self): + G4VUserDetectorConstruction.__init__(self) + self.air= gNistManager.FindOrBuildMaterial("G4_AIR") + self.lv_object= None + self.world= self.ConstructWorld() + + self.va_red= G4VisAttributes(G4Color(1.,0.,0.)) + self.va_cyan= G4VisAttributes(G4Color(0.,1.,1.)) + self.va_green= G4VisAttributes(G4Color(0.,1.,0.)) + self.va_blue= G4VisAttributes(G4Color(0.,0.,1.)) + self.va_magenta= G4VisAttributes(G4Color(1.,0.,1.)) + + self.sld_box= G4Box("box",20.*cm, 20.*cm, 20.*cm); + self.sld_cyl= G4Tubs("cylinder",0., 10.*cm, 30.*cm, 0., twopi) + + # ----------------------------------------------------------------- + def ConstructWorld(self): + # Python has automatic garbage collection system. + # Geometry objects must be defined as GLOBAL not to be deleted. + global sld_world, lv_world, pv_world, va_world + + sld_world= G4Box("world", 1.*m, 1.*m, 1.*m) + lv_world= G4LogicalVolume(sld_world, self.air, "world") + pv_world= G4PVPlacement(G4Transform3D(), lv_world, "world", + None, False, 0) + + va_world= G4VisAttributes() + va_world.SetVisibility(False) + lv_world.SetVisAttributes(va_world) + + # solid object (dummy) + global sld_sld, lv_sld, pv_sld + sld_sld= G4Box("dummy", 10.*cm, 10.*cm, 10.*cm) + self.lv_object= lv_sld= G4LogicalVolume(sld_sld, self.air, "dummy") + pv_sld= G4PVPlacement(None, G4ThreeVector(), "dummy", lv_sld, + pv_world, False, 0) + + return pv_world + + # ----------------------------------------------------------------- + def ConstructUnion(self): + global sld_union + sld_union= G4UnionSolid("box+cylinder", self.sld_box, self.sld_cyl); + + self.lv_object.SetSolid(sld_union) + self.lv_object.SetVisAttributes(self.va_blue) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructIntersection(self): + offset= G4ThreeVector(20.*cm, 20.*cm, 0.) + global sld_intersection + sld_intersection= G4IntersectionSolid("box*cylinder", + self.sld_box, self.sld_cyl, + None, offset) + + self.lv_object.SetSolid(sld_intersection) + self.lv_object.SetVisAttributes(self.va_magenta) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def ConstructSubtraction(self): + global sld_subtraction + sld_subtraction= G4SubtractionSolid("box-cylinder", + self.sld_box, self.sld_cyl) + + self.lv_object.SetSolid(sld_subtraction) + self.lv_object.SetVisAttributes(self.va_red) + gRunManager.GeometryHasBeenModified() + + # ----------------------------------------------------------------- + def Construct(self): # return the world volume + return self.world + +# ================================================================== +# main +# ================================================================== +# set geometry +myDC= MyDetectorConstruction() +gRunManager.SetUserInitialization(myDC) + +# minimal physics list +g4py.ExN01pl.Construct() + +# set primary generator action +g4py.ParticleGun.Construct() + +# initialize +gRunManager.Initialize() + +# visualization +gApplyUICommand("/vis/open RayTracer") +gApplyUICommand("/vis/rayTracer/headAngle 40.") +gApplyUICommand("/vis/rayTracer/eyePosition 100 100 150 cm") + +# create a vrml file for each solid type +f_list= ( + ("union", myDC.ConstructUnion), + ("intersection", myDC.ConstructIntersection), + ("subtraction", myDC.ConstructSubtraction) + ) + + +for s,f in f_list: + f.__call__() + fname= "%s.jpg" % (s) + cmdstr= "/vis/rayTracer/trace " + fname + gApplyUICommand(cmdstr) + + diff --git a/environments/g4py/tests/gtest07/python3/test.py b/environments/g4py/tests/gtest07/python3/test.py new file mode 100755 index 0000000000..f263b7d1de --- /dev/null +++ b/environments/g4py/tests/gtest07/python3/test.py @@ -0,0 +1,80 @@ +#!/usr/bin/python3 +# ================================================================== +# python script for Geant4Py test +# +# gtest07 +# - test for checking overlapped geometries +# ================================================================== +from Geant4 import * +import g4py.ExN01pl, g4py.ParticleGun + +# ================================================================== +# user actions in python +# ================================================================== +class MyDetectorConstruction(G4VUserDetectorConstruction): + "My Detector Construction" + + def __init__(self): + G4VUserDetectorConstruction.__init__(self) + + # ----------------------------------------------------------------- + def Construct(self): + # Python has automatic garbage collection system. + # Geometry objects must be defined as GLOBAL not to be deleted. + air= gNistManager.FindOrBuildMaterial("G4_AIR") + + # world volume + global sld_world, lv_world, pv_world + sld_world= G4Box("world", 1.*m, 1.*m, 1.*m) + lv_world= G4LogicalVolume(sld_world, air, "world") + pv_world= G4PVPlacement(G4Transform3D(), lv_world, "world", + None, False, 0) + + # box + global sld_box, lv_box, pv_box + sld_box= G4Box("box", 10.*cm, 10.*cm, 10.*cm); + lv_box= G4LogicalVolume(sld_box, air, "box") + pv_box= G4PVPlacement(None, G4ThreeVector(), "box", lv_box, + pv_world, False, 0, True) + + # cylinder + global sld_cyl, lv_cyl, pv_cyl1, pv_cyl2, pv_cyl3 + sld_cyl= G4Tubs("cylinder",0., 2.*cm, 2.*cm, 0., twopi) + lv_cyl= G4LogicalVolume(sld_cyl, air, "cylinder") + + # + # the following placements are !! overlapped !! + # + # doubly placed + pv_cyl1= G4PVPlacement(None, G4ThreeVector(), "cylinder", lv_cyl, + pv_world, False, 0, True) + + # overlaped + pv_cyl2= G4PVPlacement(None, G4ThreeVector(10.*cm,0.,0.), + "cylinder", lv_cyl, + pv_world, False, 1, True) + + # sticked out + pv_cyl3= G4PVPlacement(None, G4ThreeVector(10.*cm,0.,0.), + "cylinder", lv_cyl, + pv_box, False, 0, True) + + return pv_world + +# ================================================================== +# main +# ================================================================== +# set geometry +myDC= MyDetectorConstruction() +gRunManager.SetUserInitialization(myDC) + +# minimal physics list +g4py.ExN01pl.Construct() + +# set primary generator action +g4py.ParticleGun.Construct() + +# initialize +gRunManager.Initialize() # overlap should be detected !! + + diff --git a/environments/g4py/tools/g4autobuild/g4autobuild b/environments/g4py/tools/g4autobuild/g4autobuild index 6ec14ca35e..2588e6c198 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.1 Dec 2008 +# Version 2.4.2 Apr. 2010 # # [usage] # g4autobuild [] @@ -16,9 +16,6 @@ # ====================================================================== export LANG=C -IFS=' - ' - PATH=/bin:/usr/bin export PATH @@ -87,6 +84,7 @@ EOF add_ui_envs() { aui=$1 +if [ $aui = TCSH -o $aui = GAG ]; then # for bash cat >> g4rc.sh <> g4rc.csh <> g4rc.sh <> g4rc.csh < /dev/null 2>&1 @@ -266,6 +285,11 @@ if [ $xercescroot ]; then add_ext_env XERCESCROOT $xercescroot fi +if [ $qthome ]; then + envval=QTHOME + add_ext_env QTHOME $qthome +fi + cat >> g4rc.sh < +#ifdef CEXMC_USE_PERSISTENCY +#include +#include +#ifdef CEXMC_USE_CUSTOM_FILTER +#include +#endif +#endif +#include +#include +#include +#ifdef G4UI_USE +#include +#include +#ifdef G4UI_USE_TCSH +#include +#endif +#ifdef G4UI_USE_QT +#include +#endif +#endif +#ifdef G4VIS_USE +#include +#endif +#include "CexmcRunManager.hh" +#ifdef CEXMC_USE_ROOT +#include "CexmcHistoManager.hh" +#endif +#include "CexmcSetup.hh" +#include "CexmcPhysicsList.hh" +#include "CexmcPhysicsManager.hh" +#include "CexmcPrimaryGeneratorAction.hh" +#include "CexmcTrackingAction.hh" +#include "CexmcSteppingAction.hh" +#include "CexmcEventAction.hh" +#include "CexmcRunAction.hh" +#include "CexmcMessenger.hh" +#include "CexmcException.hh" +#include "CexmcBasicPhysicsSettings.hh" +#include "CexmcCommon.hh" + + +namespace +{ + const G4String CexmcVisManagerVerboseLevel( "errors" ); +} + + +struct CexmcCmdLineData +{ + CexmcCmdLineData() : isInteractive( false ), startQtSession( false ), + preinitMacro( "" ), initMacro( "" ), rProject( "" ), + wProject( "" ), overrideExistingProject( false ), + customFilter( "" ) + {} + + G4bool isInteractive; + G4bool startQtSession; + G4String preinitMacro; + G4String initMacro; + G4String rProject; + G4String wProject; + G4bool overrideExistingProject; + CexmcOutputDataTypeSet outputData; + G4String customFilter; +}; + + +void printUsage( void ) +{ +#ifdef CEXMC_PROG_NAME + const char * progName( CEXMC_PROG_NAME ); +#else + const char * progName( "cexmc" ); +#endif + + G4cout << "Usage: " << progName << " [-i] " +#ifdef G4UI_USE_QT + "[-g] " +#endif + "[-p preinit_macro] [-m init_macro] " +#ifdef CEXMC_USE_PERSISTENCY + "[[-y] -w project]" << G4endl << + " [-r project " +#ifdef CEXMC_USE_CUSTOM_FILTER + "[-f filter_script] " +#endif + "[-o list]]" +#endif + << G4endl; + G4cout << "or " << progName << " [--help | -h]" << G4endl; + G4cout << " -i - run in interactive mode" << G4endl; +#ifdef G4UI_USE_QT + G4cout << " -g - start graphical interface (Qt), implies " + "interactive mode " << G4endl; +#endif + G4cout << " -p - use specified preinit macro file " << G4endl; + G4cout << " -m - use specified init macro file " << G4endl; +#ifdef CEXMC_USE_PERSISTENCY + G4cout << " -w - save data in specified project files" << G4endl; + G4cout << " -r - read data from specified project files" << + G4endl; +#ifdef CEXMC_USE_CUSTOM_FILTER + G4cout << " -f - use specified custom filter script" << G4endl; +#endif + G4cout << " -o - comma-separated list of data to output, " + "possible values:" << G4endl << + " run, geom, events" << G4endl; + G4cout << " -y - force project override" << G4endl; +#endif + G4cout << " --help | -h - print this message and exit " << G4endl; +} + + +G4bool parseArgs( int argc, char ** argv, CexmcCmdLineData & cmdLineData ) +{ + if ( argc < 2 ) + return false; + + for ( G4int i( 1 ); i < argc; ++i ) + { + do + { + if ( G4String( argv[ i ] ) == "--help" ) + { + return false; + } + if ( G4String( argv[ i ] ) == "-h" ) + { + return false; + } + if ( G4String( argv[ i ], 2 ) == "-i" ) + { + cmdLineData.isInteractive = true; + break; + } +#ifdef G4UI_USE_QT + if ( G4String( argv[ i ], 2 ) == "-g" ) + { + cmdLineData.isInteractive = true; + cmdLineData.startQtSession = true; + break; + } +#endif + if ( G4String( argv[ i ], 2 ) == "-p" ) + { + cmdLineData.preinitMacro = argv[ i ] + 2; + if ( cmdLineData.preinitMacro == "" ) + { + if ( ++i >= argc ) + throw CexmcException( CexmcCmdLineParseException ); + cmdLineData.preinitMacro = argv[ i ]; + } + break; + } + if ( G4String( argv[ i ], 2 ) == "-m" ) + { + cmdLineData.initMacro = argv[ i ] + 2; + if ( cmdLineData.initMacro == "" ) + { + if ( ++i >= argc ) + throw CexmcException( CexmcCmdLineParseException ); + cmdLineData.initMacro = argv[ i ]; + } + break; + } +#ifdef CEXMC_USE_PERSISTENCY + if ( G4String( argv[ i ], 2 ) == "-w" ) + { + cmdLineData.wProject = argv[ i ] + 2; + if ( cmdLineData.wProject == "" ) + { + if ( ++i >= argc ) + throw CexmcException( CexmcCmdLineParseException ); + cmdLineData.wProject = argv[ i ]; + } + break; + } + if ( G4String( argv[ i ], 2 ) == "-r" ) + { + cmdLineData.rProject = argv[ i ] + 2; + if ( cmdLineData.rProject == "" ) + { + if ( ++i >= argc ) + throw CexmcException( CexmcCmdLineParseException ); + cmdLineData.rProject = argv[ i ]; + } + break; + } + if ( G4String( argv[ i ], 2 ) == "-y" ) + { + cmdLineData.overrideExistingProject = true; + break; + } + if ( G4String( argv[ i ], 2 ) == "-o" ) + { + std::string outputData( argv[ i ] + 2 ); + if ( outputData == "" ) + { + if ( ++i >= argc ) + throw CexmcException( CexmcCmdLineParseException ); + outputData = argv[ i ]; + } + std::set< std::string > tokens; + boost::split( tokens, outputData, boost::is_any_of( "," ) ); + for ( std::set< std::string >::iterator k( tokens.begin() ); + k != tokens.end(); ++k ) + { + do + { + if ( *k == "run" ) + { + cmdLineData.outputData.insert( CexmcOutputRun ); + break; + } + if ( *k == "geom" ) + { + cmdLineData.outputData.insert( + CexmcOutputGeometry ); + break; + } + if ( *k == "events" ) + { + cmdLineData.outputData.insert( CexmcOutputEvents ); + break; + } + throw CexmcException( CexmcCmdLineParseException ); + } while ( false ); + } + break; + } +#ifdef CEXMC_USE_CUSTOM_FILTER + if ( G4String( argv[ i ], 2 ) == "-f" ) + { + cmdLineData.customFilter = argv[ i ] + 2; + if ( cmdLineData.customFilter == "" ) + { + if ( ++i >= argc ) + throw CexmcException( CexmcCmdLineParseException ); + cmdLineData.customFilter = argv[ i ]; + } + break; + } +#endif +#endif + + throw CexmcException( CexmcCmdLineParseException ); + + } while ( false ); + } + + return true; +} + + +int main( int argc, char ** argv ) +{ +#ifdef G4UI_USE + G4UIsession * session( NULL ); +#endif + + CexmcCmdLineData cmdLineData; +#ifdef CEXMC_USE_PERSISTENCY + G4bool outputDataOnly( false ); +#endif + + try + { + if ( ! parseArgs( argc, argv, cmdLineData ) ) + { + printUsage(); + return 0; + } +#ifdef CEXMC_USE_PERSISTENCY + if ( cmdLineData.rProject != "" && + cmdLineData.rProject == cmdLineData.wProject ) + throw CexmcException( CexmcCmdLineParseException ); + if ( cmdLineData.rProject == "" && ! cmdLineData.outputData.empty() ) + throw CexmcException( CexmcCmdLineParseException ); +#ifdef CEXMC_USE_CUSTOM_FILTER + if ( cmdLineData.rProject == "" && ! cmdLineData.customFilter.empty() ) + throw CexmcException( CexmcCmdLineParseException ); +#endif + if ( cmdLineData.wProject != "" && ! cmdLineData.outputData.empty() ) + throw CexmcException( CexmcCmdLineParseException ); + outputDataOnly = ! cmdLineData.outputData.empty(); +#endif + } + catch ( CexmcException & e ) + { + G4cout << e.what() << G4endl; + return 1; + } + catch ( ... ) + { + G4cout << "Unknown exception caught when parsing args" << G4endl; + return 1; + } + + CexmcRunManager * runManager( NULL ); +#ifdef G4VIS_USE + G4VisManager * visManager( NULL ); +#endif + + CexmcMessenger::Instance(); +#ifdef CEXMC_USE_ROOT + CexmcHistoManager::Instance(); +#endif + + try + { + runManager = new CexmcRunManager( cmdLineData.wProject, + cmdLineData.rProject, + cmdLineData.overrideExistingProject ); +#ifdef CEXMC_USE_PERSISTENCY +#ifdef CEXMC_USE_CUSTOM_FILTER + runManager->SetCustomFilter( cmdLineData.customFilter ); +#endif + + if ( outputDataOnly ) + { + /* we will need an arbitrary physics list to get access to particle + * table if events output was ordered */ + CexmcOutputDataTypeSet::const_iterator found( + cmdLineData.outputData.find( CexmcOutputEvents ) ); + if ( found != cmdLineData.outputData.end() ) + runManager->SetUserInitialization( + CexmcChargeExchangePMFactory:: + Create( CexmcPionZeroProduction ) ); + runManager->PrintReadData( cmdLineData.outputData ); + delete runManager; + return 0; + } +#endif + + G4UImanager * uiManager( G4UImanager::GetUIpointer() ); + + if ( cmdLineData.preinitMacro != "" ) + uiManager->ApplyCommand( "/control/execute " + + cmdLineData.preinitMacro ); + + CexmcProductionModelType productionModelType( + runManager->GetProductionModelType() ); + + if ( productionModelType == CexmcUnknownProductionModel ) + throw CexmcException( CexmcPreinitException ); + + G4VUserPhysicsList * physicsList( CexmcChargeExchangePMFactory:: + Create( productionModelType ) ); + CexmcPhysicsManager * physicsManager( + dynamic_cast< CexmcPhysicsManager * >( physicsList ) ); + CexmcProductionModel * productionModel( + physicsManager->GetProductionModel() ); + + if ( ! productionModel ) + throw CexmcException( CexmcWeirdException ); + + G4cout << CEXMC_LINE_START << "Production model '" << + productionModel->GetName() << "' instantiated" << G4endl; + + runManager->SetUserInitialization( physicsList ); + + CexmcSetup * setup( new CexmcSetup( runManager->GetGdmlFileName(), + runManager->ShouldGdmlFileBeValidated() ) ); + + runManager->SetUserInitialization( setup ); + + runManager->Initialize(); + + runManager->SetPhysicsManager( physicsManager ); + + runManager->SetUserAction( new CexmcPrimaryGeneratorAction( + physicsManager ) ); + + runManager->SetUserAction( new CexmcEventAction( physicsManager ) ); + + runManager->SetUserAction( new CexmcRunAction( physicsManager ) ); + + runManager->SetUserAction( new CexmcTrackingAction( physicsManager ) ); + + runManager->SetUserAction( new CexmcSteppingAction( physicsManager ) ); + +#ifdef CEXMC_USE_ROOT + CexmcHistoManager::Instance()->Initialize(); +#endif + +#ifdef G4VIS_USE + if ( cmdLineData.isInteractive ) + { +#if G4VERSION_NUMBER < 940 + visManager = new G4VisExecutive; +#else + visManager = new G4VisExecutive( CexmcVisManagerVerboseLevel ); +#endif + visManager->Initialize(); + } +#endif + +#ifdef CEXMC_USE_PERSISTENCY + if ( runManager->ProjectIsRead() ) + { + runManager->ReadProject(); + runManager->PrintReadRunData(); + } +#endif + + if ( cmdLineData.initMacro != "" ) + uiManager->ApplyCommand( "/control/execute " + + cmdLineData.initMacro ); + + if ( cmdLineData.isInteractive ) + { + productionModel->PrintInitialData(); + } + +#ifdef G4UI_USE + if ( cmdLineData.isInteractive ) + { + if ( cmdLineData.startQtSession ) + { +#ifdef G4UI_USE_QT + session = new G4UIQt( argc, argv ); + const G4String & guiMacroName( runManager->GetGuiMacroName() ); + if ( guiMacroName != "" ) + uiManager->ApplyCommand( "/control/execute " + + guiMacroName ); +#ifdef CEXMC_USE_ROOTQT + runManager->EnableLiveHistograms(); +#endif +#endif + } + else + { +#ifdef G4UI_USE_TCSH + session = new G4UIterminal( new G4UItcsh ); +#else + session = new G4UIterminal; +#endif + } + if ( session ) + session->SessionStart(); + } +#endif + +#ifdef CEXMC_USE_PERSISTENCY + if ( runManager->ProjectIsSaved() ) + { + runManager->SaveProject(); + } +#endif + } + catch ( CexmcException & e ) + { + G4cout << e.what() << G4endl; + } +#ifdef CEXMC_USE_PERSISTENCY + catch ( boost::archive::archive_exception & e ) + { + G4cout << CEXMC_LINE_START << "Serialization error: " << e.what() << + G4endl; + } +#ifdef CEXMC_USE_CUSTOM_FILTER + catch ( boost::bad_get & e ) + { + G4cout << CEXMC_LINE_START << "Custom filter error: " << e.what() << + G4endl; + } +#endif +#endif + catch ( ... ) + { + G4cout << "Unknown exception caught" << G4endl; + } + +#ifdef CEXMC_USE_ROOT + CexmcHistoManager::Destroy(); +#endif + CexmcMessenger::Destroy(); + +#ifdef G4VIS_USE + delete visManager; +#endif + delete runManager; +#ifdef G4UI_USE + delete session; +#endif + + return 0; +} + diff --git a/examples/advanced/ChargeExchangeMC/GNUmakefile b/examples/advanced/ChargeExchangeMC/GNUmakefile new file mode 100644 index 0000000000..ccaf57f94b --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/GNUmakefile @@ -0,0 +1,101 @@ +name := ChargeExchangeMC +G4TARGET := $(name) +G4EXLIB := true + +CPPFLAGS += -DCEXMC_PROG_NAME=\"$(name)\" + +# if CEXMC_USE_PERSISTENCY is 'yes' then run and events data can be read and +# written; requires boost::serialize headers and library +CEXMC_USE_PERSISTENCY := yes +# if CEXMC_USE_CUSTOM_FILTER is 'yes' then Custom filter can be used for +# existing events data; requires boost::spirit 2.x headers. Notice: if +# CEXMC_USE_PERSISTENCY is not 'yes' then Custom Filter will not be used anyway +CEXMC_USE_CUSTOM_FILTER := no +# if CEXMC_DEBUG_CUSTOM_FILTER is 'yes' then AST trees will be printed out +CEXMC_DEBUG_CUSTOM_FILTER := no +# if CEXMC_USE_HISTOGRAMING is 'yes' then ROOT histograming framework will be +# compiled. Notice: if ROOT CERN is not installed in tour system then the +# histograming module won't compile anyway +CEXMC_USE_HISTOGRAMING := yes +# if CEXMC_USE_QGSP_BIC_EMY is 'yes' then QGSP_BIC_EMY will be used as basic +# physics, otherwise - QGSP_BERT +CEXMC_USE_QGSP_BIC_EMY := no +# if CEXMC_USE_GENBOD is 'yes' then original FORTRAN routine GENBOD() will be +# used as phase space generator +CEXMC_USE_GENBOD := no +# if CEXMC_DEBUG_TP is 'yes' then additional info will be printed on track +# points data +CEXMC_DEBUG_TP := no + + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +ifdef BOOST_INCLUDE_PATH + CPPFLAGS += -I$(BOOST_INCLUDE_PATH) +endif + +ifdef BOOST_LIBRARY_PATH + EXTRALIBS += -L$(BOOST_LIBRARY_PATH) +endif + +ifeq ($(CEXMC_USE_GENBOD),yes) + CPPFLAGS += -DCEXMC_USE_GENBOD + EXTRALIBS += `cernlib geant321 phtools packlib kernlib` + GCC_VERSION := $(shell gcc --version | head -1 | awk '{ printf $$3 }' | \ + awk -F"." '{ printf $$1 }') + ifdef CEXMC_FORTRAN_LIB + EXTRALIBS += $(CEXMC_FORTRAN_LIB) + else + # try to setup fortran lib automatically + # WARNING: the following is not robust check because cernlib can be built + # against libg2c even when using gcc-4 series + # Please define CEXMC_FORTRAN_LIB if the check fails + ifeq ($(GCC_VERSION),3) + EXTRALIBS += -lg2c + else + EXTRALIBS += -lgfortran + endif + endif +endif + +ifeq ($(CEXMC_USE_PERSISTENCY),yes) + EXTRALIBS += -lboost_serialization + CPPFLAGS += -DCEXMC_USE_PERSISTENCY + ifeq ($(CEXMC_USE_CUSTOM_FILTER),yes) + CPPFLAGS += -DCEXMC_USE_CUSTOM_FILTER + ifeq ($(CEXMC_DEBUG_CUSTOM_FILTER),yes) + CPPFLAGS += -DCEXMC_DEBUG_CF + endif + endif +endif + +ifeq ($(CEXMC_USE_HISTOGRAMING),yes) + # try to determine if ROOT will be used automatically + USE_ROOT := $(shell which root-config 2>/dev/null) + ifneq ($(USE_ROOT)),) + CPPFLAGS += -I`root-config --incdir` + EXTRALIBS += `root-config --libs` + CPPFLAGS += -DCEXMC_USE_ROOT + # try to determine if ROOT-Qt binding will be used automatically + USE_ROOTQT := $(shell root-config --features | grep qt) + ifneq ($(USE_ROOTQT),) + EXTRALIBS += -lGQt + CPPFLAGS += -DCEXMC_USE_ROOTQT + endif + endif +endif + +ifeq ($(CEXMC_USE_QGSP_BIC_EMY),yes) + CPPFLAGS += -DCEXMC_USE_QGSP_BIC_EMY +endif + +ifeq ($(CEXMC_DEBUG_TP),yes) + CPPFLAGS += -DCEXMC_DEBUG_TP +endif + +.PHONY: all +all: lib bin + +include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/advanced/ChargeExchangeMC/History b/examples/advanced/ChargeExchangeMC/History new file mode 100644 index 0000000000..a5746786f9 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/History @@ -0,0 +1,22 @@ + ------------------------------------------------------------------------------- +History File, 2010/11/18 G.A.P. Cirrone, Created +cirrone@lns.infn.it +------------------------------------------------------------------------------- + + ==================================================== + History file of the ChargeExchangeMC application + ==================================================== + +23.11.2010, G.A.P.Cirrone & A.Radkov, Tag: ChargeExchangeMC-V09-03-03 + - Possibility to remove the boost dependence + - Documentation updated + - README updated + +18.11.2010, G.A.P.Cirrone & A.Radkov, Tag: ChargeExchangeMC-V09-03-02 + - Corrected tag name erroneously assigned + +18.11.2010, G.A.P.Cirrone & A.Radkov, Tag: ChargeExchangeMC-V09-03-01 + - General code revision and update + +18.11.2010, G.A.P. Cirrone, Tag: ChargeExchangeMC-V09-03-00 + - First tag of the example \ No newline at end of file diff --git a/examples/advanced/ChargeExchangeMC/README b/examples/advanced/ChargeExchangeMC/README new file mode 100644 index 0000000000..e2e7b32245 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/README @@ -0,0 +1,106 @@ + + ===================================================================== + Geant4 - Cexmc advanced example + ===================================================================== + + README + ----------------------- + +Author: A. Radkov (alexey.radkov@gmail.com) + +------> Introduction + +Cexmc stands for Charge EXchange Monte Carlo. The program was used to simulate +real experiments in Petersburg Nuclear Physics Institute (PNPI, Russia). +Detailed User's Manual and explanatory images of the experimental setup can be +found in directory doc/ of this example. + +------> Compilation + +Basic modules of Cexmc must compile with Geant4 version 9.4. Cexmc won't compile +with Geant4 version 9.3 (if you still need to build the program against this +version then remove qualifier const in the first argument of prototype of +CexmcSetup::ReadTransforms()). Cexmc contains several optional modules which can +be enabled or disabled in the makefile by setting dedicated macros: most of them +are listed in the beginning of the makefile and well commented. Modules may +involve additional dependencies. In the following table the dependencies and +related modules are shown. + +Dependency Requirement Makefile Macro / Module Comment +-------------------------------------------------------------------------------- +boost::serialize Optional CEXMC_USE_PERSISTENCY / used when + Persistency (de)serialization of + events and run data + +boost::split Optional CEXMC_USE_PERSISTENCY / used when parsing + Main command line + arguments related to + persistency module + +boost::spirit Optional CEXMC_USE_CUSTOM_FILTER / used in custom + Custom filter filter engine + +cernlib Optional CEXMC_USE_GENBOD / Main user can choose + native GENBOD() as + phase space + generator + +CERN ROOT Optional CEXMC_USE_ROOT / used in histograming + Histograming + +CERN ROOT / Qt Optional CEXMC_USE_ROOTQT / used for live +binding Histograming histograms in Qt + sessions +-------------------------------------------------------------------------------- + +The persistency module is compatible with a pretty old boost::serialize version +(compilation was tested under Scientific Linux 4.8 with gcc 3.4.6 and boost +version 1.32). Custom filter requires a newer boost as far as it uses modern +boost::spirit library which requires boost version 1.37 and higher. +Presence of CERN ROOT libraries is tested automatically in the makefile, but it +is possible to disable or enable the histograming framework manually using flag +CEXMC_USE_HISTOGRAMING in the makefile. +Compilation of visualization modules and interactive sessions depends on whether +standard Geant4 macros like G4VIS_USE, G4UI_USE, G4UI_USE_TCSH and G4UI_USE_QT +have been set. +If boost is installed in a special path in your system then you may need to +properly set environment variables BOOST_INCLUDE_PATH and BOOST_LIBRARY_PATH +which denote directories where boost include files and libraries are located. + +------> Run modes + +Run modes are set from command-line options. To see available command-line +options type in terminal 'cexmc -h' or just 'cexmc'. Some run modes can be +unavailable if certain modules were not compiled. + +Here is list of run modes categorized by type of interaction with user: + + 1. Batch mode. The simplest mode without any interaction with user. + No command line option is required. + 2. Interactive mode. The program provides an interactive shell. + To run in the interactive mode command line option -i must be specified. + 3. Graphical Qt mode. This mode is specified by command line option -g. + +List of run modes categorized by task: + + 1. Straight mode (or Monte Carlo mode). The program will read preinit and + init macros, then calculate acceptances and (optionally) save data in + project files. Project files are saved in a directory defined by + environment variable CEXMC_PROJECTS_DIR (or in the current directory if it + is not defined), name of the project is specified by option -w. Preinit + and init macros are set by options -p and -m respectively. In the straight + mode preinit macro must be specified explicitly, as far as desired + production model can be instantiated only in preinit phase. + 2. Replay mode (or Read project mode). In this mode the program will not use + common Geant4's event loop. Instead, it will sequentially read event data + from an existing project and pass them into + CexmcEventAction::EndOfEventAction(). The read project is specified by + option -r. This mode is useful when user wants to recalculate data from an + existing project with different conditions (for example with different + reconstruction parameters) or apply a custom filter. The results of run + can be written again into another project. + 3. Show results mode (or Output mode). The program will output various data + from an existing project (specified by option -r). Type(s) of data are + specified in option -o. For example, to show results of a run user can + specify -orun in command line. To show events, geometry and run results + user can specify -oevents,geom,run. diff --git a/examples/advanced/ChargeExchangeMC/doc/CexmcSetupImages.pdf b/examples/advanced/ChargeExchangeMC/doc/CexmcSetupImages.pdf new file mode 100644 index 0000000000..d5d73ca17e Binary files /dev/null and b/examples/advanced/ChargeExchangeMC/doc/CexmcSetupImages.pdf differ diff --git a/examples/advanced/ChargeExchangeMC/doc/CexmcUsersManual.pdf b/examples/advanced/ChargeExchangeMC/doc/CexmcUsersManual.pdf new file mode 100644 index 0000000000..cc0420ecea Binary files /dev/null and b/examples/advanced/ChargeExchangeMC/doc/CexmcUsersManual.pdf differ diff --git a/examples/advanced/ChargeExchangeMC/example.cf b/examples/advanced/ChargeExchangeMC/example.cf new file mode 100644 index 0000000000..995c541cfc --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/example.cf @@ -0,0 +1,39 @@ +# I. EDT examples + +# EDT: delete events when sum of absorbed energy in left calorimeter is more +# than specified value +#delete edt if Sum( clEDcol ) > 350 * MeV + +# EDT: keep events if sum of absorbed energy in two specified crystals in left +# calorimeter is more than sum of absorbed energy in outer crystals of left +# calorimeter +#keep edt if clEDcol[2,2] + clEDcol[2,3] > Sum( Outer( clEDcol ) ) + +# EDT: delete events if sum of absorbed energy in inner crystals of right +# calorimeter is more than specified value +#delete edt if Sum( Inner( crEDcol ) ) > 200 * MeV + + +# II. TPT examples. Can be safely used only for rich event data sets + +# TPT: make diagonal cut in monitor counter +delete tpt if bp_mon_posl[1] < bp_mon_posl[2] + +# TPT: make target radius smaller +delete tpt if Sqrt(Sqr(op_tgt_posl[1]) + Sqr(op_tgt_posl[2]) + \ + Sqr(op_tgt_posl[3])) > 2 * cm + + +# III. TPT examples. Can be safely used for any event data sets + +# TPT: delete all events in angular range (0.0000, -1.0000) +#delete tpt if op_cosTh_SCM < 0 + +# TPT: delete all events with id less than 500 +#delete tpt if event < 500 + +# TPT: delete all events when monitor was not triggered +#delete tpt if ! mon + +# TPT: delete all events without TPT (i.e. false triggered events) +#delete tpt if ! tpt diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcAST.hh b/examples/advanced/ChargeExchangeMC/include/CexmcAST.hh new file mode 100644 index 0000000000..e7ef6492e0 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcAST.hh @@ -0,0 +1,170 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcAST.hh + * + * Description: abstract syntax tree for custom filter scripting language + * + * Version: 1.0 + * Created: 17.07.2010 14:39:37 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_AST_HH +#define CEXMC_AST_HH + +#ifdef CEXMC_USE_CUSTOM_FILTER + +#include +#include + + +namespace CexmcAST +{ + using boost::variant; + using boost::recursive_wrapper; + + enum OperatorType + { + Uninitialized, + Top, + UMinus, + Not, + Mult, + Div, + Plus, + Minus, + Less, + LessEq, + More, + MoreEq, + Eq, + NotEq, + And, + Or + }; + + + struct Operator + { + Operator( OperatorType type = Uninitialized, int priority = 0, + bool hasRLAssoc = false ) : + type( type ), priority( priority ), hasRLAssoc( hasRLAssoc ) + {} + + OperatorType type; + + int priority; + + bool hasRLAssoc; + }; + + + struct Variable + { + Variable() : index1 ( 0 ), index2( 0 ), addr( ( const int * ) NULL ) + {} + + std::string name; + + int index1; + + int index2; + + variant< const int *, const double * > addr; + }; + + + struct Subtree; + + typedef std::string Function; + + typedef variant< int, double > Constant; + + typedef variant< Variable, Constant > Leaf; + + typedef recursive_wrapper< Subtree > Tree; + + typedef variant< Tree, Leaf > Node; + + typedef variant< Operator, Function > NodeType; + + + struct Subtree + { + Subtree() : type ( Operator( Uninitialized ) ) + {} + + void Print( int level = 0 ) const; + + void PrintLeaf( const Leaf * leaf, int level = 0 ) const; + + std::vector< Node > children; + + NodeType type; + + static const int printIndent = 4; + }; + + + class BasicEval + { + protected: + typedef variant< int, double > ScalarValueType; + + protected: + virtual ~BasicEval(); + + public: + bool operator()( const Subtree & ast ) const; + + protected: + ScalarValueType GetScalarValue( const Node & node ) const; + + virtual ScalarValueType GetFunScalarValue( const Subtree & ast ) + const; + + virtual ScalarValueType GetVarScalarValue( const Variable & var ) + const; + + ScalarValueType GetBasicFunScalarValue( + const Subtree & ast, bool & result ) + const; + }; +} + +#endif + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcASTEval.hh b/examples/advanced/ChargeExchangeMC/include/CexmcASTEval.hh new file mode 100644 index 0000000000..05f6e1c0a2 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcASTEval.hh @@ -0,0 +1,167 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcASTEval.hh + * + * Description: abstract syntax tree for custom filter eval + * + * Version: 1.0 + * Created: 17.07.2010 15:43:09 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_AST_EVAL_HH +#define CEXMC_AST_EVAL_HH + +#ifdef CEXMC_USE_CUSTOM_FILTER + +#include +#include +#include +#include "CexmcAST.hh" +#include "CexmcEventSObject.hh" +#include "CexmcEventFastSObject.hh" +#include "CexmcException.hh" +#include "CexmcCommon.hh" + + +class CexmcASTEval : public CexmcAST::BasicEval +{ + private: + typedef boost::variant< const CexmcEnergyDepositCalorimeterCollection *, + const bool * > VarAddr; + + typedef std::map< std::string, VarAddr > VarAddrMap; + + typedef std::pair< std::string, VarAddr > VarAddrMapData; + + public: + explicit CexmcASTEval( + const CexmcEventFastSObject * evFastSObject = NULL, + const CexmcEventSObject * evSObject = NULL ); + + public: + void SetAddressedData( + const CexmcEventFastSObject * evFastSObject_ = NULL, + const CexmcEventSObject * evSObject_ = NULL ); + + void BindAddresses( CexmcAST::Subtree & ast ); + + void ResetAddressBinding( CexmcAST::Subtree & ast ); + + private: + ScalarValueType GetFunScalarValue( const CexmcAST::Subtree & ast ) + const; + + ScalarValueType GetVarScalarValue( const CexmcAST::Variable & var ) + const; + + void GetEDCollectionValue( const CexmcAST::Node & node, + CexmcEnergyDepositCalorimeterCollection & edCol ) const; + + private: + const G4double * GetThreeVectorElementAddrByIndex( + const CexmcSimpleThreeVectorStore & vect, + G4int index ) const; + + const G4double * GetLorentzVectorElementAddrByIndex( + const CexmcSimpleLorentzVectorStore & vect, + G4int index ) const; + + private: + const CexmcEventFastSObject * evFastSObject; + + const CexmcEventSObject * evSObject; + + private: + VarAddrMap varAddrMap; + + private: + static const G4double constants[]; +}; + + +inline void CexmcASTEval::SetAddressedData( + const CexmcEventFastSObject * evFastSObject_, + const CexmcEventSObject * evSObject_ ) +{ + varAddrMap.clear(); + evFastSObject = evFastSObject_; + evSObject = evSObject_; +} + + +inline const G4double * CexmcASTEval::GetThreeVectorElementAddrByIndex( + const CexmcSimpleThreeVectorStore & vect, + G4int index ) const +{ + switch ( index ) + { + case 1 : + return &vect.x; + case 2 : + return &vect.y; + case 3 : + return &vect.z; + default : + throw CexmcException( CexmcCFUnexpectedVectorIndex ); + return NULL; + } +} + + +inline const G4double * CexmcASTEval::GetLorentzVectorElementAddrByIndex( + const CexmcSimpleLorentzVectorStore & vect, + G4int index ) const +{ + switch ( index ) + { + case 1 : + return &vect.px; + case 2 : + return &vect.py; + case 3 : + return &vect.pz; + case 4 : + return &vect.e; + default : + throw CexmcException( CexmcCFUnexpectedVectorIndex ); + return NULL; + } +} + +#endif + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcAngularRange.hh b/examples/advanced/ChargeExchangeMC/include/CexmcAngularRange.hh new file mode 100644 index 0000000000..61ca999f24 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcAngularRange.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcAngularRange.hh + * + * Description: angular range object + * + * Version: 1.0 + * Created: 01.12.2009 16:29:25 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_ANGULAR_RANGE_HH +#define CEXMC_ANGULAR_RANGE_HH + +#include +#include +#include + + +struct CexmcAngularRange +{ + CexmcAngularRange() + {} + + CexmcAngularRange( G4double top, G4double bottom, G4int index ) : + top( top ), bottom( bottom ), index( index ) + {} + + G4double top; + + G4double bottom; + + G4int index; + + template < typename Archive > + void serialize( Archive & archive, const unsigned int version ); +}; + + +typedef std::vector< CexmcAngularRange > CexmcAngularRangeList; + + +template < typename Archive > +inline void CexmcAngularRange::serialize( Archive & archive, + const unsigned int ) +{ + archive & top; + archive & bottom; + archive & index; +} + + +inline bool operator<( const CexmcAngularRange & left, + const CexmcAngularRange & right ) +{ + if ( left.top != right.top ) + return left.top > right.top; + if ( left.bottom != right.bottom ) + return left.bottom < right.bottom; + + return false; +} + + +void GetNormalizedAngularRange( const CexmcAngularRangeList & src, + CexmcAngularRangeList & dst ); + + +void GetAngularGaps( const CexmcAngularRangeList & src, + CexmcAngularRangeList & dst ); + + +std::ostream & operator<<( std::ostream & out, + const CexmcAngularRange & angularRange ); + + +std::ostream & operator<<( std::ostream & out, + const CexmcAngularRangeList & angularRanges ); + + +#endif + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh b/examples/advanced/ChargeExchangeMC/include/CexmcBasicPhysicsSettings.hh similarity index 54% rename from examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh rename to examples/advanced/ChargeExchangeMC/include/CexmcBasicPhysicsSettings.hh index 4f845f2673..a36bc56ca2 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh +++ b/examples/advanced/ChargeExchangeMC/include/CexmcBasicPhysicsSettings.hh @@ -23,53 +23,54 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: AnaEx01AnalysisManager.hh,v 1.9 2006/06/29 16:33:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// +/* + * ============================================================================= + * + * Filename: CexmcBasicPhysicsSettings.hh + * + * Description: basic typedefs etc. to build studied physics + * + * Version: 1.0 + * Created: 28.11.2009 15:30:55 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -#ifndef AnaEx01AnalysisManager_h -#define AnaEx01AnalysisManager_h 1 - -#ifdef G4ANALYSIS_USE - -class G4Run; -class G4Event; -class G4Step; - -namespace AIDA { - class IAnalysisFactory; - class ITree; - class IHistogram1D; - class ITuple; -} - -class AnaEx01AnalysisManager { -public: - AnaEx01AnalysisManager(AIDA::IAnalysisFactory*); - virtual ~AnaEx01AnalysisManager(); -public: - virtual void BeginOfRun(const G4Run*); - virtual void EndOfRun(const G4Run*); - virtual void BeginOfEvent(const G4Event*); - virtual void EndOfEvent(const G4Event*); - virtual void Step(const G4Step*); -private: - int fCalorimeterCollID; - AIDA::IAnalysisFactory* fAIDA; - AIDA::ITree* fTree; - AIDA::IHistogram1D* fEAbs; - AIDA::IHistogram1D* fLAbs; - AIDA::IHistogram1D* fEGap; - AIDA::IHistogram1D* fLGap; - AIDA::ITuple* fTuple; -}; +#ifndef CEXMC_BASIC_PHYSICS_SETTINGS_HH +#define CEXMC_BASIC_PHYSICS_SETTINGS_HH +#ifdef CEXMC_USE_QGSP_BIC_EMY +/* this reference physics list promises higher accuracy for electrons, hadrons + * and ions tracking */ +#include #else +/* standard reference physics list */ +#include +#endif +#include +#include "CexmcProductionModelFactory.hh" +#include "CexmcHadronicPhysics.hh" +#include "CexmcChargeExchangeProductionModel.hh" + + +#ifdef CEXMC_USE_QGSP_BIC_EMY +typedef QGSP_BIC_EMY CexmcBasePhysics; +#else +typedef QGSP_BERT CexmcBasePhysics; +#endif + +typedef CexmcProductionModelFactory< CexmcBasePhysics, + CexmcHadronicPhysics, + CexmcChargeExchangeProductionModel > + CexmcChargeExchangePMFactory; + +typedef CexmcChargeExchangePMFactory CexmcPMFactoryInstance; -class AnaEx01AnalysisManager; #endif -#endif diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcChargeExchangeProductionModel.hh b/examples/advanced/ChargeExchangeMC/include/CexmcChargeExchangeProductionModel.hh new file mode 100644 index 0000000000..03b163af75 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcChargeExchangeProductionModel.hh @@ -0,0 +1,226 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcChargeExchangeProductionModel.hh + * + * Description: charge exchange physics itself + * + * Version: 1.0 + * Created: 01.11.2009 00:30:46 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_CHARGE_EXCHANGE_PRODUCTION_MODEL_HH +#define CEXMC_CHARGE_EXCHANGE_PRODUCTION_MODEL_HH + +#include +#include +#include +#include +#include +#include +#include "CexmcProductionModel.hh" +#include "CexmcGenbod.hh" +#include "CexmcReimplementedGenbod.hh" +#include "CexmcException.hh" + + +template < typename OutputParticle > +class CexmcChargeExchangeProductionModel : public G4HadronicInteraction, + public CexmcProductionModel +{ + public: + CexmcChargeExchangeProductionModel(); + + ~CexmcChargeExchangeProductionModel(); + + public: + G4HadFinalState * ApplyYourself( const G4HadProjectile & projectile, + G4Nucleus & targetNucleus ); + + private: + G4double nucleusParticleMass; + + CexmcPhaseSpaceGenerator * phaseSpaceGenerator; +}; + + +template < typename OutputParticle > +CexmcChargeExchangeProductionModel< OutputParticle >:: + CexmcChargeExchangeProductionModel() : + G4HadronicInteraction( CexmcChargeExchangeInteractionName ), + CexmcProductionModel( CexmcChargeExchangeProductionModelName ), + nucleusParticleMass( 0 ), phaseSpaceGenerator( NULL ) +{ + incidentParticle = G4PionMinus::Definition(); + nucleusParticle = G4Proton::Definition(); + outputParticle = OutputParticle::Definition(); + nucleusOutputParticle = G4Neutron::Definition(); + + nucleusParticleMass = nucleusParticle->GetPDGMass(); + + productionModelData.incidentParticle = incidentParticle; + productionModelData.nucleusParticle = nucleusParticle; + productionModelData.outputParticle = outputParticle; + productionModelData.nucleusOutputParticle = nucleusOutputParticle; + + CexmcPhaseSpaceInVector inVec; + + inVec.push_back( &productionModelData.incidentParticleSCM ); + inVec.push_back( &productionModelData.nucleusParticleSCM ); + + CexmcPhaseSpaceOutVector outVec; + + outVec.push_back( CexmcPhaseSpaceOutVectorElement( + &productionModelData.outputParticleSCM, + outputParticle->GetPDGMass() ) ); + outVec.push_back( CexmcPhaseSpaceOutVectorElement( + &productionModelData.nucleusOutputParticleSCM, + nucleusOutputParticle->GetPDGMass() ) ); + +#ifdef CEXMC_USE_GENBOD + phaseSpaceGenerator = new CexmcGenbod; +#else + phaseSpaceGenerator = new CexmcReimplementedGenbod; +#endif + + phaseSpaceGenerator->SetParticles( inVec, outVec ); +} + + +template < typename OutputParticle > +CexmcChargeExchangeProductionModel< OutputParticle >:: + ~CexmcChargeExchangeProductionModel() +{ + delete phaseSpaceGenerator; +} + + +template < typename OutputParticle > +G4HadFinalState * CexmcChargeExchangeProductionModel< OutputParticle >:: + ApplyYourself( const G4HadProjectile & projectile, + G4Nucleus & targetNucleus ) +{ + theParticleChange.Clear(); + + G4double kinEnergy( projectile.GetKineticEnergy() ); + G4HadProjectile & theProjectile( const_cast< G4HadProjectile & >( + projectile ) ); + const G4LorentzRotation & projToLab( + const_cast< const G4LorentzRotation & >( + theProjectile.GetTrafoToLab() ) ); + productionModelData.incidentParticleLAB = projectile.Get4Momentum(); + productionModelData.incidentParticleLAB.transform( projToLab ); + productionModelData.nucleusParticleLAB.setPx( 0 ); + productionModelData.nucleusParticleLAB.setPy( 0 ); + productionModelData.nucleusParticleLAB.setPz( 0 ); + productionModelData.nucleusParticleLAB.setE( nucleusParticleMass ); + + if ( fermiMotionIsOn ) + { + G4ThreeVector targetNucleusMomentum( + targetNucleus.GetFermiMomentum() ); + G4double targetNucleusEnergy( + std::sqrt( targetNucleusMomentum.mag2() + + nucleusParticleMass * nucleusParticleMass ) ); + productionModelData.nucleusParticleLAB = G4LorentzVector( + targetNucleusMomentum, targetNucleusEnergy ); + } + productionModelData.nucleusParticleLAB.transform( projToLab ); + G4LorentzVector lVecSum( productionModelData.incidentParticleLAB + + productionModelData.nucleusParticleLAB ); + G4ThreeVector boostVec( lVecSum.boostVector() ); + + productionModelData.incidentParticleSCM = + productionModelData.incidentParticleLAB; + productionModelData.nucleusParticleSCM = + productionModelData.nucleusParticleLAB; + + productionModelData.incidentParticleSCM.boost( -boostVec ); + productionModelData.nucleusParticleSCM.boost( -boostVec ); + + triggeredAngularRanges.clear(); + + if ( ! phaseSpaceGenerator->CheckKinematics() ) + { + theParticleChange.SetEnergyChange( kinEnergy ); + theParticleChange.SetMomentumChange( + projectile.Get4Momentum().vect().unit()); + return &theParticleChange; + } + + do + { + phaseSpaceGenerator->Generate(); + G4double cosTheta( productionModelData.outputParticleSCM.cosTheta() ); + for ( CexmcAngularRangeList::iterator k( angularRanges.begin() ); + k != angularRanges.end(); ++k ) + { + if ( cosTheta <= k->top && cosTheta > k->bottom ) + triggeredAngularRanges.push_back( CexmcAngularRange( + k->top, k->bottom, k->index ) ); + } + } while ( triggeredAngularRanges.empty() ); + + productionModelData.outputParticleLAB = + productionModelData.outputParticleSCM; + productionModelData.nucleusOutputParticleLAB = + productionModelData.nucleusOutputParticleSCM; + + productionModelData.outputParticleLAB.boost( boostVec ); + productionModelData.nucleusOutputParticleLAB.boost( boostVec ); + + theParticleChange.SetStatusChange( stopAndKill ); + theParticleChange.SetEnergyChange( 0.0 ); + + G4DynamicParticle * secOutParticle( new G4DynamicParticle( + outputParticle, + productionModelData.outputParticleLAB ) ); + theParticleChange.AddSecondary( secOutParticle ); + G4DynamicParticle * secNeutron( new G4DynamicParticle( + nucleusOutputParticle, + productionModelData.nucleusOutputParticleLAB ) ); + theParticleChange.AddSecondary( secNeutron ); + + /* projectile->GetDefinition() shall always be identical to incidentParticle + * as far as CexmcHadronicProcess::IsApplicable() will check that only + * incidentParticle is allowed. Here is mostly unnecessary assignment. */ + productionModelData.incidentParticle = projectile.GetDefinition(); + + return &theParticleChange; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcChargeExchangeReconstructor.hh b/examples/advanced/ChargeExchangeMC/include/CexmcChargeExchangeReconstructor.hh new file mode 100644 index 0000000000..b6374de6ce --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcChargeExchangeReconstructor.hh @@ -0,0 +1,397 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcChargeExchangeReconstructor.hh + * + * Description: charge exchange reconstructor + * + * Version: 1.0 + * Created: 02.12.2009 15:07:16 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_CHARGE_EXCHANGE_RECONSTRUCTOR_HH +#define CEXMC_CHARGE_EXCHANGE_RECONSTRUCTOR_HH + +#include "CexmcReconstructor.hh" +#include "CexmcProductionModelData.hh" + +class CexmcChargeExchangeReconstructorMessenger; +class CexmcEnergyDepositStore; +class CexmcProductionModel; +class CexmcParticleGun; + + +class CexmcChargeExchangeReconstructor : public CexmcReconstructor +{ + public: + explicit CexmcChargeExchangeReconstructor( + const CexmcProductionModel * productionModel ); + + ~CexmcChargeExchangeReconstructor(); + + public: + void Reconstruct( const CexmcEnergyDepositStore * edStore ); + + public: + G4double GetOutputParticleMass( void ) const; + + G4double GetNucleusOutputParticleMass( void ) const; + + const CexmcProductionModelData & GetProductionModelData( void ) const; + + void UseTableMass( G4bool on ); + + void UseMassCut( G4bool on ); + + void SetMassCutOPCenter( G4double value ); + + void SetMassCutNOPCenter( G4double value ); + + void SetMassCutOPWidth( G4double value ); + + void SetMassCutNOPWidth( G4double value ); + + void SetMassCutEllipseAngle( G4double value ); + + void UseAbsorbedEnergyCut( G4bool on ); + + void SetAbsorbedEnergyCutCLCenter( G4double value ); + + void SetAbsorbedEnergyCutCRCenter( G4double value ); + + void SetAbsorbedEnergyCutCLWidth( G4double value ); + + void SetAbsorbedEnergyCutCRWidth( G4double value ); + + void SetAbsorbedEnergyCutEllipseAngle( G4double value ); + + void SetupBeamParticle( void ); + + G4bool IsTableMassUsed( void ) const; + + G4bool IsMassCutUsed( void ) const; + + G4double GetMassCutOPCenter( void ) const; + + G4double GetMassCutNOPCenter( void ) const; + + G4double GetMassCutOPWidth( void ) const; + + G4double GetMassCutNOPWidth( void ) const; + + G4double GetMassCutEllipseAngle( void ) const; + + G4bool HasMassCutTriggered( void ) const; + + G4bool IsAbsorbedEnergyCutUsed( void ) const; + + G4double GetAbsorbedEnergyCutCLCenter( void ) const; + + G4double GetAbsorbedEnergyCutCRCenter( void ) const; + + G4double GetAbsorbedEnergyCutCLWidth( void ) const; + + G4double GetAbsorbedEnergyCutCRWidth( void ) const; + + G4double GetAbsorbedEnergyCutEllipseAngle( void ) const; + + G4bool HasAbsorbedEnergyCutTriggered( void ) const; + + G4bool HasFullTrigger( void ) const; + + private: + G4double outputParticleMass; + + G4double nucleusOutputParticleMass; + + private: + CexmcProductionModelData productionModelData; + + private: + G4bool useTableMass; + + G4bool useMassCut; + + G4double massCutOPCenter; + + G4double massCutNOPCenter; + + G4double massCutOPWidth; + + G4double massCutNOPWidth; + + G4double massCutEllipseAngle; + + G4bool useAbsorbedEnergyCut; + + G4double absorbedEnergyCutCLCenter; + + G4double absorbedEnergyCutCRCenter; + + G4double absorbedEnergyCutCLWidth; + + G4double absorbedEnergyCutCRWidth; + + G4double absorbedEnergyCutEllipseAngle; + + private: + G4bool hasMassCutTriggered; + + G4bool hasAbsorbedEnergyCutTriggered; + + private: + G4bool beamParticleIsInitialized; + + CexmcParticleGun * particleGun; + + CexmcChargeExchangeReconstructorMessenger * messenger; +}; + + +inline G4double CexmcChargeExchangeReconstructor::GetOutputParticleMass( + void ) const +{ + return outputParticleMass; +} + + +inline G4double CexmcChargeExchangeReconstructor::GetNucleusOutputParticleMass( + void ) const +{ + return nucleusOutputParticleMass; +} + + +inline const CexmcProductionModelData & + CexmcChargeExchangeReconstructor::GetProductionModelData( void ) const +{ + return productionModelData; +} + + +inline void CexmcChargeExchangeReconstructor::UseTableMass( G4bool on ) +{ + useTableMass = on; +} + + +inline void CexmcChargeExchangeReconstructor::UseMassCut( G4bool on ) +{ + useMassCut = on; +} + + +inline void CexmcChargeExchangeReconstructor::SetMassCutOPCenter( + G4double value ) +{ + massCutOPCenter = value; +} + + +inline void CexmcChargeExchangeReconstructor::SetMassCutNOPCenter( + G4double value ) +{ + massCutNOPCenter = value; +} + + +inline void CexmcChargeExchangeReconstructor::SetMassCutOPWidth( + G4double value ) +{ + massCutOPWidth = value; +} + + +inline void CexmcChargeExchangeReconstructor::SetMassCutNOPWidth( + G4double value ) +{ + massCutNOPWidth = value; +} + + +inline void CexmcChargeExchangeReconstructor::SetMassCutEllipseAngle( + G4double value ) +{ + massCutEllipseAngle = value; +} + + +inline void CexmcChargeExchangeReconstructor::UseAbsorbedEnergyCut( + G4bool on ) +{ + useAbsorbedEnergyCut = on; +} + + +inline void CexmcChargeExchangeReconstructor::SetAbsorbedEnergyCutCLCenter( + G4double value ) +{ + absorbedEnergyCutCLCenter = value; +} + + +inline void CexmcChargeExchangeReconstructor::SetAbsorbedEnergyCutCRCenter( + G4double value ) +{ + absorbedEnergyCutCRCenter = value; +} + + +inline void CexmcChargeExchangeReconstructor::SetAbsorbedEnergyCutCLWidth( + G4double value ) +{ + absorbedEnergyCutCLWidth = value; +} + + +inline void CexmcChargeExchangeReconstructor::SetAbsorbedEnergyCutCRWidth( + G4double value ) +{ + absorbedEnergyCutCRWidth = value; +} + + +inline void CexmcChargeExchangeReconstructor::SetAbsorbedEnergyCutEllipseAngle( + G4double value ) +{ + absorbedEnergyCutEllipseAngle = value; +} + + +inline G4bool CexmcChargeExchangeReconstructor::IsTableMassUsed( void ) const +{ + return useTableMass; +} + + +inline G4bool CexmcChargeExchangeReconstructor::IsMassCutUsed( void ) const +{ + return useMassCut; +} + + +inline G4double CexmcChargeExchangeReconstructor::GetMassCutOPCenter( void ) + const +{ + return massCutOPCenter; +} + + +inline G4double CexmcChargeExchangeReconstructor::GetMassCutNOPCenter( void ) + const +{ + return massCutNOPCenter; +} + + +inline G4double CexmcChargeExchangeReconstructor::GetMassCutOPWidth( void ) + const +{ + return massCutOPWidth; +} + + +inline G4double CexmcChargeExchangeReconstructor::GetMassCutNOPWidth( void ) + const +{ + return massCutNOPWidth; +} + + +inline G4double CexmcChargeExchangeReconstructor::GetMassCutEllipseAngle( + void ) const +{ + return massCutEllipseAngle; +} + + +inline G4bool CexmcChargeExchangeReconstructor::HasMassCutTriggered( void ) + const +{ + return hasMassCutTriggered; +} + + +inline G4bool CexmcChargeExchangeReconstructor::IsAbsorbedEnergyCutUsed( void ) + const +{ + return useAbsorbedEnergyCut; +} + + +inline G4double CexmcChargeExchangeReconstructor::GetAbsorbedEnergyCutCLCenter( + void ) const +{ + return absorbedEnergyCutCLCenter; +} + + +inline G4double CexmcChargeExchangeReconstructor::GetAbsorbedEnergyCutCRCenter( + void ) const +{ + return absorbedEnergyCutCRCenter; +} + + +inline G4double CexmcChargeExchangeReconstructor::GetAbsorbedEnergyCutCLWidth( + void ) const +{ + return absorbedEnergyCutCLWidth; +} + + +inline G4double CexmcChargeExchangeReconstructor::GetAbsorbedEnergyCutCRWidth( + void ) const +{ + return absorbedEnergyCutCRWidth; +} + + +inline G4double CexmcChargeExchangeReconstructor:: + GetAbsorbedEnergyCutEllipseAngle( void ) const +{ + return absorbedEnergyCutEllipseAngle; +} + + +inline G4bool CexmcChargeExchangeReconstructor::HasAbsorbedEnergyCutTriggered( + void ) const +{ + return hasAbsorbedEnergyCutTriggered; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcChargeExchangeReconstructorMessenger.hh b/examples/advanced/ChargeExchangeMC/include/CexmcChargeExchangeReconstructorMessenger.hh new file mode 100644 index 0000000000..c58b2b5a18 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcChargeExchangeReconstructorMessenger.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcChargeExchangeReconstructorMessenger.hh + * + * Description: charge exchange reconstructor messenger + * + * Version: 1.0 + * Created: 14.12.2009 17:49:15 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_CHARGE_EXCHANGE_RECONSTRUCTOR_MESSENGER_HH +#define CEXMC_CHARGE_EXCHANGE_RECONSTRUCTOR_MESSENGER_HH + +#include + +class G4UIcommand; +class G4UIcmdWithABool; +class G4UIcmdWithADoubleAndUnit; +class G4String; +class CexmcChargeExchangeReconstructor; + + +class CexmcChargeExchangeReconstructorMessenger : public G4UImessenger +{ + public: + explicit CexmcChargeExchangeReconstructorMessenger( + CexmcChargeExchangeReconstructor * reconstructor ); + + ~CexmcChargeExchangeReconstructorMessenger(); + + public: + void SetNewValue( G4UIcommand * cmd, G4String value ); + + private: + CexmcChargeExchangeReconstructor * reconstructor; + + G4UIcmdWithABool * useTableMass; + + G4UIcmdWithABool * useMassCut; + + G4UIcmdWithADoubleAndUnit * mCutOPCenter; + + G4UIcmdWithADoubleAndUnit * mCutNOPCenter; + + G4UIcmdWithADoubleAndUnit * mCutOPWidth; + + G4UIcmdWithADoubleAndUnit * mCutNOPWidth; + + G4UIcmdWithADoubleAndUnit * mCutAngle; + + G4UIcmdWithABool * useAbsorbedEnergyCut; + + G4UIcmdWithADoubleAndUnit * aeCutCLCenter; + + G4UIcmdWithADoubleAndUnit * aeCutCRCenter; + + G4UIcmdWithADoubleAndUnit * aeCutCLWidth; + + G4UIcmdWithADoubleAndUnit * aeCutCRWidth; + + G4UIcmdWithADoubleAndUnit * aeCutAngle; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcCommon.hh b/examples/advanced/ChargeExchangeMC/include/CexmcCommon.hh new file mode 100644 index 0000000000..c4645fc271 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcCommon.hh @@ -0,0 +1,189 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcCommon.hh + * + * Description: common declarations + * + * Version: 1.0 + * Created: 01.11.2009 00:09:04 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_COMMON_HH +#define CEXMC_COMMON_HH + +#include +#include +#include +#include + +#define CEXMC_LINE_START "--- Cexmc --- " + + +typedef std::vector< G4double > CexmcEnergyDepositCrystalRowCollection; +typedef std::vector< CexmcEnergyDepositCrystalRowCollection > + CexmcEnergyDepositCalorimeterCollection; + +const G4double CexmcDblMax( std::numeric_limits< double >::max() ); + +const G4String CexmcStudiedProcessFirstName( "studiedProcess_" ); +const G4String CexmcStudiedProcessLastName( "Cexmc" ); +const G4String CexmcStudiedProcessFullName( CexmcStudiedProcessFirstName + + CexmcStudiedProcessLastName ); +const G4String CexmcChargeExchangeProductionModelName( "ChargeExchange" ); +const G4String CexmcChargeExchangeInteractionName( "Cexmc" + + CexmcChargeExchangeProductionModelName ); + +const G4String CexmcEDDigitizerName( "EDDig" ); +const G4String CexmcTPDigitizerName( "TPDig" ); + +const G4double CexmcFwhmToStddev( 0.42466 ); +const G4double CexmcInvalidCosTheta( 2.0 ); + +const G4int CexmcInvalidTrackId( -1 ); + + +enum CexmcBasePhysicsUsed +{ + CexmcNoBasePhysics, + Cexmc_QGSP_BERT, + Cexmc_QGSP_BIC_EMY +}; + + +enum CexmcProductionModelType +{ + CexmcUnknownProductionModel, + CexmcPionZeroProduction, + CexmcEtaProduction +}; + + +enum CexmcTriggerType +{ + CexmcTPT, + CexmcEDT, + CexmcRT +}; + + +enum CexmcEventCountPolicy +{ + CexmcCountAllEvents, + CexmcCountEventsWithInteraction, + CexmcCountEventsWithTrigger +}; + + +enum CexmcTrackType +{ + CexmcInsipidTrack, + CexmcBeamParticleTrack, + CexmcOutputParticleTrack, + CexmcNucleusParticleTrack, + CexmcOutputParticleDecayProductTrack +}; + + +enum CexmcTrackTypeInfo +{ + CexmcBasicTrackType, + CexmcIncidentParticleTrackType +}; + + +enum CexmcSide +{ + CexmcLeft, + CexmcRight +}; + + +enum CexmcOuterCrystalsVetoAlgorithm +{ + CexmcNoOuterCrystalsVeto, + CexmcMaximumEDInASingleOuterCrystalVeto, + CexmcFractionOfEDInOuterCrystalsVeto +}; + + +enum CexmcCalorimeterTriggerAlgorithm +{ + CexmcAllCrystalsMakeEDTriggerThreshold, + CexmcInnerCrystalsMakeEDTriggerThreshold +}; + + +enum CexmcCalorimeterEntryPointDefinitionAlgorithm +{ + CexmcEntryPointInTheCenter, + CexmcEntryPointInTheCenterOfCrystalWithMaxED, + CexmcEntryPointByLinearEDWeights, + CexmcEntryPointBySqrtEDWeights +}; + + +enum CexmcCalorimeterEntryPointDepthDefinitionAlgorithm +{ + CexmcEntryPointDepthPlain, + CexmcEntryPointDepthSphere +}; + + +enum CexmcCrystalSelectionAlgorithm +{ + CexmcSelectAllCrystals, + CexmcSelectAdjacentCrystals +}; + + +enum CexmcEventDataVerboseLevel +{ + CexmcWriteNoEventData, + CexmcWriteEventDataOnEveryEDT, + CexmcWriteEventDataOnEveryTPT +}; + + +enum CexmcOutputDataType +{ + CexmcOutputRun, + CexmcOutputGeometry, + CexmcOutputEvents +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcCustomFilter.hh b/examples/advanced/ChargeExchangeMC/include/CexmcCustomFilter.hh new file mode 100644 index 0000000000..728d05d016 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcCustomFilter.hh @@ -0,0 +1,257 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcCustomFilter.hh + * + * Description: custom filter grammar and compiler + * + * Version: 1.0 + * Created: 17.07.2010 15:31:43 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_CUSTOM_FILTER_HH +#define CEXMC_CUSTOM_FILTER_HH + +#ifdef CEXMC_USE_CUSTOM_FILTER + +#include +#include +#include +#include +#include +#include +#include "CexmcAST.hh" + + +namespace CexmcCustomFilter +{ + using namespace boost::spirit; + using namespace boost::spirit::qi; + using namespace boost::spirit::ascii; + using namespace boost::phoenix; + using namespace CexmcAST; + using boost::spirit::ascii::space; + using boost::spirit::ascii::space_type; + using boost::spirit::ascii::alpha; + using boost::spirit::ascii::alnum; + + + enum Action + { + KeepTPT, + KeepEDT, + DeleteTPT, + DeleteEDT + }; + + + struct ParseResult + { + ParseResult() : action( KeepTPT ) + {} + + void Initialize( void ) + { + action = KeepTPT; + expression.children.clear(); + expression.type = Operator( Uninitialized ); + } + + Action action; + + Subtree expression; + }; + + + struct Compiler + { + template < typename A, typename B = boost::fusion::unused_type, + typename C = boost::fusion::unused_type, + typename D = boost::fusion::unused_type > + struct result { typedef void type; }; + + void operator()( ParseResult & parseResult, Action value ) const; + + void operator()( ParseResult & parseResult, Subtree & value ) const; + + void operator()( Subtree & ast, Node & node ) const; + + void operator()( Node & self, Node & left, Node & right, + Operator value ) const; + + void operator()( Node & self, Node & child, Operator value ) const; + + void operator()( Node & self, Node & primary ) const; + + void operator()( Node & self, Node & child, std::string & value ) + const; + + void operator()( Leaf & self, std::string & name ) const; + + void operator()( Leaf & self, int value, size_t index ) const; + }; + + + template < typename Iterator > + struct Grammar : grammar< Iterator, ParseResult(), space_type > + { + Grammar(); + + rule< Iterator, ParseResult(), space_type > statement; + + rule< Iterator, Action(), space_type > action; + + rule< Iterator, Subtree(), space_type > condition; + + rule< Iterator, Node(), space_type > expression; + + rule< Iterator, Node(), space_type > primary_expr; + + rule< Iterator, Node(), space_type > function1; + + rule< Iterator, std::string(), space_type > identifier; + + rule< Iterator, Leaf(), space_type > leaf_operand; + + rule< Iterator, Leaf(), space_type > constant; + + rule< Iterator, Leaf(), space_type > variable; + + rule< Iterator, Node(), space_type > or_expr; + + rule< Iterator, Node(), space_type > and_expr; + + rule< Iterator, Node(), space_type > relation; + + rule< Iterator, Node(), space_type > addition; + + rule< Iterator, Node(), space_type > multiplication; + + rule< Iterator, Node(), space_type > unary_expr; + + rule< Iterator, Operator(), space_type > unary_op; + + rule< Iterator, Operator(), space_type > mult_op; + + rule< Iterator, Operator(), space_type > add_op; + + rule< Iterator, Operator(), space_type > rel_op; + + real_parser< double, strict_real_policies< double > > strict_double; + + function< Compiler > op; + }; + + + template < typename Iterator > + Grammar< Iterator >::Grammar() : Grammar::base_type( statement ) + { + statement = action[ op( _val, _1 ) ] >> + *( condition[ op( _val, _1 ) ] ); + + action = lit( "keep" ) >> + ( lit( "tpt" )[ _val = KeepTPT ] | + lit( "edt" )[ _val = KeepEDT ] ) | + lit( "delete" ) >> + ( lit ( "tpt" )[ _val = DeleteTPT ] | + lit ( "edt" )[ _val = DeleteEDT ] ); + + condition = lit( "if" ) >> expression[ op( _val, _1 ) ]; + + expression %= or_expr; + + identifier %= lexeme[ alpha >> *( alnum | lit( '_' ) ) ]; + + primary_expr = function1[ _val = _1 ] | + lit( '(' ) >> expression[ op( _val, _1 ) ] >> lit( ')' ) | + leaf_operand[ _val = _1 ]; + + leaf_operand %= constant | variable; + + constant %= strict_double | int_; + + variable = identifier[ op( _val, _1 ) ] >> + -( lit( '[' ) >> ( uint_[ op( _val, _1, 0 ) ] - lit( '0' ) ) >> + -( lit( ',' ) >> ( uint_[ op( _val, _1, 1 ) ] - + lit( '0' ) ) ) >> lit( ']' ) ); + + function1 = ( identifier >> lit( '(' ) >> expression >> lit( ')' ) ) + [ op( _val, _2, _1 ) ]; + + or_expr = ( and_expr >> lit( '|' ) >> or_expr ) + [ op( _val, _1, _2, Operator( Or, 1 ) ) ] | + and_expr[ _val = _1 ]; + + and_expr = ( relation >> lit( '&' ) >> and_expr ) + [ op( _val, _1, _2, Operator( And, 2 ) ) ] | + relation[ _val = _1 ]; + + relation = ( addition >> rel_op >> addition ) + [ op( _val, _1, _3, _2 ) ] | + addition[ _val = _1 ]; + + addition = ( multiplication >> add_op >> addition ) + [ op( _val, _1, _3, _2 ) ] | + multiplication[ _val = _1 ]; + + multiplication = ( unary_expr >> mult_op >> multiplication ) + [ op( _val, _1, _3, _2 ) ] | + unary_expr[ _val = _1 ]; + + unary_expr = ( unary_op >> primary_expr )[ op( _val, _2, _1 ) ] | + primary_expr[ _val = _1 ]; + + unary_op = lit( '-' )[ _val = Operator( UMinus, 6, true ) ] | + lit( '!' )[ _val = Operator( Not, 6, true ) ]; + + mult_op = lit( '*' )[ _val = Operator( Mult, 5 ) ] | + lit( '/' )[ _val = Operator( Div, 5 ) ]; + + add_op = lit( '+' )[ _val = Operator( Plus, 4 ) ] | + lit( '-' )[ _val = Operator( Minus, 4 ) ]; + + rel_op = lit( "<=" )[ _val = Operator( LessEq, 3 ) ] | + lit( ">=" )[ _val = Operator( MoreEq, 3 ) ] | + lit( "!=" )[ _val = Operator( NotEq, 3 ) ] | + lit( '<' )[ _val = Operator( Less, 3 ) ] | + lit( '>' )[ _val = Operator( More, 3 ) ] | + lit( '=' )[ _val = Operator( Eq, 3 ) ]; + } +} + +#endif + +#endif + diff --git a/examples/extended/parallel/ExDiane/include/BrachyAnalysisManager.hh b/examples/advanced/ChargeExchangeMC/include/CexmcCustomFilterEval.hh similarity index 51% rename from examples/extended/parallel/ExDiane/include/BrachyAnalysisManager.hh rename to examples/advanced/ChargeExchangeMC/include/CexmcCustomFilterEval.hh index f4c7e9022b..2b4e7d9e1b 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyAnalysisManager.hh +++ b/examples/advanced/ChargeExchangeMC/include/CexmcCustomFilterEval.hh @@ -23,72 +23,68 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// Code developed by: -// S.Guatelli -// -// -// $Id: BrachyAnalysisManager.hh,v 1.3 2006/06/29 17:30:48 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ********************************** -// * * -// * BrachyAnalysisManager.hh * -// * * -// ********************************** -// -// -// the class Analysis creates and managed histograms and ntuples -// -#ifdef G4ANALYSIS_USE -#ifndef G4PROCESSTESTANALYSIS_HH -#define G4PROCESSTESTANALYSIS_HH +/* + * ============================================================================= + * + * Filename: CexmcCustomFilterEval.hh + * + * Description: custom filter eval + * + * Version: 1.0 + * Created: 17.07.2010 15:43:09 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_CUSTOM_FILTER_EVAL_HH +#define CEXMC_CUSTOM_FILTER_EVAL_HH + +#ifdef CEXMC_USE_CUSTOM_FILTER -#include "globals.hh" #include -#include "G4ThreeVector.hh" -#include "AIDA/IHistogram1D.h" -#include "AIDA/IHistogram2D.h" -#include "AIDA/IAnalysisFactory.h" +#include +#include "CexmcASTEval.hh" +#include "CexmcCustomFilter.hh" -namespace AIDA{ - class ITree; - class IHistogramFactory; - class IAnalysisFactory; - class ITupleFactory; - class ITuple; - class ITreeFactory; -}; +class CexmcEventFastSObject; +class CexmcEventSObject; -class BrachyAnalysisManager + +class CexmcCustomFilterEval : public CexmcAST::BasicEval { -private: - BrachyAnalysisManager(); + private: + typedef std::vector< CexmcCustomFilter::ParseResult > + ParseResultVector; -public: + public: + explicit CexmcCustomFilterEval( const G4String & sourceFileName, + const CexmcEventFastSObject * evFastSObject = NULL, + const CexmcEventSObject * evSObject = NULL ); - ~BrachyAnalysisManager(); - static BrachyAnalysisManager* getInstance(); - void book(); - void FillHistogramWithEnergy(G4double,G4double,G4double); - void PrimaryParticleEnergySpectrum(G4double); - void DoseDistribution(G4double,G4double); - void finish(); + public: + void SetAddressedData( const CexmcEventFastSObject * evFastSObject, + const CexmcEventSObject * evSObject ); -private: - static BrachyAnalysisManager* instance; + bool EvalTPT( void ) const; -private: - AIDA::IAnalysisFactory* aFact; - AIDA::ITree* theTree; - AIDA::IHistogramFactory *histFact; - AIDA::ITreeFactory *treeFact; - AIDA::IHistogram2D *h1; - AIDA::IHistogram1D *h2; - AIDA::IHistogram1D *h3; + bool EvalEDT( void ) const; + + private: + CexmcASTEval astEval; + + ParseResultVector parseResultTPT; + + ParseResultVector parseResultEDT; + + CexmcCustomFilter::Grammar< std::string::const_iterator > grammar; }; -#endif + #endif - +#endif diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositDigitizer.hh b/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositDigitizer.hh new file mode 100644 index 0000000000..03e4809834 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositDigitizer.hh @@ -0,0 +1,605 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcEnergyDepositDigitizer.hh + * + * Description: digitizes of energy deposit in a single event + * + * Version: 1.0 + * Created: 23.11.2009 14:14:47 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_ENERGY_DEPOSIT_DIGITIZER_HH +#define CEXMC_ENERGY_DEPOSIT_DIGITIZER_HH + +#include +#include +#include "CexmcEnergyDepositStore.hh" +#include "CexmcSimpleRangeWithValue.hh" +#include "CexmcException.hh" +#include "CexmcCommon.hh" + + +class G4String; +class CexmcEnergyDepositDigitizerMessenger; + + +class CexmcEnergyDepositDigitizer : public G4VDigitizerModule +{ + public: + explicit CexmcEnergyDepositDigitizer( const G4String & name ); + + ~CexmcEnergyDepositDigitizer(); + + public: + void Digitize( void ); + + public: + G4double GetMonitorED( void ) const; + + G4double GetVetoCounterEDLeft( void ) const; + + G4double GetVetoCounterEDRight( void ) const; + + G4double GetCalorimeterEDLeft( void ) const; + + G4double GetCalorimeterEDRight( void ) const; + + G4int GetCalorimeterEDLeftMaxX( void ) const; + + G4int GetCalorimeterEDLeftMaxY( void ) const; + + G4int GetCalorimeterEDRightMaxX( void ) const; + + G4int GetCalorimeterEDRightMaxY( void ) const; + + const CexmcEnergyDepositCalorimeterCollection & + GetCalorimeterEDLeftCollection( void ) const; + + const CexmcEnergyDepositCalorimeterCollection & + GetCalorimeterEDRightCollection( void ) const; + + public: + G4bool MonitorHasTriggered( void ) const; + + G4bool HasTriggered( void ) const; + + public: + void SetMonitorThreshold( G4double value, + G4bool fromMessenger = true ); + + void SetVetoCounterLeftThreshold( G4double value, + G4bool fromMessenger = true ); + + void SetVetoCounterRightThreshold( G4double value, + G4bool fromMessenger = true ); + + void SetVetoCountersThreshold( G4double value ); + + void SetCalorimeterLeftThreshold( G4double value, + G4bool fromMessenger = true ); + + void SetCalorimeterRightThreshold( G4double value, + G4bool fromMessenger = true ); + + void SetCalorimetersThreshold( G4double value ); + + void SetCalorimeterTriggerAlgorithm( + CexmcCalorimeterTriggerAlgorithm value, + G4bool fromMessenger = true ); + + void SetOuterCrystalsVetoAlgorithm( + CexmcOuterCrystalsVetoAlgorithm value, + G4bool fromMessenger = true ); + + void SetOuterCrystalsVetoFraction( G4double value, + G4bool fromMessenger = true ); + + void ApplyFiniteCrystalResolution( G4bool value, + G4bool fromMessenger = true ); + + void AddCrystalResolutionRange( G4double bottom, G4double top, + G4double value, + G4bool fromMessenger = true ); + + void ClearCrystalResolutionData( G4bool fromMessenger = true ); + + void SetCrystalResolutionData( + const CexmcEnergyRangeWithDoubleValueList & data ); + + G4double GetMonitorThreshold( void ) const; + + G4double GetVetoCounterLeftThreshold( void ) const; + + G4double GetVetoCounterRightThreshold( void ) const; + + G4double GetCalorimeterLeftThreshold( void ) const; + + G4double GetCalorimeterRightThreshold( void ) const; + + CexmcCalorimeterTriggerAlgorithm + GetCalorimeterTriggerAlgorithm( void ) const; + + CexmcOuterCrystalsVetoAlgorithm + GetOuterCrystalsVetoAlgorithm( void ) const; + + G4double GetOuterCrystalsVetoFraction( void ) const; + + G4bool IsFiniteCrystalResolutionApplied( void ) const; + + const CexmcEnergyRangeWithDoubleValueList & + GetCrystalResolutionData( void ) const; + + public: + G4bool IsOuterCrystal( G4int column, G4int row ) const; + + void TransformToAdjacentInnerCrystal( G4int & column, + G4int & row ) const; + + private: + void InitializeData( void ); + + private: + G4double monitorED; + + G4double vetoCounterEDLeft; + + G4double vetoCounterEDRight; + + CexmcEnergyDepositCalorimeterCollection calorimeterEDLeftCollection; + + CexmcEnergyDepositCalorimeterCollection calorimeterEDRightCollection; + + G4double calorimeterEDLeft; + + G4double calorimeterEDRight; + + G4int calorimeterEDLeftMaxX; + + G4int calorimeterEDLeftMaxY; + + G4int calorimeterEDRightMaxX; + + G4int calorimeterEDRightMaxY; + + G4bool monitorHasTriggered; + + G4bool hasTriggered; + + private: + G4double monitorEDThreshold; + + G4double vetoCounterEDLeftThreshold; + + G4double vetoCounterEDRightThreshold; + + G4double calorimeterEDLeftThreshold; + + G4double calorimeterEDRightThreshold; + + CexmcCalorimeterTriggerAlgorithm calorimeterTriggerAlgorithm; + + CexmcOuterCrystalsVetoAlgorithm outerCrystalsVetoAlgorithm; + + G4double outerCrystalsVetoFraction; + + G4double monitorEDThresholdRef; + + G4double vetoCounterEDLeftThresholdRef; + + G4double vetoCounterEDRightThresholdRef; + + G4double calorimeterEDLeftThresholdRef; + + G4double calorimeterEDRightThresholdRef; + + CexmcCalorimeterTriggerAlgorithm calorimeterTriggerAlgorithmRef; + + CexmcOuterCrystalsVetoAlgorithm outerCrystalsVetoAlgorithmRef; + + G4double outerCrystalsVetoFractionRef; + + private: + G4int nCrystalsInColumn; + + G4int nCrystalsInRow; + + private: + G4bool applyFiniteCrystalResolution; + + CexmcEnergyRangeWithDoubleValueList crystalResolutionData; + + private: + CexmcEnergyDepositDigitizerMessenger * messenger; +}; + + +inline G4double CexmcEnergyDepositDigitizer::GetMonitorED( void ) const +{ + return monitorED; +} + + +inline G4double CexmcEnergyDepositDigitizer::GetVetoCounterEDLeft( void ) const +{ + return vetoCounterEDLeft; +} + + +inline G4double CexmcEnergyDepositDigitizer::GetVetoCounterEDRight( void ) + const +{ + return vetoCounterEDRight; +} + + +inline G4double CexmcEnergyDepositDigitizer::GetCalorimeterEDLeft( void ) const +{ + return calorimeterEDLeft; +} + + +inline G4double CexmcEnergyDepositDigitizer::GetCalorimeterEDRight( void ) + const +{ + return calorimeterEDRight; +} + + +inline G4int CexmcEnergyDepositDigitizer::GetCalorimeterEDLeftMaxX( void ) + const +{ + return calorimeterEDLeftMaxX; +} + + +inline G4int CexmcEnergyDepositDigitizer::GetCalorimeterEDLeftMaxY( void ) + const +{ + return calorimeterEDLeftMaxY; +} + + +inline G4int CexmcEnergyDepositDigitizer::GetCalorimeterEDRightMaxX( void ) + const +{ + return calorimeterEDRightMaxX; +} + + +inline G4int CexmcEnergyDepositDigitizer::GetCalorimeterEDRightMaxY( void ) + const +{ + return calorimeterEDRightMaxY; +} + + +inline const CexmcEnergyDepositCalorimeterCollection & + CexmcEnergyDepositDigitizer::GetCalorimeterEDLeftCollection( void ) const +{ + return calorimeterEDLeftCollection; +} + + +inline const CexmcEnergyDepositCalorimeterCollection & + CexmcEnergyDepositDigitizer::GetCalorimeterEDRightCollection( void ) const +{ + return calorimeterEDRightCollection; +} + + +inline G4bool CexmcEnergyDepositDigitizer::MonitorHasTriggered( void ) const +{ + return monitorHasTriggered; +} + + +inline G4bool CexmcEnergyDepositDigitizer::HasTriggered( void ) const +{ + return hasTriggered; +} + + +inline void CexmcEnergyDepositDigitizer::SetMonitorThreshold( + G4double value, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcBadThreshold, + value < monitorEDThresholdRef ); + else + monitorEDThresholdRef = value; + + monitorEDThreshold = value; +} + + +inline void CexmcEnergyDepositDigitizer::SetVetoCounterLeftThreshold( + G4double value, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcBadThreshold, + value > vetoCounterEDLeftThresholdRef ); + else + vetoCounterEDLeftThresholdRef = value; + + vetoCounterEDLeftThreshold = value; +} + + +inline void CexmcEnergyDepositDigitizer::SetVetoCounterRightThreshold( + G4double value, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcBadThreshold, + value > vetoCounterEDRightThresholdRef ); + else + vetoCounterEDRightThresholdRef = value; + + vetoCounterEDRightThreshold = value; +} + + +inline void CexmcEnergyDepositDigitizer::SetVetoCountersThreshold( + G4double value ) +{ + ThrowExceptionIfProjectIsRead( CexmcBadThreshold, + value > vetoCounterEDLeftThresholdRef || + value > vetoCounterEDRightThresholdRef ); + + vetoCounterEDLeftThreshold = value; + vetoCounterEDRightThreshold = value; +} + + +inline void CexmcEnergyDepositDigitizer::SetCalorimeterLeftThreshold( + G4double value, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcBadThreshold, + value < calorimeterEDLeftThresholdRef ); + else + calorimeterEDLeftThresholdRef = value; + + calorimeterEDLeftThreshold = value; +} + + +inline void CexmcEnergyDepositDigitizer::SetCalorimeterRightThreshold( + G4double value, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcBadThreshold, + value < calorimeterEDRightThresholdRef ); + else + calorimeterEDRightThresholdRef = value; + + calorimeterEDRightThreshold = value; +} + + +inline void CexmcEnergyDepositDigitizer::SetCalorimetersThreshold( + G4double value ) +{ + ThrowExceptionIfProjectIsRead( CexmcBadThreshold, + value < calorimeterEDLeftThresholdRef || + value < calorimeterEDRightThresholdRef ); + + calorimeterEDLeftThreshold = value; + calorimeterEDRightThreshold = value; +} + + +inline void CexmcEnergyDepositDigitizer::SetCalorimeterTriggerAlgorithm( + CexmcCalorimeterTriggerAlgorithm value, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcBadCalorimeterTriggerAlgorithm, + ! ( calorimeterTriggerAlgorithmRef == + CexmcAllCrystalsMakeEDTriggerThreshold || + value == calorimeterTriggerAlgorithmRef ) ); + else + calorimeterTriggerAlgorithmRef = value; + + calorimeterTriggerAlgorithm = value; +} + + +inline void CexmcEnergyDepositDigitizer::SetOuterCrystalsVetoAlgorithm( + CexmcOuterCrystalsVetoAlgorithm value, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcBadOCVetoAlgorithm, + ! ( outerCrystalsVetoAlgorithmRef == CexmcNoOuterCrystalsVeto || + value == outerCrystalsVetoAlgorithmRef ) ); + else + outerCrystalsVetoAlgorithmRef = value; + + outerCrystalsVetoAlgorithm = value; +} + + +inline void CexmcEnergyDepositDigitizer::SetOuterCrystalsVetoFraction( + G4double value, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcBadOCVetoFraction, + value > outerCrystalsVetoFractionRef ); + else + outerCrystalsVetoFractionRef = value; + + outerCrystalsVetoFraction = value; +} + + +inline void CexmcEnergyDepositDigitizer::ApplyFiniteCrystalResolution( + G4bool value, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + applyFiniteCrystalResolution = value; +} + + +inline void CexmcEnergyDepositDigitizer::AddCrystalResolutionRange( + G4double bottom, G4double top, + G4double value, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + /* range boundaries are given in GeV */ + crystalResolutionData.push_back( CexmcEnergyRangeWithDoubleValue( + bottom * GeV, top * GeV, value ) ); +} + + +inline void CexmcEnergyDepositDigitizer::ClearCrystalResolutionData( + G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + crystalResolutionData.clear(); +} + + +inline void CexmcEnergyDepositDigitizer::SetCrystalResolutionData( + const CexmcEnergyRangeWithDoubleValueList & data ) +{ + ClearCrystalResolutionData( false ); + crystalResolutionData = data; +} + + +inline G4bool CexmcEnergyDepositDigitizer::IsOuterCrystal( G4int column, + G4int row ) const +{ + return column == 0 || column == nCrystalsInRow - 1 || + row == 0 || row == nCrystalsInColumn - 1; +} + + +inline void CexmcEnergyDepositDigitizer::TransformToAdjacentInnerCrystal( + G4int & column, G4int & row ) const +{ + if ( column == 0 ) + ++column; + if ( column == nCrystalsInRow - 1 ) + --column; + if ( row == 0 ) + ++row; + if ( row == nCrystalsInColumn - 1 ) + --row; +} + + +inline G4double CexmcEnergyDepositDigitizer::GetMonitorThreshold( void ) const +{ + return monitorEDThreshold; +} + + +inline G4double CexmcEnergyDepositDigitizer::GetVetoCounterLeftThreshold( + void ) const +{ + return vetoCounterEDLeftThreshold; +} + + +inline G4double CexmcEnergyDepositDigitizer::GetVetoCounterRightThreshold( + void ) const +{ + return vetoCounterEDRightThreshold; +} + + +inline G4double CexmcEnergyDepositDigitizer::GetCalorimeterLeftThreshold( + void ) const +{ + return calorimeterEDLeftThreshold; +} + + +inline G4double CexmcEnergyDepositDigitizer::GetCalorimeterRightThreshold( + void ) const +{ + return calorimeterEDRightThreshold; +} + + +inline CexmcCalorimeterTriggerAlgorithm + CexmcEnergyDepositDigitizer::GetCalorimeterTriggerAlgorithm( + void ) const +{ + return calorimeterTriggerAlgorithm; +} + + +inline CexmcOuterCrystalsVetoAlgorithm + CexmcEnergyDepositDigitizer::GetOuterCrystalsVetoAlgorithm( + void ) const +{ + return outerCrystalsVetoAlgorithm; +} + + +inline G4double CexmcEnergyDepositDigitizer::GetOuterCrystalsVetoFraction( + void ) const +{ + return outerCrystalsVetoFraction; +} + + +inline G4bool CexmcEnergyDepositDigitizer::IsFiniteCrystalResolutionApplied( + void ) const +{ + return applyFiniteCrystalResolution; +} + + +inline const CexmcEnergyRangeWithDoubleValueList & + CexmcEnergyDepositDigitizer::GetCrystalResolutionData( void ) const +{ + return crystalResolutionData; +} + + +std::ostream & operator<<( std::ostream & out, + const CexmcEnergyDepositCalorimeterCollection & edCollection ); + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositDigitizerMessenger.hh b/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositDigitizerMessenger.hh new file mode 100644 index 0000000000..1855fa6260 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositDigitizerMessenger.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcEnergyDepositDigitizerMessenger.hh + * + * Description: energy deposit digitizer messenger + * + * Version: 1.0 + * Created: 29.11.2009 18:54:33 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_ENERGY_DEPOSIT_DIGITIZER_MESSENGER_HH +#define CEXMC_ENERGY_DEPOSIT_DIGITIZER_MESSENGER_HH + +#include + +class CexmcEnergyDepositDigitizer; +class G4UIcommand; +class G4UIcmdWithADouble; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithAString; +class G4UIcmdWithABool; +class G4UIcmdWith3Vector; +class G4UIcmdWithoutParameter; + + +class CexmcEnergyDepositDigitizerMessenger : public G4UImessenger +{ + public: + explicit CexmcEnergyDepositDigitizerMessenger( + CexmcEnergyDepositDigitizer * energyDepositDigitiser ); + + ~CexmcEnergyDepositDigitizerMessenger(); + + public: + void SetNewValue( G4UIcommand * cmd, G4String value ); + + private: + CexmcEnergyDepositDigitizer * energyDepositDigitizer; + + G4UIcmdWithADoubleAndUnit * setMonitorThreshold; + + G4UIcmdWithADoubleAndUnit * setVetoCountersThreshold; + + G4UIcmdWithADoubleAndUnit * setLeftVetoCounterThreshold; + + G4UIcmdWithADoubleAndUnit * setRightVetoCounterThreshold; + + G4UIcmdWithADoubleAndUnit * setCalorimetersThreshold; + + G4UIcmdWithADoubleAndUnit * setLeftCalorimeterThreshold; + + G4UIcmdWithADoubleAndUnit * setRightCalorimeterThreshold; + + G4UIcmdWithAString * setCalorimeterTriggerAlgorithm; + + G4UIcmdWithAString * setOuterCrystalsVetoAlgorithm; + + G4UIcmdWithADouble * setOuterCrystalsVetoFraction; + + G4UIcmdWithABool * applyFiniteCrystalResolution; + + G4UIcmdWith3Vector * addCrystalResolutionRange; + + G4UIcmdWithoutParameter * clearCrystalResolutionData; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositInCalorimeter.hh b/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositInCalorimeter.hh new file mode 100644 index 0000000000..5bf077dc5c --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositInCalorimeter.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcEnergyDepositInCalorimeter.hh + * + * Description: energy deposit scorer in calorimeters + * + * Version: 1.0 + * Created: 14.11.2009 12:45:53 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_ENERGY_DEPOSIT_IN_CALORIMETER_HH +#define CEXMC_ENERGY_DEPOSIT_IN_CALORIMETER_HH + +#include "CexmcEnergyDepositInLeftRightSet.hh" + +class CexmcSetup; + + +class CexmcEnergyDepositInCalorimeter : public CexmcEnergyDepositInLeftRightSet +{ + public: + CexmcEnergyDepositInCalorimeter( const G4String & name, + const CexmcSetup * setup ); + + public: + void PrintAll( void ); + + protected: + G4int GetIndex( G4Step * step ); + + public: + static G4int GetRow( G4int index ); + + static G4int GetColumn( G4int index ); + + static G4int GetCopyDepth1BitsOffset( void ); + + protected: + static G4int copyDepth1BitsOffset; +}; + + +inline G4int CexmcEnergyDepositInCalorimeter::GetRow( G4int index ) +{ + index &= ( ( 1 << ( leftRightBitsOffset - 1 ) ) | + ( ( 1 << ( leftRightBitsOffset - 1 ) ) - 1 ) ); + return index >> copyDepth1BitsOffset; +} + + +inline G4int CexmcEnergyDepositInCalorimeter::GetColumn( G4int index ) +{ + return index & ( ( 1 << ( copyDepth1BitsOffset - 1 ) ) | + ( ( 1 << ( copyDepth1BitsOffset - 1 ) ) - 1 ) ); +} + + +inline G4int CexmcEnergyDepositInCalorimeter::GetCopyDepth1BitsOffset( void ) +{ + return copyDepth1BitsOffset; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositInLeftRightSet.hh b/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositInLeftRightSet.hh new file mode 100644 index 0000000000..1e7630e22e --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositInLeftRightSet.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcEnergyDepositInLeftRightSet.hh + * + * Description: energy deposit scorer in left/right detector sets + * (e.g. veto counters and calorimeters) + * + * Version: 1.0 + * Created: 14.11.2009 12:45:53 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_ENERGY_DEPOSIT_IN_LEFT_RIGHT_SET_HH +#define CEXMC_ENERGY_DEPOSIT_IN_LEFT_RIGHT_SET_HH + +#include "CexmcSimpleEnergyDeposit.hh" +#include "CexmcCommon.hh" + +class CexmcSetup; + + +class CexmcEnergyDepositInLeftRightSet : public CexmcSimpleEnergyDeposit +{ + public: + CexmcEnergyDepositInLeftRightSet( const G4String & name, + const CexmcSetup * setup ); + + public: + void PrintAll( void ); + + protected: + G4int GetIndex( G4Step * step ); + + protected: + const CexmcSetup * setup; + + public: + static CexmcSide GetSide( G4int index ); + + static G4int GetLeftRightBitsOffset( void ); + + protected: + static G4int leftRightBitsOffset; +}; + + +inline CexmcSide CexmcEnergyDepositInLeftRightSet::GetSide( G4int index ) +{ + if ( index >> leftRightBitsOffset == 1 ) + return CexmcRight; + + return CexmcLeft; +} + + +inline G4int CexmcEnergyDepositInLeftRightSet::GetLeftRightBitsOffset( void ) +{ + return leftRightBitsOffset; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositStore.hh b/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositStore.hh new file mode 100644 index 0000000000..709c671ce3 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcEnergyDepositStore.hh @@ -0,0 +1,126 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcEnergyDepositStore.hh + * + * Description: store energy deposit data and const references to + * energy deposit collections in calorimeters + * + * Version: 1.0 + * Created: 25.11.2009 15:32:51 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_ENERGY_DEPOSIT_STORE_HH +#define CEXMC_ENERGY_DEPOSIT_STORE_HH + +#include +#include "CexmcCommon.hh" + + +struct CexmcEnergyDepositStore +{ + CexmcEnergyDepositStore( G4double monitorED, + G4double vetoCounterEDLeft, + G4double vetoCounterEDRight, + G4double calorimeterEDLeft, + G4double calorimeterEDRight, + G4int calorimeterEDLeftMaxX, + G4int calorimeterEDLeftMaxY, + G4int calorimeterEDRightMaxX, + G4int calorimeterEDRightMaxY, + const CexmcEnergyDepositCalorimeterCollection & + calorimeterEDLeftCollection, + const CexmcEnergyDepositCalorimeterCollection & + calorimeterEDRightCollection ) : + monitorED( monitorED ), vetoCounterEDLeft( vetoCounterEDLeft ), + vetoCounterEDRight( vetoCounterEDRight ), + calorimeterEDLeft( calorimeterEDLeft ), + calorimeterEDRight( calorimeterEDRight ), + calorimeterEDLeftMaxX( calorimeterEDLeftMaxX ), + calorimeterEDLeftMaxY( calorimeterEDLeftMaxY ), + calorimeterEDRightMaxX( calorimeterEDRightMaxX ), + calorimeterEDRightMaxY( calorimeterEDRightMaxY ), + calorimeterEDLeftCollection( calorimeterEDLeftCollection ), + calorimeterEDRightCollection( calorimeterEDRightCollection ) + {} + + void * operator new( size_t size ); + + void operator delete( void * obj ); + + G4double monitorED; + + G4double vetoCounterEDLeft; + + G4double vetoCounterEDRight; + + G4double calorimeterEDLeft; + + G4double calorimeterEDRight; + + G4int calorimeterEDLeftMaxX; + + G4int calorimeterEDLeftMaxY; + + G4int calorimeterEDRightMaxX; + + G4int calorimeterEDRightMaxY; + + const CexmcEnergyDepositCalorimeterCollection & + calorimeterEDLeftCollection; + + const CexmcEnergyDepositCalorimeterCollection & + calorimeterEDRightCollection; +}; + + +extern G4Allocator< CexmcEnergyDepositStore > energyDepositStoreAllocator; + + +inline void * CexmcEnergyDepositStore::operator new( size_t ) +{ + return energyDepositStoreAllocator.MallocSingle(); +} + + +inline void CexmcEnergyDepositStore::operator delete( void * obj ) +{ + energyDepositStoreAllocator.FreeSingle( + reinterpret_cast< CexmcEnergyDepositStore * >( obj ) ); +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcEventAction.hh b/examples/advanced/ChargeExchangeMC/include/CexmcEventAction.hh new file mode 100644 index 0000000000..bb40855ba7 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcEventAction.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcEventAction.hh + * + * Description: event action + * + * Version: 1.0 + * Created: 27.10.2009 22:41:29 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_EVENT_ACTION_HH +#define CEXMC_EVENT_ACTION_HH + +#include +#include "CexmcAngularRange.hh" + +class G4Event; +class CexmcPhysicsManager; +class CexmcEnergyDepositDigitizer; +class CexmcEnergyDepositStore; +class CexmcTrackPointsDigitizer; +class CexmcTrackPointsStore; +class CexmcEventActionMessenger; +class CexmcProductionModelData; +class CexmcChargeExchangeReconstructor; + + +class CexmcEventAction : public G4UserEventAction +{ + public: + explicit CexmcEventAction( CexmcPhysicsManager * physicsManager, + G4int verbose = 0 ); + + virtual ~CexmcEventAction(); + + public: + void BeginOfEventAction( const G4Event * event ); + + void EndOfEventAction( const G4Event * event ); + + public: + void BeamParticleChangeHook( void ); + + void SetVerboseOnCexmcLevel( G4int verbose_ ); + + void SetVerboseDrawLevel( G4int verboseDraw_ ); + + void DrawTrajectoryMarkers( G4bool on ); + + CexmcChargeExchangeReconstructor * GetReconstructor( void ); + + private: + void PrintReconstructedData( + const CexmcAngularRangeList & angularRanges, + const CexmcAngularRange & angularGap ) const; + +#ifdef CEXMC_USE_ROOT + void FillEDTHistos( const CexmcEnergyDepositStore * edStore, + const CexmcAngularRangeList & triggeredAngularRanges ) const; + + void FillTPTHistos( const CexmcTrackPointsStore * tpStore, + const CexmcProductionModelData & pmData, + const CexmcAngularRangeList & triggeredAngularRanges ) const; + + void FillRTHistos( G4bool reconstructorHasFullTrigger, + const CexmcEnergyDepositStore * edStore, + const CexmcTrackPointsStore * tpStore, + const CexmcProductionModelData & pmData, + const CexmcAngularRangeList & triggeredAngularRanges ) const; +#endif + + void DrawTrajectories( const G4Event * event ); + + void DrawTrackPoints( const CexmcTrackPointsStore * tpStore ) const; + + void DrawReconstructionData( void ); + + void UpdateRunHits( const CexmcAngularRangeList & aRangesReal, + const CexmcAngularRangeList & aRangesRec, + G4bool tpDigitizerHasTriggered, + G4bool edDigitizerHasTriggered, + G4bool edDigitizerMonitorHasTriggered, + G4bool reconstructorHasTriggered, + const CexmcAngularRange & aGap ); + +#ifdef CEXMC_USE_PERSISTENCY + void SaveEvent( const G4Event * event, + G4bool edDigitizerMonitorHasTriggered, + const CexmcEnergyDepositStore * edStore, + const CexmcTrackPointsStore * tpStore, + const CexmcProductionModelData & pmData ); + + void SaveEventFast( const G4Event * event, + G4bool tpDigitizerHasTriggered, + G4bool edDigitizerHasTriggered, + G4bool edDigitizerMonitorHasTriggered, + G4double opCosThetaSCM ); +#endif + + public: + static CexmcEnergyDepositStore * MakeEnergyDepositStore( + const CexmcEnergyDepositDigitizer * digitizer, + G4bool useInnerRefCrystal ); + + static CexmcTrackPointsStore * MakeTrackPointsStore( + const CexmcTrackPointsDigitizer * digitizer ); + + static void PrintEnergyDeposit( + const CexmcEnergyDepositStore * edStore ); + + static void PrintTrackPoints( + const CexmcTrackPointsStore * tpStore ); + + static void PrintProductionModelData( + const CexmcAngularRangeList & angularRanges, + const CexmcProductionModelData & pmData ); + + private: + CexmcPhysicsManager * physicsManager; + + private: + CexmcChargeExchangeReconstructor * reconstructor; + + private: + G4int verbose; + + G4int verboseDraw; + + G4bool drawTrajectoryMarkers; + + CexmcEventActionMessenger * messenger; +}; + + +inline void CexmcEventAction::SetVerboseOnCexmcLevel( G4int verbose_ ) +{ + verbose = verbose_; +} + + +inline void CexmcEventAction::SetVerboseDrawLevel( G4int verboseDraw_ ) +{ + verboseDraw = verboseDraw_; +} + + +inline void CexmcEventAction::DrawTrajectoryMarkers( G4bool on ) +{ + drawTrajectoryMarkers = on; +} + + +inline CexmcChargeExchangeReconstructor * + CexmcEventAction::GetReconstructor( void ) +{ + return reconstructor; +} + + +#endif + diff --git a/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability001.hh b/examples/advanced/ChargeExchangeMC/include/CexmcEventActionMessenger.hh similarity index 59% rename from source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability001.hh rename to examples/advanced/ChargeExchangeMC/include/CexmcEventActionMessenger.hh index 929cb1e049..9c6c5ad63a 100644 --- a/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability001.hh +++ b/examples/advanced/ChargeExchangeMC/include/CexmcEventActionMessenger.hh @@ -23,48 +23,56 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// +/* + * ============================================================================= + * + * Filename: CexmcEventActionMessenger.hh + * + * Description: event action messenger (verbose level etc.) + * + * Version: 1.0 + * Created: 25.11.2009 14:38:55 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -#ifndef G4E1SingleProbability001_hh -#define G4E1SingleProbability001_hh +#ifndef CEXMC_EVENT_ACTION_MESSENGER_HH +#define CEXMC_EVENT_ACTION_MESSENGER_HH -#include "globals.hh" -#include "G4VEmissionProbability.hh" -#include "G4Fragment.hh" -#include "G4VLevelDensityParameter.hh" +#include -class G4E1SingleProbability001 : public G4VEmissionProbability +class G4UIcommand; +class G4UIcmdWithAnInteger; +class G4UIcmdWithABool; +class G4String; +class CexmcEventAction; + + +class CexmcEventActionMessenger : public G4UImessenger { + public: + explicit CexmcEventActionMessenger( CexmcEventAction * eventAction ); -public: + ~CexmcEventActionMessenger(); - G4E1SingleProbability001() {}; + public: + void SetNewValue( G4UIcommand * cmd, G4String value ); - ~G4E1SingleProbability001(); + private: + CexmcEventAction * eventAction; - G4double EmissionProbability(const G4Fragment& frag, const G4double excite); - G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton); + G4UIcmdWithAnInteger * setVerboseLevel; -private: - - // G4E1SingleProbability001() {}; - - G4E1SingleProbability001(const G4E1SingleProbability001& right); - - const G4E1SingleProbability001& operator=(const G4E1SingleProbability001& - right); - G4bool operator==(const G4E1SingleProbability001& right) const; - G4bool operator!=(const G4E1SingleProbability001& right) const; - - // Integrator (simple Gaussian quadrature) - - G4double EmissionIntegration(const G4Fragment& frag, const G4double excite, - const G4double lowLim, const G4double upLim, - const G4int numIters); - - // G4VLevelDensityParameter* _levelDensity; // Don't need this + G4UIcmdWithAnInteger * setVerboseDrawLevel; + G4UIcmdWithABool * drawTrajectoryMarkers; }; + #endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcEventFastSObject.hh b/examples/advanced/ChargeExchangeMC/include/CexmcEventFastSObject.hh new file mode 100644 index 0000000000..33e94464e8 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcEventFastSObject.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcEventFastSObject.hh + * + * Description: event data serialization helper + * + * Version: 1.0 + * Created: 02.01.2010 20:21:59 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_EVENT_FAST_SOBJECT_HH +#define CEXMC_EVENT_FAST_SOBJECT_HH + +#ifdef CEXMC_USE_PERSISTENCY + +#include +#include + + +class CexmcEventFastSObject +{ + friend class boost::serialization::access; + friend class CexmcRunManager; +#ifdef CEXMC_USE_CUSTOM_FILTER + friend class CexmcASTEval; +#endif + + public: + CexmcEventFastSObject(); + + CexmcEventFastSObject( G4int eventId, G4double opCosThetaSCM, + G4bool edDigitizerHasTriggered, + G4bool edDigitizerMonitorHasTriggered ); + + private: + template < typename Archive > + void serialize( Archive & archive, const unsigned int version ); + + private: + G4int eventId; + + G4double opCosThetaSCM; + + G4bool edDigitizerHasTriggered; + + G4bool edDigitizerMonitorHasTriggered; +}; + + +template < typename Archive > +void CexmcEventFastSObject::serialize( Archive & archive, const unsigned int ) +{ + archive & eventId; + archive & opCosThetaSCM; + archive & edDigitizerHasTriggered; + archive & edDigitizerMonitorHasTriggered; +} + +#endif + +#endif + diff --git a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionIr.hh b/examples/advanced/ChargeExchangeMC/include/CexmcEventInfo.hh similarity index 55% rename from examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionIr.hh rename to examples/advanced/ChargeExchangeMC/include/CexmcEventInfo.hh index e610e3edc2..494db4356a 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionIr.hh +++ b/examples/advanced/ChargeExchangeMC/include/CexmcEventInfo.hh @@ -23,108 +23,73 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -//Author: Susanna Guatelli -// -// $Id: BrachyPrimaryGeneratorActionIr.hh,v 1.3 2006/06/29 17:32:28 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ************************************************* -// * * -// * BrachyPrimaryGeneratorActionIr.hh" * -// * * -// ************************************************* -// -// -//Primary particles of the Iridium source. They are delivered from a random -//point of the radionuclide with random direction. +/* + * ============================================================================= + * + * Filename: CexmcEventInfo.hh + * + * Description: event information passed to run manager + * + * Version: 1.0 + * Created: 04.12.2009 14:47:50 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -#ifndef BrachyPrimaryGeneratorActionIr_h -#define BrachyPrimaryGeneratorActionIr_h 1 +#ifndef CEXMC_EVENT_INFO_HH +#define CEXMC_EVENT_INFO_HH -#include "globals.hh" -#include -#include "G4VUserPrimaryGeneratorAction.hh" -#include "BrachyPrimaryGeneratorAction.hh" +#include +#include "G4VUserEventInformation.hh" -class G4ParticleGun; -class G4Run; -class G4Event; -class BrachyAnalysisManager; -class BrachyPrimaryGeneratorAction; -class BrachyPrimaryGeneratorActionIr: public G4VUserPrimaryGeneratorAction +class CexmcEventInfo : public G4VUserEventInformation { -public: - BrachyPrimaryGeneratorActionIr(); - ~BrachyPrimaryGeneratorActionIr(); + public: + CexmcEventInfo( G4bool edTriggerIsOk, G4bool tpTriggerIsOk, + G4bool reconstructionIsOk ); - void GeneratePrimaries(G4Event* anEvent); - G4double GetEnergy(){return primaryParticleEnergy;}; - -private: - G4ParticleGun* particleGun; - G4double primaryParticleEnergy; + public: + void Print( void ) const; + + public: + G4bool EdTriggerIsOk( void ) const; + + G4bool TpTriggerIsOk( void ) const; + + G4bool ReconstructionIsOk( void ) const; + + private: + G4bool edTriggerIsOk; + + G4bool tpTriggerIsOk; + + G4bool reconstructionIsOk; }; + + +inline G4bool CexmcEventInfo::EdTriggerIsOk( void ) const +{ + return edTriggerIsOk; +} + + +inline G4bool CexmcEventInfo::TpTriggerIsOk( void ) const +{ + return tpTriggerIsOk; +} + + +inline G4bool CexmcEventInfo::ReconstructionIsOk( void ) const +{ + return reconstructionIsOk; +} + + #endif - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcEventSObject.hh b/examples/advanced/ChargeExchangeMC/include/CexmcEventSObject.hh new file mode 100644 index 0000000000..bea093b199 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcEventSObject.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcEventSObject.hh + * + * Description: event data serialization helper + * + * Version: 1.0 + * Created: 30.12.2009 16:54:30 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_EVENT_SOBJECT_HH +#define CEXMC_EVENT_SOBJECT_HH + +#ifdef CEXMC_USE_PERSISTENCY + +#include +#include +#include "CexmcSimpleTrackPointInfoStore.hh" +#include "CexmcSimpleProductionModelDataStore.hh" +#include "CexmcCommon.hh" + +class CexmcTrackPointInfo; +class CexmcProductionModelData; + + +class CexmcEventSObject +{ + friend class boost::serialization::access; + friend class CexmcRunManager; +#ifdef CEXMC_USE_CUSTOM_FILTER + friend class CexmcASTEval; +#endif + + public: + CexmcEventSObject(); + + CexmcEventSObject( G4int eventId, + G4bool edDigitizerMonitorHasTriggered, G4double monitorED, + G4double vetoCounterEDLeft, G4double vetoCounterEDRight, + G4double calorimeterEDLeft, G4double calorimeterEDRight, + const CexmcEnergyDepositCalorimeterCollection & + calorimeterEDLeftCollection, + const CexmcEnergyDepositCalorimeterCollection & + calorimeterEDRightCollection, + const CexmcTrackPointInfo & monitorTP, + const CexmcTrackPointInfo & targetTPBeamParticle, + const CexmcTrackPointInfo & targetTPOutputParticle, + const CexmcTrackPointInfo & targetTPNucleusParticle, + const CexmcTrackPointInfo & + targetTPOutputParticleDecayProductParticle1, + const CexmcTrackPointInfo & + targetTPOutputParticleDecayProductParticle2, + const CexmcTrackPointInfo & vetoCounterTPLeft, + const CexmcTrackPointInfo & vetoCounterTPRight, + const CexmcTrackPointInfo & calorimeterTPLeft, + const CexmcTrackPointInfo & calorimeterTPRight, + const CexmcProductionModelData & productionModelData ); + + private: + template < typename Archive > + void serialize( Archive & archive, const unsigned int version ); + + private: + G4int eventId; + + G4bool edDigitizerMonitorHasTriggered; + + G4double monitorED; + + G4double vetoCounterEDLeft; + + G4double vetoCounterEDRight; + + G4double calorimeterEDLeft; + + G4double calorimeterEDRight; + + CexmcEnergyDepositCalorimeterCollection calorimeterEDLeftCollection; + + CexmcEnergyDepositCalorimeterCollection calorimeterEDRightCollection; + + CexmcSimpleTrackPointInfoStore monitorTP; + + CexmcSimpleTrackPointInfoStore targetTPBeamParticle; + + CexmcSimpleTrackPointInfoStore targetTPOutputParticle; + + CexmcSimpleTrackPointInfoStore targetTPNucleusParticle; + + CexmcSimpleTrackPointInfoStore + targetTPOutputParticleDecayProductParticle1; + + CexmcSimpleTrackPointInfoStore + targetTPOutputParticleDecayProductParticle2; + + CexmcSimpleTrackPointInfoStore vetoCounterTPLeft; + + CexmcSimpleTrackPointInfoStore vetoCounterTPRight; + + CexmcSimpleTrackPointInfoStore calorimeterTPLeft; + + CexmcSimpleTrackPointInfoStore calorimeterTPRight; + + CexmcSimpleProductionModelDataStore productionModelData; +}; + + +template < typename Archive > +void CexmcEventSObject::serialize( Archive & archive, const unsigned int ) +{ + archive & eventId; + archive & edDigitizerMonitorHasTriggered; + archive & monitorED; + archive & vetoCounterEDLeft; + archive & vetoCounterEDRight; + archive & calorimeterEDLeft; + archive & calorimeterEDRight; + archive & calorimeterEDLeftCollection; + archive & calorimeterEDRightCollection; + archive & monitorTP; + archive & targetTPBeamParticle; + archive & targetTPOutputParticle; + archive & targetTPNucleusParticle; + archive & targetTPOutputParticleDecayProductParticle1; + archive & targetTPOutputParticleDecayProductParticle2; + archive & vetoCounterTPLeft; + archive & vetoCounterTPRight; + archive & calorimeterTPLeft; + archive & calorimeterTPRight; + archive & productionModelData; +} + +#endif + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcException.hh b/examples/advanced/ChargeExchangeMC/include/CexmcException.hh new file mode 100644 index 0000000000..08bfc6667c --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcException.hh @@ -0,0 +1,112 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcException.hh + * + * Description: cexmc exceptions + * + * Version: 1.0 + * Created: 04.11.2009 00:00:58 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_EXCEPTION_HH +#define CEXMC_EXCEPTION_HH + +#include +#include + + +enum CexmcExceptionType +{ + CexmcUnknownException, + CexmcSystemException, + CexmcEventActionIsNotInitialized, + CexmcCmdLineParseException, + CexmcPreinitException, + CexmcFileCompressException, + CexmcReadProjectIncomplete, + CexmcProjectExists, + CexmcCmdIsNotAllowed, + CexmcBadAngularRange, + CexmcBadThreshold, + CexmcBadCalorimeterTriggerAlgorithm, + CexmcBadOCVetoAlgorithm, + CexmcBadOCVetoFraction, + CexmcCalorimeterRegionNotInitialized, + CexmcCalorimeterGeometryDataNotInitialized, + CexmcMultipleDetectorRoles, + CexmcKinematicsException, + CexmcPoorEventData, + CexmcIncompatibleGeometry, + CexmcIncompleteProductionModel, + CexmcIncompatibleProductionModel, + CexmcBeamAndIncidentParticlesMismatch, + CexmcInvalidAngularRange, +#ifdef CEXMC_USE_CUSTOM_FILTER + CexmcCFBadSource, + CexmcCFParseError, + CexmcCFUninitialized, + CexmcCFUninitializedVector, + CexmcCFUnexpectedContext, + CexmcCFUnexpectedFunction, + CexmcCFUnexpectedVariable, + CexmcCFUnexpectedVariableUsage, + CexmcCFUnexpectedVectorIndex, +#endif + CexmcWeirdException +}; + + +class CexmcException : public std::exception +{ + public: + explicit CexmcException( CexmcExceptionType type ); + + ~CexmcException() throw(); + + public: + const char * what( void ) const throw(); + + private: + CexmcExceptionType type; +}; + + +void ThrowExceptionIfProjectIsRead( CexmcExceptionType type, + G4bool extraCond = true ); + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcGenbod.hh b/examples/advanced/ChargeExchangeMC/include/CexmcGenbod.hh new file mode 100644 index 0000000000..6f307fa5e7 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcGenbod.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcGenbod.hh + * + * Description: original fortran routine GENBOD wrapper + * + * Version: 1.0 + * Created: 08.09.2010 14:32:14 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_GENBOD_HH +#define CEXMC_GENBOD_HH + +#ifdef CEXMC_USE_GENBOD + +#include "CexmcPhaseSpaceGenerator.hh" + + +class CexmcGenbod : public CexmcPhaseSpaceGenerator +{ + public: + CexmcGenbod(); + + public: + G4bool CheckKinematics( void ); + + G4double Generate( void ); + + private: + void ParticleChangeHook( void ); + + void FermiEnergyDepStatusChangeHook( void ); +}; + +#endif + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcHadronicPhysics.hh b/examples/advanced/ChargeExchangeMC/include/CexmcHadronicPhysics.hh new file mode 100644 index 0000000000..de6a7d3e04 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcHadronicPhysics.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcHadronicPhysics.hh + * + * Description: hadronic physics with adjustable production model + * + * Version: 1.0 + * Created: 28.10.2009 17:16:44 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_HADRONIC_PHYSICS_HH +#define CEXMC_HADRONIC_PHYSICS_HH + +#include "CexmcStudiedPhysics.hh" +#include "CexmcHadronicProcess.hh" + + +template < typename ProductionModel > +class CexmcHadronicPhysics : public CexmcStudiedPhysics< CexmcHadronicProcess > +{ + public: + explicit CexmcHadronicPhysics( CexmcPhysicsManager * physicsManager ); + + ~CexmcHadronicPhysics(); + + private: + void ApplyInteractionModel( G4VProcess * process ); +}; + + +template < typename ProductionModel > +CexmcHadronicPhysics< ProductionModel >::CexmcHadronicPhysics( + CexmcPhysicsManager * physicsManager ) : + CexmcStudiedPhysics< CexmcHadronicProcess >( physicsManager ) +{ + productionModel = new ProductionModel; +} + + +template < typename ProductionModel > +CexmcHadronicPhysics< ProductionModel >::~CexmcHadronicPhysics() +{ + delete productionModel; +} + + +template < typename ProductionModel > +void CexmcHadronicPhysics< ProductionModel >::ApplyInteractionModel( + G4VProcess * process ) +{ + CexmcHadronicProcess * theProcess( static_cast< CexmcHadronicProcess * >( + process ) ); + theProcess->RegisterProductionModel( productionModel ); +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcHadronicProcess.hh b/examples/advanced/ChargeExchangeMC/include/CexmcHadronicProcess.hh new file mode 100644 index 0000000000..b3022f8315 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcHadronicProcess.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcHadronicProcess.hh + * + * Description: hadronic process with production model + * + * Version: 1.0 + * Created: 31.10.2009 23:44:11 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_HADRONIC_PROCESS_HH +#define CEXMC_HADRONIC_PROCESS_HH + +#include +#include +#include "CexmcCommon.hh" + +class G4VParticleChange; +class G4ParticleDefinition; +class G4Track; +class G4Step; +class G4Material; +class G4HadronicInteraction; +class CexmcProductionModel; + + +class CexmcHadronicProcess : public G4HadronicProcess +{ + public: + explicit CexmcHadronicProcess( + const G4String & name = CexmcStudiedProcessLastName ); + + ~CexmcHadronicProcess(); + + public: + G4VParticleChange * PostStepDoIt( const G4Track & track, + const G4Step & step ); + + G4bool IsApplicable( const G4ParticleDefinition & particle ); + + public: + void RegisterProductionModel( CexmcProductionModel * model ); + + private: + void CalculateTargetNucleus( const G4Material * material ); + + void FillTotalResult( G4HadFinalState * hadFinalState, + const G4Track & track ); + + private: + CexmcProductionModel * productionModel; + + G4HadronicInteraction * interaction; + + private: + G4ParticleChange * theTotalResult; + + G4Nucleus targetNucleus; + + G4bool isInitialized; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcHistoManager.hh b/examples/advanced/ChargeExchangeMC/include/CexmcHistoManager.hh new file mode 100644 index 0000000000..9e85b11aa3 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcHistoManager.hh @@ -0,0 +1,262 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcHistoManager.hh + * + * Description: histograming manager (singleton) + * + * Version: 1.0 + * Created: 26.11.2009 20:55:16 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_HISTO_MANAGER_HH +#define CEXMC_HISTO_MANAGER_HH + +#ifdef CEXMC_USE_ROOT + +#include +#include +#include +#include +#include "CexmcAngularRange.hh" +#include "CexmcCommon.hh" + +class TFile; +class TH1; +#ifdef CEXMC_USE_ROOTQT +class TQtWidget; +#endif +class CexmcHistoManagerMessenger; + + +enum CexmcHistoType +{ + CexmcMomentumBP_TPT_Histo, + CexmcMomentumBP_RT_Histo, + CexmcTPInMonitor_TPT_Histo, + CexmcTPInTarget_TPT_Histo, + CexmcTPInTarget_RT_Histo, + CexmcRecMasses_EDT_Histo, + CexmcRecMasses_RT_Histo, + CexmcAbsorbedEnergy_EDT_Histo, + CexmcAbsorbedEnergy_RT_Histo, + CexmcHistoType_ARReal_START, + CexmcRecMassOP_ARReal_RT_Histo = CexmcHistoType_ARReal_START, + CexmcRecMassNOP_ARReal_RT_Histo, + CexmcOPDPAtLeftCalorimeter_ARReal_EDT_Histo, + CexmcOPDPAtRightCalorimeter_ARReal_EDT_Histo, + CexmcOPDPAtLeftCalorimeter_ARReal_RT_Histo, + CexmcOPDPAtRightCalorimeter_ARReal_RT_Histo, + CexmcRecOPDPAtLeftCalorimeter_ARReal_EDT_Histo, + CexmcRecOPDPAtRightCalorimeter_ARReal_EDT_Histo, + CexmcRecOPDPAtLeftCalorimeter_ARReal_RT_Histo, + CexmcRecOPDPAtRightCalorimeter_ARReal_RT_Histo, + CexmcKinEnAtLeftCalorimeter_ARReal_TPT_Histo, + CexmcKinEnAtRightCalorimeter_ARReal_TPT_Histo, + CexmcKinEnAtLeftCalorimeter_ARReal_RT_Histo, + CexmcKinEnAtRightCalorimeter_ARReal_RT_Histo, + CexmcAbsEnInLeftCalorimeter_ARReal_EDT_Histo, + CexmcAbsEnInRightCalorimeter_ARReal_EDT_Histo, + CexmcAbsEnInLeftCalorimeter_ARReal_RT_Histo, + CexmcAbsEnInRightCalorimeter_ARReal_RT_Histo, + CexmcMissEnFromLeftCalorimeter_ARReal_RT_Histo, + CexmcMissEnFromRightCalorimeter_ARReal_RT_Histo, + CexmcKinEnOP_LAB_ARReal_TPT_Histo, + CexmcKinEnOP_LAB_ARReal_RT_Histo, + CexmcAngleOP_SCM_ARReal_TPT_Histo, + CexmcAngleOP_SCM_ARReal_RT_Histo, + CexmcRecAngleOP_SCM_ARReal_RT_Histo, + CexmcDiffAngleOP_SCM_ARReal_RT_Histo, + CexmcOpenAngle_ARReal_TPT_Histo, + CexmcOpenAngle_ARReal_RT_Histo, + CexmcRecOpenAngle_ARReal_RT_Histo, + CexmcDiffOpenAngle_ARReal_RT_Histo, + CexmcTPInTarget_ARReal_TPT_Histo, + CexmcTPInTarget_ARReal_RT_Histo, + CexmcHistoType_ARReal_END = CexmcTPInTarget_ARReal_RT_Histo, + CexmcHistoType_SIZE +}; + + +class CexmcHistoManager +{ + private: + typedef std::vector< TH1 * > CexmcHistoVector; + + typedef std::map< CexmcHistoType, CexmcHistoVector > CexmcHistosMap; + + typedef std::pair< CexmcHistoType, CexmcHistoVector > CexmcHistoPair; + + struct CexmcHistoAxisData + { + CexmcHistoAxisData() : nBins( 0 ), nBinsMin( 0 ), nBinsMax( 0 ) + {} + + CexmcHistoAxisData( Int_t nBins, Double_t nBinsMin, + Double_t nBinsMax ) : + nBins( nBins ), nBinsMin( nBinsMin ), nBinsMax( nBinsMax ) + {} + + Int_t nBins; + + Double_t nBinsMin; + + Double_t nBinsMax; + }; + + typedef std::vector< CexmcHistoAxisData > CexmcHistoAxes; + + enum CexmcHistoImpl + { + Cexmc_TH1F, + Cexmc_TH2F, + Cexmc_TH3F + }; + + struct CexmcHistoData + { + CexmcHistoData() : + type( CexmcHistoType_SIZE ), impl( Cexmc_TH1F ), + isARHisto( false ), isARRec( false ), triggerType( CexmcTPT ) + {} + + CexmcHistoData( CexmcHistoType type, CexmcHistoImpl impl, + bool isARHisto, bool isARRec, + CexmcTriggerType triggerType, + const G4String & name, const G4String & title, + const CexmcHistoAxes & axes ) : + type( type ), impl( impl ), isARHisto( isARHisto ), + isARRec( isARRec ), triggerType( triggerType ), name( name ), + title( title ), axes( axes ) + {} + + CexmcHistoType type; + + CexmcHistoImpl impl; + + bool isARHisto; + + bool isARRec; + + CexmcTriggerType triggerType; + + G4String name; + + G4String title; + + CexmcHistoAxes axes; + }; + + public: + static CexmcHistoManager * Instance( void ); + + static void Destroy( void ); + + private: + CexmcHistoManager(); + + ~CexmcHistoManager(); + + public: + void Initialize( void ); + + void SetupARHistos( const CexmcAngularRangeList & aRanges ); + + void AddARHistos( const CexmcAngularRange & aRange ); + + void Add( CexmcHistoType histoType, unsigned int index, + G4double x ); + + void Add( CexmcHistoType histoType, unsigned int index, G4double x, + G4double y ); + + void Add( CexmcHistoType histoType, unsigned int index, G4double x, + G4double y, G4double z ); + + void Add( CexmcHistoType histoType, unsigned int index, G4int binX, + G4int binY, G4double value ); + + void List( void ) const; + + void Print( const G4String & value ); + +#ifdef CEXMC_USE_ROOTQT + void Draw( const G4String & histoName, + const G4String & histoDrawOptions = "" ); +#endif + + private: + void AddHisto( const CexmcHistoData & data, + const CexmcAngularRange & aRange = CexmcAngularRange() ); + + void CreateHisto( CexmcHistoVector & histoVector, + CexmcHistoImpl histoImpl, const G4String & name, + const G4String & title, + const CexmcHistoAxes & axes ); + + private: + TFile * outFile; + + private: + CexmcHistosMap histos; + + bool isInitialized; + + G4String opName; + + G4String nopName; + + G4double opMass; + + G4double nopMass; + +#ifdef CEXMC_USE_ROOTQT + private: + + TQtWidget * rootCanvas; +#endif + + private: + CexmcHistoManagerMessenger * messenger; + + private: + static CexmcHistoManager * instance; +}; + +#endif + + +#endif + diff --git a/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4DummyProbability.hh b/examples/advanced/ChargeExchangeMC/include/CexmcHistoManagerMessenger.hh similarity index 60% rename from source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4DummyProbability.hh rename to examples/advanced/ChargeExchangeMC/include/CexmcHistoManagerMessenger.hh index a5cde74ae3..b5b6edc9a7 100644 --- a/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4DummyProbability.hh +++ b/examples/advanced/ChargeExchangeMC/include/CexmcHistoManagerMessenger.hh @@ -23,44 +23,58 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// +/* + * ============================================================================= + * + * Filename: CexmcHistoManagerMessenger.hh + * + * Description: commands to list and show histograms + * + * Version: 1.0 + * Created: 17.12.2009 21:38:16 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -#ifndef G4DummyProbability_hh -#define G4DummyProbability_hh +#ifndef CEXMC_HISTO_MANAGER_MESSENGER_HH +#define CEXMC_HISTO_MANAGER_MESSENGER_HH -#include "globals.hh" -#include "G4VEmissionProbability.hh" -#include "G4Fragment.hh" -#include "G4VLevelDensityParameter.hh" +#ifdef CEXMC_USE_ROOT -class G4DummyProbability : public G4VEmissionProbability +#include + +class G4UIcommand; +class G4UIcmdWithoutParameter; +class G4UIcmdWithAString; + + +class CexmcHistoManagerMessenger : public G4UImessenger { + public: + CexmcHistoManagerMessenger(); -public: + ~CexmcHistoManagerMessenger(); - G4DummyProbability() {}; + public: + void SetNewValue( G4UIcommand * cmd, G4String value ); - ~G4DummyProbability(); + private: + G4UIcmdWithoutParameter * listHistos; - G4double EmissionProbability(const G4Fragment& frag, const G4double excite); - G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton); - -private: - - // G4DummyProbability() {}; - - G4DummyProbability(const G4DummyProbability& right); - - const G4DummyProbability& operator=(const G4DummyProbability& right); - G4bool operator==(const G4DummyProbability& right) const; - G4bool operator!=(const G4DummyProbability& right) const; + G4UIcmdWithAString * printHisto; +#ifdef CEXMC_USE_ROOTQT + G4UIcmdWithAString * drawHisto; +#endif }; #endif - - +#endif diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc b/examples/advanced/ChargeExchangeMC/include/CexmcHistoWidget.hh similarity index 68% rename from examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc rename to examples/advanced/ChargeExchangeMC/include/CexmcHistoWidget.hh index 03100e514b..f5fab2e12c 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc +++ b/examples/advanced/ChargeExchangeMC/include/CexmcHistoWidget.hh @@ -23,33 +23,42 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: AnaEx01EventAction.cc,v 1.6 2006/06/29 16:33:53 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// +/* + * ============================================================================= + * + * Filename: CexmcHistoWidget.hh + * + * Description: histogram widget without context menu + * (derived from TQtWidget) + * + * Version: 1.0 + * Created: 15.03.2010 18:59:09 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_HISTO_WIDGET_HH +#define CEXMC_HISTO_WIDGET_HH + +#ifdef CEXMC_USE_ROOTQT + +#include + +class QContextMenuEvent; + + +class CexmcHistoWidget : public TQtWidget +{ + public: + void contextMenuEvent( QContextMenuEvent * event ); +}; -#ifdef G4ANALYSIS_USE -#include "AnaEx01AnalysisManager.hh" #endif -#include "AnaEx01EventAction.hh" - -AnaEx01EventAction::AnaEx01EventAction( - AnaEx01AnalysisManager* aAnalysisManager -):fAnalysisManager(aAnalysisManager){} - -AnaEx01EventAction::~AnaEx01EventAction(){} - -void AnaEx01EventAction::BeginOfEventAction(const G4Event* aEvent){ -#ifdef G4ANALYSIS_USE - if(fAnalysisManager) fAnalysisManager->BeginOfEvent(aEvent); #endif -} - -void AnaEx01EventAction::EndOfEventAction(const G4Event* aEvent) { -#ifdef G4ANALYSIS_USE - if(fAnalysisManager) fAnalysisManager->EndOfEvent(aEvent); -#endif -} diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcIncidentParticleTrackInfo.hh b/examples/advanced/ChargeExchangeMC/include/CexmcIncidentParticleTrackInfo.hh new file mode 100644 index 0000000000..593601cd74 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcIncidentParticleTrackInfo.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcIncidentParticleTrackInfo.hh + * + * Description: incident particle track info + * + * Version: 1.0 + * Created: 18.05.2010 13:04:03 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_INCIDENT_PARTICLE_TRACK_INFO_HH +#define CEXMC_INCIDENT_PARTICLE_TRACK_INFO_HH + +#include "CexmcTrackInfo.hh" + + +class CexmcIncidentParticleTrackInfo : public CexmcTrackInfo +{ + public: + explicit CexmcIncidentParticleTrackInfo( CexmcTrackType trackType = + CexmcInsipidTrack ); + + public: + G4int GetTypeInfo( void ) const; + + public: + G4double GetCurrentTrackLengthInTarget( void ) const; + + void AddTrackLengthInTarget( G4double value ); + + void SetNeedsTrackLengthResampling( G4bool on = true ); + + G4double GetFinalTrackLengthInTarget( void ) const; + + void SetFinalTrackLengthInTarget( G4double value ); + + void ResetCurrentTrackLengthInTarget( void ); + + G4bool NeedsTrackLengthResampling( void ) const; + + G4bool IsStudiedProcessActivated( void ) const; + + void ActivateStudiedProcess( G4bool on = true ); + + private: + G4double currentTrackLengthInTarget; + + G4double finalTrackLengthInTarget; + + G4bool isStudiedProcessActivated; + + G4bool needsTrackLengthResampling; +}; + + +inline G4double CexmcIncidentParticleTrackInfo::GetCurrentTrackLengthInTarget( + void ) const +{ + return currentTrackLengthInTarget; +} + + +inline void CexmcIncidentParticleTrackInfo::AddTrackLengthInTarget( + G4double value ) +{ + currentTrackLengthInTarget += value; +} + + +inline void CexmcIncidentParticleTrackInfo::SetNeedsTrackLengthResampling( + G4bool on ) +{ + needsTrackLengthResampling = on; +} + + +inline G4double CexmcIncidentParticleTrackInfo::GetFinalTrackLengthInTarget( + void ) const +{ + return finalTrackLengthInTarget; +} + + +inline void CexmcIncidentParticleTrackInfo::SetFinalTrackLengthInTarget( + G4double value ) +{ + finalTrackLengthInTarget = value; +} + + +inline void CexmcIncidentParticleTrackInfo::ResetCurrentTrackLengthInTarget( + void ) +{ + currentTrackLengthInTarget = 0.; +} + + +inline G4bool CexmcIncidentParticleTrackInfo::NeedsTrackLengthResampling( + void ) const +{ + return needsTrackLengthResampling; +} + + +inline G4bool CexmcIncidentParticleTrackInfo::IsStudiedProcessActivated( + void ) const +{ + return isStudiedProcessActivated; +} + + +inline void CexmcIncidentParticleTrackInfo::ActivateStudiedProcess( + G4bool on ) +{ + isStudiedProcessActivated = on; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcMessenger.hh b/examples/advanced/ChargeExchangeMC/include/CexmcMessenger.hh new file mode 100644 index 0000000000..9e2548c921 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcMessenger.hh @@ -0,0 +1,176 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcMessenger.hh + * + * Description: common messenger stuff (directories etc.) + * + * Version: 1.0 + * Created: 15.11.2009 12:48:40 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_MESSENGER_HH +#define CEXMC_MESSENGER_HH + +#include + +class G4UIdirectory; + + +class CexmcMessenger +{ + public: + static CexmcMessenger * Instance( void ); + + static void Destroy( void ); + + private: + CexmcMessenger(); + + ~CexmcMessenger(); + + public: + static G4String mainDirName; + + static G4String geometryDirName; + + static G4String physicsDirName; + + static G4String gunDirName; + + static G4String detectorDirName; + + static G4String eventDirName; + + static G4String runDirName; + + static G4String monitorDirName; + + static G4String targetDirName; + + static G4String vetoCounterDirName; + + static G4String vetoCounterLeftDirName; + + static G4String vetoCounterRightDirName; + + static G4String calorimeterDirName; + + static G4String calorimeterLeftDirName; + + static G4String calorimeterRightDirName; + + static G4String monitorEDDirName; + + static G4String vetoCounterEDDirName; + + static G4String vetoCounterLeftEDDirName; + + static G4String vetoCounterRightEDDirName; + + static G4String calorimeterEDDirName; + + static G4String calorimeterLeftEDDirName; + + static G4String calorimeterRightEDDirName; + + static G4String reconstructorDirName; + + static G4String visDirName; + +#ifdef CEXMC_USE_ROOT + static G4String histoDirName; +#endif + + private: + static CexmcMessenger * instance; + + private: + G4UIdirectory * mainDir; + + G4UIdirectory * geometryDir; + + G4UIdirectory * physicsDir; + + G4UIdirectory * gunDir; + + G4UIdirectory * detectorDir; + + G4UIdirectory * eventDir; + + G4UIdirectory * runDir; + + G4UIdirectory * monitorDir; + + G4UIdirectory * targetDir; + + G4UIdirectory * vetoCounterDir; + + G4UIdirectory * vetoCounterLeftDir; + + G4UIdirectory * vetoCounterRightDir; + + G4UIdirectory * calorimeterDir; + + G4UIdirectory * calorimeterLeftDir; + + G4UIdirectory * calorimeterRightDir; + + G4UIdirectory * monitorEDDir; + + G4UIdirectory * vetoCounterEDDir; + + G4UIdirectory * vetoCounterLeftEDDir; + + G4UIdirectory * vetoCounterRightEDDir; + + G4UIdirectory * calorimeterEDDir; + + G4UIdirectory * calorimeterLeftEDDir; + + G4UIdirectory * calorimeterRightEDDir; + + G4UIdirectory * reconstructorDir; + + G4UIdirectory * visDir; + +#ifdef CEXMC_USE_ROOT + G4UIdirectory * histoDir; +#endif +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcParticleGun.hh b/examples/advanced/ChargeExchangeMC/include/CexmcParticleGun.hh new file mode 100644 index 0000000000..62503bef11 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcParticleGun.hh @@ -0,0 +1,168 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcParticleGun.hh + * + * Description: particle gun + * + * Version: 1.0 + * Created: 15.12.2009 00:41:16 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PARTICLE_GUN_HH +#define CEXMC_PARTICLE_GUN_HH + +#include +#include +#include "CexmcPhysicsManager.hh" +#include "CexmcException.hh" + +class CexmcParticleGunMessenger; + + +class CexmcParticleGun : public G4ParticleGun +{ + public: + explicit CexmcParticleGun( CexmcPhysicsManager * physicsManager, + G4int nmbOfParticles = 1 ); + + ~CexmcParticleGun(); + + public: + void PrepareForNewEvent( void ); + + public: + const G4ThreeVector & GetOrigPosition( void ) const; + + const G4ThreeVector & GetOrigDirection( void ) const; + + G4double GetOrigMomentumAmp( void ) const; + + void SetOrigPosition( const G4ThreeVector & position, + G4bool fromMessenger = true ); + + void SetOrigDirection( const G4ThreeVector & direction, + G4bool fromMessenger = true ); + + void SetOrigMomentumAmp( G4double momentumAmp, + G4bool fromMessenger = true ); + + void SetBeamParticle( G4ParticleDefinition * particleDefinition, + G4bool fromMessenger = true ); + + private: + CexmcPhysicsManager * physicsManager; + + G4ThreeVector origPos; + + G4ThreeVector origDir; + + G4double origMomentumAmp; + + private: + CexmcParticleGunMessenger * messenger; +}; + + +inline void CexmcParticleGun::PrepareForNewEvent( void ) +{ + /* this will prevent G4ParticleGun spam about kinetic energy redefinition */ + particle_energy = 0.0; + particle_momentum = 0.0; +} + + +inline const G4ThreeVector & CexmcParticleGun::GetOrigPosition( void ) const +{ + return origPos; +} + + +inline const G4ThreeVector & CexmcParticleGun::GetOrigDirection( void ) const +{ + return origDir; +} + + +inline G4double CexmcParticleGun::GetOrigMomentumAmp( void ) const +{ + return origMomentumAmp; +} + + +inline void CexmcParticleGun::SetOrigPosition( + const G4ThreeVector & position, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + origPos = position; +} + + +inline void CexmcParticleGun::SetOrigDirection( + const G4ThreeVector & direction, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + origDir = direction; + + physicsManager->SetMaxIL( direction ); +} + + +inline void CexmcParticleGun::SetOrigMomentumAmp( G4double momentumAmp, + G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + origMomentumAmp = momentumAmp; +} + + +inline void CexmcParticleGun::SetBeamParticle( + G4ParticleDefinition * particleDefinition, G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + SetParticleDefinition( particleDefinition ); +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcParticleGunMessenger.hh b/examples/advanced/ChargeExchangeMC/include/CexmcParticleGunMessenger.hh new file mode 100644 index 0000000000..868ecf31b3 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcParticleGunMessenger.hh @@ -0,0 +1,81 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcParticleGunMessenger.hh + * + * Description: original position and momentum of the incident beam particle + * + * Version: 1.0 + * Created: 15.12.2009 13:54:20 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PARTICLE_GUN_MESSENGER_HH +#define CEXMC_PARTICLE_GUN_MESSENGER_HH + +#include + +class G4UIcommand; +class G4UIcmdWithAString; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWith3Vector; +class G4UIcmdWith3VectorAndUnit; +class CexmcParticleGun; + + +class CexmcParticleGunMessenger : public G4UImessenger +{ + public: + explicit CexmcParticleGunMessenger( CexmcParticleGun * particleGun ); + + ~CexmcParticleGunMessenger(); + + public: + void SetNewValue( G4UIcommand * cnd, G4String value ); + + private: + CexmcParticleGun * particleGun; + + G4UIcmdWithAString * setParticle; + + G4UIcmdWith3VectorAndUnit * setOrigPosition; + + G4UIcmdWith3Vector * setOrigDirection; + + G4UIcmdWithADoubleAndUnit * setOrigMomentumAmp; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcPhaseSpaceGenerator.hh b/examples/advanced/ChargeExchangeMC/include/CexmcPhaseSpaceGenerator.hh new file mode 100644 index 0000000000..ce4097c96c --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcPhaseSpaceGenerator.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcPhaseSpaceGenerator.hh + * + * Description: phase space generator interface + * + * Version: 1.0 + * Created: 08.09.2010 13:42:15 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PHASE_SPACE_GENERATOR_HH +#define CEXMC_PHASE_SPACE_GENERATOR_HH + +#include +#include +#include + + +struct CexmcPhaseSpaceOutVectorElement +{ + CexmcPhaseSpaceOutVectorElement( G4LorentzVector * lVec, G4double mass ) : + lVec( lVec ), mass( mass ) + {} + + G4LorentzVector * lVec; + + G4double mass; +}; + + +typedef std::vector< const G4LorentzVector * > CexmcPhaseSpaceInVector; + +typedef std::vector< CexmcPhaseSpaceOutVectorElement > + CexmcPhaseSpaceOutVector; + + +class CexmcPhaseSpaceGenerator +{ + public: + CexmcPhaseSpaceGenerator(); + + virtual ~CexmcPhaseSpaceGenerator(); + + public: + virtual G4bool CheckKinematics( void ); + + virtual G4double Generate( void ) = 0; + + public: + void SetParticles( const CexmcPhaseSpaceInVector & inVec_, + const CexmcPhaseSpaceOutVector & outVec_ ); + + void SetFermiEnergyDependence( G4bool on = true ); + + protected: + virtual void ParticleChangeHook( void ); + + virtual void FermiEnergyDepStatusChangeHook( void ); + + protected: + CexmcPhaseSpaceInVector inVec; + + CexmcPhaseSpaceOutVector outVec; + + G4bool fermiEnergyDepIsOn; + + G4double totalEnergy; + + G4double totalMass; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcPhysicsList.hh b/examples/advanced/ChargeExchangeMC/include/CexmcPhysicsList.hh new file mode 100644 index 0000000000..024b7a65bd --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcPhysicsList.hh @@ -0,0 +1,186 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcPhysicsList.hh + * + * Description: mandatory physics list + * + * Version: 1.0 + * Created: 11.10.2009 14:51:08 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PHYSICS_LIST_HH +#define CEXMC_PHYSICS_LIST_HH + +#include +#include +#include +#include +#include +#include "CexmcStudiedPhysics.hh" +#include "CexmcStudiedProcess.hh" +#include "CexmcPhysicsManager.hh" +#include "CexmcProductionModel.hh" +#include "CexmcIncidentParticleTrackInfo.hh" +#include "CexmcSetup.hh" +#include "CexmcException.hh" +#include "CexmcCommon.hh" + + +template < typename BasePhysics, template < typename > class StudiedPhysics, + typename ProductionModel > +class CexmcPhysicsList : public BasePhysics, public CexmcPhysicsManager +{ + public: + CexmcPhysicsList(); + + public: + CexmcProductionModel * GetProductionModel( void ); + + G4bool IsStudiedProcessAllowed( void ) const; + + void ResampleTrackLengthInTarget( const G4Track * track, + const G4StepPoint * stepPoint ); + + void SetupConstructionHook( const CexmcSetup * setup ); + + protected: + void CalculateBasicMaxIL( const G4ThreeVector & direction ); + + private: + StudiedPhysics< ProductionModel > * studiedPhysics; + + G4VSolid * targetSolid; + + G4AffineTransform targetTransform; +}; + + +template < typename BasePhysics, template < typename > class StudiedPhysics, + typename ProductionModel > +CexmcPhysicsList< BasePhysics, StudiedPhysics, ProductionModel >:: + CexmcPhysicsList() : studiedPhysics( NULL ), targetSolid( NULL ) +{ + studiedPhysics = new StudiedPhysics< ProductionModel >( this ); + this->RegisterPhysics( studiedPhysics ); +} + + +template < typename BasePhysics, template < typename > class StudiedPhysics, + typename ProductionModel > +CexmcProductionModel * + CexmcPhysicsList< BasePhysics, StudiedPhysics, ProductionModel >:: + GetProductionModel( void ) +{ + return studiedPhysics->GetProductionModel(); +} + + +template < typename BasePhysics, template < typename > class StudiedPhysics, + typename ProductionModel > +G4bool CexmcPhysicsList< BasePhysics, StudiedPhysics, ProductionModel >:: + IsStudiedProcessAllowed( void ) const +{ + return numberOfTriggeredStudiedInteractions == 0; +} + + +template < typename BasePhysics, template < typename > class StudiedPhysics, + typename ProductionModel > +void CexmcPhysicsList< BasePhysics, StudiedPhysics, ProductionModel >:: + ResampleTrackLengthInTarget( const G4Track * track, + const G4StepPoint * stepPoint ) +{ + /* BEWARE: all callers must ensure that: + * 1) track (or stepPoint if not NULL) is inside target volume: + * in this case we can use already calculated targetTransform + * 2) track info object is of type CexmcIncidentParticleTrackInfo*: + * in this case we can use static_cast<> for trackInfo */ + CexmcIncidentParticleTrackInfo * trackInfo( + static_cast< CexmcIncidentParticleTrackInfo * >( + track->GetUserInformation() ) ); + + if ( ! trackInfo ) + return; + + G4ThreeVector position; + G4ThreeVector direction; + + if ( stepPoint ) + { + position = targetTransform.TransformPoint( stepPoint->GetPosition() ); + direction = targetTransform.TransformAxis( + stepPoint->GetMomentumDirection() ); + } + else + { + position = targetTransform.TransformPoint( track->GetPosition() ); + direction = targetTransform.TransformAxis( + track->GetMomentumDirection() ); + } + + G4double distanceInTarget( targetSolid->DistanceToOut( position, + direction ) ); + trackInfo->ResetCurrentTrackLengthInTarget(); + trackInfo->SetFinalTrackLengthInTarget( G4UniformRand() * + std::max( distanceInTarget, proposedMaxIL ) ); + trackInfo->SetNeedsTrackLengthResampling( false ); +} + + +template < typename BasePhysics, template < typename > class StudiedPhysics, + typename ProductionModel > +void CexmcPhysicsList< BasePhysics, StudiedPhysics, ProductionModel >:: + CalculateBasicMaxIL( const G4ThreeVector & direction ) +{ + /* basicMaxIL is double distance from the point (0, 0, 0) to the edge of the + * target solid along the specified direction */ + basicMaxIL = targetSolid->DistanceToOut( G4ThreeVector(), + targetTransform.TransformAxis( direction ) ) * 2; +} + + +template < typename BasePhysics, template < typename > class StudiedPhysics, + typename ProductionModel > +void CexmcPhysicsList< BasePhysics, StudiedPhysics, ProductionModel >:: + SetupConstructionHook( const CexmcSetup * setup ) +{ + targetSolid = setup->GetVolume( CexmcSetup::Target )->GetSolid(); + targetTransform = setup->GetTargetTransform().Inverse(); +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcPhysicsManager.hh b/examples/advanced/ChargeExchangeMC/include/CexmcPhysicsManager.hh new file mode 100644 index 0000000000..c11c7df6d9 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcPhysicsManager.hh @@ -0,0 +1,158 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcPhysicsManager.hh + * + * Description: interface for external access to physics aspects + * + * Version: 1.0 + * Created: 27.10.2009 23:10:31 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PHYSICS_MANAGER_HH +#define CEXMC_PHYSICS_MANAGER_HH + +#include +#include + +class G4ParticleDefinition; +class G4Track; +class G4StepPoint; +class CexmcProductionModel; +class CexmcSetup; +class CexmcPhysicsManagerMessenger; + + +class CexmcPhysicsManager +{ + public: + CexmcPhysicsManager(); + + virtual ~CexmcPhysicsManager(); + + public: + virtual CexmcProductionModel * GetProductionModel( void ) = 0; + + virtual G4bool IsStudiedProcessAllowed( void ) const = 0; + + virtual void ResampleTrackLengthInTarget( const G4Track * track, + const G4StepPoint * stepPoint = NULL ) = 0; + + virtual void SetupConstructionHook( const CexmcSetup * setup ) = 0; + + public: + G4bool OnlyBeamParticleCanTriggerStudiedProcess( void ) const; + + void IncrementNumberOfTriggeredStudiedInteractions( void ); + + void ResetNumberOfTriggeredStudiedInteractions( void ); + + G4double GetProposedMaxIL( void ) const; + + void SetMaxIL( const G4ThreeVector & direction ); + + void SetMaxILCorrection( G4double value ); + + void SetProposedMaxIL( G4double value ); + + protected: + virtual void CalculateBasicMaxIL( + const G4ThreeVector & direction ) = 0; + + protected: + G4double basicMaxIL; + + G4double maxILCorrection; + + G4double proposedMaxIL; + + G4int numberOfTriggeredStudiedInteractions; + + G4bool onlyBeamParticleCanTriggerStudiedProcess; + + private: + CexmcPhysicsManagerMessenger * messenger; +}; + + +inline G4bool CexmcPhysicsManager::OnlyBeamParticleCanTriggerStudiedProcess( + void ) const +{ + return onlyBeamParticleCanTriggerStudiedProcess; +} + + +inline void CexmcPhysicsManager::IncrementNumberOfTriggeredStudiedInteractions( + void ) +{ + ++numberOfTriggeredStudiedInteractions; +} + + +inline void CexmcPhysicsManager::ResetNumberOfTriggeredStudiedInteractions( + void ) +{ + numberOfTriggeredStudiedInteractions = 0; +} + + +inline G4double CexmcPhysicsManager::GetProposedMaxIL( void ) const +{ + return proposedMaxIL; +} + + +inline void CexmcPhysicsManager::SetMaxIL( const G4ThreeVector & direction ) +{ + CalculateBasicMaxIL( direction ); + proposedMaxIL = basicMaxIL + maxILCorrection; +} + + +inline void CexmcPhysicsManager::SetMaxILCorrection( G4double value ) +{ + maxILCorrection = value; + proposedMaxIL = basicMaxIL + maxILCorrection; +} + + +inline void CexmcPhysicsManager::SetProposedMaxIL( G4double value ) +{ + proposedMaxIL = value; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcPhysicsManagerMessenger.hh b/examples/advanced/ChargeExchangeMC/include/CexmcPhysicsManagerMessenger.hh new file mode 100644 index 0000000000..0f7091eefc --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcPhysicsManagerMessenger.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcPhysicsManagerMessenger.hh + * + * Description: physics manager messenger (max IL correction etc.) + * + * Version: 1.0 + * Created: 16.10.2010 14:09:59 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PHYSICS_MANAGER_MESSENGER_HH +#define CEXMC_PHYSICS_MANAGER_MESSENGER_HH + +#include + +class G4UIcommand; +class G4UIcmdWithADoubleAndUnit; +class CexmcPhysicsManager; + + +class CexmcPhysicsManagerMessenger : public G4UImessenger +{ + public: + explicit CexmcPhysicsManagerMessenger( + CexmcPhysicsManager * physicsManager ); + + ~CexmcPhysicsManagerMessenger(); + + public: + void SetNewValue( G4UIcommand * cmd, G4String value ); + + private: + CexmcPhysicsManager * physicsManager; + + G4UIcmdWithADoubleAndUnit * setMaxILCorrection; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcPrimaryGeneratorAction.hh b/examples/advanced/ChargeExchangeMC/include/CexmcPrimaryGeneratorAction.hh new file mode 100644 index 0000000000..5b14ce5ece --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcPrimaryGeneratorAction.hh @@ -0,0 +1,191 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcPrimaryGeneratorAction.hh + * + * Description: primary particle position, direction, energy etc. + * + * Version: 1.0 + * Created: 11.10.2009 14:54:27 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PRIMARY_GENERATOR_ACTION_HH +#define CEXMC_PRIMARY_GENERATOR_ACTION_HH + +#include +#include "CexmcException.hh" + +class G4Event; +class CexmcParticleGun; +class CexmcPhysicsManager; +class CexmcPrimaryGeneratorActionMessenger; + + +class CexmcPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ + public: + explicit CexmcPrimaryGeneratorAction( + CexmcPhysicsManager * physicsManager ); + + ~CexmcPrimaryGeneratorAction(); + + public: + void GeneratePrimaries( G4Event * event ); + + public: + void SetFwhmPosX( G4double value, G4bool fromMessenger = true ); + + void SetFwhmPosY( G4double value, G4bool fromMessenger = true ); + + void SetFwhmDirX( G4double value, G4bool fromMessenger = true ); + + void SetFwhmDirY( G4double value, G4bool fromMessenger = true ); + + void SetFwhmMomentumAmp( G4double value, + G4bool fromMessenger = true ); + + G4double GetFwhmPosX( void ) const; + + G4double GetFwhmPosY( void ) const; + + G4double GetFwhmDirX( void ) const; + + G4double GetFwhmDirY( void ) const; + + G4double GetFwhmMomentumAmp( void ) const; + + public: + CexmcParticleGun * GetParticleGun( void ); + + private: + CexmcParticleGun * particleGun; + + G4double fwhmPosX; + + G4double fwhmPosY; + + G4double fwhmDirX; + + G4double fwhmDirY; + + G4double fwhmMomentumAmp; + + private: + CexmcPrimaryGeneratorActionMessenger * messenger; +}; + + +inline void CexmcPrimaryGeneratorAction::SetFwhmPosX( G4double value, + G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + fwhmPosX = value; +} + + +inline void CexmcPrimaryGeneratorAction::SetFwhmPosY( G4double value, + G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + fwhmPosY = value; +} + + +inline void CexmcPrimaryGeneratorAction::SetFwhmDirX( G4double value, + G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + fwhmDirX = value; +} + + +inline void CexmcPrimaryGeneratorAction::SetFwhmDirY( G4double value, + G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + fwhmDirY = value; +} + + +inline void CexmcPrimaryGeneratorAction::SetFwhmMomentumAmp( G4double value, + G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + fwhmMomentumAmp = value; +} + + +inline G4double CexmcPrimaryGeneratorAction::GetFwhmPosX( void ) const +{ + return fwhmPosX; +} + + +inline G4double CexmcPrimaryGeneratorAction::GetFwhmPosY( void ) const +{ + return fwhmPosY; +} + + +inline G4double CexmcPrimaryGeneratorAction::GetFwhmDirX( void ) const +{ + return fwhmDirX; +} + + +inline G4double CexmcPrimaryGeneratorAction::GetFwhmDirY( void ) const +{ + return fwhmDirY; +} + + +inline G4double CexmcPrimaryGeneratorAction::GetFwhmMomentumAmp( void ) const +{ + return fwhmMomentumAmp; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcPrimaryGeneratorActionMessenger.hh b/examples/advanced/ChargeExchangeMC/include/CexmcPrimaryGeneratorActionMessenger.hh new file mode 100644 index 0000000000..754b47c094 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcPrimaryGeneratorActionMessenger.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcPrimaryGeneratorActionMessenger.hh + * + * Description: user assigned gun parameters + * + * Version: 1.0 + * Created: 02.11.2009 13:08:52 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PRIMARY_GENERATOR_ACTION_MESSENGER_HH +#define CEXMC_PRIMARY_GENERATOR_ACTION_MESSENGER_HH + +#include + +class CexmcPrimaryGeneratorAction; +class G4UIcommand; +class G4UIcmdWithADouble; +class G4UIcmdWithADoubleAndUnit; + + +class CexmcPrimaryGeneratorActionMessenger : public G4UImessenger +{ + public: + explicit CexmcPrimaryGeneratorActionMessenger( + CexmcPrimaryGeneratorAction * primaryGeneratorAction ); + + ~CexmcPrimaryGeneratorActionMessenger(); + + public: + void SetNewValue( G4UIcommand * cmd, G4String value ); + + private: + CexmcPrimaryGeneratorAction * primaryGeneratorAction; + + G4UIcmdWithADoubleAndUnit * fwhmPosX; + + G4UIcmdWithADoubleAndUnit * fwhmPosY; + + G4UIcmdWithADoubleAndUnit * fwhmDirX; + + G4UIcmdWithADoubleAndUnit * fwhmDirY; + + G4UIcmdWithADouble * fwhmMomentumAmp; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcProductionModel.hh b/examples/advanced/ChargeExchangeMC/include/CexmcProductionModel.hh new file mode 100644 index 0000000000..c25fb4a97a --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcProductionModel.hh @@ -0,0 +1,255 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcProductionModel.hh + * + * Description: interface to production model + * + * Version: 1.0 + * Created: 03.11.2009 16:50:53 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PRODUCTION_MODEL_HH +#define CEXMC_PRODUCTION_MODEL_HH + +#include +#include +#include +#include +#include "CexmcAngularRange.hh" +#include "CexmcProductionModelData.hh" +#ifdef CEXMC_USE_ROOT +#include "CexmcHistoManager.hh" +#endif +#include "CexmcException.hh" +#include "CexmcCommon.hh" + +class CexmcProductionModelMessenger; + + +class CexmcProductionModel +{ + public: + explicit CexmcProductionModel( const G4String & name = "unspecified", + G4bool fermiMotionIsOn = false ); + + virtual ~CexmcProductionModel(); + + public: + void ApplyFermiMotion( G4bool on, G4bool fromMessenger = true ); + + void SetAngularRange( G4double top, G4double bottom, + G4int nmbOfDivs ); + + void SetAngularRanges( const CexmcAngularRangeList & angularRanges_ ); + + void AddAngularRange( G4double top, G4double bottom, + G4int nmbOfDivs ); + + void SetProductionModelData( + const CexmcProductionModelData & productionModelData_ ); + + void PrintInitialData( void ) const; + + const CexmcAngularRangeList & GetAngularRanges( void ) const; + + const CexmcAngularRangeList & GetTriggeredAngularRanges( void ) const; + + const CexmcProductionModelData & GetProductionModelData( void ) const; + + G4bool IsFermiMotionOn( void ) const; + + void SetTriggeredAngularRanges( G4double opCosThetaSCM ); + + const G4String & GetName( void ) const; + + public: + G4ParticleDefinition * GetIncidentParticle( void ) const; + + G4ParticleDefinition * GetNucleusParticle( void ) const; + + G4ParticleDefinition * GetOutputParticle( void ) const; + + G4ParticleDefinition * GetNucleusOutputParticle( void ) const; + + protected: + virtual void FermiMotionStatusChangeHook( void ); + + private: + G4bool IsValidCandidateForAngularRange( G4double top, + G4double bottom, G4int nmbOfDivs = 1 ) const; + + G4bool IsGoodCandidateForAngularRange( G4double top, + G4double bottom ) const; + + protected: + G4String name; + + G4bool fermiMotionIsOn; + + CexmcAngularRangeList angularRanges; + + CexmcAngularRangeList angularRangesRef; + + CexmcAngularRangeList triggeredAngularRanges; + + CexmcProductionModelData productionModelData; + + protected: + G4ParticleDefinition * incidentParticle; + + G4ParticleDefinition * nucleusParticle; + + G4ParticleDefinition * outputParticle; + + G4ParticleDefinition * nucleusOutputParticle; + + private: + CexmcProductionModelMessenger * messenger; +}; + + +inline void CexmcProductionModel::ApplyFermiMotion( G4bool on, + G4bool fromMessenger ) +{ + if ( fromMessenger ) + ThrowExceptionIfProjectIsRead( CexmcCmdIsNotAllowed ); + + fermiMotionIsOn = on; + + FermiMotionStatusChangeHook(); +} + + +inline void CexmcProductionModel::SetAngularRanges( + const CexmcAngularRangeList & angularRanges_ ) +{ + angularRangesRef = angularRanges_; + angularRanges = angularRangesRef; +#ifdef CEXMC_USE_ROOT + CexmcHistoManager::Instance()->SetupARHistos( angularRanges ); +#endif +} + + +inline void CexmcProductionModel::SetProductionModelData( + const CexmcProductionModelData & productionModelData_ ) +{ + productionModelData = productionModelData_; +} + + +inline void CexmcProductionModel::PrintInitialData( void ) const +{ + const char * fermiMotionMsg( "Fermi motion in the target is off" ); + if ( fermiMotionIsOn ) + fermiMotionMsg = "Fermi motion in the target is on"; + + G4cout << CEXMC_LINE_START << fermiMotionMsg << G4endl; + G4cout << CEXMC_LINE_START << "Angular ranges:" << angularRanges; +} + + +inline const CexmcAngularRangeList & + CexmcProductionModel::GetAngularRanges( void ) const +{ + return angularRanges; +} + + +inline const CexmcAngularRangeList & + CexmcProductionModel::GetTriggeredAngularRanges( void ) const +{ + return triggeredAngularRanges; +} + + +inline const CexmcProductionModelData & + CexmcProductionModel::GetProductionModelData( void ) const +{ + return productionModelData; +} + + +inline G4bool CexmcProductionModel::IsFermiMotionOn( void ) const +{ + return fermiMotionIsOn; +} + + +inline const G4String & CexmcProductionModel::GetName( void ) const +{ + return name; +} + + +inline G4ParticleDefinition * CexmcProductionModel::GetIncidentParticle( + void ) const +{ + return incidentParticle; +} + + +inline G4ParticleDefinition * CexmcProductionModel::GetNucleusParticle( void ) + const +{ + return nucleusParticle; +} + + +inline G4ParticleDefinition * CexmcProductionModel::GetOutputParticle( void ) + const +{ + return outputParticle; +} + + +inline G4ParticleDefinition * CexmcProductionModel::GetNucleusOutputParticle( + void ) const +{ + return nucleusOutputParticle; +} + + +inline G4bool CexmcProductionModel::IsValidCandidateForAngularRange( + G4double top, G4double bottom, G4int nmbOfDivs ) const +{ + return top > bottom && top <= 1.0 && top > -1.0 && bottom < 1.0 && + bottom >= -1.0 && nmbOfDivs >= 1; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcProductionModelData.hh b/examples/advanced/ChargeExchangeMC/include/CexmcProductionModelData.hh new file mode 100644 index 0000000000..292f0ed5b1 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcProductionModelData.hh @@ -0,0 +1,110 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcProductionModelData.hh + * + * Description: SCM/LAB lorentz vector of the particles in reaction + * + * Version: 1.0 + * Created: 01.12.2009 18:01:33 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PRODUCTION_MODEL_DATA_HH +#define CEXMC_PRODUCTION_MODEL_DATA_HH + +#include +#include +#include +#include + + +/* TODO: the data model is very restrictive for generic use, there should be + * possible to generate more than one output particles. The simplest solution is + * to add here other fields and constructors; if number of fields will be + * excessive for simple models like charge exchange then they won't be stored in + * persistent storage. Other solution is to move production model data field + * from base class CexmcProductionModel to its ancestors that can decide + * themselves which concrete data capacity they require. */ + + +struct CexmcProductionModelData +{ + CexmcProductionModelData(); + + CexmcProductionModelData( const G4LorentzVector & incidentParticleSCM, + const G4LorentzVector & incidentParticleLAB, + const G4LorentzVector & nucleusParticleSCM, + const G4LorentzVector & nucleusParticleLAB, + const G4LorentzVector & outputParticleSCM, + const G4LorentzVector & outputParticleLAB, + const G4LorentzVector & nucleusOutputParticleSCM, + const G4LorentzVector & nucleusOutputParticleLAB, + const G4ParticleDefinition * incidentParticle, + const G4ParticleDefinition * nucleusParticle, + const G4ParticleDefinition * outputParticle, + const G4ParticleDefinition * nucleusOutputParticle ); + + G4LorentzVector incidentParticleSCM; + + G4LorentzVector incidentParticleLAB; + + G4LorentzVector nucleusParticleSCM; + + G4LorentzVector nucleusParticleLAB; + + G4LorentzVector outputParticleSCM; + + G4LorentzVector outputParticleLAB; + + G4LorentzVector nucleusOutputParticleSCM; + + G4LorentzVector nucleusOutputParticleLAB; + + const G4ParticleDefinition * incidentParticle; + + const G4ParticleDefinition * nucleusParticle; + + const G4ParticleDefinition * outputParticle; + + const G4ParticleDefinition * nucleusOutputParticle; +}; + + +std::ostream & operator<<( std::ostream & out, + const CexmcProductionModelData & data ); + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcProductionModelFactory.hh b/examples/advanced/ChargeExchangeMC/include/CexmcProductionModelFactory.hh new file mode 100644 index 0000000000..dcaea062f3 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcProductionModelFactory.hh @@ -0,0 +1,130 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcProductionModelFactory.hh + * + * Description: production model factory + * + * Version: 1.0 + * Created: 03.11.2009 23:20:35 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PRODUCTION_MODEL_FACTORY_HH +#define CEXMC_PRODUCTION_MODEL_FACTORY_HH + +#include +#include +#include +#include "CexmcPhysicsList.hh" +#include "CexmcCommon.hh" + + +namespace CexmcPrivate +{ + template < typename BasePhysics > + class CexmcBasePhysicsInstance + { + public: + static const CexmcBasePhysicsUsed value = CexmcNoBasePhysics; + }; + +#ifdef CEXMC_USE_QGSP_BIC_EMY + template<> + class CexmcBasePhysicsInstance< QGSP_BIC_EMY > + { + public: + static const CexmcBasePhysicsUsed value = Cexmc_QGSP_BIC_EMY; + }; +#else + template<> + class CexmcBasePhysicsInstance< QGSP_BERT > + { + public: + static const CexmcBasePhysicsUsed value = Cexmc_QGSP_BERT; + }; +#endif +} + + +template < typename BasePhysics, + template < typename > class StudiedPhysics, + template < typename > class ProductionModel > +class CexmcProductionModelFactory +{ + public: + static G4VUserPhysicsList * Create( + CexmcProductionModelType productionModelType ); + + static CexmcBasePhysicsUsed GetBasePhysics( void ); + + private: + CexmcProductionModelFactory(); +}; + + +template < typename BasePhysics, + template < typename > class StudiedPhysics, + template < typename > class ProductionModel > +G4VUserPhysicsList * CexmcProductionModelFactory< + BasePhysics, StudiedPhysics, ProductionModel >:: + Create( CexmcProductionModelType productionModelType ) +{ + switch ( productionModelType ) + { + case CexmcPionZeroProduction : + return new CexmcPhysicsList< BasePhysics, StudiedPhysics, + ProductionModel< G4PionZero > >; + case CexmcEtaProduction : + return new CexmcPhysicsList< BasePhysics, StudiedPhysics, + ProductionModel< G4Eta > >; + default : + return NULL; + } +} + + +template < typename BasePhysics, + template < typename > class StudiedPhysics, + template < typename > class ProductionModel > +CexmcBasePhysicsUsed CexmcProductionModelFactory< + BasePhysics, StudiedPhysics, ProductionModel >:: + GetBasePhysics( void ) +{ + return CexmcPrivate::CexmcBasePhysicsInstance< BasePhysics >::value; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcProductionModelMessenger.hh b/examples/advanced/ChargeExchangeMC/include/CexmcProductionModelMessenger.hh new file mode 100644 index 0000000000..5388b2f045 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcProductionModelMessenger.hh @@ -0,0 +1,78 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcProductionModelMessenger.hh + * + * Description: set various production model aspects + * + * Version: 1.0 + * Created: 03.11.2009 15:50:32 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_PRODUCTION_MODEL_MESSENGER_HH +#define CEXMC_PRODUCTION_MODEL_MESSENGER_HH + +#include + +class G4UIcommand; +class G4UIcmdWithABool; +class G4UIcmdWith3Vector; +class CexmcProductionModel; + + +class CexmcProductionModelMessenger : public G4UImessenger +{ + public: + explicit CexmcProductionModelMessenger( CexmcProductionModel * + productionModel ); + + ~CexmcProductionModelMessenger(); + + public: + void SetNewValue( G4UIcommand * cmd, G4String value ); + + private: + CexmcProductionModel * productionModel; + + G4UIcmdWithABool * applyFermiMotion; + + G4UIcmdWith3Vector * setAngularRange; + + G4UIcmdWith3Vector * addAngularRange; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcReconstructor.hh b/examples/advanced/ChargeExchangeMC/include/CexmcReconstructor.hh new file mode 100644 index 0000000000..0dbdc08403 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcReconstructor.hh @@ -0,0 +1,359 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcReconstructor.hh + * + * Description: reconstructor base class + * + * Version: 1.0 + * Created: 02.12.2009 15:44:12 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_RECONSTRUCTOR_HH +#define CEXMC_RECONSTRUCTOR_HH + +#include +#include +#include "CexmcSetup.hh" +#include "CexmcCommon.hh" + +class CexmcReconstructorMessenger; +class CexmcEnergyDepositStore; + + +class CexmcReconstructor +{ + public: + CexmcReconstructor(); + + virtual ~CexmcReconstructor(); + + public: + virtual void Reconstruct( const CexmcEnergyDepositStore * edStore ); + + public: + void SetCalorimeterEntryPointDefinitionAlgorithm( + CexmcCalorimeterEntryPointDefinitionAlgorithm algo ); + + void SetCalorimeterEntryPointDepthDefinitionAlgorithm( + CexmcCalorimeterEntryPointDepthDefinitionAlgorithm algo ); + + void SetCrystalSelectionAlgorithm( + CexmcCrystalSelectionAlgorithm algo ); + + void UseInnerRefCrystal( G4bool on = true ); + + void SetCalorimeterEntryPointDepth( G4double depth ); + + CexmcCalorimeterEntryPointDefinitionAlgorithm + GetCalorimeterEntryPointDefinitionAlgorithm( void ) const; + + CexmcCalorimeterEntryPointDepthDefinitionAlgorithm + GetCalorimeterEntryPointDepthDefinitionAlgorithm( void ) const; + + CexmcCrystalSelectionAlgorithm + GetCrystalSelectionAlgorithm( void ) const; + + G4bool IsInnerRefCrystalUsed( void ) const; + + G4double GetCalorimeterEntryPointDepth( void ) const; + + public: + const G4ThreeVector & GetCalorimeterEPLeftPosition( void ) const; + + const G4ThreeVector & GetCalorimeterEPRightPosition( void ) const; + + const G4ThreeVector & GetCalorimeterEPLeftDirection( void ) const; + + const G4ThreeVector & GetCalorimeterEPRightDirection( void ) const; + + const G4ThreeVector & GetTargetEPPosition( void ) const; + + const G4ThreeVector & GetTargetEPDirection( void ) const; + + const G4ThreeVector & GetCalorimeterEPLeftWorldPosition( void ) const; + + const G4ThreeVector & GetCalorimeterEPRightWorldPosition( void ) const; + + const G4ThreeVector & GetCalorimeterEPLeftWorldDirection( void ) const; + + const G4ThreeVector & GetCalorimeterEPRightWorldDirection( void ) + const; + + const G4ThreeVector & GetTargetEPWorldPosition( void ) const; + + const G4ThreeVector & GetTargetEPWorldDirection( void ) const; + + G4double GetTheAngle( void ) const; + + public: + G4bool HasBasicTrigger( void ) const; + + virtual G4bool HasFullTrigger( void ) const; + + protected: + void ReconstructEntryPoints( + const CexmcEnergyDepositStore * edStore ); + + void ReconstructTargetPoint( void ); + + void ReconstructAngle( void ); + + protected: + G4bool hasBasicTrigger; + + protected: + CexmcCalorimeterEntryPointDefinitionAlgorithm epDefinitionAlgorithm; + + CexmcCalorimeterEntryPointDepthDefinitionAlgorithm + epDepthDefinitionAlgorithm; + + CexmcCrystalSelectionAlgorithm csAlgorithm; + + G4bool useInnerRefCrystal; + + G4double epDepth; + + protected: + G4ThreeVector calorimeterEPLeftPosition; + + G4ThreeVector calorimeterEPRightPosition; + + G4ThreeVector calorimeterEPLeftDirection; + + G4ThreeVector calorimeterEPRightDirection; + + G4ThreeVector targetEPPosition; + + G4ThreeVector targetEPDirection; + + G4ThreeVector calorimeterEPLeftWorldPosition; + + G4ThreeVector calorimeterEPRightWorldPosition; + + G4ThreeVector calorimeterEPLeftWorldDirection; + + G4ThreeVector calorimeterEPRightWorldDirection; + + G4ThreeVector targetEPWorldPosition; + + G4ThreeVector targetEPWorldDirection; + + G4double theAngle; + + private: + CexmcSetup::CalorimeterGeometryData calorimeterGeometry; + + G4AffineTransform calorimeterLeftTransform; + + G4AffineTransform calorimeterRightTransform; + + G4AffineTransform targetTransform; + + G4bool targetEPInitialized; + + private: + CexmcReconstructorMessenger * messenger; +}; + + +inline void CexmcReconstructor::SetCalorimeterEntryPointDefinitionAlgorithm( + CexmcCalorimeterEntryPointDefinitionAlgorithm algo ) +{ + epDefinitionAlgorithm = algo; +} + + +inline void + CexmcReconstructor::SetCalorimeterEntryPointDepthDefinitionAlgorithm( + CexmcCalorimeterEntryPointDepthDefinitionAlgorithm algo ) +{ + epDepthDefinitionAlgorithm = algo; +} + + +inline void CexmcReconstructor::SetCrystalSelectionAlgorithm( + CexmcCrystalSelectionAlgorithm algo ) +{ + csAlgorithm = algo; +} + + +inline void CexmcReconstructor::UseInnerRefCrystal( G4bool on ) +{ + useInnerRefCrystal = on; +} + + +inline void CexmcReconstructor::SetCalorimeterEntryPointDepth( + G4double depth ) +{ + epDepth = depth; +} + + +inline CexmcCalorimeterEntryPointDefinitionAlgorithm + CexmcReconstructor::GetCalorimeterEntryPointDefinitionAlgorithm( void ) + const +{ + return epDefinitionAlgorithm; +} + + +inline CexmcCalorimeterEntryPointDepthDefinitionAlgorithm + CexmcReconstructor::GetCalorimeterEntryPointDepthDefinitionAlgorithm( + void ) const +{ + return epDepthDefinitionAlgorithm; +} + + +inline CexmcCrystalSelectionAlgorithm + CexmcReconstructor::GetCrystalSelectionAlgorithm( void ) const +{ + return csAlgorithm; +} + + +inline G4bool CexmcReconstructor::IsInnerRefCrystalUsed( void ) const +{ + return useInnerRefCrystal; +} + + +inline G4double CexmcReconstructor::GetCalorimeterEntryPointDepth( void ) const +{ + return epDepth; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetCalorimeterEPLeftPosition( void ) const +{ + return calorimeterEPLeftPosition; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetCalorimeterEPRightPosition( void ) const +{ + return calorimeterEPRightPosition; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetCalorimeterEPLeftDirection( void ) const +{ + return calorimeterEPLeftDirection; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetCalorimeterEPRightDirection( void ) const +{ + return calorimeterEPRightDirection; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetTargetEPPosition( void ) const +{ + return targetEPPosition; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetTargetEPDirection( void ) const +{ + return targetEPDirection; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetCalorimeterEPLeftWorldPosition( void ) const +{ + return calorimeterEPLeftWorldPosition; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetCalorimeterEPRightWorldPosition( void ) const +{ + return calorimeterEPRightWorldPosition; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetCalorimeterEPLeftWorldDirection( void ) const +{ + return calorimeterEPLeftWorldDirection; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetCalorimeterEPRightWorldDirection( void ) const +{ + return calorimeterEPRightWorldDirection; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetTargetEPWorldPosition( void ) const +{ + return targetEPWorldPosition; +} + + +inline const G4ThreeVector & + CexmcReconstructor::GetTargetEPWorldDirection( void ) const +{ + return targetEPWorldDirection; +} + + +inline G4double CexmcReconstructor::GetTheAngle( void ) const +{ + return theAngle; +} + + +inline G4bool CexmcReconstructor::HasBasicTrigger( void ) const +{ + return hasBasicTrigger; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcReconstructorMessenger.hh b/examples/advanced/ChargeExchangeMC/include/CexmcReconstructorMessenger.hh new file mode 100644 index 0000000000..23f0fdaafe --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcReconstructorMessenger.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcReconstructorMessenger.hh + * + * Description: reconstructor messenger + * + * Version: 1.0 + * Created: 02.12.2009 15:33:00 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_RECONSTRUCTOR_MESSENGER_HH +#define CEXMC_RECONSTRUCTOR_MESSENGER_HH + +#include + +class G4UIcommand; +class G4UIcmdWithAString; +class G4UIcmdWithABool; +class G4UIcmdWithADoubleAndUnit; +class G4String; +class CexmcReconstructor; + + +class CexmcReconstructorMessenger : public G4UImessenger +{ + public: + explicit CexmcReconstructorMessenger( CexmcReconstructor * + reconstructor ); + + ~CexmcReconstructorMessenger(); + + public: + void SetNewValue( G4UIcommand * cmd, G4String value ); + + private: + CexmcReconstructor * reconstructor; + + G4UIcmdWithAString * setCalorimeterEntryPointDefinitionAlgorithm; + + G4UIcmdWithAString * setCalorimeterEntryPointDepthDefinitionAlgorithm; + + G4UIcmdWithAString * setCrystalSelectionAlgorithm; + + G4UIcmdWithABool * useInnerRefCrystal; + + G4UIcmdWithADoubleAndUnit * setCalorimeterEntryPointDepth; +}; + + +#endif + diff --git a/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability001.hh b/examples/advanced/ChargeExchangeMC/include/CexmcReimplementedGenbod.hh similarity index 59% rename from source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability001.hh rename to examples/advanced/ChargeExchangeMC/include/CexmcReimplementedGenbod.hh index b0bf196a23..d00ac7c0d5 100644 --- a/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability001.hh +++ b/examples/advanced/ChargeExchangeMC/include/CexmcReimplementedGenbod.hh @@ -23,47 +23,58 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// +/* + * ============================================================================= + * + * Filename: CexmcReimplementedGenbod.hh + * + * Description: reimplemented GENBOD + * (mostly adopted from ROOT TGenPhaseSpace) + * + * Version: 1.0 + * Created: 08.09.2010 18:46:18 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -#ifndef G4E1Probability001_hh -#define G4E1Probability001_hh +#ifndef CEXMC_REIMPLEMENTED_GENBOD_HH +#define CEXMC_REIMPLEMENTED_GENBOD_HH -#include "globals.hh" -#include "G4VEmissionProbability.hh" -#include "G4Fragment.hh" -#include "G4VLevelDensityParameter.hh" +#include "CexmcPhaseSpaceGenerator.hh" -class G4E1Probability001 : public G4VEmissionProbability + +class CexmcReimplementedGenbod : public CexmcPhaseSpaceGenerator { + public: + CexmcReimplementedGenbod(); -public: + public: + G4double Generate( void ); - G4E1Probability001() {}; + private: + void ParticleChangeHook( void ); - ~G4E1Probability001(); + void FermiEnergyDepStatusChangeHook( void ); - G4double EmissionProbability(const G4Fragment& frag, const G4double excite); - G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton); + private: + void SetMaxWeight( void ); -private: + G4double PDK( G4double a, G4double b, G4double c ); - // G4E1Probability001() {}; + private: + G4double maxWeight; - G4E1Probability001(const G4E1Probability001& right); - - const G4E1Probability001& operator=(const G4E1Probability001& right); - G4bool operator==(const G4E1Probability001& right) const; - G4bool operator!=(const G4E1Probability001& right) const; - - // Integrator (simple Gaussian quadrature) - - G4double EmissionIntegration(const G4Fragment& frag, const G4double excite, - const G4double lowLim, const G4double upLim, - const G4int numIters); - - // G4VLevelDensityParameter* _levelDensity; // Don't need this + G4int nmbOfOutputParticles; + private: + static const G4int maxParticles = 18; }; + #endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcRun.hh b/examples/advanced/ChargeExchangeMC/include/CexmcRun.hh new file mode 100644 index 0000000000..32f3851ff5 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcRun.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcRun.hh + * + * Description: run data (acceptances etc.) + * + * Version: 1.0 + * Created: 19.12.2009 23:52:51 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_RUN_HH +#define CEXMC_RUN_HH + +#include +#include + + +typedef std::map< G4int, G4int > CexmcNmbOfHitsInRanges; + + +class CexmcRun : public G4Run +{ + public: + CexmcRun(); + + public: + void IncrementNmbOfHitsSampled( G4int index ); + + void IncrementNmbOfHitsSampledFull( G4int index ); + + void IncrementNmbOfHitsTriggeredRealRange( G4int index ); + + void IncrementNmbOfHitsTriggeredRecRange( G4int index ); + + void IncrementNmbOfOrphanHits( G4int index ); + + void IncrementNmbOfFalseHitsTriggeredEDT( void ); + + void IncrementNmbOfFalseHitsTriggeredRec( void ); + + void IncrementNmbOfSavedEvents( void ); + + void IncrementNmbOfSavedFastEvents( void ); + + public: + const CexmcNmbOfHitsInRanges & GetNmbOfHitsSampled( void ) const; + + const CexmcNmbOfHitsInRanges & GetNmbOfHitsSampledFull( void ) const; + + const CexmcNmbOfHitsInRanges & GetNmbOfHitsTriggeredRealRange( void ) + const; + + const CexmcNmbOfHitsInRanges & GetNmbOfHitsTriggeredRecRange( void ) + const; + + const CexmcNmbOfHitsInRanges & GetNmbOfOrphanHits( void ) const; + + G4int GetNmbOfFalseHitsTriggeredEDT( void ) const; + + G4int GetNmbOfFalseHitsTriggeredRec( void ) const; + + G4int GetNmbOfSavedEvents( void ) const; + + G4int GetNmbOfSavedFastEvents( void ) const; + + private: + CexmcNmbOfHitsInRanges nmbOfHitsSampled; + + CexmcNmbOfHitsInRanges nmbOfHitsSampledFull; + + CexmcNmbOfHitsInRanges nmbOfHitsTriggeredRealRange; + + CexmcNmbOfHitsInRanges nmbOfHitsTriggeredRecRange; + + CexmcNmbOfHitsInRanges nmbOfOrphanHits; + + G4int nmbOfFalseHitsTriggeredEDT; + + G4int nmbOfFalseHitsTriggeredRec; + + G4int nmbOfSavedEvents; + + G4int nmbOfSavedFastEvents; +}; + + +inline const CexmcNmbOfHitsInRanges & + CexmcRun::GetNmbOfHitsSampled( void ) const +{ + return nmbOfHitsSampled; +} + + +inline const CexmcNmbOfHitsInRanges & + CexmcRun::GetNmbOfHitsSampledFull( void ) const +{ + return nmbOfHitsSampledFull; +} + + +inline const CexmcNmbOfHitsInRanges & + CexmcRun::GetNmbOfHitsTriggeredRealRange( void ) const +{ + return nmbOfHitsTriggeredRealRange; +} + + +inline const CexmcNmbOfHitsInRanges & + CexmcRun::GetNmbOfHitsTriggeredRecRange( void ) const +{ + return nmbOfHitsTriggeredRecRange; +} + + +inline const CexmcNmbOfHitsInRanges & + CexmcRun::GetNmbOfOrphanHits( void ) const +{ + return nmbOfOrphanHits; +} + + +inline G4int CexmcRun::GetNmbOfFalseHitsTriggeredEDT( void ) const +{ + return nmbOfFalseHitsTriggeredEDT; +} + + +inline G4int CexmcRun::GetNmbOfFalseHitsTriggeredRec( void ) const +{ + return nmbOfFalseHitsTriggeredRec; +} + + +inline G4int CexmcRun::GetNmbOfSavedEvents( void ) const +{ + return nmbOfSavedEvents; +} + + +inline G4int CexmcRun::GetNmbOfSavedFastEvents( void ) const +{ + return nmbOfSavedFastEvents; +} + + +#endif + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh b/examples/advanced/ChargeExchangeMC/include/CexmcRunAction.hh similarity index 52% rename from examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh rename to examples/advanced/ChargeExchangeMC/include/CexmcRunAction.hh index 982febdc6f..86d8832e5e 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh +++ b/examples/advanced/ChargeExchangeMC/include/CexmcRunAction.hh @@ -23,65 +23,59 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: AnaEx01PhysicsList.hh,v 1.4 2006/06/29 16:33:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// +/* + * ============================================================================= + * + * Filename: CexmcRunAction.hh + * + * Description: run action + * + * Version: 1.0 + * Created: 20.12.2009 00:15:42 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +#ifndef CEXMC_RUN_ACTION_HH +#define CEXMC_RUN_ACTION_HH -#ifndef AnaEx01PhysicsList_h -#define AnaEx01PhysicsList_h 1 +#include +#include +#include -#include "G4VUserPhysicsList.hh" -#include "globals.hh" +class CexmcPhysicsManager; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -class AnaEx01PhysicsList: public G4VUserPhysicsList +class CexmcRunAction : public G4UserRunAction { - public: - AnaEx01PhysicsList(); - ~AnaEx01PhysicsList(); + public: + explicit CexmcRunAction( CexmcPhysicsManager * physicsManager ); - protected: - // Construct particle and physics - void ConstructParticle(); - void ConstructProcess(); - - void SetCuts(); + public: + G4Run * GenerateRun( void ); - public: - // Set/Get cut values - void SetCutForGamma(G4double); - void SetCutForElectron(G4double); - void SetCutForProton(G4double); - G4double GetCutForGamma() const; - G4double GetCutForElectron() const; - G4double GetCutForProton() const; - - protected: - // these methods Construct particles - void ConstructBosons(); - void ConstructLeptons(); - void ConstructMesons(); - void ConstructBaryons(); + void EndOfRunAction( const G4Run * run ); - protected: - // these methods Construct physics processes and register them - void ConstructGeneral(); - void ConstructEM(); + public: + static void PrintResults( + const CexmcNmbOfHitsInRanges & nmbOfHitsSampled, + const CexmcNmbOfHitsInRanges & nmbOfHitsSampledFull, + const CexmcNmbOfHitsInRanges & nmbOfHitsTriggeredRealRange, + const CexmcNmbOfHitsInRanges & nmbOfHitsTriggeredRecRange, + const CexmcNmbOfHitsInRanges & nmbOfOrphanHits, + const CexmcAngularRangeList & angularRanges, + G4int nmbOfFalseHitsTriggeredEDT, + G4int nmbOfFalseHitsTriggeredRec ); - private: - G4double cutForGamma; - G4double cutForElectron; - G4double cutForProton; - G4double currentDefaultCut; + private: + CexmcPhysicsManager * physicsManager; }; + #endif - - diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcRunManager.hh b/examples/advanced/ChargeExchangeMC/include/CexmcRunManager.hh new file mode 100644 index 0000000000..2e0880776a --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcRunManager.hh @@ -0,0 +1,404 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcRunManager.hh + * + * Description: run manager + * + * Version: 1.0 + * Created: 03.11.2009 20:17:20 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_RUN_MANAGER_HH +#define CEXMC_RUN_MANAGER_HH + +#include +#include +#ifdef CEXMC_USE_PERSISTENCY +#include +#endif +#include +#include "CexmcRunSObject.hh" +#include "CexmcException.hh" +#include "CexmcCommon.hh" + +class CexmcRunManagerMessenger; +class CexmcPhysicsManager; +class CexmcEventFastSObject; +#ifdef CEXMC_USE_CUSTOM_FILTER +class CexmcCustomFilterEval; +#endif + + +typedef std::set< CexmcOutputDataType > CexmcOutputDataTypeSet; + + +class CexmcRunManager : public G4RunManager +{ + public: + explicit CexmcRunManager( const G4String & projectId = "", + const G4String & rProject = "", + G4bool overrideExistingProject = false ); + + virtual ~CexmcRunManager(); + + public: + void SetPhysicsManager( CexmcPhysicsManager * physicsManager_ ); + + void SetProductionModelType( + CexmcProductionModelType productionModelType_ ); + + void SetGdmlFileName( const G4String & gdmlFileName_ ); + + void SetGdmlFileValidation( G4bool on = true ); + + void SetGuiMacroName( const G4String & guiMacroName_ ); + + void SetEventCountPolicy( CexmcEventCountPolicy value ); + + void SetEventDataVerboseLevel( CexmcEventDataVerboseLevel value ); + +#ifdef CEXMC_USE_PERSISTENCY + void ReadProject( void ); + + void SaveProject( void ); + + void PrintReadRunData( void ) const; + + void ReadAndPrintEventsData( void ) const; + + void PrintReadData( const CexmcOutputDataTypeSet & outputData ) const; + + void ReplayEvents( G4int nEvents = 0 ); + + void SeekTo( G4int eventNmb = 1 ); + + void SkipInteractionsWithoutEDTonWrite( G4bool on = true ); + +#ifdef CEXMC_USE_CUSTOM_FILTER + void SetCustomFilter( const G4String & cfFileName_ ); +#endif +#endif + + void EnableLiveHistograms( G4bool on = true ); + + public: + CexmcPhysicsManager * GetPhysicsManager( void ); + + CexmcProductionModelType GetProductionModelType( void ) const; + + G4String GetGdmlFileName( void ) const; + + G4bool ShouldGdmlFileBeValidated( void ) const; + + G4String GetGuiMacroName( void ) const; + + G4bool ProjectIsSaved( void ) const; + + G4bool ProjectIsRead( void ) const; + + G4String GetProjectsDir( void ) const; + + G4String GetProjectId( void ) const; + +#ifdef CEXMC_USE_PERSISTENCY + boost::archive::binary_oarchive * GetEventsArchive( void ) const; + + boost::archive::binary_oarchive * GetFastEventsArchive( void ) const; +#endif + + G4bool AreLiveHistogramsEnabled( void ) const; + + CexmcEventDataVerboseLevel GetEventDataVerboseLevel( void ) const; + + void BeamParticleChangeHook( void ); + + protected: + void DoEventLoop( G4int nEvent, const char * macroFile, + G4int nSelect ); + + private: + void DoCommonEventLoop( G4int nEvent, const G4String & cmd, + G4int nSelect ); + +#ifdef CEXMC_USE_PERSISTENCY + void DoReadEventLoop( G4int nEvent ); + + void SaveCurrentTPTEvent( const CexmcEventFastSObject & evFastSObject, + const CexmcAngularRangeList & angularRanges, + G4bool writeToDatabase ); +#endif + + private: + void ReadPreinitProjectData( void ); + + private: + CexmcBasePhysicsUsed basePhysicsUsed; + + CexmcProductionModelType productionModelType; + + G4String gdmlFileName; + + G4bool shouldGdmlFileBeValidated; + + G4bool zipGdmlFile; + + G4String projectsDir; + + G4String projectId; + + G4String rProject; + + G4String guiMacroName; + + G4String cfFileName; + + CexmcEventCountPolicy eventCountPolicy; + + G4bool areLiveHistogramsEnabled; + + G4bool skipInteractionsWithoutEDTonWrite; + + CexmcEventDataVerboseLevel evDataVerboseLevel; + + CexmcEventDataVerboseLevel rEvDataVerboseLevel; + + private: + G4int numberOfEventsProcessed; + + G4int numberOfEventsProcessedEffective; + + G4int curEventRead; + +#ifdef CEXMC_USE_PERSISTENCY + private: + boost::archive::binary_oarchive * eventsArchive; + + boost::archive::binary_oarchive * fastEventsArchive; + + CexmcRunSObject sObject; + +#ifdef CEXMC_USE_CUSTOM_FILTER + CexmcCustomFilterEval * customFilter; +#endif +#endif + + private: + CexmcPhysicsManager * physicsManager; + + private: + CexmcRunManagerMessenger * messenger; +}; + + +inline void CexmcRunManager::SetPhysicsManager( + CexmcPhysicsManager * physicsManager_ ) +{ + physicsManager = physicsManager_; +} + + +inline void CexmcRunManager::SetProductionModelType( + CexmcProductionModelType productionModelType_ ) +{ + if ( ProjectIsRead() ) + throw CexmcException( CexmcCmdIsNotAllowed ); + + productionModelType = productionModelType_; +} + + +inline void CexmcRunManager::SetGdmlFileName( const G4String & gdmlFileName_ ) +{ + if ( ProjectIsRead() ) + throw CexmcException( CexmcCmdIsNotAllowed ); + + gdmlFileName = gdmlFileName_; +} + + +inline void CexmcRunManager::SetGdmlFileValidation( G4bool on ) +{ + shouldGdmlFileBeValidated = on; +} + + +inline void CexmcRunManager::SetGuiMacroName( const G4String & guiMacroName_ ) +{ + guiMacroName = guiMacroName_; +} + + +inline void CexmcRunManager::SetEventCountPolicy( + CexmcEventCountPolicy value ) +{ + if ( ProjectIsRead() ) + throw CexmcException( CexmcCmdIsNotAllowed ); + + eventCountPolicy = value; +} + + +inline void CexmcRunManager::SetEventDataVerboseLevel( + CexmcEventDataVerboseLevel value ) +{ + if ( ProjectIsRead() && value > rEvDataVerboseLevel ) + throw CexmcException( CexmcPoorEventData ); + + evDataVerboseLevel = value; +} + + +inline CexmcPhysicsManager * CexmcRunManager::GetPhysicsManager( void ) +{ + return physicsManager; +} + + +inline CexmcProductionModelType + CexmcRunManager::GetProductionModelType( void ) const +{ + return productionModelType; +} + + +inline G4String CexmcRunManager::GetGdmlFileName( void ) const +{ + return gdmlFileName; +} + + +inline G4bool CexmcRunManager::ShouldGdmlFileBeValidated( void ) const +{ + return shouldGdmlFileBeValidated; +} + + +inline G4String CexmcRunManager::GetGuiMacroName( void ) const +{ + return guiMacroName; +} + + +inline G4bool CexmcRunManager::ProjectIsSaved( void ) const +{ + return projectId != ""; +} + + +inline G4bool CexmcRunManager::ProjectIsRead( void ) const +{ + return rProject != ""; +} + + +inline G4String CexmcRunManager::GetProjectsDir( void ) const +{ + return projectsDir; +} + + +inline G4String CexmcRunManager::GetProjectId( void ) const +{ + return projectId; +} + + +#ifdef CEXMC_USE_PERSISTENCY + +inline boost::archive::binary_oarchive * CexmcRunManager::GetEventsArchive( + void ) const +{ + return eventsArchive; +} + + +inline boost::archive::binary_oarchive * CexmcRunManager::GetFastEventsArchive( + void ) const +{ + return fastEventsArchive; +} + + +inline void CexmcRunManager::ReplayEvents( G4int nEvents ) +{ + if ( ! ProjectIsRead() ) + return; + + if ( nEvents == 0 ) + nEvents = std::numeric_limits< G4int >::max(); + + BeamOn( nEvents ); +} + + +inline void CexmcRunManager::SeekTo( G4int eventNmb ) +{ + if ( ! ProjectIsRead() ) + return; + + curEventRead = eventNmb; +} + + +inline void CexmcRunManager::SkipInteractionsWithoutEDTonWrite( G4bool on ) +{ + skipInteractionsWithoutEDTonWrite = on; +} + +#endif + + +inline void CexmcRunManager::EnableLiveHistograms( G4bool on ) +{ + areLiveHistogramsEnabled = on; +} + + +inline G4bool CexmcRunManager::AreLiveHistogramsEnabled( void ) const +{ + return areLiveHistogramsEnabled; +} + + +inline CexmcEventDataVerboseLevel CexmcRunManager::GetEventDataVerboseLevel( + void ) const +{ + return evDataVerboseLevel; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcRunManagerMessenger.hh b/examples/advanced/ChargeExchangeMC/include/CexmcRunManagerMessenger.hh new file mode 100644 index 0000000000..883a7a8598 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcRunManagerMessenger.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcRunManagerMessenger.hh + * + * Description: init parameters (production model, gdml file etc.) + * + * Version: 1.0 + * Created: 03.11.2009 20:36:25 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_RUN_MANAGER_MESSENGER_HH +#define CEXMC_RUN_MANAGER_MESSENGER_HH + +#include + +class CexmcRunManager; +class G4UIcommand; +class G4UIcmdWithAString; +class G4UIcmdWithAnInteger; +class G4UIcmdWithABool; + + +class CexmcRunManagerMessenger : public G4UImessenger +{ + public: + explicit CexmcRunManagerMessenger( CexmcRunManager * runManager ); + + ~CexmcRunManagerMessenger(); + + public: + void SetNewValue( G4UIcommand * cmd, G4String value ); + + private: + CexmcRunManager * runManager; + + G4UIcmdWithAString * setProductionModel; + + G4UIcmdWithAString * setGdmlFile; + + G4UIcmdWithAString * setGuiMacro; + + G4UIcmdWithAString * setEventCountPolicy; + + G4UIcmdWithAString * setEventDataVerboseLevel; + +#ifdef CEXMC_USE_PERSISTENCY + G4UIcmdWithAnInteger * replayEvents; + + G4UIcmdWithAnInteger * seekTo; + + G4UIcmdWithABool * skipInteractionsWithoutEDT; +#endif + + G4UIcmdWithABool * validateGdmlFile; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcRunSObject.hh b/examples/advanced/ChargeExchangeMC/include/CexmcRunSObject.hh new file mode 100644 index 0000000000..8321258e68 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcRunSObject.hh @@ -0,0 +1,346 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcRunSObject.hh + * + * Description: run data serialization helper + * + * Version: 1.0 + * Created: 23.12.2009 14:24:20 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_RUN_SOBJECT_HH +#define CEXMC_RUN_SOBJECT_HH + +#ifdef CEXMC_USE_PERSISTENCY + +#include +#include +#include +#include +#include "CexmcSimpleDecayTableStore.hh" +#include "CexmcSimpleThreeVectorStore.hh" +#include "CexmcAngularRange.hh" +#include "CexmcSimpleRangeWithValue.hh" +#include "CexmcRun.hh" +#include "CexmcCommon.hh" + + +#define CEXMC_RUN_SOBJECT_VERSION 3 + + +class CexmcRunSObject +{ + friend class boost::serialization::access; + friend class CexmcRunManager; + + public: + CexmcRunSObject(); + + CexmcRunSObject( CexmcBasePhysicsUsed basePhysicsUsed, + CexmcProductionModelType productionModelType, + const std::string & gdmlFileName, + const CexmcSimpleDecayTableStore & etaDecayTable, + const CexmcAngularRangeList & angularRanges, + G4bool fermiMotionIsOn, + const std::vector< G4double > & calorimeterRegCuts, + CexmcEventCountPolicy eventCountPolicy, + const std::string & beamParticle, + const CexmcSimpleThreeVectorStore & beamPos, + const CexmcSimpleThreeVectorStore & beamDir, + G4double beamMomentumAmp, G4double beamFwhmPosX, + G4double beamFwhmPosY, G4double beamFwhmDirX, + G4double beamFwhmDirY, + G4double beamFwhmMomentumAmp, + G4double monitorEDThreshold, + G4double vetoCounterEDLeftThreshold, + G4double vetoCounterEDRightThreshold, + G4double calorimeterEDLeftThreshold, + G4double calorimeterEDRightThreshold, + CexmcCalorimeterTriggerAlgorithm + calorimeterTriggerAlgorithm, + CexmcOuterCrystalsVetoAlgorithm + outerCrystalsVetoAlgorithm, + G4double outerCrystalsVetoFraction, + G4bool applyFiniteCrystalResolution, + const CexmcEnergyRangeWithDoubleValueList & + crystalResolutionData, + CexmcCalorimeterEntryPointDefinitionAlgorithm + epDefinitionAlgorithm, + CexmcCalorimeterEntryPointDepthDefinitionAlgorithm + epDepthDefinitionAlgorithm, + CexmcCrystalSelectionAlgorithm csAlgorithm, + G4bool useInnerRefCrystal, G4double epDepth, + G4bool useTableMass, G4bool useMassCut, + G4double mCutOPCenter, G4double mCutNOPCenter, + G4double mCutOPWidth, G4double mCutNOPWidth, + G4double mCutAngle, G4bool useAbsorbedEnergyCut, + G4double aeCutCLCenter, G4double aeCutCRCenter, + G4double aeCutCLWidth, G4double aeCutCRWidth, + G4double aeCutAngle, + CexmcNmbOfHitsInRanges nmbOfHitsSampled, + CexmcNmbOfHitsInRanges nmbOfHitsSampledFull, + CexmcNmbOfHitsInRanges nmbOfHitsTriggeredRealRange, + CexmcNmbOfHitsInRanges nmbOfHitsTriggeredRecRange, + CexmcNmbOfHitsInRanges nmbOfOrphanHits, + G4int nmbOfFalseHitsTriggeredEDT, + G4int nmbOfFalseHitsTriggeredRec, + G4int nmbOfSavedEvents, G4int nmbOfSavedFastEvents, + G4int numberOfEventsProcessed, + G4int numberOfEventsProcessedEffective, + G4int numberOfEventsToBeProcessed, + const std::string & rProject, + G4bool interactionsWithoutEDTWereSkipped, + const std::string & cfFileName, + CexmcEventDataVerboseLevel evDataVerboseLevel, + G4double proposedMaxIL ); + + private: + template < typename Archive > + void serialize( Archive & archive, const unsigned int version ); + + private: + CexmcBasePhysicsUsed basePhysicsUsed; + + CexmcProductionModelType productionModelType; + + std::string gdmlFileName; + + CexmcSimpleDecayTableStore etaDecayTable; + + CexmcAngularRangeList angularRanges; + + G4bool fermiMotionIsOn; + + std::vector< G4double > calorimeterRegCuts; + + CexmcEventCountPolicy eventCountPolicy; + + std::string beamParticle; + + CexmcSimpleThreeVectorStore beamPos; + + CexmcSimpleThreeVectorStore beamDir; + + G4double beamMomentumAmp; + + G4double beamFwhmPosX; + + G4double beamFwhmPosY; + + G4double beamFwhmDirX; + + G4double beamFwhmDirY; + + G4double beamFwhmMomentumAmp; + + G4double monitorEDThreshold; + + G4double vetoCounterEDLeftThreshold; + + G4double vetoCounterEDRightThreshold; + + G4double calorimeterEDLeftThreshold; + + G4double calorimeterEDRightThreshold; + + CexmcCalorimeterTriggerAlgorithm calorimeterTriggerAlgorithm; + + CexmcOuterCrystalsVetoAlgorithm outerCrystalsVetoAlgorithm; + + G4double outerCrystalsVetoFraction; + + G4bool applyFiniteCrystalResolution; + + CexmcEnergyRangeWithDoubleValueList crystalResolutionData; + + CexmcCalorimeterEntryPointDefinitionAlgorithm epDefinitionAlgorithm; + + CexmcCalorimeterEntryPointDepthDefinitionAlgorithm + epDepthDefinitionAlgorithm; + + CexmcCrystalSelectionAlgorithm csAlgorithm; + + G4bool useInnerRefCrystal; + + G4double epDepth; + + G4bool useTableMass; + + G4bool useMassCut; + + G4double mCutOPCenter; + + G4double mCutNOPCenter; + + G4double mCutOPWidth; + + G4double mCutNOPWidth; + + G4double mCutAngle; + + G4bool useAbsorbedEnergyCut; + + G4double aeCutCLCenter; + + G4double aeCutCRCenter; + + G4double aeCutCLWidth; + + G4double aeCutCRWidth; + + G4double aeCutAngle; + + CexmcNmbOfHitsInRanges nmbOfHitsSampled; + + CexmcNmbOfHitsInRanges nmbOfHitsSampledFull; + + CexmcNmbOfHitsInRanges nmbOfHitsTriggeredRealRange; + + CexmcNmbOfHitsInRanges nmbOfHitsTriggeredRecRange; + + CexmcNmbOfHitsInRanges nmbOfOrphanHits; + + G4int nmbOfFalseHitsTriggeredEDT; + + G4int nmbOfFalseHitsTriggeredRec; + + G4int nmbOfSavedEvents; + + G4int nmbOfSavedFastEvents; + + G4int numberOfEventsProcessed; + + G4int numberOfEventsProcessedEffective; + + G4int numberOfEventsToBeProcessed; + + std::string rProject; + + G4bool interactionsWithoutEDTWereSkipped; + + std::string cfFileName; + + CexmcEventDataVerboseLevel evDataVerboseLevel; + + G4double proposedMaxIL; + + private: + unsigned int actualVersion; +}; + + +template < typename Archive > +void CexmcRunSObject::serialize( Archive & archive, + const unsigned int version ) +{ + actualVersion = version; + + archive & basePhysicsUsed; + archive & productionModelType; + archive & gdmlFileName; + archive & etaDecayTable; + archive & angularRanges; + archive & fermiMotionIsOn; + archive & calorimeterRegCuts; + archive & eventCountPolicy; + archive & beamParticle; + archive & beamPos; + archive & beamDir; + archive & beamMomentumAmp; + archive & beamFwhmPosX; + archive & beamFwhmPosY; + archive & beamFwhmDirX; + archive & beamFwhmDirY; + archive & beamFwhmMomentumAmp; + archive & monitorEDThreshold; + archive & vetoCounterEDLeftThreshold; + archive & vetoCounterEDRightThreshold; + archive & calorimeterEDLeftThreshold; + archive & calorimeterEDRightThreshold; + archive & calorimeterTriggerAlgorithm; + archive & outerCrystalsVetoAlgorithm; + archive & outerCrystalsVetoFraction; + archive & applyFiniteCrystalResolution; + archive & crystalResolutionData; + archive & epDefinitionAlgorithm; + archive & epDepthDefinitionAlgorithm; + archive & csAlgorithm; + if ( version > 0 ) + archive & useInnerRefCrystal; + archive & epDepth; + archive & useTableMass; + archive & useMassCut; + archive & mCutOPCenter; + archive & mCutNOPCenter; + archive & mCutOPWidth; + archive & mCutNOPWidth; + archive & mCutAngle; + archive & useAbsorbedEnergyCut; + archive & aeCutCLCenter; + archive & aeCutCRCenter; + archive & aeCutCLWidth; + archive & aeCutCRWidth; + archive & aeCutAngle; + archive & nmbOfHitsSampled; + archive & nmbOfHitsSampledFull; + archive & nmbOfHitsTriggeredRealRange; + archive & nmbOfHitsTriggeredRecRange; + archive & nmbOfOrphanHits; + archive & nmbOfFalseHitsTriggeredEDT; + archive & nmbOfFalseHitsTriggeredRec; + archive & nmbOfSavedEvents; + archive & nmbOfSavedFastEvents; + archive & numberOfEventsProcessed; + archive & numberOfEventsProcessedEffective; + archive & numberOfEventsToBeProcessed; + if ( version > 1 ) + { + archive & rProject; + archive & interactionsWithoutEDTWereSkipped; + archive & cfFileName; + archive & evDataVerboseLevel; + } + if ( version > 2 ) + archive & proposedMaxIL; +} + + +BOOST_CLASS_VERSION( CexmcRunSObject, CEXMC_RUN_SOBJECT_VERSION ) + +#endif + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcSensitiveDetectorMessenger.hh b/examples/advanced/ChargeExchangeMC/include/CexmcSensitiveDetectorMessenger.hh new file mode 100644 index 0000000000..38a749f304 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcSensitiveDetectorMessenger.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcSensitiveDetectorMessenger.hh + * + * Description: sensitive detector messenger (verbose level etc.) + * + * Version: 1.0 + * Created: 15.11.2009 14:03:56 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_SENSITIVE_DETECTOR_MESSENGER_HH +#define CEXMC_SENSITIVE_DETECTOR_MESSENGER_HH + +#include + +class G4VPrimitiveScorer; +class G4UIcommand; +class G4UIcmdWithAnInteger; +class G4UIdirectory; +class G4String; + + +class CexmcSensitiveDetectorMessenger : public G4UImessenger +{ + public: + CexmcSensitiveDetectorMessenger( G4VPrimitiveScorer * scorer, + const G4String & detectorName ); + + ~CexmcSensitiveDetectorMessenger(); + + public: + void SetNewValue( G4UIcommand * cmd, G4String value ); + + private: + G4VPrimitiveScorer * scorer; + + G4UIdirectory * detectorPath; + + G4UIcmdWithAnInteger * setVerboseLevel; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcSensitiveDetectorsAttributes.hh b/examples/advanced/ChargeExchangeMC/include/CexmcSensitiveDetectorsAttributes.hh new file mode 100644 index 0000000000..8a7152658f --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcSensitiveDetectorsAttributes.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcSensitiveDetectorsAttributes.hh + * + * Description: sensitive detectors attributes (types, roles and regions) + * + * Version: 1.0 + * Created: 06.10.2010 13:07:17 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_SENSITIVE_DETECTORS_ATTRIBUTES +#define CEXMC_SENSITIVE_DETECTORS_ATTRIBUTES + +#include + + +enum CexmcDetectorType +{ + CexmcEDDetector, + CexmcTPDetector, + CexmcNumberOfDetectorTypes +}; + + +enum CexmcDetectorRole +{ + CexmcMonitorDetectorRole, + CexmcVetoCounterDetectorRole, + CexmcCalorimeterDetectorRole, + CexmcTargetDetectorRole, + CexmcNumberOfDetectorRoles +}; + + +const G4String CexmcDetectorTypeName[ CexmcNumberOfDetectorTypes ] = +{ + "ED", "TP" +}; + + +const G4String CexmcDetectorRoleName[ CexmcNumberOfDetectorRoles ] = +{ + "Monitor", "VetoCounter", "Calorimeter", "Target" +}; + + +const G4String CexmcCalorimeterRegionName( "Calorimeter" ); + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcSetup.hh b/examples/advanced/ChargeExchangeMC/include/CexmcSetup.hh new file mode 100644 index 0000000000..821e12b3c8 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcSetup.hh @@ -0,0 +1,230 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcSetup.hh + * + * Description: physical setup + * + * Version: 1.0 + * Created: 10.10.2009 23:15:21 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_SETUP_HH +#define CEXMC_SETUP_HH + +#include +#include +#include +#include +#include +#include "CexmcSensitiveDetectorsAttributes.hh" + +class G4GDMLParser; +class G4LogicalVolume; +class G4VPhysicalVolume; + + +class CexmcSetup : public G4VUserDetectorConstruction +{ + public: + enum SpecialVolumeType + { + Monitor, + VetoCounter, + Calorimeter, + Target + }; + + struct CalorimeterGeometryData + { + CalorimeterGeometryData() : + nCrystalsInColumn( 1 ), nCrystalsInRow( 1 ), crystalWidth( 0 ), + crystalHeight( 0 ), crystalLength( 0 ) + {} + + G4int nCrystalsInColumn; + + G4int nCrystalsInRow; + + G4double crystalWidth; + + G4double crystalHeight; + + G4double crystalLength; + }; + + public: + explicit CexmcSetup( const G4String & gdmlFile = "default.gdml", + G4bool validateGDMLFile = true ); + + G4VPhysicalVolume * Construct( void ); + + public: + const G4AffineTransform & GetTargetTransform( void ) const; + + const G4AffineTransform & GetCalorimeterLeftTransform( void ) const; + + const G4AffineTransform & GetCalorimeterRightTransform( void ) const; + + void ConvertToCrystalGeometry( const G4ThreeVector & src, + G4int & row, G4int & column, G4ThreeVector & dst ) const; + + const CalorimeterGeometryData & GetCalorimeterGeometry( void ) const; + + const G4LogicalVolume * GetVolume( SpecialVolumeType volume ) const; + + G4bool IsRightDetector( const G4VPhysicalVolume * pVolume ) const; + + G4bool IsRightCalorimeter( const G4VPhysicalVolume * pVolume ) const; + + private: + void SetupSpecialVolumes( G4GDMLParser & gdmlParser ); + + void ReadTransforms( const G4GDMLParser & gdmlParser ); + + void ReadCalorimeterGeometryData( const G4LogicalVolume * lVolume ); + + void ReadRightDetectors( void ); + + private: + static void AssertAndAsignDetectorRole( + CexmcDetectorRole & detectorRole, CexmcDetectorRole value ); + + static void RotateMatrix( const G4ThreeVector & pos, + G4RotationMatrix & rm ); + + private: + G4VPhysicalVolume * world; + + G4String gdmlFile; + + G4bool validateGDMLFile; + + G4bool calorimeterRegionInitialized; + + G4bool calorimeterGeometryDataInitialized; + + G4LogicalVolume * monitorVolume; + + G4LogicalVolume * vetoCounterVolume; + + G4LogicalVolume * calorimeterVolume; + + G4LogicalVolume * targetVolume; + + G4VPhysicalVolume * rightVetoCounter; + + G4VPhysicalVolume * rightCalorimeter; + + G4AffineTransform targetTransform; + + G4AffineTransform calorimeterLeftTransform; + + G4AffineTransform calorimeterRightTransform; + + CalorimeterGeometryData calorimeterGeometry; +}; + + +inline const G4AffineTransform & CexmcSetup::GetTargetTransform( void ) const +{ + return targetTransform; +} + + +inline const G4AffineTransform & CexmcSetup::GetCalorimeterLeftTransform( + void ) const +{ + return calorimeterLeftTransform; +} + + +inline const G4AffineTransform & CexmcSetup::GetCalorimeterRightTransform( + void ) const +{ + return calorimeterRightTransform; +} + + +inline const CexmcSetup::CalorimeterGeometryData & + CexmcSetup::GetCalorimeterGeometry( void ) const +{ + return calorimeterGeometry; +} + + +inline const G4LogicalVolume * CexmcSetup::GetVolume( + SpecialVolumeType volume ) const +{ + switch ( volume ) + { + case Monitor : + return monitorVolume; + case VetoCounter : + return vetoCounterVolume; + case Calorimeter : + return calorimeterVolume; + case Target : + return targetVolume; + default : + break; + } + + return NULL; +} + + +inline G4bool CexmcSetup::IsRightDetector( + const G4VPhysicalVolume * pVolume ) const +{ + if ( pVolume == rightVetoCounter || pVolume == rightCalorimeter ) + return true; + + return false; +} + + +inline G4bool CexmcSetup::IsRightCalorimeter( + const G4VPhysicalVolume * pVolume ) const +{ + if ( pVolume == rightCalorimeter ) + return true; + + return false; +} + + +#endif + diff --git a/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4DummyProbability.cc b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleDecayTableStore.hh similarity index 51% rename from source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4DummyProbability.cc rename to examples/advanced/ChargeExchangeMC/include/CexmcSimpleDecayTableStore.hh index 0cc3082820..7de09e9644 100644 --- a/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4DummyProbability.cc +++ b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleDecayTableStore.hh @@ -23,78 +23,75 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// Class G4DummyProbability.cc -// +/* + * ============================================================================= + * + * Filename: CexmcSimpleDecayTableStore.hh + * + * Description: decay table serialization helper + * + * Version: 1.0 + * Created: 24.12.2009 14:17:40 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -#include "G4DummyProbability.hh" -#include "G4ConstantLevelDensityParameter.hh" -#include "Randomize.hh" +#ifndef CEXMC_SIMPLE_DECAY_TABLE_STORE_HH +#define CEXMC_SIMPLE_DECAY_TABLE_STORE_HH -// Constructors and operators -// +#ifdef CEXMC_USE_PERSISTENCY -G4DummyProbability::G4DummyProbability(const G4DummyProbability& ) : G4VEmissionProbability() +#include +#include +#include + +class G4DecayTable; + + +typedef std::map< G4int, G4double > CexmcDecayBranchesStore; + + +class CexmcSimpleDecayTableStore { + friend class boost::serialization::access; - throw G4HadronicException(__FILE__, __LINE__, "G4DummyProbability::copy_constructor meant to not be accessible"); + public: + CexmcSimpleDecayTableStore(); + CexmcSimpleDecayTableStore( const G4DecayTable * decayTable ); + + public: + const CexmcDecayBranchesStore & GetDecayBranches( void ) const; + + private: + template < typename Archive > + void serialize( Archive & archive, const unsigned int version ); + + private: + CexmcDecayBranchesStore decayBranches; +}; + + +inline const CexmcDecayBranchesStore & + CexmcSimpleDecayTableStore::GetDecayBranches( void ) const +{ + return decayBranches; } -const G4DummyProbability& G4DummyProbability:: -operator=(const G4DummyProbability& ) -{ - throw G4HadronicException(__FILE__, __LINE__, "G4DummyProbability::operator= meant to not be accessible"); - return *this; +template < typename Archive > +void CexmcSimpleDecayTableStore::serialize( Archive & archive, + const unsigned int ) +{ + archive & decayBranches; } -G4bool G4DummyProbability::operator==(const G4DummyProbability& ) const -{ - - return false; - -} - -G4bool G4DummyProbability::operator!=(const G4DummyProbability& ) const -{ - - return true; - -} - -// Calculate the emission probability -// - -G4double G4DummyProbability::EmissionProbDensity(const G4Fragment& , - const G4double ) -{ - - G4double theProb = 0.0; - - return theProb; - -} - -G4double G4DummyProbability::EmissionProbability(const G4Fragment& , - const G4double ) -{ - - // From nuclear fragment properties and the excitation energy, calculate - // the probability for photon evaporation down to last ground level. - // fragment = nuclear fragment BEFORE de-excitation - - G4double theProb = 0.0; - - // Fall-back is a uniform random number - - G4double uniformNum = G4UniformRand(); - theProb = uniformNum; - - return theProb; - -} - -G4DummyProbability::~G4DummyProbability() {} +#endif +#endif diff --git a/examples/extended/parallel/ExDiane/src/BrachyFactoryIr.cc b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleEnergyDeposit.hh similarity index 53% rename from examples/extended/parallel/ExDiane/src/BrachyFactoryIr.cc rename to examples/advanced/ChargeExchangeMC/include/CexmcSimpleEnergyDeposit.hh index b0b115b07a..0ad3eeef3f 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyFactoryIr.cc +++ b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleEnergyDeposit.hh @@ -23,53 +23,70 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// Code developed by: -// S.Guatelli -// -// ******************************* -// * * -// * BrachyFactoryIr * -// * * -// ******************************* -// -// $Id: BrachyFactoryIr.cc,v 1.3 2006/06/29 17:33:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "globals.hh" -#include "BrachyFactoryIr.hh" -#include "BrachyPrimaryGeneratorActionIr.hh" -#include "G4ParticleTable.hh" -#include "Randomize.hh" -#include "G4Event.hh" -#include "G4ParticleGun.hh" -#include "G4IonTable.hh" -#include "G4UImanager.hh" -#include "G4RunManager.hh" -#include "BrachyDetectorMessenger.hh" -#include "BrachyDetectorConstructionIr.hh" +/* + * ============================================================================= + * + * Filename: CexmcSimpleEnergyDeposit.hh + * + * Description: simple energy deposit scorer + * + * Version: 1.0 + * Created: 14.11.2009 12:45:53 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -BrachyFactoryIr:: BrachyFactoryIr() -{ - iridiumSource =new BrachyDetectorConstructionIr(); -} +#ifndef CEXMC_SIMPLE_ENERGY_DEPOSIT_HH +#define CEXMC_SIMPLE_ENERGY_DEPOSIT_HH -BrachyFactoryIr:: ~BrachyFactoryIr() -{ - delete iridiumSource; -} - -G4VUserPrimaryGeneratorAction* BrachyFactoryIr::CreatePrimaryGeneratorAction(){ - G4VUserPrimaryGeneratorAction* iridiumPrimaryParticle = - new BrachyPrimaryGeneratorActionIr(); - return iridiumPrimaryParticle; -} +#include +#include -void BrachyFactoryIr::CreateSource(G4VPhysicalVolume* mother) -{ - iridiumSource -> ConstructIridium(mother); -} +class G4HCofThisEvent; +class G4Step; +class CexmcSensitiveDetectorMessenger; -void BrachyFactoryIr::CleanSource() + +typedef G4THitsMap< G4double > CexmcEnergyDepositCollection; + + +class CexmcSimpleEnergyDeposit : public G4VPrimitiveScorer { - iridiumSource -> CleanIridium(); -} + public: + explicit CexmcSimpleEnergyDeposit( const G4String & name ); + + virtual ~CexmcSimpleEnergyDeposit(); + + public: + void Initialize( G4HCofThisEvent * hcOfThisEvent ); + + void EndOfEvent( G4HCofThisEvent * hcOfThisEvent ); + + void DrawAll( void ); + + void PrintAll( void ); + + void clear( void ); + + protected: + G4int GetIndex( G4Step * step ); + + G4bool ProcessHits( G4Step * step, G4TouchableHistory * tHistory ); + + protected: + CexmcEnergyDepositCollection * eventMap; + + private: + CexmcSensitiveDetectorMessenger * messenger; + + G4int hcId; +}; + + +#endif + diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleLorentzVectorStore.hh similarity index 53% rename from examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh rename to examples/advanced/ChargeExchangeMC/include/CexmcSimpleLorentzVectorStore.hh index ce8058c75a..a57e659c11 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh +++ b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleLorentzVectorStore.hh @@ -23,64 +23,74 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: Em8EventAction.hh,v 1.4 2006/06/29 16:59:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// +/* + * ============================================================================= + * + * Filename: CexmcSimpleLorentzVectorStore.hh + * + * Description: G4LorentzVector serialization helper + * + * Version: 1.0 + * Created: 02.01.2010 14:08:42 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +#ifndef CEXMC_SIMPLE_LORENTZ_VECTOR_STORE_HH +#define CEXMC_SIMPLE_LORENTZ_VECTOR_STORE_HH -#ifndef Em8EventAction_h -#define Em8EventAction_h 1 +#ifdef CEXMC_USE_PERSISTENCY -#include "G4UserEventAction.hh" -#include "globals.hh" +#include +#include -class Em8RunAction; -class Em8EventActionMessenger; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class Em8EventAction : public G4UserEventAction +class CexmcSimpleLorentzVectorStore { - public: - Em8EventAction(Em8RunAction* Em8RA); - ~Em8EventAction(); + friend class boost::serialization::access; +#ifdef CEXMC_USE_CUSTOM_FILTER + friend class CexmcASTEval; +#endif - public: - void BeginOfEventAction(const G4Event*); - void EndOfEventAction(const G4Event*); - G4int GetEventno(); - void setEventVerbose(G4int level); - - void CountStepsCharged() ; - void CountStepsNeutral() ; - void AddCharged() ; - void AddNeutral() ; - void AddE(); - void AddP(); - void SetTr(); - void SetRef(); - - void SetDrawFlag(G4String val) {drawFlag = val;}; - void SetPrintModulo(G4int val) {printModulo = val;}; - - private: - G4int calorimeterCollID; - Em8EventActionMessenger* eventMessenger; - Em8RunAction* runaction; - G4int verboselevel; - G4double nstep,nstepCharged,nstepNeutral; - G4double Nch,Nne; - G4double NE,NP; - G4double Transmitted,Reflected ; - - G4String drawFlag; - G4int printModulo; + public: + CexmcSimpleLorentzVectorStore(); + + CexmcSimpleLorentzVectorStore( const G4LorentzVector & lorentzVector ); + + public: + operator G4LorentzVector() const; + + private: + template < typename Archive > + void serialize( Archive & archive, const unsigned int version ); + + private: + G4double px; + + G4double py; + + G4double pz; + + G4double e; }; + +template < typename Archive > +void CexmcSimpleLorentzVectorStore::serialize( Archive & archive, + const unsigned int ) +{ + archive & px; + archive & py; + archive & pz; + archive & e; +} + +#endif + #endif - diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcSimpleProductionModelDataStore.hh b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleProductionModelDataStore.hh new file mode 100644 index 0000000000..89f7cdfaf1 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleProductionModelDataStore.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcSimpleProductionModelDataStore.hh + * + * Description: serialization helper for production model data + * + * Version: 1.0 + * Created: 02.01.2010 14:37:16 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_SIMPLE_PRODUCTION_MODEL_DATA_STORE_HH +#define CEXMC_SIMPLE_PRODUCTION_MODEL_DATA_STORE_HH + +#ifdef CEXMC_USE_PERSISTENCY + +#include +#include "CexmcSimpleLorentzVectorStore.hh" + +class CexmcProductionModelData; + + +class CexmcSimpleProductionModelDataStore +{ + friend class boost::serialization::access; +#ifdef CEXMC_USE_CUSTOM_FILTER + friend class CexmcASTEval; +#endif + + public: + CexmcSimpleProductionModelDataStore(); + + CexmcSimpleProductionModelDataStore( + const CexmcProductionModelData & pmData ); + + public: + operator CexmcProductionModelData() const; + + private: + template < typename Archive > + void serialize( Archive & archive, const unsigned int version ); + + private: + CexmcSimpleLorentzVectorStore incidentParticleSCM; + + CexmcSimpleLorentzVectorStore incidentParticleLAB; + + CexmcSimpleLorentzVectorStore nucleusParticleSCM; + + CexmcSimpleLorentzVectorStore nucleusParticleLAB; + + CexmcSimpleLorentzVectorStore outputParticleSCM; + + CexmcSimpleLorentzVectorStore outputParticleLAB; + + CexmcSimpleLorentzVectorStore nucleusOutputParticleSCM; + + CexmcSimpleLorentzVectorStore nucleusOutputParticleLAB; + + G4int incidentParticle; + + G4int nucleusParticle; + + G4int outputParticle; + + G4int nucleusOutputParticle; +}; + + +template < typename Archive > +void CexmcSimpleProductionModelDataStore::serialize( Archive & archive, + const unsigned int ) +{ + archive & incidentParticleSCM; + archive & incidentParticleLAB; + archive & nucleusParticleSCM; + archive & nucleusParticleLAB; + archive & outputParticleSCM; + archive & outputParticleLAB; + archive & nucleusOutputParticleSCM; + archive & nucleusOutputParticleLAB; + archive & incidentParticle; + archive & nucleusParticle; + archive & outputParticle; + archive & nucleusOutputParticle; +} + +#endif + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcSimpleRangeWithValue.hh b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleRangeWithValue.hh new file mode 100644 index 0000000000..921a77b88e --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleRangeWithValue.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcSimpleRangeWithValue.hh + * + * Description: simple range with value (can be serialized) + * + * Version: 1.0 + * Created: 17.02.2010 14:47:55 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_SIMPLE_RANGE_WITH_VALUE_HH +#define CEXMC_SIMPLE_RANGE_WITH_VALUE_HH + +#include +#include +#include + + +enum CexmcValueCategory +{ + CexmcPlainValueCategory, + CexmcEnergyValueCategory +}; + + +template < CexmcValueCategory RangeCategory = CexmcPlainValueCategory, + CexmcValueCategory ValueCategory = CexmcPlainValueCategory > +struct CexmcSimpleRangeWithValue +{ + CexmcSimpleRangeWithValue() + {} + + CexmcSimpleRangeWithValue( G4double bottom, G4double top, + G4double value ) : + bottom( bottom ), top( top ), value( value ) + {} + + G4double bottom; + + G4double top; + + G4double value; + + template < typename Archive > + void serialize( Archive & archive, const unsigned int version ); +}; + + +template < CexmcValueCategory RangeCategory, + CexmcValueCategory ValueCategory > +template < typename Archive > +inline void + CexmcSimpleRangeWithValue< RangeCategory, ValueCategory >::serialize( + Archive & archive, const unsigned int ) +{ + archive & bottom; + archive & top; + archive & value; +} + + +template < CexmcValueCategory RangeCategory, + CexmcValueCategory ValueCategory > +inline bool operator<( + const CexmcSimpleRangeWithValue< RangeCategory, ValueCategory > & left, + const CexmcSimpleRangeWithValue< RangeCategory, ValueCategory > & right ) +{ + if ( left.bottom != right.bottom ) + return left.bottom < right.bottom; + if ( left.top != right.top ) + return left.top > right.top; + + return false; +} + + +typedef CexmcSimpleRangeWithValue< CexmcEnergyValueCategory > + CexmcEnergyRangeWithDoubleValue; +typedef std::vector< CexmcEnergyRangeWithDoubleValue > + CexmcEnergyRangeWithDoubleValueList; + + +std::ostream & operator<<( std::ostream & out, + const CexmcEnergyRangeWithDoubleValue & range ); + +std::ostream & operator<<( std::ostream & out, + const CexmcEnergyRangeWithDoubleValueList & range ); + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcSimpleThreeVectorStore.hh b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleThreeVectorStore.hh new file mode 100644 index 0000000000..27e10306e0 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleThreeVectorStore.hh @@ -0,0 +1,93 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcSimpleThreeVectorStore.hh + * + * Description: G4ThreeVector serialization helper + * + * Version: 1.0 + * Created: 24.12.2009 22:45:36 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_SIMPLE_THREE_VECTOR_STORE_HH +#define CEXMC_SIMPLE_THREE_VECTOR_STORE_HH + +#ifdef CEXMC_USE_PERSISTENCY + +#include +#include + + +class CexmcSimpleThreeVectorStore +{ + friend class boost::serialization::access; +#ifdef CEXMC_USE_CUSTOM_FILTER + friend class CexmcASTEval; +#endif + + public: + CexmcSimpleThreeVectorStore(); + + CexmcSimpleThreeVectorStore( const G4ThreeVector & threeVector ); + + public: + operator G4ThreeVector() const; + + private: + template < typename Archive > + void serialize( Archive & archive, const unsigned int version ); + + private: + G4double x; + + G4double y; + + G4double z; +}; + + +template < typename Archive > +void CexmcSimpleThreeVectorStore::serialize( Archive & archive, + const unsigned int ) +{ + archive & x; + archive & y; + archive & z; +} + +#endif + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcSimpleTrackPointInfoStore.hh b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleTrackPointInfoStore.hh new file mode 100644 index 0000000000..b4befdf266 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcSimpleTrackPointInfoStore.hh @@ -0,0 +1,111 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcSimpleTrackPointInfoStore.hh + * + * Description: serialization helper for track point info objects + * + * Version: 1.0 + * Created: 31.12.2009 13:55:51 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_SIMPLE_TRACK_POINT_INFO_STORE_HH +#define CEXMC_SIMPLE_TRACK_POINT_INFO_STORE_HH + +#ifdef CEXMC_USE_PERSISTENCY + +#include +#include "CexmcSimpleThreeVectorStore.hh" +#include "CexmcCommon.hh" + +class CexmcTrackPointInfo; + + +class CexmcSimpleTrackPointInfoStore +{ + friend class boost::serialization::access; +#ifdef CEXMC_USE_CUSTOM_FILTER + friend class CexmcASTEval; +#endif + + public: + CexmcSimpleTrackPointInfoStore(); + + CexmcSimpleTrackPointInfoStore( const CexmcTrackPointInfo & tpInfo ); + + public: + operator CexmcTrackPointInfo() const; + + private: + template < typename Archive > + void serialize( Archive & archive, const unsigned int version ); + + private: + CexmcSimpleThreeVectorStore positionLocal; + + CexmcSimpleThreeVectorStore positionWorld; + + CexmcSimpleThreeVectorStore directionLocal; + + CexmcSimpleThreeVectorStore directionWorld; + + G4double momentumAmp; + + G4int particlePDGEncoding; + + G4int trackId; + + CexmcTrackType trackType; +}; + + +template < typename Archive > +void CexmcSimpleTrackPointInfoStore::serialize( Archive & archive, + const unsigned int ) +{ + archive & positionLocal; + archive & positionWorld; + archive & directionLocal; + archive & directionWorld; + archive & momentumAmp; + archive & particlePDGEncoding; + archive & trackId; + archive & trackType; +} + +#endif + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcSteppingAction.hh b/examples/advanced/ChargeExchangeMC/include/CexmcSteppingAction.hh new file mode 100644 index 0000000000..13e917aaaa --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcSteppingAction.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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcSteppingAction.hh + * + * Description: stepping action + * + * Version: 1.0 + * Created: 27.10.2009 15:59:11 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifndef CEXMC_STEPPING_ACTION_HH +#define CEXMC_STEPPING_ACTION_HH + +#include + +class G4Step; +class G4LogicalVolume; +class CexmcPhysicsManager; + + +class CexmcSteppingAction : public G4UserSteppingAction +{ + public: + explicit CexmcSteppingAction( CexmcPhysicsManager * physicsManager ); + + public: + void UserSteppingAction( const G4Step * step ); + + private: + CexmcPhysicsManager * physicsManager; + + const G4LogicalVolume * targetVolume; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcStudiedPhysics.hh b/examples/advanced/ChargeExchangeMC/include/CexmcStudiedPhysics.hh new file mode 100644 index 0000000000..f4d1d4a35c --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcStudiedPhysics.hh @@ -0,0 +1,154 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcStudiedPhysics.hh + * + * Description: studied physics in the target + * + * Version: 1.0 + * Created: 18.10.2009 16:10:52 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_STUDIED_PHYSICS_HH +#define CEXMC_STUDIED_PHYSICS_HH + +#include +#include +#include +#include "CexmcStudiedProcess.hh" +#include "CexmcPhysicsManager.hh" +#include "CexmcProductionModel.hh" + +class G4VProcess; + + +template < typename Process > +class CexmcStudiedPhysics : public G4VPhysicsConstructor +{ + public: + explicit CexmcStudiedPhysics( CexmcPhysicsManager * physicsManager ); + + virtual ~CexmcStudiedPhysics(); + + public: + void ConstructParticle( void ); + + void ConstructProcess( void ); + + public: + CexmcProductionModel * GetProductionModel( void ); + + protected: + virtual void ApplyInteractionModel( G4VProcess * process ); + + protected: + CexmcPhysicsManager * physicsManager; + + CexmcProductionModel * productionModel; + + private: + G4bool wasActivated; +}; + + +template < typename Process > +CexmcStudiedPhysics< Process >::CexmcStudiedPhysics( + CexmcPhysicsManager * physicsManager ) : + G4VPhysicsConstructor( "studiedPhysics" ), physicsManager( physicsManager ), + productionModel( NULL ), wasActivated( false ) +{ +} + + +template < typename Process > +CexmcStudiedPhysics< Process >::~CexmcStudiedPhysics() +{ +} + + +template < typename Process > +void CexmcStudiedPhysics< Process >::ConstructParticle( void ) +{ + if ( productionModel ) + productionModel->GetIncidentParticle(); +} + + +template +void CexmcStudiedPhysics< Process >::ConstructProcess( void ) +{ + if ( wasActivated ) + return; + + wasActivated = true; + + Process * process( new Process ); + + CexmcStudiedProcess * studiedProcess( new CexmcStudiedProcess( + physicsManager, process->GetProcessType() ) ); + + ApplyInteractionModel( process ); + + studiedProcess->RegisterProcess( process ); + + G4ParticleDefinition * particle( NULL ); + + if ( productionModel ) + particle = productionModel->GetIncidentParticle(); + + if ( particle ) + { + G4ProcessManager * processManager( particle->GetProcessManager() ); + processManager->AddDiscreteProcess( studiedProcess ); + } +} + + +template < typename Process > +CexmcProductionModel * CexmcStudiedPhysics< Process >::GetProductionModel( + void ) +{ + return productionModel; +} + + +template < typename Process > +void CexmcStudiedPhysics< Process >::ApplyInteractionModel( G4VProcess * ) +{ +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcStudiedProcess.hh b/examples/advanced/ChargeExchangeMC/include/CexmcStudiedProcess.hh new file mode 100644 index 0000000000..53baa82920 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcStudiedProcess.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcStudiedProcess.hh + * + * Description: studied process in the target + * + * Version: 1.0 + * Created: 26.10.2009 20:41:43 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_STUDIED_PROCESS_HH +#define CEXMC_STUDIED_PROCESS_HH + +#include +#include + +class G4VParticleChange; +class CexmcPhysicsManager; + + +class CexmcStudiedProcess : public G4WrapperProcess +{ + public: + explicit CexmcStudiedProcess( CexmcPhysicsManager * physicsManager, + G4ProcessType processType = fUserDefined ); + + public: + G4double PostStepGetPhysicalInteractionLength( const G4Track & track, + G4double previousStepSize, G4ForceCondition * condition ); + + G4VParticleChange * PostStepDoIt( const G4Track & track, + const G4Step & step ); + + private: + CexmcPhysicsManager * physicsManager; +}; + + +#endif + diff --git a/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability01.hh b/examples/advanced/ChargeExchangeMC/include/CexmcTrackInfo.hh similarity index 56% rename from source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability01.hh rename to examples/advanced/ChargeExchangeMC/include/CexmcTrackInfo.hh index 6ed3d57876..9163c2a514 100644 --- a/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability01.hh +++ b/examples/advanced/ChargeExchangeMC/include/CexmcTrackInfo.hh @@ -23,48 +23,74 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// +/* + * ============================================================================= + * + * Filename: CexmcTrackInfo.hh + * + * Description: track info + * + * Version: 1.0 + * Created: 22.11.2009 18:42:40 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -#ifndef G4E1SingleProbability01_hh -#define G4E1SingleProbability01_hh +#ifndef CEXMC_TRACK_INFO_HH +#define CEXMC_TRACK_INFO_HH -#include "globals.hh" -#include "G4VEmissionProbability.hh" -#include "G4Fragment.hh" -#include "G4VLevelDensityParameter.hh" +#include +#include "CexmcCommon.hh" -class G4E1SingleProbability01 : public G4VEmissionProbability + +class CexmcTrackInfo : public G4VUserTrackInformation { + public: + explicit CexmcTrackInfo( CexmcTrackType trackType = CexmcInsipidTrack, + G4int copyNumber = 0 ); -public: + public: + void Print( void ) const; - G4E1SingleProbability01() {}; + public: + virtual G4int GetTypeInfo( void ) const; - ~G4E1SingleProbability01(); + public: + CexmcTrackType GetTrackType( void ) const; - G4double EmissionProbability(const G4Fragment& frag, const G4double excite); - G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton); + void SetTrackType( CexmcTrackType value ); -private: + G4int GetCopyNumber( void ) const; - // G4E1SingleProbability01() {}; - - G4E1SingleProbability01(const G4E1SingleProbability01& right); - - const G4E1SingleProbability01& operator=(const G4E1SingleProbability01& - right); - G4bool operator==(const G4E1SingleProbability01& right) const; - G4bool operator!=(const G4E1SingleProbability01& right) const; - - // Integrator (simple Gaussian quadrature) - - G4double EmissionIntegration(const G4Fragment& frag, const G4double excite, - const G4double lowLim, const G4double upLim, - const G4int numIters); - - // G4VLevelDensityParameter* _levelDensity; // Don't need this + private: + CexmcTrackType trackType; + G4int copyNumber; }; + +inline CexmcTrackType CexmcTrackInfo::GetTrackType( void ) const +{ + return trackType; +} + + +inline void CexmcTrackInfo::SetTrackType( CexmcTrackType value ) +{ + trackType = value; +} + + +inline G4int CexmcTrackInfo::GetCopyNumber( void ) const +{ + return copyNumber; +} + + #endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointInfo.hh b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointInfo.hh new file mode 100644 index 0000000000..e25789d7f6 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointInfo.hh @@ -0,0 +1,128 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcTrackPointInfo.hh + * + * Description: single track point information + * + * Version: 1.0 + * Created: 16.11.2009 12:51:50 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_TRACK_POINT_INFO_HH +#define CEXMC_TRACK_POINT_INFO_HH + +#include +#include +#include +#include +#include +#include +#include "CexmcCommon.hh" + + +struct CexmcTrackPointInfo +{ + CexmcTrackPointInfo() : trackId( CexmcInvalidTrackId ) + {} + + CexmcTrackPointInfo( const G4ThreeVector & positionLocal, + const G4ThreeVector & positionWorld, + const G4ThreeVector & directionLocal, + const G4ThreeVector & directionWorld, + G4double momentumAmp, + const G4ParticleDefinition * particle, + G4int trackId, CexmcTrackType trackType ) : + positionLocal( positionLocal ), positionWorld( positionWorld ), + directionLocal( directionLocal ), directionWorld( directionWorld ), + momentumAmp( momentumAmp ), particle( particle ), trackId( trackId ), + trackType( trackType ) + {} + + G4bool IsValid( void ) const + { + return trackId != CexmcInvalidTrackId; + } + + void * operator new( size_t size ); + + void operator delete( void * obj ); + + G4ThreeVector positionLocal; + + G4ThreeVector positionWorld; + + G4ThreeVector directionLocal; + + G4ThreeVector directionWorld; + + G4double momentumAmp; + + const G4ParticleDefinition * particle; + + G4int trackId; + + CexmcTrackType trackType; + + // following type cast operator is only needed by G4THitsMap template + // (in PrintAll()), it has no actual use here + operator G4double() + { + return 0; + } +}; + + +extern G4Allocator< CexmcTrackPointInfo > trackPointInfoAllocator; + + +inline void * CexmcTrackPointInfo::operator new( size_t ) +{ + return trackPointInfoAllocator.MallocSingle(); +} + + +inline void CexmcTrackPointInfo::operator delete( void * obj ) +{ + trackPointInfoAllocator.FreeSingle( + reinterpret_cast< CexmcTrackPointInfo * >( obj ) ); +} + + +std::ostream & operator<<( std::ostream & out, + const CexmcTrackPointInfo & trackPointInfo ); + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcTrackPoints.hh b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPoints.hh new file mode 100644 index 0000000000..ae2cc4adb0 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPoints.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcTrackPoints.hh + * + * Description: track points collection + * + * Version: 1.0 + * Created: 16.11.2009 12:41:54 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_TRACK_POINTS_HH +#define CEXMC_TRACK_POINTS_HH + +#include +#include +#include "CexmcTrackPointInfo.hh" + +class G4HCofThisEvent; +class G4Step; +class CexmcSensitiveDetectorMessenger; + + +typedef G4THitsMap< CexmcTrackPointInfo > CexmcTrackPointsCollection; + + +class CexmcTrackPoints : public G4VPrimitiveScorer +{ + public: + explicit CexmcTrackPoints( const G4String & name ); + + virtual ~CexmcTrackPoints(); + + public: + void Initialize( G4HCofThisEvent * hcOfThisEvent ); + + void EndOfEvent( G4HCofThisEvent * hcOfThisEvent ); + + void DrawAll( void ); + + void PrintAll( void ); + + void clear( void ); + + protected: + G4int GetTrackId( G4Step * step ); + + G4int GetIndex( G4Step * step ); + + G4bool ProcessHits( G4Step * step, G4TouchableHistory * tHistory ); + + protected: + CexmcTrackPointsCollection * eventMap; + + private: + CexmcSensitiveDetectorMessenger * messenger; + + G4int hcId; +}; + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsDigitizer.hh b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsDigitizer.hh new file mode 100644 index 0000000000..94d9f57c22 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsDigitizer.hh @@ -0,0 +1,189 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcTrackPointsDigitizer.hh + * + * Description: track points collector + * + * Version: 1.0 + * Created: 24.11.2009 16:09:59 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_TRACK_POINTS_DIGITIZER_HH +#define CEXMC_TRACK_POINTS_DIGITIZER_HH + +#include +#include "CexmcTrackPointInfo.hh" +#include "CexmcSetup.hh" + +class G4String; + + +class CexmcTrackPointsDigitizer : public G4VDigitizerModule +{ + public: + explicit CexmcTrackPointsDigitizer( const G4String & name ); + + public: + void Digitize( void ); + + public: + const CexmcTrackPointInfo & GetMonitorTP( void ) const; + + const CexmcTrackPointInfo & GetTargetTPBeamParticle( void ) const; + + const CexmcTrackPointInfo & GetTargetTPOutputParticle( void ) const; + + const CexmcTrackPointInfo & GetTargetTPNucleusParticle( void ) const; + + const CexmcTrackPointInfo & + GetTargetTPOutputParticleDecayProductParticle( + G4int index ) const; + + const CexmcTrackPointInfo & GetVetoCounterTPLeft( void ) const; + + const CexmcTrackPointInfo & GetVetoCounterTPRight( void ) const; + + const CexmcTrackPointInfo & GetCalorimeterTPLeft( void ) const; + + const CexmcTrackPointInfo & GetCalorimeterTPRight( void ) const; + + public: + G4bool HasTriggered( void ) const; + + private: + void InitializeData( void ); + + private: + CexmcTrackPointInfo monitorTP; + + CexmcTrackPointInfo targetTPBeamParticle; + + CexmcTrackPointInfo targetTPOutputParticle; + + CexmcTrackPointInfo targetTPNucleusParticle; + + CexmcTrackPointInfo targetTPOutputParticleDecayProductParticle[ 2 ]; + + CexmcTrackPointInfo vetoCounterTPLeft; + + CexmcTrackPointInfo vetoCounterTPRight; + + CexmcTrackPointInfo calorimeterTPLeft; + + CexmcTrackPointInfo calorimeterTPRight; + + G4bool hasTriggered; + + private: + CexmcSetup::CalorimeterGeometryData calorimeterGeometry; +}; + + +inline const CexmcTrackPointInfo & + CexmcTrackPointsDigitizer::GetMonitorTP( void ) const +{ + return monitorTP; +} + + +inline const CexmcTrackPointInfo & + CexmcTrackPointsDigitizer::GetTargetTPBeamParticle( void ) const +{ + return targetTPBeamParticle; +} + + +inline const CexmcTrackPointInfo & + CexmcTrackPointsDigitizer::GetTargetTPOutputParticle( void ) const +{ + return targetTPOutputParticle; +} + + +inline const CexmcTrackPointInfo & + CexmcTrackPointsDigitizer::GetTargetTPNucleusParticle( void ) const +{ + return targetTPNucleusParticle; +} + + +inline const CexmcTrackPointInfo & + CexmcTrackPointsDigitizer::GetTargetTPOutputParticleDecayProductParticle( + G4int index ) const +{ + if ( index == 1 ) + return targetTPOutputParticleDecayProductParticle[ 1 ]; + + return targetTPOutputParticleDecayProductParticle[ 0 ]; +} + + +inline const CexmcTrackPointInfo & + CexmcTrackPointsDigitizer::GetVetoCounterTPLeft( void ) const +{ + return vetoCounterTPLeft; +} + + +inline const CexmcTrackPointInfo & + CexmcTrackPointsDigitizer::GetVetoCounterTPRight( void ) const +{ + return vetoCounterTPRight; +} + + +inline const CexmcTrackPointInfo & + CexmcTrackPointsDigitizer::GetCalorimeterTPLeft( void ) const +{ + return calorimeterTPLeft; +} + + +inline const CexmcTrackPointInfo & + CexmcTrackPointsDigitizer::GetCalorimeterTPRight( void ) const +{ + return calorimeterTPRight; +} + + +inline G4bool CexmcTrackPointsDigitizer::HasTriggered( void ) const +{ + return hasTriggered; +} + + +#endif + diff --git a/examples/advanced/brachytherapy/include/BrachyEventAction.hh b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsFilter.hh similarity index 68% rename from examples/advanced/brachytherapy/include/BrachyEventAction.hh rename to examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsFilter.hh index ec8b2a58d7..eb946e58eb 100644 --- a/examples/advanced/brachytherapy/include/BrachyEventAction.hh +++ b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsFilter.hh @@ -23,40 +23,42 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: BrachyEventAction.hh,v 1.15 2006/06/29 15:47:28 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// Code developed by: -// S.Guatelli -// -// ********************************** -// * * -// * BrachyEventAction.hh * -// * * -// ********************************** +/* + * ============================================================================= + * + * Filename: CexmcTrackPointsFilter.hh + * + * Description: track points of interest + * + * Version: 1.0 + * Created: 16.11.2009 22:23:00 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -#ifndef BrachyEventAction_h -#define BrachyEventAction_h 1 +#ifndef CEXMC_TRACK_POINTS_FILTER_HH +#define CEXMC_TRACK_POINTS_FILTER_HH -#include "G4UserEventAction.hh" -#include "globals.hh" +#include -class BrachyEventAction : public G4UserEventAction +class G4String; +class G4Step; + + +class CexmcTrackPointsFilter : public G4VSDFilter { -public: - BrachyEventAction(); - ~BrachyEventAction(); + public: + explicit CexmcTrackPointsFilter( const G4String & name ); -public: - void BeginOfEventAction(const G4Event*); - void EndOfEventAction(const G4Event*); - -private: - G4String drawFlag; //Visualisation flag + public: + G4bool Accept( const G4Step * step ) const; }; + #endif - - diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsInCalorimeter.hh b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsInCalorimeter.hh new file mode 100644 index 0000000000..60973e69d6 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsInCalorimeter.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcTrackPointsInCalorimeter.hh + * + * Description: track points in calorimeter + * + * Version: 1.0 + * Created: 22.11.2009 21:57:15 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_TRACK_POINTS_IN_CALORIMETER_HH +#define CEXMC_TRACK_POINTS_IN_CALORIMETER_HH + +#include "CexmcTrackPointsInLeftRightSet.hh" + +class CexmcSetup; + + +class CexmcTrackPointsInCalorimeter : public CexmcTrackPointsInLeftRightSet +{ + public: + CexmcTrackPointsInCalorimeter( const G4String & name, + const CexmcSetup * setup ); + + public: + void PrintAll( void ); + + protected: + G4int GetIndex( G4Step * step ); + + public: + static G4int GetRow( G4int index ); + + static G4int GetColumn( G4int index ); + + static G4int GetCopyDepth0BitsOffset( void ); + + static G4int GetCopyDepth1BitsOffset( void ); + + protected: + static G4int copyDepth0BitsOffset; + + static G4int copyDepth1BitsOffset; +}; + + +inline G4int CexmcTrackPointsInCalorimeter::GetRow( G4int index ) +{ + index &= ( ( 1 << ( leftRightBitsOffset - 1 ) ) | + ( ( 1 << ( leftRightBitsOffset - 1 ) ) - 1 ) ); + return index >> copyDepth1BitsOffset; +} + + +inline G4int CexmcTrackPointsInCalorimeter::GetColumn( G4int index ) +{ + index &= ( ( 1 << ( copyDepth1BitsOffset - 1 ) ) | + ( ( 1 << ( copyDepth1BitsOffset - 1 ) ) - 1 ) ); + return index >> copyDepth0BitsOffset; +} + + +inline G4int CexmcTrackPointsInCalorimeter::GetCopyDepth0BitsOffset( void ) +{ + return copyDepth0BitsOffset; +} + + +inline G4int CexmcTrackPointsInCalorimeter::GetCopyDepth1BitsOffset( void ) +{ + return copyDepth1BitsOffset; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsInLeftRightSet.hh b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsInLeftRightSet.hh new file mode 100644 index 0000000000..0643954e1d --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsInLeftRightSet.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcTrackPointsInLeftRightSet.hh + * + * Description: track points in left/right detector sets + * (e.g. veto counters and calorimeters) + * + * Version: 1.0 + * Created: 22.11.2009 21:12:32 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_TRACK_POINTS_IN_LEFT_RIGHT_SET_HH +#define CEXMC_TRACK_POINTS_IN_LEFT_RIGHT_SET_HH + +#include "CexmcTrackPoints.hh" +#include "CexmcCommon.hh" + +class CexmcSetup; + + +class CexmcTrackPointsInLeftRightSet : public CexmcTrackPoints +{ + public: + CexmcTrackPointsInLeftRightSet( const G4String & name, + const CexmcSetup * setup ); + + public: + void PrintAll( void ); + + protected: + G4int GetIndex( G4Step * step ); + + protected: + const CexmcSetup * setup; + + public: + static CexmcSide GetSide( G4int index ); + + static G4int GetLeftRightBitsOffset( void ); + + protected: + static G4int leftRightBitsOffset; +}; + + +inline CexmcSide CexmcTrackPointsInLeftRightSet::GetSide( G4int index ) +{ + if ( index >> leftRightBitsOffset == 1 ) + return CexmcRight; + + return CexmcLeft; +} + + +inline G4int CexmcTrackPointsInLeftRightSet::GetLeftRightBitsOffset( void ) +{ + return leftRightBitsOffset; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsStore.hh b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsStore.hh new file mode 100644 index 0000000000..b9b90d8062 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcTrackPointsStore.hh @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcTrackPointsStore.hh + * + * Description: store const references of track points of interest + * + * Version: 1.0 + * Created: 25.11.2009 13:41:43 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_TRACK_POINTS_STORE_HH +#define CEXMC_TRACK_POINTS_STORE_HH + +#include +#include "CexmcTrackPointInfo.hh" + + +struct CexmcTrackPointsStore +{ + CexmcTrackPointsStore( const CexmcTrackPointInfo & monitorTP, + const CexmcTrackPointInfo & targetTPBeamParticle, + const CexmcTrackPointInfo & targetTPOutputParticle, + const CexmcTrackPointInfo & targetTPNucleusParticle, + const CexmcTrackPointInfo & targetTPOutputParticleDecayProductParticle1, + const CexmcTrackPointInfo & targetTPOutputParticleDecayProductParticle2, + const CexmcTrackPointInfo & vetoCounterTPLeft, + const CexmcTrackPointInfo & vetoCounterTPRight, + const CexmcTrackPointInfo & calorimeterTPLeft, + const CexmcTrackPointInfo & calorimeterTPRight ) : + monitorTP( monitorTP ), targetTPBeamParticle( targetTPBeamParticle ), + targetTPOutputParticle( targetTPOutputParticle ), + targetTPNucleusParticle( targetTPNucleusParticle ), + targetTPOutputParticleDecayProductParticle1 ( + targetTPOutputParticleDecayProductParticle1 ), + targetTPOutputParticleDecayProductParticle2( + targetTPOutputParticleDecayProductParticle2 ), + vetoCounterTPLeft( vetoCounterTPLeft ), + vetoCounterTPRight( vetoCounterTPRight ), + calorimeterTPLeft( calorimeterTPLeft ), + calorimeterTPRight( calorimeterTPRight ) + {} + + void * operator new( size_t size ); + + void operator delete( void * obj ); + + const CexmcTrackPointInfo & monitorTP; + + const CexmcTrackPointInfo & targetTPBeamParticle; + + const CexmcTrackPointInfo & targetTPOutputParticle; + + const CexmcTrackPointInfo & targetTPNucleusParticle; + + const CexmcTrackPointInfo & targetTPOutputParticleDecayProductParticle1; + + const CexmcTrackPointInfo & targetTPOutputParticleDecayProductParticle2; + + const CexmcTrackPointInfo & vetoCounterTPLeft; + + const CexmcTrackPointInfo & vetoCounterTPRight; + + const CexmcTrackPointInfo & calorimeterTPLeft; + + const CexmcTrackPointInfo & calorimeterTPRight; +}; + + +extern G4Allocator< CexmcTrackPointsStore > trackPointsStoreAllocator; + + +inline void * CexmcTrackPointsStore::operator new( size_t ) +{ + return trackPointsStoreAllocator.MallocSingle(); +} + + +inline void CexmcTrackPointsStore::operator delete( void * obj ) +{ + trackPointsStoreAllocator.FreeSingle( + reinterpret_cast< CexmcTrackPointsStore * >( obj ) ); +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/include/CexmcTrackingAction.hh b/examples/advanced/ChargeExchangeMC/include/CexmcTrackingAction.hh new file mode 100644 index 0000000000..578db42385 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/include/CexmcTrackingAction.hh @@ -0,0 +1,112 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcTrackingAction.hh + * + * Description: tracking action + * + * Version: 1.0 + * Created: 22.11.2009 17:08:27 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifndef CEXMC_TRACKING_ACTION_HH +#define CEXMC_TRACKING_ACTION_HH + +#include +#include "CexmcCommon.hh" + +class G4Track; +class G4LogicalVolume; +class G4ParticleDefinition; +class CexmcPhysicsManager; + + +class CexmcTrackingAction : public G4UserTrackingAction +{ + public: + explicit CexmcTrackingAction( CexmcPhysicsManager * physicsManager ); + + public: + void PreUserTrackingAction( const G4Track * track ); + + void BeginOfEventAction( void ); + + private: + void ResetOutputParticleTrackId( void ); + + void ResetOutputParticleDecayProductCopyNumber( void ); + + void SetupIncidentParticleTrackInfo( const G4Track * track ); + + private: + CexmcPhysicsManager * physicsManager; + + const G4LogicalVolume * targetVolume; + + G4int outputParticleTrackId; + + G4int outputParticleDecayProductCopyNumber; + + private: + G4ParticleDefinition * incidentParticle; + + G4ParticleDefinition * outputParticle; + + G4ParticleDefinition * nucleusOutputParticle; +}; + + +inline void CexmcTrackingAction::ResetOutputParticleTrackId( void ) +{ + outputParticleTrackId = CexmcInvalidTrackId; +} + + +inline void CexmcTrackingAction::ResetOutputParticleDecayProductCopyNumber( + void ) +{ + outputParticleDecayProductCopyNumber = 0; +} + + +inline void CexmcTrackingAction::BeginOfEventAction( void ) +{ + ResetOutputParticleTrackId(); + ResetOutputParticleDecayProductCopyNumber(); +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/init.mac b/examples/advanced/ChargeExchangeMC/init.mac new file mode 100644 index 0000000000..c12de8345e --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/init.mac @@ -0,0 +1,91 @@ +/control/verbose 1 +/run/verbose 1 +/event/verbose 0 +/hits/verbose 0 + +# here we define branching ratios of decay modes of eta meson +# 0 - gamma gamma (original 0.3942) +# 1 - pi0 pi0 pi0 (original 0.3256) +# 2 - pi0 pi+ pi- (original 0.226) +# 3 - gamma pi+ pi- (original 0.0468) +/particle/select eta +/particle/property/decay/select 0 +/particle/property/decay/br 1 +/particle/property/decay/select 1 +/particle/property/decay/br 0 +/particle/property/decay/select 2 +/particle/property/decay/br 0 +/particle/property/decay/select 3 +/particle/property/decay/br 0 +/particle/property/decay/dump + +#/run/setCutForRegion Calorimeter 1 mm + +#/cexmc/detector/Monitor/ED/verbose 1 +#/cexmc/detector/VetoCounter/ED/verbose 1 +#/cexmc/detector/Calorimeter/ED/verbose 1 +#/cexmc/detector/Target/TP/verbose 1 +#/cexmc/detector/Monitor/TP/verbose 1 +#/cexmc/detector/VetoCounter/TP/verbose 1 +#/cexmc/detector/Calorimeter/TP/verbose 1 + +/cexmc/detector/calorimeterTriggerAlgorithm inner + +/cexmc/detector/Monitor/ED/threshold 125 keV +/cexmc/detector/VetoCounter/ED/threshold 250 keV +/cexmc/detector/Calorimeter/ED/threshold 40 MeV + +/cexmc/detector/outerCrystalsVetoAlgorithm none +/cexmc/detector/outerCrystalsVetoFraction 0.5 + +/cexmc/detector/applyFiniteCrystalResolution true +/cexmc/detector/addCrystalResolutionRange 0. 0.04 0.48 +/cexmc/detector/addCrystalResolutionRange 0.04 0.06 0.27 +/cexmc/detector/addCrystalResolutionRange 0.06 0.10 0.22 +/cexmc/detector/addCrystalResolutionRange 0.10 0.20 0.18 +/cexmc/detector/addCrystalResolutionRange 0.20 2.00 0.15 + +/cexmc/gun/particle pi- +/cexmc/gun/position 0 0 -36 cm +/cexmc/gun/direction 0 0 1 +/cexmc/gun/momentumAmp 730 MeV +/cexmc/gun/fwhmPosX 3.0 cm +/cexmc/gun/fwhmPosY 3.5 cm +/cexmc/gun/fwhmDirX 1.12 deg +/cexmc/gun/fwhmDirY 1.35 deg +/cexmc/gun/fwhmMomentumAmp 0.015 + +/cexmc/physics/setMaxILCorrection 0 +/cexmc/physics/applyFermiMotionInTarget false +#/cexmc/physics/setAngularRange 0.1 -0.1 2 +#/cexmc/physics/addAngularRange 1.0 0.0 10 +#/cexmc/physics/addAngularRange -0.5 -0.8 2 +/cexmc/physics/setAngularRange 1.0 -1.0 10 + +/cexmc/reconstructor/entryPointDefinitionAlgo sqrt +/cexmc/reconstructor/crystalSelectionAlgo all +/cexmc/reconstructor/useInnerRefCrystal true +/cexmc/reconstructor/entryPointDepthDefinitionAlgo plain +/cexmc/reconstructor/entryPointDepth 0 cm +/cexmc/reconstructor/useTableMass false + +/cexmc/reconstructor/useMassCut false +/cexmc/reconstructor/mCutOPCenter 530 MeV +/cexmc/reconstructor/mCutNOPCenter 970 MeV +/cexmc/reconstructor/mCutOPWidth 10 MeV +/cexmc/reconstructor/mCutNOPWidth 30 MeV +/cexmc/reconstructor/mCutAngle 45 deg + +/cexmc/reconstructor/useAbsorbedEnergyCut false +/cexmc/reconstructor/aeCutCLCenter 310 MeV +/cexmc/reconstructor/aeCutCRCenter 310 MeV +/cexmc/reconstructor/aeCutCLWidth 100 MeV +/cexmc/reconstructor/aeCutCRWidth 180 MeV +/cexmc/reconstructor/aeCutAngle 45 deg + +/cexmc/run/eventCountPolicy trigger +/cexmc/run/eventDataVerboseLevel trigger +/cexmc/event/verbose 2 +/cexmc/vis/verbose 2 + +/cexmc/run/guiMacro mac/gui.mac diff --git a/examples/advanced/ChargeExchangeMC/lht.gdml b/examples/advanced/ChargeExchangeMC/lht.gdml new file mode 100644 index 0000000000..0811e01cdd --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/lht.gdml @@ -0,0 +1,623 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/ChargeExchangeMC/mac/gui.mac b/examples/advanced/ChargeExchangeMC/mac/gui.mac new file mode 100644 index 0000000000..3b106825bb --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/mac/gui.mac @@ -0,0 +1,15 @@ +/gui/addMenu run Run +/gui/addButton run "Collect all events" "/control/execute mac/setup_all_events.mac" +/gui/addButton run "Collect interaction events" "/control/execute mac/setup_interaction_events.mac" +/gui/addButton run "Collect trigger events" "/control/execute mac/setup_trigger_events.mac" +/gui/addButton run "Run 1 event" "/run/beamOn 1" +/gui/addButton run "Run 5 events" "/run/beamOn 5" +/gui/addButton run "Run 10 events" "/run/beamOn 10" +/gui/addButton run "Run 100 events" "/run/beamOn 100" + +/gui/addMenu viewer Viewer +/gui/addButton viewer "Draw world" "/control/execute mac/visQt.mac" +#/gui/addButton viewer "Draw world (OI)" "/control/execute mac/visOI.mac" +/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 "Update scene" "/vis/scene/notifyHandlers" diff --git a/examples/advanced/ChargeExchangeMC/mac/setup_all_events.mac b/examples/advanced/ChargeExchangeMC/mac/setup_all_events.mac new file mode 100644 index 0000000000..05f49e9521 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/mac/setup_all_events.mac @@ -0,0 +1,3 @@ +/cexmc/run/eventCountPolicy all +/cexmc/event/verbose 4 +/cexmc/vis/verbose 4 diff --git a/examples/advanced/ChargeExchangeMC/mac/setup_interaction_events.mac b/examples/advanced/ChargeExchangeMC/mac/setup_interaction_events.mac new file mode 100644 index 0000000000..108ae35d4d --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/mac/setup_interaction_events.mac @@ -0,0 +1,3 @@ +/cexmc/run/eventCountPolicy interaction +/cexmc/event/verbose 1 +/cexmc/vis/verbose 1 diff --git a/examples/advanced/ChargeExchangeMC/mac/setup_trigger_events.mac b/examples/advanced/ChargeExchangeMC/mac/setup_trigger_events.mac new file mode 100644 index 0000000000..34ed6451ea --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/mac/setup_trigger_events.mac @@ -0,0 +1,3 @@ +/cexmc/run/eventCountPolicy trigger +/cexmc/event/verbose 2 +/cexmc/vis/verbose 2 diff --git a/examples/advanced/ChargeExchangeMC/mac/visOI.mac b/examples/advanced/ChargeExchangeMC/mac/visOI.mac new file mode 100644 index 0000000000..ae8b03b7d4 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/mac/visOI.mac @@ -0,0 +1,41 @@ +################################################### +# Visualization of detector geometry and events +################################################### + +/tracking/storeTrajectory 1 +/tracking/verbose 0 + +/vis/scene/create +/vis/scene/add/volume WorldVisible + +# Create a scene handler for a specific graphics system +/vis/open OIX 600x600-0+0 + +# draw scene +/vis/viewer/zoom 1.4 +/vis/viewer/set/viewpointThetaPhi 90 90 deg +/vis/viewer/set/style wireframe +/vis/viewer/set/hiddenMarker false + +/vis/geometry/set/visibility all -1 true +/vis/geometry/set/colour vMonitor -1 0.4 1.0 0.6 +/vis/geometry/set/colour vMonitorBack -1 0.4 1.0 0.6 +/vis/geometry/set/colour vTargetInnerCover -1 0.4 1.0 0.6 + +/vis/modeling/trajectories/create/drawByParticleID +/vis/modeling/trajectories/select drawByParticleID-0 +/vis/modeling/trajectories/drawByParticleID-0/setRGBA gamma 0.8 0.8 1.0 1 +/vis/modeling/trajectories/drawByParticleID-0/setRGBA neutron 0.5 0.5 0.2 1 +/vis/modeling/trajectories/drawByParticleID-0/setRGBA pi- 1.0 0.0 0.0 1 +/vis/modeling/trajectories/drawByParticleID-0/setRGBA e- 0.3 0.3 0.8 1 +/vis/modeling/trajectories/drawByParticleID-0/setRGBA e+ 0.8 0.3 0.3 1 + +#/vis/scene/add/trajectories +#/vis/scene/add/hits +#/vis/scene/add/axes + +/cexmc/vis/drawTrajMarkers false + +/vis/viewer/flush + +/vis/scene/endOfEventAction accumulate 10 diff --git a/examples/advanced/ChargeExchangeMC/mac/visQt.mac b/examples/advanced/ChargeExchangeMC/mac/visQt.mac new file mode 100644 index 0000000000..9be4b3e1f9 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/mac/visQt.mac @@ -0,0 +1,59 @@ +################################################### +# Visualization of detector geometry and events +################################################### + +/tracking/storeTrajectory 1 +/tracking/verbose 0 + +/vis/scene/create +/vis/scene/add/volume WorldVisible + +# Create a scene handler for Qt OpenGL graphics +/vis/open OGLSQt 600x600-0+0 +/vis/ogl/set/transparency true + +# draw scene +/vis/viewer/zoom 2.0 +/vis/viewer/set/viewpointThetaPhi 60 45 deg +/vis/viewer/set/style surface +/vis/viewer/set/culling density +/vis/viewer/set/edge true +/vis/viewer/set/auxiliaryEdge false +/vis/viewer/set/lightsMove cam +/vis/viewer/set/hiddenMarker false + +/vis/geometry/set/forceWireframe vWorldVisible 0 true +/vis/geometry/set/forceWireframe vCalorimeter 0 true +/vis/geometry/set/forceWireframe vCrystalRow 0 true +/vis/geometry/set/colour all 0 ! ! ! 0.5 +/vis/geometry/set/colour vCrystal 0 0.9 0.7 0.7 0.2 +/vis/geometry/set/colour vMonitor -1 0.4 1.0 0.6 0.2 +/vis/geometry/set/colour vVetoCounter 0 0.4 1.0 0.6 0.2 +/vis/geometry/set/colour vMonitorBack -1 0.4 1.0 0.6 0.0 +/vis/geometry/set/colour vTargetOuterCover -1 0.2 0.8 0.6 0.2 +/vis/geometry/set/colour vTarget 0 0.4 1.0 0.6 0.2 +/vis/geometry/set/colour vInnerCuprumRing 0 0.8 0.5 0.0 0.3 +/vis/geometry/set/colour vTargetColumn 0 0.8 0.7 0.7 0.5 +/vis/geometry/set/colour vTargetInnerColumn 0 0.8 0.7 0.7 0.5 +/vis/geometry/set/colour vOuterFerrumRing 0 0.8 0.7 0.7 0.5 +/vis/geometry/set/colour vInnerFerrumRing 0 0.8 0.7 0.7 0.5 +/vis/geometry/set/colour vTargetWindow 0 0.8 0.7 0.7 0.5 +/vis/geometry/set/colour vTargetWindowCap 0 0.8 0.7 0.7 0.5 + +/vis/modeling/trajectories/create/drawByParticleID +/vis/modeling/trajectories/select drawByParticleID-0 +/vis/modeling/trajectories/drawByParticleID-0/setRGBA gamma 0.8 0.8 1.0 1 +/vis/modeling/trajectories/drawByParticleID-0/setRGBA neutron 0.5 0.5 0.2 1 +/vis/modeling/trajectories/drawByParticleID-0/setRGBA pi- 1.0 0.0 0.0 1 +/vis/modeling/trajectories/drawByParticleID-0/setRGBA e- 0.3 0.3 0.8 1 +/vis/modeling/trajectories/drawByParticleID-0/setRGBA e+ 0.8 0.3 0.3 1 + +#/vis/scene/add/trajectories +#/vis/scene/add/hits +#/vis/scene/add/axes + +/cexmc/vis/drawTrajMarkers false + +/vis/viewer/flush + +/vis/scene/endOfEventAction accumulate 10 diff --git a/examples/advanced/ChargeExchangeMC/preinit.mac b/examples/advanced/ChargeExchangeMC/preinit.mac new file mode 100644 index 0000000000..5991df61bc --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/preinit.mac @@ -0,0 +1,7 @@ +# specify gdml file and production model here. +# do not set gun parameters or anything else. + +/cexmc/geometry/gdmlFile lht.gdml +/cexmc/geometry/validateGdmlFile + +/cexmc/physics/productionModel eta diff --git a/examples/advanced/ChargeExchangeMC/replay.mac b/examples/advanced/ChargeExchangeMC/replay.mac new file mode 100644 index 0000000000..0996777bf8 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/replay.mac @@ -0,0 +1,5 @@ +/control/verbose 1 + +/cexmc/run/skipInteractionsWithoutEDT true + +/cexmc/run/replay diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcAST.cc b/examples/advanced/ChargeExchangeMC/src/CexmcAST.cc new file mode 100644 index 0000000000..75ceacb6c3 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcAST.cc @@ -0,0 +1,430 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcAST.cc + * + * Description: abstract syntax tree for custom filter scripting language + * + * Version: 1.0 + * Created: 17.07.2010 14:45:14 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifdef CEXMC_USE_CUSTOM_FILTER + +#include +#include +#include +#include +#include +#include +#include "CexmcAST.hh" +#include "CexmcException.hh" + + +namespace CexmcAST +{ + void Subtree::Print( int level ) const + { + static const std::string opId[] = + { "UNINITIALIZED", "TOP", "u -", "!", "*", "/", "+", "-", "<", "<=", + ">", ">=", "=", "!=", "&", "|" }; + + std::stringstream value; + const Operator * op( boost::get< Operator >( &type ) ); + + if ( op ) + { + value << "-op- " << opId[ op->type ]; + } + else + { + const Function * fun( boost::get< Function >( &type ) ); + value << "-fun- " << *fun; + } + + std::stringstream format; + format << "%|" << level * printIndent << "t|"; + std::cout << boost::format( format.str() ) << value.str() << std::endl; + + for ( std::vector< Node >::const_iterator k( children.begin() ); + k != children.end(); ++k ) + { + const Subtree * subtree( boost::get< Subtree >( &*k ) ); + + if ( subtree ) + { + subtree->Print( level + 1 ); + } + else + { + const Leaf * leaf( boost::get< Leaf >( &*k ) ); + if ( leaf ) + PrintLeaf( leaf, level + 1 ); + } + } + } + + + void Subtree::PrintLeaf( const Leaf * leaf, int level ) const + { + const Variable * variable( NULL ); + std::stringstream value; + + if ( ( variable = boost::get< Variable >( leaf ) ) ) + { + value << variable->name; + if ( variable->index1 > 0 ) + { + value << "[" << variable->index1; + if ( variable->index2 > 0 ) + value << "," << variable->index2; + value << "]"; + } + } + else + { + const Constant * constant( boost::get< Constant >( leaf ) ); + const int * intConstant( boost::get< int >( constant ) ); + const double * doubleConstant( boost::get< double >( + constant ) ); + + value << ( intConstant ? *intConstant : *doubleConstant ); + } + + std::stringstream format; + format << "%|" << level * printIndent << "t|"; + std::cout << boost::format( format.str() ) << value.str() << std::endl; + } + + + BasicEval::~BasicEval() + { + } + + + bool BasicEval::operator()( const Subtree & ast ) const + { + ScalarValueType retval( GetScalarValue( ast ) ); + int * intRetval( NULL ); + double * doubleRetval( NULL ); + + intRetval = boost::get< int >( &retval ); + + if ( ! intRetval ) + doubleRetval = boost::get< double >( &retval ); + + return doubleRetval ? bool( *doubleRetval ) : bool( *intRetval ); + } + + + BasicEval::ScalarValueType BasicEval::GetScalarValue( + const Node & node ) const + { + const Subtree * ast( boost::get< Subtree >( &node ) ); + + if ( ast ) + { + const Operator * op( boost::get< Operator >( &ast->type ) ); + if ( op ) + { + ScalarValueType left( 0 ); + ScalarValueType right( 0 ); + int * intLeft( NULL ); + double * doubleLeft( NULL ); + int * intRight( NULL ); + double * doubleRight( NULL ); + bool isDoubleRetval( false ); + + if ( ast->children.size() > 0 ) + { + left = GetScalarValue( ast->children[ 0 ] ); + intLeft = boost::get< int >( &left ); + if ( ! intLeft ) + { + doubleLeft = boost::get< double >( &left ); + if ( ! doubleLeft ) + throw CexmcException( CexmcCFUnexpectedContext ); + } + } + + switch ( op->type ) + { + case And : + case Or : + break; + default : + if ( ast->children.size() > 1 ) + { + right = GetScalarValue( ast->children[ 1 ] ); + intRight = boost::get< int >( &right ); + if ( ! intRight ) + { + doubleRight = boost::get< double >( &right ); + if ( ! doubleRight ) + throw CexmcException( + CexmcCFUnexpectedContext ); + } + } + isDoubleRetval = doubleLeft || doubleRight; + break; + } + + switch ( op->type ) + { + case Uninitialized : + return 1; + case Top : + return left; + case UMinus : + if ( doubleLeft ) + return - *doubleLeft; + else + return - *intLeft; + case Not : + if ( doubleLeft ) + return ! *doubleLeft; + else + return ! *intLeft; + case Mult : + if ( isDoubleRetval ) + return ( doubleLeft ? *doubleLeft : *intLeft ) * + ( doubleRight ? *doubleRight : *intRight ); + else + return *intLeft * *intRight; + case Div : + if ( isDoubleRetval ) + return ( doubleLeft ? *doubleLeft : *intLeft ) / + ( doubleRight ? *doubleRight : *intRight ); + else + return *intLeft / *intRight; + case Plus : + if ( isDoubleRetval ) + return ( doubleLeft ? *doubleLeft : *intLeft ) + + ( doubleRight ? *doubleRight : *intRight ); + else + return *intLeft + *intRight; + case Minus : + if ( isDoubleRetval ) + return ( doubleLeft ? *doubleLeft : *intLeft ) - + ( doubleRight ? *doubleRight : *intRight ); + else + return *intLeft - *intRight; + case Less : + if ( isDoubleRetval ) + return ( doubleLeft ? *doubleLeft : *intLeft ) < + ( doubleRight ? *doubleRight : *intRight ); + else + return *intLeft < *intRight; + case LessEq : + if ( isDoubleRetval ) + return ( doubleLeft ? *doubleLeft : *intLeft ) <= + ( doubleRight ? *doubleRight : *intRight ); + else + return *intLeft <= *intRight; + case More : + if ( isDoubleRetval ) + return ( doubleLeft ? *doubleLeft : *intLeft ) > + ( doubleRight ? *doubleRight : *intRight ); + else + return *intLeft > *intRight; + case MoreEq : + if ( isDoubleRetval ) + return ( doubleLeft ? *doubleLeft : *intLeft ) >= + ( doubleRight ? *doubleRight : *intRight ); + else + return *intLeft >= *intRight; + case Eq : + if ( isDoubleRetval ) + return ( doubleLeft ? *doubleLeft : *intLeft ) == + ( doubleRight ? *doubleRight : *intRight ); + else + return *intLeft == *intRight; + case NotEq : + if ( isDoubleRetval ) + return ( doubleLeft ? *doubleLeft : *intLeft ) != + ( doubleRight ? *doubleRight : *intRight ); + else + return *intLeft != *intRight; + case And : + if ( doubleLeft ) + { + if ( ! *doubleLeft ) + return 0; + } + else + { + if ( ! *intLeft ) + return 0; + } + right = GetScalarValue( ast->children[ 1 ] ); + intRight = boost::get< int >( &right ); + if ( ! intRight ) + { + doubleRight = boost::get< double >( &right ); + if ( ! doubleRight ) + throw CexmcException( CexmcCFUnexpectedContext ); + } + if ( doubleRight ) + { + if ( *doubleRight ) + return 1; + } + else + { + if ( *intRight ) + return 1; + } + return 0; + case Or : + if ( doubleLeft ) + { + if ( *doubleLeft ) + return 1; + } + else + { + if ( *intLeft ) + return 1; + } + right = GetScalarValue( ast->children[ 1 ] ); + intRight = boost::get< int >( &right ); + if ( ! intRight ) + { + doubleRight = boost::get< double >( &right ); + if ( ! doubleRight ) + throw CexmcException( CexmcCFUnexpectedContext ); + } + if ( doubleRight ) + { + if ( *doubleRight ) + return 1; + } + else + { + if ( *intRight ) + return 1; + } + return 0; + default : + return 0; + } + } + else + { + return GetFunScalarValue( *ast ); + } + } + else + { + const Leaf & leaf( boost::get< Leaf >( node ) ); + const Constant * constant( boost::get< Constant >( &leaf ) ); + + if ( constant ) + { + return *constant; + } + else + { + const Variable & variable( boost::get< Variable >( leaf ) ); + return GetVarScalarValue( variable ); + } + } + + return 0; + } + + + BasicEval::ScalarValueType BasicEval::GetFunScalarValue( + const Subtree & ast ) const + { + bool evalResult( false ); + ScalarValueType result( GetBasicFunScalarValue( ast, evalResult ) ); + + if ( evalResult ) + return result; + + throw CexmcException( CexmcCFUnexpectedFunction ); + + return 0; + } + + + BasicEval::ScalarValueType BasicEval::GetVarScalarValue( + const Variable & ) const + { + throw CexmcException( CexmcCFUnexpectedVariable ); + + return 0; + } + + + BasicEval::ScalarValueType BasicEval::GetBasicFunScalarValue( + const Subtree & ast, bool & result ) const + { + const Function & fun( boost::get< Function >( ast.type ) ); + + result = true; + + ScalarValueType arg( GetScalarValue( ast.children[ 0 ] ) ); + int * intArg( NULL ); + double * doubleArg( NULL ); + + intArg = boost::get< int >( &arg ); + if ( ! intArg ) + doubleArg = boost::get< double >( &arg ); + + if ( fun == "Sqr" ) + { + if ( doubleArg ) + return *doubleArg * *doubleArg; + else + return *intArg * *intArg; + } + if ( fun == "Sqrt" ) + { + if ( doubleArg ) + return std::sqrt( *doubleArg ); + else + return std::sqrt( *intArg ); + } + + result = false; + + return 0; + } +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcASTEval.cc b/examples/advanced/ChargeExchangeMC/src/CexmcASTEval.cc new file mode 100644 index 0000000000..2a073d1a8a --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcASTEval.cc @@ -0,0 +1,965 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcASTEval.cc + * + * Description: abstract syntax tree for custom filter eval + * + * Version: 1.0 + * Created: 17.07.2010 15:46:01 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifdef CEXMC_USE_CUSTOM_FILTER + +#include +#include +#include "CexmcASTEval.hh" + + +namespace +{ + const std::string CexmcCFVarEvent( "event" ); + const std::string CexmcCFVarOpCosThetaSCM( "op_cosTh_SCM" ); + const std::string CexmcCFVarEDT( "edt" ); + const std::string CexmcCFVarTPT( "tpt" ); + const std::string CexmcCFVarMon( "mon" ); + const std::string CexmcCFVarMonED( "monED" ); + const std::string CexmcCFVarVclED( "vclED" ); + const std::string CexmcCFVarVcrED( "vcrED" ); + const std::string CexmcCFVarClED( "clED" ); + const std::string CexmcCFVarCrED( "crED" ); + const std::string CexmcCFVarClEDCol( "clEDcol" ); + const std::string CexmcCFVarCrEDCol( "crEDcol" ); + const std::string CexmcCFVarBpMonPosL( "bp_mon_posl" ); + const std::string CexmcCFVarBpMonPosW( "bp_mon_posw" ); + const std::string CexmcCFVarBpMonDirL( "bp_mon_dirl" ); + const std::string CexmcCFVarBpMonDirW( "bp_mon_dirw" ); + const std::string CexmcCFVarBpMonMom( "bp_mon_mom" ); + const std::string CexmcCFVarBpMonTid( "bp_mon_tid" ); + const std::string CexmcCFVarBpTgtPosL( "bp_tgt_posl" ); + const std::string CexmcCFVarBpTgtPosW( "bp_tgt_posw" ); + const std::string CexmcCFVarBpTgtDirL( "bp_tgt_dirl" ); + const std::string CexmcCFVarBpTgtDirW( "bp_tgt_dirw" ); + const std::string CexmcCFVarBpTgtMom( "bp_tgt_mom" ); + const std::string CexmcCFVarBpTgtTid( "bp_tgt_tid" ); + const std::string CexmcCFVarOpTgtPosL( "op_tgt_posl" ); + const std::string CexmcCFVarOpTgtPosW( "op_tgt_posw" ); + const std::string CexmcCFVarOpTgtDirL( "op_tgt_dirl" ); + const std::string CexmcCFVarOpTgtDirW( "op_tgt_dirw" ); + const std::string CexmcCFVarOpTgtMom( "op_tgt_mom" ); + const std::string CexmcCFVarOpTgtTid( "op_tgt_tid" ); + const std::string CexmcCFVarNpTgtPosL( "np_tgt_posl" ); + const std::string CexmcCFVarNpTgtPosW( "np_tgt_posw" ); + const std::string CexmcCFVarNpTgtDirL( "np_tgt_dirl" ); + const std::string CexmcCFVarNpTgtDirW( "np_tgt_dirw" ); + const std::string CexmcCFVarNpTgtMom( "np_tgt_mom" ); + const std::string CexmcCFVarNpTgtTid( "np_tgt_tid" ); + const std::string CexmcCFVarOpdp1TgtPosL( "opdp1_tgt_posl" ); + const std::string CexmcCFVarOpdp1TgtPosW( "opdp1_tgt_posw" ); + const std::string CexmcCFVarOpdp1TgtDirL( "opdp1_tgt_dirl" ); + const std::string CexmcCFVarOpdp1TgtDirW( "opdp1_tgt_dirw" ); + const std::string CexmcCFVarOpdp1TgtMom( "opdp1_tgt_mom" ); + const std::string CexmcCFVarOpdp1TgtTid( "opdp1_tgt_tid" ); + const std::string CexmcCFVarOpdp2TgtPosL( "opdp2_tgt_posl" ); + const std::string CexmcCFVarOpdp2TgtPosW( "opdp2_tgt_posw" ); + const std::string CexmcCFVarOpdp2TgtDirL( "opdp2_tgt_dirl" ); + const std::string CexmcCFVarOpdp2TgtDirW( "opdp2_tgt_dirw" ); + const std::string CexmcCFVarOpdp2TgtMom( "opdp2_tgt_mom" ); + const std::string CexmcCFVarOpdp2TgtTid( "opdp2_tgt_tid" ); + const std::string CexmcCFVarOpdpVclPosL( "opdp_vcl_posl" ); + const std::string CexmcCFVarOpdpVclPosW( "opdp_vcl_posw" ); + const std::string CexmcCFVarOpdpVclDirL( "opdp_vcl_dirl" ); + const std::string CexmcCFVarOpdpVclDirW( "opdp_vcl_dirw" ); + const std::string CexmcCFVarOpdpVclMom( "opdp_vcl_mom" ); + const std::string CexmcCFVarOpdpVclTid( "opdp_vcl_tid" ); + const std::string CexmcCFVarOpdpVcrPosL( "opdp_vcr_posl" ); + const std::string CexmcCFVarOpdpVcrPosW( "opdp_vcr_posw" ); + const std::string CexmcCFVarOpdpVcrDirL( "opdp_vcr_dirl" ); + const std::string CexmcCFVarOpdpVcrDirW( "opdp_vcr_dirw" ); + const std::string CexmcCFVarOpdpVcrMom( "opdp_vcr_mom" ); + const std::string CexmcCFVarOpdpVcrTid( "opdp_vcr_tid" ); + const std::string CexmcCFVarOpdpClPosL( "opdp_cl_posl" ); + const std::string CexmcCFVarOpdpClPosW( "opdp_cl_posw" ); + const std::string CexmcCFVarOpdpClDirL( "opdp_cl_dirl" ); + const std::string CexmcCFVarOpdpClDirW( "opdp_cl_dirw" ); + const std::string CexmcCFVarOpdpClMom( "opdp_cl_mom" ); + const std::string CexmcCFVarOpdpClTid( "opdp_cl_tid" ); + const std::string CexmcCFVarOpdpCrPosL( "opdp_cr_posl" ); + const std::string CexmcCFVarOpdpCrPosW( "opdp_cr_posw" ); + const std::string CexmcCFVarOpdpCrDirL( "opdp_cr_dirl" ); + const std::string CexmcCFVarOpdpCrDirW( "opdp_cr_dirw" ); + const std::string CexmcCFVarOpdpCrMom( "opdp_cr_mom" ); + const std::string CexmcCFVarOpdpCrTid( "opdp_cr_tid" ); + const std::string CexmcCFVarIpSCM( "ipSCM" ); + const std::string CexmcCFVarIpLAB( "ipLAB" ); + const std::string CexmcCFVarNpSCM( "npSCM" ); + const std::string CexmcCFVarNpLAB( "npLAB" ); + const std::string CexmcCFVarOpSCM( "opSCM" ); + const std::string CexmcCFVarOpLAB( "opLAB" ); + const std::string CexmcCFVarNopSCM( "nopSCM" ); + const std::string CexmcCFVarNopLAB( "nopLAB" ); + const std::string CexmcCFVarIpId( "ipId" ); + const std::string CexmcCFVarNpId( "npId" ); + const std::string CexmcCFVarOpId( "opId" ); + const std::string CexmcCFVarNopId( "nopId" ); + const std::string CexmcCFVarConst_eV( "eV" ); + const std::string CexmcCFVarConst_keV( "keV" ); + const std::string CexmcCFVarConst_MeV( "MeV" ); + const std::string CexmcCFVarConst_GeV( "GeV" ); + const std::string CexmcCFVarConst_mm( "mm" ); + const std::string CexmcCFVarConst_cm( "cm" ); + const std::string CexmcCFVarConst_m( "m" ); +} + + +const G4double CexmcASTEval::constants[] = { eV, keV, MeV, GeV, mm, cm, m }; + + +CexmcASTEval::CexmcASTEval( const CexmcEventFastSObject * evFastSObject, + const CexmcEventSObject * evSObject ) : + evFastSObject( evFastSObject ), evSObject( evSObject ) +{ +} + + +CexmcAST::BasicEval::ScalarValueType CexmcASTEval::GetFunScalarValue( + const CexmcAST::Subtree & ast ) const +{ + const CexmcAST::Function & fun( boost::get< CexmcAST::Function >( + ast.type ) ); + + if ( fun == "Sum" ) + { + CexmcEnergyDepositCalorimeterCollection edCol; + GetEDCollectionValue( ast.children[ 0 ], edCol ); + + G4double result( 0. ); + + for ( CexmcEnergyDepositCalorimeterCollection::iterator + k( edCol.begin() ); k != edCol.end(); ++k ) + { + result += std::accumulate( k->begin(), k->end(), G4double( 0. ) ); + } + + return result; + } + + bool evalResult( false ); + ScalarValueType result( GetBasicFunScalarValue( ast, evalResult ) ); + + if ( evalResult ) + return result; + + throw CexmcException( CexmcCFUnexpectedFunction ); + + return 0; +} + + +CexmcAST::BasicEval::ScalarValueType CexmcASTEval::GetVarScalarValue( + const CexmcAST::Variable & var ) const +{ + if ( evFastSObject == NULL || evSObject == NULL ) + throw CexmcException( CexmcCFUninitialized ); + + /* Variables with initialized address */ + + /* bound to CexmcAST::Variable:addr */ + + const double * const * addr( boost::get< const double * >( &var.addr ) ); + + if ( addr ) + { + if ( *addr ) + return **addr; + } + else + { + const int * const & addr( boost::get< const int * >( var.addr ) ); + + if ( addr ) + return *addr; + } + + /* found in varAddrMap */ + + VarAddrMap::const_iterator found( varAddrMap.find( var.name ) ); + + if ( found != varAddrMap.end() ) + { + const CexmcEnergyDepositCalorimeterCollection * const * addr( + boost::get< const CexmcEnergyDepositCalorimeterCollection * >( + &found->second ) ); + if ( addr ) + { + if ( *addr ) + { + if ( ( *addr )->size() == 0 ) + throw CexmcException( CexmcCFUninitializedVector ); + if ( var.index1 == 0 || var.index2 == 0 ) + throw CexmcException( CexmcCFUnexpectedVectorIndex ); + return ( *addr )->at( var.index1 - 1 ).at( var.index2 - 1 ); + } + } + else + { + const bool * const & addr( boost::get< const bool * >( + found->second ) ); + if ( addr ) + return int( *addr ); + } + } + + /* Variables without address */ + + if ( var.name == CexmcCFVarTPT ) + { + return int( evSObject->targetTPOutputParticle.trackId != + CexmcInvalidTrackId ); + } + + throw CexmcException( CexmcCFUnexpectedVariable ); + + return 0; +} + + +void CexmcASTEval::GetEDCollectionValue( const CexmcAST::Node & node, + CexmcEnergyDepositCalorimeterCollection & edCol ) const +{ + if ( evSObject == NULL ) + throw CexmcException( CexmcCFUninitialized ); + + const CexmcAST::Subtree * ast( boost::get< CexmcAST::Subtree >( &node ) ); + + if ( ast ) + { + const CexmcAST::Function & fun( boost::get< CexmcAST::Function >( + ast->type ) ); + + if ( fun == "Inner" ) + { + GetEDCollectionValue( ast->children[ 0 ], edCol ); + edCol.pop_back(); + edCol.erase( edCol.begin() ); + for ( CexmcEnergyDepositCalorimeterCollection::iterator + k( edCol.begin() ); k != edCol.end(); ++k ) + { + k->pop_back(); + k->erase( k->begin() ); + } + return; + } + if ( fun == "Outer" ) + { + GetEDCollectionValue( ast->children[ 0 ], edCol ); + if ( edCol.size() < 3 ) + return; + for ( CexmcEnergyDepositCalorimeterCollection::iterator + k( edCol.begin() + 1 ); k != edCol.end() - 1; ++k ) + { + if ( k->size() < 3 ) + continue; + k->erase( k->begin() + 1, k->end() - 1 ); + } + return; + } + } + else + { + const CexmcAST::Leaf & leaf( boost::get< CexmcAST::Leaf >( + node ) ); + const CexmcAST::Variable & var( boost::get< CexmcAST::Variable >( + leaf ) ); + + if ( var.index1 != 0 || var.index2 != 0 ) + throw CexmcException( CexmcCFUnexpectedVariableUsage ); + + VarAddrMap::const_iterator found( varAddrMap.find( var.name ) ); + + if ( found == varAddrMap.end() ) + throw CexmcException( CexmcCFUnexpectedVariable ); + + const CexmcEnergyDepositCalorimeterCollection * const * addr( + boost::get< const CexmcEnergyDepositCalorimeterCollection * >( + &found->second ) ); + if ( ! addr ) + { + throw CexmcException( CexmcCFUnexpectedVariableUsage ); + } + else + { + if ( *addr ) + edCol = **addr; + return; + } + } +} + + +void CexmcASTEval::BindAddresses( CexmcAST::Subtree & ast ) +{ + if ( evFastSObject == NULL || evSObject == NULL ) + return; + + for ( std::vector< CexmcAST::Node >::iterator k( ast.children.begin() ); + k != ast.children.end(); ++k ) + { + CexmcAST::Subtree * subtree( boost::get< CexmcAST::Subtree >( &*k ) ); + + if ( subtree ) + { + BindAddresses( *subtree ); + } + else + { + CexmcAST::Leaf & leaf( boost::get< CexmcAST::Leaf >( *k ) ); + CexmcAST::Variable * var( boost::get< CexmcAST::Variable >( + &leaf ) ); + if ( ! var ) + continue; + + const int * const * intVarAddr( + boost::get< const int * >( &var->addr ) ); + if ( intVarAddr ) + { + if ( *intVarAddr ) + continue; + } + else + { + const double * const & doubleVarAddr( + boost::get< const double * >( var->addr ) ); + if ( doubleVarAddr ) + continue; + } + + VarAddrMap::const_iterator found( varAddrMap.find( var->name ) ); + + if ( found != varAddrMap.end() ) + continue; + + do + { + if ( var->name == CexmcCFVarEvent ) + { + var->addr = &evFastSObject->eventId; + break; + } + if ( var->name == CexmcCFVarOpCosThetaSCM ) + { + var->addr = &evFastSObject->opCosThetaSCM; + break; + } + if ( var->name == CexmcCFVarEDT ) + { + varAddrMap.insert( VarAddrMapData( var->name, + &evFastSObject->edDigitizerHasTriggered ) ); + break; + } + if ( var->name == CexmcCFVarMon ) + { + varAddrMap.insert( VarAddrMapData( var->name, + &evFastSObject->edDigitizerMonitorHasTriggered ) ); + break; + } + if ( var->name == CexmcCFVarMonED ) + { + var->addr = &evSObject->monitorED; + break; + } + if ( var->name == CexmcCFVarVclED ) + { + var->addr = &evSObject->vetoCounterEDLeft; + break; + } + if ( var->name == CexmcCFVarVcrED ) + { + var->addr = &evSObject->vetoCounterEDRight; + break; + } + if ( var->name == CexmcCFVarClED ) + { + var->addr = &evSObject->calorimeterEDLeft; + break; + } + if ( var->name == CexmcCFVarCrED ) + { + var->addr = &evSObject->calorimeterEDRight; + break; + } + if ( var->name == CexmcCFVarClEDCol ) + { + varAddrMap.insert( VarAddrMapData( var->name, + &evSObject->calorimeterEDLeftCollection ) ); + break; + } + if ( var->name == CexmcCFVarCrEDCol ) + { + varAddrMap.insert( VarAddrMapData( var->name, + &evSObject->calorimeterEDRightCollection ) ); + break; + } + if ( var->name == CexmcCFVarBpMonPosL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->monitorTP.positionLocal, var->index1 ); + break; + } + if ( var->name == CexmcCFVarBpMonPosW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->monitorTP.positionWorld, var->index1 ); + break; + } + if ( var->name == CexmcCFVarBpMonDirL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->monitorTP.directionLocal, var->index1 ); + break; + } + if ( var->name == CexmcCFVarBpMonDirW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->monitorTP.directionWorld, var->index1 ); + break; + } + if ( var->name == CexmcCFVarBpMonMom ) + { + var->addr = &evSObject->monitorTP.momentumAmp; + break; + } + if ( var->name == CexmcCFVarBpMonTid ) + { + var->addr = &evSObject->monitorTP.trackId; + break; + } + if ( var->name == CexmcCFVarBpTgtPosL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPBeamParticle.positionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarBpTgtPosW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPBeamParticle.positionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarBpTgtDirL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPBeamParticle.directionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarBpTgtDirW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPBeamParticle.directionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarBpTgtMom ) + { + var->addr = &evSObject->targetTPBeamParticle.momentumAmp; + break; + } + if ( var->name == CexmcCFVarBpTgtTid ) + { + var->addr = &evSObject->targetTPBeamParticle.trackId; + break; + } + if ( var->name == CexmcCFVarOpTgtPosL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticle.positionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpTgtPosW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticle.positionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpTgtDirL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticle.directionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpTgtDirW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticle.directionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpTgtMom ) + { + var->addr = &evSObject->targetTPOutputParticle.momentumAmp; + break; + } + if ( var->name == CexmcCFVarOpTgtTid ) + { + var->addr = &evSObject->targetTPOutputParticle.trackId; + break; + } + if ( var->name == CexmcCFVarNpTgtPosL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPNucleusParticle.positionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarNpTgtPosW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPNucleusParticle.positionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarNpTgtDirL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPNucleusParticle.directionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarNpTgtDirW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPNucleusParticle.directionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarNpTgtMom ) + { + var->addr = &evSObject->targetTPNucleusParticle.momentumAmp; + break; + } + if ( var->name == CexmcCFVarNpTgtTid ) + { + var->addr = &evSObject->targetTPNucleusParticle.trackId; + break; + } + if ( var->name == CexmcCFVarOpdp1TgtPosL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticleDecayProductParticle1. + positionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdp1TgtPosW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticleDecayProductParticle1. + positionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdp1TgtDirL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticleDecayProductParticle1. + directionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdp1TgtDirW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticleDecayProductParticle1. + directionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdp1TgtMom ) + { + var->addr = &evSObject-> + targetTPOutputParticleDecayProductParticle1.momentumAmp; + break; + } + if ( var->name == CexmcCFVarOpdp1TgtTid ) + { + var->addr = &evSObject-> + targetTPOutputParticleDecayProductParticle1.trackId; + break; + } + if ( var->name == CexmcCFVarOpdp2TgtPosL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticleDecayProductParticle2. + positionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdp2TgtPosW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticleDecayProductParticle2. + positionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdp2TgtDirL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticleDecayProductParticle2. + directionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdp2TgtDirW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->targetTPOutputParticleDecayProductParticle2. + directionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdp2TgtMom ) + { + var->addr = &evSObject-> + targetTPOutputParticleDecayProductParticle2.momentumAmp; + break; + } + if ( var->name == CexmcCFVarOpdp2TgtTid ) + { + var->addr = &evSObject-> + targetTPOutputParticleDecayProductParticle2.trackId; + break; + } + if ( var->name == CexmcCFVarOpdpVclPosL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->vetoCounterTPLeft.positionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpVclPosW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->vetoCounterTPLeft.positionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpVclDirL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->vetoCounterTPLeft.directionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpVclDirW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->vetoCounterTPLeft.directionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpVclMom ) + { + var->addr = &evSObject->vetoCounterTPLeft.momentumAmp; + break; + } + if ( var->name == CexmcCFVarOpdpVclTid ) + { + var->addr = &evSObject->vetoCounterTPLeft.trackId; + break; + } + if ( var->name == CexmcCFVarOpdpVcrPosL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->vetoCounterTPRight.positionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpVcrPosW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->vetoCounterTPRight.positionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpVcrDirL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->vetoCounterTPRight.directionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpVcrDirW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->vetoCounterTPRight.directionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpVcrMom ) + { + var->addr = &evSObject->vetoCounterTPRight.momentumAmp; + break; + } + if ( var->name == CexmcCFVarOpdpVcrTid ) + { + var->addr = &evSObject->vetoCounterTPRight.trackId; + break; + } + if ( var->name == CexmcCFVarOpdpClPosL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->calorimeterTPLeft.positionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpClPosW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->calorimeterTPLeft.positionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpClDirL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->calorimeterTPLeft.directionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpClDirW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->calorimeterTPLeft.directionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpClMom ) + { + var->addr = &evSObject->calorimeterTPLeft.momentumAmp; + break; + } + if ( var->name == CexmcCFVarOpdpClTid ) + { + var->addr = &evSObject->calorimeterTPLeft.trackId; + break; + } + if ( var->name == CexmcCFVarOpdpCrPosL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->calorimeterTPRight.positionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpCrPosW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->calorimeterTPRight.positionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpCrDirL ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->calorimeterTPRight.directionLocal, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpCrDirW ) + { + var->addr = GetThreeVectorElementAddrByIndex( + evSObject->calorimeterTPRight.directionWorld, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpdpCrMom ) + { + var->addr = &evSObject->calorimeterTPRight.momentumAmp; + break; + } + if ( var->name == CexmcCFVarOpdpCrTid ) + { + var->addr = &evSObject->calorimeterTPRight.trackId; + break; + } + if ( var->name == CexmcCFVarIpSCM ) + { + var->addr = GetLorentzVectorElementAddrByIndex( + evSObject->productionModelData.incidentParticleSCM, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarIpLAB ) + { + var->addr = GetLorentzVectorElementAddrByIndex( + evSObject->productionModelData.incidentParticleLAB, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarNpSCM ) + { + var->addr = GetLorentzVectorElementAddrByIndex( + evSObject->productionModelData.nucleusParticleSCM, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarNpLAB ) + { + var->addr = GetLorentzVectorElementAddrByIndex( + evSObject->productionModelData.nucleusParticleLAB, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpSCM ) + { + var->addr = GetLorentzVectorElementAddrByIndex( + evSObject->productionModelData.outputParticleSCM, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarOpLAB ) + { + var->addr = GetLorentzVectorElementAddrByIndex( + evSObject->productionModelData.outputParticleLAB, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarNopSCM ) + { + var->addr = GetLorentzVectorElementAddrByIndex( + evSObject->productionModelData.nucleusOutputParticleSCM, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarNopLAB ) + { + var->addr = GetLorentzVectorElementAddrByIndex( + evSObject->productionModelData.nucleusOutputParticleLAB, + var->index1 ); + break; + } + if ( var->name == CexmcCFVarIpId ) + { + var->addr = + &evSObject->productionModelData.incidentParticle; + break; + } + if ( var->name == CexmcCFVarNpId ) + { + var->addr = &evSObject->productionModelData.nucleusParticle; + break; + } + if ( var->name == CexmcCFVarOpId ) + { + var->addr = &evSObject->productionModelData.outputParticle; + break; + } + if ( var->name == CexmcCFVarNopId ) + { + var->addr = + &evSObject->productionModelData.nucleusOutputParticle; + break; + } + if ( var->name == CexmcCFVarConst_eV ) + { + var->addr = &constants[ 0 ]; + break; + } + if ( var->name == CexmcCFVarConst_keV ) + { + var->addr = &constants[ 1 ]; + break; + } + if ( var->name == CexmcCFVarConst_MeV ) + { + var->addr = &constants[ 2 ]; + break; + } + if ( var->name == CexmcCFVarConst_GeV ) + { + var->addr = &constants[ 3 ]; + break; + } + if ( var->name == CexmcCFVarConst_mm ) + { + var->addr = &constants[ 4 ]; + break; + } + if ( var->name == CexmcCFVarConst_cm ) + { + var->addr = &constants[ 5 ]; + break; + } + if ( var->name == CexmcCFVarConst_m ) + { + var->addr = &constants[ 6 ]; + break; + } + } while ( false ); + } + } +} + + +void CexmcASTEval::ResetAddressBinding( CexmcAST::Subtree & ast ) +{ + for ( std::vector< CexmcAST::Node >::iterator k( ast.children.begin() ); + k != ast.children.end(); ++k ) + { + CexmcAST::Subtree * subtree( boost::get< CexmcAST::Subtree >( &*k ) ); + + if ( subtree ) + { + ResetAddressBinding( *subtree ); + } + else + { + CexmcAST::Leaf & leaf( boost::get< CexmcAST::Leaf >( *k ) ); + CexmcAST::Variable * var( boost::get< CexmcAST::Variable >( + &leaf ) ); + if ( var ) + var->addr = ( const int * ) NULL; + } + } +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcAngularRange.cc b/examples/advanced/ChargeExchangeMC/src/CexmcAngularRange.cc new file mode 100644 index 0000000000..256e26d88c --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcAngularRange.cc @@ -0,0 +1,147 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcAngularRange.cc + * + * Description: angular range object + * + * Version: 1.0 + * Created: 28.12.2009 22:35:07 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include "CexmcAngularRange.hh" + + +void GetNormalizedAngularRange( const CexmcAngularRangeList & src, + CexmcAngularRangeList & dst ) +{ + dst = src; + if ( dst.size() < 2 ) + return; + + std::sort( dst.begin(), dst.end() ); + + const G4double epsilon( 1E-7 ); + + for ( CexmcAngularRangeList::iterator k( dst.begin() + 1 ); + k != dst.end(); ) + { + if ( std::fabs( k->top - ( k - 1 )->top ) < epsilon || + k->bottom + epsilon >= ( k - 1 )->bottom ) + { + dst.erase( k ); + continue; + } + if ( k->top + epsilon >= ( k - 1 )->bottom ) + { + ( k - 1 )->bottom = k->bottom; + dst.erase( k ); + continue; + } + ++k; + } +} + + +void GetAngularGaps( const CexmcAngularRangeList & src, + CexmcAngularRangeList & dst ) +{ + if ( src.empty() ) + { + dst.push_back( CexmcAngularRange( 1.0, -1.0 , 0 ) ); + return; + } + + CexmcAngularRangeList normalizedAngularRanges; + GetNormalizedAngularRange( src, normalizedAngularRanges ); + + G4int index( 0 ); + if ( normalizedAngularRanges[ 0 ].top < 1.0 ) + dst.push_back( CexmcAngularRange( + 1.0, normalizedAngularRanges[ 0 ].top, index++ ) ); + + for ( CexmcAngularRangeList::iterator + k( normalizedAngularRanges.begin() ); + k != normalizedAngularRanges.end(); ++k ) + { + if ( k + 1 == normalizedAngularRanges.end() ) + break; + dst.push_back( CexmcAngularRange( + k->bottom, ( k + 1 )->top, index++ ) ); + } + + if ( normalizedAngularRanges.back().bottom > -1.0 ) + dst.push_back( CexmcAngularRange( + normalizedAngularRanges.back().bottom, -1.0, index ) ); +} + + +std::ostream & operator<<( std::ostream & out, + const CexmcAngularRange & angularRange ) +{ + std::ostream::fmtflags savedFlags( out.flags() ); + std::streamsize prec( out.precision() ); + + out.precision( 4 ); + out.flags( std::ios::fixed ); + + out << std::setw( 2 ) << angularRange.index + 1 << " [" << std::setw( 7 ) << + angularRange.top << ", " << std::setw( 7 ) << angularRange.bottom << + ")"; + + out.precision( prec ); + out.flags( savedFlags ); + + return out; +} + + +std::ostream & operator<<( std::ostream & out, + const CexmcAngularRangeList & angularRanges ) +{ + out << std::endl; + for ( CexmcAngularRangeList::const_iterator k( angularRanges.begin() ); + k != angularRanges.end(); ++k ) + { + out << " " << *k << std::endl; + } + + return out; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcChargeExchangeReconstructor.cc b/examples/advanced/ChargeExchangeMC/src/CexmcChargeExchangeReconstructor.cc new file mode 100644 index 0000000000..c72747c625 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcChargeExchangeReconstructor.cc @@ -0,0 +1,294 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcChargeExchangeReconstructor.cc + * + * Description: charge exchange reconstructor + * + * Version: 1.0 + * Created: 02.12.2009 15:17:13 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include "CexmcChargeExchangeReconstructor.hh" +#include "CexmcChargeExchangeReconstructorMessenger.hh" +#include "CexmcEnergyDepositStore.hh" +#include "CexmcPrimaryGeneratorAction.hh" +#include "CexmcParticleGun.hh" +#include "CexmcProductionModel.hh" +#include "CexmcRunManager.hh" +#include "CexmcException.hh" +#include "CexmcCommon.hh" + + +CexmcChargeExchangeReconstructor::CexmcChargeExchangeReconstructor( + const CexmcProductionModel * productionModel ) : + outputParticleMass( 0 ), nucleusOutputParticleMass( 0 ), + useTableMass( false ), useMassCut( false ), massCutOPCenter( 0 ), + massCutNOPCenter( 0 ), massCutOPWidth( 0 ), massCutNOPWidth( 0 ), + massCutEllipseAngle( 0 ), useAbsorbedEnergyCut( false ), + absorbedEnergyCutCLCenter( 0 ), absorbedEnergyCutCRCenter( 0 ), + absorbedEnergyCutCLWidth( 0 ), absorbedEnergyCutCRWidth( 0 ), + absorbedEnergyCutEllipseAngle( 0 ), hasMassCutTriggered( false ), + hasAbsorbedEnergyCutTriggered( false ), beamParticleIsInitialized( false ), + particleGun( NULL ), messenger( NULL ) +{ + if ( ! productionModel ) + throw CexmcException( CexmcWeirdException ); + + productionModelData.incidentParticle = + productionModel->GetIncidentParticle(); + + CexmcRunManager * runManager( static_cast< CexmcRunManager * >( + G4RunManager::GetRunManager() ) ); + const CexmcPrimaryGeneratorAction * primaryGeneratorAction( + static_cast< const CexmcPrimaryGeneratorAction * >( + runManager->GetUserPrimaryGeneratorAction() ) ); + CexmcPrimaryGeneratorAction * thePrimaryGeneratorAction( + const_cast< CexmcPrimaryGeneratorAction * >( + primaryGeneratorAction ) ); + particleGun = thePrimaryGeneratorAction->GetParticleGun(); + + productionModelData.nucleusParticle = + productionModel->GetNucleusParticle(); + productionModelData.outputParticle = + productionModel->GetOutputParticle(); + productionModelData.nucleusOutputParticle = + productionModel->GetNucleusOutputParticle(); + + messenger = new CexmcChargeExchangeReconstructorMessenger( this ); +} + + +CexmcChargeExchangeReconstructor::~CexmcChargeExchangeReconstructor() +{ + delete messenger; +} + + +void CexmcChargeExchangeReconstructor::SetupBeamParticle( void ) +{ + if ( *productionModelData.incidentParticle != + *particleGun->GetParticleDefinition() ) + throw CexmcException( CexmcBeamAndIncidentParticlesMismatch ); + + beamParticleIsInitialized = true; +} + + +void CexmcChargeExchangeReconstructor::Reconstruct( + const CexmcEnergyDepositStore * edStore ) +{ + if ( ! beamParticleIsInitialized ) + { + if ( *productionModelData.incidentParticle != + *particleGun->GetParticleDefinition() ) + throw CexmcException( CexmcBeamAndIncidentParticlesMismatch ); + + beamParticleIsInitialized = true; + } + + ReconstructEntryPoints( edStore ); + if ( hasBasicTrigger ) + ReconstructTargetPoint(); + if ( hasBasicTrigger ) + ReconstructAngle(); + + G4ThreeVector epLeft( calorimeterEPLeftWorldPosition - + targetEPWorldPosition ); + G4ThreeVector epRight( calorimeterEPRightWorldPosition - + targetEPWorldPosition ); + + G4double cosTheAngle( std::cos( theAngle ) ); + G4double calorimeterEDLeft( edStore->calorimeterEDLeft ); + G4double calorimeterEDRight( edStore->calorimeterEDRight ); + + //G4double cosOutputParticleLAB( + //( calorimeterEDLeft * cosAngleLeft + + //calorimeterEDRight * cosAngleRight ) / + //std::sqrt( calorimeterEDLeft * calorimeterEDLeft + + //calorimeterEDRight * calorimeterEDRight + + //calorimeterEDLeft * calorimeterEDRight * cosTheAngle ) ); + + outputParticleMass = std::sqrt( 2 * calorimeterEDLeft * + calorimeterEDRight * ( 1 - cosTheAngle ) ); + + G4ThreeVector opdpLeftMomentum( epLeft ); + opdpLeftMomentum.setMag( calorimeterEDLeft ); + G4ThreeVector opdpRightMomentum( epRight ); + opdpRightMomentum.setMag( calorimeterEDRight ); + G4ThreeVector opMomentum( opdpLeftMomentum + opdpRightMomentum ); + + G4double opMass( useTableMass ? + productionModelData.outputParticle->GetPDGMass() : + outputParticleMass ); + G4double opEnergy( std::sqrt( + opMomentum.mag2() + opMass * opMass ) ); + productionModelData.outputParticleLAB = G4LorentzVector( opMomentum, + opEnergy ); + + G4ThreeVector incidentParticleMomentum( particleGun->GetOrigDirection() ); + G4double incidentParticleMomentumAmp( + particleGun->GetOrigMomentumAmp() ); + incidentParticleMomentum *= incidentParticleMomentumAmp; + + G4double incidentParticlePDGMass( + productionModelData.incidentParticle->GetPDGMass() ); + G4double incidentParticlePDGMass2( incidentParticlePDGMass * + incidentParticlePDGMass ); + G4double incidentParticleEnergy( + std::sqrt( incidentParticleMomentumAmp * incidentParticleMomentumAmp + + incidentParticlePDGMass2 ) ); + + productionModelData.incidentParticleLAB = G4LorentzVector( + incidentParticleMomentum, incidentParticleEnergy ); + G4double nucleusParticlePDGMass( + productionModelData.nucleusParticle->GetPDGMass() ); + productionModelData.nucleusParticleLAB = G4LorentzVector( + G4ThreeVector( 0, 0, 0 ), nucleusParticlePDGMass ); + G4LorentzVector lVecSum( productionModelData.incidentParticleLAB + + productionModelData.nucleusParticleLAB ); + G4ThreeVector boostVec( lVecSum.boostVector() ); + + productionModelData.nucleusOutputParticleLAB = + lVecSum - productionModelData.outputParticleLAB; + + productionModelData.incidentParticleSCM = + productionModelData.incidentParticleLAB; + productionModelData.nucleusParticleSCM = + productionModelData.nucleusParticleLAB; + productionModelData.outputParticleSCM = + productionModelData.outputParticleLAB; + productionModelData.nucleusOutputParticleSCM = + productionModelData.nucleusOutputParticleLAB; + + productionModelData.incidentParticleSCM.boost( -boostVec ); + productionModelData.nucleusParticleSCM.boost( -boostVec ); + productionModelData.outputParticleSCM.boost( -boostVec ); + productionModelData.nucleusOutputParticleSCM.boost( -boostVec ); + + G4double edDelta2( + std::pow( ( calorimeterEDLeft - calorimeterEDRight ) / + ( calorimeterEDLeft + calorimeterEDRight ), + 2 ) ); + G4double outputParticleKinEnergy( + std::sqrt( 2 * opMass * opMass / ( 1 - cosTheAngle ) / + ( 1 - edDelta2 ) ) - opMass ); + G4ThreeVector nopMomentum( incidentParticleMomentum - opMomentum ); + G4double nopEnergy( + std::sqrt( incidentParticleMomentum.mag2() + + incidentParticlePDGMass2 ) + + nucleusParticlePDGMass - + ( outputParticleKinEnergy + opMass ) ); + nucleusOutputParticleMass = std::sqrt( nopEnergy * nopEnergy - + nopMomentum.mag2() ); + + if ( useMassCut ) + { + G4double cosMassCutEllipseAngle( std::cos( massCutEllipseAngle ) ); + G4double sinMassCutEllipseAngle( std::sin( massCutEllipseAngle ) ); + + if ( massCutOPWidth <= 0. || massCutNOPWidth <= 0. ) + { + hasMassCutTriggered = false; + } + else + { + G4double massCutOPWidth2( massCutOPWidth * massCutOPWidth ); + G4double massCutNOPWidth2( massCutNOPWidth * massCutNOPWidth ); + + hasMassCutTriggered = + std::pow( ( outputParticleMass - massCutOPCenter ) * + cosMassCutEllipseAngle + + ( nucleusOutputParticleMass - massCutNOPCenter ) * + sinMassCutEllipseAngle, 2 ) / massCutOPWidth2 + + std::pow( - ( outputParticleMass - massCutOPCenter ) * + sinMassCutEllipseAngle + + ( nucleusOutputParticleMass - massCutNOPCenter ) * + cosMassCutEllipseAngle, 2 ) / massCutNOPWidth2 < + 1; + } + } + + if ( useAbsorbedEnergyCut ) + { + G4double cosAbsorbedEnergyCutEllipseAngle( + std::cos( absorbedEnergyCutEllipseAngle ) ); + G4double sinAbsorbedEnergyCutEllipseAngle( + std::sin( absorbedEnergyCutEllipseAngle ) ); + + if ( absorbedEnergyCutCLWidth <= 0. || absorbedEnergyCutCRWidth <= 0. ) + { + hasAbsorbedEnergyCutTriggered = false; + } + else + { + G4double absorbedEnergyCutCLWidth2( + absorbedEnergyCutCLWidth * absorbedEnergyCutCLWidth ); + G4double absorbedEnergyCutCRWidth2( + absorbedEnergyCutCRWidth * absorbedEnergyCutCRWidth ); + + hasAbsorbedEnergyCutTriggered = + std::pow( ( calorimeterEDLeft - absorbedEnergyCutCLCenter ) * + cosAbsorbedEnergyCutEllipseAngle + + ( calorimeterEDRight - absorbedEnergyCutCRCenter ) * + sinAbsorbedEnergyCutEllipseAngle, 2 ) / + absorbedEnergyCutCLWidth2 + + std::pow( - ( calorimeterEDLeft - absorbedEnergyCutCLCenter ) * + sinAbsorbedEnergyCutEllipseAngle + + ( calorimeterEDRight - absorbedEnergyCutCRCenter ) * + cosAbsorbedEnergyCutEllipseAngle, 2 ) / + absorbedEnergyCutCRWidth2 < + 1; + } + } + + hasBasicTrigger = true; +} + + +G4bool CexmcChargeExchangeReconstructor::HasFullTrigger( void ) const +{ + if ( ! hasBasicTrigger ) + return false; + if ( useMassCut && ! hasMassCutTriggered ) + return false; + if ( useAbsorbedEnergyCut && ! hasAbsorbedEnergyCutTriggered ) + return false; + + return true; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcChargeExchangeReconstructorMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcChargeExchangeReconstructorMessenger.cc new file mode 100644 index 0000000000..3682c0d289 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcChargeExchangeReconstructorMessenger.cc @@ -0,0 +1,306 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcChargeExchangeReconstructorMessenger.cc + * + * Description: charge exchange reconstructor messenger + * + * Version: 1.0 + * Created: 14.12.2009 17:53:33 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include "CexmcChargeExchangeReconstructorMessenger.hh" +#include "CexmcChargeExchangeReconstructor.hh" +#include "CexmcMessenger.hh" + + +CexmcChargeExchangeReconstructorMessenger:: + CexmcChargeExchangeReconstructorMessenger( + CexmcChargeExchangeReconstructor * reconstructor ) : + reconstructor( reconstructor ), useTableMass( NULL ), + useMassCut( NULL ), mCutOPCenter( NULL ), mCutNOPCenter( NULL ), + mCutOPWidth( NULL ), mCutNOPWidth( NULL ), mCutAngle( NULL ), + useAbsorbedEnergyCut( NULL ), aeCutCLCenter( NULL ), + aeCutCRCenter( NULL ), aeCutCLWidth( NULL ), aeCutCRWidth( NULL ), + aeCutAngle( NULL ) +{ + useTableMass = new G4UIcmdWithABool( + ( CexmcMessenger::reconstructorDirName + "useTableMass" ).c_str(), + this ); + useTableMass->SetGuidance( "\n If true then reconstructor will use " + "table mass of output\n particle when building output particle " + "energy,\n otherwise reconstructed mass will be used" ); + useTableMass->SetParameterName( "UseTableMass", false ); + useTableMass->SetDefaultValue( false ); + useTableMass->AvailableForStates( G4State_PreInit, G4State_Idle ); + + useMassCut = new G4UIcmdWithABool( + ( CexmcMessenger::reconstructorDirName + "useMassCut" ).c_str(), this ); + useMassCut->SetGuidance( "\n Use elliptical cut for masses of output " + "particle\n and nucleus output particle" ); + useMassCut->SetParameterName( "UseMassCut", false ); + useMassCut->SetDefaultValue( false ); + useMassCut->AvailableForStates( G4State_PreInit, G4State_Idle ); + + mCutOPCenter = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::reconstructorDirName + "mCutOPCenter" ).c_str(), + this ); + mCutOPCenter->SetGuidance( "Center of the ellipse in output particle mass " + "coordinate" ); + mCutOPCenter->SetParameterName( "MCutOPCenter", false ); + mCutOPCenter->SetDefaultValue( reconstructor->GetProductionModelData(). + outputParticle->GetPDGMass() ); + mCutOPCenter->SetDefaultUnit( "MeV" ); + mCutOPCenter->SetUnitCandidates( "eV keV MeV GeV" ); + mCutOPCenter->AvailableForStates( G4State_PreInit, G4State_Idle ); + + mCutNOPCenter = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::reconstructorDirName + "mCutNOPCenter" ).c_str(), + this ); + mCutNOPCenter->SetGuidance( "Center of the ellipse in nucleus output " + "particle mass\n coordinate" ); + mCutNOPCenter->SetParameterName( "MCutNOPCenter", false ); + mCutNOPCenter->SetDefaultValue( reconstructor->GetProductionModelData(). + nucleusOutputParticle->GetPDGMass() ); + mCutNOPCenter->SetDefaultUnit( "MeV" ); + mCutNOPCenter->SetUnitCandidates( "eV keV MeV GeV" ); + mCutNOPCenter->AvailableForStates( G4State_PreInit, G4State_Idle ); + + mCutOPWidth = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::reconstructorDirName + "mCutOPWidth" ).c_str(), + this ); + mCutOPWidth->SetGuidance( "Width of the ellipse in output particle mass " + "coordinate" ); + mCutOPWidth->SetParameterName( "MCutOPWidth", false ); + mCutOPWidth->SetDefaultValue( reconstructor->GetProductionModelData(). + outputParticle->GetPDGMass() * 0.1 ); + mCutOPWidth->SetDefaultUnit( "MeV" ); + mCutOPWidth->SetUnitCandidates( "eV keV MeV GeV" ); + mCutOPWidth->AvailableForStates( G4State_PreInit, G4State_Idle ); + + mCutNOPWidth = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::reconstructorDirName + "mCutNOPWidth" ).c_str(), + this ); + mCutNOPWidth->SetGuidance( "Width of the ellipse in nucleus output " + "particle mass\n coordinate" ); + mCutNOPWidth->SetParameterName( "MCutNOPWidth", false ); + mCutNOPWidth->SetDefaultValue( reconstructor->GetProductionModelData(). + nucleusOutputParticle->GetPDGMass() * 0.1 ); + mCutNOPWidth->SetDefaultUnit( "MeV" ); + mCutNOPWidth->SetUnitCandidates( "eV keV MeV GeV" ); + mCutNOPWidth->AvailableForStates( G4State_PreInit, G4State_Idle ); + + mCutAngle = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::reconstructorDirName + "mCutAngle" ).c_str(), + this ); + mCutAngle->SetGuidance( "Angle of the ellipse" ); + mCutAngle->SetParameterName( "MCutAngle", false ); + mCutAngle->SetDefaultValue( 0 ); + mCutAngle->SetDefaultUnit( "deg" ); + mCutAngle->SetUnitCandidates( "deg rad" ); + mCutAngle->AvailableForStates( G4State_PreInit, G4State_Idle ); + + useAbsorbedEnergyCut = new G4UIcmdWithABool( + ( CexmcMessenger::reconstructorDirName + "useAbsorbedEnergyCut" ). + c_str(), this ); + useAbsorbedEnergyCut->SetGuidance( "Use elliptical cut for absorbed " + "energies in\n calorimeters" ); + useAbsorbedEnergyCut->SetParameterName( "UseAbsorbedEnergyCut", false ); + useAbsorbedEnergyCut->SetDefaultValue( false ); + useAbsorbedEnergyCut->AvailableForStates( G4State_PreInit, G4State_Idle ); + + aeCutCLCenter = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::reconstructorDirName + "aeCutCLCenter" ).c_str(), + this ); + aeCutCLCenter->SetGuidance( "Center of the ellipse in left calorimeter" + "\n absorbed energy coordinate" ); + aeCutCLCenter->SetParameterName( "AECutCLCenter", false ); + aeCutCLCenter->SetDefaultValue( 0 ); + aeCutCLCenter->SetDefaultUnit( "MeV" ); + aeCutCLCenter->SetUnitCandidates( "eV keV MeV GeV" ); + aeCutCLCenter->AvailableForStates( G4State_PreInit, G4State_Idle ); + + aeCutCRCenter = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::reconstructorDirName + "aeCutCRCenter" ).c_str(), + this ); + aeCutCRCenter->SetGuidance( "Center of the ellipse in right calorimeter" + "\n absorbed energy coordinate" ); + aeCutCRCenter->SetParameterName( "AECutCRCenter", false ); + aeCutCRCenter->SetDefaultValue( 0 ); + aeCutCRCenter->SetDefaultUnit( "MeV" ); + aeCutCRCenter->SetUnitCandidates( "eV keV MeV GeV" ); + aeCutCRCenter->AvailableForStates( G4State_PreInit, G4State_Idle ); + + aeCutCLWidth = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::reconstructorDirName + "aeCutCLWidth" ).c_str(), + this ); + aeCutCLWidth->SetGuidance( "Width of the ellipse in left calorimeter" + "\n absorbed energy coordinate" ); + aeCutCLWidth->SetParameterName( "AECutCLWidth", false ); + aeCutCLWidth->SetDefaultValue( 0 ); + aeCutCLWidth->SetDefaultUnit( "MeV" ); + aeCutCLWidth->SetUnitCandidates( "eV keV MeV GeV" ); + aeCutCLWidth->AvailableForStates( G4State_PreInit, G4State_Idle ); + + aeCutCRWidth = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::reconstructorDirName + "aeCutCRWidth" ).c_str(), + this ); + aeCutCRWidth->SetGuidance( "Width of the ellipse in right calorimeter" + "\n absorbed energy coordinate" ); + aeCutCRWidth->SetParameterName( "AECutCRWidth", false ); + aeCutCRWidth->SetDefaultValue( 0 ); + aeCutCRWidth->SetDefaultUnit( "MeV" ); + aeCutCRWidth->SetUnitCandidates( "eV keV MeV GeV" ); + aeCutCRWidth->AvailableForStates( G4State_PreInit, G4State_Idle ); + + aeCutAngle = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::reconstructorDirName + "aeCutAngle" ).c_str(), + this ); + aeCutAngle->SetGuidance( "Angle of the ellipse" ); + aeCutAngle->SetParameterName( "AECutAngle", false ); + aeCutAngle->SetDefaultValue( 0 ); + aeCutAngle->SetDefaultUnit( "deg" ); + aeCutAngle->SetUnitCandidates( "deg rad" ); + aeCutAngle->AvailableForStates( G4State_PreInit, G4State_Idle ); +} + + +CexmcChargeExchangeReconstructorMessenger:: + ~CexmcChargeExchangeReconstructorMessenger() +{ + delete useTableMass; + delete useMassCut; + delete mCutOPCenter; + delete mCutNOPCenter; + delete mCutOPWidth; + delete mCutNOPWidth; + delete mCutAngle; + delete useAbsorbedEnergyCut; + delete aeCutCLCenter; + delete aeCutCRCenter; + delete aeCutCLWidth; + delete aeCutCRWidth; + delete aeCutAngle; +} + + +void CexmcChargeExchangeReconstructorMessenger::SetNewValue( + G4UIcommand * cmd, G4String value ) +{ + do + { + if ( cmd == useTableMass ) + { + reconstructor->UseTableMass( + G4UIcmdWithABool::GetNewBoolValue( value ) ); + break; + } + if ( cmd == useMassCut ) + { + reconstructor->UseMassCut( + G4UIcmdWithABool::GetNewBoolValue( value ) ); + break; + } + if ( cmd == mCutOPCenter ) + { + reconstructor->SetMassCutOPCenter( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == mCutNOPCenter ) + { + reconstructor->SetMassCutNOPCenter( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == mCutOPWidth ) + { + reconstructor->SetMassCutOPWidth( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == mCutNOPWidth ) + { + reconstructor->SetMassCutNOPWidth( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == mCutAngle ) + { + reconstructor->SetMassCutEllipseAngle( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == useAbsorbedEnergyCut ) + { + reconstructor->UseAbsorbedEnergyCut( + G4UIcmdWithABool::GetNewBoolValue( value ) ); + break; + } + if ( cmd == aeCutCLCenter ) + { + reconstructor->SetAbsorbedEnergyCutCLCenter( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == aeCutCRCenter ) + { + reconstructor->SetAbsorbedEnergyCutCRCenter( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == aeCutCLWidth ) + { + reconstructor->SetAbsorbedEnergyCutCLWidth( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == aeCutCRWidth ) + { + reconstructor->SetAbsorbedEnergyCutCRWidth( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == aeCutAngle ) + { + reconstructor->SetAbsorbedEnergyCutEllipseAngle( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + } while ( false ); +} + diff --git a/environments/MOMO/MomoHome/include/MomoPrimaryGeneratorAction.hh b/examples/advanced/ChargeExchangeMC/src/CexmcCommon.cc similarity index 68% rename from environments/MOMO/MomoHome/include/MomoPrimaryGeneratorAction.hh rename to examples/advanced/ChargeExchangeMC/src/CexmcCommon.cc index 581872fd76..ad16e8e8fc 100644 --- a/environments/MOMO/MomoHome/include/MomoPrimaryGeneratorAction.hh +++ b/examples/advanced/ChargeExchangeMC/src/CexmcCommon.cc @@ -23,37 +23,30 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// 1998 Dec 10, updated for geant4.0.0, Hajime Yoshida -// 2002 March Geant4.4.0 +/* + * ============================================================================ + * + * Filename: CexmcCommon.cc + * + * Description: global objects etc. + * + * Version: 1.0 + * Created: 03.12.2009 22:19:20 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ -#ifndef MomoPrimaryGeneratorAction_h -#define MomoPrimaryGeneratorAction_h 1 - -#include "G4VUserPrimaryGeneratorAction.hh" - -class G4ParticleGun; -class G4Event; - -class MomoPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction -{ - public: - MomoPrimaryGeneratorAction(); - ~MomoPrimaryGeneratorAction(); - - public: - void GeneratePrimaries(G4Event* anEvent); - - private: - G4ParticleGun* particleGun; -}; - -#endif +#include +#include "CexmcTrackPointInfo.hh" +#include "CexmcEnergyDepositStore.hh" +#include "CexmcTrackPointsStore.hh" +G4Allocator< CexmcTrackPointInfo > trackPointInfoAllocator; +G4Allocator< CexmcEnergyDepositStore > energyDepositStoreAllocator; +G4Allocator< CexmcTrackPointsStore > trackPointsStoreAllocator; diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcCustomFilter.cc b/examples/advanced/ChargeExchangeMC/src/CexmcCustomFilter.cc new file mode 100644 index 0000000000..1157b06bfa --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcCustomFilter.cc @@ -0,0 +1,207 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcCustomFilter.cc + * + * Description: custom filter grammar and compiler + * + * Version: 1.0 + * Created: 17.07.2010 15:37:38 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifdef CEXMC_USE_CUSTOM_FILTER + +#include "CexmcCustomFilter.hh" + + +namespace CexmcCustomFilter +{ + void Compiler::operator()( ParseResult & parseResult, Action value ) + const + { + parseResult.action = value; + } + + + void Compiler::operator()( ParseResult & parseResult, Subtree & value ) + const + { + parseResult.expression = value; + } + + + void Compiler::operator()( Subtree & ast, Node & node ) const + { + try + { + ast = boost::get< Subtree >( node ); + } + catch( const boost::bad_get & ) + { + ast.type = Operator( Top ); + ast.children.push_back( node ); + } + } + + + void Compiler::operator()( Node & self, Node & left, Node & right, + Operator value ) const + { + Subtree & ast( boost::get< Subtree >( self ) ); + + ast.children.push_back( left ); + ast.type = value; + + Subtree * astRight( boost::get< Subtree >( &right ) ); + + if ( ! astRight ) + { + ast.children.push_back( right ); + return; + } + + bool haveSamePriorities( false ); + Operator * rightOp( boost::get< Operator >( &astRight->type ) ); + + if ( rightOp ) + haveSamePriorities = value.priority == rightOp->priority; + + if ( value.hasRLAssoc || ! haveSamePriorities ) + { + ast.children.push_back( right ); + return; + } + + Subtree * astDeepestRight( astRight ); + + /* propagate left binary operators with LR associativity (i.e. all in + * our grammar) deep into the AST until any operator with a different + * priority (which includes operators in parentheses that have priority + * 0) or a unary operator or a function occured */ + while ( true ) + { + Subtree * candidate = boost::get< Subtree >( + &astDeepestRight->children[ 0 ] ); + if ( ! candidate ) + break; + + if ( candidate->children.size() < 2 ) + break; + + bool haveSamePriorities( false ); + Operator * candidateOp( boost::get< Operator >( + &candidate->type ) ); + + if ( candidateOp ) + haveSamePriorities = value.priority == candidateOp->priority; + + /* FIXME: what to do if candidate has RL association? Our grammar is + * not a subject of this issue; probably no grammar is a subject */ + if ( ! haveSamePriorities ) + break; + + astDeepestRight = candidate; + } + + Subtree astResult; + astResult.children.push_back( ast.children[ 0 ] ); + astResult.children.push_back( astDeepestRight->children[ 0 ] ); + astResult.type = value; + astDeepestRight->children[ 0 ] = astResult; + self = right; + } + + + void Compiler::operator()( Node & self, Node & child, Operator value ) + const + { + Subtree & ast( boost::get< Subtree >( self ) ); + ast.children.push_back( child ); + ast.type = value; + } + + + void Compiler::operator()( Node & self, Node & primary ) const + { + self = primary; + + Subtree * ast( boost::get< Subtree >( &self ) ); + + if ( ! ast ) + return; + + Operator * op( boost::get< Operator >( &ast->type ) ); + + if ( op ) + op->priority = 0; + } + + + void Compiler::operator()( Node & self, Node & child, + std::string & value ) const + { + Subtree & ast( boost::get< Subtree >( self ) ); + + ast.children.push_back( child ); + ast.type = value; + } + + + void Compiler::operator()( Leaf & self, std::string & name ) const + { + Variable & variable( boost::get< Variable >( self ) ); + variable.name = name; + } + + + void Compiler::operator()( Leaf & self, int value, size_t index ) const + { + Variable & variable( boost::get< Variable >( self ) ); + switch ( index ) + { + case 0 : + variable.index1 = value; + break; + case 1 : + variable.index2 = value; + break; + default : + break; + } + } +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcCustomFilterEval.cc b/examples/advanced/ChargeExchangeMC/src/CexmcCustomFilterEval.cc new file mode 100644 index 0000000000..db24337480 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcCustomFilterEval.cc @@ -0,0 +1,183 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcCustomFilterEval.cc + * + * Description: custom filter eval + * + * Version: 1.0 + * Created: 17.07.2010 15:46:01 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifdef CEXMC_USE_CUSTOM_FILTER + +#include +#include +#include "CexmcCustomFilterEval.hh" +#include "CexmcException.hh" + + +CexmcCustomFilterEval::CexmcCustomFilterEval( const G4String & sourceFileName, + const CexmcEventFastSObject * evFastSObject, + const CexmcEventSObject * evSObject ) : + astEval( evFastSObject, evSObject ) +{ + std::string command; + std::ifstream sourceFile( sourceFileName ); + + if ( ! sourceFile ) + throw CexmcException( CexmcCFBadSource ); + + while ( ! sourceFile.eof() ) + { + std::string line; + std::getline( sourceFile, line ); + + size_t commentStartPos( line.find_first_of( '#' ) ); + if ( commentStartPos != std::string::npos ) + line.erase( commentStartPos ); + + command += line; + + if ( ! command.empty() ) + { + size_t length( command.length() ); + + if ( command[ length - 1 ] == '\\' ) + { + command.erase( length - 1 ); + continue; + } + + CexmcCustomFilter::ParseResult curParseResult; + + std::string::const_iterator begin( command.begin() ); + std::string::const_iterator end( command.end() ); + + try + { + if ( ! CexmcCustomFilter::phrase_parse( begin, end, grammar, + CexmcCustomFilter::space, curParseResult ) || + begin != end ) + { + throw CexmcException( CexmcCFParseError ); + } + } + catch ( ... ) + { + sourceFile.close(); + throw; + } + +#ifdef CEXMC_DEBUG_CF + G4cout << "Parsed expression AST:" << G4endl; + curParseResult.expression.Print(); +#endif + + switch ( curParseResult.action ) + { + case CexmcCustomFilter::KeepTPT : + case CexmcCustomFilter::DeleteTPT : + parseResultTPT.push_back( curParseResult ); + break; + case CexmcCustomFilter::KeepEDT : + case CexmcCustomFilter::DeleteEDT : + parseResultEDT.push_back( curParseResult ); + break; + default : + break; + } + } + + command = ""; + } + + sourceFile.close(); +} + + +void CexmcCustomFilterEval::SetAddressedData( + const CexmcEventFastSObject * evFastSObject, + const CexmcEventSObject * evSObject ) +{ + astEval.SetAddressedData( evFastSObject, evSObject ); + + for ( ParseResultVector::iterator k( parseResultTPT.begin() ); + k != parseResultTPT.end(); ++k ) + { + if ( evFastSObject == NULL || evSObject == NULL ) + astEval.ResetAddressBinding( k->expression ); + else + astEval.BindAddresses( k->expression ); + } + for ( ParseResultVector::iterator k( parseResultEDT.begin() ); + k != parseResultEDT.end(); ++k ) + { + if ( evFastSObject == NULL || evSObject == NULL ) + astEval.ResetAddressBinding( k->expression ); + else + astEval.BindAddresses( k->expression ); + } +} + + +bool CexmcCustomFilterEval::EvalTPT( void ) const +{ + for ( ParseResultVector::const_iterator k( parseResultTPT.begin() ); + k != parseResultTPT.end(); ++k ) + { + if ( astEval( k->expression ) ) + return k->action == CexmcCustomFilter::KeepTPT; + } + + return true; +} + + +bool CexmcCustomFilterEval::EvalEDT( void ) const +{ + for ( ParseResultVector::const_iterator k( parseResultEDT.begin() ); + k != parseResultEDT.end(); ++k ) + { + if ( astEval( k->expression ) ) + return k->action == CexmcCustomFilter::KeepEDT; + } + + return true; +} + + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositDigitizer.cc b/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositDigitizer.cc new file mode 100644 index 0000000000..626ff09752 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositDigitizer.cc @@ -0,0 +1,362 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcEnergyDepositDigitizer.cc + * + * Description: digitizes of energy deposit in a single event + * + * Version: 1.0 + * Created: 23.11.2009 14:39:41 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include +#include "CexmcEnergyDepositDigitizer.hh" +#include "CexmcEnergyDepositDigitizerMessenger.hh" +#include "CexmcSimpleEnergyDeposit.hh" +#include "CexmcEnergyDepositInLeftRightSet.hh" +#include "CexmcEnergyDepositInCalorimeter.hh" +#include "CexmcSetup.hh" +#include "CexmcRunManager.hh" +#include "CexmcSensitiveDetectorsAttributes.hh" +#include "CexmcCommon.hh" + + +CexmcEnergyDepositDigitizer::CexmcEnergyDepositDigitizer( + const G4String & name ) : + G4VDigitizerModule( name ), monitorED( 0 ), + vetoCounterEDLeft( 0 ), vetoCounterEDRight( 0 ), + calorimeterEDLeft( 0 ), calorimeterEDRight( 0 ), + calorimeterEDLeftMaxX( 0 ), calorimeterEDLeftMaxY( 0 ), + calorimeterEDRightMaxX( 0 ), calorimeterEDRightMaxY( 0 ), + monitorHasTriggered( false ), hasTriggered( false ), + monitorEDThreshold( 0 ), + vetoCounterEDLeftThreshold( 0 ), vetoCounterEDRightThreshold( 0 ), + calorimeterEDLeftThreshold( 0 ), calorimeterEDRightThreshold( 0 ), + calorimeterTriggerAlgorithm( CexmcAllCrystalsMakeEDTriggerThreshold ), + outerCrystalsVetoAlgorithm( CexmcNoOuterCrystalsVeto ), + outerCrystalsVetoFraction( 0 ), monitorEDThresholdRef( 0 ), + vetoCounterEDLeftThresholdRef( 0 ), vetoCounterEDRightThresholdRef( 0 ), + calorimeterEDLeftThresholdRef( 0 ), calorimeterEDRightThresholdRef( 0 ), + calorimeterTriggerAlgorithmRef( CexmcAllCrystalsMakeEDTriggerThreshold ), + outerCrystalsVetoAlgorithmRef( CexmcNoOuterCrystalsVeto ), + outerCrystalsVetoFractionRef( 0 ), nCrystalsInColumn( 1 ), + nCrystalsInRow( 1 ), applyFiniteCrystalResolution( false ), + messenger( NULL ) +{ + G4RunManager * runManager( G4RunManager::GetRunManager() ); + const CexmcSetup * setup( static_cast< const CexmcSetup * >( + runManager->GetUserDetectorConstruction() ) ); + const CexmcSetup::CalorimeterGeometryData & calorimeterGeometry( + setup->GetCalorimeterGeometry() ); + + nCrystalsInColumn = calorimeterGeometry.nCrystalsInColumn; + nCrystalsInRow = calorimeterGeometry.nCrystalsInRow; + + if ( nCrystalsInColumn > 0 ) + { + calorimeterEDLeftCollection.resize( nCrystalsInColumn ); + calorimeterEDRightCollection.resize( nCrystalsInColumn ); + } + + if ( nCrystalsInRow > 0 ) + { + for ( CexmcEnergyDepositCalorimeterCollection::iterator + k( calorimeterEDLeftCollection.begin() ); + k != calorimeterEDLeftCollection.end(); ++k ) + { + k->resize( nCrystalsInRow ); + } + for ( CexmcEnergyDepositCalorimeterCollection::iterator + k( calorimeterEDRightCollection.begin() ); + k != calorimeterEDRightCollection.end(); ++k ) + { + k->resize( nCrystalsInRow ); + } + } + + messenger = new CexmcEnergyDepositDigitizerMessenger( this ); +} + + +CexmcEnergyDepositDigitizer::~CexmcEnergyDepositDigitizer() +{ + delete messenger; +} + + +void CexmcEnergyDepositDigitizer::InitializeData( void ) +{ + monitorED = 0; + vetoCounterEDLeft = 0; + vetoCounterEDRight = 0; + calorimeterEDLeft = 0; + calorimeterEDRight = 0; + calorimeterEDLeftMaxX = 0; + calorimeterEDLeftMaxY = 0; + calorimeterEDRightMaxX = 0; + calorimeterEDRightMaxY = 0; + monitorHasTriggered = false; + hasTriggered = false; + + for ( CexmcEnergyDepositCalorimeterCollection::iterator + k( calorimeterEDLeftCollection.begin() ); + k != calorimeterEDLeftCollection.end(); ++k ) + { + for ( CexmcEnergyDepositCrystalRowCollection::iterator + l( k->begin() ); l != k->end(); ++l ) + { + *l = 0; + } + } + for ( CexmcEnergyDepositCalorimeterCollection::iterator + k( calorimeterEDRightCollection.begin() ); + k != calorimeterEDRightCollection.end(); ++k ) + { + for ( CexmcEnergyDepositCrystalRowCollection::iterator + l( k->begin() ); l != k->end(); ++l ) + { + *l = 0; + } + } +} + + +void CexmcEnergyDepositDigitizer::Digitize( void ) +{ + InitializeData(); + + G4DigiManager * digiManager( G4DigiManager::GetDMpointer() ); + G4int hcId( digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcMonitorDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcEDDetector ] ) ); + const CexmcEnergyDepositCollection * + hitsCollection( static_cast< const CexmcEnergyDepositCollection* >( + digiManager->GetHitsCollection( hcId ) ) ); + + if ( hitsCollection ) + { + /* it always must have index 0 */ + if ( ( *hitsCollection )[ 0 ] ) + monitorED = *( *hitsCollection )[ 0 ]; + } + + hcId = digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcVetoCounterDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcEDDetector ] ); + hitsCollection = static_cast< const CexmcEnergyDepositCollection* >( + digiManager->GetHitsCollection( hcId ) ); + if ( hitsCollection ) + { + for ( std::map< G4int, G4double* >::iterator + k( hitsCollection->GetMap()->begin() ); + k != hitsCollection->GetMap()->end(); ++k ) + { + G4int index( k->first ); + CexmcSide side( CexmcEnergyDepositInLeftRightSet::GetSide( + index ) ); + switch ( side ) + { + case CexmcLeft : + vetoCounterEDLeft = *k->second; + break; + case CexmcRight : + vetoCounterEDRight = *k->second; + break; + default : + break; + } + } + } + + G4double maxEDCrystalLeft( 0 ); + G4double maxEDCrystalRight( 0 ); + G4double outerCrystalsEDLeft( 0 ); + G4double outerCrystalsEDRight( 0 ); + G4double innerCrystalsEDLeft( 0 ); + G4double innerCrystalsEDRight( 0 ); + + CexmcRunManager * runManager( static_cast< CexmcRunManager * >( + G4RunManager::GetRunManager() ) ); + + hcId = digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcCalorimeterDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcEDDetector ] ); + hitsCollection = static_cast< const CexmcEnergyDepositCollection* >( + digiManager->GetHitsCollection( hcId ) ); + if ( hitsCollection ) + { + for ( std::map< G4int, G4double* >::iterator + k( hitsCollection->GetMap()->begin() ); + k != hitsCollection->GetMap()->end(); ++k ) + { + G4int index( k->first ); + CexmcSide side( CexmcEnergyDepositInLeftRightSet::GetSide( + index ) ); + G4int row( CexmcEnergyDepositInCalorimeter::GetRow( index ) ); + G4int column( CexmcEnergyDepositInCalorimeter::GetColumn( + index ) ); + G4double value( *k->second ); + if ( applyFiniteCrystalResolution && value > 0. && + ! runManager->ProjectIsRead() ) + { + for ( CexmcEnergyRangeWithDoubleValueList::const_iterator + l( crystalResolutionData.begin() ); + l != crystalResolutionData.end(); ++l ) + { + if ( value < l->bottom || value >= l->top ) + continue; + value = G4RandGauss::shoot( value, + value * l->value * CexmcFwhmToStddev ); + if ( value < 0. ) + value = 0.; + break; + } + } + switch ( side ) + { + case CexmcLeft : + if ( value > maxEDCrystalLeft ) + { + calorimeterEDLeftMaxX = column; + calorimeterEDLeftMaxY = row; + maxEDCrystalLeft = value; + } + if ( IsOuterCrystal( column, row ) ) + { + outerCrystalsEDLeft += value; + } + else + { + innerCrystalsEDLeft += value; + } + calorimeterEDLeft += value; + calorimeterEDLeftCollection[ row ][ column ] = value; + break; + case CexmcRight : + if ( value > maxEDCrystalRight ) + { + calorimeterEDRightMaxX = column; + calorimeterEDRightMaxY = row; + maxEDCrystalRight = value; + } + if ( IsOuterCrystal( column, row ) ) + { + outerCrystalsEDRight += value; + } + else + { + innerCrystalsEDRight += value; + } + calorimeterEDRight += value; + calorimeterEDRightCollection[ row ][ column ] = value; + break; + default : + break; + } + } + } + + G4double calorimeterEDLeftEffective( calorimeterEDLeft ); + G4double calorimeterEDRightEffective( calorimeterEDRight ); + + if ( calorimeterTriggerAlgorithm == + CexmcInnerCrystalsMakeEDTriggerThreshold ) + { + calorimeterEDLeftEffective = innerCrystalsEDLeft; + calorimeterEDRightEffective = innerCrystalsEDRight; + } + + monitorHasTriggered = monitorED >= monitorEDThreshold; + + hasTriggered = monitorHasTriggered && + vetoCounterEDLeft < vetoCounterEDLeftThreshold && + vetoCounterEDRight < vetoCounterEDRightThreshold && + calorimeterEDLeftEffective >= calorimeterEDLeftThreshold && + calorimeterEDRightEffective >= calorimeterEDRightThreshold; + + /* event won't trigger if outer crystals veto triggered */ + if ( hasTriggered ) + { + switch ( outerCrystalsVetoAlgorithm ) + { + case CexmcNoOuterCrystalsVeto : + break; + case CexmcMaximumEDInASingleOuterCrystalVeto : + hasTriggered = + ! IsOuterCrystal( calorimeterEDLeftMaxX, + calorimeterEDLeftMaxY ) && + ! IsOuterCrystal( calorimeterEDRightMaxX, + calorimeterEDRightMaxY ); + break; + case CexmcFractionOfEDInOuterCrystalsVeto : + hasTriggered = + ( ( outerCrystalsEDLeft / calorimeterEDLeft ) < + outerCrystalsVetoFraction ) && + ( ( outerCrystalsEDRight / calorimeterEDRight ) < + outerCrystalsVetoFraction ); + break; + default : + break; + } + } +} + + +std::ostream & operator<<( std::ostream & out, + const CexmcEnergyDepositCalorimeterCollection & edCollection ) +{ + std::streamsize prec( out.precision() ); + + out.precision( 4 ); + + out << std::endl; + for ( CexmcEnergyDepositCalorimeterCollection::const_reverse_iterator + k( edCollection.rbegin() ); k != edCollection.rend(); ++k ) + { + for ( CexmcEnergyDepositCrystalRowCollection::const_reverse_iterator + l( k->rbegin() ); l != k->rend(); ++l ) + out << std::setw( 10 ) << *l; + out << std::endl; + } + + out.precision( prec ); + + return out; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositDigitizerMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositDigitizerMessenger.cc new file mode 100644 index 0000000000..7502bc7db2 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositDigitizerMessenger.cc @@ -0,0 +1,372 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcEnergyDepositDigitizerMessenger.cc + * + * Description: energy deposit digitizer messenger + * + * Version: 1.0 + * Created: 29.11.2009 19:07:05 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include +#include +#include "CexmcEnergyDepositDigitizer.hh" +#include "CexmcEnergyDepositDigitizerMessenger.hh" +#include "CexmcMessenger.hh" +#include "CexmcCommon.hh" + + +CexmcEnergyDepositDigitizerMessenger::CexmcEnergyDepositDigitizerMessenger( + CexmcEnergyDepositDigitizer * energyDepositDigitizer ) : + energyDepositDigitizer( energyDepositDigitizer ), + setMonitorThreshold( NULL ), setVetoCountersThreshold( NULL ), + setLeftVetoCounterThreshold( NULL ), setRightVetoCounterThreshold( NULL ), + setCalorimetersThreshold( NULL ), setLeftCalorimeterThreshold( NULL ), + setRightCalorimeterThreshold( NULL ), + setCalorimeterTriggerAlgorithm( NULL ), + setOuterCrystalsVetoAlgorithm( NULL ), setOuterCrystalsVetoFraction( NULL ), + applyFiniteCrystalResolution( NULL ), addCrystalResolutionRange( NULL ), + clearCrystalResolutionData( NULL ) +{ + setMonitorThreshold = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::monitorEDDirName + "threshold" ).c_str(), this ); + setMonitorThreshold->SetGuidance( "Monitor trigger threshold" ); + setMonitorThreshold->SetParameterName( "MonitorThreshold", false ); + setMonitorThreshold->SetDefaultValue( 0 ); + setMonitorThreshold->SetDefaultUnit( "MeV" ); + setMonitorThreshold->SetUnitCandidates( "ev keV MeV GeV" ); + setMonitorThreshold->AvailableForStates( G4State_PreInit, G4State_Idle ); + + setVetoCountersThreshold = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::vetoCounterEDDirName + "threshold" ).c_str(), + this ); + setVetoCountersThreshold->SetGuidance( "Veto counters trigger threshold" ); + setVetoCountersThreshold->SetParameterName( "VetoCountersThreshold", + false ); + setVetoCountersThreshold->SetDefaultValue( 0 ); + setVetoCountersThreshold->SetDefaultUnit( "MeV" ); + setVetoCountersThreshold->SetUnitCandidates( "ev keV MeV GeV" ); + setVetoCountersThreshold->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + setLeftVetoCounterThreshold = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::vetoCounterLeftEDDirName + "threshold" ).c_str(), + this ); + setLeftVetoCounterThreshold->SetGuidance( + "Left veto counter trigger threshold" ); + setLeftVetoCounterThreshold->SetParameterName( "LeftVetoCounterThreshold", + false ); + setLeftVetoCounterThreshold->SetDefaultValue( 0 ); + setLeftVetoCounterThreshold->SetDefaultUnit( "MeV" ); + setLeftVetoCounterThreshold->SetUnitCandidates( "ev keV MeV GeV" ); + setLeftVetoCounterThreshold->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + setRightVetoCounterThreshold = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::vetoCounterRightEDDirName + "threshold" ).c_str(), + this ); + setRightVetoCounterThreshold->SetGuidance( + "Right veto counter trigger threshold" ); + setRightVetoCounterThreshold->SetParameterName( "RightVetoCounterThreshold", + false ); + setRightVetoCounterThreshold->SetDefaultValue( 0 ); + setRightVetoCounterThreshold->SetDefaultUnit( "MeV" ); + setRightVetoCounterThreshold->SetUnitCandidates( "ev keV MeV GeV" ); + setRightVetoCounterThreshold->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + setCalorimetersThreshold = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::calorimeterEDDirName + "threshold" ).c_str(), + this ); + setCalorimetersThreshold->SetGuidance( "Calorimeters trigger threshold" ); + setCalorimetersThreshold->SetParameterName( "CalorimetersThreshold", + false ); + setCalorimetersThreshold->SetDefaultValue( 0 ); + setCalorimetersThreshold->SetDefaultUnit( "MeV" ); + setCalorimetersThreshold->SetUnitCandidates( "ev keV MeV GeV" ); + setCalorimetersThreshold->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + setLeftCalorimeterThreshold = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::calorimeterLeftEDDirName + "threshold" ).c_str(), + this ); + setLeftCalorimeterThreshold->SetGuidance( + "Left calorimeter trigger threshold" ); + setLeftCalorimeterThreshold->SetParameterName( "LeftCalorimeterThreshold", + false ); + setLeftCalorimeterThreshold->SetDefaultValue( 0 ); + setLeftCalorimeterThreshold->SetDefaultUnit( "MeV" ); + setLeftCalorimeterThreshold->SetUnitCandidates( "ev keV MeV GeV" ); + setLeftCalorimeterThreshold->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + setRightCalorimeterThreshold = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::calorimeterRightEDDirName + "threshold" ).c_str(), + this ); + setRightCalorimeterThreshold->SetGuidance( + "Right calorimeter trigger threshold" ); + setRightCalorimeterThreshold->SetParameterName( "RightCalorimeterThreshold", + false ); + setRightCalorimeterThreshold->SetDefaultValue( 0 ); + setRightCalorimeterThreshold->SetDefaultUnit( "MeV" ); + setRightCalorimeterThreshold->SetUnitCandidates( "ev keV MeV GeV" ); + setRightCalorimeterThreshold->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + setCalorimeterTriggerAlgorithm = new G4UIcmdWithAString( + ( CexmcMessenger::detectorDirName + + "calorimeterTriggerAlgorithm" ).c_str(), this ); + setCalorimeterTriggerAlgorithm->SetGuidance( "\n" + " all - energy deposit in all crystals in a calorimeter\n" + " will be checked against calorimeter threshold " + "value,\n" + " inner - energy deposit in only inner crystals\n" + " will be checked against calorimeter threshold " + "value" ); + setCalorimeterTriggerAlgorithm->SetParameterName( + "CalorimeterTriggerAlgorithm", false ); + setCalorimeterTriggerAlgorithm->SetDefaultValue( "inner" ); + setCalorimeterTriggerAlgorithm->SetCandidates( "all inner" ); + setCalorimeterTriggerAlgorithm->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + setOuterCrystalsVetoAlgorithm = new G4UIcmdWithAString( + ( CexmcMessenger::detectorDirName + + "outerCrystalsVetoAlgorithm" ).c_str(), this ); + setOuterCrystalsVetoAlgorithm->SetGuidance( "\n" + " none - events will not be rejected by any algorithm,\n" + " max - reject event trigger if crystal with maximum energy " + "\n deposit is one of outer crystals,\n" + " fraction - reject event trigger if energy deposit " + "fraction in\n outer crystals is more than " + "value of\n 'outerCrystalsVetoFraction'" ); + setOuterCrystalsVetoAlgorithm->SetParameterName( + "OuterCrystalsVetoAlgorithm", false ); + setOuterCrystalsVetoAlgorithm->SetDefaultValue( "none" ); + setOuterCrystalsVetoAlgorithm->SetCandidates( "none max fraction" ); + setOuterCrystalsVetoAlgorithm->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + setOuterCrystalsVetoFraction = new G4UIcmdWithADouble( + ( CexmcMessenger::detectorDirName + + "outerCrystalsVetoFraction" ).c_str(), this ); + setOuterCrystalsVetoFraction->SetGuidance( "\n Fraction of whole energy " + "deposit in one calorimeter\n that belongs to outer crystals.\n" + " If 'outerCrystalsVetoAlgorithm' is 'fraction' and\n" + " the outer crystals energy deposit fraction exceeds " + "this\n value then event won't trigger" ); + setOuterCrystalsVetoFraction->SetParameterName( + "OuterCrystalsVetoFraction", false ); + setOuterCrystalsVetoFraction->SetDefaultValue( 0 ); + setOuterCrystalsVetoFraction->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + applyFiniteCrystalResolution = new G4UIcmdWithABool( + ( CexmcMessenger::detectorDirName + + "applyFiniteCrystalResolution" ).c_str(), this ); + applyFiniteCrystalResolution->SetGuidance( "\n Specify if finite " + "energy resolution of the crystals\n will be accounted" ); + applyFiniteCrystalResolution->SetParameterName( + "ApplyFiniteCrystalResolution", false ); + applyFiniteCrystalResolution->SetDefaultValue( false ); + applyFiniteCrystalResolution->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + addCrystalResolutionRange = new G4UIcmdWith3Vector( + ( CexmcMessenger::detectorDirName + + "addCrystalResolutionRange" ).c_str(), this ); + addCrystalResolutionRange->SetGuidance( "\n Add new energy range " + "(in GeV!) with fwhm percentage\n value of crystal resolution " + "in this range" ); + addCrystalResolutionRange->SetParameterName( + "CrystalResolutionRangeBottom", "CrystalResolutionRangeTop", + "CrystalResolutionRangeValue", false ); + addCrystalResolutionRange->SetRange( "CrystalResolutionRangeBottom >= 0. " + "&& CrystalResolutionRangeTop >= 0. && " + "CrystalResolutionRangeValue >= 0." ); + addCrystalResolutionRange->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + clearCrystalResolutionData = new G4UIcmdWithoutParameter( + ( CexmcMessenger::detectorDirName + + "clearCrystalResolutionData" ).c_str(), this ); + clearCrystalResolutionData->SetGuidance( "\n Clear all crystal " + "resolution ranges.\n Can be used to redefine crystal " + "resolution data" ); + clearCrystalResolutionData->AvailableForStates( G4State_PreInit, + G4State_Idle ); +} + + +CexmcEnergyDepositDigitizerMessenger::~CexmcEnergyDepositDigitizerMessenger() +{ + delete setMonitorThreshold; + delete setVetoCountersThreshold; + delete setLeftVetoCounterThreshold; + delete setRightVetoCounterThreshold; + delete setCalorimetersThreshold; + delete setLeftCalorimeterThreshold; + delete setRightCalorimeterThreshold; + delete setCalorimeterTriggerAlgorithm; + delete setOuterCrystalsVetoAlgorithm; + delete setOuterCrystalsVetoFraction; + delete applyFiniteCrystalResolution; + delete addCrystalResolutionRange; + delete clearCrystalResolutionData; +} + + +void CexmcEnergyDepositDigitizerMessenger::SetNewValue( G4UIcommand * cmd, + G4String value ) +{ + do + { + if ( cmd == setMonitorThreshold ) + { + energyDepositDigitizer->SetMonitorThreshold( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == setVetoCountersThreshold ) + { + energyDepositDigitizer->SetVetoCountersThreshold( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == setLeftVetoCounterThreshold ) + { + energyDepositDigitizer->SetVetoCounterLeftThreshold( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == setRightVetoCounterThreshold ) + { + energyDepositDigitizer->SetVetoCounterRightThreshold( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == setCalorimetersThreshold ) + { + energyDepositDigitizer->SetCalorimetersThreshold( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == setLeftCalorimeterThreshold ) + { + energyDepositDigitizer->SetCalorimeterLeftThreshold( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == setRightCalorimeterThreshold ) + { + energyDepositDigitizer->SetCalorimeterRightThreshold( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == setCalorimeterTriggerAlgorithm ) + { + CexmcCalorimeterTriggerAlgorithm calorimeterTriggerAlgorithm( + CexmcAllCrystalsMakeEDTriggerThreshold ); + do + { + if ( value == "inner" ) + { + calorimeterTriggerAlgorithm = + CexmcInnerCrystalsMakeEDTriggerThreshold; + break; + } + } while ( false ); + energyDepositDigitizer->SetCalorimeterTriggerAlgorithm( + calorimeterTriggerAlgorithm ); + break; + } + if ( cmd == setOuterCrystalsVetoAlgorithm ) + { + CexmcOuterCrystalsVetoAlgorithm outerCrystalsVetoAlgorithm( + CexmcNoOuterCrystalsVeto ); + do + { + if ( value == "max" ) + { + outerCrystalsVetoAlgorithm = + CexmcMaximumEDInASingleOuterCrystalVeto; + break; + } + if ( value == "fraction" ) + { + outerCrystalsVetoAlgorithm = + CexmcFractionOfEDInOuterCrystalsVeto; + break; + } + } while ( false ); + energyDepositDigitizer->SetOuterCrystalsVetoAlgorithm( + outerCrystalsVetoAlgorithm ); + break; + } + if ( cmd == setOuterCrystalsVetoFraction ) + { + energyDepositDigitizer->SetOuterCrystalsVetoFraction( + G4UIcmdWithADouble::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == applyFiniteCrystalResolution ) + { + energyDepositDigitizer->ApplyFiniteCrystalResolution( + G4UIcmdWithABool::GetNewBoolValue( value ) ); + break; + } + if ( cmd == addCrystalResolutionRange ) + { + G4ThreeVector vec( G4UIcmdWith3Vector::GetNew3VectorValue( + value ) ); + G4double bottom( std::min( vec.x(), vec.y() ) ); + G4double top( std::max( vec.x(), vec.y() ) ); + energyDepositDigitizer->AddCrystalResolutionRange( bottom, top, + vec.z() ); + break; + } + if ( cmd == clearCrystalResolutionData ) + { + energyDepositDigitizer->ClearCrystalResolutionData(); + break; + } + } while ( false ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositInCalorimeter.cc b/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositInCalorimeter.cc new file mode 100644 index 0000000000..29738f3c79 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositInCalorimeter.cc @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcEnergyDepositInCalorimeter.cc + * + * Description: energy deposit scorer in calorimeters + * + * Version: 1.0 + * Created: 14.11.2009 12:48:22 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include +#include +#include "CexmcEnergyDepositInCalorimeter.hh" +#include "CexmcSetup.hh" + + +G4int CexmcEnergyDepositInCalorimeter::copyDepth1BitsOffset( 8 ); + + +CexmcEnergyDepositInCalorimeter::CexmcEnergyDepositInCalorimeter( + const G4String & name, const CexmcSetup * setup ) : + CexmcEnergyDepositInLeftRightSet( name, setup ) +{ +} + + +G4int CexmcEnergyDepositInCalorimeter::GetIndex( G4Step * step ) +{ + G4int ret( 0 ); + G4StepPoint * preStep( step->GetPreStepPoint() ); + const G4VTouchable * touchable( preStep->GetTouchable() ); + const G4NavigationHistory * navHistory( touchable->GetHistory() ); + G4int navDepth( navHistory->GetDepth() ); + G4VPhysicalVolume * pVolume( navHistory->GetVolume( + navDepth - 2 ) ); + + if ( setup->IsRightCalorimeter( pVolume ) ) + ret |= 1 << leftRightBitsOffset; + + ret |= touchable->GetReplicaNumber( 0 ); + ret |= touchable->GetReplicaNumber( 1 ) << copyDepth1BitsOffset; + + return ret; +} + + +void CexmcEnergyDepositInCalorimeter::PrintAll( void ) +{ + G4int nmbOfEntries( eventMap->entries() ); + + if ( nmbOfEntries == 0 ) + return; + + G4cout << " --- MultiFunctionalDet " << detector->GetName() << G4endl; + G4cout << " PrimitiveScorer " << GetName() << G4endl; + G4cout << " Number of entries " << nmbOfEntries << G4endl; + + for( std::map< G4int, G4double* >::iterator + itr( eventMap->GetMap()->begin() ); + itr != eventMap->GetMap()->end(); ++itr ) + { + G4bool isRightDetector( itr->first >> leftRightBitsOffset ); + G4int index( itr->first & + ( ( 1 << ( leftRightBitsOffset - 1 ) ) | + ( ( 1 << ( leftRightBitsOffset - 1 ) ) - 1 ) ) ); + G4int copyDepth1( index >> copyDepth1BitsOffset ); + G4int copyDepth0( index & + ( ( 1 << ( copyDepth1BitsOffset - 1 ) ) | + ( ( 1 << ( copyDepth1BitsOffset - 1 ) ) - 1 ) ) ); + const G4String detectorSide( isRightDetector ? "right" : "left" ); + G4cout << " " << detectorSide << " detector, row " << + copyDepth1 << ", column " << copyDepth0 << G4endl; + G4cout << " , energy deposit " << + G4BestUnit( *( itr->second ), "Energy" ) << G4endl; + } +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositInLeftRightSet.cc b/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositInLeftRightSet.cc new file mode 100644 index 0000000000..6a1e6980d2 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcEnergyDepositInLeftRightSet.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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcEnergyDepositInLeftRightSet.cc + * + * Description: energy deposit scorer in left/right detector sets + * (e.g. veto counters and calorimeters) + * + * Version: 1.0 + * Created: 14.11.2009 12:48:22 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include +#include "CexmcEnergyDepositInLeftRightSet.hh" +#include "CexmcSetup.hh" + + +G4int CexmcEnergyDepositInLeftRightSet::leftRightBitsOffset( 16 ); + + +CexmcEnergyDepositInLeftRightSet::CexmcEnergyDepositInLeftRightSet( + const G4String & name, const CexmcSetup * setup ) : + CexmcSimpleEnergyDeposit( name ), setup( setup ) +{ +} + + +G4int CexmcEnergyDepositInLeftRightSet::GetIndex( G4Step * step ) +{ + G4int ret( 0 ); + G4StepPoint * preStep( step->GetPreStepPoint() ); + G4VPhysicalVolume * pVolume( preStep->GetPhysicalVolume() ); + + if ( setup->IsRightDetector( pVolume ) ) + ret |= 1 << leftRightBitsOffset; + + return ret; +} + + +void CexmcEnergyDepositInLeftRightSet::PrintAll( void ) +{ + G4int nmbOfEntries( eventMap->entries() ); + + if ( nmbOfEntries == 0 ) + return; + + G4cout << " --- MultiFunctionalDet " << detector->GetName() << G4endl; + G4cout << " PrimitiveScorer " << GetName() << G4endl; + G4cout << " Number of entries " << nmbOfEntries << G4endl; + + for( std::map< G4int, G4double* >::iterator + itr( eventMap->GetMap()->begin() ); + itr != eventMap->GetMap()->end(); ++itr ) + { + G4bool isRightDetector( itr->first >> leftRightBitsOffset ); + const G4String detectorSide( isRightDetector ? "right" : "left" ); + G4cout << " " << detectorSide << " detector" << G4endl; + G4cout << " , energy deposit " << + G4BestUnit( *( itr->second ), "Energy" ) << G4endl; + } +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcEventAction.cc b/examples/advanced/ChargeExchangeMC/src/CexmcEventAction.cc new file mode 100644 index 0000000000..140c5411e4 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcEventAction.cc @@ -0,0 +1,993 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcEventAction.cc + * + * Description: event action + * + * Version: 1.0 + * Created: 27.10.2009 22:48:08 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifdef CEXMC_USE_PERSISTENCY +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include "CexmcEventAction.hh" +#include "CexmcEventActionMessenger.hh" +#include "CexmcEventInfo.hh" +#include "CexmcEventSObject.hh" +#include "CexmcEventFastSObject.hh" +#include "CexmcTrackingAction.hh" +#include "CexmcChargeExchangeReconstructor.hh" +#ifdef CEXMC_USE_ROOT +#include "CexmcHistoManager.hh" +#endif +#include "CexmcRunManager.hh" +#include "CexmcRun.hh" +#include "CexmcPhysicsManager.hh" +#include "CexmcProductionModel.hh" +#include "CexmcProductionModelData.hh" +#include "CexmcEnergyDepositDigitizer.hh" +#include "CexmcEnergyDepositStore.hh" +#include "CexmcTrackPointsDigitizer.hh" +#include "CexmcTrackPointsStore.hh" +#include "CexmcTrackPointInfo.hh" +#include "CexmcException.hh" +#include "CexmcCommon.hh" + + +namespace +{ + G4double CexmcSmallCircleScreenSize( 5.0 ); + G4double CexmcBigCircleScreenSize( 10.0 ); + G4Colour CexmcTrackPointsMarkerColour( 0.0, 1.0, 0.4 ); + G4Colour CexmcRecTrackPointsMarkerColour( 1.0, 0.4, 0.0 ); +} + + +CexmcEventAction::CexmcEventAction( CexmcPhysicsManager * physicsManager, + G4int verbose ) : + physicsManager( physicsManager ), reconstructor( NULL ), verbose( verbose ), + verboseDraw( 4 ), messenger( NULL ) +{ + G4DigiManager * digiManager( G4DigiManager::GetDMpointer() ); + digiManager->AddNewModule( new CexmcEnergyDepositDigitizer( + CexmcEDDigitizerName ) ); + digiManager->AddNewModule( new CexmcTrackPointsDigitizer( + CexmcTPDigitizerName ) ); + reconstructor = new CexmcChargeExchangeReconstructor( + physicsManager->GetProductionModel() ); + messenger = new CexmcEventActionMessenger( this ); +} + + +CexmcEventAction::~CexmcEventAction() +{ + delete reconstructor; + delete messenger; +} + + +void CexmcEventAction::BeamParticleChangeHook( void ) +{ + reconstructor->SetupBeamParticle(); +} + + +void CexmcEventAction::BeginOfEventAction( const G4Event * ) +{ + G4RunManager * runManager( G4RunManager::GetRunManager() ); + CexmcTrackingAction * trackingAction + ( static_cast< CexmcTrackingAction * >( + const_cast< G4UserTrackingAction * >( + runManager->GetUserTrackingAction() ) ) ); + trackingAction->BeginOfEventAction(); + + physicsManager->ResetNumberOfTriggeredStudiedInteractions(); +} + + +CexmcEnergyDepositStore * CexmcEventAction::MakeEnergyDepositStore( + const CexmcEnergyDepositDigitizer * digitizer, G4bool useInnerRefCrystal ) +{ + G4double monitorED( digitizer->GetMonitorED() ); + G4double vetoCounterEDLeft( digitizer->GetVetoCounterEDLeft() ); + G4double vetoCounterEDRight( digitizer->GetVetoCounterEDRight() ); + G4double calorimeterEDLeft( digitizer->GetCalorimeterEDLeft() ); + G4double calorimeterEDRight( digitizer->GetCalorimeterEDRight() ); + G4int calorimeterEDLeftMaxX( digitizer->GetCalorimeterEDLeftMaxX() ); + G4int calorimeterEDLeftMaxY( digitizer->GetCalorimeterEDLeftMaxY() ); + G4int calorimeterEDRightMaxX( digitizer->GetCalorimeterEDRightMaxX() ); + G4int calorimeterEDRightMaxY( digitizer->GetCalorimeterEDRightMaxY() ); + if ( useInnerRefCrystal ) + { + digitizer->TransformToAdjacentInnerCrystal( calorimeterEDLeftMaxX, + calorimeterEDLeftMaxY ); + digitizer->TransformToAdjacentInnerCrystal( calorimeterEDRightMaxX, + calorimeterEDRightMaxY ); + } + const CexmcEnergyDepositCalorimeterCollection & + calorimeterEDLeftCollection( + digitizer->GetCalorimeterEDLeftCollection() ); + const CexmcEnergyDepositCalorimeterCollection & + calorimeterEDRightCollection( + digitizer->GetCalorimeterEDRightCollection() ); + + /* ATTENTION: return object in heap - must be freed by caller! */ + return new CexmcEnergyDepositStore( monitorED, vetoCounterEDLeft, + vetoCounterEDRight, calorimeterEDLeft, calorimeterEDRight, + calorimeterEDLeftMaxX, calorimeterEDLeftMaxY, + calorimeterEDRightMaxX, calorimeterEDRightMaxY, + calorimeterEDLeftCollection, calorimeterEDRightCollection ); +} + + +CexmcTrackPointsStore * CexmcEventAction::MakeTrackPointsStore( + const CexmcTrackPointsDigitizer * digitizer ) +{ + const CexmcTrackPointInfo & + monitorTP( digitizer->GetMonitorTP() ); + const CexmcTrackPointInfo & + targetTPBeamParticle( + digitizer->GetTargetTPBeamParticle() ); + const CexmcTrackPointInfo & + targetTPOutputParticle( + digitizer->GetTargetTPOutputParticle() ); + const CexmcTrackPointInfo & + targetTPNucleusParticle( + digitizer->GetTargetTPNucleusParticle() ); + const CexmcTrackPointInfo & + targetTPOutputParticleDecayProductParticle1( + digitizer-> + GetTargetTPOutputParticleDecayProductParticle( 0 ) ); + const CexmcTrackPointInfo & + targetTPOutputParticleDecayProductParticle2( + digitizer-> + GetTargetTPOutputParticleDecayProductParticle( 1 ) ); + const CexmcTrackPointInfo & + vetoCounterTPLeft( + digitizer->GetVetoCounterTPLeft() ); + const CexmcTrackPointInfo & + vetoCounterTPRight( + digitizer->GetVetoCounterTPRight() ); + const CexmcTrackPointInfo & + calorimeterTPLeft( + digitizer->GetCalorimeterTPLeft() ); + const CexmcTrackPointInfo & + calorimeterTPRight( + digitizer->GetCalorimeterTPRight() ); + + /* ATTENTION: return object in heap - must be freed by caller! */ + return new CexmcTrackPointsStore( monitorTP, targetTPBeamParticle, + targetTPOutputParticle, targetTPNucleusParticle, + targetTPOutputParticleDecayProductParticle1, + targetTPOutputParticleDecayProductParticle2, + vetoCounterTPLeft, vetoCounterTPRight, + calorimeterTPLeft, calorimeterTPRight ); +} + + +void CexmcEventAction::PrintEnergyDeposit( + const CexmcEnergyDepositStore * edStore ) +{ + G4cout << " --- Energy Deposit" << G4endl; + G4cout << " monitor : " << + G4BestUnit( edStore->monitorED, "Energy" ) << G4endl; + G4cout << " vc (l) : " << + G4BestUnit( edStore->vetoCounterEDLeft, "Energy" ) << G4endl; + G4cout << " vc (r) : " << + G4BestUnit( edStore->vetoCounterEDRight, "Energy" ) << G4endl; + G4cout << " cal (l) : " << + G4BestUnit( edStore->calorimeterEDLeft, "Energy" ); + G4cout << edStore->calorimeterEDLeftCollection; + G4cout << " cal (r) : " << + G4BestUnit( edStore->calorimeterEDRight, "Energy" ); + G4cout << edStore->calorimeterEDRightCollection; +} + + +void CexmcEventAction::PrintTrackPoints( + const CexmcTrackPointsStore * tpStore ) +{ + if ( ! tpStore ) + return; + + G4cout << " --- Track Points" << G4endl; + G4cout << " monitor : " << tpStore->monitorTP << G4endl; + G4cout << " target : " << tpStore->targetTPBeamParticle << G4endl; + G4cout << " : " << tpStore->targetTPOutputParticle << G4endl; + G4cout << " : " << tpStore->targetTPNucleusParticle << G4endl; + G4cout << " : " << + tpStore->targetTPOutputParticleDecayProductParticle1 << G4endl; + G4cout << " : " << + tpStore->targetTPOutputParticleDecayProductParticle2 << G4endl; + G4cout << " vc (l) : " << tpStore->vetoCounterTPLeft << G4endl; + G4cout << " vc (r) : " << tpStore->vetoCounterTPRight << G4endl; + G4cout << " cal (l) : " << tpStore->calorimeterTPLeft << G4endl; + G4cout << " cal (r) : " << tpStore->calorimeterTPRight << G4endl; + G4cout << " ---" << G4endl; + G4cout << " angle between the " << + tpStore->targetTPOutputParticle.particle->GetParticleName() << + " decay products : " << + tpStore->targetTPOutputParticleDecayProductParticle1.directionWorld. + angle( + tpStore->targetTPOutputParticleDecayProductParticle2.directionWorld ) / + deg << " deg" << G4endl; +} + + +void CexmcEventAction::PrintProductionModelData( + const CexmcAngularRangeList & angularRanges, + const CexmcProductionModelData & pmData ) +{ + G4cout << " --- Triggered angular ranges: " << angularRanges; + G4cout << " --- Production model data: " << pmData; +} + + +void CexmcEventAction::PrintReconstructedData( + const CexmcAngularRangeList & triggeredRecAngularRanges, + const CexmcAngularRange & angularGap ) const +{ + G4cout << " --- Reconstructed data: " << G4endl; + G4cout << " -- entry points:" << G4endl; + G4cout << " left: " << G4BestUnit( + reconstructor->GetCalorimeterEPLeftPosition(), "Length" ) << G4endl; + G4cout << " right: " << G4BestUnit( + reconstructor->GetCalorimeterEPRightPosition(), "Length" ) << G4endl; + G4cout << " target: " << G4BestUnit( + reconstructor->GetTargetEPPosition(), "Length" ) << G4endl; + G4cout << " -- the angle: " << reconstructor->GetTheAngle() / deg << + " deg" << G4endl; + G4cout << " -- mass of the output particle: " << G4BestUnit( + reconstructor->GetOutputParticleMass(), "Energy" ) << G4endl; + G4cout << " -- mass of the nucleus output particle: " << G4BestUnit( + reconstructor->GetNucleusOutputParticleMass(), "Energy" ) << G4endl; + if ( reconstructor->IsMassCutUsed() ) + { + if ( reconstructor->HasMassCutTriggered() ) + G4cout << " < mass cut passed >" << G4endl; + else + G4cout << " < mass cut failed >" << G4endl; + } + if ( reconstructor->IsAbsorbedEnergyCutUsed() ) + { + if ( reconstructor->HasAbsorbedEnergyCutTriggered() ) + G4cout << " < absorbed energy cut passed >" << G4endl; + else + G4cout << " < absorbed energy cut failed >" << G4endl; + } + const CexmcProductionModelData & pmData( + reconstructor->GetProductionModelData() ); + G4cout << " -- production model data: " << pmData; + G4cout << " -- triggered angular ranges: "; + if ( triggeredRecAngularRanges.empty() ) + G4cout << "< orphan detected, gap " << angularGap << " >" << G4endl; + else + G4cout << triggeredRecAngularRanges; +} + + +#ifdef CEXMC_USE_ROOT + +void CexmcEventAction::FillEDTHistos( const CexmcEnergyDepositStore * edStore, + const CexmcAngularRangeList & triggeredAngularRanges ) const +{ + CexmcHistoManager * histoManager( CexmcHistoManager::Instance() ); + + histoManager->Add( CexmcAbsorbedEnergy_EDT_Histo, 0, + edStore->calorimeterEDLeft, + edStore->calorimeterEDRight ); + + for ( CexmcAngularRangeList::const_iterator + k( triggeredAngularRanges.begin() ); + k != triggeredAngularRanges.end(); ++k ) + { + histoManager->Add( CexmcAbsEnInLeftCalorimeter_ARReal_EDT_Histo, + k->index, edStore->calorimeterEDLeft ); + histoManager->Add( CexmcAbsEnInRightCalorimeter_ARReal_EDT_Histo, + k->index, edStore->calorimeterEDRight ); + } +} + + +void CexmcEventAction::FillTPTHistos( const CexmcTrackPointsStore * tpStore, + const CexmcProductionModelData & pmData, + const CexmcAngularRangeList & triggeredAngularRanges ) const +{ + CexmcHistoManager * histoManager( CexmcHistoManager::Instance() ); + + if ( tpStore->monitorTP.IsValid() ) + { + histoManager->Add( CexmcMomentumBP_TPT_Histo, 0, + tpStore->monitorTP.momentumAmp ); + histoManager->Add( CexmcTPInMonitor_TPT_Histo, 0, + tpStore->monitorTP.positionLocal.x(), + tpStore->monitorTP.positionLocal.y() ); + } + + if ( tpStore->targetTPOutputParticle.IsValid() ) + { + histoManager->Add( CexmcTPInTarget_TPT_Histo, 0, + tpStore->targetTPOutputParticle.positionLocal.x(), + tpStore->targetTPOutputParticle.positionLocal.y(), + tpStore->targetTPOutputParticle.positionLocal.z() ); + } + + for ( CexmcAngularRangeList::const_iterator + k( triggeredAngularRanges.begin() ); + k != triggeredAngularRanges.end(); ++k ) + { + if ( tpStore->calorimeterTPLeft.IsValid() ) + { + /* kinetic energy and momentum of gamma are equal */ + G4double kinEnergy( tpStore->calorimeterTPLeft.momentumAmp ); + histoManager->Add( CexmcKinEnAtLeftCalorimeter_ARReal_TPT_Histo, + k->index, kinEnergy ); + } + if ( tpStore->calorimeterTPRight.IsValid() ) + { + G4double kinEnergy( tpStore->calorimeterTPRight.momentumAmp ); + histoManager->Add( CexmcKinEnAtRightCalorimeter_ARReal_TPT_Histo, + k->index, kinEnergy ); + } + if ( tpStore->targetTPOutputParticle.IsValid() ) + { + histoManager->Add( CexmcTPInTarget_ARReal_TPT_Histo, k->index, + tpStore->targetTPOutputParticle.positionLocal.x(), + tpStore->targetTPOutputParticle.positionLocal.y(), + tpStore->targetTPOutputParticle.positionLocal.z() ); + G4double momentumAmp( + tpStore->targetTPOutputParticle.momentumAmp ); + G4double mass( tpStore->targetTPOutputParticle.particle-> + GetPDGMass() ); + G4double kinEnergy( std::sqrt( momentumAmp * momentumAmp + + mass * mass ) -mass ); + histoManager->Add( CexmcKinEnOP_LAB_ARReal_TPT_Histo, + k->index, kinEnergy ); + histoManager->Add( CexmcAngleOP_SCM_ARReal_TPT_Histo, + k->index, pmData.outputParticleSCM.cosTheta() ); + } + if ( tpStore->targetTPOutputParticleDecayProductParticle1.IsValid() && + tpStore->targetTPOutputParticleDecayProductParticle2.IsValid() ) + { + G4double openAngle( + tpStore->targetTPOutputParticleDecayProductParticle1. + directionWorld.angle( tpStore-> + targetTPOutputParticleDecayProductParticle2. + directionWorld ) / deg ); + histoManager->Add( CexmcOpenAngle_ARReal_TPT_Histo, + k->index, openAngle ); + } + } +} + + +void CexmcEventAction::FillRTHistos( G4bool reconstructorHasFullTrigger, + const CexmcEnergyDepositStore * edStore, + const CexmcTrackPointsStore * tpStore, + const CexmcProductionModelData & pmData, + const CexmcAngularRangeList & triggeredAngularRanges ) const +{ + CexmcHistoManager * histoManager( CexmcHistoManager::Instance() ); + + G4double opMass( reconstructor->GetOutputParticleMass() ); + G4double nopMass( reconstructor->GetNucleusOutputParticleMass() ); + + histoManager->Add( CexmcRecMasses_EDT_Histo, 0, opMass, nopMass ); + + for ( CexmcAngularRangeList::const_iterator + k( triggeredAngularRanges.begin() ); + k != triggeredAngularRanges.end(); ++k ) + { + if ( tpStore->calorimeterTPLeft.IsValid() ) + { + histoManager->Add( CexmcOPDPAtLeftCalorimeter_ARReal_EDT_Histo, + k->index, + tpStore->calorimeterTPLeft.positionLocal.x(), + tpStore->calorimeterTPLeft.positionLocal.y() ); + } + if ( tpStore->calorimeterTPRight.IsValid() ) + { + histoManager->Add( CexmcOPDPAtRightCalorimeter_ARReal_EDT_Histo, + k->index, + tpStore->calorimeterTPRight.positionLocal.x(), + tpStore->calorimeterTPRight.positionLocal.y() ); + } + histoManager->Add( CexmcRecOPDPAtLeftCalorimeter_ARReal_EDT_Histo, + k->index, + reconstructor->GetCalorimeterEPLeftPosition().x(), + reconstructor->GetCalorimeterEPLeftPosition().y() ); + histoManager->Add( CexmcRecOPDPAtRightCalorimeter_ARReal_EDT_Histo, + k->index, + reconstructor->GetCalorimeterEPRightPosition().x(), + reconstructor->GetCalorimeterEPRightPosition().y() ); + } + + if ( ! reconstructorHasFullTrigger ) + return; + + if ( tpStore->monitorTP.IsValid() ) + { + histoManager->Add( CexmcMomentumBP_RT_Histo, 0, + tpStore->monitorTP.momentumAmp ); + } + + if ( tpStore->targetTPOutputParticle.IsValid() ) + { + histoManager->Add( CexmcTPInTarget_RT_Histo, 0, + tpStore->targetTPOutputParticle.positionLocal.x(), + tpStore->targetTPOutputParticle.positionLocal.y(), + tpStore->targetTPOutputParticle.positionLocal.z() ); + } + + histoManager->Add( CexmcRecMasses_RT_Histo, 0, + reconstructor->GetOutputParticleMass(), + reconstructor->GetNucleusOutputParticleMass() ); + + histoManager->Add( CexmcAbsorbedEnergy_RT_Histo, 0, + edStore->calorimeterEDLeft, + edStore->calorimeterEDRight ); + + G4double recCosTheta( reconstructor->GetProductionModelData(). + outputParticleSCM.cosTheta()); + + for ( CexmcAngularRangeList::const_iterator + k( triggeredAngularRanges.begin() ); + k != triggeredAngularRanges.end(); ++k ) + { + histoManager->Add( CexmcRecMassOP_ARReal_RT_Histo, k->index, opMass ); + histoManager->Add( CexmcRecMassNOP_ARReal_RT_Histo, k->index, nopMass ); + if ( tpStore->calorimeterTPLeft.IsValid() ) + { + G4double kinEnergy( tpStore->calorimeterTPLeft.momentumAmp ); + histoManager->Add( CexmcKinEnAtLeftCalorimeter_ARReal_RT_Histo, + k->index, kinEnergy ); + histoManager->Add( CexmcMissEnFromLeftCalorimeter_ARReal_RT_Histo, + k->index, + kinEnergy - edStore->calorimeterEDLeft ); + } + if ( tpStore->calorimeterTPRight.IsValid() ) + { + G4double kinEnergy( tpStore->calorimeterTPRight.momentumAmp ); + histoManager->Add( CexmcKinEnAtRightCalorimeter_ARReal_RT_Histo, + k->index, kinEnergy ); + histoManager->Add( CexmcMissEnFromRightCalorimeter_ARReal_RT_Histo, + k->index, + kinEnergy - edStore->calorimeterEDRight ); + } + if ( tpStore->targetTPOutputParticle.IsValid() ) + { + histoManager->Add( CexmcTPInTarget_ARReal_RT_Histo, k->index, + tpStore->targetTPOutputParticle.positionLocal.x(), + tpStore->targetTPOutputParticle.positionLocal.y(), + tpStore->targetTPOutputParticle.positionLocal.z() ); + G4double momentumAmp( + tpStore->targetTPOutputParticle.momentumAmp ); + G4double mass( tpStore->targetTPOutputParticle.particle-> + GetPDGMass() ); + G4double kinEnergy( std::sqrt( momentumAmp * momentumAmp + + mass * mass ) -mass ); + histoManager->Add( CexmcKinEnOP_LAB_ARReal_RT_Histo, + k->index, kinEnergy ); + histoManager->Add( CexmcAngleOP_SCM_ARReal_RT_Histo, + k->index, pmData.outputParticleSCM.cosTheta() ); + G4double diffCosTheta( pmData.outputParticleSCM.cosTheta() - + recCosTheta ); + histoManager->Add( CexmcDiffAngleOP_SCM_ARReal_RT_Histo, + k->index, diffCosTheta ); + } + if ( tpStore->targetTPOutputParticleDecayProductParticle1.IsValid() && + tpStore->targetTPOutputParticleDecayProductParticle2.IsValid() ) + { + G4double openAngle( + tpStore->targetTPOutputParticleDecayProductParticle1. + directionWorld.angle( tpStore-> + targetTPOutputParticleDecayProductParticle2. + directionWorld ) / deg ); + histoManager->Add( CexmcOpenAngle_ARReal_RT_Histo, + k->index, openAngle ); + G4double diffOpenAngle( openAngle - reconstructor->GetTheAngle() / + deg ); + histoManager->Add( CexmcDiffOpenAngle_ARReal_RT_Histo, + k->index, diffOpenAngle ); + } + if ( tpStore->calorimeterTPLeft.IsValid() ) + { + histoManager->Add( CexmcOPDPAtLeftCalorimeter_ARReal_RT_Histo, + k->index, + tpStore->calorimeterTPLeft.positionLocal.x(), + tpStore->calorimeterTPLeft.positionLocal.y() ); + } + if ( tpStore->calorimeterTPRight.IsValid() ) + { + histoManager->Add( CexmcOPDPAtRightCalorimeter_ARReal_RT_Histo, + k->index, + tpStore->calorimeterTPRight.positionLocal.x(), + tpStore->calorimeterTPRight.positionLocal.y() ); + } + histoManager->Add( CexmcAbsEnInLeftCalorimeter_ARReal_RT_Histo, + k->index, edStore->calorimeterEDLeft ); + histoManager->Add( CexmcAbsEnInRightCalorimeter_ARReal_RT_Histo, + k->index, edStore->calorimeterEDRight ); + histoManager->Add( CexmcRecAngleOP_SCM_ARReal_RT_Histo, + k->index, recCosTheta ); + histoManager->Add( CexmcRecOpenAngle_ARReal_RT_Histo, + k->index, reconstructor->GetTheAngle() / deg ); + histoManager->Add( CexmcRecOPDPAtLeftCalorimeter_ARReal_RT_Histo, + k->index, + reconstructor->GetCalorimeterEPLeftPosition().x(), + reconstructor->GetCalorimeterEPLeftPosition().y() ); + histoManager->Add( CexmcRecOPDPAtRightCalorimeter_ARReal_RT_Histo, + k->index, + reconstructor->GetCalorimeterEPRightPosition().x(), + reconstructor->GetCalorimeterEPRightPosition().y() ); + } +} + +#endif + + +void CexmcEventAction::DrawTrajectories( const G4Event * event ) +{ + G4VisManager * visManager( static_cast< G4VisManager * >( + G4VVisManager::GetConcreteInstance() ) ); + if ( ! visManager || ! visManager->GetCurrentGraphicsSystem() ) + return; + + G4int nTraj( 0 ); + G4TrajectoryContainer * trajContainer( event->GetTrajectoryContainer() ); + + if ( ! trajContainer ) + return; + + nTraj = trajContainer->entries(); + + G4int drawMode( drawTrajectoryMarkers ? 1000 : 0 ); + + for ( int i( 0 ); i < nTraj; ++i ) + { + G4VTrajectory * traj( ( *trajContainer )[ i ] ); + traj->DrawTrajectory( drawMode ); + } +} + + +void CexmcEventAction::DrawTrackPoints( + const CexmcTrackPointsStore * tpStore ) const +{ + G4VisManager * visManager( static_cast< G4VisManager * >( + G4VVisManager::GetConcreteInstance() ) ); + if ( ! visManager || ! visManager->GetCurrentGraphicsSystem() ) + return; + + G4Circle circle; + G4VisAttributes visAttributes( CexmcTrackPointsMarkerColour ); + circle.SetScreenSize( CexmcSmallCircleScreenSize ); + circle.SetFillStyle( G4Circle::filled ); + circle.SetVisAttributes( visAttributes ); + + if ( tpStore->monitorTP.IsValid() ) + { + circle.SetPosition( tpStore->monitorTP.positionWorld ); + visManager->Draw( circle ); + } + + if ( tpStore->targetTPBeamParticle.IsValid() ) + { + circle.SetPosition( tpStore->targetTPBeamParticle.positionWorld ); + visManager->Draw( circle ); + } + + if ( tpStore->targetTPOutputParticle.IsValid() ) + { + circle.SetPosition( tpStore->targetTPOutputParticle.positionWorld ); + visManager->Draw( circle ); + } + + if ( tpStore->vetoCounterTPLeft.IsValid() ) + { + circle.SetPosition( tpStore->vetoCounterTPLeft.positionWorld ); + visManager->Draw( circle ); + } + + if ( tpStore->vetoCounterTPRight.IsValid() ) + { + circle.SetPosition( tpStore->vetoCounterTPRight.positionWorld ); + visManager->Draw( circle ); + } + + if ( tpStore->calorimeterTPLeft.IsValid() ) + { + circle.SetPosition( tpStore->calorimeterTPLeft.positionWorld ); + visManager->Draw( circle ); + } + + if ( tpStore->calorimeterTPRight.IsValid() ) + { + circle.SetPosition( tpStore->calorimeterTPRight.positionWorld ); + visManager->Draw( circle ); + } +} + + +void CexmcEventAction::DrawReconstructionData( void ) +{ + G4VisManager * visManager( static_cast< G4VisManager * >( + G4VVisManager::GetConcreteInstance() ) ); + if ( ! visManager || ! visManager->GetCurrentGraphicsSystem() ) + return; + + G4Circle circle( reconstructor->GetTargetEPWorldPosition() ); + circle.SetScreenSize( CexmcSmallCircleScreenSize ); + circle.SetFillStyle( G4Circle::filled ); + G4VisAttributes visAttributes( CexmcRecTrackPointsMarkerColour ); + circle.SetVisAttributes( visAttributes ); + visManager->Draw( circle ); + + circle.SetScreenSize( CexmcBigCircleScreenSize ); + circle.SetPosition( reconstructor->GetCalorimeterEPLeftWorldPosition() ); + visManager->Draw( circle ); + + circle.SetPosition( reconstructor->GetCalorimeterEPRightWorldPosition() ); + visManager->Draw( circle ); +} + + +void CexmcEventAction::UpdateRunHits( + const CexmcAngularRangeList & aRangesReal, + const CexmcAngularRangeList & aRangesRec, + G4bool tpDigitizerHasTriggered, + G4bool edDigitizerHasTriggered, + G4bool edDigitizerMonitorHasTriggered, + G4bool reconstructorHasFullTrigger, + const CexmcAngularRange & aGap ) +{ + G4RunManager * runManager( G4RunManager::GetRunManager() ); + const CexmcRun * run( static_cast< const CexmcRun * >( + runManager->GetCurrentRun() ) ); + CexmcRun * theRun( const_cast< CexmcRun * >( run ) ); + + if ( tpDigitizerHasTriggered ) + { + for ( CexmcAngularRangeList::const_iterator k( aRangesReal.begin() ); + k != aRangesReal.end(); ++k ) + { + theRun->IncrementNmbOfHitsSampledFull( k->index ); + if ( edDigitizerMonitorHasTriggered ) + theRun->IncrementNmbOfHitsSampled( k->index ); + if ( reconstructorHasFullTrigger ) + theRun->IncrementNmbOfHitsTriggeredRealRange( k->index ); + } + if ( reconstructorHasFullTrigger ) + { + if ( aRangesRec.empty() ) + { + theRun->IncrementNmbOfOrphanHits( aGap.index ); + } + else + { + for ( CexmcAngularRangeList::const_iterator + k( aRangesRec.begin() ); k != aRangesRec.end(); ++k ) + { + theRun->IncrementNmbOfHitsTriggeredRecRange( k->index ); + } + } + } + } + else + { + if ( edDigitizerHasTriggered ) + theRun->IncrementNmbOfFalseHitsTriggeredEDT(); + if ( reconstructorHasFullTrigger ) + theRun->IncrementNmbOfFalseHitsTriggeredRec(); + } +} + + +#ifdef CEXMC_USE_PERSISTENCY + +void CexmcEventAction::SaveEvent( const G4Event * event, + G4bool edDigitizerHasTriggered, + const CexmcEnergyDepositStore * edStore, + const CexmcTrackPointsStore * tpStore, + const CexmcProductionModelData & pmData ) +{ + CexmcRunManager * runManager( static_cast< CexmcRunManager * >( + G4RunManager::GetRunManager() ) ); + if ( ! runManager->ProjectIsSaved() ) + return; + + if ( runManager->GetEventDataVerboseLevel() == CexmcWriteNoEventData ) + return; + + if ( ! edDigitizerHasTriggered && runManager->GetEventDataVerboseLevel() != + CexmcWriteEventDataOnEveryTPT ) + return; + + boost::archive::binary_oarchive * archive( + runManager->GetEventsArchive() ); + if ( archive ) + { + CexmcEventSObject sObject( event->GetEventID(), + edDigitizerHasTriggered, edStore->monitorED, + edStore->vetoCounterEDLeft, edStore->vetoCounterEDRight, + edStore->calorimeterEDLeft, edStore->calorimeterEDRight, + edStore->calorimeterEDLeftCollection, + edStore->calorimeterEDRightCollection, + tpStore->monitorTP, tpStore->targetTPBeamParticle, + tpStore->targetTPOutputParticle, tpStore->targetTPNucleusParticle, + tpStore->targetTPOutputParticleDecayProductParticle1, + tpStore->targetTPOutputParticleDecayProductParticle2, + tpStore->vetoCounterTPLeft, tpStore->vetoCounterTPRight, + tpStore->calorimeterTPLeft, tpStore->calorimeterTPRight, pmData ); + archive->operator<<( sObject ); + const CexmcRun * run( static_cast< const CexmcRun * >( + runManager->GetCurrentRun() ) ); + CexmcRun * theRun( const_cast< CexmcRun * >( run ) ); + theRun->IncrementNmbOfSavedEvents(); + } +} + + +void CexmcEventAction::SaveEventFast( const G4Event * event, + G4bool tpDigitizerHasTriggered, + G4bool edDigitizerHasTriggered, + G4bool edDigitizerMonitorHasTriggered, + G4double opCosThetaSCM ) +{ + CexmcRunManager * runManager( static_cast< CexmcRunManager * >( + G4RunManager::GetRunManager() ) ); + if ( ! runManager->ProjectIsSaved() ) + return; + + if ( runManager->GetEventDataVerboseLevel() == CexmcWriteNoEventData ) + return; + + boost::archive::binary_oarchive * archive( + runManager->GetFastEventsArchive() ); + if ( archive ) + { + if ( ! tpDigitizerHasTriggered ) + opCosThetaSCM = CexmcInvalidCosTheta; + + CexmcEventFastSObject sObject( event->GetEventID(), opCosThetaSCM, + edDigitizerHasTriggered, + edDigitizerMonitorHasTriggered ); + archive->operator<<( sObject ); + const CexmcRun * run( static_cast< const CexmcRun * >( + runManager->GetCurrentRun() ) ); + CexmcRun * theRun( const_cast< CexmcRun * >( run ) ); + theRun->IncrementNmbOfSavedFastEvents(); + } +} + +#endif + + +void CexmcEventAction::EndOfEventAction( const G4Event * event ) +{ + G4DigiManager * digiManager( G4DigiManager::GetDMpointer() ); + CexmcEnergyDepositDigitizer * energyDepositDigitizer( + static_cast< CexmcEnergyDepositDigitizer* >( digiManager-> + FindDigitizerModule( CexmcEDDigitizerName ) ) ); + CexmcTrackPointsDigitizer * trackPointsDigitizer( + static_cast< CexmcTrackPointsDigitizer* >( digiManager-> + FindDigitizerModule( CexmcTPDigitizerName ) ) ); + + energyDepositDigitizer->Digitize(); + trackPointsDigitizer->Digitize(); + + G4bool edDigitizerMonitorHasTriggered( + energyDepositDigitizer->MonitorHasTriggered() ); + G4bool edDigitizerHasTriggered( false ); + + CexmcEventInfo * eventInfo( static_cast< CexmcEventInfo * >( + event->GetUserInformation() ) ); + if ( ! eventInfo || eventInfo->EdTriggerIsOk() ) + edDigitizerHasTriggered = energyDepositDigitizer->HasTriggered(); + + G4bool tpDigitizerHasTriggered( trackPointsDigitizer->HasTriggered() ); + G4bool reconstructorHasBasicTrigger( false ); + G4bool reconstructorHasFullTrigger( false ); + + CexmcEnergyDepositStore * edStore( MakeEnergyDepositStore( + energyDepositDigitizer, + reconstructor->IsInnerRefCrystalUsed() ) ); + CexmcTrackPointsStore * tpStore( MakeTrackPointsStore( + trackPointsDigitizer ) ); + + try + { + CexmcProductionModel * productionModel( + physicsManager->GetProductionModel() ); + + if ( ! productionModel ) + throw CexmcException( CexmcWeirdException ); + + const CexmcAngularRangeList & angularRanges( + productionModel->GetAngularRanges() ); + const CexmcAngularRangeList & triggeredAngularRanges( + productionModel->GetTriggeredAngularRanges() ); + const CexmcProductionModelData & pmData( + productionModel->GetProductionModelData() ); + + if ( edDigitizerHasTriggered ) + { + reconstructor->Reconstruct( edStore ); + reconstructorHasBasicTrigger = reconstructor->HasBasicTrigger(); + reconstructorHasFullTrigger = reconstructor->HasFullTrigger(); + } + + CexmcAngularRangeList triggeredRecAngularRanges; + + if ( reconstructorHasBasicTrigger ) + { + for ( CexmcAngularRangeList::const_iterator + k( angularRanges.begin() ); k != angularRanges.end(); ++k ) + { + G4double cosTheta( reconstructor->GetProductionModelData(). + outputParticleSCM.cosTheta() ); + if ( cosTheta <= k->top && cosTheta > k->bottom ) + triggeredRecAngularRanges.push_back( CexmcAngularRange( + k->top, k->bottom, k->index ) ); + } + } + + CexmcAngularRange angularGap( 0.0, 0.0, 0 ); + if ( triggeredRecAngularRanges.empty() ) + { + CexmcAngularRangeList angularGaps; + GetAngularGaps( angularRanges, angularGaps ); + for ( CexmcAngularRangeList::const_iterator + k( angularGaps.begin() ); k != angularGaps.end(); ++k ) + { + G4double cosTheta( reconstructor->GetProductionModelData(). + outputParticleSCM.cosTheta() ); + if ( cosTheta <= k->top && cosTheta > k->bottom ) + { + angularGap = *k; + break; + } + } + } + + UpdateRunHits( triggeredAngularRanges, triggeredRecAngularRanges, + tpDigitizerHasTriggered, edDigitizerHasTriggered, + edDigitizerMonitorHasTriggered, + reconstructorHasFullTrigger, angularGap ); + + if ( verbose > 0 ) + { + G4bool printMessages( verbose > 3 || + ( ( verbose == 1 ) && tpDigitizerHasTriggered ) || + ( ( verbose == 2 ) && edDigitizerHasTriggered ) || + ( ( verbose == 3 ) && ( tpDigitizerHasTriggered || + edDigitizerHasTriggered ) ) ); + if ( printMessages ) + { + G4cout << "Event " << event->GetEventID() << G4endl; + if ( tpDigitizerHasTriggered ) + { + PrintTrackPoints( tpStore ); + PrintProductionModelData( triggeredAngularRanges, pmData ); + } + if ( reconstructorHasBasicTrigger ) + PrintReconstructedData( triggeredRecAngularRanges, + angularGap ); + if ( edDigitizerHasTriggered ) + PrintEnergyDeposit( edStore ); + } + } + + if ( verboseDraw > 0 ) + { + G4bool drawTrajectories( verboseDraw > 3 || + ( ( verboseDraw == 1 ) && tpDigitizerHasTriggered ) || + ( ( verboseDraw == 2 ) && edDigitizerHasTriggered ) || + ( ( verboseDraw == 3 ) && ( tpDigitizerHasTriggered || + edDigitizerHasTriggered ) ) ); + if ( drawTrajectories ) + { + DrawTrajectories( event ); + if ( tpDigitizerHasTriggered ) + DrawTrackPoints( tpStore ); + if ( reconstructorHasBasicTrigger ) + DrawReconstructionData(); + } + } + +#ifdef CEXMC_USE_PERSISTENCY + if ( edDigitizerHasTriggered || tpDigitizerHasTriggered ) + { + SaveEventFast( event, tpDigitizerHasTriggered, + edDigitizerHasTriggered, + edDigitizerMonitorHasTriggered, + pmData.outputParticleSCM.cosTheta() ); + SaveEvent( event, edDigitizerHasTriggered, edStore, tpStore, + pmData ); + } +#endif + +#ifdef CEXMC_USE_ROOT + if ( edDigitizerHasTriggered ) + { + FillEDTHistos( edStore, triggeredAngularRanges ); + } + + if ( tpDigitizerHasTriggered ) + { + FillTPTHistos( tpStore, pmData, triggeredAngularRanges ); + } + + if ( reconstructorHasBasicTrigger ) + { + FillRTHistos( reconstructorHasFullTrigger, edStore, tpStore, + pmData, triggeredAngularRanges ); + } +#endif + + G4Event * theEvent( const_cast< G4Event * >( event ) ); + if ( eventInfo ) + { + delete eventInfo; + theEvent->SetUserInformation( NULL ); + } + theEvent->SetUserInformation( new CexmcEventInfo( + edDigitizerHasTriggered, + tpDigitizerHasTriggered, + reconstructorHasFullTrigger ) ); + } + catch ( CexmcException & e ) + { + G4cout << e.what() << G4endl; + } + catch ( ... ) + { + G4cout << "Unknown exception caught" << G4endl; + } + + delete edStore; + delete tpStore; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcEventActionMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcEventActionMessenger.cc new file mode 100644 index 0000000000..d867849abf --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcEventActionMessenger.cc @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcEventActionMessenger.cc + * + * Description: event action messenger (verbose level etc.) + * + * Version: 1.0 + * Created: 25.11.2009 14:45:01 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include "CexmcEventActionMessenger.hh" +#include "CexmcEventAction.hh" +#include "CexmcMessenger.hh" + + +CexmcEventActionMessenger::CexmcEventActionMessenger( + CexmcEventAction * eventAction ) : + eventAction( eventAction ), setVerboseLevel( NULL ), + setVerboseDrawLevel( NULL ), drawTrajectoryMarkers( NULL ) +{ + setVerboseLevel = new G4UIcmdWithAnInteger( + ( CexmcMessenger::eventDirName + "verbose" ).c_str() , this ); + setVerboseLevel->SetGuidance( "\n 0 - do not print messages,\n" + " 1 - print messages if studied interaction " + "triggered,\n" + " 2 - print messages on event trigger\n" + " (reconstructed data will also be printed in " + "this case),\n" + " 3 - print messages if studied interaction or " + "event\n triggered,\n" + " 4 - print messages on every event" ); + setVerboseLevel->SetParameterName( "Verbose", false ); + setVerboseLevel->SetDefaultValue( 0 ); + setVerboseLevel->SetRange( "Verbose >= 0 && Verbose <= 4" ); + setVerboseLevel->AvailableForStates( G4State_PreInit, G4State_Idle ); + + setVerboseDrawLevel = new G4UIcmdWithAnInteger( + ( CexmcMessenger::visDirName + "verbose" ).c_str() , this ); + setVerboseDrawLevel->SetGuidance( "\n 0 - draw nothing,\n" + " 1 - draw trajectories and track points if studied " + "interaction\n triggered,\n" + " 2 - draw trajectories and track points on event " + "trigger\n" + " (reconstructed data will also be drawn in " + "this case),\n" + " 3 - draw trajectories and track points if " + "studied interaction\n or event " + "triggered,\n" + " 4 - draw trajectories and/or track points on " + "every event" ); + setVerboseDrawLevel->SetParameterName( "VerboseDraw", false ); + setVerboseDrawLevel->SetDefaultValue( 4 ); + setVerboseDrawLevel->SetRange( "VerboseDraw >= 0 && VerboseDraw <= 4" ); + setVerboseDrawLevel->AvailableForStates( G4State_PreInit, G4State_Idle ); + + drawTrajectoryMarkers = new G4UIcmdWithABool( + ( CexmcMessenger::visDirName + "drawTrajMarkers" ).c_str() , this ); + drawTrajectoryMarkers->SetGuidance( "draw markers in places where " + "trajectories change" ); + drawTrajectoryMarkers->SetParameterName( "DrawTrajMarkers", false ); + drawTrajectoryMarkers->SetDefaultValue( false ); + drawTrajectoryMarkers->AvailableForStates( G4State_PreInit, G4State_Idle ); +} + + +CexmcEventActionMessenger::~CexmcEventActionMessenger() +{ + delete setVerboseLevel; + delete setVerboseDrawLevel; + delete drawTrajectoryMarkers; +} + + +void CexmcEventActionMessenger::SetNewValue( G4UIcommand * cmd, + G4String value ) +{ + do + { + if ( cmd == setVerboseLevel ) + { + eventAction->SetVerboseOnCexmcLevel( + G4UIcmdWithAnInteger::GetNewIntValue( value ) ); + break; + } + if ( cmd == setVerboseDrawLevel ) + { + eventAction->SetVerboseDrawLevel( + G4UIcmdWithAnInteger::GetNewIntValue( value ) ); + break; + } + if ( cmd == drawTrajectoryMarkers ) + { + eventAction->DrawTrajectoryMarkers( + G4UIcmdWithABool::GetNewBoolValue( value ) ); + break; + } + } while ( false ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcEventFastSObject.cc b/examples/advanced/ChargeExchangeMC/src/CexmcEventFastSObject.cc new file mode 100644 index 0000000000..45a59beecb --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcEventFastSObject.cc @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcEventFastSObject.cc + * + * Description: event data serialization helper + * + * Version: 1.0 + * Created: 02.01.2010 20:31:12 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifdef CEXMC_USE_PERSISTENCY + +#include "CexmcEventFastSObject.hh" + + +CexmcEventFastSObject::CexmcEventFastSObject() +{ +} + + +CexmcEventFastSObject::CexmcEventFastSObject( G4int eventId, + G4double opCosThetaSCM, G4bool edDigitizerHasTriggered, + G4bool edDigitizerMonitorHasTriggered ) : + eventId( eventId ), opCosThetaSCM( opCosThetaSCM ), + edDigitizerHasTriggered( edDigitizerHasTriggered ), + edDigitizerMonitorHasTriggered( edDigitizerMonitorHasTriggered ) +{ +} + +#endif + diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc b/examples/advanced/ChargeExchangeMC/src/CexmcEventInfo.cc similarity index 68% rename from examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc rename to examples/advanced/ChargeExchangeMC/src/CexmcEventInfo.cc index d4dd06f4cb..a8d20f3f57 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc +++ b/examples/advanced/ChargeExchangeMC/src/CexmcEventInfo.cc @@ -23,33 +23,36 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: AnaEx01RunAction.cc,v 1.7 2006/06/29 16:34:01 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// +/* + * ============================================================================ + * + * Filename: CexmcEventInfo.cc + * + * Description: event information passed to run manager + * + * Version: 1.0 + * Created: 04.12.2009 15:50:54 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ -#ifdef G4ANALYSIS_USE -#include "AnaEx01AnalysisManager.hh" -#endif +#include "CexmcEventInfo.hh" -#include "AnaEx01RunAction.hh" -AnaEx01RunAction::AnaEx01RunAction( - AnaEx01AnalysisManager* aAnalysisManager -):fAnalysisManager(aAnalysisManager){} - -AnaEx01RunAction::~AnaEx01RunAction(){} - -void AnaEx01RunAction::BeginOfRunAction(const G4Run* aRun) { -#ifdef G4ANALYSIS_USE - if(fAnalysisManager) fAnalysisManager->BeginOfRun(aRun); -#endif +CexmcEventInfo::CexmcEventInfo( G4bool edTriggerIsOk, G4bool tpTriggerIsOk, + G4bool reconstructionIsOk ) : + edTriggerIsOk( edTriggerIsOk ), tpTriggerIsOk( tpTriggerIsOk ), + reconstructionIsOk( reconstructionIsOk ) +{ } -void AnaEx01RunAction::EndOfRunAction(const G4Run* aRun){ -#ifdef G4ANALYSIS_USE - if(fAnalysisManager) fAnalysisManager->EndOfRun(aRun); -#endif + +void CexmcEventInfo::Print( void ) const +{ } diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcEventSObject.cc b/examples/advanced/ChargeExchangeMC/src/CexmcEventSObject.cc new file mode 100644 index 0000000000..bc86b84bb9 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcEventSObject.cc @@ -0,0 +1,100 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcEventSObject.cc + * + * Description: event data serialization helper + * + * Version: 1.0 + * Created: 30.12.2009 17:10:25 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifdef CEXMC_USE_PERSISTENCY + +#include "CexmcEventSObject.hh" +#include "CexmcTrackPointInfo.hh" + + +CexmcEventSObject::CexmcEventSObject() : edDigitizerMonitorHasTriggered( true ) +{ +} + + +CexmcEventSObject::CexmcEventSObject( G4int eventId, + G4bool edDigitizerMonitorHasTriggered, G4double monitorED, + G4double vetoCounterEDLeft, G4double vetoCounterEDRight, + G4double calorimeterEDLeft, G4double calorimeterEDRight, + const CexmcEnergyDepositCalorimeterCollection & + calorimeterEDLeftCollection, + const CexmcEnergyDepositCalorimeterCollection & + calorimeterEDRightCollection, + const CexmcTrackPointInfo & monitorTP, + const CexmcTrackPointInfo & targetTPBeamParticle, + const CexmcTrackPointInfo & targetTPOutputParticle, + const CexmcTrackPointInfo & targetTPNucleusParticle, + const CexmcTrackPointInfo & + targetTPOutputParticleDecayProductParticle1, + const CexmcTrackPointInfo & + targetTPOutputParticleDecayProductParticle2, + const CexmcTrackPointInfo & vetoCounterTPLeft, + const CexmcTrackPointInfo & vetoCounterTPRight, + const CexmcTrackPointInfo & calorimeterTPLeft, + const CexmcTrackPointInfo & calorimeterTPRight, + const CexmcProductionModelData & productionModelData ) : + eventId( eventId ), + edDigitizerMonitorHasTriggered( edDigitizerMonitorHasTriggered ), + monitorED( monitorED ), vetoCounterEDLeft( vetoCounterEDLeft ), + vetoCounterEDRight( vetoCounterEDRight ), + calorimeterEDLeft( calorimeterEDLeft ), + calorimeterEDRight( calorimeterEDRight ), + calorimeterEDLeftCollection( calorimeterEDLeftCollection ), + calorimeterEDRightCollection( calorimeterEDRightCollection ), + monitorTP( monitorTP ), targetTPBeamParticle( targetTPBeamParticle ), + targetTPOutputParticle( targetTPOutputParticle ), + targetTPNucleusParticle( targetTPNucleusParticle ), + targetTPOutputParticleDecayProductParticle1( + targetTPOutputParticleDecayProductParticle1 ), + targetTPOutputParticleDecayProductParticle2( + targetTPOutputParticleDecayProductParticle2 ), + vetoCounterTPLeft( vetoCounterTPLeft ), + vetoCounterTPRight( vetoCounterTPRight ), + calorimeterTPLeft( calorimeterTPLeft ), + calorimeterTPRight( calorimeterTPRight ), + productionModelData( productionModelData ) +{ +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcException.cc b/examples/advanced/ChargeExchangeMC/src/CexmcException.cc new file mode 100644 index 0000000000..de8f63b959 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcException.cc @@ -0,0 +1,187 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcException.cc + * + * Description: cexmc exceptions + * + * Version: 1.0 + * Created: 23.12.2009 13:42:26 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include "CexmcException.hh" +#include "CexmcRunManager.hh" +#include "CexmcCommon.hh" + + +CexmcException::CexmcException( CexmcExceptionType type ) : type( type ) +{ +} + + +CexmcException::~CexmcException() throw() +{ +} + + +const char * CexmcException::what( void ) const throw() +{ + switch ( type ) + { + case CexmcSystemException : + return CEXMC_LINE_START "Unspecified system exception."; + case CexmcEventActionIsNotInitialized : + return CEXMC_LINE_START "Event action was not initialized."; + case CexmcCmdLineParseException : + return CEXMC_LINE_START "Exception in command line arguments. " + "Check your command line arguments."; + case CexmcPreinitException : + return CEXMC_LINE_START "Exception in PreInit phase. " + "Probably you did not specify preinit macro or production model " + "in it."; + case CexmcFileCompressException : + return CEXMC_LINE_START "File compress exception. " + "Check if the file exists and output directory is writable."; + case CexmcReadProjectIncomplete : + return CEXMC_LINE_START "Read project is incomplete. " + "Check if the read project has complete set of data files."; + case CexmcProjectExists : + return CEXMC_LINE_START "Project you try to write exists. " + "Use command line option '-y' to force project override."; + case CexmcCmdIsNotAllowed : + return CEXMC_LINE_START "Command is not allowed here. " + "Probably you tried to issue a command which would override " + "read-only settings in the read project."; + case CexmcBadAngularRange : + return CEXMC_LINE_START "Bad angular range. " + "Check specified angular ranges (probably they mismatch ranges " + "in the read project)."; + case CexmcBadThreshold : + return CEXMC_LINE_START "Bad threshold. " + "Check specified thresholds (probably they mismatch thresholds " + "in the read project)."; + case CexmcBadCalorimeterTriggerAlgorithm : + return CEXMC_LINE_START "Bad calorimeter trigger algorithm. " + "Check specified calorimeter trigger algorithm (probably it " + "mismatches algorithm in the read project)."; + case CexmcBadOCVetoAlgorithm : + return CEXMC_LINE_START "Bad outer crystals veto algorithm. " + "Check specified outer crystals veto algorithm (probably it " + "mismatches algorithm in the read project)."; + case CexmcBadOCVetoFraction : + return CEXMC_LINE_START "Bad outer crystals veto fraction. " + "Check specified outer crystals veto fraction (probably it " + "has higher value than in the read project)."; + case CexmcCalorimeterRegionNotInitialized : + return CEXMC_LINE_START "Calorimeter sensitive region was not " + "initialized. Check gdml source file."; + case CexmcCalorimeterGeometryDataNotInitialized : + return CEXMC_LINE_START "Calorimeter geometry data was not " + "initialized. Check gdml source file."; + case CexmcMultipleDetectorRoles : + return CEXMC_LINE_START "Multiple detector roles for one logical " + "volume. Check gdml source file."; + case CexmcKinematicsException : + return CEXMC_LINE_START "Kinematics exception. " + "Check your production model."; + case CexmcPoorEventData : + return CEXMC_LINE_START "Cannot create rich event data from poor " + "original data. Set less value of event data verbose level."; + case CexmcIncompatibleGeometry : + return CEXMC_LINE_START "Incompatible geometry definition. " + "Check your geometry data."; + case CexmcIncompleteProductionModel : + return CEXMC_LINE_START "Production model provided is incomplete. " + "Check that your production model defines all particles."; + case CexmcIncompatibleProductionModel : + return CEXMC_LINE_START "Production model provided is incompatible " + "with physical process that tries to bind it."; + case CexmcBeamAndIncidentParticlesMismatch : + return CEXMC_LINE_START "Beam and incident particles mismatch. " + "Instantiated reconstructor will not give reliable results in " + "this case. Make sure that beam particle and incident particle " + "of provided production model are same."; + case CexmcInvalidAngularRange : + return CEXMC_LINE_START "An angular range is not valid. " + "Check specified angular ranges."; +#ifdef CEXMC_USE_CUSTOM_FILTER + case CexmcCFBadSource : + return CEXMC_LINE_START "Custom filter source file does not exist or " + "damaged. Check your command line arguments or source file."; + case CexmcCFParseError : + return CEXMC_LINE_START "Custom filter source file contains errors. " + "Check your custom filter source file."; + case CexmcCFUninitialized : + return CEXMC_LINE_START "Custom filter was not properly initialized."; + case CexmcCFUninitializedVector : + return CEXMC_LINE_START "Custom filter: A vector variable was not " + "initialized."; + case CexmcCFUnexpectedContext : + return CEXMC_LINE_START "Custom filter: a variable or function call is " + "in wrong type context (scalar when a vector is expected or " + "vice versa). Check your custom filter script."; + case CexmcCFUnexpectedFunction : + return CEXMC_LINE_START "Custom filter: a function is unknown or in " + "wrong type context. Check your custom filter script."; + case CexmcCFUnexpectedVariable : + return CEXMC_LINE_START "Custom filter: a variable is unknown or in " + "wrong type context. Check your custom filter script."; + case CexmcCFUnexpectedVariableUsage : + return CEXMC_LINE_START "Custom filter: a variable is used in wrong " + "type context (scalar when a vector is expected or vice " + "versa). Check your custom filter script."; + case CexmcCFUnexpectedVectorIndex : + return CEXMC_LINE_START "Custom filter: a vector variable with wrong " + "index. Indices of vectors should start from 1. Check your " + "custom filter script."; +#endif + case CexmcWeirdException : + return CEXMC_LINE_START "A weird exception occured. " + "The world must collapse now."; + default : + return CEXMC_LINE_START "Unknown exception."; + } +} + + +void ThrowExceptionIfProjectIsRead( CexmcExceptionType type, + G4bool extraCond ) +{ + CexmcRunManager * runManager( static_cast< CexmcRunManager * >( + G4RunManager::GetRunManager() ) ); + if ( runManager->ProjectIsRead() && extraCond ) + throw CexmcException( type ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcGenbod.cc b/examples/advanced/ChargeExchangeMC/src/CexmcGenbod.cc new file mode 100644 index 0000000000..1c00a4bd21 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcGenbod.cc @@ -0,0 +1,143 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcGenbod.cc + * + * Description: original fortran routine GENBOD wrapper + * + * Version: 1.0 + * Created: 08.09.2010 14:36:23 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifdef CEXMC_USE_GENBOD + +#include "CexmcGenbod.hh" +#include "CexmcException.hh" + + +extern "C" +{ + extern int genbod_( void ); +} + + +extern struct genbod_in_data +{ + int np; + float tecm; + float amass[ 18 ]; + int kgenev; +} genin_; + + +extern struct genbod_out_data +{ + float pcm[ 18 ][ 5 ]; + float wt; +} genout_; + + +CexmcGenbod::CexmcGenbod() +{ + genin_.np = 0; + genin_.kgenev = 1; +} + + +G4bool CexmcGenbod::CheckKinematics( void ) +{ + totalEnergy = 0.; + for ( CexmcPhaseSpaceInVector::const_iterator k( inVec.begin() ); + k != inVec.end(); ++k ) + { + totalEnergy += ( *k )->e(); + } + + /* epsilon is needed to compensate float to fortran real cast accuracy, + * the value 3E-6 was found experimentally, maybe has to be made bigger, + * but not smaller */ + const float epsilon( 3E-6 ); + + return totalEnergy - totalMass > 0.0f + epsilon; +} + + +G4double CexmcGenbod::Generate( void ) +{ + genin_.tecm = totalEnergy / GeV; + + genbod_(); + + float ( *pcm )[ 5 ]( &genout_.pcm[ 0 ] ); + + for ( CexmcPhaseSpaceOutVector::iterator k( outVec.begin() ); + k != outVec.end(); ++k ) + { + k->lVec->setPx( ( *pcm )[ 0 ] * GeV ); + k->lVec->setPy( ( *pcm )[ 1 ] * GeV ); + k->lVec->setPz( ( *pcm )[ 2 ] * GeV ); + k->lVec->setE( ( *pcm++ )[ 3 ] * GeV ); + } + + return genout_.wt; +} + + +void CexmcGenbod::ParticleChangeHook( void ) +{ + size_t nmbOfOutputParticles( outVec.size() ); + + if ( nmbOfOutputParticles < 2 || nmbOfOutputParticles > 18 ) + throw CexmcException( CexmcKinematicsException ); + + genin_.np = nmbOfOutputParticles; + + float * amass( genin_.amass ); + + for ( CexmcPhaseSpaceOutVector::const_iterator k( outVec.begin() ); + k != outVec.end(); ++k ) + { + *amass++ = k->mass / GeV; + } +} + + +void CexmcGenbod::FermiEnergyDepStatusChangeHook( void ) +{ + genin_.kgenev = fermiEnergyDepIsOn ? 2 : 1; +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcHadronicProcess.cc b/examples/advanced/ChargeExchangeMC/src/CexmcHadronicProcess.cc new file mode 100644 index 0000000000..f23fd44d14 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcHadronicProcess.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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcHadronicProcess.cc + * + * Description: hadronic process with production model + * + * Version: 1.0 + * Created: 31.10.2009 23:54:38 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "CexmcHadronicProcess.hh" +#include "CexmcProductionModel.hh" +#include "CexmcIncidentParticleTrackInfo.hh" +#include "CexmcException.hh" + + +CexmcHadronicProcess::CexmcHadronicProcess( const G4String & name ) : + G4HadronicProcess( name ), productionModel( NULL ), interaction( NULL ), + theTotalResult( NULL ), isInitialized( false ) +{ + theTotalResult = new G4ParticleChange(); +} + + +CexmcHadronicProcess::~CexmcHadronicProcess() +{ + delete theTotalResult; +} + + +void CexmcHadronicProcess::RegisterProductionModel( + CexmcProductionModel * productionModel_ ) +{ + productionModel = productionModel_; + + interaction = dynamic_cast< G4HadronicInteraction * >( productionModel ); + + if ( ! interaction ) + throw CexmcException( CexmcIncompatibleProductionModel ); + + G4HadronicProcess::RegisterMe( interaction ); +} + + +void CexmcHadronicProcess::CalculateTargetNucleus( + const G4Material * material ) +{ + G4int numberOfElements( material->GetNumberOfElements() ); + if ( numberOfElements > 1 ) + { + G4cout << CEXMC_LINE_START "WARNING: Number of elements in target " + "material is more than 1.\n Only the first " + "element will be chosen for target nucleus" << G4endl; + } + + const G4Element * element( material->GetElement( 0 ) ); + G4double ZZ( element->GetZ() ); + G4int Z( G4int( ZZ + 0.5 ) ); + + G4StableIsotopes stableIsotopes; + G4int index( stableIsotopes.GetFirstIsotope( Z ) ); + G4double AA( stableIsotopes.GetIsotopeNucleonCount( index ) ); + + targetNucleus.SetParameters( AA, ZZ ); +} + + +void CexmcHadronicProcess::FillTotalResult( G4HadFinalState * hadFinalState, + const G4Track & track ) +{ + G4int numberOfSecondaries( hadFinalState->GetNumberOfSecondaries() ); + + theTotalResult->Clear(); + theTotalResult->Initialize( track ); + theTotalResult->SetSecondaryWeightByProcess( true ); + theTotalResult->ProposeLocalEnergyDeposit( + hadFinalState->GetLocalEnergyDeposit() ); + theTotalResult->SetNumberOfSecondaries( numberOfSecondaries ); + theTotalResult->ProposeEnergy( hadFinalState->GetEnergyChange() ); + theTotalResult->ProposeTrackStatus( fAlive ); + if ( hadFinalState->GetStatusChange() == stopAndKill ) + theTotalResult->ProposeTrackStatus( fStopAndKill ); + + for( G4int i( 0 ); i < numberOfSecondaries; ++i ) + { + G4double time( hadFinalState->GetSecondary( i )->GetTime() ); + if ( time < 0 ) + time = track.GetGlobalTime(); + + G4Track * newTrack( new G4Track( + hadFinalState->GetSecondary( i )->GetParticle(), + time, track.GetPosition() ) ); + + G4double newWeight( track.GetWeight() * + hadFinalState->GetSecondary( i )->GetWeight() ); + newTrack->SetWeight( newWeight ); + newTrack->SetTouchableHandle( track.GetTouchableHandle() ); + theTotalResult->AddSecondary( newTrack ); + } + + hadFinalState->Clear(); +} + + +G4VParticleChange * CexmcHadronicProcess::PostStepDoIt( const G4Track & track, + const G4Step & ) +{ + G4TrackStatus trackStatus( track.GetTrackStatus() ); + + if ( trackStatus != fAlive && trackStatus != fSuspend ) + { + theTotalResult->Clear(); + theTotalResult->Initialize( track ); + + return theTotalResult; + } + + /* NB: the target nucleus is chosen only once, it means that it will always + * have same Z and A, practically the first stable isotope of the first + * element in elements vector will be chosen. This simplification prompts + * the user to choose simple single-element material for the target, for + * example liquid hydrogen. On the other hand target nucleus is supposedly + * only needed if user decides to turn Fermi motion on, so this + * simplification should not be very harmful */ + if ( ! isInitialized ) + { + CalculateTargetNucleus( track.GetMaterial() ); + isInitialized = true; + } + + G4HadProjectile projectile( track ); + G4HadFinalState * result( interaction->ApplyYourself( projectile, + targetNucleus ) ); + FillTotalResult( result, track ); + + if ( theTotalResult->GetTrackStatus() != fStopAndKill ) + { + CexmcTrackInfo * trackInfo( static_cast< CexmcTrackInfo * >( + track.GetUserInformation() ) ); + + if ( trackInfo && + trackInfo->GetTypeInfo() == CexmcIncidentParticleTrackType ) + { + CexmcIncidentParticleTrackInfo * theTrackInfo( + static_cast< CexmcIncidentParticleTrackInfo * >( trackInfo ) ); + theTrackInfo->SetNeedsTrackLengthResampling(); + } + } + + return theTotalResult; +} + + +G4bool CexmcHadronicProcess::IsApplicable( + const G4ParticleDefinition & particle ) +{ + if ( ! productionModel ) + return false; + + G4ParticleDefinition * incidentParticle( + productionModel->GetIncidentParticle() ); + + if ( ! incidentParticle ) + return false; + + return particle == *incidentParticle; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcHistoManager.cc b/examples/advanced/ChargeExchangeMC/src/CexmcHistoManager.cc new file mode 100644 index 0000000000..ab7d5c6039 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcHistoManager.cc @@ -0,0 +1,788 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcHistoManager.cc + * + * Description: histograming manager (singleton) + * + * Version: 1.0 + * Created: 26.11.2009 21:00:03 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifdef CEXMC_USE_ROOT + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef CEXMC_USE_ROOTQT +#include +#include +#include +#endif +#include +#include +#include +#include "CexmcHistoManager.hh" +#include "CexmcHistoManagerMessenger.hh" +#include "CexmcProductionModel.hh" +#include "CexmcPhysicsManager.hh" +#include "CexmcRunManager.hh" +#include "CexmcSetup.hh" +#include "CexmcException.hh" +#include "CexmcHistoWidget.hh" + +extern TDirectory * gDirectory; + + +namespace +{ + const G4double CexmcHistoBeamMomentumMin( 0.0 * GeV ); + const G4double CexmcHistoBeamMomentumMax( 1.0 * GeV ); + const G4double CexmcHistoBeamMomentumResolution( 0.5 * MeV ); + const G4double CexmcHistoTPResolution( 0.1 * cm ); + const G4double CexmcHistoTPSafetyArea( 1.0 * cm ); + const G4double CexmcHistoMassResolution( 1.0 * MeV ); + const G4double CexmcHistoEnergyMax( 1.0 * GeV ); + const G4double CexmcHistoEnergyResolution( 1.0 * MeV ); + const G4double CexmcHistoMissEnergyMin( -0.1 * GeV ); + const G4double CexmcHistoMissEnergyMax( 0.2 * GeV ); + const G4double CexmcHistoMissEnergyResolution( 0.2 * MeV ); + const G4double CexmcHistoAngularResolution( 0.5 ); + const G4double CexmcHistoAngularCResolution( 0.001 ); + const G4int CexmcHistoCanvasWidth( 800 ); + const G4int CexmcHistoCanvasHeight( 600 ); +} + + +CexmcHistoManager * CexmcHistoManager::instance( NULL ); + + +CexmcHistoManager * CexmcHistoManager::Instance( void ) +{ + if ( instance == NULL ) + instance = new CexmcHistoManager; + + return instance; +} + + +void CexmcHistoManager::Destroy( void ) +{ + delete instance; + instance = NULL; +} + + +CexmcHistoManager::CexmcHistoManager() : outFile( NULL ), + isInitialized( false ), opName( "" ), nopName( "" ), opMass( 0. ), + nopMass( 0. ), +#ifdef CEXMC_USE_ROOTQT + rootCanvas( NULL ), +#endif + messenger( NULL ) +{ + for ( int i( 0 ); i < CexmcHistoType_SIZE; ++i ) + { + histos.insert( CexmcHistoPair( CexmcHistoType( i ), + CexmcHistoVector() ) ); + } + + messenger = new CexmcHistoManagerMessenger; +} + + +CexmcHistoManager::~CexmcHistoManager() +{ + if ( outFile ) + { + outFile->Write(); + outFile->Close(); + } + + /* all histograms will be deleted by outFile destructor! */ + delete outFile; +#ifdef CEXMC_USE_ROOTQT + delete rootCanvas; +#endif + delete messenger; +} + + +void CexmcHistoManager::AddHisto( const CexmcHistoData & data, + const CexmcAngularRange & aRange ) +{ + G4String fullName( data.name ); + G4String fullTitle( data.title ); + G4String rangeTypeLabel; + G4String triggerTypeLabel; + G4String decorTriggerTypeLabel; + + if ( data.isARHisto ) + { + if ( data.isARRec ) + { + fullName += "_arrec"; + rangeTypeLabel = "rec"; + } + else + { + fullName += "_arreal"; + rangeTypeLabel = "real"; + } + } + + switch ( data.triggerType ) + { + case CexmcTPT : + fullName += "_tpt"; + decorTriggerTypeLabel = " --tpt--"; + fullTitle += decorTriggerTypeLabel; + triggerTypeLabel = "tpt"; + break; + case CexmcEDT : + fullName += "_edt"; + decorTriggerTypeLabel = " --edt--"; + fullTitle += decorTriggerTypeLabel; + triggerTypeLabel = "edt"; + break; + case CexmcRT : + fullName += "_rt"; + decorTriggerTypeLabel = " --rt--"; + fullTitle += decorTriggerTypeLabel; + triggerTypeLabel = "rt"; + break; + default : + break; + } + + CexmcHistosMap::iterator found( histos.find( data.type ) ); + + if ( found == histos.end() ) + throw CexmcException ( CexmcWeirdException ); + + CexmcHistoVector & histoVector( found->second ); + + if ( data.isARHisto ) + { + G4bool dirOk( false ); + + if ( outFile ) + { + dirOk = gDirectory->Get( fullName ) != NULL; + + if ( ! dirOk ) + dirOk = ( gDirectory->mkdir( fullName, fullTitle ) != NULL ); + + if ( dirOk ) + gDirectory->cd( fullName ); + } + + std::ostringstream histoName; + std::ostringstream histoTitle; + histoName << data.name << "_r" << aRange.index + 1 << rangeTypeLabel << + "_" << triggerTypeLabel; + histoTitle << data.title << " {range " << aRange.index + 1 << + rangeTypeLabel << " [" << std::fixed << + std::setprecision( 4 ) << aRange.top << ", " << + aRange.bottom << ")}" << decorTriggerTypeLabel; + CreateHisto( histoVector, data.impl, histoName.str(), histoTitle.str(), + data.axes ); + + if ( outFile ) + { + if ( dirOk ) + gDirectory->cd( ".." ); + } + } + else + { + CreateHisto( histoVector, data.impl, fullName, fullTitle, data.axes ); + } +} + + +void CexmcHistoManager::CreateHisto( CexmcHistoVector & histoVector, + CexmcHistoImpl histoImpl, const G4String & name, + const G4String & title, const CexmcHistoAxes & axes ) +{ + TH1 * histo( NULL ); + + switch ( histoImpl ) + { + case Cexmc_TH1F : + histo = new TH1F( name, title, axes.at( 0 ).nBins, + axes.at( 0 ).nBinsMin, axes.at( 0 ).nBinsMax ); + break; + case Cexmc_TH2F : + histo = new TH2F( name, title, axes.at( 0 ).nBins, + axes.at( 0 ).nBinsMin, axes.at( 0 ).nBinsMax, + axes.at( 1 ).nBins, axes.at( 1 ).nBinsMin, + axes.at( 1 ).nBinsMax ); + break; + case Cexmc_TH3F : + histo = new TH3F( name, title, axes.at( 0 ).nBins, + axes.at( 0 ).nBinsMin, axes.at( 0 ).nBinsMax, + axes.at( 1 ).nBins, axes.at( 1 ).nBinsMin, + axes.at( 1 ).nBinsMax, axes.at( 2 ).nBins, + axes.at( 2 ).nBinsMin, axes.at( 2 ).nBinsMax ); + break; + default : + break; + } + + if ( histo ) + histoVector.push_back( histo ); +} + + +void CexmcHistoManager::Initialize( void ) +{ + if ( isInitialized ) + return; + + CexmcRunManager * runManager( static_cast< CexmcRunManager * >( + G4RunManager::GetRunManager() ) ); + CexmcPhysicsManager * physicsManager( runManager->GetPhysicsManager() ); + + if ( ! physicsManager ) + throw CexmcException ( CexmcWeirdException ); + + CexmcProductionModel * productionModel( physicsManager-> + GetProductionModel() ); + + if ( ! productionModel ) + throw CexmcException ( CexmcWeirdException ); + + G4ParticleDefinition * outputParticle( + productionModel->GetOutputParticle() ); + G4ParticleDefinition * nucleusOutputParticle( + productionModel->GetNucleusOutputParticle() ); + + if ( ! outputParticle || ! nucleusOutputParticle ) + throw CexmcException ( CexmcIncompleteProductionModel ); + + opName = outputParticle->GetParticleName(); + nopName = nucleusOutputParticle->GetParticleName(); + opMass = outputParticle->GetPDGMass(); + nopMass = nucleusOutputParticle->GetPDGMass(); + + G4String title; + Int_t nBinsX; + Int_t nBinsY; + Double_t nBinsMinX; + Double_t nBinsMaxX; + Double_t nBinsMinY; + Double_t nBinsMaxY; + CexmcHistoAxes axes; + + if ( runManager->ProjectIsSaved() ) + { + G4String projectsDir( runManager->GetProjectsDir() ); + G4String resultsFile( projectsDir + "/" + runManager->GetProjectId() + + ".root" ); + outFile = new TFile( resultsFile, "recreate" ); + } + + const CexmcSetup * setup( static_cast< const CexmcSetup * >( + runManager->GetUserDetectorConstruction() ) ); + if ( ! setup ) + throw CexmcException ( CexmcWeirdException ); + + const G4LogicalVolume * lVolume( setup->GetVolume( CexmcSetup::Monitor ) ); + + if ( ! lVolume ) + throw CexmcException ( CexmcIncompatibleGeometry ); + + nBinsMinX = CexmcHistoBeamMomentumMin; + nBinsMaxX = CexmcHistoBeamMomentumMax; + nBinsX = Int_t( ( nBinsMaxX - nBinsMinX ) / + CexmcHistoBeamMomentumResolution ); + axes.push_back( CexmcHistoAxisData( nBinsX, nBinsMinX, nBinsMaxX ) ); + AddHisto( CexmcHistoData( CexmcMomentumBP_TPT_Histo, Cexmc_TH1F, false, + false, CexmcTPT, "mombp", "Beam momentum at the monitor", axes ) ); + AddHisto( CexmcHistoData( CexmcMomentumBP_RT_Histo, Cexmc_TH1F, false, + false, CexmcRT, "mombp", "Beam momentum at the monitor", axes ) ); + + G4Box * box( dynamic_cast< G4Box * >( lVolume->GetSolid() ) ); + + if ( ! box ) + throw CexmcException ( CexmcIncompatibleGeometry ); + + G4double width( box->GetXHalfLength() * 2 ); + G4double height( box->GetYHalfLength() * 2 ); + G4double halfWidth( width / 2 + CexmcHistoTPSafetyArea ); + G4double halfHeight( height / 2 + CexmcHistoTPSafetyArea ); + + nBinsX = Int_t( halfWidth * 2 / CexmcHistoTPResolution ); + nBinsY = Int_t( halfHeight * 2 / CexmcHistoTPResolution ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, -halfWidth, halfWidth ) ); + axes.push_back( CexmcHistoAxisData( nBinsY, -halfHeight, halfHeight ) ); + AddHisto( CexmcHistoData( CexmcTPInMonitor_TPT_Histo, Cexmc_TH2F, false, + false, CexmcTPT, "tpmon", "Track points (mon)", axes ) ); + + lVolume = setup->GetVolume( CexmcSetup::Target ); + G4Tubs * tube( dynamic_cast< G4Tubs * >( lVolume->GetSolid() ) ); + + if ( ! tube ) + throw CexmcException ( CexmcIncompatibleGeometry ); + + G4double radius( tube->GetOuterRadius() ); + height = tube->GetZHalfLength() * 2; + halfWidth = radius + CexmcHistoTPSafetyArea; + halfHeight = height / 2 + CexmcHistoTPSafetyArea; + + nBinsX = Int_t( halfWidth * 2 / CexmcHistoTPResolution ); + nBinsY = Int_t( halfWidth * 2 / CexmcHistoTPResolution ); + Int_t nBinsZ( Int_t( halfHeight * 2 / CexmcHistoTPResolution ) ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, -halfWidth, halfWidth ) ); + axes.push_back( CexmcHistoAxisData( nBinsY, -halfWidth, halfWidth ) ); + axes.push_back( CexmcHistoAxisData( nBinsZ, -halfHeight, halfHeight ) ); + AddHisto( CexmcHistoData( CexmcTPInTarget_TPT_Histo, Cexmc_TH3F, false, + false, CexmcTPT, "tptar", "Track points (tar)", axes ) ); + AddHisto( CexmcHistoData( CexmcTPInTarget_RT_Histo, Cexmc_TH3F, false, + false, CexmcRT, "tptar", "Track points (tar)", axes ) ); + + title = "Reconstructed masses (" + nopName + " vs. " + opName + ")"; + nBinsMinX = opMass / 2; + nBinsMaxX = opMass + opMass / 2; + nBinsMinY = nopMass / 2; + nBinsMaxY = nopMass + nopMass / 2; + nBinsX = Int_t( ( nBinsMaxX - nBinsMinX ) / CexmcHistoMassResolution ); + nBinsY = Int_t( ( nBinsMaxY - nBinsMinY ) / CexmcHistoMassResolution ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, nBinsMinX, nBinsMaxX ) ); + axes.push_back( CexmcHistoAxisData( nBinsY, nBinsMinY, nBinsMaxY ) ); + AddHisto( CexmcHistoData( CexmcRecMasses_EDT_Histo, Cexmc_TH2F, false, + false, CexmcEDT, "recmasses", title, axes ) ); + AddHisto( CexmcHistoData( CexmcRecMasses_RT_Histo, Cexmc_TH2F, false, + false, CexmcRT, "recmasses", title, axes ) ); + + nBinsMinX = 0.; + nBinsMaxX = CexmcHistoEnergyMax; + nBinsMinY = 0.; + nBinsMaxY = CexmcHistoEnergyMax; + nBinsX = Int_t( ( nBinsMaxX - nBinsMinX ) / CexmcHistoEnergyResolution ); + nBinsY = Int_t( ( nBinsMaxY - nBinsMinY ) / CexmcHistoEnergyResolution ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, nBinsMinX, nBinsMaxX ) ); + axes.push_back( CexmcHistoAxisData( nBinsY, nBinsMinY, nBinsMaxY ) ); + AddHisto( CexmcHistoData( CexmcAbsorbedEnergy_EDT_Histo, Cexmc_TH2F, false, + false, CexmcEDT, "ae", "Absorbed energy (rc vs. ls)", axes ) ); + AddHisto( CexmcHistoData( CexmcAbsorbedEnergy_RT_Histo, Cexmc_TH2F, false, + false, CexmcRT, "ae", "Absorbed energy (rc vs. ls)", axes ) ); + + SetupARHistos( runManager->GetPhysicsManager()->GetProductionModel()-> + GetAngularRanges() ); + + isInitialized = true; +} + + +void CexmcHistoManager::SetupARHistos( const CexmcAngularRangeList & aRanges ) +{ + TIter objs( gDirectory->GetList() ); + TObject * obj( NULL ); + + while ( ( obj = ( TObject * )objs() ) ) + { + TString name( obj->GetName() ); + + if ( outFile ) + { + if ( obj->IsFolder() && ( name.Contains( TString( "_arreal_" ) ) || + name.Contains( TString( "_arrec_" ) ) ) ) + { + gDirectory->cd( name ); + gDirectory->DeleteAll(); + gDirectory->cd( ".." ); + } + } + else + { + if ( name.Contains( TRegexp( "_r[0-9]+" ) ) ) + { + gDirectory->Remove( obj ); + } + } + } + + for ( CexmcHistosMap::iterator k( histos.begin() ); k != histos.end(); + ++k ) + { + if ( k->second.empty() ) + continue; + + if ( k->first >= CexmcHistoType_ARReal_START && + k->first <= CexmcHistoType_ARReal_END ) + { + k->second.clear(); + } + } + + for ( CexmcAngularRangeList::const_iterator k( aRanges.begin() ); + k != aRanges.end(); ++k ) + { + AddARHistos( *k ); + } +} + + +void CexmcHistoManager::AddARHistos( const CexmcAngularRange & aRange ) +{ + G4String title; + Int_t nBinsX; + Double_t nBinsMinX; + Double_t nBinsMaxX; + CexmcHistoAxes axes; + + title = "Reconstructed mass of " + opName; + nBinsMinX = opMass / 2; + nBinsMaxX = opMass + opMass / 2; + nBinsX = Int_t( ( nBinsMaxX - nBinsMinX ) / CexmcHistoMassResolution ); + axes.push_back( CexmcHistoAxisData( nBinsX, nBinsMinX, nBinsMaxX ) ); + AddHisto( CexmcHistoData( CexmcRecMassOP_ARReal_RT_Histo, Cexmc_TH1F, true, + false, CexmcRT, "recmassop", title, axes ), aRange ); + + title = "Reconstructed mass of " + nopName; + nBinsMinX = nopMass / 2; + nBinsMaxX = nopMass + nopMass / 2; + nBinsX = Int_t( ( nBinsMaxX - nBinsMinX ) / CexmcHistoMassResolution ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, nBinsMinX, nBinsMaxX ) ); + AddHisto( CexmcHistoData( CexmcRecMassNOP_ARReal_RT_Histo, Cexmc_TH1F, true, + false, CexmcRT, "recmassnop", title, axes ), aRange ); + + G4RunManager * runManager( G4RunManager::GetRunManager() ); + const CexmcSetup * setup( static_cast< const CexmcSetup * >( + runManager->GetUserDetectorConstruction() ) ); + if ( ! setup ) + throw CexmcException ( CexmcWeirdException ); + + const G4LogicalVolume * lVolume( setup->GetVolume( + CexmcSetup::Calorimeter ) ); + + G4Box * box( dynamic_cast< G4Box * >( lVolume->GetSolid() ) ); + + if ( ! box ) + throw CexmcException ( CexmcIncompatibleGeometry ); + + G4double width( box->GetXHalfLength() * 2 ); + G4double height( box->GetYHalfLength() * 2 ); + G4double halfWidth( width / 2 + CexmcHistoTPSafetyArea ); + G4double halfHeight( height / 2 + CexmcHistoTPSafetyArea ); + + nBinsX = Int_t( halfWidth * 2 / CexmcHistoTPResolution ); + Int_t nBinsY( Int_t( halfHeight * 2 / CexmcHistoTPResolution ) ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, -halfWidth, halfWidth ) ); + axes.push_back( CexmcHistoAxisData( nBinsY, -halfHeight, halfHeight ) ); + + /* looks like there is no possibility to draw descending xaxis in ROOT, + * so imagine that you look at calorimeters from behind, i.e. your face to + * the beam */ + AddHisto( CexmcHistoData( CexmcOPDPAtLeftCalorimeter_ARReal_EDT_Histo, + Cexmc_TH2F, true, false, CexmcEDT, "opdpcl", + "Gamma position on the surface (lc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcOPDPAtRightCalorimeter_ARReal_EDT_Histo, + Cexmc_TH2F, true, false, CexmcEDT, "opdpcr", + "Gamma position on the surface (rc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcOPDPAtLeftCalorimeter_ARReal_RT_Histo, + Cexmc_TH2F, true, false, CexmcRT, "opdpcl", + "Gamma position on the surface (lc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcOPDPAtRightCalorimeter_ARReal_RT_Histo, + Cexmc_TH2F, true, false, CexmcRT, "opdpcr", + "Gamma position on the surface (rc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcRecOPDPAtLeftCalorimeter_ARReal_EDT_Histo, + Cexmc_TH2F, true, false, CexmcEDT, "recopdpcl", + "Reconstructed gamma position on the surface (lc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcRecOPDPAtRightCalorimeter_ARReal_EDT_Histo, + Cexmc_TH2F, true, false, CexmcEDT, "recopdpcr", + "Reconstructed gamma position on the surface (rc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcRecOPDPAtLeftCalorimeter_ARReal_RT_Histo, + Cexmc_TH2F, true, false, CexmcRT, "recopdpcl", + "Reconstructed gamma position on the surface (lc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcRecOPDPAtRightCalorimeter_ARReal_RT_Histo, + Cexmc_TH2F, true, false, CexmcRT, "recopdpcr", + "Reconstructed gamma position on the surface (rc)", axes ), aRange ); + + nBinsMinX = 0.; + nBinsMaxX = CexmcHistoEnergyMax; + nBinsX = Int_t( ( nBinsMaxX - nBinsMinX ) / CexmcHistoEnergyResolution ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, nBinsMinX, nBinsMaxX ) ); + AddHisto( CexmcHistoData( CexmcKinEnAtLeftCalorimeter_ARReal_TPT_Histo, + Cexmc_TH1F, true, false, CexmcTPT, "kecl", + "Kinetic energy of gamma (lc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcKinEnAtRightCalorimeter_ARReal_TPT_Histo, + Cexmc_TH1F, true, false, CexmcTPT, "kecr", + "Kinetic energy of gamma (rc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcKinEnAtLeftCalorimeter_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "kecl", + "Kinetic energy of gamma (lc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcKinEnAtRightCalorimeter_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "kecr", + "Kinetic energy of gamma (rc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcAbsEnInLeftCalorimeter_ARReal_EDT_Histo, + Cexmc_TH1F, true, false, CexmcEDT, "aecl", + "Absorbed energy (lc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcAbsEnInRightCalorimeter_ARReal_EDT_Histo, + Cexmc_TH1F, true, false, CexmcEDT, "aecr", + "Absorbed energy (rc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcAbsEnInLeftCalorimeter_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "aecl", + "Absorbed energy (lc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcAbsEnInRightCalorimeter_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "aecr", + "Absorbed energy (rc)", axes ), aRange ); + + nBinsMinX = CexmcHistoMissEnergyMin; + nBinsMaxX = CexmcHistoMissEnergyMax; + nBinsX = Int_t( ( nBinsMaxX - nBinsMinX ) / + CexmcHistoMissEnergyResolution ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, nBinsMinX, nBinsMaxX ) ); + AddHisto( CexmcHistoData( CexmcMissEnFromLeftCalorimeter_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "mecl", + "Missing energy (lc)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcMissEnFromRightCalorimeter_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "mecr", + "Missing energy (rc)", axes ), aRange ); + + title = "Kinetic energy of newborn " + opName + " (lab)"; + nBinsMinX = 0.; + nBinsMaxX = CexmcHistoEnergyMax; + nBinsX = Int_t( ( nBinsMaxX - nBinsMinX ) / CexmcHistoEnergyResolution ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, nBinsMinX, nBinsMaxX ) ); + AddHisto( CexmcHistoData( CexmcKinEnOP_LAB_ARReal_TPT_Histo, + Cexmc_TH1F, true, false, CexmcTPT, "keop_lab", title, axes ), aRange ); + AddHisto( CexmcHistoData( CexmcKinEnOP_LAB_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "keop_lab", title, axes ), aRange ); + + title = "Angle of newborn " + opName + " (scm)"; + nBinsMinX = -1.0; + nBinsMaxX = 1.0; + nBinsX = Int_t( ( nBinsMaxX - nBinsMinX ) / CexmcHistoAngularCResolution ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, nBinsMinX, nBinsMaxX ) ); + AddHisto( CexmcHistoData( CexmcAngleOP_SCM_ARReal_TPT_Histo, + Cexmc_TH1F, true, false, CexmcTPT, "aop_scm", title, axes ), aRange ); + AddHisto( CexmcHistoData( CexmcAngleOP_SCM_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "aop_scm", title, axes ), aRange ); + + title = "Reconstruced angle of newborn " + opName + " (scm)"; + AddHisto( CexmcHistoData( CexmcRecAngleOP_SCM_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "recaop_scm", title, axes ), aRange ); + + title = "Real - reconstruced angle of newborn " + opName + " (scm)"; + AddHisto( CexmcHistoData( CexmcDiffAngleOP_SCM_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "diffaop_scm", title, axes ), + aRange ); + + nBinsMinX = 0.; + nBinsMaxX = 360.; + nBinsX = Int_t( ( nBinsMaxX - nBinsMinX ) / CexmcHistoAngularResolution ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, nBinsMinX, nBinsMaxX ) ); + AddHisto( CexmcHistoData( CexmcOpenAngle_ARReal_TPT_Histo, + Cexmc_TH1F, true, false, CexmcTPT, "oa", + "Open angle between the gammas", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcOpenAngle_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "oa", + "Open angle between the gammas", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcRecOpenAngle_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "recoa", + "Reconstructed open angle between the gammas", axes ), aRange ); + + nBinsMinX = -180.; + nBinsMaxX = 180.; + nBinsX = Int_t( ( nBinsMaxX - nBinsMinX ) / CexmcHistoAngularResolution ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, nBinsMinX, nBinsMaxX ) ); + AddHisto( CexmcHistoData( CexmcDiffOpenAngle_ARReal_RT_Histo, + Cexmc_TH1F, true, false, CexmcRT, "diffoa", + "Real - reconstructed open angle between the gammas", axes ), aRange ); + + lVolume = setup->GetVolume( CexmcSetup::Target ); + G4Tubs * tube( dynamic_cast< G4Tubs * >( lVolume->GetSolid() ) ); + + if ( ! tube ) + throw CexmcException ( CexmcIncompatibleGeometry ); + + G4double radius( tube->GetOuterRadius() ); + height = tube->GetZHalfLength() * 2; + halfWidth = radius + CexmcHistoTPSafetyArea; + halfHeight = height / 2 + CexmcHistoTPSafetyArea; + + nBinsX = Int_t( halfWidth * 2 / CexmcHistoTPResolution ); + nBinsY = Int_t( halfWidth * 2 / CexmcHistoTPResolution ); + Int_t nBinsZ( Int_t( halfHeight * 2 / CexmcHistoTPResolution ) ); + axes.clear(); + axes.push_back( CexmcHistoAxisData( nBinsX, -halfWidth, halfWidth ) ); + axes.push_back( CexmcHistoAxisData( nBinsY, -halfWidth, halfWidth ) ); + axes.push_back( CexmcHistoAxisData( nBinsZ, -halfHeight, halfHeight ) ); + AddHisto( CexmcHistoData( CexmcTPInTarget_ARReal_TPT_Histo, Cexmc_TH3F, + true, false, CexmcTPT, "tptar", "Track points (tar)", axes ), aRange ); + AddHisto( CexmcHistoData( CexmcTPInTarget_ARReal_RT_Histo, Cexmc_TH3F, + true, false, CexmcRT, "tptar", "Track points (tar)", axes ), aRange ); +} + + +void CexmcHistoManager::Add( CexmcHistoType histoType, unsigned int index, + G4double x ) +{ + CexmcHistosMap::iterator found( histos.find( histoType ) ); + if ( found == histos.end() || histos[ histoType ].size() <= index ) + throw CexmcException ( CexmcWeirdException ); + + histos[ histoType ][ index ]->Fill( x ); +} + + +void CexmcHistoManager::Add( CexmcHistoType histoType, unsigned int index, + G4double x, G4double y ) +{ + CexmcHistosMap::iterator found( histos.find( histoType ) ); + if ( found == histos.end() || histos[ histoType ].size() <= index ) + throw CexmcException ( CexmcWeirdException ); + + /* no cast needed because TH1 has virtual method + * Fill( Double_t, Double_t ) */ + histos[ histoType ][ index ]->Fill( x, y ); +} + + +void CexmcHistoManager::Add( CexmcHistoType histoType, unsigned int index, + G4double x, G4double y, G4double z ) +{ + CexmcHistosMap::iterator found( histos.find( histoType ) ); + if ( found == histos.end() || histos[ histoType ].size() <= index ) + throw CexmcException ( CexmcWeirdException ); + + /* cast needed because TH1 does not have virtual method + * Fill( Double_t, Double_t, Double_t ) */ + TH3 * histo( static_cast< TH3 * >( histos[ histoType ][ index ] ) ); + + histo->Fill( x, y, z ); +} + + +void CexmcHistoManager::Add( CexmcHistoType histoType, unsigned int index, + G4int binX, G4int binY, G4double value ) +{ + CexmcHistosMap::iterator found( histos.find( histoType ) ); + if ( found == histos.end() || histos[ histoType ].size() <= index ) + throw CexmcException ( CexmcWeirdException ); + + ++binX; + ++binY; + Double_t curValue( histos[ histoType ][ index ]->GetBinContent( + binX, binY ) ); + histos[ histoType ][ index ]->SetBinContent( binX, binY, + curValue + value / GeV ); +} + + +void CexmcHistoManager::List( void ) const +{ + gDirectory->ls(); +} + + +void CexmcHistoManager::Print( const G4String & value ) +{ + TObject * histo( gDirectory->FindObjectAny( value.c_str() ) ); + + if ( ! histo ) + { + G4cout << "Histogram '" << value << "' was not found" << G4endl; + return; + } + + histo->Print( "range" ); +} + + +#ifdef CEXMC_USE_ROOTQT + +void CexmcHistoManager::Draw( const G4String & histoName, + const G4String & histoDrawOptions ) +{ + CexmcRunManager * runManager( static_cast< CexmcRunManager * >( + G4RunManager::GetRunManager() ) ); + if ( ! runManager->AreLiveHistogramsEnabled() ) + { + G4cout << "Live histograms option is disabled" << G4endl; + return; + } + + TObject * histo( gDirectory->FindObjectAny( histoName ) ); + + if ( ! histo ) + { + G4cout << "Histogram '" << histoName << "' was not found" << G4endl; + return; + } + + if ( ! rootCanvas ) + { + /* save default application font because rootCanvas will break it */ + QFont defaultAppFont( QApplication::font() ); + rootCanvas = new CexmcHistoWidget; + QApplication::setFont( defaultAppFont ); + rootCanvas->resize( CexmcHistoCanvasWidth, CexmcHistoCanvasHeight ); + rootCanvas->GetCanvas()->cd(); + } + + histo->Draw( histoDrawOptions ); + rootCanvas->show(); + rootCanvas->GetCanvas()->Update(); +} + +#endif + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcHistoManagerMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcHistoManagerMessenger.cc new file mode 100644 index 0000000000..a26980ea44 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcHistoManagerMessenger.cc @@ -0,0 +1,125 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcHistoManagerMessenger.cc + * + * Description: commands to list and show histograms + * + * Version: 1.0 + * Created: 17.12.2009 21:39:02 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifdef CEXMC_USE_ROOT + +#include +#include +#include +#include "CexmcHistoManagerMessenger.hh" +#include "CexmcHistoManager.hh" +#include "CexmcMessenger.hh" + + +CexmcHistoManagerMessenger::CexmcHistoManagerMessenger() : + listHistos( NULL ), printHisto( NULL ) +#ifdef CEXMC_USE_ROOTQT + , drawHisto( NULL ) +#endif +{ + listHistos = new G4UIcmdWithoutParameter( + ( CexmcMessenger::histoDirName + "list" ).c_str(), this ); + listHistos->SetGuidance( "List available histograms" ); + listHistos->AvailableForStates( G4State_PreInit, G4State_Idle ); + + printHisto = new G4UIcmdWithAString( + ( CexmcMessenger::histoDirName + "print" ).c_str(), this ); + printHisto->SetGuidance( "Print specified histogram" ); + printHisto->SetParameterName( "PrintHisto", false ); + printHisto->AvailableForStates( G4State_Idle ); + +#ifdef CEXMC_USE_ROOTQT + drawHisto = new G4UIcmdWithAString( + ( CexmcMessenger::histoDirName + "draw" ).c_str(), this ); + drawHisto->SetGuidance( "Draw specified histogram. The first parameter is\n" + " the histogram name, the second is draw " + "options.\n Available only if the program was " + "launched\n in graphical mode" ); + drawHisto->SetParameterName( "DrawHisto", false ); + drawHisto->AvailableForStates( G4State_Idle ); +#endif +} + + +CexmcHistoManagerMessenger::~CexmcHistoManagerMessenger() +{ + delete listHistos; + delete printHisto; +#ifdef CEXMC_USE_ROOTQT + delete drawHisto; +#endif +} + + +void CexmcHistoManagerMessenger::SetNewValue( + G4UIcommand * cmd, G4String value ) +{ + CexmcHistoManager * histoManager( CexmcHistoManager::Instance() ); + + do + { + if ( cmd == listHistos ) + { + histoManager->List(); + } + if ( cmd == printHisto ) + { + histoManager->Print( value ); + } +#ifdef CEXMC_USE_ROOTQT + if ( cmd == drawHisto ) + { + size_t delimPos( value.find_first_of( " \t" ) ); + size_t delimPosEnd( G4String::npos ); + if ( delimPos != G4String::npos ) + delimPosEnd = value.find_first_not_of( " \t", delimPos ); + histoManager->Draw( std::string( value, 0, delimPos ), + delimPosEnd == G4String::npos ? "" : + value.c_str() + delimPosEnd ); + } +#endif + } while ( false ); +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcHistoWidget.cc b/examples/advanced/ChargeExchangeMC/src/CexmcHistoWidget.cc new file mode 100644 index 0000000000..ec1298790b --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcHistoWidget.cc @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcHistoWidget.cc + * + * Description: histogram widget without context menu + * (derived from TQtWidget) + * + * Version: 1.0 + * Created: 15.03.2010 19:01:52 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#ifdef CEXMC_USE_ROOTQT + +#include +#include +#include +#include +#include +#include +#include "CexmcHistoWidget.hh" + + +void CexmcHistoWidget::contextMenuEvent( QContextMenuEvent * event ) +{ + /* TRootContextMenu responsiveness is very ugly and unstable in Geant4 + * environment, so we have to replace it with something more useful + * (e.g. unzooming histogram axes). + * We can switcn back to context menu as soon as ROOT will implement Qt + * backend for its context menu. + * TQtWidget utilizes QContextMenuEvent::Other reason to draw + * TRootContextMenu object. */ + if ( event->reason() == QContextMenuEvent::Other ) + { + TCanvas * canvas( Canvas() ); + TObject * object( NULL ); + TListIter curPrimitive( canvas->GetListOfPrimitives() ); + while ( ( object = curPrimitive.Next() ) ) + { + if ( ! object->InheritsFrom( "TH1" ) ) + continue; + TH1 * histo( static_cast< TH1 * >( object ) ); + TAxis * axis( histo->GetXaxis() ); + if ( axis ) + axis->UnZoom(); + axis = histo->GetYaxis(); + if ( axis ) + axis->UnZoom(); + axis = histo->GetZaxis(); + if ( axis ) + axis->UnZoom(); + } + canvas->Update(); + } +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcIncidentParticleTrackInfo.cc b/examples/advanced/ChargeExchangeMC/src/CexmcIncidentParticleTrackInfo.cc new file mode 100644 index 0000000000..dba0bfeecd --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcIncidentParticleTrackInfo.cc @@ -0,0 +1,60 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcIncidentParticleTrackInfo.cc + * + * Description: incident particle track info + * + * Version: 1.0 + * Created: 18.05.2010 13:18:48 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#include "CexmcIncidentParticleTrackInfo.hh" + + +CexmcIncidentParticleTrackInfo::CexmcIncidentParticleTrackInfo( + CexmcTrackType trackType ) : + CexmcTrackInfo( trackType ), currentTrackLengthInTarget( 0. ), + finalTrackLengthInTarget( 0. ), isStudiedProcessActivated( false ), + needsTrackLengthResampling( false ) +{ +} + + +G4int CexmcIncidentParticleTrackInfo::GetTypeInfo( void ) const +{ + return CexmcIncidentParticleTrackType; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcMessenger.cc new file mode 100644 index 0000000000..6a81860d1f --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcMessenger.cc @@ -0,0 +1,242 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcMessenger.cc + * + * Description: common messenger stuff (directories etc.) + * + * Version: 1.0 + * Created: 15.11.2009 12:59:56 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include "CexmcMessenger.hh" +#include "CexmcSensitiveDetectorsAttributes.hh" + + +namespace +{ + const G4String ed( CexmcDetectorTypeName[ CexmcEDDetector ] + "/" ); +} + + +CexmcMessenger * CexmcMessenger::instance( NULL ); + +G4String CexmcMessenger::mainDirName( "/cexmc/" ); +G4String CexmcMessenger::geometryDirName( CexmcMessenger::mainDirName + + "geometry/" ); +G4String CexmcMessenger::physicsDirName( CexmcMessenger::mainDirName + + "physics/" ); +G4String CexmcMessenger::gunDirName( CexmcMessenger::mainDirName + + "gun/" ); +G4String CexmcMessenger::detectorDirName( CexmcMessenger::mainDirName + + "detector/" ); +G4String CexmcMessenger::eventDirName( CexmcMessenger::mainDirName + + "event/" ); +G4String CexmcMessenger::runDirName( CexmcMessenger::mainDirName + + "run/" ); +G4String CexmcMessenger::monitorDirName( CexmcMessenger::detectorDirName + + CexmcDetectorRoleName[ CexmcMonitorDetectorRole ] + "/" ); +G4String CexmcMessenger::targetDirName( CexmcMessenger::detectorDirName + + CexmcDetectorRoleName[ CexmcTargetDetectorRole ] + "/" ); +G4String CexmcMessenger::vetoCounterDirName( CexmcMessenger::detectorDirName + + CexmcDetectorRoleName[ CexmcVetoCounterDetectorRole ] + "/" ); +G4String CexmcMessenger::vetoCounterLeftDirName( + CexmcMessenger::vetoCounterDirName + "left/" ); +G4String CexmcMessenger::vetoCounterRightDirName( + CexmcMessenger::vetoCounterDirName + "right/" ); +G4String CexmcMessenger::calorimeterDirName( CexmcMessenger::detectorDirName + + CexmcDetectorRoleName[ CexmcCalorimeterDetectorRole ] + "/" ); +G4String CexmcMessenger::calorimeterLeftDirName( + CexmcMessenger::calorimeterDirName + "left/" ); +G4String CexmcMessenger::calorimeterRightDirName( + CexmcMessenger::calorimeterDirName + "right/" ); +G4String CexmcMessenger::monitorEDDirName( + CexmcMessenger::monitorDirName + ed ); +G4String CexmcMessenger::vetoCounterEDDirName( + CexmcMessenger::vetoCounterDirName + ed ); +G4String CexmcMessenger::vetoCounterLeftEDDirName( + CexmcMessenger::vetoCounterLeftDirName + ed ); +G4String CexmcMessenger::vetoCounterRightEDDirName( + CexmcMessenger::vetoCounterRightDirName + ed ); +G4String CexmcMessenger::calorimeterEDDirName( + CexmcMessenger::calorimeterDirName + ed ); +G4String CexmcMessenger::calorimeterLeftEDDirName( + CexmcMessenger::calorimeterLeftDirName + ed ); +G4String CexmcMessenger::calorimeterRightEDDirName( + CexmcMessenger::calorimeterRightDirName + ed ); +G4String CexmcMessenger::reconstructorDirName( + CexmcMessenger::mainDirName + "reconstructor/" ); +G4String CexmcMessenger::visDirName( CexmcMessenger::mainDirName + "vis/" ); +#ifdef CEXMC_USE_ROOT +G4String CexmcMessenger::histoDirName( + CexmcMessenger::mainDirName + "histo/" ); +#endif + + +CexmcMessenger * CexmcMessenger::Instance( void ) +{ + if ( instance == NULL ) + instance = new CexmcMessenger; + + return instance; +} + + +void CexmcMessenger::Destroy( void ) +{ + delete instance; + instance = NULL; +} + + +CexmcMessenger::CexmcMessenger() : mainDir( NULL ), geometryDir( NULL ), + physicsDir( NULL ), gunDir( NULL ), detectorDir( NULL ), eventDir( NULL ), + runDir( NULL ), monitorDir( NULL ), targetDir( NULL ), + vetoCounterDir( NULL ), vetoCounterLeftDir( NULL ), + vetoCounterRightDir( NULL ), calorimeterDir( NULL ), + calorimeterLeftDir( NULL ), calorimeterRightDir( NULL ), + monitorEDDir( NULL ), vetoCounterEDDir( NULL ), + vetoCounterLeftEDDir( NULL ), vetoCounterRightEDDir( NULL ), + calorimeterEDDir( NULL ), calorimeterLeftEDDir( NULL ), + calorimeterRightEDDir( NULL ), reconstructorDir( NULL ), visDir( NULL ) +#ifdef CEXMC_USE_ROOT + ,histoDir( NULL ) +#endif +{ + mainDir = new G4UIdirectory( mainDirName ); + mainDir->SetGuidance( "Cexmc settings." ); + geometryDir = new G4UIdirectory( geometryDirName ); + geometryDir->SetGuidance( "Geometry settings (gdml file etc.)" ); + physicsDir = new G4UIdirectory( physicsDirName ); + physicsDir->SetGuidance( "Physics related settings " + "(production model etc.)" ); + gunDir = new G4UIdirectory( gunDirName ); + gunDir->SetGuidance( "Gun settings (different FWHMs etc.)" ); + detectorDir = new G4UIdirectory( detectorDirName ); + detectorDir->SetGuidance( "Sensitive detectors settings" ); + eventDir = new G4UIdirectory( eventDirName ); + eventDir->SetGuidance( "Event settings (verbose level etc.)" ); + runDir = new G4UIdirectory( runDirName ); + runDir->SetGuidance( "Run settings (geometry file etc.)" ); + monitorDir = new G4UIdirectory( monitorDirName ); + monitorDir->SetGuidance( "Various settings for the monitor." ); + targetDir = new G4UIdirectory( targetDirName ); + targetDir->SetGuidance( "Various settings for the target." ); + vetoCounterDir = new G4UIdirectory( vetoCounterDirName ); + vetoCounterDir->SetGuidance( "Various settings for the veto counters." ); + vetoCounterLeftDir = new G4UIdirectory( vetoCounterLeftDirName ); + vetoCounterLeftDir->SetGuidance( + "\n Various settings for the left veto counter." ); + vetoCounterRightDir = new G4UIdirectory( vetoCounterRightDirName ); + vetoCounterRightDir->SetGuidance( + "\n Various settings for the right veto counter." ); + calorimeterDir = new G4UIdirectory( calorimeterDirName ); + calorimeterDir->SetGuidance( "Various settings for the calorimeters." ); + calorimeterLeftDir = new G4UIdirectory( calorimeterLeftDirName ); + calorimeterLeftDir->SetGuidance( + "\n Various settings for the left calorimeter." ); + calorimeterRightDir = new G4UIdirectory( calorimeterRightDirName ); + calorimeterRightDir->SetGuidance( + "\n Various settings for the right calorimeter." ); + monitorEDDir = new G4UIdirectory( monitorEDDirName ); + monitorEDDir->SetGuidance( + "\n Energy deposit settings in the monitor (thresholds etc.)" ); + vetoCounterEDDir = new G4UIdirectory( vetoCounterEDDirName ); + vetoCounterEDDir->SetGuidance( + "\n Energy deposit settings in both veto counters " + "(thresholds etc.)" ); + vetoCounterLeftEDDir = new G4UIdirectory( vetoCounterLeftEDDirName ); + vetoCounterLeftEDDir->SetGuidance( + "\n Energy deposit settings in the left veto counter " + "(thresholds etc.)" ); + vetoCounterRightEDDir = new G4UIdirectory( vetoCounterRightEDDirName ); + vetoCounterRightEDDir->SetGuidance( + "\n Energy deposit settings in the right veto counter " + "(thresholds etc.)" ); + calorimeterEDDir = new G4UIdirectory( calorimeterEDDirName ); + calorimeterEDDir->SetGuidance( + "\n Energy deposit settings in both calorimeters " + "(thresholds etc.)" ); + calorimeterLeftEDDir = new G4UIdirectory( calorimeterLeftEDDirName ); + calorimeterLeftEDDir->SetGuidance( + "\n Energy deposit settings in the left calorimeter " + "(thresholds etc.)" ); + calorimeterRightEDDir = new G4UIdirectory( calorimeterRightEDDirName ); + calorimeterRightEDDir->SetGuidance( + "\n Energy deposit settings in the right calorimeter " + "(thresholds etc.)" ); + reconstructorDir = new G4UIdirectory( reconstructorDirName ); + reconstructorDir->SetGuidance( "Reconstructor settings" ); + visDir = new G4UIdirectory( visDirName ); + visDir->SetGuidance( "Visualization settings" ); +#ifdef CEXMC_USE_ROOT + histoDir = new G4UIdirectory( histoDirName ); + histoDir->SetGuidance( "Commands to list and show histograms" ); +#endif +} + + +CexmcMessenger::~CexmcMessenger() +{ + delete mainDir; + delete geometryDir; + delete physicsDir; + delete gunDir; + delete detectorDir; + delete eventDir; + delete runDir; + delete monitorDir; + delete targetDir; + delete vetoCounterDir; + delete vetoCounterLeftDir; + delete vetoCounterRightDir; + delete calorimeterDir; + delete calorimeterLeftDir; + delete calorimeterRightDir; + delete monitorEDDir; + delete vetoCounterEDDir; + delete vetoCounterLeftEDDir; + delete vetoCounterRightEDDir; + delete calorimeterEDDir; + delete calorimeterLeftEDDir; + delete calorimeterRightEDDir; + delete reconstructorDir; + delete visDir; +#ifdef CEXMC_USE_ROOT + delete histoDir; +#endif +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcParticleGun.cc b/examples/advanced/ChargeExchangeMC/src/CexmcParticleGun.cc new file mode 100644 index 0000000000..6f9cd9e468 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcParticleGun.cc @@ -0,0 +1,62 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcParticleGun.cc + * + * Description: particle gun + * + * Version: 1.0 + * Created: 15.12.2009 13:29:50 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include "CexmcParticleGun.hh" +#include "CexmcParticleGunMessenger.hh" + + +CexmcParticleGun::CexmcParticleGun( CexmcPhysicsManager * physicsManager, + G4int nmbOfParticles ) : + G4ParticleGun( nmbOfParticles ), physicsManager( physicsManager ), + origPos( 0, 0, 0 ), origDir( 0, 0, 0 ), origMomentumAmp( 0 ), + messenger( NULL ) +{ + messenger = new CexmcParticleGunMessenger( this ); +} + + +CexmcParticleGun::~CexmcParticleGun() +{ + delete messenger; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcParticleGunMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcParticleGunMessenger.cc new file mode 100644 index 0000000000..1bf7dbdccf --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcParticleGunMessenger.cc @@ -0,0 +1,150 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcParticleGunMessenger.cc + * + * Description: original position and momentum of the incident beam particle + * + * Version: 1.0 + * Created: 15.12.2009 14:02:01 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include +#include +#include "CexmcParticleGun.hh" +#include "CexmcParticleGunMessenger.hh" +#include "CexmcRunManager.hh" +#include "CexmcException.hh" +#include "CexmcMessenger.hh" + + +CexmcParticleGunMessenger::CexmcParticleGunMessenger( + CexmcParticleGun * particleGun ) : + particleGun( particleGun ), setParticle( NULL ), setOrigPosition( NULL ), + setOrigDirection( NULL ), setOrigMomentumAmp( NULL ) +{ + setParticle = new G4UIcmdWithAString( + ( CexmcMessenger::gunDirName + "particle" ).c_str(), this ); + setParticle->SetGuidance( "Incident beam particle" ); + setParticle->SetDefaultValue( "pi-" ); + setParticle->SetParameterName( "BeamParticle", false ); + setParticle->SetCandidates( "pi-" ); + setParticle->AvailableForStates( G4State_PreInit, G4State_Idle ); + + setOrigPosition = new G4UIcmdWith3VectorAndUnit( + ( CexmcMessenger::gunDirName + "position" ).c_str(), this ); + setOrigPosition->SetGuidance( "Original position of the beam" ); + setOrigPosition->SetParameterName( "PositionX", "PositionY", "PositionZ", + false ); + setOrigPosition->SetDefaultUnit( "cm" ); + setOrigPosition->SetUnitCandidates( "mm cm m" ); + setOrigPosition->AvailableForStates( G4State_PreInit, G4State_Idle ); + + setOrigDirection = new G4UIcmdWith3Vector( + ( CexmcMessenger::gunDirName + "direction" ).c_str(), this ); + setOrigDirection->SetGuidance( "Original direction of the beam" ); + setOrigDirection->SetParameterName( "DirectionX", "DirectionY", + "DirectionZ", false ); + setOrigDirection->SetRange( + "DirectionX >= -1.0 && DirectionX <= 1.0 && " + "DirectionY >= -1.0 && DirectionY <= 1.0 && " + "DirectionZ >= -1.0 && DirectionZ <= 1.0" ); + setOrigDirection->AvailableForStates( G4State_PreInit, G4State_Idle ); + + setOrigMomentumAmp = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::gunDirName + "momentumAmp" ).c_str(), this ); + setOrigMomentumAmp->SetGuidance( "Original momentum of the beam" ); + setOrigMomentumAmp->SetParameterName( "MomentumAmp", false ); + setOrigMomentumAmp->SetRange( "MomentumAmp > 0" ); + setOrigMomentumAmp->SetDefaultUnit( "MeV" ); + setOrigMomentumAmp->SetUnitCandidates( "eV keV MeV GeV" ); + setOrigMomentumAmp->AvailableForStates( G4State_PreInit, G4State_Idle ); +} + + +CexmcParticleGunMessenger::~CexmcParticleGunMessenger() +{ + delete setParticle; + delete setOrigPosition; + delete setOrigDirection; + delete setOrigMomentumAmp; +} + + +void CexmcParticleGunMessenger::SetNewValue( G4UIcommand * cmd, + G4String value ) +{ + do + { + if ( cmd == setParticle ) + { + G4ParticleDefinition * particleDefinition( + G4ParticleTable::GetParticleTable()->FindParticle( value ) ); + + if ( ! particleDefinition ) + throw CexmcException( CexmcWeirdException ); + + particleGun->SetBeamParticle( particleDefinition ); + + CexmcRunManager * runManager( static_cast< CexmcRunManager * >( + G4RunManager::GetRunManager() ) ); + runManager->BeamParticleChangeHook(); + break; + } + if ( cmd == setOrigPosition ) + { + particleGun->SetOrigPosition( + G4UIcmdWith3VectorAndUnit::GetNew3VectorValue( value ) ); + break; + } + if ( cmd == setOrigDirection ) + { + particleGun->SetOrigDirection( + G4UIcmdWith3Vector::GetNew3VectorValue( value ) ); + break; + } + if ( cmd == setOrigMomentumAmp ) + { + particleGun->SetOrigMomentumAmp( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + } while ( false ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcPhaseSpaceGenerator.cc b/examples/advanced/ChargeExchangeMC/src/CexmcPhaseSpaceGenerator.cc new file mode 100644 index 0000000000..be66a3d440 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcPhaseSpaceGenerator.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcPhaseSpaceGenerator.cc + * + * Description: phase space generator interface + * + * Version: 1.0 + * Created: 08.09.2010 14:05:51 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#include "CexmcPhaseSpaceGenerator.hh" + + +CexmcPhaseSpaceGenerator::CexmcPhaseSpaceGenerator() : + fermiEnergyDepIsOn( false ), totalEnergy( 0. ), totalMass( 0. ) +{ +} + + +CexmcPhaseSpaceGenerator::~CexmcPhaseSpaceGenerator() +{ +} + + +void CexmcPhaseSpaceGenerator::SetParticles( + const CexmcPhaseSpaceInVector & inVec_, + const CexmcPhaseSpaceOutVector & outVec_ ) +{ + inVec = inVec_; + outVec = outVec_; + for ( CexmcPhaseSpaceOutVector::const_iterator k( outVec.begin() ); + k != outVec.end(); ++k ) + { + totalMass += k->mass; + } + + ParticleChangeHook(); +} + + +void CexmcPhaseSpaceGenerator::SetFermiEnergyDependence( G4bool on ) +{ + fermiEnergyDepIsOn = on; + + FermiEnergyDepStatusChangeHook(); +} + + +G4bool CexmcPhaseSpaceGenerator::CheckKinematics( void ) +{ + totalEnergy = 0.; + for ( CexmcPhaseSpaceInVector::const_iterator k( inVec.begin() ); + k != inVec.end(); ++k ) + { + totalEnergy += ( *k )->e(); + } + + return totalEnergy > totalMass; +} + + +void CexmcPhaseSpaceGenerator::ParticleChangeHook( void ) +{ +} + + +void CexmcPhaseSpaceGenerator::FermiEnergyDepStatusChangeHook( void ) +{ +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcPhysicsManager.cc b/examples/advanced/ChargeExchangeMC/src/CexmcPhysicsManager.cc new file mode 100644 index 0000000000..63a42dca49 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcPhysicsManager.cc @@ -0,0 +1,61 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcPhysicsManager.cc + * + * Description: interface for external access to physics aspects + * + * Version: 1.0 + * Created: 03.11.2009 14:22:21 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include "CexmcPhysicsManager.hh" +#include "CexmcPhysicsManagerMessenger.hh" +#include "CexmcCommon.hh" + +CexmcPhysicsManager::CexmcPhysicsManager() : basicMaxIL( CexmcDblMax ), + maxILCorrection( 0 ), proposedMaxIL( CexmcDblMax ), + numberOfTriggeredStudiedInteractions( 0 ), + onlyBeamParticleCanTriggerStudiedProcess( false ), messenger( NULL ) +{ + messenger = new CexmcPhysicsManagerMessenger( this ); +} + + +CexmcPhysicsManager::~CexmcPhysicsManager() +{ + delete messenger; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcPhysicsManagerMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcPhysicsManagerMessenger.cc new file mode 100644 index 0000000000..187ca75704 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcPhysicsManagerMessenger.cc @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcPhysicsManagerMessenger.cc + * + * Description: physics manager messenger (max IL correction etc.) + * + * Version: 1.0 + * Created: 16.10.2010 14:15:56 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#include +#include "CexmcPhysicsManager.hh" +#include "CexmcPhysicsManagerMessenger.hh" +#include "CexmcMessenger.hh" + + +CexmcPhysicsManagerMessenger::CexmcPhysicsManagerMessenger( + CexmcPhysicsManager * physicsManager ) : + physicsManager( physicsManager ), setMaxILCorrection( NULL ) +{ + setMaxILCorrection = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::physicsDirName + "setMaxILCorrection" ).c_str(), + this ); + setMaxILCorrection->SetGuidance( "Correction of maximum interaction " + "length in the\n target; can be used for precise tuning of the " + "center of\n distribution of interaction vertices in the target" ); + setMaxILCorrection->SetParameterName( "MaxILCorrection", false ); + setMaxILCorrection->SetDefaultUnit( "mm" ); + setMaxILCorrection->SetUnitCandidates( "mm cm m" ); + setMaxILCorrection->AvailableForStates( G4State_PreInit, G4State_Idle ); +} + + +CexmcPhysicsManagerMessenger::~CexmcPhysicsManagerMessenger() +{ + delete setMaxILCorrection; +} + + +void CexmcPhysicsManagerMessenger::SetNewValue( G4UIcommand * cmd, + G4String value ) +{ + do + { + if ( cmd == setMaxILCorrection ) + { + physicsManager->SetMaxILCorrection( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + } while ( false ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcPrimaryGeneratorAction.cc b/examples/advanced/ChargeExchangeMC/src/CexmcPrimaryGeneratorAction.cc new file mode 100644 index 0000000000..1877be92b2 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcPrimaryGeneratorAction.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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcPrimaryGeneratorAction.cc + * + * Description: primary particle position, direction, energy etc. + * + * Version: 1.0 + * Created: 11.10.2009 14:43:03 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#include +#include +#include +#include +#include "CexmcPrimaryGeneratorAction.hh" +#include "CexmcPrimaryGeneratorActionMessenger.hh" +#include "CexmcParticleGun.hh" +#include "CexmcCommon.hh" + + +CexmcPrimaryGeneratorAction::CexmcPrimaryGeneratorAction( + CexmcPhysicsManager * physicsManager ) : + particleGun( NULL ), fwhmPosX( 0 ), fwhmPosY( 0 ), fwhmDirX( 0 ), + fwhmDirY( 0 ), messenger( NULL ) +{ + particleGun = new CexmcParticleGun( physicsManager ); + messenger = new CexmcPrimaryGeneratorActionMessenger( this ); +} + + +CexmcPrimaryGeneratorAction::~CexmcPrimaryGeneratorAction() +{ + delete particleGun; + delete messenger; +} + + +void CexmcPrimaryGeneratorAction::GeneratePrimaries( G4Event * event ) +{ + particleGun->PrepareForNewEvent(); + + const G4ThreeVector & origPos( particleGun->GetOrigPosition() ); + const G4ThreeVector & origDir( particleGun->GetOrigDirection() ); + G4double origMomentumAmp( particleGun->GetOrigMomentumAmp() ); + + G4double randPosX( G4RandGauss::shoot( origPos.x(), + fwhmPosX * CexmcFwhmToStddev ) ); + G4double randPosY( G4RandGauss::shoot( origPos.y(), + fwhmPosY * CexmcFwhmToStddev ) ); + G4ThreeVector newPos( randPosX, randPosY, origPos.z() ); + + G4double randAngleX( G4RandGauss::shoot( origDir.x(), + fwhmDirX * CexmcFwhmToStddev ) ); + G4double randAngleY( G4RandGauss::shoot( origDir.y(), + fwhmDirY * CexmcFwhmToStddev ) ); + G4ThreeVector newAngle( randAngleX, randAngleY, origDir.z() ); + + G4double newMomentumAmp( G4RandGauss::shoot( origMomentumAmp, + fwhmMomentumAmp * origMomentumAmp * + CexmcFwhmToStddev ) ); + + particleGun->SetParticlePosition( newPos ); + particleGun->SetParticleMomentumDirection( newAngle ); + particleGun->SetParticleMomentum( newMomentumAmp ); + + particleGun->GeneratePrimaryVertex( event ); +} + + +CexmcParticleGun * CexmcPrimaryGeneratorAction::GetParticleGun( void ) +{ + return particleGun; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcPrimaryGeneratorActionMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcPrimaryGeneratorActionMessenger.cc new file mode 100644 index 0000000000..717a5eec7e --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcPrimaryGeneratorActionMessenger.cc @@ -0,0 +1,150 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcPrimaryGeneratorActionMessenger.cc + * + * Description: user assigned gun parameters + * + * Version: 1.0 + * Created: 02.11.2009 13:32:33 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include "CexmcPrimaryGeneratorAction.hh" +#include "CexmcPrimaryGeneratorActionMessenger.hh" +#include "CexmcMessenger.hh" + + +CexmcPrimaryGeneratorActionMessenger::CexmcPrimaryGeneratorActionMessenger( + CexmcPrimaryGeneratorAction * primaryGeneratorAction ) : + primaryGeneratorAction( primaryGeneratorAction ), + fwhmPosX( NULL ), fwhmPosY( NULL ), fwhmDirX( NULL ), fwhmDirY( NULL ), + fwhmMomentumAmp( NULL ) +{ + fwhmPosX = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::gunDirName + "fwhmPosX" ).c_str(), this ); + fwhmPosX->SetGuidance( "Set positional fwhm of the beam along X axis" ); + fwhmPosX->SetParameterName( "FwhmPosX", false ); + fwhmPosX->SetDefaultValue( 0 ); + fwhmPosX->SetDefaultUnit( "cm" ); + fwhmPosX->SetUnitCandidates( "mm cm m" ); + fwhmPosX->AvailableForStates( G4State_PreInit, G4State_Idle ); + + fwhmPosY = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::gunDirName + "fwhmPosY" ).c_str(), this ); + fwhmPosY->SetGuidance( "Set positional fwhm of the beam along Y axis" ); + fwhmPosY->SetParameterName( "FwhmPosY", false ); + fwhmPosY->SetDefaultValue( 0 ); + fwhmPosY->SetDefaultUnit( "cm" ); + fwhmPosY->SetUnitCandidates( "mm cm m" ); + fwhmPosY->AvailableForStates( G4State_PreInit, G4State_Idle ); + + fwhmDirX = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::gunDirName + "fwhmDirX" ).c_str(), this ); + fwhmDirX->SetGuidance( "Set directional fwhm of the beam along X axis" ); + fwhmDirX->SetParameterName( "FwhmDirX", false ); + fwhmDirX->SetDefaultValue( 0 ); + fwhmDirX->SetDefaultUnit( "deg" ); + fwhmDirX->SetUnitCandidates( "deg rad" ); + fwhmDirX->AvailableForStates( G4State_PreInit, G4State_Idle ); + + fwhmDirY = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::gunDirName + "fwhmDirY" ).c_str(), this ); + fwhmDirY->SetGuidance( "Set directional fwhm of the beam along Y axis" ); + fwhmDirY->SetParameterName( "FwhmDirY", false ); + fwhmDirY->SetDefaultValue( 0 ); + fwhmDirY->SetDefaultUnit( "deg" ); + fwhmDirY->SetUnitCandidates( "deg rad" ); + fwhmDirY->AvailableForStates( G4State_PreInit, G4State_Idle ); + + fwhmMomentumAmp = new G4UIcmdWithADouble( + ( CexmcMessenger::gunDirName + "fwhmMomentumAmp" ).c_str(), this ); + fwhmMomentumAmp->SetGuidance( "Set fwhm of the beam momentum as fraction " + "of its value" ); + fwhmMomentumAmp->SetDefaultValue( 0 ); + fwhmMomentumAmp->SetParameterName( "FwhmMomentumAmp", false ); + fwhmMomentumAmp->AvailableForStates( G4State_PreInit, G4State_Idle ); +} + + +CexmcPrimaryGeneratorActionMessenger::~CexmcPrimaryGeneratorActionMessenger() +{ + delete fwhmPosX; + delete fwhmPosY; + delete fwhmDirX; + delete fwhmDirY; + delete fwhmMomentumAmp; +} + + +void CexmcPrimaryGeneratorActionMessenger::SetNewValue( G4UIcommand * cmd, + G4String value ) +{ + do + { + if ( cmd == fwhmPosX ) + { + primaryGeneratorAction->SetFwhmPosX( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == fwhmPosY ) + { + primaryGeneratorAction->SetFwhmPosY( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == fwhmDirX ) + { + primaryGeneratorAction->SetFwhmDirX( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == fwhmDirY ) + { + primaryGeneratorAction->SetFwhmDirY( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + if ( cmd == fwhmMomentumAmp ) + { + primaryGeneratorAction->SetFwhmMomentumAmp( + G4UIcmdWithADouble::GetNewDoubleValue( value ) ); + break; + } + } while ( false ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcProductionModel.cc b/examples/advanced/ChargeExchangeMC/src/CexmcProductionModel.cc new file mode 100644 index 0000000000..ae4e320da9 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcProductionModel.cc @@ -0,0 +1,155 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcProductionModel.cc + * + * Description: interface to production model + * + * Version: 1.0 + * Created: 03.11.2009 16:56:51 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include "CexmcRunManager.hh" +#include "CexmcProductionModel.hh" +#include "CexmcProductionModelMessenger.hh" + + +CexmcProductionModel::CexmcProductionModel( const G4String & name, + G4bool fermiMotionIsOn ) : + name( name ), fermiMotionIsOn( fermiMotionIsOn ), incidentParticle( NULL ), + nucleusParticle( NULL ), outputParticle( NULL ), + nucleusOutputParticle( NULL ), messenger( NULL ) +{ + angularRanges.push_back( CexmcAngularRange( 1.0, -1.0, 0 ) ); + messenger = new CexmcProductionModelMessenger( this ); +} + + +CexmcProductionModel::~CexmcProductionModel() +{ + delete messenger; +} + + +void CexmcProductionModel::SetAngularRange( G4double top, G4double bottom, + G4int nmbOfDivs ) +{ + if ( ! IsValidCandidateForAngularRange( top, bottom, nmbOfDivs ) ) + throw CexmcException( CexmcInvalidAngularRange ); + + if ( ! IsGoodCandidateForAngularRange( top, bottom ) ) + throw CexmcException( CexmcBadAngularRange ); + + angularRanges.clear(); + G4double curBottom( top ); + for ( int i( 0 ); i < nmbOfDivs; ++i ) + { + G4double binWidth( ( top - bottom ) / nmbOfDivs ); + G4double curTop( curBottom ); + curBottom -= binWidth; + angularRanges.push_back( CexmcAngularRange( curTop, curBottom, i ) ); + } +#ifdef CEXMC_USE_ROOT + CexmcHistoManager::Instance()->SetupARHistos( angularRanges ); +#endif +} + + +void CexmcProductionModel::AddAngularRange( G4double top, G4double bottom, + G4int nmbOfDivs ) +{ + if ( ! IsValidCandidateForAngularRange( top, bottom, nmbOfDivs ) ) + throw CexmcException( CexmcInvalidAngularRange ); + + if ( ! IsGoodCandidateForAngularRange( top, bottom ) ) + throw CexmcException( CexmcBadAngularRange ); + + G4int curIndex( angularRanges.size() ); + G4double curBottom( top ); + for ( int i( 0 ); i < nmbOfDivs; ++i ) + { + G4double binWidth( ( top - bottom ) / nmbOfDivs ); + G4double curTop( curBottom ); + curBottom -= binWidth; + CexmcAngularRange aRange( curTop, curBottom, curIndex + i ); + angularRanges.push_back( aRange ); +#ifdef CEXMC_USE_ROOT + CexmcHistoManager::Instance()->AddARHistos( aRange ); +#endif + } +} + + +void CexmcProductionModel::SetTriggeredAngularRanges( G4double opCosThetaSCM ) +{ + triggeredAngularRanges.clear(); + + for ( CexmcAngularRangeList::iterator k( angularRanges.begin() ); + k != angularRanges.end(); ++k ) + { + if ( opCosThetaSCM <= k->top && opCosThetaSCM > k->bottom ) + triggeredAngularRanges.push_back( CexmcAngularRange( + k->top, k->bottom, k->index ) ); + } +} + + +void CexmcProductionModel::FermiMotionStatusChangeHook( void ) +{ +} + + +G4bool CexmcProductionModel::IsGoodCandidateForAngularRange( G4double top, + G4double bottom ) const +{ + CexmcRunManager * runManager( static_cast< CexmcRunManager * >( + G4RunManager::GetRunManager() ) ); + + if ( ! runManager->ProjectIsRead() ) + return true; + + CexmcAngularRangeList normalizedARanges; + GetNormalizedAngularRange( angularRangesRef, normalizedARanges ); + + for ( CexmcAngularRangeList::iterator k( normalizedARanges.begin() ); + k != normalizedARanges.end(); ++k ) + { + if ( top <= k->top && bottom >= k->bottom ) + return true; + } + + return false; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcProductionModelData.cc b/examples/advanced/ChargeExchangeMC/src/CexmcProductionModelData.cc new file mode 100644 index 0000000000..6c6d306b41 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcProductionModelData.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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcProductionModelData.cc + * + * Description: SCM/LAB lorentz vector of the particles in reaction + * + * Version: 1.0 + * Created: 28.12.2009 22:59:10 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include "CexmcProductionModelData.hh" + + +CexmcProductionModelData::CexmcProductionModelData() +{ +} + + +CexmcProductionModelData::CexmcProductionModelData( + const G4LorentzVector & incidentParticleSCM, + const G4LorentzVector & incidentParticleLAB, + const G4LorentzVector & nucleusParticleSCM, + const G4LorentzVector & nucleusParticleLAB, + const G4LorentzVector & outputParticleSCM, + const G4LorentzVector & outputParticleLAB, + const G4LorentzVector & nucleusOutputParticleSCM, + const G4LorentzVector & nucleusOutputParticleLAB, + const G4ParticleDefinition * incidentParticle, + const G4ParticleDefinition * nucleusParticle, + const G4ParticleDefinition * outputParticle, + const G4ParticleDefinition * nucleusOutputParticle ) : + incidentParticleSCM( incidentParticleSCM ), + incidentParticleLAB( incidentParticleLAB ), + nucleusParticleSCM( nucleusParticleSCM ), + nucleusParticleLAB( nucleusParticleLAB ), + outputParticleSCM( outputParticleSCM ), + outputParticleLAB( outputParticleLAB ), + nucleusOutputParticleSCM( nucleusOutputParticleSCM ), + nucleusOutputParticleLAB( nucleusOutputParticleLAB ), + incidentParticle( incidentParticle ), nucleusParticle( nucleusParticle ), + outputParticle( outputParticle ), + nucleusOutputParticle( nucleusOutputParticle ) +{ +} + + +std::ostream & operator<<( std::ostream & out, + const CexmcProductionModelData & data ) +{ + std::ostream::fmtflags savedFlags( out.flags() ); + std::streamsize prec( out.precision() ); + + out.precision( 4 ); + out.flags( std::ios::fixed ); + + out << std::endl; + out << " Incident particle (LAB) : " << + data.incidentParticle->GetParticleName() << " " << + G4BestUnit( data.incidentParticleLAB, "Energy" ) << " -- " << + G4BestUnit( data.incidentParticleLAB.e(), "Energy" ) << std::endl; + out << " (SCM) : " << + data.incidentParticle->GetParticleName() << " " << + G4BestUnit( data.incidentParticleSCM, "Energy" ) << " -- " << + G4BestUnit( data.incidentParticleSCM.e(), "Energy" ) << std::endl; + out << " Nucleus particle (LAB) : " << + data.nucleusParticle->GetParticleName() << " " << + G4BestUnit( data.nucleusParticleLAB, "Energy" ) << " -- " << + G4BestUnit( data.nucleusParticleLAB.e(), "Energy" ) << std::endl; + out << " (SCM) : " << + data.nucleusParticle->GetParticleName() << " " << + G4BestUnit( data.nucleusParticleSCM, "Energy" ) << " -- " << + G4BestUnit( data.nucleusParticleSCM.e(), "Energy" ) << std::endl; + out << " Output particle (LAB) : " << + data.outputParticle->GetParticleName() << " " << + G4BestUnit( data.outputParticleLAB, "Energy" ) << " -- " << + G4BestUnit( data.outputParticleLAB.e(), "Energy" ) << std::endl; + out << " (SCM) : " << + data.outputParticle->GetParticleName() << " " << + G4BestUnit( data.outputParticleSCM, "Energy" ) << " -- " << + G4BestUnit( data.outputParticleSCM.e(), "Energy" ) << std::endl; + out << " Nucleus output particle (LAB) : " << + data.nucleusOutputParticle->GetParticleName() << " " << + G4BestUnit( data.nucleusOutputParticleLAB, "Energy" ) << " -- " << + G4BestUnit( data.nucleusOutputParticleLAB.e(), "Energy" ) << + std::endl; + out << " (SCM) : " << + data.nucleusOutputParticle->GetParticleName() << " " << + G4BestUnit( data.nucleusOutputParticleSCM, "Energy" ) << " -- " << + G4BestUnit( data.nucleusOutputParticleSCM.e(), "Energy" ) << + std::endl; + + out.precision( prec ); + out.flags( savedFlags ); + + return out; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcProductionModelMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcProductionModelMessenger.cc new file mode 100644 index 0000000000..9cd73e26ca --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcProductionModelMessenger.cc @@ -0,0 +1,138 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcProductionModelMessenger.cc + * + * Description: set various production model aspects + * + * Version: 1.0 + * Created: 03.11.2009 16:01:24 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include "CexmcProductionModel.hh" +#include "CexmcProductionModelMessenger.hh" +#include "CexmcMessenger.hh" + + +CexmcProductionModelMessenger::CexmcProductionModelMessenger( + CexmcProductionModel * productionModel ) : + productionModel( productionModel ), applyFermiMotion( NULL ), + setAngularRange( NULL ), addAngularRange( NULL ) +{ + applyFermiMotion = new G4UIcmdWithABool( + ( CexmcMessenger::physicsDirName + "applyFermiMotionInTarget" ).c_str(), + this ); + applyFermiMotion->SetGuidance( "Switch on/off fermi motion in target " + "nuclei" ); + applyFermiMotion->SetParameterName( "ApplyFermiMotionInTarget", false ); + applyFermiMotion->SetDefaultValue( false ); + applyFermiMotion->AvailableForStates( G4State_PreInit, G4State_Idle ); + + setAngularRange = new G4UIcmdWith3Vector( + ( CexmcMessenger::physicsDirName + "setAngularRange" ).c_str(), this ); + setAngularRange->SetGuidance( + "\n Set angular range of interest given in values of cosinus;\n" + " first two values give the range (descending or ascending),\n" + " third value gives number of equal divisions within the\n" + " range." ); + setAngularRange->SetParameterName( "ARangeTop", "ARangeBottom", + "ARangeNmbOfDivisions", false ); + setAngularRange->SetRange( + "ARangeTop >= -1.0 && ARangeTop <= 1.0 && " + "ARangeBottom >= -1.0 && ARangeBottom <= 1.0 && " + "ARangeNmbOfDivisions >= 1" ); + setAngularRange->AvailableForStates( G4State_PreInit, G4State_Idle ); + + addAngularRange = new G4UIcmdWith3Vector( + ( CexmcMessenger::physicsDirName + "addAngularRange" ).c_str(), this ); + addAngularRange->SetGuidance( + "\n Add angular range of interest given in values of cosinus;\n" + " first two values give the range (descending or ascending),\n" + " third value gives number of equal divisions within the\n" + " range." ); + addAngularRange->SetParameterName( "ARangeTop", "ARangeBottom", + "ARangeNmbOfDivisions", false ); + addAngularRange->SetRange( + "ARangeTop >= -1.0 && ARangeTop <= 1.0 && " + "ARangeBottom >= -1.0 && ARangeBottom <= 1.0 && " + "ARangeNmbOfDivisions >= 1" ); + addAngularRange->AvailableForStates( G4State_PreInit, G4State_Idle ); +} + + +CexmcProductionModelMessenger::~CexmcProductionModelMessenger() +{ + delete applyFermiMotion; + delete setAngularRange; + delete addAngularRange; +} + + +void CexmcProductionModelMessenger::SetNewValue( G4UIcommand * cmd, + G4String value ) +{ + do + { + if ( cmd == applyFermiMotion ) + { + productionModel->ApplyFermiMotion( + G4UIcmdWithABool::GetNewBoolValue( value ) ); + break; + } + if ( cmd == setAngularRange ) + { + G4ThreeVector vec( G4UIcmdWith3Vector::GetNew3VectorValue( + value ) ); + G4double top( std::max( vec.x(), vec.y() ) ); + G4double bottom( std::min( vec.x(), vec.y() ) ); + productionModel->SetAngularRange( top, bottom, + static_cast< int >( vec.z() ) ); + break; + } + if ( cmd == addAngularRange ) + { + G4ThreeVector vec( G4UIcmdWith3Vector::GetNew3VectorValue( + value ) ); + G4double top( std::max( vec.x(), vec.y() ) ); + G4double bottom( std::min( vec.x(), vec.y() ) ); + productionModel->AddAngularRange( top, bottom, + static_cast< int >( vec.z() ) ); + break; + } + } while ( false ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcReconstructor.cc b/examples/advanced/ChargeExchangeMC/src/CexmcReconstructor.cc new file mode 100644 index 0000000000..10a05b2bcc --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcReconstructor.cc @@ -0,0 +1,400 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcReconstructor.cc + * + * Description: reconstructor base class + * + * Version: 1.0 + * Created: 02.12.2009 16:21:15 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include "CexmcReconstructor.hh" +#include "CexmcReconstructorMessenger.hh" +#include "CexmcEnergyDepositStore.hh" +#include "CexmcRunManager.hh" + + +CexmcReconstructor::CexmcReconstructor() : + hasBasicTrigger( false ), + epDefinitionAlgorithm( CexmcEntryPointBySqrtEDWeights ), + epDepthDefinitionAlgorithm( CexmcEntryPointDepthPlain ), + csAlgorithm( CexmcSelectAllCrystals ), useInnerRefCrystal( false ), + epDepth( 0 ), theAngle( 0 ), targetEPInitialized( false ), messenger( NULL ) +{ + G4RunManager * runManager( G4RunManager::GetRunManager() ); + const CexmcSetup * setup( static_cast< const CexmcSetup * >( + runManager->GetUserDetectorConstruction() ) ); + calorimeterGeometry = setup->GetCalorimeterGeometry(); + targetTransform = setup->GetTargetTransform(); + calorimeterLeftTransform = setup->GetCalorimeterLeftTransform(); + calorimeterRightTransform = setup->GetCalorimeterRightTransform(); + + messenger = new CexmcReconstructorMessenger( this ); +} + + +CexmcReconstructor::~CexmcReconstructor() +{ + delete messenger; +} + + +void CexmcReconstructor::Reconstruct( const CexmcEnergyDepositStore * edStore ) +{ + ReconstructEntryPoints( edStore ); + if ( hasBasicTrigger ) + ReconstructTargetPoint(); + if ( hasBasicTrigger ) + ReconstructAngle(); +} + + +G4bool CexmcReconstructor::HasFullTrigger( void ) const +{ + return hasBasicTrigger; +} + + +void CexmcReconstructor::ReconstructEntryPoints( + const CexmcEnergyDepositStore * edStore ) +{ + G4int nCrystalsInColumn( calorimeterGeometry.nCrystalsInColumn ); + G4int nCrystalsInRow( calorimeterGeometry.nCrystalsInRow ); + G4double crystalWidth( calorimeterGeometry.crystalWidth ); + G4double crystalHeight( calorimeterGeometry.crystalHeight ); + G4double crystalLength( calorimeterGeometry.crystalLength ); + + calorimeterEPLeftPosition.setX( 0 ); + calorimeterEPLeftPosition.setY( 0 ); + calorimeterEPLeftPosition.setZ( -crystalLength / 2 + epDepth ); + calorimeterEPLeftDirection.setX( 0 ); + calorimeterEPLeftDirection.setY( 0 ); + calorimeterEPLeftDirection.setZ( 0 ); + calorimeterEPRightPosition.setX( 0 ); + calorimeterEPRightPosition.setY( 0 ); + calorimeterEPRightPosition.setZ( -crystalLength / 2 + epDepth ); + calorimeterEPRightDirection.setX( 0 ); + calorimeterEPRightDirection.setY( 0 ); + calorimeterEPRightDirection.setZ( 0 ); + + G4int columnLeft( edStore->calorimeterEDLeftMaxX ); + G4int rowLeft( edStore->calorimeterEDLeftMaxY ); + G4int columnRight( edStore->calorimeterEDRightMaxX ); + G4int rowRight( edStore->calorimeterEDRightMaxY ); + G4double xInCalorimeterLeftOffset( + ( G4double( columnLeft ) - G4double( nCrystalsInRow ) / 2 ) * + crystalWidth + crystalWidth / 2 ); + G4double yInCalorimeterLeftOffset( + ( G4double( rowLeft ) - G4double( nCrystalsInColumn ) / 2 ) * + crystalHeight + crystalHeight / 2 ); + G4double xInCalorimeterRightOffset( + ( G4double( columnRight ) - G4double( nCrystalsInRow ) / 2 ) * + crystalWidth + crystalWidth / 2 ); + G4double yInCalorimeterRightOffset( + ( G4double( rowRight ) - G4double( nCrystalsInColumn ) / 2 ) * + crystalHeight + crystalHeight / 2 ); + G4int i( 0 ); + G4double xWeightsSum( 0 ); + G4double yWeightsSum( 0 ); + G4double energySum( 0 ); + + switch ( epDefinitionAlgorithm ) + { + case CexmcEntryPointInTheCenter : + break; + case CexmcEntryPointInTheCenterOfCrystalWithMaxED : + calorimeterEPLeftPosition.setX( xInCalorimeterLeftOffset ); + calorimeterEPLeftPosition.setY( yInCalorimeterLeftOffset ); + calorimeterEPRightPosition.setX( xInCalorimeterRightOffset ); + calorimeterEPRightPosition.setY( yInCalorimeterRightOffset ); + break; + case CexmcEntryPointByLinearEDWeights : + for ( CexmcEnergyDepositCalorimeterCollection::const_iterator + k( edStore->calorimeterEDLeftCollection.begin() ); + k != edStore->calorimeterEDLeftCollection.end(); ++k ) + { + if ( csAlgorithm == CexmcSelectAdjacentCrystals && + ( i - rowLeft > 1 || i - rowLeft < -1 ) ) + { + ++i; + continue; + } + + G4int j( 0 ); + for ( CexmcEnergyDepositCrystalRowCollection::const_iterator + l( k->begin() ); l != k->end(); ++l ) + { + if ( csAlgorithm == CexmcSelectAdjacentCrystals && + ( j - columnLeft > 1 || j - columnLeft < -1 ) ) + { + ++j; + continue; + } + + xInCalorimeterLeftOffset = ( G4double( j ) - + G4double( nCrystalsInRow ) / 2 ) * + crystalWidth + crystalWidth / 2; + xWeightsSum += *l * xInCalorimeterLeftOffset; + yInCalorimeterLeftOffset = ( G4double( i ) - + G4double( nCrystalsInColumn ) / 2 ) * + crystalHeight + crystalHeight / 2; + yWeightsSum += *l * yInCalorimeterLeftOffset; + energySum += *l; + ++j; + } + ++i; + } + calorimeterEPLeftPosition.setX( xWeightsSum / energySum ); + calorimeterEPLeftPosition.setY( yWeightsSum / energySum ); + i = 0; + xWeightsSum = 0; + yWeightsSum = 0; + energySum = 0; + for ( CexmcEnergyDepositCalorimeterCollection::const_iterator + k( edStore->calorimeterEDRightCollection.begin() ); + k != edStore->calorimeterEDRightCollection.end(); ++k ) + { + if ( csAlgorithm == CexmcSelectAdjacentCrystals && + ( i - rowRight > 1 || i - rowRight < -1 ) ) + { + ++i; + continue; + } + + G4int j( 0 ); + for ( CexmcEnergyDepositCrystalRowCollection::const_iterator + l( k->begin() ); l != k->end(); ++l ) + { + if ( csAlgorithm == CexmcSelectAdjacentCrystals && + ( j - columnRight > 1 || j - columnRight < -1 ) ) + { + ++j; + continue; + } + + xInCalorimeterRightOffset = ( G4double( j ) - + G4double( nCrystalsInRow ) / 2 ) * + crystalWidth + crystalWidth / 2; + xWeightsSum += *l * xInCalorimeterRightOffset; + yInCalorimeterRightOffset = ( G4double( i ) - + G4double( nCrystalsInColumn ) / 2 ) * + crystalHeight + crystalHeight / 2; + yWeightsSum += *l * yInCalorimeterRightOffset; + energySum += *l; + ++j; + } + ++i; + } + calorimeterEPRightPosition.setX( xWeightsSum / energySum ); + calorimeterEPRightPosition.setY( yWeightsSum / energySum ); + break; + case CexmcEntryPointBySqrtEDWeights : + for ( CexmcEnergyDepositCalorimeterCollection::const_iterator + k( edStore->calorimeterEDLeftCollection.begin() ); + k != edStore->calorimeterEDLeftCollection.end(); ++k ) + { + if ( csAlgorithm == CexmcSelectAdjacentCrystals && + ( i - rowLeft > 1 || i - rowLeft < -1 ) ) + { + ++i; + continue; + } + + G4int j( 0 ); + for ( CexmcEnergyDepositCrystalRowCollection::const_iterator + l( k->begin() ); l != k->end(); ++l ) + { + if ( csAlgorithm == CexmcSelectAdjacentCrystals && + ( j - columnLeft > 1 || j - columnLeft < -1 ) ) + { + ++j; + continue; + } + + xInCalorimeterLeftOffset = ( G4double( j ) - + G4double( nCrystalsInRow ) / 2 ) * + crystalWidth + crystalWidth / 2; + xWeightsSum += std::sqrt( *l ) * xInCalorimeterLeftOffset; + yInCalorimeterLeftOffset = ( G4double( i ) - + G4double( nCrystalsInColumn ) / 2 ) * + crystalHeight + crystalHeight / 2; + yWeightsSum += std::sqrt( *l ) * yInCalorimeterLeftOffset; + energySum += std::sqrt( *l ); + ++j; + } + ++i; + } + calorimeterEPLeftPosition.setX( xWeightsSum / energySum ); + calorimeterEPLeftPosition.setY( yWeightsSum / energySum ); + i = 0; + xWeightsSum = 0; + yWeightsSum = 0; + energySum = 0; + for ( CexmcEnergyDepositCalorimeterCollection::const_iterator + k( edStore->calorimeterEDRightCollection.begin() ); + k != edStore->calorimeterEDRightCollection.end(); ++k ) + { + if ( csAlgorithm == CexmcSelectAdjacentCrystals && + ( i - rowRight > 1 || i - rowRight < -1 ) ) + { + ++i; + continue; + } + + G4int j( 0 ); + for ( CexmcEnergyDepositCrystalRowCollection::const_iterator + l( k->begin() ); l != k->end(); ++l ) + { + if ( csAlgorithm == CexmcSelectAdjacentCrystals && + ( j - columnRight > 1 || j - columnRight < -1 ) ) + { + ++j; + continue; + } + + xInCalorimeterRightOffset = ( G4double( j ) - + G4double( nCrystalsInRow ) / 2 ) * + crystalWidth + crystalWidth / 2; + xWeightsSum += std::sqrt( *l ) * xInCalorimeterRightOffset; + yInCalorimeterRightOffset = ( G4double( i ) - + G4double( nCrystalsInColumn ) / 2 ) * + crystalHeight + crystalHeight / 2; + yWeightsSum += std::sqrt( *l ) * yInCalorimeterRightOffset; + energySum += std::sqrt( *l ); + ++j; + } + ++i; + } + calorimeterEPRightPosition.setX( xWeightsSum / energySum ); + calorimeterEPRightPosition.setY( yWeightsSum / energySum ); + break; + default : + break; + } + + switch ( epDepthDefinitionAlgorithm ) + { + case CexmcEntryPointDepthPlain : + break; + case CexmcEntryPointDepthSphere : + { + G4double calorimeterEPLeftRadiusOfTheSphere( + calorimeterLeftTransform.NetTranslation().mag() + + calorimeterEPLeftPosition.z() ); + G4double calorimeterEPLeftRadiusOfTheSphere2( + calorimeterEPLeftRadiusOfTheSphere * + calorimeterEPLeftRadiusOfTheSphere ); + G4double calorimeterEPLeftPositionX2( + calorimeterEPLeftPosition.x() * + calorimeterEPLeftPosition.x() ); + G4double calorimeterEPLeftPositionY2( + calorimeterEPLeftPosition.y() * + calorimeterEPLeftPosition.y() ); + G4double calorimeterEPLeftPositionZOffset( + calorimeterEPLeftRadiusOfTheSphere - std::sqrt( + calorimeterEPLeftRadiusOfTheSphere2 - + calorimeterEPLeftPositionX2 - + calorimeterEPLeftPositionY2 ) ); + G4double calorimeterEPRightRadiusOfTheSphere( + calorimeterRightTransform.NetTranslation().mag() + + calorimeterEPRightPosition.z() ); + G4double calorimeterEPRightRadiusOfTheSphere2( + calorimeterEPRightRadiusOfTheSphere * + calorimeterEPRightRadiusOfTheSphere ); + G4double calorimeterEPRightPositionX2( + calorimeterEPRightPosition.x() * + calorimeterEPRightPosition.x() ); + G4double calorimeterEPRightPositionY2( + calorimeterEPRightPosition.y() * + calorimeterEPRightPosition.y() ); + G4double calorimeterEPRightPositionZOffset( + calorimeterEPRightRadiusOfTheSphere - std::sqrt( + calorimeterEPRightRadiusOfTheSphere2 - + calorimeterEPRightPositionX2 - + calorimeterEPRightPositionY2 ) ); + calorimeterEPLeftPosition.setZ( calorimeterEPLeftPosition.z() - + calorimeterEPLeftPositionZOffset ); + calorimeterEPRightPosition.setZ( calorimeterEPRightPosition.z() - + calorimeterEPRightPositionZOffset ); + } + break; + } + + calorimeterEPLeftWorldPosition = calorimeterLeftTransform.TransformPoint( + calorimeterEPLeftPosition ); + calorimeterEPLeftWorldDirection = calorimeterLeftTransform.TransformAxis( + calorimeterEPLeftDirection ); + calorimeterEPRightWorldPosition = calorimeterRightTransform.TransformPoint( + calorimeterEPRightPosition ); + calorimeterEPRightWorldDirection = calorimeterRightTransform.TransformAxis( + calorimeterEPRightDirection ); + + hasBasicTrigger = true; +} + + +void CexmcReconstructor::ReconstructTargetPoint( void ) +{ + if ( ! targetEPInitialized ) + { + targetEPWorldPosition = targetTransform.TransformPoint( + G4ThreeVector( 0, 0, 0 ) ); + targetEPWorldDirection.setX( 0 ); + targetEPWorldDirection.setY( 0 ); + targetEPWorldDirection.setZ( 1 ); + + targetEPPosition = targetTransform.Inverse().TransformPoint( + targetEPWorldPosition ); + targetEPDirection = targetTransform.Inverse().TransformAxis( + targetEPWorldDirection ); + targetEPInitialized = true; + } + + hasBasicTrigger = true; +} + + +void CexmcReconstructor::ReconstructAngle( void ) +{ + G4ThreeVector epLeft( calorimeterEPLeftWorldPosition - + targetEPWorldPosition ); + G4ThreeVector epRight( calorimeterEPRightWorldPosition - + targetEPWorldPosition ); + theAngle = epLeft.angle( epRight ); + + hasBasicTrigger = true; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcReconstructorMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcReconstructorMessenger.cc new file mode 100644 index 0000000000..31431b8880 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcReconstructorMessenger.cc @@ -0,0 +1,236 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcReconstructorMessenger.cc + * + * Description: reconstructor messenger + * + * Version: 1.0 + * Created: 02.12.2009 15:38:30 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include "CexmcReconstructorMessenger.hh" +#include "CexmcReconstructor.hh" +#include "CexmcMessenger.hh" +#include "CexmcCommon.hh" + + +CexmcReconstructorMessenger::CexmcReconstructorMessenger( + CexmcReconstructor * reconstructor ) : + reconstructor( reconstructor ), + setCalorimeterEntryPointDefinitionAlgorithm( NULL ), + setCrystalSelectionAlgorithm( NULL ), useInnerRefCrystal( NULL ), + setCalorimeterEntryPointDepth( NULL ) +{ + setCalorimeterEntryPointDefinitionAlgorithm = new G4UIcmdWithAString( + ( CexmcMessenger::reconstructorDirName + "entryPointDefinitionAlgo" ). + c_str(), this ); + setCalorimeterEntryPointDefinitionAlgorithm->SetGuidance( + "\n Algorithm to reconstruct entry point of output particle" + "\n decay products in calorimeter" + "\n (none of the following algorithms reconstruct directions)\n" + " center - entry points defined in the center of the\n" + " calorimeters,\n" + " simple - entry points defined in the center of the crystal\n" + " that has maximum energy deposit value,\n" + " linear - entry points defined by linear weights of energy\n" + " deposit in crystals,\n" + " sqrt - entry points defined by square root weights of\n" + " energy deposit in crystals" ); + setCalorimeterEntryPointDefinitionAlgorithm->SetDefaultValue( "sqrt" ); + setCalorimeterEntryPointDefinitionAlgorithm->SetParameterName( + "EntryPointDefinitionAlgo", false ); + setCalorimeterEntryPointDefinitionAlgorithm->SetCandidates( + "center simple linear sqrt" ); + setCalorimeterEntryPointDefinitionAlgorithm->AvailableForStates( + G4State_PreInit, G4State_Idle ); + + setCalorimeterEntryPointDepthDefinitionAlgorithm = new G4UIcmdWithAString( + ( CexmcMessenger::reconstructorDirName + + "entryPointDepthDefinitionAlgo" ).c_str(), this ); + setCalorimeterEntryPointDepthDefinitionAlgorithm->SetGuidance( + "\n Algorithm to reconstruct entry point depth of output\n" + " particle decay products in calorimeter\n" + " (value is defined by 'entryPointDepth' parameter)\n" + " plain - depth is a constant\n" + " sphere - depth depends on X and Y of calorimeter entry\n" + " points and locates on surface of a sphere\n" + " with origin in the center of the target;\n" + " radius of the sphere is sum of distance to\n" + " the calorimeter and 'entryPointDepth' value" ); + setCalorimeterEntryPointDepthDefinitionAlgorithm->SetDefaultValue( + "plain" ); + setCalorimeterEntryPointDepthDefinitionAlgorithm->SetParameterName( + "EntryPointDepthDefinitionAlgo", false ); + setCalorimeterEntryPointDepthDefinitionAlgorithm->SetCandidates( + "plain sphere" ); + setCalorimeterEntryPointDepthDefinitionAlgorithm->AvailableForStates( + G4State_PreInit, G4State_Idle ); + + setCrystalSelectionAlgorithm = new G4UIcmdWithAString( + ( CexmcMessenger::reconstructorDirName + "crystalSelectionAlgo" ). + c_str(), this ); + setCrystalSelectionAlgorithm->SetGuidance( + "\n Choose which crystals will be selected in weighted entry point\n" + " reconstruction algorithms\n" + " all - all,\n" + " adjacent - crystal with maximum energy deposit and\n" + " adjacent crystals" ); + setCrystalSelectionAlgorithm->SetDefaultValue( "all" ); + setCrystalSelectionAlgorithm->SetParameterName( "CrystalSelAlgo", false ); + setCrystalSelectionAlgorithm->SetCandidates( "all adjacent" ); + setCrystalSelectionAlgorithm->AvailableForStates( G4State_PreInit, + G4State_Idle ); + + useInnerRefCrystal = new G4UIcmdWithABool( + ( CexmcMessenger::reconstructorDirName + "useInnerRefCrystal" ). + c_str(), this ); + useInnerRefCrystal->SetGuidance( + "\n Defines that if the crystal with maximum energy deposit in\n" + " calorimeter is an outer crystal then the closest inner crystal\n" + " will be chosen as the reference for adjacent crystal selection\n" + " algorithm and simple entry point definition algorithm.\n" + " If not set then the reference crystal will be found from all\n" + " crystals in calorimeter" ); + useInnerRefCrystal->SetDefaultValue( false ); + useInnerRefCrystal->SetParameterName( "UseInnerRefCrystal", false ); + useInnerRefCrystal->AvailableForStates( G4State_PreInit, G4State_Idle ); + + setCalorimeterEntryPointDepth = new G4UIcmdWithADoubleAndUnit( + ( CexmcMessenger::reconstructorDirName + "entryPointDepth" ).c_str(), + this ); + setCalorimeterEntryPointDepth->SetGuidance( + "\n Depth of entry point used in reconstruction of angle\n" + " between output particle decay products" ); + setCalorimeterEntryPointDepth->SetParameterName( "EntryPointDepth", false ); + setCalorimeterEntryPointDepth->SetDefaultValue( 0 ); + setCalorimeterEntryPointDepth->SetDefaultUnit( "cm" ); + setCalorimeterEntryPointDepth->SetUnitCandidates( "mm cm m" ); + setCalorimeterEntryPointDepth->AvailableForStates( G4State_PreInit, + G4State_Idle ); +} + + +CexmcReconstructorMessenger::~CexmcReconstructorMessenger() +{ + delete setCalorimeterEntryPointDefinitionAlgorithm; + delete setCalorimeterEntryPointDepthDefinitionAlgorithm; + delete setCrystalSelectionAlgorithm; + delete useInnerRefCrystal; + delete setCalorimeterEntryPointDepth; +} + + +void CexmcReconstructorMessenger::SetNewValue( G4UIcommand * cmd, + G4String value ) +{ + do + { + if ( cmd == setCalorimeterEntryPointDefinitionAlgorithm ) + { + CexmcCalorimeterEntryPointDefinitionAlgorithm + epDefinitionAlgorithm( CexmcEntryPointInTheCenter ); + do + { + if ( value == "simple" ) + { + epDefinitionAlgorithm = + CexmcEntryPointInTheCenterOfCrystalWithMaxED; + break; + } + if ( value == "linear" ) + { + epDefinitionAlgorithm = CexmcEntryPointByLinearEDWeights; + break; + } + if ( value == "sqrt" ) + { + epDefinitionAlgorithm = CexmcEntryPointBySqrtEDWeights; + break; + } + } while ( false ); + reconstructor->SetCalorimeterEntryPointDefinitionAlgorithm( + epDefinitionAlgorithm ); + break; + } + if ( cmd == setCalorimeterEntryPointDepthDefinitionAlgorithm ) + { + CexmcCalorimeterEntryPointDepthDefinitionAlgorithm + epDepthDefinitionAlgorithm( CexmcEntryPointDepthPlain ); + do + { + if ( value == "sphere" ) + { + epDepthDefinitionAlgorithm = CexmcEntryPointDepthSphere; + break; + } + } while ( false ); + reconstructor->SetCalorimeterEntryPointDepthDefinitionAlgorithm( + epDepthDefinitionAlgorithm ); + break; + } + if ( cmd == setCrystalSelectionAlgorithm ) + { + CexmcCrystalSelectionAlgorithm + csAlgorithm( CexmcSelectAllCrystals ); + do + { + if ( value == "adjacent" ) + { + csAlgorithm = CexmcSelectAdjacentCrystals; + break; + } + } while ( false ); + reconstructor->SetCrystalSelectionAlgorithm( csAlgorithm ); + break; + } + if ( cmd == useInnerRefCrystal ) + { + reconstructor->UseInnerRefCrystal( + G4UIcmdWithABool::GetNewBoolValue( value ) ); + break; + } + if ( cmd == setCalorimeterEntryPointDepth ) + { + reconstructor->SetCalorimeterEntryPointDepth( + G4UIcmdWithADoubleAndUnit::GetNewDoubleValue( value ) ); + break; + } + } while ( false ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcReimplementedGenbod.cc b/examples/advanced/ChargeExchangeMC/src/CexmcReimplementedGenbod.cc new file mode 100644 index 0000000000..444a193e2e --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcReimplementedGenbod.cc @@ -0,0 +1,238 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcReimplementedGenbod.cc + * + * Description: reimplemented GENBOD + * (mostly adopted from ROOT TGenPhaseSpace) + * + * Version: 1.0 + * Created: 08.09.2010 18:52:39 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#include +#include +#include +#include "CexmcReimplementedGenbod.hh" +#include "CexmcException.hh" + + +namespace +{ + G4int DoubleMax( const void * a, const void * b ) + { + G4double aa( *( ( G4double * )a ) ); + G4double bb( *( ( G4double * )b ) ); + + if ( aa > bb ) + return 1; + + if ( aa < bb ) + return -1; + + return 0; + } +} + + +CexmcReimplementedGenbod::CexmcReimplementedGenbod() : maxWeight( 0. ), + nmbOfOutputParticles( 0 ) +{ +} + + +G4double CexmcReimplementedGenbod::Generate( void ) +{ + // Generate a random final state. + // The function returns the weigth of the current event. + // Note that Momentum, Energy units are Gev/C, GeV + + G4double te_minus_tm( totalEnergy - totalMass ); + G4double rno[ maxParticles ]; + rno[ 0 ] = 0; + + if ( nmbOfOutputParticles > 2 ) + { + for ( G4int i( 1 ); i < nmbOfOutputParticles - 1; ++i ) + { + rno[ i ] = G4UniformRand(); + } + qsort( rno + 1, nmbOfOutputParticles - 2, sizeof( G4double ), + DoubleMax ); + } + rno[ nmbOfOutputParticles - 1 ] = 1; + + G4double invMas[ maxParticles ]; + G4double sum( 0 ); + + for ( int i( 0 ); i < nmbOfOutputParticles; ++i ) + { + sum += outVec[ i ].mass / GeV; + invMas[ i ] = rno[ i ] * te_minus_tm / GeV + sum; + } + + // + //-----> compute the weight of the current event + // + G4double wt( maxWeight ); + G4double pd[ maxParticles ]; + + for ( int i( 0 ); i < nmbOfOutputParticles - 1; ++i ) + { + pd[ i ] = PDK( invMas[ i + 1 ], invMas[ i ], + outVec[ i + 1 ].mass / GeV ); + wt *= pd[ i ]; + } + + // + //-----> complete specification of event (Raubold-Lynch method) + // + outVec[ 0 ].lVec->setPx( 0. ); + outVec[ 0 ].lVec->setPy( pd[ 0 ] ); + outVec[ 0 ].lVec->setPz( 0. ); + outVec[ 0 ].lVec->setE( std::sqrt( pd[ 0 ] * pd[ 0 ] + + outVec[ 0 ].mass / GeV * + outVec[ 0 ].mass / GeV ) ); + + G4int i( 1 ); + + while ( true ) + { + outVec[ i ].lVec->setPx( 0. ); + outVec[ i ].lVec->setPy( -pd[ i - 1 ] ); + outVec[ i ].lVec->setPz( 0. ); + outVec[ i ].lVec->setE( std::sqrt( pd[ i - 1 ] * pd[ i - 1 ] + + outVec[ i ].mass / GeV * + outVec[ i ].mass / GeV ) ); + + G4double cZ( 2 * G4UniformRand() - 1 ); + G4double sZ( std::sqrt( 1 - cZ * cZ ) ); + G4double angY( 2 * pi * G4UniformRand() ); + G4double cY( std::cos( angY ) ); + G4double sY( std::sin( angY ) ); + + for ( int j( 0 ); j <= i; ++j ) + { + G4LorentzVector * v( outVec[ j ].lVec ); + G4double x( v->px() ); + G4double y( v->py() ); + v->setPx( cZ * x - sZ * y ); + v->setPy( sZ * x + cZ * y ); // rotation around Z + x = v->px(); + G4double z( v->pz() ); + v->setPx( cY * x - sY * z ); + v->setPz( sY * x + cY * z ); // rotation around Y + } + + if ( i == nmbOfOutputParticles - 1 ) + break; + + G4double beta( pd[ i ] / std::sqrt( pd[ i ] * pd[ i ] + + invMas[ i ] * invMas[ i ] ) ); + for ( int j( 0 ); j <= i; ++j ) + outVec[ j ].lVec->boost( 0, beta, 0 ); + + ++i; + } + + for ( int i( 0 ); i < nmbOfOutputParticles; ++i ) + *outVec[ i ].lVec *= GeV; + + // + //---> return the weigth of event + // + return wt; +} + + +void CexmcReimplementedGenbod::ParticleChangeHook( void ) +{ + nmbOfOutputParticles = outVec.size(); + + if ( nmbOfOutputParticles < 2 || nmbOfOutputParticles > maxParticles ) + throw CexmcException( CexmcKinematicsException ); + + SetMaxWeight(); +} + + +void CexmcReimplementedGenbod::FermiEnergyDepStatusChangeHook( void ) +{ + SetMaxWeight(); +} + + +void CexmcReimplementedGenbod::SetMaxWeight( void ) +{ + G4double te_minus_tm( totalEnergy - totalMass ); + + if ( fermiEnergyDepIsOn ) + { + // ffq[] = pi * (2*pi)**(N-2) / (N-2)! + G4double ffq[] = { 0 + ,3.141592, 19.73921, 62.01255, 129.8788, 204.0131 + ,256.3704, 268.4705, 240.9780, 189.2637 + ,132.1308, 83.0202, 47.4210, 24.8295 + ,12.0006, 5.3858, 2.2560, 0.8859 }; + maxWeight = + std::pow( te_minus_tm / GeV, nmbOfOutputParticles - 2 ) * + ffq[ nmbOfOutputParticles - 1 ] / ( totalEnergy / GeV ); + } + else + { + G4double emmax( ( te_minus_tm + outVec[ 0 ].mass ) / GeV ); + G4double emmin( 0. ); + G4double wtmax( 1. ); + + for ( G4int i( 1 ); i < nmbOfOutputParticles; ++i ) + { + emmin += outVec[ i - 1 ].mass / GeV; + emmax += outVec[ i ].mass / GeV; + wtmax *= PDK( emmax, emmin, outVec[ i ].mass / GeV ); + } + maxWeight = 1 / wtmax; + } +} + + +G4double CexmcReimplementedGenbod::PDK( G4double a, G4double b, G4double c ) +{ + G4double x( ( a - b - c ) * ( a + b + c ) * ( a - b + c ) * + ( a + b - c ) ); + x = std::sqrt( x ) / ( 2 * a ); + + return x; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcRun.cc b/examples/advanced/ChargeExchangeMC/src/CexmcRun.cc new file mode 100644 index 0000000000..b952f2c920 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcRun.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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcRun.cc + * + * Description: run data (acceptances etc.) + * + * Version: 1.0 + * Created: 19.12.2009 23:59:29 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include "CexmcRun.hh" + + +CexmcRun::CexmcRun() : nmbOfFalseHitsTriggeredEDT( 0 ), + nmbOfFalseHitsTriggeredRec( 0 ), nmbOfSavedEvents( 0 ), + nmbOfSavedFastEvents( 0 ) +{ +} + + +void CexmcRun::IncrementNmbOfHitsSampled( G4int index ) +{ + CexmcNmbOfHitsInRanges::iterator found( + nmbOfHitsSampled.find( index ) ); + if ( found == nmbOfHitsSampled.end() ) + nmbOfHitsSampled.insert( std::pair< int, int >( index, 1 ) ); + else + ++found->second; +} + + +void CexmcRun::IncrementNmbOfHitsSampledFull( G4int index ) +{ + CexmcNmbOfHitsInRanges::iterator found( + nmbOfHitsSampledFull.find( index ) ); + if ( found == nmbOfHitsSampledFull.end() ) + nmbOfHitsSampledFull.insert( std::pair< int, int >( index, 1 ) ); + else + ++found->second; +} + + +void CexmcRun::IncrementNmbOfHitsTriggeredRealRange( G4int index ) +{ + CexmcNmbOfHitsInRanges::iterator found( + nmbOfHitsTriggeredRealRange.find( index ) ); + if ( found == nmbOfHitsTriggeredRealRange.end() ) + nmbOfHitsTriggeredRealRange.insert( std::pair< int, int >( index, 1 ) ); + else + ++found->second; +} + + +void CexmcRun::IncrementNmbOfHitsTriggeredRecRange( G4int index ) +{ + CexmcNmbOfHitsInRanges::iterator found( + nmbOfHitsTriggeredRecRange.find( index ) ); + if ( found == nmbOfHitsTriggeredRecRange.end() ) + nmbOfHitsTriggeredRecRange.insert( std::pair< int, int >( index, 1 ) ); + else + ++found->second; +} + + +void CexmcRun::IncrementNmbOfOrphanHits( G4int index ) +{ + CexmcNmbOfHitsInRanges::iterator found( + nmbOfOrphanHits.find( index ) ); + if ( found == nmbOfOrphanHits.end() ) + nmbOfOrphanHits.insert( std::pair< int, int >( index, 1 ) ); + else + ++found->second; +} + + +void CexmcRun::IncrementNmbOfFalseHitsTriggeredEDT( void ) +{ + ++nmbOfFalseHitsTriggeredEDT; +} + + +void CexmcRun::IncrementNmbOfFalseHitsTriggeredRec( void ) +{ + ++nmbOfFalseHitsTriggeredRec; +} + + +void CexmcRun::IncrementNmbOfSavedEvents( void ) +{ + ++nmbOfSavedEvents; +} + + +void CexmcRun::IncrementNmbOfSavedFastEvents( void ) +{ + ++nmbOfSavedFastEvents; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcRunAction.cc b/examples/advanced/ChargeExchangeMC/src/CexmcRunAction.cc new file mode 100644 index 0000000000..83d8e7d585 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcRunAction.cc @@ -0,0 +1,256 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcRunAction.cc + * + * Description: run action + * + * Version: 1.0 + * Created: 20.12.2009 00:18:05 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include +#include "CexmcRunAction.hh" +#include "CexmcPhysicsManager.hh" +#include "CexmcProductionModel.hh" +#include "CexmcAngularRange.hh" +#include "CexmcException.hh" + + +CexmcRunAction::CexmcRunAction( CexmcPhysicsManager * physicsManager ) : + physicsManager( physicsManager ) +{ +} + + +G4Run * CexmcRunAction::GenerateRun( void ) +{ + return new CexmcRun; +} + + +void CexmcRunAction::PrintResults( + const CexmcNmbOfHitsInRanges & nmbOfHitsSampled, + const CexmcNmbOfHitsInRanges & nmbOfHitsSampledFull, + const CexmcNmbOfHitsInRanges & nmbOfHitsTriggeredRealRange, + const CexmcNmbOfHitsInRanges & nmbOfHitsTriggeredRecRange, + const CexmcNmbOfHitsInRanges & nmbOfOrphanHits, + const CexmcAngularRangeList & angularRanges, + G4int nmbOfFalseHitsTriggeredEDT, + G4int nmbOfFalseHitsTriggeredRec ) +{ + /* there are 7 auxiliary columns: + * 1. acc real, [floating point number] + * 2. triggered real, + * 3. total hits sampled and monitored, + * 4. acc reconstructed, [floating point number] + * 5. triggered reconstructed, + * 6. total hits sampled and monitored (identical with #3), + * 7. total hits sampled. + * As far as #3 and #6 are identical, nmbOfAuxColumns = 6 */ + const size_t nmbOfAuxColumns( 6 ); + const std::streamsize prec( 8 ); + std::vector< std::vector< std::string > > auxStrings; + size_t maxSize[ nmbOfAuxColumns ]; + + for ( size_t i( 0 ); i < nmbOfAuxColumns; ++i ) + maxSize[ i ] = 0; + + /* addition of 2 (for '0.') for acceptances, that are floating point + * numbers, is correct as far as ios::fixed will be used, and no negative + * values are expected, and values will be less than 1. */ + maxSize[ 0 ] = prec + 2; + maxSize[ 3 ] = prec + 2; + + for ( CexmcAngularRangeList::const_iterator k( angularRanges.begin() ); + k != angularRanges.end(); ++k ) + { + G4int total( 0 ); + G4int totalFull( 0 ); + G4int triggered( 0 ); + G4double acc( std::numeric_limits< G4double >::quiet_NaN() ); + + CexmcNmbOfHitsInRanges::const_iterator found( + nmbOfHitsSampled.find( k->index ) ); + if ( found != nmbOfHitsSampled.end() ) + { + total = found->second; + acc = 0; + } + + found = nmbOfHitsSampledFull.find( k->index ); + if ( found != nmbOfHitsSampledFull.end() ) + { + totalFull = found->second; + } + + G4double accSave( acc ); + found = nmbOfHitsTriggeredRealRange.find( k->index ); + if ( found != nmbOfHitsTriggeredRealRange.end() ) + { + triggered = found->second; + if ( total > 0 ) + acc = G4double( triggered ) / total; + } + + std::ostringstream auxStringStream[ nmbOfAuxColumns ]; + + for ( size_t i( 0 ); i < nmbOfAuxColumns; ++i ) + { + auxStringStream[ i ].precision( prec ); + auxStringStream[ i ].flags( std::ios::fixed ); + } + + G4int i( 0 ); + + auxStringStream[ i ] << acc; + auxStringStream[ ++i ] << triggered; + size_t size( auxStringStream[ i ].str().size() ); + maxSize[ i ] = maxSize[ i ] > size ? maxSize[ i ] : size; + auxStringStream[ ++i ] << total; + size = auxStringStream[ i ].str().size(); + maxSize[ i ] = maxSize[ i ] > size ? maxSize[ i ] : size; + + triggered = 0; + acc = accSave; + found = nmbOfHitsTriggeredRecRange.find( k->index ); + if ( found != nmbOfHitsTriggeredRecRange.end() ) + { + triggered = found->second; + if ( total > 0 ) + acc = G4double( triggered ) / total; + } + + auxStringStream[ ++i ] << acc; + auxStringStream[ ++i ] << triggered; + size = auxStringStream[ i ].str().size(); + maxSize[ i ] = maxSize[ i ] > size ? maxSize[ i ] : size; + auxStringStream[ ++i ] << totalFull; + size = auxStringStream[ i ].str().size(); + maxSize[ i ] = maxSize[ i ] > size ? maxSize[ i ] : size; + + std::vector< std::string > auxString( nmbOfAuxColumns ); + + for ( size_t i( 0 ); i < nmbOfAuxColumns; ++i ) + auxString[ i ] = auxStringStream[ i ].str(); + + auxStrings.push_back( auxString ); + } + + G4int i( 0 ); + for ( CexmcAngularRangeList::const_iterator k( angularRanges.begin() ); + k != angularRanges.end(); ++k ) + { + G4cout << " " << *k; + G4int j( 0 ); + G4cout << " | " << std::setw( maxSize[ j ] ); + G4cout << auxStrings[ i ][ j++ ]; + G4cout << " ( " << std::setw( maxSize[ j ] ); + G4cout << auxStrings[ i ][ j++ ]; + G4cout << " / " << std::setw( maxSize[ j ] ); + G4cout << auxStrings[ i ][ j++ ]; + G4cout << " ) | " << std::setw( maxSize[ j ] ); + G4cout << auxStrings[ i ][ j++ ]; + G4cout << " ( " << std::setw( maxSize[ j ] ); + G4cout << auxStrings[ i ][ j++ ]; + G4cout << " / " << std::setw( maxSize[ 2 ] ); + G4cout << auxStrings[ i ][ 2 ]; + G4cout << " / " << std::setw( maxSize[ j ] ); + G4cout << auxStrings[ i++ ][ j++ ] << " )" << G4endl; + } + + CexmcAngularRangeList angularGaps; + GetAngularGaps( angularRanges, angularGaps ); + + if ( ! angularGaps.empty() ) + { + G4cout << " orphans detected: " << G4endl; + for ( CexmcAngularRangeList::const_iterator k( angularGaps.begin() ); + k != angularGaps.end(); ++k ) + { + G4cout << " " << *k; + G4int total( 0 ); + + CexmcNmbOfHitsInRanges::const_iterator found( + nmbOfOrphanHits.find( k->index ) ); + if ( found != nmbOfHitsSampled.end() ) + { + total = found->second; + } + G4cout << " " << total << G4endl; + } + } + + G4cout << " ---" << G4endl; + G4cout << " False hits (edt, rec): " << nmbOfFalseHitsTriggeredEDT << + " | " << nmbOfFalseHitsTriggeredRec << G4endl; +} + + +void CexmcRunAction::EndOfRunAction( const G4Run * run ) +{ + const CexmcRun * theRun( static_cast< const CexmcRun * >( run ) ); + + const CexmcNmbOfHitsInRanges & nmbOfHitsSampled( + theRun->GetNmbOfHitsSampled() ); + const CexmcNmbOfHitsInRanges & nmbOfHitsSampledFull( + theRun->GetNmbOfHitsSampledFull() ); + const CexmcNmbOfHitsInRanges & nmbOfHitsTriggeredRealRange( + theRun->GetNmbOfHitsTriggeredRealRange() ); + const CexmcNmbOfHitsInRanges & nmbOfHitsTriggeredRecRange( + theRun->GetNmbOfHitsTriggeredRecRange() ); + const CexmcNmbOfHitsInRanges & nmbOfOrphanHits( + theRun->GetNmbOfOrphanHits() ); + + CexmcProductionModel * productionModel( + physicsManager->GetProductionModel() ); + if ( ! productionModel ) + throw CexmcException( CexmcWeirdException ); + + const CexmcAngularRangeList & angularRanges( + productionModel->GetAngularRanges() ); + + G4cout << " --- Setup acceptances (real, rec):" << G4endl; + PrintResults( nmbOfHitsSampled, nmbOfHitsSampledFull, + nmbOfHitsTriggeredRealRange, nmbOfHitsTriggeredRecRange, + nmbOfOrphanHits, angularRanges, + theRun->GetNmbOfFalseHitsTriggeredEDT(), + theRun->GetNmbOfFalseHitsTriggeredRec() ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcRunManager.cc b/examples/advanced/ChargeExchangeMC/src/CexmcRunManager.cc new file mode 100644 index 0000000000..3b65ef800d --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcRunManager.cc @@ -0,0 +1,1300 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcRunManager.cc + * + * Description: run manager + * + * Version: 1.0 + * Created: 03.11.2009 20:27:46 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#ifdef CEXMC_USE_PERSISTENCY +#include +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "CexmcRunManager.hh" +#include "CexmcRunManagerMessenger.hh" +#include "CexmcRunAction.hh" +#include "CexmcRun.hh" +#include "CexmcPhysicsManager.hh" +#include "CexmcProductionModel.hh" +#include "CexmcSimpleDecayTableStore.hh" +#include "CexmcPrimaryGeneratorAction.hh" +#include "CexmcEnergyDepositDigitizer.hh" +#include "CexmcSimpleEnergyDeposit.hh" +#include "CexmcEnergyDepositInLeftRightSet.hh" +#include "CexmcEnergyDepositInCalorimeter.hh" +#include "CexmcTrackPoints.hh" +#include "CexmcTrackPointsInLeftRightSet.hh" +#include "CexmcTrackPointsInCalorimeter.hh" +#include "CexmcChargeExchangeReconstructor.hh" +#include "CexmcEventAction.hh" +#include "CexmcParticleGun.hh" +#include "CexmcEnergyDepositStore.hh" +#include "CexmcTrackPointsStore.hh" +#include "CexmcSetup.hh" +#include "CexmcEventSObject.hh" +#include "CexmcEventFastSObject.hh" +#include "CexmcTrackPointInfo.hh" +#include "CexmcEventInfo.hh" +#include "CexmcBasicPhysicsSettings.hh" +#include "CexmcSensitiveDetectorsAttributes.hh" +#include "CexmcCustomFilterEval.hh" + + +namespace +{ + G4String gdmlFileExtension( ".gdml" ); + G4String gdmlbz2FileExtension( ".gdml.bz2" ); +} + + +CexmcRunManager::CexmcRunManager( const G4String & projectId, + const G4String & rProject, + G4bool overrideExistingProject ) : + basePhysicsUsed( CexmcPMFactoryInstance::GetBasePhysics() ), + productionModelType( CexmcUnknownProductionModel ), + gdmlFileName( "default.gdml" ), shouldGdmlFileBeValidated( true ), + zipGdmlFile( false ), projectsDir( "." ), projectId( projectId ), + rProject( rProject ), guiMacroName( "" ), cfFileName( "" ), + eventCountPolicy( CexmcCountAllEvents ), areLiveHistogramsEnabled( false ), + skipInteractionsWithoutEDTonWrite( true ), + evDataVerboseLevel( CexmcWriteEventDataOnEveryEDT ), + rEvDataVerboseLevel( CexmcWriteNoEventData ), numberOfEventsProcessed( 0 ), + numberOfEventsProcessedEffective( 0 ), curEventRead( 0 ), +#ifdef CEXMC_USE_PERSISTENCY + eventsArchive( NULL ), fastEventsArchive( NULL ), +#ifdef CEXMC_USE_CUSTOM_FILTER + customFilter( NULL ), +#endif +#endif + physicsManager( NULL ), messenger( NULL ) +{ + /* this exception must be caught before creating the object! */ + if ( rProject != "" && rProject == projectId ) + throw CexmcException( CexmcWeirdException ); + + const char * projectsDirEnv( getenv( "CEXMC_PROJECTS_DIR" ) ); + + if ( projectsDirEnv ) + projectsDir = projectsDirEnv; + + struct stat tmp; + if ( ProjectIsSaved() && + stat( ( projectsDir + "/" + projectId + ".rdb" ).c_str(), &tmp ) == 0 + && ! overrideExistingProject ) + throw CexmcException( CexmcProjectExists ); + + messenger = new CexmcRunManagerMessenger( this ); + +#ifdef CEXMC_USE_PERSISTENCY + if ( ProjectIsRead() ) + ReadPreinitProjectData(); +#endif +} + + +void CexmcRunManager::BeamParticleChangeHook( void ) +{ + const CexmcEventAction * eventAction( + static_cast< const CexmcEventAction * >( userEventAction ) ); + if ( ! eventAction ) + throw CexmcException( CexmcWeirdException ); + + CexmcEventAction * theEventAction( const_cast< CexmcEventAction * >( + eventAction ) ); + theEventAction->BeamParticleChangeHook(); +} + + +CexmcRunManager::~CexmcRunManager() +{ +#ifdef CEXMC_USE_PERSISTENCY + if ( ProjectIsRead() && zipGdmlFile ) + { + G4String cmd( G4String( "bzip2 " ) + projectsDir + "/" + rProject + + gdmlFileExtension ); + if ( system( cmd ) != 0 ) + G4cerr << "Failed to zip geometry data" << G4endl; + } + +#ifdef CEXMC_USE_CUSTOM_FILTER + delete customFilter; +#endif +#endif + + delete messenger; +} + + +#ifdef CEXMC_USE_PERSISTENCY + +void CexmcRunManager::ReadPreinitProjectData( void ) +{ + if ( ! ProjectIsRead() ) + return; + + /* read run data */ + std::ifstream runDataFile( ( projectsDir + "/" + rProject + ".rdb" ). + c_str() ); + if ( ! runDataFile ) + throw CexmcException( CexmcReadProjectIncomplete ); + + { + boost::archive::binary_iarchive archive( runDataFile ); + archive >> sObject; + } + + basePhysicsUsed = sObject.basePhysicsUsed; + + productionModelType = sObject.productionModelType; + + /* read gdml file */ + G4String fileExtension( zipGdmlFile ? gdmlbz2FileExtension : + gdmlFileExtension ); + G4String cmd( G4String( "cp " ) + projectsDir + "/" + rProject + + fileExtension + " " + projectsDir + "/" + projectId + + fileExtension ); + if ( ProjectIsSaved() && system( cmd ) != 0 ) + throw CexmcException( CexmcReadProjectIncomplete ); + + if ( zipGdmlFile ) + { + cmd = G4String( "bunzip2 " ) + projectsDir + "/" + rProject + + gdmlbz2FileExtension; + if ( system( cmd ) != 0 ) + throw CexmcException( CexmcFileCompressException ); + } + + gdmlFileName = projectsDir + "/" + rProject + gdmlFileExtension; +} + + +void CexmcRunManager::ReadProject( void ) +{ + if ( ! ProjectIsRead() ) + return; + + if ( ! physicsManager ) + throw CexmcException( CexmcWeirdException ); + + physicsManager->GetProductionModel()->SetAngularRanges( + sObject.angularRanges ); + G4DecayTable * etaDecayTable( G4Eta::Definition()->GetDecayTable() ); + for ( CexmcDecayBranchesStore::const_iterator + k( sObject.etaDecayTable.GetDecayBranches().begin() ); + k != sObject.etaDecayTable.GetDecayBranches().end(); ++k ) + { + etaDecayTable->GetDecayChannel( k->first )->SetBR( k->second ); + } + + physicsManager->GetProductionModel()->ApplyFermiMotion( + sObject.fermiMotionIsOn, false ); + eventCountPolicy = sObject.eventCountPolicy; + + G4Region * region( G4RegionStore::GetInstance()->GetRegion( + CexmcCalorimeterRegionName ) ); + if ( ! region ) + throw CexmcException( CexmcCalorimeterRegionNotInitialized ); + + region->GetProductionCuts()->SetProductionCuts( + sObject.calorimeterRegCuts ); + + const CexmcPrimaryGeneratorAction * primaryGeneratorAction( + static_cast< const CexmcPrimaryGeneratorAction * >( + userPrimaryGeneratorAction ) ); + CexmcPrimaryGeneratorAction * thePrimaryGeneratorAction( + const_cast< CexmcPrimaryGeneratorAction * >( + primaryGeneratorAction ) ); + CexmcParticleGun * particleGun( + thePrimaryGeneratorAction->GetParticleGun() ); + G4ParticleDefinition * particleDefinition( + G4ParticleTable::GetParticleTable()->FindParticle( + sObject.beamParticle ) ); + if ( ! particleDefinition ) + throw CexmcException( CexmcWeirdException ); + + particleGun->SetParticleDefinition( particleDefinition ); + particleGun->SetOrigPosition( sObject.beamPos, false ); + particleGun->SetOrigDirection( sObject.beamDir, false ); + particleGun->SetOrigMomentumAmp( sObject.beamMomentumAmp, false ); + + thePrimaryGeneratorAction->SetFwhmPosX( sObject.beamFwhmPosX, false ); + thePrimaryGeneratorAction->SetFwhmPosY( sObject.beamFwhmPosY, false ); + thePrimaryGeneratorAction->SetFwhmDirX( sObject.beamFwhmDirX, false ); + thePrimaryGeneratorAction->SetFwhmDirY( sObject.beamFwhmDirY, false ); + thePrimaryGeneratorAction->SetFwhmMomentumAmp( + sObject.beamFwhmMomentumAmp, false ); + + G4DigiManager * digiManager( G4DigiManager::GetDMpointer() ); + CexmcEnergyDepositDigitizer * edDigitizer( + static_cast< CexmcEnergyDepositDigitizer * >( + digiManager->FindDigitizerModule( CexmcEDDigitizerName ) ) ); + if ( ! edDigitizer ) + throw CexmcException( CexmcWeirdException ); + + edDigitizer->SetMonitorThreshold( sObject.monitorEDThreshold, false ); + edDigitizer->SetVetoCounterLeftThreshold( + sObject.vetoCounterEDLeftThreshold, false ); + edDigitizer->SetVetoCounterRightThreshold( + sObject.vetoCounterEDRightThreshold, false ); + edDigitizer->SetCalorimeterLeftThreshold( + sObject.calorimeterEDLeftThreshold, false ); + edDigitizer->SetCalorimeterRightThreshold( + sObject.calorimeterEDRightThreshold, false ); + edDigitizer->SetCalorimeterTriggerAlgorithm( + sObject.calorimeterTriggerAlgorithm, false ); + edDigitizer->SetOuterCrystalsVetoAlgorithm( + sObject.outerCrystalsVetoAlgorithm, false ); + edDigitizer->SetOuterCrystalsVetoFraction( + sObject.outerCrystalsVetoFraction, false ); + edDigitizer->ApplyFiniteCrystalResolution( + sObject.applyFiniteCrystalResolution, false ); + edDigitizer->SetCrystalResolutionData( sObject.crystalResolutionData ); + + const CexmcEventAction * eventAction( + static_cast< const CexmcEventAction * >( userEventAction ) ); + if ( ! eventAction ) + throw CexmcException( CexmcWeirdException ); + + CexmcEventAction * theEventAction( const_cast< CexmcEventAction * >( + eventAction ) ); + CexmcChargeExchangeReconstructor * reconstructor( + theEventAction->GetReconstructor() ); + if ( ! reconstructor ) + throw CexmcException( CexmcWeirdException ); + + reconstructor->SetCalorimeterEntryPointDefinitionAlgorithm( + sObject.epDefinitionAlgorithm ); + reconstructor->SetCalorimeterEntryPointDepthDefinitionAlgorithm( + sObject.epDepthDefinitionAlgorithm ); + reconstructor->SetCrystalSelectionAlgorithm( sObject.csAlgorithm ); + reconstructor->UseInnerRefCrystal( sObject.useInnerRefCrystal ); + reconstructor->SetCalorimeterEntryPointDepth( sObject.epDepth ); + reconstructor->UseTableMass( sObject.useTableMass ); + reconstructor->UseMassCut( sObject.useMassCut ); + reconstructor->SetMassCutOPCenter( sObject.mCutOPCenter ); + reconstructor->SetMassCutNOPCenter( sObject.mCutNOPCenter ); + reconstructor->SetMassCutOPWidth( sObject.mCutOPWidth ); + reconstructor->SetMassCutNOPWidth( sObject.mCutNOPWidth ); + reconstructor->SetMassCutEllipseAngle( sObject.mCutAngle ); + reconstructor->UseAbsorbedEnergyCut( sObject.useAbsorbedEnergyCut ); + reconstructor->SetAbsorbedEnergyCutCLCenter( sObject.aeCutCLCenter ); + reconstructor->SetAbsorbedEnergyCutCRCenter( sObject.aeCutCRCenter ); + reconstructor->SetAbsorbedEnergyCutCLWidth( sObject.aeCutCLWidth ); + reconstructor->SetAbsorbedEnergyCutCRWidth( sObject.aeCutCRWidth ); + reconstructor->SetAbsorbedEnergyCutEllipseAngle( sObject.aeCutAngle ); + + physicsManager->SetProposedMaxIL( sObject.proposedMaxIL ); + + rEvDataVerboseLevel = sObject.evDataVerboseLevel; + evDataVerboseLevel = rEvDataVerboseLevel; +} + + +void CexmcRunManager::SaveProject( void ) +{ + if ( ! ProjectIsSaved() ) + return; + + /* save run data */ + if ( ! physicsManager ) + throw CexmcException( CexmcWeirdException ); + + CexmcSimpleDecayTableStore etaDecayTable( + G4Eta::Definition()->GetDecayTable() ); + const CexmcPrimaryGeneratorAction * primaryGeneratorAction( + static_cast< const CexmcPrimaryGeneratorAction * >( + userPrimaryGeneratorAction ) ); + CexmcPrimaryGeneratorAction * thePrimaryGeneratorAction( + const_cast< CexmcPrimaryGeneratorAction * >( + primaryGeneratorAction ) ); + CexmcParticleGun * particleGun( + thePrimaryGeneratorAction->GetParticleGun() ); + + G4DigiManager * digiManager( G4DigiManager::GetDMpointer() ); + CexmcEnergyDepositDigitizer * edDigitizer( + static_cast< CexmcEnergyDepositDigitizer * >( + digiManager->FindDigitizerModule( CexmcEDDigitizerName ) ) ); + if ( ! edDigitizer ) + throw CexmcException( CexmcWeirdException ); + + const CexmcEventAction * eventAction( + static_cast< const CexmcEventAction * >( userEventAction ) ); + CexmcEventAction * theEventAction( const_cast< CexmcEventAction * >( + eventAction ) ); + CexmcChargeExchangeReconstructor * reconstructor( + theEventAction->GetReconstructor() ); + + std::vector< G4double > calorimeterRegCuts( 4 ); + if ( ProjectIsRead() ) + { + calorimeterRegCuts = sObject.calorimeterRegCuts; + } + else + { + G4Region * region( G4RegionStore::GetInstance()->GetRegion( + CexmcCalorimeterRegionName ) ); + if ( ! region ) + throw CexmcException( CexmcCalorimeterRegionNotInitialized ); + + calorimeterRegCuts = region->GetProductionCuts()->GetProductionCuts(); + } + + CexmcNmbOfHitsInRanges nmbOfHitsSampled; + CexmcNmbOfHitsInRanges nmbOfHitsSampledFull; + CexmcNmbOfHitsInRanges nmbOfHitsTriggeredRealRange; + CexmcNmbOfHitsInRanges nmbOfHitsTriggeredRecRange; + CexmcNmbOfHitsInRanges nmbOfOrphanHits; + G4int nmbOfFalseHitsTriggeredEDT( 0 ); + G4int nmbOfFalseHitsTriggeredRec( 0 ); + G4int nmbOfSavedEvents( 0 ); + G4int nmbOfSavedFastEvents( 0 ); + CexmcRun * run( static_cast< CexmcRun * >( currentRun ) ); + + if ( run ) + { + nmbOfHitsSampled = run->GetNmbOfHitsSampled(); + nmbOfHitsSampledFull = run->GetNmbOfHitsSampledFull(); + nmbOfHitsTriggeredRealRange = run->GetNmbOfHitsTriggeredRealRange(); + nmbOfHitsTriggeredRecRange = run->GetNmbOfHitsTriggeredRecRange(); + nmbOfOrphanHits = run->GetNmbOfOrphanHits(); + nmbOfFalseHitsTriggeredEDT = run->GetNmbOfFalseHitsTriggeredEDT(); + nmbOfFalseHitsTriggeredRec = run->GetNmbOfFalseHitsTriggeredRec(); + nmbOfSavedEvents = run->GetNmbOfSavedEvents(); + nmbOfSavedFastEvents = run->GetNmbOfSavedFastEvents(); + } + + CexmcRunSObject sObjectToWrite( + basePhysicsUsed, productionModelType, gdmlFileName, etaDecayTable, + physicsManager->GetProductionModel()->GetAngularRanges(), + physicsManager->GetProductionModel()->IsFermiMotionOn(), + calorimeterRegCuts, eventCountPolicy, + particleGun->GetParticleDefinition()->GetParticleName(), + particleGun->GetOrigPosition(), particleGun->GetOrigDirection(), + particleGun->GetOrigMomentumAmp(), + primaryGeneratorAction->GetFwhmPosX(), + primaryGeneratorAction->GetFwhmPosY(), + primaryGeneratorAction->GetFwhmDirX(), + primaryGeneratorAction->GetFwhmDirY(), + primaryGeneratorAction->GetFwhmMomentumAmp(), + edDigitizer->GetMonitorThreshold(), + edDigitizer->GetVetoCounterLeftThreshold(), + edDigitizer->GetVetoCounterRightThreshold(), + edDigitizer->GetCalorimeterLeftThreshold(), + edDigitizer->GetCalorimeterRightThreshold(), + edDigitizer->GetCalorimeterTriggerAlgorithm(), + edDigitizer->GetOuterCrystalsVetoAlgorithm(), + edDigitizer->GetOuterCrystalsVetoFraction(), + edDigitizer->IsFiniteCrystalResolutionApplied(), + edDigitizer->GetCrystalResolutionData(), + reconstructor->GetCalorimeterEntryPointDefinitionAlgorithm(), + reconstructor->GetCalorimeterEntryPointDepthDefinitionAlgorithm(), + reconstructor->GetCrystalSelectionAlgorithm(), + reconstructor->IsInnerRefCrystalUsed(), + reconstructor->GetCalorimeterEntryPointDepth(), + reconstructor->IsTableMassUsed(), reconstructor->IsMassCutUsed(), + reconstructor->GetMassCutOPCenter(), + reconstructor->GetMassCutNOPCenter(), + reconstructor->GetMassCutOPWidth(), reconstructor->GetMassCutNOPWidth(), + reconstructor->GetMassCutEllipseAngle(), + reconstructor->IsAbsorbedEnergyCutUsed(), + reconstructor->GetAbsorbedEnergyCutCLCenter(), + reconstructor->GetAbsorbedEnergyCutCRCenter(), + reconstructor->GetAbsorbedEnergyCutCLWidth(), + reconstructor->GetAbsorbedEnergyCutCRWidth(), + reconstructor->GetAbsorbedEnergyCutEllipseAngle(), + nmbOfHitsSampled, nmbOfHitsSampledFull, nmbOfHitsTriggeredRealRange, + nmbOfHitsTriggeredRecRange, nmbOfOrphanHits, nmbOfFalseHitsTriggeredEDT, + nmbOfFalseHitsTriggeredRec, nmbOfSavedEvents, nmbOfSavedFastEvents, + numberOfEventsProcessed, numberOfEventsProcessedEffective, + numberOfEventToBeProcessed, rProject, skipInteractionsWithoutEDTonWrite, + cfFileName, evDataVerboseLevel, physicsManager->GetProposedMaxIL() ); + + std::ofstream runDataFile( ( projectsDir + "/" + projectId + ".rdb" ). + c_str() ); + + { + boost::archive::binary_oarchive archive( runDataFile ); + archive << sObjectToWrite; + } + + /* save gdml file */ + G4String cmd( G4String( "cp " ) + gdmlFileName + " " + + projectsDir + "/" + projectId + + gdmlFileExtension ); + CexmcExceptionType exceptionType( CexmcSystemException ); + if ( zipGdmlFile ) + { + cmd = G4String( "bzip2 -c " ) + gdmlFileName + " > " + projectsDir + + "/" + projectId + gdmlbz2FileExtension; + exceptionType = CexmcFileCompressException; + } + if ( system( cmd ) != 0 ) + throw CexmcException( exceptionType ); +} + +#endif + + +void CexmcRunManager::DoCommonEventLoop( G4int nEvent, const G4String & cmd, + G4int nSelect ) +{ + G4int iEvent( 0 ); + G4int iEventEffective( 0 ); + + for( iEvent = 0; iEventEffective < nEvent; ++iEvent ) + { + currentEvent = GenerateEvent( iEvent ); + eventManager->ProcessOneEvent( currentEvent ); + CexmcEventInfo * eventInfo( static_cast< CexmcEventInfo * >( + currentEvent->GetUserInformation() ) ); + switch ( eventCountPolicy ) + { + case CexmcCountAllEvents : + ++iEventEffective; + break; + case CexmcCountEventsWithInteraction : + if ( eventInfo->TpTriggerIsOk() ) + ++iEventEffective; + break; + case CexmcCountEventsWithTrigger : + if ( eventInfo->EdTriggerIsOk() ) + ++iEventEffective; + break; + default : + ++iEventEffective; + break; + } + AnalyzeEvent( currentEvent ); + UpdateScoring(); + if( iEvent < nSelect ) + G4UImanager::GetUIpointer()->ApplyCommand( cmd ); + StackPreviousEvent( currentEvent ); + currentEvent = 0; + if( runAborted ) + break; + } + + numberOfEventsProcessed = iEvent; + numberOfEventsProcessedEffective = iEventEffective; +} + + +#ifdef CEXMC_USE_PERSISTENCY + +void CexmcRunManager::DoReadEventLoop( G4int nEvent ) +{ + G4int iEvent( 0 ); + G4int iEventEffective( 0 ); + G4int nEventCount( 0 ); + + if ( ! ProjectIsRead() ) + return; + + if ( ! physicsManager ) + throw CexmcException( CexmcWeirdException ); + + CexmcProductionModel * productionModel( + physicsManager->GetProductionModel() ); + if ( ! productionModel ) + throw CexmcException( CexmcWeirdException ); + + CexmcSetup * setup( static_cast< CexmcSetup * >( userDetector ) ); + if ( ! setup ) + throw CexmcException( CexmcWeirdException ); + + CexmcEventSObject evSObject; + CexmcEventFastSObject evFastSObject; + + /* read events data */ + std::ifstream eventsDataFile( + ( projectsDir + "/" + rProject + ".edb" ).c_str() ); + if ( ! eventsDataFile ) + throw CexmcException( CexmcReadProjectIncomplete ); + + boost::archive::binary_iarchive evArchive( eventsDataFile ); + + std::ifstream eventsFastDataFile( + ( projectsDir + "/" + rProject + ".fdb" ).c_str() ); + if ( ! eventsFastDataFile ) + throw CexmcException( CexmcReadProjectIncomplete ); + + boost::archive::binary_iarchive evFastArchive( eventsFastDataFile ); + + G4Event event; + currentEvent = &event; + G4SDManager * sdManager( G4SDManager::GetSDMpointer() ); + event.SetHCofThisEvent( sdManager->PrepareNewEvent() ); + G4HCofThisEvent * hcOfThisEvent( event.GetHCofThisEvent() ); + + G4DigiManager * digiManager( G4DigiManager::GetDMpointer() ); + + G4int hcId( digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcMonitorDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcEDDetector ] ) ); + CexmcEnergyDepositCollection * monitorED( + new CexmcEnergyDepositCollection ); + hcOfThisEvent->AddHitsCollection( hcId, monitorED ); + hcId = digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcVetoCounterDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcEDDetector ] ); + CexmcEnergyDepositCollection * vetoCounterED( + new CexmcEnergyDepositCollection ); + hcOfThisEvent->AddHitsCollection( hcId, vetoCounterED ); + hcId = digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcCalorimeterDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcEDDetector ] ); + CexmcEnergyDepositCollection * calorimeterED( + new CexmcEnergyDepositCollection ); + hcOfThisEvent->AddHitsCollection( hcId, calorimeterED ); + hcId = digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcMonitorDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcTPDetector ] ); + CexmcTrackPointsCollection * monitorTP( new CexmcTrackPointsCollection ); + hcOfThisEvent->AddHitsCollection( hcId, monitorTP ); + hcId = digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcVetoCounterDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcTPDetector ] ); + CexmcTrackPointsCollection * vetoCounterTP( + new CexmcTrackPointsCollection ); + hcOfThisEvent->AddHitsCollection( hcId, vetoCounterTP ); + hcId = digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcCalorimeterDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcTPDetector ] ); + CexmcTrackPointsCollection * calorimeterTP( + new CexmcTrackPointsCollection ); + hcOfThisEvent->AddHitsCollection( hcId, calorimeterTP ); + hcId = digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcTargetDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcTPDetector ] ); + CexmcTrackPointsCollection * targetTP( new CexmcTrackPointsCollection ); + hcOfThisEvent->AddHitsCollection( hcId, targetTP ); + +#ifdef CEXMC_USE_CUSTOM_FILTER + if ( customFilter ) + customFilter->SetAddressedData( &evFastSObject, &evSObject ); +#endif + + G4int nmbOfSavedEvents( rEvDataVerboseLevel == CexmcWriteNoEventData ? 0 : + sObject.nmbOfSavedFastEvents ); + G4bool eventDataWrittenOnEveryTPT( rEvDataVerboseLevel == + CexmcWriteEventDataOnEveryTPT ); + + for ( int i( 0 ); i < nmbOfSavedEvents; ++i ) + { + evFastArchive >> evFastSObject; + + if ( nEventCount < curEventRead ) + { + if ( eventDataWrittenOnEveryTPT || + evFastSObject.edDigitizerHasTriggered ) + { + evArchive >> evSObject; + if ( evFastSObject.edDigitizerHasTriggered ) + ++nEventCount; + } + continue; + } + + ++iEvent; + + productionModel->SetTriggeredAngularRanges( + evFastSObject.opCosThetaSCM ); + const CexmcAngularRangeList & triggeredAngularRanges( + productionModel->GetTriggeredAngularRanges() ); + + if ( ! eventDataWrittenOnEveryTPT && + ! evFastSObject.edDigitizerHasTriggered ) + { +#ifdef CEXMC_USE_CUSTOM_FILTER + /* user must be aware that using tpt commands in custom filter + * scripts for poor event data sets can easily lead to logical + * errors! This is because most of tpt data is only available for + * events with EDT trigger. There is no such problem if event data + * was written on every TPT event. */ + if ( customFilter && ! customFilter->EvalTPT() ) + continue; +#endif + SaveCurrentTPTEvent( evFastSObject, triggeredAngularRanges, + ProjectIsSaved() && ! skipInteractionsWithoutEDTonWrite ); + continue; + } + + evArchive >> evSObject; + + G4bool skipEDTOnThisEvent( false ); + +#ifdef CEXMC_USE_CUSTOM_FILTER + if ( customFilter && ! customFilter->EvalTPT() ) + continue; + if ( customFilter && ! customFilter->EvalEDT() ) + { + if ( ! eventDataWrittenOnEveryTPT ) + { + SaveCurrentTPTEvent( evFastSObject, triggeredAngularRanges, + ProjectIsSaved() ); + continue; + } + skipEDTOnThisEvent = true; + } +#endif + + event.SetEventID( evSObject.eventId ); + + /* AAA: beware! If something throws an exception between AAA and CCC + * then there would be segmentation violation in ~THitsMap() as it + * would try to delete local variable evSObject's fields. + * See also BBB */ + + monitorED->GetMap()->operator[]( 0 ) = &evSObject.monitorED; + vetoCounterED->GetMap()->operator[]( 0 ) = &evSObject.vetoCounterEDLeft; + vetoCounterED->GetMap()->operator[]( 1 << + CexmcEnergyDepositInLeftRightSet::GetLeftRightBitsOffset() ) = + &evSObject.vetoCounterEDRight; + G4int row( 0 ); + G4int column( 0 ); + for ( CexmcEnergyDepositCalorimeterCollection::iterator + k( evSObject.calorimeterEDLeftCollection.begin() ); + k != evSObject.calorimeterEDLeftCollection.end(); ++k ) + { + G4int index( row << + CexmcEnergyDepositInCalorimeter::GetCopyDepth1BitsOffset() ); + column = 0; + for ( CexmcEnergyDepositCrystalRowCollection::iterator + l( k->begin() ); l != k->end(); ++l ) + { + calorimeterED->GetMap()->operator[]( index | column ) = &*l; + ++column; + } + ++row; + } + row = 0; + for ( CexmcEnergyDepositCalorimeterCollection::iterator + k( evSObject.calorimeterEDRightCollection.begin() ); + k != evSObject.calorimeterEDRightCollection.end(); ++k ) + { + G4int index( + 1 << CexmcEnergyDepositInLeftRightSet::GetLeftRightBitsOffset() + | row << + CexmcEnergyDepositInCalorimeter::GetCopyDepth1BitsOffset() ); + column = 0; + for ( CexmcEnergyDepositCrystalRowCollection::iterator + l( k->begin() ); l != k->end(); ++l ) + { + calorimeterED->GetMap()->operator[]( index | column ) = &*l; + ++column; + } + ++row; + } + + CexmcTrackPointInfo monitorTPInfo( evSObject.monitorTP ); + CexmcTrackPointInfo targetTPBeamParticleInfo( + evSObject.targetTPBeamParticle ); + CexmcTrackPointInfo targetTPOutputParticleInfo( + evSObject.targetTPOutputParticle ); + CexmcTrackPointInfo targetTPNucleusParticleInfo( + evSObject.targetTPNucleusParticle ); + CexmcTrackPointInfo targetTPOutputParticleDecayProductParticle1Info( + evSObject.targetTPOutputParticleDecayProductParticle1 ); + CexmcTrackPointInfo targetTPOutputParticleDecayProductParticle2Info( + evSObject.targetTPOutputParticleDecayProductParticle2 ); + CexmcTrackPointInfo vetoCounterTPLeftInfo( + evSObject.vetoCounterTPLeft ); + CexmcTrackPointInfo vetoCounterTPRightInfo( + evSObject.vetoCounterTPRight ); + CexmcTrackPointInfo calorimeterTPLeftInfo( + evSObject.calorimeterTPLeft ); + CexmcTrackPointInfo calorimeterTPRightInfo( + evSObject.calorimeterTPRight ); + + if ( monitorTPInfo.IsValid() ) + monitorTP->GetMap()->operator[]( monitorTPInfo.trackId ) = + &monitorTPInfo; + if ( targetTPBeamParticleInfo.IsValid() ) + targetTP->GetMap()->operator[]( + targetTPBeamParticleInfo.trackId ) = + &targetTPBeamParticleInfo; + if ( targetTPOutputParticleInfo.IsValid() ) + targetTP->GetMap()->operator[]( + targetTPOutputParticleInfo.trackId ) = + &targetTPOutputParticleInfo; + if ( targetTPNucleusParticleInfo.IsValid() ) + targetTP->GetMap()->operator[]( + targetTPNucleusParticleInfo.trackId ) = + &targetTPNucleusParticleInfo; + if ( targetTPOutputParticleDecayProductParticle1Info.IsValid() ) + targetTP->GetMap()->operator[]( + targetTPOutputParticleDecayProductParticle1Info.trackId ) = + &targetTPOutputParticleDecayProductParticle1Info; + if ( targetTPOutputParticleDecayProductParticle2Info.IsValid() ) + targetTP->GetMap()->operator[]( + targetTPOutputParticleDecayProductParticle2Info.trackId ) = + &targetTPOutputParticleDecayProductParticle2Info; + if ( vetoCounterTPLeftInfo.IsValid() ) + vetoCounterTP->GetMap()->operator[]( + vetoCounterTPLeftInfo.trackId ) = &vetoCounterTPLeftInfo; + if ( vetoCounterTPRightInfo.IsValid() ) + vetoCounterTP->GetMap()->operator[]( + 1 << CexmcTrackPointsInLeftRightSet::GetLeftRightBitsOffset() | + vetoCounterTPRightInfo.trackId ) = &vetoCounterTPRightInfo; + + G4ThreeVector pos; + if ( calorimeterTPLeftInfo.IsValid() ) + { + pos = calorimeterTPLeftInfo.positionLocal; + setup->ConvertToCrystalGeometry( + calorimeterTPLeftInfo.positionLocal, row, column, pos ); + calorimeterTPLeftInfo.positionLocal = pos; + calorimeterTP->GetMap()->operator[]( + row << CexmcTrackPointsInCalorimeter:: + GetCopyDepth1BitsOffset() | + column << CexmcTrackPointsInCalorimeter:: + GetCopyDepth0BitsOffset() | + calorimeterTPLeftInfo.trackId ) = &calorimeterTPLeftInfo; + } + if ( calorimeterTPRightInfo.IsValid() ) + { + pos = calorimeterTPRightInfo.positionLocal; + setup->ConvertToCrystalGeometry( + calorimeterTPRightInfo.positionLocal, row, column, pos ); + calorimeterTPRightInfo.positionLocal = pos; + calorimeterTP->GetMap()->operator[]( + 1 << CexmcTrackPointsInLeftRightSet::GetLeftRightBitsOffset() | + row << CexmcTrackPointsInCalorimeter:: + GetCopyDepth1BitsOffset() | + column << CexmcTrackPointsInCalorimeter:: + GetCopyDepth0BitsOffset() | + calorimeterTPRightInfo.trackId ) = &calorimeterTPRightInfo; + } + + productionModel->SetProductionModelData( + evSObject.productionModelData ); + + const CexmcEventAction * eventAction( + static_cast< const CexmcEventAction * >( userEventAction ) ); + if ( ! eventAction ) + { + /* BBB: all hits collections must be cleared before throwing + * anything from here, otherwise ~THitsMap() will try to delete + * local variable evSObject's fields like monitorED etc. */ + monitorED->GetMap()->clear(); + vetoCounterED->GetMap()->clear(); + calorimeterED->GetMap()->clear(); + monitorTP->GetMap()->clear(); + targetTP->GetMap()->clear(); + vetoCounterTP->GetMap()->clear(); + calorimeterTP->GetMap()->clear(); + throw CexmcException( CexmcEventActionIsNotInitialized ); + } + + if ( skipEDTOnThisEvent ) + event.SetUserInformation( new CexmcEventInfo( false, false, + false ) ); + + CexmcEventAction * theEventAction( const_cast< CexmcEventAction * >( + eventAction ) ); + theEventAction->EndOfEventAction( &event ); + + CexmcEventInfo * eventInfo( static_cast< CexmcEventInfo * >( + event.GetUserInformation() ) ); + + if ( eventInfo->EdTriggerIsOk() ) + ++iEventEffective; + + delete eventInfo; + event.SetUserInformation( NULL ); + + monitorED->GetMap()->clear(); + vetoCounterED->GetMap()->clear(); + calorimeterED->GetMap()->clear(); + monitorTP->GetMap()->clear(); + targetTP->GetMap()->clear(); + vetoCounterTP->GetMap()->clear(); + calorimeterTP->GetMap()->clear(); + + /* CCC: see AAA */ + + if ( nEvent > 0 && iEventEffective == nEvent ) + break; + } + + curEventRead = nEventCount + iEventEffective; + + numberOfEventsProcessed = iEvent; + numberOfEventsProcessedEffective = iEventEffective; + +#ifdef CEXMC_USE_CUSTOM_FILTER + if ( customFilter ) + customFilter->SetAddressedData( NULL, NULL ); +#endif +} + + +void CexmcRunManager::SaveCurrentTPTEvent( + const CexmcEventFastSObject & evFastSObject, + const CexmcAngularRangeList & angularRanges, + G4bool writeToDatabase ) +{ + CexmcRun * run( static_cast< const CexmcRun * >( currentRun ) ); + + if ( ! run ) + return; + + for ( CexmcAngularRangeList::const_iterator k( angularRanges.begin() ); + k != angularRanges.end(); ++k ) + { + run->IncrementNmbOfHitsSampledFull( k->index ); + if ( evFastSObject.edDigitizerMonitorHasTriggered ) + run->IncrementNmbOfHitsSampled( k->index ); + } + + if ( writeToDatabase ) + { + fastEventsArchive->operator<<( evFastSObject ); + run->IncrementNmbOfSavedFastEvents(); + } +} + +#endif + + +/* mostly adopted from G4RunManager::DoEventLoop() */ +void CexmcRunManager::DoEventLoop( G4int nEvent, const char * macroFile, + G4int nSelect ) +{ + if ( verboseLevel > 0 ) + timer->Start(); + + G4String cmd; + if ( macroFile != 0 ) + { + if ( nSelect < 0 ) + nSelect = nEvent; + cmd = "/control/execute "; + cmd += macroFile; + } + else + { + nSelect = -1; + } + + numberOfEventsProcessed = 0; + numberOfEventsProcessedEffective = 0; + +#ifdef CEXMC_USE_PERSISTENCY + eventsArchive = NULL; + fastEventsArchive = NULL; + if ( ProjectIsRead() ) + { + if ( ProjectIsSaved() ) + { + std::ofstream eventsDataFile( + ( projectsDir + "/" + projectId + ".edb" ).c_str() ); + boost::archive::binary_oarchive eventsArchive_( eventsDataFile ); + eventsArchive = &eventsArchive_; + std::ofstream fastEventsDataFile( + ( projectsDir + "/" + projectId + ".fdb" ).c_str() ); + boost::archive::binary_oarchive fastEventsArchive_( + fastEventsDataFile ); + eventsArchive = &eventsArchive_; + fastEventsArchive = &fastEventsArchive_; + DoReadEventLoop( nEvent ); + } + else + { + DoReadEventLoop( nEvent ); + } + } + else + { + if ( ProjectIsSaved() ) + { + std::ofstream eventsDataFile( + ( projectsDir + "/" + projectId + ".edb" ).c_str() ); + boost::archive::binary_oarchive eventsArchive_( eventsDataFile ); + std::ofstream fastEventsDataFile( + ( projectsDir + "/" + projectId + ".fdb" ).c_str() ); + boost::archive::binary_oarchive fastEventsArchive_( + fastEventsDataFile ); + eventsArchive = &eventsArchive_; + fastEventsArchive = &fastEventsArchive_; + DoCommonEventLoop( nEvent, cmd, nSelect ); + } + else + { + DoCommonEventLoop( nEvent, cmd, nSelect ); + } + } + eventsArchive = NULL; + fastEventsArchive = NULL; +#else + DoCommonEventLoop( nEvent, cmd, nSelect ); +#endif + + if( verboseLevel > 0 ) + { + timer->Stop(); + G4cout << "Run terminated." << G4endl; + G4cout << "Run Summary" << G4endl; + if( runAborted ) + { + G4cout << " Run Aborted after " << numberOfEventsProcessed << + " events processed." << G4endl; + } + else + { + G4cout << " Number of events processed : " << + numberOfEventsProcessed << ", effectively: " << + numberOfEventsProcessedEffective << G4endl; + } + G4cout << " " << *timer << G4endl; + } +} + + +#ifdef CEXMC_USE_PERSISTENCY + +void CexmcRunManager::PrintReadRunData( void ) const +{ + if ( ! ProjectIsRead() ) + return; + + G4cout << CEXMC_LINE_START << "Run data read from project '" << rProject << + "'" << G4endl; + G4cout << " (archive class version " << + sObject.actualVersion << ")" << G4endl; + if ( ! sObject.rProject.empty() ) + { + G4cout << " -- Based on project '" << sObject.rProject << "'" << + G4endl; + if ( ! sObject.cfFileName.empty() ) + G4cout << " -- Custom filter script '" << sObject.cfFileName << + "' was used" << G4endl; + } + G4cout << " -- Event data verbose level (0 - not saved, 1 - triggers, " + "2 - interactions): " << sObject.evDataVerboseLevel << G4endl; + if ( ! sObject.rProject.empty() ) + { + if ( sObject.evDataVerboseLevel == CexmcWriteEventDataOnEveryEDT ) + { + G4cout << " -- (fdb file contains " << + ( sObject.interactionsWithoutEDTWereSkipped ? + "only interactions when an event was triggered" : + "all interactions" ) << ")" << std::endl; + } + } + G4cout << " -- Base physics used (1 - QGSP_BERT, 2 - QGSP_BIC_EMY): " << + sObject.basePhysicsUsed << G4endl; + G4cout << " -- Production model (1 - pi0, 2 - eta): " << + sObject.productionModelType << G4endl; + G4cout << " -- Geometry definition file: " << sObject.gdmlFileName << + G4endl; + G4cout << " -- Angular ranges: " << sObject.angularRanges << G4endl; + G4cout << " -- Eta decay modes: " << G4endl; + G4Eta::Definition()->GetDecayTable()->DumpInfo(); + G4cout << " -- Fermi motion status (0 - disabled, 1 - enabled): " << + sObject.fermiMotionIsOn << G4endl; + if ( sObject.calorimeterRegCuts.size() < 4 ) + throw CexmcException( CexmcWeirdException ); + G4cout << " -- Production cuts in calorimeter (gamma, e-, e+, p): " << + G4BestUnit( sObject.calorimeterRegCuts[ 0 ], "Length" ) << ", " << + G4BestUnit( sObject.calorimeterRegCuts[ 1 ], "Length" ) << ", " << + G4BestUnit( sObject.calorimeterRegCuts[ 2 ], "Length" ) << ", " << + G4BestUnit( sObject.calorimeterRegCuts[ 3 ], "Length" ) << G4endl; + G4cout << " -- Proposed max interaction length in the target: " << + G4BestUnit( sObject.proposedMaxIL, "Length" ) << G4endl; + G4cout << " -- Event count policy (0 - all, 1 - interaction, 2 - trigger)" + ": " << sObject.eventCountPolicy << G4endl; + G4cout << " -- Number of events (processed / effective / ordered): " << + sObject.numberOfEventsProcessed << " / " << + sObject.numberOfEventsProcessedEffective << " / " << + sObject.numberOfEventsToBeProcessed << G4endl; + G4cout << " -- Incident beam particle: " << sObject.beamParticle << G4endl; + G4cout << " position: " << + G4BestUnit( sObject.beamPos, "Length" ) << G4endl; + G4cout << " direction: " << + G4ThreeVector( sObject.beamDir ) << G4endl; + G4cout << " momentum: " << + G4BestUnit( sObject.beamMomentumAmp, "Energy" ) << G4endl; + G4cout << " momentum fwhm: " << sObject.beamFwhmMomentumAmp << + G4endl; + G4cout << " pos fwhm (x): " << + G4BestUnit( sObject.beamFwhmPosX, "Length" ) << G4endl; + G4cout << " pos fwhm (y): " << + G4BestUnit( sObject.beamFwhmPosY, "Length" ) << G4endl; + G4cout << " dir fwhm (x): " << sObject.beamFwhmDirX / deg << + " deg" << G4endl; + G4cout << " dir fwhm (y): " << sObject.beamFwhmDirY / deg << + " deg" << G4endl; + G4cout << " -- Monitor ED threshold: " << + G4BestUnit( sObject.monitorEDThreshold, "Energy" ) << G4endl; + G4cout << " -- Veto counter (l/r) ED threshold: " << + G4BestUnit( sObject.vetoCounterEDLeftThreshold, "Energy" ) << + " / " << + G4BestUnit( sObject.vetoCounterEDRightThreshold, "Energy" ) << + G4endl; + G4cout << " -- Calorimeter (l/r) ED threshold: " << + G4BestUnit( sObject.calorimeterEDLeftThreshold, "Energy" ) << + " / " << + G4BestUnit( sObject.calorimeterEDRightThreshold, "Energy" ) << + G4endl; + G4cout << " -- Calorimeter trigger algorithm (0 - all, 1 - inner): " << + sObject.calorimeterTriggerAlgorithm << G4endl; + G4cout << " -- Outer crystals veto algorithm " + "(0 - none, 1 - max, 2 - fraction): " << + sObject.outerCrystalsVetoAlgorithm << G4endl; + if ( sObject.outerCrystalsVetoAlgorithm == + CexmcFractionOfEDInOuterCrystalsVeto ) + { + G4cout << " -- Outer crystals veto fraction: " << + sObject.outerCrystalsVetoFraction << G4endl; + } + G4cout << " -- Finite crystal resolution applied (0 - no, 1 - yes): " << + sObject.applyFiniteCrystalResolution << G4endl; + if ( sObject.applyFiniteCrystalResolution ) + { + G4cout << " -- Crystal resolution data: " << + sObject.crystalResolutionData; + } + G4cout << " -- Reconstructor settings: " << G4endl; + G4cout << " -- entry point definition algorithm " << G4endl; + G4cout << " (0 - center of calorimeter, 1 - center of crystal with " + "max ED," << G4endl; + G4cout << " 2 - linear, 3 - square): " << + sObject.epDefinitionAlgorithm << G4endl; + G4cout << " -- entry point depth definition algorithm " + "(0 - plain, 1 - sphere): " << + sObject.epDepthDefinitionAlgorithm << G4endl; + G4cout << " -- entry point depth: " << + G4BestUnit( sObject.epDepth, "Length" ) << G4endl; + if ( sObject.epDefinitionAlgorithm == CexmcEntryPointByLinearEDWeights || + sObject.epDefinitionAlgorithm == CexmcEntryPointBySqrtEDWeights ) + { + G4cout << + " -- crystal selection algorithm (0 - all, 1 - adjacent): " << + sObject.csAlgorithm << G4endl; + } + if ( sObject.epDefinitionAlgorithm == + CexmcEntryPointInTheCenterOfCrystalWithMaxED || + ( ( sObject.epDefinitionAlgorithm == CexmcEntryPointBySqrtEDWeights || + sObject.epDefinitionAlgorithm == + CexmcEntryPointByLinearEDWeights ) && + sObject.csAlgorithm == CexmcSelectAdjacentCrystals ) ) + { + G4cout << + " -- inner crystal used as reference (0 - no, 1 - yes): " << + sObject.useInnerRefCrystal << G4endl; + } + G4cout << " -- table mass of output particle used " + "(0 - no, 1 - yes): " << sObject.useTableMass << G4endl; + G4cout << " -- mass cut is enabled (0 - no, 1 - yes): " << + sObject.useMassCut << G4endl; + if ( sObject.useMassCut ) + { + G4cout << " -- mass cut output particle center: " << + G4BestUnit( sObject.mCutOPCenter, "Energy" ) << G4endl; + G4cout << " -- mass cut nucleus output particle center: " << + G4BestUnit( sObject.mCutNOPCenter, "Energy" ) << G4endl; + G4cout << " -- mass cut output particle width of the ellipse: " << + G4BestUnit( sObject.mCutOPWidth, "Energy" ) << G4endl; + G4cout << " -- mass cut nucleus output particle width of the " + "ellipse: " + << G4BestUnit( sObject.mCutNOPWidth, "Energy" ) << G4endl; + G4cout << " -- mass cut angle of the ellipse: " << + sObject.mCutAngle / deg << " deg" << G4endl; + } + G4cout << " -- absorbed energy cut is enabled (0 - no, 1 - yes): " << + sObject.useAbsorbedEnergyCut << G4endl; + if ( sObject.useAbsorbedEnergyCut ) + { + G4cout << " -- absorbed energy cut left calorimeter center: " << + G4BestUnit( sObject.aeCutCLCenter, "Energy" ) << G4endl; + G4cout << " -- absorbed energy cut right calorimeter center: " << + G4BestUnit( sObject.aeCutCRCenter, "Energy" ) << G4endl; + G4cout << " -- absorbed energy cut left calorimeter width of the " + "ellipse: " << + G4BestUnit( sObject.aeCutCLWidth, "Energy" ) << G4endl; + G4cout << " -- absorbed energy cut right calorimeter width of the " + "ellipse: " + << G4BestUnit( sObject.aeCutCRWidth, "Energy" ) << G4endl; + G4cout << " -- absorbed energy cut angle of the ellipse: " << + sObject.aeCutAngle / deg << " deg" << G4endl; + } + G4cout << " -- Setup acceptances (real, rec): " << G4endl; + CexmcRunAction::PrintResults( sObject.nmbOfHitsSampled, + sObject.nmbOfHitsSampledFull, + sObject.nmbOfHitsTriggeredRealRange, + sObject.nmbOfHitsTriggeredRecRange, + sObject.nmbOfOrphanHits, + sObject.angularRanges, + sObject.nmbOfFalseHitsTriggeredEDT, + sObject.nmbOfFalseHitsTriggeredRec ); + + G4cout << G4endl; +} + + +void CexmcRunManager::ReadAndPrintEventsData( void ) const +{ + CexmcEventSObject evSObject; + + /* read events data */ + std::ifstream eventsDataFile( + ( projectsDir + "/" + rProject + ".edb" ).c_str() ); + if ( ! eventsDataFile ) + throw CexmcException( CexmcReadProjectIncomplete ); + + boost::archive::binary_iarchive evArchive( eventsDataFile ); + + for ( int i( 0 ); i < sObject.nmbOfSavedEvents; ++i ) + { + evArchive >> evSObject; + + if ( ! evSObject.edDigitizerMonitorHasTriggered ) + continue; + + CexmcEnergyDepositStore edStore( evSObject.monitorED, + evSObject.vetoCounterEDLeft, evSObject.vetoCounterEDRight, + evSObject.calorimeterEDLeft, evSObject.calorimeterEDRight, + 0, 0, 0, 0, evSObject.calorimeterEDLeftCollection, + evSObject.calorimeterEDRightCollection ); + + CexmcTrackPointsStore tpStore( evSObject.monitorTP, + evSObject.targetTPBeamParticle, evSObject.targetTPOutputParticle, + evSObject.targetTPNucleusParticle, + evSObject.targetTPOutputParticleDecayProductParticle1, + evSObject.targetTPOutputParticleDecayProductParticle2, + evSObject.vetoCounterTPLeft, evSObject.vetoCounterTPRight, + evSObject.calorimeterTPLeft, evSObject.calorimeterTPRight ); + + const CexmcProductionModelData & pmData( + evSObject.productionModelData ); + + G4cout << "Event " << evSObject.eventId << G4endl; + CexmcEventAction::PrintTrackPoints( &tpStore ); + G4cout << " --- Production model data: " << pmData; + CexmcEventAction::PrintEnergyDeposit( &edStore ); + } +} + + +void CexmcRunManager::PrintReadData( + const CexmcOutputDataTypeSet & outputData ) const +{ + G4bool addSpace( false ); + + CexmcOutputDataTypeSet::const_iterator found( + outputData.find( CexmcOutputGeometry ) ); + if ( found != outputData.end() ) + { + G4String cmd( G4String( "cat " ) + projectsDir + "/" + rProject + + gdmlFileExtension ); + if ( system( cmd ) != 0 ) + G4cerr << "Failed to cat geometry data" << G4endl; + + addSpace = true; + } + + found = outputData.find( CexmcOutputEvents ); + if ( found != outputData.end() ) + { + if ( addSpace ) + G4cout << G4endl << G4endl; + + ReadAndPrintEventsData(); + + addSpace = true; + } + + found = outputData.find( CexmcOutputRun ); + if ( found != outputData.end() ) + { + if ( addSpace ) + G4cout << G4endl << G4endl; + + G4DecayTable * etaDecayTable( G4Eta::Definition()->GetDecayTable() ); + for ( CexmcDecayBranchesStore::const_iterator + k( sObject.etaDecayTable.GetDecayBranches().begin() ); + k != sObject.etaDecayTable.GetDecayBranches().end(); ++k ) + { + etaDecayTable->GetDecayChannel( k->first )->SetBR( k->second ); + } + PrintReadRunData(); + } +} + + +#ifdef CEXMC_USE_CUSTOM_FILTER + +void CexmcRunManager::SetCustomFilter( const G4String & cfFileName_ ) +{ + if ( customFilter ) + { + delete customFilter; + customFilter = NULL; + } + + if ( cfFileName_.empty() ) + return; + + /* should not get here */ + if ( ! ProjectIsRead() ) + throw CexmcException( CexmcCmdIsNotAllowed ); + + cfFileName = cfFileName_; + + customFilter = new CexmcCustomFilterEval( cfFileName ); +} + +#endif + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcRunManagerMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcRunManagerMessenger.cc new file mode 100644 index 0000000000..517d5f2774 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcRunManagerMessenger.cc @@ -0,0 +1,276 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcRunManagerMessenger.cc + * + * Description: init parameters (production model, gdml file etc.) + * + * Version: 1.0 + * Created: 03.11.2009 20:45:11 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include "CexmcRunManager.hh" +#include "CexmcRunManagerMessenger.hh" +#include "CexmcMessenger.hh" + + +CexmcRunManagerMessenger::CexmcRunManagerMessenger( + CexmcRunManager * runManager ) : + runManager( runManager ), setProductionModel( NULL ), setGdmlFile( NULL ), + setGuiMacro( NULL ), setEventCountPolicy( NULL ), + setEventDataVerboseLevel( NULL ), +#ifdef CEXMC_USE_PERSISTENCY + replayEvents( NULL ), seekTo( NULL ), skipInteractionsWithoutEDT( NULL ), +#endif + validateGdmlFile( NULL ) +{ + setProductionModel = new G4UIcmdWithAString( + ( CexmcMessenger::physicsDirName + "productionModel" ).c_str(), this ); + setProductionModel->SetGuidance( "Set production model (e.g. pi0 or eta)" ); + setProductionModel->SetParameterName( "ProductionModel", false ); + setProductionModel->SetCandidates( "pi0 eta" ); + setProductionModel->AvailableForStates( G4State_PreInit ); + + setGdmlFile = new G4UIcmdWithAString( + ( CexmcMessenger::geometryDirName + "gdmlFile" ).c_str(), this ); + setGdmlFile->SetGuidance( "GDML file to read geometry from" ); + setGdmlFile->SetParameterName( "GdmlFile", false ); + setGdmlFile->AvailableForStates( G4State_PreInit ); + + setGuiMacro = new G4UIcmdWithAString( + ( CexmcMessenger::runDirName + "guiMacro" ).c_str(), this ); + setGuiMacro->SetGuidance( "Set Gui macro file" ); + setGuiMacro->SetParameterName( "GuiMacro", false ); + setGuiMacro->AvailableForStates( G4State_PreInit, G4State_Idle ); + + setEventCountPolicy = new G4UIcmdWithAString( + ( CexmcMessenger::runDirName + "eventCountPolicy" ).c_str(), this ); + setEventCountPolicy->SetGuidance( "How number of events is interpreted.\n" + " all - all events are accounted,\n" + " interaction - events with studied interaction triggered,\n" + " trigger - only events with trigger" ); + setEventCountPolicy->SetParameterName( "EventCountPolicy", false ); + setEventCountPolicy->SetDefaultValue( "all" ); + setEventCountPolicy->SetCandidates( "all interaction trigger" ); + setEventCountPolicy->AvailableForStates( G4State_PreInit, G4State_Idle ); + + setEventDataVerboseLevel = new G4UIcmdWithAString( + ( CexmcMessenger::runDirName + "eventDataVerboseLevel" ).c_str(), + this ); + setEventDataVerboseLevel->SetGuidance( "When events will be saved.\n" + " nosave - never,\n" + " trigger - when energy deposit triggered (EDT),\n" + " interaction - when studied interaction triggered (TPT)" ); + setEventDataVerboseLevel->SetParameterName( "EventDataVerboseLevel", + false ); + setEventDataVerboseLevel->SetDefaultValue( "trigger" ); + setEventDataVerboseLevel->SetCandidates( "nosave trigger interaction" ); + setEventDataVerboseLevel->AvailableForStates( G4State_PreInit, + G4State_Idle ); + +#ifdef CEXMC_USE_PERSISTENCY + replayEvents = new G4UIcmdWithAnInteger( + ( CexmcMessenger::runDirName + "replay" ).c_str(), this ); + replayEvents->SetGuidance( "Replay specified number of events " + "\n (available only if a project is read)." + "\n If number of events is 0 (or not specified) then all" + "\n run will be replayed" ); + replayEvents->SetParameterName( "ReplayEvents", true ); + replayEvents->SetDefaultValue( 0 ); + replayEvents->SetRange( "ReplayEvents >= 0" ); + replayEvents->AvailableForStates( G4State_PreInit, G4State_Idle ); + + seekTo = new G4UIcmdWithAnInteger( + ( CexmcMessenger::runDirName + "seekto" ).c_str(), this ); + seekTo->SetGuidance( "Seek to specified event id " + "(available only if a project is read)." + "\n 'seekto 0' brings to the start of run, 'seekto 4' - to the" + "\n first recorded event with interaction after fourth recorded" + "\n event with trigger" ); + seekTo->SetParameterName( "SeekTo", false ); + seekTo->SetDefaultValue( 0 ); + seekTo->SetRange( "SeekTo >= 0" ); + seekTo->AvailableForStates( G4State_PreInit, G4State_Idle ); + + skipInteractionsWithoutEDT = new G4UIcmdWithABool( + ( CexmcMessenger::runDirName + "skipInteractionsWithoutEDT" ).c_str(), + this ); + skipInteractionsWithoutEDT->SetGuidance( "Do not write interactions into " + ".fdb file\n if event was not triggered (effective only when a " + "project is read and then\n written to another project and only if " + "event data verbose level is\n 'trigger')" ); + skipInteractionsWithoutEDT->SetParameterName( "skipInteractionsWithoutEDT", + true ); + skipInteractionsWithoutEDT->SetDefaultValue( true ); + skipInteractionsWithoutEDT->AvailableForStates( G4State_PreInit, + G4State_Idle ); +#endif + + validateGdmlFile = new G4UIcmdWithABool( + ( CexmcMessenger::geometryDirName + "validateGdmlFile" ).c_str(), + this ); + validateGdmlFile->SetGuidance( "If GDML file will be validated or not" ); + validateGdmlFile->SetParameterName( "ValidateGdmlFile", true ); + validateGdmlFile->SetDefaultValue( true ); + validateGdmlFile->AvailableForStates( G4State_PreInit ); +} + + +CexmcRunManagerMessenger::~CexmcRunManagerMessenger() +{ + delete setProductionModel; + delete setGdmlFile; + delete setGuiMacro; + delete setEventCountPolicy; + delete setEventDataVerboseLevel; +#ifdef CEXMC_USE_PERSISTENCY + delete replayEvents; + delete seekTo; + delete skipInteractionsWithoutEDT; +#endif + delete validateGdmlFile; +} + + +void CexmcRunManagerMessenger::SetNewValue( G4UIcommand * cmd, + G4String value ) +{ + do + { + if ( cmd == setProductionModel ) + { + CexmcProductionModelType productionModelType( + CexmcUnknownProductionModel ); + do + { + if ( value == "pi0" ) + { + productionModelType = CexmcPionZeroProduction; + break; + } + if ( value == "eta" ) + { + productionModelType = CexmcEtaProduction; + break; + } + } while ( false ); + runManager->SetProductionModelType( productionModelType ); + break; + } + if ( cmd == setGdmlFile ) + { + runManager->SetGdmlFileName( value ); + break; + } + if ( cmd == setGuiMacro ) + { + runManager->SetGuiMacroName( value ); + break; + } + if ( cmd == setEventCountPolicy ) + { + CexmcEventCountPolicy eventCountPolicy( CexmcCountAllEvents ); + do + { + if ( value == "interaction" ) + { + eventCountPolicy = CexmcCountEventsWithInteraction; + break; + } + if ( value == "trigger" ) + { + eventCountPolicy = CexmcCountEventsWithTrigger; + break; + } + } while ( false ); + runManager->SetEventCountPolicy( eventCountPolicy ); + break; + } + if ( cmd == setEventDataVerboseLevel ) + { + CexmcEventDataVerboseLevel eventDataVerboseLevel( + CexmcWriteEventDataOnEveryEDT ); + do + { + if ( value == "nosave" ) + { + eventDataVerboseLevel = CexmcWriteNoEventData; + break; + } + if ( value == "trigger" ) + { + eventDataVerboseLevel = CexmcWriteEventDataOnEveryEDT; + break; + } + if ( value == "interaction" ) + { + eventDataVerboseLevel = CexmcWriteEventDataOnEveryTPT; + break; + } + } while ( false ); + runManager->SetEventDataVerboseLevel( eventDataVerboseLevel ); + break; + } +#ifdef CEXMC_USE_PERSISTENCY + if ( cmd == replayEvents ) + { + runManager->ReplayEvents( + G4UIcmdWithAnInteger::GetNewIntValue( value ) ); + break; + } + if ( cmd == seekTo ) + { + runManager->SeekTo( G4UIcmdWithAnInteger::GetNewIntValue( value ) ); + break; + } + if ( cmd == skipInteractionsWithoutEDT ) + { + runManager->SkipInteractionsWithoutEDTonWrite( + G4UIcmdWithABool::GetNewBoolValue( value ) ); + break; + } +#endif + if ( cmd == validateGdmlFile ) + { + runManager->SetGdmlFileValidation( + G4UIcmdWithABool::GetNewBoolValue( value ) ); + break; + } + } while ( false ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcRunSObject.cc b/examples/advanced/ChargeExchangeMC/src/CexmcRunSObject.cc new file mode 100644 index 0000000000..f853a8efe3 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcRunSObject.cc @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcRunSObject.cc + * + * Description: run data serialization helper + * + * Version: 1.0 + * Created: 23.12.2009 14:41:49 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifdef CEXMC_USE_PERSISTENCY + +#include "CexmcRunSObject.hh" + +CexmcRunSObject::CexmcRunSObject() +{ +} + + +CexmcRunSObject::CexmcRunSObject( + CexmcBasePhysicsUsed basePhysicsUsed, + CexmcProductionModelType productionModelType, + const std::string & gdmlFileName, + const CexmcSimpleDecayTableStore & etaDecayTable, + const CexmcAngularRangeList & angularRanges, G4bool fermiMotionIsOn, + const std::vector< G4double > & calorimeterRegCuts, + CexmcEventCountPolicy eventCountPolicy, + const std::string & beamParticle, + const CexmcSimpleThreeVectorStore & beamPos, + const CexmcSimpleThreeVectorStore & beamDir, G4double beamMomentumAmp, + G4double beamFwhmPosX, G4double beamFwhmPosY, G4double beamFwhmDirX, + G4double beamFwhmDirY, G4double beamFwhmMomentumAmp, + G4double monitorEDThreshold, G4double vetoCounterEDLeftThreshold, + G4double vetoCounterEDRightThreshold, + G4double calorimeterEDLeftThreshold, + G4double calorimeterEDRightThreshold, + CexmcCalorimeterTriggerAlgorithm calorimeterTriggerAlgorithm, + CexmcOuterCrystalsVetoAlgorithm outerCrystalsVetoAlgorithm, + G4double outerCrystalsVetoFraction, + G4bool applyFiniteCrystalResolution, + const CexmcEnergyRangeWithDoubleValueList & crystalResolutionData, + CexmcCalorimeterEntryPointDefinitionAlgorithm epDefinitionAlgorithm, + CexmcCalorimeterEntryPointDepthDefinitionAlgorithm + epDepthDefinitionAlgorithm, + CexmcCrystalSelectionAlgorithm csAlgorithm, G4bool useInnerRefCrystal, + G4double epDepth, G4bool useTableMass, G4bool useMassCut, + G4double mCutOPCenter, G4double mCutNOPCenter, G4double mCutOPWidth, + G4double mCutNOPWidth, G4double mCutAngle, + G4bool useAbsorbedEnergyCut, G4double aeCutCLCenter, + G4double aeCutCRCenter, G4double aeCutCLWidth, G4double aeCutCRWidth, + G4double aeCutAngle, CexmcNmbOfHitsInRanges nmbOfHitsSampled, + CexmcNmbOfHitsInRanges nmbOfHitsSampledFull, + CexmcNmbOfHitsInRanges nmbOfHitsTriggeredRealRange, + CexmcNmbOfHitsInRanges nmbOfHitsTriggeredRecRange, + CexmcNmbOfHitsInRanges nmbOfOrphanHits, + G4int nmbOfFalseHitsTriggeredEDT, G4int nmbOfFalseHitsTriggeredRec, + G4int nmbOfSavedEvents, G4int nmbOfSavedFastEvents, + G4int numberOfEventsProcessed, G4int numberOfEventsProcessedEffective, + G4int numberOfEventsToBeProcessed, const std::string & rProject, + G4bool interactionsWithoutEDTWereSkipped, + const std::string & cfFileName, + CexmcEventDataVerboseLevel evDataVerboseLevel, + G4double proposedMaxIL ) : + basePhysicsUsed( basePhysicsUsed ), + productionModelType( productionModelType ), gdmlFileName( gdmlFileName ), + etaDecayTable( etaDecayTable ), angularRanges( angularRanges ), + fermiMotionIsOn( fermiMotionIsOn ), + calorimeterRegCuts( calorimeterRegCuts ), + eventCountPolicy( eventCountPolicy ), beamParticle( beamParticle ), + beamPos( beamPos ), beamDir( beamDir ), beamMomentumAmp( beamMomentumAmp ), + beamFwhmPosX( beamFwhmPosX ), beamFwhmPosY( beamFwhmPosY ), + beamFwhmDirX( beamFwhmDirX ), beamFwhmDirY( beamFwhmDirY ), + beamFwhmMomentumAmp( beamFwhmMomentumAmp ), + monitorEDThreshold( monitorEDThreshold ), + vetoCounterEDLeftThreshold( vetoCounterEDLeftThreshold ), + vetoCounterEDRightThreshold( vetoCounterEDRightThreshold ), + calorimeterEDLeftThreshold( calorimeterEDLeftThreshold ), + calorimeterEDRightThreshold( calorimeterEDRightThreshold ), + calorimeterTriggerAlgorithm( calorimeterTriggerAlgorithm ), + outerCrystalsVetoAlgorithm( outerCrystalsVetoAlgorithm ), + outerCrystalsVetoFraction( outerCrystalsVetoFraction ), + applyFiniteCrystalResolution( applyFiniteCrystalResolution ), + crystalResolutionData( crystalResolutionData ), + epDefinitionAlgorithm( epDefinitionAlgorithm ), + epDepthDefinitionAlgorithm( epDepthDefinitionAlgorithm ), + csAlgorithm( csAlgorithm ), useInnerRefCrystal( useInnerRefCrystal ), + epDepth( epDepth ), useTableMass( useTableMass ), useMassCut( useMassCut ), + mCutOPCenter( mCutOPCenter ), mCutNOPCenter( mCutNOPCenter ), + mCutOPWidth( mCutOPWidth ), mCutNOPWidth( mCutNOPWidth ), + mCutAngle( mCutAngle ), useAbsorbedEnergyCut( useAbsorbedEnergyCut ), + aeCutCLCenter( aeCutCLCenter ), aeCutCRCenter( aeCutCRCenter ), + aeCutCLWidth( aeCutCLWidth ), aeCutCRWidth( aeCutCRWidth ), + aeCutAngle( aeCutAngle ), nmbOfHitsSampled( nmbOfHitsSampled ), + nmbOfHitsSampledFull( nmbOfHitsSampledFull ), + nmbOfHitsTriggeredRealRange( nmbOfHitsTriggeredRealRange ), + nmbOfHitsTriggeredRecRange( nmbOfHitsTriggeredRecRange ), + nmbOfOrphanHits( nmbOfOrphanHits ), + nmbOfFalseHitsTriggeredEDT( nmbOfFalseHitsTriggeredEDT ), + nmbOfFalseHitsTriggeredRec( nmbOfFalseHitsTriggeredRec ), + nmbOfSavedEvents( nmbOfSavedEvents ), + nmbOfSavedFastEvents( nmbOfSavedFastEvents ), + numberOfEventsProcessed( numberOfEventsProcessed ), + numberOfEventsProcessedEffective( numberOfEventsProcessedEffective ), + numberOfEventsToBeProcessed( numberOfEventsToBeProcessed ), + rProject( rProject ), + interactionsWithoutEDTWereSkipped( interactionsWithoutEDTWereSkipped ), + cfFileName( cfFileName ), evDataVerboseLevel( evDataVerboseLevel ), + proposedMaxIL( proposedMaxIL ), actualVersion( CEXMC_RUN_SOBJECT_VERSION ) +{ +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcSensitiveDetectorMessenger.cc b/examples/advanced/ChargeExchangeMC/src/CexmcSensitiveDetectorMessenger.cc new file mode 100644 index 0000000000..aa583b9a50 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcSensitiveDetectorMessenger.cc @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcSensitiveDetectorMessenger.cc + * + * Description: sensitive detector messenger (verbose level etc.) + * + * Version: 1.0 + * Created: 15.11.2009 14:10:40 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include +#include "CexmcSensitiveDetectorMessenger.hh" +#include "CexmcMessenger.hh" + + +CexmcSensitiveDetectorMessenger::CexmcSensitiveDetectorMessenger( + G4VPrimitiveScorer * scorer, const G4String & detectorName ) : + scorer( scorer ), detectorPath( NULL ), setVerboseLevel( NULL ) +{ + G4String detectorFullPath( + ( CexmcMessenger::detectorDirName + detectorName + "/" ).c_str() ); + G4UImanager * uiManager( G4UImanager::GetUIpointer() ); + if ( ! uiManager->GetTree()->FindCommandTree( detectorFullPath.c_str() ) ) + { + detectorPath = new G4UIdirectory( detectorFullPath.c_str() ); + detectorPath->SetGuidance( "Settings for given sensitive detector" ); + } + setVerboseLevel = new G4UIcmdWithAnInteger( + ( detectorFullPath + "verbose" ).c_str(), this ); + setVerboseLevel->SetGuidance( "0 - do not print messages, " + "1 - print messages after an event" ); + setVerboseLevel->SetParameterName( "Verbose", true ); + setVerboseLevel->SetDefaultValue( 0 ); + setVerboseLevel->AvailableForStates( G4State_PreInit, G4State_Idle ); + +} + + +CexmcSensitiveDetectorMessenger::~CexmcSensitiveDetectorMessenger() +{ + delete detectorPath; + delete setVerboseLevel; +} + + +void CexmcSensitiveDetectorMessenger::SetNewValue( G4UIcommand * cmd, + G4String value ) +{ + do + { + if ( cmd == setVerboseLevel ) + { + scorer->SetVerboseLevel( + G4UIcmdWithAnInteger::GetNewIntValue( value ) ); + break; + } + } while ( false ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcSetup.cc b/examples/advanced/ChargeExchangeMC/src/CexmcSetup.cc new file mode 100644 index 0000000000..2592e7bb7f --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcSetup.cc @@ -0,0 +1,483 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcSetup.cc + * + * Description: physical setup + * + * Version: 1.0 + * Created: 10.10.2009 23:00:50 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "CexmcSetup.hh" +#include "CexmcTrackPoints.hh" +#include "CexmcTrackPointsInLeftRightSet.hh" +#include "CexmcTrackPointsInCalorimeter.hh" +#include "CexmcTrackPointsFilter.hh" +#include "CexmcSimpleEnergyDeposit.hh" +#include "CexmcEnergyDepositInLeftRightSet.hh" +#include "CexmcEnergyDepositInCalorimeter.hh" +#include "CexmcPhysicsManager.hh" +#include "CexmcException.hh" + + +CexmcSetup::CexmcSetup( const G4String & gdmlFile, G4bool validateGDMLFile ) : + world( 0 ), gdmlFile( gdmlFile ), validateGDMLFile( validateGDMLFile ), + calorimeterRegionInitialized( false ), + calorimeterGeometryDataInitialized( false ), monitorVolume( NULL ), + vetoCounterVolume( NULL ), calorimeterVolume( NULL ), targetVolume( NULL ), + rightVetoCounter( NULL ), rightCalorimeter( NULL ) +{ +} + + +G4VPhysicalVolume * CexmcSetup::Construct( void ) +{ + if ( world ) + return world; + + G4GDMLParser gdmlParser; + + gdmlParser.Read( gdmlFile, validateGDMLFile ); + world = gdmlParser.GetWorldVolume(); + + SetupSpecialVolumes( gdmlParser ); + + ReadTransforms( gdmlParser ); + + ReadRightDetectors(); + + const CexmcPhysicsManager * physicsManager( + dynamic_cast< const CexmcPhysicsManager * >( + G4RunManager::GetRunManager()->GetUserPhysicsList() ) ); + + if ( ! physicsManager ) + throw CexmcException( CexmcWeirdException ); + + CexmcPhysicsManager * thePhysicsManager( + const_cast< CexmcPhysicsManager * >( physicsManager ) ); + thePhysicsManager->SetupConstructionHook( this ); + + return world; +} + + +void CexmcSetup::SetupSpecialVolumes( G4GDMLParser & gdmlParser ) +{ + G4MultiFunctionalDetector * detector[ CexmcNumberOfDetectorRoles ] = + { NULL }; + const G4LogicalVolumeStore * lvs( G4LogicalVolumeStore::GetInstance() ); + + for( std::vector< G4LogicalVolume * >::const_iterator + lvIter( lvs->begin() ); lvIter != lvs->end(); ++lvIter ) + { + G4String volumeName( G4String( ( *lvIter )->GetName() ) ); + G4GDMLAuxListType auxInfo( gdmlParser.GetVolumeAuxiliaryInformation( + *lvIter ) ); + std::vector< G4GDMLAuxPairType >::const_iterator pair( + auxInfo.begin() ); + CexmcDetectorRole curDetectorRole( CexmcNumberOfDetectorRoles ); + + for( pair = auxInfo.begin(); pair != auxInfo.end(); ++pair ) + { + G4VPrimitiveScorer * scorer( NULL ); + G4String detectorName( "uninitialized" ); + do + { + if ( pair->type == "EnergyDepositDetector" ) + { + do + { + if ( pair->value < 0.5 ) + { + AssertAndAsignDetectorRole( curDetectorRole, + CexmcMonitorDetectorRole ); + scorer = new CexmcSimpleEnergyDeposit( + CexmcDetectorTypeName[ CexmcEDDetector ] ); + break; + } + if ( pair->value < 1.5 ) + { + AssertAndAsignDetectorRole( curDetectorRole, + CexmcVetoCounterDetectorRole ); + scorer = new CexmcEnergyDepositInLeftRightSet( + CexmcDetectorTypeName[ CexmcEDDetector ], + this ); + break; + } + if ( pair->value < 2.5 ) + { + AssertAndAsignDetectorRole( curDetectorRole, + CexmcCalorimeterDetectorRole ); + scorer = new CexmcEnergyDepositInCalorimeter( + CexmcDetectorTypeName[ CexmcEDDetector ], + this ); + break; + } + } while ( false ); + detectorName = CexmcDetectorRoleName[ curDetectorRole ]; + G4cout << CEXMC_LINE_START "ED Scorer of detector role '" << + detectorName << "' in volume '" << volumeName << + "'" << G4endl; + break; + } + if ( pair->type == "TrackPointsDetector" ) + { + do + { + if ( pair->value < 0.5 ) + { + AssertAndAsignDetectorRole( curDetectorRole, + CexmcMonitorDetectorRole ); + scorer = new CexmcTrackPoints( + CexmcDetectorTypeName[ CexmcTPDetector ] ); + break; + } + if ( pair->value < 1.5 ) + { + AssertAndAsignDetectorRole( curDetectorRole, + CexmcVetoCounterDetectorRole ); + scorer = new CexmcTrackPointsInLeftRightSet( + CexmcDetectorTypeName[ CexmcTPDetector ], + this ); + break; + } + if ( pair->value < 2.5 ) + { + AssertAndAsignDetectorRole( curDetectorRole, + CexmcCalorimeterDetectorRole ); + scorer = new CexmcTrackPointsInCalorimeter( + CexmcDetectorTypeName[ CexmcTPDetector ], + this ); + break; + } + if ( pair->value < 3.5 ) + { + AssertAndAsignDetectorRole( curDetectorRole, + CexmcTargetDetectorRole ); + scorer = new CexmcTrackPoints( + CexmcDetectorTypeName[ CexmcTPDetector ] ); + break; + } + } while ( false ); + detectorName = CexmcDetectorRoleName[ curDetectorRole ]; + G4cout << CEXMC_LINE_START "TP Scorer of detector role '" << + detectorName << "' in volume '" << volumeName << + "'" << G4endl; + if ( scorer ) + { + CexmcTrackPointsFilter * filter( + new CexmcTrackPointsFilter( "trackPoints" ) ); + scorer->SetFilter( filter ); + } + break; + } + if ( pair->type == "SensitiveRegion" ) + { + do + { + if ( pair->value < 0.5 ) + { + G4Region * region( NULL ); + if ( calorimeterRegionInitialized ) + { + region = G4RegionStore::GetInstance()-> + GetRegion( CexmcCalorimeterRegionName ); + } + else + { + region = new G4Region( + CexmcCalorimeterRegionName ); + G4ProductionCuts * cuts( + new G4ProductionCuts ); + G4double defaultProductionCut( 1.0 * mm ); + const G4VUserPhysicsList * physicsList( + G4RunManager::GetRunManager()-> + GetUserPhysicsList() ); + if ( physicsList ) + defaultProductionCut = + physicsList->GetDefaultCutValue(); + cuts->SetProductionCut( defaultProductionCut ); + region->SetProductionCuts( cuts ); + calorimeterRegionInitialized = true; + } + region->AddRootLogicalVolume( *lvIter ); + break; + } + } while ( false ); + G4cout << CEXMC_LINE_START "Sensitive Region for logical " + "volume '" << volumeName << "' registered" << + G4endl; + break; + } + if ( pair->type == "SpecialVolume" ) + { + do + { + if ( pair->value < 0.5 ) + { + monitorVolume = *lvIter; + G4cout << CEXMC_LINE_START "Monitor volume '"; + break; + } + if ( pair->value < 1.5 ) + { + vetoCounterVolume = *lvIter; + G4cout << CEXMC_LINE_START "VetoCounter volume '"; + break; + } + if ( pair->value < 2.5 ) + { + calorimeterVolume = *lvIter; + G4cout << CEXMC_LINE_START "Calorimeter volume '"; + ReadCalorimeterGeometryData( *lvIter ); + calorimeterGeometryDataInitialized = true; + break; + } + if ( pair->value < 3.5 ) + { + targetVolume = *lvIter; + G4cout << CEXMC_LINE_START "Target volume '"; + break; + } + } while ( false ); + G4cout << volumeName << "' registered" << G4endl; + break; + } + } + while ( false ); + + if ( scorer ) + { + /* curDetectorRole must be intact when scorer is not NULL */ + if ( ! detector[ curDetectorRole ] ) + { + detector[ curDetectorRole ] = + new G4MultiFunctionalDetector( detectorName ); + } + detector[ curDetectorRole ]->RegisterPrimitive( scorer ); + /* NB: logical volumes in GDML file may not have multiple + * detector roles: for example volume Monitor may have only one + * role MonitorRole. This restriction arises from that fact that + * a logical volume may contain only one sensitive detector. */ + ( *lvIter )->SetSensitiveDetector( + detector[ curDetectorRole ] ); + } + } + } + + if ( ! calorimeterRegionInitialized ) + throw CexmcException( CexmcCalorimeterRegionNotInitialized ); + + if ( ! calorimeterGeometryDataInitialized ) + throw CexmcException( CexmcCalorimeterGeometryDataNotInitialized ); + + for ( G4int i( 0 ); i < CexmcNumberOfDetectorRoles; ++i ) + { + if ( detector[ i ] ) + G4SDManager::GetSDMpointer()->AddNewDetector( detector[ i ] ); + } +} + + +void CexmcSetup::ReadTransforms( const G4GDMLParser & gdmlParser ) +{ + G4ThreeVector position( gdmlParser.GetPosition( "TargetPos" ) ); + G4ThreeVector rotation( gdmlParser.GetRotation( "TargetRot" ) ); + G4RotationMatrix rm; + + RotateMatrix( rotation, rm ); + targetTransform.SetNetTranslation( position ); + targetTransform.SetNetRotation( rm ); + + position = gdmlParser.GetPosition( "CalorimeterLeftPos" ); + rotation = gdmlParser.GetRotation( "CalorimeterLeftRot" ); + rm = G4RotationMatrix(); + RotateMatrix( rotation, rm ); + calorimeterLeftTransform.SetNetTranslation( position ); + calorimeterLeftTransform.SetNetRotation( rm ); + + position = gdmlParser.GetPosition( "CalorimeterRightPos" ); + rotation = gdmlParser.GetRotation( "CalorimeterRightRot" ); + rm = G4RotationMatrix(); + RotateMatrix( rotation, rm ); + calorimeterRightTransform.SetNetTranslation( position ); + calorimeterRightTransform.SetNetRotation( rm ); +} + + +void CexmcSetup::ReadCalorimeterGeometryData( + const G4LogicalVolume * lVolume ) +{ + if ( lVolume->GetNoDaughters() == 0 ) + throw CexmcException( CexmcIncompatibleGeometry ); + + G4VPhysicalVolume * pVolume( lVolume->GetDaughter( 0 ) ); + EAxis axis; + G4double width; + G4double offset; + G4bool consuming; + + if ( ! pVolume ) + throw CexmcException( CexmcIncompatibleGeometry ); + + if ( pVolume->IsReplicated() ) + { + pVolume->GetReplicationData( axis, + calorimeterGeometry.nCrystalsInColumn, + width, offset, consuming ); + } + + lVolume = pVolume->GetLogicalVolume(); + + if ( lVolume->GetNoDaughters() == 0 ) + throw CexmcException( CexmcIncompatibleGeometry ); + + pVolume = lVolume->GetDaughter( 0 ); + + if ( ! pVolume ) + throw CexmcException( CexmcIncompatibleGeometry ); + + if ( pVolume->IsReplicated() ) + { + pVolume->GetReplicationData( axis, calorimeterGeometry.nCrystalsInRow, + width, offset, consuming ); + } + + lVolume = pVolume->GetLogicalVolume(); + + /* NB: this is not necessarily a crystal itself as far as crystals can be + * wrapped in paper and other materials, but this is what reconstructor and + * digitizers really need */ + G4Box * crystalBox( dynamic_cast< G4Box * >( lVolume->GetSolid() ) ); + + if ( ! crystalBox ) + throw CexmcException( CexmcIncompatibleGeometry ); + + calorimeterGeometry.crystalWidth = crystalBox->GetXHalfLength() * 2; + calorimeterGeometry.crystalHeight = crystalBox->GetYHalfLength() * 2; + calorimeterGeometry.crystalLength = crystalBox->GetZHalfLength() * 2; +} + + +void CexmcSetup::ConvertToCrystalGeometry( const G4ThreeVector & src, + G4int & row, G4int & column, G4ThreeVector & dst ) const +{ + G4int nCrystalsInColumn( calorimeterGeometry.nCrystalsInColumn ); + G4int nCrystalsInRow( calorimeterGeometry.nCrystalsInRow ); + G4double crystalWidth( calorimeterGeometry.crystalWidth ); + G4double crystalHeight( calorimeterGeometry.crystalHeight ); + + row = G4int( ( src.y() + crystalHeight * nCrystalsInColumn / 2 ) / + crystalHeight ); + column = G4int( ( src.x() + crystalWidth * nCrystalsInRow / 2 ) / + crystalWidth ); + G4double xInCalorimeterOffset( + ( G4double( column ) - G4double( nCrystalsInRow ) / 2 ) * + crystalWidth + crystalWidth / 2 ); + G4double yInCalorimeterOffset( + ( G4double( row ) - G4double( nCrystalsInColumn ) / 2 ) * + crystalHeight + crystalHeight / 2 ); + dst.setX( src.x() - xInCalorimeterOffset ); + dst.setY( src.y() - yInCalorimeterOffset ); +} + + +void CexmcSetup::ReadRightDetectors( void ) +{ + G4PhysicalVolumeStore * pvs( G4PhysicalVolumeStore::GetInstance() ); + + for ( std::vector< G4VPhysicalVolume * >::const_iterator k( pvs->begin() ); + k != pvs->end(); ++k ) + { + /* FIXME: it would be more reasonable to find detectors from volumes + * tagged with 'EnergyDepositDetector' or 'TrackPointsDetector', and not + * from volumes tagged with 'SpecialVolume' as it is done here. However + * in case of calorimeters the role of detectors are played by crystal + * volumes, not the calorimeters themselves, but only calorimeters can + * hold information about their left or right positions! Thus, following + * considerations of convenience, right detectors for all detector roles + * are chosen from volumes tagged with 'SpecialVolume' */ + do + { + if ( ( *k )->GetLogicalVolume() == vetoCounterVolume ) + { + if ( ( *k )->GetName().contains( "Right" ) ) + rightVetoCounter = *k; + break; + } + if ( ( *k )->GetLogicalVolume() == calorimeterVolume ) + { + if ( ( *k )->GetName().contains( "Right" ) ) + rightCalorimeter = *k; + break; + } + } while ( false ); + } +} + + +void CexmcSetup::AssertAndAsignDetectorRole( CexmcDetectorRole & detectorRole, + CexmcDetectorRole value ) +{ + if ( detectorRole != CexmcNumberOfDetectorRoles && detectorRole != value ) + throw CexmcException( CexmcMultipleDetectorRoles ); + + detectorRole = value; +} + + +void CexmcSetup::RotateMatrix( const G4ThreeVector & rot, + G4RotationMatrix & rm ) +{ + rm.rotateX( rot.x() ); + rm.rotateY( rot.y() ); + rm.rotateZ( rot.z() ); +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcSimpleDecayTableStore.cc b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleDecayTableStore.cc new file mode 100644 index 0000000000..e41fd4f474 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleDecayTableStore.cc @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcSimpleDecayTableStore.cc + * + * Description: decay table serialization helper + * + * Version: 1.0 + * Created: 24.12.2009 15:48:13 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifdef CEXMC_USE_PERSISTENCY + +#include +#include "CexmcSimpleDecayTableStore.hh" + + +CexmcSimpleDecayTableStore::CexmcSimpleDecayTableStore() +{ +} + + +CexmcSimpleDecayTableStore::CexmcSimpleDecayTableStore( + const G4DecayTable * decayTable ) +{ + for ( G4int i( 0 ); i < decayTable->entries(); ++i ) + { + decayBranches.insert( + std::pair< G4int, G4double >( i, + decayTable->GetDecayChannel( i )->GetBR() ) ); + } +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcSimpleEnergyDeposit.cc b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleEnergyDeposit.cc new file mode 100644 index 0000000000..34d8b0c8f3 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleEnergyDeposit.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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcSimpleEnergyDeposit.cc + * + * Description: simple energy deposit scorer + * + * Version: 1.0 + * Created: 14.11.2009 12:48:22 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include "CexmcSimpleEnergyDeposit.hh" +#include "CexmcSensitiveDetectorMessenger.hh" + + +CexmcSimpleEnergyDeposit::CexmcSimpleEnergyDeposit( const G4String & name ) : + G4VPrimitiveScorer( name ), messenger( NULL ), hcId( -1 ) +{ + messenger = new CexmcSensitiveDetectorMessenger( this, name ); +} + + +CexmcSimpleEnergyDeposit::~CexmcSimpleEnergyDeposit() +{ + delete messenger; +} + + +G4int CexmcSimpleEnergyDeposit::GetIndex( G4Step * ) +{ + return 0; +} + + +G4bool CexmcSimpleEnergyDeposit::ProcessHits( G4Step * step, + G4TouchableHistory * ) +{ + G4double energyDeposit( step->GetTotalEnergyDeposit() ); + + if ( energyDeposit == 0. ) + return false; + + eventMap->add( GetIndex( step ), energyDeposit ); + + return true; +} + + +void CexmcSimpleEnergyDeposit::Initialize( G4HCofThisEvent * hcOfEvent ) +{ + eventMap = new CexmcEnergyDepositCollection( + GetMultiFunctionalDetector()->GetName(), GetName() ); + if( hcId < 0 ) + { + hcId = GetCollectionID( 0 ); + } + hcOfEvent->AddHitsCollection( hcId, eventMap ); +} + + +void CexmcSimpleEnergyDeposit::EndOfEvent( G4HCofThisEvent * ) +{ + if ( GetVerboseLevel() > 0 ) + PrintAll(); +} + + +void CexmcSimpleEnergyDeposit::clear( void ) +{ + eventMap->clear(); +} + + +void CexmcSimpleEnergyDeposit::DrawAll( void ) +{ +} + + +void CexmcSimpleEnergyDeposit::PrintAll( void ) +{ + G4int nmbOfEntries( eventMap->entries() ); + + if ( nmbOfEntries == 0 ) + return; + + G4cout << " --- MultiFunctionalDet " << detector->GetName() << G4endl; + G4cout << " PrimitiveScorer " << GetName() << G4endl; + G4cout << " Number of entries " << nmbOfEntries << G4endl; + + /* index is ever 0 */ + for( std::map< G4int, G4double* >::iterator + itr( eventMap->GetMap()->begin() ); + itr != eventMap->GetMap()->end(); ++itr ) + { + G4cout << " energy deposit: " << + G4BestUnit( *( itr->second ), "Energy" ) << G4endl; + } +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcSimpleLorentzVectorStore.cc b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleLorentzVectorStore.cc new file mode 100644 index 0000000000..6fa8c9964c --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleLorentzVectorStore.cc @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcSimpleLorentzVectorStore.cc + * + * Description: G4LorentzVector serialization helper + * + * Version: 1.0 + * Created: 02.01.2010 14:12:56 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifdef CEXMC_USE_PERSISTENCY + +#include "CexmcSimpleLorentzVectorStore.hh" + + +CexmcSimpleLorentzVectorStore::CexmcSimpleLorentzVectorStore() +{ +} + + +CexmcSimpleLorentzVectorStore::CexmcSimpleLorentzVectorStore( + const G4LorentzVector & lorentzVector ) +{ + px = lorentzVector.px(); + py = lorentzVector.py(); + pz = lorentzVector.pz(); + e = lorentzVector.e(); +} + + +CexmcSimpleLorentzVectorStore::operator G4LorentzVector() const +{ + return G4LorentzVector( px, py, pz, e ); +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcSimpleProductionModelDataStore.cc b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleProductionModelDataStore.cc new file mode 100644 index 0000000000..8537bb4768 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleProductionModelDataStore.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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcSimpleProductionModelDataStore.cc + * + * Description: serialization helper for production model data + * + * Version: 1.0 + * Created: 02.01.2010 14:56:53 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifdef CEXMC_USE_PERSISTENCY + +#include +#include "CexmcSimpleProductionModelDataStore.hh" +#include "CexmcProductionModelData.hh" +#include "CexmcException.hh" + + +CexmcSimpleProductionModelDataStore::CexmcSimpleProductionModelDataStore() +{ +} + + +CexmcSimpleProductionModelDataStore::CexmcSimpleProductionModelDataStore( + const CexmcProductionModelData & pmData ) +{ + incidentParticleSCM = pmData.incidentParticleSCM; + incidentParticleLAB = pmData.incidentParticleLAB; + nucleusParticleSCM = pmData.nucleusParticleSCM; + nucleusParticleLAB = pmData.nucleusParticleLAB; + outputParticleSCM = pmData.outputParticleSCM; + outputParticleLAB = pmData.outputParticleLAB; + nucleusOutputParticleSCM = pmData.nucleusOutputParticleSCM; + nucleusOutputParticleLAB = pmData.nucleusOutputParticleLAB; + incidentParticle = pmData.incidentParticle->GetPDGEncoding(); + nucleusParticle = pmData.nucleusParticle->GetPDGEncoding(); + outputParticle = pmData.outputParticle->GetPDGEncoding(); + nucleusOutputParticle = pmData.nucleusOutputParticle->GetPDGEncoding(); +} + + +CexmcSimpleProductionModelDataStore::operator CexmcProductionModelData() const +{ + G4ParticleDefinition * incidentParticleDefinition( + G4ParticleTable::GetParticleTable()->FindParticle( + incidentParticle ) ); + if ( ! incidentParticleDefinition ) + throw CexmcException( CexmcWeirdException ); + G4ParticleDefinition * nucleusParticleDefinition( + G4ParticleTable::GetParticleTable()->FindParticle( + nucleusParticle ) ); + if ( ! nucleusParticleDefinition ) + throw CexmcException( CexmcWeirdException ); + G4ParticleDefinition * outputParticleDefinition( + G4ParticleTable::GetParticleTable()->FindParticle( + outputParticle ) ); + if ( ! outputParticleDefinition ) + throw CexmcException( CexmcWeirdException ); + G4ParticleDefinition * nucleusOutputParticleDefinition( + G4ParticleTable::GetParticleTable()->FindParticle( + nucleusOutputParticle ) ); + if ( ! nucleusOutputParticleDefinition ) + throw CexmcException( CexmcWeirdException ); + + return CexmcProductionModelData( incidentParticleSCM, incidentParticleLAB, + nucleusParticleSCM, nucleusParticleLAB, + outputParticleSCM, outputParticleLAB, + nucleusOutputParticleSCM, nucleusOutputParticleLAB, + incidentParticleDefinition, nucleusParticleDefinition, + outputParticleDefinition, nucleusOutputParticleDefinition ); +} + +#endif + diff --git a/examples/extended/parallel/ExDiane/src/BrachyFactoryI.cc b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleRangeWithValue.cc similarity index 57% rename from examples/extended/parallel/ExDiane/src/BrachyFactoryI.cc rename to examples/advanced/ChargeExchangeMC/src/CexmcSimpleRangeWithValue.cc index 6526beb062..d15f614d42 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyFactoryI.cc +++ b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleRangeWithValue.cc @@ -23,51 +23,50 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// Code developed by: -// S.Guatelli -// -// ******************************* -// * * -// * BrachyFactoryI.cc -// * * -// ******************************* -// -// $Id: BrachyFactoryI.cc,v 1.2 2006/06/29 17:33:14 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "BrachyFactoryI.hh" -#include "BrachyPrimaryGeneratorActionI.hh" -#include "BrachyDetectorConstructionI.hh" -#include "G4ParticleTable.hh" -#include "Randomize.hh" -#include "G4Event.hh" -#include "G4ParticleGun.hh" -#include "G4IonTable.hh" -#include "G4UImanager.hh" -#include "globals.hh" -#include "G4RunManager.hh" +/* + * ============================================================================= + * + * Filename: CexmcSimpleRangeWithValue.cc + * + * Description: auxiliary functions for simple range instances + * + * Version: 1.0 + * Created: 17.02.2010 22:46:01 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ -BrachyFactoryI:: BrachyFactoryI() +#include +#include +#include "CexmcSimpleRangeWithValue.hh" + + +std::ostream & operator<<( std::ostream & out, + const CexmcEnergyRangeWithDoubleValue & range ) { - iodiumSource = new BrachyDetectorConstructionI(); + out << "[ " << std::setw( 3 ) << G4BestUnit( range.bottom, "Energy" ) << + ", " << std::setw( 3 ) << G4BestUnit( range.top, "Energy" ) << + " ) " << range.value; + + return out; } -BrachyFactoryI::~BrachyFactoryI() + +std::ostream & operator<<( std::ostream & out, + const CexmcEnergyRangeWithDoubleValueList & ranges ) { - delete iodiumSource; + out << std::endl; + for ( CexmcEnergyRangeWithDoubleValueList::const_iterator + k( ranges.begin() ); k != ranges.end(); ++k ) + { + out << " " << *k << std::endl; + } + + return out; } -G4VUserPrimaryGeneratorAction* BrachyFactoryI::CreatePrimaryGeneratorAction() -{ - G4VUserPrimaryGeneratorAction* iodiumPrimaryParticle = - new BrachyPrimaryGeneratorActionI(); - return iodiumPrimaryParticle; -} - -void BrachyFactoryI::CreateSource(G4VPhysicalVolume* mother) -{ - iodiumSource->ConstructIodium(mother); -} - -void BrachyFactoryI::CleanSource() -{;} diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcSimpleThreeVectorStore.cc b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleThreeVectorStore.cc new file mode 100644 index 0000000000..a73747c0b9 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleThreeVectorStore.cc @@ -0,0 +1,69 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcSimpleThreeVectorStore.cc + * + * Description: G4ThreeVector serialization helper + * + * Version: 1.0 + * Created: 24.12.2009 22:55:10 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifdef CEXMC_USE_PERSISTENCY + +#include "CexmcSimpleThreeVectorStore.hh" + + +CexmcSimpleThreeVectorStore::CexmcSimpleThreeVectorStore() +{ +} + + +CexmcSimpleThreeVectorStore::CexmcSimpleThreeVectorStore( + const G4ThreeVector & threeVector ) +{ + x = threeVector.x(); + y = threeVector.y(); + z = threeVector.z(); +} + + +CexmcSimpleThreeVectorStore::operator G4ThreeVector() const +{ + return G4ThreeVector( x, y, z ); +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcSimpleTrackPointInfoStore.cc b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleTrackPointInfoStore.cc new file mode 100644 index 0000000000..a0726a28f6 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcSimpleTrackPointInfoStore.cc @@ -0,0 +1,88 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcSimpleTrackPointInfoStore.cc + * + * Description: serialization helper for track point info objects + * + * Version: 1.0 + * Created: 31.12.2009 14:07:04 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#ifdef CEXMC_USE_PERSISTENCY + +#include +#include "CexmcSimpleTrackPointInfoStore.hh" +#include "CexmcTrackPointInfo.hh" +#include "CexmcException.hh" + + +CexmcSimpleTrackPointInfoStore::CexmcSimpleTrackPointInfoStore() +{ +} + + +CexmcSimpleTrackPointInfoStore::CexmcSimpleTrackPointInfoStore( + const CexmcTrackPointInfo & tpInfo ) +{ + positionLocal = tpInfo.positionLocal; + positionWorld = tpInfo.positionWorld; + directionLocal = tpInfo.directionLocal; + directionWorld = tpInfo.directionWorld; + momentumAmp = tpInfo.momentumAmp; + if ( tpInfo.trackId == CexmcInvalidTrackId ) + particlePDGEncoding = 0; + else + particlePDGEncoding = tpInfo.particle->GetPDGEncoding(); + trackId = tpInfo.trackId; + trackType = tpInfo.trackType; +} + + +CexmcSimpleTrackPointInfoStore::operator CexmcTrackPointInfo() const +{ + G4ParticleDefinition * particleDefinition( + G4ParticleTable::GetParticleTable()->FindParticle( + particlePDGEncoding ) ); + if ( ! particleDefinition && trackId != CexmcInvalidTrackId ) + throw CexmcException( CexmcWeirdException ); + + return CexmcTrackPointInfo( positionLocal, positionWorld, directionLocal, + directionWorld, momentumAmp, particleDefinition, + trackId, trackType ); +} + +#endif + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcSteppingAction.cc b/examples/advanced/ChargeExchangeMC/src/CexmcSteppingAction.cc new file mode 100644 index 0000000000..22237abea2 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcSteppingAction.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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcSteppingAction.cc + * + * Description: stepping action + * + * Version: 1.0 + * Created: 27.10.2009 16:03:07 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "CexmcSteppingAction.hh" +#include "CexmcPhysicsManager.hh" +#include "CexmcSetup.hh" +#include "CexmcIncidentParticleTrackInfo.hh" +#include "CexmcCommon.hh" + + +CexmcSteppingAction::CexmcSteppingAction( + CexmcPhysicsManager * physicsManager ) : + physicsManager( physicsManager ), targetVolume( NULL ) +{ + G4RunManager * runManager( G4RunManager::GetRunManager() ); + const CexmcSetup * setup( static_cast< const CexmcSetup * >( + runManager->GetUserDetectorConstruction() ) ); + targetVolume = setup->GetVolume( CexmcSetup::Target ); +} + + +void CexmcSteppingAction::UserSteppingAction( const G4Step * step ) +{ + G4Track * track( step->GetTrack() ); + CexmcTrackInfo * trackInfo( static_cast< CexmcTrackInfo * >( + track->GetUserInformation() ) ); + + if ( ! trackInfo || + trackInfo->GetTypeInfo() != CexmcIncidentParticleTrackType ) + return; + + CexmcIncidentParticleTrackInfo * theTrackInfo( + static_cast< CexmcIncidentParticleTrackInfo * >( trackInfo ) ); + + G4StepPoint * postStepPoint( step->GetPostStepPoint() ); + G4StepStatus stepStatus( postStepPoint->GetStepStatus() ); + const G4VTouchable * touchable( postStepPoint->GetTouchable() ); + G4VPhysicalVolume * volume( touchable->GetVolume() ); + + if ( volume && volume->GetLogicalVolume() == targetVolume ) + { + if ( ! theTrackInfo->IsStudiedProcessActivated() ) + { + physicsManager->ResampleTrackLengthInTarget( track, postStepPoint ); + theTrackInfo->ActivateStudiedProcess(); + } + + if ( stepStatus != fGeomBoundary ) + { + if ( theTrackInfo->NeedsTrackLengthResampling() ) + physicsManager->ResampleTrackLengthInTarget( + track, postStepPoint ); + else + theTrackInfo->AddTrackLengthInTarget( step->GetStepLength() ); + } + } + + G4StepPoint * preStepPoint( step->GetPreStepPoint() ); + touchable = preStepPoint->GetTouchable(); + volume = touchable->GetVolume(); + + if ( volume && volume->GetLogicalVolume() == targetVolume ) + { + if ( stepStatus == fGeomBoundary ) + theTrackInfo->ActivateStudiedProcess( false ); + } +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcStudiedProcess.cc b/examples/advanced/ChargeExchangeMC/src/CexmcStudiedProcess.cc new file mode 100644 index 0000000000..04b7f3dd24 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcStudiedProcess.cc @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================= + * + * Filename: CexmcStudiedProcess.cc + * + * Description: studied process in the target + * + * Version: 1.0 + * Created: 14.09.2010 18:37:01 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================= + */ + +#include +#include "CexmcStudiedProcess.hh" +#include "CexmcPhysicsManager.hh" +#include "CexmcIncidentParticleTrackInfo.hh" +#include "CexmcCommon.hh" + + +CexmcStudiedProcess::CexmcStudiedProcess( CexmcPhysicsManager * physicsManager, + G4ProcessType processType ) : + G4WrapperProcess( CexmcStudiedProcessFirstName, processType ), + physicsManager( physicsManager ) +{ +} + + +G4double CexmcStudiedProcess::PostStepGetPhysicalInteractionLength( + const G4Track & track, G4double , G4ForceCondition * condition ) +{ + *condition = NotForced; + + if ( ! physicsManager->IsStudiedProcessAllowed() ) + return CexmcDblMax; + + CexmcTrackInfo * trackInfo( static_cast< CexmcTrackInfo * >( + track.GetUserInformation() ) ); + + if ( ! trackInfo || + trackInfo->GetTypeInfo() != CexmcIncidentParticleTrackType ) + return CexmcDblMax; + + CexmcIncidentParticleTrackInfo * theTrackInfo( + static_cast< CexmcIncidentParticleTrackInfo * >( trackInfo ) ); + + if ( ! theTrackInfo->IsStudiedProcessActivated() ) + return CexmcDblMax; + + return theTrackInfo->GetFinalTrackLengthInTarget() - + theTrackInfo->GetCurrentTrackLengthInTarget(); +} + + +G4VParticleChange * CexmcStudiedProcess::PostStepDoIt( const G4Track & track, + const G4Step & step ) +{ + G4VParticleChange * particleChange( pRegProcess->PostStepDoIt( track, + step ) ); + + if ( particleChange && particleChange->GetTrackStatus() == fStopAndKill ) + physicsManager->IncrementNumberOfTriggeredStudiedInteractions(); + + return particleChange; +} + diff --git a/source/processes/hadronic/models/cascade/cascade/include/G4BertiniData.hh b/examples/advanced/ChargeExchangeMC/src/CexmcTrackInfo.cc similarity index 69% rename from source/processes/hadronic/models/cascade/cascade/include/G4BertiniData.hh rename to examples/advanced/ChargeExchangeMC/src/CexmcTrackInfo.cc index a6e0c7ff0a..f87b82992d 100644 --- a/source/processes/hadronic/models/cascade/cascade/include/G4BertiniData.hh +++ b/examples/advanced/ChargeExchangeMC/src/CexmcTrackInfo.cc @@ -23,43 +23,40 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -#ifndef G4BertiniData_h -#define G4BertiniData_h 1 +/* + * ============================================================================ + * + * Filename: CexmcTrackInfo.cc + * + * Description: track info + * + * Version: 1.0 + * Created: 22.11.2009 18:50:56 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ -#include "globals.hh" +#include "CexmcTrackInfo.hh" -class G4BertiniData //: public G4VIntraNuclearTransportModel + +CexmcTrackInfo::CexmcTrackInfo( CexmcTrackType trackType, G4int copyNumber ) : + trackType( trackType ), copyNumber( copyNumber ) { - public: - G4BertiniData(){ - G4cout << " G4BertiniData constructor" << G4endl; } - ~G4BertiniData(){ - G4cout << " G4BertiniData destructor" << G4endl; + + +void CexmcTrackInfo::Print( void ) const +{ } - - static G4BertiniData* Instance() - { - if (!theInstance) theInstance = new G4BertiniData(); - else G4cout << "singleton instance already created" << G4endl; - return theInstance; - } - - private: - static G4BertiniData* theInstance; - -public: - static const G4int pair[6][2]; -}; - -#endif - - - - - - - +G4int CexmcTrackInfo::GetTypeInfo( void ) const +{ + return CexmcBasicTrackType; +} diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointInfo.cc b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointInfo.cc new file mode 100644 index 0000000000..fb09adc2ee --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointInfo.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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcTrackPointInfo.cc + * + * Description: single track point information + * + * Version: 1.0 + * Created: 28.12.2009 22:55:18 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include "CexmcTrackPointInfo.hh" + + +std::ostream & operator<<( std::ostream & out, + const CexmcTrackPointInfo & trackPointInfo ) +{ + if ( ! trackPointInfo.IsValid() ) + return out << "tp is not valid"; + + const char * trackTypeInfo = "???"; + + switch ( trackPointInfo.trackType ) + { + case CexmcBeamParticleTrack : + trackTypeInfo = "bp"; + break; + case CexmcOutputParticleTrack : + trackTypeInfo = "op"; + break; + case CexmcNucleusParticleTrack : + trackTypeInfo = "np"; + break; + case CexmcOutputParticleDecayProductTrack : + trackTypeInfo = "opdp"; + break; + default : + break; + } + + std::ostream::fmtflags savedFlags( out.flags() ); + std::streamsize prec( out.precision() ); + + out.precision( 4 ); + + out << trackPointInfo.particle->GetParticleName() << " [" << + trackPointInfo.trackId << "," << trackTypeInfo << "] " << + G4BestUnit( trackPointInfo.momentumAmp, "Energy" ) << " : " << + G4BestUnit( trackPointInfo.positionLocal, "Length" ) << " [" << + trackPointInfo.directionLocal.x() << ", " << + trackPointInfo.directionLocal.y() << ", " << + trackPointInfo.directionLocal.z() << "]"; +#ifdef CEXMC_DEBUG_TP + out << std::endl << " < in world: " << + G4BestUnit( trackPointInfo.positionWorld, "Length" ) << " [" << + trackPointInfo.directionWorld.x() << ", " << + trackPointInfo.directionWorld.y() << ", " << + trackPointInfo.directionWorld.z() << "] >"; +#endif + + out.precision( prec ); + out.flags( savedFlags ); + + return out; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcTrackPoints.cc b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPoints.cc new file mode 100644 index 0000000000..d2c7fdae52 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPoints.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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcTrackPoints.cc + * + * Description: track points collection + * + * Version: 1.0 + * Created: 16.11.2009 13:03:03 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include "CexmcTrackPoints.hh" +#include "CexmcSensitiveDetectorMessenger.hh" +#include "CexmcTrackInfo.hh" + + +CexmcTrackPoints::CexmcTrackPoints( const G4String & name ) : + G4VPrimitiveScorer( name ), messenger( NULL ), hcId( -1 ) +{ + messenger = new CexmcSensitiveDetectorMessenger( this, name ); +} + + +CexmcTrackPoints::~CexmcTrackPoints() +{ + delete messenger; +} + + +G4int CexmcTrackPoints::GetTrackId( G4Step * step ) +{ + /* NB: trackInfo for these tracks shall always exist as far as + * track points filter decline tracks without it */ + CexmcTrackInfo * trackInfo( static_cast< CexmcTrackInfo * >( + step->GetTrack()->GetUserInformation() ) ); + + G4int ret( trackInfo->GetTrackType() ); + + if ( ret == CexmcOutputParticleDecayProductTrack ) + ret += trackInfo->GetCopyNumber(); + + return ret; +} + + +G4int CexmcTrackPoints::GetIndex( G4Step * step ) +{ + return GetTrackId( step ); +} + + +G4bool CexmcTrackPoints::ProcessHits( G4Step * step, G4TouchableHistory * ) +{ + G4int index( GetIndex( step ) ); + + if ( ( *eventMap )[ index ] ) + return false; + + G4Track * track( step->GetTrack() ); + G4ParticleDefinition * particle( track->GetDefinition() ); + CexmcTrackType trackType( CexmcInsipidTrack ); + + G4StepPoint * preStepPoint( step->GetPreStepPoint() ); + G4ThreeVector position( preStepPoint->GetPosition() ); + G4ThreeVector direction( preStepPoint->GetMomentumDirection() ); + + const G4AffineTransform & transform( preStepPoint->GetTouchable()-> + GetHistory()->GetTopTransform() ); + + CexmcTrackInfo * trackInfo( static_cast< CexmcTrackInfo * >( + track->GetUserInformation() ) ); + trackType = trackInfo->GetTrackType(); + + CexmcTrackPointInfo trackPointInfo( transform.TransformPoint( position ), + position, + transform.TransformAxis( direction ), + direction, + preStepPoint->GetMomentum().mag(), + particle, track->GetTrackID(), + trackType ); + + eventMap->set( index, trackPointInfo ); + + return true; +} + + +void CexmcTrackPoints::Initialize( G4HCofThisEvent * hcOfEvent ) +{ + eventMap = new CexmcTrackPointsCollection( + GetMultiFunctionalDetector()->GetName(), GetName() ); + if( hcId < 0 ) + { + hcId = GetCollectionID( 0 ); + } + hcOfEvent->AddHitsCollection( hcId, eventMap ); +} + + +void CexmcTrackPoints::EndOfEvent( G4HCofThisEvent * ) +{ + if ( GetVerboseLevel() > 0 ) + PrintAll(); +} + + +void CexmcTrackPoints::clear( void ) +{ + eventMap->clear(); +} + + +void CexmcTrackPoints::DrawAll( void ) +{ +} + + +void CexmcTrackPoints::PrintAll( void ) +{ + G4int nmbOfEntries( eventMap->entries() ); + + if ( nmbOfEntries == 0 ) + return; + + G4cout << " --- MultiFunctionalDet " << detector->GetName() << G4endl; + G4cout << " PrimitiveScorer " << GetName() << G4endl; + G4cout << " Number of entries " << nmbOfEntries << G4endl; + + for( std::map< G4int, CexmcTrackPointInfo* >::iterator + itr( eventMap->GetMap()->begin() ); + itr != eventMap->GetMap()->end(); ++itr ) + { + G4cout << " track id " << itr->first << G4endl; + G4cout << " , position: " << + G4BestUnit( itr->second->positionLocal, "Length" ) << G4endl; + G4cout << " , direction: " << + itr->second->directionLocal << G4endl; + G4cout << " , momentum: " << + G4BestUnit( itr->second->momentumAmp, "Energy" ) << G4endl; + G4cout << " , particle: " << + itr->second->particle->GetParticleName() << G4endl; + } +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsDigitizer.cc b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsDigitizer.cc new file mode 100644 index 0000000000..27c0a398a5 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsDigitizer.cc @@ -0,0 +1,242 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcTrackPointsDigitizer.cc + * + * Description: track points collector + * + * Version: 1.0 + * Created: 24.11.2009 16:34:43 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include "CexmcTrackPointsDigitizer.hh" +#include "CexmcTrackPoints.hh" +#include "CexmcTrackPointsInLeftRightSet.hh" +#include "CexmcTrackPointsInCalorimeter.hh" +#include "CexmcSensitiveDetectorsAttributes.hh" +#include "CexmcCommon.hh" + + +CexmcTrackPointsDigitizer::CexmcTrackPointsDigitizer( const G4String & name ) : + G4VDigitizerModule( name ), hasTriggered( false ) +{ + G4RunManager * runManager( G4RunManager::GetRunManager() ); + const CexmcSetup * setup( static_cast< const CexmcSetup * >( + runManager->GetUserDetectorConstruction() ) ); + calorimeterGeometry = setup->GetCalorimeterGeometry(); +} + + +void CexmcTrackPointsDigitizer::InitializeData( void ) +{ + monitorTP.trackId = CexmcInvalidTrackId; + targetTPBeamParticle.trackId = CexmcInvalidTrackId; + targetTPOutputParticle.trackId = CexmcInvalidTrackId; + targetTPNucleusParticle.trackId = CexmcInvalidTrackId; + targetTPOutputParticleDecayProductParticle[ 0 ].trackId = + CexmcInvalidTrackId; + targetTPOutputParticleDecayProductParticle[ 1 ].trackId = + CexmcInvalidTrackId; + vetoCounterTPLeft.trackId = CexmcInvalidTrackId; + vetoCounterTPRight.trackId = CexmcInvalidTrackId; + calorimeterTPLeft.trackId = CexmcInvalidTrackId; + calorimeterTPRight.trackId = CexmcInvalidTrackId; + hasTriggered = false; +} + + +void CexmcTrackPointsDigitizer::Digitize( void ) +{ + InitializeData(); + + G4int nCrystalsInColumn( calorimeterGeometry.nCrystalsInColumn ); + G4int nCrystalsInRow( calorimeterGeometry.nCrystalsInRow ); + G4double crystalWidth( calorimeterGeometry.crystalWidth ); + G4double crystalHeight( calorimeterGeometry.crystalHeight ); + + G4DigiManager * digiManager( G4DigiManager::GetDMpointer() ); + G4int hcId( digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcMonitorDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcTPDetector ] ) ); + const CexmcTrackPointsCollection * + hitsCollection( static_cast< const CexmcTrackPointsCollection* >( + digiManager->GetHitsCollection( hcId ) ) ); + + if ( hitsCollection ) + { + for ( std::map< G4int, CexmcTrackPointInfo* >::iterator + k( hitsCollection->GetMap()->begin() ); + k != hitsCollection->GetMap()->end(); ++k ) + { + monitorTP = *k->second; + break; + } + } + + hcId = digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcTargetDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcTPDetector ] ); + hitsCollection = static_cast< const CexmcTrackPointsCollection* >( + digiManager->GetHitsCollection( hcId ) ); + + if ( hitsCollection ) + { + for ( std::map< G4int, CexmcTrackPointInfo* >::iterator + k( hitsCollection->GetMap()->begin() ); + k != hitsCollection->GetMap()->end(); ++k ) + { + do + { + if ( k->second->trackType == CexmcBeamParticleTrack ) + { + targetTPBeamParticle = *k->second; + break; + } + if ( k->second->trackType == CexmcOutputParticleTrack ) + { + targetTPOutputParticle = *k->second; + hasTriggered = targetTPOutputParticle.IsValid(); + break; + } + if ( k->second->trackType == CexmcNucleusParticleTrack ) + { + targetTPNucleusParticle = *k->second; + break; + } + if ( k->second->trackType == + CexmcOutputParticleDecayProductTrack ) + { + /* NB: if there are more than 2 output particle's decay + * products then the chosen particles may differ from those + * which entered calorimeters; however this is not a + * critical issue as far as information about decay products + * is not necessary in reconstruction and only used in some + * histograming */ + G4int index( + targetTPOutputParticleDecayProductParticle[ 0 ]. + trackId > 0 ? 1 : 0 ); + targetTPOutputParticleDecayProductParticle[ index ] = + *k->second; + break; + } + } while ( false ); + } + } + + hcId = digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcVetoCounterDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcTPDetector ] ); + hitsCollection = static_cast< const CexmcTrackPointsCollection* >( + digiManager->GetHitsCollection( hcId ) ); + + if ( hitsCollection ) + { + for ( std::map< G4int, CexmcTrackPointInfo* >::iterator + k( hitsCollection->GetMap()->begin() ); + k != hitsCollection->GetMap()->end(); ++k ) + { + if ( k->second->trackType != CexmcOutputParticleDecayProductTrack ) + continue; + + G4int index( k->first ); + CexmcSide side( CexmcTrackPointsInLeftRightSet::GetSide( + index ) ); + switch ( side ) + { + case CexmcLeft : + vetoCounterTPLeft = *k->second; + break; + case CexmcRight : + vetoCounterTPRight = *k->second; + break; + default : + break; + } + } + } + + hcId = digiManager->GetHitsCollectionID( + CexmcDetectorRoleName[ CexmcCalorimeterDetectorRole ] + + "/" + CexmcDetectorTypeName[ CexmcTPDetector ] ); + hitsCollection = static_cast< const CexmcTrackPointsCollection* >( + digiManager->GetHitsCollection( hcId ) ); + + if ( hitsCollection ) + { + for ( std::map< G4int, CexmcTrackPointInfo* >::iterator + k( hitsCollection->GetMap()->begin() ); + k != hitsCollection->GetMap()->end(); ++k ) + { + if ( k->second->trackType != CexmcOutputParticleDecayProductTrack ) + continue; + + G4int index( k->first ); + CexmcSide side( CexmcTrackPointsInLeftRightSet::GetSide( + index ) ); + G4int row( CexmcTrackPointsInCalorimeter::GetRow( index ) ); + G4int column( CexmcTrackPointsInCalorimeter::GetColumn( + index ) ); + G4double xInCalorimeterOffset( + ( G4double( column ) - G4double( nCrystalsInRow ) / 2 ) * + crystalWidth + crystalWidth / 2 ); + G4double yInCalorimeterOffset( + ( G4double( row ) - G4double( nCrystalsInColumn ) / 2 ) * + crystalHeight + crystalHeight / 2 ); + switch ( side ) + { + case CexmcLeft : + calorimeterTPLeft = *k->second; + calorimeterTPLeft.positionLocal.setX( xInCalorimeterOffset + + calorimeterTPLeft.positionLocal.x() ); + calorimeterTPLeft.positionLocal.setY( yInCalorimeterOffset + + calorimeterTPLeft.positionLocal.y() ); + break; + case CexmcRight : + calorimeterTPRight = *k->second; + calorimeterTPRight.positionLocal.setX( xInCalorimeterOffset + + calorimeterTPRight.positionLocal.x() ); + calorimeterTPRight.positionLocal.setY( yInCalorimeterOffset + + calorimeterTPRight.positionLocal.y() ); + break; + default : + break; + } + } + } +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsFilter.cc b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsFilter.cc new file mode 100644 index 0000000000..da66ca5952 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsFilter.cc @@ -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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcTrackPointsFilter.cc + * + * Description: track points of interest + * + * Version: 1.0 + * Created: 16.11.2009 22:29:32 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include "CexmcTrackPointsFilter.hh" +#include "CexmcTrackInfo.hh" +#include "CexmcCommon.hh" + + +CexmcTrackPointsFilter::CexmcTrackPointsFilter( const G4String & name ) : + G4VSDFilter( name ) +{ +} + + +G4bool CexmcTrackPointsFilter::Accept( const G4Step * step ) const +{ + G4Track * track( step->GetTrack() ); + CexmcTrackInfo * trackInfo( static_cast< CexmcTrackInfo * >( + track->GetUserInformation() ) ); + + if ( ! trackInfo ) + return false; + + return trackInfo->GetTrackType() != CexmcInsipidTrack; +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsInCalorimeter.cc b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsInCalorimeter.cc new file mode 100644 index 0000000000..1c6fb018e4 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsInCalorimeter.cc @@ -0,0 +1,125 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcTrackPointsInCalorimeter.cc + * + * Description: track points in calorimeter + * + * Version: 1.0 + * Created: 22.11.2009 21:59:43 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include +#include +#include "CexmcTrackPointsInCalorimeter.hh" +#include "CexmcSetup.hh" + + +G4int CexmcTrackPointsInCalorimeter::copyDepth0BitsOffset( 8 ); +G4int CexmcTrackPointsInCalorimeter::copyDepth1BitsOffset( 16 ); + + +CexmcTrackPointsInCalorimeter::CexmcTrackPointsInCalorimeter( + const G4String & name, const CexmcSetup * setup ) : + CexmcTrackPointsInLeftRightSet( name, setup ) +{ +} + + +G4int CexmcTrackPointsInCalorimeter::GetIndex( G4Step * step ) +{ + G4int ret( GetTrackId( step ) ); + G4StepPoint * preStep( step->GetPreStepPoint() ); + const G4VTouchable * touchable( preStep->GetTouchable() ); + const G4NavigationHistory * navHistory( touchable->GetHistory() ); + G4int navDepth( navHistory->GetDepth() ); + G4VPhysicalVolume * pVolume( navHistory->GetVolume( + navDepth - 2 ) ); + + if ( setup->IsRightCalorimeter( pVolume ) ) + ret |= 1 << leftRightBitsOffset; + + ret |= touchable->GetReplicaNumber( 0 ) << copyDepth0BitsOffset; + ret |= touchable->GetReplicaNumber( 1 ) << copyDepth1BitsOffset; + + return ret; +} + + +void CexmcTrackPointsInCalorimeter::PrintAll( void ) +{ + G4int nmbOfEntries( eventMap->entries() ); + + if ( nmbOfEntries == 0 ) + return; + + G4cout << " --- MultiFunctionalDet " << detector->GetName() << G4endl; + G4cout << " PrimitiveScorer " << GetName() << G4endl; + G4cout << " Number of entries " << nmbOfEntries << G4endl; + + for( std::map< G4int, CexmcTrackPointInfo* >::iterator + itr( eventMap->GetMap()->begin() ); + itr != eventMap->GetMap()->end(); ++itr ) + { + G4bool isRightDetector( itr->first >> leftRightBitsOffset ); + G4int index( itr->first & + ( ( 1 << ( leftRightBitsOffset - 1 ) ) | + ( ( 1 << ( leftRightBitsOffset - 1 ) ) - 1 ) ) ); + G4int copyDepth1( index >> copyDepth1BitsOffset ); + index &= ( 1 << ( copyDepth1BitsOffset - 1 ) ) | + ( ( 1 << ( copyDepth1BitsOffset - 1 ) ) - 1 ); + G4int copyDepth0( index >> copyDepth0BitsOffset ); + G4int trackId( index & + ( ( 1 << ( copyDepth0BitsOffset - 1 ) ) | + ( ( 1 << ( copyDepth0BitsOffset - 1 ) ) - 1 ) ) ); + const G4String detectorSide( isRightDetector ? "right" : "left" ); + G4cout << " " << detectorSide << " detector, row " << + copyDepth1 << ", column " << copyDepth0 << G4endl; + G4cout << " , track id " << trackId << G4endl; + G4cout << " , position: " << + G4BestUnit( itr->second->positionLocal, "Length" ) << G4endl; + G4cout << " , direction: " << + itr->second->directionLocal << G4endl; + G4cout << " , momentum: " << + G4BestUnit( itr->second->momentumAmp, "Energy" ) << G4endl; + G4cout << " , particle: " + << itr->second->particle->GetParticleName() << G4endl; + } +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsInLeftRightSet.cc b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsInLeftRightSet.cc new file mode 100644 index 0000000000..4cc09045bd --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcTrackPointsInLeftRightSet.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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcTrackPointsInLeftRightSet.cc + * + * Description: track points in left/right detector sets + * (e.g. veto counters and calorimeters) + * + * Version: 1.0 + * Created: 22.11.2009 21:15:57 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include +#include "CexmcTrackPointsInLeftRightSet.hh" +#include "CexmcSetup.hh" + + +G4int CexmcTrackPointsInLeftRightSet::leftRightBitsOffset( 24 ); + + +CexmcTrackPointsInLeftRightSet::CexmcTrackPointsInLeftRightSet( + const G4String & name, const CexmcSetup * setup ) : + CexmcTrackPoints( name ), setup( setup ) +{ +} + + +G4int CexmcTrackPointsInLeftRightSet::GetIndex( G4Step * step ) +{ + G4int ret( GetTrackId( step ) ); + G4StepPoint * preStep( step->GetPreStepPoint() ); + G4VPhysicalVolume * pVolume( preStep->GetPhysicalVolume() ); + + if ( setup->IsRightDetector( pVolume ) ) + ret |= 1 << leftRightBitsOffset; + + return ret; +} + + +void CexmcTrackPointsInLeftRightSet::PrintAll( void ) +{ + G4int nmbOfEntries( eventMap->entries() ); + + if ( nmbOfEntries == 0 ) + return; + + G4cout << " --- MultiFunctionalDet " << detector->GetName() << G4endl; + G4cout << " PrimitiveScorer " << GetName() << G4endl; + G4cout << " Number of entries " << nmbOfEntries << G4endl; + + for( std::map< G4int, CexmcTrackPointInfo* >::iterator + itr( eventMap->GetMap()->begin() ); + itr != eventMap->GetMap()->end(); ++itr ) + { + G4bool isRightDetector( itr->first >> leftRightBitsOffset ); + const G4String detectorSide( isRightDetector ? "right" : "left" ); + G4int trackId( itr->first & + ( ( 1 << ( leftRightBitsOffset - 1 ) ) | + ( ( 1 << ( leftRightBitsOffset - 1 ) ) - 1 ) ) ); + G4cout << " " << detectorSide << " detector" << G4endl; + G4cout << " , track id " << trackId << G4endl; + G4cout << " , position: " << + G4BestUnit( itr->second->positionLocal, "Length" ) << G4endl; + G4cout << " , direction: " << + itr->second->directionLocal << G4endl; + G4cout << " , momentum: " << + G4BestUnit( itr->second->momentumAmp, "Energy" ) << G4endl; + G4cout << " , particle: " << + itr->second->particle->GetParticleName() << G4endl; + } +} + diff --git a/examples/advanced/ChargeExchangeMC/src/CexmcTrackingAction.cc b/examples/advanced/ChargeExchangeMC/src/CexmcTrackingAction.cc new file mode 100644 index 0000000000..b4f3092ff9 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/src/CexmcTrackingAction.cc @@ -0,0 +1,177 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +/* + * ============================================================================ + * + * Filename: CexmcTrackingAction.cc + * + * Description: tracking action + * + * Version: 1.0 + * Created: 22.11.2009 18:22:22 + * Revision: none + * Compiler: gcc + * + * Author: Alexey Radkov (), + * Company: PNPI + * + * ============================================================================ + */ + +#include +#include +#include +#include +#include "CexmcTrackingAction.hh" +#include "CexmcTrackInfo.hh" +#include "CexmcIncidentParticleTrackInfo.hh" +#include "CexmcProductionModel.hh" +#include "CexmcPhysicsManager.hh" +#include "CexmcSetup.hh" +#include "CexmcException.hh" +#include "CexmcCommon.hh" + + +CexmcTrackingAction::CexmcTrackingAction( + CexmcPhysicsManager * physicsManager ) : + physicsManager( physicsManager ), targetVolume( NULL ), + outputParticleTrackId( CexmcInvalidTrackId ), + outputParticleDecayProductCopyNumber( 0 ), incidentParticle( NULL ), + outputParticle( NULL ), nucleusOutputParticle( NULL ) +{ + CexmcProductionModel * productionModel( + physicsManager->GetProductionModel() ); + if ( ! productionModel ) + throw CexmcException( CexmcWeirdException ); + + incidentParticle = productionModel->GetIncidentParticle(); + outputParticle = productionModel->GetOutputParticle(); + nucleusOutputParticle = productionModel->GetNucleusOutputParticle(); + + if ( ! incidentParticle || ! outputParticle || ! nucleusOutputParticle ) + throw CexmcException( CexmcIncompleteProductionModel ); + + G4RunManager * runManager( G4RunManager::GetRunManager() ); + const CexmcSetup * setup( static_cast< const CexmcSetup * >( + runManager->GetUserDetectorConstruction() ) ); + targetVolume = setup->GetVolume( CexmcSetup::Target ); +} + + +void CexmcTrackingAction::PreUserTrackingAction( const G4Track * track ) +{ + CexmcTrackInfo * trackInfo( static_cast< CexmcTrackInfo * >( + track->GetUserInformation() ) ); + + if ( trackInfo ) + return; + + G4Track * theTrack( const_cast< G4Track * >( track ) ); + + do + { + if ( track->GetParentID() == 0 ) + { + if ( *track->GetDefinition() == *incidentParticle ) + { + trackInfo = new CexmcIncidentParticleTrackInfo( + CexmcBeamParticleTrack ); + theTrack->SetUserInformation( trackInfo ); + SetupIncidentParticleTrackInfo( track ); + } + else + { + trackInfo = new CexmcTrackInfo( CexmcBeamParticleTrack ); + } + break; + } + + if ( track->GetCreatorProcess()->GetProcessName() == + CexmcStudiedProcessFullName ) + { + do + { + if ( *track->GetDefinition() == *outputParticle ) + { + outputParticleTrackId = track->GetTrackID(); + trackInfo = new CexmcTrackInfo( CexmcOutputParticleTrack ); + break; + } + if ( *track->GetDefinition() == *nucleusOutputParticle ) + { + trackInfo = new CexmcTrackInfo( CexmcNucleusParticleTrack ); + break; + } + } while ( false ); + break; + } + + if ( track->GetParentID() == outputParticleTrackId ) + { + trackInfo = new CexmcTrackInfo( + CexmcOutputParticleDecayProductTrack, + outputParticleDecayProductCopyNumber++ ); + break; + } + + if ( *track->GetDefinition() == *incidentParticle ) + { + if ( physicsManager->OnlyBeamParticleCanTriggerStudiedProcess() ) + break; + trackInfo = new CexmcIncidentParticleTrackInfo( CexmcInsipidTrack ); + theTrack->SetUserInformation( trackInfo ); + SetupIncidentParticleTrackInfo( track ); + break; + } + } while ( false ); + + if ( ! trackInfo ) + return; + + if ( ! track->GetUserInformation() ) + theTrack->SetUserInformation( trackInfo ); +} + + +void CexmcTrackingAction::SetupIncidentParticleTrackInfo( + const G4Track * track ) +{ + CexmcIncidentParticleTrackInfo * trackInfo( + static_cast< CexmcIncidentParticleTrackInfo * >( + track->GetUserInformation() ) ); + + if ( ! trackInfo ) + return; + + G4VPhysicalVolume * volume( track->GetVolume() ); + + if ( volume && volume->GetLogicalVolume() == targetVolume ) + { + physicsManager->ResampleTrackLengthInTarget( track ); + trackInfo->ActivateStudiedProcess(); + } +} + diff --git a/examples/advanced/ChargeExchangeMC/util/jobprog b/examples/advanced/ChargeExchangeMC/util/jobprog new file mode 100755 index 0000000000..10464767b8 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/util/jobprog @@ -0,0 +1,55 @@ +#!/bin/sh +# shows job progress at gridengine queues + +CEXMC_PREFIX=cexmc_ + +qstat -u $USER + +jobids=`qstat -u $USER | sed '1,2d' | grep $CEXMC_PREFIX | awk '{print $1}'` +jobbasenames=`qstat -u $USER -r | grep 'Full jobname' | grep $CEXMC_PREFIX | \ + awk '{print $3}'` +jobnames="" + +i=1 +for jobbasename in $jobbasenames ; do + jobnames=$jobnames' '$jobbasename.o`echo $jobids | awk "{print \\$$i}"` + (( ++i )) +done + +i=1 +echo --------------- +for job in $jobnames ; do + msgperc="N/A" + fdbsize="N/A" + edbsize="N/A" + countPolicy="" + ordered="" + current="" + if [ -e "$job" ] ; then + countPolicy=`head -120 "$job" | \ + awk '/^\/cexmc\/run\/eventCountPolicy/ {print $2}'` + if [[ -z "$countPolicy" || "$countPolicy" = "all" ]] ; then + ordered=`head -120 "$job" | awk '/^\/run\/beamOn/ {print $2}'` + current=`tail -120 "$job" | grep ^Event | tail -1 | \ + awk '{print $2}'` + fi + fi + if [ -z "$current" ] ; then + current=0 + fi + if [ -n "$ordered" ] ; then + msgperc=$(( current * 100 / ordered ))% + fi + jobbasename=`echo $jobbasenames | awk "{print \\$$i}"` + jobbasename=${jobbasename/$CEXMC_PREFIX/} + jobbasename=${jobbasename/\.job/} + if [ -e $CEXMC_PROJECTS_DIR/$jobbasename.fdb ] ; then + fdbsize=`du -sh $CEXMC_PROJECTS_DIR/$jobbasename.fdb | awk '{print $1}'` + fi + if [ -e $CEXMC_PROJECTS_DIR/$jobbasename.edb ] ; then + edbsize=`du -sh $CEXMC_PROJECTS_DIR/$jobbasename.edb | awk '{print $1}'` + fi + echo $job: $msgperc, fdb: $fdbsize, edb: $edbsize + (( ++i )) +done + diff --git a/examples/advanced/ChargeExchangeMC/util/mkacchist b/examples/advanced/ChargeExchangeMC/util/mkacchist new file mode 100755 index 0000000000..7b6c6d3055 --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/util/mkacchist @@ -0,0 +1,114 @@ +#!/usr/bin/perl + +# Designed to read output of 'cexmc ...-orun...' program +# Usage: ./mkacchist [-real] [macroName] + +my $floatregexp = qr/-?\d+\.\d+/o; +my $col1regexp = qr/\s*(\d+)\s*\[\s*($floatregexp),\s*($floatregexp)\)\s*/o; +my $col2regexp = qr/\s*($floatregexp)\s*\(\s*(\d+)\s*\/\s*(\d+)\s*\)\s*/o; +my $col3regexp = qr/\s*($floatregexp)\s*\(\s*(\d+)\s*\/\s*\d+\s*\/\s*\d+\s*\)/o; +my $accregexp = qr/^$col1regexp\|$col2regexp\|$col3regexp/o; + +my $xMin = 1.5; +my $xMax = -1.5; +my $nOfBins = 0; +my $binWidth = 0; +# 0 - real range, 1 - reconstructed range +my $histoType = shift; +my $macroName = shift; + +$macroName = "" if $macroName eq undef; + +if ( $histoType ne undef ) +{ + if ( $histoType eq "-real" ) + { + $histoType = 0; + } + else + { + $macroName = $histoType; + $histoType = 1; + } +} +else +{ + $histoType = 1; +} + +my @histoData; +my @histoErrors; + +$histoData[ 0 ] = 0; +$histoErrors[ 0 ] = 0; + + +sub calculateError +{ + my ( $a, $b ) = @_; + + return 0 if $a == 0 || $b == 0; + return sqrt( 1 / $a + 1 / $b ) * $a / $b; +} + + +while ( <> ) +{ + next unless /$accregexp/; + + $xMin = $3 if $3 < $xMin; + $xMax = $2 if $2 > $xMax; + ++$nOfBins; + if ( $binWidth == 0 ) + { + $binWidth = $2 - $3; + } + else + { + my $newBinWidth = $2 - $3; + my $epsilon = 0.00001; + warn "Current bin width is $binWidth, new is $newBinWidth" + if abs( $newBinWidth - $binWidth ) > $epsilon; + } + + if ( $histoType == 0 ) + { + push @histoData, $4; + push @histoErrors, calculateError( $5, $6 ); + } + else + { + push @histoData, $7; + push @histoErrors, calculateError( $8, $6 ); + } +} + +die "Corrupted input" if $nOfBins == 0; + +push @histoData, 0; +push @histoErrors, 0; + +my @histoDataReversed = reverse @histoData; +my @histoErrorsReversed = reverse @histoErrors; + +$" = ","; + +print << "MACRO"; + +TH1 * mkacchist$macroName() +{ + Double_t histoData[] = { @histoDataReversed }; + Double_t histoErrors[] = { @histoErrorsReversed }; + + TH1 * result = new TH1F( "acc$macroName", "Setup acceptances $macroName", + $nOfBins, $xMin, $xMax ); + + result->SetContent( histoData ); + result->SetError( histoErrors ); + + return result; +} + + +MACRO + diff --git a/examples/advanced/ChargeExchangeMC/util/mkjob b/examples/advanced/ChargeExchangeMC/util/mkjob new file mode 100755 index 0000000000..8b99b0d4de --- /dev/null +++ b/examples/advanced/ChargeExchangeMC/util/mkjob @@ -0,0 +1,42 @@ +#!/usr/bin/perl + +use Getopt::Std; + +our $PreinitMacroDef = "preinit.mac"; +our $InitMacroDef = "init.mac"; +our $OverrideOpt = ""; + +sub PrintUsage +{ + print "Usage: [-p preinit_macro] [-m init_macro] job_id\n"; + print "\tDefault preinit_macro is '$PreinitMacroDef', "; + print "init_macro is '$InitMacroDef'\n"; + print "\tUse '-y' to override existing project\n"; +} + +sub VERSION_MESSAGE +{ + PrintUsage; + exit 0; +} + +getopts( "m:p:y" ); + +unless ( $ARGV[ 0 ] ) +{ + PrintUsage; + exit 1; +} + +$opt_p ||= $PreinitMacroDef; +$opt_m ||= $InitMacroDef; +$OverrideOpt = "-y" if $opt_y; + +open ( JOBFILE, "> cexmc_$ARGV[ 0 ].job" ) or die $!; +print JOBFILE "#!/bin/sh\n"; +print JOBFILE "CEXMC_PROJECTS_DIR=" . $ENV{ 'CEXMC_PROJECTS_DIR' } . "\n"; +print JOBFILE "PATH=" . $ENV{ 'PATH' } . "\n"; +print JOBFILE "LD_LIBRARY_PATH=" . $ENV{ 'LD_LIBRARY_PATH' } . "\n"; +print JOBFILE "cexmc -p$opt_p -m$opt_m $OverrideOpt -w$ARGV[ 0 ]\n"; + +close (JOBFILE) or die $!; diff --git a/examples/advanced/GNUmakefile b/examples/advanced/GNUmakefile index 98415aeed8..3f93b4ecf7 100644 --- a/examples/advanced/GNUmakefile +++ b/examples/advanced/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.7 2009/11/20 16:17:52 gcosmo Exp $ +# $Id: GNUmakefile,v 1.8 2010/11/29 10:38:17 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -14,6 +14,7 @@ SUBDIRS += brachytherapy hadrontherapy medical_linac SUBDIRS += purging_magnet radioprotection human_phantom SUBDIRS += air_shower microbeam microdosimetry nanobeam SUBDIRS += Rich composite_calorimeter lAr_calorimeter +SUBDIRS += amsEcal ChargeExchangeMC eRosita .PHONY : all clean clean_libs diff --git a/examples/advanced/README b/examples/advanced/README index ff2c966efa..2098accb21 100644 --- a/examples/advanced/README +++ b/examples/advanced/README @@ -1,4 +1,4 @@ -$Id: README,v 1.2 2001/10/23 15:09:27 gcosmo Exp $ +$Id: README,v 1.3 2009/11/18 15:34:16 cirrone Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,5 @@ third party products for handling of the data produced (visualization, analysis or persistency tools). Refer to the README and documentation provided in each example for the details. These application are made part of the official GEANT4 distribution, however -their maintenance and updates is under responsibility of the authors. These -applications are not subject to regular system testing. +their maintenance and updates is under responsibility of the authors. diff --git a/examples/advanced/Rich/GNUmakefile b/examples/advanced/Rich/GNUmakefile index 314e566e90..ad65af7673 100644 --- a/examples/advanced/Rich/GNUmakefile +++ b/examples/advanced/Rich/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2009/03/06 09:39:58 gbarrand Exp $ +# $Id: GNUmakefile,v 1.3 2010/01/11 14:24:55 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif ifdef G4ANALYSIS_USE diff --git a/examples/advanced/Rich/History b/examples/advanced/Rich/History index ce2970a3ed..8128314c61 100644 --- a/examples/advanced/Rich/History +++ b/examples/advanced/Rich/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.16 2009/11/12 13:09:56 ribon Exp $ +$Id: History,v 1.20 2010/11/18 16:54:23 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,22 @@ $Id: History,v 1.16 2009/11/12 13:09:56 ribon Exp $ Category History file --------------------- +18.11.2010 - J.Allison (Rich-V09-03-03) + RichTbSim.cc: Tidied up use of G4UIExecutive. + RichTbVis0.mac, macro/gui.mac: Improved. + +03.06.2010 - J.Perl (Rich-V09-03-02) + Updated vis usage + +01.06.2010 - G.A.P.Cirrone (Rich-V09-03-01) + Added G4UIExecutive + +31.03.2010 - A.Ribon (Rich-V09-03-00) + Replaced obsolete G4MultipleScattering class with: + G4eMultipleScattering for e+ and e-; + G4MuMultipleScattering for mu+ and mu-; + G4hMultipleScattering for hadrons and ions. + 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 diff --git a/examples/advanced/Rich/README b/examples/advanced/Rich/README index e95ae169ec..29c1cdcc97 100644 --- a/examples/advanced/Rich/README +++ b/examples/advanced/Rich/README @@ -58,12 +58,9 @@ A RUN is a set of events. -------------------- The Visualization manager is set in the main(). -The Initialisation of the drawing is already defined in run1.mac. -The example is prepared to use any other visualization packages which -can be defined in such macro or inside RichTbVis0.mac. Before running -the events, the visualization must be initialized by: +Before running events, the visualization must be initialized by: -> /control/execute/RichTbVis0.mac +> /control/execute/vis.mac The detector has longitudinal view of the geometry as default. diff --git a/examples/advanced/Rich/RichTbSim.cc b/examples/advanced/Rich/RichTbSim.cc index cb9c64e1c1..eb9b5eb8ce 100644 --- a/examples/advanced/Rich/RichTbSim.cc +++ b/examples/advanced/Rich/RichTbSim.cc @@ -42,19 +42,17 @@ #include "RichTbRunConfig.hh" #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 +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #include "G4ios.hh" #include @@ -122,43 +120,39 @@ int main(int argc,char** argv) { runManager->SetUserAction(new RichTbTrackingAction); - G4UImanager* UI = G4UImanager::GetUIpointer(); - - G4UIsession* session=0; - //Initialize G4 kernel runManager -> Initialize(); - if(argc==1){ - - session = new G4UIterminal; - } - - if (session){ // Interactive mode - - UI->ApplyCommand("/run/verbose 0"); - UI->ApplyCommand("/event/verbose 0"); - UI->ApplyCommand("/tracking/verbose 0"); - UI->ApplyCommand("/particle/process/verbose 0"); - - session->SessionStart(); - delete session; + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + if (argc==1) { // Interactive mode +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + UImanager->ApplyCommand("/run/verbose 0"); + UImanager->ApplyCommand("/event/verbose 0"); + UImanager->ApplyCommand("/tracking/verbose 0"); + UImanager->ApplyCommand("/particle/process/verbose 0"); + UImanager->ApplyCommand("/control/execute RichTbVis0.mac"); + if (ui->IsGUI()) + UImanager->ApplyCommand("/control/execute macro/gui.mac"); + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { - G4UImanager * UI = G4UImanager::GetUIpointer(); + G4UImanager * UImanager = G4UImanager::GetUIpointer(); G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } + #ifdef G4VIS_USE delete visManager; G4cout << "\nVisManager deleted..\n" < /control/execute RichTbVis0.mac # -# # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, # -# DAWN (version 3.80 or after) # -# gv (Ghostview), Tcl/Tk # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv OGLHOME ... (e.g. /usr/local) # -# % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # -# % setenv G4VIS_BUILD_DAWNFILE_DRIVER 1 # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv G4VIS_USE_OPENGLX 1 # -# % setenv G4VIS_USE_DAWNFILE 1 # -# # -# Addional Notes: # -# The compound command "/vis/open " # -# is equivalent to the following set of commands: # -# # -# /vis/sceneHandler/create $1 # -# /vis/viewer/create # -# # -# The compound command "/vis/drawVolume " # -# is equivalent to the following set of commands: # -# # -# /vis/scene/create # -# /vis/scene/add/volume $1 # -# /vis/sceneHandler/attach # -# /vis/viewer/refresh # -# /vis/viewer/update # -# # -####################################################################### - -############################################## -# Visualization of detector geometry -# with the OGLIX (OpenGL Immediate X) driver -############################################## - -# Invoke the OGLIX driver -#/vis/open OGLIX - -# Set camera -# Note: Camera setting should be done -# for each scene handler. -/vis/camera/reset -/vis/scene/create -#/vis/sceneHandler/create OGLIX -#/vis/sceneHandler/create DAWNFILE -#/vis/sceneHandler/create OGLSXm -/vis/open DAWNFILE -/vis/open OGLIX -/vis/viewer/create -/vis/scene/add/volume -#/vis/camera/viewpoint 0 0 - -/vis/camera/viewpoint -90 -90 -#/vis/camera/viewpoint 270 0 -/vis/camera/zoom 0.8 -#/vis/camera/spin 20 10 - -# Visualize of the whole detector geometry +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: /vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi -90. -90. +/vis/viewer/set/upVector 1 0 0 +#/vis/camera/viewpoint 270 0 +# +# Specify zoom value: +/vis/viewer/zoom 0.8 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# /vis/viewer/update @@ -85,7 +74,3 @@ - - - - diff --git a/examples/advanced/Rich/macro/gui.mac b/examples/advanced/Rich/macro/gui.mac index 33007a4e87..25e8f6f40a 100644 --- a/examples/advanced/Rich/macro/gui.mac +++ b/examples/advanced/Rich/macro/gui.mac @@ -10,22 +10,19 @@ # # Run menu : /gui/addMenu run Run -/gui/addButton run run1 "/control/execute ../macro/run1.mac" +/gui/addButton run run1 "/control/execute run1.mac" # # Vis menu : /gui/addMenu vis Vis -/gui/addButton vis Vis0 "/control/execute ../macro/RichTbVis0.mac" +/gui/addButton vis Vis0 "/control/execute RichTbVis0.mac" # #Setup driver Menu: -/gui/addMenu setup Setup -# /gui/addButton setup Init "/control/execute ../macro/InitRichTb.mac" -/gui/addButton setup opgl "/control/execute ../macro/SetupOpenGL.mac" -/gui/addButton setup dawn "/control/execute ../macro/SetupDawn.mac" -# -# To limit the output flow in the "dump" widget : -/event/printModulo 100 +#/gui/addMenu setup Setup +#/gui/addButton setup Init "/control/execute ../macro/InitRichTb.mac" +#/gui/addButton setup opgl "/control/execute ../macro/SetupOpenGL.mac" +#/gui/addButton setup dawn "/control/execute ../macro/SetupDawn.mac" diff --git a/examples/advanced/Rich/run1.mac b/examples/advanced/Rich/run1.mac index 00b5ddd331..d441a30cb6 100644 --- a/examples/advanced/Rich/run1.mac +++ b/examples/advanced/Rich/run1.mac @@ -1,9 +1,7 @@ -# $Id: run1.mac,v 1.3 2004/07/15 19:10:02 johna Exp $ +# $Id: run1.mac,v 1.4 2010/06/06 06:24:26 perl Exp $ # # Macro file for "LHCbRichSim.cc" # -#/vis/open OGLIX -# (can be run in batch, without graphic) /control/verbose 2 /control/saveHistory # @@ -12,23 +10,11 @@ #tracking/verbose 5 #process/verbose 4 #particle/process/verbose 4 -#vis/verbose 4 -/vis/scene/create -/vis/sceneHandler/create OGLSXm -/vis/sceneHandler/create OGLIX -/vis/viewer/create -/vis/scene/add/volume - - -/vis/viewer/update - -/vis/viewer/set/viewpointThetaPhi -90. -90. /hits/list /hits/activate /hits/verbose 4 /tracking/storeTrajectory 1 -/vis/scene/add/trajectories /gun/particle pi- /gun/energy 10 GeV diff --git a/examples/advanced/Rich/src/RichTbEventAction.cc b/examples/advanced/Rich/src/RichTbEventAction.cc index 014aa2d101..765277c9c5 100644 --- a/examples/advanced/Rich/src/RichTbEventAction.cc +++ b/examples/advanced/Rich/src/RichTbEventAction.cc @@ -119,25 +119,6 @@ void RichTbEventAction::EndOfEventAction(const G4Event* evt) // G4cout << " " << n_hit // << " hits are stored in RichTbHitsCollection." << G4endl; } - if(RConfig->getRichTbDrawTrajectory() > 0) - { - for (G4int i=0; iGetTrajectoryContainer()))[i]->DrawTrajectory(); - } - } - - //now for the hits. - - if(RHC) - { - G4int n_hith = RHC->entries(); - for (G4int ih=0; ihDrawWithVisM(pVisManager); - } - } //Now to Fill the Histograms diff --git a/examples/advanced/Rich/src/RichTbPhysicsList.cc b/examples/advanced/Rich/src/RichTbPhysicsList.cc index 8f6fe0fc6e..3f60dbf7d0 100644 --- a/examples/advanced/Rich/src/RichTbPhysicsList.cc +++ b/examples/advanced/Rich/src/RichTbPhysicsList.cc @@ -160,7 +160,14 @@ void RichTbPhysicsList::ConstructGeneral() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +// A.R. 31-Mar-2010 : Replaced obsolete G4MultipleScattering with: +// - G4eMultipleScattering for e+ and e-; +// - G4MuMultipleScattering for mu+ and mu-; +// - G4hMultipleScattering for hadrons and ions. +//#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -187,32 +194,31 @@ void RichTbPhysicsList::ConstructEM() 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); + //A.R. 31-Mar-2010 : replaced G4MultipleScattering with G4eMultipleScattering. + 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); + // A.R. 31-Mar-2010 : replaced G4MultipleScattering with G4eMultipleScattering. + 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); } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - // Construct processes for muon - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + particleName == "mu-" ) { + // Construct processes for muon + // A.R. 31-Mar-2010 : replaced G4MultipleScattering with G4MuMultipleScattering. + 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,8 +226,9 @@ void RichTbPhysicsList::ConstructEM() } else { if ((particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { - // all others charged particles except geantino - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + // all others charged particles except geantino + // A.R. 31-Mar-2010 : replaced G4MultipleScattering with G4hMultipleScattering. + pmanager->AddProcess(new G4hMultipleScattering(),-1,1,1); pmanager->AddProcess(new G4hIonisation(),-1,2,2); } } diff --git a/examples/advanced/air_shower/GNUmakefile b/examples/advanced/air_shower/GNUmakefile index 5b59fc8fa3..fde9d70928 100644 --- a/examples/advanced/air_shower/GNUmakefile +++ b/examples/advanced/air_shower/GNUmakefile @@ -7,7 +7,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif include $(G4INSTALL)/config/architecture.gmk diff --git a/examples/advanced/air_shower/History b/examples/advanced/air_shower/History index 296cb3ac5c..d22d2e7c86 100644 --- a/examples/advanced/air_shower/History +++ b/examples/advanced/air_shower/History @@ -1,4 +1,4 @@ -$Id: History,v 1.23 2009/11/16 23:45:01 tomezb Exp $ +$Id: History,v 1.25 2010/11/09 14:50:21 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -7,6 +7,12 @@ $Id: History,v 1.23 2009/11/16 23:45:01 tomezb Exp $ History file ------------ +09.11.2010 - J.Allison (air_shower-V09-03-01) + Inroduced G4UIExecutive. + +02.06.2010 - J.Perl (air_shower-V09-03-00) + Updated vis usage + 16.11.2009 -- B. Tomé, Tag air_shower-V09-02-06 Changed UltraPhysicsList.cc to use new processes G4eMultipleScattering, G4MuMultipleScattering diff --git a/examples/advanced/air_shower/Ultra.cc b/examples/advanced/air_shower/Ultra.cc index 11845838fa..58d44c4ac6 100644 --- a/examples/advanced/air_shower/Ultra.cc +++ b/examples/advanced/air_shower/Ultra.cc @@ -38,18 +38,16 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" - -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif - #include "Randomize.hh" #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #include "UltraRunAction.hh" #include "UltraDetectorConstruction.hh" #include "UltraPrimaryGeneratorAction.hh" @@ -95,14 +93,11 @@ int main(int argc,char** argv) { // Define (G)UI for interactive mode if(argc==1) { - // G4UIterminal is a (dumb) terminal. -#ifdef G4UI_USE_XM - G4UIsession* session = new G4UIXm(argc,argv); -#else - G4UIsession* session = new G4UIterminal(); +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; #endif - session->SessionStart(); - delete session; } else // Batch mode diff --git a/examples/advanced/air_shower/Visualisation.mac b/examples/advanced/air_shower/Visualisation.mac index 95fb47f2ec..1263ae4d27 100644 --- a/examples/advanced/air_shower/Visualisation.mac +++ b/examples/advanced/air_shower/Visualisation.mac @@ -2,38 +2,76 @@ /control/verbose 1 /run/verbose 2 # -# create empty scene +# Use this open statement to create an OpenGL view: +#/vis/open OGL 600x600-0+0 # -#/vis/scene/create Space -#/vis/scene/notifyHandlers Space flush -/vis/scene/create -# -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) -# -#/vis/open OGLIX -#/vis/open RayTracer -#/vis/open OGLSX +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: /vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: #/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: #/vis/open VRML2FILE # -/vis/viewer/set/viewpointThetaPhi 90.0 0.0 deg -/vis/viewer/zoom 1. -/vis/viewer/flush -/vis/viewer/set/autoRefresh true +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) -/tracking/storeTrajectory 1 -/tracking/verbose 0 -#/vis/drawView - -/vis/scene/add/trajectories +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate -#/vis/drawVolume +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# /gps/particle opticalphoton /gps/energy 2.0 eV /mysetrun/SetRunID 9999 /run/beamOn 100 - diff --git a/examples/advanced/air_shower/src/UltraEventAction.cc b/examples/advanced/air_shower/src/UltraEventAction.cc index 97daca4614..a33e2be99a 100644 --- a/examples/advanced/air_shower/src/UltraEventAction.cc +++ b/examples/advanced/air_shower/src/UltraEventAction.cc @@ -51,10 +51,6 @@ #include "G4VHitsCollection.hh" #include "G4GeneralParticleSource.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" - #ifdef G4ANALYSIS_USE #include "UltraAnalysisManager.hh" #endif @@ -133,25 +129,6 @@ if(HCE){ UltraAnalysisManager* analysis = UltraAnalysisManager::getInstance(); analysis->FillHistogram(2,nOptHits); #endif - - // Define visualization atributes: - - G4String drawFlag = "all"; - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) - { - 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(); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(); - } - } - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/amsEcal/GNUmakefile b/examples/advanced/amsEcal/GNUmakefile index 4121813121..9137b467ae 100644 --- a/examples/advanced/amsEcal/GNUmakefile +++ b/examples/advanced/amsEcal/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.4 2009/09/18 17:34:54 maire Exp $ +# $Id: GNUmakefile,v 1.5 2010/01/11 14:26:48 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -7,10 +7,8 @@ name := amsEcal G4TARGET := $(name) G4EXLIB := true -#### CPPFLAGS := ${CPPFLAGS} -g - ifndef G4INSTALL - G4INSTALL = ../../../.. + G4INSTALL = ../.. endif .PHONY: all diff --git a/examples/advanced/amsEcal/History b/examples/advanced/amsEcal/History index 83d462ff5a..e6d87d8d43 100644 --- a/examples/advanced/amsEcal/History +++ b/examples/advanced/amsEcal/History @@ -1,4 +1,4 @@ -$Id: History,v 1.16 2009/09/18 17:34:54 maire Exp $ +$Id: History,v 1.19 2010/11/09 23:34:21 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,20 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +09-11-10 M.Asai (amsEcal-V09-03-02) +- Fix AIDA file option. + +03-06-10 J.Perl (amsEcal-V09-03-01) +- Updated vis usage + +22-05-10 mma (amsEcal-V09-03-00) +- amsEcal.cc : introduction of G4UIExecutive + +07-10-09 mma +- DetectorConstruction : + -reduce Pb density to 98% + - change fiberDiameter, layerThickness, layerMilled 18-09-09 mma (amsEcal-V09-02-11) - SteppingAction: correct protection of i1Pixel calculation diff --git a/examples/advanced/amsEcal/amsEcal.cc b/examples/advanced/amsEcal/amsEcal.cc index 028fa7e394..38e869b6f4 100644 --- a/examples/advanced/amsEcal/amsEcal.cc +++ b/examples/advanced/amsEcal/amsEcal.cc @@ -23,16 +23,14 @@ // * 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 $ +// $Id: amsEcal.cc,v 1.3 2010/05/22 21:36:46 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -49,6 +47,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -105,15 +107,12 @@ int main(int argc,char** argv) { visManager->Initialize(); #endif - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; #endif - session->SessionStart(); - delete session; - + #ifdef G4VIS_USE delete visManager; #endif diff --git a/examples/advanced/amsEcal/geantino.mac b/examples/advanced/amsEcal/geantino.mac index 12200ea918..db85962ff5 100644 --- a/examples/advanced/amsEcal/geantino.mac +++ b/examples/advanced/amsEcal/geantino.mac @@ -1,4 +1,4 @@ -# $Id: geantino.mac,v 1.4 2009/06/26 14:21:17 maire Exp $ +# $Id: geantino.mac,v 1.5 2010/05/22 21:36:46 maire Exp $ # # Macro file for "amsEcal.cc" # @@ -11,9 +11,9 @@ # /ams/gun/setDefault /gun/particle geantino -/ams/gun/beam 6 mm # +- 0.5*beam +/ams/gun/beam 10 mm # +- 0.5*beam # -/ams/histo/setFileName nradl/nradl.milled +/ams/histo/setFileName nradl/nradl.g3geom /ams/histo/setFileType hbook # /ams/histo/setHisto 5 100 12. 22. none diff --git a/examples/advanced/amsEcal/mips.mac b/examples/advanced/amsEcal/mips.mac index da4b736443..55bcba0c55 100644 --- a/examples/advanced/amsEcal/mips.mac +++ b/examples/advanced/amsEcal/mips.mac @@ -1,4 +1,4 @@ -# $Id: mips.mac,v 1.3 2009/06/18 12:43:04 maire Exp $ +# $Id: mips.mac,v 1.4 2010/05/22 21:36:46 maire Exp $ # # Macro file for "amsEcal.cc" # (can be run in batch, without graphic) @@ -18,7 +18,6 @@ # /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 diff --git a/examples/advanced/amsEcal/run1.out b/examples/advanced/amsEcal/run1.out index 6a8dec0141..2499c6e3d6 100644 --- a/examples/advanced/amsEcal/run1.out +++ b/examples/advanced/amsEcal/run1.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,18 +13,18 @@ ***** 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 + Material: Lead density: 10.976 g/cm3 RadL: 5.803 mm Nucl.Int.Length: 18.881 cm Imean: 823.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 + Material: Scintillator density: 1.032 g/cm3 RadL: 42.438 cm Nucl.Int.Length: 70.748 cm Imean: 65.944 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204322111.300 pc Nucl.Int.Length: 114334693.470 pc Imean: 19.200 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 % @@ -39,16 +39,16 @@ 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 is 1.73 mm thickness of Lead ---> A Layer includes 490 fibers of Scintillator - ---> diameter : 1.08 mm + ---> diameter : 1.13 mm ---> length : 66.285 cm ---> distance : 1.35 mm - ---> The milled Layer is 1.4 mm thickness of Lead + ---> The milled Layer is 1 mm thickness of Lead - ---> Module thickness 1.82 cm + ---> Module thickness 1.83 cm - ---> Total calor thickness 16.38 cm + ---> Total calor thickness 16.47 cm Tranverse size 66.285 cm ------------------------------------------------------------- @@ -148,21 +148,21 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=26.57s Real=26.79s Sys=0.23s + User=21.66s Real=22.38s Sys=0.31s ------------------------------------------------------------- ---> The calorimeter is 9 Modules ---> A Module is 10 Layers + 1 milled Layer - ---> A Layer is 1.68 mm thickness of Lead + ---> A Layer is 1.73 mm thickness of Lead ---> A Layer includes 490 fibers of Scintillator - ---> diameter : 1.08 mm + ---> diameter : 1.13 mm ---> length : 66.285 cm ---> distance : 1.35 mm - ---> The milled Layer is 1.4 mm thickness of Lead + ---> The milled Layer is 1 mm thickness of Lead - ---> Module thickness 1.82 cm + ---> Module thickness 1.83 cm - ---> Total calor thickness 16.38 cm + ---> Total calor thickness 16.47 cm Tranverse size 66.285 cm ------------------------------------------------------------- @@ -171,34 +171,34 @@ Run Summary 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 %) + layer 0: 794.77 keV +- 1.635 MeV (2.1e+02 %) 9.2941 MeV +- 5.967 MeV ( 64 %) + layer 1: 799.3 keV +- 1.58 MeV (2e+02 %) 8.0414 MeV +- 4.459 MeV ( 55 %) + layer 2: 808.1 keV +- 1.781 MeV (2.2e+02 %) 8.5798 MeV +- 5.469 MeV ( 64 %) + layer 3: 835.26 keV +- 2.077 MeV (2.5e+02 %) 8.2315 MeV +- 5.701 MeV ( 69 %) + layer 4: 799.55 keV +- 1.788 MeV (2.2e+02 %) 8.6196 MeV +- 5.654 MeV ( 66 %) + layer 5: 766.36 keV +- 1.312 MeV (1.7e+02 %) 8.0902 MeV +- 5.204 MeV ( 64 %) + layer 6: 826.09 keV +- 1.919 MeV (2.3e+02 %) 8.5247 MeV +- 5.39 MeV ( 63 %) + layer 7: 807.62 keV +- 1.578 MeV (2e+02 %) 8.0766 MeV +- 4.654 MeV ( 58 %) + layer 8: 804.14 keV +- 1.698 MeV (2.1e+02 %) 8.5152 MeV +- 5.255 MeV ( 62 %) + layer 9: 770.84 keV +- 1.263 MeV (1.6e+02 %) 8.15 MeV +- 4.937 MeV ( 61 %) + layer 10: 795.93 keV +- 1.463 MeV (1.8e+02 %) 8.4826 MeV +- 5.07 MeV ( 60 %) + layer 11: 795.58 keV +- 1.71 MeV (2.1e+02 %) 8.1859 MeV +- 5.36 MeV ( 65 %) + layer 12: 777.22 keV +- 1.081 MeV (1.4e+02 %) 8.5258 MeV +- 5.224 MeV ( 61 %) + layer 13: 766.36 keV +- 1.06 MeV (1.4e+02 %) 8.0993 MeV +- 4.621 MeV ( 57 %) + layer 14: 801.01 keV +- 1.41 MeV (1.8e+02 %) 7.6441 MeV +- 4.834 MeV ( 63 %) + layer 15: 805.48 keV +- 1.617 MeV (2e+02 %) 8.9942 MeV +- 5.078 MeV ( 56 %) + layer 16: 797.77 keV +- 1.643 MeV (2.1e+02 %) 8.4518 MeV +- 4.971 MeV ( 59 %) + layer 17: 791.97 keV +- 1.519 MeV (1.9e+02 %) 7.4148 MeV +- 4.447 MeV ( 60 %) - total calor : 13.074 MeV +- 6.781 MeV ( 52 %) 161.51 MeV +- 23.38 MeV ( 14 %) + total calor : 14.343 MeV +- 6.759 MeV ( 47 %) 149.92 MeV +- 22.24 MeV ( 15 %) ------------------------------------------------------------ - Leakage : 838.49 MeV +- 23.38 MeV - Eleak/Ebeam =83.8 % ( forward =83.8 %; backward =0.014 %; lateral =0.0243 %) + Leakage : 850.08 MeV +- 22.24 MeV + Eleak/Ebeam = 85 % ( forward = 85 %; backward =0.0362 %; lateral =0.0192 %) --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1380347255, 1399488370 + Current couple of seeds = 1252832329, 239134209 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/advanced/amsEcal/src/DetectorConstruction.cc b/examples/advanced/amsEcal/src/DetectorConstruction.cc index 2601bfae26..dc939a6567 100644 --- a/examples/advanced/amsEcal/src/DetectorConstruction.cc +++ b/examples/advanced/amsEcal/src/DetectorConstruction.cc @@ -23,8 +23,8 @@ // * 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 $ +// $Id: DetectorConstruction.cc,v 1.12 2010/05/22 21:36:46 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -64,11 +64,11 @@ DetectorConstruction::DetectorConstruction() // default parameter values of calorimeter // - fiberDiameter = 1.08*mm; //1.08*mm + fiberDiameter = 1.13*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; // ? + layerThickness = 1.73*mm; //1.68*mm + milledLayer = 1.00*mm; //1.40*mm ? nbOfLayers = 10; //10 nbOfModules = 9; //9 @@ -122,7 +122,7 @@ void DetectorConstruction::DefineMaterials() // Lead // G4Material* Pb = - new G4Material("Lead", 82., 207.20*g/mole, density= 11.20*g/cm3); + new G4Material("Lead", 82., 207.20*g/mole, density= 0.98*11.20*g/cm3); // Scintillator // diff --git a/examples/advanced/amsEcal/src/EventAction.cc b/examples/advanced/amsEcal/src/EventAction.cc index bb39f46866..d6b56e7d8c 100644 --- a/examples/advanced/amsEcal/src/EventAction.cc +++ b/examples/advanced/amsEcal/src/EventAction.cc @@ -23,8 +23,8 @@ // * 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 $ +// $Id: EventAction.cc,v 1.9 2010/06/06 06:14:58 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -37,9 +37,6 @@ #include "HistoManager.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -151,22 +148,6 @@ void EventAction::EndOfEventAction(const G4Event* evt) //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...... diff --git a/examples/advanced/amsEcal/src/HistoManager.cc b/examples/advanced/amsEcal/src/HistoManager.cc index 7941a49dc9..cc8bbe9e6f 100644 --- a/examples/advanced/amsEcal/src/HistoManager.cc +++ b/examples/advanced/amsEcal/src/HistoManager.cc @@ -23,8 +23,8 @@ // * 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 $ +// $Id: HistoManager.cc,v 1.5 2010/11/09 23:34:21 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "ecal"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = "export=root"; // histograms for (G4int k=0; k storeTrajectory 0 -/tracking/storeTrajectory 1 +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/ams/event/drawTracks all +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/advanced/brachytherapy/Brachy.cc b/examples/advanced/brachytherapy/Brachy.cc index 501a3076cb..0308c148af 100644 --- a/examples/advanced/brachytherapy/Brachy.cc +++ b/examples/advanced/brachytherapy/Brachy.cc @@ -23,10 +23,6 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: Brachy.cc -// GEANT4 tag $Name: geant4-09-02 $ -// // -------------------------------------------------------------- // GEANT 4 - Brachytherapy example // -------------------------------------------------------------- @@ -45,18 +41,13 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" +#include "G4UIExecutive.hh" #include "BrachyFactoryIr.hh" -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif -#include "BrachyEventAction.hh" #include "BrachyDetectorConstruction.hh" #include "BrachyPhysicsList.hh" #include "BrachyPhantomSD.hh" @@ -73,9 +64,17 @@ #include "BrachyAnalysisManager.hh" #endif +#include "G4ScoringManager.hh" + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + int main(int argc ,char ** argv) { + G4ScoringManager::GetScoringManager(); // instanciate the interactive scoring manager + G4RunManager* pRunManager = new G4RunManager; G4String sensitiveDetectorName = "Phantom"; @@ -91,10 +90,6 @@ int main(int argc ,char ** argv) BrachyPrimaryGeneratorAction* primary = new BrachyPrimaryGeneratorAction(); pRunManager -> SetUserAction(primary); - // Initialize Optional User Action - BrachyEventAction *pEventAction = new BrachyEventAction(); - pRunManager -> SetUserAction(pEventAction ); - BrachyRunAction *pRunAction = new BrachyRunAction(); pRunManager -> SetUserAction(pRunAction); @@ -117,30 +112,26 @@ int main(int argc ,char ** argv) << G4endl; #endif - // Initialize the interactive session - G4UIsession* session = 0; - if (argc == 1) // Define UI session for interactive mode. - { - session = new G4UIterminal(); - } - //Initialize G4 kernel pRunManager -> Initialize(); // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); - if (session) // Define UI session for interactive mode. + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + if (argc == 1) // Define UI session for interactive mode. { +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); G4cout << " UI session starts ..." << G4endl; - UI -> ApplyCommand("/control/execute VisualisationMacro.mac"); - session -> SessionStart(); - delete session; + UImanager -> ApplyCommand("/control/execute VisualisationMacro.mac"); + ui -> SessionStart(); + delete ui; +#endif } else // Batch mode { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI -> ApplyCommand(command+fileName); + UImanager -> ApplyCommand(command+fileName); } // Close the output file containing histograms and n-tuple with the diff --git a/examples/advanced/brachytherapy/GNUmakefile b/examples/advanced/brachytherapy/GNUmakefile index 160224b9e9..5874e97f81 100644 --- a/examples/advanced/brachytherapy/GNUmakefile +++ b/examples/advanced/brachytherapy/GNUmakefile @@ -1,5 +1,5 @@ # -------------------------------------------------------------- -# $Id: GNUmakefile,v 1.13 2008/06/15 18:05:59 cirrone Exp $ +# $Id: GNUmakefile,v 1.14 2010/01/11 14:27:29 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -10,7 +10,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif .PHONY: all diff --git a/examples/advanced/brachytherapy/History b/examples/advanced/brachytherapy/History index 992dbf4fa9..8f95f66d86 100644 --- a/examples/advanced/brachytherapy/History +++ b/examples/advanced/brachytherapy/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.29 2009/11/12 10:34:31 pandola Exp $ +$Id: History,v 1.35 2010/11/29 10:56:53 cirrone Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,17 +9,36 @@ $Id: History,v 1.29 2009/11/12 10:34:31 pandola Exp $ Category History file --------------------- -12 Nov 2009 - L. Pandola; tag brachy-V09-02-02 - Fixed AIDA +29.11.2010 - G.A.P. Cirron; tag brachy-V09-03-05 + Compilation warnigs removed -12 Nov. 2009 - S. Guatelli; brachy-V09-02-01 -- Update of Physics List +26.11.2010 - G.A.P. Cirrone & S. Guatelli; tag brachy-V09-03-04 + General code review -22.Feb 2009 - G.Folger; tag brachy-V09-02-00 -- Correct compilation errors and warnings when G4ANALYSIS is NOT set +25.11.2010 -- J.Allison; tag brachy-V09-03-03 + Cleaned up use of G4UIExecutive. + +24.11.2010 -- G.A.P.Cirrone; tag brachy-V09-03-02 + Fixed compilation error for a missing obsolete include file + +03.06.2010 -- Joseph Perl; tag brachy-V09-03-01 + Updated vis usage + +01.06.2010 -- G.A.P. Cirrone; tag brachy-V09-03-00 + G4UIExecutiveand minor revisions + +12.11.2009 -- L. Pandola; tag brachy-V09-02-02 + Fixed AIDA + +12.11.2009 -- S. Guatelli; brachy-V09-02-01 + Update of Physics List + +22.02 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 Corrected and updated macro files diff --git a/examples/advanced/brachytherapy/VisualisationMacro.mac b/examples/advanced/brachytherapy/VisualisationMacro.mac index 9eac3564bd..0f26a04770 100644 --- a/examples/advanced/brachytherapy/VisualisationMacro.mac +++ b/examples/advanced/brachytherapy/VisualisationMacro.mac @@ -1,24 +1,74 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# Macro file for the visualisation -# create empty scene +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -/vis/scene/create -/vis/open OGLIX -#/vis/open VRML1 -#/vis/open DAWNFILE -/vis/viewer/flush +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# draw scene/ +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -# for drawing the tracks -/vis/viewer/set/viewpointThetaPhi 90 180 deg -/vis/viewer/zoom 1.4 -/tracking/storeTrajectory 1 +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: +/vis/viewer/zoom 7. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate -/vis/viewer/update +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush + ##/primary/energy Iodium ##/source/switch Iodium -/vis/viewer/zoom 5 + /run/beamOn 100 diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh b/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh index 1364c2f553..0d7bdf25bd 100644 --- a/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh +++ b/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh @@ -23,10 +23,6 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: BrachyDetectorConstruction.hh,v 1.17 2006/06/29 15:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// // **************************************** // * * // * BrachyDetectorConstruction.hh * @@ -67,12 +63,12 @@ public: void PrintDetectorParameters(); void SetPhantomMaterial(G4String); - const G4double VoxelWidth_X(){return phantomSizeX/numberOfVoxelsAlongX;} - const G4double VoxelWidth_Z(){return phantomSizeZ/numberOfVoxelsAlongZ;} - const G4int GetNumVoxelX(){return numberOfVoxelsAlongX;} - const G4int GetNumVoxelZ(){return numberOfVoxelsAlongZ;} - const G4double GetDimX() {return phantomSizeX;} - const G4double GetBoxDim_Z() {return phantomSizeZ;} + G4double VoxelWidth_X() const {return phantomSizeX/numberOfVoxelsAlongX;} + G4double VoxelWidth_Z() const {return phantomSizeZ/numberOfVoxelsAlongZ;} + G4int GetNumVoxelX() const {return numberOfVoxelsAlongX;} + G4int GetNumVoxelZ() const {return numberOfVoxelsAlongZ;} + G4double GetDimX() const {return phantomSizeX;} + G4double GetBoxDim_Z() const {return phantomSizeZ;} void ComputeDimVoxel() {dimVoxel = phantomSizeX/numberOfVoxelsAlongX;} diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc b/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc index bd54dd7628..683e35a9fc 100644 --- a/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc +++ b/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc @@ -37,9 +37,6 @@ // * * // **************************************** // -// $Id: BrachyDetectorConstruction.cc,v 1.29 2006/06/29 15:48:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// #include "G4CSGSolid.hh" #include "G4MaterialPropertyVector.hh" #include "G4SDManager.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyEventAction.cc b/examples/advanced/brachytherapy/src/BrachyEventAction.cc deleted file mode 100644 index dc31be0490..0000000000 --- a/examples/advanced/brachytherapy/src/BrachyEventAction.cc +++ /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. * -// ******************************************************************** -// -// Code developed by: -// S.Guatelli -// -// ******************************* -// * * -// * BrachyEventAction.cc * -// * * -// ******************************* -// -// $Id: BrachyEventAction.cc,v 1.21 2006/06/29 15:48:21 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "BrachyEventAction.hh" -#include "G4Event.hh" -#include "G4EventManager.hh" -#include "G4HCofThisEvent.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" - -BrachyEventAction::BrachyEventAction() : - drawFlag("all" ) -{ -} - -BrachyEventAction::~BrachyEventAction() -{ - -} - -void BrachyEventAction::BeginOfEventAction(const G4Event*) -{ -} - -void BrachyEventAction::EndOfEventAction(const G4Event* evt) -{ - // extract the trajectories and draw them ... - - 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(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/brachytherapy/src/BrachyPhysicsList.cc b/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc index 5fde5b89d1..8b819546ee 100644 --- a/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc +++ b/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc @@ -35,8 +35,8 @@ // * * // ********************************** // -// $Id: BrachyPhysicsList.cc,v 1.14 2009/11/12 02:50:51 cirrone Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: BrachyPhysicsList.cc,v 1.15 2010/11/24 15:56:19 cirrone Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "BrachyPhysicsList.hh" @@ -46,7 +46,6 @@ #include "G4ParticleTypes.hh" #include "G4UnitsTable.hh" #include "G4ios.hh" -#include "G4MultipleScattering.hh" // gamma #include "G4PhotoElectricEffect.hh" #include "G4LivermorePhotoElectricModel.hh" diff --git a/examples/advanced/composite_calorimeter/CompositeCalorimeter.cc b/examples/advanced/composite_calorimeter/CompositeCalorimeter.cc index 15873bbad8..20b118120d 100644 --- a/examples/advanced/composite_calorimeter/CompositeCalorimeter.cc +++ b/examples/advanced/composite_calorimeter/CompositeCalorimeter.cc @@ -39,16 +39,15 @@ #include "QGSP_BIC_EMY.hh" #include "G4RunManager.hh" -#include "G4UIterminal.hh" - -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE + #include "G4UIExecutive.hh" +#endif + int main(int argc,char** argv) { @@ -91,65 +90,56 @@ int main(int argc,char** argv) { runManager->SetUserAction(new CCalEndOfEventAction(primaryGenerator)); - G4UImanager * UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand("/CCal/generator/verbose 2"); - UI->ApplyCommand("/gun/position -1380. 0. 0. mm"); - UI->ApplyCommand("/gun/direction 1. 0. 0."); - UI->ApplyCommand("/gun/energy 100 GeV"); + G4UImanager * UImanager = G4UImanager::GetUIpointer(); + UImanager->ApplyCommand("/CCal/generator/verbose 2"); + UImanager->ApplyCommand("/gun/position -1380. 0. 0. mm"); + UImanager->ApplyCommand("/gun/direction 1. 0. 0."); + UImanager->ApplyCommand("/gun/energy 100 GeV"); - G4UIsession * session = 0; // Define (G)UI terminal for interactive mode - if (argc==1) { - -#ifdef G4UI_USE_XM - session = new G4UIXm(argc,argv); -#else // G4UIterminal is a (dumb) terminal. - session = new G4UIterminal; -#endif + if (argc==1) { // No arguments - interactive assumed. +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + if (ui->IsGUI()) + // Customize the menubar with a macro file : + UImanager->ApplyCommand("/control/execute gui.mac"); G4cout <<" Run initializing ..."<ApplyCommand("/process/verbose 0"); - UI->ApplyCommand("/run/verbose 2"); - UI->ApplyCommand("/run/initialize"); - + UImanager->ApplyCommand("/process/verbose 0"); + UImanager->ApplyCommand("/run/verbose 2"); + UImanager->ApplyCommand("/run/initialize"); #ifdef G4VIS_USE // Create empty scene G4String visCommand = "/vis/scene/create"; - UI->ApplyCommand(visCommand); - + UImanager->ApplyCommand(visCommand); + // Choose one default viewer // (the user can always change it later on) // visCommand = "/vis/open DAWNFILE"; // visCommand = "/vis/open VRML2FILE"; - visCommand = "/vis/open OGLIX"; - UI->ApplyCommand(visCommand); - + visCommand = "/vis/open OGL"; + UImanager->ApplyCommand(visCommand); + visCommand = "/vis/viewer/flush"; - UI->ApplyCommand(visCommand); + UImanager->ApplyCommand(visCommand); visCommand = "/tracking/storeTrajectory 1"; - UI->ApplyCommand(visCommand); + UImanager->ApplyCommand(visCommand); #endif - -#ifdef G4UI_USE_XM - // Customize the G4UIXm menubar with a macro file : - UI->ApplyCommand("/control/execute gui.mac"); -#else G4cout <<"Now, please, apply beamOn command..."<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); } - delete runManager; +delete runManager; #ifdef G4VIS_USE delete visManager; @@ -157,4 +147,3 @@ int main(int argc,char** argv) { return 0; } - diff --git a/examples/advanced/composite_calorimeter/GNUmakefile b/examples/advanced/composite_calorimeter/GNUmakefile index 7511e611ef..e251cd8d4e 100644 --- a/examples/advanced/composite_calorimeter/GNUmakefile +++ b/examples/advanced/composite_calorimeter/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.11 2008/06/15 18:13:06 cirrone Exp $ +# $Id: GNUmakefile,v 1.12 2010/01/11 14:28:16 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../../ + G4INSTALL = ../.. endif include $(G4INSTALL)/config/architecture.gmk diff --git a/examples/advanced/composite_calorimeter/History b/examples/advanced/composite_calorimeter/History index 03731e9e56..5e7b028dba 100644 --- a/examples/advanced/composite_calorimeter/History +++ b/examples/advanced/composite_calorimeter/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.34 2009/11/12 12:46:25 ribon Exp $ +$Id: History,v 1.37 2010/11/18 19:46:38 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,15 @@ $Id: History,v 1.34 2009/11/12 12:46:25 ribon Exp $ Example History file --------------------- +18.11.2010 - J.Allison (ccal-V09-03-02) +- Improve comment line about GUI menu bar. + +09.11.2010 - J.Allison (ccal-V09-03-01) +- Inroduced G4UIExecutive. + +04.06.2010 - J.Perl (ccal-V09-03-00) +- Updated vis usage + 12.11.2009 - A.Ribon (ccal-V09-02-01) - Use QGSP_BIC_EMY as default Physics List to test the low-energy electromagnetic. diff --git a/examples/advanced/composite_calorimeter/README b/examples/advanced/composite_calorimeter/README index e110301756..c76af24cc0 100644 --- a/examples/advanced/composite_calorimeter/README +++ b/examples/advanced/composite_calorimeter/README @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: README,v 1.13 2009/11/12 12:46:25 ribon Exp $ +$Id: README,v 1.14 2010/06/06 06:18:17 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -437,7 +437,7 @@ No Noise and Digitization and then run some events, for example: Idle> /run/beamOn 3 - Notice that, by default, OGLIX is used for the visualization, + Notice that, by default, OGL is used for the visualization, because it is quite fast and it does not produce any files in output. However, you can always choose something else, for example VRML2FILE or DAWNFILE, either interactively as follows: @@ -447,7 +447,7 @@ No Noise and Digitization in such a way to have, at the end: visCommand = "/vis/open DAWNFILE"; // visCommand = "/vis/open VRML2FILE"; - // visCommand = "/vis/open OGLIX"; + // visCommand = "/vis/open OGL"; The tracks that are shown include both charged and neutral particles of any momentum: if you want instead only charged, or only neutral, diff --git a/examples/advanced/composite_calorimeter/src/CCalEndOfEventAction.cc b/examples/advanced/composite_calorimeter/src/CCalEndOfEventAction.cc index 5be2e47cf0..4c800f83d5 100644 --- a/examples/advanced/composite_calorimeter/src/CCalEndOfEventAction.cc +++ b/examples/advanced/composite_calorimeter/src/CCalEndOfEventAction.cc @@ -47,10 +47,6 @@ #include #include -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" - #ifdef G4ANALYSIS_USE #include "CCalAnalysis.hh" #endif @@ -246,21 +242,6 @@ void CCalEndOfEventAction::EndOfEventAction(const G4Event* evt){ } } #endif - - //A.R. Add to visualize tracks - // extract the trajectories and draw them - if (G4VVisManager::GetConcreteInstance()) { - G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); - for (G4int i=0; iGetTrajectoryContainer()))[i]); - trj->DrawTrajectory(50); // Draw all tracks - // if ( trj->GetCharge() != 0. ) trj->DrawTrajectory(50); // Draw only charged tracks - // if ( trj->GetCharge() == 0. ) trj->DrawTrajectory(50); // Draw only neutral tracks - } - } - } diff --git a/examples/advanced/composite_calorimeter/test.g4mac b/examples/advanced/composite_calorimeter/test.g4mac index 017266014b..bfec6859f8 100644 --- a/examples/advanced/composite_calorimeter/test.g4mac +++ b/examples/advanced/composite_calorimeter/test.g4mac @@ -15,6 +15,8 @@ #/gun/particle e- /gun/energy 100 GeV +#/control/execute vis.mac + ### Simulate ten events /run/beamOn 10 diff --git a/examples/advanced/composite_calorimeter/vis.mac b/examples/advanced/composite_calorimeter/vis.mac new file mode 100644 index 0000000000..6d3124c3ed --- /dev/null +++ b/examples/advanced/composite_calorimeter/vis.mac @@ -0,0 +1,68 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/advanced/eRosita/GNUmakefile b/examples/advanced/eRosita/GNUmakefile new file mode 100644 index 0000000000..14b436fe42 --- /dev/null +++ b/examples/advanced/eRosita/GNUmakefile @@ -0,0 +1,26 @@ +# -------------------------------------------------------------- +# $Id: GNUmakefile,v 1.2 2010/11/29 10:00:05 gcosmo Exp $ +# -------------------------------------------------------------- +# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. +# -------------------------------------------------------------- + + +name := eRosita + +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../.. +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 diff --git a/examples/advanced/eRosita/History b/examples/advanced/eRosita/History new file mode 100644 index 0000000000..75abeaa231 --- /dev/null +++ b/examples/advanced/eRosita/History @@ -0,0 +1,61 @@ +$Id: History,v 1.11 2010/12/06 15:32:30 pia 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 * + ---------------------------------------------------------- + + 6.12.2010, MGP, tag eRosita-V09-03-09 + Improvements to visualisation provided by Georg Weidenspointner + +30.11.2010, John Allison, tag eRosita-V09-03-08 + eRosita.cc: Introduced G4UIExecutive. + vis.mac: Changed OGLIX to OGL. + +25.11.2010, GW-MGP, tag eRosita-V09-03-07 + Added timing statistics and event number monitor + +25.11.2010, GW-MGP, tag eRosita-V09-03-06 + Simplified hits to better highlight PIXE + +24.11.2010, GW-MGP, tag eRosita-V09-03-05 + Set threshold for PIXE photons and Auger electrons explicitly + to 250 eV in PhysicsList + +24.11.2010, GW-MGP, tag eRosita-V09-03-04 + Added AnalysisManager + The example now produces two output files: + eTot.out (total energy deposit in the detector) + hits.out (hits) + +23.11.2010, GW-MGP, tag eRosita-V09-03-03 + Minor cosmetic modifications + +23.11.2010, GW-MGP, tag eRosita-V09-03-02 + Minor cosmetic modifications + +23.11.2010, GW-MGP, tag eRosita-V09-03-01 + First version of eROSITA example + Verified to produce characteristic K, L and M X-rays from copper + of expected energy + +19.11.2010, MGP, tag eRosita-V09-03-00 + Initial empty directory to host the eROSITA example + illustrating PIXE simulation with Geant4 as documented in + M.G. Pia et al., + PIXE Simulation With Geant4, + IEEE Trans. Nucl. Sci., vol. 56, no. 6, pp. 3614-3649, Dec. 2009. + +19.11.2010, MGP, created diff --git a/examples/advanced/eRosita/README.txt b/examples/advanced/eRosita/README.txt new file mode 100644 index 0000000000..cc2c3c161b --- /dev/null +++ b/examples/advanced/eRosita/README.txt @@ -0,0 +1,115 @@ +$Id: README.txt,v 1.6 2010/11/30 13:44:05 pia Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + eROSITA fluorescence + -------------------- + +Authors: + +Dieter Schlosser (pnSensor, Munich), Georg Weidenspointner (MPE Garching +and MPI Halbleiterlabor, Munich), and Maria Grazia Pia (INFN Genova) + +References: + +M.G. Pia et al., 2009, "PIXE Simulation With Geant4", +IEEE Trans. Nucl. Sci., vol. 56, no. 6, pp. 3614-3649 + +N. Meidinger et al., 2010, "Development of the focal plane PNCCD +camera system for the X-ray space telescope eROSITA", Nuclear +Instruments and Methods in Physics Research A 624, 321-329 + +Web sites: + +???? + +Contact persons: + +Dieter Schlosser : dis@hll.mpg.de +Georg Weidenspointner: ggw@hll.mpg.de +Maria Grazia Pia : Maria.Grazia.Pia@cern.ch + + +Example description: + +This is example is based on simulations of the instrumental background +of the eROSITA X-ray telescope, in particular the strength of +fluorescence lines inside the passive graded Z shield. The set-up +considered in this example consists of a Cu block that is irradiated +with protons. Impact ionization of Cu atoms generates vacancies in +atomic shells. These are then filled by atomic de-excitation, +resulting in the emission of fluorescence photons and Auger electrons +- the PIXE (particle induced X-ray emission) process. In particular +fluorescence photons are then detected with a Si CCD positioned next to +the Cu block. + +The simulated set-up is defined in eRositaDetectorConstruction. +The Cu block is located at position x = y = z = 0 cm. Its dimensions +in x, y, and z are 0.5 cm * 0.5 cm * 3 cm. The CCD, represented by a +slab of Si, is positioned at x = z = 0 cm and y = 2 cm. The CCD dimensions +in x, y, z and are 4 cm * 450 mu_m * 4 cm. + +The vertex and initial momenta of the protons are defined in +eRositaPrimaryGeneratorAction. The vertex is at x = 0 cm, y = 2.25 +cm, and z = 4 cm. The initial direction of the protons is given by the +vector (0.0, -0.5, -1.0). The initial kinetic energy of the protons is +150 MeV. + +The physics processes relevant to this simulation are defined in +eRositaPhysicsList. The key process for generation of PIXE is +G4hImpactIonisation. In the example, proton cross sections based on +the ECPSSR model are used. Cross sections are computed for an energy +range from 1 keV to 200 MeV. The energy thresholds for the production +of fluorescence photons and Auger electrons by PIXE are set to a value +of 250 eV. + +The output of the example is an ASCII file named +TrackerPhotonEnergy.out. It contains the energy, in MeV, of every +photon that finds its way to the tracker (or which is created as a +secondary inside the tracker). If the batch mode example is run, the +entries 0.00798467, 0.00800571, and 0.00886534 correspond to Cu +fluorescence lines K_alpha2, K_alpha1, and K_beta1, +respectively. Other photons originate e.g. from bremsstrahlung of +delta rays in Cu. A histogram of the energies in +TrackerPhotonEnergy.out, in particular if generated for more protons, +clearly shows the PIXE photons from Cu on top of a continuous +distribution. + + +Instructions on how to build and run the example: + +- To compile the example: + % cd eRosita + % gmake + If the environment variable G4WORKDIR and has been defined, an executable + named eRosita will be generated in $G4WORKDIR/bin/$G4SYSTEM + +- To run the example: + + Do not forget to define the G4PIIDATA environment variable as appropriate + to get access to the PIXE data library (e.g. G4PII1.1) + + + To run without visualisation (batch mode): + + Go to $G4WORKDIR/bin/$G4SYSTEM + Copy the file eRosita/eRosita.in to this directory. + The input file eRosita.in defines a simulation with 1000 protons + of energy 100 MeV. + Start the simulation with: eRosita eRosita.in > eRosita.out + + The resulting files eRosita.out and the ASCII output file + TrackerPhotonEnergy.out are included in the example. Format + and content of the output file are described below. + + + To run with visualisation: + Go to $G4WORKDIR/bin/$G4SYSTEM + Copy eRosita/vis.mac to to this directory. + The macro file vis.mac calls the DAWN visualization driver to + display the simulation of 100 protons with energy 100 MeV. + + An ASCII output file TrackerPhotonEnergy.out is created. However, + this file may be empty in case the first 100 protons do not + produce any fluorescence photons that reach the tracker. diff --git a/examples/advanced/eRosita/eRosita.cc b/examples/advanced/eRosita/eRosita.cc new file mode 100644 index 0000000000..911faccc4e --- /dev/null +++ b/examples/advanced/eRosita/eRosita.cc @@ -0,0 +1,129 @@ +// +// ******************************************************************** +// * 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: eRosita.cc,v 1.3 2010/11/30 11:59:44 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +#include "eRositaDetectorConstruction.hh" +#include "eRositaPhysicsList.hh" +#include "eRositaPrimaryGeneratorAction.hh" +#include "eRositaRunAction.hh" +#include "eRositaEventAction.hh" +#include "eRositaSteppingAction.hh" +#include "eRositaSteppingVerbose.hh" + +#include "G4RunManager.hh" +#include "G4UImanager.hh" + +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + + +int main(int argc,char** argv) +{ + // User Verbose output class + // + G4VSteppingVerbose* verbosity = new eRositaSteppingVerbose; + G4VSteppingVerbose::SetInstance(verbosity); + + // Run manager + // + G4RunManager* runManager = new G4RunManager; + + // User Initialization classes (mandatory) + // + eRositaDetectorConstruction* detector = new eRositaDetectorConstruction; + runManager->SetUserInitialization(detector); + // + G4VUserPhysicsList* physics = new eRositaPhysicsList; + runManager->SetUserInitialization(physics); + + // User Action classes + // + G4VUserPrimaryGeneratorAction* genAction = new eRositaPrimaryGeneratorAction(detector); + runManager->SetUserAction(genAction); + // + G4UserRunAction* runAction = new eRositaRunAction; + runManager->SetUserAction(runAction); + // + G4UserEventAction* eventAction = new eRositaEventAction; + runManager->SetUserAction(eventAction); + // + G4UserSteppingAction* steppingAction = new eRositaSteppingAction; + runManager->SetUserAction(steppingAction); + + // Initialize G4 kernel + // + runManager->Initialize(); + + // 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 visualization and UI terminal + { +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + UImanager->ApplyCommand("/control/execute vis.mac"); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif + } + + // Free the store: user actions, physics_list and detector_description are + // owned and deleted by the run manager, so they should not + // be deleted in the main() program ! + + delete runManager; + delete verbosity; + + return 0; +} + + diff --git a/examples/advanced/eRosita/eRosita.in b/examples/advanced/eRosita/eRosita.in new file mode 100644 index 0000000000..595d9e44df --- /dev/null +++ b/examples/advanced/eRosita/eRosita.in @@ -0,0 +1,17 @@ +#------------------------------------------------- +# +# example input file for running eRosita +# +# 10000 protons with energy 100 MeV are simulated +# +#------------------------------------------------- + +#/control/verbose 2 +#/run/verbose 2 +#/tracking/verbose 2 + +/gun/energy 100 MeV +/gun/particle proton +/run/beamOn 1000 + +exit diff --git a/examples/advanced/eRosita/eRosita.large_N.in b/examples/advanced/eRosita/eRosita.large_N.in new file mode 100644 index 0000000000..bf3ea318b1 --- /dev/null +++ b/examples/advanced/eRosita/eRosita.large_N.in @@ -0,0 +1,7 @@ +/tracking/verbose 0 + +/gun/energy 100 MeV +/gun/particle proton +/run/beamOn 10000 + +exit diff --git a/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability100.hh b/examples/advanced/eRosita/include/AnalysisManager.hh similarity index 58% rename from source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability100.hh rename to examples/advanced/eRosita/include/AnalysisManager.hh index 188f4b51bd..b38ff3cfbb 100644 --- a/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability100.hh +++ b/examples/advanced/eRosita/include/AnalysisManager.hh @@ -23,48 +23,52 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// - -#ifndef G4E1SingleProbability100_hh -#define G4E1SingleProbability100_hh +#ifndef ANALYSISMANAGER_HH +#define ANALYSISMANAGER_HH #include "globals.hh" -#include "G4VEmissionProbability.hh" -#include "G4Fragment.hh" -#include "G4VLevelDensityParameter.hh" +#include -class G4E1SingleProbability100 : public G4VEmissionProbability -{ -public: - G4E1SingleProbability100() {}; +class AnalysisManager { - ~G4E1SingleProbability100(); + public: + // The analysis class is designed to be a singleton (i.e. only one instance + // can exist). A member function called Instance is defined, which allows + // the user to get a pointer to the existing instance or to create it if + // it does not yet exist + // + static AnalysisManager* Instance(); - G4double EmissionProbability(const G4Fragment& frag, const G4double excite); - G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton); + // The analysis class instance can be deleted by calling the Destroy + // method (NOTE: The class destructor is protected, and can thus not be + // called directly): + static void Destroy(); + +// // Member function used to score the total energy deposit +// void ScoreTot(G4double eTot); + + // Member function used to dump hits + void Score(G4double eDep); + + protected: + // Constructor (protected): + AnalysisManager(); + + // Destructor (protected): + virtual ~AnalysisManager(); + + // Prevent copying + AnalysisManager(const AnalysisManager& only); + const AnalysisManager& operator=(const AnalysisManager& only); private: - - // G4E1SingleProbability100() {}; - - G4E1SingleProbability100(const G4E1SingleProbability100& right); - - const G4E1SingleProbability100& operator=(const G4E1SingleProbability100& - right); - G4bool operator==(const G4E1SingleProbability100& right) const; - G4bool operator!=(const G4E1SingleProbability100& right) const; - - // Integrator (simple Gaussian quadrature) - - G4double EmissionIntegration(const G4Fragment& frag, const G4double excite, - const G4double lowLim, const G4double upLim, - const G4int numIters); - - // G4VLevelDensityParameter* _levelDensity; // Don't need this - + // The static instance of the AnalysisManager class: + static AnalysisManager* instance; + std::ofstream outFile; + std::ofstream outFileT; }; -#endif + +#endif // ANALYSISMANAGER_HH diff --git a/examples/advanced/eRosita/include/eRositaDetectorConstruction.hh b/examples/advanced/eRosita/include/eRositaDetectorConstruction.hh new file mode 100644 index 0000000000..e5979c4327 --- /dev/null +++ b/examples/advanced/eRosita/include/eRositaDetectorConstruction.hh @@ -0,0 +1,111 @@ +// +// ******************************************************************** +// * 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: eRositaDetectorConstruction.hh,v 1.3 2010/12/15 07:36:48 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef eRositaDetectorConstruction_h +#define eRositaDetectorConstruction_h 1 + +#include "globals.hh" +#include "G4VUserDetectorConstruction.hh" +#include "G4VisAttributes.hh" + + +class G4Box; +class G4LogicalVolume; +class G4VPhysicalVolume; +class G4Material; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class eRositaDetectorConstruction : public G4VUserDetectorConstruction +{ +public: + + eRositaDetectorConstruction(); + ~eRositaDetectorConstruction(); + +public: + + G4VPhysicalVolume* Construct(); + + const + G4VPhysicalVolume* GetTracker() {return physiTracker;}; + // G4double GetTrackerFullLength() {return fTrackerLength;}; + // G4double GetTargetFullLength() {return fTargetLength;}; + // G4double GetWorldFullLength() {return fWorldLength;}; + + void setTargetMaterial (G4String); + void setTrackerMaterial(G4String); + void setWorldMaterial(G4String); + +private: + + G4Box* solidWorld; // pointer to the solid envelope + G4LogicalVolume* logicWorld; // pointer to the logical envelope + G4VPhysicalVolume* physiWorld; // pointer to the physical envelope + G4VisAttributes* visWorld; // pointer to visualization attributes + + G4Box* solidTarget; // pointer to the solid Target + G4LogicalVolume* logicTarget; // pointer to the logical Target + G4VPhysicalVolume* physiTarget; // pointer to the physical Target + G4VisAttributes* visTarget; // pointer to visualization attributes + + G4Box* solidTracker; // pointer to the solid Tracker + G4LogicalVolume* logicTracker; // pointer to the logical Tracker + G4VPhysicalVolume* physiTracker; // pointer to the physical Tracker + G4VisAttributes* visTracker; // pointer to visualization attributes + + G4Material* TargetMater; // pointer to the target material + G4Material* TrackerMater; // pointer to the tracker material + G4Material* WorldMater; // pointer to the tracker material + + G4Material* vacuum; + + + G4double hWorldLength; // half length of the world volume + G4double hTargetLength; // half length of target + G4double hTargetDepth; // half depth of target + G4double hTrackerLength; // half length of tracker + G4double hTrackerDepth; // half depth of tracker + + G4double xPosTarget; // x coordinate of target position + G4double yPosTarget; // y -"- + G4double zPosTarget; // z -"- + G4double xPosTracker; // x coordinate of tracker position + G4double yPosTracker; // y -"- + G4double zPosTracker; // z -"- + + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/environments/MOMO/MomoHome/include/MomoEventAction.hh b/examples/advanced/eRosita/include/eRositaEventAction.hh similarity index 86% rename from environments/MOMO/MomoHome/include/MomoEventAction.hh rename to examples/advanced/eRosita/include/eRositaEventAction.hh index a3f0efd16e..b82c2087e0 100644 --- a/environments/MOMO/MomoHome/include/MomoEventAction.hh +++ b/examples/advanced/eRosita/include/eRositaEventAction.hh @@ -23,28 +23,30 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// Taken from -// $Id: MomoEventAction.hh,v 1.2 2006/06/29 15:27:31 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// +// $Id: eRositaEventAction.hh,v 1.2 2010/11/25 21:35:44 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -#ifndef MomoEventAction_h -#define MomoEventAction_h 1 +#ifndef eRositaEventAction_h +#define eRositaEventAction_h 1 #include "G4UserEventAction.hh" +#include "G4Timer.hh" class G4Event; -class MomoEventAction : public G4UserEventAction +class eRositaEventAction : public G4UserEventAction { public: - MomoEventAction(); - ~MomoEventAction(); + eRositaEventAction(); + ~eRositaEventAction(); public: void BeginOfEventAction(const G4Event*); void EndOfEventAction(const G4Event*); + }; diff --git a/examples/extended/analysis/N03Con/include/ExN03PhysicsList.hh b/examples/advanced/eRosita/include/eRositaPhysicsList.hh similarity index 74% rename from examples/extended/analysis/N03Con/include/ExN03PhysicsList.hh rename to examples/advanced/eRosita/include/eRositaPhysicsList.hh index d874a3c77f..84309b14d8 100644 --- a/examples/extended/analysis/N03Con/include/ExN03PhysicsList.hh +++ b/examples/advanced/eRosita/include/eRositaPhysicsList.hh @@ -24,27 +24,21 @@ // ******************************************************************** // // -// $Id: ExN03PhysicsList.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: eRositaPhysicsList.hh,v 1.2 2010/11/23 18:40:21 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef ExN03PhysicsList_h -#define ExN03PhysicsList_h 1 +#ifndef EROSITAPHYSICSLIST_HH +#define EROSITAPHYSICSLIST_HH 1 #include "G4VUserPhysicsList.hh" #include "globals.hh" -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class ExN03PhysicsList: public G4VUserPhysicsList +class eRositaPhysicsList: public G4VUserPhysicsList { public: - ExN03PhysicsList(); - ~ExN03PhysicsList(); + eRositaPhysicsList(); + ~eRositaPhysicsList(); protected: // Construct particle and physics @@ -52,24 +46,22 @@ class ExN03PhysicsList: public G4VUserPhysicsList void ConstructProcess(); void SetCuts(); - - - protected: - // these methods Construct particles + // These methods Construct particles void ConstructBosons(); void ConstructLeptons(); void ConstructMesons(); void ConstructBaryons(); - protected: - // these methods Construct physics processes and register them + // These methods Construct physics processes and register them void ConstructGeneral(); void ConstructEM(); + // void AddStepMax(); + + private: + }; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - + diff --git a/examples/advanced/eRosita/include/eRositaPrimaryGeneratorAction.hh b/examples/advanced/eRosita/include/eRositaPrimaryGeneratorAction.hh new file mode 100644 index 0000000000..f253a120af --- /dev/null +++ b/examples/advanced/eRosita/include/eRositaPrimaryGeneratorAction.hh @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * 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: eRositaPrimaryGeneratorAction.hh,v 1.1 2010/11/23 16:17:03 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef eRositaPrimaryGeneratorAction_h +#define eRositaPrimaryGeneratorAction_h 1 + +#include "globals.hh" +#include "G4VUserPrimaryGeneratorAction.hh" + +class eRositaDetectorConstruction; +class G4ParticleGun; +class G4Event; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class eRositaPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ +public: + eRositaPrimaryGeneratorAction(eRositaDetectorConstruction*); + ~eRositaPrimaryGeneratorAction(); + +public: + void GeneratePrimaries(G4Event*); + +private: + G4ParticleGun* particleGun; + eRositaDetectorConstruction* myDetector; + + G4double xposition; // x position of vertex + G4double yposition; // y -"- + G4double zposition; // z + + G4double xdirection; // x component of initial momentum vector + G4double ydirection; // y -"- + G4double zdirection; // z -"- + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + diff --git a/environments/MOMO/MomoHome/include/MomoRunAction.hh b/examples/advanced/eRosita/include/eRositaRunAction.hh similarity index 81% rename from environments/MOMO/MomoHome/include/MomoRunAction.hh rename to examples/advanced/eRosita/include/eRositaRunAction.hh index b9351eec04..7d50e0e4af 100644 --- a/environments/MOMO/MomoHome/include/MomoRunAction.hh +++ b/examples/advanced/eRosita/include/eRositaRunAction.hh @@ -23,31 +23,38 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// Taken after -// $Id: MomoRunAction.hh,v 1.2 2006/06/29 15:27:45 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// +// $Id: eRositaRunAction.hh,v 1.2 2010/11/25 21:35:44 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -#ifndef MomoRunAction_h -#define MomoRunAction_h 1 + +#ifndef eRositaRunAction_h +#define eRositaRunAction_h 1 #include "G4UserRunAction.hh" #include "globals.hh" +#include "G4Timer.hh" class G4Run; -class MomoRunAction : public G4UserRunAction +class eRositaRunAction : public G4UserRunAction { - public: - MomoRunAction(); - ~MomoRunAction(); +public: + eRositaRunAction(); + ~eRositaRunAction(); + +public: + void BeginOfRunAction(const G4Run*); + void EndOfRunAction(const G4Run*); + +private: + G4Timer timerRun; - public: - void BeginOfRunAction(const G4Run*); - void EndOfRunAction(const G4Run*); }; + #endif diff --git a/examples/novice/N06/include/ExN06EventAction.hh b/examples/advanced/eRosita/include/eRositaSteppingAction.hh similarity index 83% rename from examples/novice/N06/include/ExN06EventAction.hh rename to examples/advanced/eRosita/include/eRositaSteppingAction.hh index f12b04e68f..4e8cadc0fc 100644 --- a/examples/novice/N06/include/ExN06EventAction.hh +++ b/examples/advanced/eRosita/include/eRositaSteppingAction.hh @@ -24,34 +24,28 @@ // ******************************************************************** // // -// $Id: ExN06EventAction.hh,v 1.2 2006/06/29 17:53:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// +// $Id: eRositaSteppingAction.hh,v 1.1 2010/11/23 16:17:03 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef ExN06EventAction_h -#define ExN06EventAction_h 1 -#include "G4UserEventAction.hh" +#ifndef eRositaSteppingAction_h +#define eRositaSteppingAction_h 1 -class G4Event; +#include "G4UserSteppingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN06EventAction : public G4UserEventAction +class eRositaSteppingAction : public G4UserSteppingAction { public: - ExN06EventAction(); - ~ExN06EventAction(); + eRositaSteppingAction(); + ~eRositaSteppingAction(){}; - public: - void BeginOfEventAction(const G4Event*); - void EndOfEventAction(const G4Event*); + //void UserSteppingAction(const G4Step*); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/advanced/eRosita/include/eRositaSteppingVerbose.hh b/examples/advanced/eRosita/include/eRositaSteppingVerbose.hh new file mode 100644 index 0000000000..a943f01a6a --- /dev/null +++ b/examples/advanced/eRosita/include/eRositaSteppingVerbose.hh @@ -0,0 +1,60 @@ +// +// ******************************************************************** +// * 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: eRositaSteppingVerbose.hh,v 1.1 2010/11/23 16:17:03 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// 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...... + +class eRositaSteppingVerbose; + +#ifndef eRositaSteppingVerbose_h +#define eRositaSteppingVerbose_h 1 + +#include "G4SteppingVerbose.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class eRositaSteppingVerbose : public G4SteppingVerbose +{ + public: + + eRositaSteppingVerbose(); + ~eRositaSteppingVerbose(); + + void StepInfo(); + void TrackingStarted(); + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/advanced/eRosita/include/eRositaTrackerHit.hh b/examples/advanced/eRosita/include/eRositaTrackerHit.hh new file mode 100644 index 0000000000..c5a05f9389 --- /dev/null +++ b/examples/advanced/eRosita/include/eRositaTrackerHit.hh @@ -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. * +// ******************************************************************** +// +// +// $Id: eRositaTrackerHit.hh,v 1.3 2010/11/23 23:34:32 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +#ifndef eRositaTrackerHit_h +#define eRositaTrackerHit_h 1 + +#include "G4VHit.hh" +#include "G4THitsCollection.hh" +#include "G4Allocator.hh" +#include "G4ThreeVector.hh" + +#include +#include +using namespace std; + + + +class eRositaTrackerHit : public G4VHit +{ +public: + + eRositaTrackerHit(); + ~eRositaTrackerHit(); + eRositaTrackerHit(const eRositaTrackerHit&); + const eRositaTrackerHit& operator=(const eRositaTrackerHit&); + G4int operator==(const eRositaTrackerHit&) const; + + inline void* operator new(size_t); + inline void operator delete(void*); + + void Draw(); + void Print(); + void PrintToFile(); + +public: + + void SetTrackID (G4int track) { trackID = track; }; + void SetChamberNb(G4int chamb) { chamberNb = chamb; }; + void SetEdep (G4double de) { edep = de; }; + void SetPos (G4ThreeVector xyz){ pos = xyz; }; + + G4int GetTrackID() { return trackID; }; + G4int GetChamberNb() { return chamberNb; }; + G4double GetEdep() { return edep; }; + G4ThreeVector GetPos(){ return pos; }; + +private: + + G4int trackID; + G4int chamberNb; + G4double edep; + G4ThreeVector pos; +}; + + +typedef G4THitsCollection eRositaTrackerHitsCollection; + +extern G4Allocator eRositaTrackerHitAllocator; + + +inline void* eRositaTrackerHit::operator new(size_t) +{ + void *aHit; + aHit = (void *) eRositaTrackerHitAllocator.MallocSingle(); + return aHit; +} + + +inline void eRositaTrackerHit::operator delete(void *aHit) +{ + eRositaTrackerHitAllocator.FreeSingle((eRositaTrackerHit*) aHit); +} + + +#endif diff --git a/examples/extended/analysis/N03Con/include/ExN03SteppingAction.hh b/examples/advanced/eRosita/include/eRositaTrackerSD.hh similarity index 78% rename from examples/extended/analysis/N03Con/include/ExN03SteppingAction.hh rename to examples/advanced/eRosita/include/eRositaTrackerSD.hh index 9a8db616fb..279dc2ed25 100644 --- a/examples/extended/analysis/N03Con/include/ExN03SteppingAction.hh +++ b/examples/advanced/eRosita/include/eRositaTrackerSD.hh @@ -24,37 +24,39 @@ // ******************************************************************** // // -// $Id: ExN03SteppingAction.hh,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: eRositaTrackerSD.hh,v 1.3 2010/11/25 17:32:05 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03SteppingAction_h -#define ExN03SteppingAction_h 1 +#ifndef eRositaTrackerSD_h +#define eRositaTrackerSD_h 1 -#include "G4UserSteppingAction.hh" +#include "G4VSensitiveDetector.hh" +#include "eRositaTrackerHit.hh" -class ExN03DetectorConstruction; -class ExN03EventAction; +class G4Step; +class G4HCofThisEvent; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03SteppingAction : public G4UserSteppingAction +class eRositaTrackerSD : public G4VSensitiveDetector { public: - ExN03SteppingAction(ExN03DetectorConstruction*, ExN03EventAction*); - ~ExN03SteppingAction(); + eRositaTrackerSD(G4String); + ~eRositaTrackerSD(); + + void Initialize(G4HCofThisEvent*); + G4bool ProcessHits(G4Step*, G4TouchableHistory*); + void EndOfEvent(G4HCofThisEvent*); - void UserSteppingAction(const G4Step*); - private: - ExN03DetectorConstruction* detector; - ExN03EventAction* eventaction; + eRositaTrackerHitsCollection* trackerCollection; + }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif + diff --git a/examples/advanced/eRosita/src/AnalysisManager.cc b/examples/advanced/eRosita/src/AnalysisManager.cc new file mode 100644 index 0000000000..6e9b9e52b7 --- /dev/null +++ b/examples/advanced/eRosita/src/AnalysisManager.cc @@ -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. * +// ******************************************************************** +// +#include "AnalysisManager.hh" +#include + +AnalysisManager* AnalysisManager::instance = 0; + + +AnalysisManager* AnalysisManager::Instance() +{ + + // A new instance of AnalysisManager is created if it does not exist: + if (instance == 0) + { + instance = new AnalysisManager(); + } + + // The instance of AnalysisManager is returned: + return instance; +} + + +void AnalysisManager::Destroy() +{ + + // The AnalysisManager instance is deleted if it exists: + if (instance != 0) + { + delete instance; + instance = 0; + } +} + + +AnalysisManager::AnalysisManager() +{ + outFile.open("TrackerPhotonEnergy.out"); +// outFileT.open("eTot.out"); +} + + +AnalysisManager::~AnalysisManager() +{ + outFile.close(); + outFileT.close(); +} + + +void AnalysisManager::Score(G4double eDep) +{ +// outFile << id << " " +// << eDep << " " +// << x << " " +// << y << " " +// << z << " " +// << std::endl; + outFile << eDep << std::endl; +} + +// void AnalysisManager::ScoreTot(G4double eTot) +// { +// outFileT << eTot << std::endl; +// } diff --git a/examples/advanced/eRosita/src/eRositaDetectorConstruction.cc b/examples/advanced/eRosita/src/eRositaDetectorConstruction.cc new file mode 100644 index 0000000000..97232bf45e --- /dev/null +++ b/examples/advanced/eRosita/src/eRositaDetectorConstruction.cc @@ -0,0 +1,254 @@ +// +// ******************************************************************** +// * 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: eRositaDetectorConstruction.cc,v 1.4 2010/12/15 07:36:52 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "eRositaDetectorConstruction.hh" +#include "eRositaTrackerSD.hh" + +#include "G4Material.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVParameterised.hh" +#include "G4SDManager.hh" +#include "G4GeometryTolerance.hh" +#include "G4GeometryManager.hh" + +#include "G4UserLimits.hh" + +#include "G4VisAttributes.hh" +#include "G4Colour.hh" + +#include "G4ios.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +eRositaDetectorConstruction::eRositaDetectorConstruction() + +{ + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +eRositaDetectorConstruction::~eRositaDetectorConstruction() +{ + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4VPhysicalVolume* eRositaDetectorConstruction::Construct() +{ +//--------- Material definition --------- + + G4double a, z; + G4double density; +// G4int nel; + +// //Air +// G4Element* N = new G4Element("Nitrogen", "N", z=7., a= 14.01*g/mole); +// G4Element* O = new G4Element("Oxygen" , "O", z=8., a= 16.00*g/mole); + +// G4Material* Air = new G4Material("Air", density= 1.29*mg/cm3, nel=2); +// Air->AddElement(N, 70*perCent); +// Air->AddElement(O, 30*perCent); + + //Copper + G4Material* Cu = + new G4Material("Copper", z=29., a= 63.55*g/mole, density= 8.92*g/cm3); + +// //Aluminium for testing +// G4Material* Cu = +// new G4Material("Aluminium", z=13., a= 26.98*g/mole, density= 2.7*g/cm3); + + //Silicon + G4Material* Si = + new G4Material("Silicon", z=14., a= 28.09*g/mole, density= 2.33*g/cm3); + + // Vacuum + density = universe_mean_density; //from PhysicalConstants.h + 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); + + // Print all the materials defined. + // + G4cout << G4endl << "The materials defined are : " << G4endl << G4endl; + G4cout << *(G4Material::GetMaterialTable()) << G4endl; + +//--------- Sizes of the principal geometrical components (solids) --------- + + // world volume + hWorldLength = 50.0*mm; + + // target + hTargetLength = 2.5*mm; + hTargetDepth = 15.0*mm; + + // CCD + hTrackerLength = 20.0*mm; + hTrackerDepth = 0.225*mm; + +//--------- positions of the principal geometrical components -------- + + // target + xPosTarget = 0.0*cm; + yPosTarget = 0.0*cm; + zPosTarget = 0.0*cm; + + // tracker + xPosTracker = 0.0*cm; + yPosTracker = 2.0*cm; + zPosTracker = 0.0*cm; + +//--------- material names of the principal geometrical components -------- + +// WorldMater = Air; + WorldMater = vacuum; + TargetMater = Cu; + TrackerMater = Si; + +//--------- Definitions of Solids, Logical Volumes, Physical Volumes --------- + + + //------------------------------ + // World + //------------------------------ + + solidWorld= new G4Box("world",hWorldLength,hWorldLength,hWorldLength); + logicWorld= new G4LogicalVolume(solidWorld,WorldMater,"World",0,0,0); + + // Must place the World Physical volume unrotated at (0,0,0). + // + physiWorld = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + logicWorld, // its logical volume + "World", // its name + 0, // its mother volume + false, // no boolean operations + 0); // copy number + + + //------------------------------ + // Target + //------------------------------ + + G4ThreeVector positionTarget = + G4ThreeVector(xPosTarget,yPosTarget,zPosTarget); + + solidTarget = new G4Box("target",hTargetLength,hTargetLength,hTargetDepth); + logicTarget = new G4LogicalVolume(solidTarget,TargetMater,"Target",0,0,0); + physiTarget = new G4PVPlacement(0, // no rotation + positionTarget, // at (x,y,z) + logicTarget, // its logical volume + "Target", // its name + logicWorld, // its mother volume + false, // no boolean operations + 0); // copy number + + + //------------------------------ + // Tracker + //------------------------------ + + G4ThreeVector positionTracker = + G4ThreeVector(xPosTracker,yPosTracker,zPosTracker); + + solidTracker = + new G4Box("tracker",hTrackerLength,hTrackerDepth,hTrackerLength); + logicTracker = + new G4LogicalVolume(solidTracker,TrackerMater,"Tracker",0,0,0); + physiTracker = new G4PVPlacement(0, // no rotation + positionTracker, // at (x,y,z) + logicTracker, // its logical volume + "Tracker", // its name + logicWorld, // its mother volume + false, // no boolean operations + 0); // copy number + + + + + //------------------------------------------------ + // Sensitive detectors + //------------------------------------------------ + + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + + G4String trackerChamberSDname = "eRosita/TrackerChamberSD"; + eRositaTrackerSD* aTrackerSD = new eRositaTrackerSD( trackerChamberSDname ); + SDman->AddNewDetector( aTrackerSD ); + logicTracker->SetSensitiveDetector( aTrackerSD ); + + +//--------- Visualization attributes ------------------------------- + + // use this to make world volume invisible + visWorld = new G4VisAttributes(); + visWorld->SetVisibility(false); + logicWorld->SetVisAttributes(visWorld); + + // render target in redish color + visTarget = new G4VisAttributes(); +// visTarget->SetColor(G4Color(1.0,0.3,0.3)); // redish + visTarget->SetColor(G4Color(1.0,1.0,1.0)); // black + logicTarget->SetVisAttributes(visTarget); + + // render tracker in blueish color + visTracker = new G4VisAttributes(); +// visTracker->SetColor(G4Color(0.3,0.3,1.0)); // blueish + visTracker->SetColor(G4Color(1.0,1.0,1.0)); // black + logicTracker->SetVisAttributes(visTracker); + + + + return physiWorld; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +/* +void eRositaDetectorConstruction::setTargetMaterial(G4String materialName) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialName); + if (pttoMaterial) + {TargetMater = pttoMaterial; + logicTarget->SetMaterial(pttoMaterial); + G4cout << "\n----> The target is " << fTargetLength/cm << " cm of " + << materialName << G4endl; + } +} +*/ + diff --git a/environments/MOMO/MomoHome/src/MomoEventAction.cc b/examples/advanced/eRosita/src/eRositaEventAction.cc similarity index 71% rename from environments/MOMO/MomoHome/src/MomoEventAction.cc rename to examples/advanced/eRosita/src/eRositaEventAction.cc index 878c3c27fe..fb65df738b 100644 --- a/environments/MOMO/MomoHome/src/MomoEventAction.cc +++ b/examples/advanced/eRosita/src/eRositaEventAction.cc @@ -23,34 +23,44 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// Taken from -// $Id: MomoEventAction.cc,v 1.2 2006/06/29 15:27:54 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// +// $Id: eRositaEventAction.cc,v 1.3 2010/11/25 21:35:44 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // - -#include "MomoEventAction.hh" +#include "eRositaEventAction.hh" #include "G4Event.hh" -#include "G4EventManager.hh" +//#include "G4EventManager.hh" #include "G4TrajectoryContainer.hh" #include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" -MomoEventAction::MomoEventAction() -{} - -MomoEventAction::~MomoEventAction() +eRositaEventAction::eRositaEventAction() {} -void MomoEventAction::BeginOfEventAction(const G4Event*) +eRositaEventAction::~eRositaEventAction() {} -void MomoEventAction::EndOfEventAction(const G4Event* evt) +void eRositaEventAction::BeginOfEventAction(const G4Event* evt) +{ + G4int nEvent = evt->GetEventID() + 1; + + G4int frequency = 100; + if (nEvent > 1000 ) frequency = 1000; + if (nEvent > 10000) frequency = 10000; + if (nEvent > 100000) frequency = 100000; + + G4int remainder = nEvent % frequency; + if (remainder == 0) G4cout << "---- eRosita event counter: " << nEvent + << std::endl; +} + + +void eRositaEventAction::EndOfEventAction(const G4Event* evt) { G4int event_id = evt->GetEventID(); @@ -63,20 +73,9 @@ void MomoEventAction::EndOfEventAction(const G4Event* evt) // periodic printing // if (event_id < 100 || event_id%100 == 0) { - G4cout << ">>> Event " << evt->GetEventID() << G4endl; - G4cout << " " << n_trajectories - << " trajectories stored in this event." << G4endl; + //G4cout << ">>> Event " << evt->GetEventID() << G4endl; + //G4cout << " " << n_trajectories + // << " trajectories stored in this event." << G4endl; } - - // extract the trajectories and draw them - // - if (G4VVisManager::GetConcreteInstance()) - { - for (G4int i=0; iGetTrajectoryContainer()))[i]); - trj->DrawTrajectory(50); - } - } } diff --git a/examples/advanced/eRosita/src/eRositaPhysicsList.cc b/examples/advanced/eRosita/src/eRositaPhysicsList.cc new file mode 100644 index 0000000000..85e4cc8b23 --- /dev/null +++ b/examples/advanced/eRosita/src/eRositaPhysicsList.cc @@ -0,0 +1,330 @@ +// +// ******************************************************************** +// * 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: eRositaPhysicsList.cc,v 1.6 2010/11/25 17:32:05 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +#include "globals.hh" + +#include "eRositaPhysicsList.hh" + +#include "G4ProcessManager.hh" +#include "G4ParticleTypes.hh" + +#include "G4LowEnergyCompton.hh" +#include "G4LowEnergyGammaConversion.hh" +#include "G4LowEnergyPhotoElectric.hh" +#include "G4LowEnergyRayleigh.hh" +#include "G4LowEnergyIonisation.hh" +#include "G4LowEnergyBremsstrahlung.hh" + +#include "G4eMultipleScattering.hh" +#include "G4hMultipleScattering.hh" + +#include "G4eIonisation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" +#include "G4hIonisation.hh" +#include "G4ionIonisation.hh" + +#include "G4hImpactIonisation.hh" + +#include "G4ProductionCutsTable.hh" + + +eRositaPhysicsList::eRositaPhysicsList(): G4VUserPhysicsList() +{ + defaultCutValue = 0.001*mm; + SetVerboseLevel(1); + + std::cout << "===============================================================================" + << std::endl + << "Geant4 eRosita example - based on a simplified version of eROSITA simulation" + << std::endl + << "Further details can be found in:" + << std::endl + << "M.G. Pia et al., 'PIXE Simulation With Geant4', " + << "IEEE Trans. Nucl. Sci., vol. 56, no. 6, pp. 3614-3649, 2009" + << std::endl + << "N. Meidinger et al., 'Development of the focal plane PNCCD camera system for the X-ray space telescope eROSITA', " + << std::endl + <<"NIM A 624, 321-329, 2010" + << std::endl + << "===============================================================================" + << std::endl; + + std::cout<< std::endl; + + std::cout << "===============================================================================" + << std::endl + << " The use of G4LowEnergyIonisation, G4LowEnergyBremsstrahlung, " + << std::endl + << "G4LowEnergyPhotoElectric, G4LowEnergyCompton, G4LowEnergyGammaConversion" + << std::endl + << "in this example is intentional. These classes will be replaced by other classes" + << std::endl + << "appropriate to the problem domain in a forthcoming Geant4 version" + << std::endl + << "===============================================================================" + << std::endl; +} + + +eRositaPhysicsList::~eRositaPhysicsList() +{} + + +void eRositaPhysicsList::ConstructParticle() +{ + ConstructBosons(); + ConstructLeptons(); + ConstructMesons(); + ConstructBaryons(); +} + + +void eRositaPhysicsList::ConstructBosons() +{ + // pseudo-particles + //G4Geantino::GeantinoDefinition(); + //G4ChargedGeantino::ChargedGeantinoDefinition(); + + // gamma + G4Gamma::GammaDefinition(); +} + + +void eRositaPhysicsList::ConstructLeptons() +{ + // leptons + // e+/- + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + // mu+/- + //G4MuonPlus::MuonPlusDefinition(); + //G4MuonMinus::MuonMinusDefinition(); + // nu_e + //G4NeutrinoE::NeutrinoEDefinition(); + //G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + // nu_mu + //G4NeutrinoMu::NeutrinoMuDefinition(); + //G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); +} + + +void eRositaPhysicsList::ConstructMesons() +{ + // mesons + // light mesons + //G4PionPlus::PionPlusDefinition(); + //G4PionMinus::PionMinusDefinition(); + //G4PionZero::PionZeroDefinition(); + //G4Eta::EtaDefinition(); + //G4EtaPrime::EtaPrimeDefinition(); + //G4KaonPlus::KaonPlusDefinition(); + //G4KaonMinus::KaonMinusDefinition(); + //G4KaonZero::KaonZeroDefinition(); + //G4AntiKaonZero::AntiKaonZeroDefinition(); + //G4KaonZeroLong::KaonZeroLongDefinition(); + //G4KaonZeroShort::KaonZeroShortDefinition(); +} + + +void eRositaPhysicsList::ConstructBaryons() +{ + // barions + G4Proton::ProtonDefinition(); + G4AntiProton::AntiProtonDefinition(); + + //G4Neutron::NeutronDefinition(); + //G4AntiNeutron::AntiNeutronDefinition(); +} + + +void eRositaPhysicsList::ConstructProcess() +{ + AddTransportation(); + ConstructEM(); + ConstructGeneral(); + //AddStepMax(); +} + + + +void eRositaPhysicsList::ConstructEM() +{ + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* processManager = particle->GetProcessManager(); + G4String particleName = particle->GetParticleName(); + + if (particleName == "gamma") { + + // photon + + G4LowEnergyPhotoElectric* photoelectric = new G4LowEnergyPhotoElectric(); + photoelectric->ActivateAuger(true); + photoelectric->SetCutForLowEnSecPhotons(0.250 * keV); + photoelectric->SetCutForLowEnSecElectrons(0.250 * keV); + G4LowEnergyCompton* compton = new G4LowEnergyCompton; + G4LowEnergyGammaConversion* gammaConversion = new G4LowEnergyGammaConversion; + G4LowEnergyRayleigh* rayleigh = new G4LowEnergyRayleigh; + + processManager -> AddDiscreteProcess(photoelectric); + processManager -> AddDiscreteProcess(compton); + processManager -> AddDiscreteProcess(gammaConversion); + processManager -> AddDiscreteProcess(rayleigh); + + } else if (particleName == "e-") { + + // electron + + G4eMultipleScattering* eMultipleScattering = new G4eMultipleScattering(); + G4LowEnergyIonisation* eIonisation = new G4LowEnergyIonisation(); + G4LowEnergyBremsstrahlung* eBremsstrahlung = new G4LowEnergyBremsstrahlung(); + + processManager -> AddProcess(eMultipleScattering, -1, 1, 1); + processManager -> AddProcess(eIonisation, -1, 2, 2); + processManager -> AddProcess(eBremsstrahlung, -1, -1, 3); + + } else if (particleName == "e+") { + // positron + processManager->AddProcess(new G4eMultipleScattering, -1, 1, 1); + processManager->AddProcess(new G4eIonisation, -1, 2, 2); + processManager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + processManager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); + + //} else if( particleName == "mu+" || + // particleName == "mu-" ) { + //muon + //processManager->AddProcess(new G4MuMultipleScattering, -1, 1, 1); + //processManager->AddProcess(new G4MuIonisation, -1, 2, 2); + //processManager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3); + //processManager->AddProcess(new G4MuPairProduction, -1, 4, 4); + + } else if( particleName == "proton" || + particleName == "pi-" || + particleName == "pi+" ) { + //proton + + G4hImpactIonisation* hIonisation = new G4hImpactIonisation(); + hIonisation->SetPixeCrossSectionK("ecpssr"); + hIonisation->SetPixeCrossSectionL("ecpssr"); + hIonisation->SetPixeCrossSectionM("ecpssr"); + hIonisation->SetPixeProjectileMinEnergy(1.* keV); + hIonisation->SetPixeProjectileMaxEnergy(200. * MeV); + hIonisation->SetCutForSecondaryPhotons(250. * eV); + hIonisation->SetCutForAugerElectrons(250. * eV); + + G4hMultipleScattering* hMultipleScattering = new G4hMultipleScattering(); + + processManager -> AddProcess(hMultipleScattering, -1, 1, 1); + processManager -> AddProcess(hIonisation, -1, 2, 2); + + } else if( particleName == "alpha" || + particleName == "He3" || + particleName == "pi-" || + particleName == "pi+" || + particleName == "GenericIon" ) { + + // pions, alpha, ions (should never occur in the current example) + processManager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + processManager->AddProcess(new G4ionIonisation, -1, 2, 2); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + processManager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + processManager->AddProcess(new G4hIonisation, -1, 2, 2); + } + } +} + +#include "G4Decay.hh" + +void eRositaPhysicsList::ConstructGeneral() +{ + // Add Decay Process + G4Decay* theDecayProcess = new G4Decay(); + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* processManager = particle->GetProcessManager(); + if (theDecayProcess->IsApplicable(*particle)) { + processManager ->AddProcess(theDecayProcess); + // set ordering for PostStepDoIt and AtRestDoIt + processManager ->SetProcessOrdering(theDecayProcess, idxPostStep); + processManager ->SetProcessOrdering(theDecayProcess, idxAtRest); + } + } +} + + +/* +#include "G4StepLimiter.hh" +#include "G4UserSpecialCuts.hh" + +void eRositaPhysicsList::AddStepMax() +{ + // Step limitation seen as a process + G4StepLimiter* stepLimiter = new G4StepLimiter(); + ////G4UserSpecialCuts* userCuts = new G4UserSpecialCuts(); + + theParticleIterator->reset(); + while ((*theParticleIterator)()){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* processManager = particle->GetProcessManager(); + + if (particle->GetPDGCharge() != 0.0) + { + processManager ->AddDiscreteProcess(stepLimiter); + ////processManager ->AddDiscreteProcess(userCuts); + } + } +} +*/ + +void eRositaPhysicsList::SetCuts() +{ + //G4VUserPhysicsList::SetCutsWithDefault method sets + //the default cut value for all particle types + // + SetCutsWithDefault(); + + // Set the secondary production cut lower than 990. eV + // Very important for processes at low energies + + G4double lowLimit = 250. * eV; + G4double highLimit = 100. * GeV; + G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(lowLimit, highLimit); + + if (verboseLevel>0) DumpCutValuesTable(); +} + + diff --git a/examples/advanced/eRosita/src/eRositaPrimaryGeneratorAction.cc b/examples/advanced/eRosita/src/eRositaPrimaryGeneratorAction.cc new file mode 100644 index 0000000000..90b5437466 --- /dev/null +++ b/examples/advanced/eRosita/src/eRositaPrimaryGeneratorAction.cc @@ -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: eRositaPrimaryGeneratorAction.cc,v 1.2 2010/11/25 17:32:05 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "eRositaPrimaryGeneratorAction.hh" +#include "eRositaDetectorConstruction.hh" + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +eRositaPrimaryGeneratorAction::eRositaPrimaryGeneratorAction( + eRositaDetectorConstruction* myDC) +:myDetector(myDC) +{ + G4int n_particle = 1; +// G4int n_particle = 1000; + particleGun = new G4ParticleGun(n_particle); + +// default particle + + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + + G4ParticleDefinition* particle = particleTable->FindParticle("proton"); + + particleGun->SetParticleDefinition(particle); + xdirection = 0.0; // x component of initial momentum vector + ydirection = -0.5; // y -"- + zdirection = -1.0; // z -"- + particleGun->SetParticleMomentumDirection(G4ThreeVector(xdirection,ydirection,zdirection)); + particleGun->SetParticleEnergy(100.0*MeV); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +eRositaPrimaryGeneratorAction::~eRositaPrimaryGeneratorAction() +{ + delete particleGun; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void eRositaPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +{ + + xposition = 0.0*cm; + yposition = 2.25*cm; + zposition = 4.0*cm; + + particleGun->SetParticlePosition(G4ThreeVector(xposition,yposition,zposition)); + + particleGun->GeneratePrimaryVertex(anEvent); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/environments/MOMO/MomoHome/src/MomoRunAction.cc b/examples/advanced/eRosita/src/eRositaRunAction.cc similarity index 69% rename from environments/MOMO/MomoHome/src/MomoRunAction.cc rename to examples/advanced/eRosita/src/eRositaRunAction.cc index 52ac1195c7..30326ea405 100644 --- a/environments/MOMO/MomoHome/src/MomoRunAction.cc +++ b/examples/advanced/eRosita/src/eRositaRunAction.cc @@ -23,47 +23,53 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// Taken from -// $Id: MomoRunAction.cc,v 1.2 2006/06/29 15:28:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// +// $Id: eRositaRunAction.cc,v 1.3 2010/11/25 21:35:44 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // - -#include "MomoRunAction.hh" +#include "eRositaRunAction.hh" +#include "AnalysisManager.hh" #include "G4Run.hh" -#include "G4UImanager.hh" -#include "G4VVisManager.hh" -#include "G4ios.hh" -MomoRunAction::MomoRunAction() +eRositaRunAction::eRositaRunAction() {} -MomoRunAction::~MomoRunAction() +eRositaRunAction::~eRositaRunAction() {} -void MomoRunAction::BeginOfRunAction(const G4Run* aRun) + +void eRositaRunAction::BeginOfRunAction(const G4Run* run) { - G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; + timerRun.Start(); - if (G4VVisManager::GetConcreteInstance()) - { - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand("/vis/scene/notifyHandlers"); - } -} + G4cout << "--- Run " << run->GetRunID() << " start." << G4endl; - -void MomoRunAction::EndOfRunAction(const G4Run*) -{ - if (G4VVisManager::GetConcreteInstance()) - { - G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update"); - } + AnalysisManager::Instance(); } +void eRositaRunAction::EndOfRunAction(const G4Run* run) +{ + + AnalysisManager::Instance()->Destroy(); + + G4cout << "--- Run " << run->GetRunID() + << run -> GetRunID() + << " ends (Number of events = " + << run -> GetNumberOfEvent() << ")." + << G4endl; + + timerRun.Stop(); + std::cout << " " << timerRun << std::endl; +} + + + + + diff --git a/examples/advanced/eRosita/src/eRositaSteppingAction.cc b/examples/advanced/eRosita/src/eRositaSteppingAction.cc new file mode 100644 index 0000000000..dc1fcbf0da --- /dev/null +++ b/examples/advanced/eRosita/src/eRositaSteppingAction.cc @@ -0,0 +1,48 @@ +// +// ******************************************************************** +// * 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: eRositaSteppingAction.cc,v 1.1 2010/11/23 16:17:16 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "eRositaSteppingAction.hh" +#include "G4SteppingManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +eRositaSteppingAction::eRositaSteppingAction() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +//void eRositaSteppingAction::UserSteppingAction(const G4Step*) +//{ +//} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/advanced/eRosita/src/eRositaSteppingVerbose.cc b/examples/advanced/eRosita/src/eRositaSteppingVerbose.cc new file mode 100644 index 0000000000..79fead3cef --- /dev/null +++ b/examples/advanced/eRosita/src/eRositaSteppingVerbose.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. * +// ******************************************************************** +// +// +// $Id: eRositaSteppingVerbose.cc,v 1.1 2010/11/23 16:17:16 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "eRositaSteppingVerbose.hh" + +#include "G4SteppingManager.hh" +#include "G4UnitsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +eRositaSteppingVerbose::eRositaSteppingVerbose() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +eRositaSteppingVerbose::~eRositaSteppingVerbose() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void eRositaSteppingVerbose::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 eRositaSteppingVerbose::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/extended/parallel/ExDiane/src/BrachyPhantomHit.cc b/examples/advanced/eRosita/src/eRositaTrackerHit.cc similarity index 52% rename from examples/extended/parallel/ExDiane/src/BrachyPhantomHit.cc rename to examples/advanced/eRosita/src/eRositaTrackerHit.cc index e402ddef7e..deb16f0b81 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyPhantomHit.cc +++ b/examples/advanced/eRosita/src/eRositaTrackerHit.cc @@ -24,71 +24,87 @@ // ******************************************************************** // // -// Code developed by: S.Guatelli +// $Id: eRositaTrackerHit.cc,v 1.4 2010/11/25 17:32:05 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// ******************************** -// * * -// * BrachyPhantomHit.cc * -// * * -// ******************************** -// -// $Id: BrachyPhantomHit.cc,v 1.3 2006/06/29 17:33:23 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "BrachyPhantomHit.hh" -#include "G4ios.hh" + +#include "eRositaTrackerHit.hh" +#include "G4UnitsTable.hh" #include "G4VVisManager.hh" +#include "G4Circle.hh" #include "G4Colour.hh" #include "G4VisAttributes.hh" -#include "G4LogicalVolume.hh" +#include "G4ios.hh" +#include "AnalysisManager.hh" -G4Allocator BrachyPhantomHitAllocator; +G4Allocator eRositaTrackerHitAllocator; -BrachyPhantomHit::BrachyPhantomHit(G4LogicalVolume* logVol,G4int XID,G4int YID,G4int ZID): logicalVolume(logVol), - xHitPosition(XID), - zHitPosition(ZID), - yHitPosition(YID) -{ - energyDeposit = 0; -} -BrachyPhantomHit::~BrachyPhantomHit() -{ -} +eRositaTrackerHit::eRositaTrackerHit() {} -BrachyPhantomHit::BrachyPhantomHit(const BrachyPhantomHit &right) + +eRositaTrackerHit::~eRositaTrackerHit() {} + + +eRositaTrackerHit::eRositaTrackerHit(const eRositaTrackerHit& right) : G4VHit() { - xHitPosition = right.xHitPosition; - zHitPosition = right.zHitPosition; - yHitPosition = right.yHitPosition; - energyDeposit = right.energyDeposit; - hitPosition = right.hitPosition; - rotation = right.rotation; - logicalVolume = right.logicalVolume; + trackID = right.trackID; + chamberNb = right.chamberNb; + edep = right.edep; + pos = right.pos; } -const BrachyPhantomHit& BrachyPhantomHit::operator=(const BrachyPhantomHit &right) + +const eRositaTrackerHit& eRositaTrackerHit::operator=(const eRositaTrackerHit& right) { - xHitPosition = right.xHitPosition; - zHitPosition = right.zHitPosition; - yHitPosition = right.yHitPosition; - energyDeposit = right.energyDeposit; - hitPosition = right.hitPosition; - rotation = right.rotation; - logicalVolume = right.logicalVolume; - return *this; + trackID = right.trackID; + chamberNb = right.chamberNb; + edep = right.edep; + pos = right.pos; + return *this; } -int BrachyPhantomHit::operator==(const BrachyPhantomHit &right) const + +G4int eRositaTrackerHit::operator==(const eRositaTrackerHit& right) const { - return((xHitPosition==right.xHitPosition)&&(zHitPosition==right.zHitPosition)&&(yHitPosition==right.yHitPosition)); + return (this==&right) ? 1 : 0; } -void BrachyPhantomHit::Draw() + +void eRositaTrackerHit::Draw() { + G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); + if(pVVisManager) + { + G4Circle circle(pos); + circle.SetScreenSize(2.); + circle.SetFillStyle(G4Circle::filled); + G4Colour colour(1.,0.,0.); + G4VisAttributes attribs(colour); + circle.SetVisAttributes(attribs); + pVVisManager->Draw(circle); + } } -void BrachyPhantomHit::Print() + +void eRositaTrackerHit::Print() { + G4cout << " trackID: " << trackID + << " energy deposit: " << G4BestUnit(edep,"Energy") + << " position: " << G4BestUnit(pos,"Length") << G4endl; } + + +void eRositaTrackerHit::PrintToFile() +{ + //out << trackID + // << " " << edep + // << " " << pos.x() + // << " " << pos.y() + // << " " << pos.z() + // << std::endl; + AnalysisManager::Instance()->Score(edep); + +} + diff --git a/examples/advanced/eRosita/src/eRositaTrackerSD.cc b/examples/advanced/eRosita/src/eRositaTrackerSD.cc new file mode 100644 index 0000000000..d023e53e19 --- /dev/null +++ b/examples/advanced/eRosita/src/eRositaTrackerSD.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: eRositaTrackerSD.cc,v 1.4 2010/11/25 17:32:05 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +#include "eRositaTrackerSD.hh" +#include "G4HCofThisEvent.hh" +#include "G4Step.hh" +#include "G4ThreeVector.hh" +#include "G4SDManager.hh" +#include "G4ios.hh" +#include "G4ParticleTypes.hh" + +#include +#include + +#include "AnalysisManager.hh" + + + +eRositaTrackerSD::eRositaTrackerSD(G4String name) + :G4VSensitiveDetector(name) +{ + G4String HCname; + collectionName.insert(HCname="trackerCollection"); +} + + +eRositaTrackerSD::~eRositaTrackerSD(){ } + + +void eRositaTrackerSD::Initialize(G4HCofThisEvent* HCE) +{ + trackerCollection = new eRositaTrackerHitsCollection + (SensitiveDetectorName,collectionName[0]); + static G4int HCID = -1; + if (HCID < 0) + { + HCID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); + } + HCE->AddHitsCollection( HCID, trackerCollection ); +} + + +G4bool eRositaTrackerSD::ProcessHits(G4Step* aStep,G4TouchableHistory*) +{ + if(aStep->GetTrack()->GetDefinition() != G4Gamma::GammaDefinition()) return false; + +// G4double edep = aStep->GetTotalEnergyDeposit(); + G4double edep = aStep->GetPreStepPoint()->GetKineticEnergy(); + + if (edep == 0.) return false; + + eRositaTrackerHit* newHit = new eRositaTrackerHit(); + newHit->SetTrackID (aStep->GetTrack()->GetTrackID()); + //newHit->SetChamberNb(aStep->GetPreStepPoint()->GetTouchableHandle() + // ->GetCopyNumber()); + newHit->SetEdep(edep); + newHit->SetPos(aStep->GetPostStepPoint()->GetPosition()); + trackerCollection->insert( newHit ); + + //newHit->Print(); + //newHit->Draw(); + + //ofstream out("ASCII"); + //newHit->PrintToFile(out); + //out.close(); + + return true; +} + + +void eRositaTrackerSD::EndOfEvent(G4HCofThisEvent*) +{ + G4int NbHits = trackerCollection->entries(); + + if (verboseLevel > 0) + { + + G4cout << std::endl + << "Hits Collection: in this event they are " << NbHits + << " hits in the tracker chambers: " << G4endl; + for (G4int i=0;iPrint(); + + } + + // ofstream out("ASCII"); + //if (!out.is_open()) + // { + // G4cout <<"...opening ASCII file failed"; + // } + + double eTot = 0.; + + for (G4int i=0; iPrintToFile(); + eTot += (*trackerCollection)[i]->GetEdep(); + }; + +// if (eTot > 0.) AnalysisManager::Instance()->ScoreTot(eTot); + +//out.close(); +} + + + + diff --git a/examples/advanced/eRosita/vis.mac b/examples/advanced/eRosita/vis.mac new file mode 100644 index 0000000000..e0b10524de --- /dev/null +++ b/examples/advanced/eRosita/vis.mac @@ -0,0 +1,37 @@ +# +# Macro file for the initialization phase of "exampleN02.cc" +# when runing in interactive mode +# +# Sets some default verbose +# +/control/verbose 2 +/run/verbose 2 +#/tracking/verbose 2 +# +# Create a scene handler for a specific graphics system +# (Edit the next line(s) to choose another graphics system) +# +#/vis/open OGL 600x600-0+0 +/vis/open OGL +# +####/vis/open OGLSXm +####/vis/open HepRepXML +# +#/vis/open DAWNFILE +# +#draw scene +# +/vis/drawVolume +# +/vis/viewer/set/viewpointThetaPhi 90 180 deg +/vis/viewer/zoom 1.4 +# +# for drawing the tracks +/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 +# (if you prefer refreshing each event, comment out next line) +/vis/scene/endOfEventAction accumulate +# +/run/beamOn 100 diff --git a/examples/advanced/gammaray_telescope/GNUmakefile b/examples/advanced/gammaray_telescope/GNUmakefile index ec0c6eff6a..ee399b92d5 100644 --- a/examples/advanced/gammaray_telescope/GNUmakefile +++ b/examples/advanced/gammaray_telescope/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.24 2006/11/17 15:49:35 flongo Exp $ +# $Id: GNUmakefile,v 1.25 2010/01/11 14:29:03 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif .PHONY: all diff --git a/examples/advanced/gammaray_telescope/GammaRayTel.cc b/examples/advanced/gammaray_telescope/GammaRayTel.cc index 948c4d1278..e9996f2a66 100644 --- a/examples/advanced/gammaray_telescope/GammaRayTel.cc +++ b/examples/advanced/gammaray_telescope/GammaRayTel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: GammaRayTel.cc,v 1.17 2009/11/18 15:54:55 flongo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: GammaRayTel.cc,v 1.19 2010/11/11 17:42:50 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -42,17 +42,15 @@ #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 +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #include "GammaRayTelDetectorConstruction.hh" #include "GammaRayTelPhysicsList.hh" #include "GammaRayTelPrimaryGeneratorAction.hh" @@ -82,15 +80,15 @@ int main(int argc, char** argv) runManager->SetUserInitialization(detector); // POSSIBILITY TO SELECT ANOTHER PHYSICS LIST + // do not use GammaRayTelPhysicsList, this is old style and crashes at + // program exit + //runManager->SetUserInitialization(new GammaRayTelPhysicsList); - runManager->SetUserInitialization(new GammaRayTelPhysicsList); - //runManager->SetUserInitialization(new QGSP_BIC); - + runManager->SetUserInitialization(new QGSP_BIC); // Set mandatory user action classes runManager->SetUserAction(new GammaRayTelPrimaryGeneratorAction); - #ifdef G4ANALYSIS_USE // Creation of the analysis manager GammaRayTelAnalysis* analysis = GammaRayTelAnalysis::getInstance(); @@ -103,20 +101,6 @@ int main(int argc, char** argv) runManager->SetUserAction(runAction); // Set visualization and user interface - // Initialization of the User Interface Session - G4UIsession* session=0; -#ifdef G4UI_USE_XM - // Create a XMotif user interface - session = new G4UIXm(argc,argv); -#else -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - // Create the standard user interface - session = new G4UIterminal(); -#endif -#endif - #ifdef G4VIS_USE // Visualization manager G4VisManager* visManager = new G4VisExecutive; @@ -127,9 +111,14 @@ int main(int argc, char** argv) // runManager->Initialize(); // Get the pointer to the UI manager - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (session) + G4UIExecutive* ui = 0; +#ifdef G4UI_USE + ui = new G4UIExecutive(argc, argv); +#endif + + if (ui) { /* prerunGammaRayTel.mac is loaded by default unless a macro file is passed as the argument @@ -141,15 +130,15 @@ int main(int argc, char** argv) for (int i=2; i<=argc; i++) { G4String macroFileName = argv[i-1]; - UI->ApplyCommand(command+macroFileName); + UImanager->ApplyCommand(command+macroFileName); } } else { - UI->ApplyCommand("/control/execute prerunGammaRayTel.mac"); - session->SessionStart(); + UImanager->ApplyCommand("/control/execute prerunGammaRayTel.mac"); + ui->SessionStart(); } - delete session; + delete ui; } // Job termination @@ -162,13 +151,3 @@ int main(int argc, char** argv) delete runManager; return 0; } - - - - - - - - - - diff --git a/examples/advanced/gammaray_telescope/History b/examples/advanced/gammaray_telescope/History index ab71a0aba2..1ca28dbf9a 100644 --- a/examples/advanced/gammaray_telescope/History +++ b/examples/advanced/gammaray_telescope/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.6 2008/11/24 15:13:51 cirrone Exp $ +$Id: History,v 1.11 2010/11/11 17:43:55 gunter Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,6 +8,22 @@ $Id: History,v 1.6 2008/11/24 15:13:51 cirrone Exp $ History file ------------ + +11.11.2010 Gunter Folger, Tag: gammaraytel-V09-03-03 + Use new G4MultipleScattering classes + Correct initialisation of G4ThreeVector + Use predefined physics list in place of old style + GammaRayPhysics; latter crashes on exit. + +09.11.2010 Makoto Asai, Tag: gammaraytel-V09-03-02 + Fix AIDA file option. + +09.11.2010 John Allison, Tag: gammaraytel-V09-03-01 + Introduce G4UIExecutive. + +03.06.2010 Joseph Perl, Tag: gammaraytel-V09-03-00 + Update vis usage + 24.11.2008 G.A.P.Cirrone, Tag: gammaraytel-V09-01-02 Updated History file diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelHadronPhysics.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelHadronPhysics.hh index 2bed08b620..94beb5c504 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelHadronPhysics.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelHadronPhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: GammaRayTelHadronPhysics.hh,v 1.4 2006/06/29 15:55:35 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: GammaRayTelHadronPhysics.hh,v 1.5 2010/11/11 17:25:01 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------ // GEANT 4 class header file @@ -41,7 +41,7 @@ #include "G4VPhysicsConstructor.hh" -#include "G4MultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4hIonisation.hh" #include "G4HadronElasticProcess.hh" @@ -180,13 +180,13 @@ class GammaRayTelHadronPhysics : public G4VPhysicsConstructor // Pi + G4PionPlusInelasticProcess thePionPlusInelastic; G4LEPionPlusInelastic* theLEPionPlusModel; - G4MultipleScattering thePionPlusMult; + G4hMultipleScattering thePionPlusMult; G4hIonisation thePionPlusIonisation; // Pi - G4PionMinusInelasticProcess thePionMinusInelastic; G4LEPionMinusInelastic* theLEPionMinusModel; - G4MultipleScattering thePionMinusMult; + G4hMultipleScattering thePionMinusMult; G4hIonisation thePionMinusIonisation; #ifdef TRIUMF_STOP_PIMINUS G4PionMinusAbsorptionAtRest thePionMinusAbsorption; @@ -208,14 +208,14 @@ class GammaRayTelHadronPhysics : public G4VPhysicsConstructor G4KaonPlusInelasticProcess theKaonPlusInelastic; G4LEKaonPlusInelastic* theLEKaonPlusModel; G4HEKaonPlusInelastic* theHEKaonPlusModel; - G4MultipleScattering theKaonPlusMult; + G4hMultipleScattering theKaonPlusMult; G4hIonisation theKaonPlusIonisation; // K - G4KaonMinusInelasticProcess theKaonMinusInelastic; G4LEKaonMinusInelastic* theLEKaonMinusModel; G4HEKaonMinusInelastic* theHEKaonMinusModel; - G4MultipleScattering theKaonMinusMult; + G4hMultipleScattering theKaonMinusMult; G4hIonisation theKaonMinusIonisation; #ifdef TRIUMF_STOP_KMINUS G4KaonMinusAbsorption theKaonMinusAbsorption; @@ -237,14 +237,14 @@ class GammaRayTelHadronPhysics : public G4VPhysicsConstructor G4ProtonInelasticProcess theProtonInelastic; G4LEProtonInelastic* theLEProtonModel; G4HEProtonInelastic* theHEProtonModel; - G4MultipleScattering theProtonMult; + G4hMultipleScattering theProtonMult; G4hIonisation theProtonIonisation; // anti-proton G4AntiProtonInelasticProcess theAntiProtonInelastic; G4LEAntiProtonInelastic* theLEAntiProtonModel; G4HEAntiProtonInelastic* theHEAntiProtonModel; - G4MultipleScattering theAntiProtonMult; + G4hMultipleScattering theAntiProtonMult; G4hIonisation theAntiProtonIonisation; G4AntiProtonAnnihilationAtRest theAntiProtonAnnihilation; @@ -278,28 +278,28 @@ class GammaRayTelHadronPhysics : public G4VPhysicsConstructor G4SigmaMinusInelasticProcess theSigmaMinusInelastic; G4LESigmaMinusInelastic* theLESigmaMinusModel; G4HESigmaMinusInelastic* theHESigmaMinusModel; - G4MultipleScattering theSigmaMinusMult; + G4hMultipleScattering theSigmaMinusMult; G4hIonisation theSigmaMinusIonisation; // AntiSigmaMinus G4AntiSigmaMinusInelasticProcess theAntiSigmaMinusInelastic; G4LEAntiSigmaMinusInelastic* theLEAntiSigmaMinusModel; G4HEAntiSigmaMinusInelastic* theHEAntiSigmaMinusModel; - G4MultipleScattering theAntiSigmaMinusMult; + G4hMultipleScattering theAntiSigmaMinusMult; G4hIonisation theAntiSigmaMinusIonisation; // SigmaPlus G4SigmaPlusInelasticProcess theSigmaPlusInelastic; G4LESigmaPlusInelastic* theLESigmaPlusModel; G4HESigmaPlusInelastic* theHESigmaPlusModel; - G4MultipleScattering theSigmaPlusMult; + G4hMultipleScattering theSigmaPlusMult; G4hIonisation theSigmaPlusIonisation; // AntiSigmaPlus G4AntiSigmaPlusInelasticProcess theAntiSigmaPlusInelastic; G4LEAntiSigmaPlusInelastic* theLEAntiSigmaPlusModel; G4HEAntiSigmaPlusInelastic* theHEAntiSigmaPlusModel; - G4MultipleScattering theAntiSigmaPlusMult; + G4hMultipleScattering theAntiSigmaPlusMult; G4hIonisation theAntiSigmaPlusIonisation; // XiZero @@ -316,28 +316,28 @@ class GammaRayTelHadronPhysics : public G4VPhysicsConstructor G4XiMinusInelasticProcess theXiMinusInelastic; G4LEXiMinusInelastic* theLEXiMinusModel; G4HEXiMinusInelastic* theHEXiMinusModel; - G4MultipleScattering theXiMinusMult; + G4hMultipleScattering theXiMinusMult; G4hIonisation theXiMinusIonisation; // AntiXiMinus G4AntiXiMinusInelasticProcess theAntiXiMinusInelastic; G4LEAntiXiMinusInelastic* theLEAntiXiMinusModel; G4HEAntiXiMinusInelastic* theHEAntiXiMinusModel; - G4MultipleScattering theAntiXiMinusMult; + G4hMultipleScattering theAntiXiMinusMult; G4hIonisation theAntiXiMinusIonisation; // OmegaMinus G4OmegaMinusInelasticProcess theOmegaMinusInelastic; G4LEOmegaMinusInelastic* theLEOmegaMinusModel; G4HEOmegaMinusInelastic* theHEOmegaMinusModel; - G4MultipleScattering theOmegaMinusMult; + G4hMultipleScattering theOmegaMinusMult; G4hIonisation theOmegaMinusIonisation; // AntiOmegaMinus G4AntiOmegaMinusInelasticProcess theAntiOmegaMinusInelastic; G4LEAntiOmegaMinusInelastic* theLEAntiOmegaMinusModel; G4HEAntiOmegaMinusInelastic* theHEAntiOmegaMinusModel; - G4MultipleScattering theAntiOmegaMinusMult; + G4hMultipleScattering theAntiOmegaMinusMult; G4hIonisation theAntiOmegaMinusIonisation; }; diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelIonPhysics.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelIonPhysics.hh index f30c09b763..51da53a8c8 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelIonPhysics.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelIonPhysics.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: GammaRayTelIonPhysics.hh,v 1.2 2006/06/29 15:55:38 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: GammaRayTelIonPhysics.hh,v 1.3 2010/11/11 17:25:01 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -58,7 +58,7 @@ #include "G4LEAlphaInelastic.hh" #include "G4hIonisation.hh" -#include "G4MultipleScattering.hh" +#include "G4hMultipleScattering.hh" class GammaRayTelIonPhysics : public G4VPhysicsConstructor { @@ -82,29 +82,29 @@ class GammaRayTelIonPhysics : public G4VPhysicsConstructor G4LElastic* theElasticModel; // Generic Ion physics - G4MultipleScattering fIonMultipleScattering; + G4hMultipleScattering fIonMultipleScattering; G4hIonisation fIonIonisation; // Deuteron physics - G4MultipleScattering fDeuteronMultipleScattering; + G4hMultipleScattering fDeuteronMultipleScattering; G4hIonisation fDeuteronIonisation; G4DeuteronInelasticProcess fDeuteronProcess; G4LEDeuteronInelastic* fDeuteronModel; // Triton physics - G4MultipleScattering fTritonMultipleScattering; + G4hMultipleScattering fTritonMultipleScattering; G4hIonisation fTritonIonisation; G4TritonInelasticProcess fTritonProcess; G4LETritonInelastic* fTritonModel; // Alpha physics - G4MultipleScattering fAlphaMultipleScattering; + G4hMultipleScattering fAlphaMultipleScattering; G4hIonisation fAlphaIonisation; G4AlphaInelasticProcess fAlphaProcess; G4LEAlphaInelastic* fAlphaModel; // He3 physics - G4MultipleScattering fHe3MultipleScattering; + G4hMultipleScattering fHe3MultipleScattering; G4hIonisation fHe3Ionisation; }; diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelMuonPhysics.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelMuonPhysics.hh index 6b3a1c7fbd..d2a80380e6 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelMuonPhysics.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelMuonPhysics.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: GammaRayTelMuonPhysics.hh,v 1.2 2006/06/29 15:55:41 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: GammaRayTelMuonPhysics.hh,v 1.3 2010/11/11 17:25:01 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -44,7 +44,8 @@ #include "G4ios.hh" #include "G4VPhysicsConstructor.hh" -#include "G4MultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4MuBremsstrahlung.hh" #include "G4MuPairProduction.hh" #include "G4MuIonisation.hh" @@ -70,12 +71,12 @@ class GammaRayTelMuonPhysics : public G4VPhysicsConstructor protected: // Muon physics - G4MultipleScattering fMuPlusMultipleScattering; + G4MuMultipleScattering fMuPlusMultipleScattering; G4MuBremsstrahlung fMuPlusBremsstrahlung ; G4MuPairProduction fMuPlusPairProduction; G4MuIonisation fMuPlusIonisation; - G4MultipleScattering fMuMinusMultipleScattering; + G4MuMultipleScattering fMuMinusMultipleScattering; G4MuBremsstrahlung fMuMinusBremsstrahlung ; G4MuPairProduction fMuMinusPairProduction; G4MuIonisation fMuMinusIonisation; @@ -83,10 +84,10 @@ class GammaRayTelMuonPhysics : public G4VPhysicsConstructor G4MuonMinusCaptureAtRest fMuMinusCaptureAtRest; // Tau physics - G4MultipleScattering fTauPlusMultipleScattering; + G4hMultipleScattering fTauPlusMultipleScattering; G4hIonisation fTauPlusIonisation; - G4MultipleScattering fTauMinusMultipleScattering; + G4hMultipleScattering fTauMinusMultipleScattering; G4hIonisation fTauMinusIonisation; }; diff --git a/examples/advanced/gammaray_telescope/macro1.mac b/examples/advanced/gammaray_telescope/macro1.mac index 77a2cb7b14..e53b65c02d 100644 --- a/examples/advanced/gammaray_telescope/macro1.mac +++ b/examples/advanced/gammaray_telescope/macro1.mac @@ -27,24 +27,74 @@ #/payload/setNbOfTKRLayers 15 #/payload/update +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# Create a scene handler for a specific graphics system -/vis/open OGLSX +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: #/vis/open HepRepFile - -/vis/viewer/reset -/vis/viewer/set/viewpointThetaPhi 90 0 - -# Visualize of the whole detector geometry -/vis/drawVolume - -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 - # -# Flush visualization -/vis/viewer/update +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush # run 10 events /run/beamOn 10 diff --git a/examples/advanced/gammaray_telescope/macro2.mac b/examples/advanced/gammaray_telescope/macro2.mac index a96f58801c..03a58fb500 100644 --- a/examples/advanced/gammaray_telescope/macro2.mac +++ b/examples/advanced/gammaray_telescope/macro2.mac @@ -31,25 +31,74 @@ /payload/setNbOfTKRLayers 10 /payload/update - +# Use this open statement to create an OpenGL view: +#/vis/open OGL 600x600-0+0 # -# Create a scene handler for a specific graphics system +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: /vis/open VRML2FILE -#/vis/open OGLIX - -/vis/viewer/reset -/vis/viewer/set/viewpointThetaPhi 90 0 - -# Visualize of the whole detector geometry -/vis/drawVolume - -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 - # -# Flush visualization -/vis/viewer/update +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush /run/beamOn 10 diff --git a/examples/advanced/gammaray_telescope/macro3.mac b/examples/advanced/gammaray_telescope/macro3.mac index d7ac7efc22..f33e9e9945 100644 --- a/examples/advanced/gammaray_telescope/macro3.mac +++ b/examples/advanced/gammaray_telescope/macro3.mac @@ -25,24 +25,73 @@ #/payload/setNbOfTKRLayers 15 #/payload/update +# Use this open statement to create an OpenGL view: +#/vis/open OGL 600x600-0+0 # -# Create a scene handler for a specific graphics system +# Use this open statement to create a DAWN view: /vis/open DAWN -#/vis/open HepRepFile - -/vis/viewer/reset -/vis/viewer/set/viewpointThetaPhi 90 0 - -# Visualize of the whole detector geometry -/vis/drawVolume - -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 - # -# Flush visualization -/vis/viewer/update +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush # run 10 events /run/beamOn 10 diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc index b75f97ccb4..a1ce6f215e 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc @@ -25,8 +25,8 @@ // #ifdef G4ANALYSIS_USE // -// $Id: GammaRayTelAnalysis.cc,v 1.21 2006/06/29 15:56:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: GammaRayTelAnalysis.cc,v 1.22 2010/11/10 00:15:42 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland @@ -91,7 +91,7 @@ GammaRayTelAnalysis::GammaRayTelAnalysis() // tree = treeFactory->create("gammaraytel.hbook", "hbook", false, false); // (hbook implementation) - tree = treeFactory->create("gammaraytel.aida","xml",false,true,"uncompress"); + tree = treeFactory->create("gammaraytel.aida","xml",false,true,""); if(tree) { // Get a tuple factory : ITupleFactory* tupleFactory = analysisFactory->createTupleFactory(*tree); diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc index 4480d3c52d..e3c4031b3c 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: GammaRayTelAnticoincidenceHit.cc,v 1.4 2006/06/29 15:56:12 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: GammaRayTelAnticoincidenceHit.cc,v 1.5 2010/11/11 17:25:01 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland @@ -49,7 +49,7 @@ GammaRayTelAnticoincidenceHit::GammaRayTelAnticoincidenceHit() EdepACD = 0.; ACDTileNumber = 0; IsACDPlane = 0; - pos = 0.; + pos = G4ThreeVector(0.,0.,0.); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc index 5644b75bcd..70715318d1 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: GammaRayTelCalorimeterHit.cc,v 1.4 2006/06/29 15:56:17 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: GammaRayTelCalorimeterHit.cc,v 1.5 2010/11/11 17:25:01 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland @@ -50,7 +50,7 @@ GammaRayTelCalorimeterHit::GammaRayTelCalorimeterHit() CALBarNumber = 0; CALPlaneNumber = 0; IsCALPlane = 0; - pos = 0.; + pos = G4ThreeVector(0.,0.,0.); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc index c302e77cac..98877334cf 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: GammaRayTelEventAction.cc,v 1.19 2006/06/29 15:56:39 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: GammaRayTelEventAction.cc,v 1.20 2010/06/06 06:18:54 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland @@ -53,9 +53,6 @@ #include "G4EventManager.hh" #include "G4HCofThisEvent.hh" #include "G4VHitsCollection.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4SDManager.hh" #include "G4UImanager.hh" #include "G4ios.hh" @@ -242,15 +239,6 @@ void GammaRayTelEventAction::EndOfEventAction(const G4Event* evt) } } } - - if(G4VVisManager::GetConcreteInstance()) { - for(G4int i=0; iGetTrajectoryContainer()))[i]); - if (drawFlag == "all") trj->DrawTrajectory(50); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(50); - } - } } diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc index 98dae71ca8..389ce43614 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: GammaRayTelTrackerHit.cc,v 1.4 2006/06/29 15:57:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: GammaRayTelTrackerHit.cc,v 1.5 2010/11/11 17:25:01 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland @@ -48,7 +48,7 @@ GammaRayTelTrackerHit::GammaRayTelTrackerHit() { EdepSil = 0.; NStrip = 0; NSilPlane = 0; IsXPlane = 0; - pos = 0.; + pos = G4ThreeVector(0.,0.,0.); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/hadrontherapy/GNUmakefile b/examples/advanced/hadrontherapy/GNUmakefile index 9460f1d6f0..eb7bdd7ffe 100644 --- a/examples/advanced/hadrontherapy/GNUmakefile +++ b/examples/advanced/hadrontherapy/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.12 2009/08/13 20:48:04 kaitanie Exp $ +# $Id: GNUmakefile,v 1.18 2010/11/12 14:50:02 cirrone Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -7,8 +7,11 @@ name := Hadrontherapy G4TARGET := $(name) G4EXLIB := true +# Debug info +#CPPFLAGS += -g + ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif .PHONY: all @@ -16,18 +19,11 @@ 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 +ifdef G4ANALYSIS_USE_ROOT # If we have ROOT +CPPFLAGS += -DG4ANALYSIS_USE_ROOT CPPFLAGS += $(shell root-config --cflags) -LDFLAGS += $(shell root-config --glibs) -endif +EXTRALIBS += $(shell root-config --glibs) endif include $(G4INSTALL)/config/binmake.gmk -ifdef G4ANALYSIS_USE -endif diff --git a/examples/advanced/hadrontherapy/Hadrontherapy.cc b/examples/advanced/hadrontherapy/Hadrontherapy.cc index 6a6b276305..36e14a869e 100644 --- a/examples/advanced/hadrontherapy/Hadrontherapy.cc +++ b/examples/advanced/hadrontherapy/Hadrontherapy.cc @@ -23,27 +23,24 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// Hadrontherapy.cc -// -// Main of the Hadrontherapy example; -// Released with the Geant4 9.3 version (December 2009) -// -// Last modified: G.A.P.Cirrone -// +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy // +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// // ---------------------------------------------------------------------------- // GEANT 4 - Hadrontherapy example // ---------------------------------------------------------------------------- -// Code developed by: +// Main Authors: // -// G.A.P. Cirrone(a)°, G.Cuttone(a), F.Di Rosa(a), S.E.Mazzaglia(a), F.Romano(a) +// G.A.P. Cirrone(a)°, G.Cuttone(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) +// F.Di Rosa(a), S.Guatelli(c), A.Lechner(e), M.G.Pia(b), G.Russo(a), M.Russo(a), +// P.Kaitaniemi(d), A.Heikkinen(d), G.Danielsen (d) // // (a) Laboratori Nazionali del Sud // of the INFN, Catania, Italy @@ -61,8 +58,8 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" +#include "G4PhysListFactory.hh" +#include "G4VModularPhysicsList.hh" #include "HadrontherapyEventAction.hh" #include "HadrontherapyPhysicsList.hh" #include "HadrontherapyDetectorSD.hh" @@ -71,7 +68,6 @@ #include "HadrontherapyMatrix.hh" #include "Randomize.hh" #include "G4RunManager.hh" -#include "G4UImanager.hh" #include "G4UImessenger.hh" #include "globals.hh" #include "HadrontherapySteppingAction.hh" @@ -82,131 +78,144 @@ #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" +#ifdef G4UI_USE +#include "G4UIExecutive.hh" #endif ////////////////////////////////////////////////////////////////////////////////////////////// + int main(int argc ,char ** argv) { // Set the Random engine CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine()); - - G4RunManager* runManager = new G4RunManager; - - //Initialize possible analysis needs, needs to come early in order to pick up metadata -#ifdef ANALYSIS_USE - HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::getInstance(); - analysis -> book(); -#endif + + G4RunManager* runManager = new G4RunManager; // 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()); + G4PhysListFactory factory; + G4VModularPhysicsList* phys = 0; + G4String physName = ""; + + // Physics List name defined via environment variable + char* path = getenv("PHYSLIST"); + if (path) { physName = G4String(path); } + + if(factory.IsReferencePhysList(physName)) + { + phys = factory.GetReferencePhysList(physName); + } + + if(!phys) { phys = new HadrontherapyPhysicsList(); } + + runManager->SetUserInitialization(phys); + + // runManager -> SetUserInitialization(new HadrontherapyPhysicsList()); // Initialize the primary particles HadrontherapyPrimaryGeneratorAction *pPrimaryGenerator = new HadrontherapyPrimaryGeneratorAction(); runManager -> SetUserAction(pPrimaryGenerator); - + // Optional UserActions: run, event, stepping HadrontherapyRunAction* pRunAction = new HadrontherapyRunAction(); runManager -> SetUserAction(pRunAction); - + HadrontherapyEventAction* pEventAction = new HadrontherapyEventAction(); runManager -> SetUserAction(pEventAction); - + HadrontherapySteppingAction* steppingAction = new HadrontherapySteppingAction(pRunAction); runManager -> SetUserAction(steppingAction); - + // Interaction data: stopping powers - HadrontherapyInteractionParameters* pInteraction = new HadrontherapyInteractionParameters(); + HadrontherapyInteractionParameters* pInteraction = new HadrontherapyInteractionParameters(true); + + // Initialize analysis + HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::GetInstance(); +#ifdef G4ANALYSIS_USE_ROOT + analysis -> book(); +#endif #ifdef G4VIS_USE // Visualization manager G4VisManager* visManager = new G4VisExecutive; visManager -> Initialize(); #endif + + 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 -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 - session->SessionStart(); - delete session; - } - HadrontherapyMatrix* matrix = HadrontherapyMatrix::getInstance(); - if (matrix) matrix -> TotalEnergyDeposit(); - -#ifdef ANALYSIS_USE - analysis -> finish(); -#endif - - // Job termination + +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); #ifdef G4VIS_USE - delete visManager; + if(factory.IsReferencePhysList(physName)) + { + UImanager->ApplyCommand("/control/execute defaultMacroWithReferencePhysicsList.mac"); + } + else + { + UImanager->ApplyCommand("/control/execute defaultMacro.mac"); + } + #endif - + if (ui->IsGUI()) + ui->SessionStart(); + delete ui; +#endif + } + + // Job termination + // Store dose & fluence data to ASCII & ROOT files + if ( HadrontherapyMatrix * pMatrix = HadrontherapyMatrix::GetInstance() ) + { + pMatrix -> TotalEnergyDeposit(); + pMatrix -> StoreDoseFluenceAscii(); +#ifdef G4ANALYSIS_USE_ROOT + pMatrix -> StoreDoseFluenceRoot(); +#endif + } + +#ifdef G4ANALYSIS_USE_ROOT + if (analysis -> IsTheTFile()) analysis -> flush(); // Finalize & write the root file +#endif + + +#ifdef G4VIS_USE + 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 85c3a88509..6d5d3b82cb 100644 --- a/examples/advanced/hadrontherapy/History +++ b/examples/advanced/hadrontherapy/History @@ -8,11 +8,105 @@ http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy History file of the Hadrontherapy application ==================================================== -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. +26.11.2010 G.A.P.Cirrone; Tag: hadrontherapy-V09-03-16 + - General code review -22.11.2009 S.E.Mazzaglia; Tag: Hadrontherapy-V09-02-39 +25.11.2010 G.A.P.Cirrone; Tag: hadrontherapy-V09-03-15 + - Updated the README file + +18.11.2010 F.Romano; Tag: hadrontherapy-V09-03-14 + - Removed the macro 'GUI.mac' contained in the macro folder: the GUI personalisation + are contained in the 'GUIPersonalisation.mac' file that runs + when the default macro files are called + - Fixed the modulatorMacro.mac for the modulator rotation and included the modulator.loop file + for automatic rotation of the modulator wheel. + +18.11.2010 G.A.P.Cirrone; Tag: hadrontherapy-V09-03-13 + - Deleted the addPackage command. Now the Reference Physics lists + can be activated setting the enviroment variable PHYSLIST to + the name of the list (i.e. export PHYSLIST=QGSP_BIC_EMY) + - The main file has been modified in order to launch different macro file + depending if PHYSILIST variable is activated or not: if PHYSLIST is + activated the 'defaultMacroWithReferencePhysicsList.mac' file + is used; if not the 'defaultMacro.mac' is used + - The 'packageQGSP_BIC.mac' macro file has been removed as now the activation of the Reference Physiocs Lists + is done via the PHYSLIST envitoment variable + - Range shifter and modulator positions corrected + +18.11.2010 S.E.Mazzaglia; Tag: hadrontherapy-V09-03-12 + - Updated Matrix class + - Changed the macro command name to store secondary particles to: /analysis/secondary + - Added a macro command to store dose between runs: /analysis/writeDoseFile + +18.11.2010 G.A.P.Cirrone; Tag: hadrontherapy-V09-03-11 + - Removed redundant macro files + - Improved physics class + - Corrected position of primary proton beam + +16.11.2010 J.Allison; Tag: hadrontherapy-V09-03-10 + - Corrected use of G4UIExecutive. + - Fixed bug in HadrontherapyAnalysisFileMessenger.hh for case + of G4ANALYSIS_USE_ROOT not set. + +12.11.2010 G.A.P.Cirrone; Tag: hadrontherapy-V09-03-09 + - Updated ans cleaned macro files + +12.11.2010 G.A.P.Cirrone; Tag: hadrontherapy-V09-03-08 + - Main file adapted to the G4UIExecutive class + +20.10.2010 G.A.P.Cirrone; Tag: hadrontherapy-V09-03-07 + - Improved and updated some classes comments + +19.10.2010 G.A.P.Cirrone; Tag: hadrontherapy-V09-03-06 + - Physics list 'QGSP_BIC_EMY' definition has been updated + in the physics lists class to to be constistent with the definition + of the one defined in the Geant4 kernel ($G4INSTALL/source/physics_lists/) + - Macro file consequently updated + +18.10.2010 G.A.P.Cirrone; Tag: hadrontherapy-V09-03-05 + - Updated the physics class adding directly the QGSP_BIC_EMY + reference physics list + - Added the separation between cut for the transport beam line and detector + - Updated macro files + - Updated README + +03.06.2010 J.Perl; Tag: hadrontherapy-V09-03-04 + - Updated vis usage + +01.06.2010: G.A.P.Cirrone; Tag: harontherapy-V09-03-03 + - Added G4UIExecutive + - Main file updated + +22.05.2010 S.E.Mazzaglia; Tag: hadrontherapy-V09-03-02 + - Updated ROOT scripts in folder RootScripts/proton/BraggPeak + +21.05.2010 S.E.Mazzaglia; Tag: hadrontherapy-V09-03-01 + - Solved some bugs related to the preprocessor variable G4ANALYSIS_USE_ROOT. + +18.05.2010 S.E.Mazzaglia; Tag: hadrontherapy-V09-03-00 + - Removed the possibility to calculate Let. + - Removed AIDA and variables: G4_ANALYSIS_USE and ANALYSIS_USE. + - Improved the commands to modify phantom/detector geometry + - Added a command to set cuts just only in the detector: /physic/setDetectorCuts + - Added the possibility to store dose & fluence for all secondary particles + produced in the same ASCII file. This feature can be switched on by the macro + command: /analysis/secondaries true/false. + + +16.12.2009 S.E.Mazzaglia; Tag: hadrontherapy-V09-02-42 + - Added the possibility to calculate the Let too, using an ASCII file to store it. + - Added the new class HadrontherapyLet. + - Minor revisions of the code. + +27.11.2009 S.E.Mazzaglia; Tag: hadrontherapy-V09-02-41 + - Added the possibility to store dose and fluence for every particle/ion + produced during the simulation + +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 diff --git a/examples/advanced/hadrontherapy/README b/examples/advanced/hadrontherapy/README index 26660b433b..35ed34db6a 100644 --- a/examples/advanced/hadrontherapy/README +++ b/examples/advanced/hadrontherapy/README @@ -3,12 +3,17 @@ Text version of the Hadrontherapy README file ========================================================= -Last revsion: G.A.P.Cirrone, November 2009; -Released with the Geant4 9.3 version (December 2009) +Last revsion: G.A.P.Cirrone, November 20010; +Released with the Geant4 9.4 version (December 2011) ------------------------------------------------------------------------------------------------ -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 +ADVERTISEMENT: this is the text version of the README file of the 'basic' hadrontherapy, +as it has been released in the official Geant4 9.4 release + +Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +the complete version of this program, together with its documentation; +Hadrontherapy (both basic and full version) are supported by the Italian INFN +Institute in the framework of the MC-INFN Group A more complete and updated version of this file is published inside the web pages of Hadrontherapy: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy @@ -21,7 +26,7 @@ Please refer to the web-published version to know the last and future developmen ========================================================= Code developed by: - G.A.P. Cirrone(a)°, G.Cuttone(a), F.Di Rosa(a), S.E.Mazzaglia(a), F.Romano(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), G.Danielsen (d) @@ -42,9 +47,10 @@ Please refer to the web-published version to know the last and future developmen *Corresponding author, email to cirrone@lns.infn.it ------------------------------------------------------------------------------------------------- - HADRONTHERAPY: -WHAT IT IS, WHAT IT DOES AND WHAT IT WILL PROVIDE + +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. @@ -53,6 +59,7 @@ Its geometrical set-up, for example, is now completely interchangeable permittin 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 @@ -62,14 +69,16 @@ Hadrontherapy distribution contain different sub-folders: \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. +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 @@ -80,31 +89,41 @@ A complete guide for the Geant4 installation in different operating systems can 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 #------------------------------------- + +VERSION="geant4-09-03" + +# Path to the directory in which you have put data files and CLHEP +LIBPATH=$HOME/Geant4Library + export G4SYSTEM=Linux-g++ -export G4LEDATA=~/librerieGeant4/G4EMLOW6.2 -export G4INSTALL=~/geant4-09-02-ref-10 -export G4LIB=~/librerieGeant4/librerieCompilate-09-02-ref-10 +# Path to the directory in which you put your Geant4 installation +export G4INSTALL=$HOME/${VERSION} + +export G4LIB=$G4INSTALL/lib +export G4WORKDIR=$G4INSTALL/workdir 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 CLHEP_BASE_DIR=$LIBPATH/CLHEP2.0.4.5 +export G4LEDATA=$LIBPATH/G4EMLOW6.9 +export G4LEVELGAMMADATA=$LIBPATH/PhotonEvaporation2.0 +export G4NEUTRONHPDATA=$LIBPATH/G4NDL3.13 +export G4RADIOACTIVEDATA=$LIBPATH/RadioactiveDecay3.2 +export G4ABLADATA=$LIBPATH/G4ABLA3.0 + 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 +export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH #------------------------------------- # SET UP VRML VIEW @@ -114,6 +133,8 @@ export G4VIS_USE_VRML=1 export G4VIS_USE_VRMLFILE=1 export G4VRMLFILE_MAX_FILE_NUM=100 export G4VRMLFILE_VIEWER=vrmlview #if installed + +# Add path to your VRML installation export PATH=$PATH:~/VRML #------------------------------------- @@ -121,7 +142,10 @@ export PATH=$PATH:~/VRML #------------------------------------- export G4VIS_BUILD_OPENGLX_DRIVER=1 export G4VIS_USE_OPENGLX=1 -#export OGLHOME=/home/utente/Mesa-6.0 + +# Add path to your OpenGL installation +#export OGLHOME=/usr/lib + #------------------------------------- # SET UP DAWN (if installed) @@ -130,7 +154,8 @@ 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 +# Add path to your DAWN installation +# export PATH=$PATH:~/dawn_3_86a # VARIOUS USER INTERFACES export G4UI_USE_XM=1 @@ -150,9 +175,10 @@ 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. +The main component of the simulation is the phantom, a box that can be filled with different material and where the score of different information (at moment the dose 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. @@ -165,28 +191,27 @@ There is also a facility that allows the user to make a choice between alternati /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). +At the end of a simulation run the dose 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. +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 in order to set the cut for all, and the command /physic/setDetectorCuts to set the cut for the detector only) 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 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.). @@ -196,110 +221,120 @@ The elements simulated in the PassiveBeamLine.cc file are: 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 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. +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 its 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 the particle flux during the irradiation); 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). +6. A water phantom: it is a box of water where the dose 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 + + Physics models in Hadrontherapy, following the Geant4 organisation, can be definided using three different approaches: + + +Activating one of the 'Reference Physics Lists' that are already prepared by the Geant4 Collaboration and are contained in the $G4INSTALL/source/physics_lists/lists folderlist. +The 'Reference Physics Lists' can be activated setting a specific enviroment variable to the name of the physics. For example if the QGSP_BIC Reference Physics Lists must be activated the User must set export PHYSLIST=QGSP_BIC (or setenv PHYSLIST QGSP_BIC). A 'Reference Physics Lists' contains all the physics process necessary to a particle transport. +If the User set the PHYSLIST variable, Hadrontherapy will start with the defaultMacroWithReferencePhysicsList.mac macro. See this macro file for more details. +Activating the 'Builders' already prepared by the Geant4 Collaboration and contained in the $G4INSTALL/source/physics_lists/builder folder. +Each builder is specific of a given model. There are builders for the electromagnetic processes, for the hadronic one, etc. +If the PHYSLIST variable is not defined Hadrontherapy starts with the defaultMacro.mac where the single builders are activated for the various processes of interest. +Each builder is activated with the /Physics/addPhysics command. + +Defining a specific 'local' physics list. In Hadrontherapy two local physics list are defined (LocalINCLIonIonInelasticPhysic.cc and LocalIonIonInelasticPhysic.cc) where models for the ion-ion interactions are activated. +'Local' physics can be activated using the /Physics/addPhysics command (see the defaultMacro.mac to se an example). + + + + ****** SUGGESTED PHYSICS ********* + + AT MOMENT, IF ACCURATE RESULTS ARE NEDED, WE STRONGLY RECOMMEND: + 1. The use of the macro 'hadron_therapy.mac', or + 2. the QGSP_BIC_EMY Reference Physics Lists (define the PHYSLIST eviroment variable): + export PHYSLIST=QGSP_BIC_EMY 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/. -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: - -$G4INSTALL/source/physics_lists/builders/include - -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/. - -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 - -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 - -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. - -Also the QGSP_BIC_EMY package can be used if the *Approach 3* is preferred. 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 >> -(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>>. +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. + +Detector geometry + +The user can change: + +(1) The detector (box) size. + +(2) The voxels sizes. Changing this parameters, and/or the detector sizes, user should choose values in order to be divisors of the detector correspondent sizes. +For both above commands, zero or negative values mean << don't change it >> + +(3) The displacement between the phantom and the detector. 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. In this case zero or positive values are allowed, while the negatives ones mean: << don't change it>>. -Command synopsis: the follow "#" - - - 1. /changeDetector/size <[unit]> # 4 4 4 cm - 2. /changeDetector/voxelSize <[unit]> # 4 4 4 cm - 3. /changeDetector/displacement <[unit]> # 0 18 18 cm - - -With other two commands user can change: - -(1) The phantom size. As usually, zero or negatives values mean: <>. -(2) The phantom position respect to the world. - Command synopsis: - 1. /changePhantom/size <[unit]> # 40 40 40 cm - 2. /changePhantom/position <[unit]> # 20 0 0 cm +/changeDetector/size <[unit]> +/changeDetector/voxelSize <[unit]> +/changeDetector/displacement <[unit]> -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. +Default size values are 4x4x4 cm for the detector, 0.2x40x40 mm for any voxel and 0x18x18 cm +for the displacement. +where the X dimension is that along the beam direction + +Phantom geometry + +(1) The phantom size. As usually, zero or negatives values mean: <>. +(2) The phantom position respect to the world. In this case specified values refer to the three components of the position of the phantom's center respect to the world's. + +Command synopsis: + +/changePhantom/size <[unit]> # 40 40 40 cm +/changePhantom/position <[unit]> # 20 0 0 cm + +All these commands must be followed by the command /changePhantom/update +in order to check and eventually apply changes to the real geometry. +Moreover they must be issued between runs (so where you want but after the /run/initialize initialization command, or the G4State_Idle Geant4 state machine). +Obviously all the previous sizes must be set in order to maintain the detector fully inside the phantom, otherwise system complains. Some examples follow: -/changeDetector/size 40 0 0 cm -# Will extend detector X size to cover in full the phantom X size + +/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) +# Will extend the Y size to 4.5 cm (note that voxel size Y is automatically +# rounded to 4.5 cm because the default value along Y is 4 cm) +/changePhantom/update +# Remember to always update the geometry before the beamOn command!! + /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. +# Will extend the Y size to 8 cm. In this case voxel size Y doesn't change, but +# the number of voxel along Y doubles. +/changePhantom/update - -/changeDetector/voxelSize 100 0 0 um +/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. +/changePhantom/update /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. - +/changePhantom/update 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) : @@ -310,21 +345,17 @@ Default values for parameters inside square brackets are respectively proton and Parameters are respectively: - * 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). - - Only for ions, user must firstly give them to the particle gun, for example issuing the macro commands: - - 1. /gun/particle ion - 2. /gun/ion <[charge]> - - * The output filename: if users leave this blank then the standard output is used. - +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). + Only for ions, user must firstly give them to the particle gun, for example issuing the macro commands: +/gun/particle ion +/gun/ion <[charge]> +The output filename: if users leave this blank then the standard output is used. Below is an example in order to calculate the stopping power for alphas into Hydrogen between 1 keV to 150 MeV for 15 points: -/parameter/getstopping G4_H 0.001 150 15 alpha +/parameter/getstopping G4_H 0.001 150 15 alpha # and for C12 ion: @@ -332,23 +363,27 @@ Below is an example in order to calculate the stopping power for alphas into Hyd /gun/ion 6 12 6 /parameter/getstopping G4_H 0.001 150 15 C12[0.0] -# Value inside square brackets is the excitation energy of the ion. +# Value inside square brackets is the excitation energy of the ion (ground state in this case). HOW RUN HADRONTHERAPY + Run the example in interactive mode + > $G4WORDIR/bin/Linux-g++/Hadrontherapy 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. +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, if this first variables is not defined, the program will continue searching for the G4UI_USE_QT variable and, finally, will open the standard G4UITerminal. Run the example using macro files + Hadrontherapy can be launched using a macro file: > $G4WORDIR/bin/Linux-g++/Hadrontherapy macroFile.mac -The defaultMacro.mac file is contained in the main directory of Hadrontherapy while a big number of other macro are inside the /macro folder. +The defaultMacro.mac file is contained in the main directory of Hadrontherapy and is automatically readed in case the user launch the executable without a parameter. A big number of other macro are inside the /macro folder. 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 @@ -358,43 +393,53 @@ In the IAEA geometry it is possible to collect the energy deposition data using /score/mesh/nBin 400 1 1 # 400 bins in x-direction, 1 in y and z directions 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 + +Store results in an ASCII file + +A .out ASCII file is generated at the end of each run, Dose.out is its default name that can be changed in the HadrontherapyMatrix.cc file. +The file contains four columns; the first three columns represent the voxel indexes (that univocally identify the voxel volume), while the last column represents the dose deposited in that given voxel. +Alternatively, user can force store of data to a given filename, after any BeamOn command and before the program end, by the macro command /analysis/writeDoseFile . + +Moreover, if the macro command /analysis/secondary is given, before the BeamOn command, ordinated dose and fluence, for every secondary produced, is added to the file. + +User must take care that any change of the phantom geometry will clear all dose data. + +Setting the name of the ROOT output file + +By default the name of the ROOT output file is DoseDistribution.root. The name of the file can be set by using the macro command: analysis/setAnalysisFile 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 +/analysis/writeDoseFile firstRun.out # this will write both the .root and the .out file! + /beam/energy/meanEnergy 3000 MeV -/analysis/setAnalysisFile secondRun.root +/analysis/setAnalysisFile secondRun.root # this /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 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. +/analysis/writeDoseFile secondRun.out + 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. + +It is possible to use ROOT data analysis package directly for the production of output files. +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, adding in the code lines to create outputs with the ROOT libraries and recompiling the application. +In this case you must have the ROOT framework installed in your machine. 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 + +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 - 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. - +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. +Modules for LET and RBE (Relative Biological Effectiveness) calculation. The Catania Group in Collaboration with the Turin one is working on this. +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. What is requested from Users - 1. Dicom interface +Dicom interface + + +Please contact cirrone@lns.infn.it for more details or suggestions and feedbacks on this document + + diff --git a/examples/advanced/hadrontherapy/RootScripts/README b/examples/advanced/hadrontherapy/RootScripts/README index 7d6eafde42..c76daecbd2 100644 --- a/examples/advanced/hadrontherapy/RootScripts/README +++ b/examples/advanced/hadrontherapy/RootScripts/README @@ -4,6 +4,7 @@ Each subdirectory (proton, etc) contains a specific ROOT script. --> proton/BraggPeak comparison.C performs a comparison beetwen non modulated Bragg peaks +comparison_ascii.C performs a comparisin between non modulated Bragg peaks, reading simulated data from ASCII file All the scripts in the iaeaBenchmark/ -directory apply to results produced using the IAEA geometry -->iaeaBenchmark/braggPeak.C diff --git a/examples/advanced/hadrontherapy/RootScripts/proton/BraggPeak/comparison.C b/examples/advanced/hadrontherapy/RootScripts/proton/BraggPeak/comparison.C index d52b3ad869..b903bea8ed 100755 --- a/examples/advanced/hadrontherapy/RootScripts/proton/BraggPeak/comparison.C +++ b/examples/advanced/hadrontherapy/RootScripts/proton/BraggPeak/comparison.C @@ -42,33 +42,27 @@ gROOT->Reset(); 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); + TH1D *simulatedPeak = (TH1D*) simulationFile -> Get("braggPeak"); Float_t simulationNormalisationFactor = simulatedPeak -> GetBinContent(1); - - for (l = 1; l < 401; l++) - { - simulatedPeakDepth -> Fill(simulatedPeak -> GetBinCenter(l)*0.2, simulatedPeak -> GetBinContent(l)/simulationNormalisationFactor); - } + simulatedPeak -> Scale(1/simulationNormalisationFactor); TCanvas *c1 = new TCanvas ("c1","c1",200,10,600,400); // PLOT ntupleExperimental -> SetMarkerStyle(4); - simulatedPeakDepth -> SetMarkerSize(2); + simulatedPeak -> SetMarkerSize(2); ntupleExperimental -> Draw("EdepExp:depthExp"); - simulatedPeakDepth -> Draw("same"); + simulatedPeak-> 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 -> AddEntry(simulatedPeak, "Simulation"); leg -> Draw(); diff --git a/examples/advanced/hadrontherapy/RootScripts/proton/BraggPeak/comparison_ascii.C b/examples/advanced/hadrontherapy/RootScripts/proton/BraggPeak/comparison_ascii.C new file mode 100644 index 0000000000..fc9b10b6c3 --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/proton/BraggPeak/comparison_ascii.C @@ -0,0 +1,140 @@ +{ +#include + gROOT->Reset(); + ifstream in; + TFile * file = new TFile("Dose.root","RECREATE"); + // LOAD THE EXPERIMENTAL DATA FILE + // CONTAINED IN THE DIRECTORY + // hadrontherapy/experimentalData/proton/BraggPeak + + + TNtuple *ntupleExperimental = new TNtuple("ntupleExperimental","Protons, exp. data", "depthExp:EdepExp"); + + vector vec_dose, vec_iX; + + TString doseFileExp = "../../../experimentalData/proton/BraggPeak/62MeVInWater.out"; + + cout << "Reading file \" " << doseFileExp << "\" ... "; + Long64_t nlines = ntupleExperimental -> ReadFile(doseFileExp, "depthExp:EdepExp"); + if (nlines <=0){cout << "Error: Check file \"" << doseFileExp << "\"\n"; return;} + + printf("%d Experimental points found\n", nlines); + + Float_t depthExp, EdepExp; + ntupleExperimental -> SetBranchAddress("EdepExp", &EdepExp); + ntupleExperimental -> SetBranchAddress("depthExp", &depthExp); + + + // CREATION AND NORMALISATION TO THE FIRST POINT OF AN NTUPLE CONTAINING THE EXPERIMENTAL DATA + Int_t nentries = (Int_t)ntupleExperimental -> GetEntries(); + ntupleExperimental -> GetEntry(0); + Float_t normFactor = EdepExp; + for (Int_t l = 0; l GetEntry(l); + vec_dose.push_back(EdepExp); + vec_iX.push_back(depthExp); + } + + ntupleExperimental->Reset(); + + for (Int_t l=0;l Fill(depthExp, EdepExp); + } + + //***************************************************************************** + // Load Simulation file + TString doseFileSim = "../../../SimulationOutputs/proton/BraggPeak/Dose.out"; + TNtuple *TNtupleSim = new TNtuple("SimTree","dose from ascii file", "iX:jY:kZ:dose"); + + in.open(doseFileSim); + if (!in.is_open()){cout << "Error: Check file \"" << doseFileSim << "\"\n"; return;} + Char_t n[5]; + Float_t f1, f2, f3, f4; + nlines = 0; + cout << "Reading file \" " << doseFileSim << "\" ... "; + // Skip j,j,k,Dose strings + in >> n >> n >> n >> n; + do{ + in >> f1 >> f2 >> f3 >> f4; + nlines++; + TNtupleSim -> Fill(f1, f2, f3, f4); + nlines++;} + while(in.good()); + + if (nlines <= 0){cout << "\nNo data found! Check file \"" << doseFileSim << "\"\n"; return;} + in.close(); + + Float_t iX, dose, sumDose = 0., norm = 0. ; + TNtupleSim -> SetBranchAddress("dose", &dose); + TNtupleSim -> SetBranchAddress("iX", &iX); + + // Normalize data to 1 at the entry! + + nentries = (Int_t)TNtupleSim -> GetEntries(); + TNtupleSim -> GetEntry(0); + Int_t oldX = iX; + vec_iX.clear(); + vec_dose.clear(); + // Sum dose along X --> i + for (Int_t l = 0; l GetEntry(l); + if (iX==oldX){ sumDose+=dose;} + else + { + vec_dose.push_back(sumDose); + vec_iX.push_back(oldX); + sumDose = dose; + oldX = iX; + } + } + printf("%d Simulated points found\n", vec_iX.size()); + // Mean over the first points + for (Int_t l=0; l<5; l++) + { + norm +=vec_dose[l]; + } + norm /=l; + + TNtupleSim -> Reset(); + // Fill with normalized values. I suppose that slabs/voxel are 0.2 mm depth + for (Int_t l=0;l Fill(iX, 0, 0, dose); + } + + TCanvas *c1 = new TCanvas ("c1","c1",200,10,600,400); + // Triangle + TNtupleSim-> SetMarkerStyle(26); + TNtupleSim-> SetMarkerSize(0.8); + // Square + //TNtupleSim-> SetMarkerStyle(25); + // Star + //TNtupleSim-> SetMarkerStyle(3); + // circle + ntupleExperimental -> SetMarkerStyle(4); + ntupleExperimental -> SetMarkerColor(2); + ntupleExperimental -> SetMarkerSize(0.8); + + ntupleExperimental -> Draw("EdepExp:depthExp"); + TNtupleSim -> Draw("dose:iX","","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(TNtupleSim, "Simulation", "P"); + leg -> Draw(); + + + //c1->SaveAs("braggPeakComparison.pdf"); +} diff --git a/examples/advanced/hadrontherapy/clean.sh b/examples/advanced/hadrontherapy/clean.sh new file mode 100644 index 0000000000..97c48be221 --- /dev/null +++ b/examples/advanced/hadrontherapy/clean.sh @@ -0,0 +1,9 @@ +rm *.~ +rm macro/*.~ +rm include/*.~ +rm src/*.~ +rm *.out +rm *.root +rm currentRun.rndm +rm currentEvent.rndm +rm *.prim *.eps *.heprep \ No newline at end of file diff --git a/examples/advanced/hadrontherapy/defaultMacro.mac b/examples/advanced/hadrontherapy/defaultMacro.mac index 2d2b695abd..309ff17d1c 100644 --- a/examples/advanced/hadrontherapy/defaultMacro.mac +++ b/examples/advanced/hadrontherapy/defaultMacro.mac @@ -1,10 +1,10 @@ -# G.A.P.Cirrone + # G.A.P.Cirrone # # Default macro file. It is called if no argument is provided at run # # i.e. simply typing $G4WORKDIR/bin/Linux-++/Hadrontherapy # -# This macro can be used for a proton beam in water. Both electrmagnetic and +# This macro can be used for a proton beam in water. Both electromagnetic and # hadronic models are swiched on ######################### @@ -18,10 +18,16 @@ ########################## # 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) +/Physics/addPhysics emstandard_opt3 # Electromagnetic model +/Physics/addPhysics Em_extra_physics +/Physics/addPhysics Elastic # Hadronic elastic model +/Physics/addPhysics decay +/Physics/addPhysics radioactive_decay +/Physics/addPhysics Stopping_physics +/Physics/addPhysics Neutron_tracking_cut +/Physics/addPhysics binary # Hadronic inelastic model + +#/Physics/addPhysics local_ion_ion_inelastic # Optional Hadronic inelastic model for ions (local physic list) ########################## # Initialisation procedure @@ -32,22 +38,29 @@ # Visualisation # /vis/scene/create -#/vis/open OGLIQt # only if QT library are installed -/vis/open OGLIX +/vis/open OGLI /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 -1 -/vis/viewer/update +/vis/scene/add/trajectories +/vis/scene/endOfEventAction accumulate +########################## +# Definition of the GUI +# It will work only if the QT GUI interface is active +# +/control/execute macro/GUIPersonalisation.mac ########################## # Set here the cut and the step max for the tracking. # Suggested values of cut and step: # -/physic/setCuts 0.01 mm +# Set cuts ONLY inside the detector +/Physics/setDetectorCuts 0.01 mm + +# Set cuts OUTSIDE the detector +/Physics/setCuts 1 mm + /Step/waterPhantomStepMax 0.01 mm ######################### @@ -57,15 +70,23 @@ /gun/particle proton /beam/energy/meanEnergy 62 MeV /beam/energy/sigmaEnergy 400 keV -/beam/position/Xposition -2700 mm +/beam/position/Xposition -3000 mm ######################### # Display the event number # during the run # -/event/printEventNumber 10 +/event/printEventNumber 100 ######################### # Start of the run # -/run/beamOn 10 +# If secondary particles dose & fluence are needed +#/analysis/secondary true +# Default material is water liquid +#/changePhantom/material G4_PLEXIGLASS + +/run/beamOn 500 +# Create the SimulationOutputs/proton/BraggPeak directory before to use the following command +# /control/shell mv DoseDistribution.root SimulationOutputs/proton/BraggPeak/protonBraggPeak.root + diff --git a/examples/advanced/hadrontherapy/defaultMacroWithReferencePhysicsList.mac b/examples/advanced/hadrontherapy/defaultMacroWithReferencePhysicsList.mac new file mode 100644 index 0000000000..2611eb004a --- /dev/null +++ b/examples/advanced/hadrontherapy/defaultMacroWithReferencePhysicsList.mac @@ -0,0 +1,88 @@ +# G.A.P.Cirrone +# +# Default macro file. It is called +# a) If no argument is provided at run i.e. by simply typing $G4WORKDIR/bin/Linux-++/Hadrontherapy +# +# b) If the user set the PHISLIST environment variable with one of the reference physics list +# contained in $G4INSTALL/source/physics_lists/lists folder list +# +# This macro can be used for a proton beam in water. Both electromagnetic and +# hadronic models are swiched on + +######################### +# Set of the verboses +# +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 1 +/event/verbose 0 + +########################## +# Initialisation procedure +# +/run/initialize + +########################## +# Visualisation +# +/vis/scene/create +/vis/open OGLI +/vis/viewer/flush +/vis/viewer/set/viewpointThetaPhi 30 140 deg +/vis/viewer/zoom 1 +/vis/viewer/pan -10 0 cm +/vis/scene/add/trajectories +/vis/scene/endOfEventAction accumulate + +########################## +# Definition of the GUI +## It will work only if the QT GUI interface is active +# +/control/execute macro/GUIPersonalisation.mac + +########################## +# Set here the cut and the step max for the tracking. +# Suggested values of cut and step: +# +# Set cuts ONLY inside the detector +#/Physics/setDetectorCuts 0.01 mm + +# Definition of the production cuts +#/run/setCut 0.01 mm +/run/setCutForAGivenParticle e- 1 mm +/run/setCutForAGivenParticle e+ 1 mm +/run/setCutForAGivenParticle gamma 1 mm +/run/setCutForAGivenParticle proton 1 mm +/run/setCutForRegion DetectorLog 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 -3000 mm + +######################### +# Display the event number +# during the run +# +/event/printEventNumber 100 + +######################### +# Start of the run +# +# If secondary particles dose & fluence are needed +#/analysis/secondary true + +# Default material is water liquid +#/changePhantom/material G4_PLEXIGLASS + +/run/beamOn 100 + +# Create the SimulationOutputs/proton/BraggPeak directory before to use the following command +# /control/shell mv DoseDistribution.root SimulationOutputs/proton/BraggPeak/protonBraggPeak.root + diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisFileMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisFileMessenger.hh index 1a306600e2..e7f35bdab1 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisFileMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisFileMessenger.hh @@ -23,52 +23,61 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyAnalysisFileMessenger.hh. -// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy// +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #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 +class G4UIcmdWithAString; +class G4UIcmdWithABool; /** -* 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 -*/ + * 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(); +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); + /** + * 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 +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; + /** + * G4 user interface command (that takes a string argument) object + * Constructor requires command name and messenger class(this). + */ + G4UIcmdWithABool *secondaryCmd; + G4UIcmdWithAString *DoseMatrixCmd; +#ifdef G4ANALYSIS_USE_ROOT + G4UIcmdWithAString *FileNameCmd; +#endif }; #endif -#endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisManager.hh b/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisManager.hh index 880431358c..89fcb97f42 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisManager.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisManager.hh @@ -23,25 +23,20 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyAnalysisManager.hh; May 2005 +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HADRONTHERAPYANALYSISMANAGER_HH #define HADRONTHERAPYANALYSISMANAGER_HH 1 #include "globals.hh" -#ifdef ANALYSIS_USE ///< If we use analysis - -#ifdef G4ANALYSIS_USE ///< If analysis is done via AIDA -#include - -namespace AIDA{ - class ITree; - class IAnalysisFactory; - class ITreeFactory; -} -#endif #ifdef G4ANALYSIS_USE_ROOT ///< If analysis is done directly with ROOT #include "TROOT.h" @@ -49,7 +44,6 @@ namespace AIDA{ #include "TNtuple.h" #include "TH1F.h" #endif - /** * Messenger class for analysis-settings for HadronTherapyAnalysisManager */ @@ -61,144 +55,136 @@ class HadrontherapyAnalysisFileMessenger; 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 - */ + /** + * 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(); - + /** * Get the pointer to the analysis manager. */ - static HadrontherapyAnalysisManager* getInstance(); + static HadrontherapyAnalysisManager* GetInstance(); +#ifdef G4ANALYSIS_USE_ROOT /** - * Book the histograms and ntuples in an AIDA or ROOT file. - */ + * Clear analysis manager heap. + */ + void Clear(); + /** + * Check if TFile is there! + */ + G4bool IsTheTFile(); + /** + * 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 - */ + * Fill the ntuple with the energy deposit in the phantom + */ void FillEnergyDeposit(G4int voxelXId, G4int voxelYId, G4int voxelZId, - G4double energyDeposit); - + 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 - - void SecondaryNeutronEnergyDeposit(G4int slice, G4double energy); + + void SecondaryNeutronEnergyDeposit(G4int slice, G4double energy); ///< 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 - + void SecondaryGammaEnergyDeposit(G4int slice, G4double energy); ///< 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 - + void SecondaryTritonEnergyDeposit(G4int slice, G4double energy); ///< 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 - + void SecondaryPionEnergyDeposit(G4int slice, G4double energy); ///< Fill 1D histogram with the energy deposit of secondary pions - + void electronEnergyDistribution(G4double secondaryParticleKineticEnergy); ///< Energy distribution of secondary electrons originated in the phantom - + void gammaEnergyDistribution(G4double secondaryParticleKineticEnergy); ///< Energy distribution of secondary gamma originated in the phantom - + void deuteronEnergyDistribution(G4double secondaryParticleKineticEnergy); ///< Energy distribution of secondary deuterons originated in the phantom - + void tritonEnergyDistribution(G4double secondaryParticleKineticEnergy); ///< Energy distribution of secondary tritons originated in the phantom - + void alphaEnergyDistribution(G4double secondaryParticleKineticEnergy); ///< 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); + + //Kinetic energy by voxel, mass number A and atomic number Z. + void FillKineticFragmentTuple(G4int i, G4int j, G4int k, G4int A, G4double Z, G4double kinEnergy); + + //Kinetic energy by voxel, mass number A and atomic number Z of only primary particles + void FillKineticEnergyPrimaryNTuple(G4int i, G4int j, G4int k, G4double kinEnergy); + + ///< Energy by voxel, mass number A and atomic number Z. + void FillVoxelFragmentTuple(G4int i, G4int j, G4int k, G4int A, G4double Z, G4double energy, G4double fluence); + + void FillFragmentTuple(G4int A, G4double Z, G4double energy, G4double posX, G4double posY, G4double posZ); ///< Energy ntuple + + void FillLetFragmentTuple(G4int i, G4int j, G4int k, G4int A, G4double Z, G4double letT, G4double letD); + ///< let 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(); + + void flush(); ///< 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: +#endif static HadrontherapyAnalysisManager* instance; HadrontherapyAnalysisFileMessenger* fMess; +#ifdef G4ANALYSIS_USE_ROOT G4String analysisFileName; -#ifdef G4ANALYSIS_USE - AIDA::IAnalysisFactory* aFact; - AIDA::ITree* theTree; - AIDA::IHistogramFactory *histFact; - AIDA::ITupleFactory *tupFact; - 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; - AIDA::IHistogram1D *h16; - AIDA::ITuple *ntuple; - AIDA::ITuple *ionTuple; - AIDA::ITuple *fragmentTuple; -#endif -#ifdef G4ANALYSIS_USE_ROOT TFile *theTFile; TH1F *histo1; TH1F *histo2; @@ -216,20 +202,32 @@ private: TH1F *histo14; TH1F *histo15; TH1F *histo16; - + + TNtuple *kinFragNtuple; + TNtuple *kineticEnergyPrimaryNtuple; + + // ntuple containing the fluence of all the particle in any voxel + TNtuple *doseFragNtuple; + + // ntuple containing the fluence of all the particle in any voxel + TNtuple *fluenceFragNtuple; + + // ntuple containing the fluence of all the particle in any voxel + TNtuple *letFragNtuple; + 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 -#endif + diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorConstruction.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorConstruction.hh index 78b7690dd2..4209095ada 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorConstruction.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorConstruction.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyDetectorConstruction.hh; -// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy// +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyDetectorConstruction_H #define HadrontherapyDetectorConstruction_H 1 @@ -55,8 +61,9 @@ private: void ConstructPhantom(); void ConstructDetector(); - void ConstructSensitiveDetector(G4ThreeVector position_respect_to_WORLD); - + void ConstructSensitiveDetector(G4ThreeVector positionToWORLD); + void ParametersCheck(); + public: // Get detector position relative to WORLD inline G4ThreeVector GetDetectorToWorldPosition() @@ -64,12 +71,12 @@ inline G4ThreeVector GetDetectorToWorldPosition() return phantomPosition + detectorPosition; } ///////////////////////////////////////////////////////////////////////////// -// Get displacement between phantom and detector by detector position, phantom and detector sizes +// Get displacement between phantom and detector by detector position (center of), phantom (center of) and detector sizes inline G4ThreeVector GetDetectorToPhantomPosition() { - return G4ThreeVector(phantomSizeX - detectorSizeX + detectorPosition.getX(), - phantomSizeY - detectorSizeY + detectorPosition.getY(), - phantomSizeZ - detectorSizeZ + detectorPosition.getZ() + return G4ThreeVector(phantomSizeX/2 - detectorSizeX/2 + detectorPosition.getX(), + phantomSizeY/2 - detectorSizeY/2 + detectorPosition.getY(), + phantomSizeZ/2 - detectorSizeZ/2 + detectorPosition.getZ() ); } @@ -78,80 +85,76 @@ inline G4ThreeVector GetDetectorToPhantomPosition() inline void SetDetectorPosition() { // Adjust detector position - detectorPosition.setX(detectorToPhantomPosition.getX() - phantomSizeX + detectorSizeX); - detectorPosition.setY(detectorToPhantomPosition.getY() - phantomSizeY + detectorSizeY); - detectorPosition.setZ(detectorToPhantomPosition.getZ() - phantomSizeZ + detectorSizeZ); + detectorPosition.setX(detectorToPhantomPosition.getX() - phantomSizeX/2 + detectorSizeX/2); + detectorPosition.setY(detectorToPhantomPosition.getY() - phantomSizeY/2 + detectorSizeY/2); + detectorPosition.setZ(detectorToPhantomPosition.getZ() - phantomSizeZ/2 + detectorSizeZ/2); - if (detectorPhysicalVolume) detectorPhysicalVolume -> SetTranslation(detectorPosition); + //G4cout << "*************** DetectorToPhantomPosition " << detectorToPhantomPosition/cm << "\n"; + //G4cout << "*************** DetectorPosition " << detectorPosition/cm << "\n"; } ///////////////////////////////////////////////////////////////////////////// // Check whether detector is inside phantom -inline bool IsInside(G4double detectorHalfX, - G4double detectorHalfY, - G4double detectorHalfZ, - G4double phantomHalfX, - G4double phantomHalfY, - G4double phantomHalfZ, +inline bool IsInside(G4double detectorX, + G4double detectorY, + G4double detectorZ, + G4double phantomX, + G4double phantomY, + G4double phantomZ, 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) + if (detectorX > phantomX) { 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()) + if ( (phantomX - detectorX) < 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) + if (detectorY > phantomY) { 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()) + if ( (phantomY - detectorY) < 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) + if (detectorZ > phantomZ) { 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()) + if ( (phantomZ - detectorZ) < 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); + G4bool SetPhantomMaterial(G4String material); + void SetVoxelSize(G4double sizeX, G4double sizeY, G4double sizeZ); + void SetDetectorSize(G4double sizeX, G4double sizeY, G4double sizeZ); + void SetPhantomSize(G4double sizeX, G4double sizeY, G4double sizeZ); + void SetPhantomPosition(G4ThreeVector); + void SetDetectorToPhantomPosition(G4ThreeVector DetectorToPhantomPosition); + void UpdateGeometry(); + void PrintParameters(); G4LogicalVolume* GetDetectorLogicalVolume(){ return detectorLogicalVolume;} @@ -168,10 +171,9 @@ private: HadrontherapyDetectorROGeometry* detectorROGeometry; // Pointer to ROGeometry HadrontherapyMatrix* matrix; - G4VPhysicalVolume* phantomPhysicalVolume; - G4LogicalVolume* phantomLogicalVolume; - G4LogicalVolume* detectorLogicalVolume; - G4VPhysicalVolume* detectorPhysicalVolume; + G4Box *phantom , *detector; + G4LogicalVolume *phantomLogicalVolume, *detectorLogicalVolume; + G4VPhysicalVolume *phantomPhysicalVolume, *detectorPhysicalVolume; G4double phantomSizeX; G4double phantomSizeY; @@ -191,8 +193,9 @@ private: G4int numberOfVoxelsAlongY; G4int numberOfVoxelsAlongZ; - G4Box* phantom; - G4Box* detector; + G4double volumeOfVoxel, massOfVoxel; + G4Material *phantomMaterial, *detectorMaterial; + G4Region* aRegion; }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorHit.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorHit.hh index a6970a59b6..6fc870aa7f 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorHit.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorHit.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyDetectorHit.hh; -// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy// +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyDetectorHit_h #define HadrontherapyDetectorHit_h 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorMessenger.hh index 83cd61d216..0aa33636e9 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorMessenger.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyDetectorMessenger.hh; -// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy// +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyDetectorMessenger_h #define HadrontherapyDetectorMessenger_h 1 @@ -34,13 +40,13 @@ class HadrontherapyDetectorConstruction; class G4UIdirectory; -class G4UIcmdWithADoubleAndUnit; -class G4UIcmdWithAString; class G4UIcmdWith3VectorAndUnit; +class G4UIcmdWithoutParameter; +class G4UIcmdWithAString; class HadrontherapyDetectorMessenger: public G4UImessenger { - public: +public: HadrontherapyDetectorMessenger(HadrontherapyDetectorConstruction* ); ~HadrontherapyDetectorMessenger(); @@ -53,11 +59,13 @@ private: G4UIdirectory *changeThePhantomDir, *changeTheDetectorDir; + G4UIcmdWithoutParameter *updateCmd; + G4UIcmdWithAString *changeThePhantomMaterialCmd; G4UIcmdWith3VectorAndUnit *changeThePhantomSizeCmd, - *changeThePhantomPositionCmd, - *changeTheDetectorSizeCmd, - *changeTheDetectorToPhantomPositionCmd, - *changeTheDetectorVoxelCmd; + *changeThePhantomPositionCmd, + *changeTheDetectorSizeCmd, + *changeTheDetectorToPhantomPositionCmd, + *changeTheDetectorVoxelCmd; }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorROGeometry.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorROGeometry.hh index d380a827e8..a5a880336d 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorROGeometry.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorROGeometry.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyDetectorROGeometry.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// //The detectior is devided in voxels. // @@ -38,13 +44,13 @@ class HadrontherapyDetectorROGeometry : public G4VReadOutGeometry { public: HadrontherapyDetectorROGeometry(G4String aString, - G4ThreeVector detectorPos, - G4double detectorDimX, - G4double detectorDimY, - G4double detectorDimZ, - G4int numberOfVoxelsX, - G4int numberOfVoxelsY, - G4int numberOfVoxelsZ); + G4ThreeVector detectorPos, + G4double detectorDimX, + G4double detectorDimY, + G4double detectorDimZ, + G4int numberOfVoxelsX, + G4int numberOfVoxelsY, + G4int numberOfVoxelsZ); ~HadrontherapyDetectorROGeometry(); diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorSD.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorSD.hh index 7e5da1318e..f69b115acf 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorSD.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorSD.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorSD.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyDetectorSD_h #define HadrontherapyDetectorSD_h 1 @@ -42,6 +48,7 @@ public: HadrontherapyDetectorSD(G4String name); ~HadrontherapyDetectorSD(); + std::ofstream ofs; void Initialize(G4HCofThisEvent*); G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist); diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDummySD.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDummySD.hh index f9ded82394..4690e15576 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDummySD.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDummySD.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyDummySD.hh +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyDummySD_h #define HadrontherapyDummySD_h 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyEventAction.hh b/examples/advanced/hadrontherapy/include/HadrontherapyEventAction.hh index 9efbb2ef00..4fa33895d7 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyEventAction.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyEventAction.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyEventAction.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyEventAction_h #define HadrontherapyEventAction_h 1 @@ -58,7 +64,7 @@ public: private: G4String drawFlag; //Visualisation flag G4int hitsCollectionID; - HadrontherapyMatrix *matrix; + //HadrontherapyMatrix *matrix; G4int printModulo; HadrontherapyEventActionMessenger* pointerEventMessenger; }; diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyEventActionMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyEventActionMessenger.hh index 72dda845d7..33afd3db5c 100755 --- a/examples/advanced/hadrontherapy/include/HadrontherapyEventActionMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyEventActionMessenger.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyEventActionMessenger.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyEventActionMessenger_h #define HadrontherapyEventActionMessenger_h 1 @@ -39,17 +45,17 @@ class G4UIcmdWithAnInteger; class HadrontherapyEventActionMessenger: public G4UImessenger { - public: - HadrontherapyEventActionMessenger(HadrontherapyEventAction*); - ~HadrontherapyEventActionMessenger(); +public: + HadrontherapyEventActionMessenger(HadrontherapyEventAction*); + ~HadrontherapyEventActionMessenger(); - void SetNewValue(G4UIcommand*, G4String); + void SetNewValue(G4UIcommand*, G4String); - private: - HadrontherapyEventAction* eventAction; - G4UIdirectory* eventDir; - G4UIcmdWithAString* DrawCmd; - G4UIcmdWithAnInteger* PrintCmd; +private: + 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 index e1e7c22e7f..3bc0610b63 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyGeometryController.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyGeometryController.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyGeometryController.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyGeometryController_hh #define HadrontherapyGeometryController_hh 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyGeometryMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyGeometryMessenger.hh index 3281e9ea10..23a2939bf9 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyGeometryMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyGeometryMessenger.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyGeometryMessenger.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyGeometryMessenger_h #define HadrontherapyGeometryMessenger_h 1 @@ -40,7 +46,7 @@ class G4UIcmdWithAString; class HadrontherapyGeometryMessenger: public G4UImessenger { - public: +public: HadrontherapyGeometryMessenger(HadrontherapyGeometryController* ); ~HadrontherapyGeometryMessenger(); diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyInteractionParameters.hh b/examples/advanced/hadrontherapy/include/HadrontherapyInteractionParameters.hh index cb6b3824d8..6c92344017 100755 --- a/examples/advanced/hadrontherapy/include/HadrontherapyInteractionParameters.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyInteractionParameters.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyInteractionParameters.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyInteractionParameters_H #define HadrontherapyInteractionParameters_H 1 @@ -33,39 +39,68 @@ #include "G4NistMaterialBuilder.hh" #include "G4NistElementBuilder.hh" +#ifdef G4ANALYSIS_USE_ROOT +#include "TROOT.h" +#include "TCanvas.h" +#include "TFile.h" +#include "TH1F.h" +#include "TH2F.h" +#include "TGraph.h" +#include "TLegend.h" +#include "TLegendEntry.h" +#include "TStyle.h" +#endif + class HadrontherapyDetectorConstruction; class HadrontherapyParameterMessenger; +class G4ParticleDefinition; +class G4Material; + class HadrontherapyInteractionParameters : public G4EmCalculator { public: - HadrontherapyInteractionParameters(); - ~HadrontherapyInteractionParameters(); + HadrontherapyInteractionParameters(G4bool); + ~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]. + // Get data for Mass SP + // 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); + G4bool GetStoppingTable (const G4String& vararg); + G4double GetStopping (G4double energy, + const G4ParticleDefinition*, + const G4Material*, + G4double density = 0.); +#ifdef G4ANALYSIS_USE_ROOT + void PlotStopping(const G4String&); +#endif + void ListOfNistMaterials (const G4String& vararg); + void BeamOn(); + bool ParseArg (const G4String& vararg); private: - G4Material* GetNistMaterial(G4String material); + G4Material* GetNistMaterial(G4String material); + G4NistElementBuilder* nistEle; + G4NistMaterialBuilder* nistMat; + std::ofstream outfile; + std::ostream data; + G4Material* Pmaterial; + HadrontherapyParameterMessenger* pMessenger; + bool beamFlag; + +#ifdef G4ANALYSIS_USE_ROOT + TCanvas *theRootCanvas; + TGraph *theRootGraph; + TAxis *axisX, *axisY; +#endif + G4double kinEmin, kinEmax, npoints; + G4String particle, material, filename; + G4double dedxtot, density; + std::vector energy; + std::vector massDedx; - 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 b5c2417cf0..f9eecc23ad 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyMatrix.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyMatrix.hh @@ -23,54 +23,124 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyMatrix.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyMatrix_H #define HadrontherapyMatrix_H 1 - +#include #include "globals.hh" #include +#include // The information: energy deposit and position in the phantom // is stored in a matrix +// type struct useful to store nucludes data +struct ion +{ + G4bool isPrimary; // true if particle is primary + G4int PDGencoding; // Particle data group id for the particle + //G4String extName; // AZ[excitation energy]: like He3[1277.4], He4[0.0], Li7[231.4], ... + G4String name; // simple name without excitation energy: He3, He4, Li7, ... + G4int len; // name length + G4int Z; // atomic number + G4int A; // mass number + G4double *dose; // pointer to dose matrix + unsigned int *fluence; // pointer to fluence matrix + //friend bool operator<(const ion& a, const ion& b) {return (a.Z == b.Z) ? b.A < a.A : b.Z < a.Z ;} + G4bool operator<(const ion& a) const{return (this->Z == a.Z) ? this-> A < a.A : this->Z < a.Z ;} +}; + class HadrontherapyMatrix { private: - HadrontherapyMatrix(G4int voxelX, G4int voxelY, G4int voxelZ); //<--- this is supposed to be a singleton + HadrontherapyMatrix(G4int numberOfVoxelAlongX, + G4int numberOfVoxelAlongY, + G4int numberOfVoxelAlongZ, + G4double massOfVoxel); //< this is supposed to be a singleton + public: ~HadrontherapyMatrix(); -// Get object instance only - static HadrontherapyMatrix* getInstance(); -// Make & Get instance - static HadrontherapyMatrix* getInstance(G4int nX, G4int nY, G4int nZ); - - void flush(); - - void Initialize(); + // Get object instance only + static HadrontherapyMatrix* GetInstance(); + // Make & Get instance + static HadrontherapyMatrix* GetInstance(G4int nX, G4int nY, G4int nZ, G4double mass); + + static G4bool secondary; + // Full list of generated nuclides + void PrintNuclides(); + // Hit array marker (useful to avoid multiple counts of fluence) + void ClearHitTrack(); + G4int* GetHitTrack(G4int i, G4int j, G4int k); + // All the elements of the matrix are initialised to zero - + void Initialize(); + void Clear(); + // Fill DOSE/fluence matrix for particle: + // if fluence parameter is true then fluence at voxel (i, j, k) is increased + // else energyDeposit fill the dose matrix for voxel (i,j,k) + G4bool Fill(G4int, G4ParticleDefinition* particleDef, G4int i, G4int j, G4int k, G4double energyDeposit, G4bool fluence=false); + + // Fill TOTAL DOSE matrix for primary particles only 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 // the energy deposit was registered - - 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 + void TotalEnergyDeposit(); + + // Store single matrix data to filename + void StoreMatrix(G4String file, void* data,size_t psize); + // Store all fluence data to filenames + void StoreFluenceData(); + // Store all dose data to filenames + void StoreDoseData(); + // Store all data (except the total dose) to ONE filename + void StoreDoseFluenceAscii(G4String filename = ""); + +#ifdef G4ANALYSIS_USE_ROOT + void StoreDoseFluenceRoot(); +#endif + + inline G4int Index(G4int i, G4int j, G4int k) { return (i * numberOfVoxelAlongY + j) * numberOfVoxelAlongZ + k; } + // Get a unique index from a three dimensional one + + G4double * GetMatrix(){return matrix;} + + G4int GetNvoxel(){return numberOfVoxelAlongX*numberOfVoxelAlongY*numberOfVoxelAlongZ;} + // Total number of voxels read only access + G4int GetNumberOfVoxelAlongX(){return numberOfVoxelAlongX;} + G4int GetNumberOfVoxelAlongY(){return numberOfVoxelAlongY;} + G4int GetNumberOfVoxelAlongZ(){return numberOfVoxelAlongZ;} private: static HadrontherapyMatrix* instance; - G4int numberVoxelX; - G4int numberVoxelY; - G4int numberVoxelZ; + G4int numberOfVoxelAlongX; + G4int numberOfVoxelAlongY; + G4int numberOfVoxelAlongZ; + G4double massOfVoxel; + G4double* matrix; + G4int* hitTrack; + G4String stdFile, filename; + std::ofstream ofs; + + // Dose&fluence data store + std::vector ionStore; + // want secondary particles? + G4double doseUnit; }; #endif + diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyModulator.hh b/examples/advanced/hadrontherapy/include/HadrontherapyModulator.hh index 88752aef60..0c58578505 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyModulator.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyModulator.hh @@ -23,19 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group // -// 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 HadrontherapyModulator_H #define HadrontherapyModulator_H 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyParameterMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyParameterMessenger.hh index cb9d457cf9..d34e7a95ed 100755 --- a/examples/advanced/hadrontherapy/include/HadrontherapyParameterMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyParameterMessenger.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyParametersMessenger.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyParameterMessenger_h #define HadrontherapyParameterMessenger_h 1 @@ -40,17 +46,17 @@ class G4UIcmdWithoutParameter; class HadrontherapyParameterMessenger : public G4UImessenger { - public: - HadrontherapyParameterMessenger(HadrontherapyInteractionParameters* ); - ~HadrontherapyParameterMessenger(); +public: + HadrontherapyParameterMessenger(HadrontherapyInteractionParameters* ); + ~HadrontherapyParameterMessenger(); - void SetNewValue(G4UIcommand*, G4String); + void SetNewValue(G4UIcommand*, G4String); - private: - HadrontherapyInteractionParameters* pParam; +private: + HadrontherapyInteractionParameters* pParam; - G4UIdirectory *paramDir; - G4UIcmdWithAString *dedxCmd, *listCmd; + G4UIdirectory *paramDir; + G4UIcmdWithAString *dedxCmd, *listCmd; }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyParticles.hh b/examples/advanced/hadrontherapy/include/HadrontherapyParticles.hh index 77aaec8562..9bd1edfb2b 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyParticles.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyParticles.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyParticles.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HADRONTHERAPYPARTICLES_HH #define HADRONTHERAPYPARTICLES_HH 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh b/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh index 5ad5c47671..fdcf5f131d 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyPhysicsList.hh +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyPhysicsList_h #define HadrontherapyPhysicsList_h 1 @@ -50,7 +56,7 @@ public: void SetCutForGamma(G4double); void SetCutForElectron(G4double); void SetCutForPositron(G4double); - + void SetDetectorCut(G4double cut); void AddPhysicsList(const G4String& name); void ConstructProcess(); @@ -66,11 +72,11 @@ private: G4double cutForElectron; G4double cutForPositron; - G4bool helIsRegisted; - G4bool bicIsRegisted; - G4bool biciIsRegisted; + G4bool helIsRegistered; + G4bool bicIsRegistered; + G4bool biciIsRegistered; G4bool locIonIonInelasticIsRegistered; - G4bool radioactiveDecayIsRegisted; + G4bool radioactiveDecayIsRegistered; G4String emName; G4VPhysicsConstructor* emPhysicsList; diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsListMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsListMessenger.hh index fdab5d7c19..5e36767407 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsListMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsListMessenger.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyPhysicsListsMessenger.hh +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyPhysicsListMessenger_h #define HadrontherapyPhysicsListMessenger_h 1 @@ -41,14 +47,14 @@ class G4UIcmdWithAString; class HadrontherapyPhysicsListMessenger: public G4UImessenger { - public: +public: - HadrontherapyPhysicsListMessenger(HadrontherapyPhysicsList* ); - ~HadrontherapyPhysicsListMessenger(); + HadrontherapyPhysicsListMessenger(HadrontherapyPhysicsList* ); + ~HadrontherapyPhysicsListMessenger(); - void SetNewValue(G4UIcommand*, G4String); + void SetNewValue(G4UIcommand*, G4String); - private: +private: HadrontherapyPhysicsList* pPhysicsList; @@ -57,8 +63,8 @@ class HadrontherapyPhysicsListMessenger: public G4UImessenger G4UIcmdWithADoubleAndUnit* electCutCmd; G4UIcmdWithADoubleAndUnit* protoCutCmd; G4UIcmdWithADoubleAndUnit* allCutCmd; + G4UIcmdWithADoubleAndUnit* allDetectorCmd; G4UIcmdWithAString* pListCmd; - G4UIcmdWithAString* packageListCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorAction.hh b/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorAction.hh index 1238177ff7..f5567c6e9c 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorAction.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorAction.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyPrimaryGeneratorAction.hh; May 2005 +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyPrimaryGeneratorAction_h #define HadrontherapyPrimaryGeneratorAction_h 1 @@ -56,6 +62,7 @@ public: void SetsigmaMomentumY(G4double); void SetsigmaMomentumZ(G4double); G4double GetmeanKineticEnergy(void); + G4ParticleGun *GetParticleGun(void){return particleGun;} private: void SetDefaultPrimaryParticle(); @@ -70,9 +77,9 @@ private: G4double sigmaMomentumZ; private: - G4ParticleGun* particleGun; + G4ParticleGun* particleGun; HadrontherapyPrimaryGeneratorMessenger* gunMessenger; - G4double sigmaX; + G4double sigmaX; }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorMessenger.hh index 48d26c4205..3df5bd626a 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorMessenger.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyPrimaryGeneratorMessenger.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyPrimaryGeneratorMessenger_h #define HadrontherapyPrimaryGeneratorMessenger_h 1 @@ -39,27 +45,27 @@ class G4UIcmdWithADouble; class HadrontherapyPrimaryGeneratorMessenger: public G4UImessenger { - public: - HadrontherapyPrimaryGeneratorMessenger(HadrontherapyPrimaryGeneratorAction*); - ~HadrontherapyPrimaryGeneratorMessenger(); +public: + HadrontherapyPrimaryGeneratorMessenger(HadrontherapyPrimaryGeneratorAction*); + ~HadrontherapyPrimaryGeneratorMessenger(); void SetNewValue(G4UIcommand*, G4String); - private: - HadrontherapyPrimaryGeneratorAction* HadrontherapyAction; - G4UIdirectory* beamParametersDir; - G4UIdirectory* EnergyDir; - G4UIdirectory* particlePositionDir; - G4UIdirectory* MomentumDir; - G4UIcmdWithADoubleAndUnit* meanKineticEnergyCmd; - G4UIcmdWithADoubleAndUnit* sigmaEnergyCmd; - G4UIcmdWithADoubleAndUnit* XpositionCmd; - G4UIcmdWithADoubleAndUnit* YpositionCmd; - G4UIcmdWithADoubleAndUnit* ZpositionCmd; - G4UIcmdWithADoubleAndUnit* sigmaYCmd; - G4UIcmdWithADoubleAndUnit* sigmaZCmd; - G4UIcmdWithADouble* sigmaMomentumYCmd; - G4UIcmdWithADouble* sigmaMomentumZCmd; +private: + HadrontherapyPrimaryGeneratorAction* HadrontherapyAction; + G4UIdirectory* beamParametersDir; + G4UIdirectory* EnergyDir; + G4UIdirectory* particlePositionDir; + G4UIdirectory* MomentumDir; + G4UIcmdWithADoubleAndUnit* meanKineticEnergyCmd; + G4UIcmdWithADoubleAndUnit* sigmaEnergyCmd; + G4UIcmdWithADoubleAndUnit* XpositionCmd; + G4UIcmdWithADoubleAndUnit* YpositionCmd; + G4UIcmdWithADoubleAndUnit* ZpositionCmd; + G4UIcmdWithADoubleAndUnit* sigmaYCmd; + G4UIcmdWithADoubleAndUnit* sigmaZCmd; + G4UIcmdWithADouble* sigmaMomentumYCmd; + G4UIcmdWithADouble* sigmaMomentumZCmd; }; diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyRunAction.hh b/examples/advanced/hadrontherapy/include/HadrontherapyRunAction.hh index 3be8099fb3..1fd58bb612 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyRunAction.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyRunAction.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyRunAction.hh +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyRunAction_h #define HadrontherapyRunAction_h 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyStepMax.hh b/examples/advanced/hadrontherapy/include/HadrontherapyStepMax.hh index 3ad589c84d..ea700469c3 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyStepMax.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyStepMax.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyStepMax.hh +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyStepMax_h #define HadrontherapyStepMax_h 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyStepMaxMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyStepMaxMessenger.hh index 6f00cb76e8..8e60eead08 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyStepMaxMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyStepMaxMessenger.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyStepMaxMessenger.hh +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapyStepMaxMessenger_h #define HadrontherapyStepMaxMessenger_h 1 @@ -38,15 +44,15 @@ class G4UIcmdWithADoubleAndUnit; ///////////////////////////////////////////////////////////////////////////// class HadrontherapyStepMaxMessenger: public G4UImessenger { - public: - HadrontherapyStepMaxMessenger(HadrontherapyStepMax*); - ~HadrontherapyStepMaxMessenger(); +public: + HadrontherapyStepMaxMessenger(HadrontherapyStepMax*); + ~HadrontherapyStepMaxMessenger(); - void SetNewValue(G4UIcommand*, G4String); + void SetNewValue(G4UIcommand*, G4String); - private: - HadrontherapyStepMax* stepMax; - G4UIcmdWithADoubleAndUnit* StepMaxCmd; +private: + HadrontherapyStepMax* stepMax; + G4UIcmdWithADoubleAndUnit* StepMaxCmd; }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapySteppingAction.hh b/examples/advanced/hadrontherapy/include/HadrontherapySteppingAction.hh index 3ea68ce88d..36a65ff142 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapySteppingAction.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapySteppingAction.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyProtonSteppingAction.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef HadrontherapySteppingAction_h #define HadrontherapySteppingAction_h 1 @@ -40,8 +46,8 @@ class HadrontherapySteppingMessenger; #ifndef G4NOHIST - class HepTupleManager; - class HepHistogram; +class HepTupleManager; +class HepHistogram; #endif class HadrontherapySteppingAction : public G4UserSteppingAction diff --git a/examples/advanced/hadrontherapy/include/IAEADetectorConstruction.hh b/examples/advanced/hadrontherapy/include/IAEADetectorConstruction.hh index 4f12fd8e09..5c1bacbfb6 100644 --- a/examples/advanced/hadrontherapy/include/IAEADetectorConstruction.hh +++ b/examples/advanced/hadrontherapy/include/IAEADetectorConstruction.hh @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// IAEADetectorConstruction.hh; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #ifndef IAEADetectorConstruction_H #define IAEADetectorConstruction_H 1 @@ -81,7 +87,7 @@ private: HadrontherapyDetectorROGeometry* detectorROGeometry; // -# -# 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 index cacec89390..18812eb9ca 100644 --- a/examples/advanced/hadrontherapy/macro/GUIPersonalisation.mac +++ b/examples/advanced/hadrontherapy/macro/GUIPersonalisation.mac @@ -13,7 +13,6 @@ /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 @@ -22,23 +21,7 @@ /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 +/gui/addButton control "Hadron-therapy" "/control/execute macro/hadron_therapy.mac" diff --git a/examples/advanced/hadrontherapy/macro/detectorGeometry.mac b/examples/advanced/hadrontherapy/macro/detectorGeometry.mac index e78d1e70b0..53add6117b 100644 --- a/examples/advanced/hadrontherapy/macro/detectorGeometry.mac +++ b/examples/advanced/hadrontherapy/macro/detectorGeometry.mac @@ -13,13 +13,19 @@ ########################## -# 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 +# Set of the physic models +# +#/Physics/addPhysics standard_opt3 # Electromagnetic model +#/Physics/addPhysics elastic # Hadronic elastic model +#/Physics/addPhysics binary # Hadronic inelastic model +#/Physics/addPhysics local_ion_ion_inelastic # Hadronic inelastic model for ions (local physic list) +#/Physics/addPhysics radioactive_decay + +# +# Or alternatively: +# +/Physics/addPhysics QGSP_BIC_EMY +/Physics/addPhysics radioactive_decay # Initialize geometry and physic /run/initialize @@ -29,10 +35,10 @@ ############################# # /vis/scene/create -/vis/open OGLIX +/vis/open OGL /vis/viewer/flush /vis/viewer/set/viewpointThetaPhi 30 140 deg -/tracking/storeTrajectory 1 +/vis/scene/add/trajectories /vis/scene/endOfEventAction accumulate -1 # this accumulate infinite tracks # zoom to phantom... /vis/viewer/panTo 1.5 0.5 @@ -42,7 +48,7 @@ # Set here the cut and the step max for the tracking. # Suggested values of cut and step: # -/physic/setCuts 0.01 mm +/Physics/setCuts 0.01 mm /Step/waterPhantomStepMax 0.01 mm ######################### @@ -56,30 +62,29 @@ /beam/energy/sigmaEnergy 400 keV /beam/position/Xposition -2700 mm -######################### -# Display the event number -# during the run -# -/event/printEventNumber 10 -######################### -#################################### -# Change Phantom/Detector geometry # -#################################### + + +# Copy & Paste in a new macro the previous and ONE of the following groups of commands +# in order to change the 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 +# Position refers to the center of the phantom box respect to the center of the World /changePhantom/position 30. 0. 0. cm +/changePhantom/update # 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 +/changePhantom/update # -#/run/beamOn 300 +/run/beamOn 300 # ############################ # Change Detector geometry # @@ -88,13 +93,14 @@ # "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) +# The following line moves the detector 1 cm forward (along the beam direction), +# 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 +/run/beamOn 300 # ########################### # Change Detector Voxels # @@ -103,9 +109,41 @@ # 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 +/changePhantom/update # StepMax SHOULD not be bigger than 5% of the dose slice thickness! /Step/waterPhantomStepMax 0.005 mm +################################################################################################# -/vis/viewer/refresh -/run/beamOn 300 + +#################################### +# Change Phantom/Detector geometry # +#################################### +########################################################################################## +# Cut & paste the following commands in order to create, starting from the default sizes, +# an unique, 10 microns depth, slab in the detector, +# enlarging it to fit to the phantom Y and Z sizes + +# Set voxel size along X to 10 microns +/changeDetector/voxelSize 10 0 0 um +# Put detector in the lower left corner of the phantom +/changeDetector/displacement 0 0 0 +# Resize the detector to fit voxel X size and phantom Y and Z sizes +/changeDetector/size 0.01 400 400 mm +# Enlarge voxel Y and Z sizes to fit to that of the phantom (in order to have a simple slab) +/changeDetector/voxelSize 0 400 400 mm + +# Optionally, fit completely the phantom to the detector +/changePhantom/size 0.01 0 0 mm +/changePhantom/update +######################################################################################### + +########################################################################################## +# Cut & paste the following commands in order to create, starting from the default sizes, +# a full voxellized (200 by 200 by 200) detector + +/changeDetector/voxelSize 0 200 200 um +/changeDetector/displacement 0 0 0 +/changePhantom/size 4 4 4 cm +/changePhantom/update +########################################################################################## diff --git a/examples/advanced/hadrontherapy/macro/hadron_therapy.mac b/examples/advanced/hadrontherapy/macro/hadron_therapy.mac new file mode 100644 index 0000000000..613d7ce7fd --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/hadron_therapy.mac @@ -0,0 +1,106 @@ +# 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 +# +#/Physics/addPhysics standard_opt3 # Electromagnetic model +#/Physics/addPhysics elastic # Hadronic elastic model +#/Physics/addPhysics binary # Hadronic inelastic model +#/Physics/addPhysics radioactive_decay + +# +# Or alternatively: +# +#/Physics/addPhysics QGSP_BIC_EMY + + +/Physics/addPackage QGSP_BIC_EMY +########################## +# 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 + + +#/beamLine/RangeShifter/RSMat G4_PLEXIGLASS +#/beamLine/RangeShifter/thickness 13 mm +/beamLine/FinalCollimator/halfInnerRad 12.5 mm + +########################## +# Set here the cut and the step max for the tracking. +# Suggested values of cut and step: +# + +# Set cuts ONLY inside detector +/Physics/setDetectorCuts 0.01 mm + +# Set cuts outside detector +/Physics/setCuts 1 m + +/Step/waterPhantomStepMax 0.01 mm + +######################### +# Visualisation +# +/vis/scene/create +/vis/open OGL +/vis/viewer/flush +/vis/viewer/set/viewpointThetaPhi 30 140 deg +/vis/viewer/zoomTo 1 +#/vis/viewer/panTo 100 20 cm +/vis/viewer/panTo -10 0 cm +/vis/scene/add/trajectories +/tracking/storeTrajectory 1 +/vis/scene/endOfEventAction accumulate -1 +/vis/viewer/update + + + +######################### +# Display the event number +# during the run +# +/event/printEventNumber 100 + +#/changeDetector/voxelSize 0 1 1 mm +#/changePhantom/update + +# Default material is liquid water (G4_WATER) +#/changePhantom/material G4_Pb + +# If secondaries dose/fluence are needed +#/analysis/secondaries true + +/run/beamOn 100 + +######################### +# Move the generated .root & .out +# files into the +# "SimulationOutputs" folder +# if this folder has been created + +/control/shell mv DoseDistribution.root SimulationOutputs/proton/BraggPeak/protonBraggPeak.root +/control/shell mv Dose.out SimulationOutputs/proton/BraggPeak/Dose.out + diff --git a/examples/advanced/hadrontherapy/macro/iaea.mac b/examples/advanced/hadrontherapy/macro/iaea.mac index ab0cc9eaca..3f62f3262d 100644 --- a/examples/advanced/hadrontherapy/macro/iaea.mac +++ b/examples/advanced/hadrontherapy/macro/iaea.mac @@ -17,11 +17,11 @@ ########################## # 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 +/Physics/addPhysics emstandard_opt3 # Electromagnetic model +/Physics/addPhysics elastic # Hadronic elastic model +/Physics/addPhysics binary # Hadronic inelastic model +/Physics/addPhysics local_incl_ion_ion_inelastic # Hadronic inelastic model for ions (local Physic list) +/Physics/addPhysics radioactive_decay # Radioactive decay ########################## # Geometry # @@ -77,7 +77,6 @@ #/vis/viewer/pan 0 0 cm #/vis/scene/add/trajectories #/vis/scene/endOfEventAction accumulate -#/tracking/storeTrajectory 1 #/vis/viewer/update #/vis/scene/add/trajectories @@ -86,11 +85,10 @@ #/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 #/vis/scene/endOfEventAction accumulate -####### OGLIX ####### +####### OGL ####### #/vis/scene/create -##/vis/open OGLSX -#/vis/open OGLIX -##/vis/open OGLIX 600x600-100+0 +#/vis/open OGL +##/vis/open OGL 600x600-100+0 ##/vis/drawVolume ##/vis/viewer/set/viewpointThetaPhi 0 0 deg #/vis/viewer/set/viewpointThetaPhi 45 45 deg @@ -109,15 +107,15 @@ #/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/add/trajectories #/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 +/Physics/setCuts 0.8 cm +#/Physics/setCuts 0.4 cm /Step/waterPhantomStepMax 0.5 cm #/Step/waterPhantomStepMax 0.01 mm diff --git a/examples/advanced/hadrontherapy/macro/ion_therapy.mac b/examples/advanced/hadrontherapy/macro/ion_therapy.mac deleted file mode 100644 index 8a500a142e..0000000000 --- a/examples/advanced/hadrontherapy/macro/ion_therapy.mac +++ /dev/null @@ -1,67 +0,0 @@ -# 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/manySlabsPhantom.mac b/examples/advanced/hadrontherapy/macro/manySlabsPhantom.mac new file mode 100644 index 0000000000..5d1f3ec09a --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/manySlabsPhantom.mac @@ -0,0 +1,86 @@ +# S.E. Mazzaglia May 4 2010 + +# 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 + +########################## +# Set of the Physic models +# +#/Physics/addPhysics standard_opt3 # Electromagnetic model +#/Physics/addPhysics elastic # Hadronic elastic model +#/Physics/addPhysics binary # Hadronic inelastic model +#/Physics/addPhysics local_ion_ion_inelastic # Hadronic inelastic model for ions (local Physic list) +#/Physics/addPhysics radioactive_decay + +# +# Or alternatively: +# +/Physics/addPhysics QGSP_BIC_EMY + +# Initialize geometry and Physics +/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: +# +# Set cuts outside detector +/Physics/setCuts 0.01 mm +# Set cuts ONLY inside detector +/Physics/setDetectorCuts 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 + +# Copy & Paste in a new macro the previous and ONE of the following groups of commands +# in order to change the Phantom & Detector geometry! + +###################################### +# Change Phantom & Detector geometry # +###################################### + +########################################################################################## +# Cut & paste the following commands in order to create, +# a Phantom with a detector divided by 40 slabs +# Each slab is 0.1 mm along the X direction, 40 mm along the Y and Z. + +#/changePhantom/material G4_PLEXIGLASS # in case you do not want the default phantom made of liquid water +/changePhantom/size 40 40 40 cm +/changeDetector/size 4 4 4 cm +/changeDetector/voxelSize 0.1 40 40 mm +/changePhantom/update # update geometry! + +/run/beamOn 1000 + diff --git a/examples/advanced/hadrontherapy/macro/modulator.loop b/examples/advanced/hadrontherapy/macro/modulator.loop new file mode 100644 index 0000000000..8381994916 --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/modulator.loop @@ -0,0 +1,3 @@ +# macro to be run in loop +/modulator/angle 1 deg +/run/beamOn 1000 \ No newline at end of file diff --git a/examples/advanced/hadrontherapy/macro/modulatorMacro.mac b/examples/advanced/hadrontherapy/macro/modulatorMacro.mac index 6d82c298dd..f812a31bac 100644 --- a/examples/advanced/hadrontherapy/macro/modulatorMacro.mac +++ b/examples/advanced/hadrontherapy/macro/modulatorMacro.mac @@ -9,9 +9,10 @@ # IN ORDER TO INCREASE THE RESOLUTION MORE EVENT CAN ADDED # OR A SMALLER ANGLE CAN BE CHOSEN. # -# 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 +# NOTE THAT THE MODULATOR MATERIAL IS AIR FOR DEFAULT. +# IF ONE WANT CARRY OUT A SIMULATION WITH +# THE MODULATOR HE/SHE MUST MODIFY "HadrontherapyModulator.cc" +# AND SET the <> TO "PMMA". # # USERS SHOULD GIVE A LOOK TO THE HELP OF THE IDLE TO KNOW # THE ACTIVATED MESSSENGERS FOR THE GEOMETRY @@ -30,10 +31,17 @@ ########################## # 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 + +/Physics/addPhysics emstandard_opt3 # Electromagnetic model +/Physics/addPhysics Em_extra_physics +/Physics/addPhysics Elastic # Hadronic elastic model +/Physics/addPhysics decay +/Physics/addPhysics radioactive_decay +/Physics/addPhysics Stopping_physics +/Physics/addPhysics Neutron_tracking_cut +/Physics/addPhysics binary # Hadronic inelastic model + +#/Physics/addPhysics local_ion_ion_inelastic # Optional Hadronic inelastic model for ions (local physic list) ########################## # Initialisation procedure @@ -44,14 +52,15 @@ # Visualisation # /vis/scene/create -/vis/open OGLIX +/vis/open OGLI /vis/viewer/flush /vis/viewer/set/viewpointThetaPhi 50 130 deg /vis/viewer/zoom 3.5 /vis/viewer/pan -60 40 cm -/tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate +/vis/scene/add/trajectories /vis/viewer/update +/vis/scene/add/trajectories +/vis/scene/endOfEventAction accumulate ######################### # Set the primary particle type, # energy and position along the X direction @@ -60,13 +69,13 @@ /beam/energy/meanEnergy 62 MeV /beam/energy/sigmaEnergy 400 keV -/beam/position/Xposition -270 mm +/beam/position/Xposition -3000 mm ########################## # Set here the cut and the step max for the tracking. # Suggested values of cut and step: # -/physic/setCuts 0.1 mm +/Physics/setCuts 0.1 mm /Step/waterPhantomStepMax 0.01 mm @@ -80,16 +89,10 @@ # START OF THE MODULATOR ROTATION # IT CONSISTS IN A COMPLETE ROTATION -# OF THE WHHEEL (360 DEG) - -/run/beamOn 10 -/vis/viewer/flush - -/modulator/angle 1 deg -/run/beamOn 10 -/vis/viewer/flush - -/modulator/angle 1 deg -/run/beamOn 10 -/vis/viewer/flush +# OF THE WHEEL (360 DEG) +# Running in loop +/control/alias initialValue 0 +/control/alias finalValue 359 +/control/alias stepSize 1 +/control/loop macro/modulator.loop counterName {initialValue} {finalValue} {stepSize} diff --git a/examples/advanced/hadrontherapy/macro/oneSlabPhantom.mac b/examples/advanced/hadrontherapy/macro/oneSlabPhantom.mac new file mode 100644 index 0000000000..c48ce4a6a4 --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/oneSlabPhantom.mac @@ -0,0 +1,88 @@ +# S.E. Mazzaglia May 4 2010 + +# 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 + + +########################## +# 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 local_ion_ion_inelastic # Hadronic inelastic model for ions (local physic list) +#/Physics/addPhysics radioactive_decay + +# +# Or alternatively: +# +/Physics/addPhysics QGSP_BIC_EMY + +# 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: +# +# Set cuts outside detector +/Physics/setCuts 0.01 mm +# Set cuts ONLY inside detector +/Physics/setDetectorCuts 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 + +# Copy & Paste in a new macro the previous and ONE of the following groups of commands +# in order to change the Phantom & Detector geometry! + +###################################### +# Change Phantom & Detector geometry # +###################################### + +########################################################################################## +# Cut & paste the following commands in order to create, +# a Phantom with a detector divided by one only slab +# 1 mm along the X direction, 400 mm along the Y and Z. + +#/changePhantom/material G4_PLEXIGLASS # in case you do not want the default phantom made of liquid water +/changeDetector/displacement 0 0 0 mm +/changePhantom/size 1 400 400 mm +/changeDetector/size 1 400 400 mm +/changeDetector/voxelSize 1 400 400 mm +/changePhantom/update # update geometry! + +/run/beamOn 1000 + diff --git a/examples/advanced/hadrontherapy/macro/packageQGSP_BIC.mac b/examples/advanced/hadrontherapy/macro/packageQGSP_BIC.mac deleted file mode 100644 index 63b8da64d9..0000000000 --- a/examples/advanced/hadrontherapy/macro/packageQGSP_BIC.mac +++ /dev/null @@ -1,72 +0,0 @@ -############################################################################ -# -# PHYSICS LIST: -# ============= -# -# Geant4 Physics List: -# -# - QGSP_BIC 3.3 -# -############################################################################## - -######################### -# 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 - -########################## -# 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 - -#/beamLine/RangeShifter/thickness 4 cm -#/beamLine/RangeShifter/RSMat Water - - -######################### -# 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/proton_therapy.mac b/examples/advanced/hadrontherapy/macro/proton_therapy.mac deleted file mode 100644 index 335c0b5190..0000000000 --- a/examples/advanced/hadrontherapy/macro/proton_therapy.mac +++ /dev/null @@ -1,59 +0,0 @@ -# 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 index b9972e3e1d..4c53fde571 100644 --- a/examples/advanced/hadrontherapy/macro/stoppingPowers.mac +++ b/examples/advanced/hadrontherapy/macro/stoppingPowers.mac @@ -13,12 +13,20 @@ /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) +# Set of the physic models +# +#/Physics/addPhysics standard_opt3 # Electromagnetic model +#/Physics/addPhysics elastic # Hadronic elastic model +#/Physics/addPhysics binary # Hadronic inelastic model +#/Physics/addPhysics local_ion_ion_inelastic # Hadronic inelastic model for ions (local physic list) +#/Physics/addPhysics radioactive_decay + +# +# Or alternatively: +# +/Physics/addPhysics QGSP_BIC_EMY +/Physics/addPhysics radioactive_decay + # Initialize geometry and physic /run/initialize diff --git a/examples/advanced/hadrontherapy/macro/visualisationMacro.mac b/examples/advanced/hadrontherapy/macro/visualisationMacro.mac index 8948a56e92..cc26b0762f 100644 --- a/examples/advanced/hadrontherapy/macro/visualisationMacro.mac +++ b/examples/advanced/hadrontherapy/macro/visualisationMacro.mac @@ -18,11 +18,8 @@ ########################## # 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 +/Physics/addPhysics QGSP_BIC_EMY +/Physics/addPhysics radioactive_decay ########################## # Initialisation procedure @@ -38,7 +35,7 @@ /vis/viewer/set/viewpointThetaPhi 30 140 deg /vis/viewer/zoom 1 /vis/viewer/pan -10 0 cm -/tracking/storeTrajectory 1 +/vis/scene/add/trajectories /vis/scene/endOfEventAction accumulate /vis/viewer/update @@ -46,7 +43,7 @@ # Set here the cut and the step max for the tracking. # Suggested values of cut and step: # -/physic/setCuts 0.01 mm +/Physics/setCuts 0.01 mm /Step/waterPhantomStepMax 0.01 mm ######################### diff --git a/examples/advanced/hadrontherapy/macro/voxellizedPhantom.mac b/examples/advanced/hadrontherapy/macro/voxellizedPhantom.mac new file mode 100644 index 0000000000..c64431be36 --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/voxellizedPhantom.mac @@ -0,0 +1,81 @@ +# S.E. Mazzaglia May 4 2010 + +# 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 + +########################## +# Set of the physic models +# +/Physics/addPhysics emstandard_opt3 # Electromagnetic model +/Physics/addPhysics Em_extra_physics +/Physics/addPhysics Elastic # Hadronic elastic model +/Physics/addPhysics decay +/Physics/addPhysics radioactive_decay +/Physics/addPhysics Stopping_physics +/Physics/addPhysics Neutron_tracking_cut +/Physics/addPhysics binary # Hadronic inelastic model + + +# Initialize geometry and physic +/run/initialize + +############################# +# Initialize graphic system # +############################# +# +/vis/scene/create +/vis/open OGLI +/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: +# + +# Set cuts outside detector +/Physics/setCuts 0.01 mm +# Set cuts ONLY inside detector +/Physics/setDetectorCuts 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 + +#################################### +# Change Phantom/Detector geometry # +#################################### +########################################################################################## +# Cut & paste the following commands in order to create, starting from the default sizes, +# a full voxellized (40 by 40 by 40) detector + +/changePhantom/size 4 4 4 cm +/changeDetector/size 4 4 4 cm +/changeDetector/voxelSize 1 1 1 mm +# Put the detector in the lower left corner of the phantom +/changeDetector/displacement 0 0 0 +/changePhantom/update +########################################################################################## + +/run/beamOn 5000 diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisFileMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisFileMessenger.cc index b0bc351f0d..624c9846d7 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisFileMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisFileMessenger.cc @@ -23,43 +23,92 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyAnalysisFileMessenger.cc -// +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy // +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// + + #include "HadrontherapyAnalysisFileMessenger.hh" #include "HadrontherapyAnalysisManager.hh" #include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithABool.hh" #include "G4UIdirectory.hh" -#ifdef ANALYSIS_USE -// +#include "HadrontherapyMatrix.hh" + ///////////////////////////////////////////////////////////////////////////// HadrontherapyAnalysisFileMessenger::HadrontherapyAnalysisFileMessenger(HadrontherapyAnalysisManager* amgr) :AnalysisManager(amgr) -{ +{ + secondaryCmd = new G4UIcmdWithABool("/analysis/secondary",this); + secondaryCmd -> SetParameterName("secondary", true); + secondaryCmd -> SetDefaultValue("true"); + secondaryCmd -> SetGuidance("Set if dose/fluence for the secondary particles will be written" + "\n[usage]: /analysis/secondary [true/false]"); + secondaryCmd -> AvailableForStates(G4State_Idle, G4State_PreInit); + + DoseMatrixCmd = new G4UIcmdWithAString("/analysis/writeDoseFile",this); + DoseMatrixCmd->SetGuidance("Write the dose/fluence to an ASCII file"); + DoseMatrixCmd->SetDefaultValue("Dose.out"); + DoseMatrixCmd->SetParameterName("choice",true); + + // With this messenger you can: + // give a name to the generated .root file + // One can use this messenger to define a different .root file name other then the default one +#ifdef G4ANALYSIS_USE_ROOT 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); +#endif + } ///////////////////////////////////////////////////////////////////////////// HadrontherapyAnalysisFileMessenger::~HadrontherapyAnalysisFileMessenger() { + delete secondaryCmd; + delete DoseMatrixCmd; +#ifdef G4ANALYSIS_USE_ROOT delete FileNameCmd; +#endif } ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisFileMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if (command == FileNameCmd) + if (command == secondaryCmd) + { + if (HadrontherapyMatrix::GetInstance()) + { + HadrontherapyMatrix::GetInstance() -> secondary = secondaryCmd -> GetNewBoolValue(newValue); + } + } + + else if (command == DoseMatrixCmd) // Filename can be passed here TODO + { + if ( HadrontherapyMatrix * pMatrix = HadrontherapyMatrix::GetInstance() ) + { + pMatrix -> TotalEnergyDeposit(); + pMatrix -> StoreDoseFluenceAscii(newValue); +#ifdef G4ANALYSIS_USE_ROOT + pMatrix -> StoreDoseFluenceRoot(); + HadrontherapyAnalysisManager::GetInstance() -> flush(); // Finalize & write the root file +#endif + } + } +#ifdef G4ANALYSIS_USE_ROOT + else if (command == FileNameCmd) { AnalysisManager->SetAnalysisFileName(newValue); - AnalysisManager->flush(); //< fills matrix, writes it into file and books a new file and histograms etc. - AnalysisManager->book(); - } + HadrontherapyAnalysisManager::GetInstance() -> book(); // Book for a new ROOT TFile + } +#endif } -#endif diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisManager.cc b/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisManager.cc index 3db563d27b..a481da1ed1 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisManager.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisManager.cc @@ -23,623 +23,385 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyAnalisysManager.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyAnalysisManager.hh" #include "HadrontherapyMatrix.hh" #include "HadrontherapyAnalysisFileMessenger.hh" #include -#ifdef ANALYSIS_USE + HadrontherapyAnalysisManager* HadrontherapyAnalysisManager::instance = 0; -#ifdef G4ANALYSIS_USE_ROOT -#undef G4ANALYSIS_USE +HadrontherapyAnalysisManager::HadrontherapyAnalysisManager() +#ifdef G4ANALYSIS_USE_ROOT +: +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), +kinFragNtuple(0), +kineticEnergyPrimaryNtuple(0), +doseFragNtuple(0), +fluenceFragNtuple(0), +letFragNtuple(0), +theROOTNtuple(0), +theROOTIonTuple(0), +fragmentNtuple(0), +metaData(0), +eventCounter(0) #endif - +{ + fMess = new HadrontherapyAnalysisFileMessenger(this); +} ///////////////////////////////////////////////////////////////////////////// -#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; - - delete ionTuple; - ionTuple = 0; - - delete ntuple; - ntuple = 0; - - delete h16; - h16 = 0; - - delete h15; - h15 = 0; - - delete h14; - h14 = 0; - - delete h13; - h13 = 0; - - delete h12; - h12 = 0; - - delete h11; - h11 = 0; - - delete h10; - h10 = 0; - - delete h9; - h9 = 0; - - delete h8; - h8 = 0; - - delete h7; - h7 = 0; - - delete h6; - h6 = 0; - - delete h5; - h5 = 0; - - delete h4; - h4 = 0; - - delete h3; - h3 = 0; - - delete h2; - h2 = 0; - - delete h1; - h1 = 0; - - delete tupFact; - tupFact = 0; - - delete histFact; - histFact = 0; - - delete theTree; - theTree = 0; - - delete aFact; - aFact = 0; -#endif + delete fMess; #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; + Clear(); #endif } -///////////////////////////////////////////////////////////////////////////// -HadrontherapyAnalysisManager* HadrontherapyAnalysisManager::getInstance() -{ - if (instance == 0) instance = new HadrontherapyAnalysisManager; - return instance; -} +HadrontherapyAnalysisManager* HadrontherapyAnalysisManager::GetInstance() +{ + if (instance == 0) instance = new HadrontherapyAnalysisManager; + return instance; +} +#ifdef G4ANALYSIS_USE_ROOT +void HadrontherapyAnalysisManager::Clear() +{ + if (theTFile) + { + delete metaData; + metaData = 0; + + delete fragmentNtuple; + fragmentNtuple = 0; + + delete theROOTIonTuple; + theROOTIonTuple = 0; + + delete theROOTNtuple; + theROOTNtuple = 0; + + delete histo16; + histo16 = 0; + + delete histo15; + histo15 = 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; + } +} ///////////////////////////////////////////////////////////////////////////// + void HadrontherapyAnalysisManager::SetAnalysisFileName(G4String aFileName) { - this->analysisFileName = aFileName; + this->analysisFileName = aFileName; } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// +G4bool HadrontherapyAnalysisManager::IsTheTFile() +{ + return (theTFile) ? true:false; +} void HadrontherapyAnalysisManager::book() { -#ifdef G4ANALYSIS_USE - // Build up the analysis factory - aFact = AIDA_createAnalysisFactory(); - AIDA::ITreeFactory* treeFact = aFact -> createTreeFactory(); + delete theTFile; // this is similar to theTFile->Close() => delete all associated variables created via new, moreover it delete itself. - // Create the .hbk or the .root file - G4String fileName = "DoseDistribution.hbk"; + theTFile = new TFile(analysisFileName, "RECREATE"); - std::string opts = "export=root"; + // Create the histograms with the energy deposit along the X axis + histo1 = createHistogram1D("braggPeak","slice, energy", 400, 0., 80); // create(fileName,"hbook",false,true); - theTree = treeFact -> create(analysisFileName,"ROOT",false,true,opts); + kinFragNtuple = new TNtuple("kinFragNtuple", + "Kinetic energy by voxel & fragment", + "i:j:k:A:Z:kineticEnergy"); + kineticEnergyPrimaryNtuple= new TNtuple("kineticEnergyPrimaryNtuple", + "Kinetic energy by voxel of primary", + "i:j:k:kineticEnergy"); + doseFragNtuple = new TNtuple("doseFragNtuple", + "Energy deposit by voxel & fragment", + "i:j:k:A:Z:energy"); - // Factories are not "managed" by an AIDA analysis system. - // They must be deleted by the AIDA user code. - delete treeFact; + fluenceFragNtuple = new TNtuple("fluenceFragNtuple", + "Fluence by voxel & fragment", + "i:j:k:A:Z:fluence"); - // Create the histogram and the ntuple factory - histFact = aFact -> createHistogramFactory(*theTree); - tupFact = aFact -> createTupleFactory(*theTree); + letFragNtuple = new TNtuple("letFragNtuple", + "Let by voxel & fragment", + "i:j:k:A:Z:letT:letD"); - // Create the histograms with the enrgy deposit along the X axis - h1 = histFact -> createHistogram1D("10","slice, energy", 400, 0., 400. ); + theROOTNtuple = new TNtuple("theROOTNtuple", + "Energy deposit by slice", + "i:j:k:energy"); - h2 = histFact -> createHistogram1D("20","Secondary protons - slice, energy", 400, 0., 400. ); + theROOTIonTuple = new TNtuple("theROOTIonTuple", + "Generic ion information", + "a:z:occupancy:energy"); - h3 = histFact -> createHistogram1D("30","Secondary neutrons - slice, energy", 400, 0., 400. ); + fragmentNtuple = new TNtuple("fragmentNtuple", + "Fragments", + "A:Z:energy:posX:posY:posZ"); - h4 = histFact -> createHistogram1D("40","Secondary alpha - slice, energy", 400, 0., 400. ); - - h5 = histFact -> createHistogram1D("50","Secondary gamma - slice, energy", 400, 0., 400. ); - - h6 = histFact -> createHistogram1D("60","Secondary electron - slice, energy", 400, 0., 400. ); - - h7 = histFact -> createHistogram1D("70","Secondary triton - slice, energy", 400, 0., 400. ); - - 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 = ""; - if (tupFact) ntuple = tupFact -> create("1","1",columnNames, options); - - // Create the ntuple - 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(kSlice,k); - ntuple -> fill(iEnergy, energy); } - - ntuple -> addRow(); -#endif -#ifdef G4ANALYSIS_USE_ROOT - if (theROOTNtuple) { - theROOTNtuple->Fill(i, j, k, energy); - } -#endif + if (theROOTNtuple) + { + theROOTNtuple->Fill(i, j, k, energy); + } } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// 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 + histo1->SetBinContent(slice, energy); //This uses setbincontent instead of fill to get labels correct } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryProtonEnergyDeposit(G4int slice, G4double energy) { -#ifdef G4ANALYSIS_USE - h2 -> fill(slice,energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo2->Fill(slice, energy); -#endif + histo2->Fill(slice, energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryNeutronEnergyDeposit(G4int slice, G4double energy) { -#ifdef G4ANALYSIS_USE - h3 -> fill(slice,energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo3->Fill(slice, energy); -#endif + histo3->Fill(slice, energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryAlphaEnergyDeposit(G4int slice, G4double energy) { -#ifdef G4ANALYSIS_USE - h4 -> fill(slice,energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo4->Fill(slice, energy); -#endif + histo4->Fill(slice, energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryGammaEnergyDeposit(G4int slice, G4double energy) { -#ifdef G4ANALYSIS_USE - h5 -> fill(slice,energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo5->Fill(slice, energy); -#endif + histo5->Fill(slice, energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryElectronEnergyDeposit(G4int slice, G4double energy) { -#ifdef G4ANALYSIS_USE - h6 -> fill(slice,energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo6->Fill(slice, energy); -#endif + histo6->Fill(slice, energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryTritonEnergyDeposit(G4int slice, G4double energy) { -#ifdef G4ANALYSIS_USE - h7 -> fill(slice,energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo7->Fill(slice, energy); -#endif + histo7->Fill(slice, energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryDeuteronEnergyDeposit(G4int slice, G4double energy) { -#ifdef G4ANALYSIS_USE - h8 -> fill(slice,energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo8->Fill(slice, energy); -#endif + histo8->Fill(slice, energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryPionEnergyDeposit(G4int slice, G4double energy) { -#ifdef G4ANALYSIS_USE - h9 -> fill(slice,energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo9->Fill(slice, energy); -#endif + histo9->Fill(slice, energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::electronEnergyDistribution(G4double energy) { -#ifdef G4ANALYSIS_USE - h10 -> fill(energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo10->Fill(energy); -#endif + histo10->Fill(energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::gammaEnergyDistribution(G4double energy) { -#ifdef G4ANALYSIS_USE - h11 -> fill(energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo11->Fill(energy); -#endif + histo11->Fill(energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::deuteronEnergyDistribution(G4double energy) { -#ifdef G4ANALYSIS_USE - h12 -> fill(energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo12->Fill(energy); -#endif + histo12->Fill(energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::tritonEnergyDistribution(G4double energy) { -#ifdef G4ANALYSIS_USE - h13 -> fill(energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo13->Fill(energy); -#endif + histo13->Fill(energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::alphaEnergyDistribution(G4double energy) { -#ifdef G4ANALYSIS_USE - h14 -> fill(energy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo14->Fill(energy); -#endif + histo14->Fill(energy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::heliumEnergy(G4double secondaryParticleKineticEnergy) { -#ifdef G4ANALYSIS_USE - h15->fill(secondaryParticleKineticEnergy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo15->Fill(secondaryParticleKineticEnergy); -#endif + histo15->Fill(secondaryParticleKineticEnergy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::hydrogenEnergy(G4double secondaryParticleKineticEnergy) { -#ifdef G4ANALYSIS_USE - h16->fill(secondaryParticleKineticEnergy); -#endif -#ifdef G4ANALYSIS_USE_ROOT - histo16->Fill(secondaryParticleKineticEnergy); -#endif + histo16->Fill(secondaryParticleKineticEnergy); } - - -void HadrontherapyAnalysisManager::fillFragmentTuple(G4int A, G4double Z, G4double energy, G4double posX, G4double posY, G4double posZ) + ///////////////////////////////////////////////////////////////////////////// + // FillKineticFragmentTuple create an ntuple where the voxel indexs, the atomic number and mass and the kinetic + // energy of all the particles interacting with the phantom, are stored +void HadrontherapyAnalysisManager::FillKineticFragmentTuple(G4int i, G4int j, G4int k, G4int A, G4double Z, G4double kinEnergy) { -#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 + kinFragNtuple -> Fill(i, j, k, A, Z, kinEnergy); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// + // FillKineticEnergyPrimaryNTuple creates a ntuple where the voxel indexs and the kinetic + // energies of ONLY primary particles interacting with the phantom, are stored +void HadrontherapyAnalysisManager::FillKineticEnergyPrimaryNTuple(G4int i, G4int j, G4int k, G4double kinEnergy) +{ + kineticEnergyPrimaryNtuple -> Fill(i, j, k, kinEnergy); +} + + ///////////////////////////////////////////////////////////////////////////// + // This function is called only if ROOT is activated. + // It is called by the HadrontherapyMatric.cc class file and it is used to create two ntuples containing + // the total energy deposited and the fluence values, in each voxel and per any particle (primary + // and secondary particles beam) +void HadrontherapyAnalysisManager::FillVoxelFragmentTuple(G4int i, G4int j, G4int k, G4int A, G4double Z, G4double energy, G4double fluence) +{ + // Fill the ntuple containing the voxel, mass and atomic number and the energy deposited + doseFragNtuple -> Fill( i, j, k, A, Z, energy ); + + // Fill the ntuple containing the voxel, mass and atomic number and the fluence + if (i==1 && Z==1) { + fluenceFragNtuple -> Fill( i, j, k, A, Z, fluence ); + + } +} + +void HadrontherapyAnalysisManager::FillLetFragmentTuple(G4int i, G4int j, G4int k, G4int A, G4double Z, G4double letT, G4double letD) +{ + letFragNtuple -> Fill( i, j, k, A, Z, letT, letD); + +} + ///////////////////////////////////////////////////////////////////////////// +void HadrontherapyAnalysisManager::FillFragmentTuple(G4int A, G4double Z, G4double energy, G4double posX, G4double posY, G4double posZ) +{ + fragmentNtuple->Fill(A, Z, energy, posX, posY, posZ); +} + + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::genericIonInformation(G4int a, - G4double z, - G4int electronOccupancy, - G4double energy) + 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 energyIndex = ionTuple -> findColumn("energy"); - - ionTuple -> fill(aIndex,a); - ionTuple -> fill(zIndex,z); - ionTuple -> fill(electronIndex, electronOccupancy); - ionTuple -> fill(energyIndex, energy); - } - ionTuple -> addRow(); -#endif -#ifdef G4ANALYSIS_USE_ROOT - if (theROOTIonTuple) { - theROOTIonTuple->Fill(a, z, electronOccupancy, energy); - } -#endif + if (theROOTIonTuple) { + theROOTIonTuple->Fill(a, z, electronOccupancy, energy); + } } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::startNewEvent() { - eventCounter++; + eventCounter++; } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::setGeometryMetaData(G4double endDetectorPosition, G4double waterThickness, G4double phantomCenter) { - this->detectorDistance = endDetectorPosition; - this->phantomDepth = waterThickness; - this->phantomCenterDistance = phantomCenter; + this->detectorDistance = endDetectorPosition; + this->phantomDepth = waterThickness; + this->phantomCenterDistance = phantomCenter; } void HadrontherapyAnalysisManager::setBeamMetaData(G4double meanKineticEnergy,G4double sigmaEnergy) { - this->beamEnergy = meanKineticEnergy; - this->energyError = sigmaEnergy; + this->beamEnergy = meanKineticEnergy; + this->energyError = sigmaEnergy; } ///////////////////////////////////////////////////////////////////////////// +// Flush data & close the file 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; + if (theTFile) + { + theTFile -> Write(); + theTFile -> Close(); + } + theTFile = 0; + eventCounter = 0; } #endif - - - - - - - - - diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc index 6bfeefa829..1b3cf7d0eb 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc @@ -23,12 +23,22 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyDetectorConstruction.cc -// +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// + #include "G4SDManager.hh" #include "G4RunManager.hh" +#include "G4GeometryManager.hh" +#include "G4SolidStore.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4LogicalVolumeStore.hh" #include "G4Box.hh" #include "G4LogicalVolume.hh" #include "G4ThreeVector.hh" @@ -41,71 +51,82 @@ #include "G4UnitsTable.hh" #include "G4VisAttributes.hh" #include "G4NistManager.hh" + +#include "HadrontherapyDetectorConstruction.hh" #include "HadrontherapyDetectorROGeometry.hh" #include "HadrontherapyDetectorMessenger.hh" #include "HadrontherapyDetectorSD.hh" -#include "HadrontherapyDetectorConstruction.hh" #include "HadrontherapyMatrix.hh" +#include "HadrontherapyAnalysisManager.hh" + +#include ///////////////////////////////////////////////////////////////////////////// HadrontherapyDetectorConstruction::HadrontherapyDetectorConstruction(G4VPhysicalVolume* physicalTreatmentRoom) - : motherPhys(physicalTreatmentRoom), + : motherPhys(physicalTreatmentRoom), // pointer to WORLD volume 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 + phantom(0), detector(0), + phantomLogicalVolume(0), detectorLogicalVolume(0), + phantomPhysicalVolume(0), detectorPhysicalVolume(0), + aRegion(0) { - // 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, ...) + HadrontherapyAnalysisManager::GetInstance(); + + /* 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); // Default detector voxels size // 200 slabs along the beam direction (X) - sizeOfVoxelAlongX = 200 *um; - sizeOfVoxelAlongY = 2 * detectorSizeY; - sizeOfVoxelAlongZ = 2 * detectorSizeZ; + sizeOfVoxelAlongX = 200 *um; + sizeOfVoxelAlongY = 4 *cm; + sizeOfVoxelAlongZ = 4 *cm; - // Calculate (and eventually set) detector position by displacement, phantom size and detector size - SetDetectorPosition(); + // Define here the material of the water phantom and of the detector + SetPhantomMaterial("G4_WATER"); + // Construct geometry (messenger commands) + SetDetectorSize(4.*cm, 4.*cm, 4.*cm); + SetPhantomSize(40. *cm, 40. *cm, 40. *cm); + SetPhantomPosition(G4ThreeVector(20. *cm, 0. *cm, 0. *cm)); + SetDetectorToPhantomPosition(G4ThreeVector(0. *cm, 18. *cm, 18. *cm)); - // 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); + + // Write virtual parameters to the real ones and check for consistency + UpdateGeometry(); } ///////////////////////////////////////////////////////////////////////////// HadrontherapyDetectorConstruction::~HadrontherapyDetectorConstruction() { - delete detectorROGeometry;// This should be safe in C++ even if the argument is a NULL pointer + delete detectorROGeometry; delete matrix; delete detectorMessenger; } +///////////////////////////////////////////////////////////////////////////// +// ConstructPhantom() is the method that reconstuct a water box (called phantom +// (or water phantom) in the usual Medical physicists slang). +// A water phantom can be considered a good +// approximation of a an human body. void HadrontherapyDetectorConstruction::ConstructPhantom() { - //---------------------------------------- - // Phantom: - // A box used to approximate tissues - //---------------------------------------- - - G4bool isotopes = false; - G4Material* waterNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_WATER", isotopes); - phantom = new G4Box("Phantom",phantomSizeX, phantomSizeY, phantomSizeZ); + // Definition of the solid volume of the Phantom + phantom = new G4Box("Phantom", + phantomSizeX/2, + phantomSizeY/2, + phantomSizeZ/2); + +// Definition of the logical volume of the Phantom phantomLogicalVolume = new G4LogicalVolume(phantom, - waterNist, + phantomMaterial, "phantomLog", 0, 0, 0); + // Definition of the physics volume of the Phantom phantomPhysicalVolume = new G4PVPlacement(0, phantomPosition, "phantomPhys", @@ -118,61 +139,100 @@ void HadrontherapyDetectorConstruction::ConstructPhantom() red = new G4VisAttributes(G4Colour(255/255., 0/255. ,0/255.)); red -> SetVisibility(true); red -> SetForceSolid(true); -//red -> SetForceWireframe(true); + //red -> SetForceWireframe(true); phantomLogicalVolume -> SetVisAttributes(red); } ///////////////////////////////////////////////////////////////////////////// +// ConstructDetector() it the method the reconstruct a detector region +// inside the water phantom. It is a volume, located inside the water phantom +// and with two coincident faces: +// +// ************************** +// * water phantom * +// * * +// * * +// *--------------- * +// Beam * - * +// -----> * detector - * +// * - * +// *--------------- * +// * * +// * * +// * * +// ************************** +// +// The detector is the volume that can be dived in slices or voxelized +// and in it we can collect a number of usefull information: +// dose distribution, fluence distribution, LET and so on void HadrontherapyDetectorConstruction::ConstructDetector() { - //----------- - // Detector - //----------- - G4bool isotopes = false; - G4Material* waterNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_WATER", isotopes); - detector = new G4Box("Detector",detectorSizeX,detectorSizeY,detectorSizeZ); + + // Definition of the solid volume of the Detector + detector = new G4Box("Detector", + detectorSizeX/2, + detectorSizeY/2, + detectorSizeZ/2); + + // Definition of the logic volume of the Phantom detectorLogicalVolume = new G4LogicalVolume(detector, - waterNist, + detectorMaterial, "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, - phantomPhysicalVolume, - false,0); - +// Definition of the physical volume of the Phantom + detectorPhysicalVolume = new G4PVPlacement(0, + detectorPosition, // Setted by displacement + "DetectorPhys", + detectorLogicalVolume, + phantomPhysicalVolume, + false,0); + // Visualisation attributes of the detector skyBlue = new G4VisAttributes( G4Colour(135/255. , 206/255. , 235/255. )); skyBlue -> SetVisibility(true); skyBlue -> SetForceSolid(true); -//skyBlue -> SetForceWireframe(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 + if (!aRegion) + { + 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 - + //if (detectorSD) detectorSD->PrintAll(); + //delete detectorSD; // Sensitive Detector and ReadOut geometry definition G4SDManager* sensitiveDetectorManager = G4SDManager::GetSDMpointer(); - G4String sensitiveDetectorName = "Detector"; + static G4String sensitiveDetectorName = "Detector"; if (!detectorSD) { // The sensitive detector is instantiated detectorSD = new HadrontherapyDetectorSD(sensitiveDetectorName); } // The Read Out Geometry is instantiated - G4String ROGeometryName = "DetectorROGeometry"; + static G4String ROGeometryName = "DetectorROGeometry"; detectorROGeometry = new HadrontherapyDetectorROGeometry(ROGeometryName, detectorToWorldPosition, - detectorSizeX, - detectorSizeY, - detectorSizeZ, + detectorSizeX/2, + detectorSizeY/2, + detectorSizeZ/2, numberOfVoxelsAlongX, numberOfVoxelsAlongY, numberOfVoxelsAlongZ); @@ -192,210 +252,186 @@ void HadrontherapyDetectorConstruction::ConstructSensitiveDetector(G4ThreeVecto detectorLogicalVolume -> SetSensitiveDetector(detectorSD); } } +void HadrontherapyDetectorConstruction::ParametersCheck() +{ + // Check phantom/detector sizes & relative position + if (!IsInside(detectorSizeX, + detectorSizeY, + detectorSizeZ, + phantomSizeX, + phantomSizeY, + phantomSizeZ, + detectorToPhantomPosition + )) + G4Exception("Error at HadrontherapyDetectorConstruction::ParametersCheck(). Detector is not fully inside Phantom!"); + // Check Detector sizes respect to the voxel ones + + if ( detectorSizeX < sizeOfVoxelAlongX) { + G4Exception("Error at HadrontherapyDetectorConstruction::ParametersCheck(). Detector X size must be bigger or equal than that of Voxel X"); + } + if ( detectorSizeY < sizeOfVoxelAlongY) { + G4Exception("Error at HadrontherapyDetectorConstruction::ParametersCheck(). Detector Y size must be bigger or equal than that of Voxel Y"); + } + if ( detectorSizeZ < sizeOfVoxelAlongZ) { + G4Exception("Error at HadrontherapyDetectorConstruction::ParametersCheck(). Detector Z size must be bigger or equal than that of Voxel Z"); + } + +} ///////////////// // MESSENGERS // //////////////// -G4bool HadrontherapyDetectorConstruction::SetNumberOfVoxelBySize(G4double sizeX, G4double sizeY, G4double sizeZ) + +G4bool HadrontherapyDetectorConstruction::SetPhantomMaterial(G4String material) { - // Only change positive dimensions - // XXX numberOfVoxels must be an integer, warn the user - if (sizeX > 0) + if (G4Material* pMat = G4NistManager::Instance()->FindOrBuildMaterial(material, false) ) { - if (sizeX > 2*detectorSizeX) + phantomMaterial = pMat; + detectorMaterial = pMat; + if (detectorLogicalVolume && phantomLogicalVolume) { - G4cout << "WARNING: Voxel X size must be smaller or equal than that of detector X" << G4endl; - return false; + detectorLogicalVolume -> SetMaterial(pMat); + phantomLogicalVolume -> SetMaterial(pMat); + + G4RunManager::GetRunManager() -> PhysicsHasBeenModified(); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); + G4cout << "The material of Phantom/Detector has been changed to " << material << G4endl; } - // 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; + } + else + { + G4cout << "WARNING: material \"" << material << "\" doesn't exist in NIST elements/materials" + " table [located in $G4INSTALL/source/materials/src/G4NistMaterialBuilder.cc]" << G4endl; + G4cout << "Use command \"/parameter/nist\" to see full materials list!" << G4endl; + return false; } - 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; - } + return true; +} +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyDetectorConstruction::SetPhantomSize(G4double sizeX, G4double sizeY, G4double sizeZ) +{ + if (sizeX > 0.) phantomSizeX = sizeX; + if (sizeY > 0.) phantomSizeY = sizeY; + if (sizeZ > 0.) phantomSizeZ = sizeZ; +} +///////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyDetectorConstruction::SetDetectorSize(G4double sizeX, G4double sizeY, G4double sizeZ) +{ + if (sizeX > 0.) {detectorSizeX = sizeX;} + if (sizeY > 0.) {detectorSizeY = sizeY;} + if (sizeZ > 0.) {detectorSizeZ = sizeZ;} + SetVoxelSize(sizeOfVoxelAlongX, sizeOfVoxelAlongY, sizeOfVoxelAlongZ); +} +///////////////////////////////////////////////////////////////////////////// - G4cout << "The (X, Y, Z) sizes of the Voxels are: (" << - G4BestUnit(sizeOfVoxelAlongX, "Length") << ", " << - G4BestUnit(sizeOfVoxelAlongY, "Length") << ", " << - G4BestUnit(sizeOfVoxelAlongZ, "Length") << ')' << G4endl; +void HadrontherapyDetectorConstruction::SetVoxelSize(G4double sizeX, G4double sizeY, G4double sizeZ) +{ + if (sizeX > 0.) {sizeOfVoxelAlongX = sizeX;} + if (sizeY > 0.) {sizeOfVoxelAlongY = sizeY;} + if (sizeZ > 0.) {sizeOfVoxelAlongZ = sizeZ;} +} +void HadrontherapyDetectorConstruction::SetPhantomPosition(G4ThreeVector pos) +{ + phantomPosition = pos; +} + +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyDetectorConstruction::SetDetectorToPhantomPosition(G4ThreeVector displ) +{ + detectorToPhantomPosition = displ; +} +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyDetectorConstruction::UpdateGeometry() +{ + /* + * Check parameters consistency + */ + ParametersCheck(); + + G4GeometryManager::GetInstance() -> OpenGeometry(); + if (phantom) + { + phantom -> SetXHalfLength(phantomSizeX/2); + phantom -> SetYHalfLength(phantomSizeY/2); + phantom -> SetZHalfLength(phantomSizeZ/2); + phantomPhysicalVolume -> SetTranslation(phantomPosition); + } + else ConstructPhantom(); + + // Get the center of the detector + SetDetectorPosition(); + if (detector) + { + detector -> SetXHalfLength(detectorSizeX/2); + detector -> SetYHalfLength(detectorSizeY/2); + detector -> SetZHalfLength(detectorSizeZ/2); + detectorPhysicalVolume -> SetTranslation(detectorPosition); + } + else ConstructDetector(); + + // Round to nearest integer number of voxel + numberOfVoxelsAlongX = lrint(detectorSizeX / sizeOfVoxelAlongX); + sizeOfVoxelAlongX = ( detectorSizeX / numberOfVoxelsAlongX ); + + numberOfVoxelsAlongY = lrint(detectorSizeY / sizeOfVoxelAlongY); + sizeOfVoxelAlongY = ( detectorSizeY / numberOfVoxelsAlongY ); + + numberOfVoxelsAlongZ = lrint(detectorSizeZ / sizeOfVoxelAlongZ); + sizeOfVoxelAlongZ = ( detectorSizeZ / numberOfVoxelsAlongZ ); + + //G4cout << "*************** DetectorToWorldPosition " << GetDetectorToWorldPosition()/cm << "\n"; + ConstructSensitiveDetector(GetDetectorToWorldPosition()); + + volumeOfVoxel = sizeOfVoxelAlongX * sizeOfVoxelAlongY * sizeOfVoxelAlongZ; + massOfVoxel = detectorMaterial -> GetDensity() * volumeOfVoxel; + // This will clear the existing matrix (together with all data inside it)! + matrix = HadrontherapyMatrix::GetInstance(numberOfVoxelsAlongX, + numberOfVoxelsAlongY, + numberOfVoxelsAlongZ, + massOfVoxel); + + // Initialize analysis + HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::GetInstance(); +#ifdef G4ANALYSIS_USE_ROOT + analysis -> flush(); // Finalize the root file + analysis -> book(); +#endif + // Inform the kernel about the new geometry + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); + G4RunManager::GetRunManager() -> PhysicsHasBeenModified(); + + PrintParameters(); +} + +void HadrontherapyDetectorConstruction::PrintParameters() +{ + + 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 << "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; + + G4cout << "Displacement between Phantom and World is: "; + G4cout << "DX= "<< G4BestUnit(phantomPosition.getX(),"Length") << + "DY= "<< G4BestUnit(phantomPosition.getY(),"Length") << + "DZ= "<< G4BestUnit(phantomPosition.getZ(),"Length") << G4endl; + + 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; + 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) -{ -// 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; -} - -///////////////////////////////////////////////////////////////////////////// -G4bool HadrontherapyDetectorConstruction::SetPhantomSize(G4double sizeX, G4double sizeY, G4double sizeZ) -{ - - 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) -{ -// 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; -} - -///////////////////////////////////////////////////////////////////////////// -G4bool HadrontherapyDetectorConstruction::SetDetectorToPhantomPosition(G4ThreeVector displacement) -{ -// 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; } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorHit.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorHit.cc index 13432a9249..311e56581f 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorHit.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorHit.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorHit.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyDetectorHit.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc index 2cbe093d20..5bd9a5e27f 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc @@ -23,16 +23,21 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorMessenger.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy - +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyDetectorMessenger.hh" #include "HadrontherapyDetectorConstruction.hh" #include "G4UIdirectory.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" -#include "G4UIcmdWithAString.hh" #include "G4UIcmdWith3VectorAndUnit.hh" +#include "G4UIcmdWithoutParameter.hh" +#include "G4UIcmdWithAString.hh" ///////////////////////////////////////////////////////////////////////////// HadrontherapyDetectorMessenger::HadrontherapyDetectorMessenger(HadrontherapyDetectorConstruction* detector) @@ -48,10 +53,17 @@ HadrontherapyDetectorMessenger::HadrontherapyDetectorMessenger(HadrontherapyDete "PhantomSizeAlongY", "PhantomSizeAlongZ", false); changeThePhantomSizeCmd -> SetDefaultUnit("mm"); - changeThePhantomSizeCmd -> SetUnitCandidates("um mm cm"); + changeThePhantomSizeCmd -> SetUnitCandidates("nm um mm cm"); changeThePhantomSizeCmd -> AvailableForStates(G4State_Idle); + // Change Phantom material + changeThePhantomMaterialCmd = new G4UIcmdWithAString("/changePhantom/material", this); + changeThePhantomMaterialCmd -> SetGuidance("Change the Phantom and the detector material"); + changeThePhantomMaterialCmd -> SetParameterName("PhantomMaterial", false); + changeThePhantomMaterialCmd -> SetDefaultValue("G4_WATER"); + changeThePhantomMaterialCmd -> AvailableForStates(G4State_Idle); + // 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" @@ -60,10 +72,16 @@ HadrontherapyDetectorMessenger::HadrontherapyDetectorMessenger(HadrontherapyDete "PositionAlongY", "PositionAlongZ", false); changeThePhantomPositionCmd -> SetDefaultUnit("mm"); - changeThePhantomPositionCmd -> SetUnitCandidates("mm cm m"); + changeThePhantomPositionCmd -> SetUnitCandidates("um mm cm m"); changeThePhantomPositionCmd -> AvailableForStates(G4State_Idle); + updateCmd = new G4UIcmdWithoutParameter("/changePhantom/update",this); + updateCmd->SetGuidance("Update Phantom/Detector geometry."); + updateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); + updateCmd->SetGuidance("if you changed geometrical value(s)."); + updateCmd->AvailableForStates(G4State_Idle); + // Change detector size changeTheDetectorDir = new G4UIdirectory("/changeDetector/"); changeTheDetectorDir -> SetGuidance("Command to change the Detector's Size/position/Voxels"); @@ -73,7 +91,7 @@ HadrontherapyDetectorMessenger::HadrontherapyDetectorMessenger(HadrontherapyDete "\n 0 or negative values mean <>"); changeTheDetectorSizeCmd -> SetParameterName("DetectorSizeAlongX", "DetectorSizeAlongY", "DetectorSizeAlongZ", false); changeTheDetectorSizeCmd -> SetDefaultUnit("mm"); - changeTheDetectorSizeCmd -> SetUnitCandidates("um mm cm"); + changeTheDetectorSizeCmd -> SetUnitCandidates("nm um mm cm"); changeTheDetectorSizeCmd -> AvailableForStates(G4State_Idle); // Change the detector to phantom displacement @@ -84,7 +102,7 @@ HadrontherapyDetectorMessenger::HadrontherapyDetectorMessenger(HadrontherapyDete "DisplacementAlongY", "DisplacementAlongZ", false); changeTheDetectorToPhantomPositionCmd -> SetDefaultUnit("mm"); - changeTheDetectorToPhantomPositionCmd -> SetUnitCandidates("um mm cm"); + changeTheDetectorToPhantomPositionCmd -> SetUnitCandidates("nm um mm cm"); changeTheDetectorToPhantomPositionCmd -> AvailableForStates(G4State_Idle); // Change voxels by its size @@ -93,7 +111,7 @@ HadrontherapyDetectorMessenger::HadrontherapyDetectorMessenger(HadrontherapyDete "\n 0 or negative values mean <>"); changeTheDetectorVoxelCmd -> SetParameterName("VoxelSizeAlongX", "VoxelSizeAlongY", "VoxelSizeAlongZ", false); changeTheDetectorVoxelCmd -> SetDefaultUnit("mm"); - changeTheDetectorVoxelCmd -> SetUnitCandidates("um mm cm"); + changeTheDetectorVoxelCmd -> SetUnitCandidates("nm um mm cm"); changeTheDetectorVoxelCmd -> AvailableForStates(G4State_Idle); } @@ -103,6 +121,8 @@ HadrontherapyDetectorMessenger::~HadrontherapyDetectorMessenger() delete changeThePhantomDir; delete changeThePhantomSizeCmd; delete changeThePhantomPositionCmd; + delete changeThePhantomMaterialCmd; + delete updateCmd; delete changeTheDetectorDir; delete changeTheDetectorSizeCmd; delete changeTheDetectorToPhantomPositionCmd; @@ -123,6 +143,10 @@ void HadrontherapyDetectorMessenger::SetNewValue(G4UIcommand* command,G4String n G4ThreeVector size = changeThePhantomPositionCmd -> GetNew3VectorValue(newValue); hadrontherapyDetector -> SetPhantomPosition(size); } + else if (command == changeThePhantomMaterialCmd) + { + hadrontherapyDetector -> SetPhantomMaterial(newValue); + } else if (command == changeTheDetectorSizeCmd) { G4ThreeVector size = changeTheDetectorSizeCmd -> GetNew3VectorValue(newValue); @@ -136,6 +160,10 @@ void HadrontherapyDetectorMessenger::SetNewValue(G4UIcommand* command,G4String n else if (command == changeTheDetectorVoxelCmd) { G4ThreeVector size = changeTheDetectorVoxelCmd -> GetNew3VectorValue(newValue); - hadrontherapyDetector -> SetNumberOfVoxelBySize(size.getX(),size.getY(),size.getZ()); + hadrontherapyDetector -> SetVoxelSize(size.getX(),size.getY(),size.getZ()); + } + else if (command == updateCmd) + { + hadrontherapyDetector -> UpdateGeometry(); } } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorROGeometry.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorROGeometry.cc index 784fa464ff..db531fe2a2 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorROGeometry.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorROGeometry.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorROGeometry.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyDetectorROGeometry.hh" #include "HadrontherapyDummySD.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorSD.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorSD.cc index b4850365bc..cb0c4729d2 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorSD.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorSD.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorSD.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyDetectorSD.hh" #include "HadrontherapyAnalysisManager.hh" @@ -33,97 +39,165 @@ #include "G4VTouchable.hh" #include "G4TouchableHistory.hh" #include "G4SDManager.hh" +#include "HadrontherapyMatrix.hh" -HadrontherapyDetectorSD::HadrontherapyDetectorSD(G4String name):G4VSensitiveDetector(name) +///////////////////////////////////////////////////////////////////////////// +HadrontherapyDetectorSD::HadrontherapyDetectorSD(G4String name): + G4VSensitiveDetector(name) { - G4String HCname; - collectionName.insert(HCname="HadrontherapyDetectorHitsCollection"); - - HitsCollection = NULL; - G4String sensitiveDetectorName = name; + G4String HCname; + collectionName.insert(HCname="HadrontherapyDetectorHitsCollection"); + HitsCollection = NULL; + G4String sensitiveDetectorName = name; + } +///////////////////////////////////////////////////////////////////////////// HadrontherapyDetectorSD::~HadrontherapyDetectorSD() { } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyDetectorSD::Initialize(G4HCofThisEvent*) { - HitsCollection = new HadrontherapyDetectorHitsCollection(sensitiveDetectorName, - collectionName[0]); + 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; - - if(aStep -> GetPreStepPoint() -> GetPhysicalVolume() -> GetName() != "DetectorPhys") - return false; + //The code doesn't seem to get here if we use the IAEA geometry. FIXME + if(!ROhist) + return false; - G4double energyDeposit = aStep -> GetTotalEnergyDeposit(); - - if(energyDeposit == 0.) return false; + if (aStep -> GetPreStepPoint() -> GetPhysicalVolume() -> GetName() != "DetectorPhys") + return false; + // Get kinetic energy + G4Track * theTrack = aStep -> GetTrack(); + //G4double kineticEnergy = theTrack -> GetKineticEnergy(); - // Read voxel indexes: i is the x index, k is the z index + G4ParticleDefinition *particleDef = theTrack -> GetDefinition(); + //Get particle name + G4String particleName = particleDef -> GetParticleName(); + // G4cout << particleDef -> GetParticleType() << '\n'; + // Get unique track_id (in an event) + G4int trackID = theTrack -> GetTrackID(); - G4int k = ROhist -> GetReplicaNumber(0); - G4int i = ROhist -> GetReplicaNumber(2); - G4int j = ROhist -> GetReplicaNumber(1); - - G4String particleName = aStep -> GetTrack() -> GetDynamicParticle() -> - GetDefinition() -> GetParticleName(); + G4double energyDeposit = aStep -> GetTotalEnergyDeposit(); - // 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); + G4int Z = particleDef-> GetAtomicNumber(); + //G4int A = particleDef-> GetAtomicMass(); - // Energy deposit of secondary particles along X (integrated on Y and Z) + // Read voxel indexes: i is the x index, k is the z index + G4int k = ROhist -> GetReplicaNumber(0); + G4int i = ROhist -> GetReplicaNumber(2); + G4int j = ROhist -> GetReplicaNumber(1); -#ifdef ANALYSIS_USE - HadrontherapyAnalysisManager* analysis = - HadrontherapyAnalysisManager::getInstance(); - - if(aStep -> GetTrack() -> GetTrackID()!= 1) - { - if (particleName == "proton") - analysis -> SecondaryProtonEnergyDeposit(i, energyDeposit/MeV); - - if (particleName == "neutron") - analysis -> SecondaryNeutronEnergyDeposit(i, energyDeposit/MeV); - - if (particleName == "alpha") - analysis -> SecondaryAlphaEnergyDeposit(i, energyDeposit/MeV); - - if (particleName == "gamma") - analysis -> SecondaryGammaEnergyDeposit(i, energyDeposit/MeV); - - if (particleName == "e-") - analysis -> SecondaryElectronEnergyDeposit(i, energyDeposit/MeV); - - if (particleName == "triton") - analysis -> SecondaryTritonEnergyDeposit(i, energyDeposit/MeV); - - if (particleName == "deuteron") - analysis -> SecondaryDeuteronEnergyDeposit(i, energyDeposit/MeV); - - if (particleName == "pi+" || particleName == "pi-" || particleName == "pi0") - analysis -> SecondaryPionEnergyDeposit(i, energyDeposit/MeV); - } +#ifdef G4ANALYSIS_USE_ROOT + HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::GetInstance(); #endif - return true; + HadrontherapyMatrix* matrix = HadrontherapyMatrix::GetInstance(); + + if (matrix) + { + + // Increment Fluences & accumulate energy spectra + // Hit voxels are marked with track_id throught hitTrack matrix + G4int* hitTrack = matrix -> GetHitTrack(i,j,k); // hitTrack MUST BE cleared at every eventAction! + if ( *hitTrack != trackID ) + { + *hitTrack = trackID; + /* + * Fill FLUENCE data for every single nuclide + * Exclude e-, neutrons, gamma, ... + */ + if ( Z >= 1) + matrix -> Fill(trackID, particleDef, i, j, k, 0, true); +#ifdef G4ANALYSIS_USE_ROOT +/* + // Fragments kinetic energy (ntuple) + if (trackID !=1 && Z>=1) + { + // First step kinetic energy for every fragment + analysis -> FillKineticFragmentTuple(i, j, k, A, Z, kineticEnergy/MeV); + } + // Kinetic energy spectra for primary particles + + if ( trackID == 1 && i == 0) + { + // First step kinetic energy for primaries only + analysis -> FillKineticEnergyPrimaryNTuple(i, j, k, kineticEnergy/MeV); + } +*/ +#endif + } + + if(energyDeposit != 0) + { +/* + * This method will fill a dose matrix for every single nuclide. + * A method of the HadrontherapyMatrix class (StoreDoseFluenceAscii()) + * is called automatically at the end of main (or via the macro command /analysis/writeDoseFile. + * It permits to store all dose/fluence data into a single plane ASCII file. +*/ + // if (A==1 && Z==1) // primary and sec. protons + if ( Z>=1 ) // exclude e-, neutrons, gamma, ... + matrix -> Fill(trackID, particleDef, i, j, k, energyDeposit); + /* + * 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); + } + } + +#ifdef G4ANALYSIS_USE_ROOT + if(energyDeposit != 0) + { + if(trackID != 1) + { + if (particleName == "proton") + analysis -> SecondaryProtonEnergyDeposit(i, energyDeposit/MeV); + + else if (particleName == "neutron") + analysis -> SecondaryNeutronEnergyDeposit(i, energyDeposit/MeV); + + else if (particleName == "alpha") + analysis -> SecondaryAlphaEnergyDeposit(i, energyDeposit/MeV); + + else if (particleName == "gamma") + analysis -> SecondaryGammaEnergyDeposit(i, energyDeposit/MeV); + + else if (particleName == "e-") + analysis -> SecondaryElectronEnergyDeposit(i, energyDeposit/MeV); + + else if (particleName == "triton") + analysis -> SecondaryTritonEnergyDeposit(i, energyDeposit/MeV); + + else if (particleName == "deuteron") + analysis -> SecondaryDeuteronEnergyDeposit(i, energyDeposit/MeV); + + else if (particleName == "pi+" || particleName == "pi-" || particleName == "pi0") + analysis -> SecondaryPionEnergyDeposit(i, energyDeposit/MeV); + } + } +#endif + + return true; } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyDetectorSD::EndOfEvent(G4HCofThisEvent* HCE) { - static G4int HCID = -1; - if(HCID < 0) + static G4int HCID = -1; + if(HCID < 0) { - HCID = GetCollectionID(0); + HCID = GetCollectionID(0); } - HCE -> AddHitsCollection(HCID,HitsCollection); + + HCE -> AddHitsCollection(HCID,HitsCollection); } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyEventAction.cc b/examples/advanced/hadrontherapy/src/HadrontherapyEventAction.cc index d4ff6151f0..0766c5f617 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyEventAction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyEventAction.cc @@ -23,18 +23,22 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyEventAction.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "G4Event.hh" #include "G4EventManager.hh" #include "G4HCofThisEvent.hh" #include "G4VHitsCollection.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4SDManager.hh" #include "G4VVisManager.hh" + #include "HadrontherapyEventAction.hh" #include "HadrontherapyDetectorHit.hh" #include "HadrontherapyDetectorSD.hh" @@ -63,26 +67,30 @@ void HadrontherapyEventAction::BeginOfEventAction(const G4Event* evt) //printing survey if (evtNb%printModulo == 0) - G4cout << "\n---> Begin of Event: " << evtNb << G4endl; + 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; G4HCofThisEvent* HCE = evt -> GetHCofThisEvent(); - + + // Clear voxels hit list + HadrontherapyMatrix* matrix = HadrontherapyMatrix::GetInstance(); + if (matrix) matrix -> ClearHitTrack(); + if(HCE) { HadrontherapyDetectorHitsCollection* CHC = (HadrontherapyDetectorHitsCollection*)(HCE -> GetHC(hitsCollectionID)); if(CHC) { - matrix = HadrontherapyMatrix::getInstance(); if(matrix) { // Fill the matrix with the information: voxel and associated energy deposit @@ -100,24 +108,5 @@ void HadrontherapyEventAction::EndOfEventAction(const G4Event* evt) } } } - // Extract the trajectories and draw them in the visualisation - - if (G4VVisManager::GetConcreteInstance()) - { - G4TrajectoryContainer * trajectoryContainer = evt -> GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer -> entries(); - - for (G4int i = 0; i < n_trajectories; i++) - { - 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/hadrontherapy/src/HadrontherapyEventActionMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyEventActionMessenger.cc index 8d44ca36e4..d519eb9981 100755 --- a/examples/advanced/hadrontherapy/src/HadrontherapyEventActionMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyEventActionMessenger.cc @@ -23,9 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorHit.cc; -// +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyEventActionMessenger.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyGeometryController.cc b/examples/advanced/hadrontherapy/src/HadrontherapyGeometryController.cc index c34a00fe96..3a91dff1db 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyGeometryController.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyGeometryController.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyGeometryController.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyGeometryController.hh" #include "HadrontherapyDetectorConstruction.hh" @@ -33,34 +39,40 @@ #include "PassiveProtonBeamLine.hh" #include "G4RunManager.hh" - +///////////////////////////////////////////////////////////////////////////// HadrontherapyGeometryController::HadrontherapyGeometryController() -{ - -} +{} +///////////////////////////////////////////////////////////////////////////// HadrontherapyGeometryController::~HadrontherapyGeometryController() -{ - -} +{} +///////////////////////////////////////////////////////////////////////////// void HadrontherapyGeometryController::SetGeometry(G4String name) { - 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; - } -} + 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(); + G4RunManager *runManager = G4RunManager::GetRunManager(); + runManager->SetUserInitialization(detector); + runManager->GeometryHasBeenModified(); } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyGeometryMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyGeometryMessenger.cc index a35be71fd8..e5b0bf582d 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyGeometryMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyGeometryMessenger.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyGeometrymessenger.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyGeometryMessenger.hh" #include "HadrontherapyGeometryController.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyInteractionParameters.cc b/examples/advanced/hadrontherapy/src/HadrontherapyInteractionParameters.cc index 254706333c..57d8d17784 100755 --- a/examples/advanced/hadrontherapy/src/HadrontherapyInteractionParameters.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyInteractionParameters.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyInteractionParameters.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyInteractionParameters.hh" #include "HadrontherapyParameterMessenger.hh" @@ -53,31 +59,42 @@ #include -HadrontherapyInteractionParameters::HadrontherapyInteractionParameters(): - nistEle(new G4NistElementBuilder(0)), - nistMat(new G4NistMaterialBuilder(nistEle, 0)), - data(std::cout.rdbuf()), emCal(new G4EmCalculator), - pMessenger(new HadrontherapyParameterMessenger(this)), +HadrontherapyInteractionParameters::HadrontherapyInteractionParameters(G4bool wantMessenger): + nistEle(new G4NistElementBuilder(0)), + nistMat(new G4NistMaterialBuilder(nistEle, 0)), + data(G4cout.rdbuf()), + pMessenger(0), beamFlag(false) +#ifdef G4ANALYSIS_USE_ROOT + ,theRootCanvas(0), + theRootGraph(0) +#endif { + if (wantMessenger) pMessenger = new HadrontherapyParameterMessenger(this); } HadrontherapyInteractionParameters::~HadrontherapyInteractionParameters() { - delete pMessenger; - delete emCal; + if (pMessenger) delete pMessenger; delete nistMat; delete nistEle; } + +G4double HadrontherapyInteractionParameters::GetStopping (G4double energy, + const G4ParticleDefinition* pDef, + const G4Material* pMat, + G4double density) +{ + if (density) return ComputeTotalDEDX(energy, pDef, pMat)/density; + return ComputeTotalDEDX(energy, pDef, pMat); +} bool HadrontherapyInteractionParameters::GetStoppingTable(const G4String& vararg) { // Check arguments if ( !ParseArg(vararg)) return false; - - std::vector energy; - std::vector massDedx; - G4double dedxtot; - + // Clear previous energy & mass sp vectors + energy.clear(); + massDedx.clear(); // log scale if (kinEmin != kinEmax && npoints >1) { @@ -88,43 +105,94 @@ bool HadrontherapyInteractionParameters::GetStoppingTable(const G4String& vararg 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 ); + energy.push_back(en/MeV); + dedxtot = ComputeTotalDEDX (en, particle, material); + massDedx.push_back ( (dedxtot / density)/(MeV*cm2/g) ); } } else // one point only { - energy.push_back(kinEmin); - dedxtot = emCal -> ComputeTotalDEDX (kinEmin, particle, material); - massDedx.push_back ( dedxtot / density ); + energy.push_back(kinEmin/MeV); + dedxtot = ComputeTotalDEDX (kinEmin, particle, material); + massDedx.push_back ( (dedxtot / density)/(MeV*cm2/g) ); } G4cout.precision(6); data << "MeV " << "MeV*cm2/g " << particle << " (into " << - material << ", density = " << G4BestUnit(density,"Volumic Mass") << ")" << G4endl; + material << ", density = " << G4BestUnit(density,"Volumic Mass") << ")" << G4endl; data << G4endl; data << std::left << std::setfill(' '); for (size_t i=0; iReset(); + gROOT->SetStyle("Plain"); + theRootCanvas = new TCanvas("theRootCanvas","Interaction Parameters",200, 10, 600,400); + theRootCanvas -> SetFillColor(20); + theRootCanvas -> SetBorderMode(1); + theRootCanvas -> SetBorderSize(1); + theRootCanvas -> SetFrameBorderMode(0); + theRootCanvas -> SetGrid(); + // Use global pad: root manual pgg 109,... + } + + if (theRootGraph) delete theRootGraph; + theRootGraph = new TGraph(energy.size(), &energy[0], &massDedx[0]); + //theRootGraph = new TGraph(); + axisX = theRootGraph -> GetXaxis(), + axisY = theRootGraph -> GetYaxis(); + axisX -> SetTitle("MeV"); + axisY -> SetTitle("Stopping Power (MeV cm2/g)"); + //axisX -> SetNdivisions(500,kTRUE); + //axisX -> SetTickLength(0.03); + //axisX -> SetLabelOffset(2.005); + axisX -> SetAxisColor(2); + axisY -> SetAxisColor(2); + gPad -> SetLogx(1); + gPad -> SetLogy(1); + theRootGraph -> SetMarkerColor(4); + theRootGraph -> SetMarkerStyle(20);// circle + theRootGraph -> SetMarkerSize(.5); + + G4String gName = particle.substr(0, particle.find("[") ); // cut excitation energy + gName = gName + "_" + material; + G4String fName = "./referenceData/interaction/" + gName + "." + filetype; + theRootGraph -> SetTitle(gName); + theRootGraph -> Draw("AP"); + //theRootCanvas -> Update(); + //theRootCanvas -> Draw(); + theRootCanvas -> SaveAs(fName); +} +#endif // Search for user material choice inside G4NistManager database G4Material* HadrontherapyInteractionParameters::GetNistMaterial(G4String material) { Pmaterial = G4NistManager::Instance()->FindOrBuildMaterial(material); - if (Pmaterial) - { - density = Pmaterial -> GetDensity(); - } + if (Pmaterial) density = Pmaterial -> GetDensity(); return Pmaterial; } // Parse arguments line @@ -161,16 +229,16 @@ bool HadrontherapyInteractionParameters::ParseArg(const G4String& vararg) } // Check for particle if (particle == "") particle = "proton"; // default to "proton" - else if ( !emCal->FindParticle(particle) ) + else if ( !FindParticle(particle) ) { - G4cout << "WARNING: Particle \"" << particle << "\" isn't supported" << G4endl; - G4cout << "Try the command \"/particle/list\" to get full supported particles list" << G4endl; + 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; + "\nTry the commands:\n/gun/particle ion" + "\n/gun/ion <[charge]>" << G4endl << G4endl; return false; } - // start physics by forcing a G4RunManager beamOn(): + // start physics by forcing a G4RunManager::BeamOn(): BeamOn(); // Set output file if( filename != "" ) @@ -178,7 +246,7 @@ bool HadrontherapyInteractionParameters::ParseArg(const G4String& vararg) outfile.open(filename,std::ios_base::trunc); // overwrite existing file data.rdbuf(outfile.rdbuf()); } - else data.rdbuf(std::cout.rdbuf()); // output is G4cout + else data.rdbuf(G4cout.rdbuf()); // output is G4cout! return true; } // Force physics tables build @@ -189,7 +257,8 @@ void HadrontherapyInteractionParameters::BeamOn() G4ApplicationState aState = mState -> GetCurrentState(); if ( aState <= G4State_Idle && beamFlag == false) { - // G4cout << "Run State " << mState -> GetStateString( aState ) << G4endl; + G4cout << "Issuing a G4RunManager::beamOn()... "; + G4cout << "Current Run State is " << mState -> GetStateString( aState ) << G4endl; G4RunManager::GetRunManager() -> BeamOn(0); beamFlag = true; } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyMatrix.cc b/examples/advanced/hadrontherapy/src/HadrontherapyMatrix.cc index 1a0ee0e3d3..2e0a9952c7 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyMatrix.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyMatrix.cc @@ -23,122 +23,394 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyMatrix.cc; -// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy// +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyMatrix.hh" #include "HadrontherapyAnalysisManager.hh" -#include "globals.hh" +#include "G4RunManager.hh" +#include "HadrontherapyPrimaryGeneratorAction.hh" +#include "G4ParticleGun.hh" + #include +#include +#include +#include +#include +#include "globals.hh" +// Units definition: CLHEP/Units/SystemOfUnits.h +// 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; -} +G4bool HadrontherapyMatrix::secondary = false; -HadrontherapyMatrix::HadrontherapyMatrix(G4int voxelX, G4int voxelY, G4int voxelZ): - matrix(0) +// Only return a pointer to matrix +HadrontherapyMatrix* HadrontherapyMatrix::GetInstance() +{ + return instance; +} + // This STATIC method delete (!) the old matrix and rewrite a new object returning a pointer to it + // TODO A check on the parameters is required! +HadrontherapyMatrix* HadrontherapyMatrix::GetInstance(G4int voxelX, G4int voxelY, G4int voxelZ, G4double mass) +{ + if (instance) delete instance; + instance = new HadrontherapyMatrix(voxelX, voxelY, voxelZ, mass); + instance -> Initialize(); + return instance; +} +HadrontherapyMatrix::HadrontherapyMatrix(G4int voxelX, G4int voxelY, G4int voxelZ, G4double mass): + stdFile("Dose.out"), + doseUnit(MeV/g) { -// 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!"); + // 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 + numberOfVoxelAlongX = voxelX; + numberOfVoxelAlongY = voxelY; + numberOfVoxelAlongZ = voxelZ; + massOfVoxel = mass; + // Create the dose matrix + matrix = new G4double[numberOfVoxelAlongX*numberOfVoxelAlongY*numberOfVoxelAlongZ]; + if (matrix) + { + G4cout << "HadrontherapyMatrix: Memory space to store physical dose into " << + numberOfVoxelAlongX*numberOfVoxelAlongY*numberOfVoxelAlongZ << + " voxels has been allocated " << G4endl; + } + else G4Exception(" HadrontherapyMatrix::HadrontherapyMatrix. Can't allocate memory to store physical dose!"); + // Hit voxel (TrackID) marker + // This array mark the status of voxel, if a hit occur, with the trackID of the particle + // Must be initialized + hitTrack = new G4int[numberOfVoxelAlongX*numberOfVoxelAlongY*numberOfVoxelAlongZ]; + ClearHitTrack(); } +///////////////////////////////////////////////////////////////////////////// HadrontherapyMatrix::~HadrontherapyMatrix() { delete[] matrix; + delete[] hitTrack; + // free fluences/dose data memory + Clear(); } -void HadrontherapyMatrix::flush() +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyMatrix::Clear() { - if(matrix) - for(int i=0; i GetPDGEncoding(); + PDGencoding -= PDGencoding%10; + + // Search for already allocated data... + for (size_t l=0; l < ionStore.size(); l++) + { + if (ionStore[l].PDGencoding == PDGencoding ) + { // Is it a primary or a secondary particle? + if ( trackID ==1 && ionStore[l].isPrimary || trackID !=1 && !ionStore[l].isPrimary) + { + if (energyDeposit > 0.) ionStore[l].dose[Index(i, j, k)] += energyDeposit/massOfVoxel; + + // Fill a matrix per each ion with the fluence + if (fluence) ionStore[l].fluence[Index(i, j, k)]++; + return true; + } + } + } + + G4int Z = particleDef-> GetAtomicNumber(); + G4int A = particleDef-> GetAtomicMass(); + + G4String fullName = particleDef -> GetParticleName(); + G4String name = fullName.substr (0, fullName.find("[") ); // cut excitation energy + // Let's put a new particle in our store... + ion newIon = + { + (trackID == 1) ? true:false, + PDGencoding, + name, + name.length(), + Z, + A, + new G4double[numberOfVoxelAlongX * numberOfVoxelAlongY * numberOfVoxelAlongZ], + new unsigned int[numberOfVoxelAlongX * numberOfVoxelAlongY * numberOfVoxelAlongZ] + }; + // Initialize data + if (newIon.dose && newIon.fluence) + { + for(G4int m=0; m 0.) newIon.dose[Index(i, j, k)] += energyDeposit/massOfVoxel; + if (fluence) newIon.fluence[Index(i, j, k)]++; + + ionStore.push_back(newIon); + + // TODO Put some verbosity check + /* + G4cout << "Memory space to store the DOSE/FLUENCE into " << + numberOfVoxelAlongX*numberOfVoxelAlongY*numberOfVoxelAlongZ << + " voxels has been allocated for the nuclide " << newIon.name << + " (Z = " << Z << ", A = " << A << ")" << G4endl ; + */ + return true; + } + else // XXX Out of memory! XXX + { + return false; + } + +} + + ///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// + // Methods to store data to filenames... + //////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////// + // + // General method to store matrix data to filename +void HadrontherapyMatrix::StoreMatrix(G4String file, void* data, size_t psize) +{ + if (data) + { + ofs.open(file, std::ios::out); + if (ofs.is_open()) + { + for(G4int i = 0; i < numberOfVoxelAlongX; i++) + for(G4int j = 0; j < numberOfVoxelAlongY; j++) + for(G4int k = 0; k < numberOfVoxelAlongZ; k++) + { + G4int n = Index(i, j, k); + // Check for data type: u_int, G4double, XXX + if (psize == sizeof(unsigned int)) + { + unsigned int* pdata = (unsigned int*)data; + if (pdata[n]) ofs << i << '\t' << j << '\t' << + k << '\t' << pdata[n] << G4endl; + } + else if (psize == sizeof(G4double)) + { + G4double* pdata = (G4double*)data; + if (pdata[n]) ofs << i << '\t' << j << '\t' << + k << '\t' << pdata[n] << G4endl; + } + } + ofs.close(); + } + } +} + + // Store fluence per single ion in multiple files +void HadrontherapyMatrix::StoreFluenceData() +{ + for (size_t i=0; i < ionStore.size(); i++){ + StoreMatrix(ionStore[i].name + "_Fluence.out", ionStore[i].fluence, sizeof(unsigned int)); + } +} + // Store dose per single ion in multiple files +void HadrontherapyMatrix::StoreDoseData() +{ + + for (size_t i=0; i < ionStore.size(); i++){ + StoreMatrix(ionStore[i].name + "_Dose.out", ionStore[i].dose, sizeof(G4double)); + } +} + ///////////////////////////////////////////////////////////////////////// + // Store dose for all ions into a single file and into ntuples. + // Please note that this function is called via messenger commands + // defined in the HadrontherapyAnalysisFileMessenger.cc class file +void HadrontherapyMatrix::StoreDoseFluenceAscii(G4String file) +{ +#define width 15L + filename = (file=="") ? stdFile:file; + // Sort like periodic table + std::sort(ionStore.begin(), ionStore.end()); + G4cout << "Dose is being written to " << filename << G4endl; + ofs.open(filename, std::ios::out); + if (ofs.is_open()) + { + // Write the voxels index and the list of particles/ions + ofs << std::setprecision(6) << std::left << + "i\tj\tk\t"; + // Total dose + ofs << std::setw(width) << "Dose(MeV/g)"; + if (secondary) + { + for (size_t l=0; l < ionStore.size(); l++) + { + G4String a = (ionStore[l].isPrimary) ? "_1":""; // is it a primary? + ofs << std::setw(width) << ionStore[l].name + a << + std::setw(width) << ionStore[l].name + a; + } + ofs << G4endl; + + /* + * PDGencondig + */ + /* + ofs << std::setprecision(6) << std::left << + "0\t0\t0\t"; + + // Total dose + ofs << std::setw(width) << '0'; + for (size_t l=0; l < ionStore.size(); l++) + { + ofs << std::setw(width) << ionStore[l].PDGencoding << + std::setw(width) << ionStore[l].PDGencoding; + } + ofs << G4endl; + */ + } + // Write data + for(G4int i = 0; i < numberOfVoxelAlongX; i++) + for(G4int j = 0; j < numberOfVoxelAlongY; j++) + for(G4int k = 0; k < numberOfVoxelAlongZ; k++) + { + G4int n = Index(i, j, k); + // Write only not identically null data lines + if (matrix[n]) + { + ofs << G4endl; + ofs << i << '\t' << j << '\t' << k << '\t'; + // Total dose + ofs << std::setw(width) << matrix[n]/massOfVoxel/doseUnit; + if (secondary) + { + for (size_t l=0; l < ionStore.size(); l++) + { + // Fill ASCII file rows + ofs << std::setw(width) << ionStore[l].dose[n]/massOfVoxel/doseUnit << + std::setw(width) << ionStore[l].fluence[n]; + } + } + } + } + ofs.close(); + } +} +///////////////////////////////////////////////////////////////////////////// + +#ifdef G4ANALYSIS_USE_ROOT +void HadrontherapyMatrix::StoreDoseFluenceRoot() +{ + HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::GetInstance(); + if (analysis -> IsTheTFile()) + { + for(G4int i = 0; i < numberOfVoxelAlongX; i++) + for(G4int j = 0; j < numberOfVoxelAlongY; j++) + for(G4int k = 0; k < numberOfVoxelAlongZ; k++) + { + G4int n = Index(i, j, k); + for (size_t l=0; l < ionStore.size(); l++) + + { + // Do the same work for .root file: fill dose/fluence ntuple + analysis -> FillVoxelFragmentTuple( i, j, k, + ionStore[l].A, + ionStore[l].Z, + ionStore[l].dose[n]/massOfVoxel/doseUnit, + ionStore[l].fluence[n] ); + + + } + } + } +} +#endif void HadrontherapyMatrix::Fill(G4int i, G4int j, G4int k, G4double energyDeposit) { - if (matrix) - matrix[Index(i,j,k)] += energyDeposit; - - // Store the energy deposit in the matrix element corresponding - // to the phantom voxel i, j, k + if (matrix) + matrix[Index(i,j,k)] += energyDeposit; + + // Store the energy deposit in the matrix element corresponding + // to the phantom voxel } - void HadrontherapyMatrix::TotalEnergyDeposit() { - // Store the information of the matrix in a ntuple and in - // a 1D Histogram + // Convert energy deposited to dose. + // Store the information of the matrix in a ntuple and in + // a 1D Histogram - G4int k; - G4int j; - G4int i; - - if (matrix) + HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::GetInstance(); + if (matrix) { - std::ofstream ofs; - ofs.open("DoseDistribution.out"); - - for(G4int l = 0; l < numberVoxelZ; l++) - { - k = l; - - for(G4int m = 0; m < numberVoxelY; m++) - { - j = m * numberVoxelZ + k; - - for(G4int n = 0; n < numberVoxelX; n++) - { - i = n* numberVoxelZ * numberVoxelY + j; - if(matrix[i] != 0) - { - ofs << n << '\t' << m << '\t' << - k << '\t' << matrix[i] << G4endl; - -#ifdef ANALYSIS_USE - HadrontherapyAnalysisManager* analysis = - HadrontherapyAnalysisManager::getInstance(); - analysis -> FillEnergyDeposit(n, m, k, matrix[i]); - analysis -> BraggPeak(n, matrix[i]); + for(G4int i = 0; i < numberOfVoxelAlongX; i++) + for(G4int j = 0; j < numberOfVoxelAlongY; j++) + for(G4int k = 0; k < numberOfVoxelAlongZ; k++) + { + G4int n = Index(i,j,k); +#ifdef G4ANALYSIS_USE_ROOT + if (analysis -> IsTheTFile() ) + { + analysis -> FillEnergyDeposit(i, j, k, matrix[n]/massOfVoxel/doseUnit); + analysis -> BraggPeak(i, matrix[n]/massOfVoxel/doseUnit); + } #endif - } -} - } - } + } } } + diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyModulator.cc b/examples/advanced/hadrontherapy/src/HadrontherapyModulator.cc index 4e347faf72..a0f8ce578c 100755 --- a/examples/advanced/hadrontherapy/src/HadrontherapyModulator.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyModulator.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyModulator.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "G4Material.hh" #include "G4Tubs.hh" @@ -138,15 +144,18 @@ void HadrontherapyModulator::BuildModulator(G4VPhysicalVolume* motherVolume) G4bool isotopes = false; G4Material* airNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR", isotopes); + // You have to uncomment the following line if you want to define a PMMA material + // G4Material* PMMANist = G4NistManager::Instance()->FindOrBuildMaterial("G4_PLEXIGLASS", isotopes); + G4Material* Mod0Mater = airNist; - G4Material* ModMater = airNist; + G4Material* ModMater = airNist; // You have to set ModMater to PMMANist if you want to change modulator material (default is air) 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); + G4ThreeVector positionMotherMod = G4ThreeVector(-2160.50 *mm, 30 *mm, 50 *mm); G4Box* solidMotherMod = new G4Box("MotherMod", 12 *cm, 12 *cm, 12 *cm); @@ -2076,14 +2085,16 @@ void HadrontherapyModulator::BuildModulator(G4VPhysicalVolume* motherVolume) logicMod78 -> SetVisAttributes(red); } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyModulator::SetModulatorAngle(G4double angle) { G4double rotationAngle = angle; rm -> rotateZ(rotationAngle); + G4cout << "!!!!!!!!!!!!! " << rotationAngle/deg << G4endl; physiMotherMod -> SetRotation(rm); - G4cout << "MODULATOR HAS BEEN ROTATED OF " << rotationAngle/deg + G4cout << "MODULATOR HAS BEEN ROTATED OF " << rotationAngle/deg << " deg" << G4endl; - G4RunManager::GetRunManager()-> GeometryHasBeenModified(); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyParameterMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyParameterMessenger.cc index 06e57c6572..a4e2cdb4ff 100755 --- a/examples/advanced/hadrontherapy/src/HadrontherapyParameterMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyParameterMessenger.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyInteractionParametersMessenger.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyParameterMessenger.hh" #include "HadrontherapyInteractionParameters.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyParticles.cc b/examples/advanced/hadrontherapy/src/HadrontherapyParticles.cc index c9187f6dda..43e0bfe096 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyParticles.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyParticles.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyParticles.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyParticles.hh" #include "G4ParticleDefinition.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc b/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc index 7f43393294..9c6ec3a7e1 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc @@ -23,58 +23,49 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyPhysicsList.cc +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy - -// 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. +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group // -// 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: +// Physics models in Hadrontherapy, following the Geant4 organisation, can be definided using three different approaches: +// 1. Activating one of the 'Reference Physics Lists' that are already prepared by +// the Geant4 Collaboration and are contained in the $G4INSTALL/source/physics_lists/lists folder +// The 'Reference Physics Lists' can be activated setting a specific enviroment variable to the name +// of the physics. For example if the QGSP_BIC Reference Physics Lists must be activated the User +// must set export PHYSLIST=QGSP_BIC (or setenv PHYSLIST QGSP_BIC). +// A 'Reference Physics Lists' contains all the physics process necessary to a particle transport +// If the User set the PHYSLIST variable Hadrontherapy will start with the defaultMacroWithReferencePhysicsList.mac +// macro. See this macro file for more details // -// /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) +// 2. Activating the 'Builders' already prepared by +// the Geant4 Collaboration and contained in the $G4INSTALL/source/physics_lists/builder folder. +// Each builder is specific of a given model. There are builders for the electromagnetic processes, for the +// hadronic one, etc. +// If the PHYSLIST variable is not defined Hadrontherapy starts with the defaultMacro.mac where the single builders +// are activated for the various processes of interest. +// Each builder is activated with the /Physics/addPhysics command // -// Example of the use of physics lists can be found in the macro files included in the -// 'macro' folder . +// 3. Defining a specific 'local' physics list. In Hadrontherapy two loca physics list are defined +// (LocalINCLIonIonInelasticPhysic.cc and LocalIonIonInelasticPhysic.cc) where models for the +// ion-ion interactions are activated. +// 'Local' physics can be activated using the /Physics/addPhysics command +// (see the defaultMacro.mac to se an example). // -// 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; +// ****** SUGGESTED PHYSICS ********* // -// 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) - +// AT MOMENT, IF ACCURATE RESULTS ARE NEDED, WE STRONGLY RECOMMEND: +// 1. The use of the macro 'hadron_therapy.mac', or +// 2. the QGSP_BIC_EMY Reference Physics Lists (define the PHYSLIST eviroment variable): +// export PHYSLIST=QGSP_BIC_EMY + +#include "G4RunManager.hh" +#include "G4Region.hh" +#include "G4RegionStore.hh" #include "HadrontherapyPhysicsList.hh" #include "HadrontherapyPhysicsListMessenger.hh" #include "HadrontherapyStepMax.hh" @@ -85,23 +76,28 @@ #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) +// Physic lists (contained inside the Geant4 source code, in the 'physicslists folder') #include "G4EmStandardPhysics_option3.hh" #include "G4EmLivermorePhysics.hh" #include "G4EmPenelopePhysics.hh" +#include "G4EmExtraPhysics.hh" + +#include "G4QStoppingPhysics.hh" #include "G4DecayPhysics.hh" #include "G4HadronElasticPhysics.hh" +#include "G4HadronElasticPhysicsHP.hh" #include "G4HadronDElasticPhysics.hh" #include "G4HadronHElasticPhysics.hh" #include "G4HadronQElasticPhysics.hh" #include "G4HadronInelasticQBBC.hh" #include "G4IonBinaryCascadePhysics.hh" #include "G4Decay.hh" - +#include "G4DecayPhysics.hh" +#include "G4NeutronTrackingCut.hh" #include "G4LossTableManager.hh" #include "G4UnitsTable.hh" #include "G4ProcessManager.hh" - +#include "HadronPhysicsQGSP_BIC.hh" #include "G4IonFluctuations.hh" #include "G4IonParametrisedLossModel.hh" #include "G4EmProcessOptions.hh" @@ -117,11 +113,11 @@ HadrontherapyPhysicsList::HadrontherapyPhysicsList() : G4VModularPhysicsList() cutForElectron = defaultCutValue; cutForPositron = defaultCutValue; - helIsRegisted = false; - bicIsRegisted = false; - biciIsRegisted = false; + helIsRegistered = false; + bicIsRegistered = false; + biciIsRegistered = false; locIonIonInelasticIsRegistered = false; - radioactiveDecayIsRegisted = false; + radioactiveDecayIsRegistered = false; stepMaxProcess = 0; @@ -133,7 +129,7 @@ HadrontherapyPhysicsList::HadrontherapyPhysicsList() : G4VModularPhysicsList() emPhysicsList = new G4EmStandardPhysics_option3(1); emName = G4String("emstandard_opt3"); - // Deacy physics and all particles + // Decay physics and all particles decPhysicsList = new G4DecayPhysics(); } @@ -146,22 +142,6 @@ HadrontherapyPhysicsList::~HadrontherapyPhysicsList() 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); - } -} - ///////////////////////////////////////////////////////////////////////////// void HadrontherapyPhysicsList::ConstructParticle() { @@ -172,21 +152,18 @@ void HadrontherapyPhysicsList::ConstructParticle() void HadrontherapyPhysicsList::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(); + hadronPhys[i] -> ConstructProcess(); } // step limitation (as a full process) @@ -198,80 +175,156 @@ void HadrontherapyPhysicsList::ConstructProcess() 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; + if (verboseLevel>1) { + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; + } + if (name == emName) return; ///////////////////////////////////////////////////////////////////////////// - // HADRONIC MODELS + // ELECTROMAGNETIC 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; + if (name == "standard_opt3") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option3(); + G4RunManager::GetRunManager() -> PhysicsHasBeenModified(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmStandardPhysics_option3" << G4endl; - } else if (name == "DElastic" && !helIsRegisted) { - hadronPhys.push_back( new G4HadronDElasticPhysics()); - helIsRegisted = true; + } else if (name == "LowE_Livermore") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmLivermorePhysics(); + G4RunManager::GetRunManager()-> PhysicsHasBeenModified(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" << G4endl; - } else if (name == "HElastic" && !helIsRegisted) { - hadronPhys.push_back( new G4HadronHElasticPhysics()); - helIsRegisted = true; + } else if (name == "LowE_Penelope") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmPenelopePhysics(); + G4RunManager::GetRunManager()-> PhysicsHasBeenModified(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" << G4endl; - } else if (name == "QElastic" && !helIsRegisted) { - hadronPhys.push_back( new G4HadronQElasticPhysics()); - helIsRegisted = true; + ///////////////////////////////////////////////////////////////////////////// + // HADRONIC MODELS + ///////////////////////////////////////////////////////////////////////////// + } else if (name == "Elastic") + { + if(!helIsRegistered) + { + G4cout << "THE FOLLOWING HADRONIC ELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronElasticPhysics()" << G4endl; + hadronPhys.push_back( new G4HadronElasticPhysics()); + helIsRegistered = true; + } + else G4cout << "AN ELASTIC PHYSICS HAS BEEN ALREADY ACTIVATED!" << G4endl; + } + else if (name == "DElastic") + { + if(!helIsRegistered) + { + hadronPhys.push_back( new G4HadronDElasticPhysics()); + helIsRegistered = true; + } + else G4cout << "AN ELASTIC PHYSICS HAS BEEN ALREADY ACTIVATED!" << G4endl; - } else if (name == "binary" && !bicIsRegisted) { + } + else if (name == "HElastic") + { + if(!helIsRegistered) + { + hadronPhys.push_back( new G4HadronHElasticPhysics()); + helIsRegistered = true; + } + else G4cout << "AN ELASTIC PHYSICS HAS BEEN ALREADY ACTIVATED!" << G4endl; + + } + else if (name == "QElastic") + { + if(!helIsRegistered) + { + hadronPhys.push_back( new G4HadronQElasticPhysics()); + helIsRegistered = true; + } + else G4cout << "AN ELASTIC PHYSICS HAS BEEN ALREADY ACTIVATED!" << G4endl; + + } + else if (name == "Em_extra_physics") + { + hadronPhys.push_back( new G4EmExtraPhysics()); + } + else if (name == "Stopping_physics") + { + hadronPhys.push_back( new G4QStoppingPhysics()); + } + else if (name == "Neutron_tracking_cut") + { + hadronPhys.push_back( new G4NeutronTrackingCut()); + } + else if (name == "Hadron_QGSP_BIC") + { + hadronPhys.push_back( new HadronPhysicsQGSP_BIC()); + // helIsRegistered = true; + } + else if (name == "Hadron_QBBC") + { + hadronPhys.push_back(new G4HadronInelasticQBBC()); + //bicIsRegistered = true; + G4cout << "THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronInelasticQBBC()" << G4endl; + } + + else if (name == "binary") + { hadronPhys.push_back(new G4HadronInelasticQBBC()); - bicIsRegisted = true; + //bicIsRegisted = true; G4cout << "THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronInelasticQBBC()" << G4endl; + } + + else if (name == "binary_ion") + { + hadronPhys.push_back(new G4IonBinaryCascadePhysics()); + //biciIsRegistered = true; + } + else if (name == "local_ion_ion_inelastic") + { + hadronPhys.push_back(new LocalIonIonInelasticPhysic()); + locIonIonInelasticIsRegistered = true; + } + else if (name == "local_incl_ion_ion_inelastic") + { + hadronPhys.push_back(new LocalINCLIonIonInelasticPhysic()); + locIonIonInelasticIsRegistered = true; + } + else if (name == "decay") + { + hadronPhys.push_back(new G4DecayPhysics()); + //radioactiveDecayIsRegistered = true; + } + else if (name == "radioactive_decay" && !radioactiveDecayIsRegistered ) + { + hadronPhys.push_back(new G4RadioactiveDecayPhysics()); + radioactiveDecayIsRegistered = true; - } else if (name == "binary_ion" && !biciIsRegisted) { - hadronPhys.push_back(new G4IonBinaryCascadePhysics()); - biciIsRegisted = true; + // The following is the construction of the QGSP_BIC_EMY Reference physics list + // reconstructed here like a builder: it should be identical to the + // one contained inside the $G4INSTALL/physics_lists/lists folder + } + else if (name == "QGSP_BIC_EMY") + { + AddPhysicsList("emstandard_opt3"); + hadronPhys.push_back( new G4EmExtraPhysics()); + hadronPhys.push_back( new G4HadronElasticPhysics()); + hadronPhys.push_back( new G4QStoppingPhysics()); + hadronPhys.push_back( new G4IonBinaryCascadePhysics()); + hadronPhys.push_back( new G4NeutronTrackingCut()); + hadronPhys.push_back( new HadronPhysicsQGSP_BIC()); + hadronPhys.push_back( new G4DecayPhysics()); - } else if (name == "local_ion_ion_inelastic" && !locIonIonInelasticIsRegistered) { - hadronPhys.push_back(new LocalIonIonInelasticPhysic()); - locIonIonInelasticIsRegistered = true; + } + else { - } 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; - } + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" + << " is not defined" + << G4endl; + } } ///////////////////////////////////////////////////////////////////////////// @@ -307,6 +360,8 @@ void HadrontherapyPhysicsList::SetCuts() SetCutValue(cutForElectron, "e-"); SetCutValue(cutForPositron, "e+"); + // Set cuts for detector + SetDetectorCut(defaultCutValue); if (verboseLevel>0) DumpCutValuesTable(); } @@ -330,3 +385,16 @@ void HadrontherapyPhysicsList::SetCutForPositron(G4double cut) cutForPositron = cut; SetParticleCuts(cutForPositron, G4Positron::Positron()); } + +void HadrontherapyPhysicsList::SetDetectorCut(G4double cut) +{ + G4String regionName = "DetectorLog"; + G4Region* region = G4RegionStore::GetInstance()->GetRegion(regionName); + + G4ProductionCuts* cuts = new G4ProductionCuts ; + cuts -> SetProductionCut(cut,G4ProductionCuts::GetIndex("gamma")); + cuts -> SetProductionCut(cut,G4ProductionCuts::GetIndex("e-")); + cuts -> SetProductionCut(cut,G4ProductionCuts::GetIndex("e+")); + region -> SetProductionCuts(cuts); +} + diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsListMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsListMessenger.cc index 2d6dfc8e42..1d9dc977ef 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsListMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsListMessenger.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyPhysicsListMessenger.cc +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyPhysicsListMessenger.hh" @@ -37,46 +43,48 @@ HadrontherapyPhysicsListMessenger::HadrontherapyPhysicsListMessenger(HadrontherapyPhysicsList* pPhys) :pPhysicsList(pPhys) { - physDir = new G4UIdirectory("/physic/"); + physDir = new G4UIdirectory("/Physics/"); physDir->SetGuidance("Commands to activate physics models and set cuts"); - gammaCutCmd = new G4UIcmdWithADoubleAndUnit("/physic/setGCut",this); + gammaCutCmd = new G4UIcmdWithADoubleAndUnit("/Physics/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 = new G4UIcmdWithADoubleAndUnit("/Physics/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 = new G4UIcmdWithADoubleAndUnit("/Physics/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 = 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_PreInit,G4State_Idle); - pListCmd = new G4UIcmdWithAString("/physic/addPhysics",this); + allDetectorCmd = new G4UIcmdWithADoubleAndUnit("/Physics/setDetectorCuts",this); + allDetectorCmd->SetGuidance("Set cut for all. into Detector"); + allDetectorCmd->SetParameterName("cut",false); + allDetectorCmd->SetUnitCategory("Length"); + allDetectorCmd->SetRange("cut>0.0"); + allDetectorCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + pListCmd = new G4UIcmdWithAString("/Physics/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); + pListCmd->AvailableForStates(G4State_PreInit, G4State_Idle); } ///////////////////////////////////////////////////////////////////////////// @@ -86,9 +94,9 @@ HadrontherapyPhysicsListMessenger::~HadrontherapyPhysicsListMessenger() delete electCutCmd; delete protoCutCmd; delete allCutCmd; + delete allDetectorCmd; delete pListCmd; delete physDir; - delete packageListCmd; } ///////////////////////////////////////////////////////////////////////////// @@ -98,26 +106,24 @@ void HadrontherapyPhysicsListMessenger::SetNewValue(G4UIcommand* command, if( command == gammaCutCmd ) { pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue));} - if( command == electCutCmd ) + else if( command == electCutCmd ) { pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue));} - if( command == protoCutCmd ) + else if( command == protoCutCmd ) { pPhysicsList->SetCutForPositron(protoCutCmd->GetNewDoubleValue(newValue));} - if( command == allCutCmd ) + else if( command == allCutCmd ) { G4double cut = allCutCmd->GetNewDoubleValue(newValue); pPhysicsList->SetCutForGamma(cut); pPhysicsList->SetCutForElectron(cut); pPhysicsList->SetCutForPositron(cut); } - - if( command == pListCmd ) + else if( command == allDetectorCmd) + { + G4double cut = allDetectorCmd -> GetNewDoubleValue(newValue); + pPhysicsList -> SetDetectorCut(cut); + } + else 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 19872fb23d..7f43d428b6 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorAction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorAction.cc @@ -23,21 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyPrimarygeneratorAction.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: // -// G.A.P. Cirrone(a)*, F.Romano(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// -// * cirrone@lns.infn.it +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group // -// ------------------------------------------------------------------------------ #include "HadrontherapyPrimaryGeneratorAction.hh" #include "HadrontherapyPrimaryGeneratorMessenger.hh" @@ -85,15 +78,15 @@ void HadrontherapyPrimaryGeneratorAction::SetDefaultPrimaryParticle() G4double defaultsigmaEnergy = 400.0 *keV; sigmaEnergy = defaultsigmaEnergy; -#ifdef ANALYSIS_USE +#ifdef G4ANALYSIS_USE_ROOT // Write these values into the analysis if needed. Have to be written separately on change. - HadrontherapyAnalysisManager::getInstance()->setBeamMetaData(meanKineticEnergy, sigmaEnergy); + HadrontherapyAnalysisManager::GetInstance()->setBeamMetaData(meanKineticEnergy, sigmaEnergy); #endif // Define the parameters of the initial position: // the y, z coordinates have a gaussian distribution - G4double defaultX0 = -2700.0 *mm; + G4double defaultX0 = -3000.0 *mm; X0 = defaultX0; G4double defaultY0 = 0.0 *mm; @@ -119,9 +112,9 @@ void HadrontherapyPrimaryGeneratorAction::SetDefaultPrimaryParticle() void HadrontherapyPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { -#ifdef ANALYSIS_USE +#ifdef G4ANALYSIS_USE_ROOT // Increment the event counter - HadrontherapyAnalysisManager::getInstance()->startNewEvent(); + HadrontherapyAnalysisManager::GetInstance()->startNewEvent(); #endif // **************************************** @@ -177,9 +170,9 @@ void HadrontherapyPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) void HadrontherapyPrimaryGeneratorAction::SetmeanKineticEnergy (G4double val ) { meanKineticEnergy = val; -#ifdef ANALYSIS_USE +#ifdef G4ANALYSIS_USE_ROOT // Update the beam-data in the analysis manager - HadrontherapyAnalysisManager::getInstance()->setBeamMetaData(meanKineticEnergy, sigmaEnergy); + HadrontherapyAnalysisManager::GetInstance()->setBeamMetaData(meanKineticEnergy, sigmaEnergy); #endif } @@ -187,9 +180,9 @@ void HadrontherapyPrimaryGeneratorAction::SetmeanKineticEnergy (G4double val ) void HadrontherapyPrimaryGeneratorAction::SetsigmaEnergy (G4double val ) { sigmaEnergy = val; -#ifdef ANALYSIS_USE +#ifdef G4ANALYSIS_USE_ROOT // Update the sigmaenergy in the metadata. - HadrontherapyAnalysisManager::getInstance()->setBeamMetaData(meanKineticEnergy, sigmaEnergy); + HadrontherapyAnalysisManager::GetInstance()->setBeamMetaData(meanKineticEnergy, sigmaEnergy); #endif } @@ -216,3 +209,4 @@ void HadrontherapyPrimaryGeneratorAction::SetsigmaMomentumZ (G4double val ) G4double HadrontherapyPrimaryGeneratorAction::GetmeanKineticEnergy(void) { return meanKineticEnergy;} + diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorMessenger.cc index bf625b95fb..b2f8e3df7c 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorMessenger.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyPrimaryGeneratorMessenger.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyPrimaryGeneratorMessenger.hh" #include "HadrontherapyPrimaryGeneratorAction.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyRunAction.cc b/examples/advanced/hadrontherapy/src/HadrontherapyRunAction.cc index bbc865019e..db5e4298c0 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyRunAction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyRunAction.cc @@ -23,8 +23,15 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyRunAction.cc +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// + #include "HadrontherapyRunAction.hh" #include "HadrontherapyEventAction.hh" @@ -37,6 +44,10 @@ #include "G4Timer.hh" #include "HadrontherapyRunAction.hh" + +#include "HadrontherapyAnalysisManager.hh" +#include "HadrontherapyMatrix.hh" + HadrontherapyRunAction::HadrontherapyRunAction() { } @@ -47,20 +58,20 @@ HadrontherapyRunAction::~HadrontherapyRunAction() void HadrontherapyRunAction::BeginOfRunAction(const G4Run* aRun) { - G4RunManager::GetRunManager()->SetRandomNumberStore(true); - G4cout << "Run " << aRun -> GetRunID() << " starts ..." << G4endl; + G4RunManager::GetRunManager()-> SetRandomNumberStore(true); + G4cout << "Run " << aRun -> GetRunID() << " starts ..." << G4endl; - electromagnetic = 0; - hadronic = 0; + electromagnetic = 0; + hadronic = 0; } void HadrontherapyRunAction::EndOfRunAction(const G4Run*) { - // G4cout << " Summary of Run " << aRun -> GetRunID() <<" :"<< G4endl; - //G4cout << "Number of electromagnetic processes of primary particles in the phantom:" - // << electromagnetic << G4endl; - //G4cout << "Number of hadronic processes of primary particles in the phantom:" - // << hadronic << G4endl; + //G4cout << " Summary of Run " << aRun -> GetRunID() <<" :"<< G4endl; + //G4cout << "Number of electromagnetic processes of primary particles in the phantom:" + // << electromagnetic << G4endl; + //G4cout << "Number of hadronic processes of primary particles in the phantom:" + // << hadronic << G4endl; } void HadrontherapyRunAction::AddEMProcess() { @@ -71,5 +82,3 @@ void HadrontherapyRunAction::AddHadronicProcess() hadronic += 1; } - - diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyStepMax.cc b/examples/advanced/hadrontherapy/src/HadrontherapyStepMax.cc index bf540ce4c0..47cb984c43 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyStepMax.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyStepMax.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyStepMax.cc +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyStepMax.hh" #include "HadrontherapyStepMaxMessenger.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyStepMaxMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyStepMaxMessenger.cc index 07ecc27ac7..fd7d7582b0 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyStepMaxMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyStepMaxMessenger.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyStepMaxMessenger.cc +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "HadrontherapyStepMaxMessenger.hh" #include "HadrontherapyStepMax.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapySteppingAction.cc b/examples/advanced/hadrontherapy/src/HadrontherapySteppingAction.cc index c6734a606b..0750705fcb 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapySteppingAction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapySteppingAction.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// HadrontherapyProtonSteppingAction.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "G4SteppingManager.hh" #include "G4TrackVector.hh" @@ -38,6 +44,7 @@ #include "G4TrackVector.hh" #include "G4ParticleDefinition.hh" #include "G4ParticleTypes.hh" +#include "G4UserEventAction.hh" #include "HadrontherapyAnalysisManager.hh" @@ -46,7 +53,7 @@ ///////////////////////////////////////////////////////////////////////////// HadrontherapySteppingAction::HadrontherapySteppingAction( HadrontherapyRunAction *run) { - runAction = run; + runAction = run; } ///////////////////////////////////////////////////////////////////////////// @@ -57,126 +64,142 @@ HadrontherapySteppingAction::~HadrontherapySteppingAction() ///////////////////////////////////////////////////////////////////////////// void HadrontherapySteppingAction::UserSteppingAction(const G4Step* aStep) { + /* + // USEFULL METHODS TO RETRIEVE INFORMATION DURING THE STEPS + if( (aStep->GetTrack()->GetVolume()->GetName() == "DetectorPhys") + && aStep->GetTrack()->GetDefinition()->GetParticleName() == "proton") + //G4int evtNb = G4RunManager::GetRunManager()->GetCurrentEvent() -> GetEventID(); + { + G4cout << "ENERGIA: " << aStep->GetTrack()->GetKineticEnergy() + << " VOLUME " << aStep->GetTrack()->GetVolume()->GetName() + << " MATERIALE " << aStep -> GetTrack() -> GetMaterial() -> GetName() + << " EVENTO " << G4RunManager::GetRunManager()->GetCurrentEvent() -> GetEventID() + << " POS " << aStep->GetTrack()->GetPosition().x() + << G4endl; + } + */ + 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; +#ifdef G4ANALYSIS_USE_ROOT + 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); - } + 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(); + 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); + analysis->hydrogenEnergy(secondaryParticleKineticEnergy / MeV); } if(secondaryParticleName == "deuteron") { - analysis->hydrogenEnergy((secondaryParticleKineticEnergy/2) / MeV); + analysis->hydrogenEnergy((secondaryParticleKineticEnergy/2) / MeV); } if(secondaryParticleName == "triton") { - analysis->hydrogenEnergy((secondaryParticleKineticEnergy/3) / MeV); + analysis->hydrogenEnergy((secondaryParticleKineticEnergy/3) / MeV); } if(secondaryParticleName == "alpha") { - analysis->heliumEnergy((secondaryParticleKineticEnergy/4) / MeV); + analysis->heliumEnergy((secondaryParticleKineticEnergy/4) / MeV); } if(secondaryParticleName == "He3"){ - analysis->heliumEnergy((secondaryParticleKineticEnergy/3) / MeV); + 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)) - { - G4String process = aStep -> GetPostStepPoint() -> - GetProcessDefinedStep() -> GetProcessName(); - - if ((process == "Transportation") || (process == "StepLimiter")) {;} - else { - if ((process == "msc") || (process == "hLowEIoni") || (process == "hIoni")) - { - runAction -> AddEMProcess(); - } - else - { - runAction -> AddHadronicProcess(); + // 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)) + { + G4String process = aStep -> GetPostStepPoint() -> + GetProcessDefinedStep() -> GetProcessName(); - if ( (process != "LElastic") && (process != "ProtonInelastic") && (process != "hElastic") ) - G4cout << "Warning! Unknown proton process: "<< process << G4endl; - } - } - } - - // Retrieve information about the secondaries originated in the phantom - - G4SteppingManager* steppingManager = fpSteppingManager; - - // check if it is alive - //if(theTrack-> GetTrackStatus() == fAlive) { return; } - - // Retrieve the secondary particles - G4TrackVector* fSecondary = steppingManager -> GetfSecondary(); - - for(size_t lp1=0;lp1<(*fSecondary).size(); lp1++) - { - G4String volumeName = (*fSecondary)[lp1] -> GetVolume() -> GetName(); - - if (volumeName == "phantomPhys") + if ((process == "Transportation") || (process == "StepLimiter")) {;} + else { -#ifdef ANALYSIS_USE - G4String secondaryParticleName = (*fSecondary)[lp1]->GetDefinition() -> GetParticleName(); - G4double secondaryParticleKineticEnergy = (*fSecondary)[lp1] -> GetKineticEnergy(); + if ((process == "msc") || (process == "hLowEIoni") || (process == "hIoni")) + { + runAction -> AddEMProcess(); + } + else + { + runAction -> AddHadronicProcess(); - HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::getInstance(); - - if (secondaryParticleName == "e-") - analysis -> electronEnergyDistribution(secondaryParticleKineticEnergy/MeV); - - if (secondaryParticleName == "gamma") - analysis -> gammaEnergyDistribution(secondaryParticleKineticEnergy/MeV); + if ( (process != "LElastic") && (process != "ProtonInelastic") && (process != "hElastic") ) + G4cout << "Warning! Unknown proton process: "<< process << G4endl; + } + } + } - if (secondaryParticleName == "deuteron") - analysis -> deuteronEnergyDistribution(secondaryParticleKineticEnergy/MeV); - - if (secondaryParticleName == "triton") - analysis -> tritonEnergyDistribution(secondaryParticleKineticEnergy/MeV); - - if (secondaryParticleName == "alpha") - analysis -> alphaEnergyDistribution(secondaryParticleKineticEnergy/MeV); - - G4double z = (*fSecondary)[lp1]-> GetDynamicParticle() -> GetDefinition() -> GetPDGCharge(); - if (z > 0.) - { - G4int a = (*fSecondary)[lp1]-> GetDynamicParticle() -> GetDefinition() -> GetBaryonNumber(); - G4int electronOccupancy = (*fSecondary)[lp1] -> GetDynamicParticle() -> GetTotalOccupancy(); - - // If a generic ion is originated in the detector, its baryonic number, PDG charge, - // total number of electrons in the orbitals are stored in a ntuple - analysis -> genericIonInformation(a, z, electronOccupancy, secondaryParticleKineticEnergy/MeV); + // Retrieve information about the secondary particles originated in the phantom + + G4SteppingManager* steppingManager = fpSteppingManager; + + // check if it is alive + //if(theTrack-> GetTrackStatus() == fAlive) { return; } + + // Retrieve the secondary particles + G4TrackVector* fSecondary = steppingManager -> GetfSecondary(); + + for(size_t lp1=0;lp1<(*fSecondary).size(); lp1++) + { + G4String volumeName = (*fSecondary)[lp1] -> GetVolume() -> GetName(); + + if (volumeName == "phantomPhys") + { +#ifdef G4ANALYSIS_USE_ROOT + G4String secondaryParticleName = (*fSecondary)[lp1]->GetDefinition() -> GetParticleName(); + G4double secondaryParticleKineticEnergy = (*fSecondary)[lp1] -> GetKineticEnergy(); + + HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::GetInstance(); + + if (secondaryParticleName == "e-") + analysis -> electronEnergyDistribution(secondaryParticleKineticEnergy/MeV); + + if (secondaryParticleName == "gamma") + analysis -> gammaEnergyDistribution(secondaryParticleKineticEnergy/MeV); + + if (secondaryParticleName == "deuteron") + analysis -> deuteronEnergyDistribution(secondaryParticleKineticEnergy/MeV); + + if (secondaryParticleName == "triton") + analysis -> tritonEnergyDistribution(secondaryParticleKineticEnergy/MeV); + + if (secondaryParticleName == "alpha") + analysis -> alphaEnergyDistribution(secondaryParticleKineticEnergy/MeV); + + G4double z = (*fSecondary)[lp1]-> GetDynamicParticle() -> GetDefinition() -> GetPDGCharge(); + if (z > 0.) + { + G4int a = (*fSecondary)[lp1]-> GetDynamicParticle() -> GetDefinition() -> GetBaryonNumber(); + G4int electronOccupancy = (*fSecondary)[lp1] -> GetDynamicParticle() -> GetTotalOccupancy(); + + // If a generic ion is originated in the detector, its baryonic number, PDG charge, + // total number of electrons in the orbitals are stored in a ntuple + analysis -> genericIonInformation(a, z, electronOccupancy, secondaryParticleKineticEnergy/MeV); } #endif } diff --git a/examples/advanced/hadrontherapy/src/IAEADetectorConstruction.cc b/examples/advanced/hadrontherapy/src/IAEADetectorConstruction.cc index d59bb82a48..76c7521e05 100644 --- a/examples/advanced/hadrontherapy/src/IAEADetectorConstruction.cc +++ b/examples/advanced/hadrontherapy/src/IAEADetectorConstruction.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// IAEADetectorConstruction.cc +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "G4SDManager.hh" #include "G4RunManager.hh" @@ -103,9 +109,9 @@ G4VPhysicalVolume* IAEADetectorConstruction::Construct() ConstructPassiveProtonBeamLine(); ConstructDetector(); -#ifdef ANALYSIS_USE +#ifdef G4ANALYSIS_USE_ROOT //write the metadata for analysis - HadrontherapyAnalysisManager::getInstance()->setGeometryMetaData((endDetectorPosition - endDetectorThickness/2)/10, phantomDepth/10, phantomCenter/10); //FIXME! unit correction hardcoded + 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(); @@ -216,9 +222,9 @@ void IAEADetectorConstruction::setWaterThickness(G4double newWaterThickness){ }else{ this->noPhantom = true; } -#ifdef ANALYSIS_USE +#ifdef G4ANALYSIS_USE_ROOT //update the geometry metadata - HadrontherapyAnalysisManager::getInstance()->setGeometryMetaData((this->endDetectorPosition - this->endDetectorThickness/2)/10, this->phantomDepth/10, this->phantomCenter/10); //FIXME! unit correction hardcoded + HadrontherapyAnalysisManager::GetInstance()->setGeometryMetaData((this->endDetectorPosition - this->endDetectorThickness/2)/10, this->phantomDepth/10, this->phantomCenter/10); //FIXME! unit correction hardcoded #endif } @@ -275,17 +281,8 @@ void IAEADetectorConstruction::ConstructDetector() 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() { diff --git a/examples/advanced/hadrontherapy/src/IAEADetectorMessenger.cc b/examples/advanced/hadrontherapy/src/IAEADetectorMessenger.cc index b3fea6a05b..e838f1d13f 100644 --- a/examples/advanced/hadrontherapy/src/IAEADetectorMessenger.cc +++ b/examples/advanced/hadrontherapy/src/IAEADetectorMessenger.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorMessenger.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "IAEADetectorMessenger.hh" #include "IAEADetectorConstruction.hh" @@ -34,7 +40,7 @@ IAEADetectorMessenger::IAEADetectorMessenger(IAEADetectorConstruction* detector) :IAEADetector(detector) - { +{ setIAEAWaterPhantomThicknessCmd = new G4UIcmdWithADoubleAndUnit("/iaea/waterPhantomThickness",this); setIAEAWaterPhantomThicknessCmd -> SetGuidance("Set size of water phantom"); @@ -52,8 +58,8 @@ IAEADetectorMessenger::~IAEADetectorMessenger() void IAEADetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) { if( command == setIAEAWaterPhantomThicknessCmd ){ - IAEADetector->setWaterThickness(setIAEAWaterPhantomThicknessCmd->GetNewDoubleValue(newValue)); - } + IAEADetector->setWaterThickness(setIAEAWaterPhantomThicknessCmd->GetNewDoubleValue(newValue)); + } } diff --git a/examples/advanced/hadrontherapy/src/IAEAScoreWriter.cc b/examples/advanced/hadrontherapy/src/IAEAScoreWriter.cc index 29a189c9d8..fe252ebd42 100644 --- a/examples/advanced/hadrontherapy/src/IAEAScoreWriter.cc +++ b/examples/advanced/hadrontherapy/src/IAEAScoreWriter.cc @@ -23,8 +23,10 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// IAEAScoreWriter.cc +// This is the *basic* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// To obtain the full version visit the pages: http://sites.google.com/site/hadrontherapy/ #include "IAEAScoreWriter.hh" @@ -53,7 +55,7 @@ void IAEAScoreWriter::DumpQuantityToFiles(G4String & psName, G4String & option) G4cout << "User-defined DumpQuantityToFile() method is invoked." << G4endl; G4cout << "Will write energy deposits along phantom" - << G4endl; + << G4endl; } // change the option string into lowercase to the case-insensitive. @@ -63,7 +65,7 @@ void IAEAScoreWriter::DumpQuantityToFiles(G4String & psName, G4String & option) // confirm the option if(opt.size() == 0) opt = "csv"; - // retrieve the map + // retrieve the map MeshScoreMap fSMap = fScoringMesh->GetScoreMap(); @@ -97,22 +99,22 @@ void IAEAScoreWriter::DumpQuantityToFiles(G4String & psName, G4String & option) // write quantity -#ifdef ANALYSIS_USE // If we are using ROOT or AIDA analysis - HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::getInstance(); +#ifdef G4ANALYSIS_USE_ROOT // 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 */ + /* 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]); + if(verboseLevel > 0) { + std::cout << x << "\t" << projxy[x][y] << G4endl; + } +#ifdef G4ANALYSIS_USE_ROOT + analysis->BraggPeak(x, projxy[x][y]); #endif } // y } // x - // ofile << std::setprecision(6); + // 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 index 6e026ff326..6100a22018 100644 --- a/examples/advanced/hadrontherapy/src/LocalINCLIonIonInelasticPhysic.cc +++ b/examples/advanced/hadrontherapy/src/LocalINCLIonIonInelasticPhysic.cc @@ -23,10 +23,15 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// LocalINCLIonIonInelasticPhysic.cc +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy // +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// +// // 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 // @@ -96,7 +101,7 @@ void LocalINCLIonIonInelasticPhysic::ConstructProcess() WilsonModel -> SetMinEnergy(0*MeV); WilsonModel -> SetMaxEnergy(10 *GeV); -// G4InclAblaLightIonInterface* INCLIonModel = new G4InclAblaLightIonInterface(); + // G4InclAblaLightIonInterface* INCLIonModel = new G4InclAblaLightIonInterface(); G4TripathiCrossSection* TripatiCrossSections = new G4TripathiCrossSection; G4TripathiCrossSection* TripatiLightCrossSections = new G4TripathiCrossSection; @@ -142,17 +147,17 @@ void LocalINCLIonIonInelasticPhysic::ConstructProcess() // *** He3 *** // ************* /* - G4He3InelasticProcess* he3InelasticProcess = new G4He3InelasticProcess; + G4He3InelasticProcess* he3InelasticProcess = new G4He3InelasticProcess; - he3InelasticProcess -> AddDataSet(ShenCrossSections); - he3InelasticProcess -> AddDataSet(TripatiCrossSections); - he3InelasticProcess -> AddDataSet(TripatiLightCrossSections); + he3InelasticProcess -> AddDataSet(ShenCrossSections); + he3InelasticProcess -> AddDataSet(TripatiCrossSections); + he3InelasticProcess -> AddDataSet(TripatiLightCrossSections); - he3InelasticProcess -> RegisterMe(INCLIonModel); + he3InelasticProcess -> RegisterMe(INCLIonModel); - particle = G4He3::He3(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(he3InelasticProcess); + particle = G4He3::He3(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(he3InelasticProcess); */ // ************* // *** Alpha *** @@ -165,8 +170,8 @@ void LocalINCLIonIonInelasticPhysic::ConstructProcess() //alphaInelasticProcess -> RegisterMe(INCLIonModel); //alphaInelasticProcess -> RegisterMe(lightBinary); - alphaInelasticProcess -> RegisterMe(JQMDmodel); - //alphaInelasticProcess -> RegisterMe(WilsonModel); + alphaInelasticProcess -> RegisterMe(JQMDmodel); + //alphaInelasticProcess -> RegisterMe(WilsonModel); particle = G4Alpha::Alpha(); processManager = particle -> GetProcessManager(); diff --git a/examples/advanced/hadrontherapy/src/LocalIonIonInelasticPhysic.cc b/examples/advanced/hadrontherapy/src/LocalIonIonInelasticPhysic.cc index 22d5eeb649..c46826d909 100755 --- a/examples/advanced/hadrontherapy/src/LocalIonIonInelasticPhysic.cc +++ b/examples/advanced/hadrontherapy/src/LocalIonIonInelasticPhysic.cc @@ -23,10 +23,15 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// LocalIonIonInelasticPhysic.cc +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy // +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// +// // 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 // diff --git a/examples/advanced/hadrontherapy/src/PassiveProtonBeamLine.cc b/examples/advanced/hadrontherapy/src/PassiveProtonBeamLine.cc index 772c938f19..e3b009672f 100755 --- a/examples/advanced/hadrontherapy/src/PassiveProtonBeamLine.cc +++ b/examples/advanced/hadrontherapy/src/PassiveProtonBeamLine.cc @@ -23,8 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// PassiveBeamLine.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// #include "G4Box.hh" #include "G4Tubs.hh" @@ -60,8 +66,8 @@ PassiveProtonBeamLine::PassiveProtonBeamLine(): physiFirstMonitorLayer3(0), physiFirstMonitorLayer4(0), physiSecondMonitorLayer1(0), physiSecondMonitorLayer2(0), physiSecondMonitorLayer3(0), physiSecondMonitorLayer4(0), - physiNozzleSupport(0), physiHoleNozzleSupport(0), - physiSecondHoleNozzleSupport(0), + physiNozzleSupport(0), //physiHoleNozzleSupport(0), + physiBrassTube(0), solidFinalCollimator(0), physiFinalCollimator(0) { @@ -76,71 +82,74 @@ PassiveProtonBeamLine::~PassiveProtonBeamLine() delete hadrontherapyDetectorConstruction; } +///////////////////////////////////////////////////////////////////////////// G4VPhysicalVolume* PassiveProtonBeamLine::Construct() { // Sets default geometry and materials - SetDimensions(); + SetDefaultDimensions(); + // 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() +// In the following method the DEFAULTS used in the geometry of +// passive beam line are provided +// 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) +// +// DEFAULT MATERIAL ARE ALSO PROVIDED +// and COLOURS ARE ALSO DEFINED +// ---------------------------------------------------------- +///////////////////////////////////////////////////////////////////////////// +void PassiveProtonBeamLine::SetDefaultDimensions() { - // 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) - // - // 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); + white = new G4VisAttributes( G4Colour()); + white -> SetVisibility(true); + white -> SetForceSolid(true); - blue = new G4VisAttributes(G4Colour(0. ,0. ,1.)); - blue -> SetVisibility(true); - blue -> 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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 - G4double defaultVacuumZoneXSize = 80.5325 *mm; + G4double defaultVacuumZoneXSize = 100.0 *mm; vacuumZoneXSize = defaultVacuumZoneXSize; G4double defaultVacuumZoneYSize = 52.5 *mm; @@ -149,7 +158,7 @@ void PassiveProtonBeamLine::SetDimensions() G4double defaultVacuumZoneZSize = 52.5 *mm; vacuumZoneZSize = defaultVacuumZoneZSize; - G4double defaultVacuumZoneXPosition = -2650.0475 *mm; + G4double defaultVacuumZoneXPosition = -3010.0 *mm; vacuumZoneXPosition = defaultVacuumZoneXPosition; // FIRST SCATTERING FOIL: a thin foil performing a first scattering @@ -163,11 +172,11 @@ void PassiveProtonBeamLine::SetDimensions() G4double defaultFirstScatteringFoilZSize = 52.5 *mm; firstScatteringFoilZSize = defaultFirstScatteringFoilZSize; - G4double defaultFirstScatteringFoilXPosition = -39.525 *mm; + G4double defaultFirstScatteringFoilXPosition = 0.0 *mm; firstScatteringFoilXPosition = defaultFirstScatteringFoilXPosition; // KAPTON WINDOW: it prmits the passage of the beam from vacuum to air - G4double defaultKaptonWindowXSize = 0.025*mm; + G4double defaultKaptonWindowXSize = 0.010*mm; kaptonWindowXSize = defaultKaptonWindowXSize; G4double defaultKaptonWindowYSize = 5.25*cm; @@ -176,7 +185,7 @@ void PassiveProtonBeamLine::SetDimensions() G4double defaultKaptonWindowZSize = 5.25*cm; kaptonWindowZSize = defaultKaptonWindowZSize; - G4double defaultKaptonWindowXPosition = 80.5075*mm; + G4double defaultKaptonWindowXPosition = 100.0*mm - defaultKaptonWindowXSize; kaptonWindowXPosition = defaultKaptonWindowXPosition; // STOPPER: is a small cylinder able to stop the central component @@ -194,7 +203,7 @@ void PassiveProtonBeamLine::SetDimensions() G4double defaultSpanningAngleStopper = 360.*deg; spanningAngleStopper = defaultSpanningAngleStopper; - G4double defaultStopperXPosition = -2575.0 *mm; + G4double defaultStopperXPosition = -2705.0 *mm; stopperXPosition = defaultStopperXPosition; G4double defaultStopperYPosition = 0.*m; @@ -218,7 +227,7 @@ void PassiveProtonBeamLine::SetDimensions() G4double defaultSecondScatteringFoilZSize = 52.5 *mm; secondScatteringFoilZSize = defaultSecondScatteringFoilZSize; - G4double defaultSecondScatteringFoilXPosition = -2402.5 *mm; + G4double defaultSecondScatteringFoilXPosition = defaultStopperXPosition + defaultHeightStopper + defaultSecondScatteringFoilXSize; secondScatteringFoilXPosition = defaultSecondScatteringFoilXPosition; G4double defaultSecondScatteringFoilYPosition = 0 *mm; @@ -241,7 +250,7 @@ void PassiveProtonBeamLine::SetDimensions() G4double defaultRangeShifterZSize = 176. *mm; rangeShifterZSize = defaultRangeShifterZSize; - G4double defaultRangeShifterXPosition = -2123.0 *mm; + G4double defaultRangeShifterXPosition = -2393.0 *mm; rangeShifterXPosition = defaultRangeShifterXPosition; G4double defaultRangeShifterYPosition = 0. *mm; @@ -261,10 +270,10 @@ void PassiveProtonBeamLine::SetDimensions() G4double defaultMOPIMotherVolumeXSize = 12127.0 *um; MOPIMotherVolumeXSize = defaultMOPIMotherVolumeXSize; - G4double defaultMOPIMotherVolumeYSize = 60.0 *cm; + G4double defaultMOPIMotherVolumeYSize = 40.0 *cm; MOPIMotherVolumeYSize = defaultMOPIMotherVolumeYSize; - G4double defaultMOPIMotherVolumeZSize = 60.0 *cm; + G4double defaultMOPIMotherVolumeZSize = 40.0 *cm; MOPIMotherVolumeZSize = defaultMOPIMotherVolumeZSize; G4double defaultMOPIMotherVolumeXPosition = -1000.0 *mm; @@ -310,201 +319,202 @@ void PassiveProtonBeamLine::SetDimensions() MOPIFirstAluminumLayerXPosition = defaultMOPIFirstAluminumLayerXPosition; G4double defaultMOPIFirstAluminumLayerYPosition = 0.0 *mm; - MOPIFirstAluminumLayerYPosition = defaultMOPIFirstAluminumLayerYPosition; + MOPIFirstAluminumLayerYPosition = defaultMOPIFirstAluminumLayerYPosition; - G4double defaultMOPIFirstAluminumLayerZPosition = 0.0 *mm; - MOPIFirstAluminumLayerZPosition = defaultMOPIFirstAluminumLayerZPosition; + G4double defaultMOPIFirstAluminumLayerZPosition = 0.0 *mm; + MOPIFirstAluminumLayerZPosition = defaultMOPIFirstAluminumLayerZPosition; - // First Air gap of MOPI - G4double defaultMOPIFirstAirGapXSize = 6000 *um; - MOPIFirstAirGapXSize = defaultMOPIFirstAirGapXSize; + // First Air gap of MOPI + G4double defaultMOPIFirstAirGapXSize = 6000 *um; + MOPIFirstAirGapXSize = defaultMOPIFirstAirGapXSize; - G4double defaultMOPIFirstAirGapYSize = 30 *cm; - MOPIFirstAirGapYSize = defaultMOPIFirstAirGapYSize; + G4double defaultMOPIFirstAirGapYSize = 30 *cm; + MOPIFirstAirGapYSize = defaultMOPIFirstAirGapYSize; - G4double defaultMOPIFirstAirGapZSize = 30 *cm; - MOPIFirstAirGapZSize = defaultMOPIFirstAirGapZSize; + G4double defaultMOPIFirstAirGapZSize = 30 *cm; + MOPIFirstAirGapZSize = defaultMOPIFirstAirGapZSize; - G4double defaultMOPIFirstAirGapXPosition = - MOPIFirstAluminumLayerXPosition + MOPIFirstAluminumLayerXSize/2 + MOPIFirstAirGapXSize/2; - MOPIFirstAirGapXPosition = defaultMOPIFirstAirGapXPosition; + G4double defaultMOPIFirstAirGapXPosition = + MOPIFirstAluminumLayerXPosition + MOPIFirstAluminumLayerXSize/2 + MOPIFirstAirGapXSize/2; + MOPIFirstAirGapXPosition = defaultMOPIFirstAirGapXPosition; - G4double defaultMOPIFirstAirGapYPosition = 0.0 *mm; - MOPIFirstAirGapYPosition = defaultMOPIFirstAirGapYPosition; + G4double defaultMOPIFirstAirGapYPosition = 0.0 *mm; + MOPIFirstAirGapYPosition = defaultMOPIFirstAirGapYPosition; - G4double defaultMOPIFirstAirGapZPosition = 0.0 *mm; - MOPIFirstAirGapZPosition = defaultMOPIFirstAirGapZPosition; + G4double defaultMOPIFirstAirGapZPosition = 0.0 *mm; + MOPIFirstAirGapZPosition = defaultMOPIFirstAirGapZPosition; - // Cathode of MOPI - G4double defaultMOPICathodeXSize = 25.0 *um; - MOPICathodeXSize = defaultMOPICathodeXSize; + // Cathode of MOPI + G4double defaultMOPICathodeXSize = 25.0 *um; + MOPICathodeXSize = defaultMOPICathodeXSize; - G4double defaultMOPICathodeYSize = 30.0 *cm; - MOPICathodeYSize = defaultMOPICathodeYSize; + G4double defaultMOPICathodeYSize = 30.0 *cm; + MOPICathodeYSize = defaultMOPICathodeYSize; - G4double defaultMOPICathodeZSize = 30.0 *cm; - MOPICathodeZSize = defaultMOPICathodeZSize; + G4double defaultMOPICathodeZSize = 30.0 *cm; + MOPICathodeZSize = defaultMOPICathodeZSize; - G4double defaultMOPICathodeXPosition = - MOPIFirstAirGapXPosition + MOPIFirstAirGapXSize/2 + MOPICathodeXSize/2; - MOPICathodeXPosition = defaultMOPICathodeXPosition; + G4double defaultMOPICathodeXPosition = + MOPIFirstAirGapXPosition + MOPIFirstAirGapXSize/2 + MOPICathodeXSize/2; + MOPICathodeXPosition = defaultMOPICathodeXPosition; - G4double defaultMOPICathodeYPosition = 0.0 *mm; - MOPICathodeYPosition = defaultMOPICathodeYPosition; + G4double defaultMOPICathodeYPosition = 0.0 *mm; + MOPICathodeYPosition = defaultMOPICathodeYPosition; - G4double defaultMOPICathodeZPosition = 0.0 *mm; - MOPICathodeZPosition = defaultMOPICathodeZPosition; + G4double defaultMOPICathodeZPosition = 0.0 *mm; + MOPICathodeZPosition = defaultMOPICathodeZPosition; - // Second Air gap of MOPI - G4double defaultMOPISecondAirGapXSize = 6000 *um; - MOPISecondAirGapXSize = defaultMOPISecondAirGapXSize; + // Second Air gap of MOPI + G4double defaultMOPISecondAirGapXSize = 6000 *um; + MOPISecondAirGapXSize = defaultMOPISecondAirGapXSize; - G4double defaultMOPISecondAirGapYSize = 30 *cm; - MOPISecondAirGapYSize = defaultMOPISecondAirGapYSize; + G4double defaultMOPISecondAirGapYSize = 30 *cm; + MOPISecondAirGapYSize = defaultMOPISecondAirGapYSize; - G4double defaultMOPISecondAirGapZSize = 30 *cm; - MOPISecondAirGapZSize = defaultMOPISecondAirGapZSize; + G4double defaultMOPISecondAirGapZSize = 30 *cm; + MOPISecondAirGapZSize = defaultMOPISecondAirGapZSize; - G4double defaultMOPISecondAirGapXPosition = - MOPICathodeXPosition + MOPICathodeXSize/2 + MOPISecondAirGapXSize/2; - MOPISecondAirGapXPosition = defaultMOPISecondAirGapXPosition; + G4double defaultMOPISecondAirGapXPosition = + MOPICathodeXPosition + MOPICathodeXSize/2 + MOPISecondAirGapXSize/2; + MOPISecondAirGapXPosition = defaultMOPISecondAirGapXPosition; - G4double defaultMOPISecondAirGapYPosition = 0.0 *mm; - MOPISecondAirGapYPosition = defaultMOPISecondAirGapYPosition; + G4double defaultMOPISecondAirGapYPosition = 0.0 *mm; + MOPISecondAirGapYPosition = defaultMOPISecondAirGapYPosition; - G4double defaultMOPISecondAirGapZPosition = 0.0 *mm; - MOPISecondAirGapZPosition = defaultMOPISecondAirGapZPosition; + G4double defaultMOPISecondAirGapZPosition = 0.0 *mm; + MOPISecondAirGapZPosition = defaultMOPISecondAirGapZPosition; - //Second Aluminum Layer of MOPI - G4double defaultMOPISecondAluminumLayerXSize = 15 *um; - MOPISecondAluminumLayerXSize = defaultMOPISecondAluminumLayerXSize; + //Second Aluminum Layer of MOPI + G4double defaultMOPISecondAluminumLayerXSize = 15 *um; + MOPISecondAluminumLayerXSize = defaultMOPISecondAluminumLayerXSize; - G4double defaultMOPISecondAluminumLayerYSize = 30 *cm; - MOPISecondAluminumLayerYSize = defaultMOPISecondAluminumLayerYSize; + G4double defaultMOPISecondAluminumLayerYSize = 30 *cm; + MOPISecondAluminumLayerYSize = defaultMOPISecondAluminumLayerYSize; - G4double defaultMOPISecondAluminumLayerZSize = 30 *cm; - MOPISecondAluminumLayerZSize = defaultMOPISecondAluminumLayerZSize; + G4double defaultMOPISecondAluminumLayerZSize = 30 *cm; + MOPISecondAluminumLayerZSize = defaultMOPISecondAluminumLayerZSize; - G4double defaultMOPISecondAluminumLayerXPosition = - MOPISecondAirGapXPosition + MOPISecondAirGapXSize/2 + MOPISecondAluminumLayerXSize/2; - MOPISecondAluminumLayerXPosition = defaultMOPISecondAluminumLayerXPosition; + G4double defaultMOPISecondAluminumLayerXPosition = + MOPISecondAirGapXPosition + MOPISecondAirGapXSize/2 + MOPISecondAluminumLayerXSize/2; + MOPISecondAluminumLayerXPosition = defaultMOPISecondAluminumLayerXPosition; - G4double defaultMOPISecondAluminumLayerYPosition = 0.0 *mm; - MOPISecondAluminumLayerYPosition = defaultMOPISecondAluminumLayerYPosition; + G4double defaultMOPISecondAluminumLayerYPosition = 0.0 *mm; + MOPISecondAluminumLayerYPosition = defaultMOPISecondAluminumLayerYPosition; - G4double defaultMOPISecondAluminumLayerZPosition = 0.0 *mm; - MOPISecondAluminumLayerZPosition = defaultMOPISecondAluminumLayerZPosition; + G4double defaultMOPISecondAluminumLayerZPosition = 0.0 *mm; + MOPISecondAluminumLayerZPosition = defaultMOPISecondAluminumLayerZPosition; - // Second Kapton Layer of MOPI - G4double defaultMOPISecondKaptonLayerXSize = 35 *um; - MOPISecondKaptonLayerXSize = defaultMOPISecondKaptonLayerXSize; + // Second Kapton Layer of MOPI + G4double defaultMOPISecondKaptonLayerXSize = 35 *um; + MOPISecondKaptonLayerXSize = defaultMOPISecondKaptonLayerXSize; - G4double defaultMOPISecondKaptonLayerYSize = 30 *cm; - MOPISecondKaptonLayerYSize = defaultMOPISecondKaptonLayerYSize; + G4double defaultMOPISecondKaptonLayerYSize = 30 *cm; + MOPISecondKaptonLayerYSize = defaultMOPISecondKaptonLayerYSize; - G4double defaultMOPISecondKaptonLayerZSize = 30 *cm; - MOPISecondKaptonLayerZSize = defaultMOPISecondKaptonLayerZSize; + G4double defaultMOPISecondKaptonLayerZSize = 30 *cm; + MOPISecondKaptonLayerZSize = defaultMOPISecondKaptonLayerZSize; - G4double defaultMOPISecondKaptonLayerXPosition = - MOPISecondAluminumLayerXPosition + MOPISecondAluminumLayerXSize/2 + MOPISecondKaptonLayerXSize/2; - MOPISecondKaptonLayerXPosition = defaultMOPISecondKaptonLayerXPosition; + G4double defaultMOPISecondKaptonLayerXPosition = + MOPISecondAluminumLayerXPosition + MOPISecondAluminumLayerXSize/2 + MOPISecondKaptonLayerXSize/2; + MOPISecondKaptonLayerXPosition = defaultMOPISecondKaptonLayerXPosition; - G4double defaultMOPISecondKaptonLayerYPosition = 0.0 *mm; - MOPISecondKaptonLayerYPosition = defaultMOPISecondKaptonLayerYPosition; + G4double defaultMOPISecondKaptonLayerYPosition = 0.0 *mm; + MOPISecondKaptonLayerYPosition = defaultMOPISecondKaptonLayerYPosition; - G4double defaultMOPISecondKaptonLayerZPosition = 0.0 *mm; - MOPISecondKaptonLayerZPosition = defaultMOPISecondKaptonLayerZPosition; + G4double defaultMOPISecondKaptonLayerZPosition = 0.0 *mm; + MOPISecondKaptonLayerZPosition = defaultMOPISecondKaptonLayerZPosition; - // FINAL COLLIMATOR: is the collimator giving the final transversal shape - // of the beam - G4double defaultinnerRadiusFinalCollimator = 7.5 *mm; - innerRadiusFinalCollimator = defaultinnerRadiusFinalCollimator; + // FINAL COLLIMATOR: is the collimator giving the final transversal shape + // of the beam + G4double defaultinnerRadiusFinalCollimator = 7.5 *mm; + innerRadiusFinalCollimator = defaultinnerRadiusFinalCollimator; - // DEFAULT DEFINITION OF THE MATERIALS + // 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"); + // 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); + // 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 + 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); + 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; + // MATERIAL ASSIGNMENT + // Range shifter + rangeShifterMaterial = airNist; - // Support of the beam line - beamLineSupportMaterial = aluminumNist; + // Support of the beam line + beamLineSupportMaterial = aluminumNist; - // Vacuum pipe - vacuumZoneMaterial = galacticNist; + // Vacuum pipe + vacuumZoneMaterial = galacticNist; - // Material of the fisrt scattering foil - firstScatteringFoilMaterial = tantalumNist; + // Material of the fisrt scattering foil + firstScatteringFoilMaterial = tantalumNist; - // Material of kapton window - kaptonWindowMaterial = kaptonNist; + // Material of kapton window + kaptonWindowMaterial = kaptonNist; - // Material of the stopper - stopperMaterial = brass; + // Material of the stopper + stopperMaterial = brass; - // Material of the second scattering foil - secondScatteringFoilMaterial = tantalumNist; + // Material of the second scattering foil + secondScatteringFoilMaterial = tantalumNist; - // Materials of the collimators - firstCollimatorMaterial = PMMANist; - holeFirstCollimatorMaterial = airNist; + // Materials of the collimators + firstCollimatorMaterial = PMMANist; + holeFirstCollimatorMaterial = airNist; - // Box containing the modulator wheel - modulatorBoxMaterial = aluminumNist; - holeModulatorBoxMaterial = airNist; + // Box containing the modulator wheel + modulatorBoxMaterial = aluminumNist; + holeModulatorBoxMaterial = airNist; - // Materials of the monitor chamber - layer1MonitorChamberMaterial = kaptonNist; - layer2MonitorChamberMaterial = copperNistAsMaterial; - layer3MonitorChamberMaterial = airNist; - layer4MonitorChamberMaterial = copperNistAsMaterial; + // 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; + // 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 nozzle + nozzleSupportMaterial = PMMANist; + brassTubeMaterial = brassTube2Material = brassTube3Material = brass; + holeNozzleSupportMaterial = airNist; - // Material of the final collimator - finalCollimatorMaterial = brass; + // Material of the final collimator + finalCollimatorMaterial = brass; } +///////////////////////////////////////////////////////////////////////////// void PassiveProtonBeamLine::ConstructPassiveProtonBeamLine() { // ----------------------------- @@ -590,7 +600,7 @@ void PassiveProtonBeamLine::HadrontherapyBeamLineSupport() const G4double beamLineCoverZSize = 10.*mm; const G4double beamLineCoverXPosition = -1745.09 *mm; - const G4double beamLineCoverYPosition = -980.*mm; + const G4double beamLineCoverYPosition = -1000.*mm; const G4double beamLineCoverZPosition = 600.*mm; G4Box* beamLineCover = new G4Box("BeamLineCover", @@ -599,8 +609,8 @@ void PassiveProtonBeamLine::HadrontherapyBeamLineSupport() beamLineCoverZSize); G4LogicalVolume* logicBeamLineCover = new G4LogicalVolume(beamLineCover, - beamLineSupportMaterial, - "BeamLineCover"); + beamLineSupportMaterial, + "BeamLineCover"); physiBeamLineCover = new G4PVPlacement(0, G4ThreeVector(beamLineCoverXPosition, beamLineCoverYPosition, @@ -624,7 +634,6 @@ void PassiveProtonBeamLine::HadrontherapyBeamLineSupport() false, 0); - logicBeamLineCover -> SetVisAttributes(blue); } @@ -640,7 +649,7 @@ void PassiveProtonBeamLine::HadrontherapyBeamScatteringFoils() G4Box* vacuumZone = new G4Box("VacuumZone", vacuumZoneXSize, vacuumZoneYSize, vacuumZoneZSize); G4LogicalVolume* logicVacuumZone = new G4LogicalVolume(vacuumZone, vacuumZoneMaterial, "VacuumZone"); G4VPhysicalVolume* physiVacuumZone = new G4PVPlacement(0, G4ThreeVector(vacuumZoneXPosition, 0., 0.), - "VacuumZone", logicVacuumZone, physicalTreatmentRoom, false, 0); + "VacuumZone", logicVacuumZone, physicalTreatmentRoom, false, 0); // --------------------------// // THE FIRST SCATTERING FOIL // // --------------------------// @@ -652,8 +661,8 @@ void PassiveProtonBeamLine::HadrontherapyBeamScatteringFoils() firstScatteringFoilZSize); G4LogicalVolume* logicFirstScatteringFoil = new G4LogicalVolume(firstScatteringFoil, - firstScatteringFoilMaterial, - "FirstScatteringFoil"); + firstScatteringFoilMaterial, + "FirstScatteringFoil"); physiFirstScatteringFoil = new G4PVPlacement(0, G4ThreeVector(firstScatteringFoilXPosition, 0.,0.), "FirstScatteringFoil", logicFirstScatteringFoil, physiVacuumZone, @@ -670,14 +679,14 @@ void PassiveProtonBeamLine::HadrontherapyBeamScatteringFoils() kaptonWindowZSize); G4LogicalVolume* logicKaptonWindow = new G4LogicalVolume(solidKaptonWindow, - kaptonWindowMaterial, - "KaptonWindow"); + kaptonWindowMaterial, + "KaptonWindow"); physiKaptonWindow = new G4PVPlacement(0, G4ThreeVector(kaptonWindowXPosition, 0., 0.), "KaptonWindow", logicKaptonWindow, physiVacuumZone, false, 0); - logicKaptonWindow -> SetVisAttributes(darkOrange3); + logicKaptonWindow -> SetVisAttributes(darkOrange3); // ------------// // THE STOPPER // @@ -688,17 +697,28 @@ void PassiveProtonBeamLine::HadrontherapyBeamScatteringFoils() G4double phi = 90. *deg; // Matrix definition for a 90 deg rotation with respect to Y axis G4RotationMatrix rm; - rm.rotateY(phi); - - solidStopper = new G4Tubs("Stopper", innerRadiusStopper,outerRadiusStopper,heightStopper, - startAngleStopper,spanningAngleStopper); + rm.rotateY(phi); - G4LogicalVolume* logicStopper = new G4LogicalVolume(solidStopper, stopperMaterial, "Stopper", 0, 0, 0); + solidStopper = new G4Tubs("Stopper", + innerRadiusStopper, + outerRadiusStopper, + heightStopper, + startAngleStopper, + spanningAngleStopper); + + logicStopper = new G4LogicalVolume(solidStopper, + stopperMaterial, + "Stopper", + 0, 0, 0); physiStopper = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector(stopperXPosition, stopperYPosition, stopperZPosition)), - "Stopper", logicStopper, physicalTreatmentRoom, false, 0); + "Stopper", + logicStopper, + physicalTreatmentRoom, + false, + 0); logicStopper -> SetVisAttributes(red); @@ -715,14 +735,17 @@ void PassiveProtonBeamLine::HadrontherapyBeamScatteringFoils() secondScatteringFoilZSize); G4LogicalVolume* logicSecondScatteringFoil = new G4LogicalVolume(secondScatteringFoil, - secondScatteringFoilMaterial, - "SecondScatteringFoil"); + secondScatteringFoilMaterial, + "SecondScatteringFoil"); physiSecondScatteringFoil = new G4PVPlacement(0, G4ThreeVector(secondScatteringFoilXPosition, secondScatteringFoilYPosition, secondScatteringFoilZPosition), - "SeconScatteringFoil", logicSecondScatteringFoil, - physicalTreatmentRoom, false, 0); + "SeconScatteringFoil", + logicSecondScatteringFoil, + physicalTreatmentRoom, + false, + 0); logicSecondScatteringFoil -> SetVisAttributes(skyBlue); } @@ -752,7 +775,7 @@ void PassiveProtonBeamLine::HadrontherapyRangeShifter() logicRangeShifterBox -> SetVisAttributes(yellow); - } +} ///////////////////////////////////////////////////////////////////////////// void PassiveProtonBeamLine::HadrontherapyBeamCollimators() { @@ -764,7 +787,7 @@ void PassiveProtonBeamLine::HadrontherapyBeamCollimators() const G4double firstCollimatorYSize = 100.*mm; const G4double firstCollimatorZSize = 100.*mm; - const G4double firstCollimatorXPosition = -2373.00*mm; + const G4double firstCollimatorXPosition = -2673.00*mm; const G4double firstCollimatorYPosition = 0.*mm; const G4double firstCollimatorZPosition = 0.*mm; @@ -820,7 +843,7 @@ void PassiveProtonBeamLine::HadrontherapyBeamCollimators() // SECOND COLLIMATOR // //-------------------// // It is a slab of PMMA with an hole in its center - const G4double secondCollimatorXPosition = -1608.00*mm; + const G4double secondCollimatorXPosition = -1900.00*mm; const G4double secondCollimatorYPosition = 0*mm; const G4double secondCollimatorZPosition = 0*mm; @@ -836,27 +859,27 @@ void PassiveProtonBeamLine::HadrontherapyBeamCollimators() // ------------------------------// // Hole of the second collimator // // ------------------------------// - physiHoleSecondCollimator = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector()), + physiHoleSecondCollimator = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector()), "HoleSecondCollimator", logicHoleFirstCollimator, physiSecondCollimator, false, 0); - // --------------------------------------// - // FIRST SIDE OF THE MODULATOR BOX // - // --------------------------------------// - // The modulator box is an aluminum box in which - // the range shifter and the energy modulator are located - // 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 + // --------------------------------------// + // FIRST SIDE OF THE MODULATOR BOX // + // --------------------------------------// + // The modulator box is an aluminum box in which + // the range shifter and the energy modulator are located + // 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; + const G4double firstCollimatorModulatorXSize = 10.*mm; + const G4double firstCollimatorModulatorYSize = 200.*mm; + const G4double firstCollimatorModulatorZSize = 200.*mm; - const G4double firstCollimatorModulatorXPosition = -2223.00*mm; + const G4double firstCollimatorModulatorXPosition = -2523.00*mm; const G4double firstCollimatorModulatorYPosition = 0.*mm; const G4double firstCollimatorModulatorZPosition = 0.*mm; @@ -909,7 +932,7 @@ void PassiveProtonBeamLine::HadrontherapyBeamCollimators() const G4double secondCollimatorModulatorYSize = 200.*mm; const G4double secondCollimatorModulatorZSize = 200.*mm; - const G4double secondCollimatorModulatorXPosition = -1653.00 *mm; + const G4double secondCollimatorModulatorXPosition = -1953.00 *mm; const G4double secondCollimatorModulatorYPosition = 0.*mm; const G4double secondCollimatorModulatorZPosition = 0.*mm; @@ -920,8 +943,8 @@ void PassiveProtonBeamLine::HadrontherapyBeamCollimators() secondCollimatorModulatorZSize); G4LogicalVolume* logicSecondCollimatorModulatorBox = new G4LogicalVolume(solidSecondCollimatorModulatorBox, - modulatorBoxMaterial, - "SecondCollimatorModulatorBox"); + modulatorBoxMaterial, + "SecondCollimatorModulatorBox"); physiSecondCollimatorModulatorBox = new G4PVPlacement(0, G4ThreeVector(secondCollimatorModulatorXPosition, secondCollimatorModulatorYPosition, @@ -940,11 +963,11 @@ void PassiveProtonBeamLine::HadrontherapyBeamCollimators() const G4double spanningAngleHoleSecondCollimatorModulatorBox = 360.*deg; G4Tubs* solidHoleSecondCollimatorModulatorBox = new G4Tubs("HoleSecondCollimatorModulatorBox", - innerRadiusHoleSecondCollimatorModulatorBox, - outerRadiusHoleSecondCollimatorModulatorBox, - hightHoleSecondCollimatorModulatorBox , - startAngleHoleSecondCollimatorModulatorBox, - spanningAngleHoleSecondCollimatorModulatorBox); + innerRadiusHoleSecondCollimatorModulatorBox, + outerRadiusHoleSecondCollimatorModulatorBox, + hightHoleSecondCollimatorModulatorBox , + startAngleHoleSecondCollimatorModulatorBox, + spanningAngleHoleSecondCollimatorModulatorBox); G4LogicalVolume* logicHoleSecondCollimatorModulatorBox = new G4LogicalVolume(solidHoleSecondCollimatorModulatorBox, holeModulatorBoxMaterial, @@ -989,8 +1012,8 @@ void PassiveProtonBeamLine::HadrontherapyBeamMonitoring() monitorZSize); G4LogicalVolume* logicFirstMonitorLayer1 = new G4LogicalVolume(solidFirstMonitorLayer1, - layer1MonitorChamberMaterial, - "FirstMonitorLayer1"); + layer1MonitorChamberMaterial, + "FirstMonitorLayer1"); physiFirstMonitorLayer1 = new G4PVPlacement(0, G4ThreeVector(monitor1XPosition,0.*cm,0.*cm), @@ -1006,8 +1029,8 @@ void PassiveProtonBeamLine::HadrontherapyBeamMonitoring() monitorZSize); G4LogicalVolume* logicFirstMonitorLayer2 = new G4LogicalVolume(solidFirstMonitorLayer2, - layer2MonitorChamberMaterial, - "FirstMonitorLayer2"); + layer2MonitorChamberMaterial, + "FirstMonitorLayer2"); physiFirstMonitorLayer2 = new G4PVPlacement(0, G4ThreeVector(monitor2XPosition,0.*cm,0.*cm), "FirstMonitorLayer2", @@ -1022,8 +1045,8 @@ void PassiveProtonBeamLine::HadrontherapyBeamMonitoring() monitorZSize); G4LogicalVolume* logicFirstMonitorLayer3 = new G4LogicalVolume(solidFirstMonitorLayer3, - layer3MonitorChamberMaterial, - "FirstMonitorLayer3"); + layer3MonitorChamberMaterial, + "FirstMonitorLayer3"); physiFirstMonitorLayer3 = new G4PVPlacement(0, G4ThreeVector(0.*mm,0.*cm,0.*cm), @@ -1039,8 +1062,8 @@ void PassiveProtonBeamLine::HadrontherapyBeamMonitoring() monitorZSize); G4LogicalVolume* logicFirstMonitorLayer4 = new G4LogicalVolume(solidFirstMonitorLayer4, - layer4MonitorChamberMaterial, - "FirstMonitorLayer4"); + layer4MonitorChamberMaterial, + "FirstMonitorLayer4"); physiFirstMonitorLayer4 = new G4PVPlacement(0, G4ThreeVector(monitor4XPosition,0.*cm,0.*cm), "FirstMonitorLayer4", @@ -1056,7 +1079,7 @@ void PassiveProtonBeamLine::HadrontherapyBeamMonitoring() logicFirstMonitorLayer2, physiSecondMonitorLayer1, false, 0); physiSecondMonitorLayer3 = new G4PVPlacement(0, G4ThreeVector(0.*mm,0.*cm,0.*cm), "MonitorLayer3", - logicFirstMonitorLayer3, physiSecondMonitorLayer1, false, 0); + logicFirstMonitorLayer3, physiSecondMonitorLayer1, false, 0); physiSecondMonitorLayer4 = new G4PVPlacement(0, G4ThreeVector(monitor4XPosition,0.*cm,0.*cm), "SecondMonitorLayer4", logicFirstMonitorLayer4, physiSecondMonitorLayer1, false, 0); @@ -1112,8 +1135,8 @@ void PassiveProtonBeamLine::HadrontherapyMOPIDetector() MOPIFirstKaptonLayerZSize/2); logicMOPIFirstKaptonLayer = new G4LogicalVolume(solidMOPIFirstKaptonLayer, - MOPIFirstKaptonLayerMaterial, - "MOPIFirstKaptonLayer"); + MOPIFirstKaptonLayerMaterial, + "MOPIFirstKaptonLayer"); physiMOPIFirstKaptonLayer = new G4PVPlacement(0, G4ThreeVector(MOPIFirstKaptonLayerXPosition, @@ -1126,14 +1149,14 @@ void PassiveProtonBeamLine::HadrontherapyMOPIDetector() 0); // First Aluminum layer - solidMOPIFirstAluminumLayer = new G4Box("MOPIFirstAluminumLayer", + solidMOPIFirstAluminumLayer = new G4Box("MOPIFirstAluminumLayer", MOPIFirstAluminumLayerXSize/2, MOPIFirstAluminumLayerYSize/2 , MOPIFirstAluminumLayerZSize/2); logicMOPIFirstAluminumLayer = new G4LogicalVolume(solidMOPIFirstAluminumLayer, - MOPIFirstAluminumLayerMaterial, - "MOPIFirstAluminumLayer"); + MOPIFirstAluminumLayerMaterial, + "MOPIFirstAluminumLayer"); physiMOPIFirstAluminumLayer = new G4PVPlacement(0, G4ThreeVector(MOPIFirstAluminumLayerXPosition, @@ -1196,14 +1219,14 @@ void PassiveProtonBeamLine::HadrontherapyMOPIDetector() logicMOPISecondAirGap, physiMOPIMotherVolume, false, 0); // Second Aluminum layer - solidMOPISecondAluminumLayer = new G4Box("MOPISecondAluminumLayer", - MOPISecondAluminumLayerXSize/2, - MOPISecondAluminumLayerYSize/2 , - MOPISecondAluminumLayerZSize/2); + solidMOPISecondAluminumLayer = new G4Box("MOPISecondAluminumLayer", + MOPISecondAluminumLayerXSize/2, + MOPISecondAluminumLayerYSize/2 , + MOPISecondAluminumLayerZSize/2); logicMOPISecondAluminumLayer = new G4LogicalVolume(solidMOPISecondAluminumLayer, - MOPISecondAluminumLayerMaterial, - "MOPISecondAluminumLayer"); + MOPISecondAluminumLayerMaterial, + "MOPISecondAluminumLayer"); physiMOPISecondAluminumLayer = new G4PVPlacement(0, G4ThreeVector(MOPISecondAluminumLayerXPosition, @@ -1222,8 +1245,8 @@ void PassiveProtonBeamLine::HadrontherapyMOPIDetector() MOPISecondKaptonLayerZSize/2); logicMOPISecondKaptonLayer = new G4LogicalVolume(solidMOPISecondKaptonLayer, - MOPIFirstKaptonLayerMaterial, - "MOPISecondKaptonLayer"); + MOPIFirstKaptonLayerMaterial, + "MOPISecondKaptonLayer"); physiMOPISecondKaptonLayer = new G4PVPlacement(0, G4ThreeVector(MOPISecondKaptonLayerXPosition, @@ -1264,14 +1287,14 @@ void PassiveProtonBeamLine::HadrontherapyBeamNozzle() G4RotationMatrix rm; rm.rotateY(phi); - G4Box* solidNozzleSupport = new G4Box("NozzlSupport", + G4Box* solidNozzleSupport = new G4Box("NozzleSupport", nozzleSupportXSize, nozzleSupportYSize, nozzleSupportZSize); G4LogicalVolume* logicNozzleSupport = new G4LogicalVolume(solidNozzleSupport, - nozzleSupportMaterial, - "NozzleSupport"); + nozzleSupportMaterial, + "NozzleSupport"); physiNozzleSupport = new G4PVPlacement(0, G4ThreeVector(nozzleSupportXPosition,0., 0.), "NozzleSupport", @@ -1282,66 +1305,145 @@ void PassiveProtonBeamLine::HadrontherapyBeamNozzle() logicNozzleSupport -> SetVisAttributes(yellow); - // -------------------// - // BRASS TUBE // - // -------------------// - const G4double innerRadiusHoleNozzleSupport = 18.*mm; - const G4double outerRadiusHoleNozzleSupport = 21.5 *mm; - const G4double hightHoleNozzleSupport = 185.*mm; + + + //------------------------------------// + // HOLE IN THE SUPPORT // + //------------------------------------// + const G4double innerRadiusHoleNozzleSupport = 0.*mm; + const G4double outerRadiusHoleNozzleSupport = 21.5*mm; + const G4double hightHoleNozzleSupport = 29.5 *mm; const G4double startAngleHoleNozzleSupport = 0.*deg; const G4double spanningAngleHoleNozzleSupport = 360.*deg; - const G4double holeNozzleSupportXPosition = -272.0 *mm; - - G4Tubs* solidHoleNozzleSupport = new G4Tubs("HoleNozzleSupport", - innerRadiusHoleNozzleSupport, - outerRadiusHoleNozzleSupport, - hightHoleNozzleSupport, - startAngleHoleNozzleSupport, - spanningAngleHoleNozzleSupport); + G4Tubs* solidHoleNozzleSupport = new G4Tubs("HoleNozzleSupport", + innerRadiusHoleNozzleSupport, + outerRadiusHoleNozzleSupport, + hightHoleNozzleSupport, + startAngleHoleNozzleSupport, + spanningAngleHoleNozzleSupport); G4LogicalVolume* logicHoleNozzleSupport = new G4LogicalVolume(solidHoleNozzleSupport, - holeNozzleSupportMaterial, - "HoleNozzleSupport", - 0, 0, 0); + holeNozzleSupportMaterial, + "HoleNozzleSupport", + 0, + 0, + 0); - physiHoleNozzleSupport = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector(holeNozzleSupportXPosition, - 0., 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; - const G4double startAngleSecondHoleNozzleSupport = 0.*deg; - const G4double spanningAngleSecondHoleNozzleSupport = 360.*deg; - - G4Tubs* solidSecondHoleNozzleSupport = new G4Tubs("SecondHoleNozzleSupport", - innerRadiusSecondHoleNozzleSupport, - outerRadiusSecondHoleNozzleSupport, - hightSecondHoleNozzleSupport, - startAngleSecondHoleNozzleSupport, - spanningAngleSecondHoleNozzleSupport); - - G4LogicalVolume* logicSecondHoleNozzleSupport = new G4LogicalVolume(solidSecondHoleNozzleSupport, - seconHoleNozzleSupportMaterial, - "SecondHoleNozzleSupport", - 0, - 0, - 0); - - physiSecondHoleNozzleSupport = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector()), - "SecondHoleNozzleSupport", - logicSecondHoleNozzleSupport, - physiNozzleSupport, - false, 0); - - + physiHoleNozzleSupport = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector()), + "HoleNozzleSupport", + logicHoleNozzleSupport, + physiNozzleSupport, + false, 0); + logicHoleNozzleSupport -> SetVisAttributes(darkOrange3); + + // ---------------------------------// + // BRASS TUBE 1 (phantom side) // + // ---------------------------------// + const G4double innerRadiusBrassTube= 18.*mm; + const G4double outerRadiusBrassTube = 21.5 *mm; + const G4double hightBrassTube = 140.5*mm; + const G4double startAngleBrassTube = 0.*deg; + const G4double spanningAngleBrassTube = 360.*deg; + + const G4double brassTubeXPosition = -227.5 *mm; + + G4Tubs* solidBrassTube = new G4Tubs("BrassTube", + innerRadiusBrassTube, + outerRadiusBrassTube, + hightBrassTube, + startAngleBrassTube, + spanningAngleBrassTube); + + G4LogicalVolume* logicBrassTube = new G4LogicalVolume(solidBrassTube, + brassTubeMaterial, + "BrassTube", + 0, 0, 0); + + physiBrassTube = new G4PVPlacement(G4Transform3D(rm, + G4ThreeVector(brassTubeXPosition, + 0., + 0.)), + "BrassTube", + logicBrassTube, + physicalTreatmentRoom, + false, + 0); + + logicBrassTube -> SetVisAttributes(darkOrange3); + + // ----------------------------------------------// + // BRASS TUBE 2 (inside the PMMA support) // + // ----------------------------------------------// + const G4double innerRadiusBrassTube2= 18.*mm; + const G4double outerRadiusBrassTube2 = 21.5 *mm; + const G4double hightBrassTube2 = 29.5*mm; + const G4double startAngleBrassTube2 = 0.*deg; + const G4double spanningAngleBrassTube2 = 360.*deg; + + // const G4double brassTube2XPosition = -227.5 *mm; + + G4Tubs* solidBrassTube2 = new G4Tubs("BrassTube2", + innerRadiusBrassTube2, + outerRadiusBrassTube2, + hightBrassTube2, + startAngleBrassTube2, + spanningAngleBrassTube2); + + G4LogicalVolume* logicBrassTube2 = new G4LogicalVolume(solidBrassTube2, + brassTube2Material, + "BrassTube2", + 0, 0, 0); + + physiBrassTube2 = new G4PVPlacement(G4Transform3D(rm, + G4ThreeVector(0, + 0., + 0.)), + "BrassTube2", + logicBrassTube2, + physiNozzleSupport, + false, + 0); + + logicBrassTube2 -> SetVisAttributes(darkOrange3); + + + // --------------------------------------// + // BRASS TUBE 3 (beam line side) // + // -------------------------------------// + const G4double innerRadiusBrassTube3= 18.*mm; + const G4double outerRadiusBrassTube3 = 21.5 *mm; + const G4double hightBrassTube3 = 10.0 *mm; + const G4double startAngleBrassTube3 = 0.*deg; + const G4double spanningAngleBrassTube3 = 360.*deg; + + const G4double brassTube3XPosition = -437 *mm; + + G4Tubs* solidBrassTube3 = new G4Tubs("BrassTube3", + innerRadiusBrassTube3, + outerRadiusBrassTube3, + hightBrassTube3, + startAngleBrassTube3, + spanningAngleBrassTube3); + + G4LogicalVolume* logicBrassTube3 = new G4LogicalVolume(solidBrassTube3, + brassTube3Material, + "BrassTube3", + 0, 0, 0); + + physiBrassTube3 = new G4PVPlacement(G4Transform3D(rm, + G4ThreeVector(brassTube3XPosition, + 0., + 0.)), + "BrassTube3", + logicBrassTube3, + physicalTreatmentRoom, + false, + 0); + + logicBrassTube3 -> SetVisAttributes(darkOrange3); } ///////////////////////////////////////////////////////////////////////////// @@ -1415,7 +1517,7 @@ 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 + ((secondScatteringFoil -> GetXHalfLength())*2.)/mm << G4endl; } @@ -1455,6 +1557,6 @@ void PassiveProtonBeamLine::SetRSMaterial(G4String materialChoice) void PassiveProtonBeamLine::SetModulatorAngle(G4double value) { modulator -> SetModulatorAngle(value); - G4RunManager::GetRunManager() -> GeometryHasBeenModified(); + //G4RunManager::GetRunManager() -> GeometryHasBeenModified(); } ///////////////////////////////////////////////////////////////////////////// diff --git a/examples/advanced/hadrontherapy/src/PassiveProtonBeamLineMessenger.cc b/examples/advanced/hadrontherapy/src/PassiveProtonBeamLineMessenger.cc index b1e9533474..f21433971f 100755 --- a/examples/advanced/hadrontherapy/src/PassiveProtonBeamLineMessenger.cc +++ b/examples/advanced/hadrontherapy/src/PassiveProtonBeamLineMessenger.cc @@ -23,8 +23,15 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// passiveProtonBeamLineMessenger.cc; +// This is the *BASIC* version of Hadrontherapy, a Geant4-based application // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request +// the *COMPLETE* version of this program, together with its documentation; +// Hadrontherapy (both basic and full version) are supported by the Italian INFN +// Institute in the framework of the MC-INFN Group +// + #include "PassiveProtonBeamLineMessenger.hh" #include "PassiveProtonBeamLine.hh" @@ -33,111 +40,111 @@ #include "G4UIcmdWithAString.hh" - PassiveProtonBeamLineMessenger::PassiveProtonBeamLineMessenger(PassiveProtonBeamLine* beamLine) - :passiveProton(beamLine) + PassiveProtonBeamLineMessenger::PassiveProtonBeamLineMessenger(PassiveProtonBeamLine* beamLine) +:passiveProton(beamLine) { - changeTheBeamLineDir = new G4UIdirectory("/ChangeBeamLine/"); - changeTheBeamLineDir -> SetGuidance("Command to change the transport beam line"); - + 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"); + changeTheBeamLineNameCmd -> SetGuidance("Insert the name of the beam line you want simulate"); + changeTheBeamLineNameCmd -> SetParameterName("List",false); + changeTheBeamLineNameCmd -> AvailableForStates(G4State_PreInit); - beamLineDir = new G4UIdirectory("/beamLine/"); - beamLineDir -> SetGuidance("set specification of range shifter"); - - rangeShifterDir = new G4UIdirectory("/beamLine/RangeShifter/"); - rangeShifterDir -> SetGuidance("set specification of range shifter"); + modulatorDir = new G4UIdirectory("/modulator/"); + modulatorDir -> SetGuidance("Command to rotate the modulator wheel"); - 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"); + beamLineDir = new G4UIdirectory("/beamLine/"); + beamLineDir -> SetGuidance("set specification of range shifter"); - finalCollimatorDir = new G4UIdirectory("/beamLine/FinalCollimator/"); - finalCollimatorDir -> SetGuidance("set specification of final collimator"); + rangeShifterDir = new G4UIdirectory("/beamLine/RangeShifter/"); + rangeShifterDir -> SetGuidance("set specification of range shifter"); - 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); + 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; + 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; } @@ -145,35 +152,35 @@ PassiveProtonBeamLineMessenger::~PassiveProtonBeamLineMessenger() void PassiveProtonBeamLineMessenger::SetNewValue(G4UIcommand* command,G4String newValue) { - if( command == modulatorAngleCmd ) + if( command == modulatorAngleCmd ) { passiveProton -> SetModulatorAngle - (modulatorAngleCmd -> GetNewDoubleValue(newValue));} + (modulatorAngleCmd -> GetNewDoubleValue(newValue));} - else if( command == rangeShifterMatCmd ) + else if( command == rangeShifterMatCmd ) { passiveProton -> SetRSMaterial(newValue);} - else if( command == rangeShifterXSizeCmd ) + else if( command == rangeShifterXSizeCmd ) { passiveProton -> SetRangeShifterXSize - (rangeShifterXSizeCmd -> GetNewDoubleValue(newValue));} + (rangeShifterXSizeCmd -> GetNewDoubleValue(newValue));} - else if( command == rangeShifterXPositionCmd ) + else if( command == rangeShifterXPositionCmd ) { passiveProton -> SetRangeShifterXPosition - (rangeShifterXPositionCmd -> GetNewDoubleValue(newValue));} + (rangeShifterXPositionCmd -> GetNewDoubleValue(newValue));} - else if( command == firstScatteringFoilXSizeCmd ) + else if( command == firstScatteringFoilXSizeCmd ) { passiveProton -> SetFirstScatteringFoilXSize - (firstScatteringFoilXSizeCmd -> GetNewDoubleValue(newValue));} + (firstScatteringFoilXSizeCmd -> GetNewDoubleValue(newValue));} - else if( command == secondScatteringFoilXSizeCmd ) + else if( command == secondScatteringFoilXSizeCmd ) { passiveProton -> SetSecondScatteringFoilXSize - (secondScatteringFoilXSizeCmd -> GetNewDoubleValue(newValue));} + (secondScatteringFoilXSizeCmd -> GetNewDoubleValue(newValue));} - else if( command == outerRadiusStopperCmd ) + else if( command == outerRadiusStopperCmd ) { passiveProton -> SetOuterRadiusStopper( - outerRadiusStopperCmd -> GetNewDoubleValue(newValue));} + outerRadiusStopperCmd -> GetNewDoubleValue(newValue));} - else if( command == innerRadiusFinalCollimatorCmd ) + else if( command == innerRadiusFinalCollimatorCmd ) { passiveProton -> SetInnerRadiusFinalCollimator - (innerRadiusFinalCollimatorCmd -> GetNewDoubleValue(newValue));} + (innerRadiusFinalCollimatorCmd -> GetNewDoubleValue(newValue));} } diff --git a/examples/advanced/human_phantom/GNUmakefile b/examples/advanced/human_phantom/GNUmakefile index 92373ec8a2..0154044005 100644 --- a/examples/advanced/human_phantom/GNUmakefile +++ b/examples/advanced/human_phantom/GNUmakefile @@ -1,7 +1,6 @@ +# $Id: GNUmakefile,v 1.7 2010/01/11 14:33:30 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. -# Author: Giorgio Guerrieri -# Date: 14/06/2005. # -------------------------------------------------------------- name := phantom @@ -9,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif .PHONY: all diff --git a/examples/advanced/human_phantom/History b/examples/advanced/human_phantom/History index 3fb0f5370e..50d596255a 100644 --- a/examples/advanced/human_phantom/History +++ b/examples/advanced/human_phantom/History @@ -1,4 +1,4 @@ -$Id: History,v 1.25 2009/04/06 06:24:37 cirrone Exp $ +$Id: History,v 1.30 2010/11/19 09:00:27 cirrone Exp $ ------------------------------------------------------------------- ========================================================= @@ -18,6 +18,26 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November 19, 2010, G.A.P.Cirrone, tag: human_phantom-V09-03-04 +- Corrected a bug in Event action + +November 16, 2010, J.Allison, tag: human_phantom-V09-03-03 +- phantom.cc: Introduced G4UIExecutive. +- G4HumanPhantomPhysicsList.cc: + o Removed redundant #include "G4MultipleScattering.hh" + +June 4, 2010, J.Perl, tag: human_phantom-V09-03-02 +- Updated vis usage + +June 4, 2010, S. Guatelli, tag: human_phantom-V09-03-01 +- Migration of Physics List + +April 29, 2010, G.Cosmo, tag: human_phantom-V09-03-00 +- Added missing includes of G4PVPlacement, causing compilation error. +- Migrated multiple-scattering process in physics-list to particle-based + (e+/e-) multiple-scattering. +- Corrected commands in some macros... + April 6, 2009, G.A.P.Cirrone, tag: human_phantom-V09-02-02 - GNUmakefile updated diff --git a/examples/advanced/human_phantom/README b/examples/advanced/human_phantom/README index 718b9a8d94..5a368e7227 100644 --- a/examples/advanced/human_phantom/README +++ b/examples/advanced/human_phantom/README @@ -1,4 +1,4 @@ -$Id: README,v 1.14 2009/02/19 14:05:06 gcosmo Exp $ +$Id: README,v 1.16 2010/06/03 23:42:16 cirrone Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,8 +8,10 @@ $Id: README,v 1.14 2009/02/19 14:05:06 gcosmo Exp $ README ----------------------- -Authors: S. Guatelli (guatelli@ge.infn.it) and M. G. Pia (pia@ge.infn.it), - INFN Genova, Italy. +Authors: S. Guatelli (susanna.guatelli@uow.edu.au), G. Guerrieri + and M. G. Pia (pia@ge.infn.it) + +Maintained by: S. Guatelli (susanna.guatelli@uow.edu.au) ------> Introduction diff --git a/examples/advanced/human_phantom/adultHead.mac b/examples/advanced/human_phantom/adultHead.mac index 7436dade94..e9f85563f1 100755 --- a/examples/advanced/human_phantom/adultHead.mac +++ b/examples/advanced/human_phantom/adultHead.mac @@ -68,4 +68,4 @@ # # Run Particles # -#/control/execute run.mac +/control/execute run.mac diff --git a/examples/advanced/human_phantom/adultMIRDFemale.mac b/examples/advanced/human_phantom/adultMIRDFemale.mac index 248d4755d1..dd90798a24 100755 --- a/examples/advanced/human_phantom/adultMIRDFemale.mac +++ b/examples/advanced/human_phantom/adultMIRDFemale.mac @@ -79,12 +79,12 @@ #/control/execute vrmlVis.mac # # Visualize Phantom with OPENGL -#/control/execute openGLVis.mac +/control/execute openGLVis.mac # # Visualize Phantom with DAWN -/control/execute dawnVis.mac +#/control/execute dawnVis.mac # # Run Particles # -#/control/execute run.mac +/control/execute run.mac diff --git a/examples/advanced/human_phantom/adultMIXFemale.mac b/examples/advanced/human_phantom/adultMIXFemale.mac index 47de35625e..3a6ba443c9 100755 --- a/examples/advanced/human_phantom/adultMIXFemale.mac +++ b/examples/advanced/human_phantom/adultMIXFemale.mac @@ -79,12 +79,12 @@ #/control/execute vrmlVis.mac # # Visualize Phantom with OPENGL -#/control/execute openGLVis.mac +/control/execute openGLVis.mac # # Visualize Phantom with DAWN -/control/execute dawnVis.mac +#/control/execute dawnVis.mac # # Run Particles # -#/control/execute run.mac +/control/execute run.mac diff --git a/examples/advanced/human_phantom/adultORNLFemale.mac b/examples/advanced/human_phantom/adultORNLFemale.mac index 5f391ea80a..8a0d80daff 100644 --- a/examples/advanced/human_phantom/adultORNLFemale.mac +++ b/examples/advanced/human_phantom/adultORNLFemale.mac @@ -7,7 +7,6 @@ # # Choose model: ORNLFemale, ORNLMale, MIRD, MIX, MIRDHead, ORNLHead # - /phantom/setPhantomModel ORNLFemale # # Choose Sex of Phantom: Male or Female diff --git a/examples/advanced/human_phantom/dawnVis.mac b/examples/advanced/human_phantom/dawnVis.mac index 552e2b5612..0890accc0b 100644 --- a/examples/advanced/human_phantom/dawnVis.mac +++ b/examples/advanced/human_phantom/dawnVis.mac @@ -8,9 +8,72 @@ /run/verbose 0 /event/verbose 0 /tracking/verbose 0 -/vis/scene/create -/vis/open DAWNFILE -/vis/drawVolume -#/vis/specify -/vis/viewer/flush # +# Use this open statement to create an OpenGL view: +#/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/advanced/human_phantom/include/G4HumanPhantomPhysicsList.hh b/examples/advanced/human_phantom/include/G4HumanPhantomPhysicsList.hh index 5d470365c3..06ebe61474 100644 --- a/examples/advanced/human_phantom/include/G4HumanPhantomPhysicsList.hh +++ b/examples/advanced/human_phantom/include/G4HumanPhantomPhysicsList.hh @@ -23,14 +23,18 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// 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. // +// $Id: G4HumanPhantomPhysicsList.hh,v 1.8 2010/06/03 23:42:16 cirrone Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// Authors: S. Guatelli, G. Guerrieri and M. G. Pia +// +// ********************************** +// * * +// * G4HumanPhantomPhysicsList.hh * +// * * +// ********************************** + #ifndef G4HumanPhantomPhysicsList_h #define G4HumanPhantomPhysicsList_h 1 @@ -53,9 +57,11 @@ protected: void SetCuts(); private: + // These methods construct physics processes and register them void ConstructEM(); }; + #endif diff --git a/examples/advanced/human_phantom/openGLVis.mac b/examples/advanced/human_phantom/openGLVis.mac index bdd6a2b3d0..19e965634b 100644 --- a/examples/advanced/human_phantom/openGLVis.mac +++ b/examples/advanced/human_phantom/openGLVis.mac @@ -1,20 +1,68 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# Macro file for the visualization -# when runing in interactive mode +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# create empty scene +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -/vis/scene/create -/vis/open OGLIX +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -#/vis/viewer/set/viewpointThetaPhi 90 90 deg +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: #/vis/viewer/zoom 2. -# (if too many tracks cause core dump => storeTrajectory 0) -/tracking/storeTrajectory 1 -/vis/scene/add/trajectories -# (if you prefer refreshing each event, comment out next line) +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/advanced/human_phantom/phantom.cc b/examples/advanced/human_phantom/phantom.cc index fc5ee535f8..9b2d621c9a 100644 --- a/examples/advanced/human_phantom/phantom.cc +++ b/examples/advanced/human_phantom/phantom.cc @@ -39,14 +39,16 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4UIsession.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "G4TransportationManager.hh" #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #include "G4HumanPhantomConstruction.hh" #include "G4HumanPhantomPhysicsList.hh" #include "G4HumanPhantomPrimaryGeneratorAction.hh" @@ -77,19 +79,6 @@ int main(int argc,char** argv) analysis->book(); #endif - G4UIsession* session=0; - - if (argc==1) - // Define UI session for interactive mode. - { - // G4UIterminal is a (dumb) terminal -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - } - #ifdef G4VIS_USE G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); @@ -104,20 +93,23 @@ int main(int argc,char** argv) runManager->SetUserAction(new G4HumanPhantomSteppingAction()); - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (session) // Define UI session for interactive mode. + if (argc==1) // Define UI session for interactive mode. { +#ifdef G4UI_USE G4cout << " UI session starts ..." << G4endl; - UI -> ApplyCommand("/control/execute default.mac"); - session -> SessionStart(); - delete session; + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + UImanager->ApplyCommand("/control/execute default.mac"); + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI -> ApplyCommand(command+fileName); + UImanager -> ApplyCommand(command+fileName); } #ifdef G4ANALYSIS_USE diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomEventAction.cc b/examples/advanced/human_phantom/src/G4HumanPhantomEventAction.cc index 1c65f4385b..11312f7bfc 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomEventAction.cc +++ b/examples/advanced/human_phantom/src/G4HumanPhantomEventAction.cc @@ -35,9 +35,6 @@ #include "G4HumanPhantomHit.hh" #include "G4Event.hh" #include "G4EventManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" #include "G4SDManager.hh" #include "G4UnitsTable.hh" @@ -88,7 +85,7 @@ void G4HumanPhantomEventAction::BeginOfEventAction(const G4Event*) energyTotal["logicalLeftScapula"]=0.; energyTotal["logicalRightScapula"]=0.; energyTotal["logicalLeftAdrenal"]=0.; - energyTotal["logicalRightADrenal"]=0.; + energyTotal["logicalRightAdrenal"]=0.; G4SDManager * SDman = G4SDManager::GetSDMpointer(); if (hitCollectionID==-1) { @@ -121,21 +118,6 @@ void G4HumanPhantomEventAction::EndOfEventAction(const G4Event* evt) } totalEventEnergyDeposit(); - - - // Visualization of particle tracks - G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); - - if (G4VVisManager::GetConcreteInstance()) - { - for (G4int i=0; iGetTrajectoryContainer()))[i]); - trj->DrawTrajectory(500); - } - } } void G4HumanPhantomEventAction:: Fill(G4String bodypartName, diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomPhysicsList.cc b/examples/advanced/human_phantom/src/G4HumanPhantomPhysicsList.cc index 1aa2a3086d..9f7ed7befd 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomPhysicsList.cc +++ b/examples/advanced/human_phantom/src/G4HumanPhantomPhysicsList.cc @@ -23,14 +23,21 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Code developed by: +// S. Guatelli, G. Guerrieri and M. G. Pia +// // -// Based on code developed by the undergraduate student G. Guerrieri -// 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. - +// +// ********************************** +// * * +// * G4HumanPhantomPhysicsList.cc * +// * * +// ********************************** +// +// $Id: G4HumanPhantomPhysicsList.cc,v 1.13 2010/11/16 15:28:49 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// #include "G4HumanPhantomPhysicsList.hh" #include "G4ParticleDefinition.hh" @@ -39,16 +46,26 @@ #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" @@ -69,10 +86,10 @@ void G4HumanPhantomPhysicsList::ConstructParticle() // for all particles which you want to use. // This ensures that objects of these particle types will be // created in the program. - G4Geantino::GeantinoDefinition(); ConstructBosons(); ConstructLeptons(); + } void G4HumanPhantomPhysicsList::ConstructBosons() @@ -107,30 +124,58 @@ void G4HumanPhantomPhysicsList::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/human_phantom/src/G4MIRDTestes.cc b/examples/advanced/human_phantom/src/G4MIRDTestes.cc index c17db896ca..4eb0b403bd 100644 --- a/examples/advanced/human_phantom/src/G4MIRDTestes.cc +++ b/examples/advanced/human_phantom/src/G4MIRDTestes.cc @@ -36,6 +36,7 @@ #include "globals.hh" #include "G4SDManager.hh" #include "G4VisAttributes.hh" +#include "G4PVPlacement.hh" G4MIRDTestes::G4MIRDTestes() { diff --git a/examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc b/examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc index 190977f389..a8ce8ed500 100644 --- a/examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc +++ b/examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc @@ -36,6 +36,7 @@ #include "G4PhysicalVolumeStore.hh" #include "G4GDMLParser.hh" #include "globals.hh" +#include "G4PVPlacement.hh" #include "G4SDManager.hh" #include "G4VisAttributes.hh" #include "G4HumanPhantomColour.hh" diff --git a/examples/advanced/human_phantom/src/G4ORNLMaleBodyFactory.cc b/examples/advanced/human_phantom/src/G4ORNLMaleBodyFactory.cc index 5754124dcb..6bb66fc4f1 100644 --- a/examples/advanced/human_phantom/src/G4ORNLMaleBodyFactory.cc +++ b/examples/advanced/human_phantom/src/G4ORNLMaleBodyFactory.cc @@ -36,6 +36,7 @@ #include "G4PhysicalVolumeStore.hh" #include "G4GDMLParser.hh" #include "globals.hh" +#include "G4PVPlacement.hh" #include "G4SDManager.hh" #include "G4VisAttributes.hh" #include "G4HumanPhantomColour.hh" diff --git a/examples/advanced/human_phantom/vrmlVis.mac b/examples/advanced/human_phantom/vrmlVis.mac index 5b234d5706..30914dbf3a 100644 --- a/examples/advanced/human_phantom/vrmlVis.mac +++ b/examples/advanced/human_phantom/vrmlVis.mac @@ -1,13 +1,68 @@ +# Use this open statement to create an OpenGL view: +#/vis/open OGL 600x600-0+0 # -# Macro file for the initialization phase -# when runing in interactive mode +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# Sets some default verbose +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: /vis/open VRML2FILE -/vis/drawVolume -/vis/scene/create -# Attack the current scene handler to the current scene -/vis/sceneHandler/attach -/vis/viewer/flush # +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/advanced/lAr_calorimeter/GNUmakefile b/examples/advanced/lAr_calorimeter/GNUmakefile index f1139ba55c..4a8465c7cd 100644 --- a/examples/advanced/lAr_calorimeter/GNUmakefile +++ b/examples/advanced/lAr_calorimeter/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.11 2009/11/12 12:43:14 ribon Exp $ +# $Id: GNUmakefile,v 1.12 2010/01/11 16:10:42 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif include $(G4INSTALL)/config/architecture.gmk diff --git a/examples/advanced/lAr_calorimeter/History b/examples/advanced/lAr_calorimeter/History index 6298c7caea..6d10fff945 100644 --- a/examples/advanced/lAr_calorimeter/History +++ b/examples/advanced/lAr_calorimeter/History @@ -1,5 +1,5 @@ Hi------------------------------------------------------------------- -$Id: History,v 1.19 2009/11/12 12:43:14 ribon Exp $ +$Id: History,v 1.21 2010/11/16 17:54:39 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,12 @@ $Id: History,v 1.19 2009/11/12 12:43:14 ribon Exp $ Category History file --------------------- +16.11.2010 John Allison (lAr_calorimeter-V09-03-01) + Introduced G4UIExecutive. + +04.06.2010 Joseph Perl (lAr_calorimeter-V09-03-00) + Updated vis usage + 12.11.2009 - A.Ribon (lAr_calorimeter-V09-02-01) Fixed mistake in GNUmakefile, and use QGSP_BIC_EMY as default Physics List (so that it tests the diff --git a/examples/advanced/lAr_calorimeter/lArCal.cc b/examples/advanced/lAr_calorimeter/lArCal.cc index 77d9bd38f3..8c8a571cca 100644 --- a/examples/advanced/lAr_calorimeter/lArCal.cc +++ b/examples/advanced/lAr_calorimeter/lArCal.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: lArCal.cc,v 1.12 2009/11/12 12:43:14 ribon Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: lArCal.cc,v 1.13 2010/11/16 17:54:39 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -39,11 +39,6 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" - -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif #include "Randomize.hh" @@ -51,6 +46,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #include "FCALTestbeamSetup.hh" #include "FCALSteppingVerbose.hh" #include "FCALPrimaryGeneratorAction.hh" @@ -91,18 +90,6 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(new QGSP_BIC_EMY); // QGSP_BIC_EMY //***endLOOKHERE*** - 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 - session = new G4UIterminal; -#endif - } - #ifdef G4VIS_USE // visualization manager G4VisManager* visManager = new G4VisExecutive; @@ -131,24 +118,26 @@ int main(int argc,char** argv) { runManager->Initialize(); // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (session) // Define UI session for interactive mode. - { - // G4UIterminal is a (dumb) terminal. - // UI->ApplyCommand("/control/execute prerunlArcal.mac"); -#ifdef G4UI_USE_XM - // Customize the G4UIXm menubar with a macro file : - UI->ApplyCommand("/control/execute gui.mac"); + if (argc==1) // Define UI session for interactive mode. + { +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute prerunlArcal.mac"); +#endif + if (ui->IsGUI()) + UImanager->ApplyCommand("/control/execute gui.mac"); + 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/advanced/lAr_calorimeter/prerunlArcal.mac b/examples/advanced/lAr_calorimeter/prerunlArcal.mac index 5f1bfc2a7e..2fe07ae427 100644 --- a/examples/advanced/lAr_calorimeter/prerunlArcal.mac +++ b/examples/advanced/lAr_calorimeter/prerunlArcal.mac @@ -22,7 +22,7 @@ /vis/sceneHandler/create DAWNFILE -/vis/sceneHandler/create OGLIX +/vis/sceneHandler/create OGL #/vis/sceneHandler/create RAYX #/vis/viewer/zoom 10. diff --git a/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc b/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc index 8ef81c3215..cdd3b1eb72 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FCALTBEventAction.cc,v 1.13 2006/06/29 16:03:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: FCALTBEventAction.cc,v 1.14 2010/06/06 06:20:49 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -45,9 +45,6 @@ #include "G4EventManager.hh" #include "G4HCofThisEvent.hh" #include "G4VHitsCollection.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4SDManager.hh" #include "G4UImanager.hh" #include "G4ios.hh" diff --git a/examples/advanced/lAr_calorimeter/vis.mac b/examples/advanced/lAr_calorimeter/vis.mac index e3d685750d..aaba4f45b8 100644 --- a/examples/advanced/lAr_calorimeter/vis.mac +++ b/examples/advanced/lAr_calorimeter/vis.mac @@ -9,27 +9,74 @@ # /run/initialize # -# Create empty scene ("world" is default) -/vis/scene/create +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# Create a scene handler for a specific graphics system -# Edit the next line(s) to choose another graphic system +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # - +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -/vis/open DAWNFILE -/vis/open OGLIX +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -# Draw scene +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: /vis/viewer/zoom 10.5 -/vis/viewer/flush # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/event/drawTracks all +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush # # set magnetic field for visualization only, and limit # the step for a proper visualization of the tracjectories diff --git a/examples/advanced/medical_linac/GNUmakefile b/examples/advanced/medical_linac/GNUmakefile index 58783fe447..47eaebb84b 100644 --- a/examples/advanced/medical_linac/GNUmakefile +++ b/examples/advanced/medical_linac/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.7 2009/11/17 12:55:01 cirrone Exp $ +# $Id: GNUmakefile,v 1.8 2010/01/11 16:11:34 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif .PHONY: all diff --git a/examples/advanced/medical_linac/History b/examples/advanced/medical_linac/History index 38717fd69f..8a253e6c26 100644 --- a/examples/advanced/medical_linac/History +++ b/examples/advanced/medical_linac/History @@ -1,4 +1,4 @@ -$Id: History,v 1.27 2009/11/19 09:54:39 cirrone Exp $ +$Id: History,v 1.39 2010/11/30 14:51:57 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,54 @@ and keep track of all category-tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + + +30.11.2010 J.Allison, tag medical_linac-V09-03-11 + - vis.mac: Bug fix: + o /vis/viewer/set/autoRefresh true/false were inverted. + +30.11.2010 J.Allison, tag medical_linac-V09-03-10 + - Introduced G4UIExecutive. + +29.11.2010 C.Andenna, B.Caccia, G.A.P.Cirrone, tag medical_linac-V09-03-09 + - Warings removal + - Corrected and updated the vis.mac file + - Minor revisions + +29.11.2010 C.Andenna, B.Caccia, G.A.P.Cirrone, tag medical_linac-V09-03-08 + - Added a 'results' folder to store simulation outputs + - Minor revisions + +29.11.2010 G.A.P.Cirrone, tag medical_linac-V09-03-07 + - Completed the DICOM files transfer + +29.11.2010 G.A.P.Cirrone, tag medical_linac-V09-03-06 + - Updating directories + +25.11.2010 C.Andenna, B.Caccia, G.A.P.Cirrone, tag medical_linac-V09-03-05 + - Fixed a memory leak + +25.11.2010 C.Andenna, B.Caccia, G.A.P.Cirrone, tag medical_linac-V09-03-04 + - Eliminated the local environmental variables (ML2FILEIN, ML2FILEOUT) + - Added a phantom based on dicom CT images (taken from the extended example DICOM) + - Added the capability to rotate the accelerator (around the X axis and around the Y axis of a fix 90 deg angle) + - Added the capability to translate the phantom + - Modified the format of the output files + +25.11.2010 C. Andenna, B.Caccia, G.A.P.Cirrone, tag medical_linac-V09-03-03 + - Created launches folder + +25.11.2010 G.A.P.Cirrone, tag medical_linac-V09-03-02 + - removed no more useful files and folders + +17.11.2010 J.Allison tag medical_linac-V09-03-01 + - ml2.cc: Introduced G4UIExecutive. + - ML2Ph_BoxInBoxMessenger.cc: Uncommented SetNewValue in order to + resolve external reference. + +03.06.2010 J.Perl tag medical_linac-V09-03-00 + Update vis usage + 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 diff --git a/examples/advanced/medical_linac/Launches/dicom/1.dcm b/examples/advanced/medical_linac/Launches/dicom/1.dcm new file mode 100755 index 0000000000..6fe6345e53 Binary files /dev/null and b/examples/advanced/medical_linac/Launches/dicom/1.dcm differ diff --git a/examples/advanced/medical_linac/Launches/dicom/1.g4dcm b/examples/advanced/medical_linac/Launches/dicom/1.g4dcm new file mode 100755 index 0000000000..e0a4b39c71 --- /dev/null +++ b/examples/advanced/medical_linac/Launches/dicom/1.g4dcm @@ -0,0 +1,33293 @@ +7 +0 Water +1 Air +2 G4_B-100_BONE +3 LungInhale +4 AdiposeTissue +5 Breast +6 TrabecularBone +512 512 1 +-196 196 +-196 196 +80 85 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 5 4 4 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 1 1 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 6 6 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 6 6 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 6 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 3 3 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 3 3 3 4 3 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 4 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 4 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 4 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 4 4 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 4 4 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 3 3 1 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 3 3 3 3 1 1 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 3 3 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 3 3 1 1 1 1 1 1 1 1 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 3 3 1 1 1 1 1 1 1 1 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 3 3 1 1 1 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 4 4 4 4 3 3 3 3 3 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 3 3 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 3 4 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 4 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 6 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 6 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 4 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 3 3 3 1 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 3 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 1 1 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 3 3 3 3 3 1 1 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 3 3 3 3 3 1 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 4 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 3 3 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 3 3 3 3 1 1 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 4 3 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 3 3 4 3 3 3 4 3 3 4 4 4 4 3 3 3 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 3 3 3 4 4 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 6 5 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 6 6 5 5 5 4 4 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 5 5 6 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 6 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 5 6 6 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 5 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 6 6 6 6 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 6 5 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 6 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 5 5 5 5 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 5 5 5 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 6 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 5 5 5 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 5 5 5 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 6 6 6 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 6 6 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 6 6 5 5 5 5 5 5 6 5 5 5 6 6 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 4 4 4 4 3 3 3 4 4 4 3 4 4 4 4 4 4 5 5 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 3 4 4 4 4 4 4 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 6 6 6 6 6 6 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 6 6 6 6 6 6 6 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 6 6 5 5 5 5 5 6 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 4 3 3 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 6 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 6 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 6 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 6 6 5 5 5 5 6 6 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 6 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 6 5 5 5 5 5 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 6 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 5 5 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 6 5 5 5 5 5 5 6 6 5 5 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 5 5 5 5 5 6 6 5 5 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 5 5 6 6 5 5 5 5 5 6 6 6 5 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 1 1 3 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 4 4 4 5 5 6 6 5 5 5 5 5 5 6 6 5 5 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 6 6 6 5 5 5 5 5 5 6 6 6 5 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 6 6 6 5 5 5 5 5 5 6 6 6 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 4 4 3 3 3 4 4 4 4 4 4 4 4 4 5 5 6 6 6 5 5 5 5 5 5 6 6 6 5 5 4 4 4 5 4 4 4 4 5 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 5 5 5 5 5 5 6 6 6 6 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 5 5 5 5 5 5 6 6 6 6 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 6 6 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 4 4 3 3 3 3 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 3 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 3 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 3 3 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +3 4 4 4 4 4 4 4 3 3 3 3 1 1 1 3 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 3 3 3 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +4 4 4 3 3 3 3 1 1 1 1 1 1 1 3 4 4 4 4 3 3 3 3 3 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 +4 3 3 3 3 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 1 1 3 1 1 1 1 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 3 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 1 1 1 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 +3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 +3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 4 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 1 3 1 1 +4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 +4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 3 4 4 4 4 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 +5 4 4 4 4 4 3 3 3 3 3 1 1 1 1 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 +4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 +4 4 4 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 +3 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 +3 3 3 4 4 4 4 4 5 5 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 +3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 +3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 4 +4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 +4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 1 3 1 1 1 3 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 5 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 +4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 +5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 +5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 +4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 +4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 +4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +3 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +3 3 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 6 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 3 3 1 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 +3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 6 6 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 +1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 6 6 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 +1 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 6 6 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 +1 1 1 3 3 3 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 6 6 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 +1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 6 6 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 +1 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 +1 1 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 +1 1 1 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 6 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 +1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 3 1 1 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 +1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 1 1 1 1 3 1 1 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 +1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 6 6 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 3 3 1 1 3 1 1 3 3 1 1 3 3 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 3 +1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 6 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 3 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 1 1 3 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 1 1 1 3 1 1 3 3 3 1 1 3 1 1 1 1 3 3 3 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 1 3 3 3 3 1 3 1 1 3 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 1 1 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 3 3 1 1 3 1 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 3 3 1 1 1 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 1 3 3 1 1 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 1 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 6 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 3 3 1 1 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 1 3 1 1 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 3 1 1 3 3 3 3 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 6 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 3 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 1 3 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 6 6 6 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 3 1 3 3 3 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 3 3 3 3 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 3 3 1 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 1 1 1 1 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 1 1 3 3 1 1 3 3 3 3 3 3 1 1 1 1 3 3 1 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 3 1 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 3 3 1 1 3 3 3 1 1 1 1 1 3 3 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 1 1 1 1 3 3 3 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 1 1 1 3 3 1 3 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 4 4 4 4 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 3 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 1 1 1 1 3 3 3 3 1 1 1 1 1 3 3 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 4 4 5 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 3 3 3 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 3 3 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 1 1 1 1 1 3 3 3 3 3 1 3 3 1 3 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 1 3 3 3 1 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 1 3 3 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 3 3 3 3 1 1 1 1 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 3 1 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 3 1 1 3 1 1 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 3 1 1 3 1 1 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 1 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 3 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 4 4 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 5 5 6 5 5 5 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 3 3 3 3 1 1 1 3 1 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 3 3 1 3 3 3 1 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 3 1 1 1 3 1 1 1 1 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 1 1 3 1 1 3 1 1 1 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 1 3 3 1 3 1 1 1 1 1 1 1 1 3 3 1 3 3 1 1 3 1 3 1 1 3 3 3 3 1 1 1 1 1 3 1 1 1 3 1 1 1 1 3 3 1 1 1 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 4 4 4 3 3 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 1 1 3 3 1 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 1 1 3 1 1 1 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 3 1 1 3 3 1 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 3 3 3 3 1 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 3 3 3 1 1 1 3 3 3 3 3 3 3 3 1 1 3 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 4 4 3 3 3 4 4 4 5 5 5 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 4 4 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 1 3 3 1 3 3 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 1 1 1 3 1 1 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 3 1 1 1 1 1 3 3 3 3 1 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 1 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 3 3 1 1 1 3 1 1 1 3 1 1 1 3 1 3 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 4 4 4 3 3 3 4 4 4 5 5 5 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 4 4 3 3 3 3 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 1 1 3 3 1 1 3 3 3 3 1 3 3 3 1 1 3 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 1 1 3 3 1 1 1 1 1 1 3 3 3 3 3 1 1 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 4 4 4 3 3 3 3 4 4 4 5 5 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 5 4 4 3 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 3 3 3 1 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 3 1 3 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 3 1 3 3 1 3 3 3 1 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 1 3 3 1 1 1 1 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 3 1 1 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 1 1 1 1 3 1 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 3 3 3 1 1 1 1 1 1 3 3 1 3 3 3 3 1 1 3 3 3 1 1 1 1 3 3 1 1 1 3 3 3 1 1 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 3 3 3 3 1 3 1 1 3 3 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 1 1 3 3 1 3 3 3 1 1 1 1 1 3 3 1 1 3 1 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 3 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 3 3 3 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 4 4 5 5 5 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 1 3 3 1 1 1 3 3 3 1 1 1 3 3 1 1 1 3 3 3 3 3 3 1 1 1 3 3 3 3 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 3 3 1 1 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 1 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 1 3 3 3 3 1 1 3 1 1 3 3 1 3 3 3 3 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 1 1 3 3 1 1 3 3 3 3 1 3 3 3 3 1 3 3 1 3 3 3 1 1 1 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 3 3 1 1 1 3 3 3 1 3 3 1 3 3 3 1 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 3 3 1 1 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 1 1 3 1 1 3 3 1 1 1 3 3 1 3 3 3 1 3 3 1 1 3 1 1 3 3 3 1 3 3 1 1 3 3 3 1 1 1 1 3 3 1 1 1 3 3 3 3 1 3 3 3 1 1 1 3 3 3 3 3 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 5 5 5 4 4 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 3 3 1 1 1 1 3 3 3 1 1 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 1 1 3 3 3 1 1 3 3 1 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 3 1 1 1 3 3 3 1 1 1 1 3 3 3 1 1 3 3 1 1 1 3 3 3 3 3 3 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 3 3 3 3 1 1 1 3 3 1 1 1 1 3 1 3 3 3 3 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 3 3 3 3 3 1 3 3 3 1 1 3 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 3 3 1 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 1 3 1 1 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 1 1 3 3 3 3 3 3 1 1 3 3 3 3 1 3 3 1 3 1 1 3 1 1 1 1 3 3 3 3 3 1 1 3 3 3 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 1 1 3 3 1 1 1 1 3 3 1 1 1 3 1 1 1 1 3 3 1 1 3 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 1 3 1 1 3 3 3 3 3 3 1 1 1 3 3 1 3 3 3 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 1 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 3 3 3 1 1 1 3 1 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 1 1 3 3 1 1 1 3 3 1 1 1 1 1 3 3 3 3 1 1 1 3 1 3 3 3 1 1 1 3 1 1 1 1 3 3 3 1 1 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 3 1 1 3 3 3 1 1 3 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 3 1 3 3 3 3 1 1 3 1 1 1 1 1 1 1 3 3 1 1 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 3 1 3 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 3 3 3 1 1 1 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 1 3 1 3 3 1 3 3 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 3 3 1 3 1 1 3 3 1 1 1 3 3 3 1 1 1 1 3 1 1 1 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 1 3 1 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 3 3 3 3 3 3 1 3 1 1 3 3 3 1 1 1 1 1 1 3 1 1 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 3 3 3 3 1 3 1 1 3 1 1 3 1 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 1 1 1 1 3 3 1 1 3 3 3 3 3 3 1 3 1 3 3 3 3 3 3 3 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 1 3 1 3 3 1 1 1 1 3 1 1 1 1 3 3 3 3 1 3 3 3 1 1 1 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 3 1 1 1 3 3 3 3 3 3 3 1 3 1 1 1 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 3 3 3 1 1 1 1 1 3 1 3 1 1 3 3 3 3 1 3 1 1 1 3 3 1 1 3 3 1 1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 3 3 1 1 1 3 3 1 1 1 1 1 3 3 1 1 1 1 3 3 1 3 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 1 3 3 1 3 1 1 1 3 3 1 1 1 1 3 3 3 3 1 1 1 3 3 1 1 1 3 3 1 3 3 1 1 1 3 1 1 1 1 3 1 1 3 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 1 3 3 1 1 3 3 3 1 3 3 1 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 3 3 3 1 1 3 3 1 3 1 1 3 3 1 1 1 1 3 3 3 1 1 1 1 1 3 3 1 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 3 3 3 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 3 1 1 1 1 3 3 1 1 3 3 1 3 1 1 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 1 1 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 3 1 1 3 3 1 1 1 1 3 3 3 1 1 3 1 3 3 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 3 1 1 3 3 1 1 1 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 3 3 3 3 3 1 1 1 3 3 1 1 3 3 3 3 3 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 1 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 3 1 3 3 3 1 1 3 3 3 1 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 3 3 3 1 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 3 1 1 3 1 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 3 3 1 3 1 1 1 3 1 1 3 3 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 3 3 1 1 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 1 3 3 3 1 1 3 3 3 1 1 1 1 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 1 3 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1 1 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 1 1 3 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 3 3 1 1 1 3 3 1 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 1 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 1 1 3 1 1 3 1 1 3 3 3 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 3 3 1 1 3 1 3 3 3 3 3 3 1 3 3 3 3 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 1 1 1 1 1 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 1 3 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 1 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 6 6 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 3 1 1 3 3 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 6 6 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 5 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 3 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 1 3 1 3 3 1 1 1 3 3 3 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 1 3 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 4 4 4 4 5 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 3 3 3 1 3 3 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 5 5 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 3 1 1 1 3 3 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 1 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 4 4 4 4 5 5 6 6 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 3 3 1 1 3 3 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 5 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 1 1 3 3 1 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 6 6 5 5 4 4 4 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000746667 0.00074 0.000753333 0.000726667 0.000746667 0.00074 0.000733333 +0.000733333 0.000753333 0.000773333 0.000753333 0.00076 0.00076 0.000733333 0.000733333 +0.000733333 0.00074 0.000733333 0.00072 0.000726667 0.000733333 0.000713333 0.00072 +0.000746667 0.000753333 0.00076 0.000753333 0.00074 0.000693333 0.000686667 0.000733333 +0.000733333 0.00074 0.000726667 0.00072 0.00072 0.000713333 0.000733333 0.0007 +0.00068 0.000713333 0.000746667 0.000733333 0.000733333 0.000733333 0.000733333 0.00074 +0.000733333 0.000733333 0.000726667 0.000713333 0.000713333 0.000706667 0.00072 0.000713333 +0.0007 0.000706667 0.000726667 0.00074 0.000746667 0.000693333 0.000686667 0.000746667 +0.00074 0.0007 0.000693333 0.0007 0.000693333 0.000686667 0.00072 0.00072 +0.000693333 0.000693333 0.000706667 0.00068 0.000706667 0.000693333 0.000686667 0.000693333 +0.000706667 0.000686667 0.0007 0.000726667 0.000713333 0.000693333 0.00068 0.000666667 +0.0007 0.000693333 0.000693333 0.000686667 0.00066 0.000686667 0.000713333 0.000713333 +0.000673333 0.00066 0.00066 0.000693333 0.000713333 0.000713333 0.000673333 0.000693333 +0.000693333 0.000653333 0.00068 0.00068 0.000686667 0.000673333 0.000666667 0.00068 +0.000693333 0.00068 0.00066 0.000653333 0.000666667 0.000633333 0.00064 0.00066 +0.000666667 0.000673333 0.000686667 0.000686667 0.000693333 0.00068 0.000686667 0.000686667 +0.000666667 0.00068 0.000686667 0.000686667 0.0007 0.000693333 0.000686667 0.000673333 +0.0007 0.00072 0.000686667 0.00068 0.000706667 0.000686667 0.000673333 0.000673333 +0.0007 0.00072 0.000693333 0.00068 0.00068 0.0007 0.0007 0.000713333 +0.0007 0.0007 0.000706667 0.000673333 0.000686667 0.0007 0.000693333 0.000693333 +0.000673333 0.00068 0.000713333 0.000706667 0.000686667 0.00068 0.000686667 0.000686667 +0.000686667 0.0007 0.000686667 0.00072 0.000706667 0.000666667 0.000693333 0.0007 +0.00068 0.0007 0.000693333 0.000686667 0.00068 0.00068 0.0007 0.00068 +0.000666667 0.000666667 0.000673333 0.0007 0.00066 0.00068 0.00068 0.000673333 +0.00068 0.0007 0.00068 0.000686667 0.000706667 0.0007 0.000686667 0.0007 +0.0007 0.000693333 0.000706667 0.000686667 0.000693333 0.000693333 0.000686667 0.0007 +0.0007 0.000693333 0.000693333 0.0007 0.000713333 0.000673333 0.0007 0.000693333 +0.000693333 0.0007 0.0007 0.0007 0.000706667 0.0007 0.000693333 0.000706667 +0.0007 0.000693333 0.000673333 0.00068 0.000726667 0.000706667 0.0007 0.000693333 +0.000666667 0.00066 0.000686667 0.000733333 0.000713333 0.0007 0.000713333 0.000686667 +0.000686667 0.0007 0.000686667 0.000673333 0.000673333 0.000713333 0.000733333 0.000666667 +0.000673333 0.000726667 0.0007 0.000713333 0.000693333 0.000666667 0.000666667 0.0007 +0.000713333 0.00068 0.000666667 0.000686667 0.000706667 0.000693333 0.000666667 0.000686667 +0.0007 0.0007 0.0007 0.0007 0.000686667 0.000686667 0.00068 0.000693333 +0.0007 0.000713333 0.00068 0.000653333 0.000666667 0.000693333 0.000706667 0.0007 +0.000693333 0.000693333 0.000693333 0.000666667 0.000666667 0.0007 0.00068 0.000653333 +0.000666667 0.000686667 0.000706667 0.000693333 0.000686667 0.000693333 0.000693333 0.00066 +0.000653333 0.000686667 0.000693333 0.000646667 0.000666667 0.000693333 0.00068 0.000706667 +0.0007 0.00068 0.00066 0.000666667 0.00068 0.00068 0.00068 0.00068 +0.000693333 0.000646667 0.000633333 0.000686667 0.000686667 0.000693333 0.000686667 0.000673333 +0.0007 0.000686667 0.000673333 0.000673333 0.000686667 0.00068 0.00068 0.0007 +0.0007 0.000713333 0.00066 0.00066 0.000666667 0.00068 0.00068 0.000686667 +0.000693333 0.000706667 0.000706667 0.000693333 0.00068 0.00072 0.000726667 0.0007 +0.000706667 0.000706667 0.000693333 0.00072 0.00072 0.000713333 0.000706667 0.000686667 +0.0007 0.0007 0.0007 0.00072 0.000713333 0.000706667 0.000706667 0.000693333 +0.000713333 0.000746667 0.00072 0.000726667 0.000733333 0.0007 0.000686667 0.000713333 +0.000733333 0.00074 0.000706667 0.000706667 0.000706667 0.00074 0.000733333 0.000706667 +0.00072 0.0007 0.000713333 0.000693333 0.00072 0.00072 0.000746667 0.000766667 +0.000753333 0.000713333 0.0007 0.0007 0.000733333 0.00074 0.000726667 0.000733333 +0.000746667 0.000746667 0.000713333 0.000746667 0.00074 0.000726667 0.00072 0.000746667 +0.000753333 0.00076 0.00076 0.00074 0.000746667 0.0008 0.000806667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.0008 +0.000806667 0.00074 0.00074 0.000753333 0.00072 0.00074 0.000746667 0.000726667 +0.000746667 0.00074 0.000726667 0.000733333 0.00076 0.00076 0.000726667 0.000726667 +0.000726667 0.000733333 0.000733333 0.000726667 0.000706667 0.000733333 0.00074 0.00074 +0.00072 0.000733333 0.000746667 0.000733333 0.00074 0.000713333 0.0007 0.000706667 +0.000706667 0.000733333 0.00072 0.000706667 0.00072 0.000713333 0.000733333 0.000733333 +0.00072 0.0007 0.000706667 0.000713333 0.00072 0.000753333 0.000733333 0.00074 +0.000733333 0.00072 0.00074 0.000706667 0.0007 0.0007 0.0007 0.00072 +0.000706667 0.000713333 0.000726667 0.000713333 0.000753333 0.00074 0.000693333 0.00068 +0.000706667 0.000726667 0.000706667 0.000693333 0.000686667 0.0007 0.000726667 0.000726667 +0.0007 0.000686667 0.000706667 0.000686667 0.0007 0.000706667 0.000693333 0.000693333 +0.000706667 0.0007 0.000686667 0.000686667 0.0007 0.0007 0.0007 0.000666667 +0.000673333 0.000693333 0.000693333 0.0007 0.00066 0.000653333 0.000693333 0.00072 +0.000693333 0.00066 0.00066 0.000686667 0.000693333 0.000713333 0.000686667 0.00068 +0.000693333 0.000666667 0.000666667 0.00068 0.00068 0.000666667 0.000686667 0.00068 +0.000673333 0.000686667 0.00066 0.00066 0.000673333 0.000653333 0.00066 0.000653333 +0.000646667 0.000666667 0.00068 0.00068 0.000693333 0.0007 0.000706667 0.000693333 +0.000666667 0.00066 0.000686667 0.000706667 0.000706667 0.000686667 0.000686667 0.000673333 +0.00068 0.0007 0.000706667 0.000686667 0.00068 0.0007 0.0007 0.000686667 +0.0007 0.000726667 0.000706667 0.000686667 0.000673333 0.00068 0.000686667 0.000713333 +0.0007 0.0007 0.000706667 0.000686667 0.00068 0.000713333 0.0007 0.000686667 +0.00068 0.000673333 0.000713333 0.000726667 0.00068 0.00068 0.000686667 0.000693333 +0.00068 0.000693333 0.000706667 0.00072 0.0007 0.000666667 0.00068 0.0007 +0.00068 0.0007 0.000693333 0.000686667 0.000686667 0.00068 0.000706667 0.000686667 +0.000673333 0.00068 0.000673333 0.000693333 0.000673333 0.000693333 0.00068 0.000666667 +0.000673333 0.0007 0.000686667 0.000693333 0.00072 0.0007 0.000693333 0.0007 +0.000706667 0.000686667 0.000706667 0.000693333 0.000686667 0.00068 0.000673333 0.000693333 +0.00068 0.000686667 0.000706667 0.0007 0.00072 0.00068 0.000693333 0.0007 +0.00068 0.0007 0.000713333 0.0007 0.00072 0.000693333 0.000673333 0.000713333 +0.0007 0.000686667 0.000686667 0.000686667 0.00072 0.000706667 0.0007 0.000693333 +0.000646667 0.000666667 0.000693333 0.0007 0.000693333 0.00068 0.000693333 0.000693333 +0.000686667 0.000686667 0.00068 0.000693333 0.000693333 0.000713333 0.00072 0.000666667 +0.000686667 0.00072 0.000713333 0.00072 0.000693333 0.000673333 0.000686667 0.00072 +0.000706667 0.000686667 0.00068 0.00068 0.000706667 0.000693333 0.000673333 0.000686667 +0.00068 0.000713333 0.000693333 0.000686667 0.000693333 0.000673333 0.000666667 0.000693333 +0.000693333 0.0007 0.000673333 0.000666667 0.000673333 0.000693333 0.000693333 0.000693333 +0.000693333 0.000686667 0.000693333 0.00068 0.000686667 0.000693333 0.000673333 0.000666667 +0.000673333 0.000686667 0.00068 0.000686667 0.000686667 0.00068 0.00068 0.000666667 +0.000653333 0.000686667 0.000693333 0.00066 0.000686667 0.00068 0.00068 0.000713333 +0.000686667 0.000673333 0.000666667 0.000686667 0.000686667 0.000666667 0.000673333 0.000686667 +0.000686667 0.00066 0.00066 0.000693333 0.000686667 0.000673333 0.000673333 0.000686667 +0.000693333 0.000693333 0.000673333 0.000686667 0.000693333 0.000686667 0.000673333 0.000693333 +0.000706667 0.000686667 0.000653333 0.00066 0.00068 0.000686667 0.000673333 0.000686667 +0.000673333 0.000713333 0.000713333 0.000666667 0.00068 0.000726667 0.000706667 0.000686667 +0.0007 0.000686667 0.000693333 0.00074 0.000726667 0.000713333 0.000706667 0.000693333 +0.000706667 0.00068 0.000693333 0.000713333 0.000706667 0.0007 0.000706667 0.000706667 +0.000726667 0.000726667 0.000713333 0.000766667 0.000726667 0.000673333 0.000693333 0.00072 +0.000733333 0.000713333 0.000686667 0.000706667 0.00072 0.00072 0.00072 0.0007 +0.000746667 0.000706667 0.000713333 0.000693333 0.000706667 0.000713333 0.000753333 0.000753333 +0.000713333 0.0007 0.00072 0.000713333 0.000713333 0.00072 0.000726667 0.00074 +0.000733333 0.000726667 0.00072 0.000746667 0.000733333 0.000726667 0.000733333 0.00076 +0.000746667 0.000753333 0.00078 0.00074 0.000753333 0.00078 0.000766667 0.00078 +0.000793333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000793333 0.000766667 +0.00076 0.000766667 0.000766667 0.000746667 0.00072 0.000726667 0.00076 0.00074 +0.000713333 0.00072 0.000726667 0.00074 0.000733333 0.000746667 0.00076 0.000746667 +0.000706667 0.000713333 0.000733333 0.000733333 0.00074 0.000733333 0.000733333 0.000746667 +0.000726667 0.000713333 0.00074 0.000733333 0.000706667 0.0007 0.00072 0.000733333 +0.0007 0.000686667 0.000713333 0.00072 0.000726667 0.00074 0.00074 0.00072 +0.000726667 0.000713333 0.0007 0.000686667 0.000686667 0.00072 0.00072 0.00074 +0.000746667 0.000733333 0.00074 0.000706667 0.0007 0.0007 0.0007 0.000726667 +0.00072 0.000706667 0.000733333 0.00072 0.000713333 0.00072 0.00074 0.000706667 +0.000673333 0.000693333 0.000706667 0.00072 0.000693333 0.0007 0.00072 0.00072 +0.0007 0.000686667 0.000686667 0.000686667 0.00068 0.0007 0.000693333 0.000666667 +0.000673333 0.0007 0.000713333 0.000686667 0.000693333 0.000693333 0.0007 0.00068 +0.000666667 0.000693333 0.000706667 0.000706667 0.00068 0.000653333 0.000666667 0.000693333 +0.000693333 0.00068 0.00066 0.000666667 0.000686667 0.000706667 0.000706667 0.00068 +0.000686667 0.00068 0.000653333 0.000693333 0.000686667 0.00066 0.000686667 0.00068 +0.000673333 0.000673333 0.000673333 0.000666667 0.000653333 0.000653333 0.000673333 0.00066 +0.000646667 0.00066 0.000686667 0.000686667 0.000693333 0.0007 0.000693333 0.00068 +0.00068 0.000653333 0.00068 0.000713333 0.000706667 0.000666667 0.000653333 0.000686667 +0.000686667 0.000673333 0.000713333 0.0007 0.000666667 0.0007 0.0007 0.0007 +0.000693333 0.000713333 0.000713333 0.0007 0.000666667 0.000673333 0.000686667 0.000706667 +0.00072 0.0007 0.0007 0.000706667 0.000693333 0.000713333 0.000693333 0.00068 +0.000673333 0.00068 0.000713333 0.00072 0.000686667 0.00068 0.000666667 0.000706667 +0.0007 0.000673333 0.000706667 0.00072 0.0007 0.000686667 0.00068 0.000713333 +0.000686667 0.000686667 0.000693333 0.00068 0.000686667 0.00068 0.000706667 0.000706667 +0.00068 0.00068 0.000666667 0.000666667 0.000673333 0.000686667 0.000666667 0.000666667 +0.000686667 0.000686667 0.0007 0.0007 0.000713333 0.0007 0.000693333 0.000693333 +0.000713333 0.000686667 0.000686667 0.000706667 0.0007 0.00068 0.00068 0.00068 +0.00066 0.000686667 0.000706667 0.00068 0.000706667 0.00068 0.00068 0.000693333 +0.000673333 0.0007 0.000713333 0.000686667 0.000706667 0.000686667 0.000653333 0.00072 +0.000713333 0.000673333 0.000686667 0.000686667 0.000713333 0.000726667 0.000686667 0.000673333 +0.000673333 0.00068 0.0007 0.00072 0.00072 0.00068 0.000686667 0.000693333 +0.000666667 0.00068 0.000693333 0.0007 0.000713333 0.00072 0.000686667 0.00066 +0.000693333 0.000693333 0.000713333 0.00072 0.00068 0.000686667 0.000693333 0.00072 +0.000706667 0.000713333 0.000673333 0.00068 0.00072 0.000706667 0.00068 0.0007 +0.000686667 0.00072 0.000693333 0.0007 0.000673333 0.000653333 0.000666667 0.000706667 +0.000713333 0.000706667 0.000673333 0.000693333 0.000686667 0.000706667 0.0007 0.000686667 +0.000673333 0.00068 0.000693333 0.0007 0.000706667 0.000693333 0.00066 0.000666667 +0.000686667 0.000686667 0.000673333 0.0007 0.000706667 0.000673333 0.000666667 0.00068 +0.000666667 0.000693333 0.000693333 0.000686667 0.000686667 0.000673333 0.000693333 0.000706667 +0.000666667 0.000653333 0.000673333 0.0007 0.00068 0.00068 0.000673333 0.00068 +0.000666667 0.00066 0.000686667 0.000673333 0.000686667 0.000673333 0.000686667 0.00068 +0.000666667 0.000693333 0.000693333 0.000693333 0.000673333 0.00068 0.000686667 0.000686667 +0.000686667 0.000666667 0.000666667 0.00068 0.0007 0.000673333 0.000653333 0.000673333 +0.000673333 0.000713333 0.000713333 0.000666667 0.00068 0.000713333 0.000706667 0.000673333 +0.000693333 0.000693333 0.0007 0.000706667 0.00072 0.000733333 0.000693333 0.000686667 +0.0007 0.000693333 0.000713333 0.0007 0.000693333 0.0007 0.000706667 0.000706667 +0.00072 0.000713333 0.000733333 0.000753333 0.000686667 0.000686667 0.000726667 0.000706667 +0.000726667 0.0007 0.000693333 0.00072 0.000726667 0.000686667 0.00072 0.000733333 +0.000733333 0.0007 0.0007 0.000706667 0.00072 0.00072 0.00072 0.000726667 +0.000713333 0.00074 0.000746667 0.00072 0.000706667 0.000733333 0.000726667 0.000726667 +0.000706667 0.000726667 0.000746667 0.00074 0.00072 0.000733333 0.000753333 0.000746667 +0.000746667 0.00074 0.000766667 0.000746667 0.000773333 0.000753333 0.00074 0.000746667 +0.00076 0.00076 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000786667 0.000786667 0.000766667 +0.00074 0.000753333 0.000773333 0.00076 0.00076 0.000726667 0.000746667 0.000746667 +0.000693333 0.000706667 0.000753333 0.000746667 0.000713333 0.0007 0.00074 0.000773333 +0.00074 0.000713333 0.000726667 0.000733333 0.000766667 0.000746667 0.00072 0.000733333 +0.000726667 0.00072 0.000713333 0.000726667 0.000706667 0.0007 0.000733333 0.000733333 +0.000733333 0.0007 0.0007 0.000726667 0.000713333 0.000713333 0.00072 0.000713333 +0.00072 0.000713333 0.00072 0.000693333 0.000693333 0.000686667 0.0007 0.00072 +0.000733333 0.000726667 0.000733333 0.000713333 0.000713333 0.000713333 0.0007 0.000706667 +0.000713333 0.000706667 0.000726667 0.00072 0.000693333 0.000693333 0.000733333 0.00074 +0.0007 0.00068 0.000686667 0.000726667 0.00072 0.000706667 0.0007 0.000706667 +0.000693333 0.000686667 0.000686667 0.0007 0.00068 0.000686667 0.000686667 0.000673333 +0.000666667 0.000693333 0.00074 0.000706667 0.000686667 0.000693333 0.00068 0.000686667 +0.00068 0.000686667 0.000693333 0.0007 0.00068 0.000653333 0.00066 0.00068 +0.000673333 0.000673333 0.00068 0.00068 0.000673333 0.000693333 0.000713333 0.000686667 +0.000673333 0.000693333 0.000666667 0.000693333 0.000686667 0.000666667 0.00068 0.000666667 +0.00068 0.00066 0.000673333 0.00068 0.00066 0.000666667 0.00066 0.000666667 +0.000673333 0.00066 0.000666667 0.00068 0.000686667 0.000706667 0.000693333 0.000646667 +0.00066 0.00068 0.00068 0.000693333 0.000693333 0.000673333 0.000646667 0.000673333 +0.000693333 0.00068 0.0007 0.000706667 0.00068 0.000686667 0.000693333 0.000706667 +0.000693333 0.000686667 0.000706667 0.00072 0.000693333 0.00068 0.00068 0.000693333 +0.000726667 0.000706667 0.000686667 0.0007 0.000693333 0.000713333 0.000706667 0.000686667 +0.000673333 0.000686667 0.0007 0.000706667 0.00072 0.000693333 0.000666667 0.000686667 +0.000706667 0.00068 0.00068 0.0007 0.000706667 0.00068 0.00068 0.000706667 +0.000693333 0.000673333 0.000693333 0.00068 0.0007 0.000693333 0.0007 0.000706667 +0.000693333 0.000693333 0.000673333 0.000686667 0.000673333 0.000673333 0.00066 0.000673333 +0.000693333 0.000686667 0.000693333 0.000686667 0.00072 0.000713333 0.000693333 0.000706667 +0.000733333 0.000673333 0.000693333 0.00072 0.000706667 0.0007 0.000693333 0.00068 +0.000666667 0.00068 0.0007 0.000686667 0.000713333 0.00068 0.00066 0.00068 +0.0007 0.000713333 0.0007 0.000693333 0.0007 0.00068 0.00066 0.00072 +0.000726667 0.000693333 0.000693333 0.000686667 0.000713333 0.000713333 0.000666667 0.00066 +0.000666667 0.00068 0.000686667 0.00074 0.000726667 0.000686667 0.000693333 0.000693333 +0.000686667 0.000686667 0.0007 0.000693333 0.00072 0.000706667 0.00068 0.00066 +0.00068 0.000693333 0.00072 0.00072 0.00068 0.000693333 0.00068 0.000693333 +0.00072 0.00072 0.00066 0.000693333 0.000733333 0.0007 0.000686667 0.000706667 +0.000693333 0.000706667 0.000706667 0.000726667 0.000673333 0.00064 0.00068 0.000706667 +0.000706667 0.0007 0.00066 0.000666667 0.000686667 0.000706667 0.000693333 0.000673333 +0.000673333 0.000706667 0.0007 0.000686667 0.0007 0.000706667 0.000653333 0.00066 +0.000693333 0.00068 0.000666667 0.0007 0.0007 0.000673333 0.000666667 0.00068 +0.000673333 0.000693333 0.000673333 0.00066 0.000686667 0.00068 0.000706667 0.000713333 +0.000666667 0.000646667 0.000666667 0.00068 0.000673333 0.000706667 0.00068 0.000666667 +0.000666667 0.00068 0.000686667 0.000653333 0.000673333 0.0007 0.00068 0.00066 +0.000653333 0.00068 0.000686667 0.00066 0.00066 0.000673333 0.000686667 0.000666667 +0.00068 0.000673333 0.000673333 0.000686667 0.0007 0.000673333 0.00068 0.000673333 +0.00068 0.000693333 0.000706667 0.00068 0.000693333 0.00072 0.00068 0.000673333 +0.000706667 0.0007 0.0007 0.00068 0.000726667 0.000733333 0.000673333 0.00068 +0.00068 0.0007 0.000706667 0.0007 0.0007 0.000713333 0.000693333 0.000713333 +0.0007 0.000726667 0.000746667 0.000706667 0.000673333 0.000713333 0.00072 0.0007 +0.000713333 0.000713333 0.000706667 0.000726667 0.000713333 0.000686667 0.00074 0.000746667 +0.000713333 0.000706667 0.0007 0.000713333 0.000733333 0.00072 0.000706667 0.00072 +0.000726667 0.000753333 0.000746667 0.000706667 0.000713333 0.000753333 0.00072 0.000713333 +0.000713333 0.000733333 0.000746667 0.0007 0.000726667 0.000753333 0.000746667 0.00072 +0.00074 0.00072 0.000766667 0.000753333 0.000746667 0.000733333 0.00076 0.00074 +0.00074 0.000746667 0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000786667 0.000766667 0.000746667 0.000766667 +0.00076 0.000746667 0.000773333 0.00076 0.000766667 0.000766667 0.00074 0.000726667 +0.000706667 0.000706667 0.000726667 0.000733333 0.00074 0.000713333 0.000713333 0.00074 +0.00076 0.000746667 0.000726667 0.00072 0.00074 0.000726667 0.00072 0.00072 +0.000706667 0.000726667 0.000726667 0.000726667 0.000706667 0.00072 0.000733333 0.000706667 +0.000733333 0.000733333 0.000733333 0.000706667 0.00068 0.000693333 0.000706667 0.00072 +0.00074 0.000726667 0.00074 0.000706667 0.00074 0.000713333 0.0007 0.0007 +0.00072 0.000726667 0.000726667 0.00072 0.00072 0.000733333 0.00072 0.0007 +0.00072 0.00072 0.00072 0.000733333 0.000706667 0.000706667 0.000726667 0.000733333 +0.00074 0.000713333 0.000693333 0.0007 0.000706667 0.000713333 0.000693333 0.000693333 +0.000713333 0.0007 0.000686667 0.00072 0.0007 0.0007 0.000693333 0.000693333 +0.000693333 0.000686667 0.0007 0.0007 0.000693333 0.000706667 0.00068 0.00068 +0.000673333 0.00068 0.0007 0.000686667 0.000686667 0.00068 0.00068 0.0007 +0.00068 0.000666667 0.00068 0.000693333 0.000673333 0.000673333 0.000706667 0.000706667 +0.00068 0.000673333 0.000686667 0.00068 0.000686667 0.00068 0.000686667 0.000666667 +0.000653333 0.000646667 0.000666667 0.000686667 0.000673333 0.000666667 0.000646667 0.000653333 +0.000686667 0.000686667 0.000646667 0.000653333 0.000693333 0.00072 0.000713333 0.000653333 +0.00064 0.000693333 0.0007 0.00068 0.00068 0.000693333 0.00068 0.000653333 +0.000666667 0.000713333 0.000706667 0.000693333 0.000706667 0.0007 0.000686667 0.000693333 +0.000693333 0.00068 0.000693333 0.00072 0.00072 0.000673333 0.000666667 0.00068 +0.0007 0.000713333 0.000693333 0.00068 0.000686667 0.000706667 0.00072 0.000693333 +0.000686667 0.000686667 0.00068 0.000693333 0.000713333 0.0007 0.000686667 0.000666667 +0.0007 0.000706667 0.00068 0.000693333 0.00072 0.000706667 0.000693333 0.0007 +0.000686667 0.000686667 0.0007 0.000693333 0.000693333 0.00068 0.000686667 0.000706667 +0.000706667 0.0007 0.0007 0.0007 0.000666667 0.000666667 0.000673333 0.00066 +0.000686667 0.000713333 0.0007 0.000673333 0.000713333 0.000726667 0.000706667 0.0007 +0.000726667 0.00066 0.000673333 0.000706667 0.000693333 0.000706667 0.0007 0.00068 +0.000686667 0.000673333 0.000686667 0.000693333 0.00072 0.000693333 0.000673333 0.000686667 +0.00072 0.000706667 0.000706667 0.0007 0.0007 0.00068 0.00066 0.000706667 +0.000713333 0.00072 0.000693333 0.000686667 0.000726667 0.0007 0.000686667 0.000666667 +0.00066 0.000686667 0.000706667 0.000726667 0.000713333 0.000686667 0.000673333 0.00068 +0.0007 0.0007 0.0007 0.000693333 0.000713333 0.000706667 0.0007 0.00068 +0.000686667 0.000713333 0.000733333 0.000713333 0.000686667 0.000693333 0.000673333 0.000693333 +0.000713333 0.0007 0.00066 0.000706667 0.000726667 0.000686667 0.000686667 0.0007 +0.00068 0.000693333 0.000706667 0.000726667 0.00068 0.000646667 0.000686667 0.00068 +0.00068 0.000693333 0.00066 0.000646667 0.000693333 0.0007 0.00068 0.000666667 +0.000666667 0.000713333 0.0007 0.00068 0.0007 0.000706667 0.000646667 0.00066 +0.000673333 0.00066 0.000666667 0.000686667 0.000673333 0.00068 0.000666667 0.000673333 +0.00068 0.000693333 0.000646667 0.00064 0.000693333 0.000686667 0.0007 0.000713333 +0.000686667 0.000653333 0.00066 0.000666667 0.000693333 0.000706667 0.000673333 0.000646667 +0.000673333 0.000706667 0.000686667 0.000666667 0.00068 0.000713333 0.00068 0.000673333 +0.000653333 0.00066 0.000673333 0.000653333 0.000653333 0.000666667 0.000666667 0.000666667 +0.00068 0.00068 0.00068 0.00068 0.00068 0.00068 0.000706667 0.000686667 +0.000693333 0.000686667 0.000693333 0.00068 0.000713333 0.00072 0.000666667 0.000693333 +0.000706667 0.000693333 0.0007 0.0007 0.000746667 0.000713333 0.000686667 0.000686667 +0.000693333 0.000693333 0.000686667 0.000706667 0.000713333 0.0007 0.000693333 0.000726667 +0.00072 0.00074 0.000726667 0.00068 0.000706667 0.000713333 0.000693333 0.000686667 +0.000713333 0.00074 0.0007 0.000713333 0.000713333 0.000713333 0.000746667 0.000733333 +0.000693333 0.000733333 0.0007 0.0007 0.000713333 0.000726667 0.000706667 0.000726667 +0.000726667 0.000726667 0.00072 0.00072 0.000706667 0.00074 0.000706667 0.000713333 +0.000733333 0.000726667 0.000726667 0.0007 0.00076 0.00076 0.000733333 0.000713333 +0.00074 0.000746667 0.000766667 0.00076 0.000733333 0.000753333 0.000753333 0.000726667 +0.00076 0.00074 0.000753333 0.000786667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000746667 0.00072 0.00072 0.0007 0.000753333 +0.000766667 0.00076 0.000773333 0.000753333 0.000746667 0.00076 0.000773333 0.000746667 +0.00072 0.00072 0.00072 0.000706667 0.00072 0.000726667 0.00072 0.000713333 +0.000733333 0.000733333 0.00074 0.000726667 0.000713333 0.00072 0.00074 0.000726667 +0.00072 0.00072 0.000713333 0.000733333 0.000713333 0.000713333 0.00072 0.000706667 +0.000706667 0.000713333 0.00074 0.00072 0.00072 0.000706667 0.000693333 0.000713333 +0.00072 0.000726667 0.00074 0.00072 0.00074 0.000733333 0.000733333 0.0007 +0.00068 0.000706667 0.000726667 0.000726667 0.00072 0.00072 0.000733333 0.000706667 +0.000713333 0.00072 0.000726667 0.000733333 0.000706667 0.000693333 0.000713333 0.000713333 +0.000733333 0.00072 0.000706667 0.00068 0.000666667 0.0007 0.0007 0.000693333 +0.000706667 0.00072 0.000686667 0.000713333 0.000706667 0.0007 0.000686667 0.000666667 +0.000693333 0.000706667 0.00068 0.00068 0.000686667 0.000706667 0.0007 0.000673333 +0.000673333 0.000673333 0.000693333 0.000693333 0.00068 0.000686667 0.000666667 0.00068 +0.000693333 0.00068 0.00068 0.000693333 0.000673333 0.000666667 0.000673333 0.000706667 +0.00072 0.000686667 0.000706667 0.000673333 0.000673333 0.00068 0.000666667 0.00068 +0.00064 0.00064 0.00066 0.000673333 0.000686667 0.000686667 0.000653333 0.000633333 +0.00066 0.0007 0.000666667 0.000653333 0.000693333 0.0007 0.0007 0.000673333 +0.000633333 0.000673333 0.000693333 0.00068 0.000673333 0.00068 0.000693333 0.000653333 +0.00066 0.00072 0.000713333 0.000686667 0.0007 0.000706667 0.00072 0.000693333 +0.00068 0.000686667 0.00068 0.000686667 0.000713333 0.000686667 0.000686667 0.000706667 +0.000686667 0.000706667 0.000706667 0.000693333 0.00068 0.000693333 0.000713333 0.0007 +0.0007 0.000686667 0.000693333 0.000693333 0.000686667 0.0007 0.000713333 0.00068 +0.000713333 0.000706667 0.000686667 0.000693333 0.0007 0.000706667 0.000706667 0.000693333 +0.000673333 0.00068 0.000706667 0.0007 0.000673333 0.000666667 0.00068 0.000706667 +0.000693333 0.00068 0.0007 0.000693333 0.00066 0.000666667 0.00068 0.000653333 +0.000686667 0.00072 0.000706667 0.00068 0.000706667 0.000713333 0.000713333 0.000673333 +0.000713333 0.00068 0.00066 0.00068 0.000693333 0.000693333 0.000693333 0.000686667 +0.0007 0.000686667 0.000693333 0.000693333 0.000713333 0.000693333 0.000673333 0.000686667 +0.000706667 0.0007 0.000706667 0.0007 0.0007 0.000693333 0.00066 0.0007 +0.000713333 0.000706667 0.000693333 0.000686667 0.00072 0.0007 0.000693333 0.000666667 +0.00066 0.00068 0.000713333 0.00072 0.000713333 0.0007 0.000666667 0.000673333 +0.000693333 0.0007 0.0007 0.00068 0.0007 0.0007 0.0007 0.000693333 +0.0007 0.0007 0.000726667 0.0007 0.000686667 0.000706667 0.000693333 0.0007 +0.000693333 0.000686667 0.000666667 0.00072 0.00072 0.00068 0.000693333 0.000686667 +0.000666667 0.0007 0.0007 0.00072 0.000686667 0.000666667 0.000693333 0.00068 +0.000693333 0.00068 0.000666667 0.000666667 0.0007 0.000693333 0.000673333 0.000673333 +0.000666667 0.0007 0.0007 0.000693333 0.000693333 0.000686667 0.00066 0.000646667 +0.000653333 0.000673333 0.000686667 0.000693333 0.00068 0.000673333 0.000666667 0.00066 +0.00068 0.0007 0.000646667 0.000666667 0.000693333 0.000666667 0.000693333 0.0007 +0.00068 0.000653333 0.00066 0.00068 0.000706667 0.000686667 0.000666667 0.000653333 +0.00068 0.0007 0.000686667 0.000686667 0.000673333 0.000686667 0.000693333 0.00068 +0.000653333 0.000653333 0.000673333 0.000673333 0.000666667 0.000666667 0.000666667 0.00068 +0.000686667 0.00068 0.0007 0.000686667 0.000666667 0.00068 0.000673333 0.00068 +0.000693333 0.000686667 0.000686667 0.000706667 0.00072 0.0007 0.000686667 0.000713333 +0.000693333 0.000693333 0.000693333 0.000713333 0.000726667 0.000693333 0.000706667 0.000693333 +0.000706667 0.000693333 0.000693333 0.000726667 0.000706667 0.000686667 0.000706667 0.00072 +0.000733333 0.000733333 0.0007 0.000693333 0.000733333 0.000693333 0.000673333 0.000706667 +0.000706667 0.000726667 0.000693333 0.00072 0.000733333 0.000726667 0.000706667 0.000706667 +0.0007 0.000733333 0.00072 0.000706667 0.000713333 0.000726667 0.0007 0.000733333 +0.00074 0.000706667 0.000706667 0.00072 0.000713333 0.00074 0.000706667 0.00072 +0.00074 0.00072 0.000733333 0.00074 0.000766667 0.00076 0.000726667 0.000713333 +0.000726667 0.000746667 0.000773333 0.000773333 0.00074 0.000746667 0.000733333 0.000746667 +0.000746667 0.000726667 0.00076 0.000746667 0.000766667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000753333 0.00078 0.000746667 0.00072 0.000713333 0.000713333 0.00072 +0.000733333 0.00076 0.000766667 0.00076 0.000753333 0.000746667 0.000773333 0.000773333 +0.000753333 0.000733333 0.00072 0.0007 0.0007 0.000733333 0.000726667 0.000706667 +0.0007 0.000726667 0.00072 0.00072 0.00072 0.000733333 0.000746667 0.000713333 +0.000733333 0.00074 0.00072 0.000733333 0.000713333 0.00072 0.000706667 0.000713333 +0.000706667 0.000693333 0.00072 0.000733333 0.00074 0.00072 0.000693333 0.000706667 +0.000706667 0.00072 0.000713333 0.0007 0.000733333 0.000726667 0.000746667 0.00074 +0.00068 0.000686667 0.000713333 0.00072 0.00072 0.00072 0.000733333 0.00072 +0.00072 0.000726667 0.000713333 0.000713333 0.0007 0.000693333 0.0007 0.00072 +0.000706667 0.0007 0.000706667 0.0007 0.000673333 0.000693333 0.000693333 0.0007 +0.000706667 0.000726667 0.0007 0.000693333 0.000706667 0.000693333 0.000686667 0.000673333 +0.00068 0.0007 0.000686667 0.000693333 0.000686667 0.000673333 0.0007 0.000693333 +0.000686667 0.000673333 0.00068 0.000686667 0.000686667 0.000693333 0.000673333 0.000666667 +0.00068 0.000686667 0.000673333 0.000686667 0.000673333 0.000686667 0.00068 0.000686667 +0.000706667 0.000706667 0.0007 0.00066 0.000653333 0.000686667 0.00066 0.000673333 +0.000653333 0.000646667 0.00066 0.000666667 0.000693333 0.000686667 0.00066 0.000646667 +0.000653333 0.00066 0.000666667 0.000666667 0.00068 0.00068 0.000686667 0.00068 +0.000646667 0.000673333 0.000693333 0.000673333 0.00066 0.00068 0.000693333 0.000686667 +0.000673333 0.000693333 0.000713333 0.000706667 0.000686667 0.00068 0.00072 0.000706667 +0.00068 0.000686667 0.00068 0.000693333 0.000713333 0.000713333 0.000713333 0.000713333 +0.0007 0.000693333 0.000686667 0.00068 0.000686667 0.000686667 0.000713333 0.000713333 +0.0007 0.00068 0.000706667 0.000706667 0.0007 0.000706667 0.000713333 0.000686667 +0.0007 0.000686667 0.00068 0.0007 0.000686667 0.000693333 0.000693333 0.000693333 +0.000686667 0.000673333 0.0007 0.000693333 0.000673333 0.00068 0.000673333 0.000686667 +0.00068 0.00068 0.000693333 0.000693333 0.000653333 0.000666667 0.00068 0.000673333 +0.000686667 0.000713333 0.0007 0.00068 0.000693333 0.000706667 0.000713333 0.000666667 +0.00072 0.000693333 0.000653333 0.00068 0.000686667 0.000686667 0.0007 0.0007 +0.000693333 0.000686667 0.000686667 0.000673333 0.000706667 0.000686667 0.000666667 0.000673333 +0.0007 0.0007 0.000693333 0.000686667 0.000693333 0.000693333 0.000666667 0.000726667 +0.00072 0.000686667 0.000706667 0.000693333 0.0007 0.000706667 0.000686667 0.00066 +0.00066 0.000666667 0.000693333 0.000726667 0.000713333 0.000686667 0.000666667 0.000673333 +0.000706667 0.000706667 0.0007 0.000673333 0.000693333 0.000706667 0.000693333 0.000693333 +0.000713333 0.00068 0.000693333 0.000686667 0.000686667 0.000726667 0.000706667 0.000686667 +0.000666667 0.000693333 0.00068 0.000726667 0.000713333 0.000673333 0.00068 0.000666667 +0.00068 0.000713333 0.000673333 0.0007 0.00068 0.000666667 0.000686667 0.000693333 +0.000713333 0.00066 0.00066 0.000686667 0.0007 0.0007 0.000693333 0.00066 +0.000673333 0.00068 0.000693333 0.000706667 0.000686667 0.00068 0.000666667 0.000653333 +0.000673333 0.000686667 0.0007 0.0007 0.000686667 0.00066 0.000673333 0.000666667 +0.000686667 0.000693333 0.000653333 0.000686667 0.00068 0.000673333 0.00072 0.000686667 +0.000666667 0.000653333 0.000653333 0.000666667 0.000706667 0.000673333 0.000666667 0.00068 +0.00068 0.00068 0.0007 0.0007 0.000666667 0.000653333 0.000693333 0.000673333 +0.000653333 0.000653333 0.000666667 0.000693333 0.000673333 0.000666667 0.00068 0.0007 +0.000666667 0.000673333 0.000706667 0.000686667 0.000666667 0.000686667 0.000666667 0.00068 +0.000673333 0.000673333 0.000686667 0.0007 0.000713333 0.00068 0.000693333 0.0007 +0.0007 0.000706667 0.00068 0.0007 0.000693333 0.0007 0.000713333 0.000693333 +0.000713333 0.000706667 0.000713333 0.000713333 0.000686667 0.000686667 0.000706667 0.000706667 +0.00072 0.000713333 0.0007 0.00072 0.000726667 0.00068 0.0007 0.000726667 +0.000686667 0.000706667 0.000706667 0.000726667 0.000753333 0.00072 0.000686667 0.000713333 +0.000713333 0.000726667 0.000733333 0.00072 0.000733333 0.000726667 0.0007 0.000733333 +0.000746667 0.000726667 0.00072 0.000706667 0.000713333 0.000726667 0.000726667 0.00072 +0.00072 0.00074 0.00074 0.000746667 0.00074 0.000753333 0.00074 0.000713333 +0.0007 0.000746667 0.000773333 0.000753333 0.000726667 0.00072 0.000726667 0.00076 +0.000713333 0.000746667 0.000766667 0.000753333 0.000746667 0.000773333 0.00078 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000813333 0.000773333 0.00072 0.000753333 0.00076 0.00074 0.000733333 0.000733333 +0.000706667 0.000726667 0.000746667 0.000746667 0.00076 0.000746667 0.00076 0.000766667 +0.00076 0.000753333 0.000726667 0.000746667 0.000706667 0.0007 0.000733333 0.00074 +0.000713333 0.000706667 0.0007 0.00072 0.000726667 0.00072 0.000746667 0.00072 +0.000726667 0.000746667 0.00074 0.00074 0.000713333 0.00072 0.000713333 0.00074 +0.000726667 0.000686667 0.000713333 0.00072 0.000713333 0.000706667 0.000693333 0.0007 +0.000693333 0.00072 0.000726667 0.0007 0.00072 0.000726667 0.000733333 0.000746667 +0.00074 0.000713333 0.000693333 0.0007 0.000713333 0.00072 0.00072 0.000713333 +0.000713333 0.000733333 0.000713333 0.0007 0.0007 0.000706667 0.0007 0.00072 +0.000693333 0.0007 0.0007 0.000686667 0.000706667 0.000713333 0.000686667 0.000693333 +0.000706667 0.0007 0.000706667 0.000693333 0.000693333 0.000693333 0.000686667 0.000693333 +0.000686667 0.000673333 0.000666667 0.000686667 0.000693333 0.000653333 0.00068 0.0007 +0.0007 0.000686667 0.000666667 0.000673333 0.000693333 0.000706667 0.000693333 0.000686667 +0.000666667 0.000686667 0.000673333 0.00068 0.000686667 0.000693333 0.0007 0.00068 +0.00066 0.000693333 0.0007 0.000686667 0.00066 0.00068 0.000666667 0.000646667 +0.000653333 0.000653333 0.000653333 0.000673333 0.000686667 0.000673333 0.00066 0.00064 +0.000646667 0.000653333 0.00066 0.0007 0.0007 0.000693333 0.000673333 0.000673333 +0.000686667 0.000686667 0.000693333 0.00068 0.000666667 0.0007 0.000686667 0.000693333 +0.00068 0.00068 0.000706667 0.000713333 0.0007 0.000686667 0.000686667 0.000706667 +0.000706667 0.00068 0.000666667 0.000686667 0.000706667 0.000713333 0.0007 0.000693333 +0.000693333 0.000686667 0.000666667 0.000666667 0.000693333 0.0007 0.00072 0.00072 +0.000706667 0.00068 0.0007 0.000693333 0.000713333 0.000686667 0.000686667 0.000693333 +0.00068 0.000693333 0.000693333 0.000706667 0.000713333 0.0007 0.000666667 0.000693333 +0.0007 0.000666667 0.0007 0.000693333 0.000666667 0.000673333 0.000673333 0.00068 +0.00068 0.0007 0.000693333 0.00068 0.000666667 0.00066 0.000673333 0.000686667 +0.00068 0.000693333 0.0007 0.000693333 0.000693333 0.000706667 0.0007 0.000686667 +0.000733333 0.000693333 0.000646667 0.00068 0.000686667 0.000706667 0.000706667 0.00068 +0.000693333 0.00068 0.0007 0.000686667 0.0007 0.000673333 0.000673333 0.000673333 +0.000706667 0.00072 0.000686667 0.00068 0.000693333 0.0007 0.000693333 0.00072 +0.000693333 0.000686667 0.000706667 0.00068 0.000686667 0.00072 0.0007 0.000666667 +0.000666667 0.00066 0.000686667 0.00072 0.00072 0.000693333 0.00068 0.00066 +0.000693333 0.000713333 0.000686667 0.00066 0.000693333 0.000713333 0.0007 0.000706667 +0.000706667 0.00068 0.000693333 0.000673333 0.000693333 0.000713333 0.000693333 0.00068 +0.000666667 0.000686667 0.00068 0.000726667 0.0007 0.00068 0.00068 0.000673333 +0.000686667 0.000706667 0.000673333 0.000693333 0.000673333 0.000646667 0.000686667 0.0007 +0.000693333 0.00066 0.00066 0.000666667 0.000686667 0.000693333 0.0007 0.000646667 +0.00068 0.000693333 0.00068 0.000693333 0.000673333 0.00066 0.000653333 0.000686667 +0.0007 0.000673333 0.000706667 0.000693333 0.000673333 0.000646667 0.000673333 0.000693333 +0.000686667 0.000693333 0.000666667 0.00068 0.000673333 0.00068 0.000713333 0.00066 +0.00066 0.000673333 0.000666667 0.00068 0.0007 0.00068 0.000673333 0.00068 +0.000673333 0.000673333 0.0007 0.000686667 0.000666667 0.000646667 0.000686667 0.000673333 +0.000653333 0.00066 0.00068 0.000693333 0.000673333 0.00066 0.00068 0.0007 +0.00066 0.000666667 0.000693333 0.000673333 0.00068 0.000693333 0.000673333 0.000673333 +0.00066 0.00068 0.000666667 0.000693333 0.000713333 0.000666667 0.000686667 0.000686667 +0.000713333 0.000706667 0.000666667 0.00068 0.000686667 0.000706667 0.000706667 0.000693333 +0.00072 0.00072 0.0007 0.000686667 0.0007 0.000706667 0.000713333 0.0007 +0.000706667 0.000706667 0.000706667 0.00072 0.0007 0.0007 0.00072 0.000713333 +0.000686667 0.0007 0.000726667 0.00072 0.00074 0.000713333 0.000693333 0.000706667 +0.000726667 0.00072 0.000726667 0.000713333 0.000746667 0.000733333 0.000713333 0.000733333 +0.00074 0.000713333 0.00072 0.00072 0.000726667 0.000713333 0.000726667 0.000713333 +0.000733333 0.00074 0.000733333 0.000753333 0.00074 0.000746667 0.00072 0.000706667 +0.000706667 0.000773333 0.000766667 0.000726667 0.00072 0.000726667 0.00074 0.000746667 +0.000733333 0.00076 0.000746667 0.000753333 0.000753333 0.00074 0.000766667 0.00078 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000793333 +0.00076 0.000766667 0.000766667 0.000753333 0.000766667 0.000766667 0.000746667 0.00074 +0.00072 0.0007 0.0007 0.000726667 0.000753333 0.000753333 0.00074 0.000726667 +0.00074 0.000766667 0.000746667 0.00076 0.00074 0.0007 0.000726667 0.00076 +0.000733333 0.000706667 0.000693333 0.000686667 0.00072 0.0007 0.00072 0.00072 +0.000706667 0.000713333 0.000733333 0.00074 0.00074 0.000733333 0.000706667 0.000726667 +0.000726667 0.000713333 0.000713333 0.0007 0.0007 0.000686667 0.000686667 0.0007 +0.000693333 0.000706667 0.000726667 0.00072 0.000713333 0.00072 0.000726667 0.00072 +0.000753333 0.000773333 0.00072 0.00068 0.000686667 0.000706667 0.000706667 0.000706667 +0.000693333 0.000706667 0.000733333 0.00072 0.000713333 0.00072 0.0007 0.000706667 +0.0007 0.000706667 0.00072 0.0007 0.000693333 0.0007 0.000693333 0.000693333 +0.0007 0.00068 0.000693333 0.000713333 0.0007 0.000686667 0.000693333 0.000693333 +0.000693333 0.000673333 0.00066 0.000666667 0.000693333 0.000673333 0.000653333 0.00068 +0.00068 0.0007 0.000686667 0.000666667 0.00066 0.000693333 0.000713333 0.0007 +0.00066 0.00068 0.000686667 0.00068 0.000686667 0.000673333 0.000686667 0.000693333 +0.000673333 0.000693333 0.000686667 0.000706667 0.000673333 0.000666667 0.000666667 0.000633333 +0.00064 0.000633333 0.000646667 0.000673333 0.000673333 0.000673333 0.000686667 0.00066 +0.000646667 0.000653333 0.000666667 0.00068 0.000706667 0.000706667 0.00068 0.000666667 +0.000693333 0.000686667 0.000673333 0.00068 0.000673333 0.000693333 0.00068 0.000686667 +0.00068 0.00066 0.0007 0.0007 0.000706667 0.00072 0.00068 0.000686667 +0.000686667 0.000673333 0.000673333 0.000666667 0.000686667 0.0007 0.000686667 0.00068 +0.0007 0.000686667 0.00068 0.000666667 0.000673333 0.000693333 0.000706667 0.000713333 +0.000706667 0.000706667 0.000686667 0.00068 0.000713333 0.000686667 0.000686667 0.0007 +0.000666667 0.000693333 0.000693333 0.000693333 0.000713333 0.0007 0.000673333 0.00068 +0.000693333 0.000666667 0.000693333 0.000706667 0.00068 0.00068 0.00068 0.000693333 +0.000706667 0.0007 0.00068 0.00068 0.00068 0.000666667 0.00068 0.000693333 +0.000673333 0.000693333 0.00072 0.0007 0.0007 0.000693333 0.000686667 0.0007 +0.000726667 0.00068 0.000653333 0.000673333 0.000693333 0.00072 0.0007 0.00066 +0.000713333 0.000686667 0.0007 0.000706667 0.000706667 0.000666667 0.000653333 0.000673333 +0.000686667 0.000706667 0.0007 0.000686667 0.00068 0.000693333 0.000693333 0.000706667 +0.00068 0.000686667 0.000693333 0.00068 0.000693333 0.000713333 0.000706667 0.00068 +0.000666667 0.000673333 0.000686667 0.000713333 0.000726667 0.000693333 0.00068 0.00066 +0.000673333 0.000713333 0.000686667 0.000653333 0.0007 0.000713333 0.0007 0.000713333 +0.000693333 0.000686667 0.000693333 0.000666667 0.000706667 0.0007 0.000686667 0.000693333 +0.00068 0.000666667 0.000673333 0.000713333 0.00068 0.000673333 0.0007 0.000693333 +0.000693333 0.000693333 0.000686667 0.0007 0.00066 0.000653333 0.000706667 0.000693333 +0.00068 0.000686667 0.000673333 0.00066 0.000686667 0.000706667 0.000686667 0.000646667 +0.0007 0.000706667 0.000653333 0.000666667 0.000673333 0.000653333 0.000646667 0.0007 +0.0007 0.000646667 0.000686667 0.000686667 0.00066 0.00064 0.000653333 0.00068 +0.000673333 0.000666667 0.00066 0.00068 0.00068 0.00068 0.00068 0.000653333 +0.00066 0.000666667 0.000673333 0.000693333 0.0007 0.00068 0.00068 0.000686667 +0.000693333 0.00068 0.000686667 0.00068 0.000666667 0.000653333 0.00068 0.000666667 +0.000673333 0.000673333 0.000666667 0.00066 0.00068 0.000646667 0.000673333 0.00068 +0.000666667 0.00068 0.00068 0.000666667 0.000686667 0.000686667 0.000686667 0.000666667 +0.000673333 0.00068 0.000673333 0.000706667 0.0007 0.000666667 0.0007 0.000693333 +0.0007 0.000686667 0.00068 0.0007 0.000693333 0.000713333 0.0007 0.000713333 +0.000713333 0.00072 0.000693333 0.000686667 0.000713333 0.000713333 0.000726667 0.00072 +0.00072 0.0007 0.0007 0.000693333 0.000693333 0.000726667 0.0007 0.0007 +0.000693333 0.000713333 0.00074 0.000713333 0.00072 0.000706667 0.000693333 0.000686667 +0.000726667 0.000713333 0.00074 0.000733333 0.000726667 0.000713333 0.000733333 0.000733333 +0.00072 0.000693333 0.000706667 0.000726667 0.000726667 0.0007 0.00072 0.000726667 +0.000733333 0.000733333 0.000733333 0.000753333 0.000733333 0.000733333 0.0007 0.000713333 +0.000733333 0.000766667 0.00074 0.00072 0.000733333 0.000733333 0.000746667 0.00074 +0.00076 0.000753333 0.000753333 0.000773333 0.000746667 0.00072 0.000753333 0.000753333 +0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000733333 0.00074 +0.000726667 0.000726667 0.000773333 0.000773333 0.00076 0.00076 0.00076 0.00076 +0.000746667 0.00072 0.0007 0.0007 0.000726667 0.00074 0.00074 0.00072 +0.000713333 0.00074 0.00074 0.000746667 0.000766667 0.000746667 0.000713333 0.000706667 +0.00072 0.000726667 0.000726667 0.000693333 0.0007 0.000713333 0.00072 0.000706667 +0.000706667 0.000706667 0.00072 0.000713333 0.000746667 0.00076 0.000746667 0.00072 +0.000686667 0.000726667 0.000733333 0.000693333 0.000706667 0.000706667 0.000706667 0.000706667 +0.00072 0.000706667 0.000706667 0.000726667 0.00072 0.000706667 0.000733333 0.00072 +0.00072 0.00076 0.000766667 0.000713333 0.000686667 0.000693333 0.000706667 0.000706667 +0.00072 0.000706667 0.00072 0.000706667 0.000713333 0.00072 0.000713333 0.000693333 +0.000713333 0.000713333 0.000706667 0.000706667 0.000686667 0.000673333 0.000686667 0.000706667 +0.000693333 0.00066 0.00068 0.000713333 0.00072 0.0007 0.000693333 0.000706667 +0.00072 0.000686667 0.00066 0.000666667 0.000673333 0.000673333 0.000666667 0.00068 +0.000673333 0.0007 0.00072 0.00068 0.000646667 0.00066 0.000713333 0.000713333 +0.000686667 0.000693333 0.000693333 0.00068 0.000686667 0.00068 0.00068 0.000686667 +0.000693333 0.000686667 0.000666667 0.000693333 0.0007 0.000666667 0.000646667 0.000633333 +0.000653333 0.000653333 0.000646667 0.00066 0.000653333 0.00068 0.000706667 0.000693333 +0.000646667 0.00064 0.000673333 0.000666667 0.000686667 0.000693333 0.000686667 0.000693333 +0.000673333 0.000666667 0.000653333 0.000653333 0.000673333 0.000666667 0.000686667 0.00068 +0.00068 0.000653333 0.000693333 0.000713333 0.000706667 0.000706667 0.000693333 0.000686667 +0.00068 0.000686667 0.000693333 0.000686667 0.00068 0.000693333 0.0007 0.000706667 +0.000686667 0.000693333 0.0007 0.00068 0.000673333 0.00068 0.000706667 0.000706667 +0.000706667 0.000706667 0.000693333 0.0007 0.0007 0.000693333 0.000693333 0.000693333 +0.00068 0.000693333 0.000686667 0.000686667 0.0007 0.0007 0.000706667 0.00068 +0.00068 0.000673333 0.000693333 0.000706667 0.000686667 0.000686667 0.000673333 0.000686667 +0.000713333 0.000686667 0.00066 0.00068 0.000673333 0.00068 0.000693333 0.000686667 +0.000666667 0.000693333 0.000713333 0.000706667 0.000713333 0.000693333 0.000693333 0.0007 +0.0007 0.00066 0.000653333 0.00068 0.000693333 0.00072 0.0007 0.000673333 +0.000713333 0.00068 0.000693333 0.000693333 0.000726667 0.00068 0.00064 0.00068 +0.000693333 0.00068 0.000693333 0.000686667 0.00068 0.000693333 0.000693333 0.000713333 +0.0007 0.00066 0.000686667 0.000706667 0.0007 0.000706667 0.000693333 0.00068 +0.00066 0.000666667 0.000686667 0.000713333 0.000713333 0.000686667 0.000666667 0.000653333 +0.000686667 0.00072 0.0007 0.000666667 0.0007 0.000693333 0.000693333 0.000713333 +0.000693333 0.000686667 0.000693333 0.00068 0.000706667 0.00068 0.000686667 0.000706667 +0.000686667 0.00066 0.00068 0.000713333 0.000693333 0.00068 0.000706667 0.000693333 +0.000693333 0.00068 0.000693333 0.000693333 0.000653333 0.00068 0.00072 0.000673333 +0.000686667 0.000693333 0.00068 0.000673333 0.000693333 0.000713333 0.000666667 0.000653333 +0.000706667 0.000686667 0.000653333 0.000673333 0.000673333 0.00066 0.000666667 0.000686667 +0.000686667 0.000646667 0.00068 0.00068 0.000666667 0.000646667 0.00066 0.000673333 +0.000693333 0.000666667 0.000666667 0.000706667 0.00068 0.000666667 0.000666667 0.000673333 +0.000666667 0.000673333 0.000673333 0.00068 0.00068 0.00068 0.00068 0.000686667 +0.00068 0.000666667 0.00066 0.00068 0.000673333 0.000666667 0.000673333 0.000653333 +0.000686667 0.00068 0.000666667 0.000666667 0.00068 0.000653333 0.000666667 0.000673333 +0.000686667 0.00068 0.000673333 0.000673333 0.000706667 0.00068 0.000686667 0.00066 +0.000686667 0.000686667 0.000693333 0.000706667 0.00068 0.000693333 0.0007 0.00068 +0.000693333 0.000693333 0.0007 0.000713333 0.000693333 0.000693333 0.000706667 0.00074 +0.000713333 0.000713333 0.000686667 0.000686667 0.000693333 0.00072 0.000733333 0.000726667 +0.000726667 0.000693333 0.0007 0.000693333 0.000713333 0.000733333 0.00068 0.000693333 +0.000706667 0.000706667 0.00074 0.000713333 0.000706667 0.0007 0.00068 0.00068 +0.000713333 0.000726667 0.000753333 0.000733333 0.000686667 0.000693333 0.000733333 0.000733333 +0.00072 0.000733333 0.00072 0.000726667 0.0007 0.000706667 0.000733333 0.00072 +0.000713333 0.000746667 0.00074 0.000713333 0.00072 0.000713333 0.000713333 0.000746667 +0.000753333 0.000746667 0.000726667 0.000733333 0.000746667 0.00074 0.000733333 0.000746667 +0.000773333 0.000753333 0.000773333 0.000753333 0.000726667 0.000746667 0.00076 0.000746667 +0.00076 0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000813333 0.000726667 0.000713333 +0.00074 0.000726667 0.000726667 0.00076 0.000766667 0.000766667 0.000766667 0.000746667 +0.000753333 0.00076 0.000726667 0.00072 0.000706667 0.0007 0.000713333 0.000746667 +0.00074 0.000733333 0.000726667 0.000726667 0.00074 0.00074 0.000713333 0.000726667 +0.00072 0.000706667 0.00074 0.000733333 0.000713333 0.000733333 0.00072 0.000713333 +0.000733333 0.000733333 0.00074 0.000706667 0.0007 0.00074 0.000766667 0.000746667 +0.0007 0.000693333 0.000713333 0.000713333 0.000713333 0.000713333 0.00072 0.000693333 +0.000733333 0.00072 0.00072 0.000713333 0.00072 0.000713333 0.00072 0.00072 +0.0007 0.000706667 0.00074 0.00074 0.000726667 0.000706667 0.0007 0.0007 +0.000733333 0.00072 0.0007 0.0007 0.000706667 0.000706667 0.000726667 0.000706667 +0.000706667 0.000713333 0.0007 0.000706667 0.000726667 0.0007 0.00066 0.000673333 +0.000693333 0.00068 0.0007 0.000706667 0.000706667 0.000706667 0.000693333 0.000706667 +0.000713333 0.000686667 0.000666667 0.000673333 0.00068 0.000673333 0.000666667 0.00068 +0.000686667 0.000693333 0.000706667 0.0007 0.000673333 0.00066 0.000673333 0.000693333 +0.0007 0.000693333 0.000686667 0.000693333 0.000693333 0.00068 0.00068 0.000673333 +0.000693333 0.000673333 0.000666667 0.000686667 0.000706667 0.000693333 0.000646667 0.00064 +0.000666667 0.00068 0.000653333 0.00064 0.00064 0.000666667 0.0007 0.000713333 +0.00066 0.00064 0.000666667 0.000673333 0.000673333 0.000673333 0.000693333 0.000733333 +0.000693333 0.000653333 0.00066 0.00066 0.00068 0.00068 0.000706667 0.000686667 +0.000673333 0.000666667 0.00068 0.000726667 0.000713333 0.0007 0.000706667 0.000706667 +0.000693333 0.000693333 0.000693333 0.000706667 0.0007 0.00068 0.000686667 0.00072 +0.00068 0.00068 0.0007 0.000686667 0.00068 0.000693333 0.000673333 0.000706667 +0.000713333 0.0007 0.0007 0.0007 0.000693333 0.000706667 0.000693333 0.000693333 +0.000673333 0.00068 0.000666667 0.000673333 0.000693333 0.000706667 0.000706667 0.00068 +0.00068 0.000673333 0.0007 0.000706667 0.00066 0.000673333 0.000673333 0.000673333 +0.0007 0.000673333 0.00066 0.000693333 0.00066 0.00068 0.000686667 0.000666667 +0.000666667 0.000686667 0.0007 0.0007 0.000713333 0.0007 0.0007 0.000686667 +0.0007 0.000673333 0.00066 0.0007 0.0007 0.0007 0.0007 0.000673333 +0.0007 0.000673333 0.000693333 0.000673333 0.000693333 0.000693333 0.000646667 0.000686667 +0.0007 0.00068 0.000693333 0.000686667 0.0007 0.000686667 0.000693333 0.00072 +0.000706667 0.000646667 0.00068 0.000706667 0.000693333 0.0007 0.00068 0.000666667 +0.000666667 0.000673333 0.000673333 0.00072 0.000713333 0.00068 0.000666667 0.00066 +0.000706667 0.000726667 0.0007 0.00068 0.000686667 0.000686667 0.000693333 0.000713333 +0.000693333 0.000686667 0.0007 0.0007 0.000686667 0.000666667 0.000713333 0.000713333 +0.000686667 0.000666667 0.000693333 0.0007 0.0007 0.000686667 0.000706667 0.000686667 +0.00072 0.000686667 0.000673333 0.00068 0.00068 0.000693333 0.0007 0.000686667 +0.0007 0.000673333 0.000666667 0.0007 0.000686667 0.000706667 0.000653333 0.00064 +0.0007 0.000693333 0.000693333 0.000686667 0.00066 0.000666667 0.000686667 0.00068 +0.000673333 0.000686667 0.00068 0.000666667 0.000673333 0.000646667 0.000666667 0.00066 +0.000686667 0.000673333 0.000686667 0.000726667 0.00068 0.000666667 0.000673333 0.000666667 +0.000666667 0.000693333 0.00068 0.00068 0.00068 0.00068 0.00068 0.00068 +0.000673333 0.00068 0.000653333 0.000686667 0.000673333 0.0007 0.000673333 0.000653333 +0.00068 0.000673333 0.00068 0.000686667 0.000673333 0.000673333 0.000673333 0.000673333 +0.00068 0.000673333 0.00068 0.000693333 0.000693333 0.00068 0.000673333 0.000653333 +0.00068 0.00068 0.000706667 0.0007 0.000686667 0.000706667 0.00068 0.000673333 +0.000706667 0.000693333 0.000706667 0.000686667 0.00068 0.000693333 0.00072 0.00074 +0.000706667 0.000706667 0.000686667 0.000666667 0.000686667 0.00074 0.00072 0.0007 +0.000686667 0.00068 0.000713333 0.0007 0.000733333 0.000726667 0.000686667 0.000706667 +0.000713333 0.000686667 0.00072 0.000726667 0.0007 0.000693333 0.000686667 0.0007 +0.00072 0.000753333 0.000733333 0.000713333 0.000686667 0.000693333 0.000713333 0.000706667 +0.00072 0.000766667 0.00074 0.000726667 0.0007 0.000726667 0.000726667 0.00072 +0.000713333 0.000753333 0.000726667 0.000693333 0.000726667 0.000706667 0.00074 0.000753333 +0.00074 0.000726667 0.00076 0.000746667 0.000726667 0.000733333 0.00074 0.000753333 +0.000773333 0.00076 0.00076 0.000726667 0.000746667 0.000773333 0.000746667 0.00074 +0.00076 0.000753333 0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000746667 0.000746667 0.000773333 0.000753333 +0.000746667 0.00074 0.000726667 0.000726667 0.000746667 0.00076 0.000766667 0.000753333 +0.000753333 0.00074 0.000726667 0.000733333 0.000733333 0.000706667 0.0007 0.000726667 +0.00074 0.00074 0.00074 0.00072 0.0007 0.00072 0.000733333 0.000753333 +0.00076 0.000726667 0.00072 0.00072 0.000713333 0.000733333 0.000733333 0.00072 +0.00072 0.00072 0.000733333 0.000733333 0.000706667 0.00068 0.000713333 0.000753333 +0.000753333 0.000706667 0.000673333 0.0007 0.000713333 0.00072 0.000733333 0.000713333 +0.00072 0.000733333 0.000726667 0.000713333 0.000713333 0.00072 0.000713333 0.000706667 +0.0007 0.0007 0.0007 0.00072 0.00074 0.00074 0.000726667 0.000693333 +0.000713333 0.000733333 0.000713333 0.000706667 0.000706667 0.000706667 0.000706667 0.000706667 +0.000706667 0.00072 0.000713333 0.000706667 0.000726667 0.000733333 0.0007 0.000673333 +0.00068 0.000693333 0.000713333 0.0007 0.00068 0.000686667 0.000706667 0.000713333 +0.000693333 0.00068 0.000693333 0.000693333 0.000673333 0.000666667 0.000666667 0.000653333 +0.000673333 0.000693333 0.0007 0.000706667 0.000693333 0.00068 0.00066 0.00066 +0.000693333 0.0007 0.000686667 0.00068 0.00068 0.000686667 0.00068 0.000686667 +0.0007 0.000666667 0.000666667 0.00068 0.000693333 0.000706667 0.000666667 0.000633333 +0.00064 0.000686667 0.000693333 0.000653333 0.00064 0.000653333 0.00068 0.00072 +0.000693333 0.000673333 0.00066 0.00066 0.00066 0.000646667 0.000673333 0.000713333 +0.000706667 0.000666667 0.000666667 0.000673333 0.000686667 0.000686667 0.000693333 0.000686667 +0.00068 0.000686667 0.00068 0.0007 0.000706667 0.000693333 0.0007 0.000693333 +0.000693333 0.000686667 0.000686667 0.000706667 0.000706667 0.00068 0.000666667 0.000713333 +0.000713333 0.000686667 0.000686667 0.000686667 0.000686667 0.000706667 0.000653333 0.00068 +0.000706667 0.000693333 0.000686667 0.000686667 0.00068 0.000706667 0.000686667 0.000706667 +0.000673333 0.000673333 0.000686667 0.000673333 0.000693333 0.0007 0.0007 0.00068 +0.000686667 0.00066 0.000693333 0.000726667 0.000673333 0.000673333 0.000686667 0.000673333 +0.00068 0.000673333 0.000673333 0.0007 0.00068 0.000673333 0.00066 0.00068 +0.000693333 0.000686667 0.000713333 0.0007 0.000693333 0.000713333 0.000693333 0.000673333 +0.0007 0.0007 0.000646667 0.000693333 0.000693333 0.00068 0.000713333 0.000693333 +0.000706667 0.000686667 0.0007 0.00068 0.00068 0.000693333 0.00066 0.000666667 +0.000713333 0.000693333 0.000686667 0.000693333 0.0007 0.000693333 0.000693333 0.000713333 +0.000693333 0.000666667 0.00068 0.00068 0.0007 0.000706667 0.00068 0.00066 +0.00066 0.000673333 0.00068 0.00072 0.00072 0.00068 0.000666667 0.000666667 +0.0007 0.000713333 0.0007 0.00068 0.000693333 0.0007 0.000706667 0.0007 +0.000693333 0.0007 0.0007 0.000686667 0.00068 0.000673333 0.000713333 0.000706667 +0.00068 0.000673333 0.000686667 0.000693333 0.000693333 0.00068 0.00068 0.000673333 +0.000713333 0.000693333 0.000666667 0.00068 0.000713333 0.000686667 0.00068 0.000706667 +0.000706667 0.000673333 0.000666667 0.000713333 0.000686667 0.000693333 0.00066 0.00064 +0.0007 0.000706667 0.0007 0.00068 0.000653333 0.000666667 0.000693333 0.00068 +0.000673333 0.000713333 0.000686667 0.000653333 0.000653333 0.000646667 0.00068 0.00066 +0.000673333 0.000673333 0.000693333 0.0007 0.000673333 0.00066 0.00068 0.00066 +0.00068 0.00068 0.00066 0.000666667 0.000673333 0.000673333 0.000666667 0.00068 +0.0007 0.000713333 0.00068 0.000673333 0.00068 0.00072 0.00064 0.000653333 +0.00066 0.00068 0.000666667 0.000653333 0.00066 0.000686667 0.000693333 0.000673333 +0.000653333 0.000666667 0.000693333 0.000693333 0.000666667 0.000673333 0.00066 0.000653333 +0.000673333 0.000673333 0.000686667 0.000693333 0.000706667 0.000713333 0.000673333 0.000686667 +0.000686667 0.000693333 0.000713333 0.000666667 0.000686667 0.000706667 0.000713333 0.00072 +0.000706667 0.000693333 0.00068 0.000653333 0.000706667 0.000753333 0.000733333 0.000693333 +0.000673333 0.000686667 0.0007 0.00072 0.000726667 0.000733333 0.000706667 0.00068 +0.000686667 0.000686667 0.000713333 0.00072 0.000693333 0.000713333 0.000713333 0.000726667 +0.000733333 0.000746667 0.000706667 0.000713333 0.0007 0.0007 0.0007 0.000706667 +0.00074 0.000766667 0.00072 0.000713333 0.000726667 0.000726667 0.000726667 0.000733333 +0.00072 0.000733333 0.00072 0.000693333 0.00074 0.000726667 0.000753333 0.00074 +0.000706667 0.000726667 0.000773333 0.000733333 0.000726667 0.000746667 0.000766667 0.000753333 +0.000753333 0.000753333 0.000746667 0.000746667 0.000766667 0.00074 0.000733333 0.00076 +0.000746667 0.000746667 0.000746667 0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000773333 0.000766667 0.00074 0.000706667 0.000746667 0.00078 +0.000746667 0.00074 0.00074 0.000746667 0.000726667 0.000726667 0.000746667 0.000733333 +0.000753333 0.00074 0.00074 0.00074 0.000753333 0.000753333 0.000733333 0.00072 +0.000726667 0.000726667 0.000733333 0.000753333 0.000706667 0.000706667 0.00074 0.00074 +0.000746667 0.00074 0.000713333 0.0007 0.000713333 0.0007 0.00072 0.000733333 +0.000686667 0.000706667 0.00072 0.000733333 0.00074 0.000693333 0.000693333 0.000713333 +0.00074 0.000726667 0.000706667 0.000686667 0.000706667 0.000706667 0.00072 0.00074 +0.000713333 0.00072 0.000726667 0.000713333 0.00072 0.0007 0.0007 0.0007 +0.0007 0.00072 0.000706667 0.000693333 0.000706667 0.000733333 0.00076 0.00072 +0.000686667 0.00072 0.00072 0.0007 0.000686667 0.0007 0.000693333 0.000686667 +0.000713333 0.000713333 0.0007 0.0007 0.000713333 0.000726667 0.00074 0.000706667 +0.000653333 0.000673333 0.000686667 0.000693333 0.000693333 0.000673333 0.000693333 0.000706667 +0.000686667 0.000673333 0.000673333 0.00068 0.00066 0.00066 0.000673333 0.000666667 +0.000666667 0.000686667 0.000693333 0.0007 0.000693333 0.000686667 0.000686667 0.000673333 +0.00068 0.0007 0.0007 0.00068 0.000666667 0.000693333 0.00068 0.000686667 +0.000693333 0.00068 0.000653333 0.000666667 0.000693333 0.000686667 0.000666667 0.00064 +0.00064 0.000673333 0.0007 0.000673333 0.000646667 0.000653333 0.000666667 0.000693333 +0.000713333 0.000693333 0.00066 0.00064 0.00064 0.000666667 0.000686667 0.0007 +0.000693333 0.000673333 0.000666667 0.000673333 0.00068 0.000686667 0.000666667 0.00068 +0.000686667 0.000686667 0.00066 0.00068 0.0007 0.000706667 0.000706667 0.00068 +0.00068 0.0007 0.000693333 0.0007 0.0007 0.000706667 0.000686667 0.000686667 +0.0007 0.000693333 0.00068 0.000693333 0.00068 0.000693333 0.000673333 0.00068 +0.0007 0.0007 0.000693333 0.000686667 0.00068 0.000686667 0.00068 0.000706667 +0.000666667 0.000686667 0.000713333 0.000673333 0.00068 0.000686667 0.0007 0.000706667 +0.000686667 0.00066 0.000686667 0.000733333 0.0007 0.00068 0.000686667 0.00068 +0.000686667 0.000686667 0.000686667 0.0007 0.0007 0.00066 0.000666667 0.000673333 +0.000686667 0.000693333 0.000706667 0.0007 0.000693333 0.00072 0.0007 0.000686667 +0.0007 0.00072 0.000666667 0.000673333 0.00068 0.000666667 0.000706667 0.000693333 +0.000706667 0.000686667 0.00068 0.000673333 0.000713333 0.000713333 0.00066 0.000666667 +0.000706667 0.000706667 0.000686667 0.000693333 0.000693333 0.000686667 0.000686667 0.000693333 +0.0007 0.000693333 0.000686667 0.00068 0.0007 0.0007 0.000686667 0.00068 +0.000653333 0.000666667 0.0007 0.000726667 0.000713333 0.000686667 0.00066 0.000666667 +0.0007 0.0007 0.000693333 0.000673333 0.000693333 0.000713333 0.000713333 0.000693333 +0.000686667 0.000693333 0.00068 0.00068 0.000686667 0.000693333 0.0007 0.000693333 +0.000666667 0.00066 0.000693333 0.0007 0.000693333 0.00068 0.000673333 0.000666667 +0.0007 0.000673333 0.00068 0.000673333 0.000686667 0.00068 0.000673333 0.000693333 +0.000706667 0.00068 0.00066 0.000693333 0.000693333 0.000706667 0.000653333 0.00066 +0.000713333 0.0007 0.000686667 0.000673333 0.000646667 0.000673333 0.00068 0.000666667 +0.000686667 0.000713333 0.000693333 0.000653333 0.000633333 0.000673333 0.0007 0.00068 +0.00068 0.000666667 0.0007 0.00068 0.000666667 0.000666667 0.000673333 0.000666667 +0.000673333 0.000653333 0.000646667 0.000673333 0.000686667 0.000673333 0.000666667 0.000673333 +0.000706667 0.000706667 0.00068 0.000646667 0.00068 0.0007 0.000626667 0.000646667 +0.00066 0.0007 0.000666667 0.000653333 0.000673333 0.000713333 0.000686667 0.00064 +0.000646667 0.000686667 0.000693333 0.000686667 0.000653333 0.000666667 0.000653333 0.000673333 +0.000673333 0.000673333 0.000686667 0.0007 0.000706667 0.000686667 0.000673333 0.000686667 +0.00066 0.000686667 0.000713333 0.00068 0.000706667 0.000693333 0.000713333 0.00072 +0.000713333 0.000693333 0.000686667 0.000673333 0.000726667 0.000726667 0.00072 0.000706667 +0.000706667 0.000706667 0.000693333 0.000733333 0.000713333 0.00074 0.000693333 0.00066 +0.000693333 0.000693333 0.0007 0.0007 0.000706667 0.000733333 0.00074 0.000726667 +0.000726667 0.000733333 0.000706667 0.000706667 0.0007 0.000713333 0.0007 0.000726667 +0.000746667 0.000733333 0.000713333 0.000726667 0.00074 0.00072 0.000726667 0.00072 +0.000726667 0.000706667 0.000726667 0.000726667 0.000746667 0.000746667 0.000753333 0.00074 +0.00072 0.000726667 0.00074 0.000726667 0.00074 0.000753333 0.00076 0.000746667 +0.00074 0.000733333 0.00076 0.00076 0.00074 0.000733333 0.000766667 0.00076 +0.000733333 0.00074 0.000746667 0.00074 0.000786667 0.0008 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000753333 0.000753333 0.000753333 0.000766667 0.00072 0.000706667 0.000733333 +0.000746667 0.000753333 0.000753333 0.00074 0.0007 0.00072 0.000733333 0.000726667 +0.000746667 0.000746667 0.000746667 0.00074 0.000733333 0.000746667 0.000746667 0.000746667 +0.000733333 0.000733333 0.000706667 0.000733333 0.000733333 0.000706667 0.00072 0.000733333 +0.000733333 0.000726667 0.00072 0.00072 0.00074 0.000693333 0.000686667 0.000726667 +0.000706667 0.00072 0.00072 0.00072 0.000726667 0.000706667 0.00072 0.000706667 +0.0007 0.000713333 0.00074 0.0007 0.000693333 0.000706667 0.000686667 0.00072 +0.000726667 0.000726667 0.00074 0.00072 0.000733333 0.00072 0.000706667 0.000706667 +0.000713333 0.000713333 0.000713333 0.000706667 0.0007 0.000693333 0.00072 0.000733333 +0.00072 0.000713333 0.000706667 0.0007 0.000686667 0.000686667 0.0007 0.000693333 +0.000693333 0.0007 0.000706667 0.000713333 0.00072 0.000713333 0.00074 0.00072 +0.000653333 0.00066 0.000666667 0.000666667 0.000686667 0.00068 0.00068 0.00068 +0.00068 0.000686667 0.00068 0.000666667 0.00066 0.00068 0.000673333 0.000686667 +0.000666667 0.000653333 0.000666667 0.000686667 0.000706667 0.000693333 0.000673333 0.000686667 +0.00068 0.000686667 0.000693333 0.000686667 0.00068 0.000686667 0.00068 0.000673333 +0.000666667 0.00068 0.00066 0.000653333 0.000666667 0.000666667 0.000673333 0.000666667 +0.000653333 0.000666667 0.000686667 0.000686667 0.000666667 0.000673333 0.000666667 0.00066 +0.0007 0.000686667 0.000666667 0.000653333 0.00064 0.00068 0.000673333 0.000673333 +0.000686667 0.00068 0.000673333 0.000686667 0.000693333 0.00068 0.00066 0.00068 +0.000706667 0.000706667 0.000673333 0.000686667 0.000686667 0.000693333 0.000706667 0.0007 +0.000686667 0.000706667 0.00072 0.0007 0.000666667 0.000673333 0.000693333 0.000673333 +0.00068 0.000693333 0.0007 0.0007 0.000686667 0.00068 0.000693333 0.000686667 +0.000686667 0.0007 0.00072 0.000713333 0.000686667 0.00068 0.000673333 0.0007 +0.000666667 0.00068 0.000726667 0.00068 0.00068 0.000686667 0.000686667 0.000706667 +0.000693333 0.00066 0.000666667 0.000713333 0.000693333 0.000693333 0.000686667 0.000673333 +0.000686667 0.000693333 0.00068 0.000693333 0.0007 0.00066 0.00068 0.00068 +0.000673333 0.000693333 0.000693333 0.000693333 0.00072 0.000713333 0.000693333 0.000693333 +0.000686667 0.0007 0.00068 0.00066 0.000673333 0.00068 0.000693333 0.000666667 +0.0007 0.0007 0.00068 0.000693333 0.000726667 0.00072 0.00066 0.00068 +0.0007 0.0007 0.000693333 0.000673333 0.000686667 0.000686667 0.000686667 0.000693333 +0.000713333 0.000693333 0.00068 0.00068 0.000693333 0.0007 0.000706667 0.000686667 +0.000666667 0.000673333 0.000693333 0.00072 0.000726667 0.0007 0.000666667 0.000673333 +0.000706667 0.000706667 0.00068 0.000673333 0.000693333 0.000713333 0.0007 0.000686667 +0.000686667 0.000686667 0.000686667 0.00068 0.00068 0.000686667 0.0007 0.0007 +0.000666667 0.000666667 0.0007 0.0007 0.00068 0.000693333 0.000686667 0.000673333 +0.0007 0.00066 0.000693333 0.00068 0.000673333 0.0007 0.00068 0.000693333 +0.0007 0.000666667 0.00066 0.00068 0.0007 0.000713333 0.00062 0.00066 +0.000713333 0.000686667 0.000693333 0.000673333 0.00066 0.00068 0.00066 0.000673333 +0.000686667 0.000686667 0.000673333 0.000673333 0.000646667 0.000666667 0.000673333 0.000693333 +0.000693333 0.00066 0.000706667 0.000686667 0.00066 0.00068 0.000673333 0.000673333 +0.000673333 0.000646667 0.000666667 0.000706667 0.000693333 0.000673333 0.00068 0.000686667 +0.0007 0.00068 0.000673333 0.000666667 0.000673333 0.000673333 0.000653333 0.000646667 +0.000686667 0.000693333 0.000666667 0.00066 0.000686667 0.000706667 0.000666667 0.000646667 +0.000666667 0.000686667 0.000693333 0.000673333 0.00064 0.000653333 0.000666667 0.000686667 +0.0007 0.000693333 0.000693333 0.0007 0.0007 0.000666667 0.00066 0.000673333 +0.00066 0.000693333 0.000713333 0.000713333 0.0007 0.000693333 0.000713333 0.0007 +0.0007 0.000693333 0.000706667 0.00072 0.00072 0.000693333 0.000706667 0.0007 +0.000706667 0.000706667 0.0007 0.00074 0.00072 0.000713333 0.000666667 0.00068 +0.000706667 0.000686667 0.000686667 0.000706667 0.000726667 0.000726667 0.000733333 0.00072 +0.00072 0.00072 0.000706667 0.00068 0.00072 0.00072 0.0007 0.00072 +0.00072 0.000706667 0.00072 0.000733333 0.000726667 0.000713333 0.00072 0.000713333 +0.000726667 0.000706667 0.000746667 0.000733333 0.000726667 0.00076 0.000753333 0.000746667 +0.000713333 0.000726667 0.000746667 0.000753333 0.000753333 0.00074 0.000746667 0.00076 +0.000733333 0.000733333 0.000753333 0.000746667 0.000746667 0.00076 0.00076 0.00074 +0.00074 0.000753333 0.000766667 0.000753333 0.000766667 0.000793333 0.0008 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000786667 0.000733333 0.0007 0.000726667 0.000773333 0.000766667 0.00074 0.000713333 +0.00074 0.000773333 0.000733333 0.000726667 0.000726667 0.00072 0.000726667 0.000733333 +0.00074 0.00074 0.000746667 0.000733333 0.000706667 0.0007 0.000733333 0.00076 +0.000726667 0.00072 0.000713333 0.000706667 0.000733333 0.000713333 0.000706667 0.000726667 +0.000726667 0.000713333 0.00074 0.000726667 0.000733333 0.000733333 0.000713333 0.000706667 +0.000713333 0.00072 0.000713333 0.00072 0.000693333 0.000693333 0.00072 0.000706667 +0.000706667 0.000706667 0.00074 0.00072 0.00072 0.000726667 0.00068 0.0007 +0.000726667 0.000713333 0.000733333 0.000726667 0.000713333 0.000746667 0.00074 0.000713333 +0.00072 0.000713333 0.000706667 0.000713333 0.000706667 0.00068 0.00066 0.000706667 +0.000746667 0.00072 0.000706667 0.000706667 0.000713333 0.000693333 0.000686667 0.0007 +0.00068 0.0007 0.000713333 0.000706667 0.000706667 0.0007 0.000726667 0.000713333 +0.00068 0.000666667 0.000666667 0.000686667 0.00068 0.000686667 0.0007 0.00068 +0.000666667 0.000693333 0.000706667 0.000686667 0.000646667 0.000686667 0.00068 0.00066 +0.000673333 0.000686667 0.000673333 0.000673333 0.000713333 0.0007 0.000653333 0.000673333 +0.000693333 0.000693333 0.00068 0.000686667 0.000686667 0.000666667 0.000673333 0.000666667 +0.000666667 0.000693333 0.000673333 0.000646667 0.000653333 0.00066 0.000673333 0.00068 +0.000666667 0.000646667 0.000673333 0.000693333 0.00068 0.000673333 0.00066 0.000673333 +0.0007 0.000686667 0.000666667 0.000666667 0.000653333 0.00068 0.00066 0.00066 +0.000693333 0.000686667 0.000673333 0.000686667 0.000706667 0.000673333 0.000653333 0.00068 +0.000706667 0.000713333 0.0007 0.000686667 0.000686667 0.000666667 0.000686667 0.0007 +0.000693333 0.0007 0.00072 0.000713333 0.000653333 0.00064 0.000673333 0.000686667 +0.0007 0.000686667 0.000713333 0.000706667 0.000693333 0.000686667 0.000686667 0.00068 +0.000686667 0.000686667 0.000693333 0.000733333 0.000713333 0.00068 0.000653333 0.00068 +0.000686667 0.00068 0.000706667 0.000693333 0.00068 0.000686667 0.000693333 0.000693333 +0.000686667 0.00066 0.00066 0.000713333 0.000686667 0.000693333 0.0007 0.000653333 +0.000673333 0.000686667 0.000686667 0.0007 0.000693333 0.000686667 0.000693333 0.000673333 +0.000673333 0.000686667 0.000686667 0.00068 0.000706667 0.0007 0.000686667 0.000706667 +0.000693333 0.000686667 0.000686667 0.000666667 0.00068 0.000693333 0.000686667 0.00066 +0.000693333 0.000713333 0.0007 0.00072 0.000706667 0.000693333 0.00066 0.00068 +0.0007 0.000693333 0.000693333 0.00068 0.000706667 0.000673333 0.00068 0.0007 +0.000706667 0.000686667 0.000686667 0.000693333 0.0007 0.000693333 0.000713333 0.000673333 +0.000666667 0.0007 0.000686667 0.000706667 0.000726667 0.000693333 0.000653333 0.000666667 +0.0007 0.0007 0.000673333 0.00068 0.000706667 0.0007 0.000686667 0.000673333 +0.00068 0.0007 0.000693333 0.00066 0.000666667 0.00068 0.000706667 0.000706667 +0.000653333 0.000666667 0.000706667 0.000693333 0.000666667 0.0007 0.000693333 0.00068 +0.0007 0.000686667 0.0007 0.000693333 0.000686667 0.000686667 0.000686667 0.000706667 +0.000693333 0.00066 0.00068 0.0007 0.000693333 0.000706667 0.000633333 0.00068 +0.000713333 0.00068 0.000673333 0.000666667 0.000673333 0.000673333 0.000666667 0.00068 +0.000693333 0.00068 0.000673333 0.00068 0.00066 0.000646667 0.000666667 0.000706667 +0.000686667 0.000653333 0.0007 0.000686667 0.000653333 0.00068 0.00068 0.000653333 +0.000653333 0.000666667 0.000693333 0.000706667 0.000673333 0.00066 0.000673333 0.0007 +0.0007 0.00066 0.00066 0.00066 0.00066 0.000633333 0.00066 0.00066 +0.0007 0.000686667 0.000666667 0.00066 0.000673333 0.00068 0.000666667 0.000666667 +0.000666667 0.000673333 0.00068 0.000646667 0.00064 0.000666667 0.000686667 0.000693333 +0.0007 0.000686667 0.000693333 0.000686667 0.00066 0.000666667 0.000673333 0.000666667 +0.00068 0.000706667 0.000713333 0.00072 0.0007 0.00072 0.0007 0.00068 +0.0007 0.000706667 0.000706667 0.00072 0.000713333 0.0007 0.000713333 0.0007 +0.0007 0.0007 0.0007 0.00072 0.000706667 0.000686667 0.000693333 0.0007 +0.000686667 0.000686667 0.000686667 0.000726667 0.000753333 0.000706667 0.000713333 0.000706667 +0.00072 0.000713333 0.000706667 0.000686667 0.000733333 0.0007 0.0007 0.000713333 +0.0007 0.0007 0.000733333 0.000726667 0.000726667 0.00072 0.000706667 0.00072 +0.000726667 0.000726667 0.000746667 0.000713333 0.00072 0.000766667 0.00074 0.00072 +0.00072 0.000746667 0.00076 0.000766667 0.000746667 0.00074 0.000766667 0.00076 +0.000713333 0.00074 0.000733333 0.000746667 0.000753333 0.000746667 0.00074 0.00074 +0.000746667 0.00076 0.000786667 0.00076 0.000773333 0.00076 0.000766667 0.000826667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00076 +0.000773333 0.000753333 0.00072 0.00072 0.000733333 0.000753333 0.000773333 0.000766667 +0.00076 0.00074 0.0007 0.000726667 0.00074 0.00074 0.000713333 0.000713333 +0.00074 0.000733333 0.000733333 0.000726667 0.000726667 0.000713333 0.000693333 0.00072 +0.00074 0.000726667 0.000733333 0.00074 0.000746667 0.00074 0.000713333 0.000713333 +0.000713333 0.000706667 0.000713333 0.000726667 0.000726667 0.000733333 0.00074 0.000726667 +0.0007 0.00072 0.000706667 0.000713333 0.000686667 0.000693333 0.0007 0.000706667 +0.00072 0.0007 0.00072 0.000726667 0.000726667 0.00072 0.0007 0.000693333 +0.0007 0.0007 0.000713333 0.000726667 0.000706667 0.000713333 0.000733333 0.00072 +0.000726667 0.000726667 0.000713333 0.0007 0.000693333 0.000693333 0.000666667 0.000666667 +0.000713333 0.000713333 0.000713333 0.000726667 0.000726667 0.000713333 0.000686667 0.000693333 +0.000686667 0.0007 0.000706667 0.000693333 0.0007 0.000706667 0.00072 0.0007 +0.000693333 0.000693333 0.000666667 0.000693333 0.0007 0.000686667 0.000693333 0.000686667 +0.00066 0.00066 0.000666667 0.000693333 0.00068 0.000666667 0.000666667 0.000673333 +0.000673333 0.000706667 0.000693333 0.000666667 0.000686667 0.000693333 0.00068 0.000673333 +0.000686667 0.0007 0.000693333 0.000673333 0.00068 0.00068 0.00068 0.00066 +0.000646667 0.000686667 0.000693333 0.000653333 0.00064 0.000653333 0.00066 0.000693333 +0.000686667 0.000633333 0.00064 0.00068 0.000693333 0.000666667 0.00066 0.000673333 +0.000686667 0.000686667 0.000653333 0.00066 0.000686667 0.000673333 0.000666667 0.000653333 +0.000693333 0.000713333 0.000673333 0.000673333 0.000706667 0.000686667 0.000666667 0.000666667 +0.000693333 0.0007 0.000693333 0.00068 0.000686667 0.000673333 0.000673333 0.000686667 +0.000686667 0.0007 0.0007 0.000713333 0.00068 0.00066 0.000666667 0.000686667 +0.000706667 0.000693333 0.000693333 0.000713333 0.0007 0.000686667 0.000693333 0.00068 +0.00068 0.00068 0.000686667 0.000706667 0.000713333 0.0007 0.00066 0.000666667 +0.0007 0.000673333 0.000693333 0.0007 0.000693333 0.000686667 0.000693333 0.0007 +0.000693333 0.00066 0.00066 0.0007 0.000686667 0.000673333 0.0007 0.000673333 +0.000673333 0.000673333 0.000693333 0.000693333 0.00068 0.00068 0.000693333 0.000673333 +0.000673333 0.000673333 0.000686667 0.00068 0.00068 0.000686667 0.000686667 0.000713333 +0.000726667 0.0007 0.0007 0.000686667 0.0007 0.0007 0.000686667 0.000666667 +0.00068 0.000713333 0.000706667 0.00072 0.0007 0.000686667 0.00064 0.000686667 +0.000713333 0.000693333 0.000693333 0.000693333 0.00072 0.000673333 0.00066 0.000686667 +0.0007 0.00068 0.000713333 0.000686667 0.000686667 0.000693333 0.0007 0.000666667 +0.000646667 0.000693333 0.000693333 0.000693333 0.000706667 0.000686667 0.00066 0.000686667 +0.0007 0.000686667 0.000686667 0.000693333 0.0007 0.000693333 0.000693333 0.000666667 +0.000666667 0.000706667 0.0007 0.000673333 0.000686667 0.000686667 0.0007 0.000693333 +0.00066 0.00066 0.000713333 0.000713333 0.00068 0.000693333 0.000686667 0.000693333 +0.000693333 0.000673333 0.000686667 0.000686667 0.00068 0.000666667 0.000693333 0.00072 +0.000686667 0.00066 0.000686667 0.0007 0.000686667 0.000693333 0.000653333 0.000686667 +0.000706667 0.000693333 0.000666667 0.000673333 0.000673333 0.000646667 0.00066 0.000673333 +0.000693333 0.000686667 0.000686667 0.000673333 0.00064 0.000653333 0.000686667 0.000713333 +0.000666667 0.000666667 0.000686667 0.00068 0.00068 0.000686667 0.00068 0.000646667 +0.000646667 0.000673333 0.0007 0.0007 0.000653333 0.00066 0.000673333 0.0007 +0.000686667 0.000666667 0.00066 0.00066 0.000666667 0.00064 0.000673333 0.000673333 +0.000686667 0.000686667 0.000673333 0.00068 0.000673333 0.000666667 0.000673333 0.00066 +0.000666667 0.00068 0.000673333 0.000633333 0.000666667 0.000666667 0.000693333 0.000706667 +0.000686667 0.000673333 0.000693333 0.000666667 0.000653333 0.00068 0.00068 0.00068 +0.000693333 0.000693333 0.0007 0.00072 0.000706667 0.00072 0.000693333 0.000693333 +0.000726667 0.000726667 0.0007 0.000706667 0.000693333 0.000693333 0.000706667 0.000726667 +0.000706667 0.0007 0.000713333 0.000686667 0.000686667 0.000666667 0.0007 0.00068 +0.0007 0.0007 0.0007 0.000726667 0.000733333 0.000706667 0.000713333 0.000706667 +0.0007 0.0007 0.000706667 0.000726667 0.000726667 0.000693333 0.0007 0.000693333 +0.00072 0.000713333 0.000726667 0.000726667 0.000713333 0.000706667 0.000726667 0.00074 +0.00074 0.00074 0.00072 0.00072 0.00072 0.00076 0.00072 0.000693333 +0.000726667 0.000733333 0.00074 0.00076 0.000726667 0.00074 0.000766667 0.000733333 +0.000713333 0.000733333 0.00074 0.000753333 0.00074 0.00074 0.00074 0.00074 +0.000733333 0.000766667 0.000773333 0.000773333 0.000773333 0.000753333 0.000766667 0.000793333 +0.00076 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 0.000713333 +0.00072 0.00074 0.00074 0.000733333 0.00074 0.000753333 0.000753333 0.000746667 +0.000753333 0.00076 0.000726667 0.000726667 0.00072 0.00074 0.000733333 0.000693333 +0.000706667 0.000713333 0.00072 0.00072 0.00074 0.00074 0.000706667 0.000686667 +0.000713333 0.000733333 0.00074 0.00076 0.000746667 0.000713333 0.0007 0.000706667 +0.0007 0.000706667 0.0007 0.000726667 0.000726667 0.000726667 0.000753333 0.00074 +0.00072 0.000733333 0.000713333 0.000706667 0.000706667 0.000693333 0.000686667 0.000693333 +0.000706667 0.000713333 0.000713333 0.0007 0.00072 0.000706667 0.000686667 0.000686667 +0.0007 0.00072 0.000693333 0.000726667 0.000753333 0.000713333 0.000706667 0.00072 +0.000733333 0.000713333 0.0007 0.0007 0.000706667 0.000706667 0.0007 0.00066 +0.000693333 0.000706667 0.000713333 0.000726667 0.00072 0.000726667 0.00072 0.000706667 +0.000686667 0.000693333 0.000693333 0.000686667 0.000693333 0.000706667 0.000706667 0.000693333 +0.000686667 0.000693333 0.000686667 0.000673333 0.00068 0.000686667 0.000686667 0.00068 +0.000673333 0.000666667 0.00066 0.00066 0.000693333 0.000686667 0.00068 0.00068 +0.000666667 0.000673333 0.000666667 0.000673333 0.00068 0.000693333 0.0007 0.000673333 +0.00068 0.000673333 0.000673333 0.000686667 0.000673333 0.00068 0.000686667 0.000673333 +0.000646667 0.00066 0.000693333 0.000673333 0.00064 0.00064 0.000666667 0.000693333 +0.000686667 0.000646667 0.000633333 0.000666667 0.0007 0.00068 0.000673333 0.000666667 +0.000673333 0.000686667 0.000666667 0.000666667 0.000693333 0.000673333 0.000666667 0.000646667 +0.00068 0.000733333 0.0007 0.00068 0.00068 0.00068 0.0007 0.000686667 +0.000693333 0.00068 0.000673333 0.000686667 0.0007 0.000686667 0.000686667 0.0007 +0.000686667 0.000686667 0.000693333 0.00068 0.000693333 0.000673333 0.000666667 0.00068 +0.0007 0.000693333 0.000693333 0.000706667 0.000713333 0.00068 0.000693333 0.000693333 +0.000673333 0.00068 0.000693333 0.000686667 0.000693333 0.000706667 0.00068 0.000673333 +0.000693333 0.000666667 0.00068 0.0007 0.000713333 0.000693333 0.00068 0.00072 +0.000713333 0.000673333 0.000653333 0.000686667 0.000693333 0.00066 0.00068 0.000686667 +0.000693333 0.000673333 0.00068 0.000686667 0.000693333 0.000686667 0.0007 0.00068 +0.000686667 0.000686667 0.0007 0.000666667 0.000673333 0.0007 0.00068 0.00072 +0.000733333 0.000713333 0.00072 0.0007 0.000686667 0.000686667 0.00068 0.000666667 +0.00068 0.00072 0.000713333 0.000706667 0.000706667 0.000713333 0.00064 0.00068 +0.000713333 0.00068 0.000686667 0.000693333 0.0007 0.000686667 0.000666667 0.00068 +0.000706667 0.0007 0.000693333 0.000666667 0.0007 0.000706667 0.0007 0.00068 +0.000666667 0.000686667 0.000693333 0.000693333 0.000686667 0.000673333 0.000666667 0.0007 +0.000713333 0.000693333 0.0007 0.000693333 0.000693333 0.000706667 0.000693333 0.000666667 +0.000666667 0.000706667 0.0007 0.00068 0.000686667 0.000686667 0.000693333 0.00068 +0.000673333 0.00066 0.0007 0.000706667 0.000686667 0.00068 0.000693333 0.000706667 +0.000693333 0.00066 0.000686667 0.000686667 0.000673333 0.00066 0.000706667 0.00072 +0.000653333 0.00066 0.000673333 0.000686667 0.000713333 0.00068 0.000646667 0.0007 +0.000686667 0.000706667 0.00068 0.000666667 0.000666667 0.00066 0.00068 0.000673333 +0.00068 0.00068 0.00068 0.000653333 0.00066 0.000693333 0.000693333 0.00068 +0.000666667 0.00068 0.00068 0.000653333 0.000686667 0.000693333 0.000666667 0.00066 +0.000666667 0.00068 0.000693333 0.00068 0.000653333 0.000666667 0.000686667 0.000686667 +0.000686667 0.000686667 0.000653333 0.00066 0.00068 0.000646667 0.00066 0.000686667 +0.000686667 0.000666667 0.00066 0.00068 0.00068 0.000653333 0.000653333 0.00066 +0.000693333 0.00068 0.000653333 0.00066 0.000673333 0.00066 0.00068 0.000713333 +0.00068 0.00068 0.000673333 0.000653333 0.00066 0.000666667 0.00068 0.000706667 +0.0007 0.000666667 0.000686667 0.000726667 0.00072 0.0007 0.0007 0.000713333 +0.00074 0.000726667 0.000706667 0.000713333 0.000693333 0.000686667 0.000693333 0.000733333 +0.000706667 0.000713333 0.0007 0.00068 0.0007 0.000686667 0.000693333 0.000686667 +0.000713333 0.000713333 0.00072 0.000706667 0.0007 0.00072 0.000726667 0.000713333 +0.0007 0.0007 0.000713333 0.00074 0.0007 0.000706667 0.000706667 0.000706667 +0.000746667 0.000726667 0.000713333 0.000726667 0.000693333 0.000693333 0.000726667 0.000733333 +0.000726667 0.000733333 0.000726667 0.00074 0.000726667 0.000733333 0.000713333 0.000706667 +0.00074 0.000706667 0.000726667 0.000746667 0.000713333 0.000746667 0.00074 0.0007 +0.000726667 0.000746667 0.000746667 0.000733333 0.000733333 0.00074 0.00074 0.000746667 +0.00076 0.000766667 0.000766667 0.000766667 0.00076 0.000766667 0.000766667 0.000753333 +0.000746667 0.0008 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00078 0.000753333 0.000746667 +0.00074 0.00074 0.00074 0.000733333 0.00074 0.000753333 0.00074 0.000713333 +0.00074 0.00076 0.000753333 0.000746667 0.000726667 0.000726667 0.000753333 0.00074 +0.000706667 0.000706667 0.000706667 0.000706667 0.000726667 0.000726667 0.000733333 0.000706667 +0.00068 0.000706667 0.0007 0.000713333 0.00074 0.000726667 0.000713333 0.000706667 +0.000686667 0.000706667 0.00072 0.000726667 0.000706667 0.000713333 0.000753333 0.00074 +0.000733333 0.000726667 0.00072 0.000713333 0.0007 0.000706667 0.000706667 0.000693333 +0.000686667 0.000706667 0.00072 0.0007 0.00072 0.0007 0.000686667 0.000673333 +0.000706667 0.00074 0.0007 0.000706667 0.000753333 0.000726667 0.000713333 0.0007 +0.000713333 0.00072 0.00072 0.000713333 0.000726667 0.000713333 0.000713333 0.000686667 +0.00068 0.000693333 0.000693333 0.000706667 0.0007 0.000726667 0.00074 0.000706667 +0.000673333 0.000673333 0.000686667 0.000693333 0.00068 0.000693333 0.000686667 0.0007 +0.0007 0.000693333 0.000693333 0.00068 0.000666667 0.000686667 0.0007 0.000686667 +0.000686667 0.00068 0.000666667 0.000646667 0.000666667 0.000686667 0.000693333 0.00068 +0.00068 0.000673333 0.00066 0.00068 0.000673333 0.000686667 0.0007 0.00068 +0.000686667 0.000666667 0.000646667 0.000693333 0.000693333 0.00068 0.000686667 0.0007 +0.000666667 0.00064 0.000666667 0.000686667 0.000646667 0.000633333 0.000686667 0.000693333 +0.000673333 0.000673333 0.000646667 0.000653333 0.00068 0.000693333 0.000693333 0.00068 +0.00066 0.000653333 0.000673333 0.000693333 0.000686667 0.000673333 0.000666667 0.000666667 +0.000673333 0.000713333 0.000706667 0.000673333 0.00066 0.00068 0.000706667 0.000713333 +0.000693333 0.000666667 0.000666667 0.000666667 0.000686667 0.0007 0.000686667 0.000706667 +0.00068 0.00068 0.000686667 0.00068 0.000693333 0.000686667 0.000666667 0.000666667 +0.000686667 0.000686667 0.000706667 0.0007 0.0007 0.000673333 0.000693333 0.000713333 +0.000693333 0.00068 0.000666667 0.000686667 0.000693333 0.000693333 0.000693333 0.000686667 +0.000686667 0.00068 0.000673333 0.000693333 0.000713333 0.000693333 0.000673333 0.0007 +0.000713333 0.000693333 0.000653333 0.00068 0.000693333 0.00066 0.000686667 0.000693333 +0.000706667 0.000673333 0.00068 0.00068 0.000713333 0.000713333 0.0007 0.000686667 +0.000686667 0.00068 0.000686667 0.000673333 0.000666667 0.000693333 0.0007 0.000726667 +0.000726667 0.000713333 0.00072 0.000686667 0.000653333 0.000673333 0.000686667 0.000673333 +0.000666667 0.000713333 0.0007 0.000686667 0.00068 0.000713333 0.00066 0.000673333 +0.000706667 0.000686667 0.00068 0.00068 0.000693333 0.000686667 0.000686667 0.000693333 +0.000713333 0.000706667 0.000673333 0.000673333 0.000713333 0.000693333 0.0007 0.00068 +0.00068 0.000686667 0.0007 0.0007 0.0007 0.000686667 0.00066 0.0007 +0.000726667 0.000713333 0.0007 0.000673333 0.000693333 0.000713333 0.000686667 0.000673333 +0.000686667 0.000713333 0.000693333 0.000686667 0.000693333 0.000686667 0.000693333 0.000666667 +0.000673333 0.000686667 0.000686667 0.00068 0.000666667 0.000673333 0.0007 0.000686667 +0.00068 0.000673333 0.000693333 0.000693333 0.00068 0.000653333 0.000693333 0.0007 +0.000653333 0.000653333 0.000666667 0.00068 0.00072 0.00066 0.00064 0.0007 +0.000673333 0.000693333 0.000666667 0.000633333 0.000666667 0.000693333 0.000686667 0.000673333 +0.00068 0.00068 0.000673333 0.000646667 0.00068 0.000686667 0.00066 0.000646667 +0.000666667 0.000693333 0.000673333 0.000653333 0.000673333 0.000686667 0.000666667 0.000673333 +0.000666667 0.000673333 0.00068 0.000666667 0.00066 0.00068 0.000673333 0.000693333 +0.000706667 0.000693333 0.000653333 0.000673333 0.00066 0.00064 0.00066 0.000713333 +0.000686667 0.000633333 0.000666667 0.000686667 0.000666667 0.000626667 0.00064 0.000693333 +0.000686667 0.00066 0.000646667 0.000666667 0.00068 0.00066 0.00068 0.000706667 +0.000686667 0.000686667 0.000666667 0.000653333 0.00066 0.000673333 0.000686667 0.000686667 +0.000673333 0.000673333 0.0007 0.000706667 0.000693333 0.000686667 0.0007 0.000713333 +0.000733333 0.000726667 0.00072 0.000713333 0.000706667 0.000693333 0.000686667 0.00072 +0.0007 0.000693333 0.000686667 0.000693333 0.000706667 0.0007 0.000706667 0.000713333 +0.00072 0.000713333 0.0007 0.000686667 0.0007 0.000726667 0.000726667 0.00072 +0.000706667 0.000706667 0.000713333 0.000733333 0.000686667 0.000713333 0.0007 0.000726667 +0.000746667 0.000726667 0.000713333 0.000713333 0.00068 0.000706667 0.000713333 0.0007 +0.000706667 0.000733333 0.000746667 0.000773333 0.000726667 0.0007 0.000733333 0.000726667 +0.000726667 0.00072 0.00074 0.000733333 0.000726667 0.000746667 0.000726667 0.000726667 +0.00076 0.000746667 0.000733333 0.000706667 0.000726667 0.000726667 0.000753333 0.000786667 +0.000766667 0.00074 0.000753333 0.000786667 0.000773333 0.000766667 0.000733333 0.000746667 +0.000766667 0.00078 0.000806667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000753333 0.000746667 0.000746667 0.000753333 +0.00078 0.000746667 0.000726667 0.000746667 0.000733333 0.00072 0.00072 0.000706667 +0.000733333 0.000746667 0.000753333 0.00074 0.00074 0.000726667 0.000733333 0.000746667 +0.000746667 0.000746667 0.00072 0.000686667 0.000706667 0.000713333 0.000733333 0.00074 +0.000693333 0.000693333 0.000686667 0.000673333 0.000726667 0.00074 0.000733333 0.00074 +0.00072 0.000693333 0.000693333 0.000706667 0.000713333 0.000706667 0.000733333 0.00074 +0.000726667 0.000713333 0.00074 0.00074 0.000693333 0.000706667 0.000713333 0.000693333 +0.000686667 0.000706667 0.000713333 0.0007 0.00072 0.000686667 0.000666667 0.000673333 +0.0007 0.000713333 0.00072 0.000726667 0.000726667 0.000733333 0.00074 0.00072 +0.000693333 0.000706667 0.000713333 0.000706667 0.00072 0.000706667 0.000706667 0.00072 +0.000693333 0.00068 0.000686667 0.0007 0.000693333 0.0007 0.00072 0.00072 +0.000686667 0.000666667 0.000686667 0.0007 0.0007 0.000693333 0.00068 0.0007 +0.00072 0.000693333 0.00068 0.000686667 0.000673333 0.00068 0.000693333 0.000693333 +0.00068 0.000686667 0.00068 0.000653333 0.00066 0.000673333 0.000693333 0.000673333 +0.000693333 0.0007 0.000666667 0.000673333 0.000666667 0.000686667 0.0007 0.000693333 +0.000686667 0.00068 0.00066 0.00066 0.000693333 0.000693333 0.000673333 0.000686667 +0.00068 0.000646667 0.00064 0.000673333 0.00066 0.000653333 0.00068 0.00068 +0.000673333 0.000693333 0.00066 0.000653333 0.000646667 0.000693333 0.000693333 0.00068 +0.000666667 0.00064 0.000666667 0.000693333 0.000673333 0.000673333 0.000653333 0.000686667 +0.00068 0.000686667 0.00072 0.00068 0.00066 0.00068 0.00068 0.000693333 +0.000693333 0.000673333 0.00066 0.00066 0.000666667 0.00068 0.000686667 0.000706667 +0.000693333 0.00068 0.0007 0.000673333 0.000686667 0.000693333 0.00068 0.00066 +0.00068 0.000693333 0.000713333 0.0007 0.000693333 0.00068 0.000686667 0.0007 +0.000706667 0.0007 0.000666667 0.0007 0.000693333 0.00068 0.000693333 0.000686667 +0.0007 0.00068 0.000686667 0.000693333 0.000693333 0.0007 0.00068 0.000686667 +0.000693333 0.000686667 0.000666667 0.000673333 0.0007 0.000673333 0.000693333 0.000693333 +0.000673333 0.000673333 0.00068 0.00066 0.00068 0.000706667 0.000706667 0.000686667 +0.000686667 0.00066 0.00066 0.00068 0.000686667 0.000686667 0.000693333 0.000713333 +0.00072 0.0007 0.0007 0.00068 0.000673333 0.00068 0.000693333 0.000673333 +0.000666667 0.000693333 0.000686667 0.000673333 0.000673333 0.000706667 0.00068 0.000673333 +0.000686667 0.0007 0.0007 0.000666667 0.000713333 0.000706667 0.000693333 0.0007 +0.0007 0.00068 0.00068 0.00068 0.000686667 0.000686667 0.000706667 0.000686667 +0.000673333 0.000686667 0.000706667 0.000693333 0.0007 0.000706667 0.00066 0.00068 +0.00072 0.0007 0.000693333 0.000673333 0.000686667 0.00072 0.000686667 0.000646667 +0.000673333 0.00072 0.00068 0.000673333 0.000693333 0.0007 0.000706667 0.000666667 +0.000673333 0.00072 0.000713333 0.000673333 0.00066 0.0007 0.0007 0.00068 +0.000686667 0.000686667 0.00068 0.000673333 0.000666667 0.000646667 0.000686667 0.000686667 +0.000686667 0.000673333 0.000686667 0.000693333 0.000706667 0.00066 0.00066 0.0007 +0.00068 0.000686667 0.000646667 0.000626667 0.000666667 0.000686667 0.000666667 0.000686667 +0.00068 0.00068 0.000666667 0.000653333 0.000686667 0.000646667 0.000646667 0.000653333 +0.000666667 0.000686667 0.00068 0.000673333 0.00066 0.000673333 0.000693333 0.00068 +0.000666667 0.00068 0.000673333 0.000653333 0.000673333 0.000666667 0.000666667 0.0007 +0.0007 0.00068 0.000666667 0.00068 0.00064 0.000633333 0.00066 0.000706667 +0.000673333 0.000633333 0.0007 0.000706667 0.000646667 0.000626667 0.000666667 0.00068 +0.000666667 0.000666667 0.000646667 0.000653333 0.000686667 0.000686667 0.000693333 0.000686667 +0.000686667 0.00068 0.000653333 0.000653333 0.000673333 0.000686667 0.000673333 0.00066 +0.000673333 0.0007 0.000713333 0.0007 0.000693333 0.0007 0.0007 0.000706667 +0.000706667 0.000733333 0.000726667 0.000693333 0.00072 0.000693333 0.0007 0.0007 +0.000686667 0.00068 0.0007 0.0007 0.00068 0.000713333 0.000706667 0.000733333 +0.000713333 0.000693333 0.000673333 0.000693333 0.000693333 0.00072 0.00074 0.00072 +0.000713333 0.000706667 0.00072 0.000713333 0.000706667 0.000726667 0.000726667 0.000726667 +0.00072 0.000733333 0.000686667 0.0007 0.00072 0.00072 0.000706667 0.0007 +0.000713333 0.000726667 0.00076 0.000773333 0.000726667 0.0007 0.000753333 0.000713333 +0.000726667 0.000746667 0.000746667 0.000726667 0.000746667 0.00072 0.000746667 0.00076 +0.000746667 0.000713333 0.000733333 0.00072 0.00074 0.000766667 0.000786667 0.000773333 +0.000733333 0.000733333 0.000773333 0.000786667 0.000773333 0.000733333 0.000753333 0.00078 +0.00078 0.000746667 0.000746667 0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00076 0.00068 0.0007 0.00074 0.000746667 +0.000753333 0.00078 0.00074 0.000733333 0.00072 0.000713333 0.00074 0.000746667 +0.000733333 0.000726667 0.00074 0.000726667 0.000726667 0.00074 0.00074 0.000753333 +0.000746667 0.000733333 0.000726667 0.000726667 0.00072 0.000686667 0.0007 0.000733333 +0.000733333 0.000706667 0.000713333 0.000693333 0.00072 0.000726667 0.00072 0.000733333 +0.00078 0.00074 0.000686667 0.000693333 0.000713333 0.00072 0.000713333 0.00072 +0.00072 0.00072 0.000733333 0.00072 0.00072 0.000706667 0.000706667 0.000713333 +0.000693333 0.0007 0.000706667 0.000706667 0.000706667 0.0007 0.0007 0.000693333 +0.0007 0.0007 0.000713333 0.00072 0.00072 0.000726667 0.000746667 0.000746667 +0.00072 0.000713333 0.00068 0.000666667 0.000706667 0.000706667 0.000713333 0.000733333 +0.000713333 0.000673333 0.00068 0.0007 0.000713333 0.000706667 0.000693333 0.0007 +0.0007 0.00068 0.00068 0.000686667 0.000706667 0.000706667 0.000686667 0.000693333 +0.0007 0.000686667 0.000686667 0.000693333 0.00068 0.000686667 0.000686667 0.000686667 +0.00068 0.000693333 0.000686667 0.000653333 0.00066 0.000666667 0.000673333 0.000673333 +0.000686667 0.000686667 0.00066 0.000653333 0.000673333 0.00068 0.000693333 0.000713333 +0.0007 0.000686667 0.000693333 0.00066 0.00066 0.000673333 0.00066 0.00066 +0.000666667 0.000673333 0.000646667 0.000666667 0.00066 0.000666667 0.000673333 0.000666667 +0.000693333 0.000713333 0.000686667 0.000646667 0.000646667 0.00068 0.00068 0.000666667 +0.000673333 0.000673333 0.00068 0.00068 0.000666667 0.00068 0.00066 0.00068 +0.00068 0.00068 0.00072 0.000693333 0.000673333 0.00066 0.000666667 0.00068 +0.00068 0.000693333 0.000673333 0.000646667 0.000673333 0.00068 0.000673333 0.000706667 +0.000713333 0.00068 0.000686667 0.00066 0.000673333 0.000706667 0.000706667 0.00068 +0.00068 0.0007 0.0007 0.000693333 0.00068 0.0007 0.000686667 0.000673333 +0.000686667 0.000686667 0.000686667 0.000713333 0.000706667 0.000693333 0.000673333 0.000666667 +0.000706667 0.0007 0.000693333 0.00068 0.00068 0.0007 0.000686667 0.000686667 +0.000686667 0.00068 0.000673333 0.000666667 0.0007 0.000686667 0.00068 0.0007 +0.000673333 0.000673333 0.0007 0.00068 0.000646667 0.000693333 0.000713333 0.000686667 +0.000686667 0.00066 0.00066 0.000686667 0.000713333 0.0007 0.00066 0.000686667 +0.000706667 0.000693333 0.00068 0.00068 0.000693333 0.000686667 0.000693333 0.000666667 +0.000666667 0.00068 0.000686667 0.000693333 0.000666667 0.000693333 0.000686667 0.000673333 +0.000686667 0.000693333 0.0007 0.00066 0.0007 0.0007 0.00068 0.000693333 +0.000706667 0.00068 0.00068 0.000673333 0.00068 0.000686667 0.00072 0.000686667 +0.000673333 0.000693333 0.00072 0.000693333 0.00068 0.0007 0.000666667 0.000673333 +0.000713333 0.0007 0.000713333 0.00068 0.000666667 0.000713333 0.000693333 0.000646667 +0.00066 0.000713333 0.000686667 0.000673333 0.000686667 0.0007 0.000713333 0.00066 +0.00066 0.000706667 0.00072 0.00066 0.00066 0.000713333 0.000686667 0.0007 +0.000693333 0.000673333 0.00068 0.00066 0.000653333 0.000653333 0.000706667 0.000693333 +0.000666667 0.000686667 0.0007 0.0007 0.000706667 0.000666667 0.00068 0.000693333 +0.00068 0.000693333 0.000633333 0.00066 0.000673333 0.000673333 0.00068 0.000706667 +0.000673333 0.000673333 0.000666667 0.00068 0.0007 0.00066 0.000666667 0.000666667 +0.000653333 0.000673333 0.000693333 0.000673333 0.000646667 0.000653333 0.000686667 0.000673333 +0.00066 0.00068 0.00066 0.000646667 0.000673333 0.000666667 0.00068 0.000693333 +0.000666667 0.000666667 0.00068 0.000666667 0.000633333 0.000646667 0.000673333 0.00068 +0.000653333 0.00066 0.000693333 0.000673333 0.00064 0.00066 0.000673333 0.000653333 +0.00066 0.000673333 0.00066 0.00066 0.00068 0.000686667 0.000673333 0.000673333 +0.0007 0.000666667 0.000633333 0.000653333 0.000693333 0.00068 0.000666667 0.000666667 +0.000693333 0.00072 0.0007 0.000686667 0.000713333 0.0007 0.000693333 0.0007 +0.000693333 0.000726667 0.000706667 0.0007 0.00072 0.000706667 0.0007 0.00068 +0.000693333 0.0007 0.000713333 0.000686667 0.00068 0.000726667 0.000726667 0.00072 +0.00068 0.00068 0.000693333 0.0007 0.000686667 0.00072 0.00074 0.00072 +0.000706667 0.0007 0.0007 0.000686667 0.000713333 0.00074 0.000753333 0.000726667 +0.000706667 0.0007 0.00068 0.0007 0.00074 0.000713333 0.00072 0.000713333 +0.000713333 0.000713333 0.00076 0.000746667 0.00072 0.00072 0.00074 0.00072 +0.00074 0.00074 0.00072 0.00074 0.000726667 0.0007 0.000753333 0.000733333 +0.000713333 0.00072 0.000746667 0.000726667 0.000773333 0.000793333 0.00076 0.000726667 +0.000733333 0.000753333 0.000773333 0.000773333 0.000746667 0.00074 0.000786667 0.00078 +0.00076 0.000746667 0.00076 0.000753333 0.00078 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00078 0.000753333 0.000733333 0.000706667 0.000726667 0.000746667 +0.000733333 0.000753333 0.000753333 0.00072 0.000713333 0.000726667 0.000733333 0.000753333 +0.000766667 0.000733333 0.000733333 0.000733333 0.00072 0.00072 0.000746667 0.000753333 +0.000733333 0.000726667 0.000726667 0.00074 0.00074 0.000733333 0.00072 0.000693333 +0.000713333 0.000726667 0.000733333 0.00072 0.000713333 0.000693333 0.000706667 0.000713333 +0.000746667 0.000746667 0.00074 0.0007 0.000673333 0.0007 0.000693333 0.000706667 +0.000713333 0.000713333 0.000713333 0.000713333 0.00072 0.000713333 0.000726667 0.000726667 +0.000713333 0.000693333 0.000693333 0.000706667 0.0007 0.000713333 0.000713333 0.000713333 +0.000713333 0.0007 0.000693333 0.000686667 0.00072 0.000726667 0.000726667 0.000733333 +0.000726667 0.000726667 0.000706667 0.00068 0.00068 0.0007 0.000726667 0.00072 +0.00072 0.00068 0.000686667 0.0007 0.000713333 0.000713333 0.000686667 0.000686667 +0.000693333 0.000706667 0.000693333 0.000673333 0.000686667 0.000713333 0.000706667 0.000693333 +0.000686667 0.0007 0.000706667 0.000693333 0.000686667 0.00068 0.00068 0.000686667 +0.000693333 0.000686667 0.000666667 0.00066 0.00068 0.00068 0.000653333 0.000666667 +0.000686667 0.00068 0.000653333 0.000646667 0.000686667 0.000686667 0.000686667 0.000713333 +0.000706667 0.000686667 0.0007 0.00068 0.000646667 0.000646667 0.000646667 0.00066 +0.000666667 0.00066 0.000653333 0.00066 0.00066 0.000686667 0.000653333 0.000646667 +0.00068 0.000706667 0.000706667 0.000666667 0.00066 0.000666667 0.000673333 0.000673333 +0.00068 0.000693333 0.00068 0.000686667 0.000673333 0.00066 0.00068 0.00068 +0.00066 0.000673333 0.000693333 0.000693333 0.00068 0.000666667 0.00068 0.00068 +0.00068 0.000686667 0.00068 0.000646667 0.000653333 0.00068 0.000673333 0.000693333 +0.00072 0.000693333 0.00068 0.00068 0.000686667 0.000686667 0.000686667 0.00068 +0.000686667 0.000706667 0.0007 0.000706667 0.000686667 0.000706667 0.0007 0.000673333 +0.000673333 0.000686667 0.000693333 0.000706667 0.000706667 0.0007 0.000673333 0.000646667 +0.00068 0.000693333 0.000706667 0.000686667 0.000673333 0.0007 0.000686667 0.000686667 +0.0007 0.000673333 0.00066 0.00066 0.000693333 0.00068 0.000686667 0.00068 +0.00068 0.00068 0.000693333 0.000693333 0.00066 0.000686667 0.0007 0.00068 +0.000673333 0.000653333 0.000686667 0.0007 0.0007 0.000706667 0.00066 0.00068 +0.000713333 0.000686667 0.00068 0.000686667 0.000686667 0.000686667 0.000693333 0.000666667 +0.000673333 0.000693333 0.00068 0.000693333 0.00068 0.00068 0.000666667 0.000666667 +0.0007 0.000686667 0.000706667 0.000666667 0.000673333 0.000686667 0.00066 0.000673333 +0.000706667 0.000693333 0.000666667 0.00066 0.000693333 0.000706667 0.000713333 0.000686667 +0.00068 0.000693333 0.000726667 0.000706667 0.000666667 0.00068 0.000673333 0.00068 +0.0007 0.000713333 0.000733333 0.00068 0.00066 0.000706667 0.00068 0.000666667 +0.000673333 0.000686667 0.000693333 0.0007 0.000713333 0.0007 0.0007 0.000646667 +0.000653333 0.00068 0.000706667 0.00066 0.000666667 0.00068 0.000693333 0.00072 +0.000686667 0.000666667 0.000686667 0.000666667 0.000653333 0.00068 0.000726667 0.00068 +0.00066 0.00068 0.0007 0.000693333 0.0007 0.000666667 0.000693333 0.000686667 +0.000666667 0.000666667 0.000633333 0.000686667 0.000686667 0.000673333 0.000686667 0.000686667 +0.00066 0.00066 0.000673333 0.000686667 0.000686667 0.00068 0.000693333 0.000673333 +0.000666667 0.000666667 0.00068 0.000666667 0.000666667 0.00066 0.000666667 0.000673333 +0.000673333 0.00068 0.000646667 0.000646667 0.00068 0.000693333 0.00068 0.000666667 +0.000666667 0.000666667 0.000673333 0.000666667 0.000653333 0.000666667 0.000666667 0.000666667 +0.000646667 0.000673333 0.000673333 0.000666667 0.000646667 0.000653333 0.00068 0.00066 +0.00066 0.00068 0.000666667 0.00066 0.00068 0.000673333 0.00068 0.000693333 +0.0007 0.00066 0.000646667 0.000666667 0.000666667 0.00066 0.000686667 0.000693333 +0.000693333 0.000706667 0.00068 0.000693333 0.000713333 0.00068 0.000686667 0.0007 +0.000693333 0.00072 0.00072 0.00072 0.000713333 0.0007 0.000653333 0.00066 +0.00072 0.00072 0.000686667 0.000666667 0.0007 0.000733333 0.00074 0.000686667 +0.00066 0.00068 0.0007 0.000706667 0.000706667 0.000713333 0.000733333 0.00072 +0.0007 0.000706667 0.000686667 0.00068 0.00072 0.000733333 0.000746667 0.000706667 +0.000706667 0.000693333 0.000706667 0.000713333 0.00074 0.00072 0.00074 0.00072 +0.000706667 0.000726667 0.000753333 0.000733333 0.000713333 0.000713333 0.000726667 0.000733333 +0.000726667 0.000733333 0.000733333 0.000746667 0.000713333 0.000713333 0.000733333 0.000713333 +0.000726667 0.000733333 0.00076 0.00076 0.000766667 0.000766667 0.000726667 0.000726667 +0.000746667 0.000746667 0.000753333 0.000766667 0.00076 0.00076 0.00078 0.00074 +0.00076 0.000773333 0.000786667 0.000753333 0.00074 0.000753333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00078 0.00072 0.0007 0.00074 0.000773333 0.00074 0.000733333 +0.00072 0.000733333 0.00074 0.00074 0.00074 0.00074 0.0007 0.0007 +0.000746667 0.000746667 0.000746667 0.00074 0.000726667 0.00072 0.000726667 0.000726667 +0.000733333 0.00076 0.000746667 0.00072 0.000713333 0.000733333 0.000753333 0.00072 +0.0007 0.000713333 0.000726667 0.000726667 0.000713333 0.000693333 0.000686667 0.0007 +0.000706667 0.000713333 0.00072 0.000706667 0.000693333 0.000713333 0.0007 0.000706667 +0.000713333 0.000693333 0.000693333 0.00072 0.00072 0.000733333 0.000746667 0.00074 +0.000733333 0.000713333 0.0007 0.000693333 0.000693333 0.000713333 0.000693333 0.0007 +0.00072 0.000706667 0.0007 0.000693333 0.000726667 0.000733333 0.000726667 0.000713333 +0.00072 0.00072 0.00072 0.000733333 0.000693333 0.00068 0.000706667 0.000713333 +0.000733333 0.0007 0.000706667 0.000693333 0.000686667 0.000713333 0.0007 0.000693333 +0.00068 0.000693333 0.0007 0.000693333 0.000693333 0.00068 0.000693333 0.000693333 +0.0007 0.00072 0.00072 0.000693333 0.000673333 0.000686667 0.000673333 0.00066 +0.00068 0.0007 0.000666667 0.000653333 0.000666667 0.000686667 0.00068 0.000673333 +0.000666667 0.000673333 0.000673333 0.00066 0.00066 0.000673333 0.00068 0.0007 +0.000706667 0.000693333 0.00068 0.000693333 0.00066 0.000646667 0.000653333 0.000653333 +0.00068 0.00066 0.000653333 0.00064 0.00066 0.0007 0.000666667 0.000646667 +0.00066 0.0007 0.000713333 0.000686667 0.00066 0.000646667 0.000686667 0.000686667 +0.000666667 0.00068 0.00068 0.0007 0.00068 0.000633333 0.000673333 0.00068 +0.00068 0.00068 0.000686667 0.0007 0.00068 0.00066 0.000686667 0.000673333 +0.00068 0.000686667 0.000673333 0.000666667 0.000666667 0.000666667 0.00068 0.000673333 +0.0007 0.0007 0.000693333 0.000693333 0.000686667 0.000673333 0.000666667 0.000673333 +0.0007 0.000706667 0.00068 0.000706667 0.000713333 0.0007 0.000693333 0.000686667 +0.000673333 0.0007 0.000693333 0.000693333 0.0007 0.00068 0.00068 0.00066 +0.000673333 0.000686667 0.00072 0.000693333 0.00066 0.000673333 0.0007 0.000706667 +0.000706667 0.000666667 0.000653333 0.000666667 0.000686667 0.0007 0.000693333 0.000673333 +0.000673333 0.00068 0.000686667 0.000693333 0.00068 0.00068 0.000686667 0.00068 +0.000673333 0.000666667 0.00068 0.000706667 0.000706667 0.000706667 0.000666667 0.00068 +0.000706667 0.000706667 0.000686667 0.000686667 0.0007 0.000686667 0.000693333 0.000673333 +0.00068 0.000713333 0.00068 0.000686667 0.000706667 0.000686667 0.000646667 0.00066 +0.00068 0.00068 0.0007 0.000673333 0.000693333 0.0007 0.000666667 0.00068 +0.000713333 0.000713333 0.00068 0.000653333 0.000693333 0.0007 0.0007 0.00068 +0.000666667 0.00068 0.000713333 0.0007 0.000693333 0.00068 0.000666667 0.000686667 +0.00068 0.000706667 0.00074 0.000673333 0.000666667 0.000713333 0.000673333 0.000666667 +0.00068 0.000686667 0.00068 0.000693333 0.000713333 0.000706667 0.000673333 0.000646667 +0.000673333 0.00068 0.000713333 0.000673333 0.000673333 0.000666667 0.000686667 0.000706667 +0.000673333 0.000673333 0.000706667 0.000673333 0.00066 0.000686667 0.000693333 0.000666667 +0.000673333 0.000666667 0.000686667 0.0007 0.000686667 0.000666667 0.00068 0.000673333 +0.000666667 0.000646667 0.000646667 0.000686667 0.000693333 0.00068 0.000673333 0.000666667 +0.000666667 0.00066 0.000653333 0.000666667 0.000666667 0.000693333 0.000686667 0.00066 +0.00068 0.00068 0.000666667 0.000666667 0.000673333 0.000666667 0.000646667 0.000686667 +0.000713333 0.00068 0.000646667 0.000653333 0.000673333 0.000686667 0.000673333 0.000653333 +0.00066 0.000673333 0.00068 0.000673333 0.000666667 0.000646667 0.00066 0.000666667 +0.000653333 0.000653333 0.000666667 0.000673333 0.000653333 0.000646667 0.000686667 0.00066 +0.000646667 0.00068 0.000666667 0.000666667 0.000666667 0.000673333 0.0007 0.000693333 +0.000673333 0.000673333 0.000693333 0.000673333 0.000646667 0.000673333 0.0007 0.000693333 +0.000693333 0.0007 0.000686667 0.000693333 0.000693333 0.000673333 0.00072 0.00072 +0.000706667 0.000713333 0.000733333 0.000726667 0.000693333 0.000673333 0.000646667 0.000666667 +0.000726667 0.000706667 0.00066 0.000673333 0.0007 0.00072 0.000733333 0.000693333 +0.00068 0.000686667 0.00068 0.00072 0.000733333 0.000706667 0.00072 0.00072 +0.0007 0.000706667 0.000673333 0.000693333 0.000733333 0.000746667 0.000733333 0.000706667 +0.000706667 0.000706667 0.00072 0.000706667 0.000746667 0.00072 0.000733333 0.00072 +0.000726667 0.000753333 0.000753333 0.000726667 0.000706667 0.000726667 0.00074 0.000733333 +0.00072 0.000733333 0.000733333 0.000726667 0.000726667 0.000726667 0.000706667 0.00072 +0.000726667 0.000753333 0.00076 0.000746667 0.000733333 0.000746667 0.00074 0.000733333 +0.000733333 0.000753333 0.00076 0.000773333 0.000773333 0.000746667 0.000753333 0.000733333 +0.000766667 0.000793333 0.000766667 0.000726667 0.00074 0.000773333 0.000813333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000793333 0.00074 0.000726667 0.00072 0.000713333 0.000746667 0.00076 0.000733333 +0.000726667 0.00072 0.000733333 0.00074 0.000746667 0.000746667 0.000713333 0.00068 +0.0007 0.000733333 0.00074 0.000733333 0.00074 0.00074 0.000733333 0.000713333 +0.000706667 0.000746667 0.000746667 0.000746667 0.00072 0.000713333 0.000733333 0.00074 +0.00074 0.00072 0.000706667 0.000706667 0.000706667 0.00072 0.0007 0.000686667 +0.00068 0.000693333 0.00072 0.000713333 0.000713333 0.000713333 0.000713333 0.000706667 +0.0007 0.0007 0.000686667 0.000706667 0.000706667 0.000713333 0.000746667 0.000726667 +0.00072 0.000706667 0.00072 0.000726667 0.000706667 0.000686667 0.00068 0.000686667 +0.000706667 0.000713333 0.0007 0.000706667 0.0007 0.000713333 0.000746667 0.00072 +0.000693333 0.000713333 0.000706667 0.000726667 0.00072 0.000706667 0.000693333 0.000693333 +0.000706667 0.000706667 0.000726667 0.000686667 0.00066 0.00068 0.000693333 0.0007 +0.00068 0.00068 0.000686667 0.000686667 0.0007 0.0007 0.00068 0.000673333 +0.000693333 0.00072 0.00072 0.0007 0.00066 0.000666667 0.000673333 0.00066 +0.000666667 0.000693333 0.000693333 0.00068 0.000666667 0.000646667 0.000673333 0.000686667 +0.00066 0.000666667 0.000686667 0.000686667 0.000673333 0.000673333 0.00068 0.000693333 +0.0007 0.000693333 0.00068 0.000693333 0.00068 0.000653333 0.000666667 0.000646667 +0.000653333 0.00066 0.00066 0.000646667 0.000673333 0.00068 0.00068 0.00068 +0.000666667 0.000686667 0.000693333 0.000706667 0.000693333 0.000646667 0.000673333 0.000673333 +0.00068 0.000686667 0.000673333 0.000693333 0.00068 0.000633333 0.000646667 0.000673333 +0.000706667 0.0007 0.000686667 0.0007 0.000686667 0.000666667 0.000686667 0.00068 +0.000673333 0.00068 0.00068 0.000693333 0.00068 0.000666667 0.000673333 0.000673333 +0.000686667 0.000673333 0.000673333 0.000693333 0.0007 0.0007 0.000693333 0.000653333 +0.000686667 0.000713333 0.00066 0.000686667 0.00072 0.0007 0.000686667 0.000686667 +0.000686667 0.00068 0.000666667 0.000686667 0.000713333 0.000673333 0.0007 0.000666667 +0.000666667 0.00068 0.000706667 0.000713333 0.00066 0.000653333 0.00068 0.000693333 +0.000693333 0.000666667 0.00066 0.000666667 0.000673333 0.0007 0.0007 0.000693333 +0.000686667 0.000673333 0.000686667 0.0007 0.000686667 0.000693333 0.000686667 0.000666667 +0.000666667 0.000686667 0.000673333 0.0007 0.0007 0.000693333 0.000673333 0.000673333 +0.00072 0.000733333 0.0007 0.000686667 0.000693333 0.000686667 0.000673333 0.000686667 +0.000686667 0.0007 0.00068 0.000693333 0.0007 0.000686667 0.000653333 0.000666667 +0.000686667 0.00068 0.000706667 0.000693333 0.000713333 0.000713333 0.000666667 0.00068 +0.000713333 0.000706667 0.0007 0.000673333 0.000686667 0.00068 0.000693333 0.0007 +0.000653333 0.000673333 0.000706667 0.000693333 0.000686667 0.00068 0.00066 0.000693333 +0.000686667 0.000693333 0.000713333 0.00068 0.000673333 0.000706667 0.000666667 0.000666667 +0.000693333 0.0007 0.00068 0.00068 0.000686667 0.000673333 0.00066 0.00066 +0.000686667 0.000693333 0.000726667 0.00066 0.000666667 0.00068 0.000666667 0.00068 +0.000686667 0.0007 0.000713333 0.000673333 0.00068 0.000686667 0.00068 0.00068 +0.000686667 0.000673333 0.000686667 0.000706667 0.00068 0.000666667 0.000666667 0.00066 +0.000673333 0.000653333 0.000653333 0.000686667 0.000686667 0.000693333 0.00068 0.00068 +0.000693333 0.000673333 0.000653333 0.000653333 0.00068 0.000693333 0.00068 0.000646667 +0.000673333 0.000686667 0.00066 0.00068 0.000666667 0.00066 0.000646667 0.000686667 +0.00072 0.000673333 0.00066 0.000666667 0.00066 0.000666667 0.00068 0.00066 +0.000646667 0.000673333 0.000693333 0.000666667 0.00066 0.000653333 0.000673333 0.00066 +0.000646667 0.000646667 0.000666667 0.000653333 0.000646667 0.00068 0.000673333 0.000653333 +0.00066 0.00066 0.00066 0.000673333 0.000653333 0.000686667 0.000706667 0.000673333 +0.000666667 0.000693333 0.000686667 0.000646667 0.000666667 0.000713333 0.000693333 0.00066 +0.00068 0.0007 0.0007 0.000686667 0.000666667 0.000673333 0.000713333 0.00072 +0.000726667 0.000726667 0.000726667 0.0007 0.000666667 0.000673333 0.000686667 0.000686667 +0.00072 0.0007 0.00068 0.0007 0.000693333 0.000706667 0.00072 0.000706667 +0.00068 0.000686667 0.000706667 0.00074 0.000733333 0.00068 0.000706667 0.00072 +0.000713333 0.000706667 0.000706667 0.000713333 0.000733333 0.00072 0.000706667 0.000713333 +0.000686667 0.000706667 0.00074 0.00074 0.000733333 0.00072 0.000706667 0.00074 +0.000753333 0.000753333 0.00074 0.000726667 0.0007 0.000733333 0.000726667 0.000726667 +0.000746667 0.00074 0.000726667 0.000713333 0.000726667 0.000726667 0.00072 0.000753333 +0.00074 0.00076 0.00074 0.000733333 0.00074 0.00076 0.000746667 0.00072 +0.00074 0.000766667 0.00076 0.000766667 0.000753333 0.000726667 0.000746667 0.000753333 +0.000766667 0.00076 0.000733333 0.00074 0.000786667 0.000813333 0.00078 0.000773333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000733333 +0.00074 0.00076 0.000746667 0.00074 0.000713333 0.0007 0.000733333 0.000766667 +0.000746667 0.000733333 0.00072 0.000713333 0.000726667 0.00074 0.000766667 0.00076 +0.000693333 0.000686667 0.000713333 0.000726667 0.000746667 0.000726667 0.00072 0.0007 +0.0007 0.00072 0.000726667 0.000746667 0.000733333 0.000726667 0.000713333 0.000686667 +0.000733333 0.000753333 0.000733333 0.000713333 0.0007 0.0007 0.000706667 0.00072 +0.000706667 0.000666667 0.0007 0.000713333 0.000733333 0.0007 0.0007 0.000706667 +0.0007 0.000726667 0.0007 0.0007 0.0007 0.00068 0.000693333 0.000706667 +0.00074 0.00074 0.00072 0.00072 0.00072 0.000686667 0.000686667 0.0007 +0.000693333 0.000706667 0.0007 0.0007 0.000693333 0.00068 0.000726667 0.000733333 +0.0007 0.0007 0.000693333 0.0007 0.000713333 0.00074 0.00072 0.000706667 +0.000706667 0.0007 0.000726667 0.000706667 0.000686667 0.000673333 0.00068 0.000686667 +0.000686667 0.000706667 0.000693333 0.000666667 0.00068 0.00072 0.000706667 0.000666667 +0.000666667 0.0007 0.000706667 0.000706667 0.0007 0.000673333 0.000653333 0.00066 +0.00068 0.000666667 0.000673333 0.000693333 0.000686667 0.000653333 0.000646667 0.00066 +0.000666667 0.000686667 0.0007 0.000693333 0.00068 0.000666667 0.000673333 0.000673333 +0.000673333 0.000673333 0.000686667 0.000686667 0.000686667 0.000646667 0.00066 0.00066 +0.000626667 0.000653333 0.00066 0.000666667 0.000673333 0.00066 0.00068 0.00068 +0.000673333 0.000666667 0.000673333 0.000713333 0.000726667 0.000673333 0.000653333 0.00064 +0.000666667 0.000693333 0.000673333 0.000666667 0.000686667 0.000686667 0.00066 0.000666667 +0.00068 0.000673333 0.000673333 0.000706667 0.000693333 0.00068 0.000693333 0.000693333 +0.00066 0.000646667 0.00068 0.0007 0.000673333 0.00068 0.000673333 0.000653333 +0.000666667 0.000673333 0.000673333 0.0007 0.000693333 0.000706667 0.000706667 0.000653333 +0.00066 0.0007 0.00068 0.000686667 0.000706667 0.0007 0.000686667 0.000693333 +0.000713333 0.000666667 0.000646667 0.00066 0.0007 0.000686667 0.000706667 0.000673333 +0.000673333 0.00068 0.00068 0.00072 0.000706667 0.000673333 0.00068 0.000673333 +0.000686667 0.0007 0.000666667 0.000653333 0.000673333 0.000693333 0.000693333 0.0007 +0.000693333 0.000673333 0.000673333 0.000686667 0.000686667 0.000693333 0.000706667 0.00068 +0.000666667 0.0007 0.000686667 0.000686667 0.000666667 0.000693333 0.000706667 0.000693333 +0.000713333 0.000726667 0.0007 0.00068 0.000686667 0.000686667 0.000673333 0.00068 +0.000693333 0.0007 0.00068 0.0007 0.000686667 0.000693333 0.000686667 0.000673333 +0.000693333 0.00068 0.000693333 0.000686667 0.000693333 0.000713333 0.000686667 0.000673333 +0.000706667 0.0007 0.000686667 0.0007 0.0007 0.000673333 0.000686667 0.000706667 +0.00066 0.000666667 0.000706667 0.000686667 0.00068 0.000693333 0.00066 0.000693333 +0.000693333 0.000686667 0.0007 0.00068 0.000686667 0.000706667 0.000666667 0.00066 +0.000686667 0.0007 0.000686667 0.000686667 0.000666667 0.00066 0.000673333 0.000673333 +0.000686667 0.0007 0.00072 0.000653333 0.000666667 0.000686667 0.00068 0.000693333 +0.000686667 0.000693333 0.000713333 0.00068 0.00066 0.000673333 0.000686667 0.00068 +0.000673333 0.000686667 0.0007 0.0007 0.000673333 0.000666667 0.000673333 0.000653333 +0.000686667 0.00066 0.000653333 0.000673333 0.000673333 0.000693333 0.00068 0.00068 +0.00068 0.000666667 0.000666667 0.000653333 0.000686667 0.000693333 0.00068 0.000673333 +0.000673333 0.00068 0.00066 0.00068 0.000693333 0.000653333 0.00066 0.000686667 +0.000686667 0.000666667 0.000673333 0.000666667 0.000653333 0.000646667 0.000686667 0.000666667 +0.000646667 0.00068 0.00068 0.000646667 0.000653333 0.000686667 0.000666667 0.000626667 +0.00066 0.000666667 0.000673333 0.00062 0.000653333 0.000706667 0.000673333 0.00068 +0.000673333 0.00064 0.000673333 0.00068 0.000666667 0.0007 0.00068 0.000666667 +0.00068 0.000693333 0.000666667 0.00064 0.000673333 0.000706667 0.000693333 0.000673333 +0.000686667 0.000693333 0.000693333 0.00068 0.00068 0.000706667 0.000706667 0.00072 +0.000726667 0.000713333 0.000713333 0.00068 0.00068 0.000686667 0.0007 0.00068 +0.000706667 0.000713333 0.0007 0.000693333 0.000673333 0.000726667 0.00074 0.000706667 +0.000666667 0.000706667 0.00074 0.000726667 0.000686667 0.000673333 0.000693333 0.000733333 +0.000726667 0.00072 0.000746667 0.00072 0.000706667 0.000713333 0.000706667 0.00072 +0.000686667 0.00072 0.000746667 0.00074 0.000706667 0.00072 0.000713333 0.000753333 +0.000733333 0.000726667 0.000726667 0.000733333 0.000713333 0.000726667 0.00072 0.00074 +0.000746667 0.00074 0.000733333 0.000713333 0.000713333 0.000733333 0.000753333 0.00076 +0.00074 0.00074 0.000746667 0.000753333 0.00076 0.000746667 0.00072 0.000726667 +0.00076 0.000753333 0.000746667 0.000753333 0.000733333 0.000746667 0.00076 0.000773333 +0.000753333 0.00074 0.000753333 0.00078 0.000793333 0.000773333 0.000766667 0.00076 +0.00078 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000753333 0.0007 +0.000693333 0.000726667 0.000786667 0.000773333 0.000746667 0.00072 0.000713333 0.00074 +0.000753333 0.00074 0.00072 0.000713333 0.00072 0.00072 0.000726667 0.00076 +0.00074 0.000726667 0.000726667 0.0007 0.000693333 0.000713333 0.00074 0.000713333 +0.000706667 0.000706667 0.000706667 0.000726667 0.00074 0.00074 0.000733333 0.0007 +0.000706667 0.000713333 0.00074 0.000746667 0.000746667 0.000726667 0.000706667 0.000713333 +0.000713333 0.000686667 0.000686667 0.00068 0.000693333 0.000706667 0.000726667 0.00072 +0.000706667 0.000733333 0.00072 0.0007 0.000686667 0.000686667 0.00068 0.000713333 +0.00074 0.000733333 0.00072 0.0007 0.000713333 0.000706667 0.000706667 0.00072 +0.000706667 0.000686667 0.000673333 0.00068 0.000713333 0.0007 0.0007 0.00072 +0.000733333 0.00072 0.0007 0.0007 0.000706667 0.000733333 0.000726667 0.000726667 +0.00072 0.0007 0.0007 0.000706667 0.00072 0.000706667 0.000686667 0.00068 +0.000693333 0.000706667 0.000693333 0.00068 0.000666667 0.000686667 0.000693333 0.000693333 +0.00068 0.000673333 0.000686667 0.000693333 0.000713333 0.000713333 0.000666667 0.000653333 +0.000673333 0.000666667 0.00066 0.0007 0.000693333 0.000673333 0.000673333 0.00066 +0.00066 0.000673333 0.0007 0.0007 0.00066 0.000646667 0.000666667 0.00068 +0.00068 0.000673333 0.000653333 0.00066 0.00068 0.000673333 0.000666667 0.000666667 +0.000646667 0.000633333 0.000633333 0.000686667 0.000686667 0.00066 0.000666667 0.00066 +0.000673333 0.000673333 0.000673333 0.000693333 0.00072 0.0007 0.00066 0.00064 +0.00064 0.000673333 0.000686667 0.00066 0.000673333 0.0007 0.00068 0.000666667 +0.00066 0.000673333 0.000666667 0.000686667 0.0007 0.000686667 0.000693333 0.0007 +0.00066 0.000646667 0.000653333 0.000686667 0.000673333 0.000666667 0.00068 0.000666667 +0.00066 0.000686667 0.000686667 0.000686667 0.000673333 0.000706667 0.00072 0.000693333 +0.00064 0.000666667 0.000706667 0.000686667 0.000686667 0.000673333 0.000686667 0.000713333 +0.000726667 0.000673333 0.00066 0.00066 0.000673333 0.0007 0.000693333 0.00068 +0.000706667 0.0007 0.000673333 0.0007 0.000706667 0.000686667 0.000693333 0.000673333 +0.000693333 0.000713333 0.000673333 0.000653333 0.00068 0.000693333 0.000673333 0.0007 +0.000693333 0.00068 0.000666667 0.000666667 0.00068 0.000693333 0.000693333 0.0007 +0.00068 0.000693333 0.000693333 0.000686667 0.00066 0.00068 0.000693333 0.00068 +0.000693333 0.00072 0.000693333 0.00068 0.000693333 0.00068 0.000673333 0.000666667 +0.000686667 0.000706667 0.000693333 0.000686667 0.0007 0.0007 0.000693333 0.000693333 +0.0007 0.000673333 0.000666667 0.000673333 0.000686667 0.000706667 0.000706667 0.000686667 +0.000693333 0.0007 0.000673333 0.000693333 0.000693333 0.000673333 0.000673333 0.0007 +0.000666667 0.000666667 0.000706667 0.000693333 0.000686667 0.000686667 0.000666667 0.0007 +0.000673333 0.000693333 0.000713333 0.000673333 0.0007 0.00072 0.000673333 0.000666667 +0.000686667 0.000693333 0.00068 0.00068 0.000666667 0.00068 0.00068 0.000686667 +0.000706667 0.000693333 0.000693333 0.000653333 0.000666667 0.000666667 0.000706667 0.000706667 +0.000673333 0.000693333 0.000726667 0.00068 0.000646667 0.00066 0.00068 0.00066 +0.00066 0.00068 0.0007 0.0007 0.000666667 0.000666667 0.000673333 0.00068 +0.000686667 0.000653333 0.00068 0.000686667 0.00068 0.000693333 0.00068 0.000686667 +0.000673333 0.00064 0.000673333 0.000673333 0.000686667 0.000686667 0.000686667 0.000673333 +0.000666667 0.000673333 0.00066 0.000666667 0.000686667 0.000653333 0.000673333 0.000693333 +0.000673333 0.000673333 0.000673333 0.00066 0.000653333 0.00066 0.000673333 0.000666667 +0.000666667 0.000686667 0.000673333 0.000646667 0.000686667 0.000686667 0.00062 0.000613333 +0.000673333 0.000686667 0.00064 0.000626667 0.00066 0.000693333 0.000673333 0.00068 +0.000666667 0.000646667 0.00068 0.00068 0.000686667 0.000686667 0.00068 0.000666667 +0.000666667 0.000673333 0.00066 0.00066 0.000673333 0.000673333 0.000686667 0.000686667 +0.0007 0.000686667 0.00068 0.000673333 0.000693333 0.00072 0.000706667 0.00074 +0.000733333 0.000693333 0.000693333 0.000686667 0.000713333 0.000686667 0.000673333 0.000686667 +0.0007 0.000713333 0.000693333 0.000693333 0.000693333 0.00072 0.00072 0.0007 +0.000686667 0.00072 0.00072 0.0007 0.00068 0.000686667 0.000686667 0.000746667 +0.000746667 0.000713333 0.000726667 0.0007 0.000706667 0.000713333 0.000706667 0.00072 +0.000726667 0.00074 0.000726667 0.000693333 0.0007 0.00074 0.000746667 0.000733333 +0.000713333 0.000706667 0.00072 0.000746667 0.000733333 0.000726667 0.00074 0.000733333 +0.000726667 0.000713333 0.000713333 0.00072 0.00072 0.000733333 0.00076 0.000746667 +0.000726667 0.000746667 0.000773333 0.00074 0.000733333 0.000733333 0.000733333 0.000753333 +0.000746667 0.000726667 0.00074 0.000753333 0.000753333 0.000766667 0.000773333 0.000766667 +0.00074 0.00076 0.000766667 0.000773333 0.00076 0.000753333 0.000793333 0.000786667 +0.00076 0.000806667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00078 0.000753333 0.000746667 +0.000746667 0.000713333 0.000726667 0.00074 0.000733333 0.000753333 0.000733333 0.00072 +0.00074 0.000746667 0.000746667 0.000733333 0.000713333 0.000706667 0.0007 0.0007 +0.000733333 0.00076 0.000746667 0.000733333 0.000693333 0.000686667 0.00072 0.00072 +0.000713333 0.000706667 0.0007 0.000706667 0.00074 0.000733333 0.000746667 0.00074 +0.0007 0.000686667 0.000713333 0.000733333 0.00076 0.00076 0.000726667 0.000713333 +0.000706667 0.000693333 0.000693333 0.00068 0.000666667 0.00068 0.000713333 0.00074 +0.00074 0.000726667 0.00072 0.000706667 0.000686667 0.000706667 0.000706667 0.000706667 +0.00068 0.00068 0.000726667 0.00072 0.00072 0.000706667 0.000693333 0.000693333 +0.000726667 0.000706667 0.000673333 0.000673333 0.00072 0.000726667 0.0007 0.000693333 +0.000726667 0.000726667 0.000706667 0.000706667 0.000706667 0.000713333 0.000713333 0.000726667 +0.000706667 0.000713333 0.000706667 0.00068 0.0007 0.00072 0.000713333 0.00068 +0.000673333 0.000686667 0.000693333 0.000686667 0.00068 0.000686667 0.000673333 0.00068 +0.000693333 0.00068 0.000673333 0.00068 0.0007 0.000706667 0.000686667 0.000666667 +0.000666667 0.000673333 0.000653333 0.00068 0.000686667 0.000673333 0.000693333 0.00068 +0.00066 0.00064 0.00066 0.0007 0.00068 0.00066 0.000653333 0.000686667 +0.0007 0.000693333 0.000653333 0.000646667 0.000666667 0.00068 0.000686667 0.00066 +0.000666667 0.000653333 0.00064 0.00068 0.000666667 0.00066 0.00066 0.000673333 +0.000686667 0.000673333 0.000686667 0.00068 0.0007 0.000706667 0.000673333 0.000666667 +0.000653333 0.00066 0.000673333 0.000666667 0.000666667 0.000686667 0.000693333 0.000686667 +0.000673333 0.00068 0.000666667 0.000666667 0.000693333 0.000693333 0.00068 0.000693333 +0.00068 0.00066 0.000666667 0.00068 0.000686667 0.000673333 0.00068 0.000686667 +0.000666667 0.00068 0.00068 0.000673333 0.00068 0.000713333 0.00072 0.000713333 +0.000633333 0.000653333 0.000713333 0.000693333 0.000686667 0.00066 0.00068 0.0007 +0.000713333 0.000686667 0.000653333 0.00066 0.00068 0.000706667 0.000693333 0.000673333 +0.000686667 0.0007 0.000693333 0.000693333 0.0007 0.00068 0.00068 0.0007 +0.000693333 0.0007 0.00068 0.00068 0.000673333 0.000673333 0.000686667 0.000686667 +0.000693333 0.000686667 0.00068 0.000673333 0.000673333 0.000686667 0.000686667 0.00068 +0.00068 0.000686667 0.00068 0.00068 0.000686667 0.0007 0.000686667 0.000673333 +0.000693333 0.000713333 0.000693333 0.000686667 0.000693333 0.000666667 0.000673333 0.000666667 +0.000666667 0.0007 0.0007 0.00068 0.000693333 0.000693333 0.000686667 0.000693333 +0.000686667 0.000666667 0.00066 0.000673333 0.000693333 0.000693333 0.00068 0.000673333 +0.000693333 0.000713333 0.000666667 0.000673333 0.00068 0.000686667 0.000693333 0.0007 +0.00068 0.000673333 0.000706667 0.0007 0.000686667 0.000673333 0.000666667 0.000693333 +0.000666667 0.000693333 0.000726667 0.000673333 0.00068 0.000713333 0.000673333 0.000666667 +0.000686667 0.000693333 0.000673333 0.000666667 0.000673333 0.000673333 0.00066 0.00068 +0.000693333 0.00068 0.000693333 0.000666667 0.00066 0.000666667 0.000713333 0.000693333 +0.00066 0.000713333 0.00072 0.000673333 0.000666667 0.00068 0.000686667 0.000666667 +0.000653333 0.00068 0.000706667 0.000706667 0.000666667 0.000653333 0.00066 0.000693333 +0.000686667 0.00066 0.000686667 0.000686667 0.00068 0.000673333 0.00066 0.0007 +0.000666667 0.000646667 0.000673333 0.000686667 0.000686667 0.000673333 0.000673333 0.000673333 +0.000686667 0.000686667 0.00066 0.000666667 0.000673333 0.000653333 0.00066 0.000686667 +0.000686667 0.000673333 0.00066 0.00066 0.000666667 0.000666667 0.000666667 0.000666667 +0.000673333 0.000673333 0.000666667 0.000666667 0.000693333 0.000666667 0.00062 0.00062 +0.000666667 0.000666667 0.000626667 0.000646667 0.000673333 0.000686667 0.000673333 0.000673333 +0.000653333 0.000653333 0.00068 0.000666667 0.000686667 0.000686667 0.000693333 0.000666667 +0.000666667 0.000666667 0.00066 0.000673333 0.00068 0.00066 0.00068 0.000693333 +0.000693333 0.000673333 0.000686667 0.00068 0.0007 0.000713333 0.000706667 0.000733333 +0.000706667 0.000673333 0.000686667 0.000713333 0.000726667 0.00068 0.00068 0.000706667 +0.00068 0.0007 0.0007 0.00072 0.000713333 0.0007 0.0007 0.000713333 +0.000726667 0.0007 0.000693333 0.00068 0.000693333 0.000686667 0.000686667 0.00074 +0.000726667 0.00072 0.000713333 0.000706667 0.000706667 0.000713333 0.000693333 0.000706667 +0.000726667 0.000746667 0.00072 0.000693333 0.000706667 0.000733333 0.000733333 0.00072 +0.00072 0.0007 0.000726667 0.000753333 0.00072 0.00072 0.000753333 0.000713333 +0.000713333 0.0007 0.000713333 0.000733333 0.000733333 0.00074 0.000753333 0.000726667 +0.000733333 0.000753333 0.000753333 0.000713333 0.000733333 0.000733333 0.00076 0.00076 +0.00072 0.000733333 0.000746667 0.000766667 0.000773333 0.000766667 0.000766667 0.000753333 +0.00074 0.00078 0.00076 0.000746667 0.000753333 0.000766667 0.000786667 0.000773333 +0.000766667 0.000766667 0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000746667 0.00072 0.00074 0.000753333 +0.0008 0.000766667 0.00074 0.000706667 0.0007 0.000726667 0.00074 0.00072 +0.000713333 0.00072 0.000733333 0.00074 0.000746667 0.000726667 0.00072 0.000706667 +0.000706667 0.00074 0.00072 0.000733333 0.000753333 0.00072 0.000706667 0.000713333 +0.000713333 0.000706667 0.000726667 0.00072 0.000706667 0.000713333 0.000733333 0.000753333 +0.000726667 0.000713333 0.0007 0.0007 0.00074 0.000773333 0.00072 0.000713333 +0.0007 0.0007 0.000693333 0.000693333 0.000693333 0.00068 0.000686667 0.000713333 +0.00074 0.000726667 0.000733333 0.000746667 0.000686667 0.000686667 0.00072 0.00072 +0.000673333 0.00066 0.0007 0.00072 0.00072 0.000726667 0.0007 0.000673333 +0.000713333 0.00072 0.0007 0.000693333 0.0007 0.000726667 0.000713333 0.0007 +0.000706667 0.000713333 0.000706667 0.0007 0.000706667 0.0007 0.00068 0.0007 +0.0007 0.000733333 0.000746667 0.000693333 0.000673333 0.00068 0.000706667 0.000706667 +0.000686667 0.000686667 0.000706667 0.000693333 0.000686667 0.000693333 0.000673333 0.00066 +0.000673333 0.000706667 0.000686667 0.000673333 0.00068 0.000686667 0.00068 0.00068 +0.00066 0.00066 0.000666667 0.00068 0.00068 0.00068 0.000686667 0.00068 +0.00066 0.00064 0.00064 0.000666667 0.000693333 0.000686667 0.000653333 0.00066 +0.000706667 0.000706667 0.00068 0.000646667 0.000613333 0.000646667 0.00068 0.000673333 +0.00066 0.00064 0.00066 0.000666667 0.00064 0.000653333 0.00068 0.0007 +0.000686667 0.00066 0.000673333 0.000673333 0.000673333 0.000686667 0.000693333 0.000693333 +0.000666667 0.000666667 0.000653333 0.000653333 0.000666667 0.00068 0.000706667 0.000686667 +0.000686667 0.000666667 0.00066 0.00066 0.000686667 0.000686667 0.000673333 0.00068 +0.000693333 0.000666667 0.000666667 0.00068 0.000693333 0.00068 0.000673333 0.00066 +0.000653333 0.000686667 0.000673333 0.000666667 0.000686667 0.00068 0.000693333 0.000706667 +0.000666667 0.000666667 0.000673333 0.000666667 0.000686667 0.00068 0.000686667 0.000686667 +0.0007 0.0007 0.00066 0.00066 0.000686667 0.00072 0.000713333 0.000673333 +0.000646667 0.000706667 0.000713333 0.000686667 0.0007 0.000686667 0.000666667 0.000713333 +0.000713333 0.0007 0.000693333 0.00068 0.00068 0.000686667 0.00068 0.000673333 +0.000673333 0.000693333 0.000686667 0.00068 0.000673333 0.00066 0.00068 0.000693333 +0.000693333 0.000706667 0.00068 0.000673333 0.000713333 0.000706667 0.000666667 0.00068 +0.000693333 0.00068 0.0007 0.000693333 0.00068 0.00068 0.00068 0.000686667 +0.000666667 0.000686667 0.00072 0.000713333 0.000693333 0.000686667 0.000686667 0.00068 +0.000693333 0.000693333 0.00066 0.000673333 0.000693333 0.000686667 0.00066 0.000666667 +0.000706667 0.000713333 0.000686667 0.0007 0.000666667 0.00068 0.000706667 0.000686667 +0.000673333 0.0007 0.000726667 0.0007 0.000666667 0.000653333 0.000646667 0.000693333 +0.000666667 0.000686667 0.000726667 0.000673333 0.000666667 0.000686667 0.00068 0.000666667 +0.00068 0.000693333 0.000666667 0.00068 0.000686667 0.00066 0.00066 0.00068 +0.00068 0.000693333 0.000706667 0.00066 0.000646667 0.00068 0.0007 0.000673333 +0.000673333 0.000713333 0.000693333 0.000666667 0.00068 0.00068 0.00068 0.00068 +0.000666667 0.000686667 0.0007 0.000686667 0.00068 0.00064 0.00066 0.00068 +0.00068 0.000666667 0.000673333 0.000673333 0.000673333 0.000653333 0.000653333 0.00068 +0.000666667 0.000653333 0.000673333 0.000686667 0.000666667 0.000653333 0.00066 0.00066 +0.000693333 0.000693333 0.000673333 0.000693333 0.00066 0.000646667 0.00066 0.000693333 +0.000693333 0.000673333 0.00066 0.000666667 0.00068 0.000666667 0.000666667 0.000666667 +0.00064 0.00066 0.000673333 0.000693333 0.000673333 0.00066 0.00064 0.000626667 +0.00066 0.000666667 0.00064 0.00064 0.00068 0.000693333 0.000686667 0.000673333 +0.000646667 0.000666667 0.000666667 0.000653333 0.000693333 0.000686667 0.000686667 0.00068 +0.000673333 0.00064 0.000646667 0.000686667 0.00068 0.000666667 0.00068 0.000713333 +0.000686667 0.000653333 0.00066 0.00068 0.000726667 0.000726667 0.000706667 0.000706667 +0.000673333 0.00068 0.0007 0.00072 0.000693333 0.000686667 0.000706667 0.000706667 +0.000666667 0.000693333 0.00072 0.000733333 0.000706667 0.000693333 0.000713333 0.000733333 +0.000726667 0.000673333 0.00068 0.000686667 0.0007 0.000693333 0.000686667 0.0007 +0.00072 0.00072 0.00072 0.000713333 0.000713333 0.000706667 0.0007 0.000706667 +0.000726667 0.00072 0.000713333 0.000713333 0.000713333 0.000706667 0.00072 0.000733333 +0.000733333 0.00072 0.00072 0.000726667 0.00072 0.000746667 0.000746667 0.000686667 +0.000713333 0.000713333 0.00074 0.00074 0.000746667 0.00074 0.00074 0.000726667 +0.00074 0.000746667 0.000726667 0.0007 0.00074 0.00074 0.000746667 0.000733333 +0.00074 0.000746667 0.00076 0.00078 0.000766667 0.000766667 0.00076 0.000753333 +0.000746667 0.000766667 0.000766667 0.00076 0.000773333 0.000773333 0.000773333 0.000766667 +0.00076 0.00076 0.000746667 0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00078 0.00074 0.00074 0.000733333 0.00074 +0.000773333 0.00076 0.000753333 0.000753333 0.000746667 0.00072 0.000706667 0.00072 +0.0007 0.000706667 0.000713333 0.000706667 0.00074 0.000753333 0.000746667 0.00074 +0.000713333 0.000713333 0.000713333 0.00072 0.000726667 0.000746667 0.000746667 0.00072 +0.00072 0.000713333 0.000713333 0.00072 0.000713333 0.0007 0.000706667 0.000733333 +0.00074 0.000746667 0.000726667 0.0007 0.000706667 0.00074 0.000733333 0.000726667 +0.000706667 0.000693333 0.0007 0.000706667 0.000706667 0.000693333 0.0007 0.000686667 +0.000693333 0.000706667 0.00072 0.000733333 0.000733333 0.0007 0.0007 0.000726667 +0.0007 0.000686667 0.000686667 0.0007 0.000706667 0.000713333 0.000713333 0.000693333 +0.000706667 0.000713333 0.000706667 0.0007 0.000686667 0.000706667 0.000726667 0.00072 +0.00072 0.000706667 0.000713333 0.000706667 0.000693333 0.000706667 0.000693333 0.000686667 +0.00068 0.0007 0.000746667 0.000733333 0.000686667 0.000673333 0.00068 0.0007 +0.000713333 0.000713333 0.000713333 0.0007 0.0007 0.00068 0.000666667 0.000673333 +0.000673333 0.000693333 0.0007 0.000693333 0.00068 0.000673333 0.000666667 0.000673333 +0.000666667 0.000646667 0.000673333 0.000693333 0.000686667 0.000686667 0.000666667 0.000673333 +0.00068 0.00068 0.000673333 0.000653333 0.00066 0.00068 0.000666667 0.00064 +0.000673333 0.00068 0.000686667 0.00066 0.000613333 0.000633333 0.000646667 0.00066 +0.00066 0.00064 0.000666667 0.00068 0.00066 0.000646667 0.00068 0.000693333 +0.000686667 0.00068 0.000666667 0.000673333 0.00068 0.000666667 0.000686667 0.000693333 +0.00068 0.000666667 0.00066 0.000666667 0.00066 0.00066 0.000693333 0.00068 +0.000673333 0.000686667 0.00068 0.00068 0.000693333 0.00068 0.000686667 0.000666667 +0.000686667 0.00068 0.000666667 0.00066 0.000666667 0.00066 0.00068 0.00068 +0.000646667 0.000673333 0.000673333 0.000666667 0.000693333 0.00068 0.00068 0.000686667 +0.0007 0.00068 0.000666667 0.000646667 0.000693333 0.000693333 0.0007 0.000706667 +0.000686667 0.0007 0.00068 0.000673333 0.000673333 0.0007 0.000713333 0.000666667 +0.000633333 0.000686667 0.000713333 0.000686667 0.000673333 0.000686667 0.000666667 0.00068 +0.000693333 0.000706667 0.000693333 0.000666667 0.00068 0.000693333 0.000686667 0.000673333 +0.000653333 0.000686667 0.000686667 0.000673333 0.000666667 0.00066 0.000686667 0.000713333 +0.000706667 0.000706667 0.000693333 0.000686667 0.0007 0.000686667 0.000666667 0.000693333 +0.0007 0.000686667 0.000693333 0.00068 0.00068 0.00068 0.00068 0.000686667 +0.000666667 0.000686667 0.00072 0.000706667 0.000693333 0.000686667 0.000686667 0.000686667 +0.000693333 0.000706667 0.00068 0.000673333 0.00068 0.000686667 0.000673333 0.000666667 +0.00072 0.000726667 0.0007 0.000706667 0.00066 0.00066 0.0007 0.000686667 +0.000673333 0.000706667 0.000726667 0.000693333 0.000666667 0.00064 0.000653333 0.000706667 +0.00068 0.000706667 0.000713333 0.000686667 0.000686667 0.000686667 0.000673333 0.000686667 +0.00068 0.000686667 0.00068 0.000693333 0.0007 0.000666667 0.00066 0.00068 +0.000693333 0.000713333 0.000706667 0.00066 0.000666667 0.000693333 0.00068 0.000666667 +0.000686667 0.000706667 0.00068 0.000666667 0.000666667 0.000666667 0.00066 0.00068 +0.00068 0.000693333 0.0007 0.000673333 0.000686667 0.00066 0.000673333 0.00068 +0.00066 0.000673333 0.000693333 0.000653333 0.000673333 0.000673333 0.00068 0.000666667 +0.000646667 0.00066 0.000686667 0.0007 0.000673333 0.000653333 0.00064 0.00066 +0.0007 0.000693333 0.00068 0.000686667 0.000633333 0.00064 0.00068 0.000693333 +0.000673333 0.000673333 0.000666667 0.000673333 0.00068 0.00068 0.00068 0.000646667 +0.00064 0.000666667 0.00066 0.000666667 0.000666667 0.000673333 0.00066 0.000653333 +0.000666667 0.00066 0.00064 0.000646667 0.00068 0.000686667 0.00068 0.000666667 +0.000666667 0.000673333 0.000653333 0.000673333 0.0007 0.000666667 0.000653333 0.00068 +0.00066 0.000633333 0.000653333 0.00068 0.000673333 0.000666667 0.000693333 0.00072 +0.000673333 0.000646667 0.000646667 0.000686667 0.000746667 0.000726667 0.000693333 0.00068 +0.00068 0.0007 0.000693333 0.0007 0.000673333 0.000706667 0.000713333 0.000686667 +0.00068 0.000713333 0.000753333 0.000713333 0.000693333 0.00068 0.000706667 0.00074 +0.000713333 0.00066 0.00068 0.000713333 0.000726667 0.000713333 0.000693333 0.000706667 +0.000733333 0.000713333 0.000706667 0.0007 0.000693333 0.000706667 0.00074 0.000733333 +0.000746667 0.000706667 0.000713333 0.00072 0.00072 0.0007 0.000733333 0.000746667 +0.000726667 0.00072 0.000713333 0.000726667 0.000726667 0.000726667 0.00072 0.000706667 +0.000726667 0.000733333 0.000733333 0.000733333 0.000733333 0.00072 0.00074 0.00074 +0.000733333 0.000726667 0.00072 0.00072 0.000753333 0.00074 0.000726667 0.000733333 +0.000753333 0.00074 0.00076 0.00076 0.00076 0.00078 0.000766667 0.00074 +0.000746667 0.00076 0.00078 0.00078 0.000786667 0.00076 0.000766667 0.00076 +0.000766667 0.000753333 0.000746667 0.000753333 0.000793333 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000766667 0.000686667 0.0007 0.000746667 0.000773333 0.000746667 +0.00074 0.00074 0.00076 0.00074 0.000753333 0.000753333 0.000726667 0.00072 +0.0007 0.0007 0.000726667 0.00072 0.0007 0.00072 0.00074 0.000753333 +0.00074 0.000706667 0.0007 0.000726667 0.000726667 0.000726667 0.000733333 0.000713333 +0.000706667 0.000726667 0.000713333 0.000706667 0.0007 0.00072 0.000713333 0.000706667 +0.000706667 0.000713333 0.000733333 0.00072 0.000693333 0.000693333 0.00072 0.000726667 +0.000726667 0.00072 0.0007 0.000693333 0.000693333 0.000693333 0.000693333 0.000686667 +0.000653333 0.000686667 0.000706667 0.000686667 0.000733333 0.000733333 0.00072 0.000713333 +0.0007 0.000726667 0.000706667 0.0007 0.000686667 0.0007 0.000706667 0.000726667 +0.000733333 0.000693333 0.00068 0.0007 0.000713333 0.000693333 0.000706667 0.0007 +0.00072 0.000726667 0.000706667 0.0007 0.0007 0.000706667 0.000713333 0.000713333 +0.000693333 0.000673333 0.000686667 0.000713333 0.000713333 0.000706667 0.000686667 0.00066 +0.00068 0.000706667 0.000713333 0.000686667 0.000686667 0.000666667 0.000646667 0.000686667 +0.000713333 0.00068 0.000673333 0.000693333 0.0007 0.00068 0.00066 0.000686667 +0.0007 0.00066 0.000646667 0.000666667 0.00068 0.000686667 0.000666667 0.000666667 +0.00068 0.0007 0.000693333 0.000673333 0.000673333 0.000666667 0.000653333 0.00064 +0.000646667 0.000653333 0.000666667 0.000673333 0.000646667 0.000633333 0.00064 0.00064 +0.00066 0.00066 0.000666667 0.00066 0.00068 0.000653333 0.000666667 0.000686667 +0.000686667 0.000706667 0.000666667 0.000666667 0.00068 0.00068 0.000686667 0.000673333 +0.000686667 0.000673333 0.000666667 0.000666667 0.000666667 0.00066 0.00066 0.000666667 +0.000666667 0.0007 0.0007 0.000686667 0.000693333 0.00068 0.00068 0.000673333 +0.00068 0.0007 0.00068 0.00066 0.000653333 0.000646667 0.00066 0.0007 +0.000693333 0.00066 0.000673333 0.000693333 0.000686667 0.000686667 0.0007 0.000693333 +0.000693333 0.000666667 0.000673333 0.00066 0.00068 0.000693333 0.000686667 0.000713333 +0.00068 0.000686667 0.00068 0.000686667 0.00068 0.000673333 0.000713333 0.000686667 +0.000653333 0.00068 0.000686667 0.000686667 0.000686667 0.000686667 0.00068 0.000673333 +0.000686667 0.000713333 0.000706667 0.000666667 0.000653333 0.000686667 0.000693333 0.00068 +0.000666667 0.000706667 0.000686667 0.000653333 0.00068 0.00068 0.00068 0.000706667 +0.000706667 0.0007 0.000693333 0.000686667 0.0007 0.000686667 0.00068 0.000706667 +0.000713333 0.000686667 0.000686667 0.000686667 0.0007 0.000666667 0.000666667 0.000686667 +0.00068 0.000706667 0.000706667 0.00068 0.00068 0.000713333 0.000706667 0.000693333 +0.000706667 0.000706667 0.00068 0.000673333 0.00068 0.000686667 0.000673333 0.000673333 +0.00072 0.000733333 0.000693333 0.00068 0.000653333 0.000673333 0.000693333 0.000706667 +0.000693333 0.0007 0.000706667 0.000693333 0.000646667 0.000646667 0.000673333 0.000713333 +0.000673333 0.0007 0.0007 0.000673333 0.000693333 0.000686667 0.00066 0.0007 +0.000693333 0.000686667 0.000693333 0.000686667 0.000686667 0.000686667 0.000673333 0.00068 +0.000693333 0.000693333 0.000693333 0.00066 0.00068 0.0007 0.000673333 0.000666667 +0.000673333 0.000713333 0.000693333 0.00066 0.000666667 0.000653333 0.000666667 0.000666667 +0.000653333 0.000686667 0.0007 0.000673333 0.000666667 0.00068 0.000706667 0.000673333 +0.000653333 0.000673333 0.000706667 0.000653333 0.00068 0.000673333 0.00068 0.00066 +0.00064 0.000673333 0.000693333 0.0007 0.000693333 0.000673333 0.000653333 0.000673333 +0.000686667 0.000693333 0.0007 0.00068 0.00062 0.000653333 0.0007 0.000693333 +0.000666667 0.000666667 0.000666667 0.000673333 0.00068 0.0007 0.00068 0.000626667 +0.00068 0.000666667 0.000626667 0.000666667 0.00068 0.000666667 0.000666667 0.000673333 +0.00068 0.00064 0.000633333 0.000666667 0.000686667 0.00068 0.000673333 0.000673333 +0.000686667 0.000666667 0.00066 0.000686667 0.000693333 0.000673333 0.000633333 0.000673333 +0.000666667 0.000646667 0.000673333 0.000686667 0.000673333 0.00066 0.000686667 0.000706667 +0.000653333 0.000653333 0.000673333 0.00072 0.000726667 0.0007 0.000686667 0.000686667 +0.000713333 0.0007 0.000666667 0.00068 0.0007 0.000726667 0.000706667 0.00068 +0.0007 0.000713333 0.000733333 0.000693333 0.000693333 0.000686667 0.000713333 0.000726667 +0.000686667 0.000673333 0.000686667 0.000713333 0.000713333 0.000706667 0.000693333 0.00072 +0.00074 0.00072 0.000706667 0.0007 0.0007 0.00072 0.000746667 0.000733333 +0.000726667 0.00072 0.00072 0.0007 0.00072 0.000726667 0.00074 0.000733333 +0.000713333 0.000706667 0.000713333 0.00074 0.00072 0.000713333 0.000733333 0.000726667 +0.000733333 0.00074 0.00072 0.00072 0.00072 0.000733333 0.000753333 0.000746667 +0.000733333 0.000746667 0.000746667 0.00074 0.000733333 0.000733333 0.00072 0.000746667 +0.00074 0.000713333 0.000753333 0.000766667 0.000773333 0.00076 0.00074 0.000753333 +0.000766667 0.000766667 0.000766667 0.00076 0.00076 0.00076 0.00076 0.000753333 +0.000786667 0.00076 0.00076 0.000766667 0.00076 0.000793333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000793333 0.000753333 0.000713333 0.000713333 0.000733333 0.000733333 0.000746667 +0.00072 0.000733333 0.000766667 0.000753333 0.00074 0.000746667 0.00074 0.000713333 +0.00072 0.00072 0.00072 0.00074 0.00072 0.0007 0.000713333 0.000706667 +0.000733333 0.000726667 0.000706667 0.000726667 0.000726667 0.000733333 0.000713333 0.00072 +0.000726667 0.000706667 0.000713333 0.000706667 0.000693333 0.000713333 0.000733333 0.00072 +0.000713333 0.0007 0.000693333 0.0007 0.000706667 0.00072 0.000713333 0.000686667 +0.000706667 0.00074 0.00074 0.00072 0.000673333 0.00068 0.000686667 0.000713333 +0.000686667 0.00068 0.0007 0.00068 0.000713333 0.000713333 0.00074 0.000726667 +0.000693333 0.000706667 0.0007 0.000706667 0.0007 0.0007 0.000686667 0.000706667 +0.000726667 0.000713333 0.000693333 0.000693333 0.000713333 0.000713333 0.000713333 0.000686667 +0.000693333 0.00072 0.000713333 0.0007 0.00072 0.000726667 0.0007 0.0007 +0.000706667 0.0007 0.000666667 0.000673333 0.00072 0.000726667 0.000713333 0.00068 +0.000653333 0.000666667 0.000686667 0.00068 0.000673333 0.000666667 0.00066 0.000673333 +0.000713333 0.000693333 0.00068 0.000673333 0.00068 0.0007 0.000673333 0.000666667 +0.0007 0.000693333 0.000646667 0.00064 0.000666667 0.00068 0.00068 0.000666667 +0.000673333 0.000686667 0.00068 0.000666667 0.000686667 0.000686667 0.000673333 0.00066 +0.00064 0.00064 0.000646667 0.000653333 0.00068 0.000646667 0.00064 0.000633333 +0.00064 0.00066 0.00066 0.00064 0.00066 0.00068 0.000673333 0.000673333 +0.000666667 0.00068 0.00068 0.000673333 0.000673333 0.000673333 0.000686667 0.00068 +0.000673333 0.000673333 0.000673333 0.000666667 0.00068 0.00068 0.000653333 0.00066 +0.000673333 0.00068 0.000686667 0.000673333 0.000693333 0.000686667 0.00066 0.00066 +0.000686667 0.000686667 0.000673333 0.000673333 0.000666667 0.00066 0.00064 0.00068 +0.000706667 0.000666667 0.000673333 0.000686667 0.00068 0.00066 0.000693333 0.000706667 +0.0007 0.00066 0.000686667 0.00068 0.000686667 0.000686667 0.000673333 0.000706667 +0.000693333 0.000693333 0.000686667 0.000686667 0.000686667 0.000673333 0.000706667 0.000706667 +0.000666667 0.000653333 0.000666667 0.000686667 0.0007 0.0007 0.00066 0.00068 +0.000706667 0.0007 0.0007 0.000673333 0.000646667 0.000673333 0.0007 0.000693333 +0.000673333 0.000686667 0.00068 0.00066 0.000673333 0.000673333 0.000666667 0.000693333 +0.0007 0.000693333 0.000686667 0.000686667 0.000693333 0.000693333 0.000673333 0.0007 +0.000706667 0.000686667 0.000673333 0.000686667 0.0007 0.00066 0.000666667 0.00068 +0.000686667 0.000706667 0.0007 0.000673333 0.000693333 0.000713333 0.000706667 0.0007 +0.000713333 0.0007 0.00068 0.000686667 0.000686667 0.00068 0.000666667 0.000686667 +0.000713333 0.00072 0.0007 0.000686667 0.000673333 0.000673333 0.0007 0.0007 +0.000686667 0.000686667 0.0007 0.00068 0.000653333 0.00066 0.000693333 0.0007 +0.000653333 0.000693333 0.000706667 0.000693333 0.000673333 0.00068 0.000666667 0.000693333 +0.0007 0.000686667 0.0007 0.000686667 0.00068 0.000666667 0.00068 0.0007 +0.0007 0.000693333 0.000693333 0.000673333 0.00066 0.000686667 0.00068 0.00066 +0.000666667 0.000713333 0.0007 0.000686667 0.000686667 0.000666667 0.000673333 0.00068 +0.00066 0.000693333 0.000693333 0.000666667 0.00066 0.00068 0.000706667 0.00068 +0.00068 0.000673333 0.000686667 0.000686667 0.00068 0.000666667 0.00066 0.000646667 +0.000646667 0.000666667 0.000693333 0.0007 0.00068 0.000666667 0.000633333 0.000666667 +0.000686667 0.0007 0.00072 0.00068 0.000633333 0.000666667 0.000686667 0.00068 +0.000673333 0.000653333 0.000666667 0.00068 0.00068 0.000693333 0.000666667 0.000653333 +0.000686667 0.00064 0.00062 0.000673333 0.000686667 0.000673333 0.000673333 0.000686667 +0.000653333 0.000613333 0.000646667 0.000686667 0.000686667 0.000673333 0.000666667 0.000673333 +0.00068 0.00066 0.000666667 0.00068 0.000686667 0.000673333 0.000633333 0.00066 +0.000666667 0.00066 0.000673333 0.000686667 0.000693333 0.00068 0.000666667 0.00066 +0.000653333 0.000673333 0.0007 0.00074 0.000686667 0.00068 0.000706667 0.0007 +0.000706667 0.000686667 0.000673333 0.000686667 0.00072 0.00072 0.000706667 0.000706667 +0.000693333 0.0007 0.0007 0.000686667 0.0007 0.00068 0.000693333 0.000706667 +0.000713333 0.000713333 0.000686667 0.000706667 0.0007 0.000693333 0.0007 0.000713333 +0.00072 0.000726667 0.00072 0.00072 0.000706667 0.000713333 0.000726667 0.000746667 +0.000706667 0.00072 0.000706667 0.0007 0.00072 0.000733333 0.000713333 0.000726667 +0.00072 0.000713333 0.000706667 0.000746667 0.000746667 0.00072 0.00074 0.000733333 +0.00074 0.000733333 0.000706667 0.00072 0.000713333 0.000733333 0.000726667 0.00074 +0.000733333 0.00076 0.000753333 0.000726667 0.000733333 0.00076 0.00074 0.000746667 +0.00072 0.000713333 0.000773333 0.000786667 0.00076 0.000726667 0.00074 0.000766667 +0.000786667 0.00078 0.00076 0.000733333 0.000753333 0.00078 0.00076 0.000766667 +0.000786667 0.000753333 0.00078 0.000773333 0.000766667 0.000786667 0.0008 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000786667 0.000773333 0.000773333 0.000766667 0.000753333 0.00074 0.000706667 0.000733333 +0.000733333 0.000726667 0.00074 0.00076 0.000753333 0.000733333 0.00074 0.00072 +0.00072 0.000733333 0.00072 0.000733333 0.000746667 0.000713333 0.000713333 0.000706667 +0.0007 0.00072 0.000733333 0.00074 0.000726667 0.000733333 0.0007 0.000706667 +0.000733333 0.00074 0.000706667 0.000706667 0.000706667 0.000693333 0.0007 0.000713333 +0.00072 0.000713333 0.0007 0.00068 0.0007 0.000726667 0.00074 0.000693333 +0.000686667 0.0007 0.00074 0.00074 0.0007 0.000693333 0.00068 0.000706667 +0.000706667 0.000713333 0.000706667 0.000686667 0.000706667 0.0007 0.000706667 0.00072 +0.000726667 0.000706667 0.0007 0.000693333 0.000693333 0.0007 0.00068 0.000686667 +0.000686667 0.000713333 0.000726667 0.000706667 0.000706667 0.000693333 0.00072 0.000713333 +0.0007 0.000693333 0.000693333 0.000706667 0.000713333 0.00072 0.0007 0.00068 +0.000686667 0.000726667 0.000713333 0.00068 0.0007 0.000713333 0.000706667 0.0007 +0.000686667 0.000666667 0.000673333 0.00068 0.000693333 0.000673333 0.000653333 0.000673333 +0.000686667 0.000673333 0.000686667 0.000686667 0.000666667 0.00068 0.000693333 0.000673333 +0.000653333 0.000686667 0.00068 0.000653333 0.00066 0.000666667 0.000673333 0.00066 +0.000673333 0.000693333 0.000666667 0.000653333 0.000673333 0.000686667 0.000686667 0.0007 +0.00064 0.000633333 0.000626667 0.00064 0.000686667 0.00066 0.000646667 0.00064 +0.000646667 0.00066 0.000653333 0.00066 0.00064 0.00068 0.000673333 0.00068 +0.000666667 0.000653333 0.00068 0.000673333 0.000686667 0.000673333 0.00068 0.000693333 +0.00068 0.000673333 0.000666667 0.000686667 0.000693333 0.000686667 0.000653333 0.000673333 +0.000693333 0.00066 0.000653333 0.000666667 0.000686667 0.000686667 0.000666667 0.00068 +0.000686667 0.000673333 0.000673333 0.00066 0.00066 0.00068 0.00066 0.00068 +0.000693333 0.000666667 0.000666667 0.000673333 0.000673333 0.00068 0.0007 0.000693333 +0.0007 0.00068 0.000673333 0.000686667 0.00068 0.000666667 0.000673333 0.000686667 +0.0007 0.000706667 0.000673333 0.000653333 0.00068 0.000693333 0.00072 0.00072 +0.00068 0.000653333 0.00066 0.00068 0.0007 0.000713333 0.000673333 0.000686667 +0.000713333 0.000693333 0.000693333 0.000693333 0.00066 0.00066 0.000686667 0.000706667 +0.000686667 0.000653333 0.00068 0.000686667 0.00068 0.000686667 0.00068 0.00068 +0.000693333 0.000706667 0.000686667 0.000666667 0.000693333 0.00072 0.000673333 0.000666667 +0.000706667 0.000693333 0.000686667 0.000673333 0.000686667 0.000673333 0.00068 0.000686667 +0.00068 0.000686667 0.000673333 0.00068 0.000693333 0.000706667 0.0007 0.000706667 +0.000706667 0.000713333 0.000686667 0.00068 0.0007 0.000686667 0.000673333 0.00068 +0.000693333 0.000706667 0.000713333 0.000706667 0.000673333 0.00066 0.000673333 0.0007 +0.00068 0.000686667 0.0007 0.000673333 0.000673333 0.000673333 0.000673333 0.000673333 +0.00066 0.000686667 0.00072 0.0007 0.000673333 0.000686667 0.000666667 0.000686667 +0.000673333 0.00068 0.000706667 0.000693333 0.00068 0.000646667 0.00068 0.000706667 +0.000713333 0.0007 0.000693333 0.000673333 0.00066 0.000686667 0.00068 0.000653333 +0.000693333 0.000706667 0.000693333 0.000693333 0.000673333 0.00066 0.00068 0.00068 +0.000686667 0.000686667 0.00066 0.00066 0.000686667 0.000673333 0.000686667 0.00068 +0.000666667 0.00066 0.000666667 0.0007 0.000706667 0.000673333 0.00066 0.000646667 +0.000653333 0.000633333 0.000686667 0.0007 0.000673333 0.000673333 0.000626667 0.000673333 +0.000686667 0.000686667 0.000713333 0.000673333 0.000653333 0.000666667 0.000673333 0.000666667 +0.000666667 0.000646667 0.00068 0.000693333 0.000693333 0.000673333 0.000666667 0.000673333 +0.00066 0.00062 0.00064 0.000673333 0.000693333 0.0007 0.000673333 0.000666667 +0.000613333 0.000613333 0.000666667 0.000686667 0.000673333 0.00066 0.000653333 0.000653333 +0.000653333 0.000666667 0.00068 0.000686667 0.000673333 0.000646667 0.00064 0.00064 +0.00068 0.000673333 0.000666667 0.00068 0.000713333 0.0007 0.000653333 0.000653333 +0.000673333 0.00068 0.000706667 0.000706667 0.00066 0.0007 0.00072 0.000693333 +0.000693333 0.000713333 0.000713333 0.00068 0.0007 0.000706667 0.000713333 0.00072 +0.000693333 0.000706667 0.000693333 0.000693333 0.000686667 0.000666667 0.0007 0.00072 +0.00074 0.000713333 0.00068 0.000706667 0.000706667 0.0007 0.000713333 0.000693333 +0.000706667 0.000733333 0.00074 0.00072 0.00068 0.000706667 0.000726667 0.00072 +0.000693333 0.000706667 0.0007 0.000706667 0.00072 0.000726667 0.0007 0.00072 +0.00072 0.000726667 0.00072 0.00074 0.000733333 0.000733333 0.000746667 0.00074 +0.000726667 0.00072 0.000733333 0.000726667 0.000706667 0.000713333 0.00072 0.000753333 +0.000726667 0.00074 0.000733333 0.00072 0.000753333 0.000753333 0.00074 0.00074 +0.00074 0.000753333 0.000786667 0.000773333 0.00074 0.00074 0.00076 0.000773333 +0.000786667 0.000766667 0.000746667 0.00076 0.00078 0.00078 0.00076 0.00076 +0.000753333 0.000753333 0.000786667 0.000773333 0.000766667 0.00076 0.000753333 0.0008 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00074 +0.000713333 0.000733333 0.000786667 0.0008 0.000753333 0.000733333 0.000713333 0.00072 +0.000713333 0.000746667 0.000746667 0.00072 0.000726667 0.000733333 0.000753333 0.000746667 +0.000733333 0.000746667 0.000726667 0.000713333 0.00072 0.000713333 0.00072 0.00072 +0.000706667 0.000713333 0.00072 0.000726667 0.000733333 0.000733333 0.00072 0.000693333 +0.0007 0.000733333 0.000746667 0.00072 0.000713333 0.000686667 0.000673333 0.000706667 +0.0007 0.000713333 0.000726667 0.000713333 0.000713333 0.000706667 0.000713333 0.000726667 +0.000726667 0.000686667 0.000693333 0.000713333 0.00072 0.00072 0.000713333 0.000713333 +0.000693333 0.000713333 0.000693333 0.000673333 0.0007 0.000693333 0.000693333 0.00068 +0.000706667 0.000713333 0.00072 0.000706667 0.000706667 0.00072 0.000686667 0.000673333 +0.00068 0.000693333 0.00072 0.000726667 0.000713333 0.000706667 0.000713333 0.000706667 +0.000713333 0.00072 0.000693333 0.000686667 0.000713333 0.000713333 0.000706667 0.000706667 +0.000686667 0.000706667 0.000713333 0.0007 0.000693333 0.000693333 0.0007 0.000693333 +0.000693333 0.000693333 0.000693333 0.000686667 0.000673333 0.000673333 0.000646667 0.000673333 +0.000673333 0.000666667 0.000673333 0.00068 0.00068 0.00066 0.000673333 0.000686667 +0.000666667 0.00066 0.000686667 0.00068 0.00066 0.000653333 0.000666667 0.000666667 +0.000666667 0.0007 0.000693333 0.000686667 0.00068 0.00066 0.00068 0.000693333 +0.000666667 0.00064 0.00062 0.000646667 0.000666667 0.00066 0.000653333 0.000653333 +0.00066 0.00066 0.00064 0.000653333 0.00066 0.000673333 0.000666667 0.00068 +0.000686667 0.00068 0.000673333 0.000673333 0.000686667 0.00068 0.00068 0.0007 +0.000686667 0.000666667 0.000653333 0.000693333 0.000706667 0.00068 0.000653333 0.000673333 +0.000706667 0.000653333 0.00064 0.000653333 0.000666667 0.000673333 0.000693333 0.000686667 +0.000666667 0.000666667 0.00068 0.000666667 0.00066 0.000686667 0.000693333 0.000673333 +0.000666667 0.000673333 0.00066 0.00066 0.000686667 0.000693333 0.000693333 0.000666667 +0.000673333 0.0007 0.000686667 0.000706667 0.000673333 0.000653333 0.000673333 0.000706667 +0.0007 0.000713333 0.000693333 0.000653333 0.000686667 0.000693333 0.0007 0.000733333 +0.000693333 0.000666667 0.000673333 0.00068 0.000693333 0.0007 0.000686667 0.000686667 +0.0007 0.000686667 0.00068 0.000693333 0.000673333 0.00066 0.000673333 0.0007 +0.000673333 0.000666667 0.000666667 0.000693333 0.000693333 0.00068 0.000693333 0.00068 +0.000686667 0.000693333 0.000673333 0.000666667 0.0007 0.000713333 0.000673333 0.000673333 +0.0007 0.000713333 0.000713333 0.00066 0.00068 0.000693333 0.000673333 0.000686667 +0.000693333 0.000686667 0.00068 0.00068 0.000706667 0.000706667 0.0007 0.0007 +0.0007 0.00072 0.0007 0.00066 0.000686667 0.000693333 0.000673333 0.00068 +0.000693333 0.000693333 0.00072 0.000693333 0.000653333 0.000666667 0.00068 0.000686667 +0.000686667 0.000713333 0.0007 0.000666667 0.000673333 0.00066 0.000673333 0.000673333 +0.00066 0.000693333 0.000713333 0.000686667 0.000686667 0.000686667 0.00066 0.000673333 +0.000686667 0.000693333 0.000706667 0.000666667 0.000653333 0.00066 0.000673333 0.0007 +0.00072 0.00068 0.000673333 0.00066 0.000666667 0.000686667 0.000666667 0.000653333 +0.000706667 0.000706667 0.000673333 0.000686667 0.00068 0.000666667 0.000673333 0.000673333 +0.000686667 0.00068 0.000626667 0.00066 0.000693333 0.00066 0.00068 0.000673333 +0.00066 0.00066 0.000673333 0.000693333 0.0007 0.000686667 0.000666667 0.000653333 +0.00066 0.000646667 0.000686667 0.00068 0.000686667 0.000666667 0.000653333 0.000686667 +0.000673333 0.000673333 0.0007 0.000673333 0.00066 0.000666667 0.00066 0.000646667 +0.00066 0.00066 0.000666667 0.00068 0.000686667 0.00068 0.000666667 0.00068 +0.00064 0.000613333 0.00066 0.000666667 0.000686667 0.000693333 0.00066 0.000633333 +0.000606667 0.000646667 0.000673333 0.000666667 0.00066 0.000653333 0.000653333 0.000646667 +0.000646667 0.0007 0.000706667 0.00068 0.000646667 0.000633333 0.000646667 0.000653333 +0.00068 0.000666667 0.00066 0.000666667 0.000713333 0.000693333 0.00066 0.000673333 +0.000693333 0.000686667 0.000686667 0.000673333 0.000686667 0.000713333 0.0007 0.000686667 +0.000693333 0.00072 0.000713333 0.000686667 0.0007 0.0007 0.000706667 0.000713333 +0.000706667 0.000713333 0.000686667 0.000686667 0.000673333 0.0007 0.000706667 0.00072 +0.00072 0.0007 0.00068 0.000693333 0.000706667 0.000713333 0.0007 0.000706667 +0.000733333 0.00074 0.00072 0.000693333 0.000693333 0.000713333 0.000693333 0.000693333 +0.000686667 0.0007 0.000713333 0.00072 0.000746667 0.000726667 0.00068 0.000713333 +0.000713333 0.000726667 0.000726667 0.000733333 0.00072 0.00074 0.000746667 0.000706667 +0.0007 0.00074 0.000746667 0.000713333 0.000713333 0.000733333 0.000733333 0.000753333 +0.000726667 0.00074 0.00074 0.000753333 0.000746667 0.000726667 0.000726667 0.00074 +0.000786667 0.000773333 0.000753333 0.000726667 0.000726667 0.000766667 0.000786667 0.00078 +0.000766667 0.00074 0.000746667 0.000786667 0.000773333 0.00076 0.000753333 0.000746667 +0.000753333 0.00078 0.00078 0.00076 0.000766667 0.000766667 0.00076 0.000786667 +0.000793333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000813333 0.000733333 +0.000693333 0.0007 0.000726667 0.000753333 0.00076 0.00076 0.000753333 0.00072 +0.000693333 0.000713333 0.000746667 0.00074 0.00072 0.000726667 0.000733333 0.00074 +0.00074 0.000753333 0.000746667 0.000726667 0.0007 0.0007 0.00072 0.000713333 +0.000733333 0.000726667 0.00072 0.00068 0.000713333 0.00072 0.00072 0.00074 +0.000713333 0.000693333 0.00074 0.000746667 0.000713333 0.00072 0.0007 0.000686667 +0.00068 0.0007 0.00072 0.000733333 0.00072 0.000713333 0.000713333 0.000713333 +0.000733333 0.000713333 0.000693333 0.000686667 0.000686667 0.000693333 0.000733333 0.00074 +0.000713333 0.000713333 0.000693333 0.000666667 0.000673333 0.000686667 0.0007 0.000706667 +0.0007 0.00068 0.000693333 0.000713333 0.00072 0.00072 0.0007 0.0007 +0.000706667 0.0007 0.0007 0.000713333 0.000713333 0.000706667 0.000706667 0.0007 +0.000706667 0.000713333 0.0007 0.000693333 0.000713333 0.0007 0.000693333 0.00072 +0.000713333 0.000713333 0.000686667 0.000693333 0.0007 0.000693333 0.000693333 0.00068 +0.000693333 0.00068 0.000693333 0.00072 0.00068 0.000653333 0.000646667 0.000673333 +0.00066 0.000673333 0.000686667 0.00066 0.00066 0.000673333 0.00066 0.000666667 +0.000686667 0.00068 0.000693333 0.0007 0.00068 0.000666667 0.00066 0.000666667 +0.00066 0.000673333 0.000686667 0.000706667 0.00068 0.00066 0.000673333 0.000666667 +0.00068 0.00064 0.000626667 0.000646667 0.00064 0.000646667 0.00064 0.000653333 +0.000673333 0.000666667 0.000646667 0.000626667 0.00066 0.000673333 0.00068 0.000673333 +0.00068 0.0007 0.00068 0.000673333 0.000673333 0.00068 0.000693333 0.000706667 +0.000686667 0.000646667 0.000646667 0.000693333 0.0007 0.000673333 0.000673333 0.000673333 +0.0007 0.000673333 0.000646667 0.000646667 0.00064 0.00066 0.0007 0.0007 +0.00066 0.00066 0.000666667 0.000666667 0.000646667 0.000653333 0.0007 0.000673333 +0.000673333 0.000693333 0.000666667 0.000653333 0.000673333 0.000693333 0.000666667 0.000666667 +0.000666667 0.000686667 0.000706667 0.000706667 0.000686667 0.000673333 0.000686667 0.000713333 +0.000706667 0.000693333 0.000713333 0.000686667 0.000673333 0.000686667 0.00068 0.0007 +0.0007 0.000686667 0.00068 0.000693333 0.000693333 0.000686667 0.0007 0.000693333 +0.0007 0.000686667 0.000666667 0.000693333 0.000686667 0.000686667 0.0007 0.000693333 +0.000673333 0.000666667 0.000646667 0.00068 0.0007 0.00068 0.000693333 0.0007 +0.00068 0.000666667 0.000666667 0.000673333 0.000693333 0.000686667 0.000673333 0.00068 +0.000686667 0.000693333 0.000706667 0.00068 0.000686667 0.00068 0.00068 0.00068 +0.0007 0.000713333 0.0007 0.00068 0.000686667 0.0007 0.00072 0.0007 +0.000693333 0.0007 0.00068 0.00066 0.000673333 0.000673333 0.000666667 0.0007 +0.000693333 0.000693333 0.000726667 0.00068 0.000646667 0.000693333 0.0007 0.000686667 +0.000706667 0.000706667 0.000693333 0.000666667 0.00066 0.000666667 0.000686667 0.0007 +0.000673333 0.000713333 0.000713333 0.000673333 0.00068 0.000686667 0.00066 0.000673333 +0.000686667 0.00072 0.000706667 0.000653333 0.000666667 0.000686667 0.000686667 0.000713333 +0.00072 0.000673333 0.00066 0.000673333 0.00068 0.000686667 0.00068 0.00066 +0.000686667 0.0007 0.000686667 0.00068 0.00068 0.000666667 0.000673333 0.000666667 +0.0007 0.000686667 0.000633333 0.000666667 0.00068 0.000673333 0.00068 0.000666667 +0.000653333 0.000673333 0.000693333 0.00068 0.000673333 0.00068 0.000673333 0.000653333 +0.000653333 0.000673333 0.000693333 0.000666667 0.000693333 0.00066 0.00068 0.0007 +0.000686667 0.000686667 0.000673333 0.000673333 0.000693333 0.000686667 0.000653333 0.000646667 +0.00066 0.000653333 0.000666667 0.000686667 0.000686667 0.000673333 0.000666667 0.000686667 +0.00066 0.000633333 0.000666667 0.00068 0.000673333 0.000666667 0.000666667 0.000626667 +0.000626667 0.000673333 0.00068 0.000653333 0.000653333 0.000673333 0.000653333 0.00064 +0.000673333 0.000733333 0.000693333 0.000673333 0.000653333 0.00064 0.000666667 0.00068 +0.000653333 0.000653333 0.000666667 0.000666667 0.000693333 0.000693333 0.000686667 0.000673333 +0.00068 0.0007 0.000693333 0.00068 0.000686667 0.000693333 0.00068 0.0007 +0.000693333 0.000693333 0.000693333 0.0007 0.000713333 0.000706667 0.000706667 0.0007 +0.00072 0.0007 0.000686667 0.000666667 0.0007 0.000713333 0.000693333 0.000706667 +0.00072 0.000693333 0.000673333 0.00068 0.000706667 0.00072 0.000713333 0.000706667 +0.00072 0.00072 0.000706667 0.000713333 0.000726667 0.0007 0.000693333 0.000693333 +0.000706667 0.0007 0.000733333 0.000733333 0.000746667 0.0007 0.000686667 0.000713333 +0.000733333 0.00072 0.000733333 0.000733333 0.00072 0.000726667 0.000713333 0.0007 +0.000713333 0.000726667 0.000713333 0.00072 0.000733333 0.000733333 0.000746667 0.000726667 +0.00072 0.000746667 0.00078 0.00078 0.000726667 0.00072 0.000746667 0.000773333 +0.000773333 0.000713333 0.000733333 0.000733333 0.000753333 0.00078 0.00078 0.000766667 +0.000766667 0.00074 0.000753333 0.000773333 0.00076 0.000766667 0.000753333 0.000746667 +0.00078 0.000773333 0.000753333 0.000773333 0.000773333 0.000753333 0.000746667 0.00078 +0.000793333 0.000806667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000766667 0.000753333 0.000753333 +0.000726667 0.0007 0.000726667 0.000726667 0.000726667 0.000766667 0.000773333 0.00076 +0.000726667 0.000706667 0.000713333 0.000726667 0.000726667 0.000733333 0.00072 0.000706667 +0.000733333 0.00074 0.00074 0.000753333 0.00072 0.0007 0.000713333 0.000686667 +0.000706667 0.000733333 0.000753333 0.000706667 0.000693333 0.000693333 0.00068 0.00072 +0.000746667 0.000713333 0.000706667 0.000733333 0.000726667 0.000726667 0.000726667 0.000713333 +0.0007 0.000686667 0.0007 0.000733333 0.000713333 0.000726667 0.00072 0.0007 +0.000706667 0.000713333 0.000713333 0.000686667 0.00068 0.000686667 0.000706667 0.0007 +0.000713333 0.00074 0.000733333 0.00072 0.00068 0.00068 0.000693333 0.000706667 +0.000706667 0.000693333 0.00068 0.000686667 0.000706667 0.0007 0.00072 0.00072 +0.00072 0.000693333 0.00068 0.000693333 0.0007 0.000706667 0.000706667 0.000693333 +0.000713333 0.000706667 0.00068 0.000686667 0.000713333 0.0007 0.0007 0.000706667 +0.000726667 0.000726667 0.000693333 0.0007 0.000706667 0.0007 0.00068 0.000693333 +0.000706667 0.00068 0.000653333 0.000693333 0.000706667 0.000666667 0.00066 0.000673333 +0.00066 0.000673333 0.00068 0.000673333 0.00066 0.000673333 0.000666667 0.000666667 +0.000666667 0.000666667 0.000673333 0.000686667 0.000686667 0.000666667 0.000666667 0.000673333 +0.000666667 0.000646667 0.000653333 0.000686667 0.000686667 0.000673333 0.00068 0.000646667 +0.00066 0.00064 0.000633333 0.000653333 0.000646667 0.000653333 0.000633333 0.000653333 +0.000666667 0.000673333 0.000666667 0.00066 0.000646667 0.00066 0.000686667 0.000666667 +0.00066 0.000673333 0.000686667 0.000693333 0.000673333 0.00068 0.000686667 0.000693333 +0.000686667 0.000673333 0.000673333 0.00068 0.000673333 0.000646667 0.000666667 0.00068 +0.000693333 0.000686667 0.000653333 0.00064 0.000633333 0.00066 0.0007 0.000673333 +0.00068 0.000686667 0.000673333 0.00068 0.000646667 0.000633333 0.00066 0.000673333 +0.000686667 0.0007 0.00068 0.000653333 0.000666667 0.00068 0.000673333 0.00068 +0.000673333 0.000673333 0.000686667 0.00068 0.000693333 0.000706667 0.000686667 0.0007 +0.000686667 0.000666667 0.00072 0.000713333 0.00068 0.000693333 0.00068 0.000693333 +0.000693333 0.000686667 0.000686667 0.000706667 0.0007 0.000673333 0.000686667 0.000666667 +0.000693333 0.00068 0.000646667 0.0007 0.000686667 0.000686667 0.000706667 0.0007 +0.000693333 0.00068 0.00064 0.00068 0.000693333 0.000673333 0.00068 0.000693333 +0.000673333 0.000673333 0.000686667 0.00068 0.00068 0.0007 0.000686667 0.000686667 +0.00068 0.000686667 0.000713333 0.00072 0.0007 0.000673333 0.000673333 0.00068 +0.0007 0.000713333 0.00068 0.000673333 0.000693333 0.0007 0.000713333 0.000706667 +0.000693333 0.000686667 0.00066 0.000673333 0.000686667 0.00068 0.000666667 0.00068 +0.00068 0.000713333 0.000713333 0.0007 0.00066 0.000666667 0.0007 0.000693333 +0.000673333 0.000686667 0.0007 0.00066 0.000666667 0.000666667 0.000686667 0.000706667 +0.000686667 0.000733333 0.00072 0.000653333 0.000673333 0.000693333 0.000673333 0.000653333 +0.000673333 0.000713333 0.000693333 0.000673333 0.000686667 0.000673333 0.00068 0.000713333 +0.0007 0.00066 0.00066 0.00068 0.00068 0.000693333 0.00068 0.000666667 +0.00068 0.000686667 0.000686667 0.000666667 0.000673333 0.000693333 0.00068 0.00068 +0.000693333 0.00068 0.000653333 0.000666667 0.000673333 0.000686667 0.000693333 0.000653333 +0.000646667 0.00068 0.0007 0.0007 0.000673333 0.000666667 0.000673333 0.00066 +0.000653333 0.00066 0.00068 0.00066 0.000693333 0.000673333 0.000686667 0.000706667 +0.000693333 0.000686667 0.000646667 0.000666667 0.000706667 0.000686667 0.000666667 0.00066 +0.000666667 0.000653333 0.000666667 0.00068 0.000686667 0.000673333 0.00068 0.000686667 +0.000646667 0.00066 0.000673333 0.00068 0.00066 0.00064 0.000673333 0.000646667 +0.00066 0.000686667 0.000673333 0.000653333 0.00066 0.000666667 0.000633333 0.000653333 +0.000706667 0.0007 0.000673333 0.000686667 0.000646667 0.000633333 0.00068 0.00068 +0.000633333 0.000666667 0.000666667 0.000666667 0.000686667 0.0007 0.0007 0.000653333 +0.000666667 0.0007 0.0007 0.000666667 0.000666667 0.00068 0.000686667 0.0007 +0.000693333 0.0007 0.000713333 0.000706667 0.0007 0.0007 0.000713333 0.00072 +0.000706667 0.000666667 0.000693333 0.000686667 0.000706667 0.000706667 0.0007 0.000706667 +0.000713333 0.0007 0.0007 0.000686667 0.0007 0.000713333 0.00072 0.000693333 +0.000693333 0.000706667 0.000706667 0.000726667 0.000726667 0.0007 0.000706667 0.0007 +0.00072 0.000706667 0.00074 0.00074 0.00072 0.000713333 0.000706667 0.000706667 +0.000726667 0.000706667 0.000733333 0.000726667 0.000713333 0.000713333 0.000713333 0.00072 +0.000733333 0.0007 0.000706667 0.000733333 0.000726667 0.000746667 0.000746667 0.000726667 +0.000733333 0.00076 0.00078 0.000733333 0.00072 0.000753333 0.000766667 0.00076 +0.00072 0.000713333 0.00076 0.000773333 0.000773333 0.000766667 0.000753333 0.000746667 +0.00076 0.000753333 0.000766667 0.000773333 0.000746667 0.000773333 0.000753333 0.000753333 +0.000773333 0.00076 0.000766667 0.000786667 0.00078 0.000746667 0.000753333 0.000793333 +0.000773333 0.000766667 0.000806667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000786667 0.000753333 0.00074 0.00076 +0.000793333 0.00074 0.000733333 0.000733333 0.000726667 0.00072 0.000733333 0.000746667 +0.00076 0.000753333 0.00072 0.000713333 0.000713333 0.00072 0.000726667 0.000713333 +0.00072 0.000733333 0.000726667 0.00074 0.000733333 0.00072 0.000713333 0.0007 +0.000693333 0.00068 0.000733333 0.000746667 0.00072 0.000706667 0.000706667 0.000693333 +0.000706667 0.00074 0.000706667 0.000713333 0.000713333 0.000713333 0.000726667 0.000726667 +0.000733333 0.000706667 0.00068 0.0007 0.000706667 0.000726667 0.000733333 0.00072 +0.0007 0.0007 0.000713333 0.000693333 0.000693333 0.000693333 0.000693333 0.000666667 +0.000713333 0.000726667 0.000713333 0.000726667 0.000726667 0.000693333 0.000706667 0.000706667 +0.000693333 0.0007 0.0007 0.00068 0.000693333 0.000693333 0.000706667 0.000713333 +0.000706667 0.000706667 0.0007 0.0007 0.0007 0.000713333 0.000713333 0.0007 +0.000713333 0.000713333 0.00068 0.000666667 0.000693333 0.000706667 0.000713333 0.0007 +0.000726667 0.000733333 0.0007 0.0007 0.0007 0.0007 0.00068 0.0007 +0.000713333 0.000713333 0.00068 0.00064 0.000673333 0.000686667 0.000673333 0.000673333 +0.00068 0.00068 0.000653333 0.000653333 0.00066 0.000673333 0.000666667 0.000666667 +0.000673333 0.000653333 0.000633333 0.000653333 0.000693333 0.00066 0.00066 0.00068 +0.000693333 0.000646667 0.000646667 0.000673333 0.000686667 0.00068 0.00068 0.000646667 +0.00062 0.00062 0.00064 0.000646667 0.00066 0.00066 0.00064 0.00066 +0.000666667 0.00066 0.000686667 0.0007 0.000646667 0.000626667 0.000673333 0.000666667 +0.000653333 0.000653333 0.00068 0.0007 0.000693333 0.000693333 0.00068 0.000673333 +0.00068 0.000693333 0.000686667 0.00068 0.00068 0.000646667 0.000653333 0.000653333 +0.000666667 0.000693333 0.000673333 0.000653333 0.00064 0.00068 0.000666667 0.000633333 +0.000666667 0.0007 0.0007 0.000686667 0.000673333 0.000653333 0.00064 0.00066 +0.00068 0.0007 0.000706667 0.000686667 0.00066 0.00064 0.000686667 0.0007 +0.000693333 0.00068 0.000666667 0.000666667 0.000686667 0.000706667 0.00068 0.000666667 +0.000686667 0.00068 0.000693333 0.000706667 0.000693333 0.000686667 0.000693333 0.0007 +0.000693333 0.00068 0.000693333 0.000686667 0.0007 0.000713333 0.000693333 0.00066 +0.00068 0.000686667 0.00066 0.000693333 0.000693333 0.000673333 0.000673333 0.000686667 +0.000693333 0.000693333 0.00066 0.000666667 0.000673333 0.00066 0.000646667 0.000673333 +0.000666667 0.000653333 0.000673333 0.0007 0.000693333 0.000693333 0.000666667 0.000666667 +0.000666667 0.00068 0.00072 0.000713333 0.000686667 0.00068 0.000686667 0.000666667 +0.000673333 0.000693333 0.000686667 0.000693333 0.000706667 0.0007 0.000693333 0.000693333 +0.00068 0.000693333 0.000666667 0.00068 0.0007 0.000686667 0.000653333 0.000646667 +0.000693333 0.000713333 0.0007 0.0007 0.000666667 0.000653333 0.000693333 0.000693333 +0.000666667 0.000693333 0.0007 0.000646667 0.00066 0.00068 0.000673333 0.000686667 +0.000686667 0.000713333 0.000713333 0.000673333 0.00068 0.000686667 0.00066 0.000666667 +0.000673333 0.000693333 0.0007 0.000686667 0.00068 0.000653333 0.00068 0.00072 +0.0007 0.000666667 0.000666667 0.000653333 0.00068 0.0007 0.000673333 0.000686667 +0.000713333 0.000686667 0.000673333 0.00068 0.00068 0.0007 0.00068 0.000666667 +0.0007 0.000673333 0.00066 0.0007 0.00068 0.000673333 0.0007 0.00066 +0.000653333 0.000686667 0.0007 0.000706667 0.000686667 0.000666667 0.00066 0.000653333 +0.000653333 0.00066 0.00068 0.000673333 0.000686667 0.000673333 0.000686667 0.000706667 +0.0007 0.000673333 0.000646667 0.00066 0.000686667 0.00068 0.000686667 0.00068 +0.00066 0.000653333 0.000673333 0.00068 0.000673333 0.000673333 0.00068 0.00066 +0.000633333 0.00066 0.00066 0.000646667 0.000646667 0.000646667 0.00066 0.000666667 +0.000666667 0.00068 0.000673333 0.000673333 0.00066 0.000646667 0.00064 0.000666667 +0.000706667 0.000666667 0.00068 0.000686667 0.000646667 0.00064 0.000666667 0.000673333 +0.000646667 0.000666667 0.000653333 0.000673333 0.000693333 0.0007 0.000666667 0.000633333 +0.000673333 0.000706667 0.00068 0.00066 0.000686667 0.00068 0.000673333 0.000693333 +0.000706667 0.000713333 0.000733333 0.000713333 0.000686667 0.0007 0.00072 0.000713333 +0.00068 0.00068 0.000713333 0.00072 0.000706667 0.000713333 0.000686667 0.000686667 +0.00072 0.000726667 0.000706667 0.000693333 0.000706667 0.000706667 0.0007 0.000686667 +0.000706667 0.0007 0.0007 0.000726667 0.000726667 0.000713333 0.000706667 0.000686667 +0.000733333 0.000726667 0.000753333 0.000733333 0.000693333 0.00072 0.000693333 0.000686667 +0.000713333 0.0007 0.000733333 0.000733333 0.000706667 0.000713333 0.00074 0.00072 +0.000706667 0.0007 0.000726667 0.000733333 0.00074 0.000753333 0.00074 0.000753333 +0.000746667 0.000753333 0.000733333 0.000713333 0.00076 0.00078 0.000753333 0.000733333 +0.00072 0.000746667 0.00076 0.00076 0.000753333 0.000753333 0.000766667 0.000766667 +0.000773333 0.000746667 0.00074 0.000753333 0.000753333 0.000766667 0.000753333 0.000766667 +0.000766667 0.000773333 0.00078 0.000766667 0.000766667 0.00076 0.000766667 0.000806667 +0.00078 0.000773333 0.00078 0.000793333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00078 0.000753333 0.00076 0.000766667 0.00076 +0.000766667 0.000793333 0.000773333 0.000753333 0.00074 0.000733333 0.00072 0.0007 +0.000733333 0.00076 0.00074 0.000733333 0.000733333 0.000706667 0.0007 0.000726667 +0.000733333 0.000726667 0.00074 0.00074 0.00072 0.000713333 0.000706667 0.00072 +0.000733333 0.000706667 0.000693333 0.0007 0.000726667 0.000726667 0.000726667 0.00072 +0.000706667 0.00072 0.0007 0.000693333 0.000713333 0.000713333 0.000726667 0.000733333 +0.00072 0.00072 0.000693333 0.000666667 0.0007 0.000713333 0.0007 0.00072 +0.00072 0.000713333 0.000713333 0.000693333 0.0007 0.0007 0.000713333 0.000686667 +0.00068 0.0007 0.000726667 0.000713333 0.000726667 0.000713333 0.000706667 0.00072 +0.000686667 0.000693333 0.000706667 0.000686667 0.000693333 0.000693333 0.000673333 0.000673333 +0.000693333 0.000693333 0.000706667 0.00072 0.000713333 0.000713333 0.000713333 0.000713333 +0.000713333 0.00072 0.00068 0.000673333 0.000673333 0.0007 0.000713333 0.000693333 +0.000726667 0.000713333 0.000693333 0.0007 0.00072 0.000713333 0.000666667 0.000693333 +0.0007 0.000713333 0.000733333 0.000673333 0.00064 0.000666667 0.000686667 0.00068 +0.000673333 0.000673333 0.000673333 0.000653333 0.000633333 0.00064 0.000673333 0.000686667 +0.00068 0.000666667 0.000646667 0.00064 0.00066 0.000666667 0.00066 0.000686667 +0.000693333 0.000673333 0.00066 0.000666667 0.00066 0.00068 0.000673333 0.000666667 +0.00062 0.00062 0.000626667 0.00062 0.00064 0.00066 0.000653333 0.00066 +0.000666667 0.000646667 0.00066 0.00068 0.00066 0.000646667 0.000673333 0.00068 +0.00066 0.000646667 0.000666667 0.000673333 0.0007 0.0007 0.00066 0.00066 +0.000673333 0.000693333 0.000693333 0.000666667 0.000686667 0.000693333 0.00068 0.000653333 +0.000646667 0.000693333 0.000673333 0.000646667 0.00066 0.00068 0.000666667 0.000646667 +0.000653333 0.000666667 0.000693333 0.000693333 0.000693333 0.000653333 0.000653333 0.00066 +0.000666667 0.000693333 0.000706667 0.000693333 0.000673333 0.000653333 0.00068 0.000706667 +0.000713333 0.00068 0.000653333 0.00068 0.00068 0.000693333 0.000693333 0.000673333 +0.000686667 0.000686667 0.00068 0.000686667 0.000686667 0.000686667 0.0007 0.0007 +0.0007 0.000693333 0.000706667 0.00068 0.000693333 0.000726667 0.000706667 0.000673333 +0.00068 0.000733333 0.000693333 0.00068 0.0007 0.000673333 0.00064 0.000686667 +0.000693333 0.000706667 0.000686667 0.00068 0.000686667 0.00068 0.000653333 0.00066 +0.000666667 0.00066 0.00068 0.000706667 0.00072 0.0007 0.000653333 0.000666667 +0.00068 0.000686667 0.000706667 0.0007 0.000693333 0.0007 0.000693333 0.000693333 +0.00068 0.0007 0.000693333 0.000706667 0.0007 0.000693333 0.000693333 0.000693333 +0.00068 0.0007 0.000686667 0.000686667 0.000693333 0.00068 0.00066 0.000666667 +0.0007 0.0007 0.000706667 0.000693333 0.00066 0.00066 0.000693333 0.000686667 +0.000686667 0.000686667 0.00068 0.000653333 0.00066 0.00068 0.000673333 0.00068 +0.00068 0.0007 0.000693333 0.00068 0.000686667 0.000666667 0.00066 0.00068 +0.00066 0.000686667 0.000713333 0.00068 0.00066 0.00066 0.000693333 0.00072 +0.0007 0.000673333 0.000686667 0.000646667 0.000693333 0.0007 0.000653333 0.00066 +0.000713333 0.000693333 0.000666667 0.00068 0.000666667 0.000686667 0.000666667 0.000653333 +0.00068 0.00066 0.000666667 0.000706667 0.000686667 0.000666667 0.000686667 0.000666667 +0.000666667 0.000686667 0.0007 0.000673333 0.000666667 0.000673333 0.000646667 0.00066 +0.00066 0.00068 0.00068 0.00068 0.000686667 0.00068 0.000693333 0.0007 +0.000693333 0.000673333 0.000653333 0.000666667 0.00068 0.000693333 0.000693333 0.00068 +0.000653333 0.00066 0.000693333 0.00068 0.000666667 0.000666667 0.00068 0.00064 +0.000633333 0.000673333 0.00064 0.000633333 0.000653333 0.000666667 0.000653333 0.000673333 +0.00068 0.000653333 0.000666667 0.000666667 0.000646667 0.00062 0.00064 0.000673333 +0.000686667 0.00068 0.00068 0.000686667 0.000673333 0.000646667 0.000653333 0.000653333 +0.00066 0.000653333 0.000666667 0.000713333 0.000693333 0.000673333 0.000646667 0.00064 +0.00068 0.000686667 0.00068 0.000686667 0.000693333 0.00066 0.000666667 0.000706667 +0.000706667 0.000693333 0.00072 0.00072 0.0007 0.000706667 0.000693333 0.000673333 +0.000693333 0.000713333 0.000713333 0.000726667 0.000693333 0.0007 0.000666667 0.000693333 +0.00074 0.00072 0.000686667 0.0007 0.000706667 0.0007 0.000706667 0.000693333 +0.000706667 0.0007 0.000706667 0.00074 0.000733333 0.00072 0.000693333 0.000693333 +0.00074 0.000753333 0.000726667 0.000733333 0.000713333 0.0007 0.00066 0.000706667 +0.000726667 0.00072 0.000726667 0.000733333 0.000706667 0.000713333 0.000733333 0.000686667 +0.000686667 0.000726667 0.00074 0.00074 0.000746667 0.000733333 0.000746667 0.000773333 +0.000753333 0.000733333 0.000726667 0.00076 0.000773333 0.000753333 0.000746667 0.00074 +0.000746667 0.000753333 0.000746667 0.000746667 0.000753333 0.000766667 0.000773333 0.000773333 +0.000746667 0.000713333 0.000733333 0.000766667 0.000773333 0.00076 0.00076 0.000766667 +0.00076 0.00078 0.00078 0.00076 0.000766667 0.000746667 0.00078 0.000806667 +0.000793333 0.000773333 0.000773333 0.00078 0.0008 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000753333 0.000746667 0.000733333 0.000733333 0.00078 0.00078 +0.00074 0.000746667 0.000773333 0.000766667 0.000773333 0.000773333 0.000753333 0.0007 +0.000693333 0.00072 0.000746667 0.000753333 0.000746667 0.000746667 0.000706667 0.00068 +0.000713333 0.00074 0.000746667 0.000753333 0.000733333 0.0007 0.000693333 0.000713333 +0.000733333 0.000733333 0.000726667 0.000686667 0.0007 0.000713333 0.000706667 0.00072 +0.00072 0.000733333 0.00072 0.000673333 0.0007 0.000713333 0.000706667 0.000733333 +0.000726667 0.000713333 0.00074 0.0007 0.00068 0.0007 0.000706667 0.000713333 +0.00072 0.000713333 0.0007 0.000686667 0.000693333 0.000713333 0.000733333 0.000726667 +0.0007 0.00068 0.000706667 0.000706667 0.000706667 0.00072 0.000706667 0.000706667 +0.000713333 0.000693333 0.000693333 0.000693333 0.000686667 0.0007 0.000686667 0.00068 +0.0007 0.000673333 0.00068 0.000693333 0.000706667 0.000713333 0.000706667 0.0007 +0.000726667 0.000726667 0.000686667 0.000706667 0.000686667 0.000686667 0.0007 0.000693333 +0.000713333 0.00068 0.000666667 0.000686667 0.000733333 0.00072 0.000686667 0.000693333 +0.00068 0.00068 0.00072 0.00072 0.000653333 0.00064 0.000673333 0.00068 +0.00068 0.000673333 0.000673333 0.000666667 0.000653333 0.000626667 0.000646667 0.00068 +0.00068 0.000693333 0.000673333 0.000653333 0.000633333 0.00064 0.000673333 0.000686667 +0.000673333 0.000666667 0.00068 0.000666667 0.000646667 0.000646667 0.000653333 0.000666667 +0.000653333 0.000653333 0.000633333 0.000633333 0.00062 0.000633333 0.000666667 0.00066 +0.00066 0.00066 0.000653333 0.000653333 0.000666667 0.0007 0.00068 0.000686667 +0.000673333 0.000646667 0.00064 0.000653333 0.000686667 0.000713333 0.00068 0.000653333 +0.000666667 0.000693333 0.000693333 0.00068 0.00068 0.000693333 0.000693333 0.000666667 +0.000646667 0.000673333 0.00068 0.000666667 0.000653333 0.00064 0.000666667 0.000666667 +0.000666667 0.000653333 0.000666667 0.0007 0.0007 0.000653333 0.00064 0.000673333 +0.000673333 0.000673333 0.000673333 0.000673333 0.00068 0.000686667 0.00068 0.000693333 +0.000706667 0.000666667 0.000653333 0.000693333 0.00068 0.00068 0.0007 0.0007 +0.000673333 0.00068 0.000693333 0.00068 0.000673333 0.000693333 0.000713333 0.000693333 +0.0007 0.000713333 0.000686667 0.00066 0.000686667 0.000693333 0.000706667 0.00068 +0.00066 0.000726667 0.000693333 0.000666667 0.0007 0.000666667 0.000633333 0.00068 +0.000706667 0.0007 0.000673333 0.000666667 0.000693333 0.0007 0.000673333 0.000646667 +0.00068 0.000693333 0.00066 0.000693333 0.0007 0.000706667 0.000673333 0.000693333 +0.000693333 0.00068 0.000693333 0.000693333 0.000713333 0.000693333 0.000693333 0.00068 +0.000693333 0.000706667 0.000686667 0.000693333 0.0007 0.000693333 0.000706667 0.000713333 +0.000666667 0.000693333 0.00068 0.00068 0.000693333 0.00068 0.00068 0.000693333 +0.000693333 0.000686667 0.000713333 0.00068 0.00066 0.000686667 0.00068 0.0007 +0.000706667 0.000686667 0.00068 0.000666667 0.000666667 0.000686667 0.000673333 0.00068 +0.000693333 0.0007 0.000686667 0.000666667 0.000673333 0.000673333 0.00068 0.000673333 +0.000646667 0.000693333 0.00072 0.000686667 0.00066 0.000666667 0.000686667 0.000726667 +0.0007 0.000673333 0.000686667 0.000673333 0.000686667 0.000673333 0.000646667 0.000653333 +0.000693333 0.00068 0.000673333 0.000673333 0.00066 0.000693333 0.000673333 0.000686667 +0.00068 0.000666667 0.00068 0.000666667 0.000666667 0.000673333 0.00068 0.000666667 +0.00068 0.00068 0.000673333 0.000653333 0.000666667 0.000686667 0.00066 0.000673333 +0.000666667 0.0007 0.000673333 0.000653333 0.000686667 0.00068 0.00068 0.000686667 +0.000686667 0.000673333 0.000653333 0.000673333 0.00068 0.000686667 0.000686667 0.000673333 +0.000653333 0.00066 0.000686667 0.000686667 0.00066 0.000666667 0.00068 0.00064 +0.000653333 0.000666667 0.00064 0.00066 0.000666667 0.000686667 0.000646667 0.000653333 +0.00068 0.000653333 0.000653333 0.000653333 0.000646667 0.00064 0.000646667 0.00068 +0.000686667 0.000686667 0.00066 0.000673333 0.000666667 0.00066 0.000646667 0.00064 +0.000673333 0.00066 0.0007 0.000693333 0.00066 0.00066 0.00066 0.00068 +0.000673333 0.000666667 0.000686667 0.00072 0.000666667 0.000653333 0.000686667 0.000713333 +0.000693333 0.000686667 0.000706667 0.000713333 0.000706667 0.000706667 0.000686667 0.000686667 +0.0007 0.000686667 0.000713333 0.000726667 0.000686667 0.000673333 0.000686667 0.000713333 +0.000726667 0.0007 0.000686667 0.000706667 0.0007 0.0007 0.00072 0.000706667 +0.000686667 0.0007 0.000713333 0.00074 0.00074 0.000706667 0.000686667 0.0007 +0.000733333 0.000733333 0.000706667 0.000733333 0.00072 0.000693333 0.000693333 0.000726667 +0.000713333 0.00072 0.00072 0.000733333 0.000713333 0.000713333 0.000713333 0.000686667 +0.000713333 0.00074 0.00074 0.000753333 0.000733333 0.00074 0.000753333 0.00074 +0.000726667 0.000753333 0.000753333 0.000766667 0.000726667 0.000733333 0.00074 0.000746667 +0.00074 0.00074 0.000746667 0.000766667 0.000793333 0.000773333 0.00074 0.000733333 +0.000726667 0.000733333 0.000773333 0.000773333 0.000766667 0.000766667 0.000773333 0.000766667 +0.000753333 0.000766667 0.000753333 0.00078 0.000793333 0.000753333 0.000766667 0.00078 +0.000773333 0.000786667 0.00078 0.00076 0.00076 0.000786667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000766667 0.000733333 0.000726667 0.000746667 0.00074 0.000726667 0.00076 +0.00078 0.000733333 0.000713333 0.000746667 0.00076 0.00074 0.000766667 0.00076 +0.000746667 0.000713333 0.00072 0.000753333 0.000733333 0.00076 0.000753333 0.000673333 +0.000666667 0.00072 0.000746667 0.000746667 0.000746667 0.00074 0.0007 0.000693333 +0.000706667 0.000726667 0.000726667 0.000726667 0.00072 0.000713333 0.000713333 0.0007 +0.000726667 0.00072 0.00072 0.000706667 0.000693333 0.000713333 0.000686667 0.000693333 +0.00074 0.00072 0.000726667 0.000726667 0.000713333 0.000726667 0.000726667 0.000706667 +0.0007 0.000686667 0.00068 0.000713333 0.00068 0.000693333 0.000706667 0.00072 +0.00074 0.000713333 0.0007 0.000666667 0.000653333 0.00068 0.000713333 0.000713333 +0.00072 0.000706667 0.000706667 0.000706667 0.000686667 0.0007 0.000686667 0.000686667 +0.0007 0.0007 0.000686667 0.00068 0.0007 0.000706667 0.0007 0.000686667 +0.000706667 0.00072 0.000706667 0.00072 0.000733333 0.000706667 0.000666667 0.000686667 +0.00072 0.000686667 0.000666667 0.000686667 0.000706667 0.000706667 0.000706667 0.000713333 +0.000686667 0.00066 0.000673333 0.000706667 0.000686667 0.000646667 0.000666667 0.000666667 +0.000673333 0.000693333 0.000666667 0.00066 0.000673333 0.000646667 0.000646667 0.000653333 +0.000653333 0.00068 0.0007 0.000706667 0.00066 0.000633333 0.000666667 0.00068 +0.000673333 0.000673333 0.000673333 0.000666667 0.000666667 0.00064 0.000626667 0.000626667 +0.000646667 0.00066 0.00066 0.000666667 0.000633333 0.000606667 0.000653333 0.000653333 +0.000653333 0.000666667 0.000686667 0.00066 0.000653333 0.000693333 0.000673333 0.00068 +0.000686667 0.00066 0.000633333 0.000646667 0.000673333 0.000686667 0.000706667 0.000673333 +0.000666667 0.000666667 0.00068 0.000693333 0.000666667 0.000693333 0.000693333 0.000653333 +0.000653333 0.000646667 0.000666667 0.000693333 0.000646667 0.000613333 0.000653333 0.000673333 +0.000666667 0.000666667 0.000673333 0.00068 0.000666667 0.00068 0.00064 0.000653333 +0.00068 0.000673333 0.000666667 0.000653333 0.000673333 0.000713333 0.000686667 0.000686667 +0.000686667 0.000666667 0.000666667 0.0007 0.00068 0.000673333 0.000693333 0.000693333 +0.000686667 0.00068 0.0007 0.0007 0.000673333 0.000686667 0.000713333 0.000693333 +0.000686667 0.000706667 0.000686667 0.000653333 0.00066 0.0007 0.000713333 0.000693333 +0.000666667 0.0007 0.000686667 0.000673333 0.000686667 0.000673333 0.000666667 0.000666667 +0.0007 0.000693333 0.000653333 0.000653333 0.000686667 0.00068 0.000653333 0.000653333 +0.000686667 0.000693333 0.00068 0.000673333 0.000673333 0.000693333 0.00068 0.0007 +0.000706667 0.000673333 0.000693333 0.000713333 0.000706667 0.000693333 0.00068 0.000673333 +0.000686667 0.000686667 0.00068 0.000693333 0.000706667 0.000686667 0.000706667 0.0007 +0.000666667 0.0007 0.000686667 0.00068 0.00068 0.00068 0.00068 0.000693333 +0.0007 0.000693333 0.000706667 0.00068 0.000673333 0.0007 0.00068 0.000706667 +0.0007 0.000693333 0.000693333 0.000666667 0.000666667 0.0007 0.000673333 0.000666667 +0.0007 0.000713333 0.0007 0.000666667 0.00066 0.000673333 0.000686667 0.000666667 +0.00066 0.0007 0.000713333 0.0007 0.00068 0.000666667 0.000686667 0.00072 +0.000673333 0.00066 0.000673333 0.000673333 0.000713333 0.000686667 0.00066 0.000653333 +0.000673333 0.000646667 0.00068 0.000686667 0.000673333 0.000693333 0.000686667 0.000713333 +0.00068 0.00066 0.000666667 0.00066 0.000673333 0.00068 0.000686667 0.00066 +0.000673333 0.000686667 0.000666667 0.000646667 0.000673333 0.000686667 0.00066 0.000653333 +0.000673333 0.0007 0.000646667 0.00066 0.000693333 0.00068 0.000666667 0.000686667 +0.000686667 0.00068 0.00068 0.000686667 0.00068 0.00066 0.000693333 0.000686667 +0.000653333 0.00066 0.00072 0.000706667 0.000646667 0.00064 0.000666667 0.000666667 +0.000666667 0.00066 0.000666667 0.000666667 0.00066 0.00066 0.000633333 0.000646667 +0.00068 0.000653333 0.00064 0.000653333 0.000666667 0.000653333 0.000646667 0.000686667 +0.00068 0.00066 0.00066 0.000666667 0.000673333 0.000686667 0.000633333 0.000626667 +0.00068 0.0007 0.0007 0.000646667 0.000666667 0.000666667 0.000673333 0.000686667 +0.000666667 0.00068 0.000686667 0.000686667 0.000653333 0.000686667 0.0007 0.000686667 +0.000693333 0.000713333 0.0007 0.000706667 0.000706667 0.000706667 0.000693333 0.000693333 +0.000693333 0.000686667 0.000713333 0.000706667 0.000693333 0.000686667 0.00072 0.000693333 +0.0007 0.000706667 0.000693333 0.000686667 0.000666667 0.0007 0.00072 0.000706667 +0.000686667 0.000706667 0.000726667 0.00074 0.000726667 0.000686667 0.0007 0.000713333 +0.00072 0.000726667 0.000706667 0.000713333 0.000706667 0.000706667 0.000713333 0.00072 +0.0007 0.000713333 0.00074 0.000726667 0.000713333 0.000726667 0.00072 0.00072 +0.000726667 0.000733333 0.000746667 0.000753333 0.000746667 0.000766667 0.00074 0.000726667 +0.00074 0.00076 0.00074 0.000726667 0.000713333 0.00074 0.000733333 0.000746667 +0.000713333 0.000733333 0.00078 0.000793333 0.00078 0.00074 0.000713333 0.00074 +0.000746667 0.000746667 0.00078 0.000766667 0.00078 0.000773333 0.000773333 0.000753333 +0.00074 0.000746667 0.000766667 0.000793333 0.000793333 0.000753333 0.000753333 0.000766667 +0.000793333 0.000773333 0.000753333 0.000733333 0.000773333 0.000813333 0.00082 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.0008 0.000773333 0.00076 0.00074 0.000733333 0.00076 0.000733333 0.000713333 +0.00076 0.00076 0.00072 0.00074 0.000733333 0.000713333 0.000733333 0.000746667 +0.000786667 0.00078 0.000726667 0.000733333 0.000746667 0.000746667 0.00074 0.000733333 +0.000706667 0.000693333 0.000706667 0.000726667 0.00072 0.000726667 0.00072 0.000693333 +0.000686667 0.00072 0.000733333 0.000746667 0.00072 0.000706667 0.000713333 0.0007 +0.0007 0.000706667 0.00072 0.00072 0.0007 0.000706667 0.000706667 0.000693333 +0.000706667 0.000706667 0.000686667 0.000706667 0.000733333 0.00074 0.000753333 0.000713333 +0.0007 0.000693333 0.000686667 0.00072 0.000706667 0.000686667 0.000693333 0.0007 +0.00072 0.000726667 0.000713333 0.000686667 0.000666667 0.000646667 0.00068 0.000693333 +0.000713333 0.000706667 0.00072 0.000713333 0.000713333 0.000706667 0.00068 0.000686667 +0.000686667 0.0007 0.000693333 0.00068 0.000706667 0.000706667 0.0007 0.000693333 +0.000706667 0.000693333 0.000706667 0.000706667 0.000726667 0.000746667 0.000686667 0.000686667 +0.000713333 0.000706667 0.00068 0.000686667 0.0007 0.000673333 0.00068 0.000693333 +0.0007 0.00068 0.00066 0.000673333 0.000693333 0.00066 0.000653333 0.00066 +0.000653333 0.000673333 0.00066 0.000666667 0.000666667 0.000666667 0.00066 0.00066 +0.00066 0.00066 0.00068 0.0007 0.00068 0.000653333 0.00066 0.00066 +0.000673333 0.000693333 0.000673333 0.00066 0.000666667 0.00066 0.00062 0.0006 +0.00062 0.000633333 0.000666667 0.000673333 0.000646667 0.000626667 0.000633333 0.000646667 +0.000653333 0.000666667 0.00068 0.000693333 0.000673333 0.000653333 0.000653333 0.000666667 +0.000686667 0.000666667 0.000646667 0.000653333 0.000653333 0.00066 0.0007 0.000693333 +0.000686667 0.00066 0.000666667 0.00068 0.000673333 0.000693333 0.000686667 0.000633333 +0.00064 0.000633333 0.000673333 0.0007 0.000666667 0.00064 0.000653333 0.000666667 +0.00068 0.000673333 0.00068 0.000666667 0.000646667 0.00066 0.000666667 0.000673333 +0.00068 0.000666667 0.000673333 0.000653333 0.000673333 0.000706667 0.000673333 0.00068 +0.000706667 0.000693333 0.00068 0.000693333 0.000693333 0.00068 0.000693333 0.000693333 +0.0007 0.000666667 0.00068 0.000706667 0.000693333 0.000686667 0.000706667 0.000713333 +0.0007 0.000686667 0.0007 0.00068 0.000633333 0.00068 0.0007 0.0007 +0.000686667 0.000686667 0.000693333 0.00068 0.000693333 0.000706667 0.000693333 0.000666667 +0.000686667 0.000686667 0.000673333 0.000673333 0.000686667 0.000686667 0.000666667 0.000666667 +0.000693333 0.000693333 0.000673333 0.000686667 0.00066 0.000686667 0.000673333 0.000686667 +0.000706667 0.00068 0.00072 0.00072 0.000706667 0.000693333 0.00068 0.000673333 +0.000693333 0.000693333 0.000666667 0.000686667 0.00072 0.000693333 0.0007 0.000693333 +0.00068 0.000693333 0.00068 0.000673333 0.000686667 0.000686667 0.00068 0.00068 +0.0007 0.00068 0.0007 0.000693333 0.000673333 0.000686667 0.000666667 0.000693333 +0.0007 0.000693333 0.00068 0.00066 0.00066 0.00068 0.000673333 0.00066 +0.00068 0.00072 0.000686667 0.00066 0.000673333 0.000673333 0.000693333 0.000673333 +0.000666667 0.0007 0.0007 0.000673333 0.000673333 0.0007 0.000706667 0.000693333 +0.00066 0.000673333 0.000673333 0.00066 0.000706667 0.000706667 0.000673333 0.000646667 +0.000666667 0.000653333 0.000673333 0.000693333 0.000713333 0.000706667 0.00068 0.0007 +0.000666667 0.000633333 0.000666667 0.000666667 0.00068 0.000693333 0.000686667 0.00066 +0.000666667 0.000693333 0.000653333 0.000646667 0.000686667 0.00068 0.000646667 0.000653333 +0.0007 0.0007 0.000653333 0.000686667 0.000693333 0.000666667 0.000686667 0.000686667 +0.00066 0.000666667 0.000686667 0.000693333 0.00068 0.000653333 0.0007 0.000686667 +0.000653333 0.000686667 0.000726667 0.000686667 0.000646667 0.00062 0.000646667 0.000686667 +0.000673333 0.000666667 0.00066 0.000653333 0.00066 0.00064 0.00064 0.000666667 +0.000673333 0.000673333 0.00064 0.000646667 0.000666667 0.00066 0.00066 0.000666667 +0.000666667 0.00066 0.00066 0.000653333 0.000686667 0.0007 0.000633333 0.00064 +0.000673333 0.000693333 0.00066 0.000653333 0.000693333 0.000666667 0.000666667 0.00068 +0.00068 0.000673333 0.000673333 0.00066 0.000673333 0.0007 0.0007 0.00068 +0.000706667 0.00072 0.0007 0.0007 0.000706667 0.000706667 0.000693333 0.000693333 +0.000706667 0.000693333 0.0007 0.000713333 0.00072 0.000706667 0.00072 0.000693333 +0.000686667 0.000706667 0.000686667 0.000673333 0.000686667 0.0007 0.000713333 0.000706667 +0.0007 0.000713333 0.000713333 0.000693333 0.00072 0.00072 0.000726667 0.000706667 +0.000713333 0.00072 0.000713333 0.000706667 0.000713333 0.000713333 0.000713333 0.000706667 +0.000706667 0.00072 0.000733333 0.00072 0.00072 0.000733333 0.000733333 0.000733333 +0.00072 0.00074 0.000753333 0.000753333 0.000746667 0.000726667 0.00074 0.000753333 +0.000746667 0.000726667 0.0007 0.000706667 0.00074 0.000753333 0.00074 0.000746667 +0.000713333 0.000766667 0.000793333 0.000753333 0.000726667 0.000726667 0.00074 0.00078 +0.000766667 0.000753333 0.00078 0.000753333 0.000766667 0.00076 0.00076 0.000746667 +0.000746667 0.00076 0.00078 0.000786667 0.000773333 0.000753333 0.000773333 0.000773333 +0.00078 0.000746667 0.00076 0.000766667 0.0008 0.000793333 0.0008 0.00082 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000773333 0.000753333 0.00078 0.000766667 0.00072 0.00072 0.000773333 0.000753333 +0.000726667 0.000746667 0.000746667 0.000726667 0.00072 0.00072 0.000733333 0.000713333 +0.000726667 0.000766667 0.00076 0.000746667 0.000746667 0.00074 0.000713333 0.000726667 +0.000753333 0.000733333 0.0007 0.000706667 0.00072 0.000706667 0.0007 0.000733333 +0.000733333 0.000706667 0.000706667 0.00074 0.00072 0.0007 0.00072 0.00072 +0.000706667 0.000713333 0.000726667 0.000713333 0.000713333 0.0007 0.000713333 0.000726667 +0.0007 0.000706667 0.000693333 0.00068 0.0007 0.000693333 0.000726667 0.000733333 +0.00074 0.000713333 0.000693333 0.000686667 0.000713333 0.000726667 0.000706667 0.000693333 +0.000686667 0.000713333 0.000713333 0.000706667 0.00072 0.000693333 0.000666667 0.000666667 +0.000686667 0.000693333 0.00072 0.000693333 0.0007 0.000713333 0.000693333 0.000693333 +0.000693333 0.000686667 0.000686667 0.000686667 0.000686667 0.0007 0.0007 0.0007 +0.0007 0.00066 0.00068 0.000713333 0.000706667 0.00072 0.000713333 0.000733333 +0.00072 0.000686667 0.000673333 0.000686667 0.000706667 0.00068 0.00068 0.000686667 +0.0007 0.0007 0.000693333 0.00068 0.000666667 0.000666667 0.000653333 0.000666667 +0.000673333 0.00066 0.000653333 0.00066 0.00066 0.000666667 0.00066 0.00066 +0.000686667 0.00068 0.00068 0.000666667 0.000673333 0.00066 0.00068 0.00066 +0.000646667 0.00066 0.000666667 0.00066 0.000646667 0.000653333 0.000633333 0.000613333 +0.000626667 0.000626667 0.000653333 0.000653333 0.000646667 0.000653333 0.00064 0.000633333 +0.00064 0.000666667 0.000666667 0.000706667 0.00072 0.000673333 0.000653333 0.000633333 +0.00068 0.00068 0.000673333 0.000666667 0.000646667 0.000653333 0.000686667 0.000713333 +0.000713333 0.000666667 0.000653333 0.000666667 0.000686667 0.000686667 0.00068 0.00064 +0.00064 0.00062 0.000653333 0.000713333 0.000686667 0.000666667 0.000646667 0.000653333 +0.000673333 0.00068 0.000666667 0.000673333 0.000686667 0.000653333 0.000646667 0.000673333 +0.000666667 0.000653333 0.00068 0.000673333 0.00068 0.000686667 0.000666667 0.000666667 +0.0007 0.0007 0.000686667 0.000673333 0.000693333 0.000666667 0.00068 0.0007 +0.0007 0.00068 0.00068 0.000693333 0.000686667 0.000673333 0.0007 0.000706667 +0.000686667 0.000673333 0.000693333 0.000706667 0.000666667 0.000666667 0.000686667 0.000713333 +0.0007 0.00068 0.000693333 0.00066 0.000706667 0.000733333 0.000686667 0.000673333 +0.00068 0.000686667 0.00068 0.00064 0.00068 0.0007 0.000686667 0.000666667 +0.000686667 0.000713333 0.00066 0.000693333 0.000666667 0.000666667 0.000693333 0.00068 +0.000686667 0.0007 0.00072 0.000706667 0.000706667 0.000686667 0.000673333 0.000673333 +0.000693333 0.000713333 0.00068 0.000673333 0.000713333 0.000693333 0.0007 0.00072 +0.000686667 0.000673333 0.000653333 0.00066 0.0007 0.000673333 0.00068 0.000686667 +0.0007 0.000686667 0.0007 0.000686667 0.000673333 0.000686667 0.00066 0.000693333 +0.000693333 0.000686667 0.000686667 0.00068 0.00066 0.000673333 0.000666667 0.000653333 +0.000673333 0.00072 0.00068 0.000646667 0.000686667 0.000686667 0.000706667 0.00068 +0.00066 0.000693333 0.0007 0.00066 0.00066 0.000706667 0.000706667 0.000686667 +0.00068 0.000686667 0.000673333 0.00066 0.000693333 0.00068 0.000666667 0.00066 +0.000666667 0.00066 0.000673333 0.000693333 0.000713333 0.000686667 0.000686667 0.000706667 +0.00066 0.00064 0.00068 0.00066 0.000666667 0.0007 0.000686667 0.00066 +0.00068 0.00068 0.00064 0.000646667 0.00068 0.000653333 0.000646667 0.000673333 +0.0007 0.000673333 0.000666667 0.00072 0.000693333 0.00068 0.000713333 0.000693333 +0.000646667 0.00066 0.000673333 0.000686667 0.00068 0.000666667 0.000693333 0.00066 +0.000666667 0.00072 0.000713333 0.00066 0.000633333 0.00064 0.00066 0.000686667 +0.00068 0.000686667 0.000653333 0.00064 0.000673333 0.000633333 0.000666667 0.000673333 +0.000666667 0.000666667 0.000646667 0.000646667 0.00066 0.000653333 0.000673333 0.00064 +0.000666667 0.00066 0.000646667 0.000653333 0.000686667 0.000706667 0.00066 0.000666667 +0.000666667 0.000673333 0.000653333 0.000686667 0.00068 0.00064 0.00066 0.000686667 +0.000673333 0.000666667 0.000673333 0.000673333 0.000686667 0.000666667 0.000673333 0.0007 +0.00072 0.000713333 0.000686667 0.000706667 0.000733333 0.000706667 0.000686667 0.0007 +0.0007 0.000693333 0.000706667 0.00074 0.000726667 0.00072 0.000713333 0.000686667 +0.000666667 0.000713333 0.000706667 0.000706667 0.000713333 0.0007 0.0007 0.0007 +0.000706667 0.000713333 0.000706667 0.000673333 0.000713333 0.00074 0.000733333 0.000713333 +0.0007 0.000713333 0.00072 0.000706667 0.000726667 0.000733333 0.000713333 0.000713333 +0.00072 0.000713333 0.000726667 0.000733333 0.00072 0.00072 0.000733333 0.000713333 +0.000713333 0.00076 0.000773333 0.000733333 0.000713333 0.00072 0.00076 0.000746667 +0.000713333 0.000706667 0.0007 0.000726667 0.000753333 0.000753333 0.000746667 0.00074 +0.00074 0.000786667 0.000773333 0.00074 0.000733333 0.000766667 0.00076 0.000773333 +0.000753333 0.000746667 0.00076 0.000753333 0.00076 0.000753333 0.000746667 0.00076 +0.000766667 0.000766667 0.00078 0.00078 0.000753333 0.00074 0.000773333 0.00078 +0.00078 0.000773333 0.000786667 0.000793333 0.0008 0.00078 0.000773333 0.000793333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00078 +0.00074 0.00074 0.000733333 0.00074 0.00076 0.000746667 0.00076 0.000773333 +0.000726667 0.000733333 0.000733333 0.000753333 0.000746667 0.000713333 0.000726667 0.000733333 +0.000713333 0.00072 0.00074 0.000746667 0.000733333 0.000746667 0.000713333 0.000706667 +0.000733333 0.000766667 0.00076 0.000726667 0.000713333 0.000706667 0.00068 0.0007 +0.000746667 0.000746667 0.000726667 0.00072 0.000726667 0.000713333 0.00068 0.000693333 +0.000713333 0.00072 0.000713333 0.0007 0.000713333 0.000713333 0.00072 0.000726667 +0.000713333 0.000713333 0.000713333 0.000686667 0.0007 0.000693333 0.000686667 0.0007 +0.000726667 0.00072 0.00072 0.0007 0.000686667 0.0007 0.000713333 0.000706667 +0.000693333 0.0007 0.000706667 0.0007 0.000706667 0.00072 0.000713333 0.00068 +0.000673333 0.000666667 0.000686667 0.00068 0.0007 0.0007 0.000693333 0.000693333 +0.0007 0.0007 0.000693333 0.00068 0.000686667 0.000706667 0.000713333 0.000693333 +0.0007 0.000693333 0.000686667 0.00068 0.000706667 0.000713333 0.000693333 0.00072 +0.00072 0.0007 0.000686667 0.0007 0.0007 0.00068 0.0007 0.000693333 +0.000686667 0.0007 0.000706667 0.0007 0.00068 0.000666667 0.00068 0.000653333 +0.000666667 0.000673333 0.000666667 0.000666667 0.000646667 0.000666667 0.00068 0.000653333 +0.00066 0.000693333 0.000686667 0.000666667 0.000653333 0.000673333 0.00068 0.000666667 +0.000653333 0.000653333 0.000646667 0.000646667 0.000646667 0.000626667 0.000633333 0.000626667 +0.00064 0.00066 0.000653333 0.00064 0.00064 0.00066 0.000653333 0.000646667 +0.00064 0.00064 0.000633333 0.000666667 0.000713333 0.0007 0.000686667 0.000653333 +0.000653333 0.000673333 0.0007 0.00068 0.000646667 0.000653333 0.000666667 0.000686667 +0.000706667 0.000693333 0.00066 0.000666667 0.000673333 0.000666667 0.000686667 0.00068 +0.000666667 0.000633333 0.00062 0.00068 0.0007 0.000666667 0.000633333 0.00066 +0.00068 0.000673333 0.00068 0.00068 0.00072 0.00068 0.000633333 0.000633333 +0.000653333 0.000673333 0.00068 0.0007 0.000686667 0.00068 0.000673333 0.00064 +0.000673333 0.0007 0.000706667 0.00068 0.00068 0.000686667 0.00068 0.00068 +0.0007 0.000706667 0.000693333 0.00068 0.000673333 0.000666667 0.000693333 0.000706667 +0.00068 0.00068 0.0007 0.000706667 0.00068 0.000653333 0.000693333 0.00072 +0.000693333 0.000673333 0.000686667 0.000666667 0.000693333 0.000713333 0.000693333 0.000653333 +0.000673333 0.000693333 0.000686667 0.00064 0.00066 0.0007 0.0007 0.000653333 +0.000666667 0.000706667 0.000686667 0.000713333 0.000693333 0.000686667 0.00068 0.000666667 +0.000666667 0.000693333 0.000713333 0.0007 0.000726667 0.0007 0.000673333 0.00068 +0.000686667 0.000706667 0.0007 0.000693333 0.000713333 0.000673333 0.000673333 0.000713333 +0.000693333 0.000673333 0.000646667 0.000666667 0.0007 0.000666667 0.00068 0.000693333 +0.0007 0.000693333 0.000673333 0.000646667 0.000686667 0.0007 0.000666667 0.000706667 +0.000693333 0.00066 0.0007 0.0007 0.000653333 0.000666667 0.000646667 0.000646667 +0.000673333 0.000713333 0.0007 0.000666667 0.00068 0.000686667 0.000693333 0.00066 +0.00064 0.000693333 0.0007 0.00066 0.000666667 0.000693333 0.000706667 0.000706667 +0.00068 0.000686667 0.000666667 0.000673333 0.000693333 0.000653333 0.000666667 0.000673333 +0.000673333 0.000646667 0.000666667 0.00068 0.000693333 0.000673333 0.000686667 0.000713333 +0.000646667 0.000646667 0.000686667 0.000666667 0.000673333 0.000673333 0.000686667 0.000666667 +0.00068 0.000673333 0.00066 0.00068 0.000666667 0.00062 0.00064 0.00068 +0.000713333 0.000673333 0.000673333 0.00072 0.0007 0.000686667 0.0007 0.00066 +0.000653333 0.000666667 0.000673333 0.000693333 0.000686667 0.000686667 0.000693333 0.000653333 +0.0007 0.00074 0.000686667 0.00064 0.00064 0.000666667 0.000666667 0.000686667 +0.000686667 0.00068 0.000653333 0.000646667 0.000666667 0.000646667 0.00066 0.00068 +0.000666667 0.000646667 0.00066 0.00066 0.000646667 0.000666667 0.000686667 0.000666667 +0.000653333 0.000646667 0.000646667 0.000653333 0.000686667 0.000693333 0.00068 0.00068 +0.000646667 0.000666667 0.000686667 0.000693333 0.000633333 0.000633333 0.00068 0.000673333 +0.000666667 0.00068 0.000673333 0.000666667 0.000673333 0.000653333 0.000686667 0.000713333 +0.0007 0.000686667 0.000686667 0.000733333 0.000746667 0.000706667 0.0007 0.000686667 +0.000693333 0.000706667 0.000713333 0.000726667 0.00072 0.000706667 0.0007 0.000666667 +0.000673333 0.00072 0.00072 0.00072 0.000726667 0.000686667 0.000686667 0.000706667 +0.000706667 0.000706667 0.0007 0.000673333 0.000713333 0.000733333 0.000713333 0.000713333 +0.0007 0.00072 0.000713333 0.000706667 0.000733333 0.00074 0.0007 0.000713333 +0.000713333 0.0007 0.000726667 0.00074 0.00072 0.00072 0.000733333 0.000706667 +0.000733333 0.000766667 0.000753333 0.00072 0.00074 0.00074 0.000733333 0.000713333 +0.000706667 0.000713333 0.000746667 0.000746667 0.000753333 0.000733333 0.000746667 0.000746667 +0.000753333 0.000766667 0.00076 0.00076 0.000766667 0.00076 0.000726667 0.00074 +0.000746667 0.000753333 0.000773333 0.000746667 0.000746667 0.00074 0.00076 0.000786667 +0.000773333 0.000766667 0.000786667 0.00076 0.000746667 0.000766667 0.00078 0.000766667 +0.00078 0.000786667 0.000786667 0.000786667 0.000786667 0.000786667 0.000766667 0.000746667 +0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000753333 0.00074 +0.000766667 0.00078 0.000753333 0.000733333 0.000753333 0.000766667 0.00074 0.000746667 +0.000766667 0.00076 0.000733333 0.00072 0.000726667 0.000746667 0.00076 0.00074 +0.000726667 0.00072 0.00072 0.000706667 0.000713333 0.00074 0.00074 0.000726667 +0.000713333 0.00072 0.000746667 0.000766667 0.000746667 0.000713333 0.000713333 0.0007 +0.000706667 0.00074 0.000746667 0.00072 0.000713333 0.000726667 0.000706667 0.00068 +0.000693333 0.0007 0.000686667 0.00068 0.000706667 0.00072 0.00072 0.000726667 +0.00072 0.000706667 0.000693333 0.0007 0.0007 0.000726667 0.000726667 0.0007 +0.000693333 0.000686667 0.000706667 0.000706667 0.000706667 0.000693333 0.000693333 0.00072 +0.000713333 0.000693333 0.000706667 0.000706667 0.0007 0.000713333 0.000713333 0.0007 +0.00068 0.000673333 0.00068 0.00068 0.0007 0.0007 0.000686667 0.000686667 +0.000693333 0.0007 0.0007 0.00068 0.000693333 0.000706667 0.000693333 0.000693333 +0.00068 0.0007 0.000713333 0.000686667 0.000693333 0.000693333 0.000686667 0.000693333 +0.000713333 0.000693333 0.000693333 0.00072 0.0007 0.000673333 0.000686667 0.00068 +0.000673333 0.000693333 0.000693333 0.000686667 0.000693333 0.000666667 0.000673333 0.00066 +0.000666667 0.00066 0.00066 0.00066 0.00064 0.000653333 0.000666667 0.000653333 +0.000633333 0.000666667 0.000686667 0.000666667 0.00064 0.000673333 0.000666667 0.000653333 +0.000666667 0.000666667 0.00066 0.000646667 0.00066 0.000613333 0.000626667 0.000626667 +0.000626667 0.000673333 0.000666667 0.000633333 0.00064 0.000673333 0.00068 0.000666667 +0.000653333 0.00064 0.000626667 0.000646667 0.00068 0.000693333 0.000686667 0.00068 +0.000666667 0.000673333 0.000686667 0.000686667 0.000666667 0.000666667 0.000666667 0.000673333 +0.000686667 0.000713333 0.00068 0.00068 0.00068 0.000653333 0.000666667 0.000686667 +0.00068 0.00066 0.000633333 0.000633333 0.00068 0.000686667 0.000653333 0.00066 +0.000666667 0.000666667 0.000666667 0.000686667 0.000693333 0.0007 0.000666667 0.000626667 +0.000633333 0.000673333 0.000693333 0.0007 0.00068 0.0007 0.000693333 0.000653333 +0.00066 0.000693333 0.000733333 0.000713333 0.000686667 0.000673333 0.00068 0.000673333 +0.000706667 0.000726667 0.000706667 0.00068 0.000673333 0.000673333 0.000673333 0.000693333 +0.000706667 0.000706667 0.000706667 0.0007 0.000673333 0.000673333 0.000693333 0.000693333 +0.0007 0.000686667 0.000673333 0.000666667 0.00068 0.0007 0.000693333 0.00066 +0.000666667 0.0007 0.0007 0.00066 0.00066 0.000693333 0.0007 0.00066 +0.000653333 0.000686667 0.000693333 0.000713333 0.000713333 0.00072 0.000673333 0.000646667 +0.000666667 0.00068 0.0007 0.0007 0.000706667 0.000706667 0.0007 0.00068 +0.000693333 0.00074 0.000713333 0.0007 0.00072 0.0007 0.000666667 0.00068 +0.000693333 0.000686667 0.000666667 0.0007 0.0007 0.000673333 0.000686667 0.000686667 +0.000706667 0.000726667 0.000686667 0.00064 0.000686667 0.000693333 0.000653333 0.000713333 +0.000706667 0.000653333 0.000693333 0.000673333 0.00064 0.000673333 0.000666667 0.000666667 +0.000686667 0.000726667 0.00072 0.00066 0.000666667 0.00068 0.000686667 0.000666667 +0.00066 0.000693333 0.000706667 0.00068 0.00066 0.00066 0.000726667 0.000726667 +0.000673333 0.000673333 0.000666667 0.000686667 0.0007 0.00066 0.000666667 0.00068 +0.000686667 0.000653333 0.000673333 0.00066 0.000673333 0.000666667 0.00066 0.000686667 +0.000653333 0.00066 0.00068 0.000693333 0.000686667 0.00064 0.000653333 0.000686667 +0.00068 0.00066 0.000686667 0.000686667 0.000653333 0.00064 0.00064 0.000673333 +0.000726667 0.000673333 0.000666667 0.000713333 0.000686667 0.000693333 0.0007 0.000646667 +0.000653333 0.000666667 0.00068 0.0007 0.000673333 0.000673333 0.000693333 0.000666667 +0.000713333 0.000726667 0.000673333 0.000633333 0.000646667 0.000673333 0.00068 0.000673333 +0.00066 0.000653333 0.000653333 0.000653333 0.00064 0.000653333 0.00066 0.000686667 +0.00066 0.000633333 0.00066 0.000646667 0.000653333 0.000686667 0.0007 0.000686667 +0.000633333 0.00064 0.00066 0.000653333 0.000673333 0.000673333 0.000693333 0.000673333 +0.00066 0.00068 0.000693333 0.000673333 0.00064 0.00068 0.000686667 0.00066 +0.000673333 0.000673333 0.000666667 0.000666667 0.000666667 0.000686667 0.000693333 0.000686667 +0.00068 0.000693333 0.000706667 0.00074 0.000713333 0.0007 0.000706667 0.0007 +0.000713333 0.000693333 0.000706667 0.00072 0.000713333 0.0007 0.000686667 0.000673333 +0.0007 0.00072 0.000713333 0.00072 0.000713333 0.00068 0.000693333 0.00072 +0.000693333 0.0007 0.000686667 0.000686667 0.000726667 0.00074 0.000706667 0.0007 +0.000693333 0.000713333 0.000706667 0.000706667 0.000706667 0.00072 0.000693333 0.0007 +0.000693333 0.000706667 0.000733333 0.00074 0.000726667 0.00072 0.00074 0.000733333 +0.000753333 0.00074 0.00074 0.000733333 0.000746667 0.000713333 0.0007 0.000706667 +0.000733333 0.000753333 0.000753333 0.00074 0.000733333 0.000746667 0.00076 0.000766667 +0.000746667 0.000753333 0.000766667 0.00076 0.00076 0.000733333 0.00072 0.000746667 +0.000766667 0.000766667 0.000753333 0.000726667 0.000753333 0.000773333 0.000793333 0.000786667 +0.000746667 0.000753333 0.00076 0.000766667 0.000773333 0.000773333 0.000753333 0.00076 +0.000793333 0.000793333 0.00078 0.00078 0.000766667 0.000766667 0.00074 0.00076 +0.00078 0.000813333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.0008 0.000733333 0.00072 +0.000753333 0.000766667 0.000786667 0.000793333 0.000773333 0.000733333 0.000706667 0.00074 +0.000753333 0.000773333 0.000746667 0.000726667 0.000693333 0.000713333 0.000753333 0.000753333 +0.000746667 0.000733333 0.00072 0.0007 0.000706667 0.000713333 0.000726667 0.00074 +0.000713333 0.000693333 0.000693333 0.00074 0.000773333 0.000766667 0.000746667 0.00072 +0.000713333 0.000706667 0.000706667 0.00072 0.000693333 0.000693333 0.000726667 0.00072 +0.000706667 0.000706667 0.0007 0.000686667 0.000686667 0.000686667 0.000693333 0.000706667 +0.000713333 0.00072 0.000713333 0.000706667 0.000686667 0.000693333 0.000733333 0.000733333 +0.000706667 0.00068 0.00068 0.000673333 0.000693333 0.00072 0.000713333 0.000706667 +0.000713333 0.0007 0.000726667 0.00072 0.0007 0.000713333 0.0007 0.000693333 +0.000693333 0.000686667 0.00068 0.000666667 0.00068 0.0007 0.0007 0.000693333 +0.000693333 0.000673333 0.000693333 0.000693333 0.000713333 0.000713333 0.00068 0.000686667 +0.000686667 0.00068 0.0007 0.000706667 0.0007 0.000666667 0.000693333 0.00072 +0.00072 0.000673333 0.00068 0.00072 0.000713333 0.000686667 0.000673333 0.000693333 +0.000686667 0.000673333 0.00068 0.000673333 0.000673333 0.000666667 0.000686667 0.00068 +0.000673333 0.000653333 0.000653333 0.00064 0.000646667 0.00066 0.00066 0.00066 +0.000646667 0.00064 0.000666667 0.00068 0.000666667 0.00068 0.000673333 0.00066 +0.000653333 0.00066 0.000653333 0.000646667 0.000646667 0.00062 0.000626667 0.00064 +0.000633333 0.000646667 0.000653333 0.000646667 0.000633333 0.000666667 0.000673333 0.000673333 +0.000666667 0.00066 0.000666667 0.000666667 0.000626667 0.000653333 0.00068 0.000686667 +0.0007 0.000706667 0.000673333 0.00066 0.000666667 0.00068 0.000666667 0.000693333 +0.000693333 0.000713333 0.00068 0.000666667 0.000673333 0.000666667 0.000653333 0.000666667 +0.000666667 0.000673333 0.00066 0.000633333 0.000646667 0.000666667 0.00068 0.000673333 +0.000626667 0.000653333 0.00068 0.000666667 0.000666667 0.000686667 0.000666667 0.000653333 +0.000646667 0.000653333 0.00068 0.0007 0.00068 0.000693333 0.000713333 0.000693333 +0.000666667 0.000666667 0.000693333 0.000706667 0.0007 0.000673333 0.000673333 0.000666667 +0.000713333 0.00074 0.000713333 0.000693333 0.000673333 0.00068 0.00066 0.000666667 +0.000713333 0.000726667 0.000706667 0.000686667 0.000673333 0.000686667 0.000686667 0.00068 +0.0007 0.000693333 0.000673333 0.000653333 0.000653333 0.0007 0.000686667 0.000673333 +0.00068 0.00068 0.000706667 0.000693333 0.000666667 0.00068 0.000693333 0.000673333 +0.000666667 0.000686667 0.000693333 0.0007 0.000706667 0.00072 0.000686667 0.00068 +0.000693333 0.000686667 0.0007 0.000693333 0.000706667 0.0007 0.0007 0.000673333 +0.0007 0.000746667 0.000713333 0.000686667 0.000706667 0.00072 0.000693333 0.00068 +0.000686667 0.000686667 0.000673333 0.0007 0.000713333 0.00068 0.000686667 0.000686667 +0.000693333 0.00072 0.000733333 0.00068 0.00068 0.000693333 0.00066 0.0007 +0.000706667 0.00066 0.000673333 0.00066 0.000646667 0.00068 0.000686667 0.000673333 +0.00068 0.000726667 0.000713333 0.000666667 0.00066 0.000666667 0.000693333 0.000693333 +0.00068 0.000673333 0.0007 0.000693333 0.00066 0.000653333 0.000733333 0.00072 +0.00066 0.000673333 0.000653333 0.000693333 0.0007 0.00066 0.00066 0.000686667 +0.000693333 0.00066 0.000686667 0.000686667 0.000666667 0.000653333 0.000666667 0.00068 +0.00066 0.000666667 0.000673333 0.000693333 0.00068 0.000666667 0.000666667 0.000686667 +0.000693333 0.00066 0.000686667 0.000673333 0.000633333 0.00064 0.000653333 0.00068 +0.0007 0.000666667 0.000686667 0.000686667 0.000673333 0.0007 0.000706667 0.000646667 +0.000646667 0.000673333 0.0007 0.000713333 0.00066 0.000673333 0.000693333 0.000693333 +0.000713333 0.0007 0.000666667 0.000633333 0.00064 0.000673333 0.000693333 0.000653333 +0.00066 0.00068 0.000686667 0.000653333 0.000626667 0.00066 0.00068 0.000666667 +0.00064 0.000646667 0.000646667 0.000673333 0.00068 0.000686667 0.000686667 0.000693333 +0.00064 0.000626667 0.000653333 0.000666667 0.000666667 0.000666667 0.000686667 0.00068 +0.00068 0.000666667 0.000666667 0.000666667 0.00066 0.000686667 0.00066 0.000666667 +0.00068 0.00066 0.000653333 0.000666667 0.000673333 0.0007 0.000686667 0.000686667 +0.000686667 0.0007 0.000713333 0.000706667 0.000706667 0.000713333 0.000706667 0.00072 +0.0007 0.00068 0.0007 0.00072 0.00072 0.0007 0.000693333 0.000693333 +0.000706667 0.00072 0.000713333 0.00072 0.000693333 0.000666667 0.000693333 0.000706667 +0.000693333 0.000693333 0.00068 0.0007 0.000726667 0.00076 0.000713333 0.000693333 +0.000673333 0.000686667 0.00072 0.000733333 0.000706667 0.0007 0.000693333 0.0007 +0.0007 0.000726667 0.00074 0.00074 0.000726667 0.000726667 0.000753333 0.00074 +0.000726667 0.00074 0.000746667 0.00072 0.000693333 0.000686667 0.000726667 0.000746667 +0.00076 0.000753333 0.000753333 0.000733333 0.000726667 0.000766667 0.00076 0.00076 +0.000746667 0.000753333 0.000753333 0.000746667 0.00074 0.000733333 0.00076 0.000773333 +0.000766667 0.000746667 0.000746667 0.000773333 0.000786667 0.000793333 0.00076 0.00074 +0.000733333 0.000753333 0.00076 0.00078 0.00076 0.000753333 0.000773333 0.000793333 +0.000793333 0.000793333 0.000773333 0.000766667 0.00078 0.00076 0.000753333 0.0008 +0.0008 0.000786667 0.000793333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.00076 0.000746667 0.00074 0.00074 +0.000733333 0.000726667 0.00074 0.000786667 0.000806667 0.00078 0.000753333 0.000753333 +0.000753333 0.00076 0.000746667 0.00074 0.000733333 0.000713333 0.0007 0.000733333 +0.000753333 0.000746667 0.00074 0.000726667 0.000726667 0.000706667 0.000693333 0.000706667 +0.0007 0.000713333 0.00072 0.000713333 0.00074 0.000766667 0.00076 0.000713333 +0.000733333 0.000713333 0.0007 0.00072 0.000706667 0.0007 0.000706667 0.000693333 +0.0007 0.000713333 0.000726667 0.000726667 0.0007 0.000673333 0.000673333 0.000673333 +0.0007 0.000733333 0.00072 0.000733333 0.000713333 0.000706667 0.0007 0.0007 +0.000706667 0.000706667 0.000686667 0.000693333 0.000693333 0.000686667 0.000726667 0.000706667 +0.0007 0.0007 0.00072 0.000726667 0.00072 0.0007 0.000693333 0.000706667 +0.000713333 0.000693333 0.000666667 0.000666667 0.00068 0.0007 0.000686667 0.00068 +0.0007 0.000693333 0.000693333 0.000706667 0.000733333 0.00072 0.000666667 0.000673333 +0.00068 0.00068 0.000693333 0.000686667 0.000693333 0.000686667 0.000686667 0.000726667 +0.000733333 0.00068 0.000666667 0.000706667 0.000713333 0.000693333 0.000693333 0.000693333 +0.000706667 0.000673333 0.00066 0.00066 0.00064 0.000666667 0.000673333 0.00068 +0.000666667 0.000653333 0.000653333 0.00064 0.000646667 0.000666667 0.00066 0.000646667 +0.000646667 0.000633333 0.000653333 0.000673333 0.000666667 0.000673333 0.00068 0.000673333 +0.000653333 0.00066 0.000646667 0.000646667 0.000646667 0.000646667 0.000626667 0.000633333 +0.00066 0.000653333 0.000633333 0.000646667 0.00066 0.000653333 0.000653333 0.000673333 +0.000666667 0.000653333 0.00066 0.00068 0.000653333 0.000633333 0.00066 0.000666667 +0.00068 0.000706667 0.000693333 0.000673333 0.00064 0.000646667 0.00068 0.000686667 +0.000686667 0.000693333 0.000706667 0.000666667 0.000653333 0.00066 0.00066 0.000653333 +0.000673333 0.00068 0.000666667 0.000646667 0.000646667 0.00066 0.000673333 0.000673333 +0.000653333 0.00064 0.000673333 0.000666667 0.000653333 0.000666667 0.000646667 0.000666667 +0.00066 0.000653333 0.000653333 0.000666667 0.000693333 0.000686667 0.0007 0.000713333 +0.00068 0.000673333 0.000666667 0.00068 0.000693333 0.00068 0.000693333 0.000686667 +0.0007 0.000726667 0.000706667 0.000706667 0.0007 0.000686667 0.000653333 0.000666667 +0.000686667 0.000706667 0.00072 0.000693333 0.000673333 0.00068 0.000686667 0.000706667 +0.0007 0.0007 0.000673333 0.000666667 0.000666667 0.0007 0.000693333 0.000673333 +0.000666667 0.000673333 0.000706667 0.0007 0.00068 0.000673333 0.000686667 0.00066 +0.00066 0.0007 0.000693333 0.000693333 0.000706667 0.0007 0.0007 0.000673333 +0.000666667 0.000693333 0.0007 0.000686667 0.0007 0.000693333 0.000706667 0.000686667 +0.00068 0.000706667 0.000706667 0.000686667 0.00068 0.0007 0.000706667 0.0007 +0.000686667 0.000693333 0.000673333 0.00068 0.000706667 0.000673333 0.00068 0.000686667 +0.00068 0.0007 0.000733333 0.000686667 0.00068 0.000686667 0.000666667 0.000686667 +0.0007 0.00066 0.000673333 0.000673333 0.000673333 0.000686667 0.00068 0.000673333 +0.000673333 0.000706667 0.000686667 0.000673333 0.000673333 0.00066 0.00068 0.000686667 +0.000686667 0.000686667 0.000693333 0.00068 0.000673333 0.000666667 0.00072 0.000686667 +0.000653333 0.000666667 0.000646667 0.000693333 0.000693333 0.000653333 0.000666667 0.000693333 +0.000686667 0.000653333 0.000693333 0.000713333 0.000673333 0.000653333 0.00068 0.00068 +0.000653333 0.00066 0.000653333 0.000666667 0.000673333 0.000693333 0.000673333 0.000673333 +0.000686667 0.000686667 0.000666667 0.000653333 0.00064 0.000646667 0.000673333 0.0007 +0.00068 0.000666667 0.000726667 0.00068 0.00066 0.00072 0.000693333 0.000653333 +0.000686667 0.000686667 0.000693333 0.000686667 0.000666667 0.000706667 0.000686667 0.0007 +0.000713333 0.000673333 0.000666667 0.000653333 0.00066 0.00068 0.000686667 0.00064 +0.00068 0.000686667 0.000686667 0.00064 0.000633333 0.000686667 0.000693333 0.00066 +0.000653333 0.00064 0.00064 0.000686667 0.000693333 0.000673333 0.000666667 0.00066 +0.000633333 0.000613333 0.000633333 0.000666667 0.000653333 0.00066 0.0007 0.0007 +0.00066 0.000633333 0.000673333 0.000673333 0.00066 0.000666667 0.000666667 0.00068 +0.000673333 0.000646667 0.000666667 0.00068 0.00068 0.000686667 0.000693333 0.000706667 +0.000693333 0.000693333 0.000706667 0.000693333 0.00072 0.00072 0.000693333 0.000713333 +0.000686667 0.000693333 0.0007 0.00072 0.000726667 0.0007 0.000706667 0.000706667 +0.0007 0.000726667 0.000713333 0.0007 0.000673333 0.00068 0.000706667 0.000706667 +0.000693333 0.000666667 0.0007 0.00072 0.000726667 0.000753333 0.000726667 0.000693333 +0.000673333 0.000706667 0.000733333 0.00074 0.0007 0.000713333 0.00072 0.000706667 +0.0007 0.00072 0.000713333 0.00074 0.00074 0.00074 0.000733333 0.000713333 +0.000726667 0.00074 0.000726667 0.000706667 0.00068 0.000713333 0.000746667 0.000746667 +0.00076 0.000753333 0.00076 0.000753333 0.00074 0.000746667 0.000733333 0.00074 +0.00074 0.000746667 0.000733333 0.00074 0.000746667 0.00076 0.00078 0.000773333 +0.00074 0.00074 0.00078 0.0008 0.000793333 0.000766667 0.000733333 0.00074 +0.000746667 0.00076 0.00076 0.000766667 0.00076 0.00078 0.000793333 0.000786667 +0.000773333 0.000773333 0.000766667 0.00078 0.00078 0.000766667 0.000773333 0.000806667 +0.000793333 0.000766667 0.00076 0.000793333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00078 0.00074 0.00072 0.00074 0.000746667 +0.000713333 0.000726667 0.00072 0.00072 0.00074 0.000773333 0.00078 0.00078 +0.00078 0.000773333 0.000766667 0.000733333 0.000713333 0.000733333 0.000726667 0.000713333 +0.000706667 0.000713333 0.000746667 0.000733333 0.00074 0.000753333 0.000726667 0.000686667 +0.00068 0.0007 0.00072 0.000726667 0.00072 0.000726667 0.000733333 0.000733333 +0.00074 0.00072 0.000726667 0.000726667 0.0007 0.000713333 0.000713333 0.000706667 +0.00068 0.000693333 0.000713333 0.000726667 0.00074 0.000706667 0.000713333 0.000686667 +0.00068 0.000706667 0.000706667 0.000726667 0.000726667 0.000726667 0.000706667 0.000693333 +0.0007 0.000726667 0.000693333 0.000686667 0.000693333 0.00068 0.000706667 0.000713333 +0.000706667 0.000693333 0.000706667 0.0007 0.00072 0.000706667 0.0007 0.000706667 +0.000706667 0.0007 0.00068 0.000693333 0.000706667 0.0007 0.000686667 0.00068 +0.000686667 0.0007 0.0007 0.0007 0.00072 0.000726667 0.000686667 0.000666667 +0.00068 0.000686667 0.000693333 0.0007 0.00068 0.000673333 0.000686667 0.000706667 +0.000713333 0.000686667 0.00068 0.0007 0.000706667 0.000693333 0.000693333 0.000686667 +0.000693333 0.000693333 0.000686667 0.00066 0.00064 0.000653333 0.00066 0.00066 +0.000653333 0.00066 0.00066 0.000646667 0.000653333 0.000673333 0.000666667 0.000653333 +0.000646667 0.000633333 0.00064 0.00066 0.000666667 0.000673333 0.000686667 0.0007 +0.00068 0.000653333 0.000633333 0.00062 0.000626667 0.000653333 0.000633333 0.00062 +0.000673333 0.000666667 0.000626667 0.000626667 0.000666667 0.000673333 0.000653333 0.000666667 +0.000666667 0.000673333 0.000673333 0.00066 0.000653333 0.00064 0.000633333 0.000646667 +0.00066 0.00068 0.0007 0.000713333 0.000673333 0.000653333 0.00068 0.000686667 +0.000666667 0.000666667 0.0007 0.00068 0.00066 0.00066 0.00068 0.000653333 +0.00068 0.000686667 0.000666667 0.000633333 0.00064 0.000693333 0.00066 0.000646667 +0.00066 0.000653333 0.00066 0.000666667 0.000673333 0.000686667 0.00066 0.00066 +0.000653333 0.00064 0.000646667 0.00068 0.00068 0.00068 0.000673333 0.000693333 +0.000713333 0.000693333 0.000666667 0.000686667 0.00068 0.000673333 0.000686667 0.000693333 +0.000693333 0.000706667 0.000713333 0.000713333 0.0007 0.000666667 0.00066 0.000686667 +0.000666667 0.000673333 0.00072 0.0007 0.000666667 0.000673333 0.0007 0.000706667 +0.000693333 0.000693333 0.00068 0.000686667 0.000686667 0.000686667 0.000686667 0.000673333 +0.000673333 0.00068 0.000686667 0.00066 0.000666667 0.000686667 0.000693333 0.000666667 +0.000653333 0.00068 0.000693333 0.000693333 0.000706667 0.0007 0.0007 0.00066 +0.000666667 0.000686667 0.0007 0.000693333 0.00068 0.000693333 0.00074 0.000693333 +0.00068 0.0007 0.000706667 0.000706667 0.000686667 0.00068 0.000686667 0.000706667 +0.0007 0.000686667 0.000673333 0.00068 0.000706667 0.000673333 0.00068 0.000686667 +0.00068 0.0007 0.000713333 0.000673333 0.00068 0.000666667 0.00066 0.000686667 +0.000693333 0.000666667 0.000666667 0.000673333 0.00068 0.000673333 0.000666667 0.00068 +0.00068 0.0007 0.000673333 0.000666667 0.00068 0.000673333 0.000666667 0.000673333 +0.0007 0.00072 0.000686667 0.000673333 0.000673333 0.000666667 0.000713333 0.000686667 +0.000653333 0.000673333 0.000673333 0.000693333 0.000673333 0.000653333 0.000673333 0.00068 +0.000666667 0.000653333 0.000693333 0.0007 0.000666667 0.000653333 0.00068 0.00068 +0.00066 0.00066 0.00064 0.000673333 0.000686667 0.000686667 0.000653333 0.00066 +0.000666667 0.000686667 0.000666667 0.000646667 0.000646667 0.000673333 0.000666667 0.000693333 +0.000693333 0.000673333 0.000713333 0.000666667 0.000673333 0.00074 0.000686667 0.000666667 +0.000693333 0.000686667 0.000686667 0.000673333 0.00068 0.00072 0.000666667 0.0007 +0.000706667 0.000653333 0.000653333 0.000673333 0.000686667 0.000673333 0.000666667 0.000646667 +0.000686667 0.00068 0.00066 0.000666667 0.000666667 0.000686667 0.000693333 0.000673333 +0.000666667 0.00062 0.000646667 0.000693333 0.000686667 0.00066 0.000666667 0.000673333 +0.000626667 0.000606667 0.00064 0.00066 0.000646667 0.000666667 0.0007 0.000686667 +0.00064 0.000666667 0.00068 0.00066 0.000666667 0.00068 0.000686667 0.000673333 +0.000653333 0.000646667 0.000673333 0.0007 0.000686667 0.00068 0.000686667 0.000693333 +0.0007 0.000713333 0.000713333 0.000706667 0.000713333 0.000713333 0.0007 0.0007 +0.0007 0.000706667 0.0007 0.000713333 0.000726667 0.000693333 0.000706667 0.000713333 +0.0007 0.00072 0.000706667 0.00068 0.000673333 0.000693333 0.000713333 0.00072 +0.0007 0.000666667 0.00072 0.000726667 0.000726667 0.000733333 0.00072 0.000666667 +0.000686667 0.00074 0.000726667 0.000713333 0.000713333 0.000733333 0.000726667 0.000693333 +0.000706667 0.00072 0.00072 0.000746667 0.000733333 0.000733333 0.00072 0.000713333 +0.000726667 0.000726667 0.00072 0.000713333 0.000713333 0.00074 0.000733333 0.00074 +0.000753333 0.000766667 0.00076 0.000753333 0.000733333 0.000746667 0.00074 0.000733333 +0.000726667 0.00076 0.00074 0.000746667 0.000766667 0.000766667 0.00076 0.000753333 +0.00074 0.000773333 0.000793333 0.000773333 0.000766667 0.000753333 0.000753333 0.000753333 +0.000753333 0.00076 0.00076 0.00078 0.000773333 0.000786667 0.000766667 0.000773333 +0.000786667 0.00078 0.00078 0.00078 0.000773333 0.000773333 0.00078 0.000766667 +0.000753333 0.000766667 0.000786667 0.00078 0.000793333 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000813333 0.000766667 0.000753333 0.000746667 0.00076 0.000766667 +0.000746667 0.000733333 0.00072 0.00072 0.000706667 0.00072 0.00074 0.000766667 +0.000786667 0.000746667 0.000746667 0.000766667 0.00072 0.00072 0.00072 0.000726667 +0.000726667 0.0007 0.00072 0.000733333 0.000726667 0.000746667 0.00076 0.00072 +0.000706667 0.000686667 0.000686667 0.000706667 0.00072 0.000706667 0.000726667 0.00072 +0.000733333 0.00072 0.000726667 0.000726667 0.000733333 0.000713333 0.000713333 0.00072 +0.000713333 0.00072 0.000706667 0.000693333 0.000713333 0.000713333 0.000726667 0.000713333 +0.00068 0.000686667 0.000686667 0.000693333 0.000713333 0.000726667 0.000726667 0.00072 +0.000686667 0.000706667 0.00072 0.000706667 0.000686667 0.0007 0.000726667 0.000726667 +0.000706667 0.000686667 0.0007 0.00066 0.00068 0.000693333 0.000706667 0.00072 +0.000726667 0.000713333 0.000693333 0.000713333 0.000713333 0.0007 0.000693333 0.0007 +0.000686667 0.0007 0.000693333 0.00068 0.000706667 0.000726667 0.000706667 0.00068 +0.000686667 0.000686667 0.000693333 0.000713333 0.000706667 0.000666667 0.000686667 0.0007 +0.000686667 0.000693333 0.000693333 0.000693333 0.000693333 0.0007 0.000686667 0.00068 +0.000686667 0.000693333 0.0007 0.000673333 0.000646667 0.00064 0.00066 0.000666667 +0.00066 0.00066 0.000653333 0.000633333 0.000646667 0.000653333 0.000653333 0.00068 +0.00068 0.000666667 0.000646667 0.000633333 0.000673333 0.000686667 0.000686667 0.00068 +0.00068 0.000646667 0.000633333 0.00062 0.000606667 0.000626667 0.000633333 0.00064 +0.00066 0.00066 0.000633333 0.00064 0.000646667 0.000653333 0.00066 0.000653333 +0.00066 0.000686667 0.000693333 0.00064 0.000626667 0.000666667 0.00064 0.00064 +0.000653333 0.000653333 0.000673333 0.000706667 0.00072 0.00068 0.00066 0.00066 +0.00066 0.00066 0.000673333 0.000666667 0.000673333 0.00068 0.000693333 0.000673333 +0.000666667 0.000673333 0.00066 0.00064 0.000633333 0.000666667 0.000666667 0.000646667 +0.000666667 0.00066 0.00066 0.00068 0.00068 0.000706667 0.000673333 0.000633333 +0.000653333 0.000626667 0.000653333 0.000693333 0.000673333 0.000666667 0.000666667 0.000673333 +0.000706667 0.000706667 0.000686667 0.0007 0.000693333 0.000673333 0.00068 0.000686667 +0.00068 0.00072 0.00072 0.000713333 0.0007 0.000666667 0.00068 0.000686667 +0.000666667 0.00068 0.00072 0.000713333 0.000653333 0.000666667 0.0007 0.000693333 +0.000686667 0.0007 0.000693333 0.000673333 0.00066 0.00068 0.000686667 0.00068 +0.000673333 0.00068 0.000686667 0.00066 0.00066 0.000686667 0.000686667 0.000666667 +0.000646667 0.00066 0.000693333 0.000693333 0.0007 0.00068 0.00068 0.000686667 +0.00068 0.000686667 0.0007 0.000693333 0.00068 0.000713333 0.000746667 0.0007 +0.000666667 0.0007 0.0007 0.00072 0.00072 0.000706667 0.00068 0.0007 +0.000693333 0.000673333 0.000666667 0.000686667 0.000713333 0.000686667 0.00068 0.00068 +0.00068 0.000706667 0.000706667 0.000666667 0.000673333 0.000666667 0.00066 0.000686667 +0.0007 0.00068 0.000666667 0.00066 0.00066 0.00066 0.000666667 0.000673333 +0.00068 0.000706667 0.000673333 0.00066 0.00068 0.000666667 0.000666667 0.000693333 +0.000693333 0.000713333 0.000686667 0.000673333 0.00068 0.000666667 0.000706667 0.000686667 +0.000666667 0.00068 0.000673333 0.00068 0.000666667 0.000646667 0.000666667 0.000673333 +0.00066 0.000666667 0.0007 0.000673333 0.00066 0.00068 0.000713333 0.000686667 +0.000686667 0.000666667 0.000633333 0.000673333 0.00068 0.00066 0.000653333 0.000673333 +0.00068 0.000686667 0.00066 0.000666667 0.000646667 0.000653333 0.000653333 0.0007 +0.000686667 0.00068 0.000693333 0.000666667 0.000686667 0.00072 0.000686667 0.000673333 +0.000673333 0.000666667 0.00068 0.000673333 0.000686667 0.0007 0.00068 0.000706667 +0.000693333 0.000666667 0.000646667 0.000673333 0.0007 0.000666667 0.00066 0.000686667 +0.000686667 0.00066 0.000646667 0.000673333 0.000686667 0.000673333 0.00068 0.00068 +0.00066 0.00064 0.000666667 0.000666667 0.000666667 0.000673333 0.000673333 0.000673333 +0.000646667 0.00064 0.000653333 0.000646667 0.000673333 0.000693333 0.00068 0.000673333 +0.000673333 0.000693333 0.000646667 0.000653333 0.0007 0.0007 0.00068 0.00064 +0.00064 0.000673333 0.000693333 0.000693333 0.00068 0.00068 0.000673333 0.000693333 +0.000706667 0.00072 0.000706667 0.0007 0.000706667 0.00072 0.000706667 0.0007 +0.000693333 0.00068 0.0007 0.00074 0.00072 0.000673333 0.00072 0.000713333 +0.000693333 0.00072 0.000713333 0.00068 0.000686667 0.000693333 0.000713333 0.000713333 +0.0007 0.0007 0.000733333 0.000726667 0.000706667 0.0007 0.000693333 0.000673333 +0.00072 0.00074 0.000713333 0.0007 0.000726667 0.00072 0.000693333 0.0007 +0.00072 0.000733333 0.000746667 0.00072 0.00072 0.000733333 0.00072 0.00072 +0.000693333 0.000706667 0.00072 0.00072 0.000726667 0.000713333 0.000733333 0.00074 +0.000746667 0.000753333 0.000746667 0.000733333 0.00072 0.000746667 0.000753333 0.000733333 +0.00074 0.000766667 0.000753333 0.00076 0.00076 0.00074 0.00074 0.000746667 +0.000766667 0.0008 0.000773333 0.000746667 0.000753333 0.00076 0.000766667 0.000753333 +0.000753333 0.00076 0.000773333 0.000786667 0.00078 0.000773333 0.000773333 0.00078 +0.00076 0.000753333 0.00076 0.000773333 0.00078 0.000753333 0.00076 0.000766667 +0.000773333 0.00078 0.000786667 0.000766667 0.000766667 0.000786667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00078 0.000753333 0.000773333 0.000786667 0.000766667 0.000753333 +0.000773333 0.000766667 0.000746667 0.000733333 0.0007 0.000686667 0.000706667 0.000713333 +0.000766667 0.00078 0.00074 0.00074 0.000746667 0.000753333 0.000733333 0.000726667 +0.00074 0.000726667 0.000713333 0.000713333 0.00072 0.000713333 0.00074 0.000753333 +0.00074 0.000713333 0.00068 0.000706667 0.000713333 0.000713333 0.000713333 0.000713333 +0.0007 0.000713333 0.00072 0.00072 0.000733333 0.000726667 0.0007 0.000686667 +0.000693333 0.000726667 0.000713333 0.000693333 0.0007 0.000706667 0.000706667 0.000713333 +0.000706667 0.000693333 0.000706667 0.0007 0.0007 0.000706667 0.00072 0.00074 +0.000713333 0.000693333 0.000693333 0.000706667 0.000713333 0.00072 0.000713333 0.00072 +0.000706667 0.000693333 0.000713333 0.00068 0.000686667 0.000686667 0.000686667 0.000706667 +0.00074 0.000733333 0.000713333 0.000693333 0.0007 0.000706667 0.0007 0.000713333 +0.000686667 0.00068 0.000693333 0.000693333 0.0007 0.000713333 0.000713333 0.000706667 +0.000693333 0.00068 0.000693333 0.0007 0.00072 0.000686667 0.000686667 0.000706667 +0.000686667 0.00068 0.000706667 0.000706667 0.000686667 0.000706667 0.000686667 0.00068 +0.000686667 0.000693333 0.0007 0.00068 0.000653333 0.000646667 0.000666667 0.00068 +0.000666667 0.000666667 0.000646667 0.000633333 0.000633333 0.000633333 0.000633333 0.000673333 +0.000693333 0.000686667 0.00066 0.00064 0.000653333 0.000673333 0.000666667 0.000646667 +0.000646667 0.00064 0.000653333 0.000646667 0.000633333 0.00062 0.000626667 0.000666667 +0.000646667 0.00064 0.000653333 0.000673333 0.00066 0.00066 0.00066 0.00066 +0.000666667 0.000666667 0.00066 0.000653333 0.000653333 0.00066 0.000646667 0.00066 +0.000666667 0.000646667 0.000633333 0.000673333 0.000713333 0.000693333 0.000653333 0.000646667 +0.000673333 0.000673333 0.00066 0.00066 0.00068 0.000693333 0.00068 0.000686667 +0.00068 0.000673333 0.000646667 0.000653333 0.00066 0.000646667 0.000653333 0.000673333 +0.000673333 0.000646667 0.000633333 0.000673333 0.000686667 0.000706667 0.000706667 0.00066 +0.000653333 0.00064 0.00062 0.000653333 0.000673333 0.000686667 0.000666667 0.000666667 +0.000666667 0.000693333 0.000706667 0.000706667 0.000706667 0.0007 0.000686667 0.000666667 +0.000666667 0.00072 0.000713333 0.0007 0.000706667 0.000686667 0.000673333 0.000686667 +0.000693333 0.000673333 0.0007 0.000726667 0.000666667 0.000666667 0.000673333 0.000693333 +0.0007 0.0007 0.0007 0.000653333 0.00064 0.000686667 0.000706667 0.000686667 +0.000673333 0.00068 0.000686667 0.000686667 0.000666667 0.000673333 0.000686667 0.000673333 +0.00066 0.000673333 0.0007 0.000686667 0.000693333 0.000693333 0.000666667 0.00068 +0.000693333 0.0007 0.0007 0.000713333 0.000693333 0.000686667 0.000706667 0.000693333 +0.00066 0.000686667 0.000706667 0.00072 0.00072 0.000726667 0.00068 0.000706667 +0.0007 0.000686667 0.000673333 0.00068 0.000713333 0.000693333 0.00066 0.00066 +0.000693333 0.000713333 0.000726667 0.000673333 0.00066 0.000686667 0.00068 0.000686667 +0.000686667 0.000673333 0.000666667 0.000666667 0.000666667 0.000673333 0.000666667 0.000666667 +0.000673333 0.000706667 0.000686667 0.000666667 0.000686667 0.00066 0.000666667 0.000693333 +0.000673333 0.000693333 0.000673333 0.000673333 0.000686667 0.000686667 0.000726667 0.000686667 +0.000666667 0.00068 0.00066 0.00068 0.000666667 0.00066 0.000673333 0.000686667 +0.000686667 0.000686667 0.000693333 0.000666667 0.00066 0.0007 0.000713333 0.000666667 +0.000693333 0.000653333 0.00064 0.000686667 0.000673333 0.000653333 0.000666667 0.00068 +0.000693333 0.000686667 0.000653333 0.000666667 0.00066 0.000633333 0.000653333 0.00072 +0.000686667 0.0007 0.000686667 0.000653333 0.00068 0.000693333 0.000686667 0.00068 +0.000693333 0.0007 0.000693333 0.000673333 0.00068 0.00068 0.000673333 0.000686667 +0.000673333 0.000666667 0.000653333 0.00066 0.000706667 0.0007 0.000686667 0.000706667 +0.000686667 0.000646667 0.000646667 0.00066 0.000686667 0.00068 0.00066 0.000666667 +0.00066 0.00064 0.000646667 0.00066 0.00068 0.00068 0.000666667 0.00064 +0.00066 0.000666667 0.000646667 0.000646667 0.00068 0.000686667 0.000673333 0.000693333 +0.0007 0.00066 0.000626667 0.000666667 0.000706667 0.00068 0.00066 0.00064 +0.000666667 0.000706667 0.000686667 0.00068 0.00068 0.00068 0.000686667 0.00068 +0.000693333 0.0007 0.00068 0.0007 0.00072 0.000713333 0.0007 0.0007 +0.000706667 0.0007 0.000713333 0.000733333 0.0007 0.0007 0.000726667 0.000706667 +0.00068 0.000713333 0.000713333 0.00068 0.0007 0.0007 0.00072 0.000706667 +0.000686667 0.000726667 0.000726667 0.000713333 0.000673333 0.000686667 0.000706667 0.00072 +0.000706667 0.000693333 0.000706667 0.000713333 0.000726667 0.000706667 0.0007 0.000713333 +0.000713333 0.000733333 0.000733333 0.00072 0.00074 0.000733333 0.000726667 0.000713333 +0.000693333 0.000706667 0.00072 0.000726667 0.000713333 0.0007 0.000746667 0.00074 +0.000746667 0.000733333 0.000733333 0.000746667 0.000746667 0.000766667 0.000746667 0.00074 +0.00074 0.000753333 0.000753333 0.000746667 0.000746667 0.000746667 0.000746667 0.00076 +0.000766667 0.000766667 0.00076 0.00076 0.000766667 0.000773333 0.000773333 0.00074 +0.000753333 0.000773333 0.000753333 0.00076 0.000773333 0.000773333 0.00078 0.00076 +0.000746667 0.000753333 0.00076 0.00078 0.000773333 0.000733333 0.000773333 0.000786667 +0.000786667 0.000766667 0.000753333 0.000733333 0.000753333 0.000786667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00076 0.000706667 0.000713333 0.000746667 0.000773333 0.000786667 0.000766667 +0.000753333 0.000766667 0.000766667 0.00076 0.000733333 0.000713333 0.00072 0.000693333 +0.000693333 0.000753333 0.000766667 0.000746667 0.000726667 0.000733333 0.000753333 0.000753333 +0.000726667 0.000753333 0.000753333 0.000726667 0.00072 0.0007 0.000706667 0.000733333 +0.00074 0.000733333 0.00072 0.000713333 0.000713333 0.000713333 0.000706667 0.00072 +0.00072 0.000706667 0.000726667 0.000706667 0.000713333 0.00074 0.000726667 0.000706667 +0.000693333 0.00068 0.0007 0.000706667 0.000706667 0.000706667 0.000706667 0.000706667 +0.000713333 0.00072 0.000706667 0.000706667 0.000706667 0.000673333 0.000706667 0.000733333 +0.000733333 0.00072 0.000686667 0.000686667 0.000693333 0.000706667 0.000706667 0.0007 +0.000693333 0.0007 0.000706667 0.000713333 0.00072 0.000706667 0.000693333 0.000686667 +0.000713333 0.000706667 0.000713333 0.0007 0.000693333 0.000706667 0.000686667 0.000693333 +0.0007 0.00068 0.0007 0.0007 0.0007 0.00072 0.000706667 0.000693333 +0.00068 0.000666667 0.000686667 0.0007 0.0007 0.000686667 0.00068 0.000706667 +0.000693333 0.000666667 0.000693333 0.0007 0.000686667 0.000693333 0.000706667 0.000693333 +0.000673333 0.000686667 0.0007 0.000686667 0.000673333 0.00066 0.000666667 0.000673333 +0.000666667 0.000646667 0.000646667 0.000653333 0.00064 0.000626667 0.000646667 0.000653333 +0.00066 0.00068 0.00066 0.000646667 0.000646667 0.00066 0.00066 0.00066 +0.000633333 0.000646667 0.00064 0.000633333 0.00064 0.000613333 0.000633333 0.000673333 +0.000646667 0.00064 0.00066 0.000666667 0.000653333 0.00066 0.00066 0.00066 +0.00068 0.000673333 0.00064 0.000653333 0.000673333 0.000666667 0.000673333 0.000666667 +0.000673333 0.000666667 0.000646667 0.00066 0.000693333 0.0007 0.000666667 0.00066 +0.000693333 0.00068 0.000653333 0.000653333 0.0007 0.0007 0.00068 0.000666667 +0.000673333 0.000673333 0.000666667 0.000646667 0.00066 0.000666667 0.000646667 0.000666667 +0.000673333 0.000666667 0.00064 0.00064 0.000666667 0.000686667 0.000713333 0.000693333 +0.000646667 0.000646667 0.000633333 0.000626667 0.00068 0.000713333 0.000686667 0.000653333 +0.000653333 0.000673333 0.000713333 0.000713333 0.000706667 0.0007 0.00068 0.00066 +0.000666667 0.0007 0.00072 0.000706667 0.000706667 0.0007 0.00068 0.000673333 +0.000693333 0.00068 0.000673333 0.0007 0.000706667 0.000673333 0.000653333 0.00068 +0.0007 0.00072 0.00072 0.000653333 0.00064 0.000666667 0.0007 0.000706667 +0.000693333 0.000686667 0.000693333 0.00068 0.00064 0.00066 0.0007 0.0007 +0.00068 0.000686667 0.000693333 0.00068 0.0007 0.000686667 0.00066 0.000673333 +0.000693333 0.000713333 0.000706667 0.00072 0.000693333 0.00066 0.00068 0.0007 +0.00068 0.000686667 0.000693333 0.000693333 0.000693333 0.000726667 0.000693333 0.000693333 +0.0007 0.000706667 0.000693333 0.00068 0.000726667 0.000693333 0.000653333 0.00066 +0.000693333 0.000726667 0.00074 0.00068 0.000653333 0.000693333 0.000693333 0.000706667 +0.000686667 0.00068 0.00068 0.000673333 0.00066 0.000666667 0.000666667 0.000666667 +0.00068 0.000713333 0.000686667 0.000673333 0.0007 0.000673333 0.000673333 0.00068 +0.000673333 0.00068 0.000666667 0.00066 0.000686667 0.000713333 0.000733333 0.00068 +0.000646667 0.000653333 0.000653333 0.000693333 0.000686667 0.000666667 0.000673333 0.0007 +0.0007 0.000686667 0.0007 0.000666667 0.00066 0.0007 0.000693333 0.000653333 +0.00068 0.00064 0.00066 0.0007 0.000673333 0.000666667 0.00068 0.000666667 +0.000693333 0.000686667 0.00066 0.00066 0.000673333 0.000653333 0.000666667 0.0007 +0.000686667 0.00072 0.00068 0.000646667 0.000706667 0.000706667 0.000673333 0.000686667 +0.000706667 0.000713333 0.000693333 0.000673333 0.000693333 0.000666667 0.00066 0.000673333 +0.00068 0.000673333 0.000666667 0.000666667 0.0007 0.000706667 0.000693333 0.00068 +0.000653333 0.00064 0.000646667 0.000673333 0.000706667 0.000693333 0.000673333 0.00066 +0.000653333 0.000646667 0.000653333 0.000653333 0.000673333 0.000686667 0.000653333 0.000626667 +0.00066 0.00068 0.000653333 0.000653333 0.000653333 0.00068 0.000686667 0.00068 +0.000673333 0.000653333 0.00066 0.000686667 0.000673333 0.000646667 0.000653333 0.000666667 +0.000686667 0.00068 0.000666667 0.00068 0.000693333 0.000686667 0.000686667 0.000666667 +0.000686667 0.000686667 0.00068 0.000706667 0.000713333 0.0007 0.000713333 0.000706667 +0.000733333 0.000726667 0.000713333 0.0007 0.000693333 0.00072 0.000706667 0.000713333 +0.00068 0.0007 0.00072 0.000686667 0.0007 0.000706667 0.000713333 0.0007 +0.000706667 0.00074 0.000713333 0.00068 0.00066 0.000706667 0.00072 0.00072 +0.00068 0.0007 0.000746667 0.000713333 0.000706667 0.00072 0.000726667 0.000706667 +0.000693333 0.000713333 0.00072 0.000726667 0.000753333 0.000733333 0.000713333 0.000706667 +0.000706667 0.000706667 0.000726667 0.00074 0.000726667 0.000726667 0.000746667 0.000753333 +0.000753333 0.00072 0.000753333 0.000766667 0.00076 0.000766667 0.000753333 0.000733333 +0.00074 0.00078 0.000766667 0.000746667 0.000753333 0.000766667 0.000753333 0.000753333 +0.000753333 0.000753333 0.000766667 0.000773333 0.00076 0.00076 0.00076 0.000746667 +0.00076 0.000746667 0.000753333 0.000766667 0.000786667 0.00078 0.000766667 0.00076 +0.000773333 0.000753333 0.000753333 0.00076 0.000753333 0.00074 0.000786667 0.000773333 +0.00076 0.000753333 0.00076 0.00076 0.000786667 0.000766667 0.00078 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000826667 0.0008 0.00078 0.00076 0.000753333 0.00072 0.00074 0.000753333 +0.000746667 0.000753333 0.000753333 0.000746667 0.000766667 0.000753333 0.000726667 0.00072 +0.00072 0.0007 0.0007 0.000733333 0.00074 0.000726667 0.000706667 0.00072 +0.00074 0.000753333 0.00074 0.000746667 0.000753333 0.00072 0.000693333 0.000713333 +0.000733333 0.00074 0.00076 0.000753333 0.0007 0.000706667 0.0007 0.0007 +0.000706667 0.00072 0.000713333 0.000713333 0.000706667 0.000706667 0.000733333 0.000746667 +0.00074 0.0007 0.00068 0.000693333 0.000713333 0.000713333 0.000706667 0.000713333 +0.0007 0.000706667 0.0007 0.000693333 0.000713333 0.000693333 0.0007 0.000693333 +0.000686667 0.000693333 0.000706667 0.000706667 0.000686667 0.0007 0.00072 0.000706667 +0.000686667 0.000686667 0.000693333 0.000706667 0.000713333 0.000706667 0.000713333 0.0007 +0.000706667 0.00068 0.000686667 0.000713333 0.000713333 0.000706667 0.000673333 0.000673333 +0.000693333 0.000706667 0.000706667 0.000686667 0.00072 0.000726667 0.000706667 0.0007 +0.000693333 0.000686667 0.000686667 0.000686667 0.000686667 0.000693333 0.000693333 0.00068 +0.000693333 0.000693333 0.0007 0.000686667 0.000686667 0.00068 0.0007 0.000713333 +0.000686667 0.000686667 0.000686667 0.000686667 0.00068 0.00068 0.000653333 0.00066 +0.000666667 0.00064 0.00064 0.00066 0.000653333 0.00062 0.000626667 0.00064 +0.000646667 0.00066 0.000653333 0.000653333 0.000666667 0.00066 0.00066 0.000666667 +0.000646667 0.000633333 0.00062 0.00062 0.00064 0.000626667 0.000646667 0.000666667 +0.000633333 0.000613333 0.00066 0.000666667 0.00066 0.00066 0.000646667 0.000666667 +0.00068 0.000673333 0.00066 0.00068 0.000673333 0.000653333 0.000693333 0.000666667 +0.000666667 0.000666667 0.000653333 0.000666667 0.000706667 0.00072 0.000673333 0.000673333 +0.000693333 0.000686667 0.00066 0.000646667 0.000673333 0.00068 0.000673333 0.000686667 +0.000673333 0.000673333 0.000686667 0.00066 0.000646667 0.000646667 0.00066 0.000653333 +0.00066 0.00068 0.000653333 0.000626667 0.000633333 0.000653333 0.000706667 0.00072 +0.000673333 0.00064 0.000653333 0.000653333 0.000666667 0.000713333 0.0007 0.000646667 +0.000653333 0.000666667 0.000693333 0.0007 0.000706667 0.000686667 0.00068 0.000673333 +0.000653333 0.00068 0.00072 0.000706667 0.00072 0.000713333 0.000713333 0.000673333 +0.000673333 0.0007 0.000686667 0.00068 0.0007 0.000693333 0.000666667 0.000673333 +0.000686667 0.000706667 0.00072 0.000686667 0.000646667 0.000646667 0.000686667 0.00072 +0.0007 0.000673333 0.000693333 0.0007 0.000653333 0.00064 0.000686667 0.000693333 +0.00068 0.00068 0.0007 0.000666667 0.000693333 0.000686667 0.000653333 0.000686667 +0.000713333 0.00072 0.0007 0.000693333 0.000686667 0.000673333 0.000693333 0.00072 +0.000706667 0.0007 0.000693333 0.00068 0.00068 0.00072 0.000686667 0.00068 +0.0007 0.0007 0.0007 0.000706667 0.000706667 0.000686667 0.000666667 0.000666667 +0.000686667 0.00072 0.000733333 0.000693333 0.00066 0.000666667 0.000686667 0.000733333 +0.000673333 0.000666667 0.000673333 0.000673333 0.000653333 0.000673333 0.000686667 0.000666667 +0.000666667 0.00072 0.000686667 0.000673333 0.000706667 0.000693333 0.000673333 0.000666667 +0.000653333 0.000666667 0.00066 0.00066 0.000666667 0.000693333 0.00072 0.000673333 +0.000646667 0.000633333 0.000646667 0.0007 0.00068 0.00066 0.000673333 0.0007 +0.000686667 0.000673333 0.000686667 0.000653333 0.000653333 0.00068 0.000673333 0.000666667 +0.000686667 0.000633333 0.000666667 0.000686667 0.00068 0.000666667 0.000673333 0.000646667 +0.000686667 0.000686667 0.000673333 0.000666667 0.00068 0.000673333 0.00068 0.000666667 +0.00068 0.000713333 0.000666667 0.000666667 0.00072 0.0007 0.000666667 0.000686667 +0.000713333 0.0007 0.000673333 0.000673333 0.000693333 0.000673333 0.000666667 0.00068 +0.000693333 0.000653333 0.00068 0.000693333 0.0007 0.000706667 0.000693333 0.000673333 +0.00064 0.000646667 0.000673333 0.000686667 0.0007 0.000673333 0.000686667 0.000673333 +0.000626667 0.00066 0.00068 0.000666667 0.000666667 0.000673333 0.000646667 0.000613333 +0.000666667 0.0007 0.000673333 0.00064 0.000646667 0.000686667 0.00068 0.000666667 +0.00068 0.00068 0.00068 0.00068 0.00066 0.000646667 0.000666667 0.00068 +0.000673333 0.000666667 0.000673333 0.000673333 0.000686667 0.000693333 0.000673333 0.00068 +0.000693333 0.00068 0.000686667 0.000706667 0.000706667 0.000706667 0.000713333 0.000726667 +0.000726667 0.00072 0.000706667 0.000666667 0.000693333 0.000706667 0.000693333 0.00072 +0.0007 0.000693333 0.00072 0.000706667 0.0007 0.000706667 0.00068 0.000693333 +0.000733333 0.000706667 0.00068 0.000673333 0.000686667 0.00072 0.000706667 0.0007 +0.000713333 0.00074 0.000746667 0.0007 0.00072 0.000746667 0.000706667 0.0007 +0.000686667 0.000693333 0.00072 0.00074 0.000733333 0.00072 0.000713333 0.000706667 +0.000713333 0.000713333 0.000733333 0.000733333 0.000753333 0.00074 0.000733333 0.000746667 +0.000733333 0.00076 0.000766667 0.000746667 0.00074 0.000753333 0.00076 0.00074 +0.000753333 0.00076 0.00076 0.000753333 0.00076 0.00076 0.000753333 0.000766667 +0.000746667 0.00074 0.000773333 0.000753333 0.000726667 0.00074 0.000746667 0.000753333 +0.000753333 0.00076 0.000766667 0.000773333 0.000773333 0.000773333 0.000773333 0.00076 +0.000753333 0.000733333 0.00074 0.00076 0.000766667 0.000753333 0.000766667 0.000753333 +0.000766667 0.00076 0.00076 0.000766667 0.000746667 0.00074 0.000753333 0.00078 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000813333 +0.000753333 0.00076 0.000793333 0.00078 0.000786667 0.00076 0.00074 0.00074 +0.00076 0.000766667 0.000753333 0.000746667 0.00076 0.000766667 0.000733333 0.000713333 +0.00074 0.000746667 0.000733333 0.0007 0.0007 0.000733333 0.000713333 0.000686667 +0.000713333 0.00074 0.000706667 0.000713333 0.00074 0.00074 0.000726667 0.000706667 +0.00072 0.00072 0.000726667 0.00076 0.000766667 0.000746667 0.00072 0.000693333 +0.000686667 0.000713333 0.000713333 0.000726667 0.00072 0.0007 0.000713333 0.000726667 +0.000733333 0.000726667 0.000713333 0.000706667 0.000693333 0.000693333 0.000713333 0.000726667 +0.0007 0.000686667 0.000686667 0.000686667 0.000713333 0.000733333 0.000726667 0.00068 +0.000666667 0.000666667 0.000693333 0.0007 0.0007 0.000706667 0.000706667 0.000693333 +0.000686667 0.000706667 0.000706667 0.0007 0.000693333 0.000693333 0.000706667 0.000706667 +0.000713333 0.000706667 0.000693333 0.000713333 0.000733333 0.000706667 0.00068 0.00068 +0.000693333 0.000693333 0.0007 0.0007 0.000726667 0.00072 0.000686667 0.00072 +0.0007 0.0007 0.000713333 0.000686667 0.000653333 0.000686667 0.00072 0.0007 +0.000673333 0.000673333 0.000693333 0.000686667 0.000693333 0.000666667 0.000673333 0.0007 +0.0007 0.0007 0.000686667 0.000666667 0.00066 0.000673333 0.000673333 0.000653333 +0.000653333 0.000646667 0.00064 0.000653333 0.000653333 0.000626667 0.00064 0.000653333 +0.000666667 0.00064 0.00064 0.00066 0.000673333 0.000673333 0.000666667 0.000646667 +0.000633333 0.000633333 0.000633333 0.00064 0.000626667 0.000626667 0.00066 0.000653333 +0.000626667 0.00062 0.000633333 0.00064 0.00066 0.000646667 0.000653333 0.00068 +0.000693333 0.000673333 0.000653333 0.000686667 0.000673333 0.000646667 0.000673333 0.000673333 +0.000686667 0.000686667 0.00066 0.00064 0.0007 0.00074 0.000706667 0.00068 +0.00066 0.000673333 0.00068 0.000686667 0.000653333 0.000646667 0.00066 0.00068 +0.000686667 0.000666667 0.000666667 0.000666667 0.000653333 0.00064 0.000653333 0.000653333 +0.00064 0.00068 0.000673333 0.000653333 0.00062 0.000626667 0.000686667 0.000713333 +0.000713333 0.00068 0.000673333 0.000653333 0.000633333 0.000673333 0.000686667 0.00068 +0.000673333 0.00066 0.000666667 0.00068 0.0007 0.0007 0.000686667 0.000686667 +0.000666667 0.000666667 0.000706667 0.000706667 0.000706667 0.000713333 0.000706667 0.0007 +0.000686667 0.00068 0.000686667 0.0007 0.000673333 0.00068 0.000693333 0.000673333 +0.0007 0.000693333 0.000713333 0.000706667 0.000653333 0.000653333 0.000686667 0.000713333 +0.000686667 0.00068 0.00068 0.000693333 0.00068 0.000666667 0.000673333 0.0007 +0.00068 0.000666667 0.000686667 0.000646667 0.00068 0.000713333 0.000653333 0.000653333 +0.0007 0.000713333 0.0007 0.000693333 0.000693333 0.000693333 0.0007 0.00072 +0.000686667 0.000693333 0.000713333 0.0007 0.0007 0.00072 0.000686667 0.000693333 +0.00072 0.00068 0.000673333 0.00068 0.0007 0.000706667 0.000686667 0.00068 +0.000666667 0.0007 0.00072 0.0007 0.000666667 0.000666667 0.000686667 0.000726667 +0.000666667 0.000673333 0.00068 0.000686667 0.000666667 0.0007 0.0007 0.000666667 +0.000673333 0.000726667 0.000673333 0.000633333 0.000706667 0.000713333 0.00068 0.000666667 +0.00066 0.00068 0.00066 0.000673333 0.000673333 0.000673333 0.000686667 0.000653333 +0.000666667 0.00066 0.000646667 0.00068 0.000673333 0.000666667 0.00068 0.00068 +0.000686667 0.000666667 0.000673333 0.000646667 0.000666667 0.000686667 0.00068 0.000693333 +0.00068 0.00064 0.000666667 0.000666667 0.000673333 0.00066 0.000653333 0.000646667 +0.000686667 0.000693333 0.000666667 0.000673333 0.00068 0.000673333 0.000693333 0.000673333 +0.00068 0.000686667 0.000673333 0.00068 0.0007 0.00068 0.00068 0.000693333 +0.0007 0.000686667 0.00068 0.000686667 0.00068 0.000673333 0.0007 0.000686667 +0.00066 0.000653333 0.000693333 0.0007 0.000686667 0.000686667 0.000706667 0.000686667 +0.00066 0.00066 0.00068 0.000686667 0.000686667 0.000673333 0.000686667 0.00066 +0.00064 0.000666667 0.0007 0.000673333 0.000646667 0.000673333 0.00064 0.00062 +0.000673333 0.000693333 0.000666667 0.000646667 0.000653333 0.000673333 0.000673333 0.000666667 +0.0007 0.000693333 0.000693333 0.00066 0.000653333 0.000686667 0.00068 0.00068 +0.000673333 0.000666667 0.00068 0.000673333 0.000686667 0.0007 0.000686667 0.000693333 +0.000686667 0.00068 0.0007 0.000706667 0.000706667 0.000706667 0.000713333 0.00074 +0.000706667 0.000713333 0.00068 0.00066 0.00072 0.000706667 0.000693333 0.000726667 +0.000726667 0.000693333 0.000726667 0.000726667 0.00068 0.000666667 0.00066 0.000706667 +0.00072 0.000686667 0.000686667 0.000686667 0.000686667 0.000706667 0.000706667 0.000713333 +0.000746667 0.00074 0.00072 0.0007 0.00072 0.00072 0.000673333 0.000686667 +0.000693333 0.000706667 0.00074 0.000753333 0.000726667 0.000733333 0.000726667 0.000706667 +0.000686667 0.0007 0.000746667 0.000766667 0.000773333 0.00072 0.000706667 0.000746667 +0.000766667 0.0008 0.000746667 0.00072 0.000746667 0.000766667 0.000766667 0.000753333 +0.000733333 0.000726667 0.000766667 0.000753333 0.00074 0.00074 0.00076 0.000766667 +0.000753333 0.00076 0.000766667 0.000733333 0.000733333 0.000753333 0.000753333 0.00074 +0.000746667 0.000766667 0.000766667 0.00076 0.000766667 0.00078 0.000766667 0.00074 +0.000746667 0.000746667 0.000753333 0.000773333 0.00078 0.000753333 0.00074 0.000746667 +0.000753333 0.00074 0.000766667 0.00076 0.000733333 0.000753333 0.000746667 0.000746667 +0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00078 0.000766667 +0.00076 0.000753333 0.000773333 0.000773333 0.00078 0.00076 0.000753333 0.00074 +0.00072 0.000746667 0.000786667 0.000766667 0.000753333 0.000773333 0.000753333 0.00072 +0.000726667 0.000746667 0.000753333 0.00074 0.000726667 0.000713333 0.00072 0.000726667 +0.000706667 0.000706667 0.000713333 0.000713333 0.0007 0.000706667 0.00076 0.000746667 +0.0007 0.000706667 0.000706667 0.000713333 0.00074 0.00076 0.000753333 0.00074 +0.0007 0.00068 0.000693333 0.00072 0.00072 0.00072 0.00072 0.000713333 +0.000713333 0.00074 0.000733333 0.00072 0.000726667 0.000713333 0.000713333 0.000706667 +0.0007 0.00072 0.000693333 0.00068 0.000706667 0.000713333 0.000726667 0.000713333 +0.000706667 0.000693333 0.000673333 0.000666667 0.000706667 0.000713333 0.000686667 0.000673333 +0.000686667 0.0007 0.00072 0.000706667 0.000693333 0.00068 0.00068 0.0007 +0.00072 0.000726667 0.000713333 0.000706667 0.000726667 0.000733333 0.000726667 0.000713333 +0.0007 0.000686667 0.000686667 0.000706667 0.000726667 0.000706667 0.000686667 0.0007 +0.000693333 0.000686667 0.000713333 0.000713333 0.00068 0.000666667 0.000693333 0.000713333 +0.000686667 0.000673333 0.00068 0.000686667 0.000706667 0.000686667 0.00068 0.00066 +0.000673333 0.00068 0.00068 0.000673333 0.000666667 0.00066 0.00066 0.00066 +0.000666667 0.00066 0.00066 0.000666667 0.00066 0.00064 0.000633333 0.000646667 +0.000673333 0.00066 0.000653333 0.000653333 0.000673333 0.000673333 0.000673333 0.000633333 +0.00062 0.000633333 0.00064 0.000653333 0.000633333 0.000633333 0.00064 0.000646667 +0.00064 0.000653333 0.00064 0.000626667 0.000646667 0.000653333 0.00066 0.000666667 +0.000686667 0.000693333 0.00068 0.000673333 0.000666667 0.00066 0.00066 0.00068 +0.000693333 0.000693333 0.000666667 0.00062 0.00064 0.0007 0.000733333 0.0007 +0.000653333 0.000633333 0.000673333 0.0007 0.000673333 0.000646667 0.000653333 0.00068 +0.000713333 0.000673333 0.000653333 0.000666667 0.000653333 0.000646667 0.000633333 0.000666667 +0.000666667 0.00066 0.000673333 0.000673333 0.000646667 0.000633333 0.000646667 0.00068 +0.000713333 0.000713333 0.0007 0.000666667 0.000633333 0.00064 0.00068 0.0007 +0.000693333 0.000666667 0.000646667 0.000673333 0.000693333 0.000706667 0.000693333 0.00068 +0.000686667 0.00066 0.0007 0.00072 0.000686667 0.000706667 0.0007 0.0007 +0.0007 0.000673333 0.000686667 0.00072 0.000693333 0.000673333 0.000673333 0.000666667 +0.0007 0.000706667 0.000706667 0.000686667 0.00066 0.00066 0.000673333 0.000706667 +0.00068 0.00068 0.000673333 0.000693333 0.000693333 0.000686667 0.000693333 0.000686667 +0.000673333 0.000653333 0.000673333 0.000673333 0.000693333 0.00072 0.00068 0.000653333 +0.00068 0.000713333 0.000693333 0.000706667 0.000713333 0.000693333 0.000686667 0.0007 +0.00068 0.0007 0.00072 0.00072 0.000706667 0.000713333 0.000686667 0.0007 +0.000726667 0.000693333 0.00066 0.000673333 0.000706667 0.000706667 0.0007 0.00068 +0.000673333 0.00072 0.000726667 0.0007 0.000673333 0.000666667 0.000693333 0.000726667 +0.000673333 0.0007 0.000686667 0.000666667 0.000666667 0.000693333 0.000706667 0.000686667 +0.00068 0.000713333 0.000673333 0.00064 0.00068 0.000706667 0.000686667 0.000666667 +0.00068 0.000693333 0.000673333 0.000686667 0.00068 0.00068 0.000666667 0.00064 +0.000693333 0.000706667 0.000653333 0.00066 0.000666667 0.000666667 0.00068 0.000693333 +0.000686667 0.000673333 0.000673333 0.000673333 0.00068 0.000693333 0.000693333 0.000693333 +0.00066 0.000626667 0.000653333 0.000666667 0.00068 0.000666667 0.000673333 0.000666667 +0.000673333 0.000673333 0.000653333 0.000666667 0.00068 0.00068 0.000713333 0.000673333 +0.000693333 0.000693333 0.00068 0.000686667 0.000693333 0.000686667 0.00068 0.000686667 +0.000686667 0.00068 0.000706667 0.000693333 0.000666667 0.000673333 0.0007 0.00068 +0.00064 0.00068 0.0007 0.000693333 0.00068 0.000673333 0.000706667 0.0007 +0.000673333 0.000673333 0.000673333 0.000673333 0.000673333 0.000666667 0.00068 0.000666667 +0.000666667 0.00068 0.000706667 0.00068 0.000653333 0.000653333 0.000633333 0.000646667 +0.000673333 0.00068 0.0007 0.00066 0.000653333 0.000653333 0.000666667 0.000693333 +0.00068 0.0007 0.000686667 0.00064 0.000646667 0.000693333 0.000706667 0.000686667 +0.00064 0.000626667 0.000666667 0.000706667 0.000706667 0.0007 0.000706667 0.00068 +0.00066 0.000686667 0.000713333 0.0007 0.000713333 0.000706667 0.00072 0.000733333 +0.000713333 0.000706667 0.000686667 0.000686667 0.000706667 0.000713333 0.000726667 0.000726667 +0.000713333 0.00068 0.000733333 0.000713333 0.000646667 0.00066 0.00068 0.00072 +0.000733333 0.000693333 0.000686667 0.000693333 0.000686667 0.000706667 0.000726667 0.000733333 +0.000753333 0.00072 0.0007 0.000706667 0.000686667 0.000693333 0.000693333 0.0007 +0.000713333 0.000733333 0.00074 0.000746667 0.000733333 0.000726667 0.0007 0.000693333 +0.000686667 0.00072 0.000766667 0.00076 0.00074 0.000713333 0.000726667 0.000773333 +0.000766667 0.000746667 0.00072 0.00074 0.00076 0.00074 0.00074 0.000726667 +0.000733333 0.000746667 0.000766667 0.00074 0.000746667 0.00074 0.00074 0.000746667 +0.000766667 0.000773333 0.000753333 0.000746667 0.000733333 0.000753333 0.000753333 0.000753333 +0.000746667 0.000746667 0.00076 0.000753333 0.00076 0.00076 0.00076 0.000753333 +0.00076 0.000753333 0.000766667 0.00078 0.000753333 0.00074 0.000746667 0.000753333 +0.000726667 0.00074 0.000753333 0.000753333 0.000766667 0.000753333 0.000746667 0.00074 +0.000753333 0.00078 0.000506667 0.000506667 0.000506667 0.000813333 0.000766667 0.000726667 +0.000726667 0.000746667 0.000766667 0.000793333 0.000793333 0.00078 0.000793333 0.000753333 +0.000713333 0.000713333 0.000746667 0.000733333 0.000726667 0.00076 0.000746667 0.000746667 +0.00076 0.000746667 0.000746667 0.000746667 0.000773333 0.000733333 0.000706667 0.000733333 +0.000733333 0.000713333 0.00072 0.00074 0.000733333 0.000713333 0.000726667 0.000746667 +0.000726667 0.000686667 0.000726667 0.000726667 0.000706667 0.00072 0.00072 0.00074 +0.000746667 0.000726667 0.0007 0.0007 0.000693333 0.000713333 0.0007 0.000693333 +0.000706667 0.000726667 0.000733333 0.000713333 0.000733333 0.00074 0.00072 0.000713333 +0.000693333 0.00072 0.000733333 0.000726667 0.000706667 0.000693333 0.0007 0.000706667 +0.000713333 0.000726667 0.000706667 0.000673333 0.000673333 0.000686667 0.0007 0.0007 +0.000693333 0.00068 0.000693333 0.00068 0.0007 0.000706667 0.000673333 0.000673333 +0.000706667 0.000713333 0.000726667 0.000713333 0.000706667 0.00072 0.000726667 0.000733333 +0.00072 0.000706667 0.0007 0.0007 0.00072 0.0007 0.0007 0.0007 +0.000686667 0.00068 0.000693333 0.0007 0.0007 0.000706667 0.000686667 0.000693333 +0.00068 0.000666667 0.00066 0.00068 0.000706667 0.00072 0.000726667 0.000673333 +0.00066 0.000666667 0.000646667 0.000653333 0.000673333 0.000673333 0.00064 0.000646667 +0.000653333 0.000653333 0.000673333 0.000673333 0.000666667 0.000653333 0.00064 0.00064 +0.000653333 0.000673333 0.000666667 0.000653333 0.000646667 0.000633333 0.00064 0.00064 +0.000633333 0.000626667 0.000626667 0.00064 0.000653333 0.000666667 0.000626667 0.000633333 +0.000646667 0.000666667 0.000653333 0.00064 0.000653333 0.00066 0.00066 0.00064 +0.00066 0.000686667 0.00072 0.000673333 0.000646667 0.000646667 0.00064 0.00068 +0.000673333 0.000686667 0.00068 0.00064 0.000633333 0.000646667 0.000713333 0.000726667 +0.000673333 0.00066 0.000646667 0.00064 0.000673333 0.000673333 0.000653333 0.000666667 +0.000706667 0.0007 0.00066 0.000673333 0.00066 0.00064 0.00064 0.000666667 +0.000686667 0.000666667 0.000653333 0.000646667 0.000673333 0.000673333 0.000646667 0.00068 +0.0007 0.000693333 0.00068 0.00068 0.000666667 0.00064 0.000666667 0.0007 +0.000686667 0.000693333 0.000666667 0.000646667 0.00066 0.0007 0.000706667 0.000693333 +0.000693333 0.00066 0.000693333 0.00072 0.00068 0.000686667 0.0007 0.000706667 +0.000693333 0.00068 0.000693333 0.000713333 0.0007 0.000686667 0.000666667 0.00066 +0.000686667 0.000713333 0.000713333 0.000686667 0.000673333 0.000673333 0.00066 0.000693333 +0.0007 0.000673333 0.000653333 0.000693333 0.000706667 0.00068 0.000693333 0.00068 +0.000686667 0.000666667 0.000686667 0.0007 0.000693333 0.0007 0.000686667 0.00068 +0.000693333 0.0007 0.000686667 0.000726667 0.000726667 0.000686667 0.000673333 0.0007 +0.000706667 0.000713333 0.000713333 0.00072 0.0007 0.000706667 0.0007 0.000686667 +0.00072 0.0007 0.00066 0.0007 0.000713333 0.000686667 0.000693333 0.00068 +0.000693333 0.00072 0.0007 0.00068 0.0007 0.000706667 0.000706667 0.000713333 +0.00068 0.00072 0.000686667 0.000673333 0.00068 0.0007 0.000706667 0.000713333 +0.0007 0.000706667 0.0007 0.000673333 0.00068 0.00068 0.000666667 0.000666667 +0.000686667 0.0007 0.000673333 0.000693333 0.00068 0.000693333 0.000673333 0.000653333 +0.0007 0.000706667 0.00064 0.000633333 0.000646667 0.000653333 0.000673333 0.0007 +0.000686667 0.000673333 0.000686667 0.000673333 0.00068 0.00068 0.000693333 0.00066 +0.000646667 0.000653333 0.000666667 0.000673333 0.0007 0.000706667 0.000673333 0.000666667 +0.00066 0.00064 0.000633333 0.000686667 0.000686667 0.000686667 0.000706667 0.000666667 +0.000706667 0.000686667 0.000673333 0.000713333 0.000726667 0.000713333 0.00068 0.00068 +0.000686667 0.000706667 0.000706667 0.00068 0.00068 0.000686667 0.000686667 0.00068 +0.00066 0.0007 0.0007 0.000673333 0.00068 0.00068 0.000693333 0.0007 +0.000673333 0.000693333 0.000686667 0.000686667 0.000666667 0.00066 0.000673333 0.00066 +0.000666667 0.000686667 0.0007 0.000686667 0.00066 0.00064 0.000653333 0.00068 +0.000666667 0.000686667 0.0007 0.000666667 0.000633333 0.00064 0.00068 0.00068 +0.00066 0.0007 0.0007 0.00064 0.000646667 0.000693333 0.0007 0.000673333 +0.000633333 0.00064 0.00068 0.000713333 0.000693333 0.00068 0.000693333 0.000666667 +0.00066 0.0007 0.000706667 0.000693333 0.000733333 0.000713333 0.00072 0.000733333 +0.0007 0.000693333 0.000693333 0.000706667 0.000713333 0.000746667 0.00072 0.000693333 +0.00068 0.000693333 0.000733333 0.0007 0.000653333 0.000666667 0.0007 0.00074 +0.00074 0.0007 0.000693333 0.000706667 0.0007 0.00072 0.000733333 0.00074 +0.000726667 0.0007 0.000706667 0.0007 0.000673333 0.00072 0.00074 0.000706667 +0.000713333 0.000726667 0.000733333 0.000726667 0.000726667 0.000713333 0.000693333 0.000713333 +0.00074 0.000753333 0.000753333 0.000726667 0.000733333 0.000753333 0.000753333 0.00076 +0.00072 0.00072 0.000746667 0.000753333 0.000733333 0.000713333 0.000713333 0.000733333 +0.00076 0.00076 0.00074 0.00074 0.000766667 0.000753333 0.000746667 0.000726667 +0.000753333 0.000753333 0.00076 0.00074 0.000733333 0.00076 0.000746667 0.00076 +0.00074 0.000746667 0.000766667 0.000746667 0.000733333 0.000753333 0.000766667 0.000753333 +0.000753333 0.000746667 0.000753333 0.000753333 0.000726667 0.000746667 0.000753333 0.00074 +0.000733333 0.000773333 0.000753333 0.00076 0.000773333 0.000746667 0.000766667 0.000733333 +0.000733333 0.000793333 0.000813333 0.000506667 0.000506667 0.000766667 0.00074 0.00076 +0.00074 0.00074 0.000753333 0.000753333 0.00076 0.000773333 0.0008 0.000766667 +0.00076 0.000746667 0.000726667 0.00072 0.000706667 0.000713333 0.000726667 0.00074 +0.00074 0.00074 0.00078 0.00076 0.000766667 0.000753333 0.000726667 0.00072 +0.00072 0.000726667 0.00072 0.00074 0.000746667 0.000746667 0.000733333 0.000726667 +0.000753333 0.000726667 0.000713333 0.00072 0.000726667 0.000746667 0.00072 0.000693333 +0.00072 0.00074 0.00074 0.000713333 0.000686667 0.000693333 0.000686667 0.0007 +0.000706667 0.0007 0.000713333 0.00072 0.00072 0.000726667 0.000706667 0.00072 +0.000726667 0.000713333 0.00072 0.000726667 0.000713333 0.000693333 0.000686667 0.000706667 +0.000726667 0.00072 0.000713333 0.000713333 0.000686667 0.00066 0.000686667 0.000693333 +0.0007 0.0007 0.000713333 0.000673333 0.000693333 0.00072 0.000713333 0.000686667 +0.000706667 0.000706667 0.0007 0.000706667 0.000706667 0.0007 0.000693333 0.000706667 +0.0007 0.00072 0.000733333 0.00072 0.000726667 0.000706667 0.000706667 0.000713333 +0.000706667 0.000693333 0.000686667 0.000673333 0.000673333 0.000686667 0.000686667 0.000686667 +0.00068 0.00068 0.000666667 0.000673333 0.000666667 0.000693333 0.00072 0.000713333 +0.0007 0.00068 0.000653333 0.00062 0.000653333 0.000673333 0.000646667 0.000646667 +0.000653333 0.00066 0.000673333 0.000666667 0.000653333 0.00066 0.000646667 0.00066 +0.00064 0.000646667 0.00068 0.00068 0.00066 0.000653333 0.000613333 0.000593333 +0.000646667 0.000653333 0.000633333 0.000626667 0.000646667 0.000673333 0.000633333 0.000613333 +0.000646667 0.000666667 0.000653333 0.000646667 0.000653333 0.000666667 0.000686667 0.00066 +0.000646667 0.00068 0.000713333 0.000686667 0.000653333 0.000633333 0.000633333 0.00068 +0.000686667 0.000686667 0.00068 0.000646667 0.000626667 0.000646667 0.000686667 0.000706667 +0.00068 0.000673333 0.000673333 0.00066 0.000666667 0.000686667 0.00068 0.000626667 +0.000646667 0.000706667 0.0007 0.000686667 0.000673333 0.000653333 0.000646667 0.000666667 +0.00068 0.00068 0.000673333 0.000633333 0.00066 0.000673333 0.000673333 0.0007 +0.000706667 0.000666667 0.00066 0.000666667 0.00066 0.00066 0.000653333 0.000673333 +0.00068 0.0007 0.000693333 0.000653333 0.00066 0.000686667 0.000713333 0.000706667 +0.0007 0.000686667 0.000673333 0.000706667 0.000693333 0.00068 0.000686667 0.000706667 +0.0007 0.000686667 0.000686667 0.000713333 0.0007 0.000686667 0.000686667 0.000666667 +0.00068 0.00072 0.000733333 0.0007 0.00066 0.000673333 0.00068 0.000686667 +0.000693333 0.000693333 0.000673333 0.000666667 0.000666667 0.000666667 0.000693333 0.0007 +0.000693333 0.000666667 0.000693333 0.000693333 0.000686667 0.000693333 0.00068 0.000693333 +0.000706667 0.000693333 0.000686667 0.00072 0.000726667 0.0007 0.00068 0.000693333 +0.000693333 0.000706667 0.000713333 0.000726667 0.000706667 0.000706667 0.000686667 0.00068 +0.000726667 0.000693333 0.000673333 0.000726667 0.000713333 0.000686667 0.000693333 0.000686667 +0.000713333 0.000733333 0.000693333 0.00068 0.000706667 0.000726667 0.000706667 0.000693333 +0.000653333 0.000693333 0.000686667 0.000686667 0.000706667 0.000706667 0.000706667 0.000726667 +0.0007 0.0007 0.000673333 0.000673333 0.000693333 0.000686667 0.000666667 0.000673333 +0.000693333 0.0007 0.00066 0.000686667 0.000693333 0.000693333 0.00068 0.000653333 +0.000686667 0.000686667 0.00064 0.000633333 0.000653333 0.000673333 0.00066 0.00068 +0.000686667 0.000693333 0.00068 0.000646667 0.000666667 0.000693333 0.0007 0.00066 +0.000653333 0.000686667 0.00068 0.00066 0.000686667 0.000713333 0.000666667 0.000666667 +0.000673333 0.000646667 0.000633333 0.00068 0.000673333 0.00068 0.000693333 0.000686667 +0.00072 0.00068 0.000673333 0.000733333 0.000733333 0.000713333 0.000693333 0.000693333 +0.000693333 0.000713333 0.000686667 0.000673333 0.000693333 0.0007 0.000693333 0.000693333 +0.000686667 0.000686667 0.00068 0.000666667 0.000686667 0.0007 0.0007 0.000706667 +0.0007 0.0007 0.000673333 0.000693333 0.000673333 0.00066 0.00066 0.00064 +0.00068 0.000693333 0.000693333 0.000686667 0.000686667 0.000666667 0.00066 0.000673333 +0.000673333 0.000653333 0.00066 0.000666667 0.000626667 0.00064 0.000673333 0.000673333 +0.000686667 0.000706667 0.000693333 0.00066 0.000673333 0.00068 0.00068 0.00066 +0.00066 0.000673333 0.000673333 0.000686667 0.00068 0.00068 0.000686667 0.00066 +0.000666667 0.000686667 0.000686667 0.0007 0.000713333 0.000706667 0.000713333 0.000726667 +0.000706667 0.000686667 0.000713333 0.000706667 0.000733333 0.000733333 0.000686667 0.000666667 +0.00068 0.00072 0.000733333 0.000706667 0.000666667 0.000673333 0.000706667 0.00072 +0.000713333 0.000713333 0.000706667 0.000706667 0.0007 0.000706667 0.000726667 0.000726667 +0.000713333 0.000713333 0.000706667 0.000713333 0.000706667 0.000733333 0.00072 0.000693333 +0.000706667 0.000733333 0.00074 0.000726667 0.000713333 0.000693333 0.000733333 0.000746667 +0.000753333 0.000733333 0.00072 0.000733333 0.000746667 0.000753333 0.000746667 0.000733333 +0.000713333 0.00074 0.000746667 0.0007 0.0007 0.000733333 0.000753333 0.000753333 +0.000746667 0.000726667 0.000726667 0.000753333 0.000766667 0.000766667 0.000733333 0.000706667 +0.00074 0.000746667 0.000753333 0.000733333 0.000746667 0.00076 0.000746667 0.000746667 +0.000753333 0.000753333 0.000746667 0.000746667 0.000733333 0.000753333 0.000773333 0.000753333 +0.000726667 0.00072 0.00074 0.000753333 0.000726667 0.000733333 0.000733333 0.000753333 +0.000773333 0.00078 0.000773333 0.00076 0.000733333 0.00076 0.00076 0.00074 +0.00076 0.00078 0.000806667 0.000506667 0.00084 0.0008 0.000746667 0.000733333 +0.00074 0.000746667 0.00076 0.00074 0.000746667 0.000753333 0.000766667 0.000753333 +0.000773333 0.00078 0.000766667 0.000746667 0.000726667 0.000726667 0.000746667 0.000753333 +0.000726667 0.00072 0.000753333 0.00074 0.000746667 0.00076 0.000753333 0.000733333 +0.000733333 0.000726667 0.000713333 0.00072 0.000713333 0.00072 0.000753333 0.000753333 +0.000746667 0.00074 0.00072 0.000713333 0.000713333 0.000733333 0.000746667 0.000713333 +0.000693333 0.000693333 0.000706667 0.000733333 0.000713333 0.00072 0.000706667 0.000713333 +0.000706667 0.000706667 0.000706667 0.000713333 0.00072 0.000713333 0.00072 0.000713333 +0.000726667 0.000733333 0.0007 0.000693333 0.000713333 0.00072 0.000693333 0.000713333 +0.00072 0.0007 0.0007 0.000713333 0.0007 0.00068 0.000686667 0.000686667 +0.00068 0.000686667 0.00072 0.0007 0.000686667 0.0007 0.0007 0.000693333 +0.000726667 0.000693333 0.000693333 0.000713333 0.000713333 0.000713333 0.000693333 0.00068 +0.000666667 0.0007 0.000726667 0.00074 0.000713333 0.00072 0.000713333 0.000706667 +0.000726667 0.00074 0.000706667 0.000673333 0.000666667 0.00068 0.00068 0.000673333 +0.000686667 0.000693333 0.00068 0.000673333 0.00064 0.00066 0.000673333 0.0007 +0.00072 0.000706667 0.000673333 0.000646667 0.000653333 0.00066 0.000673333 0.00066 +0.000653333 0.000646667 0.000653333 0.00066 0.000653333 0.000646667 0.000673333 0.00068 +0.00064 0.000606667 0.000653333 0.000686667 0.00068 0.00068 0.000646667 0.000593333 +0.0006 0.000626667 0.00064 0.000646667 0.000653333 0.000666667 0.000646667 0.00064 +0.000646667 0.000646667 0.000646667 0.000646667 0.00064 0.000653333 0.00068 0.000673333 +0.00064 0.000673333 0.000686667 0.000693333 0.000686667 0.000666667 0.000653333 0.000666667 +0.000693333 0.000673333 0.000686667 0.00068 0.000626667 0.00064 0.000673333 0.000686667 +0.000666667 0.000646667 0.000666667 0.000713333 0.000686667 0.000673333 0.00068 0.00064 +0.00064 0.000693333 0.00072 0.0007 0.000673333 0.000653333 0.00064 0.000666667 +0.00068 0.000673333 0.000666667 0.000666667 0.000646667 0.000653333 0.00068 0.000686667 +0.000713333 0.00068 0.00066 0.00066 0.000653333 0.000673333 0.000666667 0.000686667 +0.00068 0.000673333 0.00068 0.00068 0.000693333 0.000686667 0.000693333 0.0007 +0.000693333 0.00068 0.000646667 0.000693333 0.00072 0.000693333 0.00068 0.00068 +0.000713333 0.000706667 0.000686667 0.000706667 0.000713333 0.000686667 0.0007 0.00068 +0.000673333 0.000693333 0.000733333 0.00072 0.00064 0.00066 0.000713333 0.000713333 +0.000706667 0.0007 0.000686667 0.00066 0.00066 0.000666667 0.000693333 0.000706667 +0.00068 0.000653333 0.000666667 0.000686667 0.000686667 0.0007 0.00068 0.000686667 +0.000706667 0.0007 0.00068 0.000706667 0.00072 0.000713333 0.000693333 0.000706667 +0.000686667 0.0007 0.0007 0.000706667 0.000706667 0.000713333 0.000693333 0.000686667 +0.000713333 0.00068 0.00068 0.00072 0.00072 0.000706667 0.000686667 0.000693333 +0.00072 0.000726667 0.000693333 0.000686667 0.000706667 0.000713333 0.000706667 0.000713333 +0.00066 0.000693333 0.0007 0.000693333 0.000706667 0.0007 0.0007 0.00072 +0.000693333 0.000693333 0.000673333 0.000693333 0.000713333 0.000706667 0.000686667 0.000693333 +0.000706667 0.000686667 0.00066 0.000693333 0.00068 0.00068 0.00068 0.000666667 +0.00068 0.00068 0.000646667 0.00064 0.00066 0.000693333 0.00068 0.000673333 +0.00068 0.000686667 0.000666667 0.000646667 0.00068 0.000706667 0.0007 0.000666667 +0.000653333 0.000673333 0.000666667 0.00066 0.0007 0.000693333 0.00066 0.000666667 +0.000673333 0.000653333 0.000646667 0.000693333 0.0007 0.000686667 0.000673333 0.00068 +0.000726667 0.0007 0.00068 0.000733333 0.000713333 0.0007 0.000713333 0.000713333 +0.0007 0.000706667 0.000673333 0.000673333 0.000693333 0.000706667 0.000713333 0.000686667 +0.000693333 0.000693333 0.000673333 0.000673333 0.0007 0.00072 0.0007 0.0007 +0.000713333 0.000693333 0.00068 0.0007 0.00068 0.00068 0.00064 0.000633333 +0.000693333 0.00072 0.000693333 0.00068 0.000706667 0.000673333 0.000646667 0.000673333 +0.000673333 0.00064 0.00066 0.00068 0.00066 0.000666667 0.000666667 0.000686667 +0.000706667 0.00068 0.000666667 0.000673333 0.000686667 0.000673333 0.000666667 0.000666667 +0.000686667 0.000673333 0.000653333 0.000673333 0.000686667 0.00068 0.000666667 0.000653333 +0.000673333 0.0007 0.000693333 0.000686667 0.000693333 0.00072 0.00072 0.000733333 +0.000726667 0.0007 0.00072 0.000706667 0.0007 0.0007 0.00068 0.000673333 +0.000706667 0.000733333 0.000713333 0.000693333 0.000673333 0.000693333 0.000686667 0.00068 +0.00072 0.000726667 0.000686667 0.0007 0.0007 0.0007 0.000713333 0.00074 +0.00072 0.000713333 0.000726667 0.000726667 0.000713333 0.000706667 0.000706667 0.0007 +0.000706667 0.00074 0.000733333 0.00072 0.000706667 0.000713333 0.000766667 0.000746667 +0.00072 0.000713333 0.000733333 0.00076 0.000733333 0.000713333 0.00072 0.000726667 +0.00074 0.00074 0.000713333 0.000686667 0.00072 0.00076 0.000753333 0.00072 +0.000733333 0.000733333 0.00074 0.000726667 0.00074 0.000753333 0.000733333 0.000733333 +0.000746667 0.000733333 0.000746667 0.000746667 0.00074 0.000746667 0.000753333 0.00076 +0.000753333 0.000746667 0.00074 0.00074 0.00074 0.000773333 0.00076 0.000706667 +0.000713333 0.000746667 0.000766667 0.00076 0.000726667 0.00074 0.00076 0.00078 +0.000766667 0.000753333 0.00076 0.00074 0.000733333 0.000753333 0.00074 0.000753333 +0.000773333 0.00076 0.00078 0.000793333 0.00078 0.0008 0.000806667 0.00076 +0.000726667 0.000733333 0.000746667 0.00076 0.000753333 0.000746667 0.00076 0.00074 +0.000746667 0.00076 0.00076 0.00076 0.00076 0.000753333 0.00074 0.000726667 +0.000713333 0.000726667 0.000746667 0.000733333 0.000733333 0.00076 0.000766667 0.000746667 +0.000733333 0.00072 0.000726667 0.000733333 0.000706667 0.000706667 0.000726667 0.000753333 +0.000753333 0.000733333 0.000726667 0.000713333 0.000713333 0.000733333 0.000753333 0.00072 +0.0007 0.000686667 0.000693333 0.000726667 0.00074 0.000746667 0.00074 0.00072 +0.000706667 0.00072 0.0007 0.00068 0.0007 0.000693333 0.0007 0.000706667 +0.000726667 0.000726667 0.000713333 0.000713333 0.00072 0.0007 0.000713333 0.000733333 +0.00072 0.0007 0.000686667 0.000693333 0.000706667 0.000713333 0.000713333 0.000726667 +0.000693333 0.00066 0.00068 0.00068 0.000706667 0.000706667 0.000693333 0.000673333 +0.0007 0.000686667 0.000693333 0.000713333 0.000733333 0.00072 0.000706667 0.000693333 +0.000673333 0.00068 0.000693333 0.000713333 0.000706667 0.000713333 0.000706667 0.000706667 +0.0007 0.000726667 0.00074 0.000713333 0.000686667 0.000686667 0.0007 0.00068 +0.000673333 0.000673333 0.000686667 0.000686667 0.00066 0.00066 0.000666667 0.000673333 +0.000673333 0.00068 0.000686667 0.00068 0.00066 0.00064 0.00064 0.000653333 +0.000633333 0.00064 0.000653333 0.000673333 0.000666667 0.000653333 0.000666667 0.00068 +0.000653333 0.000626667 0.000646667 0.00066 0.000666667 0.000653333 0.00064 0.00064 +0.0006 0.000613333 0.000633333 0.000646667 0.00066 0.000653333 0.000653333 0.00068 +0.000673333 0.000653333 0.00064 0.000633333 0.000633333 0.000646667 0.000653333 0.000666667 +0.00066 0.00066 0.000653333 0.000686667 0.0007 0.000693333 0.000693333 0.000666667 +0.000673333 0.00068 0.000693333 0.000713333 0.000673333 0.000613333 0.00064 0.000673333 +0.000686667 0.00064 0.000633333 0.000673333 0.000693333 0.000673333 0.000666667 0.000666667 +0.000653333 0.00066 0.000673333 0.000666667 0.00068 0.000666667 0.000646667 0.000653333 +0.00068 0.00068 0.00066 0.000673333 0.00066 0.000646667 0.000673333 0.000666667 +0.000693333 0.000706667 0.000673333 0.000653333 0.000666667 0.000666667 0.000666667 0.000686667 +0.0007 0.000673333 0.00068 0.000686667 0.0007 0.000693333 0.0007 0.000686667 +0.000693333 0.000693333 0.00066 0.00068 0.000726667 0.000726667 0.000686667 0.000666667 +0.000693333 0.000693333 0.000686667 0.000706667 0.00072 0.000713333 0.000693333 0.00068 +0.00068 0.00068 0.0007 0.00072 0.00066 0.000646667 0.000706667 0.00072 +0.000706667 0.000693333 0.00068 0.000686667 0.000686667 0.000666667 0.000686667 0.000693333 +0.00068 0.00066 0.00068 0.000693333 0.000686667 0.000686667 0.000673333 0.000673333 +0.000686667 0.000706667 0.000706667 0.00072 0.000706667 0.000713333 0.000693333 0.0007 +0.0007 0.0007 0.000706667 0.0007 0.000686667 0.000726667 0.00072 0.000693333 +0.0007 0.000686667 0.00068 0.0007 0.00072 0.000713333 0.000673333 0.000673333 +0.0007 0.000713333 0.000686667 0.000666667 0.000693333 0.00072 0.000713333 0.00074 +0.000666667 0.000673333 0.0007 0.000693333 0.000686667 0.0007 0.000693333 0.00072 +0.0007 0.000706667 0.0007 0.000733333 0.000733333 0.000713333 0.000686667 0.000693333 +0.0007 0.000686667 0.00066 0.00068 0.000686667 0.000706667 0.000706667 0.00068 +0.000693333 0.00066 0.00064 0.000646667 0.00066 0.000693333 0.00068 0.00068 +0.00068 0.000673333 0.00066 0.000666667 0.000693333 0.000726667 0.000693333 0.000666667 +0.000653333 0.00066 0.000653333 0.000653333 0.000693333 0.0007 0.000666667 0.000653333 +0.000673333 0.000653333 0.00066 0.000706667 0.000693333 0.0007 0.00068 0.00068 +0.000713333 0.000713333 0.000706667 0.000706667 0.0007 0.0007 0.00072 0.000726667 +0.0007 0.000706667 0.000686667 0.000693333 0.000706667 0.000726667 0.00072 0.00068 +0.0007 0.0007 0.000673333 0.00068 0.00072 0.00072 0.00068 0.00068 +0.000706667 0.000693333 0.000706667 0.0007 0.000693333 0.00068 0.00064 0.000646667 +0.000693333 0.000706667 0.000693333 0.000666667 0.000673333 0.00066 0.000646667 0.000673333 +0.000673333 0.00066 0.000673333 0.000686667 0.000713333 0.000693333 0.00066 0.000673333 +0.000686667 0.000653333 0.000646667 0.000686667 0.00068 0.000653333 0.000666667 0.000686667 +0.000686667 0.000673333 0.00066 0.000673333 0.00068 0.000666667 0.000653333 0.00068 +0.0007 0.0007 0.000686667 0.0007 0.000706667 0.000733333 0.000726667 0.00074 +0.000726667 0.0007 0.000706667 0.000713333 0.000686667 0.000673333 0.000693333 0.000706667 +0.000746667 0.000726667 0.000666667 0.00068 0.000666667 0.000673333 0.00068 0.00068 +0.000733333 0.00072 0.000693333 0.00068 0.000686667 0.000706667 0.00072 0.000733333 +0.000706667 0.000713333 0.000713333 0.000713333 0.0007 0.000693333 0.0007 0.000726667 +0.000726667 0.00072 0.000726667 0.000726667 0.00072 0.00074 0.00074 0.000713333 +0.000713333 0.000733333 0.000746667 0.00072 0.000713333 0.00072 0.00072 0.000726667 +0.000733333 0.0007 0.0007 0.000733333 0.00076 0.000753333 0.000726667 0.000713333 +0.000746667 0.00074 0.000706667 0.000706667 0.000746667 0.00076 0.00076 0.000726667 +0.00072 0.00074 0.000753333 0.000733333 0.000726667 0.00074 0.000753333 0.000733333 +0.00074 0.000746667 0.00076 0.000753333 0.000753333 0.00076 0.000726667 0.000733333 +0.00076 0.000766667 0.000753333 0.00074 0.000726667 0.000746667 0.000753333 0.000746667 +0.000726667 0.000746667 0.000753333 0.000746667 0.000753333 0.00076 0.000753333 0.000753333 +0.000753333 0.00076 0.00078 0.000773333 0.000753333 0.000753333 0.000766667 0.000773333 +0.000746667 0.000726667 0.00072 0.00074 0.000753333 0.000726667 0.000733333 0.000746667 +0.000773333 0.000753333 0.000733333 0.000746667 0.000773333 0.000773333 0.000746667 0.000713333 +0.000706667 0.000713333 0.00074 0.000753333 0.000746667 0.000733333 0.00074 0.00074 +0.00076 0.00074 0.000726667 0.000726667 0.000713333 0.00072 0.0007 0.000706667 +0.000733333 0.000746667 0.000753333 0.000733333 0.0007 0.000733333 0.00076 0.00074 +0.000733333 0.000713333 0.0007 0.0007 0.00072 0.00074 0.00074 0.000733333 +0.00072 0.000713333 0.000686667 0.00068 0.000706667 0.0007 0.00068 0.0007 +0.00072 0.000706667 0.000706667 0.000726667 0.00074 0.000706667 0.000686667 0.000713333 +0.00072 0.000713333 0.000713333 0.000713333 0.0007 0.000713333 0.000713333 0.000733333 +0.00072 0.000693333 0.00068 0.000666667 0.000686667 0.000713333 0.0007 0.000666667 +0.000673333 0.00068 0.0007 0.0007 0.000726667 0.000713333 0.000706667 0.000706667 +0.0007 0.0007 0.000666667 0.000673333 0.000693333 0.000706667 0.000693333 0.000713333 +0.00072 0.00072 0.00072 0.000713333 0.000713333 0.000706667 0.0007 0.000693333 +0.00068 0.000686667 0.0007 0.000686667 0.000666667 0.000666667 0.00068 0.000673333 +0.00066 0.000646667 0.000646667 0.00068 0.00068 0.00066 0.000646667 0.000646667 +0.000633333 0.000626667 0.00064 0.000646667 0.00066 0.00066 0.00066 0.000666667 +0.000653333 0.000646667 0.000673333 0.000653333 0.00066 0.000633333 0.000633333 0.00066 +0.00064 0.00062 0.000633333 0.000653333 0.000653333 0.000633333 0.000646667 0.00068 +0.000693333 0.000693333 0.000686667 0.000653333 0.000613333 0.00064 0.00064 0.000646667 +0.00068 0.000666667 0.000646667 0.00066 0.00068 0.000693333 0.000693333 0.00068 +0.000666667 0.000666667 0.00068 0.0007 0.000706667 0.000646667 0.00062 0.000666667 +0.000693333 0.000686667 0.000653333 0.000666667 0.0007 0.000686667 0.00068 0.000686667 +0.00066 0.000646667 0.000666667 0.00066 0.00068 0.000693333 0.00066 0.000646667 +0.000646667 0.00066 0.00068 0.00066 0.000666667 0.000673333 0.000673333 0.000673333 +0.00068 0.000693333 0.000686667 0.00066 0.000666667 0.00068 0.00068 0.00066 +0.000673333 0.000693333 0.0007 0.00068 0.000673333 0.0007 0.00072 0.00072 +0.000706667 0.000713333 0.0007 0.00068 0.000706667 0.000713333 0.000713333 0.000693333 +0.0007 0.00068 0.00068 0.0007 0.000706667 0.000706667 0.0007 0.000686667 +0.000673333 0.000666667 0.000693333 0.000713333 0.000673333 0.000653333 0.000693333 0.0007 +0.0007 0.000686667 0.00068 0.000686667 0.000693333 0.00068 0.00068 0.000673333 +0.000686667 0.00068 0.000693333 0.000706667 0.000666667 0.00066 0.000673333 0.000686667 +0.00068 0.000686667 0.000713333 0.00072 0.00072 0.00072 0.0007 0.0007 +0.0007 0.000706667 0.0007 0.000693333 0.000686667 0.000726667 0.00074 0.000706667 +0.000713333 0.0007 0.0007 0.000686667 0.0007 0.00072 0.000686667 0.00066 +0.000693333 0.000713333 0.0007 0.000666667 0.0007 0.000713333 0.000706667 0.00072 +0.00068 0.00068 0.00068 0.0007 0.000706667 0.0007 0.000693333 0.000693333 +0.000713333 0.000746667 0.000693333 0.00072 0.000726667 0.00072 0.0007 0.000713333 +0.00072 0.000706667 0.000673333 0.000686667 0.0007 0.00072 0.000693333 0.000693333 +0.000706667 0.000653333 0.000666667 0.000673333 0.00066 0.000693333 0.000673333 0.00068 +0.000666667 0.000673333 0.000653333 0.000666667 0.000693333 0.000713333 0.000693333 0.000666667 +0.000646667 0.000673333 0.000646667 0.000633333 0.000673333 0.000693333 0.000666667 0.00066 +0.000693333 0.00066 0.000673333 0.000693333 0.0007 0.00072 0.00068 0.000693333 +0.000706667 0.000733333 0.00072 0.000693333 0.000686667 0.0007 0.000713333 0.00072 +0.00072 0.000706667 0.000713333 0.00074 0.00072 0.00072 0.0007 0.00068 +0.00072 0.000713333 0.00068 0.000693333 0.00072 0.000706667 0.00068 0.00068 +0.000693333 0.00072 0.000726667 0.000693333 0.000686667 0.000673333 0.000653333 0.000673333 +0.000693333 0.000706667 0.0007 0.00068 0.000673333 0.000673333 0.000673333 0.000673333 +0.000673333 0.00068 0.000673333 0.00068 0.00072 0.000706667 0.000653333 0.000666667 +0.000673333 0.00064 0.000646667 0.000706667 0.000693333 0.000646667 0.00066 0.000673333 +0.00068 0.000673333 0.000666667 0.000673333 0.000666667 0.00066 0.00066 0.000693333 +0.000693333 0.000673333 0.0007 0.00072 0.000713333 0.000713333 0.000726667 0.00072 +0.00072 0.0007 0.000713333 0.00072 0.00068 0.000686667 0.00072 0.000726667 +0.000733333 0.00068 0.000653333 0.000686667 0.000673333 0.000666667 0.000686667 0.000713333 +0.000733333 0.000713333 0.000686667 0.000666667 0.000693333 0.000713333 0.000713333 0.000713333 +0.0007 0.000706667 0.00072 0.000713333 0.000693333 0.000693333 0.00072 0.00074 +0.000706667 0.0007 0.00072 0.000726667 0.000733333 0.000726667 0.0007 0.000726667 +0.000726667 0.000726667 0.00072 0.000693333 0.000713333 0.000733333 0.00072 0.0007 +0.000686667 0.000713333 0.000753333 0.00076 0.000746667 0.000713333 0.000713333 0.00072 +0.000733333 0.000726667 0.000726667 0.00076 0.00076 0.000746667 0.000733333 0.0007 +0.000726667 0.000766667 0.000733333 0.00072 0.000753333 0.00076 0.00074 0.00072 +0.000733333 0.000753333 0.000766667 0.000753333 0.000746667 0.000753333 0.00076 0.00078 +0.00074 0.000713333 0.000706667 0.000726667 0.00074 0.00074 0.000726667 0.000713333 +0.00074 0.00076 0.000753333 0.000753333 0.000766667 0.000773333 0.000746667 0.00074 +0.000753333 0.00076 0.00076 0.000753333 0.00076 0.000753333 0.00074 0.000753333 +0.00076 0.000753333 0.000733333 0.00072 0.00072 0.000733333 0.000726667 0.000733333 +0.00076 0.00074 0.000733333 0.000733333 0.000753333 0.000753333 0.00074 0.000733333 +0.00072 0.000713333 0.000726667 0.00074 0.00076 0.000733333 0.00072 0.00072 +0.00074 0.000746667 0.000753333 0.000746667 0.000726667 0.000726667 0.000713333 0.000693333 +0.000693333 0.00072 0.000733333 0.00074 0.000733333 0.00072 0.000726667 0.000733333 +0.000733333 0.00072 0.000733333 0.000713333 0.000726667 0.000726667 0.000713333 0.000713333 +0.000726667 0.00072 0.000713333 0.000706667 0.000693333 0.000713333 0.000706667 0.000693333 +0.000693333 0.000666667 0.0007 0.000726667 0.000733333 0.000746667 0.000706667 0.000686667 +0.0007 0.0007 0.000713333 0.000733333 0.000706667 0.0007 0.000706667 0.000706667 +0.000706667 0.00074 0.00074 0.000693333 0.000666667 0.00068 0.000686667 0.000686667 +0.00068 0.00066 0.00066 0.00068 0.00072 0.0007 0.000713333 0.00072 +0.000706667 0.000706667 0.000693333 0.00068 0.000693333 0.0007 0.000686667 0.000706667 +0.00072 0.00072 0.000713333 0.0007 0.000693333 0.000706667 0.000693333 0.000693333 +0.0007 0.000693333 0.000693333 0.00068 0.000673333 0.00068 0.000666667 0.000666667 +0.000686667 0.000653333 0.000613333 0.00066 0.000693333 0.00068 0.000673333 0.000673333 +0.000666667 0.00064 0.000626667 0.00064 0.000633333 0.000626667 0.000646667 0.000673333 +0.000646667 0.000653333 0.00066 0.00066 0.00066 0.00062 0.00064 0.00066 +0.000673333 0.000666667 0.000646667 0.000653333 0.000646667 0.000606667 0.000626667 0.00066 +0.000653333 0.00068 0.000713333 0.000706667 0.000653333 0.000626667 0.000626667 0.000653333 +0.000673333 0.000666667 0.00064 0.000646667 0.000673333 0.000693333 0.0007 0.000686667 +0.00066 0.00066 0.000673333 0.000673333 0.000713333 0.000686667 0.000626667 0.000646667 +0.000673333 0.0007 0.0007 0.00066 0.000666667 0.000693333 0.000686667 0.000706667 +0.0007 0.000666667 0.000686667 0.000693333 0.000686667 0.000673333 0.000646667 0.000653333 +0.000646667 0.000666667 0.00068 0.00066 0.00066 0.000666667 0.00068 0.00068 +0.00068 0.00068 0.00068 0.00068 0.00068 0.000693333 0.00068 0.000666667 +0.000673333 0.000693333 0.000706667 0.000693333 0.000686667 0.000686667 0.00072 0.000726667 +0.0007 0.00068 0.000713333 0.000726667 0.000706667 0.00068 0.000706667 0.000713333 +0.000713333 0.000686667 0.000666667 0.00068 0.000693333 0.0007 0.000706667 0.000693333 +0.000666667 0.000673333 0.00072 0.000746667 0.000693333 0.00064 0.00066 0.0007 +0.0007 0.000673333 0.00068 0.00068 0.000693333 0.000693333 0.00068 0.00068 +0.000686667 0.000686667 0.000693333 0.000713333 0.00068 0.000666667 0.000673333 0.000706667 +0.000686667 0.000673333 0.0007 0.000706667 0.000706667 0.000713333 0.000706667 0.0007 +0.0007 0.000706667 0.000706667 0.000693333 0.000693333 0.00072 0.000733333 0.00072 +0.00072 0.000706667 0.0007 0.00068 0.00068 0.00072 0.000693333 0.000673333 +0.000706667 0.000706667 0.000706667 0.00068 0.000706667 0.000693333 0.000686667 0.000713333 +0.00072 0.000706667 0.00068 0.000706667 0.000713333 0.0007 0.0007 0.0007 +0.00072 0.00074 0.000693333 0.0007 0.00072 0.000733333 0.000706667 0.00072 +0.00072 0.00072 0.0007 0.000713333 0.00072 0.000706667 0.000673333 0.000693333 +0.000693333 0.00066 0.000686667 0.000686667 0.000666667 0.00068 0.00068 0.000686667 +0.000653333 0.000686667 0.000666667 0.000653333 0.000686667 0.000693333 0.000673333 0.00068 +0.000666667 0.000673333 0.000646667 0.000653333 0.000693333 0.000693333 0.000653333 0.000686667 +0.0007 0.00066 0.000693333 0.000706667 0.000706667 0.000713333 0.000686667 0.0007 +0.000713333 0.00072 0.000706667 0.000706667 0.0007 0.0007 0.00072 0.000713333 +0.000713333 0.000713333 0.000746667 0.00076 0.00072 0.00072 0.00072 0.00072 +0.000733333 0.00072 0.0007 0.000693333 0.0007 0.000706667 0.000686667 0.000686667 +0.000706667 0.00072 0.000713333 0.000693333 0.000686667 0.000686667 0.000673333 0.0007 +0.00072 0.000706667 0.00068 0.00068 0.000686667 0.00068 0.000706667 0.000686667 +0.00066 0.00068 0.000666667 0.000686667 0.00072 0.000693333 0.000673333 0.000686667 +0.00068 0.000646667 0.000673333 0.000693333 0.000686667 0.000666667 0.000653333 0.000666667 +0.000686667 0.0007 0.000693333 0.000673333 0.00068 0.000666667 0.00066 0.00068 +0.000686667 0.000673333 0.0007 0.000713333 0.00068 0.000706667 0.000733333 0.00072 +0.000733333 0.000726667 0.000706667 0.000693333 0.000673333 0.000706667 0.000733333 0.000706667 +0.000693333 0.000673333 0.000666667 0.0007 0.0007 0.000693333 0.000706667 0.000713333 +0.000706667 0.00072 0.000673333 0.000666667 0.000706667 0.000713333 0.0007 0.00072 +0.00072 0.0007 0.00072 0.000706667 0.000693333 0.00072 0.000706667 0.000706667 +0.000686667 0.0007 0.000726667 0.000713333 0.000713333 0.000713333 0.000706667 0.00074 +0.000693333 0.000686667 0.000693333 0.000706667 0.000733333 0.000726667 0.000693333 0.0007 +0.00072 0.000753333 0.000746667 0.000726667 0.000713333 0.0007 0.000726667 0.000713333 +0.000726667 0.000746667 0.000746667 0.00076 0.000726667 0.00072 0.000726667 0.000733333 +0.00076 0.00076 0.000733333 0.000733333 0.000753333 0.000726667 0.000733333 0.00074 +0.00074 0.00074 0.000746667 0.00074 0.000753333 0.000746667 0.000753333 0.00074 +0.000706667 0.0007 0.000713333 0.000746667 0.000766667 0.000746667 0.000733333 0.00074 +0.000766667 0.00076 0.000753333 0.000746667 0.000753333 0.000766667 0.000726667 0.000746667 +0.000766667 0.00076 0.000746667 0.000726667 0.00076 0.000746667 0.000726667 0.000733333 +0.000753333 0.000766667 0.00078 0.000773333 0.000706667 0.0007 0.00072 0.000706667 +0.000706667 0.000726667 0.000746667 0.000733333 0.000726667 0.00072 0.000726667 0.00076 +0.000753333 0.000733333 0.000733333 0.00072 0.000706667 0.000726667 0.00074 0.00072 +0.00072 0.000726667 0.000753333 0.00076 0.000753333 0.00074 0.000746667 0.000733333 +0.000693333 0.0007 0.0007 0.0007 0.00074 0.00076 0.000753333 0.000726667 +0.00072 0.000713333 0.000733333 0.000733333 0.000726667 0.00072 0.000706667 0.0007 +0.000726667 0.00074 0.00072 0.00072 0.0007 0.000706667 0.000706667 0.000686667 +0.0007 0.000686667 0.000686667 0.000706667 0.00072 0.000726667 0.00072 0.000706667 +0.000706667 0.000693333 0.000706667 0.0007 0.0007 0.000713333 0.000713333 0.0007 +0.000686667 0.000726667 0.000746667 0.000733333 0.0007 0.000693333 0.000673333 0.0007 +0.00072 0.000686667 0.00066 0.00066 0.000673333 0.00068 0.00072 0.00072 +0.0007 0.000693333 0.0007 0.0007 0.000713333 0.000693333 0.000673333 0.000666667 +0.000706667 0.000706667 0.000706667 0.0007 0.00068 0.000713333 0.000713333 0.000706667 +0.0007 0.000686667 0.000693333 0.000686667 0.0007 0.0007 0.000666667 0.000646667 +0.000673333 0.000673333 0.000633333 0.000653333 0.00066 0.00066 0.000673333 0.000666667 +0.000673333 0.000666667 0.000653333 0.000633333 0.000626667 0.000626667 0.00062 0.00064 +0.000633333 0.00066 0.000646667 0.000633333 0.000646667 0.00064 0.000626667 0.000626667 +0.000666667 0.00068 0.00066 0.000673333 0.000666667 0.000633333 0.00064 0.000653333 +0.000646667 0.000653333 0.000673333 0.0007 0.000686667 0.000646667 0.00064 0.00066 +0.000666667 0.000666667 0.000646667 0.000653333 0.000673333 0.00068 0.000686667 0.00068 +0.00066 0.000666667 0.000693333 0.00068 0.000666667 0.000673333 0.00064 0.00064 +0.000666667 0.000693333 0.0007 0.000673333 0.00064 0.00066 0.000686667 0.000706667 +0.000706667 0.000673333 0.000666667 0.000693333 0.000706667 0.00066 0.000626667 0.000633333 +0.00066 0.000686667 0.000706667 0.0007 0.000666667 0.00064 0.00066 0.00068 +0.00068 0.000686667 0.000673333 0.000666667 0.000693333 0.00068 0.00068 0.00068 +0.000686667 0.00068 0.0007 0.000706667 0.0007 0.000686667 0.000693333 0.000706667 +0.000713333 0.0007 0.000686667 0.000706667 0.000713333 0.000693333 0.000693333 0.0007 +0.000706667 0.0007 0.000673333 0.000686667 0.000686667 0.000693333 0.000686667 0.000686667 +0.00068 0.00068 0.000713333 0.000753333 0.00074 0.00066 0.00066 0.000693333 +0.000693333 0.000666667 0.000666667 0.000673333 0.000673333 0.00068 0.00068 0.000713333 +0.000706667 0.000686667 0.00068 0.000686667 0.0007 0.0007 0.00068 0.00068 +0.000686667 0.00068 0.000713333 0.000713333 0.000706667 0.000713333 0.000706667 0.0007 +0.0007 0.000713333 0.000726667 0.000706667 0.000686667 0.0007 0.000733333 0.000713333 +0.000713333 0.0007 0.000686667 0.000673333 0.00066 0.000706667 0.0007 0.00068 +0.000713333 0.000713333 0.000706667 0.000706667 0.000733333 0.000693333 0.00068 0.000706667 +0.00072 0.00072 0.00068 0.000686667 0.000713333 0.000706667 0.00068 0.000706667 +0.00072 0.000713333 0.000686667 0.000706667 0.000726667 0.000726667 0.000693333 0.00072 +0.00072 0.000706667 0.000713333 0.00072 0.000713333 0.000706667 0.000693333 0.000706667 +0.000686667 0.000673333 0.000686667 0.000693333 0.00068 0.000686667 0.000686667 0.0007 +0.000686667 0.000706667 0.00066 0.000653333 0.00068 0.00068 0.000673333 0.0007 +0.000673333 0.000673333 0.000666667 0.000693333 0.000713333 0.000686667 0.000646667 0.000686667 +0.000686667 0.000653333 0.000706667 0.000713333 0.000713333 0.000693333 0.000673333 0.000706667 +0.000706667 0.00072 0.000713333 0.00072 0.0007 0.000713333 0.000726667 0.000706667 +0.000706667 0.000713333 0.00076 0.000753333 0.00074 0.000746667 0.00072 0.00072 +0.00074 0.000733333 0.00072 0.0007 0.0007 0.0007 0.000693333 0.000693333 +0.000733333 0.00072 0.00068 0.000693333 0.000706667 0.0007 0.0007 0.000726667 +0.000713333 0.000693333 0.000673333 0.000686667 0.00068 0.00068 0.00072 0.0007 +0.000666667 0.000673333 0.000673333 0.00072 0.000706667 0.000666667 0.000706667 0.0007 +0.00064 0.000653333 0.000693333 0.000673333 0.000686667 0.000666667 0.00066 0.00068 +0.0007 0.000706667 0.000693333 0.000666667 0.00068 0.00066 0.00066 0.00068 +0.000693333 0.0007 0.0007 0.000693333 0.000693333 0.000726667 0.000746667 0.000706667 +0.000706667 0.00072 0.000686667 0.000666667 0.000673333 0.000706667 0.00074 0.0007 +0.000673333 0.000666667 0.000673333 0.000706667 0.00072 0.0007 0.0007 0.000693333 +0.000686667 0.0007 0.00068 0.000686667 0.000686667 0.000686667 0.00068 0.000726667 +0.000706667 0.000686667 0.0007 0.00068 0.000686667 0.000713333 0.000693333 0.000693333 +0.0007 0.0007 0.0007 0.0007 0.000713333 0.000713333 0.000713333 0.000706667 +0.00066 0.00068 0.000733333 0.000746667 0.000726667 0.00072 0.000706667 0.000726667 +0.000726667 0.00072 0.0007 0.00072 0.000726667 0.00072 0.000726667 0.000726667 +0.000753333 0.00076 0.000733333 0.000713333 0.000726667 0.000746667 0.00076 0.00076 +0.00076 0.000746667 0.00074 0.000726667 0.00072 0.00072 0.000746667 0.000726667 +0.000713333 0.000733333 0.00076 0.000753333 0.000733333 0.000726667 0.00074 0.000733333 +0.00072 0.0007 0.000733333 0.000753333 0.00076 0.000746667 0.000746667 0.000766667 +0.000766667 0.000746667 0.000746667 0.000726667 0.000726667 0.000753333 0.000753333 0.000766667 +0.000753333 0.000753333 0.00076 0.000746667 0.000766667 0.00076 0.000753333 0.000746667 +0.00074 0.000733333 0.00074 0.000766667 0.000773333 0.00076 0.000726667 0.000706667 +0.000693333 0.00072 0.00074 0.000733333 0.00072 0.0007 0.000693333 0.000726667 +0.00076 0.000746667 0.00072 0.000746667 0.00074 0.00072 0.000713333 0.000713333 +0.00074 0.00074 0.000733333 0.000713333 0.00072 0.000726667 0.000746667 0.00076 +0.00074 0.00072 0.0007 0.0007 0.000706667 0.000726667 0.000746667 0.00074 +0.000726667 0.00072 0.00072 0.000726667 0.000726667 0.00072 0.00072 0.0007 +0.0007 0.000733333 0.000733333 0.00072 0.00072 0.00072 0.000706667 0.000686667 +0.0007 0.00072 0.000693333 0.00068 0.000713333 0.0007 0.00068 0.000693333 +0.000713333 0.000686667 0.000693333 0.000686667 0.000693333 0.000706667 0.000726667 0.00072 +0.000713333 0.000713333 0.000713333 0.00072 0.000746667 0.00074 0.000693333 0.000693333 +0.000706667 0.0007 0.000693333 0.0007 0.000693333 0.00068 0.000673333 0.000686667 +0.000686667 0.000686667 0.0007 0.0007 0.000713333 0.000733333 0.000706667 0.000673333 +0.00068 0.000686667 0.000693333 0.000706667 0.00068 0.000693333 0.000713333 0.000706667 +0.000706667 0.000693333 0.00068 0.000673333 0.000686667 0.0007 0.000686667 0.000673333 +0.00066 0.000666667 0.000653333 0.000653333 0.00064 0.00064 0.000653333 0.000666667 +0.000666667 0.000646667 0.000666667 0.00068 0.00066 0.000646667 0.00064 0.00062 +0.000646667 0.000666667 0.00064 0.00062 0.000613333 0.000633333 0.000633333 0.000633333 +0.00064 0.000653333 0.00066 0.000666667 0.000666667 0.000666667 0.00066 0.000653333 +0.000646667 0.000653333 0.00066 0.000666667 0.000693333 0.000666667 0.00066 0.000673333 +0.000666667 0.00066 0.000653333 0.00066 0.000666667 0.000666667 0.000673333 0.000686667 +0.00068 0.000666667 0.000693333 0.00068 0.000646667 0.00068 0.000673333 0.000646667 +0.000673333 0.000686667 0.0007 0.0007 0.000686667 0.000653333 0.000673333 0.000686667 +0.000686667 0.000686667 0.00066 0.000673333 0.000693333 0.000693333 0.000666667 0.000626667 +0.00064 0.00068 0.000733333 0.000733333 0.000673333 0.000646667 0.000646667 0.00068 +0.000706667 0.00068 0.000673333 0.000673333 0.000686667 0.000686667 0.000693333 0.000686667 +0.000686667 0.000686667 0.000693333 0.000706667 0.000693333 0.0007 0.000673333 0.000693333 +0.000726667 0.000733333 0.00068 0.000673333 0.000726667 0.00072 0.000686667 0.000693333 +0.000706667 0.000726667 0.0007 0.000686667 0.0007 0.000693333 0.000653333 0.000673333 +0.000693333 0.000686667 0.000693333 0.000733333 0.00074 0.0007 0.00068 0.0007 +0.000706667 0.00068 0.000673333 0.000686667 0.000666667 0.00068 0.0007 0.000713333 +0.0007 0.000693333 0.00068 0.000686667 0.0007 0.000713333 0.000686667 0.000666667 +0.000666667 0.000686667 0.000733333 0.00072 0.000706667 0.00072 0.0007 0.0007 +0.000726667 0.000733333 0.000733333 0.000733333 0.000693333 0.0007 0.000746667 0.000693333 +0.000693333 0.00072 0.000686667 0.000686667 0.000673333 0.000693333 0.000713333 0.000693333 +0.000693333 0.000706667 0.000706667 0.000706667 0.000726667 0.000706667 0.00068 0.00068 +0.000693333 0.000706667 0.000673333 0.00068 0.000713333 0.000713333 0.00068 0.000713333 +0.00072 0.000713333 0.000693333 0.00072 0.000733333 0.000726667 0.000686667 0.000713333 +0.0007 0.0007 0.000726667 0.000713333 0.0007 0.00072 0.000706667 0.000693333 +0.00068 0.000673333 0.00072 0.000713333 0.00068 0.000673333 0.000686667 0.0007 +0.00072 0.00072 0.00068 0.000673333 0.000693333 0.00068 0.000673333 0.00068 +0.00066 0.000673333 0.000686667 0.000713333 0.00072 0.000686667 0.000646667 0.000686667 +0.000693333 0.00066 0.000693333 0.000713333 0.000733333 0.00072 0.000713333 0.000706667 +0.000706667 0.000713333 0.000726667 0.000713333 0.000706667 0.000746667 0.000746667 0.000713333 +0.000713333 0.00074 0.000753333 0.000753333 0.00076 0.000746667 0.000706667 0.000726667 +0.00076 0.000733333 0.000713333 0.00074 0.00074 0.0007 0.0007 0.0007 +0.000733333 0.000713333 0.0007 0.0007 0.000713333 0.000713333 0.000726667 0.000733333 +0.0007 0.0007 0.00068 0.000666667 0.000673333 0.000693333 0.000713333 0.0007 +0.00068 0.000673333 0.0007 0.00072 0.000693333 0.000673333 0.000746667 0.000693333 +0.00062 0.00068 0.000693333 0.00068 0.000693333 0.000673333 0.00066 0.00068 +0.0007 0.000693333 0.00068 0.000666667 0.000666667 0.000673333 0.00068 0.000686667 +0.000706667 0.000706667 0.000686667 0.000686667 0.0007 0.000713333 0.000733333 0.000706667 +0.000693333 0.000713333 0.000693333 0.00068 0.000686667 0.000693333 0.000733333 0.000693333 +0.000653333 0.000653333 0.000673333 0.00072 0.000713333 0.000673333 0.000653333 0.00068 +0.00068 0.00068 0.000693333 0.000713333 0.000693333 0.00066 0.000666667 0.00072 +0.0007 0.000666667 0.000673333 0.00068 0.000693333 0.0007 0.000693333 0.000706667 +0.000693333 0.000673333 0.000686667 0.00072 0.000713333 0.000713333 0.000706667 0.000686667 +0.00068 0.00072 0.000766667 0.000726667 0.000693333 0.000726667 0.00072 0.00072 +0.0007 0.000706667 0.000713333 0.000726667 0.000746667 0.000726667 0.000713333 0.00074 +0.000746667 0.00074 0.00072 0.00072 0.000753333 0.000753333 0.000746667 0.000726667 +0.000733333 0.000746667 0.000733333 0.000706667 0.00072 0.000746667 0.00074 0.0007 +0.000713333 0.000746667 0.000766667 0.000733333 0.000733333 0.00074 0.000733333 0.00074 +0.000733333 0.00072 0.000746667 0.00074 0.000753333 0.000753333 0.000773333 0.000766667 +0.000753333 0.000733333 0.000746667 0.000726667 0.000733333 0.00076 0.000753333 0.000746667 +0.00074 0.00076 0.00078 0.00078 0.00074 0.000746667 0.000753333 0.000753333 +0.00074 0.00072 0.000706667 0.00072 0.000733333 0.00078 0.000766667 0.000753333 +0.00074 0.00072 0.000713333 0.00072 0.00074 0.00074 0.000726667 0.000686667 +0.0007 0.000726667 0.000713333 0.000726667 0.000746667 0.000733333 0.000713333 0.000713333 +0.000706667 0.000713333 0.000726667 0.000726667 0.000713333 0.0007 0.0007 0.00072 +0.00074 0.000733333 0.000713333 0.000726667 0.000706667 0.000693333 0.000713333 0.000746667 +0.000753333 0.000746667 0.000733333 0.000713333 0.000726667 0.000713333 0.00072 0.000726667 +0.000713333 0.000713333 0.00072 0.000706667 0.000706667 0.00074 0.00072 0.000713333 +0.0007 0.0007 0.0007 0.000686667 0.0007 0.000693333 0.000673333 0.000693333 +0.000706667 0.000706667 0.000706667 0.000686667 0.000693333 0.000666667 0.000673333 0.0007 +0.00072 0.000713333 0.000713333 0.000706667 0.000713333 0.00074 0.000726667 0.000706667 +0.00068 0.00068 0.000693333 0.000726667 0.00074 0.000733333 0.0007 0.000673333 +0.000666667 0.000686667 0.000706667 0.000713333 0.0007 0.000706667 0.000713333 0.000713333 +0.000713333 0.000693333 0.000706667 0.000693333 0.00068 0.000686667 0.000706667 0.0007 +0.000693333 0.000686667 0.00068 0.000686667 0.000686667 0.000673333 0.000673333 0.0007 +0.000686667 0.000633333 0.000626667 0.000653333 0.000653333 0.00066 0.000646667 0.000646667 +0.000653333 0.00064 0.000653333 0.00068 0.000693333 0.00066 0.00066 0.00064 +0.000646667 0.000653333 0.000626667 0.000613333 0.000613333 0.000633333 0.00064 0.000633333 +0.000633333 0.000646667 0.000666667 0.000653333 0.000633333 0.00068 0.00068 0.000653333 +0.000633333 0.00064 0.000646667 0.000686667 0.000706667 0.000673333 0.000673333 0.000673333 +0.000666667 0.000666667 0.000666667 0.000653333 0.00066 0.000673333 0.000673333 0.00068 +0.000673333 0.000693333 0.000686667 0.00066 0.000646667 0.00068 0.000686667 0.00066 +0.00068 0.0007 0.000693333 0.00068 0.000666667 0.000686667 0.000686667 0.00066 +0.00066 0.000686667 0.00068 0.00068 0.00068 0.000713333 0.000713333 0.000646667 +0.000626667 0.00064 0.0007 0.00072 0.000686667 0.000666667 0.00068 0.000686667 +0.000693333 0.000673333 0.0007 0.000713333 0.000686667 0.000666667 0.000673333 0.000686667 +0.0007 0.000693333 0.000666667 0.000693333 0.000686667 0.0007 0.00068 0.000686667 +0.000706667 0.000746667 0.000726667 0.000693333 0.00074 0.000733333 0.00068 0.000693333 +0.000693333 0.000726667 0.000713333 0.000693333 0.000733333 0.000713333 0.000666667 0.00066 +0.000673333 0.000686667 0.0007 0.000713333 0.00072 0.000726667 0.0007 0.000693333 +0.0007 0.000686667 0.000673333 0.000693333 0.000673333 0.000673333 0.000686667 0.000693333 +0.00068 0.000686667 0.0007 0.0007 0.000693333 0.000686667 0.000693333 0.000686667 +0.000666667 0.0007 0.000733333 0.0007 0.000693333 0.00072 0.000713333 0.00072 +0.000733333 0.000726667 0.00072 0.00072 0.000713333 0.00072 0.000773333 0.0007 +0.000686667 0.000713333 0.0007 0.0007 0.00068 0.000686667 0.000706667 0.000706667 +0.000693333 0.00072 0.000706667 0.000673333 0.0007 0.00072 0.000713333 0.00072 +0.000706667 0.0007 0.00066 0.000686667 0.000706667 0.000706667 0.000686667 0.000726667 +0.00074 0.000713333 0.000713333 0.00072 0.00072 0.00074 0.000726667 0.000726667 +0.0007 0.000713333 0.000726667 0.000713333 0.000693333 0.000706667 0.0007 0.0007 +0.000673333 0.00066 0.000746667 0.00072 0.00068 0.00068 0.000726667 0.000733333 +0.000726667 0.000706667 0.000686667 0.000693333 0.000726667 0.000706667 0.00068 0.000686667 +0.00068 0.000673333 0.000693333 0.000706667 0.00068 0.00068 0.000653333 0.000706667 +0.0007 0.000673333 0.00072 0.000713333 0.000726667 0.000726667 0.000706667 0.000686667 +0.000706667 0.000733333 0.00072 0.000706667 0.00072 0.000746667 0.000753333 0.000726667 +0.000713333 0.000753333 0.000766667 0.000766667 0.00076 0.00072 0.000706667 0.000753333 +0.00076 0.00072 0.000746667 0.000786667 0.000746667 0.000706667 0.000706667 0.000726667 +0.000733333 0.00072 0.000726667 0.000706667 0.000713333 0.00072 0.000733333 0.000733333 +0.000733333 0.000713333 0.000666667 0.00068 0.000686667 0.0007 0.000713333 0.000693333 +0.000693333 0.000673333 0.0007 0.000713333 0.0007 0.000713333 0.00074 0.00068 +0.00066 0.000693333 0.000686667 0.000686667 0.000673333 0.000666667 0.00068 0.000686667 +0.0007 0.000666667 0.000673333 0.00066 0.00064 0.0007 0.0007 0.000673333 +0.000693333 0.000686667 0.000673333 0.0007 0.000706667 0.000706667 0.000713333 0.000706667 +0.000686667 0.0007 0.000693333 0.0007 0.000693333 0.000666667 0.000706667 0.000686667 +0.000633333 0.00066 0.000686667 0.000706667 0.0007 0.00066 0.000653333 0.000666667 +0.000666667 0.000693333 0.00072 0.000713333 0.00068 0.000633333 0.00066 0.0007 +0.0007 0.000666667 0.000653333 0.000666667 0.0007 0.0007 0.000686667 0.000693333 +0.000686667 0.000673333 0.0007 0.00072 0.0007 0.000706667 0.0007 0.0007 +0.000706667 0.000726667 0.000726667 0.000686667 0.0007 0.000733333 0.000713333 0.000713333 +0.000693333 0.000726667 0.000733333 0.000726667 0.00072 0.000706667 0.00072 0.000746667 +0.000726667 0.00072 0.000733333 0.000753333 0.000746667 0.00074 0.000726667 0.000706667 +0.000713333 0.00074 0.000733333 0.00072 0.000746667 0.000753333 0.000726667 0.000713333 +0.000733333 0.000746667 0.000746667 0.000726667 0.00074 0.000726667 0.000733333 0.00074 +0.00074 0.000733333 0.00072 0.00074 0.000766667 0.00076 0.00076 0.00074 +0.000726667 0.000746667 0.000746667 0.000733333 0.000733333 0.000726667 0.00072 0.000733333 +0.00076 0.000766667 0.000766667 0.00076 0.000746667 0.000753333 0.000746667 0.00072 +0.000726667 0.00074 0.000726667 0.000726667 0.0007 0.00072 0.000726667 0.000746667 +0.000773333 0.00076 0.000713333 0.000706667 0.00072 0.000733333 0.00076 0.000726667 +0.000686667 0.000713333 0.000726667 0.000733333 0.000713333 0.000706667 0.000726667 0.000746667 +0.000713333 0.00068 0.000706667 0.000733333 0.000733333 0.0007 0.000706667 0.000706667 +0.000713333 0.000726667 0.000726667 0.00072 0.0007 0.0007 0.0007 0.000713333 +0.00074 0.000753333 0.00076 0.00074 0.000726667 0.00072 0.000713333 0.0007 +0.00072 0.000733333 0.00074 0.000713333 0.0007 0.000726667 0.000706667 0.00072 +0.000746667 0.000706667 0.00068 0.000706667 0.000706667 0.000706667 0.000693333 0.000706667 +0.000693333 0.000686667 0.000693333 0.0007 0.0007 0.000673333 0.000666667 0.000666667 +0.000686667 0.000693333 0.000706667 0.000706667 0.0007 0.000706667 0.000726667 0.000713333 +0.000713333 0.00072 0.000713333 0.000706667 0.000713333 0.000733333 0.000713333 0.00068 +0.00066 0.00068 0.0007 0.000706667 0.000713333 0.000693333 0.000673333 0.000706667 +0.000733333 0.000706667 0.0007 0.000693333 0.000686667 0.000693333 0.000713333 0.000706667 +0.000693333 0.0007 0.000673333 0.00068 0.000686667 0.000673333 0.000673333 0.00068 +0.000693333 0.000673333 0.00066 0.00066 0.00064 0.00066 0.000653333 0.000646667 +0.00064 0.000653333 0.00064 0.000646667 0.00068 0.000686667 0.000673333 0.000646667 +0.00064 0.00064 0.00062 0.0006 0.0006 0.000653333 0.000673333 0.00064 +0.000613333 0.000626667 0.000673333 0.000666667 0.000653333 0.000666667 0.000666667 0.000666667 +0.000666667 0.000646667 0.000626667 0.000666667 0.000686667 0.000686667 0.000693333 0.000666667 +0.000666667 0.00068 0.000686667 0.000653333 0.00064 0.000686667 0.000693333 0.000673333 +0.00066 0.000686667 0.000686667 0.000673333 0.000673333 0.000673333 0.000686667 0.000666667 +0.00068 0.00072 0.00072 0.000673333 0.00064 0.00068 0.00072 0.00068 +0.00066 0.000673333 0.000693333 0.00068 0.00068 0.000693333 0.000713333 0.000693333 +0.000646667 0.000646667 0.000666667 0.000713333 0.0007 0.000686667 0.000713333 0.000686667 +0.000693333 0.000666667 0.000673333 0.000726667 0.00072 0.000673333 0.00066 0.000673333 +0.0007 0.00072 0.000673333 0.000673333 0.000693333 0.0007 0.000693333 0.00068 +0.000686667 0.00074 0.000766667 0.0007 0.0007 0.000713333 0.000686667 0.000713333 +0.000713333 0.000713333 0.000706667 0.000686667 0.000726667 0.000753333 0.000733333 0.000686667 +0.000673333 0.000686667 0.000706667 0.000706667 0.000713333 0.000726667 0.000706667 0.0007 +0.000693333 0.0007 0.00068 0.000693333 0.000686667 0.00068 0.000686667 0.000673333 +0.000673333 0.0007 0.000713333 0.000706667 0.000686667 0.0007 0.000713333 0.000693333 +0.000673333 0.0007 0.00072 0.000706667 0.00072 0.000733333 0.000713333 0.000713333 +0.000726667 0.00074 0.000726667 0.000713333 0.00072 0.00072 0.000773333 0.00072 +0.0007 0.000726667 0.000713333 0.000713333 0.000686667 0.000686667 0.000693333 0.000693333 +0.000686667 0.00072 0.000726667 0.000693333 0.000693333 0.000686667 0.000713333 0.000746667 +0.00072 0.0007 0.000666667 0.0007 0.0007 0.0007 0.000693333 0.000726667 +0.000733333 0.000713333 0.000713333 0.0007 0.000726667 0.000726667 0.000713333 0.00074 +0.00072 0.000706667 0.000713333 0.000726667 0.000706667 0.000706667 0.000713333 0.0007 +0.000666667 0.000666667 0.00074 0.000706667 0.0007 0.0007 0.000733333 0.00074 +0.00072 0.000713333 0.0007 0.000713333 0.000733333 0.000706667 0.00068 0.000693333 +0.0007 0.000686667 0.000726667 0.000713333 0.000693333 0.00068 0.000673333 0.000733333 +0.0007 0.000693333 0.000733333 0.000713333 0.000706667 0.000686667 0.0007 0.000706667 +0.000713333 0.000733333 0.000733333 0.000726667 0.000746667 0.000733333 0.000733333 0.000733333 +0.00072 0.00076 0.000793333 0.000766667 0.000746667 0.000726667 0.000733333 0.000773333 +0.00074 0.000726667 0.000793333 0.000806667 0.000753333 0.00074 0.00072 0.000746667 +0.000726667 0.000726667 0.00074 0.000726667 0.000726667 0.00072 0.000753333 0.000766667 +0.000746667 0.000706667 0.00068 0.000686667 0.000713333 0.000713333 0.000706667 0.000706667 +0.000713333 0.000693333 0.000693333 0.000713333 0.000726667 0.000733333 0.0007 0.0007 +0.000706667 0.000686667 0.000666667 0.000686667 0.000666667 0.00068 0.000686667 0.000686667 +0.0007 0.000693333 0.000686667 0.000653333 0.00066 0.000706667 0.0007 0.000666667 +0.00068 0.000673333 0.000686667 0.000713333 0.000713333 0.00068 0.000673333 0.000693333 +0.000693333 0.000686667 0.000706667 0.0007 0.000666667 0.000666667 0.000673333 0.00068 +0.000653333 0.000666667 0.000686667 0.00068 0.00068 0.00066 0.00066 0.000653333 +0.000653333 0.000713333 0.00072 0.000686667 0.00064 0.00064 0.000673333 0.000673333 +0.000673333 0.00066 0.000653333 0.0007 0.00072 0.0007 0.000706667 0.0007 +0.000666667 0.00068 0.000706667 0.000726667 0.0007 0.0007 0.000706667 0.00072 +0.000713333 0.0007 0.000693333 0.000693333 0.000713333 0.00072 0.000706667 0.00072 +0.00072 0.000706667 0.00072 0.000706667 0.00072 0.00072 0.00072 0.000733333 +0.000733333 0.00072 0.000726667 0.000746667 0.000733333 0.00074 0.00072 0.000706667 +0.000713333 0.000733333 0.000733333 0.000733333 0.000746667 0.000726667 0.000726667 0.000733333 +0.000753333 0.000753333 0.000746667 0.00072 0.000713333 0.000713333 0.000746667 0.000726667 +0.000733333 0.000733333 0.00072 0.00076 0.000766667 0.00074 0.000726667 0.000726667 +0.00072 0.000746667 0.000726667 0.000733333 0.00072 0.000706667 0.00072 0.000753333 +0.000766667 0.00076 0.000746667 0.000733333 0.000753333 0.000726667 0.000746667 0.000713333 +0.000713333 0.00074 0.000733333 0.000733333 0.000713333 0.00072 0.000706667 0.000686667 +0.000713333 0.00074 0.00074 0.000713333 0.000706667 0.000713333 0.00072 0.000733333 +0.000726667 0.00072 0.000713333 0.000726667 0.00072 0.000706667 0.000726667 0.00074 +0.000726667 0.00074 0.000713333 0.00068 0.000713333 0.000733333 0.000733333 0.000733333 +0.00072 0.00072 0.000713333 0.0007 0.0007 0.000713333 0.000713333 0.00072 +0.000713333 0.000706667 0.00072 0.000746667 0.000746667 0.000733333 0.000726667 0.000693333 +0.0007 0.000713333 0.00072 0.000726667 0.00072 0.000706667 0.0007 0.0007 +0.000726667 0.000733333 0.000726667 0.000726667 0.000693333 0.000693333 0.000706667 0.000713333 +0.00072 0.0007 0.000686667 0.000693333 0.0007 0.0007 0.0007 0.000686667 +0.000666667 0.000653333 0.000673333 0.000686667 0.0007 0.000693333 0.000693333 0.000706667 +0.000733333 0.000733333 0.00074 0.000733333 0.000706667 0.0007 0.00068 0.00068 +0.000686667 0.000693333 0.000686667 0.000686667 0.00072 0.00072 0.000686667 0.000686667 +0.0007 0.0007 0.000706667 0.000713333 0.000693333 0.000673333 0.000686667 0.0007 +0.0007 0.0007 0.00066 0.00066 0.00068 0.00068 0.000686667 0.000666667 +0.00066 0.00068 0.000706667 0.000693333 0.000653333 0.000633333 0.000653333 0.000673333 +0.000646667 0.00064 0.00064 0.00064 0.00066 0.000686667 0.000673333 0.000653333 +0.000646667 0.00064 0.00064 0.000626667 0.0006 0.00062 0.00066 0.00066 +0.000653333 0.00062 0.000633333 0.000653333 0.00068 0.000686667 0.00068 0.000666667 +0.00068 0.000653333 0.000646667 0.00066 0.00066 0.00068 0.0007 0.000686667 +0.00066 0.000673333 0.000686667 0.000666667 0.00064 0.00066 0.000686667 0.000686667 +0.000673333 0.000666667 0.00066 0.000706667 0.000766667 0.00078 0.00076 0.000746667 +0.0007 0.000713333 0.000733333 0.0007 0.00068 0.00068 0.000706667 0.000713333 +0.0007 0.000693333 0.0007 0.00068 0.000673333 0.000693333 0.000713333 0.0007 +0.000673333 0.00068 0.000673333 0.000713333 0.000713333 0.000693333 0.000686667 0.00068 +0.0007 0.0007 0.000673333 0.000686667 0.0007 0.0007 0.0007 0.000673333 +0.00068 0.00072 0.000713333 0.0007 0.000706667 0.000713333 0.0007 0.000686667 +0.000686667 0.000713333 0.000753333 0.000726667 0.000686667 0.0007 0.000713333 0.00072 +0.000706667 0.000706667 0.00072 0.000693333 0.00068 0.000733333 0.000746667 0.000713333 +0.000686667 0.000686667 0.0007 0.000706667 0.000713333 0.000706667 0.000713333 0.000726667 +0.000726667 0.000706667 0.00066 0.00068 0.000706667 0.00072 0.000706667 0.000686667 +0.00068 0.000693333 0.000706667 0.000713333 0.000706667 0.000713333 0.00072 0.000673333 +0.000666667 0.000706667 0.000733333 0.00072 0.0007 0.00074 0.00072 0.000706667 +0.000726667 0.000726667 0.000726667 0.000733333 0.00072 0.000713333 0.00078 0.000746667 +0.000706667 0.000726667 0.000713333 0.0007 0.000686667 0.000706667 0.000693333 0.0007 +0.000706667 0.0007 0.000733333 0.00072 0.000706667 0.000693333 0.000713333 0.000733333 +0.000713333 0.0007 0.00066 0.0007 0.0007 0.000686667 0.000693333 0.000713333 +0.000733333 0.000726667 0.00072 0.000713333 0.000746667 0.000706667 0.000686667 0.000746667 +0.000726667 0.00072 0.00074 0.000733333 0.0007 0.000693333 0.000713333 0.000713333 +0.000673333 0.000686667 0.000726667 0.00068 0.000706667 0.00072 0.000753333 0.000733333 +0.000726667 0.000713333 0.000693333 0.000733333 0.000753333 0.0007 0.000693333 0.0007 +0.000713333 0.000706667 0.000746667 0.00074 0.000726667 0.000706667 0.0007 0.00072 +0.000673333 0.000693333 0.00072 0.00072 0.000713333 0.00068 0.00072 0.00074 +0.000706667 0.00072 0.00074 0.000726667 0.00076 0.00074 0.00074 0.00074 +0.000753333 0.000793333 0.00078 0.000753333 0.000753333 0.000753333 0.00076 0.00076 +0.000726667 0.000753333 0.000806667 0.000793333 0.000766667 0.00076 0.000726667 0.000746667 +0.000733333 0.000733333 0.00074 0.00076 0.000753333 0.000746667 0.00078 0.000753333 +0.000733333 0.000706667 0.0007 0.0007 0.000726667 0.00072 0.0007 0.000713333 +0.00072 0.00072 0.00072 0.000733333 0.000746667 0.000726667 0.000666667 0.0007 +0.00072 0.000666667 0.00066 0.0007 0.00068 0.000666667 0.000673333 0.000706667 +0.0007 0.000693333 0.000673333 0.000653333 0.0007 0.00068 0.000686667 0.000673333 +0.000666667 0.000673333 0.00068 0.000693333 0.000666667 0.00064 0.000653333 0.0007 +0.00068 0.000673333 0.00072 0.0007 0.000673333 0.000673333 0.000653333 0.000693333 +0.000666667 0.00064 0.00068 0.000693333 0.000693333 0.00066 0.00064 0.000646667 +0.000673333 0.000693333 0.0007 0.000666667 0.000646667 0.00066 0.000673333 0.000686667 +0.000673333 0.000666667 0.000693333 0.00072 0.000706667 0.0007 0.000686667 0.000673333 +0.000673333 0.000706667 0.00072 0.000726667 0.000706667 0.0007 0.000713333 0.000706667 +0.000686667 0.000706667 0.000733333 0.000706667 0.000693333 0.000693333 0.000713333 0.00074 +0.000726667 0.000686667 0.000693333 0.000713333 0.000733333 0.000733333 0.000726667 0.00072 +0.00072 0.000706667 0.000713333 0.000726667 0.000726667 0.000753333 0.000726667 0.000706667 +0.000726667 0.000753333 0.000726667 0.000713333 0.00072 0.00072 0.000733333 0.000733333 +0.000733333 0.000733333 0.00072 0.000706667 0.00072 0.000726667 0.000733333 0.000733333 +0.000726667 0.000733333 0.000733333 0.000746667 0.00072 0.000706667 0.0007 0.000713333 +0.000706667 0.000746667 0.000746667 0.000733333 0.00072 0.000726667 0.000766667 0.00076 +0.000753333 0.000746667 0.000726667 0.000726667 0.00078 0.000753333 0.000746667 0.000746667 +0.00074 0.000733333 0.000706667 0.00072 0.00072 0.000733333 0.000733333 0.000733333 +0.0007 0.00068 0.000726667 0.000733333 0.000726667 0.00072 0.000673333 0.00068 +0.000706667 0.00072 0.000726667 0.00072 0.000706667 0.00072 0.00072 0.000746667 +0.00072 0.000733333 0.00074 0.000693333 0.000693333 0.000706667 0.000713333 0.00072 +0.000726667 0.000726667 0.00072 0.000726667 0.000713333 0.0007 0.000713333 0.000726667 +0.000726667 0.000713333 0.0007 0.000713333 0.000733333 0.000746667 0.000746667 0.000713333 +0.000686667 0.000686667 0.0007 0.0007 0.000726667 0.000706667 0.0007 0.0007 +0.000706667 0.000726667 0.00074 0.00072 0.000713333 0.000706667 0.000693333 0.0007 +0.000706667 0.000706667 0.000673333 0.0007 0.000713333 0.0007 0.000706667 0.000713333 +0.0007 0.00068 0.000666667 0.000673333 0.000686667 0.000673333 0.000666667 0.000686667 +0.000713333 0.00072 0.000733333 0.000746667 0.00074 0.000713333 0.000673333 0.00068 +0.000713333 0.000733333 0.000706667 0.000673333 0.000706667 0.000713333 0.000706667 0.000706667 +0.0007 0.000693333 0.000693333 0.00072 0.00072 0.000706667 0.000686667 0.000686667 +0.000693333 0.000686667 0.000666667 0.000666667 0.000673333 0.00066 0.000666667 0.000673333 +0.00068 0.000653333 0.000686667 0.000686667 0.000666667 0.000646667 0.000653333 0.000673333 +0.000653333 0.000653333 0.000653333 0.000653333 0.000633333 0.000653333 0.000666667 0.00066 +0.00066 0.000633333 0.000646667 0.00066 0.000653333 0.000626667 0.000633333 0.000653333 +0.00068 0.000666667 0.000633333 0.00064 0.00066 0.000673333 0.0007 0.000706667 +0.000693333 0.000666667 0.000666667 0.000666667 0.000653333 0.00068 0.00068 0.00068 +0.000666667 0.000673333 0.000673333 0.0007 0.00068 0.000653333 0.00066 0.000686667 +0.00072 0.000706667 0.000766667 0.0009 0.225467 0.246293 0.240613 0.22168 +0.0009 0.000806667 0.000766667 0.000726667 0.000713333 0.0007 0.00068 0.000706667 +0.0007 0.0007 0.00072 0.000686667 0.000686667 0.0007 0.000726667 0.00072 +0.000706667 0.00068 0.00066 0.0007 0.000733333 0.000726667 0.000693333 0.000673333 +0.000673333 0.000713333 0.000713333 0.000686667 0.00068 0.000706667 0.000713333 0.000686667 +0.000673333 0.0007 0.00072 0.000713333 0.000706667 0.000706667 0.000726667 0.00072 +0.000706667 0.000706667 0.00072 0.00072 0.0007 0.000706667 0.000746667 0.00072 +0.0007 0.00072 0.000746667 0.000713333 0.000653333 0.000693333 0.000733333 0.00072 +0.000706667 0.000706667 0.000706667 0.000713333 0.000706667 0.000706667 0.00072 0.000726667 +0.000746667 0.00072 0.000673333 0.00068 0.000693333 0.00072 0.000713333 0.000706667 +0.0007 0.000693333 0.0007 0.000733333 0.000733333 0.000706667 0.000726667 0.000693333 +0.000686667 0.000726667 0.00076 0.00074 0.00068 0.000733333 0.000746667 0.000726667 +0.00074 0.000713333 0.000706667 0.000733333 0.000733333 0.000726667 0.00078 0.000766667 +0.000713333 0.000706667 0.000693333 0.000693333 0.0007 0.000726667 0.000706667 0.000713333 +0.000726667 0.000713333 0.000733333 0.000706667 0.000713333 0.00072 0.00072 0.00072 +0.0007 0.000686667 0.000646667 0.000693333 0.0007 0.000693333 0.000706667 0.00072 +0.000726667 0.000726667 0.000713333 0.000706667 0.000753333 0.000726667 0.0007 0.000746667 +0.00072 0.00074 0.00076 0.000713333 0.000686667 0.000713333 0.00072 0.0007 +0.00068 0.000693333 0.000706667 0.000693333 0.0007 0.000726667 0.000746667 0.000726667 +0.000733333 0.000706667 0.000686667 0.000733333 0.000746667 0.00072 0.000726667 0.000726667 +0.00074 0.000733333 0.00074 0.00074 0.000746667 0.000713333 0.000733333 0.00072 +0.000686667 0.0007 0.00072 0.00074 0.00072 0.000693333 0.00072 0.000733333 +0.000726667 0.00074 0.000726667 0.00072 0.000766667 0.00076 0.000766667 0.00076 +0.00078 0.000786667 0.00074 0.000753333 0.000773333 0.000753333 0.00078 0.00076 +0.00072 0.000753333 0.000793333 0.000773333 0.00076 0.00076 0.000786667 0.00078 +0.000753333 0.000753333 0.00076 0.000793333 0.00078 0.000773333 0.000766667 0.00074 +0.000726667 0.00072 0.000713333 0.000706667 0.000726667 0.000726667 0.000706667 0.000726667 +0.000726667 0.000726667 0.00072 0.000726667 0.000746667 0.00072 0.00068 0.000686667 +0.000706667 0.000686667 0.000686667 0.000686667 0.000666667 0.000673333 0.000693333 0.000713333 +0.000686667 0.000693333 0.00068 0.000686667 0.00068 0.000653333 0.0007 0.000686667 +0.000646667 0.000673333 0.00068 0.000673333 0.000653333 0.000646667 0.000666667 0.000686667 +0.000673333 0.000686667 0.0007 0.00068 0.000673333 0.000653333 0.00062 0.00068 +0.00066 0.000633333 0.000686667 0.000693333 0.00068 0.00066 0.00062 0.000666667 +0.00068 0.000673333 0.000666667 0.00066 0.000673333 0.00066 0.000653333 0.000673333 +0.00068 0.0007 0.000713333 0.00068 0.000666667 0.000706667 0.000706667 0.0007 +0.000686667 0.0007 0.000706667 0.00072 0.000713333 0.00068 0.00068 0.000713333 +0.000713333 0.00072 0.000713333 0.00068 0.00068 0.000706667 0.000733333 0.000706667 +0.000686667 0.00068 0.000706667 0.000713333 0.000726667 0.00074 0.00072 0.000713333 +0.00072 0.000713333 0.00072 0.000713333 0.000713333 0.00074 0.00072 0.00072 +0.000746667 0.000746667 0.000706667 0.00072 0.00074 0.000733333 0.000726667 0.000706667 +0.0007 0.000726667 0.000733333 0.000726667 0.00074 0.000726667 0.00072 0.00074 +0.000726667 0.000733333 0.000733333 0.000713333 0.000686667 0.000706667 0.00072 0.000733333 +0.000733333 0.00076 0.000733333 0.000713333 0.000753333 0.000766667 0.00076 0.00074 +0.00074 0.000733333 0.000733333 0.000773333 0.00072 0.000733333 0.00074 0.000753333 +0.000733333 0.00074 0.000726667 0.000713333 0.0007 0.000713333 0.000726667 0.000753333 +0.000746667 0.000726667 0.000733333 0.00072 0.000706667 0.000733333 0.000726667 0.0007 +0.0007 0.000693333 0.0007 0.00072 0.000706667 0.000713333 0.000706667 0.00072 +0.000733333 0.000713333 0.000706667 0.00072 0.0007 0.000693333 0.000706667 0.000706667 +0.000713333 0.000713333 0.00072 0.00074 0.00072 0.000686667 0.000693333 0.000713333 +0.00072 0.00072 0.0007 0.000706667 0.0007 0.0007 0.000726667 0.000746667 +0.00072 0.0007 0.0007 0.000706667 0.000713333 0.000713333 0.000726667 0.000713333 +0.000706667 0.000706667 0.000706667 0.000686667 0.0007 0.00072 0.000706667 0.000706667 +0.000713333 0.000706667 0.000673333 0.000686667 0.000713333 0.000686667 0.000673333 0.000693333 +0.000713333 0.00072 0.000693333 0.00068 0.0007 0.0007 0.00068 0.000686667 +0.0007 0.0007 0.0007 0.00074 0.00074 0.00072 0.000686667 0.000673333 +0.000686667 0.000726667 0.00074 0.000713333 0.000706667 0.000693333 0.0007 0.00072 +0.00072 0.0007 0.00068 0.000686667 0.0007 0.00074 0.00072 0.000706667 +0.000693333 0.0007 0.000693333 0.00068 0.00066 0.00064 0.00066 0.000673333 +0.000673333 0.000666667 0.00066 0.00066 0.000646667 0.000646667 0.000673333 0.000666667 +0.000633333 0.00064 0.000666667 0.00068 0.000646667 0.000626667 0.000633333 0.000646667 +0.000653333 0.000606667 0.000613333 0.000653333 0.000686667 0.000666667 0.000653333 0.00066 +0.000653333 0.000673333 0.000666667 0.000653333 0.000633333 0.00064 0.00068 0.000706667 +0.000693333 0.000693333 0.000706667 0.000666667 0.000626667 0.000666667 0.00068 0.000673333 +0.000686667 0.00068 0.00068 0.000706667 0.000713333 0.0007 0.000686667 0.000713333 +0.000826667 0.00096 0.248187 0.28416 0.291733 0.29552 0.297413 0.293627 +0.274693 0.23304 0.000933333 0.000813333 0.000733333 0.000713333 0.000693333 0.000706667 +0.000706667 0.000693333 0.000706667 0.000706667 0.000693333 0.00072 0.00072 0.000726667 +0.000733333 0.000706667 0.000666667 0.000673333 0.00072 0.00072 0.0007 0.0007 +0.000673333 0.000673333 0.0007 0.00072 0.000706667 0.0007 0.0007 0.00072 +0.0007 0.00068 0.000706667 0.0007 0.000693333 0.00068 0.00072 0.000733333 +0.000726667 0.00072 0.000713333 0.00072 0.000726667 0.00072 0.00074 0.00074 +0.000726667 0.00072 0.00072 0.000713333 0.00068 0.0007 0.00074 0.00072 +0.0007 0.000713333 0.00072 0.000713333 0.000706667 0.000713333 0.000726667 0.00072 +0.000746667 0.00076 0.00072 0.0007 0.000686667 0.0007 0.00072 0.000706667 +0.000706667 0.00072 0.000713333 0.000733333 0.00076 0.00074 0.000746667 0.000713333 +0.0007 0.00072 0.00076 0.000746667 0.000686667 0.000713333 0.000753333 0.000753333 +0.000773333 0.00072 0.0007 0.000726667 0.000746667 0.000733333 0.000773333 0.000766667 +0.000713333 0.000713333 0.000693333 0.000693333 0.000713333 0.000733333 0.00074 0.000706667 +0.000713333 0.00072 0.00074 0.0007 0.0007 0.00074 0.000733333 0.000726667 +0.000706667 0.00068 0.00066 0.0007 0.00072 0.0007 0.0007 0.000726667 +0.000706667 0.00074 0.00074 0.0007 0.000733333 0.000733333 0.000706667 0.000746667 +0.000733333 0.000746667 0.000753333 0.000713333 0.000686667 0.00072 0.000713333 0.000673333 +0.00066 0.0007 0.00072 0.000713333 0.000706667 0.00072 0.000733333 0.000733333 +0.000753333 0.000726667 0.000706667 0.00074 0.000733333 0.000746667 0.000746667 0.000726667 +0.000746667 0.000746667 0.000753333 0.000746667 0.000753333 0.000726667 0.00074 0.000706667 +0.000693333 0.000733333 0.000753333 0.000753333 0.000733333 0.00072 0.000713333 0.000733333 +0.000753333 0.00076 0.000746667 0.000753333 0.000786667 0.00078 0.000766667 0.000746667 +0.000766667 0.00076 0.00074 0.000773333 0.000773333 0.000746667 0.00078 0.00076 +0.00074 0.00078 0.0008 0.000766667 0.000773333 0.000793333 0.00082 0.000806667 +0.0008 0.000793333 0.00078 0.000813333 0.0008 0.00078 0.000746667 0.000733333 +0.000733333 0.00074 0.000726667 0.00072 0.000733333 0.000713333 0.0007 0.00072 +0.000726667 0.000733333 0.00074 0.00072 0.000713333 0.000706667 0.000686667 0.000686667 +0.000706667 0.0007 0.00068 0.000653333 0.00066 0.000693333 0.00072 0.000693333 +0.000686667 0.0007 0.000673333 0.00068 0.000673333 0.00066 0.000706667 0.000706667 +0.000653333 0.000666667 0.000673333 0.000653333 0.000646667 0.000653333 0.00068 0.00068 +0.000686667 0.000686667 0.00066 0.00066 0.00066 0.00062 0.000626667 0.000666667 +0.000673333 0.000653333 0.000673333 0.000653333 0.00066 0.000673333 0.000646667 0.000646667 +0.000646667 0.000653333 0.000653333 0.000666667 0.00068 0.00066 0.000646667 0.000653333 +0.000686667 0.000706667 0.000686667 0.000653333 0.000693333 0.000733333 0.0007 0.000693333 +0.000673333 0.000673333 0.0007 0.00072 0.000693333 0.000666667 0.000706667 0.000746667 +0.000693333 0.000673333 0.000693333 0.000693333 0.000686667 0.000706667 0.000706667 0.000686667 +0.000693333 0.000706667 0.00072 0.000693333 0.0007 0.000726667 0.000693333 0.000726667 +0.000726667 0.00072 0.00072 0.000726667 0.000706667 0.00072 0.000746667 0.000753333 +0.00074 0.000726667 0.000706667 0.000733333 0.000746667 0.000726667 0.000713333 0.000693333 +0.000706667 0.000753333 0.000753333 0.000726667 0.00072 0.000713333 0.000713333 0.00072 +0.000733333 0.00074 0.000726667 0.000713333 0.000713333 0.000733333 0.00074 0.00074 +0.000726667 0.000733333 0.00072 0.00074 0.000766667 0.000746667 0.00072 0.000746667 +0.00076 0.00074 0.000753333 0.00076 0.00074 0.000706667 0.000693333 0.000713333 +0.00072 0.00072 0.000746667 0.000746667 0.00072 0.00072 0.00072 0.000713333 +0.00072 0.00074 0.00074 0.000713333 0.000686667 0.000693333 0.000733333 0.00074 +0.000733333 0.000693333 0.000673333 0.0007 0.0007 0.0007 0.000706667 0.0007 +0.0007 0.00074 0.00074 0.00072 0.000713333 0.000686667 0.000706667 0.000726667 +0.000706667 0.000686667 0.000713333 0.000713333 0.0007 0.0007 0.000693333 0.0007 +0.000706667 0.000726667 0.000713333 0.000713333 0.000726667 0.0007 0.000686667 0.000693333 +0.000706667 0.000713333 0.0007 0.000706667 0.000713333 0.000706667 0.000726667 0.000733333 +0.00074 0.000713333 0.000693333 0.0007 0.000693333 0.000693333 0.00068 0.000693333 +0.0007 0.000713333 0.000693333 0.000693333 0.000713333 0.0007 0.000666667 0.000666667 +0.000686667 0.000713333 0.000713333 0.000686667 0.00068 0.000686667 0.00068 0.000693333 +0.0007 0.0007 0.000686667 0.000726667 0.000713333 0.000706667 0.000706667 0.0007 +0.00068 0.000686667 0.000713333 0.000733333 0.000746667 0.000713333 0.000713333 0.000713333 +0.000713333 0.0007 0.000686667 0.000666667 0.000666667 0.000693333 0.000713333 0.00072 +0.000713333 0.0007 0.000693333 0.000706667 0.000686667 0.000653333 0.000653333 0.000666667 +0.000653333 0.000666667 0.000666667 0.000646667 0.000646667 0.000646667 0.000686667 0.000673333 +0.000653333 0.00064 0.00066 0.00068 0.000693333 0.000666667 0.000613333 0.000626667 +0.000633333 0.00062 0.000586667 0.000606667 0.000646667 0.000666667 0.000653333 0.00068 +0.000673333 0.00066 0.000673333 0.000686667 0.000673333 0.000653333 0.000666667 0.00068 +0.00068 0.000686667 0.000713333 0.000686667 0.000666667 0.00066 0.000666667 0.000686667 +0.0007 0.0007 0.000693333 0.000686667 0.000693333 0.000713333 0.00074 0.000833333 +0.231147 0.293627 0.303093 0.265227 0.22736 0.000973333 0.217893 0.2444 +0.269013 0.269013 0.246293 0.000973333 0.00082 0.00072 0.000706667 0.000726667 +0.00072 0.000713333 0.000706667 0.000713333 0.000706667 0.000713333 0.000713333 0.000713333 +0.000713333 0.00072 0.00072 0.000686667 0.000686667 0.000693333 0.0007 0.000713333 +0.0007 0.000673333 0.000673333 0.000713333 0.000713333 0.000693333 0.00068 0.0007 +0.000693333 0.0007 0.000713333 0.000706667 0.000693333 0.000693333 0.000713333 0.00072 +0.00072 0.00072 0.000706667 0.00074 0.000733333 0.00072 0.000733333 0.000753333 +0.000753333 0.00072 0.000706667 0.00072 0.000733333 0.000713333 0.00074 0.00074 +0.000726667 0.000726667 0.00072 0.000733333 0.00074 0.000713333 0.00072 0.00072 +0.00072 0.00076 0.000746667 0.000726667 0.00072 0.000713333 0.000753333 0.000746667 +0.000726667 0.00074 0.00074 0.000753333 0.000766667 0.000766667 0.000766667 0.00074 +0.000713333 0.00074 0.00076 0.00074 0.000686667 0.0007 0.000733333 0.000753333 +0.000793333 0.000733333 0.00072 0.00074 0.000746667 0.000726667 0.000773333 0.00078 +0.000713333 0.000733333 0.00072 0.0007 0.00072 0.000753333 0.000753333 0.000713333 +0.000706667 0.000686667 0.00074 0.000726667 0.000706667 0.000726667 0.000746667 0.000726667 +0.0007 0.000686667 0.000673333 0.000726667 0.000726667 0.0007 0.000693333 0.000726667 +0.00074 0.000766667 0.000753333 0.000706667 0.000746667 0.00074 0.000713333 0.000726667 +0.000733333 0.000753333 0.00074 0.000713333 0.0007 0.000713333 0.000733333 0.000693333 +0.000673333 0.000726667 0.00074 0.000726667 0.000713333 0.00074 0.000753333 0.00076 +0.000766667 0.000726667 0.0007 0.000753333 0.000766667 0.00076 0.000726667 0.00072 +0.000753333 0.000753333 0.00076 0.00076 0.00076 0.00078 0.000773333 0.000726667 +0.000733333 0.000753333 0.000773333 0.00078 0.000786667 0.00074 0.00072 0.00076 +0.00076 0.000746667 0.000746667 0.00076 0.00078 0.000786667 0.000753333 0.000726667 +0.00076 0.00078 0.000786667 0.00078 0.000766667 0.000773333 0.000786667 0.000753333 +0.00078 0.000813333 0.0008 0.000773333 0.000813333 0.0008 0.000786667 0.000813333 +0.00084 0.000813333 0.000826667 0.00082 0.000793333 0.000786667 0.000766667 0.000766667 +0.000746667 0.000746667 0.000733333 0.000753333 0.000726667 0.000706667 0.00072 0.000726667 +0.000733333 0.000753333 0.00076 0.00072 0.000706667 0.0007 0.0007 0.000726667 +0.000713333 0.000693333 0.00066 0.000646667 0.000666667 0.000706667 0.00072 0.000693333 +0.000706667 0.000686667 0.00066 0.000666667 0.000673333 0.000673333 0.000673333 0.00068 +0.000653333 0.00064 0.000653333 0.00064 0.000626667 0.000633333 0.00066 0.000666667 +0.000686667 0.000666667 0.00064 0.00066 0.00066 0.000633333 0.000633333 0.00066 +0.000686667 0.000653333 0.000633333 0.000626667 0.000653333 0.00066 0.000653333 0.000646667 +0.000653333 0.000653333 0.000673333 0.000693333 0.000666667 0.00064 0.000633333 0.000673333 +0.000686667 0.000673333 0.00066 0.00066 0.0007 0.000713333 0.000693333 0.00066 +0.000653333 0.000666667 0.000706667 0.000713333 0.000686667 0.0007 0.00072 0.0007 +0.000653333 0.000673333 0.0007 0.00068 0.000673333 0.000686667 0.000693333 0.000726667 +0.00072 0.000706667 0.000713333 0.000713333 0.00072 0.000713333 0.000706667 0.00072 +0.000706667 0.0007 0.00072 0.00074 0.000713333 0.00072 0.000746667 0.000726667 +0.00072 0.00072 0.000706667 0.000726667 0.000733333 0.00072 0.000713333 0.000706667 +0.00072 0.00074 0.00074 0.000733333 0.000713333 0.00072 0.000726667 0.000713333 +0.000726667 0.000713333 0.00072 0.000726667 0.000733333 0.000746667 0.00074 0.000733333 +0.000733333 0.000746667 0.000753333 0.000746667 0.000726667 0.00072 0.000733333 0.000753333 +0.000753333 0.000746667 0.00072 0.000713333 0.000773333 0.000766667 0.000733333 0.0007 +0.000713333 0.00072 0.00074 0.000746667 0.000746667 0.000746667 0.000733333 0.000713333 +0.0007 0.000713333 0.00072 0.000726667 0.00072 0.000693333 0.0007 0.000713333 +0.00072 0.000713333 0.000706667 0.000686667 0.000706667 0.000713333 0.000706667 0.0007 +0.00068 0.0007 0.000713333 0.000713333 0.000713333 0.000706667 0.0007 0.000706667 +0.00072 0.000693333 0.000693333 0.000686667 0.000706667 0.000713333 0.000706667 0.000693333 +0.000666667 0.000673333 0.0007 0.000713333 0.00072 0.000726667 0.000713333 0.0007 +0.000693333 0.000706667 0.000706667 0.000693333 0.000706667 0.000686667 0.000693333 0.000713333 +0.000733333 0.000733333 0.000726667 0.000713333 0.000706667 0.000693333 0.0007 0.000686667 +0.000713333 0.0007 0.000686667 0.000686667 0.0007 0.0007 0.0007 0.0007 +0.00068 0.00068 0.0007 0.000693333 0.00068 0.000673333 0.00066 0.000666667 +0.000673333 0.00068 0.000686667 0.000713333 0.000686667 0.000686667 0.000693333 0.000706667 +0.0007 0.000706667 0.000693333 0.000686667 0.000726667 0.000733333 0.00072 0.000713333 +0.000726667 0.000706667 0.00068 0.000686667 0.000693333 0.00068 0.00068 0.000693333 +0.0007 0.000693333 0.000666667 0.000706667 0.00072 0.000673333 0.000673333 0.000666667 +0.000646667 0.000666667 0.000666667 0.000653333 0.000626667 0.00064 0.000666667 0.000646667 +0.00066 0.000666667 0.000666667 0.000666667 0.0007 0.000686667 0.000633333 0.00064 +0.000626667 0.000646667 0.000606667 0.000606667 0.000613333 0.000646667 0.000633333 0.00066 +0.000666667 0.000653333 0.00068 0.0007 0.000693333 0.00068 0.000673333 0.000673333 +0.00068 0.000706667 0.000693333 0.0007 0.00072 0.000686667 0.000673333 0.000686667 +0.00068 0.000686667 0.000713333 0.000713333 0.000706667 0.000746667 0.000866667 0.23872 +0.28416 0.287947 0.23872 0.000866667 0.00076 0.000746667 0.000793333 0.000846667 +0.000966667 0.25008 0.265227 0.246293 0.000926667 0.000773333 0.00074 0.00074 +0.000706667 0.000713333 0.000733333 0.00072 0.0007 0.000706667 0.00072 0.000713333 +0.00072 0.00072 0.00072 0.000706667 0.000686667 0.0007 0.000713333 0.000713333 +0.000713333 0.000706667 0.000706667 0.000686667 0.0007 0.000713333 0.000713333 0.000686667 +0.00068 0.0007 0.000706667 0.000706667 0.000686667 0.000706667 0.000693333 0.000686667 +0.000713333 0.000726667 0.000733333 0.00074 0.000746667 0.00072 0.00072 0.00074 +0.00074 0.000733333 0.00072 0.00074 0.000746667 0.000706667 0.000733333 0.00074 +0.000746667 0.000733333 0.000713333 0.00074 0.00076 0.000726667 0.000726667 0.000726667 +0.00072 0.000746667 0.000766667 0.000766667 0.000753333 0.000726667 0.00072 0.00074 +0.00074 0.000746667 0.000753333 0.000746667 0.000746667 0.000746667 0.00076 0.00074 +0.000706667 0.00074 0.00078 0.00076 0.00072 0.000713333 0.00072 0.000726667 +0.000766667 0.000726667 0.000733333 0.000746667 0.000746667 0.000746667 0.000773333 0.00078 +0.000726667 0.00074 0.000746667 0.000713333 0.00072 0.000753333 0.00076 0.000733333 +0.000733333 0.000693333 0.000753333 0.00076 0.000733333 0.00074 0.000753333 0.000726667 +0.000713333 0.000706667 0.000693333 0.000733333 0.00076 0.000726667 0.000693333 0.000726667 +0.000746667 0.00076 0.000726667 0.000706667 0.000753333 0.00076 0.000753333 0.00072 +0.000713333 0.000766667 0.000733333 0.000713333 0.000713333 0.000713333 0.000706667 0.0007 +0.000693333 0.000726667 0.000753333 0.000713333 0.0007 0.000733333 0.00074 0.000746667 +0.000753333 0.00072 0.000713333 0.000773333 0.000773333 0.000773333 0.00072 0.000693333 +0.000753333 0.000786667 0.00078 0.00076 0.000766667 0.00078 0.000766667 0.000773333 +0.0008 0.000786667 0.000773333 0.000793333 0.000813333 0.000766667 0.00076 0.00078 +0.000766667 0.00076 0.000746667 0.000753333 0.000773333 0.000786667 0.000753333 0.000746667 +0.000786667 0.000793333 0.000813333 0.0008 0.000786667 0.0008 0.000793333 0.000753333 +0.000806667 0.00082 0.000813333 0.000826667 0.000813333 0.000773333 0.000786667 0.000846667 +0.00086 0.00084 0.000846667 0.000793333 0.00078 0.000806667 0.000806667 0.000793333 +0.00076 0.00076 0.000773333 0.000773333 0.00072 0.000706667 0.000733333 0.000733333 +0.000726667 0.000753333 0.00076 0.000753333 0.00072 0.000706667 0.0007 0.000706667 +0.00066 0.000653333 0.000653333 0.00066 0.000686667 0.000706667 0.000713333 0.000686667 +0.00068 0.000646667 0.00066 0.00068 0.000666667 0.000653333 0.00062 0.000646667 +0.000653333 0.000626667 0.000633333 0.000646667 0.000613333 0.000613333 0.000626667 0.000646667 +0.00066 0.000646667 0.000646667 0.000666667 0.000666667 0.000633333 0.000613333 0.00064 +0.000686667 0.000653333 0.000633333 0.000653333 0.000666667 0.000653333 0.000646667 0.000653333 +0.000653333 0.000646667 0.000666667 0.00066 0.00064 0.000626667 0.00064 0.000686667 +0.00068 0.00068 0.000686667 0.000666667 0.000673333 0.0007 0.000686667 0.00066 +0.00066 0.000666667 0.000713333 0.000726667 0.000706667 0.0007 0.000693333 0.00068 +0.000673333 0.00068 0.000693333 0.000673333 0.000693333 0.000706667 0.00072 0.00074 +0.000693333 0.000693333 0.000713333 0.000733333 0.000726667 0.0007 0.0007 0.000686667 +0.000686667 0.0007 0.000726667 0.000726667 0.000713333 0.000713333 0.000713333 0.000713333 +0.000726667 0.00072 0.000726667 0.000746667 0.00072 0.00072 0.00072 0.000713333 +0.00072 0.000726667 0.000746667 0.000733333 0.000713333 0.000733333 0.000733333 0.000713333 +0.000713333 0.000706667 0.00074 0.00074 0.000733333 0.00074 0.000746667 0.000733333 +0.00074 0.000753333 0.00074 0.00072 0.00072 0.000746667 0.000773333 0.000753333 +0.00072 0.000706667 0.000706667 0.000766667 0.000733333 0.000746667 0.000766667 0.000713333 +0.000686667 0.0007 0.000726667 0.000746667 0.000746667 0.000746667 0.000733333 0.000746667 +0.00072 0.000713333 0.000726667 0.000726667 0.000726667 0.000706667 0.000706667 0.000713333 +0.0007 0.0007 0.000733333 0.000706667 0.000693333 0.000713333 0.000693333 0.00068 +0.000706667 0.000713333 0.000666667 0.00068 0.0007 0.000713333 0.0007 0.000686667 +0.000713333 0.000713333 0.000706667 0.000686667 0.000693333 0.0007 0.000713333 0.000713333 +0.000693333 0.00068 0.000686667 0.000693333 0.000686667 0.000686667 0.0007 0.00072 +0.00072 0.000706667 0.0007 0.000706667 0.000713333 0.0007 0.000693333 0.00068 +0.000673333 0.000686667 0.00072 0.00072 0.0007 0.000693333 0.00068 0.000666667 +0.0007 0.00072 0.000706667 0.0007 0.000686667 0.000666667 0.000686667 0.000713333 +0.00072 0.000686667 0.00068 0.00068 0.0007 0.0007 0.000673333 0.000653333 +0.000633333 0.00066 0.00068 0.000686667 0.000686667 0.0007 0.000666667 0.00066 +0.000686667 0.000726667 0.000706667 0.000693333 0.000693333 0.0007 0.00072 0.000706667 +0.000706667 0.000706667 0.000713333 0.0007 0.000706667 0.000706667 0.000693333 0.00068 +0.000673333 0.000673333 0.000666667 0.000686667 0.000686667 0.000673333 0.0007 0.000666667 +0.000653333 0.00066 0.00066 0.000666667 0.000626667 0.000646667 0.000653333 0.000606667 +0.000626667 0.000673333 0.00068 0.000666667 0.000666667 0.000666667 0.000666667 0.00066 +0.000633333 0.000673333 0.000646667 0.000633333 0.000613333 0.000633333 0.00064 0.000626667 +0.000633333 0.000673333 0.000686667 0.000686667 0.000693333 0.000686667 0.000666667 0.000646667 +0.000673333 0.000706667 0.000693333 0.000713333 0.000753333 0.000713333 0.0007 0.000706667 +0.00068 0.00068 0.000706667 0.000713333 0.00076 0.000926667 0.251973 0.28416 +0.26144 0.00096 0.000806667 0.00074 0.00072 0.000733333 0.000753333 0.00076 +0.000833333 0.000986667 0.259547 0.263333 0.223573 0.00086 0.000793333 0.000753333 +0.000713333 0.0007 0.00072 0.000746667 0.000713333 0.000686667 0.0007 0.00072 +0.000746667 0.00074 0.000713333 0.000706667 0.0007 0.00072 0.000713333 0.000726667 +0.0007 0.000686667 0.000713333 0.0007 0.000693333 0.00072 0.000733333 0.000713333 +0.000686667 0.000673333 0.0007 0.000733333 0.000733333 0.000713333 0.000693333 0.00068 +0.000706667 0.000726667 0.00072 0.000753333 0.000773333 0.000753333 0.00072 0.000733333 +0.000753333 0.00074 0.000733333 0.00074 0.000746667 0.000733333 0.000753333 0.000766667 +0.00074 0.000733333 0.000746667 0.00074 0.000733333 0.000726667 0.000746667 0.00076 +0.00074 0.00074 0.00076 0.000753333 0.000746667 0.00076 0.00072 0.000733333 +0.000746667 0.000733333 0.00074 0.00074 0.000746667 0.000753333 0.000746667 0.000733333 +0.000726667 0.000746667 0.000766667 0.000773333 0.000746667 0.00074 0.00074 0.000726667 +0.000753333 0.00074 0.000766667 0.00078 0.000766667 0.000753333 0.00076 0.000786667 +0.00076 0.000786667 0.000773333 0.000733333 0.00074 0.000746667 0.000773333 0.000746667 +0.000726667 0.000706667 0.000733333 0.000753333 0.000746667 0.000753333 0.000766667 0.000726667 +0.000726667 0.000753333 0.000733333 0.000753333 0.000773333 0.000726667 0.0007 0.000713333 +0.000733333 0.00078 0.000753333 0.000693333 0.00074 0.000766667 0.00078 0.00074 +0.00072 0.000753333 0.000733333 0.00074 0.00076 0.00072 0.000686667 0.000693333 +0.0007 0.000726667 0.000766667 0.00072 0.0007 0.000733333 0.00074 0.000746667 +0.00074 0.000726667 0.000753333 0.0008 0.00076 0.000766667 0.000733333 0.000706667 +0.00078 0.00082 0.0008 0.00078 0.000773333 0.000766667 0.000746667 0.000766667 +0.000813333 0.000833333 0.00082 0.000813333 0.00082 0.000793333 0.000806667 0.000833333 +0.000833333 0.000813333 0.000813333 0.000813333 0.00082 0.000813333 0.0008 0.00082 +0.00084 0.000806667 0.000826667 0.000833333 0.00082 0.00082 0.0008 0.000793333 +0.00084 0.000853333 0.00086 0.00086 0.0008 0.000793333 0.000846667 0.000886667 +0.00086 0.000826667 0.000826667 0.0008 0.000806667 0.000833333 0.000846667 0.000793333 +0.000793333 0.0008 0.000786667 0.00076 0.000726667 0.000706667 0.000726667 0.00074 +0.000726667 0.00074 0.000746667 0.000713333 0.000686667 0.000693333 0.000673333 0.000646667 +0.000646667 0.00068 0.000673333 0.00068 0.00068 0.00068 0.00068 0.000646667 +0.000633333 0.000606667 0.00066 0.00068 0.000653333 0.000626667 0.000626667 0.000646667 +0.00068 0.000626667 0.000593333 0.000593333 0.0006 0.000593333 0.000613333 0.000653333 +0.000666667 0.000673333 0.00068 0.00066 0.000653333 0.000646667 0.000633333 0.00064 +0.00068 0.000653333 0.000633333 0.000653333 0.00064 0.00066 0.00064 0.000633333 +0.00064 0.000633333 0.000646667 0.000646667 0.000673333 0.00068 0.000666667 0.00066 +0.000666667 0.00068 0.000686667 0.000666667 0.000666667 0.0007 0.000693333 0.000666667 +0.000673333 0.000673333 0.000726667 0.000753333 0.000706667 0.00066 0.00066 0.000686667 +0.000686667 0.00068 0.0007 0.000693333 0.0007 0.000706667 0.000713333 0.0007 +0.0007 0.0007 0.000706667 0.000713333 0.000713333 0.00072 0.000693333 0.000686667 +0.0007 0.000706667 0.00072 0.00072 0.000706667 0.00072 0.00074 0.00074 +0.000733333 0.000726667 0.00074 0.000726667 0.00072 0.000713333 0.000713333 0.000706667 +0.000713333 0.000726667 0.00074 0.000733333 0.000733333 0.00072 0.00072 0.000713333 +0.000706667 0.000726667 0.000746667 0.000726667 0.000726667 0.000726667 0.000753333 0.000746667 +0.00074 0.00072 0.00072 0.00074 0.000733333 0.000746667 0.00074 0.000713333 +0.000693333 0.000713333 0.00076 0.000773333 0.000753333 0.000733333 0.000746667 0.000746667 +0.000733333 0.0007 0.0007 0.00072 0.000713333 0.000726667 0.000733333 0.000746667 +0.000746667 0.000746667 0.00074 0.000726667 0.000733333 0.00072 0.000706667 0.00072 +0.000713333 0.00068 0.0007 0.000726667 0.000713333 0.000706667 0.0007 0.000686667 +0.000673333 0.000693333 0.000686667 0.0007 0.000686667 0.000693333 0.0007 0.000686667 +0.000693333 0.000693333 0.000713333 0.000713333 0.00068 0.000673333 0.0007 0.000693333 +0.000706667 0.00072 0.0007 0.000693333 0.0007 0.000686667 0.00068 0.00068 +0.000693333 0.000706667 0.000693333 0.0007 0.000693333 0.0007 0.0007 0.000686667 +0.00068 0.00068 0.00068 0.0007 0.000713333 0.0007 0.0007 0.000673333 +0.00068 0.000693333 0.0007 0.000713333 0.000713333 0.000673333 0.000653333 0.000686667 +0.000713333 0.0007 0.000673333 0.000673333 0.000693333 0.000686667 0.00068 0.00068 +0.00068 0.000686667 0.00068 0.000673333 0.000666667 0.00068 0.000673333 0.000653333 +0.00064 0.000666667 0.000666667 0.000693333 0.000693333 0.000686667 0.000713333 0.000713333 +0.000673333 0.00068 0.0007 0.000693333 0.000686667 0.00072 0.000726667 0.0007 +0.00068 0.000673333 0.00068 0.00068 0.00066 0.000646667 0.000673333 0.000673333 +0.000666667 0.00068 0.00068 0.00068 0.000646667 0.000666667 0.000673333 0.000626667 +0.000606667 0.000626667 0.00066 0.000666667 0.00064 0.00062 0.000653333 0.000646667 +0.00066 0.00068 0.000673333 0.00066 0.00064 0.000646667 0.000653333 0.000646667 +0.000626667 0.00068 0.00068 0.000666667 0.000693333 0.000706667 0.00068 0.00066 +0.000653333 0.000666667 0.000686667 0.000726667 0.000733333 0.00072 0.000713333 0.00072 +0.000713333 0.000713333 0.00072 0.000733333 0.00088 0.263333 0.303093 0.269013 +0.000933333 0.000753333 0.000733333 0.000753333 0.00074 0.000746667 0.000726667 0.000733333 +0.00078 0.000893333 0.240613 0.269013 0.242507 0.000906667 0.000793333 0.00074 +0.00074 0.000733333 0.00072 0.000733333 0.000726667 0.000693333 0.000713333 0.000726667 +0.000746667 0.00074 0.000713333 0.000706667 0.000693333 0.000713333 0.000733333 0.000746667 +0.000726667 0.000673333 0.000693333 0.00072 0.000713333 0.00072 0.00072 0.000726667 +0.0007 0.000686667 0.000686667 0.00072 0.000753333 0.000753333 0.000726667 0.000693333 +0.000706667 0.000733333 0.000733333 0.000746667 0.00076 0.00076 0.000766667 0.00074 +0.000766667 0.000766667 0.00074 0.000733333 0.000753333 0.000746667 0.00076 0.00078 +0.00074 0.000726667 0.00076 0.00076 0.00074 0.000733333 0.000773333 0.0008 +0.00076 0.00074 0.000746667 0.000726667 0.00072 0.000773333 0.000753333 0.00074 +0.000746667 0.00072 0.000726667 0.00074 0.000753333 0.00078 0.000766667 0.000746667 +0.000733333 0.000726667 0.000753333 0.000773333 0.000753333 0.000726667 0.00074 0.00076 +0.000773333 0.000733333 0.00076 0.000786667 0.000766667 0.000726667 0.000746667 0.0008 +0.000766667 0.000793333 0.000786667 0.000753333 0.00076 0.000766667 0.00078 0.00076 +0.000753333 0.000746667 0.000753333 0.000793333 0.000773333 0.000753333 0.00078 0.000753333 +0.000746667 0.000766667 0.00074 0.000753333 0.000753333 0.000746667 0.000746667 0.000746667 +0.000766667 0.000813333 0.00076 0.000706667 0.00076 0.00078 0.000793333 0.000746667 +0.00072 0.000746667 0.000733333 0.000746667 0.00076 0.000726667 0.0007 0.000706667 +0.00072 0.000746667 0.000766667 0.000733333 0.000726667 0.00076 0.000773333 0.00076 +0.000753333 0.000766667 0.000786667 0.00082 0.000793333 0.000793333 0.00076 0.000773333 +0.000833333 0.00082 0.000833333 0.000853333 0.000826667 0.000853333 0.00084 0.000846667 +0.000886667 0.000913333 0.000946667 0.000966667 0.000993333 0.00098 0.000993333 0.219787 +0.219787 0.217893 0.229253 0.223573 0.217893 0.00098 0.000966667 0.217893 +0.217893 0.000966667 0.00098 0.00096 0.000953333 0.000946667 0.000913333 0.000926667 +0.000953333 0.000986667 0.000973333 0.000906667 0.000846667 0.000866667 0.000933333 0.00092 +0.000846667 0.000826667 0.000813333 0.000813333 0.00082 0.000833333 0.000846667 0.0008 +0.0008 0.000793333 0.000753333 0.00074 0.00072 0.0007 0.000706667 0.00072 +0.00072 0.000713333 0.000693333 0.00066 0.00066 0.00066 0.000653333 0.000653333 +0.000686667 0.000686667 0.00066 0.00066 0.000673333 0.000666667 0.000633333 0.00064 +0.00064 0.000653333 0.000653333 0.000673333 0.000666667 0.000646667 0.000646667 0.000673333 +0.0007 0.00062 0.0006 0.0006 0.000613333 0.00062 0.000646667 0.00068 +0.000693333 0.000686667 0.000673333 0.000633333 0.000646667 0.000666667 0.000653333 0.000633333 +0.00064 0.00064 0.000633333 0.000633333 0.00062 0.00064 0.00064 0.000653333 +0.000646667 0.000646667 0.00066 0.000666667 0.00068 0.000686667 0.000666667 0.00064 +0.000673333 0.000673333 0.000673333 0.000646667 0.00066 0.000706667 0.000686667 0.000666667 +0.00068 0.000693333 0.000713333 0.000706667 0.000653333 0.000653333 0.000653333 0.000693333 +0.000686667 0.000666667 0.000706667 0.00072 0.0007 0.0007 0.000706667 0.0007 +0.000706667 0.000693333 0.000706667 0.000706667 0.000706667 0.000706667 0.000693333 0.000713333 +0.000713333 0.000713333 0.000706667 0.00072 0.00072 0.00074 0.000733333 0.000713333 +0.000713333 0.000706667 0.000706667 0.00072 0.00072 0.0007 0.000713333 0.000713333 +0.000733333 0.000733333 0.000726667 0.00074 0.000726667 0.000706667 0.000706667 0.000706667 +0.000713333 0.000726667 0.000706667 0.000706667 0.000733333 0.000753333 0.000753333 0.000726667 +0.000713333 0.00068 0.000726667 0.000746667 0.000733333 0.000726667 0.000713333 0.00072 +0.00072 0.000746667 0.000753333 0.000713333 0.000733333 0.000733333 0.000726667 0.000746667 +0.00076 0.000733333 0.000713333 0.0007 0.00068 0.000693333 0.000713333 0.000726667 +0.00074 0.00074 0.000726667 0.000726667 0.00074 0.00074 0.00072 0.000726667 +0.000746667 0.00072 0.000693333 0.000693333 0.000726667 0.000713333 0.000713333 0.000726667 +0.000713333 0.000706667 0.000686667 0.000693333 0.000673333 0.000666667 0.000686667 0.0007 +0.000686667 0.00068 0.00068 0.000693333 0.000706667 0.000673333 0.000653333 0.00068 +0.000706667 0.000686667 0.0007 0.0007 0.000693333 0.000673333 0.000673333 0.000673333 +0.000686667 0.00072 0.000713333 0.000693333 0.00068 0.000653333 0.000666667 0.000713333 +0.000713333 0.000706667 0.00068 0.000666667 0.000666667 0.000693333 0.000693333 0.000713333 +0.000733333 0.000713333 0.000686667 0.00068 0.000693333 0.000673333 0.00066 0.000686667 +0.000693333 0.000693333 0.00068 0.000666667 0.00068 0.000673333 0.0007 0.0007 +0.0007 0.00068 0.000686667 0.000666667 0.00066 0.00068 0.000666667 0.000673333 +0.00068 0.000653333 0.000633333 0.000666667 0.00068 0.000673333 0.00068 0.000706667 +0.000686667 0.000666667 0.000666667 0.000666667 0.000673333 0.000686667 0.000706667 0.000706667 +0.00068 0.00068 0.000686667 0.000686667 0.000666667 0.000646667 0.000646667 0.000633333 +0.000653333 0.00066 0.000673333 0.000666667 0.00066 0.000673333 0.000666667 0.00066 +0.00064 0.000606667 0.00064 0.00066 0.000633333 0.000613333 0.00064 0.000606667 +0.00066 0.00066 0.00068 0.00068 0.000666667 0.000653333 0.000673333 0.000653333 +0.00066 0.000686667 0.000686667 0.00068 0.0007 0.0007 0.00068 0.000693333 +0.000686667 0.000666667 0.000673333 0.0007 0.000693333 0.00072 0.000733333 0.000713333 +0.000733333 0.000746667 0.000753333 0.000873333 0.248187 0.299307 0.276587 0.000973333 +0.000806667 0.000746667 0.000733333 0.00076 0.000753333 0.000726667 0.000733333 0.00076 +0.000786667 0.00086 0.22736 0.270907 0.25576 0.000946667 0.000786667 0.00072 +0.000753333 0.00078 0.00074 0.000726667 0.000746667 0.00074 0.000726667 0.000726667 +0.00072 0.00074 0.000753333 0.000713333 0.000686667 0.000726667 0.00076 0.00074 +0.000726667 0.000713333 0.00068 0.000686667 0.00074 0.000733333 0.000713333 0.000713333 +0.000726667 0.000733333 0.000726667 0.0007 0.00072 0.000726667 0.000746667 0.000726667 +0.000726667 0.000753333 0.000746667 0.000746667 0.000746667 0.000746667 0.00078 0.000766667 +0.00076 0.000793333 0.000793333 0.00076 0.00076 0.000746667 0.000766667 0.000793333 +0.000766667 0.000746667 0.00076 0.00078 0.000766667 0.00074 0.000753333 0.000786667 +0.000753333 0.000753333 0.00076 0.000746667 0.00072 0.00076 0.000766667 0.00074 +0.00074 0.00072 0.000726667 0.000746667 0.00074 0.000766667 0.00078 0.00074 +0.00072 0.000733333 0.000766667 0.000766667 0.00076 0.000733333 0.000726667 0.00076 +0.000786667 0.000753333 0.000746667 0.000766667 0.000766667 0.000746667 0.000773333 0.000813333 +0.00078 0.00078 0.00076 0.00074 0.00076 0.000766667 0.000753333 0.00076 +0.000786667 0.000766667 0.00076 0.000813333 0.0008 0.000766667 0.0008 0.000793333 +0.000773333 0.000773333 0.000773333 0.000773333 0.000766667 0.00078 0.000773333 0.00076 +0.000806667 0.000853333 0.000793333 0.000766667 0.000806667 0.000806667 0.00084 0.000793333 +0.000766667 0.000793333 0.0008 0.000766667 0.000786667 0.00078 0.000753333 0.000753333 +0.000766667 0.000793333 0.000813333 0.0008 0.000806667 0.000846667 0.000846667 0.000853333 +0.000893333 0.000946667 0.000973333 0.000986667 0.000993333 0.00098 0.000933333 0.000993333 +0.231147 0.22736 0.234933 0.2444 0.246293 0.253867 0.248187 0.25576 +0.27848 0.286053 0.297413 0.30688 0.322027 0.327707 0.33528 0.331493 +0.32392 0.333387 0.342853 0.327707 0.333387 0.327707 0.316347 0.32392 +0.3296 0.331493 0.3296 0.314453 0.31256 0.308773 0.297413 0.3012 +0.30688 0.303093 0.28984 0.270907 0.253867 0.257653 0.263333 0.23872 +0.216 0.000966667 0.000913333 0.000886667 0.000853333 0.00086 0.000846667 0.00082 +0.000813333 0.000786667 0.000766667 0.000746667 0.000746667 0.000733333 0.0007 0.000686667 +0.0007 0.00068 0.000666667 0.000653333 0.00066 0.000673333 0.000673333 0.000686667 +0.000693333 0.000673333 0.000653333 0.00066 0.00068 0.000686667 0.000653333 0.000666667 +0.000693333 0.0007 0.000673333 0.000713333 0.000766667 0.000786667 0.000786667 0.000813333 +0.000826667 0.000773333 0.00072 0.00068 0.000646667 0.00064 0.00066 0.000653333 +0.000686667 0.000666667 0.000626667 0.00062 0.00064 0.00066 0.00064 0.00062 +0.00062 0.00066 0.00064 0.000626667 0.00062 0.00066 0.000666667 0.000646667 +0.000646667 0.00066 0.000673333 0.000653333 0.000653333 0.000673333 0.000653333 0.00064 +0.000653333 0.000653333 0.00066 0.000646667 0.000653333 0.00066 0.000666667 0.000686667 +0.00072 0.000706667 0.00068 0.00068 0.000673333 0.00066 0.000673333 0.0007 +0.00068 0.000666667 0.000693333 0.000713333 0.000686667 0.000686667 0.000693333 0.000686667 +0.000693333 0.000693333 0.000706667 0.000693333 0.000693333 0.000693333 0.00072 0.000706667 +0.000673333 0.0007 0.000713333 0.00072 0.000733333 0.000726667 0.000686667 0.0007 +0.000713333 0.0007 0.000713333 0.000726667 0.000706667 0.000693333 0.000713333 0.00072 +0.00072 0.00072 0.00072 0.000713333 0.000686667 0.000706667 0.000713333 0.000713333 +0.00072 0.000713333 0.00072 0.000746667 0.000753333 0.000746667 0.000713333 0.000706667 +0.000726667 0.000726667 0.000746667 0.00072 0.000706667 0.000706667 0.000713333 0.000733333 +0.000726667 0.000713333 0.000713333 0.00072 0.00072 0.000726667 0.000726667 0.000726667 +0.000746667 0.00076 0.000733333 0.000713333 0.00072 0.000693333 0.000673333 0.000686667 +0.000706667 0.000726667 0.00072 0.000706667 0.000706667 0.000713333 0.000686667 0.000713333 +0.00074 0.000733333 0.000733333 0.000706667 0.0007 0.000706667 0.00072 0.000706667 +0.000733333 0.00074 0.00072 0.000706667 0.00068 0.000666667 0.000673333 0.000693333 +0.000686667 0.00068 0.000666667 0.000673333 0.000713333 0.000713333 0.000673333 0.000673333 +0.000693333 0.000686667 0.0007 0.000673333 0.000673333 0.000713333 0.000706667 0.00068 +0.0007 0.000673333 0.000673333 0.00068 0.000686667 0.00068 0.000666667 0.000693333 +0.000706667 0.000693333 0.000693333 0.0007 0.000686667 0.0007 0.00068 0.000686667 +0.000706667 0.0007 0.000686667 0.00068 0.00068 0.00068 0.00068 0.000693333 +0.000693333 0.0007 0.000686667 0.000653333 0.000673333 0.000673333 0.000673333 0.00068 +0.000686667 0.000666667 0.000673333 0.00068 0.00068 0.000686667 0.000646667 0.00064 +0.000713333 0.000686667 0.000646667 0.000666667 0.00066 0.00066 0.000673333 0.00068 +0.000666667 0.000653333 0.000653333 0.00066 0.000686667 0.00068 0.000666667 0.00066 +0.000646667 0.000653333 0.000653333 0.000686667 0.000653333 0.00066 0.000666667 0.00064 +0.000626667 0.000626667 0.000633333 0.00064 0.000653333 0.00068 0.00066 0.00066 +0.00064 0.00062 0.000626667 0.000653333 0.000633333 0.000613333 0.000606667 0.000593333 +0.000653333 0.00064 0.000666667 0.00068 0.000686667 0.000673333 0.000673333 0.00066 +0.00068 0.000673333 0.00068 0.0007 0.000706667 0.000713333 0.000693333 0.000706667 +0.000693333 0.000693333 0.0007 0.000693333 0.00068 0.000706667 0.000726667 0.00074 +0.000753333 0.000773333 0.00088 0.257653 0.30688 0.274693 0.000973333 0.000793333 +0.000766667 0.0008 0.000786667 0.000753333 0.000746667 0.00072 0.000713333 0.000746667 +0.000786667 0.000846667 0.000993333 0.2728 0.274693 0.217893 0.000826667 0.000766667 +0.000766667 0.00078 0.00076 0.000746667 0.000766667 0.00074 0.000726667 0.000733333 +0.000706667 0.00072 0.000746667 0.000713333 0.000713333 0.000733333 0.000773333 0.00074 +0.000733333 0.000746667 0.0007 0.0007 0.000726667 0.000733333 0.000733333 0.000726667 +0.00072 0.000726667 0.00074 0.000726667 0.000726667 0.00072 0.00074 0.000766667 +0.00076 0.00076 0.00076 0.000773333 0.000793333 0.00078 0.00078 0.00078 +0.000773333 0.000793333 0.000793333 0.000786667 0.00078 0.000766667 0.000753333 0.000773333 +0.000793333 0.000766667 0.00076 0.000766667 0.000766667 0.00076 0.000746667 0.000773333 +0.000773333 0.000773333 0.00076 0.000733333 0.000713333 0.00074 0.00076 0.00076 +0.000766667 0.000753333 0.00074 0.00076 0.00074 0.000746667 0.00078 0.000786667 +0.000753333 0.000746667 0.000766667 0.000766667 0.000766667 0.000753333 0.000746667 0.000753333 +0.00076 0.000786667 0.000793333 0.000786667 0.00078 0.00078 0.0008 0.000806667 +0.000773333 0.000793333 0.000766667 0.000753333 0.000773333 0.00078 0.000773333 0.000793333 +0.0008 0.00078 0.000786667 0.000833333 0.000833333 0.0008 0.000826667 0.00084 +0.000813333 0.00082 0.000826667 0.00084 0.000866667 0.000873333 0.000866667 0.00086 +0.000906667 0.00094 0.000926667 0.00094 0.000953333 0.000953333 0.00098 0.000953333 +0.00098 0.223573 0.217893 0.00098 0.000993333 0.219787 0.00098 0.000986667 +0.22168 0.236827 0.246293 0.25008 0.259547 0.2728 0.280373 0.276587 +0.286053 0.3012 0.310667 0.31256 0.31824 0.314453 0.291733 0.31256 +0.339067 0.33528 0.33528 0.337173 0.339067 0.344747 0.342853 0.344747 +0.361787 0.37504 0.371253 0.365573 0.38072 0.399653 0.405333 0.393973 +0.382613 0.39776 0.39776 0.382613 0.399653 0.393973 0.382613 0.39776 +0.405333 0.407227 0.40344 0.388293 0.38072 0.37504 0.376933 0.384507 +0.39208 0.378827 0.36368 0.36368 0.36368 0.367467 0.35232 0.325813 +0.314453 0.30688 0.28416 0.269013 0.257653 0.251973 0.225467 0.00098 +0.000946667 0.0009 0.000853333 0.000806667 0.000793333 0.0008 0.000746667 0.0007 +0.0007 0.00068 0.000666667 0.000666667 0.00068 0.000693333 0.000693333 0.00068 +0.00066 0.000653333 0.000653333 0.000666667 0.000693333 0.000706667 0.000666667 0.00068 +0.000726667 0.000753333 0.00078 0.000893333 0.216 0.229253 0.234933 0.23872 +0.246293 0.2444 0.219787 0.000913333 0.000786667 0.000693333 0.00064 0.00064 +0.000653333 0.000633333 0.000613333 0.00062 0.000633333 0.000653333 0.000633333 0.0006 +0.00062 0.000653333 0.000633333 0.00064 0.000646667 0.000666667 0.000633333 0.000613333 +0.000633333 0.000633333 0.000633333 0.000626667 0.000646667 0.000653333 0.00064 0.000633333 +0.000653333 0.000666667 0.000686667 0.000666667 0.000633333 0.000633333 0.000686667 0.0007 +0.000686667 0.00068 0.000666667 0.000686667 0.00068 0.000646667 0.000666667 0.00068 +0.000693333 0.000693333 0.00068 0.00068 0.000673333 0.000693333 0.00068 0.000673333 +0.000686667 0.0007 0.000693333 0.00068 0.000686667 0.0007 0.000706667 0.00068 +0.000666667 0.000706667 0.00074 0.000733333 0.000726667 0.0007 0.00068 0.000713333 +0.000706667 0.000706667 0.000706667 0.000706667 0.000706667 0.00072 0.00072 0.00072 +0.00072 0.000726667 0.000713333 0.000693333 0.000706667 0.00072 0.0007 0.000693333 +0.000706667 0.00074 0.000753333 0.000753333 0.0007 0.00068 0.0007 0.000746667 +0.000746667 0.000733333 0.000706667 0.000686667 0.0007 0.000726667 0.000733333 0.000713333 +0.000706667 0.00072 0.000746667 0.00076 0.000706667 0.00072 0.00074 0.000726667 +0.000733333 0.000766667 0.000766667 0.00072 0.000726667 0.000733333 0.000706667 0.00068 +0.00066 0.00068 0.000713333 0.00072 0.0007 0.0007 0.000693333 0.000686667 +0.000713333 0.0007 0.00072 0.000726667 0.000713333 0.000693333 0.000706667 0.000693333 +0.00072 0.000733333 0.000726667 0.000726667 0.000713333 0.000693333 0.00068 0.000686667 +0.000686667 0.000686667 0.00068 0.00068 0.000666667 0.000693333 0.000706667 0.00068 +0.00068 0.0007 0.000713333 0.000693333 0.000673333 0.000686667 0.000706667 0.000713333 +0.00074 0.000713333 0.000673333 0.000673333 0.00068 0.0007 0.000673333 0.000666667 +0.000666667 0.000666667 0.000666667 0.0007 0.000706667 0.0007 0.000686667 0.000673333 +0.000673333 0.000666667 0.000673333 0.000686667 0.00068 0.000673333 0.000653333 0.000673333 +0.000686667 0.000706667 0.000693333 0.000673333 0.000673333 0.000666667 0.000653333 0.00064 +0.000653333 0.00064 0.000666667 0.00068 0.0007 0.0007 0.000633333 0.000613333 +0.000673333 0.000666667 0.000646667 0.000666667 0.000666667 0.000666667 0.000673333 0.00066 +0.000633333 0.000633333 0.000633333 0.00064 0.000673333 0.00068 0.000673333 0.000633333 +0.000633333 0.000626667 0.00062 0.000646667 0.00062 0.00064 0.000666667 0.000653333 +0.00062 0.000606667 0.000606667 0.000606667 0.000633333 0.000646667 0.000646667 0.00066 +0.00064 0.000646667 0.00064 0.000646667 0.0006 0.000606667 0.000586667 0.00062 +0.00064 0.000626667 0.000633333 0.000653333 0.000686667 0.000686667 0.000666667 0.000666667 +0.0007 0.000693333 0.000673333 0.0007 0.000713333 0.000706667 0.00072 0.000713333 +0.000693333 0.0007 0.000733333 0.000746667 0.000733333 0.0007 0.000693333 0.000733333 +0.000753333 0.000873333 0.259547 0.320133 0.29552 0.000993333 0.000806667 0.00076 +0.000766667 0.000786667 0.000793333 0.000793333 0.000773333 0.000746667 0.00072 0.00072 +0.000753333 0.0008 0.000926667 0.257653 0.286053 0.246293 0.000913333 0.0008 +0.00078 0.000766667 0.000753333 0.00076 0.000773333 0.00076 0.000733333 0.000746667 +0.000753333 0.000726667 0.000706667 0.000733333 0.00074 0.000733333 0.000746667 0.000746667 +0.000726667 0.00074 0.000746667 0.000726667 0.000713333 0.000733333 0.000753333 0.00076 +0.000746667 0.000733333 0.000726667 0.000746667 0.00078 0.000766667 0.00072 0.00076 +0.000786667 0.000793333 0.0008 0.000786667 0.000826667 0.000826667 0.000806667 0.000806667 +0.000806667 0.000773333 0.000773333 0.000806667 0.000793333 0.000786667 0.000766667 0.000773333 +0.000806667 0.0008 0.00078 0.000766667 0.000786667 0.00078 0.000753333 0.000786667 +0.000806667 0.000793333 0.000786667 0.000753333 0.000746667 0.00076 0.00076 0.000766667 +0.000793333 0.00078 0.000746667 0.000773333 0.000766667 0.00076 0.0008 0.00084 +0.0008 0.00076 0.00078 0.00082 0.00082 0.000793333 0.00082 0.000806667 +0.000806667 0.000846667 0.000873333 0.000846667 0.000813333 0.000833333 0.000846667 0.00086 +0.00084 0.0009 0.000913333 0.000893333 0.000893333 0.00092 0.000933333 0.00094 +0.000926667 0.000926667 0.00094 0.000986667 0.219787 0.000993333 0.225467 0.231147 +0.23304 0.242507 0.240613 0.246293 0.265227 0.269013 0.2728 0.280373 +0.287947 0.297413 0.299307 0.303093 0.304987 0.304987 0.310667 0.304987 +0.316347 0.322027 0.31824 0.308773 0.308773 0.316347 0.308773 0.304987 +0.31824 0.331493 0.337173 0.339067 0.34664 0.361787 0.36368 0.350427 +0.344747 0.350427 0.356107 0.344747 0.35232 0.35232 0.322027 0.34664 +0.376933 0.36936 0.367467 0.358 0.344747 0.354213 0.358 0.350427 +0.348533 0.356107 0.348533 0.34664 0.356107 0.358 0.36368 0.36936 +0.359893 0.371253 0.37504 0.36936 0.376933 0.367467 0.365573 0.382613 +0.382613 0.378827 0.378827 0.373147 0.361787 0.356107 0.365573 0.36936 +0.373147 0.361787 0.34664 0.354213 0.365573 0.373147 0.361787 0.34664 +0.35232 0.365573 0.35232 0.344747 0.350427 0.337173 0.31824 0.31256 +0.303093 0.286053 0.265227 0.236827 0.216 0.000926667 0.00082 0.00076 +0.000733333 0.00068 0.00066 0.000673333 0.00068 0.000693333 0.000693333 0.00068 +0.00066 0.000646667 0.000653333 0.000673333 0.0007 0.0007 0.000713333 0.000766667 +0.000846667 0.000913333 0.219787 0.242507 0.25576 0.257653 0.253867 0.25008 +0.246293 0.263333 0.269013 0.265227 0.242507 0.000913333 0.000706667 0.000633333 +0.000633333 0.00062 0.0006 0.000633333 0.000646667 0.000646667 0.000613333 0.000586667 +0.000626667 0.000646667 0.00064 0.000646667 0.000613333 0.000606667 0.000613333 0.000626667 +0.000633333 0.000593333 0.000613333 0.000646667 0.00068 0.000666667 0.00064 0.000633333 +0.000673333 0.000686667 0.000673333 0.000633333 0.000613333 0.000646667 0.000686667 0.000666667 +0.000646667 0.000666667 0.000673333 0.000686667 0.00068 0.000653333 0.000666667 0.000686667 +0.000706667 0.000673333 0.000666667 0.000673333 0.00068 0.000666667 0.000673333 0.000673333 +0.000686667 0.000686667 0.000693333 0.000706667 0.000713333 0.000713333 0.00072 0.0007 +0.0007 0.000726667 0.00074 0.000706667 0.0007 0.000713333 0.0007 0.00072 +0.00072 0.000713333 0.000706667 0.000713333 0.00072 0.000713333 0.000706667 0.00072 +0.000706667 0.000706667 0.000713333 0.000733333 0.000733333 0.000706667 0.0007 0.000713333 +0.000733333 0.000753333 0.00072 0.000693333 0.00068 0.00072 0.000746667 0.000753333 +0.000733333 0.00072 0.000713333 0.000713333 0.000746667 0.000753333 0.000726667 0.000706667 +0.000726667 0.000753333 0.000766667 0.000746667 0.0007 0.000686667 0.0007 0.00074 +0.00074 0.00072 0.00076 0.000746667 0.000713333 0.000713333 0.000726667 0.000713333 +0.0007 0.00068 0.000686667 0.000726667 0.00072 0.000713333 0.00072 0.000713333 +0.000686667 0.000693333 0.000693333 0.000693333 0.000713333 0.000693333 0.0007 0.0007 +0.000706667 0.000706667 0.00072 0.000726667 0.000726667 0.00072 0.000706667 0.00068 +0.00068 0.0007 0.000686667 0.000693333 0.000673333 0.000666667 0.000673333 0.000673333 +0.000686667 0.0007 0.000693333 0.000693333 0.000686667 0.000653333 0.000666667 0.0007 +0.00074 0.000766667 0.00072 0.000686667 0.00068 0.000693333 0.000686667 0.000673333 +0.00068 0.000673333 0.000673333 0.000673333 0.000686667 0.00068 0.000673333 0.00066 +0.000653333 0.00066 0.000666667 0.0007 0.0007 0.000666667 0.000633333 0.00064 +0.00068 0.00068 0.000666667 0.00068 0.000686667 0.000673333 0.000666667 0.00066 +0.000646667 0.000633333 0.00064 0.00064 0.00066 0.0007 0.000673333 0.000666667 +0.00066 0.000626667 0.00062 0.000646667 0.000686667 0.000693333 0.00068 0.000666667 +0.00064 0.000633333 0.00064 0.00064 0.000646667 0.000646667 0.000646667 0.00064 +0.000626667 0.000606667 0.00062 0.0006 0.0006 0.000626667 0.000633333 0.00062 +0.00064 0.000626667 0.00062 0.000606667 0.000593333 0.0006 0.000606667 0.000626667 +0.000633333 0.00066 0.000646667 0.00062 0.00058 0.0006 0.000606667 0.000653333 +0.000633333 0.00062 0.00062 0.000626667 0.00064 0.000646667 0.000653333 0.000673333 +0.0007 0.000686667 0.000686667 0.000693333 0.000693333 0.000693333 0.00072 0.000713333 +0.00072 0.000733333 0.000726667 0.000733333 0.00074 0.000726667 0.000726667 0.000726667 +0.0008 0.229253 0.314453 0.314453 0.231147 0.000833333 0.00078 0.000806667 +0.0008 0.0008 0.0008 0.000813333 0.000813333 0.000786667 0.000746667 0.000746667 +0.00076 0.000766667 0.000866667 0.234933 0.276587 0.27848 0.23304 0.000886667 +0.000806667 0.000786667 0.00078 0.00076 0.000766667 0.000753333 0.000726667 0.000766667 +0.000786667 0.00076 0.00074 0.000766667 0.000773333 0.000773333 0.000753333 0.000746667 +0.000733333 0.00074 0.000766667 0.00074 0.00074 0.000766667 0.00078 0.000793333 +0.000806667 0.000793333 0.000766667 0.000786667 0.000826667 0.000833333 0.000786667 0.000806667 +0.000853333 0.00088 0.00086 0.00082 0.00082 0.00086 0.00086 0.000833333 +0.00084 0.000833333 0.000833333 0.000866667 0.00086 0.00084 0.00084 0.00084 +0.000873333 0.000873333 0.00084 0.00084 0.00086 0.00084 0.000826667 0.00084 +0.000873333 0.000886667 0.000886667 0.000873333 0.000866667 0.00088 0.000866667 0.00086 +0.00086 0.000866667 0.00086 0.000886667 0.00088 0.00086 0.000886667 0.00094 +0.00094 0.000893333 0.00092 0.000973333 0.216 0.000973333 0.216 0.223573 +0.229253 0.236827 0.246293 0.2444 0.2444 0.253867 0.25576 0.26712 +0.26144 0.28416 0.29552 0.286053 0.282267 0.28984 0.29552 0.303093 +0.299307 0.3012 0.303093 0.310667 0.316347 0.314453 0.31824 0.32392 +0.32392 0.3296 0.3296 0.331493 0.350427 0.354213 0.358 0.36368 +0.359893 0.354213 0.348533 0.35232 0.342853 0.33528 0.337173 0.327707 +0.333387 0.33528 0.331493 0.322027 0.308773 0.308773 0.31256 0.30688 +0.314453 0.333387 0.333387 0.327707 0.333387 0.34664 0.34096 0.331493 +0.327707 0.327707 0.33528 0.325813 0.327707 0.327707 0.314453 0.337173 +0.34096 0.316347 0.31824 0.32392 0.31824 0.314453 0.31256 0.308773 +0.304987 0.304987 0.3012 0.303093 0.291733 0.27848 0.291733 0.304987 +0.30688 0.316347 0.320133 0.32392 0.327707 0.327707 0.33528 0.333387 +0.31824 0.310667 0.320133 0.3296 0.32392 0.31824 0.32392 0.327707 +0.327707 0.320133 0.314453 0.304987 0.303093 0.310667 0.31256 0.30688 +0.31256 0.325813 0.325813 0.33528 0.34664 0.339067 0.342853 0.36368 +0.365573 0.359893 0.35232 0.333387 0.316347 0.287947 0.25576 0.225467 +0.000913333 0.000826667 0.000753333 0.00072 0.0007 0.000686667 0.000686667 0.000673333 +0.00066 0.000646667 0.000666667 0.000726667 0.000733333 0.00076 0.000866667 0.000946667 +0.223573 0.2444 0.253867 0.236827 0.000966667 0.000913333 0.000893333 0.000833333 +0.0008 0.000873333 0.000946667 0.229253 0.265227 0.257653 0.00092 0.000713333 +0.00064 0.000626667 0.00062 0.00066 0.000653333 0.00064 0.000633333 0.0006 +0.00062 0.00066 0.000653333 0.000613333 0.000586667 0.0006 0.000653333 0.000633333 +0.000586667 0.000586667 0.000646667 0.00068 0.000673333 0.000646667 0.000646667 0.000653333 +0.000653333 0.000626667 0.000613333 0.00064 0.000646667 0.00066 0.00066 0.000653333 +0.000673333 0.000666667 0.000646667 0.000666667 0.000693333 0.000673333 0.00068 0.000706667 +0.00068 0.00066 0.000693333 0.000693333 0.000686667 0.000693333 0.000706667 0.000686667 +0.000686667 0.000706667 0.000713333 0.00072 0.000693333 0.0007 0.000726667 0.000726667 +0.000733333 0.000733333 0.000733333 0.000713333 0.00072 0.00072 0.0007 0.000726667 +0.000726667 0.000713333 0.000706667 0.0007 0.0007 0.000706667 0.0007 0.000706667 +0.000706667 0.000713333 0.000733333 0.00074 0.000713333 0.0007 0.00072 0.000746667 +0.000733333 0.00072 0.000706667 0.00072 0.000746667 0.00076 0.00074 0.000726667 +0.000713333 0.000733333 0.000746667 0.000726667 0.000726667 0.000726667 0.00072 0.00072 +0.000746667 0.00076 0.00074 0.0007 0.000733333 0.000706667 0.00068 0.0007 +0.000746667 0.000733333 0.000726667 0.00074 0.00076 0.00074 0.000713333 0.000693333 +0.00072 0.00074 0.000706667 0.000693333 0.000713333 0.000726667 0.000726667 0.000733333 +0.00072 0.00072 0.000706667 0.00068 0.00068 0.00068 0.000693333 0.000686667 +0.000686667 0.000673333 0.000686667 0.0007 0.0007 0.0007 0.00072 0.000706667 +0.000686667 0.0007 0.0007 0.000706667 0.0007 0.000686667 0.000673333 0.000673333 +0.000666667 0.000686667 0.0007 0.000706667 0.000713333 0.0007 0.000666667 0.000633333 +0.00066 0.0007 0.000713333 0.000693333 0.000673333 0.000686667 0.0007 0.000706667 +0.000693333 0.00068 0.000693333 0.000693333 0.000686667 0.000666667 0.00066 0.000653333 +0.000673333 0.000666667 0.000633333 0.00064 0.000673333 0.000686667 0.00066 0.000653333 +0.000666667 0.00068 0.000673333 0.000673333 0.000673333 0.000673333 0.00068 0.00068 +0.00068 0.000673333 0.000653333 0.000653333 0.00064 0.000653333 0.00066 0.00068 +0.000666667 0.000633333 0.00062 0.000626667 0.000653333 0.000666667 0.000686667 0.000686667 +0.000653333 0.000653333 0.000653333 0.000646667 0.00066 0.000666667 0.000633333 0.000633333 +0.000626667 0.000606667 0.000613333 0.000606667 0.000593333 0.0006 0.000606667 0.0006 +0.000613333 0.00062 0.000633333 0.000626667 0.000606667 0.0006 0.000586667 0.000586667 +0.0006 0.000633333 0.000633333 0.000586667 0.00058 0.000573333 0.0006 0.000666667 +0.000646667 0.000626667 0.000626667 0.00062 0.000613333 0.000626667 0.000633333 0.000653333 +0.00066 0.000666667 0.000693333 0.00068 0.000653333 0.00068 0.000706667 0.0007 +0.000713333 0.00074 0.000733333 0.000726667 0.000726667 0.000746667 0.000766667 0.000793333 +0.00098 0.291733 0.30688 0.2444 0.000873333 0.00078 0.000773333 0.000793333 +0.000806667 0.000826667 0.000813333 0.000786667 0.0008 0.000806667 0.000786667 0.000773333 +0.000773333 0.0008 0.000853333 0.000966667 0.259547 0.29552 0.2728 0.229253 +0.000913333 0.00086 0.000846667 0.000793333 0.00078 0.000793333 0.000786667 0.00078 +0.000786667 0.000793333 0.000793333 0.00082 0.000833333 0.00084 0.000833333 0.000846667 +0.000833333 0.000833333 0.000873333 0.000893333 0.000893333 0.000893333 0.000926667 0.000946667 +0.000973333 0.000986667 0.217893 0.225467 0.223573 0.22168 0.223573 0.229253 +0.234933 0.2444 0.242507 0.229253 0.225467 0.236827 0.242507 0.23304 +0.23872 0.248187 0.2444 0.248187 0.251973 0.25008 0.25008 0.246293 +0.257653 0.259547 0.251973 0.248187 0.257653 0.259547 0.259547 0.259547 +0.269013 0.276587 0.280373 0.276587 0.269013 0.270907 0.276587 0.27848 +0.274693 0.280373 0.274693 0.27848 0.287947 0.286053 0.28416 0.29552 +0.299307 0.297413 0.310667 0.316347 0.320133 0.316347 0.31824 0.32392 +0.331493 0.327707 0.325813 0.327707 0.333387 0.337173 0.342853 0.348533 +0.331493 0.342853 0.339067 0.322027 0.314453 0.310667 0.308773 0.327707 +0.325813 0.322027 0.325813 0.3296 0.3296 0.31824 0.304987 0.310667 +0.304987 0.299307 0.316347 0.322027 0.333387 0.34664 0.344747 0.337173 +0.339067 0.33528 0.322027 0.32392 0.30688 0.293627 0.287947 0.27848 +0.28416 0.297413 0.3012 0.299307 0.286053 0.282267 0.286053 0.282267 +0.291733 0.31256 0.30688 0.297413 0.291733 0.282267 0.270907 0.27848 +0.287947 0.282267 0.287947 0.28984 0.282267 0.276587 0.276587 0.291733 +0.27848 0.242507 0.251973 0.269013 0.269013 0.269013 0.270907 0.26712 +0.270907 0.27848 0.286053 0.287947 0.276587 0.287947 0.304987 0.314453 +0.337173 0.361787 0.373147 0.399653 0.422373 0.446987 0.47728 0.484853 +0.49432 0.496213 0.502526 0.506947 0.504421 0.505053 0.509474 0.512 +0.508842 0.503158 0.496213 0.479173 0.4716 0.464027 0.445093 0.416693 +0.393973 0.376933 0.367467 0.35232 0.3296 0.314453 0.31824 0.32392 +0.320133 0.33528 0.333387 0.327707 0.344747 0.35232 0.354213 0.33528 +0.303093 0.276587 0.2444 0.000973333 0.00086 0.000806667 0.000773333 0.000746667 +0.00072 0.000726667 0.000786667 0.000866667 0.0009 0.000986667 0.246293 0.251973 +0.248187 0.236827 0.00098 0.00084 0.000726667 0.0007 0.000693333 0.000673333 +0.000673333 0.0007 0.000713333 0.000773333 0.00094 0.257653 0.259547 0.000913333 +0.000733333 0.000666667 0.000646667 0.000666667 0.000653333 0.000646667 0.000646667 0.000626667 +0.000633333 0.000653333 0.000626667 0.00062 0.000626667 0.00064 0.000653333 0.000613333 +0.000593333 0.000633333 0.0007 0.000686667 0.000653333 0.00066 0.000653333 0.00064 +0.00062 0.000613333 0.00066 0.000686667 0.000653333 0.000666667 0.000653333 0.00068 +0.000686667 0.00068 0.00068 0.00068 0.000706667 0.000686667 0.000706667 0.0007 +0.00068 0.000686667 0.000693333 0.00068 0.00068 0.0007 0.000706667 0.000673333 +0.00068 0.000706667 0.0007 0.000706667 0.000686667 0.00072 0.00074 0.000733333 +0.000726667 0.000726667 0.00074 0.000726667 0.000733333 0.000706667 0.0007 0.000726667 +0.000726667 0.000726667 0.000706667 0.000693333 0.00072 0.00072 0.000726667 0.000726667 +0.000726667 0.000733333 0.000726667 0.000713333 0.000706667 0.000706667 0.000706667 0.00072 +0.000713333 0.000726667 0.000746667 0.000753333 0.000733333 0.000706667 0.0007 0.00072 +0.000713333 0.00076 0.000753333 0.0007 0.000693333 0.000726667 0.000713333 0.000706667 +0.00074 0.000726667 0.0007 0.000713333 0.000746667 0.00074 0.000706667 0.00068 +0.000693333 0.000706667 0.000693333 0.000693333 0.00074 0.000746667 0.00074 0.00074 +0.00074 0.000753333 0.000746667 0.00072 0.000713333 0.000713333 0.000713333 0.000713333 +0.00072 0.000726667 0.000726667 0.000726667 0.0007 0.000693333 0.00072 0.000713333 +0.00068 0.000666667 0.00066 0.000666667 0.000666667 0.000666667 0.000693333 0.000706667 +0.0007 0.000673333 0.000673333 0.00068 0.000686667 0.0007 0.000713333 0.000713333 +0.00068 0.000673333 0.000686667 0.0007 0.000693333 0.0007 0.0007 0.000666667 +0.000653333 0.00066 0.000686667 0.000693333 0.000686667 0.000706667 0.000706667 0.000693333 +0.000706667 0.000686667 0.00068 0.0007 0.000706667 0.000686667 0.000686667 0.000686667 +0.000706667 0.00068 0.000653333 0.00064 0.000653333 0.000666667 0.00066 0.000653333 +0.000666667 0.00066 0.00066 0.00066 0.000673333 0.00068 0.000653333 0.000653333 +0.000673333 0.00068 0.000673333 0.000686667 0.00068 0.000646667 0.000626667 0.000666667 +0.00068 0.000666667 0.00066 0.00066 0.000633333 0.000606667 0.00066 0.000673333 +0.00066 0.00066 0.00066 0.000646667 0.000646667 0.00066 0.000633333 0.00062 +0.00064 0.000633333 0.000646667 0.000626667 0.000613333 0.000593333 0.000586667 0.000593333 +0.000586667 0.000586667 0.000586667 0.000593333 0.000613333 0.00062 0.000606667 0.000586667 +0.000606667 0.000606667 0.000586667 0.00056 0.000586667 0.000573333 0.0006 0.000653333 +0.00066 0.00064 0.000633333 0.000646667 0.00064 0.00066 0.000646667 0.000626667 +0.00062 0.00066 0.000693333 0.000653333 0.000633333 0.00068 0.000693333 0.000693333 +0.0007 0.000713333 0.000733333 0.00074 0.000746667 0.000753333 0.0008 0.000966667 +0.286053 0.316347 0.25576 0.000893333 0.0008 0.000786667 0.000786667 0.00078 +0.000813333 0.000826667 0.000813333 0.00078 0.00078 0.000826667 0.000846667 0.00082 +0.00078 0.00082 0.00086 0.00092 0.23304 0.27848 0.299307 0.282267 +0.25576 0.231147 0.000993333 0.000933333 0.0009 0.00094 0.000966667 0.000933333 +0.00096 0.216 0.22168 0.231147 0.246293 0.253867 0.259547 0.26712 +0.274693 0.274693 0.282267 0.293627 0.29552 0.29552 0.3012 0.316347 +0.3296 0.331493 0.331493 0.33528 0.3296 0.327707 0.331493 0.333387 +0.33528 0.34096 0.342853 0.33528 0.325813 0.333387 0.342853 0.33528 +0.339067 0.34664 0.333387 0.33528 0.333387 0.339067 0.350427 0.34096 +0.34096 0.350427 0.35232 0.344747 0.344747 0.344747 0.34664 0.34664 +0.350427 0.350427 0.361787 0.361787 0.348533 0.348533 0.365573 0.371253 +0.359893 0.34664 0.333387 0.337173 0.337173 0.331493 0.3296 0.3296 +0.3296 0.333387 0.356107 0.361787 0.348533 0.333387 0.32392 0.327707 +0.337173 0.320133 0.308773 0.316347 0.31824 0.31824 0.331493 0.333387 +0.308773 0.297413 0.280373 0.26712 0.265227 0.259547 0.257653 0.276587 +0.27848 0.282267 0.3012 0.308773 0.304987 0.297413 0.282267 0.293627 +0.297413 0.28984 0.291733 0.29552 0.303093 0.30688 0.286053 0.263333 +0.274693 0.3012 0.299307 0.3012 0.3012 0.293627 0.297413 0.304987 +0.304987 0.299307 0.29552 0.297413 0.30688 0.303093 0.286053 0.274693 +0.282267 0.2728 0.257653 0.257653 0.2444 0.223573 0.000986667 0.22168 +0.236827 0.236827 0.236827 0.23872 0.23304 0.22736 0.236827 0.259547 +0.251973 0.240613 0.263333 0.276587 0.28416 0.30688 0.327707 0.350427 +0.388293 0.43184 0.4716 0.505053 0.518316 0.534737 0.546737 0.561263 +0.582105 0.599158 0.615579 0.640842 0.659158 0.673684 0.691368 0.707158 +0.717895 0.721053 0.728 0.730526 0.728632 0.733053 0.738737 0.74 +0.734947 0.724842 0.716632 0.716 0.716632 0.706526 0.685684 0.666105 +0.647158 0.625684 0.607368 0.584 0.553684 0.529684 0.508211 0.45456 +0.40344 0.384507 0.350427 0.32392 0.33528 0.348533 0.358 0.373147 +0.37504 0.365573 0.34664 0.320133 0.28984 0.25576 0.23304 0.22168 +0.000986667 0.22168 0.23872 0.251973 0.259547 0.26712 0.259547 0.236827 +0.000973333 0.00088 0.000786667 0.000706667 0.000666667 0.000673333 0.000673333 0.000686667 +0.000693333 0.000666667 0.00066 0.000666667 0.000733333 0.000933333 0.25576 0.248187 +0.000913333 0.000746667 0.000673333 0.00068 0.000666667 0.00066 0.00066 0.00064 +0.000633333 0.00064 0.00062 0.000633333 0.000646667 0.000646667 0.000633333 0.000626667 +0.000646667 0.00066 0.00066 0.00066 0.000666667 0.00066 0.000633333 0.000626667 +0.000653333 0.000673333 0.000686667 0.000666667 0.000666667 0.000686667 0.000693333 0.0007 +0.000686667 0.0007 0.000693333 0.000686667 0.000693333 0.000693333 0.000706667 0.000693333 +0.0007 0.00068 0.00066 0.000666667 0.000686667 0.000706667 0.000713333 0.000673333 +0.00068 0.000706667 0.000713333 0.000713333 0.0007 0.000733333 0.00074 0.000713333 +0.000706667 0.000733333 0.000753333 0.000726667 0.000726667 0.000713333 0.00072 0.000726667 +0.00072 0.000713333 0.000693333 0.000706667 0.00072 0.000713333 0.000733333 0.00072 +0.0007 0.000706667 0.000713333 0.0007 0.000713333 0.000706667 0.000706667 0.000706667 +0.000713333 0.000726667 0.00074 0.000726667 0.0007 0.000673333 0.00072 0.00074 +0.000733333 0.000746667 0.000713333 0.000693333 0.00072 0.000733333 0.00072 0.000706667 +0.000713333 0.0007 0.000726667 0.00076 0.000733333 0.000753333 0.000746667 0.000746667 +0.000733333 0.000713333 0.00072 0.000706667 0.000693333 0.0007 0.000726667 0.00072 +0.000726667 0.000713333 0.000733333 0.00076 0.00074 0.000726667 0.000706667 0.0007 +0.000693333 0.00072 0.00072 0.000706667 0.000726667 0.00072 0.000706667 0.000726667 +0.0007 0.00068 0.0007 0.0007 0.000686667 0.000686667 0.00068 0.000666667 +0.000693333 0.0007 0.0007 0.00068 0.000666667 0.000673333 0.000686667 0.000686667 +0.00068 0.0007 0.0007 0.000693333 0.00068 0.000693333 0.000706667 0.0007 +0.000713333 0.00072 0.0007 0.000686667 0.00068 0.0007 0.0007 0.000686667 +0.000693333 0.000673333 0.000666667 0.000673333 0.0007 0.000713333 0.000706667 0.000686667 +0.0007 0.0007 0.0007 0.000706667 0.000686667 0.000653333 0.000633333 0.00064 +0.000666667 0.000646667 0.00064 0.000653333 0.00068 0.000666667 0.00066 0.000673333 +0.000686667 0.000673333 0.00068 0.000673333 0.000673333 0.000666667 0.000633333 0.00066 +0.000673333 0.000666667 0.000673333 0.000673333 0.00068 0.000653333 0.000653333 0.00066 +0.00064 0.000646667 0.00066 0.000666667 0.000653333 0.000646667 0.00062 0.000626667 +0.000613333 0.000626667 0.000626667 0.00062 0.000613333 0.000606667 0.000586667 0.000586667 +0.0006 0.00058 0.000573333 0.000566667 0.0006 0.0006 0.000606667 0.000606667 +0.000606667 0.000613333 0.000573333 0.000546667 0.000573333 0.000586667 0.0006 0.000633333 +0.00064 0.00064 0.000633333 0.000613333 0.000626667 0.00064 0.00066 0.000646667 +0.000626667 0.000626667 0.000646667 0.000626667 0.000633333 0.00066 0.000673333 0.000686667 +0.000686667 0.000673333 0.000686667 0.000706667 0.000706667 0.00076 0.000906667 0.269013 +0.316347 0.270907 0.000926667 0.000793333 0.000753333 0.000746667 0.000766667 0.00078 +0.000786667 0.0008 0.0008 0.00076 0.00078 0.00082 0.000846667 0.000833333 +0.000786667 0.000793333 0.000833333 0.000893333 0.00098 0.23872 0.27848 0.310667 +0.31824 0.310667 0.304987 0.3012 0.299307 0.304987 0.316347 0.314453 +0.32392 0.339067 0.344747 0.35232 0.367467 0.371253 0.367467 0.365573 +0.373147 0.378827 0.373147 0.378827 0.378827 0.37504 0.37504 0.38072 +0.38072 0.37504 0.365573 0.359893 0.361787 0.36368 0.356107 0.350427 +0.356107 0.35232 0.34664 0.348533 0.350427 0.344747 0.35232 0.350427 +0.350427 0.34664 0.339067 0.344747 0.337173 0.331493 0.348533 0.342853 +0.325813 0.342853 0.348533 0.331493 0.333387 0.333387 0.3296 0.33528 +0.337173 0.333387 0.342853 0.348533 0.33528 0.333387 0.344747 0.35232 +0.350427 0.331493 0.320133 0.327707 0.325813 0.32392 0.32392 0.316347 +0.316347 0.314453 0.325813 0.331493 0.316347 0.31824 0.316347 0.31824 +0.325813 0.308773 0.303093 0.308773 0.314453 0.310667 0.31256 0.308773 +0.297413 0.30688 0.297413 0.282267 0.291733 0.293627 0.291733 0.30688 +0.30688 0.308773 0.31256 0.303093 0.3012 0.30688 0.291733 0.28984 +0.280373 0.2728 0.25576 0.240613 0.242507 0.23872 0.219787 0.000946667 +0.216 0.2444 0.246293 0.251973 0.257653 0.253867 0.25576 0.270907 +0.2728 0.253867 0.2444 0.246293 0.25576 0.26144 0.23872 0.22736 +0.23304 0.22168 0.000966667 0.216 0.22168 0.000986667 0.000973333 0.217893 +0.234933 0.2444 0.253867 0.263333 0.270907 0.28416 0.316347 0.358 +0.384507 0.42616 0.492427 0.515789 0.534737 0.557474 0.580842 0.608632 +0.640211 0.669895 0.696421 0.722316 0.747579 0.770316 0.789263 0.810737 +0.831579 0.846737 0.864421 0.885263 0.896632 0.907368 0.92 0.934526 +0.940211 0.939579 0.945895 0.947158 0.945263 0.947789 0.950947 0.950947 +0.947789 0.942105 0.940211 0.943368 0.943368 0.933263 0.92 0.909895 +0.894737 0.877684 0.861895 0.837263 0.803158 0.769053 0.734316 0.695158 +0.656632 0.619368 0.584 0.550526 0.521474 0.490533 0.435627 0.411013 +0.39208 0.371253 0.365573 0.365573 0.361787 0.3296 0.297413 0.28416 +0.28416 0.282267 0.27848 0.26712 0.253867 0.229253 0.000933333 0.00086 +0.000826667 0.000773333 0.000706667 0.000686667 0.000693333 0.00068 0.000666667 0.00068 +0.000666667 0.000653333 0.00068 0.000706667 0.000693333 0.000753333 0.00098 0.26712 +0.240613 0.000846667 0.00072 0.000686667 0.000673333 0.000673333 0.00066 0.000646667 +0.000626667 0.00064 0.000653333 0.000626667 0.000633333 0.000646667 0.000633333 0.000646667 +0.000653333 0.00064 0.000646667 0.0007 0.00068 0.000646667 0.00064 0.00066 +0.000666667 0.000673333 0.000653333 0.000653333 0.00068 0.000693333 0.000693333 0.00068 +0.00068 0.00068 0.0007 0.000686667 0.00068 0.000706667 0.0007 0.000693333 +0.000693333 0.000673333 0.000673333 0.000693333 0.0007 0.000726667 0.00072 0.000686667 +0.000686667 0.000706667 0.00072 0.000726667 0.000713333 0.000733333 0.000733333 0.000706667 +0.00072 0.000753333 0.00074 0.000726667 0.000706667 0.000693333 0.00072 0.000706667 +0.0007 0.000686667 0.000693333 0.000713333 0.0007 0.000706667 0.0007 0.00068 +0.000686667 0.000713333 0.00072 0.000706667 0.000713333 0.00072 0.00072 0.000713333 +0.000713333 0.00072 0.00072 0.000706667 0.000693333 0.0007 0.000746667 0.00074 +0.00072 0.000733333 0.00072 0.000733333 0.000753333 0.00074 0.000706667 0.000693333 +0.000706667 0.000746667 0.000753333 0.000733333 0.000713333 0.000733333 0.000726667 0.000746667 +0.000753333 0.00072 0.000713333 0.000706667 0.000686667 0.000686667 0.000733333 0.000733333 +0.000713333 0.0007 0.000713333 0.000726667 0.000733333 0.000733333 0.00074 0.000726667 +0.000693333 0.000713333 0.000733333 0.000706667 0.000713333 0.00074 0.000713333 0.000713333 +0.0007 0.000686667 0.000693333 0.000693333 0.000686667 0.000693333 0.00072 0.000693333 +0.00068 0.000693333 0.000713333 0.000706667 0.000693333 0.000706667 0.0007 0.00068 +0.000666667 0.00068 0.000686667 0.000686667 0.000686667 0.00068 0.000693333 0.0007 +0.000706667 0.000726667 0.000706667 0.000686667 0.00068 0.000673333 0.000673333 0.000693333 +0.0007 0.00068 0.00066 0.000673333 0.000686667 0.000706667 0.0007 0.00066 +0.000673333 0.000686667 0.000666667 0.000693333 0.000686667 0.000686667 0.000666667 0.000653333 +0.000666667 0.000673333 0.00066 0.000646667 0.000646667 0.000646667 0.000646667 0.000666667 +0.00068 0.00068 0.00068 0.000666667 0.00068 0.000673333 0.000646667 0.000653333 +0.00066 0.00066 0.00066 0.00066 0.000693333 0.000686667 0.000673333 0.000653333 +0.000633333 0.000626667 0.000653333 0.000666667 0.000666667 0.000646667 0.000633333 0.000646667 +0.000626667 0.0006 0.000606667 0.0006 0.000606667 0.000593333 0.0006 0.00058 +0.000586667 0.00058 0.000553333 0.000566667 0.00058 0.00056 0.000566667 0.0006 +0.000606667 0.0006 0.000553333 0.000553333 0.000593333 0.00062 0.00062 0.000606667 +0.000606667 0.00062 0.000626667 0.00062 0.00062 0.000613333 0.000633333 0.000666667 +0.000666667 0.000646667 0.00062 0.000626667 0.00064 0.000633333 0.00064 0.000686667 +0.000693333 0.000666667 0.00066 0.000673333 0.0007 0.000853333 0.251973 0.303093 +0.269013 0.000926667 0.000773333 0.000726667 0.000693333 0.000726667 0.000753333 0.00074 +0.000706667 0.000726667 0.000766667 0.000786667 0.000793333 0.000793333 0.000806667 0.000806667 +0.000813333 0.000826667 0.00084 0.000873333 0.00094 0.217893 0.25576 0.303093 +0.337173 0.354213 0.371253 0.384507 0.393973 0.395867 0.399653 0.40344 +0.399653 0.39776 0.39776 0.39776 0.39208 0.378827 0.36936 0.359893 +0.359893 0.367467 0.36368 0.361787 0.359893 0.354213 0.35232 0.348533 +0.32392 0.316347 0.31824 0.31824 0.32392 0.320133 0.316347 0.310667 +0.310667 0.304987 0.31256 0.31824 0.310667 0.293627 0.287947 0.29552 +0.304987 0.314453 0.30688 0.30688 0.310667 0.304987 0.3012 0.303093 +0.29552 0.3012 0.287947 0.26712 0.27848 0.28984 0.287947 0.291733 +0.29552 0.29552 0.291733 0.299307 0.3012 0.286053 0.269013 0.2728 +0.286053 0.28984 0.291733 0.287947 0.287947 0.293627 0.293627 0.274693 +0.27848 0.276587 0.26712 0.263333 0.257653 0.26712 0.274693 0.274693 +0.280373 0.2728 0.269013 0.26712 0.274693 0.270907 0.26144 0.248187 +0.240613 0.274693 0.282267 0.269013 0.270907 0.282267 0.282267 0.287947 +0.28416 0.27848 0.265227 0.248187 0.242507 0.246293 0.2444 0.23304 +0.000973333 0.000953333 0.000953333 0.000933333 0.000953333 0.00094 0.0009 0.000893333 +0.000926667 0.000973333 0.000973333 0.000973333 0.000986667 0.000973333 0.00092 0.000953333 +0.00098 0.000953333 0.000973333 0.00096 0.00096 0.000993333 0.000953333 0.00094 +0.216 0.223573 0.219787 0.234933 0.257653 0.26144 0.27848 0.314453 +0.36368 0.407227 0.46024 0.509474 0.528421 0.548632 0.580842 0.612421 +0.638316 0.673053 0.712211 0.744421 0.773474 0.800632 0.827789 0.856842 +0.882105 0.903579 0.923158 0.933895 0.947158 0.959158 0.968632 0.978737 +0.981633 0.981633 0.985551 0.987837 0.985878 0.986857 0.987837 0.990449 +0.990122 0.98849 0.989143 0.988163 0.987184 0.98849 0.989143 0.988163 +0.98849 0.989143 0.990776 0.993714 0.993714 0.990776 0.990449 0.990122 +0.987837 0.988163 0.988163 0.984571 0.975579 0.962316 0.949684 0.929474 +0.899789 0.865684 0.830947 0.791789 0.741895 0.689474 0.638316 0.589684 +0.546105 0.506316 0.439413 0.39208 0.359893 0.3296 0.31256 0.293627 +0.274693 0.253867 0.22736 0.000966667 0.000906667 0.00082 0.000746667 0.000733333 +0.000766667 0.000733333 0.000693333 0.0007 0.000713333 0.000693333 0.000673333 0.000686667 +0.00068 0.000693333 0.00074 0.000753333 0.0007 0.000706667 0.000846667 0.246293 +0.26144 0.000966667 0.000786667 0.00068 0.00066 0.000666667 0.000666667 0.000646667 +0.000613333 0.000646667 0.00066 0.00062 0.000653333 0.000666667 0.00064 0.000653333 +0.000653333 0.000646667 0.000673333 0.000693333 0.00066 0.000666667 0.000666667 0.000653333 +0.000633333 0.000646667 0.000653333 0.00066 0.000666667 0.00068 0.00066 0.00066 +0.0007 0.0007 0.0007 0.00068 0.000693333 0.000706667 0.0007 0.0007 +0.000686667 0.000686667 0.000693333 0.000693333 0.000693333 0.000726667 0.00072 0.000693333 +0.000693333 0.000713333 0.000726667 0.000733333 0.000713333 0.000713333 0.000726667 0.00072 +0.000726667 0.000726667 0.000713333 0.00072 0.000706667 0.000693333 0.0007 0.0007 +0.0007 0.0007 0.000706667 0.000713333 0.000706667 0.00072 0.0007 0.000686667 +0.000706667 0.000726667 0.00072 0.00072 0.00072 0.000726667 0.000733333 0.00072 +0.000706667 0.000713333 0.000713333 0.000726667 0.00074 0.000726667 0.000746667 0.00072 +0.000713333 0.000733333 0.000733333 0.000733333 0.00072 0.000686667 0.00068 0.000706667 +0.00074 0.000753333 0.000713333 0.000706667 0.000713333 0.000706667 0.000706667 0.00072 +0.000726667 0.00074 0.000713333 0.000686667 0.000673333 0.000653333 0.000686667 0.000726667 +0.00072 0.000706667 0.000713333 0.000713333 0.000706667 0.0007 0.000706667 0.000726667 +0.000713333 0.0007 0.0007 0.0007 0.000693333 0.000713333 0.00072 0.00074 +0.000746667 0.00074 0.00072 0.000693333 0.00068 0.000686667 0.000713333 0.0007 +0.000686667 0.000673333 0.000673333 0.000666667 0.00068 0.000693333 0.000693333 0.000693333 +0.0007 0.000693333 0.00068 0.000666667 0.000686667 0.000686667 0.000666667 0.00066 +0.000666667 0.0007 0.0007 0.000706667 0.000706667 0.0007 0.000686667 0.000693333 +0.000706667 0.000706667 0.00068 0.000673333 0.000673333 0.000666667 0.00066 0.000666667 +0.000686667 0.000693333 0.00066 0.00066 0.000666667 0.000666667 0.00066 0.000673333 +0.00068 0.000653333 0.000646667 0.000633333 0.000653333 0.00066 0.00064 0.000626667 +0.00064 0.000646667 0.00066 0.00066 0.00066 0.000646667 0.000626667 0.00064 +0.000653333 0.000646667 0.00064 0.00064 0.000673333 0.000673333 0.000673333 0.000653333 +0.00064 0.00062 0.00062 0.000653333 0.000673333 0.00066 0.000626667 0.000646667 +0.000626667 0.000626667 0.000633333 0.000606667 0.0006 0.000606667 0.00062 0.0006 +0.000586667 0.000573333 0.00056 0.00056 0.000573333 0.00058 0.00056 0.000573333 +0.00058 0.000573333 0.00054 0.000546667 0.00058 0.00062 0.00066 0.000633333 +0.000606667 0.000586667 0.000593333 0.00062 0.00064 0.000633333 0.00062 0.00064 +0.000653333 0.000653333 0.000646667 0.000646667 0.00066 0.00066 0.000646667 0.000673333 +0.000693333 0.0007 0.000686667 0.000746667 0.000893333 0.25008 0.28984 0.269013 +0.000973333 0.000786667 0.000726667 0.000686667 0.000673333 0.00072 0.000746667 0.000753333 +0.000753333 0.000733333 0.000733333 0.0008 0.000893333 0.000913333 0.000913333 0.000913333 +0.000946667 0.216 0.22736 0.225467 0.234933 0.25576 0.27848 0.303093 +0.322027 0.331493 0.348533 0.361787 0.36936 0.36936 0.36368 0.36936 +0.367467 0.356107 0.348533 0.339067 0.325813 0.322027 0.320133 0.322027 +0.31256 0.30688 0.30688 0.304987 0.3012 0.29552 0.293627 0.28984 +0.265227 0.242507 0.25576 0.265227 0.270907 0.26144 0.257653 0.26144 +0.25576 0.251973 0.265227 0.26712 0.240613 0.225467 0.23304 0.23304 +0.23304 0.246293 0.2444 0.23872 0.2444 0.246293 0.236827 0.242507 +0.240613 0.23304 0.225467 0.000993333 0.217893 0.22736 0.225467 0.225467 +0.223573 0.229253 0.225467 0.223573 0.231147 0.000993333 0.000933333 0.00096 +0.00098 0.216 0.22168 0.217893 0.216 0.219787 0.225467 0.000953333 +0.000946667 0.000946667 0.00092 0.000953333 0.000953333 0.00094 0.000926667 0.000946667 +0.00098 0.00096 0.00094 0.00092 0.000946667 0.00094 0.00096 0.000933333 +0.0009 0.000966667 0.00098 0.00096 0.000933333 0.000966667 0.000973333 0.00096 +0.00096 0.00096 0.00096 0.00096 0.000926667 0.000926667 0.000953333 0.00094 +0.000866667 0.000866667 0.000886667 0.000893333 0.00092 0.000906667 0.00086 0.00088 +0.000933333 0.000953333 0.000946667 0.000926667 0.000953333 0.00096 0.000913333 0.00094 +0.00098 0.000973333 0.217893 0.219787 0.219787 0.23304 0.236827 0.257653 +0.297413 0.3296 0.365573 0.422373 0.492427 0.514526 0.541053 0.577053 +0.617474 0.656 0.693895 0.729263 0.759579 0.789263 0.825895 0.861895 +0.884 0.904842 0.925684 0.944632 0.959789 0.969895 0.978105 0.984245 +0.984571 0.985224 0.985224 0.982939 0.983592 0.984245 0.985551 0.985551 +0.982939 0.978105 0.978737 0.979368 0.972421 0.968632 0.965474 0.965474 +0.964842 0.969895 0.969263 0.964211 0.962947 0.965474 0.966105 0.964842 +0.966105 0.969895 0.976211 0.980653 0.98098 0.980327 0.977474 0.972421 +0.973684 0.980653 0.982939 0.984571 0.986531 0.988816 0.990776 0.990122 +0.988163 0.985878 0.981633 0.971158 0.952842 0.921263 0.878947 0.826526 +0.768421 0.702737 0.633895 0.570737 0.517053 0.43752 0.365573 0.31824 +0.282267 0.25008 0.00098 0.000893333 0.000813333 0.000753333 0.000713333 0.00072 +0.000726667 0.0007 0.000693333 0.000706667 0.000713333 0.00068 0.000693333 0.000706667 +0.000706667 0.000713333 0.000726667 0.000706667 0.000673333 0.000693333 0.000766667 0.00096 +0.259547 0.23304 0.000826667 0.00068 0.00064 0.000653333 0.000666667 0.000633333 +0.000606667 0.000633333 0.000646667 0.000646667 0.000666667 0.000646667 0.000626667 0.000653333 +0.000673333 0.000653333 0.00064 0.000646667 0.000666667 0.000673333 0.000633333 0.000613333 +0.000653333 0.00068 0.000686667 0.000666667 0.000666667 0.00068 0.000673333 0.000666667 +0.000693333 0.000693333 0.000693333 0.000693333 0.00072 0.000713333 0.000713333 0.000706667 +0.00068 0.00068 0.0007 0.000686667 0.00068 0.000713333 0.000706667 0.000686667 +0.0007 0.000713333 0.00072 0.000713333 0.000686667 0.000706667 0.00074 0.000726667 +0.000706667 0.000706667 0.000713333 0.00072 0.00072 0.000693333 0.000693333 0.000706667 +0.0007 0.0007 0.000686667 0.0007 0.000713333 0.000713333 0.000713333 0.000726667 +0.000713333 0.00072 0.00072 0.000726667 0.000726667 0.000726667 0.00072 0.000706667 +0.0007 0.000713333 0.000726667 0.000766667 0.00074 0.0007 0.00072 0.000706667 +0.00072 0.000733333 0.00072 0.000706667 0.000673333 0.000686667 0.00074 0.00076 +0.00074 0.000713333 0.0007 0.000733333 0.000726667 0.0007 0.000693333 0.0007 +0.0007 0.00072 0.000733333 0.000713333 0.000693333 0.00068 0.00068 0.000686667 +0.0007 0.000706667 0.000693333 0.0007 0.000726667 0.00072 0.000706667 0.000693333 +0.0007 0.000713333 0.000713333 0.000686667 0.000666667 0.000666667 0.000646667 0.000686667 +0.000693333 0.000693333 0.000713333 0.000713333 0.000706667 0.00068 0.000686667 0.00068 +0.0007 0.000706667 0.0007 0.000673333 0.000666667 0.000673333 0.00068 0.00068 +0.00068 0.000686667 0.0007 0.000666667 0.000666667 0.00068 0.00068 0.000673333 +0.00066 0.00066 0.000653333 0.000666667 0.00068 0.00072 0.000713333 0.000693333 +0.000706667 0.000726667 0.00072 0.000706667 0.000706667 0.000673333 0.00064 0.000653333 +0.000666667 0.0007 0.000693333 0.000693333 0.000673333 0.000673333 0.000653333 0.000666667 +0.00068 0.00066 0.000646667 0.00066 0.00066 0.00066 0.00066 0.00064 +0.000646667 0.000633333 0.00062 0.000633333 0.000633333 0.000646667 0.000633333 0.000646667 +0.000646667 0.000653333 0.000646667 0.00064 0.000673333 0.000666667 0.000673333 0.00064 +0.000646667 0.00064 0.00064 0.00064 0.000653333 0.000633333 0.00062 0.00062 +0.000606667 0.000613333 0.000633333 0.000626667 0.000613333 0.000613333 0.0006 0.000606667 +0.0006 0.00058 0.000593333 0.000586667 0.000566667 0.000573333 0.000566667 0.00058 +0.0006 0.00056 0.000553333 0.000586667 0.000593333 0.0006 0.000646667 0.000666667 +0.000653333 0.000633333 0.000613333 0.000606667 0.000633333 0.00066 0.000646667 0.000646667 +0.000633333 0.00064 0.00064 0.000646667 0.00066 0.000666667 0.000673333 0.000673333 +0.000666667 0.000706667 0.00078 0.000973333 0.280373 0.31256 0.263333 0.000933333 +0.000813333 0.000773333 0.000726667 0.00072 0.00074 0.00076 0.000813333 0.00084 +0.000873333 0.000906667 0.00092 0.000993333 0.246293 0.25008 0.242507 0.25576 +0.269013 0.269013 0.276587 0.28984 0.291733 0.28984 0.3012 0.308773 +0.299307 0.30688 0.327707 0.342853 0.358 0.361787 0.359893 0.36368 +0.361787 0.361787 0.361787 0.35232 0.344747 0.34664 0.342853 0.342853 +0.3296 0.316347 0.31824 0.320133 0.316347 0.314453 0.304987 0.299307 +0.286053 0.263333 0.265227 0.263333 0.257653 0.25576 0.2444 0.236827 +0.236827 0.23872 0.236827 0.240613 0.22168 0.00098 0.219787 0.219787 +0.000973333 0.000953333 0.000966667 0.00096 0.000946667 0.00094 0.000926667 0.00098 +0.000986667 0.000953333 0.00096 0.00094 0.00092 0.000913333 0.000893333 0.000906667 +0.0009 0.000913333 0.000913333 0.000893333 0.000893333 0.000866667 0.000866667 0.000893333 +0.00088 0.00086 0.000866667 0.000873333 0.000853333 0.00088 0.000926667 0.000866667 +0.000846667 0.000846667 0.000866667 0.000913333 0.0009 0.000873333 0.00084 0.000866667 +0.000906667 0.0009 0.000906667 0.00088 0.000906667 0.000893333 0.0009 0.000926667 +0.000893333 0.000913333 0.000926667 0.000913333 0.000866667 0.00088 0.000886667 0.000893333 +0.000886667 0.0009 0.00092 0.000926667 0.00092 0.000906667 0.000926667 0.00092 +0.000873333 0.000893333 0.0009 0.00092 0.000926667 0.000933333 0.00092 0.000906667 +0.00096 0.00098 0.00098 0.000986667 0.219787 0.223573 0.22736 0.23872 +0.253867 0.269013 0.29552 0.327707 0.356107 0.405333 0.464027 0.516421 +0.551158 0.585263 0.621895 0.663579 0.705895 0.741895 0.777895 0.820211 +0.861263 0.892211 0.921263 0.937684 0.948421 0.961053 0.974316 0.982286 +0.982286 0.981959 0.98 0.977474 0.979368 0.981306 0.981633 0.983265 +0.977474 0.967368 0.960421 0.955368 0.954737 0.954737 0.959158 0.958526 +0.954737 0.948421 0.947158 0.946526 0.944 0.941474 0.940842 0.939579 +0.943368 0.950316 0.945895 0.941474 0.940211 0.942737 0.944632 0.945263 +0.944632 0.949053 0.954105 0.954105 0.950947 0.951579 0.948421 0.946526 +0.947789 0.950316 0.950316 0.956632 0.967368 0.978105 0.983265 0.984898 +0.985878 0.985878 0.987184 0.989796 0.992408 0.991755 0.987837 0.981306 +0.959158 0.921263 0.868211 0.799368 0.720421 0.642737 0.568842 0.510105 +0.412907 0.33528 0.27848 0.246293 0.216 0.00094 0.000853333 0.00078 +0.000726667 0.0007 0.00072 0.000713333 0.000693333 0.0007 0.000713333 0.0007 +0.0007 0.00068 0.000673333 0.000673333 0.000666667 0.0007 0.00072 0.00084 +0.25008 0.251973 0.00086 0.000686667 0.00066 0.00068 0.000666667 0.00064 +0.000646667 0.000653333 0.000673333 0.000673333 0.000626667 0.000653333 0.00066 0.000686667 +0.000673333 0.000646667 0.000633333 0.00066 0.000673333 0.000653333 0.000626667 0.000646667 +0.000686667 0.000693333 0.000686667 0.000666667 0.000673333 0.000693333 0.0007 0.00068 +0.000673333 0.000686667 0.00072 0.000733333 0.0007 0.000686667 0.0007 0.000673333 +0.000653333 0.000673333 0.000686667 0.000673333 0.000686667 0.000713333 0.000706667 0.000706667 +0.000706667 0.000706667 0.00072 0.0007 0.000666667 0.0007 0.000733333 0.000706667 +0.00068 0.000713333 0.00072 0.000713333 0.00072 0.000706667 0.00072 0.000713333 +0.0007 0.000706667 0.000693333 0.000713333 0.00072 0.00072 0.00072 0.000706667 +0.000693333 0.00072 0.00074 0.000733333 0.000706667 0.000706667 0.000693333 0.000686667 +0.00072 0.00072 0.000713333 0.000726667 0.0007 0.0007 0.00072 0.000713333 +0.000726667 0.000713333 0.0007 0.0007 0.000713333 0.000746667 0.000753333 0.00074 +0.000726667 0.000706667 0.000726667 0.00076 0.000713333 0.00072 0.000713333 0.0007 +0.000686667 0.000706667 0.00072 0.000733333 0.000713333 0.000713333 0.000726667 0.000693333 +0.000686667 0.000693333 0.000693333 0.000686667 0.000706667 0.0007 0.000686667 0.000693333 +0.000693333 0.000713333 0.000733333 0.000726667 0.0007 0.000693333 0.000666667 0.00068 +0.000673333 0.000673333 0.000706667 0.00072 0.00072 0.000693333 0.000666667 0.000666667 +0.000686667 0.000693333 0.000693333 0.000686667 0.000693333 0.000673333 0.000673333 0.00068 +0.00068 0.00068 0.000686667 0.00068 0.000673333 0.00066 0.000666667 0.000666667 +0.000666667 0.000666667 0.00064 0.000613333 0.000633333 0.000666667 0.00068 0.00068 +0.000686667 0.000686667 0.000693333 0.000706667 0.000713333 0.000713333 0.000673333 0.00066 +0.000653333 0.000673333 0.000673333 0.0007 0.000686667 0.000666667 0.000653333 0.00066 +0.00068 0.000673333 0.000673333 0.000673333 0.000673333 0.000666667 0.00066 0.000653333 +0.00068 0.00066 0.000606667 0.000606667 0.000633333 0.00064 0.00062 0.000646667 +0.00066 0.00066 0.00064 0.000646667 0.000673333 0.000666667 0.000646667 0.000633333 +0.000633333 0.000646667 0.000666667 0.00068 0.00066 0.00064 0.000626667 0.00062 +0.00062 0.000606667 0.000613333 0.000606667 0.000613333 0.000626667 0.0006 0.000586667 +0.00058 0.000586667 0.000606667 0.0006 0.000573333 0.00056 0.000553333 0.00056 +0.00056 0.000546667 0.00056 0.0006 0.000626667 0.000646667 0.000653333 0.00064 +0.00064 0.00064 0.000653333 0.00064 0.000626667 0.00066 0.00068 0.00066 +0.00064 0.000633333 0.00062 0.000626667 0.00066 0.000666667 0.000686667 0.000706667 +0.000733333 0.000853333 0.229253 0.280373 0.299307 0.259547 0.000926667 0.000793333 +0.00078 0.00084 0.000886667 0.000913333 0.000953333 0.000973333 0.223573 0.240613 +0.251973 0.26712 0.276587 0.287947 0.3012 0.297413 0.299307 0.33528 +0.38072 0.4148 0.44888 0.484853 0.504421 0.511368 0.519579 0.530947 +0.537263 0.546105 0.557474 0.570105 0.580211 0.589053 0.596632 0.59979 +0.597895 0.59979 0.603579 0.603579 0.597263 0.594105 0.590947 0.584 +0.577684 0.573263 0.570737 0.565053 0.559368 0.553053 0.544842 0.534737 +0.527789 0.519579 0.512632 0.500632 0.46592 0.44888 0.42616 0.388293 +0.365573 0.359893 0.34664 0.327707 0.304987 0.274693 0.253867 0.25008 +0.248187 0.240613 0.231147 0.22168 0.216 0.00098 0.000953333 0.000986667 +0.217893 0.00098 0.000986667 0.00096 0.00092 0.000926667 0.000913333 0.000906667 +0.000886667 0.0009 0.000913333 0.000893333 0.000886667 0.00088 0.0009 0.00092 +0.000906667 0.00086 0.000846667 0.000866667 0.000853333 0.000873333 0.000933333 0.000886667 +0.000866667 0.00086 0.00086 0.000906667 0.000893333 0.000873333 0.000873333 0.0009 +0.000906667 0.000893333 0.000933333 0.000913333 0.000933333 0.000906667 0.00088 0.00094 +0.0009 0.000906667 0.00096 0.00094 0.00088 0.000886667 0.000913333 0.00094 +0.000906667 0.000913333 0.000946667 0.00096 0.000966667 0.000973333 0.00098 0.000953333 +0.00092 0.00094 0.00096 0.000986667 0.00098 0.219787 0.219787 0.000986667 +0.223573 0.236827 0.242507 0.253867 0.270907 0.29552 0.34096 0.395867 +0.462133 0.512632 0.550526 0.585263 0.616211 0.656 0.697053 0.739368 +0.787368 0.827789 0.863158 0.896632 0.924421 0.943368 0.956632 0.971158 +0.981959 0.983592 0.985878 0.982612 0.979368 0.976211 0.974316 0.971789 +0.963579 0.956 0.949684 0.945263 0.945895 0.947158 0.949684 0.958526 +0.952211 0.943368 0.937053 0.934526 0.936421 0.938316 0.942737 0.942737 +0.940842 0.938316 0.937053 0.935789 0.933895 0.935789 0.937053 0.934526 +0.938316 0.940842 0.937684 0.938316 0.939579 0.940211 0.944 0.945263 +0.944 0.951579 0.955368 0.949053 0.942105 0.939579 0.937684 0.938947 +0.938947 0.936421 0.938947 0.944632 0.952211 0.962947 0.974316 0.978105 +0.974947 0.971158 0.969895 0.970526 0.971789 0.973684 0.981306 0.985878 +0.988163 0.987837 0.984571 0.968632 0.930737 0.873895 0.796211 0.709684 +0.624421 0.546737 0.4716 0.367467 0.303093 0.269013 0.240613 0.000973333 +0.000853333 0.000773333 0.000726667 0.000686667 0.00068 0.00072 0.000726667 0.0007 +0.000693333 0.000673333 0.000686667 0.000686667 0.0007 0.0007 0.000686667 0.000806667 +0.246293 0.269013 0.00094 0.00074 0.000693333 0.000686667 0.00068 0.000673333 +0.000666667 0.000673333 0.000666667 0.000646667 0.000626667 0.000673333 0.000693333 0.000653333 +0.000646667 0.000646667 0.000666667 0.000673333 0.000666667 0.000673333 0.000673333 0.000686667 +0.000693333 0.00068 0.000666667 0.00068 0.000673333 0.00068 0.000686667 0.000666667 +0.000666667 0.000693333 0.00072 0.0007 0.000673333 0.000673333 0.000686667 0.000686667 +0.000666667 0.000666667 0.000673333 0.00068 0.000706667 0.000726667 0.000713333 0.000713333 +0.000733333 0.000726667 0.000706667 0.000693333 0.000686667 0.00072 0.000726667 0.000706667 +0.0007 0.000713333 0.000706667 0.000706667 0.000713333 0.000713333 0.000713333 0.000686667 +0.0007 0.000673333 0.000693333 0.00072 0.00072 0.000713333 0.000686667 0.00068 +0.000693333 0.000726667 0.00072 0.000706667 0.00068 0.000686667 0.000706667 0.000706667 +0.000726667 0.0007 0.000713333 0.000726667 0.000726667 0.00074 0.00074 0.000726667 +0.00072 0.0007 0.000713333 0.000733333 0.000753333 0.000726667 0.00072 0.000726667 +0.000733333 0.000726667 0.000726667 0.000746667 0.000726667 0.000713333 0.00072 0.000706667 +0.0007 0.00072 0.000726667 0.00072 0.000706667 0.000713333 0.000726667 0.000706667 +0.000706667 0.000713333 0.000713333 0.000706667 0.000693333 0.000693333 0.0007 0.000693333 +0.000693333 0.0007 0.000713333 0.000726667 0.0007 0.000693333 0.000706667 0.000693333 +0.000666667 0.000673333 0.000693333 0.00072 0.000713333 0.0007 0.000693333 0.000686667 +0.000673333 0.00066 0.00066 0.000666667 0.00068 0.000693333 0.000693333 0.000673333 +0.000686667 0.00068 0.00068 0.000673333 0.00068 0.000686667 0.000686667 0.00068 +0.000673333 0.000673333 0.000686667 0.000673333 0.00064 0.000633333 0.000626667 0.000653333 +0.000686667 0.0007 0.000673333 0.000653333 0.00066 0.000686667 0.000693333 0.000673333 +0.000673333 0.000673333 0.00064 0.00066 0.000673333 0.000666667 0.000646667 0.00066 +0.00066 0.000653333 0.000666667 0.000666667 0.000673333 0.000686667 0.000666667 0.000653333 +0.000666667 0.000693333 0.00068 0.000653333 0.000646667 0.00064 0.000613333 0.000626667 +0.000646667 0.000633333 0.000613333 0.000633333 0.000666667 0.000666667 0.000633333 0.000633333 +0.000633333 0.000613333 0.000633333 0.000646667 0.00064 0.00062 0.00062 0.000633333 +0.000633333 0.000633333 0.00062 0.0006 0.00058 0.0006 0.000626667 0.000573333 +0.000553333 0.00056 0.000573333 0.000593333 0.000573333 0.000566667 0.000553333 0.000533333 +0.000506667 0.00052 0.000566667 0.000593333 0.000593333 0.000613333 0.00062 0.000613333 +0.0006 0.0006 0.00064 0.00064 0.000613333 0.000613333 0.00064 0.00066 +0.000646667 0.00062 0.000613333 0.00062 0.00064 0.000666667 0.000726667 0.000806667 +0.000973333 0.269013 0.308773 0.293627 0.236827 0.000893333 0.000873333 0.000906667 +0.000966667 0.236827 0.26144 0.265227 0.27848 0.297413 0.31824 0.350427 +0.3864 0.429947 0.484853 0.514526 0.536 0.557474 0.583368 0.611158 +0.642105 0.673684 0.700842 0.722947 0.740632 0.758316 0.774737 0.788632 +0.803789 0.812632 0.820211 0.832842 0.844842 0.853053 0.86 0.863158 +0.861263 0.860632 0.863158 0.865053 0.857474 0.853053 0.852421 0.846737 +0.838526 0.832842 0.827158 0.821474 0.813263 0.800632 0.790526 0.777263 +0.767789 0.755789 0.743158 0.726737 0.704632 0.689474 0.674316 0.652842 +0.631368 0.618105 0.605474 0.584 0.563158 0.538526 0.513263 0.48864 +0.456453 0.424267 0.382613 0.354213 0.327707 0.308773 0.28416 0.263333 +0.257653 0.25008 0.253867 0.236827 0.216 0.219787 0.22168 0.000986667 +0.00094 0.00096 0.000993333 0.000973333 0.000953333 0.000933333 0.000946667 0.00098 +0.000993333 0.000966667 0.000926667 0.00092 0.00092 0.000933333 0.000993333 0.000953333 +0.000933333 0.000933333 0.0009 0.000953333 0.00096 0.000933333 0.000946667 0.000973333 +0.000986667 0.00096 0.000993333 0.000973333 0.000986667 0.00098 0.000953333 0.216 +0.00098 0.000973333 0.219787 0.217893 0.000966667 0.00096 0.00096 0.000966667 +0.000946667 0.000966667 0.217893 0.225467 0.231147 0.23304 0.236827 0.22168 +0.000986667 0.217893 0.22736 0.23304 0.23304 0.251973 0.259547 0.26712 +0.297413 0.333387 0.367467 0.424267 0.506947 0.547368 0.593474 0.643368 +0.693263 0.742526 0.793053 0.831579 0.863789 0.895368 0.918737 0.940842 +0.962947 0.976211 0.978737 0.98098 0.980653 0.977474 0.976211 0.974316 +0.973053 0.969895 0.966105 0.952211 0.946526 0.944 0.945263 0.945263 +0.937684 0.932 0.931368 0.930105 0.931368 0.931368 0.934526 0.941474 +0.942105 0.940211 0.935158 0.935158 0.939579 0.940842 0.940842 0.941474 +0.940842 0.940842 0.940211 0.938316 0.935789 0.938316 0.937684 0.935158 +0.938316 0.937684 0.936421 0.940211 0.945263 0.944632 0.944 0.943368 +0.940211 0.952211 0.961684 0.955368 0.948421 0.944632 0.940211 0.940211 +0.939579 0.935158 0.935789 0.938947 0.940842 0.947789 0.954737 0.959158 +0.959789 0.964842 0.964842 0.959789 0.954105 0.949053 0.950947 0.956632 +0.962947 0.972421 0.98098 0.985224 0.98849 0.984245 0.963579 0.92 +0.849895 0.757053 0.662947 0.578316 0.505053 0.36368 0.29552 0.265227 +0.236827 0.000953333 0.000833333 0.00078 0.00074 0.000753333 0.000786667 0.00076 +0.00072 0.0007 0.0007 0.000686667 0.000706667 0.000693333 0.0007 0.000806667 +0.231147 0.280373 0.22168 0.000773333 0.000686667 0.000673333 0.000673333 0.000686667 +0.00068 0.000666667 0.00064 0.000666667 0.000686667 0.000673333 0.000686667 0.000653333 +0.000673333 0.00068 0.000673333 0.000666667 0.000666667 0.00068 0.000666667 0.000673333 +0.000666667 0.000653333 0.000673333 0.000673333 0.000653333 0.00066 0.00068 0.00068 +0.000686667 0.0007 0.000693333 0.000673333 0.000666667 0.00066 0.000673333 0.000693333 +0.000673333 0.000666667 0.000686667 0.000706667 0.00072 0.00072 0.000706667 0.000713333 +0.000713333 0.000706667 0.000686667 0.000693333 0.0007 0.000706667 0.000713333 0.0007 +0.000693333 0.000706667 0.000713333 0.0007 0.0007 0.000693333 0.000686667 0.000693333 +0.0007 0.000673333 0.0007 0.000713333 0.000706667 0.000693333 0.000693333 0.000726667 +0.000726667 0.000713333 0.000706667 0.0007 0.000686667 0.000693333 0.00074 0.000726667 +0.000706667 0.000726667 0.000746667 0.00074 0.00072 0.00072 0.000706667 0.000706667 +0.000706667 0.000713333 0.000733333 0.00072 0.000693333 0.000693333 0.00072 0.000726667 +0.000746667 0.000726667 0.000706667 0.000706667 0.00074 0.00074 0.000713333 0.000706667 +0.0007 0.000706667 0.000726667 0.000726667 0.000706667 0.0007 0.000693333 0.0007 +0.000726667 0.000726667 0.000726667 0.000726667 0.00072 0.000693333 0.000693333 0.000713333 +0.000706667 0.0007 0.0007 0.000706667 0.000713333 0.00072 0.000733333 0.000733333 +0.000693333 0.000666667 0.000666667 0.00068 0.000653333 0.000653333 0.000686667 0.000706667 +0.00068 0.00068 0.0007 0.00068 0.000666667 0.000673333 0.000706667 0.00072 +0.000693333 0.000673333 0.000673333 0.000686667 0.000693333 0.000693333 0.000686667 0.0007 +0.000686667 0.000653333 0.000673333 0.000686667 0.000693333 0.000666667 0.000653333 0.000653333 +0.000673333 0.000706667 0.0007 0.000673333 0.000666667 0.00068 0.000693333 0.000693333 +0.0007 0.0007 0.00066 0.000653333 0.000666667 0.000666667 0.000653333 0.000646667 +0.000666667 0.000633333 0.00064 0.000653333 0.000653333 0.000673333 0.000686667 0.000653333 +0.00064 0.000653333 0.000673333 0.000673333 0.000653333 0.000653333 0.000633333 0.000626667 +0.00064 0.000626667 0.000613333 0.000633333 0.000646667 0.00066 0.000653333 0.000646667 +0.000626667 0.00062 0.00062 0.000633333 0.000606667 0.000586667 0.0006 0.000606667 +0.000613333 0.000593333 0.000606667 0.0006 0.000566667 0.00058 0.000613333 0.00058 +0.000553333 0.000553333 0.00056 0.000573333 0.000566667 0.000573333 0.000566667 0.000546667 +0.000506667 0.000506667 0.00054 0.000586667 0.000613333 0.000606667 0.000593333 0.000613333 +0.0006 0.0006 0.000613333 0.00062 0.00062 0.00058 0.00056 0.0006 +0.00062 0.000613333 0.000633333 0.000666667 0.000693333 0.000786667 0.000926667 0.246293 +0.3012 0.31256 0.28416 0.23872 0.217893 0.223573 0.248187 0.276587 +0.303093 0.348533 0.384507 0.42048 0.496213 0.534105 0.569474 0.607368 +0.645263 0.685053 0.725474 0.760211 0.793684 0.827158 0.857474 0.880211 +0.900421 0.922526 0.941474 0.952842 0.961053 0.969895 0.976842 0.979368 +0.981633 0.983265 0.982612 0.983592 0.986857 0.988816 0.988816 0.988816 +0.98849 0.98751 0.986531 0.985551 0.983918 0.982612 0.984245 0.985878 +0.984245 0.982286 0.980653 0.98098 0.98098 0.975579 0.970526 0.965474 +0.962947 0.959158 0.950316 0.943368 0.931368 0.922526 0.913684 0.899789 +0.881474 0.866947 0.853053 0.832842 0.813263 0.785474 0.748842 0.719789 +0.697053 0.670526 0.643368 0.619368 0.594737 0.573263 0.549263 0.525895 +0.510105 0.48296 0.456453 0.422373 0.376933 0.34664 0.3296 0.314453 +0.28984 0.274693 0.276587 0.270907 0.265227 0.25576 0.246293 0.25008 +0.253867 0.248187 0.236827 0.236827 0.231147 0.22736 0.242507 0.240613 +0.23304 0.234933 0.229253 0.242507 0.2444 0.231147 0.225467 0.240613 +0.248187 0.234933 0.240613 0.234933 0.242507 0.248187 0.242507 0.253867 +0.25008 0.242507 0.25008 0.251973 0.242507 0.2444 0.236827 0.236827 +0.242507 0.242507 0.2444 0.248187 0.257653 0.26712 0.270907 0.263333 +0.269013 0.282267 0.303093 0.3296 0.356107 0.412907 0.46592 0.510105 +0.545474 0.583368 0.622526 0.669263 0.728 0.788 0.841053 0.885263 +0.923158 0.951579 0.974316 0.983592 0.989143 0.98849 0.982939 0.977474 +0.976842 0.973053 0.963579 0.957895 0.954105 0.945895 0.944632 0.945263 +0.946526 0.948421 0.946526 0.935789 0.930105 0.929474 0.937053 0.937684 +0.928842 0.925053 0.927579 0.928842 0.932 0.930737 0.930737 0.933895 +0.935789 0.940211 0.938947 0.942105 0.947789 0.946526 0.945263 0.948421 +0.947789 0.948421 0.945263 0.943368 0.942105 0.944 0.945263 0.945895 +0.942737 0.936421 0.933895 0.938316 0.942737 0.941474 0.942737 0.940211 +0.937684 0.949684 0.959158 0.958526 0.953474 0.950316 0.947158 0.944632 +0.942737 0.937684 0.934526 0.935158 0.935789 0.937053 0.940211 0.942105 +0.948421 0.956632 0.960421 0.960421 0.959158 0.952842 0.942737 0.939579 +0.943368 0.947789 0.950947 0.957895 0.970526 0.980653 0.984898 0.986531 +0.979368 0.944632 0.884632 0.798105 0.693263 0.593474 0.514526 0.388293 +0.31824 0.276587 0.242507 0.216 0.000866667 0.000813333 0.000826667 0.000746667 +0.0007 0.000713333 0.000713333 0.000693333 0.000706667 0.000706667 0.000733333 0.0008 +0.000986667 0.280373 0.23304 0.00078 0.000693333 0.000666667 0.000693333 0.000686667 +0.000646667 0.000633333 0.000633333 0.00068 0.000653333 0.000626667 0.000666667 0.000673333 +0.00066 0.000633333 0.00062 0.000633333 0.000646667 0.000653333 0.000653333 0.000666667 +0.000653333 0.00066 0.000673333 0.000653333 0.00064 0.000666667 0.000686667 0.000673333 +0.000673333 0.000666667 0.00068 0.000686667 0.00066 0.00066 0.000666667 0.00068 +0.000673333 0.000686667 0.000686667 0.000693333 0.00072 0.000706667 0.000686667 0.000673333 +0.00066 0.00066 0.00068 0.00072 0.000693333 0.000686667 0.000706667 0.000686667 +0.000653333 0.00068 0.000693333 0.000693333 0.000693333 0.000693333 0.0007 0.000713333 +0.000706667 0.000693333 0.000706667 0.0007 0.000706667 0.0007 0.000726667 0.000726667 +0.000706667 0.0007 0.0007 0.0007 0.0007 0.000693333 0.00072 0.000706667 +0.00072 0.000746667 0.00074 0.0007 0.0007 0.000713333 0.000706667 0.00072 +0.00074 0.000733333 0.000726667 0.000693333 0.000686667 0.000713333 0.000746667 0.000746667 +0.000733333 0.00072 0.00072 0.000713333 0.0007 0.00072 0.00072 0.000713333 +0.000706667 0.00068 0.00068 0.000713333 0.000726667 0.000706667 0.000686667 0.000673333 +0.000686667 0.000686667 0.000713333 0.00072 0.000733333 0.00072 0.000693333 0.000673333 +0.000686667 0.0007 0.0007 0.000706667 0.000726667 0.000726667 0.000726667 0.000733333 +0.00072 0.000706667 0.000706667 0.000693333 0.000666667 0.000673333 0.000666667 0.000673333 +0.00068 0.000693333 0.000706667 0.000713333 0.000706667 0.00068 0.000653333 0.000673333 +0.000686667 0.000666667 0.000653333 0.000653333 0.000686667 0.000706667 0.00068 0.000673333 +0.000673333 0.000673333 0.000666667 0.000653333 0.000666667 0.00066 0.000666667 0.000673333 +0.00066 0.000666667 0.000673333 0.00068 0.000706667 0.000686667 0.00068 0.000673333 +0.000673333 0.000686667 0.000666667 0.000666667 0.00066 0.000653333 0.000653333 0.00066 +0.000673333 0.000666667 0.000666667 0.000653333 0.00064 0.000626667 0.000653333 0.000653333 +0.000653333 0.00064 0.000633333 0.00064 0.00064 0.000633333 0.000626667 0.000626667 +0.00062 0.00062 0.00062 0.000633333 0.00064 0.00064 0.000646667 0.00064 +0.000646667 0.00062 0.00062 0.00062 0.000593333 0.0006 0.000586667 0.000586667 +0.00058 0.000573333 0.000586667 0.00058 0.000566667 0.000586667 0.000593333 0.000573333 +0.000573333 0.00058 0.000586667 0.000566667 0.00056 0.00056 0.000553333 0.000533333 +0.000513333 0.000513333 0.000533333 0.00056 0.000593333 0.000606667 0.0006 0.000613333 +0.00062 0.00064 0.000633333 0.000653333 0.000686667 0.000646667 0.00062 0.00064 +0.000646667 0.000673333 0.000753333 0.000893333 0.22736 0.274693 0.303093 0.337173 +0.339067 0.308773 0.27848 0.274693 0.304987 0.36368 0.439413 0.508211 +0.540421 0.585263 0.632 0.681263 0.733684 0.786105 0.833474 0.872632 +0.906737 0.932 0.953474 0.968632 0.980327 0.987184 0.991429 0.991755 +0.990776 0.993061 0.996653 0.998612 0.996327 0.992408 0.989796 0.988816 +0.985878 0.985551 0.984571 0.982612 0.984571 0.985878 0.983918 0.982939 +0.983918 0.983592 0.982286 0.98 0.978737 0.979368 0.980653 0.982939 +0.982612 0.981633 0.981633 0.981959 0.982939 0.982612 0.982286 0.984245 +0.984571 0.984571 0.983592 0.984898 0.986204 0.987184 0.988163 0.988163 +0.985551 0.982939 0.980327 0.976211 0.976842 0.974316 0.956632 0.938947 +0.927579 0.909895 0.889684 0.870105 0.846737 0.824 0.797474 0.767158 +0.743789 0.716632 0.692632 0.672421 0.645263 0.616842 0.593474 0.573263 +0.551789 0.531579 0.517684 0.503789 0.48296 0.46024 0.422373 0.401547 +0.395867 0.384507 0.36936 0.36368 0.365573 0.350427 0.35232 0.358 +0.35232 0.356107 0.342853 0.34664 0.350427 0.333387 0.325813 0.337173 +0.342853 0.331493 0.34096 0.33528 0.34096 0.348533 0.35232 0.365573 +0.359893 0.35232 0.36368 0.367467 0.348533 0.350427 0.342853 0.350427 +0.356107 0.354213 0.361787 0.38072 0.39776 0.4148 0.4432 0.456453 +0.496213 0.520211 0.547368 0.580211 0.612421 0.652842 0.690737 0.731158 +0.779789 0.825895 0.867579 0.902316 0.936421 0.964211 0.980653 0.986531 +0.989143 0.989143 0.991102 0.991755 0.988816 0.980327 0.960421 0.947158 +0.946526 0.943368 0.936421 0.937684 0.938316 0.934526 0.934526 0.936421 +0.937053 0.942105 0.946526 0.944 0.938947 0.933895 0.941474 0.940211 +0.935789 0.933263 0.933263 0.935789 0.937053 0.934526 0.932632 0.933263 +0.938316 0.944 0.944 0.945895 0.947158 0.947158 0.946526 0.946526 +0.945895 0.945895 0.942105 0.939579 0.941474 0.947789 0.950947 0.954737 +0.948421 0.940842 0.938316 0.944 0.945263 0.945263 0.946526 0.941474 +0.943368 0.952842 0.956 0.953474 0.949053 0.947158 0.948421 0.949684 +0.947158 0.945263 0.945263 0.942105 0.938316 0.936421 0.935158 0.937053 +0.944 0.948421 0.952211 0.959158 0.966737 0.966737 0.956632 0.946526 +0.945895 0.944632 0.940211 0.940211 0.947789 0.956632 0.962947 0.970526 +0.98 0.985551 0.982939 0.959789 0.905474 0.822737 0.718526 0.610526 +0.525895 0.401547 0.316347 0.2728 0.234933 0.000966667 0.00086 0.000753333 +0.000726667 0.000726667 0.00072 0.0007 0.0007 0.00072 0.000726667 0.00076 +0.000946667 0.269013 0.23872 0.0008 0.0007 0.000673333 0.00068 0.000646667 +0.000626667 0.000646667 0.000673333 0.000666667 0.00066 0.000646667 0.000666667 0.00066 +0.00062 0.000633333 0.000633333 0.000646667 0.000653333 0.000653333 0.000666667 0.000666667 +0.00064 0.00064 0.000646667 0.000653333 0.00066 0.000666667 0.00068 0.000673333 +0.00066 0.000653333 0.000686667 0.000713333 0.000673333 0.000653333 0.00066 0.000686667 +0.000686667 0.000686667 0.000666667 0.000673333 0.000693333 0.000693333 0.00068 0.000666667 +0.000686667 0.000686667 0.000706667 0.00072 0.000686667 0.000693333 0.0007 0.000666667 +0.000666667 0.000693333 0.00072 0.000713333 0.000686667 0.0007 0.0007 0.000733333 +0.000733333 0.0007 0.0007 0.000706667 0.00072 0.00072 0.000713333 0.000686667 +0.0007 0.000726667 0.000733333 0.000726667 0.00072 0.000706667 0.000726667 0.000733333 +0.000753333 0.00074 0.000733333 0.000706667 0.000726667 0.00076 0.00074 0.00074 +0.000733333 0.000713333 0.000706667 0.000706667 0.000713333 0.000726667 0.00074 0.000726667 +0.0007 0.0007 0.00074 0.000733333 0.000693333 0.000686667 0.00072 0.000726667 +0.000726667 0.00074 0.00068 0.000666667 0.0007 0.000706667 0.000673333 0.00068 +0.000686667 0.00066 0.000666667 0.000673333 0.000686667 0.000713333 0.00072 0.00068 +0.000666667 0.000666667 0.00066 0.000673333 0.000673333 0.000673333 0.000686667 0.000686667 +0.000693333 0.000706667 0.00072 0.00072 0.0007 0.0007 0.00068 0.000673333 +0.00068 0.00068 0.000666667 0.000673333 0.000693333 0.000713333 0.000693333 0.000653333 +0.00064 0.000653333 0.00066 0.000653333 0.000646667 0.00066 0.000673333 0.000673333 +0.00068 0.000693333 0.000693333 0.00064 0.000633333 0.00064 0.000653333 0.000646667 +0.000646667 0.000653333 0.000633333 0.00064 0.000686667 0.000693333 0.000666667 0.00064 +0.000653333 0.000653333 0.000633333 0.000646667 0.000653333 0.00064 0.00064 0.000646667 +0.000653333 0.000646667 0.000666667 0.000666667 0.000653333 0.000626667 0.000606667 0.000606667 +0.00064 0.000646667 0.000646667 0.000633333 0.000626667 0.000626667 0.00062 0.00062 +0.00062 0.000606667 0.000613333 0.000613333 0.000646667 0.00066 0.00064 0.00064 +0.000653333 0.00064 0.00064 0.00064 0.000613333 0.00062 0.000613333 0.000586667 +0.000593333 0.000586667 0.0006 0.000593333 0.000573333 0.000593333 0.000606667 0.000586667 +0.000566667 0.000586667 0.000613333 0.000593333 0.000573333 0.00056 0.00054 0.00052 +0.000546667 0.00058 0.000606667 0.0006 0.000593333 0.00058 0.0006 0.000606667 +0.000613333 0.000626667 0.000633333 0.000646667 0.000693333 0.00068 0.000686667 0.00076 +0.000853333 0.000966667 0.2444 0.287947 0.32392 0.34664 0.350427 0.356107 +0.350427 0.354213 0.405333 0.504421 0.548 0.602316 0.668 0.733053 +0.788632 0.843579 0.892211 0.930105 0.957263 0.976842 0.984571 0.988163 +0.991755 0.991755 0.990776 0.990122 0.989469 0.991755 0.992408 0.98751 +0.982939 0.983265 0.988816 0.995347 0.991429 0.981633 0.971158 0.965474 +0.957895 0.954737 0.954105 0.951579 0.955368 0.959789 0.956632 0.953474 +0.953474 0.955368 0.954105 0.950947 0.949684 0.951579 0.950947 0.950316 +0.952211 0.950947 0.951579 0.952842 0.952842 0.952211 0.952842 0.954737 +0.952842 0.952842 0.953474 0.958526 0.963579 0.966737 0.969263 0.973053 +0.975579 0.974947 0.974316 0.979368 0.985224 0.991755 0.98849 0.982612 +0.982939 0.982939 0.982286 0.983265 0.981633 0.976842 0.969263 0.956632 +0.950316 0.937684 0.92379 0.911789 0.893474 0.870737 0.846737 0.825263 +0.802526 0.777895 0.755158 0.731789 0.709684 0.693895 0.674947 0.656 +0.642737 0.632 0.622526 0.613684 0.608632 0.601053 0.596632 0.596632 +0.597263 0.600421 0.591579 0.587158 0.585895 0.577684 0.571368 0.572 +0.571368 0.567579 0.568842 0.568842 0.569474 0.577053 0.585895 0.592211 +0.590947 0.590316 0.594105 0.593474 0.587789 0.583368 0.579579 0.584632 +0.588421 0.592211 0.602316 0.618105 0.632632 0.644 0.663579 0.679368 +0.707789 0.745684 0.782316 0.822105 0.853684 0.884 0.910526 0.934526 +0.954737 0.969263 0.981306 0.982939 0.982939 0.981633 0.980653 0.976211 +0.971789 0.968632 0.976842 0.980327 0.973684 0.961684 0.950316 0.944632 +0.947158 0.942105 0.937684 0.942105 0.943368 0.942105 0.944 0.944 +0.940211 0.942105 0.949684 0.953474 0.947789 0.943368 0.945263 0.943368 +0.940211 0.935789 0.935789 0.937053 0.933895 0.930737 0.932 0.933263 +0.936421 0.940211 0.940211 0.936421 0.934526 0.935789 0.935789 0.936421 +0.937684 0.936421 0.932632 0.931368 0.937053 0.942737 0.948421 0.955368 +0.955368 0.951579 0.948421 0.952842 0.955368 0.956 0.952842 0.947789 +0.950316 0.954105 0.952211 0.945263 0.941474 0.938947 0.944 0.949053 +0.949684 0.951579 0.953474 0.950316 0.947158 0.943368 0.938947 0.937684 +0.941474 0.944 0.946526 0.952842 0.960421 0.969263 0.971158 0.962947 +0.956632 0.949684 0.942105 0.939579 0.942105 0.947158 0.949053 0.947789 +0.953474 0.964842 0.976211 0.983918 0.984898 0.969895 0.922526 0.838526 +0.724842 0.608 0.518316 0.384507 0.3012 0.263333 0.225467 0.00094 +0.000833333 0.000766667 0.000733333 0.00072 0.00068 0.000713333 0.00072 0.000753333 +0.00088 0.251973 0.248187 0.000853333 0.000713333 0.0007 0.000686667 0.00068 +0.000673333 0.000666667 0.00066 0.000666667 0.000686667 0.000666667 0.00064 0.00062 +0.000626667 0.000666667 0.000653333 0.00064 0.00066 0.000653333 0.000653333 0.000646667 +0.00064 0.00062 0.00066 0.000693333 0.000673333 0.00068 0.000693333 0.000673333 +0.000653333 0.000653333 0.000673333 0.0007 0.000666667 0.00064 0.000666667 0.000686667 +0.000673333 0.000673333 0.000666667 0.000666667 0.000673333 0.0007 0.0007 0.000706667 +0.00072 0.00072 0.000726667 0.000713333 0.000713333 0.000706667 0.0007 0.000686667 +0.000713333 0.00074 0.00074 0.000713333 0.0007 0.000733333 0.000746667 0.000746667 +0.00072 0.0007 0.000713333 0.000746667 0.000733333 0.000713333 0.000686667 0.0007 +0.000746667 0.000766667 0.000753333 0.000726667 0.000706667 0.00072 0.00074 0.00072 +0.00072 0.00072 0.000706667 0.0007 0.00074 0.000753333 0.000726667 0.000706667 +0.0007 0.000686667 0.0007 0.00072 0.00072 0.0007 0.00068 0.00068 +0.0007 0.000726667 0.000733333 0.000713333 0.0007 0.000693333 0.000706667 0.000713333 +0.000713333 0.000746667 0.000733333 0.00072 0.000713333 0.0007 0.000693333 0.0007 +0.000713333 0.000693333 0.000666667 0.000673333 0.000673333 0.00066 0.000673333 0.00068 +0.0007 0.00068 0.000673333 0.000666667 0.00064 0.00062 0.000646667 0.000666667 +0.000686667 0.000686667 0.000666667 0.000693333 0.0007 0.000686667 0.000673333 0.000666667 +0.000686667 0.00068 0.000653333 0.000653333 0.000646667 0.000673333 0.000706667 0.0007 +0.000653333 0.000626667 0.000633333 0.000666667 0.000653333 0.000633333 0.00062 0.000613333 +0.000633333 0.00066 0.00066 0.000653333 0.00066 0.00064 0.000633333 0.000633333 +0.000626667 0.000626667 0.00062 0.000613333 0.000633333 0.000653333 0.000673333 0.000666667 +0.000673333 0.00068 0.000646667 0.000653333 0.00064 0.000633333 0.000626667 0.00064 +0.000653333 0.000646667 0.00066 0.000666667 0.000666667 0.00068 0.000646667 0.000613333 +0.000633333 0.000633333 0.00064 0.000653333 0.00064 0.000633333 0.000613333 0.000633333 +0.000653333 0.000633333 0.000606667 0.000593333 0.000613333 0.000646667 0.000653333 0.00066 +0.000646667 0.000653333 0.000653333 0.00064 0.000626667 0.000626667 0.000613333 0.00062 +0.000613333 0.000606667 0.000613333 0.000613333 0.000593333 0.000606667 0.000606667 0.0006 +0.000606667 0.00062 0.000626667 0.000613333 0.000593333 0.000573333 0.000546667 0.00052 +0.00056 0.000613333 0.000646667 0.00066 0.000646667 0.00062 0.000633333 0.000646667 +0.000646667 0.00066 0.000666667 0.000666667 0.000713333 0.0008 0.00092 0.242507 +0.286053 0.316347 0.333387 0.34096 0.348533 0.365573 0.39776 0.46024 +0.518316 0.565684 0.633263 0.713474 0.789895 0.856211 0.912421 0.954737 +0.98098 0.989469 0.995347 0.996327 0.992735 0.986531 0.981306 0.976842 +0.975579 0.972421 0.968 0.966737 0.963579 0.964842 0.969263 0.962316 +0.955368 0.956632 0.971158 0.984571 0.982939 0.966737 0.953474 0.945263 +0.940842 0.938947 0.937053 0.935789 0.937684 0.940842 0.943368 0.942105 +0.940211 0.938947 0.939579 0.940211 0.937684 0.934526 0.933263 0.933263 +0.935789 0.937053 0.938316 0.940211 0.940211 0.938947 0.940211 0.937053 +0.933263 0.933263 0.936421 0.937684 0.939579 0.941474 0.944 0.947158 +0.951579 0.950316 0.948421 0.952842 0.961684 0.970526 0.965474 0.954737 +0.956632 0.961053 0.962947 0.969263 0.973684 0.975579 0.977474 0.978737 +0.982612 0.984898 0.985224 0.986204 0.984898 0.984571 0.982612 0.976842 +0.969263 0.962947 0.955368 0.947158 0.930737 0.919368 0.908632 0.894105 +0.883368 0.873895 0.865053 0.855579 0.845474 0.838526 0.836632 0.837263 +0.832842 0.832211 0.824632 0.818316 0.813263 0.805053 0.795579 0.794947 +0.796211 0.793053 0.793684 0.793053 0.793053 0.8 0.810737 0.818316 +0.817684 0.817053 0.818947 0.818316 0.814526 0.811368 0.808842 0.815158 +0.820842 0.827158 0.837263 0.851789 0.866947 0.878947 0.891579 0.900421 +0.92 0.942105 0.956632 0.968 0.974947 0.978737 0.977474 0.978737 +0.977474 0.973053 0.973684 0.968632 0.961684 0.957263 0.955368 0.950947 +0.951579 0.954105 0.961053 0.964842 0.965474 0.961684 0.958526 0.956632 +0.955368 0.944632 0.943368 0.944632 0.945263 0.946526 0.947158 0.944632 +0.939579 0.944 0.953474 0.957263 0.950316 0.945263 0.944 0.940842 +0.936421 0.933263 0.931368 0.930737 0.927579 0.925684 0.929474 0.932632 +0.934526 0.938316 0.936421 0.935158 0.935158 0.932632 0.932632 0.936421 +0.939579 0.938316 0.935789 0.935789 0.941474 0.944632 0.951579 0.958526 +0.959789 0.957263 0.956632 0.957895 0.957263 0.957895 0.955368 0.950947 +0.952842 0.952842 0.947789 0.943368 0.944632 0.943368 0.943368 0.945895 +0.950947 0.950316 0.949053 0.950316 0.950947 0.949053 0.947158 0.947158 +0.944632 0.942105 0.945895 0.949053 0.952211 0.962947 0.973684 0.973684 +0.962947 0.950316 0.946526 0.947789 0.949684 0.951579 0.949684 0.949053 +0.952211 0.956 0.961053 0.967368 0.978737 0.984245 0.98751 0.975579 +0.921263 0.832211 0.714737 0.595368 0.501263 0.34096 0.28416 0.253867 +0.22736 0.000926667 0.000826667 0.000766667 0.000713333 0.00072 0.000726667 0.000733333 +0.000826667 0.246293 0.270907 0.00092 0.000746667 0.000726667 0.00072 0.00072 +0.000666667 0.000633333 0.00064 0.00068 0.000686667 0.000646667 0.000633333 0.00064 +0.00066 0.000673333 0.000646667 0.000646667 0.000686667 0.000673333 0.000633333 0.000646667 +0.00066 0.000653333 0.000686667 0.000686667 0.00066 0.000653333 0.000673333 0.000673333 +0.000666667 0.00066 0.000653333 0.0007 0.0007 0.000686667 0.000686667 0.000686667 +0.000686667 0.0007 0.00068 0.000686667 0.000713333 0.0007 0.000706667 0.00072 +0.000713333 0.0007 0.000726667 0.000733333 0.000713333 0.000693333 0.0007 0.0007 +0.000713333 0.00072 0.00072 0.000713333 0.00072 0.00074 0.000726667 0.00072 +0.000713333 0.000706667 0.00072 0.000726667 0.000706667 0.000693333 0.000686667 0.000713333 +0.00074 0.00074 0.00072 0.000713333 0.000693333 0.000713333 0.00072 0.000693333 +0.00068 0.000706667 0.000706667 0.000713333 0.00074 0.000733333 0.000706667 0.000686667 +0.00068 0.0007 0.00072 0.000713333 0.0007 0.00068 0.00068 0.000733333 +0.00074 0.000713333 0.000713333 0.000713333 0.00068 0.000673333 0.000666667 0.00068 +0.0007 0.000706667 0.000693333 0.00072 0.000713333 0.00068 0.000673333 0.000666667 +0.000666667 0.000666667 0.000653333 0.000666667 0.000653333 0.000653333 0.000673333 0.000673333 +0.000693333 0.00068 0.00068 0.000686667 0.000666667 0.000633333 0.000626667 0.000646667 +0.00066 0.000673333 0.000666667 0.00066 0.000666667 0.000666667 0.00068 0.00068 +0.000673333 0.000673333 0.000646667 0.00064 0.000646667 0.000653333 0.00066 0.000686667 +0.000693333 0.000686667 0.00066 0.00064 0.00066 0.000673333 0.000653333 0.000633333 +0.000606667 0.000606667 0.00062 0.000646667 0.00068 0.00066 0.00064 0.000646667 +0.00064 0.000633333 0.000633333 0.000626667 0.000613333 0.0006 0.000606667 0.000613333 +0.00064 0.000673333 0.000666667 0.00066 0.000666667 0.000646667 0.00062 0.000626667 +0.000633333 0.000633333 0.000653333 0.000653333 0.000653333 0.00068 0.000686667 0.000666667 +0.000653333 0.000646667 0.000646667 0.000646667 0.000646667 0.000646667 0.000613333 0.00062 +0.000653333 0.000646667 0.000646667 0.00064 0.00064 0.00062 0.000626667 0.00066 +0.000653333 0.000666667 0.00068 0.000646667 0.000633333 0.000633333 0.000633333 0.000633333 +0.0006 0.00062 0.000613333 0.000606667 0.00062 0.000626667 0.000593333 0.000586667 +0.000586667 0.000626667 0.00064 0.00062 0.000593333 0.000593333 0.000586667 0.00056 +0.00058 0.000606667 0.000633333 0.000666667 0.000673333 0.00066 0.000653333 0.000666667 +0.000673333 0.0007 0.000753333 0.000793333 0.000933333 0.253867 0.31256 0.34664 +0.344747 0.344747 0.36368 0.39776 0.469707 0.529684 0.585895 0.656 +0.735579 0.814526 0.885895 0.941474 0.974947 0.987837 0.992735 0.993388 +0.993061 0.993388 0.994367 0.986857 0.973053 0.958526 0.950947 0.947158 +0.946526 0.945263 0.944 0.944632 0.944632 0.944 0.945895 0.943368 +0.941474 0.945263 0.956632 0.969895 0.971158 0.960421 0.949053 0.940842 +0.938947 0.938947 0.937053 0.935789 0.935158 0.935789 0.937684 0.937684 +0.937053 0.937053 0.937053 0.934526 0.931368 0.926947 0.926316 0.929474 +0.932632 0.934526 0.934526 0.933895 0.932632 0.932632 0.934526 0.932632 +0.931368 0.930737 0.933895 0.935789 0.934526 0.937684 0.941474 0.944632 +0.949684 0.948421 0.942105 0.940842 0.940842 0.942105 0.942105 0.940211 +0.944 0.947158 0.946526 0.945263 0.947158 0.949684 0.954105 0.959158 +0.965474 0.968 0.966737 0.969895 0.969895 0.974947 0.980653 0.977474 +0.979368 0.984245 0.986531 0.986857 0.985224 0.984898 0.984245 0.981959 +0.981959 0.981633 0.980327 0.978105 0.975579 0.977474 0.981959 0.981306 +0.973053 0.970526 0.964842 0.958526 0.957895 0.953474 0.947158 0.948421 +0.949684 0.947789 0.946526 0.945263 0.947158 0.949684 0.952211 0.956 +0.956632 0.954737 0.952842 0.951579 0.951579 0.951579 0.950316 0.957263 +0.961053 0.966105 0.970526 0.974316 0.978737 0.980327 0.979368 0.972421 +0.973053 0.974947 0.973684 0.970526 0.969263 0.969263 0.962947 0.960421 +0.958526 0.956632 0.961053 0.958526 0.956632 0.957895 0.956632 0.955368 +0.959789 0.964842 0.968 0.965474 0.964211 0.964211 0.966737 0.964211 +0.956 0.945895 0.948421 0.947789 0.947158 0.949684 0.950316 0.949053 +0.946526 0.953474 0.959789 0.960421 0.953474 0.947789 0.942737 0.938947 +0.937684 0.935158 0.931368 0.932 0.932632 0.932632 0.937684 0.939579 +0.940842 0.941474 0.938947 0.941474 0.941474 0.935789 0.937053 0.938316 +0.939579 0.942105 0.942737 0.943368 0.949053 0.952842 0.958526 0.961053 +0.960421 0.956632 0.957263 0.957263 0.954105 0.954105 0.952211 0.951579 +0.955368 0.956 0.952842 0.949053 0.949684 0.951579 0.950316 0.952211 +0.954105 0.951579 0.947158 0.948421 0.949684 0.950947 0.953474 0.954105 +0.949684 0.945895 0.948421 0.950316 0.949053 0.952842 0.962947 0.969263 +0.958526 0.949053 0.950316 0.951579 0.954737 0.956 0.951579 0.952842 +0.957895 0.959158 0.959789 0.959789 0.961684 0.966105 0.978105 0.983592 +0.986204 0.978737 0.92 0.813263 0.676211 0.551789 0.42048 0.30688 +0.274693 0.25576 0.22168 0.00088 0.000773333 0.00072 0.000713333 0.00072 +0.000833333 0.2444 0.287947 0.216 0.00078 0.000753333 0.00072 0.000693333 +0.00066 0.000653333 0.000673333 0.00068 0.00068 0.000673333 0.00066 0.000673333 +0.000686667 0.000666667 0.000666667 0.000673333 0.000673333 0.00064 0.000633333 0.000653333 +0.00066 0.000673333 0.000686667 0.00068 0.000646667 0.000653333 0.00068 0.000686667 +0.00066 0.00064 0.00066 0.00072 0.00072 0.000686667 0.000673333 0.000673333 +0.000693333 0.000686667 0.000673333 0.000686667 0.000706667 0.000706667 0.0007 0.0007 +0.000693333 0.000686667 0.000726667 0.000726667 0.000673333 0.000673333 0.0007 0.000686667 +0.000693333 0.000686667 0.000706667 0.000713333 0.000693333 0.000693333 0.000693333 0.000726667 +0.000733333 0.000713333 0.000686667 0.000686667 0.0007 0.00072 0.000713333 0.000693333 +0.000706667 0.00072 0.000706667 0.000713333 0.000706667 0.000693333 0.000706667 0.000693333 +0.000686667 0.00072 0.00072 0.000706667 0.0007 0.000706667 0.000693333 0.000686667 +0.000686667 0.000706667 0.0007 0.000686667 0.0007 0.00072 0.000733333 0.00074 +0.000686667 0.00068 0.000726667 0.000753333 0.0007 0.000686667 0.000673333 0.000653333 +0.00066 0.000713333 0.000713333 0.0007 0.000706667 0.00072 0.0007 0.000686667 +0.000666667 0.000653333 0.000673333 0.000666667 0.00064 0.00066 0.00068 0.00068 +0.00068 0.000666667 0.000673333 0.000693333 0.00072 0.0007 0.00066 0.00064 +0.00064 0.000653333 0.000693333 0.000693333 0.000666667 0.00064 0.00064 0.00068 +0.000686667 0.000666667 0.000666667 0.000666667 0.00066 0.00066 0.000653333 0.000673333 +0.000686667 0.0007 0.0007 0.000666667 0.00066 0.000666667 0.000686667 0.000686667 +0.00066 0.000653333 0.00064 0.00064 0.00066 0.00066 0.000666667 0.000673333 +0.00066 0.00066 0.00064 0.000653333 0.00066 0.00064 0.00062 0.00062 +0.00062 0.000646667 0.000646667 0.000646667 0.00066 0.000666667 0.000633333 0.00064 +0.000633333 0.000626667 0.000653333 0.000633333 0.0006 0.00062 0.00064 0.000646667 +0.000653333 0.000626667 0.00064 0.000626667 0.000613333 0.000633333 0.000633333 0.000646667 +0.00064 0.000646667 0.000633333 0.000653333 0.000666667 0.00064 0.000633333 0.000646667 +0.000653333 0.000666667 0.000673333 0.00066 0.000633333 0.00064 0.000646667 0.00064 +0.00062 0.000626667 0.000633333 0.000613333 0.000646667 0.00066 0.000633333 0.000613333 +0.00058 0.0006 0.00062 0.000606667 0.0006 0.000593333 0.00058 0.000606667 +0.000633333 0.000633333 0.00064 0.000666667 0.000686667 0.00068 0.000673333 0.000693333 +0.000713333 0.000793333 0.000953333 0.257653 0.304987 0.344747 0.361787 0.354213 +0.358 0.424267 0.514526 0.573895 0.651579 0.738737 0.823368 0.894737 +0.947789 0.981306 0.990449 0.990776 0.98751 0.983918 0.979368 0.969263 +0.966105 0.974947 0.980653 0.968 0.949684 0.942737 0.938947 0.937053 +0.936421 0.935158 0.937053 0.938947 0.942105 0.944632 0.943368 0.940211 +0.942105 0.944632 0.947789 0.956 0.961053 0.958526 0.953474 0.948421 +0.945263 0.945895 0.948421 0.945895 0.941474 0.940842 0.940842 0.942737 +0.945263 0.945263 0.942105 0.939579 0.933895 0.928842 0.930105 0.934526 +0.936421 0.938316 0.938947 0.935789 0.934526 0.934526 0.936421 0.937053 +0.937684 0.938947 0.941474 0.941474 0.940842 0.941474 0.942737 0.945895 +0.947789 0.948421 0.947789 0.947789 0.943368 0.943368 0.946526 0.947789 +0.948421 0.949053 0.947789 0.944632 0.944 0.945895 0.952211 0.958526 +0.961053 0.957895 0.951579 0.953474 0.953474 0.951579 0.957263 0.958526 +0.959789 0.966737 0.969263 0.966737 0.964842 0.966737 0.971158 0.970526 +0.969263 0.969895 0.971158 0.974316 0.980327 0.986204 0.990449 0.986204 +0.978737 0.975579 0.970526 0.964211 0.966105 0.964842 0.958526 0.959158 +0.961684 0.959789 0.959789 0.957895 0.959789 0.964211 0.964842 0.965474 +0.968 0.966737 0.964842 0.964842 0.965474 0.964842 0.963579 0.968632 +0.974316 0.979368 0.98 0.980327 0.978105 0.971158 0.964211 0.955368 +0.954737 0.956 0.956632 0.954737 0.956 0.957263 0.956 0.962316 +0.962947 0.961684 0.966737 0.966737 0.968632 0.968 0.968 0.968632 +0.969263 0.976842 0.982286 0.98 0.974947 0.978105 0.979368 0.973684 +0.963579 0.956 0.959158 0.957263 0.957263 0.959158 0.960421 0.961053 +0.960421 0.962947 0.966737 0.966737 0.959789 0.952842 0.945263 0.940842 +0.942105 0.939579 0.938947 0.941474 0.940842 0.942105 0.947158 0.946526 +0.947158 0.945263 0.943368 0.945895 0.944 0.943368 0.947789 0.944632 +0.946526 0.949053 0.945895 0.945263 0.949053 0.954105 0.957263 0.957895 +0.955368 0.951579 0.952211 0.951579 0.951579 0.949684 0.947158 0.950947 +0.955368 0.954737 0.952842 0.951579 0.950316 0.952211 0.955368 0.955368 +0.952211 0.953474 0.954737 0.955368 0.952842 0.956632 0.961684 0.957895 +0.954105 0.953474 0.950316 0.949684 0.947789 0.947158 0.953474 0.956 +0.949684 0.946526 0.947789 0.950316 0.953474 0.952842 0.948421 0.949053 +0.952211 0.949053 0.949053 0.952211 0.951579 0.952842 0.956 0.964842 +0.980327 0.988816 0.989796 0.968 0.881474 0.752632 0.62 0.515789 +0.354213 0.27848 0.263333 0.23304 0.000886667 0.00076 0.00072 0.00072 +0.0008 0.225467 0.287947 0.240613 0.000833333 0.000753333 0.000726667 0.0007 +0.0007 0.000706667 0.000666667 0.00066 0.000693333 0.000693333 0.00068 0.00068 +0.000686667 0.00068 0.00066 0.000646667 0.000633333 0.000633333 0.00064 0.000653333 +0.00066 0.00066 0.00066 0.000653333 0.00064 0.000666667 0.00068 0.00066 +0.000633333 0.000653333 0.000686667 0.000713333 0.000693333 0.00066 0.00066 0.000673333 +0.000673333 0.000686667 0.000686667 0.000693333 0.00072 0.000713333 0.000693333 0.000693333 +0.00072 0.000713333 0.00072 0.0007 0.000666667 0.000686667 0.000693333 0.000686667 +0.000686667 0.000693333 0.000713333 0.000706667 0.00068 0.000693333 0.000726667 0.000733333 +0.0007 0.000673333 0.000653333 0.00068 0.000706667 0.00072 0.000706667 0.000686667 +0.000706667 0.000713333 0.000706667 0.000686667 0.000673333 0.000686667 0.00068 0.000693333 +0.000706667 0.0007 0.000693333 0.000686667 0.000693333 0.000713333 0.000713333 0.0007 +0.000686667 0.000693333 0.0007 0.00072 0.000733333 0.00072 0.0007 0.000686667 +0.000686667 0.000726667 0.000753333 0.000746667 0.00068 0.000666667 0.000686667 0.000686667 +0.000666667 0.000673333 0.0007 0.000686667 0.000673333 0.0007 0.000713333 0.000706667 +0.000713333 0.000693333 0.000673333 0.00068 0.00068 0.000693333 0.000693333 0.000693333 +0.00068 0.000653333 0.000686667 0.000693333 0.0007 0.000713333 0.000693333 0.000653333 +0.000633333 0.000653333 0.000686667 0.000686667 0.000706667 0.000693333 0.000653333 0.000646667 +0.000666667 0.00066 0.000666667 0.00068 0.00066 0.00066 0.000666667 0.000673333 +0.00068 0.00068 0.000673333 0.00068 0.00066 0.00068 0.000686667 0.000673333 +0.00068 0.000686667 0.00068 0.000673333 0.000666667 0.000653333 0.000653333 0.00066 +0.000686667 0.000693333 0.000673333 0.000653333 0.00066 0.00068 0.000666667 0.000646667 +0.00064 0.000653333 0.000653333 0.000666667 0.000673333 0.000666667 0.000666667 0.00066 +0.000646667 0.000653333 0.000666667 0.00066 0.000633333 0.00064 0.000633333 0.000633333 +0.000646667 0.00064 0.00064 0.000646667 0.000646667 0.000626667 0.00062 0.000646667 +0.00066 0.000626667 0.000626667 0.00064 0.000653333 0.00064 0.00062 0.00064 +0.000646667 0.000666667 0.00068 0.000653333 0.00066 0.00064 0.00062 0.000626667 +0.00062 0.000626667 0.00062 0.000593333 0.000626667 0.000653333 0.000653333 0.00064 +0.000633333 0.000653333 0.000606667 0.000566667 0.000573333 0.000573333 0.000566667 0.0006 +0.000653333 0.000686667 0.000686667 0.000686667 0.0007 0.000713333 0.000733333 0.000793333 +0.00092 0.25008 0.308773 0.342853 0.35232 0.354213 0.376933 0.43184 +0.527789 0.613053 0.709684 0.805053 0.889053 0.951579 0.983918 0.991102 +0.989796 0.985224 0.977474 0.965474 0.958526 0.954105 0.949684 0.943368 +0.944 0.950947 0.952842 0.948421 0.944 0.941474 0.938947 0.936421 +0.937684 0.938316 0.938947 0.941474 0.945263 0.947789 0.947158 0.944 +0.942737 0.943368 0.944632 0.947789 0.949053 0.950947 0.952842 0.954105 +0.956632 0.956632 0.961684 0.966105 0.959789 0.956 0.953474 0.952211 +0.950947 0.950316 0.947789 0.946526 0.943368 0.942105 0.942737 0.944632 +0.949053 0.953474 0.956 0.950947 0.946526 0.945263 0.944632 0.945895 +0.947789 0.951579 0.951579 0.950947 0.950947 0.950316 0.946526 0.947158 +0.948421 0.949684 0.953474 0.956 0.952211 0.950947 0.956632 0.955368 +0.950947 0.951579 0.953474 0.951579 0.952211 0.952211 0.954737 0.961053 +0.965474 0.966105 0.961053 0.960421 0.958526 0.952211 0.953474 0.957263 +0.957263 0.957895 0.953474 0.950947 0.948421 0.942737 0.945263 0.949053 +0.950947 0.949053 0.945263 0.946526 0.954105 0.964842 0.968632 0.964211 +0.954105 0.949684 0.945895 0.940211 0.941474 0.942737 0.936421 0.937684 +0.943368 0.939579 0.940842 0.942105 0.942105 0.951579 0.954105 0.956 +0.957895 0.955368 0.954105 0.956 0.954737 0.953474 0.952842 0.955368 +0.961684 0.966737 0.968 0.967368 0.964211 0.959158 0.956 0.950947 +0.957263 0.965474 0.970526 0.968 0.967368 0.970526 0.968 0.975579 +0.98 0.976211 0.974316 0.970526 0.968 0.963579 0.963579 0.965474 +0.968 0.975579 0.981633 0.980327 0.980653 0.982286 0.98098 0.972421 +0.963579 0.960421 0.965474 0.967368 0.968632 0.972421 0.977474 0.977474 +0.974316 0.975579 0.98 0.98 0.975579 0.973053 0.966737 0.959789 +0.953474 0.950316 0.950947 0.950947 0.946526 0.949053 0.950316 0.948421 +0.951579 0.950947 0.950316 0.948421 0.944632 0.948421 0.949684 0.945263 +0.947158 0.947158 0.945263 0.945895 0.945895 0.949684 0.953474 0.952842 +0.949053 0.949684 0.952842 0.953474 0.951579 0.946526 0.944632 0.945895 +0.948421 0.947789 0.945895 0.945263 0.946526 0.950947 0.954737 0.950947 +0.949053 0.949684 0.952842 0.952842 0.951579 0.957263 0.959789 0.957263 +0.956632 0.959158 0.956632 0.955368 0.952211 0.949684 0.953474 0.955368 +0.949684 0.944632 0.942737 0.946526 0.948421 0.945895 0.945263 0.945263 +0.942737 0.938316 0.940842 0.944 0.944 0.946526 0.945263 0.950947 +0.959789 0.969895 0.983918 0.989796 0.982286 0.930737 0.832211 0.700211 +0.565053 0.4148 0.304987 0.274693 0.242507 0.00092 0.000806667 0.00074 +0.000746667 0.00094 0.282267 0.265227 0.000866667 0.000726667 0.000713333 0.000726667 +0.000706667 0.000686667 0.000666667 0.00066 0.000686667 0.00068 0.00068 0.00068 +0.000666667 0.000673333 0.000646667 0.000626667 0.00064 0.00066 0.00066 0.000646667 +0.000653333 0.000653333 0.000653333 0.000653333 0.000653333 0.00066 0.00066 0.000666667 +0.000673333 0.000686667 0.000673333 0.00068 0.000693333 0.000686667 0.00068 0.000686667 +0.0007 0.0007 0.000686667 0.000706667 0.000706667 0.000693333 0.000686667 0.0007 +0.000713333 0.0007 0.0007 0.000686667 0.000666667 0.000666667 0.00068 0.000686667 +0.00068 0.0007 0.000706667 0.000686667 0.00068 0.0007 0.00072 0.000686667 +0.000653333 0.000653333 0.000666667 0.000706667 0.000713333 0.000693333 0.000686667 0.000686667 +0.000706667 0.000693333 0.00068 0.000673333 0.00068 0.000713333 0.000713333 0.000713333 +0.000713333 0.00068 0.00068 0.000686667 0.0007 0.000726667 0.00072 0.0007 +0.000686667 0.000706667 0.000713333 0.000726667 0.0007 0.000693333 0.000693333 0.000706667 +0.000733333 0.000753333 0.000733333 0.0007 0.000706667 0.000693333 0.00068 0.000693333 +0.00072 0.0007 0.000666667 0.000666667 0.000666667 0.000686667 0.0007 0.000713333 +0.000706667 0.000713333 0.000686667 0.00068 0.000693333 0.000693333 0.000686667 0.000713333 +0.0007 0.00068 0.0007 0.0007 0.00068 0.000686667 0.000686667 0.000686667 +0.000693333 0.000666667 0.000653333 0.000633333 0.000693333 0.000713333 0.000666667 0.00066 +0.000673333 0.000686667 0.000673333 0.00066 0.00066 0.000673333 0.000693333 0.000686667 +0.00068 0.000666667 0.00066 0.00066 0.00066 0.000673333 0.000693333 0.000666667 +0.000666667 0.000686667 0.000686667 0.000673333 0.000673333 0.00066 0.000646667 0.00064 +0.000653333 0.000706667 0.000706667 0.00068 0.000673333 0.000686667 0.000686667 0.00066 +0.00064 0.000653333 0.000653333 0.000653333 0.00066 0.000646667 0.000666667 0.00066 +0.000653333 0.000646667 0.000646667 0.000653333 0.000653333 0.000646667 0.000633333 0.00064 +0.000646667 0.000633333 0.000633333 0.000633333 0.000653333 0.00064 0.000613333 0.000606667 +0.000626667 0.00062 0.00064 0.000653333 0.00064 0.000626667 0.000613333 0.000606667 +0.000626667 0.000626667 0.000626667 0.000653333 0.00068 0.000653333 0.000653333 0.00064 +0.00062 0.00064 0.00062 0.000586667 0.000613333 0.000613333 0.000633333 0.000633333 +0.000646667 0.000673333 0.000633333 0.0006 0.00058 0.000586667 0.000606667 0.000626667 +0.00066 0.0007 0.000726667 0.00074 0.000773333 0.000833333 0.000953333 0.25008 +0.304987 0.339067 0.354213 0.350427 0.367467 0.46024 0.546105 0.630105 +0.736211 0.843579 0.925053 0.979368 0.993388 0.994694 0.988163 0.980327 +0.969895 0.957895 0.945895 0.940842 0.941474 0.939579 0.938947 0.940842 +0.940842 0.942737 0.945895 0.946526 0.945263 0.944 0.944632 0.945895 +0.946526 0.949684 0.953474 0.954105 0.956632 0.954737 0.952211 0.950947 +0.949053 0.948421 0.947789 0.947158 0.945895 0.944632 0.945895 0.950947 +0.959158 0.962947 0.969263 0.980653 0.982286 0.978737 0.970526 0.966737 +0.966105 0.968 0.969263 0.966105 0.962316 0.962316 0.964211 0.968632 +0.974947 0.975579 0.973053 0.968632 0.963579 0.960421 0.956 0.953474 +0.954105 0.956 0.956632 0.957263 0.959789 0.959789 0.955368 0.954105 +0.956 0.955368 0.956 0.957263 0.956632 0.951579 0.951579 0.954105 +0.952842 0.952211 0.954105 0.951579 0.950947 0.949053 0.949684 0.957263 +0.961053 0.964842 0.966737 0.967368 0.969895 0.965474 0.961684 0.959789 +0.957263 0.957895 0.955368 0.954737 0.954105 0.944632 0.941474 0.945895 +0.947789 0.946526 0.946526 0.944 0.946526 0.950947 0.947789 0.945895 +0.943368 0.942737 0.941474 0.937684 0.940211 0.943368 0.938316 0.938316 +0.946526 0.945895 0.947789 0.947158 0.945895 0.954737 0.959789 0.961053 +0.959789 0.957263 0.954737 0.954737 0.952842 0.949053 0.949684 0.950947 +0.954737 0.960421 0.965474 0.966737 0.966737 0.969263 0.974947 0.976211 +0.982286 0.988163 0.992735 0.99698 1.00057 1.00286 0.996 0.989143 +0.986204 0.981633 0.976842 0.968 0.963579 0.960421 0.959789 0.961053 +0.964842 0.969263 0.972421 0.972421 0.978737 0.983592 0.984245 0.980653 +0.976211 0.980327 0.984245 0.98751 0.987184 0.991429 0.99502 0.99502 +0.994041 0.996327 0.999592 0.997633 0.998286 0.998612 0.994367 0.98751 +0.980327 0.975579 0.976842 0.971789 0.967368 0.968632 0.963579 0.960421 +0.962316 0.961053 0.961684 0.957263 0.952842 0.957263 0.956632 0.953474 +0.953474 0.954105 0.954737 0.956 0.955368 0.956632 0.957263 0.953474 +0.950947 0.954737 0.956 0.952842 0.950316 0.949684 0.949684 0.949684 +0.950316 0.947789 0.945263 0.945263 0.945895 0.944 0.943368 0.946526 +0.946526 0.942737 0.945895 0.944 0.942105 0.945263 0.949053 0.949684 +0.953474 0.956632 0.957895 0.958526 0.957895 0.958526 0.961053 0.961053 +0.956 0.949684 0.946526 0.945895 0.944632 0.940842 0.943368 0.945263 +0.943368 0.943368 0.944 0.940211 0.944632 0.945895 0.943368 0.945263 +0.944632 0.949684 0.962316 0.973053 0.983918 0.986857 0.968632 0.892842 +0.762737 0.619368 0.507579 0.34664 0.287947 0.253867 0.216 0.000853333 +0.000766667 0.00086 0.257653 0.280373 0.000946667 0.000726667 0.000713333 0.000726667 +0.000693333 0.000673333 0.000693333 0.00068 0.00068 0.000686667 0.000686667 0.00068 +0.000666667 0.000653333 0.000633333 0.000633333 0.00066 0.000666667 0.000653333 0.000653333 +0.000653333 0.000673333 0.000673333 0.000653333 0.000633333 0.00064 0.00066 0.00068 +0.000673333 0.000633333 0.00062 0.000646667 0.0007 0.000713333 0.000673333 0.00066 +0.00068 0.00068 0.000666667 0.000673333 0.00068 0.000666667 0.00068 0.000706667 +0.000693333 0.00068 0.00068 0.000673333 0.00066 0.000673333 0.000686667 0.000686667 +0.00068 0.0007 0.000713333 0.00068 0.00068 0.000693333 0.000686667 0.00066 +0.000653333 0.000686667 0.000706667 0.0007 0.00068 0.00068 0.000686667 0.0007 +0.0007 0.000686667 0.00068 0.0007 0.000733333 0.00074 0.000713333 0.000686667 +0.0007 0.000706667 0.0007 0.0007 0.000706667 0.000706667 0.0007 0.000693333 +0.000706667 0.000706667 0.000693333 0.00068 0.000693333 0.000706667 0.000713333 0.000713333 +0.000713333 0.000726667 0.00072 0.0007 0.000713333 0.00072 0.000706667 0.000673333 +0.000686667 0.00072 0.000706667 0.000706667 0.000706667 0.0007 0.000693333 0.000713333 +0.000706667 0.000686667 0.000706667 0.000726667 0.000713333 0.000706667 0.000686667 0.000693333 +0.000686667 0.000686667 0.000706667 0.000706667 0.000693333 0.00068 0.000653333 0.000666667 +0.000686667 0.000686667 0.000673333 0.000646667 0.000653333 0.000666667 0.00066 0.000673333 +0.000686667 0.000686667 0.000673333 0.00066 0.000666667 0.000673333 0.0007 0.000693333 +0.000693333 0.00068 0.00066 0.000673333 0.00068 0.000686667 0.00068 0.000673333 +0.000666667 0.00066 0.00066 0.000646667 0.00066 0.00066 0.000653333 0.000633333 +0.000633333 0.00066 0.000673333 0.00068 0.000693333 0.000693333 0.000673333 0.000666667 +0.000673333 0.000673333 0.00064 0.00064 0.00066 0.00066 0.000666667 0.000666667 +0.00068 0.000653333 0.000666667 0.000673333 0.000653333 0.000646667 0.000653333 0.000653333 +0.00066 0.000646667 0.000653333 0.000646667 0.000653333 0.000633333 0.000633333 0.000613333 +0.000613333 0.0006 0.00064 0.000646667 0.00066 0.000653333 0.00062 0.000613333 +0.00062 0.000606667 0.000593333 0.000606667 0.000626667 0.000633333 0.000653333 0.000673333 +0.000653333 0.000653333 0.000633333 0.000613333 0.000613333 0.000613333 0.000633333 0.000626667 +0.000666667 0.0007 0.00066 0.000666667 0.000666667 0.000693333 0.000733333 0.00076 +0.00082 0.00086 0.000893333 0.00096 0.225467 0.26144 0.3012 0.339067 +0.35232 0.359893 0.3864 0.47728 0.554947 0.654105 0.764632 0.867579 +0.945263 0.983265 0.989796 0.992408 0.989796 0.981633 0.962947 0.949053 +0.944632 0.942105 0.938947 0.940211 0.942105 0.941474 0.940842 0.940842 +0.939579 0.942105 0.950316 0.954105 0.952211 0.947789 0.947789 0.952842 +0.954105 0.954737 0.957263 0.957895 0.957263 0.954105 0.952211 0.951579 +0.950947 0.949053 0.948421 0.950316 0.949684 0.945263 0.945895 0.948421 +0.954105 0.962316 0.969263 0.98098 0.98751 0.986531 0.983918 0.984898 +0.985551 0.986857 0.986857 0.984571 0.981306 0.978105 0.978737 0.98098 +0.983918 0.983592 0.982612 0.983918 0.982612 0.98098 0.978737 0.978737 +0.975579 0.971789 0.971158 0.970526 0.969263 0.967368 0.964211 0.962316 +0.961053 0.960421 0.956632 0.954737 0.956 0.954737 0.949684 0.949053 +0.950947 0.947789 0.948421 0.948421 0.947158 0.947158 0.946526 0.952211 +0.956632 0.959158 0.965474 0.968 0.971158 0.969263 0.965474 0.960421 +0.955368 0.954737 0.955368 0.955368 0.956 0.951579 0.951579 0.957263 +0.958526 0.959158 0.963579 0.963579 0.957263 0.956632 0.952842 0.949684 +0.948421 0.947158 0.947158 0.948421 0.950947 0.951579 0.945895 0.944632 +0.949053 0.952211 0.955368 0.953474 0.948421 0.950947 0.957263 0.960421 +0.957895 0.954105 0.950947 0.952211 0.952211 0.947789 0.949684 0.951579 +0.954105 0.959158 0.966105 0.969895 0.973684 0.982612 0.991429 0.998939 +1.01004 1.02082 1.03551 1.05935 1.1376 1.14825 1.05869 1.02376 +0.997633 0.986204 0.980653 0.973684 0.968632 0.965474 0.965474 0.966105 +0.967368 0.973053 0.978105 0.979368 0.983265 0.991755 0.998286 0.996653 +0.994041 0.99698 1.00253 1.0058 1.00743 1.01135 1.01363 1.01396 +1.01592 1.02016 1.02376 1.02376 1.02931 1.03127 1.02408 1.012 +1.00057 0.99698 0.99698 0.993061 0.991755 0.992408 0.989796 0.989143 +0.987837 0.985224 0.985551 0.984571 0.984245 0.985224 0.982286 0.980327 +0.980327 0.981633 0.982286 0.982286 0.982286 0.983592 0.982286 0.978105 +0.976842 0.976842 0.974316 0.969263 0.963579 0.961053 0.961684 0.962947 +0.959789 0.954737 0.952211 0.952842 0.949684 0.944 0.941474 0.943368 +0.942737 0.944 0.946526 0.943368 0.939579 0.940211 0.942105 0.944632 +0.946526 0.945895 0.947789 0.950316 0.953474 0.958526 0.961053 0.961684 +0.962316 0.960421 0.959789 0.956632 0.950316 0.945895 0.947158 0.949053 +0.949053 0.948421 0.944 0.938947 0.946526 0.949053 0.948421 0.949053 +0.946526 0.949684 0.952211 0.952842 0.962947 0.979368 0.987837 0.983592 +0.933263 0.822737 0.679368 0.548 0.39776 0.3012 0.263333 0.240613 +0.00094 0.000866667 0.231147 0.293627 0.257653 0.000866667 0.00074 0.000733333 +0.000733333 0.000693333 0.000713333 0.000713333 0.0007 0.000706667 0.00072 0.000673333 +0.000626667 0.000653333 0.000653333 0.000633333 0.00066 0.00066 0.00066 0.000666667 +0.000653333 0.000673333 0.000666667 0.000646667 0.000633333 0.00066 0.00066 0.000646667 +0.000646667 0.000613333 0.000633333 0.00068 0.000713333 0.000706667 0.000666667 0.000666667 +0.00068 0.00066 0.000653333 0.000666667 0.000686667 0.00068 0.000693333 0.00072 +0.0007 0.000673333 0.000686667 0.0007 0.000673333 0.000686667 0.000686667 0.000693333 +0.000706667 0.00072 0.000713333 0.000693333 0.000693333 0.000686667 0.00068 0.000693333 +0.000693333 0.000693333 0.000686667 0.00068 0.0007 0.000706667 0.000706667 0.0007 +0.000706667 0.000713333 0.0007 0.000726667 0.000733333 0.0007 0.000686667 0.0007 +0.000726667 0.00072 0.0007 0.000693333 0.000686667 0.00068 0.000706667 0.00072 +0.000706667 0.000686667 0.00068 0.00068 0.000713333 0.000726667 0.00072 0.000713333 +0.000713333 0.00072 0.00072 0.000713333 0.0007 0.0007 0.000713333 0.0007 +0.000693333 0.0007 0.000726667 0.00072 0.000693333 0.0007 0.000706667 0.0007 +0.0007 0.0007 0.00068 0.000693333 0.000706667 0.000726667 0.000726667 0.000713333 +0.0007 0.000706667 0.000706667 0.000713333 0.000713333 0.000706667 0.0007 0.00068 +0.000673333 0.00068 0.0007 0.0007 0.000673333 0.000673333 0.00068 0.000693333 +0.000693333 0.00068 0.000693333 0.000673333 0.00068 0.00068 0.000673333 0.000666667 +0.000673333 0.000666667 0.00068 0.000693333 0.000693333 0.00068 0.000673333 0.000693333 +0.000706667 0.000686667 0.000686667 0.000673333 0.00066 0.000653333 0.00066 0.000666667 +0.00066 0.00062 0.00062 0.000633333 0.000653333 0.000673333 0.00068 0.000666667 +0.000666667 0.00066 0.000626667 0.00062 0.000646667 0.000646667 0.00066 0.000646667 +0.00066 0.000646667 0.00068 0.00068 0.000646667 0.000653333 0.000666667 0.00066 +0.00066 0.000673333 0.000673333 0.000666667 0.000653333 0.000646667 0.000653333 0.000666667 +0.000653333 0.000633333 0.00062 0.00064 0.00066 0.00068 0.000673333 0.00066 +0.00066 0.000633333 0.000606667 0.000613333 0.000626667 0.0006 0.0006 0.000633333 +0.000666667 0.00068 0.000653333 0.00064 0.00062 0.000626667 0.000693333 0.000733333 +0.00084 0.000926667 0.000906667 0.000906667 0.000926667 0.000966667 0.223573 0.240613 +0.259547 0.280373 0.291733 0.299307 0.30688 0.322027 0.339067 0.34664 +0.361787 0.44888 0.551158 0.656 0.775368 0.882737 0.956 0.986204 +0.990776 0.985224 0.976842 0.973684 0.969263 0.959158 0.951579 0.945895 +0.941474 0.939579 0.940211 0.944 0.945263 0.948421 0.948421 0.946526 +0.945263 0.948421 0.954105 0.956632 0.953474 0.950947 0.950316 0.951579 +0.954105 0.953474 0.950947 0.950316 0.950316 0.950316 0.951579 0.950316 +0.949684 0.949053 0.950947 0.954105 0.954105 0.949053 0.948421 0.949053 +0.952842 0.961053 0.965474 0.971158 0.98098 0.984245 0.985551 0.985878 +0.985878 0.986531 0.986204 0.984571 0.982286 0.98 0.980653 0.981959 +0.983265 0.986204 0.988816 0.991755 0.992408 0.991102 0.991102 0.993388 +0.993714 0.992082 0.991102 0.989796 0.988163 0.985551 0.981633 0.978105 +0.975579 0.974316 0.969895 0.964842 0.961053 0.957895 0.956 0.951579 +0.950316 0.945263 0.944 0.947789 0.948421 0.951579 0.950316 0.952211 +0.958526 0.961053 0.966105 0.971158 0.972421 0.969263 0.964842 0.960421 +0.959158 0.959158 0.964211 0.969263 0.972421 0.975579 0.98098 0.984898 +0.988816 0.990122 0.990122 0.989143 0.983918 0.981633 0.978105 0.971158 +0.964211 0.956632 0.950947 0.947158 0.949684 0.951579 0.946526 0.944632 +0.945263 0.948421 0.952211 0.950316 0.948421 0.952211 0.954737 0.957263 +0.956632 0.953474 0.950947 0.950316 0.951579 0.948421 0.950316 0.952211 +0.952211 0.957895 0.965474 0.976842 0.985878 0.995673 1.01102 1.03257 +1.06 1.17869 1.31563 1.47844 1.54539 1.49214 1.31715 1.05673 +1.01004 0.990776 0.983592 0.980653 0.976211 0.971158 0.971158 0.973684 +0.976842 0.980653 0.983918 0.985224 0.991102 1.00318 1.01331 1.01265 +1.00873 1.01037 1.01592 1.01984 1.02147 1.02376 1.02278 1.02441 +1.02767 1.03257 1.03714 1.04073 1.04629 1.05053 1.04563 1.03159 +1.01853 1.01167 1.00776 1.00318 1.00351 1.00318 1.00188 1.00253 +1.00024 0.997959 0.997633 0.997633 1.00024 1.00024 0.996653 0.994041 +0.993388 0.995347 0.996 0.996327 0.997633 0.999918 0.998612 0.996327 +0.996327 0.994041 0.991102 0.990449 0.988163 0.984898 0.981306 0.974316 +0.964842 0.959158 0.958526 0.957263 0.954737 0.956 0.956 0.954105 +0.952842 0.956 0.953474 0.945895 0.944 0.944 0.940211 0.942737 +0.941474 0.939579 0.940842 0.944 0.945263 0.947158 0.950316 0.952211 +0.954737 0.959158 0.961053 0.961684 0.957895 0.958526 0.957895 0.954737 +0.952842 0.948421 0.944 0.941474 0.941474 0.942737 0.947158 0.950947 +0.952842 0.954105 0.949053 0.942737 0.945895 0.957895 0.972421 0.983592 +0.987184 0.959789 0.870737 0.730526 0.585895 0.45456 0.314453 0.270907 +0.240613 0.000966667 0.000993333 0.270907 0.28984 0.229253 0.000813333 0.000773333 +0.000746667 0.000693333 0.000706667 0.00072 0.000713333 0.000713333 0.00068 0.000653333 +0.000646667 0.00066 0.00066 0.000633333 0.000653333 0.000653333 0.00066 0.00066 +0.000646667 0.00066 0.000653333 0.000653333 0.00064 0.000653333 0.00064 0.000633333 +0.00066 0.00066 0.00068 0.000706667 0.000706667 0.000706667 0.0007 0.0007 +0.000693333 0.000666667 0.000673333 0.000686667 0.000706667 0.000693333 0.000693333 0.000706667 +0.000706667 0.0007 0.000726667 0.00072 0.000686667 0.000686667 0.000686667 0.000713333 +0.000713333 0.000706667 0.0007 0.000706667 0.000706667 0.000673333 0.00068 0.000706667 +0.000693333 0.000693333 0.000693333 0.000706667 0.000726667 0.000706667 0.0007 0.0007 +0.00072 0.000713333 0.000693333 0.000693333 0.000686667 0.000673333 0.0007 0.000713333 +0.00072 0.0007 0.000673333 0.000686667 0.000713333 0.00072 0.00074 0.000706667 +0.00068 0.000686667 0.0007 0.0007 0.000726667 0.000713333 0.0007 0.0007 +0.000726667 0.000726667 0.000713333 0.000706667 0.000693333 0.000686667 0.000693333 0.0007 +0.000726667 0.00072 0.000726667 0.000726667 0.000666667 0.00066 0.00072 0.000706667 +0.000673333 0.0007 0.000706667 0.00068 0.00068 0.000693333 0.00068 0.000693333 +0.000726667 0.000733333 0.00072 0.000706667 0.000686667 0.000686667 0.000706667 0.000693333 +0.000673333 0.000673333 0.00068 0.000686667 0.000673333 0.000686667 0.0007 0.0007 +0.00068 0.000666667 0.000673333 0.000646667 0.00068 0.000693333 0.000673333 0.000673333 +0.000673333 0.000653333 0.00068 0.0007 0.00068 0.00066 0.00066 0.00066 +0.000673333 0.000673333 0.000693333 0.0007 0.000693333 0.00068 0.000673333 0.000693333 +0.000693333 0.000646667 0.00066 0.00066 0.00064 0.00064 0.00066 0.000686667 +0.000673333 0.00068 0.00066 0.00064 0.00062 0.000626667 0.000633333 0.000626667 +0.000633333 0.000633333 0.000646667 0.000673333 0.000673333 0.000653333 0.000646667 0.000653333 +0.000633333 0.00062 0.00066 0.000646667 0.000633333 0.00064 0.000633333 0.000653333 +0.00064 0.000633333 0.000633333 0.00062 0.000633333 0.00066 0.00066 0.000673333 +0.000686667 0.000653333 0.000653333 0.000673333 0.000666667 0.000653333 0.000626667 0.000606667 +0.000633333 0.000673333 0.000666667 0.000693333 0.000733333 0.000853333 0.000993333 0.240613 +0.265227 0.270907 0.26144 0.26144 0.265227 0.26712 0.276587 0.287947 +0.297413 0.3012 0.29552 0.291733 0.299307 0.314453 0.342853 0.422373 +0.536 0.637684 0.764632 0.882737 0.966105 0.992082 0.992735 0.986204 +0.974947 0.961053 0.954737 0.956 0.955368 0.952211 0.954105 0.956 +0.951579 0.947158 0.947789 0.949053 0.948421 0.949684 0.949053 0.947158 +0.947158 0.949053 0.951579 0.952211 0.954105 0.955368 0.954737 0.955368 +0.954737 0.952842 0.950947 0.949053 0.947789 0.947789 0.950316 0.950947 +0.952842 0.955368 0.956632 0.958526 0.961053 0.960421 0.957263 0.953474 +0.953474 0.957263 0.961053 0.964842 0.971158 0.98 0.982612 0.98098 +0.98098 0.981959 0.982286 0.982939 0.982939 0.984245 0.986857 0.990449 +0.993388 0.996327 0.998612 1.0022 1.00482 1.00482 1.00416 1.00351 +1.00612 1.0071 1.00645 1.00514 1.00286 1.00024 0.995673 0.992735 +0.990776 0.990449 0.988163 0.986531 0.983592 0.978105 0.970526 0.964211 +0.959158 0.954737 0.952211 0.953474 0.954105 0.958526 0.959789 0.961684 +0.968632 0.970526 0.974947 0.981959 0.982612 0.976842 0.972421 0.974316 +0.979368 0.981633 0.986531 0.991429 0.994041 0.997633 1.0009 1.00678 +1.01331 1.01657 1.01494 1.01167 1.00841 1.00873 1.0058 0.999592 +0.991755 0.981633 0.965474 0.949684 0.945263 0.947158 0.945895 0.948421 +0.950947 0.954737 0.958526 0.956632 0.954737 0.959158 0.958526 0.956632 +0.956632 0.956 0.954737 0.955368 0.957895 0.955368 0.955368 0.954737 +0.955368 0.964211 0.978737 0.989143 1.0022 1.01461 1.03649 1.12999 +1.32324 1.4617 1.55757 1.60017 1.54996 1.42519 1.26085 1.05739 +1.01722 0.997306 0.987837 0.981959 0.977474 0.969895 0.969895 0.98 +0.984245 0.986204 0.990449 0.992735 0.999918 1.01069 1.0169 1.01853 +1.01951 1.0218 1.02604 1.02767 1.02702 1.028 1.02735 1.02963 +1.03127 1.0329 1.03584 1.03682 1.03812 1.04433 1.04596 1.03682 +1.02702 1.0182 1.00939 1.00384 1.00416 1.00286 1.00188 1.00155 +1.00057 1.0009 0.999918 1.00122 1.00416 1.00351 1.00155 0.999265 +0.999918 1.00318 1.00351 1.00286 1.00351 1.00482 1.00482 1.00514 +1.0058 1.00253 0.999265 0.998939 0.997959 0.996653 0.992735 0.986531 +0.980653 0.971789 0.964842 0.961053 0.958526 0.959158 0.958526 0.960421 +0.964211 0.969895 0.964211 0.959158 0.960421 0.957895 0.954737 0.953474 +0.947158 0.943368 0.937684 0.938316 0.938947 0.935789 0.936421 0.938947 +0.944 0.949053 0.950947 0.951579 0.952211 0.956 0.960421 0.962316 +0.961684 0.955368 0.948421 0.944632 0.941474 0.938316 0.940211 0.944632 +0.949684 0.950947 0.946526 0.939579 0.940211 0.947158 0.952211 0.959789 +0.978105 0.986204 0.974316 0.900421 0.770316 0.623789 0.505684 0.327707 +0.270907 0.246293 0.22168 0.246293 0.293627 0.287947 0.223573 0.00082 +0.000746667 0.000713333 0.000693333 0.000706667 0.000706667 0.000666667 0.00066 0.00068 +0.000673333 0.000653333 0.000666667 0.000633333 0.00064 0.000686667 0.000686667 0.000673333 +0.000666667 0.000686667 0.000693333 0.000673333 0.00064 0.000653333 0.000673333 0.000673333 +0.00068 0.00068 0.0007 0.0007 0.0007 0.000726667 0.00072 0.00068 +0.000686667 0.000693333 0.0007 0.0007 0.000686667 0.00068 0.000693333 0.000706667 +0.0007 0.000706667 0.00072 0.00068 0.000666667 0.000686667 0.000693333 0.000706667 +0.000673333 0.000666667 0.00068 0.0007 0.000673333 0.00066 0.000673333 0.000673333 +0.000673333 0.000686667 0.00072 0.000706667 0.00068 0.000686667 0.000686667 0.0007 +0.000726667 0.0007 0.00066 0.00066 0.00068 0.000706667 0.0007 0.000686667 +0.000686667 0.000686667 0.000693333 0.000713333 0.00072 0.0007 0.000686667 0.00068 +0.000686667 0.000693333 0.0007 0.0007 0.000706667 0.000693333 0.000693333 0.000706667 +0.000713333 0.000713333 0.0007 0.00068 0.000713333 0.000686667 0.00068 0.000693333 +0.000706667 0.000706667 0.000713333 0.00072 0.000713333 0.00068 0.000693333 0.0007 +0.0007 0.000693333 0.000673333 0.000673333 0.00068 0.0007 0.000673333 0.000673333 +0.000706667 0.00072 0.00072 0.00072 0.000686667 0.00068 0.00068 0.000693333 +0.000693333 0.00068 0.00068 0.000686667 0.00066 0.00066 0.00068 0.000693333 +0.000693333 0.00068 0.000666667 0.000633333 0.000626667 0.000633333 0.000653333 0.000686667 +0.000666667 0.00066 0.000666667 0.00068 0.000666667 0.000673333 0.0007 0.00068 +0.000653333 0.000633333 0.000646667 0.00066 0.00068 0.000686667 0.00068 0.000666667 +0.00064 0.000653333 0.000693333 0.000693333 0.000673333 0.000646667 0.00064 0.00066 +0.000666667 0.000693333 0.0007 0.00068 0.000653333 0.00064 0.00064 0.000653333 +0.000646667 0.00064 0.000646667 0.00066 0.000653333 0.000653333 0.000666667 0.000673333 +0.00064 0.000626667 0.000633333 0.000626667 0.000626667 0.00064 0.000653333 0.000646667 +0.000633333 0.000633333 0.000646667 0.000633333 0.000626667 0.000626667 0.000626667 0.000646667 +0.000673333 0.000646667 0.00066 0.000673333 0.000666667 0.000666667 0.000673333 0.000673333 +0.00066 0.000646667 0.000673333 0.0008 0.223573 0.280373 0.291733 0.276587 +0.253867 0.217893 0.000926667 0.000946667 0.000953333 0.000946667 0.00096 0.000973333 +0.000973333 0.000973333 0.219787 0.25008 0.297413 0.384507 0.508842 0.604211 +0.736842 0.865053 0.957263 0.992082 0.997633 0.991429 0.980653 0.963579 +0.952211 0.948421 0.949684 0.951579 0.953474 0.952211 0.952211 0.953474 +0.952842 0.952211 0.954737 0.952842 0.950316 0.947158 0.946526 0.946526 +0.948421 0.952211 0.952842 0.953474 0.960421 0.964211 0.962316 0.961053 +0.957263 0.952842 0.951579 0.952211 0.949053 0.946526 0.950316 0.956 +0.959789 0.961684 0.962947 0.963579 0.966737 0.971789 0.972421 0.968632 +0.965474 0.966105 0.966737 0.969895 0.976211 0.982612 0.985551 0.986204 +0.98751 0.990122 0.992408 0.993714 0.994367 0.997306 1.00155 1.0058 +1.00906 1.01037 1.01135 1.01298 1.01592 1.01918 1.01722 1.01559 +1.0169 1.0182 1.01853 1.01918 1.0169 1.01037 1.00482 1.0022 +1.00024 0.998612 0.996327 0.994367 0.994694 0.991755 0.984898 0.979368 +0.973053 0.968632 0.964842 0.965474 0.965474 0.969263 0.971789 0.974316 +0.975579 0.976211 0.980327 0.982612 0.981959 0.977474 0.977474 0.982939 +0.98751 0.992735 0.998939 1.00482 1.00939 1.01331 1.01624 1.02114 +1.02931 1.0329 1.03192 1.02865 1.02963 1.03682 1.03518 1.0231 +1.012 1.00057 0.98849 0.974316 0.961053 0.954105 0.950947 0.957263 +0.962947 0.967368 0.968632 0.968 0.966105 0.964842 0.961684 0.957895 +0.957895 0.958526 0.956632 0.960421 0.963579 0.962316 0.965474 0.968 +0.973053 0.982612 0.994041 1.00678 1.0231 1.04073 1.11173 1.29585 +1.41453 1.45105 1.41453 1.3278 1.24716 1.17716 1.09652 1.04563 +1.02343 1.00906 0.998612 0.989469 0.983918 0.981306 0.983918 0.991755 +0.997633 0.999265 1.00351 1.00514 1.00873 1.01298 1.01592 1.02016 +1.02441 1.02702 1.02931 1.02931 1.02833 1.02898 1.02735 1.02833 +1.02865 1.02767 1.02702 1.02604 1.02539 1.03094 1.03486 1.02833 +1.02114 1.01396 1.00612 1.00155 1.00024 0.999592 0.998612 0.997633 +0.997633 0.998939 0.998286 1.00024 1.00318 1.00253 1.0022 1.00122 +1.00384 1.00612 1.0058 1.00547 1.00482 1.00514 1.00547 1.00645 +1.0071 1.00449 1.00286 1.00253 1.00318 1.00351 1.00188 0.998612 +0.995673 0.990449 0.985551 0.981959 0.974947 0.964842 0.956632 0.957263 +0.965474 0.971158 0.971789 0.974947 0.979368 0.980653 0.980327 0.976211 +0.971158 0.964211 0.952211 0.944 0.940842 0.935789 0.933263 0.937053 +0.940842 0.941474 0.942105 0.941474 0.940842 0.940842 0.949684 0.957263 +0.961053 0.961053 0.961684 0.956632 0.949053 0.944 0.940211 0.942105 +0.945895 0.949053 0.948421 0.943368 0.938947 0.940211 0.942737 0.943368 +0.952211 0.972421 0.982286 0.976211 0.922526 0.805053 0.655368 0.529053 +0.36936 0.270907 0.242507 0.253867 0.297413 0.322027 0.293627 0.223573 +0.000853333 0.00076 0.0007 0.000693333 0.000686667 0.000673333 0.00068 0.00068 +0.000653333 0.00066 0.00068 0.00064 0.00066 0.000693333 0.000673333 0.000673333 +0.000666667 0.000686667 0.00068 0.000653333 0.000646667 0.000673333 0.00068 0.000673333 +0.000666667 0.00066 0.000686667 0.00068 0.00068 0.000706667 0.0007 0.00066 +0.000686667 0.0007 0.000693333 0.000673333 0.00066 0.000673333 0.000706667 0.000706667 +0.000666667 0.000686667 0.000693333 0.000666667 0.000666667 0.00068 0.000686667 0.000693333 +0.000673333 0.00066 0.00068 0.000693333 0.000673333 0.00068 0.000693333 0.000686667 +0.000693333 0.0007 0.0007 0.000693333 0.00068 0.000686667 0.000693333 0.000713333 +0.000713333 0.00066 0.000646667 0.000673333 0.000706667 0.00068 0.00066 0.000666667 +0.000673333 0.0007 0.00072 0.0007 0.00068 0.000666667 0.000686667 0.000706667 +0.000693333 0.000686667 0.000673333 0.00068 0.000713333 0.000713333 0.000706667 0.0007 +0.0007 0.0007 0.0007 0.000693333 0.000726667 0.000713333 0.000706667 0.000706667 +0.000693333 0.000673333 0.000693333 0.000713333 0.000726667 0.000733333 0.0007 0.000693333 +0.000713333 0.00072 0.000693333 0.00068 0.000666667 0.00066 0.000673333 0.000673333 +0.00066 0.000686667 0.0007 0.000706667 0.000726667 0.000733333 0.000706667 0.0007 +0.000713333 0.000733333 0.00072 0.000706667 0.000693333 0.000686667 0.000673333 0.000666667 +0.0007 0.000726667 0.000713333 0.000693333 0.00066 0.000633333 0.000646667 0.000673333 +0.000666667 0.000666667 0.000653333 0.00066 0.000673333 0.000673333 0.00068 0.000686667 +0.000686667 0.000666667 0.000646667 0.000646667 0.000653333 0.000673333 0.00068 0.00068 +0.000646667 0.000646667 0.000653333 0.00066 0.00066 0.000673333 0.000666667 0.000646667 +0.00064 0.000653333 0.000673333 0.000686667 0.000686667 0.000673333 0.000653333 0.00066 +0.000653333 0.00066 0.00068 0.000673333 0.000646667 0.000646667 0.00066 0.000666667 +0.00068 0.00068 0.000666667 0.000633333 0.000633333 0.000633333 0.000653333 0.000666667 +0.000626667 0.00064 0.000673333 0.00066 0.000653333 0.00064 0.00062 0.000646667 +0.000646667 0.000633333 0.000653333 0.000653333 0.00066 0.00066 0.000673333 0.00068 +0.000706667 0.000706667 0.000793333 0.234933 0.3012 0.3012 0.248187 0.000926667 +0.000793333 0.0007 0.000686667 0.000733333 0.00074 0.000726667 0.000746667 0.000773333 +0.000813333 0.0009 0.246293 0.3296 0.467813 0.572 0.693263 0.830947 +0.939579 0.986531 0.994041 0.991755 0.984898 0.974947 0.959789 0.949053 +0.947158 0.950316 0.951579 0.947158 0.945895 0.945895 0.945263 0.944632 +0.944 0.949684 0.954105 0.953474 0.951579 0.949053 0.949684 0.953474 +0.956 0.957895 0.961053 0.965474 0.964842 0.962316 0.959158 0.957895 +0.956 0.954105 0.954105 0.954737 0.957895 0.961053 0.963579 0.969895 +0.973684 0.975579 0.978737 0.980327 0.98098 0.983265 0.985224 0.986204 +0.986531 0.986531 0.986857 0.989143 0.992735 0.996653 0.998939 0.998286 +0.998612 1.0022 1.00514 1.00808 1.00808 1.01037 1.01429 1.01657 +1.01788 1.01918 1.02016 1.01984 1.02245 1.02571 1.02441 1.02245 +1.02539 1.02702 1.02539 1.02669 1.02604 1.02049 1.01396 1.01069 +1.00873 1.00482 1.00024 0.997306 0.99698 0.996653 0.991429 0.986204 +0.982286 0.975579 0.966105 0.964842 0.964842 0.968 0.972421 0.974947 +0.973053 0.971789 0.973684 0.971789 0.969895 0.967368 0.973053 0.983265 +0.991102 1.00024 1.00808 1.01624 1.01984 1.02408 1.02865 1.03257 +1.03714 1.03845 1.03943 1.03878 1.04171 1.05053 1.04792 1.0329 +1.02147 1.01429 1.00449 0.993061 0.985551 0.98 0.971789 0.975579 +0.98 0.978737 0.976842 0.976842 0.976842 0.974947 0.971789 0.968 +0.964842 0.966105 0.964842 0.967368 0.972421 0.977474 0.982286 0.987184 +0.991429 0.996653 1.0071 1.02245 1.04367 1.07522 1.19694 1.2715 +1.25172 1.19999 1.12543 1.05837 1.05347 1.05282 1.04629 1.03584 +1.02441 1.0169 1.00906 0.999918 0.994367 0.993714 0.998939 1.00678 +1.01069 1.012 1.01624 1.01853 1.02016 1.02082 1.02376 1.02604 +1.02931 1.03029 1.02931 1.02996 1.02931 1.02931 1.02669 1.028 +1.02767 1.02669 1.02571 1.02376 1.02212 1.02278 1.02343 1.01918 +1.01429 1.01037 1.00351 0.999918 0.998939 0.997959 0.996653 0.994367 +0.994694 0.997306 0.996653 0.997633 0.998939 0.999918 1.00155 1.00057 +1.00351 1.00351 1.00318 1.00253 1.00286 1.00416 1.00384 1.00482 +1.00449 1.00351 1.00286 1.00286 1.00384 1.00482 1.00514 1.00449 +1.00351 1.00122 1.0009 0.997306 0.991102 0.982939 0.970526 0.964842 +0.970526 0.972421 0.973053 0.974947 0.980327 0.983265 0.985224 0.985224 +0.983592 0.98098 0.975579 0.967368 0.956 0.947158 0.940842 0.940211 +0.940211 0.939579 0.937053 0.934526 0.935158 0.933263 0.937684 0.944632 +0.948421 0.954737 0.964842 0.964842 0.962316 0.956632 0.950947 0.947789 +0.947789 0.950316 0.948421 0.944 0.940842 0.938947 0.938316 0.938316 +0.942737 0.952211 0.966105 0.981306 0.981633 0.939579 0.837263 0.692632 +0.555579 0.395867 0.2728 0.25008 0.282267 0.30688 0.31256 0.28984 +0.236827 0.000853333 0.0007 0.000666667 0.00068 0.000693333 0.000673333 0.000666667 +0.000653333 0.000653333 0.0007 0.000666667 0.000653333 0.000666667 0.00066 0.000686667 +0.000666667 0.00066 0.00066 0.000653333 0.000653333 0.000653333 0.000646667 0.000653333 +0.00066 0.00066 0.00066 0.00066 0.000666667 0.000666667 0.000666667 0.00066 +0.000693333 0.000693333 0.000666667 0.000646667 0.00066 0.000686667 0.0007 0.000673333 +0.000646667 0.000673333 0.0007 0.000673333 0.000673333 0.000653333 0.000646667 0.000666667 +0.00066 0.00066 0.000666667 0.000673333 0.000666667 0.000693333 0.0007 0.000686667 +0.00068 0.000673333 0.00068 0.000693333 0.000706667 0.000693333 0.000686667 0.000693333 +0.00066 0.00064 0.000686667 0.000713333 0.000693333 0.00066 0.000653333 0.000693333 +0.000713333 0.000713333 0.000693333 0.00068 0.000693333 0.000693333 0.000706667 0.0007 +0.000693333 0.000693333 0.000693333 0.00074 0.000746667 0.000713333 0.000693333 0.000693333 +0.000706667 0.00072 0.000713333 0.000693333 0.000706667 0.00072 0.000733333 0.000713333 +0.0007 0.000666667 0.000673333 0.0007 0.000693333 0.000693333 0.000726667 0.000733333 +0.000713333 0.000706667 0.000713333 0.000726667 0.000713333 0.00068 0.00066 0.00066 +0.000633333 0.000646667 0.000646667 0.00066 0.0007 0.000713333 0.000693333 0.0007 +0.000693333 0.000713333 0.000726667 0.000713333 0.000706667 0.000706667 0.000693333 0.000666667 +0.000666667 0.000686667 0.000713333 0.000713333 0.0007 0.0007 0.00068 0.00068 +0.00068 0.000673333 0.000646667 0.00066 0.000673333 0.000673333 0.00066 0.000653333 +0.000673333 0.00068 0.000686667 0.00068 0.000673333 0.00068 0.000686667 0.000693333 +0.000673333 0.000673333 0.00066 0.00064 0.000653333 0.000666667 0.000666667 0.000666667 +0.00066 0.000653333 0.000653333 0.000666667 0.000666667 0.00066 0.00066 0.000646667 +0.000646667 0.000653333 0.00068 0.00068 0.000673333 0.00066 0.000653333 0.000646667 +0.00064 0.00064 0.000653333 0.000646667 0.00064 0.000633333 0.00066 0.00066 +0.00064 0.000653333 0.000673333 0.000686667 0.00066 0.00064 0.000626667 0.00066 +0.000646667 0.000606667 0.00064 0.000666667 0.000666667 0.000673333 0.000673333 0.000673333 +0.0007 0.000766667 0.223573 0.303093 0.293627 0.217893 0.000786667 0.00068 +0.000613333 0.0006 0.000626667 0.000666667 0.0007 0.000706667 0.000726667 0.00082 +0.00098 0.27848 0.388293 0.528421 0.639579 0.780421 0.908 0.983592 +0.995347 0.989796 0.980327 0.968632 0.962316 0.962316 0.957263 0.947789 +0.948421 0.952842 0.952842 0.948421 0.944632 0.942737 0.944632 0.949053 +0.954105 0.960421 0.961684 0.959789 0.957895 0.956 0.953474 0.958526 +0.962947 0.961053 0.960421 0.960421 0.954105 0.954105 0.954105 0.953474 +0.957263 0.962947 0.964842 0.971158 0.979368 0.982939 0.983592 0.986204 +0.989469 0.990449 0.990776 0.991429 0.992082 0.993388 0.995347 0.997959 +0.999592 1.00057 1.00253 1.00449 1.0058 1.00808 1.01037 1.00939 +1.00873 1.01069 1.01363 1.01657 1.01788 1.01853 1.02016 1.02245 +1.02278 1.02278 1.02376 1.02441 1.02637 1.028 1.02702 1.02506 +1.02637 1.02898 1.02767 1.02669 1.02669 1.02245 1.01951 1.01722 +1.01494 1.01102 1.00612 1.00416 1.00122 0.998612 0.994694 0.992082 +0.990122 0.983592 0.976842 0.974947 0.972421 0.972421 0.978105 0.981306 +0.981959 0.981633 0.979368 0.969263 0.962316 0.964842 0.974947 0.983918 +0.993714 1.00449 1.01233 1.02049 1.02376 1.02669 1.03159 1.03453 +1.03747 1.03747 1.03845 1.03878 1.03943 1.04237 1.04041 1.03094 +1.02408 1.02049 1.01363 1.00841 1.01265 1.01657 1.01886 1.0218 +1.01559 1.00449 0.995673 0.990449 0.988816 0.988816 0.988163 0.986204 +0.985551 0.989143 0.990122 0.996 1.00678 1.01494 1.0169 1.01363 +1.00612 1.00384 1.01167 1.02833 1.0489 1.07522 1.12695 1.11021 +1.05837 1.0489 1.04269 1.0391 1.03943 1.04139 1.03812 1.03192 +1.02408 1.01918 1.01429 1.00808 1.00514 1.00547 1.00873 1.01527 +1.01886 1.02049 1.02278 1.02506 1.02735 1.02702 1.02833 1.02931 +1.03094 1.03094 1.02963 1.02996 1.02996 1.03029 1.02898 1.02996 +1.02865 1.02767 1.02604 1.0231 1.02049 1.01788 1.01363 1.00971 +1.0071 1.00449 0.997633 0.994041 0.993388 0.991429 0.990122 0.987184 +0.98849 0.990776 0.990449 0.993388 0.995347 0.996653 0.997959 0.998939 +1.00155 1.00122 1.00155 1.00057 1.00188 1.00286 1.0022 1.00253 +1.00253 1.00253 1.0022 1.0022 1.00318 1.00416 1.00416 1.0058 +1.00449 1.00351 1.00482 1.00318 0.999592 0.993714 0.987184 0.984571 +0.984245 0.982939 0.982612 0.980653 0.980327 0.982612 0.984245 0.982939 +0.982939 0.982939 0.982612 0.980327 0.976211 0.966737 0.957895 0.952842 +0.947158 0.943368 0.933895 0.931368 0.935158 0.933263 0.933895 0.934526 +0.937053 0.944632 0.950947 0.955368 0.960421 0.962316 0.959158 0.952211 +0.950947 0.952842 0.947789 0.945895 0.945263 0.940211 0.934526 0.936421 +0.939579 0.942737 0.949053 0.958526 0.976842 0.98098 0.949684 0.860632 +0.722316 0.580211 0.424267 0.2728 0.259547 0.27848 0.28984 0.310667 +0.3012 0.231147 0.000813333 0.000726667 0.000713333 0.000713333 0.00068 0.000673333 +0.000673333 0.000673333 0.000686667 0.00066 0.000646667 0.0007 0.0007 0.000686667 +0.00066 0.000653333 0.000666667 0.000666667 0.000646667 0.000646667 0.000646667 0.00066 +0.00066 0.000646667 0.00066 0.000666667 0.000686667 0.000666667 0.000666667 0.000693333 +0.000693333 0.000653333 0.00064 0.00066 0.000673333 0.000686667 0.00068 0.000666667 +0.000666667 0.000686667 0.0007 0.00068 0.00066 0.000646667 0.000653333 0.000666667 +0.000673333 0.000673333 0.000666667 0.00068 0.000686667 0.000706667 0.000706667 0.00068 +0.00066 0.00068 0.000693333 0.000693333 0.000693333 0.00068 0.000673333 0.00068 +0.00068 0.000673333 0.000693333 0.000686667 0.000673333 0.000686667 0.000693333 0.000726667 +0.000726667 0.000686667 0.00068 0.000713333 0.000726667 0.000706667 0.000693333 0.00068 +0.000706667 0.00072 0.000746667 0.000753333 0.000713333 0.000693333 0.000693333 0.000706667 +0.000726667 0.000726667 0.000693333 0.000686667 0.000713333 0.000706667 0.000746667 0.000746667 +0.000733333 0.000713333 0.000686667 0.00068 0.00068 0.000673333 0.0007 0.000713333 +0.000733333 0.00072 0.00072 0.000706667 0.000706667 0.00072 0.000713333 0.0007 +0.000693333 0.00068 0.000666667 0.000646667 0.00066 0.00068 0.00068 0.000713333 +0.0007 0.000673333 0.000686667 0.000693333 0.00068 0.000686667 0.0007 0.0007 +0.00068 0.000673333 0.000666667 0.000686667 0.0007 0.00072 0.000713333 0.000713333 +0.000713333 0.000693333 0.000653333 0.00066 0.000673333 0.000686667 0.00068 0.000666667 +0.000673333 0.00068 0.00068 0.00068 0.000686667 0.0007 0.000666667 0.000666667 +0.00066 0.000646667 0.00066 0.000673333 0.000673333 0.000666667 0.000653333 0.00066 +0.000653333 0.00064 0.000653333 0.000653333 0.00064 0.000633333 0.000666667 0.000666667 +0.000646667 0.00064 0.000653333 0.00066 0.000633333 0.00064 0.000673333 0.00068 +0.00066 0.000626667 0.000646667 0.000653333 0.000646667 0.000646667 0.000653333 0.000653333 +0.00064 0.000646667 0.000646667 0.00066 0.00066 0.00066 0.00068 0.00068 +0.00068 0.000666667 0.000653333 0.00066 0.00068 0.000693333 0.000686667 0.000673333 +0.00072 0.000926667 0.28416 0.297413 0.217893 0.000773333 0.000666667 0.00062 +0.0006 0.000593333 0.000633333 0.00064 0.000673333 0.000733333 0.000833333 0.22168 +0.3012 0.46024 0.573263 0.702737 0.846737 0.956632 0.992408 0.992408 +0.983592 0.966737 0.954105 0.952842 0.955368 0.960421 0.958526 0.950316 +0.949684 0.950316 0.949053 0.948421 0.951579 0.952211 0.956632 0.961684 +0.969895 0.974316 0.973684 0.968632 0.961684 0.954737 0.950316 0.947789 +0.947789 0.946526 0.944632 0.945895 0.946526 0.950947 0.958526 0.965474 +0.975579 0.983918 0.987184 0.990776 0.993388 0.99698 0.998612 0.999918 +1.00057 1.0009 0.999592 0.998612 0.999592 1.00155 1.0058 1.00841 +1.00841 1.00808 1.00939 1.01233 1.01265 1.01298 1.01429 1.01592 +1.01624 1.01592 1.01657 1.0182 1.02049 1.02147 1.0218 1.02376 +1.02376 1.02343 1.02571 1.02702 1.02735 1.02767 1.02735 1.02702 +1.02637 1.028 1.02767 1.02604 1.02604 1.02506 1.0231 1.02114 +1.01984 1.01886 1.01527 1.01265 1.01004 1.00678 1.00286 1.00122 +1.00024 0.994367 0.990776 0.991102 0.990122 0.98849 0.988163 0.989469 +0.992082 0.99502 0.993714 0.986204 0.974316 0.973053 0.980653 0.986857 +0.99698 1.0071 1.01461 1.02245 1.028 1.02898 1.03159 1.0329 +1.03388 1.03649 1.03682 1.0342 1.03224 1.03257 1.03257 1.02833 +1.02473 1.0231 1.0231 1.04106 1.15434 1.27455 1.30954 1.30802 +1.2152 1.09804 1.04792 1.0329 1.0231 1.01951 1.01788 1.01527 +1.0182 1.03061 1.04237 1.06 1.14977 1.20303 1.17564 1.06913 +1.03257 1.01298 1.01657 1.03192 1.04237 1.04694 1.04857 1.04498 +1.04008 1.03616 1.03584 1.03584 1.03551 1.0378 1.03486 1.03159 +1.02539 1.02016 1.0169 1.01265 1.012 1.01363 1.01527 1.02082 +1.02408 1.02637 1.02702 1.02637 1.028 1.02898 1.02996 1.02931 +1.02931 1.03061 1.02963 1.03061 1.02963 1.02865 1.028 1.02767 +1.02571 1.02539 1.02376 1.02114 1.01918 1.01788 1.012 1.0071 +1.00514 1.00024 0.990449 0.988816 0.98849 0.986531 0.985878 0.986531 +0.988163 0.990122 0.991755 0.993388 0.992082 0.991755 0.991755 0.993714 +0.996327 0.999265 0.999918 0.999265 0.999592 1.0009 1.00122 1.00155 +1.00188 1.00122 1.00024 1.00188 1.0022 1.00122 1.00286 1.00547 +1.00384 1.00318 1.00351 1.00318 1.00318 1.00057 0.998286 0.998286 +0.995347 0.994041 0.994041 0.990122 0.98849 0.989469 0.991102 0.990122 +0.987837 0.986531 0.983592 0.981306 0.980653 0.978105 0.977474 0.972421 +0.964211 0.956 0.945895 0.941474 0.938316 0.935789 0.934526 0.932632 +0.933895 0.937684 0.940211 0.946526 0.946526 0.949053 0.954105 0.954105 +0.952842 0.951579 0.948421 0.949053 0.947789 0.941474 0.936421 0.937053 +0.935789 0.935789 0.938316 0.942737 0.952842 0.963579 0.975579 0.960421 +0.883368 0.752632 0.605474 0.473493 0.314453 0.280373 0.2728 0.29552 +0.320133 0.299307 0.231147 0.000833333 0.000733333 0.000706667 0.000653333 0.000673333 +0.000706667 0.00066 0.00066 0.000653333 0.000653333 0.000693333 0.000673333 0.00064 +0.000633333 0.000646667 0.00066 0.000633333 0.000633333 0.00064 0.000653333 0.000666667 +0.000626667 0.00064 0.000673333 0.000653333 0.000653333 0.00066 0.000673333 0.000673333 +0.000653333 0.000646667 0.00068 0.00068 0.000666667 0.00066 0.000673333 0.00068 +0.00068 0.00068 0.000666667 0.000653333 0.000666667 0.000673333 0.000673333 0.000673333 +0.000673333 0.000693333 0.0007 0.000693333 0.000693333 0.00068 0.000673333 0.000673333 +0.00066 0.000673333 0.0007 0.000666667 0.00066 0.00068 0.000693333 0.000713333 +0.000693333 0.000653333 0.000666667 0.000686667 0.000706667 0.0007 0.000693333 0.0007 +0.000706667 0.000693333 0.000713333 0.00072 0.0007 0.000693333 0.00068 0.0007 +0.00074 0.00072 0.00072 0.000713333 0.000706667 0.000713333 0.0007 0.000713333 +0.00072 0.000706667 0.000686667 0.000706667 0.00072 0.00072 0.000726667 0.00074 +0.000726667 0.000706667 0.000726667 0.000713333 0.000693333 0.000706667 0.000713333 0.000693333 +0.000706667 0.000706667 0.000726667 0.000726667 0.00072 0.00072 0.000713333 0.000713333 +0.000706667 0.000693333 0.0007 0.000706667 0.000686667 0.000666667 0.000666667 0.000693333 +0.000706667 0.0007 0.000706667 0.000713333 0.000693333 0.000666667 0.000673333 0.000686667 +0.000713333 0.00072 0.00068 0.00066 0.000666667 0.000686667 0.0007 0.000706667 +0.0007 0.000693333 0.000686667 0.00068 0.000666667 0.00066 0.00068 0.000693333 +0.000713333 0.0007 0.00068 0.00068 0.000693333 0.0007 0.000686667 0.000686667 +0.000673333 0.000653333 0.00066 0.000673333 0.00068 0.00068 0.000686667 0.000673333 +0.000673333 0.000673333 0.000673333 0.00068 0.000673333 0.000653333 0.000666667 0.00068 +0.000666667 0.000666667 0.000686667 0.00068 0.00064 0.000653333 0.0007 0.000693333 +0.000666667 0.000666667 0.0007 0.00068 0.000666667 0.000653333 0.000666667 0.000653333 +0.000646667 0.00066 0.000646667 0.00064 0.000646667 0.000653333 0.000673333 0.000673333 +0.000686667 0.000713333 0.000686667 0.000673333 0.000693333 0.000693333 0.0007 0.000713333 +0.00082 0.25008 0.3012 0.240613 0.000806667 0.0007 0.00064 0.000593333 +0.000593333 0.000613333 0.000673333 0.0007 0.00078 0.00094 0.26144 0.356107 +0.513263 0.622526 0.766526 0.899789 0.981306 0.992408 0.983918 0.965474 +0.952211 0.945263 0.946526 0.951579 0.956 0.954737 0.949684 0.948421 +0.950947 0.955368 0.957895 0.961684 0.969263 0.967368 0.966737 0.965474 +0.965474 0.967368 0.969263 0.968 0.962947 0.952842 0.944632 0.938947 +0.935789 0.937684 0.943368 0.952842 0.963579 0.974316 0.982612 0.98849 +0.994367 0.999592 0.999592 0.999265 1.00318 1.00514 1.00645 1.00612 +1.00318 1.0022 1.00253 1.00253 1.00318 1.00612 1.01102 1.01331 +1.01331 1.01396 1.01265 1.01396 1.01363 1.01265 1.01363 1.01624 +1.01755 1.01853 1.01886 1.01853 1.02016 1.0231 1.02408 1.02506 +1.02539 1.02539 1.02637 1.02702 1.02702 1.028 1.02865 1.02865 +1.028 1.028 1.02898 1.02865 1.02865 1.028 1.02637 1.02408 +1.02212 1.0231 1.0218 1.01657 1.01429 1.01265 1.01004 1.00776 +1.00808 1.0058 1.00155 1.0009 1.00057 0.999918 0.997959 0.997959 +0.998286 0.999592 0.998939 0.994041 0.984571 0.98 0.98 0.986857 +0.997959 1.00808 1.01429 1.02114 1.02865 1.02898 1.03061 1.03192 +1.03127 1.0342 1.03584 1.03192 1.02931 1.02996 1.02898 1.02571 +1.02408 1.02408 1.03551 1.16195 1.50583 1.65951 1.60017 1.50583 +1.3628 1.26085 1.21977 1.19238 1.14977 1.11782 1.11478 1.11326 +1.13608 1.19847 1.25172 1.30346 1.3415 1.39475 1.38867 1.26085 +1.07065 1.03029 1.02669 1.03747 1.03943 1.03616 1.03551 1.03518 +1.03355 1.03224 1.03355 1.03127 1.02996 1.03355 1.03192 1.02996 +1.02604 1.02114 1.01755 1.01527 1.01363 1.01624 1.01853 1.0231 +1.02506 1.02571 1.02735 1.02702 1.02702 1.02735 1.02996 1.02931 +1.02865 1.02931 1.02865 1.03061 1.03094 1.02865 1.02767 1.02735 +1.02571 1.02539 1.02343 1.01984 1.01853 1.01788 1.01233 1.00841 +1.0058 0.997959 0.990122 0.988816 0.986857 0.98849 0.990122 0.991429 +0.992082 0.99502 0.996327 0.992408 0.986531 0.984245 0.982939 0.985551 +0.988816 0.991755 0.994694 0.994694 0.994694 0.995347 0.996327 0.997306 +0.998612 0.998612 0.997633 0.998612 0.997306 0.996653 1.00122 1.00253 +1.0009 1.00188 1.00253 1.00286 1.00384 1.0022 1.00253 1.00351 +1.00155 1.00253 1.00253 0.999265 0.999265 0.999265 0.998939 0.999592 +0.99698 0.993714 0.990122 0.987184 0.983918 0.983918 0.984245 0.98098 +0.976211 0.971789 0.969895 0.961053 0.948421 0.943368 0.941474 0.938316 +0.937684 0.938316 0.940842 0.942737 0.940211 0.938947 0.942737 0.946526 +0.949053 0.950947 0.952211 0.951579 0.948421 0.945895 0.942105 0.937053 +0.931368 0.930105 0.935789 0.938947 0.938947 0.945895 0.965474 0.980327 +0.965474 0.900421 0.779789 0.632632 0.514526 0.35232 0.276587 0.274693 +0.304987 0.327707 0.3012 0.231147 0.00084 0.00072 0.000653333 0.000686667 +0.000713333 0.000666667 0.000673333 0.000666667 0.00064 0.000646667 0.00064 0.000613333 +0.000606667 0.000626667 0.000633333 0.00062 0.000626667 0.000646667 0.000646667 0.000646667 +0.000633333 0.00064 0.00064 0.000613333 0.000633333 0.00066 0.000653333 0.000626667 +0.00066 0.000693333 0.000693333 0.00066 0.000646667 0.00066 0.000673333 0.00068 +0.000666667 0.000666667 0.000666667 0.000673333 0.000706667 0.000686667 0.00066 0.000653333 +0.000666667 0.0007 0.0007 0.000686667 0.00068 0.000673333 0.000666667 0.000686667 +0.00068 0.000686667 0.000686667 0.000653333 0.000686667 0.000713333 0.000713333 0.000706667 +0.000666667 0.00064 0.000673333 0.00072 0.000726667 0.000686667 0.000673333 0.000693333 +0.000726667 0.000726667 0.0007 0.00066 0.00068 0.000706667 0.000713333 0.00074 +0.000733333 0.000673333 0.000666667 0.0007 0.00072 0.000726667 0.000693333 0.000693333 +0.000693333 0.0007 0.000706667 0.000713333 0.0007 0.00072 0.000713333 0.00072 +0.00072 0.000706667 0.000686667 0.000693333 0.000713333 0.00072 0.000726667 0.000713333 +0.0007 0.000686667 0.000693333 0.000706667 0.000726667 0.00074 0.000733333 0.000706667 +0.00068 0.00068 0.000706667 0.00072 0.0007 0.00068 0.000673333 0.00066 +0.000666667 0.000686667 0.0007 0.000706667 0.000693333 0.000686667 0.000653333 0.000646667 +0.000673333 0.0007 0.000693333 0.00068 0.000673333 0.000666667 0.000673333 0.000673333 +0.000666667 0.000673333 0.000686667 0.000693333 0.00066 0.000633333 0.000633333 0.000653333 +0.00068 0.000686667 0.00068 0.000666667 0.00066 0.000666667 0.000686667 0.000706667 +0.00068 0.00066 0.00066 0.000653333 0.000666667 0.000673333 0.00068 0.000673333 +0.00068 0.000686667 0.00068 0.00068 0.00068 0.00066 0.000653333 0.000666667 +0.000673333 0.000666667 0.000686667 0.00068 0.000653333 0.000653333 0.00066 0.000646667 +0.000626667 0.000653333 0.000686667 0.000673333 0.000626667 0.000613333 0.00064 0.000653333 +0.00064 0.000633333 0.000653333 0.000646667 0.000613333 0.000626667 0.000653333 0.00064 +0.000633333 0.000673333 0.000666667 0.00064 0.00068 0.00066 0.000666667 0.000713333 +0.000926667 0.274693 0.26712 0.000873333 0.000713333 0.000666667 0.0006 0.000573333 +0.00058 0.000626667 0.0007 0.00084 0.225467 0.287947 0.384507 0.532842 +0.657263 0.808211 0.933263 0.987837 0.990122 0.978105 0.953474 0.939579 +0.938947 0.944 0.950316 0.950947 0.949684 0.945263 0.940211 0.947158 +0.956 0.966105 0.972421 0.979368 0.981306 0.974316 0.962316 0.959158 +0.956 0.952211 0.953474 0.959158 0.957263 0.949053 0.944632 0.946526 +0.951579 0.959789 0.969895 0.981633 0.989796 0.994694 0.998939 1.00449 +1.00612 1.0058 1.00384 1.0009 1.0022 1.00482 1.00743 1.00776 +1.00612 1.00514 1.0071 1.00776 1.00776 1.00939 1.01135 1.01298 +1.01494 1.01755 1.01657 1.01429 1.01265 1.01233 1.01265 1.01429 +1.01624 1.01755 1.01788 1.01722 1.0182 1.02082 1.0231 1.02343 +1.02473 1.02604 1.02637 1.02702 1.02767 1.02767 1.02702 1.02604 +1.02637 1.02702 1.02702 1.02571 1.02571 1.02604 1.02408 1.02376 +1.02245 1.02212 1.02147 1.01853 1.01624 1.01429 1.01069 1.00808 +1.00873 1.00939 1.0058 1.00416 1.00253 1.00253 1.00155 0.999265 +0.999592 0.999265 0.997306 0.994367 0.98751 0.982939 0.985224 0.992082 +1.00286 1.01233 1.01722 1.0218 1.02865 1.02898 1.02996 1.03224 +1.03127 1.0329 1.03453 1.03159 1.02931 1.02996 1.02833 1.02441 +1.02343 1.02767 1.04335 1.18934 1.48453 1.53778 1.3841 1.26237 +1.16043 1.12086 1.14065 1.17716 1.18629 1.18021 1.19086 1.18629 +1.20151 1.23042 1.2152 1.18629 1.17716 1.2289 1.28976 1.24259 +1.1026 1.04302 1.03388 1.03714 1.0391 1.03616 1.0342 1.03453 +1.03257 1.03159 1.03453 1.03127 1.02898 1.03355 1.03322 1.02898 +1.02539 1.01984 1.01755 1.01461 1.01298 1.01592 1.01918 1.02506 +1.02767 1.02767 1.02865 1.02963 1.02931 1.02669 1.02996 1.03029 +1.02833 1.02702 1.02767 1.03029 1.02898 1.02833 1.02637 1.02539 +1.02408 1.02376 1.02212 1.01853 1.01592 1.01461 1.01037 1.00776 +1.0058 0.998286 0.994041 0.990776 0.987837 0.990776 0.991755 0.992408 +0.993061 0.992735 0.990776 0.983592 0.973053 0.969263 0.967368 0.973053 +0.976842 0.981306 0.984245 0.986531 0.988816 0.990122 0.991755 0.993388 +0.996 0.996653 0.995673 0.99698 0.995347 0.993714 0.99698 0.998286 +0.99698 0.997959 0.996653 0.998612 0.999265 0.997633 0.998286 0.998286 +0.998939 1.00057 0.999918 0.999592 1.00024 0.999265 0.997959 0.998939 +0.998939 0.997633 0.996 0.994694 0.992082 0.991102 0.98849 0.984571 +0.982612 0.980327 0.980327 0.975579 0.970526 0.968 0.960421 0.955368 +0.955368 0.956 0.957263 0.957263 0.955368 0.950947 0.943368 0.940211 +0.945895 0.951579 0.954105 0.951579 0.946526 0.945263 0.941474 0.937684 +0.933895 0.934526 0.937684 0.936421 0.936421 0.940211 0.949053 0.963579 +0.976842 0.966737 0.914316 0.802526 0.656632 0.529684 0.358 0.270907 +0.276587 0.304987 0.316347 0.297413 0.240613 0.00086 0.000726667 0.00068 +0.000693333 0.0007 0.000693333 0.0007 0.000666667 0.00064 0.00066 0.000653333 +0.000633333 0.000646667 0.00066 0.00066 0.000673333 0.00068 0.00066 0.00068 +0.000673333 0.000646667 0.000626667 0.000626667 0.00066 0.000666667 0.000666667 0.000673333 +0.000693333 0.000706667 0.000686667 0.000653333 0.000653333 0.000686667 0.000686667 0.00068 +0.00066 0.000686667 0.0007 0.000693333 0.0007 0.00066 0.000653333 0.000653333 +0.00068 0.000706667 0.000686667 0.000666667 0.00068 0.000673333 0.000673333 0.000686667 +0.000666667 0.00068 0.000673333 0.000673333 0.000713333 0.00072 0.000693333 0.000666667 +0.000673333 0.000693333 0.000706667 0.000726667 0.000706667 0.00068 0.000693333 0.000713333 +0.000713333 0.000693333 0.000673333 0.000666667 0.000713333 0.000726667 0.000713333 0.000713333 +0.000693333 0.000653333 0.00068 0.00072 0.000726667 0.000706667 0.0007 0.000686667 +0.000686667 0.0007 0.000706667 0.000706667 0.0007 0.000713333 0.000706667 0.000686667 +0.000693333 0.00072 0.000713333 0.00066 0.000693333 0.00072 0.000706667 0.000673333 +0.00066 0.00068 0.0007 0.000686667 0.000673333 0.000673333 0.000706667 0.00072 +0.0007 0.0007 0.0007 0.000693333 0.000686667 0.000666667 0.000673333 0.000666667 +0.00066 0.00066 0.000686667 0.000686667 0.000693333 0.0007 0.0007 0.0007 +0.000673333 0.000653333 0.000646667 0.000666667 0.00068 0.000686667 0.000686667 0.000686667 +0.000686667 0.000693333 0.000693333 0.000693333 0.00068 0.00068 0.00066 0.000646667 +0.000666667 0.000673333 0.000686667 0.000673333 0.000666667 0.00068 0.000693333 0.00068 +0.000666667 0.000673333 0.000673333 0.000673333 0.000666667 0.000666667 0.000653333 0.00066 +0.000686667 0.000686667 0.00068 0.000666667 0.000666667 0.000646667 0.000633333 0.000653333 +0.000653333 0.000653333 0.000666667 0.000666667 0.000646667 0.000653333 0.000653333 0.000646667 +0.00062 0.000646667 0.00068 0.000673333 0.000646667 0.00064 0.000653333 0.000653333 +0.000646667 0.000626667 0.000646667 0.000646667 0.000606667 0.00062 0.00066 0.000653333 +0.000626667 0.000633333 0.000653333 0.000653333 0.000673333 0.000673333 0.00066 0.000746667 +0.223573 0.286053 0.229253 0.00078 0.000673333 0.000626667 0.000566667 0.000553333 +0.00058 0.000646667 0.000773333 0.223573 0.304987 0.418587 0.561895 0.703368 +0.855579 0.961053 0.990449 0.986531 0.967368 0.949053 0.938947 0.935158 +0.942105 0.948421 0.950947 0.948421 0.942737 0.939579 0.944 0.959158 +0.970526 0.971158 0.968 0.971158 0.974316 0.966737 0.953474 0.945895 +0.944632 0.946526 0.948421 0.954105 0.957895 0.957263 0.961053 0.970526 +0.980653 0.987837 0.995673 1.00188 1.00547 1.00612 1.00743 1.00776 +1.00841 1.00743 1.00122 0.998939 1.00188 1.00678 1.00906 1.00873 +1.00873 1.00939 1.01069 1.00906 1.00939 1.01167 1.01069 1.00939 +1.012 1.01396 1.01461 1.01233 1.01069 1.01069 1.01135 1.01331 +1.01363 1.01527 1.01722 1.0182 1.01853 1.02016 1.0218 1.02212 +1.02408 1.02539 1.02604 1.02833 1.02767 1.02604 1.02604 1.02473 +1.02441 1.02571 1.02571 1.02473 1.02376 1.02441 1.0231 1.02376 +1.0231 1.02278 1.02212 1.02114 1.01918 1.01755 1.01396 1.01167 +1.00939 1.00873 1.00776 1.00514 1.00188 1.00057 0.999918 0.997633 +0.997306 0.99502 0.992735 0.993061 0.989796 0.986857 0.990449 0.996 +1.0022 1.01004 1.01559 1.01886 1.02506 1.02604 1.02735 1.02996 +1.028 1.02996 1.03355 1.03192 1.02931 1.02931 1.02898 1.02637 +1.02571 1.03159 1.04335 1.08891 1.22433 1.21368 1.09956 1.05543 +1.04824 1.044 1.04041 1.04008 1.04139 1.04139 1.04204 1.03812 +1.04041 1.04629 1.04302 1.04106 1.04596 1.06304 1.16195 1.17412 +1.0813 1.04759 1.03747 1.0342 1.03812 1.04008 1.0378 1.03682 +1.03616 1.0342 1.03584 1.0329 1.03094 1.03388 1.03388 1.02931 +1.02441 1.01918 1.01853 1.01755 1.01592 1.01788 1.02147 1.02833 +1.03127 1.02996 1.02996 1.02898 1.02702 1.02539 1.02767 1.028 +1.02637 1.02571 1.02669 1.028 1.02735 1.02669 1.02376 1.02082 +1.01984 1.02082 1.02049 1.0182 1.01363 1.01102 1.00841 1.00776 +1.00482 0.999265 0.993714 0.989469 0.987184 0.985551 0.984898 0.988163 +0.98849 0.984571 0.978737 0.964842 0.956632 0.956 0.954105 0.955368 +0.957895 0.962316 0.969263 0.978105 0.984245 0.986857 0.988816 0.991102 +0.992082 0.992082 0.992082 0.993714 0.992408 0.989796 0.991429 0.990776 +0.990122 0.990449 0.987184 0.987184 0.985878 0.983918 0.983265 0.983265 +0.986857 0.989143 0.989469 0.992735 0.994041 0.992408 0.993714 0.995673 +0.996327 0.99698 0.996327 0.996327 0.996653 0.996327 0.994694 0.993061 +0.991429 0.987837 0.984571 0.983265 0.984898 0.983592 0.978105 0.977474 +0.98 0.98 0.981959 0.983265 0.980653 0.972421 0.962947 0.949053 +0.943368 0.942737 0.947158 0.952842 0.949684 0.944 0.939579 0.939579 +0.938316 0.936421 0.934526 0.934526 0.938316 0.940842 0.940842 0.947789 +0.959789 0.970526 0.970526 0.926316 0.819579 0.676211 0.544842 0.378827 +0.282267 0.274693 0.293627 0.310667 0.299307 0.253867 0.000886667 0.00072 +0.000706667 0.000713333 0.000713333 0.0007 0.000653333 0.000646667 0.00066 0.000646667 +0.000626667 0.00064 0.000673333 0.00068 0.00068 0.00068 0.000666667 0.00066 +0.000653333 0.000626667 0.000633333 0.000646667 0.000686667 0.000693333 0.0007 0.000693333 +0.000693333 0.000706667 0.00068 0.000653333 0.000673333 0.0007 0.000693333 0.000693333 +0.000693333 0.000706667 0.000686667 0.000673333 0.000666667 0.000653333 0.000686667 0.000693333 +0.000673333 0.00068 0.000686667 0.000686667 0.000706667 0.000686667 0.000693333 0.000686667 +0.000666667 0.000693333 0.0007 0.00068 0.000686667 0.000673333 0.000666667 0.000693333 +0.0007 0.000686667 0.00068 0.0007 0.000693333 0.000686667 0.000693333 0.000686667 +0.000673333 0.00066 0.000686667 0.000713333 0.00072 0.0007 0.00068 0.000686667 +0.000686667 0.000686667 0.000693333 0.000706667 0.000693333 0.00068 0.0007 0.0007 +0.000686667 0.000686667 0.0007 0.000713333 0.0007 0.000706667 0.0007 0.0007 +0.000706667 0.000706667 0.000726667 0.00072 0.00072 0.00072 0.000713333 0.000706667 +0.000693333 0.00068 0.00072 0.000726667 0.0007 0.000673333 0.00068 0.000686667 +0.000713333 0.000733333 0.00074 0.000713333 0.0007 0.00068 0.000673333 0.00068 +0.00068 0.000673333 0.000673333 0.000673333 0.0007 0.00072 0.000726667 0.000726667 +0.000733333 0.000706667 0.000673333 0.00066 0.000666667 0.00068 0.000686667 0.000673333 +0.000686667 0.000686667 0.000693333 0.000686667 0.000686667 0.0007 0.0007 0.000686667 +0.000673333 0.000653333 0.000653333 0.000653333 0.000666667 0.000666667 0.000673333 0.000653333 +0.00066 0.000673333 0.00068 0.000673333 0.00068 0.000693333 0.000666667 0.000666667 +0.000686667 0.000693333 0.000686667 0.000686667 0.000673333 0.000646667 0.000653333 0.000666667 +0.000646667 0.000666667 0.00068 0.000686667 0.000666667 0.000653333 0.000673333 0.000666667 +0.000646667 0.00064 0.000646667 0.000646667 0.00066 0.00066 0.000673333 0.00066 +0.00066 0.000646667 0.000666667 0.000686667 0.000653333 0.000653333 0.00066 0.00068 +0.000673333 0.00068 0.00068 0.000686667 0.000693333 0.000693333 0.0007 0.000833333 +0.257653 0.280373 0.000926667 0.000733333 0.00066 0.000613333 0.000593333 0.000606667 +0.00064 0.000753333 0.00098 0.31256 0.467813 0.591579 0.748842 0.897263 +0.98 0.98751 0.98098 0.961053 0.944 0.937684 0.937684 0.941474 +0.947789 0.951579 0.949053 0.943368 0.941474 0.945895 0.957895 0.973053 +0.974947 0.966105 0.957263 0.957895 0.962316 0.957895 0.947789 0.941474 +0.938947 0.942105 0.948421 0.960421 0.973684 0.98098 0.986204 0.990776 +0.994041 0.998612 1.0058 1.01004 1.00906 1.00645 1.0058 1.00449 +1.00351 1.00449 1.00286 1.00416 1.00743 1.00776 1.00808 1.00906 +1.00808 1.00678 1.00678 1.00808 1.00906 1.00841 1.00547 1.00286 +1.00253 1.00351 1.00645 1.00841 1.00743 1.00808 1.00971 1.01037 +1.01233 1.01461 1.01592 1.01853 1.02082 1.0218 1.0218 1.02343 +1.02473 1.02441 1.02441 1.02702 1.02702 1.02539 1.02539 1.02506 +1.02539 1.02604 1.02539 1.0231 1.02114 1.02212 1.02278 1.02278 +1.02212 1.02245 1.02212 1.02049 1.02016 1.01951 1.0182 1.01755 +1.01265 1.00873 1.00678 1.00547 1.00188 0.999265 0.997306 0.996327 +0.995673 0.993388 0.990776 0.990776 0.989469 0.988163 0.992408 0.996653 +1.00057 1.00743 1.01331 1.01755 1.02376 1.02408 1.02408 1.028 +1.02669 1.02865 1.0342 1.0342 1.03061 1.03029 1.03061 1.02898 +1.028 1.03192 1.04073 1.05151 1.06609 1.05935 1.0489 1.04171 +1.03845 1.03159 1.01918 1.01265 1.01102 1.00906 1.0058 1.00155 +1.00253 1.00939 1.01298 1.0182 1.02931 1.04792 1.12391 1.1589 +1.07217 1.04759 1.03943 1.03518 1.03682 1.03976 1.03682 1.03584 +1.03616 1.03453 1.03584 1.03322 1.03192 1.03518 1.03159 1.02767 +1.02506 1.02082 1.01886 1.01722 1.01722 1.01886 1.02082 1.02604 +1.02735 1.02702 1.02833 1.02669 1.02408 1.02245 1.02376 1.02506 +1.02604 1.02539 1.02604 1.02669 1.02604 1.02506 1.0231 1.02114 +1.01984 1.02016 1.02049 1.01755 1.01331 1.01037 1.00743 1.0071 +1.00286 0.997959 0.993388 0.98849 0.985224 0.978737 0.975579 0.980327 +0.976842 0.966105 0.955368 0.947789 0.947158 0.944 0.938947 0.937053 +0.937053 0.942105 0.951579 0.962316 0.970526 0.975579 0.981306 0.982612 +0.981633 0.982286 0.982612 0.981959 0.976211 0.971789 0.971789 0.966105 +0.962947 0.962316 0.954105 0.944 0.933263 0.926316 0.922526 0.921895 +0.929474 0.937053 0.944632 0.953474 0.955368 0.959158 0.971789 0.98098 +0.983918 0.986857 0.989143 0.990776 0.992408 0.993388 0.994694 0.995673 +0.99502 0.994367 0.992735 0.991429 0.990122 0.986204 0.982612 0.983265 +0.984898 0.987184 0.991429 0.994041 0.994041 0.991429 0.986204 0.980327 +0.961684 0.948421 0.945895 0.950316 0.952211 0.945263 0.939579 0.939579 +0.937053 0.933263 0.932632 0.936421 0.942105 0.944632 0.941474 0.940842 +0.944632 0.956 0.970526 0.974316 0.934526 0.835368 0.694526 0.556842 +0.393973 0.287947 0.27848 0.28416 0.30688 0.314453 0.26144 0.0009 +0.000773333 0.00074 0.000726667 0.000693333 0.000673333 0.000686667 0.000673333 0.000646667 +0.000653333 0.000666667 0.000686667 0.00068 0.000686667 0.000686667 0.000673333 0.000666667 +0.000653333 0.000666667 0.000673333 0.000686667 0.0007 0.000706667 0.000706667 0.000686667 +0.000686667 0.000693333 0.000673333 0.000666667 0.00068 0.000693333 0.000686667 0.0007 +0.000686667 0.000686667 0.00068 0.00066 0.000673333 0.00068 0.0007 0.00068 +0.000653333 0.000693333 0.00072 0.000726667 0.000733333 0.000713333 0.000706667 0.000693333 +0.000686667 0.000713333 0.0007 0.000653333 0.00066 0.00068 0.000706667 0.000726667 +0.000693333 0.000666667 0.000693333 0.00074 0.00072 0.000693333 0.000673333 0.000693333 +0.000706667 0.000706667 0.000733333 0.00072 0.000706667 0.000693333 0.000693333 0.00072 +0.000726667 0.00072 0.0007 0.0007 0.000726667 0.000726667 0.00072 0.000706667 +0.000693333 0.000706667 0.000706667 0.0007 0.0007 0.000686667 0.000673333 0.00068 +0.000706667 0.0007 0.0007 0.000706667 0.00072 0.000713333 0.000713333 0.000726667 +0.000726667 0.000706667 0.000713333 0.000713333 0.00072 0.000713333 0.000693333 0.000686667 +0.000693333 0.0007 0.00072 0.000726667 0.000733333 0.000726667 0.000706667 0.000686667 +0.000686667 0.000686667 0.00068 0.00066 0.00068 0.000693333 0.000706667 0.0007 +0.00072 0.00072 0.0007 0.0007 0.00068 0.00066 0.000686667 0.000693333 +0.000686667 0.000686667 0.000686667 0.0007 0.000693333 0.000686667 0.00072 0.00072 +0.000706667 0.000706667 0.000686667 0.000666667 0.000666667 0.000666667 0.00066 0.000666667 +0.000666667 0.000666667 0.00066 0.00066 0.00066 0.000693333 0.00068 0.00066 +0.000666667 0.000666667 0.000666667 0.000666667 0.000653333 0.00064 0.000673333 0.00068 +0.000653333 0.000653333 0.00066 0.000666667 0.000673333 0.000673333 0.000666667 0.00066 +0.00066 0.000673333 0.000653333 0.00064 0.000653333 0.000686667 0.000673333 0.000646667 +0.00066 0.00066 0.00064 0.00066 0.000686667 0.000693333 0.00068 0.000646667 +0.00066 0.000673333 0.000693333 0.000693333 0.000713333 0.00068 0.000693333 0.000906667 +0.280373 0.26712 0.000866667 0.0007 0.000646667 0.0006 0.000613333 0.00068 +0.000793333 0.219787 0.331493 0.512632 0.630737 0.786737 0.923158 0.985224 +0.986857 0.970526 0.954737 0.945263 0.938947 0.938316 0.937684 0.943368 +0.948421 0.946526 0.942105 0.941474 0.949053 0.959789 0.969263 0.971789 +0.964211 0.957895 0.956 0.958526 0.957263 0.950947 0.950316 0.954105 +0.956632 0.961053 0.973053 0.985551 0.993061 0.99698 1.00188 1.00482 +1.00482 1.00612 1.00808 1.0071 1.00416 1.00318 1.00351 1.00384 +1.00416 1.00449 1.00645 1.00873 1.00776 1.00678 1.00776 1.00841 +1.00743 1.00612 1.00514 1.0058 1.0058 1.00384 1.00122 0.999265 +0.998286 0.99698 0.999592 1.00286 1.00384 1.00645 1.00906 1.00906 +1.00939 1.01233 1.01396 1.01592 1.0182 1.01984 1.02049 1.02212 +1.02408 1.02343 1.02212 1.02343 1.02473 1.02408 1.0231 1.02278 +1.02147 1.02114 1.02278 1.0218 1.01951 1.0182 1.02016 1.02114 +1.02114 1.02082 1.01984 1.0182 1.0182 1.01918 1.01886 1.01657 +1.01363 1.01004 1.00776 1.00547 1.00416 1.00286 0.999265 0.997633 +0.998286 0.999265 0.99698 0.995347 0.994041 0.993388 0.996 0.998939 +1.00253 1.00841 1.01461 1.0182 1.02408 1.02506 1.0231 1.02767 +1.028 1.02767 1.03355 1.03584 1.0329 1.03224 1.03094 1.02833 +1.028 1.03257 1.04237 1.05184 1.0551 1.05184 1.04498 1.03649 +1.03257 1.02278 1.00808 1.00253 1.0009 0.998612 0.994367 0.990449 +0.991102 0.997306 1.00253 1.00743 1.01918 1.03714 1.09348 1.18021 +1.09956 1.04955 1.04171 1.03747 1.03682 1.03878 1.03682 1.03747 +1.03878 1.03747 1.03812 1.03355 1.0329 1.03453 1.03061 1.02702 +1.02408 1.01984 1.01592 1.01461 1.01592 1.01788 1.02114 1.02604 +1.02637 1.02735 1.02865 1.02833 1.02604 1.02441 1.02506 1.02767 +1.02833 1.02571 1.02571 1.02735 1.02637 1.02506 1.02376 1.02343 +1.02147 1.02049 1.01984 1.01657 1.01233 1.00939 1.00612 1.0058 +0.999592 0.99502 0.992735 0.989796 0.985224 0.974316 0.964842 0.962947 +0.959789 0.952842 0.948421 0.947158 0.947789 0.943368 0.935789 0.932 +0.933263 0.942737 0.950316 0.954737 0.956632 0.960421 0.966737 0.968 +0.966105 0.966737 0.964211 0.952842 0.935789 0.926316 0.92 0.906737 +0.896632 0.882737 0.865684 0.847368 0.827158 0.812 0.8 0.796842 +0.799368 0.806947 0.820842 0.831579 0.837895 0.852421 0.873895 0.896632 +0.917474 0.935789 0.954105 0.967368 0.976842 0.983265 0.988163 0.990449 +0.992408 0.994367 0.995673 0.995673 0.993714 0.990449 0.988816 0.987837 +0.98751 0.990122 0.992735 0.996327 1.00057 1.0009 0.999265 0.996653 +0.990122 0.980653 0.963579 0.956632 0.957895 0.952211 0.945263 0.943368 +0.940211 0.936421 0.936421 0.937053 0.940842 0.945263 0.946526 0.940211 +0.937053 0.943368 0.959158 0.976842 0.973684 0.937053 0.846105 0.707158 +0.565053 0.412907 0.291733 0.269013 0.286053 0.320133 0.32392 0.263333 +0.000913333 0.000766667 0.000693333 0.000666667 0.000693333 0.000713333 0.000706667 0.000693333 +0.000693333 0.000693333 0.0007 0.000693333 0.000686667 0.0007 0.000706667 0.0007 +0.000673333 0.00068 0.000706667 0.0007 0.000693333 0.000706667 0.000686667 0.00068 +0.000686667 0.000693333 0.000686667 0.000686667 0.000673333 0.000673333 0.000686667 0.0007 +0.000693333 0.000693333 0.00068 0.000673333 0.0007 0.000706667 0.000693333 0.00068 +0.000693333 0.000726667 0.00072 0.000726667 0.000726667 0.0007 0.000706667 0.000686667 +0.00068 0.00068 0.00066 0.000653333 0.000693333 0.0007 0.000706667 0.000706667 +0.000693333 0.000713333 0.000746667 0.000746667 0.0007 0.00068 0.000686667 0.000726667 +0.00074 0.00072 0.0007 0.0007 0.000726667 0.00072 0.000726667 0.000733333 +0.000713333 0.000706667 0.000713333 0.00072 0.000726667 0.00072 0.00072 0.00072 +0.00072 0.000733333 0.00072 0.000713333 0.000686667 0.000693333 0.0007 0.000713333 +0.000686667 0.00068 0.000673333 0.00068 0.00068 0.0007 0.000706667 0.0007 +0.000693333 0.000693333 0.000693333 0.00068 0.000706667 0.0007 0.00068 0.000673333 +0.00066 0.000673333 0.000673333 0.00066 0.000693333 0.00072 0.000706667 0.000693333 +0.000693333 0.000686667 0.00068 0.000673333 0.000686667 0.000666667 0.000666667 0.00068 +0.000673333 0.00066 0.0007 0.000713333 0.000706667 0.00068 0.000686667 0.000693333 +0.000686667 0.000666667 0.000673333 0.00068 0.000673333 0.00066 0.00066 0.00068 +0.00068 0.000686667 0.000706667 0.000686667 0.000673333 0.00066 0.000666667 0.000673333 +0.000666667 0.00064 0.00064 0.000653333 0.000653333 0.000666667 0.000673333 0.000653333 +0.000666667 0.00066 0.00064 0.000633333 0.000626667 0.000606667 0.000633333 0.000646667 +0.00064 0.000633333 0.00064 0.000633333 0.00064 0.00066 0.00064 0.000613333 +0.00064 0.000666667 0.00068 0.00068 0.00066 0.000673333 0.000666667 0.000646667 +0.000653333 0.000666667 0.000646667 0.000653333 0.000673333 0.0007 0.000693333 0.000693333 +0.000673333 0.00068 0.000666667 0.000686667 0.0007 0.000666667 0.000686667 0.00094 +0.276587 0.240613 0.0008 0.000693333 0.00062 0.000573333 0.000613333 0.000753333 +0.223573 0.361787 0.530947 0.661053 0.821474 0.946526 0.987837 0.984245 +0.966105 0.950947 0.943368 0.939579 0.940211 0.943368 0.943368 0.945895 +0.947158 0.940211 0.938947 0.949684 0.961053 0.966737 0.969263 0.963579 +0.956 0.953474 0.954737 0.957895 0.953474 0.950947 0.958526 0.973053 +0.982286 0.987837 0.994694 0.999918 1.00482 1.00678 1.00776 1.00939 +1.00808 1.0071 1.00678 1.00416 1.00318 1.00351 1.00449 1.00645 +1.00678 1.00547 1.00612 1.00743 1.00645 1.0058 1.0058 1.00678 +1.00678 1.00482 1.0022 0.999918 0.997306 0.996 0.996653 0.995347 +0.994694 0.99502 0.996327 0.997633 0.999265 1.0022 1.00547 1.0071 +1.00678 1.01004 1.01265 1.01233 1.01363 1.01624 1.0182 1.01984 +1.02245 1.02376 1.02245 1.02212 1.02343 1.02473 1.0231 1.02212 +1.02147 1.01984 1.01984 1.02016 1.01853 1.01624 1.01624 1.01853 +1.02016 1.01853 1.02114 1.02147 1.02082 1.02082 1.01918 1.01559 +1.01298 1.01069 1.00906 1.00743 1.00645 1.00808 1.00547 1.00122 +1.00024 1.00286 1.00384 1.00253 1.00188 1.00057 1.00024 1.00122 +1.00351 1.00776 1.01331 1.01853 1.02441 1.02702 1.02604 1.028 +1.02931 1.028 1.0329 1.03551 1.03322 1.0342 1.03224 1.02898 +1.03127 1.03812 1.04727 1.05445 1.0551 1.0502 1.04302 1.03551 +1.028 1.01429 1.00024 0.997959 0.997633 0.995347 0.991429 0.988816 +0.991102 0.996327 0.999918 1.00482 1.01461 1.02735 1.05804 1.21825 +1.18325 1.06304 1.04694 1.0391 1.03682 1.0391 1.0378 1.03976 +1.04041 1.03878 1.03943 1.03616 1.0342 1.03518 1.03192 1.02702 +1.02049 1.01429 1.012 1.01429 1.01722 1.01918 1.02278 1.02669 +1.02637 1.02702 1.02865 1.02865 1.02571 1.02506 1.02669 1.02833 +1.02865 1.02767 1.02735 1.02865 1.02898 1.02767 1.02702 1.02604 +1.02278 1.0218 1.01984 1.01559 1.01167 1.00776 1.00482 1.00155 +0.995673 0.993714 0.992408 0.989143 0.985551 0.976842 0.967368 0.961684 +0.955368 0.952842 0.956 0.957895 0.959158 0.959158 0.956 0.956 +0.964211 0.971158 0.971158 0.968 0.964211 0.961053 0.956632 0.947158 +0.932 0.915579 0.897263 0.876421 0.851158 0.830316 0.808211 0.784211 +0.764 0.739368 0.716632 0.697053 0.677474 0.657895 0.640211 0.632632 +0.629474 0.631368 0.643368 0.655368 0.666105 0.683789 0.706526 0.739368 +0.774737 0.799368 0.822737 0.846105 0.869474 0.894105 0.919368 0.942105 +0.964211 0.982286 0.990776 0.995347 0.996 0.996653 0.997633 0.996327 +0.994367 0.994041 0.993714 0.996653 0.999918 1.00286 1.00514 1.00351 +1.00057 0.995673 0.987837 0.98098 0.969895 0.959158 0.950947 0.948421 +0.949684 0.945895 0.940842 0.937684 0.936421 0.941474 0.944632 0.941474 +0.940211 0.942105 0.951579 0.964842 0.969263 0.969895 0.944 0.856842 +0.717263 0.573895 0.42616 0.30688 0.27848 0.29552 0.3296 0.322027 +0.265227 0.000913333 0.000746667 0.00072 0.000733333 0.000726667 0.000713333 0.000693333 +0.000693333 0.0007 0.000713333 0.000713333 0.000713333 0.000706667 0.000686667 0.000706667 +0.000706667 0.000706667 0.0007 0.000673333 0.00068 0.000706667 0.0007 0.0007 +0.00068 0.000706667 0.00072 0.000693333 0.000673333 0.000686667 0.000686667 0.000693333 +0.0007 0.0007 0.000673333 0.000686667 0.00072 0.00072 0.0007 0.000706667 +0.000713333 0.00072 0.0007 0.0007 0.00072 0.000693333 0.000706667 0.00068 +0.000666667 0.000693333 0.000706667 0.000706667 0.000706667 0.00068 0.000686667 0.000726667 +0.00072 0.000726667 0.00072 0.000713333 0.000686667 0.000686667 0.00072 0.00074 +0.00072 0.000713333 0.000706667 0.000726667 0.000746667 0.000733333 0.000726667 0.0007 +0.000686667 0.000733333 0.000746667 0.00072 0.000726667 0.000726667 0.000733333 0.00074 +0.000733333 0.000726667 0.00074 0.00074 0.000666667 0.000666667 0.000673333 0.000706667 +0.00072 0.000693333 0.000666667 0.000666667 0.00066 0.000666667 0.000666667 0.000673333 +0.00068 0.000693333 0.00068 0.000666667 0.000693333 0.000706667 0.000706667 0.00068 +0.000653333 0.00066 0.000673333 0.000653333 0.00064 0.000673333 0.000686667 0.0007 +0.000706667 0.0007 0.000673333 0.00064 0.000653333 0.000666667 0.000673333 0.000653333 +0.000626667 0.000613333 0.000646667 0.000666667 0.000666667 0.000666667 0.00068 0.000686667 +0.000686667 0.00066 0.00066 0.000653333 0.00066 0.000673333 0.000653333 0.000633333 +0.000626667 0.000646667 0.00068 0.000686667 0.000666667 0.000666667 0.000666667 0.000673333 +0.000666667 0.000653333 0.000653333 0.00066 0.00066 0.000666667 0.000666667 0.00066 +0.000673333 0.00068 0.000666667 0.00066 0.00066 0.00064 0.00064 0.000646667 +0.000646667 0.000653333 0.000673333 0.000653333 0.00064 0.00064 0.000646667 0.000626667 +0.00062 0.000626667 0.000646667 0.00066 0.000646667 0.00064 0.000646667 0.000633333 +0.00064 0.000646667 0.000646667 0.000653333 0.00066 0.000673333 0.000686667 0.000666667 +0.000693333 0.0007 0.000686667 0.000693333 0.000693333 0.000686667 0.00076 0.225467 +0.287947 0.22168 0.000746667 0.000666667 0.000606667 0.000593333 0.00074 0.223573 +0.36368 0.544842 0.683789 0.842316 0.959789 0.991429 0.986204 0.968 +0.952211 0.946526 0.940842 0.935789 0.940211 0.944 0.945263 0.947789 +0.949053 0.945895 0.950316 0.959789 0.961053 0.959158 0.959158 0.957895 +0.960421 0.961053 0.961053 0.961684 0.963579 0.971789 0.981959 0.98849 +0.994694 1.00155 1.00449 1.0058 1.00808 1.00906 1.00808 1.00645 +1.00514 1.00449 1.00514 1.00547 1.00514 1.00678 1.00841 1.00776 +1.00678 1.00612 1.00514 1.0058 1.00612 1.00514 1.00286 1.00057 +0.999592 0.997959 0.996327 0.992082 0.98751 0.986531 0.98849 0.990449 +0.991102 0.991755 0.992408 0.992735 0.994694 0.99698 0.998939 1.00122 +1.00286 1.00514 1.00776 1.00841 1.01069 1.01331 1.01494 1.01624 +1.01951 1.02147 1.01984 1.01951 1.02114 1.02278 1.02245 1.02049 +1.02114 1.02114 1.02016 1.0182 1.01624 1.01429 1.01461 1.01624 +1.01657 1.01657 1.01951 1.02212 1.02082 1.02049 1.02212 1.01918 +1.01494 1.012 1.01102 1.01004 1.00645 1.00612 1.00547 1.00318 +1.00188 1.00384 1.00514 1.00547 1.00645 1.00449 1.00318 1.00318 +1.00188 1.00416 1.00873 1.01494 1.02147 1.02637 1.028 1.02931 +1.03061 1.02898 1.03159 1.03355 1.03127 1.03322 1.0329 1.0342 +1.04335 1.05478 1.07369 1.08891 1.06913 1.05151 1.04106 1.0342 +1.02669 1.012 0.999265 0.999918 1.00188 0.998939 0.995347 0.992408 +0.994367 0.997306 0.999265 1.00351 1.01265 1.02278 1.04922 1.20151 +1.26085 1.17108 1.06 1.04302 1.0378 1.03845 1.03682 1.03649 +1.03682 1.03714 1.03878 1.03616 1.03322 1.03224 1.028 1.0231 +1.01527 1.0071 1.00645 1.012 1.01722 1.02049 1.0218 1.02473 +1.02669 1.02637 1.02735 1.02702 1.02376 1.02637 1.02865 1.02931 +1.028 1.02735 1.02963 1.03061 1.03029 1.03029 1.02833 1.02702 +1.02408 1.0218 1.01886 1.01461 1.00971 1.00384 1.0009 0.997306 +0.992408 0.993061 0.992735 0.988816 0.984571 0.98 0.973053 0.967368 +0.962947 0.966737 0.973053 0.976842 0.980653 0.981633 0.981959 0.982286 +0.982612 0.975579 0.961684 0.943368 0.919368 0.892842 0.860632 0.822105 +0.781684 0.743789 0.713474 0.693263 0.673684 0.649053 0.623789 0.601684 +0.585263 0.570737 0.558737 0.548 0.540421 0.530316 0.524 0.519579 +0.512632 0.510737 0.517053 0.518947 0.524632 0.536632 0.552421 0.581474 +0.611158 0.625053 0.635789 0.649684 0.668632 0.695158 0.731789 0.775368 +0.823368 0.873263 0.925053 0.966105 0.985551 0.993061 0.998286 0.999592 +0.999592 0.999592 0.998939 0.998612 0.998612 1.00122 1.00482 1.00449 +1.00318 1.00449 1.00318 0.996653 0.98751 0.978737 0.968632 0.962316 +0.959789 0.956632 0.949053 0.942737 0.938316 0.940211 0.945895 0.947158 +0.944632 0.944632 0.944632 0.949053 0.957263 0.966737 0.974947 0.949053 +0.865053 0.728 0.585263 0.44888 0.30688 0.280373 0.304987 0.331493 +0.32392 0.26712 0.000946667 0.000813333 0.000753333 0.00076 0.000746667 0.000746667 +0.000733333 0.000713333 0.000706667 0.000746667 0.00076 0.000733333 0.000713333 0.00076 +0.00074 0.000706667 0.000713333 0.000713333 0.00072 0.000733333 0.000713333 0.00068 +0.000673333 0.000713333 0.000726667 0.000693333 0.000686667 0.000693333 0.0007 0.000706667 +0.000706667 0.000706667 0.0007 0.0007 0.000706667 0.00072 0.000713333 0.000693333 +0.000693333 0.000713333 0.000713333 0.000726667 0.000733333 0.0007 0.000686667 0.000686667 +0.0007 0.000733333 0.00072 0.000693333 0.000693333 0.00068 0.000706667 0.000733333 +0.000713333 0.0007 0.0007 0.000693333 0.000693333 0.000706667 0.00072 0.000733333 +0.00072 0.000726667 0.000726667 0.000726667 0.000726667 0.00072 0.0007 0.0007 +0.00072 0.000733333 0.000713333 0.000706667 0.000733333 0.000733333 0.000733333 0.000726667 +0.000726667 0.000713333 0.000726667 0.000733333 0.0007 0.000713333 0.000693333 0.000686667 +0.000713333 0.000726667 0.000713333 0.000706667 0.00068 0.000673333 0.00068 0.000686667 +0.000686667 0.0007 0.0007 0.0007 0.000713333 0.00072 0.000706667 0.000706667 +0.0007 0.000686667 0.00068 0.000686667 0.00068 0.000666667 0.000666667 0.0007 +0.000713333 0.000706667 0.000706667 0.000693333 0.000666667 0.00068 0.000693333 0.000686667 +0.000666667 0.00068 0.000673333 0.000666667 0.00066 0.000646667 0.000673333 0.0007 +0.000693333 0.000693333 0.000693333 0.000686667 0.000673333 0.000693333 0.0007 0.000666667 +0.000653333 0.000633333 0.00066 0.000666667 0.00066 0.00068 0.0007 0.000686667 +0.000666667 0.000653333 0.00066 0.000673333 0.000673333 0.000666667 0.000666667 0.000646667 +0.00066 0.000673333 0.000686667 0.000686667 0.00068 0.000666667 0.000653333 0.00064 +0.000633333 0.000653333 0.000686667 0.000666667 0.00064 0.000626667 0.00064 0.00066 +0.000646667 0.00062 0.000626667 0.00062 0.00062 0.000646667 0.000646667 0.000666667 +0.000666667 0.000653333 0.000653333 0.00068 0.00066 0.00068 0.000673333 0.00062 +0.000666667 0.00068 0.000693333 0.00072 0.0007 0.000693333 0.000826667 0.263333 +0.304987 0.22168 0.000746667 0.00066 0.000653333 0.000786667 0.242507 0.384507 +0.553684 0.700842 0.86 0.969263 0.990776 0.987184 0.978105 0.961053 +0.950947 0.948421 0.940842 0.935158 0.935789 0.936421 0.938947 0.944 +0.949684 0.955368 0.964211 0.961053 0.954737 0.956 0.959789 0.964842 +0.974316 0.980653 0.981633 0.982286 0.986857 0.993061 0.997633 1.00057 +1.00416 1.00645 1.0071 1.00776 1.00776 1.0071 1.00612 1.00449 +1.00514 1.00547 1.00547 1.0058 1.00482 1.0058 1.00776 1.00645 +1.00612 1.00514 1.00286 1.00122 1.00057 0.998286 0.994694 0.990776 +0.986857 0.984898 0.985224 0.983265 0.978105 0.977474 0.982286 0.984898 +0.983918 0.981959 0.982939 0.983918 0.986857 0.990449 0.991755 0.994367 +0.996653 0.997306 0.999592 1.00155 1.00514 1.00939 1.01233 1.01461 +1.01755 1.02082 1.01984 1.01984 1.01984 1.02016 1.02049 1.01918 +1.01951 1.01886 1.01755 1.01624 1.01494 1.01331 1.01494 1.01624 +1.01494 1.01461 1.0169 1.01886 1.01657 1.01755 1.02212 1.01984 +1.01298 1.00841 1.00776 1.00678 1.00318 1.00188 1.00188 1.00155 +1.0022 1.00253 1.00122 1.00188 1.00416 1.00286 1.00188 1.00286 +1.00122 1.00122 1.00416 1.00841 1.01331 1.02016 1.02441 1.02669 +1.02833 1.02767 1.02898 1.03061 1.02702 1.03029 1.03649 1.04367 +1.05673 1.10413 1.15282 1.16499 1.11173 1.05347 1.04041 1.03388 +1.02767 1.0169 1.00841 1.012 1.01494 1.01135 1.00645 1.00514 +1.00873 1.01233 1.01331 1.0169 1.02669 1.03453 1.04955 1.14521 +1.26542 1.28976 1.19999 1.07978 1.04563 1.03943 1.03649 1.03453 +1.03355 1.03355 1.03453 1.03029 1.02571 1.02408 1.01951 1.01429 +1.0071 1.0022 1.00482 1.01233 1.01657 1.02114 1.02376 1.02441 +1.02604 1.02604 1.02669 1.028 1.02637 1.02767 1.02833 1.02931 +1.02767 1.02669 1.03061 1.03061 1.03029 1.02996 1.028 1.028 +1.02506 1.0218 1.0169 1.01102 1.00514 1.00057 0.999592 0.994367 +0.988816 0.990449 0.991102 0.988163 0.986531 0.983265 0.98 0.98 +0.981306 0.983918 0.984571 0.984245 0.982612 0.976211 0.964211 0.944632 +0.915579 0.877684 0.835368 0.787368 0.736211 0.688842 0.645895 0.605474 +0.572 0.546105 0.532842 0.527789 0.520211 0.510737 0.496213 0.46592 +0.452667 0.44888 0.446987 0.428053 0.411013 0.412907 0.428053 0.429947 +0.418587 0.424267 0.424267 0.401547 0.401547 0.42048 0.43752 0.479173 +0.505053 0.505684 0.502526 0.503158 0.511368 0.522105 0.540421 0.575158 +0.618737 0.671789 0.738105 0.812632 0.884632 0.943368 0.982286 0.994041 +1.00057 1.00351 1.00514 1.00384 1.00318 1.00253 1.00318 1.00612 +1.0071 1.00873 1.00873 1.0058 1.00122 0.995347 0.990122 0.982286 +0.971789 0.966105 0.957263 0.946526 0.941474 0.944 0.949684 0.952842 +0.946526 0.942737 0.937684 0.938316 0.945895 0.955368 0.969263 0.979368 +0.957895 0.872632 0.734316 0.589053 0.44888 0.304987 0.28416 0.299307 +0.314453 0.31256 0.265227 0.000933333 0.000786667 0.00078 0.0008 0.0008 +0.000766667 0.000746667 0.000733333 0.000753333 0.00076 0.00076 0.000753333 0.000766667 +0.000733333 0.00072 0.00074 0.000733333 0.000733333 0.000726667 0.000706667 0.000693333 +0.0007 0.00072 0.00072 0.0007 0.000706667 0.00072 0.000733333 0.000733333 +0.00072 0.000713333 0.000713333 0.000713333 0.000713333 0.000733333 0.000713333 0.00068 +0.000693333 0.00074 0.00074 0.000733333 0.00072 0.00068 0.000706667 0.00072 +0.00072 0.000713333 0.00068 0.0007 0.00074 0.000753333 0.00074 0.00072 +0.0007 0.000706667 0.000726667 0.000726667 0.000726667 0.000733333 0.000733333 0.00076 +0.000753333 0.00074 0.00072 0.00072 0.00072 0.000713333 0.000706667 0.00072 +0.000706667 0.000713333 0.000713333 0.0007 0.000713333 0.00074 0.000733333 0.000713333 +0.0007 0.0007 0.000706667 0.000733333 0.000706667 0.000706667 0.000706667 0.00072 +0.0007 0.0007 0.00072 0.00072 0.0007 0.000693333 0.000693333 0.000706667 +0.0007 0.000686667 0.00068 0.000693333 0.000713333 0.000733333 0.000713333 0.000693333 +0.000713333 0.000726667 0.000693333 0.000673333 0.000673333 0.000673333 0.00068 0.00068 +0.000686667 0.00068 0.00068 0.0007 0.000726667 0.000706667 0.000686667 0.000693333 +0.000693333 0.0007 0.0007 0.000686667 0.000673333 0.00066 0.000666667 0.000666667 +0.000666667 0.00068 0.000693333 0.0007 0.0007 0.000706667 0.000706667 0.0007 +0.0007 0.000666667 0.000666667 0.000673333 0.00068 0.000666667 0.00068 0.000693333 +0.000673333 0.000666667 0.00066 0.00066 0.000653333 0.000653333 0.00066 0.000653333 +0.00066 0.000666667 0.00066 0.000673333 0.000673333 0.000666667 0.00066 0.000646667 +0.00064 0.00062 0.00066 0.000673333 0.000666667 0.000653333 0.00064 0.00064 +0.000653333 0.000646667 0.000646667 0.00062 0.00064 0.000673333 0.00066 0.000666667 +0.00068 0.000673333 0.000673333 0.000666667 0.000666667 0.00068 0.00068 0.000653333 +0.00066 0.00068 0.0007 0.000733333 0.000706667 0.00072 0.00086 0.269013 +0.287947 0.000926667 0.000726667 0.000713333 0.000846667 0.257653 0.40912 0.564421 +0.714737 0.872 0.973053 0.989796 0.979368 0.966105 0.962947 0.957263 +0.951579 0.945895 0.937684 0.935158 0.933263 0.933263 0.941474 0.950947 +0.957263 0.964842 0.964842 0.957263 0.961053 0.973053 0.980327 0.984571 +0.989143 0.993388 0.995347 0.997959 1.00057 1.00155 1.00318 1.00482 +1.00547 1.00449 1.00416 1.00351 1.00188 1.00122 1.00122 1.00286 +1.00482 1.0058 1.00482 1.00318 1.00286 1.00384 1.00318 1.00155 +1.00057 0.998612 0.996653 0.993714 0.991429 0.986531 0.98 0.967368 +0.959158 0.956632 0.961053 0.967368 0.968632 0.969895 0.974316 0.974316 +0.969263 0.964842 0.966105 0.971158 0.976211 0.981633 0.985551 0.990122 +0.993714 0.993714 0.995347 0.999592 1.00351 1.00743 1.012 1.01559 +1.01624 1.01951 1.02114 1.01918 1.01853 1.01918 1.02049 1.01853 +1.0182 1.01853 1.01722 1.01624 1.01592 1.01494 1.01527 1.01559 +1.01559 1.01657 1.0182 1.01918 1.01755 1.01624 1.01722 1.01461 +1.00841 1.00416 1.00351 1.00482 1.00384 1.00253 1.0022 1.00188 +1.0022 1.00318 1.00057 1.00057 1.00449 1.00449 1.00155 1.00122 +0.999592 0.996327 0.997306 1.00122 1.00482 1.01069 1.01624 1.01918 +1.02343 1.02539 1.02702 1.02735 1.02245 1.02833 1.044 1.05869 +1.11173 1.15586 1.18021 1.1513 1.08282 1.05249 1.04661 1.044 +1.04073 1.0329 1.03127 1.04073 1.04531 1.04041 1.0378 1.04008 +1.04629 1.05184 1.05445 1.05771 1.09652 1.12847 1.16347 1.21216 +1.27911 1.35671 1.36584 1.26998 1.1026 1.04596 1.0378 1.03355 +1.02833 1.02571 1.02604 1.02016 1.01592 1.01396 1.00743 0.998939 +0.992082 0.991755 0.997633 1.00547 1.01069 1.01788 1.02376 1.02506 +1.02604 1.02473 1.02833 1.03159 1.02833 1.02767 1.028 1.02931 +1.02865 1.02963 1.03224 1.03061 1.03094 1.02898 1.02735 1.028 +1.02506 1.02278 1.0182 1.01037 1.0009 0.994041 0.990776 0.985224 +0.983265 0.986204 0.987184 0.985551 0.985878 0.984245 0.982612 0.981306 +0.978737 0.972421 0.956632 0.932 0.902947 0.861895 0.816421 0.767789 +0.717895 0.668 0.619368 0.575789 0.539789 0.514526 0.492427 0.45456 +0.42048 0.401547 0.40912 0.42048 0.418587 0.424267 0.411013 0.390187 +0.384507 0.393973 0.40912 0.39208 0.359893 0.361787 0.378827 0.388293 +0.39208 0.399653 0.38072 0.367467 0.373147 0.373147 0.373147 0.38072 +0.382613 0.37504 0.36368 0.361787 0.367467 0.365573 0.367467 0.40344 +0.462133 0.510105 0.547368 0.604211 0.681895 0.770947 0.857474 0.928842 +0.978105 0.993714 1.00155 1.00351 1.00514 1.00384 1.00351 1.00743 +1.00939 1.00841 1.00808 1.00678 1.00449 1.00416 1.00188 0.99502 +0.985224 0.973053 0.961053 0.952842 0.950947 0.952211 0.952842 0.953474 +0.948421 0.944632 0.941474 0.939579 0.942737 0.948421 0.959789 0.978105 +0.983592 0.959789 0.875789 0.739368 0.593474 0.462133 0.32392 0.286053 +0.287947 0.310667 0.31256 0.263333 0.000926667 0.00082 0.000806667 0.0008 +0.00076 0.00074 0.000733333 0.000733333 0.000773333 0.000773333 0.000733333 0.00074 +0.000746667 0.000733333 0.000726667 0.000726667 0.00072 0.0007 0.00072 0.00072 +0.000686667 0.000713333 0.00074 0.00072 0.000713333 0.000726667 0.00072 0.000726667 +0.000713333 0.0007 0.000713333 0.00072 0.00072 0.0007 0.000686667 0.000693333 +0.00072 0.00074 0.000706667 0.000693333 0.000686667 0.000706667 0.00074 0.000713333 +0.0007 0.00068 0.0007 0.00076 0.000773333 0.000746667 0.00072 0.000706667 +0.000713333 0.000726667 0.000733333 0.00072 0.00072 0.000726667 0.000733333 0.000746667 +0.000726667 0.000706667 0.000713333 0.00072 0.000713333 0.000713333 0.000733333 0.000713333 +0.000693333 0.000713333 0.000706667 0.00072 0.00074 0.00074 0.000726667 0.000726667 +0.000726667 0.000726667 0.000726667 0.00076 0.000733333 0.00072 0.000706667 0.000713333 +0.000693333 0.000693333 0.000713333 0.00072 0.00072 0.000706667 0.000706667 0.00072 +0.000706667 0.000693333 0.000673333 0.00068 0.000693333 0.000693333 0.000706667 0.000713333 +0.000693333 0.000713333 0.000706667 0.000693333 0.000673333 0.00068 0.000686667 0.00068 +0.000686667 0.000686667 0.00066 0.000646667 0.00068 0.0007 0.00068 0.000693333 +0.000693333 0.00068 0.00068 0.0007 0.000686667 0.000673333 0.000666667 0.00066 +0.000666667 0.000673333 0.000666667 0.00068 0.000706667 0.000713333 0.000673333 0.000673333 +0.000686667 0.000686667 0.000673333 0.000673333 0.000673333 0.000666667 0.00068 0.0007 +0.000693333 0.000693333 0.000686667 0.00066 0.000653333 0.000646667 0.000646667 0.000646667 +0.00068 0.000666667 0.000653333 0.00066 0.000666667 0.00064 0.00064 0.000666667 +0.000646667 0.00062 0.000633333 0.00064 0.000633333 0.000646667 0.000666667 0.00064 +0.000633333 0.000633333 0.000633333 0.000606667 0.000606667 0.000626667 0.00062 0.000633333 +0.000613333 0.000633333 0.00066 0.00068 0.000666667 0.000653333 0.000646667 0.000646667 +0.00066 0.00064 0.000686667 0.000713333 0.000693333 0.00072 0.0009 0.27848 +0.263333 0.000786667 0.00068 0.00084 0.253867 0.39776 0.567579 0.724842 +0.885263 0.976842 0.987184 0.975579 0.951579 0.944 0.952211 0.959158 +0.955368 0.944 0.935158 0.932632 0.931368 0.936421 0.949684 0.962947 +0.968632 0.969263 0.966105 0.970526 0.982939 0.989469 0.994041 0.997959 +0.999918 1.00122 1.00253 1.00547 1.0058 1.00449 1.00514 1.00482 +1.00286 1.00024 0.999592 0.999592 0.999918 1.00057 1.00188 1.00318 +1.00253 1.00286 1.00286 1.00024 0.998286 0.997633 0.995347 0.991755 +0.98751 0.983265 0.979368 0.971789 0.962947 0.953474 0.942105 0.934526 +0.930737 0.930737 0.938316 0.952211 0.959789 0.961053 0.960421 0.958526 +0.955368 0.952211 0.953474 0.961684 0.966737 0.969895 0.979368 0.986857 +0.992408 0.992408 0.991429 0.996653 1.0022 1.00612 1.00971 1.01265 +1.01363 1.01461 1.01722 1.01755 1.0169 1.01657 1.01853 1.01951 +1.01951 1.02016 1.01951 1.0182 1.01722 1.01592 1.01559 1.01559 +1.01559 1.01559 1.01494 1.01494 1.01722 1.01722 1.01429 1.01135 +1.00841 1.00482 1.0022 1.00449 1.00645 1.00482 1.00384 1.00318 +1.00188 1.0022 1.00024 1.00024 1.00384 1.00449 1.00122 0.999265 +0.996 0.987837 0.986204 0.990122 0.993388 0.999918 1.00612 1.01102 +1.01918 1.028 1.03192 1.02767 1.02114 1.02963 1.05576 1.15282 +1.18782 1.18173 1.15434 1.11782 1.09043 1.09195 1.095 1.08435 +1.08282 1.07522 1.08282 1.12847 1.13456 1.1026 1.09652 1.10565 +1.1376 1.1726 1.19238 1.21977 1.28368 1.33541 1.39628 1.43888 +1.43888 1.44801 1.48301 1.4404 1.22586 1.05608 1.04073 1.03224 +1.02343 1.0169 1.01167 1.00286 1.00188 1.00122 0.993061 0.986531 +0.984245 0.985551 0.991429 0.998612 1.00514 1.012 1.01624 1.02049 +1.02441 1.02571 1.02996 1.03159 1.03029 1.02996 1.03029 1.02996 +1.03159 1.03388 1.03257 1.02898 1.02898 1.02735 1.02767 1.02767 +1.02539 1.02278 1.01722 1.00971 0.997959 0.985878 0.974947 0.969895 +0.972421 0.979368 0.980653 0.978105 0.971158 0.957263 0.936421 0.908 +0.878947 0.851789 0.806947 0.752632 0.702737 0.650947 0.602947 0.564421 +0.533474 0.510105 0.467813 0.42048 0.399653 0.39208 0.390187 0.390187 +0.384507 0.371253 0.371253 0.378827 0.39208 0.40344 0.393973 0.37504 +0.365573 0.38072 0.401547 0.390187 0.358 0.35232 0.361787 0.36368 +0.378827 0.390187 0.37504 0.371253 0.367467 0.348533 0.34664 0.354213 +0.356107 0.344747 0.337173 0.339067 0.333387 0.32392 0.325813 0.33528 +0.348533 0.361787 0.393973 0.44888 0.518316 0.573263 0.652211 0.748211 +0.842947 0.918105 0.972421 0.992408 0.999592 1.00253 1.00416 1.0058 +1.00808 1.00906 1.01004 1.00841 1.00514 1.00645 1.0071 1.00351 +0.996 0.984245 0.971789 0.968 0.966737 0.962316 0.957895 0.952842 +0.947789 0.945895 0.944 0.940842 0.940842 0.944632 0.951579 0.964842 +0.980653 0.984571 0.964842 0.880211 0.742526 0.594737 0.469707 0.325813 +0.293627 0.297413 0.308773 0.314453 0.26712 0.000933333 0.000813333 0.000786667 +0.000773333 0.00074 0.000746667 0.00076 0.0008 0.00078 0.000733333 0.000753333 +0.00076 0.000726667 0.000726667 0.00074 0.000726667 0.0007 0.000713333 0.000713333 +0.000686667 0.000726667 0.000766667 0.000733333 0.0007 0.000706667 0.000706667 0.000706667 +0.00072 0.00072 0.00072 0.00072 0.000706667 0.0007 0.000713333 0.00072 +0.000706667 0.000706667 0.000693333 0.00072 0.000753333 0.00074 0.00072 0.000693333 +0.00072 0.000726667 0.00074 0.00076 0.000733333 0.00072 0.000713333 0.000713333 +0.000713333 0.00072 0.000713333 0.000706667 0.000726667 0.000726667 0.00072 0.0007 +0.000686667 0.000706667 0.000706667 0.000713333 0.00072 0.00072 0.000726667 0.0007 +0.000686667 0.0007 0.000726667 0.000746667 0.000733333 0.0007 0.000706667 0.00074 +0.000733333 0.000726667 0.00072 0.000726667 0.000726667 0.000733333 0.00074 0.00072 +0.000693333 0.000686667 0.000673333 0.00068 0.000693333 0.000693333 0.0007 0.000706667 +0.000706667 0.00072 0.0007 0.000673333 0.00068 0.00066 0.000653333 0.000686667 +0.000686667 0.000686667 0.000706667 0.000706667 0.000686667 0.000693333 0.000686667 0.000693333 +0.000693333 0.000693333 0.000686667 0.00066 0.00064 0.000673333 0.00068 0.00068 +0.000686667 0.000673333 0.000653333 0.00068 0.0007 0.000693333 0.00066 0.00066 +0.000666667 0.000666667 0.00066 0.00068 0.000673333 0.00068 0.000673333 0.000653333 +0.000646667 0.000653333 0.000653333 0.000653333 0.00064 0.000646667 0.00066 0.000666667 +0.00066 0.000653333 0.000653333 0.000646667 0.00066 0.000653333 0.000633333 0.00062 +0.00062 0.00064 0.00062 0.000633333 0.000613333 0.000586667 0.000593333 0.00062 +0.000626667 0.00062 0.000633333 0.00062 0.000613333 0.000613333 0.000626667 0.000626667 +0.00064 0.000633333 0.000626667 0.0006 0.000586667 0.000606667 0.000606667 0.0006 +0.0006 0.000613333 0.00064 0.000666667 0.000673333 0.00066 0.000626667 0.00064 +0.000666667 0.000646667 0.000673333 0.000686667 0.00068 0.000733333 0.00098 0.28984 +0.246293 0.000766667 0.000766667 0.236827 0.378827 0.557474 0.721684 0.887789 +0.980653 0.985878 0.969263 0.949053 0.937053 0.936421 0.947789 0.957895 +0.952211 0.942737 0.937684 0.937053 0.937684 0.941474 0.957263 0.974316 +0.978737 0.977474 0.980653 0.988816 0.996327 0.999592 1.00286 1.00482 +1.00449 1.00384 1.00449 1.00645 1.00645 1.00547 1.00449 1.00286 +1.0022 1.0009 1.0009 1.00286 1.00318 1.00286 1.00122 0.998612 +0.99698 0.995347 0.992735 0.98849 0.982286 0.971158 0.955368 0.938947 +0.92379 0.910526 0.901684 0.895368 0.889684 0.885895 0.888421 0.897263 +0.908632 0.921895 0.935789 0.950947 0.960421 0.964211 0.965474 0.966737 +0.967368 0.969263 0.970526 0.972421 0.972421 0.971789 0.974316 0.980327 +0.983918 0.982939 0.982286 0.986857 0.993714 0.999265 1.00384 1.00873 +1.01135 1.01167 1.01494 1.01722 1.01527 1.01396 1.01624 1.01951 +1.02016 1.02016 1.02082 1.02082 1.02016 1.01853 1.0169 1.01559 +1.01592 1.01722 1.01657 1.01494 1.01624 1.01657 1.01331 1.01069 +1.00906 1.0058 1.0022 1.0022 1.00351 1.00188 1.00057 1.00122 +0.999918 0.999592 0.998612 0.997959 1.00122 1.00384 1.00122 0.99502 +0.990776 0.982939 0.975579 0.974947 0.975579 0.984571 0.994041 1.00286 +1.01755 1.03486 1.04008 1.02996 1.02343 1.04139 1.17869 1.32172 +1.29433 1.22433 1.2076 1.22586 1.23194 1.21673 1.17108 1.11934 +1.10413 1.12239 1.14977 1.15586 1.13304 1.08891 1.05902 1.0538 +1.05445 1.05706 1.05869 1.07522 1.12999 1.18934 1.26542 1.34454 +1.39019 1.41606 1.44345 1.39171 1.18934 1.05184 1.03714 1.02604 +1.01657 1.00743 0.996327 0.986531 0.989143 0.989469 0.982612 0.979368 +0.982612 0.986204 0.989469 0.994694 1.0009 1.0058 1.00939 1.01363 +1.01951 1.02408 1.02767 1.02931 1.02931 1.03029 1.03192 1.03224 +1.0329 1.03159 1.02735 1.02604 1.02669 1.02441 1.02539 1.02735 +1.02473 1.01788 1.01233 1.0058 0.994694 0.981306 0.954105 0.936421 +0.932632 0.933263 0.920632 0.896 0.861895 0.818316 0.773474 0.727368 +0.687579 0.649053 0.601053 0.556211 0.525895 0.503158 0.462133 0.43184 +0.412907 0.40912 0.390187 0.38072 0.38072 0.37504 0.378827 0.39776 +0.401547 0.38072 0.358 0.356107 0.359893 0.37504 0.38072 0.36368 +0.350427 0.361787 0.36936 0.371253 0.38072 0.390187 0.36936 0.348533 +0.367467 0.393973 0.388293 0.367467 0.358 0.344747 0.333387 0.34664 +0.361787 0.348533 0.3296 0.325813 0.32392 0.322027 0.3296 0.3296 +0.325813 0.3296 0.344747 0.34664 0.36936 0.418587 0.505684 0.563789 +0.644632 0.738105 0.836 0.920632 0.975579 0.992408 0.999265 1.00351 +1.00645 1.00841 1.00971 1.00971 1.00645 1.00612 1.00776 1.00645 +1.00449 0.997959 0.987184 0.981306 0.977474 0.973684 0.965474 0.956 +0.949053 0.947158 0.946526 0.943368 0.941474 0.942105 0.944 0.954737 +0.969895 0.982612 0.985878 0.966105 0.881474 0.741263 0.594105 0.469707 +0.333387 0.3012 0.282267 0.299307 0.31256 0.26144 0.000926667 0.000826667 +0.000813333 0.000786667 0.000786667 0.000773333 0.0008 0.0008 0.00078 0.000773333 +0.00076 0.00074 0.000733333 0.000733333 0.000726667 0.00072 0.000713333 0.000733333 +0.000746667 0.000753333 0.00076 0.000726667 0.0007 0.000713333 0.000726667 0.000733333 +0.00074 0.00074 0.000713333 0.000706667 0.000733333 0.00074 0.00072 0.000693333 +0.000693333 0.00072 0.000733333 0.000766667 0.00076 0.00072 0.000706667 0.000726667 +0.000746667 0.000733333 0.000713333 0.000713333 0.00072 0.00074 0.000726667 0.000713333 +0.000713333 0.000713333 0.000726667 0.000726667 0.000713333 0.000713333 0.00072 0.00072 +0.000733333 0.000726667 0.000713333 0.000733333 0.000733333 0.000713333 0.0007 0.000713333 +0.00072 0.000733333 0.000753333 0.00072 0.00068 0.000693333 0.000726667 0.000733333 +0.000726667 0.00072 0.0007 0.0007 0.000706667 0.000706667 0.0007 0.000713333 +0.00072 0.0007 0.000686667 0.00068 0.00066 0.00068 0.000693333 0.000686667 +0.00068 0.0007 0.000713333 0.000713333 0.000693333 0.000666667 0.000653333 0.00066 +0.000646667 0.000666667 0.000693333 0.000693333 0.000673333 0.000666667 0.000666667 0.000666667 +0.000666667 0.000686667 0.000673333 0.00068 0.00066 0.00064 0.00064 0.000633333 +0.000666667 0.000673333 0.00066 0.00066 0.00068 0.000673333 0.000653333 0.00064 +0.00064 0.000633333 0.000653333 0.00066 0.00064 0.000633333 0.000653333 0.00064 +0.000653333 0.00066 0.000666667 0.000646667 0.000626667 0.000646667 0.000646667 0.000633333 +0.00062 0.00062 0.000613333 0.000613333 0.00064 0.00064 0.000646667 0.00062 +0.000593333 0.0006 0.000613333 0.000633333 0.00062 0.0006 0.000606667 0.000593333 +0.000593333 0.0006 0.000626667 0.000633333 0.00062 0.00062 0.000606667 0.0006 +0.00062 0.000633333 0.000666667 0.000646667 0.000626667 0.000626667 0.000613333 0.00064 +0.00064 0.00062 0.000626667 0.000626667 0.00064 0.00066 0.00066 0.000653333 +0.00066 0.000673333 0.0007 0.000666667 0.000653333 0.000766667 0.2444 0.29552 +0.219787 0.00082 0.219787 0.36936 0.554947 0.715368 0.885263 0.981633 +0.987837 0.966737 0.944632 0.933263 0.932632 0.938316 0.948421 0.954105 +0.947789 0.945263 0.946526 0.947158 0.949053 0.952842 0.969895 0.983265 +0.985224 0.988163 0.993714 0.998939 1.00253 1.00547 1.0071 1.00612 +1.00514 1.00318 1.00351 1.00384 1.00351 1.00318 1.00155 1.00122 +1.00253 1.0022 1.00318 1.00351 1.00253 1.00057 0.995673 0.990449 +0.985878 0.971158 0.942737 0.910526 0.870105 0.831579 0.795579 0.767158 +0.746316 0.732421 0.722316 0.718526 0.719789 0.723579 0.739368 0.764 +0.791789 0.825263 0.860632 0.896 0.926316 0.948421 0.967368 0.977474 +0.981306 0.984571 0.985224 0.983592 0.983592 0.983592 0.982939 0.981959 +0.980653 0.977474 0.976842 0.980327 0.985551 0.990449 0.99502 1.00122 +1.00514 1.00645 1.01037 1.01363 1.01265 1.01331 1.01527 1.01722 +1.01886 1.01918 1.01984 1.02016 1.02114 1.02049 1.01788 1.01592 +1.01592 1.01886 1.01886 1.01624 1.01461 1.01494 1.01265 1.01167 +1.01004 1.00678 1.00645 1.00808 1.00776 1.00482 1.00122 1.00057 +1.00024 0.999592 1.00122 1.0009 1.0009 1.00318 1.00188 0.994367 +0.987837 0.978737 0.966105 0.963579 0.961053 0.969263 0.984571 0.994694 +1.01069 1.02996 1.03355 1.02441 1.02767 1.09043 1.37497 1.50735 +1.46323 1.38867 1.35671 1.33389 1.26846 1.15434 1.05543 1.04106 +1.03551 1.03747 1.04139 1.03747 1.0342 1.02931 1.02245 1.01755 +1.01396 1.01037 1.00939 1.01167 1.01755 1.02539 1.03518 1.04563 +1.05576 1.08739 1.1163 1.08739 1.04629 1.0342 1.02735 1.01788 +1.00906 0.998939 0.98849 0.981633 0.984898 0.985224 0.981959 0.981633 +0.984571 0.990449 0.993714 0.995347 0.999918 1.00057 1.00155 1.00514 +1.01135 1.01886 1.02278 1.02212 1.0218 1.02376 1.02637 1.02539 +1.02343 1.02147 1.02278 1.03061 1.0342 1.02735 1.02082 1.01722 +1.01265 1.00678 1.00547 1.00482 0.998286 0.979368 0.929474 0.877684 +0.839158 0.801895 0.757053 0.707789 0.657895 0.614316 0.579579 0.548632 +0.528421 0.509474 0.4716 0.428053 0.399653 0.382613 0.382613 0.395867 +0.401547 0.395867 0.39208 0.405333 0.388293 0.367467 0.37504 0.39776 +0.40344 0.388293 0.378827 0.365573 0.34664 0.358 0.378827 0.36936 +0.359893 0.356107 0.33528 0.35232 0.39208 0.411013 0.371253 0.34096 +0.35232 0.38072 0.3864 0.36368 0.35232 0.342853 0.337173 0.358 +0.373147 0.35232 0.333387 0.320133 0.320133 0.333387 0.344747 0.33528 +0.314453 0.322027 0.344747 0.34664 0.34096 0.34096 0.361787 0.407227 +0.503789 0.560632 0.642105 0.743789 0.844211 0.926947 0.980653 0.994694 +1.0009 1.00286 1.00612 1.00841 1.00776 1.00743 1.00776 1.00743 +1.00841 1.00612 0.997306 0.98751 0.981633 0.980327 0.973684 0.962947 +0.956632 0.953474 0.951579 0.948421 0.944 0.944632 0.946526 0.951579 +0.960421 0.969895 0.981306 0.984571 0.966105 0.881474 0.741263 0.594105 +0.475387 0.342853 0.28416 0.274693 0.314453 0.314453 0.259547 0.000973333 +0.000866667 0.000813333 0.0008 0.000786667 0.000826667 0.00082 0.000773333 0.00076 +0.000773333 0.000753333 0.000746667 0.00074 0.000746667 0.000733333 0.000753333 0.000766667 +0.000746667 0.000746667 0.00074 0.000733333 0.000726667 0.00074 0.000733333 0.000746667 +0.000753333 0.000726667 0.00072 0.000733333 0.000733333 0.000713333 0.000686667 0.000693333 +0.00074 0.000753333 0.000733333 0.000726667 0.00072 0.00072 0.00074 0.00074 +0.000733333 0.000706667 0.0007 0.000713333 0.00072 0.000733333 0.0007 0.000706667 +0.000733333 0.000746667 0.000733333 0.000706667 0.0007 0.000733333 0.000746667 0.000746667 +0.000733333 0.000706667 0.00072 0.00074 0.000713333 0.0007 0.000726667 0.00074 +0.00074 0.00074 0.00072 0.000693333 0.000706667 0.000726667 0.00074 0.000726667 +0.000733333 0.000733333 0.000726667 0.000726667 0.0007 0.000693333 0.000673333 0.000693333 +0.000713333 0.00068 0.000673333 0.0007 0.000686667 0.000666667 0.00066 0.000673333 +0.000686667 0.000673333 0.00068 0.000713333 0.000693333 0.000693333 0.000713333 0.00068 +0.000653333 0.000686667 0.0007 0.000686667 0.000673333 0.00068 0.000686667 0.000673333 +0.000653333 0.000673333 0.000666667 0.000686667 0.000686667 0.00066 0.000653333 0.000633333 +0.000633333 0.00066 0.00068 0.000686667 0.000673333 0.000666667 0.00066 0.00066 +0.000646667 0.000606667 0.00062 0.000626667 0.000633333 0.000633333 0.00064 0.000626667 +0.000626667 0.00066 0.000666667 0.000673333 0.00064 0.00064 0.000626667 0.000646667 +0.00064 0.00062 0.000626667 0.00064 0.000646667 0.000653333 0.000673333 0.000666667 +0.00064 0.000653333 0.00066 0.000653333 0.00064 0.000633333 0.00064 0.000653333 +0.00064 0.000593333 0.000613333 0.000633333 0.000626667 0.00064 0.00064 0.00062 +0.00062 0.000633333 0.00064 0.00064 0.000653333 0.000666667 0.00066 0.000673333 +0.00066 0.00066 0.000666667 0.000653333 0.000633333 0.00064 0.000653333 0.000666667 +0.000666667 0.000686667 0.000726667 0.000693333 0.0007 0.00088 0.282267 0.28416 +0.000933333 0.000966667 0.358 0.555579 0.715368 0.882737 0.981306 0.990776 +0.973684 0.948421 0.935789 0.929474 0.930737 0.938316 0.947789 0.952842 +0.948421 0.948421 0.948421 0.950316 0.957895 0.971789 0.986531 0.992735 +0.994367 0.998612 1.00286 1.00449 1.0058 1.00808 1.00776 1.00743 +1.0058 1.00416 1.00384 1.00155 1.0009 1.00188 1.00188 1.00188 +1.00188 1.00286 1.00351 1.00024 0.997306 0.991429 0.979368 0.944632 +0.895368 0.834737 0.769684 0.707158 0.654105 0.613053 0.580842 0.561895 +0.551789 0.542947 0.534737 0.530947 0.532211 0.537263 0.552421 0.572632 +0.596632 0.626947 0.662947 0.707789 0.755789 0.804421 0.853053 0.893474 +0.924421 0.951579 0.969895 0.978737 0.983265 0.98751 0.988816 0.988163 +0.985551 0.982286 0.980327 0.980653 0.983265 0.986857 0.990122 0.99502 +0.998612 0.998939 1.00188 1.00776 1.01102 1.01298 1.01461 1.01624 +1.01755 1.01755 1.0169 1.0182 1.02082 1.02016 1.0182 1.01788 +1.0182 1.01918 1.0182 1.01592 1.01363 1.01233 1.01037 1.00906 +1.00906 1.00873 1.01429 1.01951 1.0182 1.01527 1.01167 1.00841 +1.00351 0.999592 1.00253 1.00384 1.0009 1.00057 1.00351 1.00057 +0.989796 0.976211 0.961053 0.957895 0.956632 0.960421 0.976842 0.986204 +0.997306 1.00971 1.01363 1.01461 1.02963 1.15586 1.43279 1.52257 +1.47692 1.35671 1.2152 1.10869 1.04792 1.02506 1.00776 1.00057 +0.997959 0.998286 0.998939 0.995673 0.99698 0.997633 0.996 0.997633 +0.998939 0.996327 0.994367 0.997959 1.00384 1.00841 1.01265 1.01559 +1.01788 1.01886 1.01984 1.02049 1.01788 1.01853 1.01853 1.01592 +1.01233 1.0058 0.998939 0.994041 0.994367 0.993061 0.991102 0.991102 +0.993714 1.00122 1.0071 1.00482 1.00253 0.997959 0.99502 0.996653 +1.00122 1.00841 1.01331 1.01167 1.012 1.01624 1.0182 1.01494 +1.01037 1.01135 1.02212 1.03714 1.04139 1.03159 1.01527 1.00384 +1.00155 0.997959 0.999918 1.00449 1.0022 0.979368 0.894105 0.793684 +0.702105 0.631368 0.578947 0.536632 0.506947 0.4716 0.452667 0.445093 +0.445093 0.439413 0.42616 0.40344 0.371253 0.34664 0.356107 0.38072 +0.388293 0.388293 0.418587 0.452667 0.399653 0.359893 0.36936 0.384507 +0.376933 0.371253 0.378827 0.367467 0.344747 0.354213 0.376933 0.37504 +0.36936 0.35232 0.33528 0.342853 0.367467 0.373147 0.342853 0.331493 +0.331493 0.356107 0.382613 0.361787 0.339067 0.3296 0.34096 0.373147 +0.38072 0.350427 0.325813 0.31824 0.316347 0.339067 0.34664 0.325813 +0.3012 0.31256 0.350427 0.371253 0.34664 0.327707 0.322027 0.331493 +0.365573 0.42616 0.506947 0.565053 0.653474 0.762737 0.864421 0.938947 +0.981633 0.993061 1.0009 1.00514 1.00776 1.0071 1.0071 1.00841 +1.00841 1.00743 1.00416 0.996 0.98849 0.984898 0.98098 0.973053 +0.968632 0.961684 0.952842 0.947789 0.946526 0.947789 0.949684 0.951579 +0.954737 0.956 0.964211 0.977474 0.985224 0.968632 0.882105 0.741895 +0.591579 0.469707 0.339067 0.29552 0.297413 0.316347 0.320133 0.270907 +0.00096 0.000833333 0.000826667 0.000833333 0.000846667 0.000826667 0.00078 0.000786667 +0.000786667 0.000766667 0.000766667 0.00076 0.000766667 0.000753333 0.00076 0.00076 +0.00074 0.000726667 0.00072 0.00074 0.000746667 0.000726667 0.000733333 0.00074 +0.000733333 0.00074 0.000753333 0.000726667 0.000706667 0.0007 0.000726667 0.00074 +0.000746667 0.000733333 0.000693333 0.000713333 0.00074 0.00074 0.000706667 0.000706667 +0.000713333 0.000713333 0.000726667 0.000713333 0.000706667 0.000706667 0.000706667 0.000713333 +0.000753333 0.00076 0.00072 0.000706667 0.000733333 0.00076 0.000746667 0.000733333 +0.00072 0.0007 0.000726667 0.000733333 0.00072 0.00074 0.000753333 0.000733333 +0.00072 0.00072 0.000733333 0.000733333 0.000726667 0.00072 0.000726667 0.000733333 +0.000733333 0.000726667 0.000733333 0.000733333 0.00068 0.0007 0.000693333 0.00068 +0.000686667 0.000686667 0.000673333 0.000673333 0.000706667 0.0007 0.000666667 0.000673333 +0.000686667 0.00068 0.000673333 0.000673333 0.000673333 0.00068 0.0007 0.000693333 +0.00066 0.000653333 0.000673333 0.000673333 0.00066 0.000686667 0.000686667 0.000693333 +0.00068 0.00066 0.000666667 0.000686667 0.000693333 0.000686667 0.000686667 0.000653333 +0.00064 0.00064 0.00064 0.000646667 0.000653333 0.00066 0.000653333 0.000686667 +0.0007 0.000666667 0.000626667 0.000606667 0.000613333 0.000626667 0.000633333 0.000633333 +0.00062 0.00064 0.000653333 0.000686667 0.000693333 0.000686667 0.000653333 0.00064 +0.000653333 0.000646667 0.000626667 0.000646667 0.000653333 0.000653333 0.000666667 0.000666667 +0.000653333 0.000673333 0.00066 0.00064 0.000626667 0.000606667 0.000593333 0.000606667 +0.000613333 0.00062 0.000606667 0.0006 0.000606667 0.0006 0.0006 0.000593333 +0.000613333 0.00062 0.00062 0.000606667 0.000626667 0.000666667 0.000673333 0.00066 +0.000653333 0.000666667 0.000686667 0.000693333 0.00068 0.00066 0.00068 0.000693333 +0.00068 0.0007 0.000726667 0.000713333 0.00078 0.231147 0.30688 0.265227 +0.219787 0.320133 0.537263 0.698316 0.873895 0.980327 0.991429 0.980653 +0.953474 0.936421 0.930105 0.930737 0.936421 0.941474 0.945895 0.950316 +0.953474 0.955368 0.957263 0.966737 0.979368 0.989143 0.998612 1.00155 +1.00188 1.00318 1.00514 1.00776 1.00939 1.00906 1.00776 1.00645 +1.00645 1.0071 1.00547 1.00155 1.00057 1.0022 1.00351 1.00286 +1.00024 1.0009 0.997306 0.986204 0.959789 0.916211 0.855579 0.775368 +0.693895 0.623789 0.565684 0.523368 0.49432 0.450773 0.412907 0.401547 +0.407227 0.40344 0.39208 0.390187 0.384507 0.384507 0.40344 0.429947 +0.450773 0.48296 0.508842 0.525895 0.551158 0.588421 0.633263 0.681895 +0.729895 0.779158 0.831579 0.877053 0.916842 0.950947 0.971158 0.981306 +0.983918 0.982286 0.981633 0.983265 0.985224 0.986857 0.98849 0.991755 +0.994367 0.993061 0.992408 0.997633 1.00318 1.00416 1.00547 1.00873 +1.01069 1.01167 1.01233 1.01265 1.01527 1.01624 1.01396 1.01233 +1.01167 1.01298 1.01461 1.01331 1.01135 1.00939 1.00743 1.00449 +1.00514 1.00808 1.0169 1.02408 1.0218 1.02016 1.01886 1.01461 +1.00482 0.997306 0.997633 0.998286 0.997306 0.997633 1.0022 1.00351 +0.991102 0.976842 0.962316 0.956 0.956 0.958526 0.971158 0.982286 +0.987184 0.992735 0.998612 1.00906 1.02473 1.05869 1.2076 1.21977 +1.1376 1.04629 1.01918 1.00318 0.993388 0.988163 0.983265 0.981306 +0.979368 0.979368 0.981959 0.982286 0.984898 0.989143 0.992408 0.996653 +1.0009 1.0022 1.00024 1.0009 1.00286 1.00384 1.00482 1.00547 +1.00678 1.0071 1.00873 1.01102 1.01037 1.01167 1.01331 1.01233 +1.01331 1.01265 1.00841 1.00416 1.00514 1.00482 1.00253 1.00351 +1.00645 1.01102 1.01429 1.01102 1.0058 0.998939 0.995347 0.995673 +0.996653 1.00155 1.00612 1.00678 1.0071 1.00873 1.00906 1.00514 +0.999918 1.0022 1.01298 1.02408 1.028 1.02114 1.00514 0.99502 +0.992735 0.985878 0.98751 0.993714 0.992735 0.961053 0.863789 0.736211 +0.619368 0.551789 0.515158 0.452667 0.399653 0.378827 0.393973 0.42048 +0.441307 0.46592 0.46592 0.433733 0.384507 0.35232 0.354213 0.359893 +0.354213 0.361787 0.428053 0.500632 0.475387 0.40912 0.382613 0.37504 +0.354213 0.348533 0.36368 0.358 0.34096 0.350427 0.367467 0.36936 +0.373147 0.358 0.34096 0.344747 0.35232 0.34664 0.34096 0.339067 +0.3296 0.354213 0.38072 0.365573 0.337173 0.3296 0.344747 0.384507 +0.40912 0.373147 0.337173 0.320133 0.325813 0.33528 0.33528 0.325813 +0.314453 0.31256 0.344747 0.373147 0.344747 0.320133 0.314453 0.322027 +0.337173 0.356107 0.37504 0.42616 0.514526 0.583368 0.679368 0.789263 +0.886526 0.956 0.986531 0.997306 1.00416 1.00547 1.00612 1.00743 +1.00743 1.00776 1.00743 1.00416 0.99698 0.988816 0.984898 0.982286 +0.978105 0.968632 0.955368 0.949684 0.950316 0.949684 0.949684 0.950316 +0.952842 0.951579 0.954105 0.968 0.983265 0.989143 0.969895 0.878316 +0.730526 0.579579 0.44888 0.333387 0.293627 0.28984 0.31824 0.320133 +0.26712 0.000946667 0.000873333 0.000853333 0.000873333 0.00086 0.000826667 0.000833333 +0.000826667 0.000786667 0.000806667 0.000786667 0.00078 0.000753333 0.000726667 0.000746667 +0.00074 0.000726667 0.00074 0.000773333 0.000753333 0.000713333 0.00074 0.000726667 +0.000753333 0.000766667 0.000753333 0.000713333 0.000733333 0.00076 0.000766667 0.000733333 +0.000753333 0.000753333 0.00074 0.000753333 0.000746667 0.000733333 0.000706667 0.000713333 +0.000733333 0.000733333 0.000726667 0.000713333 0.00072 0.000733333 0.000746667 0.000746667 +0.00074 0.000753333 0.000726667 0.000733333 0.00074 0.000746667 0.000746667 0.00074 +0.000726667 0.00072 0.00074 0.000746667 0.000746667 0.000753333 0.000733333 0.00072 +0.000706667 0.000726667 0.00076 0.000746667 0.000726667 0.000726667 0.00074 0.000753333 +0.000753333 0.00074 0.00074 0.00074 0.000666667 0.000693333 0.000713333 0.000713333 +0.0007 0.000686667 0.000693333 0.0007 0.000706667 0.000686667 0.000666667 0.00068 +0.000666667 0.00068 0.000686667 0.000666667 0.000653333 0.000666667 0.00066 0.000673333 +0.000686667 0.000673333 0.000673333 0.00064 0.00062 0.000646667 0.000646667 0.00066 +0.000686667 0.000673333 0.000666667 0.000666667 0.000673333 0.000673333 0.00068 0.00068 +0.000673333 0.00068 0.000653333 0.000633333 0.000633333 0.000633333 0.000633333 0.000666667 +0.000713333 0.00072 0.000686667 0.000646667 0.000653333 0.00066 0.000653333 0.000646667 +0.00064 0.000646667 0.000646667 0.000646667 0.00066 0.000693333 0.000693333 0.00064 +0.000626667 0.00064 0.000626667 0.000606667 0.000633333 0.00064 0.00064 0.000626667 +0.000633333 0.000646667 0.000653333 0.00066 0.000633333 0.000633333 0.00062 0.000586667 +0.000593333 0.0006 0.00064 0.00066 0.00064 0.000613333 0.0006 0.000613333 +0.000626667 0.000633333 0.00062 0.0006 0.0006 0.000626667 0.000653333 0.000666667 +0.000673333 0.000673333 0.000666667 0.000686667 0.00068 0.00068 0.000693333 0.000686667 +0.000686667 0.00072 0.000746667 0.000746667 0.000873333 0.270907 0.3012 0.248187 +0.28984 0.515158 0.671789 0.851789 0.973684 0.990776 0.980327 0.955368 +0.939579 0.935158 0.933263 0.938316 0.945895 0.949684 0.949053 0.950947 +0.958526 0.964211 0.971789 0.983918 0.992408 1.00122 1.0058 1.00612 +1.00482 1.00645 1.00743 1.00939 1.00971 1.00971 1.00841 1.00547 +1.0058 1.00678 1.00449 1.00318 1.00318 1.00384 1.00416 1.00057 +0.992735 0.98 0.934526 0.870105 0.794316 0.719158 0.645263 0.573895 +0.522737 0.473493 0.40912 0.38072 0.36936 0.356107 0.339067 0.337173 +0.350427 0.354213 0.350427 0.35232 0.348533 0.34664 0.361787 0.371253 +0.376933 0.39208 0.401547 0.40344 0.412907 0.435627 0.473493 0.510105 +0.534737 0.564421 0.606737 0.661684 0.725474 0.790526 0.847368 0.892842 +0.927579 0.941474 0.949053 0.961053 0.973053 0.981306 0.982939 0.984571 +0.987184 0.988816 0.987837 0.988163 0.992082 0.994694 0.99502 0.996327 +0.998286 0.999592 1.00057 1.00122 1.00122 1.00351 1.00188 1.00024 +1.00253 1.00547 1.00808 1.00482 1.00253 1.00188 0.999592 0.998286 +1.0009 1.00416 1.00971 1.01429 1.01135 1.00906 1.00776 1.00155 +0.990122 0.982286 0.98 0.979368 0.981306 0.982939 0.988816 0.997959 +0.994041 0.983265 0.969263 0.957263 0.954737 0.957895 0.969895 0.981306 +0.982939 0.985224 0.990449 1.00024 1.00808 1.01788 1.02376 1.0169 +1.00384 0.992082 0.983918 0.978105 0.970526 0.969263 0.969263 0.972421 +0.974316 0.975579 0.979368 0.982286 0.986531 0.991755 0.997633 1.00188 +1.00514 1.00416 1.00122 1.00024 0.997633 0.996 0.996327 0.995673 +0.99698 1.00057 1.00351 1.0058 1.00482 1.00645 1.0071 1.00612 +1.00678 1.00906 1.00743 1.00514 1.00841 1.01037 1.00939 1.01069 +1.01331 1.01363 1.01429 1.01298 1.01233 1.00808 1.00645 1.00612 +1.00449 1.00645 1.00971 1.00906 1.00547 1.00253 1.00024 0.996327 +0.992082 0.993388 0.997633 1.00155 1.00253 0.999592 0.989143 0.983265 +0.98098 0.972421 0.974316 0.981306 0.98 0.937053 0.851158 0.736211 +0.626947 0.563789 0.534737 0.505684 0.43752 0.39776 0.399653 0.407227 +0.416693 0.441307 0.446987 0.42616 0.399653 0.378827 0.373147 0.367467 +0.36368 0.36936 0.422373 0.509474 0.533474 0.515789 0.452667 0.378827 +0.333387 0.33528 0.356107 0.35232 0.342853 0.35232 0.373147 0.382613 +0.373147 0.35232 0.337173 0.342853 0.344747 0.348533 0.35232 0.354213 +0.342853 0.348533 0.36936 0.373147 0.342853 0.3296 0.339067 0.3864 +0.422373 0.378827 0.348533 0.337173 0.32392 0.31824 0.316347 0.32392 +0.327707 0.320133 0.342853 0.36368 0.342853 0.322027 0.314453 0.316347 +0.31824 0.325813 0.33528 0.34664 0.378827 0.445093 0.530947 0.614947 +0.722947 0.830947 0.915579 0.974316 0.994041 1.00155 1.00482 1.00514 +1.00678 1.00841 1.00841 1.00776 1.00449 0.998286 0.992082 0.987184 +0.982939 0.978105 0.966105 0.957263 0.951579 0.946526 0.944 0.942105 +0.947158 0.950947 0.953474 0.966105 0.976842 0.983265 0.984898 0.959789 +0.866947 0.715368 0.568211 0.433733 0.325813 0.28984 0.282267 0.320133 +0.3296 0.26144 0.00094 0.000853333 0.00086 0.000853333 0.000813333 0.000806667 +0.000793333 0.00078 0.000826667 0.0008 0.000773333 0.00076 0.00074 0.000753333 +0.000746667 0.000746667 0.000753333 0.000766667 0.000746667 0.00074 0.00076 0.000746667 +0.00076 0.000746667 0.00074 0.000753333 0.000773333 0.000753333 0.000726667 0.000726667 +0.000766667 0.000766667 0.000746667 0.000726667 0.00072 0.000726667 0.000733333 0.000753333 +0.000753333 0.000713333 0.000713333 0.00074 0.000753333 0.000733333 0.000726667 0.000713333 +0.00072 0.00074 0.000733333 0.00072 0.00072 0.000733333 0.000746667 0.000753333 +0.000733333 0.000733333 0.00076 0.000746667 0.000733333 0.000746667 0.000726667 0.000713333 +0.000713333 0.00076 0.00078 0.000733333 0.000713333 0.000726667 0.00074 0.000753333 +0.00076 0.00074 0.000726667 0.000746667 0.000686667 0.000653333 0.000666667 0.000686667 +0.0007 0.000706667 0.0007 0.00072 0.00074 0.000713333 0.00068 0.000673333 +0.00066 0.00066 0.0007 0.0007 0.000666667 0.00066 0.00066 0.000646667 +0.000666667 0.000686667 0.000666667 0.000666667 0.00066 0.00064 0.000646667 0.00064 +0.000646667 0.000653333 0.00068 0.000673333 0.00068 0.000653333 0.00066 0.000673333 +0.000666667 0.00068 0.000686667 0.00068 0.00066 0.00064 0.000626667 0.000626667 +0.000646667 0.000686667 0.000686667 0.00068 0.000666667 0.000653333 0.00064 0.000653333 +0.000646667 0.00066 0.000653333 0.000653333 0.000653333 0.000673333 0.00068 0.000673333 +0.000673333 0.000673333 0.000633333 0.000626667 0.00064 0.00064 0.00064 0.000646667 +0.00062 0.000613333 0.00064 0.00066 0.000666667 0.000686667 0.00068 0.000646667 +0.000626667 0.000606667 0.000626667 0.00066 0.000633333 0.000613333 0.000613333 0.0006 +0.00062 0.000646667 0.00066 0.000646667 0.00062 0.0006 0.000606667 0.000626667 +0.000653333 0.000646667 0.000633333 0.000653333 0.000646667 0.000666667 0.000686667 0.000673333 +0.000673333 0.000693333 0.00072 0.000813333 0.23872 0.310667 0.299307 0.28984 +0.469707 0.640842 0.830316 0.964842 0.994041 0.983265 0.957263 0.939579 +0.934526 0.938316 0.943368 0.949053 0.953474 0.954737 0.956632 0.961053 +0.971158 0.980327 0.986531 0.993714 1.00155 1.00645 1.0071 1.00776 +1.00971 1.01004 1.00939 1.00808 1.0071 1.00808 1.00808 1.00743 +1.00776 1.00482 1.00351 1.00416 1.00416 1.00155 0.995347 0.976842 +0.917474 0.839789 0.746316 0.655368 0.584632 0.537895 0.507579 0.446987 +0.401547 0.367467 0.344747 0.34664 0.350427 0.342853 0.327707 0.3296 +0.348533 0.350427 0.337173 0.339067 0.339067 0.34096 0.361787 0.36936 +0.367467 0.378827 0.378827 0.378827 0.365573 0.359893 0.367467 0.373147 +0.3864 0.401547 0.43752 0.5 0.532842 0.580842 0.638316 0.700211 +0.762105 0.803789 0.828421 0.853684 0.878316 0.899789 0.916211 0.930105 +0.945895 0.961684 0.972421 0.976842 0.98098 0.985878 0.986857 0.986857 +0.987837 0.988816 0.987837 0.986857 0.985224 0.983918 0.982939 0.990776 +1.00449 1.00906 1.00318 0.991429 0.986204 0.98849 0.990122 0.990776 +0.992408 0.99502 0.99698 0.999918 0.996327 0.991429 0.984571 0.966105 +0.944 0.926947 0.920632 0.921895 0.926316 0.931368 0.945895 0.980653 +0.992082 0.984898 0.964842 0.945895 0.941474 0.946526 0.957895 0.971789 +0.973053 0.974947 0.98 0.985224 0.988816 0.988816 0.987184 0.983918 +0.980653 0.978105 0.970526 0.968 0.963579 0.962316 0.964211 0.968632 +0.974316 0.98 0.982939 0.987837 0.99502 1.00057 1.0009 1.00024 +1.00024 0.99698 0.995347 0.996327 0.995673 0.994694 0.99698 0.998286 +0.999592 1.00253 1.00416 1.00547 1.0058 1.00482 1.00384 1.00318 +1.00351 1.00449 1.00416 1.00482 1.01069 1.01396 1.01363 1.01527 +1.01624 1.01592 1.01918 1.01918 1.02016 1.01886 1.01918 1.01886 +1.01429 1.01331 1.01429 1.012 1.00906 1.00416 0.998939 0.993388 +0.98849 0.987837 0.989143 0.989469 0.988163 0.985224 0.973684 0.963579 +0.964842 0.964842 0.966105 0.969263 0.964842 0.92821 0.861895 0.765263 +0.663579 0.592842 0.559368 0.529684 0.492427 0.429947 0.40912 0.407227 +0.424267 0.424267 0.405333 0.378827 0.367467 0.367467 0.378827 0.395867 +0.395867 0.40344 0.452667 0.520842 0.559368 0.556842 0.518947 0.411013 +0.337173 0.34096 0.359893 0.354213 0.356107 0.367467 0.3864 0.399653 +0.384507 0.350427 0.33528 0.342853 0.34096 0.337173 0.350427 0.358 +0.350427 0.34664 0.365573 0.376933 0.354213 0.34096 0.342853 0.382613 +0.399653 0.36368 0.35232 0.344747 0.32392 0.310667 0.31256 0.314453 +0.320133 0.327707 0.342853 0.358 0.344747 0.322027 0.310667 0.304987 +0.299307 0.304987 0.32392 0.333387 0.342853 0.359893 0.405333 0.503158 +0.565684 0.659158 0.770947 0.876421 0.950316 0.98751 0.998286 1.00318 +1.00645 1.00873 1.00808 1.00776 1.00808 1.00645 0.999918 0.993061 +0.988163 0.985551 0.982286 0.971158 0.957895 0.949053 0.942737 0.938947 +0.943368 0.951579 0.956 0.962947 0.963579 0.962316 0.972421 0.982286 +0.957895 0.858105 0.702105 0.554316 0.411013 0.31824 0.274693 0.287947 +0.33528 0.322027 0.253867 0.000913333 0.000846667 0.000846667 0.00082 0.0008 +0.000793333 0.000786667 0.0008 0.000786667 0.000766667 0.000766667 0.00076 0.000753333 +0.00076 0.000753333 0.00076 0.000773333 0.000786667 0.00078 0.000786667 0.000753333 +0.000746667 0.000746667 0.000773333 0.00076 0.000706667 0.0007 0.000713333 0.000726667 +0.00076 0.000733333 0.0007 0.00072 0.00074 0.000746667 0.000733333 0.000726667 +0.00072 0.000713333 0.00074 0.000746667 0.000746667 0.000726667 0.0007 0.0007 +0.000733333 0.00074 0.00072 0.00072 0.000746667 0.000746667 0.00074 0.000746667 +0.000746667 0.000746667 0.000753333 0.000733333 0.000726667 0.000746667 0.00074 0.00072 +0.000733333 0.000773333 0.000753333 0.00072 0.000726667 0.00074 0.000753333 0.000746667 +0.000733333 0.000726667 0.000746667 0.00078 0.00072 0.0007 0.00068 0.00066 +0.000666667 0.0007 0.000706667 0.000693333 0.000713333 0.000746667 0.00074 0.00072 +0.0007 0.00068 0.00068 0.00068 0.0007 0.000693333 0.000673333 0.000673333 +0.000686667 0.00068 0.000666667 0.000666667 0.00068 0.00066 0.000666667 0.000666667 +0.000646667 0.000653333 0.00064 0.000653333 0.000666667 0.000646667 0.000653333 0.000653333 +0.00064 0.00064 0.000633333 0.000633333 0.000646667 0.00066 0.000646667 0.00064 +0.00062 0.000613333 0.00062 0.00068 0.000706667 0.00068 0.000653333 0.000646667 +0.00064 0.000653333 0.000653333 0.00064 0.00066 0.000646667 0.000653333 0.000653333 +0.000646667 0.00068 0.00066 0.00066 0.00068 0.000666667 0.00066 0.000673333 +0.000633333 0.000626667 0.000633333 0.000626667 0.000613333 0.000653333 0.00066 0.000633333 +0.00062 0.000613333 0.00062 0.00062 0.000606667 0.000593333 0.00062 0.000606667 +0.000593333 0.000613333 0.00064 0.00066 0.000653333 0.000633333 0.000613333 0.00062 +0.000626667 0.000633333 0.000646667 0.00066 0.00066 0.000666667 0.00068 0.000666667 +0.000686667 0.000733333 0.000773333 0.000973333 0.297413 0.322027 0.304987 0.422373 +0.602947 0.796211 0.947158 0.991755 0.985551 0.959158 0.940842 0.935158 +0.935158 0.940842 0.953474 0.960421 0.963579 0.965474 0.969895 0.978105 +0.985551 0.992735 0.999265 1.00253 1.00678 1.00743 1.00678 1.00873 +1.01037 1.00971 1.00841 1.0058 1.00416 1.0058 1.00808 1.00906 +1.00743 1.00351 1.0009 0.998612 0.991755 0.974947 0.921895 0.836632 +0.736842 0.642737 0.563789 0.510737 0.458347 0.42616 0.405333 0.384507 +0.359893 0.337173 0.325813 0.327707 0.34096 0.34664 0.339067 0.344747 +0.356107 0.358 0.350427 0.339067 0.322027 0.322027 0.358 0.37504 +0.359893 0.359893 0.36936 0.361787 0.339067 0.333387 0.34096 0.344747 +0.34664 0.350427 0.367467 0.376933 0.39208 0.428053 0.486747 0.527789 +0.576421 0.625053 0.666105 0.698316 0.715368 0.731789 0.755789 0.784211 +0.808211 0.831579 0.858105 0.877684 0.894105 0.911158 0.925053 0.937053 +0.945895 0.953474 0.957263 0.957895 0.960421 0.959158 0.958526 0.983918 +1.00645 1.01135 0.993714 0.961053 0.943368 0.954737 0.966737 0.962316 +0.954105 0.956632 0.962316 0.964211 0.950316 0.923158 0.897895 0.875158 +0.856842 0.841053 0.830316 0.822105 0.819579 0.825263 0.844211 0.902947 +0.964211 0.969895 0.940842 0.917474 0.915579 0.925684 0.938947 0.951579 +0.957895 0.960421 0.960421 0.964211 0.971158 0.969895 0.967368 0.965474 +0.966737 0.966105 0.963579 0.966105 0.963579 0.964211 0.969895 0.977474 +0.982286 0.988163 0.994694 0.997633 0.998939 0.999918 0.996327 0.995347 +0.995673 0.99698 0.997959 1.00057 1.00384 1.00482 1.00678 1.00841 +1.00971 1.01102 1.00906 1.00776 1.00645 1.00482 1.00514 1.0071 +1.00873 1.01037 1.01037 1.012 1.01722 1.02114 1.02212 1.02539 +1.02506 1.02539 1.02931 1.03029 1.02996 1.02735 1.02669 1.02278 +1.0182 1.01755 1.01788 1.01592 1.01363 1.01069 1.00645 0.998939 +0.993388 0.990449 0.986857 0.982286 0.98098 0.975579 0.962316 0.957263 +0.957895 0.957895 0.961053 0.964211 0.957263 0.933263 0.889684 0.812632 +0.719789 0.636421 0.577053 0.534737 0.506947 0.46592 0.416693 0.412907 +0.43752 0.424267 0.3864 0.356107 0.34664 0.356107 0.37504 0.393973 +0.390187 0.405333 0.469707 0.515789 0.534737 0.541053 0.529053 0.46592 +0.371253 0.356107 0.365573 0.367467 0.367467 0.373147 0.37504 0.393973 +0.405333 0.376933 0.348533 0.339067 0.344747 0.348533 0.348533 0.354213 +0.36368 0.354213 0.361787 0.378827 0.376933 0.354213 0.34096 0.367467 +0.3864 0.390187 0.38072 0.34664 0.327707 0.31824 0.316347 0.304987 +0.31256 0.3296 0.344747 0.358 0.337173 0.310667 0.297413 0.291733 +0.28984 0.297413 0.316347 0.325813 0.3296 0.339067 0.348533 0.371253 +0.43752 0.525895 0.606105 0.716 0.832211 0.925053 0.981633 0.99698 +1.00253 1.00612 1.00776 1.0071 1.0071 1.0071 1.00547 1.00057 +0.994041 0.991755 0.990122 0.983265 0.971158 0.958526 0.947789 0.945263 +0.945895 0.952211 0.957263 0.957895 0.952842 0.946526 0.954737 0.974947 +0.984245 0.952842 0.841053 0.676842 0.530947 0.36936 0.299307 0.27848 +0.297413 0.33528 0.316347 0.236827 0.00088 0.00088 0.00086 0.000833333 +0.000833333 0.0008 0.000793333 0.0008 0.000793333 0.000793333 0.00078 0.00076 +0.000746667 0.000766667 0.000786667 0.0008 0.000786667 0.000773333 0.000766667 0.00074 +0.000746667 0.00076 0.00076 0.000726667 0.0007 0.000726667 0.000753333 0.000733333 +0.000766667 0.000733333 0.00072 0.000753333 0.000753333 0.00074 0.000706667 0.000706667 +0.000726667 0.00074 0.000753333 0.00074 0.000726667 0.000733333 0.000733333 0.00074 +0.00076 0.00074 0.000733333 0.00076 0.000773333 0.000746667 0.00074 0.000746667 +0.000733333 0.000733333 0.00074 0.00074 0.000726667 0.000733333 0.000733333 0.000713333 +0.00072 0.000726667 0.00074 0.000766667 0.000746667 0.000726667 0.000726667 0.000733333 +0.00076 0.000773333 0.00078 0.00078 0.0007 0.000686667 0.000693333 0.00068 +0.00068 0.000666667 0.00066 0.000653333 0.00064 0.000666667 0.000686667 0.000693333 +0.000706667 0.000693333 0.00068 0.000653333 0.000673333 0.000686667 0.000673333 0.00066 +0.00066 0.000666667 0.00068 0.000666667 0.000653333 0.000653333 0.000646667 0.000666667 +0.000673333 0.000653333 0.000653333 0.000666667 0.00064 0.000626667 0.00064 0.00066 +0.000666667 0.000653333 0.000653333 0.000653333 0.00064 0.000653333 0.00066 0.000666667 +0.000653333 0.00062 0.000606667 0.00062 0.000633333 0.000653333 0.00066 0.000653333 +0.000626667 0.00062 0.00062 0.000606667 0.000613333 0.000613333 0.000633333 0.00064 +0.00062 0.00062 0.000613333 0.00064 0.000673333 0.000666667 0.00066 0.00066 +0.00064 0.00064 0.00064 0.000633333 0.000606667 0.0006 0.00062 0.000626667 +0.00062 0.00064 0.000633333 0.000613333 0.000613333 0.000613333 0.000606667 0.000606667 +0.00062 0.000606667 0.00062 0.000626667 0.000633333 0.00066 0.000673333 0.00066 +0.000653333 0.00064 0.000653333 0.000666667 0.000686667 0.000706667 0.000693333 0.000693333 +0.000726667 0.00078 0.0009 0.270907 0.333387 0.322027 0.382613 0.567579 +0.758947 0.932632 0.992082 0.989796 0.969895 0.947789 0.938947 0.939579 +0.944632 0.953474 0.965474 0.970526 0.973684 0.976842 0.981633 0.988163 +0.99502 1.0009 1.00449 1.00645 1.00678 1.00645 1.00808 1.01037 +1.00906 1.00547 1.00482 1.00253 0.999918 1.00188 1.00547 1.00416 +0.999918 0.997633 0.994041 0.98098 0.929474 0.850526 0.753895 0.660421 +0.584 0.527789 0.475387 0.412907 0.388293 0.382613 0.373147 0.359893 +0.342853 0.331493 0.327707 0.320133 0.320133 0.325813 0.33528 0.342853 +0.35232 0.356107 0.361787 0.359893 0.34664 0.34096 0.365573 0.367467 +0.344747 0.354213 0.36936 0.354213 0.327707 0.320133 0.32392 0.33528 +0.342853 0.342853 0.348533 0.35232 0.35232 0.361787 0.36368 0.399653 +0.473493 0.517684 0.550526 0.572632 0.566316 0.567579 0.585263 0.603579 +0.615579 0.628211 0.649684 0.673053 0.694526 0.717263 0.741895 0.765895 +0.781684 0.798737 0.813263 0.830947 0.856211 0.878316 0.895368 0.929474 +0.969263 0.973684 0.924421 0.858105 0.824632 0.829684 0.836 0.822105 +0.808842 0.808842 0.816421 0.815789 0.794947 0.761474 0.739368 0.722947 +0.704632 0.690737 0.683789 0.676211 0.672421 0.676842 0.700211 0.772211 +0.86 0.889684 0.875158 0.875158 0.893474 0.912421 0.921895 0.935158 +0.946526 0.953474 0.952211 0.952842 0.960421 0.962947 0.966105 0.965474 +0.963579 0.962316 0.962316 0.968632 0.969263 0.971789 0.981306 0.987837 +0.990776 0.995347 0.999918 0.998612 0.997306 0.997959 0.999592 1.00318 +1.00612 1.01004 1.01069 1.01233 1.01624 1.01886 1.0169 1.01331 +1.01363 1.01363 1.00939 1.00906 1.00906 1.00873 1.01233 1.01624 +1.0182 1.02049 1.02082 1.0218 1.02637 1.02865 1.03094 1.03486 +1.03388 1.03322 1.0329 1.03388 1.0342 1.03159 1.02963 1.02571 +1.02343 1.02245 1.0231 1.02147 1.01853 1.01755 1.01559 1.00939 +1.00416 0.998286 0.990449 0.982612 0.979368 0.970526 0.959158 0.956632 +0.954105 0.956 0.959158 0.957263 0.949684 0.935789 0.913053 0.866947 +0.800632 0.719158 0.637684 0.571368 0.531579 0.515158 0.48296 0.44888 +0.441307 0.407227 0.37504 0.361787 0.361787 0.36936 0.384507 0.376933 +0.358 0.382613 0.42616 0.446987 0.441307 0.452667 0.473493 0.4432 +0.405333 0.382613 0.38072 0.376933 0.371253 0.359893 0.359893 0.38072 +0.42048 0.424267 0.373147 0.34664 0.367467 0.36936 0.34664 0.354213 +0.361787 0.34664 0.34664 0.371253 0.378827 0.354213 0.34664 0.376933 +0.395867 0.393973 0.365573 0.33528 0.325813 0.320133 0.30688 0.291733 +0.293627 0.31256 0.34096 0.344747 0.32392 0.299307 0.287947 0.286053 +0.299307 0.304987 0.30688 0.31824 0.320133 0.314453 0.314453 0.322027 +0.34664 0.401547 0.48864 0.560632 0.671789 0.795579 0.899158 0.966105 +0.991102 1.00122 1.00449 1.00318 1.00449 1.0071 1.00776 1.0058 +1.0009 0.997306 0.994041 0.989469 0.982612 0.968 0.956 0.952842 +0.949684 0.949053 0.950947 0.949684 0.942737 0.942105 0.947789 0.957263 +0.976842 0.983592 0.944 0.818316 0.645895 0.512 0.359893 0.293627 +0.265227 0.297413 0.34096 0.304987 0.22736 0.000926667 0.00088 0.000853333 +0.00084 0.00082 0.000813333 0.000826667 0.000846667 0.000833333 0.0008 0.00078 +0.000773333 0.000806667 0.000813333 0.0008 0.00078 0.000786667 0.000793333 0.000766667 +0.000753333 0.000733333 0.000766667 0.000786667 0.000773333 0.000766667 0.000746667 0.00074 +0.000773333 0.00078 0.000766667 0.00074 0.00074 0.00074 0.00072 0.000733333 +0.00076 0.000766667 0.000733333 0.000726667 0.00074 0.00076 0.000766667 0.000766667 +0.00076 0.000733333 0.000746667 0.00078 0.000766667 0.000733333 0.000733333 0.000733333 +0.00072 0.000753333 0.000753333 0.000746667 0.000746667 0.000746667 0.00074 0.000726667 +0.000746667 0.00076 0.000766667 0.00076 0.00072 0.000706667 0.00074 0.000773333 +0.000786667 0.00076 0.000733333 0.000733333 0.00068 0.000673333 0.000673333 0.000673333 +0.000686667 0.000666667 0.000653333 0.000666667 0.000653333 0.00064 0.000646667 0.000646667 +0.00066 0.000666667 0.000693333 0.00072 0.000693333 0.000673333 0.00068 0.000673333 +0.000673333 0.00068 0.000666667 0.000673333 0.000686667 0.000673333 0.000646667 0.000646667 +0.000673333 0.00068 0.00068 0.0007 0.000666667 0.000646667 0.00064 0.000666667 +0.000666667 0.00066 0.00066 0.00066 0.00066 0.000666667 0.000666667 0.000633333 +0.000633333 0.00064 0.000626667 0.000626667 0.000633333 0.000626667 0.000626667 0.00064 +0.000633333 0.000633333 0.00066 0.000633333 0.000613333 0.000613333 0.000626667 0.000633333 +0.00062 0.000633333 0.000606667 0.0006 0.000633333 0.000653333 0.000653333 0.000646667 +0.000633333 0.000626667 0.000633333 0.000633333 0.000646667 0.00064 0.000626667 0.00064 +0.000633333 0.000646667 0.000653333 0.000633333 0.000633333 0.00062 0.000606667 0.000613333 +0.0006 0.000626667 0.00066 0.000653333 0.00066 0.000673333 0.000693333 0.0007 +0.000706667 0.000693333 0.00068 0.000686667 0.000706667 0.000733333 0.000713333 0.000746667 +0.000793333 0.000846667 0.236827 0.33528 0.36368 0.367467 0.529053 0.708421 +0.900421 0.989143 0.994041 0.981306 0.956632 0.945895 0.941474 0.942737 +0.950947 0.964211 0.969895 0.972421 0.980327 0.984245 0.990449 0.998286 +1.00318 1.00449 1.00612 1.00776 1.00776 1.0071 1.00939 1.00971 +1.00612 1.00384 1.00351 1.0022 1.00024 0.999918 0.998612 0.99502 +0.988163 0.983592 0.967368 0.902947 0.805684 0.702105 0.614947 0.558105 +0.520211 0.47728 0.42048 0.373147 0.34096 0.337173 0.34664 0.348533 +0.339067 0.333387 0.331493 0.32392 0.314453 0.316347 0.320133 0.32392 +0.33528 0.34096 0.34664 0.37504 0.405333 0.416693 0.411013 0.36936 +0.322027 0.342853 0.37504 0.361787 0.33528 0.316347 0.31824 0.331493 +0.34096 0.34096 0.356107 0.361787 0.354213 0.354213 0.344747 0.361787 +0.405333 0.43752 0.481067 0.506316 0.48864 0.46592 0.490533 0.505684 +0.507579 0.504421 0.505053 0.513263 0.523368 0.535368 0.549895 0.563789 +0.570105 0.578947 0.592842 0.613684 0.649684 0.683158 0.712842 0.750105 +0.784842 0.781684 0.728 0.657263 0.618737 0.619368 0.616842 0.604842 +0.601053 0.602947 0.606737 0.604211 0.591579 0.574526 0.565684 0.562526 +0.551789 0.539789 0.536632 0.538526 0.539789 0.544842 0.570105 0.630737 +0.707789 0.746947 0.762737 0.803158 0.867579 0.904211 0.913053 0.929474 +0.944 0.948421 0.944 0.940842 0.946526 0.951579 0.958526 0.964842 +0.962316 0.960421 0.962947 0.976211 0.982612 0.985551 0.991102 0.996327 +0.995673 0.99502 0.996653 0.998612 1.00188 1.0058 1.00971 1.01167 +1.01298 1.01527 1.01657 1.0182 1.02049 1.02082 1.01722 1.01396 +1.01396 1.01298 1.01135 1.01494 1.01951 1.02147 1.02376 1.02637 +1.02702 1.02767 1.02735 1.03061 1.03453 1.03453 1.03453 1.03616 +1.03682 1.03616 1.03486 1.03453 1.03224 1.03061 1.03094 1.02963 +1.03061 1.028 1.02669 1.02473 1.0218 1.02147 1.01984 1.01788 +1.01592 1.00971 1.00155 0.992735 0.98849 0.981306 0.971158 0.969263 +0.961684 0.962316 0.964842 0.959158 0.946526 0.935158 0.922526 0.900421 +0.866316 0.812 0.743158 0.667368 0.608632 0.578316 0.553053 0.530947 +0.503158 0.428053 0.388293 0.37504 0.373147 0.37504 0.3864 0.361787 +0.342853 0.365573 0.3864 0.373147 0.35232 0.35232 0.35232 0.367467 +0.390187 0.39776 0.411013 0.39208 0.36368 0.350427 0.35232 0.36936 +0.428053 0.473493 0.43752 0.378827 0.365573 0.35232 0.350427 0.371253 +0.373147 0.344747 0.344747 0.367467 0.373147 0.358 0.388293 0.43184 +0.40912 0.36368 0.333387 0.32392 0.325813 0.32392 0.304987 0.28984 +0.287947 0.3012 0.333387 0.34664 0.3296 0.310667 0.299307 0.287947 +0.30688 0.322027 0.316347 0.31824 0.31824 0.31824 0.325813 0.331493 +0.337173 0.350427 0.361787 0.435627 0.544211 0.639579 0.748842 0.856842 +0.940842 0.984571 0.99502 0.998939 1.00286 1.00482 1.0058 1.00678 +1.0058 1.00188 0.998612 0.99502 0.98849 0.981959 0.967368 0.957263 +0.952842 0.948421 0.948421 0.947158 0.945895 0.945263 0.945895 0.947789 +0.960421 0.982286 0.982939 0.92821 0.794947 0.626316 0.502526 0.337173 +0.269013 0.2444 0.3012 0.34096 0.287947 0.219787 0.00088 0.000853333 +0.000846667 0.00082 0.000833333 0.00084 0.000846667 0.000813333 0.00078 0.000806667 +0.00082 0.000806667 0.00078 0.000786667 0.000806667 0.00082 0.0008 0.00076 +0.00076 0.000773333 0.000806667 0.0008 0.00076 0.00074 0.00074 0.000753333 +0.000786667 0.000786667 0.00074 0.000713333 0.000733333 0.000733333 0.000733333 0.000753333 +0.000766667 0.00076 0.000746667 0.000753333 0.000773333 0.00078 0.000753333 0.000746667 +0.000753333 0.00074 0.000753333 0.000786667 0.000753333 0.00072 0.000733333 0.00074 +0.000746667 0.000766667 0.000746667 0.000726667 0.00072 0.00072 0.000713333 0.000726667 +0.00076 0.00074 0.0007 0.000726667 0.000746667 0.00076 0.000773333 0.000773333 +0.000746667 0.000746667 0.00074 0.000733333 0.00068 0.000686667 0.000713333 0.0007 +0.000693333 0.00068 0.00068 0.000693333 0.000693333 0.000686667 0.000686667 0.000673333 +0.000653333 0.000653333 0.000666667 0.000706667 0.00072 0.0007 0.000693333 0.000686667 +0.000686667 0.0007 0.00066 0.000653333 0.00068 0.00068 0.00066 0.00066 +0.000653333 0.000666667 0.00068 0.000686667 0.000693333 0.000686667 0.00066 0.00066 +0.00064 0.000633333 0.000653333 0.000646667 0.00064 0.000666667 0.000693333 0.000653333 +0.000626667 0.00064 0.00066 0.00064 0.000646667 0.00064 0.000626667 0.000633333 +0.00064 0.00062 0.00064 0.000646667 0.00066 0.000653333 0.000653333 0.000646667 +0.00062 0.000653333 0.00064 0.0006 0.00062 0.00064 0.00064 0.00066 +0.000653333 0.000666667 0.000666667 0.000653333 0.000626667 0.000633333 0.000653333 0.000646667 +0.000626667 0.000633333 0.00064 0.000653333 0.000633333 0.000653333 0.000653333 0.00064 +0.000626667 0.000626667 0.000633333 0.000653333 0.0007 0.0007 0.000693333 0.0007 +0.0007 0.000713333 0.000726667 0.00074 0.000733333 0.000726667 0.000733333 0.000766667 +0.000853333 0.23304 0.316347 0.378827 0.384507 0.503789 0.654737 0.858737 +0.982939 0.991429 0.980653 0.962316 0.950316 0.944 0.944632 0.949053 +0.959158 0.969895 0.972421 0.980327 0.986531 0.992408 0.999918 1.00776 +1.00971 1.00776 1.00743 1.01037 1.00906 1.00841 1.00678 1.00384 +1.0022 1.00318 1.00547 1.00547 1.00155 0.993388 0.984898 0.978737 +0.959789 0.938947 0.893474 0.796211 0.693263 0.616211 0.562526 0.525263 +0.5 0.43752 0.382613 0.350427 0.333387 0.322027 0.337173 0.348533 +0.33528 0.325813 0.322027 0.31824 0.314453 0.316347 0.31256 0.310667 +0.31824 0.32392 0.337173 0.378827 0.428053 0.450773 0.45456 0.407227 +0.344747 0.356107 0.395867 0.388293 0.367467 0.342853 0.327707 0.32392 +0.327707 0.33528 0.361787 0.37504 0.354213 0.333387 0.331493 0.342853 +0.36936 0.393973 0.42616 0.464027 0.445093 0.40912 0.4148 0.439413 +0.4432 0.424267 0.39776 0.39208 0.411013 0.42616 0.43184 0.424267 +0.422373 0.42616 0.439413 0.467813 0.504421 0.517684 0.529053 0.549895 +0.566947 0.561263 0.532211 0.48864 0.439413 0.452667 0.446987 0.435627 +0.441307 0.44888 0.439413 0.424267 0.412907 0.401547 0.3864 0.3864 +0.384507 0.37504 0.384507 0.393973 0.388293 0.40344 0.48296 0.539789 +0.588421 0.622526 0.651579 0.713474 0.819579 0.891579 0.913053 0.929474 +0.945263 0.949684 0.949684 0.949684 0.955368 0.959789 0.960421 0.965474 +0.964211 0.967368 0.975579 0.984571 0.992735 0.997306 0.999592 1.00188 +1.00155 0.999918 1.00188 1.00645 1.00939 1.00939 1.01069 1.01069 +1.00939 1.01004 1.01102 1.01363 1.01527 1.01527 1.01461 1.01559 +1.01527 1.01559 1.01886 1.02245 1.02571 1.02833 1.03094 1.03224 +1.03322 1.0342 1.03224 1.03355 1.03812 1.03812 1.03747 1.03584 +1.0342 1.03486 1.03714 1.03812 1.03388 1.03224 1.03192 1.03094 +1.0342 1.03094 1.02735 1.02702 1.02571 1.02571 1.02441 1.02343 +1.02473 1.02016 1.01167 1.00416 0.999265 0.991755 0.986204 0.984245 +0.979368 0.974947 0.977474 0.973053 0.954737 0.941474 0.931368 0.92 +0.906105 0.884 0.850526 0.791158 0.730526 0.684421 0.650316 0.623158 +0.580211 0.533474 0.496213 0.428053 0.388293 0.38072 0.376933 0.359893 +0.356107 0.371253 0.378827 0.356107 0.339067 0.33528 0.320133 0.327707 +0.350427 0.3864 0.46024 0.456453 0.390187 0.367467 0.358 0.36368 +0.416693 0.484853 0.486747 0.416693 0.36368 0.344747 0.36368 0.3864 +0.376933 0.35232 0.36368 0.371253 0.384507 0.407227 0.458347 0.467813 +0.401547 0.337173 0.314453 0.30688 0.310667 0.31256 0.291733 0.28416 +0.28984 0.303093 0.327707 0.350427 0.34664 0.32392 0.299307 0.29552 +0.322027 0.342853 0.3296 0.320133 0.333387 0.342853 0.337173 0.327707 +0.331493 0.33528 0.34096 0.36936 0.441307 0.520211 0.590947 0.698947 +0.817053 0.911789 0.972421 0.992735 0.999592 1.00155 1.00286 1.00482 +1.00482 1.00286 1.00188 0.998286 0.994041 0.989796 0.981306 0.965474 +0.958526 0.955368 0.950947 0.952842 0.954105 0.947789 0.943368 0.944632 +0.953474 0.968632 0.981306 0.981306 0.918737 0.771579 0.602947 0.46592 +0.316347 0.251973 0.259547 0.322027 0.337173 0.26712 0.000926667 0.000846667 +0.00084 0.000826667 0.000846667 0.000826667 0.000793333 0.000786667 0.000786667 0.000806667 +0.000773333 0.000766667 0.00078 0.000806667 0.000793333 0.00076 0.000753333 0.00076 +0.000773333 0.00078 0.00078 0.00076 0.000746667 0.000733333 0.000753333 0.000766667 +0.000766667 0.000746667 0.00072 0.00072 0.00076 0.000746667 0.000733333 0.00074 +0.000746667 0.00074 0.000753333 0.000753333 0.00076 0.000753333 0.000733333 0.00076 +0.000786667 0.000773333 0.00076 0.000773333 0.000746667 0.000746667 0.000766667 0.00076 +0.000753333 0.000753333 0.000746667 0.00072 0.00072 0.000726667 0.000733333 0.000746667 +0.000753333 0.00072 0.000706667 0.000753333 0.000766667 0.00074 0.000733333 0.000733333 +0.00076 0.000773333 0.000753333 0.000726667 0.000693333 0.000686667 0.000686667 0.0007 +0.0007 0.00068 0.000686667 0.00068 0.000673333 0.000693333 0.000706667 0.000693333 +0.000673333 0.000666667 0.000653333 0.000633333 0.000653333 0.00068 0.000706667 0.0007 +0.0007 0.000713333 0.0007 0.000666667 0.00068 0.00068 0.000686667 0.0007 +0.00068 0.00066 0.00066 0.000646667 0.00066 0.000686667 0.000686667 0.000673333 +0.000666667 0.000653333 0.000666667 0.000646667 0.00064 0.000653333 0.000666667 0.000666667 +0.000646667 0.000633333 0.000653333 0.000646667 0.000633333 0.00064 0.000653333 0.000673333 +0.000666667 0.000666667 0.000646667 0.00064 0.000653333 0.000666667 0.00068 0.000673333 +0.000666667 0.00066 0.00064 0.00062 0.00062 0.000626667 0.000633333 0.000633333 +0.000626667 0.000653333 0.000686667 0.00068 0.000646667 0.000646667 0.000646667 0.000633333 +0.000626667 0.000646667 0.000646667 0.000646667 0.00064 0.000646667 0.000653333 0.00066 +0.00068 0.000673333 0.000646667 0.000633333 0.000666667 0.000686667 0.000706667 0.00074 +0.000726667 0.000706667 0.000733333 0.000746667 0.000753333 0.000753333 0.000766667 0.000833333 +0.216 0.28984 0.35232 0.38072 0.469707 0.612421 0.812632 0.964842 +0.993714 0.982286 0.957895 0.947789 0.944632 0.942737 0.950947 0.960421 +0.966737 0.972421 0.979368 0.986857 0.995347 1.00188 1.00743 1.01135 +1.01102 1.00939 1.00939 1.00841 1.00743 1.00547 0.999918 0.998612 +1.0009 1.00449 1.00678 1.00253 0.992408 0.975579 0.945895 0.918105 +0.880842 0.851789 0.815158 0.733053 0.647789 0.590947 0.547368 0.512632 +0.473493 0.411013 0.350427 0.342853 0.344747 0.327707 0.32392 0.331493 +0.32392 0.316347 0.310667 0.31256 0.316347 0.308773 0.310667 0.314453 +0.316347 0.31824 0.327707 0.356107 0.38072 0.39208 0.4148 0.428053 +0.4148 0.42048 0.424267 0.399653 0.384507 0.36936 0.348533 0.327707 +0.31824 0.3296 0.365573 0.3864 0.354213 0.33528 0.342853 0.35232 +0.356107 0.373147 0.40912 0.45456 0.446987 0.401547 0.384507 0.39776 +0.40344 0.39776 0.384507 0.371253 0.38072 0.399653 0.399653 0.393973 +0.395867 0.39208 0.382613 0.39208 0.40912 0.40344 0.395867 0.405333 +0.418587 0.411013 0.388293 0.359893 0.359893 0.376933 0.36936 0.36936 +0.382613 0.37504 0.350427 0.34096 0.33528 0.314453 0.3012 0.316347 +0.333387 0.325813 0.316347 0.316347 0.297413 0.31256 0.39776 0.501895 +0.537263 0.569474 0.592211 0.642737 0.757053 0.868211 0.917474 0.933263 +0.946526 0.955368 0.963579 0.974316 0.985224 0.986857 0.979368 0.971789 +0.970526 0.977474 0.984898 0.992735 1.00057 1.00416 1.00286 1.00351 +1.00416 1.00416 1.00482 1.00645 1.00808 1.0058 1.00612 1.00645 +1.00678 1.00971 1.01069 1.01429 1.01984 1.02147 1.02016 1.01951 +1.02049 1.02278 1.02865 1.03061 1.02931 1.03061 1.03257 1.03388 +1.03584 1.0378 1.03584 1.03486 1.03682 1.03714 1.03812 1.03518 +1.03257 1.0329 1.03551 1.03714 1.03453 1.03159 1.03127 1.03127 +1.03388 1.03094 1.02833 1.02702 1.02702 1.02996 1.02865 1.028 +1.02931 1.02669 1.02212 1.01722 1.01135 1.00384 0.998612 0.993061 +0.986204 0.984571 0.987184 0.984898 0.970526 0.959789 0.947789 0.941474 +0.938947 0.933263 0.920632 0.886526 0.848 0.810105 0.772842 0.741263 +0.705263 0.65979 0.601053 0.541684 0.501263 0.450773 0.416693 0.39776 +0.393973 0.39208 0.378827 0.350427 0.342853 0.339067 0.320133 0.320133 +0.32392 0.378827 0.498107 0.505053 0.44888 0.39208 0.361787 0.36368 +0.39776 0.44888 0.498107 0.479173 0.407227 0.371253 0.371253 0.3864 +0.384507 0.376933 0.36936 0.37504 0.407227 0.458347 0.492427 0.441307 +0.354213 0.314453 0.297413 0.286053 0.286053 0.282267 0.27848 0.274693 +0.286053 0.293627 0.299307 0.32392 0.342853 0.316347 0.293627 0.304987 +0.325813 0.342853 0.342853 0.331493 0.3296 0.3296 0.320133 0.31256 +0.320133 0.333387 0.344747 0.359893 0.37504 0.401547 0.484853 0.556842 +0.65979 0.781684 0.889684 0.961053 0.988816 0.997306 1.00024 1.00188 +1.0022 1.00122 1.00155 1.00253 1.00024 0.99698 0.991102 0.981633 +0.970526 0.965474 0.959789 0.957263 0.956632 0.950316 0.944632 0.944632 +0.951579 0.960421 0.969895 0.982939 0.977474 0.898526 0.743789 0.580211 +0.435627 0.308773 0.251973 0.276587 0.33528 0.322027 0.25008 0.000913333 +0.000846667 0.000826667 0.00084 0.00082 0.000793333 0.000806667 0.000786667 0.000793333 +0.000766667 0.00078 0.000786667 0.00076 0.000733333 0.000726667 0.000773333 0.00078 +0.00076 0.000733333 0.000753333 0.000766667 0.000766667 0.000746667 0.000746667 0.00076 +0.000753333 0.000753333 0.000753333 0.000753333 0.000766667 0.00074 0.000733333 0.000746667 +0.000753333 0.000753333 0.000746667 0.00074 0.000746667 0.00074 0.00076 0.0008 +0.000773333 0.000733333 0.000733333 0.00078 0.000766667 0.00076 0.000766667 0.000753333 +0.000746667 0.000746667 0.000746667 0.000726667 0.000733333 0.00074 0.000733333 0.000753333 +0.000773333 0.00076 0.000753333 0.000753333 0.000746667 0.00074 0.000733333 0.000753333 +0.000773333 0.000753333 0.000733333 0.000726667 0.0007 0.000706667 0.000713333 0.000693333 +0.000686667 0.000693333 0.000686667 0.000686667 0.00068 0.000673333 0.000686667 0.000706667 +0.0007 0.000686667 0.000686667 0.000666667 0.00066 0.000673333 0.000686667 0.000673333 +0.00068 0.0007 0.0007 0.000693333 0.000706667 0.000706667 0.0007 0.0007 +0.000693333 0.000686667 0.00066 0.000646667 0.00064 0.000653333 0.00066 0.00066 +0.00068 0.00068 0.00068 0.00066 0.000653333 0.00064 0.00064 0.000666667 +0.000666667 0.00066 0.000666667 0.000666667 0.00066 0.000666667 0.00066 0.00066 +0.000666667 0.00068 0.00066 0.000646667 0.000633333 0.000646667 0.00066 0.000666667 +0.000666667 0.000666667 0.000666667 0.00066 0.000653333 0.000633333 0.000646667 0.000653333 +0.00062 0.000626667 0.000633333 0.00064 0.000646667 0.000666667 0.00066 0.000633333 +0.000626667 0.00066 0.00066 0.000653333 0.00064 0.000646667 0.000646667 0.00066 +0.000673333 0.0007 0.000706667 0.000686667 0.00068 0.000673333 0.000673333 0.000713333 +0.00072 0.000706667 0.000733333 0.000746667 0.000766667 0.000793333 0.00082 0.000986667 +0.287947 0.333387 0.350427 0.42616 0.573263 0.762737 0.937053 0.992408 +0.986857 0.963579 0.947789 0.942105 0.941474 0.945895 0.955368 0.966105 +0.974316 0.979368 0.986857 0.996653 1.00384 1.00873 1.01135 1.01135 +1.00939 1.01037 1.00939 1.00612 1.00384 0.999918 0.996 0.997306 +1.00057 1.00318 1.0009 0.989796 0.966105 0.92 0.850526 0.774105 +0.728 0.731158 0.749474 0.719789 0.654105 0.594105 0.546737 0.506316 +0.441307 0.3864 0.339067 0.3296 0.325813 0.316347 0.314453 0.31824 +0.320133 0.31824 0.308773 0.308773 0.30688 0.304987 0.308773 0.31824 +0.32392 0.31824 0.31256 0.327707 0.3296 0.32392 0.348533 0.401547 +0.445093 0.46592 0.42616 0.36936 0.35232 0.358 0.350427 0.339067 +0.333387 0.33528 0.37504 0.401547 0.365573 0.344747 0.342853 0.34664 +0.350427 0.359893 0.382613 0.441307 0.458347 0.40344 0.365573 0.373147 +0.382613 0.388293 0.395867 0.37504 0.373147 0.390187 0.388293 0.39208 +0.393973 0.37504 0.359893 0.38072 0.399653 0.384507 0.36368 0.358 +0.365573 0.365573 0.356107 0.34664 0.348533 0.365573 0.367467 0.38072 +0.390187 0.36936 0.342853 0.337173 0.325813 0.291733 0.276587 0.320133 +0.365573 0.339067 0.280373 0.25576 0.25576 0.286053 0.356107 0.4432 +0.514526 0.548 0.568842 0.602316 0.702737 0.839789 0.925684 0.948421 +0.954105 0.961684 0.973684 0.987184 0.998939 0.997959 0.984571 0.978105 +0.981959 0.988816 0.996327 1.00286 1.00645 1.0058 1.00351 1.00351 +1.00449 1.00449 1.00416 1.00482 1.00547 1.00286 1.00318 1.0058 +1.01004 1.01592 1.01755 1.02016 1.02767 1.02996 1.02506 1.0231 +1.02473 1.02963 1.03453 1.03518 1.03355 1.03257 1.03355 1.03682 +1.03845 1.03878 1.03845 1.0378 1.03812 1.0378 1.03649 1.0342 +1.0342 1.03355 1.03486 1.03682 1.03518 1.0329 1.03192 1.03094 +1.03061 1.02963 1.02963 1.02735 1.02735 1.03061 1.03061 1.03224 +1.03159 1.02931 1.02833 1.028 1.02245 1.01429 1.00971 1.00253 +0.993388 0.990122 0.990776 0.985551 0.974947 0.969895 0.964211 0.964842 +0.966737 0.962947 0.953474 0.936421 0.922526 0.904842 0.878316 0.851789 +0.826526 0.795579 0.743789 0.672421 0.602316 0.554947 0.521474 0.503789 +0.475387 0.44888 0.40912 0.37504 0.365573 0.342853 0.325813 0.331493 +0.331493 0.376933 0.45456 0.462133 0.43752 0.390187 0.356107 0.350427 +0.36936 0.399653 0.4716 0.510105 0.486747 0.428053 0.399653 0.401547 +0.40344 0.39776 0.373147 0.393973 0.445093 0.48296 0.473493 0.39208 +0.32392 0.29552 0.286053 0.28416 0.291733 0.28984 0.286053 0.286053 +0.282267 0.274693 0.274693 0.303093 0.3296 0.314453 0.304987 0.320133 +0.331493 0.348533 0.354213 0.333387 0.316347 0.310667 0.308773 0.303093 +0.304987 0.327707 0.356107 0.361787 0.342853 0.34664 0.38072 0.4432 +0.536 0.633895 0.757684 0.874526 0.954105 0.988163 0.99698 0.998939 +1.00024 1.00057 1.00057 1.00351 1.00384 1.00122 0.997306 0.990449 +0.984245 0.978737 0.971158 0.963579 0.957895 0.952842 0.952211 0.952211 +0.952211 0.955368 0.955368 0.965474 0.983265 0.974316 0.882737 0.718526 +0.56 0.407227 0.287947 0.246293 0.27848 0.33528 0.31256 0.231147 +0.00086 0.000833333 0.00086 0.00086 0.000806667 0.0008 0.0008 0.000806667 +0.00078 0.000786667 0.000773333 0.000746667 0.000753333 0.00078 0.0008 0.000766667 +0.000746667 0.00074 0.000773333 0.000773333 0.000753333 0.000733333 0.000746667 0.000773333 +0.000786667 0.000793333 0.000773333 0.00076 0.000753333 0.000733333 0.00074 0.000766667 +0.00078 0.000773333 0.000753333 0.00074 0.000766667 0.00076 0.000773333 0.00078 +0.000746667 0.000726667 0.00076 0.000786667 0.000753333 0.000746667 0.000753333 0.000726667 +0.000726667 0.00072 0.00074 0.000726667 0.000733333 0.000753333 0.000746667 0.00076 +0.00078 0.00074 0.00074 0.000766667 0.000773333 0.000766667 0.000753333 0.000773333 +0.00078 0.00076 0.000733333 0.000733333 0.000693333 0.00068 0.000713333 0.000726667 +0.0007 0.00068 0.000673333 0.000673333 0.0007 0.000713333 0.000693333 0.000686667 +0.000693333 0.000686667 0.00068 0.000666667 0.000673333 0.00068 0.00068 0.000673333 +0.000666667 0.00066 0.000673333 0.0007 0.00072 0.000713333 0.000686667 0.000686667 +0.000686667 0.000706667 0.000686667 0.00066 0.00066 0.000653333 0.000633333 0.000653333 +0.00066 0.000666667 0.000673333 0.000673333 0.000666667 0.000653333 0.000646667 0.00066 +0.000653333 0.00066 0.000666667 0.000666667 0.000673333 0.000666667 0.000646667 0.00064 +0.000666667 0.00066 0.000646667 0.000646667 0.000633333 0.000613333 0.000633333 0.000653333 +0.00066 0.000646667 0.000653333 0.00066 0.000673333 0.000673333 0.000666667 0.000666667 +0.000673333 0.000666667 0.00064 0.00064 0.00064 0.00066 0.00066 0.00064 +0.000633333 0.000646667 0.000653333 0.000653333 0.000646667 0.000653333 0.000666667 0.000673333 +0.000673333 0.000673333 0.000673333 0.0007 0.000713333 0.000693333 0.00068 0.000693333 +0.0007 0.000706667 0.000733333 0.000733333 0.00076 0.000793333 0.000926667 0.280373 +0.34096 0.350427 0.382613 0.532211 0.703368 0.897895 0.988163 0.991429 +0.975579 0.952842 0.945895 0.945263 0.947789 0.955368 0.961684 0.969263 +0.98098 0.987184 0.996 1.00514 1.00808 1.01037 1.01265 1.01004 +1.00873 1.00906 1.00743 1.00318 1.00155 0.999592 0.998939 1.0009 +1.00155 0.997959 0.987184 0.959158 0.899789 0.804421 0.683158 0.592842 +0.576421 0.623158 0.695158 0.722947 0.678737 0.614947 0.558737 0.508211 +0.412907 0.359893 0.3296 0.314453 0.303093 0.3012 0.308773 0.31256 +0.304987 0.3012 0.303093 0.297413 0.299307 0.31256 0.32392 0.3296 +0.339067 0.331493 0.31256 0.30688 0.304987 0.310667 0.337173 0.376933 +0.407227 0.429947 0.422373 0.365573 0.320133 0.32392 0.333387 0.33528 +0.337173 0.342853 0.37504 0.382613 0.339067 0.32392 0.325813 0.333387 +0.361787 0.373147 0.382613 0.450773 0.4716 0.418587 0.38072 0.373147 +0.378827 0.384507 0.412907 0.418587 0.395867 0.3864 0.36936 0.373147 +0.38072 0.36368 0.36368 0.382613 0.382613 0.358 0.35232 0.356107 +0.350427 0.327707 0.316347 0.325813 0.339067 0.35232 0.358 0.361787 +0.348533 0.344747 0.359893 0.356107 0.3296 0.299307 0.269013 0.280373 +0.322027 0.310667 0.259547 0.234933 0.2444 0.274693 0.33528 0.40912 +0.496213 0.525895 0.548632 0.582105 0.676211 0.826526 0.929474 0.957263 +0.966737 0.976842 0.983918 0.990776 0.997633 0.992408 0.982939 0.985224 +0.992082 1.00122 1.00906 1.01167 1.01102 1.00808 1.00449 1.00449 +1.0058 1.00612 1.00514 1.0058 1.00547 1.00384 1.00808 1.01265 +1.01853 1.02539 1.02702 1.028 1.03257 1.03127 1.02637 1.028 +1.03029 1.0329 1.03322 1.03453 1.03518 1.03355 1.03649 1.03943 +1.04073 1.04073 1.04073 1.04106 1.04139 1.04106 1.04041 1.03812 +1.03747 1.03518 1.03747 1.03682 1.03518 1.03649 1.03649 1.03486 +1.03322 1.03094 1.02865 1.02702 1.02898 1.03224 1.03257 1.03518 +1.03616 1.0342 1.03322 1.03322 1.02833 1.0231 1.02114 1.01363 +1.0058 1.00122 0.994694 0.985224 0.974316 0.969895 0.969895 0.972421 +0.971158 0.969263 0.961684 0.957263 0.956632 0.951579 0.942105 0.924421 +0.904842 0.885895 0.858737 0.807579 0.733684 0.666105 0.611789 0.571368 +0.541684 0.517684 0.486747 0.439413 0.40912 0.376933 0.361787 0.350427 +0.337173 0.356107 0.36368 0.358 0.38072 0.373147 0.350427 0.342853 +0.354213 0.367467 0.439413 0.512632 0.517684 0.503158 0.475387 0.456453 +0.43184 0.39208 0.361787 0.4148 0.4716 0.48296 0.43184 0.35232 +0.31824 0.303093 0.293627 0.293627 0.303093 0.31256 0.308773 0.299307 +0.280373 0.26712 0.274693 0.308773 0.337173 0.33528 0.3296 0.339067 +0.356107 0.361787 0.348533 0.3296 0.325813 0.325813 0.31256 0.28984 +0.28984 0.3296 0.36936 0.356107 0.322027 0.32392 0.34664 0.36368 +0.42048 0.525263 0.619368 0.745053 0.863158 0.948421 0.98751 0.996 +0.998286 0.998612 0.998939 1.0022 1.00449 1.00351 1.00057 0.996327 +0.991429 0.986204 0.98098 0.972421 0.962316 0.955368 0.954105 0.955368 +0.950316 0.949053 0.948421 0.952211 0.971789 0.985878 0.968632 0.86 +0.689474 0.541684 0.382613 0.27848 0.253867 0.308773 0.342853 0.286053 +0.00098 0.000886667 0.000893333 0.00086 0.0008 0.000813333 0.00082 0.00082 +0.000766667 0.000773333 0.000766667 0.00078 0.000793333 0.000793333 0.00078 0.00076 +0.00076 0.00076 0.000773333 0.000753333 0.00074 0.000746667 0.00076 0.000766667 +0.000766667 0.00076 0.000726667 0.000726667 0.000746667 0.000746667 0.00074 0.000766667 +0.00076 0.000766667 0.00076 0.000746667 0.00078 0.00078 0.000753333 0.00076 +0.000766667 0.00076 0.000766667 0.00076 0.000733333 0.000733333 0.000753333 0.000733333 +0.000733333 0.000753333 0.00076 0.00074 0.000753333 0.00078 0.000766667 0.000766667 +0.000746667 0.000733333 0.000733333 0.000733333 0.00074 0.000773333 0.000773333 0.00078 +0.000773333 0.000733333 0.000726667 0.00074 0.000666667 0.000666667 0.00068 0.000706667 +0.000693333 0.00066 0.000653333 0.000653333 0.000666667 0.000686667 0.000673333 0.000673333 +0.00068 0.000666667 0.00068 0.00068 0.000686667 0.000673333 0.000686667 0.00068 +0.000666667 0.000666667 0.000666667 0.00068 0.00068 0.000693333 0.000686667 0.000666667 +0.000673333 0.000686667 0.0007 0.00068 0.00068 0.000673333 0.000673333 0.000673333 +0.000673333 0.00068 0.000673333 0.000673333 0.000686667 0.000686667 0.00068 0.00068 +0.00066 0.00064 0.000653333 0.00066 0.00064 0.00064 0.000633333 0.000646667 +0.000666667 0.000666667 0.000646667 0.00066 0.00068 0.000646667 0.000626667 0.00064 +0.000653333 0.000653333 0.000653333 0.00066 0.000673333 0.000673333 0.00068 0.000666667 +0.00066 0.000646667 0.000653333 0.000653333 0.00064 0.00064 0.00066 0.000666667 +0.000666667 0.000653333 0.000653333 0.000653333 0.000646667 0.000653333 0.00066 0.00066 +0.00068 0.00068 0.000666667 0.000693333 0.00072 0.00072 0.000706667 0.000733333 +0.000713333 0.000726667 0.000733333 0.000713333 0.00076 0.000886667 0.259547 0.337173 +0.350427 0.35232 0.496213 0.639579 0.841684 0.98 0.994041 0.983265 +0.962316 0.947789 0.945263 0.950316 0.956 0.962316 0.969895 0.980327 +0.987184 0.994367 1.00286 1.00971 1.012 1.01396 1.01461 1.012 +1.01102 1.00906 1.0058 1.00318 1.00188 1.0022 1.00384 1.00384 +0.997633 0.983592 0.949684 0.887789 0.776 0.638947 0.531579 0.467813 +0.502526 0.551158 0.635158 0.707789 0.703368 0.647158 0.580842 0.520842 +0.424267 0.356107 0.327707 0.308773 0.293627 0.297413 0.303093 0.30688 +0.308773 0.3012 0.304987 0.304987 0.3012 0.31256 0.32392 0.337173 +0.358 0.365573 0.337173 0.310667 0.308773 0.327707 0.344747 0.344747 +0.350427 0.378827 0.407227 0.378827 0.320133 0.308773 0.325813 0.325813 +0.333387 0.371253 0.416693 0.39776 0.339067 0.320133 0.316347 0.31824 +0.339067 0.361787 0.39776 0.467813 0.458347 0.393973 0.373147 0.367467 +0.37504 0.378827 0.429947 0.479173 0.429947 0.378827 0.358 0.36936 +0.393973 0.388293 0.382613 0.376933 0.37504 0.365573 0.350427 0.348533 +0.344747 0.320133 0.297413 0.310667 0.337173 0.33528 0.33528 0.327707 +0.310667 0.337173 0.371253 0.361787 0.33528 0.316347 0.27848 0.25008 +0.253867 0.246293 0.219787 0.000993333 0.219787 0.242507 0.30688 0.382613 +0.464027 0.512632 0.535368 0.570105 0.669895 0.834737 0.940842 0.962316 +0.969895 0.982612 0.987184 0.990122 0.993388 0.992408 0.991755 0.996653 +1.00253 1.00776 1.01265 1.01233 1.01004 1.00906 1.00645 1.00547 +1.00743 1.00808 1.00678 1.00612 1.00514 1.00743 1.0169 1.02473 +1.028 1.03192 1.0329 1.03224 1.03257 1.02898 1.02571 1.02963 +1.03322 1.03518 1.03453 1.03355 1.03551 1.03551 1.0378 1.0391 +1.04073 1.04204 1.04302 1.04171 1.04041 1.04008 1.04106 1.04139 +1.04204 1.04041 1.04106 1.03845 1.03584 1.03714 1.03747 1.03747 +1.03747 1.03584 1.03355 1.03322 1.03453 1.03518 1.03257 1.03355 +1.03584 1.03616 1.03551 1.03584 1.0329 1.03029 1.02963 1.02376 +1.02016 1.0169 1.00808 0.99502 0.985878 0.98 0.969895 0.964211 +0.961684 0.962316 0.957263 0.962947 0.970526 0.976211 0.98 0.968 +0.950316 0.937684 0.926316 0.896 0.840421 0.777895 0.714105 0.656632 +0.608 0.567579 0.534737 0.510737 0.481067 0.45456 0.433733 0.395867 +0.365573 0.359893 0.331493 0.32392 0.359893 0.361787 0.348533 0.356107 +0.382613 0.40912 0.475387 0.513263 0.521474 0.522105 0.524 0.522737 +0.505053 0.424267 0.384507 0.441307 0.479173 0.462133 0.39776 0.339067 +0.316347 0.308773 0.30688 0.297413 0.304987 0.316347 0.320133 0.31256 +0.297413 0.276587 0.270907 0.3012 0.34664 0.359893 0.354213 0.36936 +0.376933 0.359893 0.34096 0.34096 0.35232 0.350427 0.322027 0.304987 +0.30688 0.342853 0.371253 0.350427 0.331493 0.327707 0.3296 0.34096 +0.359893 0.4148 0.518316 0.606737 0.726105 0.850526 0.943368 0.985551 +0.992735 0.995673 0.997959 1.0009 1.00286 1.00384 1.00351 1.00024 +0.995673 0.991429 0.987184 0.983265 0.978737 0.968 0.957895 0.956632 +0.950947 0.947158 0.948421 0.946526 0.954105 0.975579 0.986204 0.957895 +0.835368 0.65979 0.519579 0.359893 0.265227 0.253867 0.316347 0.34096 +0.26712 0.000933333 0.000873333 0.00088 0.00084 0.000833333 0.000833333 0.0008 +0.000766667 0.0008 0.000806667 0.00078 0.000773333 0.00076 0.00078 0.00078 +0.00078 0.000753333 0.00076 0.00076 0.000766667 0.00076 0.000753333 0.000733333 +0.000733333 0.000746667 0.000746667 0.000746667 0.00076 0.00074 0.000713333 0.000726667 +0.000753333 0.00076 0.00074 0.000726667 0.000753333 0.000733333 0.00072 0.00076 +0.000766667 0.00076 0.000753333 0.000746667 0.000733333 0.000746667 0.00078 0.00076 +0.00076 0.000773333 0.000766667 0.000766667 0.000766667 0.000766667 0.000766667 0.000766667 +0.000746667 0.000746667 0.00076 0.000753333 0.000753333 0.000773333 0.00076 0.000746667 +0.000753333 0.000733333 0.000733333 0.000733333 0.00066 0.000666667 0.000693333 0.00072 +0.000713333 0.0007 0.000686667 0.000686667 0.000693333 0.000693333 0.000666667 0.000653333 +0.000686667 0.00068 0.000673333 0.00068 0.00068 0.00068 0.00068 0.000693333 +0.00068 0.000666667 0.000673333 0.00068 0.000653333 0.000686667 0.000706667 0.00072 +0.0007 0.000693333 0.00068 0.0007 0.0007 0.000693333 0.000706667 0.000686667 +0.000686667 0.000666667 0.00066 0.000666667 0.00066 0.000653333 0.00066 0.00068 +0.000686667 0.000673333 0.000673333 0.00068 0.000673333 0.00066 0.000653333 0.000653333 +0.00066 0.000666667 0.00066 0.000673333 0.0007 0.00068 0.00068 0.00068 +0.000646667 0.000626667 0.000633333 0.00064 0.000633333 0.000646667 0.000666667 0.00068 +0.000666667 0.00062 0.00064 0.000666667 0.000653333 0.000666667 0.00066 0.00064 +0.000646667 0.000666667 0.000673333 0.00068 0.00068 0.000693333 0.000673333 0.000673333 +0.000706667 0.000686667 0.00068 0.000693333 0.000726667 0.000713333 0.000713333 0.00074 +0.000726667 0.00074 0.000766667 0.000753333 0.00086 0.248187 0.325813 0.350427 +0.337173 0.416693 0.580842 0.774105 0.947158 0.993061 0.984571 0.965474 +0.950316 0.944 0.945895 0.954737 0.964211 0.972421 0.983592 0.992082 +0.998612 1.00416 1.00971 1.01069 1.01396 1.0182 1.0182 1.01527 +1.01233 1.00808 1.00482 1.00449 1.00482 1.00482 1.00351 0.996653 +0.982612 0.947789 0.888421 0.771579 0.620632 0.512 0.39208 0.376933 +0.416693 0.500632 0.566947 0.652211 0.694526 0.663579 0.593474 0.524632 +0.429947 0.373147 0.358 0.3296 0.299307 0.293627 0.29552 0.304987 +0.314453 0.310667 0.30688 0.310667 0.30688 0.308773 0.320133 0.333387 +0.34664 0.358 0.34096 0.320133 0.31824 0.32392 0.32392 0.322027 +0.31824 0.34096 0.390187 0.407227 0.359893 0.34096 0.344747 0.344747 +0.36368 0.418587 0.452667 0.416693 0.367467 0.34664 0.331493 0.3296 +0.325813 0.333387 0.371253 0.439413 0.422373 0.354213 0.344747 0.358 +0.371253 0.390187 0.450773 0.479173 0.4148 0.367467 0.371253 0.393973 +0.411013 0.399653 0.378827 0.36368 0.373147 0.365573 0.342853 0.34096 +0.34096 0.320133 0.29552 0.3012 0.325813 0.322027 0.333387 0.34664 +0.34664 0.367467 0.358 0.320133 0.3012 0.29552 0.282267 0.2728 +0.259547 0.22168 0.000846667 0.000806667 0.000853333 0.000993333 0.287947 0.36368 +0.42616 0.490533 0.521474 0.561263 0.669895 0.849263 0.950947 0.964842 +0.968 0.978737 0.987184 0.991755 0.997306 1.00253 1.00318 1.00514 +1.00971 1.01265 1.01331 1.00906 1.00645 1.00808 1.00776 1.0058 +1.00776 1.01004 1.00971 1.0071 1.00873 1.01494 1.02441 1.03192 +1.03453 1.03714 1.03584 1.03322 1.03127 1.02931 1.02767 1.03029 +1.03192 1.03551 1.03747 1.03682 1.03747 1.03747 1.04008 1.04204 +1.04302 1.04302 1.04269 1.03976 1.04041 1.04073 1.04073 1.04008 +1.04269 1.04204 1.04269 1.04204 1.03976 1.03845 1.03845 1.04041 +1.04041 1.03878 1.03878 1.0391 1.0378 1.03584 1.03355 1.03518 +1.03682 1.03714 1.03649 1.03682 1.03518 1.0329 1.0329 1.03224 +1.03159 1.02996 1.02376 1.01135 1.00188 0.993388 0.983592 0.973053 +0.966105 0.961053 0.954737 0.959158 0.969263 0.98 0.985224 0.981959 +0.966737 0.957263 0.956 0.944632 0.918737 0.871368 0.811368 0.757053 +0.704632 0.652842 0.608632 0.571368 0.540421 0.524 0.508842 0.462133 +0.4148 0.3864 0.354213 0.350427 0.365573 0.359893 0.367467 0.395867 +0.439413 0.492427 0.503789 0.48864 0.48864 0.503789 0.522737 0.545474 +0.543579 0.512 0.47728 0.492427 0.48296 0.42616 0.36936 0.33528 +0.31256 0.310667 0.31824 0.310667 0.3012 0.303093 0.310667 0.325813 +0.32392 0.30688 0.287947 0.299307 0.358 0.401547 0.393973 0.39208 +0.37504 0.34664 0.348533 0.350427 0.358 0.354213 0.344747 0.331493 +0.333387 0.354213 0.354213 0.333387 0.325813 0.327707 0.333387 0.350427 +0.35232 0.358 0.411013 0.512 0.592211 0.712211 0.841053 0.938316 +0.981959 0.992082 0.99698 0.998286 0.999265 1.00122 1.00416 1.00384 +0.998612 0.994694 0.992082 0.989796 0.987184 0.981633 0.970526 0.963579 +0.957263 0.950316 0.949684 0.947789 0.947789 0.958526 0.98098 0.987837 +0.946526 0.802526 0.622526 0.498107 0.314453 0.2444 0.276587 0.34096 +0.314453 0.217893 0.000873333 0.000906667 0.000853333 0.0008 0.000806667 0.000806667 +0.000786667 0.000813333 0.000793333 0.000766667 0.000786667 0.000806667 0.000793333 0.000773333 +0.00078 0.000766667 0.00078 0.000786667 0.000786667 0.000753333 0.00072 0.000733333 +0.000766667 0.000773333 0.00076 0.000746667 0.00074 0.00072 0.000706667 0.000753333 +0.000766667 0.00076 0.000726667 0.000713333 0.00074 0.00074 0.000746667 0.000766667 +0.000746667 0.000746667 0.000746667 0.000726667 0.000726667 0.000753333 0.000766667 0.000746667 +0.000753333 0.000773333 0.00076 0.00074 0.000733333 0.000746667 0.000766667 0.000773333 +0.00076 0.000766667 0.00078 0.000766667 0.000753333 0.000746667 0.000726667 0.00076 +0.000773333 0.000753333 0.000733333 0.000733333 0.000673333 0.00068 0.000666667 0.000673333 +0.0007 0.00072 0.00072 0.000706667 0.000706667 0.000693333 0.000673333 0.00066 +0.000673333 0.000693333 0.000693333 0.000693333 0.000706667 0.00072 0.0007 0.000706667 +0.000706667 0.000686667 0.00068 0.0007 0.0007 0.000693333 0.000693333 0.000706667 +0.000706667 0.000693333 0.0007 0.000706667 0.00068 0.000666667 0.000653333 0.000646667 +0.00066 0.000653333 0.000646667 0.000673333 0.000686667 0.000673333 0.000673333 0.00066 +0.000686667 0.00068 0.000666667 0.00068 0.00068 0.000666667 0.000653333 0.00066 +0.000666667 0.000666667 0.000666667 0.000666667 0.000693333 0.000666667 0.000686667 0.000693333 +0.000666667 0.000653333 0.000653333 0.00062 0.000606667 0.000626667 0.00064 0.000666667 +0.000673333 0.000646667 0.00066 0.000686667 0.000666667 0.000666667 0.000673333 0.000666667 +0.000666667 0.000666667 0.00068 0.00068 0.000693333 0.000713333 0.000706667 0.000686667 +0.000693333 0.000693333 0.0007 0.00072 0.000726667 0.00072 0.000733333 0.000746667 +0.000733333 0.00078 0.000806667 0.000853333 0.23304 0.310667 0.339067 0.327707 +0.361787 0.531579 0.704632 0.897895 0.98849 0.989143 0.967368 0.950316 +0.944 0.942737 0.949053 0.961053 0.972421 0.983592 0.994041 1.00188 +1.00873 1.0169 1.02016 1.0182 1.01951 1.02245 1.02343 1.02114 +1.01331 1.00841 1.00645 1.0058 1.00678 1.00612 0.998286 0.982612 +0.949684 0.895368 0.785474 0.630105 0.509474 0.378827 0.344747 0.350427 +0.371253 0.422373 0.511368 0.573263 0.628842 0.628211 0.573895 0.508211 +0.399653 0.36368 0.354213 0.325813 0.297413 0.28984 0.28984 0.291733 +0.30688 0.308773 0.3012 0.304987 0.30688 0.30688 0.316347 0.325813 +0.320133 0.31824 0.316347 0.316347 0.308773 0.303093 0.297413 0.303093 +0.308773 0.322027 0.373147 0.42048 0.42048 0.424267 0.40912 0.39208 +0.405333 0.416693 0.40344 0.36936 0.34664 0.344747 0.339067 0.342853 +0.33528 0.32392 0.348533 0.39208 0.384507 0.34096 0.3296 0.339067 +0.365573 0.43752 0.492427 0.456453 0.39208 0.378827 0.3864 0.399653 +0.390187 0.371253 0.359893 0.342853 0.339067 0.342853 0.339067 0.34664 +0.333387 0.308773 0.299307 0.3012 0.310667 0.322027 0.356107 0.38072 +0.36368 0.342853 0.325813 0.28984 0.274693 0.27848 0.28984 0.291733 +0.25576 0.000953333 0.0008 0.00072 0.000733333 0.000926667 0.282267 0.35232 +0.399653 0.450773 0.510105 0.560632 0.688211 0.865684 0.949053 0.965474 +0.977474 0.985224 0.994041 0.998612 1.00253 1.00776 1.00743 1.00873 +1.01331 1.01527 1.01363 1.00808 1.0058 1.00841 1.00939 1.00873 +1.00906 1.01069 1.01004 1.01167 1.01755 1.02408 1.02996 1.03453 +1.03584 1.03976 1.03747 1.03257 1.03094 1.03127 1.03159 1.03257 +1.03453 1.03714 1.03845 1.03878 1.03943 1.03812 1.04171 1.04465 +1.04367 1.04302 1.04139 1.03845 1.04204 1.04433 1.04106 1.03878 +1.04041 1.03943 1.04041 1.04139 1.04171 1.04204 1.04204 1.04367 +1.04433 1.04269 1.04073 1.03714 1.03518 1.03453 1.03388 1.03747 +1.04008 1.03976 1.04041 1.03976 1.0378 1.03551 1.03551 1.03649 +1.03584 1.03355 1.03061 1.02278 1.01527 1.00841 1.0009 0.992082 +0.983265 0.974316 0.962316 0.957895 0.960421 0.964842 0.976842 0.981959 +0.973684 0.962316 0.964211 0.969895 0.964842 0.935789 0.894105 0.854947 +0.809474 0.761474 0.714105 0.668632 0.623789 0.585895 0.552421 0.522737 +0.500632 0.44888 0.407227 0.393973 0.388293 0.390187 0.411013 0.42616 +0.4432 0.452667 0.42048 0.38072 0.376933 0.395867 0.450773 0.515789 +0.542947 0.549263 0.538526 0.523368 0.503158 0.424267 0.365573 0.339067 +0.3296 0.3296 0.325813 0.31824 0.304987 0.304987 0.314453 0.3296 +0.339067 0.33528 0.320133 0.325813 0.40344 0.48296 0.473493 0.424267 +0.382613 0.356107 0.359893 0.356107 0.342853 0.342853 0.337173 0.327707 +0.34096 0.354213 0.331493 0.31256 0.3012 0.308773 0.337173 0.354213 +0.339067 0.3296 0.361787 0.412907 0.505684 0.580842 0.702105 0.834105 +0.933263 0.982939 0.992408 0.994367 0.995673 0.997633 1.00155 1.00318 +1.00057 0.997633 0.995347 0.992082 0.98849 0.985224 0.981633 0.973684 +0.966737 0.959158 0.957263 0.955368 0.950947 0.953474 0.968 0.986204 +0.988163 0.925053 0.764 0.591579 0.452667 0.308773 0.259547 0.299307 +0.337173 0.274693 0.000966667 0.00088 0.00082 0.000786667 0.000833333 0.000826667 +0.000793333 0.00078 0.000766667 0.000766667 0.000806667 0.000806667 0.00076 0.00074 +0.00076 0.000766667 0.000786667 0.00078 0.000753333 0.00074 0.00074 0.000766667 +0.000786667 0.000766667 0.000746667 0.000733333 0.000726667 0.000726667 0.00074 0.000766667 +0.00076 0.000746667 0.00074 0.000733333 0.00076 0.000766667 0.00076 0.000753333 +0.00074 0.00078 0.00078 0.00076 0.000746667 0.000746667 0.00074 0.000726667 +0.000753333 0.00076 0.00074 0.000726667 0.000733333 0.000753333 0.000766667 0.000746667 +0.00074 0.00076 0.000766667 0.000746667 0.000753333 0.000746667 0.00074 0.000773333 +0.000753333 0.000733333 0.00074 0.00074 0.0007 0.00072 0.000706667 0.000673333 +0.00068 0.000693333 0.000706667 0.000733333 0.000726667 0.000706667 0.000673333 0.000686667 +0.000693333 0.000713333 0.000706667 0.000706667 0.0007 0.00072 0.00074 0.000726667 +0.0007 0.000686667 0.00068 0.00068 0.000673333 0.00068 0.000686667 0.000673333 +0.00066 0.00066 0.00068 0.00068 0.00066 0.000653333 0.00066 0.000666667 +0.000673333 0.000673333 0.00066 0.000653333 0.000686667 0.000693333 0.000686667 0.000653333 +0.00066 0.000673333 0.000673333 0.00068 0.000693333 0.00068 0.000673333 0.00066 +0.00066 0.00066 0.00066 0.00068 0.000686667 0.00068 0.00068 0.00068 +0.000686667 0.00068 0.000673333 0.00066 0.000653333 0.000673333 0.00066 0.000673333 +0.000693333 0.0007 0.0007 0.000706667 0.000693333 0.000686667 0.0007 0.000686667 +0.000693333 0.000693333 0.000666667 0.00066 0.000653333 0.000653333 0.000673333 0.0007 +0.000706667 0.00068 0.000693333 0.000713333 0.000713333 0.000706667 0.000726667 0.00074 +0.000733333 0.00078 0.000833333 0.219787 0.308773 0.348533 0.327707 0.333387 +0.473493 0.630105 0.832842 0.976211 0.992735 0.978737 0.950316 0.942105 +0.944 0.946526 0.955368 0.968632 0.982286 0.992408 1.00188 1.01069 +1.02473 1.03551 1.03714 1.03551 1.03649 1.0391 1.04008 1.03029 +1.01657 1.01037 1.00873 1.00841 1.00841 1.00122 0.984898 0.954737 +0.908632 0.805684 0.647158 0.516421 0.384507 0.34664 0.339067 0.34664 +0.36368 0.3864 0.429947 0.505684 0.539789 0.549895 0.525263 0.456453 +0.38072 0.358 0.3296 0.303093 0.293627 0.29552 0.303093 0.304987 +0.310667 0.31256 0.31256 0.31256 0.314453 0.314453 0.316347 0.320133 +0.316347 0.308773 0.308773 0.31256 0.30688 0.297413 0.291733 0.303093 +0.314453 0.325813 0.36936 0.428053 0.48864 0.513263 0.486747 0.40344 +0.37504 0.356107 0.34096 0.3296 0.31256 0.31824 0.327707 0.331493 +0.33528 0.339067 0.36936 0.388293 0.367467 0.350427 0.348533 0.35232 +0.412907 0.501263 0.507579 0.46024 0.416693 0.412907 0.39208 0.373147 +0.354213 0.342853 0.344747 0.3296 0.316347 0.327707 0.348533 0.344747 +0.325813 0.308773 0.314453 0.314453 0.320133 0.359893 0.39776 0.390187 +0.339067 0.303093 0.293627 0.27848 0.270907 0.28416 0.28984 0.282267 +0.240613 0.000953333 0.0009 0.000793333 0.0008 0.23304 0.30688 0.333387 +0.354213 0.399653 0.500632 0.584 0.742526 0.899158 0.956632 0.978105 +0.989796 0.996327 1.00351 1.00678 1.00808 1.012 1.012 1.01167 +1.01592 1.01592 1.01298 1.00971 1.00743 1.00743 1.00939 1.01135 +1.01167 1.01167 1.01363 1.01886 1.02408 1.028 1.03257 1.0378 +1.03845 1.03943 1.03714 1.03127 1.02996 1.03159 1.0329 1.03518 +1.03682 1.0391 1.03943 1.04008 1.04204 1.04106 1.04171 1.04367 +1.04171 1.04073 1.04204 1.04139 1.04335 1.04302 1.03976 1.03878 +1.04171 1.04041 1.03943 1.03943 1.04106 1.04237 1.044 1.04465 +1.04661 1.04498 1.04237 1.03976 1.03747 1.03388 1.03355 1.03845 +1.03812 1.0378 1.04041 1.04041 1.03976 1.03845 1.0391 1.04073 +1.03878 1.03584 1.03257 1.02604 1.02278 1.02016 1.01624 1.00906 +0.998286 0.989143 0.979368 0.967368 0.957263 0.950947 0.961684 0.981633 +0.981306 0.966105 0.966105 0.979368 0.983265 0.974947 0.949053 0.921263 +0.889684 0.853053 0.812 0.769053 0.721053 0.669263 0.621263 0.582105 +0.548632 0.522737 0.501895 0.4716 0.4432 0.4432 0.435627 0.40344 +0.388293 0.376933 0.348533 0.33528 0.339067 0.344747 0.365573 0.412907 +0.48864 0.536632 0.558737 0.544211 0.510105 0.429947 0.36936 0.339067 +0.342853 0.33528 0.308773 0.299307 0.3012 0.3012 0.308773 0.31824 +0.3296 0.33528 0.339067 0.356107 0.433733 0.515158 0.517684 0.4716 +0.411013 0.382613 0.36368 0.34664 0.32392 0.314453 0.310667 0.320133 +0.35232 0.34664 0.322027 0.30688 0.297413 0.31256 0.339067 0.337173 +0.320133 0.32392 0.344747 0.36368 0.39776 0.498107 0.577053 0.699579 +0.832842 0.932632 0.981306 0.990449 0.994041 0.995673 0.997306 1.00057 +1.00253 0.999592 0.996327 0.993388 0.990449 0.988163 0.984245 0.98 +0.973053 0.964842 0.961053 0.955368 0.951579 0.954737 0.959789 0.973684 +0.988816 0.984898 0.899158 0.730526 0.566316 0.40912 0.28416 0.269013 +0.3296 0.327707 0.248187 0.000913333 0.00086 0.00084 0.000833333 0.0008 +0.00078 0.000793333 0.00078 0.0008 0.000773333 0.000753333 0.00074 0.000753333 +0.000786667 0.000773333 0.000766667 0.000733333 0.000726667 0.00076 0.00076 0.00074 +0.000753333 0.000746667 0.000733333 0.000746667 0.00076 0.00076 0.000753333 0.000753333 +0.000753333 0.00074 0.000733333 0.000753333 0.000766667 0.000766667 0.00076 0.000746667 +0.00074 0.000786667 0.000773333 0.00074 0.000733333 0.000746667 0.000746667 0.000726667 +0.000733333 0.000753333 0.00076 0.000753333 0.000746667 0.00074 0.00076 0.00074 +0.000746667 0.00076 0.000746667 0.000733333 0.000746667 0.000746667 0.000753333 0.000766667 +0.000753333 0.00072 0.00074 0.00076 0.000706667 0.000713333 0.000706667 0.000726667 +0.000706667 0.0007 0.000706667 0.0007 0.000713333 0.000726667 0.0007 0.000686667 +0.000673333 0.000673333 0.000666667 0.00066 0.00066 0.000646667 0.00066 0.000686667 +0.00068 0.000673333 0.000686667 0.000686667 0.000666667 0.000673333 0.000693333 0.00068 +0.00066 0.00066 0.000666667 0.000673333 0.000673333 0.000666667 0.000673333 0.000693333 +0.0007 0.000706667 0.000686667 0.000673333 0.000666667 0.000673333 0.00068 0.000673333 +0.00066 0.000666667 0.000673333 0.000673333 0.00068 0.000686667 0.00068 0.00068 +0.000673333 0.00068 0.00066 0.000646667 0.000666667 0.000686667 0.000686667 0.000673333 +0.000686667 0.000686667 0.000673333 0.000686667 0.000713333 0.000713333 0.0007 0.000673333 +0.00066 0.00066 0.000666667 0.000693333 0.000686667 0.000693333 0.000693333 0.000673333 +0.00068 0.000686667 0.00068 0.000693333 0.000686667 0.000686667 0.000686667 0.000693333 +0.000713333 0.00072 0.000733333 0.00072 0.000726667 0.00072 0.000713333 0.000713333 +0.000733333 0.000793333 0.000953333 0.286053 0.344747 0.337173 0.339067 0.418587 +0.568842 0.757053 0.935158 0.992408 0.985551 0.961053 0.945263 0.943368 +0.947789 0.957263 0.969895 0.981959 0.992408 1.00253 1.01363 1.02767 +1.04531 1.05412 1.05118 1.04792 1.04988 1.05445 1.05249 1.03518 +1.02016 1.01494 1.012 1.01265 1.00873 0.992082 0.962316 0.921895 +0.834737 0.677474 0.530947 0.390187 0.34664 0.342853 0.348533 0.361787 +0.37504 0.367467 0.367467 0.395867 0.43184 0.44888 0.433733 0.399653 +0.373147 0.358 0.32392 0.308773 0.31256 0.320133 0.327707 0.327707 +0.314453 0.310667 0.316347 0.322027 0.32392 0.322027 0.316347 0.320133 +0.32392 0.322027 0.314453 0.314453 0.308773 0.304987 0.314453 0.32392 +0.331493 0.342853 0.376933 0.428053 0.49432 0.508842 0.452667 0.344747 +0.310667 0.320133 0.3296 0.33528 0.325813 0.314453 0.322027 0.33528 +0.34664 0.388293 0.40912 0.38072 0.348533 0.36368 0.390187 0.428053 +0.498107 0.508211 0.475387 0.43184 0.411013 0.395867 0.365573 0.337173 +0.322027 0.322027 0.327707 0.331493 0.320133 0.320133 0.331493 0.3296 +0.31256 0.297413 0.3012 0.303093 0.322027 0.373147 0.3864 0.34664 +0.31256 0.286053 0.28416 0.274693 0.265227 0.269013 0.269013 0.2728 +0.26712 0.26712 0.2728 0.229253 0.23872 0.31824 0.350427 0.337173 +0.333387 0.382613 0.527789 0.660421 0.822737 0.940211 0.980653 0.990122 +1.00024 1.00482 1.01037 1.01331 1.01396 1.01624 1.01755 1.01788 +1.01918 1.01657 1.01298 1.01135 1.00906 1.00808 1.01135 1.01396 +1.01331 1.01396 1.01657 1.02343 1.02669 1.03192 1.03747 1.03943 +1.03845 1.03682 1.03518 1.03224 1.0329 1.0342 1.03453 1.03812 +1.03812 1.03878 1.03878 1.04041 1.04073 1.0391 1.04073 1.04465 +1.04367 1.04237 1.044 1.04302 1.04367 1.04171 1.03976 1.04073 +1.04106 1.03976 1.04171 1.04237 1.04171 1.04204 1.04531 1.04629 +1.04629 1.04237 1.04106 1.04171 1.03943 1.03518 1.03551 1.03812 +1.03649 1.03649 1.03878 1.0391 1.04008 1.03878 1.04008 1.04335 +1.04073 1.03878 1.03518 1.02898 1.02898 1.02833 1.02604 1.02212 +1.01298 1.00384 0.99502 0.985224 0.969263 0.951579 0.956 0.978737 +0.985878 0.98 0.971158 0.981633 0.989143 0.986857 0.973684 0.952842 +0.931368 0.908 0.880211 0.845474 0.804421 0.758316 0.711579 0.663579 +0.618737 0.584 0.555579 0.527158 0.49432 0.452667 0.4148 0.376933 +0.373147 0.367467 0.350427 0.342853 0.339067 0.344747 0.354213 0.361787 +0.388293 0.5 0.546105 0.551789 0.508211 0.395867 0.339067 0.32392 +0.325813 0.316347 0.297413 0.29552 0.297413 0.29552 0.297413 0.310667 +0.320133 0.3296 0.371253 0.4148 0.479173 0.530947 0.533474 0.484853 +0.40912 0.3864 0.367467 0.344747 0.314453 0.297413 0.304987 0.339067 +0.36368 0.344747 0.31824 0.297413 0.304987 0.33528 0.354213 0.344747 +0.3296 0.3296 0.34096 0.34664 0.358 0.393973 0.503789 0.583368 +0.702737 0.831579 0.931368 0.981306 0.990776 0.994041 0.994694 0.998612 +1.0022 1.00024 0.998939 0.996327 0.993388 0.990776 0.986204 0.983592 +0.979368 0.968632 0.959158 0.952211 0.949684 0.951579 0.952842 0.961053 +0.981959 0.992082 0.980653 0.873263 0.693263 0.534737 0.358 0.274693 +0.28984 0.33528 0.310667 0.234933 0.000893333 0.000826667 0.00082 0.000793333 +0.00078 0.0008 0.00078 0.00078 0.000773333 0.00078 0.00078 0.00078 +0.000806667 0.000786667 0.000766667 0.000753333 0.00074 0.000786667 0.000766667 0.000733333 +0.000746667 0.00074 0.000746667 0.00076 0.000766667 0.00074 0.000733333 0.000753333 +0.00076 0.000746667 0.00072 0.000753333 0.00076 0.000746667 0.00076 0.000746667 +0.00074 0.000753333 0.00074 0.00074 0.000766667 0.000773333 0.000753333 0.00074 +0.000753333 0.000766667 0.000753333 0.000733333 0.00074 0.000746667 0.000746667 0.00074 +0.000753333 0.000753333 0.00072 0.00072 0.000746667 0.000766667 0.000786667 0.00076 +0.000726667 0.00072 0.00076 0.000773333 0.000713333 0.000706667 0.000673333 0.000686667 +0.00068 0.000693333 0.000693333 0.000646667 0.000673333 0.0007 0.000693333 0.0007 +0.000686667 0.000666667 0.000653333 0.000653333 0.000653333 0.000646667 0.00064 0.000653333 +0.000673333 0.000666667 0.000673333 0.0007 0.0007 0.000686667 0.00072 0.000733333 +0.00072 0.000686667 0.00068 0.0007 0.0007 0.000673333 0.000666667 0.000693333 +0.000706667 0.000726667 0.000726667 0.000706667 0.00068 0.00066 0.00068 0.000686667 +0.00068 0.000686667 0.00068 0.00068 0.000693333 0.000693333 0.000686667 0.000693333 +0.000686667 0.000713333 0.000693333 0.00066 0.000653333 0.000666667 0.000673333 0.00066 +0.000673333 0.000673333 0.000653333 0.000666667 0.0007 0.000693333 0.000706667 0.000706667 +0.00068 0.000666667 0.000653333 0.00066 0.000673333 0.000693333 0.000693333 0.000686667 +0.000693333 0.000713333 0.00074 0.000753333 0.000746667 0.00074 0.00074 0.000706667 +0.000693333 0.000706667 0.000726667 0.000753333 0.000766667 0.000753333 0.000733333 0.000726667 +0.000766667 0.00092 0.269013 0.327707 0.325813 0.322027 0.365573 0.514526 +0.672421 0.878316 0.98751 0.991429 0.974316 0.953474 0.948421 0.951579 +0.956 0.971158 0.982286 0.990776 1.0022 1.01527 1.03159 1.04857 +1.06456 1.07369 1.05608 1.05118 1.05118 1.05347 1.04857 1.03061 +1.01918 1.01592 1.01396 1.01363 1.00253 0.983265 0.945895 0.874526 +0.726737 0.561895 0.4148 0.34664 0.339067 0.34096 0.350427 0.373147 +0.37504 0.350427 0.339067 0.342853 0.354213 0.356107 0.36368 0.367467 +0.365573 0.359893 0.34664 0.339067 0.339067 0.337173 0.33528 0.325813 +0.304987 0.297413 0.30688 0.320133 0.325813 0.325813 0.331493 0.331493 +0.331493 0.327707 0.322027 0.320133 0.310667 0.310667 0.331493 0.350427 +0.34664 0.344747 0.358 0.390187 0.42048 0.416693 0.378827 0.31824 +0.297413 0.308773 0.320133 0.320133 0.327707 0.325813 0.325813 0.348533 +0.367467 0.3864 0.384507 0.34664 0.34096 0.365573 0.418587 0.48296 +0.501895 0.450773 0.38072 0.365573 0.350427 0.342853 0.333387 0.314453 +0.31256 0.308773 0.304987 0.310667 0.30688 0.303093 0.322027 0.314453 +0.28416 0.282267 0.3012 0.30688 0.325813 0.344747 0.325813 0.297413 +0.280373 0.263333 0.27848 0.269013 0.23304 0.2444 0.280373 0.299307 +0.291733 0.3012 0.314453 0.293627 0.310667 0.371253 0.371253 0.358 +0.37504 0.509474 0.639579 0.793053 0.911789 0.977474 0.992735 0.999592 +1.01037 1.01494 1.01657 1.01592 1.01624 1.01722 1.01853 1.0218 +1.01951 1.01363 1.012 1.012 1.01135 1.01135 1.01265 1.01331 +1.01527 1.01984 1.02245 1.02767 1.02931 1.03518 1.04139 1.04171 +1.0391 1.03584 1.03388 1.0329 1.03649 1.03878 1.03616 1.03845 +1.03943 1.03845 1.03943 1.04139 1.03845 1.0378 1.04106 1.04335 +1.04171 1.04106 1.04302 1.04139 1.04171 1.04106 1.04008 1.04073 +1.03976 1.0391 1.044 1.04563 1.04367 1.04302 1.04629 1.04661 +1.04498 1.04139 1.04073 1.04073 1.03649 1.0329 1.03453 1.03486 +1.03355 1.03747 1.04041 1.04008 1.04008 1.03845 1.04008 1.04171 +1.03943 1.0391 1.03551 1.03094 1.03061 1.03257 1.0342 1.03322 +1.02669 1.01918 1.01265 1.00318 0.990776 0.978105 0.968 0.978105 +0.988816 0.986531 0.975579 0.981306 0.98849 0.989469 0.984898 0.974316 +0.954737 0.938947 0.92379 0.901053 0.873263 0.842947 0.804421 0.755158 +0.709053 0.669263 0.625053 0.565684 0.511368 0.450773 0.395867 0.365573 +0.382613 0.3864 0.365573 0.354213 0.342853 0.348533 0.359893 0.354213 +0.358 0.424267 0.525895 0.548632 0.505053 0.365573 0.31256 0.30688 +0.303093 0.3012 0.29552 0.291733 0.291733 0.287947 0.291733 0.28984 +0.297413 0.310667 0.373147 0.484853 0.527789 0.559368 0.542316 0.467813 +0.384507 0.373147 0.365573 0.34664 0.320133 0.304987 0.322027 0.36368 +0.37504 0.34096 0.31256 0.3012 0.304987 0.32392 0.358 0.367467 +0.339067 0.320133 0.333387 0.342853 0.344747 0.35232 0.39776 0.506316 +0.585263 0.702105 0.831579 0.932632 0.982286 0.991755 0.993714 0.995347 +0.999592 1.00057 1.00122 1.00188 0.998612 0.997306 0.992735 0.98849 +0.982286 0.971789 0.962947 0.956 0.949684 0.949053 0.951579 0.958526 +0.971158 0.984571 0.990122 0.967368 0.840421 0.652842 0.508842 0.3296 +0.26712 0.303093 0.33528 0.282267 0.00096 0.000846667 0.00082 0.000806667 +0.000806667 0.000813333 0.000786667 0.000773333 0.000806667 0.0008 0.000753333 0.000746667 +0.000766667 0.000766667 0.00076 0.000753333 0.00076 0.000793333 0.00078 0.000733333 +0.00076 0.000766667 0.000766667 0.000773333 0.00076 0.000733333 0.000726667 0.000733333 +0.00076 0.000746667 0.000713333 0.000726667 0.000746667 0.000733333 0.00074 0.000733333 +0.000726667 0.00074 0.00076 0.000773333 0.000766667 0.000773333 0.00076 0.000766667 +0.000773333 0.00076 0.000746667 0.000753333 0.000766667 0.000773333 0.000753333 0.000746667 +0.000766667 0.000773333 0.000746667 0.000753333 0.000766667 0.000766667 0.000773333 0.000753333 +0.00074 0.00076 0.000766667 0.000753333 0.000686667 0.000693333 0.00066 0.000646667 +0.000646667 0.000666667 0.00068 0.00066 0.00066 0.00068 0.00068 0.000693333 +0.000706667 0.000706667 0.0007 0.000686667 0.000686667 0.000673333 0.000693333 0.000706667 +0.0007 0.0007 0.000693333 0.000726667 0.000733333 0.000706667 0.000713333 0.00074 +0.00074 0.00072 0.000693333 0.0007 0.0007 0.00068 0.00068 0.000686667 +0.000693333 0.000726667 0.000733333 0.00074 0.00074 0.0007 0.000686667 0.000686667 +0.000693333 0.000706667 0.000693333 0.000706667 0.00072 0.000686667 0.000673333 0.000686667 +0.000693333 0.000713333 0.00072 0.000693333 0.00068 0.000673333 0.000673333 0.000666667 +0.000666667 0.00068 0.000673333 0.00068 0.00068 0.000673333 0.00068 0.000686667 +0.0007 0.000706667 0.000693333 0.000693333 0.000686667 0.000686667 0.00068 0.000686667 +0.0007 0.000733333 0.000746667 0.00074 0.000733333 0.000713333 0.000746667 0.000746667 +0.000746667 0.000733333 0.00072 0.000746667 0.00078 0.00076 0.00076 0.00078 +0.000893333 0.26144 0.32392 0.314453 0.299307 0.333387 0.428053 0.587789 +0.791789 0.961684 0.996327 0.984898 0.961684 0.949053 0.951579 0.954737 +0.966105 0.982286 0.989796 0.998939 1.01331 1.03192 1.04955 1.06913 +1.09804 1.08587 1.05706 1.04988 1.04727 1.04727 1.04171 1.02702 +1.01755 1.01559 1.01527 1.01004 0.993714 0.972421 0.920632 0.793053 +0.614947 0.479173 0.35232 0.327707 0.3296 0.337173 0.35232 0.378827 +0.361787 0.325813 0.320133 0.327707 0.325813 0.322027 0.337173 0.356107 +0.365573 0.367467 0.359893 0.354213 0.354213 0.350427 0.344747 0.325813 +0.308773 0.3012 0.303093 0.31824 0.322027 0.322027 0.327707 0.344747 +0.34664 0.333387 0.33528 0.333387 0.327707 0.342853 0.359893 0.371253 +0.356107 0.331493 0.3296 0.350427 0.376933 0.371253 0.35232 0.3296 +0.30688 0.303093 0.31256 0.31256 0.31256 0.327707 0.342853 0.359893 +0.34096 0.320133 0.32392 0.322027 0.34096 0.36368 0.393973 0.42616 +0.407227 0.354213 0.31824 0.316347 0.310667 0.31256 0.30688 0.28416 +0.28984 0.303093 0.299307 0.282267 0.28416 0.287947 0.308773 0.31256 +0.3012 0.310667 0.320133 0.314453 0.303093 0.286053 0.28416 0.282267 +0.270907 0.259547 0.26144 0.25008 0.22736 0.246293 0.287947 0.28984 +0.259547 0.251973 0.26712 0.265227 0.303093 0.371253 0.3864 0.416693 +0.527158 0.649053 0.803158 0.913053 0.973684 0.993061 1.00253 1.00678 +1.01527 1.02082 1.02114 1.01984 1.01951 1.01918 1.01918 1.0218 +1.01657 1.01135 1.01135 1.01298 1.01265 1.01461 1.01527 1.01461 +1.01853 1.02506 1.02865 1.03192 1.03322 1.03649 1.04041 1.04073 +1.04041 1.03845 1.03682 1.03584 1.03714 1.03682 1.03322 1.03649 +1.03878 1.03845 1.04106 1.04302 1.0391 1.0391 1.04073 1.04106 +1.03976 1.04073 1.04269 1.04139 1.04106 1.04139 1.03943 1.03976 +1.03878 1.03878 1.04204 1.04498 1.04563 1.04596 1.04792 1.04661 +1.04629 1.04237 1.04237 1.04204 1.03682 1.0329 1.03486 1.03388 +1.03257 1.03616 1.03878 1.04106 1.04008 1.04041 1.04171 1.0391 +1.03649 1.03747 1.0342 1.03257 1.03257 1.03388 1.03584 1.03714 +1.03518 1.03029 1.02506 1.01722 1.00776 0.995673 0.985551 0.984245 +0.992082 0.991102 0.984245 0.982939 0.985878 0.990776 0.989469 0.982939 +0.967368 0.953474 0.942105 0.933895 0.92379 0.907368 0.877684 0.840421 +0.804421 0.757053 0.686316 0.59979 0.536 0.500632 0.418587 0.37504 +0.393973 0.424267 0.42616 0.399653 0.356107 0.350427 0.350427 0.337173 +0.34096 0.388293 0.508842 0.541053 0.506316 0.358 0.304987 0.3012 +0.291733 0.297413 0.303093 0.297413 0.282267 0.276587 0.276587 0.276587 +0.2728 0.287947 0.356107 0.498107 0.559368 0.597263 0.561895 0.4716 +0.367467 0.34664 0.34096 0.337173 0.325813 0.327707 0.36368 0.393973 +0.378827 0.33528 0.310667 0.30688 0.299307 0.31256 0.359893 0.37504 +0.34096 0.331493 0.34664 0.34664 0.34096 0.342853 0.358 0.405333 +0.506316 0.582737 0.705263 0.840421 0.937684 0.981959 0.989143 0.990776 +0.995673 0.998939 0.999265 1.0022 1.00547 1.00612 1.00253 0.996 +0.989796 0.984571 0.978737 0.966105 0.955368 0.953474 0.952842 0.956 +0.961053 0.969263 0.981633 0.986531 0.947158 0.801263 0.615579 0.469707 +0.297413 0.269013 0.316347 0.32392 0.253867 0.0009 0.000833333 0.000853333 +0.00084 0.00084 0.000793333 0.000786667 0.0008 0.000786667 0.000746667 0.000746667 +0.000766667 0.000786667 0.000786667 0.000753333 0.00076 0.000786667 0.000793333 0.00076 +0.000766667 0.000766667 0.00076 0.000746667 0.000746667 0.000726667 0.000733333 0.000726667 +0.00076 0.000746667 0.000733333 0.00076 0.00076 0.000753333 0.00076 0.000733333 +0.000746667 0.000766667 0.00078 0.000746667 0.00074 0.000766667 0.000753333 0.000733333 +0.000726667 0.000746667 0.00076 0.000746667 0.000753333 0.000766667 0.000753333 0.000753333 +0.000773333 0.000786667 0.000753333 0.000753333 0.00076 0.000753333 0.00076 0.000746667 +0.000733333 0.000746667 0.000753333 0.00076 0.0007 0.0007 0.000673333 0.00068 +0.000686667 0.000686667 0.00068 0.0007 0.000693333 0.000673333 0.000693333 0.000726667 +0.00072 0.0007 0.000713333 0.000726667 0.00072 0.0007 0.000693333 0.000693333 +0.0007 0.000686667 0.000686667 0.0007 0.000713333 0.000686667 0.000693333 0.000726667 +0.000706667 0.0007 0.0007 0.00068 0.000673333 0.000666667 0.000666667 0.00068 +0.000686667 0.000693333 0.000693333 0.0007 0.000733333 0.00072 0.000706667 0.000713333 +0.000713333 0.000706667 0.000693333 0.0007 0.000693333 0.00068 0.000673333 0.000673333 +0.000666667 0.000666667 0.000686667 0.000686667 0.000686667 0.000686667 0.000693333 0.000693333 +0.000686667 0.000666667 0.00066 0.000673333 0.000673333 0.00068 0.000686667 0.000673333 +0.000686667 0.000693333 0.0007 0.0007 0.0007 0.000693333 0.000686667 0.000673333 +0.00068 0.000706667 0.00072 0.000726667 0.00074 0.00072 0.00074 0.000746667 +0.00076 0.000753333 0.00074 0.00074 0.000753333 0.000746667 0.00076 0.00086 +0.246293 0.32392 0.320133 0.269013 0.293627 0.378827 0.531579 0.704632 +0.904211 0.990449 0.989796 0.973053 0.954737 0.949684 0.951579 0.955368 +0.973053 0.987184 0.996 1.00939 1.02637 1.04596 1.05804 1.07522 +1.08891 1.06913 1.05216 1.04269 1.04041 1.04073 1.0378 1.02898 +1.02082 1.01722 1.01331 1.00286 0.987184 0.953474 0.855579 0.681263 +0.527158 0.38072 0.33528 0.32392 0.331493 0.339067 0.365573 0.395867 +0.350427 0.303093 0.29552 0.308773 0.316347 0.314453 0.327707 0.35232 +0.373147 0.390187 0.38072 0.36936 0.36936 0.367467 0.36368 0.339067 +0.316347 0.308773 0.303093 0.308773 0.31256 0.320133 0.32392 0.322027 +0.331493 0.34096 0.350427 0.34096 0.34096 0.356107 0.359893 0.354213 +0.34096 0.32392 0.31824 0.327707 0.350427 0.35232 0.344747 0.342853 +0.316347 0.29552 0.299307 0.310667 0.320133 0.34096 0.350427 0.339067 +0.322027 0.304987 0.310667 0.327707 0.354213 0.354213 0.331493 0.331493 +0.322027 0.314453 0.316347 0.31824 0.31256 0.314453 0.3012 0.2728 +0.27848 0.303093 0.310667 0.310667 0.303093 0.29552 0.3012 0.310667 +0.331493 0.342853 0.32392 0.286053 0.253867 0.2444 0.265227 0.286053 +0.270907 0.248187 0.234933 0.236827 0.242507 0.259547 0.270907 0.25576 +0.225467 0.22168 0.22736 0.2444 0.30688 0.376933 0.439413 0.544842 +0.678737 0.829684 0.92821 0.973053 0.990449 1.00318 1.012 1.01527 +1.01951 1.0218 1.02147 1.0218 1.02245 1.0231 1.0231 1.0218 +1.0169 1.01363 1.01265 1.01559 1.01722 1.0182 1.0182 1.01755 +1.01984 1.02441 1.02931 1.03322 1.03486 1.03616 1.03845 1.03878 +1.0391 1.03943 1.03878 1.03747 1.0378 1.03551 1.03453 1.03845 +1.0391 1.0378 1.04008 1.04237 1.03878 1.03976 1.04139 1.04302 +1.04302 1.04269 1.04367 1.04139 1.04106 1.04237 1.04073 1.04073 +1.04041 1.04204 1.04237 1.04171 1.04433 1.04727 1.04694 1.04629 +1.04629 1.04237 1.04171 1.04204 1.03878 1.03551 1.03551 1.03388 +1.0342 1.03682 1.0378 1.04041 1.04106 1.04171 1.04335 1.04008 +1.03649 1.03714 1.03355 1.03453 1.03486 1.0342 1.03518 1.0378 +1.03682 1.03486 1.0329 1.02833 1.02212 1.012 1.00024 0.99502 +0.996327 0.994694 0.991102 0.986531 0.986531 0.993388 0.996 0.990122 +0.980327 0.963579 0.949684 0.947789 0.949053 0.942737 0.92821 0.905474 +0.877684 0.828421 0.745053 0.652211 0.585263 0.534737 0.48296 0.422373 +0.405333 0.441307 0.484853 0.46024 0.393973 0.367467 0.344747 0.331493 +0.342853 0.376933 0.492427 0.536 0.513895 0.38072 0.310667 0.28984 +0.286053 0.299307 0.308773 0.3012 0.287947 0.28416 0.286053 0.291733 +0.287947 0.291733 0.344747 0.458347 0.557474 0.618737 0.587789 0.503158 +0.359893 0.31824 0.316347 0.322027 0.331493 0.373147 0.416693 0.395867 +0.34096 0.310667 0.310667 0.31256 0.30688 0.316347 0.354213 0.358 +0.331493 0.331493 0.344747 0.331493 0.333387 0.348533 0.35232 0.358 +0.405333 0.509474 0.592842 0.721053 0.853684 0.942737 0.981633 0.987184 +0.991429 0.996327 0.998939 1.00188 1.00939 1.01494 1.01167 1.0058 +1.00155 0.995347 0.98849 0.982286 0.974316 0.964842 0.955368 0.954105 +0.956632 0.957263 0.962316 0.980327 0.985878 0.928842 0.760211 0.578947 +0.39776 0.2728 0.286053 0.339067 0.310667 0.219787 0.00086 0.000853333 +0.000846667 0.000833333 0.000813333 0.000793333 0.000806667 0.0008 0.00076 0.000753333 +0.000766667 0.000793333 0.000793333 0.00076 0.000753333 0.000786667 0.000793333 0.00074 +0.000746667 0.000753333 0.000746667 0.000746667 0.000746667 0.00074 0.00074 0.00072 +0.000753333 0.00076 0.000753333 0.00076 0.000746667 0.000766667 0.000786667 0.000753333 +0.000773333 0.000786667 0.00076 0.00074 0.000746667 0.000753333 0.00074 0.000726667 +0.000733333 0.000746667 0.00074 0.000746667 0.00076 0.000746667 0.000733333 0.000753333 +0.00076 0.00076 0.000726667 0.000746667 0.00074 0.000746667 0.000753333 0.000726667 +0.000726667 0.000746667 0.000773333 0.00078 0.000706667 0.000713333 0.000706667 0.000713333 +0.00074 0.000733333 0.000713333 0.000713333 0.000726667 0.000686667 0.000686667 0.00072 +0.00074 0.000713333 0.000726667 0.00072 0.000693333 0.00068 0.000686667 0.000686667 +0.000693333 0.000693333 0.0007 0.0007 0.0007 0.000673333 0.00068 0.000693333 +0.000686667 0.0007 0.000713333 0.0007 0.000693333 0.000693333 0.000693333 0.000673333 +0.000666667 0.000673333 0.00066 0.000646667 0.000646667 0.00068 0.000686667 0.000713333 +0.00072 0.000726667 0.000733333 0.000713333 0.000706667 0.000686667 0.000693333 0.000706667 +0.000706667 0.000686667 0.000673333 0.000686667 0.000686667 0.000693333 0.000686667 0.000686667 +0.0007 0.000706667 0.00068 0.00066 0.000646667 0.00068 0.0007 0.0007 +0.0007 0.000686667 0.000713333 0.000706667 0.00072 0.000733333 0.000733333 0.000706667 +0.000673333 0.000693333 0.000713333 0.000733333 0.000746667 0.00074 0.000753333 0.000733333 +0.00074 0.00076 0.00076 0.000766667 0.000773333 0.00076 0.000806667 0.000986667 +0.28984 0.31824 0.274693 0.26712 0.333387 0.48296 0.627579 0.834105 +0.978105 0.992408 0.981306 0.964211 0.953474 0.949053 0.952211 0.965474 +0.984245 0.992735 1.0022 1.0231 1.04269 1.05314 1.05641 1.05641 +1.05739 1.05249 1.04237 1.03322 1.03127 1.0329 1.03486 1.03159 +1.02539 1.0182 1.00841 0.996 0.981633 0.915579 0.760842 0.579579 +0.43184 0.344747 0.327707 0.327707 0.333387 0.342853 0.376933 0.390187 +0.33528 0.29552 0.28984 0.299307 0.31256 0.316347 0.325813 0.354213 +0.40344 0.450773 0.464027 0.4432 0.418587 0.39776 0.384507 0.348533 +0.31824 0.316347 0.31256 0.297413 0.303093 0.310667 0.31256 0.303093 +0.314453 0.34096 0.358 0.350427 0.34664 0.356107 0.36368 0.358 +0.34664 0.333387 0.32392 0.32392 0.34664 0.36368 0.36368 0.356107 +0.331493 0.304987 0.3012 0.316347 0.33528 0.344747 0.339067 0.310667 +0.3012 0.310667 0.316347 0.344747 0.36936 0.33528 0.297413 0.297413 +0.293627 0.303093 0.325813 0.33528 0.331493 0.322027 0.299307 0.28416 +0.3012 0.31824 0.342853 0.367467 0.339067 0.308773 0.3012 0.29552 +0.291733 0.310667 0.308773 0.26712 0.225467 0.225467 0.242507 0.251973 +0.23304 0.219787 0.00098 0.216 0.22168 0.236827 0.248187 0.240613 +0.225467 0.23304 0.236827 0.276587 0.35232 0.43752 0.555579 0.700211 +0.853684 0.949053 0.984571 0.994694 1.00155 1.00939 1.01592 1.01886 +1.02343 1.02506 1.02408 1.02637 1.02571 1.02637 1.02539 1.02212 +1.0182 1.01559 1.01396 1.0182 1.02114 1.02114 1.01984 1.0182 +1.01984 1.02408 1.03029 1.0342 1.03584 1.03584 1.03812 1.03976 +1.03845 1.03747 1.03682 1.03812 1.04073 1.03878 1.03812 1.03976 +1.03976 1.0391 1.03943 1.04041 1.0391 1.04041 1.04204 1.04433 +1.044 1.04171 1.04139 1.0391 1.0391 1.04171 1.044 1.04269 +1.04008 1.04171 1.04335 1.04171 1.04302 1.04531 1.04302 1.04302 +1.04433 1.04139 1.04073 1.04171 1.04106 1.03714 1.0342 1.03322 +1.03486 1.03714 1.03649 1.04073 1.04367 1.04237 1.04335 1.04302 +1.04073 1.03878 1.03486 1.03747 1.03812 1.03616 1.03682 1.03878 +1.03682 1.03616 1.03518 1.03322 1.03029 1.02539 1.01527 1.00776 +1.00318 0.998612 0.99502 0.98751 0.986204 0.993714 1.00024 0.999592 +0.992735 0.984245 0.974316 0.967368 0.963579 0.959158 0.956632 0.943368 +0.917474 0.870737 0.794316 0.717263 0.648421 0.579579 0.528421 0.490533 +0.422373 0.412907 0.44888 0.44888 0.407227 0.371253 0.34664 0.342853 +0.358 0.388293 0.496213 0.544211 0.532842 0.433733 0.3296 0.291733 +0.282267 0.293627 0.3012 0.293627 0.282267 0.280373 0.28416 0.286053 +0.3012 0.31824 0.339067 0.405333 0.528421 0.602947 0.599158 0.518947 +0.367467 0.308773 0.308773 0.31256 0.337173 0.384507 0.405333 0.365573 +0.316347 0.303093 0.30688 0.314453 0.308773 0.31256 0.339067 0.344747 +0.327707 0.314453 0.310667 0.322027 0.348533 0.350427 0.333387 0.33528 +0.365573 0.42048 0.513263 0.604211 0.741895 0.870105 0.950316 0.981306 +0.987184 0.993714 1.00188 1.00678 1.01298 1.01886 1.01951 1.01494 +1.01265 1.00808 1.00057 0.993714 0.987184 0.98 0.968632 0.961684 +0.957263 0.952211 0.949684 0.964211 0.986204 0.986204 0.894737 0.709684 +0.541684 0.356107 0.280373 0.310667 0.34096 0.280373 0.000946667 0.000846667 +0.000826667 0.000813333 0.000793333 0.000793333 0.000786667 0.000786667 0.000786667 0.00076 +0.000746667 0.000766667 0.000793333 0.000766667 0.00076 0.00076 0.00074 0.00072 +0.000753333 0.000773333 0.00076 0.000766667 0.000773333 0.000766667 0.000753333 0.000746667 +0.000766667 0.000766667 0.000746667 0.000753333 0.00076 0.000786667 0.000773333 0.000726667 +0.000753333 0.000766667 0.00076 0.000766667 0.00076 0.00076 0.000753333 0.000733333 +0.000733333 0.00074 0.00074 0.00076 0.000753333 0.00072 0.000726667 0.00074 +0.00076 0.000753333 0.00074 0.000746667 0.00074 0.000753333 0.000753333 0.00074 +0.000753333 0.000773333 0.000793333 0.000773333 0.00068 0.000693333 0.0007 0.000693333 +0.000693333 0.000706667 0.000713333 0.000713333 0.000726667 0.000693333 0.000673333 0.000666667 +0.000693333 0.0007 0.000706667 0.000713333 0.00072 0.000693333 0.000673333 0.000673333 +0.000686667 0.000693333 0.000693333 0.000693333 0.000686667 0.0007 0.000693333 0.000673333 +0.000666667 0.000686667 0.0007 0.000713333 0.000706667 0.000713333 0.000706667 0.00068 +0.00068 0.00068 0.000686667 0.000686667 0.000673333 0.00068 0.000693333 0.0007 +0.000693333 0.000706667 0.000726667 0.000713333 0.000706667 0.0007 0.000693333 0.000686667 +0.000706667 0.0007 0.0007 0.000706667 0.0007 0.0007 0.0007 0.00068 +0.000686667 0.000706667 0.000726667 0.000713333 0.00068 0.000686667 0.0007 0.000693333 +0.000706667 0.00072 0.00074 0.000746667 0.00074 0.000733333 0.00072 0.000706667 +0.000706667 0.000706667 0.000713333 0.000713333 0.00072 0.00074 0.00078 0.000753333 +0.000746667 0.00074 0.000753333 0.000753333 0.000753333 0.000786667 0.000933333 0.270907 +0.308773 0.2728 0.253867 0.304987 0.399653 0.557474 0.748211 0.937684 +0.993388 0.985551 0.965474 0.954737 0.948421 0.947158 0.959158 0.981306 +0.993714 1.00057 1.01396 1.0378 1.05184 1.04955 1.04727 1.04759 +1.04727 1.04335 1.03584 1.02865 1.02604 1.02963 1.03518 1.03486 +1.02996 1.02212 1.01004 0.996 0.961053 0.840421 0.652211 0.508211 +0.365573 0.333387 0.325813 0.325813 0.3296 0.34664 0.382613 0.384507 +0.331493 0.303093 0.297413 0.297413 0.304987 0.322027 0.344747 0.382613 +0.452667 0.508842 0.520842 0.516421 0.503158 0.473493 0.43752 0.382613 +0.337173 0.322027 0.316347 0.303093 0.29552 0.299307 0.3012 0.304987 +0.30688 0.322027 0.34096 0.34664 0.354213 0.36936 0.373147 0.371253 +0.36936 0.354213 0.34096 0.34664 0.365573 0.39776 0.405333 0.38072 +0.339067 0.31824 0.310667 0.31824 0.331493 0.333387 0.32392 0.308773 +0.3012 0.303093 0.320133 0.358 0.365573 0.32392 0.308773 0.31824 +0.308773 0.299307 0.314453 0.322027 0.337173 0.344747 0.31824 0.291733 +0.304987 0.322027 0.331493 0.33528 0.316347 0.30688 0.308773 0.276587 +0.253867 0.28416 0.30688 0.263333 0.22168 0.225467 0.2444 0.231147 +0.000973333 0.000946667 0.000933333 0.000993333 0.000953333 0.000933333 0.217893 0.229253 +0.231147 0.25008 0.287947 0.35232 0.458347 0.561895 0.710316 0.866947 +0.957895 0.990122 1.00188 1.01037 1.01233 1.01396 1.01722 1.01886 +1.02376 1.028 1.028 1.02963 1.02767 1.02898 1.028 1.0231 +1.01984 1.01853 1.0169 1.01886 1.02049 1.02114 1.02212 1.02049 +1.02082 1.02376 1.02963 1.03453 1.03649 1.03682 1.03682 1.03845 +1.03747 1.03584 1.03551 1.03812 1.04073 1.03976 1.04041 1.0391 +1.03812 1.03976 1.04008 1.03976 1.0391 1.04237 1.04269 1.04367 +1.04433 1.04073 1.04008 1.04073 1.04008 1.04073 1.04367 1.04367 +1.04106 1.04171 1.04465 1.04335 1.04302 1.04596 1.04237 1.04106 +1.04335 1.04139 1.04008 1.03976 1.0391 1.03747 1.03388 1.03257 +1.03486 1.03747 1.03812 1.04041 1.04073 1.04204 1.04237 1.03976 +1.03845 1.03845 1.03649 1.03943 1.04073 1.03878 1.03878 1.0391 +1.03714 1.03682 1.03518 1.0342 1.03322 1.03094 1.02376 1.01788 +1.00971 1.00416 1.00122 0.993061 0.990122 0.996 1.00384 1.00873 +1.00612 0.999918 0.994367 0.985551 0.975579 0.967368 0.966737 0.957895 +0.939579 0.900421 0.842316 0.782316 0.712842 0.633895 0.572632 0.525263 +0.462133 0.40912 0.407227 0.40912 0.384507 0.35232 0.348533 0.359893 +0.3864 0.450773 0.537895 0.599158 0.584632 0.509474 0.371253 0.30688 +0.28416 0.28984 0.297413 0.28984 0.274693 0.26712 0.265227 0.265227 +0.287947 0.316347 0.333387 0.358 0.46592 0.561895 0.59979 0.539789 +0.384507 0.3012 0.299307 0.30688 0.32392 0.337173 0.337173 0.325813 +0.31256 0.31256 0.308773 0.303093 0.304987 0.31256 0.34664 0.354213 +0.331493 0.31824 0.322027 0.339067 0.35232 0.339067 0.327707 0.34096 +0.35232 0.367467 0.418587 0.521474 0.625053 0.762737 0.889053 0.957895 +0.98098 0.988816 0.998286 1.00743 1.01722 1.02245 1.02539 1.02441 +1.02343 1.02049 1.01265 1.00514 0.998612 0.992082 0.984245 0.971789 +0.959158 0.952842 0.946526 0.950947 0.970526 0.988816 0.978105 0.856842 +0.666105 0.510737 0.31256 0.27848 0.33528 0.333387 0.25008 0.000893333 +0.000853333 0.00084 0.000806667 0.00078 0.000786667 0.0008 0.000786667 0.000746667 +0.000733333 0.00078 0.0008 0.000753333 0.000746667 0.000753333 0.000766667 0.000773333 +0.000793333 0.000786667 0.00076 0.000753333 0.000746667 0.000753333 0.000753333 0.00074 +0.000746667 0.00074 0.000753333 0.000773333 0.000766667 0.00076 0.00074 0.000726667 +0.00076 0.000766667 0.00076 0.000766667 0.00076 0.00076 0.000746667 0.000733333 +0.000746667 0.000753333 0.00074 0.000746667 0.00076 0.000746667 0.00074 0.000753333 +0.000766667 0.00076 0.000753333 0.000753333 0.000753333 0.00076 0.000746667 0.00074 +0.000753333 0.000766667 0.00076 0.00074 0.000666667 0.000666667 0.000673333 0.0007 +0.000673333 0.000673333 0.000706667 0.000726667 0.000733333 0.000733333 0.000706667 0.00068 +0.00068 0.000666667 0.000653333 0.00066 0.00072 0.00072 0.0007 0.000706667 +0.0007 0.000693333 0.000686667 0.000693333 0.000706667 0.00072 0.000706667 0.000693333 +0.000686667 0.000673333 0.00068 0.000693333 0.0007 0.000706667 0.0007 0.000706667 +0.0007 0.0007 0.000693333 0.000693333 0.000686667 0.0007 0.000693333 0.000686667 +0.00068 0.000686667 0.000686667 0.000666667 0.000673333 0.000713333 0.000713333 0.000693333 +0.000693333 0.000686667 0.000686667 0.0007 0.0007 0.00072 0.00072 0.000713333 +0.0007 0.000706667 0.000726667 0.00074 0.000726667 0.000733333 0.00072 0.000693333 +0.000693333 0.000693333 0.000706667 0.0007 0.000726667 0.000733333 0.000733333 0.000733333 +0.000733333 0.000753333 0.00074 0.00072 0.000706667 0.0007 0.000726667 0.00072 +0.000726667 0.00072 0.00074 0.000753333 0.00076 0.00086 0.251973 0.31256 +0.287947 0.240613 0.270907 0.34096 0.502526 0.654737 0.868842 0.986531 +0.990449 0.972421 0.952211 0.947158 0.945263 0.950316 0.972421 0.989469 +0.998612 1.00776 1.02865 1.04792 1.04661 1.03649 1.03486 1.03943 +1.04171 1.03845 1.03224 1.02963 1.028 1.03029 1.03551 1.03747 +1.03551 1.02637 1.01494 0.994041 0.909263 0.733684 0.556211 0.40912 +0.34664 0.331493 0.325813 0.32392 0.333387 0.35232 0.376933 0.365573 +0.32392 0.303093 0.304987 0.303093 0.304987 0.32392 0.354213 0.401547 +0.462133 0.506316 0.524 0.539158 0.542316 0.532842 0.507579 0.435627 +0.371253 0.327707 0.310667 0.3012 0.29552 0.3012 0.303093 0.299307 +0.293627 0.3012 0.322027 0.344747 0.384507 0.390187 0.365573 0.35232 +0.342853 0.33528 0.337173 0.356107 0.39208 0.43752 0.4432 0.39776 +0.35232 0.327707 0.325813 0.331493 0.327707 0.314453 0.31256 0.314453 +0.304987 0.303093 0.3296 0.354213 0.33528 0.31256 0.31824 0.339067 +0.322027 0.291733 0.293627 0.299307 0.320133 0.34664 0.348533 0.31256 +0.293627 0.286053 0.282267 0.270907 0.28416 0.320133 0.310667 0.276587 +0.274693 0.299307 0.29552 0.257653 0.236827 0.23872 0.253867 0.236827 +0.000966667 0.000886667 0.000893333 0.217893 0.00096 0.0009 0.00096 0.219787 +0.229253 0.26144 0.337173 0.44888 0.570737 0.722947 0.877053 0.964842 +0.994041 1.00906 1.0169 1.01984 1.01886 1.01918 1.02016 1.01918 +1.02147 1.02506 1.02604 1.02767 1.02669 1.02931 1.028 1.0231 +1.02245 1.0218 1.01853 1.02082 1.0231 1.0231 1.02408 1.02376 +1.02408 1.02539 1.02865 1.03453 1.0378 1.03747 1.03682 1.03649 +1.0342 1.03355 1.03453 1.03682 1.03812 1.0391 1.03976 1.03878 +1.03845 1.0391 1.0391 1.03878 1.03845 1.04106 1.04237 1.04237 +1.04204 1.04008 1.04237 1.04302 1.04171 1.04106 1.04269 1.04302 +1.04237 1.04335 1.04563 1.04433 1.044 1.04498 1.04204 1.04106 +1.04335 1.04237 1.04204 1.03845 1.03518 1.03682 1.03518 1.03322 +1.03322 1.03453 1.03747 1.03845 1.03812 1.04171 1.04237 1.03878 +1.0391 1.03878 1.03714 1.03747 1.0391 1.03845 1.04008 1.03976 +1.03943 1.03812 1.03551 1.03518 1.03518 1.03224 1.02767 1.02441 +1.01657 1.01069 1.00776 1.00057 0.999265 1.00384 1.01265 1.0182 +1.01265 1.00743 1.00449 0.993388 0.981959 0.975579 0.969263 0.958526 +0.946526 0.921895 0.888421 0.841684 0.769684 0.697053 0.631368 0.568211 +0.514526 0.450773 0.40912 0.39208 0.367467 0.358 0.376933 0.390187 +0.42616 0.509474 0.582105 0.656632 0.631368 0.529053 0.371253 0.3012 +0.287947 0.293627 0.299307 0.29552 0.28984 0.291733 0.287947 0.27848 +0.28984 0.310667 0.322027 0.331493 0.382613 0.519579 0.587789 0.563158 +0.439413 0.303093 0.286053 0.29552 0.29552 0.293627 0.303093 0.303093 +0.299307 0.314453 0.314453 0.299307 0.310667 0.339067 0.358 0.365573 +0.35232 0.354213 0.36368 0.361787 0.356107 0.344747 0.339067 0.348533 +0.35232 0.354213 0.373147 0.433733 0.531579 0.640842 0.791789 0.912421 +0.965474 0.983265 0.993061 1.00547 1.01918 1.02604 1.02833 1.03094 +1.02931 1.02702 1.02114 1.01461 1.00906 1.00122 0.992408 0.982612 +0.968 0.957263 0.947158 0.943368 0.952211 0.978737 0.990449 0.958526 +0.812632 0.616842 0.44888 0.293627 0.304987 0.344747 0.30688 0.223573 +0.000893333 0.00086 0.00082 0.000806667 0.000813333 0.000793333 0.000773333 0.000766667 +0.000766667 0.000806667 0.000806667 0.000773333 0.00078 0.000786667 0.000793333 0.000786667 +0.00078 0.00076 0.000746667 0.000746667 0.00074 0.00074 0.00074 0.000726667 +0.00072 0.000726667 0.000746667 0.000753333 0.000733333 0.00074 0.000733333 0.00074 +0.00076 0.000746667 0.00074 0.000753333 0.00076 0.00076 0.000766667 0.000766667 +0.000773333 0.000766667 0.00074 0.000753333 0.000766667 0.000746667 0.00076 0.00076 +0.00076 0.000746667 0.000733333 0.000726667 0.000746667 0.000746667 0.00074 0.000746667 +0.00076 0.000746667 0.00072 0.000726667 0.00072 0.0007 0.000673333 0.000673333 +0.00068 0.000673333 0.00068 0.000673333 0.000693333 0.00072 0.000726667 0.000726667 +0.000713333 0.00068 0.000666667 0.000673333 0.0007 0.000706667 0.0007 0.000713333 +0.000726667 0.000726667 0.0007 0.0007 0.00072 0.000733333 0.000726667 0.000713333 +0.00072 0.000706667 0.000673333 0.000686667 0.000673333 0.000673333 0.000693333 0.00072 +0.00072 0.0007 0.000686667 0.00068 0.000666667 0.000666667 0.000653333 0.000666667 +0.000706667 0.000706667 0.0007 0.00068 0.000673333 0.000706667 0.00074 0.000753333 +0.000746667 0.00072 0.000713333 0.000713333 0.00072 0.000733333 0.000713333 0.0007 +0.000706667 0.000693333 0.0007 0.0007 0.00072 0.000726667 0.000706667 0.000673333 +0.000666667 0.000673333 0.000693333 0.000686667 0.0007 0.000713333 0.000726667 0.000733333 +0.00072 0.00074 0.000746667 0.000746667 0.00074 0.00072 0.000706667 0.000693333 +0.000726667 0.000726667 0.000773333 0.0008 0.000853333 0.23304 0.297413 0.291733 +0.234933 0.2444 0.316347 0.40912 0.573263 0.776632 0.955368 0.994041 +0.983265 0.961684 0.949053 0.947158 0.947789 0.961053 0.984898 0.996653 +1.00449 1.02114 1.04465 1.04792 1.03257 1.02376 1.02637 1.03257 +1.0391 1.03878 1.03322 1.02931 1.028 1.02931 1.03322 1.0378 +1.0391 1.03257 1.0182 0.975579 0.817053 0.623158 0.486747 0.367467 +0.342853 0.331493 0.325813 0.322027 0.31824 0.331493 0.350427 0.350427 +0.331493 0.31256 0.297413 0.29552 0.299307 0.31256 0.344747 0.37504 +0.388293 0.405333 0.469707 0.525263 0.557474 0.569474 0.548 0.507579 +0.416693 0.342853 0.310667 0.297413 0.297413 0.3012 0.3012 0.299307 +0.293627 0.299307 0.316347 0.359893 0.422373 0.405333 0.348533 0.320133 +0.304987 0.299307 0.308773 0.322027 0.359893 0.416693 0.452667 0.433733 +0.390187 0.361787 0.34096 0.325813 0.320133 0.320133 0.320133 0.31256 +0.308773 0.316347 0.333387 0.322027 0.304987 0.304987 0.31256 0.32392 +0.32392 0.304987 0.280373 0.282267 0.291733 0.314453 0.339067 0.327707 +0.297413 0.274693 0.265227 0.26712 0.308773 0.34664 0.314453 0.274693 +0.280373 0.28984 0.26712 0.234933 0.22736 0.234933 0.25008 0.231147 +0.000933333 0.000886667 0.216 0.23872 0.216 0.000966667 0.000986667 0.000986667 +0.23872 0.297413 0.429947 0.566316 0.726737 0.890947 0.978737 0.994041 +1.00678 1.0182 1.02212 1.02376 1.0231 1.02376 1.02212 1.0182 +1.01755 1.01984 1.02278 1.02767 1.02865 1.02865 1.02571 1.02245 +1.0231 1.02147 1.01788 1.0218 1.02473 1.0231 1.0231 1.0218 +1.02408 1.02865 1.03224 1.0378 1.03976 1.0378 1.03714 1.03714 +1.03388 1.03453 1.03551 1.03518 1.03649 1.03714 1.0391 1.03976 +1.03747 1.03551 1.0378 1.03976 1.04139 1.04204 1.04106 1.04041 +1.04041 1.04041 1.044 1.04465 1.04302 1.04367 1.044 1.04269 +1.04171 1.04171 1.04237 1.04171 1.044 1.04498 1.04204 1.03976 +1.04008 1.04106 1.04269 1.04073 1.03714 1.03943 1.03714 1.03355 +1.03192 1.03257 1.03649 1.03616 1.03551 1.03943 1.04008 1.03878 +1.03943 1.03747 1.03551 1.03682 1.03845 1.03812 1.04073 1.03976 +1.04008 1.03812 1.03584 1.03682 1.03714 1.03355 1.02963 1.02833 +1.02376 1.01918 1.01331 1.00547 1.00384 1.00939 1.01755 1.0182 +1.00841 1.00318 1.00547 0.996 0.983918 0.977474 0.964842 0.956 +0.949053 0.934526 0.92 0.885895 0.827789 0.762105 0.690105 0.613684 +0.547368 0.504421 0.439413 0.4148 0.40344 0.395867 0.390187 0.3864 +0.4148 0.49432 0.559368 0.625053 0.607368 0.520211 0.359893 0.29552 +0.291733 0.29552 0.299307 0.3012 0.325813 0.342853 0.325813 0.304987 +0.3012 0.308773 0.314453 0.322027 0.35232 0.46024 0.56 0.580211 +0.508842 0.339067 0.28416 0.276587 0.276587 0.28416 0.299307 0.3012 +0.3012 0.32392 0.337173 0.322027 0.32392 0.344747 0.365573 0.367467 +0.36368 0.36368 0.36936 0.367467 0.359893 0.35232 0.34664 0.34096 +0.350427 0.356107 0.350427 0.365573 0.433733 0.539158 0.668632 0.830316 +0.937053 0.977474 0.989469 1.00253 1.02049 1.03127 1.02996 1.03094 +1.02996 1.03094 1.02865 1.01984 1.01331 1.00678 1.00188 0.994041 +0.982612 0.966105 0.952211 0.945895 0.948421 0.961684 0.982612 0.987837 +0.933263 0.761474 0.573263 0.388293 0.291733 0.320133 0.34664 0.28416 +0.00096 0.000853333 0.00084 0.000846667 0.000826667 0.000806667 0.000793333 0.000773333 +0.000766667 0.000786667 0.000806667 0.000806667 0.0008 0.000786667 0.000793333 0.00078 +0.00078 0.000773333 0.00074 0.00074 0.000733333 0.000733333 0.00074 0.000746667 +0.000733333 0.00072 0.000726667 0.00074 0.000733333 0.00074 0.000733333 0.000753333 +0.000766667 0.000746667 0.00074 0.000733333 0.000746667 0.000753333 0.000746667 0.000746667 +0.000746667 0.000746667 0.00076 0.000766667 0.000746667 0.00074 0.000746667 0.00074 +0.00074 0.00074 0.00072 0.000733333 0.00076 0.00074 0.000726667 0.00076 +0.000753333 0.000726667 0.000726667 0.000746667 0.000726667 0.00072 0.000713333 0.000686667 +0.00068 0.000686667 0.000693333 0.00068 0.000686667 0.000693333 0.000726667 0.00074 +0.000753333 0.000726667 0.000706667 0.000713333 0.00072 0.000733333 0.000726667 0.00072 +0.0007 0.000713333 0.0007 0.000693333 0.000693333 0.000693333 0.0007 0.000706667 +0.000726667 0.000726667 0.000693333 0.000706667 0.0007 0.000673333 0.000673333 0.000693333 +0.00068 0.000686667 0.000693333 0.000693333 0.000693333 0.000686667 0.00068 0.000693333 +0.00072 0.000713333 0.00072 0.000726667 0.000706667 0.0007 0.000713333 0.000746667 +0.000746667 0.000726667 0.00072 0.00072 0.00072 0.000733333 0.000733333 0.000726667 +0.000706667 0.000686667 0.000686667 0.000673333 0.000706667 0.000713333 0.000706667 0.000706667 +0.000693333 0.000686667 0.000706667 0.000693333 0.000706667 0.0007 0.000713333 0.000726667 +0.000693333 0.000706667 0.00074 0.000753333 0.000753333 0.000753333 0.000753333 0.000733333 +0.000733333 0.000726667 0.000753333 0.0008 0.000973333 0.286053 0.299307 0.240613 +0.219787 0.291733 0.371253 0.510105 0.673684 0.888421 0.991429 0.990449 +0.973053 0.955368 0.947789 0.949053 0.954737 0.976842 0.993388 1.00253 +1.01461 1.04106 1.05543 1.03714 1.01624 1.01331 1.01788 1.02735 +1.03943 1.04498 1.04106 1.03257 1.02996 1.03094 1.03322 1.03812 +1.04237 1.0378 1.01069 0.892842 0.688842 0.529053 0.405333 0.371253 +0.35232 0.327707 0.310667 0.29552 0.28984 0.304987 0.34664 0.373147 +0.35232 0.31256 0.286053 0.286053 0.3012 0.314453 0.34664 0.356107 +0.322027 0.31256 0.35232 0.435627 0.517053 0.551158 0.560632 0.539158 +0.502526 0.40344 0.337173 0.304987 0.293627 0.291733 0.291733 0.291733 +0.299307 0.308773 0.337173 0.393973 0.439413 0.393973 0.331493 0.304987 +0.293627 0.293627 0.299307 0.304987 0.316347 0.36368 0.450773 0.500632 +0.47728 0.40912 0.333387 0.314453 0.33528 0.34096 0.33528 0.337173 +0.350427 0.350427 0.3296 0.304987 0.297413 0.30688 0.314453 0.31824 +0.31824 0.31256 0.29552 0.28984 0.28984 0.299307 0.320133 0.308773 +0.291733 0.276587 0.257653 0.259547 0.282267 0.310667 0.282267 0.246293 +0.242507 0.259547 0.257653 0.217893 0.000953333 0.000966667 0.22736 0.234933 +0.23304 0.26712 0.303093 0.265227 0.229253 0.242507 0.240613 0.229253 +0.26712 0.395867 0.577053 0.738105 0.893474 0.982939 1.00122 1.00906 +1.01853 1.02604 1.02669 1.02767 1.02767 1.02767 1.02571 1.02016 +1.01624 1.0169 1.01951 1.02702 1.02963 1.028 1.02539 1.02245 +1.0218 1.02016 1.0182 1.02114 1.02212 1.02016 1.02049 1.02016 +1.0231 1.02898 1.03486 1.04008 1.04073 1.03976 1.03878 1.0391 +1.03616 1.03551 1.03551 1.0342 1.03551 1.03649 1.03878 1.0391 +1.03649 1.03682 1.03878 1.03878 1.04073 1.04171 1.04008 1.04041 +1.04237 1.04041 1.04139 1.04302 1.04465 1.04661 1.04531 1.04302 +1.04269 1.04204 1.04237 1.04204 1.04465 1.04531 1.044 1.04073 +1.04041 1.04139 1.04302 1.04237 1.04008 1.03943 1.03584 1.03453 +1.03486 1.03518 1.03649 1.03453 1.03518 1.0391 1.0391 1.03812 +1.03812 1.03714 1.03616 1.03747 1.03845 1.03943 1.04237 1.04269 +1.04204 1.03845 1.03649 1.0378 1.0391 1.03616 1.0329 1.03192 +1.02963 1.02702 1.01951 1.01102 1.00482 1.00645 1.01331 1.01135 +1.00318 0.998939 1.00286 0.997306 0.985878 0.973684 0.956632 0.955368 +0.950947 0.943368 0.937053 0.919368 0.885895 0.821474 0.738105 0.658526 +0.592211 0.537895 0.501263 0.46024 0.441307 0.412907 0.373147 0.36936 +0.388293 0.42048 0.502526 0.540421 0.544842 0.500632 0.36368 0.30688 +0.293627 0.3012 0.297413 0.303093 0.339067 0.390187 0.40344 0.371253 +0.33528 0.325813 0.322027 0.316347 0.333387 0.390187 0.523368 0.574526 +0.533474 0.390187 0.303093 0.276587 0.27848 0.297413 0.30688 0.310667 +0.322027 0.358 0.382613 0.356107 0.3296 0.34096 0.359893 0.36936 +0.35232 0.339067 0.342853 0.342853 0.342853 0.348533 0.350427 0.337173 +0.337173 0.342853 0.331493 0.34096 0.371253 0.445093 0.562526 0.716632 +0.872 0.954105 0.983918 0.999592 1.02082 1.03486 1.03029 1.028 +1.02963 1.03388 1.0342 1.02408 1.01657 1.01233 1.01004 1.00416 +0.993061 0.982612 0.967368 0.954737 0.948421 0.950316 0.966105 0.985878 +0.98751 0.897263 0.704632 0.534105 0.339067 0.28416 0.327707 0.325813 +0.246293 0.000886667 0.000833333 0.00084 0.000846667 0.000826667 0.0008 0.000766667 +0.000786667 0.00082 0.000813333 0.000813333 0.000786667 0.000773333 0.00078 0.000793333 +0.000786667 0.000753333 0.000713333 0.000713333 0.000726667 0.00074 0.000753333 0.00076 +0.000746667 0.000726667 0.00074 0.000746667 0.000753333 0.000733333 0.000753333 0.000753333 +0.000746667 0.000733333 0.000733333 0.000753333 0.00076 0.00074 0.000733333 0.00074 +0.000733333 0.000733333 0.000746667 0.00076 0.000746667 0.00074 0.000733333 0.00074 +0.000753333 0.000766667 0.000753333 0.00076 0.00076 0.00074 0.000746667 0.000773333 +0.00076 0.00076 0.00076 0.000746667 0.000706667 0.00072 0.000726667 0.000713333 +0.0007 0.00072 0.000726667 0.00072 0.000693333 0.000693333 0.000713333 0.0007 +0.000706667 0.00072 0.000706667 0.0007 0.000693333 0.0007 0.0007 0.0007 +0.00068 0.000693333 0.0007 0.0007 0.000693333 0.000686667 0.000673333 0.00068 +0.0007 0.000726667 0.000746667 0.000733333 0.000726667 0.0007 0.0007 0.000706667 +0.000673333 0.000693333 0.000733333 0.00074 0.000746667 0.00074 0.000733333 0.000733333 +0.000706667 0.000693333 0.0007 0.00072 0.0007 0.00068 0.000686667 0.000706667 +0.0007 0.000706667 0.000713333 0.000706667 0.000706667 0.000713333 0.000726667 0.000733333 +0.0007 0.000673333 0.000686667 0.000706667 0.00072 0.000713333 0.000713333 0.000713333 +0.000706667 0.000706667 0.000726667 0.00072 0.000726667 0.000713333 0.00072 0.000733333 +0.00072 0.000733333 0.000766667 0.000753333 0.000733333 0.000733333 0.000753333 0.000766667 +0.00076 0.00074 0.000753333 0.000853333 0.251973 0.3012 0.263333 0.217893 +0.248187 0.333387 0.42616 0.580842 0.793053 0.970526 0.996 0.983592 +0.964842 0.951579 0.949684 0.954737 0.967368 0.986531 0.998286 1.00678 +1.02931 1.05869 1.05412 1.02278 1.0058 1.00416 1.01069 1.02637 +1.04563 1.05804 1.05478 1.04139 1.03584 1.0342 1.03486 1.04073 +1.04596 1.03616 0.971789 0.759579 0.568842 0.43184 0.376933 0.36936 +0.354213 0.331493 0.30688 0.293627 0.287947 0.303093 0.36368 0.39208 +0.35232 0.310667 0.29552 0.293627 0.303093 0.320133 0.337173 0.3296 +0.297413 0.28416 0.304987 0.34664 0.401547 0.484853 0.522105 0.538526 +0.530947 0.498107 0.395867 0.337173 0.31256 0.28984 0.276587 0.276587 +0.28984 0.322027 0.376933 0.424267 0.439413 0.378827 0.31824 0.30688 +0.293627 0.29552 0.304987 0.30688 0.299307 0.3296 0.424267 0.510737 +0.521474 0.48864 0.373147 0.333387 0.34664 0.342853 0.344747 0.356107 +0.371253 0.359893 0.32392 0.310667 0.314453 0.31824 0.32392 0.333387 +0.3296 0.310667 0.299307 0.31256 0.316347 0.314453 0.303093 0.28984 +0.293627 0.287947 0.259547 0.263333 0.282267 0.28984 0.26712 0.242507 +0.240613 0.259547 0.265227 0.219787 0.00088 0.00086 0.000946667 0.23872 +0.280373 0.325813 0.3296 0.259547 0.216 0.234933 0.263333 0.293627 +0.4148 0.583368 0.756421 0.912421 0.984571 1.00024 1.01233 1.02114 +1.02702 1.03029 1.02898 1.028 1.02735 1.02735 1.02702 1.02343 +1.02049 1.01984 1.0182 1.02147 1.02408 1.02278 1.0231 1.02245 +1.01951 1.01722 1.01788 1.02049 1.01951 1.01755 1.0182 1.01984 +1.02473 1.02963 1.0342 1.0391 1.04008 1.03878 1.04041 1.04041 +1.03747 1.0342 1.03355 1.03518 1.03714 1.03518 1.03551 1.03747 +1.03714 1.0391 1.03976 1.03812 1.0391 1.03878 1.03845 1.03943 +1.04106 1.03943 1.04204 1.04335 1.04302 1.04465 1.04465 1.04269 +1.04269 1.04367 1.04498 1.04367 1.04302 1.04237 1.04171 1.04269 +1.04139 1.04171 1.04302 1.04139 1.03878 1.03812 1.03584 1.0378 +1.03682 1.03584 1.03486 1.03257 1.03584 1.03878 1.0391 1.0391 +1.03714 1.03584 1.03453 1.03551 1.03747 1.03878 1.04204 1.04302 +1.04106 1.04171 1.04073 1.03943 1.03845 1.03518 1.03453 1.03322 +1.03355 1.03192 1.02343 1.01494 1.0058 1.00318 1.00873 1.00939 +1.00547 1.00188 1.00318 0.998939 0.98751 0.971158 0.961053 0.962316 +0.955368 0.956632 0.955368 0.945263 0.920632 0.861263 0.785474 0.714737 +0.648421 0.585263 0.535368 0.503789 0.467813 0.43184 0.378827 0.378827 +0.390187 0.39776 0.422373 0.464027 0.496213 0.4432 0.358 0.304987 +0.291733 0.28984 0.297413 0.314453 0.350427 0.429947 0.498107 0.47728 +0.42048 0.3864 0.356107 0.3296 0.320133 0.342853 0.46592 0.550526 +0.549263 0.458347 0.337173 0.293627 0.287947 0.297413 0.304987 0.31824 +0.339067 0.371253 0.411013 0.401547 0.361787 0.34664 0.342853 0.344747 +0.327707 0.303093 0.304987 0.322027 0.325813 0.333387 0.342853 0.337173 +0.327707 0.331493 0.327707 0.337173 0.348533 0.38072 0.49432 0.597895 +0.761474 0.899789 0.968632 0.99502 1.01624 1.03453 1.0329 1.02571 +1.02669 1.03061 1.03518 1.03257 1.02473 1.0169 1.01298 1.01004 +1.00449 0.995347 0.982286 0.962316 0.951579 0.949053 0.954737 0.973684 +0.990122 0.981633 0.857474 0.661684 0.506316 0.310667 0.299307 0.34096 +0.30688 0.217893 0.000853333 0.00084 0.000826667 0.000786667 0.000786667 0.000753333 +0.00078 0.000806667 0.000793333 0.000793333 0.000786667 0.00078 0.00078 0.000786667 +0.000766667 0.00074 0.000733333 0.00074 0.000733333 0.00074 0.00074 0.000753333 +0.000753333 0.000746667 0.000753333 0.000773333 0.000753333 0.00074 0.000753333 0.000746667 +0.000746667 0.000753333 0.00078 0.000766667 0.000766667 0.000753333 0.000746667 0.000753333 +0.000746667 0.000746667 0.000746667 0.000773333 0.000753333 0.000733333 0.000753333 0.00076 +0.000773333 0.000766667 0.00076 0.00078 0.00076 0.00074 0.000773333 0.000766667 +0.000753333 0.000753333 0.00074 0.000733333 0.000693333 0.000713333 0.000713333 0.0007 +0.0007 0.000706667 0.000706667 0.0007 0.000693333 0.0007 0.000713333 0.000693333 +0.00068 0.0007 0.0007 0.000686667 0.000673333 0.00068 0.000673333 0.000693333 +0.000706667 0.000706667 0.000726667 0.00072 0.0007 0.0007 0.0007 0.0007 +0.000693333 0.000706667 0.000733333 0.000726667 0.00072 0.000713333 0.000713333 0.000733333 +0.000713333 0.000713333 0.00074 0.00074 0.00074 0.000746667 0.000753333 0.000746667 +0.00072 0.000706667 0.000713333 0.000713333 0.000713333 0.000706667 0.00072 0.000713333 +0.000693333 0.000693333 0.000693333 0.000693333 0.000693333 0.0007 0.000726667 0.000726667 +0.000706667 0.000693333 0.000686667 0.00072 0.000713333 0.000706667 0.000713333 0.00072 +0.00072 0.000726667 0.000746667 0.000746667 0.000753333 0.000753333 0.00074 0.000733333 +0.0007 0.000713333 0.000733333 0.000733333 0.00074 0.00074 0.000733333 0.000753333 +0.000746667 0.00074 0.0008 0.219787 0.299307 0.28416 0.22736 0.229253 +0.293627 0.371253 0.516421 0.688211 0.904211 0.994367 0.990449 0.974316 +0.957895 0.949053 0.949053 0.959158 0.979368 0.993388 1.00318 1.01853 +1.05184 1.09195 1.03976 1.01167 1.00155 1.00057 1.00645 1.01984 +1.0391 1.05314 1.04988 1.04008 1.03747 1.03649 1.04008 1.04824 +1.04727 1.00743 0.834737 0.614947 0.48864 0.376933 0.358 0.34096 +0.331493 0.3296 0.31824 0.314453 0.308773 0.32392 0.376933 0.376933 +0.32392 0.29552 0.293627 0.297413 0.304987 0.322027 0.32392 0.310667 +0.3012 0.3012 0.303093 0.316347 0.3296 0.348533 0.401547 0.49432 +0.526526 0.529053 0.503158 0.4148 0.350427 0.303093 0.282267 0.276587 +0.286053 0.3296 0.388293 0.43752 0.458347 0.38072 0.310667 0.3012 +0.304987 0.3012 0.303093 0.299307 0.29552 0.304987 0.36368 0.48296 +0.530947 0.525895 0.439413 0.365573 0.35232 0.34096 0.367467 0.3864 +0.36368 0.344747 0.333387 0.325813 0.327707 0.32392 0.310667 0.31824 +0.325813 0.31824 0.327707 0.339067 0.331493 0.32392 0.310667 0.303093 +0.322027 0.33528 0.33528 0.367467 0.37504 0.32392 0.270907 0.248187 +0.236827 0.242507 0.240613 0.217893 0.00092 0.000886667 0.000893333 0.000966667 +0.23872 0.25008 0.25008 0.225467 0.00094 0.216 0.27848 0.441307 +0.600421 0.776632 0.926947 0.993061 1.00416 1.01102 1.02049 1.02604 +1.02604 1.02669 1.02604 1.02604 1.02669 1.02637 1.02637 1.02669 +1.02408 1.02278 1.02049 1.02082 1.02082 1.01624 1.01527 1.01559 +1.01527 1.01527 1.01722 1.01951 1.01722 1.01233 1.01363 1.01951 +1.02702 1.03192 1.0342 1.03812 1.03976 1.03878 1.04171 1.04106 +1.0378 1.03518 1.03551 1.03845 1.03845 1.03257 1.0342 1.0378 +1.03649 1.03682 1.03812 1.03943 1.03976 1.03812 1.03747 1.0391 +1.04073 1.04008 1.04335 1.04433 1.04073 1.04139 1.044 1.04302 +1.04204 1.04302 1.04498 1.044 1.04531 1.04269 1.04073 1.04204 +1.04073 1.04041 1.04367 1.04171 1.03812 1.03682 1.03616 1.03845 +1.03584 1.03453 1.03649 1.03551 1.03616 1.03682 1.03943 1.03943 +1.03551 1.03551 1.03388 1.0342 1.03584 1.03616 1.0391 1.04008 +1.03845 1.04106 1.04204 1.03976 1.03747 1.03551 1.03486 1.03355 +1.03551 1.03453 1.02767 1.02147 1.01494 1.01265 1.01396 1.01559 +1.01265 1.0071 1.00645 1.00122 0.98751 0.977474 0.977474 0.976211 +0.971789 0.977474 0.978737 0.966737 0.940842 0.893474 0.837263 0.777263 +0.709684 0.640211 0.576421 0.531579 0.512632 0.48864 0.418587 0.395867 +0.388293 0.39776 0.40344 0.39776 0.4148 0.40344 0.365573 0.320133 +0.299307 0.303093 0.32392 0.34664 0.359893 0.407227 0.4716 0.469707 +0.43184 0.40912 0.401547 0.37504 0.339067 0.3296 0.399653 0.524632 +0.551158 0.502526 0.359893 0.308773 0.29552 0.28984 0.303093 0.33528 +0.339067 0.337173 0.37504 0.395867 0.36936 0.34664 0.3296 0.31824 +0.304987 0.28416 0.286053 0.304987 0.308773 0.316347 0.32392 0.32392 +0.316347 0.31824 0.325813 0.331493 0.33528 0.356107 0.399653 0.516421 +0.645895 0.813895 0.930105 0.984571 1.00808 1.03192 1.03649 1.02539 +1.02147 1.02604 1.03486 1.03976 1.03322 1.02082 1.01494 1.01363 +1.01069 1.00449 0.992408 0.978105 0.962947 0.958526 0.956632 0.961684 +0.981633 0.992735 0.965474 0.812632 0.614316 0.439413 0.303093 0.32392 +0.350427 0.287947 0.000966667 0.00086 0.000826667 0.000813333 0.0008 0.000766667 +0.000766667 0.000773333 0.00076 0.000773333 0.00078 0.000753333 0.000746667 0.000746667 +0.000746667 0.00076 0.00076 0.000746667 0.000726667 0.00074 0.000753333 0.000766667 +0.000746667 0.000746667 0.00078 0.00078 0.000753333 0.000753333 0.000766667 0.000766667 +0.000753333 0.00076 0.00076 0.00074 0.000766667 0.000773333 0.00076 0.00076 +0.00076 0.000766667 0.00076 0.000773333 0.000753333 0.000746667 0.000753333 0.000746667 +0.00076 0.000753333 0.000766667 0.00078 0.000746667 0.000746667 0.000766667 0.00076 +0.000746667 0.000753333 0.00076 0.000773333 0.000673333 0.000666667 0.000686667 0.0007 +0.00072 0.000726667 0.00072 0.00068 0.0007 0.000713333 0.00072 0.000713333 +0.000693333 0.000693333 0.000706667 0.000693333 0.000686667 0.0007 0.0007 0.000713333 +0.000733333 0.000733333 0.00074 0.00074 0.000713333 0.000706667 0.00072 0.00072 +0.000713333 0.00072 0.000733333 0.000713333 0.00072 0.00074 0.000726667 0.000726667 +0.00072 0.000726667 0.000726667 0.00072 0.000706667 0.00072 0.000726667 0.000726667 +0.000713333 0.000733333 0.000746667 0.00074 0.000733333 0.000706667 0.00072 0.000733333 +0.00072 0.000686667 0.000686667 0.000673333 0.000686667 0.000693333 0.000706667 0.000726667 +0.00072 0.000733333 0.00072 0.000726667 0.000706667 0.000713333 0.00074 0.00072 +0.0007 0.000713333 0.000733333 0.000746667 0.00074 0.000753333 0.00076 0.000766667 +0.000726667 0.000713333 0.00072 0.000713333 0.00074 0.000753333 0.00074 0.000753333 +0.000766667 0.00078 0.000906667 0.274693 0.316347 0.26144 0.236827 0.287947 +0.339067 0.429947 0.592842 0.808211 0.974947 0.995347 0.981306 0.961053 +0.951579 0.947789 0.952211 0.966105 0.985551 0.999265 1.01004 1.03584 +1.09956 1.05771 1.02212 1.00482 1.00057 1.0009 1.00482 1.012 +1.02278 1.02865 1.02669 1.02571 1.03094 1.03584 1.04269 1.04727 +1.01951 0.885895 0.65979 0.510105 0.378827 0.342853 0.333387 0.320133 +0.316347 0.327707 0.34096 0.342853 0.327707 0.333387 0.371253 0.348533 +0.29552 0.286053 0.28984 0.293627 0.30688 0.325813 0.320133 0.304987 +0.308773 0.308773 0.304987 0.310667 0.310667 0.303093 0.322027 0.378827 +0.481067 0.532211 0.544211 0.518316 0.441307 0.34096 0.293627 0.28416 +0.293627 0.33528 0.390187 0.462133 0.500632 0.416693 0.337173 0.325813 +0.327707 0.320133 0.314453 0.31256 0.308773 0.314453 0.342853 0.42048 +0.520211 0.542316 0.504421 0.412907 0.395867 0.390187 0.407227 0.39208 +0.337173 0.31824 0.327707 0.316347 0.303093 0.31256 0.304987 0.297413 +0.31256 0.34096 0.38072 0.376933 0.35232 0.337173 0.31256 0.3012 +0.31824 0.34096 0.359893 0.39776 0.401547 0.339067 0.27848 0.248187 +0.23304 0.22736 0.219787 0.000973333 0.000953333 0.000946667 0.000946667 0.000946667 +0.00096 0.000946667 0.000973333 0.000953333 0.000993333 0.269013 0.428053 0.606105 +0.791158 0.942105 0.998286 1.01102 1.01592 1.01984 1.02147 1.02408 +1.02343 1.02408 1.02343 1.02376 1.02539 1.02702 1.02571 1.02506 +1.0231 1.0218 1.02114 1.02245 1.0231 1.01657 1.01233 1.01135 +1.01167 1.01396 1.01429 1.01527 1.01592 1.01265 1.01429 1.02114 +1.02735 1.03322 1.03682 1.03747 1.03812 1.03747 1.03943 1.0391 +1.03616 1.0342 1.03518 1.03976 1.03943 1.0329 1.03518 1.0391 +1.03584 1.03682 1.03878 1.04041 1.04204 1.03943 1.03714 1.03943 +1.04204 1.04073 1.04171 1.04433 1.04139 1.04139 1.04367 1.04433 +1.04106 1.04204 1.04563 1.04498 1.04596 1.04237 1.04008 1.04237 +1.04269 1.04106 1.04237 1.04106 1.0391 1.03943 1.03878 1.0378 +1.03518 1.03616 1.03747 1.03649 1.03584 1.03584 1.0391 1.0391 +1.0342 1.03584 1.03551 1.03616 1.03682 1.03747 1.04008 1.03943 +1.03616 1.03616 1.0378 1.03878 1.03714 1.03616 1.03518 1.03453 +1.03486 1.03224 1.02963 1.02473 1.02408 1.02441 1.02343 1.02212 +1.0169 1.01102 1.00939 1.00482 0.992735 0.987184 0.988816 0.98751 +0.98751 0.986857 0.986204 0.981633 0.962947 0.932 0.890316 0.837895 +0.773474 0.700211 0.624421 0.568211 0.533474 0.505684 0.4432 0.405333 +0.39776 0.411013 0.39776 0.36368 0.359893 0.37504 0.38072 0.36368 +0.348533 0.34096 0.354213 0.339067 0.331493 0.354213 0.38072 0.378827 +0.361787 0.365573 0.388293 0.39208 0.378827 0.359893 0.390187 0.513895 +0.553684 0.517053 0.393973 0.33528 0.310667 0.297413 0.316347 0.339067 +0.32392 0.31256 0.333387 0.356107 0.34664 0.331493 0.327707 0.316347 +0.308773 0.310667 0.314453 0.3012 0.304987 0.308773 0.304987 0.304987 +0.303093 0.316347 0.337173 0.337173 0.32392 0.333387 0.365573 0.439413 +0.557474 0.707158 0.860632 0.953474 0.994367 1.0231 1.03878 1.02898 +1.0182 1.0218 1.03159 1.0391 1.03812 1.02735 1.0182 1.01494 +1.01233 1.00971 1.00286 0.989143 0.976211 0.965474 0.961684 0.963579 +0.973684 0.986204 0.991755 0.934526 0.758316 0.566947 0.376933 0.30688 +0.344747 0.33528 0.25576 0.00092 0.000853333 0.000853333 0.00084 0.000806667 +0.000806667 0.000793333 0.00076 0.000773333 0.000766667 0.000746667 0.000753333 0.000766667 +0.000773333 0.00076 0.000726667 0.000713333 0.000733333 0.00076 0.000753333 0.00074 +0.00072 0.000726667 0.000753333 0.000753333 0.000733333 0.000746667 0.000746667 0.000753333 +0.000753333 0.000746667 0.000753333 0.000753333 0.000773333 0.00076 0.000746667 0.000746667 +0.000753333 0.000766667 0.000766667 0.000746667 0.000726667 0.000726667 0.000726667 0.000746667 +0.000753333 0.000746667 0.000766667 0.000746667 0.000726667 0.000733333 0.00074 0.000753333 +0.000746667 0.00076 0.00076 0.000746667 0.000693333 0.00068 0.000673333 0.00068 +0.00068 0.0007 0.00072 0.0007 0.000706667 0.000713333 0.000713333 0.00072 +0.00072 0.000713333 0.000706667 0.00072 0.000713333 0.000713333 0.00072 0.000706667 +0.0007 0.000713333 0.000733333 0.000733333 0.00074 0.000726667 0.00074 0.000726667 +0.0007 0.000713333 0.000726667 0.000733333 0.000733333 0.00074 0.00072 0.000693333 +0.000713333 0.00072 0.00072 0.000746667 0.000746667 0.000746667 0.00074 0.000713333 +0.000706667 0.000686667 0.000686667 0.000686667 0.000713333 0.000706667 0.0007 0.00072 +0.00072 0.000706667 0.0007 0.000686667 0.00072 0.000726667 0.00072 0.0007 +0.000713333 0.00074 0.000733333 0.000726667 0.000726667 0.00072 0.000706667 0.00068 +0.000666667 0.000686667 0.000713333 0.00072 0.00072 0.00072 0.000746667 0.00078 +0.000773333 0.000766667 0.000766667 0.00074 0.000733333 0.00074 0.000766667 0.000786667 +0.000773333 0.00084 0.23872 0.308773 0.287947 0.23304 0.269013 0.32392 +0.359893 0.521474 0.704632 0.912421 0.993714 0.990449 0.972421 0.956632 +0.952842 0.954737 0.959789 0.975579 0.991755 1.00416 1.0182 1.05151 +1.09956 1.04041 1.01233 1.00057 0.99698 0.998286 1.0009 1.0058 +1.01037 1.01265 1.01461 1.01657 1.02245 1.0329 1.04041 1.02114 +0.909895 0.689474 0.525895 0.3864 0.333387 0.31256 0.31256 0.31824 +0.3296 0.356107 0.376933 0.38072 0.365573 0.361787 0.376933 0.333387 +0.286053 0.27848 0.28416 0.28984 0.308773 0.32392 0.31256 0.314453 +0.32392 0.304987 0.304987 0.31256 0.304987 0.299307 0.303093 0.320133 +0.388293 0.507579 0.543579 0.545474 0.517684 0.42048 0.32392 0.293627 +0.303093 0.34096 0.395867 0.492427 0.515158 0.4716 0.39776 0.361787 +0.337173 0.33528 0.322027 0.310667 0.30688 0.316347 0.331493 0.376933 +0.501895 0.544211 0.533474 0.506316 0.486747 0.452667 0.407227 0.354213 +0.316347 0.303093 0.303093 0.293627 0.287947 0.304987 0.30688 0.30688 +0.314453 0.35232 0.424267 0.439413 0.416693 0.37504 0.31824 0.282267 +0.282267 0.286053 0.287947 0.297413 0.299307 0.27848 0.263333 0.242507 +0.223573 0.000993333 0.000973333 0.00094 0.000946667 0.00094 0.000966667 0.000986667 +0.000933333 0.000893333 0.000926667 0.000973333 0.27848 0.441307 0.605474 0.789263 +0.944632 1.00024 1.01233 1.01624 1.01984 1.0218 1.0218 1.02343 +1.02539 1.02539 1.02245 1.01984 1.02049 1.02278 1.0231 1.02343 +1.02408 1.02441 1.02343 1.02343 1.02376 1.02049 1.01755 1.01494 +1.01396 1.01461 1.01396 1.01331 1.01461 1.01657 1.02212 1.02833 +1.03322 1.03551 1.03714 1.03845 1.03812 1.03682 1.03682 1.03453 +1.03257 1.0329 1.03486 1.03714 1.03812 1.03486 1.03649 1.03747 +1.03551 1.03845 1.04008 1.04041 1.04171 1.03845 1.03747 1.0391 +1.04171 1.04269 1.04302 1.04269 1.04008 1.04106 1.04269 1.04269 +1.04073 1.04041 1.04237 1.04269 1.04367 1.04237 1.04171 1.04106 +1.04171 1.04106 1.04204 1.03976 1.03976 1.04139 1.04106 1.03812 +1.03584 1.03649 1.03616 1.0342 1.03649 1.03682 1.0378 1.03649 +1.03453 1.03584 1.03682 1.04106 1.0391 1.03878 1.04139 1.03812 +1.03486 1.03518 1.03486 1.03682 1.0391 1.03518 1.0329 1.0342 +1.03159 1.02898 1.02865 1.02637 1.028 1.02767 1.02571 1.02473 +1.01755 1.01363 1.01363 1.01037 1.00318 1.00122 1.0009 0.998939 +0.998939 0.997959 0.999592 0.99698 0.989796 0.976842 0.938316 0.889053 +0.830947 0.764 0.690105 0.621895 0.564421 0.524632 0.486747 0.435627 +0.435627 0.433733 0.395867 0.348533 0.333387 0.356107 0.365573 0.36936 +0.35232 0.327707 0.310667 0.3012 0.299307 0.31824 0.3296 0.327707 +0.32392 0.327707 0.34096 0.350427 0.359893 0.373147 0.4432 0.546105 +0.598526 0.561263 0.456453 0.348533 0.331493 0.32392 0.337173 0.348533 +0.337173 0.325813 0.339067 0.365573 0.354213 0.325813 0.32392 0.34096 +0.36368 0.384507 0.36936 0.3296 0.316347 0.31824 0.30688 0.297413 +0.310667 0.344747 0.358 0.33528 0.325813 0.337173 0.36368 0.395867 +0.502526 0.605474 0.762105 0.892211 0.965474 1.00808 1.03812 1.03453 +1.0169 1.01559 1.02376 1.03486 1.04171 1.0342 1.02212 1.01657 +1.01461 1.01363 1.01102 0.998939 0.986204 0.974316 0.966105 0.966737 +0.969895 0.974947 0.988163 0.987837 0.896 0.702105 0.529053 0.344747 +0.31256 0.344747 0.308773 0.223573 0.000886667 0.000866667 0.00086 0.000833333 +0.0008 0.000793333 0.00078 0.000786667 0.000786667 0.000773333 0.000786667 0.00078 +0.000766667 0.000766667 0.000726667 0.00072 0.000746667 0.000746667 0.000713333 0.000726667 +0.000726667 0.00072 0.000733333 0.00074 0.000726667 0.000726667 0.00072 0.000733333 +0.000746667 0.00074 0.000746667 0.000746667 0.00076 0.000733333 0.000733333 0.000746667 +0.000766667 0.000766667 0.00076 0.000733333 0.000713333 0.000726667 0.000753333 0.000773333 +0.000753333 0.000733333 0.00074 0.000713333 0.0007 0.000726667 0.000733333 0.000766667 +0.000766667 0.00076 0.00074 0.000746667 0.000726667 0.00072 0.00072 0.000713333 +0.0007 0.000686667 0.000686667 0.0007 0.0007 0.0007 0.000713333 0.000713333 +0.00072 0.000726667 0.000713333 0.000726667 0.00074 0.000733333 0.00072 0.00072 +0.00068 0.000693333 0.000706667 0.000713333 0.000726667 0.00072 0.00072 0.00072 +0.000713333 0.000693333 0.000706667 0.00072 0.00072 0.000726667 0.00072 0.000713333 +0.000706667 0.0007 0.00068 0.000706667 0.00074 0.000733333 0.000726667 0.00072 +0.000686667 0.000686667 0.00068 0.00068 0.000713333 0.000726667 0.000713333 0.000713333 +0.00072 0.000733333 0.000726667 0.0007 0.000706667 0.000706667 0.000706667 0.000693333 +0.00068 0.000686667 0.000713333 0.00074 0.000753333 0.000746667 0.00072 0.000726667 +0.000706667 0.000693333 0.0007 0.000713333 0.0007 0.000686667 0.0007 0.000726667 +0.000726667 0.00074 0.000773333 0.000766667 0.000753333 0.000733333 0.000753333 0.000746667 +0.000753333 0.000906667 0.280373 0.314453 0.253867 0.223573 0.286053 0.322027 +0.42048 0.608632 0.830316 0.982286 0.996 0.982939 0.963579 0.956 +0.956632 0.959789 0.968 0.983265 0.998612 1.01037 1.03127 1.08739 +1.06609 1.02735 1.00841 0.999265 0.995347 0.995673 0.998939 1.00253 +1.00482 1.00743 1.01298 1.01559 1.02343 1.0342 1.02049 0.922526 +0.713474 0.542947 0.401547 0.342853 0.316347 0.303093 0.3012 0.316347 +0.34096 0.354213 0.361787 0.378827 0.390187 0.399653 0.388293 0.3296 +0.28416 0.276587 0.28416 0.303093 0.320133 0.32392 0.325813 0.344747 +0.320133 0.28984 0.291733 0.316347 0.320133 0.320133 0.31256 0.31256 +0.354213 0.42616 0.503789 0.530316 0.534105 0.506947 0.405333 0.31824 +0.303093 0.337173 0.407227 0.513895 0.530947 0.490533 0.399653 0.348533 +0.314453 0.299307 0.293627 0.29552 0.291733 0.29552 0.320133 0.354213 +0.44888 0.533474 0.556842 0.537895 0.501263 0.422373 0.371253 0.3296 +0.314453 0.314453 0.303093 0.297413 0.303093 0.304987 0.297413 0.303093 +0.333387 0.4148 0.508842 0.510737 0.467813 0.382613 0.320133 0.286053 +0.265227 0.25576 0.257653 0.265227 0.257653 0.251973 0.25008 0.242507 +0.229253 0.22736 0.000993333 0.000946667 0.000946667 0.00098 0.225467 0.225467 +0.00092 0.000866667 0.000933333 0.246293 0.412907 0.591579 0.776 0.935789 +0.999265 1.01494 1.0182 1.01918 1.02016 1.02212 1.02245 1.0231 +1.02408 1.0231 1.01918 1.01657 1.01722 1.01657 1.01722 1.02049 +1.0231 1.02539 1.02441 1.02278 1.02408 1.02408 1.02212 1.02049 +1.02049 1.02114 1.01984 1.01657 1.01527 1.01853 1.02441 1.03127 +1.03616 1.03649 1.03486 1.03682 1.03845 1.03649 1.03453 1.03388 +1.03094 1.03388 1.0342 1.03322 1.03551 1.03518 1.03714 1.03747 +1.03649 1.03845 1.03943 1.03943 1.04106 1.0391 1.0378 1.04008 +1.04139 1.04367 1.04498 1.04204 1.03943 1.04171 1.04171 1.04106 +1.04139 1.04073 1.03976 1.04041 1.04171 1.04302 1.04302 1.04106 +1.04204 1.04171 1.04073 1.0391 1.03943 1.04106 1.04171 1.03878 +1.03518 1.0342 1.03322 1.03192 1.03518 1.03682 1.03747 1.03486 +1.03388 1.0342 1.03845 1.04465 1.04008 1.0391 1.04171 1.03747 +1.03616 1.03649 1.03388 1.03616 1.0391 1.0342 1.03224 1.03257 +1.02996 1.028 1.02833 1.02865 1.02996 1.02865 1.02702 1.02539 +1.02049 1.02049 1.02114 1.01559 1.01135 1.01167 1.012 1.01102 +1.00906 1.01004 1.012 1.00939 1.00449 0.993061 0.973053 0.935158 +0.884632 0.824 0.758947 0.684421 0.614947 0.566947 0.529684 0.507579 +0.498107 0.445093 0.388293 0.34664 0.34096 0.36368 0.348533 0.333387 +0.316347 0.3012 0.299307 0.293627 0.28416 0.28984 0.297413 0.297413 +0.310667 0.320133 0.31256 0.304987 0.304987 0.34664 0.500632 0.604211 +0.683158 0.634526 0.516421 0.361787 0.339067 0.350427 0.367467 0.395867 +0.405333 0.405333 0.43184 0.450773 0.422373 0.378827 0.373147 0.429947 +0.48296 0.490533 0.446987 0.390187 0.354213 0.342853 0.333387 0.3296 +0.342853 0.36936 0.365573 0.339067 0.339067 0.34096 0.35232 0.371253 +0.42048 0.527789 0.651579 0.806947 0.918737 0.990776 1.03159 1.04041 +1.02082 1.01167 1.01722 1.028 1.03943 1.0391 1.02996 1.02114 +1.01722 1.01592 1.01527 1.00743 0.997959 0.988163 0.977474 0.967368 +0.961053 0.957895 0.974947 0.990776 0.978737 0.846737 0.649684 0.500632 +0.32392 0.327707 0.339067 0.2728 0.00094 0.00086 0.00088 0.000833333 +0.000786667 0.000786667 0.000786667 0.000793333 0.000793333 0.00076 0.00076 0.00076 +0.000786667 0.000786667 0.00074 0.000733333 0.000726667 0.000726667 0.000726667 0.00074 +0.000726667 0.00072 0.00074 0.000746667 0.000733333 0.000726667 0.000733333 0.000733333 +0.000746667 0.000773333 0.000766667 0.000746667 0.000733333 0.00072 0.00074 0.000753333 +0.000753333 0.000746667 0.000746667 0.000733333 0.00074 0.000753333 0.000766667 0.00078 +0.00076 0.00074 0.00074 0.000713333 0.000726667 0.000753333 0.000766667 0.000773333 +0.000766667 0.000753333 0.000746667 0.00076 0.000713333 0.000726667 0.00072 0.0007 +0.00072 0.000726667 0.00072 0.000713333 0.00072 0.000726667 0.000713333 0.000726667 +0.000733333 0.000726667 0.000733333 0.00074 0.000726667 0.000726667 0.00074 0.000726667 +0.000713333 0.000713333 0.000706667 0.0007 0.00072 0.000733333 0.000706667 0.000726667 +0.00072 0.00072 0.000706667 0.0007 0.000686667 0.000686667 0.000706667 0.000713333 +0.000726667 0.0007 0.000673333 0.000693333 0.000713333 0.00072 0.00072 0.000733333 +0.00072 0.00072 0.00074 0.00072 0.000706667 0.000706667 0.0007 0.00072 +0.000746667 0.00074 0.000726667 0.000706667 0.000693333 0.0007 0.000713333 0.000713333 +0.00072 0.000686667 0.000686667 0.00072 0.000746667 0.000733333 0.000726667 0.000753333 +0.00074 0.000726667 0.00074 0.000753333 0.000733333 0.00072 0.000713333 0.000733333 +0.00072 0.00072 0.00076 0.000786667 0.000786667 0.000766667 0.00076 0.000746667 +0.000806667 0.229253 0.299307 0.28416 0.23304 0.242507 0.3012 0.350427 +0.528421 0.723579 0.928842 0.996 0.992082 0.974947 0.956632 0.952211 +0.958526 0.967368 0.978737 0.98849 1.00155 1.01494 1.04563 1.11782 +1.05086 1.02114 1.00906 1.00318 0.998939 0.996653 0.998286 1.00253 +1.00416 1.00906 1.01624 1.02245 1.03388 1.02114 0.925684 0.718526 +0.553684 0.439413 0.36936 0.34096 0.322027 0.314453 0.308773 0.31256 +0.31824 0.308773 0.31256 0.339067 0.373147 0.405333 0.399653 0.331493 +0.28416 0.27848 0.28984 0.297413 0.308773 0.333387 0.350427 0.344747 +0.310667 0.286053 0.3012 0.322027 0.325813 0.322027 0.320133 0.31824 +0.333387 0.354213 0.412907 0.501895 0.526526 0.530947 0.507579 0.407227 +0.339067 0.350427 0.445093 0.534105 0.537263 0.458347 0.358 0.320133 +0.3012 0.287947 0.286053 0.293627 0.287947 0.299307 0.314453 0.320133 +0.38072 0.508211 0.553684 0.546105 0.46592 0.356107 0.331493 0.320133 +0.314453 0.31824 0.314453 0.314453 0.320133 0.314453 0.303093 0.310667 +0.395867 0.525263 0.562526 0.536 0.458347 0.361787 0.322027 0.303093 +0.280373 0.263333 0.2728 0.286053 0.27848 0.276587 0.270907 0.263333 +0.263333 0.263333 0.251973 0.2444 0.259547 0.291733 0.297413 0.259547 +0.216 0.217893 0.253867 0.361787 0.572 0.757684 0.923158 0.994694 +1.01167 1.01984 1.02016 1.0218 1.02376 1.0231 1.0218 1.0218 +1.02245 1.02082 1.01918 1.01755 1.0182 1.0169 1.01592 1.01657 +1.01853 1.02082 1.02016 1.01853 1.02016 1.02278 1.0231 1.02473 +1.02539 1.02441 1.0218 1.01886 1.01853 1.02082 1.02637 1.03061 +1.03453 1.03453 1.03192 1.03224 1.03518 1.0342 1.03257 1.03355 +1.03192 1.03192 1.03388 1.0342 1.03584 1.03551 1.03584 1.03616 +1.03682 1.03845 1.03812 1.03714 1.04041 1.04139 1.03812 1.04008 +1.04204 1.04367 1.04563 1.04204 1.04106 1.04302 1.04302 1.04269 +1.04302 1.04204 1.04106 1.04041 1.04073 1.04041 1.04073 1.04171 +1.04302 1.04106 1.04041 1.04139 1.03976 1.04171 1.04367 1.03878 +1.03486 1.0329 1.03192 1.0329 1.03453 1.03453 1.03714 1.03584 +1.0342 1.0329 1.03747 1.04171 1.03976 1.04106 1.04073 1.03682 +1.03649 1.03551 1.03322 1.03714 1.03714 1.03224 1.03224 1.0342 +1.03192 1.02931 1.02898 1.02865 1.02996 1.03061 1.03094 1.02898 +1.02637 1.02702 1.02637 1.02114 1.01755 1.01592 1.0169 1.01722 +1.01396 1.01363 1.01331 1.01037 1.00645 0.999265 0.990776 0.973053 +0.929474 0.877684 0.820842 0.753895 0.684421 0.625053 0.574526 0.548632 +0.528421 0.473493 0.384507 0.348533 0.350427 0.354213 0.337173 0.308773 +0.310667 0.327707 0.34096 0.32392 0.291733 0.28416 0.2728 0.27848 +0.29552 0.297413 0.293627 0.28984 0.287947 0.32392 0.502526 0.637684 +0.748211 0.695789 0.549895 0.40344 0.37504 0.40344 0.433733 0.5 +0.509474 0.510105 0.522105 0.534737 0.533474 0.522105 0.517684 0.527158 +0.532842 0.520211 0.501895 0.45456 0.42616 0.405333 0.401547 0.412907 +0.418587 0.4148 0.390187 0.361787 0.356107 0.337173 0.34096 0.35232 +0.37504 0.45456 0.564421 0.714737 0.860632 0.957263 1.01624 1.04498 +1.02898 1.01004 1.01037 1.01984 1.03322 1.04171 1.0391 1.02833 +1.02016 1.01559 1.01494 1.01298 1.0071 0.997959 0.985551 0.970526 +0.956632 0.949684 0.958526 0.980653 0.990776 0.956632 0.800632 0.605474 +0.42616 0.308773 0.333387 0.327707 0.248187 0.000886667 0.000853333 0.000826667 +0.000773333 0.000773333 0.000773333 0.000786667 0.00078 0.000753333 0.000773333 0.00078 +0.000806667 0.00078 0.000746667 0.000733333 0.000733333 0.000733333 0.000726667 0.000753333 +0.000746667 0.00074 0.00074 0.000753333 0.000746667 0.000753333 0.000733333 0.000733333 +0.000773333 0.000786667 0.000746667 0.000726667 0.00072 0.00074 0.000773333 0.00076 +0.000733333 0.00074 0.000746667 0.00074 0.00074 0.000746667 0.000773333 0.000773333 +0.000746667 0.00076 0.000746667 0.000726667 0.00074 0.000746667 0.000766667 0.000753333 +0.00074 0.000733333 0.000733333 0.00076 0.0007 0.00072 0.000713333 0.000706667 +0.000726667 0.000713333 0.00072 0.000706667 0.0007 0.000713333 0.000706667 0.000713333 +0.000706667 0.000706667 0.000713333 0.000746667 0.000753333 0.00072 0.000733333 0.000746667 +0.000733333 0.000733333 0.000733333 0.0007 0.0007 0.000713333 0.000706667 0.000713333 +0.000726667 0.000733333 0.000713333 0.0007 0.000693333 0.00068 0.00068 0.00068 +0.000693333 0.000706667 0.0007 0.000706667 0.00072 0.00072 0.000733333 0.000733333 +0.000726667 0.000733333 0.000753333 0.00076 0.000726667 0.0007 0.00068 0.000693333 +0.000726667 0.000726667 0.000733333 0.000726667 0.000726667 0.00072 0.000706667 0.000706667 +0.0007 0.0007 0.00068 0.0007 0.000726667 0.000706667 0.0007 0.000713333 +0.000706667 0.00072 0.000746667 0.00074 0.000746667 0.000753333 0.000746667 0.000753333 +0.00076 0.000766667 0.000773333 0.00076 0.00078 0.000793333 0.000773333 0.00078 +0.00094 0.286053 0.3012 0.2444 0.231147 0.276587 0.327707 0.43752 +0.621263 0.844842 0.984571 0.994041 0.983592 0.964842 0.952842 0.950947 +0.958526 0.973053 0.984571 0.992408 1.00286 1.02147 1.05837 1.09804 +1.0378 1.01559 1.01004 1.00678 1.00188 0.997306 0.998286 1.00351 +1.0071 1.01494 1.02539 1.03453 1.02539 0.936421 0.722316 0.551158 +0.441307 0.388293 0.365573 0.344747 0.325813 0.316347 0.310667 0.297413 +0.286053 0.274693 0.280373 0.3012 0.333387 0.373147 0.393973 0.34664 +0.28416 0.276587 0.28416 0.287947 0.30688 0.333387 0.3296 0.322027 +0.297413 0.303093 0.325813 0.327707 0.30688 0.293627 0.3012 0.303093 +0.31256 0.34096 0.395867 0.435627 0.486747 0.520211 0.529684 0.511368 +0.44888 0.428053 0.508211 0.547368 0.532211 0.439413 0.365573 0.348533 +0.339067 0.320133 0.30688 0.316347 0.31824 0.310667 0.303093 0.299307 +0.34096 0.456453 0.537895 0.551789 0.49432 0.34664 0.308773 0.308773 +0.310667 0.303093 0.30688 0.31824 0.31824 0.322027 0.344747 0.42048 +0.533474 0.598526 0.601684 0.535368 0.4148 0.3296 0.314453 0.31256 +0.304987 0.293627 0.314453 0.333387 0.320133 0.31824 0.29552 0.280373 +0.282267 0.286053 0.308773 0.339067 0.36936 0.384507 0.34664 0.28416 +0.270907 0.308773 0.40344 0.554947 0.746316 0.92 0.993061 1.01233 +1.01918 1.02114 1.01918 1.02049 1.02343 1.02473 1.02408 1.02441 +1.02637 1.02735 1.02702 1.02441 1.02278 1.02114 1.01853 1.01624 +1.01494 1.01592 1.01494 1.01167 1.01265 1.01559 1.01755 1.01984 +1.02016 1.01918 1.01755 1.01494 1.0169 1.0218 1.02833 1.03127 +1.03224 1.03518 1.03322 1.03029 1.03159 1.03224 1.03159 1.0329 +1.0329 1.03159 1.03551 1.03649 1.03551 1.03322 1.03388 1.03714 +1.04008 1.04008 1.0391 1.03845 1.03976 1.04041 1.03812 1.04073 +1.04367 1.044 1.044 1.03976 1.04008 1.04367 1.04269 1.04302 +1.04302 1.04237 1.04269 1.04204 1.04335 1.04204 1.04073 1.03976 +1.03878 1.0378 1.03845 1.04008 1.0378 1.04073 1.04106 1.03682 +1.03714 1.03486 1.03224 1.03322 1.03518 1.03551 1.03747 1.03714 +1.03616 1.0342 1.03714 1.03812 1.0378 1.04008 1.0378 1.03649 +1.03518 1.0329 1.03388 1.03551 1.03355 1.03029 1.03159 1.03224 +1.03061 1.03127 1.03192 1.0329 1.03355 1.0329 1.03224 1.03224 +1.03029 1.03029 1.02898 1.02441 1.02212 1.02016 1.02114 1.02016 +1.01657 1.01788 1.0169 1.01331 1.01069 1.00873 1.00384 0.992082 +0.972421 0.933895 0.882737 0.825263 0.762105 0.693895 0.635158 0.608 +0.581474 0.520211 0.405333 0.350427 0.34664 0.339067 0.322027 0.30688 +0.31256 0.34664 0.378827 0.361787 0.32392 0.291733 0.276587 0.27848 +0.282267 0.282267 0.287947 0.28984 0.293627 0.316347 0.46024 0.610526 +0.720421 0.683789 0.562526 0.458347 0.411013 0.450773 0.506947 0.533474 +0.537263 0.525895 0.530316 0.549263 0.566947 0.572 0.558737 0.538526 +0.517684 0.5 0.46024 0.445093 0.439413 0.43752 0.45456 0.503158 +0.510737 0.48864 0.43184 0.390187 0.376933 0.359893 0.34096 0.344747 +0.367467 0.4148 0.512632 0.621895 0.779158 0.905474 0.997959 1.04596 +1.04139 1.01331 1.00547 1.01298 1.02702 1.03943 1.04433 1.03682 +1.02506 1.01755 1.01559 1.01624 1.01298 1.0058 0.99502 0.982286 +0.964842 0.951579 0.949684 0.963579 0.987184 0.993714 0.92821 0.744421 +0.554316 0.365573 0.325813 0.359893 0.308773 0.00098 0.000853333 0.000833333 +0.000806667 0.000766667 0.000753333 0.000753333 0.000766667 0.00078 0.000786667 0.000786667 +0.000793333 0.00078 0.000753333 0.00074 0.00074 0.00072 0.00074 0.00076 +0.000753333 0.000746667 0.00074 0.000746667 0.000746667 0.000753333 0.00076 0.00076 +0.00076 0.00074 0.000706667 0.00072 0.000733333 0.000733333 0.00074 0.00074 +0.000746667 0.000766667 0.000753333 0.000726667 0.000733333 0.000746667 0.000753333 0.00074 +0.000733333 0.000753333 0.000733333 0.0007 0.000706667 0.00072 0.000766667 0.000746667 +0.00074 0.00074 0.00072 0.00074 0.000733333 0.000726667 0.000713333 0.000733333 +0.000753333 0.000726667 0.000713333 0.000726667 0.000713333 0.000693333 0.000693333 0.000726667 +0.000726667 0.000706667 0.0007 0.00072 0.000746667 0.000753333 0.00074 0.000713333 +0.000706667 0.000713333 0.000713333 0.000713333 0.0007 0.0007 0.000686667 0.0007 +0.000726667 0.000726667 0.000706667 0.000713333 0.000706667 0.000706667 0.000726667 0.0007 +0.000686667 0.00068 0.0007 0.000706667 0.000713333 0.000726667 0.000713333 0.000733333 +0.000706667 0.000693333 0.0007 0.000713333 0.000713333 0.000726667 0.0007 0.00068 +0.0007 0.0007 0.000713333 0.000706667 0.000706667 0.000726667 0.000726667 0.000726667 +0.00072 0.00072 0.00072 0.00072 0.000726667 0.000726667 0.00074 0.000726667 +0.0007 0.00072 0.000746667 0.000753333 0.000746667 0.000753333 0.00076 0.00076 +0.000746667 0.00076 0.000766667 0.000753333 0.00076 0.000766667 0.00076 0.000826667 +0.25008 0.3296 0.28416 0.225467 0.25008 0.299307 0.348533 0.531579 +0.735579 0.940211 0.996 0.986857 0.968632 0.956 0.951579 0.951579 +0.962316 0.979368 0.988816 0.995673 1.00449 1.03192 1.10413 1.07217 +1.02963 1.012 1.00678 1.00678 1.00416 0.998612 0.999265 1.00482 +1.01004 1.0231 1.03747 1.02865 0.952211 0.738105 0.557474 0.433733 +0.371253 0.354213 0.344747 0.33528 0.320133 0.30688 0.303093 0.291733 +0.282267 0.27848 0.286053 0.293627 0.308773 0.337173 0.367467 0.344747 +0.297413 0.286053 0.287947 0.29552 0.31256 0.3296 0.325813 0.316347 +0.310667 0.327707 0.337173 0.331493 0.30688 0.282267 0.282267 0.297413 +0.3296 0.378827 0.40344 0.373147 0.376933 0.456453 0.519579 0.539158 +0.534737 0.527158 0.541053 0.549263 0.512 0.40344 0.358 0.354213 +0.348533 0.344747 0.34664 0.350427 0.34096 0.32392 0.308773 0.303093 +0.327707 0.412907 0.514526 0.547368 0.517684 0.3864 0.31256 0.3012 +0.291733 0.280373 0.28984 0.30688 0.304987 0.333387 0.45456 0.557474 +0.628842 0.640211 0.580211 0.496213 0.350427 0.310667 0.310667 0.322027 +0.320133 0.3296 0.36368 0.367467 0.339067 0.310667 0.28416 0.282267 +0.29552 0.3012 0.322027 0.34096 0.348533 0.34096 0.314453 0.286053 +0.308773 0.39776 0.530316 0.697684 0.914316 1.00155 1.01592 1.02571 +1.02506 1.02082 1.0218 1.02408 1.02571 1.028 1.02833 1.02833 +1.02931 1.03127 1.03257 1.03094 1.02865 1.02637 1.02147 1.01788 +1.01429 1.01429 1.01429 1.01004 1.00873 1.00808 1.00841 1.01069 +1.01167 1.01135 1.01265 1.01298 1.01527 1.02016 1.02767 1.03192 +1.03159 1.03257 1.02996 1.028 1.02931 1.0329 1.03257 1.03192 +1.0329 1.03322 1.03616 1.03682 1.03551 1.03224 1.03388 1.04008 +1.04335 1.04106 1.04073 1.03976 1.03943 1.03976 1.0378 1.04269 +1.04661 1.04531 1.04269 1.03976 1.04237 1.04498 1.04269 1.04106 +1.03976 1.04073 1.044 1.04498 1.04367 1.04367 1.04171 1.03976 +1.03976 1.03976 1.03812 1.03714 1.03812 1.04073 1.03812 1.03551 +1.03714 1.03551 1.03322 1.0342 1.03551 1.03518 1.03453 1.03322 +1.0342 1.03551 1.0391 1.03747 1.03616 1.0378 1.03551 1.03518 +1.03453 1.03192 1.03355 1.03355 1.03224 1.03061 1.03127 1.03094 +1.03029 1.03127 1.0342 1.03388 1.03453 1.03649 1.03616 1.03551 +1.03388 1.03453 1.03257 1.02833 1.02735 1.02571 1.02506 1.0231 +1.0218 1.02147 1.02016 1.01853 1.01624 1.01657 1.01429 1.0058 +0.99502 0.981633 0.943368 0.897895 0.841053 0.774105 0.719789 0.693895 +0.656632 0.565053 0.464027 0.378827 0.367467 0.367467 0.339067 0.299307 +0.293627 0.322027 0.359893 0.344747 0.308773 0.282267 0.282267 0.286053 +0.28416 0.293627 0.28984 0.280373 0.286053 0.310667 0.393973 0.536632 +0.612421 0.608632 0.537895 0.43752 0.378827 0.429947 0.510105 0.537263 +0.536632 0.510105 0.481067 0.496213 0.521474 0.548 0.539789 0.506316 +0.441307 0.40912 0.393973 0.367467 0.354213 0.373147 0.411013 0.475387 +0.502526 0.484853 0.44888 0.407227 0.38072 0.365573 0.34664 0.350427 +0.378827 0.390187 0.439413 0.544842 0.682526 0.837895 0.969895 1.03943 +1.0538 1.02212 1.00416 1.0058 1.01788 1.03518 1.04694 1.044 +1.03224 1.02343 1.0182 1.01559 1.01396 1.01265 1.00645 0.994041 +0.979368 0.962947 0.955368 0.957895 0.98 0.995347 0.989143 0.879579 +0.68 0.515158 0.34096 0.333387 0.337173 0.263333 0.000946667 0.00088 +0.00084 0.0008 0.0008 0.00078 0.000773333 0.000786667 0.000786667 0.000793333 +0.000793333 0.000773333 0.000746667 0.000753333 0.00074 0.00072 0.000733333 0.000726667 +0.000726667 0.000746667 0.000746667 0.00074 0.000746667 0.000753333 0.000746667 0.00072 +0.00072 0.000726667 0.00072 0.000726667 0.00074 0.000746667 0.00074 0.000753333 +0.000766667 0.000773333 0.00076 0.00074 0.000753333 0.000746667 0.000746667 0.000746667 +0.000733333 0.000726667 0.000693333 0.0007 0.000706667 0.000733333 0.000746667 0.000726667 +0.000726667 0.000713333 0.0007 0.000713333 0.0007 0.000713333 0.000706667 0.000713333 +0.00074 0.000733333 0.000713333 0.00072 0.000706667 0.000713333 0.0007 0.000706667 +0.000713333 0.000713333 0.000693333 0.000686667 0.000693333 0.000706667 0.00072 0.000726667 +0.000726667 0.000726667 0.000706667 0.000713333 0.000713333 0.000693333 0.000693333 0.000686667 +0.00072 0.000713333 0.000706667 0.00072 0.000706667 0.0007 0.00072 0.000726667 +0.00072 0.000726667 0.000726667 0.000713333 0.000713333 0.00072 0.000706667 0.000706667 +0.000713333 0.000693333 0.000706667 0.0007 0.000693333 0.000706667 0.00072 0.000706667 +0.0007 0.000706667 0.00072 0.000706667 0.000693333 0.000713333 0.000726667 0.000733333 +0.000733333 0.00072 0.000706667 0.00072 0.000726667 0.00074 0.000746667 0.00074 +0.000693333 0.000686667 0.0007 0.00074 0.000766667 0.000773333 0.000773333 0.00078 +0.000753333 0.000733333 0.000753333 0.00076 0.000773333 0.000793333 0.00082 0.000973333 +0.299307 0.31824 0.246293 0.229253 0.276587 0.31824 0.42616 0.625053 +0.854947 0.98849 0.995347 0.98 0.957895 0.949053 0.950316 0.954737 +0.969263 0.985224 0.993061 0.998286 1.00841 1.04269 1.10565 1.05086 +1.02278 1.00873 1.00286 1.00514 1.00514 0.999918 0.999592 1.00547 +1.0169 1.03714 1.03682 0.973053 0.762105 0.573895 0.456453 0.376933 +0.344747 0.333387 0.339067 0.34096 0.333387 0.32392 0.308773 0.304987 +0.308773 0.314453 0.316347 0.303093 0.3012 0.325813 0.356107 0.365573 +0.354213 0.331493 0.308773 0.308773 0.32392 0.333387 0.31824 0.314453 +0.320133 0.322027 0.314453 0.314453 0.303093 0.280373 0.282267 0.31256 +0.35232 0.376933 0.358 0.316347 0.31824 0.361787 0.450773 0.525895 +0.558737 0.572632 0.573263 0.548 0.48296 0.354213 0.32392 0.325813 +0.32392 0.325813 0.33528 0.344747 0.342853 0.331493 0.31824 0.303093 +0.3012 0.350427 0.441307 0.524 0.524632 0.44888 0.348533 0.308773 +0.286053 0.270907 0.26712 0.282267 0.31824 0.435627 0.556211 0.646526 +0.680632 0.625053 0.528421 0.388293 0.32392 0.3012 0.314453 0.327707 +0.339067 0.37504 0.393973 0.354213 0.320133 0.291733 0.276587 0.28416 +0.3012 0.310667 0.299307 0.280373 0.276587 0.286053 0.293627 0.3012 +0.348533 0.481067 0.620632 0.837263 0.996653 1.02833 1.03257 1.03257 +1.02735 1.02376 1.028 1.03061 1.02963 1.02931 1.02931 1.02865 +1.02833 1.03159 1.0342 1.03486 1.03388 1.03322 1.028 1.02147 +1.01853 1.0169 1.0169 1.01331 1.01102 1.00776 1.00547 1.00547 +1.00873 1.0071 1.0071 1.01037 1.01429 1.01951 1.02441 1.02931 +1.02931 1.02833 1.02441 1.02473 1.02767 1.03224 1.03127 1.02898 +1.03257 1.03453 1.03551 1.03584 1.03878 1.03845 1.03878 1.04106 +1.04139 1.03976 1.04073 1.03976 1.04008 1.04008 1.0378 1.04302 +1.04824 1.04727 1.04498 1.04269 1.044 1.044 1.04433 1.04367 +1.04106 1.0391 1.04073 1.04269 1.04204 1.04073 1.03747 1.03878 +1.04073 1.04269 1.04204 1.0378 1.03878 1.04171 1.03845 1.03649 +1.03453 1.03486 1.03584 1.03747 1.03584 1.03355 1.03257 1.03224 +1.03388 1.03486 1.03682 1.03584 1.03584 1.0378 1.03649 1.03453 +1.03355 1.03159 1.03257 1.03224 1.02963 1.03029 1.03061 1.03029 +1.03094 1.03127 1.03159 1.03094 1.03551 1.0378 1.0378 1.03878 +1.03747 1.03682 1.03486 1.03094 1.03029 1.02898 1.02767 1.028 +1.02669 1.02245 1.0218 1.02245 1.02114 1.02147 1.01886 1.01265 +1.00678 0.998612 0.984898 0.957263 0.910526 0.852421 0.801895 0.770316 +0.719789 0.610526 0.517053 0.42616 0.3864 0.378827 0.34096 0.299307 +0.28984 0.310667 0.308773 0.286053 0.270907 0.269013 0.276587 0.282267 +0.28984 0.297413 0.287947 0.276587 0.282267 0.304987 0.337173 0.418587 +0.515158 0.529684 0.496213 0.390187 0.348533 0.39208 0.496213 0.539158 +0.546737 0.504421 0.395867 0.367467 0.416693 0.506316 0.517053 0.4716 +0.395867 0.37504 0.365573 0.320133 0.3012 0.308773 0.331493 0.358 +0.388293 0.401547 0.40912 0.393973 0.361787 0.34096 0.331493 0.342853 +0.367467 0.36936 0.390187 0.490533 0.589684 0.743158 0.902316 1.02082 +1.06456 1.03551 1.00547 1.0009 1.01102 1.02963 1.04694 1.05151 +1.04237 1.03061 1.02147 1.01624 1.01461 1.01559 1.01265 1.00384 +0.989796 0.978737 0.967368 0.959789 0.968632 0.985878 0.995673 0.972421 +0.818947 0.613684 0.435627 0.31824 0.337173 0.322027 0.246293 0.000906667 +0.000846667 0.00082 0.000806667 0.00078 0.00078 0.000806667 0.00082 0.00082 +0.000786667 0.00076 0.000753333 0.000766667 0.00074 0.000733333 0.00076 0.000746667 +0.00074 0.000733333 0.00072 0.000726667 0.000726667 0.000733333 0.000726667 0.000713333 +0.00074 0.000746667 0.000733333 0.00074 0.000746667 0.000753333 0.00074 0.00074 +0.000746667 0.000733333 0.00072 0.000726667 0.000733333 0.000746667 0.00074 0.000726667 +0.0007 0.0007 0.000713333 0.00074 0.000746667 0.00074 0.000713333 0.00072 +0.000713333 0.00072 0.000713333 0.000733333 0.00068 0.000713333 0.000726667 0.000713333 +0.000713333 0.000733333 0.000753333 0.000746667 0.000713333 0.0007 0.00072 0.00072 +0.0007 0.000706667 0.000706667 0.000686667 0.0007 0.00068 0.000673333 0.000713333 +0.000733333 0.000733333 0.000713333 0.000726667 0.00072 0.000706667 0.000713333 0.000726667 +0.00072 0.000706667 0.000706667 0.000713333 0.00072 0.00072 0.000713333 0.000693333 +0.000726667 0.000726667 0.000706667 0.0007 0.0007 0.000713333 0.0007 0.000686667 +0.000693333 0.000693333 0.000713333 0.000726667 0.000713333 0.000713333 0.000713333 0.000726667 +0.000746667 0.000746667 0.00074 0.00074 0.000713333 0.000706667 0.000706667 0.000706667 +0.0007 0.000713333 0.00072 0.00072 0.00074 0.000713333 0.000706667 0.000706667 +0.000693333 0.0007 0.000713333 0.000713333 0.000733333 0.000746667 0.000746667 0.000786667 +0.000793333 0.000766667 0.000773333 0.000786667 0.000786667 0.0008 0.0009 0.265227 +0.32392 0.276587 0.000986667 0.25008 0.308773 0.367467 0.544842 0.755158 +0.951579 0.995347 0.986531 0.968632 0.953474 0.949684 0.953474 0.963579 +0.980653 0.990449 0.996 0.999592 1.01494 1.05053 1.07065 1.03714 +1.01592 1.00416 1.00024 1.00416 1.00482 1.00155 1.00188 1.01167 +1.03388 1.04139 0.988816 0.790526 0.593474 0.4716 0.388293 0.365573 +0.350427 0.348533 0.356107 0.354213 0.354213 0.35232 0.32392 0.310667 +0.33528 0.342853 0.325813 0.293627 0.286053 0.314453 0.356107 0.42048 +0.450773 0.39208 0.320133 0.304987 0.322027 0.322027 0.303093 0.303093 +0.304987 0.29552 0.282267 0.286053 0.28984 0.28984 0.29552 0.322027 +0.339067 0.325813 0.304987 0.30688 0.31256 0.322027 0.36368 0.479173 +0.548632 0.588421 0.591579 0.553053 0.467813 0.327707 0.293627 0.297413 +0.3012 0.3012 0.304987 0.322027 0.344747 0.348533 0.331493 0.316347 +0.304987 0.31824 0.382613 0.498107 0.529684 0.519579 0.429947 0.327707 +0.28984 0.274693 0.26712 0.291733 0.411013 0.549263 0.642105 0.698316 +0.674947 0.591579 0.506947 0.390187 0.342853 0.320133 0.32392 0.325813 +0.33528 0.384507 0.382613 0.32392 0.30688 0.29552 0.291733 0.303093 +0.30688 0.299307 0.280373 0.26144 0.2728 0.28984 0.3012 0.339067 +0.428053 0.568211 0.765895 0.959158 1.01886 1.03551 1.03845 1.03584 +1.03029 1.02767 1.03224 1.03486 1.0329 1.03192 1.03127 1.02898 +1.028 1.02931 1.03192 1.03388 1.03322 1.03322 1.03094 1.02506 +1.0218 1.02016 1.02049 1.0182 1.01559 1.01233 1.00939 1.00841 +1.00971 1.00678 1.00547 1.00776 1.01233 1.01918 1.02408 1.02931 +1.02898 1.02767 1.02637 1.02571 1.02637 1.02996 1.03029 1.02865 +1.03388 1.03714 1.03682 1.03616 1.03747 1.0378 1.03976 1.04367 +1.04302 1.04204 1.04204 1.04008 1.04073 1.04335 1.04204 1.04465 +1.04661 1.04596 1.04498 1.04302 1.04302 1.04367 1.04661 1.04367 +1.04171 1.04139 1.04204 1.04204 1.04106 1.04204 1.03878 1.0391 +1.0391 1.04073 1.04237 1.0391 1.03943 1.04041 1.03845 1.03845 +1.03584 1.03682 1.03551 1.03584 1.03486 1.03453 1.03453 1.03453 +1.03355 1.03127 1.03322 1.03486 1.03616 1.03584 1.03518 1.0329 +1.03127 1.03094 1.03192 1.02931 1.02637 1.02963 1.03159 1.03192 +1.03224 1.03192 1.03257 1.03453 1.03649 1.03747 1.0391 1.0391 +1.03878 1.03682 1.03355 1.02963 1.02898 1.02996 1.02996 1.03029 +1.02833 1.02604 1.02604 1.02506 1.02604 1.02702 1.02245 1.01918 +1.01559 1.00841 0.997959 0.985551 0.950947 0.897895 0.842947 0.804421 +0.753263 0.647158 0.544211 0.450773 0.36936 0.339067 0.30688 0.286053 +0.291733 0.291733 0.276587 0.265227 0.270907 0.259547 0.26144 0.2728 +0.287947 0.293627 0.286053 0.286053 0.28984 0.297413 0.303093 0.320133 +0.3864 0.43752 0.42616 0.39208 0.382613 0.4148 0.49432 0.547368 +0.567579 0.515158 0.378827 0.34096 0.36936 0.450773 0.512 0.49432 +0.382613 0.333387 0.322027 0.297413 0.286053 0.291733 0.299307 0.310667 +0.32392 0.333387 0.356107 0.373147 0.350427 0.322027 0.31256 0.327707 +0.35232 0.36368 0.36936 0.40912 0.520842 0.647158 0.818316 0.988163 +1.0551 1.04792 1.00971 0.998939 1.00612 1.0231 1.044 1.05576 +1.05184 1.04041 1.02833 1.01918 1.01396 1.01494 1.01559 1.01233 +1.00122 0.986857 0.974947 0.960421 0.957263 0.968 0.983592 0.990122 +0.930105 0.748211 0.561263 0.371253 0.314453 0.339067 0.3012 0.22168 +0.000866667 0.000813333 0.000793333 0.000786667 0.00078 0.0008 0.000813333 0.000786667 +0.000753333 0.000746667 0.000746667 0.00076 0.00074 0.000746667 0.000766667 0.000753333 +0.00074 0.000733333 0.000726667 0.000746667 0.000746667 0.000746667 0.000733333 0.00074 +0.00076 0.000753333 0.00074 0.00074 0.000733333 0.000726667 0.000726667 0.00072 +0.000733333 0.000746667 0.00074 0.000746667 0.000753333 0.000733333 0.000713333 0.0007 +0.00072 0.000733333 0.000746667 0.000753333 0.000753333 0.00074 0.000746667 0.00076 +0.00074 0.000733333 0.00072 0.000733333 0.00072 0.000713333 0.000706667 0.000713333 +0.000686667 0.000686667 0.000726667 0.000733333 0.000733333 0.000726667 0.000733333 0.000733333 +0.000726667 0.000733333 0.000733333 0.00072 0.000713333 0.0007 0.00068 0.000686667 +0.000706667 0.000713333 0.000726667 0.00074 0.000746667 0.00074 0.000733333 0.00074 +0.000726667 0.000713333 0.000706667 0.000713333 0.000733333 0.00076 0.00074 0.000706667 +0.000706667 0.000713333 0.0007 0.00072 0.000733333 0.00076 0.000726667 0.000713333 +0.000713333 0.000693333 0.000686667 0.00072 0.00072 0.000706667 0.000693333 0.0007 +0.000726667 0.000713333 0.000686667 0.0007 0.000686667 0.0007 0.000706667 0.000673333 +0.000673333 0.000713333 0.000733333 0.00074 0.00076 0.000746667 0.000733333 0.00076 +0.00076 0.00076 0.000753333 0.000733333 0.000733333 0.000713333 0.000706667 0.00074 +0.00076 0.000773333 0.0008 0.000813333 0.0008 0.000833333 0.225467 0.31256 +0.30688 0.236827 0.229253 0.293627 0.339067 0.473493 0.647158 0.875789 +0.990776 0.989469 0.973684 0.955368 0.945895 0.946526 0.953474 0.969895 +0.986531 0.995673 1.00057 1.00482 1.02376 1.05347 1.05053 1.02539 +1.00873 1.0009 0.999592 1.00286 1.00547 1.0058 1.01102 1.02963 +1.04433 1.00416 0.825263 0.616842 0.48864 0.371253 0.34664 0.356107 +0.359893 0.356107 0.356107 0.359893 0.367467 0.378827 0.367467 0.358 +0.365573 0.356107 0.316347 0.276587 0.27848 0.3012 0.35232 0.441307 +0.458347 0.365573 0.303093 0.3012 0.304987 0.308773 0.303093 0.297413 +0.293627 0.282267 0.270907 0.276587 0.28416 0.297413 0.308773 0.316347 +0.310667 0.28984 0.28984 0.299307 0.297413 0.3012 0.31824 0.393973 +0.515158 0.570105 0.596 0.568842 0.502526 0.34096 0.28416 0.276587 +0.28984 0.303093 0.304987 0.31256 0.325813 0.339067 0.34096 0.337173 +0.344747 0.36368 0.40912 0.505053 0.552421 0.564421 0.505684 0.34096 +0.29552 0.28984 0.304987 0.37504 0.523368 0.613684 0.684421 0.690737 +0.637684 0.573263 0.519579 0.44888 0.384507 0.361787 0.350427 0.314453 +0.316347 0.371253 0.378827 0.327707 0.314453 0.310667 0.310667 0.320133 +0.3012 0.28416 0.270907 0.287947 0.314453 0.308773 0.310667 0.39208 +0.532842 0.700211 0.908 1.00449 1.02637 1.03616 1.03845 1.03845 +1.03616 1.03453 1.03747 1.03878 1.03714 1.03616 1.03388 1.03029 +1.02898 1.02865 1.02833 1.02931 1.03061 1.03094 1.03029 1.02702 +1.02343 1.02278 1.02376 1.02212 1.02049 1.01722 1.01363 1.01363 +1.01265 1.00939 1.01069 1.01331 1.01624 1.02147 1.02604 1.03127 +1.02931 1.02735 1.02702 1.02539 1.02735 1.03159 1.03388 1.03192 +1.03649 1.04041 1.03976 1.03812 1.03845 1.03649 1.03714 1.04237 +1.04335 1.04008 1.04041 1.04171 1.04171 1.04433 1.04465 1.04629 +1.04465 1.04335 1.04237 1.04139 1.04269 1.04433 1.04498 1.04041 +1.04041 1.04237 1.04335 1.04335 1.04041 1.04171 1.03943 1.04073 +1.04269 1.04106 1.04106 1.03812 1.04008 1.0391 1.03747 1.0391 +1.03649 1.03616 1.03355 1.03192 1.03224 1.03453 1.03224 1.03322 +1.03192 1.03029 1.03094 1.03322 1.03453 1.03224 1.03094 1.02931 +1.02865 1.03192 1.03355 1.03061 1.03094 1.03355 1.03192 1.0329 +1.03322 1.03192 1.03192 1.03453 1.03453 1.03649 1.04041 1.04073 +1.03878 1.03747 1.03486 1.03159 1.03029 1.03224 1.03224 1.03094 +1.02898 1.028 1.02963 1.02767 1.02767 1.02702 1.02473 1.02473 +1.02114 1.01429 1.00547 0.993714 0.973053 0.926947 0.871368 0.823368 +0.772211 0.675579 0.565053 0.473493 0.37504 0.339067 0.30688 0.293627 +0.293627 0.280373 0.263333 0.274693 0.280373 0.276587 0.270907 0.28416 +0.297413 0.287947 0.276587 0.291733 0.308773 0.297413 0.276587 0.27848 +0.308773 0.350427 0.365573 0.38072 0.399653 0.40912 0.456453 0.539158 +0.580842 0.537263 0.418587 0.354213 0.359893 0.4148 0.502526 0.503158 +0.40344 0.316347 0.291733 0.28416 0.276587 0.282267 0.297413 0.299307 +0.304987 0.314453 0.339067 0.367467 0.36368 0.344747 0.327707 0.333387 +0.348533 0.342853 0.34096 0.359893 0.450773 0.572 0.726737 0.911158 +1.03388 1.05869 1.02114 1.00024 1.00286 1.01559 1.03714 1.05445 +1.05837 1.05086 1.03616 1.02212 1.01429 1.01624 1.0182 1.01722 +1.01037 0.996 0.984898 0.971158 0.957263 0.957263 0.966105 0.985224 +0.986204 0.885263 0.688842 0.517053 0.3296 0.3296 0.344747 0.2728 +0.00094 0.000826667 0.000813333 0.000786667 0.000766667 0.000773333 0.000793333 0.000793333 +0.000753333 0.000753333 0.000766667 0.000766667 0.00074 0.00074 0.000746667 0.00072 +0.00074 0.00074 0.000773333 0.000773333 0.00074 0.000726667 0.000726667 0.000746667 +0.000766667 0.000753333 0.00072 0.000733333 0.00074 0.000726667 0.000726667 0.000733333 +0.00076 0.00078 0.00076 0.000733333 0.00074 0.00072 0.00074 0.00076 +0.000753333 0.000733333 0.000713333 0.000733333 0.000726667 0.00072 0.000733333 0.000726667 +0.000713333 0.00072 0.00074 0.000753333 0.000733333 0.00072 0.0007 0.000693333 +0.000693333 0.000693333 0.0007 0.000713333 0.000706667 0.000713333 0.000733333 0.00074 +0.00074 0.000746667 0.00074 0.000726667 0.000726667 0.00072 0.000706667 0.0007 +0.000706667 0.000706667 0.000726667 0.000746667 0.000726667 0.00074 0.000753333 0.000746667 +0.000726667 0.000733333 0.000713333 0.0007 0.000706667 0.000733333 0.000753333 0.00072 +0.000713333 0.000706667 0.000693333 0.000733333 0.000753333 0.000766667 0.00076 0.000753333 +0.000773333 0.000746667 0.000726667 0.00072 0.000726667 0.000726667 0.0007 0.0007 +0.000713333 0.000713333 0.000706667 0.000693333 0.000673333 0.000706667 0.000726667 0.0007 +0.000686667 0.00068 0.000693333 0.00072 0.000753333 0.000773333 0.000773333 0.000773333 +0.00076 0.000753333 0.000746667 0.00074 0.000733333 0.00072 0.00074 0.000746667 +0.00072 0.00074 0.000766667 0.000786667 0.000833333 0.00098 0.287947 0.32392 +0.265227 0.22168 0.25576 0.316347 0.378827 0.556842 0.769053 0.958526 +0.993388 0.979368 0.961684 0.952842 0.950947 0.951579 0.959789 0.979368 +0.990776 1.00024 1.00645 1.01331 1.0329 1.05249 1.03878 1.0169 +1.00547 1.00188 1.0022 1.00384 1.00743 1.01135 1.02767 1.04792 +1.02212 0.875158 0.653474 0.513895 0.38072 0.344747 0.337173 0.35232 +0.35232 0.34664 0.350427 0.359893 0.367467 0.38072 0.376933 0.367467 +0.36936 0.348533 0.3012 0.280373 0.291733 0.310667 0.354213 0.399653 +0.371253 0.303093 0.282267 0.29552 0.304987 0.310667 0.31256 0.316347 +0.316347 0.297413 0.274693 0.274693 0.280373 0.293627 0.30688 0.303093 +0.3012 0.297413 0.29552 0.3012 0.293627 0.291733 0.29552 0.325813 +0.422373 0.532211 0.584 0.587789 0.530316 0.384507 0.287947 0.270907 +0.282267 0.29552 0.303093 0.303093 0.297413 0.310667 0.331493 0.35232 +0.373147 0.4148 0.479173 0.524 0.555579 0.558105 0.504421 0.359893 +0.322027 0.3296 0.371253 0.479173 0.556842 0.619368 0.645895 0.618105 +0.571368 0.534737 0.500632 0.418587 0.37504 0.36368 0.359893 0.327707 +0.33528 0.38072 0.378827 0.333387 0.314453 0.325813 0.333387 0.337173 +0.320133 0.30688 0.3296 0.365573 0.361787 0.325813 0.34096 0.48864 +0.632 0.846105 0.992082 1.0218 1.03257 1.03812 1.0391 1.03878 +1.03976 1.04073 1.04335 1.04269 1.04106 1.03976 1.03551 1.03257 +1.03257 1.02996 1.028 1.02735 1.02833 1.02931 1.02996 1.02669 +1.02473 1.02506 1.02376 1.0218 1.02082 1.01918 1.01951 1.01755 +1.01494 1.01363 1.01494 1.01918 1.0231 1.02571 1.02865 1.03224 +1.03192 1.03029 1.03061 1.02735 1.03029 1.03551 1.03812 1.03584 +1.0391 1.04171 1.04008 1.03943 1.04171 1.04106 1.03976 1.04433 +1.04367 1.03943 1.04073 1.04465 1.04498 1.04367 1.04171 1.04367 +1.04302 1.04302 1.04237 1.03943 1.04106 1.04302 1.04269 1.03976 +1.04335 1.04335 1.04269 1.044 1.04106 1.04171 1.03878 1.0391 +1.04106 1.04041 1.04041 1.03878 1.03976 1.03878 1.03943 1.03943 +1.03551 1.03747 1.03518 1.03322 1.0342 1.03486 1.02996 1.03061 +1.03159 1.0329 1.0329 1.03257 1.03322 1.02865 1.028 1.02702 +1.02604 1.03094 1.03453 1.03192 1.03388 1.0342 1.03094 1.03159 +1.03322 1.03322 1.03388 1.03518 1.03486 1.03584 1.0378 1.03878 +1.03845 1.03551 1.03551 1.03518 1.03551 1.03584 1.03584 1.0342 +1.03192 1.03061 1.03061 1.02931 1.02963 1.028 1.02702 1.02637 +1.02278 1.01788 1.01004 0.999918 0.986531 0.956 0.904211 0.853053 +0.800632 0.704 0.590947 0.511368 0.4148 0.356107 0.320133 0.310667 +0.304987 0.286053 0.282267 0.287947 0.28416 0.291733 0.299307 0.310667 +0.316347 0.291733 0.28416 0.304987 0.320133 0.293627 0.270907 0.274693 +0.29552 0.314453 0.327707 0.354213 0.359893 0.348533 0.37504 0.508842 +0.577684 0.565684 0.481067 0.358 0.34664 0.36936 0.43752 0.507579 +0.49432 0.36936 0.303093 0.287947 0.27848 0.280373 0.287947 0.293627 +0.303093 0.31824 0.339067 0.350427 0.36936 0.38072 0.36936 0.361787 +0.36368 0.342853 0.34096 0.358 0.399653 0.514526 0.637684 0.822737 +1.00351 1.07674 1.0378 1.00351 0.998286 1.00612 1.02702 1.0489 +1.06 1.05869 1.04531 1.02767 1.01722 1.01657 1.01788 1.0182 +1.01722 1.00743 0.994694 0.982612 0.962947 0.953474 0.955368 0.969895 +0.990122 0.972421 0.829684 0.626316 0.45456 0.325813 0.342853 0.325813 +0.242507 0.00088 0.000833333 0.0008 0.00078 0.0008 0.000813333 0.000806667 +0.000773333 0.000753333 0.000766667 0.000786667 0.000766667 0.000753333 0.00074 0.000733333 +0.000766667 0.000773333 0.000786667 0.00076 0.000726667 0.000733333 0.00074 0.00076 +0.000766667 0.000726667 0.00072 0.000726667 0.00072 0.000726667 0.00076 0.00078 +0.000793333 0.000786667 0.000726667 0.000706667 0.000726667 0.000753333 0.000773333 0.000746667 +0.00072 0.0007 0.000713333 0.000753333 0.00074 0.000726667 0.000713333 0.000693333 +0.000693333 0.000726667 0.000766667 0.000766667 0.000753333 0.000733333 0.000706667 0.000706667 +0.000726667 0.000713333 0.000706667 0.000713333 0.000693333 0.000673333 0.000686667 0.000706667 +0.000726667 0.00072 0.00072 0.00072 0.00072 0.000733333 0.00072 0.0007 +0.000706667 0.000706667 0.0007 0.000706667 0.0007 0.000713333 0.000706667 0.000726667 +0.000726667 0.000726667 0.000726667 0.000706667 0.000693333 0.0007 0.00072 0.000726667 +0.000726667 0.000706667 0.000686667 0.000686667 0.000706667 0.0007 0.000706667 0.0007 +0.000726667 0.000733333 0.000706667 0.000713333 0.000686667 0.00068 0.000706667 0.000706667 +0.0007 0.00072 0.000733333 0.000713333 0.0007 0.000706667 0.00072 0.000726667 +0.000713333 0.0007 0.0007 0.0007 0.000706667 0.000713333 0.000713333 0.000713333 +0.0007 0.00072 0.00076 0.000766667 0.00076 0.000753333 0.00078 0.000793333 +0.000753333 0.000746667 0.000753333 0.000773333 0.00086 0.253867 0.3296 0.304987 +0.23304 0.234933 0.291733 0.342853 0.49432 0.66421 0.884632 0.98849 +0.985551 0.962947 0.953474 0.954105 0.956632 0.957895 0.969895 0.985551 +0.993714 1.00155 1.00971 1.01788 1.03812 1.04922 1.03094 1.012 +1.00449 1.00514 1.0058 1.00678 1.01298 1.02669 1.04694 1.03355 +0.925053 0.702105 0.539158 0.405333 0.34664 0.337173 0.344747 0.359893 +0.348533 0.337173 0.331493 0.333387 0.34664 0.35232 0.337173 0.33528 +0.350427 0.3296 0.287947 0.280373 0.287947 0.308773 0.350427 0.359893 +0.322027 0.282267 0.274693 0.287947 0.299307 0.304987 0.316347 0.325813 +0.3296 0.310667 0.280373 0.2728 0.27848 0.286053 0.28984 0.293627 +0.297413 0.3012 0.297413 0.291733 0.29552 0.297413 0.29552 0.299307 +0.344747 0.481067 0.556842 0.596 0.565053 0.469707 0.314453 0.276587 +0.27848 0.28984 0.3012 0.299307 0.28984 0.303093 0.339067 0.365573 +0.393973 0.422373 0.4432 0.479173 0.502526 0.505053 0.44888 0.36936 +0.344747 0.36936 0.428053 0.506947 0.547368 0.573263 0.564421 0.529684 +0.510105 0.473493 0.384507 0.348533 0.348533 0.359893 0.356107 0.36368 +0.40344 0.399653 0.361787 0.333387 0.316347 0.32392 0.34096 0.348533 +0.350427 0.359893 0.40912 0.411013 0.348533 0.33528 0.42048 0.566947 +0.761474 0.962316 1.01853 1.03192 1.03453 1.03649 1.03747 1.03714 +1.03845 1.04106 1.044 1.044 1.04269 1.04073 1.03714 1.03486 +1.03486 1.03127 1.02931 1.02767 1.02604 1.02669 1.03029 1.028 +1.02441 1.02408 1.0218 1.02016 1.01951 1.01951 1.02114 1.0182 +1.01722 1.01788 1.0182 1.02343 1.02865 1.03061 1.03257 1.0342 +1.03551 1.0342 1.03355 1.03159 1.03616 1.03943 1.04041 1.03812 +1.03878 1.04008 1.03943 1.03845 1.04171 1.04237 1.04041 1.04465 +1.044 1.04106 1.04335 1.04596 1.04531 1.044 1.04204 1.04465 +1.04563 1.04563 1.04433 1.03943 1.04106 1.044 1.04269 1.04041 +1.04269 1.04367 1.04302 1.04237 1.04041 1.04237 1.04106 1.04073 +1.04008 1.03845 1.04008 1.04008 1.0391 1.03649 1.0378 1.03714 +1.03551 1.03714 1.03388 1.03159 1.0329 1.03192 1.02931 1.03029 +1.02898 1.03061 1.03257 1.03224 1.03224 1.02963 1.028 1.02669 +1.02571 1.02898 1.03061 1.02996 1.03127 1.03061 1.03159 1.03257 +1.03388 1.03355 1.03453 1.03486 1.03682 1.03878 1.0378 1.03616 +1.03682 1.03682 1.03616 1.03486 1.03714 1.03551 1.03584 1.03682 +1.03584 1.03518 1.03257 1.03061 1.03029 1.02865 1.02931 1.028 +1.02473 1.02278 1.01755 1.00841 0.996327 0.980327 0.938316 0.892211 +0.838526 0.740632 0.625684 0.539789 0.458347 0.361787 0.316347 0.316347 +0.314453 0.29552 0.29552 0.293627 0.287947 0.304987 0.331493 0.333387 +0.31256 0.303093 0.3012 0.3012 0.322027 0.314453 0.293627 0.286053 +0.293627 0.314453 0.333387 0.342853 0.327707 0.31256 0.3296 0.45456 +0.563158 0.584 0.513895 0.358 0.31824 0.3296 0.3864 0.502526 +0.515789 0.439413 0.337173 0.3012 0.287947 0.287947 0.28984 0.299307 +0.30688 0.314453 0.320133 0.325813 0.354213 0.378827 0.378827 0.365573 +0.361787 0.34096 0.333387 0.356107 0.37504 0.445093 0.572632 0.745053 +0.956 1.05576 1.05673 1.01396 0.997633 0.999265 1.01559 1.03845 +1.05543 1.07217 1.0538 1.03388 1.01951 1.01624 1.01788 1.01886 +1.01951 1.01429 1.00188 0.989143 0.972421 0.953474 0.947789 0.951579 +0.977474 0.990449 0.940842 0.765263 0.571368 0.384507 0.322027 0.350427 +0.303093 0.000993333 0.00086 0.00084 0.000786667 0.0008 0.00082 0.00082 +0.000793333 0.000773333 0.000793333 0.000813333 0.00076 0.00074 0.000746667 0.000766667 +0.000793333 0.00078 0.000786667 0.000753333 0.00074 0.00076 0.00076 0.00076 +0.000753333 0.000733333 0.000733333 0.000746667 0.000753333 0.000786667 0.000793333 0.00076 +0.00076 0.000773333 0.00074 0.000726667 0.000746667 0.00076 0.000746667 0.000706667 +0.000713333 0.000733333 0.000746667 0.000753333 0.00074 0.00072 0.000706667 0.0007 +0.000726667 0.000773333 0.00076 0.00072 0.000753333 0.000753333 0.00072 0.00072 +0.00074 0.000733333 0.000713333 0.000693333 0.000686667 0.000706667 0.000693333 0.000686667 +0.000693333 0.000693333 0.000693333 0.000713333 0.000733333 0.00072 0.000706667 0.000713333 +0.0007 0.000693333 0.000686667 0.000673333 0.00068 0.000713333 0.000686667 0.000686667 +0.000706667 0.000713333 0.000726667 0.000726667 0.000713333 0.000706667 0.000706667 0.000713333 +0.000726667 0.000713333 0.0007 0.000693333 0.000706667 0.000713333 0.000713333 0.000693333 +0.000686667 0.000713333 0.00072 0.000713333 0.000706667 0.000686667 0.0007 0.000706667 +0.000693333 0.000713333 0.000713333 0.00072 0.000733333 0.00074 0.00072 0.000733333 +0.00072 0.00072 0.000753333 0.000726667 0.000713333 0.000693333 0.0007 0.00072 +0.000706667 0.00072 0.000753333 0.00078 0.000786667 0.000773333 0.000773333 0.000766667 +0.000766667 0.000793333 0.000806667 0.00082 0.00096 0.28984 0.316347 0.248187 +0.219787 0.2728 0.32392 0.39776 0.578947 0.797474 0.969895 0.991429 +0.974316 0.955368 0.949684 0.949053 0.951579 0.955368 0.976842 0.990122 +0.997633 1.00514 1.01167 1.01918 1.03747 1.04302 1.02637 1.01037 +1.00384 1.00482 1.00743 1.012 1.02637 1.04727 1.04302 0.963579 +0.741895 0.563158 0.435627 0.354213 0.339067 0.337173 0.35232 0.36936 +0.354213 0.333387 0.325813 0.33528 0.34096 0.325813 0.314453 0.3296 +0.344747 0.32392 0.28984 0.286053 0.287947 0.304987 0.3296 0.337173 +0.31824 0.282267 0.270907 0.280373 0.286053 0.28416 0.29552 0.308773 +0.31256 0.304987 0.28984 0.282267 0.291733 0.293627 0.291733 0.297413 +0.303093 0.304987 0.299307 0.28984 0.297413 0.29552 0.29552 0.297413 +0.308773 0.395867 0.530947 0.59979 0.602316 0.538526 0.40912 0.31256 +0.29552 0.29552 0.293627 0.287947 0.282267 0.28984 0.314453 0.339067 +0.359893 0.36936 0.354213 0.354213 0.384507 0.411013 0.399653 0.361787 +0.350427 0.38072 0.439413 0.505053 0.523368 0.519579 0.501263 0.462133 +0.481067 0.439413 0.356107 0.327707 0.33528 0.34664 0.359893 0.399653 +0.428053 0.388293 0.337173 0.3296 0.325813 0.327707 0.358 0.395867 +0.395867 0.390187 0.388293 0.35232 0.316347 0.37504 0.525895 0.681263 +0.895368 1.00873 1.03127 1.03649 1.03682 1.0378 1.03747 1.03682 +1.0391 1.04008 1.04171 1.04269 1.04237 1.04139 1.04008 1.03943 +1.03747 1.03584 1.03127 1.02963 1.02833 1.02376 1.02343 1.02506 +1.02441 1.02278 1.02049 1.02147 1.0218 1.01951 1.01951 1.01918 +1.02082 1.02147 1.02114 1.02604 1.0329 1.03584 1.03812 1.03812 +1.03976 1.03682 1.03486 1.03616 1.0391 1.04073 1.04171 1.04073 +1.04106 1.04269 1.04269 1.03976 1.04139 1.04237 1.03943 1.04269 +1.04531 1.04269 1.04335 1.04465 1.04335 1.04433 1.04433 1.04694 +1.04955 1.04922 1.04563 1.04335 1.04433 1.04465 1.04335 1.04073 +1.04008 1.04139 1.04204 1.04139 1.04041 1.04237 1.04204 1.04269 +1.04073 1.03943 1.03878 1.03747 1.03747 1.03551 1.03616 1.03616 +1.03551 1.03649 1.03486 1.03094 1.02767 1.02604 1.02833 1.02996 +1.02865 1.03061 1.03192 1.03127 1.02931 1.03029 1.02963 1.02833 +1.02833 1.02833 1.02865 1.03127 1.0329 1.03159 1.03355 1.03257 +1.03192 1.03388 1.03518 1.03518 1.0378 1.04008 1.03878 1.03812 +1.0378 1.03943 1.03845 1.0378 1.03682 1.03486 1.03682 1.03682 +1.03649 1.03649 1.03486 1.0342 1.03127 1.02865 1.02931 1.028 +1.02604 1.02473 1.02376 1.0169 1.0071 0.995347 0.976842 0.936421 +0.879579 0.781053 0.66421 0.571368 0.505053 0.382613 0.3296 0.325813 +0.327707 0.303093 0.287947 0.291733 0.303093 0.34096 0.371253 0.367467 +0.337173 0.320133 0.314453 0.308773 0.327707 0.33528 0.316347 0.303093 +0.304987 0.32392 0.333387 0.32392 0.31824 0.314453 0.320133 0.405333 +0.538526 0.579579 0.529684 0.3864 0.320133 0.322027 0.358 0.433733 +0.5 0.467813 0.371253 0.31824 0.297413 0.291733 0.303093 0.30688 +0.31256 0.310667 0.308773 0.32392 0.33528 0.34096 0.356107 0.36368 +0.348533 0.32392 0.31824 0.34096 0.358 0.401547 0.528421 0.668 +0.866316 1.02833 1.10108 1.03094 1.00122 0.996 1.00678 1.02865 +1.04988 1.08435 1.07522 1.04237 1.02278 1.01624 1.01722 1.01788 +1.01788 1.01559 1.00841 0.996327 0.981959 0.960421 0.949053 0.947158 +0.960421 0.985224 0.987837 0.898526 0.703368 0.525895 0.342853 0.339067 +0.348533 0.269013 0.000946667 0.000873333 0.000806667 0.00082 0.000826667 0.00082 +0.0008 0.000786667 0.0008 0.000806667 0.000753333 0.00074 0.000766667 0.00076 +0.00076 0.000766667 0.000773333 0.000733333 0.000733333 0.00074 0.00076 0.000786667 +0.000766667 0.000733333 0.000746667 0.00078 0.000786667 0.000773333 0.000733333 0.0007 +0.000746667 0.000766667 0.000753333 0.000746667 0.000733333 0.000746667 0.000746667 0.000733333 +0.000753333 0.000746667 0.000733333 0.000733333 0.00072 0.00072 0.00072 0.000733333 +0.00076 0.000773333 0.000726667 0.000713333 0.0007 0.000706667 0.00072 0.000726667 +0.00072 0.000726667 0.000726667 0.000706667 0.0007 0.000726667 0.000726667 0.000733333 +0.00072 0.000706667 0.0007 0.000706667 0.00072 0.000713333 0.000713333 0.000726667 +0.000713333 0.000693333 0.000706667 0.000693333 0.0007 0.000706667 0.000706667 0.000706667 +0.000713333 0.00072 0.000726667 0.000726667 0.000706667 0.000713333 0.000706667 0.000726667 +0.00072 0.0007 0.0007 0.0007 0.0007 0.000706667 0.000726667 0.00072 +0.0007 0.00072 0.000733333 0.000733333 0.000726667 0.00074 0.000733333 0.00072 +0.00072 0.000713333 0.000713333 0.000706667 0.000706667 0.000713333 0.00072 0.00072 +0.000706667 0.000713333 0.000733333 0.000726667 0.00074 0.00074 0.00074 0.00076 +0.000733333 0.000713333 0.000726667 0.000733333 0.000766667 0.000786667 0.000806667 0.00078 +0.00076 0.000793333 0.00082 0.000873333 0.253867 0.32392 0.28416 0.217893 +0.23872 0.303093 0.34096 0.510105 0.697053 0.913053 0.992735 0.984898 +0.964211 0.954737 0.950316 0.948421 0.950947 0.962316 0.982286 0.992735 +1.00057 1.00808 1.01265 1.01951 1.03551 1.04041 1.02898 1.01363 +1.00351 1.00253 1.00743 1.01984 1.04367 1.05151 0.998286 0.799368 +0.594105 0.46024 0.356107 0.327707 0.3296 0.33528 0.356107 0.365573 +0.342853 0.325813 0.3296 0.331493 0.31256 0.293627 0.308773 0.333387 +0.34096 0.325813 0.297413 0.28984 0.291733 0.297413 0.30688 0.316347 +0.308773 0.299307 0.287947 0.280373 0.280373 0.27848 0.27848 0.286053 +0.291733 0.299307 0.293627 0.287947 0.291733 0.299307 0.29552 0.293627 +0.304987 0.308773 0.304987 0.30688 0.314453 0.304987 0.3012 0.30688 +0.316347 0.39776 0.532842 0.607368 0.630737 0.590316 0.521474 0.416693 +0.359893 0.342853 0.31824 0.29552 0.286053 0.282267 0.28984 0.30688 +0.32392 0.331493 0.325813 0.320133 0.34096 0.373147 0.37504 0.358 +0.350427 0.367467 0.42048 0.48864 0.484853 0.428053 0.416693 0.452667 +0.490533 0.424267 0.344747 0.3296 0.34096 0.358 0.395867 0.43752 +0.407227 0.350427 0.320133 0.31824 0.3296 0.34664 0.407227 0.456453 +0.424267 0.38072 0.34096 0.320133 0.354213 0.47728 0.609263 0.817053 +0.986857 1.02473 1.03388 1.03747 1.0391 1.04008 1.03878 1.0391 +1.03943 1.03943 1.04106 1.04335 1.04335 1.04335 1.04269 1.04106 +1.03976 1.03943 1.03682 1.03453 1.0329 1.02669 1.02114 1.02049 +1.0231 1.02376 1.02082 1.02082 1.02212 1.0218 1.02114 1.02049 +1.02343 1.02506 1.02604 1.02865 1.03518 1.03976 1.04008 1.03812 +1.04008 1.0378 1.03584 1.03845 1.04008 1.04237 1.04433 1.04335 +1.04302 1.04367 1.044 1.04171 1.04106 1.04073 1.03976 1.04335 +1.04629 1.044 1.044 1.04531 1.04367 1.04367 1.044 1.044 +1.04661 1.04661 1.04433 1.04367 1.04335 1.04335 1.04269 1.04139 +1.04139 1.04008 1.04008 1.04204 1.04073 1.04171 1.04269 1.04204 +1.03943 1.04171 1.03943 1.03551 1.0378 1.03812 1.03747 1.03616 +1.03649 1.03486 1.03192 1.02702 1.02539 1.02343 1.02539 1.02702 +1.02767 1.03094 1.03257 1.03192 1.02963 1.02963 1.02996 1.02963 +1.03159 1.03192 1.02931 1.03029 1.03257 1.0329 1.03518 1.0329 +1.03127 1.0342 1.03682 1.0378 1.03747 1.03747 1.03878 1.03878 +1.03845 1.03943 1.0378 1.03682 1.03812 1.03714 1.03747 1.03714 +1.03616 1.03551 1.03453 1.03584 1.03355 1.03127 1.02996 1.02996 +1.02898 1.02637 1.02571 1.02212 1.01657 1.00808 0.994367 0.971789 +0.916211 0.824 0.709684 0.609895 0.534105 0.441307 0.358 0.337173 +0.344747 0.32392 0.29552 0.293627 0.3296 0.35232 0.356107 0.36936 +0.399653 0.424267 0.416693 0.382613 0.350427 0.333387 0.314453 0.304987 +0.31824 0.3296 0.325813 0.322027 0.32392 0.316347 0.316347 0.354213 +0.492427 0.550526 0.536 0.424267 0.327707 0.314453 0.331493 0.359893 +0.424267 0.44888 0.393973 0.34096 0.31256 0.3012 0.303093 0.308773 +0.308773 0.316347 0.316347 0.320133 0.325813 0.322027 0.354213 0.371253 +0.342853 0.32392 0.32392 0.33528 0.350427 0.384507 0.492427 0.592842 +0.762737 0.983265 1.07522 1.04596 1.0071 0.997306 1.00318 1.02082 +1.04269 1.07522 1.11326 1.05576 1.03192 1.01951 1.01592 1.01722 +1.0182 1.01722 1.01429 1.00351 0.98849 0.974316 0.958526 0.949684 +0.950316 0.967368 0.988163 0.978737 0.845474 0.640842 0.479173 0.344747 +0.354213 0.322027 0.242507 0.0009 0.000833333 0.000833333 0.000813333 0.0008 +0.000786667 0.000753333 0.000766667 0.000786667 0.000773333 0.000766667 0.000766667 0.000773333 +0.00078 0.00078 0.00076 0.000726667 0.000746667 0.00074 0.00076 0.000766667 +0.000733333 0.00072 0.00074 0.000766667 0.000753333 0.00074 0.00074 0.000746667 +0.00076 0.000733333 0.000713333 0.000706667 0.000713333 0.000746667 0.000733333 0.000726667 +0.000726667 0.000706667 0.0007 0.000713333 0.000733333 0.00076 0.00074 0.000726667 +0.000746667 0.000726667 0.00074 0.000753333 0.000686667 0.000693333 0.000693333 0.000713333 +0.00072 0.000706667 0.000713333 0.000726667 0.000726667 0.00072 0.000726667 0.000726667 +0.000733333 0.00072 0.0007 0.0007 0.000706667 0.000706667 0.000733333 0.000726667 +0.000713333 0.000713333 0.000706667 0.0007 0.000706667 0.000706667 0.0007 0.000693333 +0.0007 0.00072 0.000706667 0.000706667 0.0007 0.000693333 0.000693333 0.000706667 +0.00072 0.0007 0.000713333 0.00072 0.000706667 0.000706667 0.0007 0.000713333 +0.00072 0.000746667 0.000733333 0.000713333 0.000706667 0.000713333 0.00072 0.000726667 +0.000746667 0.00074 0.000726667 0.000713333 0.000686667 0.000686667 0.000666667 0.000686667 +0.0007 0.0007 0.00072 0.000733333 0.000753333 0.000746667 0.000746667 0.000766667 +0.000753333 0.000726667 0.000713333 0.000706667 0.000713333 0.00074 0.000786667 0.000793333 +0.000793333 0.00082 0.000866667 0.219787 0.303093 0.32392 0.246293 0.223573 +0.280373 0.322027 0.39776 0.594737 0.823368 0.98098 0.991755 0.974947 +0.959789 0.955368 0.952211 0.950947 0.956632 0.971158 0.985224 0.994367 +1.00351 1.00971 1.01069 1.01788 1.03192 1.03878 1.02898 1.01331 +1.00449 1.00612 1.01494 1.03486 1.05412 1.02376 0.878947 0.657895 +0.510105 0.376933 0.337173 0.322027 0.320133 0.331493 0.359893 0.359893 +0.333387 0.322027 0.322027 0.31256 0.291733 0.291733 0.314453 0.331493 +0.3296 0.310667 0.293627 0.291733 0.299307 0.3012 0.299307 0.29552 +0.310667 0.32392 0.310667 0.291733 0.293627 0.297413 0.293627 0.28984 +0.29552 0.3012 0.29552 0.28984 0.28984 0.287947 0.28416 0.286053 +0.299307 0.31824 0.34664 0.365573 0.34096 0.30688 0.304987 0.333387 +0.401547 0.507579 0.560632 0.606737 0.630737 0.625684 0.583368 0.527158 +0.46592 0.40912 0.361787 0.31824 0.293627 0.287947 0.287947 0.3012 +0.31256 0.331493 0.33528 0.327707 0.327707 0.34096 0.350427 0.350427 +0.337173 0.34664 0.416693 0.462133 0.416693 0.388293 0.43184 0.467813 +0.46592 0.399653 0.350427 0.354213 0.361787 0.384507 0.43752 0.4432 +0.354213 0.299307 0.297413 0.314453 0.354213 0.39776 0.4716 0.49432 +0.433733 0.38072 0.342853 0.342853 0.411013 0.542316 0.722947 0.937053 +1.01527 1.02963 1.03355 1.03584 1.03812 1.04139 1.04139 1.04139 +1.04139 1.04008 1.04171 1.04171 1.04237 1.04531 1.04661 1.04498 +1.04335 1.04302 1.04171 1.0391 1.03812 1.03453 1.02833 1.0218 +1.01984 1.02147 1.01853 1.01657 1.0182 1.02016 1.02147 1.02147 +1.02376 1.02702 1.02898 1.03257 1.03747 1.04041 1.04008 1.0391 +1.03943 1.03812 1.03714 1.03976 1.04041 1.04171 1.04498 1.04759 +1.04661 1.04465 1.04433 1.04041 1.03747 1.03976 1.04106 1.04367 +1.04433 1.04204 1.04335 1.04465 1.044 1.04433 1.04302 1.04073 +1.044 1.04563 1.04335 1.04237 1.04204 1.04269 1.04171 1.04073 +1.04335 1.04204 1.04237 1.04335 1.04073 1.03943 1.04041 1.04171 +1.04041 1.04139 1.0391 1.03714 1.03878 1.0391 1.03812 1.03486 +1.03192 1.028 1.02539 1.02376 1.02506 1.02506 1.02735 1.02735 +1.02833 1.03061 1.03061 1.03061 1.03127 1.03029 1.02898 1.02898 +1.03224 1.03355 1.0329 1.03127 1.03094 1.03388 1.03518 1.03322 +1.03127 1.03388 1.03616 1.03845 1.03878 1.03845 1.03878 1.03682 +1.03812 1.0378 1.03551 1.0342 1.03682 1.03812 1.03616 1.03616 +1.03845 1.03943 1.03878 1.03747 1.03486 1.03322 1.03257 1.03322 +1.03192 1.03029 1.02833 1.02539 1.02245 1.01494 1.0022 0.985878 +0.946526 0.871368 0.766526 0.657895 0.569474 0.505684 0.399653 0.356107 +0.361787 0.356107 0.320133 0.304987 0.331493 0.33528 0.320133 0.350427 +0.458347 0.523368 0.530316 0.508211 0.428053 0.356107 0.314453 0.304987 +0.322027 0.331493 0.322027 0.325813 0.3296 0.31256 0.304987 0.310667 +0.388293 0.520211 0.537263 0.462133 0.34096 0.310667 0.314453 0.320133 +0.358 0.405333 0.407227 0.36936 0.33528 0.31256 0.304987 0.310667 +0.310667 0.322027 0.327707 0.31824 0.31824 0.322027 0.354213 0.36368 +0.331493 0.314453 0.322027 0.337173 0.35232 0.376933 0.433733 0.534737 +0.666105 0.885263 1.04367 1.05967 1.01886 0.999918 0.999265 1.01102 +1.03192 1.05478 1.11478 1.09043 1.04139 1.02212 1.01624 1.0182 +1.01918 1.01755 1.0169 1.01069 0.996 0.983592 0.969263 0.955368 +0.950316 0.954737 0.977474 0.990449 0.947789 0.779158 0.582737 0.405333 +0.331493 0.342853 0.291733 0.000966667 0.00082 0.000813333 0.0008 0.000806667 +0.000793333 0.000773333 0.000786667 0.000806667 0.000773333 0.00076 0.000786667 0.000793333 +0.00078 0.000786667 0.000766667 0.000733333 0.000753333 0.000766667 0.000773333 0.000773333 +0.00076 0.000726667 0.00074 0.000766667 0.000753333 0.000753333 0.000753333 0.000753333 +0.000753333 0.000726667 0.000733333 0.00074 0.000753333 0.000746667 0.000706667 0.000713333 +0.000726667 0.000706667 0.000713333 0.000733333 0.000746667 0.000733333 0.000706667 0.0007 +0.00072 0.000726667 0.000746667 0.000753333 0.00068 0.000693333 0.000686667 0.000693333 +0.000706667 0.000706667 0.000706667 0.00072 0.000713333 0.000706667 0.00074 0.00072 +0.000713333 0.000733333 0.00072 0.0007 0.000706667 0.00072 0.00072 0.000713333 +0.000706667 0.000713333 0.00072 0.000726667 0.00072 0.000713333 0.000706667 0.0007 +0.000686667 0.0007 0.000706667 0.000713333 0.000706667 0.00072 0.0007 0.000693333 +0.000693333 0.0007 0.000713333 0.000713333 0.000706667 0.000713333 0.000706667 0.0007 +0.000706667 0.00072 0.000726667 0.000733333 0.00072 0.000713333 0.000713333 0.000726667 +0.00074 0.000733333 0.000753333 0.000753333 0.000726667 0.000733333 0.000693333 0.000673333 +0.0007 0.0007 0.000733333 0.000746667 0.000746667 0.00074 0.000733333 0.000746667 +0.000753333 0.00074 0.000753333 0.000766667 0.000753333 0.00074 0.000753333 0.000773333 +0.000786667 0.000813333 0.000926667 0.269013 0.33528 0.297413 0.223573 0.246293 +0.303093 0.348533 0.520842 0.716632 0.92821 0.992082 0.982286 0.960421 +0.952211 0.951579 0.952211 0.951579 0.961684 0.976842 0.987837 0.999265 +1.00776 1.00939 1.00906 1.01559 1.03029 1.03322 1.02343 1.01298 +1.00971 1.01527 1.03029 1.04857 1.03878 0.953474 0.74 0.560632 +0.412907 0.344747 0.3296 0.331493 0.333387 0.35232 0.371253 0.35232 +0.32392 0.308773 0.303093 0.3012 0.29552 0.31256 0.3296 0.337173 +0.327707 0.3012 0.28984 0.29552 0.310667 0.31824 0.30688 0.310667 +0.344747 0.361787 0.339067 0.31256 0.299307 0.29552 0.291733 0.291733 +0.29552 0.303093 0.3012 0.297413 0.29552 0.30688 0.297413 0.291733 +0.29552 0.333387 0.40344 0.43184 0.373147 0.3296 0.350427 0.411013 +0.501263 0.531579 0.545474 0.549895 0.574526 0.613053 0.614947 0.563789 +0.500632 0.395867 0.35232 0.32392 0.30688 0.3012 0.297413 0.297413 +0.310667 0.325813 0.33528 0.331493 0.342853 0.342853 0.337173 0.342853 +0.350427 0.390187 0.458347 0.452667 0.39776 0.4148 0.458347 0.428053 +0.401547 0.378827 0.35232 0.34096 0.36368 0.422373 0.458347 0.40912 +0.327707 0.29552 0.299307 0.3296 0.388293 0.435627 0.452667 0.43752 +0.411013 0.401547 0.356107 0.356107 0.49432 0.622526 0.842316 0.997959 +1.02669 1.03192 1.03518 1.03682 1.03714 1.03943 1.03943 1.04008 +1.04204 1.04008 1.04139 1.04237 1.04171 1.04498 1.04759 1.04596 +1.04465 1.04302 1.04106 1.0391 1.0391 1.03714 1.03224 1.02637 +1.02016 1.02082 1.02147 1.01886 1.0182 1.01755 1.01951 1.02147 +1.02245 1.02506 1.02735 1.03061 1.03682 1.04041 1.04041 1.03976 +1.03976 1.0391 1.03943 1.04269 1.04269 1.04237 1.04531 1.04759 +1.04727 1.04694 1.04792 1.04302 1.03845 1.04171 1.04367 1.04465 +1.04433 1.04237 1.04335 1.04367 1.044 1.04531 1.04498 1.04204 +1.04367 1.04629 1.04433 1.044 1.044 1.04302 1.03976 1.04008 +1.04237 1.04269 1.04367 1.04237 1.04106 1.0391 1.0391 1.04041 +1.03943 1.03976 1.0391 1.03649 1.03649 1.0378 1.03649 1.03127 +1.02767 1.02604 1.02376 1.02408 1.02506 1.02506 1.028 1.02898 +1.02996 1.03061 1.03029 1.03224 1.03159 1.02996 1.02931 1.02865 +1.03127 1.03224 1.0342 1.03322 1.03224 1.03682 1.03649 1.03355 +1.03388 1.03322 1.03551 1.03845 1.0391 1.04008 1.03812 1.03812 +1.04041 1.03812 1.03616 1.03486 1.03486 1.03812 1.03747 1.03845 +1.03976 1.04171 1.04041 1.03682 1.03518 1.03486 1.03388 1.03192 +1.03192 1.0329 1.03029 1.028 1.02571 1.01951 1.01004 0.994367 +0.967368 0.907368 0.817684 0.710316 0.607368 0.526526 0.433733 0.373147 +0.361787 0.37504 0.36936 0.34096 0.331493 0.320133 0.322027 0.35232 +0.44888 0.520211 0.529684 0.513895 0.473493 0.39776 0.33528 0.310667 +0.316347 0.31824 0.316347 0.33528 0.350427 0.325813 0.310667 0.299307 +0.3296 0.46592 0.521474 0.4716 0.350427 0.308773 0.303093 0.30688 +0.31824 0.356107 0.39208 0.39208 0.361787 0.337173 0.310667 0.299307 +0.30688 0.322027 0.34096 0.342853 0.337173 0.344747 0.34664 0.34664 +0.32392 0.310667 0.314453 0.339067 0.361787 0.376933 0.4148 0.503789 +0.594737 0.785474 1.01069 1.10108 1.03551 1.00351 0.996653 1.00384 +1.02212 1.04465 1.09043 1.11934 1.05282 1.02898 1.01951 1.01788 +1.01853 1.01853 1.01853 1.01527 1.00449 0.989796 0.977474 0.964842 +0.958526 0.952842 0.962316 0.982939 0.985878 0.903579 0.711579 0.531579 +0.350427 0.327707 0.327707 0.248187 0.000846667 0.000806667 0.000833333 0.00082 +0.000806667 0.000806667 0.000806667 0.000806667 0.00078 0.000773333 0.00078 0.000753333 +0.000753333 0.00078 0.00076 0.00076 0.00078 0.00078 0.00076 0.000773333 +0.000753333 0.000746667 0.00076 0.00078 0.000766667 0.000753333 0.000733333 0.00074 +0.00074 0.00072 0.000726667 0.000753333 0.000753333 0.000726667 0.000713333 0.000746667 +0.000753333 0.000746667 0.000726667 0.000713333 0.00072 0.000733333 0.000733333 0.000753333 +0.00074 0.00072 0.00072 0.000746667 0.00072 0.00072 0.000713333 0.000726667 +0.000713333 0.000706667 0.000733333 0.000713333 0.000693333 0.000693333 0.000713333 0.000713333 +0.000693333 0.000713333 0.00072 0.00072 0.000713333 0.00072 0.000713333 0.0007 +0.000706667 0.000706667 0.000706667 0.000726667 0.00072 0.000713333 0.00072 0.000726667 +0.000706667 0.000686667 0.000706667 0.000726667 0.000713333 0.00072 0.00072 0.0007 +0.000706667 0.000713333 0.0007 0.000686667 0.0007 0.000726667 0.000726667 0.00072 +0.0007 0.000693333 0.00072 0.000746667 0.00074 0.000726667 0.000726667 0.00072 +0.000706667 0.000706667 0.000726667 0.00074 0.000726667 0.000746667 0.000746667 0.000726667 +0.0007 0.00068 0.000726667 0.00074 0.000733333 0.000733333 0.000713333 0.000733333 +0.00076 0.000753333 0.00076 0.000786667 0.000793333 0.00078 0.000773333 0.000766667 +0.000766667 0.000826667 0.225467 0.30688 0.320133 0.25576 0.22168 0.26712 +0.32392 0.439413 0.617474 0.844842 0.984571 0.987184 0.963579 0.950947 +0.948421 0.952211 0.952842 0.954105 0.966737 0.981633 0.991429 1.00122 +1.00678 1.0071 1.0071 1.01624 1.02865 1.02833 1.01951 1.01494 +1.01788 1.028 1.04433 1.04171 0.992082 0.817053 0.623789 0.501895 +0.37504 0.348533 0.34096 0.348533 0.361787 0.388293 0.399653 0.365573 +0.314453 0.297413 0.303093 0.31824 0.316347 0.3296 0.342853 0.348533 +0.337173 0.31256 0.28984 0.287947 0.3012 0.30688 0.316347 0.339067 +0.376933 0.37504 0.339067 0.31256 0.29552 0.287947 0.287947 0.28416 +0.28416 0.28984 0.291733 0.291733 0.316347 0.33528 0.31824 0.304987 +0.304987 0.34096 0.40344 0.43184 0.384507 0.344747 0.365573 0.416693 +0.456453 0.4716 0.4432 0.42048 0.496213 0.554316 0.597895 0.578947 +0.510737 0.36936 0.314453 0.30688 0.30688 0.304987 0.303093 0.310667 +0.316347 0.320133 0.31824 0.31824 0.331493 0.337173 0.339067 0.354213 +0.407227 0.467813 0.4716 0.407227 0.37504 0.405333 0.412907 0.36368 +0.35232 0.365573 0.359893 0.356107 0.43184 0.504421 0.47728 0.39208 +0.34664 0.322027 0.320133 0.361787 0.42048 0.428053 0.3864 0.371253 +0.38072 0.39776 0.371253 0.407227 0.552421 0.736842 0.945263 1.0169 +1.02996 1.03453 1.03682 1.03845 1.03845 1.03878 1.03845 1.03943 +1.04041 1.03943 1.04073 1.04204 1.04204 1.04269 1.04302 1.04041 +1.04008 1.03943 1.0378 1.03453 1.03453 1.03388 1.03094 1.02702 +1.02212 1.02278 1.02408 1.01918 1.01722 1.0169 1.01984 1.02082 +1.02016 1.02245 1.02539 1.02996 1.03649 1.04106 1.03943 1.03747 +1.0391 1.03878 1.0378 1.04171 1.04367 1.044 1.04661 1.04694 +1.04498 1.04629 1.04792 1.04433 1.03976 1.04237 1.04531 1.04465 +1.04531 1.04367 1.04367 1.04563 1.04596 1.04596 1.04498 1.044 +1.04465 1.04563 1.04367 1.04367 1.04531 1.04335 1.04106 1.04106 +1.03976 1.04139 1.04302 1.04106 1.04041 1.0391 1.04008 1.04008 +1.03812 1.04008 1.03845 1.03355 1.03127 1.03355 1.03192 1.02637 +1.02473 1.02669 1.02441 1.02473 1.02506 1.02506 1.02833 1.02865 +1.03061 1.03127 1.03029 1.03094 1.03029 1.03061 1.02996 1.03094 +1.03453 1.03322 1.03355 1.0342 1.03322 1.03649 1.03682 1.03649 +1.03747 1.03551 1.03812 1.04008 1.0378 1.03714 1.03682 1.03812 +1.03976 1.0378 1.03682 1.03551 1.03649 1.03747 1.03845 1.04008 +1.03976 1.04041 1.04041 1.03878 1.03747 1.03714 1.03551 1.03192 +1.03322 1.03257 1.03127 1.03127 1.02996 1.02441 1.01624 1.00253 +0.983592 0.938316 0.862526 0.763368 0.656632 0.564421 0.501895 0.407227 +0.37504 0.42616 0.458347 0.393973 0.34664 0.337173 0.339067 0.382613 +0.43752 0.46024 0.4432 0.418587 0.40344 0.376933 0.3296 0.304987 +0.299307 0.304987 0.314453 0.331493 0.339067 0.322027 0.308773 0.297413 +0.3012 0.39208 0.48864 0.44888 0.34664 0.303093 0.293627 0.293627 +0.303093 0.322027 0.359893 0.390187 0.371253 0.34096 0.320133 0.304987 +0.30688 0.31256 0.331493 0.361787 0.373147 0.358 0.337173 0.327707 +0.316347 0.320133 0.3296 0.35232 0.367467 0.36368 0.388293 0.446987 +0.542316 0.695158 0.949053 1.06761 1.05347 1.01331 0.998612 0.999265 +1.01135 1.03453 1.06761 1.14977 1.10413 1.04008 1.02082 1.0169 +1.01886 1.01951 1.01918 1.0169 1.01069 0.997306 0.984898 0.974316 +0.964842 0.955368 0.952211 0.965474 0.988816 0.981306 0.848 0.644 +0.481067 0.331493 0.34096 0.304987 0.217893 0.000886667 0.000853333 0.000813333 +0.000813333 0.000813333 0.000786667 0.000806667 0.000786667 0.000766667 0.000766667 0.000753333 +0.000753333 0.000766667 0.000773333 0.00078 0.00078 0.00076 0.000726667 0.00074 +0.000753333 0.000753333 0.000753333 0.00074 0.00074 0.000746667 0.000726667 0.000733333 +0.000733333 0.000726667 0.000713333 0.00072 0.000746667 0.000726667 0.000733333 0.00076 +0.000746667 0.0007 0.000673333 0.0007 0.000746667 0.000753333 0.00076 0.000746667 +0.00072 0.000713333 0.00074 0.00078 0.000733333 0.00074 0.000726667 0.00074 +0.00074 0.000726667 0.000746667 0.000726667 0.000713333 0.000706667 0.000693333 0.000713333 +0.00072 0.000706667 0.00072 0.000733333 0.000733333 0.000713333 0.000726667 0.000733333 +0.00072 0.000713333 0.00072 0.00072 0.0007 0.000693333 0.000713333 0.00072 +0.000713333 0.000706667 0.000706667 0.000706667 0.0007 0.0007 0.000693333 0.000706667 +0.00072 0.00074 0.000713333 0.0007 0.0007 0.000713333 0.000713333 0.000733333 +0.000733333 0.000713333 0.0007 0.000713333 0.00072 0.000726667 0.00074 0.000733333 +0.000706667 0.000706667 0.000713333 0.0007 0.000713333 0.000713333 0.000713333 0.000733333 +0.00074 0.0007 0.000713333 0.00072 0.000706667 0.00072 0.000713333 0.000753333 +0.000773333 0.000753333 0.000753333 0.000746667 0.000746667 0.000773333 0.00078 0.000773333 +0.000786667 0.000926667 0.27848 0.322027 0.269013 0.219787 0.242507 0.303093 +0.36368 0.537895 0.738737 0.941474 0.992735 0.976211 0.952211 0.947158 +0.946526 0.949684 0.950947 0.956632 0.973053 0.985878 0.996 1.00253 +1.00612 1.0058 1.00678 1.01722 1.02702 1.02539 1.01886 1.01657 +1.02278 1.03584 1.04139 1.00873 0.882737 0.693263 0.543579 0.416693 +0.36368 0.344747 0.333387 0.339067 0.356107 0.39776 0.422373 0.390187 +0.331493 0.308773 0.31824 0.3296 0.333387 0.33528 0.331493 0.33528 +0.337173 0.320133 0.299307 0.293627 0.293627 0.303093 0.320133 0.344747 +0.36368 0.35232 0.32392 0.308773 0.291733 0.276587 0.270907 0.280373 +0.287947 0.297413 0.297413 0.304987 0.33528 0.354213 0.339067 0.31824 +0.310667 0.322027 0.35232 0.378827 0.36368 0.333387 0.3296 0.34096 +0.337173 0.327707 0.316347 0.322027 0.36936 0.492427 0.554316 0.579579 +0.541053 0.43184 0.320133 0.303093 0.310667 0.31256 0.314453 0.32392 +0.32392 0.322027 0.31824 0.316347 0.316347 0.320133 0.331493 0.36368 +0.42616 0.481067 0.43752 0.361787 0.35232 0.37504 0.359893 0.333387 +0.348533 0.382613 0.42616 0.5 0.532842 0.521474 0.428053 0.350427 +0.3296 0.325813 0.354213 0.4148 0.446987 0.416693 0.365573 0.350427 +0.35232 0.373147 0.39776 0.505053 0.638316 0.854947 0.998286 1.02506 +1.03257 1.03747 1.03943 1.04041 1.04041 1.03878 1.03878 1.03714 +1.03878 1.04041 1.04073 1.04041 1.04073 1.04073 1.03943 1.03682 +1.03714 1.03747 1.03584 1.03192 1.02963 1.02898 1.02996 1.02833 +1.02604 1.02702 1.02767 1.02245 1.01722 1.01461 1.01722 1.0182 +1.01853 1.02212 1.02669 1.02931 1.03453 1.03943 1.0391 1.03812 +1.03878 1.03878 1.03812 1.04204 1.04465 1.04465 1.04792 1.04759 +1.04498 1.04596 1.04759 1.04498 1.04008 1.04204 1.04563 1.04335 +1.04661 1.04563 1.04302 1.04335 1.04433 1.04629 1.04465 1.04302 +1.044 1.04465 1.04302 1.04237 1.04302 1.04269 1.04139 1.04171 +1.0391 1.03943 1.03943 1.0391 1.04008 1.03976 1.04106 1.04204 +1.04041 1.0378 1.0342 1.03159 1.02898 1.028 1.02669 1.02343 +1.02441 1.02604 1.02473 1.02669 1.02506 1.02441 1.02669 1.02898 +1.03192 1.03061 1.02996 1.03061 1.03029 1.02996 1.0329 1.0342 +1.03453 1.03518 1.03551 1.0342 1.03388 1.03453 1.03388 1.03551 +1.03682 1.03616 1.03976 1.04041 1.03878 1.03649 1.03453 1.03486 +1.03649 1.03682 1.03714 1.03747 1.03878 1.03943 1.04073 1.04171 +1.04041 1.03845 1.0391 1.03878 1.03747 1.0378 1.03616 1.0329 +1.0342 1.03355 1.03355 1.03257 1.03127 1.028 1.02147 1.01233 +0.997306 0.970526 0.908 0.822105 0.718526 0.613684 0.527789 0.433733 +0.3864 0.429947 0.458347 0.39208 0.34664 0.34096 0.358 0.424267 +0.44888 0.40912 0.371253 0.34096 0.331493 0.337173 0.308773 0.28984 +0.287947 0.291733 0.314453 0.32392 0.308773 0.297413 0.291733 0.293627 +0.303093 0.348533 0.4148 0.40344 0.333387 0.30688 0.299307 0.304987 +0.299307 0.304987 0.33528 0.367467 0.35232 0.320133 0.308773 0.30688 +0.293627 0.287947 0.310667 0.367467 0.39776 0.36368 0.331493 0.320133 +0.320133 0.3296 0.344747 0.35232 0.361787 0.36368 0.38072 0.4148 +0.507579 0.619368 0.842947 1.03486 1.09956 1.02996 1.00351 0.998286 +1.0058 1.02767 1.05804 1.17869 1.18021 1.05314 1.02539 1.01886 +1.01886 1.01886 1.01886 1.0182 1.01429 1.00482 0.991755 0.980327 +0.966737 0.957895 0.952842 0.955368 0.98098 0.992408 0.950316 0.782947 +0.584 0.39776 0.337173 0.350427 0.28416 0.000973333 0.000873333 0.000813333 +0.00082 0.000826667 0.0008 0.000813333 0.00078 0.000753333 0.000773333 0.000773333 +0.00076 0.00078 0.00076 0.000733333 0.00072 0.000713333 0.000713333 0.00076 +0.000773333 0.000766667 0.00074 0.00072 0.000733333 0.000746667 0.000726667 0.000726667 +0.00072 0.00072 0.000706667 0.00074 0.00076 0.00072 0.00072 0.000733333 +0.000726667 0.000713333 0.000726667 0.00076 0.000753333 0.00072 0.000726667 0.000733333 +0.000726667 0.000733333 0.000746667 0.000773333 0.000713333 0.000713333 0.000713333 0.000706667 +0.000713333 0.00074 0.00074 0.00074 0.000733333 0.00072 0.000706667 0.000713333 +0.000693333 0.000693333 0.000726667 0.00072 0.0007 0.000693333 0.000713333 0.000733333 +0.00072 0.00072 0.000706667 0.0007 0.000686667 0.00068 0.0007 0.0007 +0.000693333 0.0007 0.000713333 0.000726667 0.000713333 0.000713333 0.000713333 0.0007 +0.000693333 0.00072 0.00072 0.000686667 0.000686667 0.00068 0.000673333 0.000693333 +0.00072 0.000733333 0.000713333 0.000713333 0.0007 0.0007 0.000706667 0.000693333 +0.0007 0.00072 0.000713333 0.000706667 0.000726667 0.000706667 0.0007 0.000713333 +0.00074 0.000726667 0.000733333 0.00074 0.000726667 0.00074 0.00074 0.000766667 +0.000773333 0.00076 0.000766667 0.00076 0.000773333 0.00078 0.0008 0.000813333 +0.00086 0.23872 0.32392 0.30688 0.22168 0.000986667 0.269013 0.327707 +0.458347 0.638316 0.865053 0.987837 0.98751 0.965474 0.952842 0.948421 +0.944632 0.948421 0.954105 0.966105 0.981633 0.989796 0.997959 1.00416 +1.0058 1.00449 1.00514 1.01722 1.02408 1.0218 1.01788 1.01755 +1.02212 1.02963 1.01429 0.929474 0.753895 0.592842 0.481067 0.376933 +0.350427 0.327707 0.320133 0.331493 0.342853 0.371253 0.390187 0.38072 +0.356107 0.348533 0.350427 0.348533 0.342853 0.327707 0.31256 0.316347 +0.320133 0.316347 0.31256 0.299307 0.291733 0.303093 0.310667 0.316347 +0.314453 0.304987 0.30688 0.310667 0.303093 0.28416 0.2728 0.282267 +0.293627 0.30688 0.31824 0.316347 0.327707 0.356107 0.354213 0.325813 +0.31256 0.31256 0.320133 0.339067 0.33528 0.316347 0.314453 0.31256 +0.291733 0.280373 0.282267 0.287947 0.314453 0.3864 0.508842 0.558737 +0.565053 0.517053 0.39208 0.333387 0.3296 0.32392 0.316347 0.310667 +0.314453 0.322027 0.325813 0.325813 0.316347 0.316347 0.333387 0.371253 +0.412907 0.429947 0.401547 0.36368 0.36368 0.365573 0.348533 0.34664 +0.36936 0.412907 0.48296 0.539158 0.556211 0.503789 0.354213 0.314453 +0.32392 0.354213 0.405333 0.445093 0.433733 0.39776 0.361787 0.344747 +0.34096 0.359893 0.43752 0.552421 0.731789 0.947158 1.01755 1.02996 +1.03616 1.03845 1.0391 1.04106 1.04106 1.04041 1.04041 1.03878 +1.0378 1.03812 1.0378 1.03812 1.03943 1.04073 1.04139 1.0391 +1.03682 1.03878 1.04008 1.03584 1.03159 1.02931 1.03257 1.03224 +1.02833 1.02865 1.02996 1.028 1.02114 1.01363 1.01363 1.01559 +1.01853 1.02408 1.02669 1.02833 1.03322 1.03943 1.03943 1.03747 +1.03812 1.03878 1.03845 1.04171 1.04498 1.04531 1.0502 1.0489 +1.04465 1.04498 1.04596 1.04465 1.04106 1.04269 1.04629 1.044 +1.04694 1.04694 1.04498 1.04433 1.04465 1.04727 1.04237 1.03943 +1.04335 1.04269 1.04139 1.04237 1.04302 1.04204 1.04106 1.04139 +1.03943 1.03976 1.03845 1.03682 1.0391 1.04008 1.0391 1.04008 +1.0391 1.03355 1.03029 1.03061 1.03029 1.02735 1.02506 1.02278 +1.02539 1.02702 1.02604 1.02735 1.02702 1.02767 1.028 1.02963 +1.03192 1.02996 1.02931 1.03094 1.03061 1.03029 1.0329 1.0342 +1.03388 1.03388 1.03518 1.03355 1.03355 1.0342 1.0342 1.03649 +1.03551 1.03453 1.03616 1.03747 1.03845 1.03649 1.0342 1.03518 +1.03518 1.03747 1.03845 1.03976 1.04073 1.04302 1.04237 1.04139 +1.04204 1.04073 1.04041 1.03976 1.0378 1.03747 1.03355 1.03257 +1.03322 1.03388 1.03682 1.03453 1.0329 1.03224 1.03029 1.02441 +1.01037 0.989796 0.948421 0.876421 0.779158 0.666737 0.565053 0.490533 +0.39776 0.388293 0.399653 0.382613 0.36368 0.361787 0.3864 0.44888 +0.446987 0.382613 0.34664 0.31824 0.308773 0.310667 0.293627 0.286053 +0.287947 0.28984 0.35232 0.39208 0.339067 0.297413 0.297413 0.314453 +0.331493 0.34664 0.376933 0.378827 0.3296 0.299307 0.30688 0.310667 +0.30688 0.310667 0.331493 0.350427 0.34664 0.3296 0.30688 0.291733 +0.286053 0.276587 0.30688 0.390187 0.418587 0.358 0.320133 0.314453 +0.31824 0.3296 0.342853 0.350427 0.36936 0.382613 0.3864 0.399653 +0.464027 0.561895 0.742526 0.993714 1.10717 1.04596 1.00808 0.997633 +1.0022 1.02016 1.0502 1.17564 1.2289 1.09652 1.0329 1.02049 +1.01951 1.01918 1.0182 1.01788 1.01722 1.01167 0.999592 0.985551 +0.971789 0.962316 0.956632 0.952211 0.963579 0.984898 0.98751 0.906105 +0.711579 0.529053 0.361787 0.354213 0.32392 0.242507 0.000906667 0.000833333 +0.000813333 0.000813333 0.000806667 0.0008 0.00076 0.00076 0.0008 0.000793333 +0.0008 0.0008 0.000753333 0.000726667 0.000753333 0.00074 0.00074 0.000746667 +0.000746667 0.000746667 0.00074 0.000746667 0.000746667 0.00074 0.00074 0.000726667 +0.00072 0.00072 0.000733333 0.00076 0.00074 0.000693333 0.000693333 0.000726667 +0.00076 0.000753333 0.000746667 0.000733333 0.000713333 0.00072 0.000733333 0.000746667 +0.000733333 0.00074 0.000733333 0.00072 0.0007 0.000706667 0.000713333 0.000713333 +0.000706667 0.000713333 0.0007 0.00072 0.00072 0.000713333 0.0007 0.000706667 +0.000693333 0.000686667 0.00072 0.000713333 0.0007 0.0007 0.000706667 0.000706667 +0.000706667 0.000733333 0.000726667 0.000726667 0.000726667 0.000713333 0.000693333 0.0007 +0.0007 0.000686667 0.000686667 0.00072 0.000713333 0.0007 0.000693333 0.00068 +0.00066 0.00068 0.0007 0.0007 0.000693333 0.000706667 0.000693333 0.000693333 +0.000706667 0.000713333 0.00074 0.000746667 0.000726667 0.000706667 0.000706667 0.000706667 +0.000713333 0.000726667 0.000713333 0.000726667 0.000733333 0.000706667 0.000713333 0.000713333 +0.0007 0.0007 0.000726667 0.00076 0.000766667 0.000786667 0.000786667 0.00078 +0.000766667 0.000746667 0.000746667 0.000773333 0.000793333 0.000786667 0.0008 0.00082 +0.000933333 0.282267 0.337173 0.269013 0.000953333 0.23872 0.297413 0.367467 +0.554316 0.769053 0.959158 0.994041 0.980653 0.962316 0.956 0.949053 +0.944 0.948421 0.960421 0.976842 0.984571 0.98849 0.996653 1.00057 +1.00351 1.0022 1.00612 1.01592 1.01918 1.01624 1.01461 1.01592 +1.01559 1.00776 0.957895 0.805684 0.640211 0.524632 0.418587 0.38072 +0.365573 0.344747 0.34096 0.33528 0.325813 0.333387 0.337173 0.35232 +0.376933 0.390187 0.376933 0.359893 0.339067 0.320133 0.31256 0.304987 +0.310667 0.31256 0.308773 0.29552 0.286053 0.28984 0.29552 0.3012 +0.297413 0.282267 0.293627 0.297413 0.303093 0.29552 0.27848 0.282267 +0.28984 0.3012 0.303093 0.299307 0.31824 0.339067 0.327707 0.30688 +0.303093 0.308773 0.320133 0.33528 0.3296 0.32392 0.327707 0.314453 +0.291733 0.286053 0.28984 0.297413 0.304987 0.327707 0.401547 0.517053 +0.560632 0.557474 0.512 0.412907 0.359893 0.356107 0.350427 0.327707 +0.308773 0.322027 0.331493 0.32392 0.31824 0.32392 0.344747 0.378827 +0.388293 0.376933 0.371253 0.37504 0.371253 0.356107 0.342853 0.354213 +0.378827 0.42048 0.49432 0.527789 0.520211 0.40912 0.3296 0.339067 +0.378827 0.412907 0.435627 0.429947 0.393973 0.373147 0.361787 0.34664 +0.342853 0.37504 0.501263 0.617474 0.830947 0.99502 1.02506 1.03224 +1.0378 1.03943 1.0391 1.04106 1.04106 1.04139 1.04106 1.04106 +1.04073 1.04073 1.04171 1.04041 1.03943 1.04073 1.04204 1.04237 +1.03943 1.04041 1.04269 1.04106 1.03845 1.03682 1.0391 1.03943 +1.03486 1.0329 1.03127 1.03061 1.02669 1.01722 1.01265 1.01331 +1.01853 1.02376 1.02539 1.02833 1.03388 1.03878 1.03878 1.03584 +1.03747 1.03943 1.03845 1.04073 1.04498 1.04498 1.04955 1.0489 +1.04465 1.04433 1.04433 1.044 1.04171 1.04302 1.04727 1.04465 +1.04433 1.04465 1.04433 1.04433 1.04596 1.04759 1.04073 1.03812 +1.04204 1.04106 1.04041 1.04171 1.04237 1.04204 1.04269 1.04302 +1.0391 1.04073 1.03976 1.03649 1.03649 1.03812 1.03518 1.0329 +1.03257 1.03029 1.02767 1.02767 1.028 1.02669 1.02473 1.02408 +1.02669 1.02604 1.02604 1.02669 1.02735 1.03029 1.03127 1.03159 +1.03224 1.03061 1.03159 1.03094 1.03159 1.03061 1.02996 1.03159 +1.03486 1.03616 1.03649 1.03322 1.03486 1.03355 1.03486 1.03616 +1.03322 1.03322 1.03551 1.0378 1.03878 1.03616 1.03682 1.03845 +1.03812 1.03878 1.04073 1.03943 1.03943 1.04106 1.04139 1.04302 +1.044 1.04302 1.044 1.04073 1.03976 1.03845 1.03518 1.03584 +1.03518 1.03518 1.03616 1.03486 1.03551 1.03649 1.03453 1.03029 +1.02114 1.00514 0.982939 0.922526 0.835368 0.728 0.618737 0.534105 +0.458347 0.39208 0.382613 0.39776 0.412907 0.40912 0.401547 0.422373 +0.405333 0.35232 0.327707 0.314453 0.299307 0.282267 0.265227 0.263333 +0.257653 0.28416 0.3864 0.503158 0.4716 0.37504 0.339067 0.331493 +0.3296 0.327707 0.34664 0.365573 0.333387 0.31256 0.310667 0.31824 +0.308773 0.310667 0.331493 0.333387 0.32392 0.3296 0.31256 0.287947 +0.291733 0.29552 0.350427 0.4716 0.475387 0.378827 0.331493 0.322027 +0.32392 0.34096 0.356107 0.365573 0.37504 0.39208 0.388293 0.3864 +0.43184 0.522737 0.652842 0.902947 1.05249 1.05869 1.01592 0.996 +0.995673 1.00906 1.03747 1.13304 1.23651 1.14977 1.04008 1.02114 +1.02082 1.01918 1.01755 1.0169 1.01788 1.01624 1.00808 0.993388 +0.981306 0.968 0.960421 0.953474 0.954105 0.968 0.986531 0.98 +0.849263 0.644 0.48864 0.35232 0.350427 0.293627 0.00098 0.000846667 +0.00082 0.000826667 0.00082 0.000806667 0.000786667 0.0008 0.00082 0.000806667 +0.000793333 0.000786667 0.000766667 0.000766667 0.000793333 0.000773333 0.000746667 0.000733333 +0.000733333 0.000746667 0.000753333 0.000733333 0.0007 0.00072 0.000733333 0.000726667 +0.00074 0.000753333 0.00074 0.00074 0.000713333 0.000693333 0.000713333 0.00074 +0.00076 0.00072 0.000706667 0.0007 0.000726667 0.000746667 0.000746667 0.00074 +0.000706667 0.000706667 0.00072 0.000733333 0.000686667 0.000686667 0.0007 0.000686667 +0.000686667 0.000686667 0.000686667 0.000686667 0.000693333 0.000713333 0.00072 0.000693333 +0.000686667 0.000686667 0.000686667 0.00068 0.000693333 0.000706667 0.000713333 0.000706667 +0.000693333 0.000726667 0.000733333 0.000726667 0.000746667 0.000753333 0.000733333 0.000726667 +0.00072 0.0007 0.000686667 0.0007 0.000706667 0.000706667 0.0007 0.00068 +0.000686667 0.000713333 0.000733333 0.000726667 0.000693333 0.0007 0.000713333 0.000693333 +0.0007 0.00068 0.0007 0.000713333 0.00072 0.000726667 0.00074 0.000746667 +0.00074 0.00074 0.000733333 0.00072 0.00072 0.000726667 0.000726667 0.000726667 +0.00072 0.00072 0.000726667 0.000753333 0.000766667 0.00076 0.00076 0.000766667 +0.00078 0.000773333 0.00076 0.000766667 0.00078 0.000793333 0.000826667 0.00088 +0.242507 0.331493 0.322027 0.234933 0.217893 0.286053 0.348533 0.500632 +0.669263 0.896 0.991429 0.986857 0.967368 0.958526 0.952842 0.947789 +0.945263 0.949684 0.964211 0.982612 0.987837 0.989796 0.997306 1.00188 +1.0022 1.0009 1.00514 1.01331 1.01429 1.012 1.01135 1.01037 +1.00057 0.966105 0.847368 0.688211 0.558105 0.464027 0.395867 0.382613 +0.373147 0.365573 0.35232 0.32392 0.308773 0.314453 0.308773 0.344747 +0.39776 0.40344 0.36368 0.3296 0.310667 0.308773 0.31256 0.30688 +0.310667 0.316347 0.308773 0.3012 0.291733 0.286053 0.293627 0.3012 +0.29552 0.29552 0.293627 0.291733 0.304987 0.304987 0.287947 0.282267 +0.287947 0.28416 0.27848 0.28416 0.314453 0.325813 0.316347 0.297413 +0.286053 0.297413 0.322027 0.342853 0.342853 0.342853 0.339067 0.320133 +0.30688 0.30688 0.314453 0.31824 0.310667 0.304987 0.331493 0.43184 +0.534105 0.573895 0.56 0.508842 0.401547 0.376933 0.388293 0.361787 +0.333387 0.333387 0.3296 0.325813 0.320133 0.316347 0.337173 0.35232 +0.354213 0.350427 0.36936 0.378827 0.359893 0.348533 0.33528 0.327707 +0.354213 0.401547 0.458347 0.496213 0.450773 0.367467 0.359893 0.422373 +0.503158 0.516421 0.511368 0.462133 0.376933 0.342853 0.344747 0.34664 +0.35232 0.405333 0.536632 0.704632 0.924421 1.01331 1.028 1.03551 +1.03812 1.04041 1.04204 1.04269 1.04335 1.04204 1.04041 1.04204 +1.04302 1.04335 1.04498 1.04367 1.04204 1.04335 1.04465 1.04629 +1.04465 1.04433 1.04661 1.04629 1.04498 1.04367 1.04498 1.04596 +1.04335 1.04008 1.03616 1.0329 1.03127 1.02376 1.01592 1.01429 +1.01886 1.02147 1.0231 1.02669 1.03224 1.03714 1.03878 1.03649 +1.03649 1.03747 1.03878 1.04237 1.04563 1.04433 1.04596 1.04661 +1.04433 1.04465 1.04498 1.04465 1.04335 1.04237 1.04465 1.04367 +1.04335 1.04465 1.04367 1.04139 1.04302 1.04661 1.04302 1.04269 +1.04237 1.04073 1.04041 1.04171 1.04302 1.04204 1.04269 1.04335 +1.04041 1.04106 1.03976 1.03649 1.03518 1.03584 1.03224 1.02931 +1.028 1.028 1.02604 1.02539 1.02669 1.02571 1.02245 1.02376 +1.02767 1.02669 1.02571 1.02669 1.02996 1.03061 1.03094 1.03061 +1.02963 1.03029 1.03159 1.03094 1.03322 1.03322 1.03094 1.03257 +1.03551 1.03518 1.03518 1.03518 1.03616 1.03322 1.03486 1.03584 +1.03486 1.03518 1.03551 1.0378 1.04073 1.04008 1.04041 1.03943 +1.03747 1.0391 1.04073 1.03976 1.04073 1.04139 1.04106 1.04367 +1.04335 1.04204 1.04204 1.04073 1.04073 1.0378 1.03682 1.03616 +1.03584 1.0378 1.03682 1.0342 1.03616 1.0391 1.03747 1.03453 +1.02865 1.01559 0.996327 0.958526 0.883368 0.783579 0.673684 0.577684 +0.512 0.416693 0.38072 0.399653 0.40912 0.388293 0.37504 0.395867 +0.393973 0.337173 0.310667 0.299307 0.276587 0.265227 0.265227 0.259547 +0.25576 0.270907 0.367467 0.510737 0.517684 0.446987 0.365573 0.327707 +0.31824 0.308773 0.31824 0.33528 0.316347 0.308773 0.31824 0.314453 +0.3012 0.31824 0.339067 0.32392 0.304987 0.31824 0.316347 0.293627 +0.297413 0.3296 0.42616 0.520211 0.514526 0.429947 0.367467 0.344747 +0.344747 0.358 0.36368 0.359893 0.36368 0.382613 0.39208 0.388293 +0.412907 0.486747 0.580842 0.793053 1.0182 1.0813 1.02931 0.999592 +0.994367 1.00416 1.02833 1.07978 1.22129 1.19847 1.05184 1.02343 +1.01984 1.01951 1.01755 1.01657 1.0169 1.01722 1.01363 1.0022 +0.987184 0.973684 0.961053 0.953474 0.951579 0.954737 0.975579 0.990122 +0.950947 0.786105 0.587158 0.418587 0.356107 0.337173 0.25576 0.000886667 +0.000833333 0.000833333 0.000826667 0.000833333 0.000826667 0.00082 0.000813333 0.000786667 +0.000786667 0.00078 0.000773333 0.000773333 0.000786667 0.000773333 0.00076 0.000746667 +0.000753333 0.000746667 0.00074 0.000706667 0.000686667 0.000726667 0.00074 0.000726667 +0.00072 0.000713333 0.000713333 0.000726667 0.000726667 0.000733333 0.00074 0.00072 +0.000726667 0.000713333 0.00072 0.000746667 0.00074 0.00074 0.000726667 0.000713333 +0.0007 0.00072 0.000753333 0.00076 0.000706667 0.000686667 0.000693333 0.0007 +0.0007 0.000686667 0.000706667 0.000706667 0.0007 0.00072 0.000733333 0.000726667 +0.000713333 0.00072 0.000706667 0.0007 0.00072 0.000706667 0.000706667 0.0007 +0.000686667 0.0007 0.000713333 0.00072 0.000706667 0.00072 0.00072 0.000733333 +0.00074 0.00072 0.000713333 0.000693333 0.000693333 0.0007 0.000713333 0.00072 +0.0007 0.000733333 0.000753333 0.00076 0.000713333 0.000713333 0.000726667 0.0007 +0.00068 0.000693333 0.000693333 0.000686667 0.0007 0.000693333 0.000713333 0.00072 +0.000733333 0.000746667 0.000753333 0.00076 0.000753333 0.000753333 0.000746667 0.000733333 +0.000733333 0.000753333 0.000733333 0.000733333 0.000746667 0.00074 0.00076 0.00076 +0.0008 0.00082 0.000793333 0.000793333 0.0008 0.000813333 0.00086 0.000973333 +0.29552 0.350427 0.28416 0.217893 0.246293 0.322027 0.4148 0.582105 +0.803789 0.979368 0.992408 0.974947 0.959789 0.957263 0.949684 0.944632 +0.945895 0.954105 0.971789 0.986204 0.986204 0.990122 0.998286 1.00351 +1.00188 0.998612 1.00253 1.00678 1.0058 1.00482 1.00416 0.998612 +0.975579 0.884632 0.737474 0.591579 0.501263 0.393973 0.36368 0.348533 +0.339067 0.342853 0.325813 0.310667 0.30688 0.30688 0.316347 0.350427 +0.390187 0.390187 0.35232 0.314453 0.3012 0.31256 0.320133 0.320133 +0.322027 0.327707 0.322027 0.310667 0.3012 0.293627 0.299307 0.303093 +0.299307 0.28984 0.293627 0.303093 0.314453 0.31256 0.297413 0.28984 +0.28984 0.28416 0.280373 0.28416 0.303093 0.314453 0.308773 0.29552 +0.28416 0.291733 0.316347 0.331493 0.331493 0.331493 0.333387 0.344747 +0.339067 0.333387 0.339067 0.331493 0.30688 0.293627 0.308773 0.36936 +0.505053 0.565053 0.584632 0.548 0.481067 0.382613 0.356107 0.342853 +0.331493 0.327707 0.325813 0.327707 0.325813 0.31824 0.325813 0.337173 +0.33528 0.339067 0.36368 0.388293 0.371253 0.342853 0.3296 0.325813 +0.344747 0.390187 0.42048 0.43184 0.4148 0.395867 0.433733 0.509474 +0.550526 0.576421 0.558105 0.506316 0.390187 0.344747 0.34664 0.358 +0.384507 0.4716 0.595368 0.803789 0.985551 1.0231 1.0342 1.04008 +1.04008 1.04106 1.04237 1.04139 1.044 1.04367 1.04139 1.04367 +1.04596 1.04465 1.04498 1.044 1.04269 1.04531 1.04694 1.04694 +1.04661 1.04759 1.0489 1.04792 1.04759 1.04531 1.04433 1.04596 +1.04498 1.04237 1.04106 1.0378 1.0329 1.02637 1.02016 1.01755 +1.01722 1.01951 1.02278 1.02767 1.03192 1.03518 1.03747 1.03682 +1.03551 1.03584 1.03845 1.04073 1.04498 1.04367 1.04269 1.04531 +1.044 1.04433 1.04498 1.04465 1.04237 1.04106 1.044 1.04302 +1.04367 1.04498 1.04269 1.04106 1.04269 1.04629 1.04302 1.04465 +1.04498 1.04171 1.03845 1.03845 1.04041 1.03943 1.03878 1.0391 +1.0378 1.03878 1.03682 1.03518 1.03518 1.03388 1.03159 1.03029 +1.028 1.02702 1.02441 1.02506 1.02604 1.02539 1.02245 1.02539 +1.03029 1.02865 1.02702 1.02865 1.03094 1.03127 1.03224 1.03159 +1.03127 1.03192 1.03127 1.03029 1.03127 1.03257 1.03388 1.03518 +1.03486 1.03453 1.03453 1.03649 1.03812 1.03518 1.03616 1.0378 +1.03812 1.03878 1.03812 1.03714 1.04008 1.04041 1.03943 1.0391 +1.03812 1.0391 1.03943 1.04139 1.04498 1.04335 1.04302 1.04563 +1.04433 1.04367 1.04269 1.04237 1.04106 1.03616 1.03649 1.03616 +1.03747 1.03878 1.03812 1.03649 1.03682 1.0391 1.03976 1.03845 +1.03584 1.02865 1.012 0.985551 0.926947 0.842316 0.734947 0.623158 +0.534737 0.43752 0.3864 0.395867 0.384507 0.356107 0.350427 0.382613 +0.39208 0.34096 0.299307 0.27848 0.269013 0.263333 0.263333 0.26712 +0.2728 0.28984 0.344747 0.441307 0.47728 0.42048 0.358 0.331493 +0.316347 0.316347 0.308773 0.310667 0.304987 0.304987 0.31824 0.30688 +0.28984 0.303093 0.31824 0.308773 0.303093 0.31256 0.320133 0.31824 +0.331493 0.384507 0.484853 0.513263 0.484853 0.40912 0.371253 0.35232 +0.342853 0.344747 0.34664 0.348533 0.356107 0.371253 0.384507 0.378827 +0.393973 0.439413 0.534105 0.695789 0.965474 1.07065 1.04661 1.00906 +0.99698 1.00286 1.02016 1.05118 1.19238 1.23498 1.08282 1.028 +1.01722 1.01918 1.01788 1.01559 1.01527 1.01592 1.01624 1.00939 +0.993388 0.980327 0.963579 0.953474 0.953474 0.951579 0.959789 0.982612 +0.98751 0.908632 0.711579 0.529053 0.371253 0.358 0.308773 0.219787 +0.000866667 0.00084 0.00084 0.00084 0.000806667 0.000786667 0.000813333 0.000806667 +0.00078 0.00076 0.00076 0.000766667 0.000773333 0.000786667 0.000793333 0.000766667 +0.000726667 0.000733333 0.000753333 0.00074 0.00074 0.000766667 0.000746667 0.000726667 +0.00074 0.000726667 0.000733333 0.000726667 0.000693333 0.000713333 0.000726667 0.00072 +0.000726667 0.000746667 0.00076 0.000726667 0.000726667 0.000733333 0.000746667 0.000753333 +0.00076 0.000773333 0.000766667 0.00074 0.000753333 0.000726667 0.000713333 0.00072 +0.000706667 0.000706667 0.000706667 0.000693333 0.000706667 0.000713333 0.0007 0.000726667 +0.000726667 0.00074 0.00072 0.00072 0.00074 0.00072 0.000706667 0.00068 +0.000666667 0.000673333 0.00068 0.0007 0.000686667 0.000706667 0.00072 0.000713333 +0.000726667 0.00072 0.000713333 0.00072 0.00072 0.000693333 0.0007 0.000713333 +0.000693333 0.000686667 0.000686667 0.000733333 0.00072 0.0007 0.000726667 0.000693333 +0.000686667 0.0007 0.000706667 0.000706667 0.000706667 0.000693333 0.000693333 0.00068 +0.000666667 0.000686667 0.00074 0.000753333 0.00076 0.000766667 0.000753333 0.00074 +0.000713333 0.00072 0.000726667 0.000706667 0.00074 0.00078 0.000793333 0.00078 +0.000793333 0.000806667 0.000806667 0.0008 0.0008 0.000813333 0.000846667 0.229253 +0.327707 0.32392 0.234933 0.219787 0.276587 0.348533 0.514526 0.697053 +0.918737 0.996327 0.986531 0.967368 0.960421 0.955368 0.945895 0.944 +0.948421 0.964211 0.982612 0.988163 0.989143 0.993714 0.999265 1.00155 +1.00122 0.997633 0.998612 0.99698 0.996 0.995347 0.992082 0.980653 +0.916842 0.793684 0.641474 0.525263 0.412907 0.365573 0.354213 0.344747 +0.339067 0.333387 0.310667 0.30688 0.30688 0.308773 0.325813 0.33528 +0.34664 0.365573 0.358 0.327707 0.310667 0.310667 0.320133 0.322027 +0.32392 0.3296 0.333387 0.32392 0.304987 0.28416 0.28984 0.297413 +0.291733 0.282267 0.293627 0.308773 0.308773 0.310667 0.310667 0.310667 +0.310667 0.30688 0.293627 0.28984 0.293627 0.293627 0.28416 0.27848 +0.287947 0.30688 0.320133 0.31824 0.310667 0.310667 0.339067 0.367467 +0.348533 0.325813 0.325813 0.322027 0.304987 0.282267 0.28416 0.327707 +0.4432 0.544842 0.591579 0.587158 0.537263 0.439413 0.34664 0.32392 +0.314453 0.316347 0.322027 0.325813 0.331493 0.333387 0.33528 0.339067 +0.3296 0.333387 0.356107 0.38072 0.36368 0.348533 0.3296 0.33528 +0.36936 0.399653 0.39776 0.39208 0.399653 0.42616 0.458347 0.500632 +0.534105 0.561895 0.541053 0.475387 0.3864 0.359893 0.376933 0.39776 +0.43752 0.527789 0.675579 0.897263 1.00873 1.02931 1.03714 1.04008 +1.04073 1.04139 1.04139 1.04073 1.04302 1.044 1.04106 1.04269 +1.04596 1.04563 1.04465 1.04433 1.04335 1.04596 1.04824 1.04759 +1.04824 1.0489 1.04988 1.04727 1.04759 1.04694 1.04563 1.04498 +1.04335 1.04269 1.04335 1.04139 1.03682 1.03159 1.02539 1.01853 +1.01429 1.01918 1.02441 1.02898 1.03094 1.0342 1.03714 1.03649 +1.03518 1.03747 1.03943 1.03976 1.04106 1.04106 1.04106 1.04498 +1.044 1.04237 1.04302 1.04465 1.04335 1.04106 1.04433 1.044 +1.04465 1.04465 1.04171 1.04073 1.04302 1.04563 1.03943 1.03943 +1.04204 1.04139 1.03812 1.03649 1.03518 1.03682 1.03714 1.03486 +1.03322 1.03486 1.03486 1.03355 1.03388 1.03355 1.03257 1.03224 +1.02963 1.02767 1.02506 1.02865 1.03029 1.02604 1.02408 1.02735 +1.03094 1.02996 1.02767 1.028 1.02865 1.02996 1.03094 1.03257 +1.03257 1.03061 1.03029 1.03127 1.03094 1.03224 1.03518 1.03584 +1.0329 1.03388 1.03616 1.03682 1.03649 1.03486 1.03486 1.03682 +1.03976 1.0378 1.03845 1.03747 1.03845 1.03976 1.03845 1.03845 +1.04008 1.03878 1.0378 1.04106 1.04367 1.04269 1.04465 1.04661 +1.04498 1.04433 1.04367 1.04367 1.04041 1.03649 1.03682 1.03812 +1.03878 1.03845 1.0378 1.03714 1.03878 1.03976 1.03976 1.03943 +1.03943 1.0378 1.02767 1.00514 0.967368 0.893474 0.793684 0.673053 +0.565053 0.48296 0.401547 0.3864 0.371253 0.344747 0.333387 0.358 +0.373147 0.3296 0.286053 0.26144 0.265227 0.259547 0.257653 0.263333 +0.2728 0.276587 0.31824 0.350427 0.365573 0.361787 0.358 0.344747 +0.331493 0.320133 0.31256 0.31256 0.310667 0.310667 0.31824 0.314453 +0.287947 0.291733 0.293627 0.299307 0.322027 0.325813 0.327707 0.342853 +0.371253 0.422373 0.452667 0.42048 0.365573 0.342853 0.344747 0.34664 +0.33528 0.327707 0.333387 0.350427 0.361787 0.359893 0.365573 0.37504 +0.388293 0.422373 0.505684 0.618105 0.866316 1.04531 1.06609 1.02016 +0.999918 1.00122 1.01233 1.0378 1.13456 1.23651 1.13304 1.03616 +1.01788 1.01788 1.01755 1.01494 1.01527 1.01592 1.01722 1.01429 +1.00057 0.986531 0.973053 0.957895 0.956 0.952842 0.952211 0.967368 +0.986857 0.976211 0.842947 0.636421 0.47728 0.361787 0.344747 0.269013 +0.000946667 0.000853333 0.00084 0.000846667 0.000813333 0.000793333 0.00082 0.000786667 +0.00076 0.000766667 0.00078 0.000766667 0.000773333 0.000766667 0.000746667 0.000733333 +0.00074 0.000766667 0.000773333 0.000753333 0.00074 0.00074 0.00072 0.000726667 +0.000753333 0.00072 0.000726667 0.0007 0.000686667 0.00072 0.000733333 0.000726667 +0.00072 0.000733333 0.00072 0.000693333 0.000726667 0.00074 0.00076 0.00074 +0.000733333 0.000746667 0.000733333 0.000733333 0.000753333 0.00076 0.00076 0.00076 +0.00074 0.00074 0.000733333 0.000706667 0.000733333 0.000726667 0.000706667 0.0007 +0.000713333 0.000733333 0.00072 0.00072 0.000746667 0.000753333 0.000753333 0.000726667 +0.00072 0.000706667 0.000693333 0.0007 0.000693333 0.000706667 0.000726667 0.000713333 +0.00072 0.00072 0.00072 0.000713333 0.000713333 0.000706667 0.000713333 0.000693333 +0.000693333 0.0007 0.00068 0.000686667 0.000706667 0.0007 0.00072 0.00072 +0.00072 0.000726667 0.00072 0.0007 0.000693333 0.00068 0.00068 0.000693333 +0.000693333 0.0007 0.000706667 0.000713333 0.000706667 0.000733333 0.000746667 0.000753333 +0.00074 0.000753333 0.00074 0.000733333 0.00074 0.000753333 0.000766667 0.000773333 +0.000793333 0.00078 0.000773333 0.00078 0.0008 0.000813333 0.000886667 0.276587 +0.356107 0.293627 0.000986667 0.240613 0.316347 0.43184 0.606737 0.832211 +0.987184 0.997959 0.983918 0.966737 0.960421 0.954105 0.948421 0.949684 +0.955368 0.971789 0.984245 0.98751 0.990449 0.997633 1.00024 1.00384 +1.00155 0.997633 0.99502 0.992408 0.991102 0.987837 0.978737 0.942737 +0.846737 0.699579 0.561263 0.45456 0.37504 0.354213 0.354213 0.361787 +0.358 0.3296 0.30688 0.303093 0.299307 0.30688 0.314453 0.30688 +0.31824 0.350427 0.361787 0.354213 0.3296 0.3012 0.3012 0.299307 +0.297413 0.308773 0.322027 0.327707 0.31256 0.297413 0.29552 0.293627 +0.297413 0.30688 0.31824 0.316347 0.308773 0.31256 0.327707 0.34664 +0.354213 0.331493 0.3012 0.29552 0.291733 0.291733 0.282267 0.280373 +0.286053 0.303093 0.322027 0.31824 0.3012 0.3012 0.3296 0.361787 +0.344747 0.3012 0.282267 0.291733 0.293627 0.28416 0.286053 0.30688 +0.388293 0.520842 0.589053 0.623789 0.594737 0.526526 0.40344 0.337173 +0.325813 0.327707 0.344747 0.358 0.354213 0.34664 0.344747 0.344747 +0.34664 0.342853 0.36368 0.390187 0.40344 0.39776 0.36368 0.36368 +0.399653 0.40344 0.37504 0.361787 0.376933 0.399653 0.395867 0.39776 +0.467813 0.517684 0.509474 0.43184 0.3864 0.382613 0.405333 0.439413 +0.504421 0.584 0.763368 0.964842 1.02245 1.0342 1.03845 1.04073 +1.04041 1.04106 1.04171 1.04171 1.04302 1.04465 1.04302 1.04302 +1.04629 1.04792 1.04629 1.04563 1.04596 1.04629 1.04661 1.04759 +1.04922 1.04922 1.05053 1.04922 1.04922 1.04661 1.04498 1.04563 +1.04367 1.04367 1.04433 1.04204 1.03878 1.03551 1.02767 1.01722 +1.01559 1.02114 1.02473 1.02669 1.02996 1.03486 1.03714 1.03616 +1.03551 1.0378 1.03976 1.04269 1.04269 1.04204 1.04139 1.04433 +1.04433 1.04171 1.04106 1.044 1.04367 1.04335 1.04727 1.04596 +1.04367 1.04367 1.04139 1.04139 1.04367 1.04465 1.03943 1.0378 +1.03812 1.03878 1.03878 1.03747 1.03453 1.0378 1.03747 1.0342 +1.0329 1.03486 1.03518 1.03127 1.03192 1.03127 1.02963 1.02996 +1.028 1.02702 1.02506 1.02669 1.02833 1.02604 1.02571 1.02833 +1.03029 1.03061 1.02865 1.02767 1.02767 1.03192 1.03029 1.03094 +1.03192 1.03029 1.03094 1.03192 1.03159 1.0329 1.03518 1.03453 +1.03224 1.03355 1.03518 1.03714 1.03747 1.03518 1.03551 1.03714 +1.03812 1.03649 1.03812 1.0378 1.0378 1.0391 1.03943 1.04008 +1.04237 1.04106 1.04041 1.04335 1.04367 1.04465 1.04629 1.04367 +1.04171 1.04139 1.04204 1.04171 1.03812 1.03616 1.03714 1.0391 +1.0378 1.03714 1.03845 1.0391 1.0391 1.03976 1.04008 1.0391 +1.03584 1.0329 1.02767 1.01363 0.986531 0.922526 0.830947 0.722947 +0.611789 0.524632 0.424267 0.354213 0.33528 0.333387 0.3296 0.344747 +0.34664 0.31256 0.276587 0.25576 0.25008 0.253867 0.269013 0.269013 +0.269013 0.274693 0.293627 0.303093 0.299307 0.310667 0.325813 0.331493 +0.32392 0.320133 0.320133 0.327707 0.32392 0.31256 0.316347 0.3296 +0.31824 0.304987 0.310667 0.333387 0.361787 0.361787 0.354213 0.361787 +0.36936 0.38072 0.36936 0.339067 0.310667 0.30688 0.325813 0.339067 +0.337173 0.33528 0.333387 0.342853 0.350427 0.344747 0.348533 0.36936 +0.38072 0.405333 0.464027 0.561263 0.764 1.00808 1.0813 1.03355 +1.0058 1.00057 1.00612 1.02571 1.07217 1.22738 1.18629 1.04727 +1.02212 1.0169 1.0182 1.01657 1.01722 1.0169 1.0182 1.01755 +1.00906 0.994694 0.981633 0.964211 0.956632 0.952842 0.947789 0.952842 +0.974316 0.98751 0.943368 0.774105 0.577053 0.42048 0.359893 0.314453 +0.23304 0.000893333 0.00084 0.00086 0.00084 0.00082 0.00082 0.000806667 +0.0008 0.000793333 0.000786667 0.00078 0.000773333 0.000726667 0.00072 0.000753333 +0.00078 0.000766667 0.00074 0.000726667 0.00074 0.00076 0.000746667 0.000726667 +0.000733333 0.000706667 0.00072 0.000713333 0.000726667 0.000746667 0.000733333 0.000733333 +0.00072 0.00072 0.00072 0.00074 0.00076 0.00074 0.00072 0.000693333 +0.000706667 0.00074 0.000733333 0.00072 0.000753333 0.000753333 0.000733333 0.000733333 +0.000746667 0.00076 0.000733333 0.000713333 0.00072 0.000713333 0.000693333 0.000693333 +0.0007 0.000706667 0.0007 0.000706667 0.000726667 0.000726667 0.00074 0.00074 +0.000746667 0.00074 0.000726667 0.00072 0.000706667 0.0007 0.000706667 0.000713333 +0.000713333 0.00072 0.000706667 0.000713333 0.0007 0.000693333 0.000706667 0.000686667 +0.000686667 0.000706667 0.000706667 0.000693333 0.000706667 0.0007 0.000706667 0.000726667 +0.00072 0.00072 0.00074 0.000726667 0.000726667 0.000746667 0.000733333 0.000733333 +0.00072 0.00072 0.000726667 0.000726667 0.000713333 0.000713333 0.000713333 0.000726667 +0.000746667 0.000766667 0.00076 0.000773333 0.000766667 0.000773333 0.000766667 0.00076 +0.000786667 0.00078 0.000766667 0.000793333 0.000833333 0.00086 0.223573 0.32392 +0.344747 0.253867 0.217893 0.280373 0.36936 0.535368 0.733053 0.938316 +0.998612 0.991429 0.98 0.961053 0.954105 0.950316 0.949053 0.952211 +0.959789 0.973684 0.981633 0.984571 0.989796 0.99698 0.999592 1.0022 +1.00024 0.994694 0.991102 0.988816 0.985224 0.975579 0.952211 0.892211 +0.765895 0.615579 0.508211 0.390187 0.354213 0.354213 0.371253 0.393973 +0.384507 0.32392 0.3012 0.299307 0.28984 0.291733 0.291733 0.29552 +0.31824 0.35232 0.384507 0.411013 0.388293 0.3296 0.30688 0.297413 +0.287947 0.28984 0.3012 0.316347 0.333387 0.322027 0.31256 0.303093 +0.320133 0.34664 0.33528 0.320133 0.31824 0.316347 0.327707 0.367467 +0.3864 0.342853 0.304987 0.291733 0.293627 0.28984 0.287947 0.293627 +0.3012 0.31824 0.333387 0.31824 0.29552 0.28984 0.3012 0.33528 +0.342853 0.310667 0.287947 0.287947 0.291733 0.293627 0.293627 0.297413 +0.339067 0.479173 0.574526 0.647789 0.658526 0.602316 0.518316 0.395867 +0.344747 0.33528 0.354213 0.378827 0.382613 0.358 0.33528 0.342853 +0.365573 0.358 0.36368 0.401547 0.452667 0.456453 0.39208 0.376933 +0.399653 0.3864 0.356107 0.344747 0.348533 0.354213 0.358 0.38072 +0.43184 0.503158 0.508842 0.45456 0.4148 0.42616 0.43184 0.464027 +0.529684 0.645895 0.846105 0.996 1.02898 1.03584 1.0391 1.04204 +1.04041 1.04237 1.04563 1.04498 1.04302 1.04465 1.04629 1.04596 +1.04661 1.04694 1.04433 1.04433 1.04629 1.04661 1.0489 1.04988 +1.04922 1.04824 1.04857 1.04824 1.04922 1.04596 1.044 1.04792 +1.04596 1.04367 1.04498 1.04596 1.04204 1.0378 1.02963 1.01918 +1.01755 1.0218 1.02571 1.02735 1.02865 1.0329 1.03518 1.03584 +1.03649 1.03747 1.03878 1.04465 1.04629 1.04204 1.03976 1.04171 +1.04367 1.04139 1.04008 1.04139 1.04139 1.04335 1.04727 1.04563 +1.04335 1.044 1.04204 1.04237 1.04563 1.04367 1.0378 1.03812 +1.03682 1.03584 1.03616 1.03518 1.03453 1.03845 1.03714 1.03322 +1.03159 1.03257 1.03388 1.02963 1.03029 1.02996 1.02931 1.02931 +1.02669 1.02702 1.02735 1.028 1.02604 1.02278 1.02506 1.02996 +1.03061 1.028 1.02735 1.028 1.02833 1.03322 1.03257 1.03192 +1.03159 1.02898 1.028 1.02996 1.03192 1.03388 1.03355 1.03094 +1.03224 1.03486 1.03518 1.03584 1.03453 1.03518 1.03878 1.04073 +1.03845 1.0378 1.0378 1.03845 1.03812 1.0391 1.04041 1.04106 +1.04302 1.04335 1.04465 1.04498 1.044 1.04498 1.04694 1.04335 +1.04139 1.04204 1.04302 1.04171 1.03845 1.03649 1.03649 1.03714 +1.03714 1.03747 1.03714 1.03649 1.03616 1.03649 1.03682 1.03518 +1.0329 1.02931 1.02343 1.012 0.991102 0.940842 0.863789 0.774737 +0.661684 0.549895 0.42616 0.325813 0.316347 0.32392 0.314453 0.314453 +0.314453 0.293627 0.274693 0.26144 0.259547 0.263333 0.259547 0.253867 +0.269013 0.282267 0.287947 0.28984 0.291733 0.29552 0.308773 0.308773 +0.3012 0.299307 0.308773 0.320133 0.31256 0.3012 0.320133 0.373147 +0.393973 0.37504 0.376933 0.390187 0.3864 0.36368 0.34664 0.342853 +0.337173 0.3296 0.32392 0.304987 0.287947 0.291733 0.316347 0.331493 +0.342853 0.34664 0.331493 0.33528 0.344747 0.34664 0.34664 0.361787 +0.373147 0.39208 0.433733 0.522105 0.670526 0.936421 1.05576 1.04955 +1.01494 1.00155 0.999592 1.012 1.04824 1.21216 1.23346 1.05673 +1.02539 1.01722 1.01788 1.01722 1.01755 1.01755 1.01657 1.0169 +1.01429 1.00253 0.987184 0.971789 0.957895 0.952211 0.950316 0.948421 +0.957263 0.981633 0.985224 0.899158 0.703368 0.525263 0.36936 0.342853 +0.286053 0.00098 0.000866667 0.000866667 0.000833333 0.000813333 0.000826667 0.000833333 +0.000833333 0.0008 0.000773333 0.000753333 0.000766667 0.00078 0.00078 0.00076 +0.000733333 0.000726667 0.00072 0.00074 0.000746667 0.00074 0.000713333 0.000713333 +0.00072 0.000733333 0.00076 0.00074 0.00074 0.000733333 0.000726667 0.000733333 +0.000726667 0.00072 0.00074 0.00076 0.000753333 0.000726667 0.00072 0.00072 +0.00074 0.000753333 0.000733333 0.0007 0.00072 0.000713333 0.0007 0.000693333 +0.000726667 0.000746667 0.00074 0.00072 0.00072 0.000713333 0.000693333 0.000693333 +0.0007 0.000686667 0.000686667 0.000686667 0.000693333 0.000686667 0.000706667 0.000726667 +0.00072 0.000713333 0.000706667 0.000706667 0.0007 0.000706667 0.0007 0.000706667 +0.000726667 0.000726667 0.000706667 0.0007 0.000706667 0.000686667 0.000693333 0.000686667 +0.00068 0.00068 0.000686667 0.000706667 0.000733333 0.000713333 0.000713333 0.000713333 +0.0007 0.000693333 0.000733333 0.000753333 0.000746667 0.000753333 0.000753333 0.00072 +0.000713333 0.000693333 0.000713333 0.000746667 0.000753333 0.00074 0.00072 0.00072 +0.000733333 0.000726667 0.000726667 0.000746667 0.000766667 0.000793333 0.00078 0.000773333 +0.000806667 0.000806667 0.0008 0.000793333 0.000833333 0.000913333 0.274693 0.344747 +0.297413 0.223573 0.253867 0.333387 0.475387 0.637053 0.861895 0.986531 +0.991429 0.978105 0.961684 0.951579 0.950316 0.947158 0.948421 0.955368 +0.966737 0.979368 0.982286 0.986531 0.994367 0.998612 1.00024 0.999918 +0.996327 0.992082 0.989143 0.984898 0.975579 0.952842 0.918105 0.825263 +0.678737 0.546737 0.42048 0.344747 0.325813 0.33528 0.365573 0.40344 +0.388293 0.3296 0.30688 0.299307 0.291733 0.291733 0.287947 0.28984 +0.3012 0.325813 0.388293 0.464027 0.44888 0.367467 0.316347 0.3012 +0.29552 0.297413 0.3012 0.316347 0.325813 0.339067 0.34096 0.344747 +0.37504 0.393973 0.356107 0.32392 0.308773 0.299307 0.308773 0.36368 +0.378827 0.342853 0.31256 0.291733 0.28984 0.287947 0.282267 0.299307 +0.331493 0.361787 0.365573 0.3296 0.297413 0.282267 0.293627 0.320133 +0.356107 0.337173 0.303093 0.297413 0.29552 0.291733 0.293627 0.3012 +0.327707 0.407227 0.542947 0.643368 0.704632 0.688842 0.603579 0.514526 +0.407227 0.373147 0.38072 0.3864 0.384507 0.35232 0.322027 0.33528 +0.371253 0.382613 0.36936 0.378827 0.418587 0.428053 0.378827 0.361787 +0.365573 0.356107 0.356107 0.35232 0.358 0.371253 0.38072 0.399653 +0.439413 0.506316 0.524632 0.504421 0.450773 0.445093 0.42616 0.458347 +0.548632 0.707789 0.925684 1.01657 1.03486 1.0391 1.04008 1.04335 +1.04433 1.04498 1.04727 1.04661 1.044 1.04465 1.04792 1.04727 +1.04498 1.04563 1.04563 1.04465 1.04498 1.04465 1.04759 1.04857 +1.04824 1.04759 1.04727 1.04759 1.04857 1.04629 1.04302 1.04694 +1.04563 1.04367 1.04465 1.04563 1.04204 1.03812 1.0329 1.02376 +1.01886 1.02016 1.02506 1.02669 1.02604 1.02898 1.0329 1.03584 +1.03714 1.03747 1.03747 1.04106 1.04367 1.04302 1.04171 1.04139 +1.04269 1.04171 1.04237 1.044 1.04367 1.04335 1.04367 1.04139 +1.04139 1.044 1.04302 1.04237 1.04335 1.04073 1.03584 1.03551 +1.0342 1.03355 1.0329 1.0329 1.03453 1.03812 1.03518 1.03257 +1.03127 1.03094 1.03094 1.02735 1.02865 1.02865 1.02898 1.02898 +1.02735 1.028 1.02865 1.02963 1.02669 1.02343 1.02539 1.02996 +1.03094 1.02669 1.02604 1.02898 1.02996 1.03127 1.03127 1.03224 +1.03029 1.02931 1.02996 1.03159 1.03355 1.03551 1.03453 1.03127 +1.0329 1.03584 1.03682 1.03584 1.03355 1.03518 1.04041 1.04106 +1.0391 1.03812 1.03714 1.03812 1.03812 1.03943 1.03976 1.04041 +1.04269 1.04465 1.04629 1.044 1.04335 1.04531 1.04433 1.04171 +1.04171 1.044 1.04302 1.04041 1.03845 1.03714 1.0378 1.0378 +1.03878 1.0378 1.03551 1.0342 1.03388 1.0342 1.0329 1.03159 +1.03159 1.03127 1.02767 1.0182 1.0022 0.972421 0.909263 0.825263 +0.701474 0.568211 0.429947 0.320133 0.310667 0.30688 0.293627 0.293627 +0.297413 0.28416 0.2728 0.259547 0.263333 0.269013 0.257653 0.257653 +0.270907 0.26712 0.274693 0.282267 0.287947 0.28984 0.303093 0.314453 +0.3012 0.303093 0.3012 0.29552 0.291733 0.28416 0.34664 0.48296 +0.517053 0.503789 0.46024 0.418587 0.36936 0.333387 0.310667 0.31256 +0.310667 0.303093 0.293627 0.286053 0.28416 0.287947 0.303093 0.31824 +0.325813 0.331493 0.3296 0.337173 0.350427 0.358 0.354213 0.367467 +0.38072 0.395867 0.418587 0.486747 0.596632 0.832842 1.03257 1.06152 +1.02376 1.0009 0.992408 0.998286 1.03061 1.15434 1.25172 1.09195 +1.02996 1.01788 1.0169 1.01624 1.01624 1.01624 1.01494 1.0169 +1.01657 1.00906 0.994041 0.980653 0.962947 0.954105 0.954737 0.951579 +0.949684 0.963579 0.985878 0.972421 0.830316 0.619368 0.446987 0.356107 +0.33528 0.25008 0.000906667 0.00088 0.000853333 0.00082 0.0008 0.000813333 +0.000806667 0.00078 0.00078 0.000773333 0.000773333 0.00076 0.00074 0.00072 +0.00074 0.000733333 0.00074 0.000746667 0.000726667 0.0007 0.000693333 0.000733333 +0.000753333 0.000753333 0.000746667 0.000733333 0.00072 0.000733333 0.000753333 0.00076 +0.000746667 0.00072 0.000726667 0.000733333 0.000726667 0.00074 0.00074 0.00074 +0.000753333 0.00074 0.000733333 0.000726667 0.000686667 0.00068 0.000686667 0.000693333 +0.0007 0.000706667 0.00072 0.000726667 0.00074 0.00074 0.000726667 0.000706667 +0.000713333 0.000713333 0.000713333 0.0007 0.0007 0.0007 0.000693333 0.0007 +0.000693333 0.000686667 0.0007 0.000713333 0.000726667 0.000733333 0.000726667 0.00074 +0.000726667 0.000706667 0.0007 0.000706667 0.00072 0.000713333 0.00072 0.000713333 +0.000693333 0.000686667 0.000693333 0.0007 0.000713333 0.000706667 0.0007 0.000706667 +0.0007 0.000673333 0.000686667 0.0007 0.00072 0.000733333 0.000733333 0.00072 +0.000706667 0.000673333 0.00068 0.0007 0.000726667 0.000746667 0.000733333 0.00072 +0.000726667 0.00072 0.000726667 0.000733333 0.00074 0.000773333 0.0008 0.0008 +0.000833333 0.000833333 0.000826667 0.00082 0.000846667 0.22168 0.32392 0.34096 +0.25576 0.22736 0.29552 0.39208 0.560632 0.772211 0.961053 0.994041 +0.980653 0.958526 0.948421 0.946526 0.948421 0.948421 0.952842 0.959789 +0.971789 0.979368 0.981633 0.989143 0.99698 1.00122 1.00122 0.99698 +0.991102 0.98751 0.985551 0.981959 0.966105 0.935158 0.876421 0.753263 +0.601684 0.490533 0.361787 0.320133 0.310667 0.316347 0.344747 0.38072 +0.37504 0.358 0.350427 0.3296 0.314453 0.316347 0.308773 0.3012 +0.299307 0.308773 0.37504 0.445093 0.428053 0.348533 0.3012 0.29552 +0.3012 0.299307 0.3012 0.304987 0.31824 0.354213 0.373147 0.3864 +0.418587 0.441307 0.418587 0.373147 0.333387 0.303093 0.303093 0.339067 +0.356107 0.339067 0.31256 0.299307 0.303093 0.291733 0.282267 0.304987 +0.339067 0.367467 0.359893 0.3296 0.308773 0.3012 0.29552 0.308773 +0.337173 0.333387 0.30688 0.293627 0.293627 0.297413 0.297413 0.303093 +0.31256 0.354213 0.506947 0.614316 0.718526 0.751368 0.690105 0.577684 +0.4716 0.388293 0.39776 0.395867 0.365573 0.331493 0.314453 0.316347 +0.342853 0.388293 0.39776 0.36936 0.365573 0.37504 0.367467 0.36936 +0.384507 0.399653 0.39776 0.38072 0.38072 0.399653 0.418587 0.428053 +0.452667 0.510737 0.531579 0.509474 0.435627 0.418587 0.418587 0.484853 +0.573263 0.761474 0.975579 1.02473 1.03518 1.04041 1.04237 1.044 +1.04563 1.04498 1.04596 1.04661 1.04367 1.04498 1.04727 1.04694 +1.04498 1.04629 1.04727 1.04498 1.04465 1.04367 1.04498 1.04661 +1.04727 1.04694 1.04661 1.04531 1.04498 1.04465 1.04335 1.04433 +1.04367 1.04302 1.04302 1.04335 1.04139 1.04041 1.03649 1.02735 +1.02114 1.02049 1.02473 1.028 1.02898 1.02931 1.03257 1.03518 +1.03518 1.03649 1.03812 1.03812 1.03943 1.04367 1.04269 1.04106 +1.04237 1.04269 1.04465 1.04629 1.04465 1.04531 1.04498 1.04139 +1.04041 1.04106 1.03976 1.04073 1.04106 1.03845 1.0378 1.03649 +1.03388 1.03355 1.03224 1.0329 1.03355 1.03518 1.03355 1.03127 +1.03159 1.03159 1.03029 1.02931 1.03029 1.02865 1.02931 1.03029 +1.02898 1.028 1.028 1.02865 1.02637 1.02637 1.02898 1.02931 +1.02898 1.028 1.02865 1.03029 1.03094 1.03159 1.0329 1.03257 +1.03061 1.03094 1.03192 1.03322 1.03486 1.03486 1.0342 1.03388 +1.03584 1.03584 1.03551 1.03518 1.03518 1.03584 1.03747 1.03747 +1.03747 1.03584 1.03682 1.0378 1.0378 1.0391 1.03878 1.0391 +1.04041 1.04465 1.04563 1.04433 1.04433 1.04498 1.04171 1.03943 +1.04139 1.04335 1.04237 1.03812 1.03682 1.03714 1.04041 1.04008 +1.03812 1.0378 1.03584 1.03355 1.03355 1.03486 1.03486 1.03355 +1.03322 1.0342 1.0329 1.02539 1.01167 0.988163 0.932632 0.846105 +0.725474 0.592211 0.479173 0.337173 0.291733 0.280373 0.280373 0.286053 +0.27848 0.274693 0.27848 0.26712 0.280373 0.280373 0.269013 0.2728 +0.270907 0.263333 0.269013 0.276587 0.276587 0.282267 0.28984 0.310667 +0.308773 0.310667 0.31256 0.304987 0.303093 0.31256 0.43184 0.547368 +0.573263 0.537895 0.473493 0.382613 0.3296 0.304987 0.303093 0.299307 +0.303093 0.291733 0.286053 0.286053 0.291733 0.28984 0.287947 0.30688 +0.31824 0.325813 0.322027 0.31824 0.333387 0.350427 0.365573 0.373147 +0.388293 0.395867 0.405333 0.441307 0.545474 0.736842 0.99502 1.06152 +1.0342 1.00449 0.991755 0.992408 1.01722 1.08739 1.25781 1.1513 +1.03616 1.01886 1.01657 1.01592 1.01527 1.01527 1.01461 1.0169 +1.01755 1.01363 1.00122 0.986857 0.969263 0.954105 0.952211 0.954737 +0.949684 0.950316 0.969263 0.984898 0.933263 0.754526 0.56 0.40344 +0.359893 0.29552 0.000986667 0.0009 0.00086 0.000806667 0.000766667 0.000786667 +0.0008 0.000786667 0.000806667 0.00078 0.000733333 0.000706667 0.00074 0.000766667 +0.000793333 0.00076 0.000733333 0.000726667 0.00072 0.00072 0.000733333 0.00076 +0.000746667 0.000733333 0.000726667 0.000733333 0.000726667 0.000746667 0.00076 0.00074 +0.00072 0.000706667 0.000733333 0.000753333 0.00074 0.000746667 0.000733333 0.00074 +0.00074 0.000733333 0.000733333 0.00074 0.000693333 0.000673333 0.000686667 0.000706667 +0.000706667 0.000706667 0.000706667 0.000713333 0.000706667 0.000713333 0.000726667 0.00072 +0.000713333 0.000713333 0.000706667 0.000693333 0.000686667 0.000693333 0.000706667 0.000706667 +0.000706667 0.000706667 0.000706667 0.00072 0.000726667 0.000733333 0.00072 0.000733333 +0.000726667 0.0007 0.0007 0.000706667 0.00072 0.000713333 0.00074 0.00074 +0.000733333 0.000733333 0.00072 0.000706667 0.000693333 0.00068 0.00068 0.000706667 +0.00072 0.0007 0.000693333 0.000693333 0.00068 0.000693333 0.000706667 0.00072 +0.000713333 0.000706667 0.0007 0.000713333 0.000726667 0.000706667 0.00072 0.000726667 +0.000733333 0.000746667 0.00076 0.00076 0.000746667 0.00076 0.00076 0.000766667 +0.000806667 0.000806667 0.00082 0.00082 0.000873333 0.257653 0.342853 0.304987 +0.23304 0.259547 0.342853 0.506316 0.671789 0.898526 0.992408 0.986857 +0.964842 0.952842 0.946526 0.945895 0.946526 0.945895 0.955368 0.966737 +0.975579 0.978737 0.982939 0.992082 0.998939 1.00286 0.999918 0.993714 +0.987837 0.985224 0.983265 0.978105 0.953474 0.908 0.817684 0.673684 +0.539158 0.401547 0.3296 0.31256 0.310667 0.325813 0.344747 0.354213 +0.358 0.378827 0.39776 0.3864 0.378827 0.384507 0.373147 0.35232 +0.325813 0.325813 0.37504 0.422373 0.416693 0.350427 0.304987 0.304987 +0.310667 0.3012 0.293627 0.303093 0.333387 0.359893 0.350427 0.342853 +0.371253 0.401547 0.412907 0.393973 0.359893 0.322027 0.304987 0.320133 +0.34664 0.34096 0.31824 0.308773 0.308773 0.293627 0.286053 0.297413 +0.320133 0.337173 0.34096 0.32392 0.308773 0.30688 0.3012 0.3012 +0.314453 0.320133 0.30688 0.3012 0.304987 0.3012 0.29552 0.28416 +0.286053 0.31824 0.42048 0.567579 0.702737 0.784211 0.762737 0.650316 +0.519579 0.36936 0.356107 0.373147 0.34664 0.304987 0.28984 0.28984 +0.308773 0.358 0.390187 0.376933 0.365573 0.371253 0.393973 0.441307 +0.486747 0.501895 0.462133 0.407227 0.388293 0.39776 0.422373 0.428053 +0.43184 0.486747 0.516421 0.5 0.411013 0.405333 0.43184 0.516421 +0.615579 0.816421 0.99502 1.02931 1.03747 1.04204 1.044 1.04563 +1.04563 1.044 1.04563 1.04857 1.04792 1.04857 1.04792 1.04727 +1.04629 1.04498 1.04563 1.04465 1.04531 1.04563 1.04563 1.04629 +1.04661 1.04727 1.04629 1.04563 1.04629 1.04727 1.04596 1.04433 +1.04335 1.04269 1.04269 1.04498 1.04335 1.04106 1.03878 1.03061 +1.02278 1.02049 1.02376 1.028 1.03094 1.02931 1.03061 1.0329 +1.03322 1.03486 1.03943 1.04008 1.04073 1.04073 1.0391 1.03943 +1.04335 1.04269 1.04367 1.04335 1.04269 1.04596 1.04596 1.04237 +1.04008 1.04171 1.04073 1.04008 1.03747 1.03518 1.03714 1.03616 +1.03453 1.03322 1.03159 1.0329 1.03224 1.03355 1.03257 1.0329 +1.03322 1.03094 1.02931 1.02865 1.03029 1.02996 1.03094 1.03192 +1.02963 1.028 1.02963 1.02996 1.02669 1.02735 1.02931 1.02735 +1.02669 1.02865 1.02996 1.02963 1.02996 1.03061 1.03127 1.03159 +1.02931 1.02996 1.03029 1.03159 1.03355 1.03388 1.0329 1.03486 +1.03714 1.03518 1.0329 1.03388 1.03584 1.03714 1.03714 1.03747 +1.03714 1.03682 1.03714 1.03747 1.03878 1.03976 1.03878 1.03878 +1.04008 1.044 1.04367 1.04171 1.04465 1.04629 1.04204 1.03943 +1.04335 1.04433 1.04139 1.03878 1.04008 1.03943 1.03976 1.0391 +1.03682 1.03682 1.03584 1.03453 1.03551 1.03453 1.03388 1.03355 +1.03355 1.0329 1.03029 1.0231 1.01102 0.991429 0.935789 0.849263 +0.749474 0.630105 0.518947 0.356107 0.263333 0.23872 0.257653 0.276587 +0.276587 0.27848 0.286053 0.287947 0.30688 0.303093 0.29552 0.28984 +0.276587 0.276587 0.282267 0.287947 0.293627 0.291733 0.291733 0.310667 +0.31824 0.31256 0.308773 0.314453 0.3296 0.3864 0.532211 0.612421 +0.610526 0.536632 0.416693 0.333387 0.308773 0.29552 0.28984 0.28416 +0.286053 0.291733 0.293627 0.297413 0.299307 0.291733 0.287947 0.297413 +0.316347 0.316347 0.320133 0.3296 0.342853 0.358 0.36936 0.36936 +0.36936 0.376933 0.393973 0.422373 0.515158 0.659158 0.921263 1.05118 +1.04596 1.01135 0.993061 0.988816 1.00776 1.05249 1.23955 1.19694 +1.04269 1.01886 1.01592 1.01592 1.01624 1.01624 1.01494 1.01657 +1.0182 1.01559 1.00645 0.992082 0.976842 0.959158 0.951579 0.953474 +0.952842 0.950316 0.956632 0.980653 0.982939 0.884632 0.681895 0.516421 +0.384507 0.339067 0.257653 0.00092 0.00084 0.000813333 0.000786667 0.000806667 +0.000826667 0.000793333 0.000786667 0.000753333 0.000726667 0.000753333 0.00078 0.00078 +0.000786667 0.000746667 0.000733333 0.00074 0.000753333 0.00076 0.000766667 0.000753333 +0.00074 0.00074 0.00074 0.000746667 0.000733333 0.000726667 0.00072 0.000706667 +0.000713333 0.00072 0.00076 0.000766667 0.000746667 0.000746667 0.000733333 0.000733333 +0.000726667 0.000726667 0.000733333 0.000733333 0.000746667 0.000713333 0.000706667 0.000706667 +0.000686667 0.000673333 0.00068 0.0007 0.0007 0.000693333 0.000713333 0.000726667 +0.00072 0.0007 0.000706667 0.000693333 0.000693333 0.000693333 0.0007 0.000713333 +0.000713333 0.000706667 0.000713333 0.000713333 0.00072 0.000706667 0.000686667 0.000693333 +0.000706667 0.000726667 0.000726667 0.000713333 0.00072 0.00072 0.000733333 0.000733333 +0.000726667 0.00072 0.00072 0.000726667 0.00074 0.00072 0.000693333 0.000706667 +0.000713333 0.000713333 0.00072 0.000713333 0.0007 0.000686667 0.0007 0.000713333 +0.000693333 0.000686667 0.0007 0.00072 0.000733333 0.000733333 0.000733333 0.000746667 +0.00076 0.000766667 0.000766667 0.000766667 0.000773333 0.00078 0.00076 0.000766667 +0.000786667 0.00078 0.000806667 0.000846667 0.217893 0.316347 0.34664 0.265227 +0.231147 0.293627 0.4148 0.590316 0.807579 0.980653 0.993388 0.974316 +0.954737 0.950947 0.944632 0.944632 0.945263 0.945895 0.959789 0.971789 +0.974316 0.979368 0.986531 0.99502 1.0009 1.00155 0.99698 0.989796 +0.986204 0.986531 0.983265 0.969263 0.931368 0.866316 0.742526 0.592211 +0.469707 0.35232 0.32392 0.320133 0.320133 0.333387 0.339067 0.331493 +0.350427 0.39208 0.429947 0.446987 0.45456 0.46592 0.469707 0.43752 +0.378827 0.367467 0.405333 0.450773 0.46592 0.395867 0.33528 0.3296 +0.322027 0.304987 0.304987 0.320133 0.337173 0.32392 0.293627 0.28984 +0.3012 0.3296 0.342853 0.339067 0.331493 0.316347 0.308773 0.333387 +0.350427 0.344747 0.327707 0.3296 0.331493 0.310667 0.29552 0.29552 +0.314453 0.339067 0.348533 0.320133 0.299307 0.297413 0.30688 0.30688 +0.316347 0.31824 0.314453 0.308773 0.308773 0.303093 0.29552 0.28984 +0.293627 0.31824 0.371253 0.527158 0.661053 0.777895 0.804421 0.727368 +0.582105 0.428053 0.339067 0.350427 0.354213 0.316347 0.282267 0.280373 +0.303093 0.337173 0.367467 0.3864 0.401547 0.422373 0.490533 0.524 +0.529684 0.516421 0.4716 0.411013 0.390187 0.3864 0.40344 0.411013 +0.4148 0.446987 0.501263 0.481067 0.418587 0.424267 0.469707 0.539789 +0.666105 0.881474 1.01102 1.0342 1.04204 1.04498 1.04465 1.04531 +1.04596 1.04661 1.04759 1.04922 1.04988 1.04922 1.04792 1.04596 +1.04433 1.04335 1.04596 1.04661 1.04498 1.04498 1.04204 1.04204 +1.044 1.04596 1.04694 1.04531 1.044 1.04433 1.044 1.04367 +1.04498 1.04367 1.044 1.04563 1.04171 1.03878 1.03845 1.03224 +1.02441 1.02245 1.02408 1.02735 1.03127 1.02963 1.03061 1.03388 +1.03388 1.03388 1.03747 1.03976 1.04139 1.03943 1.03845 1.04008 +1.04302 1.04237 1.04204 1.04106 1.044 1.04727 1.04629 1.04237 +1.03976 1.04269 1.04204 1.03943 1.03616 1.03355 1.0342 1.03257 +1.03192 1.03029 1.02963 1.0329 1.03355 1.0329 1.03061 1.03224 +1.03159 1.02767 1.02931 1.02833 1.02931 1.02996 1.03094 1.03127 +1.02898 1.03029 1.03224 1.02931 1.02506 1.02506 1.02669 1.02604 +1.02702 1.02898 1.02865 1.03029 1.03127 1.02931 1.02996 1.02898 +1.02963 1.03159 1.03192 1.0329 1.03388 1.03322 1.03322 1.03584 +1.03649 1.03584 1.03453 1.03616 1.03682 1.0378 1.0378 1.03976 +1.0378 1.0378 1.04073 1.03976 1.04139 1.04139 1.04073 1.04106 +1.04302 1.04465 1.04269 1.04269 1.04629 1.04563 1.04139 1.04008 +1.04433 1.04465 1.04106 1.03943 1.04237 1.04139 1.04073 1.04073 +1.03943 1.03714 1.03486 1.03616 1.03714 1.0329 1.03322 1.03322 +1.03094 1.028 1.02376 1.01886 1.01037 0.993714 0.945895 0.865684 +0.779158 0.668632 0.541684 0.359893 0.259547 0.240613 0.253867 0.274693 +0.291733 0.30688 0.320133 0.316347 0.31256 0.310667 0.299307 0.28984 +0.287947 0.293627 0.293627 0.293627 0.299307 0.3012 0.299307 0.310667 +0.32392 0.331493 0.331493 0.33528 0.35232 0.481067 0.590947 0.659158 +0.615579 0.517684 0.371253 0.322027 0.308773 0.29552 0.286053 0.27848 +0.280373 0.286053 0.29552 0.308773 0.316347 0.304987 0.297413 0.303093 +0.314453 0.322027 0.33528 0.358 0.376933 0.384507 0.37504 0.371253 +0.367467 0.373147 0.393973 0.4148 0.48864 0.597895 0.833474 1.03192 +1.05478 1.01918 0.996327 0.98751 0.999592 1.03812 1.1939 1.22281 +1.05151 1.02016 1.01559 1.01592 1.01592 1.01657 1.01657 1.01722 +1.01853 1.0182 1.01233 0.999592 0.982939 0.966105 0.953474 0.952211 +0.956632 0.953474 0.952842 0.966105 0.985551 0.965474 0.814526 0.605474 +0.456453 0.367467 0.310667 0.223573 0.0009 0.00088 0.000826667 0.00082 +0.000806667 0.000766667 0.00076 0.00076 0.00076 0.00076 0.000773333 0.000773333 +0.000773333 0.000733333 0.000726667 0.00076 0.000753333 0.000733333 0.000753333 0.00076 +0.000766667 0.000773333 0.000753333 0.00074 0.000726667 0.00072 0.000733333 0.000733333 +0.000733333 0.00074 0.000753333 0.00076 0.000753333 0.00076 0.00076 0.00074 +0.000726667 0.000726667 0.000726667 0.000726667 0.00074 0.00074 0.00072 0.000706667 +0.000693333 0.0007 0.000713333 0.000713333 0.000706667 0.000693333 0.0007 0.00072 +0.00072 0.000706667 0.00072 0.00072 0.000726667 0.00072 0.000706667 0.000713333 +0.0007 0.0007 0.000706667 0.00072 0.000733333 0.00072 0.000713333 0.000713333 +0.000706667 0.00072 0.00072 0.0007 0.000686667 0.000713333 0.000713333 0.00072 +0.000713333 0.0007 0.000706667 0.000693333 0.000706667 0.000726667 0.000706667 0.0007 +0.000693333 0.000693333 0.000693333 0.000706667 0.00072 0.00074 0.000726667 0.000733333 +0.000706667 0.00068 0.000666667 0.000706667 0.000713333 0.000713333 0.000726667 0.000753333 +0.000766667 0.00076 0.000773333 0.00076 0.000753333 0.000786667 0.000786667 0.000806667 +0.000806667 0.000793333 0.000833333 0.000886667 0.263333 0.356107 0.31824 0.234933 +0.248187 0.34096 0.525895 0.710947 0.921895 0.994367 0.984571 0.960421 +0.952842 0.951579 0.945895 0.945263 0.945263 0.950947 0.969263 0.974316 +0.971158 0.980327 0.989796 0.997959 1.0009 1.0009 0.993714 0.986204 +0.985551 0.985551 0.981959 0.959789 0.909263 0.818947 0.666737 0.530947 +0.388293 0.331493 0.327707 0.333387 0.34664 0.36368 0.367467 0.358 +0.358 0.376933 0.407227 0.429947 0.43184 0.43184 0.441307 0.412907 +0.367467 0.371253 0.416693 0.48296 0.503789 0.452667 0.3864 0.358 +0.322027 0.308773 0.325813 0.348533 0.33528 0.299307 0.27848 0.27848 +0.286053 0.29552 0.293627 0.291733 0.28984 0.28416 0.291733 0.310667 +0.337173 0.337173 0.32392 0.33528 0.339067 0.316347 0.293627 0.297413 +0.331493 0.373147 0.382613 0.34096 0.31256 0.316347 0.32392 0.325813 +0.322027 0.314453 0.308773 0.303093 0.303093 0.30688 0.31256 0.325813 +0.348533 0.373147 0.40344 0.505053 0.604842 0.734947 0.811368 0.791158 +0.668632 0.525895 0.36368 0.331493 0.354213 0.33528 0.303093 0.303093 +0.322027 0.337173 0.34664 0.376933 0.441307 0.512 0.559368 0.584632 +0.561895 0.519579 0.4432 0.395867 0.3864 0.376933 0.378827 0.388293 +0.405333 0.429947 0.48296 0.475387 0.412907 0.412907 0.48864 0.561895 +0.714737 0.933263 1.02049 1.03616 1.04204 1.04367 1.04465 1.04563 +1.04629 1.04661 1.04694 1.04759 1.04792 1.04694 1.04629 1.04335 +1.04237 1.04237 1.04335 1.044 1.04237 1.04269 1.04139 1.04237 +1.04367 1.04433 1.04498 1.04335 1.04269 1.04335 1.04433 1.04498 +1.04531 1.04498 1.04629 1.04727 1.04335 1.04106 1.04008 1.03453 +1.02735 1.02637 1.02669 1.02767 1.03224 1.03127 1.03127 1.03518 +1.03649 1.0378 1.03714 1.0391 1.04269 1.04171 1.03845 1.03812 +1.04204 1.04237 1.04171 1.04237 1.04531 1.04498 1.04498 1.04433 +1.04139 1.04237 1.04008 1.03714 1.03616 1.03453 1.0342 1.03127 +1.02963 1.02767 1.02996 1.03355 1.03192 1.03061 1.03029 1.0329 +1.03127 1.028 1.02996 1.02865 1.03029 1.03192 1.0329 1.03094 +1.02931 1.03224 1.03029 1.02604 1.02571 1.02637 1.028 1.02833 +1.02833 1.02637 1.02637 1.02963 1.03159 1.03061 1.03224 1.03061 +1.03127 1.0329 1.03388 1.0342 1.03453 1.03486 1.03355 1.03453 +1.03486 1.03551 1.03551 1.03616 1.03714 1.03845 1.03747 1.04008 +1.0378 1.03845 1.04139 1.04008 1.04171 1.04237 1.04335 1.04433 +1.04498 1.04237 1.04139 1.04465 1.04694 1.04367 1.04106 1.04367 +1.04433 1.04204 1.03812 1.03943 1.04237 1.04204 1.04204 1.04041 +1.03943 1.03812 1.03453 1.03486 1.03322 1.03127 1.03486 1.03453 +1.03029 1.02571 1.02245 1.01984 1.01429 0.997633 0.957263 0.888421 +0.803158 0.688842 0.553053 0.371253 0.276587 0.269013 0.270907 0.2728 +0.280373 0.297413 0.314453 0.30688 0.297413 0.286053 0.276587 0.27848 +0.291733 0.297413 0.293627 0.286053 0.291733 0.304987 0.314453 0.32392 +0.342853 0.359893 0.36368 0.354213 0.382613 0.519579 0.620632 0.660421 +0.587158 0.467813 0.342853 0.327707 0.325813 0.32392 0.316347 0.303093 +0.28984 0.287947 0.29552 0.314453 0.331493 0.331493 0.3296 0.333387 +0.342853 0.36936 0.365573 0.365573 0.3864 0.395867 0.38072 0.38072 +0.382613 0.38072 0.39208 0.411013 0.452667 0.551789 0.744421 0.996327 +1.05282 1.02865 1.00351 0.991755 0.995673 1.02637 1.14217 1.23346 +1.06609 1.0231 1.01461 1.01592 1.01592 1.01657 1.0169 1.01592 +1.01755 1.01853 1.01461 1.00612 0.989143 0.974947 0.961684 0.956 +0.955368 0.951579 0.949684 0.954737 0.974947 0.987184 0.919368 0.724842 +0.542316 0.39776 0.35232 0.280373 0.000986667 0.00088 0.00084 0.000826667 +0.00082 0.000806667 0.00078 0.000773333 0.000746667 0.000746667 0.00078 0.000786667 +0.000786667 0.00074 0.000733333 0.000753333 0.000746667 0.00074 0.000766667 0.000753333 +0.00074 0.000726667 0.000706667 0.000713333 0.000726667 0.000726667 0.000733333 0.000726667 +0.00072 0.00072 0.00074 0.00074 0.000733333 0.000753333 0.000773333 0.000753333 +0.00072 0.000713333 0.000706667 0.00072 0.0007 0.00072 0.00076 0.000746667 +0.000726667 0.00072 0.000706667 0.0007 0.00072 0.00072 0.000706667 0.0007 +0.0007 0.000706667 0.000706667 0.000713333 0.000726667 0.000706667 0.0007 0.000706667 +0.000706667 0.000726667 0.000746667 0.000726667 0.000733333 0.000733333 0.00074 0.00074 +0.000713333 0.000706667 0.00072 0.000726667 0.0007 0.0007 0.000713333 0.000726667 +0.000746667 0.000726667 0.00072 0.000693333 0.00068 0.0007 0.000706667 0.000713333 +0.000693333 0.000686667 0.000686667 0.000693333 0.000706667 0.000713333 0.000706667 0.00072 +0.000726667 0.000713333 0.000713333 0.000726667 0.000726667 0.000706667 0.000693333 0.00072 +0.000746667 0.000726667 0.000766667 0.00078 0.000773333 0.0008 0.000813333 0.000826667 +0.00084 0.00084 0.000886667 0.216 0.30688 0.344747 0.265227 0.231147 +0.299307 0.450773 0.625684 0.841053 0.983265 0.98849 0.967368 0.954105 +0.956 0.956 0.950947 0.949053 0.947789 0.957263 0.970526 0.969263 +0.970526 0.983918 0.992735 0.997306 1.00024 0.997306 0.990776 0.986204 +0.987184 0.986531 0.981633 0.949684 0.884632 0.760842 0.59979 0.473493 +0.348533 0.320133 0.331493 0.342853 0.361787 0.36936 0.358 0.339067 +0.320133 0.322027 0.342853 0.359893 0.348533 0.3296 0.320133 0.308773 +0.314453 0.342853 0.388293 0.435627 0.45456 0.44888 0.433733 0.39208 +0.339067 0.320133 0.3296 0.331493 0.31824 0.30688 0.293627 0.286053 +0.287947 0.28416 0.27848 0.276587 0.276587 0.2728 0.276587 0.29552 +0.314453 0.327707 0.32392 0.32392 0.32392 0.308773 0.29552 0.310667 +0.36368 0.428053 0.4432 0.384507 0.331493 0.3296 0.34096 0.34664 +0.348533 0.333387 0.325813 0.310667 0.3012 0.303093 0.325813 0.36936 +0.40912 0.405333 0.39776 0.441307 0.542947 0.662947 0.777263 0.818947 +0.750737 0.597895 0.435627 0.325813 0.333387 0.3296 0.31256 0.314453 +0.32392 0.33528 0.348533 0.388293 0.490533 0.560632 0.638947 0.657895 +0.610526 0.538526 0.445093 0.393973 0.393973 0.384507 0.376933 0.378827 +0.390187 0.42048 0.462133 0.462133 0.4148 0.4148 0.505684 0.591579 +0.767158 0.971789 1.02669 1.03812 1.04204 1.04335 1.044 1.04498 +1.04661 1.04792 1.04759 1.04727 1.04694 1.04498 1.04465 1.04498 +1.04433 1.04237 1.04237 1.04433 1.04563 1.04531 1.04531 1.04433 +1.04433 1.04531 1.04661 1.04661 1.04694 1.04629 1.04661 1.04563 +1.04433 1.04531 1.04531 1.04596 1.04433 1.04139 1.04041 1.03616 +1.02931 1.02702 1.02735 1.028 1.03159 1.03029 1.02833 1.03029 +1.03322 1.03812 1.03714 1.03878 1.04106 1.04008 1.03714 1.03649 +1.04041 1.04204 1.04302 1.04335 1.04531 1.04367 1.04367 1.04498 +1.04204 1.04106 1.0391 1.03649 1.03584 1.03322 1.03388 1.03094 +1.02996 1.02767 1.02963 1.03127 1.03094 1.0329 1.03355 1.03322 +1.02963 1.02898 1.02996 1.03029 1.03388 1.0329 1.03127 1.028 +1.02833 1.03061 1.02767 1.02408 1.02571 1.02833 1.02898 1.02767 +1.02604 1.02571 1.02833 1.02963 1.03094 1.0329 1.0342 1.03061 +1.03029 1.03224 1.03224 1.03257 1.03355 1.0329 1.03192 1.03355 +1.03584 1.03616 1.03518 1.03486 1.03649 1.03878 1.03812 1.0391 +1.03616 1.03812 1.04139 1.04073 1.04073 1.04171 1.04335 1.04531 +1.04661 1.04269 1.04204 1.04498 1.04531 1.04237 1.04269 1.04596 +1.044 1.04269 1.04008 1.04139 1.04269 1.04171 1.04041 1.03812 +1.0378 1.03649 1.03453 1.03551 1.03322 1.03322 1.03453 1.03257 +1.02833 1.02571 1.02441 1.02147 1.01494 0.999265 0.968 0.902947 +0.812 0.688842 0.553053 0.3864 0.280373 0.257653 0.259547 0.26144 +0.257653 0.2728 0.297413 0.293627 0.276587 0.257653 0.25576 0.27848 +0.293627 0.28416 0.27848 0.28416 0.293627 0.31256 0.331493 0.34664 +0.34664 0.35232 0.354213 0.35232 0.401547 0.535368 0.622526 0.630737 +0.547368 0.416693 0.354213 0.36368 0.378827 0.38072 0.37504 0.350427 +0.333387 0.339067 0.348533 0.359893 0.38072 0.401547 0.416693 0.40912 +0.399653 0.407227 0.38072 0.35232 0.356107 0.36368 0.35232 0.359893 +0.37504 0.390187 0.399653 0.40344 0.429947 0.520211 0.667368 0.925684 +1.04106 1.04008 1.01429 0.998939 0.99698 1.01722 1.07978 1.23194 +1.11934 1.02963 1.01494 1.01494 1.01527 1.01494 1.01527 1.01429 +1.01592 1.01657 1.01461 1.01167 0.998612 0.984898 0.972421 0.956632 +0.950316 0.952842 0.954737 0.952211 0.961684 0.984898 0.977474 0.849263 +0.644632 0.498107 0.37504 0.322027 0.236827 0.00088 0.00086 0.000846667 +0.000846667 0.000806667 0.00078 0.000793333 0.000786667 0.0008 0.000806667 0.0008 +0.000766667 0.000726667 0.000726667 0.00076 0.000766667 0.000753333 0.000753333 0.000713333 +0.000693333 0.000686667 0.000706667 0.000733333 0.000733333 0.000726667 0.000726667 0.000726667 +0.000713333 0.000713333 0.00074 0.000733333 0.000733333 0.000746667 0.000726667 0.000706667 +0.0007 0.000713333 0.000746667 0.000746667 0.000693333 0.000693333 0.000713333 0.000733333 +0.00074 0.00072 0.000693333 0.000666667 0.000686667 0.000713333 0.00072 0.00068 +0.00068 0.0007 0.000686667 0.000686667 0.0007 0.000686667 0.00068 0.000686667 +0.000686667 0.000706667 0.000733333 0.000726667 0.000726667 0.000726667 0.00072 0.00072 +0.000706667 0.000706667 0.000706667 0.000713333 0.0007 0.000686667 0.00068 0.000686667 +0.000706667 0.000713333 0.000713333 0.000693333 0.000686667 0.000693333 0.0007 0.00072 +0.000726667 0.000706667 0.0007 0.00068 0.000686667 0.0007 0.000706667 0.00072 +0.000726667 0.000726667 0.000726667 0.00074 0.000726667 0.000706667 0.00072 0.00074 +0.000746667 0.00072 0.000733333 0.000766667 0.000786667 0.000793333 0.000806667 0.000826667 +0.000846667 0.000833333 0.000913333 0.263333 0.342853 0.310667 0.234933 0.25576 +0.36368 0.546737 0.750105 0.943368 0.992082 0.974316 0.952842 0.950316 +0.956632 0.957895 0.952842 0.950316 0.952842 0.965474 0.972421 0.966105 +0.970526 0.983592 0.996 0.998612 1.00024 0.995347 0.988816 0.988163 +0.988816 0.987184 0.98 0.937053 0.846737 0.697053 0.548632 0.407227 +0.32392 0.310667 0.31824 0.3296 0.337173 0.325813 0.314453 0.30688 +0.297413 0.3012 0.322027 0.3296 0.308773 0.293627 0.28416 0.28416 +0.304987 0.331493 0.344747 0.348533 0.356107 0.395867 0.43752 0.412907 +0.354213 0.314453 0.30688 0.30688 0.308773 0.30688 0.297413 0.29552 +0.297413 0.297413 0.287947 0.27848 0.287947 0.282267 0.280373 0.27848 +0.28984 0.310667 0.331493 0.333387 0.322027 0.310667 0.303093 0.322027 +0.39776 0.501895 0.515158 0.46592 0.376933 0.354213 0.350427 0.356107 +0.367467 0.36936 0.350427 0.3296 0.320133 0.320133 0.339067 0.367467 +0.399653 0.382613 0.348533 0.358 0.452667 0.577053 0.707158 0.797474 +0.793053 0.674316 0.525895 0.359893 0.3296 0.333387 0.31824 0.304987 +0.304987 0.320133 0.34664 0.39776 0.510737 0.611789 0.719158 0.728632 +0.652211 0.549263 0.441307 0.3864 0.39208 0.388293 0.367467 0.367467 +0.3864 0.416693 0.450773 0.4432 0.412907 0.422373 0.516421 0.625684 +0.820842 0.993061 1.03094 1.03878 1.04204 1.04465 1.04367 1.04204 +1.044 1.04661 1.04433 1.04302 1.04465 1.04531 1.04465 1.04531 +1.04433 1.04367 1.04531 1.04596 1.04596 1.04596 1.04727 1.04465 +1.04367 1.04563 1.04792 1.04792 1.04694 1.04563 1.04596 1.04629 +1.04531 1.04367 1.04204 1.04237 1.04139 1.0391 1.0391 1.03616 +1.03094 1.02833 1.028 1.02898 1.03257 1.03159 1.02865 1.02931 +1.03127 1.03486 1.0342 1.03812 1.04008 1.0378 1.03747 1.03747 +1.04008 1.04139 1.04335 1.04367 1.04465 1.04563 1.04531 1.04465 +1.04171 1.04073 1.03551 1.03159 1.03061 1.02996 1.03127 1.02963 +1.02963 1.028 1.03061 1.03453 1.03518 1.03518 1.03453 1.03257 +1.02865 1.02996 1.03061 1.03224 1.03322 1.02963 1.028 1.02637 +1.02767 1.02996 1.028 1.02441 1.02539 1.02833 1.02931 1.02865 +1.02767 1.02702 1.03029 1.02833 1.03127 1.0342 1.03061 1.02702 +1.03061 1.03355 1.03257 1.03388 1.03486 1.03355 1.03159 1.03453 +1.03747 1.03584 1.03486 1.03486 1.03682 1.03878 1.04041 1.03943 +1.03714 1.03747 1.04008 1.04335 1.04335 1.04302 1.04302 1.04596 +1.04629 1.04367 1.04563 1.04629 1.04237 1.04008 1.04433 1.04661 +1.04498 1.04433 1.044 1.044 1.04269 1.04204 1.03878 1.03616 +1.03649 1.03518 1.03551 1.03453 1.03355 1.03486 1.03453 1.03224 +1.02898 1.028 1.02735 1.02212 1.01265 0.999918 0.978737 0.908632 +0.813263 0.680632 0.539158 0.365573 0.26712 0.234933 0.236827 0.248187 +0.253867 0.263333 0.29552 0.299307 0.26712 0.25576 0.280373 0.3012 +0.299307 0.282267 0.274693 0.286053 0.297413 0.314453 0.327707 0.325813 +0.320133 0.322027 0.327707 0.344747 0.42616 0.542316 0.601053 0.583368 +0.514526 0.399653 0.365573 0.371253 0.382613 0.393973 0.39776 0.382613 +0.373147 0.384507 0.399653 0.40344 0.407227 0.43752 0.486747 0.479173 +0.429947 0.401547 0.37504 0.34664 0.337173 0.34096 0.331493 0.337173 +0.356107 0.382613 0.393973 0.388293 0.407227 0.49432 0.606105 0.837895 +1.0182 1.04727 1.02637 1.00678 1.00122 1.01069 1.04988 1.2152 +1.17412 1.03943 1.01657 1.01429 1.01494 1.01461 1.01624 1.01559 +1.01429 1.01494 1.01592 1.01559 1.00645 0.992082 0.978105 0.958526 +0.950947 0.954105 0.956632 0.949053 0.949053 0.969263 0.986857 0.947158 +0.774105 0.570105 0.4148 0.358 0.286053 0.00096 0.00086 0.00082 +0.000813333 0.000793333 0.0008 0.000813333 0.000786667 0.00078 0.000786667 0.000766667 +0.000746667 0.000753333 0.000753333 0.00076 0.000746667 0.000726667 0.000726667 0.00072 +0.00072 0.000713333 0.000726667 0.00074 0.00072 0.000733333 0.000733333 0.000746667 +0.000746667 0.000733333 0.000746667 0.000733333 0.00074 0.000733333 0.000706667 0.00072 +0.00072 0.000746667 0.00076 0.000726667 0.00072 0.000706667 0.000686667 0.0007 +0.000746667 0.000773333 0.00076 0.00072 0.000713333 0.000726667 0.000713333 0.00072 +0.00074 0.000733333 0.00072 0.00072 0.000726667 0.0007 0.0007 0.0007 +0.000686667 0.000693333 0.00072 0.000726667 0.000706667 0.000713333 0.000706667 0.000693333 +0.000693333 0.000686667 0.000706667 0.000693333 0.000686667 0.000693333 0.000686667 0.000693333 +0.000693333 0.0007 0.000706667 0.000693333 0.000706667 0.000733333 0.000713333 0.000706667 +0.000713333 0.000713333 0.000706667 0.000706667 0.0007 0.000713333 0.000713333 0.000726667 +0.000733333 0.000726667 0.000713333 0.000726667 0.000726667 0.000726667 0.000733333 0.000753333 +0.000746667 0.000726667 0.00074 0.000766667 0.000786667 0.000793333 0.000806667 0.00084 +0.000853333 0.000866667 0.217893 0.30688 0.34664 0.270907 0.23304 0.3012 +0.48296 0.649684 0.869474 0.986857 0.985551 0.959789 0.949053 0.952842 +0.962316 0.964211 0.954737 0.950947 0.959158 0.970526 0.971158 0.971158 +0.980653 0.98849 0.997306 0.999918 0.998939 0.993061 0.989796 0.991102 +0.989796 0.985551 0.971158 0.912421 0.791158 0.635158 0.510737 0.36368 +0.31824 0.31824 0.322027 0.327707 0.320133 0.304987 0.299307 0.29552 +0.291733 0.299307 0.316347 0.316347 0.299307 0.287947 0.287947 0.299307 +0.310667 0.314453 0.31256 0.299307 0.30688 0.348533 0.411013 0.42048 +0.367467 0.308773 0.293627 0.308773 0.320133 0.30688 0.29552 0.303093 +0.310667 0.30688 0.291733 0.28416 0.287947 0.287947 0.28416 0.287947 +0.282267 0.29552 0.32392 0.337173 0.3296 0.303093 0.29552 0.316347 +0.405333 0.527158 0.561895 0.534737 0.46024 0.38072 0.361787 0.344747 +0.344747 0.365573 0.36368 0.344747 0.337173 0.33528 0.331493 0.34096 +0.350427 0.344747 0.33528 0.333387 0.359893 0.506947 0.620632 0.738105 +0.786105 0.725474 0.587158 0.433733 0.344747 0.34664 0.320133 0.28984 +0.282267 0.286053 0.30688 0.3864 0.538526 0.681895 0.8 0.788 +0.674947 0.542947 0.4432 0.411013 0.407227 0.399653 0.38072 0.371253 +0.378827 0.399653 0.43752 0.446987 0.428053 0.450773 0.542316 0.670526 +0.868842 1.00482 1.03388 1.04237 1.044 1.04367 1.04302 1.04302 +1.044 1.04563 1.04433 1.04465 1.04596 1.04498 1.04269 1.04269 +1.044 1.044 1.04498 1.04465 1.04629 1.04563 1.04531 1.04596 +1.04498 1.04433 1.04596 1.04531 1.04367 1.044 1.04433 1.04629 +1.04629 1.04302 1.04106 1.04139 1.04106 1.04041 1.04008 1.0378 +1.03388 1.02931 1.02767 1.02767 1.03127 1.03127 1.02865 1.03061 +1.0329 1.03453 1.03388 1.03486 1.03943 1.04008 1.04041 1.03845 +1.03878 1.03943 1.04106 1.04204 1.04041 1.03976 1.04171 1.04106 +1.0391 1.03878 1.03388 1.02898 1.02637 1.02604 1.02996 1.03127 +1.03453 1.03159 1.03453 1.03747 1.03747 1.03518 1.03453 1.0342 +1.0329 1.03388 1.03224 1.03192 1.03127 1.02996 1.02963 1.02833 +1.02931 1.03061 1.02735 1.02343 1.02669 1.02898 1.02833 1.03094 +1.03224 1.02996 1.02996 1.02604 1.03029 1.03322 1.02767 1.02833 +1.03486 1.0342 1.0329 1.03551 1.03584 1.03518 1.03453 1.03518 +1.03616 1.03584 1.03551 1.03616 1.03714 1.0378 1.03976 1.03943 +1.04041 1.03976 1.04106 1.04302 1.04302 1.04269 1.04139 1.044 +1.04269 1.04204 1.04759 1.04629 1.04106 1.04204 1.04531 1.04465 +1.04433 1.044 1.04498 1.04433 1.04269 1.04139 1.03649 1.03616 +1.03649 1.03616 1.03649 1.03388 1.0342 1.03616 1.0342 1.03388 +1.03257 1.03029 1.02767 1.02245 1.01331 1.00318 0.983592 0.919368 +0.822105 0.682526 0.536 0.344747 0.242507 0.225467 0.225467 0.2444 +0.259547 0.26144 0.29552 0.310667 0.269013 0.265227 0.29552 0.316347 +0.304987 0.293627 0.293627 0.28984 0.287947 0.304987 0.31256 0.31256 +0.31256 0.308773 0.31256 0.34096 0.43752 0.529684 0.553053 0.524632 +0.435627 0.342853 0.31824 0.310667 0.314453 0.331493 0.342853 0.33528 +0.322027 0.333387 0.35232 0.344747 0.33528 0.361787 0.428053 0.439413 +0.388293 0.367467 0.36936 0.359893 0.350427 0.34096 0.333387 0.337173 +0.348533 0.365573 0.37504 0.378827 0.39776 0.458347 0.562526 0.753895 +0.984571 1.04531 1.03714 1.01363 1.00416 1.00808 1.04139 1.19694 +1.2152 1.04824 1.01918 1.01494 1.01592 1.01624 1.01624 1.01755 +1.01592 1.01494 1.01657 1.01722 1.01069 0.99698 0.982612 0.966105 +0.954105 0.952211 0.954737 0.950316 0.948421 0.956 0.980653 0.984245 +0.887789 0.683789 0.520211 0.39776 0.337173 0.240613 0.0009 0.000826667 +0.000813333 0.0008 0.00082 0.0008 0.000733333 0.000726667 0.000746667 0.00076 +0.000773333 0.000773333 0.000746667 0.000733333 0.000753333 0.00074 0.00074 0.000746667 +0.00074 0.000726667 0.00074 0.000733333 0.00072 0.000726667 0.000733333 0.000746667 +0.00076 0.00076 0.000753333 0.00072 0.00074 0.00074 0.000726667 0.000726667 +0.000733333 0.000746667 0.000733333 0.000713333 0.000713333 0.000706667 0.000693333 0.00068 +0.000693333 0.000713333 0.000733333 0.000733333 0.000713333 0.000726667 0.000693333 0.0007 +0.000726667 0.00074 0.00074 0.000726667 0.00074 0.00074 0.00074 0.000726667 +0.00072 0.0007 0.000706667 0.000713333 0.000706667 0.000713333 0.000733333 0.000733333 +0.00072 0.000713333 0.00072 0.00072 0.000706667 0.000706667 0.0007 0.0007 +0.000713333 0.0007 0.000693333 0.000673333 0.000693333 0.00072 0.000706667 0.000693333 +0.000713333 0.000713333 0.000726667 0.000726667 0.000693333 0.0007 0.000693333 0.0007 +0.000733333 0.00072 0.000706667 0.000733333 0.000746667 0.000726667 0.00074 0.000773333 +0.0008 0.000786667 0.0008 0.000806667 0.0008 0.000793333 0.000793333 0.000826667 +0.000853333 0.00092 0.259547 0.342853 0.31824 0.2444 0.251973 0.37504 +0.568211 0.777263 0.956632 0.990449 0.971789 0.950947 0.945895 0.951579 +0.965474 0.972421 0.962947 0.957263 0.964842 0.970526 0.966105 0.972421 +0.982939 0.992408 0.996653 0.995347 0.993388 0.989796 0.992082 0.994041 +0.991102 0.984245 0.956 0.868211 0.720421 0.577053 0.452667 0.34096 +0.3296 0.331493 0.331493 0.327707 0.314453 0.303093 0.30688 0.304987 +0.28984 0.28984 0.3012 0.304987 0.299307 0.293627 0.291733 0.29552 +0.291733 0.291733 0.297413 0.293627 0.3012 0.322027 0.361787 0.40344 +0.378827 0.32392 0.308773 0.31824 0.3296 0.316347 0.299307 0.29552 +0.31256 0.303093 0.293627 0.28984 0.287947 0.287947 0.303093 0.304987 +0.282267 0.28416 0.31256 0.3296 0.31824 0.287947 0.276587 0.303093 +0.399653 0.536632 0.602316 0.598526 0.534105 0.43184 0.382613 0.358 +0.350427 0.365573 0.365573 0.365573 0.356107 0.327707 0.316347 0.322027 +0.320133 0.320133 0.320133 0.320133 0.35232 0.445093 0.551158 0.656 +0.737474 0.738105 0.645895 0.522737 0.38072 0.354213 0.333387 0.3012 +0.28984 0.291733 0.30688 0.42048 0.582737 0.752 0.859368 0.817684 +0.669263 0.520842 0.429947 0.44888 0.43752 0.4148 0.39776 0.384507 +0.378827 0.399653 0.441307 0.469707 0.462133 0.496213 0.570737 0.711579 +0.904842 1.01167 1.03486 1.04269 1.04269 1.04171 1.04269 1.044 +1.04465 1.04596 1.04629 1.04563 1.04531 1.04302 1.04073 1.04204 +1.044 1.04465 1.04367 1.04433 1.04792 1.04661 1.04204 1.04433 +1.04531 1.044 1.04498 1.04563 1.04596 1.04465 1.04269 1.04433 +1.04563 1.04335 1.04204 1.04073 1.04106 1.04008 1.03943 1.03878 +1.03649 1.02996 1.02604 1.02571 1.02996 1.03159 1.03029 1.03094 +1.03388 1.0342 1.03355 1.0329 1.0378 1.04106 1.03976 1.03551 +1.03747 1.04041 1.04106 1.04041 1.03943 1.03747 1.03878 1.03747 +1.03388 1.03551 1.03486 1.03192 1.02963 1.03127 1.0329 1.03224 +1.03682 1.03714 1.03878 1.03943 1.03714 1.03616 1.03518 1.03322 +1.03453 1.03714 1.03486 1.03518 1.03257 1.03355 1.03257 1.03159 +1.0329 1.03159 1.02702 1.02506 1.02865 1.02996 1.02735 1.03127 +1.03159 1.03029 1.03224 1.03029 1.03127 1.02931 1.02767 1.02996 +1.03453 1.03486 1.03355 1.03714 1.0378 1.03714 1.03616 1.03518 +1.03453 1.03388 1.03616 1.03682 1.03845 1.0378 1.0378 1.0378 +1.03976 1.04008 1.04171 1.04269 1.04139 1.04073 1.04106 1.04335 +1.04269 1.04367 1.04498 1.04269 1.04139 1.04433 1.04661 1.04531 +1.04269 1.04237 1.04563 1.04661 1.04465 1.04041 1.03747 1.03747 +1.03649 1.03649 1.03518 1.03388 1.03453 1.03355 1.03355 1.03388 +1.0329 1.03061 1.02702 1.0218 1.01657 1.00743 0.98849 0.939579 +0.844842 0.695158 0.541684 0.356107 0.25008 0.223573 0.229253 0.257653 +0.27848 0.286053 0.316347 0.32392 0.287947 0.282267 0.303093 0.316347 +0.325813 0.320133 0.308773 0.286053 0.28416 0.297413 0.303093 0.314453 +0.31824 0.310667 0.31256 0.3296 0.407227 0.500632 0.501263 0.416693 +0.322027 0.27848 0.26712 0.276587 0.280373 0.28984 0.303093 0.303093 +0.291733 0.297413 0.3012 0.291733 0.28416 0.299307 0.34096 0.358 +0.339067 0.333387 0.337173 0.344747 0.34664 0.34096 0.333387 0.333387 +0.339067 0.354213 0.367467 0.373147 0.39208 0.4432 0.534105 0.681263 +0.916211 1.03453 1.04433 1.01918 1.0058 1.0058 1.03192 1.16043 +1.23803 1.05576 1.01984 1.012 1.01363 1.01657 1.01559 1.01624 +1.01722 1.01624 1.01624 1.0182 1.01331 1.00057 0.985878 0.972421 +0.956632 0.952211 0.956632 0.956 0.954737 0.951579 0.963579 0.985224 +0.966737 0.818316 0.609263 0.462133 0.36936 0.297413 0.223573 0.000873333 +0.000853333 0.00082 0.00082 0.000813333 0.00076 0.000746667 0.00076 0.000766667 +0.00076 0.000746667 0.000726667 0.000753333 0.00078 0.000746667 0.000733333 0.000733333 +0.00074 0.00074 0.000753333 0.00076 0.000746667 0.00074 0.00074 0.000746667 +0.00074 0.000746667 0.00074 0.00074 0.000766667 0.000733333 0.00072 0.000713333 +0.000713333 0.000726667 0.000746667 0.000746667 0.000713333 0.00072 0.0007 0.000706667 +0.000706667 0.0007 0.000706667 0.000713333 0.0007 0.000693333 0.000693333 0.0007 +0.000706667 0.000713333 0.000733333 0.000726667 0.000706667 0.000713333 0.000726667 0.00074 +0.00072 0.000713333 0.0007 0.0007 0.0007 0.00068 0.000713333 0.00072 +0.00074 0.00076 0.000746667 0.00074 0.000726667 0.000726667 0.00072 0.0007 +0.000713333 0.000713333 0.000733333 0.000706667 0.0007 0.000706667 0.0007 0.000693333 +0.000713333 0.000733333 0.000713333 0.000713333 0.000713333 0.000713333 0.000713333 0.00072 +0.000733333 0.00074 0.00074 0.00076 0.000773333 0.000766667 0.000786667 0.00078 +0.0008 0.000786667 0.000786667 0.000806667 0.000813333 0.000813333 0.0008 0.00082 +0.000846667 0.000966667 0.3012 0.354213 0.287947 0.251973 0.316347 0.509474 +0.678105 0.891579 0.987184 0.982286 0.957263 0.945263 0.944 0.950947 +0.962947 0.968 0.960421 0.962316 0.969263 0.966737 0.966737 0.978737 +0.984245 0.992082 0.995673 0.994367 0.990122 0.98849 0.992082 0.992735 +0.990449 0.981959 0.938316 0.816421 0.651579 0.530947 0.395867 0.331493 +0.337173 0.34096 0.344747 0.333387 0.314453 0.308773 0.320133 0.31824 +0.3012 0.29552 0.297413 0.293627 0.287947 0.293627 0.293627 0.291733 +0.286053 0.282267 0.286053 0.293627 0.3012 0.299307 0.320133 0.37504 +0.399653 0.36368 0.327707 0.32392 0.32392 0.320133 0.30688 0.303093 +0.304987 0.30688 0.310667 0.304987 0.299307 0.308773 0.325813 0.325813 +0.28984 0.280373 0.28984 0.308773 0.310667 0.291733 0.282267 0.314453 +0.399653 0.525895 0.611789 0.652842 0.593474 0.502526 0.401547 0.39208 +0.401547 0.39208 0.36936 0.38072 0.38072 0.34664 0.322027 0.31824 +0.325813 0.333387 0.322027 0.320133 0.361787 0.4148 0.492427 0.564421 +0.653474 0.702105 0.673053 0.578316 0.481067 0.39776 0.399653 0.376933 +0.339067 0.327707 0.342853 0.479173 0.625053 0.799368 0.878947 0.806947 +0.638947 0.492427 0.388293 0.422373 0.435627 0.418587 0.399653 0.39208 +0.395867 0.4148 0.45456 0.48296 0.479173 0.507579 0.585895 0.739368 +0.933263 1.01624 1.0342 1.04073 1.04204 1.04433 1.04433 1.04302 +1.04302 1.04498 1.04629 1.04531 1.04563 1.04465 1.04302 1.04269 +1.04269 1.044 1.04269 1.04204 1.04563 1.04629 1.04433 1.04433 +1.04269 1.04204 1.044 1.04498 1.04531 1.04498 1.04237 1.04204 +1.04465 1.04465 1.044 1.044 1.04335 1.0391 1.03878 1.03845 +1.03518 1.02931 1.02637 1.02669 1.03094 1.03224 1.03094 1.03192 +1.0329 1.03257 1.0342 1.03355 1.03747 1.0391 1.0378 1.03584 +1.03878 1.04335 1.04269 1.03943 1.0378 1.03616 1.03714 1.03486 +1.03061 1.03159 1.03224 1.03094 1.02996 1.03322 1.03649 1.03649 +1.03812 1.03812 1.03943 1.04041 1.0391 1.03878 1.03943 1.03682 +1.03747 1.0378 1.0378 1.03976 1.03584 1.03747 1.03616 1.03453 +1.0378 1.03714 1.03322 1.03322 1.03388 1.03127 1.028 1.03224 +1.03127 1.03159 1.03224 1.03061 1.03159 1.02996 1.02963 1.02767 +1.03061 1.03355 1.03518 1.03714 1.03584 1.0329 1.0329 1.03584 +1.03551 1.03257 1.0342 1.03616 1.0391 1.0391 1.04008 1.04106 +1.04073 1.0391 1.04008 1.04073 1.04106 1.04204 1.04269 1.04367 +1.04433 1.04433 1.04269 1.03943 1.04204 1.04433 1.04498 1.04465 +1.04335 1.04237 1.044 1.04563 1.04335 1.03943 1.04008 1.04041 +1.0391 1.03747 1.03518 1.03486 1.03388 1.03257 1.03322 1.0342 +1.03257 1.03029 1.02833 1.02604 1.0218 1.01363 0.998612 0.962947 +0.859368 0.704632 0.546737 0.36368 0.257653 0.229253 0.2444 0.263333 +0.293627 0.322027 0.35232 0.333387 0.299307 0.291733 0.299307 0.325813 +0.371253 0.354213 0.304987 0.28416 0.28984 0.299307 0.299307 0.316347 +0.32392 0.31824 0.31256 0.322027 0.371253 0.422373 0.393973 0.32392 +0.2728 0.259547 0.253867 0.270907 0.28984 0.29552 0.29552 0.299307 +0.293627 0.299307 0.297413 0.287947 0.282267 0.28984 0.304987 0.310667 +0.304987 0.310667 0.310667 0.310667 0.31256 0.32392 0.331493 0.3296 +0.3296 0.337173 0.35232 0.365573 0.3864 0.429947 0.513895 0.622526 +0.841053 1.01429 1.04629 1.02604 1.00808 1.00318 1.0218 1.1026 +1.23651 1.06913 1.01984 1.01037 1.01233 1.01527 1.01494 1.01298 +1.01527 1.0169 1.01624 1.01624 1.01396 1.00449 0.989143 0.978737 +0.962316 0.955368 0.957895 0.955368 0.954105 0.949053 0.953474 0.978105 +0.987837 0.922526 0.729263 0.544211 0.40912 0.34664 0.269013 0.000926667 +0.00086 0.000826667 0.000846667 0.00084 0.0008 0.0008 0.000786667 0.000766667 +0.00076 0.000773333 0.00076 0.000786667 0.000793333 0.000753333 0.000733333 0.000726667 +0.000733333 0.00074 0.000746667 0.000746667 0.000733333 0.00072 0.000706667 0.000726667 +0.000746667 0.000733333 0.000726667 0.00074 0.000733333 0.0007 0.0007 0.000713333 +0.000733333 0.000746667 0.000753333 0.000733333 0.00072 0.000733333 0.00074 0.00072 +0.000726667 0.000726667 0.00072 0.000706667 0.000713333 0.0007 0.0007 0.000706667 +0.0007 0.0007 0.000726667 0.000733333 0.000733333 0.000706667 0.000713333 0.00072 +0.000706667 0.000706667 0.000713333 0.000713333 0.00072 0.00068 0.00068 0.000686667 +0.000713333 0.000726667 0.000713333 0.000713333 0.000693333 0.0007 0.000733333 0.000733333 +0.000726667 0.00072 0.000726667 0.00072 0.000706667 0.00072 0.000713333 0.0007 +0.000706667 0.000733333 0.000713333 0.00072 0.00074 0.000746667 0.000746667 0.000726667 +0.000733333 0.000746667 0.000746667 0.000733333 0.000733333 0.000746667 0.000766667 0.000753333 +0.000766667 0.000786667 0.00078 0.00078 0.0008 0.00082 0.000826667 0.000846667 +0.0009 0.242507 0.344747 0.33528 0.26144 0.280373 0.412907 0.591579 +0.801895 0.966105 0.988163 0.964842 0.947789 0.942105 0.944 0.952842 +0.959158 0.956632 0.954105 0.963579 0.966105 0.964211 0.975579 0.984571 +0.989143 0.993388 0.994041 0.992408 0.987184 0.988163 0.992408 0.992082 +0.988816 0.975579 0.911158 0.759579 0.59979 0.503789 0.367467 0.333387 +0.339067 0.344747 0.348533 0.333387 0.314453 0.316347 0.325813 0.316347 +0.308773 0.310667 0.31256 0.303093 0.28984 0.287947 0.287947 0.291733 +0.293627 0.28984 0.286053 0.28416 0.27848 0.286053 0.310667 0.36936 +0.42616 0.412907 0.367467 0.333387 0.32392 0.331493 0.33528 0.3296 +0.31824 0.31824 0.316347 0.310667 0.314453 0.314453 0.327707 0.331493 +0.3012 0.27848 0.280373 0.30688 0.32392 0.316347 0.303093 0.320133 +0.373147 0.496213 0.590316 0.668632 0.632632 0.526526 0.405333 0.405333 +0.44888 0.418587 0.356107 0.356107 0.378827 0.36368 0.344747 0.34096 +0.367467 0.376933 0.344747 0.33528 0.348533 0.36936 0.40344 0.501895 +0.568211 0.631368 0.653474 0.614316 0.549263 0.513263 0.505684 0.475387 +0.40344 0.367467 0.38072 0.513263 0.651579 0.806947 0.848632 0.754526 +0.592842 0.4432 0.367467 0.390187 0.416693 0.4148 0.40912 0.412907 +0.429947 0.452667 0.469707 0.46592 0.456453 0.506947 0.590947 0.757684 +0.957895 1.02278 1.03584 1.04139 1.04237 1.04498 1.04694 1.04596 +1.04596 1.04531 1.04596 1.04498 1.04433 1.044 1.044 1.04302 +1.04106 1.04269 1.04367 1.044 1.04367 1.04498 1.04531 1.04498 +1.04335 1.04237 1.04531 1.04596 1.04498 1.04465 1.04204 1.04041 +1.04335 1.04433 1.04269 1.044 1.04171 1.0378 1.04008 1.03845 +1.0329 1.028 1.02767 1.028 1.03159 1.03159 1.03029 1.0329 +1.03322 1.03322 1.03714 1.03584 1.03518 1.03551 1.03584 1.03584 +1.03682 1.04171 1.04204 1.03812 1.03616 1.03616 1.03747 1.03518 +1.03061 1.02963 1.03159 1.03257 1.03029 1.03159 1.03878 1.04073 +1.04008 1.04073 1.04269 1.04237 1.04041 1.03976 1.04041 1.03878 +1.03878 1.03747 1.03812 1.04041 1.03747 1.04073 1.03943 1.03747 +1.04073 1.04041 1.03747 1.03714 1.03812 1.03616 1.0329 1.03682 +1.03322 1.03355 1.03388 1.03192 1.03322 1.03388 1.03224 1.02931 +1.03094 1.03192 1.03453 1.03682 1.03388 1.03061 1.03061 1.03486 +1.03649 1.03551 1.03747 1.03812 1.03682 1.03747 1.04106 1.04433 +1.04237 1.04139 1.04237 1.04041 1.04204 1.04367 1.04269 1.04106 +1.04106 1.04139 1.04237 1.04237 1.04498 1.04498 1.04367 1.04367 +1.04465 1.04531 1.04302 1.04204 1.04008 1.03878 1.03976 1.04008 +1.04008 1.03845 1.03682 1.03584 1.0342 1.03486 1.03388 1.03224 +1.03127 1.02931 1.028 1.02767 1.02473 1.01788 1.00449 0.963579 +0.848632 0.697053 0.545474 0.361787 0.259547 0.234933 0.23872 0.2444 +0.269013 0.3296 0.358 0.337173 0.310667 0.29552 0.29552 0.342853 +0.39208 0.359893 0.30688 0.28984 0.297413 0.314453 0.3296 0.339067 +0.337173 0.320133 0.304987 0.322027 0.356107 0.367467 0.333387 0.291733 +0.259547 0.25008 0.259547 0.26144 0.287947 0.29552 0.28984 0.286053 +0.291733 0.291733 0.29552 0.282267 0.286053 0.287947 0.28984 0.291733 +0.291733 0.31256 0.314453 0.297413 0.291733 0.30688 0.32392 0.331493 +0.331493 0.333387 0.34664 0.359893 0.38072 0.416693 0.49432 0.576421 +0.769684 0.987837 1.04237 1.03388 1.01624 1.00906 1.02016 1.05869 +1.2076 1.09195 1.0231 1.01167 1.01233 1.01429 1.01559 1.01396 +1.01461 1.01624 1.01527 1.01461 1.01461 1.00971 0.995673 0.984571 +0.970526 0.959158 0.959158 0.959789 0.960421 0.954737 0.950947 0.959789 +0.983265 0.98 0.850526 0.639579 0.5 0.37504 0.316347 0.225467 +0.000873333 0.000833333 0.00084 0.00082 0.00078 0.000786667 0.0008 0.0008 +0.000806667 0.000793333 0.000786667 0.000793333 0.00076 0.000726667 0.00072 0.000726667 +0.000733333 0.00074 0.000733333 0.00072 0.00072 0.000726667 0.000746667 0.000766667 +0.000746667 0.000713333 0.0007 0.000713333 0.0007 0.0007 0.000713333 0.000726667 +0.000753333 0.000733333 0.000713333 0.000706667 0.000713333 0.00072 0.000753333 0.000733333 +0.00072 0.000733333 0.000733333 0.000733333 0.000733333 0.00072 0.00072 0.00072 +0.000693333 0.000673333 0.000693333 0.0007 0.000713333 0.000713333 0.0007 0.0007 +0.000693333 0.000686667 0.0007 0.000733333 0.000746667 0.000733333 0.000713333 0.000686667 +0.0007 0.000686667 0.000686667 0.0007 0.00068 0.00068 0.000726667 0.00074 +0.00072 0.0007 0.000706667 0.000713333 0.000733333 0.00074 0.00072 0.000713333 +0.00074 0.000746667 0.00072 0.000726667 0.00072 0.000713333 0.000726667 0.000733333 +0.000733333 0.000733333 0.00072 0.00072 0.00072 0.00072 0.00074 0.000766667 +0.00078 0.000786667 0.0008 0.0008 0.00082 0.00084 0.000846667 0.000866667 +0.000966667 0.299307 0.359893 0.29552 0.246293 0.320133 0.520842 0.700842 +0.910526 0.990776 0.983592 0.957895 0.948421 0.945263 0.946526 0.955368 +0.957895 0.955368 0.960421 0.968632 0.963579 0.967368 0.982612 0.988163 +0.991102 0.993388 0.993061 0.988816 0.986857 0.990449 0.992735 0.991429 +0.986531 0.962316 0.870105 0.700211 0.556842 0.450773 0.358 0.339067 +0.33528 0.337173 0.339067 0.327707 0.314453 0.30688 0.308773 0.30688 +0.310667 0.316347 0.3296 0.320133 0.293627 0.286053 0.280373 0.287947 +0.297413 0.297413 0.297413 0.293627 0.287947 0.304987 0.33528 0.399653 +0.47728 0.496213 0.456453 0.401547 0.373147 0.37504 0.382613 0.367467 +0.344747 0.33528 0.331493 0.3296 0.320133 0.308773 0.322027 0.3296 +0.30688 0.28984 0.297413 0.320133 0.337173 0.337173 0.32392 0.327707 +0.350427 0.424267 0.556842 0.649053 0.632632 0.531579 0.399653 0.3864 +0.428053 0.422373 0.36936 0.337173 0.359893 0.373147 0.359893 0.359893 +0.384507 0.3864 0.35232 0.331493 0.3296 0.344747 0.371253 0.40912 +0.505053 0.558105 0.601684 0.609895 0.585263 0.568211 0.562526 0.532842 +0.4716 0.40912 0.4432 0.534737 0.654737 0.772842 0.776 0.671158 +0.536 0.382613 0.354213 0.378827 0.39776 0.399653 0.412907 0.433733 +0.4432 0.45456 0.464027 0.464027 0.46024 0.507579 0.592211 0.769684 +0.973684 1.02767 1.04008 1.04269 1.04171 1.04106 1.04433 1.04661 +1.04531 1.044 1.04465 1.04237 1.04204 1.04302 1.04302 1.04237 +1.04139 1.04335 1.044 1.044 1.04367 1.044 1.04367 1.04335 +1.04465 1.04465 1.04498 1.04563 1.04531 1.04433 1.04237 1.04008 +1.04204 1.044 1.04237 1.04237 1.04106 1.0391 1.04106 1.03714 +1.0329 1.03061 1.03224 1.0329 1.03355 1.03388 1.03094 1.03094 +1.03355 1.03322 1.03551 1.03486 1.03355 1.03747 1.03812 1.03486 +1.0329 1.03682 1.03747 1.03649 1.03649 1.03714 1.03616 1.03518 +1.03224 1.03029 1.03388 1.03649 1.0329 1.03355 1.03976 1.04204 +1.04106 1.04302 1.04367 1.04269 1.04073 1.0391 1.03812 1.03812 +1.0378 1.03649 1.0378 1.04139 1.04139 1.04302 1.04008 1.03878 +1.03976 1.04008 1.03845 1.03812 1.04008 1.0391 1.04041 1.04465 +1.04008 1.04041 1.0391 1.03812 1.03747 1.03486 1.03257 1.03322 +1.0342 1.0342 1.03453 1.03682 1.03551 1.0329 1.03518 1.03845 +1.03682 1.03878 1.04139 1.04008 1.0378 1.03845 1.04139 1.04367 +1.04041 1.04041 1.04433 1.04302 1.04433 1.04433 1.04269 1.04237 +1.04237 1.044 1.04367 1.04367 1.04465 1.04531 1.04563 1.04563 +1.04531 1.04694 1.04563 1.04237 1.04106 1.03976 1.03845 1.0378 +1.03747 1.03812 1.03714 1.03453 1.03355 1.03518 1.03453 1.0329 +1.03224 1.02996 1.02898 1.02865 1.02571 1.01853 1.00188 0.945895 +0.827158 0.683158 0.539789 0.348533 0.2444 0.223573 0.225467 0.234933 +0.263333 0.32392 0.344747 0.325813 0.308773 0.293627 0.297413 0.34096 +0.376933 0.327707 0.286053 0.282267 0.299307 0.344747 0.371253 0.358 +0.339067 0.31824 0.303093 0.31824 0.34664 0.34664 0.32392 0.291733 +0.265227 0.259547 0.259547 0.2728 0.28416 0.280373 0.280373 0.287947 +0.303093 0.3012 0.291733 0.287947 0.293627 0.287947 0.280373 0.280373 +0.280373 0.297413 0.308773 0.304987 0.304987 0.308773 0.31256 0.32392 +0.34096 0.350427 0.365573 0.365573 0.371253 0.405333 0.462133 0.542316 +0.703368 0.932 1.02963 1.0378 1.02408 1.01396 1.01886 1.05118 +1.18021 1.09804 1.0231 1.00906 1.01037 1.01233 1.01559 1.01624 +1.01527 1.01396 1.01429 1.01592 1.01722 1.01461 1.00286 0.989796 +0.981306 0.976211 0.978737 0.98098 0.974316 0.961684 0.956632 0.956632 +0.974947 0.988816 0.938316 0.756421 0.559368 0.416693 0.361787 0.28416 +0.000966667 0.000853333 0.000826667 0.000813333 0.00078 0.000773333 0.000773333 0.000786667 +0.000766667 0.000766667 0.000786667 0.00078 0.000726667 0.000706667 0.000733333 0.000753333 +0.00074 0.00072 0.00072 0.000733333 0.000733333 0.000746667 0.00078 0.00076 +0.000706667 0.000686667 0.000693333 0.000733333 0.00074 0.00074 0.000733333 0.000726667 +0.000726667 0.000706667 0.000706667 0.000713333 0.000706667 0.000693333 0.000693333 0.000713333 +0.00072 0.00072 0.000713333 0.000713333 0.00072 0.000726667 0.000713333 0.000713333 +0.000706667 0.000686667 0.00068 0.000666667 0.00068 0.000693333 0.0007 0.0007 +0.0007 0.000686667 0.000693333 0.000726667 0.00074 0.000746667 0.00074 0.000706667 +0.00072 0.0007 0.000713333 0.000713333 0.000693333 0.000686667 0.000713333 0.000713333 +0.0007 0.000693333 0.000713333 0.00072 0.000713333 0.000726667 0.00072 0.000713333 +0.00072 0.000733333 0.000733333 0.000733333 0.000706667 0.000686667 0.000693333 0.0007 +0.000706667 0.000713333 0.0007 0.000693333 0.000713333 0.000733333 0.000753333 0.000773333 +0.00078 0.00078 0.00078 0.000806667 0.00082 0.000833333 0.000833333 0.000853333 +0.23304 0.34096 0.34096 0.253867 0.259547 0.412907 0.606737 0.821474 +0.977474 0.992735 0.98 0.957895 0.947789 0.945263 0.947789 0.953474 +0.954737 0.958526 0.969263 0.969895 0.961053 0.971789 0.984898 0.987184 +0.989143 0.989796 0.990122 0.987837 0.989796 0.993061 0.991102 0.98849 +0.982612 0.942105 0.824632 0.647158 0.523368 0.411013 0.359893 0.34096 +0.3296 0.342853 0.34664 0.342853 0.333387 0.316347 0.31256 0.310667 +0.31824 0.327707 0.33528 0.320133 0.297413 0.282267 0.282267 0.28984 +0.293627 0.28984 0.293627 0.303093 0.316347 0.344747 0.399653 0.484853 +0.519579 0.527789 0.520211 0.510737 0.503789 0.503789 0.503789 0.456453 +0.384507 0.354213 0.348533 0.342853 0.33528 0.34664 0.367467 0.365573 +0.327707 0.303093 0.31256 0.32392 0.339067 0.36368 0.359893 0.33528 +0.331493 0.373147 0.522105 0.613053 0.623789 0.544842 0.42616 0.367467 +0.37504 0.40912 0.418587 0.388293 0.38072 0.378827 0.36936 0.36368 +0.36368 0.356107 0.35232 0.348533 0.342853 0.350427 0.358 0.367467 +0.4148 0.508211 0.549263 0.572632 0.578947 0.601053 0.625053 0.590947 +0.520211 0.456453 0.48864 0.539158 0.625684 0.709053 0.689474 0.594105 +0.500632 0.367467 0.36368 0.376933 0.39208 0.4148 0.43752 0.43184 +0.412907 0.428053 0.44888 0.462133 0.473493 0.515158 0.601053 0.778526 +0.98 1.02702 1.04008 1.04237 1.04269 1.04204 1.04237 1.04465 +1.044 1.04335 1.04335 1.04269 1.04367 1.04335 1.04237 1.04237 +1.04237 1.04302 1.04269 1.04335 1.04367 1.04269 1.04139 1.04073 +1.04335 1.044 1.04335 1.04596 1.04629 1.04367 1.04335 1.04073 +1.04139 1.04465 1.04237 1.04106 1.04008 1.03878 1.04171 1.03976 +1.03682 1.03453 1.03518 1.03518 1.03355 1.0329 1.03257 1.03192 +1.0342 1.0329 1.03224 1.03257 1.03453 1.0391 1.0378 1.0342 +1.03127 1.0329 1.03388 1.03714 1.03714 1.0342 1.0329 1.03322 +1.03355 1.0329 1.03486 1.03616 1.03518 1.0378 1.04171 1.04204 +1.04073 1.04204 1.04237 1.04269 1.04041 1.03976 1.0391 1.04008 +1.03976 1.03747 1.0391 1.04204 1.04237 1.04367 1.04171 1.04171 +1.04073 1.04171 1.04139 1.04204 1.04204 1.04041 1.04367 1.04531 +1.04106 1.04302 1.04041 1.03976 1.04041 1.03812 1.03747 1.04008 +1.0391 1.03943 1.0391 1.0391 1.03747 1.03649 1.04041 1.04106 +1.0391 1.04171 1.04269 1.04106 1.04073 1.04106 1.04269 1.04302 +1.03943 1.04106 1.04237 1.04269 1.04498 1.04531 1.04367 1.04204 +1.04498 1.04727 1.04563 1.04433 1.04367 1.04302 1.04596 1.04792 +1.04596 1.04498 1.04302 1.04139 1.04367 1.04367 1.0391 1.03616 +1.03649 1.03616 1.03616 1.03486 1.03453 1.03486 1.03355 1.03224 +1.03159 1.03127 1.03061 1.02996 1.02539 1.01559 0.995673 0.932632 +0.818316 0.681263 0.548 0.367467 0.248187 0.000993333 0.000993333 0.23304 +0.27848 0.3296 0.34096 0.322027 0.314453 0.304987 0.31256 0.34096 +0.358 0.31824 0.286053 0.286053 0.32392 0.371253 0.36936 0.339067 +0.327707 0.325813 0.331493 0.348533 0.348533 0.333387 0.31256 0.303093 +0.303093 0.299307 0.28984 0.293627 0.29552 0.303093 0.314453 0.320133 +0.314453 0.303093 0.297413 0.303093 0.310667 0.299307 0.286053 0.280373 +0.27848 0.286053 0.299307 0.30688 0.310667 0.316347 0.325813 0.33528 +0.34096 0.344747 0.36368 0.36936 0.376933 0.401547 0.433733 0.515158 +0.642105 0.858737 1.00743 1.03649 1.02931 1.01886 1.02016 1.04661 +1.15282 1.09348 1.02343 1.00808 1.01135 1.01265 1.01429 1.01396 +1.01363 1.01233 1.01429 1.01592 1.01624 1.01429 1.00743 0.998286 +0.991755 0.991755 0.995347 0.996327 0.986204 0.971158 0.967368 0.962947 +0.967368 0.984571 0.982612 0.869474 0.659158 0.507579 0.399653 0.333387 +0.231147 0.000866667 0.000826667 0.000826667 0.000813333 0.000786667 0.000786667 0.000786667 +0.00078 0.000773333 0.000773333 0.00076 0.00074 0.00074 0.000746667 0.00074 +0.000713333 0.000726667 0.000753333 0.00076 0.000733333 0.000713333 0.000733333 0.00072 +0.000713333 0.000733333 0.000753333 0.00076 0.000753333 0.000733333 0.000726667 0.00074 +0.00074 0.000753333 0.00076 0.00074 0.000706667 0.000713333 0.000686667 0.000693333 +0.000713333 0.00072 0.000713333 0.00072 0.00072 0.000726667 0.000733333 0.000713333 +0.000713333 0.000726667 0.000706667 0.00068 0.00068 0.000673333 0.00068 0.0007 +0.00072 0.000733333 0.000726667 0.000726667 0.000733333 0.000746667 0.000746667 0.00072 +0.000706667 0.0007 0.000713333 0.000713333 0.000693333 0.000673333 0.000686667 0.0007 +0.000693333 0.000686667 0.000713333 0.000726667 0.000706667 0.000706667 0.000746667 0.000733333 +0.000713333 0.000726667 0.00074 0.000733333 0.000713333 0.00072 0.000713333 0.000726667 +0.00072 0.000726667 0.000726667 0.000706667 0.000726667 0.00076 0.00078 0.000773333 +0.000753333 0.000786667 0.000786667 0.000786667 0.0008 0.00082 0.000846667 0.00092 +0.28416 0.359893 0.3012 0.248187 0.331493 0.536632 0.727368 0.925053 +0.991755 0.989469 0.980653 0.957895 0.944 0.945263 0.951579 0.955368 +0.955368 0.961053 0.971158 0.966105 0.962316 0.978737 0.987184 0.98849 +0.987837 0.986531 0.985224 0.984898 0.989143 0.991429 0.990122 0.98849 +0.979368 0.921263 0.777895 0.601684 0.498107 0.395867 0.365573 0.342853 +0.331493 0.342853 0.34664 0.358 0.354213 0.33528 0.325813 0.31824 +0.325813 0.331493 0.3296 0.314453 0.303093 0.28984 0.287947 0.293627 +0.297413 0.29552 0.31256 0.342853 0.38072 0.4148 0.450773 0.501895 +0.515789 0.521474 0.525895 0.536 0.548632 0.563158 0.572 0.548632 +0.508211 0.44888 0.4148 0.39208 0.390187 0.4148 0.44888 0.452667 +0.40344 0.365573 0.35232 0.327707 0.32392 0.367467 0.378827 0.35232 +0.34096 0.378827 0.508842 0.588421 0.625684 0.577684 0.506316 0.416693 +0.401547 0.441307 0.503158 0.508211 0.469707 0.42048 0.39208 0.378827 +0.367467 0.361787 0.39208 0.42048 0.428053 0.428053 0.42048 0.418587 +0.43752 0.48864 0.515789 0.529053 0.548632 0.606737 0.674316 0.654737 +0.561263 0.505684 0.515158 0.539158 0.584632 0.637053 0.615579 0.540421 +0.43752 0.361787 0.361787 0.376933 0.39208 0.42048 0.43752 0.422373 +0.40912 0.433733 0.458347 0.469707 0.486747 0.519579 0.604842 0.784211 +0.983592 1.02735 1.03845 1.04237 1.04335 1.04269 1.04106 1.04171 +1.04269 1.04204 1.04139 1.04237 1.04302 1.04139 1.04073 1.04237 +1.04302 1.04269 1.04269 1.04367 1.04139 1.04106 1.04302 1.04171 +1.04302 1.04204 1.04139 1.04629 1.04792 1.04498 1.04302 1.04106 +1.04171 1.04465 1.04302 1.04106 1.03943 1.03812 1.04041 1.04041 +1.03714 1.03584 1.03616 1.0342 1.03322 1.03486 1.03682 1.03551 +1.03453 1.03322 1.03518 1.03518 1.03355 1.03649 1.0378 1.03649 +1.03518 1.03682 1.03649 1.03682 1.03682 1.03388 1.03159 1.03453 +1.03551 1.03224 1.03355 1.03584 1.03649 1.03812 1.04041 1.04237 +1.04204 1.04237 1.04204 1.04302 1.04041 1.04106 1.04041 1.04171 +1.04073 1.04041 1.04302 1.04433 1.04367 1.04302 1.04269 1.04596 +1.04367 1.04302 1.04073 1.04171 1.04269 1.03976 1.04237 1.04335 +1.03976 1.04073 1.03878 1.0391 1.04204 1.04008 1.03976 1.04335 +1.044 1.04302 1.04237 1.04269 1.04204 1.04433 1.04694 1.04498 +1.04335 1.04335 1.04269 1.04302 1.04498 1.04433 1.04596 1.04563 +1.04433 1.04629 1.044 1.04498 1.04465 1.04433 1.04563 1.04531 +1.04629 1.04694 1.04596 1.04661 1.04465 1.04171 1.044 1.04629 +1.04661 1.044 1.04041 1.04041 1.04204 1.04171 1.03976 1.03845 +1.03747 1.03486 1.03486 1.03584 1.03453 1.03355 1.03257 1.03192 +1.03094 1.02996 1.03029 1.02931 1.02473 1.01657 0.995673 0.930105 +0.810105 0.673684 0.549895 0.393973 0.265227 0.219787 0.000986667 0.225467 +0.287947 0.344747 0.314453 0.293627 0.308773 0.32392 0.342853 0.367467 +0.367467 0.320133 0.286053 0.3012 0.361787 0.382613 0.339067 0.304987 +0.320133 0.367467 0.40912 0.422373 0.382613 0.331493 0.31256 0.31824 +0.331493 0.33528 0.325813 0.304987 0.320133 0.32392 0.33528 0.3296 +0.304987 0.28984 0.28984 0.29552 0.299307 0.291733 0.276587 0.2728 +0.280373 0.28984 0.29552 0.297413 0.299307 0.314453 0.344747 0.348533 +0.34096 0.34096 0.361787 0.384507 0.399653 0.416693 0.433733 0.501895 +0.594737 0.783579 0.978737 1.02963 1.03388 1.02506 1.0218 1.03976 +1.11173 1.07826 1.02473 1.01004 1.01298 1.01298 1.01396 1.01396 +1.01429 1.01461 1.01363 1.01363 1.01527 1.01592 1.01167 1.00416 +0.996327 0.997959 1.00253 1.00188 0.990122 0.979368 0.974947 0.969895 +0.969263 0.979368 0.988816 0.952842 0.779158 0.573895 0.43184 0.367467 +0.274693 0.000926667 0.000826667 0.00082 0.000806667 0.000806667 0.0008 0.000813333 +0.0008 0.000793333 0.0008 0.000766667 0.00076 0.000753333 0.000753333 0.000746667 +0.000726667 0.000726667 0.000746667 0.000726667 0.000686667 0.000686667 0.000706667 0.0007 +0.000713333 0.000726667 0.00074 0.00072 0.000713333 0.000733333 0.000746667 0.00074 +0.000733333 0.00074 0.00072 0.000693333 0.00072 0.000733333 0.000733333 0.00072 +0.0007 0.000713333 0.000726667 0.000733333 0.000713333 0.000693333 0.000706667 0.00072 +0.00072 0.00072 0.000726667 0.000713333 0.000733333 0.000706667 0.000706667 0.000693333 +0.000706667 0.000706667 0.000706667 0.000713333 0.000693333 0.0007 0.00074 0.000726667 +0.000706667 0.0007 0.0007 0.000706667 0.000706667 0.000686667 0.000686667 0.000713333 +0.0007 0.000693333 0.000693333 0.000706667 0.000706667 0.000706667 0.000733333 0.00072 +0.00072 0.00072 0.00072 0.00072 0.00072 0.000733333 0.000733333 0.000746667 +0.00076 0.000746667 0.000746667 0.00074 0.00072 0.000726667 0.00076 0.000793333 +0.0008 0.000813333 0.000806667 0.000806667 0.00082 0.00082 0.00086 0.229253 +0.331493 0.348533 0.270907 0.27848 0.450773 0.631368 0.848 0.981633 +0.989143 0.983592 0.98098 0.959789 0.944632 0.947789 0.956632 0.961684 +0.963579 0.968 0.971789 0.971158 0.973053 0.982612 0.988816 0.990776 +0.991102 0.987184 0.983918 0.985878 0.989469 0.990776 0.990449 0.988816 +0.972421 0.895368 0.730526 0.565684 0.46024 0.388293 0.365573 0.34664 +0.33528 0.333387 0.337173 0.358 0.359893 0.354213 0.348533 0.342853 +0.34096 0.3296 0.31824 0.30688 0.299307 0.28984 0.287947 0.3012 +0.316347 0.34096 0.3864 0.429947 0.450773 0.433733 0.40344 0.401547 +0.40912 0.42048 0.458347 0.506316 0.533474 0.565684 0.593474 0.596632 +0.580211 0.561263 0.541053 0.525263 0.518947 0.522737 0.535368 0.542316 +0.542316 0.529684 0.5 0.401547 0.365573 0.399653 0.412907 0.3864 +0.376933 0.424267 0.515158 0.583368 0.635158 0.618105 0.567579 0.544842 +0.542316 0.552421 0.582737 0.599158 0.573895 0.547368 0.530947 0.522737 +0.519579 0.518947 0.538526 0.584 0.601684 0.569474 0.539158 0.525895 +0.517684 0.510737 0.504421 0.502526 0.518316 0.581474 0.683789 0.700211 +0.601053 0.518316 0.523368 0.541053 0.555579 0.576421 0.553684 0.496213 +0.384507 0.350427 0.354213 0.359893 0.376933 0.407227 0.42616 0.4148 +0.422373 0.456453 0.467813 0.473493 0.47728 0.517053 0.603579 0.786737 +0.985878 1.02898 1.03649 1.04106 1.04367 1.04465 1.04335 1.04204 +1.04302 1.04139 1.04073 1.04008 1.04073 1.04171 1.04171 1.04171 +1.04335 1.04433 1.04367 1.04269 1.04008 1.04008 1.04237 1.04073 +1.04041 1.04008 1.04139 1.04727 1.04922 1.04563 1.04171 1.04171 +1.04171 1.04204 1.04302 1.04041 1.0378 1.03714 1.0391 1.03943 +1.0378 1.03714 1.03649 1.03224 1.03453 1.03518 1.03486 1.03355 +1.03257 1.03257 1.0378 1.0378 1.03388 1.03551 1.0378 1.03616 +1.03812 1.04204 1.03943 1.03355 1.03355 1.0329 1.03061 1.03388 +1.0342 1.03224 1.03518 1.03845 1.04008 1.04073 1.04171 1.044 +1.04433 1.04563 1.04465 1.04433 1.03976 1.04106 1.04171 1.04335 +1.04106 1.04106 1.04237 1.044 1.04531 1.04465 1.04269 1.04498 +1.04139 1.04171 1.04139 1.04302 1.04269 1.03845 1.04041 1.04335 +1.04106 1.04171 1.03976 1.04008 1.04335 1.04171 1.04171 1.04171 +1.04204 1.04335 1.04498 1.04596 1.04563 1.04629 1.04759 1.04922 +1.0489 1.04661 1.04433 1.04302 1.04498 1.04629 1.04727 1.04727 +1.04824 1.0489 1.04661 1.04759 1.04661 1.04465 1.04629 1.04824 +1.04824 1.04759 1.04563 1.04531 1.04335 1.04335 1.04563 1.04465 +1.044 1.04367 1.04302 1.04367 1.04269 1.04073 1.04041 1.04073 +1.04008 1.03616 1.03584 1.03714 1.03388 1.03224 1.03355 1.0329 +1.03094 1.03159 1.03061 1.02767 1.02408 1.01755 0.997306 0.925053 +0.794316 0.654737 0.539158 0.3864 0.269013 0.231147 0.217893 0.234933 +0.32392 0.365573 0.291733 0.263333 0.28984 0.3296 0.367467 0.39208 +0.376933 0.320133 0.31256 0.350427 0.388293 0.365573 0.31824 0.308773 +0.339067 0.395867 0.433733 0.435627 0.39208 0.331493 0.314453 0.327707 +0.33528 0.348533 0.331493 0.3012 0.297413 0.293627 0.3012 0.303093 +0.3012 0.3012 0.293627 0.28416 0.280373 0.27848 0.27848 0.276587 +0.28416 0.287947 0.28416 0.28416 0.297413 0.314453 0.33528 0.344747 +0.350427 0.358 0.361787 0.376933 0.401547 0.424267 0.433733 0.469707 +0.553053 0.710316 0.914947 1.01592 1.03061 1.02278 1.01853 1.03029 +1.05869 1.05706 1.02245 1.00873 1.01135 1.01135 1.012 1.01363 +1.01331 1.01363 1.01396 1.01461 1.01592 1.01592 1.012 1.00384 +0.993388 0.992735 0.996653 0.995673 0.986204 0.976211 0.973684 0.973053 +0.971158 0.969263 0.981306 0.983265 0.884632 0.674316 0.510737 0.393973 +0.33528 0.231147 0.000846667 0.00082 0.0008 0.000793333 0.000793333 0.000793333 +0.000773333 0.00078 0.000773333 0.000766667 0.00076 0.000766667 0.000773333 0.000766667 +0.000746667 0.000726667 0.00074 0.00072 0.00072 0.00072 0.000726667 0.00072 +0.00072 0.00072 0.00072 0.000706667 0.00072 0.00074 0.000726667 0.0007 +0.000713333 0.000713333 0.000713333 0.000733333 0.000746667 0.000746667 0.000726667 0.00072 +0.0007 0.000693333 0.000713333 0.00072 0.000713333 0.000713333 0.000706667 0.000693333 +0.0007 0.0007 0.000706667 0.000706667 0.000733333 0.000733333 0.000746667 0.00072 +0.000693333 0.000686667 0.000673333 0.00068 0.000693333 0.000673333 0.000706667 0.00072 +0.0007 0.00072 0.00072 0.00072 0.00072 0.000693333 0.0007 0.000713333 +0.000706667 0.000713333 0.0007 0.000693333 0.00068 0.000693333 0.000706667 0.00068 +0.00068 0.000686667 0.000706667 0.000726667 0.00072 0.000706667 0.0007 0.000733333 +0.000733333 0.000726667 0.000766667 0.000773333 0.000726667 0.000713333 0.00072 0.000733333 +0.000766667 0.000806667 0.000793333 0.000826667 0.000866667 0.000853333 0.0009 0.269013 +0.354213 0.320133 0.259547 0.342853 0.549263 0.750105 0.942105 0.989796 +0.977474 0.964842 0.964842 0.954737 0.949684 0.956 0.961684 0.966105 +0.971789 0.974316 0.975579 0.980653 0.982286 0.986857 0.991755 0.992082 +0.992082 0.989796 0.987184 0.989469 0.991755 0.991429 0.989469 0.984571 +0.958526 0.861263 0.686316 0.538526 0.43184 0.3864 0.37504 0.354213 +0.333387 0.327707 0.331493 0.337173 0.34096 0.356107 0.371253 0.373147 +0.350427 0.331493 0.3296 0.31824 0.303093 0.3012 0.320133 0.342853 +0.365573 0.412907 0.47728 0.492427 0.435627 0.371253 0.331493 0.31824 +0.316347 0.316347 0.331493 0.367467 0.435627 0.506316 0.537895 0.570737 +0.597895 0.600421 0.591579 0.585263 0.585263 0.587158 0.590316 0.597263 +0.609263 0.606105 0.566947 0.521474 0.504421 0.509474 0.509474 0.490533 +0.4716 0.503789 0.536632 0.586526 0.626316 0.626947 0.612421 0.617474 +0.632 0.648421 0.676842 0.697684 0.688842 0.676842 0.663579 0.650947 +0.641474 0.637053 0.661684 0.724211 0.732421 0.659158 0.600421 0.572632 +0.548 0.526526 0.510737 0.5 0.500632 0.543579 0.647789 0.711579 +0.637684 0.534105 0.524632 0.543579 0.539158 0.532842 0.512632 0.435627 +0.393973 0.405333 0.39208 0.359893 0.367467 0.401547 0.416693 0.441307 +0.490533 0.502526 0.4716 0.464027 0.469707 0.515789 0.605474 0.789263 +0.985551 1.02865 1.03388 1.03845 1.04335 1.04433 1.04465 1.04302 +1.04171 1.04171 1.04237 1.0391 1.03878 1.04269 1.04237 1.04171 +1.04237 1.04204 1.04237 1.04269 1.04171 1.04171 1.044 1.04269 +1.04171 1.04106 1.04335 1.04694 1.04694 1.04498 1.04204 1.04171 +1.04139 1.0391 1.04041 1.04041 1.03878 1.03845 1.03976 1.03976 +1.04008 1.03812 1.03584 1.03224 1.03453 1.03388 1.03388 1.03322 +1.0342 1.0342 1.03584 1.03551 1.03518 1.03714 1.03714 1.03682 +1.03812 1.03747 1.03682 1.03355 1.03127 1.03061 1.03127 1.03486 +1.03616 1.03486 1.03747 1.04041 1.04106 1.03976 1.04106 1.04367 +1.04465 1.04596 1.04498 1.04302 1.04073 1.04139 1.04041 1.04171 +1.04139 1.04139 1.04139 1.04237 1.04335 1.044 1.04367 1.04367 +1.04204 1.04204 1.04073 1.04269 1.04269 1.04008 1.03976 1.04106 +1.04106 1.04269 1.04008 1.04073 1.04335 1.04302 1.04531 1.044 +1.04204 1.04498 1.04759 1.04727 1.04596 1.04531 1.04694 1.0489 +1.04955 1.04922 1.04824 1.04629 1.04531 1.04759 1.04955 1.04922 +1.05118 1.05086 1.04792 1.04792 1.04727 1.04465 1.04661 1.04922 +1.04661 1.04661 1.04629 1.04498 1.04367 1.04563 1.04694 1.04629 +1.044 1.04269 1.04335 1.04433 1.04302 1.04139 1.04073 1.04041 +1.03845 1.0378 1.03714 1.03551 1.03257 1.03322 1.03322 1.02996 +1.03061 1.03159 1.03061 1.02963 1.02571 1.01559 0.993061 0.917474 +0.783579 0.640842 0.529053 0.36936 0.274693 0.240613 0.223573 0.269013 +0.388293 0.405333 0.3012 0.265227 0.286053 0.320133 0.359893 0.401547 +0.42048 0.388293 0.378827 0.39208 0.388293 0.365573 0.339067 0.32392 +0.325813 0.331493 0.348533 0.376933 0.36936 0.316347 0.293627 0.3012 +0.30688 0.337173 0.344747 0.31256 0.28416 0.274693 0.265227 0.280373 +0.299307 0.310667 0.3012 0.286053 0.286053 0.282267 0.28416 0.282267 +0.291733 0.299307 0.28984 0.286053 0.297413 0.30688 0.320133 0.327707 +0.34096 0.356107 0.361787 0.37504 0.40344 0.418587 0.418587 0.44888 +0.525263 0.649053 0.848 0.995673 1.0231 1.01853 1.01494 1.0231 +1.04498 1.04727 1.02016 1.00743 1.00939 1.01037 1.01037 1.01331 +1.01363 1.01429 1.01559 1.01592 1.01592 1.01527 1.01396 1.00351 +0.987184 0.981959 0.985551 0.986204 0.98 0.969263 0.969263 0.969263 +0.964211 0.956 0.962947 0.983592 0.958526 0.793053 0.580211 0.433733 +0.373147 0.27848 0.000913333 0.000826667 0.0008 0.000793333 0.000806667 0.000786667 +0.00076 0.000766667 0.00078 0.000786667 0.000773333 0.00076 0.000753333 0.000753333 +0.00074 0.000746667 0.000773333 0.000753333 0.000733333 0.000726667 0.00074 0.000746667 +0.00076 0.00076 0.000746667 0.000726667 0.00072 0.000713333 0.000713333 0.00072 +0.000733333 0.000746667 0.000766667 0.000786667 0.00072 0.00074 0.000753333 0.000746667 +0.000746667 0.00072 0.00072 0.000713333 0.000706667 0.000706667 0.000713333 0.000713333 +0.000693333 0.0007 0.0007 0.000706667 0.00072 0.000726667 0.00074 0.000726667 +0.00072 0.00072 0.000706667 0.0007 0.0007 0.000706667 0.000713333 0.000713333 +0.0007 0.000713333 0.00072 0.000726667 0.000746667 0.00074 0.000713333 0.0007 +0.000706667 0.000706667 0.000713333 0.0007 0.00068 0.000686667 0.000693333 0.000686667 +0.00068 0.00068 0.0007 0.000713333 0.00072 0.000706667 0.000726667 0.00076 +0.00078 0.000773333 0.00078 0.00078 0.00074 0.000753333 0.000786667 0.000786667 +0.00076 0.00078 0.000793333 0.000813333 0.000846667 0.00086 0.000993333 0.31824 +0.356107 0.28984 0.28416 0.46024 0.646526 0.865684 0.985878 0.984571 +0.956632 0.944 0.947789 0.952211 0.957263 0.961684 0.964842 0.972421 +0.980327 0.981306 0.982612 0.985878 0.987837 0.991102 0.992735 0.992735 +0.990776 0.989143 0.989469 0.989796 0.991429 0.990776 0.986204 0.98 +0.944 0.825895 0.645263 0.517053 0.412907 0.3864 0.388293 0.376933 +0.350427 0.327707 0.31824 0.310667 0.31824 0.333387 0.359893 0.36368 +0.342853 0.333387 0.339067 0.333387 0.3296 0.339067 0.367467 0.384507 +0.40344 0.47728 0.520842 0.504421 0.393973 0.327707 0.308773 0.299307 +0.299307 0.293627 0.28416 0.29552 0.322027 0.354213 0.416693 0.515158 +0.549895 0.550526 0.549895 0.560632 0.566947 0.566947 0.565053 0.568211 +0.579579 0.584632 0.566947 0.541053 0.526526 0.527158 0.536 0.539158 +0.548 0.56 0.561895 0.566947 0.572632 0.575789 0.581474 0.597895 +0.628842 0.661053 0.692 0.715368 0.724842 0.725474 0.717895 0.705895 +0.693895 0.688842 0.694526 0.710316 0.695789 0.643368 0.604842 0.582737 +0.552421 0.527158 0.505684 0.467813 0.46592 0.513895 0.593474 0.679368 +0.652842 0.553053 0.525263 0.538526 0.517684 0.5 0.47728 0.42616 +0.405333 0.429947 0.40344 0.359893 0.359893 0.393973 0.446987 0.524632 +0.56 0.536 0.501895 0.479173 0.481067 0.516421 0.602947 0.786737 +0.981959 1.02506 1.0342 1.03943 1.04302 1.04335 1.04433 1.04433 +1.04139 1.04204 1.04433 1.04367 1.04171 1.04204 1.04139 1.04139 +1.04302 1.04204 1.04139 1.04302 1.04335 1.04302 1.04531 1.04531 +1.04335 1.04335 1.04433 1.04498 1.04433 1.04335 1.04269 1.04302 +1.04302 1.03976 1.04008 1.04237 1.04073 1.04008 1.04073 1.0391 +1.0391 1.0378 1.0378 1.03584 1.0342 1.0342 1.03616 1.03584 +1.03616 1.03518 1.0342 1.03486 1.03486 1.03747 1.0378 1.0378 +1.03845 1.03551 1.03551 1.0342 1.03159 1.03029 1.03127 1.03388 +1.03649 1.03714 1.03747 1.03976 1.04041 1.03943 1.04139 1.04465 +1.04204 1.04171 1.044 1.04106 1.04139 1.04302 1.04041 1.03943 +1.03943 1.04139 1.04204 1.04335 1.04204 1.04106 1.04367 1.04465 +1.04171 1.04269 1.04139 1.04139 1.04171 1.04269 1.04073 1.03976 +1.04106 1.04171 1.04008 1.04237 1.04302 1.04237 1.04433 1.04596 +1.044 1.04563 1.04694 1.04759 1.04694 1.04727 1.04857 1.04661 +1.04661 1.04727 1.0489 1.05086 1.04922 1.04988 1.05151 1.05053 +1.05151 1.04955 1.04792 1.04922 1.04857 1.04531 1.04629 1.04792 +1.044 1.04335 1.04563 1.04661 1.04531 1.04563 1.04661 1.04661 +1.04335 1.04139 1.04269 1.04237 1.04041 1.04106 1.04171 1.04041 +1.03747 1.03812 1.03845 1.0342 1.03224 1.03322 1.03159 1.02996 +1.03061 1.02996 1.02898 1.02996 1.02767 1.01624 0.988163 0.901053 +0.765263 0.623789 0.517053 0.359893 0.265227 0.229253 0.240613 0.322027 +0.445093 0.445093 0.3296 0.27848 0.28416 0.299307 0.33528 0.429947 +0.506316 0.48296 0.407227 0.361787 0.337173 0.342853 0.337173 0.32392 +0.308773 0.3012 0.303093 0.350427 0.365573 0.31256 0.287947 0.28416 +0.286053 0.303093 0.31256 0.304987 0.297413 0.28416 0.269013 0.287947 +0.293627 0.297413 0.293627 0.282267 0.280373 0.27848 0.28984 0.29552 +0.303093 0.299307 0.28416 0.276587 0.28984 0.3012 0.304987 0.310667 +0.337173 0.36368 0.371253 0.37504 0.395867 0.412907 0.4148 0.445093 +0.508211 0.602316 0.786105 0.969263 1.01461 1.01592 1.01396 1.01918 +1.03453 1.03878 1.01788 1.00612 1.0071 1.00939 1.012 1.01429 +1.01559 1.01461 1.01396 1.01494 1.0169 1.01592 1.01527 1.00612 +0.986857 0.972421 0.974316 0.978105 0.971158 0.963579 0.962316 0.960421 +0.956632 0.951579 0.955368 0.976211 0.983918 0.892842 0.68 0.511368 +0.390187 0.3296 0.229253 0.000853333 0.0008 0.0008 0.000813333 0.000766667 +0.000773333 0.0008 0.000786667 0.000786667 0.000753333 0.000733333 0.000733333 0.000753333 +0.000766667 0.0008 0.00078 0.000746667 0.000713333 0.000726667 0.000746667 0.000766667 +0.000773333 0.000753333 0.000726667 0.0007 0.0007 0.00072 0.00074 0.000733333 +0.000733333 0.00074 0.000746667 0.000746667 0.000713333 0.000713333 0.000726667 0.000746667 +0.00076 0.00074 0.000726667 0.000726667 0.000726667 0.000706667 0.00068 0.000673333 +0.000693333 0.000706667 0.0007 0.000693333 0.000693333 0.0007 0.00072 0.000726667 +0.000726667 0.000726667 0.00074 0.00072 0.000693333 0.0007 0.00072 0.000713333 +0.000713333 0.000706667 0.000706667 0.000693333 0.000706667 0.00074 0.000726667 0.00072 +0.000713333 0.000706667 0.000706667 0.00072 0.000713333 0.000726667 0.000733333 0.000733333 +0.00072 0.000713333 0.000706667 0.0007 0.000726667 0.000726667 0.000746667 0.000773333 +0.000786667 0.000786667 0.000773333 0.000786667 0.000773333 0.00076 0.000786667 0.0008 +0.000766667 0.000773333 0.000793333 0.0008 0.00082 0.000873333 0.251973 0.35232 +0.3296 0.265227 0.342853 0.555579 0.765895 0.952211 0.989796 0.969263 +0.945895 0.941474 0.949053 0.955368 0.958526 0.962947 0.970526 0.982939 +0.987837 0.98849 0.991429 0.993061 0.993714 0.994041 0.992408 0.993388 +0.992735 0.991755 0.991429 0.990449 0.990449 0.989469 0.984571 0.976211 +0.927579 0.785474 0.607368 0.496213 0.390187 0.37504 0.3864 0.39208 +0.371253 0.33528 0.310667 0.308773 0.308773 0.31824 0.342853 0.339067 +0.3296 0.331493 0.325813 0.31824 0.325813 0.33528 0.348533 0.36936 +0.40344 0.501263 0.526526 0.48296 0.356107 0.30688 0.291733 0.286053 +0.293627 0.293627 0.286053 0.280373 0.291733 0.304987 0.344747 0.46024 +0.502526 0.446987 0.435627 0.47728 0.481067 0.456453 0.452667 0.469707 +0.498107 0.506316 0.502526 0.484853 0.46592 0.4716 0.504421 0.537263 +0.588421 0.601684 0.554316 0.511368 0.492427 0.498107 0.502526 0.515158 +0.546105 0.589053 0.626316 0.652211 0.659158 0.644632 0.632 0.621895 +0.610526 0.605474 0.599158 0.586526 0.576421 0.565684 0.554316 0.536 +0.510105 0.47728 0.435627 0.411013 0.42048 0.48296 0.548 0.627579 +0.635158 0.558105 0.515789 0.520842 0.500632 0.445093 0.452667 0.4148 +0.365573 0.371253 0.376933 0.36368 0.36368 0.407227 0.508842 0.583368 +0.618105 0.557474 0.507579 0.496213 0.501263 0.518947 0.595368 0.778526 +0.977474 1.02278 1.03453 1.04041 1.04433 1.04531 1.044 1.04367 +1.04041 1.04008 1.04204 1.04269 1.04008 1.03943 1.04237 1.04302 +1.044 1.04302 1.04041 1.04171 1.04433 1.044 1.04335 1.04367 +1.04139 1.04139 1.04139 1.04171 1.04269 1.04335 1.04367 1.044 +1.04367 1.04106 1.03943 1.04171 1.04008 1.0391 1.04139 1.04008 +1.04008 1.03682 1.03649 1.03584 1.03355 1.03257 1.0342 1.03616 +1.0378 1.03584 1.03486 1.03714 1.03453 1.03649 1.03943 1.03812 +1.0391 1.03682 1.03584 1.03388 1.03127 1.03061 1.03224 1.03453 +1.0378 1.03943 1.03714 1.03943 1.04237 1.04302 1.044 1.04563 +1.04335 1.04204 1.04433 1.04171 1.04139 1.04269 1.04204 1.04041 +1.0391 1.04302 1.04367 1.04237 1.04041 1.03878 1.04171 1.04237 +1.03976 1.04302 1.04171 1.03943 1.03943 1.04171 1.04302 1.04237 +1.04106 1.04106 1.04171 1.04237 1.04139 1.04041 1.04204 1.04433 +1.04465 1.04661 1.04694 1.04759 1.04661 1.04661 1.04759 1.04694 +1.04857 1.04824 1.04922 1.05118 1.04988 1.0489 1.05086 1.04955 +1.04727 1.04498 1.04661 1.04824 1.04759 1.04694 1.04661 1.04694 +1.044 1.04335 1.04465 1.04498 1.04498 1.04498 1.04661 1.04563 +1.04171 1.04106 1.04335 1.04106 1.03878 1.04041 1.04269 1.04204 +1.03976 1.0391 1.0378 1.03551 1.03355 1.03159 1.03061 1.03061 +1.02865 1.02767 1.02963 1.02865 1.02376 1.01298 0.982939 0.883368 +0.749474 0.612421 0.507579 0.34664 0.251973 0.22736 0.259547 0.303093 +0.390187 0.42616 0.331493 0.274693 0.274693 0.287947 0.316347 0.433733 +0.518316 0.49432 0.38072 0.325813 0.30688 0.30688 0.3012 0.297413 +0.293627 0.291733 0.304987 0.36936 0.373147 0.304987 0.276587 0.274693 +0.269013 0.270907 0.270907 0.2728 0.274693 0.270907 0.27848 0.28984 +0.304987 0.3012 0.286053 0.2728 0.276587 0.293627 0.310667 0.31824 +0.303093 0.28984 0.286053 0.286053 0.297413 0.303093 0.297413 0.308773 +0.348533 0.367467 0.36368 0.367467 0.388293 0.4148 0.416693 0.43184 +0.48296 0.565053 0.734316 0.926947 1.00253 1.01069 1.01331 1.01984 +1.03029 1.03094 1.012 1.00188 1.0058 1.00939 1.01233 1.01233 +1.012 1.01363 1.01331 1.01559 1.01624 1.01527 1.01429 1.00776 +0.992408 0.976211 0.966737 0.968632 0.964211 0.959158 0.956 0.954737 +0.956 0.954105 0.952211 0.961684 0.982939 0.958526 0.794316 0.582737 +0.439413 0.37504 0.27848 0.000893333 0.0008 0.000813333 0.00082 0.000793333 +0.000806667 0.000806667 0.000773333 0.000773333 0.00076 0.000753333 0.000753333 0.000766667 +0.00076 0.000773333 0.000753333 0.00074 0.000733333 0.000766667 0.000773333 0.000753333 +0.000726667 0.0007 0.0007 0.000733333 0.000766667 0.00076 0.000753333 0.00072 +0.000706667 0.00072 0.000733333 0.00072 0.00074 0.00074 0.000713333 0.000733333 +0.000733333 0.00072 0.000733333 0.00072 0.000733333 0.000726667 0.000726667 0.000706667 +0.00072 0.000713333 0.000713333 0.000693333 0.000686667 0.000673333 0.000686667 0.000713333 +0.0007 0.000693333 0.0007 0.00072 0.000713333 0.0007 0.000706667 0.00072 +0.000733333 0.000706667 0.000706667 0.000686667 0.00068 0.0007 0.0007 0.0007 +0.000713333 0.000706667 0.0007 0.000706667 0.000693333 0.000706667 0.00072 0.000746667 +0.000726667 0.000726667 0.000726667 0.000726667 0.000726667 0.00072 0.000733333 0.000753333 +0.000746667 0.000746667 0.000746667 0.000773333 0.000793333 0.000766667 0.00076 0.00078 +0.000786667 0.000793333 0.000806667 0.000813333 0.00084 0.000966667 0.303093 0.354213 +0.282267 0.270907 0.464027 0.659158 0.882737 0.989796 0.985224 0.957895 +0.945895 0.949053 0.956 0.957895 0.962947 0.973053 0.984245 0.992735 +0.994694 0.995347 0.998286 0.999265 1.00024 0.996 0.99502 0.99502 +0.992735 0.993061 0.992735 0.991102 0.990449 0.98751 0.982939 0.973053 +0.903579 0.743789 0.577053 0.456453 0.378827 0.371253 0.384507 0.39208 +0.382613 0.350427 0.327707 0.325813 0.322027 0.325813 0.333387 0.316347 +0.308773 0.308773 0.3012 0.29552 0.304987 0.314453 0.3296 0.342853 +0.36936 0.4432 0.486747 0.411013 0.320133 0.287947 0.276587 0.276587 +0.287947 0.29552 0.293627 0.291733 0.316347 0.33528 0.378827 0.452667 +0.42616 0.342853 0.34096 0.378827 0.365573 0.3296 0.316347 0.331493 +0.365573 0.384507 0.36368 0.344747 0.344747 0.356107 0.405333 0.524 +0.592842 0.577684 0.505684 0.390187 0.36936 0.376933 0.367467 0.36936 +0.42616 0.515158 0.546737 0.557474 0.551158 0.525263 0.512 0.505684 +0.481067 0.467813 0.464027 0.4432 0.44888 0.481067 0.503158 0.481067 +0.42048 0.393973 0.39208 0.40344 0.40912 0.433733 0.513895 0.574526 +0.597263 0.553053 0.509474 0.505684 0.473493 0.418587 0.441307 0.428053 +0.361787 0.356107 0.376933 0.36368 0.358 0.416693 0.532842 0.614947 +0.616842 0.530947 0.46024 0.473493 0.5 0.514526 0.585263 0.765263 +0.971158 1.02082 1.03257 1.03878 1.04106 1.04302 1.04171 1.04073 +1.04008 1.03943 1.03976 1.04106 1.03878 1.03682 1.04106 1.04269 +1.04041 1.04106 1.04041 1.04041 1.04367 1.04367 1.04139 1.04335 +1.04269 1.04139 1.03976 1.03976 1.04237 1.04367 1.04335 1.04171 +1.04106 1.03976 1.03747 1.03943 1.04041 1.03747 1.03747 1.03878 +1.04041 1.03649 1.0342 1.03616 1.03551 1.03355 1.03224 1.03486 +1.03812 1.03682 1.03682 1.03812 1.03453 1.03682 1.04041 1.03714 +1.03747 1.03584 1.03453 1.03388 1.03127 1.03061 1.03355 1.03584 +1.0391 1.04269 1.0391 1.03878 1.04237 1.04433 1.04531 1.04596 +1.04596 1.04498 1.04465 1.04106 1.04171 1.04171 1.04073 1.04041 +1.04106 1.04433 1.04367 1.04237 1.04171 1.04269 1.04367 1.04073 +1.0391 1.04302 1.04171 1.03943 1.0391 1.0378 1.03976 1.04367 +1.04302 1.04237 1.04335 1.04171 1.04008 1.03943 1.04139 1.04204 +1.04367 1.04629 1.04563 1.04563 1.04596 1.04596 1.04498 1.04857 +1.0502 1.0489 1.04922 1.04988 1.04857 1.04857 1.05184 1.04955 +1.04498 1.04433 1.04824 1.04629 1.044 1.04661 1.04694 1.04629 +1.04367 1.04367 1.04498 1.04335 1.04335 1.04433 1.04661 1.04596 +1.04335 1.044 1.04465 1.04335 1.04139 1.0391 1.0391 1.04073 +1.04204 1.03943 1.0342 1.03388 1.03388 1.03159 1.03094 1.03159 +1.02963 1.02833 1.02865 1.02669 1.02049 1.00776 0.974947 0.869474 +0.735579 0.601684 0.502526 0.34664 0.259547 0.242507 0.2728 0.276587 +0.344747 0.42048 0.339067 0.263333 0.269013 0.28984 0.31256 0.416693 +0.503789 0.433733 0.337173 0.297413 0.28416 0.287947 0.286053 0.28416 +0.282267 0.28416 0.327707 0.411013 0.393973 0.304987 0.263333 0.26712 +0.265227 0.274693 0.276587 0.270907 0.2728 0.270907 0.270907 0.27848 +0.31256 0.314453 0.293627 0.276587 0.287947 0.314453 0.32392 0.310667 +0.291733 0.286053 0.287947 0.293627 0.30688 0.314453 0.308773 0.316347 +0.354213 0.365573 0.358 0.356107 0.3864 0.418587 0.42616 0.43184 +0.464027 0.539158 0.688211 0.883368 0.987837 1.0022 1.00939 1.01722 +1.02441 1.0231 1.00906 1.00188 1.0071 1.00873 1.00971 1.01167 +1.012 1.01363 1.01396 1.01559 1.01527 1.01527 1.01592 1.01167 +1.00024 0.983918 0.969263 0.964211 0.962947 0.962947 0.957263 0.952211 +0.953474 0.953474 0.953474 0.957263 0.976842 0.984571 0.897263 0.686316 +0.518947 0.405333 0.327707 0.219787 0.00086 0.00086 0.00084 0.000806667 +0.000786667 0.000773333 0.00078 0.0008 0.000793333 0.00078 0.00076 0.000753333 +0.00074 0.00074 0.000746667 0.000766667 0.000773333 0.00076 0.000713333 0.000713333 +0.000726667 0.000733333 0.000733333 0.000746667 0.00074 0.000713333 0.000726667 0.000726667 +0.000733333 0.00074 0.000733333 0.00072 0.000726667 0.00074 0.000713333 0.000713333 +0.000693333 0.000693333 0.00072 0.00072 0.000726667 0.000733333 0.00074 0.000753333 +0.000753333 0.000726667 0.000726667 0.000713333 0.000693333 0.000693333 0.000686667 0.0007 +0.000706667 0.0007 0.000706667 0.000726667 0.00072 0.0007 0.000693333 0.000713333 +0.000726667 0.0007 0.0007 0.000706667 0.000686667 0.000693333 0.000693333 0.000686667 +0.000693333 0.000713333 0.000706667 0.000706667 0.000713333 0.000706667 0.00072 0.00072 +0.00072 0.000713333 0.000726667 0.000746667 0.00076 0.000746667 0.000733333 0.000726667 +0.00072 0.00072 0.000726667 0.000766667 0.000786667 0.000766667 0.00076 0.00078 +0.000793333 0.000786667 0.000793333 0.000806667 0.000866667 0.246293 0.344747 0.331493 +0.26144 0.320133 0.554947 0.774737 0.961053 0.992082 0.977474 0.954737 +0.950316 0.952842 0.956 0.959158 0.969895 0.984245 0.993061 1.00057 +1.00155 1.0009 1.00416 1.00547 1.0058 1.00188 0.999265 0.997633 +0.996 0.993714 0.993388 0.991429 0.989143 0.985551 0.981959 0.967368 +0.878316 0.711579 0.554947 0.43752 0.390187 0.40344 0.39776 0.382613 +0.365573 0.342853 0.331493 0.3296 0.331493 0.344747 0.3296 0.303093 +0.299307 0.293627 0.287947 0.28984 0.3012 0.308773 0.320133 0.31824 +0.327707 0.37504 0.40912 0.36368 0.308773 0.287947 0.27848 0.276587 +0.286053 0.291733 0.291733 0.304987 0.322027 0.34096 0.40912 0.467813 +0.395867 0.322027 0.337173 0.365573 0.34664 0.31256 0.299307 0.310667 +0.35232 0.371253 0.333387 0.304987 0.299307 0.314453 0.39776 0.535368 +0.582105 0.530316 0.405333 0.344747 0.34096 0.35232 0.34664 0.337173 +0.36368 0.446987 0.48864 0.479173 0.4716 0.416693 0.378827 0.37504 +0.361787 0.350427 0.344747 0.3296 0.337173 0.376933 0.435627 0.433733 +0.365573 0.331493 0.344747 0.378827 0.3864 0.384507 0.435627 0.515789 +0.542316 0.528421 0.507579 0.505053 0.462133 0.405333 0.435627 0.43752 +0.3864 0.37504 0.388293 0.36936 0.356107 0.416693 0.537263 0.603579 +0.577053 0.484853 0.411013 0.446987 0.46592 0.505053 0.574526 0.751368 +0.961053 1.01951 1.03355 1.04041 1.04041 1.04139 1.04204 1.04106 +1.04106 1.03878 1.0378 1.03943 1.04106 1.03976 1.04106 1.044 +1.04269 1.04367 1.04269 1.03976 1.04171 1.04171 1.04106 1.04498 +1.04498 1.04465 1.04302 1.04204 1.04302 1.04237 1.04171 1.04073 +1.03976 1.04008 1.03943 1.04073 1.04139 1.03812 1.03649 1.03714 +1.0391 1.03845 1.03649 1.03649 1.03551 1.03486 1.03453 1.03714 +1.03747 1.03486 1.03518 1.03682 1.0342 1.03649 1.03943 1.03551 +1.03616 1.03649 1.03355 1.03159 1.02865 1.02898 1.03355 1.03682 +1.04041 1.04433 1.04171 1.0391 1.03943 1.04302 1.04335 1.04433 +1.04531 1.04498 1.04269 1.0378 1.04073 1.04204 1.04106 1.04106 +1.04171 1.04302 1.04171 1.04269 1.04269 1.04335 1.04465 1.04171 +1.0378 1.04139 1.04237 1.04171 1.04237 1.0391 1.04041 1.04367 +1.04204 1.04204 1.04465 1.04335 1.04302 1.04237 1.04237 1.04073 +1.04269 1.04433 1.04302 1.04204 1.04596 1.04759 1.044 1.04824 +1.04988 1.04563 1.04563 1.04727 1.04857 1.05086 1.05216 1.04857 +1.04531 1.04629 1.04922 1.04661 1.044 1.04465 1.04629 1.04531 +1.044 1.04531 1.04661 1.04531 1.04465 1.04433 1.04563 1.04433 +1.04269 1.04465 1.04465 1.044 1.04171 1.0391 1.03649 1.03714 +1.03943 1.0378 1.03388 1.03388 1.03453 1.03257 1.03224 1.03192 +1.03094 1.02898 1.02702 1.02473 1.01951 1.00547 0.964211 0.856211 +0.719789 0.589684 0.48864 0.339067 0.274693 0.26144 0.269013 0.27848 +0.367467 0.464027 0.38072 0.286053 0.27848 0.293627 0.32392 0.424267 +0.47728 0.3864 0.31256 0.28416 0.270907 0.274693 0.27848 0.28416 +0.291733 0.303093 0.361787 0.445093 0.40344 0.310667 0.280373 0.276587 +0.27848 0.270907 0.26712 0.276587 0.287947 0.286053 0.2728 0.286053 +0.3296 0.348533 0.322027 0.3012 0.31256 0.327707 0.322027 0.299307 +0.287947 0.280373 0.286053 0.303093 0.32392 0.3296 0.333387 0.342853 +0.367467 0.371253 0.354213 0.35232 0.376933 0.40912 0.428053 0.433733 +0.446987 0.519579 0.649684 0.847368 0.969263 0.992735 0.999592 1.00678 +1.01494 1.01592 1.00612 1.00057 1.00547 1.00841 1.00841 1.01265 +1.01429 1.01331 1.01396 1.01527 1.01461 1.01592 1.01788 1.01494 +1.00678 0.994367 0.986531 0.979368 0.969895 0.967368 0.960421 0.954737 +0.954105 0.953474 0.954105 0.956632 0.963579 0.982939 0.958526 0.792421 +0.583368 0.450773 0.37504 0.2728 0.000906667 0.000833333 0.0008 0.00078 +0.000766667 0.000786667 0.000806667 0.0008 0.000793333 0.000766667 0.000746667 0.000766667 +0.000773333 0.00076 0.000746667 0.00074 0.00074 0.000733333 0.0007 0.00074 +0.000773333 0.000746667 0.000713333 0.0007 0.000693333 0.00072 0.000746667 0.00074 +0.00074 0.00072 0.000713333 0.000713333 0.00072 0.00074 0.000746667 0.00074 +0.00072 0.000713333 0.000706667 0.000706667 0.00072 0.000726667 0.00072 0.000726667 +0.000733333 0.000726667 0.000746667 0.00074 0.000706667 0.000713333 0.0007 0.00068 +0.00068 0.0007 0.000713333 0.000713333 0.000693333 0.000673333 0.000666667 0.000693333 +0.00072 0.000726667 0.000713333 0.000733333 0.000733333 0.000726667 0.00072 0.00072 +0.0007 0.000706667 0.00068 0.000686667 0.000706667 0.00068 0.000693333 0.000713333 +0.000713333 0.0007 0.000706667 0.000713333 0.00074 0.000733333 0.000726667 0.000713333 +0.000706667 0.0007 0.000706667 0.000713333 0.000733333 0.00074 0.000753333 0.000786667 +0.0008 0.000793333 0.0008 0.000833333 0.000933333 0.29552 0.34664 0.291733 +0.274693 0.446987 0.650947 0.878947 0.985878 0.983265 0.957895 0.949053 +0.954105 0.956632 0.959789 0.968 0.981959 0.991429 0.998939 1.0058 +1.00743 1.00743 1.00873 1.00971 1.00547 1.00514 1.00253 1.00057 +0.998286 0.994694 0.99502 0.991429 0.986204 0.981959 0.980653 0.954105 +0.850526 0.681895 0.537895 0.43184 0.40912 0.411013 0.38072 0.365573 +0.35232 0.331493 0.322027 0.32392 0.331493 0.350427 0.333387 0.308773 +0.30688 0.308773 0.303093 0.299307 0.3012 0.299307 0.299307 0.304987 +0.320133 0.367467 0.390187 0.339067 0.303093 0.293627 0.28984 0.287947 +0.28416 0.28416 0.28984 0.29552 0.297413 0.316347 0.422373 0.475387 +0.38072 0.316347 0.331493 0.34096 0.325813 0.31824 0.308773 0.32392 +0.361787 0.36936 0.3296 0.304987 0.297413 0.314453 0.43184 0.554316 +0.563789 0.473493 0.35232 0.339067 0.339067 0.34664 0.356107 0.358 +0.354213 0.395867 0.416693 0.412907 0.424267 0.39208 0.356107 0.358 +0.36368 0.35232 0.33528 0.327707 0.331493 0.342853 0.3864 0.411013 +0.367467 0.31824 0.31824 0.337173 0.350427 0.350427 0.367467 0.43184 +0.48864 0.481067 0.473493 0.505053 0.503158 0.46024 0.473493 0.492427 +0.446987 0.39776 0.376933 0.36368 0.361787 0.411013 0.522105 0.570105 +0.547368 0.475387 0.433733 0.445093 0.446987 0.490533 0.561895 0.731158 +0.944 1.01755 1.0342 1.04073 1.04106 1.04139 1.04139 1.04008 +1.0378 1.03551 1.03453 1.03616 1.04008 1.0391 1.0391 1.04269 +1.04498 1.04596 1.04433 1.03976 1.04008 1.04073 1.04302 1.04629 +1.04596 1.04335 1.04171 1.04302 1.04237 1.04073 1.04041 1.03976 +1.0391 1.04073 1.04073 1.04041 1.04106 1.0378 1.03714 1.0378 +1.03845 1.03845 1.03682 1.03584 1.03486 1.03551 1.03518 1.03518 +1.0378 1.03584 1.03322 1.03682 1.03747 1.03682 1.03747 1.03616 +1.03551 1.03518 1.0329 1.03127 1.02996 1.03257 1.03453 1.03649 +1.03878 1.04073 1.03976 1.03943 1.04008 1.04106 1.03976 1.04106 +1.04302 1.04465 1.04433 1.04041 1.04204 1.04106 1.04106 1.04204 +1.04139 1.04171 1.04106 1.04237 1.04171 1.04139 1.04269 1.04171 +1.03943 1.04139 1.04139 1.04139 1.04139 1.04008 1.04335 1.044 +1.04171 1.04237 1.04269 1.044 1.04531 1.04237 1.04269 1.04367 +1.04498 1.04433 1.04269 1.04171 1.04563 1.04857 1.04661 1.04792 +1.04694 1.04629 1.04629 1.04727 1.04727 1.04988 1.04955 1.04792 +1.04759 1.04824 1.04922 1.04955 1.04857 1.04465 1.044 1.04237 +1.04302 1.04563 1.04563 1.04531 1.04661 1.04596 1.04531 1.04302 +1.04269 1.04269 1.04237 1.04204 1.04073 1.04073 1.03812 1.03878 +1.0391 1.03649 1.03649 1.0378 1.03551 1.0329 1.03192 1.03159 +1.03127 1.02963 1.02833 1.02669 1.01886 1.0009 0.948421 0.835368 +0.702737 0.577684 0.464027 0.325813 0.280373 0.269013 0.263333 0.27848 +0.371253 0.45456 0.390187 0.304987 0.28416 0.282267 0.320133 0.42048 +0.4432 0.35232 0.287947 0.2728 0.26712 0.269013 0.276587 0.280373 +0.286053 0.304987 0.384507 0.473493 0.416693 0.31824 0.291733 0.291733 +0.287947 0.274693 0.27848 0.291733 0.28416 0.270907 0.263333 0.303093 +0.376933 0.384507 0.325813 0.303093 0.31824 0.331493 0.322027 0.30688 +0.297413 0.293627 0.291733 0.304987 0.32392 0.34096 0.358 0.37504 +0.37504 0.361787 0.354213 0.367467 0.378827 0.382613 0.405333 0.40912 +0.418587 0.505684 0.622526 0.817053 0.950316 0.986531 0.99502 1.00024 +1.00547 1.00612 1.00122 0.999265 1.00449 1.00873 1.00841 1.01265 +1.01429 1.012 1.01298 1.01494 1.01429 1.01429 1.01592 1.01527 +1.01167 1.00612 1.00482 0.998612 0.985551 0.973684 0.962947 0.956 +0.955368 0.956 0.956 0.954737 0.952211 0.968632 0.981306 0.887158 +0.674947 0.512632 0.395867 0.316347 0.000993333 0.00084 0.000826667 0.000793333 +0.000773333 0.000793333 0.000786667 0.000766667 0.000773333 0.000773333 0.000766667 0.000793333 +0.000773333 0.000733333 0.000733333 0.000733333 0.000753333 0.00076 0.00074 0.00072 +0.000713333 0.00068 0.000693333 0.000733333 0.000746667 0.000746667 0.000733333 0.000713333 +0.000726667 0.00072 0.000713333 0.000733333 0.000733333 0.000733333 0.000713333 0.000726667 +0.000733333 0.000746667 0.000746667 0.000713333 0.0007 0.0007 0.00072 0.000726667 +0.000713333 0.0007 0.00072 0.00074 0.000733333 0.000726667 0.000726667 0.000693333 +0.00068 0.000686667 0.000673333 0.000693333 0.0007 0.000693333 0.000693333 0.00068 +0.0007 0.000706667 0.000693333 0.000713333 0.000726667 0.000713333 0.0007 0.000706667 +0.000706667 0.00072 0.000706667 0.000706667 0.000726667 0.00068 0.000666667 0.0007 +0.000693333 0.000713333 0.000726667 0.00072 0.000706667 0.0007 0.0007 0.000713333 +0.000746667 0.00076 0.00076 0.00072 0.000706667 0.00072 0.000733333 0.000773333 +0.000793333 0.000806667 0.00084 0.000893333 0.236827 0.34096 0.34096 0.257653 +0.316347 0.550526 0.767158 0.952211 0.989143 0.970526 0.946526 0.946526 +0.954737 0.960421 0.970526 0.982286 0.991429 0.999265 1.00645 1.00971 +1.01037 1.00971 1.00971 1.00841 1.00678 1.00612 1.00482 1.00449 +0.998286 0.993388 0.993714 0.990776 0.985224 0.982286 0.980653 0.940211 +0.824 0.651579 0.524 0.43752 0.412907 0.390187 0.358 0.354213 +0.348533 0.327707 0.31256 0.308773 0.3296 0.33528 0.320133 0.316347 +0.325813 0.33528 0.316347 0.303093 0.297413 0.282267 0.27848 0.287947 +0.322027 0.378827 0.382613 0.320133 0.29552 0.293627 0.287947 0.27848 +0.27848 0.28416 0.286053 0.28984 0.291733 0.342853 0.4716 0.484853 +0.358 0.304987 0.303093 0.291733 0.3012 0.310667 0.316347 0.333387 +0.358 0.34664 0.31824 0.30688 0.299307 0.331493 0.503789 0.577053 +0.543579 0.390187 0.327707 0.356107 0.37504 0.36368 0.356107 0.358 +0.344747 0.354213 0.37504 0.390187 0.401547 0.373147 0.34664 0.350427 +0.365573 0.365573 0.34096 0.331493 0.344747 0.337173 0.354213 0.393973 +0.39208 0.34664 0.327707 0.339067 0.348533 0.342853 0.344747 0.373147 +0.412907 0.412907 0.411013 0.479173 0.529053 0.555579 0.558737 0.541053 +0.512632 0.435627 0.376933 0.37504 0.38072 0.407227 0.492427 0.526526 +0.513895 0.446987 0.4148 0.412907 0.416693 0.464027 0.549895 0.707789 +0.919368 1.01167 1.03224 1.03976 1.04008 1.04073 1.04106 1.03649 +1.03355 1.03355 1.03322 1.03518 1.0378 1.0378 1.0378 1.0391 +1.04433 1.04629 1.04367 1.04041 1.04041 1.04073 1.04302 1.04433 +1.04433 1.04269 1.03976 1.04269 1.04367 1.04171 1.04139 1.04073 +1.03976 1.04171 1.04269 1.04171 1.04204 1.04073 1.0391 1.03943 +1.04008 1.03943 1.03747 1.0378 1.03714 1.03616 1.03322 1.03159 +1.03747 1.03714 1.03453 1.03682 1.03714 1.03682 1.03616 1.03649 +1.0342 1.03322 1.0342 1.03486 1.03355 1.03355 1.03355 1.03518 +1.0391 1.04041 1.03845 1.04041 1.04302 1.04139 1.04041 1.04269 +1.04367 1.04563 1.04465 1.04171 1.04302 1.04335 1.04367 1.04367 +1.04171 1.04171 1.04073 1.04008 1.03976 1.04171 1.04171 1.04171 +1.04204 1.04204 1.04041 1.04106 1.04073 1.04041 1.04433 1.04433 +1.044 1.044 1.04106 1.04171 1.04433 1.04171 1.04269 1.04465 +1.04629 1.04433 1.04302 1.04531 1.04792 1.04792 1.04857 1.0489 +1.04792 1.04988 1.04955 1.04922 1.04857 1.04824 1.04563 1.04563 +1.04727 1.04824 1.04792 1.04955 1.04955 1.04629 1.04465 1.04269 +1.04269 1.04269 1.04139 1.04171 1.04269 1.044 1.04335 1.04073 +1.04237 1.04204 1.04171 1.04041 1.0391 1.03976 1.04008 1.04139 +1.03878 1.03518 1.03649 1.03747 1.03453 1.03322 1.03257 1.03192 +1.03224 1.03127 1.03061 1.02702 1.01788 0.99698 0.934526 0.818316 +0.684421 0.563789 0.4432 0.333387 0.31256 0.286053 0.26144 0.280373 +0.348533 0.40344 0.359893 0.297413 0.2728 0.26712 0.308773 0.416693 +0.42616 0.325813 0.270907 0.263333 0.25576 0.253867 0.26712 0.27848 +0.291733 0.314453 0.378827 0.441307 0.39776 0.322027 0.291733 0.293627 +0.291733 0.29552 0.3012 0.304987 0.276587 0.26144 0.286053 0.371253 +0.462133 0.42048 0.3296 0.308773 0.31256 0.31824 0.314453 0.30688 +0.308773 0.297413 0.29552 0.31256 0.339067 0.367467 0.395867 0.40912 +0.39208 0.378827 0.395867 0.407227 0.399653 0.384507 0.399653 0.405333 +0.405333 0.48864 0.599158 0.788 0.935789 0.983265 0.991429 0.994367 +0.996327 0.997306 0.997633 0.999592 1.00351 1.00776 1.00841 1.01004 +1.012 1.01167 1.01265 1.01331 1.01265 1.01363 1.01494 1.01657 +1.01363 1.00939 1.012 1.00939 0.993714 0.977474 0.962316 0.954737 +0.952842 0.956 0.957263 0.953474 0.949684 0.959158 0.983265 0.952842 +0.776632 0.567579 0.424267 0.358 0.259547 0.000913333 0.000866667 0.00082 +0.0008 0.0008 0.000806667 0.0008 0.000793333 0.000753333 0.00074 0.000766667 +0.000746667 0.00074 0.000766667 0.00078 0.00078 0.000766667 0.000746667 0.000733333 +0.000713333 0.000713333 0.000733333 0.000733333 0.00072 0.000706667 0.000686667 0.000706667 +0.00072 0.000726667 0.000746667 0.000753333 0.00076 0.00076 0.000733333 0.000726667 +0.000733333 0.00074 0.00074 0.000733333 0.000726667 0.0007 0.0007 0.000706667 +0.000693333 0.00068 0.000713333 0.0007 0.000726667 0.000746667 0.000726667 0.000733333 +0.00072 0.00072 0.000713333 0.0007 0.000706667 0.00072 0.000713333 0.000693333 +0.000693333 0.000686667 0.000673333 0.000693333 0.00068 0.000666667 0.000673333 0.000693333 +0.000686667 0.000693333 0.000706667 0.0007 0.000706667 0.000693333 0.000673333 0.000713333 +0.0007 0.000706667 0.0007 0.000693333 0.0007 0.00072 0.000726667 0.00072 +0.000746667 0.00076 0.000753333 0.000746667 0.000766667 0.000786667 0.000793333 0.0008 +0.000813333 0.0008 0.00082 0.000906667 0.274693 0.361787 0.320133 0.26712 +0.42048 0.643368 0.871368 0.986857 0.985551 0.957895 0.944632 0.949053 +0.955368 0.961053 0.977474 0.98849 0.997633 1.00612 1.012 1.01363 +1.01167 1.01037 1.01102 1.00841 1.00841 1.0071 1.00547 1.00514 +0.998286 0.993714 0.993061 0.989469 0.984245 0.983592 0.980327 0.92821 +0.8 0.625684 0.512 0.42616 0.3864 0.359893 0.348533 0.356107 +0.354213 0.33528 0.316347 0.310667 0.33528 0.331493 0.320133 0.325813 +0.337173 0.320133 0.293627 0.293627 0.286053 0.2728 0.2728 0.286053 +0.331493 0.3864 0.36368 0.3012 0.29552 0.303093 0.28984 0.276587 +0.2728 0.280373 0.28416 0.2728 0.287947 0.388293 0.508211 0.48296 +0.35232 0.303093 0.286053 0.27848 0.28416 0.291733 0.303093 0.327707 +0.344747 0.322027 0.303093 0.299307 0.299307 0.36368 0.529684 0.582105 +0.517684 0.356107 0.34096 0.376933 0.40344 0.382613 0.36368 0.359893 +0.35232 0.34096 0.350427 0.38072 0.401547 0.36936 0.342853 0.342853 +0.36368 0.38072 0.359893 0.339067 0.344747 0.344747 0.337173 0.367467 +0.393973 0.365573 0.342853 0.361787 0.367467 0.358 0.365573 0.371253 +0.37504 0.371253 0.36936 0.43752 0.556842 0.635158 0.618105 0.556842 +0.522105 0.5 0.42616 0.390187 0.373147 0.373147 0.401547 0.445093 +0.43184 0.39776 0.390187 0.384507 0.395867 0.441307 0.534105 0.683789 +0.896 1.00743 1.03192 1.04041 1.04139 1.04041 1.03714 1.03257 +1.03094 1.03094 1.03159 1.03453 1.03682 1.0378 1.03943 1.03943 +1.04269 1.04465 1.04335 1.04106 1.04008 1.0391 1.04139 1.04269 +1.04302 1.04269 1.04041 1.04171 1.04531 1.04335 1.04041 1.04073 +1.04073 1.04106 1.04302 1.04041 1.03878 1.03976 1.04041 1.04041 +1.03845 1.03845 1.03878 1.03845 1.03682 1.03584 1.03486 1.03322 +1.03747 1.03649 1.03551 1.03616 1.03518 1.03518 1.03518 1.03616 +1.03486 1.0342 1.0342 1.03551 1.03322 1.03094 1.03388 1.03584 +1.03812 1.03976 1.03878 1.04041 1.04302 1.04204 1.04171 1.04269 +1.04335 1.04531 1.04302 1.04008 1.04269 1.04531 1.04563 1.04465 +1.04302 1.04269 1.04106 1.03878 1.04073 1.04367 1.04204 1.04073 +1.04171 1.04302 1.04106 1.04008 1.0391 1.04139 1.04302 1.04171 +1.04302 1.04237 1.04073 1.03943 1.04008 1.04237 1.04465 1.04367 +1.04498 1.04498 1.044 1.04531 1.04563 1.04465 1.04727 1.04857 +1.04792 1.04857 1.04759 1.04759 1.04792 1.04596 1.04302 1.04335 +1.04498 1.04629 1.04792 1.0489 1.04759 1.04694 1.04563 1.04596 +1.04727 1.04367 1.04139 1.04302 1.04237 1.04237 1.04106 1.04041 +1.04106 1.04139 1.04171 1.04041 1.04041 1.03976 1.04008 1.04073 +1.03714 1.03551 1.03714 1.03649 1.03388 1.03486 1.03584 1.03388 +1.03224 1.03192 1.03061 1.02669 1.01592 0.990776 0.918737 0.803789 +0.670526 0.553053 0.43752 0.358 0.354213 0.316347 0.282267 0.287947 +0.3296 0.365573 0.33528 0.280373 0.25576 0.26144 0.331493 0.45456 +0.445093 0.33528 0.282267 0.265227 0.26144 0.259547 0.265227 0.2728 +0.293627 0.3296 0.361787 0.38072 0.342853 0.303093 0.297413 0.299307 +0.303093 0.31256 0.331493 0.34664 0.32392 0.29552 0.322027 0.42048 +0.498107 0.42048 0.325813 0.310667 0.314453 0.320133 0.30688 0.299307 +0.299307 0.291733 0.303093 0.3296 0.365573 0.40912 0.429947 0.4148 +0.37504 0.367467 0.38072 0.39208 0.393973 0.3864 0.395867 0.405333 +0.405333 0.475387 0.587158 0.768421 0.92 0.970526 0.982939 0.988163 +0.992082 0.993388 0.992408 0.997306 1.00286 1.00612 1.00776 1.00743 +1.00873 1.01102 1.01135 1.012 1.01298 1.01461 1.01461 1.01559 +1.01396 1.00808 1.00416 0.999918 0.98849 0.971158 0.959789 0.956 +0.952842 0.955368 0.957895 0.953474 0.949684 0.954105 0.975579 0.98098 +0.872632 0.657263 0.503789 0.3864 0.3012 0.000966667 0.000846667 0.00078 +0.0008 0.00082 0.000826667 0.000813333 0.000766667 0.000726667 0.000746667 0.000793333 +0.00078 0.000773333 0.000773333 0.000753333 0.000733333 0.000726667 0.00074 0.000746667 +0.000753333 0.000746667 0.000726667 0.000706667 0.0007 0.000706667 0.000713333 0.00074 +0.00072 0.000706667 0.000733333 0.000726667 0.000733333 0.00076 0.000766667 0.000773333 +0.000773333 0.000766667 0.00074 0.000733333 0.000733333 0.000733333 0.000733333 0.00074 +0.000733333 0.000726667 0.000746667 0.000706667 0.000713333 0.000726667 0.00072 0.000753333 +0.00074 0.000726667 0.000733333 0.000726667 0.000706667 0.000706667 0.000706667 0.000693333 +0.0007 0.000706667 0.0007 0.000713333 0.000713333 0.000686667 0.0007 0.0007 +0.000706667 0.000706667 0.000693333 0.000693333 0.0007 0.0007 0.0007 0.00072 +0.000706667 0.000686667 0.000693333 0.000666667 0.000693333 0.00072 0.000746667 0.000733333 +0.00074 0.00076 0.000766667 0.00078 0.000786667 0.0008 0.000806667 0.000813333 +0.000826667 0.000826667 0.00086 0.216 0.310667 0.344747 0.27848 0.299307 +0.534737 0.750105 0.947158 0.991102 0.976842 0.952842 0.948421 0.954105 +0.959158 0.966737 0.984245 0.996 1.00547 1.01265 1.01461 1.01461 +1.01494 1.01396 1.01298 1.01069 1.00873 1.00678 1.00678 1.00384 +0.997959 0.994367 0.992735 0.987837 0.982286 0.98098 0.968 0.909263 +0.771579 0.59979 0.504421 0.411013 0.36368 0.342853 0.339067 0.365573 +0.373147 0.350427 0.32392 0.32392 0.337173 0.31824 0.316347 0.337173 +0.34096 0.3012 0.28416 0.29552 0.287947 0.286053 0.28984 0.316347 +0.365573 0.395867 0.356107 0.29552 0.28984 0.29552 0.286053 0.274693 +0.280373 0.28416 0.286053 0.291733 0.320133 0.424267 0.501263 0.418587 +0.322027 0.29552 0.28416 0.28984 0.28416 0.27848 0.299307 0.331493 +0.34096 0.322027 0.314453 0.314453 0.310667 0.384507 0.529684 0.549263 +0.46024 0.342853 0.337173 0.34664 0.365573 0.36936 0.359893 0.350427 +0.342853 0.337173 0.348533 0.382613 0.411013 0.367467 0.33528 0.339067 +0.367467 0.39776 0.37504 0.337173 0.325813 0.337173 0.348533 0.367467 +0.39208 0.378827 0.35232 0.359893 0.36936 0.390187 0.4432 0.481067 +0.498107 0.484853 0.456453 0.504421 0.578316 0.638316 0.592211 0.513263 +0.48296 0.500632 0.45456 0.395867 0.371253 0.354213 0.344747 0.356107 +0.361787 0.378827 0.399653 0.388293 0.39208 0.428053 0.513263 0.649053 +0.863789 0.998612 1.02669 1.03453 1.03714 1.03453 1.02996 1.02898 +1.02898 1.02637 1.028 1.03518 1.0391 1.03976 1.04171 1.04171 +1.04106 1.04302 1.04596 1.04465 1.04171 1.04073 1.04171 1.044 +1.04367 1.04335 1.04139 1.04139 1.04465 1.04433 1.03976 1.03845 +1.03878 1.0391 1.04204 1.03976 1.03682 1.04008 1.04237 1.04073 +1.03518 1.03649 1.0391 1.03878 1.03551 1.0329 1.0342 1.03486 +1.03845 1.03616 1.03518 1.03584 1.03682 1.0378 1.03616 1.03584 +1.03616 1.03584 1.03388 1.03486 1.03453 1.0329 1.03486 1.03616 +1.03616 1.03551 1.0378 1.04139 1.04204 1.04237 1.044 1.04433 +1.04139 1.04139 1.04041 1.04008 1.04302 1.04531 1.04433 1.044 +1.04269 1.04171 1.03943 1.04041 1.04204 1.04498 1.04335 1.04041 +1.04367 1.044 1.04204 1.04008 1.03845 1.04106 1.04106 1.04106 +1.04269 1.04106 1.04204 1.04204 1.04008 1.04237 1.04531 1.04269 +1.04171 1.04237 1.044 1.04465 1.04367 1.04302 1.04596 1.04759 +1.04629 1.04629 1.04563 1.04531 1.04433 1.04302 1.04302 1.04367 +1.04367 1.04367 1.04661 1.04661 1.04465 1.04661 1.04498 1.04661 +1.04792 1.04433 1.04302 1.04465 1.04367 1.04335 1.04302 1.04335 +1.044 1.04204 1.04106 1.04171 1.04073 1.03976 1.03943 1.03812 +1.03714 1.03845 1.03976 1.03714 1.03388 1.0329 1.03486 1.03518 +1.03224 1.03061 1.02931 1.02441 1.01102 0.983918 0.903579 0.783579 +0.647789 0.537895 0.42616 0.365573 0.348533 0.31256 0.299307 0.308773 +0.320133 0.33528 0.31256 0.270907 0.257653 0.26144 0.358 0.496213 +0.464027 0.348533 0.3012 0.282267 0.280373 0.286053 0.287947 0.29552 +0.308773 0.322027 0.331493 0.337173 0.316347 0.291733 0.286053 0.3012 +0.344747 0.395867 0.429947 0.43184 0.38072 0.320133 0.31256 0.367467 +0.42616 0.36368 0.29552 0.299307 0.322027 0.3296 0.30688 0.299307 +0.299307 0.3012 0.310667 0.337173 0.3864 0.435627 0.428053 0.38072 +0.337173 0.327707 0.33528 0.361787 0.376933 0.373147 0.378827 0.395867 +0.40912 0.469707 0.574526 0.745053 0.902316 0.960421 0.974316 0.983265 +0.986531 0.986531 0.986204 0.994694 1.00449 1.00678 1.00873 1.00808 +1.00743 1.01102 1.012 1.012 1.01265 1.01429 1.01429 1.01527 +1.01429 1.00808 0.998286 0.988816 0.980653 0.964842 0.959158 0.958526 +0.955368 0.959158 0.961684 0.953474 0.944632 0.945895 0.962316 0.983592 +0.943368 0.762105 0.559368 0.422373 0.34096 0.25008 0.000906667 0.000806667 +0.000806667 0.00078 0.00076 0.000753333 0.000753333 0.000766667 0.000806667 0.000793333 +0.00076 0.000753333 0.000766667 0.00076 0.000753333 0.00076 0.000746667 0.000726667 +0.000726667 0.00072 0.000706667 0.000713333 0.00072 0.00074 0.000753333 0.00076 +0.000726667 0.000706667 0.00072 0.000726667 0.000686667 0.000686667 0.000713333 0.000733333 +0.00074 0.000746667 0.000726667 0.00072 0.000726667 0.000706667 0.000726667 0.000733333 +0.00072 0.00072 0.000726667 0.00072 0.00072 0.0007 0.00068 0.0007 +0.00072 0.000706667 0.00072 0.000726667 0.000713333 0.000706667 0.000713333 0.000713333 +0.00072 0.000713333 0.000713333 0.000713333 0.0007 0.000693333 0.00068 0.000686667 +0.000733333 0.00074 0.000713333 0.000713333 0.000706667 0.000726667 0.000726667 0.00074 +0.000746667 0.00074 0.00072 0.000706667 0.00072 0.00072 0.00074 0.00074 +0.00076 0.000766667 0.00076 0.000766667 0.00078 0.00082 0.00082 0.000806667 +0.000833333 0.000866667 0.000946667 0.270907 0.350427 0.314453 0.26144 0.38072 +0.614316 0.849263 0.984571 0.985878 0.967368 0.956 0.957895 0.959158 +0.964842 0.980653 0.993388 1.00318 1.012 1.01722 1.01592 1.01461 +1.01363 1.012 1.00939 1.01037 1.00971 1.00678 1.00645 1.00253 +0.996653 0.992735 0.990776 0.986531 0.981959 0.978737 0.958526 0.893474 +0.743789 0.578947 0.49432 0.40912 0.38072 0.358 0.34664 0.367467 +0.378827 0.348533 0.320133 0.3296 0.331493 0.308773 0.308773 0.33528 +0.327707 0.291733 0.28416 0.28984 0.303093 0.314453 0.31824 0.344747 +0.376933 0.382613 0.359893 0.310667 0.28416 0.27848 0.274693 0.2728 +0.280373 0.28416 0.286053 0.30688 0.348533 0.42616 0.4432 0.350427 +0.299307 0.28984 0.291733 0.304987 0.3012 0.28984 0.29552 0.3296 +0.339067 0.31824 0.30688 0.304987 0.310667 0.405333 0.522105 0.515789 +0.39208 0.333387 0.322027 0.31824 0.331493 0.34664 0.35232 0.34664 +0.33528 0.3296 0.333387 0.371253 0.411013 0.378827 0.342853 0.354213 +0.37504 0.37504 0.342853 0.320133 0.316347 0.344747 0.359893 0.37504 +0.39208 0.3864 0.348533 0.325813 0.333387 0.376933 0.439413 0.507579 +0.539158 0.561263 0.562526 0.556211 0.569474 0.582105 0.551158 0.490533 +0.429947 0.45456 0.435627 0.401547 0.3864 0.358 0.325813 0.316347 +0.32392 0.350427 0.376933 0.36936 0.378827 0.412907 0.481067 0.606105 +0.822737 0.985551 1.01527 1.02408 1.02833 1.028 1.02408 1.02441 +1.02735 1.02571 1.02931 1.03682 1.04139 1.04237 1.04204 1.04171 +1.04041 1.04269 1.04759 1.04661 1.04269 1.04041 1.04008 1.04204 +1.04171 1.04139 1.04041 1.03976 1.04073 1.04269 1.04073 1.0378 +1.03976 1.04269 1.04367 1.04139 1.03747 1.04106 1.04204 1.03976 +1.03649 1.03747 1.03812 1.03714 1.03649 1.03322 1.03453 1.03649 +1.03845 1.03714 1.03747 1.03682 1.03714 1.03878 1.03714 1.03584 +1.03682 1.03551 1.03322 1.03388 1.03518 1.03486 1.03616 1.03649 +1.03551 1.03453 1.0378 1.04106 1.03976 1.0378 1.04139 1.044 +1.04302 1.04335 1.04367 1.04204 1.04269 1.04433 1.044 1.04237 +1.04041 1.03976 1.03812 1.04106 1.044 1.04596 1.04498 1.04269 +1.04465 1.04237 1.04204 1.04073 1.04073 1.04237 1.04041 1.04237 +1.04237 1.0378 1.04041 1.04465 1.04237 1.04269 1.044 1.04106 +1.03943 1.04041 1.04237 1.04335 1.04563 1.04661 1.04563 1.04531 +1.04433 1.04465 1.04531 1.04563 1.04367 1.04204 1.04433 1.04498 +1.04433 1.04433 1.04498 1.04367 1.04433 1.04596 1.04563 1.04694 +1.04563 1.04367 1.04269 1.04106 1.03943 1.04041 1.04204 1.04237 +1.044 1.04302 1.04204 1.04171 1.03943 1.04008 1.0391 1.03714 +1.03682 1.03943 1.04008 1.03747 1.03518 1.03322 1.03257 1.0329 +1.03094 1.02898 1.02669 1.02147 1.00808 0.980327 0.889053 0.761474 +0.629474 0.525263 0.395867 0.337173 0.320133 0.308773 0.320133 0.331493 +0.327707 0.327707 0.30688 0.270907 0.263333 0.282267 0.418587 0.516421 +0.469707 0.34664 0.31256 0.299307 0.3012 0.31256 0.314453 0.320133 +0.31824 0.31824 0.327707 0.31824 0.299307 0.28416 0.2728 0.293627 +0.36368 0.433733 0.446987 0.42616 0.376933 0.32392 0.293627 0.31256 +0.35232 0.320133 0.276587 0.287947 0.31824 0.325813 0.303093 0.293627 +0.30688 0.31824 0.333387 0.365573 0.407227 0.42616 0.39776 0.350427 +0.331493 0.331493 0.354213 0.376933 0.384507 0.37504 0.382613 0.395867 +0.405333 0.450773 0.56 0.724842 0.888421 0.956 0.970526 0.98 +0.982612 0.983918 0.984898 0.992082 1.00253 1.00547 1.00808 1.01004 +1.00841 1.01135 1.01363 1.01331 1.01363 1.01429 1.01461 1.01559 +1.01527 1.01037 0.998286 0.984571 0.976842 0.968 0.963579 0.962316 +0.960421 0.963579 0.961684 0.951579 0.943368 0.944632 0.953474 0.975579 +0.978105 0.859368 0.641474 0.501895 0.39208 0.30688 0.00098 0.000833333 +0.00082 0.000773333 0.000766667 0.000766667 0.00076 0.000773333 0.00078 0.00074 +0.000713333 0.000753333 0.00078 0.00076 0.000753333 0.000773333 0.000746667 0.000726667 +0.000726667 0.000726667 0.000746667 0.00076 0.000746667 0.000726667 0.000733333 0.00074 +0.00074 0.00076 0.000753333 0.000753333 0.00072 0.0007 0.000693333 0.000686667 +0.00068 0.0007 0.0007 0.0007 0.000713333 0.000706667 0.00072 0.000726667 +0.000726667 0.000733333 0.00074 0.00072 0.00072 0.00072 0.000706667 0.000686667 +0.000686667 0.0007 0.000706667 0.000706667 0.000706667 0.000686667 0.000686667 0.0007 +0.000686667 0.000693333 0.000726667 0.00072 0.000686667 0.0007 0.000693333 0.000693333 +0.000713333 0.00072 0.000706667 0.000713333 0.000713333 0.000706667 0.0007 0.000713333 +0.000733333 0.00074 0.00074 0.000746667 0.00076 0.000746667 0.00074 0.000733333 +0.000726667 0.000733333 0.000733333 0.00072 0.00072 0.000793333 0.00084 0.00082 +0.00084 0.00086 0.22168 0.31824 0.34664 0.282267 0.28416 0.510105 +0.712842 0.929474 0.989469 0.977474 0.956 0.953474 0.961684 0.966105 +0.976842 0.989469 1.0009 1.00939 1.01624 1.01918 1.01624 1.01559 +1.01494 1.01167 1.01069 1.01102 1.01102 1.01004 1.00841 1.00384 +0.996653 0.990122 0.98751 0.982612 0.976842 0.968632 0.947789 0.882737 +0.728632 0.570105 0.479173 0.40912 0.39208 0.376933 0.36936 0.393973 +0.395867 0.34664 0.316347 0.320133 0.31824 0.31256 0.322027 0.344747 +0.32392 0.297413 0.29552 0.293627 0.320133 0.342853 0.34096 0.350427 +0.354213 0.358 0.359893 0.327707 0.28984 0.27848 0.274693 0.27848 +0.287947 0.287947 0.297413 0.316347 0.348533 0.412907 0.40912 0.333387 +0.3012 0.299307 0.30688 0.31256 0.31824 0.304987 0.297413 0.30688 +0.31256 0.304987 0.29552 0.29552 0.32392 0.439413 0.520211 0.486747 +0.354213 0.325813 0.32392 0.325813 0.342853 0.36368 0.3864 0.38072 +0.350427 0.325813 0.320133 0.358 0.40344 0.3864 0.354213 0.358 +0.35232 0.33528 0.322027 0.32392 0.339067 0.344747 0.342853 0.373147 +0.399653 0.384507 0.358 0.320133 0.32392 0.34664 0.350427 0.384507 +0.47728 0.530316 0.552421 0.544842 0.525895 0.525263 0.534737 0.511368 +0.469707 0.4716 0.42616 0.371253 0.358 0.339067 0.3296 0.314453 +0.308773 0.342853 0.367467 0.36368 0.359893 0.371253 0.405333 0.548632 +0.752632 0.945263 1.00253 1.01559 1.0218 1.0231 1.0218 1.02245 +1.02506 1.02539 1.03257 1.03812 1.0391 1.03976 1.03976 1.04008 +1.04008 1.04139 1.044 1.04498 1.04139 1.03845 1.03812 1.03845 +1.03976 1.04237 1.04335 1.04139 1.04041 1.04073 1.03943 1.03812 +1.03976 1.04204 1.04139 1.04073 1.03714 1.03878 1.04041 1.04073 +1.03845 1.03747 1.03682 1.0378 1.03976 1.03649 1.03649 1.03649 +1.03682 1.03714 1.03845 1.03616 1.03551 1.03747 1.03551 1.0342 +1.03649 1.03584 1.03388 1.03224 1.03224 1.0329 1.03649 1.0342 +1.02963 1.03388 1.03714 1.03845 1.03976 1.03747 1.04041 1.044 +1.04531 1.04531 1.04563 1.04531 1.04269 1.04237 1.04237 1.04073 +1.04041 1.04008 1.03812 1.04106 1.04563 1.04563 1.044 1.04367 +1.04498 1.04073 1.04041 1.03845 1.04106 1.04237 1.04008 1.04139 +1.03976 1.0391 1.04302 1.04335 1.0391 1.04041 1.04269 1.04204 +1.04204 1.04367 1.04269 1.04041 1.04237 1.04531 1.04694 1.04465 +1.04237 1.04237 1.04302 1.04237 1.04171 1.04237 1.04563 1.04629 +1.04629 1.04661 1.04531 1.04335 1.04563 1.04596 1.04661 1.04824 +1.04563 1.04498 1.04269 1.04041 1.04041 1.04139 1.04008 1.04041 +1.04237 1.04237 1.044 1.04269 1.04139 1.04139 1.0391 1.03812 +1.03878 1.03943 1.03845 1.03682 1.03584 1.03518 1.03453 1.03257 +1.03127 1.03029 1.02735 1.02278 1.00873 0.971789 0.872632 0.746316 +0.619368 0.522737 0.395867 0.32392 0.32392 0.331493 0.33528 0.348533 +0.356107 0.36936 0.331493 0.282267 0.276587 0.34096 0.509474 0.537895 +0.484853 0.358 0.322027 0.310667 0.30688 0.310667 0.31256 0.322027 +0.314453 0.314453 0.331493 0.316347 0.28416 0.2728 0.274693 0.276587 +0.308773 0.344747 0.342853 0.34664 0.333387 0.297413 0.27848 0.299307 +0.316347 0.297413 0.286053 0.297413 0.31824 0.31256 0.297413 0.297413 +0.30688 0.325813 0.358 0.39208 0.401547 0.3864 0.359893 0.33528 +0.3296 0.337173 0.382613 0.422373 0.4148 0.388293 0.382613 0.388293 +0.399653 0.43752 0.546105 0.702105 0.871368 0.951579 0.969895 0.978105 +0.981959 0.984571 0.984898 0.989143 0.998612 1.00351 1.00743 1.01037 +1.00776 1.01037 1.01527 1.01461 1.01331 1.01298 1.01494 1.01657 +1.01527 1.01233 0.999918 0.984898 0.978105 0.969263 0.962947 0.961684 +0.963579 0.966105 0.962947 0.956 0.948421 0.945895 0.950316 0.964842 +0.983265 0.932632 0.739368 0.549895 0.428053 0.34096 0.22736 0.000833333 +0.000833333 0.000806667 0.0008 0.00078 0.000746667 0.000746667 0.000773333 0.000753333 +0.000753333 0.000773333 0.000753333 0.00072 0.000733333 0.000746667 0.000726667 0.00074 +0.000726667 0.000733333 0.000746667 0.000746667 0.000733333 0.000726667 0.000753333 0.000746667 +0.00076 0.000753333 0.00072 0.000726667 0.000753333 0.000753333 0.00074 0.00072 +0.0007 0.000693333 0.000706667 0.00072 0.000713333 0.00072 0.000726667 0.000726667 +0.00074 0.00074 0.00074 0.000726667 0.000733333 0.00072 0.000713333 0.000713333 +0.000713333 0.000733333 0.00072 0.000693333 0.000706667 0.0007 0.000706667 0.0007 +0.000693333 0.00068 0.000713333 0.00074 0.000713333 0.000733333 0.00072 0.0007 +0.0007 0.0007 0.0007 0.000686667 0.0007 0.000726667 0.000713333 0.000686667 +0.0007 0.000693333 0.000713333 0.00074 0.000753333 0.000753333 0.000766667 0.000766667 +0.000746667 0.000746667 0.000746667 0.000726667 0.0007 0.000726667 0.000793333 0.000826667 +0.000833333 0.000893333 0.26144 0.34664 0.31256 0.253867 0.348533 0.587158 +0.821474 0.98 0.989469 0.970526 0.950947 0.949053 0.958526 0.969895 +0.983918 0.996653 1.00743 1.01331 1.01788 1.01886 1.01527 1.01657 +1.01592 1.01233 1.01233 1.01233 1.00971 1.00971 1.00776 1.00384 +0.998612 0.992408 0.98751 0.981959 0.973053 0.960421 0.942737 0.871368 +0.709684 0.554947 0.458347 0.40912 0.399653 0.401547 0.418587 0.44888 +0.43184 0.371253 0.3296 0.310667 0.308773 0.314453 0.327707 0.34664 +0.32392 0.30688 0.30688 0.3012 0.310667 0.32392 0.322027 0.325813 +0.333387 0.350427 0.382613 0.36368 0.308773 0.28416 0.280373 0.282267 +0.299307 0.30688 0.308773 0.308773 0.331493 0.382613 0.388293 0.33528 +0.30688 0.308773 0.308773 0.31256 0.31824 0.316347 0.30688 0.303093 +0.291733 0.29552 0.291733 0.28416 0.33528 0.464027 0.516421 0.452667 +0.34664 0.325813 0.327707 0.331493 0.34664 0.376933 0.429947 0.43184 +0.36368 0.320133 0.314453 0.344747 0.382613 0.36368 0.325813 0.322027 +0.320133 0.31824 0.320133 0.3296 0.339067 0.337173 0.342853 0.388293 +0.401547 0.378827 0.371253 0.35232 0.342853 0.348533 0.322027 0.31256 +0.337173 0.378827 0.424267 0.4432 0.429947 0.452667 0.503789 0.5 +0.48864 0.505053 0.43752 0.34664 0.337173 0.327707 0.36368 0.393973 +0.40912 0.441307 0.4432 0.401547 0.348533 0.322027 0.339067 0.47728 +0.662316 0.878947 0.989469 1.01102 1.01984 1.02114 1.01886 1.01624 +1.01657 1.02408 1.03388 1.03878 1.03878 1.03878 1.03976 1.04041 +1.04008 1.03943 1.04073 1.04302 1.04302 1.04139 1.03812 1.0378 +1.04008 1.04204 1.04367 1.04204 1.04171 1.04073 1.04008 1.03943 +1.03878 1.04008 1.03976 1.04106 1.03845 1.03878 1.04073 1.04106 +1.0391 1.03649 1.03878 1.04008 1.03976 1.03584 1.03518 1.03518 +1.03486 1.03616 1.03747 1.03649 1.03682 1.03845 1.03551 1.0329 +1.03649 1.03649 1.03584 1.0329 1.03322 1.03355 1.03322 1.03061 +1.02506 1.03192 1.03584 1.03584 1.0378 1.03616 1.04041 1.04465 +1.04694 1.04498 1.044 1.04531 1.04269 1.04171 1.04204 1.04106 +1.04073 1.04171 1.03943 1.04139 1.04498 1.04465 1.04367 1.04302 +1.04269 1.04008 1.03878 1.03812 1.04139 1.04139 1.04041 1.04073 +1.0391 1.04269 1.04465 1.04139 1.03714 1.03878 1.04041 1.04008 +1.04237 1.04498 1.04204 1.04008 1.04073 1.04335 1.04661 1.04433 +1.04237 1.04204 1.04139 1.03943 1.03976 1.04204 1.04531 1.04498 +1.04433 1.04629 1.04563 1.04465 1.044 1.04531 1.0489 1.04792 +1.04531 1.04531 1.04139 1.03943 1.04139 1.04204 1.04041 1.04106 +1.04171 1.04171 1.04433 1.04433 1.04269 1.04139 1.03943 1.04008 +1.04073 1.04041 1.03845 1.03551 1.03616 1.03682 1.03453 1.03388 +1.03584 1.0342 1.02898 1.02147 1.00318 0.952842 0.853053 0.726105 +0.604842 0.518316 0.395867 0.320133 0.320133 0.331493 0.342853 0.361787 +0.38072 0.390187 0.342853 0.293627 0.320133 0.458347 0.544211 0.542316 +0.48296 0.371253 0.33528 0.31824 0.3012 0.29552 0.308773 0.322027 +0.31256 0.316347 0.325813 0.30688 0.286053 0.27848 0.27848 0.2728 +0.282267 0.29552 0.28416 0.297413 0.304987 0.293627 0.274693 0.291733 +0.304987 0.28984 0.297413 0.316347 0.327707 0.316347 0.299307 0.29552 +0.303093 0.33528 0.365573 0.382613 0.373147 0.356107 0.344747 0.333387 +0.333387 0.354213 0.40344 0.439413 0.42048 0.393973 0.39776 0.40344 +0.40912 0.435627 0.528421 0.671158 0.847368 0.946526 0.973684 0.981306 +0.98098 0.979368 0.982286 0.989469 0.999592 1.00482 1.00776 1.00971 +1.00776 1.00776 1.01331 1.01396 1.01298 1.01461 1.01592 1.01624 +1.01461 1.01233 1.00449 0.990122 0.980327 0.964842 0.960421 0.960421 +0.962947 0.965474 0.962947 0.958526 0.948421 0.944632 0.949053 0.958526 +0.98098 0.976842 0.836 0.619368 0.481067 0.373147 0.274693 0.000913333 +0.000846667 0.000786667 0.00076 0.000753333 0.000753333 0.000773333 0.000786667 0.000766667 +0.00076 0.00076 0.00074 0.000733333 0.000746667 0.000726667 0.00074 0.000746667 +0.000713333 0.0007 0.00072 0.00074 0.000733333 0.00074 0.000746667 0.000726667 +0.00074 0.000726667 0.00072 0.00074 0.00074 0.000746667 0.000753333 0.00074 +0.00074 0.000726667 0.000706667 0.000693333 0.000666667 0.00068 0.0007 0.000686667 +0.00068 0.000693333 0.000713333 0.00072 0.00074 0.000753333 0.000733333 0.000726667 +0.00072 0.00072 0.000726667 0.000693333 0.000686667 0.000713333 0.00072 0.00072 +0.00072 0.000706667 0.00072 0.00074 0.00074 0.000746667 0.000726667 0.000713333 +0.000706667 0.00072 0.000733333 0.000686667 0.000653333 0.000673333 0.000686667 0.000686667 +0.00068 0.000693333 0.0007 0.000733333 0.000733333 0.00072 0.00074 0.000753333 +0.000766667 0.000793333 0.00078 0.000766667 0.000733333 0.000726667 0.00076 0.000786667 +0.000833333 0.000993333 0.31256 0.35232 0.276587 0.25576 0.469707 0.686947 +0.908632 0.991102 0.985551 0.966105 0.952842 0.952211 0.960421 0.975579 +0.990122 1.00318 1.01298 1.0169 1.01951 1.01722 1.01527 1.01527 +1.01559 1.012 1.01298 1.01167 1.01037 1.01265 1.00808 1.00384 +1.00155 0.997306 0.989143 0.983918 0.974316 0.961053 0.937053 0.836632 +0.662316 0.527789 0.452667 0.428053 0.416693 0.418587 0.441307 0.469707 +0.450773 0.401547 0.350427 0.320133 0.3296 0.327707 0.33528 0.34096 +0.316347 0.303093 0.304987 0.314453 0.314453 0.30688 0.304987 0.314453 +0.331493 0.350427 0.388293 0.373147 0.310667 0.28416 0.280373 0.28416 +0.291733 0.304987 0.299307 0.286053 0.30688 0.344747 0.348533 0.32392 +0.30688 0.29552 0.297413 0.299307 0.32392 0.339067 0.350427 0.337173 +0.303093 0.28416 0.282267 0.316347 0.384507 0.47728 0.503158 0.43184 +0.365573 0.344747 0.331493 0.3296 0.34096 0.37504 0.469707 0.505053 +0.435627 0.354213 0.33528 0.35232 0.36936 0.342853 0.322027 0.322027 +0.32392 0.320133 0.316347 0.31824 0.327707 0.356107 0.401547 0.418587 +0.382613 0.34096 0.35232 0.373147 0.38072 0.365573 0.337173 0.322027 +0.316347 0.316347 0.342853 0.365573 0.365573 0.390187 0.441307 0.44888 +0.43184 0.456453 0.416693 0.354213 0.350427 0.36368 0.475387 0.566947 +0.597895 0.555579 0.505053 0.42048 0.348533 0.303093 0.297413 0.36936 +0.587789 0.811368 0.970526 1.0071 1.01755 1.01853 1.01363 1.012 +1.0169 1.02604 1.03551 1.03878 1.03943 1.03812 1.0378 1.03943 +1.04041 1.04041 1.04204 1.04204 1.04139 1.04073 1.03845 1.03878 +1.04008 1.04073 1.04204 1.04008 1.04008 1.04008 1.04139 1.04041 +1.0391 1.03976 1.03976 1.04139 1.03943 1.04073 1.04335 1.04106 +1.04008 1.0378 1.03845 1.03976 1.03976 1.03584 1.03551 1.03747 +1.03682 1.03649 1.0378 1.03682 1.03649 1.03714 1.03682 1.03551 +1.03616 1.03584 1.03616 1.03355 1.03453 1.0342 1.03192 1.03192 +1.02865 1.03094 1.03486 1.03649 1.03584 1.03355 1.03714 1.04269 +1.04629 1.04531 1.04563 1.04531 1.04106 1.04139 1.04237 1.03976 +1.04041 1.04204 1.04139 1.04269 1.04498 1.04367 1.04269 1.04269 +1.04237 1.04041 1.0378 1.0391 1.04237 1.04041 1.04073 1.04204 +1.03976 1.04139 1.04106 1.03943 1.03812 1.0391 1.04139 1.04073 +1.04204 1.04498 1.04302 1.04106 1.04171 1.04367 1.044 1.04106 +1.04269 1.04433 1.04335 1.04073 1.04073 1.04171 1.04531 1.04596 +1.04433 1.04335 1.04302 1.04465 1.04367 1.04498 1.04759 1.04465 +1.04563 1.04465 1.03878 1.03747 1.03943 1.03943 1.03943 1.04073 +1.04237 1.04302 1.04269 1.04204 1.04106 1.04204 1.04171 1.04269 +1.04139 1.04041 1.0391 1.03649 1.03616 1.03649 1.03388 1.03518 +1.03747 1.03486 1.02702 1.01331 0.992408 0.935789 0.832842 0.700842 +0.583368 0.506316 0.38072 0.310667 0.297413 0.320133 0.36368 0.412907 +0.433733 0.412907 0.331493 0.274693 0.354213 0.518947 0.552421 0.520211 +0.422373 0.342853 0.3296 0.316347 0.29552 0.304987 0.320133 0.31824 +0.308773 0.314453 0.308773 0.287947 0.274693 0.274693 0.287947 0.28416 +0.282267 0.291733 0.286053 0.287947 0.291733 0.287947 0.265227 0.282267 +0.29552 0.286053 0.29552 0.327707 0.337173 0.337173 0.31824 0.30688 +0.316347 0.358 0.378827 0.359893 0.337173 0.32392 0.33528 0.361787 +0.37504 0.382613 0.39208 0.39776 0.39208 0.395867 0.40344 0.407227 +0.407227 0.43184 0.516421 0.644 0.823368 0.938947 0.971789 0.98098 +0.978105 0.972421 0.981633 0.992735 1.00155 1.00449 1.00612 1.00873 +1.00776 1.00808 1.01135 1.01265 1.012 1.01461 1.01527 1.01592 +1.01559 1.01265 1.00612 0.994041 0.984245 0.972421 0.966737 0.964211 +0.962316 0.962947 0.959789 0.956632 0.950947 0.947789 0.949053 0.952211 +0.967368 0.983265 0.914947 0.715368 0.536632 0.4148 0.325813 0.000993333 +0.0008 0.000773333 0.000773333 0.000753333 0.000753333 0.000766667 0.00076 0.000733333 +0.00074 0.000773333 0.000773333 0.000766667 0.00074 0.000713333 0.000753333 0.000733333 +0.000706667 0.000706667 0.000733333 0.000733333 0.000713333 0.000733333 0.000733333 0.00072 +0.000733333 0.00074 0.000753333 0.000753333 0.000746667 0.000746667 0.000733333 0.000726667 +0.000733333 0.000746667 0.00072 0.000693333 0.000686667 0.000693333 0.000713333 0.000706667 +0.000673333 0.000666667 0.00068 0.0007 0.000706667 0.000746667 0.000766667 0.00076 +0.000733333 0.00072 0.00072 0.00072 0.000706667 0.000713333 0.000726667 0.000733333 +0.000726667 0.000706667 0.000686667 0.0007 0.00072 0.000713333 0.000713333 0.000713333 +0.000706667 0.000713333 0.000746667 0.000733333 0.0007 0.0007 0.000686667 0.000673333 +0.00068 0.000686667 0.000693333 0.000713333 0.000733333 0.00074 0.00074 0.00074 +0.000746667 0.000766667 0.00078 0.00078 0.000786667 0.00078 0.000766667 0.000793333 +0.00086 0.248187 0.337173 0.31824 0.246293 0.31256 0.563158 0.792421 +0.969895 0.992082 0.976842 0.955368 0.951579 0.956 0.964211 0.982939 +0.996327 1.00743 1.01429 1.0182 1.01951 1.01722 1.01657 1.01624 +1.01527 1.01265 1.01233 1.00971 1.01167 1.01429 1.01102 1.00873 +1.00873 1.00384 0.992408 0.983592 0.965474 0.952842 0.914947 0.788632 +0.616842 0.511368 0.446987 0.422373 0.405333 0.407227 0.428053 0.44888 +0.452667 0.4432 0.407227 0.373147 0.367467 0.365573 0.365573 0.361787 +0.32392 0.303093 0.303093 0.303093 0.303093 0.303093 0.308773 0.322027 +0.333387 0.33528 0.35232 0.337173 0.29552 0.286053 0.28416 0.286053 +0.287947 0.293627 0.28984 0.28416 0.314453 0.342853 0.316347 0.3012 +0.304987 0.303093 0.297413 0.297413 0.310667 0.331493 0.354213 0.37504 +0.376933 0.35232 0.359893 0.411013 0.450773 0.45456 0.446987 0.411013 +0.36936 0.34664 0.344747 0.342853 0.342853 0.371253 0.456453 0.518947 +0.519579 0.46024 0.378827 0.365573 0.371253 0.348533 0.33528 0.325813 +0.31824 0.314453 0.308773 0.31824 0.331493 0.36368 0.418587 0.411013 +0.350427 0.325813 0.342853 0.390187 0.429947 0.393973 0.35232 0.344747 +0.331493 0.331493 0.348533 0.36368 0.354213 0.356107 0.39776 0.424267 +0.390187 0.376933 0.361787 0.348533 0.390187 0.422373 0.523368 0.630105 +0.662316 0.557474 0.422373 0.36936 0.337173 0.3012 0.287947 0.325813 +0.527789 0.733053 0.930105 0.999265 1.01265 1.01494 1.012 1.01494 +1.02343 1.02865 1.03388 1.03747 1.0391 1.03682 1.03747 1.03943 +1.04008 1.04171 1.04367 1.04237 1.04106 1.04106 1.04041 1.03943 +1.0391 1.03943 1.04139 1.04139 1.04008 1.0391 1.04073 1.03812 +1.0378 1.0391 1.03976 1.03976 1.03943 1.04139 1.04367 1.04008 +1.03976 1.03812 1.03812 1.04008 1.04008 1.03714 1.03551 1.03845 +1.03812 1.03682 1.03878 1.0342 1.0342 1.03714 1.03878 1.03747 +1.03812 1.03812 1.03714 1.03388 1.0342 1.0329 1.03127 1.03224 +1.03061 1.02996 1.03355 1.03714 1.03845 1.03747 1.03943 1.04367 +1.04531 1.04498 1.04465 1.04335 1.04041 1.04106 1.04073 1.03845 +1.03976 1.04302 1.04171 1.04269 1.04433 1.04237 1.04269 1.04465 +1.04367 1.04106 1.03943 1.04171 1.04302 1.04008 1.04073 1.04302 +1.04106 1.04139 1.04204 1.03845 1.03682 1.04008 1.04204 1.04171 +1.04073 1.04367 1.044 1.04106 1.04237 1.04367 1.04171 1.03878 +1.04171 1.04433 1.04302 1.04139 1.04073 1.04008 1.04367 1.04661 +1.04629 1.04302 1.04302 1.04596 1.04661 1.04792 1.04433 1.04302 +1.04596 1.04269 1.04041 1.04041 1.03943 1.03812 1.03878 1.03976 +1.04171 1.04433 1.04367 1.04008 1.03845 1.03976 1.04171 1.04433 +1.04106 1.0378 1.03812 1.03878 1.03878 1.03747 1.03649 1.03747 +1.0378 1.03355 1.02571 1.012 0.989469 0.921263 0.799368 0.664842 +0.558105 0.467813 0.339067 0.269013 0.265227 0.33528 0.4432 0.507579 +0.508842 0.464027 0.354213 0.293627 0.416693 0.537263 0.534737 0.458347 +0.356107 0.327707 0.337173 0.320133 0.299307 0.310667 0.31824 0.316347 +0.31256 0.30688 0.293627 0.274693 0.265227 0.27848 0.303093 0.297413 +0.287947 0.29552 0.293627 0.28416 0.28416 0.274693 0.270907 0.276587 +0.293627 0.299307 0.31824 0.348533 0.356107 0.35232 0.348533 0.356107 +0.378827 0.429947 0.433733 0.361787 0.32392 0.331493 0.365573 0.407227 +0.407227 0.384507 0.376933 0.365573 0.367467 0.378827 0.3864 0.401547 +0.411013 0.433733 0.508842 0.620632 0.800632 0.930737 0.971158 0.980653 +0.976842 0.971789 0.982939 0.994694 1.00122 1.00188 1.00416 1.00808 +1.00873 1.00939 1.01069 1.01135 1.01233 1.01396 1.01461 1.01494 +1.01527 1.01135 1.00482 0.997633 0.990449 0.983265 0.975579 0.966105 +0.961053 0.961684 0.958526 0.959158 0.954105 0.948421 0.944632 0.944632 +0.957895 0.982939 0.969895 0.815158 0.601684 0.467813 0.373147 0.270907 +0.000886667 0.000813333 0.000786667 0.000746667 0.00074 0.00076 0.00076 0.000766667 +0.000793333 0.0008 0.00078 0.000766667 0.000726667 0.000726667 0.000766667 0.000746667 +0.000746667 0.000746667 0.000746667 0.00072 0.000713333 0.00072 0.000726667 0.000726667 +0.00072 0.00072 0.000746667 0.00074 0.00072 0.000733333 0.000733333 0.000713333 +0.000706667 0.000733333 0.00074 0.000726667 0.000733333 0.000733333 0.000726667 0.000733333 +0.000713333 0.0007 0.000693333 0.000693333 0.00068 0.00068 0.0007 0.000713333 +0.000733333 0.000726667 0.000726667 0.000753333 0.000746667 0.000733333 0.000713333 0.000706667 +0.000693333 0.00068 0.000686667 0.000686667 0.000706667 0.000706667 0.0007 0.000693333 +0.000673333 0.00068 0.00072 0.000733333 0.000726667 0.00074 0.000753333 0.00074 +0.000713333 0.000706667 0.00068 0.000686667 0.000726667 0.000753333 0.000766667 0.00076 +0.000753333 0.000773333 0.000773333 0.000766667 0.000786667 0.0008 0.000813333 0.000853333 +0.00096 0.291733 0.34096 0.27848 0.253867 0.428053 0.653474 0.889053 +0.991102 0.984898 0.962316 0.950316 0.954105 0.959158 0.971158 0.98751 +1.00188 1.01167 1.0169 1.01853 1.01918 1.0182 1.01624 1.0169 +1.01592 1.01396 1.01396 1.01298 1.01559 1.0182 1.01853 1.0169 +1.01722 1.01167 0.997633 0.981959 0.954737 0.940211 0.885263 0.743789 +0.584 0.500632 0.441307 0.42048 0.40344 0.395867 0.395867 0.407227 +0.428053 0.456453 0.475387 0.475387 0.481067 0.452667 0.416693 0.395867 +0.350427 0.308773 0.293627 0.28416 0.282267 0.293627 0.3012 0.303093 +0.308773 0.31824 0.34096 0.3296 0.287947 0.274693 0.291733 0.310667 +0.320133 0.303093 0.282267 0.27848 0.320133 0.342853 0.299307 0.286053 +0.3012 0.31256 0.31256 0.3012 0.29552 0.303093 0.339067 0.401547 +0.462133 0.458347 0.439413 0.424267 0.40344 0.38072 0.382613 0.399653 +0.38072 0.35232 0.36368 0.3864 0.393973 0.390187 0.416693 0.501895 +0.528421 0.518316 0.46592 0.416693 0.395867 0.361787 0.337173 0.3296 +0.31824 0.308773 0.30688 0.320133 0.33528 0.367467 0.384507 0.348533 +0.327707 0.325813 0.34096 0.3864 0.467813 0.4432 0.359893 0.339067 +0.337173 0.342853 0.34664 0.348533 0.344747 0.342853 0.36936 0.393973 +0.359893 0.34664 0.34664 0.34096 0.35232 0.39776 0.496213 0.557474 +0.564421 0.44888 0.303093 0.3296 0.339067 0.325813 0.31824 0.314453 +0.43184 0.642105 0.865684 0.986531 1.00678 1.00939 1.01102 1.01722 +1.02506 1.02833 1.03257 1.03616 1.03747 1.03682 1.0391 1.04171 +1.04237 1.044 1.04269 1.04237 1.04433 1.044 1.04269 1.04106 +1.03976 1.03812 1.03878 1.04204 1.04367 1.04073 1.04106 1.03878 +1.03714 1.0391 1.04204 1.04041 1.03943 1.04139 1.04269 1.03943 +1.03943 1.03845 1.03878 1.04106 1.04041 1.03812 1.03518 1.0391 +1.03976 1.03714 1.0391 1.03453 1.0329 1.0378 1.03943 1.03649 +1.03747 1.03616 1.03355 1.03061 1.03061 1.02833 1.02833 1.03159 +1.02963 1.02669 1.02865 1.03486 1.04073 1.04041 1.04106 1.04596 +1.04661 1.04498 1.044 1.04171 1.03943 1.04106 1.04008 1.03812 +1.03976 1.04367 1.04335 1.04335 1.04498 1.044 1.04335 1.04106 +1.04073 1.04073 1.04073 1.04204 1.044 1.04302 1.04139 1.04269 +1.04106 1.04106 1.04171 1.03812 1.03747 1.04237 1.04073 1.03943 +1.03878 1.0391 1.04139 1.04171 1.04269 1.04171 1.04008 1.03976 +1.04302 1.04367 1.04204 1.04269 1.04139 1.04139 1.04171 1.04269 +1.04465 1.044 1.04465 1.04563 1.04694 1.04694 1.04139 1.04171 +1.04302 1.04041 1.04139 1.04237 1.04073 1.03943 1.03976 1.04073 +1.044 1.04661 1.044 1.04139 1.03976 1.03878 1.04041 1.04269 +1.04041 1.03878 1.03845 1.04073 1.03943 1.0378 1.03812 1.04008 +1.04073 1.03584 1.02669 1.01167 0.98 0.877684 0.746316 0.623158 +0.536632 0.43752 0.30688 0.23872 0.3012 0.48864 0.553684 0.570105 +0.548 0.506947 0.405333 0.376933 0.506947 0.544842 0.509474 0.390187 +0.33528 0.333387 0.34096 0.325813 0.30688 0.31256 0.3296 0.327707 +0.30688 0.3012 0.310667 0.297413 0.280373 0.291733 0.31824 0.320133 +0.30688 0.308773 0.3012 0.287947 0.287947 0.27848 0.269013 0.265227 +0.286053 0.3296 0.39208 0.433733 0.4432 0.456453 0.467813 0.464027 +0.46024 0.490533 0.48296 0.39776 0.350427 0.354213 0.3864 0.4148 +0.40344 0.384507 0.36936 0.361787 0.371253 0.3864 0.393973 0.411013 +0.429947 0.452667 0.503789 0.600421 0.777895 0.920632 0.970526 0.98 +0.978737 0.976842 0.985551 0.994694 0.998612 1.00024 1.00318 1.00678 +1.00776 1.00906 1.01167 1.01265 1.01331 1.012 1.012 1.01429 +1.01461 1.01265 1.0071 1.00057 0.993388 0.988163 0.984898 0.973053 +0.964211 0.966737 0.962316 0.957263 0.952842 0.948421 0.945895 0.948421 +0.959789 0.978737 0.984898 0.897263 0.686947 0.524 0.411013 0.3296 +0.22736 0.000833333 0.000753333 0.000746667 0.00078 0.000793333 0.00078 0.0008 +0.0008 0.00078 0.000766667 0.000746667 0.000746667 0.00078 0.000793333 0.000766667 +0.00076 0.000746667 0.000746667 0.00072 0.000706667 0.000713333 0.000733333 0.000726667 +0.000726667 0.000726667 0.000726667 0.000706667 0.000693333 0.0007 0.00072 0.000726667 +0.000733333 0.000746667 0.00076 0.000753333 0.000753333 0.000746667 0.000733333 0.000733333 +0.000733333 0.000726667 0.000713333 0.000713333 0.00068 0.00066 0.000653333 0.000673333 +0.0007 0.00072 0.000726667 0.000733333 0.000753333 0.00074 0.000733333 0.000726667 +0.000713333 0.000706667 0.000713333 0.0007 0.000706667 0.00072 0.00072 0.0007 +0.000686667 0.00068 0.00068 0.000673333 0.000686667 0.000713333 0.000733333 0.000746667 +0.000733333 0.000706667 0.000706667 0.000706667 0.000726667 0.000746667 0.00074 0.000753333 +0.000753333 0.00076 0.00076 0.000746667 0.00076 0.000773333 0.000813333 0.00088 +0.23872 0.331493 0.325813 0.25008 0.293627 0.531579 0.753263 0.952211 +0.989796 0.969263 0.950316 0.950316 0.957263 0.963579 0.978737 0.994367 +1.00776 1.01461 1.01853 1.01755 1.01722 1.01722 1.01592 1.01592 +1.01461 1.01298 1.01331 1.01494 1.01853 1.02343 1.02735 1.02637 +1.02441 1.01788 1.00384 0.98098 0.949053 0.930105 0.856211 0.704632 +0.556211 0.473493 0.435627 0.424267 0.411013 0.390187 0.373147 0.384507 +0.401547 0.445093 0.507579 0.537895 0.554316 0.536 0.513895 0.5 +0.429947 0.367467 0.32392 0.303093 0.293627 0.293627 0.28416 0.276587 +0.28984 0.308773 0.339067 0.337173 0.304987 0.291733 0.30688 0.350427 +0.36368 0.31824 0.27848 0.276587 0.316347 0.344747 0.293627 0.270907 +0.282267 0.297413 0.299307 0.28984 0.28416 0.287947 0.322027 0.382613 +0.441307 0.446987 0.399653 0.342853 0.322027 0.333387 0.36368 0.412907 +0.418587 0.390187 0.3864 0.422373 0.441307 0.422373 0.40912 0.429947 +0.473493 0.500632 0.486747 0.456453 0.42048 0.376933 0.35232 0.339067 +0.3296 0.327707 0.327707 0.322027 0.342853 0.382613 0.361787 0.320133 +0.325813 0.327707 0.33528 0.371253 0.47728 0.504421 0.416693 0.348533 +0.3296 0.325813 0.322027 0.31824 0.325813 0.339067 0.367467 0.388293 +0.36936 0.3864 0.3864 0.34096 0.32392 0.38072 0.43752 0.450773 +0.446987 0.365573 0.303093 0.320133 0.339067 0.333387 0.320133 0.304987 +0.34664 0.565684 0.787368 0.955368 1.00024 1.00808 1.01135 1.01657 +1.02473 1.03029 1.03257 1.03355 1.03747 1.0391 1.04106 1.04237 +1.04269 1.04302 1.04139 1.04041 1.04367 1.04335 1.04139 1.04106 +1.04139 1.04139 1.03943 1.04204 1.04563 1.04139 1.04139 1.04041 +1.03845 1.03845 1.04041 1.04073 1.0391 1.03943 1.04073 1.03878 +1.0391 1.0391 1.03845 1.04041 1.04073 1.03845 1.03551 1.0391 +1.04073 1.03682 1.03845 1.03616 1.03192 1.03453 1.03649 1.03355 +1.03616 1.03518 1.03159 1.02865 1.02931 1.02539 1.02539 1.028 +1.02604 1.02343 1.02539 1.03322 1.04041 1.0391 1.03943 1.04563 +1.04694 1.04367 1.04269 1.03943 1.03682 1.03976 1.04106 1.03976 +1.03812 1.04171 1.04465 1.04302 1.04433 1.04661 1.04433 1.03812 +1.03976 1.04073 1.03943 1.0391 1.04302 1.04335 1.04139 1.04139 +1.03943 1.03878 1.0378 1.03747 1.03976 1.04171 1.0378 1.03943 +1.04041 1.03812 1.0378 1.04041 1.04073 1.03976 1.04008 1.04237 +1.04433 1.04269 1.04367 1.04629 1.04335 1.04237 1.04106 1.04073 +1.04302 1.04335 1.04237 1.04433 1.04563 1.04204 1.04073 1.04302 +1.04171 1.04171 1.04269 1.04269 1.04106 1.04139 1.04139 1.04106 +1.04367 1.04433 1.04204 1.04106 1.04041 1.04139 1.04139 1.03845 +1.03812 1.0391 1.0391 1.04106 1.03845 1.0378 1.03812 1.03943 +1.03976 1.03518 1.02376 1.00122 0.935789 0.818947 0.698316 0.597263 +0.527158 0.42048 0.299307 0.304987 0.506316 0.601053 0.654105 0.650316 +0.602316 0.537263 0.467813 0.469707 0.527789 0.531579 0.464027 0.361787 +0.327707 0.327707 0.325813 0.316347 0.310667 0.32392 0.331493 0.31824 +0.303093 0.308773 0.316347 0.304987 0.299307 0.30688 0.316347 0.304987 +0.29552 0.30688 0.322027 0.299307 0.28416 0.282267 0.27848 0.28416 +0.348533 0.47728 0.544842 0.572632 0.573895 0.566947 0.548 0.518947 +0.486747 0.467813 0.458347 0.399653 0.358 0.358 0.38072 0.395867 +0.390187 0.38072 0.365573 0.36368 0.384507 0.405333 0.407227 0.411013 +0.424267 0.445093 0.496213 0.582105 0.751368 0.905474 0.967368 0.979368 +0.977474 0.976211 0.984898 0.992735 0.99698 0.998939 1.00188 1.00449 +1.00678 1.00971 1.01233 1.012 1.01233 1.01037 1.01233 1.01494 +1.01592 1.01461 1.01102 1.00351 0.996653 0.996653 0.997306 0.98751 +0.973684 0.966737 0.959158 0.956 0.955368 0.955368 0.952211 0.950947 +0.957895 0.967368 0.985551 0.959158 0.789895 0.582737 0.441307 0.365573 +0.270907 0.00088 0.00078 0.00078 0.000806667 0.000813333 0.00078 0.00078 +0.00078 0.00076 0.00076 0.000746667 0.000753333 0.000773333 0.000766667 0.000766667 +0.00076 0.000746667 0.000753333 0.00076 0.000746667 0.00074 0.000726667 0.00072 +0.000713333 0.000726667 0.000746667 0.000713333 0.0007 0.000693333 0.00068 0.000693333 +0.000693333 0.0007 0.0007 0.000706667 0.000706667 0.00072 0.00072 0.00072 +0.000733333 0.00074 0.000713333 0.000706667 0.000706667 0.000706667 0.000666667 0.000653333 +0.000673333 0.000686667 0.000693333 0.000686667 0.0007 0.000693333 0.000726667 0.00074 +0.000746667 0.000746667 0.000726667 0.000706667 0.0007 0.000713333 0.000706667 0.000706667 +0.00072 0.000713333 0.000686667 0.000673333 0.000693333 0.00068 0.00068 0.000706667 +0.00072 0.00072 0.000713333 0.00072 0.00076 0.00076 0.00076 0.000746667 +0.000746667 0.000753333 0.00076 0.000753333 0.000766667 0.000773333 0.0008 0.000933333 +0.291733 0.35232 0.276587 0.225467 0.361787 0.613684 0.850526 0.984245 +0.982612 0.954105 0.943368 0.949053 0.957263 0.963579 0.982612 1.00024 +1.01135 1.01461 1.01788 1.0169 1.01624 1.01755 1.01624 1.01722 +1.01527 1.01037 1.01004 1.01298 1.01755 1.02702 1.03518 1.03714 +1.0329 1.02702 1.01331 0.983265 0.945895 0.915579 0.824632 0.669263 +0.535368 0.446987 0.42048 0.416693 0.405333 0.371253 0.356107 0.361787 +0.373147 0.416693 0.502526 0.535368 0.547368 0.536632 0.527789 0.515789 +0.5 0.452667 0.401547 0.348533 0.32392 0.310667 0.287947 0.276587 +0.282267 0.297413 0.316347 0.31824 0.30688 0.299307 0.30688 0.34664 +0.356107 0.322027 0.282267 0.282267 0.3296 0.356107 0.314453 0.28416 +0.27848 0.28416 0.303093 0.297413 0.293627 0.308773 0.34096 0.384507 +0.40912 0.382613 0.34664 0.31824 0.310667 0.3296 0.361787 0.40344 +0.42616 0.40344 0.39776 0.43184 0.424267 0.38072 0.34664 0.344747 +0.356107 0.376933 0.390187 0.393973 0.401547 0.3864 0.356107 0.342853 +0.3296 0.348533 0.348533 0.333387 0.356107 0.38072 0.348533 0.310667 +0.31824 0.32392 0.339067 0.376933 0.450773 0.503158 0.486747 0.42616 +0.371253 0.33528 0.316347 0.308773 0.314453 0.331493 0.36368 0.405333 +0.42048 0.418587 0.378827 0.327707 0.337173 0.399653 0.42616 0.378827 +0.376933 0.37504 0.333387 0.30688 0.31824 0.31824 0.303093 0.308773 +0.33528 0.510737 0.697684 0.899158 0.98849 1.00547 1.01167 1.01657 +1.02539 1.03224 1.03127 1.03094 1.03649 1.04106 1.04302 1.04139 +1.04073 1.04171 1.04171 1.04204 1.04433 1.044 1.04171 1.04106 +1.04237 1.04367 1.04139 1.04204 1.04465 1.04171 1.04269 1.04106 +1.03878 1.03812 1.0391 1.04008 1.03845 1.03878 1.04041 1.03878 +1.0378 1.03845 1.03878 1.04008 1.04008 1.03812 1.03518 1.03584 +1.03812 1.03649 1.03682 1.03551 1.03224 1.0342 1.03616 1.03322 +1.03322 1.03192 1.02963 1.02767 1.028 1.02441 1.02278 1.02278 +1.02082 1.01886 1.0218 1.02767 1.03192 1.03322 1.03747 1.04302 +1.04433 1.04041 1.0391 1.03943 1.03649 1.03812 1.04073 1.04073 +1.03878 1.04204 1.04661 1.04498 1.04465 1.04531 1.044 1.0391 +1.04171 1.04106 1.03878 1.03976 1.04139 1.04008 1.04106 1.04204 +1.04106 1.04008 1.03845 1.03812 1.0391 1.03714 1.03714 1.04204 +1.04171 1.04008 1.03878 1.04073 1.04106 1.04171 1.04106 1.04335 +1.04269 1.04008 1.04204 1.04367 1.04171 1.04302 1.04171 1.04139 +1.04204 1.04237 1.04008 1.04302 1.044 1.04008 1.04204 1.04269 +1.04106 1.04106 1.04139 1.03943 1.04041 1.04139 1.04171 1.04269 +1.04139 1.04008 1.04041 1.03976 1.04106 1.04204 1.04041 1.03943 +1.03976 1.03943 1.04073 1.04073 1.0391 1.03976 1.03943 1.0391 +1.03551 1.028 1.01233 0.980653 0.886526 0.770316 0.661053 0.578947 +0.519579 0.416693 0.384507 0.524632 0.637684 0.719158 0.74 0.717263 +0.647789 0.558737 0.506316 0.508211 0.520211 0.496213 0.405333 0.344747 +0.320133 0.316347 0.310667 0.308773 0.303093 0.31824 0.322027 0.310667 +0.31256 0.304987 0.29552 0.297413 0.303093 0.303093 0.304987 0.299307 +0.28984 0.304987 0.333387 0.314453 0.299307 0.310667 0.339067 0.43184 +0.536 0.610526 0.670526 0.685684 0.656632 0.612421 0.56 0.516421 +0.452667 0.405333 0.405333 0.384507 0.354213 0.356107 0.376933 0.39208 +0.393973 0.388293 0.38072 0.3864 0.407227 0.40344 0.395867 0.395867 +0.40912 0.429947 0.47728 0.563789 0.727368 0.892211 0.966105 0.98 +0.974947 0.973684 0.981959 0.990449 0.996327 0.998612 1.00286 1.00678 +1.00776 1.01102 1.01135 1.01135 1.01265 1.012 1.01363 1.01429 +1.01494 1.01298 1.01069 1.00776 1.00547 1.01004 1.01102 0.999592 +0.985551 0.976211 0.968 0.961684 0.956632 0.956632 0.952842 0.950947 +0.961684 0.968632 0.982612 0.983265 0.878316 0.661684 0.506316 0.395867 +0.31824 0.000986667 0.000826667 0.000793333 0.000806667 0.000833333 0.000806667 0.000793333 +0.00078 0.000753333 0.00074 0.000733333 0.000733333 0.000746667 0.00072 0.000733333 +0.000733333 0.00072 0.000753333 0.00078 0.000753333 0.000746667 0.000746667 0.000726667 +0.00072 0.000733333 0.00074 0.000713333 0.000733333 0.000733333 0.000733333 0.000726667 +0.000713333 0.000693333 0.0007 0.000686667 0.000673333 0.000673333 0.000686667 0.000706667 +0.000726667 0.000746667 0.000746667 0.000733333 0.000733333 0.00076 0.000746667 0.00072 +0.000693333 0.00068 0.000706667 0.000713333 0.000693333 0.0007 0.000686667 0.00068 +0.000693333 0.0007 0.000706667 0.000726667 0.00072 0.000733333 0.00074 0.000746667 +0.000746667 0.00072 0.000713333 0.00074 0.000733333 0.000693333 0.00068 0.00068 +0.00068 0.0007 0.000693333 0.0007 0.00072 0.000753333 0.000753333 0.000766667 +0.00078 0.000773333 0.000766667 0.000766667 0.000773333 0.000773333 0.000813333 0.234933 +0.337173 0.33528 0.2444 0.246293 0.501263 0.707789 0.929474 0.992082 +0.979368 0.954737 0.948421 0.953474 0.958526 0.967368 0.987184 1.00449 +1.01396 1.01853 1.02016 1.01755 1.0169 1.01722 1.01624 1.01722 +1.01494 1.00971 1.01069 1.01429 1.02082 1.0342 1.04433 1.04694 +1.04073 1.03682 1.02735 0.989143 0.942737 0.897895 0.789263 0.633895 +0.517684 0.429947 0.418587 0.424267 0.39776 0.356107 0.339067 0.339067 +0.350427 0.405333 0.464027 0.4716 0.44888 0.452667 0.46024 0.43752 +0.42616 0.42616 0.416693 0.388293 0.365573 0.331493 0.297413 0.28416 +0.280373 0.287947 0.3012 0.3012 0.3012 0.282267 0.280373 0.299307 +0.316347 0.31256 0.29552 0.293627 0.342853 0.348533 0.299307 0.282267 +0.27848 0.286053 0.308773 0.314453 0.327707 0.36368 0.382613 0.384507 +0.37504 0.356107 0.350427 0.333387 0.31256 0.316347 0.325813 0.34096 +0.36936 0.371253 0.395867 0.42048 0.376933 0.32392 0.299307 0.310667 +0.316347 0.322027 0.3296 0.34096 0.365573 0.382613 0.373147 0.371253 +0.359893 0.36368 0.348533 0.34096 0.358 0.367467 0.342853 0.322027 +0.314453 0.331493 0.361787 0.388293 0.39776 0.399653 0.429947 0.452667 +0.407227 0.35232 0.337173 0.337173 0.35232 0.378827 0.42048 0.500632 +0.505684 0.418587 0.344747 0.331493 0.354213 0.405333 0.393973 0.34096 +0.350427 0.376933 0.331493 0.297413 0.297413 0.303093 0.308773 0.331493 +0.333387 0.407227 0.604842 0.815789 0.958526 0.999265 1.01069 1.01755 +1.02343 1.02833 1.03061 1.03224 1.03616 1.04073 1.04367 1.04139 +1.03976 1.04073 1.04269 1.044 1.044 1.04367 1.04302 1.04269 +1.04335 1.04335 1.04237 1.04237 1.04139 1.03976 1.04106 1.04106 +1.04008 1.03976 1.0391 1.03845 1.0378 1.04073 1.04237 1.04008 +1.03812 1.03845 1.03845 1.0378 1.0391 1.03878 1.03584 1.03486 +1.03584 1.03714 1.03649 1.03453 1.03192 1.03322 1.03486 1.02898 +1.02539 1.02441 1.02343 1.02147 1.02147 1.01886 1.01886 1.0169 +1.01559 1.01429 1.01853 1.02441 1.02441 1.02376 1.02898 1.03616 +1.0391 1.03714 1.03682 1.03845 1.03682 1.0391 1.04139 1.04041 +1.04008 1.04302 1.044 1.04367 1.044 1.04302 1.04269 1.04008 +1.04269 1.04139 1.03976 1.04204 1.04237 1.03976 1.04106 1.04204 +1.04041 1.03943 1.0391 1.0391 1.03976 1.03649 1.0391 1.04465 +1.04204 1.04073 1.04106 1.04204 1.04041 1.04041 1.04008 1.04073 +1.04008 1.04073 1.04204 1.04073 1.04073 1.044 1.04204 1.04106 +1.04237 1.04433 1.04302 1.04433 1.04204 1.04106 1.04237 1.04139 +1.04139 1.04237 1.04106 1.0378 1.04073 1.04302 1.044 1.04531 +1.04302 1.04106 1.04171 1.04302 1.04367 1.04171 1.03976 1.04139 +1.04204 1.04106 1.04171 1.03976 1.03878 1.03976 1.04106 1.03976 +1.03322 1.02278 1.00318 0.949684 0.842316 0.725474 0.634526 0.573895 +0.525895 0.503789 0.542316 0.640842 0.744421 0.8 0.798737 0.750737 +0.649684 0.551789 0.511368 0.506316 0.490533 0.416693 0.348533 0.314453 +0.304987 0.303093 0.304987 0.30688 0.304987 0.308773 0.310667 0.303093 +0.308773 0.299307 0.286053 0.297413 0.316347 0.32392 0.316347 0.308773 +0.293627 0.308773 0.327707 0.32392 0.331493 0.384507 0.492427 0.558737 +0.634526 0.698947 0.719789 0.691368 0.635158 0.573895 0.524632 0.46592 +0.39208 0.354213 0.358 0.358 0.342853 0.342853 0.358 0.388293 +0.424267 0.445093 0.445093 0.429947 0.4148 0.393973 0.3864 0.3864 +0.39208 0.418587 0.458347 0.549263 0.706526 0.880211 0.962947 0.980653 +0.973684 0.973053 0.982286 0.988816 0.996327 0.999918 1.00286 1.00645 +1.00678 1.01037 1.01004 1.01069 1.01331 1.012 1.01331 1.01331 +1.01396 1.01298 1.01069 1.00971 1.01037 1.01363 1.012 1.00449 +0.99698 0.98751 0.976211 0.964211 0.954737 0.954737 0.952211 0.949684 +0.959789 0.965474 0.973684 0.985551 0.942105 0.753263 0.555579 0.428053 +0.354213 0.23872 0.000826667 0.000786667 0.000813333 0.000833333 0.000813333 0.000806667 +0.00078 0.000766667 0.000773333 0.000766667 0.00076 0.000753333 0.000706667 0.000726667 +0.000726667 0.000706667 0.00074 0.00072 0.000706667 0.00074 0.000773333 0.00076 +0.000733333 0.00072 0.000706667 0.000706667 0.000726667 0.00074 0.000746667 0.000726667 +0.00072 0.000706667 0.000706667 0.00072 0.000706667 0.000693333 0.0007 0.0007 +0.00072 0.000733333 0.000733333 0.000733333 0.00074 0.000746667 0.000753333 0.000753333 +0.00074 0.000713333 0.000706667 0.000713333 0.000706667 0.0007 0.000686667 0.000673333 +0.000686667 0.000706667 0.0007 0.000706667 0.000713333 0.000726667 0.000753333 0.000753333 +0.00074 0.00072 0.0007 0.000706667 0.00072 0.0007 0.000686667 0.00068 +0.000693333 0.000686667 0.000673333 0.000686667 0.000693333 0.000733333 0.000733333 0.000753333 +0.000786667 0.000786667 0.0008 0.0008 0.000793333 0.000813333 0.00092 0.28416 +0.356107 0.287947 0.22168 0.303093 0.564421 0.803789 0.977474 0.989143 +0.965474 0.950947 0.952211 0.956 0.961053 0.980327 0.99502 1.00743 +1.01461 1.01886 1.01755 1.01429 1.01396 1.01592 1.01624 1.01592 +1.01233 1.01004 1.01233 1.01657 1.02669 1.04269 1.05314 1.05576 +1.04727 1.04563 1.04269 1.00122 0.941474 0.879579 0.758947 0.606105 +0.506947 0.435627 0.43752 0.435627 0.401547 0.35232 0.33528 0.339067 +0.36936 0.433733 0.439413 0.378827 0.350427 0.36936 0.378827 0.344747 +0.325813 0.33528 0.35232 0.367467 0.376933 0.365573 0.3296 0.303093 +0.287947 0.28984 0.291733 0.293627 0.3012 0.286053 0.274693 0.282267 +0.287947 0.297413 0.303093 0.308773 0.331493 0.32392 0.28984 0.276587 +0.276587 0.29552 0.322027 0.348533 0.382613 0.393973 0.361787 0.33528 +0.33528 0.356107 0.376933 0.348533 0.308773 0.297413 0.28984 0.299307 +0.325813 0.367467 0.40912 0.39208 0.344747 0.308773 0.304987 0.314453 +0.314453 0.31256 0.32392 0.337173 0.36368 0.393973 0.446987 0.505684 +0.479173 0.401547 0.356107 0.344747 0.342853 0.339067 0.34096 0.325813 +0.3296 0.35232 0.354213 0.35232 0.35232 0.342853 0.359893 0.388293 +0.384507 0.359893 0.348533 0.350427 0.378827 0.416693 0.46592 0.524632 +0.528421 0.429947 0.35232 0.356107 0.376933 0.395867 0.365573 0.339067 +0.359893 0.371253 0.337173 0.299307 0.280373 0.304987 0.354213 0.371253 +0.337173 0.34664 0.534105 0.726737 0.905474 0.987837 1.00678 1.01461 +1.01886 1.0231 1.02637 1.03159 1.03518 1.03812 1.04269 1.04269 +1.04106 1.04204 1.044 1.044 1.04433 1.04204 1.04237 1.04171 +1.04171 1.04171 1.04139 1.04041 1.04041 1.04171 1.04041 1.03976 +1.04171 1.04204 1.03943 1.03845 1.03976 1.04008 1.04139 1.0391 +1.03682 1.0378 1.03682 1.03616 1.03747 1.03747 1.03649 1.03453 +1.0342 1.0378 1.03976 1.0378 1.03061 1.02833 1.03061 1.02245 +1.01559 1.01657 1.01624 1.012 1.01265 1.01363 1.01494 1.01298 +1.01069 1.01037 1.01461 1.01886 1.01527 1.012 1.01592 1.02376 +1.02735 1.03029 1.03192 1.03649 1.03812 1.04204 1.04367 1.04041 +1.04302 1.04727 1.04302 1.04139 1.04073 1.04139 1.04269 1.04008 +1.04106 1.04008 1.0391 1.03976 1.03976 1.03976 1.04106 1.03878 +1.03714 1.03845 1.0391 1.03682 1.03682 1.03486 1.03682 1.04041 +1.03976 1.03878 1.04073 1.04269 1.0391 1.0391 1.04237 1.04302 +1.04073 1.04237 1.04269 1.04073 1.04073 1.044 1.04335 1.04302 +1.04367 1.04433 1.04531 1.04433 1.04106 1.04171 1.04204 1.04139 +1.04204 1.04237 1.04139 1.04139 1.04433 1.04629 1.04531 1.044 +1.04498 1.04335 1.04204 1.04465 1.044 1.04204 1.04237 1.04335 +1.04335 1.04237 1.04139 1.04008 1.03976 1.04041 1.04237 1.04041 +1.03355 1.02082 0.992082 0.908632 0.793053 0.689474 0.621263 0.582105 +0.553053 0.56 0.621263 0.708421 0.786105 0.822737 0.801895 0.728 +0.623789 0.542947 0.506316 0.45456 0.411013 0.37504 0.31824 0.280373 +0.282267 0.29552 0.320133 0.333387 0.331493 0.327707 0.3296 0.320133 +0.31824 0.322027 0.331493 0.354213 0.382613 0.384507 0.350427 0.314453 +0.297413 0.308773 0.327707 0.339067 0.367467 0.446987 0.530316 0.589684 +0.639579 0.660421 0.639579 0.590947 0.542947 0.503789 0.445093 0.399653 +0.356107 0.331493 0.322027 0.32392 0.3296 0.337173 0.333387 0.361787 +0.418587 0.484853 0.509474 0.502526 0.439413 0.390187 0.3864 0.39208 +0.39776 0.424267 0.452667 0.538526 0.688211 0.866947 0.960421 0.980327 +0.975579 0.974947 0.984245 0.988816 0.994694 0.998286 1.00024 1.00416 +1.00547 1.01069 1.01037 1.01037 1.01265 1.01233 1.01298 1.01429 +1.01363 1.01265 1.012 1.01004 1.01004 1.00776 1.00155 1.00024 +1.00188 0.995673 0.983265 0.970526 0.957263 0.953474 0.949053 0.944632 +0.948421 0.954737 0.964842 0.983592 0.98098 0.845474 0.630105 0.492427 +0.38072 0.28416 0.0009 0.0008 0.000786667 0.000773333 0.000766667 0.000773333 +0.000773333 0.0008 0.0008 0.000786667 0.00078 0.00078 0.000766667 0.000746667 +0.000726667 0.0007 0.0007 0.000673333 0.0007 0.00074 0.000766667 0.000733333 +0.000706667 0.000713333 0.000726667 0.00074 0.000733333 0.000746667 0.00074 0.000726667 +0.000733333 0.000733333 0.000733333 0.000746667 0.000746667 0.000733333 0.0007 0.00068 +0.000686667 0.000706667 0.000713333 0.000713333 0.00072 0.00072 0.000713333 0.0007 +0.000713333 0.000733333 0.000733333 0.00074 0.000706667 0.000693333 0.000706667 0.0007 +0.000693333 0.0007 0.000713333 0.0007 0.000686667 0.00068 0.000693333 0.000693333 +0.000713333 0.00072 0.0007 0.00072 0.000753333 0.000746667 0.00072 0.000693333 +0.000713333 0.0007 0.000713333 0.000733333 0.00072 0.000733333 0.000733333 0.00074 +0.00074 0.000726667 0.000753333 0.000786667 0.000806667 0.000866667 0.229253 0.331493 +0.337173 0.23304 0.00096 0.3864 0.645895 0.887158 0.990776 0.982612 +0.954105 0.947789 0.951579 0.954737 0.967368 0.988816 1.00286 1.01167 +1.01461 1.01722 1.01527 1.01298 1.012 1.01592 1.0182 1.01624 +1.01429 1.01265 1.01396 1.01853 1.03192 1.05086 1.07369 1.0813 +1.05478 1.05249 1.05967 1.01918 0.940842 0.855579 0.727368 0.585263 +0.505053 0.45456 0.446987 0.435627 0.411013 0.359893 0.344747 0.37504 +0.422373 0.441307 0.39208 0.33528 0.325813 0.342853 0.359893 0.337173 +0.314453 0.308773 0.310667 0.316347 0.356107 0.390187 0.378827 0.331493 +0.28984 0.282267 0.282267 0.274693 0.291733 0.286053 0.2728 0.2728 +0.276587 0.28984 0.303093 0.310667 0.30688 0.314453 0.30688 0.287947 +0.287947 0.30688 0.34096 0.37504 0.39208 0.359893 0.310667 0.297413 +0.316347 0.36936 0.39776 0.358 0.3012 0.280373 0.276587 0.282267 +0.320133 0.38072 0.388293 0.35232 0.3296 0.310667 0.31256 0.320133 +0.31824 0.30688 0.31256 0.3296 0.344747 0.36936 0.446987 0.520842 +0.505053 0.407227 0.384507 0.365573 0.337173 0.3296 0.331493 0.337173 +0.339067 0.34096 0.333387 0.32392 0.33528 0.35232 0.35232 0.34664 +0.361787 0.358 0.339067 0.342853 0.361787 0.371253 0.393973 0.484853 +0.513895 0.47728 0.40912 0.382613 0.390187 0.401547 0.378827 0.342853 +0.350427 0.384507 0.36936 0.316347 0.3012 0.365573 0.399653 0.359893 +0.322027 0.327707 0.456453 0.633895 0.831579 0.960421 0.998939 1.00939 +1.01722 1.02343 1.02376 1.028 1.03518 1.03812 1.04139 1.04433 +1.04563 1.04498 1.04335 1.04335 1.04563 1.04237 1.04237 1.04106 +1.04139 1.04269 1.04073 1.04106 1.04335 1.04302 1.04041 1.03878 +1.03878 1.04041 1.04008 1.03943 1.04139 1.03943 1.03878 1.03943 +1.0378 1.03812 1.03584 1.03551 1.03682 1.03682 1.03682 1.03616 +1.03388 1.03616 1.03812 1.03388 1.02506 1.02114 1.0218 1.01429 +1.00514 1.00612 1.0071 1.00318 1.00384 1.00514 1.00776 1.00743 +1.00482 1.00514 1.00906 1.01037 1.00612 1.00384 1.00645 1.01233 +1.01853 1.02343 1.02833 1.03714 1.0391 1.04139 1.044 1.04073 +1.04367 1.04629 1.04073 1.04008 1.03976 1.04106 1.04269 1.03682 +1.03714 1.03878 1.03878 1.0378 1.03649 1.04008 1.04335 1.03714 +1.03584 1.0391 1.03878 1.03682 1.03714 1.03649 1.03878 1.0391 +1.0378 1.03812 1.04139 1.04171 1.0391 1.04073 1.04237 1.04073 +1.03943 1.04204 1.04106 1.04073 1.04139 1.04335 1.04433 1.04498 +1.04433 1.044 1.04433 1.04269 1.04204 1.04302 1.04367 1.04335 +1.04171 1.04041 1.04106 1.04302 1.04531 1.04596 1.04237 1.04041 +1.04106 1.04106 1.04171 1.04367 1.04106 1.03976 1.04073 1.04073 +1.04073 1.04041 1.04073 1.04139 1.04139 1.04139 1.04269 1.03943 +1.03061 1.00841 0.952842 0.839789 0.726737 0.652211 0.616211 0.592842 +0.578316 0.590947 0.644 0.712842 0.765263 0.773474 0.730526 0.66421 +0.592211 0.530316 0.441307 0.34664 0.331493 0.331493 0.286053 0.25008 +0.265227 0.30688 0.34096 0.348533 0.350427 0.356107 0.348533 0.337173 +0.34664 0.382613 0.40912 0.422373 0.42616 0.39776 0.34664 0.314453 +0.29552 0.293627 0.316347 0.34096 0.378827 0.439413 0.505684 0.533474 +0.551158 0.550526 0.522105 0.464027 0.40912 0.382613 0.382613 0.382613 +0.356107 0.325813 0.308773 0.322027 0.333387 0.331493 0.331493 0.348533 +0.378827 0.445093 0.512 0.520211 0.481067 0.40344 0.384507 0.39208 +0.401547 0.424267 0.45456 0.536 0.678737 0.854947 0.955368 0.980327 +0.976842 0.976842 0.984571 0.989469 0.994694 0.998939 1.00155 1.00482 +1.00645 1.01004 1.01102 1.00906 1.01167 1.01396 1.01461 1.01461 +1.01233 1.01135 1.01429 1.01494 1.01102 1.00122 0.990449 0.991102 +0.999918 1.00318 0.994041 0.982612 0.963579 0.954105 0.949053 0.946526 +0.944 0.947158 0.955368 0.974947 0.986531 0.919368 0.717895 0.536632 +0.42616 0.350427 0.225467 0.000813333 0.00076 0.00076 0.00076 0.000753333 +0.000766667 0.000786667 0.000766667 0.000766667 0.000766667 0.000773333 0.00078 0.000753333 +0.000733333 0.000746667 0.000726667 0.000726667 0.000726667 0.000726667 0.00072 0.000693333 +0.000706667 0.000733333 0.00074 0.000753333 0.000713333 0.00072 0.000706667 0.0007 +0.0007 0.000726667 0.000733333 0.000726667 0.00072 0.000726667 0.000726667 0.000706667 +0.0007 0.0007 0.000686667 0.000673333 0.000693333 0.000686667 0.000686667 0.000693333 +0.000713333 0.000713333 0.000726667 0.000766667 0.000753333 0.000726667 0.00072 0.000706667 +0.000686667 0.00068 0.0007 0.0007 0.00068 0.000666667 0.00066 0.000653333 +0.000673333 0.000693333 0.000686667 0.00072 0.00074 0.000773333 0.000773333 0.000746667 +0.00076 0.000753333 0.000733333 0.00074 0.000726667 0.00074 0.000753333 0.00076 +0.00076 0.000713333 0.000706667 0.00074 0.000786667 0.000886667 0.270907 0.356107 +0.3012 0.000993333 0.257653 0.516421 0.736211 0.946526 0.989143 0.966737 +0.947789 0.949053 0.950316 0.954105 0.971789 0.993061 1.00678 1.01396 +1.01755 1.01853 1.01494 1.01298 1.01233 1.01592 1.01755 1.01592 +1.01494 1.01102 1.01429 1.0218 1.03747 1.05608 1.09956 1.09348 +1.05543 1.05478 1.12086 1.03714 0.940211 0.827789 0.692 0.564421 +0.501895 0.45456 0.441307 0.4432 0.429947 0.390187 0.39208 0.433733 +0.435627 0.39208 0.339067 0.322027 0.31824 0.3296 0.359893 0.348533 +0.327707 0.31256 0.293627 0.291733 0.316347 0.371253 0.40912 0.365573 +0.297413 0.27848 0.274693 0.263333 0.274693 0.27848 0.265227 0.263333 +0.280373 0.28416 0.28984 0.28416 0.276587 0.29552 0.30688 0.297413 +0.28984 0.299307 0.31256 0.34664 0.35232 0.31256 0.286053 0.291733 +0.316347 0.361787 0.376933 0.342853 0.303093 0.28984 0.297413 0.310667 +0.337173 0.36936 0.348533 0.316347 0.310667 0.303093 0.308773 0.325813 +0.327707 0.32392 0.3296 0.33528 0.344747 0.344747 0.373147 0.429947 +0.395867 0.35232 0.37504 0.395867 0.382613 0.350427 0.333387 0.331493 +0.337173 0.333387 0.3296 0.32392 0.327707 0.356107 0.354213 0.34096 +0.359893 0.37504 0.350427 0.33528 0.3296 0.3296 0.33528 0.382613 +0.456453 0.467813 0.435627 0.405333 0.376933 0.37504 0.367467 0.3296 +0.348533 0.40912 0.418587 0.376933 0.40344 0.456453 0.401547 0.32392 +0.316347 0.32392 0.36936 0.553053 0.746947 0.92 0.98849 1.00286 +1.01363 1.02114 1.02245 1.02571 1.03224 1.03682 1.04139 1.04498 +1.04694 1.04727 1.04498 1.044 1.04465 1.04465 1.04531 1.04204 +1.04041 1.04237 1.04237 1.04269 1.04302 1.04041 1.04008 1.04041 +1.03878 1.04073 1.04171 1.03878 1.03878 1.0378 1.0378 1.0391 +1.03812 1.03682 1.03388 1.03453 1.03812 1.03812 1.03682 1.03616 +1.03355 1.03322 1.03159 1.02473 1.01657 1.012 1.01037 1.00645 +0.998612 0.998286 0.998286 0.99502 0.995347 0.999265 1.00155 1.00351 +1.00286 1.00351 1.00612 1.00514 1.00547 1.0071 1.00612 1.01167 +1.01918 1.02147 1.02637 1.03584 1.03649 1.0378 1.04237 1.04139 +1.04335 1.04367 1.0391 1.03845 1.03976 1.04008 1.03943 1.03518 +1.03714 1.03943 1.03812 1.03747 1.03616 1.03845 1.04237 1.0378 +1.03518 1.03747 1.03812 1.0378 1.03682 1.03682 1.04171 1.03943 +1.03551 1.03845 1.04237 1.03976 1.03682 1.03976 1.04073 1.03714 +1.0391 1.04302 1.04139 1.04139 1.04237 1.04237 1.04302 1.04335 +1.04302 1.04498 1.04433 1.04171 1.04171 1.044 1.04531 1.04563 +1.04367 1.04171 1.04041 1.04106 1.04367 1.044 1.04073 1.04041 +1.04008 1.04204 1.044 1.04237 1.03943 1.03943 1.0378 1.03747 +1.03878 1.04041 1.04073 1.04073 1.04171 1.04302 1.04106 1.0342 +1.01657 0.983592 0.885895 0.769684 0.674316 0.621263 0.59979 0.586526 +0.572632 0.573263 0.59979 0.638947 0.662947 0.652842 0.621895 0.591579 +0.551789 0.5 0.34096 0.263333 0.276587 0.282267 0.2444 0.234933 +0.29552 0.373147 0.388293 0.373147 0.37504 0.378827 0.367467 0.36936 +0.401547 0.428053 0.42048 0.39776 0.38072 0.356107 0.34664 0.344747 +0.31824 0.29552 0.303093 0.310667 0.331493 0.365573 0.3864 0.393973 +0.405333 0.412907 0.376933 0.339067 0.333387 0.333387 0.35232 0.376933 +0.36368 0.331493 0.320133 0.327707 0.325813 0.322027 0.34664 0.359893 +0.359893 0.38072 0.446987 0.503789 0.490533 0.424267 0.390187 0.390187 +0.39208 0.407227 0.445093 0.532211 0.668632 0.846737 0.956 0.98098 +0.975579 0.976211 0.984898 0.991429 0.99698 1.00057 1.00188 1.00482 +1.00678 1.01004 1.01167 1.01004 1.01069 1.01298 1.01331 1.01298 +1.01363 1.01396 1.01624 1.01722 1.01265 1.00122 0.989469 0.988163 +0.996327 1.00449 1.00057 0.987837 0.971158 0.959789 0.952842 0.952211 +0.947158 0.942105 0.945263 0.960421 0.984245 0.966737 0.806947 0.595368 +0.467813 0.382613 0.26712 0.000866667 0.00078 0.00078 0.000793333 0.000793333 +0.000813333 0.000813333 0.000793333 0.00076 0.000766667 0.000773333 0.00078 0.000773333 +0.000766667 0.000766667 0.000753333 0.00076 0.000746667 0.00074 0.000726667 0.00072 +0.000733333 0.000706667 0.000706667 0.000726667 0.000686667 0.0007 0.00072 0.000733333 +0.00072 0.0007 0.00074 0.000753333 0.00074 0.000733333 0.00074 0.000726667 +0.00074 0.00072 0.000686667 0.00068 0.0007 0.000693333 0.000666667 0.00066 +0.000693333 0.000693333 0.00068 0.000713333 0.000753333 0.000753333 0.000746667 0.00072 +0.000706667 0.000706667 0.00072 0.00072 0.000706667 0.000693333 0.000686667 0.000693333 +0.000686667 0.000673333 0.000673333 0.000673333 0.000686667 0.000713333 0.000746667 0.00074 +0.00078 0.00078 0.000733333 0.000733333 0.00072 0.00074 0.000766667 0.000766667 +0.000773333 0.000766667 0.000766667 0.00078 0.000813333 0.000953333 0.304987 0.344747 +0.251973 0.000993333 0.342853 0.588421 0.829684 0.981633 0.981633 0.954737 +0.944 0.947158 0.952211 0.957895 0.980327 0.998612 1.01167 1.01624 +1.01984 1.01886 1.01429 1.01265 1.01363 1.01788 1.01788 1.01755 +1.01527 1.01167 1.01624 1.02702 1.04367 1.07065 1.11782 1.08435 +1.05249 1.05478 1.16499 1.05412 0.947789 0.803789 0.664842 0.553684 +0.503789 0.467813 0.462133 0.4716 0.4716 0.45456 0.469707 0.4716 +0.411013 0.356107 0.342853 0.33528 0.310667 0.32392 0.356107 0.358 +0.342853 0.325813 0.297413 0.293627 0.30688 0.36368 0.424267 0.388293 +0.316347 0.291733 0.28416 0.280373 0.276587 0.280373 0.274693 0.2728 +0.28984 0.29552 0.297413 0.287947 0.286053 0.299307 0.30688 0.29552 +0.28984 0.28984 0.3012 0.331493 0.350427 0.31256 0.30688 0.32392 +0.342853 0.354213 0.342853 0.325813 0.31824 0.31256 0.320133 0.33528 +0.337173 0.344747 0.339067 0.31824 0.31256 0.31824 0.32392 0.331493 +0.3296 0.342853 0.358 0.367467 0.38072 0.348533 0.348533 0.365573 +0.34664 0.3296 0.34664 0.3864 0.40912 0.365573 0.327707 0.342853 +0.36368 0.35232 0.337173 0.3296 0.342853 0.359893 0.361787 0.358 +0.37504 0.399653 0.395867 0.365573 0.33528 0.31824 0.316347 0.327707 +0.371253 0.405333 0.43752 0.42048 0.361787 0.361787 0.36936 0.348533 +0.34664 0.39208 0.44888 0.498107 0.508842 0.467813 0.358 0.31256 +0.3296 0.34664 0.38072 0.517684 0.673053 0.860632 0.966737 0.995347 +1.00971 1.01886 1.0231 1.02506 1.03061 1.03584 1.03976 1.04367 +1.04661 1.04661 1.04727 1.04694 1.04563 1.04465 1.04433 1.04237 +1.04041 1.04204 1.044 1.04106 1.04073 1.04237 1.04204 1.04008 +1.03747 1.03976 1.04269 1.04008 1.03682 1.03551 1.03551 1.03845 +1.03845 1.03551 1.03192 1.03322 1.03714 1.03616 1.03486 1.03518 +1.0329 1.03257 1.02833 1.01984 1.01233 1.01004 1.00939 1.00906 +1.00449 1.00384 1.00286 0.999592 0.998612 1.00449 1.00743 1.01004 +1.01331 1.012 1.01102 1.01037 1.01102 1.01331 1.01527 1.01918 +1.02408 1.02898 1.0329 1.03845 1.03584 1.03257 1.03486 1.03682 +1.04008 1.04073 1.03845 1.03812 1.0391 1.03812 1.03747 1.03649 +1.03845 1.0378 1.0342 1.0329 1.03388 1.03518 1.03649 1.03518 +1.03551 1.03518 1.03649 1.03388 1.0329 1.03551 1.04139 1.03976 +1.03486 1.03616 1.03649 1.03584 1.03714 1.04073 1.04041 1.03649 +1.04008 1.04367 1.04237 1.04139 1.04171 1.04237 1.04237 1.04171 +1.04171 1.04465 1.04367 1.03976 1.04073 1.04433 1.04563 1.04433 +1.04302 1.04367 1.04204 1.04139 1.04302 1.04465 1.04237 1.04073 +1.04073 1.04465 1.04465 1.04367 1.04171 1.04073 1.03976 1.04008 +1.04139 1.04171 1.04041 1.03943 1.04106 1.04008 1.03453 1.02278 +0.997633 0.932632 0.823368 0.713474 0.637684 0.597263 0.577053 0.560632 +0.534105 0.517684 0.520211 0.529053 0.532842 0.532842 0.535368 0.532211 +0.507579 0.40344 0.274693 0.217893 0.2444 0.25576 0.242507 0.29552 +0.388293 0.43752 0.422373 0.43184 0.458347 0.46024 0.43752 0.42616 +0.428053 0.42048 0.395867 0.367467 0.34664 0.344747 0.3864 0.422373 +0.376933 0.325813 0.299307 0.287947 0.3012 0.320133 0.316347 0.314453 +0.327707 0.339067 0.322027 0.30688 0.310667 0.314453 0.33528 0.361787 +0.359893 0.344747 0.33528 0.325813 0.316347 0.31824 0.339067 0.350427 +0.344747 0.342853 0.376933 0.433733 0.464027 0.439413 0.40344 0.3864 +0.378827 0.384507 0.433733 0.528421 0.658526 0.837263 0.951579 0.98 +0.976842 0.979368 0.986857 0.991755 0.995347 0.997959 0.999592 1.00351 +1.00808 1.01037 1.01167 1.01037 1.00971 1.01233 1.01331 1.012 +1.01265 1.01265 1.01265 1.01461 1.01527 1.01037 0.998612 0.991429 +0.993388 1.00057 1.00318 0.994041 0.981306 0.965474 0.952842 0.952842 +0.947789 0.942105 0.942737 0.952842 0.976211 0.984245 0.885895 0.671789 +0.514526 0.399653 0.310667 0.000973333 0.00082 0.000806667 0.000813333 0.000806667 +0.0008 0.000786667 0.00078 0.00076 0.000786667 0.000793333 0.00076 0.000753333 +0.00076 0.000766667 0.000746667 0.000746667 0.000746667 0.00076 0.00076 0.000753333 +0.000726667 0.000706667 0.000726667 0.000726667 0.000706667 0.000686667 0.000686667 0.000726667 +0.000713333 0.000686667 0.000686667 0.0007 0.0007 0.000706667 0.0007 0.0007 +0.000726667 0.000713333 0.000693333 0.00072 0.00074 0.00074 0.00072 0.000713333 +0.000713333 0.0007 0.000693333 0.0007 0.000706667 0.000706667 0.00072 0.000713333 +0.000726667 0.00072 0.000713333 0.00072 0.000713333 0.000706667 0.0007 0.000706667 +0.00072 0.000726667 0.000706667 0.000713333 0.0007 0.000673333 0.00068 0.00068 +0.000706667 0.000733333 0.000733333 0.000753333 0.000753333 0.000773333 0.000793333 0.000766667 +0.00076 0.00078 0.000793333 0.000813333 0.000886667 0.246293 0.3296 0.30688 +0.000993333 0.22736 0.452667 0.676842 0.908632 0.989796 0.974947 0.951579 +0.947158 0.950947 0.953474 0.962316 0.984898 1.00253 1.01298 1.01494 +1.02016 1.01886 1.01429 1.01331 1.01429 1.01755 1.01886 1.0182 +1.01527 1.01559 1.02147 1.03322 1.04988 1.09043 1.11326 1.06456 +1.05053 1.0538 1.18934 1.1163 0.958526 0.779158 0.640211 0.540421 +0.490533 0.456453 0.45456 0.45456 0.473493 0.502526 0.508211 0.47728 +0.401547 0.378827 0.384507 0.344747 0.297413 0.310667 0.344747 0.35232 +0.34096 0.31824 0.291733 0.287947 0.3012 0.348533 0.382613 0.361787 +0.333387 0.320133 0.299307 0.28416 0.26712 0.270907 0.274693 0.282267 +0.303093 0.331493 0.333387 0.304987 0.297413 0.299307 0.293627 0.28416 +0.27848 0.287947 0.299307 0.3296 0.35232 0.33528 0.33528 0.348533 +0.376933 0.376933 0.333387 0.310667 0.308773 0.31256 0.314453 0.308773 +0.310667 0.325813 0.339067 0.333387 0.344747 0.36368 0.36936 0.34664 +0.331493 0.344747 0.361787 0.384507 0.382613 0.348533 0.34096 0.35232 +0.348533 0.339067 0.331493 0.34664 0.376933 0.358 0.331493 0.344747 +0.38072 0.373147 0.34096 0.34664 0.36368 0.388293 0.395867 0.393973 +0.393973 0.39776 0.424267 0.4148 0.361787 0.333387 0.316347 0.31824 +0.34096 0.388293 0.435627 0.416693 0.356107 0.356107 0.37504 0.356107 +0.34096 0.376933 0.450773 0.509474 0.5 0.37504 0.299307 0.297413 +0.331493 0.365573 0.411013 0.502526 0.601053 0.770316 0.914947 0.985878 +1.00514 1.01657 1.0218 1.02343 1.02996 1.03616 1.03878 1.04106 +1.04531 1.04531 1.04661 1.04792 1.04563 1.04367 1.04237 1.04237 +1.04073 1.04041 1.04335 1.04106 1.04106 1.04302 1.04106 1.03878 +1.03714 1.0391 1.04237 1.04008 1.03486 1.03518 1.03812 1.04008 +1.03747 1.03584 1.03714 1.03551 1.03584 1.0342 1.03355 1.03355 +1.03061 1.02735 1.02539 1.0218 1.01624 1.01461 1.01233 1.01331 +1.01265 1.012 1.01298 1.01298 1.00939 1.01494 1.01788 1.01918 +1.0218 1.02114 1.02049 1.02049 1.0182 1.01755 1.02082 1.02147 +1.02604 1.03486 1.04008 1.04367 1.04171 1.03616 1.03453 1.03518 +1.03616 1.03453 1.03518 1.0378 1.03812 1.0378 1.03845 1.03584 +1.0391 1.04008 1.03584 1.03486 1.03486 1.03518 1.03551 1.03486 +1.03388 1.03584 1.03616 1.03224 1.03224 1.03649 1.03943 1.03682 +1.03453 1.0342 1.03159 1.03388 1.0391 1.04237 1.04041 1.03747 +1.04041 1.04367 1.04204 1.04237 1.04367 1.04204 1.04008 1.04106 +1.04237 1.04335 1.04302 1.04139 1.044 1.04498 1.04367 1.03976 +1.03878 1.04008 1.04041 1.04204 1.04204 1.04433 1.04302 1.04335 +1.04465 1.04498 1.04433 1.04433 1.04302 1.04106 1.0391 1.03976 +1.04041 1.04073 1.04106 1.04041 1.04106 1.0378 1.02865 1.01037 +0.976211 0.878947 0.765895 0.668632 0.609895 0.577053 0.555579 0.532842 +0.486747 0.393973 0.35232 0.350427 0.36936 0.42048 0.475387 0.46592 +0.411013 0.356107 0.28984 0.246293 0.246293 0.242507 0.27848 0.359893 +0.411013 0.401547 0.42048 0.490533 0.512 0.503158 0.473493 0.462133 +0.4432 0.40912 0.36936 0.342853 0.337173 0.350427 0.388293 0.411013 +0.365573 0.316347 0.293627 0.28984 0.297413 0.316347 0.31256 0.31824 +0.322027 0.320133 0.303093 0.3012 0.3012 0.308773 0.325813 0.337173 +0.339067 0.331493 0.337173 0.3296 0.314453 0.31256 0.327707 0.333387 +0.331493 0.337173 0.361787 0.39208 0.43184 0.44888 0.428053 0.405333 +0.39776 0.395867 0.42616 0.520211 0.645895 0.828421 0.947158 0.978737 +0.977474 0.979368 0.988163 0.992408 0.996 0.997633 0.998939 1.0022 +1.00612 1.00906 1.01102 1.01298 1.01265 1.01363 1.01363 1.01167 +1.01102 1.01233 1.01265 1.012 1.01494 1.01461 1.00547 0.99698 +0.995673 0.999918 1.00547 1.00057 0.987837 0.969895 0.952842 0.950947 +0.948421 0.946526 0.944 0.948421 0.964842 0.984898 0.944 0.759579 +0.56 0.42616 0.358 0.259547 0.000886667 0.000813333 0.0008 0.00078 +0.00076 0.000766667 0.000773333 0.000753333 0.000766667 0.000753333 0.000733333 0.000746667 +0.000766667 0.000766667 0.00074 0.000746667 0.000753333 0.000753333 0.000746667 0.000733333 +0.000713333 0.000733333 0.000746667 0.00072 0.000746667 0.0007 0.000686667 0.0007 +0.000693333 0.000686667 0.000666667 0.00066 0.00068 0.000706667 0.000706667 0.0007 +0.00072 0.000706667 0.000693333 0.000693333 0.000713333 0.000733333 0.000733333 0.000733333 +0.000746667 0.000726667 0.0007 0.000686667 0.000673333 0.000673333 0.000673333 0.00068 +0.000693333 0.0007 0.000706667 0.00072 0.000713333 0.000713333 0.000713333 0.000713333 +0.00074 0.000746667 0.00076 0.000753333 0.00074 0.000706667 0.000706667 0.000706667 +0.000693333 0.00072 0.000746667 0.00076 0.000766667 0.000766667 0.000766667 0.000773333 +0.000806667 0.000806667 0.0008 0.000806667 0.00094 0.28984 0.342853 0.26712 +0.000953333 0.27848 0.539789 0.768421 0.959158 0.986204 0.961684 0.947789 +0.948421 0.953474 0.953474 0.968632 0.989796 1.00547 1.01265 1.01429 +1.0182 1.01722 1.01494 1.01527 1.01559 1.0182 1.01984 1.01722 +1.01494 1.0169 1.02571 1.04073 1.05837 1.11021 1.09195 1.0551 +1.04727 1.05053 1.18021 1.15434 0.961053 0.752 0.609895 0.518316 +0.446987 0.424267 0.412907 0.4148 0.46592 0.512 0.515789 0.48296 +0.435627 0.44888 0.445093 0.367467 0.316347 0.322027 0.339067 0.34096 +0.308773 0.297413 0.291733 0.28984 0.29552 0.314453 0.327707 0.316347 +0.327707 0.325813 0.30688 0.280373 0.270907 0.27848 0.276587 0.287947 +0.327707 0.371253 0.358 0.322027 0.308773 0.303093 0.303093 0.291733 +0.286053 0.29552 0.303093 0.327707 0.34664 0.342853 0.339067 0.350427 +0.382613 0.390187 0.356107 0.327707 0.31824 0.316347 0.314453 0.308773 +0.310667 0.3296 0.337173 0.333387 0.350427 0.373147 0.373147 0.354213 +0.348533 0.34096 0.34664 0.36936 0.359893 0.339067 0.333387 0.350427 +0.365573 0.36368 0.354213 0.350427 0.356107 0.348533 0.325813 0.327707 +0.359893 0.348533 0.342853 0.354213 0.358 0.36936 0.388293 0.39208 +0.376933 0.376933 0.399653 0.384507 0.358 0.354213 0.333387 0.31824 +0.339067 0.367467 0.3864 0.388293 0.354213 0.33528 0.356107 0.35232 +0.331493 0.348533 0.40344 0.446987 0.416693 0.34096 0.30688 0.314453 +0.33528 0.350427 0.384507 0.433733 0.529684 0.665474 0.838526 0.956 +0.995673 1.00971 1.01788 1.02441 1.02898 1.0342 1.0378 1.04008 +1.04498 1.04629 1.04629 1.04661 1.04465 1.04302 1.04237 1.044 +1.04433 1.04171 1.04269 1.04237 1.04073 1.04041 1.04073 1.04204 +1.04204 1.04269 1.04367 1.04237 1.03714 1.03682 1.04073 1.03943 +1.03714 1.03747 1.03943 1.03649 1.03616 1.03355 1.03224 1.03192 +1.02767 1.02245 1.02408 1.02669 1.02245 1.01984 1.0169 1.01788 +1.02016 1.02049 1.0231 1.02245 1.01951 1.02408 1.02441 1.02473 +1.02669 1.02735 1.028 1.02669 1.02506 1.02147 1.01951 1.01886 +1.02278 1.03127 1.03878 1.04335 1.04106 1.03845 1.03976 1.0391 +1.03812 1.03584 1.03453 1.03616 1.03649 1.03584 1.03682 1.03486 +1.03943 1.03976 1.03616 1.03845 1.0378 1.03616 1.03649 1.0378 +1.03584 1.03649 1.03551 1.03355 1.03551 1.03453 1.03257 1.02963 +1.03224 1.0329 1.03257 1.03812 1.04139 1.04204 1.04041 1.03976 +1.04204 1.04335 1.03943 1.04041 1.04465 1.04367 1.04008 1.04106 +1.04171 1.04073 1.0391 1.03976 1.04531 1.04531 1.04171 1.03976 +1.04008 1.03845 1.0391 1.04269 1.04204 1.04302 1.04269 1.04531 +1.04694 1.04433 1.04302 1.04269 1.04204 1.04106 1.03878 1.03812 +1.03943 1.03976 1.03878 1.03976 1.03943 1.03486 1.02343 0.997633 +0.927579 0.814526 0.707789 0.632 0.590316 0.563158 0.539789 0.510737 +0.407227 0.299307 0.251973 0.26712 0.316347 0.382613 0.40912 0.382613 +0.371253 0.37504 0.350427 0.304987 0.28416 0.286053 0.327707 0.373147 +0.367467 0.388293 0.490533 0.526526 0.530947 0.514526 0.501263 0.481067 +0.441307 0.393973 0.339067 0.303093 0.297413 0.31256 0.32392 0.331493 +0.320133 0.299307 0.299307 0.308773 0.327707 0.358 0.344747 0.322027 +0.31824 0.3012 0.299307 0.31256 0.314453 0.314453 0.30688 0.30688 +0.316347 0.333387 0.34664 0.33528 0.322027 0.31824 0.325813 0.331493 +0.337173 0.348533 0.361787 0.371253 0.401547 0.439413 0.445093 0.428053 +0.412907 0.40344 0.416693 0.512 0.633895 0.820211 0.947789 0.980327 +0.977474 0.976211 0.988163 0.994041 0.997633 0.996327 0.996 0.999592 +1.00547 1.00873 1.01069 1.01265 1.01233 1.01265 1.01265 1.01265 +1.01331 1.01363 1.01396 1.012 1.01527 1.01592 1.012 1.00906 +1.00514 1.00253 1.00612 1.00384 0.992408 0.974947 0.956632 0.952211 +0.950947 0.951579 0.946526 0.945895 0.956632 0.98 0.978737 0.847368 +0.627579 0.481067 0.3864 0.299307 0.000933333 0.000806667 0.000793333 0.000793333 +0.000786667 0.000773333 0.000766667 0.00074 0.00074 0.000766667 0.000793333 0.00078 +0.000746667 0.000746667 0.000746667 0.000753333 0.00074 0.00074 0.000753333 0.000746667 +0.00072 0.00072 0.000706667 0.000693333 0.000746667 0.000726667 0.000746667 0.00072 +0.000706667 0.000713333 0.000706667 0.000693333 0.000693333 0.000686667 0.000693333 0.000686667 +0.000713333 0.00072 0.000726667 0.000713333 0.0007 0.000693333 0.000693333 0.0007 +0.0007 0.000693333 0.000686667 0.0007 0.0007 0.000686667 0.000686667 0.000673333 +0.000653333 0.000673333 0.000693333 0.000693333 0.00068 0.0007 0.00072 0.000713333 +0.000713333 0.00072 0.000733333 0.00074 0.000726667 0.000726667 0.00076 0.00076 +0.000746667 0.000746667 0.000733333 0.00074 0.000746667 0.00074 0.00074 0.00078 +0.00082 0.000813333 0.000793333 0.00082 0.225467 0.322027 0.314453 0.223573 +0.000966667 0.350427 0.610526 0.853053 0.982286 0.976211 0.948421 0.942737 +0.947789 0.950316 0.949684 0.973053 0.995673 1.01069 1.01657 1.01853 +1.01722 1.01461 1.01396 1.01494 1.01559 1.01984 1.02016 1.01722 +1.01559 1.01918 1.03159 1.05053 1.10717 1.14065 1.09195 1.05314 +1.044 1.04922 1.16043 1.1376 0.954737 0.728 0.585263 0.505684 +0.435627 0.4148 0.395867 0.405333 0.462133 0.504421 0.508842 0.502526 +0.501263 0.510737 0.48864 0.382613 0.322027 0.320133 0.337173 0.331493 +0.30688 0.299307 0.310667 0.31824 0.308773 0.31824 0.320133 0.308773 +0.314453 0.310667 0.308773 0.297413 0.299307 0.297413 0.29552 0.314453 +0.371253 0.399653 0.361787 0.331493 0.320133 0.31256 0.30688 0.308773 +0.31256 0.32392 0.325813 0.331493 0.34664 0.344747 0.342853 0.348533 +0.35232 0.361787 0.358 0.337173 0.320133 0.314453 0.316347 0.316347 +0.320133 0.331493 0.322027 0.314453 0.322027 0.337173 0.339067 0.348533 +0.36368 0.367467 0.373147 0.371253 0.36368 0.339067 0.342853 0.37504 +0.405333 0.399653 0.38072 0.36936 0.358 0.34664 0.327707 0.32392 +0.331493 0.34096 0.358 0.36368 0.342853 0.337173 0.356107 0.36368 +0.34096 0.344747 0.378827 0.373147 0.348533 0.34664 0.320133 0.314453 +0.339067 0.348533 0.356107 0.37504 0.358 0.3296 0.342853 0.337173 +0.316347 0.327707 0.365573 0.38072 0.384507 0.38072 0.36936 0.354213 +0.344747 0.350427 0.36368 0.37504 0.452667 0.580842 0.747579 0.901684 +0.982939 1.00351 1.01592 1.02343 1.02767 1.03355 1.03649 1.03943 +1.044 1.04563 1.04563 1.04694 1.04629 1.04367 1.04237 1.04531 +1.04531 1.04204 1.04302 1.04237 1.04008 1.04041 1.04302 1.04367 +1.04269 1.04041 1.04171 1.04335 1.03943 1.03747 1.04041 1.0378 +1.03812 1.0391 1.03812 1.03518 1.03388 1.03224 1.0329 1.03192 +1.02735 1.02539 1.02767 1.02931 1.02767 1.02669 1.02571 1.02539 +1.02833 1.03061 1.02931 1.02637 1.02702 1.03029 1.03061 1.03029 +1.03029 1.03029 1.03061 1.03061 1.02702 1.0218 1.02049 1.02016 +1.02147 1.02637 1.03453 1.03878 1.03682 1.0342 1.04073 1.04204 +1.04073 1.04106 1.03747 1.03682 1.03616 1.03584 1.03812 1.03714 +1.03878 1.03616 1.03355 1.03714 1.03747 1.03714 1.03649 1.03551 +1.03584 1.03551 1.03094 1.02996 1.03224 1.02996 1.02735 1.028 +1.03159 1.0329 1.03257 1.03845 1.03943 1.03812 1.03878 1.0391 +1.04237 1.04073 1.03584 1.03878 1.04498 1.04302 1.03976 1.04139 +1.04106 1.04073 1.03976 1.03878 1.04302 1.04465 1.04204 1.04204 +1.04139 1.03943 1.04204 1.04302 1.04204 1.04237 1.04204 1.04367 +1.04465 1.04367 1.04335 1.04237 1.04106 1.04008 1.03845 1.03878 +1.03878 1.03845 1.03747 1.03812 1.03714 1.03029 1.012 0.972421 +0.867579 0.753263 0.66421 0.608632 0.578947 0.558105 0.535368 0.498107 +0.382613 0.299307 0.251973 0.251973 0.3012 0.354213 0.37504 0.348533 +0.331493 0.359893 0.359893 0.327707 0.310667 0.320133 0.34664 0.36936 +0.3864 0.48296 0.539158 0.556842 0.553684 0.542316 0.522737 0.490533 +0.42048 0.378827 0.333387 0.286053 0.274693 0.286053 0.297413 0.31256 +0.31256 0.30688 0.31824 0.322027 0.327707 0.356107 0.34664 0.316347 +0.308773 0.299307 0.303093 0.316347 0.320133 0.31824 0.303093 0.293627 +0.30688 0.34096 0.344747 0.322027 0.320133 0.333387 0.339067 0.344747 +0.348533 0.36368 0.371253 0.376933 0.3864 0.412907 0.424267 0.411013 +0.399653 0.399653 0.424267 0.508842 0.617474 0.802526 0.941474 0.979368 +0.978737 0.978737 0.990449 0.997306 0.997633 0.995347 0.996327 1.0022 +1.00678 1.00808 1.00971 1.01069 1.01037 1.01233 1.01363 1.01461 +1.01461 1.01396 1.01363 1.01396 1.01657 1.01788 1.0182 1.02016 +1.01265 1.0022 1.00514 1.00645 0.998939 0.983918 0.962316 0.953474 +0.951579 0.954105 0.950316 0.946526 0.949684 0.966737 0.985878 0.920632 +0.710947 0.527789 0.412907 0.33528 0.223573 0.000833333 0.0008 0.00078 +0.00076 0.00076 0.000766667 0.000773333 0.0008 0.000806667 0.0008 0.000753333 +0.000726667 0.000733333 0.000746667 0.000766667 0.000766667 0.00076 0.000766667 0.000753333 +0.00074 0.000726667 0.00072 0.000746667 0.000706667 0.000726667 0.000726667 0.000713333 +0.000726667 0.000753333 0.000746667 0.000733333 0.000726667 0.00072 0.000713333 0.000713333 +0.000713333 0.000706667 0.00072 0.00072 0.000706667 0.000706667 0.0007 0.000713333 +0.000713333 0.000706667 0.0007 0.000713333 0.00072 0.000726667 0.000726667 0.000713333 +0.0007 0.0007 0.000726667 0.0007 0.000673333 0.000686667 0.000686667 0.000693333 +0.000686667 0.000706667 0.00072 0.00072 0.00072 0.000713333 0.000746667 0.000746667 +0.000753333 0.000753333 0.000753333 0.000766667 0.000746667 0.00074 0.000733333 0.000753333 +0.000773333 0.000766667 0.000786667 0.000866667 0.26712 0.342853 0.2728 0.000946667 +0.251973 0.498107 0.697684 0.922526 0.987184 0.965474 0.943368 0.944 +0.950316 0.948421 0.950316 0.980327 0.999918 1.01167 1.0182 1.02016 +1.01984 1.01624 1.01429 1.01298 1.01461 1.02016 1.01918 1.01559 +1.01592 1.02343 1.04106 1.07522 1.15434 1.16347 1.10413 1.05249 +1.04204 1.05184 1.1513 1.09956 0.942737 0.704632 0.563158 0.492427 +0.43752 0.428053 0.422373 0.43752 0.44888 0.428053 0.42616 0.4432 +0.4716 0.502526 0.48864 0.416693 0.34664 0.322027 0.333387 0.34096 +0.344747 0.354213 0.367467 0.36936 0.356107 0.35232 0.325813 0.314453 +0.31256 0.303093 0.304987 0.308773 0.31824 0.322027 0.339067 0.36936 +0.412907 0.412907 0.373147 0.339067 0.322027 0.314453 0.30688 0.310667 +0.327707 0.337173 0.33528 0.33528 0.348533 0.350427 0.34664 0.342853 +0.331493 0.3296 0.337173 0.327707 0.322027 0.322027 0.325813 0.322027 +0.325813 0.331493 0.3296 0.31256 0.31256 0.320133 0.327707 0.34664 +0.36368 0.3864 0.39208 0.376933 0.359893 0.348533 0.350427 0.382613 +0.407227 0.390187 0.36368 0.356107 0.361787 0.356107 0.337173 0.32392 +0.325813 0.354213 0.373147 0.358 0.3296 0.325813 0.34096 0.344747 +0.331493 0.34664 0.393973 0.388293 0.34664 0.331493 0.33528 0.33528 +0.359893 0.373147 0.367467 0.376933 0.361787 0.333387 0.3296 0.325813 +0.33528 0.36936 0.38072 0.361787 0.36368 0.393973 0.399653 0.382613 +0.373147 0.358 0.344747 0.344747 0.390187 0.520842 0.652842 0.824 +0.945263 0.993061 1.01135 1.02147 1.02735 1.0342 1.03486 1.03714 +1.04269 1.04433 1.04596 1.04727 1.04727 1.04498 1.04204 1.044 +1.04531 1.04139 1.04302 1.04139 1.0391 1.04073 1.04269 1.04171 +1.04041 1.0391 1.04171 1.04171 1.03747 1.03584 1.0391 1.03878 +1.03649 1.03714 1.0378 1.03616 1.03127 1.03094 1.0342 1.03257 +1.03127 1.03486 1.03518 1.03355 1.03257 1.03257 1.0329 1.03192 +1.0329 1.03584 1.0329 1.03094 1.03061 1.03159 1.03388 1.03257 +1.03192 1.03127 1.03192 1.03224 1.028 1.02473 1.02343 1.02473 +1.02702 1.02833 1.03453 1.03747 1.03812 1.03551 1.04106 1.04237 +1.04073 1.04139 1.03976 1.03943 1.03747 1.03845 1.04139 1.04073 +1.04008 1.0378 1.03649 1.03714 1.03355 1.03584 1.03584 1.03453 +1.03355 1.0329 1.02931 1.02767 1.02963 1.028 1.02833 1.03029 +1.03159 1.03224 1.03127 1.03486 1.03682 1.03584 1.03551 1.03453 +1.03812 1.03845 1.03649 1.04041 1.04269 1.03878 1.03943 1.04367 +1.04204 1.04204 1.04237 1.04204 1.04171 1.04073 1.04008 1.04171 +1.03943 1.03878 1.04302 1.04335 1.04139 1.04139 1.04204 1.04237 +1.04204 1.04139 1.04106 1.04106 1.04073 1.03878 1.03812 1.03878 +1.0378 1.03714 1.0391 1.03845 1.03224 1.01918 0.991755 0.913684 +0.798105 0.698947 0.636421 0.59979 0.575158 0.551158 0.527158 0.498107 +0.4148 0.34664 0.27848 0.248187 0.27848 0.327707 0.354213 0.339067 +0.293627 0.303093 0.32392 0.3012 0.31256 0.33528 0.34664 0.37504 +0.475387 0.544842 0.578316 0.583368 0.578947 0.563789 0.530947 0.481067 +0.411013 0.382613 0.359893 0.337173 0.3296 0.327707 0.316347 0.316347 +0.310667 0.314453 0.33528 0.32392 0.314453 0.33528 0.331493 0.308773 +0.30688 0.303093 0.30688 0.316347 0.31256 0.310667 0.303093 0.299307 +0.325813 0.358 0.34664 0.31824 0.31824 0.3296 0.34096 0.348533 +0.35232 0.378827 0.401547 0.39776 0.382613 0.388293 0.39776 0.40344 +0.405333 0.416693 0.43752 0.501895 0.595368 0.779789 0.932632 0.976842 +0.974947 0.98098 0.994694 1.00188 1.0022 0.999592 0.999265 1.00253 +1.00547 1.00776 1.00971 1.01135 1.01069 1.01331 1.01461 1.01592 +1.01429 1.01461 1.01494 1.01429 1.01396 1.01429 1.01527 1.01788 +1.01069 1.00057 1.00318 1.0071 1.0022 0.990122 0.971789 0.959158 +0.954105 0.953474 0.950947 0.945263 0.946526 0.956632 0.982286 0.964211 +0.794316 0.581474 0.46024 0.382613 0.269013 0.000873333 0.000793333 0.00076 +0.000746667 0.000753333 0.000766667 0.000793333 0.000786667 0.00078 0.00076 0.000746667 +0.000753333 0.000766667 0.00078 0.00078 0.000766667 0.00074 0.000726667 0.00072 +0.00074 0.00076 0.000766667 0.000793333 0.0007 0.000706667 0.0007 0.000693333 +0.000713333 0.00074 0.00074 0.000733333 0.00074 0.000733333 0.000726667 0.000726667 +0.000706667 0.000686667 0.000706667 0.000713333 0.000706667 0.0007 0.000706667 0.00072 +0.000726667 0.000726667 0.000726667 0.00072 0.00072 0.000726667 0.000726667 0.000733333 +0.00072 0.000706667 0.000713333 0.000726667 0.000706667 0.000693333 0.000686667 0.00068 +0.000666667 0.000666667 0.00068 0.000713333 0.00074 0.00072 0.00074 0.00074 +0.000733333 0.000746667 0.000753333 0.00076 0.000753333 0.000753333 0.000766667 0.000766667 +0.00078 0.00078 0.000793333 0.000966667 0.304987 0.320133 0.229253 0.00098 +0.331493 0.563789 0.793684 0.973684 0.983918 0.952842 0.940211 0.945263 +0.952211 0.950316 0.957895 0.986531 1.00253 1.01233 1.01788 1.02016 +1.02016 1.01918 1.0182 1.01494 1.01559 1.01886 1.01853 1.0169 +1.01853 1.02833 1.05118 1.1376 1.18934 1.16803 1.09804 1.04922 +1.04106 1.05576 1.14673 1.05804 0.916842 0.678737 0.545474 0.47728 +0.43752 0.441307 0.452667 0.452667 0.42048 0.36936 0.359893 0.373147 +0.38072 0.416693 0.456453 0.44888 0.39208 0.344747 0.34664 0.36936 +0.39208 0.39208 0.371253 0.367467 0.36368 0.348533 0.314453 0.308773 +0.31256 0.308773 0.30688 0.314453 0.331493 0.342853 0.361787 0.38072 +0.399653 0.418587 0.411013 0.382613 0.34664 0.327707 0.316347 0.314453 +0.32392 0.331493 0.32392 0.3296 0.34664 0.350427 0.354213 0.354213 +0.35232 0.350427 0.337173 0.325813 0.316347 0.320133 0.32392 0.32392 +0.320133 0.322027 0.3296 0.31824 0.304987 0.308773 0.322027 0.33528 +0.348533 0.35232 0.348533 0.337173 0.337173 0.348533 0.356107 0.373147 +0.38072 0.361787 0.348533 0.34664 0.358 0.35232 0.339067 0.331493 +0.34664 0.36936 0.38072 0.361787 0.331493 0.325813 0.331493 0.33528 +0.337173 0.39208 0.43184 0.393973 0.33528 0.333387 0.34664 0.35232 +0.37504 0.3864 0.373147 0.36936 0.365573 0.339067 0.3296 0.339067 +0.371253 0.395867 0.376933 0.331493 0.34096 0.371253 0.371253 0.36368 +0.361787 0.356107 0.358 0.367467 0.378827 0.446987 0.566947 0.722316 +0.888421 0.984571 1.0058 1.01755 1.02408 1.03094 1.03388 1.03584 +1.04041 1.04237 1.044 1.04498 1.04596 1.04661 1.04269 1.04302 +1.04661 1.04367 1.04498 1.04302 1.03976 1.04139 1.04433 1.04302 +1.04139 1.04073 1.04237 1.04204 1.03747 1.03747 1.04106 1.04041 +1.03649 1.03584 1.03747 1.03747 1.03159 1.03192 1.03584 1.03616 +1.03682 1.03878 1.03812 1.03551 1.03551 1.03714 1.0391 1.03682 +1.03453 1.03584 1.03486 1.03388 1.0329 1.03322 1.03355 1.03029 +1.03159 1.0329 1.03388 1.03192 1.02996 1.02963 1.02735 1.02735 +1.02767 1.02767 1.0329 1.03649 1.03943 1.03845 1.04073 1.04008 +1.03878 1.0391 1.04106 1.04302 1.03976 1.0391 1.04139 1.04237 +1.04204 1.03943 1.0391 1.03943 1.0342 1.03486 1.03584 1.03551 +1.03551 1.0342 1.03159 1.02996 1.03061 1.03029 1.03127 1.02963 +1.02898 1.03029 1.03029 1.03224 1.03747 1.03616 1.0342 1.03224 +1.03257 1.0342 1.03714 1.04073 1.04008 1.0378 1.04041 1.04139 +1.04139 1.04269 1.04269 1.04269 1.04073 1.03943 1.0391 1.03943 +1.03878 1.04008 1.04041 1.04139 1.04302 1.04204 1.04367 1.04302 +1.04204 1.04237 1.03976 1.04041 1.03943 1.03747 1.03812 1.0391 +1.0391 1.0378 1.03812 1.03551 1.02637 1.00449 0.949053 0.841684 +0.730526 0.656 0.621895 0.596632 0.564421 0.525895 0.481067 0.441307 +0.411013 0.361787 0.314453 0.28416 0.3012 0.339067 0.365573 0.348533 +0.297413 0.28416 0.29552 0.282267 0.303093 0.322027 0.333387 0.418587 +0.537895 0.598526 0.623789 0.625684 0.605474 0.563789 0.521474 0.473493 +0.40912 0.378827 0.378827 0.376933 0.373147 0.35232 0.325813 0.308773 +0.299307 0.304987 0.333387 0.331493 0.337173 0.371253 0.37504 0.348533 +0.322027 0.308773 0.314453 0.325813 0.31824 0.308773 0.31256 0.320133 +0.34096 0.373147 0.359893 0.3296 0.316347 0.314453 0.320133 0.337173 +0.361787 0.40912 0.435627 0.411013 0.38072 0.382613 0.388293 0.393973 +0.4148 0.428053 0.441307 0.49432 0.580842 0.757053 0.915579 0.970526 +0.970526 0.984898 1.00416 1.01102 1.00841 1.00155 0.998286 1.00122 +1.00743 1.01069 1.01069 1.01037 1.01135 1.01429 1.01461 1.01494 +1.01363 1.01363 1.01429 1.01461 1.01167 1.01102 1.012 1.01331 +1.00873 0.998939 0.998939 1.00514 1.00514 0.997306 0.982612 0.964842 +0.954105 0.951579 0.952211 0.948421 0.945895 0.950316 0.973053 0.982612 +0.873895 0.654105 0.507579 0.407227 0.316347 0.00098 0.000826667 0.0008 +0.000793333 0.000773333 0.000773333 0.000786667 0.000746667 0.000746667 0.00076 0.000786667 +0.000786667 0.00078 0.000773333 0.000753333 0.000726667 0.000713333 0.00072 0.000726667 +0.000733333 0.000733333 0.00074 0.000746667 0.00072 0.00074 0.000726667 0.0007 +0.000693333 0.0007 0.000713333 0.00072 0.00072 0.000713333 0.00072 0.000733333 +0.000706667 0.000693333 0.000713333 0.00072 0.00072 0.000706667 0.0007 0.000686667 +0.0007 0.00072 0.00072 0.0007 0.000693333 0.000713333 0.000726667 0.000726667 +0.000726667 0.00072 0.00072 0.00074 0.00074 0.00074 0.00074 0.000726667 +0.000693333 0.000666667 0.000673333 0.000693333 0.00072 0.000726667 0.00074 0.000726667 +0.000733333 0.00074 0.00074 0.000746667 0.00076 0.000786667 0.00078 0.00078 +0.000806667 0.000833333 0.0009 0.265227 0.327707 0.274693 0.000926667 0.22168 +0.4148 0.637684 0.877684 0.988816 0.979368 0.951579 0.940842 0.948421 +0.954737 0.950947 0.964211 0.989796 1.0058 1.01494 1.01853 1.01918 +1.0182 1.01755 1.01722 1.01624 1.01722 1.01853 1.01951 1.02016 +1.0231 1.0342 1.05935 1.18629 1.2076 1.15434 1.07522 1.04531 +1.04302 1.06152 1.14369 1.04433 0.875789 0.647158 0.531579 0.473493 +0.44888 0.456453 0.452667 0.418587 0.376933 0.342853 0.337173 0.339067 +0.327707 0.35232 0.388293 0.416693 0.39208 0.358 0.356107 0.376933 +0.384507 0.36368 0.34096 0.344747 0.35232 0.3296 0.316347 0.31824 +0.322027 0.322027 0.3296 0.33528 0.339067 0.333387 0.339067 0.342853 +0.359893 0.399653 0.435627 0.42616 0.376933 0.34664 0.337173 0.325813 +0.316347 0.31824 0.316347 0.32392 0.333387 0.33528 0.35232 0.359893 +0.36936 0.38072 0.373147 0.367467 0.35232 0.333387 0.31824 0.310667 +0.30688 0.31256 0.320133 0.32392 0.322027 0.31824 0.327707 0.3296 +0.3296 0.316347 0.31824 0.32392 0.3296 0.344747 0.348533 0.354213 +0.350427 0.342853 0.342853 0.33528 0.34096 0.339067 0.331493 0.34096 +0.342853 0.350427 0.373147 0.37504 0.356107 0.337173 0.322027 0.325813 +0.36368 0.452667 0.486747 0.393973 0.331493 0.33528 0.348533 0.356107 +0.371253 0.38072 0.36936 0.361787 0.354213 0.33528 0.339067 0.348533 +0.358 0.38072 0.376933 0.344747 0.350427 0.36368 0.356107 0.354213 +0.358 0.373147 0.384507 0.384507 0.384507 0.407227 0.508842 0.628211 +0.824 0.974316 0.998939 1.00808 1.0182 1.02637 1.03355 1.03616 +1.03878 1.04204 1.04531 1.04661 1.04596 1.04465 1.04171 1.04171 +1.04498 1.044 1.044 1.044 1.04204 1.04139 1.04302 1.04335 +1.04171 1.03878 1.03943 1.04171 1.03976 1.04008 1.04139 1.03943 +1.0391 1.0378 1.03616 1.0378 1.0342 1.0342 1.03878 1.04041 +1.03943 1.03845 1.03845 1.03616 1.03649 1.03551 1.03616 1.03747 +1.03388 1.03518 1.03551 1.03322 1.03192 1.03224 1.0329 1.02898 +1.03029 1.03486 1.03584 1.03127 1.03159 1.03322 1.03061 1.02767 +1.02931 1.03127 1.03388 1.03649 1.03976 1.0391 1.04204 1.04204 +1.03943 1.04041 1.04302 1.04302 1.03976 1.03943 1.04106 1.04073 +1.04106 1.04073 1.04041 1.03943 1.03812 1.03845 1.03682 1.03649 +1.03584 1.03616 1.0342 1.03127 1.03159 1.03127 1.03159 1.02735 +1.02669 1.02963 1.028 1.02865 1.02963 1.02898 1.02996 1.03127 +1.03159 1.03355 1.03747 1.0391 1.03878 1.04073 1.04302 1.04204 +1.04237 1.04237 1.04237 1.04433 1.04204 1.03976 1.03878 1.03649 +1.03812 1.04106 1.0391 1.04041 1.04237 1.04237 1.04433 1.04498 +1.04335 1.04106 1.04008 1.04073 1.04008 1.03878 1.03943 1.04041 +1.0378 1.03649 1.03518 1.03257 1.01918 0.983918 0.879579 0.764632 +0.677474 0.628842 0.605474 0.580842 0.544842 0.501895 0.395867 0.35232 +0.359893 0.35232 0.325813 0.322027 0.34096 0.35232 0.36368 0.348533 +0.31256 0.297413 0.293627 0.276587 0.282267 0.29552 0.361787 0.517684 +0.604842 0.667368 0.685684 0.666105 0.612421 0.548 0.504421 0.43184 +0.361787 0.325813 0.31824 0.31824 0.314453 0.310667 0.303093 0.291733 +0.293627 0.308773 0.344747 0.342853 0.358 0.433733 0.496213 0.484853 +0.411013 0.34664 0.327707 0.322027 0.31256 0.3012 0.30688 0.322027 +0.344747 0.378827 0.36936 0.3296 0.322027 0.31824 0.310667 0.327707 +0.358 0.43184 0.479173 0.439413 0.390187 0.37504 0.37504 0.388293 +0.42616 0.445093 0.45456 0.486747 0.56 0.723579 0.894737 0.966105 +0.976211 0.992735 1.01396 1.01918 1.01429 1.0071 1.00155 1.00318 +1.00743 1.01004 1.01069 1.01069 1.01167 1.01396 1.01331 1.01233 +1.01233 1.01265 1.01298 1.01331 1.01037 1.00939 1.01102 1.01396 +1.01167 0.999592 0.995673 1.0022 1.0071 1.00416 0.991102 0.976211 +0.957895 0.951579 0.950947 0.949684 0.945895 0.949053 0.964842 0.984571 +0.934526 0.736842 0.544211 0.428053 0.358 0.251973 0.000866667 0.000806667 +0.0008 0.00078 0.00078 0.0008 0.000766667 0.000766667 0.00076 0.000773333 +0.00078 0.00076 0.00076 0.00076 0.00076 0.00074 0.00072 0.000726667 +0.00072 0.000706667 0.000713333 0.00072 0.000706667 0.00072 0.0007 0.0007 +0.000686667 0.000673333 0.000673333 0.000693333 0.0007 0.00068 0.000686667 0.000713333 +0.00072 0.000706667 0.00072 0.000733333 0.000733333 0.000713333 0.0007 0.000673333 +0.000673333 0.000706667 0.000713333 0.000686667 0.000673333 0.000686667 0.000686667 0.0007 +0.00072 0.00072 0.000713333 0.000713333 0.000726667 0.000713333 0.00072 0.000713333 +0.00072 0.000726667 0.000726667 0.000726667 0.000706667 0.00072 0.000713333 0.000686667 +0.000686667 0.0007 0.000726667 0.000753333 0.00078 0.00078 0.000766667 0.00078 +0.000806667 0.00084 0.219787 0.316347 0.325813 0.23872 0.000966667 0.286053 +0.517684 0.722316 0.937684 0.986857 0.964842 0.946526 0.942737 0.950316 +0.954105 0.954105 0.974316 0.995673 1.01004 1.01592 1.01886 1.01886 +1.01624 1.01527 1.01559 1.01657 1.01755 1.01853 1.02016 1.02049 +1.02669 1.04204 1.10869 1.23651 1.23042 1.14521 1.05608 1.04073 +1.04563 1.09348 1.14217 1.02571 0.823368 0.612421 0.521474 0.47728 +0.452667 0.445093 0.416693 0.376933 0.350427 0.32392 0.308773 0.308773 +0.316347 0.337173 0.344747 0.350427 0.333387 0.327707 0.337173 0.344747 +0.344747 0.333387 0.331493 0.354213 0.356107 0.3296 0.3296 0.33528 +0.333387 0.32392 0.34096 0.350427 0.342853 0.32392 0.316347 0.316347 +0.327707 0.354213 0.39208 0.40344 0.361787 0.333387 0.333387 0.325813 +0.320133 0.31824 0.31824 0.325813 0.322027 0.314453 0.327707 0.331493 +0.33528 0.354213 0.37504 0.39208 0.39776 0.373147 0.350427 0.33528 +0.325813 0.32392 0.320133 0.32392 0.327707 0.32392 0.32392 0.31824 +0.31256 0.30688 0.32392 0.331493 0.327707 0.327707 0.325813 0.327707 +0.333387 0.34096 0.342853 0.3296 0.33528 0.34664 0.35232 0.339067 +0.320133 0.316347 0.34096 0.371253 0.36368 0.333387 0.31256 0.320133 +0.36936 0.492427 0.509474 0.40912 0.337173 0.33528 0.348533 0.344747 +0.342853 0.348533 0.358 0.359893 0.35232 0.34664 0.356107 0.356107 +0.359893 0.384507 0.4148 0.39776 0.37504 0.367467 0.37504 0.393973 +0.40344 0.42616 0.43752 0.4148 0.395867 0.393973 0.441307 0.558105 +0.746316 0.937053 0.993388 1.00416 1.01494 1.02212 1.02963 1.03453 +1.03714 1.04139 1.04629 1.04792 1.04629 1.04237 1.04139 1.04106 +1.04237 1.04367 1.04302 1.04237 1.04302 1.04204 1.04041 1.04237 +1.04237 1.03812 1.03812 1.04204 1.04041 1.03747 1.04008 1.0378 +1.03747 1.03845 1.03747 1.04139 1.04008 1.03682 1.04073 1.04106 +1.0391 1.03878 1.04008 1.03747 1.03714 1.03551 1.03355 1.03682 +1.03355 1.0342 1.03453 1.03061 1.03029 1.03159 1.03518 1.03257 +1.03061 1.03584 1.03616 1.03224 1.0329 1.03453 1.03192 1.03127 +1.03486 1.03388 1.03551 1.03682 1.03812 1.03845 1.04237 1.04302 +1.03976 1.04204 1.04269 1.04008 1.0378 1.04106 1.04269 1.03878 +1.0391 1.04269 1.04335 1.04139 1.03976 1.03976 1.03845 1.03845 +1.03747 1.0378 1.0342 1.03224 1.03257 1.03224 1.03127 1.02702 +1.02865 1.02833 1.02669 1.02767 1.02539 1.02539 1.02931 1.03388 +1.03518 1.03584 1.03714 1.03649 1.03943 1.04073 1.04139 1.04563 +1.04563 1.04204 1.04269 1.04433 1.04335 1.04139 1.03943 1.0378 +1.0391 1.04171 1.04302 1.04171 1.04073 1.04139 1.04269 1.04433 +1.04106 1.03943 1.04008 1.03747 1.03616 1.03714 1.0378 1.03747 +1.03584 1.03453 1.03127 1.02408 0.998939 0.916842 0.796842 0.696421 +0.638947 0.611789 0.595368 0.572 0.529684 0.46024 0.388293 0.342853 +0.320133 0.31256 0.320133 0.339067 0.356107 0.34096 0.34664 0.348533 +0.31824 0.297413 0.29552 0.286053 0.286053 0.342853 0.505053 0.603579 +0.692 0.736842 0.732421 0.674316 0.592211 0.527789 0.458347 0.36368 +0.30688 0.29552 0.286053 0.274693 0.280373 0.291733 0.297413 0.293627 +0.297413 0.31256 0.34096 0.333387 0.350427 0.469707 0.542947 0.562526 +0.534105 0.46592 0.38072 0.339067 0.314453 0.308773 0.31824 0.34096 +0.354213 0.38072 0.38072 0.356107 0.34096 0.31256 0.3012 0.327707 +0.390187 0.486747 0.510105 0.469707 0.393973 0.365573 0.373147 0.399653 +0.441307 0.446987 0.4432 0.462133 0.540421 0.698947 0.880842 0.961684 +0.98098 1.00188 1.02506 1.02931 1.02571 1.01886 1.01102 1.00743 +1.00678 1.00841 1.01037 1.01037 1.01037 1.01298 1.01298 1.01167 +1.01265 1.01363 1.01461 1.01298 1.01135 1.01037 1.01265 1.01657 +1.01624 1.00384 0.994694 1.00024 1.0071 1.0071 0.998286 0.984245 +0.965474 0.954105 0.954105 0.953474 0.945263 0.944632 0.954737 0.98098 +0.977474 0.829053 0.607368 0.473493 0.3864 0.297413 0.000953333 0.000833333 +0.0008 0.000793333 0.0008 0.0008 0.00078 0.00076 0.00074 0.00074 +0.00076 0.000753333 0.000746667 0.000746667 0.00074 0.000706667 0.00068 0.000706667 +0.00072 0.00074 0.00074 0.00074 0.00072 0.00072 0.0007 0.0007 +0.000706667 0.0007 0.000686667 0.000706667 0.000713333 0.000706667 0.000713333 0.00072 +0.000713333 0.000713333 0.000706667 0.000713333 0.0007 0.000686667 0.0007 0.0007 +0.0007 0.00072 0.00072 0.000713333 0.000706667 0.000686667 0.000673333 0.000686667 +0.000686667 0.000693333 0.000686667 0.000686667 0.000706667 0.000706667 0.00068 0.00068 +0.0007 0.000713333 0.0007 0.000706667 0.0007 0.00072 0.000706667 0.000693333 +0.000713333 0.000693333 0.000713333 0.00074 0.000766667 0.000773333 0.00078 0.000813333 +0.000846667 0.0009 0.26144 0.34096 0.286053 0.00098 0.234933 0.365573 +0.580842 0.811368 0.974947 0.980653 0.949053 0.936421 0.940211 0.949684 +0.952842 0.961053 0.982612 1.0009 1.01233 1.01624 1.0182 1.01755 +1.01624 1.01559 1.01559 1.01559 1.01592 1.01788 1.01984 1.01984 +1.02767 1.04694 1.14217 1.26542 1.25781 1.14065 1.04857 1.03551 +1.04661 1.11934 1.12086 1.00253 0.774737 0.589053 0.515789 0.469707 +0.433733 0.407227 0.37504 0.356107 0.348533 0.33528 0.331493 0.348533 +0.350427 0.327707 0.308773 0.30688 0.304987 0.314453 0.32392 0.3296 +0.3296 0.327707 0.331493 0.35232 0.34096 0.322027 0.325813 0.325813 +0.3296 0.331493 0.339067 0.342853 0.337173 0.314453 0.31824 0.320133 +0.325813 0.322027 0.331493 0.34664 0.325813 0.304987 0.308773 0.304987 +0.31256 0.314453 0.331493 0.339067 0.322027 0.308773 0.310667 0.316347 +0.314453 0.3296 0.344747 0.361787 0.36936 0.367467 0.36368 0.361787 +0.35232 0.33528 0.320133 0.31824 0.322027 0.322027 0.327707 0.333387 +0.325813 0.325813 0.331493 0.32392 0.316347 0.316347 0.308773 0.314453 +0.320133 0.322027 0.322027 0.325813 0.337173 0.333387 0.333387 0.325813 +0.310667 0.30688 0.344747 0.399653 0.384507 0.348533 0.327707 0.325813 +0.367467 0.501895 0.517053 0.4148 0.337173 0.333387 0.33528 0.333387 +0.34096 0.348533 0.358 0.361787 0.359893 0.356107 0.354213 0.36368 +0.373147 0.384507 0.399653 0.395867 0.390187 0.39776 0.429947 0.452667 +0.456453 0.503158 0.512 0.475387 0.418587 0.40344 0.416693 0.513895 +0.666105 0.880842 0.987184 1.00286 1.01233 1.01853 1.02571 1.03322 +1.03649 1.04041 1.04563 1.04629 1.04563 1.04433 1.04367 1.04106 +1.04073 1.04269 1.04335 1.04204 1.04367 1.04302 1.03976 1.04237 +1.04269 1.04008 1.04106 1.04367 1.0391 1.03551 1.03943 1.03747 +1.03714 1.0391 1.0391 1.04335 1.044 1.03878 1.04041 1.04204 +1.04008 1.0391 1.04041 1.03845 1.03943 1.0391 1.03616 1.03845 +1.03682 1.03649 1.03616 1.03127 1.03061 1.03224 1.03616 1.0329 +1.03061 1.03388 1.03616 1.03486 1.0342 1.03355 1.03061 1.03388 +1.03747 1.03388 1.03584 1.03649 1.03812 1.03976 1.04008 1.03878 +1.03812 1.03976 1.03878 1.0378 1.03714 1.04171 1.04302 1.0391 +1.03845 1.03976 1.04139 1.04106 1.0378 1.03747 1.03812 1.0378 +1.03649 1.03714 1.03486 1.03388 1.03453 1.03355 1.03061 1.02833 +1.02996 1.02931 1.028 1.02996 1.02898 1.03029 1.0342 1.0391 +1.03682 1.03616 1.03682 1.03812 1.04139 1.03976 1.03976 1.04465 +1.04498 1.04335 1.044 1.04367 1.04367 1.04171 1.03845 1.04041 +1.04171 1.04171 1.04302 1.04073 1.04106 1.04073 1.04171 1.04171 +1.0378 1.03812 1.03976 1.03649 1.0342 1.03649 1.03551 1.03355 +1.03453 1.03322 1.02604 1.00678 0.949053 0.826526 0.715368 0.649684 +0.62 0.603579 0.592842 0.568842 0.523368 0.456453 0.412907 0.35232 +0.28416 0.27848 0.322027 0.354213 0.354213 0.339067 0.344747 0.348533 +0.32392 0.3012 0.30688 0.31824 0.354213 0.49432 0.587158 0.688211 +0.752 0.764632 0.727368 0.644 0.56 0.503158 0.3864 0.303093 +0.276587 0.287947 0.286053 0.280373 0.282267 0.291733 0.304987 0.320133 +0.316347 0.310667 0.32392 0.320133 0.322027 0.43752 0.554316 0.618737 +0.617474 0.560632 0.48864 0.365573 0.31824 0.314453 0.342853 0.373147 +0.38072 0.399653 0.40912 0.411013 0.405333 0.350427 0.322027 0.39208 +0.506947 0.534105 0.528421 0.498107 0.424267 0.395867 0.405333 0.42048 +0.424267 0.407227 0.412907 0.446987 0.530316 0.677474 0.861263 0.954105 +0.986531 1.0182 1.04041 1.04041 1.0378 1.0329 1.02441 1.01624 +1.01135 1.00906 1.00971 1.00939 1.00939 1.012 1.01396 1.01331 +1.01396 1.01429 1.01396 1.01233 1.01265 1.01069 1.01135 1.01494 +1.0182 1.00841 0.996653 0.998286 1.00416 1.00776 1.00482 0.993061 +0.978105 0.959158 0.954737 0.954105 0.944632 0.942105 0.950316 0.974947 +0.98751 0.902947 0.683789 0.519579 0.4148 0.34664 0.2444 0.000886667 +0.00082 0.000813333 0.000793333 0.000773333 0.00076 0.00076 0.000773333 0.00078 +0.000766667 0.00074 0.000706667 0.0007 0.000706667 0.0007 0.000713333 0.00074 +0.000753333 0.00074 0.000713333 0.00072 0.000733333 0.000726667 0.00072 0.000713333 +0.000726667 0.000713333 0.000713333 0.000726667 0.000726667 0.00072 0.000726667 0.000726667 +0.000713333 0.00072 0.000713333 0.000686667 0.000693333 0.000686667 0.000686667 0.000693333 +0.000693333 0.000706667 0.000726667 0.00074 0.000726667 0.000713333 0.0007 0.000693333 +0.000686667 0.000686667 0.000673333 0.000673333 0.000673333 0.000713333 0.000706667 0.000706667 +0.000713333 0.0007 0.00068 0.000686667 0.000706667 0.000726667 0.000713333 0.000713333 +0.00076 0.000766667 0.000766667 0.000766667 0.000773333 0.000766667 0.000773333 0.000806667 +0.000846667 0.000973333 0.299307 0.331493 0.2444 0.000926667 0.265227 0.462133 +0.657895 0.890947 0.986857 0.971789 0.944 0.939579 0.945895 0.950316 +0.950947 0.963579 0.985224 1.00318 1.01331 1.01886 1.01951 1.01722 +1.0169 1.01657 1.01657 1.01559 1.01527 1.01755 1.02049 1.02343 +1.03257 1.0551 1.17412 1.2639 1.24716 1.11173 1.04139 1.03224 +1.04792 1.12999 1.08282 0.979368 0.734316 0.568842 0.503158 0.4432 +0.42048 0.405333 0.38072 0.36936 0.376933 0.373147 0.376933 0.3864 +0.359893 0.31824 0.3012 0.31256 0.327707 0.337173 0.33528 0.337173 +0.337173 0.339067 0.34096 0.342853 0.3296 0.320133 0.316347 0.316347 +0.32392 0.32392 0.32392 0.333387 0.327707 0.310667 0.31824 0.331493 +0.322027 0.308773 0.304987 0.320133 0.327707 0.314453 0.303093 0.3012 +0.31256 0.31824 0.331493 0.337173 0.3296 0.31824 0.31824 0.320133 +0.310667 0.310667 0.310667 0.322027 0.331493 0.344747 0.348533 0.348533 +0.348533 0.348533 0.342853 0.33528 0.3296 0.3296 0.354213 0.36936 +0.350427 0.3296 0.322027 0.30688 0.310667 0.31824 0.30688 0.3012 +0.30688 0.314453 0.310667 0.320133 0.31824 0.304987 0.291733 0.297413 +0.3012 0.304987 0.36368 0.473493 0.450773 0.367467 0.333387 0.31824 +0.350427 0.498107 0.515158 0.39776 0.327707 0.325813 0.333387 0.344747 +0.359893 0.367467 0.358 0.34664 0.354213 0.359893 0.359893 0.361787 +0.36936 0.37504 0.376933 0.388293 0.40344 0.418587 0.433733 0.435627 +0.452667 0.524632 0.553684 0.523368 0.481067 0.452667 0.4432 0.500632 +0.614316 0.827158 0.974316 0.997306 1.00612 1.01363 1.01918 1.02767 +1.03453 1.04008 1.04433 1.04465 1.04498 1.04498 1.04498 1.04204 +1.04073 1.04269 1.04335 1.04237 1.04367 1.044 1.04269 1.044 +1.04335 1.04204 1.04204 1.04302 1.03943 1.03649 1.03747 1.03616 +1.03943 1.04106 1.03878 1.04008 1.04237 1.04073 1.04139 1.04269 +1.04106 1.04171 1.04204 1.03812 1.03943 1.0391 1.03682 1.03682 +1.03649 1.03649 1.03649 1.03224 1.03192 1.03453 1.03845 1.0329 +1.03029 1.0329 1.03682 1.03551 1.03322 1.03224 1.03224 1.03616 +1.04073 1.03551 1.0342 1.03453 1.0378 1.04041 1.0391 1.0378 +1.03812 1.03845 1.03812 1.03943 1.03845 1.0378 1.03878 1.04008 +1.0391 1.0378 1.0378 1.03878 1.03714 1.03845 1.03747 1.0378 +1.03714 1.03486 1.03486 1.03355 1.0342 1.03257 1.03094 1.03094 +1.03192 1.03192 1.02898 1.02996 1.03224 1.03388 1.03584 1.0391 +1.03649 1.03682 1.03878 1.04139 1.04367 1.04073 1.04204 1.04335 +1.04073 1.04041 1.04204 1.04367 1.04237 1.03943 1.03812 1.04171 +1.04302 1.04171 1.04171 1.0391 1.04041 1.04237 1.04269 1.0378 +1.03584 1.03878 1.03943 1.03584 1.03486 1.03551 1.03355 1.03127 +1.03127 1.02865 1.01527 0.976842 0.865684 0.745684 0.662947 0.629474 +0.62 0.614316 0.597895 0.56 0.514526 0.46024 0.40912 0.331493 +0.276587 0.291733 0.339067 0.365573 0.35232 0.337173 0.337173 0.33528 +0.314453 0.303093 0.339067 0.395867 0.492427 0.558105 0.640211 0.714737 +0.752 0.734316 0.666737 0.583368 0.520842 0.439413 0.34096 0.28416 +0.276587 0.287947 0.291733 0.297413 0.31824 0.33528 0.34664 0.34096 +0.325813 0.31824 0.322027 0.314453 0.30688 0.36936 0.525895 0.616842 +0.668632 0.642105 0.558105 0.433733 0.320133 0.30688 0.33528 0.359893 +0.365573 0.37504 0.40344 0.46024 0.503158 0.458347 0.435627 0.516421 +0.560632 0.562526 0.530947 0.500632 0.452667 0.441307 0.452667 0.456453 +0.428053 0.39208 0.401547 0.43184 0.517684 0.651579 0.839158 0.951579 +0.99698 1.03616 1.05282 1.04629 1.04596 1.04629 1.03845 1.02539 +1.01494 1.00971 1.01004 1.01037 1.01102 1.012 1.01331 1.01396 +1.01461 1.01461 1.01331 1.01298 1.01363 1.01069 1.01069 1.01298 +1.01755 1.01331 1.00286 0.999918 1.00286 1.00841 1.00971 1.00024 +0.984571 0.964211 0.955368 0.953474 0.947789 0.942737 0.947158 0.962316 +0.984898 0.954105 0.768421 0.565053 0.439413 0.38072 0.287947 0.000926667 +0.000793333 0.000786667 0.000786667 0.00078 0.000773333 0.000793333 0.000793333 0.000773333 +0.000766667 0.000746667 0.000733333 0.00076 0.000753333 0.000726667 0.000733333 0.000726667 +0.00072 0.0007 0.000693333 0.0007 0.0007 0.000706667 0.00072 0.000726667 +0.000726667 0.00072 0.00074 0.00074 0.000733333 0.000726667 0.000713333 0.000693333 +0.000693333 0.000706667 0.000713333 0.0007 0.000713333 0.000713333 0.0007 0.0007 +0.000693333 0.000673333 0.00068 0.000706667 0.000713333 0.00072 0.000713333 0.000706667 +0.000713333 0.0007 0.0007 0.000686667 0.000666667 0.000693333 0.0007 0.000686667 +0.0007 0.00072 0.000706667 0.0007 0.00072 0.000746667 0.000753333 0.000766667 +0.000773333 0.000793333 0.000793333 0.000773333 0.00078 0.00078 0.00078 0.000793333 +0.000866667 0.234933 0.310667 0.282267 0.00096 0.216 0.314453 0.534105 +0.747579 0.951579 0.987837 0.961053 0.943368 0.945263 0.950947 0.954737 +0.955368 0.968 0.988816 1.00449 1.012 1.01788 1.01984 1.01853 +1.01951 1.01853 1.01853 1.01788 1.0182 1.01951 1.02049 1.02473 +1.03878 1.09652 1.22586 1.26237 1.20912 1.05967 1.03322 1.02963 +1.04857 1.13152 1.05543 0.937684 0.698316 0.551158 0.490533 0.445093 +0.433733 0.42616 0.412907 0.40912 0.40344 0.36936 0.354213 0.35232 +0.34096 0.33528 0.33528 0.337173 0.350427 0.35232 0.348533 0.34664 +0.34664 0.344747 0.339067 0.337173 0.3296 0.3296 0.331493 0.331493 +0.327707 0.314453 0.32392 0.342853 0.34096 0.337173 0.339067 0.33528 +0.314453 0.30688 0.310667 0.3296 0.339067 0.325813 0.29552 0.3012 +0.31256 0.308773 0.304987 0.31824 0.325813 0.32392 0.316347 0.31256 +0.31256 0.308773 0.30688 0.31824 0.32392 0.327707 0.333387 0.337173 +0.333387 0.339067 0.344747 0.339067 0.327707 0.327707 0.350427 0.36368 +0.348533 0.32392 0.310667 0.304987 0.308773 0.30688 0.293627 0.27848 +0.282267 0.293627 0.30688 0.314453 0.316347 0.30688 0.28416 0.287947 +0.3012 0.320133 0.393973 0.517684 0.517684 0.399653 0.322027 0.299307 +0.337173 0.501895 0.520211 0.405333 0.331493 0.320133 0.320133 0.3296 +0.337173 0.34664 0.342853 0.320133 0.331493 0.358 0.365573 0.354213 +0.354213 0.373147 0.376933 0.39208 0.405333 0.401547 0.395867 0.40912 +0.45456 0.540421 0.600421 0.570105 0.514526 0.473493 0.469707 0.507579 +0.592842 0.779158 0.949053 0.994694 1.00024 1.00351 1.00776 1.01788 +1.02931 1.03714 1.04171 1.04465 1.04498 1.04367 1.04367 1.04073 +1.03976 1.04237 1.04269 1.04335 1.04269 1.044 1.04367 1.04335 +1.04335 1.04204 1.04008 1.03976 1.0391 1.03649 1.03551 1.03682 +1.03878 1.04008 1.0391 1.0391 1.04139 1.04204 1.04171 1.04269 +1.04204 1.04335 1.04204 1.03649 1.03976 1.04106 1.04073 1.03714 +1.03551 1.03551 1.03551 1.0342 1.0329 1.03388 1.03682 1.03224 +1.03192 1.03453 1.03649 1.03584 1.03388 1.03616 1.0378 1.03518 +1.0391 1.03682 1.03453 1.03486 1.03682 1.03976 1.03943 1.03747 +1.0391 1.04008 1.0391 1.03976 1.04041 1.03878 1.03845 1.03845 +1.03747 1.0378 1.03878 1.03616 1.03551 1.03943 1.03878 1.03976 +1.03747 1.03453 1.03649 1.03388 1.03257 1.03029 1.03159 1.03257 +1.03322 1.03159 1.02963 1.03029 1.03094 1.0342 1.03616 1.03845 +1.03714 1.03812 1.03976 1.04171 1.04433 1.04302 1.04204 1.04106 +1.03714 1.03714 1.03976 1.04073 1.03878 1.03976 1.04008 1.04204 +1.04302 1.04171 1.04106 1.04106 1.04041 1.04171 1.04204 1.03845 +1.03812 1.03878 1.03747 1.03518 1.0342 1.03388 1.03355 1.03159 +1.028 1.01918 0.993061 0.907368 0.786105 0.688842 0.640211 0.627579 +0.626947 0.616842 0.586526 0.538526 0.5 0.446987 0.39208 0.320133 +0.29552 0.31824 0.344747 0.359893 0.361787 0.37504 0.378827 0.344747 +0.30688 0.322027 0.411013 0.498107 0.532211 0.585895 0.643368 0.681263 +0.685684 0.646526 0.587789 0.532842 0.467813 0.384507 0.33528 0.304987 +0.303093 0.308773 0.304987 0.310667 0.36936 0.411013 0.38072 0.33528 +0.310667 0.308773 0.30688 0.303093 0.29552 0.31256 0.43184 0.558105 +0.646526 0.678105 0.619368 0.523368 0.38072 0.322027 0.31824 0.31824 +0.316347 0.320133 0.358 0.43752 0.505053 0.512632 0.533474 0.572 +0.582737 0.546105 0.49432 0.428053 0.429947 0.45456 0.4716 0.46592 +0.422373 0.390187 0.40344 0.43752 0.512632 0.628842 0.813895 0.947158 +1.00743 1.0551 1.06913 1.04824 1.05118 1.0551 1.04955 1.03453 +1.01853 1.01135 1.01037 1.01102 1.01265 1.01265 1.012 1.01298 +1.01494 1.01429 1.01265 1.01265 1.01461 1.01233 1.01233 1.01363 +1.01559 1.01559 1.01167 1.00645 1.00351 1.00612 1.01037 1.00482 +0.990449 0.971789 0.959789 0.956 0.949053 0.940842 0.940211 0.950316 +0.979368 0.983265 0.854947 0.629474 0.479173 0.3864 0.320133 0.223573 +0.00084 0.000806667 0.000813333 0.000793333 0.000786667 0.000786667 0.000773333 0.00078 +0.000773333 0.000753333 0.00076 0.000786667 0.00076 0.000746667 0.000746667 0.00072 +0.000713333 0.000706667 0.0007 0.000693333 0.000693333 0.00068 0.00068 0.000693333 +0.000686667 0.000693333 0.00072 0.00072 0.00072 0.000726667 0.000726667 0.000706667 +0.000693333 0.000693333 0.000713333 0.000713333 0.000713333 0.0007 0.0007 0.00072 +0.000746667 0.000706667 0.00068 0.000686667 0.000686667 0.000686667 0.000686667 0.000706667 +0.000733333 0.000746667 0.000746667 0.000733333 0.00072 0.00072 0.000713333 0.000693333 +0.000706667 0.00074 0.00072 0.000713333 0.000733333 0.000746667 0.000753333 0.000753333 +0.000753333 0.00076 0.000766667 0.000746667 0.00076 0.00078 0.000806667 0.00084 +0.000953333 0.2728 0.304987 0.23304 0.000873333 0.231147 0.373147 0.590947 +0.830316 0.982612 0.982286 0.951579 0.942105 0.947789 0.952842 0.957895 +0.962316 0.977474 0.996 1.00873 1.01494 1.01788 1.01755 1.0182 +1.01984 1.01918 1.01853 1.01788 1.01984 1.0218 1.02278 1.028 +1.04531 1.15282 1.27303 1.27455 1.17869 1.04857 1.02408 1.028 +1.05151 1.1163 1.03878 0.885895 0.662316 0.537895 0.490533 0.464027 +0.4432 0.416693 0.401547 0.39776 0.37504 0.3296 0.320133 0.3296 +0.337173 0.348533 0.356107 0.35232 0.348533 0.348533 0.344747 0.34096 +0.339067 0.333387 0.325813 0.327707 0.3296 0.339067 0.350427 0.34664 +0.3296 0.31824 0.331493 0.348533 0.344747 0.356107 0.350427 0.320133 +0.308773 0.31256 0.316347 0.32392 0.31824 0.30688 0.29552 0.308773 +0.314453 0.3012 0.29552 0.314453 0.34096 0.333387 0.31824 0.308773 +0.310667 0.310667 0.316347 0.32392 0.3296 0.32392 0.31256 0.314453 +0.325813 0.339067 0.337173 0.322027 0.316347 0.310667 0.304987 0.316347 +0.331493 0.325813 0.308773 0.303093 0.31256 0.303093 0.280373 0.27848 +0.270907 0.274693 0.297413 0.304987 0.30688 0.310667 0.320133 0.325813 +0.34096 0.378827 0.433733 0.515789 0.526526 0.43752 0.314453 0.27848 +0.33528 0.513895 0.537895 0.433733 0.337173 0.314453 0.303093 0.303093 +0.31256 0.3296 0.339067 0.31824 0.320133 0.350427 0.361787 0.34664 +0.344747 0.359893 0.36936 0.384507 0.388293 0.373147 0.371253 0.407227 +0.462133 0.545474 0.634526 0.620632 0.536632 0.479173 0.464027 0.503158 +0.562526 0.719158 0.914947 0.994367 0.99698 0.997306 1.00057 1.00776 +1.01984 1.02963 1.03682 1.04106 1.04204 1.04302 1.04269 1.04106 +1.04041 1.04106 1.04204 1.04302 1.04269 1.04171 1.04139 1.04106 +1.04302 1.04073 1.0391 1.03976 1.03943 1.0378 1.0378 1.04041 +1.04073 1.04073 1.04237 1.04269 1.04269 1.04139 1.04106 1.04433 +1.04367 1.04302 1.04433 1.04041 1.04171 1.04171 1.04335 1.03943 +1.03649 1.03682 1.03649 1.03616 1.0342 1.03355 1.03649 1.03518 +1.03551 1.03584 1.03616 1.03682 1.03584 1.03682 1.0378 1.0329 +1.03649 1.03747 1.03616 1.03682 1.03812 1.0391 1.03878 1.0378 +1.0378 1.03878 1.03878 1.03812 1.03943 1.04073 1.04008 1.0391 +1.03878 1.0391 1.0391 1.03616 1.0342 1.03878 1.03976 1.03976 +1.03518 1.03486 1.03845 1.03551 1.03322 1.03388 1.03322 1.03127 +1.03159 1.03061 1.03061 1.0329 1.03355 1.03682 1.03845 1.03747 +1.03453 1.0391 1.04367 1.04335 1.04465 1.04433 1.04171 1.04171 +1.03747 1.0378 1.04073 1.0378 1.03747 1.04073 1.04106 1.04335 +1.044 1.04073 1.03976 1.04139 1.04139 1.03943 1.03812 1.0391 +1.03976 1.03747 1.03649 1.03682 1.03388 1.0329 1.03355 1.03127 +1.0231 1.00416 0.950316 0.836 0.721053 0.652211 0.630737 0.625684 +0.616211 0.590947 0.559368 0.524632 0.475387 0.416693 0.378827 0.342853 +0.314453 0.320133 0.339067 0.337173 0.376933 0.441307 0.422373 0.35232 +0.331493 0.39208 0.479173 0.505684 0.522737 0.561263 0.592842 0.596 +0.575158 0.549263 0.530947 0.504421 0.407227 0.359893 0.333387 0.316347 +0.316347 0.316347 0.320133 0.348533 0.422373 0.424267 0.361787 0.320133 +0.299307 0.293627 0.291733 0.28984 0.293627 0.29552 0.327707 0.46592 +0.569474 0.641474 0.635789 0.561895 0.473493 0.361787 0.31824 0.308773 +0.308773 0.304987 0.32392 0.36368 0.441307 0.524632 0.567579 0.573895 +0.541053 0.479173 0.382613 0.358 0.384507 0.4148 0.422373 0.428053 +0.40912 0.3864 0.40912 0.450773 0.510105 0.606737 0.788 0.940211 +1.02049 1.12086 1.08587 1.04661 1.0538 1.06456 1.06913 1.04792 +1.02506 1.01331 1.01004 1.00971 1.01233 1.01298 1.012 1.01363 +1.01624 1.01657 1.01396 1.01167 1.01331 1.01396 1.01331 1.01461 +1.01657 1.0169 1.01559 1.01233 1.00547 1.00351 1.01004 1.00873 +0.99698 0.981633 0.965474 0.956632 0.949053 0.945263 0.944632 0.950947 +0.973684 0.990122 0.924421 0.705895 0.521474 0.393973 0.359893 0.2728 +0.000906667 0.0008 0.000773333 0.000766667 0.000793333 0.000793333 0.000766667 0.000786667 +0.000773333 0.000746667 0.000753333 0.00076 0.000746667 0.00076 0.000773333 0.000766667 +0.000753333 0.00074 0.000733333 0.000713333 0.000713333 0.0007 0.000706667 0.000706667 +0.0007 0.0007 0.000693333 0.000693333 0.0007 0.000706667 0.000726667 0.000733333 +0.000713333 0.000713333 0.000726667 0.000733333 0.00074 0.00074 0.000726667 0.000733333 +0.00074 0.00072 0.000693333 0.000693333 0.000706667 0.000713333 0.0007 0.0007 +0.000693333 0.00072 0.000713333 0.0007 0.000726667 0.000733333 0.00074 0.00074 +0.000713333 0.0007 0.000693333 0.000713333 0.000726667 0.000713333 0.00072 0.000733333 +0.000753333 0.000746667 0.00076 0.000773333 0.000753333 0.00074 0.000773333 0.000846667 +0.231147 0.308773 0.286053 0.000926667 0.0009 0.2728 0.469707 0.667368 +0.901684 0.986204 0.966737 0.945263 0.945263 0.953474 0.959158 0.962947 +0.966105 0.981633 0.999265 1.01233 1.0182 1.01788 1.01657 1.0169 +1.01722 1.01788 1.01788 1.01755 1.01853 1.01951 1.02245 1.02996 +1.0538 1.20455 1.31107 1.28063 1.14065 1.03747 1.0169 1.02931 +1.05837 1.10413 1.01559 0.828421 0.628211 0.525895 0.475387 0.44888 +0.42048 0.401547 0.388293 0.376933 0.348533 0.32392 0.325813 0.331493 +0.339067 0.34096 0.350427 0.350427 0.344747 0.348533 0.339067 0.337173 +0.34096 0.344747 0.34096 0.348533 0.34664 0.33528 0.342853 0.34096 +0.325813 0.337173 0.367467 0.356107 0.3296 0.348533 0.358 0.327707 +0.320133 0.33528 0.337173 0.325813 0.31256 0.28984 0.286053 0.304987 +0.299307 0.28416 0.299307 0.33528 0.373147 0.350427 0.31824 0.31824 +0.3012 0.303093 0.327707 0.337173 0.337173 0.333387 0.31824 0.30688 +0.31824 0.33528 0.333387 0.308773 0.308773 0.303093 0.297413 0.316347 +0.33528 0.3296 0.32392 0.320133 0.322027 0.310667 0.280373 0.28416 +0.27848 0.270907 0.270907 0.280373 0.29552 0.339067 0.373147 0.359893 +0.38072 0.416693 0.39208 0.405333 0.473493 0.429947 0.32392 0.27848 +0.344747 0.536 0.572 0.473493 0.32392 0.29552 0.28416 0.291733 +0.316347 0.337173 0.342853 0.31824 0.308773 0.339067 0.348533 0.337173 +0.342853 0.356107 0.365573 0.38072 0.371253 0.36368 0.371253 0.401547 +0.464027 0.544211 0.651579 0.671158 0.578947 0.503789 0.4432 0.46592 +0.524 0.643368 0.838526 0.966105 0.987184 0.990449 0.993388 0.999592 +1.01004 1.02082 1.03094 1.03649 1.03976 1.04367 1.04139 1.04008 +1.04041 1.04106 1.04139 1.04237 1.04367 1.04139 1.04106 1.04073 +1.04106 1.04073 1.04008 1.04073 1.03714 1.03714 1.04008 1.04106 +1.04073 1.04269 1.04498 1.04433 1.04269 1.04073 1.03976 1.04335 +1.04335 1.04204 1.04531 1.04302 1.04237 1.04008 1.04171 1.04008 +1.03649 1.03551 1.03584 1.03682 1.0342 1.0329 1.03845 1.0391 +1.03943 1.03551 1.03388 1.03649 1.03584 1.03682 1.0391 1.03453 +1.03682 1.03878 1.03714 1.03747 1.03878 1.03812 1.0378 1.04041 +1.0378 1.03551 1.03878 1.0378 1.0378 1.03812 1.0391 1.04106 +1.04139 1.04041 1.03976 1.03812 1.03714 1.0378 1.03943 1.0391 +1.03518 1.03714 1.04041 1.03616 1.03551 1.03682 1.03257 1.03061 +1.03127 1.03094 1.03257 1.03224 1.03224 1.03453 1.0378 1.03682 +1.03518 1.04171 1.04596 1.04367 1.04302 1.04171 1.03976 1.04008 +1.03682 1.03845 1.04008 1.03747 1.04041 1.04237 1.04171 1.04237 +1.04139 1.04073 1.04139 1.04106 1.04041 1.03845 1.03649 1.0378 +1.03812 1.03616 1.03584 1.03551 1.0329 1.03192 1.02898 1.02376 +1.012 0.981959 0.879579 0.761474 0.674316 0.632 0.621263 0.613053 +0.596632 0.568211 0.536 0.5 0.40344 0.367467 0.361787 0.339067 +0.320133 0.32392 0.327707 0.344747 0.446987 0.505053 0.428053 0.358 +0.388293 0.45456 0.469707 0.43184 0.445093 0.501895 0.510105 0.505684 +0.496213 0.481067 0.469707 0.446987 0.401547 0.373147 0.34096 0.32392 +0.31824 0.31256 0.320133 0.359893 0.40912 0.378827 0.327707 0.304987 +0.291733 0.287947 0.287947 0.28416 0.276587 0.276587 0.28416 0.337173 +0.47728 0.560632 0.590947 0.551158 0.503789 0.418587 0.36368 0.339067 +0.325813 0.31256 0.30688 0.322027 0.39776 0.517684 0.553053 0.532842 +0.469707 0.373147 0.339067 0.337173 0.348533 0.36368 0.378827 0.407227 +0.418587 0.39776 0.399653 0.433733 0.502526 0.590947 0.768421 0.938316 +1.03322 1.18021 1.08435 1.04106 1.05184 1.08587 1.12239 1.06152 +1.03192 1.01559 1.01037 1.00906 1.01004 1.01102 1.01102 1.01429 +1.01592 1.01527 1.01461 1.01331 1.01527 1.01657 1.01429 1.01559 +1.01722 1.01722 1.01559 1.01527 1.00873 1.00416 1.01037 1.00971 +0.999265 0.985224 0.971158 0.960421 0.954105 0.951579 0.947158 0.946526 +0.961053 0.986857 0.968632 0.793053 0.575158 0.422373 0.37504 0.308773 +0.000973333 0.000826667 0.0008 0.0008 0.00082 0.00078 0.000753333 0.000766667 +0.000753333 0.000766667 0.000786667 0.00076 0.000753333 0.000773333 0.000766667 0.00074 +0.000733333 0.000733333 0.000726667 0.000713333 0.000713333 0.000693333 0.000693333 0.0007 +0.000713333 0.000726667 0.00072 0.0007 0.000693333 0.000686667 0.0007 0.000693333 +0.000706667 0.00072 0.000726667 0.0007 0.000706667 0.000713333 0.00072 0.00072 +0.000713333 0.000713333 0.000706667 0.000686667 0.0007 0.000726667 0.000706667 0.0007 +0.00068 0.00068 0.000706667 0.00072 0.0007 0.000706667 0.00072 0.00074 +0.000706667 0.000693333 0.000706667 0.000706667 0.0007 0.0007 0.00072 0.000726667 +0.000733333 0.000746667 0.000773333 0.000773333 0.000733333 0.000753333 0.000773333 0.00086 +0.26144 0.320133 0.253867 0.000886667 0.000993333 0.32392 0.541053 0.759579 +0.959158 0.983918 0.954105 0.940211 0.942105 0.951579 0.956632 0.959158 +0.967368 0.983918 1.00057 1.01331 1.01853 1.01755 1.01755 1.01657 +1.01657 1.01755 1.01853 1.0182 1.01788 1.01755 1.01984 1.03257 +1.07522 1.25629 1.3415 1.26998 1.09195 1.02767 1.01363 1.03355 +1.08282 1.07369 0.989143 0.777263 0.601684 0.513895 0.45456 0.418587 +0.395867 0.3864 0.378827 0.367467 0.337173 0.32392 0.331493 0.331493 +0.327707 0.33528 0.337173 0.337173 0.339067 0.342853 0.339067 0.331493 +0.33528 0.34664 0.356107 0.367467 0.367467 0.348533 0.34664 0.337173 +0.327707 0.354213 0.388293 0.36368 0.3296 0.344747 0.378827 0.373147 +0.358 0.35232 0.342853 0.327707 0.316347 0.291733 0.28416 0.299307 +0.291733 0.28984 0.314453 0.356107 0.390187 0.371253 0.333387 0.316347 +0.293627 0.29552 0.3296 0.34096 0.325813 0.331493 0.325813 0.316347 +0.316347 0.32392 0.333387 0.325813 0.308773 0.30688 0.322027 0.344747 +0.331493 0.320133 0.337173 0.34096 0.344747 0.361787 0.342853 0.325813 +0.316347 0.28984 0.282267 0.291733 0.31824 0.348533 0.331493 0.299307 +0.331493 0.344747 0.297413 0.27848 0.339067 0.356107 0.30688 0.2728 +0.342853 0.545474 0.585895 0.48296 0.31256 0.28984 0.282267 0.297413 +0.331493 0.354213 0.33528 0.316347 0.310667 0.322027 0.3296 0.33528 +0.350427 0.35232 0.37504 0.384507 0.365573 0.371253 0.376933 0.393973 +0.433733 0.529684 0.619368 0.668 0.607368 0.520211 0.450773 0.446987 +0.49432 0.567579 0.722316 0.885895 0.965474 0.982939 0.984571 0.990776 +0.999592 1.00776 1.02016 1.02996 1.03584 1.04041 1.0391 1.03878 +1.04041 1.04041 1.03976 1.04073 1.04269 1.04204 1.04171 1.04008 +1.04008 1.04302 1.04139 1.04008 1.03551 1.03649 1.04106 1.04008 +1.04171 1.04498 1.04498 1.04269 1.04106 1.04106 1.04106 1.04433 +1.04367 1.04237 1.04433 1.04302 1.04367 1.03976 1.03943 1.03878 +1.03616 1.03584 1.03518 1.03649 1.03486 1.03224 1.03845 1.0391 +1.03845 1.03518 1.03551 1.03682 1.03616 1.03812 1.04139 1.03747 +1.03682 1.03682 1.0342 1.03616 1.03616 1.03453 1.03486 1.04073 +1.03976 1.03812 1.0391 1.0378 1.0378 1.03878 1.04139 1.04204 +1.04269 1.04073 1.03878 1.0378 1.03878 1.03845 1.0391 1.03845 +1.03551 1.03747 1.0378 1.03518 1.03682 1.03682 1.03257 1.0329 +1.02865 1.03061 1.03388 1.03224 1.03094 1.03224 1.03584 1.0378 +1.03943 1.04302 1.04465 1.04237 1.04237 1.04106 1.04106 1.04106 +1.03845 1.03878 1.0378 1.04171 1.04596 1.044 1.04335 1.04237 +1.04041 1.04106 1.04237 1.04041 1.03878 1.0391 1.0391 1.03943 +1.03649 1.03518 1.03584 1.03257 1.03094 1.02898 1.0231 1.01396 +0.993714 0.922526 0.806316 0.704 0.645895 0.621263 0.609895 0.59979 +0.580842 0.546737 0.503789 0.39776 0.348533 0.373147 0.361787 0.322027 +0.314453 0.31824 0.322027 0.411013 0.528421 0.530316 0.43752 0.382613 +0.428053 0.44888 0.395867 0.34096 0.342853 0.359893 0.36936 0.384507 +0.412907 0.418587 0.40912 0.405333 0.399653 0.390187 0.373147 0.34664 +0.333387 0.325813 0.333387 0.358 0.359893 0.34096 0.316347 0.3012 +0.286053 0.286053 0.287947 0.280373 0.26712 0.2728 0.286053 0.303093 +0.358 0.48864 0.526526 0.506947 0.458347 0.424267 0.401547 0.399653 +0.390187 0.354213 0.31824 0.32392 0.376933 0.5 0.522737 0.496213 +0.39208 0.331493 0.316347 0.327707 0.350427 0.373147 0.38072 0.395867 +0.416693 0.4148 0.412907 0.433733 0.496213 0.577684 0.743789 0.930105 +1.04041 1.19847 1.06456 1.03453 1.04596 1.09652 1.16347 1.11326 +1.03943 1.01951 1.01233 1.01037 1.01069 1.01135 1.01135 1.01331 +1.01429 1.01461 1.01624 1.0182 1.01755 1.01657 1.01494 1.01363 +1.01527 1.01624 1.01429 1.01233 1.00776 1.00416 1.00873 1.00906 +1.0009 0.98849 0.975579 0.962316 0.955368 0.950947 0.948421 0.945895 +0.953474 0.978105 0.983918 0.871368 0.647789 0.48864 0.388293 0.344747 +0.2444 0.000873333 0.000806667 0.000793333 0.0008 0.00076 0.00076 0.000753333 +0.00074 0.00078 0.000793333 0.00076 0.00074 0.00076 0.000746667 0.000733333 +0.000753333 0.000753333 0.000753333 0.000746667 0.000706667 0.000706667 0.0007 0.000706667 +0.000706667 0.000713333 0.000726667 0.000713333 0.000706667 0.000713333 0.000706667 0.00068 +0.000666667 0.000673333 0.00068 0.000666667 0.00066 0.000693333 0.00072 0.000726667 +0.000746667 0.00076 0.000746667 0.00072 0.000706667 0.00072 0.000713333 0.00072 +0.000693333 0.00068 0.000706667 0.00074 0.00072 0.0007 0.000693333 0.000693333 +0.0007 0.000686667 0.000713333 0.000713333 0.0007 0.000713333 0.000753333 0.000746667 +0.000713333 0.000733333 0.000753333 0.000746667 0.00074 0.000793333 0.000833333 0.000973333 +0.291733 0.29552 0.000986667 0.000893333 0.2444 0.395867 0.608632 0.847368 +0.984245 0.978105 0.948421 0.940211 0.943368 0.950947 0.952842 0.955368 +0.965474 0.985224 1.00253 1.01233 1.01722 1.01918 1.01853 1.01755 +1.01755 1.01951 1.01951 1.01788 1.01853 1.01788 1.02049 1.03486 +1.10565 1.30346 1.37041 1.24868 1.0551 1.02114 1.01755 1.04237 +1.12695 1.05641 0.948421 0.729263 0.575158 0.501895 0.433733 0.411013 +0.39776 0.384507 0.373147 0.367467 0.34096 0.337173 0.34664 0.344747 +0.337173 0.331493 0.325813 0.32392 0.325813 0.331493 0.33528 0.327707 +0.325813 0.339067 0.35232 0.365573 0.361787 0.36368 0.367467 0.35232 +0.333387 0.32392 0.331493 0.32392 0.314453 0.33528 0.395867 0.4148 +0.36936 0.331493 0.31824 0.320133 0.314453 0.303093 0.297413 0.297413 +0.286053 0.286053 0.303093 0.33528 0.376933 0.390187 0.365573 0.325813 +0.29552 0.304987 0.34096 0.339067 0.30688 0.31824 0.327707 0.32392 +0.31824 0.32392 0.339067 0.344747 0.320133 0.320133 0.344747 0.350427 +0.316347 0.304987 0.32392 0.327707 0.395867 0.479173 0.441307 0.378827 +0.367467 0.34096 0.31256 0.299307 0.308773 0.293627 0.259547 0.259547 +0.27848 0.280373 0.25576 0.2444 0.265227 0.286053 0.276587 0.259547 +0.3296 0.529053 0.550526 0.412907 0.314453 0.3296 0.33528 0.337173 +0.356107 0.358 0.3296 0.31256 0.31256 0.31256 0.322027 0.342853 +0.361787 0.36936 0.371253 0.356107 0.348533 0.34664 0.371253 0.384507 +0.42616 0.505053 0.548632 0.597263 0.588421 0.525895 0.45456 0.43184 +0.450773 0.509474 0.608632 0.782947 0.926316 0.976842 0.978105 0.982286 +0.990122 0.995673 1.00645 1.01755 1.02571 1.03224 1.0329 1.03518 +1.03878 1.03976 1.03943 1.0378 1.03878 1.04171 1.04237 1.04139 +1.04171 1.04204 1.03976 1.0391 1.03682 1.03812 1.04335 1.04073 +1.04171 1.04433 1.044 1.04204 1.04335 1.04465 1.04237 1.044 +1.04498 1.04269 1.04367 1.04237 1.04269 1.04008 1.0391 1.03943 +1.03551 1.03682 1.03616 1.03616 1.03649 1.0342 1.03943 1.04008 +1.0378 1.03551 1.03845 1.03812 1.03812 1.03976 1.04106 1.0378 +1.0342 1.03616 1.03649 1.03682 1.03616 1.03453 1.03486 1.04008 +1.04008 1.03878 1.03812 1.03649 1.03747 1.04073 1.04367 1.04073 +1.03976 1.03845 1.03616 1.03649 1.03845 1.03682 1.03812 1.03584 +1.0342 1.03682 1.03649 1.03518 1.03518 1.03355 1.03486 1.03192 +1.02767 1.02865 1.03127 1.03061 1.03094 1.0329 1.03453 1.03747 +1.04041 1.04204 1.04204 1.04073 1.04106 1.04073 1.04171 1.04008 +1.0391 1.03943 1.0391 1.044 1.04629 1.04335 1.04171 1.04073 +1.04139 1.04073 1.04106 1.03943 1.03714 1.03714 1.03649 1.03616 +1.03518 1.03388 1.03257 1.03192 1.03029 1.02735 1.02049 1.00351 +0.956 0.851158 0.743789 0.666737 0.627579 0.611158 0.599158 0.585263 +0.557474 0.514526 0.411013 0.348533 0.388293 0.43184 0.40344 0.367467 +0.37504 0.37504 0.418587 0.532211 0.584632 0.553684 0.464027 0.378827 +0.36936 0.36368 0.333387 0.303093 0.3012 0.29552 0.31256 0.348533 +0.3864 0.39208 0.376933 0.359893 0.361787 0.373147 0.365573 0.342853 +0.322027 0.325813 0.344747 0.359893 0.339067 0.31824 0.304987 0.297413 +0.280373 0.276587 0.282267 0.291733 0.286053 0.280373 0.28984 0.29552 +0.34096 0.424267 0.450773 0.412907 0.382613 0.36936 0.38072 0.418587 +0.422373 0.393973 0.36368 0.365573 0.40344 0.469707 0.498107 0.428053 +0.34664 0.320133 0.322027 0.33528 0.365573 0.3864 0.378827 0.384507 +0.407227 0.42616 0.43752 0.446987 0.49432 0.565684 0.717895 0.914947 +1.044 1.19086 1.05445 1.028 1.03976 1.08739 1.18629 1.16043 +1.04727 1.02245 1.01396 1.01069 1.01233 1.01233 1.01135 1.01233 +1.01461 1.01559 1.01755 1.01918 1.01722 1.01527 1.01527 1.01461 +1.01559 1.01657 1.01167 1.00808 1.00384 1.00286 1.00645 1.01102 +1.0071 0.995673 0.981306 0.964211 0.956 0.949684 0.950316 0.947789 +0.947789 0.961053 0.984245 0.929474 0.727368 0.537263 0.412907 0.378827 +0.291733 0.000946667 0.000826667 0.0008 0.00078 0.000786667 0.0008 0.000766667 +0.00074 0.000753333 0.000753333 0.00072 0.00072 0.000746667 0.000753333 0.000733333 +0.000726667 0.000733333 0.00074 0.000733333 0.000733333 0.00072 0.000706667 0.00072 +0.000713333 0.000693333 0.0007 0.000713333 0.000713333 0.000726667 0.00072 0.00072 +0.00072 0.000706667 0.000693333 0.000686667 0.00068 0.000686667 0.000693333 0.000686667 +0.0007 0.00072 0.000733333 0.000746667 0.00074 0.000726667 0.000726667 0.000726667 +0.000713333 0.000693333 0.000686667 0.000706667 0.0007 0.00068 0.000666667 0.000673333 +0.000693333 0.000706667 0.000706667 0.000713333 0.000706667 0.000713333 0.000753333 0.000773333 +0.00076 0.00076 0.000773333 0.000753333 0.000753333 0.000773333 0.000846667 0.234933 +0.303093 0.263333 0.000886667 0.000906667 0.28416 0.501895 0.691368 0.916211 +0.985224 0.963579 0.944632 0.944 0.949684 0.954737 0.959158 0.962316 +0.968632 0.988163 1.00547 1.01396 1.01657 1.01788 1.01853 1.01853 +1.01886 1.02049 1.01886 1.0182 1.0182 1.01657 1.02016 1.03518 +1.1376 1.34606 1.37345 1.20303 1.04237 1.01559 1.02278 1.05184 +1.14521 1.04596 0.903579 0.683789 0.549895 0.48296 0.441307 0.424267 +0.401547 0.378827 0.361787 0.35232 0.339067 0.337173 0.342853 0.337173 +0.337173 0.33528 0.3296 0.333387 0.331493 0.327707 0.314453 0.308773 +0.316347 0.333387 0.356107 0.350427 0.333387 0.344747 0.35232 0.358 +0.356107 0.32392 0.3012 0.3012 0.299307 0.348533 0.4432 0.429947 +0.34664 0.310667 0.303093 0.31824 0.33528 0.331493 0.314453 0.297413 +0.276587 0.274693 0.293627 0.31824 0.34664 0.39208 0.401547 0.359893 +0.327707 0.33528 0.367467 0.35232 0.304987 0.297413 0.316347 0.3296 +0.325813 0.322027 0.348533 0.371253 0.350427 0.34664 0.36936 0.365573 +0.320133 0.3012 0.3012 0.316347 0.395867 0.464027 0.40344 0.342853 +0.344747 0.33528 0.310667 0.293627 0.282267 0.251973 0.240613 0.251973 +0.257653 0.259547 0.259547 0.253867 0.263333 0.270907 0.265227 0.251973 +0.325813 0.508211 0.508842 0.350427 0.314453 0.34096 0.35232 0.344747 +0.358 0.356107 0.316347 0.297413 0.297413 0.303093 0.308773 0.325813 +0.367467 0.38072 0.350427 0.333387 0.331493 0.339067 0.361787 0.39776 +0.4148 0.43752 0.458347 0.518316 0.539789 0.512 0.4432 0.429947 +0.433733 0.435627 0.525895 0.661053 0.828421 0.923158 0.949053 0.964211 +0.983592 0.990122 0.993714 1.00122 1.01135 1.01984 1.02408 1.02898 +1.03388 1.0378 1.0378 1.03518 1.03714 1.04237 1.04335 1.04204 +1.04073 1.03845 1.0378 1.04008 1.04008 1.04008 1.04367 1.04106 +1.0391 1.04106 1.04302 1.044 1.04498 1.04433 1.04204 1.04335 +1.04629 1.044 1.04139 1.04204 1.04041 1.03878 1.03845 1.04008 +1.03682 1.03649 1.03584 1.03682 1.0378 1.03682 1.04171 1.04433 +1.04171 1.03682 1.03943 1.03878 1.03812 1.03976 1.0391 1.03682 +1.03322 1.03584 1.0378 1.03682 1.03682 1.03616 1.03551 1.03714 +1.03682 1.03845 1.03845 1.03845 1.0378 1.03943 1.04139 1.03682 +1.03747 1.03714 1.03682 1.03616 1.0378 1.03584 1.03616 1.03551 +1.03486 1.03845 1.03878 1.03682 1.0342 1.03224 1.03518 1.03192 +1.02865 1.02963 1.02898 1.02767 1.02996 1.03257 1.03518 1.04041 +1.04204 1.04073 1.04041 1.04041 1.04139 1.04106 1.04106 1.03878 +1.03747 1.04008 1.04531 1.04694 1.04433 1.04073 1.03812 1.03845 +1.04008 1.04073 1.04073 1.03812 1.03649 1.03649 1.03551 1.0342 +1.03388 1.03257 1.03127 1.03127 1.02735 1.02278 1.01429 0.986204 +0.896632 0.784842 0.697684 0.647158 0.621263 0.607368 0.592211 0.570105 +0.526526 0.418587 0.327707 0.373147 0.5 0.512632 0.490533 0.48296 +0.505053 0.512632 0.548 0.615579 0.632632 0.566316 0.486747 0.378827 +0.333387 0.32392 0.314453 0.299307 0.291733 0.280373 0.308773 0.35232 +0.382613 0.38072 0.376933 0.361787 0.342853 0.34096 0.337173 0.320133 +0.3012 0.3012 0.31824 0.3296 0.320133 0.310667 0.293627 0.28416 +0.274693 0.274693 0.282267 0.293627 0.287947 0.282267 0.28416 0.3012 +0.371253 0.429947 0.40344 0.358 0.34664 0.34096 0.331493 0.356107 +0.3864 0.412907 0.435627 0.450773 0.464027 0.47728 0.473493 0.418587 +0.36368 0.34664 0.34664 0.348533 0.37504 0.39208 0.373147 0.367467 +0.382613 0.416693 0.43752 0.4432 0.48296 0.554947 0.698316 0.903579 +1.04596 1.18325 1.0489 1.02212 1.03551 1.07826 1.1939 1.20303 +1.0551 1.02473 1.01363 1.00971 1.012 1.01265 1.01331 1.01363 +1.01363 1.01331 1.01494 1.01722 1.01592 1.01527 1.01559 1.01592 +1.01722 1.0169 1.01298 1.00873 1.00514 1.00384 1.00482 1.00939 +1.00743 1.0009 0.98849 0.974316 0.964211 0.954105 0.949053 0.945895 +0.943368 0.949684 0.982612 0.973684 0.810737 0.590947 0.43752 0.388293 +0.331493 0.234933 0.00088 0.000833333 0.000813333 0.000826667 0.000793333 0.000746667 +0.000726667 0.000733333 0.000746667 0.000753333 0.000786667 0.000773333 0.000746667 0.00074 +0.000726667 0.000733333 0.000733333 0.000713333 0.0007 0.0007 0.0007 0.000713333 +0.00072 0.0007 0.000686667 0.000693333 0.000693333 0.0007 0.0007 0.000706667 +0.000746667 0.000753333 0.00074 0.000713333 0.000706667 0.00068 0.000693333 0.000706667 +0.000693333 0.00068 0.000686667 0.000726667 0.00072 0.000706667 0.000693333 0.000726667 +0.00074 0.000706667 0.00068 0.000693333 0.000693333 0.00068 0.000673333 0.0007 +0.000726667 0.000733333 0.00072 0.000726667 0.000726667 0.00072 0.0007 0.00072 +0.000746667 0.00074 0.000773333 0.000786667 0.0008 0.0008 0.000893333 0.257653 +0.297413 0.234933 0.00084 0.00094 0.327707 0.554316 0.779789 0.963579 +0.982612 0.954105 0.944 0.945895 0.950316 0.955368 0.962316 0.967368 +0.974947 0.993061 1.00906 1.01624 1.01657 1.01461 1.01657 1.01755 +1.01722 1.01886 1.01886 1.0182 1.01722 1.01592 1.01918 1.03355 +1.1589 1.38258 1.37193 1.16195 1.03486 1.01494 1.02931 1.05706 +1.11478 1.02735 0.859368 0.646526 0.533474 0.48296 0.456453 0.429947 +0.393973 0.367467 0.354213 0.34096 0.337173 0.34096 0.344747 0.337173 +0.337173 0.331493 0.327707 0.331493 0.3296 0.322027 0.314453 0.316347 +0.322027 0.34096 0.371253 0.35232 0.327707 0.3296 0.33528 0.367467 +0.39776 0.37504 0.333387 0.3012 0.303093 0.39208 0.502526 0.4432 +0.320133 0.287947 0.293627 0.320133 0.36368 0.378827 0.339067 0.304987 +0.287947 0.287947 0.31824 0.333387 0.337173 0.405333 0.44888 0.412907 +0.35232 0.327707 0.367467 0.365573 0.325813 0.314453 0.3296 0.348533 +0.344747 0.34096 0.388293 0.411013 0.382613 0.3864 0.401547 0.37504 +0.333387 0.316347 0.297413 0.308773 0.358 0.365573 0.322027 0.287947 +0.286053 0.293627 0.293627 0.293627 0.265227 0.242507 0.248187 0.25008 +0.25576 0.259547 0.257653 0.270907 0.276587 0.26712 0.253867 0.257653 +0.325813 0.481067 0.46024 0.331493 0.299307 0.304987 0.31824 0.310667 +0.316347 0.31824 0.31256 0.31256 0.3012 0.29552 0.28416 0.31256 +0.3864 0.393973 0.356107 0.333387 0.350427 0.350427 0.393973 0.405333 +0.373147 0.376933 0.371253 0.4148 0.47728 0.46024 0.4148 0.418587 +0.411013 0.395867 0.44888 0.549263 0.668632 0.784211 0.872 0.934526 +0.972421 0.984571 0.987184 0.991429 0.999592 1.01037 1.01788 1.02343 +1.02767 1.0329 1.03616 1.03551 1.03878 1.04204 1.04139 1.04073 +1.04073 1.03878 1.0391 1.04106 1.04171 1.03878 1.03943 1.04041 +1.04139 1.04335 1.04335 1.04335 1.04269 1.04367 1.04302 1.04106 +1.04367 1.04269 1.03812 1.04041 1.0391 1.04041 1.03878 1.03649 +1.03682 1.03649 1.03616 1.03714 1.03845 1.0391 1.04008 1.04139 +1.04204 1.03714 1.03976 1.03878 1.03714 1.03878 1.03714 1.0378 +1.03453 1.03616 1.03812 1.03551 1.03649 1.03878 1.03682 1.03649 +1.03682 1.0391 1.03714 1.03747 1.03649 1.03943 1.03976 1.03551 +1.03878 1.03976 1.0378 1.03682 1.03747 1.0391 1.03878 1.03682 +1.03616 1.03878 1.03878 1.03747 1.03649 1.0342 1.03257 1.02865 +1.028 1.02931 1.02931 1.02767 1.02865 1.02996 1.03453 1.04008 +1.04237 1.04073 1.03943 1.03976 1.04139 1.04335 1.04302 1.04008 +1.03845 1.04171 1.04596 1.04629 1.04335 1.04008 1.03943 1.03976 +1.03976 1.04139 1.03878 1.03453 1.03649 1.03812 1.03747 1.0342 +1.0329 1.03159 1.03061 1.02898 1.0231 1.01527 0.996653 0.931368 +0.826526 0.728632 0.662316 0.633263 0.619368 0.608 0.587789 0.556842 +0.509474 0.382613 0.358 0.490533 0.553684 0.551789 0.517684 0.509474 +0.525263 0.560632 0.615579 0.657263 0.634526 0.558737 0.501263 0.407227 +0.350427 0.327707 0.31824 0.310667 0.304987 0.30688 0.34096 0.376933 +0.3864 0.373147 0.382613 0.371253 0.33528 0.331493 0.327707 0.314453 +0.303093 0.299307 0.304987 0.30688 0.304987 0.29552 0.304987 0.291733 +0.270907 0.26712 0.27848 0.293627 0.28984 0.286053 0.287947 0.322027 +0.416693 0.456453 0.3864 0.331493 0.331493 0.34096 0.31256 0.304987 +0.327707 0.376933 0.43184 0.4716 0.492427 0.498107 0.496213 0.46592 +0.435627 0.42616 0.42616 0.42048 0.424267 0.411013 0.376933 0.365573 +0.365573 0.390187 0.412907 0.428053 0.467813 0.542947 0.678737 0.890316 +1.05053 1.2152 1.04988 1.01722 1.02963 1.05804 1.19542 1.23651 +1.07522 1.02735 1.01396 1.01069 1.012 1.01135 1.01429 1.01461 +1.01233 1.01265 1.01363 1.01592 1.01624 1.01527 1.01494 1.01527 +1.01592 1.01624 1.01624 1.01135 1.00808 1.00514 1.00318 1.00645 +1.00776 1.00612 0.996 0.981306 0.968 0.957895 0.951579 0.952211 +0.949684 0.949053 0.976211 0.986531 0.884632 0.661053 0.502526 0.399653 +0.361787 0.270907 0.000926667 0.000826667 0.000813333 0.000813333 0.00076 0.000733333 +0.000733333 0.00076 0.00076 0.000766667 0.000786667 0.000746667 0.000753333 0.00076 +0.000733333 0.000733333 0.000713333 0.00072 0.00068 0.000666667 0.000666667 0.000686667 +0.0007 0.000706667 0.000706667 0.000713333 0.00072 0.000733333 0.00072 0.000713333 +0.00072 0.00072 0.000713333 0.000713333 0.000733333 0.00072 0.000713333 0.000706667 +0.000713333 0.000693333 0.00068 0.0007 0.0007 0.00068 0.00068 0.000706667 +0.00074 0.00072 0.000706667 0.00072 0.000746667 0.000746667 0.000713333 0.000706667 +0.000726667 0.000733333 0.000713333 0.000726667 0.000733333 0.000726667 0.0007 0.000706667 +0.000726667 0.00072 0.000746667 0.000773333 0.000786667 0.000813333 0.000926667 0.2728 +0.293627 0.229253 0.000886667 0.2444 0.418587 0.628211 0.865053 0.984245 +0.973684 0.947158 0.945895 0.949684 0.950316 0.954737 0.962947 0.966737 +0.977474 0.996327 1.01004 1.0182 1.01592 1.01429 1.0169 1.01624 +1.01527 1.0169 1.01755 1.0169 1.01559 1.01592 1.0182 1.03061 +1.16195 1.39932 1.35671 1.11934 1.03192 1.02016 1.03812 1.06761 +1.06609 1.00547 0.815158 0.614947 0.518316 0.464027 0.43184 0.40912 +0.395867 0.388293 0.37504 0.348533 0.337173 0.33528 0.331493 0.33528 +0.3296 0.320133 0.314453 0.316347 0.320133 0.325813 0.337173 0.34664 +0.337173 0.337173 0.35232 0.333387 0.31824 0.322027 0.331493 0.358 +0.399653 0.429947 0.401547 0.339067 0.333387 0.428053 0.501895 0.40344 +0.299307 0.287947 0.30688 0.322027 0.36936 0.39208 0.350427 0.310667 +0.303093 0.320133 0.35232 0.34664 0.331493 0.382613 0.42616 0.433733 +0.4148 0.371253 0.36936 0.356107 0.3296 0.333387 0.35232 0.38072 +0.422373 0.452667 0.467813 0.439413 0.401547 0.399653 0.38072 0.337173 +0.31256 0.314453 0.308773 0.327707 0.356107 0.33528 0.299307 0.270907 +0.270907 0.276587 0.274693 0.269013 0.257653 0.253867 0.265227 0.269013 +0.253867 0.248187 0.248187 0.274693 0.263333 0.242507 0.2444 0.259547 +0.342853 0.464027 0.42616 0.322027 0.28984 0.287947 0.291733 0.276587 +0.265227 0.276587 0.30688 0.331493 0.31256 0.291733 0.286053 0.337173 +0.43184 0.418587 0.348533 0.348533 0.35232 0.376933 0.40344 0.376933 +0.327707 0.34096 0.34664 0.350427 0.395867 0.40344 0.3864 0.395867 +0.399653 0.399653 0.4148 0.46024 0.532842 0.623158 0.748211 0.869474 +0.939579 0.969263 0.984245 0.989469 0.992735 1.00057 1.00841 1.01592 +1.02082 1.02767 1.03355 1.03453 1.03878 1.04106 1.04106 1.04171 +1.04041 1.03878 1.04041 1.04139 1.04237 1.03976 1.04008 1.04204 +1.04302 1.04498 1.04433 1.04171 1.04171 1.04596 1.04433 1.04139 +1.04335 1.04433 1.04008 1.04073 1.0391 1.04269 1.04041 1.03486 +1.03714 1.03747 1.03747 1.03682 1.03943 1.04008 1.03845 1.04073 +1.04171 1.03812 1.04073 1.03878 1.03845 1.04041 1.03714 1.03551 +1.03224 1.03714 1.04106 1.03616 1.03518 1.03812 1.0378 1.03616 +1.03812 1.03845 1.03355 1.03551 1.03486 1.03976 1.04139 1.03682 +1.0378 1.03714 1.03714 1.03812 1.03845 1.0378 1.03714 1.0378 +1.03714 1.03812 1.03812 1.03976 1.03943 1.03355 1.03029 1.02735 +1.02833 1.02833 1.02702 1.02767 1.02833 1.02833 1.0342 1.04041 +1.04171 1.04139 1.04008 1.04008 1.04139 1.04465 1.04367 1.04008 +1.04139 1.04433 1.04498 1.04302 1.04106 1.04073 1.04204 1.04204 +1.03943 1.03845 1.03649 1.03355 1.0342 1.03584 1.03584 1.03159 +1.03061 1.02833 1.02441 1.02016 1.01396 0.999265 0.954105 0.852421 +0.750737 0.681263 0.647158 0.632632 0.621263 0.607368 0.590316 0.570105 +0.548632 0.536 0.554947 0.596632 0.620632 0.575789 0.506947 0.479173 +0.530316 0.585263 0.629474 0.647789 0.623158 0.56 0.502526 0.373147 +0.299307 0.304987 0.325813 0.320133 0.32392 0.34664 0.382613 0.399653 +0.390187 0.359893 0.354213 0.348533 0.331493 0.325813 0.322027 0.31256 +0.310667 0.299307 0.303093 0.30688 0.28984 0.291733 0.325813 0.308773 +0.27848 0.282267 0.299307 0.304987 0.28416 0.2728 0.297413 0.376933 +0.46592 0.452667 0.36368 0.314453 0.337173 0.37504 0.350427 0.30688 +0.293627 0.31824 0.378827 0.416693 0.441307 0.458347 0.469707 0.490533 +0.508842 0.524632 0.529053 0.510737 0.467813 0.422373 0.39776 0.393973 +0.378827 0.37504 0.384507 0.401547 0.44888 0.536632 0.662947 0.875158 +1.05282 1.26237 1.05478 1.01494 1.0231 1.0502 1.18782 1.27303 +1.13608 1.0342 1.01592 1.01233 1.01298 1.01233 1.01396 1.01396 +1.01102 1.01331 1.01429 1.01592 1.01592 1.01527 1.01624 1.01592 +1.01527 1.01494 1.01527 1.01233 1.01167 1.00841 1.00449 1.0071 +1.00873 1.00645 0.999265 0.984898 0.972421 0.965474 0.954737 0.954105 +0.952842 0.949053 0.964842 0.986857 0.944 0.746316 0.546105 0.418587 +0.384507 0.316347 0.219787 0.00084 0.000806667 0.000793333 0.000773333 0.000766667 +0.000773333 0.000773333 0.000753333 0.000773333 0.000766667 0.000753333 0.000773333 0.000746667 +0.000733333 0.000766667 0.000753333 0.00074 0.000726667 0.000693333 0.000686667 0.000693333 +0.000686667 0.000666667 0.000673333 0.000693333 0.000713333 0.000726667 0.00072 0.000726667 +0.000706667 0.000693333 0.000706667 0.000726667 0.000733333 0.000713333 0.000713333 0.000706667 +0.000713333 0.000726667 0.000713333 0.000713333 0.000693333 0.0007 0.000686667 0.000686667 +0.000726667 0.000726667 0.000726667 0.0007 0.000706667 0.000746667 0.000746667 0.00072 +0.000706667 0.00072 0.000733333 0.000733333 0.000726667 0.000733333 0.000746667 0.000753333 +0.00076 0.000746667 0.000753333 0.000753333 0.000753333 0.000786667 0.000946667 0.27848 +0.2728 0.000973333 0.00094 0.3012 0.517053 0.716 0.935789 0.986531 +0.959158 0.942737 0.945895 0.949053 0.950947 0.957263 0.964211 0.968 +0.978737 0.996 1.01069 1.0182 1.01722 1.01592 1.0169 1.0169 +1.01722 1.01755 1.01755 1.01592 1.01461 1.01461 1.01461 1.02702 +1.16803 1.42214 1.33541 1.06761 1.02833 1.02735 1.04531 1.06304 +1.04563 0.982939 0.776632 0.590947 0.503789 0.428053 0.395867 0.382613 +0.382613 0.38072 0.376933 0.36368 0.344747 0.327707 0.327707 0.331493 +0.31824 0.310667 0.320133 0.320133 0.31824 0.325813 0.325813 0.320133 +0.3012 0.303093 0.320133 0.322027 0.32392 0.32392 0.327707 0.34664 +0.384507 0.441307 0.44888 0.40344 0.401547 0.4716 0.47728 0.365573 +0.303093 0.304987 0.322027 0.327707 0.348533 0.36368 0.337173 0.303093 +0.29552 0.314453 0.356107 0.34096 0.32392 0.342853 0.356107 0.39776 +0.452667 0.44888 0.388293 0.31824 0.286053 0.303093 0.325813 0.36368 +0.450773 0.518947 0.512632 0.44888 0.405333 0.373147 0.3296 0.304987 +0.304987 0.299307 0.304987 0.339067 0.358 0.333387 0.303093 0.28984 +0.282267 0.2728 0.263333 0.25008 0.242507 0.23872 0.259547 0.270907 +0.248187 0.231147 0.253867 0.282267 0.25576 0.229253 0.23304 0.251973 +0.339067 0.433733 0.3864 0.308773 0.293627 0.304987 0.303093 0.282267 +0.270907 0.270907 0.293627 0.316347 0.30688 0.286053 0.293627 0.37504 +0.475387 0.42048 0.339067 0.316347 0.337173 0.373147 0.399653 0.367467 +0.322027 0.331493 0.333387 0.337173 0.365573 0.384507 0.388293 0.407227 +0.422373 0.422373 0.411013 0.405333 0.43752 0.522737 0.615579 0.745053 +0.858737 0.930105 0.974947 0.988163 0.989469 0.992735 0.997959 1.00645 +1.01592 1.02245 1.028 1.03388 1.03845 1.04008 1.04171 1.04269 +1.04073 1.03682 1.03845 1.03976 1.04139 1.04008 1.04139 1.04335 +1.04335 1.04465 1.044 1.04139 1.04139 1.04433 1.044 1.04335 +1.04498 1.04596 1.04139 1.04008 1.04041 1.04041 1.03943 1.03682 +1.03976 1.03976 1.0378 1.03747 1.04171 1.04171 1.03878 1.04204 +1.04139 1.03812 1.04041 1.03845 1.0391 1.04335 1.03812 1.03453 +1.03453 1.03878 1.03976 1.03486 1.03486 1.03584 1.03714 1.03584 +1.03584 1.03518 1.03388 1.0378 1.03714 1.04171 1.04106 1.03845 +1.03878 1.03845 1.03812 1.03682 1.03747 1.03714 1.0342 1.03812 +1.04106 1.04008 1.0378 1.0391 1.0391 1.03322 1.03159 1.03159 +1.03029 1.028 1.02637 1.02669 1.02604 1.02637 1.02931 1.03453 +1.03976 1.04139 1.04269 1.04302 1.04367 1.04531 1.04367 1.04237 +1.04367 1.04629 1.04433 1.03878 1.03878 1.04139 1.04041 1.04008 +1.0378 1.03551 1.03388 1.03159 1.03094 1.03094 1.02996 1.02669 +1.02539 1.02376 1.01886 1.01167 1.0009 0.969263 0.885895 0.777263 +0.689474 0.648421 0.644 0.638316 0.625053 0.611789 0.597895 0.583368 +0.577684 0.596632 0.637053 0.666737 0.651579 0.586526 0.523368 0.508211 +0.543579 0.590316 0.624421 0.640211 0.625684 0.573263 0.511368 0.376933 +0.308773 0.32392 0.354213 0.367467 0.388293 0.40912 0.424267 0.416693 +0.390187 0.354213 0.333387 0.3296 0.325813 0.320133 0.30688 0.299307 +0.310667 0.314453 0.320133 0.325813 0.314453 0.322027 0.342853 0.320133 +0.303093 0.314453 0.314453 0.30688 0.29552 0.286053 0.325813 0.4148 +0.456453 0.411013 0.337173 0.316347 0.356107 0.40912 0.382613 0.322027 +0.3012 0.32392 0.378827 0.388293 0.367467 0.36936 0.384507 0.429947 +0.503158 0.531579 0.539158 0.512632 0.450773 0.411013 0.401547 0.40912 +0.39776 0.376933 0.376933 0.393973 0.43752 0.530316 0.650316 0.859368 +1.0502 1.27455 1.0551 1.01004 1.01363 1.04171 1.16651 1.28976 +1.18173 1.04073 1.0182 1.01429 1.01559 1.01363 1.01233 1.012 +1.01069 1.01363 1.01494 1.01657 1.01657 1.01592 1.0169 1.01429 +1.01298 1.01363 1.01233 1.01167 1.01363 1.01069 1.00416 1.00547 +1.00743 1.00678 1.00514 0.990449 0.973684 0.964842 0.956632 0.951579 +0.949053 0.947158 0.954105 0.981633 0.98098 0.832211 0.603579 0.433733 +0.37504 0.350427 0.265227 0.000906667 0.000793333 0.00078 0.00076 0.000746667 +0.00074 0.00072 0.000746667 0.00078 0.000753333 0.00074 0.000746667 0.00074 +0.000733333 0.000753333 0.00074 0.00074 0.00072 0.00072 0.000733333 0.000746667 +0.000726667 0.000706667 0.000686667 0.000686667 0.0007 0.000706667 0.0007 0.000713333 +0.000713333 0.00072 0.000726667 0.000733333 0.000713333 0.000693333 0.000706667 0.000706667 +0.000706667 0.000713333 0.000693333 0.00072 0.00074 0.00074 0.000733333 0.0007 +0.000713333 0.00072 0.000726667 0.0007 0.000693333 0.000706667 0.000726667 0.000693333 +0.00068 0.000713333 0.00074 0.000733333 0.00074 0.000753333 0.000746667 0.00076 +0.000773333 0.000773333 0.00076 0.000753333 0.000766667 0.0008 0.22168 0.291733 +0.251973 0.00088 0.000973333 0.35232 0.570105 0.803158 0.978105 0.982939 +0.950947 0.942737 0.947789 0.949684 0.953474 0.962316 0.970526 0.975579 +0.982939 0.997306 1.012 1.01853 1.01788 1.01657 1.01559 1.01755 +1.01886 1.01918 1.01918 1.01657 1.01527 1.01527 1.01167 1.02082 +1.14673 1.4191 1.31107 1.05478 1.02833 1.03518 1.05118 1.05347 +1.02147 0.923158 0.732421 0.572632 0.490533 0.418587 0.39208 0.378827 +0.365573 0.354213 0.359893 0.365573 0.356107 0.339067 0.33528 0.32392 +0.314453 0.33528 0.367467 0.354213 0.34096 0.333387 0.31256 0.287947 +0.282267 0.293627 0.303093 0.303093 0.30688 0.310667 0.322027 0.344747 +0.367467 0.3864 0.395867 0.40344 0.441307 0.501895 0.49432 0.39208 +0.320133 0.304987 0.314453 0.322027 0.33528 0.34096 0.322027 0.297413 +0.28984 0.325813 0.378827 0.356107 0.322027 0.316347 0.322027 0.337173 +0.378827 0.429947 0.412907 0.333387 0.293627 0.3012 0.30688 0.314453 +0.390187 0.515789 0.522105 0.46024 0.395867 0.356107 0.31256 0.297413 +0.304987 0.29552 0.3012 0.333387 0.34664 0.322027 0.304987 0.308773 +0.304987 0.276587 0.259547 0.251973 0.25008 0.236827 0.23872 0.259547 +0.265227 0.270907 0.30688 0.299307 0.263333 0.2444 0.23304 0.248187 +0.316347 0.378827 0.34096 0.29552 0.308773 0.3296 0.33528 0.327707 +0.304987 0.282267 0.282267 0.299307 0.30688 0.291733 0.293627 0.393973 +0.508842 0.45456 0.322027 0.3012 0.32392 0.36368 0.407227 0.382613 +0.337173 0.3296 0.33528 0.34664 0.373147 0.411013 0.429947 0.422373 +0.42048 0.405333 0.3864 0.39776 0.4148 0.445093 0.521474 0.609263 +0.725474 0.839158 0.929474 0.98 0.987184 0.988816 0.989796 0.994367 +1.00384 1.01037 1.01886 1.02898 1.03453 1.03714 1.04041 1.04139 +1.04041 1.03649 1.03878 1.04008 1.04269 1.04073 1.04041 1.04139 +1.04204 1.04465 1.04498 1.04269 1.04073 1.04008 1.04171 1.04237 +1.04237 1.04433 1.04204 1.04073 1.04106 1.03845 1.03682 1.03747 +1.04106 1.04106 1.03976 1.03976 1.04073 1.04139 1.03812 1.04073 +1.04041 1.03845 1.04008 1.03845 1.03747 1.04041 1.0378 1.03649 +1.03714 1.03682 1.03682 1.03518 1.03584 1.03551 1.03551 1.03453 +1.03649 1.03551 1.03518 1.0391 1.0391 1.04139 1.0391 1.03518 +1.03878 1.03878 1.03747 1.03551 1.03943 1.04041 1.03616 1.03747 +1.04269 1.04139 1.0378 1.03812 1.03812 1.03453 1.03453 1.0329 +1.02767 1.02571 1.02506 1.02376 1.0231 1.0231 1.02408 1.02898 +1.03682 1.03878 1.04041 1.04367 1.04531 1.04302 1.04237 1.04335 +1.04237 1.04367 1.04008 1.03714 1.03747 1.0378 1.03878 1.03812 +1.03584 1.03322 1.02898 1.02571 1.02637 1.02506 1.02539 1.02506 +1.02082 1.01657 1.01396 1.00547 0.987837 0.921895 0.816421 0.712211 +0.653474 0.633895 0.638316 0.634526 0.624421 0.612421 0.584632 0.545474 +0.516421 0.518316 0.546737 0.584 0.601053 0.591579 0.568211 0.539158 +0.535368 0.558105 0.586526 0.600421 0.592211 0.565684 0.517053 0.42616 +0.393973 0.43184 0.481067 0.505684 0.514526 0.507579 0.464027 0.416693 +0.390187 0.373147 0.348533 0.331493 0.320133 0.31256 0.304987 0.293627 +0.3012 0.308773 0.31256 0.310667 0.32392 0.35232 0.356107 0.331493 +0.322027 0.322027 0.31256 0.310667 0.320133 0.325813 0.356107 0.405333 +0.405333 0.373147 0.337173 0.320133 0.359893 0.411013 0.39208 0.333387 +0.314453 0.33528 0.395867 0.411013 0.359893 0.33528 0.33528 0.354213 +0.399653 0.45456 0.484853 0.462133 0.42048 0.384507 0.373147 0.38072 +0.390187 0.390187 0.39208 0.40344 0.433733 0.525263 0.638947 0.844211 +1.04531 1.25781 1.05216 1.00743 1.00841 1.03453 1.14521 1.30194 +1.22433 1.04792 1.02049 1.01429 1.01461 1.012 1.01069 1.01233 +1.012 1.01429 1.01592 1.01527 1.01527 1.01429 1.01527 1.01298 +1.01363 1.01494 1.012 1.01069 1.01233 1.00971 1.00384 1.00482 +1.00939 1.00939 1.00808 0.995673 0.98 0.964842 0.959789 0.951579 +0.947789 0.949053 0.950947 0.970526 0.986531 0.903579 0.681895 0.505053 +0.359893 0.356107 0.310667 0.22168 0.000846667 0.000826667 0.000786667 0.000753333 +0.000733333 0.000713333 0.00074 0.000753333 0.000733333 0.000733333 0.00074 0.000733333 +0.000713333 0.000706667 0.000733333 0.00074 0.000706667 0.000706667 0.000713333 0.000733333 +0.00074 0.000746667 0.00074 0.000726667 0.000713333 0.0007 0.000693333 0.000686667 +0.00068 0.000693333 0.0007 0.000706667 0.000673333 0.00066 0.000686667 0.0007 +0.000686667 0.000693333 0.000713333 0.000733333 0.000713333 0.000706667 0.000713333 0.000713333 +0.0007 0.000686667 0.000706667 0.000733333 0.000713333 0.000693333 0.000693333 0.00068 +0.000673333 0.000706667 0.000733333 0.00074 0.000746667 0.00074 0.00074 0.000786667 +0.000806667 0.0008 0.000786667 0.000766667 0.00078 0.00086 0.25008 0.303093 +0.246293 0.000893333 0.234933 0.422373 0.639579 0.877053 0.985224 0.971158 +0.945263 0.945263 0.951579 0.954737 0.961684 0.975579 0.983265 0.985551 +0.98751 0.998939 1.01331 1.01722 1.0182 1.01886 1.01624 1.01722 +1.01657 1.01722 1.01788 1.01657 1.01624 1.01559 1.01037 1.01624 +1.09956 1.3841 1.28824 1.0538 1.0329 1.04237 1.0538 1.03878 +0.988163 0.844842 0.674947 0.545474 0.46024 0.412907 0.39776 0.378827 +0.359893 0.344747 0.339067 0.333387 0.333387 0.3296 0.325813 0.310667 +0.325813 0.378827 0.40912 0.371253 0.342853 0.322027 0.29552 0.282267 +0.286053 0.291733 0.28984 0.293627 0.28984 0.297413 0.31824 0.342853 +0.344747 0.33528 0.33528 0.34664 0.38072 0.450773 0.490533 0.439413 +0.350427 0.304987 0.30688 0.327707 0.333387 0.325813 0.314453 0.308773 +0.316347 0.36368 0.40912 0.367467 0.31824 0.303093 0.30688 0.303093 +0.304987 0.36368 0.429947 0.39208 0.33528 0.31256 0.299307 0.3012 +0.354213 0.496213 0.515789 0.4432 0.361787 0.344747 0.331493 0.31256 +0.3012 0.293627 0.308773 0.325813 0.322027 0.299307 0.299307 0.32392 +0.30688 0.274693 0.26712 0.26712 0.259547 0.25008 0.23872 0.240613 +0.270907 0.358 0.393973 0.30688 0.257653 0.251973 0.23304 0.236827 +0.276587 0.33528 0.30688 0.287947 0.31824 0.34096 0.378827 0.393973 +0.34096 0.291733 0.280373 0.3012 0.327707 0.32392 0.325813 0.428053 +0.527158 0.49432 0.33528 0.31824 0.33528 0.36368 0.411013 0.40912 +0.356107 0.322027 0.320133 0.337173 0.38072 0.441307 0.446987 0.39776 +0.378827 0.39208 0.395867 0.40912 0.411013 0.411013 0.456453 0.524632 +0.594737 0.706526 0.832211 0.930105 0.977474 0.984571 0.983918 0.985878 +0.992082 0.999592 1.01167 1.0231 1.03127 1.03682 1.03878 1.04073 +1.04041 1.0378 1.04139 1.044 1.044 1.04269 1.04237 1.04237 +1.04073 1.04237 1.04335 1.04237 1.04237 1.04139 1.04171 1.04171 +1.03976 1.04269 1.04367 1.04073 1.04106 1.03976 1.03682 1.03812 +1.04106 1.04008 1.04041 1.04008 1.03812 1.04073 1.03976 1.04106 +1.04106 1.03976 1.03976 1.03943 1.03682 1.0378 1.0378 1.03649 +1.03682 1.03518 1.03649 1.03584 1.03616 1.03714 1.03453 1.0342 +1.03747 1.03682 1.0342 1.03812 1.04041 1.04204 1.03943 1.03518 +1.03747 1.0378 1.03518 1.03812 1.04269 1.04041 1.03616 1.0378 +1.04171 1.04204 1.03943 1.03878 1.03747 1.03584 1.03616 1.03224 +1.02637 1.02441 1.02473 1.02376 1.02147 1.02212 1.02506 1.02767 +1.03224 1.03453 1.03747 1.04106 1.04367 1.04073 1.04008 1.04237 +1.04237 1.04073 1.03682 1.03649 1.03616 1.03388 1.0342 1.03127 +1.02539 1.02114 1.01788 1.01853 1.0231 1.02441 1.02245 1.02082 +1.01624 1.012 1.00906 0.996653 0.953474 0.854316 0.744421 0.666737 +0.637053 0.631368 0.632 0.624421 0.611158 0.587789 0.540421 0.4716 +0.365573 0.303093 0.304987 0.407227 0.526526 0.574526 0.581474 0.539158 +0.504421 0.484853 0.5 0.517684 0.539158 0.541053 0.508211 0.4148 +0.390187 0.46024 0.525263 0.556842 0.568211 0.540421 0.4716 0.388293 +0.373147 0.36936 0.354213 0.34096 0.325813 0.30688 0.304987 0.316347 +0.31256 0.297413 0.308773 0.32392 0.344747 0.371253 0.373147 0.348533 +0.327707 0.316347 0.304987 0.299307 0.31256 0.337173 0.384507 0.40344 +0.36368 0.33528 0.31824 0.314453 0.34096 0.373147 0.354213 0.32392 +0.314453 0.322027 0.38072 0.4148 0.393973 0.38072 0.36368 0.350427 +0.356107 0.371253 0.390187 0.399653 0.399653 0.384507 0.371253 0.367467 +0.378827 0.39208 0.399653 0.412907 0.433733 0.518316 0.623789 0.830316 +1.04563 1.26694 1.05184 1.00743 1.00743 1.02865 1.11173 1.30041 +1.2639 1.05608 1.0218 1.01233 1.01233 1.01102 1.01298 1.01461 +1.01429 1.01657 1.0169 1.01494 1.01461 1.01624 1.01722 1.01559 +1.01396 1.01396 1.01298 1.01233 1.01461 1.012 1.00547 1.00449 +1.00906 1.01004 1.00678 0.997959 0.982939 0.965474 0.959789 0.952211 +0.944632 0.946526 0.949684 0.962316 0.984898 0.951579 0.768421 0.551789 +0.356107 0.331493 0.34096 0.282267 0.00096 0.00084 0.000813333 0.0008 +0.000766667 0.00078 0.000773333 0.000746667 0.000713333 0.000713333 0.00072 0.00074 +0.000713333 0.00072 0.000733333 0.00072 0.0007 0.00068 0.000693333 0.000713333 +0.000706667 0.00072 0.000733333 0.000726667 0.0007 0.0007 0.00072 0.000753333 +0.000746667 0.00072 0.000713333 0.000713333 0.000686667 0.000673333 0.000673333 0.00068 +0.000673333 0.000666667 0.0007 0.00072 0.0007 0.000693333 0.000693333 0.000686667 +0.00068 0.000686667 0.0007 0.000726667 0.0007 0.00068 0.00072 0.00074 +0.000733333 0.0007 0.000706667 0.00074 0.00074 0.000726667 0.000733333 0.000773333 +0.000806667 0.00082 0.000826667 0.000813333 0.0008 0.000906667 0.274693 0.303093 +0.22736 0.000913333 0.276587 0.515789 0.723579 0.934526 0.983918 0.958526 +0.940211 0.945263 0.952842 0.952211 0.965474 0.987184 0.999592 0.999592 +0.994041 0.999592 1.01135 1.01363 1.01527 1.01722 1.01624 1.0169 +1.01527 1.01592 1.01624 1.01527 1.01559 1.01494 1.00906 1.012 +1.05869 1.35063 1.28215 1.05673 1.0391 1.04465 1.04367 1.01167 +0.922526 0.773474 0.630737 0.530947 0.45456 0.4148 0.395867 0.373147 +0.358 0.35232 0.339067 0.325813 0.31824 0.3296 0.331493 0.31824 +0.322027 0.344747 0.35232 0.3296 0.31256 0.3012 0.299307 0.303093 +0.3012 0.29552 0.297413 0.304987 0.29552 0.29552 0.310667 0.310667 +0.304987 0.314453 0.316347 0.308773 0.31256 0.365573 0.450773 0.4716 +0.395867 0.32392 0.322027 0.350427 0.358 0.35232 0.333387 0.322027 +0.33528 0.378827 0.395867 0.36936 0.348533 0.325813 0.30688 0.3012 +0.299307 0.34664 0.439413 0.496213 0.439413 0.33528 0.291733 0.304987 +0.358 0.46024 0.5 0.412907 0.344747 0.337173 0.327707 0.320133 +0.308773 0.3012 0.31824 0.3296 0.322027 0.31256 0.333387 0.34096 +0.299307 0.27848 0.280373 0.269013 0.257653 0.259547 0.25576 0.240613 +0.265227 0.388293 0.418587 0.29552 0.251973 0.246293 0.231147 0.231147 +0.2728 0.320133 0.314453 0.299307 0.303093 0.344747 0.42048 0.456453 +0.39208 0.308773 0.27848 0.28984 0.308773 0.333387 0.371253 0.473493 +0.546105 0.515158 0.36368 0.331493 0.327707 0.342853 0.37504 0.418587 +0.399653 0.333387 0.31824 0.337173 0.40344 0.46024 0.42616 0.382613 +0.3864 0.416693 0.43752 0.42616 0.40912 0.422373 0.445093 0.469707 +0.512 0.584632 0.698316 0.827789 0.928842 0.976211 0.983265 0.983265 +0.985551 0.994041 1.00678 1.01592 1.02408 1.03094 1.0342 1.03714 +1.03845 1.03976 1.04433 1.04596 1.04204 1.04041 1.04433 1.04563 +1.04269 1.04367 1.04498 1.04465 1.04465 1.04367 1.044 1.04302 +1.03943 1.044 1.04367 1.03845 1.03976 1.04041 1.0378 1.03878 +1.0391 1.04041 1.03878 1.03845 1.04008 1.04367 1.04237 1.04171 +1.04106 1.0378 1.0378 1.03878 1.03616 1.0391 1.03943 1.03486 +1.03682 1.03682 1.03812 1.03747 1.03714 1.0378 1.03518 1.03322 +1.03584 1.03551 1.0329 1.03682 1.0391 1.03943 1.03812 1.03649 +1.03845 1.03747 1.03551 1.0378 1.04204 1.03878 1.03649 1.03878 +1.04204 1.04269 1.04106 1.04008 1.03682 1.03649 1.03714 1.03322 +1.02898 1.02571 1.02473 1.02343 1.02016 1.02114 1.02376 1.02506 +1.03061 1.0329 1.03714 1.03878 1.04041 1.03845 1.03616 1.0391 +1.04041 1.03812 1.03714 1.03486 1.03127 1.03127 1.03094 1.02343 +1.01527 1.01167 1.01559 1.01951 1.02506 1.02604 1.0231 1.02016 +1.01788 1.01233 1.00351 0.976842 0.884 0.768421 0.68 0.644 +0.633263 0.628842 0.628842 0.62 0.594737 0.555579 0.500632 0.39208 +0.34096 0.28416 0.246293 0.299307 0.45456 0.541684 0.558105 0.512 +0.401547 0.34664 0.34096 0.395867 0.48864 0.505053 0.44888 0.361787 +0.320133 0.361787 0.464027 0.532211 0.566947 0.554316 0.498107 0.373147 +0.337173 0.33528 0.342853 0.358 0.348533 0.322027 0.32392 0.354213 +0.35232 0.342853 0.365573 0.384507 0.3864 0.37504 0.359893 0.33528 +0.314453 0.304987 0.291733 0.287947 0.29552 0.327707 0.38072 0.39776 +0.358 0.322027 0.320133 0.3296 0.34096 0.337173 0.320133 0.308773 +0.31256 0.32392 0.38072 0.416693 0.433733 0.490533 0.503158 0.464027 +0.40912 0.378827 0.359893 0.358 0.3864 0.399653 0.382613 0.361787 +0.365573 0.378827 0.393973 0.40912 0.43184 0.511368 0.613684 0.820842 +1.04498 1.28368 1.05771 1.012 1.00743 1.02408 1.07978 1.29128 +1.29281 1.07369 1.02473 1.01396 1.01298 1.01135 1.01363 1.01429 +1.01461 1.01657 1.01788 1.01559 1.01592 1.01853 1.0169 1.01592 +1.01429 1.01331 1.01494 1.01559 1.01657 1.01233 1.00547 1.00318 +1.00906 1.012 1.00873 0.999265 0.984898 0.968632 0.960421 0.954737 +0.944632 0.945263 0.950947 0.960421 0.98098 0.976842 0.843579 0.614316 +0.407227 0.310667 0.3296 0.327707 0.263333 0.000946667 0.000873333 0.000833333 +0.000773333 0.000746667 0.00078 0.00076 0.000733333 0.00072 0.000733333 0.00072 +0.0007 0.000713333 0.000733333 0.0007 0.000713333 0.000706667 0.0007 0.000706667 +0.000713333 0.000693333 0.0007 0.000706667 0.000686667 0.000686667 0.000673333 0.000693333 +0.0007 0.000706667 0.000706667 0.00072 0.000706667 0.000713333 0.00068 0.000666667 +0.000666667 0.000653333 0.00066 0.00068 0.000686667 0.000713333 0.000713333 0.000706667 +0.000726667 0.000726667 0.000726667 0.000733333 0.0007 0.00068 0.0007 0.000726667 +0.000726667 0.000713333 0.000713333 0.000726667 0.00072 0.000713333 0.000713333 0.0007 +0.00072 0.00074 0.000793333 0.000806667 0.000813333 0.000986667 0.303093 0.30688 +0.219787 0.000973333 0.327707 0.572632 0.808842 0.972421 0.978105 0.950316 +0.941474 0.947158 0.950947 0.950316 0.964842 0.988816 1.00384 1.00482 +0.996327 0.998939 1.00873 1.012 1.01461 1.01657 1.01657 1.01657 +1.01592 1.01755 1.01657 1.01396 1.01331 1.01331 1.00776 1.00841 +1.04563 1.29433 1.26846 1.05706 1.04237 1.04498 1.03127 0.985551 +0.862526 0.719789 0.597895 0.519579 0.44888 0.407227 0.384507 0.373147 +0.378827 0.37504 0.354213 0.333387 0.325813 0.34096 0.35232 0.348533 +0.333387 0.310667 0.291733 0.293627 0.3012 0.304987 0.31824 0.316347 +0.30688 0.304987 0.303093 0.30688 0.303093 0.29552 0.293627 0.28416 +0.3012 0.333387 0.320133 0.293627 0.28984 0.316347 0.382613 0.458347 +0.450773 0.39776 0.384507 0.393973 0.424267 0.424267 0.361787 0.322027 +0.333387 0.359893 0.350427 0.33528 0.327707 0.31824 0.316347 0.32392 +0.34096 0.37504 0.452667 0.519579 0.517053 0.407227 0.314453 0.304987 +0.36368 0.44888 0.44888 0.388293 0.365573 0.34664 0.327707 0.32392 +0.31256 0.291733 0.316347 0.331493 0.32392 0.3296 0.367467 0.348533 +0.297413 0.282267 0.28416 0.282267 0.26712 0.263333 0.27848 0.270907 +0.287947 0.361787 0.350427 0.257653 0.225467 0.22168 0.22736 0.23304 +0.2728 0.304987 0.316347 0.308773 0.303093 0.34096 0.399653 0.452667 +0.43184 0.3296 0.276587 0.28416 0.3012 0.320133 0.34664 0.458347 +0.563158 0.545474 0.40912 0.33528 0.327707 0.333387 0.339067 0.399653 +0.428053 0.361787 0.331493 0.350427 0.42616 0.467813 0.42048 0.40344 +0.412907 0.428053 0.458347 0.456453 0.43752 0.424267 0.422373 0.42616 +0.435627 0.506316 0.575158 0.692632 0.829684 0.936421 0.981306 0.981306 +0.98 0.986857 0.995673 1.00253 1.01069 1.01886 1.02669 1.0342 +1.03714 1.03943 1.044 1.04596 1.04139 1.03943 1.04465 1.04661 +1.04465 1.04694 1.04694 1.04531 1.04367 1.04302 1.044 1.04465 +1.04204 1.04433 1.04237 1.03845 1.03943 1.03976 1.03878 1.0391 +1.04041 1.04269 1.03845 1.0391 1.04139 1.04367 1.04269 1.04041 +1.03943 1.03616 1.03551 1.03747 1.03649 1.04073 1.03878 1.03355 +1.03551 1.03616 1.03714 1.03845 1.03714 1.03682 1.03551 1.0342 +1.03616 1.03518 1.03486 1.03714 1.03682 1.03616 1.03518 1.03714 +1.03845 1.0378 1.0378 1.03878 1.04008 1.03845 1.0378 1.03976 +1.04335 1.04139 1.04041 1.04139 1.03812 1.0378 1.03714 1.03388 +1.02898 1.02343 1.0218 1.0218 1.01951 1.02082 1.02082 1.02147 +1.02865 1.03159 1.03453 1.03649 1.03878 1.03584 1.03453 1.03584 +1.03616 1.03584 1.03747 1.0342 1.02996 1.02702 1.0231 1.01853 +1.01592 1.0182 1.0231 1.02408 1.02637 1.02539 1.02441 1.0231 +1.01886 1.00873 0.98751 0.911158 0.801263 0.702737 0.650947 0.639579 +0.635158 0.631368 0.626947 0.611789 0.576421 0.530316 0.446987 0.358 +0.320133 0.287947 0.269013 0.286053 0.393973 0.523368 0.539789 0.450773 +0.310667 0.282267 0.310667 0.36368 0.428053 0.43752 0.3864 0.325813 +0.291733 0.280373 0.3012 0.40912 0.529684 0.551789 0.510105 0.393973 +0.34096 0.34664 0.365573 0.367467 0.350427 0.337173 0.36936 0.429947 +0.446987 0.433733 0.441307 0.428053 0.393973 0.359893 0.331493 0.30688 +0.303093 0.310667 0.30688 0.303093 0.31256 0.34664 0.373147 0.365573 +0.35232 0.339067 0.344747 0.371253 0.37504 0.337173 0.308773 0.308773 +0.316347 0.33528 0.395867 0.43752 0.479173 0.533474 0.577053 0.585895 +0.554947 0.512 0.43184 0.384507 0.405333 0.424267 0.395867 0.358 +0.354213 0.361787 0.373147 0.399653 0.428053 0.506316 0.601684 0.808211 +1.04139 1.28824 1.07065 1.01461 1.00482 1.01886 1.05771 1.28672 +1.33085 1.11782 1.02996 1.01722 1.01429 1.01265 1.01331 1.01396 +1.01527 1.01624 1.0169 1.01527 1.01592 1.01657 1.01494 1.01592 +1.01624 1.01429 1.01494 1.01559 1.01657 1.01298 1.00416 0.999918 +1.00743 1.01298 1.00971 0.999918 0.986857 0.975579 0.967368 0.959158 +0.949053 0.947158 0.949684 0.954737 0.968632 0.982286 0.908632 0.693263 +0.506316 0.314453 0.29552 0.331493 0.322027 0.25576 0.000946667 0.000866667 +0.000786667 0.000753333 0.000793333 0.0008 0.000753333 0.000733333 0.000726667 0.000706667 +0.00072 0.00074 0.000726667 0.000706667 0.00074 0.000733333 0.000713333 0.00072 +0.000713333 0.000706667 0.00072 0.000713333 0.000726667 0.00072 0.000673333 0.00066 +0.00066 0.00066 0.00068 0.000706667 0.000713333 0.00074 0.00074 0.00074 +0.000753333 0.000733333 0.000693333 0.000686667 0.000686667 0.000693333 0.000686667 0.000693333 +0.000706667 0.000713333 0.00072 0.000733333 0.000726667 0.000713333 0.00072 0.000726667 +0.00074 0.00074 0.000733333 0.000713333 0.00072 0.000733333 0.00074 0.000746667 +0.000733333 0.000726667 0.00076 0.000766667 0.000766667 0.223573 0.316347 0.28984 +0.217893 0.240613 0.416693 0.643368 0.883368 0.983265 0.966737 0.945263 +0.944632 0.949053 0.950316 0.956 0.966105 0.981959 0.990449 0.991755 +0.98849 0.99502 1.00776 1.01298 1.01559 1.0182 1.0182 1.01624 +1.01657 1.01788 1.01592 1.01429 1.01396 1.01135 1.0071 1.0058 +1.03224 1.20455 1.23042 1.05608 1.04237 1.04171 1.02245 0.960421 +0.817053 0.668632 0.561895 0.501263 0.418587 0.384507 0.367467 0.359893 +0.361787 0.359893 0.348533 0.333387 0.331493 0.350427 0.36368 0.358 +0.342853 0.31256 0.293627 0.303093 0.30688 0.308773 0.31824 0.308773 +0.303093 0.303093 0.297413 0.3012 0.299307 0.299307 0.303093 0.297413 +0.304987 0.316347 0.303093 0.287947 0.291733 0.3012 0.3296 0.40912 +0.473493 0.446987 0.412907 0.4148 0.45456 0.44888 0.378827 0.34096 +0.34096 0.33528 0.31824 0.31256 0.31256 0.314453 0.316347 0.331493 +0.350427 0.358 0.388293 0.46024 0.5 0.439413 0.34096 0.308773 +0.367467 0.441307 0.411013 0.36368 0.37504 0.365573 0.337173 0.322027 +0.304987 0.3012 0.304987 0.314453 0.308773 0.331493 0.378827 0.344747 +0.29552 0.286053 0.3012 0.314453 0.293627 0.26144 0.25576 0.270907 +0.314453 0.339067 0.297413 0.25576 0.234933 0.22168 0.22168 0.242507 +0.26712 0.282267 0.280373 0.293627 0.304987 0.316347 0.337173 0.388293 +0.429947 0.365573 0.3012 0.29552 0.31256 0.310667 0.314453 0.424267 +0.562526 0.569474 0.464027 0.350427 0.327707 0.320133 0.31256 0.350427 +0.40344 0.388293 0.354213 0.365573 0.45456 0.500632 0.462133 0.42048 +0.39776 0.401547 0.422373 0.4432 0.439413 0.4148 0.399653 0.405333 +0.407227 0.424267 0.502526 0.577684 0.700211 0.840421 0.937053 0.976211 +0.980653 0.978737 0.983265 0.991429 1.00057 1.01004 1.02016 1.02931 +1.03518 1.03747 1.04269 1.04596 1.04302 1.03976 1.04302 1.04629 +1.04465 1.04531 1.04629 1.04498 1.04433 1.04204 1.04139 1.044 +1.04302 1.04204 1.03845 1.0378 1.03878 1.03878 1.0391 1.03845 +1.03878 1.04171 1.04171 1.04302 1.04106 1.04073 1.04041 1.03943 +1.04073 1.03976 1.0378 1.03714 1.0378 1.04139 1.03682 1.03355 +1.03518 1.03486 1.03616 1.03943 1.03649 1.03551 1.03518 1.03518 +1.0378 1.03551 1.03616 1.0378 1.03812 1.03747 1.03486 1.03682 +1.03812 1.03747 1.03714 1.03878 1.03943 1.03649 1.03747 1.03943 +1.04204 1.04041 1.04171 1.04269 1.0391 1.03812 1.03714 1.03453 +1.02898 1.02408 1.02082 1.01984 1.01886 1.01984 1.01886 1.0218 +1.02702 1.02833 1.03127 1.03551 1.03845 1.0342 1.03257 1.03029 +1.03029 1.03257 1.03322 1.03192 1.028 1.02049 1.01135 1.00776 +1.01265 1.0231 1.02833 1.02669 1.02767 1.02865 1.02669 1.01853 +1.00841 0.994041 0.939579 0.822105 0.721053 0.663579 0.645263 0.640211 +0.633895 0.630105 0.618737 0.594737 0.554316 0.506316 0.40912 0.359893 +0.33528 0.310667 0.282267 0.27848 0.39776 0.523368 0.526526 0.40344 +0.286053 0.269013 0.29552 0.35232 0.401547 0.40344 0.373147 0.327707 +0.291733 0.269013 0.251973 0.31824 0.48296 0.522737 0.48864 0.399653 +0.36936 0.367467 0.359893 0.34664 0.34664 0.365573 0.446987 0.523368 +0.537263 0.520842 0.49432 0.424267 0.373147 0.35232 0.33528 0.32392 +0.320133 0.32392 0.337173 0.35232 0.371253 0.39208 0.3864 0.348533 +0.320133 0.322027 0.348533 0.412907 0.435627 0.36936 0.316347 0.314453 +0.322027 0.342853 0.39776 0.428053 0.475387 0.543579 0.626316 0.688211 +0.667368 0.586526 0.513895 0.43752 0.412907 0.411013 0.39776 0.37504 +0.367467 0.367467 0.38072 0.399653 0.422373 0.496213 0.593474 0.803789 +1.03812 1.26846 1.06913 1.01461 1.00286 1.01657 1.05282 1.28063 +1.36889 1.1589 1.03224 1.01624 1.01429 1.01624 1.01559 1.01396 +1.01527 1.01396 1.01461 1.01592 1.01657 1.01559 1.01527 1.01624 +1.01624 1.01429 1.01429 1.01624 1.0169 1.01429 1.00449 0.997633 +1.00384 1.01037 1.00776 1.00253 0.990776 0.982939 0.976211 0.966105 +0.954105 0.948421 0.949684 0.952842 0.960421 0.981306 0.955368 0.777263 +0.558105 0.344747 0.263333 0.286053 0.325813 0.303093 0.246293 0.000953333 +0.000866667 0.000806667 0.000773333 0.000766667 0.000726667 0.000713333 0.000733333 0.00074 +0.000766667 0.00076 0.000713333 0.000706667 0.00074 0.000733333 0.00072 0.00072 +0.000713333 0.00072 0.000726667 0.000706667 0.000713333 0.00072 0.000693333 0.00068 +0.000673333 0.000666667 0.00068 0.0007 0.0007 0.000706667 0.000713333 0.00072 +0.000726667 0.00072 0.000706667 0.000713333 0.000706667 0.000686667 0.000706667 0.000706667 +0.00068 0.000666667 0.00068 0.0007 0.00072 0.000746667 0.000746667 0.000733333 +0.00074 0.000746667 0.000746667 0.000753333 0.00076 0.000766667 0.00078 0.000806667 +0.0008 0.000793333 0.000786667 0.000753333 0.000786667 0.236827 0.32392 0.276587 +0.00098 0.263333 0.511368 0.722947 0.938947 0.983592 0.957263 0.944 +0.949684 0.952842 0.952211 0.958526 0.965474 0.969263 0.975579 0.978737 +0.98098 0.992082 1.00645 1.01102 1.01265 1.01559 1.01624 1.01592 +1.01788 1.01788 1.01494 1.01461 1.01331 1.00906 1.0058 1.0022 +1.02016 1.11934 1.19238 1.05706 1.04008 1.03094 1.00514 0.910526 +0.754526 0.615579 0.534105 0.47728 0.4148 0.390187 0.371253 0.35232 +0.33528 0.327707 0.325813 0.32392 0.34096 0.371253 0.367467 0.34096 +0.331493 0.3296 0.327707 0.337173 0.325813 0.327707 0.3296 0.31256 +0.30688 0.303093 0.3012 0.293627 0.291733 0.303093 0.30688 0.303093 +0.297413 0.304987 0.308773 0.310667 0.320133 0.310667 0.30688 0.365573 +0.441307 0.422373 0.359893 0.342853 0.367467 0.37504 0.36368 0.36368 +0.350427 0.331493 0.320133 0.314453 0.316347 0.322027 0.32392 0.339067 +0.350427 0.337173 0.33528 0.354213 0.39776 0.416693 0.37504 0.354213 +0.405333 0.43752 0.382613 0.34664 0.367467 0.378827 0.350427 0.32392 +0.314453 0.320133 0.316347 0.316347 0.31256 0.34096 0.371253 0.325813 +0.293627 0.293627 0.30688 0.339067 0.344747 0.29552 0.25576 0.269013 +0.320133 0.344747 0.320133 0.280373 0.253867 0.234933 0.229253 0.236827 +0.265227 0.282267 0.27848 0.287947 0.308773 0.30688 0.31824 0.35232 +0.418587 0.429947 0.342853 0.286053 0.287947 0.293627 0.31256 0.388293 +0.542316 0.577684 0.505684 0.358 0.325813 0.320133 0.322027 0.331493 +0.365573 0.395867 0.39208 0.44888 0.527789 0.534105 0.498107 0.399653 +0.358 0.36368 0.382613 0.407227 0.424267 0.405333 0.395867 0.40344 +0.401547 0.407227 0.439413 0.513895 0.584 0.702105 0.832211 0.934526 +0.976211 0.977474 0.980327 0.986204 0.989469 0.998286 1.01102 1.0218 +1.03094 1.03616 1.04171 1.04563 1.04498 1.04302 1.04465 1.04824 +1.04661 1.04433 1.04531 1.04531 1.04498 1.04302 1.04367 1.04433 +1.04269 1.04237 1.0391 1.0378 1.04008 1.03878 1.0391 1.04008 +1.03943 1.04171 1.04531 1.04367 1.04204 1.04204 1.04041 1.03976 +1.04106 1.04073 1.03878 1.03616 1.03812 1.04106 1.03649 1.03388 +1.03453 1.03551 1.03551 1.03943 1.0378 1.03453 1.03518 1.03518 +1.03878 1.03584 1.03616 1.03551 1.03682 1.03812 1.03649 1.03747 +1.03812 1.03812 1.0378 1.0378 1.03812 1.03682 1.03943 1.04139 +1.04139 1.04041 1.04204 1.04335 1.04171 1.03943 1.03682 1.03257 +1.02702 1.02539 1.0231 1.01853 1.01722 1.01984 1.02049 1.02473 +1.02441 1.02506 1.02833 1.0329 1.03747 1.03551 1.03127 1.02767 +1.02441 1.02376 1.02408 1.02408 1.01886 1.01069 1.00449 1.00057 +1.00841 1.0218 1.02963 1.03061 1.02996 1.028 1.02082 1.00645 +0.993714 0.968632 0.870105 0.738737 0.669895 0.649053 0.646526 0.642105 +0.633895 0.625053 0.606105 0.576421 0.532211 0.473493 0.405333 0.38072 +0.37504 0.33528 0.28984 0.320133 0.479173 0.524632 0.500632 0.36936 +0.280373 0.265227 0.297413 0.35232 0.388293 0.38072 0.365573 0.344747 +0.308773 0.293627 0.291733 0.342853 0.433733 0.475387 0.4148 0.359893 +0.35232 0.34664 0.339067 0.359893 0.405333 0.47728 0.536632 0.575158 +0.562526 0.517684 0.458347 0.399653 0.367467 0.356107 0.34096 0.331493 +0.333387 0.337173 0.337173 0.34664 0.36368 0.3864 0.393973 0.361787 +0.316347 0.308773 0.3296 0.3864 0.42048 0.36936 0.32392 0.31256 +0.316347 0.34664 0.39776 0.405333 0.416693 0.508211 0.592211 0.676211 +0.674316 0.590316 0.508211 0.416693 0.39208 0.395867 0.416693 0.4148 +0.395867 0.388293 0.399653 0.4148 0.439413 0.498107 0.589053 0.800632 +1.03518 1.25172 1.07522 1.01755 1.00253 1.01429 1.04922 1.27759 +1.38715 1.18173 1.03518 1.0169 1.01461 1.0169 1.01559 1.01396 +1.01559 1.01559 1.01559 1.01624 1.01527 1.01657 1.0182 1.01624 +1.01559 1.01527 1.01494 1.01624 1.01592 1.01331 1.00514 0.996 +1.00024 1.00776 1.00743 1.00449 0.997306 0.988816 0.982286 0.973684 +0.960421 0.950947 0.949684 0.954105 0.959158 0.978105 0.980327 0.851789 +0.621895 0.40912 0.257653 0.23872 0.280373 0.31824 0.303093 0.253867 +0.000953333 0.000826667 0.00076 0.000753333 0.00074 0.00076 0.000766667 0.000753333 +0.00076 0.00072 0.0007 0.000713333 0.000713333 0.00074 0.000733333 0.000726667 +0.000726667 0.000713333 0.00072 0.0007 0.000693333 0.000706667 0.000713333 0.00072 +0.000706667 0.0007 0.000693333 0.000693333 0.000693333 0.000673333 0.000686667 0.00068 +0.00068 0.00068 0.000693333 0.000693333 0.000686667 0.000686667 0.000713333 0.000726667 +0.000713333 0.0007 0.000693333 0.000686667 0.0007 0.000706667 0.000706667 0.000706667 +0.000733333 0.000753333 0.00078 0.000793333 0.00078 0.000773333 0.000773333 0.0008 +0.000786667 0.000793333 0.000773333 0.00076 0.000866667 0.269013 0.331493 0.263333 +0.00098 0.304987 0.563158 0.801895 0.970526 0.977474 0.949684 0.939579 +0.947158 0.953474 0.952211 0.960421 0.963579 0.960421 0.964211 0.968632 +0.973684 0.990449 1.00547 1.01004 1.01167 1.01461 1.01527 1.01331 +1.01461 1.01592 1.01461 1.01559 1.01331 1.00873 1.00449 0.998612 +1.01004 1.05249 1.13304 1.05445 1.03551 1.01624 0.974316 0.844842 +0.691368 0.571368 0.512632 0.46024 0.42048 0.40912 0.393973 0.37504 +0.356107 0.331493 0.308773 0.310667 0.34664 0.36936 0.348533 0.31824 +0.32392 0.342853 0.36368 0.371253 0.359893 0.348533 0.320133 0.299307 +0.308773 0.304987 0.303093 0.303093 0.31256 0.327707 0.325813 0.316347 +0.32392 0.337173 0.348533 0.361787 0.356107 0.322027 0.316347 0.367467 +0.42048 0.3864 0.314453 0.293627 0.304987 0.314453 0.325813 0.344747 +0.344747 0.342853 0.339067 0.325813 0.32392 0.327707 0.337173 0.348533 +0.350427 0.342853 0.327707 0.33528 0.37504 0.422373 0.441307 0.4432 +0.4716 0.450773 0.37504 0.344747 0.356107 0.38072 0.359893 0.337173 +0.3296 0.322027 0.3296 0.337173 0.327707 0.36368 0.3864 0.325813 +0.29552 0.30688 0.310667 0.333387 0.382613 0.348533 0.287947 0.282267 +0.30688 0.350427 0.342853 0.28416 0.2444 0.229253 0.22736 0.23304 +0.2728 0.3012 0.29552 0.303093 0.333387 0.337173 0.3296 0.339067 +0.411013 0.452667 0.34664 0.282267 0.274693 0.297413 0.316347 0.371253 +0.525895 0.584632 0.535368 0.407227 0.348533 0.337173 0.344747 0.339067 +0.34096 0.3864 0.46024 0.526526 0.554947 0.529053 0.456453 0.373147 +0.350427 0.36368 0.395867 0.40912 0.393973 0.376933 0.399653 0.412907 +0.395867 0.405333 0.433733 0.473493 0.507579 0.576421 0.697053 0.834105 +0.933895 0.975579 0.981633 0.982939 0.983918 0.991429 1.00416 1.01429 +1.02571 1.03518 1.04204 1.04727 1.04857 1.04922 1.04792 1.04759 +1.04759 1.04531 1.04433 1.04465 1.04367 1.04302 1.04433 1.04204 +1.04073 1.04171 1.03747 1.03518 1.0391 1.03845 1.04008 1.04204 +1.04106 1.04302 1.04531 1.04367 1.04433 1.04302 1.04106 1.04139 +1.03976 1.03747 1.03616 1.03649 1.03845 1.0391 1.03551 1.03322 +1.0342 1.03616 1.03486 1.03845 1.0378 1.03322 1.03453 1.03355 +1.03486 1.03388 1.03682 1.03584 1.03584 1.03747 1.03747 1.03812 +1.0391 1.03976 1.04073 1.03943 1.03747 1.03812 1.04106 1.04335 +1.04465 1.04139 1.04237 1.04465 1.04433 1.04237 1.0391 1.03453 +1.02963 1.028 1.02376 1.01722 1.01592 1.01722 1.01951 1.02343 +1.02114 1.02376 1.02637 1.02898 1.03355 1.0342 1.03355 1.03094 +1.02343 1.01788 1.01527 1.01004 1.0058 1.00351 1.00612 1.01167 +1.01886 1.02441 1.02865 1.02996 1.02931 1.02212 1.00841 0.997306 +0.98098 0.904211 0.779158 0.676842 0.654105 0.652211 0.649684 0.642737 +0.632632 0.618105 0.590947 0.551789 0.508842 0.450773 0.42616 0.40912 +0.38072 0.32392 0.297413 0.4432 0.538526 0.520842 0.450773 0.37504 +0.299307 0.282267 0.325813 0.365573 0.384507 0.373147 0.358 0.339067 +0.31824 0.31824 0.34664 0.3864 0.407227 0.433733 0.393973 0.34096 +0.327707 0.314453 0.316347 0.358 0.42048 0.502526 0.543579 0.556211 +0.518316 0.43184 0.384507 0.36368 0.354213 0.339067 0.31824 0.31824 +0.32392 0.316347 0.29552 0.293627 0.316347 0.350427 0.382613 0.36368 +0.31824 0.303093 0.3012 0.333387 0.35232 0.3296 0.314453 0.308773 +0.316347 0.348533 0.384507 0.388293 0.38072 0.405333 0.516421 0.585263 +0.607368 0.556842 0.469707 0.373147 0.361787 0.38072 0.411013 0.429947 +0.42616 0.418587 0.411013 0.411013 0.441307 0.501895 0.580842 0.784842 +1.02735 1.23803 1.09195 1.02212 1.00286 1.00971 1.04465 1.2715 +1.39628 1.19694 1.03747 1.01788 1.01429 1.01461 1.01396 1.01396 +1.01592 1.01657 1.01559 1.01559 1.01429 1.01657 1.01755 1.01624 +1.01755 1.0169 1.01527 1.01494 1.01429 1.01265 1.00645 0.996 +0.996653 1.00449 1.00645 1.00514 1.00155 0.993388 0.986857 0.981633 +0.967368 0.953474 0.949684 0.953474 0.957895 0.971789 0.986204 0.913053 +0.695789 0.508211 0.291733 0.219787 0.223573 0.2728 0.314453 0.310667 +0.253867 0.00092 0.000813333 0.000773333 0.000766667 0.000773333 0.000753333 0.000726667 +0.000713333 0.00068 0.000693333 0.000713333 0.00068 0.0007 0.000706667 0.000713333 +0.00072 0.000726667 0.000726667 0.00072 0.000726667 0.00072 0.00074 0.00074 +0.00074 0.00072 0.000693333 0.000686667 0.000686667 0.000686667 0.000693333 0.000693333 +0.00068 0.000693333 0.000693333 0.000686667 0.0007 0.000713333 0.000713333 0.00072 +0.000733333 0.000746667 0.000726667 0.000713333 0.0007 0.000693333 0.0007 0.000706667 +0.000713333 0.000726667 0.000746667 0.000753333 0.00076 0.00076 0.000773333 0.000786667 +0.000766667 0.000746667 0.000726667 0.000733333 0.000873333 0.28416 0.333387 0.26144 +0.240613 0.399653 0.631368 0.873263 0.983918 0.968 0.943368 0.938316 +0.947158 0.953474 0.952211 0.962316 0.964211 0.957895 0.959158 0.966105 +0.976211 0.992082 1.0058 1.00939 1.01102 1.01461 1.01461 1.01167 +1.01233 1.01265 1.01167 1.01298 1.01004 1.00612 1.00286 0.998286 +1.00514 1.03551 1.06152 1.04596 1.02604 0.998939 0.922526 0.789895 +0.647158 0.543579 0.48864 0.439413 0.4148 0.399653 0.393973 0.401547 +0.395867 0.35232 0.32392 0.320133 0.333387 0.34664 0.337173 0.327707 +0.316347 0.32392 0.376933 0.407227 0.3864 0.344747 0.310667 0.297413 +0.303093 0.304987 0.310667 0.314453 0.339067 0.358 0.344747 0.320133 +0.308773 0.31824 0.337173 0.361787 0.37504 0.359893 0.354213 0.399653 +0.441307 0.390187 0.325813 0.30688 0.31256 0.316347 0.31256 0.320133 +0.331493 0.354213 0.365573 0.348533 0.337173 0.344747 0.348533 0.33528 +0.325813 0.33528 0.354213 0.38072 0.4148 0.44888 0.464027 0.486747 +0.504421 0.4716 0.384507 0.339067 0.33528 0.354213 0.339067 0.333387 +0.333387 0.316347 0.325813 0.3296 0.337173 0.395867 0.42048 0.350427 +0.310667 0.30688 0.293627 0.3012 0.348533 0.350427 0.308773 0.29552 +0.291733 0.303093 0.29552 0.25576 0.240613 0.234933 0.225467 0.231147 +0.274693 0.3012 0.291733 0.3012 0.325813 0.32392 0.314453 0.327707 +0.395867 0.39776 0.31256 0.286053 0.299307 0.316347 0.322027 0.371253 +0.510737 0.589053 0.585263 0.502526 0.367467 0.339067 0.339067 0.337173 +0.342853 0.376933 0.47728 0.529684 0.520842 0.450773 0.395867 0.37504 +0.36936 0.38072 0.411013 0.39776 0.373147 0.376933 0.411013 0.411013 +0.39208 0.407227 0.4432 0.45456 0.4432 0.506316 0.584 0.709053 +0.839789 0.932 0.971158 0.980653 0.982939 0.98849 0.997306 1.00612 +1.0182 1.03029 1.04041 1.04661 1.04857 1.04824 1.04465 1.04335 +1.04465 1.044 1.04237 1.04465 1.04335 1.04171 1.04171 1.04073 +1.03943 1.03976 1.03584 1.03584 1.03976 1.03878 1.03878 1.04008 +1.04237 1.04433 1.04694 1.04367 1.04171 1.0391 1.04073 1.04139 +1.03878 1.03682 1.03616 1.0378 1.03845 1.03812 1.03812 1.03682 +1.03649 1.03649 1.03453 1.03616 1.03649 1.03453 1.03616 1.0342 +1.03355 1.0342 1.03747 1.03616 1.03747 1.03878 1.03616 1.03747 +1.03878 1.0391 1.03878 1.03616 1.03747 1.03845 1.04041 1.04433 +1.04498 1.04171 1.04367 1.04498 1.04269 1.04171 1.04139 1.0378 +1.03388 1.02996 1.02408 1.01918 1.0182 1.0169 1.01951 1.0218 +1.02082 1.02441 1.02702 1.028 1.02963 1.03061 1.03486 1.0342 +1.02767 1.02343 1.01429 1.00286 1.00155 1.00612 1.01461 1.02604 +1.03029 1.02963 1.028 1.02376 1.01918 1.01102 1.0009 0.991102 +0.934526 0.811368 0.693895 0.645895 0.653474 0.656 0.653474 0.640211 +0.625053 0.606105 0.572 0.527158 0.458347 0.40912 0.4148 0.4148 +0.384507 0.331493 0.356107 0.525895 0.558737 0.5 0.40912 0.38072 +0.327707 0.316347 0.356107 0.382613 0.373147 0.36368 0.356107 0.342853 +0.333387 0.34664 0.382613 0.3864 0.393973 0.462133 0.422373 0.350427 +0.3296 0.314453 0.303093 0.316347 0.342853 0.395867 0.475387 0.48296 +0.42048 0.36936 0.342853 0.320133 0.31824 0.31256 0.303093 0.30688 +0.30688 0.29552 0.287947 0.29552 0.31256 0.331493 0.354213 0.348533 +0.31256 0.299307 0.291733 0.31256 0.32392 0.304987 0.3012 0.304987 +0.331493 0.350427 0.35232 0.359893 0.371253 0.378827 0.428053 0.519579 +0.563789 0.558105 0.508211 0.395867 0.350427 0.36368 0.39776 0.424267 +0.435627 0.439413 0.42616 0.407227 0.424267 0.492427 0.572 0.765895 +1.01265 1.1939 1.09195 1.02702 1.0071 1.01135 1.04335 1.24107 +1.37193 1.19847 1.0378 1.01788 1.01592 1.01527 1.01363 1.01429 +1.01494 1.01494 1.01494 1.01559 1.01559 1.01755 1.01494 1.01363 +1.01657 1.01657 1.01559 1.01559 1.01429 1.01363 1.00743 0.996653 +0.994367 1.00122 1.00645 1.00645 1.00318 0.994694 0.987837 0.983592 +0.973684 0.956632 0.945895 0.947789 0.951579 0.961684 0.985551 0.961684 +0.777263 0.556842 0.333387 0.00098 0.000893333 0.219787 0.276587 0.32392 +0.30688 0.231147 0.00082 0.000753333 0.00076 0.000753333 0.000753333 0.000753333 +0.000726667 0.000706667 0.00072 0.000713333 0.000673333 0.00066 0.000666667 0.000673333 +0.00068 0.000673333 0.000666667 0.00068 0.000693333 0.000706667 0.000733333 0.000746667 +0.000746667 0.000726667 0.000706667 0.000706667 0.000706667 0.0007 0.000686667 0.00068 +0.000693333 0.000693333 0.00068 0.000693333 0.000706667 0.000693333 0.000686667 0.000673333 +0.000686667 0.0007 0.000693333 0.00068 0.000693333 0.000713333 0.000746667 0.000733333 +0.00072 0.000713333 0.000706667 0.00072 0.000726667 0.000746667 0.000753333 0.00078 +0.00076 0.000733333 0.000726667 0.00076 0.000913333 0.299307 0.333387 0.25576 +0.263333 0.505053 0.709053 0.930737 0.986857 0.960421 0.942737 0.942737 +0.952842 0.954105 0.949053 0.957263 0.961053 0.955368 0.959158 0.969263 +0.981959 0.994694 1.00547 1.00906 1.01037 1.01363 1.01363 1.01135 +1.01167 1.01167 1.00971 1.01004 1.00678 1.00318 1.00155 0.999592 +1.00155 1.02114 1.044 1.03486 1.01331 0.981306 0.880842 0.745053 +0.611789 0.524 0.462133 0.422373 0.39776 0.38072 0.390187 0.4148 +0.40912 0.365573 0.337173 0.331493 0.3296 0.33528 0.333387 0.339067 +0.331493 0.337173 0.384507 0.4148 0.376933 0.34096 0.327707 0.327707 +0.325813 0.32392 0.320133 0.31824 0.339067 0.354213 0.33528 0.310667 +0.304987 0.308773 0.314453 0.331493 0.365573 0.388293 0.418587 0.502526 +0.512632 0.433733 0.359893 0.344747 0.354213 0.359893 0.339067 0.31824 +0.32392 0.35232 0.373147 0.367467 0.367467 0.376933 0.37504 0.361787 +0.36368 0.393973 0.418587 0.45456 0.473493 0.429947 0.40344 0.445093 +0.496213 0.48296 0.405333 0.34096 0.333387 0.333387 0.32392 0.325813 +0.325813 0.30688 0.314453 0.32392 0.34096 0.39776 0.399653 0.337173 +0.310667 0.29552 0.27848 0.291733 0.325813 0.339067 0.316347 0.3012 +0.28416 0.270907 0.263333 0.248187 0.2444 0.251973 0.234933 0.23304 +0.2728 0.291733 0.276587 0.291733 0.322027 0.3296 0.32392 0.34096 +0.393973 0.365573 0.320133 0.31256 0.31824 0.31256 0.3296 0.390187 +0.49432 0.588421 0.637684 0.549263 0.407227 0.359893 0.348533 0.337173 +0.348533 0.365573 0.435627 0.505684 0.452667 0.371253 0.382613 0.3864 +0.378827 0.378827 0.390187 0.3864 0.378827 0.39208 0.416693 0.407227 +0.39776 0.416693 0.46024 0.481067 0.452667 0.44888 0.517684 0.595368 +0.706526 0.833474 0.930737 0.973053 0.983918 0.986531 0.991755 1.00122 +1.01265 1.02376 1.03518 1.04204 1.04596 1.04759 1.04465 1.04237 +1.04367 1.04367 1.04367 1.04465 1.04367 1.04171 1.04073 1.03747 +1.03551 1.04008 1.03714 1.03682 1.04073 1.04139 1.04008 1.04008 +1.044 1.04302 1.04596 1.04302 1.03943 1.03812 1.04106 1.04204 +1.04106 1.0391 1.0378 1.03976 1.03878 1.0378 1.03878 1.03518 +1.03518 1.03649 1.03551 1.03616 1.03584 1.03355 1.03388 1.03486 +1.03486 1.03584 1.03682 1.03486 1.03714 1.03747 1.03388 1.03682 +1.03584 1.03551 1.03714 1.03649 1.04041 1.04008 1.04204 1.04433 +1.04269 1.04204 1.04433 1.04465 1.04367 1.04367 1.04171 1.0391 +1.03551 1.03094 1.02735 1.02212 1.01657 1.01624 1.01722 1.01918 +1.02212 1.02604 1.028 1.028 1.02669 1.02604 1.03061 1.03388 +1.0329 1.03094 1.02016 1.00873 1.00808 1.01298 1.02278 1.0329 +1.03486 1.03224 1.02571 1.01559 1.00678 1.0009 0.99502 0.954105 +0.833474 0.715368 0.654105 0.642105 0.654737 0.656632 0.652842 0.636421 +0.62 0.588421 0.544842 0.508842 0.439413 0.401547 0.401547 0.429947 +0.464027 0.496213 0.524 0.569474 0.553053 0.43752 0.38072 0.407227 +0.401547 0.4148 0.43184 0.439413 0.401547 0.354213 0.333387 0.331493 +0.331493 0.356107 0.395867 0.373147 0.390187 0.469707 0.435627 0.36936 +0.342853 0.316347 0.29552 0.286053 0.28984 0.339067 0.399653 0.412907 +0.37504 0.333387 0.325813 0.31256 0.303093 0.31256 0.316347 0.316347 +0.31824 0.310667 0.3012 0.297413 0.30688 0.322027 0.33528 0.33528 +0.32392 0.314453 0.303093 0.304987 0.3012 0.3012 0.308773 0.316347 +0.339067 0.344747 0.322027 0.322027 0.348533 0.371253 0.388293 0.462133 +0.539158 0.568211 0.532211 0.429947 0.371253 0.382613 0.40344 0.416693 +0.424267 0.43184 0.433733 0.418587 0.435627 0.492427 0.56 0.74 +0.992735 1.12999 1.08587 1.02963 1.01069 1.01102 1.03682 1.18934 +1.3415 1.2076 1.04008 1.01755 1.01527 1.01363 1.01233 1.01396 +1.01461 1.01494 1.01494 1.01559 1.01624 1.01853 1.01494 1.01363 +1.01592 1.01657 1.01722 1.01657 1.01461 1.01396 1.00808 0.999265 +0.995347 0.998939 1.00678 1.00808 1.0058 0.996653 0.986857 0.98098 +0.974316 0.962316 0.949053 0.947789 0.950316 0.954737 0.978105 0.982939 +0.853684 0.618737 0.39776 0.236827 0.000913333 0.000913333 0.216 0.274693 +0.31824 0.27848 0.000926667 0.00078 0.000773333 0.00076 0.00076 0.000733333 +0.000713333 0.000706667 0.0007 0.000713333 0.000706667 0.0007 0.000686667 0.000686667 +0.000686667 0.00066 0.000653333 0.000666667 0.000653333 0.000646667 0.000666667 0.0007 +0.00074 0.000746667 0.000746667 0.000706667 0.0007 0.0007 0.000686667 0.00068 +0.0007 0.000706667 0.000693333 0.000693333 0.000706667 0.0007 0.000713333 0.000706667 +0.00068 0.000686667 0.0007 0.000686667 0.0007 0.000686667 0.0007 0.000706667 +0.000733333 0.00076 0.00076 0.00078 0.000773333 0.000766667 0.00076 0.00076 +0.000753333 0.000706667 0.000713333 0.00078 0.000973333 0.314453 0.331493 0.25576 +0.3012 0.554316 0.789895 0.969895 0.984245 0.954105 0.943368 0.945263 +0.957263 0.954105 0.952211 0.960421 0.961053 0.955368 0.962316 0.973053 +0.983592 0.994367 1.00384 1.00971 1.01331 1.01494 1.01396 1.01363 +1.01135 1.01167 1.01037 1.00808 1.00678 1.00351 1.00384 1.00253 +1.00024 1.00939 1.02571 1.02212 1.0022 0.957895 0.851789 0.712211 +0.590316 0.515158 0.456453 0.428053 0.411013 0.40344 0.4148 0.428053 +0.4148 0.3864 0.36936 0.356107 0.339067 0.3296 0.31824 0.337173 +0.361787 0.39208 0.439413 0.42616 0.359893 0.320133 0.310667 0.310667 +0.31256 0.31256 0.31256 0.320133 0.3296 0.331493 0.316347 0.30688 +0.325813 0.337173 0.339067 0.350427 0.365573 0.382613 0.446987 0.529053 +0.540421 0.48296 0.399653 0.3864 0.39776 0.424267 0.428053 0.395867 +0.376933 0.365573 0.371253 0.378827 0.3864 0.3864 0.38072 0.39208 +0.40344 0.418587 0.428053 0.475387 0.481067 0.384507 0.356107 0.411013 +0.439413 0.42616 0.384507 0.342853 0.327707 0.32392 0.327707 0.33528 +0.322027 0.320133 0.333387 0.36368 0.373147 0.390187 0.359893 0.31256 +0.303093 0.293627 0.28416 0.297413 0.325813 0.34096 0.31256 0.31256 +0.293627 0.2728 0.26712 0.274693 0.287947 0.291733 0.26144 0.248187 +0.291733 0.314453 0.280373 0.274693 0.31256 0.354213 0.344747 0.361787 +0.395867 0.365573 0.35232 0.354213 0.3296 0.3012 0.33528 0.407227 +0.46024 0.573895 0.660421 0.582737 0.4432 0.36936 0.359893 0.34664 +0.354213 0.365573 0.416693 0.46592 0.40912 0.365573 0.384507 0.390187 +0.382613 0.376933 0.39208 0.40344 0.384507 0.3864 0.40344 0.401547 +0.401547 0.43184 0.492427 0.5 0.462133 0.43752 0.48296 0.529053 +0.593474 0.710947 0.842316 0.932632 0.98 0.989796 0.993061 0.999265 +1.00873 1.01722 1.02833 1.0378 1.04335 1.04759 1.04629 1.04433 +1.04433 1.04367 1.04302 1.04302 1.04302 1.04073 1.03812 1.03486 +1.03486 1.04073 1.0378 1.03616 1.04171 1.04498 1.04204 1.04008 +1.04204 1.04106 1.04367 1.04302 1.04041 1.03976 1.04171 1.04204 +1.03976 1.0378 1.0378 1.03943 1.03747 1.03682 1.03682 1.03584 +1.03584 1.03453 1.0342 1.03486 1.03551 1.03388 1.03388 1.03486 +1.03518 1.03616 1.03584 1.03322 1.03616 1.03453 1.03192 1.0378 +1.03388 1.03453 1.03812 1.03845 1.04041 1.04008 1.04367 1.04498 +1.044 1.04367 1.04367 1.04498 1.04335 1.04335 1.04335 1.04171 +1.03845 1.03224 1.02898 1.02343 1.01396 1.01494 1.01592 1.01722 +1.02245 1.02767 1.02571 1.02539 1.02604 1.02245 1.02245 1.02669 +1.02767 1.02833 1.02147 1.01755 1.01853 1.02082 1.02702 1.03192 +1.03094 1.02604 1.01624 1.00482 0.998939 0.995347 0.964842 0.847368 +0.715368 0.656632 0.647158 0.644632 0.657895 0.661684 0.657263 0.638316 +0.611789 0.565053 0.517684 0.479173 0.435627 0.4148 0.412907 0.439413 +0.503789 0.544211 0.575789 0.580842 0.542316 0.435627 0.36368 0.4148 +0.469707 0.500632 0.502526 0.501895 0.445093 0.358 0.325813 0.32392 +0.34096 0.378827 0.39776 0.36936 0.378827 0.43184 0.412907 0.367467 +0.354213 0.32392 0.29552 0.28984 0.30688 0.3296 0.36936 0.40912 +0.3864 0.325813 0.31256 0.316347 0.31824 0.333387 0.350427 0.35232 +0.33528 0.314453 0.3012 0.29552 0.310667 0.325813 0.32392 0.322027 +0.32392 0.31824 0.31256 0.303093 0.28984 0.304987 0.32392 0.31824 +0.322027 0.327707 0.316347 0.304987 0.31256 0.331493 0.339067 0.384507 +0.506947 0.556211 0.539158 0.43752 0.365573 0.37504 0.384507 0.388293 +0.399653 0.4148 0.43184 0.428053 0.445093 0.490533 0.548632 0.708421 +0.955368 1.05445 1.05902 1.02996 1.01167 1.00873 1.02996 1.15282 +1.32476 1.21368 1.04139 1.01788 1.01461 1.01331 1.012 1.01331 +1.01527 1.01494 1.01429 1.01527 1.01657 1.01624 1.01527 1.01527 +1.01559 1.01624 1.0169 1.01624 1.01396 1.01527 1.01037 1.00449 +0.998939 0.998612 1.0071 1.00873 1.00547 0.999265 0.987837 0.975579 +0.969263 0.965474 0.954737 0.949684 0.951579 0.954105 0.967368 0.984898 +0.911158 0.690737 0.500632 0.274693 0.000966667 0.00088 0.000866667 0.217893 +0.28984 0.320133 0.259547 0.000886667 0.000786667 0.000753333 0.00072 0.0007 +0.000726667 0.00074 0.000746667 0.000766667 0.0007 0.0007 0.000693333 0.000693333 +0.000693333 0.000693333 0.0007 0.000706667 0.000693333 0.000666667 0.000666667 0.000646667 +0.00066 0.000706667 0.00072 0.00072 0.0007 0.000706667 0.000726667 0.000733333 +0.00074 0.00074 0.0007 0.000673333 0.00068 0.000686667 0.0007 0.000706667 +0.000713333 0.000713333 0.000726667 0.00072 0.000713333 0.0007 0.000686667 0.0007 +0.000713333 0.00074 0.000746667 0.000766667 0.000766667 0.000766667 0.000766667 0.000773333 +0.00076 0.000713333 0.00072 0.0008 0.22168 0.32392 0.322027 0.263333 +0.361787 0.612421 0.859368 0.986531 0.979368 0.950947 0.944 0.949053 +0.956 0.951579 0.956 0.965474 0.964842 0.961684 0.969263 0.98 +0.98751 0.995673 0.999592 1.00514 1.01102 1.01298 1.01429 1.01461 +1.01069 1.01004 1.00873 1.00645 1.0058 1.00351 1.00449 1.00286 +0.998286 0.999265 1.01004 1.012 0.994041 0.939579 0.827158 0.683158 +0.574526 0.516421 0.486747 0.469707 0.456453 0.450773 0.433733 0.4148 +0.395867 0.395867 0.39776 0.3864 0.36368 0.325813 0.30688 0.32392 +0.36368 0.435627 0.492427 0.43184 0.344747 0.310667 0.3012 0.293627 +0.29552 0.303093 0.303093 0.31256 0.320133 0.320133 0.308773 0.308773 +0.32392 0.342853 0.348533 0.350427 0.339067 0.337173 0.378827 0.475387 +0.506316 0.46024 0.40912 0.38072 0.382613 0.43184 0.496213 0.512632 +0.511368 0.450773 0.37504 0.365573 0.38072 0.376933 0.38072 0.390187 +0.373147 0.358 0.373147 0.42616 0.435627 0.36368 0.358 0.39776 +0.39208 0.356107 0.34664 0.342853 0.331493 0.320133 0.325813 0.342853 +0.34096 0.3296 0.34096 0.39208 0.411013 0.384507 0.337173 0.304987 +0.293627 0.293627 0.28984 0.293627 0.31824 0.333387 0.308773 0.310667 +0.308773 0.30688 0.297413 0.3012 0.325813 0.316347 0.276587 0.259547 +0.314453 0.356107 0.308773 0.286053 0.327707 0.367467 0.378827 0.412907 +0.405333 0.339067 0.339067 0.356107 0.331493 0.31824 0.359893 0.411013 +0.42048 0.556211 0.668632 0.601053 0.4432 0.354213 0.356107 0.36368 +0.371253 0.36936 0.399653 0.428053 0.39776 0.373147 0.371253 0.376933 +0.37504 0.378827 0.405333 0.399653 0.376933 0.395867 0.441307 0.435627 +0.43752 0.467813 0.479173 0.464027 0.43752 0.435627 0.481067 0.505684 +0.524632 0.602316 0.731158 0.853053 0.940842 0.98751 0.994694 0.997959 +1.0071 1.01363 1.02408 1.03584 1.04139 1.04596 1.04727 1.04531 +1.04433 1.044 1.04433 1.04106 1.03976 1.03714 1.03584 1.03747 +1.03878 1.03976 1.03584 1.03649 1.04106 1.04367 1.04171 1.03812 +1.04139 1.04367 1.04335 1.04269 1.04269 1.04237 1.04204 1.04106 +1.03943 1.03878 1.03845 1.0378 1.03649 1.03747 1.03747 1.03845 +1.03878 1.03453 1.03453 1.03518 1.03486 1.03518 1.03682 1.03584 +1.03584 1.03714 1.03355 1.03453 1.03845 1.03551 1.03486 1.03747 +1.03355 1.03682 1.03943 1.03976 1.04008 1.03943 1.04302 1.04269 +1.04367 1.044 1.04498 1.04629 1.04433 1.04302 1.04596 1.04465 +1.04139 1.0342 1.02833 1.02473 1.01722 1.01624 1.01984 1.0218 +1.02408 1.02604 1.0231 1.02441 1.02571 1.02016 1.0169 1.01429 +1.01233 1.01494 1.01657 1.02147 1.02637 1.02767 1.02735 1.02637 +1.02114 1.01363 1.00482 0.996327 0.993388 0.973684 0.863158 0.724211 +0.649053 0.642737 0.648421 0.649053 0.668632 0.680632 0.678737 0.652842 +0.602316 0.541684 0.501263 0.458347 0.43752 0.42048 0.405333 0.39776 +0.42048 0.486747 0.514526 0.528421 0.529053 0.500632 0.412907 0.395867 +0.412907 0.435627 0.45456 0.4716 0.439413 0.378827 0.367467 0.376933 +0.38072 0.382613 0.376933 0.354213 0.365573 0.39776 0.382613 0.34664 +0.350427 0.337173 0.314453 0.308773 0.30688 0.304987 0.339067 0.39208 +0.388293 0.339067 0.320133 0.325813 0.33528 0.356107 0.36368 0.348533 +0.320133 0.303093 0.303093 0.310667 0.322027 0.31824 0.30688 0.30688 +0.310667 0.304987 0.3012 0.303093 0.31256 0.320133 0.31256 0.31256 +0.308773 0.31824 0.31256 0.29552 0.291733 0.297413 0.3012 0.337173 +0.441307 0.535368 0.540421 0.462133 0.358 0.344747 0.35232 0.36936 +0.384507 0.401547 0.43184 0.43752 0.445093 0.481067 0.538526 0.678737 +0.899789 1.02702 1.04922 1.0329 1.01592 1.00906 1.02506 1.12391 +1.30498 1.20607 1.04204 1.01918 1.01461 1.01265 1.01233 1.01298 +1.01494 1.01592 1.01494 1.01527 1.01624 1.01494 1.01461 1.01559 +1.01559 1.01624 1.0169 1.01461 1.01396 1.01494 1.01298 1.00939 +1.00024 0.996327 1.00416 1.00645 1.00482 1.00286 0.993388 0.978737 +0.966105 0.965474 0.958526 0.950316 0.949684 0.953474 0.963579 0.984571 +0.954105 0.765895 0.546105 0.320133 0.22736 0.00092 0.000893333 0.000933333 +0.25008 0.316347 0.297413 0.000946667 0.000766667 0.000753333 0.00076 0.00074 +0.00076 0.000753333 0.000746667 0.000753333 0.0007 0.00068 0.000686667 0.0007 +0.0007 0.0007 0.000706667 0.000726667 0.000733333 0.00072 0.000706667 0.000693333 +0.00068 0.000686667 0.000693333 0.00068 0.000686667 0.000693333 0.000706667 0.000706667 +0.000726667 0.000746667 0.00074 0.000746667 0.000726667 0.000706667 0.000713333 0.000713333 +0.000713333 0.0007 0.000713333 0.000733333 0.000726667 0.000713333 0.000726667 0.000733333 +0.000733333 0.000726667 0.00072 0.00074 0.00076 0.000753333 0.000746667 0.00076 +0.00076 0.000773333 0.000793333 0.00086 0.240613 0.333387 0.316347 0.270907 +0.43752 0.674947 0.912421 0.987184 0.967368 0.945263 0.945895 0.954737 +0.955368 0.950316 0.957895 0.965474 0.964211 0.965474 0.973053 0.985551 +0.994694 0.996327 0.993061 0.997633 1.0058 1.00939 1.012 1.01069 +1.00743 1.00841 1.00743 1.00449 1.00416 1.00416 1.00547 1.00188 +0.994041 0.988163 0.995673 1.0022 0.988163 0.926316 0.805684 0.654737 +0.554316 0.508211 0.48296 0.475387 0.473493 0.46592 0.435627 0.401547 +0.371253 0.373147 0.39208 0.40344 0.38072 0.33528 0.316347 0.320133 +0.361787 0.450773 0.484853 0.395867 0.327707 0.30688 0.303093 0.304987 +0.304987 0.310667 0.30688 0.308773 0.303093 0.3012 0.29552 0.303093 +0.31824 0.32392 0.316347 0.32392 0.32392 0.320133 0.337173 0.365573 +0.399653 0.418587 0.39776 0.35232 0.339067 0.371253 0.43752 0.520211 +0.553684 0.527789 0.424267 0.367467 0.382613 0.399653 0.412907 0.401547 +0.356107 0.331493 0.34664 0.373147 0.37504 0.337173 0.344747 0.393973 +0.395867 0.34664 0.339067 0.358 0.35232 0.339067 0.327707 0.344747 +0.361787 0.342853 0.327707 0.40344 0.44888 0.39208 0.337173 0.322027 +0.31256 0.297413 0.29552 0.293627 0.30688 0.316347 0.297413 0.299307 +0.31824 0.33528 0.327707 0.32392 0.339067 0.325813 0.297413 0.2728 +0.314453 0.38072 0.348533 0.31824 0.339067 0.359893 0.439413 0.504421 +0.42048 0.308773 0.304987 0.31824 0.322027 0.339067 0.39208 0.40912 +0.407227 0.564421 0.696421 0.623789 0.4432 0.337173 0.35232 0.373147 +0.373147 0.361787 0.376933 0.412907 0.401547 0.373147 0.37504 0.37504 +0.367467 0.37504 0.39208 0.395867 0.401547 0.467813 0.515158 0.500632 +0.45456 0.46024 0.43752 0.429947 0.439413 0.46024 0.496213 0.490533 +0.479173 0.534105 0.628211 0.742526 0.865053 0.961684 0.991429 0.996327 +1.00449 1.01069 1.01984 1.03159 1.03878 1.04237 1.04563 1.044 +1.044 1.04433 1.044 1.04073 1.03943 1.03584 1.0342 1.03747 +1.03943 1.03845 1.03714 1.03812 1.04041 1.04335 1.04302 1.03845 +1.0391 1.04596 1.04433 1.04171 1.044 1.04335 1.04139 1.04008 +1.04171 1.04106 1.03845 1.03747 1.03812 1.03878 1.03682 1.03682 +1.03747 1.03518 1.03682 1.03747 1.03649 1.03714 1.03714 1.03388 +1.03714 1.03584 1.03127 1.03551 1.03976 1.03518 1.03649 1.03714 +1.03388 1.03812 1.0391 1.03878 1.03976 1.03943 1.04237 1.04041 +1.04204 1.04465 1.04629 1.04563 1.04596 1.04563 1.04694 1.04498 +1.04237 1.03649 1.02963 1.0231 1.01886 1.01755 1.02049 1.02408 +1.02376 1.02245 1.0218 1.02441 1.02343 1.01788 1.01265 1.0071 +1.00351 1.00286 1.00645 1.01363 1.0218 1.02604 1.02408 1.01755 +1.01233 1.00612 0.998612 0.992735 0.980327 0.884632 0.734316 0.645263 +0.635789 0.640842 0.647158 0.65979 0.690105 0.698947 0.674947 0.627579 +0.567579 0.517053 0.47728 0.44888 0.429947 0.39776 0.382613 0.38072 +0.382613 0.37504 0.358 0.428053 0.510105 0.512632 0.490533 0.42616 +0.371253 0.342853 0.36368 0.395867 0.40344 0.39776 0.39776 0.418587 +0.412907 0.38072 0.35232 0.33528 0.342853 0.376933 0.36936 0.3296 +0.31824 0.320133 0.316347 0.303093 0.29552 0.29552 0.327707 0.361787 +0.359893 0.348533 0.331493 0.320133 0.327707 0.354213 0.337173 0.310667 +0.303093 0.297413 0.3012 0.31824 0.325813 0.314453 0.303093 0.299307 +0.29552 0.297413 0.293627 0.31256 0.350427 0.354213 0.32392 0.310667 +0.31256 0.31256 0.310667 0.308773 0.310667 0.30688 0.3012 0.34096 +0.43752 0.527158 0.544211 0.506947 0.401547 0.342853 0.331493 0.348533 +0.365573 0.393973 0.429947 0.435627 0.43752 0.464027 0.525895 0.647789 +0.846105 1.00188 1.04204 1.0378 1.02016 1.00971 1.01951 1.07369 +1.26694 1.19542 1.04139 1.01951 1.01494 1.01233 1.01331 1.01363 +1.01494 1.01755 1.0169 1.01527 1.01461 1.01429 1.01461 1.01559 +1.01461 1.01592 1.0169 1.01527 1.01592 1.01494 1.01331 1.00971 +0.999265 0.994041 0.999918 1.00449 1.0058 1.00547 0.999265 0.985551 +0.968632 0.964842 0.960421 0.951579 0.946526 0.947789 0.955368 0.980327 +0.978737 0.836 0.603579 0.39208 0.259547 0.00098 0.00096 0.000946667 +0.00098 0.276587 0.31824 0.25008 0.00086 0.000786667 0.000753333 0.000706667 +0.000706667 0.000726667 0.000726667 0.000726667 0.000713333 0.000713333 0.000713333 0.000713333 +0.000713333 0.000693333 0.0007 0.00072 0.000713333 0.0007 0.000713333 0.000726667 +0.00072 0.000706667 0.000693333 0.0007 0.000706667 0.0007 0.0007 0.000686667 +0.000686667 0.000713333 0.000726667 0.00076 0.000746667 0.000726667 0.000733333 0.000726667 +0.000726667 0.000713333 0.000733333 0.000746667 0.000733333 0.000753333 0.000733333 0.000726667 +0.00074 0.000726667 0.000733333 0.00074 0.000746667 0.000753333 0.000726667 0.00072 +0.00072 0.00072 0.000773333 0.00086 0.251973 0.34664 0.320133 0.299307 +0.523368 0.753895 0.956632 0.984245 0.956632 0.940211 0.945263 0.954737 +0.955368 0.954737 0.964211 0.967368 0.965474 0.967368 0.974316 0.98849 +0.993714 0.989796 0.986204 0.992082 1.00188 1.00776 1.01102 1.00873 +1.00547 1.0058 1.00384 1.00253 1.00449 1.00482 1.00384 1.00057 +0.993061 0.983265 0.985878 0.991755 0.982286 0.921895 0.796211 0.638316 +0.535368 0.481067 0.446987 0.445093 0.45456 0.464027 0.46024 0.428053 +0.367467 0.34664 0.356107 0.3864 0.390187 0.365573 0.339067 0.3296 +0.378827 0.46592 0.439413 0.348533 0.310667 0.303093 0.304987 0.3012 +0.29552 0.31256 0.32392 0.316347 0.297413 0.293627 0.291733 0.299307 +0.30688 0.308773 0.31256 0.331493 0.33528 0.322027 0.32392 0.331493 +0.354213 0.384507 0.36936 0.3296 0.314453 0.32392 0.34664 0.441307 +0.532842 0.550526 0.518316 0.45456 0.42048 0.433733 0.456453 0.446987 +0.388293 0.350427 0.34664 0.344747 0.33528 0.320133 0.35232 0.416693 +0.416693 0.348533 0.342853 0.382613 0.39208 0.376933 0.348533 0.350427 +0.393973 0.3864 0.36936 0.46024 0.498107 0.40344 0.344747 0.34096 +0.3296 0.308773 0.31256 0.31256 0.299307 0.287947 0.28984 0.287947 +0.304987 0.32392 0.3296 0.354213 0.356107 0.344747 0.34664 0.331493 +0.316347 0.365573 0.373147 0.333387 0.331493 0.358 0.47728 0.516421 +0.42616 0.327707 0.32392 0.322027 0.314453 0.339067 0.390187 0.395867 +0.43184 0.582105 0.710947 0.637053 0.458347 0.34096 0.354213 0.367467 +0.356107 0.342853 0.373147 0.4148 0.412907 0.393973 0.388293 0.378827 +0.36936 0.371253 0.399653 0.428053 0.44888 0.508211 0.524 0.492427 +0.43184 0.42048 0.42616 0.435627 0.4432 0.48296 0.506316 0.500632 +0.473493 0.505053 0.548632 0.630737 0.765263 0.892842 0.968 0.991102 +1.0022 1.00971 1.01624 1.02604 1.03224 1.03812 1.04171 1.04269 +1.04204 1.03943 1.03845 1.04008 1.04139 1.03747 1.03518 1.03845 +1.03812 1.03714 1.0391 1.04106 1.04171 1.04106 1.04139 1.0391 +1.0378 1.044 1.04433 1.04367 1.04433 1.04269 1.04269 1.04073 +1.04041 1.0378 1.03747 1.03845 1.03976 1.03976 1.03616 1.03486 +1.03649 1.0342 1.03551 1.03649 1.03551 1.0378 1.03649 1.0342 +1.03878 1.03388 1.02996 1.03812 1.03878 1.03518 1.03584 1.03551 +1.03257 1.03682 1.03649 1.03649 1.03878 1.04171 1.04367 1.04106 +1.04302 1.04563 1.04694 1.04563 1.04661 1.04759 1.04759 1.04531 +1.04335 1.03845 1.03094 1.02506 1.02506 1.02212 1.01853 1.0218 +1.02114 1.01918 1.01984 1.02278 1.01886 1.012 1.00743 1.00188 +0.996653 0.99502 1.0009 1.00808 1.01624 1.02082 1.01951 1.01363 +1.00873 1.00253 0.996327 0.983592 0.901053 0.753895 0.647789 0.626316 +0.637053 0.644 0.654105 0.674316 0.694526 0.676842 0.627579 0.565053 +0.519579 0.5 0.469707 0.439413 0.411013 0.373147 0.361787 0.38072 +0.401547 0.384507 0.3296 0.36936 0.467813 0.504421 0.473493 0.39208 +0.34664 0.322027 0.331493 0.361787 0.38072 0.382613 0.3864 0.40344 +0.388293 0.37504 0.358 0.344747 0.34664 0.365573 0.361787 0.320133 +0.299307 0.304987 0.304987 0.28984 0.286053 0.297413 0.331493 0.354213 +0.348533 0.33528 0.322027 0.31256 0.331493 0.34096 0.320133 0.304987 +0.30688 0.297413 0.293627 0.310667 0.327707 0.327707 0.314453 0.303093 +0.293627 0.304987 0.314453 0.333387 0.373147 0.376933 0.333387 0.308773 +0.30688 0.303093 0.308773 0.314453 0.31824 0.31256 0.325813 0.399653 +0.490533 0.520842 0.533474 0.522737 0.48296 0.393973 0.34664 0.342853 +0.354213 0.373147 0.39776 0.4148 0.43184 0.45456 0.515789 0.617474 +0.794947 0.974947 1.03159 1.0378 1.02343 1.01167 1.01624 1.05478 +1.24107 1.18325 1.0378 1.0169 1.01396 1.01265 1.01461 1.01527 +1.01624 1.01624 1.01559 1.01494 1.01461 1.01527 1.01592 1.01624 +1.01527 1.01624 1.01722 1.01527 1.01657 1.01559 1.01298 1.01102 +1.00253 0.994367 0.99698 1.00318 1.00547 1.00547 1.00482 0.993061 +0.977474 0.963579 0.961053 0.954737 0.948421 0.948421 0.950947 0.968 +0.983592 0.893474 0.669263 0.486747 0.287947 0.000993333 0.00098 0.22168 +0.217893 0.26712 0.339067 0.29552 0.000926667 0.000773333 0.000733333 0.0007 +0.000706667 0.000746667 0.000753333 0.00074 0.00068 0.0007 0.00072 0.00072 +0.000706667 0.0007 0.000726667 0.000746667 0.000733333 0.000706667 0.00072 0.00072 +0.000706667 0.000693333 0.00068 0.0007 0.00072 0.000713333 0.000706667 0.0007 +0.000673333 0.00068 0.000686667 0.00068 0.000693333 0.00072 0.000706667 0.000706667 +0.00072 0.000726667 0.000733333 0.000733333 0.000733333 0.00074 0.000733333 0.00072 +0.000726667 0.00072 0.00072 0.00074 0.00074 0.000766667 0.00076 0.000746667 +0.000733333 0.00074 0.000773333 0.000846667 0.25576 0.35232 0.322027 0.339067 +0.582737 0.834105 0.984571 0.982939 0.955368 0.945263 0.947789 0.952842 +0.951579 0.952211 0.961053 0.968 0.964842 0.966105 0.976842 0.985551 +0.98751 0.983265 0.981959 0.989143 0.998286 1.0071 1.01135 1.00873 +1.00678 1.00514 1.00253 1.0022 1.00351 1.00351 1.00188 1.00057 +0.99502 0.983265 0.980327 0.983592 0.976842 0.921895 0.794316 0.631368 +0.524 0.45456 0.42616 0.416693 0.418587 0.439413 0.481067 0.462133 +0.390187 0.350427 0.342853 0.36936 0.39208 0.399653 0.388293 0.38072 +0.435627 0.481067 0.401547 0.32392 0.31256 0.303093 0.299307 0.303093 +0.316347 0.333387 0.337173 0.31824 0.3012 0.3012 0.299307 0.308773 +0.320133 0.3296 0.34096 0.354213 0.339067 0.320133 0.32392 0.333387 +0.34664 0.359893 0.348533 0.3296 0.32392 0.331493 0.339067 0.382613 +0.48296 0.528421 0.527158 0.501895 0.456453 0.458347 0.479173 0.48296 +0.43752 0.399653 0.382613 0.356107 0.314453 0.31824 0.367467 0.42616 +0.411013 0.35232 0.34664 0.378827 0.39776 0.4148 0.376933 0.36368 +0.422373 0.429947 0.405333 0.496213 0.505684 0.39776 0.34664 0.342853 +0.333387 0.32392 0.31824 0.304987 0.287947 0.274693 0.274693 0.270907 +0.276587 0.29552 0.31824 0.35232 0.376933 0.384507 0.4148 0.441307 +0.390187 0.3864 0.3864 0.34096 0.337173 0.378827 0.46592 0.467813 +0.378827 0.35232 0.354213 0.34096 0.322027 0.344747 0.395867 0.39776 +0.44888 0.577053 0.687579 0.632632 0.5 0.36368 0.365573 0.367467 +0.350427 0.337173 0.356107 0.3864 0.407227 0.390187 0.378827 0.382613 +0.390187 0.401547 0.418587 0.412907 0.416693 0.467813 0.473493 0.43752 +0.418587 0.412907 0.43752 0.439413 0.446987 0.48296 0.512 0.512632 +0.49432 0.49432 0.515158 0.561895 0.661684 0.782947 0.889684 0.966105 +0.995347 1.0058 1.01429 1.02147 1.02996 1.03551 1.03943 1.04204 +1.03976 1.03616 1.0378 1.04204 1.04008 1.03845 1.03649 1.03551 +1.03551 1.03551 1.03878 1.03943 1.03714 1.03682 1.03976 1.04237 +1.04171 1.04335 1.04302 1.04563 1.044 1.04171 1.04367 1.04073 +1.04073 1.03747 1.0378 1.03845 1.03943 1.04171 1.0378 1.03486 +1.03682 1.03453 1.03584 1.03682 1.03616 1.03812 1.03682 1.03584 +1.0391 1.03322 1.03224 1.0391 1.03649 1.03584 1.03486 1.03192 +1.03094 1.03747 1.0378 1.0378 1.04008 1.04269 1.04302 1.04204 +1.04237 1.04433 1.04694 1.04629 1.04727 1.04727 1.04922 1.04661 +1.04563 1.04335 1.03551 1.02931 1.02931 1.02571 1.02212 1.02114 +1.01722 1.01886 1.01886 1.01788 1.01265 1.00743 1.00188 0.993388 +0.990449 0.996327 1.00808 1.01461 1.01886 1.01951 1.01559 1.01363 +1.00743 0.999265 0.991755 0.92821 0.778526 0.656 0.621263 0.628842 +0.640842 0.650947 0.659158 0.657263 0.649684 0.619368 0.578316 0.527158 +0.490533 0.47728 0.464027 0.435627 0.405333 0.37504 0.376933 0.407227 +0.40912 0.378827 0.350427 0.373147 0.4432 0.48864 0.429947 0.35232 +0.33528 0.339067 0.348533 0.358 0.382613 0.37504 0.36368 0.359893 +0.35232 0.382613 0.3864 0.354213 0.34096 0.344747 0.342853 0.316347 +0.29552 0.291733 0.28984 0.28984 0.303093 0.3296 0.344747 0.344747 +0.34096 0.322027 0.31256 0.34096 0.388293 0.373147 0.333387 0.314453 +0.30688 0.304987 0.310667 0.327707 0.34096 0.337173 0.31824 0.3012 +0.299307 0.314453 0.320133 0.325813 0.34664 0.35232 0.327707 0.308773 +0.304987 0.299307 0.310667 0.308773 0.31256 0.325813 0.376933 0.456453 +0.47728 0.464027 0.492427 0.520211 0.527789 0.501895 0.407227 0.361787 +0.35232 0.358 0.37504 0.39776 0.433733 0.44888 0.501895 0.586526 +0.747579 0.925684 1.01527 1.03257 1.02114 1.00971 1.01527 1.05216 +1.23651 1.18782 1.03845 1.01624 1.01233 1.01069 1.01363 1.01559 +1.01624 1.01461 1.01461 1.01559 1.01363 1.01494 1.01755 1.01886 +1.01788 1.0169 1.01624 1.01527 1.01657 1.01624 1.01363 1.01233 +1.00547 0.992408 0.992408 1.00188 1.00743 1.00873 1.00906 0.998612 +0.981306 0.961684 0.957895 0.956632 0.950947 0.950947 0.952842 0.961684 +0.982612 0.935789 0.735579 0.530316 0.327707 0.257653 0.29552 0.337173 +0.282267 0.251973 0.31256 0.314453 0.223573 0.0008 0.00076 0.000773333 +0.00076 0.000766667 0.000746667 0.000713333 0.000686667 0.000686667 0.000693333 0.0007 +0.000686667 0.00068 0.000693333 0.0007 0.000693333 0.0007 0.000726667 0.000733333 +0.000706667 0.0007 0.000713333 0.000713333 0.000706667 0.0007 0.0007 0.000666667 +0.000673333 0.000693333 0.000693333 0.000686667 0.0007 0.000706667 0.000686667 0.000693333 +0.000706667 0.000713333 0.000693333 0.000686667 0.000713333 0.000713333 0.000706667 0.000706667 +0.000733333 0.00076 0.000746667 0.000753333 0.000746667 0.00076 0.000766667 0.000753333 +0.000746667 0.000773333 0.000793333 0.00086 0.26712 0.356107 0.31824 0.405333 +0.650316 0.896632 0.98849 0.973053 0.952842 0.950316 0.954105 0.960421 +0.956632 0.954105 0.959158 0.963579 0.961053 0.962316 0.973684 0.980327 +0.98098 0.979368 0.978105 0.986531 0.993714 1.00416 1.00873 1.00841 +1.00808 1.00678 1.00416 1.00416 1.00384 1.00318 1.0009 1.00024 +0.995673 0.983592 0.970526 0.968 0.965474 0.922526 0.798737 0.636421 +0.525263 0.458347 0.424267 0.407227 0.401547 0.4148 0.475387 0.481067 +0.418587 0.378827 0.359893 0.365573 0.382613 0.418587 0.44888 0.464027 +0.48296 0.4716 0.3864 0.342853 0.327707 0.314453 0.31824 0.339067 +0.361787 0.358 0.33528 0.314453 0.30688 0.31256 0.320133 0.339067 +0.350427 0.361787 0.373147 0.384507 0.382613 0.365573 0.36936 0.382613 +0.36936 0.36368 0.36936 0.367467 0.365573 0.361787 0.36368 0.378827 +0.416693 0.462133 0.464027 0.43184 0.411013 0.4148 0.43184 0.456453 +0.47728 0.475387 0.46024 0.418587 0.36368 0.354213 0.376933 0.412907 +0.40344 0.361787 0.342853 0.344747 0.38072 0.450773 0.441307 0.39776 +0.43752 0.450773 0.435627 0.505053 0.503158 0.399653 0.371253 0.384507 +0.376933 0.34664 0.30688 0.286053 0.280373 0.2728 0.270907 0.2728 +0.276587 0.28416 0.304987 0.34096 0.373147 0.401547 0.456453 0.504421 +0.5 0.498107 0.492427 0.44888 0.428053 0.441307 0.46592 0.401547 +0.331493 0.339067 0.337173 0.325813 0.331493 0.376933 0.4148 0.384507 +0.422373 0.549895 0.639579 0.609263 0.509474 0.39776 0.382613 0.378827 +0.356107 0.34664 0.361787 0.38072 0.40344 0.388293 0.38072 0.395867 +0.412907 0.4148 0.4148 0.39208 0.393973 0.412907 0.40912 0.40912 +0.4148 0.416693 0.422373 0.439413 0.445093 0.473493 0.519579 0.523368 +0.502526 0.48864 0.5 0.518947 0.567579 0.659158 0.780421 0.894737 +0.972421 0.996 1.00808 1.01788 1.02604 1.03257 1.03682 1.03943 +1.03747 1.03682 1.0391 1.04073 1.0391 1.03845 1.03388 1.03322 +1.03649 1.03649 1.03943 1.0378 1.0329 1.03388 1.03845 1.0391 +1.04041 1.04367 1.04629 1.04694 1.04237 1.04041 1.04269 1.04073 +1.04237 1.04041 1.0378 1.03682 1.03976 1.04367 1.03943 1.03616 +1.03812 1.03616 1.03551 1.03649 1.03551 1.03518 1.03486 1.03453 +1.03714 1.03453 1.0329 1.03584 1.03388 1.03584 1.0342 1.03159 +1.03127 1.03714 1.03551 1.03649 1.04008 1.04139 1.04237 1.04531 +1.04335 1.044 1.04629 1.04727 1.04661 1.04563 1.04824 1.04563 +1.04335 1.04302 1.03845 1.03355 1.03029 1.02735 1.02506 1.02016 +1.01788 1.01886 1.0169 1.01135 1.00482 1.00122 0.996 0.990776 +0.99502 1.0058 1.01657 1.02082 1.02049 1.0182 1.01363 1.00743 +0.999592 0.991429 0.942105 0.805684 0.676211 0.624421 0.618105 0.623158 +0.637053 0.644 0.643368 0.623789 0.602316 0.571368 0.538526 0.508211 +0.464027 0.4432 0.429947 0.416693 0.405333 0.388293 0.393973 0.407227 +0.382613 0.354213 0.36368 0.376933 0.43184 0.479173 0.40912 0.344747 +0.342853 0.358 0.365573 0.367467 0.378827 0.371253 0.35232 0.34096 +0.34664 0.382613 0.393973 0.367467 0.350427 0.348533 0.337173 0.31824 +0.299307 0.287947 0.286053 0.29552 0.31256 0.33528 0.333387 0.3296 +0.327707 0.320133 0.3296 0.3864 0.435627 0.416693 0.37504 0.34664 +0.34096 0.350427 0.36368 0.37504 0.356107 0.32392 0.310667 0.30688 +0.316347 0.316347 0.304987 0.303093 0.320133 0.3296 0.322027 0.316347 +0.314453 0.310667 0.320133 0.32392 0.344747 0.39208 0.45456 0.4716 +0.411013 0.365573 0.388293 0.486747 0.532842 0.530947 0.479173 0.399653 +0.378827 0.378827 0.382613 0.390187 0.412907 0.43752 0.484853 0.562526 +0.703368 0.879579 1.00024 1.02571 1.01657 1.00612 1.01429 1.05249 +1.24259 1.19086 1.03682 1.01461 1.01167 1.01037 1.01265 1.01396 +1.01429 1.01363 1.01494 1.01592 1.01363 1.01396 1.01527 1.01722 +1.01788 1.01755 1.01722 1.01755 1.01788 1.01755 1.01527 1.01396 +1.00873 0.995673 0.991755 1.0009 1.00743 1.00939 1.01069 1.00384 +0.987184 0.968 0.959789 0.959789 0.954737 0.950947 0.952211 0.957263 +0.980327 0.967368 0.805053 0.577684 0.371253 0.297413 0.382613 0.458347 +0.382613 0.274693 0.28416 0.327707 0.263333 0.00086 0.0008 0.000813333 +0.000773333 0.00074 0.000726667 0.000726667 0.000733333 0.00072 0.000706667 0.0007 +0.000693333 0.00068 0.00068 0.000673333 0.000653333 0.000666667 0.0007 0.000713333 +0.000726667 0.000733333 0.000726667 0.000713333 0.000713333 0.000713333 0.000713333 0.0007 +0.000686667 0.00068 0.00066 0.000693333 0.00072 0.000713333 0.00072 0.000726667 +0.000713333 0.000706667 0.000693333 0.00068 0.000686667 0.000673333 0.00068 0.000693333 +0.00074 0.000766667 0.000746667 0.000746667 0.000753333 0.00074 0.000746667 0.000733333 +0.000733333 0.000773333 0.000806667 0.0009 0.28984 0.356107 0.320133 0.502526 +0.720421 0.944 0.986857 0.958526 0.946526 0.947158 0.954105 0.961053 +0.959158 0.960421 0.966105 0.966737 0.966105 0.967368 0.973684 0.973053 +0.971158 0.972421 0.971158 0.981959 0.990122 1.00155 1.0071 1.00776 +1.00841 1.00776 1.00612 1.00547 1.00384 1.00253 1.0009 1.0009 +0.997959 0.986204 0.967368 0.955368 0.955368 0.92 0.803158 0.642737 +0.528421 0.467813 0.446987 0.446987 0.439413 0.429947 0.469707 0.49432 +0.452667 0.40344 0.359893 0.358 0.399653 0.481067 0.520211 0.525263 +0.510737 0.46592 0.395867 0.365573 0.35232 0.354213 0.36368 0.378827 +0.376933 0.344747 0.31256 0.293627 0.293627 0.308773 0.331493 0.354213 +0.36368 0.373147 0.38072 0.3864 0.388293 0.390187 0.416693 0.4148 +0.37504 0.359893 0.358 0.367467 0.358 0.350427 0.350427 0.342853 +0.354213 0.388293 0.373147 0.356107 0.34664 0.348533 0.358 0.393973 +0.44888 0.492427 0.511368 0.529053 0.522105 0.452667 0.39208 0.422373 +0.428053 0.3864 0.356107 0.342853 0.36936 0.458347 0.462133 0.39208 +0.40912 0.46592 0.492427 0.509474 0.490533 0.4148 0.39208 0.395867 +0.382613 0.35232 0.310667 0.291733 0.286053 0.27848 0.286053 0.299307 +0.29552 0.297413 0.316347 0.34096 0.358 0.39208 0.450773 0.498107 +0.511368 0.526526 0.542316 0.544842 0.537895 0.532211 0.521474 0.456453 +0.354213 0.344747 0.34096 0.3296 0.34664 0.395867 0.42616 0.390187 +0.4148 0.524 0.592211 0.580842 0.508211 0.399653 0.378827 0.3864 +0.36936 0.382613 0.401547 0.393973 0.40344 0.393973 0.401547 0.416693 +0.407227 0.38072 0.378827 0.382613 0.382613 0.378827 0.378827 0.395867 +0.405333 0.412907 0.422373 0.441307 0.446987 0.46592 0.521474 0.527789 +0.496213 0.46592 0.481067 0.503789 0.520211 0.578947 0.685053 0.810737 +0.914947 0.980327 0.998612 1.01069 1.01984 1.02637 1.03094 1.03322 +1.03616 1.03747 1.0378 1.03812 1.03682 1.03551 1.03257 1.03453 +1.03845 1.03714 1.04041 1.04041 1.0329 1.03322 1.0378 1.0378 +1.03682 1.04008 1.04367 1.04596 1.04237 1.04008 1.04302 1.04171 +1.04171 1.04171 1.03943 1.03714 1.03976 1.04106 1.03812 1.03616 +1.03845 1.03747 1.03649 1.03616 1.03714 1.03649 1.03551 1.0342 +1.03584 1.0342 1.03355 1.03551 1.0342 1.03551 1.03453 1.03159 +1.03127 1.03518 1.03355 1.03747 1.04073 1.04106 1.04237 1.04531 +1.04563 1.04531 1.04857 1.04955 1.04694 1.04759 1.04988 1.04694 +1.04204 1.03943 1.03714 1.03518 1.03224 1.03094 1.02767 1.02278 +1.02376 1.02212 1.01527 1.00971 0.999592 0.99502 0.996653 1.00253 +1.01135 1.01853 1.02049 1.02082 1.02016 1.01755 1.01233 1.0022 +0.98849 0.938316 0.813895 0.688211 0.633263 0.621895 0.614947 0.616842 +0.625053 0.621895 0.610526 0.588421 0.565684 0.532211 0.510105 0.490533 +0.44888 0.424267 0.412907 0.412907 0.422373 0.422373 0.411013 0.37504 +0.354213 0.350427 0.359893 0.378827 0.433733 0.462133 0.401547 0.361787 +0.348533 0.350427 0.367467 0.390187 0.390187 0.382613 0.36368 0.342853 +0.339067 0.36936 0.393973 0.38072 0.365573 0.359893 0.34664 0.327707 +0.303093 0.297413 0.310667 0.333387 0.333387 0.331493 0.337173 0.339067 +0.331493 0.32392 0.34096 0.37504 0.405333 0.407227 0.39208 0.390187 +0.407227 0.412907 0.42048 0.42616 0.401547 0.354213 0.32392 0.320133 +0.327707 0.325813 0.314453 0.304987 0.308773 0.30688 0.30688 0.320133 +0.32392 0.31824 0.314453 0.32392 0.37504 0.458347 0.48296 0.43184 +0.354213 0.316347 0.325813 0.393973 0.503158 0.525895 0.506947 0.42616 +0.39208 0.39208 0.39776 0.40344 0.40912 0.424267 0.467813 0.541053 +0.66421 0.837263 0.986857 1.02016 1.01592 1.00906 1.01722 1.05249 +1.24259 1.17716 1.03127 1.01233 1.01167 1.012 1.01331 1.01429 +1.01429 1.01363 1.01494 1.01527 1.01461 1.01461 1.01429 1.01461 +1.0169 1.01657 1.01592 1.01722 1.01722 1.0182 1.01755 1.01624 +1.01233 1.00253 0.995673 0.998939 1.00384 1.00678 1.01037 1.00906 +0.99698 0.98098 0.961684 0.956632 0.950316 0.948421 0.954105 0.959789 +0.98 0.983592 0.866947 0.633263 0.42048 0.303093 0.401547 0.505053 +0.464027 0.316347 0.269013 0.3296 0.3012 0.000933333 0.000773333 0.00078 +0.000753333 0.000733333 0.000746667 0.000766667 0.000726667 0.000726667 0.000726667 0.000726667 +0.000713333 0.000693333 0.0007 0.000693333 0.000673333 0.000666667 0.00066 0.000653333 +0.000686667 0.0007 0.00068 0.000673333 0.0007 0.000706667 0.000713333 0.00074 +0.000733333 0.000706667 0.000686667 0.000693333 0.000706667 0.000706667 0.00072 0.000713333 +0.0007 0.00072 0.00072 0.000733333 0.00072 0.000713333 0.000733333 0.000733333 +0.000726667 0.000726667 0.0007 0.000713333 0.000726667 0.000733333 0.00074 0.000733333 +0.00076 0.000786667 0.000833333 0.000966667 0.314453 0.358 0.342853 0.546105 +0.788 0.973053 0.981959 0.951579 0.944632 0.947158 0.954105 0.957895 +0.957263 0.965474 0.971158 0.971158 0.968632 0.971789 0.98 0.976842 +0.973684 0.969895 0.966737 0.975579 0.987837 0.999592 1.0058 1.00808 +1.00906 1.00808 1.00776 1.00645 1.00449 1.00384 1.00253 1.00057 +0.996653 0.987184 0.968632 0.953474 0.947158 0.911158 0.805684 0.648421 +0.526526 0.445093 0.450773 0.469707 0.462133 0.439413 0.45456 0.486747 +0.479173 0.429947 0.373147 0.36368 0.411013 0.492427 0.520211 0.521474 +0.508211 0.46592 0.411013 0.390187 0.390187 0.405333 0.418587 0.42048 +0.393973 0.348533 0.320133 0.299307 0.293627 0.3012 0.316347 0.331493 +0.34096 0.342853 0.337173 0.33528 0.327707 0.35232 0.395867 0.373147 +0.327707 0.322027 0.32392 0.333387 0.325813 0.320133 0.320133 0.316347 +0.339067 0.36936 0.339067 0.32392 0.322027 0.320133 0.316347 0.333387 +0.378827 0.43752 0.523368 0.62 0.653474 0.558105 0.469707 0.467813 +0.473493 0.43752 0.390187 0.38072 0.395867 0.429947 0.412907 0.35232 +0.388293 0.503789 0.519579 0.504421 0.435627 0.384507 0.354213 0.337173 +0.3296 0.320133 0.320133 0.320133 0.327707 0.316347 0.314453 0.31824 +0.320133 0.32392 0.327707 0.3296 0.350427 0.405333 0.44888 0.450773 +0.490533 0.523368 0.554947 0.580842 0.590316 0.587158 0.582105 0.556842 +0.518316 0.47728 0.42048 0.390187 0.382613 0.424267 0.45456 0.40344 +0.405333 0.501895 0.554947 0.564421 0.514526 0.40912 0.38072 0.388293 +0.384507 0.422373 0.416693 0.378827 0.36936 0.382613 0.424267 0.433733 +0.388293 0.356107 0.367467 0.378827 0.38072 0.38072 0.39208 0.40344 +0.399653 0.40912 0.433733 0.44888 0.445093 0.467813 0.524632 0.524632 +0.475387 0.446987 0.486747 0.506947 0.511368 0.541053 0.617474 0.729895 +0.846105 0.934526 0.983918 0.998939 1.01037 1.01951 1.02539 1.03127 +1.03355 1.03682 1.03616 1.03551 1.03355 1.03257 1.03388 1.03584 +1.03714 1.03584 1.03682 1.03845 1.03192 1.03322 1.03812 1.0391 +1.03845 1.03747 1.03747 1.04237 1.04269 1.04269 1.04237 1.0391 +1.04139 1.04433 1.04139 1.03747 1.03812 1.04041 1.03976 1.03682 +1.03747 1.03878 1.0378 1.03714 1.04008 1.03878 1.03878 1.03682 +1.03649 1.03388 1.03159 1.03551 1.03616 1.03486 1.03127 1.03029 +1.03257 1.0329 1.03355 1.04041 1.0391 1.03976 1.04171 1.04367 +1.04498 1.04498 1.04792 1.04988 1.04792 1.04857 1.04824 1.04661 +1.04237 1.03976 1.0378 1.03878 1.03486 1.03224 1.02963 1.02506 +1.02604 1.02408 1.0182 1.01004 1.00057 0.999592 1.00645 1.01527 +1.02114 1.02376 1.02114 1.01788 1.01918 1.01461 1.00645 0.992735 +0.931368 0.808842 0.697053 0.647158 0.632 0.62 0.613053 0.611158 +0.609263 0.596 0.570105 0.546737 0.527789 0.505053 0.481067 0.46592 +0.435627 0.412907 0.407227 0.418587 0.4432 0.445093 0.416693 0.371253 +0.35232 0.359893 0.36368 0.388293 0.439413 0.4432 0.401547 0.38072 +0.35232 0.337173 0.350427 0.378827 0.39776 0.388293 0.367467 0.356107 +0.344747 0.367467 0.382613 0.365573 0.367467 0.37504 0.359893 0.331493 +0.308773 0.310667 0.34096 0.367467 0.361787 0.35232 0.358 0.354213 +0.34096 0.325813 0.333387 0.33528 0.354213 0.359893 0.34664 0.365573 +0.390187 0.382613 0.388293 0.422373 0.44888 0.418587 0.367467 0.333387 +0.320133 0.310667 0.314453 0.314453 0.31824 0.31824 0.325813 0.337173 +0.320133 0.310667 0.310667 0.320133 0.384507 0.44888 0.424267 0.354213 +0.31256 0.299307 0.31256 0.350427 0.418587 0.505684 0.517684 0.49432 +0.429947 0.405333 0.40912 0.42048 0.418587 0.412907 0.43752 0.520842 +0.634526 0.806947 0.973684 1.0169 1.01918 1.01788 1.02408 1.05543 +1.24259 1.1513 1.02702 1.01102 1.01037 1.01037 1.012 1.01559 +1.01592 1.01429 1.01396 1.01363 1.01461 1.01494 1.01592 1.01527 +1.01722 1.01657 1.01592 1.01559 1.01559 1.01722 1.01722 1.01624 +1.01396 1.00939 1.0022 1.00057 1.00416 1.00808 1.01037 1.01037 +1.00155 0.985224 0.967368 0.961053 0.954737 0.952211 0.956 0.957895 +0.974947 0.987184 0.916842 0.697684 0.505684 0.322027 0.3864 0.503789 +0.48864 0.337173 0.253867 0.31256 0.327707 0.23304 0.00082 0.0008 +0.000786667 0.000753333 0.00074 0.000733333 0.000706667 0.000726667 0.000733333 0.00072 +0.000686667 0.00068 0.000713333 0.000713333 0.000693333 0.0007 0.0007 0.0007 +0.0007 0.000713333 0.000693333 0.000673333 0.00068 0.000673333 0.00066 0.000686667 +0.00072 0.000726667 0.000713333 0.000693333 0.0007 0.000713333 0.000693333 0.000673333 +0.000666667 0.00068 0.000706667 0.00074 0.000733333 0.00074 0.00076 0.00076 +0.000746667 0.000733333 0.000733333 0.0007 0.0007 0.000726667 0.000713333 0.000726667 +0.00078 0.000826667 0.000873333 0.229253 0.34096 0.359893 0.384507 0.59979 +0.851789 0.983265 0.970526 0.945895 0.940842 0.944632 0.955368 0.956632 +0.957895 0.971158 0.973053 0.968632 0.966737 0.970526 0.977474 0.979368 +0.979368 0.973684 0.971158 0.979368 0.992082 1.00155 1.00482 1.0071 +1.0071 1.00612 1.00612 1.00547 1.00416 1.00449 1.0022 0.998612 +0.995673 0.98751 0.969895 0.955368 0.944 0.906737 0.808842 0.65979 +0.533474 0.439413 0.42616 0.43184 0.4148 0.390187 0.393973 0.4148 +0.452667 0.47728 0.456453 0.412907 0.39208 0.399653 0.4148 0.439413 +0.47728 0.5 0.481067 0.446987 0.435627 0.441307 0.428053 0.411013 +0.38072 0.359893 0.34664 0.3296 0.314453 0.308773 0.314453 0.322027 +0.31824 0.30688 0.299307 0.299307 0.303093 0.342853 0.359893 0.314453 +0.287947 0.293627 0.299307 0.316347 0.325813 0.32392 0.31256 0.31256 +0.333387 0.359893 0.322027 0.299307 0.304987 0.308773 0.30688 0.32392 +0.34664 0.371253 0.5 0.628842 0.710947 0.618737 0.532211 0.517053 +0.518316 0.506316 0.456453 0.428053 0.395867 0.376933 0.359893 0.348533 +0.428053 0.518316 0.515789 0.4432 0.367467 0.337173 0.31824 0.304987 +0.308773 0.308773 0.314453 0.331493 0.34664 0.333387 0.322027 0.31256 +0.325813 0.327707 0.325813 0.32392 0.348533 0.401547 0.418587 0.384507 +0.40344 0.48296 0.528421 0.571368 0.605474 0.617474 0.629474 0.634526 +0.62 0.590316 0.555579 0.532842 0.520211 0.520842 0.517053 0.473493 +0.43184 0.469707 0.528421 0.551158 0.520842 0.439413 0.407227 0.418587 +0.433733 0.439413 0.393973 0.348533 0.342853 0.390187 0.464027 0.45456 +0.3864 0.361787 0.36368 0.371253 0.388293 0.405333 0.416693 0.42048 +0.43184 0.4432 0.484853 0.501263 0.48296 0.490533 0.515789 0.508211 +0.441307 0.439413 0.503158 0.515789 0.513895 0.524632 0.578947 0.673053 +0.785474 0.888421 0.963579 0.986857 0.999265 1.01135 1.02016 1.02898 +1.03061 1.0342 1.03388 1.03257 1.03094 1.03159 1.0342 1.0342 +1.03551 1.03616 1.03518 1.0378 1.03486 1.03551 1.03747 1.0391 +1.04008 1.03845 1.03878 1.04106 1.04237 1.04531 1.04106 1.03845 +1.04269 1.04433 1.0391 1.03682 1.03812 1.04008 1.04139 1.0378 +1.03812 1.0391 1.03747 1.03682 1.03943 1.03747 1.04008 1.03714 +1.0342 1.03224 1.02931 1.03518 1.03714 1.0329 1.02865 1.03127 +1.0342 1.03224 1.0342 1.0378 1.03649 1.03943 1.04106 1.04139 +1.044 1.04498 1.04661 1.0489 1.04922 1.0489 1.04661 1.04596 +1.04465 1.04171 1.03976 1.04106 1.03714 1.03388 1.03029 1.02571 +1.02473 1.01951 1.01657 1.01135 1.00743 1.01037 1.01527 1.01918 +1.0231 1.02473 1.02114 1.0169 1.01722 1.01069 0.994694 0.92821 +0.794316 0.682526 0.640842 0.640211 0.632 0.613053 0.606737 0.604842 +0.592211 0.573895 0.548 0.519579 0.505053 0.48864 0.469707 0.458347 +0.435627 0.40912 0.390187 0.39776 0.418587 0.40912 0.382613 0.376933 +0.365573 0.358 0.36368 0.39208 0.422373 0.40912 0.395867 0.39208 +0.361787 0.339067 0.33528 0.358 0.373147 0.367467 0.358 0.356107 +0.35232 0.359893 0.373147 0.354213 0.35232 0.367467 0.356107 0.342853 +0.333387 0.34096 0.361787 0.359893 0.34664 0.344747 0.348533 0.342853 +0.3296 0.327707 0.327707 0.31824 0.31824 0.333387 0.320133 0.327707 +0.344747 0.32392 0.314453 0.348533 0.395867 0.39776 0.365573 0.339067 +0.320133 0.304987 0.303093 0.308773 0.325813 0.337173 0.354213 0.361787 +0.322027 0.31256 0.314453 0.32392 0.365573 0.382613 0.350427 0.310667 +0.299307 0.30688 0.325813 0.34664 0.367467 0.46024 0.525263 0.528421 +0.496213 0.422373 0.39776 0.399653 0.407227 0.40912 0.43184 0.510105 +0.610526 0.780421 0.956 1.01429 1.0218 1.02473 1.03192 1.07826 +1.25477 1.11934 1.0218 1.01037 1.01037 1.01037 1.01167 1.01527 +1.0182 1.01559 1.01396 1.01461 1.01461 1.01429 1.01592 1.01624 +1.0169 1.01788 1.0169 1.01494 1.01559 1.0169 1.01624 1.01624 +1.01592 1.01494 1.01167 1.00645 1.00514 1.00743 1.01004 1.01167 +1.00743 0.992408 0.974947 0.964842 0.956632 0.950947 0.952842 0.954105 +0.971789 0.989469 0.955368 0.762737 0.544842 0.34664 0.367467 0.490533 +0.505053 0.390187 0.274693 0.293627 0.337173 0.265227 0.000853333 0.000766667 +0.000746667 0.000746667 0.00076 0.00076 0.000673333 0.000693333 0.00072 0.00074 +0.000713333 0.0007 0.000706667 0.000693333 0.00068 0.000706667 0.000726667 0.000713333 +0.000706667 0.000726667 0.000713333 0.000693333 0.00068 0.000673333 0.00066 0.00066 +0.00068 0.000673333 0.00066 0.00066 0.000666667 0.000693333 0.000713333 0.00072 +0.000726667 0.000726667 0.000713333 0.00072 0.00072 0.000726667 0.000733333 0.000746667 +0.00076 0.00078 0.0008 0.00078 0.000746667 0.00072 0.000706667 0.000726667 +0.00076 0.0008 0.00086 0.2444 0.350427 0.350427 0.43752 0.661684 +0.907368 0.986857 0.965474 0.945895 0.939579 0.944632 0.955368 0.952842 +0.958526 0.971158 0.969263 0.965474 0.966737 0.971158 0.977474 0.982286 +0.981306 0.978737 0.977474 0.985551 0.997959 1.00416 1.00482 1.00743 +1.00743 1.00645 1.00612 1.00384 1.0009 1.00057 0.999592 0.997633 +0.995673 0.988163 0.971158 0.960421 0.949684 0.904842 0.805053 0.662316 +0.537895 0.452667 0.422373 0.40912 0.378827 0.359893 0.359893 0.371253 +0.439413 0.513895 0.524632 0.501895 0.42616 0.376933 0.356107 0.378827 +0.456453 0.516421 0.522737 0.502526 0.445093 0.411013 0.376933 0.350427 +0.34096 0.350427 0.34664 0.322027 0.316347 0.316347 0.31256 0.31256 +0.30688 0.304987 0.308773 0.31824 0.337173 0.371253 0.35232 0.29552 +0.28984 0.29552 0.29552 0.327707 0.35232 0.34096 0.314453 0.322027 +0.344747 0.365573 0.325813 0.304987 0.310667 0.314453 0.327707 0.35232 +0.348533 0.339067 0.395867 0.540421 0.609263 0.585263 0.550526 0.548 +0.550526 0.544211 0.519579 0.467813 0.38072 0.339067 0.344747 0.3864 +0.501263 0.526526 0.49432 0.390187 0.33528 0.314453 0.314453 0.310667 +0.314453 0.31256 0.320133 0.333387 0.331493 0.31824 0.316347 0.308773 +0.320133 0.331493 0.333387 0.33528 0.344747 0.367467 0.378827 0.367467 +0.371253 0.395867 0.439413 0.513895 0.561895 0.593474 0.621895 0.657263 +0.687579 0.695789 0.68 0.668632 0.662316 0.639579 0.609895 0.578947 +0.551158 0.531579 0.533474 0.537895 0.520842 0.473493 0.433733 0.456453 +0.473493 0.412907 0.358 0.350427 0.354213 0.418587 0.506316 0.47728 +0.399653 0.395867 0.37504 0.373147 0.390187 0.399653 0.416693 0.439413 +0.45456 0.4716 0.503789 0.516421 0.509474 0.502526 0.506947 0.475387 +0.42048 0.452667 0.510737 0.515789 0.512632 0.527158 0.572 0.645895 +0.752 0.860632 0.935789 0.959158 0.983918 1.0009 1.01265 1.02343 +1.02669 1.03029 1.02931 1.02963 1.03159 1.03192 1.03453 1.03486 +1.03616 1.0378 1.03584 1.03682 1.03845 1.0378 1.03845 1.03845 +1.03845 1.04008 1.04237 1.04237 1.04335 1.04465 1.03943 1.03845 +1.04106 1.04237 1.03943 1.04008 1.04139 1.03943 1.04106 1.03878 +1.0391 1.03812 1.0378 1.03649 1.03812 1.0378 1.04008 1.0342 +1.02963 1.03094 1.03224 1.03649 1.03584 1.02963 1.02898 1.03322 +1.03388 1.03388 1.03486 1.0342 1.03453 1.03878 1.04073 1.04204 +1.04465 1.04661 1.04824 1.04857 1.04792 1.04727 1.04661 1.04727 +1.04629 1.04367 1.04302 1.04106 1.03682 1.03518 1.03257 1.028 +1.02245 1.01559 1.01298 1.01429 1.01559 1.01755 1.01853 1.02212 +1.02343 1.02245 1.02016 1.01657 1.01037 0.993714 0.923158 0.787368 +0.671789 0.626316 0.621263 0.630105 0.618737 0.598526 0.594105 0.593474 +0.580842 0.564421 0.537895 0.506947 0.469707 0.469707 0.458347 0.452667 +0.446987 0.418587 0.3864 0.382613 0.390187 0.378827 0.359893 0.36368 +0.365573 0.365573 0.367467 0.373147 0.39208 0.395867 0.38072 0.3864 +0.376933 0.354213 0.34664 0.34664 0.354213 0.361787 0.356107 0.361787 +0.36936 0.36368 0.365573 0.348533 0.342853 0.356107 0.350427 0.344747 +0.342853 0.342853 0.354213 0.337173 0.32392 0.32392 0.325813 0.32392 +0.31824 0.320133 0.316347 0.31256 0.316347 0.325813 0.316347 0.31824 +0.333387 0.3296 0.308773 0.297413 0.314453 0.333387 0.33528 0.33528 +0.333387 0.331493 0.325813 0.314453 0.31256 0.333387 0.376933 0.39208 +0.337173 0.316347 0.316347 0.325813 0.356107 0.344747 0.31256 0.297413 +0.314453 0.331493 0.344747 0.34664 0.342853 0.411013 0.514526 0.527158 +0.486747 0.407227 0.384507 0.3864 0.395867 0.407227 0.43752 0.505053 +0.592842 0.763368 0.949684 1.01527 1.02408 1.02898 1.04008 1.13304 +1.27455 1.08891 1.01624 1.0071 1.01037 1.01233 1.01331 1.01494 +1.01755 1.01657 1.01396 1.01429 1.01624 1.01592 1.01559 1.01657 +1.01494 1.01624 1.01527 1.01331 1.01494 1.01592 1.01592 1.0169 +1.0182 1.0182 1.01592 1.00873 1.00547 1.00808 1.01037 1.01233 +1.01037 0.997633 0.978737 0.961684 0.956 0.950947 0.952842 0.956 +0.966737 0.985878 0.974947 0.820842 0.591579 0.388293 0.33528 0.441307 +0.515158 0.486747 0.342853 0.287947 0.32392 0.282267 0.000893333 0.000786667 +0.00078 0.000786667 0.0008 0.00078 0.000686667 0.0007 0.0007 0.000713333 +0.000733333 0.000733333 0.000733333 0.000713333 0.000706667 0.000713333 0.000706667 0.000686667 +0.000686667 0.000713333 0.000713333 0.00072 0.000726667 0.000706667 0.000693333 0.0007 +0.0007 0.000686667 0.00068 0.000673333 0.000666667 0.000666667 0.000686667 0.0007 +0.00072 0.000726667 0.000713333 0.000713333 0.00072 0.000726667 0.000726667 0.000746667 +0.00076 0.000766667 0.000773333 0.000766667 0.000766667 0.00076 0.000773333 0.00078 +0.000786667 0.000813333 0.00088 0.259547 0.344747 0.33528 0.503789 0.721684 +0.945263 0.984898 0.958526 0.945263 0.943368 0.952211 0.956 0.951579 +0.956 0.963579 0.963579 0.963579 0.968632 0.975579 0.985224 0.991755 +0.98849 0.986531 0.984898 0.992082 1.0022 1.00416 1.00449 1.00776 +1.00776 1.0071 1.00645 1.00384 1.00155 1.00057 0.998939 0.995347 +0.993388 0.986857 0.969263 0.960421 0.950316 0.901053 0.800632 0.658526 +0.534737 0.445093 0.412907 0.399653 0.384507 0.3864 0.395867 0.4148 +0.490533 0.531579 0.541053 0.515789 0.45456 0.399653 0.36936 0.365573 +0.42048 0.500632 0.509474 0.48864 0.429947 0.382613 0.35232 0.339067 +0.342853 0.356107 0.348533 0.31824 0.314453 0.314453 0.31256 0.31256 +0.308773 0.316347 0.3296 0.34096 0.371253 0.37504 0.339067 0.304987 +0.297413 0.29552 0.327707 0.356107 0.354213 0.325813 0.316347 0.331493 +0.350427 0.376933 0.342853 0.32392 0.3296 0.348533 0.378827 0.38072 +0.350427 0.33528 0.354213 0.424267 0.500632 0.510737 0.525263 0.547368 +0.563158 0.564421 0.548632 0.517684 0.43184 0.350427 0.358 0.433733 +0.525895 0.533474 0.469707 0.378827 0.342853 0.331493 0.333387 0.331493 +0.327707 0.322027 0.3296 0.33528 0.31824 0.308773 0.327707 0.34096 +0.35232 0.361787 0.354213 0.33528 0.333387 0.33528 0.35232 0.384507 +0.39208 0.373147 0.382613 0.416693 0.475387 0.509474 0.538526 0.597895 +0.677474 0.728632 0.733684 0.740632 0.752 0.728 0.693263 0.670526 +0.649053 0.615579 0.581474 0.552421 0.529684 0.505684 0.473493 0.492427 +0.4716 0.388293 0.358 0.36368 0.37504 0.458347 0.528421 0.503789 +0.4148 0.4148 0.395867 0.3864 0.39208 0.393973 0.412907 0.429947 +0.435627 0.43752 0.469707 0.503158 0.5 0.49432 0.501895 0.46592 +0.43752 0.473493 0.505684 0.508211 0.517684 0.542947 0.585263 0.648421 +0.753895 0.848 0.890947 0.910526 0.949684 0.986857 1.00318 1.01657 +1.02376 1.02637 1.02702 1.02833 1.03029 1.03094 1.03453 1.03649 +1.03616 1.03616 1.03355 1.0342 1.0391 1.03682 1.03649 1.0378 +1.03812 1.04073 1.04302 1.04433 1.04433 1.04204 1.03878 1.03943 +1.04106 1.04204 1.03976 1.04041 1.04106 1.03943 1.04073 1.0378 +1.03649 1.03616 1.03878 1.03682 1.03812 1.03845 1.0378 1.03388 +1.02767 1.03159 1.03518 1.03682 1.03224 1.02767 1.02898 1.03029 +1.03094 1.03224 1.03257 1.03388 1.0342 1.03682 1.04041 1.044 +1.04498 1.04596 1.04857 1.04824 1.04661 1.04727 1.04857 1.04759 +1.04857 1.04792 1.04629 1.04269 1.03812 1.03518 1.03322 1.02767 +1.02016 1.01527 1.01559 1.0169 1.01984 1.01951 1.01886 1.02343 +1.02245 1.01755 1.01624 1.01037 0.988163 0.903579 0.771579 0.66421 +0.621263 0.614947 0.619368 0.621895 0.601053 0.587789 0.585263 0.571368 +0.561895 0.551158 0.528421 0.501263 0.456453 0.45456 0.450773 0.4432 +0.4432 0.428053 0.395867 0.38072 0.378827 0.3864 0.3864 0.382613 +0.39208 0.393973 0.3864 0.3864 0.418587 0.428053 0.399653 0.399653 +0.40912 0.40344 0.395867 0.3864 0.39208 0.390187 0.378827 0.382613 +0.399653 0.393973 0.38072 0.367467 0.367467 0.373147 0.361787 0.356107 +0.344747 0.337173 0.342853 0.339067 0.325813 0.316347 0.31824 0.322027 +0.325813 0.31824 0.30688 0.32392 0.331493 0.320133 0.31256 0.31824 +0.331493 0.333387 0.31824 0.29552 0.293627 0.310667 0.322027 0.322027 +0.31824 0.3296 0.344747 0.333387 0.314453 0.327707 0.38072 0.401547 +0.33528 0.314453 0.337173 0.35232 0.356107 0.33528 0.310667 0.30688 +0.34664 0.371253 0.361787 0.342853 0.342853 0.39776 0.502526 0.516421 +0.484853 0.416693 0.39208 0.39208 0.393973 0.399653 0.424267 0.490533 +0.582737 0.760211 0.951579 1.01853 1.03029 1.0378 1.05184 1.18021 +1.25172 1.05445 1.01396 1.00776 1.01167 1.01233 1.01298 1.01429 +1.01592 1.01494 1.01331 1.01363 1.01592 1.01624 1.01461 1.01527 +1.01331 1.01461 1.01494 1.01494 1.01494 1.01527 1.01527 1.01494 +1.01624 1.0169 1.01527 1.012 1.00939 1.00939 1.00841 1.00939 +1.00873 1.0009 0.983918 0.964842 0.963579 0.957263 0.950316 0.950947 +0.956632 0.976842 0.982939 0.875789 0.650316 0.464027 0.310667 0.367467 +0.501263 0.513263 0.43752 0.342853 0.342853 0.297413 0.00094 0.000813333 +0.000793333 0.000766667 0.00074 0.000726667 0.000713333 0.000713333 0.000693333 0.000686667 +0.000686667 0.000686667 0.000693333 0.000693333 0.00072 0.00072 0.000706667 0.000706667 +0.0007 0.0007 0.000693333 0.000693333 0.000706667 0.000706667 0.0007 0.000713333 +0.000706667 0.00072 0.000726667 0.000726667 0.000706667 0.0007 0.000686667 0.000673333 +0.00068 0.000673333 0.000686667 0.000693333 0.000693333 0.000713333 0.000726667 0.00074 +0.00076 0.00076 0.00076 0.000746667 0.000746667 0.000766667 0.000793333 0.0008 +0.000813333 0.000853333 0.000953333 0.297413 0.358 0.350427 0.543579 0.782947 +0.970526 0.982286 0.950947 0.939579 0.944632 0.954105 0.954737 0.956632 +0.962316 0.962947 0.966105 0.968 0.974316 0.982939 0.992082 0.998939 +0.997306 0.994367 0.991429 0.995673 1.00188 1.00482 1.0058 1.00841 +1.00776 1.00612 1.00384 1.00351 1.0022 1.00122 1.00024 0.996653 +0.994041 0.987837 0.975579 0.966105 0.954105 0.902316 0.798737 0.656 +0.531579 0.433733 0.40344 0.40344 0.407227 0.43184 0.452667 0.452667 +0.473493 0.505053 0.508842 0.486747 0.433733 0.399653 0.371253 0.371253 +0.39776 0.416693 0.4148 0.418587 0.40344 0.37504 0.35232 0.35232 +0.365573 0.371253 0.354213 0.322027 0.316347 0.31824 0.314453 0.30688 +0.299307 0.3012 0.30688 0.320133 0.348533 0.337173 0.314453 0.297413 +0.287947 0.299307 0.354213 0.367467 0.333387 0.308773 0.316347 0.31256 +0.34664 0.373147 0.344747 0.32392 0.34096 0.37504 0.399653 0.382613 +0.354213 0.348533 0.359893 0.36936 0.38072 0.401547 0.445093 0.512 +0.545474 0.565684 0.575158 0.567579 0.524 0.43184 0.399653 0.492427 +0.536632 0.516421 0.412907 0.358 0.350427 0.36368 0.36368 0.356107 +0.348533 0.337173 0.33528 0.333387 0.325813 0.327707 0.33528 0.350427 +0.36936 0.390187 0.39208 0.365573 0.348533 0.333387 0.33528 0.36368 +0.384507 0.382613 0.42048 0.44888 0.42048 0.411013 0.490533 0.572632 +0.649684 0.676842 0.667368 0.666105 0.682526 0.692 0.687579 0.673684 +0.662947 0.645263 0.617474 0.584 0.547368 0.523368 0.513895 0.512632 +0.4716 0.407227 0.39776 0.3864 0.382613 0.501895 0.550526 0.510737 +0.39208 0.38072 0.384507 0.390187 0.399653 0.405333 0.411013 0.422373 +0.422373 0.42048 0.435627 0.469707 0.4716 0.475387 0.48864 0.46592 +0.44888 0.47728 0.505053 0.513895 0.532211 0.564421 0.612421 0.681263 +0.764 0.811368 0.828421 0.858737 0.912421 0.968632 0.99502 1.00971 +1.01527 1.01853 1.0218 1.02571 1.028 1.02931 1.03355 1.03453 +1.0329 1.03388 1.03355 1.03388 1.03551 1.03355 1.03714 1.03943 +1.03878 1.04008 1.04106 1.04335 1.04269 1.04073 1.04106 1.04171 +1.04139 1.04171 1.04008 1.03878 1.03845 1.03747 1.04041 1.03943 +1.03551 1.03584 1.03747 1.03584 1.03682 1.0378 1.03649 1.03453 +1.02865 1.03257 1.03584 1.03257 1.03094 1.03029 1.02996 1.02963 +1.03192 1.03061 1.03029 1.0342 1.03388 1.03584 1.04106 1.04367 +1.04367 1.04596 1.04857 1.04661 1.04629 1.04955 1.05053 1.04824 +1.05151 1.05118 1.04629 1.04269 1.04008 1.03714 1.03192 1.02408 +1.01918 1.01755 1.01853 1.02049 1.0218 1.01918 1.0182 1.02082 +1.01788 1.01298 1.00612 0.983592 0.889684 0.755789 0.651579 0.610526 +0.608632 0.618737 0.630105 0.623158 0.590947 0.571368 0.558737 0.537895 +0.527158 0.520842 0.510105 0.490533 0.462133 0.45456 0.446987 0.435627 +0.429947 0.4148 0.399653 0.39208 0.388293 0.411013 0.43752 0.450773 +0.46592 0.46592 0.46024 0.473493 0.492427 0.486747 0.462133 0.45456 +0.45456 0.445093 0.44888 0.435627 0.428053 0.424267 0.418587 0.422373 +0.424267 0.412907 0.422373 0.424267 0.412907 0.401547 0.388293 0.388293 +0.38072 0.36936 0.376933 0.376933 0.35232 0.331493 0.333387 0.339067 +0.333387 0.32392 0.316347 0.337173 0.34664 0.325813 0.30688 0.304987 +0.316347 0.327707 0.325813 0.316347 0.308773 0.304987 0.308773 0.30688 +0.3012 0.308773 0.327707 0.3296 0.308773 0.303093 0.344747 0.373147 +0.333387 0.320133 0.34096 0.350427 0.344747 0.337173 0.350427 0.38072 +0.422373 0.416693 0.38072 0.356107 0.373147 0.42616 0.481067 0.502526 +0.502526 0.475387 0.42616 0.39776 0.39776 0.40344 0.418587 0.47728 +0.579579 0.762737 0.947158 1.01559 1.03355 1.04367 1.06304 1.19542 +1.17564 1.03649 1.01069 1.00743 1.01004 1.01069 1.01298 1.01461 +1.01461 1.01429 1.01298 1.01396 1.01494 1.01396 1.01429 1.01559 +1.01527 1.01559 1.01559 1.01461 1.01494 1.01657 1.01722 1.01722 +1.01559 1.01461 1.01331 1.00906 1.00873 1.01037 1.00873 1.00906 +1.01004 1.0058 0.990122 0.969895 0.964842 0.958526 0.945263 0.945263 +0.952211 0.968632 0.986531 0.92379 0.709053 0.512632 0.297413 0.286053 +0.39208 0.503158 0.510105 0.446987 0.367467 0.280373 0.000906667 0.000766667 +0.000746667 0.000746667 0.00074 0.000746667 0.000753333 0.000733333 0.000726667 0.000706667 +0.000673333 0.00066 0.000673333 0.00068 0.000686667 0.0007 0.0007 0.000726667 +0.000726667 0.000713333 0.000706667 0.0007 0.000706667 0.000726667 0.00072 0.000706667 +0.0007 0.0007 0.000706667 0.000726667 0.000726667 0.000706667 0.000693333 0.000686667 +0.0007 0.0007 0.0007 0.000693333 0.00068 0.000693333 0.000706667 0.000706667 +0.000713333 0.00072 0.000733333 0.000733333 0.000733333 0.00076 0.000793333 0.000813333 +0.000853333 0.000873333 0.000993333 0.32392 0.36368 0.378827 0.592842 0.843579 +0.986204 0.980327 0.949053 0.943368 0.949684 0.954105 0.952211 0.956 +0.961053 0.960421 0.965474 0.973684 0.984245 0.995673 1.00351 1.00514 +1.0022 0.997306 0.994041 0.996 1.00188 1.0058 1.00873 1.00971 +1.00906 1.00482 1.00253 1.00188 0.999918 0.998286 0.997633 0.995347 +0.993388 0.988816 0.982612 0.978737 0.961684 0.901053 0.790526 0.649053 +0.530316 0.43752 0.40912 0.411013 0.416693 0.441307 0.439413 0.405333 +0.390187 0.407227 0.424267 0.412907 0.390187 0.365573 0.358 0.36368 +0.371253 0.361787 0.358 0.373147 0.365573 0.348533 0.354213 0.390187 +0.401547 0.382613 0.358 0.331493 0.322027 0.320133 0.308773 0.297413 +0.293627 0.297413 0.29552 0.299307 0.310667 0.308773 0.3012 0.287947 +0.287947 0.31256 0.354213 0.34096 0.308773 0.303093 0.316347 0.325813 +0.367467 0.373147 0.331493 0.322027 0.348533 0.382613 0.399653 0.376933 +0.359893 0.359893 0.359893 0.358 0.356107 0.365573 0.367467 0.422373 +0.513895 0.554947 0.588421 0.605474 0.579579 0.529684 0.503158 0.525263 +0.534105 0.473493 0.371253 0.35232 0.358 0.376933 0.37504 0.361787 +0.348533 0.348533 0.356107 0.348533 0.358 0.350427 0.34096 0.3296 +0.359893 0.384507 0.39208 0.407227 0.39776 0.361787 0.344747 0.358 +0.382613 0.376933 0.407227 0.439413 0.424267 0.458347 0.536632 0.610526 +0.628211 0.591579 0.556211 0.541053 0.550526 0.576421 0.596 0.594105 +0.588421 0.588421 0.588421 0.576421 0.549263 0.528421 0.522737 0.519579 +0.49432 0.44888 0.450773 0.439413 0.435627 0.524632 0.558105 0.507579 +0.401547 0.382613 0.382613 0.393973 0.40344 0.405333 0.40912 0.40912 +0.411013 0.422373 0.439413 0.46592 0.479173 0.481067 0.48296 0.456453 +0.452667 0.505053 0.525263 0.537895 0.563789 0.602947 0.656 0.712211 +0.743789 0.755789 0.779789 0.829684 0.889684 0.943368 0.984571 0.997959 +1.00318 1.01069 1.01722 1.0231 1.02735 1.02996 1.02996 1.03192 +1.0329 1.03257 1.03388 1.03257 1.03355 1.0342 1.03878 1.03845 +1.0391 1.04171 1.04008 1.04139 1.04335 1.03976 1.04008 1.04237 +1.04204 1.04106 1.04041 1.04008 1.03878 1.03518 1.03812 1.04073 +1.03747 1.03649 1.03616 1.03616 1.03649 1.03649 1.03518 1.03355 +1.03192 1.03551 1.03518 1.03127 1.03061 1.03127 1.02996 1.03061 +1.03094 1.02996 1.03159 1.0342 1.03322 1.03486 1.0391 1.04073 +1.04335 1.04694 1.04596 1.04367 1.04694 1.05118 1.05086 1.04988 +1.05282 1.05184 1.04694 1.04237 1.04139 1.03845 1.03029 1.02278 +1.02245 1.02376 1.02408 1.02278 1.02016 1.01657 1.01559 1.01331 +1.00939 1.00155 0.976211 0.872 0.729895 0.628842 0.596632 0.586526 +0.594105 0.618105 0.634526 0.624421 0.586526 0.552421 0.526526 0.512 +0.504421 0.498107 0.473493 0.450773 0.450773 0.456453 0.439413 0.43184 +0.441307 0.429947 0.416693 0.424267 0.429947 0.46024 0.484853 0.503158 +0.515158 0.516421 0.513263 0.518316 0.517053 0.507579 0.503158 0.496213 +0.481067 0.46024 0.44888 0.43184 0.42616 0.418587 0.42616 0.43184 +0.418587 0.416693 0.433733 0.4432 0.435627 0.42616 0.424267 0.429947 +0.433733 0.433733 0.428053 0.412907 0.388293 0.37504 0.365573 0.365573 +0.356107 0.350427 0.359893 0.36368 0.361787 0.337173 0.31256 0.30688 +0.310667 0.316347 0.331493 0.333387 0.320133 0.310667 0.316347 0.31824 +0.314453 0.30688 0.30688 0.314453 0.310667 0.299307 0.314453 0.34096 +0.325813 0.320133 0.3296 0.327707 0.344747 0.38072 0.43752 0.469707 +0.464027 0.418587 0.37504 0.373147 0.412907 0.43752 0.42048 0.429947 +0.481067 0.511368 0.501895 0.439413 0.424267 0.433733 0.445093 0.500632 +0.589053 0.775368 0.943368 1.00873 1.03094 1.044 1.06609 1.15738 +1.06 1.01788 1.00645 1.00678 1.00906 1.01069 1.01298 1.01461 +1.01396 1.01363 1.01363 1.01298 1.01461 1.01461 1.01624 1.01722 +1.01592 1.01494 1.01461 1.01592 1.01788 1.01886 1.01788 1.0169 +1.01429 1.012 1.00971 1.0058 1.00645 1.01167 1.01102 1.00939 +1.01037 1.00645 0.993388 0.976211 0.966105 0.962316 0.950947 0.948421 +0.951579 0.960421 0.981959 0.952211 0.761474 0.542316 0.316347 0.248187 +0.28416 0.401547 0.498107 0.446987 0.32392 0.229253 0.00086 0.000806667 +0.000786667 0.00078 0.00076 0.000726667 0.0007 0.000706667 0.00072 0.000733333 +0.000726667 0.00072 0.00072 0.00072 0.000713333 0.00068 0.00068 0.000693333 +0.000706667 0.000713333 0.0007 0.00068 0.000673333 0.000693333 0.000706667 0.0007 +0.000713333 0.000726667 0.00072 0.00072 0.000713333 0.000706667 0.000706667 0.000713333 +0.000726667 0.000726667 0.000726667 0.000733333 0.00072 0.0007 0.000706667 0.0007 +0.000693333 0.000673333 0.000653333 0.000666667 0.0007 0.000746667 0.000786667 0.00082 +0.000866667 0.0009 0.236827 0.34664 0.36368 0.435627 0.649053 0.896632 +0.991102 0.972421 0.948421 0.948421 0.953474 0.955368 0.952842 0.954737 +0.957263 0.957895 0.964842 0.979368 0.991755 1.00645 1.01102 1.00841 +1.00384 0.999592 0.998286 1.00057 1.00514 1.00743 1.00841 1.0071 +1.00547 1.00188 0.999918 0.999265 0.997633 0.996653 0.995347 0.993061 +0.990122 0.985224 0.980327 0.974947 0.961684 0.901684 0.788632 0.648421 +0.532842 0.4432 0.412907 0.418587 0.42048 0.429947 0.401547 0.361787 +0.365573 0.37504 0.390187 0.38072 0.361787 0.344747 0.34096 0.348533 +0.34664 0.34096 0.337173 0.350427 0.35232 0.342853 0.35232 0.393973 +0.416693 0.407227 0.384507 0.354213 0.344747 0.337173 0.32392 0.320133 +0.310667 0.30688 0.303093 0.30688 0.308773 0.303093 0.297413 0.291733 +0.304987 0.333387 0.348533 0.320133 0.3012 0.316347 0.3296 0.342853 +0.37504 0.358 0.3296 0.3296 0.34664 0.373147 0.3864 0.371253 +0.36936 0.367467 0.359893 0.359893 0.358 0.36368 0.373147 0.39208 +0.44888 0.516421 0.562526 0.604211 0.613053 0.589684 0.569474 0.558105 +0.526526 0.4432 0.37504 0.358 0.365573 0.390187 0.373147 0.33528 +0.325813 0.344747 0.36368 0.365573 0.36368 0.359893 0.354213 0.337173 +0.354213 0.350427 0.354213 0.399653 0.416693 0.37504 0.356107 0.382613 +0.39208 0.36368 0.373147 0.405333 0.445093 0.516421 0.570737 0.599158 +0.564421 0.513895 0.469707 0.435627 0.42616 0.45456 0.509474 0.518947 +0.504421 0.501263 0.511368 0.518316 0.516421 0.513263 0.519579 0.525263 +0.507579 0.462133 0.46024 0.486747 0.510737 0.550526 0.551789 0.479173 +0.401547 0.393973 0.393973 0.418587 0.424267 0.411013 0.405333 0.40912 +0.4148 0.429947 0.441307 0.458347 0.47728 0.4716 0.464027 0.473493 +0.513895 0.565053 0.598526 0.618105 0.638316 0.656632 0.682526 0.702737 +0.704632 0.719158 0.764632 0.824 0.875789 0.914947 0.947789 0.976842 +0.991429 1.00416 1.01233 1.01886 1.02539 1.02898 1.02833 1.02767 +1.03094 1.03192 1.03355 1.03453 1.03616 1.03616 1.03845 1.03616 +1.03878 1.04139 1.0391 1.04106 1.04335 1.03878 1.03976 1.04302 +1.04171 1.0391 1.0391 1.04008 1.03845 1.03551 1.03812 1.04073 +1.03714 1.03486 1.03584 1.03878 1.03747 1.03584 1.03355 1.03224 +1.03322 1.03616 1.0342 1.03061 1.02996 1.02833 1.02865 1.03061 +1.02963 1.03061 1.03192 1.03192 1.03192 1.03355 1.03616 1.04008 +1.04367 1.04498 1.04204 1.04139 1.0489 1.05216 1.05086 1.05216 +1.05151 1.05086 1.0489 1.04302 1.04106 1.03616 1.03029 1.02833 +1.03029 1.03029 1.028 1.02212 1.01592 1.01265 1.00808 1.00416 +0.994367 0.950316 0.842316 0.704632 0.594737 0.563789 0.572632 0.572 +0.581474 0.608632 0.623789 0.609895 0.572632 0.530947 0.501895 0.481067 +0.47728 0.490533 0.490533 0.475387 0.492427 0.498107 0.475387 0.481067 +0.498107 0.47728 0.450773 0.458347 0.479173 0.500632 0.498107 0.500632 +0.508842 0.509474 0.505053 0.503789 0.500632 0.484853 0.481067 0.473493 +0.44888 0.428053 0.4148 0.416693 0.4148 0.395867 0.399653 0.407227 +0.39776 0.401547 0.4148 0.4148 0.418587 0.422373 0.433733 0.445093 +0.450773 0.452667 0.4432 0.422373 0.40912 0.40344 0.390187 0.39776 +0.401547 0.39776 0.395867 0.384507 0.373147 0.356107 0.342853 0.34096 +0.32392 0.30688 0.322027 0.339067 0.339067 0.34664 0.361787 0.344747 +0.320133 0.314453 0.30688 0.320133 0.32392 0.3012 0.303093 0.320133 +0.31256 0.314453 0.320133 0.322027 0.35232 0.42048 0.475387 0.462133 +0.422373 0.382613 0.354213 0.36936 0.4148 0.418587 0.373147 0.38072 +0.433733 0.506947 0.513895 0.48296 0.46024 0.46024 0.46592 0.513263 +0.614316 0.803789 0.947789 1.00188 1.02604 1.04073 1.0551 1.07065 +1.03355 1.0058 1.00449 1.00743 1.01004 1.01167 1.01233 1.01461 +1.01396 1.01396 1.01527 1.01331 1.01527 1.01363 1.01494 1.01657 +1.01559 1.01461 1.01592 1.01853 1.01886 1.0169 1.01624 1.0169 +1.01461 1.01102 1.00906 1.00645 1.00514 1.01037 1.01102 1.01037 +1.00971 1.0058 0.997306 0.982939 0.969263 0.964842 0.955368 0.946526 +0.947789 0.958526 0.980653 0.972421 0.814526 0.582737 0.348533 0.217893 +0.000966667 0.297413 0.39776 0.36936 0.26144 0.000933333 0.00086 0.00084 +0.000813333 0.000773333 0.000713333 0.000686667 0.000673333 0.00068 0.00068 0.000686667 +0.000726667 0.000753333 0.000746667 0.00076 0.00078 0.00074 0.000686667 0.0007 +0.000693333 0.000693333 0.000693333 0.000693333 0.000673333 0.000673333 0.00068 0.00068 +0.000693333 0.0007 0.000713333 0.000726667 0.00072 0.000713333 0.000726667 0.00072 +0.000706667 0.000713333 0.000706667 0.000713333 0.00072 0.000713333 0.000713333 0.000713333 +0.000726667 0.000726667 0.000693333 0.000686667 0.000726667 0.000753333 0.00076 0.000766667 +0.000786667 0.000873333 0.253867 0.36368 0.376933 0.508842 0.710316 0.938316 +0.990449 0.963579 0.946526 0.947789 0.952211 0.956632 0.956 0.959158 +0.961053 0.962316 0.969895 0.984571 0.998286 1.00906 1.01004 1.00678 +1.00449 1.00449 1.00482 1.00547 1.00841 1.00841 1.00873 1.0071 +1.00514 1.00122 0.999918 0.999918 0.997959 0.996 0.995347 0.992082 +0.987837 0.983265 0.977474 0.971158 0.959158 0.897895 0.782316 0.647158 +0.536 0.456453 0.439413 0.452667 0.446987 0.433733 0.39776 0.365573 +0.365573 0.365573 0.37504 0.38072 0.367467 0.348533 0.342853 0.342853 +0.337173 0.333387 0.33528 0.34664 0.350427 0.344747 0.342853 0.359893 +0.40344 0.43184 0.42616 0.40344 0.39776 0.373147 0.34664 0.342853 +0.3296 0.308773 0.30688 0.320133 0.316347 0.316347 0.314453 0.333387 +0.399653 0.439413 0.390187 0.32392 0.310667 0.320133 0.3296 0.342853 +0.358 0.35232 0.344747 0.34096 0.331493 0.348533 0.378827 0.388293 +0.38072 0.358 0.350427 0.36936 0.373147 0.371253 0.382613 0.38072 +0.38072 0.424267 0.512632 0.570105 0.613053 0.637053 0.651579 0.611789 +0.533474 0.43184 0.378827 0.367467 0.378827 0.411013 0.3864 0.3296 +0.314453 0.325813 0.333387 0.34096 0.356107 0.373147 0.361787 0.344747 +0.34664 0.34096 0.342853 0.37504 0.416693 0.40912 0.382613 0.40344 +0.401547 0.36936 0.384507 0.43752 0.513895 0.555579 0.583368 0.56 +0.504421 0.42048 0.390187 0.371253 0.367467 0.395867 0.464027 0.486747 +0.429947 0.399653 0.401547 0.395867 0.4148 0.5 0.547368 0.573263 +0.552421 0.505053 0.446987 0.479173 0.527158 0.576421 0.562526 0.473493 +0.401547 0.395867 0.39776 0.418587 0.418587 0.399653 0.40344 0.424267 +0.43184 0.4432 0.446987 0.46592 0.492427 0.48864 0.501895 0.531579 +0.608 0.713474 0.766526 0.774105 0.750105 0.704 0.683158 0.683158 +0.693895 0.726105 0.770316 0.815789 0.851789 0.880211 0.904211 0.942737 +0.975579 0.993061 1.00188 1.00939 1.01722 1.0231 1.02506 1.02376 +1.028 1.03192 1.0329 1.03486 1.03551 1.03388 1.03551 1.03518 +1.0391 1.04073 1.03943 1.04237 1.04139 1.03878 1.04171 1.04433 +1.04041 1.0378 1.03812 1.03845 1.03649 1.0378 1.04073 1.04073 +1.03649 1.0342 1.03551 1.03682 1.03518 1.03486 1.03192 1.03192 +1.03257 1.03388 1.03061 1.02898 1.02833 1.02669 1.02865 1.02963 +1.02833 1.02996 1.03029 1.03061 1.03127 1.03159 1.03388 1.03976 +1.04041 1.04204 1.04269 1.04367 1.05086 1.05118 1.05053 1.05282 +1.04988 1.04922 1.04792 1.04367 1.04106 1.03616 1.03322 1.03551 +1.03616 1.03192 1.02669 1.01853 1.00906 1.00253 0.993061 0.977474 +0.913684 0.794316 0.655368 0.565053 0.542316 0.549895 0.554947 0.56 +0.567579 0.573895 0.577684 0.568842 0.543579 0.513895 0.479173 0.467813 +0.47728 0.5 0.508842 0.517053 0.527789 0.522105 0.505684 0.501263 +0.505684 0.500632 0.490533 0.49432 0.49432 0.475387 0.44888 0.4432 +0.441307 0.4432 0.450773 0.435627 0.424267 0.42048 0.412907 0.407227 +0.393973 0.384507 0.384507 0.393973 0.388293 0.367467 0.376933 0.382613 +0.37504 0.38072 0.390187 0.382613 0.37504 0.38072 0.39208 0.412907 +0.428053 0.429947 0.411013 0.393973 0.39208 0.395867 0.39776 0.399653 +0.405333 0.4148 0.416693 0.411013 0.399653 0.38072 0.365573 0.36368 +0.350427 0.333387 0.327707 0.331493 0.348533 0.388293 0.428053 0.39776 +0.34664 0.333387 0.3296 0.33528 0.327707 0.310667 0.31256 0.314453 +0.310667 0.31824 0.320133 0.316347 0.34096 0.38072 0.40912 0.39208 +0.367467 0.361787 0.354213 0.358 0.384507 0.382613 0.359893 0.373147 +0.399653 0.458347 0.500632 0.48296 0.464027 0.452667 0.464027 0.528421 +0.652211 0.839158 0.949684 0.992082 1.01527 1.03257 1.04465 1.0391 +1.01135 1.0009 1.00547 1.00743 1.00939 1.012 1.01363 1.01657 +1.01559 1.01461 1.01429 1.01363 1.01461 1.01265 1.01461 1.01755 +1.01624 1.01429 1.01363 1.01559 1.01788 1.0169 1.01755 1.01886 +1.0169 1.012 1.0071 1.00547 1.00384 1.00808 1.01298 1.01331 +1.00939 1.00482 1.00057 0.98751 0.971789 0.962316 0.950947 0.946526 +0.949684 0.959789 0.980327 0.981633 0.856842 0.625053 0.393973 0.225467 +0.000946667 0.27848 0.35232 0.310667 0.22736 0.000913333 0.000873333 0.000846667 +0.00082 0.000773333 0.000733333 0.000726667 0.000706667 0.000733333 0.000733333 0.0007 +0.0007 0.000713333 0.00072 0.000706667 0.00072 0.00072 0.000706667 0.0007 +0.000693333 0.0007 0.000713333 0.000726667 0.00072 0.00072 0.000693333 0.000673333 +0.00066 0.000653333 0.00066 0.000693333 0.000693333 0.0007 0.000733333 0.000726667 +0.000726667 0.00072 0.000713333 0.00072 0.000713333 0.00072 0.0007 0.00068 +0.00072 0.000746667 0.000746667 0.000766667 0.0008 0.000826667 0.000793333 0.000773333 +0.000753333 0.00084 0.265227 0.36368 0.382613 0.539158 0.764632 0.962947 +0.986204 0.959789 0.948421 0.950947 0.954737 0.957895 0.958526 0.961684 +0.962316 0.963579 0.976842 0.991102 1.00482 1.01102 1.01037 1.00776 +1.00743 1.00906 1.00841 1.00678 1.00841 1.00776 1.00971 1.01069 +1.00776 1.00122 0.998612 1.00024 0.999265 0.996 0.993714 0.990776 +0.988163 0.983918 0.976211 0.970526 0.956 0.890947 0.776 0.645263 +0.537263 0.456453 0.43752 0.45456 0.46024 0.46024 0.429947 0.39208 +0.373147 0.358 0.36368 0.382613 0.367467 0.344747 0.344747 0.348533 +0.337173 0.339067 0.358 0.376933 0.376933 0.356107 0.34096 0.359893 +0.411013 0.435627 0.416693 0.401547 0.40344 0.384507 0.361787 0.354213 +0.327707 0.3012 0.3012 0.316347 0.331493 0.350427 0.358 0.40344 +0.492427 0.507579 0.435627 0.34664 0.314453 0.304987 0.314453 0.3296 +0.333387 0.344747 0.35232 0.333387 0.322027 0.33528 0.384507 0.412907 +0.378827 0.34664 0.361787 0.399653 0.39776 0.384507 0.371253 0.354213 +0.35232 0.36368 0.411013 0.516421 0.578947 0.641474 0.684421 0.657263 +0.579579 0.502526 0.393973 0.37504 0.3864 0.424267 0.429947 0.37504 +0.33528 0.333387 0.3296 0.331493 0.354213 0.382613 0.373147 0.356107 +0.36368 0.37504 0.384507 0.40344 0.43184 0.446987 0.435627 0.445093 +0.433733 0.4148 0.464027 0.517053 0.551158 0.566947 0.575789 0.545474 +0.458347 0.382613 0.358 0.34664 0.350427 0.38072 0.418587 0.418587 +0.388293 0.373147 0.38072 0.367467 0.38072 0.540421 0.658526 0.700842 +0.656 0.544211 0.407227 0.412907 0.520211 0.589684 0.577053 0.500632 +0.407227 0.39776 0.390187 0.388293 0.390187 0.395867 0.422373 0.45456 +0.450773 0.44888 0.450773 0.484853 0.504421 0.506947 0.528421 0.585895 +0.725474 0.877053 0.92 0.882737 0.809474 0.730526 0.698316 0.702737 +0.727368 0.757053 0.779789 0.803789 0.825263 0.847368 0.877053 0.915579 +0.947789 0.975579 0.987837 0.998286 1.00873 1.01722 1.02082 1.02147 +1.02637 1.03257 1.03224 1.03061 1.03094 1.03355 1.03649 1.03551 +1.04041 1.04139 1.03943 1.04335 1.04204 1.04008 1.04204 1.04433 +1.04073 1.03714 1.04008 1.03878 1.03518 1.03878 1.03878 1.0391 +1.03584 1.03388 1.03388 1.0329 1.03388 1.0329 1.03061 1.03224 +1.03224 1.03127 1.02767 1.02833 1.02767 1.02637 1.02963 1.02963 +1.02669 1.02898 1.03029 1.03159 1.03094 1.03094 1.03355 1.03943 +1.03682 1.0391 1.04302 1.04531 1.05151 1.05118 1.05151 1.05086 +1.04824 1.04857 1.04824 1.04694 1.04139 1.03682 1.03584 1.03714 +1.03518 1.028 1.01918 1.00906 0.993061 0.968632 0.926316 0.856842 +0.740632 0.614947 0.534105 0.525263 0.542316 0.547368 0.544211 0.548632 +0.546105 0.533474 0.522105 0.520842 0.516421 0.509474 0.503789 0.506947 +0.510105 0.506316 0.510105 0.530316 0.541684 0.526526 0.503158 0.479173 +0.484853 0.47728 0.473493 0.467813 0.45456 0.429947 0.407227 0.407227 +0.40912 0.42048 0.428053 0.405333 0.388293 0.39208 0.382613 0.38072 +0.38072 0.376933 0.365573 0.361787 0.36368 0.359893 0.36368 0.358 +0.365573 0.367467 0.367467 0.359893 0.34664 0.344747 0.348533 0.37504 +0.39208 0.39208 0.384507 0.373147 0.365573 0.371253 0.388293 0.3864 +0.378827 0.39208 0.40344 0.411013 0.418587 0.407227 0.390187 0.38072 +0.36936 0.350427 0.342853 0.34664 0.358 0.39208 0.43184 0.42048 +0.384507 0.371253 0.35232 0.344747 0.339067 0.34096 0.350427 0.342853 +0.331493 0.331493 0.331493 0.3296 0.337173 0.34096 0.35232 0.356107 +0.348533 0.354213 0.36368 0.36936 0.36936 0.361787 0.367467 0.38072 +0.3864 0.418587 0.469707 0.47728 0.456453 0.43752 0.45456 0.537263 +0.685053 0.865684 0.946526 0.982286 1.00449 1.02082 1.02865 1.01722 +0.997633 0.998286 1.00612 1.00906 1.01102 1.01233 1.01265 1.01461 +1.01461 1.01461 1.01494 1.01527 1.01429 1.01331 1.01396 1.01624 +1.01429 1.01527 1.01624 1.01559 1.0169 1.01624 1.01657 1.01853 +1.01624 1.01069 1.00612 1.00678 1.00776 1.01037 1.01331 1.01363 +1.00906 1.00514 1.0022 0.990776 0.978737 0.965474 0.950316 0.947158 +0.945895 0.949053 0.968632 0.981959 0.897263 0.677474 0.481067 0.269013 +0.216 0.270907 0.331493 0.291733 0.23304 0.000986667 0.000993333 0.216 +0.000973333 0.000933333 0.000846667 0.000746667 0.000726667 0.000726667 0.000726667 0.000713333 +0.000693333 0.000686667 0.000693333 0.000686667 0.00066 0.000673333 0.000713333 0.00072 +0.000693333 0.0007 0.000713333 0.00072 0.000726667 0.000733333 0.000746667 0.000726667 +0.000713333 0.00072 0.000686667 0.00066 0.000653333 0.00066 0.00068 0.000706667 +0.00072 0.00072 0.00072 0.000726667 0.00072 0.00074 0.000733333 0.00072 +0.000726667 0.000726667 0.000733333 0.000746667 0.00078 0.0008 0.000793333 0.000806667 +0.0008 0.00092 0.291733 0.358 0.38072 0.572632 0.815158 0.98 +0.981959 0.951579 0.945263 0.952211 0.956632 0.961684 0.963579 0.965474 +0.963579 0.967368 0.983592 0.997959 1.00939 1.01331 1.012 1.00971 +1.01004 1.012 1.01135 1.00971 1.00939 1.00808 1.00971 1.01069 +1.00612 1.00188 0.999918 1.00057 0.998939 0.99698 0.993061 0.990122 +0.988816 0.985551 0.976842 0.970526 0.954105 0.889053 0.775368 0.643368 +0.534105 0.4432 0.40912 0.4148 0.433733 0.458347 0.4432 0.416693 +0.393973 0.378827 0.39208 0.405333 0.373147 0.34664 0.350427 0.342853 +0.331493 0.339067 0.36936 0.405333 0.428053 0.405333 0.393973 0.418587 +0.4432 0.428053 0.393973 0.382613 0.388293 0.384507 0.367467 0.361787 +0.3296 0.304987 0.30688 0.316347 0.327707 0.34096 0.365573 0.40912 +0.435627 0.424267 0.3864 0.350427 0.331493 0.325813 0.31824 0.327707 +0.327707 0.333387 0.34096 0.333387 0.331493 0.358 0.435627 0.452667 +0.3864 0.367467 0.39776 0.42616 0.4148 0.401547 0.38072 0.344747 +0.3296 0.3296 0.337173 0.399653 0.520211 0.595368 0.654737 0.669895 +0.639579 0.566947 0.47728 0.37504 0.361787 0.390187 0.4148 0.393973 +0.359893 0.348533 0.344747 0.348533 0.37504 0.40344 0.399653 0.388293 +0.37504 0.36936 0.39208 0.407227 0.39776 0.412907 0.44888 0.503158 +0.513895 0.517053 0.529684 0.538526 0.535368 0.518947 0.534105 0.531579 +0.44888 0.373147 0.354213 0.344747 0.342853 0.365573 0.373147 0.358 +0.342853 0.35232 0.39776 0.416693 0.479173 0.643368 0.829053 0.870737 +0.781684 0.590947 0.39776 0.38072 0.510105 0.584 0.575158 0.500632 +0.40344 0.39776 0.40344 0.382613 0.376933 0.401547 0.42048 0.4716 +0.479173 0.450773 0.439413 0.46592 0.49432 0.505684 0.536 0.609895 +0.757053 0.886526 0.893474 0.822105 0.748842 0.704 0.699579 0.716632 +0.738737 0.764 0.781053 0.801263 0.821474 0.841053 0.868211 0.890316 +0.918105 0.945895 0.962947 0.985224 0.997633 1.00873 1.01396 1.0182 +1.02343 1.02931 1.02898 1.02767 1.02898 1.03322 1.03649 1.03584 +1.04073 1.04073 1.03878 1.04335 1.04171 1.04008 1.04106 1.04171 +1.04008 1.03714 1.04008 1.03616 1.03322 1.03845 1.03584 1.03812 +1.03649 1.03388 1.03518 1.03453 1.0342 1.03355 1.03224 1.0342 +1.0329 1.02963 1.028 1.02767 1.02767 1.02735 1.02767 1.02571 +1.02571 1.02833 1.02702 1.028 1.028 1.03061 1.03486 1.03714 +1.03551 1.0391 1.04204 1.04367 1.04792 1.04727 1.04629 1.04531 +1.04629 1.04661 1.04302 1.04041 1.03551 1.03159 1.03322 1.03257 +1.02669 1.01527 0.999592 0.978737 0.933263 0.872 0.798105 0.706526 +0.601684 0.529053 0.516421 0.534737 0.541684 0.541684 0.542947 0.537895 +0.523368 0.506947 0.48864 0.503789 0.518947 0.525263 0.529684 0.532842 +0.524 0.512632 0.520842 0.539158 0.536 0.516421 0.496213 0.467813 +0.44888 0.43752 0.43184 0.418587 0.412907 0.42048 0.40344 0.39776 +0.40344 0.40912 0.411013 0.395867 0.376933 0.382613 0.39208 0.39208 +0.388293 0.371253 0.356107 0.36368 0.354213 0.354213 0.356107 0.359893 +0.382613 0.37504 0.356107 0.339067 0.333387 0.342853 0.348533 0.361787 +0.367467 0.358 0.358 0.358 0.350427 0.344747 0.354213 0.354213 +0.350427 0.359893 0.371253 0.3864 0.412907 0.407227 0.395867 0.382613 +0.373147 0.361787 0.361787 0.36936 0.373147 0.378827 0.401547 0.405333 +0.39208 0.39208 0.371253 0.356107 0.36368 0.388293 0.405333 0.39208 +0.365573 0.354213 0.35232 0.35232 0.354213 0.350427 0.354213 0.350427 +0.348533 0.354213 0.365573 0.384507 0.38072 0.3864 0.405333 0.407227 +0.399653 0.42048 0.456453 0.464027 0.45456 0.439413 0.462133 0.552421 +0.714737 0.880842 0.940211 0.970526 0.995347 1.0058 1.0058 0.997306 +0.992735 1.00024 1.00612 1.00906 1.01135 1.012 1.01167 1.01429 +1.01559 1.01592 1.01592 1.01592 1.01396 1.01363 1.01461 1.01592 +1.01592 1.01657 1.01722 1.01494 1.01559 1.01429 1.01494 1.01886 +1.01755 1.01135 1.00449 1.00449 1.00906 1.01265 1.012 1.01037 +1.00939 1.00841 1.00547 0.994367 0.980653 0.964842 0.949684 0.942737 +0.942737 0.947789 0.964842 0.984898 0.932632 0.723579 0.517053 0.293627 +0.219787 0.251973 0.310667 0.303093 0.269013 0.26712 0.270907 0.265227 +0.25576 0.246293 0.217893 0.00084 0.000706667 0.000686667 0.000686667 0.000686667 +0.000706667 0.000686667 0.000686667 0.000706667 0.000706667 0.0007 0.000713333 0.00072 +0.000713333 0.000706667 0.00068 0.00068 0.000693333 0.0007 0.000726667 0.000726667 +0.000726667 0.00076 0.00074 0.0007 0.0007 0.000686667 0.000666667 0.00066 +0.000666667 0.000666667 0.000673333 0.000706667 0.00072 0.00076 0.000773333 0.00076 +0.000746667 0.000713333 0.000693333 0.000726667 0.00076 0.000766667 0.000766667 0.000786667 +0.00084 0.216 0.31824 0.36368 0.405333 0.618105 0.866947 0.987184 +0.978105 0.948421 0.942737 0.949053 0.952842 0.956632 0.961684 0.961684 +0.965474 0.981306 0.992735 1.00449 1.01004 1.012 1.01037 1.00971 +1.012 1.01396 1.01363 1.01298 1.01298 1.01102 1.00971 1.00906 +1.00645 1.00514 1.00351 1.00188 1.00024 0.998612 0.993061 0.988816 +0.98751 0.985224 0.980653 0.976211 0.954105 0.880211 0.769053 0.640211 +0.534737 0.450773 0.40344 0.39776 0.412907 0.429947 0.439413 0.450773 +0.428053 0.399653 0.411013 0.407227 0.373147 0.365573 0.371253 0.359893 +0.348533 0.34664 0.358 0.378827 0.40344 0.40912 0.439413 0.45456 +0.42616 0.407227 0.405333 0.378827 0.36368 0.359893 0.35232 0.344747 +0.322027 0.299307 0.29552 0.303093 0.303093 0.310667 0.331493 0.342853 +0.337173 0.3296 0.333387 0.337173 0.333387 0.3296 0.325813 0.3296 +0.327707 0.333387 0.354213 0.371253 0.376933 0.435627 0.515789 0.504421 +0.4148 0.3864 0.390187 0.393973 0.393973 0.388293 0.36936 0.339067 +0.320133 0.314453 0.316347 0.3296 0.395867 0.525263 0.600421 0.657263 +0.677474 0.642105 0.560632 0.46592 0.36936 0.365573 0.382613 0.378827 +0.348533 0.348533 0.373147 0.40912 0.441307 0.450773 0.424267 0.395867 +0.361787 0.34664 0.36368 0.359893 0.344747 0.361787 0.446987 0.534737 +0.566316 0.549263 0.523368 0.5 0.4432 0.42616 0.502526 0.512 +0.439413 0.39208 0.378827 0.358 0.35232 0.376933 0.38072 0.358 +0.348533 0.37504 0.44888 0.500632 0.546737 0.733053 0.934526 0.977474 +0.859368 0.616211 0.43752 0.40344 0.503789 0.565684 0.558737 0.492427 +0.401547 0.39208 0.405333 0.393973 0.388293 0.405333 0.446987 0.501263 +0.48864 0.45456 0.45456 0.46024 0.469707 0.492427 0.518316 0.570737 +0.649684 0.702105 0.688211 0.656632 0.650316 0.667368 0.693263 0.711579 +0.731789 0.760842 0.782316 0.801895 0.820211 0.837895 0.857474 0.865053 +0.885263 0.914316 0.935789 0.961053 0.981959 0.996 1.00645 1.01102 +1.0169 1.02278 1.02441 1.02408 1.02473 1.02833 1.03388 1.0342 +1.03976 1.04073 1.03878 1.04237 1.04171 1.04008 1.04302 1.0391 +1.03878 1.04073 1.04041 1.03518 1.03453 1.03812 1.03649 1.03976 +1.0378 1.03486 1.03518 1.03388 1.03159 1.03224 1.03322 1.03551 +1.02996 1.02506 1.02833 1.02637 1.02702 1.02735 1.02735 1.02473 +1.02571 1.02702 1.0231 1.02376 1.02637 1.03094 1.03616 1.0342 +1.0342 1.0391 1.04171 1.03943 1.03682 1.03747 1.0378 1.03943 +1.04041 1.03453 1.028 1.02669 1.02571 1.02376 1.02278 1.01559 +0.999592 0.976842 0.922526 0.865053 0.805684 0.739368 0.667368 0.59979 +0.542316 0.518947 0.527158 0.536632 0.536632 0.537263 0.534105 0.526526 +0.509474 0.48296 0.49432 0.524632 0.550526 0.553053 0.554947 0.548632 +0.528421 0.520211 0.525895 0.527158 0.512 0.492427 0.467813 0.464027 +0.452667 0.43752 0.43184 0.412907 0.422373 0.428053 0.399653 0.384507 +0.38072 0.39208 0.405333 0.399653 0.378827 0.36936 0.3864 0.407227 +0.40912 0.378827 0.361787 0.37504 0.361787 0.350427 0.359893 0.38072 +0.395867 0.384507 0.36368 0.342853 0.358 0.37504 0.358 0.35232 +0.348533 0.33528 0.33528 0.344747 0.350427 0.33528 0.314453 0.320133 +0.322027 0.337173 0.344747 0.350427 0.365573 0.361787 0.359893 0.359893 +0.36368 0.36936 0.373147 0.371253 0.36936 0.373147 0.384507 0.38072 +0.361787 0.365573 0.378827 0.384507 0.395867 0.4148 0.42616 0.40912 +0.3864 0.382613 0.376933 0.371253 0.371253 0.37504 0.36936 0.356107 +0.365573 0.37504 0.365573 0.371253 0.382613 0.40912 0.43184 0.42048 +0.416693 0.429947 0.441307 0.4432 0.456453 0.456453 0.486747 0.572632 +0.743158 0.892211 0.937053 0.959789 0.985878 0.989796 0.985551 0.982286 +0.990122 1.00155 1.00645 1.00808 1.01102 1.01233 1.01331 1.01461 +1.01527 1.01396 1.01461 1.01722 1.01592 1.01722 1.01755 1.0169 +1.01722 1.0169 1.01527 1.01429 1.01494 1.01527 1.01624 1.01918 +1.01755 1.00971 1.00057 1.00057 1.00776 1.01265 1.01102 1.00873 +1.00906 1.0071 1.00449 0.996 0.981633 0.966737 0.951579 0.945263 +0.947158 0.949684 0.961684 0.984245 0.954737 0.763368 0.542316 0.320133 +0.231147 0.23872 0.28416 0.297413 0.280373 0.276587 0.274693 0.26712 +0.26712 0.280373 0.280373 0.22736 0.000713333 0.000686667 0.00068 0.000693333 +0.000713333 0.00072 0.000706667 0.0007 0.0007 0.000693333 0.000693333 0.0007 +0.000713333 0.00072 0.0007 0.000686667 0.0007 0.000686667 0.000693333 0.000693333 +0.000673333 0.000686667 0.000726667 0.00074 0.00074 0.000733333 0.000733333 0.000713333 +0.000693333 0.000693333 0.00072 0.00072 0.000706667 0.00072 0.000726667 0.000713333 +0.00072 0.000713333 0.000733333 0.000773333 0.0008 0.000806667 0.000806667 0.00082 +0.000886667 0.234933 0.34096 0.367467 0.445093 0.664842 0.908 0.988816 +0.971158 0.948421 0.947158 0.954105 0.956632 0.956 0.959158 0.959789 +0.969263 0.986857 0.999265 1.00776 1.00939 1.01233 1.01233 1.01265 +1.01657 1.01788 1.01592 1.01429 1.01331 1.01298 1.01135 1.01037 +1.00971 1.00906 1.00547 1.00286 1.00253 1.0022 0.99502 0.988163 +0.986204 0.983592 0.98 0.973053 0.942105 0.860632 0.753263 0.634526 +0.538526 0.473493 0.422373 0.411013 0.412907 0.418587 0.441307 0.467813 +0.450773 0.42616 0.429947 0.42048 0.401547 0.412907 0.43184 0.422373 +0.399653 0.38072 0.371253 0.36368 0.37504 0.399653 0.43752 0.43752 +0.393973 0.390187 0.405333 0.36936 0.333387 0.322027 0.316347 0.316347 +0.308773 0.3012 0.291733 0.297413 0.299307 0.304987 0.314453 0.304987 +0.29552 0.3012 0.314453 0.322027 0.316347 0.314453 0.320133 0.3296 +0.333387 0.348533 0.367467 0.378827 0.407227 0.5 0.537263 0.513263 +0.435627 0.40912 0.3864 0.376933 0.36936 0.359893 0.344747 0.337173 +0.33528 0.337173 0.33528 0.325813 0.327707 0.401547 0.530316 0.614316 +0.674316 0.682526 0.638316 0.56 0.46592 0.384507 0.37504 0.376933 +0.38072 0.39208 0.435627 0.481067 0.469707 0.42048 0.384507 0.373147 +0.356107 0.348533 0.350427 0.34096 0.34664 0.405333 0.509474 0.554947 +0.557474 0.512632 0.435627 0.390187 0.37504 0.40344 0.48864 0.486747 +0.42048 0.411013 0.40344 0.373147 0.34664 0.36936 0.3864 0.37504 +0.373147 0.407227 0.498107 0.527789 0.577684 0.734316 0.908632 0.961684 +0.832211 0.592211 0.445093 0.416693 0.4716 0.533474 0.527789 0.445093 +0.3864 0.382613 0.405333 0.411013 0.40912 0.433733 0.484853 0.504421 +0.486747 0.456453 0.4716 0.469707 0.450773 0.464027 0.505684 0.527158 +0.533474 0.533474 0.545474 0.567579 0.603579 0.650947 0.693263 0.714105 +0.736211 0.763368 0.781053 0.790526 0.798105 0.806316 0.820842 0.830316 +0.846105 0.877053 0.903579 0.930105 0.954737 0.983592 0.993388 0.997959 +1.00482 1.01265 1.0182 1.01788 1.02016 1.02604 1.03388 1.03388 +1.03649 1.04073 1.04237 1.04302 1.04008 1.0391 1.04302 1.03845 +1.03878 1.04073 1.04139 1.03682 1.03714 1.03878 1.0391 1.04008 +1.03649 1.03551 1.03551 1.03257 1.03061 1.03061 1.03224 1.03388 +1.02735 1.02408 1.02735 1.02539 1.02702 1.02571 1.02637 1.02571 +1.02571 1.0231 1.0218 1.02376 1.02735 1.03061 1.0342 1.03127 +1.02996 1.02996 1.03127 1.02833 1.02147 1.02278 1.02702 1.03061 +1.02767 1.0182 1.012 1.01004 1.00678 0.998286 0.984571 0.944 +0.885263 0.825263 0.759579 0.700842 0.645895 0.603579 0.575158 0.546105 +0.522105 0.520842 0.529053 0.531579 0.528421 0.520211 0.516421 0.524 +0.530947 0.534737 0.549263 0.569474 0.565053 0.544211 0.538526 0.534105 +0.519579 0.513263 0.511368 0.503789 0.486747 0.48296 0.462133 0.45456 +0.452667 0.4432 0.42616 0.40344 0.407227 0.407227 0.39776 0.395867 +0.384507 0.384507 0.39208 0.393973 0.3864 0.38072 0.390187 0.412907 +0.433733 0.4148 0.39208 0.384507 0.365573 0.373147 0.393973 0.40344 +0.393973 0.376933 0.371253 0.390187 0.43184 0.424267 0.373147 0.354213 +0.342853 0.333387 0.339067 0.34096 0.331493 0.327707 0.31256 0.30688 +0.303093 0.316347 0.325813 0.333387 0.34096 0.327707 0.31824 0.32392 +0.34096 0.35232 0.365573 0.361787 0.34664 0.350427 0.361787 0.359893 +0.342853 0.34664 0.36936 0.388293 0.393973 0.39208 0.395867 0.382613 +0.36936 0.376933 0.384507 0.376933 0.37504 0.373147 0.373147 0.376933 +0.393973 0.39776 0.384507 0.38072 0.3864 0.40912 0.418587 0.412907 +0.418587 0.435627 0.43752 0.439413 0.456453 0.4716 0.506316 0.595368 +0.768421 0.902316 0.938316 0.957263 0.977474 0.970526 0.961053 0.972421 +0.991102 1.00351 1.00939 1.00939 1.00939 1.01037 1.01135 1.01298 +1.01461 1.01461 1.01592 1.01788 1.01624 1.01722 1.0169 1.01592 +1.01722 1.0169 1.01624 1.01755 1.01722 1.01559 1.01527 1.01592 +1.01396 1.00743 0.999592 1.00188 1.00873 1.01167 1.00939 1.00612 +1.00482 1.00449 1.00547 1.00122 0.98751 0.972421 0.955368 0.945263 +0.942737 0.945263 0.955368 0.981959 0.973684 0.808842 0.578316 0.358 +0.234933 0.00096 0.229253 0.251973 0.248187 0.234933 0.23304 0.231147 +0.234933 0.26712 0.303093 0.251973 0.000706667 0.000726667 0.000733333 0.00074 +0.000733333 0.000726667 0.000726667 0.000706667 0.00068 0.00068 0.000693333 0.00068 +0.00068 0.000693333 0.000706667 0.0007 0.0007 0.000686667 0.0007 0.00072 +0.000686667 0.000693333 0.000713333 0.000706667 0.000713333 0.000706667 0.000733333 0.000733333 +0.000726667 0.00074 0.000746667 0.00074 0.000726667 0.000713333 0.0007 0.000693333 +0.000693333 0.000713333 0.000746667 0.000753333 0.000766667 0.0008 0.00082 0.00084 +0.000886667 0.25008 0.358 0.36368 0.501263 0.711579 0.937684 0.988163 +0.962947 0.945263 0.945895 0.953474 0.961053 0.962947 0.964842 0.967368 +0.980327 0.992735 1.00449 1.00841 1.00841 1.01135 1.01396 1.01592 +1.01918 1.01918 1.01592 1.01429 1.01265 1.01429 1.01363 1.012 +1.01102 1.00939 1.00449 1.00024 1.00155 1.00514 0.996653 0.987837 +0.987184 0.984571 0.979368 0.965474 0.926316 0.840421 0.732421 0.618105 +0.527158 0.452667 0.416693 0.412907 0.40912 0.412907 0.422373 0.439413 +0.429947 0.4432 0.486747 0.490533 0.462133 0.4716 0.5 0.481067 +0.43184 0.395867 0.373147 0.367467 0.38072 0.390187 0.40344 0.411013 +0.382613 0.361787 0.356107 0.342853 0.327707 0.314453 0.30688 0.30688 +0.30688 0.30688 0.304987 0.297413 0.293627 0.30688 0.31824 0.316347 +0.31256 0.310667 0.31256 0.30688 0.303093 0.303093 0.31256 0.331493 +0.35232 0.37504 0.388293 0.39208 0.435627 0.505684 0.523368 0.500632 +0.418587 0.39208 0.388293 0.376933 0.354213 0.348533 0.358 0.354213 +0.354213 0.361787 0.354213 0.3296 0.325813 0.344747 0.439413 0.550526 +0.630737 0.681263 0.686316 0.642105 0.563158 0.486747 0.39208 0.395867 +0.44888 0.46592 0.458347 0.44888 0.405333 0.356107 0.344747 0.350427 +0.35232 0.358 0.359893 0.365573 0.429947 0.505053 0.524632 0.526526 +0.498107 0.401547 0.354213 0.358 0.378827 0.401547 0.458347 0.439413 +0.38072 0.376933 0.384507 0.36368 0.34096 0.354213 0.382613 0.388293 +0.401547 0.464027 0.515789 0.529053 0.549895 0.645895 0.773474 0.828421 +0.719789 0.549895 0.445093 0.40912 0.439413 0.513895 0.506947 0.4148 +0.38072 0.382613 0.393973 0.407227 0.422373 0.4432 0.47728 0.498107 +0.481067 0.462133 0.479173 0.481067 0.486747 0.502526 0.513263 0.511368 +0.473493 0.46592 0.520211 0.554947 0.590947 0.642105 0.689474 0.716 +0.738737 0.764632 0.778526 0.780421 0.781684 0.788632 0.794947 0.800632 +0.808842 0.830316 0.854316 0.882105 0.912421 0.952211 0.974316 0.983265 +0.990776 1.0022 1.00841 1.00906 1.01298 1.02082 1.028 1.02931 +1.03224 1.03878 1.04204 1.04139 1.03714 1.03682 1.04008 1.04073 +1.0391 1.03747 1.03976 1.03551 1.0378 1.0391 1.03747 1.03682 +1.03355 1.0342 1.0342 1.03224 1.03094 1.02931 1.03094 1.03094 +1.02669 1.02571 1.02343 1.02212 1.02473 1.0218 1.02212 1.02245 +1.02049 1.01559 1.01527 1.0182 1.01984 1.02147 1.02278 1.02376 +1.0218 1.0182 1.01461 1.00678 0.998939 1.00024 1.00645 1.00384 +0.993388 0.975579 0.948421 0.922526 0.893474 0.854316 0.810105 0.763368 +0.716 0.675579 0.631368 0.591579 0.556842 0.544211 0.543579 0.530947 +0.518316 0.519579 0.518947 0.516421 0.513895 0.506316 0.507579 0.518947 +0.547368 0.583368 0.608632 0.593474 0.542947 0.509474 0.506947 0.506947 +0.500632 0.490533 0.498107 0.501263 0.505684 0.505053 0.475387 0.46024 +0.44888 0.429947 0.40912 0.39776 0.395867 0.393973 0.412907 0.418587 +0.40344 0.390187 0.36936 0.36936 0.3864 0.390187 0.393973 0.39776 +0.418587 0.435627 0.43184 0.407227 0.378827 0.382613 0.412907 0.422373 +0.390187 0.354213 0.36368 0.411013 0.445093 0.424267 0.37504 0.350427 +0.337173 0.342853 0.354213 0.34664 0.331493 0.3296 0.314453 0.3012 +0.29552 0.310667 0.33528 0.34664 0.337173 0.320133 0.30688 0.310667 +0.322027 0.32392 0.331493 0.339067 0.339067 0.339067 0.342853 0.348533 +0.348533 0.34664 0.34664 0.354213 0.365573 0.365573 0.367467 0.356107 +0.356107 0.371253 0.3864 0.388293 0.38072 0.367467 0.373147 0.399653 +0.422373 0.416693 0.40912 0.40912 0.412907 0.412907 0.416693 0.416693 +0.42616 0.445093 0.45456 0.452667 0.462133 0.486747 0.522105 0.623158 +0.793053 0.909895 0.940211 0.954105 0.966737 0.955368 0.951579 0.976842 +0.996327 1.00482 1.00906 1.00873 1.00906 1.01037 1.01167 1.01396 +1.01624 1.01592 1.01592 1.01592 1.01592 1.01559 1.01527 1.01559 +1.01657 1.01722 1.01722 1.01918 1.01722 1.01592 1.01657 1.01559 +1.01396 1.00678 0.998939 1.00122 1.00645 1.00971 1.00873 1.00547 +1.00384 1.00547 1.00873 1.0058 0.991429 0.975579 0.957895 0.945263 +0.940211 0.944 0.953474 0.98 0.981306 0.848 0.615579 0.388293 +0.22168 0.00088 0.000926667 0.00098 0.000973333 0.000953333 0.00094 0.000906667 +0.000893333 0.231147 0.291733 0.25576 0.000693333 0.0007 0.000713333 0.000713333 +0.000706667 0.000713333 0.000733333 0.000726667 0.000726667 0.000726667 0.00072 0.000726667 +0.000726667 0.000713333 0.000713333 0.0007 0.0007 0.000693333 0.000713333 0.00072 +0.000693333 0.000686667 0.000693333 0.000686667 0.000713333 0.00074 0.000733333 0.000733333 +0.000746667 0.000733333 0.000713333 0.00072 0.000713333 0.000673333 0.000673333 0.000706667 +0.000733333 0.000766667 0.00078 0.0008 0.000786667 0.00078 0.0008 0.000826667 +0.000866667 0.26144 0.358 0.35232 0.524 0.755158 0.961684 0.989143 +0.962947 0.946526 0.946526 0.951579 0.960421 0.966737 0.967368 0.973684 +0.986857 1.0009 1.01004 1.01167 1.01102 1.01167 1.01461 1.01624 +1.0169 1.01624 1.01265 1.01298 1.01265 1.01461 1.01396 1.012 +1.01069 1.00939 1.00678 1.00286 1.00286 1.00351 0.994041 0.985551 +0.985551 0.985551 0.982286 0.968632 0.923158 0.827789 0.716 0.59979 +0.512632 0.429947 0.405333 0.401547 0.39208 0.384507 0.376933 0.384507 +0.390187 0.450773 0.508842 0.496213 0.433733 0.42616 0.43752 0.424267 +0.39208 0.367467 0.356107 0.367467 0.378827 0.361787 0.350427 0.359893 +0.359893 0.34096 0.32392 0.331493 0.34664 0.342853 0.31824 0.304987 +0.30688 0.30688 0.299307 0.299307 0.299307 0.29552 0.3012 0.320133 +0.33528 0.358 0.359893 0.325813 0.314453 0.31256 0.308773 0.331493 +0.36936 0.411013 0.44888 0.4716 0.490533 0.48864 0.469707 0.445093 +0.40912 0.39208 0.390187 0.378827 0.365573 0.373147 0.388293 0.38072 +0.373147 0.373147 0.354213 0.331493 0.3296 0.339067 0.36936 0.475387 +0.568842 0.649684 0.694526 0.698947 0.654105 0.568842 0.503158 0.464027 +0.475387 0.450773 0.407227 0.384507 0.365573 0.35232 0.348533 0.348533 +0.35232 0.350427 0.354213 0.4148 0.5 0.505053 0.490533 0.464027 +0.40912 0.36368 0.342853 0.348533 0.365573 0.388293 0.42616 0.39776 +0.350427 0.344747 0.354213 0.356107 0.350427 0.373147 0.422373 0.428053 +0.429947 0.469707 0.496213 0.486747 0.475387 0.532842 0.621263 0.681895 +0.627579 0.536632 0.473493 0.411013 0.441307 0.512 0.505684 0.428053 +0.39776 0.382613 0.384507 0.407227 0.433733 0.439413 0.450773 0.469707 +0.467813 0.473493 0.5 0.505053 0.508211 0.506947 0.503158 0.49432 +0.48296 0.490533 0.525263 0.558737 0.594737 0.638316 0.681895 0.712211 +0.736842 0.762105 0.776632 0.778526 0.780421 0.784842 0.782316 0.776 +0.774105 0.780421 0.789263 0.805684 0.834737 0.885263 0.918105 0.944 +0.960421 0.98098 0.989796 0.994694 1.00057 1.00971 1.01657 1.0231 +1.02865 1.03584 1.03714 1.03453 1.0329 1.03486 1.03616 1.03845 +1.03518 1.0342 1.03649 1.03224 1.0342 1.03616 1.03584 1.03355 +1.03127 1.03127 1.03094 1.02898 1.02963 1.02604 1.02702 1.02767 +1.02376 1.02114 1.01592 1.01592 1.01657 1.01265 1.01102 1.00841 +1.0058 1.0009 0.997959 1.00122 1.00547 1.0071 1.00808 1.01233 +1.00906 1.00155 0.992408 0.976842 0.951579 0.934526 0.906105 0.854316 +0.806316 0.772842 0.753263 0.724842 0.705895 0.679368 0.65979 0.647789 +0.632 0.611789 0.589684 0.564421 0.544211 0.541053 0.535368 0.518316 +0.503158 0.490533 0.473493 0.469707 0.481067 0.486747 0.501263 0.501895 +0.515158 0.547368 0.577053 0.557474 0.511368 0.47728 0.49432 0.500632 +0.49432 0.486747 0.492427 0.502526 0.506316 0.490533 0.456453 0.441307 +0.422373 0.4148 0.40344 0.40344 0.399653 0.40912 0.424267 0.428053 +0.424267 0.411013 0.382613 0.382613 0.395867 0.38072 0.376933 0.382613 +0.390187 0.429947 0.464027 0.446987 0.4148 0.412907 0.424267 0.412907 +0.38072 0.361787 0.373147 0.401547 0.3864 0.358 0.34096 0.327707 +0.342853 0.365573 0.35232 0.331493 0.32392 0.339067 0.331493 0.310667 +0.297413 0.314453 0.337173 0.34664 0.331493 0.310667 0.310667 0.31256 +0.314453 0.31256 0.316347 0.327707 0.339067 0.3296 0.31256 0.327707 +0.354213 0.356107 0.339067 0.325813 0.34096 0.365573 0.367467 0.359893 +0.367467 0.376933 0.384507 0.384507 0.384507 0.384507 0.393973 0.405333 +0.412907 0.42048 0.424267 0.433733 0.439413 0.435627 0.428053 0.42048 +0.433733 0.450773 0.467813 0.479173 0.490533 0.502526 0.532842 0.647158 +0.811368 0.914947 0.944632 0.954737 0.961053 0.956 0.956 0.981306 +0.998939 1.0058 1.00808 1.00939 1.01037 1.01102 1.01102 1.01363 +1.01624 1.01396 1.01559 1.01592 1.01722 1.01722 1.01592 1.01559 +1.01494 1.01429 1.01527 1.01755 1.01722 1.0182 1.0182 1.01592 +1.012 1.0022 0.99698 1.00155 1.00743 1.00971 1.01004 1.00743 +1.00547 1.0058 1.00841 1.0058 0.996 0.983265 0.964842 0.950947 +0.944632 0.943368 0.950947 0.972421 0.981959 0.881474 0.656632 0.43752 +0.236827 0.0009 0.000893333 0.000906667 0.000913333 0.000913333 0.00092 0.00094 +0.000953333 0.2444 0.293627 0.248187 0.0007 0.000686667 0.00068 0.000673333 +0.000673333 0.000686667 0.0007 0.0007 0.000713333 0.000733333 0.000746667 0.00074 +0.000746667 0.000726667 0.00072 0.000733333 0.000746667 0.00074 0.000726667 0.000713333 +0.00068 0.000686667 0.00068 0.00068 0.0007 0.000706667 0.000713333 0.000713333 +0.000726667 0.000713333 0.000726667 0.000733333 0.00072 0.000686667 0.00068 0.000706667 +0.000733333 0.000766667 0.000786667 0.00082 0.00078 0.00078 0.000833333 0.000846667 +0.000893333 0.276587 0.35232 0.35232 0.551789 0.796842 0.979368 0.987837 +0.960421 0.946526 0.949684 0.957263 0.964211 0.967368 0.966737 0.974947 +0.990122 1.00547 1.01069 1.01233 1.01363 1.01233 1.01559 1.0182 +1.01755 1.01527 1.01265 1.01331 1.012 1.01135 1.01233 1.01102 +1.00873 1.00939 1.00906 1.00645 1.00612 1.00449 0.995347 0.987837 +0.983592 0.983592 0.982939 0.971789 0.925684 0.824 0.705263 0.589053 +0.506316 0.428053 0.405333 0.382613 0.367467 0.359893 0.342853 0.359893 +0.4148 0.503158 0.512632 0.445093 0.373147 0.356107 0.354213 0.358 +0.350427 0.344747 0.356107 0.373147 0.367467 0.350427 0.34096 0.34664 +0.344747 0.331493 0.31824 0.327707 0.350427 0.354213 0.325813 0.310667 +0.310667 0.308773 0.299307 0.303093 0.308773 0.303093 0.30688 0.316347 +0.327707 0.36368 0.37504 0.34096 0.32392 0.316347 0.316347 0.339067 +0.390187 0.456453 0.509474 0.530316 0.529684 0.501263 0.424267 0.416693 +0.435627 0.422373 0.399653 0.390187 0.382613 0.39776 0.405333 0.424267 +0.428053 0.422373 0.388293 0.344747 0.34664 0.358 0.371253 0.429947 +0.527789 0.600421 0.66421 0.706526 0.708421 0.651579 0.573263 0.516421 +0.4432 0.388293 0.358 0.348533 0.348533 0.354213 0.373147 0.376933 +0.36936 0.358 0.388293 0.469707 0.481067 0.433733 0.422373 0.422373 +0.3864 0.365573 0.356107 0.339067 0.34096 0.388293 0.4432 0.395867 +0.348533 0.344747 0.339067 0.34096 0.356107 0.401547 0.44888 0.42048 +0.390187 0.39208 0.4148 0.416693 0.371253 0.446987 0.566316 0.616842 +0.586526 0.545474 0.508211 0.424267 0.418587 0.467813 0.458347 0.4148 +0.388293 0.37504 0.382613 0.411013 0.446987 0.469707 0.502526 0.513263 +0.520211 0.530947 0.538526 0.523368 0.502526 0.475387 0.467813 0.49432 +0.510737 0.515158 0.535368 0.565684 0.600421 0.639579 0.679368 0.709053 +0.730526 0.754526 0.770947 0.776632 0.775368 0.771579 0.762737 0.748211 +0.739368 0.727368 0.716632 0.717895 0.738737 0.786737 0.827158 0.867579 +0.897895 0.924421 0.950316 0.970526 0.983918 0.996 1.00514 1.01461 +1.02343 1.02898 1.02963 1.02702 1.02898 1.03094 1.02963 1.03192 +1.02931 1.03192 1.03322 1.03061 1.02996 1.03224 1.03355 1.02702 +1.02702 1.02865 1.02604 1.0231 1.0218 1.0169 1.01722 1.01951 +1.01429 1.01037 1.00514 1.00514 1.0022 0.995673 0.991755 0.985551 +0.985551 0.984245 0.98 0.983918 0.98849 0.987837 0.990122 0.996 +0.993714 0.988163 0.961684 0.914316 0.862526 0.790526 0.705263 0.640211 +0.608632 0.611158 0.623789 0.618105 0.629474 0.626947 0.624421 0.622526 +0.611158 0.596 0.580842 0.561895 0.547368 0.531579 0.505053 0.44888 +0.40344 0.39208 0.40912 0.42048 0.439413 0.46592 0.47728 0.44888 +0.441307 0.48296 0.523368 0.529053 0.503789 0.458347 0.4716 0.490533 +0.503789 0.505684 0.5 0.49432 0.47728 0.445093 0.42616 0.416693 +0.418587 0.424267 0.40344 0.399653 0.405333 0.412907 0.412907 0.412907 +0.42048 0.42616 0.40344 0.39208 0.39776 0.3864 0.38072 0.37504 +0.361787 0.401547 0.473493 0.496213 0.484853 0.462133 0.435627 0.39208 +0.36936 0.365573 0.37504 0.393973 0.36936 0.333387 0.325813 0.325813 +0.356107 0.378827 0.339067 0.31256 0.31256 0.344747 0.361787 0.34664 +0.322027 0.320133 0.337173 0.34664 0.32392 0.3012 0.31824 0.34096 +0.34096 0.333387 0.333387 0.337173 0.34096 0.327707 0.310667 0.31824 +0.348533 0.358 0.33528 0.310667 0.31824 0.35232 0.361787 0.358 +0.371253 0.371253 0.367467 0.367467 0.371253 0.38072 0.390187 0.40344 +0.411013 0.424267 0.433733 0.43184 0.433733 0.441307 0.4432 0.43184 +0.450773 0.47728 0.492427 0.498107 0.501263 0.505053 0.542947 0.671158 +0.832211 0.921895 0.947789 0.949684 0.952842 0.954105 0.966105 0.986857 +0.999592 1.00678 1.01069 1.01037 1.01102 1.01102 1.01004 1.01396 +1.01657 1.01429 1.0169 1.01624 1.01559 1.01624 1.01559 1.01527 +1.01624 1.01592 1.01527 1.01624 1.01722 1.01722 1.01527 1.01331 +1.01102 1.00286 0.997959 1.00384 1.00873 1.00906 1.00939 1.00808 +1.00743 1.00841 1.01004 1.00808 1.00057 0.986204 0.964211 0.948421 +0.942737 0.942105 0.950947 0.968632 0.983592 0.914947 0.696421 0.49432 +0.25576 0.000906667 0.000906667 0.000973333 0.22736 0.23872 0.240613 0.2444 +0.25008 0.270907 0.282267 0.22736 0.000706667 0.0007 0.000693333 0.000693333 +0.000693333 0.0007 0.0007 0.000686667 0.0007 0.00072 0.0007 0.00068 +0.00068 0.0007 0.000713333 0.00072 0.000746667 0.000726667 0.00072 0.00074 +0.000746667 0.00072 0.000726667 0.000713333 0.00068 0.00068 0.000693333 0.000693333 +0.000686667 0.000686667 0.000713333 0.000726667 0.000726667 0.000726667 0.000713333 0.000713333 +0.00072 0.00074 0.000746667 0.000753333 0.000746667 0.000766667 0.000813333 0.000826667 +0.000926667 0.304987 0.361787 0.371253 0.585263 0.836632 0.985551 0.984571 +0.954737 0.945263 0.948421 0.956632 0.964211 0.964842 0.962947 0.977474 +0.994694 1.00906 1.01004 1.012 1.01429 1.01363 1.01755 1.01918 +1.0182 1.01624 1.01461 1.01461 1.01396 1.01265 1.01429 1.012 +1.00906 1.00939 1.00776 1.0058 1.00645 1.00416 0.998939 0.994367 +0.987837 0.984898 0.982286 0.967368 0.924421 0.825263 0.701474 0.583368 +0.502526 0.416693 0.395867 0.376933 0.36368 0.359893 0.356107 0.390187 +0.46592 0.505684 0.48296 0.4148 0.37504 0.354213 0.342853 0.350427 +0.34096 0.333387 0.34664 0.354213 0.36368 0.382613 0.390187 0.382613 +0.356107 0.333387 0.322027 0.316347 0.32392 0.3296 0.327707 0.325813 +0.320133 0.320133 0.32392 0.320133 0.32392 0.331493 0.327707 0.308773 +0.297413 0.314453 0.32392 0.310667 0.31256 0.327707 0.344747 0.359893 +0.407227 0.479173 0.524 0.563158 0.577684 0.546105 0.502526 0.439413 +0.435627 0.424267 0.40344 0.393973 0.39208 0.407227 0.429947 0.467813 +0.467813 0.45456 0.435627 0.40912 0.416693 0.433733 0.46592 0.503158 +0.524632 0.552421 0.601053 0.668632 0.716632 0.708421 0.649684 0.568842 +0.486747 0.38072 0.367467 0.358 0.34096 0.350427 0.384507 0.40344 +0.39208 0.393973 0.42616 0.450773 0.424267 0.399653 0.399653 0.3864 +0.37504 0.373147 0.35232 0.333387 0.350427 0.422373 0.4716 0.399653 +0.348533 0.344747 0.339067 0.333387 0.36368 0.435627 0.456453 0.390187 +0.367467 0.382613 0.42048 0.42048 0.407227 0.514526 0.570737 0.562526 +0.543579 0.544842 0.522737 0.433733 0.407227 0.422373 0.407227 0.390187 +0.36936 0.36368 0.382613 0.44888 0.518316 0.551158 0.579579 0.585895 +0.580211 0.589053 0.584 0.533474 0.479173 0.44888 0.446987 0.501263 +0.514526 0.517684 0.536632 0.566947 0.608632 0.654737 0.688842 0.708421 +0.718526 0.74 0.757684 0.767158 0.764 0.760842 0.751368 0.730526 +0.707158 0.680632 0.660421 0.650947 0.657895 0.688842 0.726737 0.761474 +0.801895 0.850526 0.885263 0.913684 0.938316 0.98 0.996653 1.00416 +1.01135 1.0169 1.02016 1.02016 1.0218 1.0231 1.02082 1.02376 +1.0218 1.02212 1.0218 1.02408 1.0218 1.0231 1.02539 1.02049 +1.0218 1.02212 1.01657 1.01429 1.01233 1.0071 1.0071 1.00351 +0.996653 0.994041 0.991755 0.988163 0.983265 0.977474 0.963579 0.947789 +0.947158 0.940842 0.933263 0.945263 0.950316 0.949053 0.950316 0.950947 +0.964211 0.98 0.941474 0.854316 0.748842 0.642737 0.571368 0.548632 +0.553053 0.572 0.588421 0.592211 0.609895 0.608632 0.608632 0.606105 +0.592842 0.577053 0.559368 0.541053 0.528421 0.492427 0.39208 0.344747 +0.33528 0.371253 0.40912 0.412907 0.429947 0.45456 0.446987 0.416693 +0.40912 0.435627 0.502526 0.518947 0.506947 0.46592 0.46592 0.49432 +0.510737 0.518316 0.509474 0.490533 0.44888 0.428053 0.416693 0.418587 +0.43752 0.441307 0.4148 0.393973 0.405333 0.412907 0.40912 0.399653 +0.399653 0.405333 0.399653 0.39776 0.399653 0.401547 0.405333 0.376933 +0.361787 0.378827 0.412907 0.452667 0.500632 0.502526 0.44888 0.38072 +0.361787 0.35232 0.365573 0.39208 0.371253 0.33528 0.327707 0.342853 +0.37504 0.37504 0.339067 0.322027 0.314453 0.331493 0.367467 0.38072 +0.348533 0.337173 0.358 0.350427 0.32392 0.30688 0.32392 0.35232 +0.354213 0.35232 0.35232 0.356107 0.356107 0.339067 0.320133 0.314453 +0.325813 0.331493 0.310667 0.299307 0.303093 0.33528 0.35232 0.354213 +0.361787 0.354213 0.348533 0.348533 0.350427 0.359893 0.37504 0.39208 +0.40344 0.411013 0.4148 0.412907 0.428053 0.450773 0.467813 0.462133 +0.46024 0.481067 0.492427 0.496213 0.502526 0.512632 0.561263 0.695789 +0.848 0.930105 0.949053 0.944632 0.950947 0.957263 0.974947 0.991755 +1.00122 1.00612 1.01004 1.01004 1.01069 1.01135 1.012 1.01363 +1.01592 1.01363 1.01429 1.01527 1.01559 1.01527 1.01527 1.01624 +1.0169 1.0169 1.01527 1.01461 1.01853 1.0182 1.01592 1.01494 +1.01167 1.00253 0.99698 1.00449 1.01069 1.00873 1.00776 1.00841 +1.01069 1.01298 1.01265 1.00939 1.0022 0.98751 0.965474 0.950316 +0.942737 0.943368 0.949684 0.965474 0.984898 0.937053 0.729895 0.518316 +0.28416 0.22168 0.23304 0.26712 0.280373 0.280373 0.274693 0.270907 +0.2728 0.263333 0.242507 0.00096 0.000693333 0.00068 0.000686667 0.000706667 +0.000706667 0.000713333 0.00072 0.000726667 0.00072 0.000713333 0.000693333 0.000693333 +0.0007 0.0007 0.000713333 0.000726667 0.000713333 0.0007 0.000713333 0.000733333 +0.000726667 0.00072 0.000733333 0.000713333 0.000706667 0.000693333 0.000686667 0.000686667 +0.000673333 0.00066 0.000686667 0.00068 0.00068 0.000686667 0.000713333 0.00072 +0.000726667 0.000753333 0.000753333 0.000753333 0.00078 0.000793333 0.0008 0.000833333 +0.000986667 0.325813 0.350427 0.3864 0.618737 0.869474 0.988816 0.982939 +0.954737 0.946526 0.949053 0.954737 0.961684 0.962947 0.963579 0.982286 +0.999918 1.00906 1.00906 1.012 1.01331 1.01494 1.01788 1.0182 +1.0169 1.01494 1.01461 1.01331 1.01363 1.01429 1.01461 1.01298 +1.01135 1.01102 1.00841 1.00743 1.00743 1.00351 0.999592 0.99698 +0.992735 0.989143 0.982286 0.962316 0.921895 0.826526 0.698316 0.576421 +0.490533 0.405333 0.39776 0.39776 0.373147 0.359893 0.38072 0.439413 +0.475387 0.441307 0.3864 0.36368 0.36936 0.36368 0.350427 0.354213 +0.34664 0.344747 0.34096 0.348533 0.388293 0.416693 0.411013 0.39208 +0.358 0.337173 0.3296 0.327707 0.325813 0.3296 0.325813 0.325813 +0.3296 0.34096 0.354213 0.344747 0.342853 0.359893 0.358 0.320133 +0.297413 0.299307 0.3012 0.3012 0.310667 0.331493 0.354213 0.36368 +0.39208 0.464027 0.525263 0.585263 0.623158 0.606105 0.555579 0.5 +0.428053 0.42048 0.407227 0.393973 0.39208 0.401547 0.4148 0.428053 +0.43184 0.439413 0.433733 0.418587 0.428053 0.48296 0.515789 0.518316 +0.509474 0.48296 0.514526 0.590947 0.677474 0.721684 0.712842 0.652211 +0.554316 0.439413 0.376933 0.37504 0.376933 0.384507 0.39776 0.399653 +0.39208 0.407227 0.40912 0.39776 0.393973 0.388293 0.388293 0.37504 +0.37504 0.37504 0.344747 0.3296 0.350427 0.433733 0.479173 0.3864 +0.34096 0.337173 0.344747 0.344747 0.354213 0.42048 0.445093 0.388293 +0.39208 0.462133 0.513263 0.522737 0.525263 0.548632 0.537263 0.475387 +0.5 0.535368 0.525263 0.439413 0.42048 0.422373 0.401547 0.401547 +0.382613 0.390187 0.496213 0.571368 0.648421 0.687579 0.668632 0.611789 +0.569474 0.572632 0.564421 0.515158 0.45456 0.429947 0.42616 0.473493 +0.500632 0.501263 0.518947 0.552421 0.599158 0.656632 0.695789 0.715368 +0.718526 0.730526 0.744421 0.755158 0.752632 0.752 0.74 0.713474 +0.684421 0.657895 0.634526 0.616211 0.608632 0.618105 0.640842 0.65979 +0.705895 0.765895 0.796211 0.830947 0.867579 0.92379 0.985224 0.999918 +1.00547 1.01102 1.01494 1.01461 1.01461 1.01559 1.01494 1.01592 +1.01461 1.01233 1.01004 1.01527 1.01363 1.01396 1.01559 1.01298 +1.012 1.01102 1.00416 1.00416 1.00351 0.999265 0.996 0.98751 +0.979368 0.973684 0.970526 0.961684 0.952842 0.947789 0.92821 0.909263 +0.903579 0.890947 0.889684 0.901684 0.897263 0.883368 0.854947 0.829053 +0.837263 0.884632 0.906737 0.820211 0.650316 0.541053 0.510105 0.511368 +0.529053 0.544842 0.558105 0.571368 0.587789 0.582737 0.575158 0.570105 +0.557474 0.541053 0.520211 0.510105 0.505053 0.43752 0.382613 0.378827 +0.40912 0.435627 0.424267 0.405333 0.428053 0.464027 0.456453 0.43752 +0.446987 0.47728 0.49432 0.467813 0.45456 0.48296 0.506316 0.506316 +0.505684 0.515789 0.518947 0.504421 0.45456 0.428053 0.407227 0.416693 +0.435627 0.43752 0.424267 0.412907 0.412907 0.412907 0.40912 0.401547 +0.39776 0.39776 0.395867 0.40912 0.416693 0.42048 0.433733 0.405333 +0.384507 0.3864 0.388293 0.395867 0.46024 0.506947 0.467813 0.3864 +0.361787 0.354213 0.358 0.365573 0.356107 0.339067 0.350427 0.399653 +0.428053 0.40344 0.37504 0.34664 0.32392 0.322027 0.356107 0.382613 +0.359893 0.34664 0.348533 0.327707 0.308773 0.316347 0.333387 0.350427 +0.344747 0.344747 0.354213 0.365573 0.367467 0.344747 0.32392 0.314453 +0.314453 0.310667 0.30688 0.308773 0.314453 0.337173 0.35232 0.342853 +0.34096 0.333387 0.331493 0.333387 0.331493 0.339067 0.35232 0.358 +0.365573 0.373147 0.37504 0.382613 0.40344 0.445093 0.48296 0.479173 +0.456453 0.462133 0.481067 0.49432 0.502526 0.514526 0.573895 0.711579 +0.858737 0.939579 0.956632 0.946526 0.955368 0.966105 0.981633 0.994041 +1.00384 1.00873 1.00971 1.01102 1.01004 1.00906 1.01102 1.01135 +1.01331 1.01559 1.01657 1.01755 1.01755 1.01461 1.01429 1.01657 +1.01657 1.01722 1.0169 1.01494 1.01853 1.0182 1.01494 1.01559 +1.01233 1.00122 0.997959 1.00743 1.01331 1.00971 1.00808 1.01004 +1.01167 1.01069 1.01037 1.01004 1.0058 0.994041 0.977474 0.954737 +0.941474 0.939579 0.942105 0.957895 0.983918 0.952842 0.766526 0.546737 +0.3296 0.27848 0.286053 0.291733 0.276587 0.265227 0.259547 0.253867 +0.25576 0.23872 0.000946667 0.000866667 0.000713333 0.000706667 0.00072 0.000713333 +0.000693333 0.000686667 0.000686667 0.0007 0.00072 0.000713333 0.000693333 0.000713333 +0.000713333 0.00072 0.000726667 0.000713333 0.0007 0.0007 0.000706667 0.0007 +0.000686667 0.00068 0.000686667 0.000713333 0.00072 0.000726667 0.000706667 0.000706667 +0.000706667 0.00072 0.00072 0.0007 0.000673333 0.000673333 0.000706667 0.00072 +0.000753333 0.000786667 0.000786667 0.000773333 0.000793333 0.0008 0.0008 0.000833333 +0.225467 0.331493 0.331493 0.4148 0.650316 0.892211 0.986857 0.975579 +0.950316 0.947789 0.954105 0.960421 0.963579 0.961684 0.966105 0.988163 +1.00547 1.00873 1.00678 1.00939 1.01069 1.01461 1.01657 1.0169 +1.01624 1.01494 1.01527 1.01265 1.01363 1.01461 1.01363 1.01331 +1.01233 1.01102 1.00906 1.00873 1.00873 1.00645 1.00482 1.00416 +1.00286 0.999918 0.986531 0.958526 0.915579 0.818947 0.686316 0.565053 +0.48296 0.418587 0.412907 0.40912 0.359893 0.33528 0.36936 0.422373 +0.418587 0.37504 0.34096 0.3296 0.33528 0.344747 0.350427 0.350427 +0.34664 0.342853 0.339067 0.361787 0.401547 0.393973 0.365573 0.358 +0.354213 0.344747 0.33528 0.33528 0.3296 0.322027 0.314453 0.325813 +0.354213 0.388293 0.393973 0.36936 0.37504 0.399653 0.384507 0.333387 +0.31824 0.316347 0.325813 0.327707 0.32392 0.33528 0.356107 0.378827 +0.395867 0.43752 0.515789 0.588421 0.647789 0.652842 0.614947 0.545474 +0.484853 0.44888 0.42048 0.401547 0.401547 0.407227 0.407227 0.401547 +0.418587 0.429947 0.412907 0.3864 0.393973 0.452667 0.498107 0.47728 +0.429947 0.376933 0.390187 0.511368 0.598526 0.688211 0.737474 0.721684 +0.632 0.528421 0.422373 0.405333 0.433733 0.433733 0.412907 0.384507 +0.384507 0.39208 0.378827 0.36936 0.373147 0.365573 0.37504 0.367467 +0.358 0.365573 0.354213 0.350427 0.367467 0.467813 0.498107 0.384507 +0.348533 0.348533 0.358 0.350427 0.35232 0.393973 0.439413 0.4148 +0.412907 0.518947 0.611158 0.677474 0.646526 0.573263 0.509474 0.42616 +0.504421 0.537263 0.513895 0.43184 0.435627 0.433733 0.418587 0.46024 +0.503789 0.539789 0.627579 0.751368 0.842316 0.844842 0.757053 0.645263 +0.581474 0.573895 0.557474 0.512 0.45456 0.418587 0.422373 0.44888 +0.46592 0.46592 0.501263 0.530947 0.578947 0.635158 0.680632 0.717263 +0.736842 0.743789 0.743158 0.745053 0.741895 0.737474 0.724842 0.697053 +0.666105 0.638316 0.613684 0.594737 0.575789 0.563789 0.576421 0.594105 +0.632632 0.669895 0.673053 0.700842 0.752632 0.824 0.926316 0.991102 +1.00776 1.01233 1.01233 1.01396 1.01135 1.01004 1.01069 1.00873 +1.00939 1.00645 1.00384 1.00743 1.00547 1.00416 1.00547 1.00253 +1.00057 0.998939 0.99698 0.996327 0.995673 0.992735 0.984571 0.974947 +0.966737 0.953474 0.945263 0.935789 0.930105 0.925053 0.902947 0.886526 +0.872632 0.855579 0.849895 0.834105 0.793053 0.735579 0.685684 0.654105 +0.649684 0.698947 0.800632 0.806316 0.637053 0.505684 0.407227 0.399653 +0.452667 0.490533 0.513263 0.532842 0.553053 0.558105 0.542947 0.526526 +0.516421 0.510737 0.503789 0.502526 0.479173 0.399653 0.38072 0.42616 +0.501263 0.507579 0.481067 0.45456 0.48864 0.511368 0.512 0.507579 +0.500632 0.492427 0.456453 0.373147 0.371253 0.484853 0.520842 0.510737 +0.496213 0.504421 0.513263 0.512 0.490533 0.462133 0.439413 0.42048 +0.42048 0.416693 0.42616 0.45456 0.452667 0.418587 0.40912 0.405333 +0.407227 0.418587 0.429947 0.43184 0.428053 0.439413 0.46024 0.433733 +0.393973 0.395867 0.393973 0.3864 0.43752 0.507579 0.5 0.40912 +0.358 0.354213 0.35232 0.350427 0.350427 0.365573 0.40912 0.4716 +0.486747 0.439413 0.39776 0.359893 0.331493 0.320133 0.342853 0.367467 +0.354213 0.32392 0.308773 0.29552 0.29552 0.322027 0.356107 0.36368 +0.344747 0.3296 0.3296 0.34664 0.36368 0.344747 0.310667 0.310667 +0.320133 0.31824 0.32392 0.3296 0.331493 0.342853 0.348533 0.331493 +0.31824 0.310667 0.322027 0.327707 0.32392 0.32392 0.3296 0.344747 +0.35232 0.350427 0.350427 0.344747 0.36368 0.411013 0.464027 0.4716 +0.446987 0.446987 0.464027 0.47728 0.496213 0.515789 0.582737 0.722316 +0.866316 0.944632 0.956632 0.948421 0.958526 0.974316 0.988816 0.997633 +1.00416 1.00873 1.00873 1.00873 1.00841 1.00971 1.01265 1.01363 +1.01363 1.01559 1.0169 1.01624 1.01657 1.01559 1.01527 1.0182 +1.01755 1.01624 1.01722 1.01592 1.01624 1.01657 1.01461 1.01624 +1.01363 1.00318 1.0009 1.00841 1.012 1.00873 1.00873 1.01167 +1.01167 1.01004 1.01069 1.01069 1.0071 0.998286 0.981959 0.954105 +0.940211 0.940211 0.942105 0.956632 0.983265 0.966737 0.796211 0.566316 +0.358 0.327707 0.314453 0.265227 0.23872 0.223573 0.000993333 0.000973333 +0.000953333 0.000893333 0.000793333 0.000746667 0.000693333 0.000713333 0.000726667 0.000713333 +0.0007 0.000693333 0.000693333 0.0007 0.000706667 0.000713333 0.000693333 0.0007 +0.00072 0.000726667 0.000726667 0.00072 0.00072 0.000733333 0.000733333 0.000706667 +0.000693333 0.000686667 0.000686667 0.000686667 0.000693333 0.000686667 0.000693333 0.000693333 +0.000713333 0.000746667 0.000726667 0.000706667 0.000693333 0.000693333 0.00072 0.00074 +0.000773333 0.00078 0.00076 0.000766667 0.00078 0.0008 0.000806667 0.00086 +0.26144 0.34096 0.314453 0.45456 0.686947 0.919368 0.98849 0.972421 +0.949684 0.945895 0.951579 0.960421 0.962947 0.960421 0.973684 0.99502 +1.00971 1.01102 1.00939 1.00906 1.00939 1.01396 1.01527 1.01592 +1.01461 1.01429 1.01527 1.01429 1.01461 1.01494 1.01429 1.01429 +1.01167 1.01004 1.01004 1.01004 1.01069 1.01004 1.01069 1.01331 +1.01461 1.01527 1.00057 0.967368 0.913053 0.813263 0.673684 0.551158 +0.456453 0.407227 0.42048 0.42048 0.36368 0.331493 0.356107 0.384507 +0.36368 0.333387 0.32392 0.320133 0.327707 0.333387 0.339067 0.344747 +0.333387 0.331493 0.339067 0.371253 0.388293 0.354213 0.331493 0.331493 +0.331493 0.331493 0.32392 0.32392 0.32392 0.322027 0.325813 0.348533 +0.378827 0.39776 0.39208 0.38072 0.401547 0.424267 0.37504 0.325813 +0.32392 0.331493 0.344747 0.344747 0.34096 0.359893 0.384507 0.40912 +0.4148 0.43184 0.501895 0.570737 0.647158 0.68 0.671158 0.613053 +0.538526 0.500632 0.473493 0.45456 0.4432 0.433733 0.429947 0.439413 +0.43184 0.399653 0.37504 0.358 0.365573 0.3864 0.393973 0.3864 +0.376933 0.36368 0.36368 0.40912 0.520211 0.614947 0.717263 0.757684 +0.710947 0.621895 0.539789 0.500632 0.475387 0.445093 0.412907 0.390187 +0.39776 0.399653 0.367467 0.350427 0.344747 0.344747 0.365573 0.359893 +0.354213 0.376933 0.367467 0.367467 0.40912 0.505053 0.505684 0.401547 +0.365573 0.358 0.371253 0.36936 0.36936 0.382613 0.412907 0.40912 +0.418587 0.541053 0.702737 0.832211 0.775368 0.621263 0.534737 0.519579 +0.536632 0.525895 0.47728 0.428053 0.445093 0.446987 0.46592 0.520211 +0.560632 0.624421 0.729895 0.849263 0.922526 0.913053 0.836632 0.746316 +0.692 0.658526 0.608 0.548632 0.511368 0.484853 0.456453 0.452667 +0.45456 0.469707 0.502526 0.528421 0.570105 0.608632 0.646526 0.691368 +0.721053 0.74 0.749474 0.753263 0.745053 0.729895 0.714737 0.679368 +0.639579 0.611789 0.594737 0.576421 0.556842 0.542947 0.549895 0.554316 +0.553053 0.550526 0.541053 0.556842 0.616211 0.706526 0.828421 0.938947 +0.996327 1.00906 1.01167 1.01527 1.01102 1.01037 1.01233 1.00743 +1.0071 1.00351 1.00318 1.00253 0.997959 0.998612 1.00122 0.999592 +0.994694 0.994367 0.995347 0.993061 0.992082 0.991102 0.983592 0.978105 +0.974316 0.956632 0.948421 0.940211 0.92821 0.914947 0.890316 0.872632 +0.844842 0.810105 0.772842 0.710947 0.634526 0.563158 0.528421 0.512632 +0.510105 0.546737 0.647789 0.743158 0.677474 0.544211 0.411013 0.356107 +0.371253 0.393973 0.433733 0.479173 0.515789 0.538526 0.544211 0.534737 +0.523368 0.520211 0.515789 0.510105 0.43752 0.339067 0.33528 0.388293 +0.490533 0.516421 0.524 0.532842 0.544211 0.530947 0.510737 0.506316 +0.48296 0.45456 0.399653 0.314453 0.322027 0.47728 0.525895 0.511368 +0.5 0.500632 0.501263 0.503789 0.486747 0.473493 0.4716 0.452667 +0.433733 0.42616 0.452667 0.505053 0.490533 0.42616 0.422373 0.435627 +0.428053 0.428053 0.445093 0.445093 0.429947 0.441307 0.469707 0.456453 +0.405333 0.39208 0.388293 0.384507 0.428053 0.505684 0.505684 0.4432 +0.3864 0.367467 0.367467 0.367467 0.382613 0.433733 0.47728 0.48864 +0.450773 0.390187 0.35232 0.339067 0.333387 0.3296 0.337173 0.359893 +0.34664 0.299307 0.287947 0.310667 0.325813 0.350427 0.3864 0.390187 +0.36368 0.3296 0.31256 0.327707 0.36368 0.354213 0.31824 0.320133 +0.333387 0.3296 0.331493 0.322027 0.327707 0.344747 0.34096 0.32392 +0.31824 0.308773 0.320133 0.337173 0.339067 0.3296 0.325813 0.348533 +0.354213 0.342853 0.348533 0.350427 0.367467 0.390187 0.412907 0.42048 +0.42048 0.43184 0.44888 0.46592 0.492427 0.520211 0.590947 0.728 +0.870737 0.947789 0.957895 0.954737 0.968 0.979368 0.990122 0.997959 +1.00318 1.00645 1.00776 1.00841 1.01004 1.01331 1.01363 1.01429 +1.01396 1.01429 1.01396 1.01429 1.01657 1.01657 1.01657 1.0169 +1.01396 1.01494 1.01722 1.0169 1.0169 1.01657 1.01624 1.01755 +1.01233 1.00318 1.0022 1.00808 1.012 1.00939 1.01167 1.01331 +1.01102 1.01069 1.00971 1.00841 1.00645 1.00024 0.986531 0.962316 +0.947158 0.943368 0.942105 0.950947 0.979368 0.974316 0.819579 0.588421 +0.407227 0.36368 0.31256 0.229253 0.000946667 0.000893333 0.00084 0.00082 +0.000786667 0.000766667 0.00074 0.000706667 0.000666667 0.000646667 0.000666667 0.00068 +0.0007 0.000713333 0.000726667 0.00072 0.000706667 0.000713333 0.00072 0.000726667 +0.00074 0.000726667 0.000693333 0.000693333 0.000706667 0.000713333 0.00072 0.00072 +0.000726667 0.00072 0.000693333 0.0007 0.000706667 0.000706667 0.000713333 0.00072 +0.000693333 0.000693333 0.000673333 0.0007 0.000693333 0.00072 0.000733333 0.000746667 +0.000753333 0.000753333 0.000773333 0.000806667 0.00082 0.00084 0.000853333 0.00092 +0.287947 0.337173 0.28984 0.490533 0.719789 0.940842 0.990449 0.974316 +0.953474 0.948421 0.950947 0.961053 0.962316 0.958526 0.978105 0.997633 +1.00841 1.01069 1.01135 1.01037 1.01102 1.01494 1.01559 1.01592 +1.01363 1.01331 1.01396 1.01429 1.01461 1.01396 1.01363 1.012 +1.01102 1.01037 1.01102 1.01167 1.01265 1.01331 1.01624 1.02049 +1.02212 1.02702 1.01951 0.984898 0.909895 0.803789 0.661053 0.540421 +0.433733 0.37504 0.3864 0.395867 0.365573 0.344747 0.35232 0.354213 +0.33528 0.32392 0.333387 0.331493 0.33528 0.331493 0.322027 0.327707 +0.322027 0.31824 0.325813 0.34664 0.350427 0.331493 0.32392 0.320133 +0.310667 0.316347 0.320133 0.325813 0.3296 0.331493 0.34096 0.348533 +0.356107 0.348533 0.34096 0.34664 0.371253 0.40344 0.376933 0.3296 +0.31824 0.327707 0.34664 0.34096 0.339067 0.365573 0.390187 0.399653 +0.405333 0.42616 0.498107 0.554947 0.635158 0.700211 0.722316 0.688211 +0.606737 0.537263 0.510737 0.508842 0.511368 0.510737 0.508842 0.501895 +0.458347 0.39776 0.36368 0.350427 0.348533 0.356107 0.358 0.35232 +0.348533 0.350427 0.354213 0.365573 0.4148 0.531579 0.647789 0.740632 +0.751368 0.707789 0.628211 0.548632 0.501263 0.424267 0.3864 0.38072 +0.401547 0.399653 0.365573 0.342853 0.342853 0.354213 0.373147 0.373147 +0.378827 0.393973 0.36368 0.373147 0.433733 0.48864 0.481067 0.428053 +0.376933 0.348533 0.373147 0.373147 0.359893 0.358 0.36368 0.382613 +0.439413 0.534737 0.662947 0.784211 0.755789 0.628842 0.547368 0.520842 +0.510737 0.46024 0.4148 0.422373 0.475387 0.503789 0.506947 0.519579 +0.544211 0.602316 0.687579 0.776 0.824632 0.829053 0.808842 0.779158 +0.765263 0.741263 0.686316 0.623158 0.578947 0.551789 0.529684 0.513263 +0.505053 0.510105 0.524 0.544842 0.565053 0.578316 0.603579 0.640842 +0.666737 0.695789 0.731158 0.758316 0.759579 0.747579 0.728 0.682526 +0.634526 0.605474 0.585263 0.565053 0.549895 0.537895 0.522737 0.503158 +0.467813 0.435627 0.424267 0.452667 0.522737 0.603579 0.721053 0.851789 +0.961684 0.999265 1.00873 1.01331 1.01135 1.01331 1.01657 1.01298 +1.00841 1.00416 1.00449 0.998612 0.993714 0.999592 1.0022 1.00122 +0.997959 0.996653 0.996327 0.993388 0.991102 0.992735 0.98751 0.983918 +0.982939 0.973684 0.968632 0.961684 0.941474 0.916842 0.893474 0.863789 +0.808211 0.74 0.652211 0.566316 0.501895 0.376933 0.3296 0.3012 +0.308773 0.382613 0.510105 0.596632 0.633895 0.584 0.529684 0.492427 +0.424267 0.422373 0.439413 0.467813 0.510105 0.530316 0.557474 0.577684 +0.561263 0.530947 0.511368 0.490533 0.388293 0.316347 0.325813 0.378827 +0.467813 0.509474 0.528421 0.554947 0.560632 0.513263 0.452667 0.481067 +0.501263 0.508211 0.490533 0.44888 0.496213 0.540421 0.555579 0.528421 +0.508842 0.505684 0.498107 0.47728 0.452667 0.458347 0.486747 0.502526 +0.500632 0.5 0.524632 0.538526 0.503789 0.433733 0.44888 0.48296 +0.481067 0.456453 0.452667 0.446987 0.441307 0.46592 0.505053 0.505053 +0.4432 0.401547 0.38072 0.382613 0.418587 0.500632 0.512 0.484853 +0.418587 0.39208 0.4148 0.44888 0.467813 0.48864 0.475387 0.429947 +0.37504 0.33528 0.320133 0.320133 0.3296 0.33528 0.337173 0.36368 +0.356107 0.325813 0.35232 0.390187 0.376933 0.36936 0.37504 0.382613 +0.36936 0.34096 0.327707 0.359893 0.422373 0.428053 0.37504 0.365573 +0.373147 0.361787 0.348533 0.327707 0.325813 0.337173 0.333387 0.31824 +0.322027 0.31256 0.31256 0.31824 0.342853 0.344747 0.342853 0.358 +0.358 0.350427 0.354213 0.35232 0.367467 0.378827 0.382613 0.3864 +0.39776 0.418587 0.446987 0.464027 0.47728 0.515158 0.590947 0.734947 +0.881474 0.952211 0.960421 0.957895 0.969895 0.98 0.988163 0.996653 +1.00449 1.00841 1.00873 1.00776 1.01037 1.01396 1.01363 1.01331 +1.01461 1.01657 1.01461 1.01396 1.01429 1.01461 1.0169 1.01657 +1.01331 1.01559 1.0169 1.01722 1.01755 1.01657 1.01657 1.01657 +1.01069 1.00416 1.00612 1.01037 1.01298 1.01102 1.01102 1.01037 +1.00841 1.00939 1.00971 1.01037 1.01004 1.00351 0.989469 0.968632 +0.948421 0.941474 0.938947 0.945895 0.975579 0.981959 0.848632 0.616211 +0.450773 0.367467 0.282267 0.000913333 0.00084 0.000846667 0.000813333 0.000793333 +0.000806667 0.000786667 0.00074 0.0007 0.000693333 0.000673333 0.000666667 0.000653333 +0.00068 0.00068 0.000673333 0.000673333 0.000673333 0.00068 0.0007 0.000726667 +0.00074 0.000733333 0.000713333 0.00072 0.00072 0.0007 0.000693333 0.000706667 +0.000706667 0.000726667 0.000733333 0.00074 0.000733333 0.000726667 0.00074 0.000753333 +0.00072 0.000706667 0.00068 0.0007 0.000693333 0.000706667 0.000713333 0.000726667 +0.000713333 0.000726667 0.000753333 0.000773333 0.000793333 0.000833333 0.000853333 0.000993333 +0.322027 0.33528 0.286053 0.513263 0.748842 0.956 0.98849 0.968632 +0.954105 0.949684 0.950316 0.958526 0.958526 0.958526 0.982286 1.00024 +1.00776 1.00808 1.00906 1.00906 1.01004 1.01331 1.01494 1.01657 +1.01396 1.01494 1.01429 1.01396 1.01396 1.01363 1.01298 1.01135 +1.01102 1.01037 1.01004 1.01037 1.01135 1.01461 1.02278 1.02898 +1.02931 1.03355 1.03453 1.0009 0.909263 0.789895 0.649053 0.536 +0.439413 0.378827 0.38072 0.393973 0.371253 0.348533 0.34664 0.333387 +0.316347 0.31824 0.339067 0.331493 0.32392 0.32392 0.320133 0.3296 +0.322027 0.31824 0.316347 0.31824 0.322027 0.320133 0.32392 0.327707 +0.320133 0.327707 0.331493 0.333387 0.34096 0.35232 0.34664 0.33528 +0.337173 0.3296 0.32392 0.31824 0.331493 0.376933 0.393973 0.354213 +0.31824 0.314453 0.331493 0.342853 0.35232 0.35232 0.354213 0.356107 +0.358 0.382613 0.469707 0.534105 0.600421 0.690105 0.749474 0.753895 +0.700842 0.618737 0.556211 0.530316 0.527789 0.545474 0.556842 0.541684 +0.522737 0.498107 0.418587 0.371253 0.356107 0.356107 0.359893 0.348533 +0.337173 0.333387 0.339067 0.34664 0.358 0.42616 0.551789 0.658526 +0.731789 0.744421 0.698947 0.614947 0.528421 0.418587 0.359893 0.354213 +0.371253 0.371253 0.348533 0.348533 0.34664 0.354213 0.36936 0.37504 +0.39776 0.411013 0.3864 0.399653 0.441307 0.40912 0.40344 0.445093 +0.3864 0.35232 0.354213 0.359893 0.358 0.354213 0.371253 0.40912 +0.456453 0.48864 0.532842 0.592842 0.612421 0.575789 0.527158 0.48296 +0.4432 0.405333 0.418587 0.525895 0.594737 0.595368 0.536 0.486747 +0.481067 0.522105 0.561895 0.602316 0.631368 0.653474 0.671789 0.692 +0.726105 0.739368 0.712211 0.66421 0.618737 0.589053 0.563158 0.542316 +0.527789 0.520842 0.519579 0.526526 0.532211 0.541684 0.561895 0.580211 +0.598526 0.627579 0.668 0.705895 0.731158 0.752632 0.757684 0.729263 +0.684421 0.634526 0.595368 0.563158 0.541684 0.515789 0.46592 0.43184 +0.43752 0.42048 0.40912 0.43184 0.46024 0.533474 0.632 0.771579 +0.911158 0.984898 1.00188 1.01069 1.01298 1.01298 1.01592 1.01494 +1.00906 1.00547 1.00416 0.994694 0.991429 1.00155 1.00743 1.00384 +1.0009 1.00188 1.00188 0.99698 0.993388 0.996 0.990776 0.986531 +0.98751 0.983265 0.979368 0.975579 0.955368 0.924421 0.904842 0.865053 +0.764 0.647789 0.537895 0.399653 0.31256 0.259547 0.23872 0.236827 +0.253867 0.282267 0.320133 0.4432 0.537895 0.560632 0.557474 0.546105 +0.531579 0.527789 0.518947 0.511368 0.518316 0.524632 0.548632 0.590316 +0.583368 0.541053 0.513895 0.490533 0.40912 0.36936 0.3864 0.43752 +0.481067 0.486747 0.507579 0.542947 0.549263 0.505053 0.464027 0.509474 +0.538526 0.571368 0.602947 0.650947 0.682526 0.658526 0.608632 0.556842 +0.521474 0.509474 0.498107 0.469707 0.469707 0.496213 0.508842 0.524 +0.530947 0.533474 0.561263 0.550526 0.490533 0.445093 0.475387 0.492427 +0.490533 0.49432 0.469707 0.428053 0.458347 0.521474 0.552421 0.541053 +0.486747 0.4148 0.405333 0.40344 0.42616 0.503158 0.533474 0.524 +0.484853 0.467813 0.502526 0.509474 0.49432 0.456453 0.412907 0.371253 +0.34096 0.31824 0.303093 0.31256 0.333387 0.34096 0.348533 0.373147 +0.376933 0.407227 0.48296 0.473493 0.393973 0.358 0.333387 0.331493 +0.342853 0.33528 0.333387 0.382613 0.479173 0.503789 0.445093 0.407227 +0.40344 0.384507 0.361787 0.339067 0.325813 0.333387 0.339067 0.331493 +0.322027 0.310667 0.31256 0.32392 0.342853 0.36368 0.373147 0.371253 +0.34664 0.3296 0.33528 0.339067 0.356107 0.373147 0.393973 0.395867 +0.388293 0.405333 0.439413 0.458347 0.475387 0.515789 0.590947 0.741895 +0.892211 0.954105 0.959789 0.955368 0.968632 0.983592 0.991429 0.996 +1.00155 1.00743 1.00873 1.00906 1.012 1.01396 1.01396 1.01396 +1.01494 1.01461 1.01331 1.01363 1.01396 1.01494 1.01788 1.0182 +1.01592 1.01624 1.01592 1.01592 1.01527 1.01624 1.01722 1.01722 +1.01396 1.00645 1.0071 1.00873 1.00971 1.01135 1.01037 1.00971 +1.00841 1.00743 1.00971 1.01298 1.01233 1.00416 0.988816 0.968632 +0.947789 0.944 0.944 0.947789 0.974316 0.984571 0.870737 0.638947 +0.473493 0.361787 0.2728 0.000933333 0.00086 0.000866667 0.00084 0.00078 +0.000786667 0.000746667 0.0007 0.000686667 0.000726667 0.000706667 0.000706667 0.000713333 +0.00072 0.0007 0.00068 0.000686667 0.000706667 0.0007 0.000686667 0.000666667 +0.000673333 0.000686667 0.000693333 0.000706667 0.000706667 0.0007 0.000706667 0.000706667 +0.000713333 0.000726667 0.000746667 0.000733333 0.000733333 0.00072 0.0007 0.000686667 +0.000686667 0.0007 0.000686667 0.000686667 0.000693333 0.00072 0.00072 0.000713333 +0.000726667 0.000746667 0.000773333 0.00078 0.000773333 0.00078 0.0008 0.234933 +0.339067 0.31256 0.291733 0.534737 0.777263 0.969895 0.98849 0.965474 +0.951579 0.946526 0.950316 0.956632 0.957263 0.962947 0.985224 1.00122 +1.00939 1.00939 1.01037 1.00971 1.00939 1.01167 1.01396 1.01559 +1.01265 1.01494 1.01494 1.01429 1.01461 1.01494 1.01396 1.01363 +1.01233 1.01037 1.01004 1.01037 1.01167 1.01657 1.02898 1.03616 +1.03649 1.03878 1.04531 1.02408 0.932632 0.783579 0.640211 0.529053 +0.435627 0.388293 0.388293 0.3864 0.354213 0.34096 0.34096 0.3296 +0.331493 0.356107 0.37504 0.348533 0.32392 0.314453 0.30688 0.316347 +0.322027 0.322027 0.320133 0.322027 0.3296 0.331493 0.333387 0.33528 +0.3296 0.3296 0.3296 0.339067 0.35232 0.36368 0.34664 0.325813 +0.33528 0.327707 0.322027 0.327707 0.348533 0.399653 0.44888 0.416693 +0.36368 0.34096 0.34096 0.34096 0.348533 0.34664 0.34664 0.33528 +0.333387 0.36368 0.450773 0.517684 0.556211 0.645895 0.745053 0.795579 +0.792421 0.737474 0.657895 0.578947 0.530316 0.529684 0.541053 0.544842 +0.561263 0.565053 0.528421 0.467813 0.422373 0.4148 0.393973 0.365573 +0.354213 0.350427 0.348533 0.34664 0.350427 0.365573 0.446987 0.56 +0.668632 0.734316 0.731789 0.679368 0.592211 0.505053 0.37504 0.34096 +0.342853 0.339067 0.339067 0.35232 0.344747 0.354213 0.359893 0.371253 +0.411013 0.405333 0.38072 0.4148 0.428053 0.365573 0.378827 0.435627 +0.399653 0.36368 0.348533 0.356107 0.37504 0.378827 0.399653 0.42048 +0.424267 0.39208 0.38072 0.422373 0.498107 0.510737 0.502526 0.467813 +0.445093 0.433733 0.523368 0.669895 0.806947 0.758316 0.582737 0.43184 +0.38072 0.384507 0.405333 0.445093 0.484853 0.511368 0.530316 0.561263 +0.614316 0.636421 0.621263 0.601684 0.579579 0.564421 0.547368 0.527789 +0.514526 0.505053 0.492427 0.5 0.501263 0.512 0.528421 0.531579 +0.546105 0.571368 0.596632 0.624421 0.660421 0.707789 0.733684 0.722947 +0.687579 0.637684 0.596632 0.554947 0.518947 0.462133 0.4148 0.42616 +0.452667 0.439413 0.422373 0.435627 0.418587 0.48296 0.570105 0.716 +0.870105 0.956632 0.990449 1.0058 1.01135 1.00906 1.00971 1.00971 +1.00416 1.00384 1.00155 0.993714 0.993061 1.00253 1.00776 1.00351 +1.00384 1.00808 1.00939 1.00416 1.00188 1.00057 0.992408 0.987184 +0.987837 0.982939 0.975579 0.971789 0.953474 0.931368 0.925684 0.872632 +0.714737 0.561263 0.418587 0.293627 0.274693 0.2444 0.223573 0.251973 +0.257653 0.269013 0.274693 0.310667 0.4148 0.505684 0.525263 0.534105 +0.545474 0.562526 0.569474 0.56 0.553053 0.547368 0.554947 0.596 +0.618737 0.612421 0.620632 0.620632 0.581474 0.534105 0.508842 0.503158 +0.486747 0.452667 0.49432 0.534737 0.539158 0.517053 0.519579 0.551789 +0.597895 0.650316 0.728 0.833474 0.873895 0.803158 0.683158 0.588421 +0.536 0.506947 0.469707 0.450773 0.464027 0.505684 0.519579 0.527789 +0.529053 0.530947 0.551789 0.534105 0.490533 0.469707 0.492427 0.486747 +0.467813 0.473493 0.452667 0.412907 0.45456 0.532211 0.576421 0.566947 +0.514526 0.43752 0.4148 0.429947 0.464027 0.522737 0.580211 0.585895 +0.539158 0.513895 0.508842 0.492427 0.435627 0.395867 0.36368 0.333387 +0.325813 0.320133 0.304987 0.30688 0.322027 0.322027 0.34096 0.401547 +0.4432 0.48296 0.503789 0.445093 0.356107 0.337173 0.32392 0.32392 +0.337173 0.327707 0.320133 0.354213 0.429947 0.469707 0.4148 0.376933 +0.367467 0.354213 0.337173 0.32392 0.3296 0.34096 0.34664 0.33528 +0.316347 0.320133 0.34664 0.356107 0.34664 0.356107 0.378827 0.371253 +0.33528 0.320133 0.333387 0.344747 0.356107 0.359893 0.37504 0.39208 +0.393973 0.405333 0.43752 0.445093 0.462133 0.514526 0.594737 0.751368 +0.901053 0.960421 0.966105 0.959789 0.971789 0.985224 0.991755 0.996327 +1.00057 1.00678 1.00939 1.01167 1.01429 1.01265 1.01069 1.01331 +1.01592 1.0169 1.01592 1.01429 1.01494 1.01592 1.01559 1.01527 +1.01592 1.01657 1.01624 1.01788 1.01592 1.01657 1.01657 1.01461 +1.01233 1.00416 1.00547 1.01037 1.01233 1.01331 1.01135 1.00939 +1.00776 1.00547 1.00645 1.01167 1.01331 1.00645 0.991102 0.969895 +0.950316 0.945263 0.947158 0.950947 0.971158 0.983265 0.886526 0.660421 +0.505684 0.390187 0.297413 0.000993333 0.000866667 0.000813333 0.00078 0.000733333 +0.00074 0.000746667 0.00074 0.000726667 0.000706667 0.000693333 0.0007 0.000706667 +0.00072 0.000713333 0.00072 0.00074 0.000746667 0.000726667 0.0007 0.00068 +0.000673333 0.000693333 0.0007 0.000693333 0.000686667 0.00068 0.00068 0.000693333 +0.000706667 0.000713333 0.000733333 0.00074 0.000753333 0.000746667 0.000733333 0.000726667 +0.000726667 0.000693333 0.000693333 0.000673333 0.000686667 0.000733333 0.000753333 0.00076 +0.000766667 0.000793333 0.000793333 0.000813333 0.0008 0.000773333 0.00084 0.265227 +0.331493 0.270907 0.282267 0.549263 0.796842 0.975579 0.987184 0.964842 +0.950316 0.948421 0.956 0.960421 0.958526 0.966105 0.986857 1.00122 +1.00971 1.01004 1.01037 1.00971 1.00808 1.01037 1.01363 1.01461 +1.01167 1.01461 1.01527 1.01396 1.01494 1.01461 1.01233 1.01331 +1.01265 1.01135 1.01167 1.01135 1.01429 1.02245 1.03812 1.04727 +1.04661 1.04335 1.05216 1.04988 0.981633 0.793053 0.632632 0.522737 +0.42616 0.384507 0.371253 0.356107 0.33528 0.339067 0.34664 0.342853 +0.359893 0.390187 0.395867 0.36368 0.331493 0.316347 0.299307 0.30688 +0.320133 0.320133 0.316347 0.327707 0.34664 0.358 0.365573 0.354213 +0.331493 0.327707 0.3296 0.331493 0.32392 0.337173 0.339067 0.3296 +0.33528 0.33528 0.337173 0.350427 0.384507 0.429947 0.46024 0.428053 +0.390187 0.36936 0.36368 0.34664 0.344747 0.348533 0.359893 0.36368 +0.356107 0.382613 0.464027 0.508842 0.521474 0.587789 0.710316 0.810105 +0.844842 0.820842 0.755158 0.665474 0.581474 0.533474 0.513263 0.514526 +0.540421 0.566316 0.554316 0.523368 0.507579 0.496213 0.467813 0.422373 +0.390187 0.371253 0.356107 0.348533 0.35232 0.361787 0.382613 0.48296 +0.578316 0.674316 0.728 0.721684 0.664842 0.572632 0.467813 0.359893 +0.344747 0.342853 0.337173 0.342853 0.35232 0.371253 0.373147 0.371253 +0.384507 0.371253 0.371253 0.40912 0.39208 0.350427 0.36368 0.401547 +0.3864 0.36936 0.350427 0.35232 0.373147 0.38072 0.371253 0.36368 +0.38072 0.384507 0.371253 0.36368 0.390187 0.429947 0.46024 0.46592 +0.452667 0.48864 0.565684 0.727368 0.870105 0.800632 0.596 0.44888 +0.39208 0.359893 0.356107 0.378827 0.373147 0.376933 0.401547 0.46592 +0.534737 0.536632 0.513263 0.513895 0.516421 0.524 0.522105 0.506947 +0.484853 0.467813 0.469707 0.49432 0.4716 0.49432 0.513263 0.513263 +0.524 0.536 0.546737 0.563789 0.595368 0.626316 0.625684 0.609263 +0.597263 0.579579 0.567579 0.548632 0.513895 0.44888 0.412907 0.433733 +0.439413 0.416693 0.405333 0.416693 0.411013 0.433733 0.532211 0.671789 +0.829684 0.923158 0.978737 0.995673 1.00384 1.00253 1.00384 1.00449 +1.00253 1.00449 1.00122 0.997306 0.999592 1.00253 1.00122 1.00188 +1.00939 1.01298 1.012 1.00776 1.00971 1.00318 0.994367 0.989469 +0.985224 0.975579 0.957895 0.949053 0.934526 0.932 0.939579 0.874526 +0.673053 0.503789 0.3296 0.28984 0.299307 0.26144 0.253867 0.29552 +0.280373 0.276587 0.28416 0.291733 0.333387 0.38072 0.450773 0.505684 +0.515789 0.530316 0.553684 0.573895 0.584 0.587789 0.594105 0.617474 +0.661053 0.717263 0.785474 0.818947 0.765263 0.657263 0.573263 0.530316 +0.505053 0.469707 0.501895 0.518947 0.512632 0.518947 0.553684 0.606105 +0.654105 0.707158 0.809474 0.933895 0.98 0.916842 0.760842 0.614947 +0.541053 0.496213 0.441307 0.43184 0.462133 0.512 0.525895 0.513263 +0.49432 0.508842 0.525895 0.510737 0.49432 0.48864 0.49432 0.48864 +0.464027 0.446987 0.422373 0.395867 0.401547 0.484853 0.542316 0.565684 +0.542947 0.508211 0.5 0.514526 0.530316 0.565684 0.640211 0.650316 +0.573263 0.508842 0.452667 0.422373 0.382613 0.35232 0.33528 0.320133 +0.31824 0.320133 0.316347 0.31256 0.310667 0.304987 0.327707 0.399653 +0.452667 0.45456 0.424267 0.371253 0.337173 0.337173 0.33528 0.337173 +0.337173 0.327707 0.322027 0.333387 0.373147 0.388293 0.35232 0.333387 +0.333387 0.327707 0.32392 0.325813 0.33528 0.339067 0.333387 0.327707 +0.314453 0.339067 0.38072 0.365573 0.33528 0.339067 0.365573 0.378827 +0.36368 0.361787 0.356107 0.356107 0.358 0.356107 0.365573 0.401547 +0.428053 0.422373 0.418587 0.418587 0.4432 0.512 0.602947 0.765263 +0.909895 0.959789 0.964842 0.960421 0.975579 0.985551 0.991755 1.00024 +1.00416 1.00776 1.00776 1.00873 1.01265 1.01331 1.012 1.01429 +1.0169 1.0182 1.01722 1.01527 1.01494 1.01494 1.01429 1.01559 +1.01788 1.01722 1.01657 1.01788 1.01624 1.01527 1.01363 1.01233 +1.01102 1.00482 1.00612 1.012 1.01429 1.01265 1.01167 1.01037 +1.00678 1.00318 1.00286 1.00906 1.01331 1.00776 0.992408 0.973053 +0.951579 0.942105 0.943368 0.950947 0.970526 0.986204 0.903579 0.678105 +0.509474 0.384507 0.308773 0.23304 0.00088 0.000813333 0.000813333 0.000773333 +0.000733333 0.00076 0.00076 0.000706667 0.000713333 0.000713333 0.00072 0.000713333 +0.00068 0.00068 0.000706667 0.000706667 0.000706667 0.00072 0.000733333 0.000733333 +0.000726667 0.000733333 0.00074 0.00074 0.000726667 0.000693333 0.000693333 0.000713333 +0.0007 0.00068 0.00072 0.000713333 0.000726667 0.000706667 0.0007 0.00072 +0.00074 0.000693333 0.000713333 0.000726667 0.000726667 0.000726667 0.000746667 0.00076 +0.000786667 0.00078 0.000773333 0.000793333 0.000806667 0.000833333 0.00098 0.299307 +0.31256 0.236827 0.282267 0.559368 0.808842 0.976842 0.984245 0.963579 +0.949684 0.949053 0.957895 0.963579 0.959789 0.967368 0.989796 1.00514 +1.01135 1.01135 1.01135 1.00939 1.00678 1.01004 1.01429 1.01363 +1.01331 1.01494 1.01494 1.01429 1.01429 1.01429 1.01265 1.01396 +1.01265 1.012 1.012 1.012 1.01722 1.02833 1.04922 1.07522 +1.06304 1.0502 1.05478 1.08587 1.012 0.823368 0.636421 0.527158 +0.43184 0.373147 0.348533 0.333387 0.333387 0.337173 0.365573 0.3864 +0.367467 0.356107 0.34096 0.3296 0.316347 0.310667 0.308773 0.320133 +0.325813 0.314453 0.308773 0.32392 0.35232 0.3864 0.401547 0.37504 +0.337173 0.339067 0.350427 0.339067 0.31824 0.327707 0.3296 0.32392 +0.33528 0.34664 0.361787 0.373147 0.382613 0.390187 0.384507 0.365573 +0.354213 0.361787 0.371253 0.36368 0.356107 0.34664 0.36936 0.39776 +0.40344 0.424267 0.462133 0.4716 0.458347 0.522105 0.640842 0.780421 +0.847368 0.849895 0.818947 0.768421 0.697684 0.625684 0.569474 0.537263 +0.530316 0.533474 0.523368 0.508211 0.501263 0.486747 0.486747 0.484853 +0.450773 0.407227 0.37504 0.376933 0.378827 0.37504 0.376933 0.390187 +0.48864 0.579579 0.684421 0.734947 0.716632 0.651579 0.559368 0.462133 +0.376933 0.35232 0.333387 0.348533 0.376933 0.39208 0.37504 0.36936 +0.36368 0.356107 0.39208 0.40912 0.373147 0.35232 0.354213 0.365573 +0.367467 0.37504 0.36936 0.367467 0.371253 0.365573 0.342853 0.339067 +0.39208 0.412907 0.378827 0.339067 0.350427 0.401547 0.445093 0.446987 +0.44888 0.496213 0.534737 0.611158 0.698947 0.674316 0.556211 0.464027 +0.416693 0.382613 0.382613 0.384507 0.371253 0.382613 0.390187 0.439413 +0.513895 0.5 0.422373 0.433733 0.458347 0.490533 0.498107 0.481067 +0.456453 0.433733 0.43752 0.456453 0.44888 0.502526 0.522737 0.517053 +0.512632 0.508842 0.512632 0.521474 0.533474 0.536632 0.522737 0.517684 +0.523368 0.522737 0.527789 0.536632 0.524 0.500632 0.450773 0.43184 +0.42616 0.40344 0.40344 0.418587 0.411013 0.428053 0.513263 0.633895 +0.786737 0.901684 0.960421 0.983265 0.99502 0.998939 0.997959 1.00155 +1.00384 1.00612 1.00645 1.00416 1.00351 0.999592 0.995347 0.999265 +1.00808 1.01135 1.00971 1.00743 1.00743 0.999592 0.99502 0.98849 +0.98 0.963579 0.941474 0.934526 0.932632 0.930105 0.937684 0.877053 +0.657895 0.43752 0.30688 0.287947 0.30688 0.282267 0.293627 0.339067 +0.342853 0.333387 0.310667 0.303093 0.314453 0.316347 0.350427 0.416693 +0.479173 0.510737 0.531579 0.547368 0.550526 0.556211 0.570105 0.594105 +0.661053 0.790526 0.908632 0.947158 0.885895 0.741895 0.618737 0.559368 +0.529684 0.514526 0.522105 0.522105 0.506316 0.522737 0.574526 0.621263 +0.652842 0.712211 0.838526 0.968632 0.999592 0.968 0.796842 0.620632 +0.541684 0.503158 0.464027 0.496213 0.523368 0.539158 0.534737 0.506947 +0.473493 0.511368 0.525263 0.508842 0.505684 0.514526 0.518947 0.510105 +0.49432 0.467813 0.433733 0.399653 0.38072 0.422373 0.516421 0.575158 +0.606737 0.604211 0.602947 0.606105 0.605474 0.630737 0.692632 0.681263 +0.575789 0.481067 0.405333 0.395867 0.36936 0.342853 0.333387 0.327707 +0.316347 0.304987 0.308773 0.314453 0.31824 0.314453 0.3296 0.38072 +0.401547 0.38072 0.35232 0.331493 0.320133 0.325813 0.331493 0.331493 +0.320133 0.320133 0.325813 0.337173 0.358 0.35232 0.331493 0.327707 +0.32392 0.310667 0.322027 0.34664 0.358 0.344747 0.31824 0.31824 +0.325813 0.373147 0.40344 0.358 0.32392 0.325813 0.36936 0.418587 +0.42048 0.399653 0.38072 0.373147 0.361787 0.35232 0.382613 0.4432 +0.479173 0.441307 0.40912 0.42048 0.458347 0.516421 0.608 0.771579 +0.911158 0.957263 0.963579 0.965474 0.98098 0.986857 0.992082 0.999592 +1.00384 1.00873 1.00971 1.00841 1.01167 1.01298 1.01363 1.01429 +1.01461 1.01494 1.01429 1.01624 1.0169 1.01559 1.01429 1.01559 +1.0169 1.01592 1.01527 1.01527 1.01527 1.01592 1.01494 1.01494 +1.01135 1.0058 1.00808 1.01167 1.01167 1.01233 1.01298 1.01298 +1.00971 1.00318 1.00024 1.00547 1.01102 1.0071 0.994041 0.98 +0.957895 0.945895 0.944 0.948421 0.969263 0.985878 0.914947 0.692 +0.507579 0.361787 0.32392 0.2728 0.000986667 0.000873333 0.000853333 0.000793333 +0.00074 0.000766667 0.000786667 0.000733333 0.000686667 0.000686667 0.000713333 0.000706667 +0.0007 0.000713333 0.000706667 0.000693333 0.0007 0.0007 0.000706667 0.000726667 +0.00074 0.000726667 0.00072 0.000733333 0.000733333 0.00072 0.000713333 0.000733333 +0.00072 0.000693333 0.00072 0.0007 0.00068 0.000673333 0.000653333 0.000653333 +0.00068 0.000693333 0.00074 0.000766667 0.00078 0.00076 0.000766667 0.000786667 +0.000806667 0.000813333 0.000806667 0.000806667 0.000806667 0.00086 0.248187 0.322027 +0.280373 0.216 0.297413 0.572632 0.824632 0.98098 0.984571 0.964211 +0.949684 0.949053 0.957895 0.963579 0.960421 0.968632 0.990449 1.0058 +1.01037 1.01233 1.01298 1.01004 1.00776 1.01331 1.01722 1.01527 +1.01527 1.01429 1.01265 1.01298 1.01331 1.01363 1.01461 1.01461 +1.01396 1.01363 1.012 1.01265 1.01722 1.03029 1.05543 1.11478 +1.08891 1.05184 1.0502 1.07978 1.0329 0.867579 0.650316 0.530947 +0.433733 0.367467 0.344747 0.339067 0.342853 0.35232 0.418587 0.43184 +0.350427 0.31256 0.303093 0.308773 0.314453 0.320133 0.327707 0.337173 +0.331493 0.327707 0.333387 0.34664 0.361787 0.388293 0.4148 0.393973 +0.354213 0.35232 0.350427 0.337173 0.325813 0.322027 0.314453 0.314453 +0.333387 0.337173 0.358 0.376933 0.358 0.33528 0.327707 0.333387 +0.34096 0.348533 0.358 0.376933 0.37504 0.356107 0.373147 0.39776 +0.42048 0.43752 0.456453 0.456453 0.464027 0.520211 0.618737 0.753895 +0.833474 0.853684 0.844211 0.817684 0.776 0.728 0.677474 0.628211 +0.592211 0.564421 0.531579 0.504421 0.473493 0.433733 0.435627 0.46024 +0.481067 0.473493 0.450773 0.4432 0.411013 0.393973 0.395867 0.38072 +0.3864 0.509474 0.628211 0.746316 0.766526 0.716 0.644632 0.565053 +0.492427 0.37504 0.339067 0.356107 0.395867 0.40912 0.38072 0.367467 +0.359893 0.36936 0.407227 0.405333 0.373147 0.365573 0.348533 0.348533 +0.367467 0.38072 0.37504 0.371253 0.36936 0.354213 0.342853 0.376933 +0.458347 0.456453 0.388293 0.325813 0.348533 0.412907 0.445093 0.43184 +0.433733 0.44888 0.450773 0.48864 0.537263 0.552421 0.517684 0.458347 +0.407227 0.390187 0.411013 0.399653 0.393973 0.405333 0.4148 0.473493 +0.512 0.4716 0.416693 0.418587 0.40912 0.418587 0.42616 0.439413 +0.435627 0.405333 0.401547 0.411013 0.428053 0.506316 0.522105 0.505053 +0.48296 0.458347 0.452667 0.452667 0.45456 0.46024 0.44888 0.441307 +0.439413 0.462133 0.501263 0.518316 0.520211 0.512 0.501263 0.45456 +0.418587 0.399653 0.40912 0.4148 0.405333 0.464027 0.513895 0.604211 +0.756421 0.878947 0.939579 0.970526 0.98849 0.996653 0.994694 0.996653 +1.00024 1.00351 1.01102 1.00906 1.00514 1.00057 0.997633 1.00024 +1.00351 1.00416 1.00547 1.00122 0.99698 0.995347 0.993714 0.984571 +0.964211 0.949053 0.935789 0.942737 0.952842 0.937684 0.938316 0.889684 +0.683158 0.496213 0.36368 0.32392 0.3296 0.31824 0.304987 0.325813 +0.395867 0.43184 0.371253 0.348533 0.337173 0.320133 0.322027 0.342853 +0.40344 0.47728 0.524632 0.534105 0.518947 0.512632 0.513895 0.528421 +0.589053 0.746947 0.902947 0.944632 0.878316 0.726737 0.591579 0.539789 +0.539158 0.550526 0.573263 0.584632 0.579579 0.580211 0.585895 0.578947 +0.578947 0.643368 0.798737 0.960421 1.0058 0.966737 0.771579 0.598526 +0.554316 0.536632 0.529053 0.553053 0.577684 0.573895 0.543579 0.516421 +0.525263 0.561263 0.584 0.580842 0.582105 0.582737 0.572632 0.547368 +0.524632 0.512 0.501263 0.47728 0.496213 0.534737 0.595368 0.673684 +0.729895 0.738737 0.728632 0.711579 0.688842 0.687579 0.718526 0.686316 +0.570105 0.473493 0.424267 0.428053 0.39208 0.350427 0.331493 0.32392 +0.331493 0.322027 0.310667 0.31256 0.322027 0.325813 0.34096 0.37504 +0.37504 0.34096 0.320133 0.322027 0.322027 0.320133 0.314453 0.31256 +0.314453 0.331493 0.348533 0.354213 0.350427 0.333387 0.316347 0.32392 +0.342853 0.33528 0.337173 0.36368 0.361787 0.337173 0.31824 0.316347 +0.344747 0.393973 0.3864 0.333387 0.314453 0.331493 0.395867 0.458347 +0.445093 0.388293 0.356107 0.354213 0.34664 0.344747 0.388293 0.4716 +0.498107 0.445093 0.4148 0.435627 0.46024 0.518947 0.618737 0.783579 +0.915579 0.957895 0.964842 0.969263 0.981959 0.986531 0.991102 0.997959 +1.00351 1.01004 1.012 1.01135 1.01167 1.01135 1.01331 1.01396 +1.01494 1.01624 1.01494 1.0169 1.0169 1.01461 1.01331 1.01363 +1.01559 1.01592 1.01461 1.01396 1.01461 1.01559 1.01657 1.01527 +1.01004 1.00776 1.01037 1.01233 1.012 1.01265 1.012 1.01037 +1.00906 1.00253 0.999592 1.00482 1.01004 1.00971 0.999265 0.981959 +0.956 0.945263 0.944632 0.949684 0.971789 0.988163 0.926947 0.711579 +0.512632 0.33528 0.316347 0.29552 0.246293 0.000933333 0.000853333 0.000806667 +0.00076 0.00076 0.000773333 0.00076 0.000686667 0.00068 0.00068 0.000686667 +0.000693333 0.00072 0.000713333 0.000706667 0.000713333 0.000706667 0.0007 0.000706667 +0.0007 0.000713333 0.00072 0.000726667 0.000713333 0.000706667 0.000713333 0.00074 +0.00072 0.000713333 0.00074 0.000713333 0.000706667 0.000706667 0.000673333 0.000666667 +0.000666667 0.0007 0.000693333 0.00072 0.000726667 0.000726667 0.000766667 0.000786667 +0.00078 0.00078 0.000786667 0.000806667 0.000806667 0.000913333 0.287947 0.3296 +0.25008 0.00098 0.31256 0.585263 0.837895 0.982939 0.986531 0.971158 +0.956 0.951579 0.957895 0.965474 0.964842 0.973053 0.992408 1.00514 +1.00743 1.01069 1.01135 1.00873 1.00776 1.01265 1.01592 1.01657 +1.01624 1.01494 1.01363 1.01331 1.01331 1.01331 1.01527 1.01429 +1.01363 1.01331 1.012 1.01331 1.01657 1.03159 1.05869 1.13152 +1.10565 1.05314 1.044 1.05151 1.03453 0.901684 0.671789 0.536632 +0.445093 0.382613 0.361787 0.359893 0.371253 0.412907 0.479173 0.433733 +0.322027 0.293627 0.29552 0.31256 0.333387 0.333387 0.32392 0.331493 +0.331493 0.3296 0.33528 0.342853 0.342853 0.348533 0.388293 0.4148 +0.395867 0.367467 0.337173 0.32392 0.320133 0.31256 0.303093 0.310667 +0.327707 0.3296 0.34096 0.34664 0.331493 0.325813 0.333387 0.35232 +0.359893 0.344747 0.342853 0.37504 0.376933 0.354213 0.359893 0.376933 +0.39776 0.433733 0.49432 0.522105 0.556211 0.612421 0.695158 0.788632 +0.844842 0.858737 0.848632 0.823368 0.788 0.749474 0.707789 0.667368 +0.635158 0.606737 0.573263 0.542316 0.513895 0.46592 0.43752 0.446987 +0.473493 0.486747 0.469707 0.462133 0.416693 0.39776 0.4148 0.405333 +0.39208 0.473493 0.602947 0.762737 0.818947 0.764 0.703368 0.644 +0.568211 0.504421 0.422373 0.395867 0.411013 0.424267 0.39208 0.378827 +0.378827 0.393973 0.407227 0.382613 0.361787 0.371253 0.36936 0.367467 +0.37504 0.37504 0.356107 0.361787 0.371253 0.361787 0.367467 0.44888 +0.518947 0.505684 0.43184 0.38072 0.40344 0.462133 0.473493 0.43184 +0.42048 0.405333 0.38072 0.399653 0.469707 0.508842 0.502526 0.462133 +0.428053 0.42048 0.441307 0.418587 0.405333 0.40344 0.424267 0.5 +0.510105 0.475387 0.46024 0.43752 0.388293 0.382613 0.3864 0.401547 +0.418587 0.399653 0.39776 0.40344 0.4148 0.4716 0.481067 0.439413 +0.42048 0.40344 0.401547 0.39208 0.388293 0.39776 0.3864 0.382613 +0.384507 0.418587 0.475387 0.501895 0.501895 0.507579 0.515789 0.505053 +0.4716 0.416693 0.43184 0.43752 0.44888 0.498107 0.510105 0.574526 +0.709053 0.838526 0.92379 0.964842 0.984571 0.993061 0.992082 0.991429 +0.996 1.0009 1.01298 1.01298 1.01037 1.00841 1.00482 1.00351 +1.00318 1.00188 0.999592 0.993714 0.991102 0.994694 0.989796 0.978737 +0.951579 0.938947 0.933895 0.947158 0.964211 0.946526 0.933263 0.897895 +0.740632 0.561263 0.5 0.475387 0.479173 0.428053 0.359893 0.33528 +0.411013 0.486747 0.429947 0.399653 0.376933 0.33528 0.322027 0.342853 +0.3864 0.433733 0.5 0.501263 0.490533 0.490533 0.48296 0.492427 +0.529684 0.642105 0.781053 0.824 0.757053 0.632632 0.530947 0.503158 +0.522737 0.547368 0.570737 0.602316 0.649053 0.671789 0.640211 0.577684 +0.540421 0.585895 0.757053 0.968 1.01886 0.957895 0.730526 0.570737 +0.558737 0.581474 0.610526 0.637053 0.633895 0.600421 0.553684 0.534737 +0.557474 0.590947 0.607368 0.622526 0.636421 0.628211 0.594105 0.557474 +0.535368 0.534737 0.549263 0.573895 0.620632 0.693263 0.768421 0.828421 +0.857474 0.852421 0.830316 0.795579 0.745684 0.709684 0.717263 0.68 +0.566316 0.48296 0.458347 0.452667 0.40344 0.358 0.337173 0.33528 +0.34664 0.333387 0.31256 0.31824 0.333387 0.33528 0.358 0.399653 +0.39208 0.350427 0.333387 0.348533 0.342853 0.325813 0.322027 0.322027 +0.32392 0.333387 0.356107 0.354213 0.348533 0.350427 0.337173 0.356107 +0.39208 0.384507 0.371253 0.382613 0.359893 0.333387 0.3296 0.331493 +0.358 0.388293 0.348533 0.308773 0.310667 0.337173 0.37504 0.405333 +0.390187 0.35232 0.331493 0.327707 0.3296 0.337173 0.365573 0.42048 +0.4432 0.40912 0.401547 0.435627 0.4716 0.527789 0.632632 0.795579 +0.917474 0.955368 0.968632 0.979368 0.984245 0.988163 0.991429 0.997306 +1.00318 1.00678 1.00906 1.01265 1.01363 1.01265 1.01494 1.01429 +1.01331 1.01527 1.01396 1.01429 1.01527 1.01396 1.01494 1.01592 +1.01396 1.01233 1.01331 1.01363 1.01429 1.01527 1.01722 1.01559 +1.01135 1.01004 1.01069 1.01102 1.01233 1.01167 1.01004 1.00808 +1.00678 1.0022 1.00253 1.00776 1.01004 1.00873 0.997633 0.979368 +0.953474 0.944 0.944632 0.950947 0.974947 0.990449 0.935158 0.722947 +0.512 0.291733 0.282267 0.303093 0.28984 0.2444 0.000926667 0.000813333 +0.000773333 0.000746667 0.000726667 0.00072 0.000746667 0.000726667 0.000693333 0.00068 +0.000693333 0.000706667 0.0007 0.000693333 0.0007 0.000706667 0.000713333 0.000713333 +0.00072 0.000713333 0.00072 0.000726667 0.000733333 0.000733333 0.00074 0.000733333 +0.000706667 0.00072 0.000726667 0.000706667 0.000686667 0.000713333 0.0007 0.00072 +0.0007 0.0007 0.000693333 0.000706667 0.0007 0.00072 0.000733333 0.00074 +0.00074 0.00074 0.000766667 0.000793333 0.000826667 0.231147 0.325813 0.304987 +0.225467 0.000973333 0.327707 0.597895 0.847368 0.985551 0.989143 0.979368 +0.960421 0.950316 0.957895 0.971158 0.971789 0.978737 0.994694 1.00384 +1.00678 1.01167 1.01102 1.00743 1.0058 1.00906 1.01102 1.01559 +1.01527 1.01461 1.01494 1.01494 1.01527 1.01429 1.01461 1.01429 +1.01331 1.01298 1.01298 1.01331 1.01559 1.03355 1.07369 1.1589 +1.1376 1.05804 1.04335 1.04008 1.02343 0.918737 0.701474 0.550526 +0.452667 0.3864 0.373147 0.365573 0.378827 0.42048 0.43752 0.373147 +0.308773 0.297413 0.3012 0.320133 0.333387 0.322027 0.30688 0.31824 +0.33528 0.342853 0.337173 0.3296 0.322027 0.314453 0.34096 0.384507 +0.401547 0.382613 0.344747 0.333387 0.325813 0.31824 0.316347 0.316347 +0.32392 0.325813 0.322027 0.316347 0.322027 0.333387 0.356107 0.371253 +0.36936 0.342853 0.337173 0.354213 0.358 0.356107 0.36368 0.388293 +0.441307 0.508842 0.551789 0.602316 0.657263 0.719158 0.780421 0.830947 +0.854316 0.856842 0.843579 0.818316 0.784842 0.739368 0.686316 0.644632 +0.619368 0.601684 0.589053 0.582737 0.56 0.537263 0.521474 0.513263 +0.506947 0.498107 0.469707 0.456453 0.42616 0.40344 0.405333 0.407227 +0.405333 0.47728 0.584 0.725474 0.803158 0.774105 0.727368 0.690105 +0.645263 0.600421 0.564421 0.529684 0.513263 0.498107 0.43184 0.393973 +0.384507 0.38072 0.371253 0.36368 0.367467 0.384507 0.393973 0.382613 +0.367467 0.356107 0.34664 0.36368 0.378827 0.378827 0.399653 0.502526 +0.532842 0.509474 0.48864 0.48296 0.48864 0.501895 0.481067 0.42048 +0.390187 0.373147 0.378827 0.422373 0.467813 0.503158 0.5 0.48296 +0.47728 0.462133 0.452667 0.418587 0.407227 0.405333 0.441307 0.505053 +0.503789 0.481067 0.502526 0.47728 0.416693 0.388293 0.371253 0.378827 +0.412907 0.422373 0.428053 0.405333 0.393973 0.412907 0.405333 0.3864 +0.376933 0.371253 0.371253 0.361787 0.36368 0.361787 0.356107 0.36368 +0.388293 0.411013 0.422373 0.418587 0.429947 0.505053 0.522737 0.518947 +0.515789 0.48864 0.48296 0.45456 0.44888 0.479173 0.490533 0.544842 +0.657263 0.798105 0.907368 0.966105 0.985551 0.994694 0.992735 0.988816 +0.994367 0.998286 1.00906 1.01004 1.01037 1.00841 1.00482 1.0009 +0.998612 0.995673 0.992735 0.989469 0.991755 0.996327 0.986531 0.966737 +0.945263 0.935158 0.930105 0.935158 0.954737 0.950947 0.929474 0.903579 +0.8 0.636421 0.553684 0.550526 0.555579 0.537895 0.511368 0.48864 +0.49432 0.509474 0.49432 0.445093 0.40912 0.365573 0.344747 0.373147 +0.40344 0.433733 0.446987 0.412907 0.418587 0.433733 0.43752 0.45456 +0.505053 0.568842 0.65979 0.690105 0.629474 0.542316 0.464027 0.446987 +0.492427 0.511368 0.520211 0.548 0.625053 0.677474 0.648421 0.603579 +0.588421 0.630105 0.788 0.981959 1.00547 0.898526 0.695789 0.575789 +0.584632 0.658526 0.730526 0.734316 0.678737 0.604211 0.544211 0.527789 +0.536 0.537895 0.539158 0.556842 0.587158 0.598526 0.577053 0.553684 +0.553684 0.581474 0.635158 0.701474 0.772842 0.846105 0.904211 0.942105 +0.946526 0.927579 0.893474 0.839789 0.767789 0.710947 0.704632 0.668 +0.558737 0.4716 0.450773 0.433733 0.39208 0.367467 0.358 0.36936 +0.371253 0.344747 0.32392 0.3296 0.339067 0.342853 0.37504 0.42048 +0.429947 0.42616 0.44888 0.469707 0.411013 0.34664 0.337173 0.33528 +0.322027 0.31824 0.342853 0.367467 0.40344 0.424267 0.4148 0.424267 +0.435627 0.40344 0.37504 0.37504 0.367467 0.356107 0.35232 0.35232 +0.365573 0.371253 0.339067 0.314453 0.314453 0.32392 0.339067 0.35232 +0.34664 0.33528 0.337173 0.3296 0.320133 0.331493 0.348533 0.371253 +0.388293 0.3864 0.399653 0.441307 0.48296 0.536632 0.645895 0.806316 +0.922526 0.959789 0.98098 0.986857 0.988163 0.990449 0.992408 0.997306 +1.00253 1.0058 1.00841 1.01298 1.01429 1.01331 1.01363 1.01298 +1.01298 1.01494 1.01429 1.01429 1.01461 1.01298 1.01494 1.01494 +1.01331 1.01135 1.01298 1.01461 1.01527 1.01755 1.01722 1.01429 +1.012 1.00939 1.00873 1.00971 1.01233 1.01396 1.01265 1.01102 +1.00841 1.00416 1.00416 1.00776 1.00939 1.00939 0.999918 0.982286 +0.957895 0.946526 0.945263 0.947789 0.967368 0.987184 0.935158 0.728 +0.515158 0.280373 0.269013 0.30688 0.322027 0.286053 0.219787 0.000866667 +0.00082 0.00076 0.00072 0.000726667 0.00074 0.00074 0.000733333 0.00074 +0.000713333 0.0007 0.000693333 0.00068 0.000693333 0.0007 0.000686667 0.000693333 +0.0007 0.000713333 0.000713333 0.00072 0.000706667 0.000726667 0.000746667 0.00076 +0.000733333 0.000726667 0.000706667 0.000693333 0.0007 0.000693333 0.00066 0.000673333 +0.00066 0.000666667 0.00068 0.000713333 0.00072 0.00074 0.000753333 0.000753333 +0.00076 0.000773333 0.000786667 0.000793333 0.000886667 0.270907 0.320133 0.253867 +0.000926667 0.000946667 0.333387 0.603579 0.854316 0.988163 0.987837 0.973684 +0.957263 0.949684 0.958526 0.971789 0.971158 0.978105 0.992735 0.998939 +1.00384 1.01037 1.01037 1.0071 1.00514 1.00808 1.01037 1.01429 +1.01396 1.01298 1.01363 1.01429 1.01527 1.01363 1.012 1.01461 +1.01429 1.01363 1.01527 1.01494 1.01755 1.03812 1.10108 1.18629 +1.15434 1.05935 1.04596 1.0391 1.01722 0.926947 0.729895 0.566947 +0.458347 0.382613 0.367467 0.354213 0.350427 0.358 0.348533 0.327707 +0.314453 0.320133 0.327707 0.337173 0.33528 0.32392 0.316347 0.3296 +0.358 0.361787 0.34096 0.320133 0.30688 0.304987 0.31824 0.348533 +0.37504 0.38072 0.358 0.339067 0.3296 0.331493 0.33528 0.339067 +0.333387 0.33528 0.331493 0.322027 0.325813 0.325813 0.33528 0.344747 +0.344747 0.337173 0.342853 0.350427 0.361787 0.384507 0.40912 0.458347 +0.514526 0.554316 0.604842 0.657895 0.710947 0.763368 0.798105 0.813895 +0.818316 0.813895 0.800632 0.779789 0.750105 0.717263 0.683158 0.655368 +0.630105 0.602947 0.585263 0.578316 0.567579 0.556842 0.547368 0.536 +0.522737 0.509474 0.481067 0.450773 0.445093 0.441307 0.44888 0.49432 +0.512632 0.536 0.591579 0.676842 0.745053 0.753895 0.739368 0.723579 +0.702105 0.686947 0.667368 0.629474 0.596 0.559368 0.514526 0.4716 +0.43184 0.395867 0.38072 0.376933 0.36936 0.371253 0.367467 0.356107 +0.348533 0.350427 0.358 0.36368 0.367467 0.388293 0.429947 0.502526 +0.506947 0.462133 0.47728 0.492427 0.500632 0.486747 0.450773 0.416693 +0.39208 0.39208 0.422373 0.467813 0.506316 0.513895 0.501263 0.5 +0.498107 0.473493 0.4432 0.407227 0.405333 0.428053 0.475387 0.5 +0.462133 0.44888 0.490533 0.5 0.475387 0.433733 0.399653 0.393973 +0.418587 0.441307 0.44888 0.40344 0.378827 0.384507 0.382613 0.382613 +0.376933 0.36936 0.367467 0.361787 0.35232 0.348533 0.34664 0.358 +0.388293 0.39208 0.371253 0.390187 0.395867 0.479173 0.506316 0.505684 +0.517684 0.518316 0.513895 0.4716 0.439413 0.473493 0.496213 0.525895 +0.611158 0.753895 0.890947 0.974947 0.994367 1.00188 0.996 0.988816 +0.991102 0.990776 0.996 0.99698 1.0009 0.999592 0.997306 0.990449 +0.986204 0.986857 0.991102 0.990449 0.987837 0.991102 0.984571 0.969895 +0.956 0.941474 0.937053 0.932 0.941474 0.950316 0.933263 0.909895 +0.845474 0.701474 0.578316 0.554316 0.570105 0.570105 0.554947 0.545474 +0.541053 0.539158 0.522105 0.481067 0.441307 0.422373 0.411013 0.4148 +0.40912 0.422373 0.424267 0.395867 0.393973 0.412907 0.418587 0.428053 +0.4716 0.523368 0.572 0.587789 0.546105 0.48864 0.40912 0.401547 +0.401547 0.422373 0.446987 0.510737 0.592842 0.625053 0.566316 0.551158 +0.604842 0.699579 0.822105 0.902947 0.861263 0.737474 0.624421 0.583368 +0.623789 0.728632 0.811368 0.784211 0.681895 0.573263 0.520211 0.517053 +0.512632 0.486747 0.456453 0.5 0.531579 0.556842 0.558737 0.561895 +0.590316 0.644 0.721053 0.805053 0.872632 0.922526 0.959789 0.983592 +0.983918 0.961053 0.911158 0.840421 0.757684 0.694526 0.681895 0.643368 +0.543579 0.446987 0.424267 0.40912 0.390187 0.393973 0.390187 0.384507 +0.37504 0.358 0.350427 0.342853 0.337173 0.350427 0.373147 0.40912 +0.439413 0.47728 0.513895 0.531579 0.517684 0.4716 0.418587 0.38072 +0.337173 0.3296 0.365573 0.42048 0.469707 0.48296 0.4716 0.46024 +0.429947 0.3864 0.359893 0.358 0.371253 0.38072 0.373147 0.378827 +0.39208 0.371253 0.339067 0.337173 0.337173 0.342853 0.348533 0.354213 +0.342853 0.325813 0.327707 0.337173 0.342853 0.342853 0.354213 0.36368 +0.371253 0.378827 0.4148 0.46024 0.49432 0.542316 0.657263 0.815158 +0.925684 0.973053 0.992408 0.995673 0.993388 0.996 0.99698 0.999592 +1.00286 1.00449 1.00743 1.00971 1.01135 1.01363 1.01363 1.01298 +1.01396 1.01461 1.01331 1.01363 1.01331 1.012 1.01494 1.01396 +1.01363 1.01396 1.01363 1.01494 1.01559 1.01657 1.01527 1.01429 +1.01265 1.00906 1.01069 1.01167 1.012 1.01265 1.01167 1.01037 +1.00971 1.00743 1.00678 1.00971 1.01037 1.01037 1.00318 0.984571 +0.956632 0.943368 0.945895 0.948421 0.966105 0.987184 0.938316 0.733053 +0.522105 0.310667 0.28416 0.308773 0.32392 0.308773 0.259547 0.00098 +0.00088 0.0008 0.000766667 0.000746667 0.0007 0.000706667 0.00074 0.000753333 +0.000746667 0.00074 0.00072 0.000706667 0.00072 0.000713333 0.0007 0.00068 +0.000693333 0.000713333 0.0007 0.000706667 0.0007 0.000693333 0.000706667 0.000713333 +0.000706667 0.00072 0.000713333 0.0007 0.000713333 0.000686667 0.00066 0.00066 +0.000693333 0.000706667 0.000713333 0.000713333 0.000706667 0.00072 0.000733333 0.00076 +0.000766667 0.000786667 0.0008 0.000853333 0.23304 0.314453 0.299307 0.225467 +0.000893333 0.000933333 0.333387 0.601684 0.854316 0.985224 0.98 0.957263 +0.947789 0.944632 0.956 0.969895 0.969263 0.981306 0.994367 0.997959 +1.00253 1.0071 1.00776 1.0071 1.00384 1.00743 1.01135 1.01363 +1.01494 1.01363 1.01265 1.01396 1.01331 1.012 1.01167 1.01429 +1.01396 1.01396 1.01559 1.01396 1.01951 1.04139 1.11934 1.21064 +1.16956 1.06304 1.04824 1.04237 1.0182 0.932 0.744421 0.578947 +0.47728 0.39776 0.371253 0.350427 0.331493 0.314453 0.320133 0.3296 +0.325813 0.337173 0.359893 0.37504 0.354213 0.33528 0.331493 0.34664 +0.36368 0.35232 0.3296 0.310667 0.308773 0.320133 0.31256 0.316347 +0.344747 0.37504 0.365573 0.327707 0.32392 0.333387 0.344747 0.356107 +0.348533 0.34664 0.350427 0.339067 0.31824 0.314453 0.320133 0.320133 +0.316347 0.320133 0.33528 0.34664 0.371253 0.405333 0.450773 0.506947 +0.539789 0.575158 0.614947 0.654737 0.698947 0.734947 0.733684 0.711579 +0.697053 0.690105 0.688211 0.685684 0.680632 0.680632 0.686316 0.678105 +0.647158 0.606105 0.569474 0.548 0.537263 0.537263 0.538526 0.531579 +0.524 0.515789 0.512632 0.519579 0.534737 0.551789 0.577684 0.613684 +0.645895 0.668632 0.698316 0.74 0.769053 0.774737 0.769053 0.758947 +0.747579 0.744421 0.744421 0.726737 0.686947 0.633895 0.578947 0.549895 +0.520211 0.462133 0.424267 0.407227 0.37504 0.361787 0.350427 0.339067 +0.34664 0.361787 0.367467 0.359893 0.371253 0.416693 0.46024 0.48864 +0.450773 0.418587 0.416693 0.416693 0.452667 0.450773 0.4148 0.40912 +0.412907 0.435627 0.481067 0.506316 0.528421 0.528421 0.508842 0.503789 +0.490533 0.46024 0.424267 0.39208 0.401547 0.46592 0.503789 0.46592 +0.4148 0.416693 0.441307 0.46024 0.462133 0.4432 0.418587 0.405333 +0.433733 0.445093 0.4432 0.407227 0.390187 0.40344 0.399653 0.399653 +0.3864 0.371253 0.376933 0.36936 0.34664 0.34664 0.34664 0.34096 +0.361787 0.358 0.35232 0.395867 0.382613 0.42048 0.445093 0.46592 +0.510737 0.525263 0.527789 0.512 0.500632 0.503158 0.503789 0.510737 +0.568842 0.706526 0.863789 0.973053 0.997633 1.00449 0.998286 0.989143 +0.98751 0.985551 0.985878 0.985224 0.990122 0.98849 0.985224 0.974947 +0.968632 0.980653 0.985224 0.980327 0.969263 0.974947 0.975579 0.971789 +0.964211 0.957263 0.964842 0.949684 0.933263 0.936421 0.926947 0.914316 +0.882737 0.754526 0.580842 0.520211 0.538526 0.549895 0.548632 0.549263 +0.549895 0.532842 0.507579 0.475387 0.46592 0.498107 0.490533 0.43752 +0.40344 0.40344 0.412907 0.43184 0.424267 0.428053 0.429947 0.435627 +0.469707 0.510737 0.534105 0.537263 0.508211 0.429947 0.384507 0.367467 +0.35232 0.361787 0.378827 0.46024 0.573263 0.613053 0.542947 0.519579 +0.59979 0.726737 0.784842 0.745684 0.666737 0.595368 0.554947 0.568842 +0.649053 0.772211 0.842316 0.796842 0.665474 0.544842 0.518316 0.534105 +0.531579 0.512 0.501895 0.507579 0.525263 0.549263 0.573895 0.602947 +0.644632 0.702105 0.771579 0.835368 0.884632 0.920632 0.950316 0.971789 +0.972421 0.939579 0.870105 0.782947 0.701474 0.662947 0.657895 0.606105 +0.515789 0.416693 0.399653 0.382613 0.367467 0.373147 0.388293 0.382613 +0.36368 0.35232 0.342853 0.33528 0.342853 0.361787 0.378827 0.38072 +0.390187 0.418587 0.48864 0.526526 0.544842 0.547368 0.539789 0.519579 +0.481067 0.445093 0.46024 0.4716 0.44888 0.42048 0.411013 0.40344 +0.388293 0.373147 0.371253 0.36368 0.36936 0.3864 0.40912 0.445093 +0.48296 0.473493 0.433733 0.422373 0.416693 0.399653 0.382613 0.36368 +0.344747 0.331493 0.33528 0.342853 0.344747 0.339067 0.348533 0.365573 +0.38072 0.401547 0.445093 0.481067 0.500632 0.544842 0.662947 0.819579 +0.930737 0.989469 1.00971 1.00841 1.00351 1.00482 1.00253 1.00253 +1.00416 1.0058 1.00906 1.01037 1.01167 1.01331 1.01331 1.01331 +1.01363 1.01363 1.01396 1.01461 1.01494 1.01429 1.01592 1.01559 +1.01461 1.01396 1.01363 1.01592 1.01592 1.0169 1.01657 1.01592 +1.01233 1.00743 1.01069 1.01102 1.01102 1.01167 1.01135 1.012 +1.01363 1.01069 1.00808 1.01135 1.01167 1.00906 1.00155 0.984571 +0.959158 0.944 0.945263 0.947789 0.968 0.990776 0.944632 0.734947 +0.524632 0.34096 0.310667 0.314453 0.333387 0.333387 0.297413 0.253867 +0.000986667 0.000846667 0.00074 0.0007 0.000686667 0.0007 0.00068 0.000686667 +0.0007 0.000713333 0.00072 0.000713333 0.000713333 0.000726667 0.00072 0.00072 +0.000713333 0.000713333 0.000713333 0.00072 0.0007 0.000686667 0.00068 0.000693333 +0.000713333 0.000726667 0.00072 0.000686667 0.0007 0.000686667 0.000726667 0.000726667 +0.00072 0.000733333 0.000746667 0.000713333 0.000733333 0.00072 0.000746667 0.000753333 +0.000746667 0.000766667 0.00078 0.0009 0.27848 0.333387 0.265227 0.000926667 +0.00088 0.00098 0.348533 0.606737 0.857474 0.984571 0.976211 0.950947 +0.942737 0.942105 0.951579 0.964211 0.968 0.983265 0.99698 1.00155 +1.00547 1.0071 1.0071 1.00645 1.0022 1.00482 1.01102 1.01592 +1.0182 1.01461 1.01298 1.01363 1.01298 1.01363 1.01331 1.01363 +1.01461 1.01559 1.01429 1.01298 1.01918 1.03878 1.12086 1.21977 +1.17108 1.05837 1.04269 1.04041 1.02147 0.938316 0.754526 0.590947 +0.501263 0.407227 0.37504 0.34664 0.314453 0.299307 0.32392 0.344747 +0.337173 0.34664 0.371253 0.384507 0.354213 0.339067 0.3296 0.333387 +0.354213 0.358 0.354213 0.34096 0.327707 0.325813 0.308773 0.322027 +0.344747 0.371253 0.361787 0.331493 0.344747 0.36936 0.373147 0.361787 +0.339067 0.342853 0.354213 0.333387 0.308773 0.325813 0.33528 0.32392 +0.310667 0.320133 0.337173 0.348533 0.373147 0.40344 0.439413 0.501895 +0.533474 0.561263 0.577053 0.594737 0.630737 0.654105 0.619368 0.574526 +0.558737 0.556211 0.565684 0.583368 0.607368 0.626316 0.636421 0.627579 +0.599158 0.570105 0.549263 0.539158 0.542947 0.559368 0.578947 0.586526 +0.590316 0.597895 0.609895 0.626947 0.649684 0.681263 0.717895 0.751368 +0.777263 0.791158 0.801263 0.820842 0.822737 0.811368 0.800632 0.786737 +0.771579 0.759579 0.760211 0.760211 0.74 0.698316 0.641474 0.598526 +0.556211 0.512632 0.469707 0.435627 0.405333 0.388293 0.373147 0.359893 +0.373147 0.39776 0.395867 0.384507 0.412907 0.439413 0.439413 0.4432 +0.429947 0.395867 0.36368 0.361787 0.40912 0.439413 0.407227 0.390187 +0.407227 0.467813 0.512 0.528421 0.554947 0.556842 0.530316 0.514526 +0.504421 0.48296 0.439413 0.40344 0.429947 0.498107 0.496213 0.42048 +0.395867 0.401547 0.40912 0.401547 0.39776 0.40912 0.4148 0.424267 +0.458347 0.441307 0.435627 0.4432 0.435627 0.43752 0.4148 0.393973 +0.384507 0.371253 0.361787 0.350427 0.350427 0.358 0.35232 0.34664 +0.348533 0.34664 0.359893 0.384507 0.361787 0.3864 0.407227 0.429947 +0.492427 0.510105 0.511368 0.519579 0.524 0.515789 0.505053 0.503789 +0.540421 0.656632 0.818316 0.947789 0.993388 1.00253 0.996653 0.989143 +0.98751 0.986204 0.986531 0.985878 0.987184 0.984898 0.981633 0.972421 +0.969263 0.974947 0.965474 0.959158 0.961053 0.969263 0.976211 0.973053 +0.968 0.970526 0.984571 0.974947 0.948421 0.939579 0.926316 0.916842 +0.906105 0.806947 0.611158 0.492427 0.47728 0.503789 0.520211 0.532842 +0.530316 0.515158 0.49432 0.481067 0.48296 0.513895 0.502526 0.42048 +0.4148 0.418587 0.40912 0.435627 0.446987 0.446987 0.43184 0.433733 +0.462133 0.503789 0.524632 0.533474 0.515789 0.445093 0.390187 0.37504 +0.356107 0.348533 0.365573 0.428053 0.544211 0.605474 0.585895 0.571368 +0.615579 0.675579 0.668 0.611158 0.561263 0.532842 0.524632 0.551789 +0.651579 0.779158 0.836632 0.798105 0.692 0.615579 0.620632 0.656632 +0.667368 0.652211 0.642105 0.639579 0.644632 0.657895 0.678105 0.686316 +0.688842 0.709053 0.743158 0.773474 0.807579 0.846105 0.878316 0.894105 +0.877684 0.820842 0.739368 0.657263 0.609895 0.612421 0.616842 0.555579 +0.44888 0.37504 0.373147 0.36368 0.34664 0.34664 0.359893 0.36368 +0.344747 0.333387 0.3296 0.331493 0.34096 0.365573 0.376933 0.359893 +0.34664 0.359893 0.399653 0.462133 0.505053 0.530316 0.563158 0.580211 +0.572632 0.551789 0.525263 0.48864 0.407227 0.36368 0.358 0.359893 +0.361787 0.361787 0.354213 0.339067 0.339067 0.354213 0.399653 0.45456 +0.509474 0.528421 0.520211 0.492427 0.46024 0.429947 0.40344 0.378827 +0.356107 0.33528 0.331493 0.337173 0.339067 0.344747 0.358 0.376933 +0.40344 0.445093 0.475387 0.462133 0.479173 0.548 0.676211 0.835368 +0.957263 1.012 1.02441 1.01592 1.01298 1.01592 1.012 1.00743 +1.00514 1.00808 1.01167 1.01135 1.01167 1.01298 1.01265 1.01363 +1.01429 1.01363 1.01592 1.01559 1.01429 1.01461 1.01363 1.01429 +1.01657 1.01559 1.01559 1.01722 1.01624 1.01657 1.01722 1.01461 +1.00873 1.00449 1.00971 1.01069 1.01167 1.01265 1.01298 1.01233 +1.01331 1.012 1.01004 1.012 1.01298 1.01069 1.0022 0.984898 +0.956632 0.941474 0.941474 0.945263 0.967368 0.990776 0.942105 0.734316 +0.534105 0.39208 0.34096 0.316347 0.337173 0.333387 0.291733 0.269013 +0.236827 0.000893333 0.00074 0.0007 0.00074 0.000753333 0.00074 0.000733333 +0.000726667 0.000726667 0.000706667 0.000706667 0.000686667 0.000686667 0.0007 0.000706667 +0.000693333 0.00068 0.0007 0.000726667 0.000706667 0.000706667 0.000733333 0.000753333 +0.000753333 0.00074 0.000733333 0.000733333 0.000746667 0.00072 0.000713333 0.000713333 +0.00072 0.00074 0.00074 0.00074 0.000773333 0.000753333 0.00078 0.000773333 +0.000753333 0.000766667 0.000786667 0.00098 0.303093 0.304987 0.219787 0.000833333 +0.000846667 0.00098 0.35232 0.613053 0.861263 0.985551 0.981306 0.954105 +0.945263 0.946526 0.953474 0.961684 0.968 0.983918 0.997959 1.00547 +1.0071 1.00645 1.00547 1.00514 1.00057 1.00318 1.01135 1.0169 +1.01722 1.01461 1.01429 1.01363 1.01331 1.01265 1.01265 1.01167 +1.01396 1.01592 1.01363 1.01298 1.0182 1.03616 1.11782 1.22433 +1.17108 1.05347 1.03257 1.03388 1.0231 0.947158 0.765895 0.600421 +0.505053 0.411013 0.3864 0.361787 0.342853 0.342853 0.365573 0.36368 +0.342853 0.342853 0.344747 0.34664 0.333387 0.33528 0.32392 0.320133 +0.337173 0.356107 0.367467 0.35232 0.327707 0.31824 0.320133 0.331493 +0.331493 0.358 0.40344 0.462133 0.500632 0.464027 0.384507 0.333387 +0.320133 0.34096 0.348533 0.327707 0.322027 0.337173 0.337173 0.31824 +0.316347 0.327707 0.34664 0.36368 0.382613 0.39208 0.40912 0.441307 +0.492427 0.508211 0.507579 0.512 0.547368 0.584632 0.551158 0.512 +0.510105 0.512632 0.519579 0.537263 0.556842 0.565684 0.568842 0.574526 +0.572 0.568211 0.568211 0.571368 0.589684 0.619368 0.648421 0.658526 +0.661053 0.678105 0.695158 0.705263 0.724211 0.752632 0.782316 0.806947 +0.821474 0.823368 0.824 0.832842 0.832211 0.810737 0.789895 0.769053 +0.746947 0.722947 0.707789 0.702737 0.697684 0.676211 0.632632 0.594105 +0.568842 0.535368 0.501895 0.446987 0.42616 0.418587 0.399653 0.388293 +0.393973 0.407227 0.399653 0.4148 0.452667 0.424267 0.388293 0.39776 +0.407227 0.36936 0.342853 0.354213 0.40912 0.452667 0.422373 0.405333 +0.445093 0.513263 0.543579 0.567579 0.595368 0.593474 0.561895 0.540421 +0.522737 0.511368 0.492427 0.452667 0.456453 0.5 0.450773 0.3864 +0.395867 0.401547 0.40344 0.3864 0.384507 0.412907 0.441307 0.446987 +0.44888 0.422373 0.411013 0.42616 0.42616 0.422373 0.40912 0.388293 +0.393973 0.37504 0.356107 0.356107 0.367467 0.376933 0.358 0.356107 +0.342853 0.333387 0.354213 0.376933 0.378827 0.376933 0.388293 0.401547 +0.422373 0.46592 0.486747 0.515158 0.525263 0.514526 0.503789 0.503158 +0.517684 0.601684 0.759579 0.913684 0.98849 0.997959 0.994367 0.991429 +0.986857 0.982286 0.985878 0.984571 0.983265 0.984245 0.983918 0.978105 +0.978105 0.979368 0.968632 0.971158 0.980327 0.983592 0.986204 0.985224 +0.988163 0.992082 0.996 0.990449 0.984245 0.979368 0.959789 0.944 +0.930105 0.863158 0.693263 0.535368 0.43184 0.416693 0.46024 0.505684 +0.512632 0.513263 0.508211 0.511368 0.513263 0.517684 0.49432 0.441307 +0.456453 0.46592 0.445093 0.441307 0.445093 0.43752 0.407227 0.411013 +0.45456 0.506316 0.529053 0.548 0.544842 0.510105 0.433733 0.395867 +0.365573 0.350427 0.365573 0.40344 0.496213 0.547368 0.573263 0.582737 +0.587789 0.580842 0.563158 0.544842 0.523368 0.513263 0.518947 0.556211 +0.655368 0.763368 0.810737 0.798737 0.768421 0.764632 0.797474 0.842947 +0.859368 0.847368 0.835368 0.823368 0.799368 0.769053 0.736211 0.699579 +0.663579 0.650316 0.65979 0.675579 0.698316 0.724211 0.74 0.730526 +0.692632 0.635789 0.582105 0.546737 0.543579 0.556211 0.545474 0.492427 +0.37504 0.342853 0.34664 0.34096 0.337173 0.344747 0.342853 0.331493 +0.32392 0.325813 0.3296 0.3296 0.325813 0.348533 0.361787 0.350427 +0.337173 0.337173 0.344747 0.361787 0.371253 0.416693 0.509474 0.550526 +0.577053 0.577684 0.545474 0.501263 0.4148 0.378827 0.36368 0.350427 +0.339067 0.339067 0.337173 0.33528 0.3296 0.325813 0.35232 0.378827 +0.43752 0.510737 0.509474 0.433733 0.388293 0.3864 0.384507 0.367467 +0.35232 0.333387 0.327707 0.342853 0.358 0.359893 0.361787 0.373147 +0.416693 0.48296 0.501895 0.46024 0.473493 0.553684 0.691368 0.854316 +0.98751 1.03714 1.03682 1.02147 1.02376 1.03061 1.02376 1.01102 +1.00449 1.00678 1.01069 1.01167 1.012 1.01494 1.01429 1.01396 +1.01494 1.01429 1.01396 1.01559 1.01461 1.01559 1.01429 1.01429 +1.01624 1.01624 1.01592 1.01592 1.01396 1.01363 1.01624 1.01396 +1.00776 1.00482 1.01037 1.012 1.01037 1.01167 1.01298 1.01167 +1.012 1.01396 1.01363 1.01363 1.01363 1.01037 1.00155 0.984245 +0.955368 0.939579 0.941474 0.949053 0.969263 0.988163 0.933895 0.730526 +0.542316 0.422373 0.327707 0.286053 0.3296 0.32392 0.274693 0.2728 +0.26144 0.00098 0.00076 0.000686667 0.00072 0.00072 0.000733333 0.000746667 +0.000733333 0.000733333 0.000706667 0.000666667 0.000686667 0.0007 0.000706667 0.000706667 +0.000693333 0.0007 0.00072 0.000706667 0.0007 0.0007 0.000693333 0.000693333 +0.000693333 0.0007 0.000713333 0.000733333 0.00074 0.000746667 0.00072 0.000733333 +0.00074 0.000753333 0.000733333 0.000753333 0.000766667 0.000753333 0.00076 0.000753333 +0.00076 0.0008 0.000873333 0.257653 0.314453 0.263333 0.00092 0.00082 +0.00084 0.000946667 0.35232 0.616842 0.863158 0.985551 0.982286 0.955368 +0.945263 0.948421 0.957263 0.965474 0.973053 0.986531 1.00057 1.00841 +1.0071 1.00351 1.00384 1.00612 1.00057 0.999592 1.00776 1.01396 +1.01429 1.01494 1.01559 1.01396 1.01363 1.01233 1.01396 1.01298 +1.01461 1.01657 1.01494 1.01396 1.0182 1.03486 1.10565 1.23194 +1.19694 1.05576 1.03094 1.03355 1.02735 0.961053 0.782316 0.613053 +0.511368 0.418587 0.393973 0.39208 0.405333 0.40344 0.399653 0.367467 +0.337173 0.3296 0.327707 0.33528 0.3296 0.327707 0.320133 0.327707 +0.339067 0.365573 0.384507 0.358 0.322027 0.31256 0.320133 0.31824 +0.314453 0.361787 0.46592 0.532842 0.538526 0.473493 0.350427 0.31824 +0.32392 0.33528 0.333387 0.327707 0.331493 0.34096 0.337173 0.333387 +0.34096 0.34096 0.356107 0.376933 0.376933 0.37504 0.3864 0.40344 +0.405333 0.39208 0.390187 0.412907 0.512 0.561895 0.541053 0.5 +0.47728 0.490533 0.502526 0.514526 0.528421 0.538526 0.559368 0.594105 +0.608632 0.604211 0.601053 0.596632 0.609895 0.634526 0.650947 0.650947 +0.648421 0.669263 0.695789 0.707158 0.720421 0.740632 0.759579 0.767789 +0.764632 0.758316 0.755158 0.753263 0.747579 0.724211 0.699579 0.677474 +0.661053 0.645895 0.632632 0.627579 0.618737 0.593474 0.565684 0.546105 +0.540421 0.519579 0.46592 0.422373 0.393973 0.384507 0.384507 0.3864 +0.38072 0.37504 0.39208 0.44888 0.46024 0.388293 0.358 0.376933 +0.388293 0.361787 0.350427 0.36368 0.4148 0.439413 0.429947 0.481067 +0.528421 0.568211 0.600421 0.622526 0.643368 0.633895 0.600421 0.577053 +0.551789 0.526526 0.508211 0.4716 0.439413 0.4716 0.435627 0.40344 +0.429947 0.439413 0.433733 0.418587 0.418587 0.435627 0.45456 0.422373 +0.395867 0.3864 0.384507 0.382613 0.373147 0.390187 0.40344 0.39776 +0.395867 0.367467 0.35232 0.361787 0.36936 0.367467 0.36936 0.361787 +0.344747 0.348533 0.354213 0.371253 0.382613 0.361787 0.376933 0.39208 +0.40912 0.416693 0.46024 0.503789 0.503158 0.501263 0.49432 0.490533 +0.500632 0.556842 0.700842 0.867579 0.977474 0.993714 0.992082 0.991755 +0.983592 0.972421 0.976842 0.972421 0.964842 0.968 0.973053 0.966737 +0.976211 0.983918 0.983592 0.989469 0.995347 1.0009 1.00286 1.00612 +1.01265 1.01429 1.01265 1.00514 1.00482 1.00253 0.994041 0.985551 +0.972421 0.925053 0.809474 0.653474 0.527158 0.405333 0.393973 0.462133 +0.510105 0.521474 0.527158 0.538526 0.538526 0.514526 0.467813 0.456453 +0.4716 0.475387 0.486747 0.49432 0.492427 0.4716 0.43184 0.416693 +0.45456 0.503789 0.527158 0.558105 0.578947 0.554316 0.508842 0.441307 +0.39776 0.36936 0.356107 0.367467 0.39776 0.475387 0.525263 0.541053 +0.542316 0.542947 0.539158 0.529053 0.517684 0.523368 0.541053 0.582105 +0.672421 0.765895 0.808842 0.825263 0.842947 0.875789 0.919368 0.954737 +0.970526 0.956632 0.930737 0.896 0.845474 0.777263 0.709684 0.656632 +0.614316 0.588421 0.580842 0.579579 0.580842 0.583368 0.579579 0.563789 +0.541053 0.520211 0.506947 0.508211 0.520211 0.516421 0.484853 0.411013 +0.354213 0.325813 0.320133 0.32392 0.333387 0.344747 0.344747 0.337173 +0.339067 0.342853 0.33528 0.33528 0.331493 0.34096 0.34664 0.348533 +0.342853 0.3296 0.32392 0.327707 0.337173 0.350427 0.382613 0.445093 +0.513263 0.551158 0.558105 0.529684 0.481067 0.407227 0.373147 0.34664 +0.33528 0.34096 0.339067 0.331493 0.327707 0.320133 0.337173 0.34664 +0.371253 0.42616 0.422373 0.356107 0.327707 0.344747 0.359893 0.350427 +0.344747 0.337173 0.342853 0.367467 0.36936 0.36368 0.361787 0.378827 +0.42616 0.48864 0.500632 0.469707 0.48864 0.558105 0.704 0.882105 +1.01592 1.06609 1.04498 1.02833 1.03714 1.04563 1.03486 1.01624 +1.00906 1.00841 1.01004 1.01233 1.01331 1.01494 1.01363 1.01363 +1.01559 1.01559 1.01559 1.01755 1.01624 1.01657 1.01494 1.01331 +1.01331 1.01494 1.0169 1.01592 1.01559 1.01461 1.01559 1.01429 +1.0071 1.00514 1.01069 1.01167 1.01069 1.01298 1.01331 1.01167 +1.01135 1.01265 1.01331 1.01265 1.01331 1.00971 0.999592 0.983918 +0.959789 0.945895 0.947789 0.949684 0.964211 0.984898 0.92821 0.726105 +0.543579 0.416693 0.291733 0.251973 0.314453 0.314453 0.25008 0.25008 +0.2728 0.229253 0.000766667 0.000653333 0.00074 0.00072 0.000706667 0.000713333 +0.000726667 0.000746667 0.00072 0.000706667 0.000706667 0.000706667 0.000693333 0.000693333 +0.000706667 0.000733333 0.00074 0.000733333 0.00074 0.000733333 0.000686667 0.000653333 +0.000653333 0.00066 0.00068 0.0007 0.00068 0.000713333 0.000726667 0.00074 +0.00074 0.000726667 0.000746667 0.00076 0.000753333 0.00076 0.00076 0.00074 +0.00078 0.00084 0.216 0.29552 0.29552 0.217893 0.00084 0.00084 +0.000846667 0.000933333 0.350427 0.614316 0.864421 0.988163 0.983265 0.956632 +0.945263 0.945895 0.952211 0.964211 0.974316 0.98751 1.00253 1.00971 +1.00939 1.00612 1.00612 1.00841 0.999592 0.995673 1.0058 1.01265 +1.01429 1.01396 1.01265 1.012 1.01298 1.01265 1.01461 1.01461 +1.01494 1.01592 1.01527 1.01527 1.0182 1.03224 1.08587 1.23651 +1.21825 1.06456 1.03616 1.03649 1.03159 0.977474 0.798105 0.622526 +0.515789 0.42048 0.388293 0.39208 0.40344 0.3864 0.371253 0.348533 +0.32392 0.320133 0.331493 0.34096 0.34096 0.339067 0.339067 0.35232 +0.371253 0.4148 0.429947 0.388293 0.344747 0.320133 0.327707 0.342853 +0.358 0.39208 0.458347 0.511368 0.504421 0.39208 0.320133 0.32392 +0.337173 0.3296 0.325813 0.331493 0.339067 0.350427 0.382613 0.40344 +0.382613 0.348533 0.358 0.371253 0.365573 0.367467 0.3864 0.399653 +0.3864 0.36936 0.376933 0.405333 0.503158 0.553053 0.548 0.505684 +0.4716 0.484853 0.502526 0.514526 0.522737 0.537895 0.573263 0.614947 +0.622526 0.597895 0.575158 0.56 0.561895 0.572632 0.583368 0.590947 +0.59979 0.623789 0.652842 0.661053 0.662947 0.662947 0.656 0.639579 +0.618105 0.603579 0.592211 0.581474 0.573263 0.565053 0.559368 0.548632 +0.538526 0.532211 0.530316 0.534737 0.530947 0.514526 0.503789 0.498107 +0.49432 0.46024 0.40912 0.3864 0.35232 0.33528 0.348533 0.361787 +0.358 0.361787 0.412907 0.475387 0.439413 0.354213 0.33528 0.354213 +0.371253 0.358 0.350427 0.365573 0.405333 0.42048 0.4716 0.537263 +0.593474 0.637053 0.66421 0.679368 0.696421 0.682526 0.637684 0.602947 +0.567579 0.525895 0.492427 0.439413 0.407227 0.44888 0.44888 0.456453 +0.501895 0.512 0.504421 0.48296 0.46592 0.46592 0.46024 0.412907 +0.388293 0.378827 0.373147 0.378827 0.365573 0.390187 0.40344 0.405333 +0.388293 0.359893 0.356107 0.36936 0.37504 0.384507 0.382613 0.37504 +0.365573 0.36368 0.367467 0.376933 0.371253 0.356107 0.36936 0.395867 +0.407227 0.39208 0.422373 0.462133 0.456453 0.464027 0.469707 0.48296 +0.49432 0.529684 0.648421 0.811368 0.949053 0.990122 0.988816 0.986204 +0.978737 0.958526 0.952842 0.951579 0.946526 0.952211 0.963579 0.969263 +0.982612 0.991102 0.99698 1.00645 1.01363 1.01886 1.02049 1.02473 +1.02669 1.028 1.02735 1.02082 1.02016 1.01918 1.01363 1.0071 +0.997633 0.973684 0.914316 0.811368 0.653474 0.523368 0.407227 0.433733 +0.508842 0.530947 0.554316 0.565053 0.544842 0.512 0.458347 0.446987 +0.46024 0.48296 0.510737 0.525263 0.522737 0.512 0.486747 0.446987 +0.44888 0.47728 0.512632 0.552421 0.597263 0.592842 0.547368 0.512632 +0.481067 0.441307 0.390187 0.371253 0.384507 0.422373 0.48864 0.506947 +0.517684 0.537263 0.541053 0.524 0.518947 0.533474 0.563789 0.614947 +0.688211 0.765895 0.816421 0.854947 0.896632 0.940211 0.976842 0.992408 +0.996327 0.987837 0.957895 0.910526 0.849895 0.776632 0.702737 0.642105 +0.594105 0.563789 0.539789 0.520842 0.508842 0.501895 0.5 0.496213 +0.48296 0.47728 0.484853 0.505053 0.508211 0.479173 0.433733 0.395867 +0.350427 0.322027 0.31256 0.316347 0.322027 0.327707 0.337173 0.354213 +0.354213 0.339067 0.3296 0.339067 0.359893 0.373147 0.361787 0.358 +0.348533 0.331493 0.331493 0.333387 0.337173 0.339067 0.339067 0.354213 +0.412907 0.508211 0.537263 0.542316 0.518947 0.475387 0.416693 0.361787 +0.344747 0.36936 0.36368 0.34096 0.3296 0.320133 0.3296 0.337173 +0.339067 0.359893 0.371253 0.356107 0.348533 0.354213 0.34664 0.333387 +0.337173 0.339067 0.367467 0.411013 0.401547 0.37504 0.36936 0.378827 +0.395867 0.43184 0.45456 0.46592 0.504421 0.573263 0.725474 0.919368 +1.04433 1.12847 1.04563 1.03551 1.05184 1.06913 1.04498 1.02016 +1.012 1.01004 1.01004 1.01135 1.01298 1.01461 1.01331 1.01494 +1.01722 1.0169 1.01592 1.01559 1.01396 1.01527 1.01592 1.01527 +1.01527 1.01592 1.01853 1.01592 1.01494 1.01559 1.01494 1.01331 +1.01037 1.00971 1.01331 1.01233 1.01135 1.01233 1.012 1.01069 +1.00873 1.00971 1.01298 1.01233 1.01363 1.01233 1.0009 0.983265 +0.956632 0.946526 0.949684 0.949684 0.966737 0.986857 0.925684 0.721684 +0.542947 0.401547 0.263333 0.229253 0.297413 0.3012 0.234933 0.234933 +0.274693 0.240613 0.000813333 0.000686667 0.000746667 0.000753333 0.000733333 0.000746667 +0.00074 0.00074 0.000726667 0.000713333 0.000733333 0.000713333 0.00068 0.000693333 +0.0007 0.00072 0.000726667 0.00072 0.000733333 0.000726667 0.00072 0.000713333 +0.0007 0.000706667 0.000693333 0.00066 0.000646667 0.00066 0.000706667 0.00072 +0.000713333 0.000713333 0.000753333 0.000753333 0.00074 0.000753333 0.000766667 0.00076 +0.000793333 0.000913333 0.26712 0.310667 0.257653 0.000913333 0.00084 0.000866667 +0.000853333 0.00094 0.344747 0.604211 0.856842 0.985878 0.981306 0.955368 +0.947789 0.946526 0.952211 0.963579 0.971158 0.986857 1.00416 1.01135 +1.012 1.00939 1.00873 1.00906 1.0009 0.996653 1.00612 1.01265 +1.01494 1.01363 1.012 1.01167 1.01167 1.01233 1.01233 1.01298 +1.01265 1.01298 1.01363 1.01461 1.01592 1.028 1.06304 1.23042 +1.22738 1.07978 1.0378 1.03551 1.03388 0.985551 0.807579 0.625053 +0.514526 0.407227 0.37504 0.371253 0.361787 0.33528 0.33528 0.3296 +0.316347 0.31256 0.31256 0.314453 0.327707 0.34664 0.356107 0.350427 +0.358 0.39776 0.42048 0.407227 0.395867 0.390187 0.40912 0.428053 +0.424267 0.411013 0.412907 0.42616 0.40344 0.344747 0.316347 0.327707 +0.331493 0.32392 0.32392 0.33528 0.35232 0.39776 0.46024 0.44888 +0.382613 0.337173 0.342853 0.361787 0.36936 0.367467 0.373147 0.37504 +0.365573 0.371253 0.390187 0.39776 0.446987 0.524632 0.547368 0.522105 +0.500632 0.486747 0.500632 0.512 0.511368 0.515158 0.534105 0.553684 +0.551789 0.525263 0.502526 0.486747 0.5 0.502526 0.508842 0.518947 +0.532211 0.554947 0.580842 0.575789 0.561895 0.550526 0.529684 0.503789 +0.458347 0.445093 0.43184 0.416693 0.412907 0.416693 0.435627 0.435627 +0.4148 0.39776 0.39776 0.4148 0.424267 0.393973 0.390187 0.395867 +0.39208 0.395867 0.38072 0.365573 0.350427 0.339067 0.344747 0.361787 +0.361787 0.3864 0.46592 0.490533 0.40912 0.34664 0.339067 0.35232 +0.38072 0.36368 0.35232 0.37504 0.416693 0.484853 0.541053 0.605474 +0.66421 0.707789 0.731158 0.741895 0.753263 0.726737 0.668632 0.618105 +0.561895 0.513895 0.4432 0.399653 0.407227 0.456453 0.462133 0.503789 +0.536632 0.551789 0.541684 0.529053 0.522105 0.508842 0.4716 0.422373 +0.395867 0.3864 0.384507 0.388293 0.395867 0.407227 0.411013 0.395867 +0.37504 0.361787 0.358 0.382613 0.378827 0.384507 0.373147 0.36368 +0.342853 0.337173 0.371253 0.365573 0.34664 0.35232 0.37504 0.388293 +0.395867 0.39208 0.412907 0.445093 0.441307 0.429947 0.43184 0.46592 +0.48864 0.512632 0.600421 0.758316 0.909895 0.973684 0.971789 0.962316 +0.955368 0.937684 0.925684 0.928842 0.940211 0.958526 0.971158 0.984245 +0.994694 1.0058 1.01527 1.02016 1.02539 1.02767 1.02898 1.03029 +1.02963 1.03322 1.03257 1.02833 1.02898 1.02735 1.02604 1.0231 +1.01429 0.99502 0.982286 0.933263 0.818316 0.657263 0.522105 0.43752 +0.498107 0.524632 0.556211 0.565053 0.539158 0.520842 0.502526 0.473493 +0.479173 0.511368 0.532211 0.543579 0.528421 0.510737 0.503158 0.469707 +0.441307 0.46592 0.511368 0.546737 0.600421 0.621895 0.590316 0.56 +0.541053 0.523368 0.496213 0.424267 0.399653 0.405333 0.435627 0.4716 +0.501895 0.515158 0.521474 0.513263 0.515158 0.531579 0.566947 0.624421 +0.687579 0.753263 0.812 0.870105 0.921263 0.968 0.990776 1.00351 +1.00547 0.997633 0.977474 0.920632 0.852421 0.777895 0.702105 0.638316 +0.588421 0.554947 0.527789 0.513263 0.508842 0.498107 0.49432 0.505053 +0.5 0.481067 0.48864 0.503158 0.484853 0.43184 0.407227 0.378827 +0.34096 0.320133 0.314453 0.31256 0.31824 0.325813 0.34096 0.36368 +0.34096 0.314453 0.314453 0.342853 0.429947 0.464027 0.382613 0.34664 +0.348533 0.350427 0.354213 0.348533 0.331493 0.322027 0.320133 0.337173 +0.393973 0.439413 0.479173 0.512632 0.508842 0.479173 0.435627 0.382613 +0.36368 0.39776 0.405333 0.36936 0.337173 0.320133 0.32392 0.3296 +0.32392 0.34096 0.367467 0.365573 0.36368 0.371253 0.34664 0.333387 +0.361787 0.38072 0.43752 0.501263 0.4716 0.390187 0.36368 0.36936 +0.37504 0.40344 0.428053 0.450773 0.507579 0.588421 0.750105 0.961684 +1.09348 1.14065 1.04204 1.0391 1.07674 1.1376 1.05216 1.02082 +1.01102 1.00939 1.01167 1.01298 1.01331 1.01494 1.01363 1.01559 +1.0169 1.01527 1.0169 1.01559 1.01396 1.01559 1.01592 1.0169 +1.01624 1.01461 1.01494 1.01233 1.01265 1.01559 1.01461 1.01233 +1.01298 1.01461 1.01429 1.01396 1.012 1.00939 1.00939 1.00841 +1.00776 1.01004 1.01298 1.01265 1.01233 1.01004 0.998939 0.980327 +0.953474 0.946526 0.947789 0.951579 0.974316 0.989143 0.919368 0.710947 +0.537263 0.390187 0.253867 0.217893 0.27848 0.287947 0.231147 0.231147 +0.2728 0.240613 0.000806667 0.000693333 0.000713333 0.000686667 0.0007 0.000706667 +0.0007 0.000706667 0.000706667 0.00072 0.000746667 0.00074 0.000706667 0.000706667 +0.000713333 0.000713333 0.00072 0.00072 0.000706667 0.000693333 0.000686667 0.000713333 +0.000733333 0.00074 0.000693333 0.000646667 0.000673333 0.000686667 0.000713333 0.000713333 +0.000713333 0.000713333 0.00074 0.000726667 0.000733333 0.000746667 0.000766667 0.0008 +0.000846667 0.22736 0.299307 0.293627 0.22168 0.000866667 0.000833333 0.00084 +0.000866667 0.000993333 0.344747 0.598526 0.851158 0.984245 0.980327 0.956632 +0.949053 0.949684 0.953474 0.961684 0.969263 0.987184 1.00449 1.01102 +1.012 1.01069 1.00939 1.00906 1.00318 0.997306 1.00384 1.01102 +1.01298 1.01363 1.01461 1.01363 1.01265 1.01429 1.01233 1.01233 +1.01233 1.01135 1.01167 1.01331 1.01331 1.02473 1.05739 1.22433 +1.24259 1.08891 1.03649 1.03388 1.03616 0.992082 0.823368 0.637053 +0.516421 0.40912 0.373147 0.354213 0.342853 0.31824 0.31824 0.32392 +0.31824 0.30688 0.3012 0.310667 0.31256 0.320133 0.32392 0.316347 +0.320133 0.337173 0.356107 0.3864 0.441307 0.473493 0.46024 0.429947 +0.382613 0.350427 0.344747 0.359893 0.356107 0.339067 0.325813 0.32392 +0.320133 0.316347 0.32392 0.337173 0.37504 0.467813 0.502526 0.40912 +0.337173 0.3296 0.34664 0.356107 0.348533 0.34096 0.35232 0.348533 +0.34096 0.365573 0.384507 0.38072 0.393973 0.481067 0.536 0.532211 +0.492427 0.4432 0.4432 0.439413 0.422373 0.42616 0.452667 0.46592 +0.46024 0.424267 0.395867 0.393973 0.401547 0.39776 0.39208 0.399653 +0.4148 0.464027 0.511368 0.504421 0.46024 0.45456 0.429947 0.36936 +0.337173 0.34664 0.350427 0.358 0.35232 0.34664 0.36936 0.38072 +0.37504 0.356107 0.354213 0.37504 0.382613 0.350427 0.359893 0.348533 +0.327707 0.356107 0.36368 0.350427 0.358 0.359893 0.36368 0.388293 +0.42048 0.486747 0.517684 0.501895 0.39208 0.35232 0.350427 0.361787 +0.393973 0.384507 0.367467 0.390187 0.46592 0.544211 0.617474 0.685053 +0.736842 0.777263 0.793684 0.796842 0.806316 0.769053 0.697053 0.626316 +0.556211 0.508842 0.429947 0.399653 0.407227 0.43752 0.452667 0.516421 +0.566947 0.587158 0.580842 0.578947 0.585895 0.570105 0.529684 0.486747 +0.441307 0.429947 0.418587 0.412907 0.416693 0.407227 0.401547 0.37504 +0.371253 0.376933 0.365573 0.376933 0.371253 0.36368 0.344747 0.34096 +0.325813 0.34096 0.3864 0.382613 0.35232 0.34664 0.36368 0.376933 +0.395867 0.39776 0.42048 0.43752 0.424267 0.418587 0.428053 0.46024 +0.473493 0.49432 0.558105 0.703368 0.866316 0.940842 0.942105 0.935789 +0.932632 0.921263 0.914316 0.924421 0.947158 0.973053 0.985224 0.998612 +1.00939 1.01853 1.02408 1.02278 1.02702 1.02996 1.03192 1.03029 +1.03094 1.0342 1.03224 1.03029 1.03127 1.02996 1.03061 1.02996 +1.02539 1.01298 1.00547 0.990776 0.944 0.814526 0.633263 0.510105 +0.462133 0.509474 0.541684 0.558737 0.546105 0.536632 0.525895 0.512 +0.510105 0.517684 0.522737 0.523368 0.508211 0.48296 0.5 0.492427 +0.46592 0.481067 0.510105 0.538526 0.596 0.647789 0.639579 0.616211 +0.601053 0.581474 0.555579 0.520842 0.490533 0.46592 0.44888 0.462133 +0.4716 0.48296 0.503158 0.504421 0.502526 0.519579 0.554316 0.605474 +0.661053 0.722316 0.788632 0.851158 0.913684 0.966737 0.990776 1.00188 +1.00612 0.999265 0.976211 0.915579 0.841053 0.764632 0.693263 0.633263 +0.583368 0.546737 0.521474 0.512632 0.518947 0.516421 0.512 0.515158 +0.508842 0.486747 0.481067 0.484853 0.445093 0.393973 0.36936 0.350427 +0.325813 0.316347 0.325813 0.327707 0.32392 0.327707 0.342853 0.367467 +0.34096 0.310667 0.303093 0.32392 0.433733 0.484853 0.395867 0.34096 +0.35232 0.367467 0.36368 0.34664 0.333387 0.327707 0.331493 0.34664 +0.390187 0.3864 0.384507 0.4432 0.445093 0.411013 0.405333 0.384507 +0.36936 0.390187 0.395867 0.367467 0.348533 0.33528 0.339067 0.333387 +0.327707 0.337173 0.356107 0.354213 0.350427 0.361787 0.344747 0.333387 +0.358 0.412907 0.505684 0.534105 0.511368 0.42048 0.382613 0.376933 +0.3864 0.418587 0.43184 0.441307 0.507579 0.600421 0.778526 0.997633 +1.17412 1.11326 1.03551 1.04106 1.12847 1.19999 1.05902 1.02278 +1.01102 1.00939 1.01233 1.012 1.01233 1.01461 1.01461 1.0169 +1.01657 1.01429 1.01755 1.01657 1.01527 1.01461 1.01429 1.01527 +1.01527 1.01363 1.01461 1.01363 1.01429 1.01559 1.01233 1.00971 +1.01135 1.01331 1.01233 1.01233 1.01167 1.00841 1.00808 1.00776 +1.00743 1.00906 1.00971 1.01069 1.01102 1.00776 0.998286 0.98098 +0.958526 0.951579 0.946526 0.949053 0.971789 0.986531 0.906737 0.698316 +0.532842 0.384507 0.25008 0.217893 0.270907 0.27848 0.23872 0.246293 +0.269013 0.219787 0.00076 0.000686667 0.000706667 0.000686667 0.000673333 0.000666667 +0.00066 0.000686667 0.0007 0.000713333 0.000726667 0.000713333 0.000706667 0.000713333 +0.000686667 0.000693333 0.0007 0.000706667 0.000713333 0.000706667 0.000713333 0.000726667 +0.000713333 0.0007 0.00068 0.000666667 0.0007 0.000713333 0.0007 0.000706667 +0.000693333 0.000706667 0.00072 0.000733333 0.000753333 0.000746667 0.000766667 0.000826667 +0.000966667 0.270907 0.297413 0.2444 0.00088 0.000806667 0.00078 0.000786667 +0.000846667 0.000986667 0.3296 0.592842 0.848 0.986204 0.985224 0.967368 +0.952842 0.952842 0.955368 0.961053 0.971158 0.987184 1.00286 1.00808 +1.01069 1.01135 1.00906 1.00939 1.00482 0.996327 0.999918 1.01037 +1.01233 1.01233 1.01363 1.01298 1.01363 1.01363 1.01135 1.01265 +1.01363 1.012 1.012 1.01461 1.01429 1.02343 1.05412 1.21977 +1.26846 1.10869 1.03518 1.03061 1.03714 1.00057 0.848 0.656 +0.523368 0.428053 0.393973 0.371253 0.361787 0.331493 0.31256 0.31256 +0.310667 0.304987 0.304987 0.316347 0.316347 0.31824 0.320133 0.320133 +0.320133 0.314453 0.316347 0.354213 0.428053 0.446987 0.390187 0.348533 +0.316347 0.304987 0.320133 0.333387 0.33528 0.339067 0.331493 0.31824 +0.320133 0.316347 0.320133 0.3296 0.384507 0.502526 0.509474 0.39208 +0.322027 0.325813 0.339067 0.339067 0.33528 0.339067 0.34664 0.348533 +0.350427 0.373147 0.384507 0.395867 0.411013 0.45456 0.529053 0.541053 +0.492427 0.4148 0.393973 0.373147 0.371253 0.388293 0.407227 0.39776 +0.384507 0.390187 0.388293 0.38072 0.382613 0.38072 0.37504 0.371253 +0.376933 0.39776 0.452667 0.473493 0.43752 0.43184 0.422373 0.373147 +0.333387 0.331493 0.33528 0.34664 0.34096 0.339067 0.356107 0.367467 +0.361787 0.348533 0.358 0.367467 0.365573 0.350427 0.367467 0.356107 +0.327707 0.35232 0.36936 0.344747 0.356107 0.359893 0.34664 0.384507 +0.456453 0.511368 0.529053 0.515158 0.429947 0.37504 0.359893 0.367467 +0.412907 0.42048 0.399653 0.44888 0.538526 0.622526 0.700211 0.760211 +0.806947 0.835368 0.842316 0.850526 0.859368 0.808211 0.708421 0.617474 +0.548632 0.503158 0.43184 0.40344 0.390187 0.407227 0.441307 0.527158 +0.588421 0.614947 0.613053 0.615579 0.645895 0.662947 0.635158 0.595368 +0.561263 0.540421 0.517684 0.492427 0.46592 0.439413 0.411013 0.373147 +0.393973 0.4148 0.382613 0.365573 0.367467 0.376933 0.354213 0.337173 +0.33528 0.358 0.395867 0.395867 0.371253 0.358 0.373147 0.388293 +0.40344 0.40912 0.43184 0.435627 0.418587 0.429947 0.45456 0.469707 +0.473493 0.484853 0.529053 0.65979 0.829684 0.911789 0.923158 0.928842 +0.926316 0.919368 0.925684 0.941474 0.962316 0.985224 0.998612 1.01331 +1.01755 1.02147 1.02539 1.02441 1.02735 1.03029 1.0329 1.03029 +1.03094 1.0342 1.03486 1.03127 1.03127 1.03192 1.03094 1.02931 +1.02931 1.02376 1.01951 1.01135 0.99698 0.934526 0.774105 0.588421 +0.486747 0.501895 0.534737 0.566316 0.564421 0.539158 0.530947 0.517684 +0.510737 0.505053 0.498107 0.49432 0.48296 0.458347 0.473493 0.49432 +0.486747 0.475387 0.5 0.530947 0.592842 0.66421 0.690105 0.676842 +0.668632 0.657895 0.630105 0.592842 0.56 0.529053 0.503158 0.479173 +0.458347 0.456453 0.479173 0.481067 0.4716 0.500632 0.526526 0.565053 +0.609895 0.666105 0.731789 0.798737 0.868211 0.929474 0.969895 0.98751 +0.991429 0.983918 0.944632 0.878947 0.804421 0.726105 0.659158 0.606105 +0.561263 0.532842 0.517684 0.508211 0.512 0.515158 0.513895 0.513895 +0.510737 0.500632 0.481067 0.452667 0.411013 0.376933 0.356107 0.339067 +0.322027 0.322027 0.339067 0.337173 0.325813 0.325813 0.34664 0.36936 +0.331493 0.303093 0.304987 0.310667 0.37504 0.422373 0.382613 0.34096 +0.348533 0.367467 0.367467 0.358 0.354213 0.35232 0.342853 0.348533 +0.382613 0.358 0.337173 0.3864 0.39776 0.358 0.358 0.359893 +0.359893 0.367467 0.36368 0.354213 0.361787 0.361787 0.359893 0.342853 +0.333387 0.33528 0.339067 0.34664 0.333387 0.327707 0.322027 0.310667 +0.325813 0.39208 0.503158 0.527789 0.507579 0.43184 0.39776 0.390187 +0.407227 0.43184 0.439413 0.45456 0.515789 0.611789 0.805053 1.02016 +1.20303 1.06761 1.03355 1.05086 1.20912 1.25629 1.06 1.02212 +1.01265 1.01037 1.012 1.01167 1.01265 1.01559 1.01494 1.01592 +1.01592 1.01396 1.01527 1.01494 1.01657 1.01722 1.01592 1.01396 +1.01396 1.01233 1.01331 1.01363 1.01331 1.01331 1.01037 1.00939 +1.012 1.01363 1.01135 1.00939 1.00776 1.00514 1.00514 1.00612 +1.0071 1.00939 1.01037 1.01004 1.01004 1.00743 0.998286 0.981633 +0.956632 0.951579 0.947789 0.949053 0.973053 0.984898 0.890947 0.681895 +0.526526 0.37504 0.248187 0.00098 0.2444 0.263333 0.251973 0.263333 +0.25576 0.0009 0.00074 0.000713333 0.000733333 0.000733333 0.000726667 0.000713333 +0.000713333 0.0007 0.000693333 0.00068 0.00068 0.000706667 0.000713333 0.000713333 +0.000693333 0.000693333 0.000666667 0.00066 0.000706667 0.000706667 0.00072 0.000746667 +0.000713333 0.0007 0.0007 0.000713333 0.00074 0.000746667 0.0007 0.000706667 +0.000733333 0.000746667 0.000726667 0.000746667 0.000733333 0.000726667 0.0008 0.000913333 +0.25576 0.29552 0.263333 0.00092 0.0008 0.000786667 0.000806667 0.000833333 +0.000873333 0.000953333 0.3012 0.581474 0.836632 0.984898 0.987184 0.969895 +0.955368 0.954105 0.954737 0.962316 0.973684 0.987837 1.00122 1.00612 +1.00939 1.01037 1.00776 1.00939 1.0071 0.997306 0.996 1.00678 +1.01037 1.01102 1.012 1.01298 1.01331 1.00971 1.01069 1.01331 +1.01167 1.01004 1.01069 1.01494 1.01624 1.02212 1.04857 1.21064 +1.29889 1.14673 1.03878 1.03061 1.03943 1.01233 0.877684 0.674947 +0.532842 0.43752 0.395867 0.399653 0.399653 0.348533 0.322027 0.316347 +0.30688 0.31824 0.316347 0.314453 0.322027 0.327707 0.331493 0.325813 +0.31824 0.308773 0.31824 0.356107 0.401547 0.384507 0.3296 0.31256 +0.304987 0.304987 0.314453 0.316347 0.31256 0.31824 0.3296 0.337173 +0.337173 0.31824 0.31824 0.331493 0.376933 0.479173 0.506316 0.412907 +0.325813 0.316347 0.322027 0.33528 0.337173 0.344747 0.348533 0.35232 +0.361787 0.39208 0.40912 0.418587 0.429947 0.450773 0.519579 0.542316 +0.506947 0.4148 0.382613 0.36368 0.367467 0.382613 0.3864 0.371253 +0.36368 0.365573 0.36936 0.365573 0.36936 0.376933 0.388293 0.378827 +0.378827 0.40344 0.458347 0.473493 0.42048 0.3864 0.382613 0.36936 +0.34664 0.3296 0.322027 0.348533 0.36368 0.361787 0.36368 0.382613 +0.371253 0.354213 0.361787 0.367467 0.371253 0.359893 0.371253 0.384507 +0.358 0.356107 0.371253 0.365573 0.358 0.35232 0.35232 0.37504 +0.424267 0.4432 0.501895 0.513895 0.464027 0.393973 0.373147 0.390187 +0.450773 0.48864 0.507579 0.549263 0.625684 0.703368 0.765895 0.825263 +0.869474 0.890316 0.901684 0.915579 0.903579 0.816421 0.694526 0.594105 +0.525263 0.4716 0.429947 0.416693 0.390187 0.401547 0.467813 0.542947 +0.604211 0.627579 0.612421 0.604842 0.638316 0.680632 0.692632 0.685684 +0.662316 0.626316 0.585263 0.548632 0.517684 0.490533 0.429947 0.393973 +0.412907 0.429947 0.378827 0.37504 0.399653 0.411013 0.376933 0.365573 +0.354213 0.365573 0.37504 0.376933 0.361787 0.354213 0.367467 0.399653 +0.43752 0.479173 0.498107 0.48296 0.467813 0.4716 0.484853 0.47728 +0.481067 0.481067 0.513263 0.632632 0.796211 0.883368 0.914947 0.925053 +0.919368 0.924421 0.942737 0.959789 0.98 0.997306 1.012 1.02016 +1.01788 1.02114 1.02669 1.02669 1.028 1.03061 1.03322 1.02996 +1.03029 1.03518 1.03584 1.03159 1.03159 1.03355 1.03127 1.02702 +1.02996 1.02702 1.02604 1.02539 1.01657 0.992408 0.901053 0.714737 +0.548632 0.502526 0.524632 0.558105 0.553053 0.518316 0.513895 0.508842 +0.496213 0.48864 0.47728 0.48296 0.48296 0.458347 0.450773 0.464027 +0.48296 0.479173 0.492427 0.530316 0.590947 0.669895 0.731158 0.747579 +0.750737 0.749474 0.724211 0.685053 0.636421 0.578316 0.530316 0.509474 +0.48296 0.445093 0.446987 0.445093 0.445093 0.46024 0.501895 0.522105 +0.553053 0.594737 0.643368 0.698947 0.760842 0.818316 0.867579 0.899789 +0.909895 0.897895 0.856842 0.799368 0.730526 0.659158 0.599158 0.556211 +0.526526 0.512 0.506947 0.505684 0.506947 0.508211 0.514526 0.521474 +0.524632 0.525895 0.523368 0.510737 0.469707 0.411013 0.36936 0.348533 +0.33528 0.33528 0.350427 0.339067 0.320133 0.322027 0.348533 0.365573 +0.33528 0.308773 0.30688 0.31824 0.348533 0.376933 0.365573 0.34664 +0.356107 0.39776 0.42048 0.390187 0.35232 0.342853 0.33528 0.348533 +0.376933 0.350427 0.322027 0.356107 0.376933 0.350427 0.33528 0.331493 +0.331493 0.337173 0.331493 0.348533 0.376933 0.39208 0.3864 0.344747 +0.33528 0.32392 0.316347 0.337173 0.339067 0.320133 0.322027 0.320133 +0.322027 0.350427 0.40912 0.458347 0.456453 0.42616 0.393973 0.384507 +0.407227 0.422373 0.435627 0.45456 0.518316 0.621263 0.832842 1.03584 +1.18325 1.05118 1.03322 1.06609 1.2852 1.29128 1.05837 1.02049 +1.01331 1.01233 1.01265 1.01167 1.01331 1.01461 1.01363 1.01461 +1.01592 1.01527 1.01527 1.01494 1.01722 1.0169 1.01559 1.01265 +1.01135 1.01069 1.012 1.01298 1.01102 1.01004 1.01004 1.01004 +1.01167 1.01331 1.00906 1.00482 1.00286 1.0022 1.00416 1.00547 +1.00743 1.01069 1.01135 1.01037 1.00939 1.0058 0.99502 0.978737 +0.952842 0.947789 0.950316 0.952842 0.978105 0.983592 0.872 0.656 +0.512 0.367467 0.25008 0.000926667 0.217893 0.25008 0.251973 0.253867 +0.22736 0.00082 0.000726667 0.000713333 0.00072 0.00072 0.00072 0.000733333 +0.000746667 0.000753333 0.000733333 0.000726667 0.000733333 0.000753333 0.000753333 0.00072 +0.000713333 0.000706667 0.00066 0.00064 0.000646667 0.000633333 0.000666667 0.000686667 +0.000673333 0.000673333 0.000666667 0.000693333 0.000726667 0.00072 0.000726667 0.000733333 +0.000753333 0.000746667 0.000733333 0.000753333 0.00074 0.000793333 0.00092 0.25008 +0.29552 0.286053 0.219787 0.000853333 0.000826667 0.000813333 0.000826667 0.000866667 +0.0009 0.00096 0.303093 0.574526 0.822737 0.981959 0.985224 0.962316 +0.952211 0.950316 0.951579 0.961684 0.973053 0.986857 1.0022 1.00873 +1.01265 1.01331 1.01102 1.01233 1.00939 0.997633 0.989796 0.997633 +1.00678 1.00971 1.01135 1.01396 1.01331 1.01037 1.01265 1.01102 +1.00841 1.00873 1.01004 1.01363 1.01494 1.01918 1.04237 1.19847 +1.3278 1.20151 1.04727 1.03388 1.04465 1.02571 0.909895 0.698316 +0.542947 0.435627 0.390187 0.405333 0.395867 0.337173 0.32392 0.325813 +0.32392 0.339067 0.331493 0.32392 0.331493 0.325813 0.320133 0.32392 +0.320133 0.3296 0.348533 0.382613 0.407227 0.371253 0.31824 0.3012 +0.3012 0.308773 0.31824 0.310667 0.3012 0.303093 0.33528 0.367467 +0.34664 0.31824 0.32392 0.337173 0.358 0.418587 0.48864 0.4432 +0.358 0.339067 0.337173 0.344747 0.339067 0.342853 0.344747 0.356107 +0.367467 0.384507 0.390187 0.399653 0.399653 0.407227 0.467813 0.513263 +0.501263 0.42616 0.390187 0.361787 0.354213 0.358 0.36368 0.365573 +0.361787 0.350427 0.34664 0.344747 0.350427 0.365573 0.378827 0.373147 +0.367467 0.401547 0.467813 0.458347 0.3864 0.350427 0.34096 0.359893 +0.354213 0.32392 0.325813 0.361787 0.39776 0.38072 0.367467 0.361787 +0.35232 0.344747 0.339067 0.356107 0.361787 0.38072 0.395867 0.39776 +0.36368 0.344747 0.358 0.367467 0.354213 0.354213 0.37504 0.40344 +0.405333 0.371253 0.40912 0.464027 0.441307 0.405333 0.3864 0.39776 +0.45456 0.518947 0.573895 0.642737 0.705263 0.762105 0.824632 0.885263 +0.926316 0.945895 0.956632 0.958526 0.918105 0.807579 0.678737 0.570105 +0.504421 0.462133 0.450773 0.433733 0.40344 0.40344 0.5 0.568211 +0.626316 0.631368 0.585263 0.550526 0.558105 0.587789 0.618737 0.646526 +0.654105 0.637053 0.609895 0.578947 0.535368 0.504421 0.44888 0.412907 +0.422373 0.416693 0.373147 0.382613 0.4148 0.407227 0.38072 0.371253 +0.358 0.365573 0.36368 0.365573 0.350427 0.34664 0.365573 0.42048 +0.503158 0.522737 0.516421 0.501895 0.484853 0.458347 0.44888 0.43184 +0.445093 0.456453 0.502526 0.610526 0.765263 0.856842 0.899789 0.909895 +0.910526 0.934526 0.960421 0.976842 0.990449 1.00971 1.01886 1.01984 +1.01886 1.02604 1.02767 1.02735 1.02898 1.03127 1.02996 1.028 +1.03224 1.0342 1.0329 1.03355 1.03355 1.0329 1.03127 1.02898 +1.03159 1.03029 1.03029 1.0342 1.02833 1.01135 0.982286 0.847368 +0.643368 0.520842 0.518316 0.544842 0.526526 0.479173 0.490533 0.486747 +0.46592 0.475387 0.500632 0.507579 0.501895 0.473493 0.446987 0.446987 +0.475387 0.496213 0.48864 0.520211 0.587158 0.679368 0.775368 0.832211 +0.848 0.849895 0.831579 0.786737 0.717263 0.637053 0.565053 0.523368 +0.498107 0.43752 0.422373 0.4148 0.424267 0.458347 0.486747 0.503158 +0.520842 0.537895 0.553053 0.578316 0.610526 0.646526 0.690737 0.726737 +0.736211 0.724211 0.702105 0.666105 0.622526 0.575158 0.537263 0.513895 +0.5 0.486747 0.479173 0.48864 0.500632 0.498107 0.511368 0.532842 +0.544842 0.558105 0.574526 0.582737 0.575789 0.552421 0.521474 0.475387 +0.411013 0.376933 0.367467 0.344747 0.31824 0.32392 0.35232 0.36368 +0.356107 0.33528 0.316347 0.327707 0.354213 0.378827 0.371253 0.33528 +0.354213 0.43184 0.47728 0.418587 0.331493 0.320133 0.34096 0.356107 +0.354213 0.33528 0.339067 0.361787 0.378827 0.36368 0.342853 0.325813 +0.320133 0.31824 0.327707 0.356107 0.382613 0.390187 0.371253 0.34096 +0.33528 0.327707 0.31824 0.333387 0.339067 0.327707 0.327707 0.331493 +0.331493 0.325813 0.34664 0.382613 0.42048 0.42616 0.399653 0.378827 +0.388293 0.411013 0.433733 0.462133 0.522105 0.633895 0.865053 1.04727 +1.14369 1.04073 1.02963 1.0813 1.32019 1.29281 1.05445 1.01918 +1.01135 1.01233 1.01233 1.01004 1.01265 1.01461 1.01429 1.01461 +1.01559 1.01494 1.01494 1.01494 1.01592 1.01396 1.01298 1.01265 +1.01167 1.01069 1.01135 1.01298 1.01004 1.00776 1.00841 1.00906 +1.01265 1.01461 1.00906 1.00449 1.00351 1.0022 1.00253 1.00286 +1.00645 1.01102 1.01135 1.01069 1.01135 1.00678 0.992082 0.973053 +0.954105 0.949053 0.950947 0.954737 0.980653 0.981633 0.851789 0.633263 +0.5 0.356107 0.2444 0.0009 0.000926667 0.000993333 0.000993333 0.00096 +0.000906667 0.000806667 0.00074 0.000726667 0.000733333 0.000726667 0.000706667 0.000693333 +0.000733333 0.000733333 0.000733333 0.000726667 0.000713333 0.000713333 0.000713333 0.000713333 +0.000726667 0.00072 0.0007 0.000693333 0.000673333 0.000633333 0.000653333 0.000646667 +0.00064 0.00066 0.00066 0.000666667 0.000666667 0.000646667 0.00068 0.000693333 +0.0007 0.0007 0.00072 0.00076 0.000786667 0.000873333 0.23872 0.293627 +0.287947 0.236827 0.00088 0.000826667 0.000826667 0.000813333 0.000833333 0.000866667 +0.000886667 0.000953333 0.299307 0.563789 0.806947 0.979368 0.985551 0.959158 +0.947789 0.947158 0.949053 0.958526 0.968632 0.985878 1.00188 1.00971 +1.01298 1.01233 1.012 1.01331 1.01004 0.998612 0.986204 0.990449 +1.00384 1.00743 1.01004 1.01396 1.012 1.01265 1.01363 1.012 +1.00939 1.00906 1.01069 1.012 1.012 1.01624 1.03518 1.15738 +1.33389 1.25477 1.05739 1.03878 1.0502 1.03551 0.937053 0.726737 +0.564421 0.47728 0.42616 0.42048 0.384507 0.325813 0.308773 0.320133 +0.333387 0.339067 0.32392 0.322027 0.325813 0.327707 0.33528 0.337173 +0.348533 0.37504 0.376933 0.376933 0.393973 0.38072 0.33528 0.30688 +0.308773 0.327707 0.34664 0.3296 0.310667 0.31256 0.34096 0.371253 +0.34664 0.32392 0.33528 0.34096 0.34664 0.39776 0.46592 0.473493 +0.416693 0.37504 0.371253 0.373147 0.350427 0.342853 0.339067 0.344747 +0.350427 0.36368 0.36936 0.37504 0.36368 0.354213 0.378827 0.445093 +0.452667 0.405333 0.367467 0.348533 0.34664 0.350427 0.358 0.361787 +0.35232 0.34096 0.339067 0.33528 0.333387 0.348533 0.361787 0.365573 +0.365573 0.388293 0.435627 0.422373 0.365573 0.348533 0.3296 0.337173 +0.358 0.350427 0.342853 0.367467 0.422373 0.40912 0.371253 0.34664 +0.337173 0.342853 0.344747 0.356107 0.376933 0.418587 0.433733 0.424267 +0.388293 0.350427 0.35232 0.358 0.359893 0.359893 0.371253 0.39776 +0.40344 0.36936 0.37504 0.412907 0.412907 0.405333 0.399653 0.407227 +0.498107 0.563158 0.647158 0.715368 0.758947 0.813895 0.886526 0.945263 +0.978105 0.98751 0.988816 0.980653 0.925684 0.805053 0.65979 0.546737 +0.484853 0.456453 0.439413 0.40912 0.401547 0.429947 0.526526 0.610526 +0.655368 0.630105 0.554316 0.490533 0.45456 0.48296 0.517053 0.543579 +0.553053 0.553053 0.552421 0.543579 0.522105 0.503158 0.456453 0.435627 +0.473493 0.441307 0.373147 0.38072 0.388293 0.384507 0.365573 0.367467 +0.378827 0.390187 0.3864 0.38072 0.354213 0.36936 0.416693 0.490533 +0.522105 0.520211 0.462133 0.42616 0.416693 0.407227 0.407227 0.401547 +0.422373 0.439413 0.492427 0.597263 0.747579 0.829053 0.872 0.892211 +0.909895 0.940211 0.969263 0.986204 1.00155 1.01559 1.01886 1.01755 +1.01951 1.028 1.02539 1.02571 1.03029 1.03224 1.02735 1.02931 +1.03453 1.03257 1.03257 1.03486 1.03355 1.03224 1.03159 1.03061 +1.03224 1.03355 1.03322 1.03584 1.03388 1.02212 1.00318 0.944 +0.761474 0.570105 0.515789 0.534737 0.523368 0.48864 0.464027 0.458347 +0.452667 0.458347 0.502526 0.515789 0.506316 0.484853 0.467813 0.462133 +0.48296 0.500632 0.481067 0.510105 0.590947 0.716 0.844211 0.926316 +0.949684 0.953474 0.933263 0.878316 0.793053 0.698316 0.611789 0.543579 +0.501263 0.43184 0.399653 0.3864 0.407227 0.462133 0.501895 0.507579 +0.505684 0.502526 0.500632 0.506947 0.521474 0.540421 0.577053 0.609895 +0.618737 0.603579 0.582105 0.558737 0.535368 0.510105 0.486747 0.47728 +0.462133 0.43752 0.439413 0.45456 0.458347 0.467813 0.509474 0.539789 +0.554316 0.572632 0.608632 0.646526 0.676842 0.682526 0.659158 0.618737 +0.569474 0.527158 0.492427 0.411013 0.344747 0.333387 0.354213 0.365573 +0.358 0.354213 0.344747 0.342853 0.361787 0.399653 0.40344 0.358 +0.359893 0.399653 0.4148 0.37504 0.325813 0.316347 0.333387 0.348533 +0.339067 0.32392 0.344747 0.367467 0.376933 0.359893 0.344747 0.342853 +0.333387 0.32392 0.327707 0.350427 0.36936 0.373147 0.356107 0.35232 +0.358 0.339067 0.31824 0.314453 0.31824 0.325813 0.3296 0.333387 +0.342853 0.331493 0.3296 0.359893 0.407227 0.435627 0.43184 0.407227 +0.39776 0.405333 0.43184 0.469707 0.530947 0.652842 0.898526 1.05869 +1.11934 1.03355 1.02637 1.07826 1.31715 1.27303 1.0489 1.01592 +1.00971 1.012 1.012 1.01037 1.01363 1.01527 1.01494 1.01396 +1.01298 1.01363 1.01429 1.01527 1.01755 1.01494 1.012 1.01167 +1.01135 1.01167 1.01102 1.01069 1.01069 1.00939 1.00906 1.01004 +1.012 1.01396 1.00971 1.00776 1.00612 1.00318 1.00253 1.00449 +1.00776 1.012 1.01265 1.01167 1.01135 1.0058 0.989143 0.968 +0.952211 0.946526 0.947789 0.959158 0.983918 0.98 0.831579 0.611158 +0.4716 0.339067 0.22736 0.00086 0.000853333 0.000853333 0.000853333 0.00084 +0.000813333 0.000773333 0.000733333 0.000733333 0.000726667 0.000746667 0.000726667 0.000726667 +0.000746667 0.000733333 0.000713333 0.00072 0.000706667 0.0007 0.000713333 0.000706667 +0.000706667 0.000693333 0.000693333 0.000706667 0.000693333 0.00068 0.000666667 0.000673333 +0.00068 0.000673333 0.00068 0.0007 0.000693333 0.00068 0.000653333 0.000633333 +0.000666667 0.000673333 0.000686667 0.000733333 0.00076 0.00092 0.27848 0.297413 +0.240613 0.000893333 0.000833333 0.000833333 0.000806667 0.000826667 0.000866667 0.000893333 +0.000893333 0.000933333 0.293627 0.553053 0.792421 0.974316 0.985878 0.961053 +0.947158 0.945895 0.947158 0.956 0.969895 0.985551 0.999918 1.00939 +1.01069 1.00841 1.00971 1.01265 1.01037 1.00024 0.98849 0.989796 +1.00024 1.00416 1.00906 1.01363 1.01331 1.01592 1.01494 1.01429 +1.01167 1.00873 1.00971 1.00939 1.00873 1.01298 1.02669 1.09195 +1.3065 1.2852 1.09043 1.04727 1.05706 1.04204 0.958526 0.753263 +0.589053 0.510737 0.467813 0.4432 0.395867 0.34664 0.325813 0.34664 +0.361787 0.339067 0.320133 0.316347 0.322027 0.33528 0.348533 0.354213 +0.36368 0.373147 0.350427 0.331493 0.358 0.38072 0.354213 0.325813 +0.333387 0.367467 0.395867 0.378827 0.34664 0.33528 0.342853 0.350427 +0.331493 0.32392 0.337173 0.35232 0.367467 0.395867 0.418587 0.428053 +0.407227 0.37504 0.382613 0.376933 0.354213 0.34096 0.339067 0.331493 +0.34096 0.36936 0.384507 0.359893 0.344747 0.33528 0.348533 0.40912 +0.43752 0.390187 0.358 0.34664 0.354213 0.36368 0.359893 0.356107 +0.356107 0.350427 0.34664 0.34096 0.333387 0.34096 0.35232 0.358 +0.37504 0.393973 0.393973 0.378827 0.344747 0.33528 0.3296 0.337173 +0.361787 0.371253 0.358 0.373147 0.4432 0.418587 0.35232 0.3296 +0.339067 0.350427 0.367467 0.388293 0.405333 0.429947 0.429947 0.429947 +0.42616 0.384507 0.359893 0.348533 0.354213 0.361787 0.36368 0.371253 +0.373147 0.359893 0.371253 0.401547 0.39776 0.401547 0.42048 0.496213 +0.560632 0.642105 0.714737 0.759579 0.797474 0.86 0.937684 0.987837 +1.00188 1.00547 1.00416 0.994694 0.940842 0.793053 0.621263 0.520211 +0.467813 0.446987 0.422373 0.399653 0.407227 0.48864 0.577053 0.664842 +0.678105 0.613053 0.520211 0.416693 0.38072 0.3864 0.4148 0.43752 +0.433733 0.42616 0.43184 0.45456 0.481067 0.484853 0.458347 0.473493 +0.507579 0.484853 0.405333 0.376933 0.371253 0.37504 0.371253 0.388293 +0.418587 0.428053 0.4148 0.40344 0.388293 0.445093 0.511368 0.525263 +0.515789 0.469707 0.395867 0.3864 0.382613 0.399653 0.418587 0.42048 +0.445093 0.456453 0.490533 0.596 0.74 0.809474 0.852421 0.883368 +0.914947 0.945263 0.974947 0.994694 1.00939 1.01559 1.0182 1.01788 +1.02114 1.02637 1.02343 1.02539 1.03127 1.03094 1.028 1.03224 +1.03322 1.03355 1.03616 1.03453 1.03257 1.03355 1.03159 1.03094 +1.03257 1.03388 1.03584 1.03616 1.03551 1.02865 1.01429 0.991102 +0.871368 0.652842 0.525895 0.524632 0.530316 0.512 0.464027 0.458347 +0.46024 0.462133 0.484853 0.505053 0.486747 0.475387 0.49432 0.506316 +0.520842 0.530947 0.517053 0.523368 0.616842 0.787368 0.937684 0.994041 +1.00155 1.00645 0.995673 0.953474 0.865053 0.756421 0.668632 0.595368 +0.530316 0.458347 0.399653 0.384507 0.393973 0.439413 0.503789 0.518316 +0.501895 0.452667 0.450773 0.467813 0.506947 0.534105 0.576421 0.616842 +0.638947 0.635789 0.610526 0.570737 0.541053 0.522737 0.511368 0.507579 +0.49432 0.452667 0.44888 0.452667 0.445093 0.44888 0.490533 0.522737 +0.538526 0.563789 0.613684 0.671789 0.728 0.765263 0.776 0.767789 +0.733684 0.681895 0.623789 0.558105 0.500632 0.42048 0.405333 0.388293 +0.356107 0.35232 0.35232 0.354213 0.38072 0.418587 0.429947 0.399653 +0.365573 0.358 0.34096 0.322027 0.31824 0.322027 0.327707 0.339067 +0.331493 0.32392 0.337173 0.359893 0.356107 0.339067 0.32392 0.325813 +0.325813 0.325813 0.333387 0.348533 0.37504 0.37504 0.34096 0.33528 +0.348533 0.34096 0.331493 0.32392 0.322027 0.331493 0.333387 0.331493 +0.339067 0.342853 0.339067 0.36368 0.407227 0.435627 0.445093 0.422373 +0.395867 0.393973 0.424267 0.479173 0.542947 0.678737 0.930105 1.07826 +1.09195 1.02865 1.02506 1.08435 1.32019 1.26237 1.04727 1.01396 +1.00906 1.01331 1.01265 1.01004 1.01233 1.01363 1.01265 1.01331 +1.01331 1.01429 1.01592 1.01429 1.01592 1.01527 1.01265 1.01167 +1.01167 1.01331 1.01396 1.01265 1.01167 1.00906 1.00873 1.01037 +1.01004 1.01167 1.01167 1.01167 1.00971 1.0071 1.0071 1.00873 +1.01037 1.012 1.01102 1.01037 1.00906 1.0022 0.986857 0.964842 +0.949053 0.945263 0.947158 0.965474 0.986857 0.969895 0.804421 0.587158 +0.446987 0.325813 0.219787 0.00086 0.000813333 0.00078 0.000793333 0.000786667 +0.000753333 0.00074 0.000706667 0.000713333 0.0007 0.00072 0.00072 0.000713333 +0.00072 0.0007 0.000706667 0.00072 0.000713333 0.00072 0.000733333 0.0007 +0.000693333 0.000693333 0.000693333 0.000693333 0.00068 0.00068 0.000646667 0.000633333 +0.00066 0.000673333 0.000713333 0.000726667 0.000713333 0.000753333 0.000726667 0.000706667 +0.00072 0.000693333 0.0007 0.000726667 0.00076 0.216 0.3012 0.2728 +0.00092 0.000773333 0.0008 0.000813333 0.000793333 0.000826667 0.000846667 0.000906667 +0.000926667 0.00098 0.297413 0.541684 0.772842 0.965474 0.98849 0.968 +0.950947 0.946526 0.948421 0.958526 0.971789 0.985224 1.00024 1.01004 +1.01135 1.00841 1.00841 1.01069 1.00971 1.00024 0.991755 0.993714 +1.00155 1.00416 1.00808 1.01167 1.01396 1.01461 1.01461 1.01494 +1.01233 1.01037 1.01102 1.01037 1.01037 1.01331 1.02376 1.05543 +1.25933 1.29281 1.12999 1.05608 1.06913 1.04857 0.981306 0.779789 +0.604842 0.510737 0.445093 0.42616 0.3864 0.358 0.354213 0.384507 +0.3864 0.356107 0.327707 0.31256 0.320133 0.339067 0.348533 0.356107 +0.354213 0.34096 0.320133 0.308773 0.32392 0.348533 0.33528 0.3296 +0.34096 0.376933 0.405333 0.407227 0.384507 0.359893 0.359893 0.358 +0.344747 0.331493 0.333387 0.34096 0.361787 0.382613 0.376933 0.373147 +0.378827 0.37504 0.36368 0.34664 0.339067 0.342853 0.339067 0.327707 +0.344747 0.378827 0.395867 0.365573 0.344747 0.327707 0.344747 0.418587 +0.4432 0.384507 0.361787 0.365573 0.36368 0.36936 0.359893 0.36368 +0.3864 0.382613 0.358 0.34096 0.333387 0.344747 0.344747 0.34664 +0.37504 0.373147 0.354213 0.354213 0.34664 0.331493 0.331493 0.344747 +0.359893 0.376933 0.38072 0.39776 0.428053 0.382613 0.327707 0.31824 +0.322027 0.344747 0.388293 0.388293 0.376933 0.3864 0.401547 0.411013 +0.429947 0.412907 0.3864 0.361787 0.344747 0.356107 0.36368 0.35232 +0.344747 0.34664 0.371253 0.39208 0.3864 0.407227 0.502526 0.569474 +0.652842 0.721053 0.764632 0.790526 0.823368 0.896632 0.981633 1.00743 +1.01592 1.01592 1.01396 1.0058 0.947158 0.753895 0.571368 0.498107 +0.452667 0.44888 0.439413 0.433733 0.4432 0.524632 0.630737 0.707158 +0.685684 0.589053 0.501895 0.412907 0.376933 0.365573 0.367467 0.373147 +0.376933 0.36368 0.359893 0.384507 0.418587 0.452667 0.4716 0.475387 +0.475387 0.452667 0.418587 0.384507 0.354213 0.36368 0.37504 0.4148 +0.464027 0.469707 0.456453 0.458347 0.49432 0.522737 0.531579 0.518316 +0.490533 0.456453 0.42616 0.411013 0.393973 0.416693 0.429947 0.424267 +0.445093 0.43752 0.503789 0.619368 0.752632 0.813895 0.853684 0.889684 +0.925684 0.957263 0.983918 1.00155 1.01102 1.01494 1.0182 1.01853 +1.0231 1.02571 1.02343 1.02669 1.03029 1.02767 1.02604 1.02898 +1.03029 1.0342 1.03584 1.03257 1.03322 1.0329 1.03127 1.0329 +1.0329 1.03322 1.0378 1.03682 1.03518 1.03224 1.02441 1.00678 +0.950316 0.750105 0.561895 0.523368 0.532842 0.524632 0.502526 0.473493 +0.46592 0.490533 0.498107 0.486747 0.462133 0.4716 0.508211 0.529053 +0.551789 0.570737 0.56 0.559368 0.649684 0.838526 0.991102 1.01984 +1.02147 1.02735 1.0231 0.999592 0.932632 0.811368 0.720421 0.664842 +0.606737 0.549263 0.507579 0.4432 0.401547 0.42048 0.481067 0.512 +0.5 0.456453 0.469707 0.5 0.524632 0.568211 0.628842 0.683789 +0.714105 0.724842 0.719158 0.696421 0.673684 0.662316 0.650316 0.628211 +0.596632 0.558105 0.520211 0.48864 0.458347 0.43752 0.428053 0.458347 +0.496213 0.519579 0.565684 0.638316 0.724842 0.799368 0.827789 0.836632 +0.837263 0.817684 0.772211 0.702737 0.623789 0.558737 0.517053 0.464027 +0.390187 0.365573 0.35232 0.35232 0.378827 0.395867 0.40912 0.407227 +0.371253 0.350427 0.331493 0.308773 0.303093 0.304987 0.31824 0.331493 +0.3296 0.331493 0.33528 0.33528 0.33528 0.322027 0.31824 0.322027 +0.333387 0.333387 0.327707 0.331493 0.35232 0.354213 0.333387 0.322027 +0.333387 0.34664 0.339067 0.325813 0.31824 0.327707 0.333387 0.331493 +0.34096 0.342853 0.339067 0.356107 0.382613 0.393973 0.40912 0.422373 +0.40912 0.40344 0.435627 0.500632 0.558105 0.707158 0.961684 1.08282 +1.05771 1.02539 1.02735 1.11478 1.33693 1.23651 1.04171 1.01233 +1.00841 1.01331 1.01265 1.01069 1.012 1.01265 1.01102 1.012 +1.01233 1.01494 1.01722 1.01396 1.01265 1.01396 1.01527 1.01429 +1.01298 1.01265 1.01331 1.01233 1.01102 1.00808 1.00971 1.01298 +1.01135 1.01102 1.01298 1.01331 1.01265 1.01037 1.00971 1.00939 +1.01069 1.012 1.01167 1.012 1.00939 1.0009 0.985551 0.959158 +0.944 0.945263 0.950316 0.968 0.986204 0.952842 0.775368 0.570105 +0.43184 0.316347 0.00096 0.0008 0.000753333 0.00074 0.000766667 0.000766667 +0.000746667 0.000733333 0.000726667 0.000713333 0.00072 0.000726667 0.000713333 0.0007 +0.000693333 0.0007 0.0007 0.000706667 0.0007 0.000726667 0.000706667 0.000666667 +0.00066 0.000666667 0.000693333 0.0007 0.000693333 0.000693333 0.00066 0.000633333 +0.000653333 0.00068 0.0007 0.000693333 0.0007 0.000726667 0.000706667 0.0007 +0.00068 0.000666667 0.000713333 0.000726667 0.00084 0.265227 0.31824 0.251973 +0.000853333 0.000766667 0.000793333 0.000786667 0.00078 0.000806667 0.000873333 0.000986667 +0.231147 0.23872 0.29552 0.528421 0.753263 0.958526 0.991102 0.971158 +0.950316 0.946526 0.947789 0.959158 0.974947 0.985878 1.00057 1.00939 +1.01037 1.00939 1.01004 1.01102 1.00971 1.00286 0.996 0.998286 +1.00482 1.00645 1.00841 1.01037 1.01265 1.01298 1.01461 1.01265 +1.01037 1.01037 1.01004 1.01167 1.01265 1.01331 1.01951 1.04139 +1.19542 1.29889 1.16956 1.05902 1.06152 1.05314 0.993388 0.805684 +0.618105 0.508842 0.416693 0.393973 0.365573 0.359893 0.361787 0.378827 +0.36936 0.348533 0.325813 0.322027 0.33528 0.34664 0.354213 0.365573 +0.35232 0.3296 0.31824 0.3012 0.30688 0.320133 0.322027 0.320133 +0.322027 0.33528 0.344747 0.359893 0.36936 0.35232 0.36368 0.382613 +0.371253 0.342853 0.333387 0.33528 0.350427 0.367467 0.358 0.337173 +0.350427 0.358 0.342853 0.337173 0.34096 0.344747 0.342853 0.339067 +0.35232 0.359893 0.36936 0.350427 0.339067 0.32392 0.35232 0.4432 +0.46592 0.39208 0.365573 0.365573 0.358 0.361787 0.371253 0.382613 +0.407227 0.42048 0.390187 0.35232 0.333387 0.333387 0.331493 0.34096 +0.367467 0.36368 0.34096 0.337173 0.348533 0.350427 0.3296 0.331493 +0.339067 0.361787 0.399653 0.428053 0.433733 0.36936 0.32392 0.31824 +0.32392 0.36368 0.39776 0.378827 0.36368 0.36368 0.38072 0.39776 +0.42048 0.4432 0.429947 0.390187 0.359893 0.358 0.358 0.358 +0.36368 0.36936 0.388293 0.40344 0.43184 0.510105 0.580842 0.668632 +0.732421 0.773474 0.800632 0.815158 0.847368 0.931368 0.997306 1.01429 +1.01853 1.02082 1.01951 1.00808 0.912421 0.683158 0.530947 0.473493 +0.44888 0.446987 0.435627 0.433733 0.456453 0.549263 0.665474 0.721684 +0.673684 0.568842 0.498107 0.422373 0.388293 0.36368 0.354213 0.36936 +0.38072 0.376933 0.384507 0.39776 0.407227 0.46592 0.504421 0.473493 +0.445093 0.42616 0.407227 0.38072 0.365573 0.38072 0.399653 0.467813 +0.515789 0.529053 0.520211 0.505053 0.508842 0.511368 0.48296 0.439413 +0.4432 0.452667 0.4432 0.435627 0.42616 0.435627 0.422373 0.4148 +0.42048 0.429947 0.539789 0.669895 0.778526 0.826526 0.859368 0.895368 +0.931368 0.969895 0.991102 1.00416 1.01167 1.01592 1.01788 1.02016 +1.02473 1.0231 1.02278 1.02702 1.02865 1.02637 1.02506 1.02604 +1.02996 1.03453 1.03486 1.03322 1.03551 1.03322 1.03159 1.03355 +1.03224 1.03322 1.03845 1.03747 1.03714 1.03649 1.03029 1.01527 +0.988816 0.836 0.614316 0.529684 0.536 0.536632 0.526526 0.507579 +0.4716 0.498107 0.502526 0.492427 0.47728 0.506947 0.527158 0.536 +0.538526 0.553053 0.563789 0.571368 0.632632 0.810737 0.990449 1.02963 +1.03388 1.0378 1.03649 1.02245 0.985224 0.865053 0.766526 0.727368 +0.708421 0.681895 0.638316 0.568211 0.503789 0.445093 0.458347 0.481067 +0.48296 0.48864 0.508211 0.532211 0.566947 0.623158 0.696421 0.747579 +0.764632 0.776632 0.791158 0.805684 0.821474 0.836632 0.839789 0.827158 +0.794947 0.743158 0.666105 0.586526 0.520211 0.441307 0.40344 0.40344 +0.401547 0.416693 0.48864 0.553684 0.661053 0.767158 0.798105 0.812 +0.839158 0.846737 0.833474 0.801895 0.749474 0.679368 0.611789 0.549263 +0.5 0.42048 0.373147 0.348533 0.36368 0.373147 0.384507 0.40344 +0.382613 0.339067 0.32392 0.316347 0.310667 0.304987 0.30688 0.310667 +0.31824 0.325813 0.32392 0.320133 0.325813 0.32392 0.32392 0.327707 +0.337173 0.333387 0.316347 0.31256 0.322027 0.33528 0.333387 0.325813 +0.3296 0.342853 0.333387 0.314453 0.322027 0.333387 0.325813 0.327707 +0.342853 0.344747 0.333387 0.333387 0.350427 0.376933 0.395867 0.4148 +0.42048 0.424267 0.452667 0.508211 0.576421 0.741895 0.988816 1.09348 +1.05086 1.02408 1.0342 1.15738 1.33998 1.18934 1.03518 1.01233 +1.01004 1.01331 1.01069 1.00939 1.01102 1.012 1.01167 1.01265 +1.01233 1.01363 1.01657 1.01559 1.01429 1.01461 1.01429 1.01167 +1.01069 1.01135 1.01135 1.01167 1.01135 1.01004 1.012 1.01559 +1.01331 1.01069 1.01167 1.01298 1.01298 1.01102 1.01102 1.01135 +1.01265 1.01298 1.01233 1.012 1.0071 0.995347 0.98 0.953474 +0.942105 0.945263 0.954105 0.974316 0.98751 0.932632 0.737474 0.546105 +0.40344 0.286053 0.000873333 0.00072 0.000713333 0.000753333 0.000786667 0.000786667 +0.00078 0.000746667 0.000746667 0.000726667 0.000733333 0.000733333 0.00074 0.000746667 +0.00074 0.00074 0.000753333 0.00072 0.000713333 0.000733333 0.000726667 0.0007 +0.00068 0.000666667 0.000693333 0.0007 0.000673333 0.000686667 0.000673333 0.00068 +0.000673333 0.000653333 0.000653333 0.000653333 0.000686667 0.000693333 0.00068 0.0007 +0.00068 0.00068 0.000706667 0.000713333 0.00088 0.291733 0.314453 0.219787 +0.000806667 0.000786667 0.000813333 0.00082 0.00082 0.00088 0.231147 0.274693 +0.282267 0.282267 0.304987 0.512632 0.727368 0.943368 0.989796 0.970526 +0.949684 0.945895 0.945895 0.957263 0.973053 0.986531 1.00024 1.00906 +1.01069 1.00906 1.01102 1.01167 1.01004 1.00547 0.999592 1.00155 +1.0058 1.00482 1.00808 1.01167 1.01298 1.01298 1.01167 1.00971 +1.01004 1.01004 1.01037 1.01069 1.00939 1.01004 1.01233 1.02669 +1.11326 1.27303 1.19694 1.06456 1.0538 1.04955 1.00155 0.834105 +0.638947 0.520842 0.435627 0.39208 0.359893 0.361787 0.359893 0.354213 +0.333387 0.316347 0.320133 0.339067 0.34664 0.356107 0.361787 0.35232 +0.337173 0.3296 0.3296 0.316347 0.31824 0.327707 0.3296 0.322027 +0.320133 0.31824 0.320133 0.33528 0.34664 0.339067 0.344747 0.361787 +0.35232 0.337173 0.33528 0.339067 0.348533 0.348533 0.337173 0.32392 +0.333387 0.327707 0.320133 0.33528 0.34664 0.339067 0.342853 0.354213 +0.367467 0.35232 0.356107 0.356107 0.356107 0.35232 0.399653 0.475387 +0.47728 0.4148 0.36936 0.358 0.358 0.365573 0.378827 0.378827 +0.382613 0.416693 0.42048 0.37504 0.34096 0.320133 0.320133 0.33528 +0.356107 0.359893 0.344747 0.337173 0.356107 0.365573 0.34664 0.33528 +0.325813 0.337173 0.371253 0.416693 0.44888 0.388293 0.327707 0.322027 +0.35232 0.399653 0.40912 0.382613 0.376933 0.376933 0.38072 0.382613 +0.40912 0.458347 0.462133 0.435627 0.412907 0.376933 0.361787 0.382613 +0.407227 0.418587 0.43752 0.492427 0.541053 0.616211 0.698947 0.760842 +0.791789 0.813263 0.827789 0.834105 0.870105 0.961684 1.00645 1.01298 +1.01559 1.01788 1.01331 0.986204 0.821474 0.606105 0.511368 0.4716 +0.43184 0.40912 0.3864 0.390187 0.45456 0.563789 0.671158 0.702737 +0.635789 0.540421 0.49432 0.446987 0.42048 0.38072 0.356107 0.376933 +0.37504 0.38072 0.405333 0.411013 0.42616 0.481067 0.505684 0.492427 +0.481067 0.458347 0.40344 0.37504 0.388293 0.40912 0.439413 0.502526 +0.540421 0.573895 0.556211 0.506947 0.422373 0.39208 0.373147 0.378827 +0.4148 0.4148 0.4148 0.43752 0.450773 0.429947 0.42048 0.418587 +0.43752 0.510737 0.615579 0.735579 0.807579 0.839158 0.863789 0.900421 +0.937053 0.98098 0.997959 1.00547 1.01298 1.01755 1.01984 1.02082 +1.02376 1.02049 1.02343 1.02833 1.02865 1.02735 1.02767 1.02833 +1.03257 1.03584 1.03453 1.03355 1.03649 1.03355 1.03061 1.03355 +1.03486 1.03355 1.0378 1.03812 1.0391 1.03714 1.03029 1.01951 +1.00057 0.909263 0.683789 0.551158 0.550526 0.554316 0.546737 0.536632 +0.513263 0.503158 0.504421 0.510105 0.513895 0.529053 0.527789 0.513895 +0.505053 0.517053 0.539789 0.546737 0.573895 0.740632 0.966737 1.03127 +1.04237 1.04335 1.04204 1.03714 1.01167 0.919368 0.810105 0.776632 +0.784211 0.807579 0.811368 0.741895 0.634526 0.553684 0.508842 0.48296 +0.492427 0.507579 0.526526 0.569474 0.616211 0.670526 0.717895 0.723579 +0.722947 0.758316 0.802526 0.840421 0.880842 0.919368 0.942105 0.948421 +0.942737 0.923158 0.868211 0.766526 0.634526 0.530947 0.44888 0.40344 +0.378827 0.36936 0.405333 0.490533 0.561263 0.623789 0.640842 0.678105 +0.74 0.781053 0.797474 0.803158 0.790526 0.745684 0.685684 0.630105 +0.577053 0.529684 0.4716 0.393973 0.359893 0.35232 0.365573 0.399653 +0.3864 0.339067 0.322027 0.331493 0.34096 0.32392 0.308773 0.316347 +0.333387 0.3296 0.31256 0.308773 0.31824 0.32392 0.333387 0.344747 +0.35232 0.339067 0.320133 0.310667 0.314453 0.32392 0.331493 0.339067 +0.34664 0.358 0.344747 0.32392 0.3296 0.33528 0.333387 0.344747 +0.36368 0.356107 0.339067 0.337173 0.356107 0.38072 0.39208 0.40344 +0.4148 0.441307 0.479173 0.516421 0.596 0.780421 1.00547 1.09348 +1.04596 1.02473 1.04073 1.20151 1.34302 1.14977 1.02996 1.01233 +1.01037 1.01233 1.00939 1.00808 1.01037 1.01298 1.01396 1.01494 +1.01265 1.01167 1.01363 1.01527 1.01494 1.01722 1.01429 1.01037 +1.01265 1.01298 1.01233 1.01135 1.01102 1.01069 1.01135 1.01396 +1.01429 1.012 1.01396 1.01396 1.01265 1.01102 1.01167 1.01233 +1.01135 1.01102 1.01102 1.00906 1.00351 0.990449 0.970526 0.950947 +0.942737 0.942737 0.956 0.981306 0.987837 0.904211 0.692 0.522105 +0.376933 0.259547 0.000826667 0.000713333 0.00074 0.00078 0.000766667 0.000766667 +0.000766667 0.000753333 0.00074 0.000713333 0.000726667 0.000726667 0.00074 0.000746667 +0.00072 0.000726667 0.000766667 0.000733333 0.00072 0.000753333 0.000753333 0.00076 +0.00074 0.000726667 0.000733333 0.000686667 0.000646667 0.000646667 0.00064 0.00066 +0.00066 0.00064 0.000626667 0.00062 0.000653333 0.00066 0.00066 0.000693333 +0.000713333 0.00074 0.00074 0.000733333 0.000913333 0.303093 0.320133 0.217893 +0.000826667 0.0008 0.000766667 0.000806667 0.000833333 0.000993333 0.28984 0.310667 +0.30688 0.325813 0.35232 0.505053 0.693263 0.921263 0.989143 0.974316 +0.953474 0.946526 0.945895 0.950947 0.965474 0.985224 0.998939 1.01004 +1.01233 1.00841 1.00873 1.00971 1.01004 1.00612 0.999592 1.0022 +1.00645 1.00482 1.0071 1.01069 1.01298 1.012 1.00939 1.00873 +1.00873 1.00906 1.01167 1.00906 1.00743 1.00906 1.00841 1.01592 +1.05053 1.20303 1.20455 1.07978 1.04857 1.04269 1.00482 0.856211 +0.662316 0.539158 0.469707 0.416693 0.390187 0.371253 0.350427 0.339067 +0.320133 0.316347 0.325813 0.3296 0.3296 0.34096 0.34664 0.331493 +0.325813 0.333387 0.339067 0.331493 0.32392 0.32392 0.320133 0.322027 +0.325813 0.322027 0.33528 0.344747 0.34096 0.33528 0.333387 0.33528 +0.327707 0.3296 0.3296 0.32392 0.325813 0.322027 0.325813 0.32392 +0.325813 0.31824 0.320133 0.3296 0.339067 0.33528 0.339067 0.356107 +0.36936 0.358 0.36936 0.376933 0.384507 0.393973 0.4432 0.464027 +0.445093 0.42048 0.376933 0.36368 0.365573 0.365573 0.36368 0.34664 +0.34664 0.3864 0.40344 0.37504 0.358 0.337173 0.327707 0.337173 +0.34664 0.356107 0.33528 0.325813 0.337173 0.348533 0.354213 0.348533 +0.331493 0.320133 0.331493 0.38072 0.43752 0.39776 0.34096 0.36936 +0.418587 0.439413 0.42048 0.388293 0.376933 0.388293 0.393973 0.388293 +0.4148 0.473493 0.509474 0.516421 0.503789 0.464027 0.4432 0.464027 +0.504421 0.528421 0.564421 0.618105 0.689474 0.762737 0.811368 0.834737 +0.847368 0.853053 0.850526 0.850526 0.889053 0.976211 1.00024 0.995347 +0.994041 0.991429 0.972421 0.881474 0.707789 0.551789 0.496213 0.464027 +0.43184 0.393973 0.371253 0.38072 0.486747 0.592211 0.680632 0.678737 +0.598526 0.512 0.45456 0.456453 0.456453 0.418587 0.390187 0.393973 +0.382613 0.382613 0.39208 0.399653 0.416693 0.452667 0.464027 0.481067 +0.503158 0.469707 0.43184 0.412907 0.424267 0.428053 0.43184 0.484853 +0.536632 0.575789 0.575158 0.529053 0.433733 0.37504 0.356107 0.36368 +0.40344 0.407227 0.407227 0.428053 0.4432 0.42048 0.42616 0.445093 +0.510737 0.589053 0.711579 0.794947 0.835368 0.852421 0.875158 0.914316 +0.950316 0.985551 1.00286 1.00776 1.01233 1.01722 1.02147 1.0218 +1.02212 1.02114 1.02441 1.028 1.02865 1.02767 1.03061 1.03127 +1.0329 1.03584 1.03518 1.03322 1.03616 1.0342 1.03192 1.0342 +1.03486 1.03453 1.03845 1.03714 1.03878 1.03682 1.03388 1.02571 +1.00678 0.962316 0.757684 0.579579 0.554316 0.551789 0.541053 0.553053 +0.547368 0.528421 0.530316 0.546105 0.544211 0.530316 0.503789 0.469707 +0.479173 0.505684 0.520842 0.513895 0.524632 0.662947 0.890316 1.01363 +1.04008 1.04596 1.04498 1.044 1.02865 0.968632 0.849895 0.815789 +0.842316 0.891579 0.928842 0.900421 0.825263 0.733053 0.636421 0.566316 +0.534105 0.527789 0.549895 0.597263 0.642105 0.678105 0.670526 0.618737 +0.600421 0.657263 0.753895 0.842947 0.908 0.953474 0.976211 0.982939 +0.989469 0.993061 0.982612 0.913053 0.784211 0.640211 0.534105 0.446987 +0.39776 0.39776 0.418587 0.456453 0.49432 0.492427 0.484853 0.519579 +0.570105 0.628211 0.673684 0.710316 0.732421 0.716 0.674316 0.638947 +0.603579 0.558737 0.515158 0.450773 0.382613 0.348533 0.350427 0.373147 +0.356107 0.32392 0.31256 0.325813 0.350427 0.34664 0.344747 0.371253 +0.3864 0.354213 0.327707 0.333387 0.344747 0.35232 0.373147 0.384507 +0.367467 0.34096 0.337173 0.34664 0.358 0.358 0.350427 0.361787 +0.361787 0.36368 0.359893 0.35232 0.354213 0.35232 0.356107 0.371253 +0.384507 0.3864 0.367467 0.36936 0.39776 0.411013 0.40912 0.412907 +0.416693 0.429947 0.475387 0.522105 0.616211 0.818947 1.01853 1.07978 +1.04171 1.02212 1.04041 1.2152 1.31563 1.09043 1.02245 1.012 +1.01102 1.01265 1.01102 1.01004 1.01135 1.01167 1.01102 1.01331 +1.01298 1.012 1.01331 1.01461 1.01527 1.01788 1.01559 1.01298 +1.01527 1.01429 1.01233 1.00906 1.01004 1.01135 1.01167 1.01331 +1.01461 1.01265 1.01461 1.01363 1.01135 1.01069 1.01167 1.01102 +1.00939 1.01037 1.01069 1.00873 1.00155 0.985224 0.962316 0.949053 +0.942105 0.941474 0.959158 0.984571 0.984898 0.868211 0.647789 0.503789 +0.365573 0.242507 0.000813333 0.000746667 0.000726667 0.000753333 0.000746667 0.000746667 +0.000753333 0.000746667 0.000746667 0.00074 0.000693333 0.000706667 0.000733333 0.000733333 +0.000686667 0.000673333 0.00072 0.000693333 0.0007 0.00072 0.00072 0.000746667 +0.000733333 0.00072 0.000726667 0.0007 0.00068 0.000653333 0.00066 0.0007 +0.000686667 0.000673333 0.000666667 0.00064 0.000653333 0.000653333 0.000666667 0.000686667 +0.0007 0.000733333 0.00074 0.00074 0.000926667 0.331493 0.37504 0.276587 +0.00096 0.000846667 0.000786667 0.000793333 0.000853333 0.25576 0.327707 0.3012 +0.2728 0.304987 0.37504 0.503789 0.662947 0.896632 0.989796 0.981633 +0.957263 0.947789 0.947789 0.950947 0.967368 0.985551 0.997959 1.00841 +1.01069 1.00678 1.00449 1.00678 1.01069 1.0071 0.998939 1.00024 +1.00678 1.00906 1.00808 1.00873 1.01004 1.00841 1.00808 1.00841 +1.00841 1.01004 1.01135 1.00939 1.00939 1.00971 1.0071 1.00906 +1.03257 1.12695 1.2076 1.12086 1.05282 1.04269 1.00841 0.877684 +0.690737 0.554947 0.469707 0.422373 0.405333 0.373147 0.35232 0.348533 +0.337173 0.333387 0.327707 0.322027 0.32392 0.325813 0.320133 0.314453 +0.325813 0.339067 0.34096 0.3296 0.314453 0.310667 0.310667 0.31824 +0.32392 0.327707 0.344747 0.339067 0.322027 0.331493 0.339067 0.337173 +0.331493 0.33528 0.333387 0.322027 0.31256 0.314453 0.314453 0.308773 +0.308773 0.316347 0.322027 0.320133 0.31824 0.327707 0.350427 0.359893 +0.354213 0.344747 0.358 0.37504 0.395867 0.407227 0.424267 0.412907 +0.401547 0.422373 0.411013 0.384507 0.365573 0.361787 0.34096 0.325813 +0.333387 0.350427 0.361787 0.354213 0.358 0.361787 0.354213 0.34096 +0.348533 0.367467 0.34096 0.314453 0.31256 0.322027 0.337173 0.342853 +0.342853 0.327707 0.33528 0.384507 0.452667 0.43184 0.39776 0.435627 +0.46024 0.428053 0.393973 0.382613 0.373147 0.36936 0.384507 0.42048 +0.5 0.546105 0.597263 0.621895 0.607368 0.596 0.596632 0.618737 +0.655368 0.699579 0.750737 0.799368 0.834737 0.862526 0.881474 0.890316 +0.890947 0.882105 0.872 0.869474 0.902947 0.962316 0.950316 0.904842 +0.893474 0.881474 0.831579 0.730526 0.606105 0.518947 0.464027 0.456453 +0.44888 0.4148 0.401547 0.42048 0.525895 0.634526 0.696421 0.65979 +0.584 0.509474 0.42048 0.4148 0.441307 0.446987 0.42048 0.399653 +0.39208 0.3864 0.384507 0.382613 0.42048 0.424267 0.428053 0.46024 +0.486747 0.4716 0.475387 0.475387 0.464027 0.4432 0.435627 0.445093 +0.496213 0.530316 0.546737 0.524 0.458347 0.4148 0.388293 0.405333 +0.439413 0.43752 0.42048 0.422373 0.424267 0.40912 0.429947 0.513895 +0.595368 0.714105 0.805684 0.841684 0.86 0.868211 0.890947 0.932 +0.966105 0.989796 1.00612 1.01102 1.01167 1.01853 1.02376 1.02278 +1.02278 1.02408 1.02506 1.02767 1.02865 1.028 1.03061 1.03257 +1.03257 1.03486 1.03551 1.03453 1.03649 1.03355 1.03388 1.03551 +1.03518 1.03551 1.0391 1.03584 1.0378 1.03812 1.0378 1.03192 +1.012 0.984245 0.815789 0.609263 0.553053 0.548 0.530316 0.542316 +0.559368 0.554316 0.56 0.559368 0.537263 0.508842 0.45456 0.439413 +0.469707 0.508842 0.517684 0.501895 0.503158 0.582737 0.763368 0.952842 +1.01559 1.03224 1.03845 1.03976 1.0329 0.994367 0.899158 0.866316 +0.909263 0.963579 0.984898 0.978105 0.957895 0.921895 0.852421 0.767158 +0.683158 0.624421 0.610526 0.628842 0.649053 0.652842 0.602947 0.530947 +0.501263 0.537263 0.654737 0.804421 0.914947 0.974316 0.989469 0.993388 +1.00057 1.00743 1.00122 0.973053 0.880211 0.744421 0.613053 0.525895 +0.464027 0.439413 0.422373 0.428053 0.43752 0.399653 0.371253 0.36936 +0.401547 0.475387 0.524 0.567579 0.613684 0.627579 0.609263 0.584632 +0.558737 0.525263 0.48296 0.42616 0.384507 0.344747 0.327707 0.3296 +0.325813 0.314453 0.308773 0.31256 0.3296 0.34096 0.361787 0.38072 +0.384507 0.359893 0.34664 0.358 0.358 0.354213 0.36936 0.376933 +0.36368 0.34664 0.350427 0.371253 0.37504 0.358 0.342853 0.344747 +0.34096 0.339067 0.350427 0.359893 0.371253 0.36368 0.358 0.37504 +0.390187 0.411013 0.422373 0.446987 0.484853 0.48296 0.452667 0.424267 +0.4148 0.424267 0.469707 0.527158 0.640842 0.863158 1.03029 1.05869 +1.03486 1.0182 1.03976 1.22281 1.27455 1.05347 1.01788 1.01331 +1.01102 1.01298 1.01265 1.01135 1.01167 1.01167 1.01037 1.012 +1.01429 1.01429 1.01298 1.01396 1.01494 1.01494 1.01429 1.01429 +1.01461 1.01396 1.01298 1.01037 1.01037 1.00939 1.01102 1.012 +1.01167 1.01102 1.012 1.01298 1.01233 1.01167 1.012 1.01167 +1.01102 1.01069 1.00939 1.00743 0.997633 0.979368 0.954737 0.945263 +0.942737 0.945263 0.962947 0.985878 0.974947 0.822737 0.602947 0.462133 +0.34096 0.219787 0.000773333 0.000726667 0.000726667 0.000753333 0.00076 0.000746667 +0.000753333 0.000753333 0.000726667 0.000733333 0.00072 0.000713333 0.0007 0.0007 +0.000686667 0.0007 0.000713333 0.000666667 0.000673333 0.000673333 0.000666667 0.0007 +0.000686667 0.00068 0.000693333 0.000686667 0.000673333 0.000653333 0.000693333 0.000713333 +0.0007 0.0007 0.000713333 0.000693333 0.00068 0.000673333 0.000693333 0.0007 +0.000693333 0.000713333 0.000706667 0.000746667 0.219787 0.367467 0.446987 0.388293 +0.287947 0.216 0.000886667 0.000813333 0.000906667 0.297413 0.34664 0.27848 +0.22736 0.257653 0.36936 0.502526 0.636421 0.868211 0.989143 0.986204 +0.958526 0.945263 0.944632 0.950316 0.969895 0.987837 0.999592 1.00808 +1.00873 1.00645 1.0058 1.00841 1.01167 1.00776 0.998939 0.997306 +1.00514 1.01004 1.00776 1.00841 1.00841 1.00612 1.00678 1.00743 +1.01004 1.01298 1.01135 1.01265 1.01167 1.00776 1.0071 1.00776 +1.01984 1.0551 1.17869 1.15586 1.06609 1.04629 1.01429 0.906105 +0.722947 0.570737 0.475387 0.40912 0.388293 0.36368 0.35232 0.361787 +0.36368 0.348533 0.33528 0.337173 0.333387 0.331493 0.327707 0.322027 +0.32392 0.331493 0.33528 0.327707 0.316347 0.308773 0.304987 0.30688 +0.314453 0.3296 0.33528 0.310667 0.3012 0.337173 0.35232 0.331493 +0.31824 0.31824 0.322027 0.325813 0.322027 0.316347 0.308773 0.31256 +0.31824 0.325813 0.3296 0.32392 0.31824 0.32392 0.33528 0.337173 +0.331493 0.33528 0.34096 0.354213 0.376933 0.39208 0.384507 0.373147 +0.371253 0.390187 0.395867 0.373147 0.356107 0.358 0.342853 0.339067 +0.327707 0.31256 0.314453 0.314453 0.34096 0.378827 0.38072 0.371253 +0.376933 0.39776 0.371253 0.33528 0.320133 0.32392 0.333387 0.327707 +0.33528 0.348533 0.38072 0.435627 0.47728 0.446987 0.42616 0.445093 +0.422373 0.376933 0.36368 0.373147 0.3864 0.401547 0.450773 0.519579 +0.599158 0.705895 0.790526 0.826526 0.818316 0.812 0.817684 0.837263 +0.860632 0.882105 0.894105 0.896 0.894737 0.890947 0.890316 0.890316 +0.882105 0.872 0.859368 0.839789 0.859368 0.890316 0.839158 0.767158 +0.749474 0.733053 0.679368 0.602316 0.532211 0.479173 0.439413 0.45456 +0.44888 0.412907 0.40344 0.458347 0.553684 0.644632 0.667368 0.628842 +0.583368 0.518947 0.40912 0.376933 0.405333 0.435627 0.428053 0.401547 +0.388293 0.3864 0.37504 0.393973 0.42616 0.428053 0.422373 0.439413 +0.462133 0.473493 0.48864 0.48296 0.464027 0.4432 0.44888 0.441307 +0.43184 0.481067 0.504421 0.4716 0.43184 0.456453 0.475387 0.486747 +0.481067 0.439413 0.4148 0.416693 0.416693 0.439413 0.523368 0.617474 +0.739368 0.834737 0.868211 0.872632 0.876421 0.882737 0.907368 0.946526 +0.979368 0.994694 1.00776 1.01135 1.01265 1.02049 1.02376 1.02245 +1.02408 1.02343 1.02408 1.02637 1.02735 1.02833 1.03029 1.0342 +1.0342 1.03388 1.03486 1.03649 1.03584 1.03159 1.03453 1.03649 +1.03714 1.03649 1.0378 1.03518 1.03584 1.03682 1.03682 1.03322 +1.01722 0.992735 0.858737 0.646526 0.570737 0.562526 0.532842 0.535368 +0.568211 0.573263 0.553684 0.521474 0.5 0.464027 0.446987 0.439413 +0.479173 0.518316 0.515158 0.481067 0.484853 0.528421 0.642105 0.822737 +0.949684 0.993061 1.00547 1.01135 1.01265 0.993714 0.933263 0.902316 +0.940211 0.986531 0.996 0.995347 0.997959 0.998286 0.992408 0.969895 +0.904842 0.816421 0.732421 0.685053 0.661053 0.625053 0.556842 0.464027 +0.356107 0.39208 0.559368 0.721053 0.865684 0.955368 0.990449 0.997633 +1.00253 1.01004 1.00678 0.985878 0.909895 0.796842 0.681263 0.584632 +0.517684 0.4432 0.407227 0.422373 0.435627 0.399653 0.36368 0.35232 +0.344747 0.348533 0.365573 0.418587 0.505053 0.524 0.529053 0.526526 +0.513895 0.47728 0.411013 0.371253 0.35232 0.331493 0.314453 0.310667 +0.320133 0.325813 0.322027 0.331493 0.344747 0.358 0.376933 0.37504 +0.361787 0.350427 0.34664 0.358 0.354213 0.339067 0.337173 0.342853 +0.344747 0.34664 0.339067 0.344747 0.35232 0.339067 0.322027 0.320133 +0.320133 0.32392 0.327707 0.331493 0.350427 0.359893 0.358 0.350427 +0.350427 0.37504 0.422373 0.4716 0.503789 0.501263 0.467813 0.435627 +0.42616 0.441307 0.48864 0.536632 0.66421 0.900421 1.04106 1.05706 +1.03061 1.01853 1.04661 1.24716 1.23803 1.04204 1.01429 1.01298 +1.01233 1.01461 1.01363 1.01135 1.012 1.01265 1.01233 1.012 +1.01265 1.01331 1.01331 1.01494 1.01429 1.01396 1.01559 1.01624 +1.01494 1.01429 1.01265 1.00971 1.00873 1.00776 1.01037 1.01265 +1.01298 1.012 1.01102 1.01298 1.01331 1.01135 1.01167 1.012 +1.012 1.01069 1.00873 1.00416 0.992408 0.973053 0.953474 0.945263 +0.945263 0.950316 0.971158 0.986857 0.942737 0.759579 0.561263 0.422373 +0.31256 0.00096 0.0008 0.000766667 0.00074 0.000733333 0.000753333 0.00074 +0.00076 0.00076 0.00072 0.0007 0.000713333 0.00072 0.000693333 0.000686667 +0.000673333 0.000706667 0.000726667 0.000706667 0.000726667 0.000706667 0.000686667 0.0007 +0.000673333 0.000653333 0.000653333 0.000653333 0.000666667 0.000653333 0.000686667 0.000686667 +0.00066 0.000653333 0.00066 0.0007 0.000693333 0.00068 0.00068 0.00068 +0.000713333 0.000746667 0.00076 0.000866667 0.2728 0.38072 0.452667 0.475387 +0.40344 0.31256 0.2444 0.0009 0.000973333 0.308773 0.327707 0.23872 +0.000913333 0.22736 0.34096 0.486747 0.609895 0.836 0.986857 0.989469 +0.962947 0.945263 0.942105 0.948421 0.965474 0.986857 0.999918 1.00808 +1.00743 1.00547 1.00776 1.00971 1.01102 1.00971 1.0022 0.997633 +1.00351 1.00873 1.00906 1.01004 1.00906 1.00808 1.00776 1.00547 +1.00808 1.00971 1.00906 1.01167 1.00971 1.0071 1.00808 1.0071 +1.01037 1.03322 1.11021 1.1513 1.07217 1.04629 1.0182 0.934526 +0.753263 0.587158 0.500632 0.4148 0.388293 0.373147 0.356107 0.359893 +0.36368 0.354213 0.35232 0.348533 0.34096 0.348533 0.348533 0.333387 +0.3296 0.325813 0.320133 0.314453 0.31824 0.31824 0.316347 0.308773 +0.314453 0.31256 0.30688 0.297413 0.31256 0.365573 0.384507 0.34664 +0.316347 0.304987 0.304987 0.31824 0.316347 0.308773 0.308773 0.320133 +0.3296 0.342853 0.350427 0.342853 0.342853 0.339067 0.325813 0.316347 +0.325813 0.342853 0.34664 0.350427 0.371253 0.376933 0.371253 0.365573 +0.354213 0.358 0.373147 0.359893 0.348533 0.35232 0.361787 0.348533 +0.325813 0.325813 0.3296 0.33528 0.35232 0.365573 0.37504 0.384507 +0.401547 0.441307 0.45456 0.43184 0.393973 0.365573 0.344747 0.32392 +0.331493 0.358 0.424267 0.498107 0.481067 0.412907 0.399653 0.4148 +0.40344 0.39208 0.38072 0.388293 0.44888 0.522737 0.574526 0.650316 +0.764 0.872 0.936421 0.961684 0.960421 0.957263 0.959158 0.957263 +0.952842 0.945263 0.928842 0.910526 0.894737 0.880211 0.868842 0.86 +0.847368 0.825895 0.789263 0.750105 0.755158 0.791789 0.760211 0.677474 +0.638316 0.610526 0.570105 0.527158 0.47728 0.445093 0.450773 0.452667 +0.428053 0.401547 0.412907 0.501263 0.566316 0.609263 0.590316 0.574526 +0.580211 0.539789 0.452667 0.382613 0.3864 0.416693 0.429947 0.429947 +0.4148 0.384507 0.382613 0.40344 0.42616 0.416693 0.43184 0.469707 +0.500632 0.504421 0.503789 0.500632 0.48864 0.475387 0.467813 0.446987 +0.439413 0.475387 0.502526 0.505053 0.503158 0.511368 0.510105 0.5 +0.4716 0.422373 0.395867 0.422373 0.490533 0.555579 0.655368 0.775368 +0.865684 0.899789 0.898526 0.886526 0.884632 0.894105 0.920632 0.954737 +0.984571 1.00057 1.00873 1.01233 1.01461 1.02016 1.02016 1.02212 +1.02441 1.01984 1.02506 1.02767 1.02669 1.03094 1.03029 1.03257 +1.03355 1.03322 1.03649 1.03812 1.03453 1.03127 1.03616 1.03518 +1.0378 1.03551 1.03584 1.03518 1.0378 1.03878 1.03551 1.03257 +1.02114 0.998939 0.889684 0.683158 0.593474 0.575789 0.545474 0.553053 +0.585895 0.573263 0.524 0.464027 0.439413 0.4432 0.458347 0.464027 +0.5 0.520842 0.508842 0.46592 0.496213 0.512 0.564421 0.692632 +0.812632 0.877684 0.911789 0.926947 0.932632 0.916842 0.875789 0.851158 +0.886526 0.955368 0.992408 1.00253 1.01037 1.0169 1.01886 1.01722 +1.0071 0.971789 0.863158 0.757053 0.685053 0.614947 0.532842 0.393973 +0.28984 0.325813 0.507579 0.625684 0.753263 0.848632 0.92821 0.984898 +1.00057 1.00678 1.00155 0.977474 0.901684 0.809474 0.714105 0.626316 +0.549263 0.484853 0.418587 0.43184 0.446987 0.416693 0.37504 0.358 +0.35232 0.348533 0.348533 0.36936 0.39208 0.39208 0.390187 0.4148 +0.433733 0.422373 0.38072 0.348533 0.327707 0.31824 0.308773 0.30688 +0.316347 0.33528 0.367467 0.405333 0.42616 0.422373 0.42048 0.40912 +0.39208 0.376933 0.359893 0.354213 0.350427 0.34096 0.339067 0.333387 +0.337173 0.348533 0.339067 0.339067 0.344747 0.33528 0.314453 0.314453 +0.320133 0.337173 0.34096 0.3296 0.331493 0.34664 0.350427 0.325813 +0.31824 0.33528 0.373147 0.407227 0.433733 0.435627 0.428053 0.428053 +0.429947 0.450773 0.501895 0.554316 0.704 0.938316 1.04759 1.05543 +1.02767 1.01951 1.05478 1.2639 1.18629 1.03322 1.01331 1.01298 +1.01265 1.01494 1.01331 1.00971 1.00971 1.01037 1.01233 1.01265 +1.01167 1.01298 1.01559 1.0169 1.01363 1.01298 1.01624 1.01559 +1.01363 1.01233 1.01102 1.00971 1.00971 1.01004 1.01135 1.012 +1.01233 1.01167 1.01135 1.01265 1.01298 1.01298 1.01233 1.01135 +1.01102 1.01102 1.00971 1.00057 0.983592 0.960421 0.950316 0.946526 +0.943368 0.956 0.982286 0.98751 0.901053 0.695158 0.531579 0.399653 +0.27848 0.000893333 0.000806667 0.000793333 0.00076 0.000733333 0.000753333 0.000766667 +0.000766667 0.00076 0.00074 0.000733333 0.000713333 0.000726667 0.00074 0.000733333 +0.000713333 0.000706667 0.0007 0.0007 0.000713333 0.000693333 0.000706667 0.000706667 +0.00068 0.000693333 0.000686667 0.000673333 0.000673333 0.00068 0.000693333 0.00068 +0.000693333 0.000673333 0.000646667 0.000673333 0.000666667 0.000673333 0.000673333 0.00066 +0.00068 0.000713333 0.000766667 0.00094 0.303093 0.34664 0.378827 0.45456 +0.473493 0.439413 0.35232 0.26712 0.25008 0.310667 0.316347 0.225467 +0.000866667 0.00096 0.31256 0.452667 0.579579 0.803158 0.981633 0.991429 +0.969263 0.947158 0.942105 0.947789 0.962947 0.984898 0.999592 1.00873 +1.0058 1.00416 1.00841 1.01069 1.01037 1.00939 1.00253 0.996 +1.00253 1.00841 1.01167 1.01331 1.01233 1.01233 1.00971 1.00678 +1.0071 1.00939 1.00808 1.00776 1.00841 1.0071 1.0058 1.00514 +1.00286 1.01069 1.04824 1.11934 1.08282 1.05053 1.02245 0.955368 +0.782316 0.604842 0.507579 0.422373 0.390187 0.376933 0.36368 0.354213 +0.354213 0.359893 0.359893 0.35232 0.358 0.361787 0.342853 0.32392 +0.327707 0.322027 0.31256 0.308773 0.308773 0.308773 0.310667 0.308773 +0.31256 0.30688 0.304987 0.31824 0.342853 0.371253 0.384507 0.361787 +0.339067 0.327707 0.31824 0.310667 0.299307 0.303093 0.31256 0.314453 +0.3296 0.350427 0.350427 0.342853 0.344747 0.34664 0.342853 0.339067 +0.342853 0.348533 0.34664 0.35232 0.367467 0.371253 0.38072 0.378827 +0.356107 0.344747 0.34664 0.34664 0.34096 0.34096 0.35232 0.34096 +0.325813 0.337173 0.356107 0.382613 0.384507 0.365573 0.36368 0.367467 +0.393973 0.467813 0.506316 0.514526 0.515158 0.486747 0.395867 0.348533 +0.350427 0.38072 0.469707 0.508842 0.450773 0.39208 0.407227 0.424267 +0.424267 0.433733 0.439413 0.502526 0.566316 0.645895 0.711579 0.770316 +0.822105 0.865684 0.911789 0.945263 0.959158 0.961053 0.956 0.946526 +0.937684 0.921263 0.898526 0.880211 0.861263 0.846105 0.837263 0.829684 +0.809474 0.769053 0.714105 0.673684 0.684421 0.743789 0.743158 0.649053 +0.577053 0.533474 0.503158 0.45456 0.40912 0.42616 0.44888 0.435627 +0.411013 0.405333 0.445093 0.519579 0.566316 0.566316 0.519579 0.520211 +0.568211 0.565053 0.506316 0.395867 0.3864 0.407227 0.439413 0.464027 +0.450773 0.42616 0.405333 0.407227 0.411013 0.416693 0.44888 0.501263 +0.505053 0.481067 0.48864 0.513263 0.530316 0.535368 0.525263 0.504421 +0.486747 0.505684 0.515789 0.522105 0.517053 0.515789 0.501263 0.4716 +0.452667 0.4432 0.490533 0.543579 0.621263 0.728632 0.820842 0.891579 +0.924421 0.931368 0.930105 0.904842 0.892211 0.899789 0.928842 0.958526 +0.985224 1.00612 1.01004 1.01559 1.01886 1.02212 1.02016 1.02114 +1.02245 1.02049 1.02767 1.02735 1.02637 1.03094 1.02963 1.03159 +1.03159 1.03094 1.03812 1.03747 1.03486 1.03322 1.0329 1.0342 +1.03845 1.03747 1.03584 1.03616 1.03943 1.03943 1.0342 1.03127 +1.02147 1.00318 0.914316 0.709684 0.596 0.578947 0.568211 0.578947 +0.586526 0.557474 0.505053 0.4432 0.441307 0.44888 0.475387 0.4716 +0.498107 0.513895 0.503158 0.47728 0.501263 0.501895 0.520211 0.596632 +0.685053 0.743158 0.784211 0.794947 0.794947 0.791158 0.759579 0.741263 +0.791158 0.881474 0.966105 0.999265 1.01429 1.02245 1.02571 1.02408 +1.02212 1.00841 0.957263 0.834737 0.723579 0.624421 0.531579 0.40344 +0.3296 0.378827 0.502526 0.573263 0.645895 0.687579 0.757684 0.870737 +0.957263 0.984571 0.971789 0.923158 0.856211 0.777895 0.703368 0.637053 +0.580842 0.534105 0.496213 0.450773 0.445093 0.42048 0.382613 0.373147 +0.38072 0.35232 0.33528 0.348533 0.361787 0.358 0.33528 0.344747 +0.384507 0.39776 0.365573 0.3296 0.308773 0.308773 0.303093 0.304987 +0.320133 0.33528 0.367467 0.401547 0.418587 0.439413 0.441307 0.411013 +0.384507 0.37504 0.359893 0.34096 0.342853 0.35232 0.350427 0.348533 +0.356107 0.348533 0.331493 0.327707 0.327707 0.327707 0.31824 0.325813 +0.337173 0.35232 0.35232 0.33528 0.331493 0.342853 0.34664 0.339067 +0.34096 0.342853 0.35232 0.36368 0.373147 0.384507 0.39208 0.40344 +0.412907 0.450773 0.506316 0.577684 0.752 0.979368 1.05118 1.04922 +1.02473 1.02473 1.09043 1.27303 1.12543 1.02604 1.01331 1.01363 +1.01233 1.01298 1.01298 1.01037 1.00939 1.00873 1.01135 1.012 +1.01135 1.01331 1.01527 1.01592 1.01331 1.01135 1.01363 1.01298 +1.01265 1.01135 1.01069 1.01069 1.01069 1.01037 1.01167 1.01069 +1.00971 1.012 1.01298 1.01233 1.01265 1.01331 1.01298 1.01037 +1.01037 1.01167 1.00841 0.994367 0.969895 0.949684 0.950316 0.949053 +0.944 0.961684 0.987184 0.981959 0.842316 0.626947 0.505053 0.36368 +0.229253 0.000813333 0.000786667 0.0008 0.0008 0.000786667 0.00076 0.00076 +0.000773333 0.000766667 0.000746667 0.000726667 0.000726667 0.000713333 0.00072 0.000746667 +0.00074 0.000733333 0.0007 0.000693333 0.000713333 0.000706667 0.000726667 0.000706667 +0.00068 0.000686667 0.00068 0.000693333 0.000686667 0.000673333 0.000653333 0.00066 +0.000713333 0.000693333 0.000693333 0.00068 0.00066 0.000686667 0.000673333 0.000673333 +0.000653333 0.000666667 0.000713333 0.000946667 0.303093 0.276587 0.25576 0.32392 +0.412907 0.479173 0.45456 0.378827 0.31824 0.337173 0.331493 0.234933 +0.000886667 0.000973333 0.320133 0.43752 0.551789 0.767789 0.966737 0.992735 +0.972421 0.946526 0.942105 0.945263 0.959789 0.981306 0.997959 1.01069 +1.00776 1.0058 1.00808 1.01037 1.01069 1.00939 1.00286 0.994041 +1.00024 1.00808 1.01233 1.01461 1.01396 1.01363 1.01167 1.01004 +1.00971 1.012 1.00841 1.00678 1.01069 1.00841 1.00514 1.0058 +0.999918 0.996327 1.01984 1.05478 1.07217 1.05314 1.02637 0.974947 +0.813895 0.628842 0.513895 0.418587 0.38072 0.371253 0.36368 0.348533 +0.358 0.365573 0.358 0.365573 0.376933 0.367467 0.356107 0.34096 +0.3296 0.325813 0.327707 0.314453 0.304987 0.30688 0.3012 0.293627 +0.3012 0.31256 0.31824 0.322027 0.33528 0.354213 0.36936 0.354213 +0.331493 0.3296 0.327707 0.314453 0.308773 0.303093 0.303093 0.316347 +0.34096 0.361787 0.359893 0.348533 0.337173 0.337173 0.34096 0.350427 +0.348533 0.342853 0.33528 0.34096 0.35232 0.367467 0.395867 0.393973 +0.359893 0.33528 0.337173 0.34096 0.342853 0.33528 0.333387 0.32392 +0.322027 0.325813 0.34664 0.382613 0.384507 0.358 0.354213 0.348533 +0.361787 0.412907 0.450773 0.498107 0.527789 0.542947 0.514526 0.43752 +0.39776 0.4432 0.503789 0.490533 0.407227 0.388293 0.428053 0.464027 +0.475387 0.502526 0.537895 0.610526 0.686947 0.722947 0.726105 0.720421 +0.721053 0.756421 0.825895 0.883368 0.908632 0.906105 0.888421 0.869474 +0.848632 0.818947 0.803158 0.803158 0.8 0.794316 0.791789 0.783579 +0.756421 0.710947 0.658526 0.635158 0.66421 0.730526 0.74 0.644 +0.558105 0.506316 0.435627 0.401547 0.390187 0.42616 0.464027 0.458347 +0.439413 0.433733 0.462133 0.520842 0.548632 0.530947 0.456453 0.475387 +0.551158 0.574526 0.523368 0.418587 0.388293 0.393973 0.42048 0.433733 +0.428053 0.43752 0.441307 0.428053 0.441307 0.464027 0.501263 0.513263 +0.498107 0.43184 0.429947 0.503789 0.534737 0.544842 0.542316 0.528421 +0.511368 0.512 0.515158 0.515789 0.508842 0.503789 0.486747 0.501895 +0.519579 0.567579 0.644 0.728 0.815789 0.884632 0.909263 0.919368 +0.928842 0.937053 0.942105 0.916211 0.896 0.905474 0.934526 0.959158 +0.986857 1.00971 1.01233 1.0169 1.02114 1.02376 1.0218 1.01886 +1.02016 1.02473 1.028 1.02767 1.02767 1.02833 1.02996 1.03257 +1.02996 1.03159 1.03747 1.03355 1.03551 1.03322 1.03094 1.03355 +1.0391 1.03845 1.03518 1.03714 1.03812 1.03649 1.03453 1.03224 +1.02147 1.00449 0.932632 0.726737 0.593474 0.582737 0.580211 0.572632 +0.567579 0.544211 0.479173 0.429947 0.4716 0.501895 0.503158 0.475387 +0.48864 0.509474 0.5 0.475387 0.496213 0.501263 0.504421 0.542316 +0.597263 0.637684 0.666105 0.671158 0.685684 0.714105 0.695789 0.659158 +0.678737 0.761474 0.872 0.970526 1.0058 1.02082 1.02506 1.02212 +1.01755 1.012 0.995347 0.924421 0.810105 0.690105 0.581474 0.514526 +0.479173 0.505684 0.536 0.584632 0.602947 0.571368 0.582105 0.671158 +0.776632 0.840421 0.849263 0.820211 0.771579 0.712842 0.659158 0.618105 +0.591579 0.568211 0.539158 0.508842 0.47728 0.424267 0.378827 0.36936 +0.388293 0.359893 0.33528 0.339067 0.350427 0.35232 0.339067 0.35232 +0.388293 0.388293 0.344747 0.310667 0.308773 0.32392 0.32392 0.31824 +0.33528 0.337173 0.337173 0.344747 0.344747 0.378827 0.39776 0.367467 +0.350427 0.359893 0.348533 0.337173 0.350427 0.36368 0.356107 0.359893 +0.371253 0.358 0.333387 0.32392 0.32392 0.31824 0.316347 0.325813 +0.34096 0.35232 0.34664 0.337173 0.344747 0.359893 0.361787 0.354213 +0.348533 0.350427 0.356107 0.361787 0.365573 0.38072 0.38072 0.38072 +0.405333 0.452667 0.506316 0.593474 0.794947 0.999918 1.05608 1.04465 +1.02245 1.03029 1.13152 1.25477 1.05869 1.01788 1.01102 1.01298 +1.01363 1.01461 1.01429 1.01265 1.012 1.00939 1.00841 1.01004 +1.01069 1.01331 1.01624 1.01592 1.01363 1.01331 1.01298 1.01102 +1.01004 1.01037 1.01037 1.00971 1.00939 1.01069 1.01429 1.01331 +1.01102 1.012 1.01298 1.01037 1.00971 1.01037 1.012 1.01167 +1.01102 1.01004 1.00416 0.988816 0.962947 0.945895 0.946526 0.945895 +0.946526 0.967368 0.98751 0.952211 0.772842 0.571368 0.44888 0.325813 +0.000986667 0.000833333 0.000793333 0.000773333 0.000793333 0.000786667 0.00076 0.00076 +0.000753333 0.000746667 0.000746667 0.000733333 0.00068 0.000653333 0.000686667 0.000693333 +0.000693333 0.00072 0.00072 0.00074 0.00074 0.000733333 0.000746667 0.00072 +0.000706667 0.0007 0.000706667 0.000706667 0.000686667 0.000686667 0.000693333 0.000693333 +0.0007 0.00068 0.0007 0.000706667 0.000693333 0.000706667 0.000693333 0.00068 +0.000653333 0.000673333 0.00072 0.219787 0.297413 0.236827 0.0009 0.000993333 +0.287947 0.39208 0.458347 0.439413 0.356107 0.342853 0.3296 0.229253 +0.000866667 0.00096 0.320133 0.401547 0.524 0.729263 0.947789 0.993714 +0.974947 0.948421 0.942737 0.944632 0.957263 0.979368 0.997959 1.01037 +1.00939 1.00906 1.00841 1.00906 1.01037 1.01037 1.00384 0.992735 +0.996653 1.00645 1.012 1.01429 1.01363 1.01298 1.01135 1.01004 +1.01102 1.01363 1.00873 1.00547 1.00873 1.00906 1.00808 1.00841 +1.00351 0.99502 0.999265 1.02833 1.04792 1.04629 1.02735 0.984245 +0.841053 0.661053 0.532842 0.42048 0.371253 0.373147 0.367467 0.356107 +0.365573 0.35232 0.354213 0.371253 0.36936 0.365573 0.371253 0.365573 +0.367467 0.365573 0.34096 0.331493 0.331493 0.320133 0.304987 0.299307 +0.304987 0.316347 0.31256 0.31256 0.322027 0.337173 0.348533 0.34664 +0.333387 0.31824 0.322027 0.327707 0.3296 0.32392 0.31824 0.3296 +0.359893 0.38072 0.371253 0.354213 0.348533 0.348533 0.34664 0.354213 +0.361787 0.356107 0.34096 0.34664 0.359893 0.36936 0.401547 0.405333 +0.365573 0.34664 0.35232 0.35232 0.350427 0.342853 0.33528 0.333387 +0.327707 0.3296 0.344747 0.358 0.359893 0.34664 0.339067 0.33528 +0.339067 0.35232 0.367467 0.38072 0.446987 0.523368 0.535368 0.520842 +0.511368 0.517684 0.506947 0.43752 0.39208 0.40344 0.456453 0.517684 +0.551789 0.597263 0.659158 0.708421 0.703368 0.657263 0.616842 0.601053 +0.617474 0.676842 0.758947 0.821474 0.840421 0.812632 0.765895 0.724211 +0.679368 0.644 0.652842 0.697053 0.723579 0.734947 0.742526 0.736842 +0.707158 0.663579 0.633263 0.642105 0.66421 0.688842 0.694526 0.630737 +0.556842 0.506947 0.439413 0.411013 0.4148 0.450773 0.481067 0.473493 +0.446987 0.424267 0.445093 0.510737 0.522105 0.496213 0.40912 0.441307 +0.532211 0.572632 0.547368 0.486747 0.401547 0.384507 0.39208 0.401547 +0.412907 0.433733 0.46592 0.475387 0.490533 0.515789 0.541053 0.548632 +0.523368 0.48864 0.464027 0.479173 0.5 0.501263 0.507579 0.513263 +0.514526 0.523368 0.530316 0.530316 0.519579 0.524 0.553684 0.616842 +0.689474 0.768421 0.841053 0.887158 0.92 0.926947 0.924421 0.919368 +0.921895 0.923158 0.925684 0.908 0.894105 0.910526 0.929474 0.959158 +0.989796 1.01069 1.01559 1.01886 1.0218 1.02049 1.02114 1.01886 +1.02082 1.02702 1.02702 1.03061 1.02996 1.02702 1.03127 1.03029 +1.02996 1.03453 1.03518 1.03159 1.03518 1.03388 1.0329 1.03453 +1.0378 1.03584 1.03518 1.03812 1.03714 1.0378 1.03453 1.03192 +1.02082 1.00253 0.933895 0.735579 0.591579 0.575789 0.570105 0.556211 +0.569474 0.558737 0.501895 0.462133 0.516421 0.536 0.527789 0.503789 +0.496213 0.501263 0.486747 0.467813 0.490533 0.506947 0.507579 0.518316 +0.542947 0.567579 0.582737 0.592211 0.637684 0.705263 0.706526 0.640842 +0.594737 0.626316 0.721684 0.842947 0.947158 0.992408 1.00286 1.00612 +1.0009 0.993714 0.98751 0.960421 0.891579 0.799368 0.700211 0.622526 +0.583368 0.581474 0.603579 0.629474 0.602316 0.535368 0.506947 0.530947 +0.583368 0.638947 0.675579 0.676211 0.649684 0.619368 0.591579 0.575158 +0.577684 0.580211 0.572632 0.553684 0.524632 0.484853 0.418587 0.384507 +0.388293 0.359893 0.337173 0.339067 0.34664 0.34096 0.333387 0.358 +0.399653 0.38072 0.32392 0.32392 0.34664 0.354213 0.34664 0.333387 +0.344747 0.333387 0.320133 0.320133 0.327707 0.348533 0.371253 0.348533 +0.337173 0.333387 0.325813 0.331493 0.344747 0.365573 0.3864 0.388293 +0.376933 0.371253 0.354213 0.339067 0.339067 0.325813 0.31824 0.32392 +0.327707 0.339067 0.358 0.354213 0.34096 0.35232 0.358 0.35232 +0.33528 0.356107 0.37504 0.373147 0.36936 0.38072 0.384507 0.382613 +0.40344 0.45456 0.512632 0.613053 0.827158 1.01167 1.0551 1.0391 +1.02245 1.03714 1.15738 1.20912 1.04563 1.01461 1.01004 1.01265 +1.01461 1.01363 1.01265 1.01265 1.01233 1.01102 1.01037 1.01069 +1.01102 1.012 1.01429 1.01396 1.01363 1.01331 1.01167 1.01102 +1.00971 1.01004 1.01102 1.01069 1.01135 1.01331 1.01429 1.01429 +1.01265 1.01102 1.01037 1.00939 1.00873 1.00939 1.012 1.01298 +1.01102 1.00645 0.995673 0.979368 0.956 0.943368 0.941474 0.942105 +0.949684 0.978737 0.985224 0.902316 0.701474 0.532842 0.399653 0.282267 +0.0009 0.00082 0.000793333 0.000753333 0.000753333 0.000766667 0.00076 0.000773333 +0.000773333 0.000773333 0.00078 0.000746667 0.000686667 0.000693333 0.000693333 0.000653333 +0.00064 0.00066 0.000666667 0.000693333 0.000693333 0.000686667 0.000713333 0.0007 +0.0007 0.0007 0.000713333 0.0007 0.000673333 0.000713333 0.00072 0.000733333 +0.000733333 0.000713333 0.000713333 0.000706667 0.000713333 0.000693333 0.000673333 0.000653333 +0.000646667 0.000666667 0.000753333 0.231147 0.29552 0.229253 0.00084 0.00084 +0.000966667 0.282267 0.373147 0.401547 0.344747 0.337173 0.327707 0.229253 +0.000853333 0.000966667 0.314453 0.358 0.48864 0.686947 0.92 0.993061 +0.98 0.950947 0.944632 0.947158 0.957263 0.981306 1.00057 1.01004 +1.01167 1.01265 1.01069 1.01037 1.01102 1.01069 1.00482 0.99502 +0.992082 1.00024 1.00971 1.01233 1.01167 1.01167 1.01037 1.00939 +1.01298 1.01396 1.01004 1.00645 1.00678 1.00841 1.0071 1.00678 +1.00351 0.996327 0.993714 1.0071 1.02669 1.03551 1.02702 0.994367 +0.875789 0.701474 0.561895 0.462133 0.395867 0.393973 0.371253 0.354213 +0.348533 0.34096 0.361787 0.367467 0.34664 0.350427 0.358 0.37504 +0.39776 0.3864 0.34664 0.359893 0.37504 0.344747 0.314453 0.320133 +0.331493 0.327707 0.325813 0.3296 0.331493 0.333387 0.331493 0.327707 +0.327707 0.31824 0.310667 0.322027 0.333387 0.342853 0.33528 0.339067 +0.378827 0.42048 0.405333 0.367467 0.358 0.359893 0.365573 0.376933 +0.401547 0.384507 0.365573 0.36936 0.376933 0.3864 0.405333 0.42048 +0.382613 0.354213 0.356107 0.348533 0.339067 0.331493 0.344747 0.367467 +0.358 0.342853 0.342853 0.356107 0.371253 0.35232 0.327707 0.325813 +0.344747 0.354213 0.350427 0.344747 0.356107 0.407227 0.48864 0.533474 +0.556842 0.549263 0.505053 0.42048 0.418587 0.473493 0.532842 0.599158 +0.679368 0.745684 0.759579 0.715368 0.640211 0.571368 0.536632 0.537895 +0.570105 0.635789 0.711579 0.752 0.732421 0.669263 0.605474 0.56 +0.523368 0.506947 0.540421 0.618737 0.674316 0.698316 0.704 0.693895 +0.664842 0.633895 0.638947 0.655368 0.626947 0.59979 0.623158 0.630105 +0.596632 0.537895 0.44888 0.40912 0.429947 0.441307 0.429947 0.446987 +0.45456 0.412907 0.424267 0.500632 0.509474 0.450773 0.39776 0.42048 +0.512 0.573263 0.582105 0.530316 0.445093 0.407227 0.4148 0.418587 +0.428053 0.446987 0.48296 0.49432 0.510737 0.548 0.583368 0.573263 +0.531579 0.505053 0.503158 0.479173 0.456453 0.45456 0.464027 0.486747 +0.509474 0.531579 0.544842 0.541053 0.566316 0.638316 0.736842 0.830947 +0.888421 0.919368 0.935158 0.932632 0.933263 0.929474 0.932 0.925053 +0.92379 0.919368 0.911789 0.901053 0.902316 0.918737 0.923158 0.957263 +0.990449 1.00776 1.01755 1.02147 1.02278 1.02147 1.02245 1.02114 +1.02114 1.02571 1.02571 1.03127 1.02931 1.02702 1.03159 1.02898 +1.03159 1.03682 1.0342 1.0342 1.03616 1.03486 1.03453 1.03649 +1.03518 1.03355 1.03551 1.03584 1.03551 1.0378 1.03453 1.02931 +1.02049 1.00057 0.926316 0.738737 0.594737 0.571368 0.56 0.555579 +0.592842 0.601684 0.554316 0.536632 0.550526 0.563158 0.541684 0.511368 +0.496213 0.481067 0.475387 0.464027 0.481067 0.5 0.49432 0.501895 +0.511368 0.525895 0.538526 0.574526 0.655368 0.734947 0.731789 0.656 +0.576421 0.552421 0.584 0.657263 0.755789 0.846737 0.909263 0.949053 +0.961684 0.954105 0.940842 0.901053 0.835368 0.773474 0.717895 0.672421 +0.641474 0.634526 0.644 0.637053 0.587789 0.533474 0.510737 0.506316 +0.509474 0.528421 0.557474 0.568211 0.549895 0.527158 0.515789 0.516421 +0.536 0.560632 0.585263 0.597263 0.573263 0.539158 0.512 0.45456 +0.40912 0.36936 0.34664 0.348533 0.34096 0.3296 0.331493 0.365573 +0.411013 0.388293 0.348533 0.376933 0.393973 0.359893 0.33528 0.327707 +0.333387 0.32392 0.325813 0.331493 0.325813 0.339067 0.36368 0.342853 +0.3296 0.3296 0.32392 0.322027 0.33528 0.371253 0.4148 0.411013 +0.376933 0.36368 0.356107 0.350427 0.361787 0.344747 0.325813 0.316347 +0.310667 0.33528 0.37504 0.36368 0.3296 0.327707 0.337173 0.34096 +0.34096 0.373147 0.39208 0.38072 0.37504 0.3864 0.401547 0.40344 +0.412907 0.452667 0.522737 0.639579 0.851789 1.01363 1.04596 1.0342 +1.02669 1.0489 1.19086 1.14825 1.03094 1.01167 1.01037 1.01167 +1.01461 1.01265 1.01135 1.012 1.01233 1.01069 1.01167 1.01167 +1.01069 1.01135 1.01167 1.012 1.01592 1.01331 1.01004 1.012 +1.01102 1.01069 1.01135 1.01167 1.01331 1.012 1.00939 1.01135 +1.01298 1.01167 1.01135 1.01037 1.00906 1.00873 1.01037 1.01135 +1.00906 1.00155 0.986204 0.964842 0.954737 0.948421 0.943368 0.944632 +0.959158 0.984898 0.974947 0.833474 0.624421 0.49432 0.348533 0.231147 +0.000846667 0.00082 0.000826667 0.000793333 0.000766667 0.000766667 0.000746667 0.000786667 +0.000793333 0.000766667 0.000766667 0.000726667 0.00072 0.00072 0.000733333 0.000713333 +0.000726667 0.00072 0.000693333 0.000686667 0.000706667 0.000706667 0.0007 0.000673333 +0.00068 0.000673333 0.00068 0.000666667 0.000686667 0.000706667 0.000693333 0.000713333 +0.000726667 0.00072 0.000713333 0.0007 0.000713333 0.000706667 0.000693333 0.000673333 +0.000666667 0.0007 0.000753333 0.223573 0.293627 0.23872 0.00084 0.000806667 +0.000873333 0.22168 0.270907 0.28984 0.27848 0.31256 0.325813 0.240613 +0.00088 0.23304 0.333387 0.333387 0.418587 0.645895 0.889053 0.991102 +0.982939 0.953474 0.946526 0.948421 0.951579 0.977474 0.998286 1.00841 +1.01167 1.01233 1.01135 1.01037 1.01331 1.01167 1.00743 1.0009 +0.990122 0.993061 1.00678 1.01233 1.01298 1.01167 1.00971 1.00841 +1.01167 1.01363 1.01167 1.00906 1.00808 1.00873 1.0071 1.00645 +1.0022 0.998286 0.994367 0.992735 1.00514 1.02016 1.02114 1.00188 +0.911789 0.746316 0.597263 0.509474 0.439413 0.42616 0.395867 0.358 +0.350427 0.35232 0.365573 0.365573 0.342853 0.331493 0.3296 0.36368 +0.399653 0.39776 0.371253 0.393973 0.401547 0.354213 0.325813 0.337173 +0.344747 0.333387 0.33528 0.342853 0.337173 0.34096 0.33528 0.331493 +0.33528 0.331493 0.314453 0.314453 0.331493 0.358 0.342853 0.333387 +0.378827 0.422373 0.40344 0.36368 0.344747 0.348533 0.36368 0.376933 +0.433733 0.439413 0.407227 0.407227 0.418587 0.405333 0.40344 0.428053 +0.4148 0.388293 0.365573 0.34096 0.31256 0.308773 0.3296 0.371253 +0.376933 0.348533 0.3296 0.35232 0.36936 0.34096 0.320133 0.3296 +0.354213 0.359893 0.337173 0.337173 0.35232 0.36368 0.40344 0.503158 +0.548 0.561263 0.522737 0.475387 0.505684 0.567579 0.650947 0.74 +0.817053 0.834105 0.773474 0.684421 0.598526 0.535368 0.513895 0.525895 +0.567579 0.633895 0.679368 0.662947 0.602316 0.546105 0.512632 0.467813 +0.405333 0.39208 0.506316 0.595368 0.661684 0.688842 0.686316 0.66421 +0.640842 0.637053 0.666105 0.637684 0.559368 0.521474 0.561263 0.633895 +0.679368 0.631368 0.518316 0.42048 0.435627 0.433733 0.40912 0.441307 +0.475387 0.428053 0.4148 0.484853 0.506316 0.456453 0.411013 0.416693 +0.49432 0.563789 0.601053 0.560632 0.484853 0.42048 0.416693 0.411013 +0.407227 0.42616 0.44888 0.45456 0.513263 0.575789 0.608 0.568842 +0.515158 0.481067 0.481067 0.44888 0.428053 0.433733 0.446987 0.481067 +0.507579 0.537895 0.556842 0.597263 0.712842 0.841684 0.930737 0.974316 +0.980327 0.974316 0.959789 0.944 0.943368 0.944632 0.944632 0.942105 +0.944632 0.935789 0.92379 0.913053 0.917474 0.925684 0.929474 0.961684 +0.990776 1.00645 1.01951 1.02114 1.01951 1.02147 1.02376 1.02278 +1.02147 1.02376 1.02833 1.03127 1.02767 1.02669 1.03029 1.02865 +1.03453 1.03486 1.03355 1.03584 1.03453 1.03714 1.03714 1.03649 +1.03257 1.0329 1.03486 1.03453 1.0378 1.03943 1.03486 1.02604 +1.0169 0.996327 0.911789 0.734316 0.596 0.558737 0.545474 0.557474 +0.619368 0.661684 0.626947 0.577053 0.552421 0.556842 0.537263 0.513263 +0.503789 0.479173 0.462133 0.450773 0.458347 0.467813 0.46024 0.479173 +0.492427 0.512 0.540421 0.607368 0.694526 0.738737 0.717895 0.65979 +0.590947 0.546105 0.525895 0.527789 0.570737 0.650316 0.733053 0.810105 +0.873263 0.902947 0.895368 0.836632 0.745053 0.664842 0.606737 0.577684 +0.575789 0.585263 0.587789 0.569474 0.536632 0.512 0.508842 0.513263 +0.507579 0.503158 0.510737 0.525895 0.518947 0.481067 0.435627 0.429947 +0.46592 0.517053 0.559368 0.59979 0.604211 0.588421 0.571368 0.539158 +0.505684 0.4432 0.378827 0.34664 0.325813 0.310667 0.322027 0.373147 +0.416693 0.39208 0.371253 0.39776 0.388293 0.333387 0.31824 0.3296 +0.32392 0.314453 0.331493 0.333387 0.316347 0.32392 0.348533 0.339067 +0.337173 0.33528 0.322027 0.320133 0.337173 0.378827 0.429947 0.416693 +0.36936 0.34096 0.33528 0.339067 0.350427 0.34096 0.33528 0.33528 +0.333387 0.354213 0.3864 0.359893 0.327707 0.322027 0.333387 0.34664 +0.35232 0.373147 0.39208 0.376933 0.361787 0.371253 0.401547 0.416693 +0.428053 0.462133 0.532211 0.665474 0.879579 1.01657 1.03878 1.02865 +1.02767 1.05804 1.20303 1.08435 1.02049 1.01037 1.01233 1.01298 +1.01331 1.01069 1.01102 1.01135 1.01004 1.00873 1.01135 1.01331 +1.01429 1.01494 1.01298 1.012 1.01298 1.01004 1.00971 1.01135 +1.01102 1.01037 1.01037 1.01102 1.01298 1.01102 1.00841 1.01037 +1.01167 1.01265 1.01135 1.00939 1.00873 1.00971 1.01037 1.00906 +1.00514 0.99502 0.976842 0.956632 0.953474 0.947158 0.940842 0.949053 +0.974947 0.987837 0.935158 0.744421 0.556211 0.428053 0.31824 0.000986667 +0.000853333 0.000826667 0.000806667 0.000793333 0.000773333 0.000773333 0.000746667 0.00076 +0.00076 0.000733333 0.000753333 0.00076 0.000713333 0.000706667 0.000693333 0.000706667 +0.00074 0.000746667 0.00072 0.00072 0.000713333 0.000726667 0.00072 0.000713333 +0.000706667 0.0007 0.000713333 0.000666667 0.000673333 0.00068 0.000673333 0.000673333 +0.000666667 0.00068 0.00066 0.000666667 0.000673333 0.000673333 0.000666667 0.00066 +0.000673333 0.000686667 0.00072 0.000993333 0.287947 0.26144 0.000933333 0.000833333 +0.000826667 0.00088 0.00094 0.000966667 0.219787 0.282267 0.310667 0.22736 +0.000893333 0.25576 0.34664 0.314453 0.36368 0.605474 0.852421 0.988816 +0.98751 0.960421 0.948421 0.945895 0.949053 0.971789 0.994367 1.0058 +1.00873 1.00971 1.01037 1.01069 1.01363 1.01037 1.00808 1.00318 +0.990449 0.990449 1.00547 1.01396 1.01461 1.01298 1.01298 1.01069 +1.01135 1.01265 1.01037 1.00971 1.00906 1.00906 1.00841 1.00678 +1.00188 0.999265 0.993714 0.986531 0.989796 1.0022 1.00776 0.998612 +0.940211 0.794316 0.635158 0.530316 0.469707 0.43184 0.40912 0.39208 +0.39208 0.38072 0.3864 0.390187 0.350427 0.320133 0.314453 0.33528 +0.365573 0.376933 0.36936 0.384507 0.38072 0.344747 0.34096 0.35232 +0.35232 0.333387 0.333387 0.337173 0.337173 0.34664 0.348533 0.354213 +0.361787 0.350427 0.333387 0.3296 0.34096 0.354213 0.342853 0.350427 +0.37504 0.378827 0.356107 0.339067 0.337173 0.3296 0.337173 0.371253 +0.445093 0.492427 0.458347 0.441307 0.45456 0.422373 0.388293 0.401547 +0.42616 0.429947 0.388293 0.33528 0.310667 0.314453 0.31824 0.333387 +0.354213 0.359893 0.361787 0.371253 0.359893 0.33528 0.32392 0.331493 +0.35232 0.35232 0.33528 0.339067 0.367467 0.388293 0.407227 0.435627 +0.506316 0.546105 0.561895 0.564421 0.608632 0.705895 0.803789 0.868842 +0.885895 0.845474 0.764 0.682526 0.605474 0.554316 0.547368 0.573263 +0.635789 0.684421 0.654105 0.575789 0.515789 0.486747 0.456453 0.416693 +0.365573 0.361787 0.5 0.592211 0.661684 0.686316 0.680632 0.661053 +0.646526 0.666737 0.698947 0.614947 0.503789 0.401547 0.479173 0.583368 +0.719158 0.747579 0.593474 0.484853 0.452667 0.433733 0.424267 0.446987 +0.49432 0.479173 0.445093 0.503789 0.513263 0.4716 0.422373 0.407227 +0.4432 0.534105 0.587158 0.570737 0.508842 0.42616 0.405333 0.418587 +0.42048 0.4148 0.418587 0.433733 0.506316 0.551158 0.571368 0.548632 +0.519579 0.49432 0.46024 0.424267 0.412907 0.429947 0.456453 0.501895 +0.524 0.566316 0.636421 0.765263 0.916211 0.989143 1.00384 1.0071 +1.00384 0.994694 0.974316 0.955368 0.958526 0.955368 0.949053 0.954105 +0.962316 0.961684 0.959158 0.950316 0.945895 0.947158 0.954737 0.973684 +0.992408 1.00547 1.01886 1.02016 1.02114 1.02637 1.02376 1.0218 +1.02147 1.02473 1.02996 1.03127 1.02865 1.02931 1.02963 1.02996 +1.0342 1.03061 1.03322 1.03518 1.03453 1.03812 1.03453 1.03224 +1.03224 1.03388 1.03322 1.0342 1.03976 1.0378 1.03061 1.0218 +1.01298 0.989796 0.889053 0.716632 0.586526 0.542947 0.532842 0.566947 +0.664842 0.741263 0.696421 0.602947 0.544211 0.539158 0.530947 0.514526 +0.503158 0.464027 0.439413 0.433733 0.452667 0.4716 0.469707 0.4716 +0.492427 0.527789 0.578316 0.642105 0.671158 0.663579 0.652211 0.636421 +0.594737 0.553053 0.512 0.467813 0.5 0.535368 0.590947 0.671789 +0.770316 0.841053 0.848 0.806316 0.728632 0.637053 0.553684 0.506316 +0.5 0.509474 0.510737 0.500632 0.452667 0.424267 0.44888 0.501895 +0.512 0.504421 0.481067 0.496213 0.5 0.475387 0.456453 0.44888 +0.44888 0.48296 0.524632 0.565684 0.594737 0.608 0.609263 0.592842 +0.567579 0.531579 0.46024 0.367467 0.327707 0.31256 0.31824 0.348533 +0.373147 0.38072 0.40344 0.40912 0.36368 0.320133 0.322027 0.325813 +0.31824 0.310667 0.327707 0.342853 0.33528 0.33528 0.333387 0.325813 +0.327707 0.325813 0.320133 0.322027 0.34664 0.405333 0.445093 0.416693 +0.36368 0.331493 0.3296 0.327707 0.3296 0.333387 0.344747 0.358 +0.36368 0.376933 0.395867 0.373147 0.344747 0.342853 0.358 0.365573 +0.354213 0.354213 0.359893 0.356107 0.354213 0.36368 0.401547 0.43184 +0.446987 0.479173 0.544842 0.692 0.904842 1.01951 1.03355 1.02343 +1.02963 1.095 1.19847 1.05216 1.01461 1.01037 1.01167 1.01135 +1.012 1.00939 1.01004 1.01004 1.00939 1.01037 1.01265 1.01461 +1.01461 1.01494 1.01167 1.00678 1.00514 1.0058 1.00873 1.012 +1.012 1.01069 1.01037 1.01037 1.01037 1.01037 1.00971 1.01037 +1.01167 1.01167 1.01069 1.01069 1.00971 1.00939 1.01037 1.00808 +0.999592 0.985224 0.961053 0.949684 0.949684 0.944 0.942737 0.960421 +0.985878 0.983265 0.870105 0.658526 0.513895 0.39776 0.282267 0.00092 +0.00084 0.000806667 0.000766667 0.000766667 0.000766667 0.00078 0.00078 0.000773333 +0.00078 0.00074 0.000726667 0.00076 0.000693333 0.000713333 0.00072 0.000713333 +0.00072 0.000693333 0.000706667 0.00072 0.000706667 0.00072 0.000706667 0.000713333 +0.0007 0.000693333 0.00072 0.0007 0.000693333 0.0007 0.000713333 0.000726667 +0.0007 0.000686667 0.00066 0.000686667 0.00068 0.000666667 0.000626667 0.000613333 +0.000646667 0.000633333 0.000666667 0.00088 0.26712 0.26712 0.000966667 0.000846667 +0.000793333 0.000786667 0.00082 0.000893333 0.217893 0.28984 0.316347 0.23304 +0.000953333 0.280373 0.342853 0.28984 0.32392 0.566947 0.808842 0.982286 +0.990776 0.965474 0.947789 0.943368 0.948421 0.967368 0.991429 1.00351 +1.00743 1.00906 1.01004 1.01167 1.01167 1.00906 1.00678 1.00253 +0.992735 0.988816 1.0022 1.012 1.01363 1.01396 1.01494 1.01396 +1.01396 1.01265 1.01004 1.01265 1.01135 1.00906 1.00873 1.00678 +1.00416 1.00024 0.993061 0.983265 0.975579 0.985551 0.992735 0.991429 +0.959158 0.836 0.672421 0.557474 0.502526 0.43184 0.416693 0.42048 +0.422373 0.424267 0.429947 0.40912 0.354213 0.331493 0.3296 0.34664 +0.358 0.365573 0.367467 0.382613 0.382613 0.354213 0.344747 0.34664 +0.358 0.34096 0.322027 0.310667 0.314453 0.339067 0.384507 0.40912 +0.373147 0.342853 0.339067 0.34096 0.361787 0.359893 0.356107 0.38072 +0.39208 0.378827 0.354213 0.3296 0.325813 0.331493 0.350427 0.373147 +0.405333 0.464027 0.46024 0.418587 0.42048 0.40344 0.371253 0.367467 +0.40912 0.446987 0.412907 0.350427 0.342853 0.34664 0.339067 0.33528 +0.34664 0.376933 0.4148 0.433733 0.382613 0.337173 0.322027 0.33528 +0.365573 0.354213 0.342853 0.354213 0.382613 0.40344 0.40912 0.399653 +0.418587 0.502526 0.569474 0.656632 0.748842 0.842947 0.916211 0.939579 +0.908 0.843579 0.775368 0.716 0.663579 0.634526 0.638947 0.674316 +0.724842 0.697684 0.589684 0.507579 0.441307 0.429947 0.42048 0.382613 +0.337173 0.354213 0.5 0.589053 0.65979 0.689474 0.689474 0.674947 +0.65979 0.690737 0.733053 0.605474 0.384507 0.2728 0.30688 0.5 +0.666737 0.781684 0.640211 0.504421 0.435627 0.40344 0.40344 0.412907 +0.48296 0.513263 0.501263 0.502526 0.498107 0.439413 0.40912 0.407227 +0.428053 0.511368 0.561895 0.577684 0.534105 0.469707 0.43184 0.456453 +0.44888 0.424267 0.42048 0.428053 0.45456 0.49432 0.509474 0.514526 +0.512 0.500632 0.473493 0.43752 0.43184 0.445093 0.4716 0.515158 +0.564421 0.650316 0.788632 0.941474 1.00645 1.01429 1.01886 1.01984 +1.01494 1.00482 0.982612 0.962947 0.957895 0.945895 0.936421 0.942737 +0.956632 0.963579 0.977474 0.98098 0.978737 0.982612 0.982612 0.984245 +0.994367 1.00449 1.01559 1.0182 1.02637 1.03029 1.02408 1.0231 +1.02441 1.02669 1.03029 1.03094 1.03061 1.02996 1.02931 1.03061 +1.03159 1.02833 1.03322 1.0329 1.0342 1.03616 1.03127 1.03192 +1.03551 1.03584 1.0342 1.03518 1.03812 1.03322 1.02833 1.01984 +1.00808 0.980327 0.861263 0.696421 0.582737 0.537263 0.524632 0.575789 +0.716632 0.810105 0.746316 0.628842 0.550526 0.530316 0.523368 0.506316 +0.47728 0.45456 0.445093 0.458347 0.475387 0.481067 0.467813 0.475387 +0.510105 0.553684 0.609263 0.626947 0.580211 0.546737 0.561895 0.585263 +0.574526 0.552421 0.522105 0.484853 0.469707 0.503789 0.538526 0.592211 +0.662947 0.743158 0.779789 0.774105 0.729895 0.650947 0.568211 0.510105 +0.446987 0.412907 0.411013 0.407227 0.3864 0.37504 0.39208 0.433733 +0.486747 0.502526 0.496213 0.4716 0.433733 0.416693 0.428053 0.4716 +0.506316 0.517684 0.522737 0.529684 0.542947 0.573895 0.59979 0.614316 +0.617474 0.596 0.545474 0.484853 0.390187 0.342853 0.348533 0.356107 +0.350427 0.393973 0.433733 0.401547 0.359893 0.34096 0.3296 0.322027 +0.320133 0.31824 0.33528 0.376933 0.39208 0.378827 0.348533 0.325813 +0.320133 0.31824 0.33528 0.348533 0.382613 0.43184 0.43184 0.384507 +0.35232 0.337173 0.337173 0.327707 0.327707 0.333387 0.3296 0.331493 +0.350427 0.378827 0.4148 0.418587 0.395867 0.384507 0.384507 0.37504 +0.356107 0.350427 0.348533 0.354213 0.367467 0.376933 0.39776 0.42048 +0.43752 0.484853 0.561263 0.723579 0.929474 1.01984 1.02963 1.02506 +1.04008 1.14521 1.15586 1.03388 1.00808 1.01069 1.01069 1.00873 +1.01069 1.00971 1.00971 1.01037 1.01069 1.01167 1.012 1.01298 +1.012 1.012 1.00939 1.00384 1.00384 1.00482 1.0071 1.01102 +1.01069 1.01004 1.00971 1.01004 1.01037 1.01004 1.00808 1.01004 +1.01298 1.01102 1.00971 1.01265 1.01135 1.00906 1.00906 1.0058 +0.993061 0.974316 0.952842 0.948421 0.950947 0.947158 0.950316 0.974947 +0.990776 0.949684 0.776 0.578947 0.452667 0.344747 0.231147 0.000866667 +0.00084 0.00082 0.000813333 0.000806667 0.000793333 0.000766667 0.000753333 0.00074 +0.00076 0.00074 0.000713333 0.00074 0.000673333 0.000693333 0.00072 0.00072 +0.000733333 0.000706667 0.000706667 0.000713333 0.000713333 0.000713333 0.000693333 0.000693333 +0.000706667 0.0007 0.000686667 0.00066 0.000693333 0.000693333 0.000706667 0.000706667 +0.00072 0.000706667 0.000706667 0.000726667 0.0007 0.0007 0.000686667 0.000686667 +0.000673333 0.000653333 0.00066 0.000786667 0.231147 0.251973 0.223573 0.000886667 +0.000813333 0.0008 0.0008 0.00088 0.22168 0.291733 0.299307 0.22736 +0.223573 0.30688 0.333387 0.26144 0.293627 0.533474 0.762737 0.966105 +0.993061 0.971158 0.950947 0.945895 0.946526 0.960421 0.98751 1.00155 +1.00841 1.01004 1.01069 1.01135 1.01004 1.00906 1.0071 1.00449 +0.996327 0.988816 0.998286 1.00906 1.01265 1.01363 1.01265 1.01396 +1.01396 1.01135 1.01037 1.01265 1.012 1.00939 1.00743 1.00678 +1.00547 1.0022 0.996653 0.982939 0.964842 0.974947 0.983265 0.984571 +0.964842 0.863158 0.705263 0.578947 0.504421 0.42048 0.411013 0.411013 +0.416693 0.43752 0.435627 0.422373 0.3864 0.36368 0.36368 0.373147 +0.371253 0.38072 0.40344 0.40912 0.399653 0.390187 0.373147 0.358 +0.376933 0.359893 0.325813 0.308773 0.316347 0.371253 0.500632 0.510105 +0.412907 0.344747 0.3296 0.331493 0.365573 0.37504 0.361787 0.38072 +0.39776 0.401547 0.378827 0.359893 0.34096 0.344747 0.378827 0.37504 +0.354213 0.382613 0.39208 0.36936 0.365573 0.361787 0.36936 0.378827 +0.390187 0.42616 0.435627 0.407227 0.424267 0.446987 0.439413 0.42048 +0.405333 0.411013 0.475387 0.515789 0.49432 0.382613 0.337173 0.365573 +0.390187 0.359893 0.34096 0.348533 0.36368 0.3864 0.3864 0.378827 +0.3864 0.45456 0.575158 0.713474 0.828421 0.905474 0.949684 0.947789 +0.903579 0.838526 0.780421 0.751368 0.741895 0.724842 0.705895 0.698947 +0.678737 0.595368 0.503789 0.40912 0.3864 0.3864 0.39776 0.367467 +0.344747 0.38072 0.513263 0.612421 0.689474 0.710947 0.705895 0.687579 +0.66421 0.702737 0.767789 0.620632 0.339067 0.225467 0.236827 0.331493 +0.582737 0.733684 0.646526 0.513263 0.418587 0.382613 0.384507 0.3864 +0.45456 0.520211 0.508211 0.475387 0.475387 0.462133 0.4432 0.441307 +0.43752 0.462133 0.529053 0.585263 0.565053 0.502526 0.433733 0.43752 +0.424267 0.424267 0.43184 0.424267 0.43184 0.44888 0.46592 0.48296 +0.48864 0.481067 0.48296 0.46024 0.450773 0.46024 0.501263 0.561895 +0.664842 0.793684 0.92821 1.0009 1.0169 1.01657 1.02278 1.02278 +1.0169 1.00612 0.984898 0.964211 0.952842 0.943368 0.932 0.937053 +0.945263 0.950947 0.968 0.973684 0.977474 0.986531 0.98751 0.987184 +0.99502 1.00416 1.01037 1.01559 1.02702 1.02735 1.02278 1.02278 +1.02637 1.028 1.03094 1.02996 1.02963 1.02702 1.02767 1.02996 +1.02898 1.02931 1.03486 1.03257 1.03518 1.03453 1.03159 1.03453 +1.03551 1.03453 1.03486 1.03616 1.03682 1.0342 1.02898 1.01592 +0.999918 0.954105 0.830947 0.674316 0.570105 0.526526 0.524632 0.572 +0.693263 0.767158 0.698316 0.592211 0.536632 0.519579 0.508842 0.479173 +0.464027 0.464027 0.462133 0.47728 0.47728 0.464027 0.473493 0.506947 +0.528421 0.575789 0.642737 0.605474 0.501263 0.39776 0.446987 0.518947 +0.543579 0.555579 0.551789 0.513895 0.4716 0.502526 0.525895 0.543579 +0.566316 0.630737 0.696421 0.726737 0.721684 0.68 0.613053 0.546105 +0.48864 0.3864 0.36368 0.365573 0.359893 0.367467 0.388293 0.416693 +0.433733 0.452667 0.47728 0.490533 0.458347 0.433733 0.439413 0.47728 +0.515158 0.534105 0.536632 0.518947 0.503789 0.522737 0.558737 0.594737 +0.628842 0.644 0.623789 0.582737 0.538526 0.496213 0.42616 0.376933 +0.356107 0.40912 0.439413 0.3864 0.365573 0.359893 0.331493 0.31824 +0.31824 0.327707 0.348533 0.4148 0.450773 0.4148 0.367467 0.3296 +0.30688 0.314453 0.356107 0.3864 0.412907 0.429947 0.39208 0.34096 +0.331493 0.331493 0.331493 0.325813 0.333387 0.339067 0.327707 0.316347 +0.31824 0.34664 0.405333 0.452667 0.441307 0.40912 0.384507 0.365573 +0.367467 0.36936 0.36936 0.367467 0.361787 0.36368 0.3864 0.412907 +0.43752 0.501895 0.584632 0.761474 0.956 1.02212 1.02931 1.02898 +1.05118 1.17869 1.09804 1.02114 1.00612 1.00971 1.00939 1.00743 +1.00906 1.00743 1.00906 1.01102 1.01069 1.01004 1.01102 1.01233 +1.01331 1.01102 1.00743 1.00384 1.00547 1.0071 1.00808 1.00906 +1.01004 1.01037 1.01004 1.01135 1.01135 1.00743 1.00482 1.00841 +1.01265 1.01135 1.01037 1.01102 1.01037 1.01004 1.00873 1.00024 +0.983918 0.961684 0.949053 0.947158 0.949053 0.950316 0.960421 0.981959 +0.983265 0.878947 0.672421 0.519579 0.399653 0.297413 0.00096 0.000866667 +0.000833333 0.0008 0.000786667 0.000786667 0.000786667 0.000766667 0.000746667 0.000726667 +0.000726667 0.000766667 0.000726667 0.000733333 0.000713333 0.00072 0.0007 0.000686667 +0.0007 0.000693333 0.00072 0.000706667 0.000693333 0.000713333 0.000706667 0.000693333 +0.000673333 0.000686667 0.00068 0.00068 0.0007 0.0007 0.000706667 0.000686667 +0.000713333 0.000693333 0.000686667 0.000693333 0.000673333 0.000693333 0.000706667 0.000733333 +0.00074 0.000706667 0.000693333 0.000766667 0.00092 0.23872 0.248187 0.219787 +0.000933333 0.000873333 0.000866667 0.000946667 0.23304 0.282267 0.259547 0.000966667 +0.236827 0.327707 0.308773 0.229253 0.263333 0.504421 0.713474 0.938947 +0.995347 0.98 0.954105 0.946526 0.946526 0.957895 0.983918 1.00024 +1.00873 1.01037 1.01004 1.00906 1.01004 1.01037 1.01069 1.00906 +1.00057 0.991429 0.993061 1.00514 1.01233 1.01298 1.012 1.01331 +1.01298 1.01004 1.00873 1.00906 1.00971 1.00808 1.00776 1.00841 +1.00645 1.00416 0.998939 0.985224 0.966105 0.968632 0.977474 0.976211 +0.957895 0.878316 0.734947 0.59979 0.509474 0.422373 0.412907 0.422373 +0.42048 0.405333 0.395867 0.411013 0.416693 0.433733 0.44888 0.424267 +0.39776 0.401547 0.407227 0.395867 0.390187 0.407227 0.393973 0.373147 +0.378827 0.365573 0.342853 0.34096 0.36936 0.445093 0.535368 0.537263 +0.446987 0.359893 0.3296 0.3296 0.359893 0.359893 0.350427 0.36368 +0.378827 0.39208 0.4148 0.446987 0.416693 0.3864 0.40344 0.384507 +0.344747 0.359893 0.358 0.348533 0.356107 0.373147 0.4148 0.428053 +0.418587 0.464027 0.512 0.521474 0.530947 0.541684 0.529053 0.508842 +0.47728 0.44888 0.46592 0.522105 0.535368 0.5 0.407227 0.399653 +0.3864 0.36368 0.34664 0.339067 0.34664 0.367467 0.38072 0.36936 +0.401547 0.515789 0.614947 0.736211 0.830316 0.889053 0.914947 0.899789 +0.851789 0.783579 0.732421 0.734947 0.755158 0.717263 0.651579 0.598526 +0.551158 0.5 0.407227 0.38072 0.356107 0.361787 0.37504 0.367467 +0.3864 0.46024 0.56 0.677474 0.750105 0.734947 0.707789 0.697684 +0.677474 0.717895 0.805053 0.669895 0.42616 0.26144 0.246293 0.29552 +0.534737 0.673053 0.647158 0.547368 0.48864 0.458347 0.481067 0.512 +0.548632 0.578947 0.569474 0.555579 0.542316 0.522737 0.498107 0.433733 +0.390187 0.3864 0.496213 0.573263 0.578947 0.517053 0.439413 0.416693 +0.416693 0.429947 0.43752 0.441307 0.458347 0.46592 0.458347 0.45456 +0.4716 0.484853 0.490533 0.481067 0.484853 0.503158 0.548 0.661053 +0.793053 0.906105 0.981633 1.00482 1.01559 1.02049 1.02702 1.02441 +1.01624 1.00449 0.98751 0.973053 0.967368 0.964211 0.954105 0.956632 +0.962947 0.963579 0.965474 0.963579 0.964211 0.976842 0.985551 0.989143 +0.995347 1.00122 1.00776 1.01592 1.02604 1.02767 1.02408 1.02637 +1.02767 1.02604 1.02931 1.02865 1.02669 1.02637 1.02931 1.02931 +1.02637 1.03029 1.0329 1.0329 1.03322 1.03192 1.03355 1.03616 +1.03486 1.03322 1.03453 1.03649 1.03486 1.03159 1.02408 1.00971 +0.989469 0.922526 0.794316 0.640211 0.548632 0.525263 0.533474 0.549263 +0.601053 0.634526 0.585263 0.529684 0.513895 0.507579 0.484853 0.44888 +0.446987 0.473493 0.498107 0.503158 0.48296 0.458347 0.473493 0.512632 +0.536 0.596 0.674316 0.592211 0.376933 0.274693 0.308773 0.42048 +0.533474 0.592842 0.585895 0.519579 0.481067 0.507579 0.519579 0.527158 +0.534737 0.563158 0.626947 0.692632 0.724211 0.731789 0.695789 0.613684 +0.527158 0.405333 0.361787 0.36936 0.367467 0.361787 0.378827 0.42048 +0.441307 0.42616 0.424267 0.450773 0.46592 0.5 0.514526 0.517053 +0.509474 0.504421 0.506947 0.505684 0.484853 0.490533 0.517053 0.550526 +0.600421 0.647789 0.666105 0.652842 0.631368 0.596 0.546737 0.492427 +0.422373 0.441307 0.4432 0.388293 0.358 0.342853 0.32392 0.320133 +0.325813 0.331493 0.358 0.445093 0.479173 0.407227 0.350427 0.320133 +0.30688 0.34664 0.40344 0.428053 0.416693 0.38072 0.339067 0.320133 +0.3296 0.337173 0.331493 0.322027 0.320133 0.327707 0.3296 0.327707 +0.331493 0.350427 0.418587 0.473493 0.4432 0.390187 0.36368 0.35232 +0.373147 0.36936 0.371253 0.376933 0.367467 0.376933 0.39776 0.416693 +0.45456 0.514526 0.611158 0.797474 0.978737 1.02702 1.03322 1.03355 +1.05869 1.16195 1.0489 1.01167 1.00547 1.00449 1.00449 1.00645 +1.00841 1.00743 1.00971 1.01102 1.01037 1.01037 1.00971 1.01037 +1.01135 1.00873 1.00645 1.00645 1.00873 1.01135 1.01135 1.00906 +1.01069 1.01037 1.00939 1.01069 1.00841 1.00449 1.00416 1.00743 +1.01167 1.01265 1.01167 1.01004 1.00906 1.00873 1.00384 0.990122 +0.967368 0.949053 0.943368 0.942105 0.942737 0.954737 0.976842 0.985878 +0.944632 0.780421 0.584632 0.462133 0.354213 0.248187 0.00088 0.00084 +0.00082 0.000806667 0.0008 0.000773333 0.000773333 0.000766667 0.0008 0.000786667 +0.000746667 0.000766667 0.000753333 0.000713333 0.00074 0.00076 0.00074 0.000726667 +0.00072 0.000686667 0.000706667 0.00068 0.00068 0.000666667 0.000686667 0.000693333 +0.000666667 0.000693333 0.000673333 0.000693333 0.0007 0.0007 0.00068 0.000673333 +0.00072 0.0007 0.0007 0.000693333 0.000693333 0.000733333 0.000726667 0.00072 +0.0007 0.000706667 0.000706667 0.000733333 0.000833333 0.219787 0.2444 0.234933 +0.225467 0.216 0.219787 0.234933 0.263333 0.27848 0.242507 0.217893 +0.270907 0.33528 0.280373 0.000973333 0.23304 0.429947 0.662947 0.903579 +0.994367 0.982612 0.953474 0.942105 0.943368 0.957895 0.982612 0.998612 +1.00776 1.01037 1.01069 1.01069 1.01135 1.01102 1.01265 1.01167 +1.0058 0.994041 0.988163 0.998939 1.00939 1.01265 1.01167 1.01396 +1.01461 1.01037 1.00971 1.00906 1.00808 1.0071 1.0071 1.00841 +1.00808 1.00449 0.999918 0.988816 0.969895 0.963579 0.969895 0.968632 +0.954737 0.887158 0.756421 0.623158 0.525895 0.44888 0.42616 0.445093 +0.418587 0.37504 0.36936 0.382613 0.435627 0.506316 0.504421 0.435627 +0.3864 0.378827 0.373147 0.365573 0.37504 0.39208 0.3864 0.3864 +0.393973 0.3864 0.367467 0.378827 0.40344 0.45456 0.519579 0.518947 +0.43752 0.39208 0.382613 0.382613 0.395867 0.3864 0.384507 0.390187 +0.367467 0.359893 0.40344 0.456453 0.4148 0.36936 0.39208 0.3864 +0.344747 0.35232 0.354213 0.35232 0.382613 0.446987 0.517053 0.538526 +0.552421 0.578316 0.596632 0.594737 0.589053 0.582737 0.556211 0.526526 +0.501895 0.441307 0.401547 0.456453 0.517053 0.505053 0.450773 0.412907 +0.371253 0.358 0.356107 0.342853 0.344747 0.35232 0.371253 0.384507 +0.46024 0.549263 0.632 0.719158 0.788 0.829053 0.832211 0.798105 +0.737474 0.676842 0.652211 0.66421 0.666737 0.616842 0.561263 0.518947 +0.473493 0.435627 0.42616 0.39776 0.365573 0.384507 0.399653 0.418587 +0.458347 0.518316 0.591579 0.686316 0.730526 0.705263 0.695789 0.711579 +0.707158 0.755789 0.853684 0.752632 0.552421 0.378827 0.314453 0.37504 +0.542947 0.645895 0.650316 0.596 0.549263 0.535368 0.556842 0.618737 +0.685053 0.717895 0.730526 0.702737 0.62 0.545474 0.49432 0.418587 +0.388293 0.390187 0.441307 0.546105 0.589053 0.550526 0.501895 0.439413 +0.435627 0.464027 0.462133 0.456453 0.47728 0.486747 0.47728 0.46592 +0.473493 0.481067 0.48864 0.503789 0.519579 0.557474 0.651579 0.791158 +0.893474 0.953474 0.986531 1.00318 1.01494 1.02408 1.02767 1.02539 +1.02767 1.02735 1.02473 1.02114 1.01951 1.01331 1.00155 0.996327 +0.996653 0.993061 0.983592 0.978737 0.971158 0.973684 0.983592 0.992735 +0.999265 1.00188 1.00808 1.01592 1.02408 1.02637 1.02539 1.02865 +1.02767 1.02539 1.02898 1.02833 1.02539 1.02833 1.03094 1.02669 +1.02669 1.03029 1.03453 1.03453 1.03224 1.0329 1.03551 1.03649 +1.03551 1.03355 1.03518 1.03649 1.03322 1.02767 1.01657 1.00155 +0.974947 0.889684 0.756421 0.607368 0.541053 0.532211 0.532211 0.522105 +0.532211 0.538526 0.513895 0.48864 0.486747 0.48864 0.4716 0.43184 +0.43184 0.498107 0.525263 0.527158 0.504421 0.46024 0.452667 0.48864 +0.525895 0.598526 0.671158 0.569474 0.31824 0.234933 0.253867 0.356107 +0.548 0.649053 0.614947 0.512632 0.46592 0.511368 0.524632 0.528421 +0.532842 0.545474 0.592842 0.671789 0.738737 0.799368 0.815789 0.723579 +0.577684 0.464027 0.384507 0.378827 0.382613 0.384507 0.390187 0.416693 +0.450773 0.446987 0.428053 0.422373 0.45456 0.492427 0.518316 0.529684 +0.508211 0.4432 0.424267 0.43184 0.4432 0.458347 0.496213 0.515789 +0.545474 0.591579 0.637684 0.66421 0.681895 0.685684 0.650316 0.590316 +0.547368 0.526526 0.505684 0.446987 0.384507 0.333387 0.31824 0.325813 +0.339067 0.350427 0.395867 0.479173 0.458347 0.359893 0.308773 0.299307 +0.314453 0.37504 0.441307 0.450773 0.411013 0.34664 0.30688 0.308773 +0.322027 0.33528 0.33528 0.337173 0.331493 0.34096 0.350427 0.356107 +0.36936 0.412907 0.473493 0.473493 0.399653 0.35232 0.35232 0.365573 +0.384507 0.365573 0.365573 0.378827 0.39208 0.407227 0.4148 0.42616 +0.4716 0.527158 0.644632 0.841684 0.993061 1.03029 1.03486 1.04008 +1.08282 1.09804 1.02473 1.00155 1.00416 1.00384 1.00384 1.00612 +1.00743 1.0071 1.00939 1.01004 1.01004 1.01102 1.01004 1.01004 +1.00939 1.00841 1.00776 1.00841 1.00939 1.01135 1.01069 1.00906 +1.01069 1.00971 1.00873 1.00906 1.00612 1.00482 1.00678 1.00971 +1.01167 1.01135 1.01069 1.01004 1.00841 1.00416 0.994041 0.976211 +0.953474 0.944632 0.942105 0.941474 0.947158 0.966105 0.986204 0.980653 +0.866947 0.662947 0.512632 0.39776 0.310667 0.000986667 0.000846667 0.000853333 +0.000833333 0.00082 0.000813333 0.00082 0.000793333 0.000753333 0.000766667 0.000773333 +0.000733333 0.00074 0.000773333 0.000733333 0.00074 0.00076 0.000753333 0.000773333 +0.00074 0.00072 0.000726667 0.000706667 0.000713333 0.000686667 0.000693333 0.000686667 +0.00066 0.000673333 0.000686667 0.000706667 0.000693333 0.000693333 0.000666667 0.000653333 +0.000686667 0.00068 0.000686667 0.000666667 0.000693333 0.0007 0.00072 0.0007 +0.0007 0.00072 0.000726667 0.000733333 0.00076 0.0009 0.000986667 0.22736 +0.23304 0.236827 0.2444 0.248187 0.26144 0.253867 0.225467 0.225467 +0.287947 0.322027 0.259547 0.000973333 0.22168 0.367467 0.617474 0.865053 +0.989796 0.985551 0.957895 0.945263 0.943368 0.952842 0.976842 0.994041 +1.00678 1.01069 1.012 1.01298 1.01069 1.00971 1.01102 1.01069 +1.00873 0.995673 0.986857 0.994041 1.00645 1.01396 1.01298 1.01527 +1.01494 1.012 1.012 1.01069 1.01135 1.01069 1.00873 1.01004 +1.00743 1.00351 1.0009 0.990776 0.973684 0.961684 0.965474 0.969263 +0.959158 0.897895 0.778526 0.645895 0.541684 0.473493 0.446987 0.462133 +0.418587 0.378827 0.373147 0.390187 0.475387 0.512632 0.475387 0.384507 +0.348533 0.348533 0.348533 0.348533 0.358 0.382613 0.4148 0.43752 +0.43184 0.418587 0.412907 0.40912 0.412907 0.433733 0.4716 0.46024 +0.422373 0.4148 0.418587 0.418587 0.429947 0.439413 0.479173 0.475387 +0.40912 0.371253 0.378827 0.39208 0.361787 0.35232 0.395867 0.399653 +0.36368 0.348533 0.371253 0.439413 0.510105 0.559368 0.616211 0.646526 +0.661053 0.671789 0.661684 0.632 0.603579 0.582105 0.548 0.508842 +0.43752 0.382613 0.354213 0.39208 0.43752 0.42048 0.422373 0.445093 +0.405333 0.36936 0.354213 0.339067 0.3296 0.331493 0.36368 0.42048 +0.503789 0.555579 0.618737 0.681263 0.724842 0.736211 0.711579 0.668 +0.623158 0.598526 0.597895 0.590316 0.564421 0.535368 0.518947 0.496213 +0.45456 0.43184 0.433733 0.399653 0.365573 0.401547 0.428053 0.450773 +0.473493 0.508211 0.552421 0.609263 0.634526 0.633895 0.65979 0.703368 +0.731158 0.794316 0.892842 0.844211 0.68 0.558105 0.506316 0.520211 +0.601053 0.680632 0.683789 0.657895 0.611158 0.572 0.590947 0.674947 +0.755789 0.801263 0.823368 0.765895 0.626947 0.524 0.450773 0.428053 +0.42048 0.411013 0.441307 0.541053 0.608 0.592211 0.533474 0.500632 +0.498107 0.502526 0.481067 0.46592 0.475387 0.48296 0.484853 0.4716 +0.4716 0.498107 0.508211 0.528421 0.575789 0.668 0.797474 0.906105 +0.949053 0.975579 0.992735 1.00612 1.02082 1.03616 1.03714 1.04694 +1.16043 1.31715 1.3841 1.37497 1.3278 1.23042 1.11173 1.05249 +1.05445 1.05151 1.02963 1.01265 0.994367 0.985224 0.985224 0.991755 +0.997306 1.0022 1.00612 1.01298 1.01755 1.02049 1.02506 1.02931 +1.02735 1.02865 1.03061 1.02931 1.02767 1.03094 1.02996 1.02539 +1.02833 1.03127 1.03355 1.0329 1.03224 1.03453 1.03584 1.03616 +1.03584 1.03257 1.03518 1.0342 1.02963 1.02212 1.00678 0.990776 +0.949684 0.863158 0.726105 0.593474 0.548 0.532842 0.522105 0.508842 +0.505684 0.502526 0.479173 0.464027 0.464027 0.484853 0.506316 0.508842 +0.517053 0.533474 0.549895 0.555579 0.534105 0.503789 0.464027 0.467813 +0.513263 0.600421 0.673684 0.563158 0.325813 0.242507 0.2444 0.384507 +0.594737 0.706526 0.636421 0.510737 0.441307 0.507579 0.529053 0.527789 +0.529053 0.538526 0.562526 0.630105 0.733684 0.833474 0.878316 0.803158 +0.640842 0.522737 0.428053 0.378827 0.38072 0.40912 0.42048 0.42616 +0.43752 0.428053 0.418587 0.422373 0.44888 0.441307 0.462133 0.504421 +0.492427 0.452667 0.441307 0.43752 0.416693 0.418587 0.4432 0.475387 +0.507579 0.534105 0.571368 0.614947 0.669263 0.721053 0.728632 0.685684 +0.645263 0.614316 0.575158 0.542316 0.508842 0.428053 0.37504 0.350427 +0.34664 0.36368 0.43184 0.49432 0.412907 0.327707 0.316347 0.320133 +0.342853 0.39776 0.441307 0.428053 0.388293 0.337173 0.308773 0.310667 +0.316347 0.322027 0.339067 0.35232 0.358 0.371253 0.382613 0.40344 +0.435627 0.484853 0.498107 0.43752 0.358 0.3296 0.344747 0.36936 +0.373147 0.356107 0.356107 0.37504 0.395867 0.42048 0.42616 0.439413 +0.484853 0.542316 0.684421 0.885895 1.0058 1.03159 1.03584 1.04922 +1.10717 1.05151 1.00873 0.996327 0.999592 0.999592 1.00155 1.00514 +1.00514 1.00416 1.00906 1.01102 1.01135 1.01135 1.00906 1.00808 +1.00808 1.00743 1.00841 1.00906 1.00841 1.00873 1.00906 1.00939 +1.01069 1.01102 1.00873 1.0071 1.00612 1.0058 1.00808 1.00939 +1.00971 1.00873 1.00939 1.00841 1.00547 0.99698 0.982612 0.957263 +0.942737 0.943368 0.942737 0.943368 0.955368 0.980653 0.987837 0.931368 +0.756421 0.563789 0.412907 0.34664 0.270907 0.000946667 0.000866667 0.000853333 +0.00086 0.0008 0.00078 0.0008 0.00078 0.000733333 0.00074 0.00078 +0.000773333 0.00074 0.00076 0.000753333 0.000706667 0.000713333 0.00072 0.00074 +0.000713333 0.000706667 0.000733333 0.000713333 0.00072 0.00072 0.00072 0.0007 +0.000693333 0.000693333 0.000713333 0.000733333 0.00072 0.000733333 0.000693333 0.000693333 +0.000693333 0.000693333 0.000673333 0.000653333 0.000673333 0.000673333 0.000693333 0.000673333 +0.000706667 0.000713333 0.000746667 0.000713333 0.000726667 0.0008 0.00086 0.000966667 +0.217893 0.23304 0.234933 0.23872 0.23304 0.000966667 0.00094 0.23304 +0.293627 0.28984 0.23304 0.00096 0.000993333 0.314453 0.569474 0.810737 +0.981306 0.990122 0.968632 0.950947 0.942737 0.950947 0.971158 0.992408 +1.00645 1.01004 1.01004 1.00841 1.00645 1.00906 1.01037 1.01037 +1.00971 0.998286 0.987837 0.990776 1.00547 1.01298 1.01331 1.01494 +1.01298 1.01265 1.012 1.01135 1.01233 1.012 1.01037 1.01102 +1.00841 1.00514 1.00057 0.992408 0.981959 0.966105 0.966105 0.971789 +0.963579 0.914947 0.808842 0.674947 0.56 0.48864 0.439413 0.43752 +0.40344 0.384507 0.39208 0.42616 0.48296 0.479173 0.412907 0.356107 +0.33528 0.342853 0.35232 0.354213 0.359893 0.416693 0.492427 0.48864 +0.439413 0.40912 0.395867 0.390187 0.39208 0.390187 0.38072 0.3864 +0.393973 0.39208 0.399653 0.40344 0.40912 0.456453 0.517684 0.517053 +0.452667 0.411013 0.411013 0.393973 0.378827 0.388293 0.435627 0.462133 +0.445093 0.46024 0.517053 0.565684 0.616842 0.666105 0.702105 0.712211 +0.703368 0.681263 0.641474 0.592842 0.556842 0.536 0.504421 0.405333 +0.344747 0.3296 0.348533 0.393973 0.399653 0.367467 0.39208 0.458347 +0.469707 0.407227 0.361787 0.34664 0.337173 0.342853 0.36936 0.43184 +0.5 0.534737 0.584 0.623789 0.637053 0.621263 0.593474 0.576421 +0.575158 0.579579 0.572632 0.543579 0.513263 0.506947 0.510737 0.501263 +0.452667 0.42048 0.405333 0.39776 0.384507 0.42048 0.429947 0.411013 +0.395867 0.435627 0.523368 0.573895 0.587789 0.592211 0.614947 0.662947 +0.718526 0.795579 0.894737 0.910526 0.825895 0.723579 0.647158 0.629474 +0.706526 0.786737 0.784842 0.760842 0.709053 0.641474 0.614316 0.638316 +0.680632 0.716632 0.738105 0.693263 0.577053 0.5 0.433733 0.42616 +0.412907 0.424267 0.484853 0.544211 0.596632 0.583368 0.536632 0.522737 +0.530316 0.524 0.504421 0.481067 0.47728 0.484853 0.503158 0.498107 +0.500632 0.516421 0.530947 0.577053 0.678737 0.808211 0.908632 0.959789 +0.98 0.992082 1.00939 1.02767 1.05706 1.18325 1.23803 1.35976 +1.61082 1.82689 1.85428 1.76907 1.69755 1.61387 1.49214 1.36128 +1.37041 1.42823 1.36584 1.17564 1.03029 1.00057 0.993061 0.991102 +0.991429 0.995673 0.995673 1.00188 1.00678 1.01233 1.02473 1.03094 +1.02931 1.03029 1.03029 1.02996 1.02735 1.02931 1.02931 1.02767 +1.02931 1.03061 1.03224 1.03029 1.03224 1.0342 1.03486 1.03388 +1.0342 1.03127 1.03388 1.02898 1.02082 1.01069 0.99502 0.978105 +0.92379 0.837263 0.701474 0.590947 0.546737 0.522105 0.511368 0.504421 +0.486747 0.484853 0.492427 0.490533 0.496213 0.518947 0.554316 0.572 +0.567579 0.546737 0.536 0.552421 0.570105 0.550526 0.515158 0.492427 +0.512632 0.612421 0.702737 0.597895 0.40344 0.304987 0.33528 0.520211 +0.669263 0.740632 0.641474 0.519579 0.43752 0.475387 0.522105 0.541053 +0.541684 0.537263 0.534737 0.575789 0.684421 0.775368 0.810105 0.779789 +0.673684 0.560632 0.481067 0.395867 0.395867 0.411013 0.40344 0.395867 +0.384507 0.376933 0.393973 0.4432 0.462133 0.416693 0.40344 0.43184 +0.43752 0.439413 0.496213 0.509474 0.481067 0.43752 0.42616 0.428053 +0.458347 0.504421 0.516421 0.537895 0.593474 0.68 0.739368 0.731789 +0.702737 0.673684 0.645263 0.628211 0.598526 0.554947 0.520842 0.500632 +0.458347 0.441307 0.48864 0.505053 0.424267 0.36368 0.367467 0.382613 +0.418587 0.450773 0.44888 0.435627 0.401547 0.358 0.354213 0.356107 +0.356107 0.359893 0.371253 0.37504 0.384507 0.411013 0.445093 0.498107 +0.510105 0.503789 0.446987 0.38072 0.33528 0.322027 0.3296 0.34096 +0.348533 0.348533 0.36368 0.373147 0.38072 0.407227 0.424267 0.435627 +0.486747 0.568211 0.733684 0.921895 1.01004 1.03029 1.03682 1.05706 +1.095 1.03061 0.995673 0.992082 0.994367 0.996327 0.999592 1.00416 +1.00678 1.00547 1.00776 1.01004 1.01102 1.00873 1.0071 1.00678 +1.0071 1.00873 1.01069 1.01037 1.00873 1.00939 1.01037 1.00939 +1.00971 1.01135 1.00841 1.00612 1.00547 1.00547 1.00808 1.00841 +1.00971 1.00939 1.00971 1.00482 0.996653 0.986204 0.966737 0.947789 +0.940211 0.942737 0.944 0.952211 0.971789 0.988163 0.973053 0.834737 +0.634526 0.501895 0.378827 0.314453 0.23304 0.000913333 0.000853333 0.00082 +0.000833333 0.00082 0.000786667 0.000793333 0.00078 0.00076 0.00074 0.000753333 +0.000773333 0.000733333 0.000713333 0.00072 0.000733333 0.000733333 0.000713333 0.000713333 +0.00068 0.00068 0.00068 0.00066 0.0007 0.0007 0.000673333 0.000673333 +0.0007 0.000686667 0.000706667 0.0007 0.0007 0.000706667 0.000686667 0.00072 +0.00072 0.000726667 0.000693333 0.000693333 0.000693333 0.000706667 0.000686667 0.000686667 +0.000693333 0.000706667 0.00072 0.00072 0.00074 0.00076 0.000806667 0.000873333 +0.000886667 0.00094 0.000933333 0.00096 0.000933333 0.00088 0.000946667 0.26712 +0.310667 0.276587 0.22736 0.000986667 0.000993333 0.274693 0.524 0.748211 +0.957263 0.99502 0.980653 0.954737 0.945263 0.952211 0.966737 0.990449 +1.00547 1.01037 1.00873 1.00514 1.00678 1.01167 1.01298 1.01331 +1.01298 1.00482 0.991102 0.990449 1.00286 1.00971 1.01102 1.01298 +1.01167 1.01069 1.01037 1.01069 1.01037 1.00971 1.00971 1.00906 +1.00808 1.0071 1.00253 0.996327 0.987837 0.976842 0.971789 0.970526 +0.969263 0.937053 0.842947 0.709684 0.584 0.501895 0.42048 0.40912 +0.3864 0.3864 0.4148 0.424267 0.42048 0.40344 0.373147 0.344747 +0.339067 0.34096 0.348533 0.365573 0.40344 0.502526 0.522105 0.490533 +0.399653 0.36368 0.358 0.36936 0.37504 0.367467 0.359893 0.371253 +0.37504 0.36936 0.37504 0.376933 0.38072 0.416693 0.49432 0.492427 +0.435627 0.43184 0.439413 0.43752 0.439413 0.46024 0.506316 0.527789 +0.544211 0.572 0.614316 0.661684 0.700842 0.721053 0.719789 0.700842 +0.662316 0.609895 0.551789 0.505053 0.450773 0.44888 0.407227 0.344747 +0.322027 0.3296 0.34664 0.3864 0.3864 0.359893 0.36936 0.424267 +0.469707 0.44888 0.407227 0.36936 0.36936 0.378827 0.382613 0.4148 +0.46024 0.506947 0.536632 0.554316 0.552421 0.550526 0.548632 0.544842 +0.558737 0.576421 0.561895 0.515158 0.475387 0.49432 0.508842 0.5 +0.422373 0.38072 0.3864 0.424267 0.43184 0.428053 0.399653 0.36368 +0.354213 0.418587 0.525895 0.574526 0.582737 0.577684 0.575158 0.596 +0.661053 0.755158 0.857474 0.926316 0.915579 0.853684 0.789263 0.765263 +0.842947 0.927579 0.926316 0.892842 0.829053 0.731789 0.626947 0.553684 +0.538526 0.56 0.597895 0.613684 0.563789 0.508211 0.44888 0.428053 +0.42048 0.44888 0.492427 0.519579 0.555579 0.550526 0.517053 0.517053 +0.532211 0.526526 0.512 0.502526 0.49432 0.502526 0.512632 0.510105 +0.514526 0.536632 0.580211 0.683789 0.822737 0.925053 0.969263 0.987837 +1.00482 1.02735 1.05706 1.19238 1.39323 1.57126 1.6656 1.77363 +1.93797 2.04905 2.03079 1.94101 1.90297 1.89536 1.81776 1.6869 +1.63517 1.7082 1.68995 1.40693 1.05412 1.01494 1.01004 1.00514 +0.997959 0.996327 0.993061 0.993061 0.996 1.00188 1.01657 1.02702 +1.02833 1.02833 1.02833 1.02996 1.02669 1.02735 1.02865 1.028 +1.02833 1.02963 1.03159 1.03094 1.03453 1.03453 1.03388 1.03159 +1.0329 1.03061 1.03061 1.02245 1.01135 0.998612 0.983592 0.953474 +0.901053 0.805684 0.660421 0.561895 0.525263 0.505053 0.501895 0.492427 +0.469707 0.464027 0.481067 0.48864 0.515158 0.553684 0.582737 0.570105 +0.534737 0.506316 0.5 0.515789 0.554947 0.571368 0.533474 0.503158 +0.515789 0.610526 0.722316 0.658526 0.534105 0.49432 0.529684 0.616842 +0.733053 0.736211 0.621263 0.534105 0.49432 0.464027 0.512632 0.548632 +0.554316 0.533474 0.520211 0.542316 0.633895 0.702737 0.702105 0.690105 +0.654105 0.585895 0.524632 0.464027 0.418587 0.388293 0.356107 0.348533 +0.35232 0.36368 0.40344 0.462133 0.44888 0.388293 0.378827 0.395867 +0.399653 0.405333 0.467813 0.503789 0.484853 0.458347 0.462133 0.46592 +0.47728 0.486747 0.46592 0.467813 0.529684 0.616842 0.699579 0.725474 +0.707789 0.670526 0.651579 0.654737 0.638947 0.609895 0.588421 0.573263 +0.560632 0.550526 0.548 0.536 0.506316 0.464027 0.467813 0.503158 +0.524 0.534737 0.540421 0.553684 0.536632 0.508842 0.505053 0.508842 +0.509474 0.508842 0.512 0.515789 0.526526 0.541053 0.550526 0.553053 +0.534737 0.484853 0.382613 0.342853 0.331493 0.3296 0.327707 0.322027 +0.331493 0.34664 0.356107 0.361787 0.371253 0.399653 0.418587 0.43752 +0.503789 0.600421 0.781684 0.951579 1.01167 1.02735 1.0378 1.06152 +1.05543 1.00939 0.985224 0.98849 0.994367 0.998286 0.999918 1.00449 +1.00547 1.00416 1.00808 1.00939 1.00776 1.00482 1.00482 1.0058 +1.00873 1.01069 1.01135 1.00939 1.00743 1.00939 1.01069 1.00971 +1.00841 1.01004 1.00906 1.00808 1.0058 1.00514 1.00841 1.00971 +1.01037 1.00841 1.00612 0.997959 0.986204 0.968632 0.949053 0.944 +0.942737 0.942737 0.947789 0.967368 0.984571 0.984898 0.901684 0.706526 +0.535368 0.412907 0.354213 0.280373 0.000986667 0.000866667 0.00084 0.000813333 +0.000826667 0.000846667 0.000813333 0.000773333 0.000753333 0.000773333 0.000733333 0.000693333 +0.000706667 0.000706667 0.0007 0.000726667 0.000713333 0.000706667 0.000706667 0.000713333 +0.000706667 0.000713333 0.0007 0.000706667 0.000713333 0.0007 0.000686667 0.000686667 +0.0007 0.00068 0.000686667 0.000666667 0.000646667 0.00064 0.000666667 0.0007 +0.00072 0.000726667 0.0007 0.000706667 0.00072 0.00072 0.000693333 0.0007 +0.000713333 0.000693333 0.000733333 0.000753333 0.00074 0.000753333 0.000786667 0.0008 +0.000826667 0.00082 0.0008 0.00082 0.000826667 0.00088 0.22736 0.287947 +0.29552 0.253867 0.23872 0.240613 0.246293 0.280373 0.486747 0.690105 +0.92 0.996327 0.985551 0.957263 0.948421 0.950316 0.962316 0.986204 +1.00122 1.00873 1.00776 1.00384 1.0058 1.012 1.01461 1.01461 +1.01494 1.00743 0.994694 0.991429 0.999265 1.00776 1.01135 1.01429 +1.01102 1.00873 1.01037 1.01004 1.00906 1.00776 1.00808 1.00645 +1.00514 1.0058 1.00318 0.99698 0.991102 0.983265 0.977474 0.973053 +0.971789 0.951579 0.870105 0.737474 0.604842 0.512632 0.422373 0.40344 +0.393973 0.399653 0.40912 0.39208 0.371253 0.371253 0.371253 0.361787 +0.350427 0.344747 0.35232 0.39776 0.498107 0.534737 0.520842 0.428053 +0.34664 0.333387 0.34664 0.354213 0.373147 0.388293 0.382613 0.376933 +0.371253 0.367467 0.356107 0.365573 0.37504 0.376933 0.382613 0.376933 +0.390187 0.40912 0.429947 0.456453 0.486747 0.516421 0.545474 0.570737 +0.597263 0.630105 0.66421 0.685053 0.691368 0.686947 0.660421 0.606105 +0.548 0.503158 0.422373 0.36936 0.36368 0.412907 0.405333 0.359893 +0.337173 0.331493 0.33528 0.371253 0.367467 0.359893 0.367467 0.384507 +0.411013 0.445093 0.43184 0.382613 0.376933 0.39208 0.393973 0.405333 +0.445093 0.490533 0.513895 0.520211 0.515158 0.525263 0.530316 0.524632 +0.546105 0.574526 0.549895 0.486747 0.462133 0.503158 0.516421 0.504421 +0.412907 0.376933 0.401547 0.439413 0.47728 0.439413 0.382613 0.354213 +0.36368 0.43752 0.531579 0.573263 0.577053 0.568842 0.549895 0.536 +0.579579 0.683789 0.808211 0.899789 0.912421 0.890947 0.880842 0.893474 +0.961684 1.00122 1.00057 0.982939 0.911789 0.786737 0.634526 0.517053 +0.456453 0.48864 0.525895 0.563158 0.56 0.524 0.48864 0.456453 +0.445093 0.44888 0.452667 0.481067 0.531579 0.543579 0.506316 0.473493 +0.502526 0.508211 0.509474 0.516421 0.522105 0.525895 0.526526 0.532842 +0.557474 0.604842 0.690737 0.824632 0.939579 0.987837 1.00416 1.02278 +1.05053 1.18477 1.34302 1.48301 1.63821 1.75385 1.8132 1.87863 +1.95775 1.98057 1.99731 2.02318 2.02622 2.00035 1.92123 1.82841 +1.75537 1.72951 1.65191 1.34911 1.05118 1.03061 1.03714 1.03029 +1.01918 1.01951 1.01527 1.00384 0.99698 0.997306 1.00449 1.012 +1.01657 1.02049 1.02604 1.03061 1.02963 1.028 1.03029 1.03094 +1.02963 1.03029 1.03355 1.03355 1.03388 1.03257 1.0329 1.0342 +1.03257 1.02865 1.02147 1.00971 0.999265 0.986204 0.962316 0.935158 +0.882105 0.764 0.611789 0.530316 0.508211 0.481067 0.479173 0.473493 +0.458347 0.456453 0.462133 0.48864 0.522105 0.542947 0.534737 0.505053 +0.446987 0.433733 0.456453 0.475387 0.519579 0.549263 0.525263 0.49432 +0.511368 0.590316 0.704632 0.709684 0.634526 0.615579 0.663579 0.733684 +0.767789 0.698316 0.586526 0.541053 0.520842 0.500632 0.513263 0.550526 +0.569474 0.539789 0.508842 0.518316 0.597263 0.667368 0.632632 0.590316 +0.586526 0.573895 0.542316 0.506316 0.43752 0.36936 0.33528 0.34096 +0.361787 0.384507 0.40344 0.429947 0.40912 0.378827 0.382613 0.395867 +0.405333 0.407227 0.428053 0.43184 0.422373 0.42048 0.441307 0.475387 +0.5 0.48864 0.458347 0.48864 0.530316 0.588421 0.645895 0.686316 +0.692632 0.648421 0.604842 0.594105 0.589053 0.587158 0.587158 0.586526 +0.586526 0.585263 0.580842 0.569474 0.554947 0.547368 0.549263 0.559368 +0.573895 0.583368 0.607368 0.634526 0.614316 0.585895 0.582105 0.588421 +0.588421 0.584 0.585263 0.594737 0.615579 0.630737 0.618737 0.593474 +0.549895 0.48296 0.371253 0.3296 0.32392 0.337173 0.331493 0.320133 +0.32392 0.350427 0.359893 0.359893 0.373147 0.395867 0.418587 0.446987 +0.517053 0.637053 0.829053 0.98 1.01559 1.02898 1.04302 1.05804 +1.03551 0.992082 0.975579 0.982612 0.994367 1.00188 1.00188 1.0058 +1.0058 1.00612 1.01004 1.00873 1.00155 0.996327 0.999265 1.00384 +1.00971 1.00971 1.00971 1.00841 1.00808 1.00906 1.01135 1.01037 +1.00971 1.01135 1.00906 1.00841 1.0071 1.00678 1.00939 1.01037 +1.00971 1.0058 1.0009 0.991102 0.976211 0.954737 0.942737 0.943368 +0.944 0.946526 0.958526 0.982939 0.989469 0.945895 0.784211 0.587789 +0.445093 0.365573 0.31256 0.259547 0.000993333 0.000866667 0.000826667 0.000813333 +0.000793333 0.000806667 0.000813333 0.000786667 0.00074 0.000753333 0.000766667 0.000726667 +0.000713333 0.000733333 0.000726667 0.000753333 0.000693333 0.000686667 0.000693333 0.000713333 +0.000706667 0.000726667 0.000713333 0.0007 0.0007 0.000693333 0.000686667 0.0007 +0.000726667 0.0007 0.000686667 0.00068 0.000686667 0.00068 0.00068 0.000653333 +0.00066 0.00068 0.000693333 0.000726667 0.000733333 0.0007 0.00066 0.000666667 +0.000653333 0.000666667 0.0007 0.00074 0.00074 0.00072 0.00072 0.000753333 +0.0008 0.00078 0.000766667 0.000806667 0.000826667 0.000946667 0.259547 0.28984 +0.270907 0.2444 0.263333 0.2728 0.282267 0.314453 0.43184 0.629474 +0.868211 0.991429 0.98849 0.964842 0.951579 0.947789 0.955368 0.981959 +0.998939 1.00808 1.0071 1.00155 1.00351 1.00939 1.01265 1.01396 +1.01396 1.00971 1.00057 0.993061 0.993714 1.00057 1.00906 1.01331 +1.01167 1.01233 1.01298 1.01233 1.01135 1.00906 1.01004 1.00743 +1.00449 1.00547 1.00318 0.997306 0.989796 0.980653 0.974947 0.975579 +0.974316 0.965474 0.897263 0.767789 0.627579 0.524632 0.424267 0.401547 +0.40912 0.401547 0.39776 0.38072 0.36368 0.371253 0.384507 0.382613 +0.382613 0.38072 0.39208 0.4716 0.535368 0.543579 0.5 0.38072 +0.344747 0.337173 0.344747 0.354213 0.384507 0.40344 0.36936 0.350427 +0.35232 0.35232 0.361787 0.376933 0.37504 0.359893 0.344747 0.339067 +0.359893 0.371253 0.393973 0.435627 0.481067 0.525263 0.559368 0.581474 +0.606105 0.638316 0.648421 0.626947 0.601684 0.588421 0.563158 0.509474 +0.401547 0.361787 0.359893 0.348533 0.356107 0.405333 0.412907 0.39776 +0.36936 0.331493 0.33528 0.356107 0.337173 0.333387 0.36368 0.378827 +0.382613 0.399653 0.416693 0.39776 0.373147 0.36936 0.376933 0.388293 +0.4148 0.4716 0.518947 0.521474 0.502526 0.49432 0.492427 0.510105 +0.558105 0.580211 0.533474 0.469707 0.48864 0.517053 0.533474 0.510105 +0.412907 0.382613 0.388293 0.422373 0.467813 0.42048 0.365573 0.356107 +0.388293 0.479173 0.541053 0.570105 0.572 0.565684 0.546105 0.516421 +0.523368 0.604842 0.741895 0.842947 0.863789 0.872 0.909263 0.961053 +0.998612 1.01624 1.01657 1.00514 0.966737 0.841053 0.667368 0.528421 +0.46024 0.456453 0.481067 0.513895 0.525895 0.518316 0.500632 0.446987 +0.416693 0.418587 0.428053 0.458347 0.525263 0.550526 0.517684 0.46592 +0.479173 0.496213 0.5 0.514526 0.537895 0.544211 0.551158 0.584632 +0.650947 0.739368 0.844842 0.954105 0.999918 1.0182 1.04139 1.07369 +1.21977 1.40084 1.51648 1.59561 1.67625 1.74168 1.76755 1.79342 +1.84211 1.82689 1.85732 1.94862 1.9471 1.84971 1.72799 1.66864 +1.61995 1.54387 1.47844 1.26694 1.05216 1.04335 1.05249 1.04694 +1.04041 1.04139 1.04269 1.03584 1.02212 1.0058 0.997959 0.997959 +0.999918 1.00776 1.01853 1.02637 1.02702 1.02571 1.03159 1.03388 +1.03159 1.02996 1.03486 1.03453 1.03453 1.03192 1.03453 1.03616 +1.02898 1.01918 1.00612 0.993714 0.982612 0.962316 0.943368 0.921895 +0.850526 0.702737 0.565053 0.515158 0.500632 0.479173 0.484853 0.4716 +0.452667 0.445093 0.45456 0.498107 0.512632 0.505053 0.467813 0.429947 +0.418587 0.433733 0.46024 0.46024 0.490533 0.520211 0.510105 0.484853 +0.510737 0.569474 0.671158 0.733053 0.738737 0.764632 0.824632 0.855579 +0.796211 0.667368 0.572632 0.551789 0.539158 0.508211 0.510105 0.555579 +0.608 0.584 0.527789 0.513263 0.567579 0.640842 0.59979 0.517684 +0.509474 0.525263 0.524 0.507579 0.456453 0.376933 0.34096 0.36936 +0.411013 0.412907 0.382613 0.3864 0.393973 0.3864 0.39208 0.401547 +0.412907 0.412907 0.412907 0.40344 0.38072 0.36936 0.376933 0.401547 +0.43752 0.467813 0.503158 0.529053 0.544842 0.549895 0.56 0.604842 +0.656632 0.640842 0.572632 0.526526 0.513263 0.514526 0.522105 0.532842 +0.544211 0.551789 0.556842 0.567579 0.578947 0.582737 0.577053 0.572632 +0.568211 0.562526 0.575789 0.590316 0.579579 0.570737 0.572632 0.577684 +0.577684 0.572632 0.571368 0.582105 0.601053 0.604842 0.580842 0.559368 +0.534105 0.486747 0.390187 0.350427 0.337173 0.339067 0.339067 0.333387 +0.337173 0.356107 0.361787 0.350427 0.365573 0.390187 0.411013 0.462133 +0.542316 0.688842 0.879579 0.991755 1.01657 1.03094 1.04857 1.04824 +1.01135 0.976842 0.966737 0.980327 0.994367 1.00318 1.00351 1.0071 +1.00971 1.00939 1.00645 0.999918 0.991755 0.990449 0.999265 1.00482 +1.00906 1.01102 1.01069 1.00906 1.00841 1.00939 1.01167 1.00939 +1.00971 1.01233 1.00971 1.00808 1.00743 1.00939 1.01135 1.00808 +1.00482 0.999918 0.992082 0.980653 0.959158 0.948421 0.945263 0.943368 +0.943368 0.955368 0.977474 0.990122 0.978105 0.851789 0.650316 0.503789 +0.365573 0.32392 0.274693 0.246293 0.22168 0.000873333 0.000806667 0.0008 +0.000766667 0.00078 0.000793333 0.000806667 0.000766667 0.000753333 0.000766667 0.000746667 +0.000726667 0.000746667 0.00074 0.000746667 0.000726667 0.000686667 0.000686667 0.0007 +0.000693333 0.00072 0.000713333 0.00072 0.00072 0.000726667 0.000693333 0.0007 +0.000693333 0.000693333 0.000706667 0.000693333 0.000713333 0.000706667 0.000726667 0.0007 +0.000673333 0.000666667 0.000673333 0.000693333 0.000693333 0.000686667 0.000686667 0.000686667 +0.000666667 0.00066 0.000666667 0.000686667 0.000666667 0.0007 0.000693333 0.000706667 +0.000713333 0.000706667 0.00074 0.000773333 0.0008 0.000993333 0.280373 0.297413 +0.259547 0.259547 0.291733 0.287947 0.304987 0.342853 0.4148 0.578947 +0.808842 0.983592 0.993714 0.974947 0.956 0.947158 0.952211 0.978105 +0.995673 1.00678 1.00808 1.00416 1.00612 1.00873 1.01102 1.01331 +1.01331 1.01135 1.0071 0.999918 0.991755 0.993061 1.00318 1.00841 +1.01037 1.01265 1.01331 1.012 1.01037 1.00873 1.01135 1.01102 +1.00939 1.01004 1.00841 1.00286 0.990776 0.978737 0.973053 0.976842 +0.978105 0.971789 0.922526 0.806947 0.657263 0.537263 0.433733 0.39208 +0.393973 0.3864 0.390187 0.378827 0.376933 0.393973 0.40344 0.416693 +0.435627 0.45456 0.498107 0.528421 0.551789 0.525263 0.452667 0.395867 +0.36936 0.367467 0.38072 0.399653 0.424267 0.424267 0.393973 0.36368 +0.356107 0.384507 0.418587 0.390187 0.350427 0.350427 0.344747 0.331493 +0.33528 0.34664 0.367467 0.40912 0.46592 0.520211 0.544211 0.552421 +0.577053 0.600421 0.572632 0.524 0.501263 0.501263 0.508842 0.45456 +0.365573 0.339067 0.339067 0.333387 0.34664 0.365573 0.371253 0.37504 +0.378827 0.344747 0.331493 0.33528 0.32392 0.331493 0.358 0.3864 +0.378827 0.367467 0.401547 0.43752 0.40344 0.36368 0.367467 0.390187 +0.42048 0.479173 0.517684 0.508842 0.45456 0.445093 0.46592 0.524632 +0.580842 0.576421 0.525263 0.500632 0.510737 0.532842 0.532842 0.486747 +0.401547 0.384507 0.378827 0.416693 0.450773 0.4148 0.38072 0.3864 +0.435627 0.514526 0.550526 0.563789 0.566316 0.56 0.541053 0.512632 +0.503789 0.550526 0.663579 0.775368 0.826526 0.853053 0.890316 0.950947 +1.00122 1.02147 1.02604 1.02049 0.998286 0.903579 0.713474 0.553684 +0.498107 0.45456 0.439413 0.450773 0.490533 0.505053 0.484853 0.428053 +0.401547 0.411013 0.42616 0.464027 0.518947 0.553684 0.538526 0.503158 +0.481067 0.473493 0.481067 0.506316 0.522737 0.533474 0.556842 0.629474 +0.745684 0.868842 0.971158 1.01624 1.03584 1.0489 1.09956 1.17869 +1.31107 1.47083 1.57583 1.64278 1.7006 1.73559 1.68842 1.62908 +1.63669 1.62908 1.65799 1.73559 1.72038 1.63821 1.55909 1.53322 +1.49214 1.40541 1.38562 1.2715 1.08891 1.05216 1.05184 1.05347 +1.0551 1.0489 1.05445 1.08587 1.05804 1.03029 1.0058 0.99502 +0.990776 0.995673 1.00286 1.01004 1.01788 1.02147 1.02898 1.03061 +1.02833 1.028 1.03453 1.03714 1.03747 1.03322 1.03094 1.02637 +1.01657 1.00318 0.990776 0.978105 0.953474 0.943368 0.936421 0.910526 +0.810737 0.638947 0.534105 0.508842 0.496213 0.498107 0.503789 0.475387 +0.43752 0.42616 0.445093 0.484853 0.486747 0.469707 0.45456 0.433733 +0.424267 0.450773 0.469707 0.456453 0.458347 0.503158 0.506947 0.506947 +0.534737 0.594105 0.694526 0.790526 0.852421 0.901684 0.945263 0.943368 +0.836 0.681263 0.595368 0.569474 0.551158 0.513263 0.496213 0.542947 +0.629474 0.654105 0.588421 0.536632 0.559368 0.615579 0.587158 0.492427 +0.40344 0.439413 0.475387 0.475387 0.446987 0.40344 0.37504 0.3864 +0.412907 0.39208 0.358 0.359893 0.38072 0.384507 0.382613 0.390187 +0.390187 0.39208 0.395867 0.390187 0.376933 0.36936 0.371253 0.38072 +0.39208 0.452667 0.523368 0.544842 0.528421 0.498107 0.452667 0.513895 +0.588421 0.625053 0.577684 0.512 0.441307 0.4148 0.412907 0.433733 +0.45456 0.479173 0.501263 0.516421 0.537263 0.549263 0.543579 0.529053 +0.512 0.48864 0.479173 0.473493 0.473493 0.48864 0.490533 0.486747 +0.490533 0.492427 0.48296 0.492427 0.509474 0.504421 0.473493 0.467813 +0.4716 0.445093 0.399653 0.373147 0.356107 0.342853 0.344747 0.34664 +0.348533 0.354213 0.356107 0.358 0.3864 0.411013 0.42048 0.481067 +0.570737 0.740632 0.92 0.998286 1.01461 1.03224 1.04988 1.03322 +0.993388 0.971789 0.971158 0.980653 0.992408 1.00253 1.00384 1.00547 +1.00906 1.00776 1.0009 0.992082 0.988816 0.99502 1.00547 1.00776 +1.00906 1.01102 1.01069 1.01004 1.00971 1.00939 1.01037 1.00939 +1.01004 1.01167 1.00873 1.00776 1.00906 1.01135 1.01167 1.0058 +0.998286 0.989469 0.977474 0.959789 0.949684 0.946526 0.946526 0.945263 +0.948421 0.968 0.986204 0.985878 0.899158 0.712211 0.537263 0.367467 +0.310667 0.293627 0.269013 0.23872 0.22168 0.00092 0.00084 0.00082 +0.000793333 0.000786667 0.000793333 0.000793333 0.00078 0.00074 0.00072 0.00072 +0.000733333 0.000766667 0.000753333 0.000726667 0.00072 0.0007 0.00072 0.000726667 +0.00074 0.00074 0.000713333 0.0007 0.000713333 0.000726667 0.0007 0.000733333 +0.000713333 0.000726667 0.000713333 0.000706667 0.0007 0.000693333 0.000726667 0.000706667 +0.000706667 0.0007 0.0007 0.00068 0.000673333 0.000673333 0.000713333 0.000713333 +0.000693333 0.00068 0.000706667 0.00068 0.000693333 0.0007 0.000693333 0.000726667 +0.000706667 0.000686667 0.000706667 0.000726667 0.0008 0.225467 0.274693 0.26712 +0.240613 0.27848 0.304987 0.28416 0.282267 0.327707 0.401547 0.542316 +0.744421 0.956 0.997959 0.983265 0.962316 0.949053 0.951579 0.969895 +0.989469 1.00514 1.01102 1.00873 1.00906 1.00906 1.01004 1.01396 +1.01298 1.01102 1.01004 1.00514 0.993714 0.991102 1.00057 1.00841 +1.00939 1.012 1.01265 1.01004 1.00841 1.0071 1.00841 1.00971 +1.00939 1.01102 1.00971 1.00514 0.995347 0.984571 0.976842 0.978105 +0.980653 0.977474 0.947789 0.851789 0.699579 0.563789 0.47728 0.39776 +0.38072 0.37504 0.371253 0.373147 0.388293 0.405333 0.416693 0.433733 +0.469707 0.506316 0.524 0.536632 0.533474 0.501263 0.424267 0.40912 +0.393973 0.39208 0.401547 0.424267 0.452667 0.467813 0.450773 0.428053 +0.44888 0.515789 0.530947 0.464027 0.367467 0.356107 0.34096 0.331493 +0.3296 0.34096 0.36936 0.418587 0.473493 0.508211 0.517053 0.525895 +0.547368 0.540421 0.484853 0.378827 0.36368 0.399653 0.496213 0.501895 +0.405333 0.339067 0.333387 0.333387 0.34096 0.34664 0.34096 0.348533 +0.36936 0.35232 0.33528 0.331493 0.337173 0.34096 0.348533 0.367467 +0.36936 0.367467 0.399653 0.441307 0.43752 0.42616 0.439413 0.456453 +0.464027 0.469707 0.486747 0.479173 0.458347 0.473493 0.511368 0.565684 +0.605474 0.576421 0.534105 0.515158 0.520211 0.527789 0.501263 0.411013 +0.388293 0.388293 0.401547 0.446987 0.48296 0.450773 0.42048 0.428053 +0.479173 0.526526 0.554316 0.565053 0.564421 0.551789 0.526526 0.48864 +0.486747 0.527158 0.603579 0.717263 0.797474 0.842316 0.863158 0.912421 +0.994041 1.02147 1.02865 1.02539 1.01004 0.936421 0.722316 0.553684 +0.506316 0.475387 0.44888 0.43752 0.45456 0.481067 0.479173 0.439413 +0.422373 0.441307 0.46592 0.484853 0.505684 0.533474 0.539158 0.513263 +0.479173 0.467813 0.47728 0.500632 0.515158 0.534105 0.585263 0.693895 +0.837263 0.963579 1.01788 1.0502 1.08587 1.12695 1.19238 1.24716 +1.35215 1.49822 1.63821 1.71733 1.74168 1.71429 1.588 1.48453 +1.44192 1.42519 1.48301 1.55757 1.5667 1.54235 1.53626 1.57887 +1.58952 1.50887 1.4541 1.34302 1.20455 1.13152 1.06609 1.05771 +1.05869 1.05249 1.05249 1.05967 1.05837 1.0378 1.01527 1.00057 +0.990776 0.994694 0.994367 0.99502 1.00514 1.00939 1.01559 1.01853 +1.01853 1.01918 1.02506 1.02996 1.02865 1.02408 1.01886 1.01004 +1.00253 0.98849 0.972421 0.953474 0.935158 0.935158 0.932 0.897263 +0.774737 0.601684 0.519579 0.505053 0.486747 0.500632 0.504421 0.484853 +0.439413 0.422373 0.439413 0.464027 0.46592 0.48296 0.498107 0.469707 +0.450773 0.464027 0.47728 0.45456 0.4432 0.484853 0.504421 0.517053 +0.563789 0.655368 0.774737 0.885263 0.956632 0.985224 0.992408 0.974947 +0.866316 0.719789 0.621263 0.578316 0.559368 0.522105 0.473493 0.505684 +0.587158 0.678737 0.661684 0.589053 0.575789 0.592842 0.573263 0.522105 +0.441307 0.405333 0.407227 0.411013 0.418587 0.416693 0.399653 0.3864 +0.38072 0.361787 0.354213 0.35232 0.359893 0.358 0.358 0.367467 +0.373147 0.37504 0.378827 0.376933 0.384507 0.412907 0.424267 0.4432 +0.47728 0.508211 0.524 0.514526 0.45456 0.40344 0.384507 0.416693 +0.535368 0.613053 0.614947 0.545474 0.450773 0.38072 0.361787 0.361787 +0.356107 0.367467 0.39208 0.4148 0.441307 0.467813 0.4716 0.44888 +0.416693 0.39208 0.373147 0.361787 0.365573 0.37504 0.367467 0.350427 +0.342853 0.358 0.35232 0.35232 0.36936 0.361787 0.359893 0.376933 +0.393973 0.38072 0.365573 0.359893 0.358 0.350427 0.350427 0.358 +0.358 0.361787 0.365573 0.3864 0.422373 0.42616 0.429947 0.508211 +0.609895 0.787368 0.945263 0.999592 1.01429 1.03453 1.04139 1.01167 +0.981306 0.974316 0.974316 0.978737 0.988163 0.997306 1.0009 1.00449 +1.00645 1.00351 0.995347 0.990449 0.994694 1.00351 1.00939 1.00873 +1.00939 1.00939 1.0071 1.00971 1.01167 1.01004 1.01004 1.01004 +1.01135 1.01135 1.00808 1.00841 1.01037 1.00971 1.0071 0.999592 +0.990122 0.98 0.959158 0.948421 0.945895 0.942737 0.942105 0.945895 +0.961053 0.98098 0.983592 0.92821 0.767789 0.580211 0.416693 0.31256 +0.286053 0.276587 0.26144 0.236827 0.000966667 0.000926667 0.000866667 0.000833333 +0.000793333 0.00078 0.000773333 0.00076 0.00074 0.00074 0.000746667 0.000746667 +0.000733333 0.000753333 0.000746667 0.000713333 0.000686667 0.00068 0.000693333 0.000673333 +0.000693333 0.000686667 0.000666667 0.00066 0.00068 0.000693333 0.000706667 0.000746667 +0.000746667 0.000733333 0.0007 0.000726667 0.000713333 0.00072 0.00072 0.000713333 +0.0007 0.000693333 0.000706667 0.000706667 0.0007 0.000673333 0.000706667 0.000706667 +0.000686667 0.000686667 0.000706667 0.000713333 0.000713333 0.000706667 0.00074 0.000726667 +0.000713333 0.000713333 0.000733333 0.00076 0.000906667 0.246293 0.26144 0.217893 +0.216 0.29552 0.30688 0.259547 0.23872 0.286053 0.384507 0.513263 +0.669263 0.900421 0.994041 0.98849 0.969895 0.950316 0.948421 0.958526 +0.983592 1.00122 1.01069 1.01167 1.01298 1.01298 1.01102 1.01429 +1.01363 1.01135 1.01069 1.00906 0.999265 0.992082 0.997633 1.00808 +1.01037 1.01363 1.012 1.01004 1.00971 1.00776 1.00776 1.00873 +1.00906 1.00873 1.00743 1.00547 0.999592 0.988816 0.98098 0.98 +0.981306 0.98098 0.963579 0.885263 0.745053 0.600421 0.510737 0.422373 +0.39776 0.3864 0.384507 0.39208 0.388293 0.39208 0.401547 0.422373 +0.464027 0.496213 0.501895 0.508842 0.512 0.469707 0.416693 0.405333 +0.401547 0.393973 0.3864 0.39776 0.422373 0.43184 0.422373 0.424267 +0.492427 0.546105 0.564421 0.513263 0.416693 0.378827 0.358 0.35232 +0.34664 0.35232 0.390187 0.4432 0.48296 0.490533 0.49432 0.515789 +0.529684 0.49432 0.382613 0.34664 0.34664 0.367467 0.462133 0.506947 +0.439413 0.358 0.34096 0.34096 0.350427 0.354213 0.350427 0.350427 +0.348533 0.350427 0.34664 0.348533 0.34664 0.34664 0.34096 0.342853 +0.36936 0.3864 0.39208 0.4148 0.445093 0.48296 0.484853 0.462133 +0.441307 0.429947 0.458347 0.498107 0.5 0.490533 0.526526 0.590947 +0.612421 0.581474 0.545474 0.522737 0.517684 0.502526 0.42048 0.38072 +0.371253 0.373147 0.424267 0.505053 0.505684 0.43752 0.407227 0.439413 +0.500632 0.532842 0.561895 0.575158 0.568211 0.549263 0.520211 0.467813 +0.49432 0.526526 0.564421 0.649684 0.743158 0.811368 0.833474 0.871368 +0.976842 1.01624 1.02735 1.02278 1.012 0.929474 0.691368 0.535368 +0.502526 0.475387 0.452667 0.46024 0.44888 0.46024 0.501263 0.49432 +0.475387 0.492427 0.5 0.4716 0.450773 0.5 0.520842 0.517684 +0.5 0.481067 0.486747 0.496213 0.516421 0.550526 0.639579 0.787368 +0.938316 1.01755 1.0551 1.14521 1.21368 1.25477 1.31259 1.3841 +1.47996 1.59256 1.69603 1.72799 1.70668 1.61691 1.45866 1.37802 +1.35671 1.35063 1.41758 1.48605 1.50735 1.52257 1.57735 1.67321 +1.70668 1.61995 1.518 1.3978 1.26694 1.18477 1.10565 1.07369 +1.06304 1.06456 1.05445 1.04759 1.04661 1.04008 1.03616 1.02767 +1.01592 1.01069 0.998612 0.991429 0.997306 0.994041 0.996 1.00188 +1.00416 1.00286 1.00612 1.01135 1.00906 1.00808 1.0071 0.996327 +0.987184 0.965474 0.947158 0.940211 0.930105 0.926947 0.925053 0.886526 +0.757053 0.591579 0.513895 0.481067 0.4716 0.473493 0.490533 0.502526 +0.467813 0.428053 0.4432 0.44888 0.450773 0.467813 0.49432 0.479173 +0.47728 0.49432 0.503158 0.49432 0.46024 0.456453 0.475387 0.511368 +0.569474 0.682526 0.820211 0.932632 0.989796 1.00612 1.00841 0.982939 +0.883368 0.749474 0.628211 0.568211 0.554316 0.525895 0.462133 0.428053 +0.513895 0.613684 0.687579 0.664842 0.615579 0.575789 0.551789 0.548 +0.516421 0.435627 0.390187 0.382613 0.39208 0.395867 0.390187 0.373147 +0.358 0.34664 0.348533 0.354213 0.354213 0.344747 0.348533 0.36936 +0.371253 0.37504 0.376933 0.382613 0.401547 0.43752 0.4432 0.462133 +0.510105 0.518316 0.492427 0.416693 0.367467 0.361787 0.373147 0.382613 +0.49432 0.584632 0.645895 0.602316 0.512 0.388293 0.354213 0.348533 +0.34664 0.337173 0.348533 0.367467 0.37504 0.39208 0.399653 0.388293 +0.38072 0.36936 0.365573 0.356107 0.339067 0.3296 0.327707 0.31256 +0.304987 0.320133 0.32392 0.31824 0.32392 0.331493 0.337173 0.36368 +0.390187 0.359893 0.339067 0.344747 0.36368 0.359893 0.354213 0.361787 +0.371253 0.390187 0.39776 0.405333 0.42048 0.42048 0.4432 0.528421 +0.652211 0.824632 0.954737 0.99698 1.01396 1.03388 1.02604 0.991755 +0.965474 0.965474 0.967368 0.975579 0.986204 0.992082 0.996 1.00057 +1.0022 0.999592 0.992735 0.994367 1.00253 1.00808 1.01102 1.00906 +1.00808 1.00776 1.00678 1.00873 1.00873 1.00971 1.01102 1.01069 +1.01167 1.01167 1.01004 1.01135 1.00971 1.00416 0.999592 0.990122 +0.98 0.967368 0.952211 0.942737 0.942105 0.938947 0.940211 0.955368 +0.980653 0.98751 0.948421 0.809474 0.625053 0.48864 0.3296 0.27848 +0.274693 0.259547 0.246293 0.236827 0.217893 0.000946667 0.000866667 0.000813333 +0.0008 0.00076 0.00076 0.000753333 0.00074 0.00076 0.000746667 0.000733333 +0.000713333 0.00074 0.00074 0.000706667 0.0007 0.00072 0.000713333 0.00068 +0.000693333 0.00068 0.000673333 0.00066 0.000666667 0.00068 0.00068 0.000686667 +0.000693333 0.000686667 0.00068 0.000713333 0.0007 0.000706667 0.000713333 0.000733333 +0.00072 0.000726667 0.000726667 0.00072 0.0007 0.000713333 0.000713333 0.0007 +0.000706667 0.00074 0.000753333 0.000713333 0.00072 0.000726667 0.000726667 0.000706667 +0.000733333 0.000753333 0.000773333 0.000833333 0.217893 0.26144 0.246293 0.000893333 +0.00098 0.310667 0.31256 0.23872 0.00098 0.248187 0.344747 0.469707 +0.602947 0.830947 0.984571 0.992408 0.974947 0.949684 0.942737 0.949684 +0.974316 0.994367 1.00645 1.01102 1.01396 1.01102 1.00939 1.01265 +1.01527 1.01429 1.01331 1.01233 1.00612 0.99698 0.996327 1.00514 +1.01135 1.01363 1.012 1.012 1.012 1.01069 1.00971 1.00906 +1.00971 1.00873 1.00678 1.00678 1.00057 0.990449 0.984245 0.981633 +0.983265 0.982612 0.975579 0.921895 0.796211 0.640842 0.526526 0.42616 +0.3864 0.376933 0.371253 0.384507 0.393973 0.39776 0.405333 0.429947 +0.446987 0.43184 0.429947 0.473493 0.5 0.44888 0.405333 0.401547 +0.399653 0.39208 0.382613 0.376933 0.367467 0.356107 0.344747 0.356107 +0.40912 0.502526 0.514526 0.462133 0.40912 0.405333 0.39208 0.38072 +0.37504 0.388293 0.412907 0.43184 0.43184 0.412907 0.407227 0.452667 +0.48296 0.4148 0.367467 0.35232 0.339067 0.337173 0.405333 0.462133 +0.416693 0.365573 0.344747 0.3296 0.331493 0.344747 0.34664 0.34664 +0.339067 0.350427 0.36368 0.359893 0.34664 0.34664 0.359893 0.371253 +0.39208 0.388293 0.382613 0.416693 0.450773 0.4716 0.445093 0.411013 +0.418587 0.43752 0.464027 0.473493 0.45456 0.445093 0.515789 0.577053 +0.602947 0.589053 0.561895 0.537895 0.508842 0.441307 0.40912 0.393973 +0.371253 0.361787 0.4148 0.518316 0.515158 0.416693 0.378827 0.416693 +0.501263 0.537263 0.565684 0.577684 0.567579 0.551158 0.525263 0.500632 +0.525895 0.550526 0.543579 0.587158 0.683789 0.771579 0.791158 0.813263 +0.921263 0.996327 1.01233 1.00776 0.992408 0.863789 0.634526 0.519579 +0.48296 0.445093 0.44888 0.462133 0.435627 0.439413 0.48864 0.503158 +0.504421 0.501263 0.464027 0.42616 0.42048 0.45456 0.510105 0.525263 +0.512632 0.501895 0.501263 0.503789 0.524632 0.581474 0.717263 0.892211 +1.00286 1.04759 1.15282 1.25629 1.33845 1.39323 1.47083 1.56213 +1.6306 1.67777 1.70212 1.68082 1.6306 1.50431 1.33237 1.27759 +1.32932 1.37802 1.40693 1.44649 1.49214 1.54844 1.64734 1.73407 +1.72951 1.60321 1.50279 1.41301 1.27911 1.19999 1.16803 1.16347 +1.14977 1.14369 1.09956 1.05902 1.05445 1.05445 1.07978 1.09348 +1.05967 1.04204 1.01722 1.00482 0.999918 0.98751 0.983918 0.987184 +0.987837 0.985551 0.98751 0.993388 0.99502 1.00057 1.00122 0.986857 +0.969895 0.946526 0.933263 0.930737 0.923158 0.917474 0.918737 0.875789 +0.736842 0.582105 0.512632 0.475387 0.462133 0.46592 0.501895 0.512 +0.490533 0.45456 0.456453 0.446987 0.445093 0.46024 0.458347 0.44888 +0.46592 0.490533 0.515789 0.516421 0.46592 0.424267 0.450773 0.501263 +0.541684 0.628842 0.765263 0.901684 0.98751 1.01429 1.01918 0.993061 +0.912421 0.774737 0.624421 0.553053 0.549895 0.534105 0.473493 0.4148 +0.43752 0.542316 0.662316 0.722947 0.666105 0.581474 0.541684 0.549263 +0.536632 0.473493 0.39776 0.36936 0.354213 0.359893 0.373147 0.371253 +0.35232 0.3296 0.331493 0.344747 0.33528 0.331493 0.35232 0.37504 +0.376933 0.367467 0.376933 0.393973 0.39776 0.407227 0.40912 0.418587 +0.501895 0.512 0.422373 0.356107 0.339067 0.339067 0.356107 0.36936 +0.39776 0.522105 0.608 0.619368 0.545474 0.441307 0.36936 0.358 +0.367467 0.358 0.36368 0.36936 0.371253 0.388293 0.384507 0.365573 +0.361787 0.356107 0.342853 0.33528 0.32392 0.314453 0.308773 0.303093 +0.3012 0.3012 0.31824 0.314453 0.310667 0.31824 0.322027 0.36368 +0.393973 0.358 0.337173 0.337173 0.365573 0.373147 0.38072 0.399653 +0.412907 0.40912 0.405333 0.40344 0.407227 0.429947 0.473493 0.548 +0.683158 0.848632 0.962316 0.997959 1.01527 1.02604 1.00547 0.973684 +0.956 0.955368 0.963579 0.980327 0.98849 0.993388 0.99698 1.00024 +1.00155 0.999265 0.997959 1.00416 1.00906 1.00743 1.00808 1.00743 +1.00841 1.00776 1.00841 1.01004 1.00841 1.00939 1.01037 1.01102 +1.012 1.01102 1.01037 1.01069 1.0071 0.99698 0.98849 0.978737 +0.962316 0.957263 0.950947 0.944 0.941474 0.940211 0.951579 0.974947 +0.987184 0.965474 0.846737 0.661053 0.515158 0.354213 0.274693 0.23872 +0.253867 0.26144 0.25576 0.25008 0.229253 0.00094 0.000826667 0.00078 +0.0008 0.00078 0.00076 0.000766667 0.000753333 0.000753333 0.00076 0.00076 +0.00074 0.00072 0.000733333 0.000726667 0.000693333 0.000713333 0.000726667 0.000713333 +0.000713333 0.0007 0.0007 0.000666667 0.000686667 0.000686667 0.000686667 0.000653333 +0.000666667 0.00066 0.000673333 0.000693333 0.000693333 0.000693333 0.000686667 0.00068 +0.00068 0.0007 0.0007 0.000686667 0.000673333 0.000686667 0.00068 0.0007 +0.000726667 0.00076 0.000726667 0.000733333 0.0007 0.00072 0.000726667 0.00068 +0.00072 0.000753333 0.000786667 0.000906667 0.25008 0.280373 0.23304 0.000853333 +0.00098 0.31824 0.316347 0.223573 0.000913333 0.000973333 0.28984 0.416693 +0.554947 0.756421 0.959789 0.997306 0.982612 0.956 0.943368 0.945895 +0.964842 0.988816 1.00318 1.01069 1.01298 1.00971 1.00841 1.01069 +1.01461 1.01527 1.01429 1.01233 1.00906 1.00188 0.99698 1.00416 +1.012 1.01429 1.01265 1.01298 1.01494 1.01429 1.01298 1.01102 +1.00873 1.00841 1.00841 1.00841 1.00384 0.995673 0.986531 0.981959 +0.982286 0.981959 0.979368 0.945895 0.839158 0.683789 0.549895 0.439413 +0.393973 0.376933 0.36368 0.388293 0.411013 0.412907 0.418587 0.433733 +0.416693 0.399653 0.40912 0.4432 0.458347 0.418587 0.393973 0.393973 +0.393973 0.390187 0.371253 0.359893 0.361787 0.34096 0.322027 0.327707 +0.359893 0.399653 0.39776 0.38072 0.38072 0.384507 0.3864 0.393973 +0.39776 0.399653 0.39208 0.38072 0.358 0.331493 0.34096 0.390187 +0.416693 0.388293 0.36936 0.34664 0.325813 0.342853 0.384507 0.399653 +0.37504 0.371253 0.356107 0.320133 0.304987 0.316347 0.31824 0.32392 +0.322027 0.331493 0.344747 0.35232 0.359893 0.371253 0.395867 0.405333 +0.407227 0.407227 0.43752 0.4716 0.464027 0.433733 0.411013 0.42048 +0.452667 0.4432 0.4148 0.39776 0.39208 0.429947 0.522737 0.581474 +0.610526 0.602316 0.585895 0.556211 0.496213 0.412907 0.4148 0.416693 +0.399653 0.36936 0.388293 0.506947 0.509474 0.424267 0.38072 0.407227 +0.505684 0.548632 0.573895 0.582105 0.575789 0.559368 0.528421 0.510105 +0.546105 0.556842 0.525263 0.544842 0.627579 0.726737 0.743789 0.748211 +0.851789 0.949684 0.98 0.967368 0.914316 0.750737 0.566316 0.49432 +0.446987 0.416693 0.439413 0.43184 0.40912 0.42616 0.445093 0.462133 +0.498107 0.481067 0.429947 0.422373 0.4432 0.462133 0.502526 0.523368 +0.526526 0.507579 0.503158 0.511368 0.539158 0.630105 0.806316 0.983265 +1.03682 1.09043 1.23194 1.35824 1.45105 1.52257 1.61539 1.68995 +1.69755 1.68386 1.66408 1.623 1.5667 1.43279 1.28368 1.26542 +1.34606 1.39932 1.39019 1.38715 1.4541 1.57126 1.68386 1.70668 +1.6656 1.54387 1.49366 1.50887 1.4404 1.36432 1.32628 1.31715 +1.28215 1.23194 1.19694 1.18173 1.12847 1.09956 1.14825 1.16651 +1.13608 1.07826 1.04563 1.02963 1.02016 1.00449 0.990449 0.980327 +0.968 0.956 0.950947 0.966105 0.984571 0.996327 0.998939 0.984898 +0.965474 0.959158 0.949684 0.938947 0.921263 0.911158 0.913684 0.855579 +0.694526 0.558737 0.507579 0.475387 0.456453 0.475387 0.518316 0.544842 +0.534737 0.514526 0.500632 0.467813 0.462133 0.479173 0.456453 0.433733 +0.439413 0.446987 0.486747 0.501263 0.439413 0.42616 0.462133 0.500632 +0.515158 0.541053 0.644632 0.830316 0.98098 1.01722 1.0231 1.00449 +0.944 0.788632 0.611789 0.536 0.544842 0.531579 0.469707 0.422373 +0.4432 0.532842 0.658526 0.767158 0.737474 0.632632 0.553684 0.530947 +0.534737 0.506316 0.4148 0.367467 0.33528 0.3296 0.354213 0.371253 +0.359893 0.34096 0.342853 0.350427 0.337173 0.337173 0.350427 0.358 +0.37504 0.38072 0.382613 0.393973 0.393973 0.388293 0.38072 0.40344 +0.510737 0.526526 0.43184 0.348533 0.339067 0.339067 0.342853 0.358 +0.36368 0.418587 0.534737 0.590316 0.569474 0.508842 0.399653 0.358 +0.361787 0.361787 0.38072 0.390187 0.384507 0.390187 0.384507 0.367467 +0.350427 0.342853 0.3296 0.320133 0.320133 0.310667 0.30688 0.30688 +0.303093 0.304987 0.3296 0.331493 0.316347 0.310667 0.316347 0.36368 +0.37504 0.342853 0.337173 0.337173 0.371253 0.40344 0.43184 0.43752 +0.435627 0.407227 0.401547 0.401547 0.40912 0.4432 0.501895 0.568842 +0.709684 0.866947 0.968 0.998612 1.01494 1.01527 0.98751 0.953474 +0.949053 0.952842 0.968632 0.985878 0.992735 0.99698 1.00188 1.00547 +1.00547 1.00318 1.00188 1.0071 1.01069 1.0071 1.00743 1.00808 +1.00873 1.01037 1.00906 1.01004 1.00939 1.01037 1.00873 1.00906 +1.00971 1.00971 1.00776 1.00384 0.999592 0.989143 0.978737 0.964211 +0.951579 0.950316 0.951579 0.946526 0.944632 0.950316 0.970526 0.984571 +0.970526 0.868842 0.691368 0.532842 0.373147 0.282267 0.231147 0.22168 +0.23872 0.253867 0.259547 0.25576 0.231147 0.000953333 0.00086 0.000786667 +0.0008 0.00078 0.000746667 0.000766667 0.000773333 0.000773333 0.000766667 0.00076 +0.000746667 0.000693333 0.0007 0.00074 0.000693333 0.000706667 0.00072 0.000693333 +0.000686667 0.000686667 0.0007 0.000706667 0.00072 0.000706667 0.0007 0.00068 +0.000706667 0.000693333 0.00072 0.00072 0.00074 0.000726667 0.00072 0.000713333 +0.000706667 0.000686667 0.000673333 0.000653333 0.000673333 0.00068 0.00066 0.000666667 +0.0007 0.000706667 0.000686667 0.000673333 0.0007 0.00072 0.000686667 0.0007 +0.000753333 0.00076 0.000766667 0.000906667 0.263333 0.282267 0.000993333 0.000826667 +0.000966667 0.314453 0.310667 0.000993333 0.000866667 0.0009 0.253867 0.39208 +0.524 0.682526 0.912421 0.997959 0.988816 0.968 0.949053 0.945263 +0.956632 0.982612 0.998939 1.01004 1.01265 1.01102 1.01167 1.01265 +1.01331 1.01363 1.01265 1.01037 1.00906 1.00547 0.999918 1.00155 +1.0071 1.01233 1.01135 1.01363 1.01494 1.01233 1.01102 1.01069 +1.00841 1.00939 1.00971 1.00841 1.00612 0.998286 0.989469 0.983918 +0.982612 0.983592 0.98 0.956632 0.870105 0.723579 0.578316 0.490533 +0.42616 0.411013 0.42048 0.450773 0.441307 0.40912 0.401547 0.412907 +0.40344 0.393973 0.401547 0.42616 0.424267 0.388293 0.376933 0.378827 +0.37504 0.36368 0.344747 0.34096 0.356107 0.34096 0.33528 0.344747 +0.358 0.376933 0.36368 0.361787 0.36368 0.359893 0.361787 0.378827 +0.376933 0.361787 0.354213 0.34664 0.32392 0.320133 0.348533 0.378827 +0.382613 0.376933 0.365573 0.337173 0.337173 0.358 0.37504 0.36368 +0.342853 0.365573 0.373147 0.34664 0.31824 0.31256 0.310667 0.31824 +0.314453 0.325813 0.344747 0.361787 0.384507 0.412907 0.446987 0.43752 +0.429947 0.458347 0.502526 0.490533 0.42616 0.411013 0.433733 0.452667 +0.45456 0.422373 0.382613 0.373147 0.399653 0.503789 0.565684 0.611789 +0.625053 0.614947 0.605474 0.551789 0.45456 0.39208 0.399653 0.418587 +0.429947 0.40344 0.411013 0.501263 0.498107 0.412907 0.388293 0.43752 +0.519579 0.561895 0.587789 0.592211 0.587158 0.565684 0.519579 0.506316 +0.546105 0.539158 0.507579 0.515158 0.575158 0.676211 0.700211 0.699579 +0.791789 0.876421 0.902316 0.880211 0.799368 0.640211 0.513895 0.46024 +0.424267 0.412907 0.418587 0.405333 0.39208 0.416693 0.429947 0.435627 +0.473493 0.4716 0.42048 0.433733 0.48864 0.490533 0.475387 0.516421 +0.541053 0.518947 0.504421 0.518316 0.564421 0.693263 0.884632 1.01494 +1.06304 1.16803 1.2852 1.42975 1.55452 1.63821 1.69299 1.70973 +1.67929 1.63973 1.58191 1.52866 1.50887 1.41453 1.31107 1.3278 +1.39475 1.43279 1.41301 1.3628 1.41149 1.53018 1.61539 1.59408 +1.52866 1.42062 1.37649 1.43736 1.48301 1.45714 1.40388 1.36584 +1.30954 1.25477 1.24868 1.26846 1.23042 1.18934 1.1939 1.15738 +1.09195 1.08435 1.08282 1.0813 1.06761 1.04629 1.0218 0.99698 +0.978737 0.945895 0.923158 0.936421 0.974947 0.994367 1.0009 0.991429 +0.984245 0.988163 0.989796 0.981959 0.952211 0.921895 0.910526 0.827158 +0.649684 0.536632 0.505053 0.481067 0.469707 0.503789 0.558737 0.62 +0.602316 0.548 0.512 0.469707 0.446987 0.467813 0.450773 0.411013 +0.424267 0.43752 0.42616 0.418587 0.407227 0.418587 0.45456 0.5 +0.503158 0.481067 0.566947 0.765895 0.945895 1.00514 1.01559 1.0022 +0.935789 0.770316 0.592211 0.524 0.534105 0.518316 0.4432 0.4148 +0.452667 0.554316 0.707789 0.842947 0.838526 0.718526 0.586526 0.523368 +0.519579 0.512632 0.44888 0.38072 0.348533 0.333387 0.34096 0.361787 +0.359893 0.356107 0.34664 0.35232 0.348533 0.356107 0.356107 0.344747 +0.365573 0.39208 0.378827 0.376933 0.39208 0.388293 0.36936 0.412907 +0.512 0.518947 0.429947 0.36368 0.350427 0.344747 0.348533 0.354213 +0.36368 0.388293 0.48296 0.56 0.589053 0.546737 0.456453 0.350427 +0.33528 0.350427 0.3864 0.40344 0.399653 0.388293 0.373147 0.36936 +0.35232 0.339067 0.327707 0.327707 0.333387 0.32392 0.304987 0.3012 +0.3012 0.316347 0.342853 0.35232 0.359893 0.358 0.34664 0.359893 +0.358 0.34096 0.337173 0.350427 0.36368 0.418587 0.469707 0.456453 +0.435627 0.416693 0.433733 0.441307 0.433733 0.45456 0.506316 0.585263 +0.736211 0.882737 0.969263 0.998612 1.00971 0.999265 0.971789 0.947789 +0.946526 0.949684 0.968632 0.98849 0.996653 0.999265 1.0009 1.00384 +1.00612 1.00776 1.00645 1.00808 1.00841 1.00678 1.00939 1.00939 +1.00808 1.00776 1.0071 1.00776 1.00743 1.00873 1.00776 1.00873 +1.00808 1.00612 1.00416 0.997306 0.989143 0.976211 0.963579 0.956632 +0.944632 0.943368 0.948421 0.947789 0.954737 0.974947 0.985878 0.972421 +0.878316 0.712211 0.548 0.388293 0.31824 0.248187 0.000953333 0.00096 +0.229253 0.242507 0.253867 0.259547 0.2444 0.00098 0.000873333 0.000786667 +0.00076 0.00076 0.000766667 0.000773333 0.000773333 0.000773333 0.000733333 0.00072 +0.000726667 0.00072 0.0007 0.000706667 0.000693333 0.000706667 0.0007 0.00068 +0.000673333 0.000686667 0.00068 0.000686667 0.000693333 0.000693333 0.0007 0.000693333 +0.0007 0.000686667 0.000693333 0.000693333 0.00072 0.000706667 0.000713333 0.00072 +0.000753333 0.00072 0.000693333 0.000693333 0.000713333 0.000726667 0.000726667 0.000733333 +0.00072 0.000713333 0.000693333 0.0007 0.000726667 0.000733333 0.000713333 0.00072 +0.000713333 0.000706667 0.00074 0.000906667 0.274693 0.282267 0.00094 0.000793333 +0.000933333 0.303093 0.304987 0.00098 0.000866667 0.00086 0.225467 0.36368 +0.502526 0.616211 0.846105 0.990122 0.992408 0.973684 0.954105 0.949053 +0.952842 0.973684 0.993388 1.00645 1.01167 1.01102 1.01298 1.01396 +1.01429 1.01298 1.01069 1.01069 1.01135 1.00873 1.00286 0.998612 +1.00122 1.00906 1.01167 1.01331 1.01363 1.01135 1.00906 1.00776 +1.00678 1.00808 1.00906 1.00743 1.00645 0.999918 0.991755 0.986857 +0.984898 0.985551 0.983918 0.971789 0.901053 0.765895 0.614947 0.515158 +0.433733 0.42048 0.439413 0.44888 0.42616 0.40344 0.405333 0.42048 +0.40912 0.401547 0.42048 0.43752 0.411013 0.373147 0.359893 0.361787 +0.36368 0.354213 0.34096 0.33528 0.337173 0.339067 0.359893 0.36368 +0.378827 0.399653 0.371253 0.354213 0.359893 0.36368 0.365573 0.367467 +0.358 0.35232 0.350427 0.333387 0.325813 0.344747 0.376933 0.365573 +0.342853 0.350427 0.354213 0.339067 0.337173 0.337173 0.34664 0.359893 +0.339067 0.339067 0.371253 0.378827 0.34096 0.31256 0.316347 0.32392 +0.320133 0.3296 0.34664 0.365573 0.39208 0.4148 0.433733 0.4432 +0.446987 0.462133 0.4716 0.428053 0.393973 0.412907 0.441307 0.433733 +0.416693 0.40344 0.39208 0.390187 0.445093 0.545474 0.610526 0.638947 +0.633895 0.626947 0.603579 0.525895 0.412907 0.382613 0.39208 0.416693 +0.450773 0.439413 0.439413 0.490533 0.46024 0.382613 0.38072 0.469707 +0.536 0.576421 0.59979 0.603579 0.593474 0.561263 0.509474 0.505053 +0.544842 0.524632 0.486747 0.506316 0.553053 0.627579 0.651579 0.661053 +0.738105 0.805684 0.828421 0.796842 0.698316 0.565684 0.496213 0.462133 +0.446987 0.428053 0.424267 0.40344 0.393973 0.401547 0.42048 0.43184 +0.475387 0.4716 0.4148 0.422373 0.467813 0.475387 0.469707 0.510105 +0.540421 0.537895 0.531579 0.545474 0.608 0.762105 0.948421 1.0378 +1.16956 1.27911 1.34606 1.4404 1.59256 1.68234 1.69299 1.67321 +1.62756 1.57887 1.51344 1.47236 1.47388 1.42671 1.37041 1.39475 +1.43736 1.48453 1.48453 1.42519 1.43584 1.46931 1.518 1.54539 +1.45866 1.33389 1.26998 1.28063 1.33237 1.34606 1.32628 1.28672 +1.21216 1.16803 1.18173 1.21064 1.21977 1.2076 1.20151 1.16195 +1.09348 1.08587 1.095 1.12999 1.16651 1.14521 1.06456 1.0329 +1.0058 0.98098 0.940842 0.936421 0.966737 0.988163 0.996653 0.995347 +0.996 1.0022 1.00841 1.00286 0.98849 0.950947 0.913684 0.791789 +0.610526 0.523368 0.501263 0.486747 0.498107 0.535368 0.626947 0.693895 +0.636421 0.547368 0.504421 0.441307 0.428053 0.4432 0.435627 0.4148 +0.43752 0.439413 0.42048 0.390187 0.3864 0.399653 0.42048 0.48296 +0.484853 0.439413 0.536632 0.702737 0.866316 0.957895 0.984898 0.949053 +0.836 0.692632 0.566947 0.518316 0.523368 0.508211 0.429947 0.407227 +0.4432 0.567579 0.759579 0.918737 0.928842 0.8 0.633263 0.542947 +0.511368 0.503789 0.479173 0.418587 0.371253 0.337173 0.325813 0.34664 +0.358 0.36368 0.35232 0.350427 0.344747 0.354213 0.361787 0.354213 +0.361787 0.376933 0.37504 0.365573 0.38072 0.384507 0.358 0.418587 +0.501895 0.464027 0.3864 0.388293 0.38072 0.354213 0.356107 0.34664 +0.342853 0.37504 0.416693 0.520211 0.578947 0.575158 0.519579 0.405333 +0.354213 0.365573 0.3864 0.390187 0.382613 0.373147 0.365573 0.38072 +0.384507 0.37504 0.371253 0.35232 0.3296 0.32392 0.310667 0.31256 +0.32392 0.333387 0.339067 0.373147 0.424267 0.43752 0.40344 0.39208 +0.382613 0.371253 0.361787 0.367467 0.36368 0.418587 0.486747 0.4716 +0.452667 0.452667 0.4716 0.462133 0.445093 0.458347 0.510737 0.602316 +0.757684 0.895368 0.975579 0.999265 0.997633 0.979368 0.952842 0.944632 +0.945263 0.947789 0.965474 0.984898 0.994041 0.997306 0.998612 1.00024 +1.00318 1.00743 1.00873 1.00841 1.00776 1.00678 1.00841 1.00776 +1.0071 1.00612 1.00416 1.0071 1.00743 1.00873 1.00776 1.00873 +1.00612 1.0009 0.995673 0.987837 0.980327 0.961684 0.949684 0.947789 +0.942105 0.938947 0.945263 0.956 0.973684 0.985551 0.978737 0.891579 +0.722947 0.56 0.412907 0.325813 0.274693 0.216 0.000933333 0.00096 +0.219787 0.234933 0.253867 0.26712 0.246293 0.000933333 0.000806667 0.00076 +0.000753333 0.000746667 0.000766667 0.000766667 0.000753333 0.000753333 0.000726667 0.000733333 +0.00074 0.000733333 0.000706667 0.000686667 0.000686667 0.0007 0.000706667 0.0007 +0.000673333 0.000693333 0.000666667 0.000686667 0.0007 0.0007 0.0007 0.0007 +0.000713333 0.000693333 0.000693333 0.000686667 0.00068 0.000673333 0.000686667 0.000693333 +0.00072 0.000693333 0.0007 0.0007 0.000713333 0.000726667 0.000733333 0.000746667 +0.000726667 0.000726667 0.00074 0.000713333 0.000766667 0.00076 0.00072 0.000746667 +0.000726667 0.000713333 0.00072 0.000873333 0.27848 0.297413 0.000973333 0.000833333 +0.00096 0.29552 0.28984 0.000906667 0.000806667 0.000806667 0.000926667 0.310667 +0.452667 0.560632 0.764 0.962947 0.995673 0.981959 0.961684 0.954105 +0.952842 0.963579 0.98751 1.00384 1.01135 1.01265 1.01396 1.01363 +1.01396 1.012 1.01102 1.01265 1.01363 1.01167 1.00547 0.999592 +0.998612 1.00612 1.01167 1.01233 1.01429 1.01298 1.01037 1.00873 +1.0071 1.00678 1.00776 1.00645 1.0071 1.00188 0.993714 0.988816 +0.984898 0.984571 0.983592 0.976842 0.927579 0.813895 0.655368 0.535368 +0.45456 0.42048 0.42048 0.405333 0.395867 0.399653 0.411013 0.422373 +0.399653 0.39208 0.43184 0.458347 0.428053 0.376933 0.348533 0.35232 +0.361787 0.358 0.356107 0.354213 0.359893 0.373147 0.384507 0.382613 +0.399653 0.407227 0.37504 0.36368 0.365573 0.365573 0.371253 0.36936 +0.354213 0.344747 0.34664 0.344747 0.344747 0.359893 0.376933 0.359893 +0.32392 0.339067 0.367467 0.359893 0.333387 0.316347 0.344747 0.359893 +0.337173 0.33528 0.36368 0.390187 0.356107 0.333387 0.331493 0.331493 +0.339067 0.333387 0.333387 0.358 0.376933 0.376933 0.407227 0.45456 +0.46024 0.456453 0.446987 0.40912 0.395867 0.395867 0.40344 0.405333 +0.38072 0.37504 0.393973 0.418587 0.513895 0.592842 0.643368 0.653474 +0.640842 0.626316 0.572632 0.48296 0.405333 0.416693 0.428053 0.43752 +0.456453 0.433733 0.42048 0.458347 0.439413 0.3864 0.393973 0.5 +0.553053 0.591579 0.610526 0.612421 0.594737 0.549895 0.500632 0.505684 +0.540421 0.518947 0.500632 0.527789 0.565684 0.591579 0.611158 0.644632 +0.704632 0.755789 0.770947 0.730526 0.635789 0.532842 0.4716 0.450773 +0.439413 0.4432 0.428053 0.424267 0.416693 0.40912 0.418587 0.43752 +0.486747 0.481067 0.43184 0.424267 0.43184 0.441307 0.467813 0.503789 +0.530316 0.553053 0.563789 0.580842 0.656632 0.823368 0.986204 1.05151 +1.23498 1.35671 1.41606 1.4967 1.6306 1.68386 1.66712 1.61995 +1.54691 1.48301 1.44345 1.42823 1.41758 1.39475 1.40997 1.44801 +1.44497 1.46018 1.45866 1.42823 1.41453 1.36432 1.3841 1.46323 +1.39628 1.29889 1.23498 1.22129 1.24868 1.25477 1.25933 1.23803 +1.18782 1.16499 1.16956 1.16195 1.1513 1.15434 1.1726 1.18021 +1.14977 1.13456 1.1026 1.08587 1.11934 1.15434 1.12391 1.05706 +1.0391 1.02343 1.00351 0.982612 0.971158 0.977474 0.986531 0.994367 +1.00351 1.00645 1.01102 1.00873 1.00024 0.981959 0.924421 0.765895 +0.583368 0.513263 0.481067 0.47728 0.503158 0.553053 0.655368 0.692632 +0.604842 0.524632 0.484853 0.441307 0.445093 0.435627 0.422373 0.42616 +0.433733 0.42616 0.416693 0.388293 0.388293 0.395867 0.422373 0.4716 +0.456453 0.418587 0.513895 0.632632 0.760842 0.839158 0.862526 0.798105 +0.673053 0.593474 0.548 0.517053 0.513895 0.492427 0.42616 0.418587 +0.450773 0.565684 0.760211 0.923158 0.938316 0.815789 0.650316 0.562526 +0.517684 0.48864 0.492427 0.462133 0.390187 0.34096 0.339067 0.34096 +0.354213 0.365573 0.354213 0.365573 0.36368 0.354213 0.376933 0.390187 +0.376933 0.36936 0.365573 0.356107 0.373147 0.37504 0.356107 0.4148 +0.48864 0.418587 0.34664 0.36936 0.378827 0.361787 0.361787 0.35232 +0.33528 0.358 0.384507 0.452667 0.532842 0.567579 0.556842 0.513895 +0.433733 0.39776 0.384507 0.358 0.344747 0.356107 0.36936 0.382613 +0.401547 0.4148 0.424267 0.395867 0.34664 0.325813 0.31824 0.337173 +0.367467 0.36936 0.33528 0.358 0.407227 0.433733 0.45456 0.481067 +0.486747 0.481067 0.479173 0.475387 0.4432 0.445093 0.469707 0.45456 +0.445093 0.458347 0.464027 0.43752 0.424267 0.446987 0.519579 0.626316 +0.777263 0.900421 0.969895 0.988816 0.981633 0.958526 0.948421 0.943368 +0.944 0.950316 0.963579 0.978737 0.986204 0.989469 0.992408 0.99698 +1.00122 1.00645 1.00776 1.00743 1.00906 1.00808 1.00612 1.00482 +1.00547 1.00612 1.00645 1.00808 1.00841 1.00971 1.00841 1.00612 +1.0022 0.995673 0.987184 0.973053 0.963579 0.952842 0.943368 0.942737 +0.941474 0.943368 0.955368 0.974947 0.984245 0.978105 0.899158 0.74 +0.565684 0.40912 0.34664 0.310667 0.242507 0.00094 0.000946667 0.00098 +0.216 0.229253 0.257653 0.263333 0.22736 0.000866667 0.000786667 0.000773333 +0.000766667 0.000773333 0.000773333 0.00076 0.000746667 0.00076 0.000733333 0.000733333 +0.000713333 0.000686667 0.0007 0.000713333 0.000686667 0.000686667 0.000686667 0.0007 +0.000693333 0.000733333 0.000713333 0.000726667 0.000713333 0.000713333 0.000693333 0.00068 +0.00068 0.00068 0.000686667 0.000693333 0.000666667 0.00068 0.00068 0.0007 +0.000693333 0.00066 0.00068 0.000706667 0.00072 0.000713333 0.000693333 0.0007 +0.000693333 0.000726667 0.000726667 0.000733333 0.00074 0.000713333 0.000693333 0.00074 +0.00072 0.00072 0.000713333 0.000813333 0.26144 0.310667 0.246293 0.00096 +0.231147 0.293627 0.269013 0.000886667 0.00078 0.0008 0.000893333 0.274693 +0.40344 0.515789 0.676211 0.904211 0.994041 0.989143 0.973684 0.955368 +0.949053 0.954737 0.980327 0.998939 1.01037 1.01396 1.01298 1.01265 +1.01069 1.00939 1.01135 1.01363 1.01363 1.01396 1.01069 1.00547 +1.00057 1.00351 1.01004 1.012 1.01363 1.01331 1.01135 1.01102 +1.01167 1.01037 1.00841 1.0071 1.00678 1.00384 0.999265 0.993061 +0.986857 0.984245 0.982286 0.979368 0.948421 0.856842 0.705895 0.567579 +0.486747 0.424267 0.40912 0.384507 0.384507 0.390187 0.395867 0.407227 +0.384507 0.371253 0.416693 0.464027 0.469707 0.429947 0.38072 0.38072 +0.40344 0.4148 0.43752 0.450773 0.452667 0.439413 0.412907 0.399653 +0.390187 0.373147 0.348533 0.354213 0.367467 0.388293 0.382613 0.359893 +0.339067 0.325813 0.337173 0.34096 0.354213 0.36368 0.36368 0.34664 +0.3296 0.337173 0.3864 0.388293 0.34664 0.339067 0.350427 0.35232 +0.339067 0.350427 0.373147 0.382613 0.356107 0.342853 0.33528 0.33528 +0.348533 0.34664 0.344747 0.359893 0.35232 0.367467 0.422373 0.46024 +0.445093 0.458347 0.464027 0.422373 0.3864 0.36936 0.3864 0.40344 +0.384507 0.384507 0.418587 0.48864 0.563158 0.649053 0.683158 0.669895 +0.631368 0.593474 0.532211 0.4432 0.422373 0.441307 0.456453 0.45456 +0.4432 0.4148 0.40344 0.429947 0.439413 0.405333 0.416693 0.520842 +0.583368 0.615579 0.626316 0.627579 0.59979 0.542947 0.48296 0.502526 +0.533474 0.520842 0.519579 0.570105 0.596 0.569474 0.584 0.639579 +0.685684 0.721053 0.726737 0.681895 0.597263 0.529684 0.510105 0.500632 +0.486747 0.47728 0.44888 0.43184 0.416693 0.40912 0.40912 0.416693 +0.46024 0.48296 0.441307 0.428053 0.4432 0.46024 0.473493 0.492427 +0.521474 0.549895 0.561263 0.579579 0.676211 0.858105 0.995347 1.05184 +1.22281 1.35671 1.47388 1.60321 1.68386 1.66104 1.60169 1.52105 +1.44497 1.40845 1.3841 1.35824 1.34454 1.35976 1.41606 1.4404 +1.37649 1.33693 1.33541 1.33693 1.34606 1.28672 1.27759 1.33998 +1.32932 1.29128 1.23803 1.22433 1.23803 1.2289 1.23346 1.2152 +1.19086 1.18782 1.18629 1.16956 1.12847 1.10869 1.12086 1.16956 +1.21216 1.2076 1.16956 1.12695 1.12239 1.14521 1.13152 1.09195 +1.06304 1.07978 1.05869 1.03094 0.997633 0.977474 0.974947 0.989796 +1.00416 1.00808 1.01167 1.01167 1.00416 0.988163 0.923158 0.750737 +0.582105 0.522737 0.505053 0.500632 0.509474 0.552421 0.625053 0.622526 +0.542316 0.492427 0.450773 0.4432 0.44888 0.428053 0.416693 0.412907 +0.42616 0.433733 0.4148 0.384507 0.376933 0.401547 0.4432 0.4716 +0.42616 0.39208 0.47728 0.567579 0.649053 0.701474 0.705895 0.637053 +0.551789 0.541053 0.541053 0.510105 0.502526 0.467813 0.407227 0.39208 +0.416693 0.528421 0.68 0.822105 0.844211 0.740632 0.605474 0.554316 +0.530947 0.501263 0.49432 0.501263 0.43184 0.361787 0.344747 0.34096 +0.358 0.365573 0.373147 0.388293 0.37504 0.359893 0.388293 0.424267 +0.405333 0.371253 0.36368 0.356107 0.36368 0.36368 0.359893 0.418587 +0.473493 0.39776 0.3296 0.344747 0.358 0.358 0.378827 0.39208 +0.361787 0.348533 0.367467 0.390187 0.45456 0.529684 0.563158 0.551789 +0.512 0.4432 0.39208 0.356107 0.331493 0.3296 0.33528 0.350427 +0.38072 0.393973 0.39776 0.388293 0.354213 0.32392 0.31256 0.342853 +0.388293 0.388293 0.344747 0.33528 0.361787 0.390187 0.433733 0.479173 +0.503789 0.522105 0.541684 0.551789 0.532842 0.504421 0.452667 0.40912 +0.39776 0.418587 0.424267 0.412907 0.422373 0.446987 0.531579 0.651579 +0.792421 0.900421 0.957263 0.970526 0.957895 0.950947 0.947789 0.942105 +0.944 0.952842 0.959158 0.969895 0.977474 0.981633 0.987837 0.99698 +1.00351 1.0071 1.00743 1.00808 1.00841 1.00449 1.00482 1.00514 +1.00416 1.00514 1.00776 1.00971 1.00939 1.01037 1.0071 1.0022 +0.99502 0.986857 0.977474 0.961053 0.952211 0.947789 0.946526 0.946526 +0.947789 0.956632 0.976211 0.987184 0.98098 0.908 0.751368 0.577053 +0.411013 0.3296 0.3296 0.274693 0.00098 0.0009 0.000906667 0.000933333 +0.000986667 0.234933 0.26712 0.259547 0.000986667 0.000833333 0.000786667 0.000793333 +0.000773333 0.000766667 0.00076 0.000746667 0.000733333 0.000746667 0.000726667 0.000713333 +0.000713333 0.0007 0.000693333 0.000726667 0.000733333 0.000706667 0.00072 0.000726667 +0.000713333 0.00074 0.000746667 0.00074 0.000706667 0.000706667 0.0007 0.000693333 +0.00068 0.0007 0.000706667 0.000706667 0.000673333 0.00068 0.000666667 0.00068 +0.0007 0.000706667 0.000693333 0.000706667 0.000693333 0.00068 0.000713333 0.00072 +0.000706667 0.000706667 0.000706667 0.0007 0.000706667 0.00068 0.000673333 0.00072 +0.000706667 0.000726667 0.00072 0.00076 0.217893 0.287947 0.26712 0.2444 +0.25576 0.276587 0.240613 0.000866667 0.000786667 0.000806667 0.00088 0.2444 +0.361787 0.464027 0.596632 0.828421 0.985878 0.99502 0.983265 0.959158 +0.944 0.943368 0.962947 0.991755 1.00939 1.01363 1.012 1.01004 +1.00678 1.00384 1.0071 1.01135 1.01102 1.01396 1.01233 1.00841 +1.00351 1.00155 1.00776 1.01102 1.01135 1.01167 1.01102 1.01037 +1.012 1.01069 1.00776 1.00776 1.00841 1.0071 1.00318 0.996327 +0.990449 0.98751 0.985878 0.984245 0.965474 0.896632 0.762737 0.608 +0.510737 0.435627 0.40912 0.3864 0.384507 0.3864 0.401547 0.40344 +0.37504 0.382613 0.412907 0.446987 0.481067 0.505684 0.506316 0.508211 +0.520211 0.530947 0.534737 0.525895 0.512 0.484853 0.446987 0.428053 +0.3864 0.350427 0.331493 0.337173 0.358 0.373147 0.36368 0.33528 +0.325813 0.333387 0.344747 0.350427 0.36936 0.373147 0.350427 0.333387 +0.3296 0.342853 0.388293 0.373147 0.331493 0.33528 0.35232 0.356107 +0.337173 0.339067 0.365573 0.38072 0.365573 0.342853 0.33528 0.342853 +0.36936 0.378827 0.354213 0.350427 0.356107 0.378827 0.40912 0.412907 +0.4148 0.4432 0.445093 0.395867 0.359893 0.358 0.365573 0.384507 +0.40344 0.424267 0.496213 0.548632 0.630105 0.706526 0.722316 0.676842 +0.606737 0.554316 0.506947 0.43184 0.412907 0.412907 0.439413 0.45456 +0.441307 0.42616 0.4148 0.40344 0.407227 0.411013 0.462133 0.554947 +0.626316 0.648421 0.649053 0.644632 0.607368 0.542316 0.486747 0.510105 +0.534105 0.524 0.534105 0.598526 0.618737 0.559368 0.568842 0.639579 +0.672421 0.688211 0.685053 0.628842 0.549263 0.519579 0.529684 0.510737 +0.479173 0.48296 0.464027 0.446987 0.43184 0.405333 0.39776 0.405333 +0.446987 0.456453 0.428053 0.433733 0.45456 0.479173 0.498107 0.513895 +0.539158 0.553684 0.553053 0.581474 0.700211 0.880211 0.99698 1.04694 +1.2076 1.37954 1.52866 1.6443 1.65038 1.58495 1.50279 1.39932 +1.34302 1.33389 1.32019 1.30498 1.33237 1.37041 1.39171 1.36889 +1.28672 1.2502 1.25172 1.28672 1.32628 1.27759 1.2715 1.30498 +1.31107 1.30194 1.27759 1.27911 1.25172 1.21673 1.21825 1.17412 +1.15434 1.16956 1.1513 1.14521 1.13304 1.12086 1.12391 1.18173 +1.23042 1.23194 1.23955 1.24868 1.23651 1.21368 1.18934 1.13456 +1.10565 1.1589 1.17108 1.08739 1.03159 0.998286 0.982286 0.983592 +0.994694 1.00514 1.01102 1.01298 1.00416 0.984898 0.905474 0.727368 +0.575158 0.530316 0.514526 0.508842 0.510737 0.536 0.565684 0.542316 +0.479173 0.43184 0.43184 0.43752 0.435627 0.412907 0.411013 0.405333 +0.4148 0.424267 0.4148 0.388293 0.37504 0.4148 0.47728 0.5 +0.43184 0.395867 0.456453 0.525895 0.560632 0.583368 0.572632 0.525263 +0.501263 0.532211 0.534737 0.501263 0.490533 0.452667 0.384507 0.359893 +0.36936 0.46024 0.575789 0.68 0.703368 0.626316 0.529684 0.518316 +0.534105 0.518316 0.48864 0.48296 0.46024 0.390187 0.34096 0.34096 +0.37504 0.40344 0.39776 0.382613 0.365573 0.359893 0.37504 0.393973 +0.39208 0.373147 0.36936 0.361787 0.34096 0.33528 0.356107 0.4432 +0.486747 0.401547 0.344747 0.350427 0.354213 0.342853 0.371253 0.407227 +0.378827 0.34664 0.344747 0.356107 0.38072 0.458347 0.532842 0.563789 +0.541684 0.47728 0.3864 0.361787 0.350427 0.33528 0.331493 0.344747 +0.350427 0.344747 0.32392 0.325813 0.3296 0.325813 0.327707 0.342853 +0.36368 0.36936 0.361787 0.344747 0.348533 0.367467 0.378827 0.390187 +0.42048 0.47728 0.516421 0.541684 0.541684 0.514526 0.446987 0.388293 +0.37504 0.390187 0.393973 0.40912 0.43184 0.467813 0.550526 0.672421 +0.803158 0.899158 0.946526 0.953474 0.948421 0.948421 0.944632 0.942737 +0.946526 0.950316 0.954737 0.960421 0.961684 0.972421 0.988816 1.00155 +1.00547 1.00416 1.00612 1.00776 1.00612 1.0009 1.00318 1.0071 +1.0058 1.00482 1.00776 1.00906 1.00873 1.00808 1.00155 0.993388 +0.985224 0.972421 0.962316 0.959158 0.960421 0.958526 0.953474 0.954737 +0.961684 0.973684 0.985878 0.983592 0.915579 0.764632 0.588421 0.42616 +0.320133 0.316347 0.286053 0.23304 0.000946667 0.000906667 0.000893333 0.000926667 +0.219787 0.257653 0.28416 0.25008 0.000926667 0.00082 0.000786667 0.00078 +0.000773333 0.000746667 0.000726667 0.000733333 0.00074 0.000713333 0.000726667 0.000726667 +0.000726667 0.000746667 0.000726667 0.0007 0.000706667 0.0007 0.00072 0.000713333 +0.000726667 0.000746667 0.00076 0.000746667 0.00072 0.00072 0.000726667 0.000733333 +0.000746667 0.000746667 0.00074 0.000726667 0.000706667 0.000713333 0.000713333 0.000693333 +0.0007 0.000706667 0.0007 0.0007 0.000686667 0.0007 0.000726667 0.00074 +0.000733333 0.000726667 0.000706667 0.000713333 0.00068 0.000666667 0.0007 0.000706667 +0.000686667 0.000686667 0.000706667 0.000733333 0.0009 0.246293 0.263333 0.251973 +0.253867 0.248187 0.000953333 0.000793333 0.000726667 0.000773333 0.000846667 0.00096 +0.314453 0.416693 0.533474 0.733684 0.949684 0.997959 0.98849 0.966737 +0.947158 0.943368 0.956 0.986204 1.00612 1.01363 1.01265 1.01102 +1.00776 1.00253 1.00384 1.00678 1.00645 1.01037 1.01135 1.00873 +1.0058 1.00024 1.00286 1.01037 1.01331 1.01167 1.01135 1.01004 +1.01037 1.00906 1.00808 1.00808 1.00841 1.00645 1.00351 0.997633 +0.993388 0.991429 0.990122 0.98849 0.978737 0.92821 0.814526 0.657263 +0.539158 0.462133 0.422373 0.39776 0.382613 0.401547 0.422373 0.416693 +0.405333 0.42048 0.439413 0.45456 0.506947 0.553684 0.581474 0.577684 +0.570737 0.557474 0.541684 0.524632 0.509474 0.501263 0.508211 0.48296 +0.376933 0.337173 0.339067 0.348533 0.348533 0.350427 0.34664 0.327707 +0.325813 0.342853 0.35232 0.358 0.367467 0.361787 0.339067 0.32392 +0.333387 0.350427 0.373147 0.350427 0.310667 0.314453 0.348533 0.356107 +0.325813 0.327707 0.34664 0.38072 0.376933 0.35232 0.354213 0.359893 +0.361787 0.367467 0.367467 0.38072 0.405333 0.40912 0.388293 0.39208 +0.422373 0.446987 0.4432 0.40344 0.371253 0.371253 0.393973 0.429947 +0.498107 0.525895 0.568211 0.630105 0.701474 0.753895 0.741263 0.665474 +0.579579 0.525263 0.47728 0.424267 0.405333 0.405333 0.4148 0.42048 +0.411013 0.40912 0.416693 0.405333 0.390187 0.412907 0.509474 0.587158 +0.649684 0.66421 0.661684 0.642737 0.594105 0.530947 0.507579 0.530316 +0.531579 0.517053 0.528421 0.590947 0.613053 0.558105 0.570737 0.650316 +0.671789 0.661684 0.644 0.579579 0.506316 0.479173 0.513895 0.48296 +0.42048 0.429947 0.428053 0.446987 0.439413 0.418587 0.393973 0.40344 +0.43184 0.424267 0.407227 0.422373 0.446987 0.473493 0.511368 0.544211 +0.562526 0.556842 0.553684 0.600421 0.737474 0.905474 1.00416 1.05086 +1.23498 1.43279 1.5667 1.62147 1.59256 1.49822 1.37497 1.26998 +1.23498 1.24411 1.26085 1.28976 1.34606 1.38715 1.38562 1.33693 +1.28215 1.25477 1.23194 1.26085 1.27455 1.23194 1.24868 1.27607 +1.27759 1.25629 1.24564 1.26846 1.23498 1.18629 1.16499 1.12086 +1.12239 1.14369 1.10565 1.08891 1.11173 1.12391 1.13912 1.17716 +1.17564 1.16195 1.18629 1.23042 1.23346 1.20303 1.20151 1.17716 +1.14825 1.14217 1.14521 1.12239 1.05902 1.04041 1.02278 1.00482 +0.993714 0.997633 1.00482 1.00939 0.999592 0.981306 0.897263 0.702737 +0.552421 0.515789 0.498107 0.498107 0.498107 0.506316 0.517053 0.473493 +0.4148 0.422373 0.433733 0.428053 0.411013 0.40912 0.422373 0.405333 +0.395867 0.40912 0.411013 0.39776 0.411013 0.462133 0.505684 0.520842 +0.504421 0.456453 0.47728 0.507579 0.513895 0.520842 0.506316 0.441307 +0.47728 0.536632 0.534105 0.496213 0.48864 0.46024 0.3864 0.35232 +0.36368 0.4148 0.510737 0.568842 0.577684 0.529053 0.428053 0.433733 +0.517053 0.531579 0.505684 0.445093 0.428053 0.390187 0.342853 0.344747 +0.399653 0.452667 0.40912 0.365573 0.361787 0.371253 0.358 0.348533 +0.350427 0.34664 0.350427 0.35232 0.331493 0.339067 0.378827 0.4716 +0.49432 0.401547 0.356107 0.358 0.354213 0.348533 0.393973 0.42616 +0.382613 0.342853 0.320133 0.333387 0.35232 0.384507 0.502526 0.559368 +0.56 0.504421 0.388293 0.35232 0.350427 0.339067 0.331493 0.34096 +0.339067 0.3296 0.308773 0.304987 0.316347 0.32392 0.33528 0.34664 +0.331493 0.34096 0.37504 0.373147 0.361787 0.35232 0.344747 0.34664 +0.365573 0.3864 0.401547 0.450773 0.5 0.5 0.452667 0.405333 +0.39208 0.388293 0.3864 0.39776 0.4148 0.479173 0.568842 0.697053 +0.820211 0.902316 0.936421 0.940842 0.947789 0.952211 0.949053 0.950316 +0.946526 0.946526 0.952211 0.952842 0.950947 0.969895 0.991429 1.00351 +1.00449 1.00286 1.00482 1.00416 1.00188 1.00057 1.00384 1.00482 +1.00482 1.0058 1.00873 1.00776 1.00514 0.999918 0.992735 0.985551 +0.973684 0.960421 0.957895 0.965474 0.972421 0.970526 0.961684 0.963579 +0.978105 0.986204 0.983918 0.921263 0.773474 0.601053 0.4432 0.316347 +0.30688 0.297413 0.240613 0.000973333 0.000933333 0.0009 0.000873333 0.000913333 +0.231147 0.27848 0.286053 0.231147 0.000873333 0.000793333 0.00078 0.000746667 +0.000726667 0.000733333 0.00072 0.00072 0.000746667 0.000706667 0.000706667 0.000746667 +0.00074 0.00074 0.000746667 0.00072 0.00068 0.000666667 0.000673333 0.00068 +0.0007 0.000693333 0.0007 0.000713333 0.000713333 0.000706667 0.00072 0.00072 +0.000726667 0.00072 0.000713333 0.000706667 0.00074 0.000773333 0.000773333 0.00074 +0.000733333 0.000706667 0.00072 0.00072 0.000746667 0.00074 0.000726667 0.000713333 +0.000726667 0.000733333 0.00074 0.000713333 0.000713333 0.00072 0.000706667 0.00068 +0.000693333 0.000706667 0.00074 0.00076 0.00084 0.000973333 0.231147 0.229253 +0.22736 0.216 0.00088 0.00078 0.000693333 0.00074 0.000813333 0.000866667 +0.270907 0.384507 0.486747 0.642105 0.878947 0.992735 0.991429 0.969263 +0.950316 0.946526 0.953474 0.978105 0.998939 1.00971 1.01167 1.01396 +1.01233 1.0071 1.00449 1.00547 1.00449 1.00808 1.01233 1.01102 +1.00939 1.00384 1.0009 1.00743 1.01363 1.01396 1.012 1.01037 +1.00971 1.00873 1.00906 1.00808 1.00612 1.00384 1.00122 0.99698 +0.992735 0.991429 0.990122 0.989796 0.982286 0.950316 0.865053 0.716632 +0.577053 0.498107 0.4148 0.38072 0.376933 0.39776 0.411013 0.4148 +0.4148 0.428053 0.44888 0.4716 0.524632 0.587158 0.605474 0.572 +0.532842 0.502526 0.458347 0.452667 0.450773 0.48864 0.518316 0.48864 +0.382613 0.356107 0.35232 0.34096 0.337173 0.337173 0.34096 0.34664 +0.339067 0.331493 0.34096 0.348533 0.354213 0.358 0.344747 0.33528 +0.34096 0.350427 0.365573 0.354213 0.314453 0.308773 0.337173 0.34664 +0.331493 0.33528 0.35232 0.39208 0.411013 0.36936 0.354213 0.342853 +0.325813 0.339067 0.376933 0.401547 0.411013 0.39776 0.382613 0.395867 +0.4148 0.416693 0.450773 0.462133 0.43184 0.450773 0.512 0.542316 +0.574526 0.605474 0.642105 0.695158 0.752 0.776632 0.733684 0.643368 +0.557474 0.505684 0.439413 0.418587 0.4148 0.411013 0.39776 0.3864 +0.38072 0.378827 0.39776 0.43752 0.422373 0.43184 0.534105 0.614316 +0.662316 0.678737 0.673684 0.639579 0.585263 0.534105 0.538526 0.557474 +0.527158 0.503789 0.511368 0.550526 0.565053 0.550526 0.584 0.657895 +0.673684 0.649684 0.626316 0.562526 0.48296 0.435627 0.46592 0.450773 +0.433733 0.424267 0.411013 0.418587 0.43184 0.411013 0.399653 0.390187 +0.401547 0.4148 0.401547 0.422373 0.450773 0.47728 0.515158 0.538526 +0.543579 0.542316 0.551789 0.618105 0.769053 0.939579 1.02473 1.09652 +1.27303 1.45105 1.56061 1.60169 1.56974 1.43584 1.29737 1.24411 +1.23346 1.24107 1.27455 1.30346 1.32324 1.34911 1.35976 1.31259 +1.25933 1.2076 1.1939 1.24411 1.23955 1.19847 1.21064 1.22738 +1.25781 1.24868 1.22586 1.21216 1.17564 1.14977 1.11021 1.08435 +1.095 1.1163 1.095 1.07978 1.09652 1.09348 1.10717 1.12543 +1.12086 1.1163 1.1163 1.14521 1.14065 1.12239 1.16499 1.18934 +1.16651 1.13304 1.13912 1.14673 1.16195 1.16956 1.11326 1.04792 +1.01592 0.998612 1.0022 1.00971 0.997306 0.981306 0.908 0.712842 +0.554316 0.508842 0.490533 0.48864 0.46592 0.46024 0.4716 0.428053 +0.4148 0.433733 0.428053 0.40912 0.407227 0.42048 0.433733 0.42616 +0.411013 0.4148 0.42048 0.428053 0.46024 0.479173 0.481067 0.511368 +0.510737 0.479173 0.48296 0.48864 0.484853 0.48296 0.433733 0.395867 +0.475387 0.541684 0.539789 0.503158 0.505053 0.492427 0.393973 0.354213 +0.365573 0.399653 0.462133 0.508211 0.503158 0.43752 0.378827 0.393973 +0.486747 0.530316 0.525263 0.469707 0.407227 0.405333 0.378827 0.359893 +0.395867 0.441307 0.388293 0.350427 0.365573 0.36368 0.356107 0.34096 +0.356107 0.359893 0.344747 0.33528 0.327707 0.342853 0.395867 0.479173 +0.47728 0.39208 0.358 0.359893 0.35232 0.371253 0.44888 0.475387 +0.393973 0.344747 0.325813 0.33528 0.34096 0.348533 0.43752 0.545474 +0.581474 0.539789 0.441307 0.348533 0.331493 0.325813 0.327707 0.339067 +0.34096 0.333387 0.327707 0.325813 0.322027 0.322027 0.331493 0.337173 +0.327707 0.331493 0.36936 0.395867 0.39776 0.361787 0.33528 0.337173 +0.358 0.367467 0.36368 0.37504 0.407227 0.452667 0.450773 0.42048 +0.407227 0.395867 0.393973 0.388293 0.412907 0.503789 0.589684 0.721684 +0.842316 0.911789 0.935158 0.938947 0.951579 0.958526 0.954737 0.952211 +0.944632 0.948421 0.949684 0.946526 0.956 0.982939 0.997306 1.00318 +1.00253 1.00384 1.0058 1.00253 0.999592 1.00155 1.00678 1.00743 +1.0058 1.00645 1.00776 1.00547 1.0009 0.991429 0.984571 0.974947 +0.961053 0.954105 0.954737 0.958526 0.962947 0.965474 0.969263 0.980653 +0.989469 0.987837 0.929474 0.780421 0.602947 0.441307 0.30688 0.303093 +0.293627 0.253867 0.000953333 0.000893333 0.000886667 0.0009 0.00092 0.000993333 +0.26712 0.297413 0.259547 0.000946667 0.000833333 0.000766667 0.000746667 0.000726667 +0.000713333 0.000726667 0.000733333 0.000706667 0.00074 0.000753333 0.000713333 0.000726667 +0.00074 0.00072 0.00074 0.00074 0.000686667 0.00068 0.0007 0.00068 +0.00068 0.00068 0.000673333 0.000686667 0.000686667 0.000673333 0.0007 0.0007 +0.000713333 0.00068 0.000666667 0.000673333 0.0007 0.0007 0.000713333 0.00072 +0.000726667 0.00074 0.000726667 0.000713333 0.00072 0.00072 0.00074 0.000746667 +0.00072 0.000706667 0.00072 0.00072 0.000713333 0.000753333 0.000746667 0.000746667 +0.000746667 0.000726667 0.00074 0.00076 0.000806667 0.000853333 0.000893333 0.00092 +0.00092 0.00088 0.000833333 0.000786667 0.000706667 0.00072 0.000753333 0.000786667 +0.223573 0.344747 0.435627 0.572632 0.793053 0.972421 0.993714 0.977474 +0.952842 0.944 0.947158 0.964211 0.98849 1.00351 1.01102 1.01527 +1.01429 1.00971 1.00808 1.0058 1.00318 1.0058 1.01037 1.012 +1.01265 1.00971 1.00449 1.00416 1.01167 1.01559 1.01265 1.01037 +1.01004 1.01004 1.00971 1.00808 1.00678 1.00416 1.00188 0.998286 +0.992082 0.98849 0.98849 0.987837 0.983918 0.967368 0.908632 0.780421 +0.625053 0.516421 0.416693 0.388293 0.38072 0.401547 0.4148 0.412907 +0.411013 0.422373 0.433733 0.467813 0.529684 0.565053 0.544211 0.490533 +0.411013 0.371253 0.356107 0.37504 0.384507 0.399653 0.433733 0.40912 +0.384507 0.382613 0.373147 0.35232 0.333387 0.316347 0.333387 0.350427 +0.333387 0.30688 0.314453 0.32392 0.339067 0.367467 0.358 0.34664 +0.354213 0.358 0.376933 0.36936 0.331493 0.3296 0.35232 0.354213 +0.34664 0.339067 0.354213 0.399653 0.446987 0.399653 0.348533 0.327707 +0.3296 0.348533 0.38072 0.3864 0.378827 0.384507 0.388293 0.395867 +0.382613 0.3864 0.475387 0.521474 0.532211 0.551789 0.582737 0.609895 +0.633895 0.650947 0.680632 0.736842 0.790526 0.788 0.709684 0.609895 +0.537895 0.48864 0.424267 0.407227 0.399653 0.384507 0.36936 0.365573 +0.373147 0.378827 0.411013 0.490533 0.503158 0.510105 0.572 0.647789 +0.690737 0.705895 0.692 0.644632 0.580842 0.537263 0.556842 0.560632 +0.520211 0.510737 0.524632 0.541053 0.534737 0.549263 0.587158 0.635789 +0.659158 0.642105 0.623158 0.560632 0.4716 0.416693 0.42048 0.43184 +0.452667 0.445093 0.422373 0.407227 0.401547 0.40912 0.418587 0.39776 +0.39208 0.399653 0.4148 0.445093 0.46592 0.484853 0.502526 0.508842 +0.520211 0.537895 0.551789 0.630105 0.800632 0.977474 1.044 1.17869 +1.3415 1.48757 1.5743 1.59104 1.5317 1.37954 1.26694 1.2639 +1.2715 1.27759 1.32019 1.34454 1.31107 1.30194 1.32019 1.29128 +1.23803 1.1589 1.12543 1.17716 1.19238 1.1726 1.16347 1.1726 +1.23346 1.25629 1.22738 1.17869 1.14217 1.13912 1.11326 1.0813 +1.06152 1.06913 1.07369 1.09956 1.11021 1.08587 1.0813 1.07065 +1.09652 1.13456 1.15738 1.18934 1.15586 1.12999 1.16347 1.17108 +1.1513 1.14217 1.16043 1.16043 1.2152 1.27455 1.25172 1.16195 +1.05249 1.02865 1.02408 1.02506 1.00449 0.983592 0.921895 0.738737 +0.568211 0.513895 0.512632 0.503789 0.450773 0.429947 0.429947 0.422373 +0.42048 0.416693 0.42616 0.4148 0.416693 0.42616 0.446987 0.47728 +0.464027 0.446987 0.45456 0.475387 0.490533 0.446987 0.4148 0.462133 +0.479173 0.456453 0.46024 0.458347 0.458347 0.441307 0.3864 0.37504 +0.4716 0.541053 0.550526 0.520211 0.517053 0.508842 0.428053 0.38072 +0.388293 0.412907 0.456453 0.462133 0.418587 0.38072 0.373147 0.388293 +0.439413 0.516421 0.540421 0.520842 0.462133 0.439413 0.424267 0.37504 +0.388293 0.418587 0.3864 0.36368 0.361787 0.354213 0.359893 0.36368 +0.367467 0.356107 0.34096 0.333387 0.339067 0.34096 0.3864 0.458347 +0.446987 0.390187 0.36936 0.35232 0.342853 0.378827 0.456453 0.481067 +0.42048 0.37504 0.359893 0.354213 0.35232 0.350427 0.395867 0.534737 +0.602947 0.583368 0.518316 0.40344 0.337173 0.325813 0.34664 0.361787 +0.354213 0.342853 0.34664 0.35232 0.361787 0.37504 0.378827 0.365573 +0.344747 0.33528 0.35232 0.399653 0.4432 0.4432 0.39776 0.35232 +0.354213 0.358 0.350427 0.348533 0.358 0.40344 0.429947 0.412907 +0.39776 0.388293 0.390187 0.393973 0.43752 0.523368 0.620632 0.753263 +0.862526 0.920632 0.939579 0.947158 0.960421 0.968632 0.962947 0.949053 +0.943368 0.949053 0.949053 0.948421 0.969895 0.991429 1.00057 1.00286 +1.00286 1.0058 1.0058 1.00384 1.00155 1.00482 1.00873 1.00873 +1.00612 1.00612 1.00612 1.00286 0.995347 0.985551 0.976842 0.959789 +0.949684 0.951579 0.952211 0.950316 0.950947 0.960421 0.980653 0.990449 +0.989469 0.937684 0.792421 0.610526 0.43752 0.286053 0.280373 0.30688 +0.26712 0.217893 0.000906667 0.000893333 0.0009 0.00092 0.000993333 0.251973 +0.303093 0.28416 0.000986667 0.000826667 0.00078 0.000766667 0.00076 0.000753333 +0.000726667 0.00072 0.000733333 0.00072 0.000733333 0.000766667 0.00074 0.000713333 +0.000713333 0.000693333 0.000706667 0.000733333 0.000706667 0.000726667 0.000713333 0.000706667 +0.000706667 0.000693333 0.000706667 0.00072 0.00072 0.000706667 0.000706667 0.000706667 +0.0007 0.000686667 0.00068 0.0007 0.000713333 0.000693333 0.0007 0.000686667 +0.000686667 0.00072 0.000706667 0.000693333 0.000686667 0.000666667 0.000686667 0.000693333 +0.000693333 0.000693333 0.000706667 0.000686667 0.000706667 0.000726667 0.000726667 0.000733333 +0.000753333 0.00072 0.000726667 0.000746667 0.000766667 0.000786667 0.00082 0.000846667 +0.000853333 0.000793333 0.0008 0.000773333 0.00074 0.000766667 0.00074 0.000726667 +0.00088 0.29552 0.401547 0.520842 0.695158 0.914947 0.993061 0.984898 +0.960421 0.946526 0.945895 0.951579 0.974947 0.997306 1.00939 1.01396 +1.01233 1.00939 1.01069 1.00808 1.00416 1.00612 1.01037 1.01069 +1.01167 1.01233 1.0071 1.00286 1.00678 1.01167 1.01167 1.01037 +1.01167 1.01265 1.01135 1.00873 1.00776 1.00547 1.00482 1.00286 +0.99502 0.98751 0.985551 0.985878 0.986204 0.98098 0.943368 0.840421 +0.679368 0.542316 0.445093 0.407227 0.405333 0.422373 0.422373 0.399653 +0.399653 0.412907 0.428053 0.462133 0.508211 0.506947 0.424267 0.356107 +0.344747 0.34096 0.348533 0.361787 0.35232 0.34096 0.344747 0.348533 +0.36936 0.38072 0.378827 0.36936 0.33528 0.3296 0.354213 0.35232 +0.337173 0.322027 0.31256 0.314453 0.342853 0.373147 0.359893 0.359893 +0.37504 0.36936 0.371253 0.371253 0.344747 0.337173 0.361787 0.358 +0.34664 0.348533 0.358 0.382613 0.45456 0.445093 0.38072 0.367467 +0.37504 0.378827 0.3864 0.384507 0.390187 0.405333 0.412907 0.412907 +0.411013 0.48864 0.543579 0.584 0.603579 0.616211 0.623789 0.628842 +0.631368 0.633895 0.676842 0.757053 0.810105 0.779158 0.661053 0.552421 +0.503158 0.458347 0.433733 0.407227 0.376933 0.361787 0.36368 0.376933 +0.3864 0.390187 0.433733 0.508211 0.521474 0.541053 0.600421 0.671789 +0.713474 0.719789 0.700211 0.645263 0.570737 0.518947 0.525263 0.527158 +0.511368 0.525263 0.551789 0.558737 0.536632 0.553053 0.572 0.592842 +0.629474 0.637053 0.618737 0.558737 0.469707 0.416693 0.40344 0.407227 +0.441307 0.44888 0.435627 0.43184 0.411013 0.412907 0.411013 0.401547 +0.39776 0.390187 0.424267 0.44888 0.43752 0.450773 0.467813 0.484853 +0.512632 0.533474 0.557474 0.652211 0.829053 0.992082 1.05641 1.25933 +1.44953 1.58952 1.62908 1.58952 1.49974 1.37041 1.28672 1.29128 +1.31563 1.32628 1.35671 1.38106 1.34302 1.28672 1.2639 1.25933 +1.25172 1.1939 1.12999 1.12543 1.12847 1.13304 1.14369 1.1513 +1.19694 1.20607 1.18477 1.14217 1.12847 1.15434 1.1376 1.1026 +1.05967 1.05771 1.06456 1.11478 1.11478 1.08739 1.08587 1.06761 +1.10717 1.14825 1.19847 1.23803 1.18629 1.12847 1.10413 1.09348 +1.10869 1.13456 1.15586 1.16043 1.20455 1.28672 1.31107 1.25629 +1.16651 1.07826 1.05445 1.04531 1.01592 0.985224 0.928842 0.768421 +0.590947 0.530316 0.526526 0.506316 0.45456 0.43752 0.428053 0.422373 +0.424267 0.412907 0.42048 0.411013 0.395867 0.405333 0.441307 0.492427 +0.48864 0.46024 0.464027 0.48296 0.467813 0.40912 0.39776 0.433733 +0.43752 0.441307 0.441307 0.441307 0.44888 0.412907 0.36936 0.37504 +0.467813 0.539789 0.558737 0.532211 0.517684 0.508842 0.43752 0.40344 +0.422373 0.43752 0.445093 0.424267 0.382613 0.361787 0.365573 0.376933 +0.416693 0.502526 0.547368 0.562526 0.530316 0.501895 0.4716 0.42048 +0.42616 0.446987 0.40912 0.37504 0.356107 0.365573 0.399653 0.40344 +0.376933 0.35232 0.348533 0.344747 0.348533 0.359893 0.40344 0.42616 +0.399653 0.388293 0.373147 0.337173 0.322027 0.358 0.39208 0.412907 +0.411013 0.39776 0.3864 0.361787 0.358 0.376933 0.4148 0.525263 +0.585263 0.586526 0.547368 0.496213 0.382613 0.35232 0.37504 0.378827 +0.359893 0.354213 0.36368 0.38072 0.42048 0.46024 0.452667 0.407227 +0.359893 0.342853 0.348533 0.378827 0.45456 0.515789 0.510737 0.418587 +0.365573 0.356107 0.35232 0.35232 0.34664 0.373147 0.416693 0.416693 +0.393973 0.378827 0.37504 0.388293 0.450773 0.541053 0.656 0.791789 +0.886526 0.930737 0.949684 0.961684 0.971158 0.976211 0.966737 0.954737 +0.953474 0.954105 0.950316 0.959158 0.985224 0.998286 1.00253 1.00514 +1.00547 1.00449 1.00482 1.00351 1.00286 1.00514 1.00808 1.00612 +1.00449 1.00645 1.00416 0.997959 0.988816 0.978737 0.964842 0.949684 +0.945263 0.950316 0.954105 0.950316 0.953474 0.970526 0.98751 0.991429 +0.947789 0.806947 0.623158 0.46024 0.286053 0.269013 0.291733 0.280373 +0.23872 0.216 0.00096 0.00092 0.00094 0.00098 0.236827 0.280373 +0.304987 0.251973 0.000866667 0.00076 0.00074 0.000753333 0.000773333 0.000766667 +0.000746667 0.00072 0.000733333 0.000733333 0.0007 0.000713333 0.000706667 0.000713333 +0.000693333 0.000686667 0.000713333 0.000733333 0.000706667 0.000726667 0.000733333 0.000746667 +0.000733333 0.0007 0.000706667 0.000713333 0.0007 0.000706667 0.00068 0.00068 +0.0007 0.000713333 0.000713333 0.000746667 0.000733333 0.000726667 0.00072 0.000693333 +0.000693333 0.00072 0.0007 0.0007 0.0007 0.00068 0.000673333 0.00068 +0.000673333 0.000686667 0.000706667 0.000693333 0.000713333 0.000713333 0.000673333 0.000673333 +0.000706667 0.0007 0.00072 0.00074 0.000746667 0.000753333 0.000753333 0.000773333 +0.00076 0.00076 0.000793333 0.000773333 0.000773333 0.000806667 0.00076 0.000746667 +0.000826667 0.25008 0.373147 0.467813 0.604211 0.832842 0.983592 0.990776 +0.969263 0.949053 0.946526 0.945263 0.962947 0.991429 1.00645 1.01233 +1.01004 1.00808 1.01102 1.01004 1.0071 1.00776 1.01069 1.01037 +1.01069 1.01265 1.00906 1.00351 1.00057 1.00449 1.00906 1.01135 +1.01102 1.01135 1.01069 1.00873 1.00873 1.0071 1.0058 1.0058 +0.997306 0.986857 0.983592 0.986531 0.989469 0.986531 0.967368 0.892842 +0.746947 0.596 0.508211 0.44888 0.428053 0.407227 0.395867 0.378827 +0.3864 0.39776 0.4148 0.422373 0.422373 0.390187 0.342853 0.337173 +0.34664 0.358 0.36936 0.361787 0.344747 0.33528 0.327707 0.348533 +0.384507 0.39776 0.373147 0.348533 0.337173 0.344747 0.35232 0.34664 +0.348533 0.348533 0.34664 0.348533 0.35232 0.34664 0.33528 0.348533 +0.359893 0.358 0.365573 0.382613 0.367467 0.356107 0.371253 0.365573 +0.359893 0.367467 0.36368 0.38072 0.462133 0.473493 0.407227 0.390187 +0.395867 0.393973 0.405333 0.416693 0.445093 0.46592 0.48864 0.511368 +0.534737 0.573263 0.608632 0.623158 0.627579 0.625684 0.616211 0.59979 +0.578947 0.579579 0.655368 0.764632 0.815789 0.752 0.604211 0.503158 +0.42616 0.429947 0.42616 0.390187 0.382613 0.376933 0.36936 0.365573 +0.365573 0.376933 0.40912 0.4432 0.46024 0.527158 0.608 0.681263 +0.714105 0.717263 0.702737 0.652211 0.568211 0.506947 0.503158 0.502526 +0.492427 0.517053 0.551158 0.555579 0.530947 0.541684 0.554947 0.559368 +0.590316 0.625684 0.620632 0.573263 0.513263 0.458347 0.43184 0.412907 +0.429947 0.439413 0.4432 0.445093 0.433733 0.412907 0.395867 0.390187 +0.390187 0.401547 0.424267 0.429947 0.424267 0.452667 0.484853 0.500632 +0.507579 0.522737 0.566947 0.675579 0.838526 0.993061 1.05869 1.30498 +1.53322 1.64886 1.62756 1.55757 1.49518 1.42214 1.36128 1.34454 +1.36432 1.36432 1.35215 1.37345 1.37497 1.30802 1.24868 1.23194 +1.22738 1.20303 1.14673 1.11021 1.0813 1.09804 1.12847 1.12086 +1.1513 1.16651 1.1726 1.14217 1.12239 1.14825 1.12847 1.09956 +1.06456 1.07826 1.12543 1.16347 1.13608 1.11782 1.11934 1.11173 +1.13912 1.14673 1.17412 1.18325 1.14521 1.10565 1.06913 1.06304 +1.11478 1.16195 1.20151 1.18782 1.18021 1.23498 1.29889 1.29128 +1.2152 1.14065 1.10108 1.05216 1.01755 0.984571 0.937053 0.798737 +0.616211 0.538526 0.517684 0.496213 0.458347 0.445093 0.435627 0.422373 +0.43752 0.43184 0.422373 0.401547 0.401547 0.422373 0.450773 0.456453 +0.433733 0.42616 0.46592 0.503158 0.469707 0.3864 0.39776 0.428053 +0.424267 0.43752 0.44888 0.445093 0.43752 0.401547 0.399653 0.411013 +0.46592 0.533474 0.562526 0.545474 0.520842 0.507579 0.450773 0.428053 +0.4432 0.4432 0.42616 0.401547 0.390187 0.388293 0.37504 0.371253 +0.399653 0.464027 0.535368 0.583368 0.584 0.546105 0.513263 0.486747 +0.496213 0.504421 0.462133 0.42048 0.399653 0.405333 0.42616 0.411013 +0.382613 0.365573 0.358 0.361787 0.358 0.376933 0.42048 0.401547 +0.373147 0.382613 0.371253 0.344747 0.32392 0.333387 0.344747 0.348533 +0.361787 0.37504 0.373147 0.348533 0.339067 0.361787 0.422373 0.508842 +0.532842 0.542947 0.550526 0.531579 0.469707 0.384507 0.367467 0.359893 +0.348533 0.342853 0.34664 0.38072 0.439413 0.45456 0.428053 0.393973 +0.356107 0.339067 0.342853 0.361787 0.4432 0.524632 0.530947 0.490533 +0.418587 0.390187 0.384507 0.390187 0.373147 0.38072 0.429947 0.433733 +0.405333 0.388293 0.37504 0.39208 0.481067 0.570105 0.699579 0.830947 +0.906105 0.939579 0.959789 0.974947 0.980653 0.977474 0.968 0.968632 +0.969895 0.962316 0.956632 0.975579 0.99502 1.00318 1.00416 1.00514 +1.00416 1.00253 1.00416 1.00645 1.0058 1.00743 1.0071 1.00547 +1.00612 1.00612 0.999918 0.990122 0.98098 0.966737 0.952842 0.943368 +0.942737 0.947789 0.952211 0.956 0.970526 0.986857 0.993061 0.964211 +0.829684 0.640211 0.48296 0.291733 0.257653 0.28984 0.29552 0.25576 +0.22736 0.223573 0.22736 0.000993333 0.216 0.23304 0.269013 0.293627 +0.265227 0.00096 0.000793333 0.000766667 0.000753333 0.000753333 0.000753333 0.00074 +0.00074 0.000726667 0.000713333 0.000713333 0.0007 0.0007 0.000693333 0.000706667 +0.00072 0.00072 0.000706667 0.00072 0.0007 0.000713333 0.00072 0.000746667 +0.000726667 0.00072 0.000726667 0.000733333 0.00072 0.000733333 0.00072 0.000726667 +0.000733333 0.00072 0.000713333 0.000713333 0.000693333 0.000706667 0.00072 0.0007 +0.000706667 0.000706667 0.00068 0.00068 0.000686667 0.00068 0.000706667 0.000733333 +0.000706667 0.000713333 0.000726667 0.00072 0.000733333 0.000713333 0.000706667 0.000733333 +0.000706667 0.000686667 0.000713333 0.000733333 0.000726667 0.000713333 0.000706667 0.000713333 +0.000733333 0.000766667 0.0008 0.00076 0.000746667 0.000753333 0.000733333 0.000746667 +0.00076 0.0009 0.30688 0.399653 0.533474 0.732421 0.942105 0.996 +0.981959 0.954737 0.947158 0.945263 0.957895 0.984571 1.00155 1.01102 +1.01037 1.01037 1.01233 1.01102 1.00939 1.01004 1.00971 1.01069 +1.01298 1.01331 1.01167 1.00645 0.999592 0.998286 1.0058 1.01069 +1.01004 1.00971 1.00939 1.00971 1.00906 1.0058 1.00384 1.0058 +1.0009 0.991429 0.983918 0.985878 0.990122 0.98751 0.977474 0.932632 +0.820211 0.663579 0.541053 0.469707 0.42048 0.393973 0.40344 0.4148 +0.4148 0.401547 0.395867 0.388293 0.37504 0.365573 0.354213 0.354213 +0.354213 0.365573 0.36936 0.36936 0.354213 0.331493 0.3296 0.367467 +0.439413 0.452667 0.3864 0.33528 0.314453 0.32392 0.34096 0.359893 +0.36936 0.348533 0.34096 0.34664 0.342853 0.33528 0.327707 0.3296 +0.327707 0.331493 0.344747 0.36368 0.390187 0.412907 0.40912 0.384507 +0.36368 0.38072 0.382613 0.416693 0.475387 0.441307 0.393973 0.384507 +0.38072 0.395867 0.429947 0.441307 0.490533 0.528421 0.561263 0.589684 +0.610526 0.628211 0.627579 0.613684 0.601684 0.580211 0.553053 0.528421 +0.509474 0.541684 0.656632 0.774105 0.810737 0.728 0.575158 0.44888 +0.3864 0.418587 0.42616 0.3864 0.38072 0.3864 0.367467 0.350427 +0.342853 0.354213 0.371253 0.36368 0.371253 0.512632 0.614947 0.693895 +0.722316 0.725474 0.706526 0.647789 0.556842 0.515158 0.518947 0.506316 +0.481067 0.506947 0.533474 0.527789 0.512632 0.525263 0.544842 0.546105 +0.556211 0.606105 0.628842 0.604842 0.549263 0.509474 0.479173 0.452667 +0.44888 0.4432 0.44888 0.46024 0.445093 0.418587 0.399653 0.390187 +0.393973 0.399653 0.412907 0.43184 0.4432 0.469707 0.500632 0.504421 +0.503789 0.517053 0.569474 0.685053 0.853053 0.996653 1.06913 1.35519 +1.58952 1.67473 1.623 1.55757 1.49062 1.41453 1.37041 1.37041 +1.39171 1.37649 1.33693 1.33998 1.35976 1.31259 1.2715 1.24716 +1.19847 1.16043 1.11782 1.09956 1.07674 1.06913 1.06304 1.05837 +1.09348 1.13608 1.15434 1.13152 1.11173 1.1026 1.06 1.05478 +1.05249 1.05706 1.10565 1.14217 1.12543 1.13456 1.14217 1.12847 +1.12543 1.11173 1.12695 1.13304 1.13152 1.12391 1.12086 1.12695 +1.15738 1.18325 1.22586 1.21216 1.17412 1.18325 1.2502 1.27911 +1.2289 1.17869 1.13456 1.0538 1.01788 0.986857 0.954737 0.838526 +0.644632 0.531579 0.503789 0.486747 0.452667 0.433733 0.43184 0.424267 +0.450773 0.46592 0.433733 0.407227 0.418587 0.456453 0.456453 0.4148 +0.390187 0.4148 0.503158 0.515789 0.44888 0.371253 0.40344 0.441307 +0.445093 0.43752 0.458347 0.464027 0.43184 0.411013 0.445093 0.439413 +0.43752 0.520211 0.565684 0.565684 0.535368 0.516421 0.507579 0.496213 +0.464027 0.43184 0.42048 0.418587 0.407227 0.3864 0.371253 0.365573 +0.384507 0.422373 0.517053 0.582737 0.628211 0.602947 0.538526 0.507579 +0.514526 0.514526 0.484853 0.462133 0.46024 0.452667 0.42048 0.376933 +0.361787 0.38072 0.378827 0.36936 0.36936 0.390187 0.4148 0.384507 +0.365573 0.373147 0.36368 0.356107 0.33528 0.320133 0.31824 0.333387 +0.344747 0.356107 0.354213 0.344747 0.34096 0.348533 0.401547 0.467813 +0.458347 0.47728 0.529053 0.551158 0.518316 0.40912 0.342853 0.325813 +0.333387 0.34096 0.337173 0.367467 0.39776 0.378827 0.365573 0.371253 +0.36368 0.354213 0.365573 0.384507 0.43184 0.48864 0.490533 0.479173 +0.486747 0.452667 0.40912 0.40912 0.405333 0.4148 0.44888 0.4432 +0.412907 0.39208 0.388293 0.40912 0.508211 0.606737 0.752 0.869474 +0.922526 0.947158 0.968 0.981959 0.983592 0.980653 0.975579 0.976842 +0.968632 0.957895 0.962947 0.985551 0.998939 1.00253 1.00318 1.00514 +1.00482 1.00384 1.00776 1.01004 1.01004 1.00971 1.00743 1.00645 +1.00612 1.00351 0.993388 0.982286 0.966737 0.952842 0.947789 0.945263 +0.944 0.947789 0.957263 0.973053 0.987184 0.994367 0.978737 0.858737 +0.665474 0.505053 0.29552 0.25008 0.2728 0.293627 0.27848 0.2444 +0.234933 0.23304 0.242507 0.236827 0.240613 0.259547 0.276587 0.26144 +0.000953333 0.000793333 0.000733333 0.000753333 0.00076 0.000753333 0.00074 0.00072 +0.000733333 0.000746667 0.000706667 0.000706667 0.00072 0.000726667 0.00072 0.000713333 +0.000713333 0.0007 0.00068 0.000706667 0.000673333 0.000693333 0.000706667 0.0007 +0.000693333 0.00072 0.00072 0.000733333 0.00074 0.000753333 0.000746667 0.000746667 +0.000733333 0.000726667 0.000726667 0.000706667 0.000706667 0.000706667 0.000706667 0.00072 +0.00074 0.000733333 0.0007 0.000686667 0.0007 0.000706667 0.000733333 0.00074 +0.00072 0.000733333 0.00072 0.00072 0.00072 0.000706667 0.0007 0.000713333 +0.000673333 0.000686667 0.000733333 0.00074 0.00072 0.00072 0.000726667 0.00076 +0.000773333 0.000793333 0.0008 0.000773333 0.000766667 0.00076 0.00074 0.000733333 +0.000726667 0.000786667 0.240613 0.34664 0.46592 0.624421 0.851158 0.987837 +0.991102 0.966105 0.948421 0.942737 0.948421 0.969895 0.991102 1.00678 +1.01135 1.01167 1.01298 1.01167 1.00906 1.01004 1.01004 1.01102 +1.012 1.012 1.01037 1.00939 1.0058 1.00024 1.00318 1.00841 +1.01004 1.01004 1.00906 1.00873 1.00743 1.0058 1.00318 1.00351 +1.00351 0.997959 0.988163 0.985878 0.989796 0.990449 0.984898 0.963579 +0.889053 0.743158 0.586526 0.492427 0.416693 0.39776 0.411013 0.43184 +0.42048 0.401547 0.393973 0.3864 0.38072 0.382613 0.371253 0.354213 +0.348533 0.359893 0.371253 0.388293 0.390187 0.378827 0.378827 0.435627 +0.515789 0.510105 0.39208 0.322027 0.303093 0.303093 0.3296 0.361787 +0.378827 0.361787 0.344747 0.33528 0.327707 0.327707 0.32392 0.327707 +0.3296 0.331493 0.33528 0.354213 0.401547 0.46024 0.469707 0.43752 +0.435627 0.45456 0.462133 0.500632 0.507579 0.446987 0.3864 0.37504 +0.38072 0.40912 0.441307 0.479173 0.536 0.602947 0.658526 0.668632 +0.640211 0.613684 0.584 0.556842 0.538526 0.512 0.46024 0.412907 +0.418587 0.546737 0.682526 0.780421 0.787368 0.693895 0.561895 0.439413 +0.38072 0.445093 0.467813 0.39776 0.38072 0.399653 0.378827 0.356107 +0.34664 0.339067 0.337173 0.337173 0.367467 0.521474 0.627579 0.705895 +0.74 0.741895 0.710947 0.637684 0.543579 0.518316 0.525263 0.503789 +0.4716 0.5 0.515789 0.506947 0.503789 0.517053 0.534737 0.528421 +0.521474 0.581474 0.639579 0.630105 0.565053 0.506316 0.469707 0.47728 +0.48296 0.46592 0.456453 0.44888 0.43184 0.42048 0.399653 0.39776 +0.39776 0.395867 0.40912 0.433733 0.439413 0.458347 0.481067 0.5 +0.505053 0.515789 0.561263 0.688211 0.868211 1.00384 1.1163 1.40845 +1.62604 1.7082 1.67321 1.61539 1.52257 1.43736 1.40388 1.41606 +1.43736 1.42823 1.38106 1.33998 1.32476 1.28368 1.25324 1.22586 +1.17869 1.12695 1.08435 1.07522 1.07522 1.06304 1.05314 1.0502 +1.05347 1.05935 1.07978 1.08587 1.09652 1.07826 1.05347 1.04759 +1.04759 1.04824 1.05478 1.05869 1.06 1.09043 1.095 1.08282 +1.07522 1.07522 1.09804 1.11934 1.15586 1.17108 1.18477 1.18629 +1.17412 1.16043 1.18782 1.2076 1.19999 1.16499 1.18629 1.23194 +1.26085 1.23803 1.15586 1.06609 1.03649 1.00645 0.982286 0.889053 +0.694526 0.543579 0.504421 0.490533 0.46024 0.43752 0.43184 0.429947 +0.492427 0.514526 0.5 0.458347 0.452667 0.464027 0.4432 0.40912 +0.39776 0.4148 0.503158 0.506947 0.4148 0.376933 0.40344 0.43184 +0.435627 0.42616 0.450773 0.469707 0.42616 0.395867 0.418587 0.40344 +0.39776 0.506316 0.561263 0.584 0.565684 0.535368 0.525895 0.517684 +0.490533 0.469707 0.47728 0.467813 0.418587 0.36936 0.367467 0.36936 +0.371253 0.39776 0.496213 0.562526 0.631368 0.645895 0.587789 0.535368 +0.521474 0.492427 0.416693 0.4148 0.452667 0.4432 0.395867 0.36368 +0.37504 0.424267 0.42616 0.382613 0.36936 0.395867 0.405333 0.365573 +0.36368 0.373147 0.350427 0.337173 0.3296 0.322027 0.31824 0.333387 +0.348533 0.359893 0.36936 0.36936 0.36936 0.373147 0.40912 0.412907 +0.373147 0.388293 0.47728 0.526526 0.524 0.452667 0.358 0.327707 +0.342853 0.36936 0.36368 0.359893 0.35232 0.34664 0.356107 0.384507 +0.39776 0.384507 0.388293 0.393973 0.40912 0.40344 0.376933 0.401547 +0.475387 0.47728 0.412907 0.395867 0.405333 0.42616 0.445093 0.428053 +0.401547 0.39208 0.407227 0.439413 0.530316 0.654737 0.805053 0.899789 +0.939579 0.961684 0.978737 0.982612 0.982286 0.978105 0.974316 0.971158 +0.954105 0.950316 0.971158 0.992082 1.00318 1.00482 1.00547 1.00678 +1.0058 1.00612 1.00873 1.00971 1.00906 1.00873 1.0071 1.00808 +1.00449 0.996327 0.985551 0.971789 0.957263 0.947158 0.947158 0.945895 +0.945263 0.955368 0.973053 0.987184 0.996327 0.985224 0.883368 0.696421 +0.523368 0.31256 0.253867 0.26712 0.304987 0.304987 0.270907 0.25008 +0.25008 0.2444 0.23872 0.23304 0.248187 0.2728 0.26144 0.000993333 +0.000806667 0.000746667 0.000733333 0.000753333 0.000753333 0.00076 0.000773333 0.000726667 +0.00072 0.000733333 0.000713333 0.000706667 0.000713333 0.000706667 0.000706667 0.000693333 +0.0007 0.000686667 0.000686667 0.000713333 0.000686667 0.0007 0.000686667 0.000666667 +0.00068 0.000686667 0.0007 0.0007 0.000706667 0.000713333 0.000726667 0.000713333 +0.000713333 0.00072 0.000733333 0.000713333 0.000713333 0.0007 0.000693333 0.000713333 +0.000713333 0.00072 0.00074 0.000733333 0.000713333 0.000713333 0.000733333 0.00072 +0.00072 0.000726667 0.000726667 0.000746667 0.00072 0.00068 0.000693333 0.00068 +0.00068 0.0007 0.000733333 0.000726667 0.000746667 0.000773333 0.00074 0.000753333 +0.000773333 0.000773333 0.000806667 0.000793333 0.000806667 0.0008 0.000793333 0.000766667 +0.000726667 0.000753333 0.000953333 0.316347 0.424267 0.545474 0.730526 0.935789 +0.993388 0.981306 0.953474 0.941474 0.944 0.955368 0.980327 0.99698 +1.00743 1.00906 1.01069 1.01102 1.00873 1.01004 1.01037 1.00939 +1.00841 1.00906 1.00808 1.01069 1.01233 1.00482 1.00188 1.00514 +1.01167 1.01265 1.00939 1.0071 1.00776 1.00678 1.00514 1.00547 +1.00514 1.0009 0.992735 0.98751 0.990122 0.997306 0.995673 0.984245 +0.940211 0.824632 0.660421 0.531579 0.4432 0.422373 0.4148 0.4148 +0.399653 0.388293 0.3864 0.393973 0.40912 0.40912 0.376933 0.34664 +0.344747 0.354213 0.359893 0.378827 0.40344 0.407227 0.416693 0.501895 +0.535368 0.505684 0.371253 0.333387 0.331493 0.331493 0.339067 0.354213 +0.384507 0.395867 0.373147 0.34664 0.3296 0.32392 0.32392 0.320133 +0.3296 0.333387 0.348533 0.36368 0.393973 0.458347 0.490533 0.49432 +0.508211 0.520842 0.536 0.553053 0.551789 0.508211 0.40912 0.399653 +0.433733 0.48296 0.516421 0.553053 0.609895 0.660421 0.690737 0.667368 +0.599158 0.546105 0.510737 0.4716 0.439413 0.416693 0.390187 0.36368 +0.416693 0.570737 0.705263 0.774105 0.741263 0.640211 0.546105 0.452667 +0.40344 0.464027 0.481067 0.411013 0.384507 0.407227 0.399653 0.376933 +0.36368 0.344747 0.33528 0.34096 0.401547 0.550526 0.656632 0.721684 +0.755158 0.753895 0.717895 0.633895 0.530947 0.508211 0.512632 0.47728 +0.45456 0.48296 0.506947 0.498107 0.501895 0.512 0.522105 0.515789 +0.503789 0.564421 0.647158 0.652842 0.581474 0.503789 0.456453 0.498107 +0.492427 0.445093 0.422373 0.416693 0.40344 0.401547 0.393973 0.395867 +0.393973 0.405333 0.428053 0.428053 0.435627 0.456453 0.46024 0.486747 +0.505053 0.510105 0.554316 0.690105 0.876421 1.00873 1.1163 1.3841 +1.61234 1.72342 1.71429 1.67321 1.58191 1.50735 1.49366 1.49366 +1.45105 1.39475 1.36432 1.3278 1.27455 1.22129 1.17869 1.16043 +1.1376 1.09804 1.05771 1.05086 1.05184 1.05314 1.04922 1.04857 +1.04955 1.05216 1.05445 1.06152 1.07217 1.05902 1.05216 1.04629 +1.04563 1.04661 1.05086 1.04759 1.04922 1.05445 1.05412 1.05478 +1.05576 1.06 1.08739 1.12543 1.17869 1.2152 1.20607 1.17412 +1.16195 1.12999 1.10413 1.14217 1.2076 1.19847 1.18173 1.20151 +1.26694 1.26237 1.16956 1.11934 1.07826 1.04008 1.00449 0.937684 +0.767789 0.581474 0.509474 0.501263 0.49432 0.49432 0.492427 0.496213 +0.512 0.526526 0.520211 0.506316 0.481067 0.4716 0.45456 0.433733 +0.411013 0.4148 0.48296 0.47728 0.401547 0.388293 0.399653 0.418587 +0.433733 0.433733 0.446987 0.462133 0.4148 0.39776 0.412907 0.384507 +0.3864 0.498107 0.551158 0.592842 0.598526 0.559368 0.530316 0.516421 +0.496213 0.486747 0.503789 0.508842 0.479173 0.407227 0.393973 0.401547 +0.401547 0.412907 0.44888 0.530947 0.608 0.668632 0.65979 0.596 +0.528421 0.452667 0.39776 0.390187 0.407227 0.40912 0.390187 0.37504 +0.376933 0.399653 0.405333 0.371253 0.361787 0.378827 0.388293 0.358 +0.356107 0.371253 0.35232 0.337173 0.33528 0.325813 0.31824 0.337173 +0.36936 0.367467 0.367467 0.373147 0.378827 0.39776 0.405333 0.35232 +0.325813 0.34664 0.393973 0.475387 0.516421 0.504421 0.416693 0.354213 +0.361787 0.395867 0.399653 0.371253 0.339067 0.333387 0.350427 0.39208 +0.42616 0.39776 0.378827 0.384507 0.393973 0.37504 0.35232 0.365573 +0.418587 0.441307 0.411013 0.38072 0.378827 0.4148 0.433733 0.416693 +0.393973 0.393973 0.418587 0.47728 0.568211 0.717263 0.855579 0.924421 +0.954737 0.976211 0.983918 0.981959 0.977474 0.970526 0.963579 0.957263 +0.945895 0.961053 0.985878 0.998286 1.00514 1.00482 1.00449 1.00514 +1.00482 1.0058 1.00873 1.00808 1.00776 1.00906 1.00873 1.0071 +0.998286 0.987184 0.973053 0.959789 0.949684 0.944632 0.944632 0.944 +0.945895 0.966105 0.986531 0.997306 0.993714 0.916842 0.731158 0.541053 +0.322027 0.25576 0.2728 0.3012 0.320133 0.303093 0.27848 0.251973 +0.2444 0.246293 0.2444 0.236827 0.248187 0.259547 0.231147 0.000873333 +0.000766667 0.00074 0.000753333 0.000753333 0.000726667 0.00072 0.000753333 0.000733333 +0.000726667 0.000726667 0.000706667 0.00072 0.000713333 0.000686667 0.000693333 0.000693333 +0.0007 0.000726667 0.000733333 0.00072 0.00076 0.00074 0.000713333 0.00072 +0.000713333 0.000706667 0.000726667 0.000706667 0.0007 0.0007 0.0007 0.000713333 +0.00072 0.000713333 0.000713333 0.0007 0.000713333 0.000726667 0.00072 0.000713333 +0.0007 0.000706667 0.000706667 0.000706667 0.000706667 0.0007 0.000706667 0.000693333 +0.000706667 0.000713333 0.00072 0.000726667 0.0007 0.000673333 0.000686667 0.000693333 +0.000693333 0.0007 0.00074 0.00074 0.000753333 0.00078 0.000746667 0.000746667 +0.000766667 0.00078 0.000773333 0.000773333 0.000786667 0.00078 0.000806667 0.000806667 +0.00078 0.000806667 0.00086 0.257653 0.388293 0.503158 0.623158 0.841684 +0.984245 0.991102 0.970526 0.949053 0.943368 0.944 0.962947 0.98849 +1.00384 1.00841 1.00906 1.01004 1.00906 1.00971 1.01004 1.0071 +1.00678 1.00906 1.00743 1.00971 1.01167 1.00645 1.00286 1.00286 +1.00841 1.01167 1.01069 1.00939 1.00841 1.0071 1.00612 1.00776 +1.00808 1.0022 0.995347 0.990449 0.993388 1.00351 1.00678 0.998612 +0.980327 0.902316 0.757684 0.593474 0.503789 0.452667 0.42048 0.411013 +0.42048 0.407227 0.399653 0.412907 0.435627 0.42616 0.37504 0.354213 +0.35232 0.350427 0.354213 0.361787 0.38072 0.40912 0.43752 0.469707 +0.48296 0.4148 0.348533 0.344747 0.339067 0.333387 0.33528 0.361787 +0.401547 0.42048 0.38072 0.34664 0.34096 0.333387 0.333387 0.333387 +0.33528 0.34096 0.34664 0.356107 0.378827 0.399653 0.399653 0.407227 +0.462133 0.514526 0.534737 0.554316 0.563789 0.538526 0.508842 0.506316 +0.520842 0.556842 0.596 0.627579 0.651579 0.647789 0.62 0.568842 +0.510105 0.43184 0.395867 0.373147 0.358 0.361787 0.365573 0.367467 +0.467813 0.600421 0.718526 0.752 0.68 0.579579 0.526526 0.458347 +0.395867 0.422373 0.439413 0.418587 0.388293 0.388293 0.40344 0.40344 +0.384507 0.354213 0.34096 0.356107 0.458347 0.584632 0.692 0.747579 +0.769684 0.765895 0.726737 0.624421 0.516421 0.479173 0.486747 0.475387 +0.473493 0.479173 0.486747 0.469707 0.479173 0.492427 0.496213 0.500632 +0.5 0.554316 0.661684 0.718526 0.66421 0.554316 0.508211 0.503158 +0.46024 0.42616 0.418587 0.411013 0.393973 0.390187 0.388293 0.388293 +0.388293 0.416693 0.43752 0.429947 0.43752 0.446987 0.445093 0.473493 +0.48864 0.502526 0.547368 0.683789 0.882105 1.01233 1.07978 1.3065 +1.53626 1.66712 1.68842 1.6869 1.62452 1.55909 1.57278 1.55452 +1.47236 1.40997 1.35519 1.29585 1.2502 1.18782 1.12999 1.10413 +1.08435 1.05739 1.04792 1.04302 1.04661 1.04824 1.0489 1.0502 +1.04857 1.04661 1.04661 1.05118 1.0502 1.04465 1.04498 1.04433 +1.04563 1.04792 1.04955 1.04629 1.04694 1.04792 1.05086 1.05216 +1.05053 1.05576 1.05935 1.095 1.14977 1.21064 1.20607 1.16651 +1.16803 1.13912 1.11021 1.16347 1.25324 1.25477 1.21064 1.18325 +1.23346 1.28368 1.26085 1.21673 1.1726 1.095 1.0342 0.988816 +0.840421 0.631368 0.524632 0.510105 0.508842 0.509474 0.509474 0.502526 +0.47728 0.47728 0.484853 0.458347 0.43184 0.429947 0.433733 0.424267 +0.393973 0.416693 0.481067 0.452667 0.39776 0.401547 0.422373 0.43184 +0.452667 0.464027 0.458347 0.446987 0.435627 0.481067 0.47728 0.40344 +0.388293 0.46592 0.529684 0.582105 0.614316 0.578316 0.527158 0.503158 +0.46592 0.433733 0.441307 0.501895 0.502526 0.4432 0.418587 0.42048 +0.428053 0.418587 0.418587 0.505053 0.581474 0.665474 0.704 0.661053 +0.558105 0.469707 0.42048 0.39776 0.384507 0.395867 0.399653 0.393973 +0.36936 0.348533 0.350427 0.350427 0.36368 0.373147 0.376933 0.358 +0.354213 0.371253 0.367467 0.359893 0.348533 0.327707 0.325813 0.348533 +0.373147 0.354213 0.337173 0.344747 0.354213 0.393973 0.388293 0.32392 +0.31824 0.34096 0.361787 0.40912 0.498107 0.512 0.458347 0.36936 +0.34664 0.361787 0.36368 0.358 0.356107 0.354213 0.361787 0.418587 +0.469707 0.428053 0.376933 0.3864 0.395867 0.37504 0.36936 0.36368 +0.382613 0.407227 0.401547 0.37504 0.367467 0.39776 0.405333 0.390187 +0.3864 0.384507 0.40344 0.503789 0.613053 0.781053 0.901053 0.950316 +0.972421 0.983265 0.985551 0.98098 0.969895 0.959158 0.953474 0.952842 +0.950947 0.978737 0.994694 1.00122 1.00514 1.0058 1.00514 1.00482 +1.00449 1.00612 1.00841 1.00841 1.00743 1.00971 1.00841 1.00122 +0.988163 0.974947 0.957263 0.948421 0.948421 0.947158 0.944632 0.944632 +0.954737 0.98098 0.99502 0.998939 0.951579 0.777895 0.575789 0.361787 +0.2444 0.248187 0.303093 0.333387 0.32392 0.28984 0.26144 0.242507 +0.234933 0.242507 0.240613 0.234933 0.22736 0.216 0.000906667 0.0008 +0.00076 0.00074 0.00072 0.000733333 0.000713333 0.000686667 0.000706667 0.00074 +0.000753333 0.000753333 0.000726667 0.000726667 0.000733333 0.000713333 0.00072 0.00072 +0.000706667 0.00072 0.000733333 0.000713333 0.000733333 0.00074 0.00076 0.000766667 +0.000753333 0.000766667 0.000786667 0.00074 0.000726667 0.000726667 0.000713333 0.000726667 +0.000733333 0.000726667 0.000733333 0.000726667 0.000733333 0.000753333 0.000726667 0.000726667 +0.00072 0.00072 0.0007 0.0007 0.000713333 0.0007 0.000706667 0.000693333 +0.000706667 0.000686667 0.000673333 0.00068 0.000666667 0.000666667 0.000686667 0.000686667 +0.000673333 0.000713333 0.000766667 0.000713333 0.000706667 0.0007 0.000706667 0.000746667 +0.00078 0.000793333 0.000753333 0.000753333 0.00076 0.000753333 0.000813333 0.000813333 +0.000793333 0.000813333 0.0008 0.000946667 0.3296 0.441307 0.545474 0.728 +0.933263 0.996 0.987184 0.966105 0.951579 0.945263 0.953474 0.98098 +0.997959 1.0071 1.00906 1.012 1.01037 1.00971 1.00971 1.00645 +1.0058 1.00971 1.01069 1.01037 1.01037 1.00906 1.00645 1.00253 +1.00318 1.00678 1.00971 1.00971 1.00906 1.00841 1.00678 1.00808 +1.0058 1.00122 0.99698 0.993714 0.996 1.00449 1.01265 1.01363 +1.00351 0.973053 0.858737 0.686316 0.543579 0.473493 0.435627 0.428053 +0.445093 0.43184 0.418587 0.429947 0.462133 0.44888 0.39208 0.361787 +0.367467 0.37504 0.36368 0.365573 0.399653 0.445093 0.441307 0.395867 +0.373147 0.36936 0.35232 0.333387 0.327707 0.327707 0.322027 0.339067 +0.371253 0.388293 0.359893 0.333387 0.325813 0.327707 0.339067 0.348533 +0.33528 0.34096 0.34664 0.348533 0.35232 0.34096 0.333387 0.350427 +0.393973 0.435627 0.456453 0.5 0.534105 0.563789 0.573895 0.575789 +0.592842 0.633895 0.661684 0.662316 0.641474 0.588421 0.529053 0.44888 +0.367467 0.35232 0.356107 0.339067 0.31824 0.325813 0.356107 0.384507 +0.510105 0.623158 0.711579 0.707158 0.611789 0.527158 0.510105 0.481067 +0.418587 0.388293 0.3864 0.399653 0.39776 0.382613 0.39776 0.42048 +0.399653 0.371253 0.359893 0.382613 0.511368 0.621263 0.721684 0.769684 +0.786105 0.784211 0.739368 0.617474 0.508842 0.445093 0.446987 0.46592 +0.473493 0.458347 0.44888 0.445093 0.450773 0.452667 0.45456 0.46592 +0.4716 0.533474 0.657895 0.795579 0.785474 0.645895 0.549895 0.506316 +0.450773 0.445093 0.446987 0.429947 0.405333 0.395867 0.40344 0.393973 +0.393973 0.42048 0.452667 0.450773 0.439413 0.445093 0.464027 0.47728 +0.469707 0.496213 0.542947 0.676211 0.880211 1.01233 1.05869 1.24564 +1.44649 1.56822 1.59408 1.62756 1.61539 1.58191 1.61387 1.57126 +1.48605 1.47388 1.40693 1.29585 1.24107 1.19238 1.13608 1.095 +1.05967 1.05118 1.04563 1.04629 1.04955 1.04824 1.04759 1.04727 +1.04531 1.04302 1.04531 1.04694 1.04269 1.03976 1.04204 1.04041 +1.04237 1.04465 1.044 1.04531 1.04563 1.04433 1.04988 1.04922 +1.04563 1.05053 1.05053 1.05412 1.07217 1.14217 1.16651 1.16803 +1.19542 1.1939 1.20912 1.2502 1.28976 1.28824 1.23346 1.18325 +1.22129 1.30041 1.33693 1.31563 1.26694 1.19542 1.09348 1.02637 +0.913053 0.692 0.554947 0.520211 0.505053 0.484853 0.48296 0.462133 +0.40912 0.40344 0.416693 0.407227 0.39208 0.393973 0.405333 0.388293 +0.388293 0.43184 0.49432 0.456453 0.4148 0.4148 0.428053 0.441307 +0.46024 0.48296 0.458347 0.445093 0.500632 0.529053 0.510737 0.428053 +0.401547 0.433733 0.505053 0.558737 0.612421 0.592842 0.532211 0.502526 +0.464027 0.40912 0.393973 0.424267 0.441307 0.411013 0.39776 0.40344 +0.411013 0.393973 0.373147 0.43752 0.546105 0.637684 0.703368 0.702737 +0.614947 0.520842 0.446987 0.405333 0.382613 0.371253 0.373147 0.384507 +0.367467 0.358 0.354213 0.356107 0.36936 0.376933 0.367467 0.36936 +0.382613 0.39776 0.390187 0.382613 0.358 0.333387 0.327707 0.339067 +0.339067 0.322027 0.32392 0.34096 0.350427 0.395867 0.393973 0.3296 +0.31824 0.33528 0.348533 0.367467 0.43752 0.510105 0.506316 0.412907 +0.344747 0.339067 0.33528 0.344747 0.36368 0.371253 0.393973 0.469707 +0.512632 0.492427 0.418587 0.390187 0.384507 0.371253 0.36936 0.36368 +0.367467 0.390187 0.390187 0.378827 0.376933 0.38072 0.37504 0.367467 +0.376933 0.393973 0.428053 0.530947 0.672421 0.840421 0.931368 0.965474 +0.981306 0.984245 0.983265 0.976842 0.961684 0.948421 0.947789 0.954737 +0.966105 0.987837 1.00024 1.00318 1.00482 1.0058 1.00612 1.00645 +1.00449 1.00547 1.00939 1.00906 1.00808 1.00906 1.00384 0.991755 +0.980327 0.963579 0.948421 0.943368 0.947789 0.949053 0.946526 0.951579 +0.972421 0.991755 0.998939 0.979368 0.834737 0.62 0.416693 0.26712 +0.23872 0.269013 0.333387 0.348533 0.32392 0.27848 0.25008 0.236827 +0.231147 0.231147 0.219787 0.000986667 0.00094 0.00086 0.000793333 0.000773333 +0.00076 0.000733333 0.000693333 0.000713333 0.000733333 0.00072 0.00072 0.00074 +0.00074 0.00076 0.000733333 0.00072 0.000706667 0.000713333 0.000706667 0.000713333 +0.0007 0.000693333 0.0007 0.000713333 0.000713333 0.000726667 0.00074 0.00074 +0.000753333 0.00078 0.000773333 0.000733333 0.00074 0.000726667 0.0007 0.00072 +0.000726667 0.0007 0.000693333 0.000726667 0.000733333 0.000733333 0.000733333 0.000753333 +0.00074 0.000733333 0.000726667 0.000726667 0.000726667 0.000706667 0.000726667 0.000753333 +0.00074 0.00072 0.000706667 0.000706667 0.00068 0.000673333 0.000686667 0.0007 +0.000733333 0.00076 0.00074 0.000673333 0.000673333 0.000686667 0.000706667 0.000733333 +0.000766667 0.000786667 0.000766667 0.000766667 0.00076 0.00078 0.000813333 0.000793333 +0.000786667 0.0008 0.000766667 0.00086 0.26712 0.384507 0.492427 0.617474 +0.837263 0.983592 0.994367 0.981306 0.960421 0.949053 0.948421 0.964842 +0.986857 1.0009 1.00873 1.01298 1.012 1.01004 1.01004 1.00841 +1.0071 1.00808 1.00939 1.01004 1.00971 1.01102 1.01004 1.00351 +1.00057 1.00253 1.00808 1.00906 1.01004 1.01004 1.00841 1.0071 +1.00416 1.00253 0.999265 0.995347 0.996653 1.00482 1.01592 1.02245 +1.02376 1.00939 0.947158 0.790526 0.615579 0.512 0.441307 0.424267 +0.445093 0.4432 0.435627 0.456453 0.484853 0.475387 0.42616 0.401547 +0.407227 0.4148 0.39208 0.405333 0.445093 0.46592 0.450773 0.401547 +0.36936 0.376933 0.36936 0.3296 0.325813 0.322027 0.310667 0.325813 +0.339067 0.339067 0.322027 0.314453 0.327707 0.344747 0.34664 0.337173 +0.339067 0.354213 0.354213 0.342853 0.325813 0.322027 0.3296 0.354213 +0.367467 0.367467 0.378827 0.4148 0.505053 0.556842 0.611789 0.641474 +0.657895 0.669263 0.661053 0.644632 0.604211 0.530316 0.43752 0.36936 +0.331493 0.31824 0.320133 0.316347 0.30688 0.333387 0.376933 0.4148 +0.529684 0.633895 0.691368 0.658526 0.556842 0.47728 0.486747 0.486747 +0.43752 0.384507 0.35232 0.376933 0.42048 0.4148 0.40344 0.407227 +0.42616 0.433733 0.40344 0.424267 0.548 0.666105 0.754526 0.791789 +0.807579 0.807579 0.743158 0.607368 0.501895 0.42616 0.43184 0.4432 +0.424267 0.411013 0.422373 0.43184 0.428053 0.424267 0.433733 0.456453 +0.45456 0.501895 0.596632 0.744421 0.786105 0.696421 0.604842 0.541684 +0.503158 0.467813 0.446987 0.43752 0.424267 0.416693 0.4148 0.40344 +0.390187 0.42048 0.462133 0.47728 0.458347 0.450773 0.44888 0.458347 +0.4716 0.500632 0.543579 0.666737 0.860632 1.00678 1.06 1.23498 +1.39019 1.50127 1.55909 1.61082 1.61539 1.6093 1.623 1.553 +1.44497 1.40997 1.38258 1.3065 1.23498 1.17564 1.13456 1.09956 +1.06152 1.0538 1.05053 1.05118 1.05184 1.04563 1.04269 1.04073 +1.04269 1.04465 1.04694 1.04302 1.03714 1.03878 1.04302 1.04073 +1.044 1.04367 1.04041 1.04269 1.04269 1.04171 1.04727 1.04596 +1.04237 1.04694 1.04759 1.04922 1.0538 1.06913 1.10717 1.15738 +1.21825 1.24564 1.24716 1.2502 1.24716 1.26085 1.24259 1.19086 +1.20607 1.26542 1.30954 1.33085 1.31411 1.24716 1.16956 1.04988 +0.966737 0.74 0.573263 0.517684 0.481067 0.450773 0.464027 0.46592 +0.422373 0.4148 0.405333 0.399653 0.384507 0.390187 0.39776 0.39208 +0.416693 0.46592 0.490533 0.462133 0.424267 0.411013 0.416693 0.429947 +0.446987 0.45456 0.445093 0.490533 0.523368 0.524632 0.473493 0.411013 +0.40344 0.422373 0.473493 0.537263 0.609895 0.614947 0.554947 0.518316 +0.486747 0.411013 0.388293 0.3864 0.376933 0.373147 0.38072 0.399653 +0.405333 0.382613 0.361787 0.37504 0.502526 0.590947 0.676842 0.712842 +0.672421 0.579579 0.509474 0.441307 0.399653 0.38072 0.36936 0.359893 +0.356107 0.354213 0.358 0.361787 0.373147 0.393973 0.407227 0.4148 +0.418587 0.39776 0.36936 0.359893 0.34664 0.33528 0.3296 0.327707 +0.327707 0.32392 0.327707 0.325813 0.348533 0.390187 0.38072 0.3296 +0.308773 0.325813 0.344747 0.348533 0.395867 0.501895 0.520211 0.47728 +0.36936 0.337173 0.331493 0.339067 0.350427 0.36368 0.382613 0.441307 +0.496213 0.48296 0.441307 0.399653 0.373147 0.367467 0.367467 0.359893 +0.35232 0.361787 0.38072 0.39208 0.395867 0.38072 0.3864 0.376933 +0.36936 0.390187 0.46592 0.575158 0.743789 0.892211 0.952211 0.973684 +0.982939 0.984571 0.982612 0.971789 0.955368 0.946526 0.949053 0.959158 +0.978737 0.994367 1.00318 1.00482 1.00547 1.0058 1.00678 1.00678 +1.0058 1.00678 1.00939 1.00841 1.00841 1.00612 0.994694 0.982286 +0.969263 0.954105 0.944 0.944632 0.949053 0.949684 0.952211 0.968632 +0.988816 0.999265 0.989796 0.885895 0.678737 0.5 0.27848 0.236827 +0.25008 0.31256 0.361787 0.34664 0.29552 0.25008 0.22736 0.219787 +0.000986667 0.000966667 0.000933333 0.000913333 0.000853333 0.0008 0.00074 0.00074 +0.00074 0.00074 0.000726667 0.000733333 0.00074 0.000733333 0.000733333 0.000746667 +0.00074 0.00072 0.00072 0.0007 0.0007 0.000706667 0.000706667 0.0007 +0.0007 0.0007 0.0007 0.000693333 0.000693333 0.0007 0.000713333 0.000726667 +0.000746667 0.000746667 0.000726667 0.00072 0.00074 0.00074 0.000726667 0.000753333 +0.00074 0.000693333 0.000713333 0.000733333 0.000713333 0.000713333 0.00072 0.000733333 +0.000726667 0.000733333 0.00072 0.000713333 0.000733333 0.000726667 0.000693333 0.00072 +0.000733333 0.00074 0.00074 0.000693333 0.00068 0.0007 0.0007 0.000746667 +0.000786667 0.000786667 0.000746667 0.000726667 0.000733333 0.000733333 0.00076 0.000773333 +0.000766667 0.00076 0.000773333 0.000786667 0.000766667 0.00078 0.000773333 0.000766667 +0.00078 0.000793333 0.00076 0.000813333 0.000973333 0.310667 0.40344 0.530947 +0.709053 0.915579 0.992408 0.987837 0.967368 0.950316 0.944632 0.946526 +0.966737 0.990449 1.00482 1.01004 1.01069 1.01102 1.012 1.01167 +1.00873 1.00416 1.0058 1.01037 1.01004 1.01004 1.00971 1.0071 +1.00318 0.999265 1.00351 1.00743 1.01037 1.01004 1.00841 1.00841 +1.00645 1.00645 1.00351 0.999592 1.00155 1.00939 1.01951 1.02669 +1.03584 1.04073 1.00939 0.901053 0.722947 0.570105 0.49432 0.446987 +0.458347 0.469707 0.48864 0.503158 0.501895 0.48296 0.464027 0.445093 +0.45456 0.467813 0.450773 0.450773 0.45456 0.445093 0.439413 0.411013 +0.371253 0.367467 0.373147 0.342853 0.33528 0.325813 0.316347 0.322027 +0.333387 0.322027 0.31824 0.322027 0.331493 0.342853 0.34664 0.350427 +0.359893 0.36936 0.365573 0.35232 0.33528 0.34096 0.350427 0.36368 +0.359893 0.358 0.378827 0.40344 0.4716 0.551789 0.631368 0.671789 +0.663579 0.628211 0.585895 0.566947 0.544842 0.496213 0.412907 0.358 +0.316347 0.310667 0.327707 0.337173 0.344747 0.37504 0.411013 0.467813 +0.551158 0.631368 0.657263 0.606105 0.513895 0.418587 0.446987 0.456453 +0.428053 0.393973 0.365573 0.36936 0.407227 0.412907 0.395867 0.390187 +0.458347 0.506316 0.467813 0.502526 0.601053 0.714105 0.782947 0.813263 +0.830947 0.812 0.722316 0.594105 0.500632 0.433733 0.439413 0.428053 +0.401547 0.401547 0.4148 0.416693 0.4148 0.42616 0.42616 0.43752 +0.428053 0.4432 0.532211 0.620632 0.686316 0.686947 0.648421 0.592842 +0.541684 0.518947 0.510105 0.503158 0.496213 0.47728 0.462133 0.43752 +0.418587 0.43752 0.46592 0.4716 0.446987 0.433733 0.43184 0.450773 +0.473493 0.504421 0.538526 0.642105 0.817684 0.989469 1.05249 1.19238 +1.30346 1.39628 1.50735 1.59865 1.59865 1.58648 1.54235 1.45257 +1.37041 1.32172 1.29128 1.24868 1.20912 1.15282 1.12086 1.07826 +1.05771 1.0551 1.05282 1.05184 1.05151 1.04531 1.03943 1.03518 +1.03878 1.04041 1.04106 1.03551 1.03257 1.03878 1.04367 1.04237 +1.04824 1.04824 1.04204 1.04302 1.04073 1.04008 1.04367 1.04237 +1.04139 1.044 1.044 1.04629 1.04922 1.05314 1.06456 1.12695 +1.19542 1.23955 1.25629 1.25781 1.23955 1.23498 1.23346 1.18782 +1.16195 1.21825 1.25324 1.26846 1.26846 1.21673 1.13304 1.04139 +0.976842 0.765263 0.579579 0.515158 0.475387 0.45456 0.4716 0.48864 +0.48296 0.446987 0.39776 0.39208 0.390187 0.395867 0.40344 0.407227 +0.4432 0.475387 0.458347 0.446987 0.418587 0.40344 0.4148 0.42048 +0.439413 0.439413 0.467813 0.509474 0.510737 0.458347 0.384507 0.36936 +0.36936 0.40912 0.456453 0.520211 0.604842 0.635789 0.577684 0.524 +0.49432 0.42616 0.393973 0.37504 0.358 0.365573 0.373147 0.378827 +0.38072 0.373147 0.36368 0.356107 0.418587 0.546105 0.648421 0.712842 +0.714737 0.652842 0.555579 0.4716 0.422373 0.412907 0.393973 0.361787 +0.350427 0.350427 0.358 0.358 0.384507 0.439413 0.492427 0.47728 +0.424267 0.378827 0.344747 0.34096 0.333387 0.325813 0.31824 0.316347 +0.322027 0.337173 0.34096 0.34096 0.36368 0.378827 0.36368 0.333387 +0.31256 0.331493 0.356107 0.358 0.36936 0.439413 0.511368 0.509474 +0.42048 0.35232 0.34096 0.339067 0.33528 0.33528 0.350427 0.378827 +0.40344 0.42616 0.441307 0.429947 0.401547 0.39208 0.388293 0.376933 +0.361787 0.36368 0.382613 0.38072 0.382613 0.378827 0.388293 0.38072 +0.373147 0.39776 0.510737 0.642105 0.821474 0.932 0.968632 0.980653 +0.984898 0.987184 0.983265 0.966105 0.949684 0.945895 0.952211 0.968632 +0.987184 0.999592 1.00482 1.00612 1.00645 1.00547 1.00547 1.00612 +1.00482 1.00743 1.01037 1.00808 1.00645 0.998939 0.985878 0.972421 +0.962316 0.949684 0.945263 0.949053 0.952211 0.953474 0.962316 0.983592 +0.998612 0.99698 0.930737 0.741263 0.537895 0.303093 0.242507 0.246293 +0.3012 0.371253 0.365573 0.308773 0.25008 0.216 0.000953333 0.00094 +0.000953333 0.000926667 0.000853333 0.000806667 0.000753333 0.00074 0.000726667 0.00074 +0.000746667 0.000746667 0.00074 0.000746667 0.000726667 0.000713333 0.000713333 0.00072 +0.000733333 0.000726667 0.00072 0.000706667 0.0007 0.0007 0.0007 0.000693333 +0.000693333 0.000713333 0.000726667 0.0007 0.000693333 0.000693333 0.0007 0.000713333 +0.0007 0.000673333 0.000666667 0.000686667 0.000693333 0.000706667 0.000713333 0.00072 +0.000733333 0.00074 0.00074 0.000726667 0.000706667 0.00072 0.00072 0.000706667 +0.000713333 0.00072 0.000706667 0.000713333 0.000746667 0.000733333 0.000713333 0.000726667 +0.00072 0.00072 0.000693333 0.00066 0.00068 0.000706667 0.000706667 0.000726667 +0.000726667 0.00072 0.00072 0.000733333 0.000773333 0.00076 0.000793333 0.000786667 +0.000746667 0.000726667 0.000753333 0.000773333 0.000773333 0.000793333 0.00076 0.000753333 +0.000793333 0.0008 0.00078 0.00082 0.000873333 0.251973 0.356107 0.44888 +0.591579 0.805684 0.971158 0.994694 0.980327 0.949684 0.941474 0.940842 +0.950947 0.978737 0.996327 1.00612 1.01004 1.01102 1.01233 1.01298 +1.01004 1.00449 1.00449 1.00808 1.0071 1.00678 1.00841 1.00808 +1.00645 1.00024 0.998939 1.00253 1.00678 1.00776 1.00841 1.00939 +1.00808 1.00776 1.00547 1.00482 1.00743 1.01298 1.0231 1.03192 +1.03878 1.0538 1.05086 1.0009 0.851789 0.674316 0.549263 0.48296 +0.458347 0.479173 0.498107 0.49432 0.467813 0.44888 0.441307 0.441307 +0.462133 0.481067 0.486747 0.481067 0.4432 0.40344 0.384507 0.37504 +0.358 0.35232 0.388293 0.388293 0.354213 0.34096 0.32392 0.314453 +0.325813 0.331493 0.337173 0.339067 0.33528 0.331493 0.34096 0.350427 +0.358 0.371253 0.384507 0.371253 0.348533 0.34664 0.358 0.373147 +0.365573 0.359893 0.388293 0.44888 0.528421 0.596 0.648421 0.649684 +0.604211 0.542947 0.492427 0.45456 0.458347 0.422373 0.388293 0.350427 +0.32392 0.331493 0.35232 0.36936 0.378827 0.384507 0.39776 0.475387 +0.556842 0.614947 0.614947 0.555579 0.446987 0.378827 0.42616 0.433733 +0.40344 0.388293 0.376933 0.365573 0.3864 0.384507 0.36936 0.367467 +0.42616 0.507579 0.519579 0.56 0.661684 0.752632 0.797474 0.818947 +0.827789 0.789263 0.707158 0.597263 0.506947 0.44888 0.445093 0.42616 +0.416693 0.4148 0.401547 0.399653 0.418587 0.435627 0.422373 0.42048 +0.412907 0.416693 0.500632 0.546105 0.611789 0.668 0.672421 0.625684 +0.563158 0.544842 0.546737 0.541053 0.530947 0.525895 0.516421 0.505053 +0.486747 0.469707 0.475387 0.473493 0.456453 0.445093 0.45456 0.467813 +0.4716 0.503158 0.527789 0.600421 0.758947 0.951579 1.03094 1.07217 +1.18325 1.25781 1.36432 1.48757 1.51496 1.47692 1.40693 1.33845 +1.29433 1.28215 1.24411 1.19542 1.17412 1.13304 1.1026 1.05673 +1.05086 1.05184 1.0538 1.05086 1.04531 1.03976 1.03518 1.03322 +1.03714 1.03649 1.03453 1.03192 1.03388 1.04237 1.04269 1.0391 +1.04433 1.04465 1.04237 1.04302 1.03747 1.03845 1.04106 1.04139 +1.04106 1.04269 1.044 1.04629 1.04922 1.05314 1.05641 1.07217 +1.13912 1.21216 1.25629 1.26542 1.24411 1.22129 1.2076 1.18173 +1.14369 1.19086 1.22433 1.2076 1.19694 1.14065 1.05673 1.02245 +0.963579 0.776632 0.587158 0.515158 0.473493 0.467813 0.479173 0.479173 +0.48864 0.458347 0.401547 0.39208 0.39208 0.390187 0.399653 0.412907 +0.445093 0.4432 0.40912 0.4148 0.412907 0.40344 0.40344 0.412907 +0.43184 0.424267 0.473493 0.479173 0.42616 0.388293 0.36936 0.36368 +0.367467 0.418587 0.46024 0.505684 0.586526 0.645263 0.598526 0.527789 +0.492427 0.44888 0.40344 0.36936 0.359893 0.36936 0.359893 0.361787 +0.356107 0.348533 0.348533 0.365573 0.407227 0.516421 0.612421 0.700211 +0.735579 0.711579 0.614947 0.515158 0.43752 0.43752 0.429947 0.3864 +0.361787 0.367467 0.371253 0.371253 0.3864 0.456453 0.511368 0.484853 +0.395867 0.36936 0.358 0.348533 0.337173 0.314453 0.31824 0.327707 +0.327707 0.337173 0.34096 0.350427 0.36368 0.356107 0.350427 0.354213 +0.344747 0.354213 0.376933 0.373147 0.365573 0.390187 0.490533 0.527158 +0.502526 0.393973 0.350427 0.34096 0.34096 0.34664 0.358 0.356107 +0.367467 0.401547 0.43752 0.44888 0.4432 0.4432 0.43184 0.412907 +0.40912 0.412907 0.4148 0.395867 0.388293 0.382613 0.38072 0.382613 +0.399653 0.4432 0.560632 0.731789 0.892842 0.958526 0.974316 0.981306 +0.984571 0.986531 0.98 0.959158 0.945263 0.944 0.956 0.982286 +0.99698 1.00384 1.00449 1.00514 1.00547 1.00351 1.00286 1.00547 +1.00678 1.00873 1.01037 1.00776 1.0022 0.990122 0.977474 0.967368 +0.954105 0.947158 0.946526 0.949684 0.949053 0.956632 0.98 0.993061 +1.00057 0.970526 0.808211 0.593474 0.361787 0.23872 0.253867 0.304987 +0.36368 0.388293 0.333387 0.253867 0.000966667 0.00092 0.000906667 0.00088 +0.00088 0.00086 0.0008 0.00076 0.000726667 0.000706667 0.000733333 0.00076 +0.000746667 0.000726667 0.000713333 0.000733333 0.000733333 0.000706667 0.000693333 0.0007 +0.000733333 0.000753333 0.00074 0.000706667 0.000706667 0.00072 0.000706667 0.000706667 +0.000706667 0.0007 0.000713333 0.0007 0.00072 0.000706667 0.00072 0.00072 +0.000686667 0.000693333 0.000686667 0.000686667 0.0007 0.000706667 0.000706667 0.00068 +0.000686667 0.000686667 0.000706667 0.000713333 0.00072 0.000733333 0.000733333 0.000706667 +0.000706667 0.000726667 0.00074 0.000726667 0.000726667 0.00072 0.000746667 0.000753333 +0.000713333 0.000713333 0.000706667 0.0007 0.000726667 0.000706667 0.000693333 0.00074 +0.000733333 0.000693333 0.000673333 0.000686667 0.000726667 0.000753333 0.00076 0.000733333 +0.000693333 0.000693333 0.000713333 0.00072 0.000733333 0.000733333 0.000726667 0.00076 +0.00082 0.000813333 0.0008 0.000833333 0.00084 0.217893 0.31824 0.3864 +0.508842 0.673684 0.887158 0.990776 0.989469 0.961053 0.945895 0.947789 +0.949684 0.961053 0.986204 1.00188 1.01037 1.01135 1.01102 1.01233 +1.01037 1.00645 1.0058 1.00612 1.00188 1.00253 1.00743 1.00841 +1.00808 1.00449 0.998286 0.99698 1.00057 1.00384 1.00645 1.00808 +1.00678 1.00776 1.00776 1.00841 1.01037 1.01657 1.02669 1.03486 +1.03878 1.04988 1.09043 1.05445 0.988163 0.809474 0.636421 0.525263 +0.458347 0.450773 0.452667 0.43752 0.418587 0.411013 0.418587 0.422373 +0.42048 0.4432 0.5 0.48296 0.4148 0.390187 0.371253 0.354213 +0.344747 0.344747 0.405333 0.428053 0.378827 0.339067 0.327707 0.316347 +0.310667 0.31824 0.331493 0.337173 0.333387 0.32392 0.320133 0.339067 +0.35232 0.356107 0.350427 0.350427 0.354213 0.373147 0.382613 0.37504 +0.358 0.36936 0.450773 0.528421 0.585263 0.625684 0.623789 0.578316 +0.517684 0.42616 0.36936 0.37504 0.399653 0.371253 0.354213 0.344747 +0.342853 0.34664 0.35232 0.367467 0.384507 0.378827 0.373147 0.44888 +0.546737 0.588421 0.576421 0.518947 0.39208 0.367467 0.412907 0.42048 +0.393973 0.3864 0.38072 0.367467 0.3864 0.384507 0.361787 0.367467 +0.393973 0.48296 0.550526 0.630737 0.718526 0.776 0.794947 0.8 +0.799368 0.771579 0.713474 0.611789 0.515789 0.452667 0.43184 0.418587 +0.42048 0.395867 0.37504 0.388293 0.416693 0.424267 0.405333 0.395867 +0.411013 0.411013 0.450773 0.505053 0.553053 0.636421 0.683158 0.636421 +0.551158 0.510105 0.510105 0.506316 0.504421 0.508211 0.505684 0.502526 +0.47728 0.446987 0.462133 0.486747 0.486747 0.467813 0.469707 0.473493 +0.464027 0.498107 0.509474 0.553053 0.701474 0.901053 1.00155 1.02898 +1.05804 1.15434 1.25172 1.37345 1.42519 1.38106 1.33389 1.30802 +1.2715 1.27911 1.24411 1.17412 1.13456 1.09956 1.07369 1.05282 +1.0502 1.0502 1.05086 1.04824 1.04171 1.03747 1.03486 1.03453 +1.03649 1.03584 1.03355 1.03159 1.03486 1.04237 1.04041 1.03584 +1.03812 1.03845 1.04106 1.04269 1.03616 1.03714 1.03976 1.04106 +1.0378 1.04008 1.04498 1.04531 1.04857 1.05282 1.05118 1.05543 +1.11173 1.19847 1.24259 1.24411 1.23651 1.22738 1.20303 1.18629 +1.14217 1.16195 1.20607 1.18782 1.14825 1.10108 1.05249 1.01853 +0.962316 0.788 0.591579 0.512632 0.484853 0.47728 0.473493 0.44888 +0.45456 0.43752 0.40912 0.407227 0.3864 0.39208 0.401547 0.416693 +0.422373 0.405333 0.390187 0.39776 0.405333 0.393973 0.393973 0.405333 +0.411013 0.407227 0.445093 0.428053 0.367467 0.373147 0.382613 0.378827 +0.382613 0.439413 0.473493 0.473493 0.561263 0.648421 0.625053 0.544842 +0.496213 0.467813 0.433733 0.3864 0.36368 0.367467 0.36936 0.367467 +0.361787 0.354213 0.36368 0.388293 0.411013 0.469707 0.548 0.649053 +0.728632 0.74 0.674316 0.565053 0.484853 0.46024 0.48296 0.4432 +0.395867 0.38072 0.378827 0.38072 0.378827 0.433733 0.49432 0.445093 +0.3864 0.373147 0.361787 0.350427 0.344747 0.31824 0.31256 0.344747 +0.359893 0.34664 0.337173 0.34664 0.356107 0.34096 0.337173 0.356107 +0.365573 0.373147 0.371253 0.361787 0.356107 0.359893 0.469707 0.542316 +0.537895 0.484853 0.39776 0.365573 0.354213 0.348533 0.342853 0.342853 +0.359893 0.393973 0.411013 0.405333 0.424267 0.458347 0.464027 0.46592 +0.462133 0.45456 0.450773 0.43752 0.42616 0.4148 0.395867 0.39208 +0.418587 0.508211 0.637053 0.825263 0.941474 0.973053 0.980327 0.982286 +0.985878 0.985224 0.966737 0.947789 0.944632 0.950947 0.971158 0.989469 +1.00122 1.00351 1.00384 1.00449 1.00351 1.00384 1.00416 1.0058 +1.0071 1.00939 1.01037 1.00351 0.993061 0.981959 0.969263 0.959158 +0.946526 0.942737 0.944632 0.947789 0.951579 0.968 0.988163 0.999592 +0.991429 0.878316 0.662316 0.462133 0.257653 0.234933 0.28416 0.356107 +0.388293 0.354213 0.270907 0.000953333 0.00086 0.00084 0.000853333 0.00084 +0.00082 0.000793333 0.000773333 0.000773333 0.000746667 0.000713333 0.00072 0.000733333 +0.00074 0.000713333 0.0007 0.000713333 0.000733333 0.00074 0.00072 0.000686667 +0.000713333 0.00074 0.000726667 0.0007 0.000693333 0.000706667 0.0007 0.000706667 +0.000706667 0.00068 0.000673333 0.000686667 0.000753333 0.000746667 0.00074 0.000746667 +0.000726667 0.000726667 0.00072 0.000693333 0.000706667 0.000726667 0.000733333 0.000713333 +0.00072 0.00072 0.00074 0.000746667 0.000726667 0.00074 0.00074 0.000706667 +0.000706667 0.00074 0.000726667 0.000726667 0.000733333 0.00074 0.000726667 0.0007 +0.000693333 0.000706667 0.0007 0.00068 0.000693333 0.0007 0.00072 0.000753333 +0.00074 0.00072 0.00068 0.000693333 0.000713333 0.000726667 0.00074 0.000706667 +0.0007 0.000726667 0.000753333 0.00074 0.00072 0.000686667 0.0007 0.00078 +0.000813333 0.00078 0.000753333 0.0008 0.000833333 0.00092 0.269013 0.350427 +0.405333 0.554947 0.753895 0.942737 0.991102 0.98 0.957263 0.951579 +0.949053 0.948421 0.969263 0.992408 1.0071 1.01102 1.01167 1.01298 +1.01102 1.00841 1.00906 1.00841 1.0022 1.00024 1.00482 1.00906 +1.00939 1.00776 1.00122 0.994367 0.994367 1.00024 1.00547 1.00743 +1.00612 1.00939 1.01069 1.00939 1.01233 1.02212 1.0329 1.03976 +1.04302 1.04661 1.07065 1.17108 1.05967 0.961053 0.754526 0.594105 +0.507579 0.45456 0.445093 0.42616 0.416693 0.418587 0.42616 0.4148 +0.395867 0.428053 0.498107 0.46024 0.390187 0.373147 0.359893 0.344747 +0.344747 0.358 0.40344 0.435627 0.393973 0.344747 0.34096 0.320133 +0.299307 0.3012 0.316347 0.327707 0.333387 0.333387 0.3296 0.339067 +0.337173 0.325813 0.322027 0.33528 0.348533 0.384507 0.40344 0.376933 +0.382613 0.462133 0.533474 0.579579 0.609263 0.602316 0.561263 0.503158 +0.384507 0.339067 0.339067 0.393973 0.42048 0.367467 0.344747 0.342853 +0.358 0.35232 0.354213 0.36368 0.36936 0.359893 0.36368 0.450773 +0.535368 0.560632 0.544842 0.492427 0.382613 0.371253 0.384507 0.399653 +0.418587 0.405333 0.371253 0.354213 0.37504 0.382613 0.367467 0.38072 +0.39776 0.479173 0.573263 0.678105 0.753895 0.785474 0.785474 0.770947 +0.760842 0.752632 0.716632 0.627579 0.527789 0.45456 0.422373 0.422373 +0.422373 0.401547 0.39208 0.40912 0.411013 0.412907 0.39208 0.38072 +0.407227 0.422373 0.422373 0.452667 0.509474 0.585895 0.662316 0.648421 +0.559368 0.46024 0.407227 0.399653 0.405333 0.428053 0.43184 0.429947 +0.43184 0.433733 0.435627 0.458347 0.475387 0.467813 0.473493 0.484853 +0.464027 0.473493 0.48296 0.521474 0.650316 0.852421 0.98 1.00645 +1.03584 1.06304 1.16195 1.30194 1.39171 1.34911 1.33541 1.31867 +1.27303 1.28976 1.24564 1.1589 1.1163 1.08435 1.05967 1.05053 +1.05118 1.05086 1.04759 1.04629 1.04367 1.04269 1.03976 1.03714 +1.03551 1.03551 1.0342 1.03094 1.03257 1.0391 1.03714 1.0342 +1.0342 1.03551 1.03812 1.04106 1.03714 1.03714 1.04041 1.04237 +1.03812 1.0391 1.04302 1.04367 1.04629 1.04988 1.0489 1.05314 +1.07674 1.15434 1.2076 1.22129 1.23803 1.25324 1.23803 1.20303 +1.14521 1.14217 1.20455 1.20912 1.15434 1.12239 1.05673 1.01918 +0.971158 0.808842 0.602947 0.517684 0.504421 0.481067 0.464027 0.43184 +0.412907 0.401547 0.407227 0.39776 0.39208 0.39208 0.393973 0.40912 +0.401547 0.399653 0.405333 0.399653 0.393973 0.395867 0.393973 0.390187 +0.382613 0.39208 0.43752 0.424267 0.3864 0.39776 0.401547 0.378827 +0.3864 0.446987 0.464027 0.429947 0.542316 0.642737 0.639579 0.561263 +0.502526 0.490533 0.490533 0.42616 0.376933 0.371253 0.367467 0.358 +0.371253 0.376933 0.384507 0.393973 0.39208 0.40912 0.48296 0.578316 +0.683789 0.734947 0.716 0.623789 0.525895 0.46024 0.45456 0.439413 +0.411013 0.399653 0.39776 0.38072 0.3864 0.433733 0.452667 0.405333 +0.36936 0.359893 0.373147 0.388293 0.36936 0.33528 0.327707 0.34664 +0.373147 0.36368 0.342853 0.348533 0.367467 0.354213 0.348533 0.37504 +0.3864 0.384507 0.365573 0.34664 0.339067 0.365573 0.48864 0.551789 +0.550526 0.512632 0.450773 0.390187 0.356107 0.337173 0.337173 0.350427 +0.373147 0.40344 0.401547 0.371253 0.3864 0.416693 0.433733 0.458347 +0.46024 0.4432 0.445093 0.4432 0.433733 0.43184 0.418587 0.4148 +0.469707 0.572 0.745684 0.902316 0.961684 0.976842 0.982286 0.984571 +0.988816 0.983592 0.958526 0.948421 0.954105 0.964211 0.983918 0.996 +1.0022 1.00482 1.00514 1.00286 1.00122 1.00416 1.0058 1.00612 +1.0058 1.00808 1.00808 0.997633 0.986531 0.976211 0.962316 0.951579 +0.942737 0.943368 0.943368 0.946526 0.959158 0.982612 0.996 0.998612 +0.941474 0.743789 0.534105 0.304987 0.246293 0.269013 0.339067 0.388293 +0.36368 0.287947 0.000986667 0.000853333 0.00084 0.00082 0.000813333 0.0008 +0.0008 0.00076 0.000753333 0.000773333 0.00076 0.000746667 0.000733333 0.000733333 +0.000746667 0.000726667 0.000713333 0.000713333 0.00072 0.000733333 0.000733333 0.000693333 +0.000673333 0.0007 0.0007 0.0007 0.000693333 0.000673333 0.00066 0.000673333 +0.00068 0.000686667 0.00068 0.000673333 0.000726667 0.000713333 0.0007 0.000713333 +0.00072 0.000726667 0.00074 0.00072 0.000726667 0.00074 0.000726667 0.00072 +0.000726667 0.000746667 0.000766667 0.00076 0.000746667 0.000733333 0.000726667 0.00072 +0.000733333 0.000766667 0.000766667 0.000766667 0.000753333 0.000733333 0.00072 0.000713333 +0.000713333 0.000713333 0.0007 0.000706667 0.000713333 0.00072 0.000766667 0.00076 +0.000713333 0.00068 0.000673333 0.00072 0.000746667 0.000753333 0.00072 0.000686667 +0.000706667 0.00074 0.000766667 0.000746667 0.000726667 0.00072 0.00078 0.00082 +0.000806667 0.000773333 0.00078 0.000813333 0.00084 0.000846667 0.000966667 0.304987 +0.37504 0.464027 0.616211 0.830947 0.973684 0.989796 0.975579 0.953474 +0.942105 0.942737 0.954105 0.978737 0.996327 1.0058 1.00743 1.01037 +1.012 1.00971 1.00971 1.00939 1.00514 0.999918 1.00286 1.00841 +1.00906 1.00808 1.00645 1.00024 0.995673 0.99698 1.00024 1.0058 +1.00743 1.01069 1.01233 1.01037 1.01167 1.02539 1.04335 1.05249 +1.05249 1.04955 1.05347 1.1589 1.23498 1.04433 0.902947 0.706526 +0.566316 0.49432 0.4432 0.42616 0.412907 0.401547 0.42048 0.424267 +0.411013 0.44888 0.501263 0.45456 0.37504 0.358 0.35232 0.350427 +0.34096 0.365573 0.390187 0.428053 0.407227 0.36368 0.342853 0.320133 +0.304987 0.29552 0.308773 0.327707 0.342853 0.348533 0.339067 0.33528 +0.33528 0.32392 0.327707 0.33528 0.344747 0.407227 0.458347 0.439413 +0.500632 0.546737 0.583368 0.601684 0.587789 0.543579 0.496213 0.399653 +0.34096 0.325813 0.342853 0.418587 0.441307 0.378827 0.34664 0.35232 +0.36936 0.371253 0.36936 0.361787 0.350427 0.344747 0.367467 0.445093 +0.515158 0.527789 0.513263 0.458347 0.418587 0.39776 0.378827 0.393973 +0.445093 0.424267 0.367467 0.35232 0.365573 0.373147 0.38072 0.3864 +0.412907 0.515158 0.614947 0.719789 0.777895 0.788632 0.766526 0.725474 +0.712211 0.723579 0.708421 0.642737 0.548 0.481067 0.439413 0.428053 +0.418587 0.428053 0.43184 0.42616 0.405333 0.39776 0.395867 0.395867 +0.428053 0.441307 0.412907 0.435627 0.462133 0.523368 0.612421 0.662947 +0.59979 0.504421 0.412907 0.39776 0.401547 0.428053 0.441307 0.42616 +0.429947 0.43752 0.433733 0.450773 0.456453 0.464027 0.479173 0.4716 +0.445093 0.469707 0.500632 0.511368 0.591579 0.776632 0.940211 0.995673 +1.02278 1.04759 1.11478 1.27607 1.3841 1.35824 1.32324 1.29128 +1.27303 1.29128 1.25477 1.16956 1.1163 1.08435 1.05706 1.04629 +1.0489 1.05053 1.04792 1.04694 1.04335 1.04367 1.04433 1.04008 +1.03551 1.03518 1.03584 1.03355 1.0342 1.03649 1.03518 1.03355 +1.0329 1.03486 1.03845 1.04008 1.03584 1.03388 1.03812 1.04335 +1.04073 1.03845 1.04237 1.04335 1.04139 1.04433 1.04792 1.04988 +1.05445 1.08739 1.15282 1.19847 1.2289 1.24107 1.26542 1.23651 +1.16956 1.15738 1.20912 1.23346 1.18477 1.14217 1.05673 1.0182 +0.984245 0.849895 0.640211 0.529053 0.505684 0.490533 0.473493 0.441307 +0.411013 0.395867 0.39208 0.39776 0.382613 0.384507 0.39776 0.399653 +0.399653 0.40912 0.401547 0.384507 0.388293 0.384507 0.382613 0.376933 +0.376933 0.40912 0.4432 0.422373 0.412907 0.450773 0.433733 0.382613 +0.382613 0.450773 0.462133 0.412907 0.527789 0.630737 0.645263 0.578316 +0.510105 0.49432 0.508211 0.496213 0.44888 0.42048 0.371253 0.348533 +0.358 0.371253 0.39208 0.393973 0.38072 0.39208 0.411013 0.513263 +0.609263 0.701474 0.734316 0.678105 0.577053 0.501895 0.412907 0.39776 +0.412907 0.412907 0.390187 0.37504 0.40344 0.428053 0.40344 0.361787 +0.344747 0.361787 0.40344 0.4148 0.373147 0.34664 0.342853 0.350427 +0.36368 0.373147 0.354213 0.344747 0.367467 0.376933 0.395867 0.428053 +0.42048 0.390187 0.367467 0.35232 0.342853 0.37504 0.473493 0.529684 +0.529684 0.507579 0.46592 0.401547 0.348533 0.342853 0.358 0.373147 +0.376933 0.393973 0.393973 0.371253 0.36936 0.38072 0.3864 0.42048 +0.429947 0.422373 0.43184 0.439413 0.429947 0.424267 0.42048 0.4432 +0.530947 0.674947 0.854947 0.948421 0.971158 0.980653 0.983592 0.988163 +0.990776 0.978105 0.952211 0.955368 0.964211 0.975579 0.990449 0.999265 +1.0009 1.0022 1.00318 1.0009 1.00188 1.0058 1.0071 1.0071 +1.0058 1.0071 1.00318 0.990776 0.98098 0.969895 0.956632 0.946526 +0.944 0.945263 0.945895 0.954737 0.974316 0.989796 0.998939 0.981306 +0.829684 0.604842 0.378827 0.265227 0.2728 0.32392 0.393973 0.393973 +0.3012 0.22168 0.000893333 0.00082 0.000806667 0.00082 0.000793333 0.000786667 +0.000793333 0.000773333 0.000753333 0.000773333 0.000773333 0.000766667 0.000753333 0.000733333 +0.000713333 0.000706667 0.00072 0.000713333 0.000713333 0.000713333 0.000706667 0.000706667 +0.000673333 0.000693333 0.000693333 0.000706667 0.000706667 0.00068 0.000673333 0.000686667 +0.000693333 0.000706667 0.000693333 0.00068 0.000693333 0.000686667 0.000686667 0.000693333 +0.000713333 0.000713333 0.000706667 0.000706667 0.0007 0.000693333 0.0007 0.000706667 +0.000713333 0.000733333 0.000726667 0.00074 0.000746667 0.000733333 0.000733333 0.00072 +0.000733333 0.000766667 0.00076 0.000733333 0.000733333 0.000733333 0.000733333 0.000746667 +0.000726667 0.00072 0.000713333 0.000726667 0.000733333 0.00074 0.00076 0.000766667 +0.000733333 0.00072 0.000726667 0.000746667 0.00074 0.00074 0.000726667 0.000733333 +0.00076 0.000766667 0.000753333 0.000746667 0.000746667 0.000766667 0.000813333 0.0008 +0.00078 0.00078 0.000786667 0.00082 0.00084 0.000826667 0.000866667 0.251973 +0.350427 0.38072 0.513263 0.687579 0.891579 0.987184 0.988163 0.964842 +0.945895 0.945263 0.950316 0.959158 0.98098 0.996327 1.00253 1.00678 +1.01102 1.01037 1.00971 1.00906 1.00841 1.00416 1.0022 1.00514 +1.00743 1.00743 1.00939 1.0058 0.999265 0.993061 0.991429 0.998939 +1.00482 1.00841 1.01037 1.00971 1.01135 1.02604 1.05151 1.1026 +1.10413 1.06152 1.05282 1.07217 1.20303 1.1939 1.02016 0.852421 +0.666105 0.545474 0.473493 0.424267 0.399653 0.388293 0.416693 0.439413 +0.445093 0.46592 0.501263 0.46024 0.378827 0.354213 0.354213 0.350427 +0.348533 0.373147 0.39208 0.42048 0.42616 0.39208 0.35232 0.322027 +0.304987 0.304987 0.325813 0.333387 0.33528 0.344747 0.344747 0.350427 +0.358 0.34664 0.348533 0.358 0.37504 0.441307 0.502526 0.512632 +0.549263 0.587789 0.594105 0.569474 0.523368 0.43184 0.373147 0.367467 +0.354213 0.34096 0.358 0.418587 0.45456 0.407227 0.358 0.361787 +0.373147 0.378827 0.365573 0.344747 0.337173 0.350427 0.38072 0.43184 +0.490533 0.501263 0.44888 0.429947 0.46024 0.42616 0.3864 0.388293 +0.429947 0.43752 0.393973 0.376933 0.371253 0.371253 0.378827 0.384507 +0.456453 0.565053 0.676842 0.758316 0.794947 0.789895 0.738105 0.667368 +0.657895 0.697684 0.708421 0.666737 0.577684 0.505053 0.4432 0.424267 +0.424267 0.481067 0.475387 0.428053 0.395867 0.390187 0.405333 0.416693 +0.445093 0.46024 0.424267 0.42048 0.428053 0.46024 0.56 0.646526 +0.628842 0.541053 0.45456 0.412907 0.4148 0.452667 0.469707 0.43184 +0.422373 0.416693 0.418587 0.43752 0.439413 0.484853 0.508211 0.467813 +0.441307 0.479173 0.505684 0.513895 0.546737 0.696421 0.901053 0.991429 +1.01396 1.03616 1.07217 1.18782 1.24411 1.28672 1.28824 1.25933 +1.2502 1.24868 1.23194 1.17716 1.11478 1.07522 1.05771 1.05151 +1.04988 1.04694 1.04661 1.04857 1.04335 1.04106 1.04367 1.03943 +1.03584 1.03682 1.03486 1.03322 1.03388 1.0342 1.03616 1.0342 +1.0329 1.03714 1.0391 1.0378 1.03388 1.03159 1.03518 1.03845 +1.03878 1.04008 1.04237 1.04171 1.0378 1.04204 1.04629 1.04629 +1.0502 1.06456 1.13608 1.18477 1.2152 1.24716 1.30802 1.28672 +1.19694 1.16043 1.18325 1.2152 1.19086 1.1376 1.0538 1.01951 +0.993388 0.892211 0.678105 0.536632 0.505684 0.490533 0.467813 0.4432 +0.439413 0.416693 0.405333 0.399653 0.373147 0.384507 0.393973 0.390187 +0.395867 0.40344 0.3864 0.36936 0.37504 0.37504 0.367467 0.378827 +0.390187 0.424267 0.445093 0.40912 0.395867 0.43752 0.429947 0.378827 +0.373147 0.456453 0.490533 0.446987 0.523368 0.614316 0.648421 0.599158 +0.518316 0.462133 0.505053 0.523368 0.522737 0.48864 0.382613 0.342853 +0.35232 0.36936 0.39208 0.393973 0.395867 0.399653 0.39776 0.439413 +0.542947 0.649053 0.728 0.720421 0.644 0.551789 0.462133 0.399653 +0.424267 0.418587 0.367467 0.361787 0.395867 0.40344 0.376933 0.361787 +0.350427 0.367467 0.40912 0.39776 0.358 0.358 0.350427 0.33528 +0.34096 0.354213 0.35232 0.339067 0.367467 0.429947 0.456453 0.44888 +0.40344 0.354213 0.348533 0.359893 0.382613 0.40912 0.42616 0.469707 +0.48296 0.452667 0.433733 0.399653 0.367467 0.361787 0.36368 0.371253 +0.361787 0.373147 0.384507 0.373147 0.365573 0.373147 0.378827 0.390187 +0.40912 0.418587 0.43752 0.450773 0.44888 0.43752 0.433733 0.506316 +0.611789 0.791789 0.927579 0.968632 0.980653 0.984571 0.98751 0.992082 +0.989143 0.964211 0.950947 0.964211 0.974947 0.984898 0.996653 1.00318 +1.00351 1.00122 1.00155 1.00318 1.00547 1.00743 1.00612 1.00612 +1.0058 1.00416 0.996 0.982612 0.970526 0.962316 0.950947 0.943368 +0.947158 0.949053 0.949684 0.966737 0.985551 0.995673 0.993061 0.902316 +0.690105 0.501895 0.28416 0.26712 0.308773 0.376933 0.399653 0.331493 +0.229253 0.000866667 0.000853333 0.00082 0.00078 0.000793333 0.0008 0.000793333 +0.0008 0.000753333 0.000733333 0.000733333 0.00072 0.000726667 0.000726667 0.000726667 +0.000706667 0.000693333 0.000706667 0.000706667 0.000693333 0.0007 0.000713333 0.0007 +0.000693333 0.000713333 0.00072 0.000733333 0.00072 0.000693333 0.000686667 0.00068 +0.000686667 0.0007 0.000693333 0.000686667 0.00074 0.00074 0.000726667 0.000726667 +0.000746667 0.000733333 0.000726667 0.000713333 0.000706667 0.000693333 0.000726667 0.000733333 +0.00074 0.00076 0.00072 0.000733333 0.000746667 0.00074 0.000726667 0.000713333 +0.000706667 0.000726667 0.000713333 0.000706667 0.000733333 0.000713333 0.000693333 0.000693333 +0.000673333 0.000673333 0.000693333 0.000693333 0.00068 0.000693333 0.000706667 0.0007 +0.000706667 0.000713333 0.00074 0.000713333 0.000706667 0.000686667 0.000686667 0.000733333 +0.000773333 0.000753333 0.000726667 0.00074 0.000766667 0.00078 0.000826667 0.000786667 +0.00076 0.00078 0.000806667 0.0008 0.00078 0.000773333 0.00084 0.22168 +0.314453 0.36368 0.411013 0.561895 0.755789 0.935789 0.990449 0.983265 +0.959789 0.950947 0.949053 0.949053 0.959789 0.985224 0.997306 1.00351 +1.00873 1.00939 1.01069 1.01102 1.01135 1.00906 1.00612 1.00449 +1.0058 1.00808 1.00939 1.00808 1.00318 0.996327 0.991102 0.992082 +0.994694 0.999592 1.00351 1.00547 1.00873 1.02147 1.05118 1.15282 +1.18477 1.13456 1.05967 1.05086 1.09956 1.21368 1.12847 0.991102 +0.793053 0.624421 0.522737 0.46592 0.4432 0.433733 0.441307 0.464027 +0.46592 0.462133 0.505053 0.501263 0.407227 0.361787 0.356107 0.358 +0.358 0.361787 0.376933 0.405333 0.418587 0.395867 0.36368 0.344747 +0.333387 0.333387 0.331493 0.31824 0.325813 0.348533 0.350427 0.34664 +0.358 0.37504 0.371253 0.359893 0.35232 0.411013 0.510105 0.550526 +0.577053 0.580211 0.554947 0.509474 0.40344 0.34096 0.342853 0.358 +0.371253 0.365573 0.38072 0.422373 0.46024 0.429947 0.376933 0.361787 +0.38072 0.393973 0.376933 0.350427 0.34664 0.36936 0.399653 0.43184 +0.462133 0.46024 0.40344 0.39208 0.439413 0.422373 0.384507 0.36936 +0.384507 0.424267 0.422373 0.378827 0.365573 0.367467 0.373147 0.405333 +0.529053 0.639579 0.738105 0.788 0.801263 0.777895 0.708421 0.618105 +0.611158 0.673684 0.707789 0.691368 0.620632 0.532842 0.458347 0.412907 +0.456453 0.515158 0.49432 0.407227 0.378827 0.384507 0.39208 0.399653 +0.40912 0.42616 0.424267 0.412907 0.42048 0.424267 0.514526 0.592211 +0.624421 0.568842 0.484853 0.401547 0.40912 0.439413 0.44888 0.418587 +0.40912 0.39776 0.401547 0.43184 0.445093 0.503158 0.522737 0.492427 +0.445093 0.445093 0.479173 0.515158 0.534737 0.641474 0.853053 0.984898 +1.01331 1.03322 1.05282 1.0813 1.08282 1.14521 1.21064 1.23042 +1.22738 1.2076 1.18934 1.15434 1.095 1.05771 1.05804 1.05641 +1.04955 1.04335 1.03878 1.04073 1.03812 1.03812 1.04106 1.03518 +1.03453 1.03714 1.03224 1.03355 1.0329 1.0329 1.03812 1.03486 +1.03127 1.03551 1.03388 1.03224 1.03127 1.03192 1.03518 1.03486 +1.0391 1.04204 1.04171 1.04041 1.03845 1.04106 1.04367 1.04629 +1.05151 1.06456 1.12391 1.16043 1.20303 1.26846 1.32019 1.28368 +1.18934 1.1376 1.14673 1.19999 1.2076 1.16043 1.07674 1.03159 +1.0009 0.913053 0.699579 0.543579 0.507579 0.501895 0.481067 0.458347 +0.441307 0.42616 0.407227 0.395867 0.393973 0.39776 0.384507 0.37504 +0.3864 0.38072 0.373147 0.36368 0.371253 0.37504 0.382613 0.382613 +0.384507 0.428053 0.45456 0.40912 0.371253 0.376933 0.3864 0.376933 +0.36936 0.43184 0.48864 0.484853 0.523368 0.596 0.642737 0.612421 +0.527158 0.433733 0.456453 0.517684 0.529684 0.48296 0.36936 0.350427 +0.384507 0.4148 0.42616 0.416693 0.40912 0.393973 0.38072 0.382613 +0.481067 0.587789 0.700842 0.750105 0.718526 0.633895 0.542947 0.4716 +0.446987 0.428053 0.37504 0.356107 0.373147 0.384507 0.37504 0.388293 +0.3864 0.388293 0.407227 0.378827 0.34664 0.34664 0.339067 0.337173 +0.356107 0.376933 0.390187 0.39208 0.446987 0.506947 0.48864 0.418587 +0.37504 0.350427 0.348533 0.384507 0.435627 0.42616 0.384507 0.393973 +0.42048 0.418587 0.411013 0.40912 0.39776 0.367467 0.339067 0.339067 +0.350427 0.356107 0.358 0.36368 0.361787 0.378827 0.382613 0.38072 +0.40344 0.43184 0.44888 0.456453 0.462133 0.452667 0.479173 0.568211 +0.730526 0.891579 0.961684 0.978737 0.985224 0.988816 0.991429 0.991102 +0.980653 0.957263 0.961053 0.975579 0.984898 0.993714 1.00024 1.00351 +1.00449 1.00351 1.00253 1.00384 1.00482 1.0058 1.00547 1.0071 +1.00645 1.00024 0.986857 0.969895 0.959158 0.952842 0.946526 0.945895 +0.951579 0.949684 0.951579 0.977474 0.994041 0.997306 0.956 0.777895 +0.562526 0.33528 0.259547 0.287947 0.359893 0.399653 0.35232 0.25576 +0.000893333 0.000826667 0.000833333 0.000813333 0.0008 0.000813333 0.000813333 0.000806667 +0.000786667 0.000726667 0.000693333 0.000713333 0.000706667 0.000726667 0.000726667 0.000733333 +0.00072 0.000693333 0.00068 0.0007 0.0007 0.000713333 0.00074 0.000733333 +0.000713333 0.000706667 0.0007 0.000713333 0.000686667 0.000666667 0.00068 0.00068 +0.000686667 0.000713333 0.000706667 0.000693333 0.00076 0.00076 0.000733333 0.00074 +0.000746667 0.00074 0.000746667 0.000726667 0.000713333 0.00072 0.000726667 0.00072 +0.00074 0.000746667 0.000713333 0.000726667 0.000746667 0.000726667 0.000706667 0.0007 +0.000726667 0.000753333 0.000753333 0.000733333 0.00074 0.000713333 0.0007 0.000706667 +0.00066 0.000666667 0.000693333 0.000693333 0.000713333 0.000726667 0.000713333 0.000693333 +0.000673333 0.00066 0.000673333 0.000693333 0.000706667 0.00066 0.00066 0.000686667 +0.000686667 0.00068 0.00068 0.000713333 0.000733333 0.00074 0.000766667 0.000753333 +0.00076 0.0008 0.000786667 0.000766667 0.000773333 0.000793333 0.00082 0.000913333 +0.248187 0.337173 0.39208 0.479173 0.609895 0.815158 0.973053 0.994367 +0.980327 0.958526 0.950947 0.948421 0.950316 0.968632 0.987184 0.997633 +1.00612 1.00971 1.01298 1.01298 1.01004 1.00873 1.01167 1.00939 +1.00678 1.0071 1.00776 1.0071 1.00482 1.00253 0.998939 0.993061 +0.986531 0.987837 0.993714 0.999592 1.00808 1.01657 1.04073 1.14825 +1.25933 1.23194 1.12391 1.05216 1.05347 1.13456 1.21064 1.0502 +0.922526 0.726105 0.584632 0.517684 0.484853 0.464027 0.462133 0.475387 +0.46592 0.458347 0.506947 0.509474 0.429947 0.376933 0.365573 0.361787 +0.361787 0.365573 0.38072 0.39208 0.388293 0.376933 0.36936 0.373147 +0.356107 0.337173 0.331493 0.331493 0.331493 0.333387 0.3296 0.327707 +0.348533 0.367467 0.34664 0.327707 0.34664 0.439413 0.534105 0.582737 +0.584632 0.548632 0.500632 0.393973 0.34096 0.3296 0.34664 0.36368 +0.3864 0.3864 0.384507 0.411013 0.445093 0.441307 0.399653 0.38072 +0.384507 0.399653 0.39776 0.378827 0.384507 0.393973 0.40344 0.4148 +0.424267 0.439413 0.399653 0.361787 0.399653 0.433733 0.4148 0.382613 +0.37504 0.405333 0.428053 0.399653 0.37504 0.37504 0.39208 0.49432 +0.599158 0.716632 0.786737 0.810737 0.801263 0.769684 0.695789 0.592211 +0.570737 0.641474 0.699579 0.704632 0.658526 0.570737 0.484853 0.416693 +0.502526 0.532211 0.486747 0.38072 0.36368 0.365573 0.37504 0.382613 +0.388293 0.405333 0.424267 0.412907 0.411013 0.405333 0.46024 0.553684 +0.612421 0.585895 0.509474 0.411013 0.405333 0.405333 0.407227 0.39776 +0.393973 0.39208 0.412907 0.46024 0.49432 0.511368 0.515789 0.490533 +0.452667 0.42616 0.433733 0.490533 0.507579 0.580842 0.789895 0.967368 +1.01298 1.03878 1.05935 1.12391 1.11782 1.11326 1.17716 1.24716 +1.26085 1.22129 1.16956 1.12239 1.06913 1.05347 1.05216 1.04824 +1.04531 1.04302 1.03649 1.03616 1.03649 1.03878 1.03845 1.03257 +1.03453 1.03616 1.03159 1.03257 1.03127 1.02963 1.03355 1.03192 +1.03094 1.03453 1.03094 1.03224 1.03094 1.03127 1.03518 1.03453 +1.03682 1.03845 1.04041 1.04041 1.03878 1.0391 1.04204 1.04694 +1.05282 1.05706 1.07826 1.12391 1.18021 1.25324 1.3065 1.27911 +1.19694 1.14673 1.15434 1.20151 1.21368 1.18021 1.12086 1.04792 +1.01527 0.938947 0.733684 0.570105 0.522105 0.508211 0.490533 0.46024 +0.43184 0.42616 0.412907 0.407227 0.412907 0.40344 0.390187 0.373147 +0.378827 0.371253 0.373147 0.376933 0.38072 0.3864 0.395867 0.382613 +0.382613 0.450773 0.47728 0.405333 0.358 0.35232 0.367467 0.36368 +0.36936 0.40344 0.439413 0.456453 0.513263 0.577684 0.636421 0.624421 +0.541684 0.429947 0.40344 0.473493 0.513895 0.496213 0.418587 0.407227 +0.424267 0.446987 0.441307 0.411013 0.388293 0.367467 0.348533 0.339067 +0.395867 0.530316 0.649684 0.750737 0.772211 0.720421 0.641474 0.572 +0.519579 0.458347 0.395867 0.36936 0.361787 0.350427 0.354213 0.3864 +0.4148 0.435627 0.43752 0.393973 0.348533 0.3296 0.339067 0.354213 +0.376933 0.4148 0.479173 0.517684 0.542947 0.539158 0.4716 0.36936 +0.359893 0.356107 0.359893 0.39776 0.439413 0.412907 0.365573 0.36368 +0.3864 0.399653 0.39208 0.401547 0.39776 0.367467 0.337173 0.327707 +0.34664 0.354213 0.348533 0.358 0.37504 0.382613 0.390187 0.388293 +0.401547 0.42616 0.446987 0.450773 0.450773 0.462133 0.538526 0.680632 +0.851789 0.948421 0.976842 0.984571 0.990776 0.994041 0.992408 0.984898 +0.965474 0.958526 0.971158 0.981959 0.992735 1.0009 1.0022 1.00253 +1.00351 1.00384 1.00384 1.00318 1.00416 1.00482 1.00547 1.0071 +1.0022 0.992408 0.978737 0.962316 0.954105 0.946526 0.944632 0.950947 +0.953474 0.949053 0.957895 0.984898 0.997959 0.985224 0.858105 0.641474 +0.439413 0.280373 0.27848 0.34096 0.401547 0.38072 0.28416 0.000973333 +0.00084 0.000813333 0.000813333 0.000793333 0.000793333 0.000793333 0.000806667 0.000793333 +0.000773333 0.000753333 0.000726667 0.000706667 0.000713333 0.000726667 0.000713333 0.0007 +0.000713333 0.0007 0.000686667 0.00072 0.000733333 0.000713333 0.000713333 0.000706667 +0.000706667 0.000673333 0.00068 0.000706667 0.0007 0.000686667 0.0007 0.000706667 +0.0007 0.000713333 0.000726667 0.000713333 0.000726667 0.00072 0.000713333 0.000733333 +0.000733333 0.000726667 0.00074 0.000733333 0.00074 0.000733333 0.000733333 0.000733333 +0.000733333 0.000726667 0.000686667 0.000713333 0.00072 0.000713333 0.000706667 0.000726667 +0.00074 0.000753333 0.000746667 0.000726667 0.000726667 0.00072 0.000726667 0.000726667 +0.000686667 0.000713333 0.00072 0.000706667 0.00076 0.000773333 0.00074 0.000733333 +0.000726667 0.000726667 0.000733333 0.000713333 0.000706667 0.00068 0.000713333 0.000713333 +0.000673333 0.00066 0.000666667 0.000686667 0.000706667 0.000733333 0.000753333 0.000746667 +0.000746667 0.000773333 0.00074 0.000746667 0.000806667 0.00084 0.000833333 0.00084 +0.000906667 0.265227 0.361787 0.405333 0.510737 0.66421 0.878316 0.988163 +0.990449 0.972421 0.955368 0.950947 0.947789 0.952211 0.969895 0.987184 +1.00057 1.01004 1.01331 1.01233 1.01004 1.00873 1.01265 1.01102 +1.00743 1.00645 1.00678 1.00678 1.0071 1.00678 1.00253 0.997306 +0.988163 0.983265 0.986531 0.993714 1.0022 1.00841 1.02408 1.07826 +1.29585 1.3628 1.23803 1.07217 1.04857 1.05869 1.16956 1.14825 +1.01004 0.839789 0.665474 0.558105 0.508842 0.46592 0.46024 0.479173 +0.46024 0.4432 0.481067 0.498107 0.439413 0.384507 0.361787 0.348533 +0.348533 0.350427 0.361787 0.373147 0.37504 0.367467 0.359893 0.367467 +0.373147 0.36368 0.354213 0.342853 0.325813 0.333387 0.34096 0.339067 +0.34096 0.344747 0.342853 0.354213 0.405333 0.505684 0.561263 0.602316 +0.579579 0.513895 0.382613 0.339067 0.33528 0.33528 0.350427 0.36936 +0.376933 0.373147 0.35232 0.36936 0.424267 0.445093 0.411013 0.367467 +0.356107 0.376933 0.411013 0.416693 0.40344 0.38072 0.367467 0.376933 +0.39776 0.433733 0.4148 0.378827 0.395867 0.44888 0.43184 0.3864 +0.382613 0.395867 0.439413 0.452667 0.418587 0.40912 0.464027 0.563158 +0.692 0.786737 0.824 0.818316 0.784211 0.738737 0.668632 0.572632 +0.536632 0.603579 0.682526 0.705895 0.68 0.597263 0.5 0.416693 +0.49432 0.521474 0.464027 0.36936 0.35232 0.36368 0.37504 0.3864 +0.378827 0.393973 0.424267 0.429947 0.412907 0.412907 0.4432 0.527158 +0.591579 0.595368 0.533474 0.439413 0.40344 0.388293 0.384507 0.384507 +0.384507 0.401547 0.429947 0.46024 0.486747 0.49432 0.473493 0.450773 +0.450773 0.445093 0.446987 0.464027 0.47728 0.551789 0.753895 0.950316 +1.00612 1.03649 1.06761 1.14369 1.16651 1.15434 1.19694 1.25781 +1.27607 1.23955 1.1726 1.09956 1.05739 1.05216 1.04563 1.03976 +1.04139 1.04171 1.03943 1.03747 1.03682 1.03845 1.0342 1.03127 +1.0342 1.0329 1.03127 1.03029 1.02865 1.02931 1.03388 1.03061 +1.03094 1.03061 1.02931 1.03388 1.03159 1.0329 1.03453 1.0342 +1.03355 1.03192 1.0378 1.03976 1.03878 1.03976 1.04204 1.04563 +1.05053 1.0551 1.06456 1.095 1.14217 1.21368 1.26694 1.25324 +1.19999 1.16347 1.16043 1.18629 1.19999 1.17564 1.13304 1.07674 +1.03682 0.972421 0.760842 0.583368 0.532211 0.512 0.481067 0.450773 +0.429947 0.429947 0.422373 0.407227 0.405333 0.407227 0.401547 0.390187 +0.378827 0.382613 0.39776 0.401547 0.3864 0.384507 0.39208 0.3864 +0.40344 0.498107 0.49432 0.395867 0.36936 0.371253 0.359893 0.36368 +0.378827 0.401547 0.416693 0.422373 0.481067 0.549895 0.625053 0.635158 +0.56 0.4716 0.395867 0.4148 0.5 0.513263 0.484853 0.4148 +0.395867 0.395867 0.384507 0.365573 0.354213 0.358 0.365573 0.36936 +0.388293 0.484853 0.592842 0.713474 0.769053 0.758947 0.719158 0.666737 +0.586526 0.516421 0.435627 0.393973 0.36936 0.34664 0.34664 0.35232 +0.39776 0.486747 0.500632 0.439413 0.376933 0.356107 0.371253 0.365573 +0.358 0.399653 0.503158 0.554947 0.595368 0.573895 0.492427 0.365573 +0.344747 0.358 0.36936 0.382613 0.399653 0.39208 0.365573 0.35232 +0.365573 0.393973 0.393973 0.39208 0.39776 0.376933 0.35232 0.34096 +0.34096 0.358 0.359893 0.365573 0.382613 0.38072 0.38072 0.384507 +0.39208 0.407227 0.435627 0.452667 0.456453 0.514526 0.633263 0.815158 +0.938316 0.973684 0.982939 0.989143 0.994041 0.995673 0.991102 0.981306 +0.965474 0.967368 0.980327 0.987837 0.997306 1.00122 1.0022 1.00384 +1.00318 1.00351 1.00351 1.00384 1.00547 1.00449 1.00612 1.00482 +0.995673 0.984245 0.970526 0.961053 0.952842 0.944632 0.944632 0.950947 +0.950316 0.952842 0.972421 0.991755 0.994041 0.926947 0.733053 0.532211 +0.314453 0.274693 0.320133 0.378827 0.388293 0.320133 0.223573 0.000866667 +0.000813333 0.000793333 0.000813333 0.000813333 0.000786667 0.00076 0.00076 0.000753333 +0.000746667 0.000746667 0.000726667 0.000706667 0.0007 0.000713333 0.000713333 0.000706667 +0.000706667 0.000726667 0.00072 0.00072 0.00072 0.000713333 0.000713333 0.00072 +0.000706667 0.000693333 0.000693333 0.00072 0.000733333 0.000733333 0.00072 0.000706667 +0.0007 0.000713333 0.000733333 0.000733333 0.00072 0.0007 0.000693333 0.000706667 +0.00072 0.000726667 0.00072 0.00072 0.00072 0.00072 0.000733333 0.000753333 +0.000733333 0.000713333 0.0007 0.00072 0.00072 0.000713333 0.00074 0.000753333 +0.000733333 0.000726667 0.000733333 0.00072 0.000726667 0.000706667 0.0007 0.00068 +0.00066 0.00072 0.000726667 0.0007 0.000733333 0.000733333 0.000706667 0.000726667 +0.00076 0.000773333 0.00074 0.00072 0.000713333 0.000713333 0.000733333 0.000733333 +0.0007 0.000693333 0.000713333 0.000726667 0.000706667 0.000726667 0.000746667 0.00074 +0.00074 0.00076 0.000753333 0.000786667 0.00082 0.000826667 0.000826667 0.00084 +0.00086 0.217893 0.303093 0.373147 0.42048 0.550526 0.737474 0.921263 +0.988816 0.986531 0.971789 0.955368 0.946526 0.944 0.952842 0.974316 +0.989796 1.00188 1.00776 1.00906 1.01069 1.01102 1.01233 1.00776 +1.00155 1.00253 1.00678 1.00906 1.00873 1.00678 1.00449 1.0022 +0.995347 0.988163 0.988816 0.991755 0.996653 1.00122 1.00776 1.0391 +1.2502 1.44649 1.37497 1.16651 1.05314 1.0489 1.10108 1.18325 +1.05314 0.952842 0.760842 0.609895 0.526526 0.484853 0.473493 0.4716 +0.433733 0.42048 0.441307 0.469707 0.450773 0.39776 0.37504 0.365573 +0.350427 0.34664 0.36936 0.37504 0.37504 0.359893 0.350427 0.354213 +0.371253 0.37504 0.36936 0.35232 0.337173 0.34664 0.35232 0.350427 +0.342853 0.342853 0.367467 0.384507 0.452667 0.534737 0.585263 0.600421 +0.561895 0.486747 0.36368 0.342853 0.34096 0.33528 0.344747 0.36368 +0.36368 0.367467 0.344747 0.358 0.40344 0.43184 0.407227 0.358 +0.342853 0.371253 0.43184 0.441307 0.390187 0.348533 0.344747 0.359893 +0.390187 0.439413 0.424267 0.376933 0.37504 0.401547 0.416693 0.405333 +0.395867 0.39208 0.416693 0.456453 0.458347 0.48296 0.552421 0.671158 +0.776 0.821474 0.825263 0.796211 0.731158 0.642105 0.568842 0.522105 +0.507579 0.563158 0.654105 0.698947 0.691368 0.621263 0.520211 0.42048 +0.43184 0.481067 0.467813 0.388293 0.365573 0.376933 0.388293 0.39208 +0.384507 0.390187 0.42048 0.428053 0.40912 0.4148 0.43184 0.503789 +0.566947 0.602316 0.558105 0.481067 0.416693 0.39776 0.39776 0.39208 +0.388293 0.393973 0.4148 0.422373 0.42616 0.43184 0.412907 0.395867 +0.411013 0.43752 0.46592 0.46592 0.4716 0.539789 0.724211 0.925053 +0.99502 1.02669 1.05249 1.09195 1.14977 1.18173 1.19694 1.2076 +1.22738 1.22129 1.17564 1.09804 1.05641 1.05184 1.044 1.04041 +1.03878 1.03845 1.0378 1.03453 1.03518 1.03518 1.03127 1.03192 +1.03224 1.03061 1.03388 1.03257 1.02898 1.03257 1.03518 1.03224 +1.0329 1.02963 1.02963 1.0342 1.03224 1.0342 1.0342 1.03682 +1.0342 1.02865 1.03388 1.03388 1.03322 1.03747 1.04204 1.04498 +1.04759 1.05314 1.05935 1.07217 1.12086 1.17564 1.18934 1.17412 +1.1589 1.14977 1.14825 1.16651 1.18477 1.1726 1.15282 1.11934 +1.04988 0.988163 0.777895 0.590316 0.537895 0.521474 0.501263 0.467813 +0.445093 0.43184 0.42048 0.40344 0.390187 0.39776 0.401547 0.3864 +0.384507 0.393973 0.412907 0.407227 0.395867 0.38072 0.373147 0.390187 +0.467813 0.514526 0.4716 0.378827 0.382613 0.393973 0.371253 0.371253 +0.376933 0.382613 0.39208 0.390187 0.433733 0.525263 0.608632 0.642105 +0.577053 0.501263 0.39776 0.38072 0.464027 0.517053 0.498107 0.388293 +0.354213 0.350427 0.348533 0.350427 0.344747 0.35232 0.384507 0.4148 +0.4148 0.450773 0.554947 0.655368 0.713474 0.720421 0.698316 0.674947 +0.633895 0.574526 0.523368 0.467813 0.401547 0.359893 0.354213 0.354213 +0.411013 0.506316 0.508842 0.475387 0.42048 0.39208 0.393973 0.371253 +0.354213 0.37504 0.450773 0.534105 0.602947 0.618737 0.544842 0.418587 +0.350427 0.350427 0.36368 0.36936 0.378827 0.388293 0.371253 0.356107 +0.373147 0.399653 0.39776 0.384507 0.39208 0.384507 0.361787 0.34664 +0.344747 0.358 0.365573 0.371253 0.388293 0.384507 0.38072 0.3864 +0.399653 0.40912 0.424267 0.441307 0.496213 0.584632 0.760211 0.918105 +0.981306 0.98849 0.990776 0.994367 0.997306 0.996327 0.989143 0.98 +0.969263 0.979368 0.987837 0.996653 1.00155 1.00155 1.00351 1.00384 +1.00253 1.00253 1.00449 1.00678 1.0071 1.00645 1.00612 0.999592 +0.98751 0.974316 0.965474 0.959158 0.949053 0.945895 0.947789 0.949053 +0.952842 0.967368 0.986857 0.997306 0.974947 0.825263 0.611158 0.393973 +0.26712 0.297413 0.367467 0.395867 0.342853 0.248187 0.00088 0.00082 +0.0008 0.00078 0.000793333 0.000786667 0.000773333 0.000766667 0.000773333 0.00074 +0.000733333 0.000746667 0.00072 0.0007 0.000713333 0.000713333 0.000726667 0.000726667 +0.000713333 0.000706667 0.000713333 0.000713333 0.000693333 0.000686667 0.00072 0.000746667 +0.000726667 0.000706667 0.0007 0.000726667 0.000753333 0.00074 0.000733333 0.00072 +0.000693333 0.000693333 0.000706667 0.000713333 0.00072 0.00072 0.000733333 0.000726667 +0.000746667 0.00076 0.00074 0.000706667 0.0007 0.000706667 0.000713333 0.00072 +0.00072 0.000726667 0.00072 0.00072 0.000713333 0.000713333 0.00074 0.000726667 +0.000713333 0.000733333 0.000726667 0.000713333 0.00072 0.000693333 0.000666667 0.000673333 +0.00068 0.000713333 0.00072 0.000706667 0.000726667 0.000693333 0.000693333 0.000726667 +0.000753333 0.00074 0.0007 0.0007 0.000713333 0.000733333 0.00074 0.00072 +0.000713333 0.000726667 0.00076 0.000753333 0.000713333 0.000713333 0.000726667 0.000733333 +0.000713333 0.000726667 0.000746667 0.000786667 0.000793333 0.000793333 0.000793333 0.000833333 +0.000853333 0.000913333 0.23872 0.32392 0.388293 0.467813 0.59979 0.791158 +0.952842 0.995347 0.98849 0.966105 0.949053 0.945263 0.946526 0.959789 +0.978737 0.991755 1.00122 1.00776 1.01167 1.01102 1.01069 1.00449 +0.996 0.997959 1.00384 1.00612 1.0058 1.00547 1.0058 1.00416 +1.00122 0.994367 0.990776 0.989796 0.991755 0.996327 0.99698 1.01461 +1.1163 1.41606 1.4754 1.27911 1.08587 1.05151 1.06304 1.16651 +1.15738 1.02049 0.868842 0.686947 0.565684 0.510737 0.481067 0.458347 +0.424267 0.4148 0.433733 0.462133 0.458347 0.4148 0.3864 0.38072 +0.365573 0.365573 0.378827 0.37504 0.371253 0.361787 0.354213 0.344747 +0.354213 0.371253 0.37504 0.367467 0.354213 0.35232 0.36936 0.37504 +0.354213 0.38072 0.4432 0.473493 0.524632 0.570105 0.579579 0.556211 +0.530947 0.505053 0.429947 0.367467 0.32392 0.316347 0.32392 0.34664 +0.367467 0.358 0.350427 0.350427 0.393973 0.433733 0.42616 0.376933 +0.344747 0.378827 0.458347 0.452667 0.388293 0.361787 0.36936 0.378827 +0.401547 0.439413 0.422373 0.388293 0.378827 0.39208 0.388293 0.401547 +0.399653 0.367467 0.367467 0.40912 0.479173 0.531579 0.639579 0.772211 +0.829684 0.829684 0.809474 0.758947 0.660421 0.549895 0.486747 0.462133 +0.46592 0.526526 0.616842 0.693895 0.710947 0.660421 0.562526 0.4716 +0.40912 0.43184 0.450773 0.3864 0.365573 0.39776 0.428053 0.418587 +0.401547 0.407227 0.399653 0.40344 0.401547 0.405333 0.405333 0.441307 +0.535368 0.593474 0.574526 0.507579 0.424267 0.40912 0.418587 0.412907 +0.40912 0.411013 0.411013 0.405333 0.40912 0.424267 0.405333 0.399653 +0.40344 0.429947 0.44888 0.446987 0.473493 0.525895 0.680632 0.891579 +0.982286 1.00939 1.03812 1.06304 1.15738 1.21977 1.2076 1.18325 +1.19542 1.18782 1.1589 1.10108 1.05837 1.04759 1.04171 1.04302 +1.03878 1.03714 1.03486 1.0329 1.03355 1.03159 1.03094 1.03159 +1.03029 1.02996 1.03257 1.02931 1.02963 1.03453 1.03257 1.0342 +1.03584 1.03061 1.03192 1.0342 1.03159 1.03257 1.03322 1.0391 +1.03649 1.03029 1.03322 1.03094 1.03192 1.03747 1.04269 1.04661 +1.04727 1.05053 1.05608 1.05837 1.10413 1.1726 1.18934 1.16956 +1.14217 1.12391 1.12239 1.14369 1.17412 1.16956 1.14825 1.11021 +1.0489 0.98849 0.780421 0.587158 0.525895 0.513895 0.505684 0.48864 +0.452667 0.43184 0.422373 0.412907 0.40912 0.42048 0.418587 0.395867 +0.395867 0.393973 0.40912 0.39776 0.38072 0.365573 0.354213 0.39776 +0.502526 0.507579 0.411013 0.359893 0.384507 0.393973 0.388293 0.388293 +0.384507 0.382613 0.373147 0.365573 0.405333 0.507579 0.591579 0.642105 +0.587158 0.5 0.388293 0.382613 0.452667 0.518316 0.517053 0.4432 +0.37504 0.36368 0.354213 0.348533 0.354213 0.35232 0.36936 0.401547 +0.412907 0.441307 0.523368 0.591579 0.645263 0.646526 0.610526 0.597263 +0.610526 0.610526 0.587789 0.546105 0.504421 0.422373 0.401547 0.418587 +0.446987 0.475387 0.458347 0.441307 0.418587 0.390187 0.371253 0.356107 +0.356107 0.35232 0.371253 0.464027 0.561895 0.621895 0.591579 0.517684 +0.4148 0.36368 0.358 0.36936 0.38072 0.38072 0.359893 0.34664 +0.36368 0.38072 0.3864 0.378827 0.38072 0.393973 0.37504 0.361787 +0.36936 0.367467 0.367467 0.37504 0.382613 0.3864 0.384507 0.39208 +0.4148 0.424267 0.43184 0.473493 0.552421 0.705895 0.884632 0.978105 +0.993714 0.997633 0.99698 0.997959 0.998939 0.996327 0.988163 0.976842 +0.973684 0.986204 0.995347 1.0009 1.00286 1.00547 1.0071 1.00482 +1.00318 1.00253 1.00384 1.0058 1.00678 1.0071 1.00318 0.990776 +0.977474 0.964211 0.959789 0.954105 0.948421 0.946526 0.947789 0.949053 +0.961684 0.982286 0.99502 0.994041 0.903579 0.696421 0.513263 0.29552 +0.276587 0.348533 0.401547 0.36936 0.27848 0.00094 0.0008 0.00078 +0.000793333 0.00078 0.000786667 0.000773333 0.000766667 0.000766667 0.000793333 0.000766667 +0.00074 0.000746667 0.000713333 0.000693333 0.000706667 0.000726667 0.00072 0.000706667 +0.000726667 0.000713333 0.000706667 0.00072 0.000686667 0.00068 0.0007 0.000733333 +0.000746667 0.000726667 0.00072 0.000726667 0.000746667 0.000753333 0.00072 0.000706667 +0.00068 0.000666667 0.000666667 0.000673333 0.000726667 0.000746667 0.00074 0.00072 +0.00074 0.00074 0.00074 0.000733333 0.000706667 0.000733333 0.000733333 0.000713333 +0.000706667 0.00072 0.000713333 0.000726667 0.00072 0.00072 0.000713333 0.000693333 +0.000693333 0.000706667 0.000693333 0.000693333 0.000706667 0.00068 0.00068 0.000706667 +0.000726667 0.00072 0.0007 0.00072 0.000733333 0.000706667 0.000726667 0.000753333 +0.00072 0.000673333 0.000653333 0.00068 0.0007 0.000693333 0.00068 0.00068 +0.000693333 0.000726667 0.000733333 0.000706667 0.000693333 0.000733333 0.000753333 0.00074 +0.00072 0.000713333 0.00072 0.000746667 0.000753333 0.000753333 0.00078 0.000813333 +0.000793333 0.00082 0.00094 0.26712 0.344747 0.39208 0.505684 0.638947 +0.841053 0.980653 0.996 0.981306 0.959789 0.955368 0.949684 0.946526 +0.956 0.981306 0.996 1.00514 1.01069 1.00971 1.00873 1.00416 +0.998286 0.998286 0.999592 1.0022 1.00547 1.00841 1.00939 1.00612 +1.00155 0.995673 0.992082 0.989469 0.988816 0.992408 0.991429 0.998286 +1.04073 1.29281 1.49974 1.40693 1.18325 1.05608 1.05118 1.1163 +1.19999 1.05804 0.972421 0.784211 0.626316 0.536632 0.498107 0.46024 +0.428053 0.424267 0.441307 0.450773 0.445093 0.412907 0.39208 0.382613 +0.378827 0.38072 0.378827 0.376933 0.36368 0.356107 0.361787 0.36936 +0.38072 0.3864 0.384507 0.395867 0.405333 0.40344 0.424267 0.43184 +0.412907 0.464027 0.521474 0.541053 0.56 0.563789 0.532842 0.501263 +0.511368 0.535368 0.513895 0.40912 0.34096 0.325813 0.3296 0.348533 +0.365573 0.356107 0.339067 0.367467 0.399653 0.441307 0.429947 0.367467 +0.34664 0.39776 0.486747 0.450773 0.38072 0.37504 0.3864 0.405333 +0.4432 0.473493 0.450773 0.422373 0.4148 0.401547 0.373147 0.376933 +0.39208 0.376933 0.35232 0.382613 0.49432 0.579579 0.709053 0.814526 +0.844211 0.826526 0.784842 0.698947 0.582737 0.500632 0.428053 0.4148 +0.42616 0.49432 0.573895 0.682526 0.731158 0.700211 0.606737 0.513263 +0.407227 0.39208 0.390187 0.365573 0.361787 0.395867 0.441307 0.43184 +0.418587 0.399653 0.3864 0.393973 0.40912 0.401547 0.39208 0.411013 +0.510737 0.573263 0.578947 0.520842 0.42616 0.407227 0.422373 0.42616 +0.429947 0.42048 0.40912 0.39208 0.393973 0.412907 0.39776 0.418587 +0.424267 0.418587 0.411013 0.42616 0.467813 0.510105 0.639579 0.861895 +0.962947 0.98849 1.01363 1.04041 1.08891 1.1726 1.1726 1.16651 +1.18477 1.17716 1.14065 1.095 1.05902 1.04531 1.0391 1.03976 +1.03649 1.0378 1.03551 1.03388 1.03192 1.03061 1.03257 1.03257 +1.03257 1.03192 1.03127 1.02702 1.02996 1.03257 1.02702 1.03224 +1.0342 1.03192 1.03322 1.03192 1.02865 1.02963 1.02931 1.03127 +1.03224 1.03224 1.03616 1.03518 1.03453 1.0378 1.04008 1.04302 +1.04498 1.04955 1.05478 1.05902 1.11021 1.18782 1.21368 1.18477 +1.13152 1.09043 1.0813 1.10869 1.14825 1.14217 1.11021 1.05869 +1.03257 0.971789 0.762105 0.571368 0.512632 0.501895 0.486747 0.475387 +0.450773 0.43184 0.418587 0.424267 0.456453 0.473493 0.446987 0.4148 +0.405333 0.390187 0.390187 0.388293 0.376933 0.378827 0.36936 0.40344 +0.479173 0.44888 0.367467 0.367467 0.401547 0.429947 0.433733 0.428053 +0.4148 0.40912 0.378827 0.354213 0.371253 0.469707 0.574526 0.640211 +0.601053 0.511368 0.40912 0.399653 0.441307 0.515158 0.540421 0.513263 +0.40344 0.358 0.35232 0.35232 0.36368 0.365573 0.365573 0.376933 +0.39776 0.428053 0.48296 0.537895 0.592842 0.601684 0.554316 0.518947 +0.532211 0.570105 0.597263 0.590316 0.562526 0.531579 0.512 0.502526 +0.462133 0.422373 0.395867 0.384507 0.371253 0.356107 0.337173 0.34096 +0.344747 0.34096 0.348533 0.39776 0.506316 0.549895 0.564421 0.544211 +0.504421 0.412907 0.36368 0.36368 0.37504 0.373147 0.354213 0.344747 +0.35232 0.356107 0.376933 0.38072 0.371253 0.38072 0.371253 0.378827 +0.39208 0.3864 0.376933 0.384507 0.388293 0.390187 0.39776 0.4148 +0.42616 0.435627 0.467813 0.536 0.664842 0.846737 0.978737 1.00122 +1.00482 1.00384 1.00318 1.00318 1.00253 0.996 0.983918 0.971789 +0.981633 0.994367 1.0009 1.00188 1.00351 1.00449 1.00286 1.0022 +1.00286 1.00286 1.00449 1.00841 1.00678 1.00416 0.996327 0.981633 +0.966737 0.960421 0.956632 0.950947 0.947789 0.947158 0.947789 0.952211 +0.976211 0.992408 0.997959 0.965474 0.795579 0.580842 0.36368 0.276587 +0.3296 0.395867 0.382613 0.299307 0.216 0.000846667 0.0008 0.000786667 +0.000806667 0.000806667 0.0008 0.00078 0.000773333 0.00074 0.00076 0.000753333 +0.000726667 0.000746667 0.000746667 0.00072 0.000706667 0.000713333 0.00072 0.000713333 +0.000726667 0.000726667 0.00072 0.00072 0.0007 0.000706667 0.0007 0.0007 +0.000733333 0.00074 0.000713333 0.000693333 0.0007 0.000713333 0.0007 0.000706667 +0.0007 0.000686667 0.000673333 0.000686667 0.000746667 0.000753333 0.00074 0.000733333 +0.000746667 0.000746667 0.00074 0.00072 0.000726667 0.000753333 0.000753333 0.00074 +0.00074 0.000766667 0.000766667 0.000726667 0.000713333 0.00072 0.000726667 0.000726667 +0.000726667 0.000726667 0.000706667 0.0007 0.000713333 0.0007 0.00072 0.00074 +0.00074 0.000733333 0.000726667 0.000733333 0.00072 0.0007 0.000726667 0.000726667 +0.0007 0.000673333 0.000686667 0.000706667 0.0007 0.000666667 0.00064 0.000653333 +0.000706667 0.000726667 0.000713333 0.000666667 0.0007 0.000746667 0.000746667 0.000726667 +0.000733333 0.00074 0.00074 0.00074 0.000766667 0.000786667 0.000793333 0.000786667 +0.000746667 0.0008 0.000886667 0.00098 0.270907 0.35232 0.412907 0.529684 +0.684421 0.873895 0.982612 0.990776 0.981306 0.966737 0.951579 0.942737 +0.947158 0.965474 0.986531 0.997959 1.00482 1.0071 1.00971 1.00612 +0.999918 0.996 0.993714 0.996327 1.00188 1.00841 1.00971 1.00645 +1.00286 0.998939 0.997306 0.995673 0.990776 0.989143 0.988816 0.991102 +1.01527 1.13456 1.4541 1.53018 1.33237 1.10717 1.04824 1.05967 +1.18173 1.16043 1.02245 0.883368 0.699579 0.568842 0.503158 0.441307 +0.428053 0.435627 0.433733 0.43184 0.433733 0.405333 0.376933 0.365573 +0.38072 0.39208 0.38072 0.354213 0.348533 0.361787 0.371253 0.367467 +0.378827 0.38072 0.388293 0.407227 0.411013 0.4148 0.462133 0.486747 +0.458347 0.469707 0.522737 0.553684 0.551158 0.515789 0.445093 0.405333 +0.473493 0.527789 0.517684 0.43184 0.373147 0.344747 0.3296 0.339067 +0.36368 0.376933 0.36368 0.371253 0.384507 0.418587 0.43184 0.388293 +0.367467 0.43752 0.4716 0.39208 0.337173 0.361787 0.388293 0.439413 +0.492427 0.48296 0.441307 0.405333 0.399653 0.401547 0.3864 0.393973 +0.40912 0.393973 0.373147 0.416693 0.529053 0.644632 0.760211 0.823368 +0.842316 0.815158 0.74 0.616211 0.513895 0.435627 0.429947 0.418587 +0.429947 0.456453 0.540421 0.657895 0.738737 0.729263 0.648421 0.541684 +0.43184 0.382613 0.376933 0.36936 0.37504 0.38072 0.418587 0.43752 +0.439413 0.4148 0.39776 0.401547 0.405333 0.40344 0.393973 0.407227 +0.49432 0.549263 0.575789 0.539158 0.467813 0.422373 0.412907 0.405333 +0.399653 0.393973 0.40344 0.39208 0.393973 0.411013 0.39776 0.412907 +0.422373 0.405333 0.39208 0.424267 0.462133 0.49432 0.611158 0.832211 +0.942737 0.963579 0.986857 1.01461 1.04335 1.06304 1.08587 1.09956 +1.13304 1.15738 1.13304 1.10413 1.06913 1.05151 1.04367 1.0378 +1.0378 1.04073 1.03518 1.03584 1.0342 1.0329 1.03159 1.03224 +1.03192 1.03224 1.03094 1.03029 1.03127 1.02963 1.02473 1.03094 +1.03094 1.03192 1.0342 1.0329 1.02996 1.028 1.02735 1.02637 +1.02931 1.03486 1.03584 1.03682 1.0342 1.0342 1.03616 1.04073 +1.044 1.0489 1.05412 1.05967 1.11326 1.19542 1.21977 1.18021 +1.12847 1.08739 1.06609 1.07978 1.11326 1.10717 1.07217 1.04596 +1.01429 0.947789 0.752 0.568211 0.512 0.496213 0.48296 0.48864 +0.4716 0.43752 0.412907 0.4148 0.44888 0.46024 0.435627 0.416693 +0.40912 0.37504 0.371253 0.382613 0.407227 0.4148 0.395867 0.433733 +0.46592 0.411013 0.373147 0.373147 0.40344 0.418587 0.4148 0.401547 +0.395867 0.390187 0.358 0.339067 0.358 0.43752 0.554316 0.628842 +0.608 0.520842 0.40344 0.37504 0.390187 0.4716 0.527158 0.521474 +0.418587 0.348533 0.34664 0.354213 0.359893 0.367467 0.36936 0.36936 +0.399653 0.418587 0.435627 0.490533 0.541684 0.570737 0.542316 0.481067 +0.429947 0.48864 0.529053 0.554947 0.570737 0.574526 0.562526 0.534105 +0.48864 0.42616 0.40912 0.388293 0.367467 0.350427 0.325813 0.33528 +0.34096 0.342853 0.350427 0.382613 0.42048 0.439413 0.498107 0.522737 +0.515789 0.452667 0.373147 0.350427 0.359893 0.36368 0.354213 0.359893 +0.361787 0.356107 0.378827 0.3864 0.37504 0.373147 0.367467 0.38072 +0.401547 0.407227 0.39208 0.382613 0.393973 0.4148 0.446987 0.46024 +0.450773 0.46592 0.527789 0.638316 0.810105 0.960421 1.01004 1.01951 +1.01722 1.01429 1.01461 1.01135 1.00482 0.990122 0.972421 0.973684 +0.989143 0.998612 1.00188 1.00253 1.00384 1.00253 1.00253 1.00188 +1.0022 1.00416 1.00678 1.00873 1.00645 0.998939 0.98849 0.974316 +0.961684 0.954737 0.953474 0.950947 0.947789 0.949684 0.952211 0.964211 +0.986857 0.999265 0.990449 0.882737 0.672421 0.49432 0.3012 0.30688 +0.37504 0.395867 0.320133 0.225467 0.00088 0.00082 0.000813333 0.00082 +0.00082 0.000793333 0.000753333 0.000733333 0.000773333 0.000766667 0.000753333 0.000746667 +0.000746667 0.000753333 0.000733333 0.000726667 0.000713333 0.000706667 0.00072 0.000753333 +0.000733333 0.0007 0.000713333 0.000726667 0.000693333 0.000713333 0.000713333 0.000686667 +0.0007 0.000726667 0.00072 0.00068 0.00068 0.000713333 0.000713333 0.000726667 +0.000713333 0.000706667 0.0007 0.00068 0.000746667 0.000753333 0.00072 0.0007 +0.000686667 0.000706667 0.000713333 0.000693333 0.000706667 0.000733333 0.000733333 0.00076 +0.000766667 0.00078 0.000746667 0.000706667 0.00072 0.00072 0.000733333 0.00074 +0.000753333 0.000753333 0.000746667 0.000733333 0.000726667 0.000706667 0.00074 0.000766667 +0.000753333 0.00074 0.00072 0.00072 0.000733333 0.000746667 0.00076 0.000713333 +0.0007 0.000733333 0.00076 0.000746667 0.00072 0.000693333 0.000686667 0.00072 +0.00074 0.000706667 0.00068 0.000693333 0.00074 0.000733333 0.000693333 0.000693333 +0.000733333 0.00074 0.000726667 0.00072 0.00078 0.000786667 0.00076 0.000746667 +0.000766667 0.000833333 0.000853333 0.000846667 0.000946667 0.299307 0.38072 0.4432 +0.554947 0.717895 0.902316 0.988816 0.992408 0.977474 0.954105 0.947158 +0.947789 0.951579 0.967368 0.986857 0.997633 1.00449 1.00971 1.00743 +1.00122 0.996327 0.994041 0.993714 0.99698 1.00514 1.0071 1.0058 +1.00645 1.00514 1.00449 1.0022 0.994367 0.986857 0.986204 0.990122 +1.00253 1.04335 1.32324 1.56365 1.48453 1.22433 1.0538 1.05086 +1.13912 1.20912 1.05967 0.977474 0.784842 0.620632 0.523368 0.462133 +0.450773 0.458347 0.4432 0.450773 0.446987 0.395867 0.365573 0.36936 +0.3864 0.390187 0.36936 0.348533 0.356107 0.36368 0.354213 0.35232 +0.367467 0.361787 0.361787 0.367467 0.36936 0.39208 0.43184 0.42616 +0.3864 0.393973 0.490533 0.526526 0.508842 0.407227 0.354213 0.361787 +0.4148 0.48296 0.45456 0.390187 0.354213 0.33528 0.320133 0.3296 +0.354213 0.382613 0.376933 0.359893 0.373147 0.401547 0.45456 0.435627 +0.405333 0.462133 0.435627 0.350427 0.342853 0.37504 0.405333 0.45456 +0.464027 0.418587 0.40344 0.393973 0.393973 0.40912 0.388293 0.3864 +0.390187 0.384507 0.407227 0.507579 0.597895 0.719158 0.796842 0.826526 +0.825263 0.775368 0.671158 0.546105 0.45456 0.416693 0.42616 0.435627 +0.429947 0.422373 0.506316 0.609263 0.722316 0.748211 0.673684 0.563789 +0.490533 0.4148 0.39208 0.388293 0.382613 0.395867 0.411013 0.43184 +0.446987 0.433733 0.418587 0.390187 0.378827 0.38072 0.384507 0.393973 +0.452667 0.530316 0.565053 0.548 0.492427 0.407227 0.3864 0.388293 +0.388293 0.39776 0.405333 0.390187 0.39208 0.401547 0.39776 0.407227 +0.405333 0.401547 0.399653 0.42616 0.452667 0.48296 0.589684 0.806947 +0.936421 0.957263 0.973684 0.998612 1.02571 1.04563 1.0551 1.05673 +1.06456 1.11782 1.12847 1.12086 1.07674 1.05412 1.04922 1.04335 +1.04139 1.04139 1.03616 1.03616 1.03551 1.0391 1.03518 1.03388 +1.03257 1.03159 1.03029 1.03094 1.03029 1.028 1.02767 1.02931 +1.02735 1.03127 1.03159 1.03127 1.03029 1.02931 1.02931 1.02833 +1.03159 1.03682 1.03747 1.03714 1.03322 1.03355 1.03649 1.04204 +1.04629 1.05314 1.05739 1.05935 1.10869 1.18629 1.1939 1.15282 +1.11934 1.08739 1.05902 1.07369 1.1026 1.07217 1.04792 1.02539 +0.997306 0.934526 0.753895 0.571368 0.511368 0.498107 0.496213 0.501263 +0.479173 0.445093 0.428053 0.40912 0.393973 0.399653 0.405333 0.411013 +0.424267 0.3864 0.359893 0.401547 0.445093 0.424267 0.40912 0.452667 +0.44888 0.395867 0.376933 0.38072 0.378827 0.37504 0.36368 0.35232 +0.361787 0.359893 0.348533 0.348533 0.361787 0.412907 0.533474 0.610526 +0.602316 0.517053 0.382613 0.344747 0.344747 0.399653 0.505053 0.526526 +0.4716 0.36368 0.348533 0.35232 0.358 0.388293 0.388293 0.3864 +0.42048 0.42048 0.399653 0.405333 0.496213 0.536 0.532842 0.486747 +0.384507 0.36936 0.407227 0.464027 0.518947 0.554947 0.574526 0.563789 +0.525263 0.479173 0.435627 0.3864 0.356107 0.344747 0.320133 0.320133 +0.342853 0.36368 0.38072 0.395867 0.3864 0.361787 0.37504 0.429947 +0.458347 0.429947 0.3864 0.359893 0.36368 0.359893 0.359893 0.367467 +0.36936 0.37504 0.399653 0.395867 0.39208 0.3864 0.38072 0.382613 +0.412907 0.435627 0.411013 0.390187 0.405333 0.43752 0.467813 0.469707 +0.4716 0.512632 0.603579 0.774737 0.942105 1.01363 1.03388 1.0342 +1.02963 1.02702 1.02441 1.01722 1.00286 0.985224 0.973053 0.983918 +0.996653 1.00057 1.0009 1.0009 1.0022 1.0022 1.00416 1.00416 +1.00547 1.00808 1.00808 1.00743 1.00253 0.992082 0.980327 0.969263 +0.960421 0.951579 0.952842 0.952211 0.950316 0.953474 0.960421 0.981306 +0.995673 0.997633 0.945263 0.765895 0.561263 0.354213 0.308773 0.359893 +0.39208 0.350427 0.263333 0.000913333 0.000846667 0.000826667 0.000806667 0.000806667 +0.000786667 0.00076 0.000753333 0.00076 0.000786667 0.000793333 0.00076 0.000753333 +0.00076 0.000753333 0.000706667 0.000713333 0.000726667 0.000706667 0.000706667 0.000733333 +0.000726667 0.000693333 0.0007 0.000746667 0.00072 0.000713333 0.00074 0.000706667 +0.0007 0.000706667 0.00072 0.0007 0.000686667 0.00072 0.000706667 0.00068 +0.000693333 0.000706667 0.000693333 0.000693333 0.000733333 0.000733333 0.000733333 0.00072 +0.0007 0.000706667 0.0007 0.000686667 0.000706667 0.000726667 0.000713333 0.00072 +0.000733333 0.000726667 0.000693333 0.0007 0.000726667 0.000733333 0.000733333 0.00074 +0.0007 0.000686667 0.000693333 0.000693333 0.0007 0.000686667 0.00072 0.00074 +0.000706667 0.0007 0.000706667 0.00072 0.000746667 0.00078 0.00078 0.00074 +0.000726667 0.00076 0.000773333 0.00074 0.000713333 0.000713333 0.00074 0.00076 +0.000746667 0.000706667 0.000733333 0.00076 0.000753333 0.000713333 0.000713333 0.00074 +0.000726667 0.000693333 0.0007 0.000733333 0.00078 0.000746667 0.000706667 0.00072 +0.000766667 0.0008 0.0008 0.000793333 0.000866667 0.248187 0.322027 0.39208 +0.479173 0.582737 0.761474 0.928842 0.990449 0.98849 0.971158 0.953474 +0.944 0.942105 0.950947 0.975579 0.990122 0.999592 1.00547 1.00547 +1.00514 1.00384 1.0009 0.99698 0.995673 1.00122 1.00482 1.00482 +1.00776 1.00808 1.00841 1.00776 1.00122 0.991755 0.990122 0.99502 +0.998286 1.01592 1.13304 1.47692 1.56974 1.3628 1.09956 1.04629 +1.08282 1.20607 1.18021 1.02539 0.880842 0.697053 0.564421 0.504421 +0.479173 0.469707 0.445093 0.46024 0.452667 0.40912 0.384507 0.378827 +0.376933 0.39208 0.37504 0.35232 0.354213 0.356107 0.361787 0.36368 +0.359893 0.34664 0.35232 0.36936 0.382613 0.39776 0.399653 0.382613 +0.365573 0.382613 0.458347 0.501263 0.433733 0.36368 0.344747 0.350427 +0.3864 0.429947 0.401547 0.354213 0.337173 0.33528 0.331493 0.316347 +0.320133 0.371253 0.393973 0.382613 0.37504 0.39208 0.435627 0.467813 +0.473493 0.486747 0.435627 0.37504 0.367467 0.356107 0.38072 0.433733 +0.411013 0.38072 0.401547 0.411013 0.39208 0.401547 0.399653 0.376933 +0.371253 0.39208 0.44888 0.551158 0.674316 0.772842 0.817053 0.827789 +0.801263 0.722316 0.602947 0.503789 0.42616 0.411013 0.411013 0.422373 +0.401547 0.3864 0.435627 0.559368 0.683789 0.743789 0.677474 0.568211 +0.509474 0.43752 0.39208 0.378827 0.384507 0.416693 0.42616 0.42048 +0.43184 0.429947 0.42048 0.393973 0.36936 0.359893 0.356107 0.365573 +0.433733 0.528421 0.567579 0.556842 0.501895 0.390187 0.371253 0.382613 +0.393973 0.39208 0.384507 0.37504 0.37504 0.388293 0.3864 0.399653 +0.40912 0.411013 0.42048 0.435627 0.462133 0.492427 0.573263 0.788632 +0.938947 0.961684 0.968 0.983918 1.0058 1.03192 1.0502 1.05641 +1.05771 1.09195 1.11782 1.13152 1.095 1.05543 1.05118 1.04531 +1.04171 1.03812 1.03747 1.03649 1.03551 1.04237 1.04073 1.03878 +1.03682 1.03322 1.02865 1.03029 1.02865 1.02963 1.02996 1.02735 +1.02767 1.03192 1.0329 1.02931 1.02898 1.02735 1.02735 1.02898 +1.03584 1.03649 1.03616 1.03812 1.03649 1.03714 1.03649 1.04073 +1.04922 1.05804 1.05804 1.05706 1.10108 1.15738 1.14369 1.10413 +1.09804 1.09195 1.07826 1.095 1.07369 1.05118 1.03094 1.00547 +0.982612 0.923158 0.757684 0.582105 0.517053 0.503789 0.486747 0.481067 +0.473493 0.4716 0.452667 0.418587 0.39208 0.393973 0.407227 0.441307 +0.503789 0.47728 0.412907 0.435627 0.458347 0.424267 0.422373 0.446987 +0.424267 0.376933 0.365573 0.36936 0.361787 0.35232 0.34096 0.34096 +0.354213 0.34664 0.34096 0.350427 0.36368 0.401547 0.522737 0.601684 +0.599158 0.517053 0.390187 0.358 0.35232 0.384507 0.486747 0.537895 +0.524 0.433733 0.37504 0.356107 0.365573 0.40344 0.401547 0.401547 +0.42048 0.395867 0.365573 0.371253 0.429947 0.506947 0.515789 0.47728 +0.378827 0.34096 0.348533 0.359893 0.39776 0.484853 0.532842 0.560632 +0.557474 0.534105 0.501895 0.405333 0.356107 0.339067 0.32392 0.327707 +0.356107 0.367467 0.38072 0.382613 0.365573 0.342853 0.34664 0.36936 +0.376933 0.37504 0.373147 0.36368 0.35232 0.361787 0.361787 0.36368 +0.38072 0.407227 0.412907 0.384507 0.367467 0.382613 0.390187 0.40344 +0.44888 0.481067 0.45456 0.416693 0.418587 0.43752 0.4432 0.452667 +0.49432 0.555579 0.709684 0.904842 1.01363 1.04857 1.0502 1.04335 +1.04106 1.03845 1.03224 1.01886 0.996653 0.976842 0.973684 0.98849 +1.00024 1.00188 1.00253 1.00351 1.00253 1.00253 1.00384 1.00351 +1.00612 1.00776 1.00743 1.00547 0.996327 0.984245 0.973684 0.965474 +0.953474 0.947789 0.951579 0.951579 0.950947 0.955368 0.972421 0.991102 +0.999918 0.983265 0.851789 0.640211 0.458347 0.316347 0.34664 0.38072 +0.35232 0.282267 0.22168 0.000886667 0.000826667 0.000793333 0.000773333 0.000773333 +0.00078 0.000793333 0.00078 0.000773333 0.000773333 0.000766667 0.00074 0.00076 +0.000746667 0.00074 0.000726667 0.000726667 0.000733333 0.000706667 0.000686667 0.000713333 +0.00072 0.000713333 0.000713333 0.00074 0.000713333 0.000713333 0.000733333 0.000713333 +0.000686667 0.00068 0.000693333 0.00068 0.00066 0.000686667 0.000713333 0.000706667 +0.00072 0.000726667 0.000713333 0.00072 0.000713333 0.000693333 0.000693333 0.0007 +0.000726667 0.00072 0.00072 0.00074 0.000753333 0.000746667 0.00072 0.00072 +0.00072 0.000706667 0.000693333 0.000713333 0.000746667 0.00074 0.000733333 0.00074 +0.0007 0.0007 0.000713333 0.000713333 0.000706667 0.000693333 0.000713333 0.000726667 +0.000693333 0.00068 0.000693333 0.0007 0.000733333 0.000746667 0.000726667 0.000713333 +0.000733333 0.000746667 0.000726667 0.000706667 0.000713333 0.000733333 0.000753333 0.000713333 +0.000686667 0.00072 0.00074 0.000746667 0.000713333 0.000713333 0.00074 0.000753333 +0.00072 0.000706667 0.000753333 0.000773333 0.00078 0.00074 0.00076 0.000786667 +0.000793333 0.000773333 0.00078 0.000813333 0.00088 0.000953333 0.246293 0.34664 +0.4148 0.501263 0.610526 0.787368 0.942105 0.992735 0.98849 0.971158 +0.949684 0.944 0.952842 0.969263 0.977474 0.986531 0.99698 1.00351 +1.00776 1.00906 1.00645 1.00155 0.998286 1.00188 1.0058 1.00547 +1.00514 1.00547 1.00743 1.00873 1.00743 1.00122 0.99502 0.994367 +0.996653 1.00188 1.03845 1.29585 1.53626 1.47388 1.21825 1.0551 +1.05706 1.16043 1.23651 1.09348 0.984245 0.796842 0.632632 0.534737 +0.490533 0.45456 0.441307 0.445093 0.42616 0.393973 0.388293 0.3864 +0.3864 0.40344 0.39208 0.361787 0.350427 0.35232 0.361787 0.36936 +0.36936 0.35232 0.350427 0.371253 0.393973 0.382613 0.376933 0.367467 +0.36368 0.384507 0.46592 0.486747 0.407227 0.358 0.348533 0.358 +0.388293 0.435627 0.422373 0.36368 0.34096 0.333387 0.337173 0.327707 +0.333387 0.36936 0.40344 0.3864 0.36368 0.36368 0.411013 0.473493 +0.505684 0.492427 0.412907 0.376933 0.358 0.359893 0.395867 0.40912 +0.376933 0.356107 0.371253 0.401547 0.399653 0.399653 0.4148 0.39776 +0.37504 0.399653 0.501895 0.611789 0.745053 0.812 0.829684 0.821474 +0.772842 0.665474 0.546105 0.43752 0.399653 0.3864 0.393973 0.395867 +0.382613 0.38072 0.407227 0.527789 0.641474 0.719789 0.678105 0.570105 +0.511368 0.450773 0.40344 0.371253 0.376933 0.40912 0.411013 0.39776 +0.40344 0.412907 0.399653 0.378827 0.367467 0.358 0.356107 0.36936 +0.46024 0.554316 0.592842 0.567579 0.509474 0.40912 0.373147 0.365573 +0.382613 0.388293 0.388293 0.376933 0.382613 0.39776 0.399653 0.40912 +0.407227 0.40912 0.418587 0.429947 0.467813 0.498107 0.565053 0.771579 +0.926316 0.953474 0.964211 0.971789 0.990449 1.01298 1.03616 1.05641 +1.06761 1.09043 1.11173 1.13456 1.10717 1.05771 1.05282 1.04824 +1.04661 1.04106 1.04073 1.0378 1.03878 1.04171 1.03649 1.03355 +1.03551 1.03388 1.03094 1.03192 1.02735 1.02833 1.02865 1.02865 +1.02833 1.02996 1.02833 1.02539 1.02931 1.02963 1.02833 1.0329 +1.03714 1.03616 1.03812 1.03845 1.03747 1.03584 1.03551 1.04139 +1.05118 1.05935 1.05608 1.05282 1.07674 1.11934 1.09804 1.06456 +1.06913 1.08587 1.10869 1.1026 1.05086 1.0342 1.01396 0.988816 +0.963579 0.919368 0.770316 0.594737 0.526526 0.508842 0.484853 0.469707 +0.4716 0.486747 0.47728 0.441307 0.418587 0.407227 0.407227 0.446987 +0.514526 0.531579 0.515158 0.496213 0.467813 0.424267 0.418587 0.4148 +0.395867 0.36936 0.358 0.358 0.350427 0.33528 0.33528 0.350427 +0.358 0.34664 0.342853 0.35232 0.365573 0.407227 0.520842 0.604211 +0.615579 0.536632 0.418587 0.373147 0.356107 0.378827 0.46024 0.533474 +0.553684 0.514526 0.42048 0.36936 0.3864 0.424267 0.42616 0.40912 +0.39208 0.367467 0.35232 0.356107 0.38072 0.439413 0.48296 0.464027 +0.40344 0.359893 0.354213 0.354213 0.344747 0.358 0.428053 0.513263 +0.553053 0.568842 0.539789 0.479173 0.388293 0.354213 0.33528 0.342853 +0.354213 0.358 0.367467 0.37504 0.36368 0.34096 0.342853 0.358 +0.34664 0.337173 0.348533 0.354213 0.350427 0.359893 0.36368 0.371253 +0.399653 0.42616 0.401547 0.358 0.348533 0.37504 0.39208 0.401547 +0.446987 0.5 0.486747 0.446987 0.439413 0.450773 0.452667 0.473493 +0.526526 0.643368 0.837263 0.999265 1.05478 1.09043 1.05184 1.04596 +1.0489 1.04922 1.03878 1.01592 0.989143 0.970526 0.981959 0.996327 +1.00449 1.00318 1.00318 1.00384 1.0022 1.00286 1.00449 1.00547 +1.0071 1.00776 1.0058 1.00024 0.986204 0.976211 0.972421 0.961684 +0.949684 0.947789 0.950316 0.949053 0.950316 0.964842 0.98751 1.00024 +0.995673 0.92 0.728 0.534737 0.348533 0.339067 0.38072 0.36936 +0.299307 0.223573 0.000886667 0.000833333 0.000806667 0.000786667 0.000766667 0.00078 +0.000786667 0.000793333 0.000766667 0.000766667 0.000773333 0.000753333 0.00074 0.000766667 +0.000733333 0.000706667 0.00072 0.000746667 0.000733333 0.000713333 0.000706667 0.000713333 +0.000706667 0.000706667 0.00072 0.000726667 0.000706667 0.000706667 0.000713333 0.000706667 +0.000693333 0.00068 0.000693333 0.000706667 0.00068 0.0007 0.000733333 0.00074 +0.00074 0.00072 0.000713333 0.000726667 0.00072 0.000706667 0.000693333 0.000693333 +0.0007 0.000693333 0.000726667 0.000746667 0.000733333 0.000726667 0.000726667 0.000733333 +0.000713333 0.00072 0.000726667 0.000713333 0.00072 0.000713333 0.000726667 0.00074 +0.00074 0.000733333 0.000726667 0.000713333 0.000706667 0.000726667 0.00074 0.00074 +0.000713333 0.000706667 0.0007 0.000713333 0.00074 0.000733333 0.000693333 0.000686667 +0.000726667 0.00072 0.000693333 0.0007 0.00074 0.000753333 0.000733333 0.000693333 +0.0007 0.00074 0.00072 0.000706667 0.000713333 0.000746667 0.000746667 0.000733333 +0.000713333 0.000726667 0.00076 0.000726667 0.000726667 0.000753333 0.000786667 0.000773333 +0.000766667 0.000766667 0.000793333 0.000813333 0.00082 0.000826667 0.00092 0.27848 +0.361787 0.405333 0.508842 0.626316 0.811368 0.959158 0.991755 0.98751 +0.973684 0.958526 0.957895 0.963579 0.961053 0.971789 0.988163 0.996653 +1.00253 1.00678 1.00808 1.00678 1.0058 1.00449 1.00612 1.0058 +1.00449 1.00384 1.00906 1.012 1.00971 1.0058 0.999592 0.995673 +0.995673 0.996653 1.01461 1.11021 1.41758 1.51953 1.34758 1.11478 +1.05608 1.12391 1.24259 1.22433 1.03812 0.910526 0.721053 0.577053 +0.503789 0.44888 0.433733 0.43184 0.407227 0.382613 0.371253 0.367467 +0.3864 0.40344 0.393973 0.371253 0.36368 0.359893 0.371253 0.378827 +0.36936 0.354213 0.35232 0.373147 0.367467 0.348533 0.35232 0.348533 +0.354213 0.393973 0.46592 0.469707 0.388293 0.358 0.35232 0.361787 +0.39208 0.445093 0.43184 0.36368 0.344747 0.35232 0.348533 0.350427 +0.331493 0.339067 0.388293 0.40912 0.384507 0.37504 0.395867 0.43752 +0.500632 0.469707 0.378827 0.356107 0.367467 0.399653 0.412907 0.3864 +0.359893 0.348533 0.358 0.405333 0.424267 0.40344 0.40344 0.39776 +0.395867 0.435627 0.552421 0.693263 0.8 0.834105 0.829684 0.794316 +0.709684 0.581474 0.48296 0.40912 0.40344 0.3864 0.3864 0.384507 +0.3864 0.388293 0.40912 0.514526 0.614947 0.697684 0.683789 0.581474 +0.510737 0.467813 0.429947 0.390187 0.384507 0.388293 0.376933 0.367467 +0.384507 0.412907 0.395867 0.359893 0.367467 0.373147 0.371253 0.399653 +0.512632 0.600421 0.638316 0.587158 0.525895 0.464027 0.393973 0.365573 +0.382613 0.405333 0.39776 0.3864 0.39208 0.416693 0.412907 0.40912 +0.405333 0.393973 0.399653 0.428053 0.46592 0.492427 0.569474 0.769684 +0.916211 0.947789 0.967368 0.974316 0.985551 0.997633 1.02212 1.0551 +1.08435 1.09652 1.12239 1.13304 1.11173 1.07065 1.05837 1.05347 +1.05086 1.04727 1.04465 1.04139 1.044 1.04106 1.03257 1.03061 +1.03486 1.03355 1.03224 1.03257 1.02735 1.02865 1.02898 1.03029 +1.02931 1.02963 1.02702 1.02408 1.03094 1.03094 1.03192 1.03649 +1.03747 1.0378 1.04041 1.03714 1.03682 1.03486 1.03845 1.04367 +1.04922 1.05673 1.05543 1.05543 1.09043 1.10869 1.06913 1.05641 +1.0538 1.05445 1.07978 1.05771 1.03322 1.0169 0.99698 0.971158 +0.947158 0.917474 0.786737 0.608632 0.534105 0.508842 0.475387 0.46592 +0.452667 0.462133 0.475387 0.45456 0.433733 0.418587 0.401547 0.40912 +0.481067 0.536632 0.541053 0.508842 0.467813 0.445093 0.428053 0.399653 +0.376933 0.371253 0.359893 0.350427 0.34664 0.337173 0.344747 0.35232 +0.358 0.354213 0.35232 0.36368 0.376933 0.42048 0.524 0.620632 +0.659158 0.577053 0.46024 0.376933 0.367467 0.390187 0.429947 0.504421 +0.549263 0.554947 0.518316 0.464027 0.441307 0.452667 0.445093 0.4148 +0.388293 0.371253 0.361787 0.365573 0.373147 0.401547 0.452667 0.479173 +0.452667 0.3864 0.35232 0.350427 0.337173 0.327707 0.34096 0.412907 +0.514526 0.556842 0.563158 0.536 0.48864 0.40344 0.35232 0.333387 +0.33528 0.342853 0.356107 0.36368 0.356107 0.348533 0.354213 0.36368 +0.358 0.35232 0.34096 0.333387 0.337173 0.344747 0.348533 0.359893 +0.390187 0.411013 0.384507 0.350427 0.356107 0.384507 0.3864 0.384507 +0.429947 0.48864 0.498107 0.464027 0.435627 0.43752 0.456453 0.505684 +0.591579 0.769053 0.969895 1.05282 1.1589 1.09804 1.05412 1.0538 +1.05739 1.05837 1.04106 1.00906 0.983918 0.98 0.992082 1.00384 +1.00645 1.00286 1.00286 1.00188 1.00188 1.00384 1.00547 1.00678 +1.00939 1.00906 1.00253 0.991102 0.977474 0.970526 0.966737 0.952211 +0.945895 0.949684 0.949053 0.945895 0.954737 0.98098 0.996653 0.999918 +0.966737 0.812632 0.602947 0.416693 0.34096 0.376933 0.39208 0.3296 +0.246293 0.000913333 0.00082 0.000793333 0.000806667 0.0008 0.000753333 0.000746667 +0.00076 0.000766667 0.000746667 0.000766667 0.000793333 0.000773333 0.00072 0.000726667 +0.000733333 0.000706667 0.0007 0.000706667 0.000726667 0.000733333 0.000733333 0.00072 +0.000713333 0.0007 0.000713333 0.00072 0.000706667 0.0007 0.0007 0.000706667 +0.000706667 0.000706667 0.000726667 0.000726667 0.0007 0.000693333 0.000726667 0.000733333 +0.00072 0.00072 0.000706667 0.000706667 0.000746667 0.000746667 0.000746667 0.00076 +0.000746667 0.000713333 0.000746667 0.00074 0.000713333 0.000726667 0.00072 0.000726667 +0.000733333 0.00074 0.000726667 0.000706667 0.00072 0.000726667 0.00074 0.000746667 +0.000733333 0.000713333 0.0007 0.000706667 0.000713333 0.000746667 0.000746667 0.000733333 +0.000726667 0.000733333 0.000726667 0.000746667 0.000746667 0.00072 0.000713333 0.000733333 +0.00074 0.000713333 0.000686667 0.000706667 0.000733333 0.0007 0.00068 0.000686667 +0.000726667 0.000726667 0.0007 0.00072 0.000753333 0.000766667 0.00072 0.000713333 +0.000726667 0.00072 0.000713333 0.0007 0.000746667 0.00078 0.00076 0.000713333 +0.000766667 0.000806667 0.000793333 0.000773333 0.000773333 0.000793333 0.000846667 0.000973333 +0.28416 0.37504 0.43752 0.519579 0.644632 0.832211 0.964842 0.993714 +0.989796 0.972421 0.952211 0.946526 0.950316 0.962947 0.978737 0.984571 +0.990776 1.0009 1.00873 1.01265 1.01135 1.00416 1.00155 1.00253 +1.00514 1.00743 1.01135 1.01233 1.01004 1.0058 1.00318 1.00155 +1.00188 0.999918 1.00416 1.0391 1.25933 1.49822 1.45866 1.21825 +1.05804 1.06913 1.19542 1.27607 1.15586 1.00253 0.824632 0.649053 +0.536632 0.46592 0.428053 0.424267 0.42048 0.382613 0.36368 0.371253 +0.401547 0.390187 0.358 0.361787 0.36936 0.376933 0.3864 0.367467 +0.361787 0.358 0.367467 0.36936 0.344747 0.33528 0.339067 0.339067 +0.36368 0.401547 0.44888 0.42616 0.373147 0.37504 0.371253 0.36368 +0.378827 0.435627 0.433733 0.358 0.34096 0.350427 0.348533 0.337173 +0.31256 0.322027 0.36368 0.401547 0.418587 0.418587 0.407227 0.429947 +0.506947 0.492427 0.373147 0.356107 0.37504 0.378827 0.371253 0.359893 +0.36936 0.37504 0.384507 0.399653 0.384507 0.36936 0.378827 0.411013 +0.446987 0.520842 0.642737 0.787368 0.847368 0.844211 0.812 0.745684 +0.628842 0.514526 0.407227 0.390187 0.390187 0.382613 0.382613 0.38072 +0.388293 0.412907 0.4716 0.525895 0.591579 0.669895 0.682526 0.594737 +0.509474 0.464027 0.424267 0.39208 0.399653 0.390187 0.371253 0.358 +0.367467 0.418587 0.424267 0.37504 0.367467 0.378827 0.418587 0.492427 +0.531579 0.593474 0.628211 0.591579 0.541053 0.504421 0.416693 0.36936 +0.384507 0.416693 0.42616 0.422373 0.418587 0.416693 0.40344 0.393973 +0.390187 0.39208 0.399653 0.43752 0.464027 0.484853 0.574526 0.771579 +0.911789 0.944 0.962947 0.971789 0.979368 0.985878 1.01167 1.04759 +1.05902 1.07522 1.11326 1.11934 1.11478 1.1026 1.09043 1.07065 +1.05706 1.05118 1.04629 1.04465 1.04465 1.03976 1.03551 1.03388 +1.03388 1.03257 1.03224 1.03029 1.02735 1.02931 1.02767 1.028 +1.03094 1.0329 1.02833 1.02735 1.03159 1.02996 1.03453 1.03845 +1.03845 1.03845 1.0391 1.03845 1.04041 1.03812 1.04139 1.04498 +1.05086 1.05771 1.05739 1.06761 1.1026 1.09195 1.05902 1.05184 +1.04106 1.0342 1.0378 1.02767 1.00841 0.99698 0.981959 0.954737 +0.940842 0.921263 0.810737 0.633895 0.546737 0.508211 0.46024 0.46024 +0.445093 0.43752 0.445093 0.446987 0.428053 0.407227 0.390187 0.411013 +0.446987 0.505684 0.512632 0.458347 0.433733 0.435627 0.424267 0.40344 +0.371253 0.359893 0.35232 0.358 0.361787 0.350427 0.356107 0.34664 +0.342853 0.35232 0.371253 0.390187 0.407227 0.42616 0.523368 0.644 +0.718526 0.628842 0.502526 0.39776 0.399653 0.39208 0.384507 0.411013 +0.522737 0.576421 0.570105 0.536632 0.510737 0.47728 0.418587 0.384507 +0.376933 0.36368 0.350427 0.36368 0.378827 0.39776 0.456453 0.501895 +0.469707 0.3864 0.339067 0.337173 0.339067 0.331493 0.3296 0.36368 +0.429947 0.511368 0.546105 0.558105 0.536 0.479173 0.39208 0.34664 +0.3296 0.34096 0.358 0.358 0.354213 0.354213 0.348533 0.337173 +0.344747 0.342853 0.322027 0.32392 0.337173 0.34664 0.34096 0.350427 +0.36936 0.382613 0.373147 0.36936 0.390187 0.401547 0.401547 0.4148 +0.4432 0.469707 0.484853 0.456453 0.428053 0.439413 0.484853 0.554947 +0.701474 0.907368 1.04041 1.2152 1.17716 1.07369 1.06152 1.09043 +1.10717 1.07522 1.03584 1.00122 0.984245 0.98849 0.998612 1.0058 +1.00645 1.00416 1.00416 1.00318 1.00482 1.00776 1.00776 1.00776 +1.00776 1.00449 0.992735 0.981306 0.971158 0.969263 0.961053 0.948421 +0.949684 0.949684 0.944632 0.947158 0.971158 0.992408 1.00286 0.989143 +0.877684 0.677474 0.507579 0.34096 0.359893 0.384507 0.348533 0.269013 +0.000946667 0.000826667 0.00078 0.000766667 0.000793333 0.00078 0.000753333 0.000753333 +0.000786667 0.000793333 0.000766667 0.000773333 0.00078 0.00076 0.000746667 0.00074 +0.00074 0.00074 0.00074 0.000706667 0.0007 0.00072 0.000726667 0.000706667 +0.000706667 0.000693333 0.00068 0.000693333 0.000686667 0.000686667 0.000686667 0.000706667 +0.00072 0.00072 0.000733333 0.000733333 0.000713333 0.000706667 0.000713333 0.000726667 +0.00072 0.000713333 0.000706667 0.0007 0.000726667 0.000726667 0.00074 0.000753333 +0.000733333 0.000726667 0.000766667 0.000773333 0.000753333 0.00076 0.000753333 0.000746667 +0.00074 0.00074 0.00074 0.000746667 0.000753333 0.000753333 0.000746667 0.00076 +0.000753333 0.00072 0.000726667 0.000706667 0.000726667 0.00076 0.000733333 0.000713333 +0.000713333 0.00074 0.000753333 0.000753333 0.000746667 0.0007 0.000726667 0.00074 +0.000726667 0.000713333 0.000726667 0.00076 0.000713333 0.000653333 0.00068 0.000726667 +0.000713333 0.000673333 0.000686667 0.000746667 0.000766667 0.000733333 0.000686667 0.000726667 +0.00074 0.00072 0.000726667 0.000766667 0.000793333 0.000753333 0.000706667 0.000733333 +0.000793333 0.00076 0.000726667 0.00076 0.00082 0.00084 0.000833333 0.000853333 +0.000986667 0.331493 0.428053 0.45456 0.527158 0.671158 0.854947 0.978105 +0.99698 0.986204 0.963579 0.948421 0.945895 0.955368 0.961684 0.964842 +0.98 0.993388 1.00286 1.00971 1.00906 1.00384 1.0022 1.00384 +1.00678 1.00939 1.00971 1.01037 1.00873 1.00612 1.00776 1.00743 +1.0071 1.00547 1.00188 1.01363 1.06913 1.38867 1.52561 1.35976 +1.11934 1.05249 1.08891 1.21825 1.2502 1.05412 0.944632 0.750737 +0.598526 0.518316 0.456453 0.424267 0.418587 0.401547 0.393973 0.416693 +0.43752 0.405333 0.373147 0.37504 0.36936 0.38072 0.399653 0.38072 +0.365573 0.350427 0.354213 0.365573 0.359893 0.354213 0.34096 0.34096 +0.38072 0.441307 0.458347 0.39776 0.359893 0.36936 0.38072 0.3864 +0.390187 0.422373 0.42616 0.36368 0.333387 0.34664 0.359893 0.33528 +0.31256 0.308773 0.320133 0.350427 0.40912 0.475387 0.4716 0.450773 +0.512 0.501263 0.39776 0.384507 0.38072 0.359893 0.34664 0.358 +0.36936 0.37504 0.395867 0.3864 0.365573 0.365573 0.382613 0.4148 +0.503158 0.592842 0.753895 0.875158 0.892842 0.853053 0.787368 0.679368 +0.553053 0.4432 0.40344 0.40344 0.382613 0.371253 0.373147 0.378827 +0.407227 0.496213 0.532842 0.541684 0.559368 0.631368 0.675579 0.612421 +0.522105 0.458347 0.416693 0.39776 0.40912 0.388293 0.356107 0.358 +0.382613 0.43752 0.467813 0.429947 0.384507 0.399653 0.49432 0.518947 +0.516421 0.523368 0.539789 0.550526 0.529684 0.48296 0.411013 0.371253 +0.378827 0.40344 0.422373 0.428053 0.418587 0.412907 0.401547 0.401547 +0.382613 0.373147 0.40344 0.422373 0.429947 0.47728 0.570105 0.761474 +0.897895 0.925684 0.941474 0.959158 0.968632 0.981306 1.0022 1.03159 +1.04759 1.05673 1.08891 1.1026 1.11478 1.11173 1.11173 1.12543 +1.11478 1.05967 1.04988 1.04661 1.04302 1.04041 1.03812 1.03616 +1.03584 1.03388 1.03322 1.03159 1.03094 1.03224 1.02865 1.02865 +1.03159 1.03192 1.02702 1.02996 1.03355 1.0329 1.03812 1.0391 +1.0378 1.03714 1.03878 1.04139 1.04367 1.04106 1.04498 1.05053 +1.05771 1.07522 1.06761 1.08587 1.09195 1.06609 1.05347 1.04073 +1.02669 1.01788 1.01494 1.00743 0.99502 0.981633 0.954737 0.939579 +0.935158 0.925053 0.837263 0.668 0.559368 0.512 0.458347 0.446987 +0.445093 0.433733 0.429947 0.441307 0.416693 0.395867 0.388293 0.422373 +0.441307 0.424267 0.418587 0.399653 0.4148 0.422373 0.40912 0.40344 +0.38072 0.365573 0.371253 0.3864 0.378827 0.361787 0.378827 0.365573 +0.34664 0.35232 0.367467 0.390187 0.40344 0.39208 0.503789 0.640842 +0.746316 0.653474 0.507579 0.401547 0.39208 0.358 0.342853 0.344747 +0.46024 0.548632 0.558105 0.529684 0.503789 0.445093 0.38072 0.356107 +0.359893 0.356107 0.348533 0.359893 0.384507 0.418587 0.492427 0.515158 +0.47728 0.37504 0.331493 0.33528 0.34096 0.3296 0.3296 0.350427 +0.3864 0.458347 0.515158 0.548 0.558737 0.524632 0.458347 0.390187 +0.365573 0.38072 0.395867 0.38072 0.361787 0.354213 0.34664 0.33528 +0.337173 0.331493 0.32392 0.337173 0.342853 0.342853 0.342853 0.33528 +0.344747 0.356107 0.367467 0.40344 0.450773 0.486747 0.492427 0.47728 +0.44888 0.450773 0.467813 0.450773 0.452667 0.484853 0.532842 0.646526 +0.834737 1.01494 1.23498 1.29433 1.13304 1.06456 1.09195 1.13304 +1.14977 1.07065 1.02571 0.993388 0.988163 0.99698 1.00318 1.00449 +1.00482 1.00547 1.00612 1.00547 1.00678 1.00808 1.00808 1.00873 +1.00645 0.997633 0.983918 0.974316 0.969263 0.962947 0.952211 0.947789 +0.950947 0.947158 0.944632 0.961053 0.98751 0.999918 0.997306 0.933895 +0.750737 0.557474 0.38072 0.344747 0.371253 0.361787 0.29552 0.22168 +0.000866667 0.000793333 0.000766667 0.000766667 0.00082 0.000813333 0.000786667 0.000766667 +0.000786667 0.000793333 0.00076 0.00076 0.000753333 0.000733333 0.000746667 0.000753333 +0.000726667 0.000706667 0.00074 0.000706667 0.000666667 0.00068 0.000706667 0.000706667 +0.00072 0.00072 0.0007 0.000713333 0.000726667 0.00072 0.000706667 0.000713333 +0.000726667 0.000733333 0.000733333 0.000713333 0.0007 0.0007 0.0007 0.0007 +0.000693333 0.000666667 0.00068 0.0007 0.000706667 0.000733333 0.00074 0.00072 +0.000706667 0.000746667 0.000733333 0.000713333 0.000713333 0.00072 0.000733333 0.00072 +0.0007 0.0007 0.00072 0.000693333 0.00068 0.00072 0.00072 0.00074 +0.00074 0.000706667 0.000706667 0.000706667 0.00074 0.00074 0.000706667 0.000706667 +0.00072 0.000766667 0.000773333 0.00074 0.000706667 0.00072 0.000753333 0.00072 +0.0007 0.000693333 0.000746667 0.00076 0.000686667 0.000686667 0.00074 0.000753333 +0.000706667 0.000706667 0.000773333 0.000786667 0.00074 0.0007 0.000713333 0.00076 +0.000733333 0.000733333 0.00078 0.0008 0.000766667 0.000706667 0.000726667 0.0008 +0.000793333 0.000726667 0.000726667 0.000793333 0.00084 0.000813333 0.0008 0.000826667 +0.0009 0.25576 0.34664 0.40912 0.450773 0.551158 0.700211 0.875158 +0.983265 0.995347 0.987184 0.971789 0.951579 0.951579 0.955368 0.954737 +0.968632 0.984571 0.993388 1.00155 1.00547 1.00612 1.00743 1.00743 +1.00808 1.00808 1.00678 1.00873 1.01037 1.01037 1.012 1.01167 +1.00873 1.00808 1.00449 1.00188 1.02637 1.19542 1.47844 1.46475 +1.22738 1.05902 1.05478 1.13152 1.23194 1.17869 1.02278 0.874526 +0.683789 0.556842 0.496213 0.429947 0.4148 0.424267 0.441307 0.467813 +0.458347 0.40344 0.37504 0.376933 0.388293 0.4148 0.4148 0.373147 +0.358 0.36368 0.36936 0.378827 0.365573 0.34664 0.339067 0.35232 +0.405333 0.458347 0.445093 0.39776 0.37504 0.3864 0.401547 0.407227 +0.38072 0.395867 0.428053 0.405333 0.367467 0.354213 0.348533 0.327707 +0.308773 0.308773 0.316347 0.331493 0.373147 0.44888 0.492427 0.500632 +0.522737 0.512 0.435627 0.39776 0.373147 0.344747 0.348533 0.354213 +0.361787 0.399653 0.4148 0.384507 0.361787 0.365573 0.376933 0.407227 +0.525263 0.670526 0.848632 0.936421 0.919368 0.840421 0.726105 0.590947 +0.492427 0.405333 0.412907 0.424267 0.390187 0.367467 0.371253 0.376933 +0.416693 0.514526 0.548632 0.522737 0.512 0.585263 0.659158 0.632 +0.543579 0.467813 0.418587 0.405333 0.411013 0.401547 0.378827 0.38072 +0.405333 0.46592 0.509474 0.504421 0.44888 0.46592 0.511368 0.503158 +0.469707 0.445093 0.450773 0.513263 0.511368 0.439413 0.395867 0.382613 +0.384507 0.371253 0.382613 0.40912 0.40912 0.395867 0.401547 0.422373 +0.399653 0.39208 0.416693 0.401547 0.39776 0.452667 0.564421 0.751368 +0.893474 0.925684 0.937684 0.956632 0.967368 0.980327 0.991429 1.01461 +1.04204 1.05608 1.07826 1.10565 1.12847 1.1163 1.11782 1.14217 +1.1589 1.10717 1.05771 1.05478 1.04955 1.04433 1.03878 1.03682 +1.0391 1.03747 1.03518 1.03388 1.03257 1.0342 1.03388 1.03257 +1.03159 1.03159 1.02735 1.03029 1.03388 1.03616 1.03878 1.03812 +1.03649 1.03682 1.04073 1.04465 1.04563 1.04596 1.05151 1.05706 +1.07369 1.09195 1.07978 1.0813 1.07978 1.05967 1.04759 1.02898 +1.01657 1.01233 1.00906 1.00645 0.995347 0.971158 0.945263 0.942105 +0.937684 0.928842 0.854947 0.682526 0.554316 0.515789 0.479173 0.44888 +0.4716 0.462133 0.424267 0.42048 0.411013 0.40912 0.4148 0.439413 +0.439413 0.407227 0.399653 0.399653 0.416693 0.433733 0.43752 0.441307 +0.446987 0.446987 0.446987 0.411013 0.367467 0.367467 0.384507 0.373147 +0.350427 0.359893 0.356107 0.371253 0.36936 0.361787 0.45456 0.597263 +0.697684 0.632632 0.503158 0.376933 0.359893 0.337173 0.327707 0.327707 +0.40344 0.514526 0.528421 0.496213 0.416693 0.3864 0.359893 0.34096 +0.34664 0.35232 0.350427 0.373147 0.429947 0.503158 0.532842 0.542947 +0.501895 0.384507 0.337173 0.342853 0.348533 0.327707 0.316347 0.333387 +0.376933 0.439413 0.475387 0.513895 0.544842 0.551789 0.537263 0.519579 +0.514526 0.508842 0.4716 0.395867 0.350427 0.350427 0.361787 0.356107 +0.333387 0.322027 0.331493 0.34096 0.348533 0.35232 0.358 0.35232 +0.34664 0.348533 0.356107 0.39776 0.46592 0.518316 0.529684 0.509474 +0.452667 0.441307 0.452667 0.450773 0.47728 0.519579 0.601684 0.767789 +0.981306 1.17869 1.36432 1.22738 1.06456 1.06152 1.13152 1.18477 +1.18173 1.05935 1.01592 0.991429 0.992735 1.00188 1.00514 1.00351 +1.00514 1.00808 1.00841 1.00612 1.00776 1.00939 1.00873 1.0071 +0.999918 0.987184 0.973053 0.968632 0.966105 0.956632 0.949684 0.950316 +0.949053 0.945895 0.952842 0.978105 0.995673 0.999592 0.972421 0.832211 +0.626947 0.45456 0.348533 0.361787 0.358 0.322027 0.26712 0.000973333 +0.000833333 0.00078 0.000786667 0.000786667 0.000813333 0.00082 0.000793333 0.00076 +0.00074 0.000746667 0.000726667 0.000733333 0.00074 0.00072 0.000746667 0.000773333 +0.000746667 0.00072 0.000733333 0.000726667 0.000693333 0.000706667 0.00074 0.000733333 +0.000746667 0.00076 0.00072 0.000733333 0.000733333 0.00072 0.000706667 0.0007 +0.000706667 0.000706667 0.000726667 0.000726667 0.0007 0.000673333 0.000666667 0.000693333 +0.00072 0.0007 0.0007 0.000733333 0.000726667 0.000726667 0.00074 0.000713333 +0.000713333 0.00072 0.000686667 0.0007 0.000733333 0.000733333 0.00074 0.000726667 +0.000686667 0.000713333 0.0007 0.00068 0.000693333 0.000713333 0.000706667 0.0007 +0.000686667 0.000666667 0.000706667 0.00072 0.000733333 0.00072 0.000686667 0.000693333 +0.000726667 0.000746667 0.000733333 0.00072 0.00072 0.00074 0.00074 0.000686667 +0.00068 0.000686667 0.000713333 0.00066 0.000626667 0.000693333 0.000733333 0.00072 +0.000706667 0.000753333 0.000786667 0.000726667 0.000713333 0.000733333 0.000746667 0.00074 +0.000686667 0.000733333 0.00078 0.00076 0.000726667 0.000746667 0.000806667 0.000806667 +0.000753333 0.000733333 0.000786667 0.00082 0.000806667 0.000773333 0.000806667 0.000846667 +0.000833333 0.000893333 0.25008 0.348533 0.395867 0.458347 0.560632 0.712842 +0.887158 0.986857 0.99698 0.98751 0.966105 0.958526 0.960421 0.957263 +0.957895 0.969895 0.982612 0.993388 1.00155 1.00547 1.00776 1.00873 +1.00939 1.00873 1.00873 1.01004 1.01298 1.01233 1.01037 1.01135 +1.01004 1.00873 1.00808 1.00482 1.00939 1.04596 1.30498 1.46323 +1.31867 1.12391 1.05771 1.0813 1.1726 1.21977 1.08739 0.989143 +0.789895 0.617474 0.522737 0.439413 0.411013 0.433733 0.452667 0.45456 +0.428053 0.388293 0.36936 0.365573 0.384507 0.422373 0.416693 0.359893 +0.34096 0.354213 0.378827 0.395867 0.376933 0.35232 0.34664 0.361787 +0.40912 0.433733 0.412907 0.399653 0.384507 0.371253 0.378827 0.390187 +0.376933 0.395867 0.424267 0.39776 0.36936 0.342853 0.339067 0.34096 +0.331493 0.3296 0.3296 0.322027 0.342853 0.39208 0.462133 0.519579 +0.549263 0.526526 0.433733 0.373147 0.361787 0.358 0.358 0.361787 +0.373147 0.4148 0.424267 0.3864 0.359893 0.367467 0.395867 0.47728 +0.578947 0.740632 0.901053 0.957895 0.908 0.782947 0.628842 0.512632 +0.407227 0.3864 0.393973 0.401547 0.382613 0.36368 0.367467 0.367467 +0.407227 0.505684 0.523368 0.46024 0.42616 0.544211 0.628211 0.633895 +0.561895 0.48296 0.40912 0.401547 0.412907 0.411013 0.411013 0.43184 +0.4432 0.46024 0.490533 0.492427 0.501263 0.510105 0.5 0.441307 +0.428053 0.42048 0.42616 0.501263 0.507579 0.44888 0.395867 0.376933 +0.371253 0.359893 0.378827 0.4148 0.416693 0.39776 0.399653 0.416693 +0.412907 0.435627 0.441307 0.40912 0.39776 0.464027 0.567579 0.750105 +0.899158 0.932632 0.947158 0.962947 0.973684 0.977474 0.982939 1.00253 +1.03192 1.05118 1.06456 1.09043 1.12543 1.13152 1.12847 1.13152 +1.16803 1.13608 1.07217 1.06609 1.05902 1.05216 1.04269 1.04106 +1.04367 1.04433 1.03943 1.03453 1.03257 1.03682 1.03714 1.0329 +1.03257 1.03486 1.03192 1.03322 1.03453 1.03682 1.03747 1.03682 +1.03845 1.04106 1.04563 1.05151 1.05086 1.05249 1.05935 1.07522 +1.08739 1.09804 1.08587 1.06761 1.05804 1.05216 1.03812 1.02147 +1.01461 1.01886 1.02637 1.03453 1.02637 1.00057 0.969895 0.954105 +0.940842 0.930737 0.867579 0.698947 0.564421 0.527789 0.509474 0.4716 +0.47728 0.469707 0.42048 0.4148 0.412907 0.43184 0.45456 0.464027 +0.44888 0.407227 0.395867 0.399653 0.416693 0.450773 0.467813 0.464027 +0.48864 0.519579 0.522737 0.46024 0.373147 0.371253 0.371253 0.358 +0.354213 0.35232 0.359893 0.348533 0.33528 0.354213 0.4148 0.532211 +0.605474 0.587789 0.498107 0.358 0.34664 0.34664 0.34096 0.339067 +0.388293 0.492427 0.519579 0.492427 0.393973 0.365573 0.348533 0.33528 +0.350427 0.371253 0.382613 0.422373 0.500632 0.517053 0.532842 0.537263 +0.490533 0.38072 0.354213 0.354213 0.361787 0.337173 0.314453 0.327707 +0.378827 0.446987 0.469707 0.445093 0.496213 0.537895 0.570737 0.576421 +0.560632 0.532211 0.490533 0.378827 0.33528 0.350427 0.36368 0.344747 +0.320133 0.325813 0.34096 0.344747 0.34664 0.36368 0.376933 0.378827 +0.361787 0.34664 0.344747 0.365573 0.4148 0.503158 0.521474 0.505684 +0.446987 0.43184 0.43752 0.452667 0.500632 0.561895 0.707158 0.907368 +1.05706 1.38562 1.30194 1.095 1.05282 1.08587 1.20151 1.26694 +1.21825 1.05347 1.00873 0.99502 0.999265 1.00482 1.00612 1.0058 +1.00612 1.00776 1.00776 1.0071 1.01004 1.01004 1.0071 1.0022 +0.990776 0.977474 0.969263 0.967368 0.960421 0.950947 0.950316 0.951579 +0.947789 0.954105 0.974316 0.990449 1.00024 0.988163 0.884 0.695158 +0.525895 0.378827 0.36936 0.361787 0.3296 0.282267 0.223573 0.00088 +0.000793333 0.000786667 0.000806667 0.000786667 0.00078 0.000786667 0.0008 0.000773333 +0.00074 0.000753333 0.000746667 0.000746667 0.00076 0.000726667 0.000733333 0.000753333 +0.00074 0.000733333 0.00074 0.00074 0.00072 0.000726667 0.000733333 0.000706667 +0.0007 0.000733333 0.000733333 0.000733333 0.000726667 0.00072 0.00072 0.0007 +0.000693333 0.000706667 0.000713333 0.000726667 0.00072 0.000713333 0.000686667 0.0007 +0.000753333 0.000753333 0.000726667 0.0007 0.000746667 0.000746667 0.000746667 0.00072 +0.000726667 0.000713333 0.000686667 0.000713333 0.000746667 0.000753333 0.000746667 0.000753333 +0.00074 0.000726667 0.000726667 0.00072 0.00076 0.000746667 0.000733333 0.0007 +0.000686667 0.000706667 0.000746667 0.000753333 0.000746667 0.00072 0.000706667 0.000733333 +0.000746667 0.00074 0.000706667 0.00072 0.00074 0.000773333 0.000746667 0.000686667 +0.0007 0.00072 0.000726667 0.00068 0.000666667 0.000693333 0.000693333 0.000693333 +0.00074 0.000766667 0.00072 0.00068 0.00072 0.00072 0.000693333 0.000686667 +0.000673333 0.00072 0.000726667 0.000706667 0.00074 0.000773333 0.00078 0.000753333 +0.00074 0.000753333 0.000773333 0.00076 0.00076 0.000786667 0.000853333 0.00084 +0.000786667 0.000806667 0.000953333 0.27848 0.348533 0.388293 0.45456 0.566947 +0.726105 0.895368 0.985878 0.99502 0.985551 0.974947 0.967368 0.957895 +0.950947 0.957895 0.969263 0.984245 0.994041 1.00057 1.00547 1.00873 +1.01069 1.01069 1.01135 1.01298 1.01461 1.01102 1.00678 1.00971 +1.01331 1.01298 1.01331 1.01069 1.00743 1.01755 1.08435 1.36736 +1.39171 1.2076 1.07826 1.05641 1.09043 1.17412 1.18021 1.03976 +0.909263 0.707158 0.568842 0.502526 0.4432 0.43752 0.446987 0.445093 +0.424267 0.395867 0.37504 0.361787 0.388293 0.43184 0.416693 0.350427 +0.331493 0.342853 0.393973 0.424267 0.39208 0.36368 0.354213 0.37504 +0.416693 0.428053 0.39208 0.382613 0.373147 0.361787 0.361787 0.371253 +0.38072 0.395867 0.38072 0.358 0.361787 0.34664 0.337173 0.350427 +0.350427 0.337173 0.3296 0.327707 0.34664 0.367467 0.405333 0.515158 +0.563789 0.533474 0.429947 0.388293 0.388293 0.37504 0.359893 0.359893 +0.367467 0.382613 0.401547 0.407227 0.395867 0.40344 0.458347 0.542316 +0.647158 0.781684 0.894105 0.916842 0.838526 0.688842 0.542316 0.411013 +0.371253 0.361787 0.376933 0.373147 0.36368 0.358 0.361787 0.367467 +0.42616 0.506947 0.503789 0.42616 0.395867 0.506947 0.582105 0.615579 +0.575158 0.506316 0.42048 0.412907 0.412907 0.405333 0.42616 0.46024 +0.446987 0.4148 0.390187 0.407227 0.481067 0.503158 0.43752 0.407227 +0.401547 0.395867 0.424267 0.492427 0.502526 0.44888 0.411013 0.37504 +0.35232 0.359893 0.38072 0.393973 0.4148 0.424267 0.42048 0.4148 +0.422373 0.45456 0.452667 0.418587 0.416693 0.492427 0.570737 0.752632 +0.906105 0.950316 0.974316 0.986857 0.994367 0.991102 0.986857 1.00122 +1.01918 1.03812 1.05314 1.06456 1.10413 1.13456 1.13912 1.12695 +1.16499 1.15282 1.10108 1.07522 1.06 1.05412 1.04824 1.04857 +1.04922 1.04922 1.04563 1.04073 1.03747 1.04106 1.04204 1.03747 +1.03878 1.04106 1.03747 1.03649 1.03584 1.03649 1.03682 1.03682 +1.04073 1.0489 1.05445 1.0551 1.0538 1.05902 1.08739 1.095 +1.09956 1.1026 1.07674 1.05837 1.04988 1.04139 1.02963 1.01886 +1.01984 1.04106 1.09956 1.14521 1.10108 1.04433 1.00416 0.973053 +0.944632 0.928842 0.882105 0.736211 0.594737 0.536 0.523368 0.508842 +0.500632 0.481067 0.424267 0.412907 0.428053 0.47728 0.501263 0.503789 +0.467813 0.40344 0.384507 0.405333 0.42616 0.4432 0.43184 0.412907 +0.441307 0.508842 0.513263 0.46024 0.407227 0.39208 0.365573 0.356107 +0.354213 0.354213 0.35232 0.339067 0.342853 0.365573 0.390187 0.479173 +0.539158 0.551158 0.503158 0.371253 0.34096 0.344747 0.34664 0.361787 +0.407227 0.462133 0.507579 0.503158 0.418587 0.371253 0.354213 0.354213 +0.376933 0.399653 0.411013 0.44888 0.48864 0.45456 0.456453 0.506316 +0.48864 0.405333 0.361787 0.342853 0.350427 0.348533 0.316347 0.31824 +0.382613 0.469707 0.496213 0.416693 0.3864 0.492427 0.548632 0.578947 +0.560632 0.515789 0.433733 0.358 0.3296 0.34096 0.34096 0.325813 +0.320133 0.339067 0.350427 0.34664 0.348533 0.38072 0.40344 0.3864 +0.365573 0.356107 0.356107 0.367467 0.388293 0.450773 0.500632 0.484853 +0.450773 0.4432 0.445093 0.4716 0.525263 0.640211 0.834737 1.01722 +1.33389 1.42519 1.1726 1.05216 1.05935 1.16347 1.29128 1.33389 +1.19847 1.03714 1.00286 1.0009 1.00547 1.00612 1.0071 1.00906 +1.00841 1.00906 1.01004 1.00906 1.00971 1.00776 1.00253 0.994367 +0.982286 0.970526 0.971158 0.965474 0.956 0.950947 0.952211 0.947789 +0.949684 0.968 0.987837 0.998612 0.993714 0.923158 0.745053 0.557474 +0.388293 0.365573 0.382613 0.339067 0.29552 0.2444 0.000913333 0.00082 +0.000813333 0.00082 0.00082 0.000793333 0.000766667 0.000746667 0.00076 0.000773333 +0.000746667 0.00074 0.000733333 0.000726667 0.000753333 0.00072 0.000726667 0.00074 +0.000746667 0.000753333 0.000753333 0.00074 0.000726667 0.00072 0.000726667 0.000713333 +0.000706667 0.000713333 0.00072 0.000726667 0.000726667 0.000726667 0.000733333 0.000726667 +0.000693333 0.000706667 0.00072 0.00072 0.00074 0.000753333 0.00072 0.0007 +0.000713333 0.00072 0.000706667 0.000693333 0.000733333 0.00072 0.0007 0.0007 +0.000706667 0.000706667 0.0007 0.000713333 0.000733333 0.000733333 0.00072 0.0007 +0.000706667 0.000726667 0.000726667 0.000726667 0.00074 0.000733333 0.000726667 0.000686667 +0.00068 0.000706667 0.000713333 0.000733333 0.00074 0.000706667 0.0007 0.000746667 +0.00074 0.000733333 0.0007 0.00074 0.000773333 0.000753333 0.000706667 0.0007 +0.000706667 0.000713333 0.00074 0.00074 0.000726667 0.000713333 0.000706667 0.00074 +0.000753333 0.000746667 0.00074 0.000753333 0.00074 0.000673333 0.00068 0.00072 +0.000733333 0.000733333 0.000733333 0.00078 0.000793333 0.000746667 0.000733333 0.000766667 +0.000773333 0.000746667 0.000746667 0.000773333 0.0008 0.00082 0.00082 0.000786667 +0.00078 0.00084 0.000873333 0.000953333 0.27848 0.361787 0.399653 0.475387 +0.573263 0.728 0.899158 0.988816 0.994694 0.986857 0.977474 0.960421 +0.952842 0.956 0.959158 0.967368 0.98098 0.991102 0.998939 1.0058 +1.01102 1.01233 1.01167 1.01135 1.01037 1.00776 1.0058 1.01167 +1.01722 1.01559 1.01461 1.01396 1.00939 1.00482 1.028 1.20607 +1.42366 1.34454 1.14521 1.0538 1.04955 1.07978 1.16651 1.10565 +1.00122 0.825895 0.653474 0.548 0.5 0.464027 0.462133 0.445093 +0.416693 0.395867 0.39208 0.390187 0.418587 0.456453 0.4432 0.390187 +0.373147 0.376933 0.412907 0.428053 0.401547 0.3864 0.38072 0.38072 +0.405333 0.412907 0.3864 0.39208 0.401547 0.382613 0.358 0.36368 +0.39776 0.429947 0.393973 0.356107 0.356107 0.348533 0.3296 0.358 +0.390187 0.36936 0.331493 0.331493 0.350427 0.348533 0.36368 0.490533 +0.556842 0.541684 0.46592 0.40344 0.388293 0.384507 0.367467 0.350427 +0.35232 0.350427 0.358 0.393973 0.424267 0.467813 0.534737 0.617474 +0.708421 0.789263 0.847368 0.835368 0.733053 0.590947 0.47728 0.37504 +0.356107 0.356107 0.365573 0.359893 0.359893 0.382613 0.395867 0.40344 +0.4716 0.507579 0.4716 0.411013 0.388293 0.450773 0.543579 0.596 +0.587158 0.529684 0.44888 0.416693 0.4148 0.405333 0.43184 0.458347 +0.4148 0.36936 0.361787 0.393973 0.469707 0.490533 0.4148 0.382613 +0.373147 0.371253 0.42616 0.492427 0.4716 0.418587 0.4148 0.382613 +0.358 0.382613 0.373147 0.354213 0.384507 0.4148 0.4148 0.405333 +0.40344 0.412907 0.411013 0.40912 0.439413 0.501895 0.578947 0.770316 +0.933263 0.997633 1.01951 1.02506 1.0391 1.04106 1.0169 1.00645 +1.01331 1.0329 1.0489 1.05869 1.09195 1.12695 1.14521 1.14065 +1.14825 1.14369 1.1376 1.10717 1.07065 1.05706 1.0551 1.05216 +1.05314 1.05184 1.04955 1.04857 1.04498 1.04563 1.04727 1.04596 +1.04727 1.04824 1.04367 1.04139 1.04171 1.04237 1.04335 1.044 +1.04955 1.05739 1.05771 1.05478 1.05837 1.07522 1.09348 1.09804 +1.10413 1.10108 1.06152 1.05445 1.04465 1.0329 1.02441 1.01918 +1.03029 1.1163 1.23803 1.18629 1.12695 1.08435 1.03584 0.995673 +0.956 0.930105 0.898526 0.782316 0.627579 0.539158 0.521474 0.517684 +0.513263 0.508211 0.467813 0.469707 0.511368 0.542947 0.557474 0.550526 +0.517684 0.43752 0.399653 0.40344 0.40912 0.407227 0.390187 0.393973 +0.42048 0.44888 0.439413 0.40344 0.405333 0.407227 0.36368 0.348533 +0.34664 0.348533 0.359893 0.354213 0.371253 0.388293 0.390187 0.43752 +0.506947 0.524632 0.505684 0.401547 0.344747 0.33528 0.356107 0.388293 +0.407227 0.411013 0.45456 0.505684 0.492427 0.43184 0.390187 0.37504 +0.39208 0.4148 0.407227 0.405333 0.40344 0.354213 0.36936 0.481067 +0.511368 0.45456 0.376933 0.348533 0.358 0.371253 0.33528 0.316347 +0.3864 0.484853 0.500632 0.418587 0.359893 0.395867 0.501263 0.547368 +0.56 0.523368 0.433733 0.36936 0.350427 0.342853 0.339067 0.337173 +0.34664 0.350427 0.344747 0.342853 0.36936 0.407227 0.411013 0.373147 +0.356107 0.359893 0.36936 0.38072 0.378827 0.40912 0.46024 0.47728 +0.475387 0.467813 0.475387 0.506947 0.580842 0.751368 0.971789 1.19238 +1.47996 1.32324 1.06761 1.05086 1.09956 1.24564 1.38106 1.35824 +1.12239 1.02049 1.00351 1.00678 1.00776 1.0058 1.0071 1.00971 +1.00971 1.01004 1.00841 1.00873 1.00841 1.00514 0.99698 0.985224 +0.973684 0.968 0.962316 0.956632 0.953474 0.952211 0.951579 0.948421 +0.963579 0.985878 0.997633 0.999918 0.959789 0.800632 0.59979 0.424267 +0.342853 0.36368 0.35232 0.304987 0.263333 0.219787 0.000873333 0.000773333 +0.00076 0.00076 0.00076 0.000746667 0.00074 0.000753333 0.000753333 0.00076 +0.00078 0.000773333 0.00076 0.000753333 0.000786667 0.00076 0.000746667 0.00074 +0.00074 0.000753333 0.00076 0.00074 0.000726667 0.000726667 0.000733333 0.000726667 +0.000713333 0.000713333 0.00072 0.000733333 0.000733333 0.000713333 0.000713333 0.000726667 +0.0007 0.000726667 0.000746667 0.000733333 0.00074 0.000753333 0.000733333 0.000733333 +0.000733333 0.000726667 0.000733333 0.000733333 0.000726667 0.0007 0.000706667 0.00074 +0.000713333 0.000706667 0.0007 0.000713333 0.000746667 0.000746667 0.0007 0.000693333 +0.000726667 0.00074 0.000733333 0.000713333 0.000713333 0.000733333 0.000706667 0.00068 +0.00068 0.000713333 0.000726667 0.00072 0.000713333 0.000686667 0.000706667 0.000746667 +0.000733333 0.000733333 0.00072 0.000766667 0.000766667 0.000693333 0.00068 0.000713333 +0.00068 0.00068 0.000733333 0.000746667 0.000726667 0.00072 0.00076 0.000766667 +0.000713333 0.00072 0.00076 0.000746667 0.000673333 0.00066 0.000713333 0.00074 +0.000726667 0.00074 0.000793333 0.00082 0.000773333 0.00074 0.000773333 0.000773333 +0.00074 0.000726667 0.000766667 0.000806667 0.000813333 0.000813333 0.000813333 0.00082 +0.00082 0.000806667 0.000806667 0.000846667 0.225467 0.322027 0.38072 0.399653 +0.469707 0.574526 0.742526 0.914947 0.989143 0.995347 0.989796 0.978105 +0.959158 0.955368 0.953474 0.952842 0.962316 0.981633 0.991429 1.00122 +1.00971 1.01069 1.00939 1.00873 1.00841 1.00939 1.0071 1.00971 +1.01298 1.01167 1.01037 1.01102 1.00939 1.00482 1.01135 1.05184 +1.32628 1.43584 1.2639 1.06456 1.04073 1.04759 1.10869 1.14977 +1.04335 0.944 0.762737 0.618737 0.533474 0.492427 0.450773 0.428053 +0.40344 0.382613 0.39208 0.4148 0.456453 0.505053 0.507579 0.462133 +0.412907 0.405333 0.43184 0.4432 0.40344 0.378827 0.371253 0.367467 +0.384507 0.3864 0.36936 0.37504 0.3864 0.38072 0.36936 0.376933 +0.4148 0.4432 0.40344 0.354213 0.361787 0.36368 0.348533 0.359893 +0.401547 0.38072 0.331493 0.337173 0.35232 0.356107 0.373147 0.439413 +0.528421 0.540421 0.492427 0.393973 0.384507 0.401547 0.399653 0.371253 +0.34664 0.337173 0.342853 0.40344 0.507579 0.557474 0.618737 0.688842 +0.741263 0.774105 0.789895 0.741895 0.620632 0.509474 0.384507 0.350427 +0.339067 0.35232 0.358 0.354213 0.365573 0.395867 0.405333 0.43184 +0.503158 0.498107 0.429947 0.376933 0.37504 0.43752 0.517684 0.573263 +0.582737 0.537895 0.456453 0.39776 0.405333 0.428053 0.446987 0.43184 +0.378827 0.354213 0.365573 0.39776 0.469707 0.475387 0.378827 0.34664 +0.361787 0.382613 0.433733 0.492427 0.467813 0.407227 0.393973 0.384507 +0.371253 0.3864 0.373147 0.359893 0.373147 0.3864 0.390187 0.390187 +0.393973 0.39208 0.399653 0.4432 0.479173 0.512 0.608 0.812 +0.986857 1.04824 1.095 1.05706 1.14977 1.26085 1.13304 1.03747 +1.02506 1.0342 1.04335 1.0551 1.08282 1.11478 1.1376 1.14065 +1.12999 1.11782 1.12239 1.10869 1.0813 1.06 1.05641 1.05086 +1.05673 1.05706 1.05576 1.05673 1.05673 1.05478 1.05249 1.04988 +1.0502 1.05282 1.05249 1.05053 1.0502 1.05086 1.0538 1.0551 +1.06 1.08282 1.07065 1.07065 1.08739 1.0813 1.07978 1.08739 +1.09348 1.09804 1.05706 1.04498 1.03388 1.02441 1.02212 1.02147 +1.04922 1.26846 1.2715 1.10869 1.06609 1.06456 1.04563 1.00841 +0.969895 0.938316 0.911789 0.818316 0.656632 0.544211 0.507579 0.500632 +0.504421 0.518316 0.527789 0.551789 0.581474 0.601684 0.599158 0.588421 +0.545474 0.4716 0.399653 0.388293 0.39208 0.399653 0.39776 0.401547 +0.399653 0.411013 0.39776 0.36936 0.39208 0.388293 0.354213 0.34664 +0.344747 0.373147 0.399653 0.395867 0.405333 0.412907 0.3864 0.393973 +0.464027 0.501895 0.496213 0.435627 0.37504 0.361787 0.378827 0.390187 +0.37504 0.367467 0.40344 0.498107 0.511368 0.464027 0.395867 0.36936 +0.373147 0.384507 0.373147 0.36936 0.36936 0.350427 0.36368 0.473493 +0.524632 0.506316 0.416693 0.376933 0.38072 0.401547 0.384507 0.350427 +0.39208 0.500632 0.506316 0.433733 0.36936 0.358 0.39208 0.505684 +0.552421 0.555579 0.513263 0.422373 0.367467 0.34096 0.337173 0.348533 +0.350427 0.339067 0.33528 0.358 0.4148 0.429947 0.399653 0.371253 +0.354213 0.354213 0.36368 0.36368 0.36368 0.378827 0.429947 0.46592 +0.47728 0.481067 0.504421 0.550526 0.679368 0.885263 1.04922 1.42823 +1.43432 1.15434 1.04792 1.05478 1.15738 1.34911 1.47236 1.32932 +1.05249 1.01233 1.00841 1.01004 1.00776 1.00612 1.00743 1.00841 +1.00841 1.00808 1.00612 1.00873 1.00808 1.00024 0.98751 0.977474 +0.974316 0.968 0.954105 0.951579 0.956 0.953474 0.949053 0.954737 +0.981306 0.996653 1.0009 0.982612 0.858105 0.657895 0.502526 0.35232 +0.350427 0.350427 0.327707 0.280373 0.236827 0.00094 0.000833333 0.000773333 +0.00074 0.00074 0.00076 0.00076 0.000773333 0.000786667 0.000773333 0.00074 +0.000766667 0.000786667 0.00078 0.000746667 0.000753333 0.00076 0.00074 0.00072 +0.000706667 0.00072 0.000733333 0.00074 0.000726667 0.0007 0.00072 0.000726667 +0.000713333 0.000713333 0.000726667 0.00074 0.00074 0.00072 0.000726667 0.000746667 +0.000726667 0.00076 0.00078 0.000753333 0.000746667 0.00076 0.000753333 0.00076 +0.00076 0.00074 0.00074 0.00074 0.00072 0.000726667 0.00074 0.00074 +0.000713333 0.000706667 0.000706667 0.000713333 0.000733333 0.000726667 0.00068 0.00072 +0.000753333 0.000733333 0.000726667 0.000726667 0.000726667 0.000726667 0.000693333 0.000693333 +0.000713333 0.00074 0.000753333 0.00072 0.0007 0.00072 0.000753333 0.000746667 +0.000713333 0.000733333 0.000733333 0.000733333 0.00072 0.000686667 0.00072 0.00072 +0.00066 0.000693333 0.000733333 0.000706667 0.000706667 0.00074 0.00076 0.00074 +0.000726667 0.000766667 0.00076 0.000686667 0.000653333 0.000693333 0.000746667 0.000706667 +0.000706667 0.000766667 0.00078 0.000746667 0.00072 0.000746667 0.000766667 0.00072 +0.0007 0.000706667 0.00074 0.00074 0.000726667 0.000793333 0.000866667 0.00086 +0.000786667 0.000733333 0.000773333 0.000833333 0.000893333 0.236827 0.314453 0.382613 +0.40912 0.48296 0.582105 0.750105 0.917474 0.993061 0.999918 0.989469 +0.968632 0.952842 0.952211 0.954105 0.959789 0.973684 0.984245 0.992408 +1.0022 1.00645 1.00808 1.01069 1.01135 1.01135 1.0071 1.0071 +1.01069 1.012 1.00939 1.00939 1.01233 1.01265 1.01037 1.02343 +1.12086 1.37497 1.38106 1.17564 1.05086 1.04824 1.07674 1.14065 +1.07978 1.00971 0.873263 0.708421 0.584632 0.515789 0.462133 0.429947 +0.418587 0.411013 0.42616 0.450773 0.500632 0.532211 0.546737 0.525895 +0.48864 0.439413 0.43752 0.433733 0.388293 0.356107 0.34096 0.339067 +0.348533 0.350427 0.350427 0.350427 0.365573 0.373147 0.36368 0.367467 +0.388293 0.4148 0.390187 0.358 0.35232 0.342853 0.3296 0.34096 +0.373147 0.384507 0.367467 0.350427 0.34096 0.34664 0.354213 0.382613 +0.501263 0.538526 0.513895 0.42048 0.393973 0.418587 0.422373 0.393973 +0.388293 0.418587 0.46592 0.524 0.580842 0.634526 0.676842 0.715368 +0.736211 0.746316 0.732421 0.650316 0.529684 0.390187 0.348533 0.339067 +0.34096 0.342853 0.339067 0.348533 0.358 0.371253 0.37504 0.450773 +0.518947 0.501263 0.42616 0.37504 0.373147 0.418587 0.484853 0.547368 +0.570105 0.535368 0.452667 0.390187 0.405333 0.456453 0.464027 0.412907 +0.359893 0.350427 0.36368 0.390187 0.48864 0.46592 0.35232 0.327707 +0.36368 0.39208 0.42048 0.484853 0.484853 0.416693 0.38072 0.37504 +0.361787 0.359893 0.356107 0.367467 0.373147 0.382613 0.39208 0.393973 +0.390187 0.393973 0.43184 0.496213 0.509474 0.538526 0.649684 0.853053 +1.00743 1.09043 1.12543 1.05543 1.1026 1.22586 1.23803 1.12695 +1.04531 1.0329 1.03845 1.05184 1.05902 1.08587 1.12239 1.13304 +1.12086 1.10869 1.10717 1.10565 1.07978 1.05837 1.0538 1.0538 +1.05902 1.05967 1.07217 1.07674 1.07978 1.07522 1.05869 1.05314 +1.05184 1.05706 1.07674 1.07217 1.05837 1.06456 1.08891 1.08587 +1.09804 1.10869 1.09804 1.09195 1.09652 1.0813 1.07522 1.08587 +1.08282 1.09195 1.05118 1.03094 1.02441 1.02049 1.01918 1.02245 +1.07522 1.32476 1.23803 1.05771 1.04988 1.05543 1.05053 1.01951 +0.983592 0.942737 0.918737 0.856211 0.707789 0.573895 0.517053 0.486747 +0.475387 0.505684 0.537263 0.577053 0.585895 0.562526 0.541053 0.546105 +0.536 0.479173 0.412907 0.399653 0.40912 0.40344 0.382613 0.38072 +0.36936 0.37504 0.3864 0.38072 0.373147 0.361787 0.342853 0.342853 +0.367467 0.418587 0.464027 0.4432 0.42048 0.411013 0.38072 0.378827 +0.441307 0.4716 0.467813 0.446987 0.401547 0.3864 0.378827 0.371253 +0.367467 0.36936 0.3864 0.467813 0.507579 0.445093 0.37504 0.358 +0.348533 0.34664 0.356107 0.376933 0.382613 0.365573 0.367467 0.44888 +0.523368 0.517684 0.467813 0.411013 0.3864 0.401547 0.412907 0.405333 +0.462133 0.531579 0.533474 0.469707 0.37504 0.342853 0.34096 0.405333 +0.522737 0.568842 0.56 0.515789 0.435627 0.37504 0.358 0.359893 +0.350427 0.339067 0.342853 0.382613 0.428053 0.418587 0.390187 0.376933 +0.350427 0.35232 0.359893 0.36936 0.3864 0.39776 0.429947 0.46024 +0.473493 0.502526 0.540421 0.639579 0.813263 1.00743 1.29737 1.45714 +1.24564 1.05184 1.04465 1.09195 1.27607 1.48301 1.49518 1.2076 +1.02963 1.01037 1.01135 1.01037 1.00678 1.0071 1.00873 1.00906 +1.00971 1.01004 1.00971 1.00939 1.00253 0.990122 0.978737 0.971158 +0.970526 0.961684 0.949684 0.952842 0.958526 0.961053 0.966737 0.979368 +0.992408 1.00057 0.989143 0.896632 0.707158 0.533474 0.373147 0.34096 +0.34096 0.333387 0.30688 0.251973 0.000946667 0.000833333 0.000786667 0.000766667 +0.000746667 0.000726667 0.000746667 0.000753333 0.000746667 0.000753333 0.000753333 0.000753333 +0.000766667 0.000773333 0.000773333 0.000733333 0.000713333 0.000746667 0.00074 0.000713333 +0.0007 0.000726667 0.00074 0.000753333 0.000773333 0.000746667 0.00074 0.000746667 +0.000753333 0.00074 0.000746667 0.00076 0.000746667 0.000726667 0.000726667 0.000746667 +0.000726667 0.000733333 0.00076 0.000753333 0.000746667 0.000753333 0.00074 0.000753333 +0.00076 0.00076 0.000773333 0.00076 0.000746667 0.00076 0.000753333 0.000726667 +0.000706667 0.000726667 0.00074 0.000733333 0.00074 0.00074 0.000726667 0.00074 +0.000733333 0.000706667 0.000726667 0.00074 0.00072 0.000706667 0.00066 0.000686667 +0.000713333 0.000726667 0.000733333 0.000706667 0.000706667 0.00076 0.000753333 0.000693333 +0.000693333 0.00074 0.00074 0.00072 0.000713333 0.000733333 0.000733333 0.000686667 +0.000673333 0.000746667 0.000726667 0.000686667 0.00074 0.000746667 0.000706667 0.0007 +0.000753333 0.000786667 0.000746667 0.000713333 0.000713333 0.000733333 0.00072 0.000726667 +0.000773333 0.000786667 0.000766667 0.00072 0.000726667 0.00072 0.000686667 0.000693333 +0.000733333 0.00074 0.000726667 0.000693333 0.0007 0.00078 0.000773333 0.00074 +0.000733333 0.000766667 0.000806667 0.000806667 0.000793333 0.000853333 0.25008 0.348533 +0.382613 0.39208 0.46592 0.583368 0.760211 0.930737 0.994694 0.997306 +0.985224 0.966105 0.956632 0.958526 0.958526 0.961684 0.970526 0.980653 +0.990776 1.00122 1.00743 1.012 1.01167 1.00873 1.00547 1.0071 +1.01135 1.01363 1.01298 1.01167 1.01298 1.01363 1.012 1.01233 +1.03029 1.1589 1.35824 1.29433 1.12086 1.0551 1.05935 1.10869 +1.1026 1.04171 0.974947 0.815789 0.667368 0.558737 0.5 0.43752 +0.441307 0.45456 0.464027 0.479173 0.507579 0.535368 0.547368 0.537895 +0.520211 0.507579 0.503789 0.479173 0.399653 0.35232 0.344747 0.344747 +0.342853 0.348533 0.354213 0.348533 0.35232 0.361787 0.367467 0.37504 +0.382613 0.3864 0.371253 0.35232 0.342853 0.34096 0.344747 0.35232 +0.361787 0.40344 0.411013 0.361787 0.33528 0.34096 0.348533 0.365573 +0.462133 0.537263 0.537263 0.479173 0.42616 0.46592 0.48864 0.502526 +0.526526 0.551158 0.567579 0.601053 0.645263 0.676211 0.691368 0.704632 +0.709684 0.709053 0.672421 0.570105 0.422373 0.333387 0.337173 0.339067 +0.339067 0.331493 0.337173 0.359893 0.376933 0.36368 0.390187 0.503158 +0.525895 0.475387 0.399653 0.37504 0.37504 0.388293 0.435627 0.525895 +0.554947 0.535368 0.475387 0.393973 0.395867 0.428053 0.429947 0.401547 +0.38072 0.38072 0.390187 0.44888 0.513895 0.48296 0.356107 0.33528 +0.384507 0.411013 0.412907 0.48296 0.492427 0.424267 0.38072 0.371253 +0.36936 0.356107 0.356107 0.378827 0.384507 0.395867 0.411013 0.39208 +0.378827 0.393973 0.4432 0.492427 0.509474 0.558105 0.681895 0.869474 +1.00188 1.05282 1.07674 1.04629 1.04367 1.05249 1.11782 1.1513 +1.06 1.03714 1.03714 1.04596 1.04988 1.05869 1.11021 1.12999 +1.1376 1.12695 1.11782 1.10108 1.07826 1.06152 1.05902 1.07978 +1.07674 1.07978 1.1026 1.10413 1.10565 1.10717 1.095 1.07674 +1.07065 1.09956 1.13152 1.13152 1.10565 1.11478 1.13152 1.12999 +1.13912 1.12847 1.10717 1.09043 1.09043 1.08435 1.09195 1.10413 +1.07522 1.05869 1.03845 1.01592 1.01265 1.01461 1.01396 1.02147 +1.07674 1.2502 1.15282 1.05086 1.04204 1.04988 1.05412 1.02963 +0.993388 0.952211 0.926316 0.890316 0.779789 0.637684 0.554947 0.510105 +0.467813 0.467813 0.516421 0.544211 0.524632 0.475387 0.439413 0.469707 +0.501895 0.475387 0.4432 0.42616 0.428053 0.40912 0.371253 0.38072 +0.38072 0.367467 0.376933 0.388293 0.378827 0.37504 0.36368 0.359893 +0.39776 0.473493 0.48864 0.422373 0.388293 0.395867 0.37504 0.371253 +0.416693 0.428053 0.416693 0.42616 0.4148 0.395867 0.36368 0.354213 +0.373147 0.3864 0.399653 0.464027 0.510737 0.469707 0.390187 0.365573 +0.365573 0.37504 0.38072 0.39208 0.378827 0.359893 0.376933 0.464027 +0.507579 0.503789 0.492427 0.450773 0.3864 0.37504 0.395867 0.43184 +0.528421 0.598526 0.582737 0.507579 0.388293 0.348533 0.342853 0.36936 +0.473493 0.549263 0.579579 0.56 0.518947 0.475387 0.435627 0.412907 +0.405333 0.405333 0.40912 0.439413 0.456453 0.429947 0.411013 0.395867 +0.373147 0.376933 0.401547 0.4148 0.412907 0.416693 0.429947 0.446987 +0.473493 0.520842 0.604211 0.760211 0.964842 1.16195 1.44649 1.32324 +1.06761 1.03878 1.04988 1.19999 1.45866 1.58648 1.39171 1.05445 +1.01527 1.012 1.01102 1.00906 1.00678 1.00645 1.00873 1.00971 +1.01037 1.01069 1.00971 1.00514 0.992408 0.981633 0.973684 0.970526 +0.965474 0.958526 0.954105 0.956 0.959158 0.972421 0.985551 0.992082 +0.997959 0.992735 0.925053 0.752 0.563158 0.395867 0.3296 0.31824 +0.320133 0.303093 0.263333 0.216 0.000846667 0.000766667 0.000746667 0.00074 +0.000726667 0.000733333 0.000753333 0.000733333 0.000733333 0.000766667 0.000786667 0.000773333 +0.000766667 0.00076 0.00076 0.00074 0.00072 0.000733333 0.00072 0.000713333 +0.00072 0.00072 0.000733333 0.000733333 0.000746667 0.00076 0.000766667 0.00074 +0.000733333 0.00072 0.000733333 0.00074 0.000733333 0.00074 0.00074 0.000746667 +0.000746667 0.000726667 0.00074 0.00074 0.000746667 0.000766667 0.000766667 0.000773333 +0.000786667 0.0008 0.000806667 0.000793333 0.000766667 0.00076 0.000746667 0.00074 +0.000733333 0.000753333 0.000766667 0.000746667 0.000753333 0.000773333 0.000746667 0.000746667 +0.000746667 0.000746667 0.000753333 0.000753333 0.00072 0.0007 0.000686667 0.000726667 +0.00074 0.000713333 0.00072 0.000706667 0.000713333 0.000753333 0.000706667 0.00068 +0.000713333 0.000746667 0.000726667 0.00072 0.00076 0.00076 0.00068 0.000673333 +0.000726667 0.00076 0.000693333 0.000713333 0.000733333 0.000713333 0.000706667 0.000726667 +0.000766667 0.000746667 0.000726667 0.000746667 0.000733333 0.00072 0.000726667 0.000766667 +0.000766667 0.000733333 0.000746667 0.000733333 0.000713333 0.000686667 0.000693333 0.000746667 +0.00074 0.000706667 0.000726667 0.00074 0.000766667 0.00076 0.00072 0.000733333 +0.000766667 0.000766667 0.00076 0.000753333 0.00078 0.000846667 0.000946667 0.259547 +0.331493 0.38072 0.39208 0.462133 0.587158 0.770316 0.936421 0.995673 +0.997959 0.986531 0.966737 0.955368 0.950316 0.947789 0.952842 0.964211 +0.98 0.990776 0.998286 1.00645 1.00906 1.00841 1.00743 1.00743 +1.01004 1.01298 1.01527 1.01265 1.01167 1.01135 1.01102 1.01037 +1.01298 1.03747 1.17564 1.32019 1.23955 1.08739 1.05184 1.05543 +1.07522 1.05804 1.02049 0.92379 0.773474 0.640842 0.543579 0.481067 +0.43752 0.428053 0.43752 0.456453 0.481067 0.48296 0.473493 0.48864 +0.505684 0.517053 0.527789 0.520211 0.473493 0.399653 0.376933 0.36368 +0.342853 0.33528 0.356107 0.36368 0.354213 0.350427 0.359893 0.37504 +0.378827 0.376933 0.367467 0.356107 0.36368 0.365573 0.354213 0.337173 +0.348533 0.40912 0.445093 0.405333 0.36368 0.358 0.36368 0.384507 +0.467813 0.545474 0.575789 0.553053 0.536 0.542316 0.556211 0.580842 +0.613684 0.638947 0.642737 0.656 0.671789 0.666737 0.657263 0.656632 +0.656 0.645895 0.594105 0.505053 0.361787 0.339067 0.344747 0.34664 +0.333387 0.320133 0.342853 0.37504 0.393973 0.395867 0.43752 0.515789 +0.515789 0.43184 0.384507 0.37504 0.376933 0.376933 0.418587 0.510105 +0.532211 0.522105 0.48296 0.401547 0.388293 0.40344 0.39776 0.39208 +0.39208 0.378827 0.393973 0.479173 0.516421 0.490533 0.388293 0.376933 +0.40912 0.43752 0.456453 0.506947 0.505684 0.428053 0.36936 0.354213 +0.365573 0.359893 0.378827 0.42616 0.418587 0.418587 0.42616 0.40912 +0.401547 0.416693 0.445093 0.458347 0.501895 0.568211 0.705895 0.880842 +0.997633 1.0489 1.06609 1.04335 1.04041 1.04531 1.06761 1.13608 +1.10717 1.04955 1.03943 1.0391 1.04139 1.04955 1.06152 1.09956 +1.14065 1.13456 1.1163 1.08435 1.0813 1.07522 1.08282 1.10717 +1.10108 1.11021 1.12543 1.13608 1.16195 1.16956 1.1726 1.18477 +1.19086 1.21064 1.22586 1.2152 1.18477 1.17412 1.1726 1.16043 +1.15282 1.13152 1.11934 1.10108 1.10108 1.10413 1.10565 1.095 +1.05543 1.04335 1.02604 1.01167 1.01102 1.012 1.01069 1.02343 +1.08435 1.16651 1.06304 1.044 1.04008 1.04498 1.05053 1.03682 +1.00351 0.964842 0.934526 0.911789 0.840421 0.705895 0.59979 0.531579 +0.484853 0.458347 0.503789 0.514526 0.464027 0.412907 0.401547 0.4148 +0.450773 0.456453 0.428053 0.412907 0.428053 0.429947 0.39776 0.39208 +0.3864 0.371253 0.371253 0.3864 0.393973 0.416693 0.407227 0.378827 +0.422373 0.479173 0.441307 0.36368 0.356107 0.376933 0.373147 0.359893 +0.390187 0.405333 0.40344 0.412907 0.405333 0.3864 0.371253 0.361787 +0.367467 0.3864 0.39208 0.429947 0.507579 0.513263 0.475387 0.441307 +0.433733 0.416693 0.39208 0.376933 0.359893 0.356107 0.399653 0.481067 +0.462133 0.429947 0.458347 0.441307 0.378827 0.358 0.365573 0.405333 +0.541684 0.630105 0.594105 0.49432 0.36368 0.333387 0.339067 0.36368 +0.4148 0.519579 0.570105 0.570105 0.535368 0.514526 0.503789 0.48296 +0.47728 0.475387 0.475387 0.486747 0.492427 0.48296 0.456453 0.428053 +0.4148 0.433733 0.46592 0.467813 0.445093 0.439413 0.433733 0.450773 +0.503158 0.560632 0.693895 0.890316 1.04661 1.38715 1.38715 1.12543 +1.03714 1.03486 1.07217 1.35671 1.63517 1.57887 1.20912 1.02996 +1.01494 1.01363 1.01004 1.00873 1.00841 1.00743 1.00776 1.01004 +1.01004 1.01004 1.00645 0.99502 0.980653 0.971158 0.972421 0.971158 +0.964211 0.959158 0.958526 0.954105 0.957263 0.98098 0.994367 0.999592 +0.995673 0.944632 0.784211 0.591579 0.422373 0.33528 0.31824 0.303093 +0.30688 0.287947 0.240613 0.000933333 0.000826667 0.00078 0.000773333 0.000766667 +0.000766667 0.000766667 0.000753333 0.00072 0.00072 0.000726667 0.000766667 0.00076 +0.00074 0.00074 0.000746667 0.0007 0.000686667 0.000713333 0.000693333 0.000706667 +0.00074 0.000726667 0.000726667 0.000726667 0.000726667 0.000733333 0.000746667 0.00076 +0.00076 0.000733333 0.00072 0.00074 0.000746667 0.000766667 0.000766667 0.000766667 +0.00078 0.00076 0.000753333 0.000746667 0.00076 0.000773333 0.000753333 0.000753333 +0.000773333 0.0008 0.0008 0.000773333 0.000726667 0.000753333 0.000753333 0.000746667 +0.000726667 0.000726667 0.000733333 0.00074 0.000753333 0.000753333 0.000746667 0.000733333 +0.00074 0.00074 0.00074 0.00074 0.000706667 0.000706667 0.00072 0.000753333 +0.000746667 0.000733333 0.000746667 0.00074 0.000733333 0.00072 0.00068 0.000726667 +0.00076 0.000746667 0.00074 0.000753333 0.00078 0.00074 0.000686667 0.000726667 +0.000773333 0.000733333 0.000713333 0.000746667 0.000713333 0.000713333 0.00074 0.00074 +0.00074 0.00074 0.00074 0.00072 0.00072 0.000733333 0.00076 0.000753333 +0.00072 0.000746667 0.000766667 0.00072 0.0007 0.00074 0.000753333 0.00072 +0.000686667 0.000713333 0.000773333 0.00076 0.00076 0.00076 0.00078 0.0008 +0.00076 0.0007 0.00072 0.00078 0.000813333 0.0008 0.00078 0.000873333 +0.2728 0.376933 0.405333 0.376933 0.456453 0.600421 0.791789 0.953474 +0.999592 0.999265 0.982939 0.957895 0.945895 0.945895 0.949053 0.954737 +0.966737 0.98098 0.986531 0.99502 1.00384 1.01004 1.01102 1.01037 +1.01167 1.01102 1.01265 1.01298 1.01233 1.01069 1.012 1.01298 +1.01233 1.01592 1.04269 1.2076 1.30802 1.18934 1.05576 1.04563 +1.05151 1.05837 1.04531 0.997959 0.880211 0.736842 0.611158 0.527158 +0.462133 0.42616 0.416693 0.428053 0.441307 0.411013 0.378827 0.395867 +0.411013 0.446987 0.502526 0.520842 0.517684 0.496213 0.4432 0.39208 +0.358 0.358 0.376933 0.361787 0.333387 0.3296 0.35232 0.384507 +0.3864 0.378827 0.36936 0.35232 0.365573 0.378827 0.35232 0.344747 +0.361787 0.393973 0.441307 0.43752 0.40912 0.412907 0.43752 0.492427 +0.532211 0.578316 0.613053 0.617474 0.610526 0.609263 0.621263 0.640842 +0.655368 0.662316 0.662947 0.659158 0.636421 0.596632 0.577053 0.587789 +0.598526 0.584 0.530947 0.424267 0.367467 0.36936 0.373147 0.36936 +0.34096 0.327707 0.34096 0.356107 0.382613 0.390187 0.4432 0.510737 +0.5 0.418587 0.393973 0.3864 0.382613 0.378827 0.39208 0.456453 +0.505684 0.509474 0.498107 0.422373 0.3864 0.384507 0.390187 0.390187 +0.38072 0.36936 0.39208 0.44888 0.473493 0.446987 0.399653 0.390187 +0.390187 0.43184 0.48864 0.516421 0.512632 0.435627 0.359893 0.339067 +0.344747 0.350427 0.382613 0.418587 0.42048 0.40912 0.424267 0.441307 +0.458347 0.467813 0.446987 0.4432 0.506316 0.583368 0.733053 0.901053 +1.00253 1.05282 1.07217 1.05053 1.04922 1.04922 1.06609 1.12847 +1.13304 1.07978 1.04857 1.04041 1.03943 1.04204 1.04857 1.05967 +1.11173 1.11478 1.11173 1.09652 1.11021 1.10869 1.11478 1.12239 +1.12543 1.1376 1.15586 1.17716 1.21673 1.2289 1.21825 1.21368 +1.19847 1.1939 1.20151 1.21216 1.22129 1.22281 1.19086 1.16803 +1.15282 1.14369 1.14673 1.11478 1.09956 1.095 1.07065 1.05576 +1.04563 1.03486 1.02408 1.01886 1.01788 1.01363 1.00873 1.02376 +1.06609 1.08587 1.04824 1.04269 1.04139 1.04204 1.04629 1.04335 +1.01527 0.978105 0.940211 0.919368 0.875789 0.762737 0.641474 0.554316 +0.505684 0.464027 0.484853 0.496213 0.441307 0.429947 0.43184 0.42616 +0.44888 0.46024 0.424267 0.40912 0.435627 0.42048 0.39208 0.399653 +0.401547 0.3864 0.382613 0.378827 0.39776 0.428053 0.412907 0.3864 +0.405333 0.407227 0.378827 0.359893 0.36936 0.388293 0.382613 0.36936 +0.3864 0.401547 0.407227 0.418587 0.40344 0.390187 0.388293 0.388293 +0.388293 0.390187 0.373147 0.3864 0.481067 0.527158 0.522737 0.498107 +0.43184 0.39776 0.38072 0.359893 0.348533 0.36936 0.422373 0.464027 +0.401547 0.361787 0.401547 0.40912 0.36368 0.348533 0.358 0.388293 +0.517684 0.584632 0.559368 0.458347 0.354213 0.33528 0.339067 0.350427 +0.378827 0.498107 0.554947 0.564421 0.533474 0.511368 0.486747 0.452667 +0.4432 0.446987 0.435627 0.418587 0.43752 0.473493 0.47728 0.45456 +0.435627 0.4432 0.45456 0.45456 0.452667 0.445093 0.445093 0.492427 +0.541684 0.640842 0.814526 1.00612 1.26846 1.41149 1.20151 1.03976 +1.02506 1.04367 1.21368 1.55148 1.69299 1.41301 1.05314 1.02049 +1.0169 1.01167 1.00873 1.00841 1.00939 1.00939 1.00939 1.01102 +1.01004 1.00678 0.997959 0.983918 0.970526 0.967368 0.966105 0.968632 +0.963579 0.957263 0.953474 0.952842 0.966105 0.987837 1.0009 1.0009 +0.964211 0.815789 0.621263 0.467813 0.342853 0.32392 0.308773 0.303093 +0.291733 0.25576 0.000986667 0.00086 0.000793333 0.00078 0.000786667 0.000766667 +0.000726667 0.000733333 0.000733333 0.000706667 0.00072 0.00072 0.000746667 0.000746667 +0.00072 0.000733333 0.000746667 0.000733333 0.000713333 0.000746667 0.000726667 0.00072 +0.000746667 0.00074 0.00074 0.000733333 0.00072 0.000706667 0.00072 0.000753333 +0.000753333 0.000766667 0.000753333 0.000746667 0.000753333 0.000746667 0.000746667 0.00076 +0.000786667 0.000766667 0.00076 0.000746667 0.000753333 0.00076 0.000753333 0.00076 +0.000766667 0.0008 0.000806667 0.000773333 0.0007 0.000726667 0.000726667 0.00072 +0.000713333 0.000726667 0.00072 0.00072 0.00072 0.000713333 0.0007 0.000706667 +0.000706667 0.0007 0.000733333 0.000726667 0.000686667 0.0007 0.000733333 0.000753333 +0.00072 0.000693333 0.00072 0.000713333 0.000733333 0.000713333 0.000713333 0.000773333 +0.00076 0.000733333 0.00074 0.00076 0.000706667 0.000693333 0.000713333 0.000746667 +0.000746667 0.000746667 0.000746667 0.00072 0.00068 0.00072 0.00074 0.000713333 +0.000733333 0.00076 0.000706667 0.0007 0.000733333 0.00074 0.00072 0.00074 +0.000746667 0.000753333 0.000733333 0.000686667 0.000726667 0.00074 0.000713333 0.000706667 +0.00072 0.000753333 0.000733333 0.00068 0.000733333 0.00078 0.00078 0.000746667 +0.000713333 0.00072 0.000773333 0.0008 0.000773333 0.000733333 0.00078 0.000833333 +0.000986667 0.28984 0.358 0.373147 0.388293 0.505053 0.625684 0.807579 +0.955368 0.998286 0.994367 0.98098 0.964211 0.955368 0.950947 0.948421 +0.955368 0.966105 0.975579 0.985878 0.997306 1.0058 1.00906 1.01037 +1.01167 1.01265 1.01363 1.01429 1.01461 1.01461 1.01429 1.01527 +1.01527 1.01102 1.01461 1.04857 1.23042 1.26542 1.12999 1.05314 +1.04922 1.0538 1.05249 1.02898 0.971158 0.831579 0.698947 0.587789 +0.518316 0.467813 0.439413 0.445093 0.446987 0.405333 0.384507 0.399653 +0.395867 0.376933 0.39776 0.469707 0.515158 0.527158 0.523368 0.48864 +0.40912 0.388293 0.38072 0.36368 0.34664 0.34096 0.34664 0.371253 +0.3864 0.384507 0.390187 0.38072 0.39208 0.407227 0.39208 0.405333 +0.42048 0.43184 0.500632 0.519579 0.529053 0.536632 0.549263 0.572632 +0.59979 0.625684 0.638947 0.645895 0.642105 0.638947 0.638947 0.635158 +0.628842 0.625684 0.625684 0.608 0.556842 0.509474 0.512 0.543579 +0.56 0.544211 0.486747 0.373147 0.354213 0.376933 0.401547 0.39208 +0.36368 0.344747 0.344747 0.344747 0.354213 0.365573 0.4432 0.509474 +0.4716 0.39208 0.37504 0.384507 0.395867 0.37504 0.356107 0.39208 +0.458347 0.503789 0.5 0.43752 0.382613 0.365573 0.373147 0.373147 +0.36936 0.382613 0.40912 0.42616 0.411013 0.405333 0.401547 0.382613 +0.36936 0.40344 0.44888 0.506947 0.512 0.4432 0.36368 0.34096 +0.358 0.388293 0.390187 0.39208 0.40344 0.393973 0.40344 0.424267 +0.456453 0.484853 0.467813 0.469707 0.518947 0.600421 0.763368 0.925684 +1.00906 1.05445 1.08587 1.06152 1.05673 1.05118 1.05608 1.07978 +1.12543 1.12695 1.05608 1.04367 1.04171 1.04335 1.04922 1.05608 +1.07065 1.07978 1.09348 1.1026 1.13608 1.15434 1.1513 1.14521 +1.16803 1.18173 1.18325 1.18021 1.17564 1.12543 1.06152 1.05412 +1.04629 1.04335 1.04531 1.0502 1.06913 1.11021 1.11326 1.14217 +1.14673 1.14217 1.13912 1.11021 1.09195 1.06304 1.04922 1.04269 +1.03943 1.03584 1.03029 1.028 1.02408 1.01624 1.00971 1.02376 +1.05249 1.05314 1.04367 1.03943 1.0342 1.03355 1.03747 1.04302 +1.02571 0.98849 0.949684 0.92821 0.902316 0.825263 0.700842 0.593474 +0.532842 0.501263 0.475387 0.479173 0.45456 0.456453 0.462133 0.45456 +0.464027 0.481067 0.452667 0.43184 0.452667 0.429947 0.407227 0.429947 +0.411013 0.38072 0.371253 0.393973 0.401547 0.393973 0.376933 0.36936 +0.378827 0.36936 0.367467 0.373147 0.382613 0.384507 0.36936 0.365573 +0.376933 0.388293 0.40344 0.42048 0.40344 0.378827 0.378827 0.388293 +0.390187 0.36368 0.339067 0.354213 0.435627 0.518947 0.520211 0.45456 +0.378827 0.358 0.36368 0.361787 0.358 0.390187 0.445093 0.44888 +0.376933 0.34096 0.36936 0.407227 0.399653 0.378827 0.384507 0.393973 +0.484853 0.548 0.545474 0.475387 0.367467 0.35232 0.34664 0.344747 +0.373147 0.46592 0.536632 0.554947 0.536632 0.513895 0.467813 0.407227 +0.393973 0.395867 0.37504 0.359893 0.373147 0.411013 0.4432 0.441307 +0.42048 0.407227 0.395867 0.407227 0.429947 0.433733 0.46024 0.525895 +0.616211 0.764632 0.957263 1.11934 1.39019 1.28215 1.05216 1.02343 +1.03094 1.10413 1.41758 1.68082 1.55148 1.16043 1.02702 1.01624 +1.01461 1.00939 1.00808 1.0071 1.00743 1.00906 1.01069 1.00971 +1.00678 1.0009 0.988163 0.974316 0.969263 0.966737 0.963579 0.962947 +0.958526 0.957895 0.956632 0.964211 0.985224 0.997633 1.00286 0.98098 +0.842947 0.645895 0.5 0.354213 0.32392 0.3012 0.304987 0.304987 +0.2728 0.223573 0.000893333 0.000826667 0.000773333 0.00076 0.000766667 0.000753333 +0.00072 0.000726667 0.000766667 0.000746667 0.000733333 0.000733333 0.000746667 0.000746667 +0.00074 0.000733333 0.000746667 0.00074 0.000726667 0.000733333 0.00072 0.0007 +0.000706667 0.00072 0.000726667 0.000713333 0.000733333 0.00072 0.00072 0.000746667 +0.000746667 0.00078 0.000793333 0.000786667 0.000766667 0.00074 0.000753333 0.000766667 +0.000786667 0.00078 0.00078 0.000773333 0.000773333 0.000773333 0.000773333 0.000773333 +0.00076 0.000773333 0.000786667 0.0008 0.00072 0.000733333 0.00074 0.00074 +0.000733333 0.000713333 0.0007 0.000713333 0.000713333 0.000746667 0.00074 0.00072 +0.00072 0.000706667 0.000713333 0.000706667 0.0007 0.000733333 0.000773333 0.00076 +0.000693333 0.000686667 0.00074 0.000733333 0.00072 0.00072 0.000773333 0.000773333 +0.000726667 0.000746667 0.000773333 0.000746667 0.000713333 0.00072 0.000733333 0.000713333 +0.000726667 0.00074 0.00072 0.0007 0.000733333 0.000746667 0.0007 0.000706667 +0.000746667 0.000746667 0.000706667 0.000726667 0.00076 0.000713333 0.000713333 0.000753333 +0.00072 0.0007 0.000693333 0.000693333 0.000706667 0.000653333 0.000673333 0.00074 +0.00076 0.000733333 0.000673333 0.00066 0.000733333 0.000713333 0.000653333 0.000686667 +0.00074 0.000786667 0.000773333 0.000753333 0.000753333 0.000793333 0.000826667 0.0008 +0.000793333 0.000906667 0.291733 0.365573 0.376933 0.399653 0.506947 0.625053 +0.806316 0.956632 0.998286 0.996327 0.984245 0.962947 0.949053 0.945263 +0.948421 0.955368 0.966105 0.976842 0.986204 0.994367 1.0009 1.00645 +1.01004 1.01396 1.01592 1.01657 1.0169 1.01559 1.01331 1.01265 +1.01167 1.00939 1.00514 1.01265 1.05478 1.23042 1.22433 1.10108 +1.05347 1.05216 1.05347 1.04694 1.01363 0.927579 0.797474 0.673684 +0.569474 0.507579 0.456453 0.456453 0.46592 0.450773 0.439413 0.45456 +0.43184 0.393973 0.393973 0.439413 0.496213 0.518316 0.534737 0.525895 +0.508211 0.484853 0.43184 0.395867 0.36936 0.348533 0.34096 0.361787 +0.395867 0.418587 0.462133 0.501263 0.517053 0.541053 0.549263 0.548632 +0.542947 0.542947 0.561895 0.586526 0.604211 0.611789 0.619368 0.632 +0.642105 0.646526 0.640211 0.629474 0.614316 0.600421 0.584632 0.566947 +0.556842 0.568211 0.582737 0.552421 0.47728 0.395867 0.469707 0.527789 +0.537895 0.517053 0.407227 0.325813 0.342853 0.3864 0.405333 0.393973 +0.388293 0.378827 0.356107 0.339067 0.33528 0.356107 0.456453 0.510737 +0.462133 0.39776 0.388293 0.40912 0.42616 0.382613 0.34664 0.373147 +0.418587 0.462133 0.45456 0.407227 0.354213 0.339067 0.342853 0.354213 +0.37504 0.405333 0.42048 0.416693 0.393973 0.393973 0.407227 0.384507 +0.37504 0.390187 0.422373 0.498107 0.511368 0.450773 0.37504 0.358 +0.3864 0.411013 0.39208 0.38072 0.384507 0.388293 0.39776 0.390187 +0.40912 0.479173 0.502526 0.506316 0.532842 0.613684 0.784211 0.942105 +1.012 1.05739 1.11021 1.06913 1.05478 1.04824 1.04661 1.05216 +1.0813 1.11326 1.05543 1.04335 1.04335 1.05151 1.05739 1.05771 +1.05902 1.05837 1.05576 1.06913 1.11782 1.13912 1.14825 1.15738 +1.16803 1.15282 1.10413 1.05706 1.04629 1.0342 1.02376 1.0218 +1.01722 1.01657 1.01984 1.01984 1.028 1.0342 1.03747 1.04694 +1.04988 1.05086 1.05216 1.05118 1.05347 1.04988 1.04204 1.0391 +1.03976 1.044 1.04465 1.04269 1.03747 1.02278 1.00939 1.01918 +1.04335 1.04824 1.04269 1.03518 1.02735 1.02702 1.02931 1.03616 +1.03029 0.997306 0.961684 0.938316 0.921263 0.880211 0.779158 0.653474 +0.565053 0.515789 0.481067 0.46592 0.446987 0.446987 0.456453 0.46592 +0.492427 0.503789 0.496213 0.479173 0.481067 0.467813 0.464027 0.486747 +0.44888 0.39208 0.393973 0.429947 0.422373 0.388293 0.376933 0.373147 +0.36936 0.376933 0.378827 0.373147 0.373147 0.365573 0.36936 0.373147 +0.39208 0.40344 0.412907 0.42616 0.393973 0.359893 0.35232 0.365573 +0.365573 0.34664 0.344747 0.37504 0.433733 0.500632 0.500632 0.43752 +0.3864 0.361787 0.361787 0.382613 0.401547 0.42616 0.475387 0.44888 +0.373147 0.342853 0.36368 0.412907 0.441307 0.412907 0.3864 0.38072 +0.467813 0.547368 0.556842 0.505053 0.388293 0.373147 0.37504 0.37504 +0.393973 0.439413 0.506947 0.520211 0.513263 0.505684 0.47728 0.422373 +0.39208 0.371253 0.35232 0.35232 0.356107 0.376933 0.42616 0.445093 +0.429947 0.40912 0.401547 0.412907 0.424267 0.43184 0.502526 0.589053 +0.735579 0.910526 1.04106 1.32019 1.32476 1.08587 1.02571 1.0218 +1.05086 1.28672 1.60169 1.64278 1.30041 1.04204 1.01918 1.01592 +1.01265 1.00906 1.00678 1.00547 1.00645 1.00841 1.01102 1.0071 +1.00286 0.992082 0.975579 0.964842 0.964842 0.962316 0.963579 0.957895 +0.949053 0.956632 0.970526 0.985224 0.99698 1.00286 0.987184 0.872 +0.677474 0.516421 0.350427 0.320133 0.299307 0.286053 0.3012 0.28416 +0.23304 0.000906667 0.00082 0.000793333 0.00078 0.000766667 0.000773333 0.000746667 +0.000733333 0.000713333 0.00072 0.000713333 0.00072 0.000733333 0.00074 0.00074 +0.000746667 0.00076 0.000766667 0.000746667 0.000726667 0.000733333 0.000746667 0.000733333 +0.000713333 0.000726667 0.000746667 0.000746667 0.000753333 0.00074 0.000753333 0.00076 +0.000746667 0.000766667 0.0008 0.00078 0.00076 0.000746667 0.000766667 0.000766667 +0.00078 0.000773333 0.000786667 0.00078 0.00078 0.00078 0.000773333 0.000773333 +0.00078 0.0008 0.000853333 0.000933333 0.000766667 0.000773333 0.00076 0.000773333 +0.000766667 0.00072 0.00072 0.00072 0.000726667 0.00074 0.00074 0.000713333 +0.000753333 0.000773333 0.000726667 0.000706667 0.000713333 0.000746667 0.000746667 0.000686667 +0.000666667 0.00072 0.00076 0.000733333 0.000713333 0.000773333 0.0008 0.000746667 +0.00074 0.0008 0.000773333 0.000733333 0.000746667 0.000733333 0.000713333 0.000733333 +0.000753333 0.000733333 0.00072 0.000746667 0.00078 0.000733333 0.000726667 0.00076 +0.00076 0.000753333 0.00074 0.00074 0.00074 0.00072 0.00074 0.00072 +0.000706667 0.000733333 0.000746667 0.00072 0.000713333 0.000706667 0.00072 0.000713333 +0.000693333 0.000713333 0.000726667 0.000733333 0.000713333 0.000666667 0.0007 0.000766667 +0.000746667 0.00072 0.000713333 0.00074 0.00076 0.000766667 0.000733333 0.0007 +0.000733333 0.000826667 0.23872 0.32392 0.356107 0.367467 0.388293 0.508842 +0.634526 0.822737 0.968 0.998939 0.992408 0.979368 0.958526 0.951579 +0.952842 0.955368 0.960421 0.967368 0.973684 0.983265 0.991755 1.0009 +1.01037 1.01331 1.01592 1.01559 1.01461 1.012 1.01004 1.00776 +1.00873 1.00939 1.0071 1.00449 1.0182 1.07217 1.22281 1.17412 +1.06609 1.05118 1.05118 1.05118 1.03714 0.997959 0.897263 0.766526 +0.641474 0.550526 0.503789 0.464027 0.469707 0.46592 0.46024 0.490533 +0.479173 0.446987 0.446987 0.452667 0.45456 0.475387 0.503789 0.511368 +0.522105 0.526526 0.512 0.484853 0.429947 0.390187 0.376933 0.393973 +0.428053 0.49432 0.545474 0.608632 0.668 0.705263 0.696421 0.657263 +0.621263 0.610526 0.619368 0.636421 0.648421 0.638316 0.628211 0.632 +0.626316 0.608 0.587158 0.565053 0.542316 0.520842 0.503158 0.484853 +0.5 0.539158 0.565684 0.519579 0.384507 0.359893 0.462133 0.524 +0.531579 0.506947 0.388293 0.327707 0.348533 0.39776 0.395867 0.365573 +0.371253 0.365573 0.361787 0.35232 0.342853 0.36368 0.458347 0.500632 +0.4432 0.401547 0.395867 0.43752 0.505684 0.498107 0.40912 0.384507 +0.405333 0.4432 0.4432 0.401547 0.356107 0.348533 0.348533 0.35232 +0.388293 0.433733 0.433733 0.390187 0.36936 0.376933 0.378827 0.367467 +0.371253 0.390187 0.424267 0.502526 0.518947 0.5 0.428053 0.393973 +0.39776 0.401547 0.390187 0.37504 0.356107 0.378827 0.401547 0.3864 +0.39776 0.486747 0.516421 0.525895 0.548 0.631368 0.803789 0.944632 +1.01298 1.07826 1.10108 1.05053 1.04727 1.04433 1.04171 1.04694 +1.05641 1.06913 1.04824 1.04041 1.04955 1.07674 1.09956 1.095 +1.09043 1.05837 1.05053 1.05641 1.08739 1.11173 1.12543 1.09956 +1.05771 1.04955 1.03812 1.02702 1.01918 1.01559 1.00906 1.0058 +1.00318 1.00678 1.00939 1.00776 1.01298 1.01363 1.01396 1.01755 +1.01624 1.01788 1.02212 1.02473 1.03061 1.0329 1.03453 1.04171 +1.05249 1.05837 1.05902 1.05902 1.05445 1.03061 1.00645 1.01298 +1.03976 1.05053 1.04465 1.03551 1.02637 1.02473 1.02702 1.03616 +1.03616 1.00743 0.972421 0.944632 0.930105 0.912421 0.850526 0.727368 +0.600421 0.525895 0.48864 0.46592 0.458347 0.464027 0.464027 0.473493 +0.500632 0.503789 0.502526 0.5 0.46592 0.446987 0.501895 0.524632 +0.508211 0.4432 0.424267 0.428053 0.412907 0.393973 0.393973 0.388293 +0.38072 0.3864 0.3864 0.3864 0.36936 0.373147 0.384507 0.382613 +0.388293 0.407227 0.4148 0.418587 0.395867 0.365573 0.348533 0.359893 +0.365573 0.373147 0.395867 0.42048 0.4432 0.44888 0.446987 0.429947 +0.393973 0.36368 0.367467 0.40344 0.43752 0.462133 0.496213 0.43752 +0.356107 0.35232 0.365573 0.39776 0.42048 0.401547 0.376933 0.382613 +0.481067 0.555579 0.568211 0.513895 0.411013 0.382613 0.376933 0.39776 +0.418587 0.422373 0.458347 0.47728 0.441307 0.43184 0.435627 0.42616 +0.401547 0.358 0.342853 0.354213 0.373147 0.3864 0.416693 0.435627 +0.43184 0.411013 0.407227 0.42048 0.43184 0.473493 0.560632 0.707789 +0.880211 1.0169 1.24411 1.36128 1.16347 1.03649 1.01984 1.03388 +1.14673 1.47388 1.65951 1.43736 1.06456 1.0218 1.01657 1.01592 +1.00971 1.00612 1.00384 1.00612 1.00906 1.01037 1.01102 1.00612 +0.995673 0.981306 0.965474 0.964211 0.962947 0.960421 0.962316 0.956632 +0.949053 0.961684 0.984571 0.996653 1.00155 0.990449 0.896632 0.705895 +0.534737 0.36936 0.30688 0.28984 0.287947 0.3012 0.29552 0.25008 +0.000913333 0.000813333 0.00078 0.000773333 0.00074 0.00074 0.000746667 0.000713333 +0.0007 0.000693333 0.000713333 0.0007 0.000726667 0.000773333 0.000786667 0.00076 +0.000753333 0.000746667 0.00076 0.000726667 0.000693333 0.000726667 0.000746667 0.000746667 +0.000726667 0.000733333 0.000746667 0.000766667 0.00076 0.00074 0.000773333 0.00078 +0.00074 0.00074 0.00078 0.000793333 0.000786667 0.00078 0.000773333 0.00076 +0.000753333 0.000773333 0.000786667 0.000786667 0.000813333 0.000833333 0.000866667 0.000926667 +0.217893 0.2444 0.280373 0.325813 0.000746667 0.000766667 0.00076 0.000773333 +0.000793333 0.000766667 0.000753333 0.00074 0.00074 0.000753333 0.000766667 0.000733333 +0.000746667 0.000746667 0.000706667 0.000686667 0.0007 0.00074 0.000706667 0.000646667 +0.000693333 0.000753333 0.000753333 0.000726667 0.000753333 0.0008 0.000766667 0.000726667 +0.000773333 0.000786667 0.00072 0.000733333 0.00074 0.000686667 0.000726667 0.0008 +0.000766667 0.00074 0.00076 0.000753333 0.000733333 0.00074 0.000766667 0.00076 +0.00076 0.000766667 0.000733333 0.00072 0.000726667 0.00072 0.0007 0.00068 +0.000726667 0.00074 0.0007 0.000706667 0.00078 0.000773333 0.000726667 0.000713333 +0.000733333 0.00076 0.00072 0.0007 0.0007 0.000753333 0.000786667 0.00076 +0.000713333 0.00072 0.00076 0.00078 0.000733333 0.000666667 0.000666667 0.0007 +0.00078 0.00082 0.00088 0.242507 0.32392 0.365573 0.367467 0.393973 +0.510737 0.645263 0.832842 0.969895 0.998612 0.99502 0.982286 0.964842 +0.957263 0.956 0.955368 0.961053 0.970526 0.979368 0.985551 0.996327 +1.0071 1.01331 1.01396 1.01167 1.01069 1.01102 1.01037 1.00873 +1.01069 1.01069 1.01004 1.00906 1.00873 1.02833 1.09956 1.19542 +1.12239 1.05216 1.04531 1.04727 1.04367 1.02539 0.983592 0.868842 +0.741895 0.630105 0.545474 0.501263 0.467813 0.450773 0.44888 0.479173 +0.490533 0.4716 0.446987 0.43184 0.422373 0.42048 0.424267 0.42616 +0.479173 0.519579 0.534105 0.534105 0.519579 0.501895 0.481067 0.503158 +0.518947 0.546105 0.59979 0.664842 0.721684 0.743789 0.717263 0.671158 +0.638947 0.635789 0.639579 0.631368 0.621263 0.587158 0.573263 0.588421 +0.575789 0.537895 0.513895 0.498107 0.462133 0.418587 0.399653 0.411013 +0.479173 0.552421 0.567579 0.496213 0.350427 0.359893 0.458347 0.514526 +0.517684 0.475387 0.373147 0.33528 0.35232 0.39776 0.399653 0.382613 +0.36936 0.359893 0.388293 0.378827 0.358 0.371253 0.462133 0.486747 +0.4148 0.373147 0.367467 0.429947 0.517053 0.520211 0.469707 0.4148 +0.395867 0.424267 0.433733 0.412907 0.38072 0.365573 0.356107 0.365573 +0.401547 0.435627 0.4148 0.373147 0.36368 0.367467 0.36936 0.38072 +0.3864 0.388293 0.4148 0.501895 0.533474 0.538526 0.527158 0.498107 +0.422373 0.401547 0.393973 0.376933 0.36936 0.40344 0.422373 0.39208 +0.418587 0.498107 0.521474 0.538526 0.565684 0.668632 0.840421 0.956 +1.02049 1.09956 1.05706 1.0329 1.03682 1.04171 1.044 1.04857 +1.05184 1.05576 1.04106 1.0329 1.04759 1.1026 1.14369 1.14977 +1.1376 1.095 1.06 1.07065 1.08891 1.09195 1.05706 1.03714 +1.02408 1.02016 1.01559 1.012 1.00645 1.00286 0.997633 0.997959 +0.999918 1.00318 1.00253 0.999265 1.00122 1.00122 1.00384 1.00416 +1.00384 1.00776 1.00906 1.00939 1.01396 1.02016 1.02996 1.04531 +1.07978 1.11478 1.12391 1.13152 1.07826 1.02963 1.00318 1.00971 +1.03878 1.05608 1.04727 1.03518 1.02571 1.02278 1.02898 1.04008 +1.0378 1.01559 0.985224 0.952842 0.937053 0.927579 0.901684 0.813263 +0.672421 0.56 0.510105 0.49432 0.47728 0.473493 0.4716 0.46024 +0.462133 0.469707 0.486747 0.484853 0.428053 0.42048 0.490533 0.507579 +0.467813 0.43752 0.42048 0.395867 0.390187 0.399653 0.407227 0.422373 +0.433733 0.42048 0.401547 0.384507 0.37504 0.37504 0.39208 0.3864 +0.390187 0.407227 0.401547 0.390187 0.388293 0.382613 0.367467 0.358 +0.354213 0.37504 0.405333 0.416693 0.416693 0.418587 0.401547 0.399653 +0.384507 0.367467 0.37504 0.390187 0.405333 0.422373 0.446987 0.393973 +0.34664 0.358 0.36936 0.36368 0.36936 0.37504 0.378827 0.399653 +0.5 0.565684 0.578947 0.521474 0.43184 0.3864 0.371253 0.393973 +0.411013 0.39208 0.429947 0.44888 0.393973 0.365573 0.371253 0.382613 +0.37504 0.354213 0.358 0.373147 0.378827 0.37504 0.388293 0.429947 +0.435627 0.418587 0.42616 0.445093 0.475387 0.541684 0.676211 0.854947 +0.999592 1.14673 1.35824 1.23803 1.04792 1.02408 1.02604 1.05576 +1.32476 1.60169 1.52257 1.15586 1.02767 1.01429 1.01527 1.01233 +1.00482 1.00351 1.00482 1.00841 1.01037 1.01135 1.00841 0.999592 +0.985224 0.970526 0.966737 0.964211 0.958526 0.958526 0.957895 0.954105 +0.956 0.976842 0.994041 1.00286 0.995673 0.921263 0.740632 0.553053 +0.388293 0.320133 0.276587 0.27848 0.29552 0.3012 0.263333 0.000973333 +0.000846667 0.000786667 0.000773333 0.00078 0.00074 0.00074 0.000773333 0.000753333 +0.00072 0.00072 0.00076 0.000726667 0.00072 0.000773333 0.00078 0.00076 +0.00074 0.000706667 0.000726667 0.000713333 0.000693333 0.000733333 0.000746667 0.000746667 +0.00074 0.00074 0.00074 0.00076 0.000766667 0.000753333 0.00076 0.000773333 +0.000753333 0.000753333 0.000773333 0.000786667 0.0008 0.000793333 0.00078 0.000766667 +0.000753333 0.000793333 0.000833333 0.00086 0.000933333 0.229253 0.2728 0.32392 +0.376933 0.435627 0.492427 0.515158 0.00074 0.00074 0.00074 0.000753333 +0.000746667 0.00074 0.00072 0.000706667 0.000733333 0.000773333 0.00078 0.000766667 +0.000753333 0.00074 0.000693333 0.000713333 0.000733333 0.000746667 0.000706667 0.0007 +0.00078 0.000786667 0.00072 0.000726667 0.00078 0.00078 0.000726667 0.00076 +0.00076 0.000713333 0.000713333 0.000733333 0.00068 0.00068 0.00076 0.000766667 +0.0007 0.000726667 0.000726667 0.0007 0.000713333 0.000746667 0.00072 0.000733333 +0.000753333 0.00072 0.000706667 0.00074 0.00074 0.000713333 0.00072 0.000753333 +0.00074 0.000713333 0.000693333 0.000746667 0.000746667 0.0007 0.000726667 0.000766667 +0.000773333 0.00074 0.00066 0.000693333 0.00074 0.000746667 0.000733333 0.000753333 +0.000773333 0.00078 0.000746667 0.00072 0.000706667 0.000726667 0.000766667 0.000766667 +0.00078 0.000733333 0.000746667 0.00088 0.259547 0.337173 0.361787 0.35232 +0.376933 0.514526 0.659158 0.853684 0.985224 1.00416 0.994367 0.978737 +0.960421 0.954105 0.955368 0.961684 0.969263 0.979368 0.981633 0.986204 +0.994694 1.00416 1.00971 1.01167 1.012 1.01396 1.01396 1.01298 +1.01233 1.01265 1.012 1.01265 1.00971 1.00873 1.03061 1.10717 +1.17564 1.08435 1.04531 1.04367 1.044 1.03682 1.01592 0.963579 +0.849895 0.731158 0.620632 0.541053 0.47728 0.43184 0.4432 0.467813 +0.486747 0.4716 0.433733 0.401547 0.393973 0.401547 0.395867 0.38072 +0.407227 0.46592 0.517053 0.541684 0.545474 0.531579 0.524 0.534105 +0.546105 0.561895 0.583368 0.596 0.602947 0.59979 0.581474 0.562526 +0.561895 0.584632 0.588421 0.553053 0.531579 0.509474 0.517684 0.547368 +0.529053 0.467813 0.4148 0.407227 0.418587 0.40912 0.407227 0.428053 +0.512 0.578316 0.567579 0.46024 0.348533 0.371253 0.4432 0.486747 +0.48296 0.428053 0.361787 0.348533 0.359893 0.3864 0.40912 0.424267 +0.401547 0.395867 0.40912 0.39208 0.361787 0.38072 0.48296 0.49432 +0.405333 0.371253 0.37504 0.418587 0.456453 0.45456 0.42616 0.411013 +0.39776 0.393973 0.395867 0.418587 0.418587 0.376933 0.361787 0.376933 +0.407227 0.424267 0.411013 0.384507 0.38072 0.373147 0.3864 0.39776 +0.384507 0.38072 0.407227 0.496213 0.526526 0.538526 0.554316 0.547368 +0.505053 0.435627 0.422373 0.407227 0.395867 0.433733 0.469707 0.445093 +0.450773 0.484853 0.517053 0.552421 0.606105 0.728632 0.875789 0.973053 +1.02963 1.10717 1.05641 1.03029 1.02669 1.03192 1.04367 1.05086 +1.0502 1.05282 1.04139 1.02898 1.04106 1.09956 1.19086 1.20455 +1.19086 1.15738 1.12086 1.11478 1.09956 1.05771 1.0342 1.012 +1.00482 1.00351 1.00253 1.0009 0.997306 0.997959 0.998939 1.00253 +1.00514 1.00449 0.999918 0.997959 0.997959 0.996327 0.998286 0.998286 +0.998939 1.00384 1.00188 1.00384 1.01265 1.0218 1.03453 1.05412 +1.14825 1.21825 1.25933 1.24868 1.1026 1.02245 1.00155 1.00547 +1.03159 1.05935 1.05118 1.03029 1.02082 1.02147 1.02996 1.03551 +1.03355 1.02506 1.00351 0.978105 0.946526 0.935158 0.924421 0.879579 +0.774737 0.642105 0.553684 0.518316 0.49432 0.48296 0.479173 0.44888 +0.433733 0.45456 0.484853 0.484853 0.439413 0.441307 0.467813 0.428053 +0.393973 0.40912 0.405333 0.390187 0.407227 0.424267 0.429947 0.464027 +0.507579 0.48864 0.399653 0.378827 0.390187 0.40344 0.446987 0.479173 +0.450773 0.40912 0.395867 0.388293 0.376933 0.361787 0.354213 0.350427 +0.354213 0.37504 0.3864 0.38072 0.384507 0.407227 0.393973 0.388293 +0.3864 0.371253 0.36368 0.36368 0.354213 0.367467 0.393973 0.365573 +0.34096 0.350427 0.354213 0.339067 0.34664 0.367467 0.382613 0.411013 +0.510105 0.580842 0.593474 0.530316 0.435627 0.393973 0.39208 0.401547 +0.395867 0.3864 0.4432 0.456453 0.39208 0.35232 0.350427 0.35232 +0.354213 0.361787 0.36368 0.36936 0.356107 0.358 0.39208 0.445093 +0.464027 0.464027 0.473493 0.490533 0.529684 0.647789 0.827158 0.986204 +1.06456 1.31411 1.27607 1.05837 1.02702 1.02441 1.04237 1.2152 +1.52713 1.56974 1.24868 1.0342 1.01363 1.01167 1.01037 1.0058 +1.00384 1.00678 1.00939 1.01037 1.00939 1.00743 0.999918 0.987837 +0.973684 0.965474 0.962316 0.958526 0.955368 0.954105 0.952842 0.956 +0.973053 0.990122 1.0009 0.997959 0.942105 0.772211 0.580842 0.412907 +0.33528 0.30688 0.28416 0.314453 0.322027 0.274693 0.000993333 0.000873333 +0.000813333 0.000793333 0.000766667 0.000773333 0.000766667 0.000753333 0.00078 0.000773333 +0.000746667 0.000726667 0.000766667 0.000746667 0.000713333 0.00076 0.000766667 0.00076 +0.00076 0.000713333 0.000733333 0.000726667 0.000733333 0.000766667 0.00076 0.00076 +0.000753333 0.00076 0.00074 0.00074 0.000753333 0.00076 0.00076 0.00076 +0.00076 0.00076 0.00076 0.000773333 0.000786667 0.000806667 0.000826667 0.00086 +0.000893333 0.000966667 0.23872 0.280373 0.33528 0.395867 0.4716 0.515789 +0.538526 0.559368 0.573895 0.584632 0.000726667 0.000746667 0.000746667 0.000733333 +0.00072 0.000706667 0.000706667 0.000706667 0.00072 0.00074 0.000753333 0.00076 +0.00076 0.000706667 0.000686667 0.000753333 0.000753333 0.00072 0.000686667 0.00074 +0.000786667 0.00072 0.0007 0.000766667 0.0008 0.000753333 0.00074 0.000766667 +0.00072 0.00072 0.000753333 0.000713333 0.0007 0.00076 0.000773333 0.00072 +0.000713333 0.000713333 0.000673333 0.000706667 0.000713333 0.000713333 0.00072 0.00074 +0.000726667 0.000726667 0.000746667 0.00074 0.000713333 0.00074 0.000773333 0.000753333 +0.00074 0.000746667 0.000746667 0.00074 0.000706667 0.000693333 0.000726667 0.00068 +0.00068 0.000673333 0.0007 0.000753333 0.000726667 0.000706667 0.000733333 0.00076 +0.00074 0.0007 0.0007 0.000726667 0.000773333 0.000786667 0.000793333 0.000746667 +0.000726667 0.000726667 0.00076 0.00078 0.00088 0.257653 0.3296 0.331493 +0.333387 0.393973 0.532211 0.686316 0.878947 0.98751 0.999918 0.991102 +0.98 0.962947 0.958526 0.962316 0.966737 0.969895 0.973684 0.975579 +0.980653 0.991429 1.00351 1.01167 1.01461 1.01624 1.0169 1.01657 +1.01429 1.01363 1.01298 1.012 1.01037 1.00482 1.00547 1.03224 +1.11478 1.1513 1.05902 1.04661 1.04498 1.04139 1.03224 1.00841 +0.949053 0.836632 0.717263 0.607368 0.526526 0.473493 0.45456 0.458347 +0.464027 0.450773 0.43752 0.40912 0.393973 0.39776 0.3864 0.378827 +0.40344 0.467813 0.515158 0.526526 0.515158 0.49432 0.486747 0.510105 +0.524 0.532211 0.526526 0.505684 0.46592 0.429947 0.407227 0.407227 +0.458347 0.522737 0.524 0.446987 0.39208 0.395867 0.490533 0.527789 +0.503158 0.42048 0.405333 0.411013 0.435627 0.422373 0.39776 0.424267 +0.524 0.587789 0.558105 0.439413 0.359893 0.378827 0.418587 0.43184 +0.422373 0.395867 0.3864 0.388293 0.393973 0.39208 0.42048 0.4716 +0.475387 0.458347 0.441307 0.40344 0.376933 0.393973 0.490533 0.5 +0.401547 0.378827 0.407227 0.43184 0.411013 0.388293 0.39208 0.40344 +0.39776 0.388293 0.39776 0.462133 0.464027 0.39208 0.361787 0.36936 +0.384507 0.39208 0.384507 0.378827 0.38072 0.384507 0.399653 0.422373 +0.405333 0.401547 0.42616 0.49432 0.502526 0.47728 0.522737 0.566316 +0.541684 0.501895 0.479173 0.464027 0.462133 0.500632 0.511368 0.502526 +0.47728 0.500632 0.535368 0.587158 0.666105 0.793684 0.912421 0.989143 +1.03355 1.095 1.07369 1.03616 1.01984 1.02147 1.03878 1.05086 +1.0502 1.04759 1.03551 1.02212 1.03453 1.06913 1.22586 1.3065 +1.30954 1.24868 1.18629 1.14825 1.09195 1.04596 1.01592 0.999592 +0.997306 0.996653 0.998286 0.997959 0.998612 1.00449 1.00841 1.01102 +1.01069 1.00678 1.00253 1.00155 0.998612 0.994694 0.997959 0.999265 +0.998286 0.997959 0.989143 0.991102 1.00743 1.02441 1.04269 1.10108 +1.25324 1.37497 1.47388 1.43736 1.14825 1.02082 1.0058 1.0058 +1.02441 1.06913 1.06609 1.03192 1.01853 1.02082 1.02735 1.03224 +1.03649 1.03322 1.01461 0.991102 0.961684 0.943368 0.935158 0.916211 +0.861895 0.740632 0.616842 0.546737 0.508211 0.490533 0.48296 0.456453 +0.44888 0.469707 0.496213 0.48864 0.45456 0.45456 0.44888 0.401547 +0.3864 0.40344 0.39776 0.3864 0.399653 0.435627 0.450773 0.48296 +0.515158 0.48296 0.39208 0.405333 0.452667 0.469707 0.5 0.507579 +0.473493 0.412907 0.4148 0.416693 0.384507 0.34664 0.34096 0.35232 +0.36368 0.359893 0.354213 0.358 0.388293 0.424267 0.418587 0.399653 +0.390187 0.36368 0.342853 0.34096 0.33528 0.34664 0.3864 0.390187 +0.358 0.356107 0.365573 0.35232 0.361787 0.378827 0.384507 0.42048 +0.523368 0.599158 0.603579 0.525895 0.405333 0.382613 0.399653 0.416693 +0.39776 0.3864 0.435627 0.458347 0.399653 0.358 0.35232 0.348533 +0.361787 0.361787 0.356107 0.354213 0.356107 0.37504 0.412907 0.45456 +0.47728 0.481067 0.48864 0.522105 0.621263 0.796211 0.964211 1.04759 +1.29889 1.32324 1.10869 1.03061 1.02212 1.03486 1.12391 1.43279 +1.58952 1.34911 1.04694 1.01429 1.01167 1.012 1.00939 1.00678 +1.00971 1.01233 1.01167 1.01069 1.00841 1.00155 0.990449 0.976842 +0.967368 0.962947 0.958526 0.956632 0.953474 0.949053 0.953474 0.969895 +0.98849 0.998939 0.999265 0.956 0.798737 0.604211 0.43752 0.325813 +0.3012 0.28416 0.3012 0.32392 0.28416 0.216 0.000846667 0.000813333 +0.000793333 0.0008 0.000786667 0.000766667 0.00076 0.000733333 0.000753333 0.00076 +0.000733333 0.000713333 0.000746667 0.000746667 0.00072 0.00072 0.000726667 0.000753333 +0.000773333 0.000753333 0.00076 0.000746667 0.000733333 0.000746667 0.000766667 0.000786667 +0.000773333 0.00076 0.000766667 0.00076 0.000766667 0.000766667 0.000766667 0.00078 +0.000773333 0.00078 0.000793333 0.00084 0.000873333 0.00092 0.000993333 0.248187 +0.293627 0.344747 0.411013 0.484853 0.519579 0.542316 0.565684 0.584 +0.597895 0.608 0.611158 0.609895 0.00074 0.000753333 0.000766667 0.000733333 +0.000726667 0.000773333 0.000746667 0.000746667 0.00076 0.000753333 0.000766667 0.00076 +0.000733333 0.000686667 0.000706667 0.00076 0.000746667 0.00068 0.000693333 0.00076 +0.000733333 0.000686667 0.00074 0.00076 0.000706667 0.000713333 0.000733333 0.00072 +0.000733333 0.00078 0.000753333 0.000733333 0.00076 0.000766667 0.000766667 0.000733333 +0.000726667 0.000693333 0.0007 0.00072 0.000686667 0.000713333 0.000733333 0.000733333 +0.000733333 0.000753333 0.000726667 0.000693333 0.000706667 0.00074 0.000733333 0.00072 +0.000746667 0.000733333 0.000693333 0.00072 0.00076 0.000746667 0.000673333 0.000633333 +0.000673333 0.00068 0.00068 0.000706667 0.000733333 0.00076 0.00074 0.000673333 +0.000653333 0.0007 0.00076 0.000786667 0.000753333 0.00072 0.00072 0.000706667 +0.000733333 0.000753333 0.00074 0.000706667 0.000733333 0.000913333 0.280373 0.331493 +0.339067 0.361787 0.405333 0.536 0.705263 0.894737 0.991755 1.00351 +0.995347 0.98 0.959158 0.952211 0.950947 0.954737 0.962316 0.971158 +0.977474 0.984571 0.995673 1.0058 1.01331 1.01527 1.01559 1.01429 +1.01265 1.01265 1.01069 1.00971 1.00906 1.00645 1.00024 1.00449 +1.03486 1.11021 1.13912 1.06609 1.04792 1.03976 1.0342 1.02571 +1.00188 0.934526 0.815158 0.688842 0.582737 0.516421 0.4716 0.45456 +0.45456 0.458347 0.462133 0.450773 0.43752 0.43184 0.43184 0.4148 +0.43752 0.503158 0.509474 0.467813 0.407227 0.388293 0.4148 0.44888 +0.467813 0.48296 0.44888 0.395867 0.371253 0.35232 0.344747 0.356107 +0.405333 0.479173 0.458347 0.38072 0.350427 0.382613 0.502526 0.525263 +0.47728 0.40912 0.40912 0.412907 0.429947 0.416693 0.3864 0.411013 +0.525895 0.584632 0.546105 0.43752 0.373147 0.373147 0.384507 0.393973 +0.388293 0.376933 0.382613 0.395867 0.40912 0.418587 0.452667 0.5 +0.506947 0.49432 0.462133 0.422373 0.382613 0.378827 0.452667 0.469707 +0.405333 0.390187 0.40912 0.433733 0.433733 0.407227 0.393973 0.395867 +0.388293 0.388293 0.428053 0.504421 0.486747 0.393973 0.365573 0.367467 +0.373147 0.37504 0.371253 0.367467 0.373147 0.37504 0.39776 0.43752 +0.441307 0.429947 0.450773 0.49432 0.469707 0.407227 0.458347 0.531579 +0.526526 0.492427 0.473493 0.473493 0.503158 0.509474 0.505053 0.5 +0.498107 0.516421 0.554316 0.611158 0.717263 0.848632 0.943368 1.00286 +1.03976 1.06609 1.05902 1.03976 1.0231 1.02408 1.03845 1.05314 +1.05184 1.03845 1.02278 1.01657 1.02473 1.04792 1.26237 1.4617 +1.48909 1.38715 1.28976 1.19999 1.08435 1.03322 1.00514 0.996653 +0.995347 0.997306 1.00024 1.00188 1.0058 1.01004 1.00971 1.00873 +1.00971 1.00971 1.00645 1.00318 0.998612 0.997633 1.00122 0.999592 +0.996653 0.994367 0.981306 0.978105 0.999592 1.02669 1.05086 1.1589 +1.34302 1.52713 1.70516 1.66256 1.27455 1.03029 1.01004 1.0058 +1.01265 1.04955 1.10717 1.04531 1.0231 1.02212 1.02865 1.0342 +1.03943 1.03159 1.01494 1.0009 0.981633 0.957895 0.946526 0.938316 +0.915579 0.828421 0.702105 0.601053 0.539789 0.511368 0.501263 0.490533 +0.475387 0.475387 0.49432 0.496213 0.475387 0.462133 0.433733 0.401547 +0.395867 0.39776 0.3864 0.384507 0.40344 0.456453 0.475387 0.481067 +0.500632 0.44888 0.412907 0.458347 0.48296 0.464027 0.439413 0.435627 +0.40912 0.399653 0.43184 0.446987 0.418587 0.376933 0.361787 0.361787 +0.359893 0.356107 0.348533 0.361787 0.399653 0.422373 0.411013 0.395867 +0.38072 0.356107 0.342853 0.34096 0.333387 0.34664 0.39208 0.39776 +0.37504 0.365573 0.37504 0.371253 0.365573 0.37504 0.376933 0.422373 +0.537263 0.62 0.62 0.530316 0.393973 0.365573 0.388293 0.42048 +0.405333 0.39208 0.429947 0.464027 0.4148 0.36936 0.36936 0.371253 +0.378827 0.36936 0.359893 0.359893 0.371253 0.390187 0.416693 0.44888 +0.467813 0.467813 0.511368 0.600421 0.767158 0.934526 1.02702 1.23803 +1.38562 1.2076 1.04171 1.02343 1.03029 1.05967 1.34606 1.58039 +1.43888 1.08435 1.02049 1.012 1.01363 1.01298 1.00939 1.00939 +1.01233 1.01396 1.01135 1.00939 1.00384 0.991429 0.977474 0.966737 +0.964842 0.959789 0.958526 0.958526 0.951579 0.952842 0.970526 0.989143 +1.00057 1.0022 0.972421 0.823368 0.625684 0.473493 0.333387 0.293627 +0.28416 0.308773 0.31824 0.28416 0.223573 0.000866667 0.000806667 0.000793333 +0.000746667 0.00076 0.000773333 0.000733333 0.000726667 0.000706667 0.000753333 0.000773333 +0.000733333 0.00072 0.00074 0.000753333 0.00074 0.000766667 0.000746667 0.000753333 +0.000793333 0.00078 0.00078 0.000773333 0.000753333 0.00074 0.000733333 0.000753333 +0.00076 0.000766667 0.000773333 0.00076 0.000766667 0.000766667 0.000766667 0.000773333 +0.000793333 0.000833333 0.000873333 0.000973333 0.242507 0.282267 0.337173 0.411013 +0.500632 0.527789 0.552421 0.572 0.586526 0.596 0.604211 0.607368 +0.608 0.611158 0.609895 0.604842 0.000793333 0.000786667 0.00076 0.000753333 +0.000773333 0.000793333 0.000773333 0.000753333 0.000773333 0.00078 0.000773333 0.000746667 +0.000713333 0.00072 0.000786667 0.000806667 0.000753333 0.000726667 0.000786667 0.0008 +0.000753333 0.000766667 0.000793333 0.000746667 0.00074 0.000773333 0.00074 0.000733333 +0.00076 0.000746667 0.00072 0.000733333 0.000726667 0.000746667 0.000766667 0.000726667 +0.000726667 0.00072 0.000726667 0.00074 0.000753333 0.00076 0.000773333 0.000786667 +0.000766667 0.000726667 0.000713333 0.000726667 0.00072 0.000726667 0.000733333 0.000746667 +0.000733333 0.000713333 0.00074 0.000786667 0.000766667 0.00072 0.000706667 0.000706667 +0.000726667 0.0007 0.000713333 0.00076 0.000786667 0.000746667 0.000666667 0.000653333 +0.000706667 0.000766667 0.00076 0.000766667 0.00074 0.000753333 0.00076 0.000733333 +0.000713333 0.0007 0.000693333 0.000686667 0.000733333 0.000833333 0.225467 0.30688 +0.35232 0.354213 0.348533 0.399653 0.561263 0.745053 0.925684 0.997306 +1.00155 0.989796 0.966105 0.947789 0.947158 0.954105 0.963579 0.971789 +0.979368 0.983265 0.986531 0.996653 1.0071 1.01167 1.01233 1.01069 +1.00939 1.00873 1.00808 1.00743 1.00743 1.00808 1.00514 0.999265 +1.00416 1.03518 1.10565 1.13304 1.05739 1.04073 1.03257 1.02702 +1.01886 0.993388 0.911789 0.791789 0.666737 0.565684 0.506947 0.467813 +0.4716 0.486747 0.500632 0.506316 0.507579 0.507579 0.501895 0.481067 +0.503158 0.512 0.473493 0.39208 0.359893 0.384507 0.429947 0.439413 +0.441307 0.452667 0.42048 0.376933 0.365573 0.358 0.356107 0.359893 +0.407227 0.467813 0.43184 0.37504 0.359893 0.40344 0.509474 0.523368 +0.456453 0.39208 0.393973 0.401547 0.395867 0.390187 0.388293 0.42048 +0.522737 0.564421 0.529053 0.42616 0.367467 0.359893 0.365573 0.376933 +0.37504 0.373147 0.3864 0.39776 0.40344 0.418587 0.422373 0.418587 +0.40344 0.39208 0.411013 0.412907 0.376933 0.36936 0.422373 0.446987 +0.40344 0.388293 0.3864 0.416693 0.446987 0.4148 0.39776 0.390187 +0.376933 0.395867 0.441307 0.506947 0.503158 0.4148 0.376933 0.365573 +0.36936 0.373147 0.36936 0.3864 0.40344 0.390187 0.38072 0.407227 +0.412907 0.40344 0.433733 0.473493 0.450773 0.40344 0.401547 0.452667 +0.450773 0.412907 0.399653 0.40912 0.450773 0.462133 0.469707 0.502526 +0.515158 0.526526 0.537895 0.602316 0.749474 0.883368 0.972421 1.02082 +1.05118 1.05739 1.05118 1.044 1.03714 1.03453 1.04498 1.06 +1.05445 1.03061 1.01363 1.01331 1.01396 1.0391 1.32019 1.60626 +1.66104 1.58191 1.45105 1.2715 1.0813 1.02147 0.996 0.993714 +0.994041 0.999265 1.00351 1.00384 1.00612 1.00743 1.0071 1.00384 +1.00547 1.01069 1.00873 1.00547 1.00057 1.00024 1.0009 0.997306 +0.995347 0.993714 0.982939 0.979368 1.00024 1.02702 1.05347 1.19542 +1.40236 1.61387 1.79646 1.77516 1.4541 1.06152 1.0169 1.00351 +1.00253 1.02735 1.08282 1.08435 1.0391 1.02767 1.02963 1.03257 +1.0378 1.03127 1.01788 1.00645 0.990122 0.976842 0.962947 0.956632 +0.941474 0.891579 0.800632 0.686316 0.594105 0.541053 0.518316 0.511368 +0.504421 0.492427 0.500632 0.506316 0.503789 0.481067 0.433733 0.393973 +0.390187 0.388293 0.390187 0.399653 0.433733 0.5 0.496213 0.475387 +0.481067 0.45456 0.446987 0.46024 0.433733 0.384507 0.365573 0.365573 +0.358 0.3864 0.429947 0.452667 0.441307 0.40912 0.378827 0.361787 +0.361787 0.367467 0.365573 0.378827 0.407227 0.407227 0.399653 0.401547 +0.390187 0.36368 0.34664 0.342853 0.344747 0.365573 0.393973 0.399653 +0.384507 0.376933 0.3864 0.38072 0.367467 0.378827 0.39776 0.462133 +0.549895 0.632 0.638947 0.544211 0.4148 0.37504 0.388293 0.405333 +0.393973 0.399653 0.441307 0.4716 0.424267 0.378827 0.378827 0.382613 +0.39208 0.37504 0.358 0.367467 0.38072 0.39208 0.422373 0.458347 +0.464027 0.501895 0.580211 0.736842 0.903579 1.00678 1.11782 1.34911 +1.29433 1.07674 1.03355 1.03094 1.05216 1.2639 1.53778 1.5104 +1.17716 1.02996 1.01429 1.01233 1.012 1.01037 1.00808 1.00906 +1.01037 1.01135 1.01004 1.0058 0.993714 0.98 0.968632 0.967368 +0.961053 0.952842 0.953474 0.951579 0.950947 0.968632 0.98849 0.999918 +1.00482 0.983592 0.848632 0.649053 0.500632 0.34096 0.299307 0.2728 +0.299307 0.331493 0.291733 0.223573 0.00088 0.000833333 0.000806667 0.000786667 +0.000733333 0.000753333 0.000793333 0.000773333 0.000773333 0.000746667 0.00078 0.000773333 +0.00072 0.0007 0.000706667 0.000733333 0.00074 0.000766667 0.000766667 0.000746667 +0.000766667 0.000766667 0.00076 0.000766667 0.00076 0.000753333 0.000746667 0.00074 +0.00076 0.000773333 0.00078 0.000793333 0.000806667 0.000813333 0.00084 0.000873333 +0.000926667 0.229253 0.2728 0.337173 0.411013 0.496213 0.525895 0.553053 +0.579579 0.598526 0.608632 0.613053 0.612421 0.609263 0.608 0.603579 +0.597263 0.592842 0.585895 0.578316 0.000793333 0.00078 0.000753333 0.00076 +0.000773333 0.00076 0.000733333 0.000713333 0.000706667 0.000726667 0.00072 0.000713333 +0.000693333 0.000746667 0.000793333 0.000753333 0.000713333 0.000753333 0.00082 0.000786667 +0.00078 0.000793333 0.000753333 0.000746667 0.000786667 0.00076 0.000733333 0.000793333 +0.000773333 0.000733333 0.000733333 0.000706667 0.000686667 0.00074 0.0007 0.00068 +0.000713333 0.0007 0.000706667 0.000746667 0.000753333 0.000746667 0.000773333 0.000753333 +0.0007 0.000713333 0.000733333 0.00072 0.000713333 0.000753333 0.000753333 0.00072 +0.000713333 0.000733333 0.00076 0.000746667 0.0007 0.000726667 0.00072 0.00068 +0.000706667 0.00072 0.00076 0.000733333 0.000686667 0.000666667 0.000686667 0.000733333 +0.000726667 0.000733333 0.000733333 0.000773333 0.000786667 0.000793333 0.000766667 0.000726667 +0.000706667 0.00072 0.00074 0.000746667 0.00076 0.000793333 0.000833333 0.223573 +0.320133 0.38072 0.3864 0.393973 0.48296 0.596 0.771579 0.932632 +0.993388 0.997306 0.984571 0.964211 0.956632 0.960421 0.966105 0.968632 +0.973053 0.978105 0.980327 0.987184 0.998612 1.00743 1.01069 1.00939 +1.00808 1.00776 1.00873 1.00808 1.00873 1.01037 1.00873 1.00384 +0.997633 1.00416 1.03453 1.08891 1.09195 1.0489 1.03388 1.02376 +1.0182 1.00971 0.985878 0.902947 0.779158 0.649684 0.553053 0.510105 +0.490533 0.47728 0.486747 0.508842 0.524 0.522737 0.503789 0.49432 +0.514526 0.504421 0.42048 0.382613 0.382613 0.439413 0.4716 0.445093 +0.428053 0.433733 0.424267 0.384507 0.37504 0.388293 0.3864 0.38072 +0.43184 0.4716 0.412907 0.365573 0.371253 0.42616 0.525263 0.538526 +0.484853 0.395867 0.378827 0.37504 0.354213 0.348533 0.365573 0.43184 +0.517684 0.537895 0.506947 0.418587 0.384507 0.3864 0.3864 0.36936 +0.36936 0.36936 0.371253 0.382613 0.382613 0.371253 0.36936 0.350427 +0.34096 0.359893 0.388293 0.395867 0.378827 0.376933 0.43184 0.464027 +0.39776 0.365573 0.367467 0.405333 0.424267 0.39776 0.390187 0.39208 +0.407227 0.441307 0.4716 0.505684 0.506947 0.45456 0.3864 0.36368 +0.371253 0.382613 0.39208 0.412907 0.411013 0.3864 0.376933 0.378827 +0.393973 0.39776 0.44888 0.473493 0.43752 0.3864 0.367467 0.411013 +0.42616 0.390187 0.37504 0.384507 0.395867 0.4148 0.479173 0.521474 +0.533474 0.529053 0.534105 0.631368 0.798737 0.918105 0.994367 1.03682 +1.06304 1.06761 1.04824 1.04335 1.04269 1.03943 1.05118 1.06609 +1.04857 1.02473 1.01069 1.00841 1.00939 1.04204 1.34454 1.63365 +1.72799 1.72951 1.60474 1.34454 1.09043 1.01657 0.992082 0.990449 +0.992082 1.00024 1.00351 1.0022 1.00449 1.00482 1.00449 1.00188 +1.0058 1.01135 1.00939 1.00678 1.00188 1.00122 0.999592 0.998286 +0.997959 0.996 0.986531 0.984898 1.00612 1.03224 1.07217 1.26085 +1.46018 1.61539 1.73255 1.75994 1.588 1.25781 1.04531 1.01429 +1.00384 1.01135 1.03878 1.09043 1.06761 1.04073 1.03453 1.03453 +1.0391 1.0342 1.02212 1.01037 0.996653 0.985878 0.974947 0.966105 +0.954105 0.933263 0.885263 0.782947 0.662947 0.577053 0.538526 0.529053 +0.524632 0.516421 0.511368 0.512 0.505684 0.484853 0.450773 0.42048 +0.407227 0.40912 0.418587 0.429947 0.490533 0.516421 0.492427 0.44888 +0.46592 0.467813 0.433733 0.40344 0.371253 0.35232 0.356107 0.36368 +0.365573 0.39208 0.4148 0.422373 0.424267 0.405333 0.373147 0.350427 +0.350427 0.358 0.36368 0.38072 0.399653 0.395867 0.3864 0.3864 +0.3864 0.36936 0.339067 0.331493 0.35232 0.373147 0.3864 0.390187 +0.382613 0.38072 0.393973 0.395867 0.3864 0.40912 0.450773 0.498107 +0.542316 0.621895 0.650947 0.569474 0.464027 0.384507 0.37504 0.376933 +0.37504 0.390187 0.4432 0.486747 0.446987 0.405333 0.393973 0.399653 +0.411013 0.399653 0.384507 0.395867 0.42048 0.428053 0.4432 0.464027 +0.5 0.565053 0.711579 0.878316 0.990449 1.04824 1.25781 1.29889 +1.14217 1.04922 1.03943 1.04727 1.18477 1.4754 1.52561 1.24411 +1.03845 1.01592 1.01069 1.00873 1.00906 1.01004 1.01037 1.01069 +1.01135 1.01037 1.0071 0.99698 0.982612 0.968632 0.968 0.964842 +0.955368 0.948421 0.947789 0.950947 0.961684 0.985551 0.997959 1.00188 +0.987837 0.874526 0.675579 0.513895 0.34096 0.28416 0.26144 0.280373 +0.308773 0.28416 0.219787 0.000866667 0.000806667 0.000786667 0.00078 0.000753333 +0.000733333 0.000766667 0.00078 0.00076 0.000753333 0.000713333 0.000733333 0.000753333 +0.000726667 0.000713333 0.000713333 0.000733333 0.000726667 0.000753333 0.000786667 0.000766667 +0.000766667 0.000753333 0.00074 0.000753333 0.000753333 0.000766667 0.000773333 0.000766667 +0.000766667 0.000773333 0.000806667 0.000846667 0.000866667 0.0009 0.000966667 0.234933 +0.28984 0.373147 0.467813 0.523368 0.553684 0.578947 0.597895 0.608632 +0.616842 0.619368 0.616842 0.614316 0.606105 0.595368 0.589684 0.577684 +0.563158 0.554316 0.545474 0.538526 0.00076 0.000786667 0.000786667 0.000793333 +0.000786667 0.00078 0.000746667 0.00072 0.000726667 0.00074 0.000726667 0.0007 +0.000693333 0.000766667 0.000746667 0.000693333 0.000706667 0.00078 0.000773333 0.000746667 +0.000766667 0.00072 0.000706667 0.000766667 0.000786667 0.000753333 0.0008 0.00082 +0.00076 0.000753333 0.000733333 0.000726667 0.000753333 0.00074 0.000673333 0.000686667 +0.000686667 0.000686667 0.000706667 0.00068 0.000693333 0.000726667 0.00072 0.000686667 +0.0007 0.000713333 0.0007 0.000686667 0.0007 0.000713333 0.000706667 0.000726667 +0.00074 0.000733333 0.000726667 0.000713333 0.00066 0.000646667 0.000633333 0.000673333 +0.000746667 0.000726667 0.000706667 0.000646667 0.000646667 0.00068 0.00068 0.00068 +0.000686667 0.00072 0.000773333 0.000766667 0.000713333 0.000673333 0.000646667 0.00068 +0.000733333 0.000766667 0.000766667 0.00076 0.000733333 0.000766667 0.00078 0.000873333 +0.263333 0.358 0.393973 0.384507 0.39208 0.484853 0.602316 0.787368 +0.946526 0.998939 0.999592 0.986531 0.972421 0.962316 0.959158 0.961684 +0.963579 0.967368 0.973684 0.978105 0.984571 0.995673 1.00612 1.00939 +1.00873 1.00971 1.01102 1.01069 1.01004 1.00939 1.00743 1.00547 +1.00318 0.997306 1.00416 1.03257 1.06609 1.07826 1.04367 1.02571 +1.01298 1.00612 0.999918 0.976842 0.889053 0.761474 0.640842 0.556842 +0.510105 0.479173 0.481067 0.507579 0.522105 0.515789 0.49432 0.502526 +0.516421 0.48296 0.40912 0.393973 0.416693 0.46024 0.464027 0.42616 +0.399653 0.422373 0.4432 0.399653 0.371253 0.371253 0.367467 0.38072 +0.441307 0.469707 0.4148 0.36936 0.38072 0.450773 0.528421 0.529684 +0.462133 0.388293 0.361787 0.34096 0.339067 0.354213 0.37504 0.43752 +0.510105 0.512632 0.452667 0.388293 0.36936 0.376933 0.376933 0.365573 +0.36368 0.359893 0.356107 0.367467 0.36368 0.354213 0.348533 0.34664 +0.359893 0.371253 0.37504 0.36368 0.367467 0.378827 0.43752 0.473493 +0.401547 0.35232 0.361787 0.390187 0.384507 0.376933 0.376933 0.378827 +0.43184 0.492427 0.475387 0.46024 0.48864 0.452667 0.37504 0.36936 +0.37504 0.37504 0.39208 0.40344 0.393973 0.38072 0.367467 0.378827 +0.405333 0.435627 0.48296 0.481067 0.43184 0.38072 0.36936 0.416693 +0.433733 0.39208 0.39208 0.399653 0.388293 0.418587 0.513263 0.540421 +0.533474 0.514526 0.549263 0.700211 0.866316 0.966105 1.0169 1.04563 +1.05673 1.05184 1.0378 1.0342 1.03845 1.04367 1.06 1.05739 +1.03388 1.01363 1.00547 1.00482 1.01657 1.05576 1.31411 1.52561 +1.6443 1.71733 1.67169 1.4541 1.16803 1.02278 0.994694 0.994367 +0.996 1.00155 1.00286 1.0009 1.00384 1.00384 1.00416 1.00351 +1.00743 1.00906 1.00743 1.00547 1.00122 1.00155 1.00057 0.998939 +0.998612 0.998939 0.997633 1.00188 1.02376 1.05347 1.20151 1.37345 +1.50735 1.54083 1.57278 1.65647 1.62147 1.41758 1.22586 1.06152 +1.03094 1.01461 1.01722 1.04531 1.10108 1.06152 1.04563 1.03812 +1.03878 1.03224 1.02212 1.01396 1.00449 0.993714 0.982939 0.971158 +0.958526 0.945263 0.927579 0.870105 0.762105 0.647158 0.573263 0.547368 +0.544842 0.538526 0.520842 0.515158 0.508842 0.49432 0.473493 0.452667 +0.433733 0.446987 0.484853 0.507579 0.525263 0.520842 0.467813 0.4148 +0.435627 0.473493 0.441307 0.388293 0.373147 0.376933 0.378827 0.3864 +0.388293 0.39208 0.393973 0.393973 0.390187 0.376933 0.361787 0.35232 +0.358 0.36368 0.365573 0.371253 0.378827 0.367467 0.356107 0.358 +0.36936 0.37504 0.34664 0.322027 0.344747 0.356107 0.36936 0.378827 +0.382613 0.390187 0.40344 0.40912 0.401547 0.42616 0.456453 0.462133 +0.524 0.611789 0.658526 0.599158 0.508211 0.40344 0.378827 0.38072 +0.384507 0.390187 0.4432 0.500632 0.46592 0.422373 0.416693 0.424267 +0.42616 0.4148 0.40912 0.42048 0.452667 0.464027 0.467813 0.503158 +0.563158 0.697053 0.856842 0.978105 1.03061 1.16803 1.2715 1.16956 +1.05576 1.04367 1.04596 1.11934 1.38106 1.52561 1.30346 1.04563 +1.01788 1.01167 1.01004 1.01069 1.012 1.01331 1.01265 1.012 +1.012 1.0071 0.997959 0.985878 0.974316 0.970526 0.966737 0.958526 +0.951579 0.947789 0.950947 0.962947 0.981633 0.995673 1.00286 0.989796 +0.896632 0.706526 0.532842 0.358 0.29552 0.2728 0.29552 0.325813 +0.28416 0.000986667 0.00084 0.000813333 0.000813333 0.000793333 0.000793333 0.00076 +0.000746667 0.000773333 0.00078 0.00076 0.00076 0.000726667 0.00074 0.000766667 +0.00074 0.000726667 0.000733333 0.000733333 0.00072 0.000726667 0.000766667 0.000766667 +0.000773333 0.000753333 0.000726667 0.00076 0.000766667 0.000773333 0.000766667 0.000753333 +0.000773333 0.000806667 0.00084 0.000873333 0.000953333 0.240613 0.29552 0.378827 +0.492427 0.536632 0.568842 0.593474 0.608632 0.614316 0.618105 0.618105 +0.615579 0.609263 0.599158 0.592211 0.578947 0.562526 0.552421 0.541053 +0.530947 0.529053 0.532842 0.538526 0.000813333 0.000793333 0.000786667 0.0008 +0.000793333 0.000786667 0.000786667 0.000786667 0.000793333 0.000806667 0.00076 0.00072 +0.00074 0.00078 0.00074 0.0007 0.000746667 0.00078 0.000753333 0.000766667 +0.000773333 0.0007 0.00076 0.000786667 0.000766667 0.000793333 0.000826667 0.000813333 +0.00078 0.000766667 0.00074 0.000773333 0.000773333 0.000733333 0.000726667 0.00074 +0.000726667 0.00072 0.000706667 0.0007 0.000726667 0.000733333 0.000706667 0.000706667 +0.0007 0.000693333 0.00072 0.000706667 0.000686667 0.000706667 0.000753333 0.000766667 +0.000726667 0.000726667 0.000713333 0.000686667 0.000646667 0.000653333 0.0007 0.00072 +0.000693333 0.000626667 0.00066 0.00066 0.00068 0.000686667 0.000666667 0.000686667 +0.000713333 0.000733333 0.000726667 0.000686667 0.000686667 0.000693333 0.000706667 0.000733333 +0.000753333 0.00074 0.0007 0.000733333 0.00076 0.00084 0.000833333 0.000833333 +0.00092 0.259547 0.3296 0.3296 0.322027 0.361787 0.502526 0.635158 +0.825263 0.973053 1.00416 0.999918 0.98751 0.968 0.957263 0.958526 +0.958526 0.960421 0.968632 0.972421 0.976211 0.984245 0.997959 1.00841 +1.01102 1.00939 1.00841 1.00971 1.00971 1.01069 1.01004 1.00841 +1.00743 1.00253 0.994694 1.00155 1.03192 1.07217 1.07065 1.03976 +1.02082 1.00939 1.00253 0.99502 0.969263 0.885263 0.766526 0.645263 +0.555579 0.513895 0.505684 0.511368 0.514526 0.516421 0.517684 0.522737 +0.517053 0.467813 0.405333 0.40912 0.441307 0.469707 0.467813 0.42616 +0.38072 0.405333 0.433733 0.39776 0.36936 0.367467 0.36368 0.39208 +0.450773 0.45456 0.40344 0.373147 0.373147 0.456453 0.521474 0.508842 +0.43752 0.395867 0.36936 0.342853 0.344747 0.361787 0.376933 0.42616 +0.486747 0.464027 0.399653 0.376933 0.37504 0.37504 0.384507 0.390187 +0.371253 0.356107 0.358 0.356107 0.354213 0.359893 0.373147 0.358 +0.358 0.358 0.356107 0.36368 0.365573 0.367467 0.422373 0.464027 +0.42616 0.376933 0.367467 0.373147 0.365573 0.365573 0.37504 0.395867 +0.428053 0.44888 0.416693 0.384507 0.43184 0.456453 0.39776 0.367467 +0.354213 0.359893 0.382613 0.399653 0.395867 0.384507 0.390187 0.40344 +0.433733 0.475387 0.490533 0.44888 0.40344 0.376933 0.38072 0.412907 +0.422373 0.411013 0.422373 0.40912 0.40344 0.486747 0.539158 0.542947 +0.513263 0.508211 0.599158 0.776632 0.919368 0.999592 1.03812 1.05086 +1.04694 1.03878 1.03551 1.04073 1.05314 1.08739 1.09956 1.04563 +1.01722 1.00743 1.01167 1.02049 1.04139 1.12695 1.26542 1.36584 +1.50431 1.60626 1.62908 1.54844 1.32476 1.05151 1.01135 1.00416 +1.00188 1.00188 0.999918 0.997306 1.0022 1.00514 1.00449 1.00514 +1.00678 1.00645 1.00612 1.00416 1.00188 1.00351 1.0022 1.00057 +1.00188 1.01037 1.03159 1.06456 1.2152 1.35215 1.44497 1.48453 +1.50431 1.44801 1.42519 1.52409 1.56822 1.45105 1.38258 1.33845 +1.19847 1.05086 1.02114 1.01886 1.04922 1.1163 1.08587 1.04433 +1.03355 1.02963 1.02506 1.02408 1.01984 1.00645 0.993061 0.982286 +0.964211 0.949053 0.947789 0.935789 0.872 0.762737 0.653474 0.59979 +0.587158 0.565053 0.534737 0.522105 0.518316 0.505053 0.481067 0.46592 +0.446987 0.473493 0.529684 0.56 0.550526 0.512632 0.44888 0.411013 +0.422373 0.5 0.502526 0.435627 0.399653 0.382613 0.376933 0.393973 +0.395867 0.38072 0.37504 0.376933 0.37504 0.36936 0.36936 0.365573 +0.367467 0.365573 0.359893 0.36368 0.371253 0.35232 0.33528 0.348533 +0.359893 0.36368 0.34664 0.3296 0.33528 0.348533 0.367467 0.38072 +0.382613 0.37504 0.378827 0.39776 0.390187 0.399653 0.4148 0.43184 +0.522737 0.598526 0.638947 0.610526 0.537895 0.4716 0.435627 0.42616 +0.411013 0.393973 0.43184 0.500632 0.473493 0.411013 0.405333 0.422373 +0.433733 0.435627 0.441307 0.450773 0.467813 0.486747 0.513263 0.572632 +0.696421 0.847368 0.959789 1.01592 1.10108 1.24868 1.2076 1.0813 +1.0502 1.04792 1.08435 1.31107 1.48757 1.35063 1.05641 1.02082 +1.01265 1.01135 1.01135 1.01265 1.01331 1.01331 1.01265 1.01167 +1.00873 1.00024 0.98751 0.974316 0.970526 0.969263 0.961684 0.952211 +0.946526 0.948421 0.964211 0.983918 0.994041 1.0022 0.995347 0.916211 +0.736842 0.557474 0.388293 0.3012 0.28984 0.316347 0.34096 0.308773 +0.229253 0.000866667 0.000793333 0.000813333 0.000833333 0.000813333 0.0008 0.000773333 +0.000746667 0.000753333 0.00078 0.00076 0.000753333 0.00074 0.000726667 0.000746667 +0.000726667 0.000713333 0.00072 0.000746667 0.00074 0.000726667 0.000753333 0.000766667 +0.000773333 0.00076 0.00074 0.00078 0.000773333 0.000786667 0.0008 0.000793333 +0.00086 0.00094 0.216 0.240613 0.30688 0.405333 0.503158 0.539789 +0.575789 0.601053 0.614316 0.620632 0.619368 0.612421 0.606737 0.600421 +0.589684 0.576421 0.561263 0.548632 0.538526 0.530947 0.527158 0.530947 +0.537263 0.544842 0.556842 0.568842 0.000813333 0.000806667 0.00078 0.000793333 +0.00078 0.000766667 0.00078 0.000793333 0.000786667 0.00078 0.000733333 0.00076 +0.000793333 0.00076 0.000746667 0.000773333 0.000793333 0.00074 0.00074 0.000746667 +0.000706667 0.000713333 0.000773333 0.00076 0.000773333 0.000793333 0.00078 0.000786667 +0.000753333 0.000733333 0.00076 0.000766667 0.000766667 0.00074 0.000753333 0.000766667 +0.00076 0.000746667 0.000753333 0.000753333 0.000746667 0.000746667 0.00072 0.000713333 +0.000713333 0.000726667 0.00072 0.00068 0.000713333 0.00074 0.00078 0.000766667 +0.000753333 0.000733333 0.00068 0.000666667 0.0007 0.00074 0.00074 0.000706667 +0.000673333 0.000666667 0.000686667 0.000653333 0.00066 0.000693333 0.00072 0.00072 +0.000666667 0.00064 0.000653333 0.000666667 0.00072 0.000726667 0.000706667 0.000713333 +0.000693333 0.000706667 0.000753333 0.000806667 0.000853333 0.000886667 0.000813333 0.000733333 +0.000726667 0.000826667 0.251973 0.32392 0.339067 0.348533 0.407227 0.532211 +0.666737 0.849263 0.980327 0.999918 0.99502 0.98098 0.960421 0.954737 +0.953474 0.956 0.962316 0.969263 0.973053 0.979368 0.986857 1.00188 +1.00906 1.00808 1.00612 1.0071 1.00776 1.00939 1.01233 1.01167 +1.01004 1.00743 0.999592 0.994367 1.00286 1.03322 1.07065 1.05837 +1.03649 1.02016 1.00612 0.99698 0.990122 0.969895 0.893474 0.769684 +0.643368 0.560632 0.527158 0.515158 0.508842 0.517053 0.531579 0.529053 +0.506316 0.456453 0.42616 0.42616 0.450773 0.4716 0.46592 0.42616 +0.3864 0.39208 0.40912 0.405333 0.390187 0.37504 0.373147 0.407227 +0.44888 0.445093 0.428053 0.401547 0.39208 0.484853 0.520211 0.484853 +0.405333 0.36936 0.34664 0.33528 0.342853 0.348533 0.365573 0.43184 +0.469707 0.42616 0.382613 0.378827 0.378827 0.36936 0.384507 0.388293 +0.365573 0.359893 0.36368 0.36368 0.37504 0.39776 0.40912 0.407227 +0.39208 0.35232 0.350427 0.367467 0.371253 0.384507 0.416693 0.433733 +0.412907 0.37504 0.365573 0.36936 0.361787 0.367467 0.405333 0.42048 +0.40344 0.399653 0.38072 0.359893 0.416693 0.481067 0.43752 0.3864 +0.36936 0.371253 0.393973 0.412907 0.395867 0.382613 0.407227 0.418587 +0.45456 0.510105 0.508842 0.446987 0.399653 0.3864 0.39776 0.416693 +0.42048 0.446987 0.456453 0.411013 0.439413 0.520211 0.548 0.530947 +0.505684 0.549263 0.697053 0.860632 0.973684 1.02441 1.05445 1.05935 +1.04922 1.04759 1.04955 1.05216 1.10717 1.16499 1.06913 1.02669 +1.00384 1.01167 1.03453 1.05478 1.13608 1.20912 1.24107 1.25324 +1.36584 1.45105 1.50735 1.54844 1.518 1.3978 1.23194 1.05935 +1.02408 1.0071 0.998286 0.993714 1.00155 1.0058 1.00286 1.00514 +1.00514 1.00482 1.00547 1.00482 1.00547 1.00547 1.00482 1.00678 +1.01788 1.05608 1.35824 1.61234 1.68995 1.70516 1.64278 1.51648 +1.43888 1.37802 1.36889 1.45714 1.54235 1.55604 1.59561 1.64582 +1.54387 1.2715 1.04335 1.01102 1.01951 1.05216 1.13152 1.07217 +1.04008 1.03257 1.02996 1.03224 1.03551 1.0231 1.00939 0.996653 +0.983265 0.963579 0.952211 0.949053 0.930737 0.877684 0.795579 0.729263 +0.670526 0.606737 0.565053 0.551789 0.545474 0.524 0.500632 0.481067 +0.490533 0.517053 0.567579 0.588421 0.549263 0.496213 0.43752 0.411013 +0.416693 0.509474 0.539789 0.514526 0.428053 0.388293 0.382613 0.40344 +0.399653 0.36936 0.358 0.36936 0.384507 0.371253 0.359893 0.36368 +0.359893 0.359893 0.356107 0.356107 0.358 0.342853 0.3296 0.34664 +0.35232 0.35232 0.35232 0.34096 0.339067 0.350427 0.37504 0.378827 +0.367467 0.358 0.361787 0.378827 0.373147 0.37504 0.399653 0.46592 +0.531579 0.564421 0.577053 0.583368 0.551158 0.502526 0.450773 0.42616 +0.390187 0.367467 0.411013 0.484853 0.4716 0.411013 0.40344 0.42048 +0.43752 0.450773 0.46592 0.47728 0.500632 0.525263 0.594105 0.716632 +0.850526 0.948421 1.00253 1.05216 1.2076 1.20912 1.11326 1.05576 +1.05118 1.06761 1.26694 1.47692 1.38867 1.07978 1.0218 1.01102 +1.00906 1.01004 1.01102 1.01135 1.01298 1.01265 1.01102 1.01069 +1.00351 0.991102 0.977474 0.966105 0.968632 0.965474 0.956 0.947158 +0.944632 0.957895 0.982612 0.996 1.00318 0.996653 0.929474 0.756421 +0.574526 0.407227 0.297413 0.280373 0.316347 0.339067 0.297413 0.223573 +0.00084 0.0008 0.000766667 0.000766667 0.0008 0.00078 0.00076 0.000726667 +0.00072 0.00072 0.00076 0.000746667 0.000733333 0.000726667 0.000713333 0.00072 +0.000713333 0.00072 0.000693333 0.000713333 0.000746667 0.00072 0.000746667 0.000766667 +0.000773333 0.000766667 0.000753333 0.000793333 0.0008 0.000833333 0.00086 0.000886667 +0.000986667 0.253867 0.31256 0.393973 0.503789 0.544842 0.577684 0.597895 +0.611158 0.615579 0.615579 0.611789 0.601053 0.585263 0.570105 0.557474 +0.544211 0.535368 0.529684 0.528421 0.530316 0.535368 0.541684 0.548632 +0.563158 0.575789 0.592211 0.615579 0.0008 0.0008 0.000786667 0.000773333 +0.000773333 0.000786667 0.0008 0.000786667 0.000773333 0.000753333 0.000746667 0.00082 +0.00082 0.000766667 0.0008 0.000826667 0.00076 0.00074 0.00078 0.000733333 +0.000726667 0.00078 0.00076 0.000766667 0.00078 0.00076 0.000766667 0.00074 +0.000706667 0.00072 0.000713333 0.000733333 0.000753333 0.000726667 0.000753333 0.00076 +0.000746667 0.000746667 0.000746667 0.000753333 0.00076 0.000753333 0.000733333 0.000746667 +0.000753333 0.000726667 0.0007 0.000713333 0.00074 0.000766667 0.0008 0.000773333 +0.000706667 0.00068 0.000726667 0.00076 0.00074 0.0007 0.000673333 0.000693333 +0.000686667 0.00066 0.000686667 0.00072 0.000773333 0.00076 0.000706667 0.000666667 +0.000646667 0.000693333 0.000753333 0.00074 0.000706667 0.000673333 0.000666667 0.0007 +0.000753333 0.000806667 0.000833333 0.0008 0.00076 0.000766667 0.000693333 0.000673333 +0.000706667 0.000786667 0.00096 0.297413 0.359893 0.359893 0.36936 0.435627 +0.541053 0.686316 0.867579 0.981306 0.998939 0.991429 0.974316 0.959789 +0.956632 0.956 0.961684 0.963579 0.970526 0.975579 0.982286 0.990122 +0.998939 1.00514 1.00678 1.0071 1.00906 1.00808 1.00939 1.01037 +1.00906 1.00776 1.00514 1.00122 0.996653 1.00286 1.03192 1.05673 +1.0538 1.0378 1.01755 0.998286 0.991102 0.990449 0.973684 0.893474 +0.769684 0.649684 0.566316 0.521474 0.507579 0.518947 0.542316 0.537263 +0.500632 0.4432 0.43752 0.446987 0.464027 0.47728 0.473493 0.433733 +0.395867 0.384507 0.388293 0.401547 0.388293 0.365573 0.365573 0.39776 +0.435627 0.456453 0.4432 0.395867 0.401547 0.500632 0.516421 0.458347 +0.38072 0.34664 0.339067 0.342853 0.35232 0.34664 0.356107 0.4148 +0.4432 0.40912 0.37504 0.371253 0.367467 0.36936 0.390187 0.39208 +0.371253 0.359893 0.365573 0.382613 0.412907 0.43184 0.4148 0.401547 +0.393973 0.36936 0.35232 0.348533 0.367467 0.384507 0.395867 0.40344 +0.3864 0.359893 0.359893 0.367467 0.37504 0.40344 0.418587 0.393973 +0.371253 0.37504 0.358 0.359893 0.422373 0.473493 0.441307 0.399653 +0.38072 0.376933 0.39208 0.40912 0.4148 0.42048 0.43184 0.439413 +0.49432 0.519579 0.515789 0.48864 0.43752 0.411013 0.422373 0.433733 +0.428053 0.469707 0.486747 0.467813 0.508211 0.533474 0.536 0.520211 +0.532211 0.636421 0.803158 0.935158 1.00547 1.04629 1.09804 1.08891 +1.05118 1.04629 1.04139 1.0489 1.1163 1.09956 1.03649 1.00873 +0.999265 1.02767 1.11173 1.24259 1.30346 1.29737 1.24259 1.21673 +1.27303 1.29585 1.33085 1.39932 1.55148 1.73864 1.79037 1.553 +1.15586 1.02212 0.999592 0.993061 0.998612 1.00351 1.00547 1.00873 +1.00678 1.00808 1.00841 1.00939 1.01004 1.00808 1.0071 1.01363 +1.04465 1.35215 1.76755 1.89841 1.7782 1.66712 1.55148 1.39932 +1.29128 1.2852 1.37802 1.51953 1.67321 1.8558 1.96688 1.9471 +1.71886 1.3278 1.04596 1.01102 0.998939 1.01265 1.05282 1.13912 +1.06913 1.03878 1.02833 1.02996 1.03747 1.03486 1.02767 1.01429 +0.998612 0.982286 0.957263 0.945895 0.939579 0.930105 0.902316 0.848632 +0.755158 0.655368 0.599158 0.589053 0.595368 0.569474 0.537895 0.531579 +0.544842 0.561895 0.573263 0.563158 0.519579 0.450773 0.424267 0.399653 +0.401547 0.506947 0.571368 0.566316 0.502526 0.416693 0.401547 0.40912 +0.395867 0.378827 0.378827 0.388293 0.395867 0.384507 0.37504 0.38072 +0.373147 0.365573 0.36368 0.359893 0.350427 0.348533 0.350427 0.354213 +0.350427 0.354213 0.350427 0.348533 0.350427 0.350427 0.361787 0.359893 +0.354213 0.356107 0.365573 0.382613 0.376933 0.371253 0.412907 0.500632 +0.527789 0.522105 0.514526 0.546737 0.553684 0.512632 0.445093 0.405333 +0.373147 0.371253 0.40912 0.456453 0.458347 0.435627 0.422373 0.418587 +0.4432 0.481067 0.506316 0.524 0.56 0.633895 0.750737 0.873895 +0.952842 0.992735 1.03486 1.15738 1.21216 1.13152 1.05641 1.04988 +1.05739 1.21064 1.4541 1.44497 1.14673 1.02441 1.00906 1.00645 +1.00776 1.01167 1.01298 1.01233 1.01396 1.01298 1.00906 1.00514 +0.993714 0.980327 0.964211 0.962316 0.964211 0.957263 0.949684 0.947158 +0.956 0.98 0.994041 1.00351 1.00057 0.945895 0.777895 0.592842 +0.43184 0.308773 0.287947 0.31256 0.33528 0.286053 0.000986667 0.00082 +0.00078 0.000806667 0.000813333 0.000793333 0.000766667 0.00076 0.000726667 0.000706667 +0.000726667 0.000726667 0.000746667 0.00074 0.000733333 0.000746667 0.00074 0.000733333 +0.000706667 0.000706667 0.000693333 0.000673333 0.0007 0.000693333 0.000726667 0.000746667 +0.00076 0.000773333 0.000786667 0.00086 0.000886667 0.00092 0.000986667 0.251973 +0.325813 0.424267 0.512632 0.549263 0.584 0.606737 0.616842 0.617474 +0.614947 0.609263 0.597895 0.582105 0.561263 0.540421 0.525895 0.522105 +0.524632 0.529684 0.532842 0.537263 0.542947 0.549263 0.56 0.579579 +0.609895 0.640211 0.671158 0.698947 0.00068 0.000706667 0.000753333 0.000786667 +0.000833333 0.000813333 0.000793333 0.00078 0.000726667 0.0007 0.000746667 0.000813333 +0.000786667 0.00076 0.00082 0.000793333 0.000746667 0.000786667 0.000773333 0.000766667 +0.00082 0.000813333 0.000786667 0.000806667 0.000766667 0.000786667 0.000793333 0.00076 +0.000746667 0.000706667 0.000706667 0.000733333 0.00074 0.000713333 0.000726667 0.000726667 +0.000726667 0.000706667 0.00072 0.000753333 0.000726667 0.000726667 0.00076 0.000746667 +0.000713333 0.00072 0.000726667 0.000713333 0.000733333 0.000766667 0.000766667 0.000686667 +0.00066 0.000693333 0.000726667 0.00072 0.000686667 0.00068 0.00066 0.00064 +0.000633333 0.000686667 0.000753333 0.000753333 0.00074 0.000646667 0.000626667 0.00068 +0.0007 0.00072 0.000726667 0.0007 0.00072 0.000746667 0.00076 0.000793333 +0.000806667 0.0008 0.000733333 0.000673333 0.000646667 0.0007 0.00072 0.00076 +0.00084 0.00088 0.000906667 0.231147 0.30688 0.348533 0.342853 0.350427 +0.428053 0.554947 0.710947 0.889053 0.98849 1.00122 0.989143 0.978737 +0.962316 0.955368 0.957895 0.963579 0.962947 0.968632 0.974316 0.981306 +0.987837 0.99698 1.00416 1.00776 1.01069 1.00939 1.00906 1.00873 +1.0071 1.0071 1.00645 1.00482 1.0009 0.993714 0.999592 1.02604 +1.05118 1.0551 1.03812 1.01102 0.994694 0.992082 0.989469 0.968632 +0.893474 0.782316 0.661684 0.558105 0.509474 0.511368 0.539158 0.546105 +0.515789 0.473493 0.452667 0.462133 0.464027 0.473493 0.47728 0.4432 +0.405333 0.39208 0.388293 0.40344 0.39208 0.359893 0.361787 0.395867 +0.433733 0.456453 0.429947 0.388293 0.429947 0.517053 0.518316 0.42616 +0.361787 0.34664 0.342853 0.34664 0.337173 0.325813 0.344747 0.378827 +0.40912 0.393973 0.365573 0.36368 0.378827 0.40912 0.435627 0.416693 +0.361787 0.350427 0.37504 0.388293 0.40912 0.42048 0.39776 0.373147 +0.36936 0.376933 0.371253 0.361787 0.365573 0.382613 0.390187 0.39776 +0.382613 0.361787 0.361787 0.361787 0.376933 0.401547 0.384507 0.350427 +0.361787 0.382613 0.365573 0.38072 0.424267 0.435627 0.429947 0.435627 +0.411013 0.399653 0.405333 0.418587 0.45456 0.475387 0.486747 0.492427 +0.510105 0.516421 0.505053 0.505053 0.503789 0.46592 0.446987 0.450773 +0.458347 0.505053 0.519579 0.523368 0.537895 0.542947 0.532842 0.537263 +0.607368 0.755158 0.897263 0.990122 1.03094 1.05673 1.07369 1.05314 +1.03747 1.02931 1.02898 1.05641 1.12999 1.04661 1.01069 0.992735 +0.999265 1.05086 1.34302 1.51344 1.51344 1.41149 1.2852 1.23803 +1.25477 1.25933 1.24259 1.24107 1.36432 1.58343 1.77516 1.73864 +1.4541 1.09652 1.01853 1.00286 1.00384 1.00416 1.0071 1.00906 +1.0058 1.00873 1.00939 1.01004 1.00873 1.00808 1.01396 1.03551 +1.16803 1.50583 1.73255 1.72494 1.60474 1.49214 1.39323 1.2852 +1.2289 1.31411 1.52257 1.72342 1.86645 2.00644 2.00188 1.83298 +1.518 1.18934 1.04629 1.01722 0.990776 0.984898 1.01429 1.06304 +1.15586 1.05771 1.03094 1.02767 1.03388 1.03812 1.04204 1.03322 +1.01527 0.998612 0.980653 0.956632 0.945263 0.940211 0.934526 0.911789 +0.847368 0.755158 0.662947 0.616842 0.615579 0.608 0.605474 0.614947 +0.62 0.596632 0.557474 0.532211 0.498107 0.418587 0.405333 0.390187 +0.390187 0.46024 0.542947 0.556211 0.505684 0.40912 0.384507 0.39208 +0.388293 0.393973 0.405333 0.393973 0.39208 0.40344 0.395867 0.38072 +0.371253 0.367467 0.376933 0.373147 0.358 0.382613 0.39208 0.365573 +0.350427 0.344747 0.339067 0.344747 0.344747 0.350427 0.354213 0.350427 +0.342853 0.348533 0.37504 0.38072 0.365573 0.359893 0.39208 0.469707 +0.503158 0.45456 0.428053 0.520211 0.554316 0.532211 0.481067 0.412907 +0.388293 0.39776 0.42048 0.43752 0.452667 0.46024 0.452667 0.445093 +0.479173 0.515789 0.546737 0.597895 0.684421 0.796211 0.900421 0.974316 +0.99698 1.02049 1.06152 1.1726 1.14065 1.05967 1.04465 1.04759 +1.15282 1.40845 1.47083 1.20455 1.02931 1.00743 1.00547 1.00514 +1.00971 1.01396 1.01396 1.01363 1.01461 1.01331 1.0058 0.994367 +0.982286 0.967368 0.964211 0.964211 0.958526 0.950316 0.947789 0.955368 +0.977474 0.994367 1.00547 1.00318 0.964842 0.806316 0.613684 0.475387 +0.32392 0.287947 0.31256 0.320133 0.274693 0.000973333 0.000833333 0.00078 +0.00078 0.000793333 0.00078 0.000746667 0.000713333 0.000706667 0.0007 0.000706667 +0.000733333 0.000726667 0.000753333 0.000726667 0.000706667 0.000726667 0.00074 0.00074 +0.000713333 0.0007 0.000706667 0.0007 0.000693333 0.000706667 0.000773333 0.00082 +0.00086 0.000893333 0.0009 0.00096 0.22736 0.269013 0.34664 0.446987 +0.522105 0.56 0.590316 0.608632 0.618737 0.623158 0.619368 0.608 +0.594105 0.575789 0.551789 0.527789 0.512 0.508211 0.514526 0.524632 +0.530947 0.534737 0.535368 0.542316 0.562526 0.592842 0.627579 0.666105 +0.701474 0.722947 0.726105 0.712842 0.000553333 0.0006 0.000633333 0.000713333 +0.000746667 0.00078 0.000806667 0.00078 0.00072 0.000706667 0.000786667 0.00078 +0.000726667 0.00076 0.00078 0.000726667 0.000773333 0.000766667 0.000733333 0.000773333 +0.000786667 0.000766667 0.000773333 0.000773333 0.000773333 0.0008 0.000806667 0.000793333 +0.00074 0.000713333 0.000726667 0.00072 0.000726667 0.00072 0.000733333 0.000746667 +0.00074 0.000726667 0.000746667 0.000753333 0.00074 0.000766667 0.000766667 0.000706667 +0.000706667 0.000733333 0.000746667 0.000753333 0.00076 0.000733333 0.0007 0.000686667 +0.0007 0.000693333 0.000706667 0.000706667 0.000673333 0.000633333 0.000626667 0.000653333 +0.00072 0.000766667 0.000713333 0.00064 0.000626667 0.00064 0.00068 0.00068 +0.000633333 0.000633333 0.000673333 0.000706667 0.000766667 0.000786667 0.000766667 0.000733333 +0.000686667 0.000653333 0.000633333 0.00066 0.000713333 0.0008 0.000833333 0.000833333 +0.00084 0.000833333 0.000826667 0.000873333 0.223573 0.29552 0.344747 0.331493 +0.359893 0.44888 0.569474 0.745053 0.922526 0.996653 0.999918 0.990449 +0.978105 0.961684 0.964842 0.969895 0.963579 0.959158 0.964842 0.971158 +0.98098 0.987837 0.997959 1.0071 1.01037 1.01102 1.01298 1.01135 +1.00939 1.01004 1.00971 1.00743 1.0058 1.00057 0.993388 0.997633 +1.02343 1.05053 1.05347 1.03257 1.00776 0.994041 0.990449 0.988163 +0.970526 0.908632 0.804421 0.666105 0.558105 0.514526 0.517684 0.530316 +0.523368 0.510105 0.503789 0.49432 0.479173 0.498107 0.498107 0.479173 +0.467813 0.439413 0.422373 0.439413 0.429947 0.388293 0.3864 0.416693 +0.456453 0.445093 0.399653 0.388293 0.46024 0.529684 0.516421 0.399653 +0.34664 0.34664 0.358 0.365573 0.34664 0.331493 0.354213 0.38072 +0.405333 0.39776 0.365573 0.356107 0.378827 0.429947 0.467813 0.4432 +0.378827 0.37504 0.40344 0.40344 0.407227 0.418587 0.428053 0.4148 +0.388293 0.378827 0.376933 0.36368 0.365573 0.37504 0.39208 0.40344 +0.393973 0.38072 0.376933 0.376933 0.376933 0.365573 0.339067 0.331493 +0.365573 0.382613 0.376933 0.399653 0.416693 0.39776 0.399653 0.429947 +0.4148 0.405333 0.411013 0.43184 0.456453 0.479173 0.48864 0.469707 +0.496213 0.500632 0.450773 0.490533 0.518316 0.514526 0.506947 0.510105 +0.517053 0.529053 0.538526 0.536 0.532211 0.534737 0.541684 0.594737 +0.719789 0.865053 0.974316 1.01918 1.04922 1.05706 1.05282 1.04139 +1.02963 1.02571 1.04367 1.14065 1.09195 1.02082 0.992408 0.988163 +1.0058 1.05804 1.43279 1.68842 1.70973 1.58952 1.46779 1.38562 +1.37802 1.44497 1.44192 1.39019 1.38562 1.42671 1.47236 1.51953 +1.55604 1.43432 1.19542 1.04531 1.01788 1.00449 1.00449 1.00449 +1.00155 1.00318 1.00482 1.00612 1.00612 1.01069 1.03976 1.21368 +1.43888 1.55604 1.55452 1.54844 1.54235 1.49518 1.44649 1.38715 +1.42062 1.57887 1.7082 1.74168 1.70668 1.66256 1.56974 1.45562 +1.3415 1.28063 1.18173 1.03812 0.992735 0.973053 0.98751 1.02245 +1.1026 1.1376 1.04433 1.03029 1.03094 1.03322 1.04139 1.044 +1.03486 1.02147 1.0022 0.984898 0.968 0.950316 0.942737 0.939579 +0.918737 0.866947 0.774737 0.685684 0.655368 0.660421 0.662947 0.648421 +0.619368 0.574526 0.540421 0.529053 0.5 0.42048 0.416693 0.412907 +0.40344 0.418587 0.486747 0.510105 0.484853 0.40912 0.38072 0.382613 +0.38072 0.39776 0.40344 0.393973 0.40344 0.42048 0.401547 0.365573 +0.365573 0.373147 0.393973 0.39776 0.378827 0.395867 0.39208 0.367467 +0.359893 0.350427 0.348533 0.358 0.354213 0.356107 0.361787 0.350427 +0.342853 0.35232 0.367467 0.359893 0.361787 0.36368 0.378827 0.433733 +0.46592 0.411013 0.390187 0.479173 0.526526 0.525895 0.508211 0.462133 +0.428053 0.424267 0.43184 0.429947 0.445093 0.47728 0.496213 0.503158 +0.517053 0.56 0.633895 0.728 0.829684 0.918737 0.982939 1.01004 +1.02767 1.04824 1.095 1.1026 1.06609 1.05151 1.04433 1.08435 +1.33085 1.45866 1.24868 1.03584 1.0071 1.00416 1.00547 1.00808 +1.01233 1.01298 1.01265 1.01527 1.01429 1.00808 0.995347 0.981959 +0.971158 0.966105 0.964842 0.957895 0.949053 0.947789 0.954105 0.977474 +0.993714 1.00482 1.00547 0.975579 0.831579 0.635789 0.49432 0.350427 +0.308773 0.30688 0.30688 0.26144 0.00094 0.00084 0.000806667 0.00076 +0.000773333 0.000773333 0.000746667 0.000733333 0.000733333 0.000713333 0.00068 0.000693333 +0.00074 0.000726667 0.00074 0.00074 0.000713333 0.000733333 0.00072 0.000726667 +0.00074 0.000713333 0.000693333 0.000693333 0.000693333 0.000733333 0.000806667 0.000866667 +0.000906667 0.000926667 0.000966667 0.253867 0.333387 0.441307 0.524632 0.561895 +0.590947 0.609263 0.616842 0.618105 0.611789 0.604211 0.589053 0.568211 +0.544842 0.524 0.507579 0.502526 0.508842 0.519579 0.529053 0.534737 +0.537895 0.548632 0.570737 0.606105 0.652842 0.697053 0.724842 0.729895 +0.713474 0.673684 0.626316 0.575789 0.00062 0.000593333 0.000586667 0.000546667 +0.000626667 0.000673333 0.000753333 0.00076 0.000726667 0.000806667 0.00084 0.0008 +0.000793333 0.000806667 0.000753333 0.000773333 0.000833333 0.00078 0.00078 0.000786667 +0.00078 0.000773333 0.00076 0.000773333 0.000786667 0.000786667 0.0008 0.000766667 +0.000726667 0.00074 0.000766667 0.000773333 0.000773333 0.000766667 0.000773333 0.000773333 +0.000746667 0.000746667 0.000773333 0.00078 0.000786667 0.000773333 0.000746667 0.00072 +0.000733333 0.000773333 0.000786667 0.000746667 0.00072 0.00074 0.00072 0.000733333 +0.000733333 0.000733333 0.00072 0.000666667 0.00062 0.000633333 0.00072 0.000766667 +0.000746667 0.00072 0.000673333 0.000673333 0.000693333 0.000673333 0.00064 0.000633333 +0.000646667 0.000713333 0.000786667 0.000766667 0.00074 0.000706667 0.000653333 0.00062 +0.000646667 0.000706667 0.00074 0.00078 0.000813333 0.00086 0.000846667 0.000793333 +0.000773333 0.00078 0.000773333 0.00078 0.0008 0.00096 0.303093 0.34664 +0.35232 0.371253 0.46592 0.59979 0.783579 0.940842 0.99698 0.999265 +0.990776 0.976842 0.973684 0.978737 0.971158 0.960421 0.957895 0.963579 +0.974316 0.981306 0.989469 1.00122 1.00971 1.01004 1.01004 1.01135 +1.01135 1.01102 1.00971 1.00808 1.00939 1.00873 1.00122 0.992735 +0.997306 1.02114 1.04498 1.04727 1.02669 1.00482 0.994041 0.991755 +0.992082 0.982939 0.928842 0.811368 0.662316 0.555579 0.514526 0.512 +0.517684 0.522737 0.519579 0.512632 0.507579 0.512632 0.513263 0.517053 +0.515789 0.490533 0.452667 0.462133 0.441307 0.405333 0.388293 0.407227 +0.441307 0.418587 0.378827 0.38072 0.46592 0.530316 0.510737 0.401547 +0.367467 0.367467 0.376933 0.378827 0.356107 0.33528 0.354213 0.36368 +0.388293 0.390187 0.361787 0.356107 0.367467 0.401547 0.445093 0.490533 +0.501895 0.48864 0.45456 0.416693 0.393973 0.393973 0.441307 0.47728 +0.441307 0.393973 0.37504 0.382613 0.373147 0.365573 0.376933 0.382613 +0.388293 0.390187 0.39776 0.393973 0.367467 0.344747 0.331493 0.337173 +0.37504 0.399653 0.401547 0.411013 0.399653 0.371253 0.361787 0.39776 +0.4148 0.40344 0.405333 0.424267 0.424267 0.43752 0.4432 0.42616 +0.4716 0.492427 0.441307 0.44888 0.503158 0.529053 0.558105 0.565053 +0.551789 0.533474 0.527158 0.515158 0.503158 0.513895 0.554947 0.668 +0.822737 0.946526 1.00776 1.04204 1.05641 1.05282 1.04531 1.03649 +1.028 1.03127 1.07978 1.16803 1.04335 1.00057 0.984571 0.991102 +1.01396 1.05576 1.30194 1.52409 1.59256 1.55909 1.55452 1.518 +1.54691 1.67016 1.72646 1.68538 1.58952 1.47996 1.34911 1.3278 +1.46018 1.58952 1.60017 1.39475 1.06152 1.01527 1.00449 1.00024 +0.999918 1.00155 1.00318 1.00776 1.01135 1.03845 1.31107 1.62908 +1.7006 1.63212 1.518 1.50127 1.56365 1.57887 1.56974 1.57583 +1.65951 1.72038 1.62756 1.47236 1.37649 1.35215 1.36432 1.43584 +1.48909 1.46018 1.28063 1.04204 0.991755 0.965474 0.969895 0.991102 +1.03388 1.12999 1.09043 1.04237 1.03061 1.02637 1.03029 1.03845 +1.04465 1.04367 1.03094 1.01396 0.994367 0.973684 0.951579 0.945895 +0.940842 0.925684 0.877053 0.804421 0.760842 0.743158 0.704632 0.649684 +0.589684 0.544211 0.541684 0.555579 0.525895 0.47728 0.464027 0.452667 +0.43752 0.435627 0.4432 0.46024 0.481067 0.446987 0.39776 0.37504 +0.373147 0.393973 0.412907 0.439413 0.45456 0.433733 0.39776 0.36936 +0.373147 0.37504 0.390187 0.405333 0.384507 0.371253 0.367467 0.354213 +0.361787 0.356107 0.35232 0.376933 0.384507 0.376933 0.36368 0.354213 +0.359893 0.36368 0.359893 0.354213 0.361787 0.36936 0.3864 0.435627 +0.44888 0.401547 0.373147 0.43184 0.502526 0.504421 0.500632 0.48864 +0.462133 0.4432 0.43752 0.441307 0.464027 0.500632 0.512 0.525263 +0.566947 0.657895 0.773474 0.866947 0.92821 0.974947 1.00449 1.03061 +1.04792 1.06 1.07369 1.05935 1.0551 1.05216 1.07217 1.25477 +1.39171 1.23955 1.0378 1.00678 1.00253 1.00514 1.00873 1.01265 +1.01363 1.01135 1.01265 1.01429 1.00776 0.996 0.982612 0.971789 +0.971789 0.969263 0.959789 0.950316 0.949053 0.957263 0.976842 0.993061 +1.00416 1.0058 0.982286 0.851158 0.65979 0.511368 0.361787 0.333387 +0.327707 0.304987 0.246293 0.00094 0.00084 0.000806667 0.000786667 0.000766667 +0.000773333 0.000766667 0.000733333 0.00072 0.000733333 0.000693333 0.00064 0.00066 +0.000693333 0.000706667 0.000706667 0.0007 0.000693333 0.0007 0.00066 0.00066 +0.0007 0.000686667 0.000686667 0.0007 0.000726667 0.000786667 0.000813333 0.000853333 +0.00092 0.23872 0.32392 0.445093 0.526526 0.561895 0.590316 0.609263 +0.617474 0.62 0.615579 0.604211 0.587158 0.570105 0.548632 0.531579 +0.518316 0.515789 0.518316 0.518947 0.522105 0.524632 0.525895 0.545474 +0.581474 0.626947 0.674947 0.712842 0.728632 0.719789 0.684421 0.626947 +0.568211 0.517053 0.42616 0.331493 0.000726667 0.000706667 0.00062 0.0006 +0.000566667 0.000613333 0.000533333 0.000546667 0.000613333 0.000733333 0.000786667 0.000766667 +0.00084 0.000813333 0.000786667 0.00084 0.00082 0.000786667 0.000793333 0.000786667 +0.000826667 0.0008 0.000786667 0.0008 0.00082 0.000793333 0.000746667 0.000726667 +0.000713333 0.000713333 0.00074 0.00076 0.000773333 0.000753333 0.000766667 0.000766667 +0.00074 0.00074 0.000766667 0.000753333 0.000733333 0.000713333 0.000693333 0.0007 +0.000746667 0.000766667 0.000726667 0.0007 0.000713333 0.00072 0.000713333 0.00078 +0.000773333 0.000693333 0.00062 0.000613333 0.00068 0.000726667 0.000733333 0.000673333 +0.000653333 0.000693333 0.000673333 0.000653333 0.000626667 0.00062 0.000666667 0.000733333 +0.000766667 0.00076 0.000706667 0.0006 0.000566667 0.0006 0.000633333 0.0007 +0.000793333 0.00082 0.0008 0.000753333 0.000746667 0.000746667 0.00072 0.000686667 +0.000693333 0.000733333 0.00076 0.000766667 0.000766667 0.000793333 0.22736 0.31824 +0.35232 0.354213 0.384507 0.506316 0.629474 0.806947 0.951579 0.997959 +0.998612 0.985878 0.973053 0.973053 0.971789 0.961053 0.956 0.959158 +0.968632 0.974316 0.980327 0.989469 1.0009 1.00645 1.0071 1.00841 +1.01102 1.00939 1.00612 1.00678 1.00971 1.00906 1.00482 0.997633 +0.992082 0.996327 1.01461 1.03584 1.03845 1.02408 1.0058 0.994367 +0.995347 0.998939 0.989469 0.925053 0.795579 0.660421 0.563158 0.518316 +0.518947 0.530316 0.532842 0.532211 0.527158 0.524632 0.518947 0.507579 +0.500632 0.46024 0.428053 0.422373 0.416693 0.412907 0.412907 0.42048 +0.42048 0.393973 0.371253 0.390187 0.498107 0.530947 0.496213 0.38072 +0.367467 0.382613 0.384507 0.367467 0.350427 0.344747 0.350427 0.371253 +0.3864 0.38072 0.361787 0.358 0.36368 0.36936 0.393973 0.48864 +0.525895 0.518947 0.47728 0.40912 0.365573 0.376933 0.475387 0.513263 +0.475387 0.4148 0.39776 0.412907 0.395867 0.37504 0.378827 0.39208 +0.3864 0.393973 0.418587 0.412907 0.365573 0.34096 0.320133 0.327707 +0.388293 0.433733 0.42048 0.407227 0.39208 0.365573 0.361787 0.39776 +0.4148 0.40912 0.418587 0.429947 0.428053 0.439413 0.433733 0.433733 +0.486747 0.506316 0.48864 0.469707 0.479173 0.523368 0.566316 0.566947 +0.544842 0.520842 0.512 0.501895 0.500632 0.530316 0.611158 0.761474 +0.911158 0.998286 1.0342 1.0538 1.05445 1.04269 1.03192 1.02473 +1.02473 1.04498 1.15738 1.10565 1.01853 0.987837 0.98 0.990122 +1.01722 1.05282 1.16499 1.28368 1.30194 1.2715 1.30194 1.3415 +1.42214 1.52257 1.60626 1.62604 1.55909 1.43888 1.29585 1.29433 +1.38106 1.51344 1.66712 1.56822 1.2289 1.03551 1.00808 1.00024 +1.00155 1.00286 1.0022 1.00841 1.02931 1.24259 1.72038 1.85732 +1.71733 1.60474 1.48301 1.42214 1.4754 1.53626 1.57126 1.59713 +1.62908 1.60626 1.52713 1.48453 1.51496 1.53626 1.47996 1.4754 +1.47236 1.35671 1.15586 1.02865 0.988816 0.960421 0.956632 0.969895 +0.998939 1.05184 1.16651 1.08435 1.03976 1.02604 1.02376 1.028 +1.03551 1.04465 1.04988 1.044 1.0231 0.999918 0.976842 0.959789 +0.956 0.949684 0.930105 0.898526 0.864421 0.817684 0.758947 0.695789 +0.623789 0.565684 0.555579 0.575158 0.559368 0.515158 0.475387 0.467813 +0.492427 0.47728 0.435627 0.42616 0.473493 0.484853 0.424267 0.388293 +0.39208 0.42048 0.456453 0.5 0.500632 0.46592 0.435627 0.407227 +0.39208 0.376933 0.38072 0.382613 0.36368 0.361787 0.361787 0.36368 +0.361787 0.356107 0.359893 0.3864 0.393973 0.378827 0.378827 0.382613 +0.384507 0.37504 0.36936 0.376933 0.388293 0.401547 0.4148 0.441307 +0.429947 0.384507 0.378827 0.458347 0.509474 0.498107 0.469707 0.47728 +0.484853 0.481067 0.47728 0.498107 0.509474 0.516421 0.533474 0.578316 +0.673053 0.797474 0.894105 0.947158 0.974316 0.991102 1.01429 1.03682 +1.05216 1.06304 1.06609 1.05967 1.05543 1.07978 1.23346 1.34606 +1.20607 1.0329 1.00416 1.00155 1.00514 1.00906 1.012 1.01461 +1.01396 1.01135 1.01233 1.00841 0.99698 0.983265 0.968632 0.968632 +0.968 0.961684 0.951579 0.945895 0.954105 0.974947 0.991102 1.00155 +1.00482 0.98751 0.872 0.683789 0.526526 0.371253 0.33528 0.327707 +0.291733 0.23304 0.00084 0.00078 0.000786667 0.000773333 0.000746667 0.000746667 +0.00074 0.000733333 0.000726667 0.00068 0.000693333 0.00068 0.000653333 0.000653333 +0.00066 0.00068 0.000693333 0.000673333 0.00066 0.00068 0.000653333 0.00066 +0.0007 0.000713333 0.000753333 0.000793333 0.000813333 0.00086 0.0009 0.225467 +0.310667 0.4432 0.528421 0.571368 0.603579 0.613684 0.614947 0.617474 +0.617474 0.611158 0.597263 0.574526 0.553684 0.539789 0.530947 0.528421 +0.525263 0.523368 0.520842 0.512 0.505053 0.513263 0.548 0.616842 +0.686316 0.724842 0.728 0.699579 0.644 0.581474 0.522105 0.422373 +0.322027 0.269013 0.242507 0.225467 0.000746667 0.00072 0.0007 0.000666667 +0.000686667 0.000626667 0.00056 0.000506667 0.00056 0.000566667 0.000546667 0.000653333 +0.000706667 0.000746667 0.0008 0.0008 0.000786667 0.0008 0.0008 0.0008 +0.000806667 0.0008 0.0008 0.00082 0.000826667 0.000773333 0.00072 0.000713333 +0.00072 0.000713333 0.00072 0.000726667 0.00072 0.00072 0.000726667 0.000733333 +0.000733333 0.000753333 0.00078 0.000746667 0.000726667 0.000726667 0.000733333 0.00076 +0.000773333 0.000733333 0.0007 0.000673333 0.000686667 0.000753333 0.000786667 0.00078 +0.00068 0.000626667 0.00064 0.000706667 0.00072 0.00068 0.000653333 0.000633333 +0.000626667 0.000626667 0.000586667 0.000626667 0.000693333 0.000766667 0.00082 0.000753333 +0.000673333 0.000613333 0.000573333 0.000573333 0.000633333 0.00072 0.000766667 0.000773333 +0.000766667 0.000733333 0.0007 0.00068 0.00068 0.000693333 0.000706667 0.0007 +0.0007 0.00074 0.00074 0.00074 0.000746667 0.00076 0.000866667 0.2444 +0.322027 0.365573 0.376933 0.416693 0.527158 0.659158 0.834105 0.971789 +1.00155 0.995673 0.983265 0.972421 0.969895 0.966105 0.960421 0.959789 +0.963579 0.968632 0.973053 0.98098 0.989469 0.999592 1.00514 1.00808 +1.01135 1.01102 1.00906 1.0071 1.00873 1.01037 1.00906 1.00351 +0.997633 0.993388 0.993061 1.00776 1.02963 1.03943 1.02637 1.00318 +0.990449 0.989796 0.986857 0.961684 0.895368 0.799368 0.681895 0.584 +0.542316 0.536632 0.537263 0.535368 0.524632 0.519579 0.510737 0.479173 +0.456453 0.429947 0.4148 0.407227 0.407227 0.4148 0.416693 0.418587 +0.40344 0.3864 0.376933 0.418587 0.519579 0.536632 0.48296 0.390187 +0.390187 0.416693 0.428053 0.388293 0.354213 0.344747 0.35232 0.36936 +0.378827 0.373147 0.359893 0.361787 0.367467 0.36936 0.39776 0.469707 +0.511368 0.510737 0.46592 0.401547 0.382613 0.399653 0.500632 0.519579 +0.467813 0.40344 0.395867 0.39208 0.378827 0.371253 0.388293 0.393973 +0.388293 0.40344 0.4432 0.464027 0.418587 0.376933 0.350427 0.358 +0.429947 0.469707 0.433733 0.399653 0.382613 0.36936 0.371253 0.399653 +0.42048 0.429947 0.43184 0.43184 0.435627 0.441307 0.433733 0.43184 +0.462133 0.506947 0.507579 0.48864 0.47728 0.506316 0.532211 0.539158 +0.530316 0.517684 0.509474 0.503158 0.520211 0.590316 0.724211 0.878316 +0.98849 1.02996 1.0538 1.05576 1.04269 1.02898 1.01853 1.0169 +1.02931 1.09804 1.18934 1.04367 0.997306 0.976842 0.977474 0.993714 +1.02245 1.04661 1.07217 1.18782 1.2502 1.22738 1.1939 1.17564 +1.19086 1.21977 1.2715 1.30194 1.30194 1.27607 1.22738 1.24107 +1.24716 1.26085 1.28368 1.20303 1.07674 1.03584 1.00906 0.996653 +0.998612 0.997633 0.99502 1.00286 1.04073 1.29585 1.56213 1.49366 +1.32324 1.29433 1.26237 1.24259 1.28063 1.35519 1.49062 1.65191 +1.80559 1.86189 1.86341 1.8558 1.83602 1.71886 1.45562 1.30041 +1.27607 1.18782 1.05837 1.02343 0.991755 0.964842 0.957895 0.961053 +0.975579 1.01461 1.11173 1.15738 1.05412 1.0329 1.02473 1.02441 +1.02539 1.03322 1.04727 1.05673 1.05086 1.03257 1.00873 0.989469 +0.975579 0.961053 0.949053 0.937684 0.922526 0.883368 0.826526 0.762105 +0.689474 0.618105 0.575158 0.580842 0.579579 0.534737 0.49432 0.484853 +0.506316 0.496213 0.4432 0.422373 0.4716 0.508211 0.486747 0.45456 +0.46592 0.484853 0.490533 0.490533 0.469707 0.450773 0.452667 0.433733 +0.401547 0.378827 0.376933 0.37504 0.361787 0.36936 0.373147 0.367467 +0.367467 0.36368 0.38072 0.407227 0.39776 0.382613 0.388293 0.39208 +0.378827 0.376933 0.384507 0.393973 0.40912 0.441307 0.435627 0.42616 +0.405333 0.3864 0.416693 0.49432 0.513895 0.492427 0.450773 0.450773 +0.47728 0.501263 0.509474 0.525263 0.537263 0.551789 0.608 0.704632 +0.816421 0.908 0.959789 0.982286 0.988816 0.999918 1.01951 1.03682 +1.05118 1.06609 1.06609 1.05771 1.07369 1.19999 1.31107 1.19086 +1.02996 0.998939 0.999592 1.00482 1.00841 1.01004 1.01069 1.01298 +1.01233 1.00971 1.00776 0.998612 0.983265 0.967368 0.964211 0.967368 +0.961684 0.954737 0.952211 0.954105 0.971158 0.990122 1.00351 1.0058 +0.98849 0.887158 0.702737 0.540421 0.395867 0.339067 0.316347 0.274693 +0.00098 0.00082 0.00074 0.000733333 0.000746667 0.00076 0.000733333 0.000726667 +0.000726667 0.000733333 0.000713333 0.00066 0.000673333 0.00066 0.000646667 0.000633333 +0.00062 0.00064 0.00068 0.00066 0.00066 0.00068 0.000686667 0.000706667 +0.00072 0.000713333 0.000786667 0.00082 0.000833333 0.00098 0.280373 0.401547 +0.517053 0.565053 0.597895 0.615579 0.624421 0.62 0.614316 0.609263 +0.600421 0.588421 0.572632 0.555579 0.542947 0.536 0.531579 0.526526 +0.516421 0.505053 0.498107 0.506316 0.534105 0.584 0.647789 0.705263 +0.719789 0.679368 0.610526 0.544211 0.46024 0.33528 0.269013 0.234933 +0.000993333 0.000986667 0.217893 0.00098 0.000746667 0.000713333 0.000726667 0.000726667 +0.000733333 0.000746667 0.00066 0.000673333 0.000613333 0.00054 0.00052 0.000566667 +0.000613333 0.00064 0.000726667 0.00076 0.00082 0.00086 0.000846667 0.000846667 +0.00082 0.00084 0.000826667 0.000846667 0.000826667 0.000793333 0.000766667 0.00076 +0.000773333 0.00076 0.00076 0.000773333 0.000753333 0.00074 0.00074 0.000733333 +0.000746667 0.00076 0.00076 0.000733333 0.000726667 0.000753333 0.00078 0.000786667 +0.000766667 0.00072 0.00068 0.000686667 0.000766667 0.00082 0.000753333 0.000693333 +0.000666667 0.0007 0.00072 0.000713333 0.0007 0.000666667 0.000666667 0.000613333 +0.0006 0.000646667 0.00074 0.000786667 0.000793333 0.000746667 0.000646667 0.00058 +0.00056 0.000633333 0.000706667 0.00076 0.000786667 0.0008 0.000766667 0.000713333 +0.000673333 0.00068 0.000666667 0.000653333 0.000686667 0.000706667 0.000726667 0.00072 +0.00074 0.00076 0.000766667 0.000746667 0.00074 0.00074 0.000766667 0.00086 +0.246293 0.337173 0.36936 0.37504 0.424267 0.542947 0.686316 0.861895 +0.982939 1.0009 0.995673 0.983918 0.971158 0.964211 0.959158 0.956632 +0.958526 0.964842 0.970526 0.974316 0.982286 0.991102 1.0009 1.0071 +1.01069 1.01135 1.012 1.00939 1.00776 1.01037 1.01167 1.00906 +1.00318 0.998939 0.993714 0.994367 1.01037 1.03127 1.03584 1.02147 +0.999265 0.981959 0.966737 0.954737 0.932632 0.893474 0.818316 0.710316 +0.609895 0.548 0.530947 0.530316 0.519579 0.508211 0.505053 0.48864 +0.456453 0.428053 0.411013 0.42616 0.445093 0.456453 0.435627 0.416693 +0.411013 0.40344 0.393973 0.475387 0.539789 0.531579 0.458347 0.399653 +0.40344 0.43184 0.450773 0.401547 0.361787 0.359893 0.361787 0.371253 +0.371253 0.36936 0.361787 0.378827 0.388293 0.382613 0.411013 0.4432 +0.464027 0.475387 0.429947 0.393973 0.39208 0.3864 0.441307 0.486747 +0.428053 0.384507 0.382613 0.38072 0.38072 0.3864 0.39208 0.38072 +0.378827 0.40344 0.445093 0.504421 0.511368 0.467813 0.429947 0.445093 +0.475387 0.469707 0.42616 0.39776 0.3864 0.382613 0.376933 0.399653 +0.441307 0.445093 0.428053 0.433733 0.446987 0.433733 0.429947 0.435627 +0.456453 0.512632 0.512632 0.492427 0.492427 0.501895 0.518316 0.541684 +0.548632 0.533474 0.517684 0.523368 0.581474 0.706526 0.856842 0.978737 +1.02408 1.05412 1.07522 1.04694 1.02408 1.01298 1.01102 1.0231 +1.0538 1.20607 1.10869 1.01233 0.984245 0.977474 0.98098 0.997306 +1.02408 1.0378 1.04922 1.09804 1.19086 1.26846 1.33237 1.35671 +1.33693 1.31259 1.32019 1.30041 1.2639 1.24564 1.24411 1.27607 +1.28063 1.22281 1.08587 1.04041 1.04008 1.03943 1.0182 0.993388 +0.984245 0.982286 0.985224 1.00057 1.03029 1.05576 1.07978 1.05641 +1.04531 1.04922 1.07674 1.22586 1.3841 1.47083 1.60169 1.86037 +2.0673 2.10839 1.99427 1.83298 1.6869 1.53474 1.34302 1.19694 +1.15586 1.09652 1.04792 1.02016 0.993388 0.971789 0.961684 0.959158 +0.957895 0.982939 1.03355 1.12999 1.095 1.04596 1.03453 1.02767 +1.02278 1.02604 1.03518 1.04629 1.0538 1.05184 1.04139 1.02212 +0.998286 0.982286 0.966737 0.952211 0.945263 0.935158 0.898526 0.834737 +0.762737 0.686947 0.622526 0.602947 0.601684 0.565684 0.524632 0.506316 +0.501895 0.48864 0.462133 0.441307 0.47728 0.520211 0.518947 0.504421 +0.502526 0.48864 0.445093 0.412907 0.395867 0.393973 0.407227 0.416693 +0.405333 0.38072 0.367467 0.361787 0.356107 0.373147 0.384507 0.38072 +0.37504 0.378827 0.395867 0.405333 0.39776 0.395867 0.407227 0.395867 +0.382613 0.3864 0.39776 0.399653 0.40912 0.441307 0.422373 0.39208 +0.3864 0.401547 0.435627 0.496213 0.508211 0.475387 0.439413 0.450773 +0.5 0.518947 0.531579 0.551158 0.587158 0.654105 0.750737 0.844211 +0.908 0.949684 0.977474 0.986204 0.992735 1.00514 1.02082 1.03486 +1.04857 1.05804 1.0538 1.05706 1.1726 1.2715 1.16347 1.03094 +0.999918 0.999918 1.00482 1.00841 1.01167 1.01069 1.01004 1.01037 +1.00906 1.00645 0.999918 0.986204 0.968 0.962316 0.966105 0.964211 +0.955368 0.954737 0.962947 0.976842 0.989143 1.0009 1.00743 0.991429 +0.892842 0.714105 0.548 0.390187 0.333387 0.310667 0.253867 0.000926667 +0.000793333 0.00074 0.00072 0.0007 0.0007 0.000726667 0.000706667 0.00066 +0.000673333 0.0007 0.00066 0.000626667 0.00064 0.00064 0.00064 0.00064 +0.00064 0.00066 0.000686667 0.00068 0.000686667 0.00072 0.000753333 0.000773333 +0.000793333 0.00078 0.000826667 0.000933333 0.25576 0.373147 0.505684 0.553684 +0.589053 0.611789 0.621263 0.621263 0.619368 0.612421 0.605474 0.599158 +0.590316 0.578947 0.566316 0.551789 0.537895 0.521474 0.506316 0.484853 +0.46592 0.502526 0.537263 0.590947 0.646526 0.682526 0.681263 0.645895 +0.583368 0.514526 0.38072 0.287947 0.234933 0.000993333 0.000966667 0.000973333 +0.000973333 0.00098 0.000993333 0.000986667 0.000753333 0.00074 0.000753333 0.00076 +0.00074 0.0007 0.000713333 0.00074 0.000673333 0.000593333 0.000653333 0.00058 +0.000546667 0.00054 0.000526667 0.000613333 0.000646667 0.000733333 0.000806667 0.00082 +0.00082 0.00082 0.000833333 0.000833333 0.000833333 0.000813333 0.00078 0.000786667 +0.000826667 0.000806667 0.0008 0.000806667 0.000806667 0.000786667 0.00076 0.00074 +0.00076 0.00076 0.00074 0.000733333 0.00076 0.000786667 0.000786667 0.00076 +0.000693333 0.000673333 0.000713333 0.000773333 0.000786667 0.000733333 0.000693333 0.000693333 +0.000713333 0.000726667 0.0007 0.00068 0.000626667 0.000606667 0.00064 0.000686667 +0.000793333 0.000853333 0.000826667 0.000706667 0.0006 0.000546667 0.000566667 0.000646667 +0.000706667 0.000773333 0.000786667 0.00076 0.00074 0.000686667 0.000666667 0.000646667 +0.000653333 0.000706667 0.000706667 0.000693333 0.000733333 0.000746667 0.000746667 0.000753333 +0.000746667 0.000753333 0.000773333 0.00076 0.00076 0.000753333 0.000733333 0.00078 +0.00088 0.26712 0.350427 0.382613 0.393973 0.462133 0.566316 0.718526 +0.885895 0.987184 1.00122 0.993061 0.982612 0.968 0.956632 0.953474 +0.956 0.959158 0.961684 0.964842 0.974316 0.981959 0.989796 1.00155 +1.01069 1.01135 1.012 1.01069 1.00873 1.00841 1.01135 1.01135 +1.00645 1.00188 0.999592 0.996653 0.999592 1.01069 1.02278 1.02767 +1.01592 0.993714 0.973053 0.954105 0.943368 0.934526 0.903579 0.834737 +0.731158 0.623158 0.553684 0.529053 0.513895 0.510105 0.511368 0.498107 +0.464027 0.450773 0.433733 0.433733 0.46592 0.47728 0.450773 0.42616 +0.407227 0.395867 0.418587 0.515158 0.542947 0.508842 0.40912 0.393973 +0.407227 0.422373 0.441307 0.411013 0.376933 0.365573 0.359893 0.359893 +0.371253 0.361787 0.358 0.38072 0.388293 0.393973 0.416693 0.40912 +0.393973 0.399653 0.388293 0.371253 0.373147 0.365573 0.40344 0.452667 +0.424267 0.395867 0.390187 0.388293 0.399653 0.405333 0.407227 0.39208 +0.39208 0.401547 0.44888 0.534105 0.579579 0.539789 0.481067 0.46024 +0.452667 0.43184 0.40344 0.382613 0.378827 0.384507 0.37504 0.40912 +0.46592 0.452667 0.42048 0.435627 0.435627 0.42616 0.452667 0.462133 +0.481067 0.519579 0.516421 0.500632 0.502526 0.508211 0.524 0.553053 +0.566947 0.554947 0.549263 0.590947 0.706526 0.851789 0.966737 1.01624 +1.05053 1.10413 1.06609 1.0342 1.01461 1.0071 1.01102 1.03714 +1.16803 1.20151 1.0342 0.986204 0.977474 0.983592 0.985224 0.998612 +1.01592 1.02669 1.04367 1.05837 1.10565 1.16651 1.25477 1.35063 +1.41758 1.46779 1.54235 1.56974 1.52257 1.43888 1.41301 1.48757 +1.55148 1.47236 1.22281 1.05151 1.04204 1.04139 1.02735 1.0058 +0.990449 0.98751 0.995673 1.01265 1.02702 1.02931 1.03257 1.04269 +1.05314 1.06913 1.16803 1.38562 1.66104 1.7219 1.69299 1.78276 +1.8771 1.82993 1.66864 1.48909 1.35215 1.26542 1.20303 1.12086 +1.05902 1.04759 1.03094 1.00906 0.991102 0.974316 0.961684 0.964211 +0.962947 0.963579 0.998286 1.04694 1.10108 1.05902 1.04596 1.03616 +1.02865 1.02408 1.02408 1.03029 1.03845 1.044 1.0489 1.04792 +1.0342 1.01363 0.993061 0.976211 0.959789 0.954737 0.937053 0.902947 +0.854316 0.786737 0.713474 0.666737 0.648421 0.609895 0.559368 0.531579 +0.511368 0.486747 0.469707 0.473493 0.503789 0.536 0.539158 0.508842 +0.47728 0.43184 0.384507 0.38072 0.395867 0.399653 0.3864 0.3864 +0.3864 0.376933 0.36368 0.361787 0.365573 0.382613 0.40912 0.407227 +0.390187 0.3864 0.382613 0.384507 0.38072 0.395867 0.412907 0.393973 +0.384507 0.388293 0.395867 0.407227 0.43184 0.46024 0.429947 0.399653 +0.401547 0.416693 0.439413 0.481067 0.492427 0.46024 0.45456 0.479173 +0.523368 0.559368 0.584 0.628211 0.708421 0.800632 0.869474 0.911789 +0.941474 0.966105 0.980653 0.987837 0.998939 1.01102 1.02082 1.03322 +1.04824 1.05576 1.05869 1.1513 1.2502 1.14977 1.03159 1.00384 +1.00286 1.00776 1.0071 1.00841 1.012 1.01265 1.01135 1.00939 +1.00416 0.997633 0.986204 0.967368 0.957895 0.961053 0.959789 0.953474 +0.949053 0.956632 0.978105 0.990449 0.998939 1.00351 0.992735 0.905474 +0.730526 0.561263 0.416693 0.344747 0.30688 0.248187 0.00088 0.00078 +0.000733333 0.00072 0.000726667 0.000726667 0.000693333 0.0007 0.000713333 0.000673333 +0.00068 0.00072 0.00068 0.00066 0.000653333 0.000646667 0.000666667 0.000673333 +0.000666667 0.00068 0.000693333 0.00072 0.00078 0.000813333 0.000826667 0.00082 +0.000833333 0.00088 0.225467 0.322027 0.467813 0.542316 0.582105 0.604211 +0.613053 0.616842 0.614316 0.605474 0.596632 0.592211 0.589053 0.585263 +0.573895 0.556211 0.534105 0.512632 0.475387 0.433733 0.428053 0.490533 +0.541684 0.602316 0.657263 0.685684 0.670526 0.621895 0.556842 0.48296 +0.339067 0.253867 0.219787 0.00098 0.000973333 0.000973333 0.000966667 0.000993333 +0.217893 0.000986667 0.00098 0.000993333 0.00078 0.000806667 0.0008 0.00082 +0.000733333 0.0007 0.00078 0.000766667 0.000706667 0.000726667 0.000686667 0.00066 +0.000653333 0.00062 0.000586667 0.000553333 0.000533333 0.000573333 0.00064 0.000673333 +0.00072 0.000793333 0.000866667 0.00088 0.000853333 0.0008 0.000773333 0.000793333 +0.00082 0.000813333 0.00082 0.000826667 0.000833333 0.00082 0.0008 0.000786667 +0.0008 0.000793333 0.000773333 0.000786667 0.00084 0.000846667 0.000806667 0.00076 +0.00072 0.00076 0.000813333 0.000793333 0.000746667 0.000706667 0.000733333 0.000766667 +0.000793333 0.000733333 0.000626667 0.00058 0.000606667 0.000713333 0.000813333 0.000806667 +0.000773333 0.00068 0.000573333 0.000533333 0.000566667 0.000673333 0.000766667 0.000766667 +0.000753333 0.000726667 0.00066 0.000633333 0.000633333 0.000633333 0.000653333 0.000686667 +0.00066 0.00068 0.000686667 0.000693333 0.000706667 0.000713333 0.00072 0.000713333 +0.0007 0.00072 0.000753333 0.00076 0.000753333 0.00074 0.000746667 0.00078 +0.0008 0.000926667 0.274693 0.356107 0.384507 0.39776 0.475387 0.580211 +0.734316 0.899789 0.98751 0.998939 0.994041 0.982286 0.965474 0.953474 +0.956632 0.955368 0.952842 0.957895 0.968 0.973053 0.98 0.98849 +1.0009 1.00906 1.01004 1.00906 1.00841 1.00808 1.00939 1.01004 +1.00906 1.00678 1.00482 1.00318 1.00155 1.00286 1.00808 1.0169 +1.02147 1.01233 0.993388 0.973684 0.954737 0.945895 0.935158 0.907368 +0.848632 0.752 0.644632 0.565053 0.525263 0.516421 0.516421 0.507579 +0.48296 0.48296 0.479173 0.456453 0.4432 0.44888 0.445093 0.43184 +0.429947 0.424267 0.490533 0.538526 0.538526 0.48296 0.395867 0.39208 +0.42048 0.43184 0.441307 0.429947 0.399653 0.376933 0.354213 0.358 +0.361787 0.365573 0.373147 0.38072 0.388293 0.418587 0.424267 0.395867 +0.37504 0.384507 0.399653 0.39776 0.3864 0.382613 0.4148 0.43752 +0.40912 0.401547 0.390187 0.384507 0.39776 0.418587 0.43184 0.422373 +0.405333 0.401547 0.4716 0.566316 0.628211 0.573263 0.48296 0.416693 +0.418587 0.412907 0.3864 0.37504 0.384507 0.38072 0.390187 0.435627 +0.48296 0.473493 0.450773 0.435627 0.424267 0.424267 0.452667 0.452667 +0.46592 0.506947 0.509474 0.496213 0.490533 0.507579 0.524632 0.548632 +0.563158 0.566947 0.595368 0.684421 0.832842 0.963579 1.01624 1.04824 +1.10108 1.095 1.04204 1.01951 1.01102 1.01004 1.02441 1.0813 +1.25477 1.095 1.00155 0.966737 0.971789 0.983918 0.987837 0.996 +1.00318 1.01233 1.03159 1.04988 1.07674 1.11326 1.1513 1.19086 +1.23346 1.29281 1.36584 1.4191 1.43888 1.42062 1.43736 1.4967 +1.518 1.45105 1.31715 1.16803 1.05543 1.03812 1.02865 1.02147 +1.01102 1.00776 1.01592 1.02963 1.03845 1.04824 1.07826 1.16347 +1.25324 1.31107 1.36889 1.50735 1.65799 1.61234 1.48757 1.50583 +1.54235 1.46475 1.3628 1.28368 1.20303 1.1376 1.0813 1.0502 +1.03714 1.02506 1.01167 0.996327 0.985224 0.971789 0.963579 0.968632 +0.968632 0.963579 0.98 1.01429 1.0551 1.08739 1.05543 1.0489 +1.04302 1.03094 1.02278 1.02408 1.02702 1.03029 1.03812 1.05053 +1.05739 1.0502 1.03029 1.00743 0.986857 0.966737 0.952211 0.942105 +0.927579 0.891579 0.837263 0.777263 0.729263 0.675579 0.618105 0.584 +0.557474 0.522105 0.503789 0.507579 0.515789 0.553053 0.568842 0.529053 +0.498107 0.439413 0.40912 0.428053 0.45456 0.450773 0.40912 0.382613 +0.373147 0.373147 0.36936 0.367467 0.36936 0.384507 0.4148 0.422373 +0.407227 0.3864 0.378827 0.376933 0.371253 0.38072 0.40344 0.39208 +0.38072 0.3864 0.39208 0.418587 0.469707 0.486747 0.445093 0.42048 +0.416693 0.435627 0.479173 0.502526 0.5 0.503789 0.520211 0.547368 +0.603579 0.667368 0.719158 0.781684 0.849895 0.898526 0.92379 0.945263 +0.968632 0.982286 0.986531 0.996 1.00743 1.01624 1.02604 1.04269 +1.05869 1.09956 1.16956 1.21977 1.1163 1.028 1.00188 1.00122 +1.00743 1.00906 1.00776 1.00906 1.01102 1.01102 1.00873 1.00351 +0.994367 0.984245 0.964842 0.954737 0.956632 0.959158 0.953474 0.949053 +0.952842 0.973684 0.991755 1.00155 1.00384 0.991102 0.906105 0.737474 +0.571368 0.433733 0.350427 0.308773 0.242507 0.000853333 0.000726667 0.00074 +0.000713333 0.000693333 0.000706667 0.000726667 0.000686667 0.000673333 0.0007 0.000686667 +0.00068 0.000693333 0.000666667 0.00066 0.000666667 0.000673333 0.000653333 0.00066 +0.000686667 0.000706667 0.000746667 0.000786667 0.000833333 0.00082 0.000793333 0.000806667 +0.00092 0.265227 0.393973 0.518316 0.565684 0.598526 0.612421 0.613053 +0.610526 0.606105 0.59979 0.589684 0.585263 0.584 0.577053 0.562526 +0.542316 0.518316 0.490533 0.439413 0.416693 0.479173 0.544842 0.613053 +0.669895 0.693263 0.668632 0.606737 0.534737 0.422373 0.310667 0.253867 +0.22168 0.000986667 0.000993333 0.216 0.217893 0.219787 0.216 0.219787 +0.219787 0.00098 0.00096 0.000986667 0.000793333 0.0008 0.000833333 0.000826667 +0.00076 0.00078 0.00084 0.000773333 0.00078 0.000773333 0.000726667 0.00074 +0.00074 0.000713333 0.00072 0.000686667 0.000626667 0.000586667 0.000553333 0.000546667 +0.000553333 0.000666667 0.000753333 0.00082 0.000846667 0.000813333 0.000813333 0.00082 +0.000793333 0.00078 0.0008 0.000813333 0.000806667 0.000806667 0.000786667 0.000773333 +0.000773333 0.000773333 0.00076 0.000793333 0.000826667 0.000773333 0.000713333 0.000733333 +0.000766667 0.000793333 0.000766667 0.000713333 0.00072 0.000773333 0.000806667 0.00078 +0.0007 0.00062 0.000633333 0.000746667 0.00082 0.000833333 0.000733333 0.0006 +0.000566667 0.0006 0.00064 0.00068 0.00076 0.000786667 0.00074 0.00066 +0.000613333 0.000613333 0.0006 0.0006 0.000613333 0.0006 0.000633333 0.000646667 +0.00064 0.000686667 0.000706667 0.0007 0.0007 0.0007 0.00072 0.000693333 +0.000693333 0.000713333 0.000746667 0.000766667 0.000746667 0.00074 0.00076 0.00078 +0.00082 0.00086 0.000973333 0.287947 0.354213 0.388293 0.393973 0.48864 +0.594105 0.750737 0.906737 0.989143 1.00188 0.994367 0.981959 0.962316 +0.954105 0.952842 0.950947 0.954737 0.960421 0.970526 0.976842 0.98 +0.990449 1.00253 1.00743 1.00971 1.01102 1.00906 1.00808 1.00939 +1.00939 1.00841 1.00743 1.0071 1.00547 1.00547 1.00645 1.01037 +1.01886 1.02343 1.01461 0.99698 0.981306 0.962947 0.953474 0.942737 +0.917474 0.864421 0.774105 0.671789 0.586526 0.533474 0.518316 0.517053 +0.510105 0.507579 0.506316 0.475387 0.445093 0.44888 0.441307 0.4432 +0.464027 0.501263 0.535368 0.561895 0.535368 0.46592 0.40912 0.40912 +0.424267 0.4148 0.411013 0.42048 0.401547 0.378827 0.367467 0.36936 +0.37504 0.373147 0.36368 0.36368 0.384507 0.4148 0.401547 0.365573 +0.359893 0.388293 0.411013 0.39776 0.3864 0.376933 0.40344 0.42616 +0.39776 0.378827 0.37504 0.384507 0.411013 0.416693 0.40912 0.39776 +0.384507 0.384507 0.445093 0.544842 0.599158 0.568842 0.503789 0.422373 +0.39776 0.39776 0.401547 0.40344 0.393973 0.384507 0.401547 0.439413 +0.481067 0.503789 0.496213 0.450773 0.424267 0.429947 0.441307 0.439413 +0.439413 0.47728 0.504421 0.498107 0.496213 0.513263 0.533474 0.558737 +0.587158 0.628211 0.702105 0.817053 0.944632 1.0169 1.05543 1.13608 +1.11782 1.04955 1.02343 1.01265 1.01102 1.02082 1.05314 1.21673 +1.21673 1.03029 0.981633 0.962316 0.965474 0.98098 0.988163 0.993061 +0.994694 1.00253 1.01592 1.03159 1.04661 1.05837 1.09348 1.11934 +1.14673 1.16803 1.18629 1.18173 1.22433 1.30346 1.40236 1.44345 +1.39628 1.36889 1.42062 1.42519 1.2715 1.09043 1.04824 1.04237 +1.03845 1.04171 1.04824 1.05837 1.1376 1.32019 1.50583 1.57887 +1.57735 1.57278 1.55909 1.51648 1.47692 1.39932 1.34606 1.38106 +1.40084 1.3415 1.2715 1.20455 1.12086 1.05412 1.03845 1.02376 +1.01265 1.00351 0.996653 0.988816 0.981306 0.972421 0.966105 0.968632 +0.971158 0.969263 0.970526 0.994041 1.03322 1.05902 1.05902 1.0551 +1.04988 1.03714 1.02702 1.02376 1.0231 1.02278 1.02604 1.03845 +1.05412 1.06152 1.05478 1.04204 1.0218 0.997959 0.980653 0.961053 +0.953474 0.945263 0.925053 0.887789 0.834737 0.777263 0.721684 0.673053 +0.632632 0.582105 0.544211 0.530316 0.533474 0.573895 0.59979 0.554947 +0.516421 0.496213 0.467813 0.4716 0.496213 0.502526 0.46024 0.42048 +0.395867 0.38072 0.37504 0.36368 0.36936 0.376933 0.393973 0.418587 +0.407227 0.388293 0.39208 0.401547 0.390187 0.395867 0.42048 0.416693 +0.40344 0.405333 0.416693 0.458347 0.507579 0.508842 0.469707 0.445093 +0.450773 0.502526 0.528421 0.539789 0.549263 0.581474 0.632 0.692 +0.758947 0.817684 0.865053 0.899789 0.923158 0.940211 0.956632 0.974316 +0.984571 0.989469 0.99698 1.0071 1.01559 1.02767 1.04302 1.07217 +1.15586 1.21064 1.20455 1.06913 1.01918 0.997959 0.998612 1.00384 +1.00743 1.00808 1.0071 1.00841 1.00873 1.00645 1.00286 0.993061 +0.98098 0.964842 0.953474 0.953474 0.956 0.951579 0.945895 0.949684 +0.968 0.988163 0.999918 1.00449 0.992408 0.908632 0.740632 0.576421 +0.45456 0.36368 0.30688 0.231147 0.00084 0.000733333 0.000713333 0.000726667 +0.0007 0.00066 0.000653333 0.000666667 0.000673333 0.00068 0.00068 0.000653333 +0.000673333 0.000686667 0.000653333 0.000646667 0.000673333 0.000686667 0.000666667 0.000693333 +0.000753333 0.000806667 0.000826667 0.00082 0.000826667 0.000813333 0.00086 0.229253 +0.34096 0.486747 0.548 0.591579 0.611158 0.618737 0.618105 0.610526 +0.602316 0.593474 0.588421 0.585895 0.584632 0.575789 0.556842 0.545474 +0.543579 0.542316 0.539158 0.543579 0.569474 0.619368 0.671789 0.690105 +0.65979 0.596 0.521474 0.378827 0.270907 0.225467 0.000986667 0.00098 +0.00098 0.000973333 0.000973333 0.00098 0.000986667 0.000973333 0.000966667 0.00098 +0.000986667 0.000966667 0.00094 0.000953333 0.000773333 0.0008 0.000813333 0.00076 +0.000713333 0.000786667 0.000753333 0.000733333 0.000793333 0.000746667 0.00074 0.000746667 +0.00074 0.000746667 0.000746667 0.000753333 0.00072 0.0007 0.000653333 0.000593333 +0.00054 0.000526667 0.00054 0.000553333 0.000613333 0.00066 0.000746667 0.0008 +0.00082 0.000813333 0.00084 0.000826667 0.000813333 0.000806667 0.000766667 0.000753333 +0.00076 0.000773333 0.000793333 0.000806667 0.00074 0.000653333 0.000666667 0.000733333 +0.00072 0.00068 0.000673333 0.000746667 0.000786667 0.00076 0.000686667 0.000613333 +0.000673333 0.000773333 0.000846667 0.0008 0.00068 0.000606667 0.00058 0.000613333 +0.000706667 0.000786667 0.00078 0.000746667 0.00072 0.000673333 0.000646667 0.000613333 +0.000633333 0.000666667 0.000673333 0.000673333 0.00064 0.000633333 0.00064 0.000646667 +0.000653333 0.000686667 0.0007 0.000673333 0.0007 0.000713333 0.000713333 0.0007 +0.000713333 0.00072 0.00074 0.000766667 0.000746667 0.000753333 0.000773333 0.00078 +0.000813333 0.00082 0.000833333 0.000966667 0.280373 0.361787 0.395867 0.412907 +0.506947 0.604842 0.765263 0.921263 0.993714 1.00188 0.993714 0.979368 +0.957263 0.952842 0.954737 0.954737 0.952211 0.956 0.966737 0.973053 +0.981633 0.992408 1.00253 1.00841 1.01265 1.01167 1.00873 1.00906 +1.01135 1.01069 1.00873 1.00776 1.00514 1.0058 1.00743 1.00841 +1.01167 1.01918 1.02278 1.01494 1.00155 0.990122 0.98 0.962947 +0.949684 0.927579 0.882105 0.803158 0.700842 0.604211 0.544211 0.524 +0.526526 0.521474 0.508842 0.501263 0.501263 0.496213 0.481067 0.496213 +0.513895 0.534105 0.563789 0.568211 0.532211 0.486747 0.429947 0.424267 +0.429947 0.4148 0.393973 0.407227 0.39776 0.37504 0.36368 0.354213 +0.358 0.36368 0.348533 0.342853 0.371253 0.395867 0.388293 0.36936 +0.367467 0.39776 0.422373 0.412907 0.388293 0.384507 0.416693 0.445093 +0.422373 0.388293 0.3864 0.416693 0.42616 0.401547 0.390187 0.39208 +0.3864 0.37504 0.393973 0.510737 0.578316 0.585263 0.525895 0.450773 +0.40344 0.40344 0.42616 0.428053 0.411013 0.39776 0.407227 0.422373 +0.467813 0.505053 0.500632 0.46592 0.452667 0.446987 0.43752 0.43752 +0.445093 0.501895 0.522105 0.519579 0.523368 0.546737 0.577684 0.609263 +0.662316 0.751368 0.855579 0.960421 1.02147 1.07674 1.17869 1.17564 +1.05869 1.03127 1.01918 1.01396 1.01853 1.04596 1.18325 1.25933 +1.06304 0.998286 0.973053 0.965474 0.962316 0.970526 0.978737 0.981306 +0.982286 0.991429 0.999265 1.00776 1.0231 1.0378 1.04988 1.07369 +1.11782 1.14217 1.16499 1.16803 1.19847 1.26694 1.37954 1.49214 +1.49822 1.48757 1.57583 1.67169 1.63821 1.49518 1.36889 1.30346 +1.29128 1.35976 1.39323 1.42366 1.54691 1.72951 1.84363 1.80559 +1.69451 1.63821 1.553 1.39628 1.3065 1.28672 1.34606 1.41149 +1.3978 1.31563 1.17869 1.05543 1.03322 1.01755 1.00841 0.999592 +0.991429 0.987184 0.98751 0.986204 0.984245 0.981306 0.974316 0.971789 +0.974316 0.974947 0.975579 0.985224 1.00906 1.03518 1.04531 1.04727 +1.04988 1.04563 1.03714 1.03192 1.02963 1.02506 1.02571 1.0342 +1.04139 1.04792 1.05282 1.05347 1.05053 1.03616 1.01527 0.996 +0.982612 0.966737 0.955368 0.947789 0.92379 0.885263 0.841053 0.788 +0.743158 0.698947 0.649053 0.608 0.587789 0.606105 0.615579 0.561263 +0.519579 0.505684 0.49432 0.481067 0.502526 0.508211 0.48296 0.446987 +0.422373 0.401547 0.393973 0.388293 0.390187 0.388293 0.390187 0.40912 +0.405333 0.395867 0.40912 0.418587 0.424267 0.429947 0.446987 0.445093 +0.43752 0.456453 0.49432 0.517684 0.536 0.534105 0.522737 0.524 +0.539789 0.574526 0.613684 0.640842 0.674316 0.733053 0.799368 0.852421 +0.887789 0.912421 0.933263 0.947158 0.957263 0.968632 0.980327 0.984898 +0.98751 0.993061 1.00384 1.01559 1.03029 1.04824 1.06913 1.14369 +1.21216 1.18021 1.05445 1.01755 0.997306 0.996653 1.00286 1.00482 +1.00547 1.0058 1.00645 1.00678 1.00416 1.00155 0.994694 0.982612 +0.967368 0.958526 0.958526 0.959789 0.954105 0.945895 0.949053 0.968 +0.98751 0.999592 1.00482 0.993714 0.915579 0.751368 0.584632 0.475387 +0.371253 0.304987 0.225467 0.000833333 0.000726667 0.000686667 0.000686667 0.000686667 +0.00068 0.000673333 0.000653333 0.000666667 0.0007 0.000713333 0.000693333 0.00066 +0.00066 0.00068 0.000673333 0.00066 0.00068 0.00072 0.000746667 0.00078 +0.00082 0.000846667 0.000806667 0.000786667 0.00084 0.217893 0.310667 0.445093 +0.532842 0.576421 0.604211 0.619368 0.621263 0.618105 0.611158 0.599158 +0.590947 0.585895 0.584632 0.580211 0.570105 0.563158 0.566947 0.587158 +0.617474 0.644632 0.668 0.690737 0.700211 0.690105 0.647158 0.578947 +0.507579 0.358 0.263333 0.217893 0.000946667 0.000973333 0.000993333 0.000973333 +0.000986667 0.000986667 0.00098 0.00098 0.00098 0.000993333 0.000986667 0.000973333 +0.000973333 0.000973333 0.000946667 0.00094 0.000786667 0.000806667 0.000766667 0.00072 +0.000746667 0.00076 0.00072 0.000773333 0.0008 0.000773333 0.000773333 0.000793333 +0.00078 0.0008 0.000786667 0.00078 0.000766667 0.000786667 0.00074 0.000713333 +0.00068 0.00064 0.000593333 0.000533333 0.000506667 0.000506667 0.00054 0.000633333 +0.000726667 0.0008 0.00088 0.000886667 0.00088 0.000846667 0.00078 0.00076 +0.00082 0.000886667 0.000866667 0.0008 0.000746667 0.000753333 0.00078 0.000733333 +0.000666667 0.000713333 0.000793333 0.000793333 0.000713333 0.00066 0.000706667 0.000793333 +0.000846667 0.00078 0.000666667 0.00058 0.0006 0.000713333 0.000766667 0.000766667 +0.000753333 0.000713333 0.000653333 0.00064 0.000633333 0.000653333 0.00068 0.000686667 +0.000686667 0.000693333 0.0007 0.00066 0.000653333 0.000686667 0.000713333 0.000713333 +0.000693333 0.0007 0.0007 0.000726667 0.000726667 0.00074 0.000733333 0.000733333 +0.00072 0.000746667 0.000766667 0.000786667 0.000753333 0.00074 0.000766667 0.000793333 +0.000806667 0.000793333 0.000793333 0.000846667 0.000933333 0.270907 0.36368 0.401547 +0.424267 0.509474 0.609263 0.775368 0.927579 0.993714 1.00057 0.990122 +0.973684 0.959158 0.957263 0.957263 0.952842 0.949684 0.956 0.967368 +0.973684 0.982939 0.993061 1.00253 1.00939 1.01135 1.00808 1.00808 +1.01069 1.01135 1.00939 1.00873 1.00645 1.0058 1.00645 1.00547 +1.00384 1.0071 1.01429 1.01755 1.01429 1.00612 0.995347 0.984898 +0.973053 0.962947 0.944632 0.897895 0.824 0.729263 0.633263 0.572 +0.554947 0.541684 0.528421 0.530316 0.530316 0.517684 0.509474 0.514526 +0.530316 0.537895 0.536632 0.524632 0.510737 0.48296 0.428053 0.412907 +0.42048 0.422373 0.407227 0.40912 0.401547 0.382613 0.37504 0.35232 +0.348533 0.36368 0.361787 0.367467 0.393973 0.416693 0.412907 0.393973 +0.37504 0.390187 0.43752 0.439413 0.407227 0.401547 0.42048 0.439413 +0.411013 0.388293 0.40344 0.418587 0.405333 0.376933 0.367467 0.38072 +0.382613 0.37504 0.376933 0.500632 0.589053 0.614947 0.548 0.490533 +0.452667 0.435627 0.429947 0.433733 0.43752 0.43752 0.446987 0.46024 +0.467813 0.490533 0.492427 0.47728 0.473493 0.452667 0.43752 0.446987 +0.473493 0.517684 0.539158 0.548632 0.574526 0.616211 0.656632 0.700842 +0.781053 0.888421 0.983265 1.03029 1.12086 1.22129 1.16956 1.05967 +1.03584 1.02702 1.02571 1.02343 1.03976 1.12086 1.24564 1.17716 +1.02637 0.983265 0.973684 0.967368 0.973053 0.971158 0.963579 0.962947 +0.964211 0.976842 0.983265 0.989469 1.00057 1.01135 1.02571 1.04596 +1.08282 1.15282 1.2076 1.24868 1.2639 1.26237 1.3278 1.47083 +1.53931 1.55757 1.63212 1.74625 1.85732 1.88471 1.84363 1.77972 +1.78276 1.86341 1.86037 1.84363 1.85428 1.82993 1.75842 1.63365 +1.46627 1.3841 1.32172 1.24107 1.23042 1.28368 1.37649 1.36736 +1.21825 1.05804 1.02865 1.01167 1.00351 0.997633 0.994041 0.989143 +0.984898 0.985224 0.988816 0.995347 0.99698 0.992082 0.984898 0.979368 +0.976211 0.978737 0.981306 0.984245 0.995347 1.01429 1.02833 1.03192 +1.03878 1.04694 1.04629 1.04269 1.04106 1.03682 1.03714 1.03682 +1.03257 1.03616 1.04465 1.04792 1.05184 1.05184 1.04922 1.04204 +1.02702 1.0071 0.989143 0.976842 0.962316 0.949053 0.92821 0.896 +0.866947 0.834737 0.785474 0.731158 0.687579 0.663579 0.639579 0.581474 +0.539158 0.520211 0.509474 0.505684 0.512 0.507579 0.481067 0.46592 +0.445093 0.424267 0.42616 0.422373 0.411013 0.405333 0.40344 0.4148 +0.412907 0.411013 0.418587 0.43752 0.458347 0.462133 0.473493 0.498107 +0.510105 0.524 0.542316 0.559368 0.567579 0.567579 0.579579 0.615579 +0.665474 0.716632 0.759579 0.791158 0.826526 0.869474 0.902316 0.92 +0.933895 0.945263 0.956 0.968632 0.974316 0.979368 0.982612 0.983918 +0.989796 1.00188 1.01886 1.03845 1.05641 1.09804 1.13304 1.1726 +1.14673 1.04727 1.01494 1.00253 1.00188 1.00384 1.00612 1.00645 +1.00645 1.00678 1.0071 1.0058 1.00188 0.996327 0.985551 0.969895 +0.962947 0.964211 0.962947 0.956 0.947158 0.949053 0.968 0.988163 +0.999592 1.00449 0.993388 0.910526 0.746947 0.587789 0.48296 0.371253 +0.287947 0.000966667 0.0008 0.000753333 0.000706667 0.00068 0.000673333 0.000693333 +0.000686667 0.000706667 0.000686667 0.00068 0.0007 0.000713333 0.000713333 0.00068 +0.000653333 0.000666667 0.000686667 0.000713333 0.000746667 0.000786667 0.000813333 0.000846667 +0.000833333 0.00082 0.00082 0.000953333 0.282267 0.40912 0.521474 0.566947 +0.598526 0.615579 0.620632 0.618737 0.614316 0.607368 0.598526 0.590316 +0.589684 0.586526 0.580211 0.576421 0.578947 0.599158 0.637053 0.68 +0.721053 0.748842 0.752 0.719158 0.652211 0.573263 0.500632 0.34096 +0.253867 0.223573 0.000993333 0.000993333 0.000973333 0.000986667 0.22168 0.217893 +0.000986667 0.000986667 0.000966667 0.000973333 0.000966667 0.00096 0.00096 0.000946667 +0.000946667 0.00096 0.000953333 0.000953333 0.000793333 0.000793333 0.000726667 0.000726667 +0.000806667 0.000746667 0.000786667 0.00082 0.000833333 0.000833333 0.000826667 0.000813333 +0.000813333 0.00082 0.00084 0.000813333 0.000833333 0.00082 0.000786667 0.000793333 +0.00078 0.000793333 0.000773333 0.000733333 0.000613333 0.00056 0.000533333 0.000506667 +0.000513333 0.000593333 0.0007 0.0008 0.000853333 0.00084 0.000806667 0.000846667 +0.000933333 0.000913333 0.000813333 0.00082 0.000873333 0.000853333 0.000813333 0.00078 +0.000813333 0.000826667 0.00076 0.000686667 0.00072 0.000826667 0.000853333 0.000786667 +0.000666667 0.000606667 0.000646667 0.000706667 0.000773333 0.000793333 0.00074 0.000666667 +0.00066 0.000673333 0.000686667 0.000726667 0.000753333 0.00076 0.000766667 0.000753333 +0.000746667 0.00074 0.000713333 0.000693333 0.0007 0.000726667 0.000713333 0.000713333 +0.000706667 0.00072 0.000726667 0.00072 0.000726667 0.000726667 0.000733333 0.000753333 +0.000726667 0.000746667 0.000766667 0.000786667 0.000766667 0.00074 0.000773333 0.000806667 +0.000793333 0.000793333 0.000826667 0.000853333 0.00086 0.00098 0.287947 0.36368 +0.411013 0.43184 0.513263 0.625684 0.792421 0.938947 0.995673 0.999918 +0.990776 0.979368 0.965474 0.958526 0.955368 0.954105 0.953474 0.961053 +0.968632 0.979368 0.984245 0.990122 0.999265 1.00645 1.00776 1.00743 +1.00841 1.00939 1.00808 1.00873 1.00906 1.00678 1.00645 1.00645 +1.00318 1.00155 1.00351 1.00939 1.01363 1.01135 1.00482 0.99698 +0.990122 0.984245 0.973684 0.949684 0.913053 0.855579 0.774737 0.691368 +0.623789 0.577053 0.554947 0.557474 0.552421 0.525895 0.506947 0.511368 +0.522737 0.515158 0.501895 0.481067 0.496213 0.479173 0.43184 0.424267 +0.43752 0.4432 0.418587 0.40344 0.395867 0.388293 0.378827 0.361787 +0.354213 0.35232 0.358 0.373147 0.399653 0.40912 0.405333 0.393973 +0.37504 0.390187 0.4432 0.450773 0.411013 0.39776 0.4148 0.43752 +0.416693 0.382613 0.390187 0.405333 0.39776 0.393973 0.395867 0.378827 +0.356107 0.35232 0.367467 0.484853 0.585895 0.630105 0.575789 0.513895 +0.46592 0.42616 0.412907 0.433733 0.452667 0.46024 0.492427 0.507579 +0.501895 0.486747 0.498107 0.503789 0.504421 0.486747 0.475387 0.496213 +0.515158 0.540421 0.558105 0.585263 0.636421 0.693263 0.750737 0.823368 +0.917474 0.996327 1.04465 1.18629 1.25629 1.17108 1.05216 1.02833 +1.01984 1.028 1.0342 1.04563 1.11782 1.19999 1.19847 1.0551 +1.00188 0.974947 0.970526 0.974316 0.981306 0.975579 0.971158 0.972421 +0.976211 0.98 0.979368 0.981959 0.986204 0.989143 0.99502 1.0071 +1.02408 1.04596 1.10565 1.23194 1.30498 1.28672 1.26998 1.31259 +1.3628 1.42671 1.53931 1.65951 1.75994 1.8132 1.82537 1.81167 +1.88928 1.95775 1.87558 1.78124 1.69147 1.58191 1.46779 1.34302 +1.21673 1.18934 1.17869 1.17869 1.26085 1.34758 1.30954 1.11478 +1.028 1.00612 0.997306 0.997959 0.99698 0.990776 0.986204 0.982939 +0.984571 0.991755 0.99698 1.00514 1.0058 0.998612 0.991429 0.985551 +0.982939 0.98098 0.983265 0.988163 0.992408 1.00155 1.01624 1.02441 +1.02702 1.03682 1.04824 1.05249 1.05608 1.05314 1.04759 1.04041 +1.0342 1.03551 1.04531 1.05282 1.05184 1.04988 1.05771 1.0813 +1.07978 1.05184 1.02865 1.00645 0.987837 0.973684 0.964842 0.953474 +0.940211 0.92379 0.887158 0.843579 0.798105 0.754526 0.713474 0.662947 +0.614316 0.582105 0.568211 0.563789 0.554316 0.527789 0.504421 0.500632 +0.5 0.500632 0.498107 0.47728 0.462133 0.45456 0.450773 0.469707 +0.475387 0.467813 0.479173 0.5 0.503158 0.507579 0.522105 0.544211 +0.575158 0.602316 0.621895 0.635789 0.644632 0.654105 0.684421 0.745684 +0.814526 0.861263 0.892842 0.915579 0.928842 0.933895 0.937053 0.945263 +0.957895 0.965474 0.969895 0.974316 0.974947 0.973684 0.978737 0.987184 +1.0058 1.02767 1.04563 1.05771 1.08891 1.12239 1.13152 1.07369 +1.03649 1.01004 1.00155 1.00449 1.00678 1.00776 1.00678 1.00645 +1.00612 1.00645 1.0058 1.0022 0.995673 0.985878 0.971789 0.962947 +0.963579 0.964211 0.957895 0.949684 0.951579 0.970526 0.989469 1.00188 +1.00547 0.992082 0.906105 0.739368 0.583368 0.492427 0.36936 0.280373 +0.000926667 0.00076 0.000726667 0.000733333 0.0007 0.000666667 0.000666667 0.000706667 +0.000706667 0.000713333 0.0007 0.000713333 0.0007 0.000713333 0.000733333 0.0007 +0.000693333 0.000706667 0.000753333 0.000766667 0.00082 0.000826667 0.0008 0.000786667 +0.00082 0.00092 0.251973 0.37504 0.508211 0.553684 0.592842 0.614316 +0.620632 0.622526 0.62 0.611158 0.59979 0.590316 0.585263 0.587789 +0.594105 0.596 0.596632 0.606105 0.633263 0.676211 0.724211 0.759579 +0.764632 0.728 0.656632 0.570737 0.48296 0.337173 0.263333 0.229253 +0.216 0.225467 0.22168 0.219787 0.22168 0.217893 0.217893 0.000986667 +0.000966667 0.000953333 0.00094 0.000953333 0.000966667 0.000966667 0.000946667 0.000953333 +0.000953333 0.000973333 0.000973333 0.000966667 0.000793333 0.000773333 0.000706667 0.000753333 +0.00076 0.000713333 0.00076 0.000773333 0.000773333 0.000793333 0.000753333 0.000746667 +0.00076 0.000806667 0.000793333 0.000813333 0.0008 0.000813333 0.0008 0.000806667 +0.000813333 0.0008 0.000793333 0.000753333 0.000713333 0.000713333 0.00072 0.000613333 +0.00056 0.000533333 0.000533333 0.000546667 0.00058 0.000646667 0.000793333 0.00094 +0.00096 0.000886667 0.00088 0.000933333 0.000893333 0.000813333 0.000833333 0.000873333 +0.000866667 0.000813333 0.00082 0.000853333 0.00086 0.000826667 0.000746667 0.000726667 +0.00074 0.000773333 0.0008 0.000773333 0.00072 0.00068 0.000653333 0.00066 +0.000726667 0.000766667 0.000753333 0.000753333 0.000746667 0.000766667 0.00078 0.000786667 +0.000813333 0.00082 0.000813333 0.0008 0.000813333 0.000813333 0.0008 0.000746667 +0.00072 0.00072 0.000726667 0.00072 0.000733333 0.000726667 0.00074 0.00074 +0.000713333 0.000746667 0.000773333 0.000753333 0.00076 0.000746667 0.00076 0.000766667 +0.000766667 0.00076 0.000766667 0.000786667 0.000806667 0.000873333 0.000973333 0.270907 +0.36368 0.424267 0.458347 0.529053 0.642737 0.804421 0.942737 0.99698 +1.00253 0.994367 0.984571 0.970526 0.958526 0.955368 0.951579 0.951579 +0.961053 0.973684 0.980327 0.981959 0.987837 0.997633 1.0071 1.00873 +1.00776 1.00743 1.00808 1.00841 1.00873 1.00743 1.00873 1.01004 +1.0071 1.0022 0.999592 1.00122 1.00743 1.01233 1.01102 1.00482 +0.999918 0.993714 0.984571 0.974947 0.961053 0.936421 0.892842 0.826526 +0.739368 0.652211 0.602947 0.589053 0.577053 0.543579 0.518947 0.519579 +0.519579 0.501895 0.469707 0.464027 0.490533 0.47728 0.43184 0.43184 +0.46024 0.467813 0.42616 0.39208 0.384507 0.384507 0.378827 0.37504 +0.367467 0.350427 0.348533 0.361787 0.390187 0.390187 0.382613 0.395867 +0.405333 0.424267 0.473493 0.479173 0.428053 0.39208 0.399653 0.439413 +0.441307 0.4148 0.416693 0.439413 0.433733 0.42048 0.4148 0.39776 +0.376933 0.367467 0.3864 0.475387 0.567579 0.631368 0.602947 0.534105 +0.492427 0.446987 0.429947 0.450773 0.4716 0.481067 0.506947 0.517684 +0.507579 0.48864 0.5 0.513263 0.524 0.514526 0.510737 0.530316 +0.554316 0.577053 0.604842 0.660421 0.728632 0.789263 0.863789 0.956632 +1.01592 1.05902 1.22738 1.28215 1.1589 1.04433 1.0231 1.01461 +1.01722 1.02963 1.044 1.11173 1.21216 1.20151 1.11782 1.02996 +0.98751 0.964842 0.965474 0.978105 0.983592 0.983918 0.985224 0.984245 +0.986531 0.98751 0.984898 0.984898 0.983265 0.981306 0.981959 0.984898 +0.989143 0.999265 1.0169 1.04498 1.14977 1.27455 1.29281 1.24716 +1.23651 1.27911 1.37345 1.46779 1.49214 1.4541 1.44801 1.46627 +1.54996 1.58039 1.48757 1.40084 1.32476 1.24259 1.16499 1.12695 +1.1376 1.19086 1.2076 1.2639 1.35063 1.28063 1.05967 1.01624 +0.998612 0.995673 0.991102 0.992082 0.993061 0.990122 0.989796 0.989796 +0.992082 0.998612 1.0009 1.0071 1.00808 1.00351 1.00122 0.995673 +0.989796 0.985878 0.986204 0.992082 0.994041 0.995673 1.00645 1.01984 +1.0218 1.02539 1.03845 1.05543 1.1163 1.11326 1.0551 1.04629 +1.04759 1.04727 1.0502 1.05837 1.05576 1.0502 1.0538 1.05608 +1.07065 1.08282 1.05347 1.03976 1.02408 1.00743 0.995673 0.984571 +0.971158 0.962316 0.944 0.92 0.892211 0.856211 0.822105 0.791158 +0.746316 0.700842 0.678105 0.668 0.641474 0.593474 0.556842 0.541684 +0.539789 0.544842 0.537895 0.520211 0.514526 0.517053 0.520211 0.537263 +0.558105 0.569474 0.578316 0.580842 0.580211 0.589684 0.611789 0.642105 +0.684421 0.724211 0.750737 0.772211 0.793053 0.812632 0.841053 0.882737 +0.92 0.944 0.971158 0.984245 0.98098 0.969263 0.964842 0.968 +0.971789 0.975579 0.974316 0.969263 0.962316 0.960421 0.982286 1.00612 +1.0329 1.04922 1.05478 1.05739 1.06609 1.07217 1.04727 1.02082 +1.0022 0.999592 1.00482 1.00776 1.00841 1.00841 1.0058 1.00482 +1.00416 1.00547 1.00384 0.996653 0.985878 0.971158 0.961684 0.962316 +0.961053 0.954737 0.952211 0.956632 0.973684 0.989469 1.0009 1.00612 +0.991755 0.901684 0.733684 0.579579 0.48864 0.373147 0.265227 0.000873333 +0.00074 0.000686667 0.000693333 0.00072 0.00072 0.000713333 0.000713333 0.000733333 +0.00072 0.000713333 0.000726667 0.000746667 0.00074 0.000746667 0.000746667 0.00074 +0.000773333 0.000793333 0.00082 0.00078 0.00078 0.0008 0.000766667 0.000806667 +0.229253 0.350427 0.48864 0.546737 0.585263 0.606105 0.62 0.626316 +0.624421 0.620632 0.612421 0.600421 0.587789 0.572632 0.563789 0.572632 +0.599158 0.621895 0.640842 0.671158 0.715368 0.751368 0.757684 0.720421 +0.650316 0.566316 0.473493 0.331493 0.25576 0.234933 0.23304 0.22736 +0.223573 0.225467 0.229253 0.22736 0.217893 0.217893 0.217893 0.216 +0.000986667 0.00098 0.000986667 0.000973333 0.000973333 0.00098 0.000986667 0.000973333 +0.000973333 0.00098 0.216 0.000993333 0.000793333 0.00072 0.000733333 0.000793333 +0.000753333 0.000766667 0.000793333 0.000786667 0.000786667 0.00078 0.000753333 0.000746667 +0.000793333 0.000793333 0.00078 0.000786667 0.000793333 0.000833333 0.00082 0.00082 +0.000846667 0.00084 0.000813333 0.000786667 0.000773333 0.0008 0.000773333 0.000746667 +0.000733333 0.000733333 0.000653333 0.000553333 0.000506667 0.000533333 0.00066 0.000726667 +0.000773333 0.00086 0.000953333 0.00094 0.000906667 0.000886667 0.000906667 0.00088 +0.000873333 0.000893333 0.000946667 0.000886667 0.000826667 0.000853333 0.00086 0.00086 +0.00082 0.00076 0.000753333 0.00074 0.00074 0.00076 0.00076 0.000753333 +0.00076 0.00076 0.00072 0.000706667 0.000726667 0.000746667 0.00074 0.000726667 +0.000766667 0.000773333 0.000786667 0.000813333 0.000853333 0.00088 0.00086 0.000813333 +0.000793333 0.000786667 0.000753333 0.000746667 0.000753333 0.000753333 0.000766667 0.000773333 +0.00074 0.000746667 0.00078 0.00078 0.00078 0.00078 0.0008 0.00082 +0.000826667 0.000826667 0.000806667 0.00082 0.000813333 0.000846667 0.000873333 0.000966667 +0.27848 0.378827 0.42616 0.456453 0.530947 0.642737 0.803158 0.942737 +0.996327 1.00188 0.996 0.984571 0.968632 0.959158 0.954737 0.956 +0.960421 0.963579 0.970526 0.976211 0.981959 0.990449 1.00024 1.0071 +1.00873 1.00873 1.00906 1.00808 1.00612 1.00612 1.00776 1.00873 +1.00808 1.00514 1.00122 0.997959 0.998286 1.00482 1.00939 1.00873 +1.0058 1.00024 0.994367 0.989469 0.983918 0.971789 0.949053 0.913684 +0.853684 0.776 0.706526 0.655368 0.616842 0.579579 0.551158 0.536632 +0.524632 0.504421 0.469707 0.48296 0.506947 0.49432 0.450773 0.464027 +0.501263 0.505053 0.464027 0.411013 0.3864 0.378827 0.376933 0.376933 +0.37504 0.361787 0.35232 0.354213 0.36368 0.361787 0.36368 0.384507 +0.433733 0.48864 0.510105 0.506947 0.456453 0.399653 0.388293 0.422373 +0.45456 0.467813 0.467813 0.45456 0.422373 0.39776 0.40344 0.39776 +0.36936 0.37504 0.40912 0.469707 0.551789 0.622526 0.623789 0.563789 +0.516421 0.48864 0.458347 0.473493 0.506947 0.520211 0.524 0.518947 +0.503789 0.496213 0.506316 0.522737 0.547368 0.553053 0.558737 0.593474 +0.621263 0.644632 0.698316 0.779158 0.851789 0.913053 0.988163 1.03714 +1.14369 1.2502 1.24259 1.11782 1.04073 1.02408 1.02049 1.01918 +1.02767 1.04661 1.10413 1.20151 1.19999 1.1376 1.0489 1.00808 +0.980327 0.962316 0.964842 0.977474 0.986204 0.992408 0.992735 0.992735 +0.993388 0.991755 0.989796 0.989796 0.986204 0.983592 0.984245 0.985878 +0.983265 0.983918 0.990776 1.00057 1.02278 1.0813 1.25172 1.28215 +1.2502 1.23346 1.24411 1.27303 1.2639 1.20303 1.20607 1.23803 +1.25172 1.23346 1.19238 1.17108 1.1163 1.05184 1.04596 1.05869 +1.1376 1.21064 1.27759 1.36128 1.28368 1.05184 1.01069 0.999265 +0.996653 0.992735 0.984898 0.987837 0.994694 0.998286 1.0009 1.00253 +1.00188 1.00482 1.00612 1.00906 1.00873 1.00416 1.00286 0.999265 +0.995347 0.992735 0.989143 0.990776 0.993388 0.995673 0.999918 1.00808 +1.01331 1.01886 1.03029 1.04824 1.095 1.12391 1.07826 1.05739 +1.05935 1.05869 1.05706 1.06456 1.06456 1.05804 1.05608 1.05314 +1.05314 1.05543 1.0538 1.05282 1.04955 1.04041 1.02963 1.01429 +0.998286 0.98849 0.979368 0.964211 0.948421 0.927579 0.904842 0.888421 +0.863158 0.820842 0.784211 0.757684 0.717895 0.66421 0.631368 0.611158 +0.597895 0.596 0.589053 0.574526 0.567579 0.573263 0.588421 0.616211 +0.642105 0.664842 0.685684 0.695789 0.701474 0.712842 0.736211 0.769684 +0.811368 0.848632 0.873895 0.892211 0.908632 0.918105 0.926947 0.938316 +0.949684 0.973684 0.994367 1.00122 0.992735 0.982612 0.973053 0.968632 +0.973684 0.978737 0.974316 0.962316 0.955368 0.979368 1.01102 1.03714 +1.04824 1.04988 1.05347 1.05771 1.04988 1.03029 1.00873 0.99698 +0.997959 1.00318 1.0071 1.00776 1.00743 1.00678 1.00547 1.00482 +1.00482 1.00384 0.99698 0.985551 0.971158 0.962316 0.960421 0.959158 +0.954105 0.951579 0.957263 0.977474 0.992082 1.0022 1.00514 0.988163 +0.891579 0.725474 0.576421 0.48864 0.36936 0.26712 0.000873333 0.00074 +0.000706667 0.000713333 0.00072 0.000726667 0.000726667 0.000733333 0.000726667 0.000713333 +0.0007 0.0007 0.000726667 0.000753333 0.000733333 0.00076 0.00078 0.000806667 +0.00082 0.000793333 0.000806667 0.00076 0.000753333 0.000826667 0.00096 0.286053 +0.43184 0.534105 0.580211 0.609895 0.623158 0.626947 0.627579 0.624421 +0.616842 0.611158 0.602316 0.586526 0.570737 0.548 0.530316 0.548632 +0.606737 0.668 0.714105 0.744421 0.748842 0.710316 0.639579 0.556211 +0.456453 0.32392 0.25576 0.23304 0.225467 0.225467 0.22736 0.223573 +0.219787 0.000993333 0.217893 0.219787 0.00096 0.000966667 0.000993333 0.216 +0.000973333 0.000966667 0.00098 0.000953333 0.000933333 0.00094 0.000953333 0.000933333 +0.000933333 0.000953333 0.000966667 0.000953333 0.000726667 0.00068 0.000766667 0.000746667 +0.00074 0.000773333 0.000786667 0.00078 0.000786667 0.00078 0.000773333 0.000786667 +0.000833333 0.000806667 0.000786667 0.000806667 0.000833333 0.00084 0.000833333 0.000846667 +0.000886667 0.000893333 0.00088 0.00086 0.000853333 0.000853333 0.000846667 0.00086 +0.000873333 0.000853333 0.00078 0.000733333 0.000733333 0.00074 0.000653333 0.000566667 +0.000586667 0.000653333 0.000726667 0.000826667 0.000913333 0.000953333 0.00096 0.00094 +0.000946667 0.00094 0.00096 0.00094 0.00092 0.000893333 0.000833333 0.000773333 +0.000733333 0.000746667 0.000773333 0.000746667 0.000753333 0.00076 0.00074 0.000726667 +0.000726667 0.000733333 0.00074 0.00076 0.00078 0.000773333 0.000753333 0.000746667 +0.000766667 0.000746667 0.000726667 0.000733333 0.00076 0.000793333 0.000813333 0.00084 +0.000893333 0.000886667 0.00084 0.0008 0.000786667 0.000766667 0.000746667 0.00074 +0.000713333 0.000746667 0.000786667 0.000773333 0.000773333 0.000766667 0.00078 0.000806667 +0.000806667 0.000806667 0.000813333 0.000826667 0.00082 0.000833333 0.000866667 0.000906667 +0.216 0.276587 0.359893 0.4148 0.458347 0.530947 0.641474 0.798737 +0.935789 0.994041 1.00188 0.993714 0.980327 0.961684 0.956 0.961684 +0.963579 0.955368 0.955368 0.963579 0.973053 0.981959 0.98751 0.996327 +1.00449 1.00906 1.01037 1.01004 1.0071 1.00776 1.00743 1.00547 +1.00547 1.0058 1.00351 1.0009 0.996 0.993714 0.997633 1.00351 +1.00547 1.00384 1.00286 1.00057 0.994367 0.987184 0.976211 0.952842 +0.92379 0.884 0.826526 0.762105 0.702105 0.649053 0.611789 0.582105 +0.549895 0.516421 0.5 0.505684 0.514526 0.506316 0.5 0.506947 +0.512 0.505684 0.46592 0.43184 0.42048 0.412907 0.407227 0.411013 +0.412907 0.411013 0.39776 0.371253 0.35232 0.34664 0.35232 0.36936 +0.422373 0.496213 0.513895 0.508842 0.481067 0.428053 0.399653 0.412907 +0.475387 0.506316 0.481067 0.42616 0.395867 0.390187 0.39776 0.39208 +0.37504 0.42048 0.4716 0.508211 0.555579 0.609263 0.635789 0.614316 +0.554316 0.509474 0.501895 0.512 0.533474 0.541053 0.528421 0.513895 +0.502526 0.504421 0.517053 0.534737 0.575789 0.604211 0.618105 0.662947 +0.712842 0.750737 0.813895 0.892842 0.966105 1.01429 1.07217 1.23955 +1.28215 1.21825 1.07978 1.03551 1.0218 1.02441 1.03159 1.04008 +1.05706 1.16347 1.24564 1.23346 1.14369 1.05249 1.01886 0.991102 +0.977474 0.973684 0.98098 0.985551 0.991429 0.997306 0.998286 0.997633 +0.995347 0.991755 0.993061 0.995347 0.994041 0.991755 0.993714 0.993061 +0.985878 0.986531 0.989143 0.991429 0.995673 1.01494 1.05673 1.25477 +1.3278 1.28215 1.21825 1.17412 1.12391 1.06 1.06913 1.11326 +1.095 1.07065 1.06456 1.07978 1.05445 1.03747 1.04073 1.06456 +1.18021 1.26998 1.30346 1.24868 1.05543 1.01167 0.999265 0.999592 +0.995347 0.993388 0.992408 0.99698 1.00188 1.00351 1.00514 1.0058 +1.00514 1.00351 1.0022 1.00318 1.00351 1.0009 1.00057 1.00155 +1.00253 0.998939 0.991102 0.989469 0.991755 0.993061 0.992735 0.998286 +1.00351 1.00906 1.01886 1.03257 1.04661 1.07065 1.10869 1.12695 +1.12239 1.11021 1.09348 1.06913 1.07522 1.09348 1.07674 1.06304 +1.05771 1.05314 1.05347 1.05445 1.05314 1.04922 1.04563 1.03616 +1.02441 1.01429 1.00482 0.992408 0.98098 0.967368 0.954105 0.940842 +0.926316 0.902316 0.873895 0.841053 0.789895 0.733053 0.706526 0.694526 +0.676842 0.663579 0.65979 0.662316 0.661053 0.666105 0.683789 0.704 +0.718526 0.742526 0.778526 0.803158 0.815789 0.830947 0.855579 0.882737 +0.909263 0.926947 0.935158 0.937684 0.941474 0.940211 0.937684 0.937684 +0.945263 0.974316 0.992408 0.994041 0.985224 0.970526 0.959789 0.957895 +0.964211 0.976211 0.98 0.971158 0.981959 1.01429 1.04857 1.05282 +1.04759 1.05053 1.05249 1.04171 1.01788 0.999592 0.99502 0.997633 +1.00122 1.00318 1.00449 1.0058 1.00612 1.00547 1.00612 1.00612 +1.00449 0.99698 0.984245 0.970526 0.962947 0.960421 0.959158 0.954105 +0.952842 0.960421 0.979368 0.994367 1.00514 1.00612 0.986204 0.878316 +0.710947 0.565684 0.484853 0.373147 0.26144 0.000866667 0.00074 0.00072 +0.00068 0.000686667 0.000706667 0.0007 0.0007 0.0007 0.000706667 0.0007 +0.000693333 0.000706667 0.000746667 0.000786667 0.000786667 0.0008 0.000806667 0.000813333 +0.000793333 0.00076 0.00078 0.000773333 0.000873333 0.257653 0.373147 0.510105 +0.561895 0.602316 0.623789 0.631368 0.633263 0.632 0.628842 0.620632 +0.610526 0.602316 0.589684 0.567579 0.549263 0.535368 0.543579 0.594737 +0.671158 0.729895 0.741895 0.702105 0.629474 0.545474 0.4432 0.322027 +0.25576 0.234933 0.229253 0.22736 0.223573 0.219787 0.217893 0.217893 +0.216 0.000986667 0.000993333 0.000986667 0.00096 0.00096 0.00098 0.000993333 +0.000966667 0.000966667 0.000966667 0.000946667 0.000933333 0.000933333 0.000946667 0.000946667 +0.000933333 0.000933333 0.000966667 0.00094 0.000666667 0.000733333 0.000746667 0.000693333 +0.000713333 0.000726667 0.000733333 0.00074 0.000733333 0.000773333 0.000773333 0.00078 +0.00076 0.000773333 0.000793333 0.00082 0.000826667 0.000826667 0.00084 0.000866667 +0.000893333 0.00092 0.000926667 0.00092 0.00094 0.000953333 0.000966667 0.000993333 +0.216 0.000933333 0.000866667 0.00092 0.00098 0.00094 0.000873333 0.000833333 +0.000746667 0.00066 0.00062 0.000626667 0.000693333 0.0008 0.000933333 0.22736 +0.23872 0.22736 0.000993333 0.000913333 0.000893333 0.0009 0.000893333 0.000873333 +0.000853333 0.000826667 0.000806667 0.00074 0.000733333 0.00074 0.00076 0.00078 +0.000786667 0.000766667 0.000753333 0.00074 0.000726667 0.000726667 0.000733333 0.00072 +0.000746667 0.00074 0.00072 0.00072 0.000733333 0.000746667 0.000733333 0.00076 +0.000806667 0.00082 0.000826667 0.000846667 0.000853333 0.000826667 0.000773333 0.000733333 +0.000713333 0.000733333 0.00076 0.00076 0.000746667 0.00074 0.000733333 0.00076 +0.00076 0.00076 0.000786667 0.000806667 0.000793333 0.000806667 0.00082 0.000866667 +0.00088 0.000946667 0.26144 0.344747 0.405333 0.446987 0.527158 0.632632 +0.786737 0.926316 0.992735 1.00188 0.993061 0.980327 0.962947 0.958526 +0.957895 0.951579 0.949053 0.956 0.965474 0.973684 0.979368 0.984571 +0.992082 1.00057 1.0071 1.01004 1.01037 1.01004 1.00873 1.00645 +1.0058 1.00547 1.0058 1.00416 1.00024 0.994041 0.991429 0.996327 +1.00122 1.00318 1.00547 1.00482 1.00122 0.99698 0.990776 0.981959 +0.968632 0.948421 0.917474 0.875158 0.822737 0.765895 0.718526 0.669263 +0.606737 0.551158 0.529684 0.525263 0.524632 0.519579 0.519579 0.524632 +0.516421 0.501263 0.458347 0.450773 0.475387 0.46024 0.429947 0.428053 +0.424267 0.42616 0.433733 0.401547 0.361787 0.35232 0.358 0.367467 +0.390187 0.441307 0.486747 0.501263 0.503789 0.48296 0.428053 0.439413 +0.511368 0.517053 0.4716 0.42048 0.412907 0.418587 0.418587 0.407227 +0.4148 0.464027 0.503158 0.525263 0.554316 0.571368 0.605474 0.637684 +0.608632 0.566316 0.560632 0.565684 0.562526 0.548 0.534737 0.524632 +0.515158 0.524632 0.546105 0.570737 0.613053 0.646526 0.671158 0.731158 +0.808211 0.863789 0.930105 0.99502 1.0391 1.16195 1.30041 1.29585 +1.17564 1.05902 1.03845 1.02473 1.02114 1.02963 1.04857 1.12239 +1.23651 1.28063 1.24716 1.16499 1.05543 1.01951 0.993714 0.982939 +0.974947 0.980327 0.986857 0.990122 0.993714 0.995673 0.99502 0.992082 +0.990122 0.990122 0.993061 0.99502 0.996 0.996 1.00024 0.997306 +0.992082 0.993061 0.993714 0.993714 0.993388 0.995347 1.01298 1.05935 +1.28976 1.38867 1.33389 1.20303 1.06609 1.04367 1.04661 1.05739 +1.05576 1.05249 1.05216 1.05151 1.04465 1.04204 1.05216 1.12086 +1.26998 1.3278 1.21673 1.05249 1.0182 1.00057 0.994694 0.995347 +0.995673 0.999265 1.00057 1.0022 1.00612 1.00808 1.00678 1.00514 +1.00514 1.00253 1.00024 1.00351 1.00612 1.00547 1.00645 1.01004 +1.01102 1.00612 0.996 0.991755 0.991102 0.98849 0.985224 0.989469 +0.992082 0.996327 1.00384 1.01429 1.028 1.04465 1.05967 1.13912 +1.18934 1.19999 1.17108 1.1163 1.09043 1.09652 1.095 1.11021 +1.09804 1.05706 1.05478 1.05706 1.05576 1.05184 1.04792 1.04269 +1.03878 1.03453 1.02767 1.01657 1.00384 0.99502 0.986204 0.971789 +0.954105 0.938947 0.929474 0.915579 0.885263 0.842947 0.821474 0.815158 +0.803158 0.784211 0.772211 0.776632 0.786105 0.796842 0.812 0.821474 +0.832842 0.856211 0.884632 0.901053 0.909895 0.918737 0.92821 0.937684 +0.943368 0.943368 0.944 0.945263 0.947789 0.945895 0.938947 0.933895 +0.938316 0.960421 0.977474 0.973684 0.962316 0.952842 0.948421 0.946526 +0.953474 0.976842 0.985878 0.990122 1.00906 1.04008 1.0538 1.04661 +1.04694 1.04596 1.03029 1.00841 0.994694 0.994694 1.0009 1.00482 +1.00612 1.00547 1.00645 1.00873 1.00841 1.00776 1.00678 1.00318 +0.996 0.983918 0.966105 0.961684 0.958526 0.952211 0.952211 0.955368 +0.967368 0.983918 0.996327 1.00482 1.00416 0.981959 0.865684 0.700211 +0.562526 0.464027 0.361787 0.251973 0.000853333 0.000726667 0.000713333 0.000753333 +0.000713333 0.0007 0.000713333 0.000693333 0.000693333 0.00072 0.000733333 0.000726667 +0.000733333 0.000773333 0.000813333 0.00084 0.00086 0.000853333 0.000826667 0.000786667 +0.00076 0.000793333 0.000893333 0.236827 0.34096 0.481067 0.542947 0.585895 +0.614316 0.627579 0.632 0.633263 0.633263 0.631368 0.626947 0.614947 +0.596632 0.578947 0.563158 0.553684 0.559368 0.585895 0.635789 0.688211 +0.709053 0.682526 0.618105 0.540421 0.43184 0.308773 0.259547 0.23872 +0.223573 0.217893 0.219787 0.217893 0.00098 0.000973333 0.000973333 0.000986667 +0.000986667 0.000993333 0.00098 0.00096 0.000946667 0.00094 0.000946667 0.000966667 +0.000966667 0.000953333 0.00096 0.000953333 0.000953333 0.00094 0.000953333 0.000946667 +0.00094 0.00092 0.000933333 0.00094 0.000713333 0.000753333 0.00072 0.000733333 +0.000753333 0.000746667 0.00076 0.000793333 0.000806667 0.000813333 0.000813333 0.000806667 +0.000793333 0.000846667 0.000853333 0.000853333 0.000853333 0.000866667 0.000886667 0.000913333 +0.000926667 0.000926667 0.000893333 0.00088 0.000893333 0.000913333 0.000953333 0.000986667 +0.000973333 0.000906667 0.000953333 0.219787 0.00098 0.00094 0.000966667 0.00096 +0.000913333 0.000886667 0.000846667 0.000793333 0.000766667 0.000746667 0.000773333 0.000846667 +0.000913333 0.000993333 0.23872 0.248187 0.246293 0.236827 0.219787 0.000926667 +0.000866667 0.000846667 0.000826667 0.0008 0.000813333 0.0008 0.0008 0.00082 +0.000793333 0.000753333 0.000733333 0.000726667 0.000746667 0.00074 0.000726667 0.000753333 +0.00076 0.00074 0.000733333 0.000766667 0.000773333 0.000733333 0.000733333 0.000753333 +0.00076 0.000753333 0.000773333 0.00084 0.000853333 0.00086 0.000846667 0.000833333 +0.000786667 0.000766667 0.000773333 0.000746667 0.000746667 0.000746667 0.00072 0.00076 +0.000813333 0.000826667 0.000833333 0.000826667 0.00078 0.000786667 0.000786667 0.000806667 +0.00084 0.000893333 0.00094 0.253867 0.331493 0.399653 0.46024 0.525263 +0.620632 0.767789 0.909895 0.987837 1.00024 0.995347 0.982939 0.965474 +0.954105 0.949684 0.951579 0.954737 0.958526 0.964211 0.976211 0.982286 +0.984898 0.993388 1.00253 1.00841 1.01167 1.01135 1.00939 1.0071 +1.0058 1.0058 1.00547 1.00547 1.00351 0.999918 0.996 0.994694 +0.995347 0.998612 1.00122 1.00286 1.0022 0.999592 0.996653 0.992408 +0.986531 0.980327 0.964842 0.944632 0.916842 0.880842 0.835368 0.779158 +0.704 0.632632 0.591579 0.568842 0.555579 0.542316 0.538526 0.542947 +0.531579 0.516421 0.503789 0.490533 0.500632 0.492427 0.473493 0.46024 +0.43184 0.422373 0.4432 0.42048 0.382613 0.36936 0.373147 0.382613 +0.405333 0.445093 0.473493 0.5 0.517053 0.524632 0.516421 0.519579 +0.535368 0.518316 0.46024 0.422373 0.418587 0.429947 0.433733 0.424267 +0.464027 0.503789 0.515789 0.534737 0.537895 0.522105 0.542316 0.590947 +0.608632 0.602947 0.596632 0.588421 0.573895 0.565684 0.572 0.568211 +0.561895 0.572 0.596 0.631368 0.676842 0.722316 0.776 0.848632 +0.926947 0.987837 1.02702 1.09652 1.23955 1.29128 1.24259 1.11326 +1.04563 1.03192 1.02506 1.02376 1.02865 1.04629 1.13456 1.29128 +1.35215 1.26998 1.16043 1.0538 1.01624 0.986857 0.980327 0.978737 +0.978105 0.983918 0.990122 0.992408 0.995347 0.994694 0.992408 0.98849 +0.989796 0.993388 0.99502 0.996653 0.998286 0.999592 1.00155 0.99698 +0.998612 1.0009 0.997959 0.994694 0.992082 0.993061 0.997959 1.01657 +1.06761 1.33693 1.44345 1.31411 1.12391 1.05576 1.05771 1.05804 +1.05445 1.05086 1.04727 1.04073 1.0378 1.05184 1.09956 1.22281 +1.34302 1.25324 1.05412 1.01984 0.999918 0.986531 0.984571 0.991755 +0.997959 1.00286 1.00286 1.00449 1.00971 1.01265 1.00841 1.00612 +1.00743 1.00612 1.00645 1.00906 1.01037 1.00971 1.01004 1.01167 +1.01102 1.00547 0.996653 0.991429 0.989796 0.986204 0.980327 0.98 +0.980653 0.985878 0.992408 0.999265 1.00939 1.02212 1.03649 1.05641 +1.14217 1.21216 1.24107 1.22738 1.18934 1.15738 1.15282 1.1726 +1.16195 1.09348 1.06 1.06304 1.07065 1.06152 1.05412 1.04857 +1.04465 1.04204 1.0391 1.03159 1.02049 1.01233 1.00253 0.991102 +0.981306 0.965474 0.953474 0.950947 0.942105 0.92379 0.912421 0.908632 +0.901053 0.890947 0.885263 0.889053 0.896632 0.905474 0.911789 0.915579 +0.924421 0.935789 0.943368 0.945895 0.947789 0.946526 0.948421 0.952211 +0.953474 0.951579 0.950947 0.952211 0.953474 0.951579 0.945263 0.936421 +0.937684 0.952211 0.962316 0.960421 0.953474 0.951579 0.952842 0.954105 +0.969895 0.989796 0.999592 1.01265 1.0342 1.04596 1.04498 1.04237 +1.03845 1.02049 1.0009 0.994367 0.996653 1.00188 1.00612 1.00776 +1.0071 1.00678 1.00776 1.00808 1.00678 1.0058 1.0009 0.991102 +0.980653 0.964842 0.956632 0.956632 0.950947 0.947789 0.956 0.969895 +0.987184 0.998612 1.0058 1.00253 0.971158 0.847368 0.681895 0.556211 +0.4716 0.348533 0.236827 0.000793333 0.00074 0.000733333 0.00074 0.000753333 +0.000726667 0.00074 0.000733333 0.0007 0.000713333 0.000746667 0.000766667 0.000793333 +0.000813333 0.00084 0.000833333 0.000813333 0.000806667 0.000773333 0.000773333 0.00078 +0.000846667 0.234933 0.339067 0.46024 0.533474 0.573895 0.601684 0.62 +0.627579 0.630105 0.628842 0.630737 0.635789 0.633263 0.618737 0.594105 +0.566316 0.553684 0.564421 0.598526 0.645895 0.682526 0.693895 0.665474 +0.602947 0.532842 0.424267 0.314453 0.265227 0.248187 0.242507 0.234933 +0.22736 0.223573 0.217893 0.217893 0.000986667 0.000986667 0.216 0.217893 +0.219787 0.22168 0.000973333 0.000966667 0.000946667 0.00094 0.000946667 0.000966667 +0.000993333 0.000973333 0.00098 0.000973333 0.00098 0.00098 0.000986667 0.000966667 +0.000966667 0.000946667 0.00096 0.00096 0.00076 0.00076 0.00074 0.000766667 +0.000766667 0.000746667 0.000766667 0.000806667 0.00082 0.00082 0.000846667 0.000846667 +0.000846667 0.000833333 0.000866667 0.00086 0.000866667 0.000873333 0.00088 0.00088 +0.000893333 0.00086 0.000806667 0.0008 0.000793333 0.000806667 0.000866667 0.000866667 +0.000813333 0.000853333 0.000913333 0.000886667 0.00086 0.000893333 0.000946667 0.000973333 +0.216 0.242507 0.269013 0.276587 0.28984 0.304987 0.3296 0.365573 +0.405333 0.456453 0.496213 0.49432 0.458347 0.395867 0.331493 0.26712 +0.219787 0.000913333 0.000866667 0.000826667 0.000826667 0.000806667 0.000793333 0.000773333 +0.000753333 0.000746667 0.000766667 0.000773333 0.000773333 0.000766667 0.000786667 0.000806667 +0.000786667 0.00076 0.000773333 0.000773333 0.00076 0.000766667 0.000773333 0.000753333 +0.000746667 0.000746667 0.00074 0.000746667 0.00072 0.000753333 0.00082 0.000833333 +0.000826667 0.000793333 0.000793333 0.00076 0.00072 0.00072 0.00074 0.000753333 +0.00076 0.000793333 0.000793333 0.00076 0.000753333 0.000766667 0.000793333 0.00078 +0.000813333 0.000846667 0.000853333 0.000913333 0.23872 0.314453 0.39208 0.439413 +0.514526 0.598526 0.734316 0.881474 0.981959 1.00155 0.997306 0.986531 +0.970526 0.956632 0.955368 0.954105 0.952211 0.956 0.965474 0.973684 +0.976211 0.981633 0.989143 0.999265 1.00645 1.00906 1.00841 1.00678 +1.00514 1.00482 1.00612 1.0058 1.00449 1.0022 1.0009 0.998939 +0.995673 0.993714 0.994041 0.998286 1.0009 0.999265 0.999592 0.999592 +0.996653 0.991429 0.986531 0.980327 0.966737 0.944 0.915579 0.877053 +0.816421 0.742526 0.676842 0.629474 0.596632 0.574526 0.564421 0.564421 +0.561895 0.560632 0.550526 0.524 0.506316 0.501263 0.498107 0.47728 +0.45456 0.445093 0.446987 0.4432 0.42048 0.401547 0.401547 0.42048 +0.46024 0.498107 0.503789 0.516421 0.543579 0.575789 0.589684 0.571368 +0.541684 0.513263 0.490533 0.467813 0.458347 0.464027 0.46592 0.462133 +0.5 0.517684 0.532211 0.542947 0.525895 0.505684 0.513263 0.551158 +0.578947 0.589053 0.578316 0.566316 0.565053 0.577053 0.597263 0.609895 +0.622526 0.638947 0.669263 0.722316 0.782316 0.844842 0.915579 0.985224 +1.02114 1.05706 1.20455 1.27759 1.25324 1.1589 1.05576 1.03551 +1.028 1.02473 1.02441 1.03388 1.05837 1.20912 1.33389 1.37345 +1.28824 1.1376 1.04661 1.00841 0.974316 0.964842 0.977474 0.982612 +0.985224 0.991102 0.996327 0.997959 0.999592 0.997633 0.994367 0.991102 +0.995673 0.999265 1.0009 1.00351 1.00351 1.00286 1.00514 1.00286 +1.0071 1.00841 1.00612 1.0022 0.99698 0.99502 0.997633 1.00253 +1.01722 1.07522 1.3415 1.41758 1.26085 1.11173 1.07369 1.05673 +1.05314 1.0489 1.044 1.03649 1.03976 1.05935 1.1589 1.31107 +1.30498 1.05902 1.01918 1.0058 0.993388 0.983592 0.98849 0.998612 +1.00286 1.00449 1.0058 1.0071 1.00873 1.01069 1.0071 1.00645 +1.01004 1.00841 1.00776 1.00971 1.012 1.01135 1.00873 1.0071 +1.00547 0.998286 0.990449 0.990776 0.989796 0.984245 0.978737 0.976842 +0.980653 0.985551 0.990122 0.994367 0.999265 1.00678 1.01494 1.02669 +1.04335 1.06609 1.14521 1.20455 1.23651 1.24868 1.24716 1.24411 +1.23346 1.1726 1.12086 1.09804 1.09195 1.0813 1.05706 1.05053 +1.04563 1.04269 1.04041 1.03322 1.02441 1.01886 1.01363 1.0058 +0.998939 0.992735 0.984571 0.980327 0.970526 0.956632 0.946526 0.940842 +0.934526 0.932 0.934526 0.938947 0.939579 0.941474 0.944 0.946526 +0.953474 0.955368 0.956632 0.961053 0.962947 0.963579 0.968632 0.972421 +0.971158 0.970526 0.971158 0.968632 0.968632 0.966737 0.961053 0.955368 +0.952211 0.955368 0.962947 0.965474 0.961684 0.966105 0.976211 0.981959 +0.991755 1.00612 1.01886 1.03322 1.04563 1.04563 1.03812 1.02571 +1.00808 0.994367 0.992082 0.997306 1.00155 1.00449 1.00482 1.00416 +1.00482 1.00645 1.0071 1.00743 1.00612 1.00057 0.990776 0.98 +0.966737 0.961053 0.959158 0.958526 0.956632 0.965474 0.979368 0.988816 +1.00057 1.0071 1.00188 0.959789 0.827158 0.66421 0.544842 0.462133 +0.354213 0.240613 0.000806667 0.000713333 0.000726667 0.00074 0.000773333 0.000766667 +0.000746667 0.000753333 0.000733333 0.000713333 0.000746667 0.000793333 0.000833333 0.00088 +0.00088 0.00088 0.00082 0.00078 0.000766667 0.000786667 0.000893333 0.240613 +0.327707 0.46024 0.534737 0.571368 0.597895 0.612421 0.618737 0.624421 +0.627579 0.628842 0.630105 0.630737 0.637053 0.632632 0.608 0.576421 +0.568211 0.596 0.644632 0.683158 0.690737 0.657895 0.594737 0.524632 +0.405333 0.310667 0.265227 0.242507 0.234933 0.23304 0.234933 0.229253 +0.225467 0.22736 0.216 0.000986667 0.00098 0.00098 0.000993333 0.000986667 +0.000986667 0.219787 0.00098 0.00098 0.00098 0.00096 0.00096 0.000966667 +0.00098 0.000966667 0.000973333 0.00098 0.00096 0.00096 0.000973333 0.000993333 +0.000973333 0.000953333 0.000973333 0.000986667 0.000733333 0.000706667 0.000686667 0.0007 +0.000686667 0.00072 0.000733333 0.000773333 0.000793333 0.000826667 0.000833333 0.000813333 +0.000773333 0.000766667 0.0008 0.000773333 0.000773333 0.000773333 0.0008 0.000793333 +0.000793333 0.000773333 0.000726667 0.00076 0.000773333 0.00084 0.00084 0.00078 +0.000833333 0.000913333 0.000893333 0.000913333 0.216 0.251973 0.29552 0.342853 +0.393973 0.464027 0.515158 0.543579 0.577053 0.608 0.631368 0.640842 +0.642105 0.649684 0.66421 0.666737 0.651579 0.625053 0.589684 0.540421 +0.441307 0.286053 0.00094 0.00084 0.000826667 0.00082 0.000806667 0.00078 +0.000746667 0.000726667 0.000753333 0.00076 0.000753333 0.000766667 0.000773333 0.000766667 +0.000746667 0.000773333 0.00076 0.000746667 0.00076 0.000766667 0.000746667 0.00072 +0.000733333 0.00076 0.000753333 0.000733333 0.000693333 0.000726667 0.000773333 0.000773333 +0.00076 0.0008 0.000846667 0.000813333 0.000766667 0.000746667 0.000713333 0.000726667 +0.00074 0.000753333 0.000726667 0.000733333 0.000753333 0.000766667 0.000773333 0.00076 +0.000786667 0.000806667 0.00084 0.000853333 0.000913333 0.229253 0.291733 0.365573 +0.435627 0.504421 0.572 0.707158 0.865053 0.973684 0.996327 0.996327 +0.988163 0.974947 0.958526 0.950316 0.950316 0.953474 0.955368 0.962316 +0.967368 0.969263 0.974316 0.985551 0.996653 1.00318 1.0071 1.00808 +1.0071 1.00482 1.0058 1.00612 1.00449 1.00482 1.00351 1.00449 +1.00253 0.996 0.991429 0.994041 0.998939 1.00122 1.00122 1.0022 +1.00286 0.999918 0.996 0.992735 0.987837 0.98 0.962316 0.939579 +0.905474 0.848632 0.779158 0.716 0.666105 0.626947 0.596632 0.589053 +0.603579 0.611789 0.596632 0.561263 0.527158 0.506947 0.498107 0.481067 +0.46592 0.450773 0.435627 0.446987 0.464027 0.467813 0.47728 0.49432 +0.506316 0.510105 0.512 0.526526 0.549895 0.593474 0.632 0.608 +0.554316 0.533474 0.532211 0.522737 0.512 0.501263 0.479173 0.469707 +0.49432 0.513895 0.530316 0.532211 0.522737 0.526526 0.542316 0.567579 +0.588421 0.596632 0.584632 0.577684 0.584 0.59979 0.618105 0.645263 +0.688842 0.727368 0.778526 0.848632 0.916211 0.980653 1.01788 1.0551 +1.17716 1.27911 1.28976 1.20151 1.09956 1.04759 1.03257 1.02669 +1.02865 1.03551 1.05086 1.16195 1.3628 1.49214 1.45866 1.29889 +1.10108 1.03551 1.00449 0.969263 0.954737 0.966105 0.978737 0.986531 +0.992408 0.99698 1.00057 1.00188 1.00122 0.998612 0.995347 0.995347 +0.999918 1.00057 1.00351 1.00743 1.00612 1.00514 1.00645 1.00547 +1.00645 1.00841 1.00841 1.00645 1.00286 1.00057 0.999265 1.00024 +1.00155 1.01624 1.06 1.33541 1.38106 1.2076 1.08739 1.05739 +1.05347 1.04824 1.04465 1.04531 1.05445 1.12086 1.25172 1.35519 +1.18325 1.02571 1.00612 1.00253 0.996 0.995347 0.999265 1.00482 +1.0071 1.00482 1.0058 1.00547 1.00514 1.00612 1.00318 1.0022 +1.00678 1.00776 1.00482 1.00482 1.00678 1.00743 1.00482 1.00449 +1.00384 0.996 0.988163 0.98751 0.988816 0.983265 0.976211 0.98 +0.983265 0.986531 0.992408 0.994367 0.997959 1.00188 1.00482 1.00971 +1.01755 1.02473 1.03486 1.04988 1.08435 1.14977 1.20455 1.2502 +1.2715 1.23651 1.18325 1.14521 1.12391 1.1026 1.06152 1.05314 +1.04824 1.04269 1.04008 1.03616 1.03029 1.02571 1.02278 1.01918 +1.01331 1.00808 1.0009 0.995347 0.990776 0.985551 0.974947 0.962947 +0.960421 0.961684 0.963579 0.967368 0.964842 0.966737 0.973684 0.974316 +0.977474 0.978105 0.978737 0.98098 0.981959 0.983265 0.985878 0.987184 +0.985224 0.984245 0.984245 0.983592 0.983592 0.982286 0.98098 0.98 +0.977474 0.978737 0.981633 0.982939 0.983265 0.990122 1.00188 1.01298 +1.0182 1.02441 1.03453 1.04073 1.0391 1.02996 1.01494 0.996327 +0.987837 0.991755 0.997633 1.00155 1.00384 1.00482 1.00384 1.00449 +1.0071 1.00743 1.0071 1.0058 1.00122 0.990776 0.981959 0.973684 +0.965474 0.957263 0.955368 0.956632 0.968632 0.986857 0.994367 1.00057 +1.0071 0.999918 0.947789 0.805684 0.645895 0.536 0.439413 0.33528 +0.231147 0.000773333 0.000706667 0.000733333 0.000726667 0.00072 0.000746667 0.000753333 +0.00074 0.00076 0.000746667 0.000746667 0.000793333 0.00082 0.000866667 0.000906667 +0.000866667 0.000846667 0.00082 0.00084 0.000926667 0.259547 0.359893 0.479173 +0.534105 0.571368 0.597263 0.611789 0.62 0.623158 0.621263 0.620632 +0.621895 0.623158 0.62 0.613684 0.618737 0.630737 0.632632 0.630737 +0.648421 0.676842 0.681895 0.644632 0.580211 0.515789 0.39776 0.304987 +0.253867 0.236827 0.23304 0.223573 0.217893 0.000993333 0.216 0.216 +0.000986667 0.000993333 0.000973333 0.000966667 0.000946667 0.000946667 0.00096 0.000973333 +0.000933333 0.000953333 0.00098 0.000953333 0.00096 0.000966667 0.000953333 0.000953333 +0.00096 0.000946667 0.00094 0.000953333 0.000946667 0.00092 0.00092 0.000953333 +0.000953333 0.00094 0.000933333 0.000953333 0.000686667 0.000653333 0.000686667 0.0007 +0.000713333 0.00076 0.000793333 0.000793333 0.000806667 0.00082 0.000793333 0.000773333 +0.000753333 0.000753333 0.00076 0.000753333 0.000753333 0.000766667 0.00078 0.000773333 +0.00076 0.000713333 0.000726667 0.00076 0.0008 0.000853333 0.000813333 0.00086 +0.216 0.246293 0.27848 0.344747 0.433733 0.513263 0.551158 0.593474 +0.637684 0.680632 0.717263 0.74 0.750105 0.745053 0.733684 0.713474 +0.697053 0.700842 0.722947 0.734947 0.724842 0.718526 0.724211 0.720421 +0.668 0.566947 0.424267 0.280373 0.22168 0.000906667 0.00084 0.000806667 +0.00076 0.00074 0.000753333 0.00076 0.00074 0.000733333 0.00074 0.000773333 +0.000766667 0.00078 0.000773333 0.000773333 0.00076 0.000733333 0.000733333 0.000706667 +0.000713333 0.000733333 0.00072 0.00072 0.0007 0.00072 0.000746667 0.000733333 +0.000746667 0.0008 0.000846667 0.00084 0.0008 0.000773333 0.00078 0.00078 +0.000746667 0.000746667 0.000746667 0.000753333 0.000753333 0.00076 0.00076 0.000746667 +0.000766667 0.000813333 0.000853333 0.00088 0.000873333 0.000913333 0.00098 0.274693 +0.371253 0.4432 0.5 0.563158 0.692 0.844211 0.959158 0.997633 +1.00155 0.993388 0.979368 0.958526 0.950316 0.950947 0.952842 0.957895 +0.964211 0.967368 0.967368 0.971158 0.983265 0.993714 1.0022 1.0071 +1.00841 1.00645 1.00351 1.0022 1.00416 1.00547 1.00514 1.00482 +1.00482 1.0009 0.99502 0.991102 0.993714 0.999265 1.00122 1.0009 +1.00155 1.00122 0.999918 0.998939 0.997633 0.992408 0.984245 0.972421 +0.955368 0.926947 0.883368 0.830316 0.770316 0.706526 0.651579 0.630105 +0.631368 0.623789 0.617474 0.59979 0.561263 0.534105 0.523368 0.518947 +0.512 0.506316 0.500632 0.510737 0.536 0.539158 0.525263 0.512 +0.502526 0.498107 0.507579 0.522737 0.537263 0.582105 0.642737 0.650947 +0.614316 0.584632 0.56 0.530947 0.512 0.48296 0.45456 0.464027 +0.492427 0.513263 0.525895 0.521474 0.527789 0.554947 0.574526 0.589684 +0.609263 0.625684 0.621895 0.625684 0.643368 0.672421 0.697053 0.732421 +0.791158 0.848 0.909895 0.973684 1.01102 1.04661 1.14217 1.24868 +1.30194 1.29128 1.19847 1.07978 1.04857 1.03943 1.03584 1.0391 +1.05053 1.15434 1.34302 1.51648 1.59408 1.48453 1.2715 1.05445 +1.01657 0.993388 0.969895 0.954737 0.962316 0.966737 0.976842 0.987184 +0.992082 0.994694 0.99698 0.998939 0.997959 0.998612 0.997633 1.0009 +1.00351 1.0009 1.00384 1.00612 1.00416 1.00482 1.00449 1.00253 +1.00384 1.0058 1.00743 1.00645 1.00645 1.00612 1.00612 1.00482 +1.00024 0.998939 1.01461 1.1026 1.36432 1.36584 1.2076 1.08435 +1.05347 1.04857 1.04661 1.05314 1.09804 1.1939 1.30954 1.24107 +1.04367 1.00808 0.999918 0.998612 0.999918 1.00416 1.00449 1.0058 +1.00678 1.00612 1.00547 1.00384 1.00514 1.00482 1.00286 1.00416 +1.00808 1.00612 1.00188 1.00057 0.999918 1.00122 1.00253 1.00384 +1.0022 0.994041 0.985551 0.981959 0.981959 0.972421 0.962316 0.973053 +0.983265 0.989143 0.997306 0.999918 1.0022 1.00416 1.00482 1.00612 +1.00808 1.00873 1.01265 1.01951 1.028 1.03812 1.05151 1.09652 +1.15282 1.17108 1.16499 1.15282 1.1376 1.11173 1.08587 1.05869 +1.05086 1.04367 1.04073 1.03845 1.0342 1.02865 1.02376 1.02016 +1.01592 1.01298 1.00873 1.00416 1.00024 0.997306 0.992408 0.98751 +0.987837 0.98849 0.989143 0.989796 0.989143 0.990122 0.991755 0.990122 +0.991102 0.992735 0.992408 0.992735 0.993714 0.994041 0.994367 0.99502 +0.993714 0.991102 0.990449 0.991429 0.991755 0.993714 0.994041 0.992408 +0.993714 0.99502 0.996327 0.99698 1.00188 1.012 1.02539 1.03551 +1.03355 1.03518 1.04041 1.03551 1.02016 1.00351 0.991755 0.987837 +0.993388 0.999592 1.00253 1.00416 1.00482 1.00514 1.0058 1.00906 +1.01004 1.00743 1.00253 0.995347 0.986204 0.978737 0.973053 0.969895 +0.959158 0.948421 0.950947 0.962947 0.983592 0.997633 1.00318 1.00547 +0.995673 0.929474 0.784842 0.628211 0.525895 0.424267 0.31256 0.225467 +0.000813333 0.000713333 0.00072 0.000746667 0.00076 0.00074 0.000753333 0.00078 +0.000806667 0.000853333 0.000873333 0.000866667 0.000886667 0.00086 0.00086 0.00088 +0.000853333 0.0009 0.223573 0.287947 0.384507 0.503158 0.546105 0.579579 +0.601053 0.614316 0.619368 0.621895 0.623158 0.623789 0.622526 0.618105 +0.616211 0.611789 0.600421 0.598526 0.632632 0.685684 0.718526 0.713474 +0.684421 0.638947 0.578316 0.512632 0.384507 0.299307 0.26144 0.25008 +0.236827 0.229253 0.231147 0.22736 0.22736 0.22168 0.217893 0.223573 +0.217893 0.216 0.219787 0.217893 0.000973333 0.00096 0.000973333 0.000986667 +0.000953333 0.00096 0.216 0.00098 0.00098 0.000993333 0.00098 0.000986667 +0.000966667 0.000966667 0.000966667 0.000966667 0.000966667 0.00096 0.000946667 0.00096 +0.00098 0.00098 0.000986667 0.00098 0.000713333 0.000713333 0.00072 0.000706667 +0.000726667 0.00078 0.000806667 0.000786667 0.000806667 0.0008 0.00076 0.000733333 +0.000726667 0.000713333 0.00074 0.00076 0.000746667 0.000746667 0.000726667 0.00074 +0.00074 0.00074 0.000786667 0.000853333 0.00094 0.219787 0.265227 0.342853 +0.428053 0.513263 0.561263 0.615579 0.674316 0.731789 0.777895 0.812 +0.830947 0.833474 0.822737 0.807579 0.786105 0.766526 0.752632 0.738737 +0.728 0.726737 0.731158 0.729895 0.719789 0.717263 0.737474 0.782947 +0.792421 0.719789 0.620632 0.548632 0.481067 0.35232 0.259547 0.00094 +0.000826667 0.00078 0.000753333 0.000753333 0.000733333 0.00072 0.000713333 0.000706667 +0.00072 0.000813333 0.000946667 0.225467 0.231147 0.000993333 0.00086 0.00074 +0.0007 0.00068 0.000673333 0.000693333 0.000666667 0.00068 0.00072 0.000726667 +0.000733333 0.000746667 0.000793333 0.000793333 0.000813333 0.000833333 0.000813333 0.000806667 +0.000746667 0.000726667 0.00074 0.00074 0.00076 0.000746667 0.000753333 0.00074 +0.000773333 0.000806667 0.000806667 0.00084 0.000813333 0.00082 0.000853333 0.000946667 +0.26712 0.358 0.422373 0.486747 0.547368 0.660421 0.811368 0.939579 +0.993714 1.0022 0.996653 0.984898 0.964842 0.951579 0.951579 0.954105 +0.958526 0.961684 0.960421 0.960421 0.968632 0.981633 0.991429 1.00122 +1.00678 1.00645 1.0022 1.00024 1.00286 1.00449 1.00449 1.00482 +1.00351 1.00351 1.0022 0.997306 0.991429 0.991755 0.997633 1.0009 +1.00155 1.0009 0.999918 1.0009 1.00122 0.997959 0.993714 0.989469 +0.984898 0.974947 0.953474 0.92379 0.881474 0.825263 0.762737 0.709053 +0.662947 0.628211 0.625684 0.630737 0.611158 0.591579 0.578316 0.570737 +0.566316 0.570105 0.577684 0.600421 0.623789 0.593474 0.545474 0.518316 +0.503789 0.505684 0.527158 0.550526 0.554316 0.573895 0.618105 0.641474 +0.638316 0.616842 0.575789 0.534737 0.512632 0.498107 0.492427 0.504421 +0.517053 0.534737 0.545474 0.546105 0.565684 0.594105 0.603579 0.612421 +0.637053 0.669895 0.685053 0.696421 0.728632 0.772842 0.813263 0.858105 +0.914316 0.973684 1.0071 1.0342 1.07826 1.18629 1.22281 1.22738 +1.1939 1.12999 1.06913 1.05118 1.04563 1.05184 1.09195 1.19847 +1.34302 1.53018 1.63365 1.58039 1.38867 1.13456 1.0342 1.00645 +0.988816 0.98 0.969263 0.968 0.968632 0.965474 0.977474 0.985878 +0.988816 0.988163 0.989143 0.992735 0.997306 0.999592 0.999592 1.0022 +1.00416 1.00514 1.00743 1.00482 1.00253 1.0058 1.00514 1.00416 +1.00384 1.00547 1.0071 1.00776 1.00808 1.00678 1.00743 1.00776 +1.00155 0.99502 0.997306 1.02278 1.14217 1.35824 1.32324 1.14977 +1.0538 1.04465 1.04433 1.05608 1.12999 1.24107 1.25477 1.05216 +1.00873 1.0009 0.996327 0.997959 1.00253 1.00612 1.00743 1.00939 +1.00971 1.00939 1.00776 1.00645 1.0058 1.00384 1.00678 1.01004 +1.012 1.00645 1.0022 1.00449 1.00416 1.00514 1.00514 1.00645 +1.00514 0.996653 0.984571 0.979368 0.975579 0.962316 0.950947 0.955368 +0.977474 0.991102 1.0009 1.00286 1.0022 1.00449 1.00449 1.00416 +1.00645 1.00841 1.00906 1.00873 1.01004 1.01429 1.01984 1.028 +1.03584 1.04269 1.04727 1.05282 1.05739 1.05673 1.05706 1.0551 +1.04922 1.04367 1.0391 1.03551 1.03257 1.02898 1.02408 1.01918 +1.01494 1.01396 1.01265 1.01004 1.00612 1.00514 1.00547 1.00416 +1.00253 1.00155 0.999918 0.997959 0.996653 0.996 0.996 0.995673 +0.998939 1.00057 0.999265 0.999265 1.00122 1.00253 1.00286 1.00286 +1.0009 0.998612 0.997306 0.99698 0.997633 0.998612 0.997633 0.996327 +0.997306 1.00155 1.00416 1.00873 1.01657 1.02245 1.028 1.02865 +1.02735 1.03192 1.02931 1.01265 0.994367 0.986204 0.98849 0.994367 +0.998939 1.00122 1.00384 1.00416 1.00416 1.00514 1.00776 1.00906 +1.00612 0.999592 0.990776 0.982612 0.972421 0.968 0.966105 0.960421 +0.952211 0.949053 0.961684 0.982612 0.99502 1.00449 1.00318 0.988163 +0.904211 0.753263 0.607368 0.513895 0.405333 0.29552 0.00096 0.00084 +0.000746667 0.000706667 0.000713333 0.00074 0.000786667 0.000793333 0.000813333 0.000833333 +0.000866667 0.000906667 0.000893333 0.000846667 0.00082 0.0008 0.000846667 0.000926667 +0.234933 0.314453 0.418587 0.515158 0.552421 0.582737 0.604842 0.614316 +0.619368 0.625684 0.626947 0.625053 0.620632 0.619368 0.62 0.616842 +0.612421 0.616842 0.628842 0.659158 0.705895 0.731789 0.711579 0.648421 +0.573263 0.507579 0.384507 0.299307 0.257653 0.236827 0.22736 0.223573 +0.217893 0.216 0.000993333 0.216 0.219787 0.000973333 0.000966667 0.216 +0.000993333 0.000966667 0.000973333 0.000966667 0.00094 0.000926667 0.000926667 0.000946667 +0.00094 0.00094 0.000946667 0.000953333 0.00096 0.00096 0.000966667 0.000966667 +0.000946667 0.000946667 0.000946667 0.000966667 0.000973333 0.000973333 0.000946667 0.000933333 +0.000953333 0.000966667 0.000966667 0.000966667 0.0007 0.000706667 0.000706667 0.000746667 +0.000773333 0.0008 0.000813333 0.000806667 0.0008 0.00076 0.000713333 0.0007 +0.000693333 0.000693333 0.00074 0.000733333 0.00072 0.000733333 0.000753333 0.000813333 +0.000866667 0.000926667 0.2444 0.299307 0.365573 0.479173 0.546737 0.605474 +0.670526 0.736211 0.795579 0.837263 0.863158 0.868211 0.851158 0.822105 +0.788 0.755158 0.726105 0.702737 0.685053 0.674316 0.668 0.664842 +0.669895 0.68 0.693263 0.710316 0.721684 0.726737 0.731789 0.736211 +0.710947 0.663579 0.636421 0.632 0.620632 0.590316 0.543579 0.49432 +0.36936 0.265227 0.000946667 0.00084 0.000813333 0.000793333 0.000746667 0.000706667 +0.00078 0.229253 0.30688 0.371253 0.4148 0.39208 0.310667 0.22736 +0.00086 0.000766667 0.000746667 0.000746667 0.00074 0.000753333 0.000746667 0.000713333 +0.0007 0.000693333 0.000726667 0.000746667 0.00076 0.000786667 0.000786667 0.000773333 +0.00074 0.000773333 0.000746667 0.000753333 0.000746667 0.000733333 0.000706667 0.000746667 +0.000766667 0.00076 0.000733333 0.000746667 0.000773333 0.00076 0.000826667 0.00086 +0.000933333 0.248187 0.3296 0.399653 0.45456 0.528421 0.628842 0.772211 +0.906737 0.986204 1.00318 1.00057 0.987184 0.971158 0.957895 0.952211 +0.957263 0.962316 0.961684 0.962947 0.968632 0.973053 0.98 0.98849 +0.997633 1.00286 1.00318 1.00416 1.00416 1.00449 1.00449 1.00351 +1.00286 1.00286 1.00514 1.00547 1.00057 0.994041 0.994367 0.997633 +1.00155 1.00253 1.00155 1.00155 1.00188 1.0022 1.00122 0.998612 +0.996653 0.992735 0.985551 0.973684 0.952211 0.92 0.877684 0.824632 +0.763368 0.705895 0.669895 0.652842 0.642105 0.641474 0.634526 0.626947 +0.630105 0.640211 0.647789 0.659158 0.661684 0.625684 0.595368 0.580211 +0.572 0.580842 0.603579 0.618737 0.597895 0.576421 0.582737 0.597263 +0.609895 0.615579 0.611158 0.589684 0.556211 0.537895 0.542947 0.556842 +0.576421 0.592211 0.599158 0.610526 0.633263 0.644 0.642105 0.650316 +0.681263 0.733684 0.773474 0.800632 0.837895 0.881474 0.929474 0.980653 +1.00743 1.03355 1.05412 1.1163 1.18173 1.1726 1.13456 1.12239 +1.09043 1.05445 1.05249 1.05739 1.07522 1.17869 1.34606 1.53626 +1.66864 1.65495 1.4754 1.22281 1.04596 1.01559 1.00253 0.994367 +0.989469 0.988163 0.983592 0.98098 0.971789 0.969895 0.976842 0.982612 +0.986204 0.985878 0.987837 0.994041 0.999918 1.00024 0.997959 0.998286 +0.999592 1.0022 1.0022 0.997959 1.00057 1.00808 1.00743 1.0071 +1.0071 1.00547 1.00449 1.00547 1.00743 1.00743 1.0071 1.00416 +1.0022 0.999918 0.997959 1.00286 1.02931 1.18629 1.35215 1.23651 +1.07369 1.0489 1.04922 1.06913 1.1726 1.2639 1.13152 1.01461 +0.992408 0.995347 0.998286 1.00547 1.00841 1.00841 1.00743 1.00841 +1.00939 1.0071 1.00318 1.00188 1.0009 1.00416 1.01004 1.00873 +1.0071 1.00318 0.999918 1.00547 1.00873 1.00971 1.00645 1.0058 +1.00547 1.00318 0.992408 0.986531 0.986857 0.981959 0.969895 0.963579 +0.98 0.990122 0.997306 1.00122 0.999265 1.0022 1.0058 1.00678 +1.00808 1.00776 1.00645 1.00612 1.00906 1.01331 1.01461 1.01527 +1.0169 1.01788 1.01886 1.02212 1.02865 1.03061 1.03322 1.03682 +1.03616 1.03388 1.03257 1.03061 1.02996 1.02898 1.02506 1.02082 +1.0182 1.01494 1.01102 1.00971 1.00678 1.00678 1.00873 1.00939 +1.00645 1.00384 1.00318 1.00188 0.998939 0.997959 1.00122 1.0022 +1.00155 1.0009 1.00122 1.00253 1.00416 1.00384 1.00155 1.00122 +1.00024 0.997959 0.995673 0.996 0.998612 0.998939 0.999918 1.0009 +1.00253 1.0071 1.01331 1.01722 1.01918 1.02016 1.02016 1.01918 +1.01918 1.01624 1.00253 0.98751 0.983265 0.991102 0.999265 1.00188 +1.00155 1.00286 1.00351 1.00416 1.0071 1.00906 1.00906 1.00384 +0.996653 0.986857 0.976842 0.972421 0.968 0.959158 0.955368 0.952211 +0.950947 0.964842 0.986531 0.998286 1.00449 1.00351 0.980327 0.875158 +0.722947 0.586526 0.507579 0.390187 0.299307 0.000993333 0.000813333 0.000766667 +0.00074 0.00074 0.00076 0.0008 0.000873333 0.000926667 0.000933333 0.000886667 +0.00088 0.00088 0.000846667 0.000826667 0.000846667 0.000926667 0.259547 0.344747 +0.46024 0.529684 0.565053 0.594737 0.611789 0.620632 0.626316 0.626316 +0.628842 0.630737 0.626947 0.624421 0.622526 0.623158 0.630737 0.642105 +0.662316 0.686947 0.706526 0.710316 0.690737 0.637684 0.567579 0.505684 +0.382613 0.3012 0.265227 0.2444 0.229253 0.22168 0.000993333 0.000973333 +0.000993333 0.000993333 0.000973333 0.000973333 0.217893 0.000966667 0.000946667 0.00098 +0.00098 0.000966667 0.000986667 0.000973333 0.000953333 0.000933333 0.000926667 0.000933333 +0.00092 0.000926667 0.000933333 0.000926667 0.00094 0.000966667 0.000966667 0.000946667 +0.000946667 0.00096 0.00094 0.00094 0.000953333 0.000973333 0.00094 0.00092 +0.000946667 0.00096 0.000966667 0.000973333 0.000733333 0.000753333 0.00078 0.000833333 +0.00084 0.000826667 0.000826667 0.000813333 0.00076 0.00074 0.000733333 0.000766667 +0.000753333 0.00076 0.000813333 0.000833333 0.00086 0.000926667 0.000993333 0.253867 +0.3012 0.384507 0.505053 0.553053 0.621263 0.700842 0.771579 0.823368 +0.854947 0.857474 0.839158 0.803158 0.756421 0.707789 0.659158 0.618105 +0.585263 0.558737 0.539158 0.524632 0.515158 0.507579 0.502526 0.501263 +0.505684 0.511368 0.525263 0.544842 0.565053 0.588421 0.604211 0.597263 +0.561263 0.529053 0.530947 0.561895 0.598526 0.627579 0.640842 0.638947 +0.609263 0.562526 0.510737 0.393973 0.29552 0.22736 0.00088 0.00082 +0.00096 0.308773 0.376933 0.43184 0.49432 0.496213 0.473493 0.405333 +0.30688 0.00098 0.00082 0.000806667 0.000793333 0.000733333 0.000693333 0.000693333 +0.000673333 0.000673333 0.00072 0.00074 0.000746667 0.000773333 0.000773333 0.0008 +0.000793333 0.0008 0.0008 0.000773333 0.00076 0.000753333 0.000746667 0.000766667 +0.000773333 0.000746667 0.000733333 0.000753333 0.000786667 0.000786667 0.000826667 0.000846667 +0.000873333 0.00094 0.236827 0.30688 0.38072 0.441307 0.514526 0.594737 +0.726105 0.868211 0.972421 1.00024 1.0009 0.990776 0.978105 0.958526 +0.950316 0.956632 0.964211 0.965474 0.965474 0.970526 0.972421 0.975579 +0.983592 0.993061 1.0022 1.00612 1.00678 1.0058 1.00547 1.00612 +1.00416 1.00318 1.00351 1.00482 1.00482 0.999918 0.994367 0.991755 +0.992082 0.99502 1.00024 1.00286 1.00286 1.00384 1.00482 1.00514 +1.00482 1.00155 0.99698 0.992735 0.984898 0.971158 0.952211 0.930105 +0.896 0.850526 0.8 0.750737 0.721684 0.720421 0.712211 0.695158 +0.700842 0.713474 0.702737 0.683158 0.674316 0.672421 0.681895 0.680632 +0.679368 0.685053 0.683158 0.682526 0.656 0.612421 0.595368 0.605474 +0.619368 0.626316 0.642737 0.652842 0.623789 0.59979 0.608 0.628842 +0.659158 0.678105 0.681263 0.691368 0.702105 0.702737 0.709053 0.729263 +0.770947 0.828421 0.874526 0.911158 0.950947 0.989143 1.01592 1.03878 +1.05673 1.09804 1.11782 1.1376 1.12391 1.08587 1.06609 1.08282 +1.095 1.07826 1.1026 1.19542 1.31867 1.47083 1.6093 1.69147 +1.61843 1.37041 1.095 1.02865 1.00678 0.999592 0.998612 0.996653 +0.99698 0.997306 0.991102 0.985878 0.971158 0.966737 0.969263 0.973684 +0.985878 0.991755 0.996 0.999265 1.00155 1.0022 1.00318 1.00155 +1.00024 1.00155 0.999918 0.996653 1.0009 1.00808 1.01004 1.01396 +1.01265 1.00449 1.00253 1.0071 1.00841 1.00906 1.01069 1.00678 +1.00318 1.00155 0.998286 0.996327 1.00384 1.04629 1.26846 1.29433 +1.12847 1.05282 1.05249 1.09195 1.23498 1.23955 1.04139 0.996327 +0.989469 0.995347 1.00286 1.00808 1.00645 1.00351 1.00612 1.0071 +1.00808 1.00808 1.00253 0.998612 1.00122 1.00873 1.01331 1.00906 +1.00482 0.999918 1.00057 1.00873 1.01298 1.01494 1.01135 1.00808 +1.00645 1.0058 1.0009 0.998612 0.999592 0.995673 0.991429 0.987837 +0.989469 0.995347 0.998286 1.00057 1.00122 1.00286 1.00743 1.0071 +1.00449 1.00514 1.00612 1.00841 1.01233 1.01429 1.01331 1.01135 +1.012 1.01167 1.01135 1.01298 1.01494 1.01592 1.01755 1.02016 +1.02016 1.01853 1.01886 1.0182 1.01951 1.0218 1.02049 1.01755 +1.01494 1.01265 1.01069 1.00808 1.00612 1.00612 1.00514 1.00449 +1.00318 1.00318 1.00416 1.00351 1.00122 1.0009 1.00286 1.00155 +1.00024 1.00286 1.00547 1.0058 1.00514 1.00253 1.00024 1.0009 +1.00188 0.999265 0.998286 0.999592 1.00155 1.00351 1.00416 1.00482 +1.00482 1.00873 1.01298 1.01429 1.01298 1.01363 1.01069 1.00678 +1.00188 0.994367 0.988163 0.988163 0.994041 1.00024 1.00351 1.00351 +1.00384 1.00416 1.00482 1.00678 1.00841 1.00776 1.00155 0.991102 +0.982939 0.972421 0.967368 0.964842 0.958526 0.952842 0.952842 0.956632 +0.969263 0.989796 1.00286 1.00645 1.00155 0.967368 0.845474 0.691368 +0.566947 0.5 0.378827 0.27848 0.00096 0.000846667 0.000806667 0.000766667 +0.00078 0.000806667 0.000846667 0.000893333 0.000906667 0.00092 0.000913333 0.000846667 +0.000826667 0.00088 0.00092 0.225467 0.287947 0.373147 0.496213 0.539789 +0.577684 0.603579 0.616842 0.626316 0.630105 0.633263 0.633263 0.628842 +0.628842 0.628842 0.625684 0.630105 0.640211 0.658526 0.683789 0.710316 +0.726105 0.714737 0.674316 0.616211 0.553053 0.48296 0.359893 0.293627 +0.257653 0.23872 0.234933 0.229253 0.217893 0.216 0.00098 0.00096 +0.00096 0.000966667 0.000973333 0.000986667 0.22168 0.216 0.000973333 0.00098 +0.000986667 0.000986667 0.000993333 0.000993333 0.000993333 0.00098 0.000973333 0.00098 +0.000966667 0.000953333 0.000946667 0.000926667 0.000933333 0.000986667 0.00098 0.000953333 +0.000953333 0.000966667 0.000966667 0.000966667 0.000973333 0.000993333 0.000986667 0.000986667 +0.000993333 0.00098 0.000973333 0.216 0.000766667 0.000806667 0.0008 0.000806667 +0.000813333 0.000813333 0.000806667 0.000753333 0.000733333 0.000746667 0.00078 0.0008 +0.0008 0.000833333 0.000886667 0.000966667 0.240613 0.303093 0.39208 0.501895 +0.549895 0.611789 0.678737 0.747579 0.811368 0.844842 0.838526 0.805053 +0.755158 0.697684 0.645263 0.597263 0.555579 0.520842 0.481067 0.422373 +0.376933 0.342853 0.327707 0.314453 0.303093 0.293627 0.28984 0.291733 +0.291733 0.286053 0.299307 0.31256 0.325813 0.35232 0.373147 0.37504 +0.376933 0.378827 0.39208 0.428053 0.48864 0.525263 0.561263 0.601053 +0.632632 0.649053 0.645263 0.615579 0.566316 0.508842 0.373147 0.276587 +0.26144 0.337173 0.416693 0.464027 0.462133 0.416693 0.439413 0.496213 +0.48296 0.3864 0.28984 0.217893 0.000846667 0.00076 0.000733333 0.000726667 +0.00072 0.000733333 0.000753333 0.00076 0.00076 0.000773333 0.000793333 0.00082 +0.00084 0.000866667 0.000833333 0.000786667 0.00076 0.00076 0.00078 0.00076 +0.000746667 0.000746667 0.000766667 0.000766667 0.000793333 0.000826667 0.00084 0.00084 +0.000853333 0.000873333 0.00088 0.000986667 0.282267 0.356107 0.407227 0.48296 +0.558105 0.679368 0.831579 0.957263 0.999265 1.00253 0.994694 0.982286 +0.958526 0.952211 0.959158 0.960421 0.959789 0.966105 0.967368 0.966105 +0.969895 0.981633 0.991102 0.998939 1.00384 1.00482 1.00449 1.00482 +1.00514 1.00514 1.00318 1.00188 1.00253 1.00384 1.00057 0.994694 +0.98751 0.984571 0.989469 0.993714 0.996653 0.999592 1.00155 1.00351 +1.00482 1.00416 1.00253 0.999265 0.996 0.991429 0.986204 0.982612 +0.978105 0.964211 0.937053 0.899158 0.866947 0.849895 0.830947 0.805684 +0.8 0.802526 0.782316 0.754526 0.741263 0.743158 0.752 0.751368 +0.753263 0.753895 0.748211 0.745684 0.731789 0.698947 0.671789 0.669263 +0.68 0.682526 0.690737 0.710316 0.702737 0.680632 0.679368 0.697684 +0.726105 0.745684 0.751368 0.767789 0.781053 0.791158 0.813895 0.846737 +0.889684 0.937684 0.977474 0.997306 1.01527 1.03682 1.0551 1.07978 +1.09804 1.08587 1.07065 1.07065 1.06304 1.06304 1.08587 1.1163 +1.17564 1.23346 1.31411 1.43584 1.57735 1.64886 1.61843 1.48757 +1.26237 1.05249 1.02082 1.00873 1.0022 1.00024 0.999265 0.998939 +1.00155 1.00057 0.996653 0.993714 0.981306 0.970526 0.962316 0.964842 +0.980653 0.98849 0.995673 1.00024 1.00318 1.00547 1.00678 1.00318 +1.0009 1.00416 1.00188 0.998939 1.00024 1.00351 1.00743 1.012 +1.00971 0.999592 0.999265 1.00645 1.00906 1.00873 1.01037 1.00841 +1.00286 1.00024 0.997959 0.994041 0.994041 1.01788 1.1163 1.27607 +1.18173 1.06913 1.06152 1.1513 1.29737 1.1513 1.01527 0.995347 +0.99502 0.997959 1.00286 1.00482 1.00024 1.00057 1.00678 1.00939 +1.00939 1.012 1.00449 0.997633 0.999918 1.00808 1.01037 1.00808 +1.00678 1.00449 1.00482 1.00971 1.01298 1.01527 1.01167 1.00939 +1.00678 1.00318 0.999918 0.997306 0.997306 0.99698 0.998612 0.998939 +0.998939 1.0022 1.00253 1.00122 1.00482 1.00612 1.00776 1.00743 +1.00416 1.00612 1.00776 1.00873 1.00971 1.01069 1.01069 1.00906 +1.00873 1.00841 1.00939 1.012 1.01396 1.01429 1.01331 1.01363 +1.01363 1.01298 1.01363 1.01298 1.01233 1.01461 1.01527 1.01298 +1.01167 1.01265 1.01167 1.00939 1.00939 1.00873 1.00645 1.00514 +1.00449 1.00482 1.00351 1.00286 1.00318 1.00188 1.00155 1.00122 +1.00155 1.00416 1.00514 1.00351 1.00318 1.00384 1.00416 1.00384 +1.00384 1.0022 0.999918 0.999592 0.999918 1.00024 1.00057 0.998939 +0.999265 1.0022 1.0071 1.01135 1.01004 1.00482 0.996327 0.986857 +0.982939 0.985551 0.991755 0.998939 1.00318 1.00286 1.00286 1.00384 +1.00384 1.00416 1.00612 1.0058 1.00155 0.996653 0.987837 0.976842 +0.968 0.966105 0.964842 0.956632 0.948421 0.952211 0.961053 0.975579 +0.990776 1.00416 1.0071 0.99502 0.940211 0.809474 0.657895 0.546737 +0.464027 0.356107 0.257653 0.00092 0.000826667 0.000806667 0.00082 0.000806667 +0.000833333 0.000866667 0.000906667 0.00092 0.000893333 0.000866667 0.000866667 0.000873333 +0.000926667 0.2444 0.320133 0.428053 0.517053 0.554316 0.587789 0.609263 +0.621895 0.626316 0.627579 0.630105 0.630105 0.631368 0.628842 0.625684 +0.632 0.640211 0.653474 0.675579 0.704 0.728 0.735579 0.714737 +0.667368 0.603579 0.535368 0.45456 0.35232 0.28416 0.25008 0.23304 +0.22168 0.216 0.217893 0.217893 0.000966667 0.000966667 0.00096 0.000953333 +0.00094 0.000933333 0.000933333 0.000953333 0.000993333 0.00098 0.00096 0.000946667 +0.000946667 0.000953333 0.00096 0.000973333 0.000966667 0.000966667 0.00098 0.000986667 +0.00098 0.000966667 0.000946667 0.000933333 0.00092 0.000953333 0.000953333 0.00094 +0.000933333 0.000933333 0.000933333 0.00094 0.00096 0.00098 0.000966667 0.000966667 +0.000966667 0.000966667 0.000946667 0.000946667 0.000773333 0.000793333 0.000813333 0.000833333 +0.000833333 0.000853333 0.000833333 0.0008 0.00082 0.00082 0.000826667 0.00086 +0.00092 0.216 0.274693 0.36936 0.49432 0.548 0.591579 0.630737 +0.678737 0.733684 0.779789 0.801263 0.783579 0.734316 0.669895 0.612421 +0.566316 0.530316 0.49432 0.418587 0.361787 0.31256 0.282267 0.2728 +0.26144 0.253867 0.251973 0.240613 0.240613 0.242507 0.248187 0.246293 +0.23872 0.236827 0.240613 0.240613 0.2444 0.246293 0.236827 0.229253 +0.240613 0.257653 0.274693 0.291733 0.31824 0.361787 0.416693 0.48296 +0.520842 0.558737 0.602316 0.637053 0.652211 0.641474 0.606737 0.556211 +0.505053 0.435627 0.456453 0.501895 0.503789 0.433733 0.37504 0.40912 +0.484853 0.505053 0.484853 0.405333 0.316347 0.246293 0.00096 0.00086 +0.000806667 0.000793333 0.000786667 0.000746667 0.000713333 0.000726667 0.00072 0.000766667 +0.00082 0.000873333 0.000866667 0.000806667 0.000793333 0.0008 0.000806667 0.00078 +0.00076 0.000766667 0.000806667 0.000786667 0.000806667 0.000826667 0.00084 0.00084 +0.000846667 0.000853333 0.00086 0.000893333 0.216 0.265227 0.3296 0.393973 +0.452667 0.536 0.647158 0.798737 0.933263 0.994041 1.00482 0.998939 +0.985878 0.968 0.954737 0.953474 0.957263 0.961053 0.959789 0.962316 +0.968632 0.973053 0.977474 0.986204 0.995347 1.0022 1.00514 1.00449 +1.00351 1.00384 1.00286 1.00188 1.00318 1.00449 1.00384 0.999918 +0.996327 0.989469 0.984245 0.983592 0.989143 0.99502 0.999918 1.00286 +1.00351 1.00286 1.00057 1.00024 1.00024 0.996327 0.991755 0.991429 +0.992408 0.992082 0.989796 0.983592 0.966105 0.949684 0.939579 0.925053 +0.909895 0.899158 0.885895 0.870737 0.859368 0.856211 0.856211 0.856842 +0.858105 0.851158 0.845474 0.835368 0.822105 0.808842 0.793684 0.779789 +0.769053 0.755158 0.744421 0.753263 0.759579 0.748211 0.749474 0.768421 +0.793684 0.811368 0.826526 0.853684 0.879579 0.904842 0.933895 0.967368 +0.990776 1.0071 1.02082 1.0329 1.04302 1.05118 1.0538 1.0551 +1.05608 1.05412 1.05347 1.05739 1.07217 1.11021 1.17412 1.25172 +1.36889 1.49062 1.57735 1.62756 1.60169 1.47236 1.29433 1.1026 +1.03486 1.01559 1.00906 1.00514 1.00384 1.00384 1.00188 1.00155 +1.00351 1.00253 1.00351 1.00024 0.990122 0.982939 0.969263 0.966105 +0.969263 0.984245 0.995347 0.997633 1.00188 1.0058 1.00612 1.00253 +1.00188 1.00416 1.00286 1.0022 1.00188 1.00057 1.00253 1.00612 +1.00514 1.00024 1.00057 1.00318 1.00384 1.0058 1.00743 1.00841 +1.00612 1.00351 1.00253 0.997306 0.990776 0.997633 1.03257 1.17716 +1.22586 1.1589 1.16043 1.2715 1.30954 1.04988 0.998612 0.995673 +0.998939 1.00384 1.00547 1.00547 1.0022 1.00449 1.00906 1.00971 +1.00906 1.01135 1.00351 0.995347 0.996653 1.00416 1.00645 1.0058 +1.00939 1.0071 1.00678 1.00906 1.00971 1.01102 1.00971 1.01069 +1.00939 1.00384 0.998612 0.996653 0.99698 0.999265 1.00547 1.00906 +1.00841 1.00873 1.00678 1.00384 1.00612 1.00547 1.00776 1.00906 +1.00645 1.00841 1.01004 1.00906 1.00873 1.00841 1.00906 1.00873 +1.00971 1.01102 1.012 1.01494 1.01657 1.01592 1.01331 1.01069 +1.01135 1.01298 1.01331 1.01396 1.01233 1.01167 1.01331 1.01363 +1.01233 1.01265 1.012 1.00939 1.00873 1.00808 1.00743 1.00645 +1.00449 1.00351 1.0022 1.00286 1.00482 1.00384 1.00449 1.00612 +1.0058 1.00612 1.0058 1.00449 1.00351 1.00253 0.999918 0.995673 +0.992408 0.991102 0.990449 0.990449 0.991429 0.994041 0.99502 0.994041 +0.995347 0.999265 1.00482 1.0058 0.999918 0.991102 0.983265 0.979368 +0.985224 0.993714 0.998939 1.00318 1.00547 1.00286 1.0022 1.00449 +1.00514 1.00547 1.00514 0.999592 0.990449 0.982286 0.971789 0.964211 +0.961053 0.959789 0.955368 0.948421 0.949053 0.964842 0.981959 0.991755 +1.00188 1.00482 0.986204 0.899789 0.758316 0.614316 0.522105 0.422373 +0.31256 0.229253 0.000853333 0.000806667 0.00082 0.000806667 0.000826667 0.000873333 +0.000886667 0.000886667 0.00088 0.000866667 0.000886667 0.00092 0.22736 0.291733 +0.38072 0.48864 0.534105 0.573263 0.604842 0.623789 0.634526 0.637684 +0.637053 0.635158 0.631368 0.629474 0.626316 0.629474 0.636421 0.646526 +0.671789 0.698947 0.726737 0.743789 0.738737 0.709053 0.654105 0.587158 +0.525263 0.429947 0.333387 0.282267 0.257653 0.23872 0.225467 0.219787 +0.219787 0.219787 0.219787 0.219787 0.000986667 0.00098 0.000966667 0.000973333 +0.000973333 0.00096 0.000946667 0.000953333 0.219787 0.217893 0.000986667 0.00098 +0.00098 0.000973333 0.000973333 0.00098 0.000973333 0.000973333 0.000986667 0.00098 +0.00096 0.00094 0.000953333 0.00094 0.00092 0.00096 0.00096 0.000946667 +0.00094 0.00094 0.000946667 0.00094 0.000966667 0.000986667 0.00098 0.000966667 +0.000953333 0.000973333 0.000993333 0.000966667 0.000926667 0.00096 0.216 0.000966667 +0.00094 0.000926667 0.00092 0.000906667 0.000886667 0.000906667 0.00096 0.251973 +0.316347 0.412907 0.522105 0.572632 0.609895 0.628842 0.634526 0.653474 +0.697684 0.731789 0.726737 0.683158 0.620632 0.566947 0.524 0.47728 +0.401547 0.339067 0.28984 0.259547 0.246293 0.231147 0.219787 0.219787 +0.217893 0.217893 0.22168 0.217893 0.22168 0.225467 0.22736 0.225467 +0.22168 0.22168 0.22168 0.219787 0.229253 0.223573 0.000993333 0.000973333 +0.217893 0.22168 0.22168 0.22736 0.246293 0.26712 0.287947 0.314453 +0.350427 0.40344 0.481067 0.527789 0.566316 0.609263 0.646526 0.661053 +0.643368 0.605474 0.570737 0.548 0.539789 0.525263 0.484853 0.40912 +0.39776 0.428053 0.490533 0.505684 0.490533 0.43184 0.354213 0.26712 +0.000986667 0.000913333 0.00084 0.000773333 0.00078 0.000773333 0.00072 0.00076 +0.0008 0.000826667 0.000853333 0.000846667 0.00086 0.00088 0.000866667 0.000813333 +0.000806667 0.000793333 0.0008 0.000786667 0.000786667 0.000786667 0.000806667 0.000806667 +0.000806667 0.000813333 0.000833333 0.000866667 0.000886667 0.000906667 0.225467 0.3012 +0.37504 0.446987 0.525895 0.614316 0.756421 0.904842 0.989143 1.00416 +1.00057 0.989469 0.971158 0.958526 0.957263 0.958526 0.959158 0.961053 +0.967368 0.969895 0.963579 0.966737 0.979368 0.988816 0.997959 1.00188 +1.0022 1.0022 1.00188 1.00188 1.00253 1.00318 1.00188 1.00188 +1.00253 1.00024 0.992408 0.986531 0.988163 0.994367 1.00024 1.00057 +0.997633 0.997633 0.997959 0.997306 0.997306 0.997306 0.99698 0.995673 +0.994694 0.99502 0.996 0.995673 0.993061 0.989796 0.986531 0.983592 +0.978737 0.971789 0.964211 0.954105 0.943368 0.940842 0.942737 0.945895 +0.945263 0.940211 0.933263 0.92 0.910526 0.906737 0.903579 0.894105 +0.874526 0.851158 0.831579 0.829053 0.836 0.839158 0.846105 0.864421 +0.888421 0.909263 0.92821 0.954105 0.978105 0.992735 1.00449 1.01461 +1.02278 1.02931 1.03584 1.04171 1.04596 1.04694 1.04824 1.05184 +1.05282 1.05543 1.06456 1.10717 1.16347 1.24411 1.3628 1.48909 +1.59561 1.64125 1.60626 1.48757 1.28215 1.08587 1.03551 1.01527 +1.00514 1.00286 1.00286 1.00253 1.00188 1.0009 0.999265 0.999265 +0.999592 0.999592 1.00286 0.999265 0.992408 0.987184 0.983265 0.985224 +0.985224 0.993714 0.998612 0.997306 1.0009 1.00155 1.00122 1.00188 +1.00482 1.0071 1.00776 1.00776 1.00449 1.00122 1.0022 1.00286 +1.00253 1.00286 1.00612 1.00384 1.00057 1.00351 1.00612 1.00841 +1.00841 1.0058 1.00482 1.0022 0.992735 0.987184 1.00253 1.05771 +1.26542 1.31411 1.33541 1.37954 1.21673 1.01918 0.988816 0.994367 +1.00057 1.0071 1.00776 1.00416 1.00514 1.00776 1.00906 1.00678 +1.00645 1.00939 1.0009 0.995673 0.996653 1.00449 1.0071 1.0071 +1.00906 1.00743 1.00906 1.012 1.01004 1.012 1.01069 1.00873 +1.00678 1.00057 0.997306 1.00024 1.00188 1.00384 1.00841 1.01167 +1.01069 1.00939 1.01037 1.00939 1.00906 1.00645 1.00678 1.00939 +1.00808 1.00971 1.012 1.01037 1.01102 1.01167 1.01167 1.01298 +1.01527 1.01592 1.01396 1.01429 1.01429 1.01461 1.01363 1.01233 +1.01037 1.00971 1.00971 1.012 1.01461 1.01363 1.01396 1.01363 +1.01167 1.012 1.01069 1.00841 1.0071 1.00841 1.00873 1.00678 +1.00514 1.00416 1.00318 1.00318 1.00384 1.00253 1.00384 1.00482 +1.00384 1.00351 1.00416 1.00351 1.00122 0.996327 0.990776 0.987184 +0.985551 0.988816 0.993061 0.993061 0.995347 0.997633 0.998286 0.998286 +0.998612 1.00155 1.0022 0.993714 0.985224 0.981959 0.984898 0.991102 +0.998612 1.00253 1.00318 1.00449 1.00514 1.00416 1.00449 1.0071 +1.00743 1.00449 0.996327 0.986531 0.975579 0.962947 0.962947 0.964211 +0.958526 0.954105 0.951579 0.953474 0.967368 0.985878 0.99698 1.00286 +0.999918 0.971158 0.861263 0.713474 0.580842 0.492427 0.38072 0.28984 +0.000986667 0.000853333 0.000826667 0.000853333 0.000866667 0.000866667 0.0009 0.000906667 +0.000873333 0.00088 0.000933333 0.219787 0.2728 0.348533 0.446987 0.520211 +0.56 0.592211 0.612421 0.628842 0.638316 0.642105 0.645263 0.643368 +0.638947 0.635158 0.630737 0.628842 0.633263 0.650316 0.677474 0.709684 +0.739368 0.749474 0.737474 0.695789 0.632632 0.566316 0.506316 0.390187 +0.31256 0.270907 0.242507 0.234933 0.23304 0.22168 0.000993333 0.216 +0.000986667 0.00098 0.000973333 0.00098 0.000973333 0.000966667 0.00094 0.00094 +0.000946667 0.00094 0.000926667 0.000926667 0.000973333 0.000953333 0.00094 0.00096 +0.000946667 0.00092 0.00094 0.000966667 0.00096 0.000953333 0.00094 0.000953333 +0.000946667 0.00092 0.00092 0.000926667 0.000933333 0.000946667 0.000946667 0.00094 +0.00094 0.00094 0.00094 0.000926667 0.000946667 0.000966667 0.000993333 0.000973333 +0.000946667 0.000966667 0.00098 0.00098 0.00096 0.000993333 0.000966667 0.000913333 +0.000893333 0.00088 0.000866667 0.00088 0.000953333 0.26144 0.342853 0.469707 +0.537263 0.581474 0.613053 0.618105 0.598526 0.573895 0.585263 0.638316 +0.68 0.66421 0.609895 0.549895 0.503789 0.429947 0.371253 0.31256 +0.263333 0.23872 0.225467 0.225467 0.225467 0.219787 0.00098 0.00098 +0.000966667 0.00098 0.000993333 0.00098 0.000986667 0.000986667 0.217893 0.219787 +0.000993333 0.000986667 0.00098 0.217893 0.219787 0.00098 0.00094 0.000933333 +0.00094 0.00096 0.00096 0.000966667 0.00098 0.00098 0.219787 0.236827 +0.251973 0.2728 0.30688 0.350427 0.401547 0.48296 0.534737 0.582737 +0.629474 0.660421 0.670526 0.656 0.632632 0.604842 0.572 0.539158 +0.505684 0.42616 0.40344 0.422373 0.467813 0.502526 0.498107 0.450773 +0.37504 0.299307 0.234933 0.000906667 0.000826667 0.000793333 0.000766667 0.00078 +0.000786667 0.00082 0.000866667 0.000886667 0.0009 0.000933333 0.000946667 0.000866667 +0.00084 0.000833333 0.00082 0.000813333 0.000813333 0.000813333 0.000813333 0.000833333 +0.000813333 0.0008 0.000833333 0.00084 0.000826667 0.00082 0.000846667 0.00098 +0.282267 0.378827 0.45456 0.512632 0.583368 0.721053 0.873263 0.976211 +1.0009 1.00122 0.990122 0.974947 0.957895 0.950947 0.954105 0.958526 +0.960421 0.960421 0.959158 0.958526 0.960421 0.970526 0.985551 0.995673 +1.00188 1.00351 1.00384 1.00416 1.00416 1.00286 1.00155 1.00122 +1.00318 1.0022 0.999265 0.995347 0.996 1.00024 1.0022 1.00057 +0.998286 0.998612 1.00024 0.998286 0.996 0.996653 0.998939 0.999265 +0.997633 0.997633 0.997633 0.997306 0.997959 0.997306 0.993388 0.991102 +0.990449 0.989796 0.988163 0.984245 0.979368 0.973684 0.974316 0.974947 +0.976211 0.979368 0.973053 0.965474 0.962316 0.959789 0.956632 0.951579 +0.945895 0.937053 0.924421 0.921263 0.926947 0.932632 0.935789 0.946526 +0.967368 0.984571 0.994041 1.0022 1.01004 1.01624 1.02278 1.02767 +1.03127 1.03682 1.04171 1.044 1.04694 1.04988 1.0551 1.05804 +1.05967 1.1026 1.16803 1.23955 1.33541 1.45714 1.553 1.58952 +1.55604 1.45562 1.3065 1.11934 1.03616 1.01788 1.00678 1.00122 +1.0009 0.999918 0.997959 0.998939 0.997633 0.996 0.996 0.996653 +0.996327 0.996327 0.999592 0.998286 0.997633 0.995347 0.994367 0.99502 +0.993388 1.00024 1.00024 0.998612 0.998939 0.998286 0.997306 0.999592 +1.00449 1.00612 1.00612 1.0071 1.00482 1.00384 1.00351 1.00155 +1.00253 1.00482 1.00612 1.0022 1.00122 1.00318 1.00482 1.00612 +1.00645 1.00416 1.00253 1.00449 1.00122 0.989796 0.98751 1.02637 +1.22281 1.4617 1.55604 1.46475 1.11173 1.00286 0.989469 0.997633 +1.00384 1.00808 1.00416 1.00188 1.0071 1.01004 1.00678 1.0009 +1.00155 1.00351 0.997959 0.997306 0.999918 1.00416 1.00514 1.0058 +1.00776 1.00841 1.01135 1.01363 1.01069 1.01233 1.01004 1.00482 +1.00318 1.0022 1.00416 1.00678 1.00743 1.00906 1.01135 1.01331 +1.012 1.01167 1.01396 1.00971 1.0071 1.00776 1.00808 1.01135 +1.01167 1.01265 1.01331 1.012 1.012 1.01494 1.01461 1.01396 +1.01461 1.01396 1.01167 1.01233 1.01461 1.01429 1.01461 1.01331 +1.01069 1.00971 1.00971 1.01167 1.01331 1.01331 1.012 1.01233 +1.01233 1.01167 1.01037 1.01004 1.00841 1.00971 1.00939 1.00743 +1.00514 1.00286 1.00253 1.00286 1.00351 1.00318 1.00155 0.998612 +0.996653 0.997306 0.998939 1.00057 1.00024 0.995347 0.991102 0.991102 +0.992408 0.999265 1.00514 1.00449 1.00449 1.00678 1.00743 1.00776 +1.00645 1.0058 1.00024 0.98751 0.982286 0.98751 0.99698 1.00253 +1.00449 1.00482 1.00482 1.00416 1.00384 1.00482 1.00612 1.00612 +1.0022 0.993388 0.981306 0.968 0.963579 0.961684 0.966105 0.964211 +0.957895 0.958526 0.966105 0.980653 0.990776 0.999265 1.00318 0.993714 +0.940842 0.816421 0.670526 0.560632 0.48296 0.361787 0.280373 0.217893 +0.00092 0.000906667 0.000933333 0.000966667 0.000933333 0.000886667 0.0009 0.000906667 +0.000946667 0.25008 0.331493 0.43184 0.512632 0.549263 0.580211 0.606105 +0.627579 0.636421 0.637684 0.638316 0.638947 0.639579 0.640211 0.635158 +0.630737 0.634526 0.642737 0.658526 0.686947 0.722316 0.746316 0.749474 +0.729263 0.677474 0.614316 0.548 0.479173 0.361787 0.293627 0.251973 +0.234933 0.231147 0.217893 0.217893 0.22168 0.000966667 0.000966667 0.000986667 +0.00098 0.000966667 0.000953333 0.000966667 0.000973333 0.000966667 0.000946667 0.000946667 +0.00094 0.000953333 0.00092 0.000913333 0.000966667 0.000966667 0.000953333 0.000966667 +0.00098 0.000946667 0.00094 0.000966667 0.000973333 0.000953333 0.00094 0.00096 +0.000966667 0.000946667 0.000933333 0.00094 0.00094 0.00094 0.000946667 0.000946667 +0.000946667 0.000953333 0.000953333 0.000933333 0.000926667 0.00094 0.000973333 0.00096 +0.000926667 0.000946667 0.000953333 0.00096 0.000926667 0.000913333 0.00088 0.000886667 +0.000906667 0.00098 0.248187 0.322027 0.429947 0.518316 0.564421 0.601053 +0.616842 0.604211 0.570737 0.529684 0.486747 0.513263 0.592842 0.654105 +0.636421 0.570737 0.515158 0.439413 0.36368 0.304987 0.263333 0.23304 +0.000993333 0.000973333 0.00098 0.000986667 0.000966667 0.000953333 0.000966667 0.00098 +0.000973333 0.000986667 0.00098 0.000973333 0.00098 0.00098 0.000973333 0.000973333 +0.00098 0.000986667 0.00098 0.00098 0.000953333 0.00094 0.000933333 0.000913333 +0.0009 0.000953333 0.000973333 0.00096 0.00096 0.00098 0.219787 0.219787 +0.000993333 0.000986667 0.229253 0.251973 0.276587 0.31256 0.354213 0.418587 +0.505053 0.547368 0.59979 0.645895 0.679368 0.690105 0.678737 0.654105 +0.615579 0.565684 0.522737 0.462133 0.4148 0.424267 0.45456 0.49432 +0.504421 0.48864 0.412907 0.31824 0.229253 0.000893333 0.000833333 0.000806667 +0.00084 0.000893333 0.000926667 0.000973333 0.234933 0.234933 0.00098 0.000886667 +0.00086 0.000853333 0.000853333 0.000833333 0.000813333 0.00082 0.00082 0.000813333 +0.000786667 0.000793333 0.000793333 0.00078 0.0008 0.00084 0.000833333 0.000853333 +0.00096 0.269013 0.356107 0.43752 0.503158 0.565684 0.690737 0.842316 +0.964211 1.0009 1.00318 0.993714 0.981306 0.961684 0.957263 0.960421 +0.958526 0.957263 0.958526 0.959158 0.959158 0.957895 0.962316 0.978737 +0.990122 0.997633 1.00155 1.00384 1.00547 1.00547 1.00384 1.00286 +1.00384 1.00286 1.00155 1.0022 1.00122 1.00122 1.0009 0.999918 +1.00122 1.00318 1.00286 1.0009 0.998286 0.99698 0.997959 1.00024 +0.999918 1.00024 0.999918 0.999592 0.998286 0.994367 0.993388 0.994694 +0.997306 0.998939 0.998939 0.997633 0.997306 0.996327 0.993388 0.991102 +0.991102 0.991429 0.988816 0.986531 0.985878 0.983918 0.980653 0.974316 +0.973053 0.969895 0.966105 0.972421 0.980327 0.982612 0.984898 0.992408 +1.0009 1.0071 1.01298 1.01755 1.01886 1.0218 1.02767 1.03257 +1.03878 1.04335 1.04792 1.05151 1.05445 1.05837 1.095 1.13912 +1.19694 1.28215 1.36432 1.42823 1.48453 1.50583 1.4617 1.35063 +1.21064 1.08282 1.04171 1.02147 1.01037 1.00612 1.00253 1.00416 +1.00384 0.998939 0.996 0.996653 0.996327 0.996653 0.999592 1.00188 +1.00188 1.00155 1.00286 1.00318 1.00482 1.0022 1.0009 0.999592 +0.998939 1.0022 1.00188 1.00122 1.00122 1.00155 1.00057 1.00155 +1.00351 1.00612 1.00678 1.00482 1.00318 1.00416 1.00514 1.00188 +1.00318 1.0058 1.00449 0.998939 0.998612 1.00318 1.00547 1.00188 +1.00024 1.0009 1.00057 1.00514 1.00906 1.00122 0.993714 1.01037 +1.13304 1.50735 1.67016 1.44953 1.0502 0.999592 0.996653 1.00514 +1.0071 1.00547 0.999918 1.00155 1.00808 1.00971 1.00678 0.998939 +0.99502 0.995347 0.994694 0.998939 1.00188 1.00351 1.00416 1.00547 +1.00939 1.01102 1.01233 1.01265 1.00873 1.00971 1.00612 1.00122 +1.00286 1.00547 1.00939 1.012 1.01265 1.01429 1.01592 1.01461 +1.012 1.012 1.01233 1.00743 1.0058 1.01004 1.01167 1.01331 +1.01429 1.01363 1.01363 1.01331 1.01363 1.01396 1.01265 1.00939 +1.01004 1.01135 1.01167 1.01363 1.01527 1.01527 1.01559 1.01494 +1.01233 1.01233 1.01461 1.01559 1.01429 1.01396 1.01102 1.01233 +1.01559 1.01461 1.01494 1.01624 1.01461 1.01363 1.01331 1.01135 +1.00873 1.0058 1.00514 1.00612 1.00645 1.00678 1.00286 0.994367 +0.991429 0.99502 0.998612 1.00253 1.0022 0.999592 0.998612 0.999265 +1.00057 1.0058 1.00939 1.00906 1.00939 1.00906 1.00743 1.00776 +1.0071 1.00449 0.998939 0.989469 0.989796 0.998612 1.00253 1.00318 +1.0022 1.00286 1.00547 1.00547 1.00384 1.00449 1.00286 0.996327 +0.986531 0.972421 0.961684 0.958526 0.961053 0.962947 0.962316 0.959789 +0.962316 0.975579 0.98751 0.996327 1.00188 1.00188 0.984245 0.899158 +0.763368 0.624421 0.530316 0.4432 0.337173 0.25008 0.000953333 0.000926667 +0.000926667 0.00092 0.00092 0.000906667 0.000853333 0.00084 0.00096 0.257653 +0.344747 0.467813 0.535368 0.575789 0.603579 0.623158 0.632632 0.638316 +0.643368 0.640211 0.635789 0.632 0.630737 0.632 0.634526 0.633895 +0.642105 0.667368 0.697684 0.728632 0.746316 0.744421 0.712842 0.653474 +0.589053 0.527789 0.441307 0.342853 0.28984 0.253867 0.2444 0.225467 +0.217893 0.217893 0.00098 0.000986667 0.000993333 0.00096 0.000953333 0.00096 +0.000953333 0.000953333 0.00094 0.000926667 0.000933333 0.000933333 0.000913333 0.000913333 +0.000913333 0.00094 0.000933333 0.000906667 0.000953333 0.000966667 0.000946667 0.000946667 +0.000986667 0.00098 0.00096 0.00096 0.000966667 0.000946667 0.000933333 0.000953333 +0.000966667 0.00096 0.000946667 0.000953333 0.000946667 0.00096 0.000966667 0.000953333 +0.00094 0.000953333 0.00096 0.000953333 0.000966667 0.00096 0.000986667 0.000986667 +0.00098 0.000973333 0.000986667 0.000986667 0.000913333 0.00096 0.22168 0.2728 +0.327707 0.42048 0.518316 0.558105 0.595368 0.618737 0.617474 0.592211 +0.553684 0.506316 0.39208 0.31824 0.382613 0.556211 0.647789 0.640842 +0.564421 0.5 0.39776 0.3296 0.276587 0.242507 0.22736 0.217893 +0.000986667 0.000986667 0.00098 0.00096 0.00094 0.000966667 0.000993333 0.000986667 +0.000986667 0.216 0.000986667 0.00098 0.000973333 0.000986667 0.216 0.00098 +0.000993333 0.000993333 0.00098 0.000973333 0.000946667 0.000933333 0.000906667 0.000906667 +0.000933333 0.000966667 0.00096 0.00096 0.00096 0.000966667 0.000973333 0.00096 +0.00096 0.00096 0.217893 0.229253 0.229253 0.234933 0.2444 0.269013 +0.304987 0.356107 0.4432 0.517684 0.568211 0.625684 0.676211 0.710316 +0.714737 0.690737 0.647789 0.590316 0.539789 0.502526 0.435627 0.416693 +0.445093 0.496213 0.508842 0.501263 0.424267 0.33528 0.246293 0.000933333 +0.219787 0.27848 0.304987 0.339067 0.378827 0.359893 0.30688 0.2444 +0.000966667 0.000913333 0.00092 0.0009 0.00086 0.000853333 0.000826667 0.000806667 +0.000793333 0.00078 0.00078 0.000773333 0.000806667 0.000853333 0.000833333 0.000833333 +0.000846667 0.000873333 0.225467 0.316347 0.399653 0.473493 0.543579 0.654737 +0.808211 0.940211 0.994694 1.00188 0.995347 0.983265 0.969263 0.959158 +0.952842 0.952842 0.955368 0.956632 0.961053 0.962316 0.957895 0.958526 +0.971158 0.986204 0.99502 1.00024 1.00384 1.00482 1.00612 1.00776 +1.0058 1.0058 1.00514 1.00318 1.00318 1.00253 1.00155 0.996327 +0.997306 0.999592 1.00024 1.00122 0.999592 0.999592 0.998612 0.999918 +1.00122 1.0022 1.0009 0.999265 0.996327 0.993388 0.993388 0.996 +0.998612 1.00122 1.00122 1.00057 1.00122 1.00024 0.998939 0.997306 +0.99698 0.994367 0.993061 0.993714 0.993714 0.991755 0.988816 0.985878 +0.985878 0.986531 0.989796 0.995347 1.00024 1.0009 1.00286 1.00971 +1.01592 1.01886 1.02343 1.02637 1.02833 1.03322 1.0378 1.04106 +1.04531 1.0489 1.05543 1.07522 1.10413 1.14521 1.22433 1.31259 +1.38106 1.42671 1.43127 1.39019 1.32324 1.22738 1.12086 1.04857 +1.02735 1.01559 1.00906 1.00482 1.00384 1.00351 1.00645 1.01004 +1.00808 1.0022 1.0022 1.00449 1.00547 1.00514 1.00678 1.00776 +1.00808 1.0071 1.00743 1.00906 1.00808 1.0058 1.0071 1.00482 +1.00449 1.00612 1.00416 1.00351 1.00449 1.00482 1.00318 1.00286 +1.00286 1.00743 1.00906 1.0058 1.00286 1.0058 1.00547 0.999918 +1.00188 1.00482 1.00253 0.996653 0.994041 0.999592 1.00482 1.00482 +1.00416 1.00384 1.00449 1.00612 1.00808 1.00808 1.00318 1.00547 +1.05543 1.44192 1.62452 1.33237 1.02996 0.99698 0.999265 1.00645 +1.00841 1.00514 1.0009 1.00155 1.00482 1.00514 1.00253 0.998286 +0.994041 0.992408 0.994367 0.998939 0.999265 1.00155 1.00351 1.00514 +1.01069 1.01233 1.01331 1.01331 1.00971 1.00971 1.00612 1.00253 +1.0058 1.00841 1.01037 1.01298 1.01331 1.01265 1.01265 1.01135 +1.01004 1.01004 1.00906 1.00514 1.00514 1.00971 1.012 1.01363 +1.01298 1.012 1.01331 1.01331 1.01135 1.01069 1.01037 1.00841 +1.00808 1.01037 1.012 1.01331 1.01494 1.01429 1.01429 1.01102 +1.00808 1.01037 1.01298 1.01331 1.01331 1.01363 1.01265 1.01363 +1.0169 1.01624 1.01494 1.01494 1.01461 1.01494 1.01461 1.01331 +1.01233 1.00971 1.00743 1.00743 1.00841 1.00808 1.00514 0.998286 +0.996 0.998939 1.00286 1.0058 1.0071 1.00482 1.00286 1.00416 +1.00612 1.0071 1.00743 1.00841 1.00939 1.01069 1.00906 1.00841 +1.0071 1.00482 1.00188 0.998612 1.00253 1.00482 1.00416 1.00351 +1.00253 1.00253 1.00384 1.00416 1.00155 0.999265 0.991755 0.981306 +0.968 0.958526 0.959789 0.960421 0.961053 0.962316 0.962316 0.969895 +0.983918 0.994694 1.0022 1.00384 0.996 0.957895 0.847368 0.707158 +0.585263 0.507579 0.390187 0.29552 0.22168 0.000906667 0.0009 0.000926667 +0.000933333 0.0009 0.000853333 0.000866667 0.000986667 0.276587 0.37504 0.496213 +0.544842 0.582737 0.611789 0.632 0.640211 0.642737 0.638947 0.637684 +0.637053 0.631368 0.625684 0.623789 0.625684 0.635158 0.653474 0.676211 +0.707158 0.736211 0.748211 0.734316 0.690737 0.630737 0.566947 0.506316 +0.388293 0.322027 0.280373 0.246293 0.236827 0.225467 0.22736 0.216 +0.00098 0.000986667 0.00098 0.000986667 0.217893 0.000973333 0.00096 0.00096 +0.000966667 0.000966667 0.000953333 0.000946667 0.000953333 0.000953333 0.00094 0.00092 +0.000906667 0.0009 0.000926667 0.000913333 0.000933333 0.000933333 0.00092 0.000926667 +0.000953333 0.000953333 0.000953333 0.000953333 0.000946667 0.000953333 0.000946667 0.000926667 +0.000933333 0.000933333 0.000933333 0.00094 0.00094 0.000946667 0.000973333 0.00096 +0.000926667 0.000933333 0.000966667 0.000946667 0.000946667 0.00094 0.000973333 0.000993333 +0.000973333 0.00096 0.000966667 0.00098 0.251973 0.304987 0.40912 0.510737 +0.552421 0.590316 0.614947 0.615579 0.597263 0.563789 0.522737 0.4432 +0.342853 0.26712 0.225467 0.26712 0.508211 0.632632 0.659158 0.582105 +0.503789 0.3864 0.308773 0.26144 0.240613 0.236827 0.236827 0.225467 +0.219787 0.216 0.219787 0.217893 0.216 0.217893 0.219787 0.219787 +0.216 0.000993333 0.000973333 0.000973333 0.000993333 0.22168 0.223573 0.000986667 +0.000993333 0.00098 0.000966667 0.000966667 0.000946667 0.00092 0.00088 0.000906667 +0.00094 0.000953333 0.000926667 0.000926667 0.000933333 0.000946667 0.000946667 0.000926667 +0.00092 0.000946667 0.000986667 0.216 0.00098 0.000986667 0.22168 0.22736 +0.23304 0.26144 0.291733 0.32392 0.38072 0.481067 0.541053 0.601053 +0.661684 0.704632 0.724211 0.710947 0.673053 0.62 0.564421 0.519579 +0.46592 0.445093 0.46592 0.502526 0.513895 0.507579 0.439413 0.356107 +0.356107 0.433733 0.4716 0.501895 0.510737 0.48864 0.439413 0.38072 +0.30688 0.257653 0.23304 0.000993333 0.00098 0.000966667 0.00092 0.000893333 +0.000866667 0.000813333 0.000806667 0.000806667 0.000813333 0.00084 0.00084 0.0008 +0.000793333 0.000786667 0.0008 0.00096 0.28984 0.373147 0.452667 0.525895 +0.614316 0.757053 0.899789 0.985551 1.0009 0.998612 0.989143 0.978737 +0.964211 0.954105 0.951579 0.955368 0.964211 0.968 0.962316 0.957263 +0.957263 0.966737 0.981959 0.989469 0.994694 1.00057 1.00416 1.00482 +1.00318 1.00286 1.00482 1.00286 1.00318 1.00351 1.0022 0.999918 +0.998286 0.997633 0.998939 0.997306 0.995347 0.997959 1.00122 1.00351 +1.00514 1.00449 1.00547 1.00384 0.999592 0.998612 0.998612 0.997306 +0.996653 0.995673 0.996 0.997306 0.997306 0.997633 0.99698 0.998286 +0.997959 0.995673 0.996327 0.998939 0.999265 0.997306 0.997306 0.997959 +0.99698 0.997306 1.00155 1.00514 1.01004 1.01429 1.0169 1.02114 +1.02539 1.028 1.03094 1.03355 1.03747 1.04106 1.04302 1.04661 +1.05216 1.06761 1.12239 1.16803 1.21673 1.27607 1.33389 1.36736 +1.35519 1.29585 1.20455 1.10717 1.05118 1.03453 1.02212 1.01363 +1.00776 1.00678 1.00678 1.00776 1.00776 1.00873 1.01069 1.01102 +1.00776 1.00416 1.00482 1.0071 1.00743 1.0058 1.00776 1.00873 +1.01069 1.00873 1.00971 1.01004 1.00678 1.00808 1.00939 1.00612 +1.0071 1.00645 1.00547 1.00547 1.00645 1.00612 1.00547 1.00482 +1.00547 1.00776 1.00547 1.00253 1.00482 1.00808 1.00449 0.998939 +1.00253 1.00449 1.00318 0.999592 0.994367 0.995673 1.00253 1.01135 +1.01102 1.00482 1.00416 1.00612 1.00482 1.0071 1.0071 1.0058 +1.03812 1.30041 1.45714 1.17412 1.01657 0.998612 1.00122 1.00645 +1.00841 1.00776 1.00547 1.00384 1.00514 1.00416 0.999592 0.999265 +0.997959 0.996327 0.999592 1.00122 0.999265 1.00155 1.00416 1.00547 +1.00873 1.00743 1.00808 1.01135 1.00841 1.00808 1.00808 1.00612 +1.00939 1.012 1.012 1.01298 1.01167 1.01135 1.01069 1.01135 +1.01167 1.00873 1.00678 1.00612 1.00743 1.01004 1.01069 1.01037 +1.00939 1.00939 1.01331 1.01429 1.01233 1.01102 1.01265 1.01331 +1.01331 1.01461 1.01429 1.01233 1.01396 1.01624 1.01527 1.01331 +1.01233 1.01363 1.01265 1.01233 1.01331 1.01331 1.01461 1.01494 +1.01494 1.01494 1.01429 1.01233 1.01298 1.01494 1.01527 1.01363 +1.01102 1.00841 1.0071 1.00743 1.00971 1.00906 1.00808 1.00645 +1.00547 1.0071 1.00841 1.01135 1.01265 1.01167 1.00906 1.00743 +1.00645 1.0058 1.00678 1.00776 1.00808 1.00841 1.0071 1.00547 +1.00384 1.00286 1.00188 1.00384 1.00449 1.00286 1.00416 1.00547 +1.00547 1.00449 1.00351 0.999265 0.991755 0.985551 0.974947 0.965474 +0.964842 0.961053 0.959158 0.959789 0.961684 0.968632 0.981633 0.990776 +0.999592 1.00612 1.00449 0.987184 0.914947 0.791158 0.650947 0.546737 +0.469707 0.356107 0.26144 0.000966667 0.00092 0.00096 0.000986667 0.000993333 +0.000986667 0.000986667 0.248187 0.31824 0.42616 0.521474 0.562526 0.594105 +0.619368 0.631368 0.635158 0.638947 0.638947 0.637684 0.633895 0.630105 +0.628842 0.625684 0.623789 0.630105 0.649053 0.68 0.716 0.741895 +0.746316 0.719789 0.669263 0.606737 0.542947 0.473493 0.371253 0.29552 +0.246293 0.242507 0.236827 0.216 0.000986667 0.00098 0.216 0.000973333 +0.000966667 0.00098 0.000946667 0.00096 0.000993333 0.000966667 0.000953333 0.00096 +0.00096 0.000946667 0.000946667 0.000946667 0.000946667 0.00096 0.000966667 0.000946667 +0.000933333 0.00092 0.000933333 0.000913333 0.00094 0.000946667 0.00092 0.000933333 +0.000926667 0.000946667 0.00098 0.00098 0.00096 0.00096 0.000973333 0.000973333 +0.00096 0.000946667 0.000953333 0.00096 0.00096 0.00096 0.000973333 0.000966667 +0.000933333 0.000926667 0.00096 0.000966667 0.000953333 0.000933333 0.000953333 0.000973333 +0.00096 0.00096 0.00098 0.000993333 0.450773 0.530316 0.573895 0.607368 +0.618105 0.59979 0.569474 0.529053 0.46024 0.356107 0.287947 0.240613 +0.00098 0.000926667 0.000926667 0.342853 0.578316 0.670526 0.62 0.523368 +0.40344 0.31256 0.253867 0.229253 0.223573 0.225467 0.22168 0.000986667 +0.00096 0.000986667 0.00098 0.00098 0.000973333 0.000973333 0.00098 0.000953333 +0.000953333 0.000946667 0.00094 0.00096 0.00098 0.00098 0.00096 0.000946667 +0.000973333 0.00096 0.00096 0.000946667 0.000933333 0.0009 0.000866667 0.000913333 +0.000933333 0.000946667 0.000933333 0.000926667 0.00094 0.000953333 0.000946667 0.000926667 +0.00094 0.00096 0.000953333 0.000953333 0.000966667 0.000973333 0.217893 0.000993333 +0.00098 0.22168 0.23304 0.242507 0.263333 0.293627 0.33528 0.42048 +0.515158 0.565053 0.632 0.693895 0.729263 0.728 0.697053 0.645263 +0.591579 0.553684 0.522105 0.507579 0.508842 0.522105 0.525263 0.517684 +0.518316 0.530947 0.536 0.541684 0.545474 0.533474 0.520211 0.508211 +0.462133 0.407227 0.359893 0.310667 0.28416 0.270907 0.242507 0.22168 +0.000953333 0.00088 0.00084 0.00084 0.000833333 0.000833333 0.000833333 0.000793333 +0.000773333 0.000773333 0.000766667 0.000806667 0.000913333 0.257653 0.356107 0.43184 +0.507579 0.583368 0.712211 0.859368 0.966737 0.997306 0.999265 0.993388 +0.985224 0.967368 0.952211 0.952842 0.961053 0.964211 0.959158 0.956 +0.956 0.956632 0.961684 0.971789 0.985224 0.995347 1.00286 1.00416 +1.00384 1.00318 1.00384 1.00547 1.00678 1.00449 1.00188 1.00155 +1.00286 0.999918 0.999265 0.991429 0.985551 0.987184 0.994041 0.999592 +1.00155 1.00286 1.00547 1.00482 1.00253 1.00286 1.00384 1.00253 +1.00024 0.997959 0.997306 0.997959 0.998612 0.999592 1.00024 1.00253 +1.00384 1.00351 1.00384 1.00253 1.00024 1.00188 1.00482 1.00547 +1.00482 1.00482 1.00678 1.00841 1.01298 1.01951 1.02408 1.02604 +1.02833 1.03224 1.03649 1.03943 1.04204 1.04531 1.05216 1.05967 +1.09348 1.14673 1.18934 1.22738 1.25477 1.25933 1.2289 1.18629 +1.12543 1.05478 1.03682 1.02571 1.01886 1.01429 1.01233 1.01004 +1.00547 1.0022 1.00743 1.01167 1.01102 1.01069 1.01069 1.01004 +1.0071 1.00547 1.0058 1.00873 1.00645 1.00449 1.00776 1.01037 +1.01233 1.00939 1.00906 1.00873 1.00678 1.01037 1.00939 1.00645 +1.00678 1.0058 1.00514 1.0058 1.0058 1.0071 1.00808 1.00514 +1.0058 1.0058 1.00318 1.00253 1.00678 1.00612 1.00351 1.00057 +1.0022 1.00253 1.0022 1.00024 0.998286 0.997633 1.00024 1.01069 +1.01135 1.0022 1.00188 1.00645 1.00351 1.00514 1.00776 1.0071 +1.02441 1.1163 1.2076 1.04596 1.00678 1.00155 1.00514 1.00645 +1.00514 1.00645 1.00873 1.00645 1.00514 1.00155 0.998286 0.999918 +0.999592 0.998939 1.00318 1.00514 1.00351 1.0058 1.00776 1.0071 +1.00906 1.00939 1.012 1.01233 1.00808 1.0071 1.00939 1.00906 +1.01135 1.01396 1.01298 1.012 1.01069 1.01037 1.012 1.01265 +1.01037 1.00678 1.0071 1.0071 1.00743 1.00939 1.01102 1.01167 +1.01102 1.00939 1.01135 1.01429 1.01363 1.01233 1.01265 1.01461 +1.01527 1.01527 1.01298 1.01037 1.01004 1.01298 1.01429 1.01494 +1.01396 1.01363 1.01233 1.01298 1.01429 1.01396 1.01592 1.01657 +1.01559 1.01494 1.01559 1.01559 1.01396 1.01396 1.01429 1.01494 +1.01298 1.00841 1.00743 1.01037 1.01167 1.00906 1.0071 1.00841 +1.00906 1.00808 1.01037 1.01298 1.01298 1.01167 1.00906 1.0058 +1.00351 1.00351 1.00482 1.00645 1.00449 1.0022 1.0009 0.999592 +1.00122 1.00253 1.00449 1.00547 1.00482 1.00482 1.00547 1.00678 +1.0058 1.00253 0.997306 0.987837 0.978105 0.968632 0.962316 0.966737 +0.971158 0.968 0.966737 0.974316 0.981633 0.988163 0.997959 1.00416 +1.0058 0.999592 0.968632 0.863789 0.731158 0.609895 0.522105 0.412907 +0.316347 0.240613 0.000946667 0.00094 0.000986667 0.22168 0.22736 0.240613 +0.280373 0.36936 0.486747 0.534105 0.570737 0.602947 0.623158 0.633895 +0.638316 0.637684 0.635158 0.633895 0.632 0.632 0.631368 0.630737 +0.631368 0.640211 0.661684 0.692632 0.723579 0.740632 0.734947 0.703368 +0.647789 0.580211 0.521474 0.42616 0.339067 0.291733 0.269013 0.240613 +0.219787 0.217893 0.22168 0.000986667 0.000953333 0.000953333 0.000973333 0.00094 +0.00096 0.00098 0.00094 0.000946667 0.00096 0.00092 0.000933333 0.000953333 +0.000933333 0.000933333 0.000946667 0.000933333 0.000906667 0.00092 0.000946667 0.000926667 +0.000906667 0.00092 0.00092 0.000906667 0.000926667 0.00094 0.00092 0.00092 +0.0009 0.000926667 0.000966667 0.000986667 0.000973333 0.000946667 0.00094 0.000946667 +0.000946667 0.000946667 0.000933333 0.000926667 0.000933333 0.000946667 0.00094 0.000946667 +0.000933333 0.000933333 0.00094 0.000946667 0.000946667 0.000933333 0.00094 0.00096 +0.000946667 0.000946667 0.00096 0.000986667 0.587789 0.612421 0.606105 0.582105 +0.540421 0.486747 0.3864 0.31256 0.25008 0.000986667 0.000913333 0.00086 +0.000853333 0.00084 0.000973333 0.467813 0.640211 0.673053 0.565684 0.43184 +0.310667 0.248187 0.223573 0.217893 0.000993333 0.000993333 0.216 0.000973333 +0.00094 0.000966667 0.000973333 0.000966667 0.00096 0.000946667 0.000966667 0.000966667 +0.000973333 0.000973333 0.00096 0.00096 0.00096 0.00096 0.000946667 0.000966667 +0.000986667 0.000966667 0.00096 0.00092 0.0009 0.000886667 0.00088 0.0009 +0.000906667 0.00094 0.000933333 0.000913333 0.000926667 0.000946667 0.000933333 0.000926667 +0.000926667 0.000913333 0.000906667 0.000926667 0.000966667 0.00096 0.000973333 0.000953333 +0.000933333 0.000986667 0.216 0.217893 0.231147 0.231147 0.240613 0.270907 +0.30688 0.356107 0.46592 0.541053 0.602316 0.669263 0.718526 0.729895 +0.709053 0.673684 0.627579 0.587158 0.558105 0.541684 0.537263 0.542316 +0.549263 0.567579 0.577684 0.575789 0.576421 0.570105 0.56 0.548 +0.536 0.523368 0.510737 0.496213 0.484853 0.484853 0.439413 0.36368 +0.304987 0.257653 0.219787 0.000953333 0.0009 0.000853333 0.00084 0.000826667 +0.0008 0.000786667 0.00078 0.000766667 0.000766667 0.00084 0.225467 0.31824 +0.418587 0.503158 0.556842 0.667368 0.812 0.934526 0.991429 1.0009 +0.996653 0.987184 0.976211 0.962947 0.957263 0.958526 0.957263 0.956632 +0.960421 0.960421 0.957895 0.961053 0.968632 0.981959 0.991755 0.997633 +1.00253 1.00449 1.00351 1.00547 1.00743 1.00612 1.00286 1.00384 +1.00416 1.00449 1.00155 0.999265 0.994041 0.98751 0.986204 0.991429 +0.99502 0.997633 0.999592 1.00188 1.00286 1.00253 1.0022 1.00155 +1.00057 0.998612 0.997306 0.996653 0.997959 0.998286 0.999265 0.999592 +0.998939 1.00188 1.00318 1.00155 1.00122 1.00351 1.00514 1.00514 +1.00645 1.00906 1.01037 1.01102 1.01363 1.01951 1.02441 1.02767 +1.0329 1.03943 1.04465 1.04759 1.05053 1.05739 1.09043 1.11478 +1.13304 1.14065 1.13304 1.12391 1.08739 1.05641 1.04792 1.0391 +1.02963 1.01886 1.01461 1.01298 1.01233 1.01004 1.01004 1.01102 +1.00645 1.00384 1.00939 1.01135 1.01069 1.00939 1.01069 1.01069 +1.00612 1.00514 1.00678 1.00776 1.00547 1.0071 1.00971 1.01102 +1.01167 1.00873 1.01004 1.00776 1.00776 1.00971 1.00776 1.00612 +1.00514 1.00547 1.00873 1.00939 1.00743 1.00808 1.00808 1.00514 +1.00449 1.00547 1.00384 1.00449 1.00547 1.00514 1.00482 1.00253 +1.00155 1.00188 1.00253 1.0022 1.00384 1.0022 0.997306 1.00449 +1.00776 1.00286 1.0022 1.00612 1.00351 1.00351 1.00547 1.00808 +1.01559 1.0391 1.04661 1.01853 1.00253 1.00645 1.00971 1.00645 +1.00416 1.00743 1.00971 1.00416 1.00188 0.998939 0.999265 1.00318 +1.00253 1.00286 1.00776 1.01004 1.00939 1.01004 1.01167 1.01004 +1.01004 1.01167 1.01331 1.01167 1.00776 1.00547 1.00841 1.00939 +1.00841 1.00971 1.01037 1.01233 1.01331 1.01265 1.01429 1.01494 +1.01331 1.01102 1.01069 1.00971 1.00808 1.00906 1.012 1.01331 +1.01265 1.01167 1.01298 1.01527 1.01461 1.01265 1.01037 1.01167 +1.01363 1.01233 1.012 1.01331 1.01135 1.01167 1.01461 1.01624 +1.01722 1.01722 1.01722 1.01592 1.01494 1.01494 1.01461 1.01429 +1.01363 1.01233 1.01331 1.01461 1.01461 1.01265 1.01265 1.01429 +1.012 1.00318 1.00253 1.00841 1.00841 1.00808 1.00776 1.0071 +1.00678 1.00612 1.00776 1.01069 1.00971 1.00873 1.00743 1.00808 +1.0071 1.0071 1.00776 1.00645 1.00155 0.998286 0.99698 0.996653 +0.999265 1.00351 1.00514 1.00482 1.00449 1.00678 1.00612 1.00449 +0.999265 0.991429 0.983265 0.969895 0.966105 0.964842 0.964211 0.969263 +0.973053 0.978737 0.986531 0.993388 0.998286 1.00351 1.00743 1.00416 +0.987184 0.918105 0.798737 0.665474 0.561895 0.486747 0.365573 0.27848 +0.22168 0.00096 0.000993333 0.223573 0.23304 0.269013 0.333387 0.418587 +0.509474 0.556211 0.591579 0.613053 0.626947 0.631368 0.635158 0.638316 +0.638947 0.634526 0.633895 0.631368 0.628842 0.630737 0.636421 0.650947 +0.674316 0.704632 0.733684 0.744421 0.726737 0.679368 0.615579 0.554316 +0.5 0.378827 0.30688 0.26144 0.236827 0.236827 0.23304 0.000986667 +0.00096 0.000933333 0.000946667 0.00096 0.00092 0.000913333 0.00094 0.000913333 +0.000926667 0.000973333 0.000946667 0.000933333 0.000946667 0.00094 0.00094 0.000933333 +0.000933333 0.00094 0.00094 0.000933333 0.00092 0.000933333 0.00096 0.000946667 +0.000926667 0.000933333 0.000933333 0.000933333 0.000946667 0.00096 0.000946667 0.00092 +0.00092 0.00094 0.000946667 0.000973333 0.00096 0.000953333 0.00096 0.000953333 +0.000953333 0.000966667 0.00096 0.00094 0.00096 0.000953333 0.000946667 0.000966667 +0.00096 0.000953333 0.00096 0.000946667 0.00094 0.000946667 0.000946667 0.00096 +0.000953333 0.00094 0.000953333 0.00098 0.602947 0.563158 0.515158 0.418587 +0.322027 0.257653 0.22736 0.00096 0.000893333 0.000833333 0.000813333 0.000806667 +0.000766667 0.000813333 0.251973 0.538526 0.686316 0.645263 0.513895 0.339067 +0.257653 0.22736 0.223573 0.219787 0.000993333 0.000993333 0.216 0.00096 +0.000966667 0.217893 0.000993333 0.000966667 0.00094 0.000913333 0.000946667 0.000966667 +0.000966667 0.000966667 0.000926667 0.000926667 0.000933333 0.000946667 0.000933333 0.000946667 +0.00096 0.00094 0.00094 0.00092 0.000886667 0.00088 0.000893333 0.00092 +0.00094 0.000926667 0.000913333 0.00092 0.000946667 0.00092 0.000906667 0.00092 +0.000906667 0.000886667 0.000913333 0.00094 0.00096 0.00094 0.000933333 0.00094 +0.000926667 0.00094 0.00094 0.00096 0.000973333 0.000946667 0.00096 0.219787 +0.231147 0.240613 0.270907 0.30688 0.384507 0.508211 0.568842 0.633895 +0.690737 0.726105 0.726105 0.698316 0.655368 0.616211 0.585895 0.566316 +0.560632 0.566316 0.581474 0.588421 0.594105 0.594737 0.587789 0.581474 +0.572 0.556211 0.539789 0.527789 0.539789 0.570105 0.575158 0.548 +0.511368 0.424267 0.3296 0.274693 0.219787 0.00088 0.00084 0.00084 +0.000846667 0.000833333 0.000793333 0.000766667 0.00078 0.000793333 0.000806667 0.000953333 +0.291733 0.384507 0.473493 0.537895 0.625684 0.754526 0.890947 0.982286 +1.0022 1.00351 0.996653 0.984898 0.968632 0.957895 0.961053 0.963579 +0.962316 0.958526 0.956 0.958526 0.959789 0.961053 0.972421 0.985878 +0.996 1.00286 1.0058 1.00514 1.00547 1.00416 1.0058 1.00547 +1.00318 1.00384 1.0058 1.00612 1.00253 0.998286 0.991429 0.990122 +0.99502 0.996 0.998939 1.00122 1.00024 0.999592 1.0009 0.999592 +0.997959 0.99502 0.994041 0.995673 0.995673 0.996327 0.997306 0.996327 +0.997306 1.00122 1.00155 1.00122 1.00253 1.00449 1.0058 1.0071 +1.00873 1.01102 1.01298 1.01527 1.01755 1.02343 1.02931 1.03453 +1.03943 1.04171 1.04433 1.04596 1.04955 1.05314 1.05347 1.05249 +1.05053 1.04727 1.04204 1.03486 1.02767 1.02473 1.02147 1.0182 +1.01396 1.01004 1.01135 1.01331 1.01233 1.01037 1.012 1.012 +1.0071 1.00776 1.01135 1.01037 1.00971 1.00939 1.00939 1.00547 +1.00024 1.00188 1.00678 1.0071 1.00743 1.01037 1.012 1.01233 +1.00906 1.0071 1.01102 1.00971 1.01069 1.00906 1.00678 1.00547 +1.00547 1.00678 1.00971 1.00873 1.00482 1.00743 1.00743 1.00547 +1.0058 1.00449 1.00286 1.00547 1.0071 1.00678 1.0058 1.00155 +0.999918 1.00188 1.00384 1.00416 1.00612 1.00482 0.999592 1.00188 +1.00482 1.00384 1.00547 1.00906 1.00678 1.00482 1.0058 1.00971 +1.01135 1.01624 1.01429 0.998939 0.998939 1.00776 1.00808 1.00253 +1.0022 1.00645 1.00743 1.00416 1.00547 1.00547 1.00449 1.00678 +1.00645 1.00678 1.01167 1.012 1.00939 1.00808 1.00939 1.00873 +1.00841 1.00971 1.01069 1.00873 1.00612 1.00351 1.0071 1.01004 +1.00841 1.00971 1.01135 1.01298 1.01396 1.01167 1.01167 1.01102 +1.01037 1.01037 1.01102 1.01331 1.01069 1.01135 1.01461 1.01461 +1.01396 1.01363 1.01396 1.01396 1.01331 1.01265 1.01167 1.01265 +1.01461 1.01396 1.01429 1.01429 1.01559 1.01624 1.01624 1.0182 +1.0182 1.01657 1.01657 1.01592 1.01559 1.01559 1.01494 1.01429 +1.01429 1.01396 1.01494 1.01527 1.01429 1.01298 1.01331 1.01167 +1.00547 0.998939 1.00024 1.00514 1.00743 1.00678 1.00743 1.00743 +1.00776 1.00645 1.00547 1.0071 1.00939 1.00939 1.00971 1.00939 +1.00939 1.00939 1.00743 1.00449 1.00253 0.998939 0.997633 0.999592 +1.00318 1.00547 1.00482 1.00384 1.00416 1.00449 1.00155 0.994367 +0.985551 0.976842 0.966737 0.964211 0.965474 0.964211 0.963579 0.970526 +0.98098 0.990776 1.00024 1.00416 1.00612 1.00547 0.993388 0.946526 +0.848 0.722316 0.605474 0.524632 0.424267 0.308773 0.231147 0.000926667 +0.000953333 0.22168 0.251973 0.29552 0.358 0.464027 0.532842 0.570105 +0.599158 0.625684 0.634526 0.636421 0.641474 0.640211 0.637684 0.638947 +0.642105 0.636421 0.633895 0.635789 0.643368 0.662947 0.689474 0.720421 +0.740632 0.738737 0.709053 0.654105 0.589053 0.530947 0.446987 0.34664 +0.287947 0.259547 0.2444 0.22736 0.000993333 0.217893 0.22168 0.000966667 +0.00096 0.000933333 0.00092 0.000933333 0.000926667 0.000946667 0.00096 0.000933333 +0.000933333 0.00096 0.000966667 0.000946667 0.000946667 0.00094 0.00094 0.000933333 +0.00094 0.000946667 0.000926667 0.000926667 0.00092 0.000933333 0.000946667 0.000913333 +0.000906667 0.00092 0.000926667 0.000926667 0.000906667 0.000933333 0.000946667 0.00094 +0.000926667 0.00092 0.00094 0.000946667 0.00094 0.000933333 0.000953333 0.00096 +0.000966667 0.000973333 0.000973333 0.000966667 0.00098 0.000953333 0.000953333 0.000966667 +0.000966667 0.000966667 0.00096 0.00096 0.000966667 0.000973333 0.000973333 0.000986667 +0.000993333 0.000993333 0.000993333 0.217893 0.505684 0.384507 0.29552 0.23872 +0.216 0.000933333 0.000893333 0.000873333 0.000873333 0.000833333 0.00084 0.000813333 +0.000793333 0.0009 0.31256 0.590316 0.711579 0.609895 0.445093 0.29552 +0.246293 0.236827 0.223573 0.00098 0.000966667 0.000953333 0.000973333 0.00096 +0.000973333 0.000973333 0.00094 0.000926667 0.00092 0.000906667 0.000913333 0.00092 +0.000946667 0.000946667 0.00092 0.000906667 0.00092 0.000953333 0.000933333 0.000946667 +0.000953333 0.00094 0.000926667 0.0009 0.00088 0.000893333 0.00092 0.00096 +0.000966667 0.00092 0.000906667 0.000913333 0.00092 0.0009 0.000906667 0.000926667 +0.0009 0.0009 0.000933333 0.000953333 0.000946667 0.000926667 0.000926667 0.000966667 +0.000926667 0.000926667 0.000953333 0.000966667 0.00094 0.000926667 0.00094 0.00098 +0.000993333 0.000986667 0.217893 0.225467 0.248187 0.280373 0.333387 0.43184 +0.526526 0.594105 0.656632 0.700842 0.717263 0.711579 0.681263 0.644 +0.609263 0.589053 0.578947 0.582105 0.590316 0.592211 0.595368 0.596632 +0.594737 0.584632 0.575158 0.558105 0.557474 0.595368 0.630105 0.626947 +0.59979 0.566316 0.534105 0.506316 0.433733 0.344747 0.2728 0.223573 +0.000953333 0.000893333 0.000826667 0.0008 0.000806667 0.0008 0.000766667 0.000766667 +0.00086 0.242507 0.348533 0.4432 0.513895 0.578947 0.697053 0.844842 +0.963579 0.999592 1.00416 0.998939 0.989469 0.975579 0.961684 0.959158 +0.959158 0.958526 0.955368 0.954737 0.957263 0.954105 0.955368 0.965474 +0.979368 0.98849 0.996653 1.00122 1.00122 1.00384 1.0071 1.00612 +1.00384 1.00286 1.00416 1.00482 1.00318 1.00253 1.0009 0.997306 +0.998939 1.00057 1.00384 1.00318 0.996653 0.989796 0.988163 0.991755 +0.99502 0.996 0.997306 0.997633 0.99698 0.998612 0.996 0.993388 +0.996 0.998939 0.999592 1.00155 1.00416 1.00612 1.00743 1.00873 +1.00971 1.01102 1.01331 1.01363 1.01559 1.01853 1.02343 1.02604 +1.02735 1.02767 1.02898 1.02702 1.02637 1.02376 1.0218 1.01984 +1.01951 1.02049 1.01755 1.01461 1.01461 1.01592 1.01429 1.01265 +1.01004 1.00873 1.01135 1.01331 1.01004 1.00873 1.00939 1.00514 +1.00253 1.00776 1.01004 1.00776 1.00645 1.00612 1.00514 1.00188 +0.999592 1.00351 1.00841 1.00776 1.0058 1.00743 1.01069 1.01265 +1.00873 1.00873 1.012 1.012 1.012 1.01102 1.01037 1.00873 +1.00873 1.00906 1.00939 1.00678 1.0058 1.01102 1.00971 1.00743 +1.00678 1.00416 1.00351 1.00612 1.00514 1.00253 1.00318 1.00155 +0.999592 0.998939 1.00024 1.00155 1.00645 1.00645 1.00351 1.00351 +1.00286 1.00449 1.00808 1.01233 1.01102 1.00873 1.00645 1.00776 +1.00384 0.997633 0.989469 0.983592 0.994041 1.00482 1.00514 1.0009 +1.00155 1.00645 1.00678 1.00318 1.00678 1.00678 1.00612 1.00776 +1.00645 1.00547 1.0058 1.00416 1.00188 1.00253 1.00482 1.00514 +1.0058 1.00743 1.01037 1.01037 1.00841 1.0058 1.00873 1.01233 +1.01102 1.01167 1.01265 1.01135 1.012 1.01037 1.01102 1.012 +1.01102 1.01069 1.01037 1.01233 1.01135 1.01135 1.01298 1.01233 +1.01233 1.01102 1.01069 1.01102 1.01429 1.01494 1.01396 1.01429 +1.01494 1.01559 1.01494 1.01298 1.01331 1.01429 1.01429 1.01592 +1.01494 1.01396 1.01559 1.01657 1.01461 1.01396 1.01527 1.01461 +1.01527 1.01429 1.01331 1.01494 1.01527 1.01363 1.01233 1.00906 +1.00318 1.00188 1.00482 1.00776 1.00743 1.00449 1.00318 1.00841 +1.01069 1.00906 1.00808 1.00808 1.00678 1.00808 1.00678 1.00776 +1.00906 1.00873 1.00645 1.00514 1.00645 1.00547 1.00351 1.0058 +1.00808 1.00873 1.00645 1.00612 1.00384 0.998612 0.992082 0.983592 +0.973053 0.966105 0.963579 0.962947 0.961053 0.962316 0.971789 0.985224 +0.995347 1.00482 1.00743 1.00514 0.997306 0.970526 0.884632 0.770316 +0.654737 0.56 0.492427 0.37504 0.286053 0.229253 0.217893 0.236827 +0.28416 0.34096 0.43184 0.512 0.548632 0.585263 0.613053 0.625053 +0.632632 0.640211 0.638947 0.639579 0.641474 0.640211 0.636421 0.632632 +0.637684 0.642737 0.653474 0.674947 0.707789 0.735579 0.743158 0.726737 +0.683789 0.623158 0.56 0.503158 0.384507 0.32392 0.287947 0.257653 +0.240613 0.231147 0.223573 0.216 0.00096 0.000973333 0.216 0.00096 +0.000946667 0.000933333 0.00094 0.00092 0.00092 0.00094 0.000946667 0.000933333 +0.000926667 0.000946667 0.000946667 0.000933333 0.000926667 0.00092 0.00094 0.00094 +0.000946667 0.00094 0.00094 0.000966667 0.000933333 0.000933333 0.000953333 0.000913333 +0.000906667 0.000933333 0.00094 0.000953333 0.000933333 0.000946667 0.00096 0.000966667 +0.00096 0.000953333 0.000973333 0.000966667 0.000966667 0.00096 0.000953333 0.00098 +0.000986667 0.000973333 0.000973333 0.000966667 0.000966667 0.00098 0.000986667 0.00098 +0.000986667 0.00098 0.00096 0.000966667 0.000966667 0.000966667 0.00094 0.000966667 +0.000993333 0.000973333 0.00096 0.000946667 0.28984 0.248187 0.22736 0.000973333 +0.000913333 0.0009 0.000886667 0.000873333 0.00088 0.000886667 0.00086 0.0008 +0.000826667 0.000906667 0.359893 0.634526 0.718526 0.577684 0.384507 0.276587 +0.25008 0.234933 0.216 0.219787 0.22168 0.216 0.223573 0.22168 +0.000993333 0.000966667 0.000973333 0.000973333 0.00096 0.000953333 0.000946667 0.00098 +0.000986667 0.00096 0.000966667 0.000953333 0.00098 0.000986667 0.000986667 0.000993333 +0.00096 0.00094 0.000926667 0.000926667 0.000906667 0.00092 0.000953333 0.00098 +0.000973333 0.000953333 0.000926667 0.000933333 0.000946667 0.00092 0.00094 0.000946667 +0.000913333 0.000926667 0.000946667 0.000933333 0.00094 0.000946667 0.00096 0.000973333 +0.000933333 0.000946667 0.00098 0.000973333 0.000933333 0.00092 0.00092 0.000946667 +0.00098 0.00096 0.000933333 0.00096 0.000986667 0.22168 0.23872 0.253867 +0.282267 0.358 0.4716 0.539789 0.603579 0.66421 0.703368 0.716 +0.705263 0.674316 0.648421 0.621263 0.601684 0.594105 0.593474 0.597263 +0.604842 0.609263 0.609263 0.59979 0.593474 0.611789 0.636421 0.646526 +0.642737 0.632 0.612421 0.594105 0.575789 0.544842 0.508211 0.424267 +0.339067 0.274693 0.229253 0.00094 0.000873333 0.000806667 0.000793333 0.000766667 +0.00076 0.000813333 0.22168 0.31256 0.405333 0.5 0.549895 0.646526 +0.789263 0.920632 0.989143 1.00122 1.00024 0.993714 0.982939 0.968632 +0.963579 0.964211 0.961684 0.959158 0.958526 0.957895 0.958526 0.955368 +0.954737 0.965474 0.980327 0.989143 0.995347 1.00057 1.00449 1.00449 +1.00384 1.00384 1.00253 1.00155 1.00351 1.00514 1.00384 1.00547 +1.00286 1.00514 1.00743 1.00514 0.997633 0.984898 0.977474 0.987837 +0.99698 1.00057 1.00188 0.998612 0.997633 0.998286 0.99502 0.990122 +0.988163 0.98751 0.992082 0.996 0.998612 0.999592 0.999592 1.00122 +1.0022 1.00253 1.00449 1.00384 1.00351 1.00482 1.00743 1.00939 +1.00939 1.01102 1.01004 1.00841 1.00678 1.00841 1.01135 1.012 +1.01429 1.01461 1.01167 1.01102 1.01265 1.01298 1.01004 1.00939 +1.00971 1.01135 1.01233 1.01102 1.00776 1.00776 1.0058 1.00253 +1.00482 1.01069 1.01004 1.00808 1.00873 1.0071 1.00449 1.0022 +1.00155 1.0071 1.01167 1.01004 1.00645 1.00841 1.01167 1.01265 +1.00873 1.01069 1.01102 1.01135 1.01004 1.01004 1.0071 1.00384 +1.0058 1.00808 1.00873 1.00482 1.00449 1.00971 1.0071 1.00612 +1.00514 1.00253 1.00384 1.00612 1.00384 1.00155 1.00384 1.00416 +1.0009 0.997959 0.999918 1.00514 1.00939 1.00645 1.00416 1.00547 +1.00188 1.00188 1.00482 1.00841 1.01004 1.00971 1.00743 1.00547 +0.998612 0.987184 0.975579 0.977474 0.992735 1.00318 1.00514 1.00155 +1.00318 1.00808 1.00514 0.998939 1.00253 1.00286 1.00482 1.00906 +1.00645 1.0022 1.00351 1.00318 1.00188 1.00416 1.0071 1.00841 +1.00808 1.00939 1.01233 1.01167 1.00971 1.0071 1.00873 1.01004 +1.01102 1.01233 1.01233 1.01102 1.01298 1.01167 1.01167 1.01363 +1.012 1.01069 1.01102 1.01102 1.01037 1.01069 1.012 1.01233 +1.01167 1.01037 1.01102 1.01363 1.01657 1.01592 1.01461 1.01657 +1.01624 1.01559 1.01624 1.0169 1.01592 1.01657 1.01559 1.01527 +1.01527 1.01363 1.01494 1.01624 1.01396 1.01461 1.01559 1.01429 +1.01559 1.01429 1.012 1.012 1.01233 1.01102 1.00906 1.00776 +1.00612 1.00906 1.01069 1.00873 1.00678 1.00449 1.0022 1.00547 +1.00906 1.01004 1.01102 1.00776 1.00645 1.00514 1.00482 1.00612 +1.00678 1.0058 1.00612 1.00678 1.00841 1.00841 1.0071 1.00612 +1.0071 1.00743 1.00645 1.00122 0.994041 0.987184 0.981633 0.973053 +0.963579 0.961053 0.961053 0.962947 0.969263 0.981633 0.991429 1.00122 +1.00841 1.00971 1.00188 0.983592 0.916211 0.810105 0.692 0.594737 +0.523368 0.422373 0.32392 0.269013 0.246293 0.263333 0.31824 0.3864 +0.481067 0.535368 0.573895 0.601684 0.622526 0.635158 0.635789 0.636421 +0.640842 0.644632 0.641474 0.641474 0.642105 0.642105 0.642105 0.649684 +0.671789 0.700842 0.732421 0.748842 0.743158 0.710316 0.654737 0.590947 +0.529684 0.446987 0.350427 0.291733 0.253867 0.246293 0.25008 0.2444 +0.23304 0.219787 0.00098 0.00098 0.000966667 0.00096 0.00098 0.00096 +0.000946667 0.00094 0.000946667 0.000913333 0.0009 0.000926667 0.000933333 0.00094 +0.00094 0.00096 0.00094 0.000933333 0.000946667 0.000953333 0.00096 0.000946667 +0.000926667 0.000913333 0.000926667 0.000966667 0.000946667 0.000933333 0.000953333 0.000933333 +0.000913333 0.00092 0.000926667 0.00094 0.000933333 0.000953333 0.00096 0.000953333 +0.000953333 0.00096 0.000973333 0.000973333 0.000986667 0.000993333 0.000986667 0.216 +0.217893 0.000986667 0.000986667 0.000973333 0.000966667 0.216 0.223573 0.219787 +0.22168 0.000993333 0.00098 0.217893 0.000993333 0.000993333 0.000966667 0.000966667 +0.217893 0.216 0.000973333 0.000946667 0.000966667 0.00092 0.0009 0.00088 +0.00084 0.00082 0.0008 0.000786667 0.000786667 0.00078 0.000773333 0.00078 +0.0008 0.000873333 0.405333 0.660421 0.714737 0.549895 0.339067 0.265227 +0.240613 0.225467 0.219787 0.231147 0.22736 0.223573 0.219787 0.216 +0.000986667 0.000966667 0.000973333 0.00096 0.000946667 0.000966667 0.00096 0.000973333 +0.000986667 0.00096 0.00096 0.00096 0.000973333 0.000973333 0.000986667 0.000973333 +0.000926667 0.000933333 0.00094 0.00094 0.000906667 0.000913333 0.000933333 0.000933333 +0.000926667 0.000933333 0.000913333 0.000926667 0.000926667 0.000886667 0.0009 0.0009 +0.000893333 0.000913333 0.000933333 0.00094 0.000946667 0.00094 0.00096 0.00096 +0.000933333 0.00094 0.000946667 0.000913333 0.000906667 0.000913333 0.0009 0.00092 +0.000966667 0.000953333 0.000946667 0.000973333 0.000973333 0.217893 0.22736 0.22736 +0.22736 0.246293 0.26712 0.303093 0.37504 0.498107 0.551789 0.613053 +0.664842 0.706526 0.722316 0.714105 0.685684 0.653474 0.628211 0.606737 +0.604842 0.611789 0.616211 0.616842 0.622526 0.628211 0.633895 0.643368 +0.653474 0.656632 0.650947 0.640842 0.633895 0.613684 0.582737 0.552421 +0.527789 0.505684 0.446987 0.376933 0.310667 0.25008 0.22736 0.000933333 +0.000846667 0.000806667 0.000813333 0.000926667 0.263333 0.356107 0.439413 0.515789 +0.597263 0.730526 0.871368 0.966105 0.995673 1.00318 1.00057 0.992082 +0.982286 0.965474 0.957895 0.959789 0.957263 0.953474 0.954105 0.950947 +0.950947 0.954737 0.957263 0.967368 0.982939 0.991755 0.998939 1.00155 +1.00384 1.00416 1.00547 1.00776 1.00743 1.00547 1.00612 1.00645 +1.0058 1.00678 1.00514 1.00384 0.997959 0.986857 0.98 0.987837 +0.999918 1.00514 1.00449 1.00188 1.00384 1.00547 1.00416 1.00024 +0.995347 0.992082 0.994367 0.997959 0.999592 0.999918 0.997633 0.998612 +0.999265 1.00057 1.00057 1.00057 0.999265 0.998939 1.0009 1.00155 +1.00253 1.00286 1.00514 1.00808 1.01004 1.012 1.01298 1.01396 +1.01559 1.01429 1.01233 1.01429 1.01461 1.01069 1.00906 1.00971 +1.00906 1.00873 1.00906 1.00841 1.00776 1.00971 1.00906 1.00678 +1.00808 1.01102 1.00873 1.00678 1.00808 1.00939 1.00808 1.00449 +1.00482 1.01037 1.01396 1.01069 1.00906 1.01102 1.01298 1.01102 +1.00743 1.0071 1.00547 1.00808 1.00939 1.01004 1.0071 1.00514 +1.00645 1.00743 1.00547 1.00122 1.00318 1.00841 1.0071 1.00776 +1.0058 1.00286 1.00384 1.00482 1.0022 0.998939 1.00253 1.00514 +1.00286 1.00188 1.00384 1.00841 1.00841 1.00253 1.00318 1.00547 +1.00351 1.00318 1.00253 1.00482 1.00873 1.01135 1.00743 1.0009 +0.994041 0.984898 0.973684 0.976842 0.992082 1.00253 1.00514 1.00188 +1.00318 1.00612 1.00351 0.997959 1.00188 1.00188 1.00482 1.00906 +1.0071 1.00384 1.00547 1.00645 1.00318 1.00547 1.00873 1.00971 +1.00776 1.00678 1.00939 1.00971 1.00971 1.00906 1.00939 1.01037 +1.01135 1.01331 1.01331 1.01037 1.01265 1.01233 1.01135 1.01363 +1.01363 1.01265 1.01233 1.01265 1.01167 1.01135 1.01265 1.01331 +1.01363 1.01265 1.01233 1.01265 1.01494 1.01592 1.01559 1.0169 +1.0169 1.01592 1.01592 1.01624 1.01559 1.01624 1.01592 1.01494 +1.01494 1.01363 1.01298 1.01429 1.01298 1.01396 1.01429 1.01298 +1.01396 1.01527 1.01363 1.012 1.00939 1.00743 1.00678 1.00808 +1.01069 1.01102 1.01135 1.01037 1.00776 1.00645 1.00122 0.996653 +1.00155 1.00743 1.00841 1.0071 1.00482 1.00416 1.00188 1.00253 +1.00188 1.00188 1.00155 1.00286 1.00482 1.00514 1.00612 1.00743 +1.0058 1.00449 1.00024 0.989796 0.981306 0.975579 0.968 0.961053 +0.956 0.960421 0.970526 0.982612 0.990122 0.998612 1.00678 1.00939 +1.0058 0.987837 0.929474 0.836 0.724211 0.617474 0.537895 0.469707 +0.365573 0.28984 0.259547 0.286053 0.35232 0.446987 0.517684 0.553684 +0.588421 0.614947 0.631368 0.639579 0.642105 0.642737 0.640842 0.641474 +0.646526 0.643368 0.637684 0.638316 0.643368 0.661053 0.688842 0.721684 +0.747579 0.753895 0.737474 0.690105 0.624421 0.557474 0.503789 0.395867 +0.316347 0.276587 0.257653 0.2444 0.223573 0.217893 0.225467 0.229253 +0.217893 0.00096 0.000946667 0.000953333 0.000966667 0.000966667 0.000966667 0.00096 +0.00098 0.00098 0.000986667 0.000946667 0.000933333 0.000953333 0.000973333 0.000986667 +0.00098 0.216 0.00098 0.000973333 0.000986667 0.000993333 0.000986667 0.000973333 +0.000966667 0.000946667 0.00094 0.000966667 0.00096 0.000946667 0.000973333 0.000953333 +0.000926667 0.00092 0.000933333 0.000926667 0.000926667 0.00094 0.000946667 0.000953333 +0.000933333 0.000933333 0.000933333 0.000933333 0.000946667 0.000946667 0.000946667 0.00096 +0.000953333 0.000953333 0.000973333 0.00096 0.000933333 0.000946667 0.00096 0.000966667 +0.216 0.000973333 0.000946667 0.00098 0.000973333 0.000973333 0.00098 0.000973333 +0.00098 0.216 0.000993333 0.00098 0.00092 0.000893333 0.000866667 0.00084 +0.000813333 0.0008 0.000793333 0.000786667 0.000753333 0.000773333 0.000813333 0.000826667 +0.000793333 0.000906667 0.433733 0.670526 0.705895 0.532211 0.316347 0.257653 +0.23304 0.223573 0.217893 0.000993333 0.000973333 0.000966667 0.000946667 0.000966667 +0.000966667 0.000933333 0.000913333 0.000913333 0.00096 0.000953333 0.000926667 0.000933333 +0.00094 0.000933333 0.00094 0.000933333 0.00094 0.000946667 0.00094 0.000906667 +0.000893333 0.0009 0.0009 0.00088 0.000853333 0.00086 0.000873333 0.000873333 +0.000866667 0.000886667 0.000873333 0.000866667 0.000853333 0.00084 0.000866667 0.000893333 +0.00088 0.00088 0.00088 0.000913333 0.00092 0.000913333 0.00094 0.000926667 +0.00088 0.000906667 0.000913333 0.0009 0.000906667 0.0009 0.000893333 0.00094 +0.000953333 0.00092 0.00094 0.000946667 0.00094 0.000953333 0.000966667 0.000953333 +0.000946667 0.00098 0.22168 0.22736 0.231147 0.259547 0.308773 0.376933 +0.501263 0.552421 0.609263 0.658526 0.698947 0.715368 0.707158 0.686316 +0.656 0.632 0.614316 0.614947 0.626316 0.628842 0.634526 0.638947 +0.645895 0.647789 0.650316 0.648421 0.647158 0.628211 0.589684 0.56 +0.552421 0.552421 0.544842 0.535368 0.525895 0.505684 0.433733 0.344747 +0.265227 0.000986667 0.00086 0.00084 0.000893333 0.231147 0.30688 0.395867 +0.5 0.561263 0.671158 0.803789 0.921895 0.988816 1.00416 1.00416 +0.99698 0.984571 0.971789 0.964842 0.959789 0.951579 0.949053 0.952842 +0.957895 0.961053 0.959158 0.959789 0.967368 0.978105 0.984898 0.994367 +0.998939 1.00286 1.0071 1.01069 1.00841 1.00416 1.0058 1.00612 +1.00743 1.00743 1.00743 1.00482 1.00351 0.995673 0.989469 0.990776 +0.997306 1.00188 1.00286 1.00416 1.00449 1.0058 1.0058 1.00482 +1.00318 1.00188 1.00253 1.00384 1.0058 1.00547 1.00482 1.00416 +1.00449 1.00547 1.00351 1.00253 1.00384 1.00645 1.00645 1.0058 +1.00547 1.00351 1.00482 1.00939 1.01331 1.01461 1.01559 1.01722 +1.01788 1.01624 1.01559 1.0169 1.01265 1.00873 1.00906 1.00841 +1.00612 1.00678 1.01004 1.01135 1.012 1.01102 1.00808 1.00678 +1.00808 1.01004 1.00808 1.00678 1.00808 1.00971 1.00743 1.00547 +1.00743 1.01102 1.00939 1.00514 1.00482 1.0071 1.00873 1.00873 +1.00776 1.0071 1.0071 1.01069 1.012 1.01037 1.00776 1.00678 +1.00873 1.00939 1.00482 1.00155 1.00612 1.00906 1.0058 1.00384 +1.00155 1.00188 1.0009 1.00057 0.995673 0.986857 0.989143 0.998286 +1.00384 1.00482 1.0071 1.00971 1.00841 1.00351 1.0058 1.00841 +1.00678 1.00188 0.998612 1.00122 1.00514 1.00873 1.00449 0.994041 +0.987837 0.983592 0.978737 0.976211 0.98751 0.998612 1.0009 1.00057 +1.00416 1.00612 1.00188 0.99698 1.00122 1.00318 1.00547 1.01037 +1.00808 1.00482 1.00318 1.00286 1.0009 1.00449 1.00841 1.00939 +1.00678 1.00416 1.0058 1.00873 1.01069 1.00873 1.00873 1.01037 +1.01135 1.01265 1.01363 1.01102 1.01037 1.01004 1.00971 1.01396 +1.01592 1.01363 1.01102 1.01167 1.012 1.01135 1.01167 1.01363 +1.01559 1.01429 1.01363 1.01429 1.01461 1.0169 1.01494 1.01461 +1.01461 1.01527 1.01429 1.012 1.012 1.01331 1.01331 1.01396 +1.01527 1.01527 1.01429 1.01527 1.01429 1.01331 1.01396 1.01363 +1.012 1.01331 1.01298 1.01135 1.00776 1.00482 1.00612 1.00776 +1.00873 1.01037 1.00906 1.01037 1.01069 1.00971 1.00514 0.996327 +0.996653 1.00384 1.00514 1.00416 1.00449 1.00318 1.00122 1.00286 +1.00416 1.0058 1.00808 1.00808 1.00873 1.00841 1.00971 1.0071 +1.00122 0.995347 0.98849 0.98 0.966737 0.959789 0.954737 0.954737 +0.962947 0.980653 0.992408 1.00122 1.00514 1.00971 1.00971 0.996 +0.948421 0.849895 0.736211 0.633263 0.552421 0.48296 0.38072 0.31824 +0.291733 0.31256 0.373147 0.481067 0.534737 0.573263 0.602316 0.622526 +0.635789 0.640211 0.642105 0.645263 0.646526 0.647158 0.646526 0.644632 +0.645263 0.648421 0.656632 0.675579 0.705895 0.739368 0.757053 0.749474 +0.709053 0.646526 0.582737 0.524 0.435627 0.342853 0.28984 0.257653 +0.2444 0.23872 0.231147 0.229253 0.216 0.000986667 0.216 0.217893 +0.000993333 0.00098 0.00094 0.000926667 0.00094 0.000953333 0.000946667 0.000933333 +0.00096 0.00096 0.000986667 0.000953333 0.000926667 0.000926667 0.000926667 0.000913333 +0.000913333 0.000933333 0.000933333 0.000926667 0.00092 0.000933333 0.00094 0.00094 +0.000946667 0.000926667 0.000906667 0.000913333 0.000926667 0.000926667 0.000946667 0.000946667 +0.000926667 0.000913333 0.000926667 0.000926667 0.000926667 0.00094 0.000946667 0.000946667 +0.000946667 0.000933333 0.000933333 0.00094 0.000966667 0.000946667 0.000953333 0.00096 +0.000946667 0.00094 0.00096 0.000966667 0.000953333 0.00094 0.000946667 0.000953333 +0.000973333 0.000986667 0.00098 0.00098 0.000966667 0.00098 0.000993333 0.00098 +0.000986667 0.000986667 0.000986667 0.00098 0.000906667 0.000906667 0.000846667 0.000853333 +0.000846667 0.00084 0.000846667 0.00082 0.000813333 0.000833333 0.000866667 0.000826667 +0.0008 0.00094 0.433733 0.670526 0.707789 0.532842 0.310667 0.253867 +0.23872 0.234933 0.223573 0.000993333 0.216 0.000986667 0.000966667 0.000973333 +0.000953333 0.000913333 0.00092 0.00096 0.000986667 0.00096 0.000953333 0.000966667 +0.000953333 0.00096 0.000946667 0.00094 0.000966667 0.000953333 0.000926667 0.00092 +0.00092 0.00092 0.0009 0.000873333 0.000886667 0.0009 0.00092 0.00092 +0.000893333 0.000893333 0.00088 0.00088 0.00088 0.000886667 0.0009 0.000913333 +0.000893333 0.000893333 0.000906667 0.00092 0.0009 0.0009 0.000926667 0.000893333 +0.00088 0.000906667 0.000906667 0.000913333 0.0009 0.000873333 0.0009 0.000933333 +0.000913333 0.00092 0.000926667 0.0009 0.0009 0.0009 0.00092 0.000906667 +0.000906667 0.000926667 0.000933333 0.00094 0.000933333 0.217893 0.22736 0.248187 +0.27848 0.31824 0.37504 0.490533 0.542316 0.597263 0.652842 0.693895 +0.713474 0.707789 0.688211 0.662947 0.643368 0.630105 0.627579 0.633895 +0.636421 0.636421 0.638316 0.640842 0.642105 0.625684 0.584632 0.549895 +0.534105 0.530947 0.532842 0.544211 0.573263 0.582105 0.566947 0.539789 +0.500632 0.384507 0.291733 0.23872 0.000986667 0.000946667 0.22168 0.282267 +0.35232 0.422373 0.521474 0.604211 0.725474 0.860632 0.961053 0.996653 +1.00514 1.00286 0.99502 0.986531 0.977474 0.961053 0.953474 0.957895 +0.962947 0.965474 0.967368 0.968632 0.968 0.966105 0.967368 0.977474 +0.986531 0.993388 1.0022 1.00645 1.00776 1.00906 1.0071 1.00514 +1.00612 1.00873 1.00678 1.00645 1.00547 1.00122 0.999918 0.998939 +0.998939 0.997959 0.997633 0.998939 1.00024 1.0009 1.0022 1.00384 +1.00449 1.00416 1.00547 1.00645 1.00873 1.00743 1.00612 1.00449 +1.0058 1.00612 1.00612 1.0058 1.00841 1.01069 1.00971 1.00841 +1.00645 1.00612 1.00547 1.00678 1.012 1.01592 1.01722 1.01788 +1.01624 1.01363 1.01331 1.012 1.00906 1.00906 1.00841 1.00645 +1.00776 1.012 1.01265 1.01004 1.00906 1.00808 1.00645 1.00645 +1.00612 1.00482 1.00449 1.0058 1.00678 1.00416 1.00253 1.00449 +1.00906 1.01167 1.00873 1.00514 1.00678 1.00776 1.00939 1.01069 +1.01069 1.01167 1.012 1.01298 1.01363 1.01233 1.00906 1.00776 +1.01037 1.01004 1.00612 1.00482 1.00906 1.00776 1.00286 1.00024 +0.999918 1.00188 0.998939 0.998286 0.992082 0.973053 0.968632 0.985878 +0.997959 1.00318 1.00808 1.01102 1.01004 1.00776 1.00873 1.00873 +1.00547 0.997306 0.994041 0.997306 1.00188 1.0071 1.00547 0.992735 +0.98098 0.977474 0.981306 0.98098 0.985224 0.995347 0.998286 0.997959 +1.00416 1.0058 0.997959 0.990449 0.994694 1.00024 1.00416 1.01004 +1.00808 1.00057 0.994041 0.992408 0.993714 1.00057 1.00612 1.00971 +1.00906 1.00612 1.00678 1.01004 1.01167 1.00906 1.00939 1.012 +1.01331 1.01233 1.01363 1.01167 1.012 1.01331 1.01135 1.01069 +1.01331 1.01102 1.00971 1.01167 1.01233 1.01233 1.01135 1.01069 +1.01233 1.01167 1.01135 1.012 1.012 1.01396 1.01298 1.01429 +1.01494 1.01429 1.01363 1.01004 1.00971 1.01102 1.01265 1.01527 +1.01461 1.01363 1.01429 1.0169 1.01657 1.01461 1.01559 1.01559 +1.01461 1.01429 1.01265 1.00939 1.0058 1.00351 1.00416 1.00678 +1.00808 1.00939 1.00873 1.01004 1.01037 1.00939 1.00743 1.00024 +0.993714 0.994694 0.996653 0.998939 1.0009 1.00188 1.00384 1.0058 +1.00612 1.00808 1.01069 1.00971 1.00743 1.00678 1.00449 0.997959 +0.98849 0.981959 0.975579 0.968 0.957895 0.950947 0.955368 0.969263 +0.986204 0.998939 1.00808 1.012 1.01069 1.00188 0.972421 0.882105 +0.767158 0.654105 0.563789 0.505684 0.40344 0.3296 0.31256 0.34664 +0.418587 0.507579 0.548 0.585263 0.614316 0.633263 0.642105 0.646526 +0.646526 0.645895 0.645895 0.648421 0.650947 0.652842 0.653474 0.657263 +0.674316 0.704632 0.737474 0.760211 0.760842 0.733684 0.680632 0.613684 +0.546737 0.473493 0.365573 0.304987 0.265227 0.246293 0.231147 0.000993333 +0.000986667 0.000973333 0.000953333 0.000953333 0.00094 0.000946667 0.000953333 0.000946667 +0.00094 0.000966667 0.000933333 0.000906667 0.000913333 0.00092 0.00092 0.000913333 +0.00092 0.00092 0.00094 0.000946667 0.000946667 0.00094 0.000926667 0.00092 +0.00092 0.000926667 0.00092 0.0009 0.000893333 0.0009 0.000906667 0.0009 +0.00092 0.00094 0.000913333 0.000893333 0.000913333 0.000913333 0.000913333 0.000906667 +0.0009 0.000906667 0.000913333 0.000926667 0.00092 0.000926667 0.000946667 0.00092 +0.000926667 0.00094 0.000933333 0.000946667 0.00096 0.000946667 0.000946667 0.00096 +0.00096 0.000953333 0.00096 0.000993333 0.000973333 0.000966667 0.00096 0.000966667 +0.000946667 0.000966667 0.00098 0.000986667 0.000973333 0.000986667 0.216 0.219787 +0.219787 0.219787 0.22168 0.223573 0.000873333 0.000853333 0.00082 0.00084 +0.000846667 0.000826667 0.000826667 0.000806667 0.000826667 0.000833333 0.000833333 0.0008 +0.00084 0.000933333 0.401547 0.656632 0.712842 0.546737 0.314453 0.25576 +0.23304 0.22168 0.217893 0.219787 0.22168 0.216 0.000953333 0.000946667 +0.000933333 0.000933333 0.000933333 0.000926667 0.000953333 0.00096 0.000946667 0.00092 +0.000933333 0.00092 0.00092 0.00096 0.000966667 0.00094 0.00094 0.000933333 +0.00094 0.00094 0.000926667 0.000886667 0.000886667 0.000906667 0.00092 0.0009 +0.000866667 0.000873333 0.000906667 0.000913333 0.000906667 0.00092 0.000926667 0.00092 +0.00092 0.000933333 0.000933333 0.000913333 0.000906667 0.00092 0.00094 0.000926667 +0.00092 0.00092 0.000946667 0.00096 0.00092 0.000906667 0.000933333 0.000926667 +0.00092 0.000933333 0.000926667 0.000906667 0.000926667 0.000933333 0.000953333 0.000946667 +0.000946667 0.000953333 0.000966667 0.00098 0.000966667 0.000993333 0.22168 0.23304 +0.2444 0.2444 0.257653 0.276587 0.31824 0.37504 0.490533 0.541053 +0.594737 0.655368 0.698316 0.724211 0.721684 0.700842 0.68 0.657263 +0.644 0.635789 0.640211 0.643368 0.640211 0.630105 0.609263 0.585263 +0.559368 0.541684 0.538526 0.546737 0.568842 0.587789 0.607368 0.618105 +0.600421 0.563158 0.519579 0.433733 0.348533 0.280373 0.248187 0.240613 +0.25576 0.304987 0.393973 0.5 0.552421 0.650316 0.782947 0.902316 +0.981633 1.00351 1.00808 1.00318 0.99502 0.984898 0.970526 0.959158 +0.958526 0.960421 0.961684 0.962947 0.962316 0.961684 0.962316 0.962316 +0.967368 0.978737 0.987184 0.994694 1.00057 1.00547 1.00482 1.00449 +1.00449 1.00482 1.00514 1.0058 1.00351 1.00253 1.00253 1.00351 +1.0022 1.00122 0.997306 0.996 0.996 0.997306 0.998939 1.00122 +1.00188 1.00318 1.00384 1.00482 1.00449 1.00449 1.00384 1.00351 +1.00351 1.00482 1.00482 1.00514 1.00612 1.00743 1.00743 1.00612 +1.00743 1.00939 1.00743 1.0071 1.01037 1.01461 1.01494 1.01363 +1.01037 1.00939 1.00939 1.00776 1.00841 1.00873 1.00743 1.00776 +1.01069 1.01135 1.00841 1.00776 1.00906 1.00808 1.00678 1.00514 +1.00155 1.00122 1.00351 1.00547 1.00645 1.0022 1.00318 1.00514 +1.00906 1.01037 1.00808 1.00808 1.01037 1.00873 1.00971 1.01102 +1.00971 1.00971 1.00906 1.00939 1.01037 1.01037 1.00841 1.00841 +1.00971 1.00841 1.0058 1.00612 1.00808 1.00612 1.00449 1.00416 +1.00449 1.00416 0.998612 0.997306 0.988816 0.966105 0.956 0.973684 +0.989469 1.00024 1.00776 1.00906 1.00873 1.00776 1.00906 1.00645 +1.00351 0.998286 0.996 0.998286 1.00482 1.00873 1.00645 0.99698 +0.982939 0.978737 0.98751 0.990122 0.988816 0.992735 0.994367 0.996 +1.00416 1.00482 0.996653 0.988816 0.992408 0.999918 1.0058 1.00939 +1.00057 0.986204 0.974316 0.973684 0.982939 0.993388 1.00057 1.00645 +1.00743 1.0058 1.00678 1.00939 1.01135 1.01167 1.01102 1.01102 +1.01102 1.01233 1.01624 1.01592 1.01592 1.01755 1.01592 1.01363 +1.01527 1.01265 1.01167 1.01461 1.01429 1.01363 1.01167 1.00971 +1.01167 1.012 1.01167 1.01102 1.01037 1.012 1.01331 1.01494 +1.01494 1.01396 1.01494 1.01167 1.00841 1.01069 1.01396 1.01624 +1.01527 1.01396 1.01461 1.01527 1.01559 1.01233 1.01233 1.01461 +1.01396 1.01233 1.01004 1.00743 1.00841 1.00645 1.00482 1.00678 +1.00939 1.00939 1.01037 1.01135 1.00906 1.00808 1.00547 0.998286 +0.990776 0.990122 0.99502 1.00024 1.00318 1.0058 1.00776 1.00841 +1.0071 1.00645 1.00808 1.0058 1.00122 0.996327 0.990122 0.984571 +0.978105 0.970526 0.967368 0.964211 0.959789 0.962947 0.98 0.990776 +1.00188 1.00841 1.00906 1.0022 0.980327 0.900421 0.794947 0.680632 +0.587789 0.522737 0.43184 0.36368 0.342853 0.378827 0.467813 0.527789 +0.562526 0.592211 0.618737 0.638316 0.649053 0.651579 0.655368 0.654105 +0.652842 0.653474 0.652211 0.653474 0.660421 0.674947 0.698316 0.730526 +0.758947 0.774737 0.760842 0.712211 0.644 0.571368 0.512632 0.40912 +0.320133 0.274693 0.251973 0.242507 0.231147 0.225467 0.225467 0.217893 +0.000966667 0.000946667 0.00094 0.000933333 0.00092 0.00094 0.000926667 0.000913333 +0.000906667 0.000933333 0.00092 0.000906667 0.000893333 0.000906667 0.000926667 0.000913333 +0.0009 0.000906667 0.000913333 0.000926667 0.000926667 0.000926667 0.000926667 0.000933333 +0.000933333 0.000946667 0.000946667 0.000926667 0.00092 0.000933333 0.00094 0.00092 +0.00094 0.000966667 0.00094 0.00092 0.000933333 0.00092 0.00092 0.000933333 +0.00092 0.000926667 0.00094 0.000953333 0.00094 0.000946667 0.000973333 0.000946667 +0.000966667 0.00098 0.00096 0.00098 0.000973333 0.000966667 0.000953333 0.00096 +0.000986667 0.000966667 0.00096 0.000986667 0.000993333 0.000986667 0.000966667 0.00096 +0.000946667 0.000946667 0.000973333 0.00098 0.000966667 0.00096 0.000953333 0.000966667 +0.000993333 0.000993333 0.217893 0.22168 0.00088 0.000866667 0.00086 0.00086 +0.000853333 0.000833333 0.000826667 0.00082 0.000853333 0.00084 0.000786667 0.000813333 +0.000893333 0.0009 0.344747 0.632 0.720421 0.570105 0.333387 0.25576 +0.22168 0.000986667 0.217893 0.217893 0.000986667 0.000973333 0.00096 0.000933333 +0.000926667 0.00096 0.000953333 0.00094 0.000966667 0.00096 0.000926667 0.000946667 +0.00096 0.00094 0.000953333 0.000973333 0.000946667 0.000933333 0.000926667 0.0009 +0.00092 0.000906667 0.000906667 0.00088 0.00088 0.000886667 0.0009 0.000893333 +0.000886667 0.000906667 0.000926667 0.000913333 0.00092 0.00092 0.000913333 0.000913333 +0.000946667 0.00096 0.000953333 0.000926667 0.00094 0.000953333 0.000946667 0.000946667 +0.00092 0.00092 0.00096 0.000966667 0.000946667 0.000933333 0.000913333 0.000913333 +0.000913333 0.00092 0.000926667 0.00092 0.000906667 0.00092 0.00096 0.000953333 +0.000946667 0.000953333 0.000986667 0.216 0.000973333 0.216 0.225467 0.22168 +0.22168 0.223573 0.223573 0.23872 0.248187 0.270907 0.286053 0.320133 +0.376933 0.486747 0.542316 0.599158 0.657895 0.702105 0.728632 0.731158 +0.712211 0.688211 0.666737 0.654737 0.645263 0.639579 0.633895 0.621895 +0.608632 0.599158 0.596 0.590947 0.581474 0.578947 0.606737 0.649684 +0.662316 0.644632 0.613053 0.578316 0.542316 0.505053 0.4148 0.322027 +0.270907 0.270907 0.31256 0.38072 0.44888 0.520842 0.591579 0.693895 +0.818316 0.930737 0.990449 1.00416 1.00482 0.999592 0.990122 0.978737 +0.968 0.961053 0.956632 0.957263 0.956 0.959158 0.962316 0.962316 +0.966105 0.970526 0.973053 0.976842 0.985878 0.994367 1.00024 1.00547 +1.00776 1.00482 1.00482 1.00612 1.00612 1.00351 1.00188 1.00286 +1.00188 1.00122 0.999592 0.998939 0.996653 0.99698 0.997633 0.997633 +1.00122 1.00318 1.00286 1.00188 1.0022 1.00318 1.00514 1.00645 +1.00645 1.00514 1.00514 1.0058 1.00743 1.00971 1.00808 1.00743 +1.00808 1.00939 1.00971 1.00547 1.00286 1.0071 1.01037 1.01135 +1.01102 1.01298 1.01233 1.012 1.01004 1.00808 1.0058 1.00743 +1.01004 1.00939 1.00808 1.00971 1.00971 1.0071 1.00612 1.00384 +1.0022 1.0058 1.00841 1.01037 1.00808 1.00514 1.00776 1.00906 +1.01167 1.01004 1.0071 1.00743 1.00841 1.00776 1.00939 1.00971 +1.00971 1.00808 1.00808 1.01004 1.00971 1.00776 1.00547 1.00776 +1.00873 1.00645 1.00678 1.00743 1.00743 1.00514 1.00514 1.00482 +1.00514 1.00253 0.998939 0.997306 0.987184 0.965474 0.950316 0.954105 +0.973684 0.992408 1.00547 1.01004 1.00971 1.00841 1.01135 1.00971 +1.00776 1.00286 0.997959 0.998939 1.00449 1.00743 1.00547 0.998612 +0.989143 0.987184 0.998286 1.00384 0.996327 0.988163 0.98751 0.992408 +1.00122 1.00318 0.994694 0.988163 0.990122 0.997306 1.00384 1.00351 +0.989143 0.962316 0.946526 0.950947 0.964211 0.981959 0.993061 1.00384 +1.0058 1.00384 1.00612 1.00678 1.00743 1.00841 1.00841 1.01037 +1.012 1.01233 1.01363 1.01233 1.01167 1.01331 1.01396 1.01167 +1.01298 1.012 1.01167 1.01429 1.01559 1.01396 1.01167 1.01037 +1.01069 1.01004 1.01037 1.01069 1.01102 1.01135 1.012 1.01396 +1.01461 1.01331 1.01396 1.01265 1.01233 1.01298 1.01233 1.012 +1.01494 1.01494 1.01298 1.01331 1.01298 1.01233 1.01265 1.01363 +1.01069 1.00743 1.00841 1.00678 1.00743 1.00873 1.00645 1.01004 +1.01135 1.00971 1.01102 1.00971 1.00873 1.0058 0.998612 0.992082 +0.991102 0.99502 1.00122 1.00612 1.00645 1.0071 1.00776 1.00808 +1.00776 1.00547 1.00253 0.998286 0.992082 0.983592 0.975579 0.969895 +0.966737 0.963579 0.962316 0.971789 0.981306 0.989143 0.999265 1.00678 +1.01004 1.0071 0.98849 0.919368 0.807579 0.693895 0.602947 0.536 +0.473493 0.40344 0.388293 0.43752 0.510105 0.549263 0.587158 0.614316 +0.628842 0.635789 0.645263 0.652211 0.654737 0.656632 0.65979 0.661053 +0.662947 0.667368 0.673684 0.688211 0.717895 0.754526 0.776632 0.770947 +0.738105 0.677474 0.604842 0.536 0.441307 0.337173 0.282267 0.251973 +0.229253 0.223573 0.22168 0.217893 0.000973333 0.000973333 0.000986667 0.00098 +0.00096 0.000946667 0.000946667 0.000933333 0.00092 0.000953333 0.00096 0.00094 +0.000933333 0.00094 0.000933333 0.00094 0.000893333 0.000893333 0.000913333 0.00092 +0.0009 0.000906667 0.000933333 0.000926667 0.000933333 0.000946667 0.000946667 0.00094 +0.000926667 0.00094 0.000946667 0.00094 0.000946667 0.000946667 0.000926667 0.000913333 +0.000913333 0.00092 0.00092 0.000906667 0.000893333 0.000873333 0.000886667 0.000906667 +0.000893333 0.000893333 0.000906667 0.000913333 0.00094 0.000926667 0.000933333 0.00094 +0.000946667 0.00096 0.000946667 0.000953333 0.00098 0.000973333 0.000953333 0.00096 +0.00098 0.00098 0.000973333 0.000973333 0.000993333 0.22168 0.217893 0.216 +0.000986667 0.00098 0.217893 0.217893 0.217893 0.000993333 0.000973333 0.000986667 +0.000993333 0.216 0.22168 0.223573 0.000926667 0.000893333 0.000886667 0.000853333 +0.000846667 0.00082 0.000813333 0.000806667 0.000813333 0.000753333 0.00074 0.000846667 +0.000873333 0.00082 0.287947 0.595368 0.719789 0.604211 0.376933 0.251973 +0.225467 0.217893 0.22168 0.219787 0.000986667 0.000973333 0.217893 0.000986667 +0.000986667 0.000986667 0.000986667 0.00098 0.00098 0.000966667 0.000953333 0.000986667 +0.000973333 0.000973333 0.000966667 0.000946667 0.000946667 0.000953333 0.00094 0.000906667 +0.000913333 0.00088 0.00088 0.000866667 0.000873333 0.000893333 0.000906667 0.000913333 +0.000886667 0.000886667 0.000893333 0.000906667 0.000913333 0.000913333 0.000906667 0.000893333 +0.0009 0.000933333 0.000926667 0.000906667 0.000926667 0.000913333 0.000906667 0.00092 +0.000906667 0.000893333 0.000926667 0.000953333 0.00094 0.000893333 0.000866667 0.000906667 +0.000913333 0.000913333 0.000933333 0.0009 0.000893333 0.000906667 0.00096 0.000953333 +0.000933333 0.000946667 0.000953333 0.000953333 0.000933333 0.000966667 0.00098 0.000966667 +0.000986667 0.000966667 0.000993333 0.219787 0.225467 0.217893 0.234933 0.246293 +0.259547 0.27848 0.320133 0.36936 0.4716 0.539789 0.601053 0.661684 +0.705895 0.733684 0.741263 0.722316 0.696421 0.669895 0.655368 0.645263 +0.640211 0.638947 0.635158 0.630105 0.617474 0.606105 0.620632 0.658526 +0.683158 0.680632 0.671158 0.654105 0.627579 0.599158 0.565053 0.520842 +0.435627 0.34096 0.280373 0.27848 0.333387 0.411013 0.49432 0.538526 +0.612421 0.724211 0.848 0.947789 0.994367 1.00645 1.00514 0.998939 +0.993061 0.986204 0.978737 0.969895 0.961053 0.958526 0.959158 0.962316 +0.964211 0.960421 0.960421 0.968 0.974316 0.979368 0.986204 0.99698 +1.00351 1.0058 1.00645 1.00547 1.00645 1.0071 1.0071 1.00449 +1.00318 1.00482 1.00547 1.00318 1.00253 1.00188 1.00024 0.996327 +0.996327 1.00122 1.00416 1.00514 1.00482 1.00384 1.00482 1.00678 +1.00808 1.00743 1.0071 1.00743 1.01069 1.012 1.01004 1.01069 +1.00808 1.0058 1.00612 1.00318 0.999265 0.999592 1.00612 1.01102 +1.01167 1.01167 1.00971 1.00971 1.00906 1.00873 1.00841 1.012 +1.01298 1.01265 1.01167 1.00971 1.00645 1.00514 1.00645 1.0058 +1.0071 1.00645 1.0071 1.00776 1.00449 1.00384 1.00645 1.00971 +1.01135 1.00808 1.0071 1.00906 1.01167 1.01167 1.01265 1.01135 +1.01069 1.00939 1.00971 1.01167 1.01037 1.00808 1.00743 1.00906 +1.00873 1.00645 1.00808 1.00939 1.00645 1.00286 1.00351 1.00449 +1.00547 1.00318 1.0022 0.999592 0.988816 0.968 0.949053 0.944 +0.954737 0.98098 0.994367 1.00155 1.00384 1.00743 1.01004 1.00776 +1.00547 0.998612 0.994694 0.994041 0.993388 0.996327 0.997633 0.99502 +0.992082 1.00024 1.01331 1.01951 1.00873 0.993388 0.988816 0.990449 +0.996 0.995347 0.985878 0.979368 0.984245 0.994041 1.00024 0.997633 +0.982939 0.959789 0.948421 0.949053 0.952211 0.966737 0.984245 0.996 +1.0022 1.00384 1.00645 1.0058 1.00547 1.00612 1.00612 1.01037 +1.01331 1.01167 1.01102 1.01135 1.01135 1.01069 1.01135 1.01037 +1.01102 1.012 1.01331 1.01298 1.01298 1.01396 1.01363 1.01167 +1.01004 1.01004 1.01004 1.012 1.01461 1.01429 1.01363 1.01494 +1.01527 1.01363 1.01363 1.01429 1.01461 1.01429 1.01331 1.01167 +1.01233 1.01363 1.01233 1.01135 1.01298 1.01624 1.01722 1.01527 +1.01265 1.01135 1.01004 1.00906 1.00808 1.01135 1.01265 1.01363 +1.01461 1.01135 1.01069 1.00841 1.00384 0.999592 0.996 0.995673 +0.998939 1.00351 1.0058 1.00678 1.00612 1.00514 1.00514 1.00547 +1.00384 0.996653 0.988816 0.983592 0.979368 0.968632 0.961684 0.957895 +0.957895 0.959789 0.970526 0.986857 0.996327 1.00416 1.01004 1.00939 +0.997633 0.956632 0.854947 0.726737 0.612421 0.539789 0.49432 0.43184 +0.4148 0.469707 0.528421 0.570737 0.604211 0.628842 0.647158 0.655368 +0.653474 0.651579 0.656632 0.660421 0.66421 0.668 0.669263 0.677474 +0.694526 0.719789 0.748211 0.770316 0.781684 0.764632 0.707789 0.633895 +0.559368 0.492427 0.37504 0.299307 0.257653 0.23872 0.22736 0.219787 +0.000986667 0.000986667 0.216 0.00098 0.000933333 0.000933333 0.00096 0.00098 +0.000953333 0.000933333 0.00094 0.000913333 0.000906667 0.000926667 0.000946667 0.00094 +0.000926667 0.00094 0.000926667 0.000926667 0.00088 0.000873333 0.000886667 0.000886667 +0.000873333 0.00086 0.000886667 0.000886667 0.0009 0.000913333 0.000933333 0.000926667 +0.0009 0.000926667 0.000933333 0.000926667 0.000926667 0.00094 0.00094 0.000946667 +0.00092 0.000926667 0.000933333 0.000946667 0.00092 0.000893333 0.000913333 0.00092 +0.00088 0.0009 0.000886667 0.000886667 0.000906667 0.000913333 0.000913333 0.00092 +0.00092 0.000946667 0.00094 0.00094 0.000973333 0.000966667 0.000946667 0.00096 +0.000966667 0.000953333 0.000966667 0.000946667 0.00096 0.000993333 0.217893 0.219787 +0.217893 0.000993333 0.217893 0.217893 0.223573 0.223573 0.22168 0.223573 +0.223573 0.229253 0.234933 0.23304 0.00088 0.000866667 0.000873333 0.000853333 +0.00082 0.0008 0.000793333 0.000806667 0.000806667 0.00078 0.000826667 0.00088 +0.000826667 0.00082 0.25576 0.552421 0.707789 0.647789 0.456453 0.257653 +0.231147 0.223573 0.217893 0.000973333 0.000946667 0.00096 0.216 0.000966667 +0.000933333 0.000913333 0.000926667 0.00094 0.000933333 0.000926667 0.000906667 0.00092 +0.00094 0.00092 0.000906667 0.00092 0.000933333 0.000926667 0.000906667 0.000893333 +0.000913333 0.000886667 0.000853333 0.00086 0.00088 0.000893333 0.000906667 0.000893333 +0.00088 0.00088 0.000873333 0.000906667 0.000893333 0.0009 0.000913333 0.00088 +0.000866667 0.000886667 0.000893333 0.000893333 0.000906667 0.000906667 0.000913333 0.00092 +0.000906667 0.000906667 0.000933333 0.000933333 0.0009 0.000853333 0.000866667 0.00092 +0.0009 0.0009 0.00092 0.00092 0.000913333 0.000933333 0.000953333 0.000946667 +0.000926667 0.000946667 0.00096 0.00094 0.000926667 0.000946667 0.000933333 0.000933333 +0.000953333 0.000973333 0.00098 0.000986667 0.000973333 0.000993333 0.22168 0.22736 +0.219787 0.23304 0.242507 0.26144 0.27848 0.32392 0.378827 0.473493 +0.539158 0.597895 0.662947 0.714105 0.738105 0.746947 0.724211 0.701474 +0.676211 0.664842 0.657263 0.651579 0.647789 0.640842 0.642105 0.656 +0.668632 0.674316 0.680632 0.677474 0.668632 0.656 0.637053 0.609263 +0.571368 0.524632 0.433733 0.327707 0.287947 0.310667 0.373147 0.4432 +0.506316 0.549263 0.633263 0.750737 0.874526 0.968632 0.999265 1.00743 +1.0071 1.00384 0.997959 0.990122 0.982286 0.970526 0.964211 0.964211 +0.959158 0.952842 0.954105 0.959789 0.962947 0.964211 0.971789 0.983265 +0.991755 0.998286 1.00384 1.00645 1.00482 1.00547 1.00514 1.00449 +1.00416 1.0058 1.00678 1.00514 1.00514 1.00547 1.00384 0.997959 +0.992735 0.992408 0.997306 1.0022 1.00286 1.00384 1.0058 1.00612 +1.00286 1.00416 1.00612 1.00906 1.01102 1.00906 1.00939 1.01004 +1.00873 1.00482 1.00351 1.00482 1.00318 0.999918 1.00155 1.00776 +1.01135 1.00939 1.00743 1.00743 1.00841 1.00939 1.01069 1.012 +1.01298 1.01233 1.01102 1.01037 1.00776 1.00645 1.00612 1.00906 +1.01069 1.00808 1.00808 1.00776 1.00645 1.00906 1.01037 1.01167 +1.01102 1.00971 1.01004 1.01265 1.01331 1.01167 1.01265 1.01037 +1.00971 1.01102 1.01069 1.01135 1.00971 1.00808 1.00743 1.00971 +1.01004 1.00841 1.00939 1.00808 1.00482 1.00318 1.00384 1.00547 +1.00547 1.00155 0.999265 0.995673 0.987837 0.969263 0.950947 0.946526 +0.949684 0.959158 0.971158 0.982286 0.992082 1.00416 1.0071 1.0022 +0.995673 0.985878 0.981959 0.980653 0.979368 0.985551 0.993388 0.998286 +1.00286 1.01233 1.0182 1.02082 1.01527 1.00286 0.992082 0.985551 +0.985551 0.983592 0.973053 0.971158 0.982939 0.993061 0.997959 0.99502 +0.986204 0.98 0.972421 0.967368 0.965474 0.969263 0.974947 0.983918 +0.992735 0.998612 1.0022 1.00384 1.00612 1.00873 1.00971 1.01102 +1.01265 1.01265 1.01363 1.01396 1.01494 1.01363 1.01265 1.01004 +1.00776 1.00971 1.01037 1.00743 1.00873 1.01102 1.01331 1.01167 +1.01004 1.01102 1.01069 1.01102 1.01265 1.01331 1.01298 1.01298 +1.01363 1.01429 1.01494 1.01657 1.01592 1.01559 1.01527 1.01396 +1.012 1.01135 1.012 1.01331 1.01429 1.01559 1.01396 1.01298 +1.012 1.01037 1.00971 1.01069 1.01363 1.01429 1.01363 1.01135 +1.01167 1.012 1.00906 1.00612 1.00155 1.00024 1.00286 1.00482 +1.00776 1.01069 1.00939 1.00808 1.00906 1.00645 1.00351 0.998939 +0.990776 0.981633 0.974947 0.972421 0.970526 0.965474 0.958526 0.961053 +0.969263 0.981633 0.992408 1.00057 1.00482 1.00906 1.00482 0.98098 +0.891579 0.771579 0.654105 0.563158 0.506947 0.4432 0.439413 0.5 +0.535368 0.577684 0.615579 0.640842 0.652842 0.657263 0.660421 0.65979 +0.659158 0.662947 0.669263 0.673684 0.681263 0.694526 0.712211 0.74 +0.773474 0.788 0.775368 0.734316 0.667368 0.592211 0.524 0.416693 +0.316347 0.26144 0.23872 0.234933 0.229253 0.223573 0.217893 0.217893 +0.219787 0.217893 0.216 0.000966667 0.000926667 0.000933333 0.000953333 0.00098 +0.000966667 0.00094 0.000926667 0.000913333 0.00092 0.00092 0.000933333 0.000933333 +0.000926667 0.00094 0.000926667 0.00092 0.000893333 0.000893333 0.0009 0.0009 +0.0009 0.000893333 0.000886667 0.000893333 0.000886667 0.000853333 0.000886667 0.000913333 +0.000886667 0.000893333 0.0009 0.000886667 0.000866667 0.000886667 0.00092 0.000906667 +0.00088 0.000886667 0.000886667 0.000886667 0.000886667 0.000873333 0.0009 0.0009 +0.000853333 0.000873333 0.000886667 0.000886667 0.000886667 0.0009 0.00092 0.000933333 +0.00092 0.000933333 0.00094 0.000946667 0.000966667 0.000966667 0.000953333 0.000953333 +0.00096 0.00096 0.000966667 0.00096 0.000953333 0.00094 0.00094 0.000973333 +0.216 0.00098 0.000986667 0.000993333 0.22168 0.22168 0.217893 0.217893 +0.217893 0.22736 0.229253 0.22736 0.00098 0.000973333 0.00096 0.0009 +0.000853333 0.000846667 0.000853333 0.00086 0.000826667 0.000833333 0.00088 0.000866667 +0.00078 0.0008 0.000993333 0.505684 0.674316 0.684421 0.527789 0.291733 +0.240613 0.223573 0.00098 0.00096 0.000973333 0.217893 0.217893 0.00096 +0.00094 0.000953333 0.000973333 0.00098 0.000966667 0.00096 0.000946667 0.00096 +0.000966667 0.00094 0.000946667 0.00096 0.000933333 0.000926667 0.00092 0.00094 +0.00094 0.000893333 0.00086 0.000866667 0.000886667 0.0009 0.000886667 0.000893333 +0.000906667 0.000913333 0.0009 0.000906667 0.000906667 0.000933333 0.000926667 0.0009 +0.00092 0.00092 0.000906667 0.000926667 0.000926667 0.000946667 0.000953333 0.000926667 +0.000926667 0.00094 0.00094 0.000933333 0.0009 0.000866667 0.000913333 0.000933333 +0.00092 0.00092 0.000926667 0.00092 0.00094 0.000933333 0.00094 0.00094 +0.00092 0.00094 0.00096 0.000953333 0.000933333 0.00094 0.000933333 0.00092 +0.000933333 0.000966667 0.00096 0.000953333 0.000986667 0.00098 0.000986667 0.216 +0.22168 0.000993333 0.223573 0.229253 0.242507 0.246293 0.259547 0.276587 +0.303093 0.36936 0.469707 0.539789 0.606737 0.669263 0.723579 0.747579 +0.756421 0.741263 0.717263 0.692 0.672421 0.661053 0.656632 0.658526 +0.658526 0.662947 0.663579 0.667368 0.671158 0.675579 0.672421 0.654737 +0.614947 0.577053 0.549263 0.517053 0.43752 0.361787 0.331493 0.34096 +0.382613 0.439413 0.512 0.567579 0.65979 0.779158 0.891579 0.969895 +0.997306 1.00547 1.0071 1.00286 0.996653 0.990776 0.984898 0.980327 +0.969263 0.957895 0.955368 0.952842 0.954105 0.961053 0.967368 0.971158 +0.982286 0.992408 0.999265 1.0009 1.00057 1.00155 1.00318 1.00482 +1.00514 1.00482 1.00482 1.00449 1.00514 1.0071 1.00612 1.00318 +0.998612 0.991102 0.989796 0.991755 0.993714 0.998286 1.00318 1.00024 +0.997633 0.998612 1.00286 1.0071 1.00678 1.00612 1.0058 1.00678 +1.0071 1.00678 1.01037 1.012 1.00939 1.00514 1.00384 1.00808 +1.00873 1.00645 1.00645 1.0071 1.00841 1.00906 1.00841 1.00971 +1.012 1.01004 1.00873 1.00939 1.00808 1.0071 1.0071 1.01037 +1.01004 1.00971 1.01102 1.00873 1.00873 1.01135 1.01004 1.00808 +1.00645 1.0071 1.00841 1.01135 1.01102 1.01037 1.01102 1.00776 +1.00841 1.00971 1.01069 1.01069 1.00939 1.00873 1.00743 1.00873 +1.00776 1.00645 1.00873 1.00906 1.00776 1.00514 1.00351 1.00482 +1.00384 1.00122 0.998939 0.996653 0.991102 0.980653 0.969263 0.963579 +0.961684 0.960421 0.962316 0.970526 0.981959 0.992735 0.99698 0.992735 +0.983918 0.969895 0.961053 0.961053 0.974947 0.989469 0.99698 1.00318 +1.01004 1.01461 1.01135 1.01233 1.012 1.0058 0.99502 0.988816 +0.989796 0.988163 0.982612 0.981633 0.98751 0.996 0.999918 1.00253 +1.00122 0.999918 0.999265 0.996653 0.995673 0.99502 0.991755 0.990776 +0.993061 0.992408 0.99502 0.997959 1.00024 1.00057 1.00318 1.0058 +1.01102 1.012 1.01004 1.00906 1.01265 1.01298 1.01069 1.00678 +1.00449 1.00776 1.00971 1.00906 1.00971 1.01069 1.01265 1.01102 +1.00906 1.01069 1.01135 1.01135 1.01167 1.01363 1.01363 1.01167 +1.01233 1.01331 1.01363 1.01396 1.01298 1.01298 1.01265 1.012 +1.01167 1.012 1.01265 1.01461 1.01298 1.00939 1.00971 1.01037 +1.01069 1.00906 1.00906 1.00971 1.01069 1.01069 1.01037 1.00808 +1.00743 1.00808 1.00612 1.00318 1.00318 1.00449 1.00645 1.00873 +1.01069 1.01233 1.01102 1.00743 1.00351 0.998286 0.991755 0.984245 +0.976211 0.970526 0.968632 0.967368 0.964842 0.964211 0.968632 0.981633 +0.989796 0.998939 1.00678 1.00678 1.00384 0.992082 0.933263 0.824 +0.699579 0.593474 0.529684 0.500632 0.48864 0.512632 0.546737 0.586526 +0.621895 0.646526 0.657263 0.663579 0.667368 0.666105 0.663579 0.664842 +0.670526 0.68 0.692 0.709053 0.738737 0.770947 0.788632 0.788632 +0.753263 0.692 0.614947 0.543579 0.45456 0.339067 0.27848 0.25576 +0.240613 0.229253 0.22168 0.22168 0.216 0.217893 0.216 0.000993333 +0.000993333 0.000993333 0.00098 0.000946667 0.00094 0.000953333 0.000926667 0.000933333 +0.000946667 0.000933333 0.00092 0.000893333 0.000893333 0.000906667 0.000906667 0.00092 +0.000913333 0.00094 0.000926667 0.000913333 0.000893333 0.000886667 0.000906667 0.000893333 +0.000893333 0.0009 0.000886667 0.0009 0.000893333 0.000866667 0.000873333 0.0009 +0.000893333 0.0009 0.0009 0.000893333 0.000866667 0.00088 0.0009 0.000893333 +0.00088 0.000893333 0.000886667 0.000886667 0.000886667 0.000873333 0.000893333 0.00088 +0.000853333 0.00084 0.000846667 0.000853333 0.000853333 0.000853333 0.00088 0.00092 +0.000893333 0.000886667 0.000913333 0.000933333 0.000933333 0.000913333 0.000906667 0.000913333 +0.000913333 0.00092 0.000933333 0.000953333 0.000966667 0.000946667 0.000933333 0.000933333 +0.00096 0.000966667 0.000953333 0.00098 0.000986667 0.000986667 0.000993333 0.216 +0.216 0.219787 0.22736 0.231147 0.253867 0.23304 0.000993333 0.00096 +0.00094 0.000913333 0.000926667 0.0009 0.000853333 0.000893333 0.00092 0.000846667 +0.00076 0.00076 0.0009 0.39208 0.622526 0.703368 0.588421 0.371253 +0.242507 0.000986667 0.000986667 0.217893 0.216 0.22168 0.219787 0.000993333 +0.000973333 0.00094 0.000973333 0.000993333 0.000966667 0.00096 0.000986667 0.000973333 +0.000946667 0.00096 0.00096 0.000953333 0.00094 0.000953333 0.000953333 0.00094 +0.00092 0.000886667 0.000873333 0.000886667 0.000893333 0.00092 0.000913333 0.00094 +0.00094 0.000946667 0.000953333 0.00094 0.000953333 0.00096 0.000933333 0.00092 +0.000946667 0.00094 0.00094 0.00094 0.00094 0.000933333 0.000946667 0.000893333 +0.000906667 0.00092 0.000906667 0.000906667 0.000913333 0.0009 0.00094 0.000926667 +0.000933333 0.000946667 0.000926667 0.00092 0.000926667 0.000953333 0.00096 0.00094 +0.000933333 0.00094 0.000966667 0.000953333 0.000926667 0.000933333 0.000933333 0.000926667 +0.000946667 0.00096 0.000953333 0.000973333 0.000966667 0.000953333 0.000966667 0.217893 +0.000993333 0.000973333 0.217893 0.219787 0.217893 0.223573 0.225467 0.231147 +0.242507 0.251973 0.282267 0.314453 0.382613 0.492427 0.551158 0.622526 +0.691368 0.743789 0.770947 0.772211 0.750737 0.723579 0.700211 0.683158 +0.675579 0.670526 0.666737 0.664842 0.665474 0.666105 0.670526 0.661053 +0.616211 0.577053 0.571368 0.569474 0.554316 0.531579 0.501895 0.42048 +0.367467 0.371253 0.412907 0.479173 0.526526 0.586526 0.678737 0.788 +0.891579 0.968632 0.996653 1.00547 1.00743 1.00612 1.00286 0.997306 +0.989796 0.981633 0.971158 0.963579 0.961684 0.962947 0.964842 0.967368 +0.976211 0.985224 0.990122 0.991755 0.991755 0.994367 0.998612 1.00318 +1.00384 1.00482 1.00318 1.00514 1.00743 1.00808 1.0071 1.00351 +1.00122 0.998939 0.99502 0.990449 0.989143 0.990122 0.990449 0.991102 +0.993061 0.996327 1.00253 1.0058 1.00873 1.01004 1.01069 1.01037 +1.01037 1.01102 1.01331 1.01135 1.00971 1.00776 1.00776 1.00873 +1.00645 1.00286 1.00155 1.00514 1.00743 1.00678 1.00645 1.01037 +1.01037 1.00678 1.00612 1.00743 1.00678 1.00612 1.0071 1.00873 +1.00808 1.00873 1.00939 1.00776 1.00841 1.00971 1.00841 1.00808 +1.00906 1.00939 1.00873 1.01037 1.00743 1.00808 1.00808 1.00808 +1.01069 1.01069 1.01233 1.01233 1.01135 1.01135 1.00971 1.01004 +1.00351 0.996653 0.997306 1.00057 1.00253 1.00155 1.0022 1.00253 +0.999592 0.999592 0.998612 0.998286 0.99502 0.992082 0.991102 0.991429 +0.991755 0.990122 0.986204 0.982286 0.975579 0.978737 0.982939 0.98098 +0.971789 0.970526 0.971789 0.975579 0.985551 0.994367 0.99502 0.997306 +1.0058 1.01167 1.00873 1.00841 1.00482 0.999592 0.995347 0.995673 +0.999592 0.997306 0.993061 0.993061 0.997633 1.00188 1.00514 1.00873 +1.00808 1.00808 1.00906 1.00808 1.00873 1.00841 1.0058 1.00482 +1.00351 1.00253 1.0022 1.00155 0.999265 0.996 0.995673 0.998612 +1.00547 1.00482 1.0022 1.00318 1.00906 1.01233 1.00939 1.00808 +1.00743 1.00776 1.01167 1.01298 1.01135 1.01102 1.01298 1.01167 +1.00906 1.01004 1.01233 1.01298 1.01167 1.01331 1.01396 1.01069 +1.01102 1.01363 1.01265 1.01265 1.01298 1.01298 1.012 1.01233 +1.01265 1.01363 1.01461 1.01331 1.01037 1.00808 1.00906 1.01004 +1.00939 1.01069 1.01135 1.01004 1.00906 1.01004 1.00906 1.00841 +1.0071 1.00678 1.0058 1.00841 1.01004 1.00841 1.00906 1.01069 +1.00971 1.00776 1.00482 0.997633 0.990122 0.984571 0.98 0.971789 +0.968632 0.968 0.968 0.968632 0.971158 0.983265 0.992735 0.999265 +1.00547 1.00939 1.00743 0.996 0.961053 0.866316 0.746947 0.642737 +0.565684 0.521474 0.513263 0.531579 0.563789 0.601684 0.636421 0.656632 +0.668 0.673053 0.669263 0.668632 0.670526 0.671789 0.675579 0.683789 +0.700842 0.729895 0.762105 0.791158 0.802526 0.784842 0.729263 0.647789 +0.569474 0.502526 0.36936 0.297413 0.259547 0.23872 0.225467 0.223573 +0.231147 0.22736 0.225467 0.217893 0.000953333 0.000973333 0.00098 0.000953333 +0.00094 0.00096 0.00096 0.00092 0.00092 0.000946667 0.000926667 0.000913333 +0.000926667 0.00092 0.000906667 0.000886667 0.000893333 0.000926667 0.00092 0.000906667 +0.000893333 0.000926667 0.00094 0.00094 0.000913333 0.000906667 0.00092 0.000913333 +0.000886667 0.000886667 0.00088 0.00088 0.000886667 0.000873333 0.000886667 0.000893333 +0.000913333 0.000926667 0.00094 0.000933333 0.0009 0.0009 0.00092 0.00092 +0.00092 0.00094 0.00092 0.000906667 0.000906667 0.000906667 0.000906667 0.0009 +0.000886667 0.000873333 0.000886667 0.0009 0.000886667 0.000886667 0.000906667 0.000933333 +0.000913333 0.00092 0.00094 0.00094 0.000953333 0.000953333 0.000953333 0.000946667 +0.000953333 0.000933333 0.000926667 0.000946667 0.000966667 0.000966667 0.000946667 0.00092 +0.000953333 0.00098 0.000953333 0.000966667 0.000946667 0.000953333 0.000986667 0.216 +0.000993333 0.000993333 0.216 0.22168 0.35232 0.28416 0.246293 0.217893 +0.000953333 0.000946667 0.00096 0.000906667 0.000893333 0.000933333 0.000906667 0.000826667 +0.000766667 0.000786667 0.0009 0.29552 0.56 0.693895 0.647158 0.501263 +0.2728 0.225467 0.223573 0.217893 0.000986667 0.216 0.00098 0.00094 +0.000926667 0.000913333 0.00092 0.000926667 0.000926667 0.000933333 0.000933333 0.00092 +0.00092 0.00096 0.000946667 0.00092 0.000926667 0.000926667 0.000913333 0.000906667 +0.000906667 0.000886667 0.00088 0.000906667 0.00092 0.00094 0.00092 0.000926667 +0.00092 0.000933333 0.00094 0.000913333 0.000933333 0.00092 0.0009 0.000906667 +0.000906667 0.00092 0.00094 0.000926667 0.000913333 0.000933333 0.00092 0.00088 +0.0009 0.000906667 0.0009 0.000906667 0.000893333 0.0009 0.000926667 0.000913333 +0.000926667 0.000933333 0.000933333 0.000913333 0.000913333 0.00094 0.000933333 0.00092 +0.00092 0.000933333 0.00094 0.000913333 0.000913333 0.000926667 0.000946667 0.00096 +0.000966667 0.00098 0.00098 0.000966667 0.000966667 0.00098 0.000993333 0.000986667 +0.00098 0.000986667 0.00098 0.216 0.000993333 0.22736 0.219787 0.22168 +0.225467 0.23872 0.246293 0.25576 0.263333 0.27848 0.31256 0.395867 +0.505053 0.561895 0.633263 0.702105 0.755789 0.781053 0.782316 0.763368 +0.735579 0.706526 0.685684 0.680632 0.673053 0.662316 0.662316 0.661684 +0.630737 0.595368 0.583368 0.585895 0.590316 0.585895 0.576421 0.554316 +0.523368 0.48296 0.43184 0.422373 0.43752 0.496213 0.534737 0.589684 +0.673053 0.779789 0.881474 0.953474 0.990449 1.00351 1.00873 1.00808 +1.00449 0.999265 0.992082 0.985878 0.980653 0.968632 0.961684 0.961053 +0.962947 0.971789 0.977474 0.980327 0.982286 0.983592 0.985224 0.989469 +0.996653 1.0022 1.00449 1.00449 1.00645 1.00449 1.00416 1.00514 +1.00678 1.00776 1.00482 1.00122 0.999918 0.994041 0.989469 0.989143 +0.994694 1.00188 1.00808 1.01037 1.01167 1.01298 1.01135 1.00841 +1.00939 1.012 1.012 1.01135 1.01102 1.00971 1.00808 1.00612 +1.00384 1.00122 1.0009 1.00547 1.00873 1.0071 1.00873 1.01069 +1.00873 1.00808 1.01037 1.01004 1.00841 1.0058 1.00678 1.00873 +1.01004 1.01004 1.00808 1.00678 1.00808 1.01037 1.00939 1.00971 +1.01135 1.00939 1.00939 1.00939 1.0071 1.01069 1.01037 1.01037 +1.01265 1.012 1.01265 1.01167 1.01298 1.01102 1.00776 1.00743 +0.998612 0.991102 0.991755 0.99698 0.999265 0.998939 1.00188 1.00057 +0.99698 0.997633 0.997306 0.999592 0.999918 1.00122 1.00188 1.00188 +1.00286 1.00122 0.993388 0.981633 0.968 0.968632 0.971158 0.973053 +0.976842 0.980653 0.982286 0.984245 0.985878 0.987184 0.987184 0.989796 +1.00024 1.00776 1.00645 1.00384 0.994694 0.988163 0.987184 0.989796 +0.995673 0.999265 1.00286 1.00449 1.00612 1.00645 1.0071 1.00841 +1.00645 1.00808 1.01102 1.01037 1.00971 1.01037 1.01037 1.01004 +1.00971 1.00841 1.00841 1.00678 1.00416 1.00286 1.00351 1.00384 +1.00482 1.00351 1.00318 1.00416 1.0071 1.00939 1.00841 1.00939 +1.01037 1.00971 1.01233 1.01396 1.01069 1.00906 1.01135 1.01265 +1.01167 1.01233 1.01298 1.01265 1.00971 1.01004 1.01233 1.012 +1.01037 1.012 1.01265 1.01363 1.01527 1.01363 1.01298 1.012 +1.012 1.01331 1.01167 1.01069 1.01004 1.01167 1.01167 1.012 +1.01167 1.01102 1.01167 1.01004 1.00808 1.00743 1.00645 1.0071 +1.00612 1.00514 1.00808 1.012 1.01233 1.01135 1.00939 1.00678 +1.00188 0.995673 0.989469 0.983265 0.978105 0.973684 0.972421 0.969895 +0.966105 0.969895 0.981306 0.98849 0.994041 1.00416 1.00906 1.00873 +1.00841 1.00057 0.975579 0.901053 0.789895 0.668632 0.590947 0.554316 +0.541684 0.548632 0.573895 0.607368 0.635789 0.656632 0.669263 0.674947 +0.676842 0.679368 0.68 0.681895 0.687579 0.703368 0.724211 0.752632 +0.784211 0.805684 0.795579 0.751368 0.686316 0.605474 0.525263 0.4148 +0.314453 0.26144 0.242507 0.236827 0.23304 0.229253 0.22168 0.223573 +0.231147 0.219787 0.217893 0.219787 0.216 0.00098 0.00098 0.000953333 +0.00094 0.00094 0.00094 0.000906667 0.000893333 0.000946667 0.00094 0.00092 +0.000926667 0.000926667 0.00092 0.000913333 0.000913333 0.000926667 0.000926667 0.0009 +0.000873333 0.000886667 0.000913333 0.000933333 0.000906667 0.00092 0.000933333 0.000933333 +0.000906667 0.0009 0.0009 0.000906667 0.000906667 0.000906667 0.000913333 0.000906667 +0.000913333 0.000926667 0.00094 0.000933333 0.000926667 0.000926667 0.000953333 0.00094 +0.000933333 0.000946667 0.000946667 0.000913333 0.00092 0.000926667 0.000926667 0.000913333 +0.0009 0.00088 0.000886667 0.000906667 0.000913333 0.000893333 0.0009 0.000926667 +0.000926667 0.000953333 0.000966667 0.000933333 0.000926667 0.000946667 0.000946667 0.000933333 +0.000953333 0.000966667 0.000946667 0.00094 0.000953333 0.000973333 0.000966667 0.000946667 +0.00096 0.000993333 0.216 0.219787 0.000986667 0.00098 0.217893 0.216 +0.000986667 0.216 0.000993333 0.000973333 0.585895 0.510105 0.378827 0.297413 +0.263333 0.2444 0.219787 0.000986667 0.00098 0.000933333 0.000893333 0.000846667 +0.000813333 0.000833333 0.000853333 0.219787 0.479173 0.647158 0.688211 0.568211 +0.367467 0.263333 0.23872 0.22736 0.229253 0.23304 0.223573 0.217893 +0.22736 0.223573 0.00098 0.000993333 0.219787 0.000986667 0.00096 0.000946667 +0.00094 0.00096 0.00098 0.000966667 0.00094 0.00092 0.000926667 0.000926667 +0.000906667 0.000886667 0.000886667 0.000913333 0.000913333 0.00094 0.000926667 0.00092 +0.000913333 0.000926667 0.000933333 0.000913333 0.000933333 0.00092 0.000913333 0.000913333 +0.000906667 0.000926667 0.00096 0.000933333 0.000933333 0.000953333 0.00092 0.000893333 +0.000913333 0.00092 0.00092 0.000926667 0.00092 0.000886667 0.000906667 0.000926667 +0.00092 0.00092 0.000906667 0.000913333 0.000946667 0.000933333 0.000913333 0.00094 +0.000933333 0.00094 0.000953333 0.000913333 0.000913333 0.000946667 0.00096 0.000953333 +0.00094 0.00096 0.000946667 0.00092 0.000946667 0.000966667 0.00094 0.000966667 +0.000986667 0.000966667 0.00098 0.216 0.223573 0.22168 0.219787 0.217893 +0.22168 0.217893 0.225467 0.223573 0.231147 0.231147 0.246293 0.265227 +0.27848 0.310667 0.384507 0.505684 0.570105 0.642737 0.716632 0.769684 +0.791789 0.786105 0.768421 0.743158 0.716 0.690105 0.678737 0.671789 +0.653474 0.636421 0.621895 0.615579 0.612421 0.606737 0.605474 0.601053 +0.586526 0.564421 0.538526 0.513263 0.479173 0.456453 0.46024 0.48864 +0.525895 0.582737 0.665474 0.757053 0.843579 0.921263 0.981633 0.998612 +1.00547 1.00873 1.00645 1.00253 0.996653 0.989143 0.983592 0.976211 +0.965474 0.959158 0.962316 0.967368 0.973684 0.976842 0.974316 0.974947 +0.983265 0.990122 0.996653 1.0009 1.00286 1.00122 1.0022 1.00514 +1.00776 1.01004 1.01069 1.01004 1.00906 1.00449 0.999265 0.996653 +0.99502 0.997306 1.00286 1.00514 1.00547 1.00547 1.00482 1.00547 +1.00841 1.01102 1.01135 1.012 1.01135 1.01102 1.00808 1.0022 +1.00253 1.00384 1.00514 1.0071 1.00776 1.00873 1.01004 1.01069 +1.00776 1.00645 1.01004 1.00939 1.0058 1.00645 1.00939 1.01037 +1.01069 1.01004 1.00808 1.00743 1.01004 1.012 1.01135 1.01265 +1.01102 1.00841 1.01102 1.01102 1.01037 1.01298 1.01102 1.01135 +1.01102 1.00939 1.01004 1.00808 1.00743 1.00318 1.0009 1.00318 +1.0009 0.999918 1.00286 1.00416 1.0022 1.00384 1.00743 1.00547 +1.00449 1.0058 1.00514 1.00678 1.00678 1.0058 1.00286 0.999918 +0.998612 0.995673 0.987184 0.976842 0.967368 0.965474 0.961684 0.963579 +0.966737 0.967368 0.976842 0.981633 0.976842 0.972421 0.976211 0.981306 +0.990449 0.996 0.99502 0.996327 0.991102 0.986857 0.985224 0.98849 +0.99502 1.00155 1.00482 1.00351 1.0022 1.00155 1.00024 1.00188 +1.00449 1.00808 1.01069 1.00873 1.00906 1.01037 1.01004 1.00873 +1.00743 1.00645 1.00645 1.00776 1.00841 1.00971 1.01004 1.0071 +1.0058 1.00612 1.00514 1.00514 1.00416 1.00645 1.00743 1.0071 +1.00841 1.00873 1.01004 1.01233 1.00971 1.00873 1.01102 1.01167 +1.01102 1.01004 1.01069 1.01135 1.01004 1.01135 1.01527 1.01559 +1.01167 1.01135 1.01363 1.01396 1.01265 1.01037 1.01069 1.01069 +1.00971 1.01004 1.00841 1.00939 1.012 1.01037 1.01004 1.01135 +1.01233 1.00939 1.00776 1.00808 1.00873 1.01004 1.00841 1.00776 +1.00776 1.00776 1.01135 1.012 1.00939 1.00514 0.998286 0.991429 +0.986204 0.981959 0.978737 0.978737 0.974316 0.967368 0.964842 0.971158 +0.979368 0.986531 0.996 1.00318 1.00873 1.01167 1.00808 0.998612 +0.977474 0.908632 0.812632 0.710947 0.62 0.566316 0.558105 0.573895 +0.595368 0.620632 0.642105 0.653474 0.660421 0.667368 0.673053 0.676211 +0.678105 0.685053 0.698947 0.714737 0.743158 0.781053 0.808211 0.809474 +0.778526 0.718526 0.635789 0.556211 0.4716 0.333387 0.26144 0.23304 +0.22168 0.217893 0.22168 0.223573 0.223573 0.223573 0.000986667 0.217893 +0.219787 0.000966667 0.00096 0.00098 0.00098 0.000953333 0.000933333 0.000926667 +0.000946667 0.000933333 0.000913333 0.000893333 0.000886667 0.00092 0.000906667 0.0009 +0.0009 0.000893333 0.0009 0.000893333 0.0009 0.000886667 0.000893333 0.0009 +0.000893333 0.000873333 0.000873333 0.000886667 0.000893333 0.000906667 0.00092 0.000913333 +0.000886667 0.00088 0.00088 0.00092 0.00092 0.000906667 0.0009 0.0009 +0.000886667 0.000893333 0.0009 0.0009 0.000893333 0.000906667 0.000913333 0.000906667 +0.0009 0.000906667 0.00092 0.0009 0.0009 0.00092 0.000913333 0.00092 +0.000893333 0.000893333 0.000886667 0.00088 0.000893333 0.000886667 0.000893333 0.000913333 +0.000926667 0.00096 0.000986667 0.00096 0.00094 0.000946667 0.000946667 0.000933333 +0.000953333 0.00096 0.000946667 0.00094 0.000946667 0.000973333 0.000966667 0.000953333 +0.00096 0.000993333 0.217893 0.22168 0.22168 0.22168 0.223573 0.22168 +0.219787 0.217893 0.217893 0.217893 0.846105 0.721053 0.607368 0.524632 +0.4148 0.322027 0.269013 0.25576 0.23872 0.219787 0.000973333 0.000926667 +0.000886667 0.000873333 0.000906667 0.000973333 0.337173 0.578316 0.694526 0.647789 +0.513263 0.322027 0.26144 0.246293 0.25008 0.242507 0.236827 0.242507 +0.234933 0.217893 0.000993333 0.217893 0.000993333 0.000973333 0.00098 0.00096 +0.000946667 0.00096 0.000993333 0.000986667 0.000953333 0.00094 0.000973333 0.000966667 +0.000933333 0.000926667 0.000933333 0.000933333 0.00094 0.000966667 0.00096 0.000933333 +0.00092 0.000933333 0.00094 0.000933333 0.000926667 0.00094 0.00096 0.000946667 +0.00094 0.000946667 0.000953333 0.000913333 0.00094 0.000953333 0.00092 0.0009 +0.00092 0.000926667 0.00092 0.000913333 0.000913333 0.000893333 0.000933333 0.000933333 +0.000913333 0.000926667 0.000946667 0.000966667 0.000973333 0.000953333 0.00096 0.000973333 +0.000953333 0.00096 0.000973333 0.000953333 0.000946667 0.000953333 0.000953333 0.000946667 +0.000946667 0.000953333 0.00094 0.000933333 0.000953333 0.00096 0.000966667 0.217893 +0.216 0.000973333 0.000966667 0.216 0.00098 0.000966667 0.00098 0.00098 +0.00096 0.00096 0.216 0.225467 0.223573 0.217893 0.23304 0.236827 +0.23872 0.240613 0.25576 0.274693 0.320133 0.405333 0.517684 0.582105 +0.650947 0.723579 0.777895 0.801895 0.8 0.779158 0.751368 0.718526 +0.688842 0.668632 0.657263 0.650316 0.644632 0.633263 0.623158 0.616842 +0.609895 0.599158 0.587789 0.575789 0.558105 0.537895 0.516421 0.506316 +0.510105 0.519579 0.543579 0.587158 0.642737 0.715368 0.807579 0.891579 +0.955368 0.991429 1.00547 1.01004 1.00971 1.0071 1.00318 0.997633 +0.987837 0.978105 0.971158 0.969895 0.970526 0.969895 0.969895 0.968632 +0.969895 0.974316 0.981959 0.989469 0.99502 0.998286 1.00188 1.00351 +1.00678 1.01004 1.01298 1.01331 1.01102 1.00808 1.00612 1.00253 +0.999918 0.996327 0.996 0.998939 0.99698 0.995347 0.999592 1.00678 +1.012 1.012 1.00971 1.00906 1.00776 1.00776 1.00776 1.00547 +1.00482 1.00547 1.00645 1.00547 1.00514 1.00808 1.01037 1.00939 +1.0058 1.00678 1.00873 1.00547 1.00384 1.00645 1.00841 1.0071 +1.00645 1.00514 1.0058 1.00776 1.01167 1.01233 1.01233 1.01233 +1.00743 1.00482 1.00808 1.00808 1.00939 1.01037 1.00939 1.01102 +1.00776 1.00482 1.00351 1.00155 1.00057 0.999592 1.00286 1.00612 +1.00547 1.00776 1.00971 1.00743 1.0071 1.01037 1.01037 1.00808 +1.00971 1.00906 1.00645 1.00776 1.00873 1.00547 0.997633 0.992082 +0.98849 0.981633 0.969263 0.961684 0.959158 0.956 0.948421 0.949684 +0.952211 0.952211 0.963579 0.971158 0.968 0.967368 0.966737 0.964842 +0.977474 0.981959 0.982286 0.985551 0.985551 0.986204 0.98751 0.989469 +0.990122 0.991755 0.994041 0.992082 0.990449 0.991429 0.992082 0.993714 +0.994367 0.998286 1.00318 1.00612 1.00743 1.00808 1.0071 1.00678 +1.0071 1.0071 1.00612 1.00743 1.00841 1.00939 1.00841 1.00873 +1.01004 1.01069 1.01167 1.01135 1.01004 1.01167 1.00971 1.00743 +1.00645 1.00678 1.00743 1.00808 1.00743 1.00678 1.00939 1.01037 +1.00808 1.00612 1.0058 1.00678 1.00743 1.00678 1.00808 1.00873 +1.00351 1.00449 1.00808 1.00743 1.0058 1.00482 1.00547 1.00873 +1.00841 1.00776 1.00776 1.00939 1.01069 1.00939 1.00873 1.00939 +1.01037 1.01004 1.00873 1.00971 1.01298 1.01363 1.01135 1.01102 +1.01102 1.00906 1.00743 1.00318 0.99502 0.987837 0.981306 0.977474 +0.976842 0.975579 0.975579 0.976211 0.973053 0.971789 0.980327 0.989796 +0.998939 1.00514 1.00873 1.00939 1.00873 1.00122 0.976842 0.901053 +0.806947 0.713474 0.638316 0.593474 0.577684 0.586526 0.610526 0.635158 +0.652842 0.664842 0.670526 0.671789 0.671158 0.674947 0.68 0.688842 +0.704 0.728632 0.763368 0.794316 0.811368 0.8 0.750737 0.676211 +0.590947 0.515158 0.401547 0.30688 0.246293 0.225467 0.000993333 0.000966667 +0.000966667 0.00098 0.000973333 0.217893 0.223573 0.000986667 0.00096 0.216 +0.000986667 0.000953333 0.00096 0.00096 0.00098 0.000986667 0.000946667 0.000933333 +0.000966667 0.000966667 0.000926667 0.00092 0.000926667 0.000933333 0.000913333 0.000906667 +0.000913333 0.000873333 0.000886667 0.000886667 0.000893333 0.000893333 0.00088 0.000886667 +0.000893333 0.0009 0.00088 0.000886667 0.000906667 0.000906667 0.000913333 0.000906667 +0.000866667 0.000846667 0.00088 0.000926667 0.000933333 0.00092 0.000933333 0.000933333 +0.000933333 0.000933333 0.000926667 0.000933333 0.00094 0.000933333 0.000946667 0.000933333 +0.000913333 0.000913333 0.000913333 0.000906667 0.0009 0.00092 0.000906667 0.000913333 +0.00092 0.000906667 0.000906667 0.000886667 0.000873333 0.000886667 0.0009 0.000906667 +0.000913333 0.000933333 0.00098 0.000973333 0.000953333 0.000953333 0.000973333 0.000973333 +0.000973333 0.000973333 0.000953333 0.00096 0.000973333 0.000986667 0.000966667 0.00096 +0.00098 0.22168 0.223573 0.22736 0.234933 0.234933 0.23304 0.225467 +0.225467 0.229253 0.229253 0.231147 1.00122 0.974316 0.875789 0.752 +0.630737 0.536 0.439413 0.350427 0.299307 0.26144 0.231147 0.000973333 +0.00094 0.000953333 0.000993333 0.22168 0.257653 0.501895 0.647158 0.695158 +0.594105 0.435627 0.291733 0.263333 0.25576 0.240613 0.236827 0.23872 +0.225467 0.217893 0.223573 0.217893 0.000986667 0.000993333 0.00098 0.000973333 +0.000993333 0.000986667 0.00098 0.00098 0.00096 0.00096 0.00096 0.000933333 +0.000906667 0.000913333 0.000913333 0.000913333 0.00092 0.000933333 0.000906667 0.000893333 +0.000913333 0.000933333 0.000913333 0.00092 0.000926667 0.000926667 0.000926667 0.000913333 +0.000913333 0.000933333 0.000906667 0.000906667 0.000953333 0.00096 0.000933333 0.00092 +0.00092 0.000933333 0.000926667 0.00094 0.000953333 0.000953333 0.000973333 0.000953333 +0.00094 0.00096 0.000993333 0.000973333 0.000966667 0.000973333 0.000973333 0.00098 +0.00096 0.000953333 0.00098 0.000953333 0.000926667 0.000933333 0.000933333 0.000966667 +0.00098 0.000966667 0.00096 0.000966667 0.000973333 0.000993333 0.216 0.217893 +0.00098 0.000946667 0.000946667 0.00094 0.00092 0.000933333 0.000966667 0.00098 +0.000966667 0.000993333 0.216 0.22168 0.000993333 0.000986667 0.22168 0.225467 +0.22168 0.22736 0.23304 0.236827 0.251973 0.26712 0.286053 0.325813 +0.405333 0.520842 0.587158 0.656632 0.723579 0.779158 0.805053 0.802526 +0.779158 0.744421 0.710316 0.684421 0.668 0.654105 0.639579 0.631368 +0.628211 0.621895 0.611789 0.601053 0.592211 0.580842 0.569474 0.560632 +0.553053 0.548 0.548632 0.558105 0.566316 0.583368 0.621895 0.681895 +0.755158 0.837263 0.92 0.978737 0.997306 1.00678 1.00939 1.00808 +1.00416 1.00057 0.993061 0.984571 0.979368 0.971158 0.964211 0.960421 +0.964842 0.968632 0.971789 0.978737 0.982286 0.986857 0.995347 0.999592 +1.00416 1.00743 1.00971 1.01167 1.01069 1.01102 1.00971 1.00906 +1.00776 1.00645 1.00645 1.00416 0.997633 0.993714 0.997959 1.0071 +1.01037 1.01037 1.00873 1.00645 1.00678 1.00939 1.00841 1.00841 +1.0071 1.00612 1.00743 1.0058 1.00351 1.00612 1.00841 1.00776 +1.0058 1.00971 1.00776 1.00514 1.00678 1.00939 1.0071 1.00645 +1.00743 1.00776 1.00808 1.01069 1.01135 1.00906 1.00971 1.00971 +1.00547 1.00514 1.00612 1.00416 1.00514 1.0071 1.0071 1.00808 +1.00482 1.00253 0.998939 0.997306 0.998939 1.00253 1.00678 1.00743 +1.00808 1.01298 1.01298 1.01037 1.01037 1.01102 1.00906 1.00808 +1.01069 1.00873 1.00547 1.00678 1.00645 0.999592 0.986857 0.976842 +0.971789 0.959158 0.950947 0.952842 0.961053 0.960421 0.950316 0.950316 +0.951579 0.949684 0.956632 0.963579 0.971158 0.979368 0.974947 0.964211 +0.965474 0.962947 0.961684 0.968632 0.968632 0.971158 0.974947 0.978105 +0.976211 0.978737 0.981306 0.979368 0.978737 0.982612 0.984898 0.984245 +0.982939 0.986857 0.99698 1.00351 1.0058 1.0058 1.0058 1.00808 +1.00906 1.00906 1.00808 1.00743 1.00808 1.01004 1.01004 1.01037 +1.01037 1.01265 1.01527 1.01429 1.012 1.01298 1.01233 1.01069 +1.00873 1.00743 1.0071 1.00873 1.00906 1.00841 1.01069 1.01037 +1.00547 1.0022 1.00057 0.999918 0.998939 0.997633 0.996653 0.996 +0.992408 0.992082 0.995347 0.998939 1.00122 1.00188 1.00286 1.00482 +1.00743 1.00971 1.00971 1.00906 1.00841 1.00873 1.00939 1.00939 +1.00873 1.00939 1.00971 1.01069 1.01135 1.01102 1.00808 1.00547 +1.00318 0.999592 0.995347 0.987837 0.979368 0.971789 0.968 0.965474 +0.964842 0.966737 0.967368 0.975579 0.982612 0.989143 0.998286 1.00547 +1.00939 1.01167 1.01004 1.00024 0.976842 0.905474 0.807579 0.699579 +0.62 0.588421 0.589053 0.602947 0.619368 0.637684 0.651579 0.661053 +0.668632 0.672421 0.676211 0.679368 0.682526 0.689474 0.704632 0.736842 +0.778526 0.808842 0.817053 0.786737 0.716632 0.629474 0.544211 0.44888 +0.333387 0.269013 0.251973 0.2444 0.225467 0.000973333 0.216 0.216 +0.22736 0.223573 0.22168 0.225467 0.22736 0.219787 0.22168 0.22736 +0.000986667 0.000966667 0.000966667 0.000946667 0.00098 0.000973333 0.000933333 0.000926667 +0.000946667 0.000946667 0.000913333 0.0009 0.00094 0.00096 0.00094 0.000926667 +0.000926667 0.000906667 0.000913333 0.000933333 0.000933333 0.00092 0.0009 0.000906667 +0.000913333 0.00092 0.000913333 0.000913333 0.000913333 0.00092 0.000946667 0.000933333 +0.000866667 0.000853333 0.000873333 0.000906667 0.000886667 0.000873333 0.000886667 0.00088 +0.00088 0.0009 0.0009 0.0009 0.000913333 0.000913333 0.00094 0.000953333 +0.000913333 0.000906667 0.000913333 0.000913333 0.000926667 0.00094 0.00092 0.00092 +0.000933333 0.000906667 0.000906667 0.000906667 0.000906667 0.000906667 0.000913333 0.000913333 +0.000913333 0.000913333 0.000946667 0.00096 0.00096 0.00096 0.00098 0.000986667 +0.00098 0.217893 0.00098 0.000966667 0.000993333 0.217893 0.216 0.00098 +0.00098 0.225467 0.23304 0.231147 0.229253 0.231147 0.231147 0.22168 +0.223573 0.23872 0.265227 0.31256 0.918105 0.994041 1.00873 0.989796 +0.905474 0.782947 0.662947 0.564421 0.490533 0.367467 0.293627 0.257653 +0.2444 0.23872 0.229253 0.22736 0.240613 0.350427 0.568842 0.690737 +0.678105 0.559368 0.405333 0.308773 0.2728 0.253867 0.246293 0.2444 +0.240613 0.234933 0.23304 0.225467 0.219787 0.216 0.00096 0.00096 +0.00098 0.000973333 0.000973333 0.00098 0.00094 0.000926667 0.00092 0.000906667 +0.00088 0.000886667 0.000913333 0.000926667 0.000913333 0.000913333 0.000913333 0.000913333 +0.000926667 0.00094 0.00092 0.00092 0.000926667 0.000906667 0.00092 0.00092 +0.00092 0.000926667 0.000893333 0.00092 0.000933333 0.000953333 0.00094 0.000906667 +0.00092 0.000926667 0.00094 0.000953333 0.000953333 0.00096 0.000966667 0.000953333 +0.000946667 0.00094 0.000946667 0.000913333 0.00094 0.000946667 0.000946667 0.000946667 +0.000913333 0.000926667 0.000933333 0.000913333 0.0009 0.000906667 0.00092 0.000953333 +0.000946667 0.000933333 0.00096 0.00094 0.000933333 0.000953333 0.00094 0.00096 +0.000966667 0.000946667 0.00094 0.00094 0.000926667 0.000953333 0.000986667 0.216 +0.217893 0.000973333 0.000946667 0.000966667 0.216 0.000993333 0.216 0.216 +0.216 0.217893 0.219787 0.22736 0.234933 0.23872 0.23872 0.2444 +0.257653 0.287947 0.331493 0.407227 0.515158 0.579579 0.649053 0.719158 +0.775368 0.802526 0.798737 0.770316 0.737474 0.704 0.672421 0.654105 +0.650316 0.648421 0.639579 0.624421 0.606105 0.593474 0.596632 0.596632 +0.580211 0.565053 0.566947 0.586526 0.604842 0.597895 0.581474 0.579579 +0.598526 0.644632 0.717263 0.795579 0.870105 0.945895 0.990776 1.00384 +1.00841 1.00939 1.00514 0.999918 0.994367 0.985224 0.974316 0.966737 +0.964211 0.962947 0.966105 0.967368 0.966737 0.976842 0.985224 0.989469 +0.996327 1.00318 1.0071 1.00808 1.00939 1.012 1.01331 1.01429 +1.01331 1.01233 1.01102 1.00841 1.00547 1.00384 1.00612 1.00743 +1.0071 1.00776 1.00841 1.00776 1.00939 1.00873 1.00841 1.01004 +1.00841 1.00906 1.00906 1.00645 1.00482 1.00482 1.00482 1.00612 +1.00645 1.00743 1.00416 1.00416 1.00645 1.00808 1.0058 1.00743 +1.00939 1.00841 1.0071 1.00906 1.00743 1.0071 1.00776 1.00482 +1.00253 1.00416 1.00384 1.00155 1.00057 1.00057 0.999592 0.998939 +0.998286 0.999918 1.00057 1.00188 1.00482 1.00645 1.00645 1.00612 +1.00808 1.01102 1.00906 1.00841 1.00939 1.01069 1.01037 1.01069 +1.01298 1.01004 1.0058 1.00253 0.997959 0.989143 0.972421 0.959158 +0.955368 0.945895 0.945263 0.953474 0.969263 0.973684 0.967368 0.969263 +0.966737 0.960421 0.961053 0.963579 0.973053 0.980327 0.975579 0.962316 +0.956 0.950947 0.949053 0.951579 0.950947 0.953474 0.960421 0.969895 +0.974947 0.979368 0.978105 0.973053 0.976211 0.980327 0.976842 0.973053 +0.974316 0.979368 0.989143 0.998612 1.00482 1.00743 1.00808 1.00971 +1.00971 1.00971 1.00971 1.00808 1.00841 1.01135 1.01298 1.01265 +1.01069 1.01037 1.01069 1.01004 1.00939 1.01135 1.01298 1.01233 +1.01135 1.00873 1.00906 1.01037 1.01167 1.01037 1.01037 1.00971 +1.00678 1.00449 1.0022 1.0009 0.999592 0.996653 0.993714 0.993061 +0.989796 0.98751 0.989796 0.993388 0.99502 0.997306 0.999592 1.00351 +1.00547 1.00612 1.00678 1.0071 1.0058 1.00514 1.00482 1.00351 +1.00351 1.00514 1.00253 0.999265 0.997633 0.996 0.993714 0.990122 +0.986857 0.983918 0.980327 0.973684 0.966737 0.966737 0.966105 0.961053 +0.964211 0.976211 0.985878 0.994694 1.00122 1.00612 1.01037 1.01069 +1.00873 1.0009 0.976842 0.899789 0.798105 0.702737 0.628211 0.581474 +0.576421 0.602316 0.631368 0.648421 0.659158 0.663579 0.664842 0.667368 +0.673684 0.678737 0.685684 0.698947 0.719789 0.748842 0.785474 0.816421 +0.814526 0.767789 0.687579 0.59979 0.519579 0.393973 0.299307 0.25008 +0.22736 0.223573 0.225467 0.22736 0.000973333 0.00096 0.000993333 0.223573 +0.229253 0.225467 0.22168 0.225467 0.22168 0.000993333 0.219787 0.22168 +0.000986667 0.00098 0.000973333 0.00094 0.00098 0.00098 0.000953333 0.000966667 +0.000966667 0.000933333 0.000906667 0.000893333 0.000913333 0.00092 0.000913333 0.000913333 +0.000893333 0.000906667 0.000906667 0.000906667 0.000893333 0.0009 0.0009 0.000913333 +0.00092 0.00092 0.00092 0.00092 0.000906667 0.000906667 0.00094 0.00094 +0.000886667 0.00088 0.000893333 0.000906667 0.000893333 0.0009 0.0009 0.000866667 +0.00086 0.00088 0.000886667 0.000893333 0.00088 0.000906667 0.000926667 0.00092 +0.00092 0.000906667 0.00088 0.00088 0.000913333 0.00092 0.000906667 0.000913333 +0.000913333 0.0009 0.000906667 0.000906667 0.000893333 0.000913333 0.00092 0.000946667 +0.00096 0.000973333 0.00098 0.00098 0.000986667 0.000993333 0.216 0.219787 +0.219787 0.229253 0.223573 0.219787 0.225467 0.234933 0.23304 0.22168 +0.217893 0.23304 0.246293 0.240613 0.23304 0.231147 0.242507 0.253867 +0.274693 0.3296 0.424267 0.523368 0.666737 0.784211 0.901053 0.983592 +1.00776 0.998612 0.930105 0.810105 0.685684 0.580842 0.504421 0.373147 +0.31256 0.282267 0.25576 0.25008 0.25008 0.2728 0.46024 0.619368 +0.710947 0.672421 0.561263 0.429947 0.316347 0.274693 0.251973 0.248187 +0.242507 0.23304 0.22168 0.216 0.00098 0.000966667 0.000946667 0.00096 +0.000973333 0.00098 0.000986667 0.000993333 0.000953333 0.000966667 0.000953333 0.00092 +0.000906667 0.000906667 0.000946667 0.000953333 0.00094 0.000926667 0.000933333 0.000933333 +0.000953333 0.000953333 0.00092 0.00092 0.000926667 0.000933333 0.00092 0.0009 +0.000913333 0.000913333 0.000913333 0.000926667 0.00094 0.000933333 0.0009 0.0009 +0.00092 0.00094 0.000926667 0.000913333 0.000933333 0.000933333 0.00092 0.000906667 +0.00088 0.000906667 0.00088 0.00086 0.0009 0.000906667 0.00092 0.000906667 +0.000886667 0.000893333 0.000913333 0.000926667 0.000906667 0.000906667 0.00094 0.000946667 +0.00092 0.000933333 0.00096 0.00092 0.000926667 0.000953333 0.00094 0.000966667 +0.000953333 0.000933333 0.000966667 0.000953333 0.00096 0.00098 0.000986667 0.216 +0.000966667 0.00094 0.000953333 0.00098 0.22736 0.000986667 0.000966667 0.000966667 +0.000966667 0.000966667 0.217893 0.223573 0.22168 0.22168 0.219787 0.223573 +0.2444 0.248187 0.251973 0.26144 0.27848 0.31256 0.388293 0.512 +0.577684 0.652211 0.722947 0.774737 0.801895 0.8 0.767158 0.728632 +0.695158 0.676211 0.66421 0.647158 0.628842 0.614947 0.625053 0.640842 +0.623158 0.594105 0.587158 0.620632 0.660421 0.661684 0.638947 0.615579 +0.59979 0.598526 0.607368 0.625684 0.669263 0.750737 0.846737 0.930105 +0.984898 1.00057 1.00873 1.01004 1.00645 1.00188 0.997306 0.991755 +0.984245 0.973684 0.964842 0.959158 0.962316 0.968632 0.975579 0.980653 +0.984898 0.991429 0.997959 1.00057 1.00351 1.0071 1.00971 1.01069 +1.01004 1.01135 1.01167 1.01004 1.01004 1.00971 1.01037 1.00841 +1.00776 1.00873 1.00971 1.01037 1.01069 1.00906 1.00939 1.00743 +1.00776 1.00971 1.00841 1.00514 1.00678 1.00645 1.00253 0.999592 +1.00286 1.00318 1.00122 1.00057 1.00188 1.00416 1.00416 1.00416 +1.00645 1.00939 1.00416 1.00155 1.00318 1.00482 1.00286 0.999592 +1.00024 1.00188 1.00024 0.996 0.991429 0.990122 0.992082 0.994694 +0.998939 1.00318 1.00514 1.0058 1.00873 1.00808 1.00808 1.00906 +1.012 1.01167 1.00971 1.01004 1.01004 1.00873 1.0071 1.00678 +1.0058 0.999265 0.992735 0.986857 0.980653 0.967368 0.956632 0.953474 +0.950316 0.945895 0.947158 0.949684 0.961053 0.969263 0.975579 0.98 +0.971158 0.959158 0.954105 0.956 0.965474 0.971158 0.966105 0.960421 +0.957895 0.952842 0.951579 0.950947 0.947789 0.950947 0.956632 0.967368 +0.978737 0.985224 0.984571 0.980327 0.980327 0.978105 0.968 0.962316 +0.964211 0.970526 0.983592 0.993061 1.00057 1.00678 1.00743 1.00873 +1.01004 1.00971 1.01069 1.01037 1.00971 1.01102 1.01037 1.00906 +1.00776 1.00776 1.00808 1.00841 1.00808 1.01037 1.01167 1.01069 +1.01004 1.00906 1.01037 1.01069 1.01069 1.00939 1.00939 1.01069 +1.01135 1.01069 1.00971 1.00906 1.00873 1.00808 1.00482 1.00253 +0.999592 0.993061 0.991429 0.991755 0.989796 0.990122 0.993714 0.993714 +0.993061 0.993388 0.993714 0.993388 0.993061 0.994041 0.994367 0.993714 +0.994694 0.993714 0.990122 0.986531 0.983265 0.981306 0.98 0.978105 +0.971789 0.968 0.966737 0.965474 0.963579 0.964842 0.969263 0.978105 +0.987837 0.997633 1.00384 1.0071 1.01004 1.012 1.01069 0.998939 +0.968 0.895368 0.798105 0.697053 0.620632 0.585263 0.584 0.601684 +0.629474 0.651579 0.662947 0.666737 0.669895 0.672421 0.673684 0.676842 +0.683789 0.695789 0.718526 0.756421 0.795579 0.817053 0.803158 0.745684 +0.656632 0.563158 0.4716 0.342853 0.270907 0.2444 0.240613 0.217893 +0.000966667 0.00098 0.000973333 0.000966667 0.00098 0.000966667 0.000953333 0.000966667 +0.000993333 0.000993333 0.000973333 0.000986667 0.00098 0.000953333 0.00098 0.000966667 +0.00094 0.000953333 0.000966667 0.000966667 0.000973333 0.000973333 0.000966667 0.00098 +0.216 0.00098 0.000953333 0.00094 0.000933333 0.000933333 0.000926667 0.000933333 +0.0009 0.0009 0.000913333 0.000893333 0.000893333 0.0009 0.000893333 0.000906667 +0.000906667 0.000886667 0.000886667 0.000893333 0.0009 0.0009 0.000926667 0.000933333 +0.0009 0.000893333 0.0009 0.000906667 0.000906667 0.00092 0.000926667 0.000906667 +0.000893333 0.00088 0.0009 0.00092 0.00088 0.000913333 0.000946667 0.000933333 +0.00096 0.000953333 0.000906667 0.000913333 0.000933333 0.000933333 0.00092 0.000933333 +0.000926667 0.0009 0.00092 0.0009 0.000906667 0.0009 0.000913333 0.000933333 +0.000926667 0.00094 0.00098 0.000986667 0.00098 0.216 0.219787 0.219787 +0.223573 0.229253 0.219787 0.22168 0.23304 0.23872 0.23872 0.236827 +0.236827 0.240613 0.25008 0.251973 0.259547 0.2728 0.308773 0.371253 +0.473493 0.542316 0.609263 0.683158 0.48864 0.555579 0.640842 0.752 +0.881474 0.983918 1.00612 0.998939 0.945263 0.834737 0.709053 0.596632 +0.518316 0.411013 0.327707 0.286053 0.259547 0.25576 0.31256 0.520211 +0.659158 0.743789 0.701474 0.585263 0.456453 0.31824 0.282267 0.26144 +0.2444 0.231147 0.22168 0.000993333 0.000993333 0.000986667 0.00098 0.217893 +0.223573 0.219787 0.216 0.217893 0.000986667 0.000986667 0.000953333 0.000933333 +0.000926667 0.000933333 0.000953333 0.000953333 0.000946667 0.000933333 0.000933333 0.000953333 +0.000966667 0.00096 0.000946667 0.000946667 0.00096 0.000946667 0.000913333 0.00094 +0.000953333 0.000946667 0.000946667 0.000933333 0.00098 0.000953333 0.000913333 0.00094 +0.000913333 0.000933333 0.000933333 0.000926667 0.00092 0.0009 0.000913333 0.000893333 +0.00088 0.000886667 0.000893333 0.000893333 0.000913333 0.00092 0.000926667 0.000913333 +0.00092 0.000933333 0.00096 0.00094 0.0009 0.000946667 0.000966667 0.000946667 +0.000953333 0.000973333 0.000966667 0.000946667 0.00096 0.00098 0.000973333 0.000966667 +0.000966667 0.00096 0.000986667 0.000993333 0.000993333 0.216 0.223573 0.219787 +0.000986667 0.22168 0.216 0.22168 0.225467 0.000973333 0.000933333 0.00094 +0.00098 0.000986667 0.216 0.217893 0.219787 0.22168 0.22168 0.225467 +0.234933 0.22736 0.229253 0.23872 0.251973 0.257653 0.26712 0.286053 +0.327707 0.40344 0.512 0.578316 0.658526 0.736211 0.786105 0.804421 +0.786737 0.754526 0.717263 0.681263 0.662316 0.654737 0.661053 0.678105 +0.677474 0.661684 0.654105 0.669263 0.692632 0.699579 0.696421 0.683789 +0.663579 0.647789 0.630105 0.607368 0.59979 0.617474 0.662947 0.736211 +0.817053 0.897895 0.973684 0.999592 1.00612 1.00808 1.00808 1.00645 +1.00057 0.990449 0.975579 0.961053 0.959789 0.960421 0.963579 0.966105 +0.968 0.976211 0.981633 0.984245 0.990449 0.996327 1.00057 1.00514 +1.00873 1.00939 1.01037 1.01102 1.01102 1.01102 1.00906 1.00743 +1.00841 1.012 1.01135 1.01135 1.01135 1.00939 1.00939 1.00841 +1.00939 1.00906 1.00776 1.00776 1.00939 1.00808 1.00351 1.0022 +1.00351 1.00057 0.997306 0.996653 0.998939 1.00057 1.00155 0.999592 +1.00482 1.01167 1.00841 1.00253 1.00449 1.0058 1.00286 1.00155 +1.00122 1.00188 0.998286 0.991102 0.984898 0.98849 0.996327 1.00188 +1.00743 1.01069 1.00939 1.00939 1.01069 1.00841 1.00808 1.00971 +1.01069 1.00841 1.00678 1.0058 1.00155 0.997959 0.994694 0.992735 +0.989469 0.985551 0.984245 0.973684 0.958526 0.951579 0.953474 0.954105 +0.949684 0.949053 0.952211 0.954105 0.960421 0.968632 0.978105 0.98 +0.971158 0.967368 0.962947 0.960421 0.964211 0.966737 0.964211 0.963579 +0.961053 0.955368 0.956 0.956632 0.952211 0.954737 0.959789 0.970526 +0.98098 0.987837 0.985878 0.971789 0.969895 0.972421 0.971158 0.968632 +0.973684 0.98 0.984245 0.986204 0.990449 0.995673 0.997306 0.999592 +1.00482 1.00514 1.00514 1.00482 1.00449 1.00743 1.00776 1.00906 +1.00808 1.00743 1.00841 1.00841 1.00743 1.00873 1.01004 1.00939 +1.00841 1.00743 1.01037 1.012 1.01135 1.01102 1.00971 1.012 +1.01331 1.012 1.01233 1.01004 1.01069 1.01233 1.01037 1.00776 +1.00384 0.999265 0.996327 0.992082 0.98849 0.986531 0.987184 0.982612 +0.976211 0.974316 0.971158 0.970526 0.971158 0.972421 0.976842 0.980653 +0.981306 0.98 0.98 0.979368 0.978737 0.976211 0.970526 0.967368 +0.964842 0.963579 0.965474 0.970526 0.976842 0.981306 0.98751 0.997306 +1.00612 1.01167 1.01396 1.01298 1.00971 1.00057 0.976842 0.895368 +0.786105 0.690105 0.625053 0.592211 0.592211 0.611789 0.637053 0.658526 +0.668 0.669263 0.669895 0.674316 0.676842 0.68 0.686316 0.700842 +0.724211 0.760211 0.799368 0.817053 0.793053 0.726105 0.633263 0.542947 +0.429947 0.314453 0.26144 0.23872 0.217893 0.00096 0.000986667 0.000953333 +0.000933333 0.00096 0.000946667 0.000906667 0.000953333 0.00096 0.000933333 0.000933333 +0.000946667 0.000966667 0.000953333 0.00094 0.000933333 0.000926667 0.00094 0.000933333 +0.00094 0.000946667 0.000953333 0.00096 0.00098 0.00096 0.000966667 0.000953333 +0.000966667 0.000973333 0.000953333 0.000953333 0.000926667 0.00092 0.00092 0.00092 +0.0009 0.000906667 0.000913333 0.000913333 0.0009 0.000893333 0.0009 0.0009 +0.0009 0.000893333 0.000886667 0.0009 0.0009 0.000913333 0.00092 0.000926667 +0.000906667 0.000873333 0.000886667 0.000906667 0.00092 0.000913333 0.000913333 0.00092 +0.00092 0.000893333 0.000893333 0.000913333 0.0009 0.0009 0.00092 0.000906667 +0.00092 0.000953333 0.00094 0.00094 0.00094 0.000953333 0.000946667 0.00096 +0.00096 0.000933333 0.000953333 0.000953333 0.000933333 0.000953333 0.000953333 0.000973333 +0.000966667 0.000973333 0.000973333 0.000986667 0.000986667 0.219787 0.22736 0.231147 +0.23304 0.231147 0.229253 0.231147 0.23872 0.234933 0.234933 0.23872 +0.234933 0.23872 0.251973 0.274693 0.316347 0.393973 0.505684 0.562526 +0.631368 0.707158 0.783579 0.854947 0.348533 0.393973 0.46024 0.543579 +0.640842 0.749474 0.861263 0.962316 1.00057 1.0009 0.966105 0.865053 +0.746316 0.630737 0.540421 0.445093 0.34664 0.30688 0.293627 0.371253 +0.556211 0.704632 0.791789 0.736211 0.601053 0.496213 0.361787 0.293627 +0.269013 0.257653 0.248187 0.236827 0.229253 0.223573 0.217893 0.22168 +0.229253 0.22736 0.225467 0.22736 0.22168 0.217893 0.000993333 0.000966667 +0.000953333 0.00096 0.000946667 0.000966667 0.000993333 0.00098 0.000973333 0.000966667 +0.000953333 0.000946667 0.000966667 0.000953333 0.000953333 0.000946667 0.000926667 0.00096 +0.00094 0.000946667 0.000946667 0.000926667 0.000946667 0.000926667 0.0009 0.000893333 +0.0009 0.000926667 0.00092 0.00092 0.0009 0.000913333 0.000933333 0.000906667 +0.000906667 0.00092 0.00094 0.000953333 0.000953333 0.000966667 0.000953333 0.000926667 +0.000913333 0.000933333 0.00094 0.0009 0.000933333 0.000953333 0.000953333 0.00094 +0.000946667 0.000953333 0.000946667 0.000946667 0.000953333 0.00098 0.000973333 0.000973333 +0.00098 0.00096 0.000966667 0.00098 0.000973333 0.000953333 0.00096 0.000966667 +0.000966667 0.00096 0.000966667 0.00096 0.000946667 0.000926667 0.000906667 0.000946667 +0.000973333 0.000946667 0.00096 0.000966667 0.000966667 0.000953333 0.000953333 0.00094 +0.00094 0.00098 0.217893 0.219787 0.22736 0.231147 0.231147 0.23872 +0.253867 0.25008 0.259547 0.304987 0.405333 0.524632 0.600421 0.685684 +0.758947 0.801895 0.802526 0.770316 0.731789 0.698947 0.683789 0.684421 +0.685684 0.686316 0.688842 0.690737 0.690737 0.690105 0.693895 0.701474 +0.700842 0.693263 0.682526 0.665474 0.645263 0.623789 0.610526 0.613684 +0.638947 0.696421 0.789263 0.889684 0.964211 0.995673 1.00776 1.01102 +1.00808 1.0022 0.994367 0.986531 0.980653 0.977474 0.972421 0.965474 +0.962947 0.965474 0.965474 0.968632 0.98 0.984571 0.989469 0.995673 +1.00057 1.00122 1.00384 1.0071 1.01135 1.01102 1.00873 1.00743 +1.00873 1.00971 1.00939 1.012 1.01037 1.00808 1.00873 1.00939 +1.01004 1.00971 1.00873 1.00808 1.00808 1.00547 1.00286 1.00482 +1.00547 1.00253 0.999918 0.998612 1.0009 1.00122 1.00057 1.0009 +1.00253 1.0071 1.00873 1.00547 1.00645 1.0071 1.00482 1.00318 +1.00253 1.00286 0.996653 0.986204 0.983918 0.991429 0.999265 1.00351 +1.00776 1.01037 1.00939 1.01102 1.01102 1.00776 1.00645 1.00776 +1.00645 1.00253 0.999265 0.994367 0.986531 0.981633 0.977474 0.972421 +0.967368 0.966737 0.971158 0.961684 0.952211 0.953474 0.959789 0.955368 +0.948421 0.953474 0.962316 0.966737 0.968 0.970526 0.974947 0.976842 +0.976842 0.980327 0.978737 0.969895 0.969895 0.973684 0.974316 0.974316 +0.973684 0.967368 0.965474 0.965474 0.963579 0.967368 0.974316 0.977474 +0.982612 0.989796 0.98849 0.975579 0.968 0.974947 0.978105 0.976842 +0.981306 0.984245 0.986204 0.984245 0.985551 0.98849 0.98849 0.989143 +0.994694 0.995673 0.996653 0.998939 1.00024 1.00482 1.00776 1.00906 +1.00841 1.00808 1.00939 1.00939 1.00841 1.00808 1.00939 1.01004 +1.00906 1.00776 1.00906 1.01167 1.00971 1.00873 1.00808 1.01037 +1.01135 1.00906 1.01069 1.00939 1.00906 1.01037 1.00841 1.00645 +1.00482 0.999265 0.993388 0.986857 0.981959 0.979368 0.978737 0.971789 +0.963579 0.963579 0.961053 0.960421 0.964211 0.967368 0.969895 0.973053 +0.976211 0.975579 0.974316 0.975579 0.975579 0.972421 0.966105 0.962316 +0.965474 0.973053 0.981959 0.989796 0.996327 0.999592 1.00416 1.01069 +1.01363 1.01331 1.00971 0.995673 0.963579 0.892211 0.800632 0.702737 +0.624421 0.592842 0.601053 0.623789 0.645263 0.66421 0.674947 0.675579 +0.671789 0.671789 0.675579 0.686316 0.691368 0.698947 0.725474 0.765263 +0.802526 0.814526 0.787368 0.712842 0.614947 0.526526 0.39776 0.297413 +0.253867 0.240613 0.23304 0.22168 0.216 0.000986667 0.000986667 0.000993333 +0.000966667 0.216 0.00098 0.000933333 0.00094 0.00094 0.000946667 0.00096 +0.000946667 0.000966667 0.000986667 0.00096 0.00094 0.000946667 0.00094 0.000926667 +0.000926667 0.000926667 0.00092 0.00092 0.000953333 0.000933333 0.00092 0.0009 +0.000933333 0.000953333 0.000933333 0.000926667 0.000906667 0.0009 0.00088 0.000886667 +0.000913333 0.00092 0.000933333 0.00094 0.000906667 0.0009 0.00092 0.00094 +0.000913333 0.000906667 0.000893333 0.000866667 0.00088 0.0009 0.000913333 0.00092 +0.000886667 0.00088 0.000893333 0.000906667 0.00092 0.000913333 0.000906667 0.000926667 +0.00092 0.0009 0.000906667 0.00094 0.00094 0.000926667 0.000926667 0.000906667 +0.0009 0.000946667 0.00098 0.000946667 0.000953333 0.000953333 0.000933333 0.00094 +0.00094 0.000913333 0.000926667 0.000933333 0.000926667 0.00094 0.000946667 0.000953333 +0.00098 0.22168 0.22168 0.22168 0.223573 0.223573 0.236827 0.248187 +0.2444 0.23872 0.242507 0.248187 0.253867 0.251973 0.257653 0.26712 +0.274693 0.29552 0.356107 0.450773 0.525895 0.588421 0.661053 0.736211 +0.807579 0.873263 0.932632 0.981633 0.348533 0.3296 0.3296 0.36368 +0.47728 0.539158 0.618737 0.719789 0.826526 0.926947 0.989469 1.0022 +0.985551 0.902947 0.782316 0.664842 0.568211 0.501263 0.3864 0.348533 +0.43752 0.587158 0.736842 0.813263 0.752 0.631368 0.525263 0.3864 +0.316347 0.28416 0.26144 0.248187 0.236827 0.23304 0.231147 0.229253 +0.229253 0.23304 0.234933 0.225467 0.000993333 0.217893 0.217893 0.00096 +0.00094 0.00096 0.000953333 0.00098 0.219787 0.000986667 0.00096 0.000933333 +0.000946667 0.000953333 0.00094 0.000946667 0.00094 0.000926667 0.000933333 0.000933333 +0.000926667 0.00094 0.00094 0.000933333 0.00094 0.000926667 0.00092 0.000913333 +0.000926667 0.00094 0.000946667 0.000966667 0.00096 0.000946667 0.000933333 0.000953333 +0.000953333 0.00094 0.000946667 0.00092 0.00094 0.000953333 0.00094 0.000913333 +0.000893333 0.000913333 0.000926667 0.00094 0.000953333 0.00092 0.000946667 0.000946667 +0.000946667 0.00094 0.000946667 0.00094 0.000933333 0.00096 0.000966667 0.000953333 +0.000953333 0.000926667 0.00094 0.000953333 0.00092 0.000926667 0.000953333 0.00096 +0.000933333 0.000953333 0.000973333 0.000913333 0.00092 0.000946667 0.000946667 0.00098 +0.000946667 0.000953333 0.000966667 0.000946667 0.00092 0.000906667 0.000953333 0.00094 +0.000946667 0.217893 0.22168 0.000993333 0.000993333 0.217893 0.22168 0.23304 +0.236827 0.240613 0.25008 0.26144 0.276587 0.303093 0.35232 0.46024 +0.555579 0.642105 0.728632 0.792421 0.806947 0.779789 0.74 0.708421 +0.693263 0.691368 0.693895 0.695789 0.689474 0.677474 0.669895 0.676211 +0.683789 0.686947 0.688842 0.690105 0.677474 0.653474 0.630105 0.615579 +0.606105 0.601684 0.625053 0.690737 0.779158 0.875158 0.958526 0.994367 +1.00514 1.00873 1.00743 1.00318 0.999918 0.997633 0.991102 0.984245 +0.978737 0.969263 0.963579 0.964842 0.967368 0.971789 0.977474 0.982939 +0.986531 0.991102 0.99698 1.00155 1.00678 1.00841 1.00743 1.00971 +1.01102 1.00971 1.00906 1.00873 1.00678 1.00678 1.01004 1.01004 +1.00841 1.00776 1.00776 1.00808 1.00743 1.00384 1.00351 1.00514 +1.00482 1.00416 1.00286 1.00351 1.00384 1.00188 1.00057 1.00188 +1.00253 1.00547 1.00776 1.0071 1.00808 1.00645 1.00547 1.00449 +1.00253 1.00155 0.994367 0.984898 0.982612 0.987837 0.991755 0.999592 +1.00645 1.00971 1.00971 1.00971 1.0071 1.00449 1.00416 1.00416 +0.998286 0.991102 0.984245 0.976842 0.963579 0.957895 0.954105 0.950316 +0.945263 0.944632 0.950316 0.952211 0.953474 0.957895 0.961053 0.959789 +0.959158 0.966105 0.975579 0.975579 0.969895 0.968632 0.973053 0.972421 +0.971789 0.975579 0.974947 0.969895 0.972421 0.974316 0.971789 0.971789 +0.974947 0.973684 0.973684 0.977474 0.974316 0.976211 0.978737 0.977474 +0.98098 0.985551 0.986204 0.980653 0.970526 0.971158 0.971789 0.973684 +0.978105 0.981306 0.981959 0.98 0.98098 0.98098 0.980653 0.981306 +0.986857 0.988816 0.990122 0.991429 0.991755 0.994694 0.997959 0.999592 +1.00024 1.00253 1.00645 1.00776 1.00645 1.00612 1.00808 1.00906 +1.00743 1.00678 1.0071 1.00776 1.00482 1.00645 1.0058 1.0071 +1.00808 1.0071 1.00808 1.00547 1.00188 0.999592 0.997633 0.995673 +0.992408 0.986204 0.979368 0.973053 0.967368 0.966737 0.967368 0.964842 +0.965474 0.969895 0.971789 0.969895 0.971158 0.975579 0.974316 0.970526 +0.971158 0.969895 0.967368 0.966737 0.965474 0.967368 0.970526 0.976842 +0.986204 0.993061 0.99698 1.00318 1.01004 1.01233 1.01363 1.01331 +1.00612 0.989796 0.940842 0.859368 0.774105 0.693263 0.631368 0.604211 +0.606105 0.627579 0.654105 0.671158 0.676842 0.678737 0.676842 0.674947 +0.674947 0.681263 0.688842 0.704 0.727368 0.765895 0.808211 0.819579 +0.781053 0.699579 0.602947 0.517684 0.378827 0.28984 0.253867 0.229253 +0.22168 0.22168 0.22168 0.217893 0.000993333 0.000993333 0.000993333 0.216 +0.216 0.219787 0.217893 0.00096 0.00098 0.00098 0.00098 0.000986667 +0.000986667 0.000966667 0.000986667 0.00098 0.00094 0.000953333 0.00096 0.000953333 +0.00094 0.00094 0.000926667 0.000926667 0.000946667 0.00094 0.000913333 0.0009 +0.00092 0.00094 0.000926667 0.000906667 0.0009 0.0009 0.00088 0.000866667 +0.000886667 0.0009 0.000893333 0.00088 0.000893333 0.000893333 0.000913333 0.000926667 +0.00092 0.000926667 0.000906667 0.000866667 0.000866667 0.0009 0.000926667 0.000913333 +0.000886667 0.000886667 0.000906667 0.00092 0.000886667 0.000886667 0.000886667 0.00088 +0.00088 0.000893333 0.000893333 0.000926667 0.000933333 0.000926667 0.000933333 0.00092 +0.000913333 0.00096 0.000973333 0.00096 0.00096 0.000966667 0.00094 0.000953333 +0.000966667 0.000933333 0.00094 0.000946667 0.000986667 0.00098 0.000966667 0.00098 +0.000986667 0.217893 0.223573 0.223573 0.223573 0.223573 0.23304 0.242507 +0.246293 0.242507 0.242507 0.251973 0.263333 0.27848 0.303093 0.34664 +0.407227 0.501263 0.553684 0.618737 0.685053 0.757684 0.825263 0.887789 +0.944632 0.98849 1.00776 1.01233 0.439413 0.342853 0.31824 0.3296 +0.339067 0.371253 0.445093 0.526526 0.585895 0.675579 0.782947 0.897263 +0.984571 1.00449 0.993714 0.932632 0.823368 0.702737 0.597263 0.523368 +0.452667 0.501263 0.601053 0.741263 0.818947 0.780421 0.662947 0.548632 +0.458347 0.356107 0.291733 0.274693 0.259547 0.248187 0.248187 0.2444 +0.240613 0.234933 0.231147 0.219787 0.217893 0.217893 0.000973333 0.000946667 +0.00094 0.00094 0.000953333 0.000993333 0.216 0.00098 0.00096 0.000953333 +0.000953333 0.00096 0.000946667 0.00096 0.000953333 0.00094 0.000966667 0.00098 +0.00098 0.00096 0.000973333 0.000973333 0.00098 0.000973333 0.000966667 0.000973333 +0.00096 0.00096 0.000966667 0.000966667 0.000946667 0.000933333 0.00094 0.00092 +0.00092 0.00094 0.000926667 0.00092 0.000933333 0.000933333 0.00092 0.000913333 +0.000906667 0.000913333 0.000946667 0.000933333 0.000913333 0.00092 0.00094 0.000946667 +0.00092 0.000913333 0.000926667 0.000946667 0.00092 0.000933333 0.000946667 0.00094 +0.000946667 0.000933333 0.00092 0.000926667 0.000946667 0.00096 0.00094 0.00092 +0.000926667 0.00094 0.00092 0.000906667 0.000926667 0.00096 0.000953333 0.000933333 +0.000933333 0.000953333 0.00096 0.000933333 0.000926667 0.000953333 0.000993333 0.216 +0.000986667 0.216 0.000986667 0.00096 0.00096 0.000986667 0.22168 0.223573 +0.22168 0.234933 0.240613 0.248187 0.257653 0.26712 0.259547 0.253867 +0.293627 0.382613 0.524 0.62 0.716 0.787368 0.811368 0.789895 +0.751368 0.719789 0.702737 0.696421 0.689474 0.679368 0.666737 0.658526 +0.659158 0.661053 0.668632 0.684421 0.683789 0.656 0.633263 0.632 +0.631368 0.618737 0.603579 0.601684 0.618105 0.676842 0.771579 0.868842 +0.950947 0.993388 1.00547 1.00808 1.01004 1.01037 1.00612 1.00188 +0.995673 0.987184 0.98098 0.971789 0.966105 0.967368 0.969895 0.974316 +0.978737 0.982939 0.986531 0.990776 0.992735 0.993061 0.997959 1.00514 +1.00612 1.00841 1.01102 1.00743 1.00645 1.00776 1.00743 1.0071 +1.00743 1.00906 1.00906 1.00971 1.00841 1.00678 1.00808 1.00612 +1.00514 1.00449 1.00547 1.00743 1.00514 1.00188 1.00416 1.00612 +1.00678 1.00808 1.00645 1.00873 1.00971 1.00645 1.00841 1.0071 +1.00318 0.996653 0.986204 0.976211 0.971789 0.972421 0.980327 0.989796 +0.998612 1.00188 1.00286 1.00057 0.996 0.991755 0.990122 0.988163 +0.98 0.968632 0.960421 0.957263 0.951579 0.950947 0.949684 0.944 +0.940211 0.940211 0.949684 0.958526 0.964211 0.965474 0.967368 0.972421 +0.969895 0.966737 0.971158 0.971158 0.966105 0.968 0.971158 0.969263 +0.967368 0.971158 0.976211 0.978737 0.980327 0.981306 0.980653 0.976842 +0.980653 0.980653 0.981306 0.984245 0.981633 0.980653 0.98 0.971789 +0.971158 0.976211 0.978737 0.976842 0.974947 0.970526 0.968632 0.968632 +0.967368 0.968 0.968 0.968 0.969263 0.969263 0.973053 0.972421 +0.98098 0.982939 0.981633 0.982286 0.981959 0.983265 0.985224 0.987184 +0.988163 0.989796 0.992735 0.994041 0.993061 0.995347 0.997633 0.998612 +0.996327 0.996 0.995347 0.996653 0.996327 0.99698 0.994041 0.992082 +0.995347 0.99502 0.994041 0.991429 0.986857 0.984245 0.982612 0.98 +0.975579 0.973053 0.968632 0.969895 0.971158 0.973053 0.972421 0.969263 +0.966737 0.968632 0.974316 0.969895 0.964842 0.966737 0.965474 0.962316 +0.964211 0.966737 0.969895 0.970526 0.976211 0.984245 0.989143 0.99698 +1.00482 1.00841 1.00808 1.01037 1.01429 1.01265 1.00188 0.98098 +0.925053 0.843579 0.745053 0.665474 0.621895 0.605474 0.611158 0.635158 +0.659158 0.675579 0.683158 0.685053 0.681263 0.676211 0.676842 0.682526 +0.690737 0.704632 0.730526 0.768421 0.803789 0.809474 0.769684 0.688842 +0.592842 0.510105 0.365573 0.282267 0.248187 0.234933 0.22168 0.000993333 +0.216 0.000973333 0.00098 0.000993333 0.000986667 0.000986667 0.000946667 0.00096 +0.000993333 0.000986667 0.000946667 0.000926667 0.000953333 0.00098 0.000993333 0.000973333 +0.000986667 0.000966667 0.000986667 0.217893 0.000973333 0.00096 0.00096 0.000973333 +0.00096 0.00096 0.000966667 0.00096 0.000966667 0.000953333 0.000946667 0.00094 +0.000946667 0.00094 0.000933333 0.00092 0.000913333 0.00092 0.000913333 0.00088 +0.00088 0.000906667 0.000906667 0.00086 0.000853333 0.000873333 0.000873333 0.000906667 +0.00092 0.000913333 0.000906667 0.0009 0.000873333 0.0009 0.000906667 0.00088 +0.000873333 0.000873333 0.000893333 0.000913333 0.0009 0.000893333 0.000926667 0.000913333 +0.000913333 0.0009 0.000913333 0.00094 0.00094 0.00094 0.000966667 0.000953333 +0.00094 0.00098 0.000986667 0.000973333 0.000986667 0.000973333 0.000946667 0.000953333 +0.000953333 0.000933333 0.000946667 0.000973333 0.00098 0.000986667 0.00096 0.000973333 +0.219787 0.223573 0.229253 0.229253 0.236827 0.2444 0.25008 0.25576 +0.25576 0.253867 0.26144 0.28984 0.3296 0.39208 0.473493 0.531579 +0.584632 0.646526 0.712211 0.776632 0.834737 0.889684 0.943368 0.986857 +1.0058 1.00906 0.992082 0.933263 0.556211 0.446987 0.36936 0.34096 +0.31256 0.31824 0.325813 0.350427 0.399653 0.492427 0.556211 0.646526 +0.758947 0.868211 0.961053 0.998612 1.00057 0.963579 0.863789 0.748211 +0.638316 0.558105 0.542316 0.611789 0.733684 0.814526 0.786105 0.681895 +0.585263 0.508211 0.358 0.29552 0.269013 0.253867 0.248187 0.25008 +0.246293 0.23304 0.231147 0.219787 0.217893 0.216 0.000973333 0.00098 +0.00096 0.00094 0.00098 0.217893 0.000973333 0.000953333 0.000946667 0.000966667 +0.000953333 0.000946667 0.000953333 0.000953333 0.00094 0.000973333 0.000986667 0.00096 +0.00096 0.000953333 0.000973333 0.000966667 0.00098 0.000966667 0.00096 0.00098 +0.000946667 0.000953333 0.000946667 0.000926667 0.00092 0.000906667 0.000913333 0.000913333 +0.000933333 0.000933333 0.000933333 0.000933333 0.000933333 0.00092 0.000893333 0.000906667 +0.000913333 0.00092 0.000926667 0.000913333 0.00092 0.000933333 0.00094 0.000926667 +0.000906667 0.00092 0.00094 0.00094 0.000926667 0.00094 0.000933333 0.000933333 +0.000953333 0.000933333 0.00092 0.000946667 0.000966667 0.000913333 0.000893333 0.0009 +0.000926667 0.000933333 0.000913333 0.00092 0.000933333 0.000946667 0.000933333 0.000946667 +0.000953333 0.000946667 0.000946667 0.000946667 0.00098 0.216 0.00098 0.000953333 +0.00094 0.00094 0.00094 0.00096 0.00096 0.000993333 0.216 0.00096 +0.000986667 0.22736 0.229253 0.229253 0.23304 0.23304 0.234933 0.246293 +0.25008 0.25576 0.282267 0.359893 0.510105 0.598526 0.701474 0.781684 +0.811368 0.797474 0.757684 0.717895 0.691368 0.679368 0.670526 0.662316 +0.661053 0.652842 0.649053 0.673684 0.698316 0.688211 0.666737 0.654105 +0.650947 0.650316 0.643368 0.627579 0.609263 0.602316 0.624421 0.676211 +0.762105 0.866947 0.952211 0.993061 1.0058 1.00971 1.01167 1.01265 +1.00939 1.00318 0.996653 0.989143 0.981306 0.974947 0.972421 0.970526 +0.971789 0.976211 0.98 0.98098 0.98 0.981306 0.986204 0.991755 +0.993061 0.996327 0.998939 0.998939 1.00024 1.00122 1.0022 1.00318 +1.00514 1.00547 1.00547 1.00743 1.00482 1.00416 1.0058 1.00482 +1.00449 1.00416 1.00645 1.00906 1.00612 1.00384 1.00547 1.00416 +1.0058 1.00612 1.00449 1.0058 1.00286 1.00416 1.00906 1.00547 +0.998612 0.988163 0.972421 0.959789 0.957895 0.957263 0.961053 0.971789 +0.981633 0.984898 0.985878 0.984571 0.981306 0.978105 0.982612 0.984571 +0.982286 0.974947 0.964842 0.957895 0.951579 0.955368 0.956632 0.949684 +0.948421 0.953474 0.962947 0.968632 0.971158 0.972421 0.974947 0.973684 +0.962316 0.960421 0.966105 0.964842 0.963579 0.969263 0.973053 0.975579 +0.980653 0.986857 0.990776 0.992735 0.992082 0.994041 0.994367 0.992408 +0.996653 0.996327 0.992408 0.991429 0.988816 0.989796 0.989143 0.984571 +0.983592 0.985224 0.985878 0.985551 0.984245 0.981959 0.98098 0.976842 +0.967368 0.962947 0.964211 0.965474 0.967368 0.966105 0.964842 0.961684 +0.969263 0.976211 0.975579 0.974947 0.973053 0.975579 0.98 0.981633 +0.98098 0.98 0.980653 0.982286 0.982612 0.984245 0.983265 0.983265 +0.981633 0.982612 0.984571 0.986857 0.983918 0.982612 0.98 0.974947 +0.98 0.981959 0.981633 0.981306 0.978737 0.976842 0.976211 0.973053 +0.971789 0.974316 0.971789 0.973053 0.970526 0.969895 0.969895 0.963579 +0.959789 0.963579 0.966105 0.959789 0.953474 0.957895 0.964842 0.969263 +0.977474 0.983918 0.989143 0.991755 0.996327 1.00024 1.00384 1.01004 +1.01363 1.01331 1.01167 1.00645 0.996327 0.969263 0.890947 0.801263 +0.723579 0.657895 0.613053 0.603579 0.619368 0.640211 0.658526 0.671789 +0.68 0.683158 0.682526 0.681263 0.681263 0.682526 0.688211 0.703368 +0.734947 0.777263 0.810737 0.812632 0.767158 0.678105 0.577684 0.492427 +0.356107 0.286053 0.2444 0.23304 0.231147 0.225467 0.22168 0.223573 +0.217893 0.00098 0.00098 0.000986667 0.00096 0.000993333 0.000946667 0.00094 +0.000993333 0.000966667 0.000913333 0.000926667 0.000946667 0.00096 0.000966667 0.000966667 +0.00098 0.000953333 0.00096 0.000973333 0.000966667 0.00096 0.00094 0.000953333 +0.000946667 0.00094 0.000953333 0.000953333 0.000953333 0.000946667 0.000953333 0.000946667 +0.000933333 0.000906667 0.0009 0.000913333 0.00092 0.00092 0.000933333 0.000886667 +0.000873333 0.000893333 0.00092 0.000893333 0.00086 0.000866667 0.000873333 0.000893333 +0.000906667 0.0009 0.0009 0.000926667 0.000913333 0.00092 0.000913333 0.000893333 +0.000886667 0.000893333 0.00088 0.0009 0.000906667 0.000906667 0.000933333 0.00092 +0.000913333 0.000913333 0.00092 0.000946667 0.000926667 0.00092 0.00096 0.00096 +0.000953333 0.00098 0.000973333 0.00098 0.216 0.000986667 0.000973333 0.000973333 +0.000966667 0.00096 0.000973333 0.000986667 0.216 0.219787 0.219787 0.217893 +0.22736 0.236827 0.240613 0.236827 0.23872 0.246293 0.251973 0.263333 +0.2728 0.293627 0.350427 0.43184 0.512 0.558737 0.614316 0.674316 +0.734947 0.792421 0.846105 0.899789 0.954105 0.990449 1.00384 0.998612 +0.974947 0.906737 0.813895 0.707158 0.685053 0.554316 0.458347 0.36368 +0.325813 0.310667 0.303093 0.286053 0.29552 0.30688 0.365573 0.46024 +0.540421 0.616211 0.714105 0.828421 0.936421 0.993061 1.00416 0.988163 +0.906105 0.792421 0.686316 0.621895 0.640211 0.721684 0.788632 0.782316 +0.715368 0.607368 0.507579 0.38072 0.320133 0.28416 0.2728 0.265227 +0.25576 0.251973 0.246293 0.23304 0.229253 0.225467 0.22168 0.000993333 +0.000973333 0.00098 0.217893 0.217893 0.000993333 0.000973333 0.00098 0.216 +0.000986667 0.00098 0.00098 0.217893 0.219787 0.223573 0.219787 0.00098 +0.000973333 0.000986667 0.000966667 0.00096 0.219787 0.00098 0.000966667 0.000966667 +0.00094 0.00098 0.000946667 0.00096 0.000933333 0.000933333 0.00094 0.000946667 +0.00094 0.000946667 0.000966667 0.00096 0.00094 0.000933333 0.000906667 0.00092 +0.000926667 0.000953333 0.000966667 0.000946667 0.000933333 0.000946667 0.00096 0.000933333 +0.000946667 0.00098 0.000953333 0.00096 0.000946667 0.000946667 0.000946667 0.000946667 +0.000946667 0.000933333 0.000933333 0.000973333 0.00096 0.0009 0.00092 0.000966667 +0.00096 0.000953333 0.000946667 0.00094 0.00092 0.00094 0.000973333 0.00098 +0.000966667 0.00094 0.000953333 0.000946667 0.000966667 0.000953333 0.00092 0.000926667 +0.00094 0.000946667 0.000966667 0.00096 0.00094 0.000953333 0.00094 0.00094 +0.00096 0.00098 0.000993333 0.000993333 0.216 0.000973333 0.216 0.229253 +0.22168 0.229253 0.2444 0.251973 0.280373 0.35232 0.501895 0.589684 +0.692632 0.777263 0.812 0.796842 0.756421 0.716 0.686316 0.671789 +0.667368 0.660421 0.652842 0.668 0.696421 0.709684 0.704632 0.690105 +0.680632 0.675579 0.669263 0.659158 0.647789 0.632632 0.612421 0.597263 +0.615579 0.676842 0.768421 0.865053 0.938316 0.981633 0.997633 1.00743 +1.00971 1.01004 1.00808 1.00351 0.999265 0.993714 0.989469 0.983265 +0.976211 0.972421 0.971158 0.969895 0.967368 0.972421 0.978737 0.98098 +0.984571 0.987837 0.98751 0.988163 0.990776 0.991429 0.992735 0.993714 +0.99502 0.994694 0.995673 0.997633 0.997306 0.998612 1.00024 1.0022 +1.00449 1.00384 1.00449 1.00449 1.00155 1.00122 0.998939 0.995347 +0.99698 0.995673 0.996327 0.997306 0.994041 0.998939 1.00057 0.994694 +0.984898 0.973684 0.963579 0.961053 0.962947 0.957895 0.954105 0.957895 +0.965474 0.966737 0.966105 0.964842 0.963579 0.968 0.980327 0.983592 +0.984571 0.98 0.970526 0.967368 0.967368 0.976211 0.976211 0.968 +0.969263 0.973053 0.974316 0.969895 0.966105 0.962947 0.966105 0.966737 +0.958526 0.962316 0.963579 0.959158 0.968632 0.981959 0.986531 0.993061 +0.998286 1.00188 1.00253 1.00449 1.00514 1.00678 1.0058 1.00253 +1.00416 1.0022 1.0009 1.00188 1.00057 1.00286 1.00351 0.999592 +0.998939 0.999918 0.998612 0.996327 0.994041 0.995673 0.99502 0.989796 +0.982939 0.978737 0.974316 0.973053 0.971158 0.962947 0.958526 0.951579 +0.954105 0.960421 0.966737 0.969263 0.965474 0.968 0.972421 0.973053 +0.973053 0.974316 0.974947 0.976211 0.975579 0.976211 0.973053 0.976842 +0.973684 0.974947 0.981633 0.982286 0.974316 0.969895 0.969263 0.967368 +0.974947 0.98 0.979368 0.980327 0.977474 0.971158 0.964842 0.961053 +0.961053 0.967368 0.968632 0.964842 0.959158 0.956632 0.957263 0.956 +0.962316 0.971158 0.973684 0.975579 0.979368 0.983918 0.989469 0.990449 +0.99502 1.00318 1.00612 1.00808 1.00971 1.00939 1.01037 1.012 +1.00906 1.0009 0.983592 0.925053 0.851789 0.772211 0.688842 0.629474 +0.601684 0.602947 0.623158 0.647789 0.666105 0.676211 0.68 0.68 +0.683789 0.683789 0.683158 0.681895 0.690105 0.707789 0.736842 0.778526 +0.815158 0.813895 0.761474 0.671158 0.573895 0.492427 0.35232 0.27848 +0.251973 0.240613 0.22736 0.23304 0.234933 0.229253 0.223573 0.229253 +0.219787 0.000993333 0.000986667 0.000953333 0.000953333 0.000966667 0.000946667 0.000933333 +0.00096 0.000946667 0.000913333 0.00094 0.00094 0.000946667 0.000946667 0.00094 +0.00096 0.000966667 0.00096 0.00094 0.000933333 0.000946667 0.00094 0.00092 +0.000926667 0.000933333 0.000933333 0.000933333 0.00094 0.00094 0.000933333 0.00092 +0.000893333 0.000893333 0.000893333 0.000906667 0.000913333 0.00092 0.000913333 0.000893333 +0.000866667 0.000886667 0.000906667 0.000886667 0.000893333 0.000906667 0.000913333 0.000886667 +0.000886667 0.000886667 0.0009 0.00092 0.00094 0.00094 0.000933333 0.000926667 +0.000913333 0.000906667 0.000906667 0.000906667 0.000913333 0.000913333 0.000913333 0.000906667 +0.0009 0.000913333 0.000913333 0.000933333 0.000926667 0.000913333 0.000946667 0.000953333 +0.000933333 0.00096 0.000973333 0.000986667 0.217893 0.219787 0.216 0.000993333 +0.217893 0.216 0.000986667 0.000973333 0.000986667 0.22168 0.22736 0.234933 +0.23872 0.2444 0.251973 0.25576 0.26144 0.263333 0.270907 0.299307 +0.358 0.462133 0.532211 0.582105 0.634526 0.688211 0.742526 0.798105 +0.851158 0.904842 0.960421 0.993714 1.00612 0.998939 0.956632 0.861895 +0.760211 0.672421 0.597263 0.529684 0.853684 0.680632 0.556211 0.446987 +0.365573 0.327707 0.30688 0.293627 0.282267 0.291733 0.297413 0.322027 +0.354213 0.422373 0.515158 0.588421 0.686316 0.796842 0.911158 0.98849 +1.00351 0.994694 0.946526 0.853053 0.763368 0.718526 0.74 0.788632 +0.802526 0.738105 0.629474 0.542316 0.473493 0.390187 0.344747 0.303093 +0.280373 0.282267 0.269013 0.251973 0.246293 0.240613 0.23872 0.22736 +0.229253 0.236827 0.234933 0.234933 0.23304 0.225467 0.229253 0.231147 +0.223573 0.217893 0.225467 0.219787 0.219787 0.223573 0.223573 0.219787 +0.000986667 0.000986667 0.00098 0.000993333 0.217893 0.000973333 0.000966667 0.00096 +0.000953333 0.00098 0.000953333 0.000946667 0.00092 0.00094 0.00096 0.000933333 +0.000926667 0.000946667 0.00094 0.000933333 0.000933333 0.00094 0.00094 0.00096 +0.000946667 0.000946667 0.000966667 0.000946667 0.000926667 0.000946667 0.000946667 0.00096 +0.000953333 0.00092 0.000926667 0.000953333 0.000926667 0.00092 0.000933333 0.000953333 +0.000946667 0.000953333 0.000933333 0.000926667 0.000933333 0.00092 0.000926667 0.00094 +0.000906667 0.000913333 0.000933333 0.000926667 0.00094 0.000966667 0.000953333 0.00094 +0.00096 0.000926667 0.000926667 0.000953333 0.00092 0.000906667 0.000926667 0.00094 +0.000946667 0.00098 0.00096 0.00092 0.0009 0.00094 0.00094 0.00096 +0.000953333 0.000953333 0.000946667 0.000966667 0.000966667 0.000966667 0.000986667 0.217893 +0.00098 0.00098 0.22168 0.234933 0.25008 0.265227 0.280373 0.35232 +0.502526 0.580842 0.678105 0.762105 0.807579 0.807579 0.772842 0.725474 +0.690737 0.678105 0.674316 0.678105 0.685053 0.692 0.697053 0.698316 +0.698316 0.698316 0.692 0.670526 0.655368 0.658526 0.650316 0.627579 +0.608632 0.601684 0.621895 0.672421 0.736211 0.803789 0.882105 0.955368 +0.991102 1.00449 1.00906 1.00939 1.01102 1.00971 1.00612 0.998939 +0.993061 0.988163 0.982612 0.979368 0.978105 0.976842 0.974316 0.971789 +0.978105 0.982286 0.981959 0.981633 0.982286 0.982286 0.981959 0.982939 +0.984898 0.985224 0.985878 0.985878 0.98751 0.989143 0.98849 0.989469 +0.991755 0.993714 0.995347 0.992408 0.989469 0.990449 0.98751 0.985551 +0.984898 0.981633 0.983918 0.983265 0.98098 0.983918 0.983918 0.980653 +0.968632 0.961684 0.964211 0.969895 0.969895 0.961684 0.956632 0.957895 +0.964211 0.965474 0.966105 0.961053 0.962316 0.969895 0.973684 0.972421 +0.970526 0.965474 0.964842 0.962947 0.966737 0.977474 0.973053 0.966737 +0.968632 0.971789 0.974316 0.967368 0.957263 0.952842 0.958526 0.958526 +0.955368 0.967368 0.979368 0.982286 0.992082 1.00024 1.00253 1.00514 +1.00482 1.00514 1.00449 1.00678 1.0071 1.00808 1.0058 1.00351 +1.00514 1.00449 1.0058 1.00743 1.00645 1.00776 1.00873 1.00678 +1.00743 1.00808 1.0071 1.00449 1.00253 1.00416 1.00612 1.00449 +1.00024 0.996653 0.993061 0.991429 0.989796 0.982939 0.972421 0.960421 +0.955368 0.958526 0.963579 0.962947 0.961053 0.966737 0.968 0.964842 +0.962947 0.963579 0.966105 0.968632 0.966737 0.964211 0.964842 0.971789 +0.969263 0.966105 0.971789 0.969263 0.964211 0.966105 0.966737 0.966105 +0.967368 0.968 0.963579 0.964211 0.964211 0.957895 0.953474 0.954105 +0.959789 0.969895 0.973053 0.971789 0.969263 0.973684 0.980327 0.983265 +0.986531 0.990776 0.991429 0.994694 0.998939 1.00122 1.00482 1.00514 +1.00776 1.01233 1.01167 1.01233 1.012 1.00841 1.0022 0.988163 +0.952842 0.894737 0.812632 0.722316 0.658526 0.623789 0.610526 0.614947 +0.626316 0.645263 0.665474 0.677474 0.681263 0.681263 0.682526 0.686316 +0.688211 0.686947 0.688211 0.704 0.739368 0.782316 0.813263 0.807579 +0.751368 0.65979 0.565053 0.473493 0.34096 0.280373 0.25576 0.240613 +0.229253 0.225467 0.219787 0.22736 0.229253 0.231147 0.231147 0.225467 +0.000993333 0.216 0.000993333 0.00094 0.000946667 0.000946667 0.000953333 0.000946667 +0.00096 0.000953333 0.00094 0.000946667 0.000953333 0.000946667 0.000953333 0.000926667 +0.000906667 0.000933333 0.000966667 0.000946667 0.00094 0.000933333 0.00094 0.000926667 +0.000926667 0.000933333 0.000926667 0.00094 0.000933333 0.000926667 0.000933333 0.000926667 +0.00092 0.000913333 0.000926667 0.000906667 0.000926667 0.00094 0.000926667 0.000913333 +0.000906667 0.000906667 0.000906667 0.000906667 0.000926667 0.000953333 0.000946667 0.000913333 +0.000893333 0.000886667 0.0009 0.000913333 0.00092 0.000933333 0.000946667 0.000946667 +0.000926667 0.000906667 0.000933333 0.00094 0.000926667 0.000913333 0.000926667 0.000933333 +0.000926667 0.000933333 0.00092 0.000913333 0.000933333 0.00094 0.00096 0.00096 +0.000946667 0.000966667 0.000986667 0.000986667 0.216 0.219787 0.22168 0.219787 +0.217893 0.217893 0.22168 0.22168 0.217893 0.223573 0.23304 0.242507 +0.25008 0.25576 0.265227 0.276587 0.287947 0.31256 0.371253 0.48296 +0.546105 0.607368 0.663579 0.715368 0.762105 0.806947 0.857474 0.916211 +0.971158 0.996327 1.00351 0.990776 0.941474 0.851158 0.74 0.634526 +0.554947 0.506316 0.418587 0.350427 0.998286 0.859368 0.682526 0.556842 +0.46024 0.367467 0.325813 0.303093 0.287947 0.291733 0.286053 0.293627 +0.299307 0.314453 0.327707 0.399653 0.506316 0.571368 0.66421 0.769684 +0.873895 0.964842 1.00253 1.00841 0.985878 0.917474 0.849895 0.819579 +0.827158 0.824 0.771579 0.686947 0.602947 0.539158 0.486747 0.401547 +0.354213 0.322027 0.293627 0.274693 0.265227 0.25576 0.25576 0.248187 +0.236827 0.236827 0.236827 0.23872 0.229253 0.225467 0.23304 0.234933 +0.223573 0.223573 0.22168 0.000986667 0.217893 0.223573 0.223573 0.000993333 +0.000993333 0.223573 0.219787 0.217893 0.000973333 0.000973333 0.000973333 0.000966667 +0.00096 0.000926667 0.0009 0.000913333 0.000906667 0.000933333 0.000953333 0.000946667 +0.000933333 0.00094 0.00092 0.000926667 0.000933333 0.000926667 0.00094 0.00096 +0.00092 0.00094 0.000973333 0.00094 0.000913333 0.000933333 0.00094 0.000953333 +0.000906667 0.000906667 0.00092 0.000946667 0.000933333 0.000933333 0.00096 0.000953333 +0.000926667 0.000913333 0.000893333 0.000893333 0.000906667 0.000893333 0.000893333 0.000906667 +0.0009 0.00092 0.000926667 0.000933333 0.000966667 0.000946667 0.000933333 0.00094 +0.00094 0.000926667 0.000946667 0.000933333 0.0009 0.00094 0.000946667 0.000933333 +0.00094 0.00094 0.000906667 0.000906667 0.000926667 0.000953333 0.000933333 0.000926667 +0.00094 0.00094 0.00094 0.000986667 0.00098 0.00098 0.000973333 0.000986667 +0.000986667 0.00098 0.000993333 0.216 0.000993333 0.219787 0.234933 0.25576 +0.27848 0.33528 0.473493 0.561895 0.647789 0.736842 0.796842 0.807579 +0.786737 0.751368 0.716632 0.694526 0.684421 0.680632 0.683158 0.686947 +0.692 0.700842 0.698316 0.668632 0.640842 0.647158 0.659158 0.659158 +0.650947 0.635789 0.621263 0.612421 0.609263 0.627579 0.685684 0.768421 +0.853053 0.923158 0.977474 0.997633 1.00678 1.01037 1.00939 1.00743 +1.00873 1.0071 1.00253 0.998612 0.99698 0.992735 0.984898 0.979368 +0.976842 0.973684 0.971789 0.969895 0.971789 0.976842 0.976211 0.973053 +0.972421 0.971158 0.974316 0.974947 0.976211 0.978737 0.98 0.978105 +0.979368 0.982612 0.982612 0.979368 0.978737 0.978737 0.976211 0.977474 +0.974316 0.970526 0.973684 0.968632 0.965474 0.968 0.969263 0.970526 +0.968 0.964842 0.967368 0.971789 0.965474 0.957895 0.956 0.962947 +0.968632 0.969263 0.971158 0.966737 0.967368 0.969263 0.965474 0.961053 +0.959158 0.958526 0.956 0.951579 0.957263 0.967368 0.964211 0.960421 +0.959789 0.960421 0.964211 0.959158 0.950316 0.949053 0.959158 0.965474 +0.974316 0.989143 0.997633 1.00122 1.0071 1.00808 1.00743 1.0071 +1.00678 1.00678 1.00645 1.00547 1.00482 1.0058 1.00449 1.00612 +1.00906 1.0071 1.00612 1.0071 1.00776 1.00808 1.00808 1.00645 +1.00873 1.01102 1.01069 1.00743 1.00547 1.00808 1.00939 1.00971 +1.00906 1.00776 1.00645 1.00449 1.0022 0.998939 0.994367 0.98751 +0.984571 0.984898 0.983265 0.979368 0.976211 0.979368 0.975579 0.968632 +0.966105 0.967368 0.974316 0.976211 0.970526 0.966105 0.966737 0.969263 +0.963579 0.960421 0.962947 0.959789 0.957263 0.959158 0.964211 0.962316 +0.960421 0.963579 0.966105 0.969895 0.977474 0.980327 0.981306 0.983918 +0.98751 0.992735 0.995347 0.99502 0.994041 0.995673 1.00188 1.0058 +1.0058 1.0058 1.0058 1.00743 1.00841 1.00808 1.00971 1.01004 +1.00906 1.00808 1.00482 0.99698 0.981633 0.939579 0.885895 0.825263 +0.758316 0.693263 0.638947 0.608632 0.607368 0.625684 0.649053 0.661684 +0.665474 0.671789 0.676842 0.678105 0.680632 0.683158 0.685684 0.688211 +0.693895 0.712842 0.747579 0.789895 0.816421 0.804421 0.745684 0.650316 +0.552421 0.446987 0.3296 0.276587 0.257653 0.242507 0.229253 0.234933 +0.22736 0.22168 0.22168 0.22168 0.223573 0.225467 0.229253 0.216 +0.00096 0.000986667 0.00098 0.000953333 0.00094 0.000926667 0.00094 0.000953333 +0.00094 0.000926667 0.00094 0.000953333 0.000953333 0.00096 0.000953333 0.000953333 +0.00094 0.000926667 0.000946667 0.000926667 0.000906667 0.000913333 0.00092 0.00092 +0.00092 0.00092 0.00092 0.000933333 0.000913333 0.000906667 0.00092 0.00094 +0.000933333 0.00094 0.00094 0.000913333 0.00092 0.00094 0.00094 0.00092 +0.00092 0.000926667 0.000906667 0.00088 0.000886667 0.000926667 0.000926667 0.000913333 +0.0009 0.000886667 0.0009 0.000906667 0.00088 0.000913333 0.000913333 0.000933333 +0.000913333 0.000913333 0.000953333 0.00098 0.000953333 0.000933333 0.00096 0.00096 +0.000953333 0.00096 0.000953333 0.000966667 0.000966667 0.000953333 0.000973333 0.000966667 +0.000953333 0.000973333 0.000986667 0.00098 0.000993333 0.219787 0.223573 0.223573 +0.225467 0.223573 0.23304 0.240613 0.240613 0.23872 0.242507 0.25008 +0.259547 0.270907 0.299307 0.344747 0.4148 0.508842 0.564421 0.631368 +0.697053 0.748842 0.789895 0.832842 0.880842 0.933263 0.982939 0.999918 +1.00057 0.981306 0.909263 0.812632 0.715368 0.625053 0.548 0.4716 +0.371253 0.333387 0.308773 0.299307 1.02441 0.998286 0.859368 0.690105 +0.56 0.450773 0.356107 0.322027 0.304987 0.286053 0.291733 0.28416 +0.29552 0.293627 0.291733 0.308773 0.337173 0.382613 0.490533 0.551158 +0.626947 0.721684 0.830316 0.933263 0.995673 1.01461 1.00449 0.975579 +0.929474 0.904211 0.887158 0.848 0.772211 0.682526 0.604211 0.545474 +0.503789 0.424267 0.359893 0.320133 0.28416 0.270907 0.269013 0.257653 +0.2444 0.248187 0.246293 0.240613 0.234933 0.234933 0.236827 0.23872 +0.22736 0.229253 0.223573 0.22168 0.223573 0.216 0.00098 0.000966667 +0.00098 0.217893 0.000993333 0.00098 0.00098 0.00096 0.00094 0.000946667 +0.00092 0.000933333 0.000926667 0.000953333 0.000946667 0.00098 0.00098 0.00094 +0.00096 0.000933333 0.00094 0.000966667 0.00094 0.00094 0.000946667 0.000913333 +0.0009 0.000946667 0.000973333 0.000946667 0.000906667 0.00092 0.000926667 0.000926667 +0.000926667 0.00092 0.000913333 0.000946667 0.000933333 0.00092 0.000946667 0.000933333 +0.000913333 0.000926667 0.000913333 0.00092 0.000926667 0.000933333 0.000946667 0.000953333 +0.000953333 0.000946667 0.000946667 0.000953333 0.00098 0.000946667 0.00094 0.000926667 +0.00092 0.00094 0.000926667 0.000926667 0.00094 0.00096 0.000933333 0.00094 +0.00096 0.000946667 0.000926667 0.00096 0.000946667 0.00094 0.000913333 0.000926667 +0.000973333 0.00098 0.000953333 0.00094 0.00094 0.000946667 0.00092 0.00092 +0.000953333 0.000953333 0.000946667 0.000946667 0.00096 0.00098 0.219787 0.229253 +0.234933 0.253867 0.28984 0.3296 0.422373 0.534105 0.616211 0.698947 +0.770947 0.812 0.812632 0.787368 0.753895 0.718526 0.693895 0.683789 +0.685053 0.690737 0.691368 0.671158 0.644632 0.641474 0.654105 0.664842 +0.668 0.666737 0.661053 0.649053 0.628211 0.608632 0.601684 0.617474 +0.658526 0.715368 0.794947 0.877684 0.939579 0.983592 0.998939 1.00971 +1.01592 1.01461 1.01167 1.01102 1.01037 1.00612 0.999265 0.994367 +0.991429 0.987837 0.983265 0.978737 0.976211 0.976211 0.973053 0.968 +0.961684 0.955368 0.956632 0.956632 0.956632 0.962316 0.968 0.967368 +0.973053 0.977474 0.973053 0.968 0.968 0.964211 0.964842 0.969895 +0.968 0.967368 0.965474 0.961053 0.962947 0.963579 0.963579 0.962947 +0.964842 0.962316 0.965474 0.967368 0.958526 0.950947 0.952211 0.961053 +0.962316 0.958526 0.959158 0.957895 0.957895 0.954737 0.952211 0.954737 +0.952842 0.950947 0.954737 0.958526 0.962947 0.968 0.966737 0.967368 +0.963579 0.958526 0.956632 0.952211 0.952842 0.962316 0.980327 0.986531 +0.993388 1.00155 1.00482 1.00482 1.00612 1.0058 1.00743 1.00841 +1.01004 1.00971 1.00906 1.00743 1.00547 1.00547 1.00384 1.00547 +1.0071 1.00482 1.00645 1.00939 1.00971 1.00873 1.00776 1.00678 +1.00906 1.01102 1.01037 1.00906 1.00939 1.01298 1.01265 1.01102 +1.00971 1.01004 1.01135 1.01069 1.00873 1.00873 1.00808 1.00416 +1.00286 1.00318 1.00024 0.995347 0.993714 0.993714 0.994041 0.993714 +0.992082 0.993061 0.99502 0.993714 0.989143 0.986531 0.985551 0.983918 +0.981306 0.980653 0.982612 0.98098 0.975579 0.976842 0.982939 0.983592 +0.983592 0.988816 0.991429 0.993388 0.998939 1.00253 1.00188 1.00351 +1.00645 1.00808 1.01037 1.00841 1.0071 1.00808 1.01069 1.01298 +1.01363 1.01167 1.01069 1.01135 1.01004 1.00645 1.00188 0.994041 +0.982286 0.951579 0.911158 0.861895 0.8 0.733053 0.677474 0.641474 +0.618105 0.607368 0.616211 0.633263 0.650947 0.666105 0.678105 0.678105 +0.674947 0.676211 0.680632 0.683789 0.687579 0.692632 0.700842 0.718526 +0.755158 0.8 0.826526 0.805684 0.734947 0.641474 0.549263 0.435627 +0.316347 0.269013 0.246293 0.23872 0.231147 0.223573 0.217893 0.225467 +0.000993333 0.000993333 0.225467 0.000993333 0.000986667 0.22168 0.219787 0.00098 +0.000933333 0.000926667 0.00094 0.000946667 0.000933333 0.000926667 0.000946667 0.000946667 +0.000906667 0.000886667 0.000893333 0.0009 0.0009 0.000893333 0.000893333 0.000906667 +0.000933333 0.000913333 0.00092 0.00088 0.000866667 0.000906667 0.000913333 0.000933333 +0.000933333 0.00094 0.00096 0.000946667 0.00092 0.000906667 0.000913333 0.000913333 +0.0009 0.00092 0.000913333 0.000893333 0.000886667 0.0009 0.00092 0.000893333 +0.000893333 0.00092 0.000893333 0.000866667 0.00088 0.000926667 0.000953333 0.000933333 +0.00092 0.000913333 0.000933333 0.000913333 0.000906667 0.000933333 0.000926667 0.000933333 +0.000913333 0.000906667 0.000933333 0.00096 0.000966667 0.000946667 0.000953333 0.000973333 +0.000966667 0.000973333 0.000953333 0.00098 0.219787 0.000993333 0.216 0.217893 +0.22168 0.231147 0.231147 0.229253 0.23304 0.23304 0.240613 0.240613 +0.240613 0.23872 0.242507 0.242507 0.25008 0.251973 0.257653 0.270907 +0.308773 0.36936 0.473493 0.540421 0.599158 0.66421 0.726737 0.781684 +0.825263 0.863158 0.906737 0.958526 0.992082 1.0022 0.994694 0.954105 +0.871368 0.776632 0.683158 0.596632 0.530947 0.458347 0.36936 0.316347 +0.29552 0.287947 0.287947 0.291733 0.962316 1.02376 1.00024 0.869474 +0.695158 0.561263 0.464027 0.358 0.31256 0.29552 0.291733 0.28984 +0.29552 0.287947 0.280373 0.280373 0.293627 0.297413 0.32392 0.361787 +0.4432 0.522737 0.588421 0.680632 0.793684 0.909263 0.987184 1.01167 +1.01657 1.00743 0.995347 0.981633 0.939579 0.877053 0.791158 0.696421 +0.615579 0.552421 0.508211 0.439413 0.38072 0.34096 0.310667 0.287947 +0.282267 0.282267 0.2728 0.259547 0.257653 0.25008 0.2444 0.236827 +0.234933 0.236827 0.223573 0.219787 0.216 0.216 0.216 0.216 +0.22168 0.219787 0.000986667 0.000993333 0.000993333 0.000966667 0.00096 0.00096 +0.000973333 0.219787 0.216 0.219787 0.216 0.000993333 0.00098 0.00094 +0.000946667 0.000926667 0.00094 0.00096 0.000933333 0.00096 0.000926667 0.000906667 +0.000933333 0.000946667 0.00096 0.000966667 0.000953333 0.000933333 0.000933333 0.000946667 +0.00094 0.000926667 0.000933333 0.000946667 0.000926667 0.000926667 0.000946667 0.00096 +0.000966667 0.000993333 0.00096 0.000953333 0.00096 0.000966667 0.000966667 0.00096 +0.000933333 0.00094 0.000953333 0.00096 0.000946667 0.00092 0.000913333 0.000926667 +0.000946667 0.000966667 0.000946667 0.000953333 0.00094 0.000913333 0.00092 0.000953333 +0.000926667 0.000926667 0.000966667 0.000973333 0.000946667 0.000953333 0.000953333 0.000953333 +0.216 0.00098 0.00094 0.0009 0.000953333 0.00098 0.000966667 0.000946667 +0.000986667 0.000973333 0.000926667 0.000913333 0.000953333 0.217893 0.219787 0.225467 +0.225467 0.23304 0.248187 0.26144 0.280373 0.31256 0.3864 0.505684 +0.573263 0.656 0.734316 0.791158 0.817684 0.813263 0.785474 0.752 +0.723579 0.700842 0.685684 0.673053 0.662316 0.656632 0.659158 0.666105 +0.670526 0.671789 0.673053 0.669895 0.665474 0.657263 0.643368 0.628211 +0.613053 0.608632 0.631368 0.676211 0.735579 0.808842 0.885895 0.956632 +0.991429 1.0022 1.00841 1.01298 1.01265 1.01004 1.00776 1.0058 +1.00547 1.00351 0.999592 0.995673 0.994367 0.994367 0.991102 0.986204 +0.982612 0.976211 0.971789 0.966737 0.961053 0.961053 0.959789 0.961684 +0.969895 0.974316 0.971789 0.968632 0.968632 0.961684 0.964842 0.966105 +0.965474 0.964842 0.961053 0.959158 0.962316 0.959158 0.956 0.955368 +0.954105 0.951579 0.956 0.957263 0.950947 0.949053 0.952211 0.959789 +0.961053 0.959158 0.957263 0.953474 0.953474 0.957895 0.962947 0.966737 +0.965474 0.962316 0.967368 0.972421 0.976211 0.979368 0.978105 0.981959 +0.981959 0.975579 0.969895 0.971158 0.979368 0.987184 0.996653 0.999592 +1.00286 1.00645 1.00645 1.0071 1.00547 1.0058 1.00678 1.00612 +1.00547 1.00351 1.00024 0.992082 0.982286 0.969895 0.964211 0.969263 +0.972421 0.978105 0.985878 0.992082 0.995673 0.997959 1.00122 1.00351 +1.0058 1.00645 1.00743 1.00939 1.00939 1.01233 1.01494 1.01527 +1.01559 1.0169 1.01788 1.01527 1.01135 1.01037 1.00971 1.0058 +1.00482 1.00678 1.00547 1.00384 1.00351 1.00188 1.00318 1.00449 +1.00384 1.00612 1.00808 1.0071 1.00416 1.00384 1.00253 1.00057 +0.999592 0.999592 0.999918 0.999592 0.998612 0.998286 1.00155 1.00155 +1.0009 1.0058 1.00743 1.00645 1.01004 1.01135 1.00906 1.01069 +1.01233 1.01167 1.01233 1.01102 1.01167 1.012 1.00906 1.00776 +1.00547 1.00057 0.994367 0.987184 0.971158 0.932 0.886526 0.848632 +0.806316 0.752632 0.702737 0.664842 0.632 0.608632 0.604842 0.614947 +0.629474 0.644 0.661684 0.671789 0.677474 0.68 0.683789 0.685053 +0.681895 0.68 0.683158 0.690737 0.708421 0.735579 0.771579 0.804421 +0.818316 0.790526 0.720421 0.625684 0.537895 0.43184 0.320133 0.263333 +0.248187 0.2444 0.242507 0.236827 0.229253 0.23304 0.223573 0.216 +0.00098 0.00098 0.00098 0.00096 0.000973333 0.000993333 0.00096 0.00094 +0.000926667 0.00088 0.000873333 0.00088 0.000853333 0.000873333 0.00092 0.00092 +0.00088 0.000873333 0.000913333 0.000926667 0.000913333 0.000906667 0.000906667 0.0009 +0.00094 0.000946667 0.000946667 0.000926667 0.000913333 0.000906667 0.0009 0.000933333 +0.000953333 0.00094 0.000946667 0.000926667 0.000906667 0.000906667 0.000906667 0.0009 +0.0009 0.000926667 0.000913333 0.000893333 0.000886667 0.000886667 0.000906667 0.000886667 +0.0009 0.00092 0.000906667 0.000893333 0.0009 0.000913333 0.00094 0.000933333 +0.000913333 0.000913333 0.000926667 0.00092 0.000926667 0.000966667 0.000966667 0.00096 +0.000933333 0.000906667 0.00092 0.00094 0.00096 0.000946667 0.00096 0.000973333 +0.00096 0.000966667 0.00096 0.000973333 0.216 0.216 0.22168 0.223573 +0.229253 0.242507 0.23872 0.23872 0.248187 0.2444 0.248187 0.26144 +0.259547 0.257653 0.26712 0.274693 0.280373 0.304987 0.348533 0.412907 +0.512632 0.569474 0.634526 0.697684 0.753263 0.805053 0.851789 0.896632 +0.942737 0.984898 1.00188 1.00318 0.988163 0.928842 0.836632 0.737474 +0.644632 0.568842 0.512 0.42048 0.344747 0.31824 0.293627 0.287947 +0.291733 0.293627 0.304987 0.31256 0.762737 0.952842 1.02147 1.00057 +0.872 0.702737 0.569474 0.46592 0.354213 0.320133 0.303093 0.297413 +0.287947 0.286053 0.282267 0.28416 0.27848 0.280373 0.28984 0.28984 +0.310667 0.331493 0.390187 0.498107 0.563789 0.656632 0.755789 0.860632 +0.959158 1.00645 1.02539 1.02963 1.02506 1.01363 0.990122 0.924421 +0.827789 0.726105 0.637053 0.571368 0.527158 0.490533 0.418587 0.36936 +0.33528 0.303093 0.286053 0.280373 0.2728 0.25576 0.253867 0.240613 +0.236827 0.23872 0.23304 0.23304 0.231147 0.231147 0.22736 0.22736 +0.225467 0.217893 0.22168 0.225467 0.219787 0.000966667 0.000973333 0.00098 +0.00098 0.000973333 0.000966667 0.000993333 0.000973333 0.00096 0.00096 0.000926667 +0.000906667 0.00092 0.000933333 0.000933333 0.00094 0.000973333 0.000966667 0.00096 +0.000966667 0.216 0.219787 0.000993333 0.000966667 0.000946667 0.00096 0.000973333 +0.00096 0.00094 0.000946667 0.000946667 0.000966667 0.000946667 0.000953333 0.00098 +0.00098 0.00096 0.000946667 0.000953333 0.000973333 0.000946667 0.000966667 0.00096 +0.000946667 0.000946667 0.000953333 0.000953333 0.000953333 0.00094 0.00094 0.000953333 +0.000946667 0.00096 0.000933333 0.000926667 0.000926667 0.000946667 0.00096 0.00094 +0.00092 0.00094 0.000966667 0.000933333 0.000906667 0.00094 0.000966667 0.000933333 +0.000946667 0.000926667 0.00092 0.000946667 0.00096 0.00096 0.00096 0.000953333 +0.000986667 0.216 0.00096 0.000946667 0.000973333 0.22168 0.22736 0.219787 +0.22168 0.223573 0.000993333 0.22168 0.234933 0.240613 0.263333 0.28984 +0.34096 0.429947 0.524 0.587789 0.657895 0.728 0.779789 0.810737 +0.815789 0.792421 0.755158 0.718526 0.690737 0.671789 0.669895 0.674947 +0.677474 0.680632 0.681263 0.677474 0.676211 0.677474 0.677474 0.669263 +0.656632 0.642105 0.623158 0.608 0.608 0.628211 0.677474 0.748211 +0.820842 0.880211 0.92821 0.971789 0.990776 1.00057 1.00645 1.01004 +1.01102 1.01004 1.00939 1.00873 1.00873 1.00808 1.00449 1.00122 +0.998286 0.99698 0.997633 0.99502 0.990776 0.986531 0.983265 0.983918 +0.985224 0.985224 0.985224 0.984898 0.98098 0.977474 0.980327 0.977474 +0.976211 0.976842 0.974947 0.971789 0.973684 0.973053 0.967368 0.966737 +0.969895 0.974947 0.979368 0.976842 0.974947 0.973684 0.978737 0.982612 +0.985878 0.98849 0.986531 0.984571 0.985224 0.987837 0.989796 0.990449 +0.990449 0.988163 0.98849 0.991429 0.993061 0.993388 0.992408 0.99502 +0.997306 0.994041 0.992408 0.993061 0.996 0.998939 1.00318 1.00351 +1.00514 1.00678 1.00645 1.0071 1.00482 1.00318 1.00286 0.996 +0.983918 0.957263 0.916842 0.866316 0.821474 0.788 0.779789 0.788632 +0.791789 0.798105 0.818316 0.844211 0.863789 0.886526 0.913684 0.939579 +0.959789 0.972421 0.98098 0.986857 0.990449 0.998286 1.0058 1.01004 +1.01265 1.01461 1.01429 1.012 1.00971 1.00971 1.00873 1.00547 +1.00547 1.00776 1.00873 1.01037 1.00906 1.00612 1.00678 1.00776 +1.00645 1.00776 1.01102 1.01135 1.012 1.01396 1.012 1.00971 +1.01102 1.01004 1.00743 1.00808 1.00776 1.00612 1.00776 1.00743 +1.00678 1.00971 1.01069 1.01004 1.01102 1.01167 1.00939 1.00776 +1.00514 1.00253 0.999918 0.995347 0.988816 0.979368 0.957263 0.932 +0.904842 0.881474 0.853684 0.818947 0.780421 0.729263 0.682526 0.658526 +0.639579 0.616211 0.607368 0.612421 0.621263 0.633263 0.645895 0.658526 +0.668 0.673684 0.68 0.683789 0.684421 0.685053 0.688211 0.690105 +0.690105 0.697684 0.719158 0.752632 0.791158 0.819579 0.814526 0.770947 +0.694526 0.603579 0.522105 0.399653 0.322027 0.276587 0.2444 0.240613 +0.25008 0.246293 0.2444 0.229253 0.225467 0.23304 0.219787 0.000953333 +0.00096 0.000986667 0.000946667 0.00094 0.00096 0.000933333 0.00092 0.000926667 +0.00094 0.000886667 0.00088 0.000853333 0.000833333 0.000866667 0.000913333 0.000913333 +0.000866667 0.00088 0.00092 0.000946667 0.000953333 0.00094 0.000926667 0.000913333 +0.00094 0.000946667 0.00096 0.000946667 0.000953333 0.000933333 0.000893333 0.0009 +0.00092 0.000933333 0.00094 0.00094 0.000926667 0.000926667 0.00092 0.000906667 +0.00092 0.000933333 0.000926667 0.000913333 0.000893333 0.0009 0.00092 0.000893333 +0.000906667 0.000926667 0.000913333 0.00092 0.000933333 0.000926667 0.00092 0.00094 +0.00094 0.000906667 0.000886667 0.000906667 0.000933333 0.000953333 0.000933333 0.000933333 +0.000926667 0.00092 0.000926667 0.00094 0.000946667 0.000953333 0.000973333 0.000986667 +0.00098 0.00098 0.000986667 0.22168 0.223573 0.217893 0.225467 0.231147 +0.234933 0.2444 0.242507 0.2444 0.25576 0.25576 0.259547 0.270907 +0.27848 0.286053 0.304987 0.337173 0.388293 0.484853 0.543579 0.602316 +0.665474 0.728 0.784211 0.829684 0.873263 0.923158 0.973053 0.996653 +1.00678 1.00188 0.976211 0.895368 0.799368 0.702105 0.613053 0.543579 +0.479173 0.378827 0.322027 0.293627 0.280373 0.286053 0.28416 0.28984 +0.299307 0.304987 0.314453 0.333387 0.570105 0.753263 0.954737 1.02343 +1.00351 0.878947 0.711579 0.575789 0.47728 0.361787 0.320133 0.303093 +0.293627 0.28984 0.287947 0.286053 0.263333 0.276587 0.276587 0.269013 +0.270907 0.27848 0.297413 0.31824 0.37504 0.47728 0.535368 0.606737 +0.704632 0.816421 0.921263 0.993061 1.02539 1.04302 1.04727 1.03878 +1.01494 0.971158 0.874526 0.769053 0.673684 0.601684 0.550526 0.513895 +0.46592 0.407227 0.361787 0.333387 0.308773 0.299307 0.291733 0.26712 +0.257653 0.26144 0.253867 0.246293 0.25008 0.240613 0.22736 0.225467 +0.22168 0.22736 0.229253 0.231147 0.22168 0.00098 0.217893 0.216 +0.00098 0.000993333 0.000986667 0.216 0.00098 0.000986667 0.000993333 0.000966667 +0.000973333 0.216 0.217893 0.000986667 0.00098 0.000993333 0.000993333 0.000973333 +0.000986667 0.000993333 0.00098 0.000946667 0.000933333 0.00094 0.000946667 0.000973333 +0.00098 0.000946667 0.000933333 0.000953333 0.000953333 0.00092 0.000933333 0.000946667 +0.00094 0.000946667 0.000926667 0.000913333 0.000953333 0.00096 0.000966667 0.000926667 +0.00092 0.000946667 0.00094 0.000926667 0.000933333 0.000926667 0.00092 0.000913333 +0.000913333 0.00094 0.000933333 0.000953333 0.00096 0.00096 0.000946667 0.00092 +0.00092 0.000893333 0.000873333 0.000886667 0.000906667 0.00094 0.000946667 0.000893333 +0.0009 0.000893333 0.000933333 0.000946667 0.000953333 0.000946667 0.000933333 0.000946667 +0.00096 0.000973333 0.000973333 0.000926667 0.00094 0.00098 0.000993333 0.00094 +0.00096 0.000973333 0.000906667 0.000933333 0.219787 0.225467 0.22736 0.2444 +0.259547 0.280373 0.304987 0.35232 0.428053 0.516421 0.576421 0.649053 +0.719158 0.777263 0.809474 0.812632 0.787368 0.747579 0.714105 0.691368 +0.681895 0.681895 0.682526 0.685053 0.684421 0.681895 0.68 0.678105 +0.680632 0.677474 0.662316 0.647158 0.630105 0.611789 0.604211 0.611158 +0.634526 0.669895 0.716 0.773474 0.836632 0.897263 0.942737 0.981306 +0.994694 1.00122 1.00645 1.00971 1.01135 1.00971 1.00776 1.00743 +1.00645 1.00808 1.00841 1.00449 1.00384 1.00188 0.999592 1.00024 +1.0009 0.999918 1.00057 1.00122 0.996653 0.995673 0.997959 0.995347 +0.992082 0.992735 0.993714 0.992735 0.992735 0.995347 0.99502 0.993388 +0.996327 1.00188 1.0022 0.999592 0.997633 0.995673 0.999265 1.00318 +1.00416 1.00416 1.00351 1.00351 1.00351 1.0022 1.00155 1.00286 +1.00318 1.00057 1.00057 1.00416 1.00286 1.00155 1.00188 1.0058 +1.00743 1.00678 1.00612 1.00514 1.00612 1.00547 1.00547 1.00612 +1.0071 1.00776 1.00678 1.00906 1.00612 0.99698 0.977474 0.913053 +0.842316 0.783579 0.724211 0.680632 0.654105 0.635789 0.635158 0.642737 +0.640211 0.637684 0.644632 0.657263 0.672421 0.689474 0.715368 0.745053 +0.769684 0.786105 0.801263 0.820211 0.847368 0.885895 0.920632 0.949684 +0.978105 0.994041 1.00286 1.0058 1.00776 1.01004 1.00939 1.00776 +1.00776 1.00939 1.01069 1.01233 1.00971 1.0071 1.00841 1.01069 +1.01004 1.01004 1.01004 1.01069 1.01265 1.01265 1.01135 1.01167 +1.01461 1.01396 1.01102 1.00971 1.01037 1.00939 1.01004 1.00971 +1.00743 1.00645 1.0058 1.00384 0.999592 0.993388 0.982286 0.954737 +0.923158 0.899158 0.877053 0.847368 0.812632 0.784842 0.758316 0.723579 +0.694526 0.68 0.664842 0.647789 0.632 0.616211 0.609263 0.614947 +0.626316 0.632 0.641474 0.652842 0.660421 0.666737 0.669895 0.671158 +0.675579 0.679368 0.683158 0.687579 0.689474 0.692 0.699579 0.714737 +0.74 0.776 0.813263 0.829684 0.810737 0.751368 0.666105 0.576421 +0.503158 0.36936 0.297413 0.274693 0.265227 0.242507 0.225467 0.229253 +0.236827 0.231147 0.234933 0.22736 0.225467 0.225467 0.000986667 0.00094 +0.000953333 0.000953333 0.000926667 0.000946667 0.00094 0.000913333 0.00092 0.00094 +0.000966667 0.00094 0.00092 0.000893333 0.000886667 0.000913333 0.000926667 0.000926667 +0.000866667 0.000873333 0.000893333 0.00092 0.00092 0.00092 0.000906667 0.000913333 +0.000913333 0.00092 0.00092 0.000926667 0.00094 0.000926667 0.00092 0.0009 +0.000893333 0.0009 0.00094 0.000953333 0.000953333 0.000966667 0.000953333 0.000946667 +0.00096 0.000953333 0.000933333 0.000946667 0.000933333 0.000913333 0.000913333 0.000906667 +0.000906667 0.000913333 0.000906667 0.000913333 0.000933333 0.000933333 0.000926667 0.00094 +0.00096 0.000933333 0.000913333 0.000933333 0.000946667 0.000953333 0.000913333 0.00094 +0.000966667 0.000966667 0.000973333 0.000953333 0.00096 0.000953333 0.00096 0.000973333 +0.000973333 0.000973333 0.00096 0.219787 0.225467 0.22168 0.231147 0.231147 +0.23304 0.246293 0.26144 0.26712 0.27848 0.291733 0.303093 0.322027 +0.344747 0.393973 0.469707 0.528421 0.579579 0.640842 0.705895 0.762105 +0.810105 0.853053 0.898526 0.948421 0.98751 1.00416 1.00514 0.989469 +0.940842 0.853684 0.755158 0.660421 0.579579 0.517684 0.435627 0.359893 +0.31824 0.291733 0.280373 0.274693 0.27848 0.28416 0.291733 0.297413 +0.304987 0.316347 0.331493 0.36368 0.395867 0.576421 0.760211 0.957895 +1.02376 1.0071 0.893474 0.722316 0.580211 0.473493 0.361787 0.325813 +0.308773 0.28984 0.280373 0.270907 0.26712 0.274693 0.269013 0.26712 +0.269013 0.27848 0.282267 0.27848 0.293627 0.32392 0.348533 0.411013 +0.508842 0.574526 0.65979 0.762105 0.871368 0.972421 1.01755 1.04465 +1.05706 1.05543 1.03943 1.00514 0.935789 0.830316 0.726105 0.641474 +0.582105 0.543579 0.511368 0.462133 0.405333 0.36936 0.325813 0.291733 +0.280373 0.2728 0.26144 0.259547 0.263333 0.253867 0.242507 0.236827 +0.234933 0.231147 0.231147 0.231147 0.22736 0.225467 0.225467 0.223573 +0.225467 0.223573 0.217893 0.22168 0.217893 0.216 0.000986667 0.000973333 +0.217893 0.217893 0.00098 0.00098 0.000966667 0.000966667 0.000973333 0.000953333 +0.000953333 0.000953333 0.000946667 0.000946667 0.000953333 0.000973333 0.000946667 0.00096 +0.00098 0.000966667 0.000953333 0.000953333 0.000953333 0.000953333 0.00096 0.000986667 +0.000966667 0.000933333 0.000913333 0.00092 0.00096 0.000953333 0.000906667 0.000893333 +0.00092 0.000946667 0.00092 0.000906667 0.000926667 0.00094 0.00092 0.000913333 +0.000926667 0.000953333 0.000953333 0.00094 0.000926667 0.000926667 0.00092 0.000886667 +0.000893333 0.00088 0.00088 0.000906667 0.00092 0.000906667 0.000893333 0.000886667 +0.000893333 0.000906667 0.000926667 0.000953333 0.000946667 0.000933333 0.000933333 0.000966667 +0.00094 0.000933333 0.00096 0.00092 0.000933333 0.000986667 0.00098 0.000946667 +0.00094 0.00094 0.000913333 0.00096 0.225467 0.225467 0.223573 0.234933 +0.236827 0.2444 0.253867 0.265227 0.27848 0.297413 0.339067 0.42048 +0.512632 0.572632 0.647789 0.720421 0.779789 0.816421 0.817053 0.791158 +0.755158 0.719789 0.698316 0.688842 0.684421 0.683789 0.683158 0.682526 +0.682526 0.676842 0.672421 0.673684 0.672421 0.661053 0.645895 0.629474 +0.614316 0.606105 0.602947 0.613684 0.642737 0.683789 0.730526 0.788 +0.845474 0.893474 0.934526 0.972421 0.990449 0.997306 1.00188 1.00449 +1.00514 1.00678 1.0058 1.00449 1.00645 1.00612 1.00678 1.00678 +1.0071 1.00808 1.00906 1.00743 1.00449 1.00612 1.00841 1.00776 +1.00449 1.00318 1.00449 1.00482 1.00384 1.0058 1.00808 1.00776 +1.00971 1.01363 1.012 1.00939 1.00776 1.00841 1.01069 1.01135 +1.00906 1.0071 1.00873 1.01037 1.00873 1.0071 1.00776 1.00841 +1.00743 1.00547 1.00547 1.00743 1.00482 1.00514 1.00678 1.01004 +1.00939 1.00841 1.00841 1.0071 1.00939 1.00971 1.00873 1.00873 +1.00873 1.01004 1.00873 1.00514 0.987837 0.925684 0.827789 0.726105 +0.663579 0.640842 0.626947 0.631368 0.642105 0.644632 0.650947 0.656 +0.653474 0.650316 0.643368 0.638947 0.636421 0.631368 0.630737 0.633895 +0.638947 0.638316 0.638316 0.640842 0.658526 0.688842 0.719789 0.757684 +0.810105 0.873263 0.921263 0.954737 0.982612 0.995347 1.00057 1.00318 +1.00384 1.0058 1.00808 1.00841 1.00645 1.00416 1.00449 1.00482 +1.00122 0.993714 0.986531 0.987184 0.992735 0.99698 1.0009 1.00547 +1.00776 1.00841 1.00482 1.0022 1.00253 0.99698 0.992082 0.986857 +0.976842 0.953474 0.92821 0.902947 0.874526 0.841053 0.799368 0.752632 +0.710947 0.687579 0.671789 0.652842 0.635158 0.629474 0.625053 0.614316 +0.613684 0.623158 0.630737 0.634526 0.638316 0.643368 0.649053 0.654737 +0.662947 0.667368 0.669263 0.674947 0.674947 0.676211 0.676842 0.674947 +0.68 0.690105 0.695789 0.698316 0.709053 0.732421 0.764632 0.801895 +0.827158 0.823368 0.783579 0.715368 0.631368 0.550526 0.464027 0.348533 +0.28984 0.253867 0.242507 0.2444 0.242507 0.23304 0.223573 0.217893 +0.217893 0.223573 0.22168 0.217893 0.217893 0.217893 0.000973333 0.000953333 +0.00098 0.000953333 0.00094 0.000946667 0.000926667 0.00092 0.000926667 0.00092 +0.000926667 0.00092 0.000906667 0.0009 0.000913333 0.000913333 0.000906667 0.000906667 +0.000886667 0.0009 0.000906667 0.00092 0.000913333 0.000913333 0.00092 0.000933333 +0.00092 0.000926667 0.000926667 0.000933333 0.000933333 0.00094 0.00096 0.000933333 +0.000913333 0.0009 0.000926667 0.000926667 0.000906667 0.00092 0.00092 0.000926667 +0.000966667 0.000953333 0.000933333 0.000966667 0.000966667 0.000926667 0.00092 0.00092 +0.000933333 0.00094 0.000926667 0.000933333 0.000933333 0.000953333 0.000953333 0.000953333 +0.000946667 0.000946667 0.000953333 0.000953333 0.00096 0.000973333 0.000926667 0.00094 +0.000966667 0.000953333 0.000966667 0.000993333 0.000993333 0.00098 0.000986667 0.000993333 +0.217893 0.22168 0.22168 0.229253 0.236827 0.23872 0.242507 0.248187 +0.251973 0.26144 0.274693 0.287947 0.304987 0.33528 0.38072 0.456453 +0.519579 0.566947 0.622526 0.680632 0.741895 0.798105 0.846737 0.888421 +0.933263 0.979368 1.00024 1.00971 1.00122 0.966737 0.883368 0.795579 +0.712211 0.627579 0.553684 0.498107 0.390187 0.322027 0.287947 0.27848 +0.282267 0.280373 0.274693 0.274693 0.276587 0.282267 0.29552 0.304987 +0.310667 0.3296 0.371253 0.456453 0.282267 0.411013 0.577053 0.760211 +0.959789 1.02637 1.01102 0.902316 0.726737 0.580842 0.48296 0.371253 +0.327707 0.30688 0.291733 0.2728 0.276587 0.269013 0.269013 0.265227 +0.265227 0.265227 0.253867 0.257653 0.26712 0.270907 0.276587 0.293627 +0.31824 0.38072 0.4716 0.540421 0.611158 0.707789 0.820842 0.937053 +1.00612 1.0378 1.05706 1.07826 1.05576 1.03029 0.98849 0.897263 +0.794316 0.697053 0.620632 0.565053 0.530316 0.503158 0.439413 0.3864 +0.34664 0.316347 0.3012 0.291733 0.276587 0.269013 0.26144 0.25008 +0.242507 0.23872 0.234933 0.234933 0.23872 0.231147 0.223573 0.223573 +0.229253 0.225467 0.22168 0.225467 0.219787 0.219787 0.000986667 0.000973333 +0.000973333 0.000993333 0.000966667 0.000973333 0.00094 0.000973333 0.216 0.000973333 +0.00098 0.000966667 0.000946667 0.000966667 0.00098 0.000986667 0.000966667 0.00098 +0.00098 0.000973333 0.000973333 0.00098 0.00098 0.00098 0.000986667 0.216 +0.000953333 0.000926667 0.00094 0.000953333 0.000953333 0.000946667 0.00092 0.000946667 +0.000966667 0.000946667 0.000926667 0.000933333 0.000946667 0.00096 0.000946667 0.000933333 +0.00094 0.000946667 0.00096 0.00092 0.000913333 0.00088 0.000873333 0.000853333 +0.00088 0.000913333 0.0009 0.000893333 0.00092 0.000926667 0.000926667 0.000913333 +0.000913333 0.000933333 0.000953333 0.000966667 0.0009 0.000886667 0.000913333 0.00094 +0.000913333 0.00092 0.000933333 0.000926667 0.000946667 0.00098 0.000973333 0.000946667 +0.000926667 0.000906667 0.000926667 0.00096 0.000993333 0.000993333 0.217893 0.219787 +0.22168 0.223573 0.234933 0.242507 0.248187 0.25008 0.257653 0.280373 +0.304987 0.348533 0.422373 0.511368 0.571368 0.652211 0.735579 0.803158 +0.830316 0.818947 0.787368 0.745684 0.711579 0.696421 0.687579 0.687579 +0.688211 0.682526 0.679368 0.68 0.679368 0.675579 0.671158 0.666737 +0.657895 0.649053 0.629474 0.611789 0.606737 0.601053 0.604211 0.621895 +0.644632 0.676211 0.721684 0.776 0.827158 0.865053 0.897895 0.921895 +0.947789 0.974316 0.986204 0.992735 0.997306 1.00057 1.00351 1.00416 +1.00645 1.00873 1.00971 1.00678 1.00678 1.01037 1.01233 1.01167 +1.00971 1.00906 1.00906 1.00906 1.00776 1.00743 1.00841 1.00971 +1.01331 1.01396 1.01265 1.01069 1.01037 1.01265 1.01265 1.01233 +1.01004 1.01037 1.01265 1.01298 1.01233 1.01069 1.01069 1.012 +1.01135 1.01102 1.01037 1.01298 1.01233 1.01037 1.01004 1.012 +1.01167 1.01037 1.00841 1.00743 1.01102 1.01233 1.012 1.01233 +1.01102 1.00808 0.991102 0.938316 0.842947 0.741263 0.666737 0.628211 +0.632 0.653474 0.661684 0.672421 0.680632 0.680632 0.686316 0.689474 +0.688211 0.685684 0.680632 0.678737 0.676842 0.670526 0.664842 0.657895 +0.656 0.649053 0.640211 0.633895 0.630737 0.632 0.633263 0.635158 +0.649684 0.682526 0.718526 0.762105 0.814526 0.867579 0.902947 0.926316 +0.938316 0.945895 0.956632 0.966105 0.971789 0.966105 0.957895 0.942737 +0.909263 0.856842 0.817684 0.815158 0.848 0.887789 0.925684 0.942105 +0.939579 0.930105 0.921895 0.913053 0.892842 0.860632 0.831579 0.812 +0.782947 0.748842 0.717263 0.696421 0.676842 0.657263 0.641474 0.623789 +0.611789 0.612421 0.616842 0.623789 0.630737 0.636421 0.640842 0.645263 +0.652211 0.662316 0.668 0.668 0.669895 0.673053 0.673684 0.673684 +0.674316 0.674947 0.675579 0.680632 0.681895 0.683789 0.683789 0.681263 +0.688211 0.707789 0.730526 0.755789 0.793684 0.827158 0.835368 0.808842 +0.748842 0.667368 0.584 0.513895 0.405333 0.32392 0.276587 0.253867 +0.242507 0.22736 0.23304 0.225467 0.000993333 0.225467 0.225467 0.000993333 +0.000993333 0.216 0.000986667 0.000993333 0.000993333 0.216 0.000993333 0.000986667 +0.00098 0.00094 0.000946667 0.000953333 0.00092 0.000913333 0.000913333 0.0009 +0.000866667 0.00088 0.00088 0.000886667 0.000913333 0.0009 0.000906667 0.000893333 +0.000913333 0.00092 0.000906667 0.000926667 0.00094 0.00094 0.000926667 0.000946667 +0.000946667 0.000953333 0.000953333 0.000946667 0.00094 0.000953333 0.00098 0.00096 +0.000946667 0.000933333 0.000933333 0.00092 0.000906667 0.000913333 0.000913333 0.000913333 +0.000946667 0.00094 0.000933333 0.000966667 0.000966667 0.000933333 0.000926667 0.000926667 +0.000953333 0.000966667 0.000953333 0.00094 0.00094 0.00096 0.000986667 0.000993333 +0.000973333 0.00096 0.00098 0.00098 0.000993333 0.219787 0.000986667 0.216 +0.22168 0.217893 0.22168 0.22736 0.223573 0.217893 0.225467 0.22736 +0.229253 0.231147 0.23872 0.242507 0.246293 0.251973 0.26712 0.280373 +0.287947 0.304987 0.322027 0.358 0.4148 0.506316 0.550526 0.604842 +0.663579 0.721684 0.775368 0.822737 0.868842 0.918105 0.965474 0.991755 +1.00384 1.00547 0.989143 0.930737 0.840421 0.74 0.645263 0.575158 +0.526526 0.45456 0.371253 0.322027 0.29552 0.286053 0.269013 0.269013 +0.2728 0.276587 0.270907 0.2728 0.2728 0.280373 0.29552 0.310667 +0.331493 0.36936 0.452667 0.550526 0.240613 0.280373 0.407227 0.579579 +0.758316 0.952211 1.02441 1.01298 0.908632 0.728632 0.580211 0.5 +0.382613 0.3296 0.297413 0.28416 0.276587 0.265227 0.265227 0.251973 +0.25576 0.257653 0.25576 0.259547 0.251973 0.248187 0.253867 0.263333 +0.26712 0.28984 0.308773 0.34664 0.4148 0.510737 0.577053 0.673684 +0.779158 0.878316 0.969263 1.01298 1.04106 1.06 1.08282 1.05249 +1.02082 0.969263 0.863158 0.758316 0.672421 0.608 0.560632 0.527158 +0.501895 0.446987 0.395867 0.35232 0.316347 0.3012 0.286053 0.270907 +0.270907 0.265227 0.253867 0.248187 0.248187 0.240613 0.229253 0.236827 +0.23872 0.23304 0.225467 0.225467 0.217893 0.216 0.00098 0.00096 +0.000966667 0.000966667 0.000966667 0.000953333 0.000946667 0.000966667 0.000973333 0.00096 +0.000966667 0.00094 0.000966667 0.000953333 0.000933333 0.000933333 0.000966667 0.00096 +0.00096 0.000953333 0.00096 0.000966667 0.000966667 0.00096 0.000946667 0.00096 +0.000953333 0.000946667 0.000966667 0.000946667 0.00094 0.000966667 0.000966667 0.000946667 +0.000953333 0.00096 0.00096 0.000946667 0.00094 0.00096 0.000953333 0.00094 +0.00094 0.000946667 0.000906667 0.0009 0.0009 0.00088 0.000913333 0.0009 +0.0009 0.000913333 0.000893333 0.0009 0.000933333 0.000933333 0.000906667 0.0009 +0.000906667 0.000933333 0.000933333 0.000933333 0.000906667 0.000913333 0.000946667 0.00096 +0.00096 0.000926667 0.000913333 0.000933333 0.00094 0.00094 0.000933333 0.000926667 +0.000913333 0.000906667 0.000926667 0.00094 0.000946667 0.000953333 0.000966667 0.00096 +0.216 0.225467 0.22736 0.22736 0.225467 0.231147 0.234933 0.248187 +0.265227 0.2728 0.2728 0.287947 0.33528 0.42616 0.529053 0.602316 +0.683158 0.758947 0.813895 0.828421 0.809474 0.777263 0.742526 0.712211 +0.694526 0.689474 0.686316 0.683789 0.683158 0.679368 0.676211 0.677474 +0.679368 0.676211 0.66421 0.660421 0.656 0.643368 0.633263 0.618737 +0.604842 0.59979 0.608 0.624421 0.638947 0.659158 0.685684 0.708421 +0.743158 0.783579 0.818316 0.842947 0.866316 0.895368 0.912421 0.928842 +0.952842 0.973053 0.983265 0.98849 0.993388 0.997306 1.00122 1.00253 +1.00318 1.00449 1.00482 1.00612 1.0071 1.0058 1.00547 1.00841 +1.01069 1.00939 1.00939 1.00776 1.00841 1.01037 1.01102 1.01004 +1.00612 1.00743 1.00971 1.01167 1.01298 1.01037 1.01004 1.01265 +1.01233 1.01069 1.01069 1.01298 1.01298 1.012 1.01363 1.01624 +1.01559 1.01331 1.01167 1.01265 1.01494 1.01298 1.01167 1.01069 +1.00188 0.974947 0.872 0.752 0.654105 0.616842 0.630105 0.650947 +0.673053 0.686947 0.683158 0.685684 0.686947 0.680632 0.683789 0.685053 +0.682526 0.679368 0.678737 0.681895 0.685684 0.683789 0.679368 0.678737 +0.683789 0.677474 0.674316 0.674316 0.674316 0.671158 0.665474 0.652211 +0.635158 0.625684 0.618105 0.621895 0.645895 0.68 0.706526 0.727368 +0.738737 0.743789 0.757684 0.777263 0.787368 0.779158 0.767158 0.745053 +0.702105 0.649053 0.614316 0.613684 0.644632 0.685053 0.721053 0.738737 +0.731789 0.719158 0.714105 0.704 0.683158 0.659158 0.640842 0.637684 +0.628211 0.618737 0.613684 0.619368 0.625053 0.630737 0.640842 0.646526 +0.650316 0.657895 0.666105 0.672421 0.675579 0.673053 0.676211 0.678737 +0.676842 0.674947 0.673053 0.673053 0.672421 0.674947 0.676211 0.679368 +0.681263 0.686316 0.688211 0.692 0.695158 0.700842 0.713474 0.733684 +0.764 0.797474 0.824 0.833474 0.820842 0.776 0.700842 0.614947 +0.539789 0.45456 0.35232 0.291733 0.26144 0.240613 0.231147 0.22736 +0.000993333 0.217893 0.225467 0.216 0.000986667 0.223573 0.217893 0.217893 +0.216 0.00098 0.00096 0.00096 0.000973333 0.000973333 0.000986667 0.000993333 +0.00096 0.000933333 0.000926667 0.000946667 0.000946667 0.000913333 0.000913333 0.0009 +0.0009 0.000906667 0.0009 0.00092 0.00092 0.00092 0.000926667 0.0009 +0.000926667 0.000926667 0.0009 0.000913333 0.000953333 0.000926667 0.000913333 0.00094 +0.000953333 0.000946667 0.000933333 0.00094 0.000926667 0.000926667 0.000946667 0.000953333 +0.000966667 0.00096 0.000933333 0.000926667 0.000933333 0.000933333 0.00092 0.000906667 +0.000953333 0.00094 0.000933333 0.00096 0.000973333 0.00096 0.000946667 0.000933333 +0.000953333 0.000986667 0.000986667 0.000966667 0.00098 0.000986667 0.000973333 0.000973333 +0.216 0.000993333 0.216 0.000993333 0.216 0.219787 0.000993333 0.217893 +0.22168 0.225467 0.236827 0.23872 0.23872 0.236827 0.240613 0.242507 +0.25008 0.253867 0.257653 0.265227 0.270907 0.276587 0.297413 0.31824 +0.34096 0.390187 0.467813 0.528421 0.582105 0.646526 0.706526 0.758316 +0.808842 0.854316 0.901684 0.947789 0.985224 1.00253 1.00678 0.993061 +0.950947 0.881474 0.793053 0.693895 0.605474 0.536632 0.458347 0.37504 +0.33528 0.303093 0.287947 0.286053 0.274693 0.27848 0.2728 0.270907 +0.27848 0.286053 0.287947 0.287947 0.297413 0.304987 0.320133 0.333387 +0.37504 0.473493 0.555579 0.671158 0.000993333 0.246293 0.291733 0.411013 +0.575789 0.750105 0.942105 1.02408 1.01494 0.906105 0.729263 0.585895 +0.500632 0.38072 0.325813 0.299307 0.286053 0.280373 0.26712 0.259547 +0.270907 0.265227 0.265227 0.259547 0.251973 0.253867 0.251973 0.25008 +0.25008 0.265227 0.26712 0.282267 0.293627 0.310667 0.367467 0.490533 +0.548 0.615579 0.699579 0.794316 0.885895 0.980327 1.02408 1.05576 +1.10413 1.08282 1.04465 1.0071 0.938947 0.835368 0.736211 0.654105 +0.594737 0.553053 0.522737 0.498107 0.435627 0.38072 0.337173 0.316347 +0.3012 0.282267 0.274693 0.26712 0.259547 0.2444 0.234933 0.234933 +0.23304 0.229253 0.219787 0.000993333 0.000986667 0.000993333 0.000986667 0.00096 +0.00098 0.00098 0.00098 0.00098 0.000973333 0.00098 0.000966667 0.00094 +0.000926667 0.000953333 0.000966667 0.00096 0.000966667 0.000993333 0.000953333 0.00094 +0.00098 0.000973333 0.00096 0.000993333 0.000986667 0.000953333 0.000926667 0.00094 +0.000953333 0.000933333 0.00094 0.000953333 0.00094 0.00096 0.00094 0.000933333 +0.00096 0.000973333 0.000926667 0.00092 0.000946667 0.000946667 0.000926667 0.000926667 +0.000926667 0.000933333 0.000933333 0.000933333 0.000926667 0.000926667 0.000933333 0.000913333 +0.000906667 0.00092 0.00092 0.000913333 0.0009 0.000926667 0.000906667 0.000926667 +0.000933333 0.00094 0.00094 0.000953333 0.000953333 0.000946667 0.000933333 0.00094 +0.000946667 0.000906667 0.000906667 0.000953333 0.000966667 0.000953333 0.000953333 0.00096 +0.000933333 0.00094 0.00096 0.000966667 0.000926667 0.000933333 0.000953333 0.000953333 +0.00098 0.217893 0.000986667 0.000973333 0.000986667 0.219787 0.22736 0.236827 +0.248187 0.242507 0.240613 0.265227 0.287947 0.297413 0.320133 0.358 +0.450773 0.541684 0.620632 0.705895 0.775368 0.820842 0.830947 0.805684 +0.769684 0.74 0.716632 0.702105 0.693895 0.688211 0.685053 0.685684 +0.687579 0.683158 0.674947 0.676211 0.674316 0.668 0.664842 0.658526 +0.647789 0.642105 0.633263 0.621895 0.612421 0.609895 0.611789 0.606105 +0.609895 0.621895 0.634526 0.643368 0.659158 0.681895 0.695158 0.710316 +0.741895 0.776 0.803158 0.825895 0.839789 0.853684 0.875789 0.895368 +0.909263 0.918737 0.930737 0.941474 0.942737 0.940842 0.950947 0.966105 +0.973053 0.971789 0.969895 0.966737 0.977474 0.983265 0.984898 0.982612 +0.980327 0.983592 0.983918 0.986531 0.989796 0.990449 0.992735 0.995347 +0.994367 0.991429 0.991755 0.995347 0.995347 0.995347 0.999592 1.00449 +1.00547 1.00384 1.00286 1.00449 1.00514 1.00024 0.994694 0.98 +0.913684 0.810737 0.685053 0.598526 0.577684 0.612421 0.653474 0.669895 +0.681895 0.686947 0.681895 0.682526 0.682526 0.679368 0.685053 0.685684 +0.681895 0.678105 0.677474 0.680632 0.681895 0.681263 0.678105 0.683789 +0.690737 0.682526 0.676842 0.678737 0.685684 0.690105 0.686316 0.679368 +0.671158 0.662947 0.647789 0.636421 0.633895 0.632 0.626316 0.625053 +0.623158 0.621263 0.624421 0.633263 0.633263 0.622526 0.615579 0.601684 +0.580842 0.558105 0.544842 0.545474 0.560632 0.579579 0.597263 0.609263 +0.613053 0.616842 0.621895 0.621895 0.618105 0.618105 0.62 0.628842 +0.636421 0.644 0.649684 0.661053 0.668 0.671158 0.674947 0.674316 +0.674947 0.682526 0.686947 0.684421 0.683789 0.682526 0.681263 0.68 +0.676211 0.676211 0.681263 0.684421 0.684421 0.685684 0.690105 0.693895 +0.697053 0.705263 0.713474 0.728 0.749474 0.778526 0.811368 0.838526 +0.845474 0.824 0.777895 0.711579 0.633895 0.559368 0.496213 0.376933 +0.308773 0.27848 0.265227 0.246293 0.231147 0.229253 0.229253 0.22168 +0.216 0.22736 0.22736 0.22168 0.22736 0.22736 0.22736 0.217893 +0.000973333 0.000993333 0.000986667 0.000973333 0.000973333 0.000946667 0.000966667 0.00098 +0.000953333 0.000946667 0.000933333 0.000946667 0.000953333 0.000933333 0.000933333 0.00092 +0.000933333 0.000933333 0.00092 0.000933333 0.00094 0.00094 0.000926667 0.000913333 +0.000913333 0.000913333 0.00092 0.000906667 0.000926667 0.000913333 0.000926667 0.000953333 +0.000946667 0.000946667 0.00094 0.000953333 0.00092 0.000913333 0.000926667 0.000946667 +0.00096 0.00098 0.000953333 0.000926667 0.00094 0.000926667 0.000926667 0.000933333 +0.000966667 0.00096 0.00096 0.000986667 0.000986667 0.000993333 0.000986667 0.000953333 +0.000953333 0.000973333 0.000986667 0.000986667 0.217893 0.217893 0.217893 0.216 +0.219787 0.216 0.000986667 0.000986667 0.223573 0.22736 0.223573 0.22168 +0.22168 0.22736 0.23872 0.240613 0.246293 0.253867 0.257653 0.25576 +0.263333 0.2728 0.282267 0.30688 0.3296 0.35232 0.388293 0.462133 +0.519579 0.565684 0.625053 0.686947 0.746947 0.803158 0.848 0.888421 +0.936421 0.980653 0.998939 1.0071 1.0022 0.980327 0.900421 0.804421 +0.716632 0.644632 0.575789 0.515789 0.416693 0.344747 0.308773 0.297413 +0.286053 0.27848 0.27848 0.276587 0.26712 0.26712 0.269013 0.265227 +0.270907 0.280373 0.28984 0.293627 0.299307 0.31824 0.34096 0.373147 +0.464027 0.556211 0.68 0.846737 0.000926667 0.217893 0.242507 0.274693 +0.401547 0.572632 0.749474 0.957263 1.03388 1.01918 0.913684 0.74 +0.598526 0.511368 0.395867 0.325813 0.297413 0.291733 0.280373 0.274693 +0.265227 0.257653 0.263333 0.253867 0.248187 0.25008 0.246293 0.248187 +0.25008 0.251973 0.246293 0.248187 0.251973 0.26712 0.282267 0.316347 +0.356107 0.411013 0.504421 0.553684 0.617474 0.708421 0.819579 0.931368 +1.0022 1.03747 1.06152 1.095 1.05935 1.0342 0.994041 0.911789 +0.812 0.717895 0.642737 0.588421 0.547368 0.517053 0.47728 0.422373 +0.36936 0.33528 0.31256 0.29552 0.276587 0.263333 0.257653 0.251973 +0.253867 0.2444 0.225467 0.219787 0.223573 0.223573 0.219787 0.217893 +0.219787 0.22168 0.217893 0.22168 0.00098 0.000986667 0.216 0.000993333 +0.000973333 0.000986667 0.000993333 0.216 0.223573 0.217893 0.00096 0.000973333 +0.000993333 0.000953333 0.000933333 0.000973333 0.000946667 0.000926667 0.000906667 0.000926667 +0.000966667 0.000966667 0.00096 0.00098 0.00096 0.000966667 0.000973333 0.00098 +0.000966667 0.00094 0.00092 0.000946667 0.000953333 0.000946667 0.000953333 0.000946667 +0.000933333 0.00094 0.00096 0.00094 0.000926667 0.000926667 0.0009 0.000906667 +0.000906667 0.000913333 0.00092 0.000913333 0.000913333 0.000966667 0.000966667 0.000946667 +0.000946667 0.000946667 0.000966667 0.00096 0.000946667 0.000946667 0.000926667 0.000913333 +0.000933333 0.000926667 0.00092 0.000953333 0.00096 0.000933333 0.00094 0.000953333 +0.000953333 0.000986667 0.000973333 0.00096 0.000946667 0.00094 0.00096 0.000966667 +0.000953333 0.00096 0.000953333 0.000933333 0.00096 0.000993333 0.22736 0.236827 +0.229253 0.22168 0.23304 0.253867 0.26144 0.257653 0.259547 0.265227 +0.280373 0.32392 0.393973 0.505053 0.568842 0.650947 0.730526 0.790526 +0.824 0.830316 0.813263 0.781684 0.746316 0.714105 0.695158 0.689474 +0.688211 0.684421 0.682526 0.682526 0.681263 0.677474 0.673053 0.670526 +0.671158 0.673053 0.665474 0.656632 0.654105 0.654737 0.645263 0.636421 +0.630105 0.623158 0.614947 0.610526 0.612421 0.611158 0.607368 0.607368 +0.612421 0.618737 0.625053 0.635158 0.641474 0.649684 0.66421 0.681263 +0.693895 0.703368 0.717895 0.725474 0.719789 0.724211 0.745684 0.767158 +0.778526 0.780421 0.768421 0.764632 0.784842 0.796842 0.8 0.793053 +0.795579 0.808842 0.810105 0.816421 0.825263 0.836632 0.848632 0.856842 +0.855579 0.850526 0.854316 0.865053 0.865684 0.864421 0.880211 0.897895 +0.902316 0.902316 0.903579 0.914947 0.916211 0.901053 0.870105 0.802526 +0.709684 0.626316 0.572632 0.569474 0.598526 0.640842 0.66421 0.669263 +0.676842 0.681895 0.676842 0.675579 0.678737 0.683158 0.689474 0.686947 +0.683789 0.682526 0.684421 0.686316 0.686316 0.685684 0.685684 0.690105 +0.692632 0.684421 0.678105 0.677474 0.68 0.683789 0.682526 0.677474 +0.674947 0.675579 0.672421 0.671158 0.667368 0.661053 0.654105 0.652211 +0.647789 0.641474 0.641474 0.644 0.638947 0.629474 0.623789 0.616842 +0.611789 0.602316 0.59979 0.602947 0.609895 0.614316 0.624421 0.635158 +0.644632 0.655368 0.66421 0.667368 0.666737 0.671158 0.670526 0.670526 +0.671789 0.673684 0.675579 0.682526 0.686947 0.686316 0.683789 0.68 +0.681895 0.686316 0.683789 0.681263 0.685053 0.686316 0.683789 0.682526 +0.683158 0.688211 0.696421 0.702105 0.708421 0.714737 0.723579 0.736211 +0.753895 0.779789 0.808211 0.832211 0.848632 0.845474 0.816421 0.767158 +0.698947 0.622526 0.554316 0.501263 0.3864 0.310667 0.280373 0.2728 +0.251973 0.246293 0.246293 0.234933 0.225467 0.231147 0.236827 0.22168 +0.223573 0.234933 0.22736 0.219787 0.216 0.22168 0.236827 0.229253 +0.000993333 0.219787 0.219787 0.000993333 0.000986667 0.00098 0.00098 0.00096 +0.00096 0.000966667 0.00094 0.000953333 0.000946667 0.000946667 0.00094 0.00092 +0.000926667 0.000933333 0.00094 0.000926667 0.000926667 0.000953333 0.00094 0.000953333 +0.000946667 0.000926667 0.00094 0.000926667 0.000913333 0.000913333 0.00094 0.00096 +0.000953333 0.000953333 0.00096 0.00096 0.00096 0.00094 0.00094 0.00094 +0.00096 0.216 0.00098 0.00096 0.00096 0.000953333 0.00094 0.000953333 +0.000973333 0.000946667 0.00096 0.000973333 0.000973333 0.000973333 0.00098 0.000966667 +0.00098 0.000986667 0.00098 0.219787 0.223573 0.22168 0.223573 0.22736 +0.225467 0.219787 0.216 0.216 0.225467 0.234933 0.231147 0.231147 +0.236827 0.23304 0.23872 0.246293 0.259547 0.26712 0.2728 0.280373 +0.287947 0.304987 0.339067 0.393973 0.47728 0.524 0.562526 0.617474 +0.676842 0.733684 0.791789 0.843579 0.887789 0.931368 0.973053 0.995347 +1.00906 1.01004 0.994367 0.948421 0.866316 0.770316 0.66421 0.574526 +0.518316 0.458347 0.376933 0.322027 0.291733 0.27848 0.274693 0.280373 +0.274693 0.26712 0.274693 0.2728 0.26712 0.270907 0.274693 0.269013 +0.280373 0.286053 0.293627 0.304987 0.31256 0.333387 0.38072 0.479173 +0.559368 0.681895 0.850526 0.994041 0.000853333 0.000893333 0.00094 0.23304 +0.27848 0.42048 0.593474 0.795579 0.990776 1.04073 1.02114 0.925684 +0.755789 0.606737 0.506947 0.37504 0.32392 0.303093 0.286053 0.270907 +0.265227 0.270907 0.265227 0.251973 0.240613 0.236827 0.2444 0.246293 +0.248187 0.246293 0.246293 0.242507 0.246293 0.259547 0.25576 0.265227 +0.276587 0.28416 0.314453 0.350427 0.412907 0.508211 0.570737 0.656632 +0.758316 0.865053 0.963579 1.012 1.04073 1.06152 1.08891 1.05412 +1.02539 0.982612 0.889053 0.789895 0.704632 0.632632 0.578316 0.542316 +0.516421 0.48296 0.42616 0.37504 0.339067 0.31256 0.293627 0.280373 +0.274693 0.26144 0.240613 0.23872 0.2444 0.236827 0.236827 0.23304 +0.23304 0.23872 0.23872 0.23304 0.223573 0.225467 0.225467 0.219787 +0.223573 0.216 0.219787 0.219787 0.217893 0.000993333 0.000953333 0.000946667 +0.00096 0.000946667 0.000946667 0.00096 0.00094 0.000946667 0.00094 0.000966667 +0.216 0.216 0.000993333 0.000986667 0.000966667 0.000973333 0.00098 0.00096 +0.000906667 0.000926667 0.00094 0.00094 0.000933333 0.000953333 0.000946667 0.000926667 +0.000933333 0.000926667 0.000946667 0.000906667 0.000893333 0.000913333 0.000886667 0.0009 +0.000893333 0.000913333 0.00092 0.000946667 0.000966667 0.000973333 0.000966667 0.00096 +0.000953333 0.000946667 0.00096 0.000926667 0.000906667 0.000926667 0.000926667 0.0009 +0.000926667 0.00094 0.00094 0.000946667 0.000953333 0.00094 0.00094 0.000933333 +0.000933333 0.000953333 0.000946667 0.000926667 0.000913333 0.00092 0.000926667 0.000953333 +0.000953333 0.000946667 0.00096 0.000946667 0.000973333 0.000966667 0.216 0.225467 +0.22168 0.223573 0.234933 0.23872 0.248187 0.25008 0.248187 0.251973 +0.26144 0.28416 0.291733 0.297413 0.34664 0.429947 0.517053 0.578947 +0.656 0.734947 0.797474 0.830947 0.832211 0.808842 0.779158 0.753895 +0.726737 0.709053 0.700842 0.696421 0.691368 0.686947 0.682526 0.681263 +0.682526 0.679368 0.673053 0.668 0.665474 0.661053 0.655368 0.656 +0.657895 0.656632 0.65979 0.661053 0.657263 0.652842 0.650947 0.647158 +0.642737 0.632 0.625053 0.62 0.621263 0.613053 0.606105 0.603579 +0.603579 0.604211 0.606737 0.605474 0.598526 0.602947 0.614947 0.621895 +0.623158 0.623158 0.610526 0.608 0.616842 0.621263 0.623789 0.614316 +0.616842 0.628211 0.629474 0.635158 0.638947 0.643368 0.654737 0.65979 +0.654105 0.649053 0.654105 0.663579 0.661053 0.65979 0.674947 0.685053 +0.683789 0.679368 0.685684 0.702737 0.704632 0.691368 0.66421 0.614947 +0.574526 0.566316 0.582737 0.616842 0.638316 0.655368 0.664842 0.668632 +0.678105 0.683789 0.671158 0.661684 0.671789 0.692632 0.717263 0.729263 +0.733053 0.733053 0.728 0.722316 0.712211 0.707789 0.702737 0.698316 +0.691368 0.68 0.668 0.657263 0.650316 0.649053 0.650947 0.649053 +0.649684 0.659158 0.66421 0.668 0.666737 0.671158 0.676211 0.676211 +0.673053 0.671789 0.674316 0.677474 0.677474 0.673684 0.669895 0.666737 +0.664842 0.662947 0.663579 0.667368 0.668632 0.668 0.672421 0.676211 +0.677474 0.683789 0.688842 0.692 0.691368 0.693895 0.687579 0.681895 +0.682526 0.682526 0.68 0.684421 0.689474 0.686947 0.682526 0.684421 +0.688211 0.688211 0.685053 0.685684 0.689474 0.695158 0.700842 0.709053 +0.717895 0.729895 0.745053 0.764632 0.784211 0.805684 0.825263 0.839789 +0.851789 0.846737 0.825895 0.788 0.736211 0.668632 0.596 0.536632 +0.4716 0.373147 0.316347 0.28984 0.265227 0.251973 0.251973 0.246293 +0.248187 0.248187 0.236827 0.223573 0.22168 0.231147 0.23872 0.234933 +0.229253 0.22736 0.22736 0.223573 0.217893 0.219787 0.22736 0.225467 +0.225467 0.22168 0.223573 0.22168 0.000986667 0.000993333 0.000973333 0.000933333 +0.000953333 0.00094 0.000933333 0.000946667 0.00094 0.000953333 0.000946667 0.00094 +0.000946667 0.000946667 0.000986667 0.000946667 0.000946667 0.00096 0.000926667 0.00094 +0.000966667 0.000953333 0.000946667 0.000946667 0.00094 0.00094 0.000953333 0.00096 +0.000986667 0.000973333 0.000966667 0.000973333 0.000973333 0.000966667 0.00094 0.00092 +0.000953333 0.000973333 0.00096 0.00094 0.000953333 0.00096 0.000953333 0.000993333 +0.000993333 0.00096 0.000973333 0.000973333 0.000973333 0.00096 0.000973333 0.000953333 +0.000986667 0.217893 0.000993333 0.22168 0.223573 0.225467 0.225467 0.229253 +0.231147 0.234933 0.236827 0.23872 0.23872 0.236827 0.240613 0.248187 +0.251973 0.248187 0.251973 0.263333 0.270907 0.28416 0.304987 0.3296 +0.361787 0.424267 0.510737 0.557474 0.609895 0.665474 0.722316 0.779789 +0.834737 0.881474 0.925684 0.969895 0.993714 1.00547 1.00645 0.99502 +0.964211 0.897895 0.810105 0.718526 0.631368 0.56 0.500632 0.38072 +0.31824 0.29552 0.280373 0.270907 0.270907 0.270907 0.2728 0.274693 +0.2728 0.26712 0.269013 0.2728 0.26712 0.26712 0.270907 0.269013 +0.282267 0.293627 0.3012 0.316347 0.33528 0.38072 0.500632 0.578316 +0.697053 0.860632 0.997959 1.02376 0.00084 0.00084 0.00088 0.00098 +0.240613 0.3012 0.503789 0.658526 0.86 1.00351 1.04269 1.0231 +0.930737 0.753263 0.593474 0.501263 0.3864 0.3296 0.297413 0.280373 +0.274693 0.2728 0.26144 0.253867 0.246293 0.248187 0.259547 0.253867 +0.248187 0.2444 0.248187 0.248187 0.251973 0.25576 0.257653 0.257653 +0.259547 0.263333 0.2728 0.270907 0.280373 0.297413 0.354213 0.44888 +0.534105 0.607368 0.695789 0.787368 0.881474 0.974947 1.01755 1.04694 +1.06 1.06 1.04596 1.01527 0.969263 0.875158 0.781684 0.700842 +0.633895 0.582105 0.544211 0.515158 0.48296 0.422373 0.36936 0.333387 +0.310667 0.291733 0.2728 0.270907 0.2728 0.259547 0.251973 0.246293 +0.248187 0.25008 0.242507 0.236827 0.229253 0.225467 0.216 0.217893 +0.223573 0.216 0.000986667 0.219787 0.22168 0.217893 0.000993333 0.000986667 +0.216 0.000993333 0.00098 0.000973333 0.000973333 0.000986667 0.00098 0.00098 +0.000986667 0.217893 0.000973333 0.00096 0.000946667 0.000933333 0.000933333 0.000913333 +0.000906667 0.00092 0.00092 0.0009 0.000913333 0.000933333 0.000906667 0.000893333 +0.000913333 0.000893333 0.0009 0.000893333 0.000906667 0.000933333 0.000913333 0.0009 +0.0009 0.000906667 0.00092 0.000946667 0.000926667 0.000906667 0.000946667 0.000933333 +0.000913333 0.000886667 0.000893333 0.000886667 0.000906667 0.00092 0.000913333 0.000893333 +0.0009 0.000913333 0.000933333 0.000926667 0.000933333 0.00096 0.00096 0.00094 +0.000933333 0.00096 0.00096 0.00092 0.000906667 0.00092 0.00094 0.00094 +0.00094 0.00096 0.000966667 0.000986667 0.00098 0.000973333 0.000986667 0.216 +0.225467 0.231147 0.225467 0.229253 0.23872 0.251973 0.2444 0.23304 +0.236827 0.246293 0.246293 0.251973 0.270907 0.282267 0.3012 0.356107 +0.45456 0.530316 0.592842 0.662947 0.729895 0.788632 0.826526 0.839789 +0.825263 0.800632 0.770316 0.741263 0.719158 0.700842 0.692 0.688211 +0.687579 0.681263 0.674947 0.670526 0.669263 0.66421 0.663579 0.667368 +0.666105 0.667368 0.673684 0.674947 0.669895 0.670526 0.670526 0.673053 +0.673053 0.670526 0.666737 0.666105 0.666105 0.657895 0.651579 0.648421 +0.649053 0.643368 0.642737 0.641474 0.637053 0.636421 0.636421 0.632632 +0.632 0.631368 0.623789 0.621263 0.619368 0.62 0.618105 0.609263 +0.613053 0.616842 0.614947 0.621263 0.618737 0.616211 0.621263 0.620632 +0.615579 0.611789 0.613684 0.618105 0.617474 0.613053 0.615579 0.613053 +0.607368 0.602947 0.604211 0.610526 0.609895 0.605474 0.601684 0.594105 +0.596632 0.616842 0.640211 0.656632 0.657895 0.661053 0.662316 0.666737 +0.678105 0.676842 0.647789 0.650316 0.706526 0.759579 0.791158 0.8 +0.801263 0.802526 0.803789 0.805053 0.801895 0.795579 0.786737 0.774737 +0.748211 0.704632 0.656 0.621263 0.604211 0.590316 0.584 0.582105 +0.577053 0.589684 0.612421 0.631368 0.645263 0.659158 0.668 0.673053 +0.678737 0.680632 0.678105 0.68 0.681263 0.681895 0.683158 0.68 +0.679368 0.680632 0.682526 0.683789 0.685684 0.685684 0.686947 0.687579 +0.685684 0.683158 0.686316 0.690105 0.689474 0.691368 0.686947 0.685684 +0.691368 0.692 0.690105 0.694526 0.700842 0.697684 0.697684 0.702105 +0.707158 0.713474 0.724842 0.74 0.755789 0.772211 0.790526 0.811368 +0.826526 0.837895 0.849895 0.854947 0.849895 0.837895 0.812 0.772842 +0.726105 0.666105 0.603579 0.546105 0.500632 0.40344 0.333387 0.299307 +0.286053 0.270907 0.269013 0.265227 0.25008 0.25008 0.240613 0.242507 +0.25576 0.248187 0.240613 0.234933 0.22736 0.22736 0.234933 0.240613 +0.229253 0.219787 0.22736 0.225467 0.225467 0.223573 0.22168 0.219787 +0.223573 0.000993333 0.000973333 0.219787 0.000993333 0.217893 0.000993333 0.000966667 +0.000966667 0.000953333 0.00096 0.00096 0.000933333 0.00094 0.000926667 0.00092 +0.00092 0.000933333 0.00096 0.00094 0.000953333 0.000953333 0.00092 0.000933333 +0.00096 0.000946667 0.000953333 0.000953333 0.00094 0.00094 0.000926667 0.00096 +0.000993333 0.00098 0.00098 0.000966667 0.00096 0.000993333 0.00096 0.000913333 +0.00096 0.000986667 0.00098 0.000973333 0.000953333 0.000946667 0.000933333 0.00098 +0.000973333 0.000953333 0.00096 0.000953333 0.000953333 0.000966667 0.000993333 0.000973333 +0.000986667 0.217893 0.216 0.219787 0.225467 0.231147 0.231147 0.234933 +0.23872 0.246293 0.251973 0.25576 0.253867 0.246293 0.253867 0.265227 +0.274693 0.276587 0.28984 0.30688 0.327707 0.361787 0.418587 0.501895 +0.541684 0.592842 0.654737 0.716 0.769053 0.816421 0.865053 0.916211 +0.964842 0.991102 1.00449 1.00939 1.0022 0.978105 0.902316 0.814526 +0.731789 0.657263 0.584632 0.524 0.435627 0.354213 0.3012 0.27848 +0.259547 0.25576 0.25576 0.259547 0.265227 0.26712 0.274693 0.276587 +0.274693 0.274693 0.270907 0.274693 0.270907 0.265227 0.2728 0.280373 +0.282267 0.293627 0.310667 0.3296 0.37504 0.500632 0.584632 0.716632 +0.879579 1.00318 1.02473 0.964842 0.000833333 0.000826667 0.000826667 0.000866667 +0.000966667 0.25008 0.344747 0.542947 0.701474 0.877053 1.00449 1.04335 +1.0231 0.917474 0.733053 0.590316 0.505684 0.390187 0.327707 0.304987 +0.291733 0.27848 0.27848 0.270907 0.25576 0.259547 0.265227 0.259547 +0.25576 0.25576 0.259547 0.26144 0.265227 0.269013 0.265227 0.25008 +0.248187 0.240613 0.2444 0.236827 0.248187 0.253867 0.263333 0.287947 +0.331493 0.40344 0.505053 0.556211 0.622526 0.706526 0.803158 0.901053 +0.983265 1.02114 1.04759 1.05837 1.05543 1.03943 1.01135 0.959789 +0.868842 0.778526 0.697684 0.632 0.580842 0.543579 0.514526 0.475387 +0.418587 0.376933 0.342853 0.320133 0.299307 0.282267 0.2728 0.265227 +0.263333 0.259547 0.251973 0.251973 0.240613 0.234933 0.234933 0.234933 +0.23304 0.22736 0.223573 0.223573 0.217893 0.223573 0.22736 0.219787 +0.216 0.216 0.000993333 0.000986667 0.00098 0.00098 0.00096 0.00096 +0.217893 0.216 0.00096 0.000953333 0.00094 0.000946667 0.000933333 0.000906667 +0.00092 0.000913333 0.000926667 0.000926667 0.000906667 0.000913333 0.000893333 0.000866667 +0.000866667 0.000873333 0.000886667 0.000906667 0.00092 0.000926667 0.0009 0.000886667 +0.000933333 0.000926667 0.00092 0.000906667 0.00086 0.000853333 0.000893333 0.000886667 +0.000893333 0.000893333 0.00088 0.000906667 0.000933333 0.000913333 0.000893333 0.00088 +0.00088 0.000893333 0.0009 0.0009 0.000933333 0.000953333 0.000926667 0.0009 +0.000933333 0.000946667 0.000933333 0.000946667 0.00094 0.000926667 0.00094 0.000933333 +0.000926667 0.00094 0.000926667 0.000946667 0.000973333 0.216 0.216 0.000986667 +0.223573 0.22168 0.217893 0.229253 0.236827 0.234933 0.22168 0.219787 +0.234933 0.240613 0.242507 0.253867 0.253867 0.257653 0.274693 0.29552 +0.314453 0.331493 0.371253 0.433733 0.515789 0.574526 0.642737 0.708421 +0.770316 0.815789 0.833474 0.834737 0.818316 0.791158 0.763368 0.738737 +0.719789 0.702737 0.689474 0.682526 0.679368 0.680632 0.686947 0.682526 +0.676211 0.673053 0.673684 0.673684 0.668632 0.665474 0.667368 0.672421 +0.673684 0.674947 0.673684 0.676842 0.676842 0.673684 0.673053 0.677474 +0.680632 0.676842 0.674316 0.669895 0.673684 0.673684 0.673053 0.669895 +0.670526 0.671158 0.666737 0.664842 0.662316 0.66421 0.662947 0.657895 +0.662316 0.659158 0.659158 0.66421 0.660421 0.661053 0.666105 0.666105 +0.666105 0.664842 0.662316 0.663579 0.662316 0.660421 0.661684 0.657895 +0.654737 0.652211 0.654737 0.657263 0.650947 0.647158 0.649053 0.649684 +0.652211 0.659158 0.665474 0.66421 0.654105 0.638316 0.625684 0.637053 +0.649684 0.622526 0.606105 0.682526 0.750105 0.726737 0.683158 0.650316 +0.641474 0.650947 0.675579 0.703368 0.731158 0.765895 0.814526 0.863789 +0.878947 0.846105 0.767789 0.684421 0.625684 0.582737 0.560632 0.544211 +0.510105 0.479173 0.512 0.544842 0.574526 0.605474 0.635158 0.658526 +0.673053 0.679368 0.678737 0.682526 0.686316 0.683789 0.685684 0.683789 +0.685684 0.690737 0.691368 0.695789 0.698316 0.693895 0.692 0.692 +0.690737 0.689474 0.691368 0.692632 0.690105 0.693263 0.695158 0.697053 +0.702737 0.709053 0.717263 0.724842 0.743789 0.760842 0.775368 0.793053 +0.808842 0.825895 0.840421 0.848 0.853684 0.854316 0.845474 0.829684 +0.806316 0.780421 0.750737 0.712211 0.668 0.62 0.568211 0.518947 +0.439413 0.354213 0.303093 0.280373 0.2728 0.276587 0.2728 0.26144 +0.25576 0.25008 0.248187 0.2444 0.2444 0.25008 0.23872 0.2444 +0.25008 0.242507 0.236827 0.236827 0.234933 0.22168 0.22168 0.229253 +0.22168 0.216 0.22168 0.223573 0.223573 0.217893 0.219787 0.216 +0.22168 0.22168 0.000986667 0.216 0.000973333 0.000986667 0.000993333 0.000966667 +0.000933333 0.00094 0.000973333 0.00096 0.000933333 0.00094 0.000933333 0.000933333 +0.000933333 0.000946667 0.000926667 0.000933333 0.00096 0.000933333 0.00092 0.000946667 +0.000946667 0.000966667 0.000966667 0.000953333 0.00096 0.000953333 0.000946667 0.000973333 +0.000986667 0.000946667 0.00096 0.00098 0.000953333 0.000966667 0.00096 0.000926667 +0.000953333 0.000973333 0.00098 0.217893 0.000986667 0.00096 0.000973333 0.216 +0.217893 0.216 0.000986667 0.000986667 0.000973333 0.000993333 0.217893 0.000993333 +0.217893 0.219787 0.219787 0.22168 0.23304 0.240613 0.240613 0.2444 +0.246293 0.257653 0.269013 0.270907 0.270907 0.269013 0.280373 0.299307 +0.308773 0.32392 0.36368 0.42048 0.5 0.539158 0.589684 0.650316 +0.715368 0.772842 0.822737 0.868211 0.910526 0.950316 0.985224 1.00482 +1.01265 1.00416 0.981959 0.917474 0.841684 0.759579 0.669263 0.589053 +0.530947 0.481067 0.390187 0.325813 0.28416 0.269013 0.259547 0.263333 +0.251973 0.2444 0.25008 0.25576 0.263333 0.26144 0.263333 0.26712 +0.263333 0.263333 0.263333 0.269013 0.2728 0.2728 0.286053 0.29552 +0.299307 0.310667 0.337173 0.38072 0.49432 0.584632 0.726105 0.896 +1.01037 1.02963 0.963579 0.771579 0.00082 0.000813333 0.0008 0.000806667 +0.000866667 0.00098 0.259547 0.384507 0.556842 0.705895 0.877053 1.00416 +1.04139 1.01918 0.917474 0.743789 0.595368 0.505053 0.3864 0.333387 +0.310667 0.297413 0.293627 0.27848 0.263333 0.265227 0.26144 0.259547 +0.26144 0.253867 0.25576 0.257653 0.253867 0.251973 0.251973 0.248187 +0.242507 0.236827 0.2444 0.2444 0.246293 0.25576 0.253867 0.265227 +0.27848 0.287947 0.31256 0.358 0.42048 0.506316 0.558105 0.629474 +0.718526 0.818947 0.909895 0.981633 1.01461 1.04204 1.05804 1.05543 +1.0378 1.00841 0.960421 0.873263 0.780421 0.697053 0.630105 0.578316 +0.543579 0.518316 0.486747 0.42616 0.378827 0.350427 0.327707 0.30688 +0.299307 0.287947 0.282267 0.270907 0.25576 0.248187 0.251973 0.2444 +0.240613 0.236827 0.231147 0.229253 0.22736 0.22168 0.22168 0.223573 +0.22168 0.223573 0.216 0.216 0.219787 0.217893 0.000993333 0.22736 +0.229253 0.217893 0.00098 0.000953333 0.000946667 0.000933333 0.00092 0.000913333 +0.000926667 0.000926667 0.000926667 0.00092 0.000886667 0.000906667 0.00092 0.000893333 +0.000926667 0.00094 0.000906667 0.000913333 0.00092 0.000913333 0.000886667 0.000906667 +0.00092 0.000926667 0.00094 0.000933333 0.000913333 0.000893333 0.000893333 0.000926667 +0.000933333 0.000913333 0.000886667 0.000886667 0.000893333 0.00086 0.00086 0.000866667 +0.00088 0.000933333 0.00094 0.00094 0.00094 0.000913333 0.00088 0.00088 +0.000906667 0.00092 0.00092 0.000953333 0.000926667 0.000886667 0.000913333 0.000886667 +0.000873333 0.000886667 0.000906667 0.00092 0.000966667 0.216 0.000973333 0.000966667 +0.000966667 0.00096 0.000966667 0.000986667 0.217893 0.00098 0.216 0.23304 +0.242507 0.242507 0.25008 0.253867 0.248187 0.251973 0.263333 0.26712 +0.269013 0.276587 0.27848 0.282267 0.304987 0.356107 0.411013 0.500632 +0.545474 0.600421 0.66421 0.729895 0.780421 0.820211 0.842316 0.842947 +0.829053 0.808211 0.781684 0.753263 0.731789 0.720421 0.716 0.703368 +0.693263 0.686316 0.681263 0.677474 0.675579 0.674316 0.676211 0.678737 +0.68 0.679368 0.678737 0.681263 0.678105 0.671158 0.671789 0.678105 +0.679368 0.681895 0.675579 0.673684 0.679368 0.681895 0.683158 0.680632 +0.678737 0.679368 0.679368 0.678737 0.678737 0.683158 0.678105 0.673053 +0.676842 0.674947 0.684421 0.686947 0.678737 0.674947 0.678105 0.678737 +0.680632 0.679368 0.678105 0.678737 0.679368 0.681263 0.684421 0.679368 +0.676842 0.674316 0.681263 0.682526 0.675579 0.671158 0.669263 0.669263 +0.669895 0.670526 0.663579 0.639579 0.59979 0.554947 0.550526 0.596 +0.614947 0.580211 0.624421 0.708421 0.646526 0.527789 0.422373 0.358 +0.354213 0.384507 0.42616 0.508211 0.576421 0.669263 0.768421 0.849895 +0.917474 0.969263 0.954737 0.866947 0.756421 0.666737 0.62 0.600421 +0.558105 0.519579 0.510737 0.527789 0.555579 0.587789 0.616211 0.638947 +0.659158 0.675579 0.683789 0.688842 0.693895 0.693263 0.695158 0.697053 +0.699579 0.702737 0.703368 0.705895 0.707158 0.706526 0.707158 0.705895 +0.709053 0.714737 0.719789 0.726105 0.733053 0.743158 0.755158 0.767158 +0.784211 0.803789 0.816421 0.827158 0.844842 0.852421 0.849263 0.842316 +0.827158 0.806316 0.779158 0.746947 0.715368 0.683158 0.644 0.606737 +0.572632 0.539789 0.508211 0.43184 0.344747 0.2728 0.23304 0.231147 +0.23872 0.251973 0.259547 0.26712 0.2728 0.263333 0.251973 0.2444 +0.25008 0.253867 0.25008 0.246293 0.234933 0.236827 0.236827 0.23304 +0.229253 0.231147 0.23304 0.23304 0.242507 0.231147 0.219787 0.231147 +0.229253 0.219787 0.219787 0.22736 0.229253 0.22168 0.00098 0.000973333 +0.000986667 0.000993333 0.216 0.000993333 0.000986667 0.000953333 0.000953333 0.000946667 +0.00092 0.000933333 0.000946667 0.00094 0.00094 0.000933333 0.000926667 0.000926667 +0.000946667 0.000946667 0.000926667 0.00096 0.000966667 0.00092 0.000926667 0.000946667 +0.000953333 0.000973333 0.000973333 0.00094 0.000946667 0.000953333 0.000946667 0.000966667 +0.00098 0.00096 0.000953333 0.000966667 0.00096 0.000966667 0.000973333 0.00096 +0.000973333 0.00096 0.00096 0.217893 0.216 0.00098 0.000993333 0.217893 +0.000993333 0.22168 0.225467 0.229253 0.223573 0.223573 0.219787 0.223573 +0.234933 0.23872 0.23872 0.240613 0.246293 0.25008 0.25008 0.251973 +0.257653 0.265227 0.286053 0.297413 0.304987 0.31824 0.339067 0.38072 +0.428053 0.500632 0.540421 0.592842 0.650316 0.712211 0.774737 0.834105 +0.885263 0.92821 0.964211 0.987837 0.999918 1.00612 1.00188 0.986204 +0.935158 0.855579 0.766526 0.676842 0.604211 0.549895 0.503789 0.40344 +0.337173 0.304987 0.287947 0.2728 0.263333 0.25576 0.25008 0.251973 +0.246293 0.236827 0.246293 0.25576 0.257653 0.26144 0.265227 0.2728 +0.270907 0.265227 0.265227 0.269013 0.27848 0.276587 0.28984 0.299307 +0.30688 0.331493 0.38072 0.49432 0.580842 0.722316 0.899789 1.0169 +1.03943 0.985878 0.791158 0.602947 0.000826667 0.00084 0.000813333 0.000813333 +0.00082 0.000866667 0.000993333 0.26712 0.393973 0.556211 0.698947 0.869474 +1.0009 1.04106 1.02376 0.926316 0.744421 0.594105 0.504421 0.388293 +0.337173 0.314453 0.297413 0.282267 0.276587 0.270907 0.25576 0.25008 +0.251973 0.242507 0.246293 0.242507 0.25008 0.253867 0.26144 0.257653 +0.242507 0.240613 0.2444 0.2444 0.231147 0.248187 0.25008 0.257653 +0.263333 0.257653 0.26712 0.27848 0.28984 0.308773 0.358 0.428053 +0.517684 0.574526 0.637053 0.706526 0.791158 0.893474 0.987837 1.02506 +1.0489 1.06304 1.05706 1.0391 1.00873 0.957263 0.870737 0.782947 +0.705895 0.640211 0.586526 0.546737 0.519579 0.498107 0.4432 0.395867 +0.359893 0.3296 0.303093 0.286053 0.26712 0.263333 0.263333 0.257653 +0.253867 0.25008 0.242507 0.240613 0.23304 0.229253 0.234933 0.236827 +0.23872 0.22736 0.223573 0.22168 0.223573 0.22168 0.217893 0.216 +0.00098 0.00098 0.000946667 0.000933333 0.000953333 0.00092 0.000933333 0.000953333 +0.00094 0.00094 0.000946667 0.000953333 0.000953333 0.000966667 0.000973333 0.00096 +0.000966667 0.00094 0.0009 0.000926667 0.00094 0.000926667 0.000926667 0.000933333 +0.000946667 0.000966667 0.00096 0.000913333 0.0009 0.0009 0.000933333 0.000946667 +0.000946667 0.000933333 0.000906667 0.000886667 0.000873333 0.000873333 0.000893333 0.000906667 +0.00092 0.000933333 0.000913333 0.000926667 0.000933333 0.000906667 0.000906667 0.000913333 +0.000893333 0.0009 0.00094 0.000966667 0.00092 0.000906667 0.000886667 0.000866667 +0.000866667 0.00086 0.000866667 0.00088 0.000926667 0.000913333 0.000913333 0.000926667 +0.00092 0.00092 0.000953333 0.00098 0.00098 0.000973333 0.219787 0.229253 +0.223573 0.223573 0.22736 0.22736 0.231147 0.23872 0.234933 0.234933 +0.240613 0.240613 0.2444 0.25576 0.274693 0.2728 0.274693 0.297413 +0.31256 0.339067 0.412907 0.505684 0.544842 0.602316 0.667368 0.726737 +0.778526 0.819579 0.839789 0.848 0.846105 0.838526 0.821474 0.800632 +0.781053 0.760842 0.743158 0.726737 0.716632 0.709684 0.702105 0.695158 +0.689474 0.685053 0.687579 0.690105 0.682526 0.674947 0.678737 0.683158 +0.685053 0.690105 0.685684 0.683789 0.685053 0.686947 0.686947 0.683158 +0.686947 0.688842 0.686316 0.684421 0.688211 0.692632 0.683158 0.68 +0.682526 0.683158 0.691368 0.692 0.685053 0.683789 0.685053 0.684421 +0.683158 0.680632 0.682526 0.684421 0.683158 0.685053 0.688211 0.684421 +0.678105 0.676842 0.681895 0.677474 0.671158 0.669895 0.668 0.66421 +0.656632 0.638947 0.608 0.558105 0.502526 0.39208 0.452667 0.557474 +0.611158 0.628842 0.703368 0.681263 0.520842 0.303093 0.270907 0.251973 +0.265227 0.304987 0.439413 0.573895 0.668632 0.707158 0.700211 0.683158 +0.704632 0.792421 0.903579 0.942105 0.879579 0.796842 0.733053 0.698947 +0.672421 0.642737 0.621895 0.624421 0.632 0.640211 0.647158 0.660421 +0.681263 0.702105 0.716 0.727368 0.741263 0.748211 0.751368 0.752 +0.755158 0.760211 0.762737 0.767789 0.774737 0.779158 0.782947 0.791158 +0.801263 0.809474 0.822737 0.831579 0.840421 0.846737 0.851789 0.852421 +0.849263 0.837895 0.817053 0.789895 0.758947 0.721053 0.678737 0.639579 +0.602316 0.568211 0.537263 0.508842 0.464027 0.416693 0.373147 0.337173 +0.3012 0.259547 0.231147 0.000966667 0.000926667 0.000946667 0.225467 0.248187 +0.257653 0.269013 0.263333 0.26144 0.26712 0.257653 0.242507 0.240613 +0.2444 0.240613 0.23872 0.242507 0.223573 0.225467 0.23872 0.236827 +0.22168 0.22168 0.23304 0.231147 0.23304 0.22736 0.219787 0.223573 +0.223573 0.216 0.217893 0.225467 0.231147 0.219787 0.000966667 0.000986667 +0.00096 0.000966667 0.216 0.217893 0.216 0.000973333 0.00098 0.000973333 +0.000953333 0.00096 0.000933333 0.0009 0.00094 0.000953333 0.000946667 0.000933333 +0.000946667 0.00094 0.000926667 0.000973333 0.000993333 0.000953333 0.000946667 0.000966667 +0.000966667 0.000966667 0.000973333 0.00096 0.00096 0.000966667 0.00096 0.000966667 +0.000973333 0.00098 0.000973333 0.000973333 0.000986667 0.000973333 0.00096 0.00098 +0.000986667 0.000953333 0.000966667 0.219787 0.219787 0.219787 0.22168 0.225467 +0.22168 0.223573 0.229253 0.23872 0.234933 0.231147 0.22736 0.22736 +0.242507 0.248187 0.251973 0.257653 0.26144 0.26144 0.269013 0.276587 +0.287947 0.304987 0.32392 0.34664 0.38072 0.433733 0.504421 0.542947 +0.590947 0.647789 0.714105 0.781053 0.838526 0.891579 0.938316 0.978105 +0.997959 1.00971 1.012 1.00416 0.984571 0.931368 0.858737 0.776632 +0.692 0.614316 0.551158 0.498107 0.401547 0.348533 0.32392 0.299307 +0.27848 0.270907 0.26712 0.26144 0.26144 0.25576 0.246293 0.2444 +0.2444 0.240613 0.246293 0.253867 0.253867 0.251973 0.257653 0.270907 +0.274693 0.270907 0.26712 0.269013 0.286053 0.28984 0.299307 0.316347 +0.337173 0.39208 0.505053 0.587158 0.723579 0.902316 1.01918 1.04531 +1.00318 0.843579 0.645895 0.506947 0.000773333 0.0008 0.000786667 0.0008 +0.000786667 0.000806667 0.000886667 0.217893 0.276587 0.395867 0.551158 0.692 +0.861263 0.998612 1.04237 1.02539 0.921263 0.739368 0.591579 0.504421 +0.39208 0.327707 0.299307 0.291733 0.282267 0.263333 0.25576 0.257653 +0.253867 0.248187 0.2444 0.242507 0.259547 0.263333 0.248187 0.236827 +0.234933 0.234933 0.22736 0.23304 0.234933 0.253867 0.246293 0.251973 +0.25576 0.25008 0.265227 0.270907 0.269013 0.276587 0.286053 0.299307 +0.331493 0.376933 0.43752 0.508842 0.551789 0.626947 0.729895 0.829053 +0.92379 0.992735 1.02245 1.04629 1.05869 1.05445 1.03943 1.01265 +0.968 0.880211 0.791158 0.709053 0.640842 0.589684 0.549263 0.520211 +0.498107 0.439413 0.3864 0.358 0.3296 0.308773 0.28984 0.27848 +0.2728 0.2728 0.263333 0.253867 0.251973 0.253867 0.2444 0.23872 +0.23304 0.229253 0.22736 0.225467 0.223573 0.22168 0.216 0.000993333 +0.22168 0.22168 0.000986667 0.216 0.000986667 0.000953333 0.00096 0.00096 +0.00098 0.216 0.216 0.000993333 0.000966667 0.00098 0.000973333 0.000946667 +0.000933333 0.000913333 0.000913333 0.00094 0.000933333 0.00092 0.000946667 0.000946667 +0.00096 0.000973333 0.000946667 0.000906667 0.000926667 0.00096 0.00096 0.00094 +0.00092 0.000913333 0.000886667 0.000866667 0.000873333 0.00092 0.000966667 0.00098 +0.000953333 0.000926667 0.000933333 0.000953333 0.00094 0.000933333 0.000913333 0.00092 +0.00092 0.000913333 0.000933333 0.00092 0.00092 0.000913333 0.0009 0.000886667 +0.00086 0.00084 0.00088 0.000913333 0.000886667 0.000873333 0.00092 0.00094 +0.00094 0.000966667 0.219787 0.225467 0.22168 0.219787 0.000973333 0.00096 +0.00098 0.216 0.000993333 0.000986667 0.216 0.00098 0.00098 0.00098 +0.00098 0.216 0.22168 0.23304 0.23872 0.23304 0.234933 0.248187 +0.25008 0.253867 0.263333 0.276587 0.287947 0.325813 0.384507 0.45456 +0.518947 0.566947 0.621895 0.678105 0.733684 0.778526 0.812632 0.839158 +0.854316 0.862526 0.86 0.848 0.837895 0.823368 0.808211 0.791789 +0.772842 0.757684 0.754526 0.748842 0.731158 0.721684 0.722316 0.717263 +0.710947 0.709053 0.704 0.702105 0.700842 0.700211 0.698947 0.695158 +0.697053 0.697053 0.693895 0.695789 0.700842 0.700211 0.688211 0.685684 +0.688842 0.687579 0.692 0.693895 0.693263 0.698316 0.698316 0.693895 +0.690105 0.688211 0.690737 0.692 0.689474 0.692 0.697684 0.693895 +0.685053 0.684421 0.690737 0.685053 0.676842 0.674316 0.667368 0.651579 +0.623158 0.583368 0.534105 0.44888 0.337173 0.29552 0.34096 0.506947 +0.597263 0.679368 0.760842 0.685053 0.506947 0.31256 0.291733 0.280373 +0.373147 0.532842 0.637053 0.707158 0.681895 0.591579 0.516421 0.450773 +0.44888 0.536632 0.689474 0.824 0.816421 0.810105 0.826526 0.814526 +0.784842 0.755158 0.733684 0.733053 0.735579 0.745053 0.764632 0.784211 +0.803158 0.820211 0.828421 0.839789 0.854316 0.860632 0.855579 0.851789 +0.850526 0.855579 0.853053 0.854316 0.856842 0.853053 0.848 0.844842 +0.836632 0.827158 0.822737 0.806947 0.786737 0.760842 0.734316 0.700842 +0.666105 0.628842 0.595368 0.560632 0.530947 0.501895 0.424267 0.37504 +0.339067 0.316347 0.30688 0.287947 0.26712 0.26144 0.246293 0.223573 +0.000933333 0.000886667 0.000913333 0.00098 0.231147 0.259547 0.265227 0.265227 +0.263333 0.257653 0.26144 0.25576 0.25576 0.251973 0.242507 0.242507 +0.240613 0.23304 0.236827 0.242507 0.234933 0.236827 0.2444 0.248187 +0.236827 0.234933 0.246293 0.240613 0.223573 0.225467 0.229253 0.22168 +0.22168 0.22168 0.223573 0.225467 0.225467 0.22168 0.216 0.223573 +0.000986667 0.000953333 0.000973333 0.000953333 0.000946667 0.000953333 0.000973333 0.000973333 +0.000993333 0.219787 0.00096 0.000913333 0.000953333 0.000973333 0.00096 0.00096 +0.00096 0.00094 0.000953333 0.000993333 0.00098 0.00096 0.00096 0.000973333 +0.00098 0.000973333 0.000973333 0.000966667 0.000966667 0.000986667 0.000986667 0.000986667 +0.000986667 0.216 0.00098 0.00098 0.219787 0.217893 0.000966667 0.000986667 +0.217893 0.000966667 0.000973333 0.223573 0.223573 0.223573 0.22736 0.231147 +0.23304 0.234933 0.240613 0.2444 0.242507 0.248187 0.248187 0.246293 +0.25576 0.26144 0.263333 0.26712 0.276587 0.28416 0.297413 0.320133 +0.34096 0.378827 0.43184 0.504421 0.544211 0.596632 0.656632 0.721053 +0.783579 0.839158 0.893474 0.944 0.981959 0.999592 1.01233 1.01592 +1.00939 0.989143 0.932 0.854316 0.770947 0.689474 0.617474 0.557474 +0.509474 0.422373 0.359893 0.31824 0.28984 0.276587 0.276587 0.269013 +0.26712 0.26144 0.253867 0.253867 0.25576 0.253867 0.248187 0.25008 +0.248187 0.240613 0.246293 0.257653 0.259547 0.253867 0.251973 0.265227 +0.2728 0.2728 0.270907 0.274693 0.293627 0.303093 0.314453 0.342853 +0.39776 0.512 0.602947 0.74 0.908 1.01918 1.04498 1.00547 +0.875789 0.698947 0.546105 0.373147 0.000713333 0.000733333 0.000753333 0.000793333 +0.00082 0.000833333 0.000866667 0.000913333 0.219787 0.26712 0.382613 0.543579 +0.683158 0.853053 0.994367 1.0378 1.02016 0.92 0.741263 0.594737 +0.508211 0.38072 0.327707 0.310667 0.286053 0.274693 0.27848 0.26712 +0.259547 0.25576 0.251973 0.25576 0.257653 0.251973 0.23872 0.231147 +0.234933 0.231147 0.229253 0.23872 0.246293 0.25008 0.242507 0.25576 +0.263333 0.25576 0.259547 0.263333 0.25008 0.253867 0.259547 0.265227 +0.276587 0.28984 0.303093 0.320133 0.350427 0.429947 0.525895 0.582105 +0.652211 0.727368 0.806316 0.897895 0.984898 1.02147 1.04694 1.05935 +1.05739 1.04269 1.01559 0.974316 0.890316 0.800632 0.716632 0.647789 +0.596632 0.554947 0.524 0.502526 0.45456 0.407227 0.361787 0.331493 +0.314453 0.303093 0.291733 0.276587 0.269013 0.259547 0.251973 0.242507 +0.234933 0.23872 0.236827 0.234933 0.234933 0.23304 0.231147 0.229253 +0.22736 0.22168 0.225467 0.23304 0.22736 0.216 0.000986667 0.216 +0.23304 0.231147 0.22168 0.000966667 0.000966667 0.000966667 0.000953333 0.000966667 +0.000973333 0.00096 0.000973333 0.000973333 0.000966667 0.000973333 0.217893 0.00098 +0.000953333 0.000973333 0.000966667 0.000946667 0.000973333 0.00098 0.00094 0.00092 +0.0009 0.000893333 0.000893333 0.0009 0.000926667 0.000986667 0.000973333 0.000933333 +0.000926667 0.000933333 0.000973333 0.000953333 0.000926667 0.000906667 0.0009 0.000926667 +0.000926667 0.0009 0.000913333 0.000913333 0.000926667 0.000906667 0.0009 0.000873333 +0.00084 0.000873333 0.000913333 0.000933333 0.000933333 0.000966667 0.000986667 0.000966667 +0.00096 0.000993333 0.225467 0.216 0.000986667 0.000966667 0.000953333 0.000966667 +0.216 0.000993333 0.000993333 0.219787 0.217893 0.000986667 0.219787 0.22168 +0.223573 0.22736 0.22736 0.23304 0.229253 0.231147 0.23304 0.223573 +0.225467 0.223573 0.231147 0.242507 0.25008 0.269013 0.270907 0.25008 +0.242507 0.23872 0.25576 0.316347 0.412907 0.510737 0.550526 0.599158 +0.640842 0.684421 0.721053 0.754526 0.786105 0.809474 0.828421 0.842316 +0.845474 0.849263 0.853053 0.851789 0.842316 0.839789 0.836632 0.828421 +0.818316 0.808211 0.800632 0.798737 0.795579 0.791789 0.782316 0.771579 +0.770316 0.769053 0.764 0.765263 0.766526 0.757053 0.745684 0.743789 +0.743158 0.740632 0.745053 0.740632 0.736842 0.741895 0.741895 0.733684 +0.728632 0.725474 0.726737 0.724842 0.721684 0.723579 0.724842 0.718526 +0.711579 0.712842 0.716632 0.710316 0.701474 0.696421 0.683158 0.662316 +0.634526 0.604842 0.572 0.538526 0.512632 0.481067 0.435627 0.503789 +0.587789 0.670526 0.746947 0.735579 0.615579 0.526526 0.513263 0.548 +0.630105 0.714105 0.731789 0.659158 0.553053 0.4432 0.36936 0.35232 +0.367467 0.496213 0.638947 0.746316 0.681263 0.66421 0.743789 0.818316 +0.850526 0.848 0.844842 0.848632 0.852421 0.853053 0.851789 0.839789 +0.819579 0.8 0.776632 0.760842 0.755158 0.743789 0.733053 0.724211 +0.716632 0.714737 0.704632 0.698316 0.690105 0.677474 0.665474 0.647789 +0.632 0.616211 0.59979 0.578316 0.554947 0.529684 0.512 0.481067 +0.433733 0.399653 0.373147 0.34096 0.32392 0.308773 0.28416 0.27848 +0.270907 0.269013 0.270907 0.259547 0.225467 0.000966667 0.000933333 0.00092 +0.00096 0.216 0.231147 0.253867 0.269013 0.26712 0.257653 0.259547 +0.26712 0.25576 0.25576 0.25008 0.242507 0.248187 0.246293 0.242507 +0.234933 0.240613 0.2444 0.242507 0.25008 0.246293 0.23872 0.2444 +0.242507 0.236827 0.242507 0.240613 0.22736 0.234933 0.240613 0.23304 +0.23304 0.23304 0.234933 0.229253 0.217893 0.219787 0.223573 0.223573 +0.22736 0.000973333 0.000966667 0.000966667 0.000946667 0.00096 0.000946667 0.000953333 +0.219787 0.219787 0.00096 0.000953333 0.00098 0.000973333 0.00098 0.000966667 +0.000933333 0.000933333 0.216 0.219787 0.216 0.217893 0.000973333 0.00098 +0.216 0.217893 0.000966667 0.000946667 0.00096 0.000986667 0.219787 0.000986667 +0.000993333 0.223573 0.217893 0.216 0.219787 0.223573 0.22168 0.216 +0.000993333 0.00098 0.000986667 0.22168 0.22736 0.234933 0.23872 0.23872 +0.23872 0.2444 0.251973 0.253867 0.25008 0.26144 0.259547 0.263333 +0.27848 0.287947 0.293627 0.299307 0.322027 0.34664 0.376933 0.43184 +0.501895 0.540421 0.593474 0.655368 0.724211 0.793684 0.856211 0.907368 +0.951579 0.983918 0.999918 1.01265 1.01657 1.00873 0.989143 0.942105 +0.866947 0.779789 0.689474 0.614316 0.553684 0.503789 0.40912 0.348533 +0.314453 0.28984 0.276587 0.269013 0.26712 0.26712 0.26712 0.257653 +0.265227 0.263333 0.251973 0.25008 0.251973 0.251973 0.246293 0.246293 +0.2444 0.234933 0.240613 0.251973 0.26144 0.263333 0.259547 0.269013 +0.27848 0.27848 0.280373 0.287947 0.303093 0.31824 0.342853 0.405333 +0.515158 0.609895 0.755789 0.926947 1.02408 1.04302 1.00122 0.866316 +0.702105 0.566947 0.42616 0.293627 0.0007 0.000726667 0.00078 0.000806667 +0.000833333 0.00084 0.000866667 0.000873333 0.00088 0.000973333 0.263333 0.37504 +0.540421 0.675579 0.839158 0.98849 1.03518 1.0231 0.931368 0.757684 +0.609263 0.513895 0.399653 0.333387 0.299307 0.28984 0.280373 0.265227 +0.257653 0.26144 0.257653 0.259547 0.259547 0.25576 0.246293 0.240613 +0.240613 0.236827 0.234933 0.23872 0.23872 0.23872 0.246293 0.251973 +0.251973 0.246293 0.248187 0.25576 0.2444 0.251973 0.257653 0.25576 +0.26144 0.265227 0.274693 0.280373 0.28984 0.304987 0.337173 0.382613 +0.446987 0.513895 0.557474 0.620632 0.708421 0.810105 0.905474 0.986857 +1.02473 1.04922 1.06 1.06152 1.04727 1.01984 0.981633 0.902316 +0.818316 0.733684 0.658526 0.602316 0.561263 0.531579 0.506947 0.462133 +0.411013 0.373147 0.342853 0.316347 0.3012 0.28984 0.28416 0.269013 +0.259547 0.253867 0.248187 0.248187 0.242507 0.248187 0.25008 0.242507 +0.236827 0.231147 0.236827 0.240613 0.23304 0.229253 0.234933 0.23872 +0.236827 0.219787 0.000973333 0.00096 0.000973333 0.000953333 0.000966667 0.225467 +0.22168 0.000973333 0.000986667 0.000973333 0.00096 0.00098 0.217893 0.000993333 +0.00098 0.216 0.216 0.000993333 0.000993333 0.00096 0.00092 0.000926667 +0.000926667 0.000953333 0.000973333 0.000973333 0.00096 0.00096 0.000926667 0.000913333 +0.000926667 0.00092 0.000926667 0.000913333 0.0009 0.0009 0.000906667 0.000926667 +0.000953333 0.000953333 0.000946667 0.00098 0.000966667 0.000913333 0.000886667 0.000913333 +0.000913333 0.00094 0.00096 0.00098 0.22168 0.22168 0.216 0.000986667 +0.216 0.217893 0.217893 0.00096 0.000933333 0.000933333 0.000946667 0.000993333 +0.000993333 0.216 0.217893 0.22736 0.22736 0.229253 0.236827 0.236827 +0.242507 0.240613 0.2444 0.23872 0.223573 0.22736 0.236827 0.231147 +0.231147 0.242507 0.242507 0.240613 0.242507 0.253867 0.25576 0.248187 +0.248187 0.246293 0.22736 0.219787 0.216 0.000966667 0.234933 0.248187 +0.293627 0.342853 0.411013 0.490533 0.524632 0.553053 0.585263 0.612421 +0.642737 0.669895 0.695789 0.713474 0.736842 0.759579 0.779158 0.791158 +0.803789 0.813263 0.823368 0.831579 0.835368 0.844842 0.844211 0.844842 +0.850526 0.851158 0.849895 0.857474 0.860632 0.853053 0.850526 0.854316 +0.853053 0.851789 0.853684 0.848 0.846105 0.851789 0.850526 0.848 +0.845474 0.839158 0.837263 0.835368 0.830316 0.834105 0.832842 0.822737 +0.818947 0.820842 0.820842 0.811368 0.802526 0.795579 0.780421 0.760211 +0.736842 0.712842 0.684421 0.65979 0.641474 0.623789 0.601684 0.600421 +0.633895 0.650316 0.669263 0.733684 0.776 0.779789 0.802526 0.847368 +0.882105 0.855579 0.773474 0.696421 0.651579 0.631368 0.618737 0.611158 +0.622526 0.672421 0.740632 0.708421 0.572632 0.508211 0.537895 0.606105 +0.673053 0.713474 0.730526 0.733053 0.718526 0.689474 0.654737 0.618105 +0.583368 0.559368 0.535368 0.519579 0.511368 0.505684 0.503158 0.498107 +0.496213 0.49432 0.47728 0.458347 0.44888 0.43752 0.42616 0.412907 +0.40344 0.38072 0.378827 0.36368 0.342853 0.325813 0.316347 0.304987 +0.293627 0.291733 0.286053 0.2728 0.263333 0.270907 0.259547 0.246293 +0.242507 0.23304 0.223573 0.000966667 0.00088 0.000866667 0.000933333 0.225467 +0.248187 0.251973 0.257653 0.265227 0.2728 0.265227 0.251973 0.251973 +0.259547 0.253867 0.248187 0.240613 0.236827 0.246293 0.251973 0.242507 +0.234933 0.234933 0.23304 0.22736 0.23872 0.2444 0.236827 0.23872 +0.240613 0.234933 0.229253 0.22736 0.22736 0.23304 0.23304 0.229253 +0.22736 0.225467 0.217893 0.000986667 0.000986667 0.219787 0.216 0.22168 +0.229253 0.22168 0.000986667 0.000973333 0.000973333 0.000966667 0.000946667 0.000973333 +0.217893 0.00098 0.000953333 0.00096 0.00096 0.000966667 0.216 0.216 +0.00094 0.000946667 0.216 0.00098 0.000986667 0.217893 0.22168 0.000993333 +0.000993333 0.223573 0.216 0.000986667 0.000993333 0.000986667 0.216 0.000993333 +0.216 0.22168 0.223573 0.217893 0.216 0.219787 0.231147 0.225467 +0.219787 0.225467 0.229253 0.22736 0.23304 0.2444 0.246293 0.2444 +0.242507 0.2444 0.25576 0.26144 0.263333 0.276587 0.27848 0.28984 +0.31256 0.331493 0.348533 0.38072 0.43752 0.506316 0.545474 0.596 +0.657263 0.728 0.8 0.866316 0.922526 0.969895 0.994367 1.00678 +1.01396 1.01331 1.00449 0.987837 0.942105 0.864421 0.774737 0.695158 +0.625684 0.561263 0.507579 0.42048 0.359893 0.314453 0.28416 0.269013 +0.269013 0.26144 0.25576 0.251973 0.25008 0.251973 0.251973 0.246293 +0.248187 0.25008 0.246293 0.2444 0.248187 0.248187 0.246293 0.253867 +0.246293 0.236827 0.246293 0.25008 0.25576 0.269013 0.26712 0.26712 +0.27848 0.28416 0.291733 0.297413 0.31256 0.339067 0.405333 0.518947 +0.614316 0.764 0.940211 1.02898 1.04335 0.995673 0.857474 0.696421 +0.561263 0.42616 0.303093 0.253867 0.000726667 0.00072 0.00072 0.00074 +0.00076 0.000793333 0.00084 0.000853333 0.000846667 0.000926667 0.217893 0.263333 +0.367467 0.535368 0.665474 0.827158 0.982286 1.03518 1.02767 0.944 +0.766526 0.612421 0.514526 0.393973 0.3296 0.304987 0.28984 0.276587 +0.2728 0.2728 0.263333 0.265227 0.263333 0.253867 0.242507 0.234933 +0.236827 0.234933 0.223573 0.229253 0.236827 0.23872 0.25008 0.248187 +0.25008 0.251973 0.25008 0.257653 0.253867 0.25576 0.25008 0.248187 +0.257653 0.263333 0.259547 0.26712 0.26712 0.270907 0.282267 0.28984 +0.304987 0.327707 0.354213 0.401547 0.503789 0.556842 0.625053 0.714105 +0.814526 0.907368 0.986204 1.02147 1.04465 1.05543 1.05641 1.04694 +1.02637 0.992082 0.920632 0.831579 0.746947 0.677474 0.62 0.572 +0.536632 0.512 0.479173 0.43184 0.3864 0.354213 0.327707 0.31256 +0.3012 0.28984 0.286053 0.280373 0.27848 0.274693 0.263333 0.253867 +0.251973 0.25008 0.246293 0.2444 0.240613 0.236827 0.2444 0.234933 +0.22168 0.000993333 0.000986667 0.000993333 0.000973333 0.000966667 0.216 0.223573 +0.000993333 0.000973333 0.217893 0.000993333 0.000993333 0.219787 0.223573 0.219787 +0.000986667 0.00096 0.00098 0.00098 0.000933333 0.00092 0.00094 0.000966667 +0.000966667 0.000993333 0.217893 0.00098 0.000926667 0.00092 0.00094 0.000933333 +0.000946667 0.000933333 0.000933333 0.000953333 0.00096 0.00094 0.00094 0.000953333 +0.00098 0.00098 0.000953333 0.000953333 0.000946667 0.000926667 0.00094 0.00098 +0.00098 0.000966667 0.000986667 0.22168 0.217893 0.000966667 0.00096 0.00096 +0.000986667 0.000966667 0.000913333 0.000953333 0.000966667 0.000966667 0.223573 0.231147 +0.217893 0.22736 0.23304 0.225467 0.225467 0.23304 0.236827 0.240613 +0.236827 0.236827 0.234933 0.225467 0.229253 0.240613 0.2444 0.25008 +0.251973 0.251973 0.248187 0.240613 0.251973 0.259547 0.248187 0.25008 +0.26144 0.259547 0.259547 0.257653 0.257653 0.25008 0.23872 0.219787 +0.000913333 0.00094 0.000953333 0.223573 0.234933 0.269013 0.297413 0.320133 +0.348533 0.390187 0.43184 0.4716 0.507579 0.524632 0.538526 0.551158 +0.565684 0.580211 0.594737 0.611158 0.623158 0.637053 0.647158 0.659158 +0.669895 0.676211 0.688211 0.701474 0.710316 0.709053 0.710947 0.717263 +0.721053 0.726737 0.733684 0.734316 0.741895 0.752 0.755789 0.760842 +0.762737 0.762105 0.767789 0.771579 0.778526 0.795579 0.802526 0.801895 +0.804421 0.811368 0.817053 0.818316 0.822105 0.826526 0.831579 0.834737 +0.834737 0.828421 0.812632 0.795579 0.781684 0.768421 0.752 0.741895 +0.738737 0.717263 0.698316 0.755158 0.857474 0.930105 0.957895 0.940842 +0.891579 0.824632 0.772842 0.751368 0.743789 0.743789 0.746947 0.753263 +0.757684 0.746947 0.685684 0.564421 0.412907 0.316347 0.303093 0.350427 +0.43184 0.492427 0.503789 0.501263 0.462133 0.407227 0.365573 0.3296 +0.293627 0.287947 0.27848 0.280373 0.286053 0.29552 0.28416 0.291733 +0.299307 0.304987 0.30688 0.299307 0.297413 0.28984 0.28984 0.28416 +0.282267 0.276587 0.282267 0.293627 0.286053 0.27848 0.274693 0.265227 +0.251973 0.248187 0.236827 0.229253 0.22736 0.240613 0.223573 0.000953333 +0.000926667 0.00088 0.000866667 0.000893333 0.000933333 0.00098 0.236827 0.25008 +0.2444 0.242507 0.25008 0.2444 0.251973 0.257653 0.248187 0.23872 +0.246293 0.246293 0.236827 0.229253 0.229253 0.234933 0.240613 0.236827 +0.240613 0.23304 0.225467 0.22168 0.217893 0.225467 0.22736 0.229253 +0.229253 0.225467 0.22168 0.219787 0.22736 0.225467 0.217893 0.22168 +0.223573 0.22168 0.000986667 0.000973333 0.00098 0.000986667 0.00096 0.00096 +0.000993333 0.22168 0.000986667 0.00094 0.00096 0.00094 0.000926667 0.000966667 +0.000993333 0.00096 0.00096 0.000973333 0.000933333 0.00094 0.000973333 0.00098 +0.00096 0.000966667 0.00098 0.000966667 0.000966667 0.000993333 0.22168 0.216 +0.00098 0.219787 0.217893 0.223573 0.223573 0.223573 0.22168 0.219787 +0.225467 0.22736 0.225467 0.223573 0.223573 0.22736 0.23872 0.234933 +0.229253 0.23304 0.236827 0.23304 0.236827 0.25008 0.259547 0.26144 +0.265227 0.263333 0.274693 0.287947 0.293627 0.303093 0.314453 0.339067 +0.382613 0.43752 0.505053 0.544842 0.601053 0.668 0.741263 0.813895 +0.884 0.944 0.983918 1.00122 1.01298 1.0182 1.0169 1.00482 +0.981633 0.919368 0.848632 0.777895 0.705895 0.628842 0.556842 0.506316 +0.428053 0.356107 0.297413 0.27848 0.26712 0.257653 0.253867 0.251973 +0.259547 0.251973 0.246293 0.242507 0.2444 0.25576 0.248187 0.240613 +0.23872 0.236827 0.240613 0.242507 0.246293 0.23872 0.240613 0.248187 +0.2444 0.236827 0.246293 0.251973 0.259547 0.269013 0.270907 0.274693 +0.28416 0.28984 0.299307 0.31256 0.34664 0.40344 0.513895 0.616211 +0.769053 0.942105 1.02963 1.04106 0.989469 0.837263 0.68 0.553053 +0.411013 0.29552 0.2444 0.216 0.000706667 0.000706667 0.000706667 0.000746667 +0.000753333 0.00078 0.000813333 0.000853333 0.000873333 0.0009 0.000906667 0.00098 +0.251973 0.354213 0.527158 0.650316 0.810737 0.976842 1.03355 1.02898 +0.951579 0.775368 0.618737 0.518947 0.401547 0.3296 0.308773 0.3012 +0.287947 0.27848 0.269013 0.263333 0.257653 0.248187 0.236827 0.23304 +0.23304 0.236827 0.234933 0.242507 0.246293 0.246293 0.257653 0.259547 +0.257653 0.253867 0.242507 0.246293 0.25008 0.251973 0.2444 0.246293 +0.25008 0.251973 0.25008 0.251973 0.253867 0.257653 0.26712 0.276587 +0.280373 0.28416 0.28416 0.28984 0.304987 0.339067 0.399653 0.506316 +0.562526 0.632632 0.716632 0.805684 0.886526 0.962316 1.00678 1.03714 +1.05673 1.06761 1.05151 1.02931 0.997959 0.943368 0.858105 0.773474 +0.698947 0.637684 0.590316 0.551158 0.520842 0.490533 0.4432 0.399653 +0.367467 0.350427 0.325813 0.310667 0.297413 0.28984 0.27848 0.265227 +0.26712 0.263333 0.25576 0.253867 0.251973 0.242507 0.236827 0.229253 +0.225467 0.22736 0.22168 0.22168 0.22168 0.22736 0.22736 0.229253 +0.229253 0.225467 0.216 0.00098 0.000993333 0.223573 0.225467 0.223573 +0.00098 0.000973333 0.000986667 0.000986667 0.00094 0.00094 0.217893 0.217893 +0.216 0.217893 0.217893 0.000966667 0.00092 0.000926667 0.00096 0.000986667 +0.000973333 0.000966667 0.00098 0.00098 0.000973333 0.000973333 0.000986667 0.000986667 +0.000966667 0.00096 0.000946667 0.00092 0.000933333 0.000966667 0.000973333 0.00098 +0.000966667 0.000966667 0.00098 0.000993333 0.000953333 0.000913333 0.00092 0.000933333 +0.000946667 0.000953333 0.000953333 0.217893 0.00098 0.00096 0.22168 0.223573 +0.219787 0.231147 0.229253 0.22736 0.229253 0.229253 0.23304 0.23304 +0.225467 0.231147 0.229253 0.225467 0.23304 0.246293 0.240613 0.240613 +0.246293 0.2444 0.236827 0.246293 0.259547 0.25008 0.2444 0.246293 +0.246293 0.246293 0.25008 0.259547 0.263333 0.270907 0.270907 0.253867 +0.242507 0.219787 0.000986667 0.0009 0.000933333 0.00098 0.223573 0.234933 +0.23304 0.240613 0.248187 0.274693 0.28984 0.303093 0.304987 0.314453 +0.32392 0.325813 0.34664 0.376933 0.384507 0.39208 0.393973 0.411013 +0.428053 0.439413 0.45456 0.46592 0.4716 0.467813 0.479173 0.490533 +0.496213 0.505684 0.506947 0.506316 0.513263 0.520842 0.522105 0.522105 +0.520211 0.521474 0.532211 0.538526 0.546105 0.556842 0.558105 0.558105 +0.559368 0.566947 0.573895 0.578947 0.589684 0.601053 0.620632 0.644632 +0.674947 0.711579 0.748842 0.781684 0.807579 0.821474 0.826526 0.825263 +0.818947 0.794316 0.757053 0.737474 0.739368 0.736211 0.709684 0.660421 +0.615579 0.578947 0.558105 0.549263 0.549895 0.561263 0.572632 0.584632 +0.584 0.554947 0.481067 0.3296 0.28984 0.297413 0.2728 0.282267 +0.3012 0.297413 0.287947 0.270907 0.259547 0.248187 0.2444 0.23872 +0.231147 0.236827 0.242507 0.2444 0.257653 0.263333 0.246293 0.25576 +0.257653 0.26144 0.26144 0.26144 0.26144 0.265227 0.25576 0.2444 +0.2444 0.234933 0.25008 0.257653 0.240613 0.23872 0.236827 0.236827 +0.240613 0.23872 0.217893 0.00098 0.00096 0.000933333 0.00086 0.000793333 +0.000833333 0.000873333 0.000933333 0.216 0.22736 0.231147 0.240613 0.23872 +0.23304 0.23872 0.23872 0.234933 0.240613 0.242507 0.229253 0.225467 +0.229253 0.234933 0.23304 0.22736 0.229253 0.234933 0.23304 0.22736 +0.231147 0.229253 0.223573 0.22168 0.000993333 0.000986667 0.216 0.217893 +0.217893 0.000993333 0.000993333 0.22168 0.23304 0.23304 0.229253 0.231147 +0.231147 0.225467 0.217893 0.216 0.216 0.000993333 0.000973333 0.000953333 +0.000986667 0.217893 0.00098 0.00094 0.000946667 0.000933333 0.000933333 0.00096 +0.000986667 0.000973333 0.000986667 0.000993333 0.00096 0.00096 0.000966667 0.00096 +0.000973333 0.00098 0.000973333 0.000986667 0.000993333 0.219787 0.22736 0.217893 +0.000993333 0.216 0.217893 0.22168 0.219787 0.22736 0.231147 0.223573 +0.22736 0.231147 0.229253 0.236827 0.23872 0.23872 0.2444 0.246293 +0.246293 0.25008 0.25576 0.253867 0.251973 0.26144 0.274693 0.27848 +0.293627 0.308773 0.314453 0.3296 0.356107 0.390187 0.4432 0.510105 +0.550526 0.604211 0.671158 0.748211 0.830316 0.902947 0.963579 0.996653 +1.01363 1.02278 1.02343 1.01559 0.999918 0.969895 0.906105 0.831579 +0.750737 0.674947 0.610526 0.558105 0.515789 0.446987 0.36368 0.30688 +0.28416 0.269013 0.25576 0.25576 0.259547 0.253867 0.25008 0.25008 +0.248187 0.23872 0.23872 0.23872 0.236827 0.246293 0.246293 0.242507 +0.242507 0.2444 0.2444 0.2444 0.248187 0.240613 0.242507 0.242507 +0.2444 0.23872 0.236827 0.246293 0.253867 0.259547 0.26712 0.280373 +0.287947 0.29552 0.31256 0.339067 0.40344 0.515789 0.605474 0.760211 +0.945263 1.03061 1.03616 0.981959 0.825263 0.669263 0.544211 0.399653 +0.286053 0.234933 0.00096 0.000886667 0.000753333 0.00076 0.000753333 0.00072 +0.000733333 0.000733333 0.00076 0.000826667 0.00086 0.000866667 0.000886667 0.000906667 +0.000986667 0.253867 0.342853 0.520842 0.645895 0.801895 0.966105 1.03159 +1.02996 0.952211 0.771579 0.616211 0.516421 0.39776 0.33528 0.304987 +0.287947 0.2728 0.263333 0.265227 0.259547 0.253867 0.246293 0.242507 +0.242507 0.2444 0.240613 0.246293 0.248187 0.2444 0.248187 0.251973 +0.242507 0.248187 0.240613 0.23304 0.2444 0.248187 0.2444 0.2444 +0.2444 0.25576 0.259547 0.25008 0.253867 0.257653 0.259547 0.26712 +0.265227 0.26144 0.265227 0.269013 0.26712 0.274693 0.287947 0.310667 +0.356107 0.429947 0.510737 0.554316 0.608632 0.68 0.769053 0.867579 +0.961053 1.00547 1.03061 1.04694 1.0538 1.05249 1.03747 1.00939 +0.962947 0.882737 0.802526 0.728632 0.662947 0.609895 0.567579 0.531579 +0.504421 0.45456 0.407227 0.367467 0.33528 0.316347 0.310667 0.3012 +0.293627 0.286053 0.27848 0.269013 0.263333 0.25576 0.240613 0.23872 +0.2444 0.246293 0.2444 0.23872 0.236827 0.23872 0.236827 0.234933 +0.229253 0.219787 0.22168 0.223573 0.225467 0.22736 0.22168 0.22168 +0.217893 0.216 0.219787 0.223573 0.216 0.216 0.219787 0.000993333 +0.00098 0.000966667 0.000973333 0.000986667 0.000966667 0.000973333 0.219787 0.000993333 +0.000973333 0.00098 0.000966667 0.00094 0.000953333 0.000973333 0.000946667 0.000946667 +0.00096 0.00096 0.000966667 0.00094 0.00094 0.000973333 0.00098 0.000953333 +0.000973333 0.00098 0.000973333 0.000953333 0.000933333 0.000926667 0.000933333 0.00096 +0.000993333 0.000986667 0.000966667 0.000973333 0.000966667 0.219787 0.217893 0.000986667 +0.22168 0.22168 0.216 0.219787 0.223573 0.219787 0.22736 0.231147 +0.229253 0.22736 0.22168 0.225467 0.225467 0.223573 0.223573 0.22168 +0.225467 0.229253 0.231147 0.240613 0.2444 0.234933 0.229253 0.23872 +0.2444 0.2444 0.251973 0.25576 0.26144 0.26144 0.25576 0.269013 +0.274693 0.263333 0.23872 0.22168 0.000966667 0.00092 0.000913333 0.000893333 +0.000926667 0.0009 0.000946667 0.000993333 0.234933 0.248187 0.242507 0.25008 +0.251973 0.253867 0.280373 0.27848 0.282267 0.286053 0.27848 0.291733 +0.299307 0.291733 0.30688 0.310667 0.293627 0.28984 0.320133 0.320133 +0.31256 0.316347 0.32392 0.325813 0.33528 0.333387 0.32392 0.31824 +0.304987 0.304987 0.325813 0.32392 0.322027 0.325813 0.30688 0.299307 +0.293627 0.297413 0.299307 0.291733 0.303093 0.310667 0.331493 0.361787 +0.399653 0.46592 0.518947 0.558105 0.601684 0.634526 0.652842 0.654105 +0.642737 0.613684 0.578947 0.544211 0.518947 0.503789 0.4432 0.376933 +0.348533 0.316347 0.28984 0.282267 0.287947 0.287947 0.297413 0.322027 +0.325813 0.286053 0.236827 0.23872 0.251973 0.253867 0.229253 0.242507 +0.25576 0.25008 0.23872 0.242507 0.248187 0.242507 0.248187 0.240613 +0.23872 0.242507 0.242507 0.240613 0.257653 0.25008 0.236827 0.240613 +0.2444 0.234933 0.23304 0.242507 0.242507 0.251973 0.2444 0.229253 +0.231147 0.231147 0.231147 0.225467 0.216 0.217893 0.000986667 0.000993333 +0.22168 0.00098 0.000933333 0.000886667 0.000846667 0.00084 0.000873333 0.000886667 +0.00094 0.000993333 0.223573 0.23304 0.23872 0.236827 0.229253 0.225467 +0.231147 0.236827 0.23304 0.236827 0.234933 0.229253 0.223573 0.229253 +0.225467 0.22736 0.234933 0.231147 0.231147 0.236827 0.23304 0.223573 +0.223573 0.225467 0.219787 0.219787 0.219787 0.223573 0.223573 0.22168 +0.22168 0.22168 0.223573 0.22168 0.22736 0.219787 0.223573 0.223573 +0.223573 0.217893 0.00098 0.000986667 0.000993333 0.000993333 0.217893 0.000986667 +0.217893 0.219787 0.000986667 0.00098 0.00096 0.000953333 0.000966667 0.000973333 +0.000966667 0.000973333 0.217893 0.217893 0.000986667 0.000986667 0.00098 0.000973333 +0.216 0.000993333 0.000986667 0.000993333 0.000993333 0.219787 0.225467 0.000993333 +0.217893 0.22168 0.229253 0.231147 0.22736 0.236827 0.240613 0.236827 +0.23304 0.234933 0.236827 0.242507 0.248187 0.246293 0.253867 0.263333 +0.270907 0.269013 0.27848 0.28416 0.291733 0.299307 0.314453 0.322027 +0.337173 0.367467 0.40344 0.462133 0.517684 0.560632 0.618105 0.689474 +0.769684 0.848632 0.921895 0.982939 1.00808 1.02278 1.03094 1.03094 +1.01984 1.00057 0.966105 0.894737 0.816421 0.735579 0.656632 0.587789 +0.536632 0.49432 0.418587 0.361787 0.310667 0.287947 0.2728 0.259547 +0.259547 0.25576 0.251973 0.251973 0.253867 0.251973 0.248187 0.25008 +0.246293 0.240613 0.23872 0.240613 0.23872 0.23872 0.240613 0.242507 +0.240613 0.242507 0.240613 0.23872 0.240613 0.236827 0.236827 0.240613 +0.242507 0.240613 0.23872 0.25008 0.253867 0.259547 0.269013 0.28984 +0.30688 0.320133 0.344747 0.405333 0.520211 0.618737 0.764 0.938316 +1.02669 1.03257 0.971158 0.807579 0.656 0.537263 0.388293 0.28984 +0.2444 0.216 0.000906667 0.000853333 0.00078 0.00078 0.000753333 0.000726667 +0.000706667 0.000706667 0.00074 0.000793333 0.000853333 0.00088 0.00088 0.000873333 +0.00088 0.000946667 0.236827 0.333387 0.518947 0.635158 0.787368 0.951579 +1.02604 1.02571 0.950947 0.774737 0.621263 0.524 0.407227 0.3296 +0.303093 0.291733 0.28416 0.27848 0.263333 0.25576 0.253867 0.242507 +0.236827 0.23304 0.23872 0.246293 0.246293 0.240613 0.240613 0.242507 +0.242507 0.246293 0.242507 0.240613 0.246293 0.25008 0.248187 0.246293 +0.253867 0.25576 0.25576 0.248187 0.242507 0.246293 0.246293 0.248187 +0.257653 0.263333 0.263333 0.26712 0.259547 0.26144 0.26712 0.274693 +0.28416 0.293627 0.31256 0.356107 0.393973 0.464027 0.533474 0.600421 +0.68 0.755789 0.832211 0.909895 0.982939 1.01918 1.04367 1.05282 +1.04988 1.03878 1.01755 0.986204 0.918105 0.837895 0.760211 0.691368 +0.631368 0.585895 0.548 0.517684 0.481067 0.428053 0.39776 0.359893 +0.3296 0.308773 0.297413 0.28984 0.293627 0.291733 0.2728 0.26712 +0.265227 0.263333 0.251973 0.25008 0.253867 0.25008 0.242507 0.23872 +0.234933 0.23304 0.236827 0.234933 0.234933 0.23304 0.22736 0.229253 +0.22736 0.225467 0.23304 0.22736 0.217893 0.216 0.216 0.217893 +0.217893 0.000993333 0.00098 0.000966667 0.00096 0.000946667 0.000966667 0.00098 +0.000973333 0.000973333 0.000946667 0.000946667 0.000973333 0.000993333 0.00098 0.000946667 +0.000953333 0.000946667 0.000933333 0.000926667 0.00094 0.000973333 0.00098 0.00096 +0.000973333 0.00096 0.00096 0.000953333 0.00094 0.000946667 0.000966667 0.000973333 +0.216 0.000946667 0.000933333 0.000966667 0.217893 0.225467 0.000993333 0.00098 +0.217893 0.000993333 0.00098 0.219787 0.231147 0.234933 0.229253 0.217893 +0.22168 0.217893 0.000993333 0.223573 0.22168 0.219787 0.22168 0.219787 +0.216 0.22168 0.236827 0.234933 0.231147 0.234933 0.242507 0.246293 +0.242507 0.240613 0.236827 0.251973 0.269013 0.26144 0.253867 0.26144 +0.259547 0.257653 0.253867 0.257653 0.25576 0.234933 0.216 0.000933333 +0.0009 0.000886667 0.000873333 0.000913333 0.000966667 0.22168 0.000993333 0.216 +0.000986667 0.223573 0.240613 0.240613 0.246293 0.242507 0.240613 0.25576 +0.242507 0.248187 0.269013 0.28416 0.26144 0.269013 0.274693 0.26712 +0.253867 0.265227 0.26712 0.257653 0.259547 0.257653 0.253867 0.246293 +0.242507 0.248187 0.251973 0.2444 0.246293 0.253867 0.2444 0.242507 +0.23872 0.246293 0.246293 0.2444 0.25576 0.259547 0.26712 0.263333 +0.274693 0.291733 0.304987 0.3296 0.373147 0.401547 0.407227 0.390187 +0.378827 0.34664 0.337173 0.314453 0.30688 0.32392 0.314453 0.304987 +0.299307 0.282267 0.259547 0.253867 0.253867 0.248187 0.257653 0.26712 +0.263333 0.23872 0.216 0.231147 0.23872 0.23872 0.225467 0.231147 +0.240613 0.234933 0.229253 0.2444 0.236827 0.231147 0.253867 0.257653 +0.248187 0.2444 0.23872 0.236827 0.248187 0.242507 0.234933 0.240613 +0.23304 0.223573 0.231147 0.246293 0.240613 0.234933 0.225467 0.216 +0.22168 0.225467 0.000986667 0.217893 0.217893 0.000973333 0.000926667 0.000893333 +0.000853333 0.000806667 0.00078 0.000806667 0.000826667 0.000893333 0.216 0.231147 +0.22168 0.223573 0.225467 0.23304 0.240613 0.229253 0.217893 0.229253 +0.23872 0.23304 0.22736 0.225467 0.22168 0.223573 0.225467 0.229253 +0.223573 0.22736 0.234933 0.231147 0.22168 0.225467 0.223573 0.223573 +0.223573 0.229253 0.22736 0.217893 0.217893 0.223573 0.22736 0.231147 +0.229253 0.223573 0.22168 0.000993333 0.000993333 0.217893 0.219787 0.22168 +0.217893 0.000986667 0.000973333 0.00096 0.000966667 0.000993333 0.217893 0.000973333 +0.000966667 0.216 0.216 0.216 0.000973333 0.000993333 0.216 0.000993333 +0.00096 0.000966667 0.000993333 0.216 0.217893 0.216 0.000986667 0.00098 +0.22168 0.22168 0.000993333 0.00098 0.000993333 0.22168 0.223573 0.22736 +0.23304 0.22736 0.234933 0.240613 0.23872 0.2444 0.248187 0.25576 +0.259547 0.25576 0.251973 0.251973 0.25576 0.26144 0.265227 0.28416 +0.3012 0.299307 0.303093 0.31824 0.34096 0.356107 0.390187 0.441307 +0.5 0.532842 0.580842 0.643368 0.716 0.795579 0.877053 0.952211 +0.998286 1.02147 1.03388 1.03616 1.02963 1.01494 0.99502 0.957895 +0.887789 0.811368 0.731789 0.653474 0.584632 0.530947 0.462133 0.373147 +0.331493 0.303093 0.287947 0.276587 0.259547 0.251973 0.246293 0.2444 +0.25008 0.25008 0.25008 0.25008 0.25008 0.246293 0.234933 0.234933 +0.236827 0.240613 0.236827 0.23304 0.229253 0.23304 0.240613 0.23872 +0.240613 0.242507 0.236827 0.236827 0.246293 0.2444 0.234933 0.23872 +0.2444 0.236827 0.236827 0.248187 0.25576 0.263333 0.270907 0.293627 +0.331493 0.365573 0.42048 0.518947 0.620632 0.780421 0.954105 1.02963 +1.02931 0.955368 0.791789 0.642105 0.528421 0.371253 0.2728 0.225467 +0.00094 0.000893333 0.000853333 0.000826667 0.000793333 0.000793333 0.000773333 0.000773333 +0.00074 0.00076 0.000766667 0.000793333 0.000806667 0.00082 0.000853333 0.000886667 +0.00088 0.000873333 0.000926667 0.234933 0.333387 0.513895 0.623789 0.771579 +0.938316 1.02278 1.02865 0.960421 0.786105 0.630737 0.524 0.401547 +0.34096 0.314453 0.293627 0.28416 0.2728 0.263333 0.259547 0.240613 +0.23872 0.240613 0.246293 0.2444 0.240613 0.246293 0.23872 0.236827 +0.23872 0.248187 0.248187 0.2444 0.248187 0.25008 0.231147 0.231147 +0.242507 0.234933 0.242507 0.246293 0.23872 0.234933 0.23872 0.246293 +0.253867 0.26144 0.251973 0.246293 0.25008 0.259547 0.26144 0.26712 +0.269013 0.269013 0.280373 0.28416 0.280373 0.286053 0.320133 0.378827 +0.467813 0.523368 0.566316 0.628842 0.707158 0.800632 0.894105 0.969263 +1.0058 1.03094 1.04759 1.05216 1.04596 1.02702 1.00155 0.954737 +0.883368 0.810737 0.738737 0.674316 0.617474 0.571368 0.536632 0.505684 +0.44888 0.401547 0.373147 0.354213 0.33528 0.316347 0.303093 0.299307 +0.297413 0.291733 0.280373 0.27848 0.270907 0.259547 0.257653 0.25576 +0.25008 0.246293 0.2444 0.240613 0.240613 0.236827 0.23872 0.2444 +0.236827 0.229253 0.23304 0.229253 0.217893 0.000973333 0.000986667 0.216 +0.217893 0.000986667 0.00096 0.000973333 0.000973333 0.000986667 0.00098 0.000986667 +0.216 0.000953333 0.000953333 0.000966667 0.000986667 0.219787 0.219787 0.000973333 +0.00096 0.000973333 0.000953333 0.00094 0.00094 0.00096 0.000993333 0.000986667 +0.000953333 0.000946667 0.00094 0.000946667 0.00096 0.000953333 0.000953333 0.00094 +0.000953333 0.00094 0.000953333 0.000953333 0.000973333 0.00096 0.00098 0.216 +0.216 0.216 0.216 0.223573 0.231147 0.22736 0.00098 0.000953333 +0.217893 0.216 0.22168 0.22168 0.219787 0.219787 0.217893 0.219787 +0.22168 0.22736 0.2444 0.2444 0.234933 0.229253 0.236827 0.23304 +0.22168 0.22736 0.236827 0.251973 0.259547 0.253867 0.248187 0.248187 +0.240613 0.23304 0.234933 0.2444 0.248187 0.25576 0.248187 0.23872 +0.229253 0.000966667 0.00094 0.000906667 0.00092 0.00086 0.000886667 0.000913333 +0.0009 0.00092 0.00098 0.000993333 0.219787 0.000966667 0.216 0.22736 +0.225467 0.229253 0.236827 0.242507 0.229253 0.23304 0.229253 0.223573 +0.231147 0.23872 0.225467 0.216 0.231147 0.23872 0.23872 0.231147 +0.229253 0.240613 0.2444 0.240613 0.246293 0.25576 0.253867 0.25008 +0.251973 0.276587 0.27848 0.2728 0.26712 0.26144 0.26712 0.259547 +0.26712 0.276587 0.280373 0.28984 0.3012 0.291733 0.2728 0.263333 +0.27848 0.276587 0.276587 0.26144 0.263333 0.282267 0.280373 0.269013 +0.265227 0.25008 0.23872 0.2444 0.253867 0.251973 0.25576 0.26144 +0.251973 0.23872 0.229253 0.2444 0.253867 0.26144 0.248187 0.2444 +0.26144 0.25008 0.246293 0.248187 0.23872 0.242507 0.25576 0.25576 +0.246293 0.242507 0.234933 0.236827 0.240613 0.246293 0.240613 0.240613 +0.225467 0.231147 0.242507 0.2444 0.23304 0.225467 0.22736 0.22168 +0.231147 0.225467 0.000986667 0.219787 0.00098 0.000933333 0.00088 0.0008 +0.000766667 0.000773333 0.0008 0.00084 0.000893333 0.00096 0.219787 0.000993333 +0.217893 0.225467 0.223573 0.223573 0.225467 0.217893 0.22168 0.231147 +0.23304 0.231147 0.219787 0.217893 0.217893 0.22168 0.225467 0.223573 +0.217893 0.219787 0.223573 0.225467 0.219787 0.217893 0.223573 0.219787 +0.217893 0.219787 0.22168 0.000986667 0.00098 0.216 0.217893 0.22736 +0.22736 0.22168 0.217893 0.000973333 0.000973333 0.225467 0.223573 0.225467 +0.219787 0.000993333 0.217893 0.000973333 0.000986667 0.216 0.000986667 0.00096 +0.000946667 0.000973333 0.000986667 0.00098 0.00098 0.217893 0.219787 0.217893 +0.000973333 0.00098 0.219787 0.219787 0.219787 0.22168 0.219787 0.216 +0.223573 0.225467 0.219787 0.000993333 0.229253 0.23872 0.234933 0.240613 +0.2444 0.234933 0.242507 0.248187 0.257653 0.259547 0.25576 0.269013 +0.27848 0.280373 0.276587 0.287947 0.28984 0.287947 0.29552 0.31824 +0.34096 0.356107 0.38072 0.418587 0.47728 0.515789 0.554316 0.607368 +0.672421 0.747579 0.830947 0.913684 0.984245 1.01461 1.03616 1.04694 +1.04563 1.03584 1.01788 0.989796 0.928842 0.849263 0.774105 0.705895 +0.637684 0.578316 0.530316 0.469707 0.382613 0.327707 0.293627 0.274693 +0.270907 0.26144 0.259547 0.26144 0.253867 0.25008 0.248187 0.242507 +0.242507 0.23872 0.240613 0.2444 0.248187 0.240613 0.231147 0.229253 +0.22736 0.229253 0.23304 0.234933 0.23304 0.23304 0.23872 0.236827 +0.23872 0.236827 0.236827 0.2444 0.248187 0.248187 0.2444 0.246293 +0.2444 0.2444 0.242507 0.248187 0.26144 0.2728 0.287947 0.310667 +0.350427 0.422373 0.524 0.616842 0.771579 0.957263 1.03061 1.02604 +0.947158 0.780421 0.631368 0.520842 0.371253 0.27848 0.229253 0.000946667 +0.000893333 0.00084 0.000833333 0.000833333 0.0008 0.00078 0.000773333 0.00078 +0.000766667 0.000753333 0.00076 0.000773333 0.00076 0.000766667 0.00082 0.000866667 +0.0009 0.000893333 0.000886667 0.000953333 0.23872 0.325813 0.508211 0.614316 +0.758947 0.928842 1.01951 1.028 0.964211 0.788 0.623158 0.515158 +0.401547 0.344747 0.310667 0.297413 0.28984 0.274693 0.257653 0.240613 +0.248187 0.242507 0.23872 0.236827 0.240613 0.2444 0.23872 0.242507 +0.242507 0.246293 0.242507 0.23872 0.236827 0.23304 0.225467 0.22736 +0.229253 0.225467 0.234933 0.242507 0.240613 0.234933 0.240613 0.251973 +0.253867 0.25008 0.23872 0.23872 0.25008 0.263333 0.265227 0.263333 +0.257653 0.259547 0.259547 0.263333 0.263333 0.265227 0.270907 0.280373 +0.29552 0.31256 0.3296 0.395867 0.501263 0.551158 0.617474 0.689474 +0.765895 0.851158 0.938947 0.998939 1.02539 1.04106 1.05151 1.05249 +1.04204 1.02212 0.993388 0.935789 0.862526 0.790526 0.721684 0.661053 +0.607368 0.56 0.529053 0.5 0.43184 0.39208 0.365573 0.350427 +0.333387 0.314453 0.30688 0.303093 0.29552 0.291733 0.28416 0.2728 +0.269013 0.263333 0.263333 0.25576 0.246293 0.248187 0.2444 0.236827 +0.231147 0.225467 0.22168 0.22736 0.22736 0.22168 0.216 0.000993333 +0.216 0.000973333 0.00094 0.000973333 0.225467 0.217893 0.00096 0.000973333 +0.000986667 0.000973333 0.000993333 0.216 0.219787 0.217893 0.000993333 0.000953333 +0.000966667 0.000966667 0.000953333 0.000986667 0.000986667 0.00098 0.217893 0.000993333 +0.000953333 0.000966667 0.000966667 0.000953333 0.00096 0.00094 0.000946667 0.00096 +0.00094 0.000966667 0.000993333 0.000973333 0.000973333 0.000966667 0.219787 0.219787 +0.00098 0.00098 0.216 0.22168 0.22168 0.216 0.000966667 0.000993333 +0.219787 0.000993333 0.22168 0.217893 0.000993333 0.216 0.217893 0.22168 +0.23304 0.240613 0.231147 0.225467 0.217893 0.217893 0.22168 0.223573 +0.000993333 0.22168 0.236827 0.240613 0.23872 0.23872 0.240613 0.23872 +0.229253 0.223573 0.22736 0.22736 0.23304 0.246293 0.2444 0.234933 +0.236827 0.23304 0.223573 0.219787 0.000926667 0.000806667 0.000793333 0.000806667 +0.000793333 0.000833333 0.000853333 0.0009 0.00092 0.00088 0.000946667 0.000986667 +0.000993333 0.000986667 0.22168 0.216 0.000946667 0.000993333 0.000986667 0.000966667 +0.217893 0.236827 0.23304 0.23872 0.248187 0.246293 0.25576 0.25008 +0.253867 0.26144 0.26144 0.25576 0.26712 0.265227 0.26144 0.257653 +0.265227 0.282267 0.2728 0.270907 0.263333 0.26712 0.270907 0.263333 +0.2728 0.274693 0.269013 0.26144 0.270907 0.269013 0.259547 0.25008 +0.25576 0.257653 0.257653 0.2444 0.248187 0.265227 0.259547 0.240613 +0.231147 0.23304 0.234933 0.248187 0.251973 0.23872 0.2444 0.251973 +0.240613 0.22736 0.23304 0.246293 0.25576 0.263333 0.240613 0.246293 +0.270907 0.26712 0.257653 0.26144 0.259547 0.251973 0.246293 0.25008 +0.240613 0.23872 0.231147 0.22736 0.242507 0.25008 0.248187 0.242507 +0.22736 0.23304 0.234933 0.225467 0.217893 0.22168 0.219787 0.225467 +0.223573 0.000993333 0.000993333 0.000946667 0.000926667 0.00092 0.000873333 0.00088 +0.000926667 0.00098 0.000993333 0.22168 0.225467 0.216 0.00098 0.00098 +0.216 0.22168 0.223573 0.217893 0.216 0.216 0.22168 0.225467 +0.22736 0.225467 0.000993333 0.217893 0.22168 0.223573 0.223573 0.22168 +0.000986667 0.000973333 0.216 0.217893 0.000993333 0.00098 0.219787 0.000993333 +0.000986667 0.000986667 0.000986667 0.000986667 0.000986667 0.216 0.22168 0.22168 +0.219787 0.223573 0.217893 0.000966667 0.000953333 0.216 0.217893 0.000986667 +0.000973333 0.00096 0.000986667 0.000993333 0.000993333 0.216 0.217893 0.216 +0.00098 0.00096 0.000953333 0.00098 0.000973333 0.216 0.219787 0.216 +0.000986667 0.000986667 0.219787 0.219787 0.216 0.219787 0.22736 0.229253 +0.23304 0.234933 0.234933 0.22736 0.23872 0.253867 0.25008 0.257653 +0.257653 0.251973 0.257653 0.26144 0.270907 0.2728 0.270907 0.282267 +0.29552 0.304987 0.31256 0.331493 0.34096 0.350427 0.378827 0.416693 +0.469707 0.515158 0.548632 0.594737 0.650316 0.716632 0.793053 0.872 +0.951579 1.0022 1.02963 1.04727 1.05314 1.04824 1.03518 1.01298 +0.98 0.912421 0.844211 0.762737 0.678737 0.605474 0.550526 0.512 +0.4432 0.38072 0.333387 0.297413 0.274693 0.263333 0.257653 0.251973 +0.253867 0.248187 0.246293 0.253867 0.25008 0.248187 0.240613 0.242507 +0.242507 0.23872 0.23304 0.236827 0.242507 0.234933 0.231147 0.22736 +0.22168 0.223573 0.225467 0.22736 0.229253 0.236827 0.236827 0.236827 +0.234933 0.234933 0.2444 0.25576 0.257653 0.253867 0.251973 0.257653 +0.251973 0.25576 0.253867 0.257653 0.269013 0.28416 0.31256 0.348533 +0.40912 0.522105 0.626316 0.781053 0.956 1.02931 1.0218 0.929474 +0.764632 0.62 0.512632 0.350427 0.270907 0.225467 0.00092 0.000873333 +0.000853333 0.00084 0.000846667 0.00084 0.000786667 0.000806667 0.0008 0.0008 +0.00078 0.00076 0.00076 0.000753333 0.000753333 0.000726667 0.00076 0.00082 +0.000866667 0.000906667 0.000866667 0.000866667 0.000913333 0.223573 0.316347 0.501895 +0.601053 0.743789 0.915579 1.01657 1.02898 0.964211 0.775368 0.607368 +0.512632 0.412907 0.35232 0.32392 0.297413 0.276587 0.257653 0.253867 +0.25576 0.242507 0.242507 0.246293 0.248187 0.240613 0.23872 0.242507 +0.246293 0.23872 0.23304 0.236827 0.225467 0.22736 0.229253 0.225467 +0.225467 0.23304 0.234933 0.234933 0.23304 0.236827 0.242507 0.246293 +0.246293 0.23872 0.234933 0.242507 0.246293 0.251973 0.257653 0.253867 +0.251973 0.257653 0.25576 0.251973 0.263333 0.263333 0.257653 0.25008 +0.25576 0.263333 0.263333 0.274693 0.3012 0.33528 0.40344 0.48296 +0.529053 0.580211 0.657263 0.746316 0.826526 0.899789 0.978105 1.01396 +1.0378 1.05053 1.0538 1.04824 1.03682 1.01559 0.986204 0.92821 +0.854947 0.779158 0.711579 0.649053 0.593474 0.551158 0.515789 0.47728 +0.422373 0.38072 0.359893 0.344747 0.3296 0.32392 0.30688 0.29552 +0.29552 0.291733 0.27848 0.26144 0.253867 0.257653 0.25008 0.242507 +0.248187 0.2444 0.23304 0.234933 0.236827 0.231147 0.22168 0.225467 +0.22736 0.22168 0.225467 0.231147 0.23304 0.223573 0.000993333 0.219787 +0.231147 0.229253 0.23304 0.22736 0.216 0.217893 0.000986667 0.00096 +0.00094 0.000933333 0.000973333 0.216 0.217893 0.219787 0.223573 0.00098 +0.000966667 0.216 0.216 0.000973333 0.000986667 0.000973333 0.00098 0.00098 +0.000966667 0.219787 0.23304 0.219787 0.000986667 0.000966667 0.000993333 0.000986667 +0.000966667 0.000973333 0.217893 0.000986667 0.000993333 0.000986667 0.000973333 0.000993333 +0.000986667 0.000993333 0.22736 0.223573 0.223573 0.22168 0.223573 0.22168 +0.225467 0.22736 0.216 0.00098 0.219787 0.223573 0.216 0.000966667 +0.00096 0.216 0.225467 0.225467 0.216 0.216 0.223573 0.22168 +0.00098 0.217893 0.219787 0.219787 0.223573 0.225467 0.223573 0.225467 +0.217893 0.000986667 0.219787 0.229253 0.22168 0.00096 0.000913333 0.000846667 +0.000826667 0.0008 0.00082 0.000853333 0.000846667 0.000886667 0.00092 0.00092 +0.00094 0.000966667 0.000993333 0.216 0.000966667 0.000993333 0.000966667 0.000973333 +0.219787 0.23304 0.234933 0.251973 0.248187 0.23872 0.248187 0.248187 +0.25576 0.257653 0.253867 0.25008 0.263333 0.26144 0.26144 0.25576 +0.25576 0.25576 0.253867 0.263333 0.257653 0.265227 0.248187 0.23872 +0.251973 0.246293 0.242507 0.25008 0.259547 0.25576 0.259547 0.253867 +0.25008 0.248187 0.248187 0.246293 0.246293 0.242507 0.240613 0.236827 +0.234933 0.23872 0.2444 0.253867 0.240613 0.23872 0.246293 0.23872 +0.229253 0.219787 0.216 0.234933 0.246293 0.2444 0.231147 0.236827 +0.269013 0.257653 0.253867 0.26712 0.257653 0.242507 0.25008 0.253867 +0.234933 0.25008 0.240613 0.236827 0.231147 0.234933 0.23872 0.234933 +0.225467 0.219787 0.22168 0.000993333 0.000986667 0.00098 0.217893 0.000986667 +0.00092 0.00092 0.00088 0.000886667 0.000913333 0.000926667 0.000986667 0.229253 +0.229253 0.229253 0.240613 0.246293 0.240613 0.236827 0.229253 0.219787 +0.223573 0.23872 0.22736 0.216 0.223573 0.229253 0.223573 0.223573 +0.223573 0.216 0.216 0.223573 0.219787 0.216 0.219787 0.223573 +0.22168 0.000993333 0.000973333 0.000986667 0.000986667 0.000986667 0.00098 0.000986667 +0.000986667 0.216 0.217893 0.22168 0.217893 0.00098 0.000973333 0.000966667 +0.00096 0.216 0.217893 0.000986667 0.000973333 0.00098 0.219787 0.22168 +0.217893 0.000993333 0.000986667 0.000986667 0.00096 0.00096 0.216 0.217893 +0.217893 0.00098 0.000973333 0.000973333 0.000966667 0.00098 0.216 0.217893 +0.216 0.217893 0.22736 0.229253 0.219787 0.225467 0.23304 0.234933 +0.23872 0.246293 0.246293 0.2444 0.25008 0.25576 0.257653 0.269013 +0.265227 0.26712 0.2728 0.286053 0.299307 0.3012 0.30688 0.322027 +0.33528 0.350427 0.36936 0.407227 0.456453 0.507579 0.539789 0.582105 +0.637053 0.704632 0.774737 0.851789 0.930105 0.990122 1.01886 1.03976 +1.05282 1.05576 1.04792 1.02931 1.00155 0.953474 0.882105 0.807579 +0.725474 0.652211 0.598526 0.544842 0.49432 0.407227 0.354213 0.31824 +0.287947 0.270907 0.265227 0.26144 0.257653 0.251973 0.248187 0.248187 +0.25008 0.251973 0.2444 0.246293 0.242507 0.242507 0.236827 0.23304 +0.236827 0.23304 0.23304 0.231147 0.23872 0.2444 0.240613 0.234933 +0.229253 0.231147 0.231147 0.22736 0.22168 0.225467 0.229253 0.231147 +0.22736 0.231147 0.234933 0.242507 0.253867 0.26144 0.25008 0.253867 +0.259547 0.263333 0.263333 0.270907 0.287947 0.304987 0.344747 0.40912 +0.513895 0.614947 0.779789 0.964211 1.03029 1.01984 0.921263 0.752 +0.609263 0.506947 0.344747 0.263333 0.223573 0.00092 0.000853333 0.000833333 +0.000826667 0.000833333 0.00084 0.000806667 0.00078 0.000793333 0.000793333 0.0008 +0.000793333 0.000773333 0.000766667 0.00076 0.000726667 0.00074 0.000746667 0.00078 +0.0008 0.000846667 0.00088 0.000886667 0.00088 0.000913333 0.223573 0.314453 +0.49432 0.592211 0.733684 0.904211 1.01233 1.02539 0.947789 0.761474 +0.606105 0.517053 0.42048 0.354213 0.316347 0.291733 0.280373 0.270907 +0.257653 0.248187 0.25008 0.246293 0.251973 0.242507 0.236827 0.236827 +0.242507 0.236827 0.23304 0.234933 0.229253 0.240613 0.236827 0.229253 +0.236827 0.240613 0.236827 0.234933 0.229253 0.234933 0.23304 0.229253 +0.23304 0.23872 0.234933 0.23872 0.248187 0.25008 0.248187 0.248187 +0.25008 0.257653 0.25008 0.242507 0.2444 0.248187 0.25576 0.25576 +0.25576 0.259547 0.25576 0.259547 0.263333 0.269013 0.274693 0.282267 +0.304987 0.35232 0.43184 0.517053 0.563158 0.62 0.700842 0.790526 +0.874526 0.949053 0.994041 1.02049 1.04302 1.05314 1.05543 1.04857 +1.0329 1.01135 0.983918 0.922526 0.847368 0.771579 0.699579 0.637053 +0.587158 0.546105 0.513263 0.464027 0.407227 0.373147 0.35232 0.337173 +0.339067 0.322027 0.297413 0.28416 0.276587 0.27848 0.26712 0.26144 +0.26712 0.263333 0.25576 0.253867 0.251973 0.240613 0.234933 0.23872 +0.23872 0.242507 0.248187 0.246293 0.236827 0.23304 0.234933 0.231147 +0.234933 0.229253 0.219787 0.216 0.216 0.217893 0.000993333 0.00098 +0.000966667 0.00098 0.216 0.219787 0.225467 0.217893 0.000993333 0.000966667 +0.216 0.223573 0.000986667 0.00098 0.219787 0.219787 0.216 0.000993333 +0.217893 0.223573 0.22168 0.000966667 0.000946667 0.00098 0.00098 0.00098 +0.000993333 0.000953333 0.000953333 0.00096 0.000946667 0.00096 0.217893 0.217893 +0.217893 0.219787 0.217893 0.217893 0.000993333 0.000993333 0.000973333 0.000953333 +0.00096 0.000973333 0.000986667 0.000973333 0.00098 0.00098 0.000966667 0.000906667 +0.000933333 0.000986667 0.00098 0.000973333 0.00096 0.000966667 0.000993333 0.00098 +0.00096 0.000973333 0.216 0.22168 0.225467 0.219787 0.216 0.22736 +0.000993333 0.000973333 0.223573 0.231147 0.22736 0.22736 0.229253 0.22168 +0.000973333 0.000933333 0.000913333 0.000866667 0.00084 0.0009 0.00092 0.000913333 +0.00092 0.000933333 0.00098 0.000953333 0.000953333 0.216 0.000986667 0.000986667 +0.225467 0.225467 0.225467 0.240613 0.229253 0.240613 0.240613 0.236827 +0.246293 0.242507 0.242507 0.240613 0.248187 0.248187 0.25008 0.23872 +0.2444 0.242507 0.248187 0.25008 0.242507 0.2444 0.000993333 0.00098 +0.231147 0.231147 0.234933 0.25576 0.259547 0.251973 0.259547 0.25008 +0.25008 0.263333 0.253867 0.242507 0.236827 0.23872 0.240613 0.2444 +0.242507 0.242507 0.22736 0.234933 0.240613 0.236827 0.248187 0.236827 +0.231147 0.229253 0.219787 0.231147 0.2444 0.234933 0.231147 0.23872 +0.25008 0.242507 0.240613 0.253867 0.248187 0.253867 0.251973 0.246293 +0.234933 0.2444 0.2444 0.229253 0.22168 0.22736 0.219787 0.22168 +0.000993333 0.216 0.219787 0.223573 0.216 0.00098 0.000933333 0.000873333 +0.000846667 0.00082 0.000893333 0.000946667 0.00096 0.219787 0.23304 0.23304 +0.225467 0.22736 0.23872 0.23872 0.229253 0.22736 0.234933 0.234933 +0.240613 0.240613 0.22736 0.217893 0.23304 0.231147 0.225467 0.229253 +0.225467 0.225467 0.219787 0.000993333 0.000986667 0.219787 0.231147 0.231147 +0.223573 0.000986667 0.00096 0.216 0.223573 0.223573 0.217893 0.216 +0.216 0.216 0.217893 0.22168 0.217893 0.000953333 0.000946667 0.000966667 +0.000966667 0.219787 0.217893 0.223573 0.22736 0.000986667 0.000973333 0.216 +0.223573 0.225467 0.22168 0.217893 0.000973333 0.000966667 0.00098 0.217893 +0.22168 0.219787 0.223573 0.223573 0.22168 0.217893 0.219787 0.225467 +0.225467 0.225467 0.231147 0.234933 0.234933 0.242507 0.25008 0.257653 +0.253867 0.257653 0.253867 0.25576 0.270907 0.269013 0.276587 0.287947 +0.291733 0.304987 0.31256 0.320133 0.339067 0.35232 0.37504 0.40912 +0.452667 0.503789 0.533474 0.572 0.621895 0.682526 0.755789 0.836 +0.913684 0.981306 1.00939 1.03257 1.04955 1.05641 1.05216 1.03584 +1.01331 0.984245 0.921263 0.846105 0.767789 0.690105 0.623158 0.568842 +0.521474 0.44888 0.382613 0.33528 0.3012 0.287947 0.27848 0.270907 +0.26144 0.251973 0.246293 0.246293 0.246293 0.2444 0.2444 0.2444 +0.246293 0.2444 0.242507 0.240613 0.23872 0.242507 0.23872 0.229253 +0.231147 0.229253 0.23304 0.23304 0.23304 0.234933 0.236827 0.234933 +0.234933 0.23872 0.234933 0.236827 0.240613 0.236827 0.234933 0.234933 +0.236827 0.234933 0.234933 0.234933 0.240613 0.25576 0.253867 0.251973 +0.25576 0.263333 0.269013 0.276587 0.304987 0.339067 0.4148 0.520842 +0.614316 0.772211 0.956632 1.02669 1.01265 0.906105 0.738737 0.600421 +0.502526 0.33528 0.26144 0.223573 0.000926667 0.000873333 0.000866667 0.000873333 +0.000866667 0.000846667 0.00082 0.00078 0.000773333 0.000753333 0.00076 0.000766667 +0.00078 0.000786667 0.00078 0.000786667 0.000766667 0.000733333 0.000733333 0.000733333 +0.000733333 0.000786667 0.000866667 0.000886667 0.000846667 0.000846667 0.000873333 0.216 +0.303093 0.469707 0.584 0.721684 0.890947 1.00678 1.02049 0.947158 +0.769684 0.616211 0.522105 0.424267 0.350427 0.316347 0.29552 0.282267 +0.257653 0.248187 0.248187 0.248187 0.251973 0.240613 0.240613 0.240613 +0.246293 0.240613 0.23872 0.23872 0.2444 0.23872 0.234933 0.23304 +0.229253 0.236827 0.236827 0.229253 0.229253 0.231147 0.231147 0.22736 +0.236827 0.242507 0.240613 0.23872 0.234933 0.236827 0.240613 0.240613 +0.2444 0.246293 0.242507 0.240613 0.25008 0.25008 0.2444 0.240613 +0.251973 0.257653 0.25008 0.246293 0.25008 0.242507 0.23872 0.2444 +0.263333 0.270907 0.28984 0.316347 0.356107 0.390187 0.48296 0.544842 +0.59979 0.666105 0.738105 0.810737 0.891579 0.964211 1.00253 1.02963 +1.04563 1.05706 1.06304 1.05151 1.03486 1.01037 0.98098 0.913053 +0.842947 0.767158 0.696421 0.631368 0.578316 0.536632 0.510105 0.462133 +0.42616 0.38072 0.350427 0.333387 0.320133 0.314453 0.303093 0.299307 +0.29552 0.28984 0.27848 0.274693 0.265227 0.259547 0.26712 0.259547 +0.253867 0.251973 0.25008 0.23872 0.22736 0.23304 0.240613 0.240613 +0.23872 0.231147 0.22168 0.225467 0.225467 0.22168 0.216 0.22168 +0.219787 0.22168 0.223573 0.223573 0.231147 0.219787 0.00098 0.219787 +0.225467 0.217893 0.00098 0.000993333 0.225467 0.217893 0.000986667 0.000986667 +0.223573 0.22168 0.000986667 0.000966667 0.00098 0.00098 0.000933333 0.000953333 +0.216 0.000966667 0.00098 0.00096 0.000906667 0.00092 0.00098 0.000986667 +0.000993333 0.00098 0.00094 0.00092 0.000953333 0.000986667 0.00094 0.00094 +0.00094 0.000953333 0.00096 0.000946667 0.000933333 0.000966667 0.000973333 0.000953333 +0.000973333 0.00096 0.000953333 0.000933333 0.00094 0.00098 0.00098 0.000973333 +0.00098 0.00098 0.000993333 0.22168 0.22736 0.000993333 0.219787 0.225467 +0.223573 0.23304 0.23304 0.231147 0.22168 0.231147 0.23872 0.23872 +0.240613 0.23304 0.23304 0.22168 0.000953333 0.000933333 0.000893333 0.000913333 +0.000893333 0.000913333 0.000946667 0.000933333 0.00094 0.000993333 0.000966667 0.000993333 +0.229253 0.229253 0.22736 0.236827 0.217893 0.225467 0.225467 0.223573 +0.231147 0.223573 0.22736 0.234933 0.234933 0.231147 0.229253 0.217893 +0.22736 0.225467 0.225467 0.22168 0.231147 0.240613 0.000986667 0.216 +0.242507 0.242507 0.246293 0.259547 0.25576 0.242507 0.248187 0.23872 +0.251973 0.26144 0.23872 0.231147 0.23872 0.248187 0.25576 0.248187 +0.236827 0.236827 0.223573 0.23304 0.23304 0.23304 0.246293 0.240613 +0.23304 0.225467 0.223573 0.231147 0.2444 0.240613 0.229253 0.234933 +0.242507 0.236827 0.23872 0.240613 0.25576 0.2444 0.231147 0.231147 +0.22736 0.231147 0.225467 0.000993333 0.219787 0.000993333 0.22168 0.000993333 +0.217893 0.00098 0.00096 0.219787 0.219787 0.000913333 0.000873333 0.00086 +0.000833333 0.000933333 0.216 0.217893 0.217893 0.223573 0.22736 0.223573 +0.219787 0.229253 0.234933 0.22168 0.216 0.223573 0.236827 0.23872 +0.234933 0.236827 0.231147 0.231147 0.234933 0.231147 0.225467 0.225467 +0.22736 0.231147 0.22736 0.219787 0.000993333 0.22168 0.22736 0.231147 +0.22736 0.219787 0.223573 0.225467 0.22168 0.223573 0.217893 0.216 +0.000993333 0.00098 0.217893 0.22168 0.000986667 0.000973333 0.000993333 0.22168 +0.217893 0.219787 0.219787 0.225467 0.22736 0.217893 0.216 0.219787 +0.22736 0.234933 0.231147 0.22168 0.219787 0.22168 0.217893 0.22736 +0.223573 0.229253 0.23872 0.23872 0.23872 0.23872 0.234933 0.23872 +0.246293 0.248187 0.242507 0.240613 0.25008 0.25576 0.259547 0.274693 +0.274693 0.274693 0.280373 0.287947 0.297413 0.297413 0.316347 0.33528 +0.339067 0.358 0.382613 0.411013 0.456453 0.504421 0.532211 0.572632 +0.621263 0.679368 0.750105 0.825263 0.895368 0.962316 1.00318 1.02963 +1.04694 1.05249 1.04857 1.0378 1.01984 0.996 0.951579 0.873263 +0.791789 0.716632 0.648421 0.589053 0.539158 0.5 0.411013 0.354213 +0.31256 0.286053 0.265227 0.257653 0.263333 0.257653 0.25008 0.2444 +0.248187 0.251973 0.246293 0.248187 0.242507 0.240613 0.23872 0.234933 +0.236827 0.23872 0.240613 0.23304 0.229253 0.236827 0.234933 0.231147 +0.234933 0.231147 0.23304 0.240613 0.234933 0.23304 0.234933 0.234933 +0.236827 0.234933 0.23304 0.229253 0.231147 0.236827 0.231147 0.229253 +0.234933 0.23872 0.246293 0.248187 0.251973 0.257653 0.26712 0.270907 +0.269013 0.276587 0.282267 0.293627 0.339067 0.405333 0.517684 0.62 +0.778526 0.957895 1.02376 1.00416 0.884632 0.720421 0.587158 0.490533 +0.331493 0.25576 0.216 0.000906667 0.000833333 0.00082 0.000866667 0.00088 +0.000853333 0.00082 0.000773333 0.000726667 0.000766667 0.00076 0.000753333 0.000773333 +0.000786667 0.000793333 0.0008 0.000793333 0.000746667 0.000753333 0.000746667 0.000693333 +0.000673333 0.000706667 0.000773333 0.00082 0.00088 0.000873333 0.000846667 0.000853333 +0.00096 0.3012 0.469707 0.576421 0.705263 0.874526 1.00253 1.01984 +0.955368 0.779789 0.621895 0.524 0.428053 0.354213 0.314453 0.297413 +0.26712 0.253867 0.257653 0.270907 0.259547 0.242507 0.242507 0.251973 +0.25008 0.240613 0.240613 0.23304 0.23304 0.225467 0.223573 0.231147 +0.225467 0.22736 0.236827 0.229253 0.231147 0.23304 0.231147 0.223573 +0.23304 0.240613 0.240613 0.23872 0.231147 0.23872 0.242507 0.23872 +0.242507 0.242507 0.234933 0.23872 0.240613 0.231147 0.22736 0.23304 +0.236827 0.242507 0.246293 0.242507 0.2444 0.248187 0.253867 0.25008 +0.25576 0.269013 0.263333 0.263333 0.269013 0.270907 0.29552 0.327707 +0.361787 0.422373 0.509474 0.557474 0.614947 0.686316 0.758316 0.839158 +0.92 0.985551 1.01853 1.03812 1.05184 1.05837 1.05837 1.05184 +1.03616 1.01331 0.981959 0.919368 0.842316 0.769684 0.698947 0.633263 +0.582105 0.539158 0.510737 0.467813 0.422373 0.395867 0.373147 0.359893 +0.342853 0.3296 0.314453 0.303093 0.293627 0.291733 0.286053 0.2728 +0.263333 0.26144 0.259547 0.25008 0.242507 0.251973 0.257653 0.248187 +0.234933 0.22736 0.236827 0.240613 0.236827 0.23872 0.231147 0.22736 +0.231147 0.229253 0.223573 0.22168 0.225467 0.219787 0.22168 0.231147 +0.223573 0.216 0.217893 0.223573 0.22168 0.00098 0.216 0.219787 +0.216 0.00096 0.000946667 0.000966667 0.000993333 0.00096 0.000926667 0.00098 +0.216 0.000986667 0.000973333 0.000933333 0.000913333 0.0009 0.000946667 0.000973333 +0.000933333 0.000906667 0.000893333 0.000893333 0.000953333 0.000946667 0.000913333 0.000926667 +0.000953333 0.000973333 0.000946667 0.000933333 0.000946667 0.000966667 0.000953333 0.000966667 +0.000986667 0.000953333 0.00096 0.000953333 0.000973333 0.216 0.000986667 0.000993333 +0.216 0.00098 0.000986667 0.223573 0.223573 0.219787 0.231147 0.223573 +0.229253 0.240613 0.242507 0.23304 0.229253 0.242507 0.240613 0.240613 +0.242507 0.2444 0.23304 0.23304 0.23872 0.219787 0.22168 0.000966667 +0.000906667 0.000906667 0.000926667 0.000906667 0.000946667 0.000973333 0.00096 0.000993333 +0.22168 0.22168 0.22736 0.225467 0.00096 0.000973333 0.217893 0.225467 +0.22168 0.00098 0.000986667 0.22168 0.22168 0.225467 0.223573 0.000993333 +0.000993333 0.000986667 0.216 0.219787 0.231147 0.236827 0.000986667 0.229253 +0.248187 0.240613 0.242507 0.251973 0.246293 0.23304 0.236827 0.229253 +0.246293 0.246293 0.22168 0.229253 0.236827 0.242507 0.23872 0.23304 +0.236827 0.234933 0.223573 0.236827 0.23304 0.23304 0.25008 0.236827 +0.225467 0.231147 0.22736 0.23304 0.240613 0.234933 0.223573 0.229253 +0.2444 0.2444 0.240613 0.240613 0.23872 0.223573 0.216 0.219787 +0.22168 0.22168 0.000993333 0.223573 0.000993333 0.22168 0.219787 0.225467 +0.216 0.00096 0.000926667 0.00094 0.0009 0.000893333 0.000913333 0.000946667 +0.22168 0.231147 0.229253 0.22168 0.000986667 0.223573 0.216 0.000973333 +0.216 0.225467 0.225467 0.216 0.216 0.223573 0.240613 0.23872 +0.229253 0.23872 0.2444 0.23872 0.240613 0.23304 0.22736 0.22736 +0.229253 0.231147 0.229253 0.22736 0.22168 0.219787 0.225467 0.234933 +0.234933 0.22736 0.229253 0.229253 0.217893 0.217893 0.216 0.000986667 +0.00098 0.216 0.225467 0.229253 0.223573 0.223573 0.219787 0.219787 +0.217893 0.217893 0.22736 0.23304 0.22736 0.229253 0.22736 0.229253 +0.242507 0.242507 0.231147 0.229253 0.23304 0.236827 0.236827 0.236827 +0.240613 0.23872 0.242507 0.25008 0.25576 0.25576 0.251973 0.253867 +0.263333 0.2728 0.270907 0.269013 0.27848 0.280373 0.27848 0.291733 +0.308773 0.31256 0.322027 0.337173 0.350427 0.361787 0.39208 0.424267 +0.46024 0.505684 0.535368 0.573263 0.620632 0.676211 0.741263 0.818316 +0.892842 0.961053 1.00286 1.028 1.04367 1.04988 1.05053 1.044 +1.02865 1.00188 0.956632 0.887789 0.814526 0.746316 0.68 0.608 +0.548 0.505684 0.43184 0.373147 0.331493 0.29552 0.27848 0.26712 +0.25576 0.251973 0.248187 0.242507 0.2444 0.2444 0.242507 0.236827 +0.236827 0.242507 0.2444 0.25008 0.2444 0.240613 0.234933 0.23304 +0.23304 0.23304 0.240613 0.236827 0.23304 0.236827 0.231147 0.231147 +0.234933 0.229253 0.225467 0.231147 0.234933 0.234933 0.23304 0.240613 +0.23872 0.234933 0.229253 0.231147 0.231147 0.23304 0.234933 0.231147 +0.231147 0.234933 0.240613 0.242507 0.25008 0.257653 0.26712 0.276587 +0.27848 0.28984 0.304987 0.333387 0.412907 0.520211 0.616211 0.781053 +0.964211 1.02571 1.00057 0.866947 0.704 0.575158 0.467813 0.322027 +0.251973 0.000986667 0.000893333 0.00084 0.000833333 0.000846667 0.000866667 0.00084 +0.000793333 0.000753333 0.0007 0.00072 0.000773333 0.000773333 0.000773333 0.0008 +0.000786667 0.000753333 0.000793333 0.000786667 0.000753333 0.00076 0.000746667 0.000713333 +0.000673333 0.000686667 0.000726667 0.000793333 0.0009 0.000926667 0.000873333 0.00084 +0.000886667 0.217893 0.29552 0.4432 0.565053 0.694526 0.861895 0.99698 +1.0218 0.962316 0.780421 0.620632 0.526526 0.424267 0.34664 0.31824 +0.29552 0.2728 0.259547 0.263333 0.257653 0.246293 0.25008 0.259547 +0.25008 0.23872 0.236827 0.22736 0.225467 0.216 0.22168 0.22736 +0.22736 0.229253 0.23304 0.229253 0.234933 0.22736 0.229253 0.23304 +0.240613 0.242507 0.240613 0.234933 0.234933 0.23872 0.234933 0.229253 +0.229253 0.22736 0.229253 0.236827 0.234933 0.225467 0.234933 0.236827 +0.236827 0.2444 0.25008 0.253867 0.253867 0.25576 0.253867 0.257653 +0.257653 0.248187 0.253867 0.253867 0.246293 0.253867 0.257653 0.251973 +0.26144 0.27848 0.297413 0.34096 0.39208 0.462133 0.528421 0.580842 +0.642105 0.712211 0.787368 0.866947 0.935789 0.989469 1.01624 1.03812 +1.05151 1.05967 1.06152 1.05673 1.04073 1.01984 0.988163 0.930105 +0.852421 0.782947 0.710947 0.645895 0.594737 0.549895 0.519579 0.49432 +0.435627 0.40912 0.3864 0.361787 0.344747 0.327707 0.310667 0.29552 +0.286053 0.286053 0.282267 0.276587 0.2728 0.2728 0.270907 0.25576 +0.2444 0.246293 0.248187 0.253867 0.248187 0.234933 0.236827 0.242507 +0.25008 0.242507 0.229253 0.223573 0.216 0.216 0.22736 0.231147 +0.22736 0.225467 0.22736 0.219787 0.000986667 0.000986667 0.22736 0.22736 +0.00098 0.00096 0.000946667 0.000953333 0.000986667 0.000966667 0.00098 0.000986667 +0.00098 0.000993333 0.00096 0.000926667 0.000933333 0.00094 0.000946667 0.000933333 +0.000906667 0.000926667 0.000886667 0.000906667 0.000953333 0.000946667 0.000966667 0.00098 +0.000973333 0.000973333 0.00096 0.000953333 0.000973333 0.000953333 0.000926667 0.000966667 +0.216 0.216 0.00098 0.00098 0.219787 0.22168 0.000993333 0.000993333 +0.216 0.000993333 0.22168 0.234933 0.225467 0.225467 0.231147 0.219787 +0.229253 0.23872 0.240613 0.236827 0.231147 0.236827 0.23872 0.234933 +0.240613 0.242507 0.231147 0.242507 0.242507 0.240613 0.242507 0.231147 +0.219787 0.229253 0.000973333 0.00088 0.000886667 0.00088 0.000853333 0.00092 +0.000953333 0.000966667 0.00098 0.000946667 0.000926667 0.00098 0.22168 0.231147 +0.217893 0.216 0.22168 0.219787 0.000993333 0.223573 0.00098 0.000953333 +0.00098 0.217893 0.22168 0.22736 0.231147 0.22736 0.000973333 0.225467 +0.2444 0.240613 0.23872 0.246293 0.23872 0.234933 0.242507 0.229253 +0.234933 0.234933 0.223573 0.240613 0.2444 0.236827 0.236827 0.2444 +0.242507 0.229253 0.22168 0.242507 0.240613 0.231147 0.236827 0.229253 +0.22168 0.22168 0.223573 0.229253 0.242507 0.234933 0.22168 0.225467 +0.240613 0.246293 0.242507 0.231147 0.225467 0.22168 0.000993333 0.217893 +0.00098 0.219787 0.225467 0.223573 0.216 0.216 0.217893 0.000986667 +0.00094 0.000913333 0.000873333 0.000906667 0.000946667 0.000953333 0.000993333 0.223573 +0.22736 0.229253 0.231147 0.223573 0.000993333 0.217893 0.00098 0.000986667 +0.219787 0.216 0.216 0.219787 0.216 0.219787 0.234933 0.225467 +0.000993333 0.234933 0.2444 0.240613 0.23872 0.229253 0.22736 0.22736 +0.22736 0.22736 0.229253 0.23304 0.234933 0.229253 0.231147 0.234933 +0.229253 0.223573 0.22736 0.229253 0.225467 0.229253 0.229253 0.217893 +0.000986667 0.219787 0.219787 0.22168 0.231147 0.229253 0.225467 0.229253 +0.225467 0.22736 0.234933 0.240613 0.240613 0.246293 0.240613 0.23872 +0.251973 0.25008 0.240613 0.242507 0.242507 0.242507 0.25008 0.251973 +0.25576 0.253867 0.253867 0.263333 0.270907 0.269013 0.270907 0.27848 +0.282267 0.28416 0.293627 0.303093 0.314453 0.322027 0.331493 0.344747 +0.365573 0.376933 0.39776 0.435627 0.481067 0.515158 0.545474 0.584 +0.630737 0.686316 0.750737 0.819579 0.889684 0.956632 0.999592 1.02506 +1.04335 1.05151 1.05282 1.04498 1.02637 1.00318 0.971789 0.916211 +0.850526 0.768421 0.685684 0.618105 0.566947 0.526526 0.484853 0.384507 +0.325813 0.293627 0.2728 0.265227 0.265227 0.259547 0.259547 0.259547 +0.25008 0.246293 0.248187 0.240613 0.234933 0.2444 0.246293 0.236827 +0.23304 0.23872 0.2444 0.246293 0.240613 0.242507 0.240613 0.229253 +0.229253 0.22736 0.229253 0.234933 0.229253 0.23304 0.234933 0.234933 +0.234933 0.22736 0.216 0.216 0.229253 0.23304 0.225467 0.223573 +0.231147 0.234933 0.229253 0.236827 0.23872 0.234933 0.2444 0.248187 +0.242507 0.240613 0.240613 0.2444 0.25576 0.263333 0.26712 0.282267 +0.291733 0.30688 0.344747 0.40912 0.522105 0.623789 0.781053 0.959789 +1.02082 0.997306 0.858105 0.692 0.566316 0.45456 0.314453 0.2444 +0.000973333 0.000893333 0.00084 0.000826667 0.00086 0.000866667 0.000833333 0.000793333 +0.000733333 0.000706667 0.0007 0.000746667 0.00078 0.000786667 0.000773333 0.000746667 +0.000733333 0.00074 0.000786667 0.000786667 0.000786667 0.000806667 0.00082 0.000773333 +0.00076 0.000706667 0.0007 0.000733333 0.0008 0.000853333 0.000886667 0.00088 +0.000846667 0.000826667 0.000946667 0.286053 0.439413 0.559368 0.683789 0.854316 +0.99698 1.0218 0.962316 0.782316 0.623789 0.521474 0.416693 0.350427 +0.314453 0.293627 0.276587 0.270907 0.26712 0.257653 0.251973 0.25008 +0.240613 0.229253 0.229253 0.22736 0.223573 0.219787 0.223573 0.22736 +0.22736 0.22736 0.229253 0.231147 0.234933 0.22736 0.234933 0.23872 +0.234933 0.229253 0.229253 0.225467 0.217893 0.225467 0.229253 0.22736 +0.223573 0.23304 0.22736 0.229253 0.234933 0.242507 0.240613 0.231147 +0.242507 0.251973 0.253867 0.253867 0.25576 0.253867 0.248187 0.2444 +0.25576 0.265227 0.253867 0.240613 0.246293 0.240613 0.248187 0.251973 +0.23872 0.257653 0.270907 0.263333 0.270907 0.280373 0.310667 0.359893 +0.4148 0.49432 0.536 0.589684 0.650947 0.713474 0.789263 0.864421 +0.935789 0.988816 1.01886 1.04139 1.05576 1.07522 1.08587 1.06304 +1.04759 1.02898 0.996 0.947789 0.871368 0.796842 0.729263 0.661684 +0.602947 0.565684 0.529684 0.496213 0.445093 0.40912 0.384507 0.358 +0.337173 0.331493 0.322027 0.310667 0.3012 0.293627 0.28416 0.2728 +0.26712 0.26712 0.2728 0.2728 0.257653 0.236827 0.240613 0.251973 +0.25008 0.242507 0.236827 0.236827 0.236827 0.236827 0.236827 0.229253 +0.223573 0.22736 0.234933 0.22736 0.216 0.217893 0.22736 0.216 +0.00098 0.216 0.000986667 0.000986667 0.000993333 0.219787 0.231147 0.219787 +0.000993333 0.000993333 0.000953333 0.000946667 0.00094 0.000946667 0.000946667 0.000913333 +0.000966667 0.000993333 0.00096 0.000973333 0.00096 0.000966667 0.216 0.217893 +0.000973333 0.000953333 0.00094 0.000933333 0.000933333 0.000946667 0.000953333 0.000993333 +0.216 0.216 0.000986667 0.216 0.223573 0.225467 0.22168 0.000986667 +0.217893 0.223573 0.229253 0.225467 0.000986667 0.225467 0.223573 0.223573 +0.240613 0.234933 0.242507 0.23872 0.234933 0.234933 0.234933 0.23304 +0.240613 0.23872 0.23872 0.248187 0.229253 0.22736 0.240613 0.236827 +0.236827 0.236827 0.22736 0.00098 0.000953333 0.000913333 0.000853333 0.000866667 +0.000906667 0.00094 0.000953333 0.00094 0.00096 0.217893 0.225467 0.22168 +0.000953333 0.000966667 0.000993333 0.000986667 0.000993333 0.22168 0.00096 0.00094 +0.000986667 0.22168 0.217893 0.219787 0.223573 0.225467 0.216 0.22736 +0.240613 0.2444 0.2444 0.2444 0.229253 0.234933 0.240613 0.229253 +0.236827 0.236827 0.22736 0.23872 0.2444 0.242507 0.240613 0.242507 +0.236827 0.225467 0.23304 0.2444 0.234933 0.229253 0.234933 0.234933 +0.219787 0.216 0.217893 0.23304 0.23872 0.22736 0.219787 0.225467 +0.23872 0.23872 0.229253 0.22168 0.22168 0.216 0.216 0.000993333 +0.000986667 0.223573 0.22736 0.223573 0.000953333 0.000946667 0.0009 0.000913333 +0.00094 0.000913333 0.00092 0.000993333 0.217893 0.219787 0.225467 0.223573 +0.22168 0.22736 0.229253 0.219787 0.000993333 0.223573 0.22736 0.22168 +0.22168 0.219787 0.22168 0.22736 0.22168 0.219787 0.223573 0.217893 +0.216 0.231147 0.23872 0.234933 0.23304 0.231147 0.231147 0.22736 +0.22168 0.219787 0.231147 0.229253 0.236827 0.234933 0.22736 0.22736 +0.231147 0.229253 0.223573 0.223573 0.229253 0.23304 0.23872 0.23304 +0.219787 0.219787 0.217893 0.219787 0.236827 0.236827 0.23872 0.242507 +0.231147 0.234933 0.23872 0.240613 0.25008 0.25576 0.251973 0.248187 +0.253867 0.259547 0.26144 0.26144 0.26144 0.257653 0.26144 0.269013 +0.274693 0.274693 0.282267 0.29552 0.299307 0.3012 0.308773 0.31256 +0.31256 0.320133 0.337173 0.35232 0.36936 0.395867 0.428053 0.464027 +0.505053 0.528421 0.558737 0.598526 0.644632 0.701474 0.765895 0.837263 +0.907368 0.971158 1.00318 1.02669 1.04106 1.04988 1.0502 1.04433 +1.03127 1.00906 0.983592 0.919368 0.840421 0.767789 0.700211 0.642737 +0.590947 0.535368 0.4716 0.390187 0.34664 0.316347 0.291733 0.269013 +0.263333 0.263333 0.26144 0.251973 0.248187 0.251973 0.25008 0.248187 +0.240613 0.234933 0.23872 0.23872 0.23304 0.23872 0.242507 0.242507 +0.240613 0.23872 0.242507 0.240613 0.23872 0.240613 0.2444 0.229253 +0.229253 0.231147 0.229253 0.23304 0.225467 0.231147 0.234933 0.236827 +0.23872 0.23304 0.219787 0.219787 0.225467 0.234933 0.231147 0.219787 +0.225467 0.236827 0.23872 0.23304 0.234933 0.231147 0.236827 0.242507 +0.240613 0.23872 0.240613 0.251973 0.26144 0.2728 0.286053 0.3012 +0.31824 0.350427 0.428053 0.525263 0.628842 0.792421 0.962947 1.01592 +0.986204 0.838526 0.681895 0.56 0.4432 0.308773 0.23872 0.000953333 +0.000886667 0.000853333 0.000853333 0.00086 0.000873333 0.000833333 0.00078 0.00074 +0.00072 0.000693333 0.000733333 0.000773333 0.000766667 0.000773333 0.000773333 0.000766667 +0.000786667 0.000826667 0.000826667 0.000813333 0.00082 0.00082 0.000826667 0.000786667 +0.000773333 0.00074 0.000673333 0.00066 0.000706667 0.000786667 0.000866667 0.00088 +0.000846667 0.00084 0.000833333 0.00094 0.280373 0.42616 0.556211 0.676211 +0.841053 0.991429 1.01984 0.959789 0.785474 0.624421 0.526526 0.428053 +0.359893 0.327707 0.30688 0.293627 0.276587 0.265227 0.248187 0.236827 +0.236827 0.231147 0.225467 0.229253 0.23304 0.22736 0.22736 0.23304 +0.23304 0.231147 0.231147 0.225467 0.22736 0.219787 0.217893 0.219787 +0.22168 0.217893 0.00098 0.00098 0.22168 0.234933 0.229253 0.22736 +0.23304 0.23872 0.22168 0.223573 0.242507 0.248187 0.23872 0.231147 +0.242507 0.246293 0.25576 0.25008 0.242507 0.236827 0.234933 0.236827 +0.240613 0.248187 0.257653 0.251973 0.253867 0.2444 0.242507 0.242507 +0.251973 0.248187 0.248187 0.246293 0.240613 0.253867 0.265227 0.263333 +0.274693 0.280373 0.308773 0.36368 0.424267 0.496213 0.541684 0.587789 +0.650316 0.716 0.796842 0.873263 0.938316 0.989796 1.01886 1.04139 +1.05706 1.09348 1.09804 1.07674 1.04922 1.03257 1.00482 0.963579 +0.897895 0.824 0.750105 0.681263 0.625684 0.576421 0.541053 0.513895 +0.479173 0.43752 0.399653 0.37504 0.356107 0.34096 0.325813 0.316347 +0.308773 0.299307 0.299307 0.282267 0.270907 0.26144 0.265227 0.274693 +0.270907 0.257653 0.242507 0.246293 0.25008 0.253867 0.253867 0.242507 +0.236827 0.234933 0.236827 0.23304 0.225467 0.231147 0.229253 0.219787 +0.217893 0.223573 0.236827 0.23872 0.229253 0.22736 0.229253 0.225467 +0.217893 0.000966667 0.00096 0.217893 0.000986667 0.000973333 0.000966667 0.000973333 +0.216 0.219787 0.231147 0.22736 0.000993333 0.000993333 0.000986667 0.000966667 +0.00096 0.00096 0.000973333 0.000973333 0.000973333 0.000973333 0.000993333 0.216 +0.000993333 0.217893 0.223573 0.22168 0.216 0.000993333 0.000973333 0.000966667 +0.217893 0.219787 0.22736 0.223573 0.219787 0.229253 0.225467 0.229253 +0.236827 0.234933 0.219787 0.000986667 0.225467 0.231147 0.231147 0.23304 +0.236827 0.22168 0.231147 0.23872 0.216 0.223573 0.229253 0.225467 +0.225467 0.234933 0.23872 0.23872 0.240613 0.231147 0.000993333 0.00096 +0.000946667 0.000933333 0.000933333 0.00094 0.000953333 0.000953333 0.000986667 0.00096 +0.00092 0.000973333 0.000993333 0.217893 0.217893 0.216 0.000953333 0.00098 +0.22168 0.217893 0.216 0.219787 0.225467 0.225467 0.219787 0.236827 +0.242507 0.23872 0.242507 0.240613 0.223573 0.231147 0.231147 0.22736 +0.240613 0.240613 0.225467 0.225467 0.23304 0.242507 0.240613 0.23304 +0.234933 0.231147 0.231147 0.234933 0.231147 0.229253 0.23872 0.23304 +0.219787 0.223573 0.23304 0.23872 0.223573 0.000993333 0.219787 0.229253 +0.23872 0.23304 0.22736 0.216 0.219787 0.219787 0.216 0.219787 +0.00098 0.22168 0.219787 0.000986667 0.0009 0.00086 0.00092 0.000966667 +0.219787 0.000993333 0.216 0.22736 0.240613 0.23872 0.22168 0.000973333 +0.216 0.223573 0.223573 0.219787 0.000986667 0.22736 0.23872 0.22736 +0.231147 0.225467 0.225467 0.236827 0.229253 0.217893 0.000993333 0.223573 +0.23304 0.234933 0.231147 0.22168 0.22736 0.22168 0.219787 0.223573 +0.219787 0.225467 0.234933 0.229253 0.231147 0.231147 0.223573 0.22736 +0.236827 0.234933 0.225467 0.229253 0.23304 0.22736 0.229253 0.236827 +0.231147 0.231147 0.23304 0.236827 0.242507 0.240613 0.2444 0.251973 +0.2444 0.248187 0.253867 0.253867 0.265227 0.26144 0.26712 0.270907 +0.269013 0.27848 0.28416 0.280373 0.286053 0.287947 0.291733 0.303093 +0.303093 0.30688 0.31824 0.327707 0.327707 0.34664 0.365573 0.371253 +0.382613 0.411013 0.4432 0.48296 0.514526 0.542316 0.577684 0.617474 +0.669263 0.731158 0.796211 0.863158 0.926947 0.983918 1.00971 1.03061 +1.04629 1.05314 1.05151 1.04269 1.02473 1.00351 0.978105 0.930105 +0.871368 0.794947 0.721053 0.649684 0.583368 0.535368 0.49432 0.4148 +0.36368 0.31256 0.280373 0.26712 0.26144 0.26144 0.251973 0.25008 +0.25008 0.251973 0.259547 0.25008 0.2444 0.242507 0.251973 0.259547 +0.25008 0.234933 0.231147 0.23304 0.231147 0.231147 0.231147 0.231147 +0.234933 0.23304 0.23872 0.240613 0.234933 0.234933 0.240613 0.23872 +0.229253 0.231147 0.231147 0.231147 0.229253 0.231147 0.223573 0.223573 +0.23304 0.22736 0.229253 0.23304 0.22736 0.229253 0.23304 0.225467 +0.22168 0.229253 0.231147 0.229253 0.231147 0.236827 0.236827 0.242507 +0.246293 0.248187 0.248187 0.25576 0.26712 0.276587 0.297413 0.314453 +0.350427 0.428053 0.530947 0.633263 0.795579 0.971789 1.01461 0.976842 +0.821474 0.666105 0.554947 0.441307 0.308773 0.240613 0.000933333 0.00086 +0.000853333 0.000853333 0.000866667 0.000866667 0.000833333 0.000773333 0.000753333 0.000746667 +0.000726667 0.000766667 0.000773333 0.000806667 0.000786667 0.000813333 0.0008 0.000793333 +0.000786667 0.000793333 0.000793333 0.00078 0.000773333 0.00078 0.000813333 0.0008 +0.000753333 0.00074 0.00068 0.000686667 0.00068 0.000693333 0.000753333 0.000813333 +0.000866667 0.000866667 0.000793333 0.000806667 0.000933333 0.276587 0.42048 0.549263 +0.668 0.830316 0.983265 1.01461 0.969263 0.794947 0.633895 0.532842 +0.446987 0.36368 0.322027 0.303093 0.286053 0.2728 0.257653 0.251973 +0.248187 0.240613 0.234933 0.240613 0.2444 0.231147 0.231147 0.23304 +0.225467 0.229253 0.231147 0.22168 0.217893 0.000966667 0.00098 0.225467 +0.225467 0.22168 0.223573 0.219787 0.23304 0.234933 0.223573 0.225467 +0.231147 0.234933 0.231147 0.23304 0.236827 0.231147 0.229253 0.246293 +0.242507 0.234933 0.240613 0.23304 0.229253 0.225467 0.219787 0.22736 +0.242507 0.25008 0.246293 0.25008 0.248187 0.23872 0.240613 0.240613 +0.23872 0.240613 0.2444 0.2444 0.242507 0.234933 0.242507 0.25008 +0.251973 0.240613 0.2444 0.25576 0.274693 0.3012 0.322027 0.358 +0.399653 0.490533 0.544842 0.602947 0.653474 0.719158 0.791789 0.865053 +0.938947 0.990776 1.01494 1.03518 1.05412 1.08435 1.09195 1.08587 +1.05641 1.03584 1.01331 0.983265 0.922526 0.851789 0.782316 0.718526 +0.657263 0.608632 0.568211 0.535368 0.509474 0.4716 0.428053 0.399653 +0.38072 0.36368 0.344747 0.322027 0.31256 0.30688 0.304987 0.3012 +0.287947 0.280373 0.27848 0.274693 0.2728 0.2728 0.26712 0.270907 +0.26712 0.25008 0.240613 0.240613 0.246293 0.248187 0.248187 0.248187 +0.2444 0.236827 0.248187 0.2444 0.231147 0.217893 0.217893 0.225467 +0.219787 0.00096 0.000993333 0.225467 0.225467 0.22168 0.216 0.219787 +0.216 0.229253 0.23304 0.22736 0.225467 0.216 0.000973333 0.00098 +0.216 0.216 0.000973333 0.000973333 0.00098 0.000973333 0.216 0.22168 +0.219787 0.225467 0.22736 0.225467 0.217893 0.000966667 0.000946667 0.216 +0.22168 0.217893 0.225467 0.223573 0.225467 0.229253 0.229253 0.231147 +0.22736 0.22168 0.000993333 0.000993333 0.225467 0.23304 0.217893 0.223573 +0.229253 0.22168 0.236827 0.223573 0.217893 0.234933 0.223573 0.217893 +0.229253 0.234933 0.231147 0.242507 0.242507 0.234933 0.229253 0.231147 +0.234933 0.229253 0.216 0.000953333 0.0009 0.000886667 0.00094 0.000906667 +0.000906667 0.00098 0.000973333 0.000973333 0.000973333 0.00096 0.000913333 0.000966667 +0.219787 0.00098 0.216 0.23304 0.23304 0.22168 0.216 0.231147 +0.236827 0.22736 0.234933 0.229253 0.216 0.231147 0.231147 0.22736 +0.23872 0.234933 0.225467 0.22736 0.234933 0.236827 0.229253 0.23304 +0.240613 0.22736 0.229253 0.236827 0.229253 0.225467 0.23304 0.231147 +0.225467 0.236827 0.23872 0.23304 0.219787 0.219787 0.223573 0.223573 +0.229253 0.234933 0.223573 0.223573 0.231147 0.225467 0.22736 0.219787 +0.00096 0.000946667 0.000926667 0.000873333 0.000853333 0.000933333 0.000986667 0.219787 +0.229253 0.217893 0.216 0.23304 0.2444 0.23872 0.223573 0.216 +0.000986667 0.000993333 0.22168 0.225467 0.217893 0.229253 0.234933 0.225467 +0.229253 0.22736 0.22736 0.248187 0.236827 0.217893 0.22168 0.23872 +0.23872 0.231147 0.229253 0.223573 0.229253 0.219787 0.000993333 0.22168 +0.22736 0.231147 0.234933 0.240613 0.236827 0.236827 0.22736 0.231147 +0.242507 0.25008 0.246293 0.23872 0.236827 0.236827 0.236827 0.2444 +0.240613 0.23872 0.248187 0.253867 0.25008 0.257653 0.257653 0.257653 +0.253867 0.259547 0.263333 0.269013 0.27848 0.280373 0.286053 0.286053 +0.276587 0.28984 0.304987 0.304987 0.31256 0.31824 0.327707 0.337173 +0.342853 0.356107 0.38072 0.39776 0.405333 0.43752 0.48296 0.510105 +0.532842 0.563158 0.603579 0.650316 0.704 0.768421 0.833474 0.892211 +0.954105 0.995347 1.02114 1.03747 1.05053 1.05576 1.05216 1.04204 +1.028 1.00678 0.980653 0.914947 0.837263 0.768421 0.709053 0.66421 +0.615579 0.558737 0.508842 0.428053 0.354213 0.314453 0.291733 0.27848 +0.26712 0.259547 0.25576 0.25008 0.251973 0.251973 0.246293 0.25576 +0.253867 0.25008 0.248187 0.2444 0.236827 0.231147 0.236827 0.25008 +0.248187 0.240613 0.231147 0.234933 0.240613 0.236827 0.23304 0.231147 +0.229253 0.22736 0.229253 0.225467 0.219787 0.229253 0.234933 0.234933 +0.231147 0.23304 0.234933 0.229253 0.22736 0.231147 0.22168 0.217893 +0.229253 0.225467 0.22168 0.229253 0.229253 0.229253 0.23304 0.225467 +0.22168 0.231147 0.23304 0.234933 0.23872 0.2444 0.2444 0.2444 +0.246293 0.25008 0.257653 0.26144 0.276587 0.297413 0.320133 0.358 +0.435627 0.532211 0.638316 0.803158 0.972421 1.01396 0.962947 0.800632 +0.651579 0.546105 0.43752 0.31256 0.240613 0.000966667 0.00086 0.000813333 +0.00086 0.000886667 0.000846667 0.000806667 0.00076 0.000733333 0.000726667 0.00074 +0.00076 0.00078 0.00076 0.000766667 0.000793333 0.0008 0.0008 0.000793333 +0.00078 0.000773333 0.00076 0.000766667 0.000786667 0.000793333 0.00078 0.000753333 +0.000773333 0.000773333 0.000773333 0.00072 0.000646667 0.00064 0.000673333 0.000753333 +0.000826667 0.000833333 0.000846667 0.00084 0.000826667 0.000933333 0.280373 0.428053 +0.546737 0.650947 0.808211 0.975579 1.01527 0.971789 0.805684 0.643368 +0.537263 0.441307 0.373147 0.34096 0.30688 0.280373 0.265227 0.259547 +0.25008 0.240613 0.242507 0.248187 0.234933 0.229253 0.231147 0.231147 +0.219787 0.225467 0.22736 0.225467 0.225467 0.219787 0.225467 0.229253 +0.23304 0.231147 0.223573 0.22736 0.23304 0.22736 0.223573 0.223573 +0.219787 0.219787 0.22168 0.22736 0.234933 0.23304 0.23304 0.236827 +0.234933 0.225467 0.229253 0.22736 0.229253 0.23304 0.229253 0.225467 +0.229253 0.23304 0.23872 0.23872 0.23304 0.23304 0.236827 0.25576 +0.251973 0.236827 0.23304 0.22736 0.231147 0.234933 0.234933 0.229253 +0.22736 0.234933 0.23872 0.246293 0.246293 0.23872 0.240613 0.246293 +0.257653 0.27848 0.32392 0.37504 0.42048 0.503158 0.538526 0.594737 +0.656632 0.721684 0.779158 0.841053 0.922526 0.982286 1.00776 1.03029 +1.04596 1.05641 1.07369 1.06609 1.05641 1.04596 1.02376 0.998286 +0.959789 0.899789 0.834105 0.768421 0.702737 0.645263 0.597263 0.561263 +0.534105 0.509474 0.469707 0.424267 0.399653 0.388293 0.376933 0.356107 +0.33528 0.327707 0.327707 0.31824 0.310667 0.297413 0.287947 0.286053 +0.27848 0.265227 0.263333 0.2728 0.27848 0.270907 0.269013 0.263333 +0.263333 0.253867 0.240613 0.242507 0.240613 0.225467 0.23304 0.240613 +0.225467 0.216 0.231147 0.240613 0.236827 0.236827 0.23304 0.225467 +0.225467 0.236827 0.229253 0.22736 0.231147 0.219787 0.000993333 0.216 +0.223573 0.216 0.219787 0.217893 0.219787 0.219787 0.225467 0.225467 +0.225467 0.225467 0.223573 0.229253 0.229253 0.00098 0.000953333 0.22168 +0.223573 0.219787 0.219787 0.217893 0.231147 0.234933 0.223573 0.22168 +0.22168 0.223573 0.223573 0.22168 0.22736 0.22168 0.00098 0.22736 +0.22736 0.225467 0.234933 0.22168 0.229253 0.246293 0.223573 0.225467 +0.234933 0.234933 0.229253 0.229253 0.229253 0.231147 0.23304 0.246293 +0.25008 0.234933 0.225467 0.000993333 0.00094 0.000926667 0.00096 0.00088 +0.00088 0.00092 0.00088 0.000906667 0.000966667 0.000973333 0.00092 0.000933333 +0.000973333 0.00098 0.217893 0.22736 0.229253 0.229253 0.223573 0.22168 +0.22736 0.225467 0.231147 0.22736 0.223573 0.23872 0.22736 0.223573 +0.234933 0.229253 0.22736 0.231147 0.236827 0.236827 0.22736 0.229253 +0.23304 0.223573 0.229253 0.234933 0.231147 0.22736 0.234933 0.231147 +0.223573 0.229253 0.22736 0.225467 0.217893 0.216 0.000986667 0.219787 +0.229253 0.22736 0.216 0.217893 0.223573 0.229253 0.217893 0.00096 +0.00094 0.000913333 0.000866667 0.000913333 0.000966667 0.219787 0.223573 0.219787 +0.000986667 0.000966667 0.000993333 0.225467 0.23304 0.23304 0.219787 0.216 +0.000993333 0.22168 0.229253 0.22736 0.225467 0.231147 0.231147 0.225467 +0.22736 0.234933 0.23304 0.236827 0.23304 0.229253 0.23872 0.242507 +0.236827 0.231147 0.242507 0.240613 0.236827 0.234933 0.231147 0.240613 +0.242507 0.240613 0.236827 0.2444 0.2444 0.240613 0.240613 0.240613 +0.246293 0.251973 0.251973 0.242507 0.240613 0.257653 0.257653 0.259547 +0.25576 0.251973 0.25576 0.259547 0.259547 0.27848 0.28984 0.282267 +0.270907 0.2728 0.28416 0.286053 0.293627 0.304987 0.310667 0.308773 +0.314453 0.327707 0.34664 0.361787 0.365573 0.38072 0.393973 0.40912 +0.439413 0.47728 0.513895 0.534105 0.558737 0.594737 0.639579 0.689474 +0.744421 0.806947 0.870737 0.932632 0.984245 1.01069 1.03322 1.04661 +1.0538 1.05543 1.05282 1.0391 1.02343 1.00155 0.965474 0.906737 +0.845474 0.780421 0.716 0.648421 0.583368 0.534105 0.501895 0.44888 +0.395867 0.337173 0.291733 0.2728 0.26144 0.26144 0.26144 0.25576 +0.251973 0.251973 0.253867 0.253867 0.253867 0.25008 0.248187 0.248187 +0.242507 0.242507 0.248187 0.23872 0.231147 0.231147 0.229253 0.236827 +0.23872 0.23304 0.229253 0.231147 0.231147 0.23304 0.236827 0.23872 +0.23304 0.22168 0.225467 0.231147 0.225467 0.223573 0.225467 0.22736 +0.225467 0.217893 0.223573 0.225467 0.225467 0.231147 0.231147 0.225467 +0.229253 0.223573 0.217893 0.22736 0.225467 0.22736 0.23304 0.231147 +0.22736 0.23304 0.236827 0.240613 0.25008 0.251973 0.253867 0.257653 +0.257653 0.263333 0.269013 0.280373 0.28984 0.314453 0.365573 0.462133 +0.542947 0.648421 0.815158 0.98098 1.01429 0.958526 0.788 0.637053 +0.536 0.418587 0.30688 0.234933 0.000913333 0.000846667 0.000813333 0.00082 +0.000873333 0.000853333 0.0008 0.00074 0.000706667 0.000713333 0.000753333 0.00076 +0.000773333 0.000766667 0.00076 0.000766667 0.00074 0.00074 0.000786667 0.000786667 +0.0008 0.000806667 0.000773333 0.000773333 0.000793333 0.000773333 0.000746667 0.000753333 +0.0008 0.0008 0.000773333 0.000746667 0.000666667 0.000646667 0.00062 0.00066 +0.00074 0.000806667 0.000853333 0.000873333 0.000826667 0.00082 0.000946667 0.276587 +0.405333 0.536632 0.641474 0.794947 0.957263 1.01331 0.981633 0.814526 +0.648421 0.541053 0.46592 0.378827 0.320133 0.28984 0.280373 0.263333 +0.25008 0.25008 0.25008 0.25008 0.23872 0.234933 0.23304 0.229253 +0.219787 0.223573 0.219787 0.219787 0.229253 0.234933 0.231147 0.229253 +0.229253 0.225467 0.225467 0.225467 0.22736 0.225467 0.223573 0.000986667 +0.00098 0.216 0.225467 0.231147 0.23304 0.229253 0.217893 0.000993333 +0.000993333 0.000993333 0.225467 0.229253 0.22168 0.217893 0.216 0.217893 +0.225467 0.229253 0.23304 0.23304 0.236827 0.23872 0.234933 0.23872 +0.23872 0.23872 0.23872 0.23872 0.23872 0.23304 0.236827 0.234933 +0.229253 0.223573 0.223573 0.236827 0.23872 0.240613 0.2444 0.240613 +0.242507 0.246293 0.25576 0.274693 0.28984 0.3012 0.316347 0.361787 +0.43184 0.507579 0.535368 0.574526 0.640211 0.702105 0.766526 0.830947 +0.896 0.957895 0.994367 1.01722 1.03616 1.05086 1.05641 1.05967 +1.06304 1.05347 1.03845 1.02147 0.997306 0.952211 0.888421 0.823368 +0.762105 0.702105 0.644632 0.599158 0.561895 0.536 0.513263 0.48296 +0.4432 0.416693 0.395867 0.378827 0.356107 0.34664 0.337173 0.327707 +0.314453 0.3012 0.30688 0.316347 0.316347 0.303093 0.28416 0.286053 +0.282267 0.26712 0.257653 0.26712 0.263333 0.253867 0.263333 0.25576 +0.23872 0.23872 0.248187 0.251973 0.242507 0.236827 0.236827 0.23304 +0.240613 0.234933 0.23304 0.236827 0.231147 0.231147 0.22736 0.225467 +0.229253 0.231147 0.236827 0.231147 0.229253 0.22736 0.223573 0.000993333 +0.219787 0.223573 0.225467 0.23304 0.23304 0.000993333 0.000993333 0.223573 +0.22736 0.225467 0.22168 0.22168 0.225467 0.000986667 0.216 0.219787 +0.223573 0.223573 0.000986667 0.216 0.22168 0.223573 0.231147 0.242507 +0.229253 0.225467 0.231147 0.22168 0.240613 0.23872 0.223573 0.23872 +0.23872 0.229253 0.22736 0.219787 0.219787 0.231147 0.240613 0.248187 +0.2444 0.236827 0.23872 0.236827 0.22736 0.223573 0.229253 0.000953333 +0.000906667 0.0009 0.000873333 0.000893333 0.000933333 0.000926667 0.000913333 0.000946667 +0.000973333 0.000973333 0.217893 0.223573 0.22168 0.225467 0.217893 0.217893 +0.22736 0.225467 0.225467 0.223573 0.23304 0.23304 0.22168 0.223573 +0.229253 0.225467 0.225467 0.225467 0.229253 0.236827 0.231147 0.229253 +0.234933 0.223573 0.22736 0.234933 0.229253 0.236827 0.2444 0.229253 +0.000973333 0.000973333 0.219787 0.225467 0.223573 0.000993333 0.000986667 0.229253 +0.23304 0.23304 0.219787 0.000993333 0.000986667 0.000926667 0.000926667 0.000933333 +0.000953333 0.000933333 0.000973333 0.234933 0.219787 0.000973333 0.217893 0.000986667 +0.217893 0.000993333 0.00096 0.219787 0.231147 0.22168 0.216 0.22736 +0.225467 0.225467 0.240613 0.242507 0.23304 0.22736 0.234933 0.236827 +0.22736 0.23304 0.231147 0.23304 0.242507 0.246293 0.2444 0.240613 +0.23872 0.23872 0.25008 0.251973 0.240613 0.23872 0.242507 0.25576 +0.253867 0.25576 0.25576 0.253867 0.25008 0.2444 0.2444 0.25008 +0.25008 0.257653 0.263333 0.25576 0.259547 0.269013 0.265227 0.265227 +0.276587 0.280373 0.280373 0.276587 0.282267 0.293627 0.314453 0.314453 +0.299307 0.299307 0.320133 0.327707 0.33528 0.348533 0.358 0.36936 +0.39208 0.405333 0.42616 0.46592 0.498107 0.517684 0.537895 0.563789 +0.597263 0.638947 0.687579 0.740632 0.801895 0.86 0.917474 0.973053 +1.00155 1.02343 1.04106 1.05118 1.05347 1.05086 1.04563 1.03355 +1.01461 0.993714 0.956 0.890947 0.827789 0.765263 0.698316 0.645263 +0.593474 0.548 0.506947 0.424267 0.356107 0.316347 0.287947 0.276587 +0.269013 0.251973 0.248187 0.248187 0.248187 0.251973 0.251973 0.25576 +0.251973 0.246293 0.248187 0.25008 0.246293 0.2444 0.246293 0.242507 +0.246293 0.240613 0.23304 0.231147 0.229253 0.229253 0.225467 0.223573 +0.231147 0.229253 0.22736 0.229253 0.229253 0.231147 0.22736 0.22168 +0.22168 0.22168 0.225467 0.22736 0.225467 0.22168 0.229253 0.23304 +0.22736 0.217893 0.217893 0.22168 0.225467 0.229253 0.229253 0.223573 +0.223573 0.223573 0.217893 0.22736 0.225467 0.22736 0.23304 0.23872 +0.240613 0.23872 0.234933 0.234933 0.246293 0.251973 0.253867 0.263333 +0.270907 0.2728 0.280373 0.3012 0.320133 0.361787 0.469707 0.558105 +0.670526 0.832842 0.986531 1.01167 0.944632 0.777263 0.630105 0.529053 +0.407227 0.30688 0.253867 0.000953333 0.00084 0.00082 0.000833333 0.000866667 +0.000873333 0.000786667 0.00072 0.0007 0.000706667 0.000746667 0.000766667 0.00078 +0.000793333 0.0008 0.000793333 0.000793333 0.000773333 0.000786667 0.0008 0.00078 +0.000793333 0.000806667 0.000806667 0.000793333 0.000766667 0.000746667 0.00074 0.000766667 +0.000773333 0.000753333 0.000746667 0.000746667 0.000726667 0.000693333 0.000653333 0.00064 +0.000666667 0.000726667 0.000766667 0.000833333 0.000853333 0.00082 0.000853333 0.000966667 +0.282267 0.405333 0.528421 0.626947 0.775368 0.948421 1.01331 0.984898 +0.825263 0.65979 0.546737 0.44888 0.358 0.31824 0.303093 0.28416 +0.26712 0.259547 0.248187 0.242507 0.236827 0.229253 0.22736 0.22736 +0.22736 0.229253 0.223573 0.225467 0.234933 0.229253 0.229253 0.22736 +0.22168 0.223573 0.223573 0.216 0.000993333 0.22168 0.217893 0.216 +0.22168 0.225467 0.216 0.217893 0.219787 0.000973333 0.000953333 0.00096 +0.000973333 0.00096 0.216 0.000993333 0.216 0.22736 0.217893 0.000993333 +0.216 0.223573 0.234933 0.234933 0.231147 0.225467 0.22736 0.229253 +0.22736 0.217893 0.225467 0.248187 0.246293 0.234933 0.22736 0.216 +0.219787 0.234933 0.242507 0.240613 0.229253 0.231147 0.2444 0.253867 +0.25576 0.246293 0.23872 0.253867 0.259547 0.25008 0.251973 0.259547 +0.270907 0.293627 0.32392 0.350427 0.42048 0.500632 0.529684 0.565053 +0.613053 0.669263 0.727368 0.788 0.846737 0.907368 0.967368 1.0022 +1.02506 1.04008 1.05249 1.07978 1.09804 1.07522 1.05412 1.04171 +1.0231 0.996653 0.951579 0.886526 0.824632 0.764 0.705895 0.650947 +0.603579 0.566316 0.536 0.514526 0.498107 0.467813 0.445093 0.416693 +0.39208 0.376933 0.373147 0.36368 0.354213 0.34664 0.327707 0.31256 +0.304987 0.299307 0.299307 0.29552 0.286053 0.280373 0.274693 0.265227 +0.26144 0.265227 0.263333 0.253867 0.251973 0.246293 0.242507 0.248187 +0.263333 0.248187 0.242507 0.242507 0.236827 0.23872 0.240613 0.2444 +0.240613 0.234933 0.23304 0.22736 0.223573 0.229253 0.225467 0.217893 +0.231147 0.234933 0.234933 0.231147 0.229253 0.22168 0.23304 0.231147 +0.22736 0.234933 0.22168 0.22736 0.223573 0.216 0.223573 0.22736 +0.23304 0.219787 0.000966667 0.216 0.229253 0.236827 0.240613 0.22736 +0.223573 0.229253 0.231147 0.225467 0.240613 0.223573 0.231147 0.253867 +0.23872 0.229253 0.229253 0.22168 0.231147 0.236827 0.231147 0.240613 +0.25008 0.251973 0.25008 0.23872 0.229253 0.231147 0.240613 0.223573 +0.229253 0.22168 0.000946667 0.00092 0.000913333 0.000886667 0.000873333 0.00094 +0.000986667 0.000986667 0.219787 0.216 0.000973333 0.000966667 0.00096 0.217893 +0.23304 0.234933 0.23304 0.229253 0.229253 0.231147 0.22736 0.229253 +0.229253 0.22736 0.22168 0.219787 0.22736 0.23872 0.234933 0.236827 +0.23872 0.219787 0.229253 0.234933 0.231147 0.240613 0.23872 0.219787 +0.00096 0.000973333 0.219787 0.216 0.225467 0.217893 0.00098 0.216 +0.000986667 0.000966667 0.000933333 0.000926667 0.00094 0.000913333 0.000966667 0.00096 +0.000973333 0.219787 0.22168 0.231147 0.22168 0.000986667 0.217893 0.223573 +0.219787 0.000986667 0.216 0.23304 0.234933 0.225467 0.22736 0.231147 +0.231147 0.236827 0.251973 0.246293 0.23304 0.231147 0.246293 0.251973 +0.236827 0.231147 0.234933 0.240613 0.251973 0.25576 0.242507 0.2444 +0.2444 0.242507 0.248187 0.257653 0.25008 0.251973 0.251973 0.25576 +0.257653 0.26712 0.26712 0.263333 0.269013 0.263333 0.257653 0.26144 +0.265227 0.280373 0.282267 0.2728 0.2728 0.280373 0.280373 0.280373 +0.28984 0.297413 0.297413 0.308773 0.316347 0.316347 0.333387 0.350427 +0.35232 0.365573 0.384507 0.40344 0.418587 0.441307 0.4716 0.506947 +0.525895 0.548632 0.575789 0.613053 0.653474 0.702105 0.753263 0.808211 +0.865684 0.924421 0.973053 1.00057 1.02473 1.03943 1.04727 1.05249 +1.05216 1.04661 1.03682 1.01886 0.993714 0.957895 0.909895 0.857474 +0.796842 0.743158 0.685684 0.624421 0.576421 0.536 0.501895 0.439413 +0.382613 0.333387 0.291733 0.265227 0.26144 0.259547 0.257653 0.248187 +0.248187 0.25008 0.242507 0.240613 0.246293 0.23872 0.248187 0.257653 +0.25576 0.25008 0.242507 0.242507 0.2444 0.2444 0.23872 0.236827 +0.242507 0.242507 0.23304 0.234933 0.234933 0.229253 0.225467 0.223573 +0.219787 0.223573 0.22168 0.22736 0.234933 0.23304 0.22736 0.22168 +0.217893 0.223573 0.223573 0.223573 0.219787 0.216 0.219787 0.22736 +0.225467 0.22736 0.229253 0.223573 0.225467 0.229253 0.23304 0.229253 +0.223573 0.231147 0.22736 0.22736 0.22168 0.22168 0.22168 0.22168 +0.234933 0.246293 0.246293 0.2444 0.25008 0.25008 0.25576 0.269013 +0.270907 0.276587 0.291733 0.31824 0.361787 0.45456 0.554316 0.679368 +0.854947 0.994367 1.01135 0.930737 0.756421 0.614316 0.525263 0.399653 +0.299307 0.2444 0.000986667 0.00088 0.000833333 0.000846667 0.000853333 0.00084 +0.0008 0.000753333 0.000713333 0.000706667 0.000753333 0.000766667 0.000786667 0.000786667 +0.000793333 0.000806667 0.0008 0.000773333 0.000766667 0.00076 0.00076 0.000773333 +0.000786667 0.000793333 0.0008 0.000793333 0.000766667 0.000753333 0.00074 0.000753333 +0.00078 0.000766667 0.000733333 0.00074 0.000773333 0.000726667 0.00068 0.000646667 +0.000626667 0.000653333 0.000713333 0.000766667 0.000826667 0.000866667 0.000866667 0.000886667 +0.00098 0.2728 0.390187 0.524 0.613053 0.760842 0.935158 1.01037 +0.986531 0.836 0.666737 0.549895 0.464027 0.36936 0.31824 0.29552 +0.270907 0.257653 0.25576 0.2444 0.236827 0.242507 0.240613 0.23304 +0.23304 0.229253 0.223573 0.225467 0.229253 0.219787 0.216 0.000986667 +0.000986667 0.217893 0.217893 0.216 0.216 0.000986667 0.00098 0.000986667 +0.217893 0.216 0.00096 0.000966667 0.000973333 0.00096 0.000946667 0.000973333 +0.000993333 0.216 0.219787 0.000993333 0.000993333 0.217893 0.217893 0.216 +0.219787 0.223573 0.231147 0.234933 0.225467 0.217893 0.22168 0.225467 +0.223573 0.22168 0.223573 0.229253 0.22736 0.22736 0.229253 0.23304 +0.240613 0.246293 0.242507 0.231147 0.236827 0.236827 0.236827 0.23872 +0.23872 0.242507 0.248187 0.253867 0.23304 0.219787 0.23304 0.2444 +0.251973 0.25008 0.253867 0.263333 0.276587 0.291733 0.308773 0.34096 +0.378827 0.424267 0.481067 0.527789 0.570105 0.623789 0.690105 0.756421 +0.815789 0.873263 0.934526 0.985878 1.01037 1.03257 1.0502 1.07522 +1.10565 1.10413 1.0813 1.05445 1.0391 1.01918 0.996 0.956 +0.896 0.837895 0.781684 0.726737 0.68 0.634526 0.594737 0.56 +0.534737 0.516421 0.502526 0.46592 0.4432 0.433733 0.40912 0.37504 +0.354213 0.356107 0.35232 0.3296 0.325813 0.325813 0.304987 0.297413 +0.297413 0.291733 0.28416 0.274693 0.269013 0.2728 0.263333 0.269013 +0.270907 0.25576 0.246293 0.242507 0.25576 0.253867 0.25008 0.248187 +0.236827 0.23304 0.236827 0.234933 0.240613 0.2444 0.234933 0.2444 +0.25008 0.23872 0.234933 0.234933 0.22736 0.231147 0.2444 0.229253 +0.23304 0.23304 0.22168 0.231147 0.225467 0.229253 0.23304 0.236827 +0.240613 0.22168 0.22168 0.23304 0.23304 0.23304 0.22736 0.22736 +0.229253 0.234933 0.23304 0.229253 0.240613 0.225467 0.242507 0.25008 +0.231147 0.231147 0.231147 0.22736 0.242507 0.236827 0.231147 0.2444 +0.253867 0.2444 0.23872 0.231147 0.225467 0.23872 0.25008 0.231147 +0.23304 0.231147 0.22168 0.223573 0.00098 0.000906667 0.00088 0.00092 +0.00094 0.00096 0.000986667 0.000953333 0.00094 0.000946667 0.00096 0.216 +0.229253 0.236827 0.234933 0.223573 0.217893 0.229253 0.234933 0.234933 +0.229253 0.217893 0.000993333 0.22168 0.234933 0.25008 0.23872 0.236827 +0.229253 0.000986667 0.229253 0.229253 0.231147 0.236827 0.22736 0.216 +0.00098 0.219787 0.223573 0.216 0.229253 0.216 0.000933333 0.00096 +0.00092 0.00092 0.000913333 0.000946667 0.225467 0.23872 0.236827 0.22168 +0.225467 0.22736 0.22736 0.23304 0.22736 0.223573 0.231147 0.234933 +0.225467 0.219787 0.225467 0.234933 0.240613 0.242507 0.23872 0.234933 +0.2444 0.242507 0.2444 0.253867 0.246293 0.246293 0.251973 0.263333 +0.25576 0.242507 0.246293 0.251973 0.259547 0.26144 0.248187 0.248187 +0.248187 0.246293 0.253867 0.26144 0.26144 0.263333 0.265227 0.265227 +0.269013 0.270907 0.263333 0.26712 0.280373 0.282267 0.282267 0.287947 +0.287947 0.3012 0.304987 0.303093 0.3012 0.30688 0.316347 0.320133 +0.325813 0.333387 0.342853 0.358 0.373147 0.390187 0.405333 0.435627 +0.473493 0.504421 0.520211 0.542947 0.567579 0.594737 0.630105 0.676842 +0.725474 0.778526 0.831579 0.885895 0.940211 0.984898 1.00873 1.02637 +1.04139 1.05314 1.05739 1.05576 1.05216 1.0391 1.02082 1.00155 +0.977474 0.925053 0.868842 0.801895 0.729263 0.673684 0.630737 0.590316 +0.553684 0.522737 0.47728 0.39208 0.342853 0.310667 0.286053 0.274693 +0.274693 0.26712 0.248187 0.240613 0.248187 0.248187 0.246293 0.23872 +0.2444 0.253867 0.251973 0.246293 0.246293 0.242507 0.246293 0.25008 +0.2444 0.2444 0.240613 0.242507 0.240613 0.240613 0.240613 0.240613 +0.23872 0.240613 0.23304 0.229253 0.234933 0.23304 0.231147 0.231147 +0.217893 0.216 0.223573 0.231147 0.231147 0.229253 0.223573 0.22168 +0.216 0.219787 0.223573 0.22168 0.216 0.000986667 0.000986667 0.219787 +0.225467 0.217893 0.216 0.216 0.216 0.217893 0.22736 0.22736 +0.225467 0.225467 0.22736 0.225467 0.223573 0.22736 0.223573 0.219787 +0.22736 0.23872 0.23872 0.234933 0.248187 0.253867 0.263333 0.276587 +0.280373 0.297413 0.327707 0.373147 0.469707 0.554947 0.678105 0.857474 +0.997306 1.00971 0.913684 0.740632 0.601684 0.514526 0.393973 0.293627 +0.240613 0.000966667 0.0009 0.00088 0.000853333 0.000846667 0.000826667 0.00078 +0.000733333 0.0007 0.000706667 0.000753333 0.000793333 0.000806667 0.00082 0.00084 +0.000833333 0.00082 0.000813333 0.0008 0.00074 0.000746667 0.000753333 0.000786667 +0.0008 0.000793333 0.000793333 0.000786667 0.000793333 0.000806667 0.0008 0.000766667 +0.00076 0.00078 0.00078 0.00078 0.000753333 0.000726667 0.000693333 0.000686667 +0.00066 0.000646667 0.000666667 0.000686667 0.000753333 0.000853333 0.000873333 0.000866667 +0.00088 0.00096 0.274693 0.39208 0.513895 0.601684 0.746316 0.919368 +1.00645 0.989143 0.840421 0.668632 0.554947 0.479173 0.367467 0.316347 +0.286053 0.2728 0.269013 0.25576 0.2444 0.246293 0.240613 0.225467 +0.219787 0.223573 0.22168 0.225467 0.225467 0.000993333 0.000973333 0.000966667 +0.000966667 0.000966667 0.000986667 0.00098 0.000966667 0.00098 0.000973333 0.00096 +0.000966667 0.000993333 0.000973333 0.000946667 0.000953333 0.00094 0.00094 0.000966667 +0.216 0.00098 0.000993333 0.000986667 0.000966667 0.000966667 0.000986667 0.000993333 +0.223573 0.231147 0.22736 0.217893 0.00098 0.223573 0.225467 0.22736 +0.223573 0.22736 0.231147 0.22736 0.225467 0.22736 0.234933 0.2444 +0.25008 0.25008 0.234933 0.229253 0.242507 0.2444 0.2444 0.23872 +0.231147 0.234933 0.23872 0.23872 0.240613 0.23872 0.23872 0.240613 +0.234933 0.22736 0.23872 0.246293 0.2444 0.23872 0.23872 0.253867 +0.263333 0.270907 0.280373 0.3012 0.327707 0.37504 0.45456 0.515789 +0.548632 0.594737 0.647789 0.700211 0.763368 0.832842 0.891579 0.947789 +0.990449 1.01298 1.03322 1.0502 1.06761 1.09043 1.09652 1.0813 +1.05412 1.044 1.03029 1.01069 0.986204 0.933895 0.877053 0.821474 +0.766526 0.716632 0.667368 0.623789 0.592842 0.563158 0.539158 0.515789 +0.501263 0.47728 0.4432 0.40912 0.39776 0.3864 0.358 0.34096 +0.33528 0.331493 0.320133 0.31256 0.314453 0.308773 0.299307 0.3012 +0.286053 0.274693 0.270907 0.26712 0.2728 0.269013 0.263333 0.263333 +0.257653 0.253867 0.26144 0.26144 0.270907 0.25576 0.251973 0.263333 +0.259547 0.248187 0.246293 0.25008 0.229253 0.236827 0.246293 0.240613 +0.246293 0.236827 0.23304 0.23304 0.223573 0.236827 0.240613 0.23872 +0.23304 0.229253 0.23872 0.242507 0.240613 0.234933 0.234933 0.242507 +0.240613 0.23872 0.234933 0.240613 0.231147 0.219787 0.2444 0.242507 +0.231147 0.242507 0.236827 0.231147 0.242507 0.234933 0.23872 0.25008 +0.23872 0.23872 0.23872 0.236827 0.23872 0.253867 0.251973 0.223573 +0.229253 0.234933 0.231147 0.236827 0.22736 0.219787 0.223573 0.217893 +0.000946667 0.000926667 0.00094 0.000926667 0.00094 0.000973333 0.00098 0.22168 +0.23304 0.234933 0.22736 0.219787 0.22736 0.229253 0.223573 0.225467 +0.22736 0.22168 0.216 0.22168 0.23304 0.2444 0.22736 0.223573 +0.219787 0.000986667 0.22168 0.217893 0.000986667 0.22168 0.22736 0.219787 +0.000993333 0.000993333 0.000993333 0.000993333 0.217893 0.000926667 0.00086 0.00092 +0.000933333 0.000993333 0.219787 0.22736 0.242507 0.242507 0.25008 0.240613 +0.240613 0.240613 0.236827 0.240613 0.23872 0.22736 0.22736 0.23872 +0.240613 0.2444 0.2444 0.240613 0.23872 0.248187 0.248187 0.248187 +0.26144 0.251973 0.251973 0.265227 0.263333 0.259547 0.259547 0.263333 +0.259547 0.257653 0.269013 0.26712 0.265227 0.265227 0.26144 0.253867 +0.25576 0.257653 0.263333 0.265227 0.269013 0.274693 0.27848 0.28416 +0.286053 0.286053 0.28416 0.28416 0.29552 0.308773 0.314453 0.320133 +0.320133 0.327707 0.35232 0.358 0.35232 0.359893 0.376933 0.399653 +0.412907 0.433733 0.467813 0.500632 0.518316 0.541684 0.563789 0.590947 +0.628211 0.667368 0.712842 0.764 0.815158 0.862526 0.913684 0.964211 +0.994694 1.01494 1.03355 1.04661 1.05445 1.05837 1.05837 1.05184 +1.04106 1.02571 1.00678 0.986204 0.942737 0.882105 0.815158 0.753263 +0.698947 0.645263 0.597263 0.549263 0.504421 0.433733 0.382613 0.344747 +0.3296 0.303093 0.269013 0.257653 0.248187 0.242507 0.2444 0.240613 +0.25008 0.25008 0.240613 0.240613 0.2444 0.25008 0.25008 0.242507 +0.23872 0.25008 0.248187 0.2444 0.248187 0.246293 0.248187 0.248187 +0.2444 0.242507 0.240613 0.236827 0.23304 0.236827 0.240613 0.240613 +0.234933 0.23304 0.229253 0.22736 0.234933 0.23304 0.225467 0.22168 +0.219787 0.217893 0.22168 0.229253 0.22736 0.22168 0.217893 0.219787 +0.216 0.216 0.216 0.000966667 0.000933333 0.000973333 0.217893 0.000993333 +0.216 0.216 0.217893 0.219787 0.000993333 0.000986667 0.217893 0.219787 +0.217893 0.217893 0.219787 0.223573 0.22736 0.225467 0.223573 0.223573 +0.23304 0.242507 0.2444 0.240613 0.251973 0.259547 0.26712 0.287947 +0.3012 0.32392 0.376933 0.486747 0.570105 0.697684 0.873263 1.00057 +1.00776 0.903579 0.728 0.590316 0.504421 0.37504 0.297413 0.23872 +0.000946667 0.000893333 0.000886667 0.0009 0.000873333 0.00084 0.0008 0.00074 +0.00072 0.000726667 0.00074 0.000793333 0.000806667 0.000793333 0.000786667 0.00082 +0.00084 0.00082 0.000806667 0.000826667 0.000746667 0.000753333 0.00076 0.000766667 +0.00076 0.000753333 0.000773333 0.000773333 0.000793333 0.0008 0.000786667 0.000766667 +0.00074 0.00074 0.000753333 0.00078 0.00076 0.000766667 0.000766667 0.00074 +0.00068 0.000633333 0.000606667 0.000606667 0.00066 0.000753333 0.000866667 0.000926667 +0.000913333 0.0009 0.216 0.28416 0.38072 0.509474 0.592211 0.729895 +0.900421 0.999918 0.985878 0.844842 0.686316 0.571368 0.48296 0.365573 +0.320133 0.293627 0.270907 0.257653 0.240613 0.240613 0.2444 0.234933 +0.22736 0.223573 0.216 0.000993333 0.00098 0.000953333 0.00096 0.00098 +0.000966667 0.000973333 0.000966667 0.00096 0.00096 0.00098 0.000973333 0.00096 +0.000966667 0.00096 0.000933333 0.000933333 0.000953333 0.000933333 0.00094 0.000973333 +0.00098 0.00096 0.000973333 0.000986667 0.000973333 0.000993333 0.000986667 0.000953333 +0.000973333 0.217893 0.22736 0.225467 0.000993333 0.216 0.225467 0.22736 +0.223573 0.23304 0.231147 0.229253 0.236827 0.234933 0.231147 0.229253 +0.234933 0.240613 0.240613 0.2444 0.23872 0.225467 0.22736 0.234933 +0.23304 0.23872 0.23304 0.229253 0.229253 0.229253 0.23872 0.248187 +0.240613 0.234933 0.23872 0.231147 0.23304 0.236827 0.231147 0.23872 +0.248187 0.246293 0.25008 0.257653 0.253867 0.263333 0.274693 0.280373 +0.297413 0.33528 0.388293 0.456453 0.518316 0.559368 0.601053 0.650947 +0.709053 0.767789 0.830947 0.893474 0.954105 0.992082 1.01363 1.03257 +1.04531 1.05673 1.09043 1.11326 1.11021 1.07522 1.05314 1.04139 +1.02441 1.00286 0.973684 0.922526 0.873895 0.820211 0.767789 0.717895 +0.673684 0.632632 0.594105 0.563158 0.539789 0.517684 0.498107 0.462133 +0.43752 0.424267 0.401547 0.37504 0.36936 0.36368 0.354213 0.33528 +0.32392 0.314453 0.30688 0.303093 0.293627 0.286053 0.28984 0.28984 +0.286053 0.286053 0.28416 0.282267 0.282267 0.26712 0.26712 0.2728 +0.274693 0.269013 0.270907 0.259547 0.2444 0.253867 0.253867 0.26144 +0.263333 0.248187 0.25008 0.2444 0.23872 0.248187 0.246293 0.242507 +0.234933 0.236827 0.242507 0.246293 0.26144 0.25008 0.246293 0.25576 +0.253867 0.248187 0.248187 0.253867 0.2444 0.22736 0.248187 0.240613 +0.236827 0.23872 0.23872 0.240613 0.2444 0.236827 0.2444 0.248187 +0.240613 0.2444 0.236827 0.234933 0.236827 0.25008 0.2444 0.000993333 +0.231147 0.240613 0.234933 0.240613 0.234933 0.236827 0.236827 0.225467 +0.217893 0.00098 0.000953333 0.00092 0.000926667 0.000933333 0.00096 0.000993333 +0.217893 0.216 0.000986667 0.000993333 0.225467 0.223573 0.000986667 0.000993333 +0.217893 0.219787 0.217893 0.22168 0.223573 0.231147 0.000986667 0.000986667 +0.000993333 0.00098 0.216 0.217893 0.000986667 0.22168 0.22736 0.22168 +0.000986667 0.000993333 0.000986667 0.000953333 0.00096 0.000906667 0.000893333 0.216 +0.22736 0.2444 0.253867 0.246293 0.242507 0.236827 0.248187 0.2444 +0.248187 0.251973 0.240613 0.240613 0.242507 0.240613 0.23872 0.25008 +0.263333 0.269013 0.26144 0.259547 0.265227 0.26712 0.263333 0.26712 +0.270907 0.257653 0.259547 0.276587 0.274693 0.26712 0.26712 0.269013 +0.276587 0.2728 0.282267 0.27848 0.270907 0.287947 0.291733 0.27848 +0.286053 0.282267 0.28416 0.287947 0.299307 0.304987 0.303093 0.308773 +0.31824 0.322027 0.32392 0.327707 0.342853 0.359893 0.361787 0.373147 +0.3864 0.399653 0.435627 0.456453 0.475387 0.505684 0.522737 0.544211 +0.568211 0.598526 0.633263 0.670526 0.714105 0.762737 0.813895 0.865053 +0.916211 0.960421 0.990776 1.01135 1.02767 1.04073 1.05086 1.05445 +1.05216 1.04955 1.04727 1.03943 1.02473 1.00514 0.983918 0.941474 +0.882737 0.816421 0.760842 0.716 0.663579 0.608 0.562526 0.524 +0.48296 0.412907 0.361787 0.31824 0.286053 0.274693 0.257653 0.2444 +0.251973 0.253867 0.246293 0.251973 0.246293 0.23872 0.240613 0.23872 +0.2444 0.248187 0.248187 0.25008 0.2444 0.248187 0.253867 0.2444 +0.246293 0.253867 0.25008 0.23872 0.23872 0.248187 0.246293 0.240613 +0.240613 0.236827 0.242507 0.236827 0.234933 0.231147 0.231147 0.23304 +0.231147 0.23304 0.225467 0.217893 0.223573 0.223573 0.22168 0.217893 +0.217893 0.219787 0.216 0.219787 0.219787 0.219787 0.217893 0.22168 +0.217893 0.217893 0.216 0.000973333 0.000933333 0.000966667 0.216 0.00098 +0.00098 0.217893 0.000986667 0.000986667 0.000993333 0.216 0.217893 0.216 +0.219787 0.217893 0.217893 0.219787 0.225467 0.225467 0.223573 0.219787 +0.22736 0.236827 0.242507 0.242507 0.257653 0.2728 0.28416 0.30688 +0.331493 0.39208 0.503158 0.576421 0.710316 0.890316 1.00612 1.00612 +0.892211 0.717263 0.585263 0.505053 0.365573 0.28416 0.236827 0.00096 +0.000906667 0.000913333 0.000913333 0.00088 0.00084 0.00078 0.000713333 0.000653333 +0.000666667 0.000746667 0.000833333 0.000826667 0.00082 0.000833333 0.000806667 0.000806667 +0.00082 0.000813333 0.000813333 0.000826667 0.00074 0.000753333 0.000746667 0.000746667 +0.000773333 0.0008 0.000786667 0.000773333 0.000773333 0.00078 0.0008 0.000806667 +0.000793333 0.000806667 0.00078 0.000766667 0.0008 0.000793333 0.000773333 0.00076 +0.000726667 0.000693333 0.000646667 0.00062 0.000613333 0.000693333 0.000833333 0.000933333 +0.000946667 0.000946667 0.000986667 0.236827 0.293627 0.3864 0.505684 0.578316 +0.704 0.878947 0.996653 0.991102 0.864421 0.697684 0.563789 0.467813 +0.371253 0.32392 0.28984 0.265227 0.25008 0.25008 0.236827 0.22168 +0.223573 0.219787 0.000953333 0.00096 0.000953333 0.000966667 0.216 0.22168 +0.217893 0.000993333 0.000973333 0.00096 0.000966667 0.000986667 0.000973333 0.000946667 +0.000966667 0.00096 0.00092 0.000933333 0.000953333 0.000966667 0.000986667 0.00096 +0.00096 0.000953333 0.000973333 0.00098 0.000973333 0.000986667 0.00098 0.000993333 +0.219787 0.000986667 0.216 0.223573 0.22168 0.223573 0.229253 0.217893 +0.22168 0.23304 0.231147 0.229253 0.22736 0.219787 0.22736 0.234933 +0.234933 0.234933 0.225467 0.219787 0.22736 0.23304 0.236827 0.23872 +0.23304 0.22736 0.223573 0.229253 0.223573 0.22168 0.229253 0.234933 +0.234933 0.23872 0.240613 0.23304 0.23304 0.23304 0.23872 0.242507 +0.246293 0.23872 0.23304 0.23304 0.234933 0.2444 0.242507 0.248187 +0.248187 0.23872 0.246293 0.26144 0.282267 0.308773 0.34664 0.39776 +0.4716 0.520842 0.556842 0.602947 0.655368 0.707789 0.767158 0.829053 +0.882737 0.929474 0.977474 1.00318 1.02637 1.044 1.05543 1.07978 +1.09956 1.09956 1.09652 1.07217 1.05151 1.03845 1.02473 1.0071 +0.983265 0.934526 0.882737 0.830316 0.777895 0.727368 0.685053 0.645263 +0.607368 0.578316 0.550526 0.526526 0.509474 0.496213 0.46592 0.435627 +0.42048 0.399653 0.378827 0.361787 0.350427 0.34664 0.34664 0.33528 +0.327707 0.32392 0.316347 0.316347 0.30688 0.297413 0.299307 0.299307 +0.303093 0.299307 0.29552 0.270907 0.274693 0.27848 0.274693 0.287947 +0.280373 0.269013 0.26712 0.26144 0.263333 0.2728 0.259547 0.251973 +0.240613 0.251973 0.257653 0.270907 0.276587 0.259547 0.265227 0.269013 +0.263333 0.259547 0.259547 0.265227 0.253867 0.259547 0.270907 0.246293 +0.251973 0.26144 0.25576 0.25008 0.25008 0.242507 0.253867 0.26144 +0.259547 0.2444 0.236827 0.240613 0.236827 0.246293 0.246293 0.23304 +0.242507 0.23304 0.23304 0.2444 0.242507 0.236827 0.23304 0.23304 +0.23872 0.236827 0.229253 0.223573 0.219787 0.000973333 0.000973333 0.00098 +0.000986667 0.000966667 0.000953333 0.000966667 0.216 0.216 0.216 0.216 +0.219787 0.217893 0.217893 0.223573 0.000986667 0.223573 0.000993333 0.22168 +0.217893 0.216 0.23304 0.229253 0.223573 0.229253 0.23304 0.217893 +0.000986667 0.22168 0.217893 0.000993333 0.219787 0.223573 0.22736 0.251973 +0.257653 0.270907 0.269013 0.253867 0.25576 0.25576 0.26144 0.251973 +0.25576 0.263333 0.253867 0.259547 0.26144 0.259547 0.263333 0.2728 +0.280373 0.274693 0.274693 0.276587 0.276587 0.28416 0.287947 0.282267 +0.27848 0.274693 0.274693 0.286053 0.28984 0.286053 0.282267 0.291733 +0.3012 0.29552 0.3012 0.304987 0.297413 0.310667 0.314453 0.314453 +0.327707 0.327707 0.327707 0.331493 0.344747 0.356107 0.354213 0.367467 +0.378827 0.382613 0.399653 0.424267 0.456453 0.486747 0.501895 0.516421 +0.534737 0.555579 0.582105 0.614316 0.646526 0.687579 0.729895 0.776 +0.824632 0.875158 0.922526 0.965474 0.993714 1.01331 1.03224 1.04629 +1.05576 1.06 1.05771 1.05216 1.04792 1.04237 1.03159 1.01233 +0.98751 0.953474 0.913684 0.868211 0.817684 0.762737 0.712842 0.667368 +0.613053 0.556842 0.520842 0.503158 0.433733 0.358 0.325813 0.308773 +0.27848 0.263333 0.253867 0.25008 0.25008 0.253867 0.248187 0.242507 +0.242507 0.242507 0.2444 0.2444 0.246293 0.23872 0.242507 0.248187 +0.248187 0.2444 0.2444 0.248187 0.23872 0.240613 0.248187 0.248187 +0.242507 0.240613 0.242507 0.234933 0.23304 0.242507 0.23872 0.23304 +0.236827 0.236827 0.234933 0.229253 0.22736 0.22736 0.223573 0.22736 +0.22736 0.229253 0.22736 0.22168 0.22168 0.000993333 0.219787 0.219787 +0.216 0.217893 0.000993333 0.000973333 0.000993333 0.22168 0.217893 0.000986667 +0.000993333 0.22168 0.22168 0.219787 0.000966667 0.000973333 0.000993333 0.000986667 +0.000973333 0.219787 0.219787 0.00098 0.000973333 0.000993333 0.217893 0.219787 +0.217893 0.000986667 0.219787 0.219787 0.223573 0.231147 0.234933 0.22736 +0.231147 0.2444 0.2444 0.242507 0.25576 0.276587 0.29552 0.331493 +0.390187 0.507579 0.589053 0.724842 0.902947 1.00873 1.00286 0.880211 +0.709684 0.581474 0.501263 0.36936 0.287947 0.23872 0.216 0.000953333 +0.000946667 0.000966667 0.00096 0.0009 0.000813333 0.000726667 0.000693333 0.000686667 +0.000713333 0.000793333 0.000813333 0.00084 0.000826667 0.000826667 0.000826667 0.000833333 +0.00084 0.000853333 0.00086 0.00084 0.00078 0.000766667 0.000753333 0.000793333 +0.000806667 0.000786667 0.00076 0.00076 0.00078 0.0008 0.000806667 0.000793333 +0.000813333 0.00086 0.00082 0.000786667 0.000806667 0.000793333 0.00078 0.000786667 +0.00078 0.000753333 0.000686667 0.000626667 0.000593333 0.00064 0.000746667 0.000886667 +0.22736 0.251973 0.257653 0.259547 0.276587 0.310667 0.382613 0.5 +0.568211 0.691368 0.861895 0.989796 0.991755 0.867579 0.686316 0.556211 +0.46592 0.367467 0.31256 0.280373 0.26144 0.248187 0.225467 0.216 +0.223573 0.229253 0.22168 0.22736 0.223573 0.216 0.22168 0.229253 +0.22736 0.00098 0.000973333 0.00098 0.00096 0.000966667 0.00094 0.000953333 +0.00098 0.00094 0.000926667 0.000933333 0.000966667 0.000993333 0.000993333 0.00098 +0.000986667 0.000966667 0.00096 0.000973333 0.000986667 0.219787 0.219787 0.22168 +0.219787 0.000993333 0.000986667 0.216 0.00098 0.217893 0.225467 0.219787 +0.217893 0.216 0.216 0.219787 0.219787 0.000973333 0.217893 0.22168 +0.223573 0.22168 0.216 0.216 0.223573 0.231147 0.231147 0.23872 +0.234933 0.219787 0.217893 0.223573 0.22168 0.223573 0.231147 0.231147 +0.231147 0.225467 0.225467 0.236827 0.246293 0.2444 0.23872 0.229253 +0.22736 0.22168 0.225467 0.229253 0.234933 0.234933 0.225467 0.234933 +0.23872 0.236827 0.246293 0.246293 0.23304 0.23304 0.23304 0.229253 +0.25576 0.293627 0.32392 0.356107 0.40344 0.473493 0.518947 0.551789 +0.584632 0.623789 0.674316 0.733684 0.801263 0.871368 0.925053 0.967368 +0.992082 1.01135 1.03159 1.04727 1.0538 1.06304 1.1026 1.12847 +1.12239 1.08587 1.05478 1.04465 1.03029 1.01037 0.989143 0.952842 +0.902947 0.853684 0.805684 0.760842 0.719789 0.680632 0.642105 0.608632 +0.580842 0.553684 0.532211 0.516421 0.504421 0.475387 0.456453 0.42616 +0.418587 0.407227 0.388293 0.384507 0.367467 0.356107 0.358 0.350427 +0.342853 0.331493 0.320133 0.303093 0.31824 0.310667 0.308773 0.31256 +0.303093 0.299307 0.299307 0.291733 0.304987 0.297413 0.28416 0.276587 +0.274693 0.280373 0.280373 0.29552 0.28416 0.27848 0.27848 0.26712 +0.26144 0.269013 0.282267 0.270907 0.25576 0.27848 0.2728 0.257653 +0.269013 0.27848 0.276587 0.2728 0.26144 0.26712 0.280373 0.270907 +0.270907 0.26144 0.25576 0.25008 0.25576 0.27848 0.270907 0.259547 +0.26712 0.248187 0.2444 0.25576 0.257653 0.253867 0.25576 0.251973 +0.25576 0.259547 0.257653 0.265227 0.257653 0.240613 0.240613 0.240613 +0.23872 0.225467 0.219787 0.225467 0.229253 0.223573 0.219787 0.219787 +0.23304 0.23872 0.240613 0.234933 0.223573 0.242507 0.229253 0.2444 +0.242507 0.236827 0.25008 0.231147 0.223573 0.234933 0.231147 0.000986667 +0.000986667 0.231147 0.236827 0.2444 0.257653 0.259547 0.251973 0.265227 +0.2728 0.28416 0.274693 0.259547 0.2728 0.2728 0.2728 0.270907 +0.269013 0.270907 0.270907 0.276587 0.27848 0.291733 0.297413 0.287947 +0.291733 0.29552 0.29552 0.29552 0.29552 0.3012 0.3012 0.293627 +0.304987 0.304987 0.30688 0.314453 0.320133 0.314453 0.320133 0.327707 +0.342853 0.35232 0.35232 0.350427 0.350427 0.358 0.36368 0.37504 +0.384507 0.39208 0.412907 0.433733 0.452667 0.47728 0.501263 0.513895 +0.526526 0.542316 0.563158 0.589684 0.617474 0.650947 0.685053 0.722947 +0.765895 0.810105 0.854316 0.902947 0.940211 0.98098 1.0009 1.01918 +1.03584 1.04727 1.05543 1.05967 1.06304 1.05902 1.05543 1.04759 +1.03584 1.0218 0.999918 0.966737 0.928842 0.899158 0.851789 0.787368 +0.725474 0.68 0.639579 0.596632 0.557474 0.522737 0.496213 0.441307 +0.378827 0.314453 0.282267 0.269013 0.253867 0.2444 0.23872 0.253867 +0.2444 0.23872 0.236827 0.234933 0.23872 0.23872 0.2444 0.2444 +0.236827 0.234933 0.236827 0.23304 0.240613 0.242507 0.236827 0.23872 +0.234933 0.231147 0.234933 0.2444 0.242507 0.23872 0.23872 0.242507 +0.234933 0.23304 0.236827 0.23304 0.231147 0.231147 0.231147 0.23304 +0.234933 0.23304 0.229253 0.22168 0.223573 0.231147 0.22168 0.22168 +0.225467 0.22168 0.217893 0.22736 0.223573 0.000986667 0.217893 0.219787 +0.216 0.219787 0.217893 0.000986667 0.216 0.217893 0.00098 0.000966667 +0.00096 0.000993333 0.22168 0.22736 0.22168 0.217893 0.217893 0.000986667 +0.000973333 0.216 0.223573 0.217893 0.00098 0.000986667 0.219787 0.223573 +0.219787 0.217893 0.22168 0.219787 0.217893 0.231147 0.242507 0.234933 +0.23872 0.25008 0.25576 0.26144 0.276587 0.29552 0.3296 0.401547 +0.508211 0.589053 0.732421 0.913053 1.00939 0.997306 0.866316 0.697053 +0.577053 0.505684 0.39208 0.31824 0.276587 0.287947 0.32392 0.3296 +0.308773 0.276587 0.23304 0.000913333 0.00078 0.000686667 0.000706667 0.000766667 +0.00082 0.000866667 0.00086 0.000853333 0.00086 0.00084 0.000826667 0.000846667 +0.00086 0.00086 0.00086 0.000846667 0.000793333 0.000773333 0.000793333 0.000813333 +0.000766667 0.00078 0.000813333 0.000826667 0.000813333 0.000773333 0.00078 0.00082 +0.000866667 0.000866667 0.00086 0.000853333 0.000826667 0.000786667 0.000786667 0.000786667 +0.0008 0.000786667 0.000753333 0.00068 0.00062 0.000633333 0.000793333 0.253867 +0.359893 0.446987 0.48864 0.47728 0.428053 0.342853 0.314453 0.373147 +0.498107 0.558737 0.673053 0.842947 0.984898 0.989469 0.859368 0.683158 +0.562526 0.490533 0.37504 0.31824 0.28416 0.269013 0.25576 0.248187 +0.236827 0.236827 0.23872 0.23872 0.236827 0.22736 0.229253 0.223573 +0.000986667 0.00098 0.217893 0.217893 0.000973333 0.000953333 0.00094 0.000973333 +0.000966667 0.000946667 0.00096 0.000973333 0.000986667 0.000973333 0.00098 0.217893 +0.216 0.000973333 0.000986667 0.223573 0.225467 0.225467 0.219787 0.216 +0.000973333 0.000973333 0.00096 0.00098 0.000966667 0.000973333 0.216 0.216 +0.216 0.216 0.000966667 0.000966667 0.00098 0.000993333 0.219787 0.217893 +0.000986667 0.216 0.229253 0.225467 0.229253 0.22736 0.223573 0.231147 +0.231147 0.231147 0.23304 0.225467 0.223573 0.225467 0.229253 0.236827 +0.236827 0.223573 0.22168 0.229253 0.229253 0.22736 0.22736 0.22168 +0.22168 0.229253 0.225467 0.231147 0.240613 0.229253 0.225467 0.223573 +0.225467 0.225467 0.231147 0.240613 0.236827 0.23304 0.229253 0.216 +0.217893 0.23872 0.246293 0.240613 0.248187 0.2728 0.280373 0.287947 +0.314453 0.348533 0.40912 0.492427 0.539158 0.588421 0.631368 0.664842 +0.708421 0.766526 0.830316 0.880211 0.911158 0.952842 0.990449 1.01167 +1.03224 1.044 1.05086 1.06456 1.09956 1.1163 1.10869 1.09348 +1.06913 1.05086 1.03551 1.02212 1.00873 0.987837 0.950947 0.911789 +0.862526 0.815789 0.776632 0.735579 0.695789 0.659158 0.625053 0.597895 +0.578947 0.556842 0.537263 0.522105 0.510105 0.501263 0.481067 0.458347 +0.43184 0.412907 0.39208 0.388293 0.384507 0.367467 0.367467 0.359893 +0.350427 0.350427 0.339067 0.331493 0.333387 0.32392 0.316347 0.314453 +0.310667 0.304987 0.310667 0.316347 0.303093 0.299307 0.303093 0.293627 +0.28416 0.291733 0.29552 0.28984 0.28416 0.310667 0.29552 0.286053 +0.291733 0.287947 0.287947 0.28984 0.282267 0.28984 0.303093 0.28984 +0.28416 0.282267 0.280373 0.2728 0.287947 0.30688 0.291733 0.282267 +0.293627 0.2728 0.269013 0.27848 0.27848 0.27848 0.27848 0.2728 +0.28416 0.291733 0.286053 0.28984 0.27848 0.263333 0.276587 0.291733 +0.28984 0.265227 0.25008 0.248187 0.248187 0.236827 0.231147 0.23304 +0.246293 0.251973 0.257653 0.246293 0.2444 0.263333 0.2444 0.257653 +0.25008 0.240613 0.25008 0.229253 0.22736 0.23304 0.23304 0.231147 +0.242507 0.257653 0.26712 0.274693 0.276587 0.270907 0.265227 0.276587 +0.287947 0.297413 0.286053 0.27848 0.286053 0.28984 0.303093 0.29552 +0.28984 0.299307 0.293627 0.297413 0.30688 0.320133 0.322027 0.316347 +0.32392 0.322027 0.320133 0.333387 0.33528 0.333387 0.331493 0.339067 +0.34664 0.348533 0.354213 0.365573 0.373147 0.38072 0.3864 0.39208 +0.42048 0.429947 0.429947 0.4432 0.456453 0.48296 0.506947 0.519579 +0.530316 0.543579 0.566316 0.588421 0.613053 0.643368 0.673684 0.706526 +0.743789 0.781684 0.820842 0.863158 0.907368 0.949684 0.984245 1.00253 +1.02049 1.0342 1.04367 1.0551 1.06609 1.07065 1.06152 1.05771 +1.05249 1.04237 1.03094 1.01918 1.00318 0.982939 0.941474 0.894105 +0.844842 0.801895 0.748211 0.685684 0.646526 0.623789 0.585263 0.536 +0.496213 0.43752 0.39208 0.342853 0.30688 0.282267 0.2728 0.26144 +0.236827 0.22736 0.229253 0.22736 0.229253 0.231147 0.22736 0.236827 +0.234933 0.23304 0.234933 0.23304 0.23872 0.234933 0.234933 0.236827 +0.231147 0.234933 0.242507 0.240613 0.242507 0.242507 0.23872 0.234933 +0.231147 0.231147 0.234933 0.23872 0.234933 0.231147 0.234933 0.23872 +0.234933 0.234933 0.234933 0.23304 0.231147 0.229253 0.23304 0.231147 +0.225467 0.229253 0.231147 0.225467 0.229253 0.22736 0.22168 0.219787 +0.229253 0.223573 0.216 0.223573 0.229253 0.219787 0.000993333 0.00098 +0.00098 0.000993333 0.219787 0.219787 0.219787 0.219787 0.219787 0.000993333 +0.000966667 0.000986667 0.219787 0.219787 0.000993333 0.216 0.22168 0.219787 +0.000986667 0.217893 0.22168 0.219787 0.216 0.000986667 0.216 0.22168 +0.225467 0.223573 0.225467 0.229253 0.229253 0.234933 0.242507 0.240613 +0.2444 0.251973 0.265227 0.27848 0.29552 0.331493 0.40912 0.517684 +0.59979 0.738105 0.921895 1.012 0.992735 0.848632 0.684421 0.571368 +0.505684 0.4148 0.356107 0.354213 0.44888 0.537895 0.583368 0.596 +0.572 0.524 0.418587 0.2728 0.000866667 0.000766667 0.000786667 0.000826667 +0.000866667 0.000873333 0.000873333 0.00086 0.00088 0.000866667 0.00084 0.000853333 +0.000873333 0.00088 0.00086 0.000853333 0.00076 0.000786667 0.000793333 0.000766667 +0.000753333 0.0008 0.000813333 0.00078 0.000766667 0.00078 0.000813333 0.000826667 +0.000806667 0.000786667 0.00082 0.000806667 0.000786667 0.000793333 0.0008 0.000793333 +0.0008 0.000806667 0.000806667 0.000766667 0.000726667 0.000806667 0.282267 0.507579 +0.587158 0.660421 0.707158 0.704632 0.661053 0.578316 0.47728 0.365573 +0.40344 0.48864 0.554947 0.666105 0.832842 0.981959 0.990776 0.872632 +0.707158 0.580211 0.502526 0.382613 0.31824 0.291733 0.2728 0.26144 +0.251973 0.246293 0.236827 0.23872 0.234933 0.23304 0.231147 0.223573 +0.000993333 0.000993333 0.219787 0.217893 0.000966667 0.000986667 0.000993333 0.000973333 +0.000993333 0.000993333 0.00098 0.000966667 0.000986667 0.000953333 0.000966667 0.223573 +0.219787 0.000973333 0.216 0.225467 0.22168 0.00098 0.000966667 0.00096 +0.000946667 0.000953333 0.00098 0.22168 0.000993333 0.000973333 0.000973333 0.00098 +0.000986667 0.00098 0.00096 0.000966667 0.000986667 0.217893 0.22736 0.23304 +0.219787 0.223573 0.23304 0.22736 0.229253 0.22736 0.225467 0.234933 +0.231147 0.229253 0.23304 0.236827 0.246293 0.236827 0.229253 0.229253 +0.229253 0.22736 0.225467 0.225467 0.217893 0.000993333 0.00098 0.000986667 +0.231147 0.248187 0.240613 0.23872 0.23304 0.217893 0.22168 0.229253 +0.236827 0.225467 0.217893 0.217893 0.22168 0.22736 0.231147 0.234933 +0.234933 0.231147 0.225467 0.000993333 0.000966667 0.000993333 0.22168 0.225467 +0.231147 0.23872 0.257653 0.269013 0.280373 0.316347 0.356107 0.39208 +0.456453 0.520211 0.563158 0.596 0.616211 0.657895 0.707158 0.758947 +0.817053 0.861895 0.905474 0.950316 0.984245 1.00253 1.01886 1.0342 +1.04694 1.0538 1.05804 1.0813 1.1163 1.11173 1.09652 1.08435 +1.05478 1.04237 1.02898 1.01298 0.995347 0.973684 0.933895 0.899789 +0.86 0.817684 0.780421 0.744421 0.712842 0.681263 0.651579 0.623789 +0.596632 0.574526 0.554947 0.539789 0.524 0.514526 0.506316 0.486747 +0.46592 0.450773 0.428053 0.412907 0.411013 0.399653 0.382613 0.37504 +0.373147 0.361787 0.36368 0.361787 0.342853 0.35232 0.350427 0.34096 +0.32392 0.3296 0.3296 0.325813 0.339067 0.350427 0.3296 0.32392 +0.325813 0.31824 0.320133 0.316347 0.314453 0.322027 0.31824 0.310667 +0.308773 0.304987 0.310667 0.308773 0.325813 0.333387 0.31824 0.314453 +0.316347 0.297413 0.30688 0.310667 0.297413 0.299307 0.3012 0.303093 +0.31256 0.310667 0.30688 0.304987 0.297413 0.297413 0.310667 0.32392 +0.31824 0.3012 0.28416 0.274693 0.280373 0.270907 0.259547 0.251973 +0.257653 0.263333 0.2728 0.263333 0.263333 0.280373 0.270907 0.27848 +0.257653 0.246293 0.25576 0.23872 0.2444 0.26144 0.2728 0.286053 +0.286053 0.28984 0.297413 0.304987 0.304987 0.297413 0.291733 0.303093 +0.310667 0.32392 0.314453 0.310667 0.320133 0.322027 0.331493 0.33528 +0.33528 0.342853 0.339067 0.350427 0.358 0.361787 0.36368 0.361787 +0.367467 0.371253 0.373147 0.390187 0.39776 0.399653 0.40912 0.42616 +0.441307 0.456453 0.473493 0.492427 0.508211 0.518316 0.527158 0.539789 +0.557474 0.572632 0.588421 0.611789 0.632632 0.662316 0.694526 0.724842 +0.755789 0.790526 0.827158 0.865053 0.903579 0.943368 0.978105 0.996 +1.012 1.02604 1.03714 1.04727 1.05771 1.07522 1.08587 1.07826 +1.06456 1.05739 1.05053 1.04139 1.02931 1.01102 0.990776 0.960421 +0.918105 0.871368 0.829684 0.794947 0.753263 0.707158 0.658526 0.611789 +0.568842 0.541053 0.512632 0.4432 0.390187 0.36936 0.333387 0.282267 +0.251973 0.246293 0.242507 0.240613 0.236827 0.231147 0.231147 0.23304 +0.219787 0.22168 0.229253 0.229253 0.229253 0.22736 0.229253 0.22736 +0.229253 0.23304 0.23304 0.234933 0.234933 0.23304 0.236827 0.242507 +0.242507 0.242507 0.242507 0.240613 0.240613 0.2444 0.242507 0.2444 +0.242507 0.23872 0.234933 0.22736 0.22736 0.236827 0.23872 0.236827 +0.23304 0.231147 0.23304 0.23872 0.23872 0.229253 0.22736 0.22736 +0.22736 0.231147 0.22736 0.225467 0.22736 0.22736 0.22736 0.229253 +0.22736 0.223573 0.000993333 0.219787 0.223573 0.223573 0.217893 0.000993333 +0.216 0.217893 0.216 0.000986667 0.000993333 0.219787 0.219787 0.217893 +0.000986667 0.000993333 0.217893 0.216 0.216 0.217893 0.217893 0.217893 +0.000993333 0.216 0.22168 0.22168 0.22168 0.219787 0.22168 0.223573 +0.223573 0.223573 0.231147 0.23872 0.23872 0.236827 0.240613 0.25008 +0.26144 0.269013 0.280373 0.297413 0.337173 0.412907 0.520842 0.611158 +0.757053 0.932 1.01069 0.986857 0.834105 0.673053 0.565684 0.506947 +0.445093 0.44888 0.500632 0.549895 0.647158 0.754526 0.827789 0.846737 +0.808842 0.732421 0.632 0.515158 0.27848 0.000906667 0.0009 0.000913333 +0.00088 0.00088 0.000873333 0.00086 0.000873333 0.00088 0.00086 0.00084 +0.000846667 0.00086 0.000833333 0.00082 0.000746667 0.000766667 0.00076 0.00074 +0.000773333 0.000773333 0.000746667 0.000753333 0.000766667 0.00076 0.00076 0.000773333 +0.000766667 0.000793333 0.000806667 0.0008 0.0008 0.000813333 0.000826667 0.00082 +0.000826667 0.000826667 0.000826667 0.000833333 0.000846667 0.242507 0.518316 0.684421 +0.816421 0.901684 0.956 0.966105 0.926947 0.824632 0.674947 0.548 +0.48864 0.4716 0.503789 0.549263 0.654105 0.821474 0.979368 0.994694 +0.893474 0.721684 0.584632 0.504421 0.388293 0.32392 0.286053 0.2728 +0.263333 0.25008 0.2444 0.242507 0.229253 0.225467 0.22736 0.229253 +0.225467 0.216 0.00098 0.00096 0.000973333 0.225467 0.223573 0.000986667 +0.000973333 0.000966667 0.000946667 0.000973333 0.000986667 0.000973333 0.000993333 0.22168 +0.219787 0.00096 0.000986667 0.22168 0.00098 0.000966667 0.000986667 0.000953333 +0.000953333 0.00098 0.216 0.216 0.000973333 0.000953333 0.00098 0.000973333 +0.000953333 0.00096 0.000986667 0.223573 0.225467 0.225467 0.22736 0.231147 +0.223573 0.23304 0.234933 0.225467 0.217893 0.219787 0.223573 0.231147 +0.23304 0.231147 0.22736 0.23304 0.23304 0.229253 0.22736 0.225467 +0.22168 0.22168 0.217893 0.000993333 0.22168 0.223573 0.217893 0.216 +0.22168 0.229253 0.231147 0.23872 0.231147 0.225467 0.223573 0.231147 +0.231147 0.22168 0.000993333 0.216 0.22736 0.231147 0.229253 0.234933 +0.23304 0.231147 0.23304 0.229253 0.219787 0.219787 0.22168 0.219787 +0.216 0.216 0.225467 0.225467 0.223573 0.22736 0.229253 0.234933 +0.246293 0.276587 0.314453 0.34096 0.373147 0.416693 0.4716 0.514526 +0.544211 0.573895 0.610526 0.655368 0.694526 0.736842 0.784842 0.826526 +0.861263 0.898526 0.945895 0.987184 1.01037 1.02604 1.03976 1.05314 +1.06609 1.08891 1.10108 1.11173 1.10869 1.0813 1.05935 1.05771 +1.04857 1.03845 1.02767 1.01527 1.00122 0.984898 0.957895 0.921263 +0.884 0.853684 0.820842 0.788 0.755789 0.728 0.697684 0.669263 +0.643368 0.621895 0.601053 0.585263 0.570737 0.554947 0.541684 0.529684 +0.520211 0.510105 0.504421 0.48864 0.4716 0.46024 0.450773 0.429947 +0.4148 0.422373 0.411013 0.399653 0.418587 0.411013 0.3864 0.388293 +0.384507 0.373147 0.36936 0.36368 0.356107 0.36936 0.365573 0.356107 +0.35232 0.356107 0.35232 0.344747 0.359893 0.365573 0.344747 0.34096 +0.339067 0.333387 0.34664 0.342853 0.333387 0.333387 0.331493 0.33528 +0.342853 0.337173 0.339067 0.342853 0.33528 0.337173 0.344747 0.35232 +0.344747 0.327707 0.31256 0.308773 0.32392 0.322027 0.30688 0.29552 +0.291733 0.286053 0.28984 0.282267 0.287947 0.3012 0.287947 0.291733 +0.2728 0.269013 0.286053 0.280373 0.3012 0.322027 0.3296 0.32392 +0.320133 0.322027 0.3296 0.342853 0.350427 0.344747 0.342853 0.348533 +0.356107 0.37504 0.37504 0.373147 0.376933 0.3864 0.395867 0.407227 +0.411013 0.42048 0.428053 0.446987 0.458347 0.469707 0.481067 0.486747 +0.5 0.510737 0.519579 0.528421 0.539158 0.552421 0.566316 0.580211 +0.598526 0.614947 0.635158 0.656632 0.684421 0.710947 0.742526 0.774737 +0.807579 0.839789 0.868842 0.901053 0.933895 0.970526 0.991102 1.00384 +1.01853 1.02931 1.03943 1.05118 1.05837 1.07369 1.07826 1.08435 +1.08282 1.06609 1.05576 1.04727 1.04008 1.02865 1.01265 0.993714 +0.969263 0.949684 0.917474 0.863158 0.813263 0.761474 0.717263 0.673684 +0.630105 0.589684 0.558105 0.537895 0.515158 0.473493 0.405333 0.34664 +0.303093 0.282267 0.263333 0.248187 0.231147 0.225467 0.229253 0.225467 +0.225467 0.223573 0.22168 0.225467 0.22736 0.22736 0.229253 0.229253 +0.22736 0.231147 0.229253 0.229253 0.22736 0.229253 0.236827 0.234933 +0.231147 0.225467 0.219787 0.225467 0.23304 0.23872 0.2444 0.2444 +0.242507 0.23872 0.234933 0.23872 0.246293 0.246293 0.240613 0.23872 +0.236827 0.23304 0.231147 0.22736 0.23304 0.236827 0.23304 0.231147 +0.23304 0.223573 0.223573 0.229253 0.231147 0.229253 0.231147 0.231147 +0.229253 0.223573 0.217893 0.219787 0.22168 0.219787 0.216 0.225467 +0.225467 0.219787 0.000993333 0.217893 0.000993333 0.216 0.216 0.000993333 +0.000993333 0.00098 0.000986667 0.216 0.223573 0.22168 0.216 0.000993333 +0.000993333 0.000986667 0.000973333 0.000973333 0.216 0.219787 0.216 0.000986667 +0.216 0.000993333 0.000993333 0.223573 0.22736 0.22736 0.219787 0.219787 +0.217893 0.223573 0.229253 0.23304 0.240613 0.25008 0.25576 0.253867 +0.263333 0.28416 0.3012 0.3296 0.42048 0.527158 0.619368 0.770947 +0.949053 1.01363 0.981306 0.816421 0.657895 0.556842 0.503158 0.45456 +0.503789 0.563158 0.648421 0.750737 0.872 0.973684 1.00514 1.01037 +0.995347 0.948421 0.835368 0.655368 0.46592 0.23872 0.00096 0.000953333 +0.000913333 0.0009 0.0009 0.000873333 0.000873333 0.000893333 0.000893333 0.00084 +0.00084 0.000846667 0.00082 0.000793333 0.000773333 0.00078 0.000793333 0.000786667 +0.000786667 0.000766667 0.000766667 0.00076 0.00074 0.00072 0.000753333 0.000806667 +0.000826667 0.00082 0.000793333 0.00082 0.00082 0.000833333 0.000873333 0.00086 +0.00086 0.000846667 0.00086 0.0009 0.00096 0.350427 0.623158 0.856842 +0.987184 1.01298 1.02637 1.03518 1.03094 1.00155 0.901684 0.751368 +0.635789 0.556211 0.507579 0.503158 0.545474 0.645263 0.810105 0.971789 +0.998286 0.904211 0.727368 0.587789 0.508842 0.395867 0.327707 0.297413 +0.269013 0.25008 0.246293 0.23872 0.229253 0.229253 0.22736 0.219787 +0.216 0.000993333 0.000986667 0.000966667 0.000993333 0.000993333 0.000973333 0.00098 +0.00098 0.000966667 0.000986667 0.217893 0.217893 0.22168 0.216 0.000966667 +0.000966667 0.00096 0.000973333 0.000966667 0.000946667 0.000986667 0.000986667 0.000973333 +0.00096 0.000993333 0.000973333 0.000953333 0.00096 0.00096 0.216 0.219787 +0.219787 0.22736 0.223573 0.216 0.217893 0.225467 0.217893 0.216 +0.000986667 0.22168 0.225467 0.216 0.217893 0.223573 0.217893 0.22168 +0.231147 0.225467 0.223573 0.225467 0.22168 0.219787 0.217893 0.22168 +0.223573 0.22168 0.216 0.217893 0.22168 0.219787 0.219787 0.219787 +0.223573 0.225467 0.22168 0.000993333 0.000993333 0.22736 0.234933 0.234933 +0.23304 0.223573 0.000986667 0.223573 0.23304 0.22736 0.225467 0.22736 +0.22736 0.22736 0.22168 0.23304 0.231147 0.23304 0.231147 0.217893 +0.00098 0.000973333 0.000966667 0.00098 0.000993333 0.000993333 0.217893 0.217893 +0.223573 0.22736 0.223573 0.225467 0.229253 0.236827 0.257653 0.276587 +0.287947 0.31256 0.350427 0.393973 0.433733 0.498107 0.523368 0.543579 +0.565684 0.59979 0.648421 0.699579 0.748842 0.793684 0.837263 0.878316 +0.914947 0.950316 0.982286 1.00188 1.01886 1.02604 1.03616 1.04922 +1.0538 1.05869 1.07217 1.08282 1.07978 1.07674 1.06761 1.05478 +1.04922 1.044 1.03682 1.028 1.01918 1.00841 0.995347 0.982286 +0.956632 0.924421 0.897263 0.875789 0.848632 0.818947 0.792421 0.764 +0.737474 0.714737 0.694526 0.669895 0.649053 0.628842 0.614947 0.596632 +0.584 0.575789 0.560632 0.551158 0.550526 0.539158 0.530316 0.526526 +0.517684 0.511368 0.505684 0.501263 0.48864 0.490533 0.486747 0.469707 +0.456453 0.458347 0.439413 0.43184 0.452667 0.4432 0.418587 0.416693 +0.416693 0.407227 0.411013 0.411013 0.40912 0.401547 0.39208 0.395867 +0.407227 0.40344 0.395867 0.401547 0.395867 0.393973 0.39776 0.399653 +0.382613 0.371253 0.365573 0.367467 0.390187 0.390187 0.38072 0.376933 +0.37504 0.36936 0.36368 0.342853 0.34096 0.342853 0.33528 0.342853 +0.337173 0.350427 0.373147 0.376933 0.388293 0.411013 0.411013 0.405333 +0.401547 0.40912 0.42048 0.441307 0.44888 0.452667 0.46024 0.469707 +0.496213 0.511368 0.515158 0.518316 0.524632 0.534105 0.544211 0.551158 +0.559368 0.575158 0.587158 0.602316 0.616842 0.633895 0.649053 0.662947 +0.681895 0.709684 0.729895 0.753895 0.779158 0.804421 0.829053 0.858737 +0.884632 0.908 0.933895 0.959789 0.982286 0.996 1.01004 1.02147 +1.0329 1.04465 1.05151 1.05641 1.06913 1.08891 1.10108 1.10565 +1.1026 1.06456 1.0538 1.05151 1.04563 1.0342 1.01918 1.00482 +0.986531 0.958526 0.925684 0.890947 0.851789 0.810105 0.769053 0.722316 +0.686316 0.671158 0.641474 0.587158 0.542947 0.515158 0.486747 0.42616 +0.367467 0.325813 0.299307 0.286053 0.269013 0.25008 0.229253 0.216 +0.000966667 0.00098 0.000986667 0.216 0.000993333 0.000986667 0.000993333 0.216 +0.000986667 0.000986667 0.000966667 0.000993333 0.22736 0.23304 0.22736 0.22168 +0.225467 0.22736 0.223573 0.223573 0.223573 0.229253 0.231147 0.22736 +0.219787 0.219787 0.225467 0.229253 0.229253 0.229253 0.231147 0.231147 +0.236827 0.23872 0.231147 0.234933 0.234933 0.23872 0.240613 0.23304 +0.23304 0.23872 0.234933 0.231147 0.22168 0.225467 0.225467 0.231147 +0.240613 0.223573 0.217893 0.223573 0.225467 0.22736 0.225467 0.22168 +0.217893 0.219787 0.217893 0.217893 0.217893 0.217893 0.000993333 0.000993333 +0.217893 0.000986667 0.00098 0.000993333 0.000993333 0.000993333 0.000986667 0.00098 +0.000973333 0.00096 0.00096 0.000986667 0.219787 0.000993333 0.00098 0.000986667 +0.00098 0.216 0.00098 0.00096 0.000973333 0.000973333 0.000986667 0.000966667 +0.000973333 0.000973333 0.000993333 0.22168 0.219787 0.225467 0.223573 0.22168 +0.223573 0.22168 0.22736 0.231147 0.23872 0.251973 0.257653 0.26144 +0.27848 0.304987 0.34096 0.418587 0.529684 0.633263 0.786737 0.959789 +1.01461 0.971158 0.802526 0.648421 0.551789 0.501263 0.46024 0.513895 +0.596632 0.722947 0.852421 0.957895 1.01037 1.03453 1.04204 1.04139 +1.03518 1.02212 0.978105 0.778526 0.551789 0.304987 0.219787 0.00098 +0.000926667 0.000893333 0.0009 0.000886667 0.000866667 0.000893333 0.000893333 0.00086 +0.000873333 0.000873333 0.00084 0.000813333 0.000766667 0.000786667 0.0008 0.000753333 +0.00076 0.00078 0.000793333 0.000753333 0.000766667 0.000786667 0.000793333 0.000806667 +0.0008 0.000813333 0.000833333 0.000846667 0.000813333 0.00082 0.000846667 0.00086 +0.00086 0.00088 0.000906667 0.00092 0.219787 0.433733 0.692 0.946526 +1.02343 1.03518 1.03747 1.04302 1.04759 1.04335 1.02082 0.973053 +0.853684 0.714105 0.591579 0.521474 0.508211 0.546737 0.640842 0.801263 +0.973053 1.00188 0.907368 0.733684 0.59979 0.513263 0.39208 0.325813 +0.282267 0.257653 0.25008 0.246293 0.236827 0.234933 0.22736 0.217893 +0.000993333 0.217893 0.223573 0.216 0.00098 0.000973333 0.00098 0.216 +0.217893 0.216 0.22168 0.22168 0.216 0.216 0.000953333 0.000933333 +0.000953333 0.000966667 0.000986667 0.000973333 0.000953333 0.000946667 0.000966667 0.000973333 +0.000953333 0.00098 0.00096 0.00098 0.219787 0.219787 0.223573 0.216 +0.219787 0.22736 0.000993333 0.000973333 0.000993333 0.217893 0.000986667 0.000986667 +0.000993333 0.000993333 0.000993333 0.00098 0.216 0.223573 0.217893 0.223573 +0.225467 0.217893 0.217893 0.225467 0.223573 0.216 0.217893 0.219787 +0.22168 0.22168 0.223573 0.229253 0.225467 0.216 0.000993333 0.217893 +0.22168 0.229253 0.229253 0.219787 0.217893 0.22736 0.225467 0.22736 +0.23304 0.231147 0.225467 0.23304 0.22736 0.217893 0.216 0.219787 +0.223573 0.000993333 0.216 0.225467 0.223573 0.217893 0.219787 0.22168 +0.22736 0.22736 0.219787 0.216 0.000993333 0.000953333 0.00096 0.000973333 +0.217893 0.216 0.000966667 0.00098 0.000966667 0.000966667 0.000993333 0.000993333 +0.000993333 0.225467 0.240613 0.246293 0.248187 0.269013 0.27848 0.280373 +0.299307 0.33528 0.378827 0.43184 0.498107 0.527789 0.553684 0.578947 +0.602947 0.632632 0.670526 0.722316 0.769684 0.800632 0.840421 0.887789 +0.921263 0.947789 0.979368 0.991429 1.0009 1.01298 1.02441 1.03224 +1.04106 1.04955 1.05478 1.05771 1.07065 1.09043 1.09804 1.09652 +1.08739 1.06304 1.05739 1.05445 1.04922 1.04302 1.03486 1.02441 +1.01461 1.0058 0.99502 0.983592 0.965474 0.941474 0.918105 0.890947 +0.873263 0.851789 0.827789 0.808842 0.794316 0.774737 0.760842 0.745684 +0.726105 0.712211 0.696421 0.681895 0.669263 0.659158 0.647789 0.635789 +0.626316 0.619368 0.604842 0.599158 0.595368 0.586526 0.576421 0.570105 +0.561895 0.554316 0.551789 0.550526 0.548632 0.542947 0.537263 0.534737 +0.536632 0.536632 0.534737 0.534105 0.530316 0.527789 0.527158 0.526526 +0.524 0.524632 0.523368 0.524632 0.530316 0.527789 0.525263 0.526526 +0.526526 0.528421 0.527158 0.520842 0.520211 0.523368 0.522737 0.527789 +0.530947 0.539789 0.551158 0.552421 0.558737 0.566947 0.572 0.578947 +0.583368 0.592211 0.602947 0.614947 0.627579 0.635789 0.645895 0.659158 +0.68 0.703368 0.718526 0.731789 0.749474 0.767789 0.784211 0.798737 +0.822105 0.848632 0.866947 0.890947 0.911158 0.933895 0.954737 0.969895 +0.983265 0.995673 1.00514 1.01559 1.02637 1.03486 1.04269 1.0489 +1.05347 1.05837 1.06456 1.06761 1.07826 1.08739 1.08435 1.06152 +1.05869 1.05673 1.0502 1.044 1.03518 1.0218 1.01004 0.999918 +0.985878 0.946526 0.909263 0.893474 0.874526 0.837263 0.798737 0.755158 +0.704 0.662316 0.631368 0.602316 0.570737 0.544211 0.520211 0.490533 +0.445093 0.429947 0.388293 0.31256 0.269013 0.26144 0.257653 0.242507 +0.22168 0.225467 0.217893 0.000966667 0.000946667 0.000913333 0.000926667 0.00094 +0.00092 0.00096 0.000986667 0.000993333 0.000993333 0.000953333 0.000946667 0.000953333 +0.000966667 0.216 0.00098 0.216 0.223573 0.223573 0.217893 0.000986667 +0.223573 0.223573 0.219787 0.217893 0.000986667 0.216 0.216 0.219787 +0.217893 0.229253 0.236827 0.22736 0.217893 0.22168 0.223573 0.229253 +0.242507 0.23872 0.22736 0.22168 0.225467 0.23304 0.23872 0.22736 +0.22736 0.234933 0.23304 0.229253 0.223573 0.22168 0.22168 0.223573 +0.22736 0.22168 0.217893 0.22168 0.217893 0.219787 0.219787 0.219787 +0.000993333 0.219787 0.216 0.00098 0.217893 0.217893 0.219787 0.216 +0.000993333 0.00098 0.000973333 0.00098 0.000966667 0.000973333 0.000986667 0.000966667 +0.00098 0.000973333 0.000973333 0.00096 0.00098 0.000973333 0.00096 0.000966667 +0.00096 0.00098 0.000993333 0.00098 0.00098 0.000973333 0.000973333 0.00096 +0.000966667 0.000986667 0.000986667 0.000993333 0.00098 0.217893 0.225467 0.223573 +0.22168 0.22736 0.23872 0.240613 0.240613 0.251973 0.263333 0.269013 +0.291733 0.342853 0.428053 0.532211 0.639579 0.806316 0.978737 1.01494 +0.961053 0.788 0.637684 0.546105 0.496213 0.4716 0.528421 0.62 +0.758947 0.906737 1.00024 1.03192 1.044 1.04629 1.04498 1.04237 +1.04073 1.0378 1.00743 0.840421 0.590316 0.339067 0.225467 0.000973333 +0.000966667 0.000926667 0.0009 0.000886667 0.000886667 0.000873333 0.000853333 0.000853333 +0.000853333 0.00084 0.00084 0.000813333 0.00078 0.000813333 0.00082 0.000813333 +0.000806667 0.000786667 0.000773333 0.000766667 0.0008 0.000806667 0.000786667 0.000773333 +0.000786667 0.000813333 0.00082 0.000826667 0.000833333 0.00084 0.00084 0.00084 +0.000853333 0.000886667 0.000886667 0.000906667 0.236827 0.456453 0.707158 0.969895 +1.03649 1.04563 1.04269 1.04139 1.04465 1.04955 1.04727 1.03355 +1.00188 0.908632 0.754526 0.614316 0.533474 0.513263 0.542947 0.632632 +0.793053 0.959789 0.998939 0.92 0.751368 0.604842 0.514526 0.399653 +0.32392 0.287947 0.2728 0.26144 0.240613 0.236827 0.23304 0.234933 +0.22736 0.223573 0.225467 0.217893 0.000986667 0.217893 0.217893 0.225467 +0.225467 0.217893 0.217893 0.22168 0.216 0.000953333 0.000933333 0.00096 +0.000973333 0.000946667 0.000966667 0.00098 0.000946667 0.000933333 0.000966667 0.000973333 +0.00096 0.000973333 0.00096 0.22168 0.223573 0.216 0.000986667 0.000953333 +0.000973333 0.000986667 0.000973333 0.22168 0.219787 0.217893 0.000966667 0.000973333 +0.00098 0.000973333 0.000973333 0.000966667 0.000973333 0.22168 0.22168 0.22168 +0.217893 0.00098 0.216 0.22168 0.000986667 0.000973333 0.000993333 0.217893 +0.219787 0.219787 0.22168 0.22168 0.223573 0.223573 0.22736 0.22168 +0.000986667 0.219787 0.225467 0.219787 0.219787 0.216 0.219787 0.217893 +0.219787 0.217893 0.22736 0.231147 0.22736 0.225467 0.223573 0.22168 +0.217893 0.216 0.219787 0.225467 0.22168 0.217893 0.216 0.225467 +0.229253 0.225467 0.223573 0.229253 0.223573 0.216 0.00096 0.000953333 +0.00096 0.00094 0.000946667 0.00096 0.000953333 0.217893 0.000993333 0.00096 +0.00096 0.00096 0.000946667 0.00094 0.000993333 0.217893 0.217893 0.229253 +0.22736 0.22736 0.22736 0.22736 0.240613 0.263333 0.280373 0.29552 +0.308773 0.342853 0.39208 0.462133 0.506947 0.524 0.551789 0.587789 +0.616842 0.637053 0.669263 0.699579 0.724842 0.760842 0.795579 0.830316 +0.868211 0.911158 0.940211 0.961684 0.982612 0.998286 1.01069 1.01886 +1.02571 1.03518 1.04563 1.05086 1.05641 1.07522 1.095 1.09348 +1.095 1.1026 1.10413 1.09956 1.095 1.07978 1.05935 1.05576 +1.05543 1.0489 1.04237 1.0378 1.03224 1.02571 1.0218 1.01624 +1.01004 1.00514 0.995673 0.987837 0.982939 0.972421 0.958526 0.944632 +0.934526 0.920632 0.904211 0.896 0.884632 0.868842 0.855579 0.840421 +0.824632 0.813895 0.809474 0.803789 0.797474 0.788 0.774737 0.769684 +0.770316 0.767789 0.761474 0.759579 0.755158 0.748211 0.748211 0.752 +0.753263 0.751368 0.746947 0.748211 0.750105 0.749474 0.748842 0.748211 +0.749474 0.757053 0.758316 0.757684 0.768421 0.776 0.777263 0.784842 +0.789895 0.797474 0.806316 0.813263 0.824632 0.836632 0.846105 0.857474 +0.868211 0.884632 0.899158 0.913684 0.930737 0.940211 0.948421 0.964211 +0.982286 0.992735 1.00122 1.0071 1.01396 1.02016 1.02637 1.03257 +1.03943 1.04498 1.04792 1.05216 1.0551 1.05935 1.07065 1.06913 +1.05967 1.06761 1.06761 1.05902 1.06304 1.06 1.05837 1.05412 +1.04759 1.04171 1.0329 1.02114 1.01004 1.00122 0.988816 0.965474 +0.938947 0.915579 0.884 0.854947 0.825895 0.790526 0.750105 0.720421 +0.688842 0.647158 0.615579 0.604842 0.587789 0.566316 0.544211 0.522105 +0.475387 0.407227 0.361787 0.3296 0.299307 0.2728 0.25576 0.248187 +0.23872 0.231147 0.22736 0.000986667 0.00094 0.000993333 0.22168 0.00096 +0.00092 0.000953333 0.000933333 0.0009 0.000906667 0.000893333 0.000913333 0.00092 +0.00092 0.000946667 0.00096 0.000973333 0.00098 0.000966667 0.000946667 0.000946667 +0.000966667 0.219787 0.000993333 0.216 0.22168 0.219787 0.219787 0.217893 +0.223573 0.219787 0.000993333 0.000993333 0.00098 0.216 0.225467 0.225467 +0.219787 0.22168 0.231147 0.229253 0.219787 0.22168 0.225467 0.22736 +0.229253 0.225467 0.223573 0.219787 0.22736 0.231147 0.231147 0.223573 +0.219787 0.22736 0.22736 0.225467 0.231147 0.217893 0.000986667 0.217893 +0.22168 0.22168 0.219787 0.216 0.00098 0.000993333 0.22168 0.223573 +0.22168 0.22168 0.000993333 0.000966667 0.000986667 0.000986667 0.217893 0.219787 +0.216 0.000986667 0.000986667 0.00098 0.00094 0.000973333 0.000986667 0.00098 +0.000966667 0.00094 0.00094 0.000953333 0.000973333 0.00098 0.000966667 0.000966667 +0.00098 0.219787 0.217893 0.216 0.00098 0.00098 0.000973333 0.000973333 +0.00098 0.00098 0.000993333 0.000993333 0.217893 0.223573 0.22736 0.22168 +0.22168 0.231147 0.242507 0.246293 0.251973 0.263333 0.28416 0.29552 +0.337173 0.441307 0.540421 0.642737 0.809474 0.982939 1.01429 0.945263 +0.771579 0.627579 0.539158 0.48864 0.47728 0.536 0.642737 0.789895 +0.933895 1.01102 1.04073 1.05053 1.04857 1.04335 1.04139 1.04171 +1.04433 1.04237 1.01004 0.839158 0.587789 0.33528 0.219787 0.000953333 +0.00094 0.000933333 0.00092 0.000913333 0.0009 0.000873333 0.000853333 0.000853333 +0.000833333 0.00082 0.000813333 0.000793333 0.000826667 0.000846667 0.000846667 0.00084 +0.000806667 0.000806667 0.000813333 0.000806667 0.000813333 0.000793333 0.000786667 0.000786667 +0.000766667 0.00076 0.000753333 0.00078 0.000813333 0.000793333 0.000793333 0.000833333 +0.000866667 0.000893333 0.0009 0.000953333 0.2444 0.428053 0.681263 0.955368 +1.04073 1.05184 1.04629 1.04041 1.03845 1.04367 1.04792 1.04727 +1.04041 1.01461 0.928842 0.771579 0.625684 0.535368 0.509474 0.537895 +0.620632 0.774105 0.950947 1.00122 0.934526 0.769684 0.620632 0.520842 +0.405333 0.337173 0.304987 0.276587 0.25576 0.25008 0.248187 0.248187 +0.229253 0.217893 0.223573 0.225467 0.231147 0.229253 0.225467 0.229253 +0.23304 0.223573 0.216 0.000993333 0.000966667 0.000926667 0.000946667 0.000966667 +0.000973333 0.000946667 0.000966667 0.000953333 0.00096 0.000993333 0.000993333 0.00098 +0.000973333 0.00096 0.000986667 0.217893 0.00098 0.00098 0.000966667 0.000973333 +0.000986667 0.000986667 0.216 0.217893 0.000993333 0.000966667 0.000946667 0.00096 +0.00096 0.000953333 0.000993333 0.00098 0.216 0.219787 0.216 0.000993333 +0.000973333 0.000986667 0.216 0.00098 0.00096 0.00096 0.000966667 0.000993333 +0.217893 0.217893 0.216 0.219787 0.216 0.000993333 0.22168 0.216 +0.000986667 0.216 0.000973333 0.00098 0.000986667 0.000993333 0.223573 0.219787 +0.000973333 0.000966667 0.000993333 0.000986667 0.22168 0.229253 0.229253 0.22736 +0.225467 0.219787 0.000986667 0.219787 0.22736 0.223573 0.000993333 0.219787 +0.219787 0.000993333 0.219787 0.229253 0.23304 0.223573 0.00098 0.000993333 +0.000953333 0.00094 0.000953333 0.00094 0.00094 0.00098 0.000953333 0.00094 +0.000953333 0.000953333 0.00094 0.000953333 0.000953333 0.00094 0.000946667 0.00096 +0.000966667 0.000953333 0.000973333 0.219787 0.000993333 0.000953333 0.00094 0.000953333 +0.000953333 0.000986667 0.22736 0.23304 0.23872 0.259547 0.280373 0.310667 +0.333387 0.34096 0.376933 0.4148 0.44888 0.503158 0.520842 0.541053 +0.573263 0.613684 0.645263 0.665474 0.690737 0.722316 0.755789 0.776632 +0.794316 0.829684 0.872 0.894105 0.915579 0.944 0.966105 0.982612 +0.991102 1.00188 1.00873 1.01429 1.02245 1.03159 1.03649 1.04433 +1.0502 1.0502 1.05576 1.06609 1.06609 1.06913 1.08587 1.09348 +1.10717 1.11478 1.11173 1.11173 1.11934 1.11478 1.10869 1.09956 +1.09652 1.07217 1.06304 1.07065 1.05869 1.0538 1.04988 1.04531 +1.04008 1.03812 1.0391 1.03747 1.03518 1.02996 1.02343 1.02147 +1.02376 1.02245 1.01984 1.01951 1.01657 1.01396 1.01461 1.01722 +1.01755 1.0169 1.01592 1.01624 1.01624 1.0169 1.01461 1.01233 +1.01396 1.01984 1.01984 1.02114 1.02506 1.02539 1.02702 1.03061 +1.03061 1.02996 1.03127 1.03388 1.0378 1.04008 1.04237 1.04367 +1.04563 1.04922 1.05314 1.05673 1.05771 1.05837 1.05902 1.06 +1.06304 1.07369 1.0813 1.07826 1.07065 1.05967 1.06913 1.06913 +1.05935 1.05673 1.04857 1.0391 1.03159 1.02865 1.02473 1.0169 +1.00841 1.00514 0.995673 0.980653 0.961684 0.944632 0.930737 0.910526 +0.879579 0.856842 0.832842 0.788632 0.747579 0.724211 0.695789 0.660421 +0.635789 0.620632 0.592842 0.565053 0.549263 0.530316 0.507579 0.469707 +0.422373 0.38072 0.350427 0.3296 0.31824 0.304987 0.287947 0.282267 +0.257653 0.2444 0.229253 0.00098 0.000946667 0.000926667 0.000953333 0.000986667 +0.000973333 0.000953333 0.00096 0.00096 0.000913333 0.000946667 0.000973333 0.00092 +0.0009 0.000926667 0.000933333 0.00094 0.000953333 0.000953333 0.000913333 0.0009 +0.0009 0.000893333 0.000926667 0.00098 0.22168 0.22168 0.00098 0.000953333 +0.000946667 0.00096 0.000986667 0.216 0.217893 0.216 0.00098 0.000973333 +0.000986667 0.000993333 0.00098 0.000986667 0.216 0.216 0.22168 0.22168 +0.219787 0.219787 0.225467 0.231147 0.225467 0.219787 0.000986667 0.219787 +0.219787 0.217893 0.223573 0.22168 0.223573 0.225467 0.219787 0.219787 +0.217893 0.219787 0.219787 0.217893 0.225467 0.000993333 0.00098 0.219787 +0.219787 0.22168 0.22168 0.217893 0.000993333 0.000993333 0.000993333 0.216 +0.22168 0.223573 0.216 0.000973333 0.000973333 0.000966667 0.217893 0.217893 +0.219787 0.217893 0.000986667 0.000966667 0.000953333 0.000966667 0.000986667 0.000973333 +0.000953333 0.00094 0.000946667 0.000966667 0.000973333 0.000973333 0.000966667 0.00096 +0.000966667 0.000993333 0.000986667 0.00098 0.000993333 0.219787 0.216 0.000993333 +0.00098 0.00096 0.00098 0.216 0.219787 0.229253 0.23304 0.234933 +0.234933 0.234933 0.246293 0.253867 0.263333 0.280373 0.304987 0.348533 +0.45456 0.549895 0.65979 0.823368 0.985551 1.01233 0.930105 0.752 +0.613684 0.532211 0.473493 0.479173 0.544842 0.652842 0.806316 0.958526 +1.02082 1.04367 1.05184 1.05086 1.04596 1.04041 1.04008 1.04367 +1.04824 1.04433 0.999918 0.799368 0.56 0.31824 0.22736 0.00098 +0.000926667 0.000913333 0.000906667 0.000886667 0.00086 0.000826667 0.000833333 0.000826667 +0.000813333 0.000806667 0.0008 0.000806667 0.000833333 0.000813333 0.000813333 0.00082 +0.00082 0.000846667 0.000833333 0.0008 0.000793333 0.0008 0.000793333 0.000773333 +0.00076 0.000753333 0.00074 0.000766667 0.00076 0.000773333 0.00082 0.000846667 +0.000846667 0.000866667 0.00092 0.000966667 0.23304 0.367467 0.631368 0.909895 +1.0329 1.05184 1.05249 1.04824 1.04073 1.03812 1.04073 1.04694 +1.04955 1.04335 1.01657 0.935789 0.779158 0.635158 0.540421 0.508842 +0.530316 0.613053 0.766526 0.942105 1.00482 0.955368 0.789263 0.634526 +0.532842 0.424267 0.344747 0.304987 0.27848 0.263333 0.263333 0.253867 +0.236827 0.23872 0.246293 0.242507 0.240613 0.23872 0.231147 0.225467 +0.225467 0.217893 0.217893 0.000986667 0.000953333 0.00094 0.000946667 0.000966667 +0.000973333 0.216 0.22736 0.22168 0.223573 0.223573 0.00098 0.000953333 +0.00094 0.000973333 0.216 0.000986667 0.000986667 0.000993333 0.000953333 0.000973333 +0.000986667 0.000993333 0.000986667 0.000966667 0.000966667 0.000953333 0.00094 0.000973333 +0.000973333 0.000973333 0.217893 0.219787 0.217893 0.216 0.216 0.00098 +0.000986667 0.217893 0.000973333 0.000966667 0.00098 0.000973333 0.217893 0.225467 +0.216 0.000986667 0.000993333 0.000993333 0.000986667 0.000986667 0.000986667 0.000973333 +0.000993333 0.219787 0.216 0.216 0.000986667 0.00098 0.000986667 0.000953333 +0.00098 0.217893 0.216 0.00098 0.00098 0.000986667 0.216 0.219787 +0.22168 0.22736 0.225467 0.22168 0.22168 0.219787 0.000986667 0.217893 +0.219787 0.22736 0.229253 0.225467 0.217893 0.216 0.217893 0.223573 +0.216 0.219787 0.216 0.000973333 0.217893 0.000973333 0.00096 0.00096 +0.000953333 0.00098 0.000973333 0.00098 0.000953333 0.000966667 0.000973333 0.000953333 +0.000953333 0.000966667 0.000986667 0.217893 0.000993333 0.00092 0.000953333 0.217893 +0.000986667 0.00098 0.000973333 0.000946667 0.00098 0.225467 0.219787 0.229253 +0.2444 0.23872 0.240613 0.248187 0.25008 0.257653 0.25576 0.26144 +0.293627 0.339067 0.37504 0.388293 0.429947 0.464027 0.509474 0.524 +0.530947 0.551158 0.583368 0.600421 0.616842 0.638316 0.662947 0.685053 +0.709053 0.731158 0.743158 0.754526 0.782316 0.812632 0.836632 0.869474 +0.890947 0.902316 0.927579 0.950316 0.959158 0.972421 0.984571 0.991429 +0.997633 1.00416 1.01396 1.02082 1.02604 1.03257 1.03682 1.0378 +1.04302 1.04596 1.05118 1.05478 1.0551 1.05543 1.05641 1.05771 +1.05771 1.05869 1.07826 1.07978 1.0813 1.07369 1.06456 1.07978 +1.09804 1.08739 1.08282 1.09348 1.08282 1.07978 1.07826 1.08587 +1.07826 1.07217 1.07522 1.07674 1.07978 1.08587 1.07674 1.06609 +1.07369 1.09043 1.08587 1.07978 1.07217 1.05967 1.05837 1.05869 +1.05543 1.0551 1.05412 1.05282 1.05216 1.05086 1.04727 1.044 +1.03878 1.03551 1.03486 1.03224 1.02604 1.02376 1.01984 1.01494 +1.00873 1.00188 0.996653 0.992082 0.985878 0.976211 0.972421 0.962947 +0.945263 0.928842 0.892211 0.854947 0.830947 0.818316 0.803789 0.781684 +0.762737 0.754526 0.734947 0.700211 0.668632 0.652842 0.639579 0.619368 +0.589053 0.573895 0.559368 0.528421 0.501263 0.467813 0.428053 0.38072 +0.361787 0.356107 0.325813 0.297413 0.286053 0.270907 0.263333 0.25576 +0.25008 0.251973 0.234933 0.225467 0.229253 0.231147 0.217893 0.000986667 +0.000986667 0.22168 0.00098 0.000933333 0.000886667 0.00092 0.000953333 0.000953333 +0.000946667 0.000913333 0.000926667 0.00094 0.00092 0.000933333 0.000986667 0.00098 +0.000973333 0.000966667 0.00096 0.00096 0.000953333 0.00096 0.00092 0.000926667 +0.000953333 0.00092 0.000946667 0.216 0.217893 0.217893 0.000986667 0.000986667 +0.000993333 0.000973333 0.000993333 0.000993333 0.000986667 0.000993333 0.00098 0.000993333 +0.219787 0.223573 0.217893 0.219787 0.22736 0.217893 0.216 0.225467 +0.229253 0.225467 0.22168 0.225467 0.223573 0.219787 0.217893 0.223573 +0.225467 0.223573 0.223573 0.225467 0.219787 0.22168 0.22168 0.22168 +0.219787 0.000986667 0.217893 0.217893 0.22168 0.217893 0.000993333 0.000986667 +0.000993333 0.225467 0.231147 0.22168 0.217893 0.00098 0.000986667 0.000986667 +0.000986667 0.216 0.217893 0.000993333 0.000993333 0.000986667 0.217893 0.219787 +0.217893 0.000993333 0.000986667 0.000973333 0.000966667 0.00096 0.00098 0.000993333 +0.000966667 0.000966667 0.000966667 0.000966667 0.00098 0.000986667 0.000986667 0.000966667 +0.000953333 0.000973333 0.00098 0.00096 0.000973333 0.216 0.22168 0.000993333 +0.219787 0.22168 0.22168 0.216 0.22168 0.229253 0.23304 0.240613 +0.2444 0.25008 0.263333 0.269013 0.286053 0.314453 0.36368 0.47728 +0.566316 0.682526 0.845474 0.991755 1.01167 0.92 0.74 0.603579 +0.526526 0.47728 0.486747 0.551158 0.663579 0.814526 0.962947 1.02376 +1.04661 1.05086 1.04792 1.04367 1.04041 1.04073 1.04367 1.04824 +1.05184 1.04073 0.976842 0.737474 0.522105 0.28984 0.22736 0.00098 +0.000933333 0.000906667 0.000866667 0.000846667 0.00084 0.000806667 0.000793333 0.000793333 +0.000773333 0.00078 0.0008 0.0008 0.000813333 0.000786667 0.000826667 0.000853333 +0.00084 0.00084 0.000833333 0.00082 0.000786667 0.000786667 0.000773333 0.000753333 +0.000766667 0.00076 0.00076 0.000766667 0.000746667 0.000753333 0.00076 0.000793333 +0.000813333 0.000853333 0.000906667 0.000953333 0.225467 0.320133 0.577684 0.846737 +1.02049 1.05445 1.05935 1.05608 1.04759 1.03812 1.03061 1.03192 +1.04041 1.04857 1.04531 1.01918 0.944632 0.788632 0.638316 0.541053 +0.507579 0.529684 0.605474 0.752632 0.936421 1.00808 0.975579 0.818316 +0.65979 0.546105 0.452667 0.356107 0.308773 0.286053 0.274693 0.265227 +0.251973 0.248187 0.251973 0.240613 0.236827 0.22736 0.219787 0.216 +0.216 0.000986667 0.000993333 0.000993333 0.00098 0.000986667 0.217893 0.219787 +0.223573 0.223573 0.231147 0.225467 0.217893 0.000986667 0.000966667 0.00096 +0.000973333 0.000986667 0.000986667 0.00098 0.00098 0.000966667 0.00096 0.00098 +0.000993333 0.000993333 0.000993333 0.000986667 0.000973333 0.000973333 0.00098 0.000966667 +0.000986667 0.216 0.217893 0.22168 0.00098 0.000986667 0.000986667 0.00096 +0.216 0.216 0.00098 0.216 0.225467 0.22168 0.225467 0.219787 +0.00098 0.000993333 0.000986667 0.216 0.217893 0.219787 0.22168 0.217893 +0.216 0.217893 0.22168 0.223573 0.219787 0.217893 0.000993333 0.000986667 +0.216 0.22168 0.22168 0.22168 0.22168 0.22168 0.223573 0.225467 +0.22736 0.234933 0.234933 0.223573 0.22736 0.223573 0.22736 0.223573 +0.234933 0.246293 0.23304 0.22168 0.216 0.216 0.22168 0.223573 +0.229253 0.231147 0.225467 0.23304 0.22736 0.000993333 0.22168 0.219787 +0.000993333 0.00098 0.000966667 0.000946667 0.000946667 0.000993333 0.000973333 0.000993333 +0.000986667 0.216 0.219787 0.000973333 0.00094 0.000953333 0.000993333 0.219787 +0.219787 0.217893 0.216 0.000973333 0.216 0.219787 0.217893 0.225467 +0.229253 0.219787 0.217893 0.231147 0.23304 0.22736 0.216 0.225467 +0.225467 0.234933 0.234933 0.236827 0.248187 0.25008 0.265227 0.28416 +0.282267 0.291733 0.314453 0.339067 0.35232 0.371253 0.39776 0.433733 +0.48296 0.504421 0.505053 0.506947 0.520842 0.533474 0.551158 0.579579 +0.596632 0.610526 0.631368 0.649053 0.661684 0.677474 0.692632 0.703368 +0.713474 0.733684 0.762105 0.776632 0.786105 0.808842 0.817053 0.820211 +0.839789 0.861895 0.880211 0.890316 0.894737 0.901053 0.911158 0.920632 +0.921263 0.929474 0.950316 0.960421 0.967368 0.968632 0.966737 0.983265 +0.992408 0.987184 0.983918 0.987837 0.985878 0.982612 0.975579 0.976211 +0.976211 0.973684 0.975579 0.976842 0.978737 0.983592 0.987837 0.991102 +0.992408 0.989469 0.982286 0.974947 0.977474 0.969263 0.955368 0.941474 +0.933263 0.939579 0.934526 0.92 0.914947 0.909263 0.897895 0.887158 +0.870105 0.854316 0.841684 0.823368 0.801263 0.793684 0.780421 0.770947 +0.758947 0.734947 0.719158 0.714737 0.705895 0.691368 0.679368 0.666105 +0.650947 0.631368 0.601684 0.574526 0.556842 0.550526 0.542316 0.527158 +0.513263 0.508842 0.502526 0.44888 0.40912 0.393973 0.373147 0.35232 +0.327707 0.30688 0.297413 0.276587 0.257653 0.23872 0.231147 0.225467 +0.225467 0.22736 0.225467 0.229253 0.22168 0.000986667 0.216 0.225467 +0.219787 0.22736 0.000993333 0.00096 0.223573 0.22168 0.000953333 0.000953333 +0.000986667 0.217893 0.000993333 0.000953333 0.000913333 0.00096 0.00096 0.000933333 +0.000933333 0.000893333 0.000933333 0.00098 0.000973333 0.000953333 0.219787 0.229253 +0.22168 0.216 0.000966667 0.000973333 0.000986667 0.217893 0.00098 0.00098 +0.217893 0.00098 0.00096 0.000993333 0.000993333 0.217893 0.225467 0.223573 +0.217893 0.000993333 0.000993333 0.216 0.219787 0.217893 0.22168 0.22736 +0.22736 0.231147 0.217893 0.223573 0.234933 0.231147 0.223573 0.225467 +0.225467 0.219787 0.22168 0.22736 0.229253 0.22736 0.225467 0.225467 +0.219787 0.22168 0.225467 0.231147 0.231147 0.225467 0.219787 0.225467 +0.219787 0.000966667 0.216 0.22168 0.219787 0.217893 0.217893 0.000986667 +0.00098 0.22168 0.22736 0.223573 0.223573 0.217893 0.22168 0.22168 +0.000993333 0.000966667 0.000993333 0.217893 0.219787 0.217893 0.219787 0.223573 +0.219787 0.217893 0.219787 0.216 0.00098 0.00096 0.000966667 0.22168 +0.219787 0.00098 0.000986667 0.216 0.000993333 0.000993333 0.217893 0.000986667 +0.000973333 0.000993333 0.217893 0.000993333 0.000986667 0.000993333 0.219787 0.216 +0.217893 0.223573 0.22736 0.223573 0.23304 0.236827 0.240613 0.25008 +0.251973 0.259547 0.274693 0.287947 0.314453 0.36936 0.49432 0.579579 +0.710316 0.879579 1.00253 1.01135 0.909263 0.728632 0.594737 0.520211 +0.46592 0.496213 0.556842 0.671158 0.827789 0.973684 1.02604 1.04563 +1.04792 1.0391 1.02506 1.0231 1.03224 1.04171 1.04792 1.05216 +1.05412 1.03518 0.926316 0.671789 0.46024 0.26144 0.22168 0.000966667 +0.000913333 0.000893333 0.000853333 0.000833333 0.000806667 0.0008 0.0008 0.0008 +0.000806667 0.000813333 0.00082 0.00084 0.000833333 0.000813333 0.000813333 0.000813333 +0.0008 0.000806667 0.000806667 0.0008 0.000786667 0.0008 0.000786667 0.000773333 +0.000746667 0.00074 0.00076 0.000753333 0.000753333 0.000733333 0.00076 0.00082 +0.000826667 0.000866667 0.000906667 0.000953333 0.219787 0.28416 0.531579 0.781684 +1.00449 1.05445 1.07065 1.06 1.05053 1.0329 1.00808 0.993714 +1.00873 1.03845 1.05314 1.0502 1.02506 0.948421 0.787368 0.635158 +0.536632 0.507579 0.525895 0.596632 0.743789 0.933895 1.01494 0.989469 +0.839158 0.680632 0.564421 0.475387 0.367467 0.314453 0.28416 0.282267 +0.269013 0.248187 0.248187 0.236827 0.22736 0.223573 0.217893 0.223573 +0.22736 0.223573 0.219787 0.223573 0.22736 0.223573 0.219787 0.217893 +0.223573 0.223573 0.229253 0.225467 0.219787 0.216 0.217893 0.217893 +0.000993333 0.217893 0.219787 0.000986667 0.00098 0.000986667 0.219787 0.22168 +0.217893 0.216 0.216 0.216 0.000986667 0.22168 0.225467 0.216 +0.217893 0.217893 0.216 0.219787 0.217893 0.217893 0.000986667 0.216 +0.229253 0.22168 0.219787 0.225467 0.225467 0.22168 0.217893 0.000986667 +0.219787 0.22168 0.22168 0.22736 0.223573 0.225467 0.22736 0.229253 +0.223573 0.223573 0.223573 0.229253 0.23304 0.229253 0.225467 0.22736 +0.231147 0.229253 0.22736 0.225467 0.22736 0.22736 0.23304 0.236827 +0.234933 0.23304 0.22736 0.225467 0.225467 0.234933 0.236827 0.236827 +0.236827 0.229253 0.217893 0.223573 0.225467 0.23304 0.23304 0.22736 +0.223573 0.225467 0.236827 0.248187 0.231147 0.22736 0.234933 0.231147 +0.22168 0.216 0.000993333 0.000993333 0.000993333 0.217893 0.000993333 0.000973333 +0.000966667 0.000993333 0.00098 0.00096 0.000946667 0.000973333 0.000993333 0.000966667 +0.000993333 0.219787 0.000973333 0.000973333 0.219787 0.223573 0.225467 0.225467 +0.219787 0.216 0.216 0.22168 0.22168 0.216 0.00098 0.223573 +0.22736 0.225467 0.223573 0.229253 0.229253 0.22168 0.231147 0.22736 +0.223573 0.225467 0.225467 0.23872 0.22736 0.229253 0.23304 0.242507 +0.263333 0.270907 0.274693 0.27848 0.291733 0.287947 0.3012 0.337173 +0.35232 0.365573 0.3864 0.39776 0.411013 0.433733 0.44888 0.46024 +0.4716 0.500632 0.518316 0.525263 0.528421 0.537263 0.537895 0.544211 +0.556842 0.572 0.585263 0.593474 0.596 0.597263 0.606105 0.613053 +0.611789 0.620632 0.640842 0.654737 0.667368 0.668 0.665474 0.693263 +0.721684 0.710947 0.701474 0.706526 0.697053 0.681263 0.663579 0.663579 +0.666737 0.667368 0.671789 0.674947 0.678737 0.691368 0.704 0.714105 +0.718526 0.706526 0.684421 0.675579 0.68 0.674316 0.662947 0.644632 +0.633895 0.642737 0.639579 0.625053 0.621895 0.618105 0.605474 0.597263 +0.587158 0.575789 0.564421 0.550526 0.534105 0.527158 0.519579 0.519579 +0.513895 0.501263 0.479173 0.47728 0.473493 0.446987 0.418587 0.399653 +0.3864 0.359893 0.342853 0.32392 0.310667 0.308773 0.3012 0.286053 +0.263333 0.257653 0.25576 0.246293 0.253867 0.246293 0.223573 0.223573 +0.23304 0.225467 0.225467 0.216 0.217893 0.00096 0.000973333 0.219787 +0.216 0.22168 0.229253 0.225467 0.22168 0.000993333 0.216 0.217893 +0.000966667 0.000966667 0.000973333 0.00096 0.22168 0.22168 0.000966667 0.000986667 +0.000993333 0.00098 0.00098 0.00096 0.000933333 0.00096 0.00096 0.000953333 +0.00096 0.00094 0.00098 0.22168 0.219787 0.000966667 0.216 0.229253 +0.225467 0.217893 0.00098 0.216 0.223573 0.223573 0.217893 0.000993333 +0.219787 0.219787 0.000986667 0.216 0.22168 0.223573 0.22736 0.223573 +0.219787 0.22168 0.22168 0.223573 0.22736 0.217893 0.225467 0.229253 +0.229253 0.22736 0.216 0.223573 0.234933 0.23872 0.22736 0.22736 +0.22736 0.225467 0.229253 0.23304 0.236827 0.231147 0.225467 0.219787 +0.223573 0.223573 0.22736 0.229253 0.236827 0.229253 0.22736 0.231147 +0.223573 0.000986667 0.00098 0.217893 0.217893 0.217893 0.219787 0.216 +0.216 0.216 0.22168 0.223573 0.225467 0.225467 0.22168 0.223573 +0.223573 0.216 0.216 0.219787 0.219787 0.217893 0.216 0.000986667 +0.216 0.219787 0.225467 0.22168 0.217893 0.000993333 0.00098 0.216 +0.217893 0.000986667 0.000993333 0.217893 0.216 0.22168 0.225467 0.217893 +0.000993333 0.22168 0.219787 0.219787 0.219787 0.219787 0.225467 0.223573 +0.225467 0.229253 0.23304 0.229253 0.23872 0.2444 0.248187 0.259547 +0.269013 0.280373 0.299307 0.320133 0.376933 0.503158 0.582737 0.718526 +0.899158 1.01135 1.01037 0.894737 0.716632 0.590947 0.519579 0.469707 +0.500632 0.563789 0.678737 0.829684 0.976211 1.028 1.04792 1.04694 +1.02473 0.985224 0.933895 0.950316 1.00057 1.03224 1.0489 1.05445 +1.0538 1.02114 0.862526 0.610526 0.376933 0.240613 0.00098 0.00094 +0.0009 0.000866667 0.000846667 0.000826667 0.000813333 0.000793333 0.000786667 0.000786667 +0.000806667 0.000826667 0.00084 0.000906667 0.000506667 0.000846667 0.000793333 0.000786667 +0.000806667 0.000786667 0.000773333 0.00078 0.000806667 0.00082 0.000793333 0.00078 +0.00074 0.000746667 0.00076 0.000766667 0.000786667 0.000793333 0.000826667 0.000826667 +0.00082 0.000833333 0.00086 0.0009 0.00094 0.2444 0.479173 0.719158 +0.982612 1.04792 1.06609 1.05673 1.03812 0.99698 0.908 0.843579 +0.875789 0.985551 1.0391 1.05869 1.05216 1.02147 0.940211 0.780421 +0.633263 0.542316 0.508211 0.522105 0.593474 0.737474 0.929474 1.01363 +0.99502 0.868211 0.709684 0.580842 0.5 0.365573 0.31256 0.29552 +0.276587 0.259547 0.248187 0.23872 0.242507 0.240613 0.236827 0.23872 +0.236827 0.23304 0.229253 0.23304 0.22736 0.223573 0.229253 0.234933 +0.234933 0.229253 0.23304 0.229253 0.217893 0.000993333 0.000986667 0.000973333 +0.217893 0.231147 0.229253 0.219787 0.216 0.22168 0.229253 0.223573 +0.219787 0.216 0.000993333 0.219787 0.223573 0.22736 0.225467 0.217893 +0.22168 0.000993333 0.000993333 0.223573 0.223573 0.217893 0.225467 0.231147 +0.229253 0.216 0.216 0.217893 0.225467 0.22736 0.219787 0.219787 +0.223573 0.22736 0.22168 0.22168 0.225467 0.223573 0.229253 0.234933 +0.23304 0.23304 0.23304 0.23304 0.225467 0.223573 0.22736 0.236827 +0.234933 0.23304 0.23304 0.225467 0.223573 0.229253 0.23304 0.23872 +0.23872 0.231147 0.223573 0.22168 0.229253 0.23872 0.234933 0.23304 +0.229253 0.22736 0.234933 0.234933 0.229253 0.236827 0.2444 0.23304 +0.223573 0.22736 0.236827 0.225467 0.000993333 0.229253 0.23304 0.219787 +0.000986667 0.00096 0.000986667 0.223573 0.223573 0.217893 0.216 0.00098 +0.000966667 0.000993333 0.216 0.00096 0.000966667 0.000986667 0.217893 0.216 +0.22168 0.216 0.00096 0.000993333 0.217893 0.217893 0.223573 0.22168 +0.22168 0.219787 0.219787 0.22168 0.000993333 0.00098 0.000973333 0.219787 +0.223573 0.219787 0.219787 0.22736 0.22168 0.000993333 0.219787 0.216 +0.000973333 0.217893 0.223573 0.229253 0.000993333 0.219787 0.217893 0.000986667 +0.217893 0.216 0.00098 0.219787 0.229253 0.217893 0.236827 0.257653 +0.25576 0.263333 0.26144 0.25576 0.26712 0.274693 0.265227 0.26712 +0.2728 0.263333 0.28416 0.29552 0.291733 0.293627 0.287947 0.304987 +0.30688 0.320133 0.331493 0.331493 0.33528 0.33528 0.337173 0.333387 +0.3296 0.350427 0.37504 0.395867 0.412907 0.401547 0.399653 0.452667 +0.501263 0.47728 0.456453 0.45456 0.433733 0.401547 0.376933 0.384507 +0.388293 0.3864 0.40344 0.418587 0.4148 0.433733 0.441307 0.452667 +0.4716 0.467813 0.433733 0.416693 0.4148 0.40912 0.418587 0.39208 +0.371253 0.38072 0.384507 0.371253 0.361787 0.358 0.34664 0.339067 +0.327707 0.32392 0.320133 0.304987 0.28984 0.280373 0.257653 0.259547 +0.251973 0.2444 0.242507 0.236827 0.2444 0.246293 0.236827 0.23304 +0.236827 0.23872 0.240613 0.240613 0.236827 0.2444 0.231147 0.231147 +0.223573 0.219787 0.217893 0.22736 0.225467 0.229253 0.000986667 0.000993333 +0.219787 0.223573 0.216 0.22168 0.217893 0.000966667 0.000993333 0.223573 +0.217893 0.22736 0.231147 0.22168 0.219787 0.223573 0.216 0.219787 +0.000973333 0.000973333 0.22168 0.000986667 0.000993333 0.000993333 0.000993333 0.217893 +0.000993333 0.000973333 0.000986667 0.000986667 0.000973333 0.00096 0.000933333 0.00096 +0.217893 0.229253 0.22736 0.219787 0.000993333 0.00096 0.00098 0.229253 +0.22736 0.216 0.216 0.219787 0.219787 0.216 0.219787 0.22168 +0.216 0.219787 0.000993333 0.00098 0.22168 0.000993333 0.219787 0.223573 +0.22168 0.229253 0.22736 0.223573 0.223573 0.219787 0.22168 0.225467 +0.225467 0.225467 0.225467 0.229253 0.229253 0.23304 0.22736 0.231147 +0.236827 0.23304 0.231147 0.23304 0.231147 0.23304 0.23304 0.225467 +0.223573 0.225467 0.225467 0.22736 0.231147 0.225467 0.225467 0.234933 +0.229253 0.223573 0.216 0.219787 0.223573 0.223573 0.217893 0.216 +0.216 0.000986667 0.217893 0.219787 0.223573 0.22736 0.219787 0.217893 +0.223573 0.223573 0.225467 0.225467 0.223573 0.217893 0.216 0.000986667 +0.000986667 0.000986667 0.219787 0.219787 0.223573 0.22168 0.217893 0.219787 +0.223573 0.223573 0.217893 0.000993333 0.000993333 0.22168 0.22736 0.229253 +0.22736 0.229253 0.22736 0.223573 0.223573 0.22168 0.225467 0.225467 +0.229253 0.23872 0.2444 0.246293 0.2444 0.248187 0.25008 0.26144 +0.286053 0.303093 0.331493 0.388293 0.508842 0.59979 0.733053 0.906105 +1.01331 1.00776 0.878947 0.700842 0.577684 0.512 0.46592 0.506947 +0.572 0.687579 0.838526 0.980327 1.02833 1.04922 1.04988 1.02408 +0.937684 0.786737 0.707158 0.746316 0.874526 0.995673 1.03812 1.05347 +1.05151 1.00416 0.801895 0.56 0.316347 0.22736 0.000953333 0.000886667 +0.000846667 0.000833333 0.00084 0.000846667 0.000853333 0.000846667 0.0008 0.0008 +0.000806667 0.000813333 0.000893333 0.000506667 0.000506667 0.00086 0.00086 0.00084 +0.00082 0.00078 0.000766667 0.000786667 0.000813333 0.0008 0.000786667 0.000806667 +0.0008 0.000813333 0.00082 0.000806667 0.000806667 0.000806667 0.000813333 0.000806667 +0.000826667 0.000806667 0.000826667 0.00088 0.00094 0.236827 0.4148 0.677474 +0.953474 1.04204 1.05673 1.04629 1.00253 0.864421 0.705895 0.619368 +0.647158 0.793684 0.984245 1.04531 1.05673 1.04694 1.01886 0.940211 +0.781684 0.636421 0.537895 0.506947 0.522105 0.589684 0.729895 0.919368 +1.01559 1.00678 0.890316 0.723579 0.590316 0.501263 0.365573 0.308773 +0.280373 0.26712 0.259547 0.259547 0.25576 0.253867 0.248187 0.242507 +0.2444 0.2444 0.23304 0.236827 0.23872 0.246293 0.248187 0.240613 +0.22736 0.217893 0.223573 0.000993333 0.000973333 0.000993333 0.000986667 0.216 +0.229253 0.23304 0.22168 0.000986667 0.217893 0.225467 0.22736 0.217893 +0.216 0.219787 0.219787 0.217893 0.217893 0.217893 0.216 0.217893 +0.217893 0.217893 0.223573 0.22168 0.217893 0.217893 0.22736 0.22168 +0.000993333 0.000986667 0.000986667 0.217893 0.22736 0.22736 0.223573 0.219787 +0.217893 0.216 0.216 0.22168 0.23304 0.22736 0.225467 0.231147 +0.225467 0.219787 0.234933 0.23304 0.22168 0.223573 0.229253 0.231147 +0.229253 0.231147 0.23304 0.22736 0.225467 0.231147 0.225467 0.229253 +0.236827 0.223573 0.22168 0.22736 0.229253 0.22736 0.22736 0.223573 +0.223573 0.23304 0.23872 0.23304 0.231147 0.246293 0.248187 0.240613 +0.23304 0.2444 0.23872 0.217893 0.219787 0.229253 0.223573 0.216 +0.216 0.216 0.223573 0.229253 0.223573 0.22168 0.22168 0.223573 +0.216 0.000986667 0.000966667 0.000946667 0.000953333 0.000993333 0.216 0.216 +0.22168 0.000953333 0.000953333 0.00098 0.000946667 0.000973333 0.216 0.000986667 +0.000966667 0.00098 0.219787 0.000993333 0.00098 0.00098 0.000973333 0.22168 +0.223573 0.216 0.216 0.225467 0.000986667 0.000993333 0.000993333 0.000993333 +0.000966667 0.223573 0.229253 0.229253 0.22168 0.219787 0.000986667 0.000973333 +0.217893 0.000986667 0.000953333 0.217893 0.000986667 0.00094 0.000993333 0.217893 +0.000986667 0.22168 0.000973333 0.000986667 0.23304 0.2444 0.236827 0.240613 +0.236827 0.231147 0.2444 0.23872 0.236827 0.22736 0.22736 0.23304 +0.23304 0.236827 0.23304 0.234933 0.2444 0.23872 0.231147 0.219787 +0.23304 0.246293 0.248187 0.2444 0.23872 0.225467 0.229253 0.246293 +0.259547 0.2444 0.236827 0.225467 0.225467 0.231147 0.242507 0.251973 +0.23872 0.242507 0.263333 0.263333 0.246293 0.25008 0.240613 0.2444 +0.253867 0.259547 0.25576 0.253867 0.242507 0.231147 0.246293 0.246293 +0.240613 0.236827 0.23872 0.253867 0.240613 0.240613 0.25576 0.25576 +0.242507 0.240613 0.251973 0.242507 0.23304 0.225467 0.000953333 0.000926667 +0.0009 0.000926667 0.000953333 0.00092 0.00096 0.217893 0.000966667 0.000966667 +0.000973333 0.216 0.216 0.000993333 0.217893 0.000993333 0.000986667 0.000986667 +0.00098 0.000973333 0.00098 0.000986667 0.00098 0.217893 0.216 0.000993333 +0.22168 0.217893 0.000986667 0.00098 0.219787 0.000986667 0.216 0.000986667 +0.000986667 0.219787 0.217893 0.216 0.216 0.000993333 0.000986667 0.000966667 +0.000946667 0.00096 0.223573 0.000993333 0.000933333 0.000966667 0.216 0.000986667 +0.00098 0.000966667 0.000993333 0.223573 0.217893 0.00098 0.000973333 0.000986667 +0.22168 0.234933 0.223573 0.00098 0.000993333 0.000986667 0.000986667 0.223573 +0.219787 0.216 0.219787 0.223573 0.223573 0.22168 0.225467 0.223573 +0.000986667 0.000993333 0.000986667 0.000966667 0.216 0.217893 0.225467 0.231147 +0.223573 0.223573 0.22736 0.22736 0.223573 0.223573 0.22168 0.223573 +0.223573 0.229253 0.234933 0.234933 0.22736 0.22736 0.22736 0.229253 +0.225467 0.223573 0.225467 0.225467 0.225467 0.23304 0.23304 0.223573 +0.219787 0.225467 0.223573 0.229253 0.229253 0.219787 0.219787 0.22736 +0.22736 0.219787 0.219787 0.225467 0.231147 0.225467 0.217893 0.000993333 +0.216 0.000993333 0.217893 0.219787 0.219787 0.223573 0.217893 0.217893 +0.216 0.219787 0.225467 0.229253 0.225467 0.219787 0.219787 0.223573 +0.000993333 0.000966667 0.216 0.22168 0.219787 0.216 0.217893 0.217893 +0.217893 0.223573 0.219787 0.219787 0.22168 0.22168 0.217893 0.225467 +0.23304 0.223573 0.223573 0.225467 0.22736 0.229253 0.229253 0.231147 +0.234933 0.2444 0.25008 0.257653 0.251973 0.25576 0.265227 0.2728 +0.299307 0.331493 0.393973 0.510737 0.600421 0.748211 0.926316 1.01755 +1.00514 0.865053 0.686947 0.569474 0.508211 0.462133 0.508842 0.578947 +0.699579 0.848 0.982612 1.02865 1.04922 1.05249 1.03584 0.966105 +0.761474 0.585895 0.517684 0.557474 0.693895 0.885895 1.01102 1.04629 +1.04694 0.993714 0.768421 0.534737 0.28416 0.00098 0.000933333 0.000893333 +0.00086 0.00086 0.000833333 0.000833333 0.000866667 0.000873333 0.00084 0.00084 +0.000833333 0.000853333 0.000946667 0.000506667 0.000506667 0.000506667 0.000873333 0.000833333 +0.000786667 0.000746667 0.000773333 0.000786667 0.000793333 0.000793333 0.000806667 0.000813333 +0.000806667 0.000826667 0.00084 0.00082 0.000813333 0.0008 0.0008 0.00082 +0.00082 0.000833333 0.0009 0.000946667 0.000973333 0.234933 0.393973 0.663579 +0.941474 1.03714 1.05053 1.02571 0.907368 0.698316 0.549263 0.446987 +0.481067 0.608632 0.830316 1.00645 1.04792 1.05314 1.04694 1.01918 +0.940211 0.788632 0.644 0.549895 0.510105 0.519579 0.583368 0.719789 +0.911789 1.01592 1.00971 0.904211 0.74 0.595368 0.5 0.36936 +0.314453 0.291733 0.286053 0.274693 0.26144 0.253867 0.253867 0.25008 +0.25008 0.248187 0.23872 0.242507 0.2444 0.242507 0.225467 0.217893 +0.22168 0.216 0.219787 0.219787 0.223573 0.229253 0.225467 0.22168 +0.223573 0.22168 0.217893 0.000986667 0.217893 0.223573 0.22168 0.000986667 +0.216 0.223573 0.000986667 0.000986667 0.219787 0.219787 0.000993333 0.216 +0.000993333 0.217893 0.216 0.000973333 0.000986667 0.219787 0.223573 0.219787 +0.219787 0.223573 0.22168 0.225467 0.223573 0.22168 0.22168 0.216 +0.000993333 0.223573 0.223573 0.22168 0.22736 0.223573 0.217893 0.219787 +0.217893 0.219787 0.229253 0.231147 0.22736 0.22736 0.22736 0.22168 +0.231147 0.229253 0.229253 0.223573 0.22736 0.23304 0.225467 0.229253 +0.22168 0.00098 0.219787 0.229253 0.223573 0.22168 0.223573 0.217893 +0.22168 0.223573 0.225467 0.231147 0.23872 0.2444 0.23304 0.22736 +0.234933 0.23872 0.229253 0.217893 0.225467 0.216 0.000986667 0.00098 +0.000986667 0.22168 0.223573 0.22168 0.217893 0.000993333 0.000993333 0.217893 +0.000986667 0.000953333 0.00094 0.000966667 0.00098 0.217893 0.000993333 0.217893 +0.000986667 0.000926667 0.00094 0.000953333 0.00094 0.000993333 0.000993333 0.00096 +0.000946667 0.000946667 0.00098 0.000966667 0.00096 0.000953333 0.00096 0.216 +0.000993333 0.000973333 0.000993333 0.000986667 0.000953333 0.000973333 0.000973333 0.000953333 +0.000953333 0.219787 0.223573 0.223573 0.216 0.216 0.00094 0.000966667 +0.216 0.000993333 0.000973333 0.22168 0.219787 0.000993333 0.225467 0.216 +0.000973333 0.00094 0.000913333 0.00096 0.00096 0.000966667 0.000993333 0.000993333 +0.216 0.22736 0.234933 0.231147 0.229253 0.22168 0.229253 0.23304 +0.217893 0.22168 0.219787 0.22168 0.223573 0.216 0.217893 0.00098 +0.216 0.219787 0.22168 0.000986667 0.000966667 0.00092 0.000933333 0.000973333 +0.000966667 0.000933333 0.00092 0.000913333 0.000973333 0.216 0.234933 0.234933 +0.22168 0.225467 0.236827 0.22736 0.223573 0.229253 0.000993333 0.216 +0.217893 0.231147 0.234933 0.234933 0.22736 0.000986667 0.22736 0.229253 +0.229253 0.223573 0.000993333 0.219787 0.229253 0.229253 0.223573 0.219787 +0.000966667 0.000953333 0.219787 0.000986667 0.000973333 0.000993333 0.000933333 0.000946667 +0.00098 0.000993333 0.217893 0.00098 0.000986667 0.000993333 0.000933333 0.000913333 +0.000933333 0.000946667 0.000973333 0.00096 0.000953333 0.00094 0.000966667 0.00098 +0.000966667 0.00098 0.000966667 0.000946667 0.000986667 0.216 0.000946667 0.000953333 +0.000986667 0.216 0.00096 0.000946667 0.000986667 0.216 0.00098 0.000966667 +0.00098 0.000953333 0.000953333 0.000966667 0.00096 0.00098 0.000993333 0.000946667 +0.00092 0.000946667 0.216 0.000953333 0.00092 0.00098 0.217893 0.000953333 +0.000953333 0.000926667 0.000966667 0.22736 0.223573 0.219787 0.219787 0.217893 +0.217893 0.219787 0.00098 0.000966667 0.216 0.219787 0.216 0.217893 +0.217893 0.22168 0.219787 0.216 0.217893 0.219787 0.223573 0.219787 +0.000993333 0.000993333 0.000993333 0.216 0.217893 0.22168 0.223573 0.223573 +0.219787 0.219787 0.22168 0.22168 0.223573 0.229253 0.22736 0.225467 +0.219787 0.223573 0.23304 0.236827 0.234933 0.22736 0.22736 0.22736 +0.22168 0.219787 0.223573 0.22736 0.223573 0.229253 0.229253 0.217893 +0.219787 0.219787 0.22168 0.22736 0.225467 0.223573 0.223573 0.225467 +0.22736 0.217893 0.216 0.217893 0.223573 0.225467 0.216 0.000986667 +0.216 0.000993333 0.000986667 0.217893 0.217893 0.217893 0.000993333 0.00098 +0.000986667 0.216 0.216 0.219787 0.219787 0.22168 0.22168 0.22168 +0.217893 0.000966667 0.00098 0.216 0.000986667 0.00098 0.217893 0.000993333 +0.000973333 0.22168 0.223573 0.219787 0.225467 0.225467 0.219787 0.22168 +0.23304 0.23304 0.22736 0.229253 0.229253 0.231147 0.23304 0.23304 +0.236827 0.251973 0.257653 0.257653 0.263333 0.274693 0.291733 0.299307 +0.3296 0.399653 0.515789 0.602316 0.746316 0.932632 1.02016 1.00122 +0.854316 0.678105 0.563789 0.505684 0.458347 0.512632 0.589053 0.710316 +0.858737 0.988163 1.03257 1.04955 1.05249 1.04596 1.00612 0.841053 +0.613684 0.42048 0.31824 0.399653 0.565053 0.760211 0.974947 1.03747 +1.04335 0.989143 0.757053 0.524 0.263333 0.000926667 0.00088 0.00088 +0.000866667 0.00088 0.000873333 0.00086 0.000866667 0.000866667 0.000853333 0.000853333 +0.000846667 0.0009 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000833333 +0.000786667 0.000786667 0.000826667 0.000813333 0.0008 0.000806667 0.000806667 0.000806667 +0.00078 0.000813333 0.00082 0.00082 0.000833333 0.000833333 0.000866667 0.00088 +0.00086 0.000906667 0.00096 0.000966667 0.000946667 0.223573 0.384507 0.65979 +0.935158 1.03192 1.04204 0.999265 0.805053 0.589053 0.445093 0.339067 +0.337173 0.513263 0.705895 0.937684 1.02571 1.04792 1.05249 1.04727 +1.02114 0.945895 0.793684 0.650316 0.549263 0.505053 0.517053 0.581474 +0.712842 0.901684 1.01298 1.01527 0.918737 0.745053 0.596632 0.506316 +0.38072 0.32392 0.3012 0.286053 0.27848 0.26144 0.259547 0.257653 +0.25008 0.246293 0.236827 0.236827 0.231147 0.225467 0.225467 0.229253 +0.231147 0.225467 0.229253 0.22736 0.22736 0.22736 0.225467 0.22168 +0.000993333 0.000993333 0.000986667 0.216 0.219787 0.219787 0.00098 0.000973333 +0.219787 0.22168 0.000986667 0.217893 0.223573 0.000993333 0.00096 0.000966667 +0.000973333 0.000986667 0.000993333 0.217893 0.216 0.000993333 0.22168 0.219787 +0.22168 0.219787 0.22168 0.231147 0.225467 0.22168 0.22168 0.000993333 +0.217893 0.225467 0.225467 0.223573 0.219787 0.217893 0.00098 0.000986667 +0.22168 0.223573 0.22736 0.223573 0.217893 0.217893 0.219787 0.225467 +0.229253 0.216 0.216 0.216 0.225467 0.231147 0.231147 0.231147 +0.217893 0.000993333 0.22736 0.22736 0.219787 0.22736 0.22168 0.22168 +0.22168 0.219787 0.22736 0.234933 0.23872 0.234933 0.219787 0.219787 +0.23304 0.229253 0.217893 0.219787 0.22736 0.219787 0.000993333 0.216 +0.217893 0.216 0.000993333 0.000993333 0.217893 0.000993333 0.000973333 0.00098 +0.00096 0.000933333 0.00094 0.000993333 0.216 0.216 0.000986667 0.00098 +0.000933333 0.000906667 0.000953333 0.000926667 0.000946667 0.00098 0.000953333 0.00094 +0.00094 0.000946667 0.000966667 0.00096 0.00092 0.000926667 0.000946667 0.00096 +0.00094 0.00094 0.000966667 0.000953333 0.000966667 0.000973333 0.000966667 0.000953333 +0.000986667 0.000986667 0.000993333 0.000973333 0.216 0.217893 0.00096 0.219787 +0.000993333 0.000966667 0.00096 0.216 0.000973333 0.00098 0.223573 0.219787 +0.219787 0.000986667 0.216 0.00098 0.000966667 0.000953333 0.000933333 0.00092 +0.000926667 0.00096 0.000973333 0.000973333 0.000986667 0.000953333 0.216 0.223573 +0.223573 0.22736 0.216 0.225467 0.231147 0.223573 0.000993333 0.000966667 +0.000993333 0.000993333 0.000966667 0.00092 0.00092 0.0009 0.000906667 0.000926667 +0.000926667 0.0009 0.000913333 0.000993333 0.22168 0.219787 0.231147 0.23304 +0.22736 0.22736 0.229253 0.000986667 0.00098 0.217893 0.219787 0.225467 +0.223573 0.234933 0.23872 0.240613 0.229253 0.000986667 0.223573 0.217893 +0.219787 0.000993333 0.00092 0.00092 0.000973333 0.217893 0.000966667 0.000966667 +0.000966667 0.00096 0.000986667 0.219787 0.219787 0.223573 0.219787 0.000986667 +0.217893 0.225467 0.217893 0.000993333 0.219787 0.000973333 0.000913333 0.000886667 +0.0009 0.00092 0.000926667 0.000926667 0.000926667 0.000926667 0.000953333 0.000953333 +0.000993333 0.000946667 0.00094 0.00094 0.000986667 0.000993333 0.000946667 0.000933333 +0.00094 0.000973333 0.000966667 0.000933333 0.000973333 0.000966667 0.00096 0.000953333 +0.00098 0.000933333 0.000953333 0.000946667 0.000906667 0.000946667 0.00096 0.000926667 +0.00094 0.00098 0.000973333 0.00094 0.000953333 0.000993333 0.000966667 0.00092 +0.000933333 0.00094 0.000993333 0.22736 0.217893 0.00098 0.00098 0.216 +0.217893 0.000986667 0.000986667 0.000986667 0.217893 0.216 0.216 0.216 +0.225467 0.23304 0.22168 0.000986667 0.000986667 0.219787 0.217893 0.217893 +0.217893 0.000986667 0.000993333 0.22168 0.219787 0.223573 0.219787 0.217893 +0.223573 0.22168 0.22736 0.22168 0.22168 0.225467 0.231147 0.22168 +0.000993333 0.223573 0.231147 0.229253 0.22736 0.22168 0.22736 0.229253 +0.225467 0.219787 0.219787 0.223573 0.217893 0.216 0.223573 0.22736 +0.22736 0.223573 0.216 0.22168 0.22168 0.223573 0.22168 0.22168 +0.223573 0.22168 0.000993333 0.000993333 0.216 0.000993333 0.217893 0.22168 +0.219787 0.217893 0.000973333 0.000966667 0.000986667 0.217893 0.000993333 0.00098 +0.000993333 0.217893 0.000993333 0.00098 0.000993333 0.219787 0.000993333 0.216 +0.217893 0.000993333 0.000973333 0.000986667 0.000986667 0.000986667 0.000993333 0.000986667 +0.000966667 0.000986667 0.217893 0.216 0.22168 0.223573 0.22168 0.219787 +0.22736 0.23872 0.23304 0.229253 0.23304 0.234933 0.240613 0.23872 +0.242507 0.25008 0.253867 0.26144 0.274693 0.28416 0.310667 0.34096 +0.412907 0.525263 0.615579 0.756421 0.934526 1.01788 0.994367 0.834105 +0.660421 0.556211 0.502526 0.46024 0.512 0.592211 0.719789 0.868842 +0.991102 1.0329 1.04955 1.05282 1.04596 1.02408 0.945895 0.732421 +0.531579 0.322027 0.282267 0.322027 0.505684 0.688842 0.930105 1.02931 +1.03878 0.986857 0.757684 0.524632 0.263333 0.00094 0.000873333 0.000853333 +0.000826667 0.000846667 0.00088 0.00088 0.000873333 0.000873333 0.000866667 0.000853333 +0.000933333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00082 0.000826667 0.000826667 0.000806667 0.00082 0.000806667 0.000813333 0.000813333 +0.0008 0.000813333 0.000806667 0.00082 0.000846667 0.00088 0.000893333 0.000866667 +0.000866667 0.000893333 0.000913333 0.000933333 0.00098 0.2444 0.399653 0.657895 +0.931368 1.03159 1.03714 0.987837 0.769684 0.549263 0.373147 0.31824 +0.320133 0.43184 0.625684 0.845474 0.989469 1.02767 1.04629 1.05282 +1.04727 1.01951 0.945263 0.798737 0.654105 0.552421 0.508842 0.513895 +0.572632 0.698316 0.886526 1.01004 1.01429 0.919368 0.747579 0.606105 +0.513895 0.39776 0.327707 0.291733 0.28416 0.274693 0.259547 0.246293 +0.248187 0.25008 0.240613 0.240613 0.236827 0.236827 0.22736 0.223573 +0.225467 0.223573 0.225467 0.217893 0.219787 0.223573 0.225467 0.219787 +0.000973333 0.000973333 0.216 0.216 0.216 0.000986667 0.000986667 0.000993333 +0.219787 0.219787 0.217893 0.000993333 0.000973333 0.000946667 0.00096 0.000986667 +0.216 0.219787 0.22168 0.22168 0.219787 0.223573 0.223573 0.219787 +0.22168 0.22168 0.225467 0.22736 0.219787 0.000993333 0.216 0.000986667 +0.216 0.217893 0.22168 0.225467 0.22168 0.22168 0.216 0.217893 +0.219787 0.000986667 0.000973333 0.000993333 0.000993333 0.000986667 0.217893 0.223573 +0.217893 0.000986667 0.216 0.219787 0.219787 0.225467 0.234933 0.217893 +0.000966667 0.225467 0.23872 0.216 0.217893 0.22736 0.225467 0.223573 +0.219787 0.225467 0.231147 0.23304 0.231147 0.216 0.000966667 0.219787 +0.229253 0.216 0.216 0.225467 0.223573 0.225467 0.22736 0.219787 +0.000986667 0.000973333 0.00096 0.000973333 0.000986667 0.000986667 0.00098 0.00096 +0.00094 0.000933333 0.000933333 0.000973333 0.000986667 0.217893 0.000986667 0.000946667 +0.000906667 0.000933333 0.00096 0.00094 0.00096 0.00098 0.000946667 0.00094 +0.00094 0.000966667 0.00098 0.00092 0.000913333 0.00094 0.000953333 0.00094 +0.00092 0.00094 0.00096 0.00096 0.217893 0.000993333 0.000966667 0.00098 +0.22168 0.000966667 0.000973333 0.216 0.231147 0.00098 0.000966667 0.00096 +0.00094 0.00094 0.000953333 0.00096 0.000946667 0.000953333 0.000986667 0.217893 +0.000993333 0.217893 0.217893 0.000986667 0.223573 0.000986667 0.00094 0.000926667 +0.000953333 0.000946667 0.00092 0.000933333 0.000913333 0.000833333 0.000906667 0.000953333 +0.00094 0.000953333 0.000926667 0.000986667 0.223573 0.216 0.000953333 0.000946667 +0.000966667 0.000966667 0.000926667 0.0009 0.00094 0.000913333 0.00092 0.000946667 +0.000946667 0.000946667 0.000973333 0.216 0.000993333 0.00098 0.23304 0.234933 +0.225467 0.223573 0.229253 0.000986667 0.216 0.223573 0.223573 0.216 +0.223573 0.231147 0.219787 0.216 0.00094 0.000926667 0.00096 0.000926667 +0.000913333 0.000913333 0.00092 0.00094 0.00096 0.216 0.22736 0.223573 +0.000993333 0.223573 0.223573 0.225467 0.223573 0.216 0.219787 0.219787 +0.217893 0.223573 0.000993333 0.00098 0.223573 0.000986667 0.000953333 0.000933333 +0.00092 0.00092 0.000906667 0.000873333 0.000913333 0.000913333 0.00094 0.000926667 +0.000946667 0.00092 0.000933333 0.000946667 0.000946667 0.000966667 0.000973333 0.00094 +0.000946667 0.000933333 0.000926667 0.000926667 0.000973333 0.000946667 0.000946667 0.00096 +0.000973333 0.000953333 0.00098 0.00096 0.000933333 0.000946667 0.00094 0.000913333 +0.000946667 0.000973333 0.000933333 0.000953333 0.219787 0.000986667 0.000966667 0.000946667 +0.000926667 0.00092 0.000986667 0.219787 0.217893 0.00096 0.00096 0.217893 +0.219787 0.00096 0.000993333 0.217893 0.219787 0.22168 0.216 0.000973333 +0.216 0.219787 0.216 0.000986667 0.000993333 0.22736 0.219787 0.000993333 +0.217893 0.00098 0.000973333 0.216 0.216 0.22168 0.223573 0.217893 +0.219787 0.22168 0.229253 0.225467 0.219787 0.22168 0.22736 0.216 +0.000993333 0.231147 0.234933 0.223573 0.217893 0.217893 0.22736 0.225467 +0.223573 0.217893 0.223573 0.223573 0.22168 0.219787 0.216 0.223573 +0.225467 0.223573 0.219787 0.22168 0.225467 0.22168 0.22168 0.219787 +0.217893 0.22168 0.217893 0.000986667 0.00098 0.000986667 0.000986667 0.000986667 +0.217893 0.219787 0.216 0.000966667 0.000986667 0.217893 0.216 0.000986667 +0.000973333 0.000973333 0.00098 0.000993333 0.000993333 0.217893 0.217893 0.216 +0.216 0.217893 0.000973333 0.00098 0.217893 0.217893 0.216 0.219787 +0.00098 0.000966667 0.000993333 0.219787 0.216 0.217893 0.216 0.219787 +0.223573 0.23304 0.231147 0.225467 0.229253 0.23872 0.2444 0.240613 +0.251973 0.263333 0.263333 0.276587 0.287947 0.297413 0.333387 0.411013 +0.530316 0.635789 0.784211 0.953474 1.0182 0.988163 0.820211 0.649684 +0.542947 0.484853 0.458347 0.516421 0.594105 0.722947 0.877053 0.994367 +1.03584 1.0502 1.04759 1.03682 1.01233 0.956 0.814526 0.627579 +0.450773 0.30688 0.303093 0.342853 0.519579 0.705895 0.938316 1.02735 +1.03388 0.976211 0.739368 0.515789 0.25576 0.000933333 0.00088 0.000866667 +0.000886667 0.000886667 0.00088 0.000873333 0.00086 0.000846667 0.000833333 0.0009 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000846667 0.000773333 0.0008 0.00082 0.0008 0.00082 0.0008 +0.000806667 0.000806667 0.0008 0.00082 0.00082 0.00086 0.000846667 0.000826667 +0.00088 0.000913333 0.000953333 0.000986667 0.216 0.240613 0.382613 0.634526 +0.900421 1.02441 1.03714 0.998612 0.813895 0.589684 0.43184 0.342853 +0.320133 0.350427 0.538526 0.709053 0.863158 0.969895 1.01527 1.04237 +1.05478 1.0502 1.02278 0.950947 0.796211 0.652211 0.549263 0.498107 +0.506316 0.56 0.681895 0.865053 1.00057 1.01298 0.925684 0.760842 +0.621263 0.524632 0.399653 0.31824 0.28984 0.27848 0.26712 0.251973 +0.2444 0.248187 0.240613 0.23304 0.234933 0.236827 0.22736 0.223573 +0.22736 0.219787 0.216 0.219787 0.219787 0.22736 0.22168 0.00096 +0.000953333 0.000993333 0.223573 0.22168 0.000993333 0.216 0.22168 0.219787 +0.000993333 0.216 0.000993333 0.000986667 0.00096 0.00096 0.000993333 0.22168 +0.22168 0.217893 0.217893 0.22168 0.223573 0.225467 0.219787 0.216 +0.219787 0.229253 0.225467 0.00098 0.00096 0.000966667 0.000986667 0.00098 +0.000993333 0.00098 0.000993333 0.216 0.217893 0.22736 0.219787 0.219787 +0.219787 0.000986667 0.00098 0.000993333 0.216 0.000986667 0.219787 0.22168 +0.000993333 0.000993333 0.225467 0.225467 0.219787 0.225467 0.225467 0.000993333 +0.216 0.234933 0.231147 0.216 0.219787 0.22168 0.229253 0.22168 +0.223573 0.225467 0.223573 0.225467 0.22168 0.000986667 0.216 0.22736 +0.216 0.000953333 0.000986667 0.217893 0.000986667 0.216 0.219787 0.000993333 +0.219787 0.225467 0.22168 0.000993333 0.000973333 0.000986667 0.219787 0.000986667 +0.000966667 0.00096 0.000993333 0.000973333 0.216 0.217893 0.000966667 0.000953333 +0.000946667 0.000993333 0.000966667 0.000946667 0.00096 0.000953333 0.000953333 0.000926667 +0.000926667 0.00096 0.000953333 0.000893333 0.000906667 0.00094 0.000926667 0.00092 +0.000893333 0.000946667 0.00096 0.000953333 0.000986667 0.000966667 0.00092 0.00094 +0.000966667 0.000953333 0.000946667 0.219787 0.219787 0.000946667 0.000966667 0.00094 +0.000933333 0.00094 0.000973333 0.000946667 0.00096 0.000953333 0.219787 0.223573 +0.000993333 0.219787 0.000986667 0.00098 0.216 0.000966667 0.000933333 0.00094 +0.000966667 0.000973333 0.000966667 0.000966667 0.000906667 0.000873333 0.000953333 0.000913333 +0.00088 0.000886667 0.00086 0.000893333 0.000906667 0.0009 0.000866667 0.00086 +0.000893333 0.00092 0.0009 0.000906667 0.000933333 0.000926667 0.00098 0.219787 +0.22168 0.225467 0.000986667 0.000993333 0.000993333 0.217893 0.225467 0.22168 +0.000993333 0.216 0.216 0.000953333 0.000953333 0.00094 0.000906667 0.000893333 +0.00094 0.000933333 0.000926667 0.000973333 0.000913333 0.000913333 0.000973333 0.00094 +0.00094 0.00096 0.217893 0.000986667 0.000993333 0.219787 0.22736 0.22168 +0.000993333 0.217893 0.219787 0.00098 0.00098 0.00098 0.00098 0.000993333 +0.216 0.225467 0.000993333 0.000953333 0.22168 0.00098 0.000986667 0.000973333 +0.000986667 0.000993333 0.00096 0.000913333 0.000913333 0.00094 0.000926667 0.000926667 +0.000913333 0.000886667 0.000926667 0.000913333 0.000913333 0.000926667 0.00094 0.000906667 +0.000913333 0.000873333 0.000873333 0.0009 0.000946667 0.000933333 0.000926667 0.000933333 +0.00094 0.000953333 0.000946667 0.00096 0.000946667 0.00094 0.00096 0.000946667 +0.00094 0.000933333 0.000906667 0.000986667 0.217893 0.000973333 0.00096 0.00096 +0.000946667 0.000953333 0.000966667 0.000986667 0.000993333 0.000973333 0.000953333 0.219787 +0.000993333 0.000973333 0.22168 0.217893 0.00098 0.000993333 0.000966667 0.000946667 +0.000966667 0.000973333 0.216 0.000993333 0.000993333 0.22736 0.22736 0.22168 +0.22168 0.000986667 0.000973333 0.00098 0.217893 0.22168 0.225467 0.223573 +0.219787 0.22736 0.225467 0.225467 0.223573 0.217893 0.219787 0.216 +0.216 0.225467 0.23304 0.225467 0.217893 0.223573 0.225467 0.22168 +0.225467 0.22168 0.217893 0.219787 0.22168 0.229253 0.219787 0.219787 +0.22168 0.22168 0.223573 0.223573 0.229253 0.217893 0.000986667 0.217893 +0.219787 0.229253 0.219787 0.000973333 0.00098 0.216 0.000993333 0.00098 +0.00098 0.000993333 0.216 0.000986667 0.217893 0.217893 0.217893 0.00098 +0.000966667 0.000966667 0.000973333 0.000986667 0.00098 0.000986667 0.217893 0.000986667 +0.00098 0.000986667 0.00096 0.000986667 0.217893 0.216 0.217893 0.22168 +0.216 0.000993333 0.219787 0.22168 0.216 0.22168 0.217893 0.219787 +0.223573 0.225467 0.231147 0.22736 0.229253 0.240613 0.25008 0.242507 +0.248187 0.26144 0.2728 0.287947 0.314453 0.348533 0.4148 0.524632 +0.632632 0.798737 0.974316 1.02082 0.981633 0.803158 0.637053 0.537895 +0.475387 0.452667 0.520211 0.601053 0.723579 0.874526 0.996327 1.03584 +1.0489 1.04531 1.02016 0.973684 0.873895 0.761474 0.638316 0.522105 +0.378827 0.36936 0.412907 0.509474 0.618737 0.808211 0.98751 1.03486 +1.02735 0.930737 0.684421 0.456453 0.22736 0.000906667 0.0009 0.000906667 +0.000906667 0.000913333 0.000893333 0.00088 0.000873333 0.00084 0.0009 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000813333 0.00082 0.000813333 0.000806667 0.000833333 0.000806667 +0.00082 0.00082 0.000806667 0.000793333 0.000793333 0.000826667 0.000826667 0.000846667 +0.00092 0.000946667 0.00098 0.00098 0.000966667 0.22736 0.333387 0.584632 +0.830947 1.00547 1.04073 1.0231 0.920632 0.722316 0.576421 0.506947 +0.435627 0.36368 0.382613 0.542947 0.661053 0.774737 0.887789 0.992082 +1.03878 1.0538 1.04694 1.01886 0.941474 0.788 0.641474 0.539158 +0.49432 0.506316 0.553053 0.664842 0.848 0.998286 1.01429 0.934526 +0.772211 0.626316 0.524632 0.399653 0.32392 0.287947 0.269013 0.253867 +0.240613 0.240613 0.23872 0.23872 0.240613 0.2444 0.23304 0.22736 +0.223573 0.216 0.219787 0.223573 0.223573 0.229253 0.216 0.000953333 +0.000966667 0.216 0.22168 0.219787 0.000993333 0.219787 0.22168 0.219787 +0.000993333 0.000973333 0.000973333 0.00098 0.000966667 0.000993333 0.219787 0.217893 +0.000993333 0.216 0.22168 0.219787 0.22168 0.000986667 0.000986667 0.216 +0.223573 0.225467 0.000993333 0.00096 0.00098 0.000986667 0.216 0.216 +0.000973333 0.000986667 0.000993333 0.217893 0.219787 0.217893 0.000986667 0.00098 +0.000973333 0.000973333 0.216 0.217893 0.22168 0.223573 0.223573 0.217893 +0.000973333 0.216 0.225467 0.231147 0.22736 0.225467 0.22736 0.223573 +0.225467 0.231147 0.22168 0.229253 0.225467 0.22736 0.225467 0.000993333 +0.216 0.216 0.00098 0.000986667 0.217893 0.223573 0.22736 0.219787 +0.000986667 0.217893 0.000993333 0.000993333 0.216 0.216 0.00098 0.216 +0.22168 0.229253 0.225467 0.216 0.000966667 0.000966667 0.000993333 0.000973333 +0.000953333 0.000966667 0.000986667 0.000966667 0.00098 0.00098 0.00096 0.000953333 +0.000953333 0.000973333 0.00094 0.000946667 0.000946667 0.00094 0.000926667 0.000913333 +0.000913333 0.00096 0.000906667 0.000886667 0.000913333 0.00094 0.000933333 0.0009 +0.000913333 0.00096 0.000946667 0.000933333 0.000933333 0.000933333 0.0009 0.000933333 +0.00096 0.000966667 0.000946667 0.00098 0.00096 0.000946667 0.000953333 0.00096 +0.00094 0.000946667 0.00094 0.00096 0.00094 0.000953333 0.22168 0.00098 +0.000966667 0.219787 0.000973333 0.000986667 0.000966667 0.000953333 0.00094 0.00094 +0.00096 0.000973333 0.00098 0.00098 0.000946667 0.00094 0.00098 0.000933333 +0.00096 0.000913333 0.000873333 0.000893333 0.000833333 0.000813333 0.000793333 0.000793333 +0.00084 0.000866667 0.00086 0.000886667 0.000913333 0.000946667 0.219787 0.225467 +0.217893 0.216 0.000953333 0.000986667 0.216 0.000953333 0.000953333 0.000966667 +0.000953333 0.000946667 0.000913333 0.000893333 0.000913333 0.0009 0.00088 0.000906667 +0.00096 0.00094 0.00096 0.219787 0.000946667 0.00096 0.00098 0.000926667 +0.000966667 0.22168 0.225467 0.00098 0.000986667 0.216 0.217893 0.000986667 +0.216 0.219787 0.219787 0.000986667 0.000946667 0.000986667 0.000986667 0.00098 +0.219787 0.22168 0.000986667 0.00094 0.216 0.00098 0.216 0.216 +0.000966667 0.225467 0.000986667 0.000966667 0.000953333 0.000933333 0.000913333 0.000866667 +0.000893333 0.000873333 0.000886667 0.0009 0.000913333 0.00092 0.000906667 0.0009 +0.00088 0.000866667 0.000906667 0.0009 0.000926667 0.000933333 0.0009 0.000893333 +0.00092 0.000906667 0.0009 0.000933333 0.00092 0.000893333 0.00094 0.00096 +0.00092 0.0009 0.00096 0.216 0.00098 0.000926667 0.000933333 0.000946667 +0.000933333 0.000946667 0.000973333 0.00098 0.000986667 0.000966667 0.000966667 0.216 +0.000993333 0.000993333 0.225467 0.219787 0.000966667 0.000966667 0.000953333 0.00096 +0.000973333 0.000973333 0.000973333 0.216 0.000993333 0.000993333 0.225467 0.225467 +0.219787 0.217893 0.00098 0.00096 0.217893 0.219787 0.223573 0.223573 +0.223573 0.22736 0.22736 0.229253 0.223573 0.219787 0.216 0.22168 +0.225467 0.22736 0.229253 0.223573 0.216 0.223573 0.219787 0.219787 +0.225467 0.22168 0.217893 0.22168 0.223573 0.22736 0.22168 0.219787 +0.22168 0.225467 0.229253 0.225467 0.223573 0.219787 0.217893 0.00098 +0.216 0.22736 0.223573 0.216 0.000993333 0.217893 0.216 0.216 +0.000973333 0.000966667 0.217893 0.217893 0.217893 0.216 0.216 0.000993333 +0.00098 0.000986667 0.000986667 0.000986667 0.000966667 0.000966667 0.000986667 0.000993333 +0.000973333 0.00098 0.000973333 0.00098 0.000993333 0.219787 0.219787 0.217893 +0.000993333 0.216 0.217893 0.216 0.217893 0.223573 0.22168 0.22168 +0.225467 0.22736 0.231147 0.236827 0.236827 0.246293 0.26144 0.257653 +0.259547 0.26712 0.280373 0.304987 0.350427 0.435627 0.530947 0.632 +0.796211 0.978105 1.02082 0.972421 0.789895 0.625684 0.529684 0.462133 +0.44888 0.515789 0.600421 0.730526 0.880211 0.995673 1.03616 1.05053 +1.04531 1.00939 0.904842 0.760211 0.646526 0.561895 0.48296 0.40912 +0.510737 0.569474 0.614947 0.679368 0.798105 0.947158 1.02147 1.03714 +1.00253 0.840421 0.604842 0.35232 0.00098 0.000913333 0.000926667 0.00092 +0.00088 0.000886667 0.0009 0.00088 0.000846667 0.0009 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000873333 0.000833333 0.0008 0.000813333 0.00082 0.000826667 +0.00082 0.000793333 0.000793333 0.000806667 0.000806667 0.000806667 0.000813333 0.000826667 +0.000866667 0.000886667 0.000946667 0.000973333 0.216 0.223573 0.274693 0.520842 +0.726737 0.946526 1.02767 1.04041 1.00971 0.916842 0.791789 0.704 +0.642737 0.556211 0.3864 0.342853 0.479173 0.555579 0.649053 0.795579 +0.968632 1.03453 1.05282 1.04661 1.0182 0.937053 0.775368 0.630737 +0.539158 0.500632 0.502526 0.549263 0.669263 0.856842 1.00024 1.01494 +0.936421 0.772211 0.623789 0.518316 0.39208 0.316347 0.276587 0.263333 +0.257653 0.251973 0.248187 0.25008 0.248187 0.234933 0.225467 0.22168 +0.217893 0.217893 0.223573 0.229253 0.231147 0.229253 0.000993333 0.00098 +0.219787 0.223573 0.219787 0.223573 0.22168 0.000986667 0.000993333 0.000993333 +0.000986667 0.000993333 0.000993333 0.000973333 0.000993333 0.225467 0.225467 0.216 +0.000993333 0.217893 0.216 0.000993333 0.000993333 0.000993333 0.219787 0.219787 +0.217893 0.000993333 0.000946667 0.000953333 0.216 0.216 0.000993333 0.000973333 +0.00098 0.217893 0.223573 0.223573 0.217893 0.217893 0.217893 0.00098 +0.00096 0.000986667 0.217893 0.217893 0.225467 0.219787 0.000986667 0.217893 +0.223573 0.229253 0.229253 0.231147 0.219787 0.000993333 0.219787 0.219787 +0.219787 0.217893 0.223573 0.23304 0.22168 0.22168 0.216 0.00098 +0.000973333 0.00098 0.000973333 0.000993333 0.219787 0.217893 0.000993333 0.00096 +0.216 0.217893 0.00098 0.00098 0.219787 0.000966667 0.00096 0.000986667 +0.216 0.223573 0.219787 0.000973333 0.00096 0.000986667 0.00098 0.000966667 +0.00092 0.00094 0.00096 0.000973333 0.000986667 0.000973333 0.00096 0.000946667 +0.000953333 0.000926667 0.000906667 0.000933333 0.000953333 0.000933333 0.000906667 0.0009 +0.00096 0.000953333 0.0009 0.000926667 0.000966667 0.000953333 0.00092 0.00088 +0.000933333 0.00098 0.00094 0.00094 0.000913333 0.000913333 0.000926667 0.00096 +0.00096 0.000953333 0.000926667 0.000933333 0.000926667 0.000953333 0.00096 0.000966667 +0.000946667 0.000913333 0.000946667 0.000966667 0.000906667 0.000966667 0.22168 0.000953333 +0.00098 0.219787 0.00096 0.00098 0.000953333 0.00094 0.00094 0.00096 +0.216 0.000973333 0.000966667 0.000973333 0.00092 0.000926667 0.000966667 0.000946667 +0.216 0.000926667 0.000893333 0.000893333 0.00086 0.00084 0.000846667 0.000866667 +0.000906667 0.0009 0.000873333 0.00092 0.00092 0.000913333 0.000966667 0.000926667 +0.000893333 0.0009 0.000873333 0.000893333 0.000886667 0.000873333 0.000906667 0.000946667 +0.00096 0.000933333 0.0009 0.00092 0.00094 0.00092 0.000926667 0.000953333 +0.000993333 0.000986667 0.000986667 0.219787 0.000933333 0.000933333 0.000966667 0.00094 +0.000966667 0.219787 0.217893 0.000966667 0.000973333 0.000973333 0.000986667 0.000966667 +0.000966667 0.000993333 0.216 0.000993333 0.00096 0.000966667 0.00098 0.00096 +0.22168 0.219787 0.00098 0.00098 0.219787 0.22168 0.217893 0.000986667 +0.00096 0.217893 0.000973333 0.000953333 0.00098 0.000986667 0.00094 0.00092 +0.000933333 0.000886667 0.00086 0.000873333 0.000893333 0.000886667 0.0009 0.0009 +0.000886667 0.0009 0.0009 0.000893333 0.00094 0.00096 0.000926667 0.000913333 +0.000913333 0.000906667 0.000893333 0.00094 0.000886667 0.000873333 0.00094 0.00096 +0.0009 0.00092 0.000986667 0.000986667 0.000966667 0.000926667 0.000933333 0.00098 +0.000926667 0.00092 0.000946667 0.000993333 0.000986667 0.000986667 0.00098 0.000973333 +0.000966667 0.00096 0.000993333 0.217893 0.000966667 0.000953333 0.000973333 0.00098 +0.000953333 0.00096 0.00098 0.216 0.216 0.00098 0.22168 0.223573 +0.22168 0.22168 0.000993333 0.00096 0.217893 0.00098 0.000993333 0.223573 +0.22168 0.000993333 0.217893 0.225467 0.22168 0.217893 0.000973333 0.219787 +0.23304 0.23304 0.225467 0.219787 0.000986667 0.000993333 0.217893 0.217893 +0.223573 0.22168 0.217893 0.223573 0.223573 0.219787 0.223573 0.216 +0.000986667 0.217893 0.231147 0.22736 0.000993333 0.217893 0.22168 0.000986667 +0.000993333 0.225467 0.219787 0.000993333 0.000993333 0.219787 0.22168 0.219787 +0.217893 0.000986667 0.216 0.219787 0.217893 0.216 0.000993333 0.216 +0.22168 0.000993333 0.216 0.219787 0.216 0.00098 0.000986667 0.000993333 +0.216 0.000986667 0.000993333 0.000986667 0.00098 0.216 0.219787 0.217893 +0.216 0.223573 0.225467 0.219787 0.216 0.217893 0.22168 0.223573 +0.225467 0.22736 0.231147 0.23872 0.2444 0.246293 0.25576 0.265227 +0.270907 0.282267 0.304987 0.348533 0.445093 0.544211 0.647789 0.803789 +0.974316 1.01559 0.955368 0.772211 0.614947 0.524 0.46024 0.452667 +0.511368 0.587158 0.719789 0.880211 0.99698 1.03584 1.04988 1.04531 +1.01037 0.884632 0.697053 0.556842 0.452667 0.342853 0.327707 0.512632 +0.655368 0.778526 0.848632 0.907368 0.982939 1.02114 1.03747 1.01527 +0.913053 0.707789 0.518316 0.270907 0.000966667 0.00092 0.00092 0.000913333 +0.00088 0.000866667 0.000866667 0.000873333 0.000913333 0.000946667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00084 0.000826667 0.000826667 0.000786667 0.000793333 +0.0008 0.00078 0.0008 0.000806667 0.000793333 0.0008 0.000833333 0.00086 +0.0009 0.000933333 0.000973333 0.00098 0.00098 0.00096 0.225467 0.365573 +0.592842 0.8 0.978737 1.02865 1.03943 1.02278 0.99502 0.956 +0.884632 0.737474 0.546737 0.32392 0.282267 0.337173 0.467813 0.590947 +0.772211 0.969895 1.0391 1.05576 1.04727 1.01657 0.925684 0.761474 +0.62 0.532211 0.48864 0.502526 0.555579 0.674316 0.848632 0.995673 +1.01331 0.942105 0.772211 0.618105 0.517684 0.390187 0.316347 0.28984 +0.274693 0.265227 0.257653 0.251973 0.248187 0.23872 0.229253 0.229253 +0.23304 0.229253 0.23304 0.23304 0.22736 0.22736 0.217893 0.219787 +0.22736 0.23304 0.225467 0.22168 0.219787 0.000986667 0.000973333 0.000986667 +0.219787 0.223573 0.219787 0.22168 0.219787 0.216 0.216 0.216 +0.217893 0.22168 0.217893 0.216 0.216 0.216 0.22168 0.216 +0.000993333 0.216 0.00098 0.000986667 0.216 0.216 0.00098 0.000966667 +0.00098 0.217893 0.223573 0.219787 0.000993333 0.217893 0.217893 0.000966667 +0.216 0.219787 0.216 0.000993333 0.217893 0.000986667 0.000986667 0.225467 +0.23304 0.225467 0.229253 0.223573 0.000986667 0.216 0.219787 0.22168 +0.22168 0.219787 0.22736 0.223573 0.216 0.000973333 0.000973333 0.000986667 +0.216 0.217893 0.00098 0.000986667 0.225467 0.223573 0.00098 0.000966667 +0.217893 0.00098 0.00096 0.000966667 0.000973333 0.000953333 0.000973333 0.219787 +0.217893 0.217893 0.000986667 0.000953333 0.00094 0.00098 0.00096 0.000953333 +0.00092 0.000926667 0.000973333 0.216 0.000986667 0.000973333 0.00096 0.000946667 +0.000966667 0.000906667 0.000926667 0.00096 0.00094 0.000906667 0.00088 0.000933333 +0.000966667 0.000946667 0.00092 0.000966667 0.000986667 0.000926667 0.000873333 0.0009 +0.00094 0.00096 0.000933333 0.00092 0.000913333 0.000893333 0.00094 0.00096 +0.000933333 0.000913333 0.000893333 0.000913333 0.000926667 0.000926667 0.00096 0.000946667 +0.000946667 0.00094 0.00098 0.000933333 0.00092 0.000973333 0.217893 0.00096 +0.00098 0.000986667 0.00094 0.000933333 0.0009 0.00092 0.00094 0.000986667 +0.000993333 0.00092 0.000933333 0.000953333 0.000933333 0.00094 0.000926667 0.000953333 +0.00098 0.0009 0.000886667 0.000866667 0.00088 0.000906667 0.000886667 0.000913333 +0.000973333 0.00094 0.000893333 0.0009 0.000886667 0.00088 0.000893333 0.00084 +0.000826667 0.000873333 0.00084 0.000853333 0.000846667 0.00086 0.000913333 0.000933333 +0.000953333 0.000953333 0.00094 0.000946667 0.00096 0.000953333 0.000973333 0.00098 +0.000993333 0.000986667 0.000986667 0.000993333 0.000913333 0.000933333 0.000966667 0.000993333 +0.000986667 0.000973333 0.000966667 0.00094 0.000926667 0.000933333 0.00094 0.000966667 +0.000973333 0.000966667 0.000973333 0.000966667 0.000966667 0.000953333 0.000966667 0.000973333 +0.000993333 0.216 0.000986667 0.000986667 0.231147 0.223573 0.00098 0.000933333 +0.00094 0.000966667 0.000966667 0.00094 0.000986667 0.000993333 0.00098 0.00094 +0.00096 0.000893333 0.000906667 0.000893333 0.00086 0.00086 0.000866667 0.000873333 +0.00086 0.000913333 0.00088 0.000886667 0.000926667 0.00094 0.00094 0.00092 +0.000913333 0.0009 0.000913333 0.000933333 0.000893333 0.0009 0.000953333 0.000926667 +0.000893333 0.00094 0.00098 0.00096 0.000973333 0.000946667 0.000973333 0.216 +0.00094 0.000906667 0.000953333 0.00098 0.000966667 0.000966667 0.00094 0.000926667 +0.000966667 0.00094 0.000966667 0.00098 0.000946667 0.000953333 0.000973333 0.000973333 +0.00094 0.000973333 0.000993333 0.217893 0.216 0.000986667 0.217893 0.217893 +0.217893 0.217893 0.000993333 0.000993333 0.219787 0.000993333 0.00098 0.219787 +0.219787 0.00098 0.000973333 0.000993333 0.22168 0.219787 0.00098 0.216 +0.225467 0.219787 0.000993333 0.216 0.217893 0.00098 0.000986667 0.216 +0.00098 0.000993333 0.219787 0.22168 0.219787 0.000993333 0.219787 0.216 +0.000966667 0.000986667 0.229253 0.22736 0.217893 0.000993333 0.00098 0.000973333 +0.000986667 0.22168 0.219787 0.000986667 0.00098 0.000986667 0.216 0.217893 +0.216 0.219787 0.000993333 0.216 0.22168 0.216 0.00098 0.00098 +0.000993333 0.217893 0.217893 0.22168 0.225467 0.22168 0.000986667 0.00098 +0.000993333 0.000993333 0.216 0.216 0.000993333 0.000993333 0.216 0.219787 +0.219787 0.22168 0.223573 0.223573 0.225467 0.216 0.219787 0.229253 +0.22736 0.229253 0.240613 0.2444 0.248187 0.251973 0.257653 0.26712 +0.286053 0.304987 0.350427 0.450773 0.551789 0.667368 0.827158 0.98 +1.00612 0.930105 0.752632 0.602316 0.515789 0.445093 0.4432 0.508211 +0.578947 0.707158 0.870105 0.996327 1.03682 1.05053 1.04596 1.00906 +0.885263 0.691368 0.532842 0.35232 0.274693 0.248187 0.34664 0.582105 +0.791158 0.950947 1.00057 1.01592 1.02865 1.02898 1.00449 0.917474 +0.746316 0.565684 0.33528 0.000986667 0.00094 0.000946667 0.00094 0.000906667 +0.000873333 0.000853333 0.00086 0.000873333 0.00092 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000853333 0.000793333 0.00076 0.00078 +0.000786667 0.000786667 0.000786667 0.000793333 0.00082 0.00084 0.000853333 0.00088 +0.000913333 0.00092 0.000893333 0.000886667 0.0009 0.000893333 0.000946667 0.248187 +0.435627 0.621895 0.801895 0.952842 1.01298 1.03159 1.03127 1.02245 +0.994041 0.853684 0.627579 0.416693 0.276587 0.274693 0.297413 0.424267 +0.594737 0.786105 0.98 1.04106 1.05543 1.04498 1.01167 0.912421 +0.745684 0.605474 0.522737 0.473493 0.496213 0.549895 0.663579 0.839789 +0.994694 1.01722 0.946526 0.769684 0.616211 0.517053 0.395867 0.331493 +0.29552 0.27848 0.269013 0.263333 0.257653 0.251973 0.23872 0.23872 +0.240613 0.23304 0.23304 0.234933 0.234933 0.231147 0.231147 0.225467 +0.22168 0.22736 0.217893 0.22168 0.223573 0.216 0.219787 0.223573 +0.219787 0.000973333 0.000986667 0.22168 0.219787 0.216 0.217893 0.217893 +0.219787 0.225467 0.22168 0.223573 0.216 0.000993333 0.216 0.217893 +0.000993333 0.000993333 0.22168 0.216 0.000986667 0.000986667 0.00098 0.00098 +0.217893 0.217893 0.217893 0.000986667 0.000993333 0.217893 0.000973333 0.00096 +0.000993333 0.000993333 0.216 0.216 0.22168 0.22736 0.225467 0.22736 +0.225467 0.223573 0.22736 0.22736 0.225467 0.219787 0.217893 0.223573 +0.22168 0.216 0.216 0.216 0.219787 0.000993333 0.216 0.219787 +0.217893 0.000993333 0.000986667 0.000993333 0.223573 0.216 0.00096 0.00098 +0.000986667 0.000966667 0.00096 0.000953333 0.000953333 0.000953333 0.000973333 0.000993333 +0.000993333 0.000946667 0.000926667 0.00092 0.000946667 0.00096 0.00094 0.000933333 +0.000926667 0.00096 0.216 0.000993333 0.000953333 0.000946667 0.000946667 0.00094 +0.00092 0.000926667 0.00096 0.00098 0.00094 0.0009 0.0009 0.00094 +0.000933333 0.00092 0.000926667 0.000986667 0.000986667 0.000906667 0.000866667 0.000933333 +0.00096 0.00092 0.000933333 0.0009 0.000926667 0.0009 0.000946667 0.000933333 +0.000926667 0.000906667 0.0009 0.00096 0.00092 0.000946667 0.00094 0.000946667 +0.000933333 0.000973333 0.000973333 0.000926667 0.00094 0.000993333 0.217893 0.000933333 +0.000973333 0.000946667 0.000913333 0.000933333 0.000913333 0.000933333 0.000973333 0.219787 +0.000966667 0.0009 0.00092 0.000933333 0.000893333 0.000913333 0.000913333 0.000933333 +0.000913333 0.000846667 0.000886667 0.000886667 0.000873333 0.000906667 0.000893333 0.000893333 +0.000946667 0.000893333 0.000866667 0.000893333 0.0009 0.000893333 0.000893333 0.000866667 +0.0009 0.000913333 0.00086 0.000873333 0.000893333 0.000886667 0.000913333 0.000926667 +0.000933333 0.00092 0.000913333 0.000933333 0.000933333 0.000926667 0.000953333 0.00098 +0.219787 0.000993333 0.217893 0.217893 0.000926667 0.00096 0.216 0.000986667 +0.000973333 0.000973333 0.000966667 0.000946667 0.000953333 0.000946667 0.000966667 0.00096 +0.000973333 0.00098 0.000973333 0.000966667 0.000973333 0.000966667 0.00096 0.000973333 +0.000966667 0.00096 0.000953333 0.00092 0.219787 0.000986667 0.00098 0.000933333 +0.000933333 0.00096 0.000966667 0.00094 0.00094 0.00096 0.000986667 0.000966667 +0.00094 0.00092 0.000933333 0.000926667 0.0009 0.000906667 0.0009 0.000866667 +0.000886667 0.000853333 0.000866667 0.000893333 0.000913333 0.000913333 0.00092 0.000913333 +0.0009 0.000906667 0.000926667 0.000946667 0.00092 0.000906667 0.000906667 0.000893333 +0.000886667 0.00094 0.000933333 0.00092 0.000933333 0.000946667 0.000973333 0.000986667 +0.000946667 0.00094 0.00096 0.000946667 0.000953333 0.000966667 0.000933333 0.00094 +0.00098 0.000966667 0.00098 0.00098 0.000966667 0.000966667 0.000966667 0.000946667 +0.00094 0.00096 0.00098 0.000986667 0.216 0.00098 0.00098 0.000993333 +0.216 0.00098 0.000966667 0.000986667 0.000966667 0.00098 0.00098 0.217893 +0.219787 0.216 0.000973333 0.00098 0.219787 0.216 0.000993333 0.216 +0.225467 0.223573 0.216 0.219787 0.217893 0.000986667 0.000993333 0.000993333 +0.000966667 0.00098 0.217893 0.22168 0.217893 0.216 0.217893 0.216 +0.000973333 0.000973333 0.219787 0.223573 0.216 0.000986667 0.00098 0.000986667 +0.216 0.217893 0.217893 0.000993333 0.00098 0.000986667 0.000993333 0.219787 +0.216 0.217893 0.000986667 0.000986667 0.22168 0.216 0.00098 0.000986667 +0.000986667 0.219787 0.219787 0.216 0.223573 0.223573 0.216 0.00098 +0.216 0.217893 0.00098 0.000973333 0.000986667 0.217893 0.217893 0.219787 +0.217893 0.219787 0.216 0.217893 0.229253 0.22168 0.219787 0.23304 +0.23872 0.242507 0.251973 0.253867 0.25576 0.269013 0.2728 0.286053 +0.320133 0.359893 0.46592 0.561263 0.681263 0.845474 0.986857 1.00318 +0.904842 0.731158 0.590947 0.512632 0.439413 0.445093 0.510105 0.578947 +0.704632 0.866947 0.995347 1.03682 1.05118 1.04661 1.01298 0.889053 +0.694526 0.537263 0.35232 0.265227 0.2444 0.240613 0.358 0.587158 +0.793053 0.948421 0.996653 1.00351 0.996 0.957263 0.853053 0.715368 +0.567579 0.361787 0.00098 0.00088 0.00088 0.000913333 0.00094 0.000926667 +0.000886667 0.000846667 0.000846667 0.000906667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000806667 0.00078 0.000786667 +0.000793333 0.0008 0.000793333 0.0008 0.00082 0.000806667 0.000793333 0.000833333 +0.00086 0.00088 0.000853333 0.00088 0.0009 0.00086 0.00092 0.000973333 +0.25576 0.428053 0.587158 0.727368 0.850526 0.937684 0.976842 0.973053 +0.924421 0.794316 0.606737 0.422373 0.286053 0.25576 0.246293 0.28416 +0.45456 0.607368 0.798105 0.985224 1.04139 1.05412 1.04498 1.01004 +0.900421 0.731158 0.596 0.518947 0.475387 0.501895 0.549263 0.657263 +0.838526 0.994694 1.0169 0.941474 0.770316 0.614316 0.516421 0.40912 +0.342853 0.303093 0.276587 0.26712 0.263333 0.257653 0.246293 0.242507 +0.236827 0.234933 0.236827 0.23304 0.229253 0.231147 0.231147 0.22168 +0.216 0.219787 0.219787 0.22736 0.223573 0.216 0.217893 0.216 +0.00098 0.000966667 0.217893 0.22736 0.219787 0.22168 0.217893 0.000993333 +0.219787 0.223573 0.231147 0.225467 0.000993333 0.000966667 0.000986667 0.219787 +0.216 0.00098 0.000986667 0.000966667 0.000986667 0.217893 0.000986667 0.217893 +0.219787 0.217893 0.216 0.000986667 0.216 0.216 0.000973333 0.000966667 +0.000986667 0.217893 0.22168 0.219787 0.225467 0.22736 0.217893 0.216 +0.22168 0.22736 0.223573 0.225467 0.22168 0.00096 0.000973333 0.223573 +0.223573 0.000986667 0.000986667 0.22168 0.225467 0.216 0.217893 0.219787 +0.217893 0.000993333 0.219787 0.223573 0.216 0.000973333 0.000993333 0.217893 +0.000993333 0.216 0.000993333 0.000993333 0.00098 0.216 0.000986667 0.000966667 +0.00098 0.00094 0.000933333 0.000953333 0.00096 0.000926667 0.000946667 0.000926667 +0.000933333 0.000973333 0.22168 0.216 0.00096 0.000946667 0.000953333 0.000953333 +0.00092 0.000953333 0.00096 0.00094 0.00092 0.000893333 0.000953333 0.000946667 +0.000926667 0.00092 0.000893333 0.000966667 0.00094 0.000906667 0.000933333 0.000966667 +0.000973333 0.00092 0.000906667 0.000913333 0.0009 0.00094 0.000913333 0.00092 +0.00092 0.000926667 0.000946667 0.000953333 0.000933333 0.00094 0.000913333 0.000913333 +0.000893333 0.000973333 0.000953333 0.000913333 0.000926667 0.000986667 0.00096 0.000926667 +0.000973333 0.000926667 0.000946667 0.00096 0.000926667 0.000953333 0.000986667 0.000993333 +0.00094 0.00092 0.000906667 0.000853333 0.000833333 0.000886667 0.000893333 0.0009 +0.00086 0.00082 0.000893333 0.000913333 0.0009 0.000913333 0.0009 0.00092 +0.000913333 0.00088 0.000913333 0.00094 0.000906667 0.000913333 0.000946667 0.000946667 +0.000966667 0.000933333 0.00086 0.0009 0.000933333 0.000913333 0.00092 0.00092 +0.000913333 0.000893333 0.000893333 0.000926667 0.000913333 0.000913333 0.000933333 0.000946667 +0.000973333 0.000966667 0.000973333 0.000973333 0.000906667 0.00094 0.000966667 0.000966667 +0.00096 0.000973333 0.000966667 0.00094 0.00094 0.000946667 0.00098 0.00098 +0.00098 0.000993333 0.00098 0.000966667 0.00098 0.00098 0.000973333 0.00094 +0.00094 0.00092 0.000926667 0.000926667 0.000973333 0.000986667 0.000986667 0.000946667 +0.0009 0.000973333 0.000973333 0.000973333 0.000913333 0.000926667 0.000966667 0.00098 +0.000926667 0.000906667 0.00092 0.000966667 0.000953333 0.000966667 0.00094 0.000953333 +0.000933333 0.000886667 0.000873333 0.00088 0.000866667 0.000886667 0.000913333 0.000913333 +0.00092 0.000906667 0.0009 0.000913333 0.000926667 0.000893333 0.000913333 0.000933333 +0.000933333 0.000913333 0.000893333 0.000913333 0.00094 0.00092 0.000933333 0.00094 +0.000966667 0.000953333 0.000946667 0.000953333 0.00098 0.000966667 0.00094 0.00096 +0.00098 0.00098 0.00098 0.000986667 0.000973333 0.000966667 0.00096 0.000946667 +0.000946667 0.000953333 0.000953333 0.000986667 0.217893 0.000993333 0.000993333 0.217893 +0.22168 0.000986667 0.000966667 0.000973333 0.000926667 0.00094 0.00098 0.000993333 +0.217893 0.22168 0.000993333 0.216 0.216 0.000986667 0.00098 0.00098 +0.219787 0.22736 0.22736 0.225467 0.000993333 0.000986667 0.000986667 0.000993333 +0.000986667 0.000973333 0.000993333 0.217893 0.22168 0.216 0.216 0.216 +0.000986667 0.00098 0.217893 0.217893 0.216 0.216 0.216 0.216 +0.217893 0.219787 0.216 0.000993333 0.00098 0.00098 0.00098 0.216 +0.22168 0.219787 0.216 0.216 0.219787 0.216 0.000993333 0.216 +0.00098 0.00098 0.216 0.217893 0.219787 0.219787 0.216 0.216 +0.217893 0.217893 0.00098 0.00096 0.000973333 0.217893 0.216 0.217893 +0.216 0.219787 0.22168 0.219787 0.23304 0.234933 0.229253 0.234933 +0.242507 0.246293 0.253867 0.259547 0.26144 0.280373 0.297413 0.31824 +0.373147 0.484853 0.568842 0.692 0.863158 0.99502 1.00514 0.898526 +0.724211 0.590947 0.509474 0.43752 0.445093 0.509474 0.580211 0.710316 +0.875158 0.998612 1.03812 1.05086 1.04727 1.01233 0.891579 0.697684 +0.537895 0.350427 0.263333 0.25008 0.2444 0.240613 0.308773 0.517684 +0.651579 0.765263 0.823368 0.832211 0.798737 0.731158 0.630105 0.524632 +0.3296 0.000946667 0.000826667 0.00084 0.000866667 0.00088 0.000893333 0.000906667 +0.00088 0.000846667 0.000906667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000826667 0.0008 +0.0008 0.00078 0.000773333 0.00078 0.000786667 0.00078 0.000793333 0.00084 +0.00086 0.00088 0.000893333 0.0009 0.000893333 0.000866667 0.000893333 0.000893333 +0.000913333 0.00098 0.327707 0.514526 0.594105 0.669895 0.719158 0.726105 +0.686947 0.606105 0.507579 0.325813 0.270907 0.251973 0.242507 0.25008 +0.3012 0.473493 0.622526 0.813263 0.98849 1.04367 1.05478 1.04204 +1.00547 0.896 0.731158 0.596632 0.520842 0.484853 0.496213 0.542947 +0.653474 0.832211 0.990776 1.01559 0.946526 0.765895 0.609263 0.516421 +0.40912 0.33528 0.291733 0.282267 0.270907 0.257653 0.253867 0.251973 +0.240613 0.236827 0.23304 0.225467 0.229253 0.236827 0.229253 0.219787 +0.219787 0.229253 0.229253 0.219787 0.217893 0.216 0.000986667 0.00098 +0.00098 0.22168 0.229253 0.217893 0.000973333 0.000986667 0.000993333 0.216 +0.219787 0.219787 0.225467 0.217893 0.216 0.000993333 0.000993333 0.219787 +0.216 0.22168 0.216 0.000993333 0.219787 0.217893 0.000993333 0.216 +0.00098 0.000986667 0.217893 0.000986667 0.00098 0.000973333 0.000993333 0.216 +0.217893 0.223573 0.219787 0.217893 0.000993333 0.000986667 0.216 0.223573 +0.225467 0.219787 0.00098 0.216 0.000986667 0.000966667 0.216 0.225467 +0.22168 0.216 0.216 0.217893 0.219787 0.216 0.219787 0.219787 +0.216 0.000993333 0.216 0.000993333 0.000973333 0.00098 0.217893 0.000993333 +0.216 0.219787 0.216 0.000993333 0.000973333 0.000993333 0.000966667 0.000966667 +0.00096 0.000946667 0.000973333 0.000986667 0.00094 0.000913333 0.000953333 0.000946667 +0.000946667 0.000986667 0.219787 0.000993333 0.000946667 0.000933333 0.000953333 0.00096 +0.00096 0.00096 0.000926667 0.00092 0.000926667 0.000953333 0.00096 0.000946667 +0.000946667 0.000926667 0.0009 0.00092 0.00088 0.000873333 0.000933333 0.000933333 +0.00092 0.000933333 0.00092 0.000926667 0.00092 0.00092 0.000893333 0.000906667 +0.00092 0.000933333 0.00096 0.000926667 0.000913333 0.0009 0.000873333 0.00086 +0.000913333 0.000953333 0.000926667 0.000906667 0.00092 0.00096 0.000933333 0.000926667 +0.000953333 0.000933333 0.00098 0.00094 0.00094 0.000953333 0.00094 0.000933333 +0.000906667 0.000866667 0.000846667 0.000806667 0.000813333 0.000846667 0.000873333 0.0009 +0.000873333 0.000846667 0.0009 0.000933333 0.000906667 0.000886667 0.0009 0.00094 +0.000953333 0.000913333 0.00094 0.000926667 0.000913333 0.00096 0.000973333 0.000966667 +0.00098 0.00094 0.000886667 0.000913333 0.000926667 0.000913333 0.000926667 0.00092 +0.000933333 0.000953333 0.00094 0.00094 0.00092 0.00092 0.000933333 0.000926667 +0.000953333 0.000933333 0.000946667 0.000973333 0.0009 0.000893333 0.000926667 0.000913333 +0.00092 0.00096 0.00096 0.000926667 0.000926667 0.00096 0.000973333 0.000986667 +0.217893 0.000993333 0.000973333 0.000953333 0.00096 0.000933333 0.000933333 0.000926667 +0.00094 0.000953333 0.000953333 0.00094 0.000946667 0.00096 0.000946667 0.000946667 +0.00092 0.000953333 0.00096 0.000966667 0.000933333 0.000906667 0.000933333 0.000953333 +0.000926667 0.000933333 0.00092 0.000953333 0.000946667 0.000953333 0.000926667 0.000973333 +0.000953333 0.000933333 0.0009 0.00086 0.000866667 0.00088 0.000886667 0.000893333 +0.000886667 0.00088 0.000873333 0.0009 0.0009 0.000873333 0.000893333 0.000953333 +0.00094 0.000913333 0.0009 0.000946667 0.000973333 0.00092 0.000886667 0.000906667 +0.000953333 0.000953333 0.000933333 0.000966667 0.000973333 0.00094 0.00094 0.00096 +0.00098 0.000993333 0.00098 0.000973333 0.000973333 0.000953333 0.000966667 0.000933333 +0.000953333 0.000966667 0.000973333 0.216 0.000993333 0.216 0.216 0.217893 +0.000993333 0.000986667 0.217893 0.216 0.00096 0.000926667 0.000966667 0.000986667 +0.217893 0.216 0.00098 0.000986667 0.000986667 0.216 0.000986667 0.000973333 +0.00096 0.000993333 0.229253 0.22168 0.000973333 0.000986667 0.217893 0.000993333 +0.000993333 0.00098 0.217893 0.217893 0.000993333 0.000993333 0.000993333 0.000993333 +0.217893 0.217893 0.217893 0.22168 0.225467 0.216 0.00098 0.216 +0.217893 0.217893 0.217893 0.216 0.000973333 0.000953333 0.000953333 0.000993333 +0.22168 0.000993333 0.000993333 0.216 0.216 0.225467 0.223573 0.219787 +0.216 0.000973333 0.00098 0.000993333 0.22168 0.216 0.000993333 0.219787 +0.216 0.216 0.217893 0.000993333 0.000993333 0.22168 0.217893 0.000993333 +0.217893 0.225467 0.22168 0.223573 0.22736 0.234933 0.240613 0.2444 +0.246293 0.251973 0.257653 0.263333 0.2728 0.291733 0.320133 0.36936 +0.498107 0.582105 0.708421 0.875158 1.0009 1.0071 0.893474 0.713474 +0.587789 0.517053 0.43752 0.441307 0.513263 0.586526 0.716632 0.882105 +1.00188 1.04041 1.05216 1.04727 1.012 0.891579 0.702105 0.544211 +0.358 0.25576 0.23304 0.240613 0.2444 0.234933 0.253867 0.344747 +0.490533 0.546737 0.580842 0.584632 0.558105 0.515789 0.390187 0.251973 +0.000873333 0.000813333 0.000806667 0.00082 0.00086 0.000873333 0.000873333 0.00088 +0.000873333 0.00092 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000826667 +0.00078 0.000786667 0.000766667 0.00078 0.000786667 0.000793333 0.00082 0.00084 +0.00084 0.000853333 0.00084 0.00082 0.000806667 0.00082 0.000853333 0.000853333 +0.00086 0.00086 0.00094 0.253867 0.325813 0.40912 0.4716 0.490533 +0.45456 0.382613 0.30688 0.259547 0.253867 0.248187 0.23304 0.236827 +0.251973 0.31256 0.500632 0.631368 0.823368 0.992735 1.04302 1.05184 +1.04204 1.01004 0.904211 0.733053 0.594105 0.516421 0.464027 0.490533 +0.539158 0.644632 0.822737 0.988816 1.01429 0.938947 0.762105 0.613053 +0.517053 0.407227 0.34096 0.3012 0.274693 0.263333 0.259547 0.25576 +0.2444 0.234933 0.23304 0.231147 0.23872 0.240613 0.22736 0.219787 +0.22736 0.225467 0.22168 0.217893 0.22168 0.217893 0.000986667 0.216 +0.22168 0.22736 0.216 0.216 0.000986667 0.000973333 0.000993333 0.217893 +0.219787 0.219787 0.217893 0.216 0.223573 0.217893 0.217893 0.000993333 +0.217893 0.225467 0.219787 0.223573 0.000993333 0.000986667 0.000986667 0.000966667 +0.000953333 0.00098 0.000986667 0.00098 0.00096 0.00098 0.223573 0.225467 +0.22168 0.000986667 0.000993333 0.216 0.000993333 0.217893 0.225467 0.22736 +0.223573 0.217893 0.00098 0.00098 0.000986667 0.217893 0.22168 0.223573 +0.223573 0.225467 0.219787 0.000993333 0.216 0.219787 0.219787 0.000993333 +0.00098 0.000993333 0.216 0.00098 0.000986667 0.217893 0.217893 0.000986667 +0.219787 0.22168 0.000973333 0.000973333 0.00098 0.000993333 0.000993333 0.000973333 +0.00094 0.000953333 0.000966667 0.00096 0.00094 0.00094 0.000953333 0.000953333 +0.00098 0.217893 0.000986667 0.000946667 0.000933333 0.00094 0.000966667 0.00094 +0.000933333 0.00094 0.000953333 0.000953333 0.000966667 0.000973333 0.000926667 0.00092 +0.000933333 0.000893333 0.00094 0.000946667 0.000906667 0.00092 0.000906667 0.00092 +0.000906667 0.000926667 0.000933333 0.00094 0.000946667 0.000926667 0.000946667 0.000906667 +0.000913333 0.000933333 0.000946667 0.00092 0.0009 0.000886667 0.000893333 0.000933333 +0.000946667 0.00094 0.0009 0.000906667 0.000933333 0.000933333 0.000893333 0.000913333 +0.00094 0.000926667 0.000933333 0.000886667 0.000886667 0.000893333 0.000906667 0.000893333 +0.00084 0.000846667 0.000826667 0.000813333 0.000826667 0.00086 0.00092 0.000973333 +0.000946667 0.00092 0.000926667 0.000906667 0.0009 0.000906667 0.000893333 0.000906667 +0.000893333 0.000893333 0.000913333 0.00092 0.000946667 0.216 0.000973333 0.000953333 +0.00096 0.000926667 0.000906667 0.000933333 0.00092 0.00092 0.00096 0.000966667 +0.000966667 0.000946667 0.000913333 0.000926667 0.000893333 0.000906667 0.00094 0.000926667 +0.000953333 0.000933333 0.000946667 0.000953333 0.0009 0.000893333 0.000933333 0.000913333 +0.000913333 0.000953333 0.000966667 0.000926667 0.00094 0.000946667 0.000953333 0.000993333 +0.217893 0.000966667 0.00096 0.000933333 0.000946667 0.00092 0.000913333 0.000933333 +0.000973333 0.000986667 0.00096 0.00092 0.00092 0.000926667 0.00096 0.000953333 +0.000933333 0.000946667 0.000953333 0.00094 0.000933333 0.000913333 0.00096 0.000946667 +0.000953333 0.000933333 0.000913333 0.00094 0.000953333 0.000913333 0.00092 0.00094 +0.000913333 0.000926667 0.0009 0.000906667 0.000913333 0.000906667 0.000913333 0.00088 +0.000886667 0.000873333 0.000873333 0.000906667 0.000886667 0.000866667 0.000893333 0.00092 +0.000933333 0.000933333 0.00092 0.00094 0.00094 0.00092 0.000913333 0.00094 +0.000953333 0.000933333 0.000906667 0.000966667 0.000946667 0.000926667 0.000953333 0.000966667 +0.00098 0.000986667 0.000966667 0.000966667 0.000973333 0.000966667 0.000966667 0.00094 +0.000933333 0.000953333 0.000966667 0.216 0.000986667 0.22168 0.217893 0.217893 +0.00098 0.000973333 0.216 0.000986667 0.00098 0.00096 0.00096 0.000986667 +0.00098 0.00098 0.000966667 0.000953333 0.000946667 0.216 0.223573 0.219787 +0.000946667 0.00096 0.217893 0.000986667 0.00098 0.217893 0.217893 0.00098 +0.00098 0.000986667 0.216 0.217893 0.000993333 0.000993333 0.00098 0.00098 +0.00098 0.216 0.216 0.22168 0.225467 0.000993333 0.000973333 0.000993333 +0.219787 0.000993333 0.219787 0.219787 0.216 0.000966667 0.000966667 0.00098 +0.217893 0.00098 0.000966667 0.00098 0.00098 0.216 0.219787 0.22168 +0.000993333 0.000986667 0.216 0.216 0.22168 0.216 0.00096 0.00098 +0.000986667 0.216 0.225467 0.225467 0.223573 0.223573 0.217893 0.216 +0.217893 0.229253 0.229253 0.22736 0.22736 0.229253 0.23872 0.25008 +0.251973 0.257653 0.269013 0.280373 0.297413 0.325813 0.37504 0.484853 +0.577684 0.719158 0.893474 1.00547 1.00482 0.885263 0.701474 0.573263 +0.506947 0.44888 0.450773 0.517053 0.594105 0.728 0.894105 1.00482 +1.03976 1.05184 1.04727 1.01167 0.888421 0.698316 0.546737 0.37504 +0.265227 0.23872 0.229253 0.229253 0.234933 0.22736 0.22736 0.251973 +0.2728 0.297413 0.32392 0.3296 0.29552 0.2444 0.00094 0.00084 +0.000793333 0.000773333 0.000786667 0.000806667 0.000813333 0.000846667 0.00086 0.000866667 +0.000933333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000793333 0.00074 0.000746667 0.000766667 0.00078 0.000793333 0.0008 0.00082 +0.000833333 0.000853333 0.00084 0.000853333 0.000873333 0.000866667 0.000873333 0.00084 +0.000833333 0.000866667 0.000893333 0.000946667 0.000993333 0.22736 0.22736 0.23304 +0.231147 0.223573 0.22736 0.22168 0.216 0.217893 0.223573 0.23872 +0.246293 0.25576 0.314453 0.508842 0.646526 0.830316 0.993388 1.04335 +1.05314 1.04465 1.01265 0.904211 0.729895 0.589684 0.517053 0.467813 +0.4716 0.533474 0.640842 0.820211 0.986531 1.01265 0.942105 0.772842 +0.616842 0.519579 0.407227 0.331493 0.299307 0.286053 0.265227 0.253867 +0.246293 0.240613 0.240613 0.242507 0.234933 0.231147 0.229253 0.225467 +0.223573 0.216 0.217893 0.22736 0.225467 0.22168 0.22168 0.219787 +0.225467 0.217893 0.216 0.223573 0.217893 0.000993333 0.219787 0.219787 +0.217893 0.219787 0.216 0.000973333 0.00098 0.216 0.000993333 0.000986667 +0.216 0.217893 0.216 0.000986667 0.000973333 0.216 0.000986667 0.000953333 +0.00096 0.00098 0.216 0.000993333 0.000986667 0.219787 0.225467 0.223573 +0.217893 0.217893 0.217893 0.217893 0.217893 0.223573 0.22168 0.223573 +0.219787 0.000993333 0.000993333 0.000993333 0.216 0.22168 0.217893 0.216 +0.223573 0.223573 0.216 0.216 0.225467 0.22168 0.00098 0.000966667 +0.000993333 0.216 0.000986667 0.000973333 0.000966667 0.000986667 0.000993333 0.216 +0.217893 0.216 0.000953333 0.000973333 0.217893 0.000986667 0.00096 0.000933333 +0.000946667 0.000973333 0.00094 0.000933333 0.000966667 0.000953333 0.000933333 0.00094 +0.000966667 0.000986667 0.00096 0.00094 0.000946667 0.000953333 0.00094 0.000926667 +0.000926667 0.000946667 0.00096 0.000953333 0.000933333 0.000966667 0.000913333 0.000926667 +0.000953333 0.000933333 0.00098 0.000946667 0.000893333 0.000926667 0.00094 0.000953333 +0.00094 0.000893333 0.000893333 0.0009 0.0009 0.00096 0.00096 0.00094 +0.00092 0.000966667 0.00094 0.00092 0.000913333 0.000866667 0.000886667 0.000926667 +0.00096 0.0009 0.000873333 0.000886667 0.00092 0.0009 0.00086 0.0009 +0.00092 0.00088 0.00088 0.000833333 0.00082 0.000846667 0.000873333 0.00082 +0.0008 0.000853333 0.00084 0.000866667 0.000906667 0.000946667 0.000966667 0.217893 +0.000946667 0.000913333 0.000913333 0.000906667 0.000913333 0.0009 0.000873333 0.0009 +0.000886667 0.000913333 0.000933333 0.00092 0.000933333 0.000953333 0.000953333 0.000946667 +0.000933333 0.00094 0.00094 0.000946667 0.000926667 0.000926667 0.00096 0.000973333 +0.00096 0.000926667 0.000933333 0.00096 0.00092 0.00092 0.00094 0.000946667 +0.00098 0.000973333 0.000986667 0.00096 0.0009 0.000893333 0.000953333 0.00092 +0.00092 0.00096 0.000946667 0.000893333 0.00092 0.000913333 0.000906667 0.000946667 +0.000946667 0.000926667 0.000933333 0.00094 0.000953333 0.000926667 0.000906667 0.000926667 +0.00096 0.00098 0.000966667 0.000933333 0.000946667 0.000946667 0.000946667 0.00094 +0.000906667 0.000926667 0.000966667 0.000953333 0.00094 0.000933333 0.000966667 0.000953333 +0.00094 0.000913333 0.00092 0.000946667 0.000953333 0.000906667 0.00094 0.000926667 +0.000926667 0.000933333 0.000933333 0.000926667 0.000933333 0.000953333 0.000946667 0.00092 +0.0009 0.00086 0.000853333 0.0009 0.000866667 0.000873333 0.000913333 0.000926667 +0.000913333 0.000913333 0.000906667 0.000906667 0.000893333 0.000913333 0.00092 0.000933333 +0.00096 0.00094 0.000913333 0.00094 0.000933333 0.000933333 0.000973333 0.00098 +0.00096 0.000946667 0.000913333 0.00094 0.000953333 0.000953333 0.00096 0.000953333 +0.000953333 0.000953333 0.000966667 0.000966667 0.000946667 0.000986667 0.00098 0.000973333 +0.000993333 0.000986667 0.000986667 0.000966667 0.00096 0.000973333 0.000953333 0.000973333 +0.000966667 0.000986667 0.216 0.000966667 0.000946667 0.000966667 0.219787 0.22168 +0.000973333 0.00098 0.000986667 0.216 0.216 0.216 0.219787 0.000986667 +0.00098 0.000993333 0.000993333 0.000993333 0.000993333 0.216 0.00096 0.000966667 +0.000986667 0.000993333 0.000973333 0.000993333 0.22168 0.219787 0.216 0.000986667 +0.217893 0.217893 0.217893 0.216 0.000993333 0.000993333 0.216 0.000993333 +0.000993333 0.000973333 0.000953333 0.000993333 0.000993333 0.000986667 0.216 0.217893 +0.000993333 0.000993333 0.216 0.000993333 0.216 0.219787 0.000993333 0.000986667 +0.216 0.216 0.216 0.225467 0.22736 0.223573 0.219787 0.217893 +0.223573 0.23304 0.234933 0.234933 0.231147 0.229253 0.240613 0.257653 +0.26144 0.26144 0.27848 0.3012 0.325813 0.384507 0.505684 0.585895 +0.717895 0.896632 1.00906 1.0022 0.870737 0.689474 0.562526 0.498107 +0.441307 0.46592 0.521474 0.606105 0.744421 0.904211 1.00776 1.04073 +1.04922 1.04433 1.00906 0.885895 0.697053 0.544211 0.38072 0.27848 +0.242507 0.223573 0.000993333 0.217893 0.216 0.22168 0.219787 0.000993333 +0.000973333 0.000973333 0.000973333 0.000973333 0.000946667 0.000893333 0.00086 0.000846667 +0.000826667 0.0008 0.00078 0.0008 0.0008 0.000806667 0.000806667 0.000906667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00076 0.00074 0.00072 0.00076 0.000786667 0.000793333 0.000806667 0.00084 +0.000866667 0.000886667 0.000886667 0.000906667 0.000886667 0.000846667 0.00084 0.00082 +0.00084 0.000833333 0.000853333 0.000913333 0.00092 0.0009 0.000866667 0.000886667 +0.000893333 0.000933333 0.000966667 0.000933333 0.000946667 0.000986667 0.223573 0.236827 +0.23872 0.23872 0.25576 0.33528 0.513895 0.647158 0.836 0.996327 +1.04465 1.05478 1.04629 1.01135 0.899158 0.728632 0.591579 0.515789 +0.462133 0.475387 0.534105 0.639579 0.814526 0.983592 1.01265 0.948421 +0.774105 0.618105 0.518316 0.40912 0.348533 0.30688 0.27848 0.269013 +0.257653 0.25008 0.246293 0.248187 0.23872 0.234933 0.236827 0.225467 +0.217893 0.223573 0.22736 0.229253 0.229253 0.217893 0.216 0.219787 +0.216 0.216 0.223573 0.22168 0.216 0.217893 0.216 0.000993333 +0.217893 0.22168 0.217893 0.00098 0.00098 0.000966667 0.000973333 0.000993333 +0.217893 0.000993333 0.216 0.00096 0.00096 0.00098 0.00098 0.000986667 +0.216 0.217893 0.216 0.000993333 0.216 0.219787 0.223573 0.217893 +0.217893 0.217893 0.000993333 0.217893 0.22168 0.217893 0.223573 0.223573 +0.000973333 0.00098 0.00098 0.000993333 0.22168 0.22736 0.216 0.000973333 +0.000973333 0.000993333 0.216 0.219787 0.219787 0.000986667 0.000966667 0.00098 +0.219787 0.217893 0.000973333 0.00098 0.216 0.216 0.217893 0.219787 +0.000973333 0.000966667 0.000973333 0.000986667 0.00098 0.00098 0.00096 0.000953333 +0.000973333 0.000986667 0.000953333 0.000946667 0.000966667 0.000933333 0.000926667 0.000946667 +0.000986667 0.00098 0.000946667 0.000946667 0.000933333 0.00092 0.00094 0.000933333 +0.000953333 0.000953333 0.000946667 0.000926667 0.000953333 0.00096 0.00094 0.000946667 +0.00094 0.000966667 0.00096 0.000893333 0.000893333 0.000906667 0.000966667 0.000966667 +0.00092 0.000933333 0.00092 0.000913333 0.000893333 0.000886667 0.000906667 0.000886667 +0.000926667 0.00096 0.000906667 0.000913333 0.000913333 0.000853333 0.000846667 0.000906667 +0.0009 0.000873333 0.000846667 0.000866667 0.000906667 0.000893333 0.000873333 0.000886667 +0.000846667 0.000833333 0.000826667 0.000793333 0.0008 0.000853333 0.000846667 0.000846667 +0.000853333 0.00088 0.00088 0.000906667 0.000966667 0.00096 0.00098 0.000966667 +0.000906667 0.000913333 0.000913333 0.000893333 0.000886667 0.00088 0.000913333 0.000926667 +0.000926667 0.000946667 0.000933333 0.00092 0.000946667 0.00094 0.000913333 0.000933333 +0.000933333 0.000926667 0.00094 0.000973333 0.000953333 0.00094 0.000946667 0.000946667 +0.00096 0.000966667 0.000973333 0.000973333 0.000926667 0.000926667 0.000946667 0.000953333 +0.000986667 0.00098 0.000993333 0.000966667 0.000893333 0.0009 0.000953333 0.00092 +0.00088 0.000913333 0.0009 0.000866667 0.00088 0.000886667 0.00088 0.00094 +0.00092 0.000913333 0.0009 0.000893333 0.000913333 0.00088 0.00088 0.00094 +0.000966667 0.000926667 0.0009 0.0009 0.00094 0.000966667 0.00094 0.000926667 +0.000886667 0.00092 0.000953333 0.000973333 0.000953333 0.000953333 0.000933333 0.000906667 +0.000906667 0.0009 0.000906667 0.00094 0.000926667 0.000966667 0.000953333 0.000926667 +0.00096 0.00096 0.00096 0.000926667 0.000926667 0.000966667 0.00094 0.000953333 +0.000953333 0.0009 0.000886667 0.000893333 0.000886667 0.000893333 0.000906667 0.00088 +0.00088 0.000913333 0.0009 0.00088 0.000893333 0.000926667 0.000926667 0.000933333 +0.000966667 0.000973333 0.000933333 0.000906667 0.000906667 0.000926667 0.00096 0.000973333 +0.00096 0.00096 0.000926667 0.00096 0.000946667 0.000933333 0.000946667 0.00096 +0.00098 0.000993333 0.000986667 0.000953333 0.000933333 0.00096 0.00096 0.000953333 +0.00098 0.000993333 0.000966667 0.000966667 0.000966667 0.000973333 0.000953333 0.000953333 +0.000946667 0.000953333 0.000993333 0.000973333 0.000966667 0.00096 0.217893 0.22168 +0.00098 0.000973333 0.000973333 0.000993333 0.216 0.00098 0.000993333 0.217893 +0.000986667 0.216 0.216 0.000993333 0.217893 0.219787 0.000986667 0.000966667 +0.000986667 0.000993333 0.000973333 0.00098 0.000993333 0.216 0.000993333 0.000986667 +0.000993333 0.217893 0.219787 0.219787 0.216 0.00098 0.00098 0.00098 +0.00098 0.00098 0.00098 0.217893 0.000993333 0.00098 0.000986667 0.000986667 +0.22168 0.217893 0.216 0.217893 0.000986667 0.217893 0.219787 0.217893 +0.22168 0.22168 0.216 0.217893 0.219787 0.223573 0.223573 0.219787 +0.225467 0.236827 0.240613 0.242507 0.236827 0.234933 0.25008 0.26712 +0.2728 0.282267 0.29552 0.322027 0.388293 0.510105 0.59979 0.738105 +0.907368 1.00808 0.998939 0.860632 0.678737 0.552421 0.481067 0.43752 +0.469707 0.527789 0.611158 0.754526 0.922526 1.01298 1.04204 1.05086 +1.04433 1.00384 0.873895 0.693263 0.544842 0.37504 0.270907 0.242507 +0.231147 0.219787 0.000986667 0.000993333 0.000973333 0.000953333 0.000953333 0.000953333 +0.000933333 0.000913333 0.000913333 0.000906667 0.000886667 0.00086 0.000833333 0.000813333 +0.000806667 0.000813333 0.000806667 0.000833333 0.00084 0.000813333 0.000846667 0.000906667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000793333 0.000786667 0.000786667 0.0008 0.000773333 0.000813333 0.00084 +0.00086 0.000866667 0.00086 0.000866667 0.00084 0.000833333 0.000833333 0.000833333 +0.000833333 0.000813333 0.000833333 0.000873333 0.00088 0.000853333 0.000853333 0.00088 +0.00088 0.0009 0.000906667 0.000906667 0.00094 0.000973333 0.000993333 0.216 +0.22168 0.22736 0.240613 0.26144 0.331493 0.518316 0.656 0.841684 +0.995673 1.04302 1.05282 1.04302 1.00906 0.901053 0.732421 0.596632 +0.516421 0.45456 0.473493 0.534105 0.637053 0.806316 0.98098 1.01135 +0.945263 0.774737 0.619368 0.517053 0.407227 0.348533 0.31256 0.291733 +0.269013 0.257653 0.251973 0.2444 0.242507 0.242507 0.23304 0.225467 +0.22168 0.22736 0.236827 0.23304 0.22168 0.000993333 0.000986667 0.000993333 +0.000993333 0.22168 0.22736 0.225467 0.22168 0.217893 0.22168 0.225467 +0.22168 0.000993333 0.00098 0.000993333 0.000966667 0.000953333 0.00098 0.219787 +0.000993333 0.00098 0.000966667 0.000946667 0.000973333 0.000993333 0.219787 0.219787 +0.216 0.217893 0.216 0.216 0.216 0.216 0.217893 0.000993333 +0.000993333 0.000966667 0.000966667 0.000986667 0.216 0.000993333 0.22168 0.216 +0.000973333 0.217893 0.000993333 0.000993333 0.22168 0.22168 0.000986667 0.000973333 +0.000973333 0.217893 0.225467 0.217893 0.000973333 0.00096 0.000946667 0.000973333 +0.216 0.000986667 0.00098 0.00098 0.217893 0.219787 0.219787 0.000993333 +0.000933333 0.00096 0.217893 0.00098 0.00094 0.000953333 0.000966667 0.00096 +0.000966667 0.00096 0.000933333 0.000946667 0.00094 0.000933333 0.00094 0.000973333 +0.000993333 0.00096 0.000933333 0.00096 0.000926667 0.000926667 0.000946667 0.00094 +0.00094 0.00096 0.000953333 0.000973333 0.000973333 0.00094 0.000966667 0.000973333 +0.000926667 0.000973333 0.000933333 0.000893333 0.00092 0.000953333 0.22168 0.216 +0.000933333 0.000893333 0.00092 0.00092 0.000886667 0.000886667 0.000873333 0.000893333 +0.000893333 0.000873333 0.00086 0.00088 0.000873333 0.000873333 0.000866667 0.000866667 +0.000866667 0.000853333 0.000853333 0.000886667 0.000873333 0.00088 0.000873333 0.00084 +0.000806667 0.000813333 0.0008 0.0008 0.00084 0.000873333 0.000886667 0.000926667 +0.00092 0.0009 0.0009 0.000913333 0.000926667 0.00092 0.000953333 0.000913333 +0.000866667 0.000886667 0.000886667 0.000906667 0.000906667 0.000906667 0.000933333 0.000913333 +0.000926667 0.00096 0.000913333 0.0009 0.000973333 0.000926667 0.000886667 0.000933333 +0.000926667 0.000933333 0.000926667 0.000953333 0.00094 0.00092 0.000906667 0.000933333 +0.000946667 0.000966667 0.00096 0.000966667 0.000906667 0.00092 0.00096 0.000966667 +0.000986667 0.00096 0.00098 0.000966667 0.000906667 0.000913333 0.00094 0.000913333 +0.00088 0.000913333 0.000913333 0.00088 0.00088 0.000886667 0.000886667 0.000946667 +0.000933333 0.000893333 0.000886667 0.0009 0.00092 0.000893333 0.0009 0.000926667 +0.0009 0.000893333 0.000886667 0.0009 0.000933333 0.000966667 0.000946667 0.00092 +0.000893333 0.000893333 0.00094 0.000933333 0.000913333 0.000893333 0.0009 0.00094 +0.000946667 0.00094 0.000933333 0.000926667 0.000933333 0.000953333 0.000946667 0.000953333 +0.00096 0.00096 0.00092 0.0009 0.00094 0.000953333 0.00096 0.00096 +0.000973333 0.00096 0.000926667 0.000933333 0.000926667 0.000913333 0.00088 0.00086 +0.000873333 0.0009 0.00088 0.000853333 0.000866667 0.000893333 0.000933333 0.000933333 +0.000946667 0.00096 0.00092 0.000893333 0.00092 0.000933333 0.000966667 0.00098 +0.000973333 0.00096 0.00094 0.000953333 0.000946667 0.000933333 0.00094 0.00096 +0.00094 0.000953333 0.00096 0.000946667 0.000953333 0.00096 0.000986667 0.00098 +0.000973333 0.000973333 0.000946667 0.00096 0.000993333 0.000986667 0.000973333 0.00096 +0.00094 0.00094 0.00096 0.000973333 0.000973333 0.00094 0.216 0.217893 +0.000986667 0.00096 0.000966667 0.000973333 0.000993333 0.00098 0.00098 0.216 +0.000993333 0.216 0.000986667 0.219787 0.223573 0.223573 0.219787 0.000993333 +0.000986667 0.00098 0.00098 0.00098 0.000973333 0.216 0.217893 0.217893 +0.000973333 0.00098 0.219787 0.223573 0.223573 0.216 0.00098 0.000993333 +0.000973333 0.000986667 0.000986667 0.000986667 0.000986667 0.00098 0.00098 0.000986667 +0.22168 0.217893 0.000993333 0.217893 0.219787 0.219787 0.219787 0.216 +0.216 0.216 0.217893 0.223573 0.22736 0.223573 0.225467 0.225467 +0.22736 0.234933 0.240613 0.246293 0.25008 0.25576 0.26144 0.274693 +0.282267 0.297413 0.331493 0.382613 0.509474 0.604211 0.750105 0.923158 +1.01069 0.995347 0.848 0.669263 0.548632 0.473493 0.43184 0.467813 +0.527789 0.617474 0.764 0.929474 1.0169 1.04465 1.05118 1.04237 +1.00188 0.862526 0.683789 0.542947 0.378827 0.2728 0.234933 0.216 +0.000993333 0.00098 0.00096 0.000953333 0.000966667 0.00096 0.00094 0.000953333 +0.000926667 0.000873333 0.00088 0.000906667 0.000873333 0.000846667 0.00082 0.000813333 +0.0008 0.000806667 0.00082 0.000846667 0.000846667 0.000873333 0.000873333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000813333 0.000826667 0.000813333 0.000813333 0.00082 0.000813333 +0.000853333 0.000846667 0.000866667 0.000886667 0.000846667 0.000866667 0.000846667 0.000826667 +0.000806667 0.000806667 0.000846667 0.00084 0.00086 0.000873333 0.000866667 0.000873333 +0.000873333 0.00088 0.000846667 0.000853333 0.00088 0.00092 0.000953333 0.00098 +0.217893 0.22168 0.236827 0.242507 0.259547 0.337173 0.521474 0.656 +0.832842 0.993061 1.044 1.05282 1.04269 1.01135 0.906737 0.734316 +0.590316 0.514526 0.469707 0.481067 0.536 0.635158 0.803789 0.976842 +1.00971 0.941474 0.764 0.606737 0.514526 0.4148 0.339067 0.299307 +0.27848 0.26712 0.265227 0.259547 0.2444 0.23304 0.23304 0.23304 +0.234933 0.236827 0.236827 0.225467 0.216 0.216 0.00098 0.000993333 +0.223573 0.219787 0.000993333 0.217893 0.22168 0.22168 0.229253 0.225467 +0.216 0.000986667 0.217893 0.000993333 0.00098 0.216 0.217893 0.217893 +0.000993333 0.000973333 0.00096 0.00098 0.000993333 0.000986667 0.219787 0.000993333 +0.00098 0.216 0.217893 0.217893 0.00098 0.000973333 0.000993333 0.216 +0.00098 0.00096 0.000966667 0.000966667 0.000973333 0.000986667 0.000986667 0.000966667 +0.00098 0.216 0.000993333 0.219787 0.217893 0.219787 0.216 0.217893 +0.219787 0.225467 0.217893 0.000973333 0.000973333 0.000993333 0.216 0.219787 +0.216 0.000966667 0.00098 0.00098 0.000986667 0.000986667 0.000986667 0.000953333 +0.000953333 0.216 0.22168 0.000966667 0.00094 0.000946667 0.00094 0.00094 +0.000946667 0.000933333 0.000933333 0.000933333 0.00094 0.00094 0.00094 0.000966667 +0.00098 0.000953333 0.000946667 0.000973333 0.000933333 0.000933333 0.000946667 0.000933333 +0.000953333 0.000946667 0.00096 0.000973333 0.000953333 0.000953333 0.000993333 0.000973333 +0.00094 0.000933333 0.000913333 0.000906667 0.000926667 0.000986667 0.219787 0.00096 +0.000906667 0.0009 0.000926667 0.00088 0.000893333 0.000893333 0.000906667 0.000913333 +0.000886667 0.000846667 0.00084 0.000846667 0.000833333 0.000846667 0.000873333 0.000886667 +0.000846667 0.000853333 0.000846667 0.00086 0.000886667 0.000873333 0.000826667 0.000846667 +0.00082 0.000826667 0.00084 0.00084 0.000886667 0.000946667 0.000946667 0.00092 +0.000913333 0.000913333 0.000873333 0.000906667 0.000933333 0.000913333 0.00094 0.00088 +0.000826667 0.00086 0.00088 0.000913333 0.0009 0.0009 0.000933333 0.000933333 +0.000926667 0.000933333 0.0009 0.000913333 0.000946667 0.000913333 0.000926667 0.000933333 +0.0009 0.000913333 0.000913333 0.000926667 0.000913333 0.000893333 0.00092 0.000946667 +0.000933333 0.000953333 0.000973333 0.00098 0.00094 0.00096 0.000966667 0.000986667 +0.00096 0.000926667 0.000966667 0.000953333 0.0009 0.00088 0.000926667 0.000926667 +0.0009 0.000933333 0.000946667 0.000893333 0.000893333 0.000893333 0.000906667 0.000966667 +0.000933333 0.0009 0.000886667 0.00088 0.000906667 0.000886667 0.00088 0.000873333 +0.000866667 0.000913333 0.000913333 0.000913333 0.00094 0.00094 0.000926667 0.00092 +0.000873333 0.000853333 0.000913333 0.0009 0.000886667 0.00088 0.000926667 0.00096 +0.000966667 0.000933333 0.000933333 0.000926667 0.00092 0.00094 0.000953333 0.000953333 +0.000966667 0.000953333 0.000926667 0.000913333 0.000926667 0.00094 0.000953333 0.000946667 +0.00096 0.000966667 0.00094 0.000966667 0.000966667 0.000906667 0.0009 0.000913333 +0.0009 0.0009 0.000873333 0.000853333 0.00086 0.000893333 0.000933333 0.000906667 +0.000906667 0.000946667 0.0009 0.0009 0.00092 0.00094 0.000953333 0.000966667 +0.000953333 0.000966667 0.000946667 0.000926667 0.00096 0.000933333 0.00094 0.00096 +0.000933333 0.00094 0.000933333 0.000933333 0.000946667 0.00094 0.000986667 0.219787 +0.00098 0.000966667 0.000946667 0.00096 0.000993333 0.000986667 0.217893 0.00096 +0.000933333 0.00094 0.000953333 0.00098 0.000966667 0.000946667 0.000986667 0.000993333 +0.000986667 0.000966667 0.00096 0.000973333 0.000986667 0.000973333 0.000953333 0.00098 +0.217893 0.217893 0.000986667 0.217893 0.223573 0.219787 0.223573 0.223573 +0.216 0.00098 0.000986667 0.000986667 0.000973333 0.000966667 0.00098 0.223573 +0.000986667 0.000973333 0.223573 0.219787 0.219787 0.219787 0.000993333 0.216 +0.000993333 0.000993333 0.217893 0.00098 0.000986667 0.216 0.000993333 0.216 +0.216 0.219787 0.217893 0.216 0.217893 0.000993333 0.000993333 0.000986667 +0.000986667 0.219787 0.223573 0.223573 0.229253 0.223573 0.225467 0.23304 +0.236827 0.23872 0.2444 0.25576 0.257653 0.26144 0.269013 0.287947 +0.304987 0.3296 0.40344 0.515789 0.609895 0.756421 0.930105 1.012 +0.991429 0.840421 0.66421 0.543579 0.4716 0.439413 0.469707 0.529053 +0.623158 0.770947 0.936421 1.01918 1.04563 1.05216 1.04171 0.99698 +0.854947 0.674947 0.535368 0.367467 0.274693 0.23872 0.219787 0.000986667 +0.000986667 0.000973333 0.000933333 0.00092 0.000946667 0.000946667 0.000906667 0.000913333 +0.00092 0.000886667 0.000873333 0.000893333 0.00086 0.000846667 0.000826667 0.000813333 +0.000793333 0.0008 0.000806667 0.000853333 0.000886667 0.000926667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00084 0.000833333 0.00084 0.00084 0.000866667 +0.000886667 0.000893333 0.0009 0.000873333 0.00082 0.000826667 0.000786667 0.000773333 +0.000773333 0.000806667 0.00086 0.000853333 0.000886667 0.000886667 0.00082 0.000806667 +0.00084 0.000853333 0.00084 0.000873333 0.000913333 0.000926667 0.00092 0.000946667 +0.00096 0.00098 0.217893 0.219787 0.23304 0.259547 0.35232 0.520211 +0.653474 0.836632 0.993714 1.04106 1.05314 1.04433 1.01069 0.904842 +0.730526 0.593474 0.516421 0.462133 0.490533 0.536 0.634526 0.805053 +0.976842 1.00678 0.932632 0.758947 0.612421 0.519579 0.40344 0.339067 +0.304987 0.28416 0.276587 0.27848 0.263333 0.246293 0.248187 0.23872 +0.231147 0.229253 0.223573 0.223573 0.229253 0.216 0.000986667 0.216 +0.217893 0.216 0.217893 0.216 0.219787 0.219787 0.22168 0.216 +0.217893 0.225467 0.225467 0.217893 0.219787 0.219787 0.219787 0.216 +0.000986667 0.000993333 0.000986667 0.216 0.000986667 0.216 0.216 0.000966667 +0.000966667 0.217893 0.22168 0.217893 0.000986667 0.00098 0.000993333 0.000986667 +0.00098 0.000973333 0.000973333 0.000993333 0.000986667 0.00098 0.000973333 0.000966667 +0.000966667 0.000986667 0.217893 0.216 0.000993333 0.223573 0.223573 0.217893 +0.216 0.219787 0.000986667 0.000986667 0.000973333 0.000986667 0.217893 0.216 +0.000973333 0.000973333 0.000973333 0.000973333 0.000966667 0.00096 0.000953333 0.000953333 +0.000966667 0.000993333 0.000986667 0.00096 0.000966667 0.00096 0.00094 0.000953333 +0.000933333 0.000946667 0.000966667 0.00096 0.000973333 0.00096 0.00098 0.00098 +0.000993333 0.000986667 0.00096 0.00092 0.00094 0.00096 0.000946667 0.000946667 +0.000966667 0.000933333 0.000946667 0.000946667 0.000933333 0.000946667 0.000986667 0.000933333 +0.000933333 0.000933333 0.000906667 0.000933333 0.000953333 0.000973333 0.000973333 0.000893333 +0.000906667 0.000933333 0.000886667 0.000853333 0.000873333 0.000886667 0.000893333 0.000913333 +0.00092 0.00086 0.000886667 0.000866667 0.00082 0.000806667 0.000846667 0.000833333 +0.00084 0.000846667 0.000866667 0.000913333 0.000886667 0.00088 0.00088 0.00088 +0.000846667 0.00086 0.00086 0.000873333 0.000946667 0.00096 0.00094 0.00092 +0.000906667 0.0009 0.00086 0.000913333 0.000886667 0.00088 0.000933333 0.000886667 +0.000833333 0.00086 0.00088 0.000893333 0.000893333 0.000906667 0.000933333 0.0009 +0.000906667 0.000946667 0.000913333 0.000906667 0.0009 0.0009 0.000946667 0.00094 +0.000893333 0.000906667 0.000906667 0.00094 0.000906667 0.0009 0.00094 0.00094 +0.000946667 0.00094 0.000953333 0.000966667 0.000926667 0.000953333 0.00098 0.000953333 +0.00092 0.000913333 0.00094 0.000946667 0.000893333 0.000886667 0.00094 0.000933333 +0.000893333 0.000933333 0.00092 0.000846667 0.000886667 0.000906667 0.000926667 0.00094 +0.0009 0.0009 0.00092 0.00088 0.000913333 0.0009 0.000873333 0.000893333 +0.000886667 0.000933333 0.000893333 0.000893333 0.00092 0.000926667 0.0009 0.000886667 +0.000853333 0.00088 0.000926667 0.000926667 0.000893333 0.000913333 0.000926667 0.000946667 +0.000933333 0.000913333 0.00094 0.000926667 0.000933333 0.000953333 0.00096 0.000933333 +0.000933333 0.00096 0.000973333 0.000946667 0.000926667 0.00094 0.000926667 0.000913333 +0.00094 0.00094 0.000946667 0.00098 0.000966667 0.00094 0.00094 0.000966667 +0.000946667 0.00094 0.000913333 0.000893333 0.000893333 0.00092 0.000933333 0.000893333 +0.000893333 0.000933333 0.00092 0.0009 0.000906667 0.000926667 0.00092 0.00092 +0.000933333 0.000953333 0.00094 0.000926667 0.000966667 0.000926667 0.00094 0.000986667 +0.000966667 0.00096 0.000933333 0.000933333 0.00094 0.000926667 0.00098 0.000986667 +0.00096 0.000966667 0.000953333 0.000953333 0.000973333 0.00098 0.217893 0.000953333 +0.000926667 0.000926667 0.000946667 0.00098 0.000953333 0.000946667 0.000966667 0.216 +0.000993333 0.00096 0.00096 0.00098 0.000986667 0.000966667 0.000946667 0.000973333 +0.219787 0.217893 0.000986667 0.000993333 0.000986667 0.00098 0.22168 0.225467 +0.219787 0.216 0.216 0.000986667 0.00098 0.000973333 0.000966667 0.219787 +0.217893 0.000973333 0.000993333 0.216 0.217893 0.225467 0.223573 0.219787 +0.217893 0.000986667 0.216 0.000986667 0.217893 0.219787 0.217893 0.217893 +0.219787 0.22168 0.219787 0.216 0.000993333 0.216 0.216 0.000986667 +0.000986667 0.22168 0.223573 0.225467 0.229253 0.22736 0.22736 0.229253 +0.242507 0.246293 0.248187 0.26144 0.26144 0.270907 0.287947 0.30688 +0.337173 0.40344 0.520842 0.622526 0.772842 0.940842 1.01298 0.98849 +0.827789 0.655368 0.541684 0.462133 0.433733 0.481067 0.536632 0.630105 +0.781053 0.942105 1.01951 1.04596 1.05216 1.03943 0.992408 0.841684 +0.667368 0.532211 0.361787 0.263333 0.23872 0.22168 0.000973333 0.000973333 +0.00096 0.000973333 0.000973333 0.00096 0.00094 0.000906667 0.000866667 0.000873333 +0.000893333 0.00088 0.00086 0.000886667 0.00088 0.000886667 0.000853333 0.00078 +0.000766667 0.000786667 0.0008 0.000846667 0.00092 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000853333 0.00084 0.00084 0.00084 +0.000866667 0.000873333 0.00088 0.00084 0.000813333 0.000806667 0.00078 0.00078 +0.000793333 0.000813333 0.000853333 0.00084 0.00086 0.000833333 0.000826667 0.00082 +0.000813333 0.00082 0.000853333 0.000906667 0.000926667 0.000886667 0.00086 0.0009 +0.000926667 0.000946667 0.00096 0.000986667 0.223573 0.23304 0.257653 0.34096 +0.520842 0.654105 0.831579 0.990449 1.04139 1.05249 1.04367 1.012 +0.902947 0.728632 0.592842 0.519579 0.475387 0.484853 0.538526 0.638316 +0.802526 0.972421 1.00743 0.942105 0.783579 0.633895 0.525895 0.412907 +0.342853 0.308773 0.291733 0.276587 0.263333 0.25576 0.246293 0.234933 +0.229253 0.23304 0.229253 0.229253 0.22736 0.219787 0.231147 0.223573 +0.217893 0.217893 0.217893 0.219787 0.217893 0.217893 0.219787 0.22168 +0.223573 0.223573 0.219787 0.219787 0.216 0.217893 0.219787 0.217893 +0.22168 0.22168 0.216 0.000993333 0.00098 0.22168 0.22168 0.000973333 +0.000973333 0.217893 0.000993333 0.216 0.000993333 0.219787 0.217893 0.000986667 +0.000986667 0.000973333 0.000986667 0.216 0.000966667 0.000966667 0.00098 0.000986667 +0.217893 0.217893 0.22168 0.217893 0.000993333 0.217893 0.217893 0.216 +0.000993333 0.000986667 0.000986667 0.217893 0.000993333 0.217893 0.217893 0.000953333 +0.00096 0.00098 0.00098 0.000986667 0.000966667 0.000953333 0.00096 0.000966667 +0.000973333 0.00098 0.000966667 0.000973333 0.00098 0.000946667 0.00096 0.000966667 +0.00096 0.00098 0.00098 0.000973333 0.000953333 0.00098 0.223573 0.216 +0.000966667 0.00098 0.000953333 0.000913333 0.000933333 0.00096 0.000953333 0.000946667 +0.000946667 0.00094 0.000926667 0.000913333 0.000953333 0.00096 0.000933333 0.000893333 +0.00096 0.000926667 0.00092 0.000933333 0.000926667 0.000973333 0.000906667 0.000873333 +0.000893333 0.000886667 0.000866667 0.000866667 0.000906667 0.000886667 0.00088 0.000906667 +0.000913333 0.000906667 0.000913333 0.00086 0.000826667 0.00084 0.00084 0.000826667 +0.0008 0.0008 0.00086 0.00088 0.00088 0.000906667 0.000906667 0.000893333 +0.00086 0.000886667 0.0009 0.00092 0.000906667 0.000933333 0.00092 0.000893333 +0.000886667 0.000886667 0.000873333 0.000906667 0.000873333 0.00088 0.000906667 0.00086 +0.00086 0.00088 0.00088 0.0009 0.00092 0.000906667 0.000906667 0.000873333 +0.000913333 0.000913333 0.000886667 0.0009 0.000926667 0.00092 0.000933333 0.000926667 +0.000913333 0.00092 0.000893333 0.000926667 0.000926667 0.00094 0.000953333 0.00094 +0.00094 0.00094 0.000933333 0.000906667 0.000873333 0.000886667 0.000926667 0.000913333 +0.0009 0.000926667 0.00094 0.00094 0.000906667 0.000886667 0.000926667 0.000926667 +0.000906667 0.000933333 0.000886667 0.000813333 0.000906667 0.00092 0.000893333 0.000913333 +0.00092 0.000913333 0.000933333 0.000926667 0.000926667 0.00088 0.000886667 0.00092 +0.000926667 0.00094 0.00088 0.000873333 0.000886667 0.00088 0.000866667 0.00088 +0.000893333 0.000926667 0.000953333 0.000913333 0.000926667 0.00092 0.000906667 0.000933333 +0.000926667 0.0009 0.0009 0.000906667 0.000913333 0.000953333 0.00096 0.000933333 +0.00094 0.000953333 0.000973333 0.000933333 0.000946667 0.000953333 0.000926667 0.000926667 +0.000933333 0.00094 0.000946667 0.000966667 0.000953333 0.000953333 0.000966667 0.00098 +0.00096 0.00096 0.00092 0.00094 0.000946667 0.00094 0.000913333 0.0009 +0.000893333 0.000913333 0.00092 0.000886667 0.0009 0.00092 0.00092 0.00092 +0.000933333 0.000946667 0.000913333 0.000926667 0.000933333 0.000913333 0.000946667 0.216 +0.000986667 0.000946667 0.00094 0.000933333 0.000933333 0.00094 0.000966667 0.000966667 +0.00096 0.00096 0.000966667 0.00098 0.000973333 0.000973333 0.00098 0.000973333 +0.000953333 0.000933333 0.000953333 0.000966667 0.000966667 0.000953333 0.00096 0.217893 +0.216 0.000973333 0.000966667 0.00098 0.00098 0.00098 0.000966667 0.000966667 +0.216 0.217893 0.216 0.00098 0.000966667 0.00096 0.000973333 0.00098 +0.000993333 0.000993333 0.00098 0.00098 0.000993333 0.000993333 0.000993333 0.217893 +0.217893 0.00098 0.000973333 0.216 0.219787 0.223573 0.225467 0.22168 +0.216 0.217893 0.219787 0.216 0.000993333 0.22168 0.219787 0.217893 +0.219787 0.217893 0.22168 0.219787 0.216 0.000993333 0.217893 0.216 +0.217893 0.22168 0.225467 0.229253 0.23304 0.229253 0.229253 0.234933 +0.2444 0.25008 0.253867 0.265227 0.270907 0.28416 0.304987 0.344747 +0.424267 0.527789 0.625053 0.781684 0.955368 1.01559 0.984898 0.819579 +0.647789 0.536632 0.464027 0.439413 0.492427 0.544211 0.644632 0.796842 +0.954105 1.02147 1.04596 1.05151 1.03649 0.985878 0.825895 0.651579 +0.524632 0.358 0.2728 0.242507 0.22168 0.00098 0.00094 0.000946667 +0.00094 0.000933333 0.000953333 0.000946667 0.000933333 0.000893333 0.000873333 0.000866667 +0.000873333 0.00086 0.00086 0.00088 0.000873333 0.00088 0.00086 0.0008 +0.000773333 0.00078 0.000793333 0.000886667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000846667 0.000853333 0.00084 +0.000873333 0.00088 0.000866667 0.000853333 0.000806667 0.000793333 0.000773333 0.000766667 +0.000793333 0.000813333 0.000846667 0.00084 0.000826667 0.000826667 0.000846667 0.000833333 +0.000813333 0.000853333 0.000833333 0.000813333 0.000853333 0.000873333 0.00092 0.000933333 +0.00092 0.00094 0.000926667 0.000946667 0.000973333 0.00098 0.225467 0.265227 +0.354213 0.520842 0.649684 0.825895 0.988163 1.03943 1.05314 1.04531 +1.01102 0.906737 0.739368 0.600421 0.520211 0.46592 0.484853 0.536632 +0.635158 0.804421 0.976211 1.01069 0.963579 0.800632 0.632632 0.524 +0.407227 0.342853 0.310667 0.280373 0.263333 0.259547 0.25008 0.242507 +0.234933 0.229253 0.236827 0.234933 0.22736 0.23304 0.236827 0.229253 +0.225467 0.225467 0.223573 0.219787 0.219787 0.217893 0.223573 0.223573 +0.217893 0.216 0.000986667 0.000986667 0.216 0.216 0.216 0.216 +0.22168 0.000993333 0.000993333 0.000993333 0.000993333 0.22168 0.219787 0.216 +0.00096 0.000953333 0.00098 0.217893 0.22168 0.223573 0.000993333 0.000993333 +0.000986667 0.000973333 0.000993333 0.000986667 0.000966667 0.00098 0.216 0.22168 +0.225467 0.22736 0.225467 0.219787 0.219787 0.217893 0.000993333 0.000986667 +0.000993333 0.000993333 0.217893 0.000993333 0.000993333 0.217893 0.00098 0.000946667 +0.000953333 0.00096 0.00098 0.217893 0.000973333 0.000973333 0.000986667 0.00098 +0.000986667 0.000986667 0.000953333 0.000953333 0.000946667 0.000953333 0.00096 0.000953333 +0.000973333 0.000986667 0.000953333 0.00094 0.000953333 0.000993333 0.219787 0.000986667 +0.000953333 0.000946667 0.000953333 0.000946667 0.000933333 0.00092 0.000953333 0.000973333 +0.000913333 0.00092 0.00092 0.00092 0.000966667 0.00096 0.000913333 0.000893333 +0.00096 0.000913333 0.000913333 0.000926667 0.00094 0.00094 0.0009 0.00088 +0.000906667 0.000913333 0.000886667 0.000926667 0.00092 0.000873333 0.000873333 0.0009 +0.0009 0.0009 0.00088 0.000846667 0.000853333 0.000873333 0.00088 0.00082 +0.000833333 0.00082 0.000793333 0.000826667 0.000853333 0.00086 0.000906667 0.0009 +0.000913333 0.000953333 0.00094 0.0009 0.000906667 0.000926667 0.000913333 0.00088 +0.000893333 0.00086 0.000853333 0.000893333 0.000886667 0.000913333 0.00092 0.00088 +0.000866667 0.00084 0.000893333 0.00092 0.000893333 0.000886667 0.00088 0.000893333 +0.000926667 0.000886667 0.000853333 0.000913333 0.000933333 0.0009 0.00092 0.000933333 +0.00094 0.00092 0.000866667 0.000913333 0.000906667 0.000926667 0.000926667 0.00092 +0.000933333 0.00094 0.00092 0.000886667 0.00088 0.000893333 0.000926667 0.000926667 +0.000946667 0.000946667 0.00094 0.00096 0.0009 0.00088 0.000933333 0.000953333 +0.00092 0.000893333 0.000886667 0.000846667 0.000893333 0.000873333 0.000873333 0.000933333 +0.000933333 0.000906667 0.000946667 0.000946667 0.000933333 0.000893333 0.000886667 0.000913333 +0.0009 0.000893333 0.000873333 0.000886667 0.00088 0.000893333 0.00088 0.00092 +0.000913333 0.000913333 0.0009 0.000893333 0.00092 0.000933333 0.00088 0.00088 +0.00092 0.000893333 0.0009 0.000913333 0.000926667 0.000933333 0.000953333 0.000953333 +0.000953333 0.000953333 0.000933333 0.000906667 0.00092 0.00092 0.000933333 0.000946667 +0.00094 0.000966667 0.000966667 0.000946667 0.000926667 0.000946667 0.000933333 0.000966667 +0.000953333 0.000926667 0.000926667 0.000966667 0.000966667 0.00092 0.000933333 0.00094 +0.00088 0.0009 0.000933333 0.0009 0.00092 0.000933333 0.000913333 0.000913333 +0.000933333 0.000933333 0.000913333 0.00094 0.000933333 0.00092 0.000926667 0.000966667 +0.00098 0.000946667 0.000946667 0.00094 0.000946667 0.000953333 0.000946667 0.000953333 +0.000953333 0.00094 0.000953333 0.00098 0.000973333 0.000973333 0.000973333 0.000973333 +0.000966667 0.000946667 0.000966667 0.00098 0.000993333 0.00096 0.00094 0.000973333 +0.00098 0.000973333 0.000973333 0.000986667 0.000993333 0.000993333 0.000986667 0.000973333 +0.000966667 0.216 0.000993333 0.000986667 0.000986667 0.000973333 0.00098 0.00096 +0.000973333 0.216 0.000973333 0.000973333 0.000986667 0.000986667 0.217893 0.22168 +0.22168 0.217893 0.00096 0.000966667 0.000986667 0.216 0.225467 0.22168 +0.216 0.219787 0.219787 0.216 0.000993333 0.217893 0.000993333 0.00098 +0.000973333 0.216 0.223573 0.22736 0.22736 0.219787 0.216 0.00098 +0.000986667 0.000986667 0.219787 0.229253 0.240613 0.236827 0.236827 0.248187 +0.25008 0.253867 0.269013 0.280373 0.293627 0.308773 0.34096 0.42048 +0.534737 0.642737 0.792421 0.959789 1.0169 0.981959 0.809474 0.642737 +0.536 0.462133 0.4432 0.500632 0.557474 0.663579 0.815789 0.971158 +1.02669 1.04596 1.04955 1.03388 0.98 0.810737 0.637053 0.514526 +0.35232 0.270907 0.236827 0.219787 0.000986667 0.000966667 0.00094 0.00094 +0.00094 0.000926667 0.000926667 0.000913333 0.0009 0.000866667 0.000853333 0.000866667 +0.00086 0.000846667 0.000873333 0.000873333 0.000866667 0.000873333 0.000833333 0.000806667 +0.000786667 0.000753333 0.000813333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000913333 0.0009 +0.000886667 0.00086 0.000853333 0.000813333 0.00078 0.000773333 0.000726667 0.00074 +0.000806667 0.00084 0.00086 0.00086 0.000866667 0.00082 0.0008 0.000786667 +0.000826667 0.000833333 0.0008 0.00082 0.000886667 0.000893333 0.000906667 0.000913333 +0.000886667 0.000886667 0.000913333 0.000946667 0.000946667 0.000986667 0.22736 0.23872 +0.265227 0.342853 0.516421 0.646526 0.824 0.987184 1.04008 1.05282 +1.04694 1.01592 0.914947 0.745053 0.606737 0.522105 0.46592 0.479173 +0.537263 0.638316 0.803158 0.974316 1.01363 0.964842 0.792421 0.630737 +0.523368 0.405333 0.331493 0.303093 0.282267 0.2728 0.270907 0.259547 +0.234933 0.225467 0.234933 0.240613 0.236827 0.240613 0.234933 0.23304 +0.22736 0.23304 0.231147 0.22168 0.225467 0.229253 0.223573 0.000993333 +0.00096 0.000986667 0.00098 0.216 0.229253 0.225467 0.217893 0.00098 +0.00098 0.00098 0.000993333 0.000993333 0.217893 0.216 0.216 0.216 +0.000946667 0.000946667 0.217893 0.22168 0.22168 0.000993333 0.000993333 0.000993333 +0.00098 0.000986667 0.216 0.000993333 0.216 0.000993333 0.000986667 0.223573 +0.22168 0.22168 0.216 0.000986667 0.216 0.000986667 0.000953333 0.000986667 +0.223573 0.216 0.000986667 0.00098 0.216 0.217893 0.00098 0.000953333 +0.000946667 0.000953333 0.00098 0.217893 0.216 0.00098 0.00098 0.000986667 +0.216 0.00098 0.000966667 0.00098 0.000973333 0.000973333 0.00096 0.000953333 +0.000973333 0.00096 0.00094 0.00094 0.000993333 0.00098 0.000953333 0.000933333 +0.00094 0.000946667 0.000906667 0.000953333 0.00094 0.000913333 0.00092 0.000953333 +0.000946667 0.000933333 0.00094 0.00096 0.000946667 0.00092 0.000913333 0.000933333 +0.000926667 0.0009 0.000913333 0.000906667 0.00092 0.000893333 0.000873333 0.000913333 +0.000933333 0.000926667 0.000913333 0.000926667 0.000933333 0.00088 0.000906667 0.00094 +0.00088 0.000866667 0.000913333 0.000873333 0.00086 0.000873333 0.000846667 0.00084 +0.00086 0.000853333 0.000866667 0.000866667 0.000873333 0.0009 0.00092 0.000873333 +0.00092 0.000913333 0.000913333 0.0009 0.00092 0.000926667 0.000906667 0.00086 +0.000886667 0.000866667 0.000866667 0.000893333 0.000906667 0.000946667 0.000926667 0.000866667 +0.000886667 0.00088 0.000913333 0.0009 0.000886667 0.000893333 0.000886667 0.0009 +0.000906667 0.000886667 0.0009 0.00092 0.00092 0.000913333 0.000913333 0.00092 +0.000933333 0.00088 0.000873333 0.000906667 0.000886667 0.000913333 0.00092 0.000906667 +0.00092 0.000913333 0.0009 0.0009 0.000893333 0.000893333 0.00094 0.000933333 +0.00094 0.000946667 0.000926667 0.00094 0.000866667 0.00086 0.000933333 0.00094 +0.00086 0.000886667 0.000926667 0.0009 0.000906667 0.000886667 0.000933333 0.00096 +0.000946667 0.00092 0.000946667 0.000933333 0.000926667 0.000886667 0.00086 0.000886667 +0.00088 0.000906667 0.000906667 0.00092 0.000913333 0.00092 0.000906667 0.0009 +0.0009 0.00088 0.0009 0.000886667 0.000933333 0.000946667 0.000873333 0.00088 +0.000886667 0.000906667 0.000913333 0.00094 0.000946667 0.00094 0.00096 0.000946667 +0.000933333 0.000913333 0.000926667 0.000926667 0.0009 0.00088 0.00092 0.000946667 +0.000933333 0.000966667 0.00094 0.000946667 0.000946667 0.000933333 0.00092 0.00096 +0.00094 0.000933333 0.000966667 0.217893 0.000986667 0.000933333 0.000953333 0.000946667 +0.00092 0.00094 0.00096 0.000946667 0.00094 0.0009 0.000873333 0.00088 +0.000926667 0.00092 0.000926667 0.00094 0.00094 0.000933333 0.000933333 0.000953333 +0.000946667 0.000926667 0.00094 0.000946667 0.000966667 0.00096 0.00094 0.00094 +0.000953333 0.000933333 0.000926667 0.000953333 0.000986667 0.216 0.000953333 0.000953333 +0.000953333 0.00094 0.000953333 0.000986667 0.000986667 0.000986667 0.00096 0.000953333 +0.000966667 0.00096 0.000946667 0.00096 0.216 0.219787 0.000993333 0.00098 +0.000953333 0.000973333 0.217893 0.000986667 0.217893 0.217893 0.00098 0.000966667 +0.000966667 0.219787 0.216 0.00098 0.000993333 0.00098 0.000993333 0.000986667 +0.217893 0.219787 0.00098 0.00096 0.000966667 0.000986667 0.219787 0.219787 +0.000993333 0.216 0.000993333 0.216 0.000993333 0.00098 0.000986667 0.217893 +0.217893 0.225467 0.229253 0.229253 0.229253 0.223573 0.216 0.216 +0.223573 0.217893 0.216 0.225467 0.236827 0.2444 0.2444 0.251973 +0.265227 0.26712 0.28416 0.293627 0.299307 0.34096 0.42048 0.530316 +0.642105 0.806947 0.971789 1.01363 0.972421 0.799368 0.636421 0.534105 +0.46592 0.45456 0.507579 0.564421 0.676842 0.835368 0.982286 1.03094 +1.0489 1.05053 1.03029 0.964842 0.796211 0.626947 0.506316 0.3296 +0.263333 0.23304 0.000986667 0.000946667 0.000973333 0.000986667 0.000966667 0.00094 +0.00092 0.000913333 0.000913333 0.000906667 0.000886667 0.000866667 0.000873333 0.00088 +0.000866667 0.00084 0.000853333 0.000873333 0.000866667 0.00088 0.000853333 0.000826667 +0.000806667 0.000833333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000906667 +0.000846667 0.00084 0.000826667 0.000773333 0.000766667 0.000793333 0.00078 0.000813333 +0.000813333 0.00082 0.000806667 0.000826667 0.00084 0.0008 0.000806667 0.000833333 +0.000813333 0.000793333 0.000806667 0.000846667 0.000866667 0.00086 0.000833333 0.00086 +0.00088 0.000886667 0.000913333 0.00094 0.000926667 0.000973333 0.000993333 0.217893 +0.234933 0.26712 0.350427 0.515789 0.642105 0.816421 0.984245 1.03845 +1.05478 1.04792 1.01624 0.923158 0.758316 0.611158 0.525895 0.469707 +0.47728 0.534105 0.637053 0.803158 0.971789 1.01265 0.961053 0.791158 +0.629474 0.518947 0.395867 0.34096 0.31256 0.291733 0.280373 0.257653 +0.248187 0.246293 0.242507 0.2444 0.2444 0.240613 0.240613 0.231147 +0.223573 0.231147 0.229253 0.23304 0.234933 0.231147 0.22168 0.000993333 +0.00096 0.000973333 0.000986667 0.223573 0.225467 0.22168 0.217893 0.000993333 +0.000986667 0.000986667 0.000993333 0.216 0.22168 0.000986667 0.216 0.000993333 +0.00096 0.000986667 0.22168 0.216 0.000993333 0.000973333 0.000986667 0.000986667 +0.219787 0.22168 0.217893 0.216 0.000993333 0.000946667 0.000973333 0.22168 +0.216 0.000986667 0.00098 0.000993333 0.219787 0.216 0.000986667 0.22168 +0.219787 0.00098 0.000973333 0.000993333 0.217893 0.000973333 0.000953333 0.000953333 +0.000973333 0.217893 0.000993333 0.000993333 0.216 0.000986667 0.000973333 0.000986667 +0.22168 0.217893 0.217893 0.219787 0.217893 0.216 0.00096 0.00096 +0.000966667 0.00096 0.00096 0.000973333 0.000986667 0.000953333 0.000946667 0.000933333 +0.00094 0.00092 0.000886667 0.000913333 0.000933333 0.000946667 0.00094 0.000953333 +0.000986667 0.00094 0.000913333 0.00092 0.00094 0.000926667 0.000933333 0.00096 +0.000893333 0.000886667 0.00092 0.000906667 0.000926667 0.00088 0.000873333 0.000893333 +0.000933333 0.000913333 0.000913333 0.000946667 0.00092 0.0009 0.00092 0.000886667 +0.00086 0.000866667 0.00088 0.00088 0.000833333 0.000853333 0.0009 0.000853333 +0.00086 0.000886667 0.000906667 0.000913333 0.00094 0.00096 0.00094 0.000873333 +0.000866667 0.000866667 0.000866667 0.000873333 0.00094 0.000933333 0.0009 0.00088 +0.000893333 0.000846667 0.0009 0.000913333 0.00092 0.00092 0.0009 0.000866667 +0.00088 0.000886667 0.000906667 0.000893333 0.000886667 0.000906667 0.000873333 0.000906667 +0.0009 0.000906667 0.000933333 0.000913333 0.000926667 0.00092 0.0009 0.000913333 +0.00092 0.000826667 0.000833333 0.000886667 0.000893333 0.000926667 0.000913333 0.000926667 +0.00094 0.000926667 0.00092 0.000926667 0.0009 0.000886667 0.00092 0.000893333 +0.000946667 0.000973333 0.000926667 0.0009 0.000833333 0.00086 0.000913333 0.0009 +0.000833333 0.000913333 0.00094 0.000886667 0.00092 0.000926667 0.00096 0.00096 +0.000946667 0.000913333 0.00092 0.000906667 0.00088 0.00084 0.000846667 0.000913333 +0.000913333 0.000953333 0.000946667 0.00096 0.000946667 0.000953333 0.000906667 0.0009 +0.000906667 0.0009 0.00092 0.00094 0.000933333 0.000926667 0.000926667 0.000913333 +0.000906667 0.000913333 0.00092 0.000953333 0.000933333 0.00092 0.000926667 0.000946667 +0.00092 0.000893333 0.00094 0.000946667 0.000886667 0.000886667 0.000906667 0.000953333 +0.000953333 0.00094 0.00094 0.000973333 0.000933333 0.000913333 0.000926667 0.000946667 +0.000946667 0.000946667 0.00096 0.000966667 0.00098 0.00096 0.00094 0.000946667 +0.000946667 0.000973333 0.000966667 0.000986667 0.00094 0.0009 0.000886667 0.0009 +0.000913333 0.00092 0.000906667 0.0009 0.00096 0.00094 0.000926667 0.000946667 +0.000913333 0.000953333 0.000966667 0.000933333 0.000953333 0.000966667 0.00096 0.000973333 +0.000973333 0.000946667 0.000946667 0.000933333 0.00096 0.000973333 0.000953333 0.00096 +0.000966667 0.000966667 0.000926667 0.000926667 0.00098 0.00098 0.000986667 0.000986667 +0.000986667 0.00098 0.000966667 0.000953333 0.00096 0.000986667 0.00098 0.217893 +0.216 0.000993333 0.000993333 0.000973333 0.000993333 0.219787 0.000993333 0.00098 +0.216 0.216 0.00096 0.000973333 0.217893 0.216 0.216 0.000986667 +0.219787 0.223573 0.000993333 0.00098 0.00098 0.219787 0.22168 0.219787 +0.217893 0.219787 0.219787 0.225467 0.000986667 0.000973333 0.217893 0.22736 +0.22736 0.223573 0.225467 0.231147 0.229253 0.22736 0.22168 0.223573 +0.229253 0.22736 0.22736 0.23304 0.240613 0.248187 0.248187 0.248187 +0.269013 0.27848 0.28984 0.310667 0.350427 0.433733 0.530947 0.638316 +0.804421 0.975579 1.01461 0.961684 0.789263 0.630737 0.529684 0.458347 +0.452667 0.513263 0.575789 0.693263 0.853053 0.990122 1.03453 1.04988 +1.04922 1.02669 0.950316 0.775368 0.613684 0.501895 0.327707 0.257653 +0.231147 0.000966667 0.00094 0.000926667 0.00094 0.00096 0.00096 0.000933333 +0.000913333 0.0009 0.00088 0.000873333 0.000886667 0.000853333 0.000846667 0.000866667 +0.000886667 0.000846667 0.00084 0.000873333 0.000866667 0.000866667 0.000866667 0.00084 +0.000873333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000866667 0.00084 0.000826667 0.000786667 0.000786667 0.000786667 0.000773333 0.000793333 +0.000793333 0.00082 0.000826667 0.00084 0.000826667 0.000806667 0.000806667 0.000813333 +0.000826667 0.00082 0.000813333 0.000793333 0.000826667 0.000853333 0.000853333 0.000866667 +0.000866667 0.00088 0.000886667 0.000913333 0.00092 0.000946667 0.000953333 0.000973333 +0.219787 0.240613 0.265227 0.33528 0.508211 0.629474 0.808211 0.982286 +1.03714 1.05445 1.04792 1.01853 0.930737 0.762105 0.620632 0.530316 +0.4716 0.475387 0.535368 0.636421 0.802526 0.974947 1.01331 0.960421 +0.791789 0.635789 0.529053 0.416693 0.344747 0.314453 0.287947 0.26144 +0.253867 0.253867 0.25576 0.251973 0.25008 0.2444 0.23872 0.236827 +0.236827 0.234933 0.231147 0.234933 0.23304 0.22736 0.216 0.000986667 +0.00096 0.216 0.22736 0.229253 0.22168 0.000993333 0.216 0.216 +0.217893 0.000986667 0.00098 0.219787 0.216 0.000993333 0.217893 0.000993333 +0.00098 0.217893 0.216 0.000986667 0.000993333 0.000973333 0.000973333 0.216 +0.22168 0.22168 0.00098 0.00098 0.00098 0.00094 0.000973333 0.219787 +0.216 0.000993333 0.217893 0.219787 0.219787 0.216 0.216 0.219787 +0.000993333 0.000973333 0.000986667 0.219787 0.000993333 0.00098 0.000966667 0.00096 +0.00098 0.000993333 0.00098 0.000966667 0.000993333 0.000966667 0.000953333 0.00098 +0.216 0.00098 0.00098 0.000973333 0.000953333 0.000946667 0.00096 0.000973333 +0.000966667 0.00096 0.000953333 0.000986667 0.000986667 0.000973333 0.00096 0.000946667 +0.000946667 0.0009 0.000886667 0.000926667 0.000953333 0.00096 0.000946667 0.000953333 +0.00094 0.0009 0.000906667 0.000913333 0.000946667 0.00094 0.000953333 0.0009 +0.000853333 0.000893333 0.0009 0.000926667 0.000933333 0.0009 0.0009 0.000906667 +0.000926667 0.000886667 0.000926667 0.000926667 0.000906667 0.000893333 0.000886667 0.000873333 +0.00084 0.000833333 0.000873333 0.00086 0.000846667 0.000893333 0.000886667 0.000893333 +0.000866667 0.000893333 0.00094 0.000906667 0.00094 0.000953333 0.000933333 0.0009 +0.000893333 0.000853333 0.000853333 0.00086 0.00092 0.000906667 0.0009 0.000906667 +0.0009 0.000893333 0.000953333 0.00092 0.0009 0.000906667 0.00092 0.000886667 +0.000866667 0.000906667 0.000926667 0.000906667 0.000893333 0.000906667 0.00088 0.000933333 +0.000933333 0.00092 0.000913333 0.000913333 0.000913333 0.0009 0.000873333 0.000913333 +0.000913333 0.00082 0.00086 0.000906667 0.0009 0.000926667 0.000886667 0.0009 +0.000946667 0.000933333 0.000926667 0.000913333 0.000913333 0.0009 0.0009 0.000873333 +0.000926667 0.000926667 0.00092 0.0009 0.00086 0.000886667 0.000906667 0.0009 +0.000866667 0.000946667 0.000926667 0.00088 0.000906667 0.000933333 0.000933333 0.00092 +0.000893333 0.000846667 0.0009 0.00092 0.000886667 0.00088 0.00088 0.000946667 +0.00094 0.00096 0.00094 0.000933333 0.000946667 0.000953333 0.00092 0.00088 +0.000906667 0.0009 0.000926667 0.000946667 0.00092 0.00094 0.00094 0.000933333 +0.000913333 0.000946667 0.000946667 0.000933333 0.00092 0.000906667 0.000926667 0.000933333 +0.000906667 0.000913333 0.000946667 0.000913333 0.000873333 0.0009 0.00092 0.00098 +0.000966667 0.00094 0.00096 0.00096 0.00092 0.00092 0.000933333 0.00094 +0.000953333 0.000953333 0.000946667 0.00092 0.00092 0.000953333 0.00094 0.000966667 +0.000966667 0.000953333 0.000973333 0.216 0.000973333 0.000926667 0.00094 0.00096 +0.00094 0.000926667 0.000906667 0.0009 0.000926667 0.000906667 0.000886667 0.000906667 +0.000906667 0.000933333 0.000953333 0.00094 0.00092 0.00092 0.000933333 0.000966667 +0.000966667 0.000966667 0.00098 0.000973333 0.00096 0.00094 0.000946667 0.000966667 +0.00096 0.000953333 0.000946667 0.000906667 0.00096 0.00098 0.00096 0.000966667 +0.00098 0.000966667 0.00098 0.000973333 0.00098 0.000973333 0.000986667 0.22168 +0.217893 0.00098 0.000986667 0.000993333 0.216 0.219787 0.219787 0.000993333 +0.00098 0.000973333 0.00096 0.000973333 0.000993333 0.216 0.217893 0.216 +0.22168 0.223573 0.219787 0.000993333 0.000953333 0.000973333 0.217893 0.22168 +0.22168 0.22736 0.217893 0.216 0.00098 0.216 0.223573 0.22736 +0.223573 0.219787 0.217893 0.225467 0.22736 0.229253 0.22736 0.22736 +0.223573 0.23304 0.234933 0.240613 0.242507 0.248187 0.263333 0.265227 +0.270907 0.28984 0.310667 0.348533 0.46024 0.551158 0.653474 0.808842 +0.975579 1.012 0.954105 0.778526 0.622526 0.530316 0.46592 0.456453 +0.517684 0.590316 0.710316 0.866947 0.997306 1.03812 1.05118 1.04922 +1.02245 0.933263 0.753263 0.596 0.479173 0.316347 0.25008 0.22736 +0.217893 0.00098 0.00094 0.000926667 0.000926667 0.00092 0.000913333 0.000913333 +0.0009 0.000893333 0.000893333 0.000873333 0.00088 0.000846667 0.000846667 0.00086 +0.000866667 0.000873333 0.000826667 0.000826667 0.000873333 0.000866667 0.000846667 0.000893333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000873333 0.000806667 0.000753333 0.000746667 0.000766667 0.000766667 0.000793333 +0.00082 0.000846667 0.00084 0.00084 0.000826667 0.000786667 0.000773333 0.000813333 +0.00082 0.0008 0.000806667 0.000806667 0.00082 0.00084 0.000853333 0.000853333 +0.00084 0.00086 0.000893333 0.000933333 0.0009 0.00092 0.000933333 0.000933333 +0.000953333 0.219787 0.23304 0.26144 0.333387 0.504421 0.626947 0.798737 +0.971789 1.0342 1.05216 1.04955 1.02278 0.940211 0.772842 0.624421 +0.532211 0.475387 0.479173 0.536 0.642737 0.811368 0.98 1.01461 +0.967368 0.809474 0.650316 0.532842 0.412907 0.337173 0.310667 0.293627 +0.27848 0.26144 0.259547 0.257653 0.25008 0.236827 0.234933 0.240613 +0.23872 0.236827 0.234933 0.225467 0.22736 0.22168 0.219787 0.217893 +0.217893 0.231147 0.234933 0.229253 0.225467 0.000993333 0.00098 0.00098 +0.22168 0.216 0.219787 0.223573 0.217893 0.216 0.219787 0.216 +0.000973333 0.000973333 0.000986667 0.000993333 0.217893 0.00098 0.00098 0.225467 +0.22736 0.217893 0.00098 0.00098 0.000973333 0.000986667 0.216 0.217893 +0.217893 0.219787 0.223573 0.225467 0.219787 0.000993333 0.000986667 0.000953333 +0.00096 0.000973333 0.216 0.217893 0.217893 0.000993333 0.00098 0.00098 +0.216 0.000993333 0.000993333 0.00098 0.000986667 0.000966667 0.000973333 0.217893 +0.216 0.000973333 0.000966667 0.000953333 0.000946667 0.000946667 0.000973333 0.00096 +0.00094 0.00094 0.00096 0.000986667 0.00098 0.000966667 0.000933333 0.000926667 +0.00094 0.00092 0.000926667 0.000946667 0.00094 0.000933333 0.000926667 0.000933333 +0.000906667 0.00094 0.000933333 0.000926667 0.00094 0.000926667 0.000913333 0.00086 +0.00088 0.000926667 0.000946667 0.000946667 0.000933333 0.000926667 0.0009 0.0009 +0.000913333 0.000873333 0.000893333 0.000886667 0.00086 0.000873333 0.000893333 0.000873333 +0.000846667 0.00084 0.00086 0.00088 0.000893333 0.000926667 0.000893333 0.000893333 +0.000906667 0.00092 0.000926667 0.00092 0.000953333 0.000933333 0.000906667 0.0009 +0.000906667 0.000886667 0.000873333 0.0009 0.000926667 0.00088 0.000833333 0.000853333 +0.00088 0.0009 0.000926667 0.000906667 0.000926667 0.00094 0.000926667 0.000886667 +0.00086 0.000933333 0.000933333 0.000893333 0.000906667 0.000906667 0.000893333 0.00096 +0.000926667 0.00088 0.000906667 0.000933333 0.000926667 0.000873333 0.000873333 0.0009 +0.00088 0.000826667 0.0009 0.000913333 0.000926667 0.000933333 0.000873333 0.000873333 +0.000906667 0.00092 0.0009 0.000893333 0.000913333 0.000926667 0.00094 0.000886667 +0.00092 0.000926667 0.00092 0.00092 0.00088 0.000866667 0.000913333 0.00094 +0.0009 0.00092 0.000886667 0.000853333 0.00088 0.000933333 0.00092 0.000886667 +0.000866667 0.000853333 0.000913333 0.00094 0.000926667 0.000933333 0.000913333 0.000933333 +0.000926667 0.000946667 0.000926667 0.000946667 0.00094 0.000913333 0.000913333 0.000893333 +0.000893333 0.00092 0.000946667 0.00094 0.000946667 0.00098 0.000953333 0.000886667 +0.0009 0.00096 0.000933333 0.000906667 0.000906667 0.00094 0.00094 0.000953333 +0.000926667 0.000933333 0.000953333 0.000926667 0.0009 0.000893333 0.000906667 0.00096 +0.000933333 0.000906667 0.00094 0.000953333 0.000946667 0.00094 0.00094 0.000926667 +0.00092 0.000933333 0.00096 0.000933333 0.000926667 0.000946667 0.000933333 0.00096 +0.000966667 0.000946667 0.000973333 0.000993333 0.000966667 0.000933333 0.000946667 0.000986667 +0.00096 0.000953333 0.000953333 0.00094 0.00092 0.000926667 0.000893333 0.000906667 +0.000926667 0.00092 0.000953333 0.000973333 0.000906667 0.000906667 0.00092 0.000946667 +0.000946667 0.000966667 0.00098 0.000986667 0.000946667 0.000933333 0.000953333 0.000966667 +0.00096 0.000953333 0.000966667 0.000946667 0.00094 0.00098 0.000966667 0.000946667 +0.000953333 0.000946667 0.00096 0.000973333 0.00098 0.000973333 0.000993333 0.22168 +0.219787 0.219787 0.217893 0.219787 0.217893 0.219787 0.219787 0.219787 +0.216 0.00098 0.000973333 0.000973333 0.216 0.217893 0.217893 0.219787 +0.219787 0.219787 0.219787 0.000993333 0.000986667 0.000993333 0.217893 0.219787 +0.225467 0.22736 0.223573 0.217893 0.217893 0.22168 0.22168 0.217893 +0.217893 0.219787 0.225467 0.229253 0.22736 0.22736 0.22736 0.22736 +0.23304 0.242507 0.2444 0.248187 0.248187 0.251973 0.269013 0.28416 +0.28984 0.310667 0.361787 0.45456 0.557474 0.676842 0.833474 0.981959 +1.01037 0.944632 0.771579 0.618737 0.525895 0.464027 0.469707 0.520842 +0.597263 0.728632 0.889053 1.00253 1.04073 1.05314 1.0489 1.01755 +0.914947 0.736211 0.578947 0.446987 0.30688 0.253867 0.225467 0.00098 +0.000973333 0.000953333 0.00094 0.000946667 0.00094 0.000933333 0.00088 0.000866667 +0.00086 0.000833333 0.00088 0.00088 0.000846667 0.000846667 0.000866667 0.00086 +0.00086 0.000886667 0.00084 0.000813333 0.000853333 0.000853333 0.000893333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000826667 0.000766667 0.000753333 0.000766667 0.00076 0.000766667 +0.000833333 0.000873333 0.00084 0.00082 0.000806667 0.000793333 0.000806667 0.000826667 +0.0008 0.000813333 0.000806667 0.000806667 0.000826667 0.000833333 0.000853333 0.000826667 +0.000826667 0.000866667 0.000893333 0.000886667 0.00088 0.000906667 0.000893333 0.00092 +0.000933333 0.000966667 0.225467 0.246293 0.265227 0.32392 0.498107 0.613053 +0.783579 0.962316 1.03322 1.05641 1.05216 1.02441 0.947789 0.782316 +0.629474 0.534105 0.481067 0.486747 0.542947 0.649684 0.815158 0.981306 +1.01657 0.976842 0.818316 0.657263 0.536 0.412907 0.34096 0.32392 +0.310667 0.27848 0.263333 0.26144 0.246293 0.236827 0.240613 0.23872 +0.229253 0.231147 0.23304 0.225467 0.22168 0.22168 0.22168 0.229253 +0.229253 0.234933 0.22736 0.22736 0.219787 0.216 0.00098 0.000993333 +0.216 0.216 0.219787 0.216 0.000986667 0.00098 0.216 0.000986667 +0.00096 0.000966667 0.000986667 0.22168 0.223573 0.000986667 0.00098 0.223573 +0.219787 0.000993333 0.216 0.00098 0.000973333 0.217893 0.216 0.219787 +0.225467 0.22168 0.22168 0.225467 0.217893 0.000973333 0.000953333 0.000953333 +0.216 0.22168 0.000993333 0.00098 0.000986667 0.000993333 0.216 0.217893 +0.217893 0.000993333 0.00098 0.000946667 0.000966667 0.000993333 0.217893 0.000986667 +0.000953333 0.000966667 0.000973333 0.00096 0.000966667 0.000966667 0.000973333 0.00094 +0.000933333 0.000966667 0.000993333 0.000986667 0.000953333 0.00092 0.000926667 0.000953333 +0.000933333 0.000933333 0.000946667 0.00094 0.00092 0.000906667 0.000926667 0.000926667 +0.000886667 0.000926667 0.000946667 0.000953333 0.000913333 0.000913333 0.000906667 0.000866667 +0.000933333 0.00096 0.00096 0.00096 0.000926667 0.000913333 0.000886667 0.00088 +0.000873333 0.00086 0.00086 0.00084 0.000866667 0.000893333 0.000873333 0.00088 +0.000846667 0.00088 0.000906667 0.000886667 0.0009 0.000933333 0.000886667 0.000913333 +0.000913333 0.000926667 0.000906667 0.000946667 0.00096 0.000906667 0.00086 0.0009 +0.000933333 0.00088 0.000893333 0.000933333 0.00094 0.000886667 0.00088 0.000893333 +0.000873333 0.00088 0.000893333 0.000886667 0.000933333 0.000973333 0.000933333 0.0009 +0.000893333 0.00094 0.0009 0.00088 0.0009 0.00088 0.000893333 0.000933333 +0.000886667 0.000866667 0.000906667 0.000926667 0.000906667 0.00088 0.00088 0.000893333 +0.000853333 0.000826667 0.000906667 0.000913333 0.00092 0.00092 0.000873333 0.000853333 +0.000873333 0.000886667 0.000886667 0.000886667 0.0009 0.000926667 0.000926667 0.0009 +0.000953333 0.00096 0.00094 0.00094 0.000906667 0.00088 0.00092 0.000933333 +0.00088 0.000873333 0.000833333 0.00084 0.0009 0.000926667 0.000906667 0.000886667 +0.0009 0.0009 0.000933333 0.000946667 0.00096 0.000933333 0.0009 0.000906667 +0.000886667 0.000906667 0.000913333 0.000946667 0.000933333 0.00092 0.000933333 0.000913333 +0.00094 0.00096 0.00094 0.000913333 0.000953333 0.000993333 0.00094 0.0009 +0.0009 0.000973333 0.000926667 0.000893333 0.000933333 0.000926667 0.000953333 0.00098 +0.00092 0.000933333 0.000946667 0.000933333 0.000926667 0.000886667 0.000906667 0.00096 +0.000926667 0.000906667 0.00092 0.00092 0.00094 0.000933333 0.000933333 0.000913333 +0.00092 0.000953333 0.00094 0.000933333 0.000946667 0.000966667 0.000953333 0.000946667 +0.000946667 0.000933333 0.000946667 0.000966667 0.000966667 0.000946667 0.000953333 0.00096 +0.00096 0.000946667 0.000966667 0.000973333 0.000946667 0.00094 0.00092 0.000926667 +0.00094 0.000893333 0.000926667 0.000973333 0.000906667 0.000893333 0.00092 0.00094 +0.000926667 0.00092 0.000966667 0.00098 0.000933333 0.000913333 0.000926667 0.000966667 +0.00098 0.00096 0.000966667 0.00094 0.000933333 0.000986667 0.00098 0.00096 +0.00096 0.00094 0.000933333 0.00096 0.00096 0.00098 0.223573 0.219787 +0.223573 0.219787 0.000993333 0.217893 0.216 0.000986667 0.216 0.219787 +0.216 0.216 0.219787 0.219787 0.217893 0.00098 0.000973333 0.216 +0.217893 0.219787 0.219787 0.216 0.22168 0.229253 0.22168 0.223573 +0.223573 0.22168 0.225467 0.223573 0.217893 0.217893 0.22168 0.219787 +0.22168 0.223573 0.22168 0.229253 0.229253 0.231147 0.229253 0.231147 +0.236827 0.23872 0.246293 0.248187 0.259547 0.265227 0.276587 0.297413 +0.320133 0.350427 0.445093 0.556842 0.683789 0.849263 0.990449 1.01167 +0.937684 0.762737 0.612421 0.523368 0.467813 0.4716 0.528421 0.606105 +0.738105 0.903579 1.00906 1.04367 1.0551 1.04955 1.01429 0.900421 +0.717263 0.566316 0.418587 0.293627 0.248187 0.234933 0.000993333 0.000933333 +0.000953333 0.000946667 0.000933333 0.00092 0.0009 0.0009 0.000866667 0.00086 +0.00086 0.000846667 0.000866667 0.00086 0.000846667 0.00084 0.000826667 0.000846667 +0.000853333 0.000866667 0.000853333 0.000833333 0.000846667 0.000913333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000766667 0.000746667 0.000766667 0.000766667 0.0008 +0.000826667 0.00086 0.000846667 0.00084 0.000813333 0.0008 0.000806667 0.000786667 +0.0008 0.00082 0.000813333 0.000813333 0.000806667 0.00084 0.000853333 0.000826667 +0.000813333 0.000833333 0.00086 0.000866667 0.000873333 0.0009 0.000913333 0.000926667 +0.000926667 0.00096 0.000993333 0.219787 0.231147 0.251973 0.310667 0.473493 +0.606105 0.777263 0.960421 1.03094 1.05282 1.05282 1.02898 0.959158 +0.790526 0.635158 0.537263 0.486747 0.492427 0.546105 0.653474 0.816421 +0.981959 1.01918 0.982939 0.827789 0.658526 0.531579 0.407227 0.348533 +0.32392 0.297413 0.280373 0.26712 0.257653 0.25008 0.246293 0.242507 +0.236827 0.234933 0.23304 0.223573 0.22168 0.223573 0.22736 0.23872 +0.236827 0.229253 0.234933 0.231147 0.225467 0.000993333 0.219787 0.000993333 +0.00098 0.216 0.000986667 0.00098 0.216 0.217893 0.00098 0.000973333 +0.000993333 0.000993333 0.219787 0.22736 0.223573 0.00098 0.000973333 0.216 +0.000993333 0.219787 0.219787 0.000973333 0.216 0.22168 0.219787 0.217893 +0.22168 0.217893 0.219787 0.217893 0.00098 0.000966667 0.000973333 0.00096 +0.000986667 0.00098 0.000933333 0.00094 0.00098 0.000993333 0.217893 0.217893 +0.000986667 0.000966667 0.000953333 0.000953333 0.000973333 0.00098 0.000986667 0.000973333 +0.000953333 0.00096 0.000973333 0.000966667 0.000946667 0.000946667 0.000953333 0.000953333 +0.000946667 0.00098 0.000993333 0.000973333 0.000953333 0.000926667 0.000973333 0.00098 +0.000933333 0.00094 0.000946667 0.000953333 0.00092 0.00092 0.000946667 0.0009 +0.00092 0.00094 0.00096 0.000973333 0.00092 0.000906667 0.0009 0.000906667 +0.000933333 0.00096 0.000953333 0.00096 0.000933333 0.0009 0.00088 0.000853333 +0.000826667 0.000833333 0.000826667 0.000866667 0.000886667 0.000913333 0.000886667 0.00086 +0.0009 0.00094 0.000926667 0.000893333 0.0009 0.0009 0.00092 0.000926667 +0.000886667 0.000893333 0.000906667 0.00096 0.000933333 0.0009 0.00088 0.000906667 +0.000926667 0.0009 0.000913333 0.000953333 0.000953333 0.000906667 0.0009 0.000933333 +0.000913333 0.000926667 0.0009 0.00088 0.000906667 0.000933333 0.000913333 0.000906667 +0.00092 0.000953333 0.000893333 0.000893333 0.000913333 0.00086 0.0009 0.000906667 +0.00088 0.00086 0.000866667 0.0009 0.0009 0.000866667 0.00088 0.000906667 +0.000873333 0.000853333 0.0009 0.000906667 0.000913333 0.000886667 0.000853333 0.000853333 +0.000853333 0.000866667 0.00086 0.000893333 0.000933333 0.00092 0.000913333 0.00092 +0.000986667 0.00096 0.000913333 0.000906667 0.000893333 0.0009 0.000913333 0.000906667 +0.000873333 0.000893333 0.000873333 0.000886667 0.000933333 0.000953333 0.000926667 0.000933333 +0.00096 0.00092 0.000926667 0.00096 0.00096 0.000913333 0.0009 0.00092 +0.0009 0.000906667 0.000913333 0.00096 0.00096 0.000953333 0.000946667 0.000926667 +0.00096 0.000966667 0.000913333 0.000913333 0.00092 0.000946667 0.000933333 0.000926667 +0.000926667 0.00098 0.00092 0.000913333 0.000946667 0.000933333 0.000946667 0.000953333 +0.000933333 0.000933333 0.000933333 0.000953333 0.00094 0.000906667 0.000913333 0.00094 +0.000946667 0.000933333 0.000926667 0.000926667 0.000933333 0.000893333 0.000913333 0.00094 +0.000946667 0.000953333 0.000933333 0.000933333 0.000926667 0.00096 0.000973333 0.000953333 +0.000953333 0.00096 0.000946667 0.000966667 0.000973333 0.00094 0.000926667 0.00092 +0.000933333 0.00094 0.000966667 0.000966667 0.000946667 0.000953333 0.000973333 0.000973333 +0.000973333 0.000926667 0.000933333 0.000953333 0.000906667 0.0009 0.000926667 0.000926667 +0.000933333 0.00092 0.00096 0.00096 0.000913333 0.000893333 0.000913333 0.00096 +0.000966667 0.000946667 0.000953333 0.000953333 0.000953333 0.000986667 0.000973333 0.000966667 +0.000966667 0.000953333 0.000953333 0.000966667 0.00096 0.000993333 0.219787 0.00098 +0.217893 0.216 0.000993333 0.217893 0.00098 0.000986667 0.217893 0.216 +0.000993333 0.000986667 0.000993333 0.217893 0.216 0.000973333 0.000986667 0.219787 +0.000993333 0.217893 0.219787 0.217893 0.22168 0.22736 0.216 0.217893 +0.223573 0.229253 0.231147 0.22736 0.000993333 0.000993333 0.217893 0.217893 +0.229253 0.23304 0.219787 0.223573 0.231147 0.231147 0.234933 0.240613 +0.240613 0.242507 0.25008 0.253867 0.263333 0.274693 0.291733 0.316347 +0.356107 0.433733 0.548 0.681895 0.857474 0.992735 1.01004 0.930737 +0.757053 0.608 0.518947 0.45456 0.473493 0.530316 0.613684 0.751368 +0.914316 1.01363 1.04661 1.05543 1.04857 1.00873 0.882105 0.702105 +0.556211 0.40912 0.28984 0.246293 0.225467 0.000993333 0.00096 0.000926667 +0.00096 0.00096 0.000926667 0.000893333 0.000886667 0.000886667 0.000853333 0.00084 +0.00084 0.00084 0.000866667 0.000846667 0.000853333 0.00086 0.00084 0.00084 +0.000853333 0.000846667 0.00084 0.00082 0.000893333 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.0008 0.00078 0.000786667 0.000806667 +0.000833333 0.000846667 0.000826667 0.000793333 0.000793333 0.0008 0.000773333 0.000806667 +0.00084 0.000833333 0.000806667 0.000806667 0.00082 0.00082 0.000813333 0.000813333 +0.000806667 0.00082 0.00086 0.00086 0.000866667 0.0009 0.000926667 0.000913333 +0.0009 0.000933333 0.000973333 0.000986667 0.216 0.225467 0.248187 0.310667 +0.469707 0.601053 0.769053 0.949053 1.02963 1.05445 1.05282 1.03127 +0.966737 0.796211 0.640842 0.541053 0.48864 0.48864 0.544211 0.651579 +0.819579 0.983592 1.02016 0.984571 0.822737 0.647789 0.527158 0.411013 +0.35232 0.322027 0.303093 0.28416 0.26712 0.253867 0.25576 0.253867 +0.248187 0.242507 0.23872 0.23304 0.225467 0.229253 0.234933 0.23872 +0.229253 0.22736 0.231147 0.22736 0.22168 0.216 0.223573 0.217893 +0.223573 0.216 0.000973333 0.216 0.22168 0.219787 0.000993333 0.000993333 +0.22736 0.223573 0.217893 0.217893 0.216 0.000993333 0.000993333 0.000993333 +0.219787 0.219787 0.000986667 0.00098 0.217893 0.225467 0.219787 0.216 +0.217893 0.000993333 0.216 0.000993333 0.00098 0.217893 0.00098 0.00094 +0.000953333 0.00094 0.000926667 0.000946667 0.000986667 0.000993333 0.00098 0.000973333 +0.000966667 0.000953333 0.000946667 0.000966667 0.000966667 0.00098 0.000973333 0.00094 +0.000953333 0.000966667 0.000973333 0.000946667 0.00094 0.000973333 0.00098 0.00098 +0.000953333 0.00098 0.000973333 0.000946667 0.000946667 0.000946667 0.000966667 0.00094 +0.000913333 0.000946667 0.000966667 0.000953333 0.00092 0.00092 0.00094 0.00092 +0.000953333 0.00096 0.000966667 0.000946667 0.000926667 0.000926667 0.00092 0.000933333 +0.00094 0.000926667 0.000906667 0.000926667 0.000926667 0.0009 0.00088 0.000866667 +0.000813333 0.000873333 0.000853333 0.000866667 0.000906667 0.000913333 0.0009 0.000886667 +0.00092 0.000933333 0.0009 0.000893333 0.000906667 0.00092 0.000953333 0.000913333 +0.000866667 0.0009 0.000906667 0.000933333 0.00092 0.0009 0.000886667 0.000906667 +0.0009 0.000913333 0.000973333 0.000966667 0.00094 0.000906667 0.000893333 0.000926667 +0.000926667 0.00094 0.00092 0.000926667 0.000933333 0.000913333 0.000853333 0.000846667 +0.00088 0.000933333 0.0009 0.000906667 0.00092 0.000893333 0.000926667 0.00092 +0.00088 0.000853333 0.000853333 0.000893333 0.000906667 0.00088 0.000893333 0.00092 +0.000886667 0.000866667 0.000893333 0.000886667 0.0009 0.000873333 0.00084 0.00086 +0.00088 0.000893333 0.000886667 0.00092 0.000946667 0.00092 0.000933333 0.00096 +0.00098 0.00092 0.000846667 0.000846667 0.000853333 0.00086 0.0009 0.000913333 +0.0009 0.000926667 0.00092 0.00092 0.000926667 0.00094 0.000926667 0.000926667 +0.000953333 0.00092 0.00094 0.000966667 0.000953333 0.000906667 0.000893333 0.00092 +0.000913333 0.00094 0.00094 0.000966667 0.000973333 0.000953333 0.000926667 0.000933333 +0.00096 0.00094 0.000926667 0.00094 0.000906667 0.000926667 0.000933333 0.000966667 +0.000933333 0.00096 0.00094 0.000913333 0.000933333 0.00094 0.000906667 0.000946667 +0.000966667 0.000933333 0.000953333 0.000946667 0.000953333 0.000946667 0.000906667 0.000953333 +0.000946667 0.0009 0.000926667 0.000946667 0.000953333 0.000913333 0.000926667 0.000946667 +0.00094 0.000953333 0.000946667 0.000926667 0.0009 0.00094 0.000966667 0.000953333 +0.00098 0.00098 0.000946667 0.00094 0.000953333 0.000946667 0.000906667 0.00088 +0.000926667 0.000986667 0.000966667 0.00096 0.000953333 0.00096 0.000993333 0.000993333 +0.000993333 0.00096 0.00094 0.00096 0.00094 0.00092 0.000906667 0.000913333 +0.00094 0.000913333 0.000933333 0.00092 0.000906667 0.00092 0.000946667 0.000966667 +0.00096 0.00096 0.000953333 0.00096 0.00094 0.000966667 0.00098 0.00096 +0.000953333 0.000946667 0.000933333 0.00094 0.00096 0.000993333 0.216 0.00096 +0.00098 0.000986667 0.217893 0.217893 0.000966667 0.217893 0.219787 0.216 +0.217893 0.216 0.000986667 0.000993333 0.00098 0.00098 0.000993333 0.216 +0.216 0.216 0.217893 0.216 0.219787 0.219787 0.217893 0.223573 +0.225467 0.22168 0.22736 0.22168 0.000993333 0.219787 0.225467 0.223573 +0.22168 0.23304 0.229253 0.22736 0.234933 0.240613 0.23872 0.242507 +0.25008 0.248187 0.257653 0.270907 0.282267 0.291733 0.316347 0.358 +0.441307 0.546105 0.674947 0.854316 0.994694 1.00939 0.920632 0.747579 +0.604211 0.517053 0.44888 0.464027 0.532211 0.622526 0.763368 0.925684 +1.0169 1.04629 1.05412 1.04531 1.00318 0.866316 0.685684 0.547368 +0.395867 0.282267 0.240613 0.223573 0.00096 0.000933333 0.00096 0.00096 +0.000953333 0.000926667 0.000893333 0.000873333 0.000886667 0.000886667 0.00086 0.000866667 +0.000866667 0.00084 0.00086 0.00084 0.000813333 0.00084 0.000826667 0.000833333 +0.000873333 0.000853333 0.000826667 0.000893333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.0008 0.00078 0.000813333 +0.000833333 0.000813333 0.000806667 0.0008 0.0008 0.00078 0.000773333 0.000833333 +0.000826667 0.000786667 0.000793333 0.000793333 0.0008 0.000786667 0.000786667 0.000826667 +0.000846667 0.00084 0.000846667 0.000853333 0.00086 0.000886667 0.0009 0.000893333 +0.000906667 0.000933333 0.000953333 0.00096 0.00096 0.000973333 0.22736 0.251973 +0.30688 0.46024 0.596 0.764632 0.945263 1.02735 1.05184 1.0538 +1.03322 0.972421 0.805053 0.644 0.541053 0.481067 0.48296 0.549263 +0.657263 0.821474 0.984245 1.01951 0.98098 0.813263 0.640842 0.529053 +0.429947 0.358 0.32392 0.3012 0.276587 0.270907 0.263333 0.259547 +0.257653 0.25008 0.246293 0.236827 0.23872 0.2444 0.23872 0.234933 +0.23304 0.229253 0.229253 0.223573 0.22736 0.225467 0.217893 0.217893 +0.22168 0.216 0.217893 0.225467 0.217893 0.217893 0.000993333 0.217893 +0.229253 0.219787 0.000993333 0.217893 0.217893 0.217893 0.000986667 0.216 +0.22168 0.217893 0.000993333 0.000986667 0.216 0.216 0.216 0.000986667 +0.00098 0.217893 0.216 0.00098 0.00098 0.216 0.00096 0.000946667 +0.00096 0.000966667 0.000986667 0.000986667 0.000973333 0.000966667 0.000953333 0.00096 +0.000953333 0.00096 0.00096 0.00096 0.000973333 0.000986667 0.00096 0.000933333 +0.000953333 0.00094 0.00092 0.000926667 0.00096 0.00098 0.000973333 0.00098 +0.000993333 0.22168 0.000966667 0.000926667 0.000946667 0.00096 0.000953333 0.000926667 +0.000926667 0.000953333 0.000966667 0.00094 0.000913333 0.000926667 0.00092 0.000946667 +0.000953333 0.000946667 0.000953333 0.000933333 0.00094 0.00092 0.00092 0.00092 +0.000926667 0.000913333 0.000893333 0.00088 0.000873333 0.000873333 0.000873333 0.000866667 +0.000853333 0.000886667 0.00086 0.00088 0.000933333 0.000933333 0.000906667 0.000873333 +0.0009 0.000926667 0.000893333 0.000913333 0.00092 0.00092 0.000933333 0.00092 +0.000913333 0.00092 0.000953333 0.00096 0.000913333 0.000913333 0.000913333 0.0009 +0.00088 0.00094 0.00098 0.000953333 0.00094 0.00092 0.00094 0.00094 +0.000913333 0.000926667 0.000946667 0.00092 0.0009 0.000893333 0.000846667 0.00086 +0.00088 0.0009 0.000866667 0.00088 0.000906667 0.000906667 0.000926667 0.000926667 +0.000873333 0.000866667 0.00088 0.000913333 0.000926667 0.00086 0.000893333 0.000906667 +0.000853333 0.00086 0.000893333 0.000886667 0.0009 0.000893333 0.000886667 0.000886667 +0.000906667 0.000933333 0.000946667 0.00094 0.000946667 0.000913333 0.000913333 0.000913333 +0.000933333 0.000886667 0.000846667 0.000846667 0.000826667 0.00086 0.00092 0.00092 +0.000906667 0.000946667 0.000926667 0.000933333 0.00092 0.000906667 0.00092 0.00092 +0.000913333 0.000893333 0.000946667 0.000946667 0.000926667 0.000913333 0.000906667 0.000906667 +0.000926667 0.000933333 0.000933333 0.000953333 0.000946667 0.00094 0.000913333 0.00092 +0.00092 0.000933333 0.00094 0.000933333 0.000913333 0.000946667 0.000966667 0.000973333 +0.00092 0.000953333 0.00096 0.000926667 0.000913333 0.00092 0.000893333 0.000946667 +0.00098 0.000953333 0.000966667 0.000966667 0.00098 0.000946667 0.0009 0.000966667 +0.000946667 0.000913333 0.000926667 0.00096 0.000966667 0.000966667 0.000926667 0.000946667 +0.00094 0.000946667 0.000933333 0.000933333 0.00092 0.000946667 0.000953333 0.000933333 +0.000953333 0.000973333 0.00094 0.000933333 0.000973333 0.000973333 0.00092 0.000913333 +0.000933333 0.000973333 0.00096 0.000973333 0.000946667 0.000966667 0.00098 0.000966667 +0.00098 0.000973333 0.000946667 0.00096 0.000973333 0.000953333 0.000913333 0.000913333 +0.000946667 0.000953333 0.000933333 0.00092 0.000913333 0.0009 0.00092 0.000946667 +0.00096 0.000973333 0.000953333 0.000946667 0.000926667 0.000953333 0.000986667 0.00096 +0.000926667 0.000953333 0.000933333 0.000926667 0.000966667 0.217893 0.000986667 0.00096 +0.000966667 0.00098 0.217893 0.216 0.000966667 0.000993333 0.217893 0.216 +0.217893 0.217893 0.216 0.216 0.000993333 0.000993333 0.219787 0.216 +0.217893 0.216 0.219787 0.219787 0.223573 0.219787 0.219787 0.22168 +0.219787 0.216 0.22736 0.22168 0.000993333 0.217893 0.223573 0.223573 +0.225467 0.236827 0.2444 0.236827 0.234933 0.23872 0.236827 0.2444 +0.253867 0.257653 0.269013 0.28416 0.299307 0.316347 0.356107 0.458347 +0.56 0.686947 0.857474 0.992735 1.00482 0.910526 0.74 0.601053 +0.518316 0.450773 0.467813 0.534105 0.627579 0.777895 0.944632 1.0218 +1.04824 1.05412 1.04139 0.994367 0.848 0.673053 0.536 0.382613 +0.286053 0.246293 0.219787 0.000973333 0.000946667 0.000926667 0.000946667 0.000953333 +0.000926667 0.0009 0.0009 0.000873333 0.000873333 0.000866667 0.00086 0.00086 +0.000873333 0.000853333 0.00086 0.000866667 0.00084 0.000826667 0.00082 0.000833333 +0.00084 0.000826667 0.000893333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000806667 0.000826667 +0.000826667 0.000833333 0.00084 0.000813333 0.000786667 0.000786667 0.000806667 0.000806667 +0.000773333 0.000766667 0.0008 0.0008 0.000786667 0.000786667 0.000833333 0.00084 +0.000853333 0.000853333 0.000853333 0.000853333 0.000866667 0.00088 0.00088 0.000866667 +0.0009 0.000906667 0.000893333 0.00094 0.00096 0.000953333 0.216 0.22736 +0.251973 0.308773 0.464027 0.592211 0.752 0.937053 1.02473 1.05118 +1.0538 1.03518 0.978737 0.808842 0.648421 0.542316 0.48864 0.492427 +0.548632 0.662316 0.824 0.982612 1.01853 0.978737 0.813263 0.653474 +0.543579 0.435627 0.35232 0.322027 0.304987 0.28416 0.269013 0.265227 +0.26144 0.25576 0.242507 0.234933 0.248187 0.2444 0.240613 0.2444 +0.236827 0.236827 0.236827 0.231147 0.229253 0.22168 0.216 0.217893 +0.217893 0.225467 0.223573 0.217893 0.22168 0.217893 0.219787 0.217893 +0.216 0.000993333 0.00098 0.219787 0.22168 0.217893 0.000993333 0.219787 +0.225467 0.216 0.000993333 0.216 0.217893 0.000986667 0.219787 0.000993333 +0.00096 0.00098 0.00098 0.000966667 0.00098 0.00098 0.000966667 0.00098 +0.00098 0.000986667 0.219787 0.216 0.00096 0.00096 0.000966667 0.000953333 +0.000946667 0.00096 0.000973333 0.000973333 0.000973333 0.00098 0.00096 0.00096 +0.000973333 0.000953333 0.000946667 0.00098 0.00098 0.000953333 0.000946667 0.000966667 +0.217893 0.000973333 0.000926667 0.00092 0.000926667 0.00096 0.000946667 0.00092 +0.000933333 0.00096 0.000973333 0.00094 0.000933333 0.000953333 0.00094 0.00096 +0.000953333 0.00096 0.000946667 0.000933333 0.000933333 0.0009 0.0009 0.000906667 +0.000906667 0.0009 0.00088 0.000873333 0.000853333 0.000866667 0.000893333 0.0009 +0.0009 0.000906667 0.000906667 0.00094 0.000966667 0.000933333 0.000866667 0.00088 +0.0009 0.000926667 0.000913333 0.00094 0.0009 0.000893333 0.000946667 0.000913333 +0.00092 0.000946667 0.000993333 0.00098 0.00092 0.000906667 0.00092 0.000926667 +0.000926667 0.00096 0.00096 0.00094 0.000926667 0.000926667 0.000933333 0.000933333 +0.00092 0.000906667 0.000906667 0.000893333 0.00092 0.000913333 0.000873333 0.0009 +0.000913333 0.00092 0.000873333 0.00088 0.000873333 0.000873333 0.0009 0.000906667 +0.000886667 0.000913333 0.000893333 0.000926667 0.00092 0.00086 0.000906667 0.000893333 +0.00086 0.000846667 0.00088 0.00086 0.0009 0.000886667 0.000913333 0.000913333 +0.000926667 0.00096 0.00092 0.00092 0.00092 0.00088 0.000873333 0.00088 +0.0009 0.00088 0.0009 0.0009 0.00086 0.000893333 0.000933333 0.000926667 +0.000913333 0.00092 0.000886667 0.000906667 0.000893333 0.0009 0.000926667 0.000906667 +0.000913333 0.000893333 0.000946667 0.000966667 0.00094 0.000913333 0.000906667 0.000906667 +0.000933333 0.000946667 0.000926667 0.00094 0.00092 0.000926667 0.000906667 0.000906667 +0.000913333 0.000946667 0.00094 0.00092 0.000913333 0.00098 0.000993333 0.000966667 +0.0009 0.000926667 0.00096 0.00092 0.000933333 0.000946667 0.000933333 0.00098 +0.216 0.00096 0.00096 0.000973333 0.00096 0.000946667 0.000933333 0.000953333 +0.00096 0.000926667 0.000926667 0.000953333 0.00098 0.00098 0.000953333 0.000966667 +0.00092 0.000926667 0.000933333 0.00094 0.000953333 0.000946667 0.000953333 0.000933333 +0.000953333 0.00096 0.000926667 0.000926667 0.00096 0.00096 0.00094 0.000933333 +0.000946667 0.000973333 0.00096 0.00096 0.000953333 0.00096 0.00096 0.000946667 +0.00096 0.000966667 0.000946667 0.000953333 0.00098 0.000946667 0.000913333 0.000926667 +0.000953333 0.000953333 0.000946667 0.000933333 0.000913333 0.000893333 0.000906667 0.000953333 +0.00098 0.00098 0.000953333 0.000946667 0.000953333 0.000946667 0.000953333 0.00094 +0.000913333 0.000946667 0.000953333 0.00094 0.00098 0.22168 0.000993333 0.00096 +0.000966667 0.000973333 0.217893 0.216 0.00098 0.00098 0.217893 0.000993333 +0.217893 0.217893 0.217893 0.219787 0.216 0.217893 0.219787 0.216 +0.217893 0.217893 0.216 0.000993333 0.223573 0.229253 0.223573 0.217893 +0.000993333 0.000993333 0.217893 0.223573 0.22168 0.216 0.22168 0.225467 +0.229253 0.23304 0.246293 0.246293 0.242507 0.236827 0.246293 0.25008 +0.257653 0.269013 0.286053 0.303093 0.327707 0.36368 0.467813 0.569474 +0.706526 0.878316 0.997633 1.00318 0.898526 0.726737 0.594737 0.517053 +0.46592 0.484853 0.538526 0.638316 0.793684 0.958526 1.02735 1.04955 +1.05282 1.03976 0.988816 0.829053 0.655368 0.530316 0.371253 0.2728 +0.23304 0.217893 0.00098 0.000953333 0.000953333 0.00094 0.000913333 0.000906667 +0.000913333 0.000893333 0.000873333 0.000866667 0.000866667 0.000873333 0.000853333 0.00084 +0.00086 0.00086 0.000846667 0.000873333 0.000866667 0.000853333 0.000846667 0.000846667 +0.00082 0.000893333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000846667 +0.00082 0.00084 0.000833333 0.000813333 0.000793333 0.000786667 0.0008 0.000793333 +0.000813333 0.00082 0.000826667 0.000806667 0.000793333 0.000826667 0.000853333 0.000793333 +0.000813333 0.000846667 0.00086 0.000853333 0.000853333 0.000866667 0.000846667 0.000846667 +0.00088 0.000906667 0.00092 0.000933333 0.000906667 0.00092 0.00096 0.000973333 +0.22736 0.251973 0.3012 0.450773 0.584 0.745684 0.927579 1.0231 +1.05086 1.05412 1.03616 0.981633 0.816421 0.652211 0.543579 0.47728 +0.481067 0.549263 0.662316 0.828421 0.984898 1.01951 0.981306 0.827789 +0.669895 0.548632 0.441307 0.354213 0.320133 0.303093 0.29552 0.280373 +0.265227 0.25576 0.23872 0.251973 0.25008 0.240613 0.23872 0.240613 +0.23304 0.236827 0.240613 0.234933 0.22168 0.216 0.223573 0.225467 +0.22736 0.229253 0.216 0.217893 0.219787 0.219787 0.231147 0.223573 +0.219787 0.000973333 0.000973333 0.219787 0.22168 0.229253 0.219787 0.000993333 +0.219787 0.00098 0.000986667 0.217893 0.000993333 0.216 0.22168 0.217893 +0.000993333 0.217893 0.000986667 0.000973333 0.000986667 0.000993333 0.000986667 0.000973333 +0.000973333 0.000966667 0.000973333 0.000986667 0.000973333 0.00098 0.000993333 0.000993333 +0.00096 0.000953333 0.00096 0.000973333 0.000986667 0.000986667 0.000966667 0.000966667 +0.000966667 0.000966667 0.000993333 0.216 0.00098 0.000966667 0.000973333 0.216 +0.219787 0.000953333 0.00092 0.000933333 0.000926667 0.00094 0.000913333 0.000906667 +0.000933333 0.000946667 0.000946667 0.000933333 0.000933333 0.00094 0.000933333 0.000946667 +0.000933333 0.000953333 0.000913333 0.00092 0.000913333 0.000873333 0.000893333 0.000913333 +0.000893333 0.000886667 0.000853333 0.000873333 0.000873333 0.0009 0.00094 0.000946667 +0.000973333 0.000926667 0.000933333 0.000986667 0.000933333 0.0009 0.000893333 0.00092 +0.00092 0.000933333 0.000946667 0.000913333 0.0009 0.000913333 0.00092 0.000893333 +0.000933333 0.000966667 0.00096 0.000953333 0.000913333 0.0009 0.00092 0.00094 +0.000926667 0.000933333 0.000933333 0.000946667 0.00092 0.0009 0.000906667 0.000946667 +0.000926667 0.00092 0.000913333 0.000933333 0.000946667 0.0009 0.000866667 0.000913333 +0.000953333 0.000933333 0.000913333 0.00092 0.000893333 0.000893333 0.00088 0.00086 +0.000846667 0.00088 0.000866667 0.000906667 0.000926667 0.000873333 0.00092 0.000906667 +0.000873333 0.000866667 0.000866667 0.000873333 0.000913333 0.000886667 0.000906667 0.000906667 +0.000913333 0.000906667 0.000886667 0.000906667 0.000913333 0.000846667 0.000853333 0.0009 +0.000913333 0.0009 0.00092 0.000926667 0.000913333 0.00092 0.000913333 0.000906667 +0.000906667 0.000906667 0.000886667 0.000906667 0.000893333 0.000893333 0.000893333 0.000886667 +0.00092 0.000913333 0.000953333 0.000946667 0.00094 0.00092 0.000893333 0.000893333 +0.000946667 0.000946667 0.000906667 0.000933333 0.000933333 0.000946667 0.000926667 0.00092 +0.000933333 0.000953333 0.000933333 0.00092 0.000926667 0.000953333 0.00098 0.00098 +0.000906667 0.000926667 0.000953333 0.000913333 0.000953333 0.00098 0.000973333 0.00098 +0.00098 0.00094 0.00094 0.00096 0.000933333 0.000966667 0.00094 0.000933333 +0.00096 0.00092 0.00092 0.000966667 0.000986667 0.000966667 0.000933333 0.00094 +0.00092 0.00094 0.00094 0.000933333 0.000933333 0.00092 0.00094 0.000933333 +0.000946667 0.00094 0.000906667 0.000913333 0.00094 0.000973333 0.000953333 0.000926667 +0.00098 0.000986667 0.000953333 0.000933333 0.00094 0.00096 0.00094 0.000926667 +0.00096 0.000973333 0.000953333 0.00094 0.000966667 0.00094 0.00092 0.000933333 +0.000946667 0.000973333 0.00098 0.00096 0.000913333 0.00092 0.0009 0.000926667 +0.000946667 0.000933333 0.000933333 0.000933333 0.000966667 0.000953333 0.000946667 0.000933333 +0.000913333 0.000946667 0.00096 0.00094 0.000973333 0.217893 0.000986667 0.00096 +0.000986667 0.000986667 0.000986667 0.000973333 0.000973333 0.000966667 0.216 0.216 +0.000986667 0.219787 0.216 0.216 0.217893 0.223573 0.22168 0.217893 +0.000993333 0.219787 0.22168 0.219787 0.22168 0.223573 0.225467 0.223573 +0.217893 0.219787 0.223573 0.22736 0.22736 0.216 0.216 0.22736 +0.23304 0.236827 0.240613 0.25008 0.2444 0.242507 0.251973 0.265227 +0.274693 0.287947 0.297413 0.31824 0.373147 0.5 0.586526 0.726105 +0.894737 1.00253 1.00122 0.887789 0.718526 0.588421 0.513895 0.45456 +0.49432 0.551789 0.653474 0.808211 0.972421 1.03192 1.05151 1.05249 +1.03649 0.983265 0.815158 0.641474 0.520842 0.359893 0.26712 0.234933 +0.217893 0.000953333 0.00094 0.00094 0.000933333 0.00092 0.000906667 0.000893333 +0.0009 0.000913333 0.000866667 0.000866667 0.000873333 0.000853333 0.000846667 0.000846667 +0.00086 0.000853333 0.000866667 0.000846667 0.00086 0.000886667 0.000853333 0.000833333 +0.000886667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00086 0.000813333 0.000806667 0.000806667 0.00078 0.000786667 0.0008 0.000806667 +0.00084 0.000826667 0.000813333 0.000813333 0.000806667 0.000826667 0.000813333 0.000793333 +0.000806667 0.000806667 0.000806667 0.000806667 0.000846667 0.00084 0.00086 0.000866667 +0.000886667 0.00092 0.000933333 0.000893333 0.000866667 0.000886667 0.00092 0.000953333 +0.00098 0.219787 0.242507 0.303093 0.441307 0.578947 0.738737 0.926947 +1.02147 1.04922 1.0538 1.03714 0.983592 0.820211 0.657263 0.547368 +0.47728 0.486747 0.553053 0.668632 0.830947 0.985878 1.01853 0.982612 +0.835368 0.675579 0.551158 0.446987 0.365573 0.3296 0.31256 0.28984 +0.270907 0.25576 0.259547 0.25576 0.246293 0.2444 0.248187 0.246293 +0.240613 0.229253 0.23304 0.225467 0.22168 0.223573 0.231147 0.231147 +0.22736 0.217893 0.000986667 0.217893 0.219787 0.22736 0.23304 0.229253 +0.22168 0.216 0.000993333 0.00098 0.217893 0.22168 0.000986667 0.00096 +0.000966667 0.000993333 0.223573 0.216 0.000993333 0.216 0.000986667 0.00098 +0.000993333 0.22168 0.000993333 0.000993333 0.217893 0.217893 0.219787 0.216 +0.000986667 0.00096 0.000973333 0.000973333 0.000946667 0.00096 0.216 0.216 +0.00098 0.000966667 0.000966667 0.000966667 0.00098 0.000993333 0.00098 0.000986667 +0.00096 0.000946667 0.000973333 0.00098 0.000993333 0.000953333 0.00096 0.216 +0.000973333 0.000953333 0.000946667 0.000933333 0.00094 0.000946667 0.000946667 0.000946667 +0.000933333 0.00092 0.000933333 0.00094 0.000933333 0.000906667 0.00092 0.000913333 +0.000906667 0.000926667 0.000933333 0.000893333 0.000886667 0.00088 0.000873333 0.00092 +0.000866667 0.000886667 0.000886667 0.000886667 0.000906667 0.00092 0.000953333 0.00098 +0.000966667 0.00094 0.000933333 0.000966667 0.000906667 0.0009 0.000913333 0.000933333 +0.000926667 0.000913333 0.000946667 0.00092 0.000913333 0.000926667 0.000913333 0.0009 +0.00096 0.00096 0.000926667 0.000906667 0.0009 0.00094 0.000926667 0.0009 +0.000913333 0.00092 0.000913333 0.000946667 0.000926667 0.000906667 0.000913333 0.00094 +0.00092 0.000933333 0.000926667 0.000953333 0.000946667 0.00092 0.000906667 0.000926667 +0.000946667 0.00092 0.000946667 0.000946667 0.0009 0.0009 0.000873333 0.000866667 +0.000833333 0.000853333 0.000846667 0.0009 0.000913333 0.000873333 0.000906667 0.000906667 +0.000886667 0.000886667 0.000886667 0.00088 0.0009 0.00088 0.000893333 0.00086 +0.00086 0.000886667 0.0009 0.000926667 0.000913333 0.000853333 0.000866667 0.00092 +0.00094 0.000906667 0.000893333 0.0009 0.000913333 0.000906667 0.000893333 0.000886667 +0.000906667 0.000913333 0.00088 0.0009 0.000886667 0.000886667 0.00092 0.0009 +0.00094 0.00092 0.000933333 0.000946667 0.00096 0.00094 0.0009 0.000893333 +0.000953333 0.00094 0.000906667 0.00092 0.000926667 0.00096 0.000933333 0.000933333 +0.00092 0.000933333 0.000933333 0.000953333 0.000933333 0.000933333 0.000926667 0.000966667 +0.000926667 0.000933333 0.000966667 0.00094 0.000953333 0.000966667 0.00096 0.000946667 +0.000946667 0.00092 0.000953333 0.00096 0.000953333 0.216 0.00094 0.000933333 +0.000973333 0.000933333 0.0009 0.000946667 0.000973333 0.00096 0.00094 0.000933333 +0.00092 0.000933333 0.000946667 0.000953333 0.000933333 0.000926667 0.000946667 0.00094 +0.00094 0.00092 0.000913333 0.000933333 0.000953333 0.00098 0.000966667 0.000946667 +0.000946667 0.000946667 0.000946667 0.000953333 0.000953333 0.000953333 0.00094 0.00094 +0.00094 0.00094 0.000933333 0.000946667 0.000986667 0.000973333 0.000966667 0.00096 +0.000966667 0.00098 0.000993333 0.000973333 0.000933333 0.000966667 0.00092 0.000893333 +0.00094 0.000913333 0.000933333 0.000913333 0.000933333 0.000973333 0.000973333 0.000953333 +0.000946667 0.000933333 0.000933333 0.000946667 0.000966667 0.00098 0.000986667 0.000973333 +0.00098 0.000993333 0.000966667 0.000953333 0.217893 0.000986667 0.000966667 0.216 +0.000993333 0.216 0.223573 0.216 0.000993333 0.223573 0.219787 0.219787 +0.219787 0.225467 0.223573 0.216 0.225467 0.223573 0.22736 0.234933 +0.22736 0.217893 0.219787 0.217893 0.231147 0.22736 0.22168 0.231147 +0.23872 0.240613 0.2444 0.25008 0.25576 0.25576 0.26144 0.270907 +0.287947 0.308773 0.3296 0.373147 0.505684 0.602316 0.745684 0.912421 +1.0058 0.999918 0.881474 0.710316 0.583368 0.509474 0.4432 0.490533 +0.558105 0.669895 0.827158 0.981633 1.03322 1.05118 1.05151 1.03322 +0.974316 0.803158 0.631368 0.512632 0.350427 0.26144 0.219787 0.00098 +0.000986667 0.000966667 0.00094 0.000946667 0.00092 0.000886667 0.00088 0.000893333 +0.000893333 0.000886667 0.00086 0.00086 0.0009 0.000873333 0.000833333 0.000846667 +0.00084 0.000833333 0.000873333 0.000866667 0.000846667 0.000866667 0.00086 0.0009 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000826667 0.000806667 0.000806667 0.000786667 0.000806667 0.000793333 0.000793333 +0.000813333 0.000786667 0.00078 0.000826667 0.000853333 0.000826667 0.00078 0.00078 +0.0008 0.000806667 0.000826667 0.00082 0.000826667 0.000833333 0.00086 0.000846667 +0.000853333 0.00088 0.00086 0.000866667 0.00088 0.000906667 0.000926667 0.000946667 +0.000953333 0.000966667 0.000986667 0.231147 0.291733 0.439413 0.575789 0.734316 +0.918105 1.01886 1.04922 1.05282 1.03747 0.986857 0.830947 0.669263 +0.555579 0.496213 0.48864 0.553684 0.670526 0.834105 0.984898 1.01788 +0.984898 0.841053 0.676211 0.553684 0.45456 0.359893 0.325813 0.303093 +0.280373 0.280373 0.27848 0.259547 0.25008 0.25576 0.251973 0.248187 +0.236827 0.23304 0.23304 0.22736 0.22736 0.22736 0.23304 0.231147 +0.225467 0.217893 0.217893 0.219787 0.223573 0.225467 0.229253 0.22736 +0.22168 0.217893 0.217893 0.217893 0.217893 0.217893 0.000966667 0.000946667 +0.000973333 0.000986667 0.00098 0.216 0.219787 0.000986667 0.000993333 0.217893 +0.216 0.000993333 0.00098 0.217893 0.22168 0.219787 0.217893 0.000993333 +0.000973333 0.000986667 0.216 0.000986667 0.000986667 0.000986667 0.000993333 0.000993333 +0.000993333 0.00096 0.000966667 0.000973333 0.00098 0.00098 0.000966667 0.000986667 +0.00096 0.000953333 0.000973333 0.00098 0.000986667 0.00094 0.000953333 0.00098 +0.000953333 0.000946667 0.00092 0.000926667 0.00094 0.000933333 0.00096 0.00096 +0.000926667 0.00092 0.000933333 0.00094 0.000933333 0.0009 0.00092 0.000913333 +0.000893333 0.000913333 0.0009 0.000846667 0.00084 0.000866667 0.000893333 0.000906667 +0.000913333 0.000906667 0.00094 0.000926667 0.000913333 0.00094 0.000946667 0.000946667 +0.000946667 0.00096 0.00094 0.00094 0.0009 0.000866667 0.00092 0.0009 +0.000906667 0.00092 0.000946667 0.000913333 0.000926667 0.000926667 0.000873333 0.000906667 +0.000966667 0.000926667 0.000913333 0.0009 0.0009 0.00092 0.000886667 0.00088 +0.000933333 0.000946667 0.00092 0.00094 0.00092 0.00092 0.00094 0.000933333 +0.000913333 0.000926667 0.000933333 0.00096 0.000946667 0.000933333 0.000933333 0.000926667 +0.000926667 0.00088 0.000926667 0.000913333 0.000886667 0.000906667 0.000906667 0.0009 +0.000886667 0.000873333 0.000886667 0.000906667 0.000893333 0.000866667 0.000906667 0.000893333 +0.000866667 0.000866667 0.000886667 0.000893333 0.0009 0.000873333 0.000873333 0.000846667 +0.000853333 0.000906667 0.000913333 0.00094 0.000926667 0.000886667 0.000906667 0.000946667 +0.00092 0.000893333 0.00092 0.0009 0.00088 0.0009 0.0009 0.000873333 +0.00088 0.000893333 0.000886667 0.00092 0.000926667 0.000933333 0.00094 0.000926667 +0.000946667 0.000906667 0.000926667 0.000966667 0.000953333 0.0009 0.000866667 0.0009 +0.000953333 0.000953333 0.000926667 0.000933333 0.000933333 0.000966667 0.000953333 0.00092 +0.000906667 0.00092 0.000946667 0.000966667 0.00092 0.000926667 0.00094 0.00098 +0.00094 0.00092 0.00094 0.00094 0.000926667 0.000933333 0.000933333 0.00094 +0.00096 0.000946667 0.00096 0.000966667 0.000966667 0.000993333 0.00096 0.000933333 +0.000986667 0.000953333 0.000933333 0.00096 0.000966667 0.00096 0.000946667 0.000926667 +0.000926667 0.00094 0.000966667 0.000946667 0.000933333 0.00094 0.000926667 0.000933333 +0.000946667 0.000933333 0.000933333 0.00092 0.000953333 0.000986667 0.000973333 0.000946667 +0.000933333 0.000933333 0.000946667 0.000953333 0.00096 0.000953333 0.000953333 0.000953333 +0.000953333 0.000933333 0.00094 0.000926667 0.000953333 0.000966667 0.000973333 0.00098 +0.000973333 0.00098 0.000973333 0.000966667 0.000966667 0.000993333 0.000966667 0.000933333 +0.00096 0.00094 0.00092 0.0009 0.000913333 0.000953333 0.000946667 0.000933333 +0.00094 0.00092 0.000953333 0.000973333 0.000966667 0.00094 0.000966667 0.000973333 +0.000986667 0.216 0.00098 0.00096 0.216 0.216 0.000973333 0.219787 +0.22168 0.00098 0.219787 0.22168 0.000993333 0.225467 0.22168 0.217893 +0.216 0.216 0.219787 0.217893 0.229253 0.22736 0.22168 0.23304 +0.231147 0.22168 0.223573 0.225467 0.225467 0.23304 0.229253 0.23872 +0.246293 0.242507 0.240613 0.246293 0.257653 0.269013 0.274693 0.280373 +0.308773 0.337173 0.384507 0.506947 0.606737 0.758947 0.925684 1.00873 +0.99698 0.872 0.704632 0.579579 0.508211 0.452667 0.501895 0.563789 +0.681263 0.841684 0.988163 1.03584 1.05184 1.05053 1.02931 0.961053 +0.787368 0.620632 0.505684 0.337173 0.263333 0.229253 0.216 0.000973333 +0.00098 0.000953333 0.000913333 0.000913333 0.0009 0.00088 0.00088 0.000873333 +0.000886667 0.000873333 0.000853333 0.000826667 0.00086 0.00088 0.000846667 0.000826667 +0.000846667 0.00084 0.00086 0.00086 0.000826667 0.000826667 0.000906667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00084 0.000806667 0.0008 0.00078 0.000766667 0.000806667 +0.000813333 0.000806667 0.000826667 0.000833333 0.000813333 0.000793333 0.000786667 0.0008 +0.00082 0.00084 0.00084 0.000806667 0.00082 0.000826667 0.00086 0.000853333 +0.00086 0.00084 0.000866667 0.000886667 0.000886667 0.000893333 0.000893333 0.00094 +0.000946667 0.000946667 0.00094 0.00098 0.23872 0.291733 0.418587 0.573263 +0.729263 0.914316 1.01918 1.04922 1.05412 1.04008 0.990449 0.839789 +0.675579 0.558105 0.498107 0.502526 0.557474 0.673053 0.834105 0.985224 +1.01984 0.984898 0.836632 0.673053 0.549263 0.435627 0.348533 0.316347 +0.304987 0.299307 0.286053 0.2728 0.265227 0.263333 0.248187 0.2444 +0.236827 0.236827 0.236827 0.23304 0.23304 0.23872 0.23304 0.223573 +0.217893 0.223573 0.22168 0.223573 0.22168 0.22168 0.225467 0.223573 +0.217893 0.22168 0.22168 0.223573 0.22168 0.216 0.00098 0.000966667 +0.000986667 0.000986667 0.00098 0.216 0.000986667 0.000986667 0.216 0.223573 +0.22168 0.00098 0.00098 0.22168 0.223573 0.219787 0.000993333 0.000993333 +0.00096 0.00098 0.00098 0.216 0.216 0.00098 0.00098 0.217893 +0.219787 0.00098 0.000966667 0.000973333 0.00098 0.000973333 0.00098 0.000966667 +0.00094 0.000953333 0.000986667 0.000993333 0.000986667 0.00094 0.000946667 0.000946667 +0.000926667 0.00094 0.000933333 0.000933333 0.000953333 0.000933333 0.000953333 0.000966667 +0.000926667 0.000926667 0.000926667 0.00094 0.000946667 0.00092 0.00092 0.000893333 +0.000886667 0.000913333 0.000893333 0.000846667 0.00084 0.000866667 0.000926667 0.000926667 +0.000953333 0.00094 0.000953333 0.000953333 0.000913333 0.00094 0.000926667 0.0009 +0.000913333 0.00092 0.00092 0.000886667 0.00088 0.000886667 0.000913333 0.000906667 +0.00092 0.000946667 0.000926667 0.000926667 0.000933333 0.00092 0.000886667 0.000933333 +0.000953333 0.000926667 0.00096 0.000926667 0.00088 0.0009 0.00088 0.000886667 +0.000913333 0.00092 0.000913333 0.00094 0.000933333 0.00094 0.000966667 0.000906667 +0.000906667 0.000926667 0.000946667 0.00096 0.000933333 0.000906667 0.0009 0.0009 +0.00092 0.000873333 0.000926667 0.000913333 0.000906667 0.000906667 0.000926667 0.000913333 +0.000926667 0.000906667 0.000926667 0.000946667 0.000913333 0.000873333 0.00088 0.00086 +0.000813333 0.000833333 0.000866667 0.000913333 0.00092 0.00088 0.000893333 0.000873333 +0.0009 0.000926667 0.000913333 0.000946667 0.000933333 0.00088 0.00094 0.000933333 +0.0009 0.000913333 0.000946667 0.000906667 0.00088 0.000926667 0.00092 0.000893333 +0.000893333 0.000893333 0.00088 0.00092 0.000913333 0.000926667 0.000933333 0.000933333 +0.00094 0.0009 0.00094 0.000953333 0.000906667 0.000873333 0.00086 0.000886667 +0.000946667 0.000953333 0.000926667 0.000933333 0.00096 0.000966667 0.000953333 0.000926667 +0.000886667 0.000906667 0.000953333 0.00096 0.000933333 0.000926667 0.000966667 0.216 +0.000966667 0.000926667 0.000953333 0.00092 0.000926667 0.000933333 0.000933333 0.000953333 +0.00098 0.00096 0.000953333 0.00096 0.00094 0.00098 0.000966667 0.000906667 +0.000946667 0.000933333 0.000966667 0.00098 0.00094 0.000933333 0.00094 0.000953333 +0.00094 0.000946667 0.000973333 0.000966667 0.00096 0.000953333 0.000946667 0.00096 +0.00096 0.00096 0.000953333 0.000933333 0.000953333 0.00098 0.000966667 0.00096 +0.000926667 0.000933333 0.000953333 0.000966667 0.000986667 0.000953333 0.000953333 0.000953333 +0.00096 0.000973333 0.000966667 0.000926667 0.000926667 0.00094 0.000953333 0.00098 +0.000986667 0.000986667 0.000973333 0.000946667 0.000973333 0.000966667 0.00098 0.000973333 +0.000966667 0.00094 0.000926667 0.000926667 0.000933333 0.00094 0.000926667 0.0009 +0.000926667 0.00092 0.00094 0.000966667 0.000953333 0.00094 0.00094 0.000953333 +0.000973333 0.00098 0.000966667 0.000966667 0.00098 0.216 0.217893 0.22168 +0.22736 0.000986667 0.00098 0.217893 0.216 0.217893 0.22168 0.22168 +0.217893 0.217893 0.219787 0.217893 0.217893 0.223573 0.22736 0.231147 +0.231147 0.22736 0.229253 0.246293 0.240613 0.23304 0.234933 0.23304 +0.242507 0.251973 0.246293 0.259547 0.270907 0.280373 0.28984 0.3012 +0.34096 0.4148 0.517684 0.612421 0.759579 0.926947 1.0071 0.992408 +0.863158 0.700211 0.573895 0.502526 0.445093 0.506947 0.577053 0.693263 +0.853684 0.993388 1.03878 1.05151 1.04955 1.02702 0.947158 0.771579 +0.608632 0.492427 0.322027 0.251973 0.229253 0.22168 0.217893 0.00098 +0.000973333 0.000953333 0.000893333 0.000873333 0.00088 0.000873333 0.000873333 0.000853333 +0.00088 0.00088 0.000853333 0.000833333 0.00084 0.00088 0.000866667 0.00082 +0.000826667 0.00084 0.000866667 0.00086 0.000826667 0.00088 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00084 0.0008 0.000773333 0.000786667 0.000826667 +0.000813333 0.000793333 0.000786667 0.0008 0.000793333 0.0008 0.000813333 0.000833333 +0.000813333 0.000793333 0.000793333 0.000813333 0.000826667 0.00084 0.000853333 0.00086 +0.000853333 0.00086 0.000906667 0.000886667 0.000866667 0.00086 0.000893333 0.000913333 +0.000933333 0.00092 0.000966667 0.219787 0.22168 0.23304 0.282267 0.42616 +0.569474 0.726737 0.911158 1.01624 1.04857 1.05478 1.04106 0.992082 +0.842947 0.68 0.563789 0.505053 0.502526 0.559368 0.674947 0.835368 +0.984571 1.0169 0.984245 0.838526 0.674947 0.545474 0.422373 0.348533 +0.333387 0.320133 0.304987 0.287947 0.274693 0.270907 0.25576 0.253867 +0.246293 0.242507 0.240613 0.23304 0.23872 0.242507 0.234933 0.225467 +0.22168 0.229253 0.22736 0.223573 0.217893 0.22736 0.22736 0.22168 +0.219787 0.22736 0.22736 0.223573 0.22168 0.000993333 0.000986667 0.216 +0.225467 0.223573 0.225467 0.22168 0.216 0.217893 0.000993333 0.22168 +0.000986667 0.00098 0.000993333 0.216 0.000993333 0.000973333 0.00098 0.000973333 +0.00096 0.216 0.000973333 0.00098 0.000973333 0.000966667 0.000966667 0.000986667 +0.216 0.217893 0.000986667 0.216 0.000993333 0.00096 0.000986667 0.00096 +0.000966667 0.00096 0.000973333 0.000993333 0.000946667 0.000926667 0.000946667 0.000933333 +0.00094 0.000946667 0.00096 0.000946667 0.000926667 0.000913333 0.00092 0.000926667 +0.000913333 0.00092 0.000906667 0.00092 0.000946667 0.000926667 0.0009 0.00088 +0.000893333 0.000913333 0.00092 0.000886667 0.00088 0.000913333 0.000953333 0.00098 +0.000986667 0.000946667 0.00094 0.000913333 0.0009 0.000926667 0.00094 0.000913333 +0.00094 0.00092 0.000913333 0.0009 0.000886667 0.000913333 0.000906667 0.000946667 +0.00094 0.000966667 0.000933333 0.000933333 0.000946667 0.000933333 0.000886667 0.000933333 +0.00094 0.00094 0.00096 0.000906667 0.000873333 0.0009 0.000893333 0.000893333 +0.000906667 0.0009 0.000933333 0.00096 0.00092 0.00092 0.000973333 0.00092 +0.000913333 0.000933333 0.000966667 0.000953333 0.000913333 0.000866667 0.000853333 0.000886667 +0.000933333 0.000886667 0.000933333 0.000906667 0.00092 0.00094 0.000946667 0.000933333 +0.00094 0.000906667 0.000946667 0.000946667 0.00092 0.000846667 0.00088 0.000866667 +0.000826667 0.000833333 0.00086 0.000906667 0.000893333 0.00088 0.000906667 0.00092 +0.000933333 0.000953333 0.00094 0.000953333 0.00092 0.0009 0.000953333 0.000926667 +0.000906667 0.00092 0.000913333 0.000906667 0.000906667 0.000913333 0.000906667 0.000926667 +0.000946667 0.0009 0.000853333 0.0009 0.000913333 0.000913333 0.00092 0.000926667 +0.000906667 0.000873333 0.000913333 0.00092 0.000906667 0.000926667 0.000906667 0.000906667 +0.000953333 0.000933333 0.000913333 0.00094 0.000966667 0.000973333 0.000953333 0.000906667 +0.00088 0.00094 0.000973333 0.000973333 0.000926667 0.000933333 0.00098 0.000986667 +0.00096 0.00092 0.00096 0.00092 0.000953333 0.00094 0.000946667 0.00094 +0.000966667 0.00096 0.000966667 0.000953333 0.00094 0.000986667 0.000973333 0.000913333 +0.000926667 0.00094 0.000966667 0.00096 0.00094 0.000953333 0.000973333 0.00098 +0.00096 0.000946667 0.000966667 0.00098 0.000953333 0.00094 0.000953333 0.000953333 +0.000953333 0.00096 0.00094 0.000946667 0.00096 0.000993333 0.000986667 0.000966667 +0.000933333 0.00092 0.000933333 0.000966667 0.000966667 0.000946667 0.00094 0.00096 +0.00096 0.000973333 0.00098 0.00096 0.00096 0.00096 0.00098 0.00098 +0.00096 0.00096 0.000953333 0.000953333 0.216 0.000986667 0.000993333 0.00098 +0.00096 0.000973333 0.000973333 0.00096 0.000953333 0.000953333 0.00096 0.000933333 +0.000913333 0.000906667 0.000946667 0.000966667 0.000953333 0.000946667 0.00094 0.00096 +0.000966667 0.00096 0.00096 0.000973333 0.000986667 0.22168 0.219787 0.000986667 +0.216 0.219787 0.216 0.216 0.219787 0.000993333 0.219787 0.219787 +0.217893 0.223573 0.219787 0.22168 0.219787 0.000993333 0.225467 0.229253 +0.231147 0.231147 0.231147 0.248187 0.248187 0.23304 0.23872 0.240613 +0.251973 0.26144 0.25576 0.257653 0.274693 0.287947 0.314453 0.34096 +0.416693 0.529684 0.627579 0.770947 0.933263 1.00678 0.988163 0.851158 +0.689474 0.569474 0.496213 0.445093 0.514526 0.589684 0.712842 0.868211 +0.996 1.03943 1.0538 1.0502 1.02212 0.935789 0.757053 0.596 +0.469707 0.304987 0.242507 0.219787 0.217893 0.217893 0.00098 0.000933333 +0.000933333 0.00092 0.000886667 0.00088 0.00088 0.00086 0.00086 0.000846667 +0.000853333 0.00086 0.00084 0.000846667 0.000866667 0.000873333 0.000866667 0.00082 +0.000806667 0.0008 0.000846667 0.000866667 0.00088 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000826667 0.000813333 0.000813333 0.000786667 +0.000786667 0.000766667 0.000773333 0.00082 0.00082 0.00082 0.0008 0.000806667 +0.000773333 0.00078 0.0008 0.000806667 0.000813333 0.000826667 0.00082 0.000813333 +0.000853333 0.000886667 0.00088 0.000866667 0.000873333 0.000893333 0.000913333 0.000893333 +0.0009 0.000926667 0.000966667 0.000973333 0.000966667 0.217893 0.234933 0.28416 +0.4148 0.566316 0.718526 0.902316 1.01527 1.04824 1.05445 1.04106 +0.99502 0.853684 0.685053 0.565684 0.503158 0.501263 0.559368 0.676842 +0.835368 0.983918 1.0182 0.986531 0.842316 0.671158 0.543579 0.43184 +0.354213 0.33528 0.320133 0.304987 0.293627 0.274693 0.270907 0.26712 +0.253867 0.240613 0.240613 0.23872 0.2444 0.23872 0.231147 0.229253 +0.229253 0.234933 0.229253 0.217893 0.225467 0.225467 0.22168 0.223573 +0.223573 0.22736 0.223573 0.223573 0.216 0.00098 0.219787 0.225467 +0.22736 0.22736 0.23304 0.229253 0.225467 0.219787 0.217893 0.217893 +0.000973333 0.000973333 0.00098 0.000993333 0.000973333 0.000966667 0.000966667 0.000953333 +0.000973333 0.000973333 0.000966667 0.000986667 0.00098 0.000986667 0.000993333 0.000993333 +0.216 0.217893 0.000966667 0.000973333 0.000966667 0.000966667 0.000973333 0.000946667 +0.00098 0.000966667 0.000966667 0.000973333 0.00094 0.000953333 0.000973333 0.00096 +0.000953333 0.00096 0.000953333 0.000933333 0.0009 0.0009 0.0009 0.000906667 +0.000926667 0.000926667 0.000906667 0.0009 0.000906667 0.000906667 0.000893333 0.000906667 +0.000926667 0.000926667 0.000913333 0.00092 0.000926667 0.000946667 0.000966667 0.000986667 +0.00096 0.00094 0.000953333 0.0009 0.000933333 0.000926667 0.00094 0.000946667 +0.00096 0.000953333 0.000946667 0.00092 0.000886667 0.00092 0.000926667 0.000973333 +0.000946667 0.00094 0.000926667 0.00092 0.000913333 0.000893333 0.000873333 0.000933333 +0.000946667 0.000926667 0.000926667 0.000893333 0.0009 0.000893333 0.0009 0.0009 +0.000926667 0.000933333 0.000953333 0.00094 0.000866667 0.000873333 0.00092 0.000893333 +0.000893333 0.000933333 0.000973333 0.000926667 0.000873333 0.000853333 0.000866667 0.000913333 +0.00092 0.0009 0.000953333 0.00092 0.000933333 0.00098 0.000953333 0.000913333 +0.000893333 0.000866667 0.00092 0.000913333 0.000886667 0.00086 0.000913333 0.000906667 +0.000866667 0.00088 0.000913333 0.000926667 0.000866667 0.000873333 0.0009 0.000906667 +0.000946667 0.00094 0.000913333 0.000933333 0.000926667 0.000906667 0.000953333 0.000946667 +0.000933333 0.000913333 0.000893333 0.000893333 0.000893333 0.0009 0.000893333 0.000933333 +0.00096 0.000893333 0.000866667 0.000913333 0.000933333 0.000926667 0.00092 0.000906667 +0.000893333 0.000886667 0.000926667 0.000946667 0.000946667 0.000946667 0.00092 0.000906667 +0.000966667 0.000953333 0.000933333 0.000973333 0.000973333 0.000993333 0.000953333 0.00092 +0.000913333 0.00096 0.00098 0.000973333 0.00094 0.000933333 0.000973333 0.000966667 +0.000933333 0.0009 0.000946667 0.000946667 0.00098 0.00098 0.00096 0.000953333 +0.000953333 0.00098 0.00098 0.000926667 0.00092 0.000986667 0.217893 0.00094 +0.000933333 0.000946667 0.000913333 0.00094 0.00096 0.000973333 0.000973333 0.000966667 +0.000953333 0.000953333 0.000973333 0.000993333 0.000953333 0.00094 0.00096 0.000953333 +0.00096 0.000966667 0.000926667 0.000926667 0.00096 0.000986667 0.219787 0.000973333 +0.000946667 0.000913333 0.000926667 0.000946667 0.00096 0.000953333 0.00096 0.000973333 +0.000966667 0.000973333 0.00098 0.000966667 0.000953333 0.00098 0.000993333 0.00096 +0.000946667 0.000953333 0.000966667 0.00098 0.000986667 0.000993333 0.217893 0.000993333 +0.000966667 0.000953333 0.00096 0.00096 0.00096 0.000973333 0.000986667 0.00098 +0.00094 0.00094 0.00096 0.00096 0.000946667 0.000946667 0.000953333 0.000946667 +0.000953333 0.00096 0.000973333 0.000993333 0.000973333 0.00096 0.000973333 0.000973333 +0.000986667 0.22168 0.223573 0.219787 0.225467 0.217893 0.219787 0.22168 +0.219787 0.219787 0.217893 0.225467 0.22168 0.219787 0.22168 0.22736 +0.22736 0.231147 0.234933 0.2444 0.246293 0.2444 0.236827 0.248187 +0.257653 0.269013 0.26712 0.274693 0.28416 0.303093 0.327707 0.39208 +0.526526 0.644632 0.794947 0.945895 1.0071 0.984571 0.841053 0.680632 +0.561263 0.492427 0.446987 0.515158 0.59979 0.729895 0.887789 1.00286 +1.04106 1.05282 1.04922 1.01853 0.915579 0.74 0.585895 0.452667 +0.3012 0.242507 0.217893 0.000973333 0.000973333 0.000973333 0.000953333 0.00092 +0.000906667 0.000886667 0.000886667 0.000873333 0.000853333 0.00086 0.000866667 0.000866667 +0.000853333 0.000853333 0.000846667 0.00084 0.00084 0.00084 0.000826667 0.00082 +0.00082 0.00082 0.000846667 0.00092 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000853333 0.0008 0.00078 +0.000813333 0.00082 0.00084 0.00084 0.000806667 0.000806667 0.0008 0.000793333 +0.000793333 0.000813333 0.000813333 0.000806667 0.000806667 0.0008 0.0008 0.000813333 +0.000853333 0.000873333 0.00086 0.000866667 0.00088 0.000886667 0.000893333 0.00088 +0.000906667 0.000913333 0.000933333 0.00092 0.000933333 0.219787 0.22168 0.22736 +0.276587 0.411013 0.561895 0.712842 0.896 1.01233 1.04792 1.05543 +1.04302 0.997959 0.855579 0.692632 0.570737 0.506947 0.503158 0.558105 +0.678105 0.840421 0.986204 1.0182 0.986531 0.838526 0.672421 0.541684 +0.42048 0.359893 0.34096 0.331493 0.308773 0.293627 0.28416 0.274693 +0.263333 0.25008 0.248187 0.248187 0.240613 0.23304 0.22736 0.229253 +0.229253 0.23304 0.231147 0.223573 0.219787 0.216 0.229253 0.23304 +0.22736 0.223573 0.216 0.217893 0.219787 0.22168 0.231147 0.231147 +0.22736 0.22736 0.223573 0.22168 0.22168 0.219787 0.223573 0.216 +0.00098 0.000973333 0.000993333 0.000993333 0.000966667 0.00098 0.00098 0.00098 +0.216 0.00098 0.000993333 0.217893 0.000993333 0.217893 0.219787 0.219787 +0.219787 0.219787 0.000966667 0.000966667 0.00096 0.000953333 0.00092 0.000933333 +0.000986667 0.000986667 0.000973333 0.000946667 0.000953333 0.00098 0.000966667 0.000966667 +0.000953333 0.00096 0.000933333 0.000913333 0.0009 0.0009 0.0009 0.000906667 +0.000926667 0.0009 0.00088 0.000893333 0.0009 0.000906667 0.000913333 0.000933333 +0.000953333 0.000926667 0.000926667 0.00096 0.00098 0.00096 0.000966667 0.000973333 +0.00094 0.00094 0.000933333 0.000893333 0.000933333 0.000926667 0.000913333 0.00096 +0.00096 0.000933333 0.000933333 0.000913333 0.000906667 0.000906667 0.000926667 0.000926667 +0.00092 0.000933333 0.000926667 0.000906667 0.000906667 0.00088 0.000886667 0.000946667 +0.00094 0.000913333 0.000926667 0.000926667 0.00092 0.000913333 0.000926667 0.00094 +0.000946667 0.000926667 0.00094 0.000926667 0.00088 0.000866667 0.000893333 0.000893333 +0.000913333 0.000933333 0.00096 0.000926667 0.000893333 0.0009 0.00092 0.000933333 +0.000933333 0.000946667 0.216 0.000926667 0.000926667 0.00092 0.0009 0.000873333 +0.000866667 0.000866667 0.000926667 0.0009 0.00088 0.000873333 0.000913333 0.000933333 +0.000913333 0.00092 0.000933333 0.00094 0.000886667 0.0009 0.000893333 0.000906667 +0.0009 0.00088 0.000893333 0.000933333 0.00092 0.000893333 0.000973333 0.000953333 +0.000933333 0.00092 0.0009 0.0009 0.000906667 0.000893333 0.000906667 0.000933333 +0.000926667 0.000886667 0.000886667 0.000926667 0.00092 0.000913333 0.00092 0.000906667 +0.000933333 0.000906667 0.00092 0.00094 0.000946667 0.000933333 0.0009 0.000913333 +0.000953333 0.000946667 0.000926667 0.000973333 0.00098 0.000993333 0.000926667 0.00094 +0.000933333 0.000933333 0.000933333 0.000946667 0.000926667 0.000913333 0.000933333 0.000953333 +0.000933333 0.000913333 0.000946667 0.000966667 0.000966667 0.000946667 0.00092 0.00094 +0.000946667 0.000973333 0.000966667 0.000933333 0.00092 0.000966667 0.216 0.000946667 +0.00094 0.00092 0.000886667 0.000953333 0.00096 0.000973333 0.000973333 0.000953333 +0.000953333 0.000946667 0.000966667 0.216 0.000953333 0.00096 0.00094 0.00094 +0.000966667 0.00096 0.00094 0.00094 0.00096 0.000993333 0.217893 0.000973333 +0.00098 0.000933333 0.000946667 0.00096 0.00096 0.000966667 0.000966667 0.000966667 +0.000986667 0.000986667 0.000973333 0.000953333 0.00094 0.000973333 0.216 0.00098 +0.000973333 0.000966667 0.000946667 0.00096 0.000946667 0.000966667 0.000986667 0.216 +0.00098 0.000946667 0.000986667 0.000973333 0.000966667 0.000966667 0.217893 0.216 +0.000933333 0.00094 0.000966667 0.000953333 0.00094 0.000933333 0.000966667 0.00096 +0.000953333 0.000946667 0.000953333 0.00098 0.00096 0.00092 0.000973333 0.000993333 +0.000973333 0.219787 0.225467 0.223573 0.223573 0.219787 0.219787 0.219787 +0.219787 0.223573 0.22168 0.22168 0.22168 0.219787 0.223573 0.231147 +0.23872 0.2444 0.2444 0.240613 0.240613 0.25008 0.248187 0.25576 +0.26712 0.2728 0.286053 0.297413 0.308773 0.331493 0.39208 0.519579 +0.639579 0.804421 0.960421 1.00841 0.982286 0.835368 0.672421 0.554947 +0.473493 0.439413 0.518947 0.607368 0.743789 0.902947 1.00939 1.04302 +1.05216 1.04694 1.01298 0.902947 0.724211 0.573895 0.43184 0.286053 +0.236827 0.225467 0.216 0.00098 0.000966667 0.00094 0.0009 0.000886667 +0.00088 0.00088 0.000886667 0.000886667 0.000853333 0.000873333 0.000866667 0.000866667 +0.000853333 0.000853333 0.000833333 0.00084 0.00084 0.00084 0.000826667 0.000813333 +0.00084 0.00084 0.000886667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00084 0.00084 +0.00084 0.000806667 0.00082 0.000793333 0.00082 0.00082 0.00078 0.0008 +0.0008 0.000813333 0.000806667 0.000826667 0.00082 0.000806667 0.000826667 0.000813333 +0.00082 0.000833333 0.000846667 0.000846667 0.000873333 0.000873333 0.000866667 0.000906667 +0.00092 0.000906667 0.000906667 0.00092 0.000933333 0.000986667 0.000966667 0.000973333 +0.23304 0.280373 0.401547 0.555579 0.704632 0.887789 1.01102 1.04792 +1.05543 1.044 0.999265 0.863789 0.698947 0.575158 0.506947 0.501895 +0.56 0.680632 0.841684 0.985224 1.01657 0.983592 0.835368 0.662947 +0.537895 0.429947 0.361787 0.337173 0.325813 0.32392 0.303093 0.28984 +0.27848 0.263333 0.263333 0.253867 0.240613 0.229253 0.231147 0.236827 +0.225467 0.229253 0.229253 0.229253 0.225467 0.219787 0.229253 0.23304 +0.23304 0.22168 0.223573 0.223573 0.219787 0.22736 0.234933 0.22736 +0.225467 0.23304 0.22168 0.000993333 0.22168 0.22168 0.217893 0.000986667 +0.216 0.216 0.22168 0.216 0.00096 0.00096 0.00098 0.22168 +0.22168 0.000993333 0.217893 0.216 0.22168 0.22168 0.000993333 0.000973333 +0.216 0.219787 0.000973333 0.00096 0.00096 0.000953333 0.000926667 0.00094 +0.000953333 0.000966667 0.00096 0.000953333 0.000973333 0.000953333 0.00094 0.000953333 +0.000946667 0.00094 0.000906667 0.000893333 0.000886667 0.0009 0.0009 0.0009 +0.0009 0.000893333 0.0009 0.00092 0.000933333 0.000926667 0.00094 0.00096 +0.000953333 0.000926667 0.00094 0.000986667 0.216 0.00096 0.00098 0.000973333 +0.000953333 0.00096 0.000893333 0.0009 0.000933333 0.000933333 0.000926667 0.00094 +0.000953333 0.00094 0.000946667 0.000913333 0.00094 0.000906667 0.00092 0.000906667 +0.000913333 0.000906667 0.000913333 0.000926667 0.000913333 0.000893333 0.000926667 0.00098 +0.000913333 0.000926667 0.000946667 0.000933333 0.000906667 0.000913333 0.000946667 0.00094 +0.000926667 0.00092 0.000946667 0.0009 0.000893333 0.000933333 0.000933333 0.000926667 +0.000953333 0.00096 0.000946667 0.000926667 0.000946667 0.000946667 0.000966667 0.000953333 +0.000953333 0.00096 0.00096 0.000906667 0.000913333 0.00088 0.000846667 0.00084 +0.000866667 0.00086 0.000913333 0.000893333 0.000886667 0.000886667 0.00092 0.000933333 +0.00092 0.000933333 0.000953333 0.000946667 0.00092 0.000926667 0.000913333 0.000906667 +0.000866667 0.000866667 0.000906667 0.000926667 0.000873333 0.0009 0.000993333 0.00094 +0.000933333 0.00092 0.000926667 0.000933333 0.000933333 0.000933333 0.000933333 0.00094 +0.000906667 0.00086 0.000886667 0.000933333 0.000926667 0.0009 0.000913333 0.000946667 +0.000953333 0.0009 0.00094 0.00096 0.000946667 0.00092 0.0009 0.000906667 +0.00092 0.00094 0.000913333 0.00094 0.000966667 0.000973333 0.000933333 0.000953333 +0.000933333 0.000913333 0.000926667 0.000926667 0.000926667 0.0009 0.00094 0.000946667 +0.000953333 0.000926667 0.000933333 0.000933333 0.00096 0.00094 0.000926667 0.000933333 +0.00094 0.00096 0.000966667 0.000946667 0.000933333 0.000953333 0.000986667 0.000973333 +0.000953333 0.000933333 0.000906667 0.00096 0.000973333 0.00098 0.00096 0.000946667 +0.000946667 0.000946667 0.000973333 0.000973333 0.000946667 0.00094 0.000926667 0.000933333 +0.000973333 0.00096 0.000946667 0.00094 0.000973333 0.000986667 0.000986667 0.00098 +0.00096 0.000953333 0.000953333 0.000966667 0.000966667 0.00096 0.000953333 0.000973333 +0.217893 0.000986667 0.000986667 0.000973333 0.000966667 0.00098 0.00098 0.00098 +0.000966667 0.00096 0.00094 0.00096 0.00096 0.00098 0.000986667 0.000973333 +0.00098 0.000966667 0.000993333 0.000986667 0.000973333 0.000973333 0.00098 0.000953333 +0.000913333 0.000953333 0.000986667 0.00098 0.000986667 0.00096 0.000946667 0.000966667 +0.00096 0.000933333 0.000953333 0.000966667 0.000966667 0.000946667 0.000973333 0.216 +0.00098 0.217893 0.223573 0.000993333 0.000993333 0.216 0.225467 0.223573 +0.22168 0.225467 0.225467 0.22736 0.225467 0.231147 0.236827 0.23872 +0.240613 0.242507 0.2444 0.246293 0.2444 0.257653 0.26144 0.26712 +0.276587 0.28984 0.30688 0.320133 0.33528 0.40912 0.530947 0.645895 +0.810105 0.968 1.00808 0.971158 0.822105 0.666105 0.552421 0.481067 +0.458347 0.523368 0.611789 0.752632 0.917474 1.01265 1.04661 1.0551 +1.04465 1.00743 0.885263 0.707158 0.563789 0.418587 0.286053 0.240613 +0.217893 0.00098 0.000966667 0.000946667 0.000953333 0.000933333 0.000893333 0.000893333 +0.000893333 0.00088 0.00086 0.000873333 0.000873333 0.00088 0.000873333 0.000846667 +0.00084 0.000833333 0.000833333 0.00084 0.000846667 0.000846667 0.000833333 0.00082 +0.000833333 0.000866667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000846667 +0.000806667 0.000806667 0.000826667 0.000813333 0.00084 0.0008 0.000806667 0.000826667 +0.000793333 0.0008 0.000806667 0.00082 0.00082 0.000826667 0.000806667 0.000786667 +0.0008 0.000826667 0.000826667 0.000833333 0.000866667 0.000873333 0.00088 0.000913333 +0.000926667 0.000886667 0.0009 0.00092 0.00094 0.000933333 0.000933333 0.000993333 +0.217893 0.225467 0.276587 0.395867 0.552421 0.697684 0.878947 1.00645 +1.04563 1.05478 1.04433 1.00286 0.875158 0.705895 0.575789 0.509474 +0.502526 0.56 0.68 0.837895 0.982286 1.01298 0.980653 0.831579 +0.668632 0.544842 0.433733 0.371253 0.371253 0.348533 0.314453 0.304987 +0.282267 0.269013 0.269013 0.259547 0.25008 0.240613 0.242507 0.236827 +0.22736 0.234933 0.236827 0.23304 0.23304 0.231147 0.229253 0.236827 +0.22736 0.217893 0.231147 0.229253 0.229253 0.23304 0.225467 0.223573 +0.225467 0.22736 0.22168 0.22168 0.223573 0.000993333 0.217893 0.216 +0.217893 0.217893 0.219787 0.219787 0.000973333 0.00098 0.216 0.219787 +0.216 0.000993333 0.000973333 0.00098 0.22168 0.223573 0.000986667 0.00096 +0.000973333 0.000973333 0.000973333 0.000953333 0.000953333 0.00094 0.00096 0.00094 +0.00092 0.000946667 0.000946667 0.00096 0.00098 0.000926667 0.000933333 0.000953333 +0.00094 0.00092 0.000913333 0.00092 0.000886667 0.0009 0.0009 0.00092 +0.0009 0.00092 0.00094 0.000946667 0.00096 0.000933333 0.00096 0.000953333 +0.000933333 0.00096 0.00096 0.000993333 0.000966667 0.000953333 0.00096 0.000933333 +0.000953333 0.00094 0.000893333 0.000926667 0.00094 0.000933333 0.000946667 0.000926667 +0.000933333 0.00096 0.00094 0.000926667 0.00092 0.000933333 0.00092 0.00092 +0.000906667 0.0009 0.000893333 0.00092 0.000926667 0.000913333 0.00096 0.000986667 +0.000926667 0.000953333 0.00092 0.0009 0.00088 0.000913333 0.000906667 0.00092 +0.000906667 0.00092 0.00092 0.000893333 0.00092 0.00096 0.000966667 0.000933333 +0.000953333 0.00098 0.000946667 0.000926667 0.00096 0.00092 0.00094 0.000946667 +0.00094 0.000926667 0.0009 0.00088 0.000906667 0.0009 0.000873333 0.000886667 +0.0009 0.000893333 0.00092 0.000913333 0.000913333 0.00092 0.000953333 0.00094 +0.00092 0.000906667 0.00094 0.000946667 0.00092 0.000933333 0.00092 0.000886667 +0.000886667 0.00092 0.00092 0.000906667 0.000873333 0.000913333 0.000973333 0.000933333 +0.000946667 0.00094 0.000946667 0.000933333 0.000926667 0.00094 0.00092 0.000933333 +0.00092 0.000873333 0.000906667 0.00096 0.000946667 0.000913333 0.000933333 0.000946667 +0.000933333 0.000906667 0.000926667 0.00096 0.000946667 0.000933333 0.000913333 0.0009 +0.00092 0.00092 0.000893333 0.000953333 0.00096 0.000953333 0.000946667 0.00096 +0.000926667 0.000913333 0.00094 0.000953333 0.000926667 0.00092 0.000953333 0.000953333 +0.00096 0.000933333 0.000926667 0.00094 0.000953333 0.000946667 0.00094 0.00094 +0.000946667 0.00094 0.00096 0.000946667 0.000933333 0.000953333 0.219787 0.000973333 +0.00094 0.00094 0.00094 0.00096 0.000953333 0.000933333 0.000926667 0.00092 +0.000953333 0.00096 0.000966667 0.000953333 0.00096 0.000966667 0.000946667 0.000933333 +0.00096 0.000933333 0.00094 0.00096 0.000966667 0.000966667 0.000966667 0.00098 +0.000973333 0.00098 0.000953333 0.00098 0.00096 0.00096 0.000946667 0.00098 +0.216 0.000973333 0.00098 0.00098 0.000966667 0.000993333 0.00098 0.000993333 +0.000973333 0.000986667 0.00098 0.000966667 0.00098 0.000993333 0.00098 0.000946667 +0.000966667 0.00098 0.000966667 0.00098 0.000973333 0.000966667 0.000973333 0.000966667 +0.000966667 0.000966667 0.000986667 0.000993333 0.000973333 0.000986667 0.00098 0.000993333 +0.000986667 0.000966667 0.00098 0.000973333 0.000973333 0.000973333 0.000973333 0.216 +0.217893 0.000966667 0.000993333 0.219787 0.216 0.217893 0.219787 0.216 +0.223573 0.231147 0.22736 0.225467 0.22736 0.23872 0.242507 0.234933 +0.236827 0.242507 0.246293 0.253867 0.251973 0.265227 0.27848 0.282267 +0.29552 0.303093 0.310667 0.339067 0.418587 0.541684 0.666737 0.825895 +0.973053 1.00743 0.963579 0.810105 0.653474 0.544842 0.475387 0.462133 +0.527789 0.622526 0.767789 0.930737 1.01788 1.04661 1.05347 1.04498 +1.00253 0.870105 0.692632 0.549263 0.39208 0.276587 0.234933 0.22168 +0.216 0.000973333 0.00094 0.00094 0.000913333 0.000886667 0.000873333 0.00088 +0.0009 0.000913333 0.000873333 0.000853333 0.000873333 0.00086 0.000853333 0.000846667 +0.00086 0.00086 0.00084 0.00084 0.000853333 0.000846667 0.00084 0.000846667 +0.00088 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000826667 0.00084 0.0008 0.000793333 0.0008 0.0008 0.000826667 0.000813333 +0.00082 0.000826667 0.000826667 0.00082 0.000806667 0.000786667 0.000766667 0.0008 +0.000833333 0.000833333 0.000813333 0.000813333 0.000853333 0.000846667 0.000886667 0.000906667 +0.000886667 0.000893333 0.000913333 0.000913333 0.00092 0.000893333 0.000926667 0.00096 +0.000953333 0.223573 0.23872 0.2728 0.388293 0.544842 0.686947 0.871368 +1.00449 1.044 1.05412 1.04596 1.00678 0.882737 0.710316 0.577684 +0.510737 0.504421 0.559368 0.678105 0.838526 0.979368 1.012 0.985878 +0.850526 0.685053 0.561263 0.503789 0.44888 0.40344 0.354213 0.322027 +0.293627 0.282267 0.27848 0.26144 0.25576 0.259547 0.25008 0.2444 +0.242507 0.23872 0.234933 0.236827 0.23304 0.22736 0.236827 0.240613 +0.225467 0.22736 0.234933 0.236827 0.240613 0.22736 0.223573 0.22736 +0.223573 0.22168 0.22168 0.223573 0.225467 0.219787 0.217893 0.219787 +0.217893 0.000993333 0.219787 0.217893 0.00098 0.216 0.000993333 0.219787 +0.000986667 0.000973333 0.000953333 0.00098 0.216 0.000986667 0.000953333 0.000933333 +0.00094 0.000953333 0.000966667 0.00096 0.00094 0.000933333 0.00096 0.00094 +0.000953333 0.00096 0.000966667 0.000973333 0.000973333 0.000946667 0.000946667 0.00094 +0.000906667 0.000906667 0.00092 0.00092 0.000886667 0.000886667 0.0009 0.00092 +0.0009 0.000933333 0.000973333 0.000993333 0.000973333 0.000966667 0.000986667 0.00096 +0.000946667 0.000986667 0.000973333 0.000946667 0.00092 0.000933333 0.000933333 0.000906667 +0.000953333 0.000906667 0.000906667 0.00096 0.00092 0.000926667 0.000953333 0.00094 +0.00092 0.000953333 0.00092 0.00092 0.000933333 0.000946667 0.000933333 0.00094 +0.000926667 0.00092 0.00092 0.000926667 0.00092 0.000913333 0.000953333 0.000973333 +0.000966667 0.000973333 0.000933333 0.000886667 0.000886667 0.00092 0.000913333 0.000933333 +0.000886667 0.0009 0.000906667 0.000906667 0.000953333 0.000953333 0.000946667 0.000913333 +0.000926667 0.000973333 0.000953333 0.00094 0.000913333 0.000886667 0.000913333 0.00092 +0.000926667 0.000926667 0.000906667 0.000913333 0.000926667 0.00092 0.000893333 0.000913333 +0.000933333 0.00094 0.000953333 0.000926667 0.00092 0.00094 0.000933333 0.0009 +0.0009 0.000893333 0.000946667 0.000946667 0.000913333 0.000926667 0.000893333 0.000906667 +0.00094 0.000953333 0.000933333 0.00092 0.000906667 0.000953333 0.00098 0.00094 +0.000926667 0.000913333 0.00092 0.000906667 0.000893333 0.000893333 0.000906667 0.000946667 +0.00094 0.000906667 0.00092 0.000973333 0.00096 0.000906667 0.000933333 0.00092 +0.000906667 0.00092 0.00094 0.000946667 0.000933333 0.00094 0.000933333 0.0009 +0.000933333 0.00094 0.00092 0.000966667 0.00096 0.00094 0.000946667 0.000953333 +0.00092 0.000933333 0.000946667 0.000966667 0.000926667 0.000933333 0.000953333 0.000966667 +0.000966667 0.00094 0.0009 0.000933333 0.000933333 0.000946667 0.000933333 0.000953333 +0.000973333 0.00096 0.000966667 0.00094 0.00094 0.000973333 0.22736 0.000993333 +0.00092 0.00092 0.00092 0.000946667 0.000966667 0.000946667 0.00094 0.000926667 +0.000966667 0.000946667 0.00094 0.000953333 0.000973333 0.000946667 0.000933333 0.00094 +0.000973333 0.000966667 0.000946667 0.00096 0.000953333 0.000953333 0.00096 0.000993333 +0.219787 0.216 0.000933333 0.00096 0.000966667 0.00096 0.00094 0.000973333 +0.000986667 0.00096 0.00096 0.00098 0.000973333 0.000993333 0.000973333 0.000966667 +0.000973333 0.000993333 0.000986667 0.000953333 0.00098 0.217893 0.000973333 0.00096 +0.000986667 0.216 0.000966667 0.00098 0.00098 0.000966667 0.00096 0.000973333 +0.217893 0.000993333 0.000986667 0.225467 0.000993333 0.000993333 0.22168 0.219787 +0.216 0.00098 0.000986667 0.000993333 0.000993333 0.000973333 0.00096 0.000966667 +0.216 0.00098 0.000986667 0.223573 0.216 0.22168 0.217893 0.219787 +0.22168 0.225467 0.231147 0.22736 0.23304 0.240613 0.242507 0.234933 +0.242507 0.257653 0.257653 0.265227 0.259547 0.265227 0.286053 0.29552 +0.314453 0.32392 0.339067 0.424267 0.542947 0.668 0.837263 0.983918 +1.00808 0.954737 0.8 0.644632 0.537263 0.458347 0.462133 0.537263 +0.634526 0.779158 0.940842 1.02245 1.04922 1.05478 1.04302 0.997306 +0.853684 0.673053 0.536 0.367467 0.263333 0.234933 0.22168 0.000973333 +0.000946667 0.000913333 0.00092 0.00094 0.000926667 0.00088 0.00088 0.00088 +0.000853333 0.000853333 0.00086 0.000873333 0.000893333 0.000873333 0.00084 0.000853333 +0.000866667 0.000846667 0.000813333 0.000813333 0.000853333 0.000826667 0.000866667 0.000913333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000833333 0.000806667 0.00078 0.000773333 0.000813333 0.000806667 0.000786667 +0.00084 0.00084 0.000826667 0.00082 0.0008 0.000773333 0.0008 0.000833333 +0.000813333 0.000806667 0.000786667 0.00082 0.00082 0.000826667 0.00088 0.00088 +0.000893333 0.000893333 0.0009 0.000886667 0.000893333 0.000886667 0.00092 0.000933333 +0.000973333 0.223573 0.22168 0.22736 0.269013 0.371253 0.541684 0.683789 +0.863158 1.0009 1.04302 1.05412 1.04694 1.00743 0.884632 0.716632 +0.584 0.513263 0.505684 0.560632 0.674316 0.829053 0.978737 1.01918 +0.996327 0.875789 0.733053 0.630737 0.574526 0.539158 0.490533 0.3864 +0.3296 0.30688 0.287947 0.2728 0.274693 0.274693 0.25576 0.253867 +0.25008 0.23872 0.236827 0.240613 0.240613 0.23872 0.242507 0.240613 +0.23304 0.23872 0.23872 0.23872 0.231147 0.225467 0.231147 0.23304 +0.229253 0.223573 0.223573 0.223573 0.22168 0.225467 0.223573 0.000993333 +0.22168 0.22736 0.223573 0.217893 0.216 0.000993333 0.000993333 0.223573 +0.217893 0.000966667 0.000973333 0.216 0.000986667 0.000973333 0.000946667 0.000933333 +0.000946667 0.000966667 0.00096 0.000953333 0.000946667 0.000953333 0.00096 0.000966667 +0.00096 0.00096 0.000973333 0.00096 0.000933333 0.00092 0.000926667 0.000933333 +0.000913333 0.000933333 0.000946667 0.00092 0.0009 0.000893333 0.000926667 0.000966667 +0.00094 0.000966667 0.219787 0.217893 0.000946667 0.000953333 0.000966667 0.000986667 +0.000953333 0.000973333 0.000953333 0.000893333 0.000886667 0.00092 0.000926667 0.00092 +0.000906667 0.00088 0.000926667 0.000933333 0.0009 0.00094 0.000946667 0.000933333 +0.00092 0.000933333 0.000926667 0.00092 0.000946667 0.00096 0.00094 0.000893333 +0.000906667 0.000933333 0.00096 0.0009 0.000893333 0.000926667 0.00096 0.000953333 +0.000953333 0.00096 0.000946667 0.000886667 0.00092 0.000926667 0.000913333 0.00092 +0.000893333 0.000926667 0.00094 0.000953333 0.000973333 0.000946667 0.000926667 0.000906667 +0.000946667 0.000966667 0.000926667 0.000906667 0.000893333 0.000906667 0.00092 0.000906667 +0.00094 0.00094 0.000913333 0.000926667 0.00094 0.000933333 0.000913333 0.000906667 +0.000933333 0.00096 0.000966667 0.00094 0.000926667 0.000926667 0.000906667 0.0009 +0.000906667 0.00088 0.000953333 0.000933333 0.000913333 0.000933333 0.000913333 0.00092 +0.000906667 0.00094 0.00094 0.00094 0.000913333 0.00096 0.00098 0.00096 +0.000933333 0.000906667 0.000906667 0.000906667 0.0009 0.000913333 0.000906667 0.000933333 +0.000926667 0.000906667 0.00092 0.000973333 0.000973333 0.000926667 0.000946667 0.00094 +0.000926667 0.000933333 0.000946667 0.000953333 0.000946667 0.00094 0.00094 0.00088 +0.000926667 0.000953333 0.000913333 0.000953333 0.000946667 0.00096 0.00094 0.000933333 +0.000926667 0.000946667 0.00096 0.000966667 0.000953333 0.000913333 0.00094 0.00098 +0.00096 0.000926667 0.000893333 0.000913333 0.000946667 0.000973333 0.00094 0.00094 +0.00096 0.000953333 0.000973333 0.000946667 0.00094 0.00096 0.219787 0.00098 +0.00092 0.00092 0.000906667 0.000913333 0.000966667 0.000966667 0.00098 0.00096 +0.00096 0.000946667 0.00094 0.000966667 0.000973333 0.00094 0.00094 0.00094 +0.000966667 0.000966667 0.00094 0.000966667 0.00094 0.000946667 0.000966667 0.000986667 +0.22168 0.000986667 0.000906667 0.000953333 0.000986667 0.00098 0.000966667 0.000966667 +0.000993333 0.00098 0.000966667 0.00098 0.000986667 0.000966667 0.000953333 0.00094 +0.000966667 0.000986667 0.000973333 0.000953333 0.000986667 0.22168 0.00096 0.000946667 +0.216 0.223573 0.219787 0.000986667 0.000973333 0.000966667 0.000966667 0.000993333 +0.217893 0.219787 0.216 0.225467 0.219787 0.216 0.216 0.216 +0.217893 0.217893 0.22168 0.216 0.00098 0.000973333 0.000973333 0.000986667 +0.216 0.216 0.00098 0.000993333 0.000986667 0.217893 0.216 0.22168 +0.22736 0.22168 0.236827 0.242507 0.236827 0.242507 0.246293 0.246293 +0.242507 0.259547 0.2728 0.270907 0.270907 0.276587 0.297413 0.31256 +0.325813 0.350427 0.42048 0.545474 0.673684 0.839789 0.983265 1.0058 +0.942105 0.784211 0.635789 0.535368 0.469707 0.467813 0.537895 0.647158 +0.801263 0.959158 1.02506 1.04988 1.05314 1.03845 0.990776 0.837895 +0.661684 0.527158 0.354213 0.259547 0.22736 0.216 0.00096 0.000973333 +0.000953333 0.000926667 0.000926667 0.000893333 0.000886667 0.000873333 0.000853333 0.000873333 +0.000866667 0.000853333 0.000853333 0.000846667 0.000846667 0.000853333 0.000846667 0.000833333 +0.000873333 0.00086 0.0008 0.00078 0.000786667 0.000846667 0.00088 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00084 0.000833333 0.000806667 0.000806667 0.000813333 0.000806667 +0.000806667 0.000813333 0.0008 0.000793333 0.000773333 0.00078 0.000786667 0.000806667 +0.000806667 0.00082 0.000833333 0.000833333 0.000806667 0.000833333 0.00086 0.000833333 +0.000866667 0.000886667 0.000873333 0.000866667 0.000873333 0.00092 0.000946667 0.00096 +0.000986667 0.000986667 0.000986667 0.217893 0.223573 0.26712 0.37504 0.532842 +0.672421 0.856842 0.998286 1.04335 1.05576 1.04596 1.00743 0.892842 +0.724842 0.587158 0.517053 0.505684 0.555579 0.668632 0.823368 0.974947 +1.02114 1.01102 0.949684 0.854947 0.789895 0.722316 0.630105 0.540421 +0.446987 0.356107 0.310667 0.29552 0.286053 0.276587 0.269013 0.265227 +0.25576 0.251973 0.25008 0.242507 0.240613 0.240613 0.242507 0.242507 +0.240613 0.236827 0.231147 0.231147 0.22736 0.236827 0.236827 0.231147 +0.229253 0.22736 0.231147 0.223573 0.217893 0.219787 0.225467 0.219787 +0.219787 0.219787 0.217893 0.225467 0.22168 0.00098 0.217893 0.223573 +0.000993333 0.000993333 0.000993333 0.217893 0.000973333 0.00096 0.000946667 0.00096 +0.000966667 0.00098 0.00098 0.000966667 0.000966667 0.000966667 0.000966667 0.000993333 +0.00096 0.00096 0.00096 0.00094 0.000906667 0.00092 0.000946667 0.000913333 +0.00092 0.00094 0.000926667 0.000926667 0.000913333 0.00094 0.000966667 0.216 +0.000986667 0.000986667 0.217893 0.00096 0.000926667 0.000946667 0.000946667 0.00096 +0.00094 0.000946667 0.000933333 0.000906667 0.000913333 0.00094 0.00094 0.000926667 +0.000886667 0.000886667 0.00094 0.000913333 0.00092 0.000953333 0.000953333 0.00092 +0.000933333 0.00094 0.000926667 0.00092 0.000953333 0.000973333 0.00092 0.000893333 +0.00092 0.000953333 0.000946667 0.000886667 0.0009 0.00096 0.000973333 0.00094 +0.000946667 0.000986667 0.00094 0.000906667 0.000953333 0.000946667 0.000933333 0.000913333 +0.000933333 0.000973333 0.000953333 0.000953333 0.000933333 0.00092 0.000886667 0.000886667 +0.00094 0.00094 0.00088 0.00088 0.00088 0.000913333 0.000906667 0.000913333 +0.000953333 0.000946667 0.000933333 0.000933333 0.000953333 0.000946667 0.000926667 0.000933333 +0.00096 0.000953333 0.000953333 0.000933333 0.00094 0.00092 0.00092 0.000893333 +0.000906667 0.000893333 0.00098 0.000906667 0.000906667 0.000933333 0.000906667 0.0009 +0.0009 0.00092 0.000946667 0.000953333 0.000926667 0.00098 0.000973333 0.000966667 +0.00094 0.000933333 0.000926667 0.000906667 0.0009 0.00092 0.000913333 0.000933333 +0.000906667 0.00092 0.0009 0.00094 0.000973333 0.00094 0.000933333 0.000946667 +0.000946667 0.000933333 0.000933333 0.000953333 0.00096 0.00092 0.000933333 0.000873333 +0.00092 0.000966667 0.000893333 0.000906667 0.000966667 0.00098 0.00094 0.0009 +0.000933333 0.00094 0.000926667 0.000953333 0.00096 0.000926667 0.000966667 0.000973333 +0.000953333 0.00094 0.000913333 0.00094 0.000973333 0.00098 0.000953333 0.00094 +0.000946667 0.000933333 0.00096 0.000926667 0.000926667 0.000953333 0.00098 0.000946667 +0.000906667 0.000933333 0.00092 0.00092 0.000973333 0.00098 0.000993333 0.000946667 +0.000953333 0.000946667 0.000946667 0.000966667 0.000966667 0.00098 0.000966667 0.000946667 +0.000933333 0.00096 0.00096 0.000973333 0.00096 0.000953333 0.00098 0.217893 +0.219787 0.00098 0.0009 0.00094 0.000973333 0.000966667 0.00098 0.000973333 +0.216 0.219787 0.216 0.00098 0.000986667 0.00096 0.000953333 0.000953333 +0.000973333 0.000986667 0.00098 0.000973333 0.000993333 0.000993333 0.000946667 0.000953333 +0.219787 0.22168 0.219787 0.000986667 0.00098 0.000973333 0.000973333 0.22168 +0.223573 0.22168 0.000993333 0.00098 0.216 0.000993333 0.216 0.219787 +0.225467 0.223573 0.223573 0.217893 0.000993333 0.22168 0.22168 0.22168 +0.223573 0.22168 0.00098 0.000973333 0.22168 0.219787 0.000986667 0.223573 +0.23304 0.22736 0.23304 0.246293 0.248187 0.242507 0.2444 0.246293 +0.251973 0.269013 0.28416 0.27848 0.287947 0.304987 0.322027 0.337173 +0.358 0.42616 0.547368 0.681263 0.851789 0.986204 1.00286 0.930105 +0.769684 0.621895 0.525263 0.46024 0.486747 0.548 0.658526 0.817053 +0.973684 1.02996 1.0502 1.05151 1.03486 0.982286 0.819579 0.645263 +0.515789 0.339067 0.257653 0.234933 0.225467 0.000993333 0.000946667 0.000933333 +0.000906667 0.000886667 0.000906667 0.000893333 0.000906667 0.000893333 0.000853333 0.000833333 +0.00086 0.00086 0.000853333 0.000866667 0.000853333 0.000853333 0.00086 0.0008 +0.000806667 0.000833333 0.00082 0.000793333 0.00084 0.000866667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000826667 0.000786667 0.0008 0.000793333 +0.000793333 0.000806667 0.0008 0.000766667 0.000753333 0.000786667 0.00078 0.000806667 +0.00084 0.000833333 0.000813333 0.000813333 0.00082 0.000833333 0.000826667 0.00082 +0.000853333 0.000893333 0.000886667 0.000866667 0.000886667 0.00092 0.00092 0.00092 +0.000953333 0.000966667 0.000973333 0.000966667 0.219787 0.23304 0.263333 0.359893 +0.534105 0.669895 0.849263 0.997306 1.04237 1.05347 1.04465 1.01135 +0.901684 0.730526 0.592842 0.522105 0.508211 0.553053 0.658526 0.808842 +0.964842 1.02506 1.03224 1.01527 0.996327 0.955368 0.851789 0.716 +0.592842 0.505684 0.378827 0.327707 0.299307 0.287947 0.274693 0.26712 +0.259547 0.259547 0.25576 0.248187 0.248187 0.240613 0.242507 0.246293 +0.2444 0.240613 0.231147 0.229253 0.231147 0.234933 0.225467 0.229253 +0.225467 0.23304 0.23304 0.22168 0.223573 0.225467 0.22736 0.229253 +0.225467 0.217893 0.219787 0.223573 0.217893 0.000993333 0.22168 0.000993333 +0.000986667 0.22168 0.22168 0.217893 0.00098 0.00096 0.00096 0.000966667 +0.000973333 0.000993333 0.216 0.000973333 0.00098 0.00098 0.000973333 0.000986667 +0.000973333 0.000966667 0.000946667 0.000906667 0.000873333 0.000953333 0.000953333 0.000913333 +0.000926667 0.000933333 0.000933333 0.000926667 0.000953333 0.00096 0.00096 0.00098 +0.216 0.000993333 0.000966667 0.000926667 0.00094 0.000953333 0.000953333 0.000933333 +0.00094 0.000926667 0.000913333 0.00092 0.000926667 0.000946667 0.000966667 0.00094 +0.000886667 0.0009 0.000953333 0.000926667 0.000953333 0.000973333 0.000946667 0.000933333 +0.00094 0.00092 0.000933333 0.000953333 0.000953333 0.000966667 0.000906667 0.0009 +0.00094 0.000953333 0.0009 0.000873333 0.000926667 0.000973333 0.000986667 0.00098 +0.000966667 0.000973333 0.000913333 0.00092 0.000946667 0.000973333 0.000966667 0.000946667 +0.000986667 0.00098 0.000933333 0.000926667 0.000893333 0.000873333 0.000873333 0.000906667 +0.00094 0.000926667 0.00088 0.000893333 0.000906667 0.000933333 0.0009 0.000933333 +0.000973333 0.000973333 0.000953333 0.000933333 0.000953333 0.000946667 0.000906667 0.000926667 +0.000953333 0.000973333 0.000973333 0.00092 0.000933333 0.00092 0.000913333 0.000933333 +0.00094 0.000933333 0.000966667 0.000906667 0.000913333 0.00096 0.000926667 0.000913333 +0.000933333 0.000926667 0.000933333 0.000926667 0.00092 0.000946667 0.000933333 0.00094 +0.000926667 0.000926667 0.00092 0.0009 0.000893333 0.000933333 0.000933333 0.000926667 +0.000906667 0.00092 0.000893333 0.000933333 0.000946667 0.0009 0.000913333 0.00094 +0.000953333 0.00094 0.000926667 0.000946667 0.00096 0.0009 0.0009 0.000866667 +0.000906667 0.000973333 0.000913333 0.000913333 0.000973333 0.000993333 0.000933333 0.000906667 +0.000933333 0.000926667 0.000933333 0.00098 0.000966667 0.000946667 0.000953333 0.00096 +0.00094 0.00094 0.00092 0.00096 0.000973333 0.216 0.000986667 0.00096 +0.00096 0.000933333 0.000946667 0.000946667 0.000933333 0.000913333 0.000933333 0.000946667 +0.00094 0.000953333 0.000946667 0.000926667 0.00098 0.000973333 0.000973333 0.00096 +0.00094 0.00094 0.000933333 0.000946667 0.000966667 0.000986667 0.000953333 0.00092 +0.000926667 0.000993333 0.000986667 0.00096 0.000973333 0.00098 0.00098 0.000986667 +0.000993333 0.000973333 0.00092 0.00092 0.000966667 0.000973333 0.00096 0.00094 +0.00098 0.22168 0.22168 0.000986667 0.000966667 0.000953333 0.000973333 0.00098 +0.000973333 0.00098 0.000993333 0.000993333 0.22168 0.216 0.000966667 0.000973333 +0.216 0.219787 0.000993333 0.000966667 0.000973333 0.000986667 0.000986667 0.223573 +0.22736 0.223573 0.22168 0.000986667 0.000993333 0.000993333 0.216 0.217893 +0.219787 0.225467 0.225467 0.219787 0.216 0.225467 0.22168 0.000993333 +0.22168 0.22736 0.22168 0.219787 0.229253 0.22736 0.216 0.217893 +0.231147 0.229253 0.231147 0.236827 0.2444 0.248187 0.248187 0.26144 +0.270907 0.280373 0.286053 0.293627 0.31824 0.348533 0.36936 0.390187 +0.473493 0.558737 0.692 0.863789 0.989143 1.00024 0.914316 0.756421 +0.613053 0.520842 0.452667 0.490533 0.56 0.674316 0.832211 0.983592 +1.03322 1.05184 1.05184 1.03192 0.969895 0.800632 0.632632 0.510105 +0.3296 0.25008 0.223573 0.000993333 0.00096 0.000966667 0.000946667 0.000913333 +0.000886667 0.00086 0.000866667 0.00086 0.000886667 0.00088 0.000866667 0.000853333 +0.000846667 0.000833333 0.00084 0.000853333 0.000866667 0.000846667 0.000866667 0.00084 +0.000806667 0.000806667 0.00078 0.000846667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.0008 0.000786667 0.00078 +0.000773333 0.000793333 0.00078 0.00078 0.000806667 0.000813333 0.000793333 0.000793333 +0.000793333 0.000793333 0.000786667 0.0008 0.000806667 0.0008 0.000806667 0.00084 +0.000886667 0.000893333 0.000886667 0.000886667 0.000886667 0.000893333 0.000906667 0.000913333 +0.000893333 0.000933333 0.000946667 0.00096 0.000986667 0.216 0.231147 0.270907 +0.36368 0.526526 0.66421 0.843579 0.992735 1.04041 1.05445 1.04857 +1.01363 0.906737 0.736211 0.603579 0.525895 0.504421 0.547368 0.647158 +0.792421 0.945895 1.02278 1.04727 1.0489 1.04204 1.01461 0.935789 +0.782316 0.632632 0.526526 0.416693 0.344747 0.308773 0.282267 0.276587 +0.274693 0.270907 0.259547 0.263333 0.26144 0.246293 0.246293 0.242507 +0.242507 0.240613 0.236827 0.234933 0.236827 0.229253 0.22736 0.234933 +0.23304 0.23304 0.225467 0.225467 0.231147 0.231147 0.231147 0.225467 +0.223573 0.22168 0.22168 0.216 0.000993333 0.000986667 0.22168 0.000986667 +0.000993333 0.22736 0.22168 0.216 0.000993333 0.000986667 0.000986667 0.00098 +0.00096 0.000973333 0.00098 0.000973333 0.00098 0.000973333 0.000966667 0.000946667 +0.00096 0.000946667 0.00092 0.000906667 0.000913333 0.000973333 0.000953333 0.00092 +0.000933333 0.000946667 0.000966667 0.00096 0.000973333 0.000966667 0.000933333 0.000966667 +0.216 0.000973333 0.000946667 0.00094 0.000953333 0.00094 0.00094 0.000926667 +0.00096 0.000933333 0.000933333 0.00094 0.000933333 0.000946667 0.000966667 0.000946667 +0.000893333 0.000933333 0.000946667 0.000933333 0.000953333 0.000966667 0.000953333 0.000933333 +0.000933333 0.000893333 0.000933333 0.000953333 0.000973333 0.000946667 0.000913333 0.000926667 +0.00096 0.000933333 0.000906667 0.000906667 0.000946667 0.00096 0.000986667 0.000973333 +0.000966667 0.000946667 0.000933333 0.00094 0.000933333 0.000946667 0.000926667 0.000946667 +0.000993333 0.000966667 0.000913333 0.000886667 0.000886667 0.000873333 0.00088 0.000893333 +0.00092 0.000926667 0.000906667 0.0009 0.00092 0.00096 0.00092 0.000953333 +0.00098 0.00096 0.00094 0.000933333 0.00094 0.000933333 0.000893333 0.000906667 +0.000933333 0.00094 0.000926667 0.000886667 0.000933333 0.000933333 0.000913333 0.000946667 +0.000953333 0.00094 0.000966667 0.000913333 0.00094 0.000953333 0.000926667 0.000933333 +0.000946667 0.000913333 0.00092 0.000926667 0.00094 0.000953333 0.00096 0.000953333 +0.00094 0.00094 0.00094 0.00092 0.000926667 0.000966667 0.00096 0.000946667 +0.000913333 0.000926667 0.00092 0.000933333 0.000926667 0.000893333 0.000933333 0.000946667 +0.00094 0.000953333 0.00094 0.00098 0.00098 0.000906667 0.00092 0.000866667 +0.00092 0.000986667 0.000913333 0.000933333 0.000993333 0.000993333 0.000933333 0.00092 +0.000933333 0.000913333 0.00092 0.000973333 0.000973333 0.000946667 0.00096 0.00096 +0.00092 0.000913333 0.000926667 0.000946667 0.000966667 0.000973333 0.00096 0.00092 +0.00096 0.000946667 0.000953333 0.000953333 0.000933333 0.000906667 0.00094 0.000953333 +0.00094 0.000953333 0.00092 0.000906667 0.000946667 0.000966667 0.000986667 0.000973333 +0.000926667 0.00094 0.000946667 0.000926667 0.000953333 0.00098 0.00094 0.000913333 +0.000933333 0.216 0.000986667 0.000946667 0.000966667 0.000966667 0.00096 0.00098 +0.000986667 0.00098 0.00096 0.00092 0.000953333 0.217893 0.000986667 0.00096 +0.000973333 0.219787 0.217893 0.000973333 0.000966667 0.000953333 0.000973333 0.000973333 +0.00096 0.00098 0.217893 0.216 0.225467 0.219787 0.219787 0.217893 +0.217893 0.223573 0.217893 0.000993333 0.000986667 0.000973333 0.216 0.225467 +0.22736 0.22168 0.22168 0.217893 0.216 0.217893 0.000993333 0.217893 +0.000993333 0.225467 0.229253 0.219787 0.000993333 0.000993333 0.216 0.216 +0.22168 0.236827 0.23304 0.23304 0.236827 0.231147 0.225467 0.229253 +0.23304 0.23304 0.229253 0.2444 0.25576 0.251973 0.25576 0.263333 +0.276587 0.287947 0.303093 0.337173 0.390187 0.475387 0.521474 0.544842 +0.604211 0.722947 0.879579 0.991755 0.99502 0.899158 0.739368 0.602316 +0.517684 0.44888 0.503789 0.571368 0.693895 0.853053 0.989469 1.03551 +1.05282 1.0502 1.02604 0.954105 0.783579 0.618737 0.501895 0.31824 +0.248187 0.22168 0.00098 0.000946667 0.000953333 0.000953333 0.000906667 0.00086 +0.000866667 0.00088 0.000893333 0.000866667 0.000866667 0.000853333 0.00084 0.00084 +0.000833333 0.000833333 0.000833333 0.000846667 0.00084 0.000813333 0.000806667 0.000833333 +0.000846667 0.000826667 0.00086 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00082 0.00078 +0.000793333 0.000786667 0.000773333 0.000813333 0.00082 0.0008 0.000793333 0.000806667 +0.000793333 0.000793333 0.000806667 0.000793333 0.00078 0.000786667 0.00082 0.000853333 +0.000846667 0.000833333 0.000866667 0.000873333 0.000906667 0.000886667 0.000893333 0.0009 +0.000886667 0.000913333 0.000926667 0.000913333 0.000933333 0.000953333 0.216 0.229253 +0.265227 0.359893 0.525263 0.657895 0.834105 0.990449 1.04139 1.0551 +1.0489 1.01396 0.908 0.745053 0.610526 0.530316 0.505684 0.538526 +0.628211 0.765895 0.92 1.01494 1.05118 1.07065 1.05869 1.03616 +0.980327 0.824632 0.668 0.551158 0.45456 0.35232 0.314453 0.3012 +0.287947 0.280373 0.274693 0.27848 0.263333 0.25576 0.257653 0.242507 +0.242507 0.236827 0.231147 0.23872 0.246293 0.240613 0.23872 0.23872 +0.23304 0.229253 0.225467 0.236827 0.229253 0.229253 0.225467 0.223573 +0.22168 0.22168 0.216 0.219787 0.223573 0.217893 0.216 0.000986667 +0.22168 0.229253 0.219787 0.217893 0.216 0.000993333 0.000986667 0.00098 +0.000973333 0.000973333 0.000966667 0.000973333 0.000953333 0.00096 0.000946667 0.00092 +0.000933333 0.000926667 0.00092 0.000933333 0.000986667 0.000966667 0.000926667 0.000953333 +0.00096 0.00096 0.000946667 0.00094 0.000973333 0.000966667 0.000946667 0.00096 +0.217893 0.000966667 0.000913333 0.00092 0.00094 0.000946667 0.000946667 0.00094 +0.000946667 0.000926667 0.00094 0.000953333 0.000953333 0.000946667 0.00094 0.000926667 +0.000913333 0.00096 0.000953333 0.00094 0.00096 0.000966667 0.000946667 0.00094 +0.000913333 0.000893333 0.000913333 0.000926667 0.000953333 0.000946667 0.00092 0.000953333 +0.000966667 0.000933333 0.00092 0.000933333 0.000973333 0.000966667 0.000986667 0.000953333 +0.000966667 0.00094 0.000946667 0.000953333 0.000926667 0.00092 0.000906667 0.000913333 +0.000953333 0.00094 0.000926667 0.000933333 0.000913333 0.000906667 0.000913333 0.000913333 +0.000953333 0.00094 0.000913333 0.000906667 0.000933333 0.000966667 0.00092 0.00096 +0.000953333 0.000933333 0.000933333 0.000933333 0.000946667 0.00092 0.000886667 0.000906667 +0.000926667 0.000926667 0.00092 0.000913333 0.000933333 0.0009 0.000913333 0.00096 +0.000926667 0.000913333 0.000946667 0.000926667 0.00096 0.000966667 0.000926667 0.000933333 +0.00092 0.000913333 0.00094 0.00094 0.00094 0.000953333 0.000973333 0.00098 +0.00096 0.000966667 0.000966667 0.000933333 0.000926667 0.00096 0.000966667 0.000926667 +0.00092 0.00094 0.000926667 0.000933333 0.000933333 0.000893333 0.000926667 0.000946667 +0.00096 0.00096 0.000926667 0.00098 0.000966667 0.000913333 0.00094 0.0009 +0.00094 0.217893 0.000913333 0.00094 0.000993333 0.000973333 0.000933333 0.00092 +0.000933333 0.000926667 0.000913333 0.000926667 0.00096 0.000946667 0.000966667 0.000946667 +0.00092 0.000933333 0.00094 0.000926667 0.00096 0.00096 0.00094 0.00092 +0.000953333 0.000966667 0.000966667 0.000966667 0.000933333 0.000913333 0.00098 0.000986667 +0.000946667 0.000926667 0.000906667 0.000913333 0.000946667 0.000986667 0.00098 0.000966667 +0.000926667 0.000953333 0.00096 0.000926667 0.000953333 0.000966667 0.00094 0.00092 +0.000946667 0.000993333 0.000973333 0.00096 0.000986667 0.000973333 0.000966667 0.000993333 +0.000993333 0.216 0.216 0.00094 0.000953333 0.000993333 0.000993333 0.00098 +0.000966667 0.216 0.000986667 0.217893 0.00098 0.000966667 0.00096 0.00096 +0.00096 0.219787 0.22736 0.22168 0.219787 0.216 0.216 0.217893 +0.217893 0.22168 0.219787 0.22168 0.22168 0.000993333 0.22168 0.229253 +0.225467 0.219787 0.217893 0.223573 0.223573 0.223573 0.217893 0.000993333 +0.216 0.231147 0.23304 0.22168 0.223573 0.22168 0.219787 0.223573 +0.22736 0.23304 0.234933 0.236827 0.240613 0.242507 0.236827 0.2444 +0.240613 0.23872 0.236827 0.242507 0.263333 0.25576 0.263333 0.2728 +0.280373 0.30688 0.34664 0.456453 0.549895 0.630737 0.695789 0.737474 +0.810105 0.925053 0.997306 0.990776 0.877684 0.720421 0.590316 0.512632 +0.456453 0.507579 0.586526 0.718526 0.873263 0.99698 1.03812 1.05086 +1.04988 1.02408 0.938316 0.763368 0.59979 0.469707 0.310667 0.25008 +0.225467 0.216 0.000966667 0.000926667 0.000926667 0.000913333 0.00088 0.000873333 +0.000893333 0.000873333 0.00084 0.000833333 0.000846667 0.000873333 0.00086 0.00084 +0.000833333 0.00082 0.000826667 0.000833333 0.00084 0.000833333 0.000833333 0.000813333 +0.000826667 0.000853333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00082 +0.000806667 0.000766667 0.00078 0.00078 0.000773333 0.000786667 0.0008 0.000813333 +0.000786667 0.000786667 0.000793333 0.000786667 0.00078 0.000806667 0.00084 0.000833333 +0.00082 0.00082 0.000833333 0.000853333 0.000893333 0.000873333 0.000893333 0.000906667 +0.000926667 0.000913333 0.000906667 0.000913333 0.000933333 0.000946667 0.000946667 0.000986667 +0.236827 0.2728 0.344747 0.519579 0.651579 0.829684 0.98849 1.03878 +1.0538 1.04792 1.01559 0.918105 0.758316 0.622526 0.535368 0.505684 +0.529684 0.604842 0.730526 0.889053 1.00612 1.0502 1.07674 1.07522 +1.04727 1.0009 0.869474 0.709053 0.577053 0.49432 0.382613 0.333387 +0.304987 0.291733 0.28984 0.282267 0.26712 0.26144 0.25008 0.253867 +0.259547 0.2444 0.242507 0.248187 0.251973 0.248187 0.240613 0.236827 +0.23304 0.225467 0.231147 0.240613 0.229253 0.231147 0.223573 0.225467 +0.22168 0.217893 0.217893 0.223573 0.231147 0.22736 0.216 0.217893 +0.229253 0.225467 0.000986667 0.217893 0.000986667 0.000993333 0.217893 0.216 +0.000973333 0.000966667 0.00098 0.000986667 0.000953333 0.000946667 0.000913333 0.0009 +0.00096 0.000953333 0.000933333 0.00098 0.22168 0.00094 0.000926667 0.000973333 +0.000966667 0.000966667 0.00094 0.00096 0.000973333 0.000946667 0.00094 0.00096 +0.216 0.00094 0.000906667 0.000906667 0.000933333 0.00094 0.00096 0.000966667 +0.000933333 0.000946667 0.000953333 0.000933333 0.00096 0.000946667 0.00094 0.000933333 +0.00094 0.000966667 0.000953333 0.000953333 0.00098 0.000966667 0.000913333 0.000926667 +0.0009 0.0009 0.000913333 0.00094 0.000946667 0.00094 0.000933333 0.000966667 +0.00096 0.000933333 0.00092 0.00096 0.216 0.216 0.00098 0.000953333 +0.00098 0.00094 0.00092 0.00094 0.000933333 0.000926667 0.000913333 0.0009 +0.000926667 0.000913333 0.000926667 0.00094 0.000906667 0.000933333 0.00094 0.000926667 +0.000966667 0.000953333 0.000926667 0.000926667 0.000953333 0.000966667 0.000933333 0.000953333 +0.000926667 0.00092 0.000953333 0.000953333 0.000933333 0.00088 0.0009 0.000953333 +0.000946667 0.000926667 0.000933333 0.000933333 0.000933333 0.000893333 0.00092 0.00096 +0.00092 0.000946667 0.000973333 0.000926667 0.00094 0.000966667 0.000926667 0.00092 +0.00092 0.00094 0.000966667 0.000946667 0.000926667 0.000946667 0.00096 0.000973333 +0.00096 0.000946667 0.000946667 0.000906667 0.00092 0.00094 0.000926667 0.000906667 +0.000913333 0.00094 0.00094 0.000953333 0.00096 0.000913333 0.000933333 0.000933333 +0.00092 0.000926667 0.000906667 0.00096 0.000966667 0.00092 0.000926667 0.00092 +0.000946667 0.000993333 0.00096 0.000953333 0.216 0.00098 0.000926667 0.000886667 +0.000913333 0.000913333 0.0009 0.000946667 0.000966667 0.000946667 0.000966667 0.000953333 +0.000933333 0.000946667 0.00092 0.000913333 0.000966667 0.00096 0.00094 0.00092 +0.000946667 0.000966667 0.000973333 0.00096 0.000926667 0.00092 0.00096 0.000986667 +0.00096 0.00096 0.000946667 0.00094 0.000973333 0.000986667 0.000966667 0.00096 +0.000946667 0.000946667 0.00096 0.000966667 0.00096 0.000966667 0.00094 0.000946667 +0.000966667 0.000973333 0.000966667 0.00096 0.000986667 0.00098 0.00098 0.216 +0.000973333 0.216 0.216 0.000953333 0.000953333 0.000973333 0.000973333 0.000973333 +0.000966667 0.000993333 0.000993333 0.217893 0.000986667 0.000973333 0.00096 0.000973333 +0.000973333 0.000993333 0.229253 0.225467 0.000986667 0.000966667 0.216 0.219787 +0.217893 0.219787 0.225467 0.219787 0.219787 0.216 0.216 0.223573 +0.223573 0.219787 0.219787 0.223573 0.223573 0.217893 0.219787 0.225467 +0.229253 0.236827 0.231147 0.225467 0.22736 0.225467 0.229253 0.23304 +0.236827 0.23872 0.23872 0.236827 0.236827 0.240613 0.248187 0.251973 +0.253867 0.25576 0.25576 0.25576 0.265227 0.2728 0.280373 0.287947 +0.314453 0.36368 0.496213 0.594737 0.733053 0.861263 0.938947 0.979368 +1.00057 1.012 0.984245 0.853053 0.697684 0.577053 0.508211 0.473493 +0.520842 0.599158 0.736211 0.898526 1.00449 1.03943 1.05184 1.04694 +1.01788 0.925684 0.750105 0.588421 0.4432 0.282267 0.240613 0.223573 +0.000973333 0.00098 0.00098 0.000946667 0.000906667 0.00088 0.000853333 0.000846667 +0.00088 0.000886667 0.00086 0.000826667 0.000826667 0.000846667 0.000853333 0.00084 +0.000826667 0.00084 0.000833333 0.000813333 0.0008 0.000813333 0.000833333 0.000813333 +0.00086 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000766667 0.00078 0.00078 0.000753333 0.00076 0.00078 0.000766667 0.00074 +0.000733333 0.00078 0.000786667 0.00078 0.0008 0.00082 0.000813333 0.000793333 +0.000833333 0.000833333 0.000806667 0.000846667 0.000866667 0.00086 0.00088 0.000873333 +0.000913333 0.00092 0.000886667 0.0009 0.000933333 0.000946667 0.00094 0.000973333 +0.219787 0.231147 0.25576 0.33528 0.516421 0.644632 0.820211 0.983592 +1.03649 1.05347 1.0502 1.01886 0.930105 0.771579 0.628211 0.537895 +0.505684 0.518316 0.582737 0.698316 0.845474 0.98751 1.0378 1.06 +1.095 1.05641 1.0182 0.916842 0.750105 0.608 0.516421 0.42048 +0.358 0.31824 0.293627 0.280373 0.276587 0.269013 0.253867 0.269013 +0.263333 0.251973 0.259547 0.251973 0.246293 0.246293 0.246293 0.2444 +0.234933 0.22736 0.234933 0.236827 0.23304 0.229253 0.22168 0.231147 +0.229253 0.219787 0.22168 0.231147 0.23304 0.22736 0.216 0.223573 +0.229253 0.000993333 0.000993333 0.000986667 0.000973333 0.000973333 0.216 0.00098 +0.000953333 0.00094 0.00098 0.000986667 0.00096 0.000953333 0.00092 0.00092 +0.000966667 0.000966667 0.000946667 0.000993333 0.216 0.00094 0.00094 0.000973333 +0.00098 0.000946667 0.00094 0.217893 0.000993333 0.000946667 0.000953333 0.000966667 +0.000973333 0.000933333 0.00094 0.000953333 0.000953333 0.00094 0.00096 0.00096 +0.000953333 0.000973333 0.000973333 0.000953333 0.000986667 0.000966667 0.000933333 0.000926667 +0.000953333 0.000946667 0.000926667 0.000926667 0.000953333 0.000933333 0.000913333 0.000913333 +0.000886667 0.000913333 0.00096 0.000973333 0.00096 0.000946667 0.00094 0.00096 +0.000966667 0.000946667 0.000913333 0.000973333 0.217893 0.000986667 0.000946667 0.00096 +0.000946667 0.00092 0.000913333 0.00096 0.000953333 0.00092 0.00092 0.000933333 +0.00096 0.000946667 0.00096 0.000913333 0.000893333 0.000913333 0.000926667 0.000946667 +0.000986667 0.000946667 0.000926667 0.000933333 0.000953333 0.000953333 0.00094 0.00098 +0.000946667 0.000933333 0.000946667 0.00096 0.000946667 0.000926667 0.000946667 0.000966667 +0.000946667 0.00096 0.000953333 0.000946667 0.00096 0.000913333 0.00094 0.00096 +0.000933333 0.00096 0.00098 0.000926667 0.00094 0.000986667 0.000933333 0.000933333 +0.00094 0.000973333 0.000973333 0.00096 0.000953333 0.00096 0.00096 0.00098 +0.00096 0.00094 0.000946667 0.000926667 0.000966667 0.00096 0.00094 0.000926667 +0.00094 0.000973333 0.000966667 0.000966667 0.000973333 0.000946667 0.00094 0.00092 +0.00092 0.000933333 0.000893333 0.00096 0.000966667 0.00092 0.000933333 0.000933333 +0.00094 0.000973333 0.000946667 0.00092 0.216 0.219787 0.000933333 0.0009 +0.00092 0.000906667 0.000906667 0.000966667 0.000966667 0.00094 0.000973333 0.000993333 +0.00096 0.000926667 0.000906667 0.000926667 0.000953333 0.000966667 0.000973333 0.00094 +0.000966667 0.000993333 0.00098 0.000933333 0.000906667 0.000926667 0.000953333 0.000993333 +0.00098 0.000986667 0.00096 0.00094 0.00096 0.00098 0.000973333 0.000966667 +0.00094 0.000913333 0.000953333 0.00098 0.000946667 0.00096 0.000953333 0.00096 +0.000966667 0.000973333 0.000973333 0.000953333 0.000953333 0.00098 0.000993333 0.00098 +0.000966667 0.216 0.219787 0.000973333 0.00094 0.000973333 0.000973333 0.000973333 +0.00096 0.000986667 0.223573 0.22168 0.000986667 0.000986667 0.00098 0.000993333 +0.000986667 0.00098 0.22736 0.223573 0.000973333 0.000953333 0.000993333 0.219787 +0.217893 0.219787 0.229253 0.223573 0.000993333 0.000993333 0.000993333 0.22168 +0.225467 0.219787 0.217893 0.223573 0.223573 0.219787 0.223573 0.225467 +0.23304 0.234933 0.229253 0.22168 0.229253 0.23304 0.234933 0.240613 +0.240613 0.229253 0.23872 0.2444 0.246293 0.251973 0.25576 0.259547 +0.259547 0.269013 0.2728 0.276587 0.280373 0.291733 0.310667 0.331493 +0.40344 0.515158 0.62 0.787368 0.951579 1.02441 1.04563 1.04824 +1.02963 0.976211 0.824 0.669263 0.559368 0.498107 0.473493 0.532211 +0.621895 0.755789 0.912421 1.01004 1.04302 1.05184 1.04531 1.01233 +0.905474 0.731789 0.576421 0.42616 0.27848 0.231147 0.22168 0.000993333 +0.00094 0.000933333 0.00094 0.00092 0.00088 0.000866667 0.00088 0.00088 +0.00086 0.000846667 0.00084 0.00082 0.000846667 0.000853333 0.000833333 0.000806667 +0.000793333 0.0008 0.000813333 0.00082 0.00082 0.000793333 0.000853333 0.000853333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000833333 0.0008 0.00074 0.000753333 0.000766667 0.000733333 0.000733333 +0.000766667 0.000786667 0.000773333 0.000793333 0.000793333 0.0008 0.000793333 0.000773333 +0.0008 0.000813333 0.000826667 0.00086 0.00086 0.00086 0.000846667 0.000846667 +0.0009 0.000866667 0.000853333 0.00088 0.00092 0.000933333 0.00094 0.000926667 +0.00096 0.216 0.231147 0.265227 0.342853 0.512 0.636421 0.812 +0.98098 1.03551 1.05412 1.04955 1.0218 0.938947 0.777895 0.633263 +0.543579 0.506316 0.509474 0.556842 0.649053 0.791789 0.947789 1.02604 +1.05641 1.1026 1.08739 1.03322 0.956632 0.798105 0.655368 0.556211 +0.48296 0.376933 0.327707 0.303093 0.293627 0.282267 0.269013 0.274693 +0.265227 0.269013 0.263333 0.248187 0.248187 0.2444 0.242507 0.242507 +0.23304 0.231147 0.234933 0.231147 0.225467 0.223573 0.22736 0.234933 +0.225467 0.219787 0.229253 0.234933 0.231147 0.22168 0.216 0.231147 +0.219787 0.00098 0.22168 0.000993333 0.000966667 0.000946667 0.000973333 0.00098 +0.00096 0.00094 0.00096 0.00098 0.216 0.000986667 0.000966667 0.000973333 +0.000973333 0.000953333 0.000966667 0.000993333 0.000966667 0.00096 0.00096 0.000973333 +0.000986667 0.00094 0.000966667 0.217893 0.000953333 0.000953333 0.000966667 0.00098 +0.000966667 0.000946667 0.00096 0.00096 0.000953333 0.00094 0.00096 0.000933333 +0.00094 0.000966667 0.000973333 0.000973333 0.00098 0.000953333 0.000913333 0.00092 +0.00096 0.000926667 0.000926667 0.00092 0.000946667 0.00094 0.000953333 0.000933333 +0.00092 0.000946667 0.00098 0.000973333 0.00096 0.000966667 0.00098 0.00098 +0.000993333 0.000973333 0.000933333 0.000953333 0.000973333 0.000966667 0.000946667 0.00094 +0.000893333 0.000906667 0.000913333 0.000953333 0.00094 0.00092 0.000913333 0.00096 +0.00096 0.00096 0.00096 0.000933333 0.000933333 0.00092 0.000946667 0.000986667 +0.000973333 0.00092 0.00092 0.000933333 0.00096 0.000933333 0.00092 0.00098 +0.00094 0.000933333 0.00094 0.00096 0.000946667 0.000926667 0.00094 0.000953333 +0.00096 0.000973333 0.000953333 0.00096 0.00096 0.000906667 0.000933333 0.000913333 +0.000913333 0.000946667 0.000953333 0.000933333 0.00094 0.000973333 0.000946667 0.000953333 +0.000953333 0.000966667 0.000966667 0.000973333 0.000973333 0.000973333 0.000946667 0.000953333 +0.000946667 0.000953333 0.00096 0.00092 0.000966667 0.000973333 0.00096 0.000966667 +0.00098 0.000986667 0.00094 0.000973333 0.000986667 0.000933333 0.00092 0.00092 +0.00096 0.000973333 0.000906667 0.000966667 0.00098 0.00092 0.000926667 0.000946667 +0.000953333 0.00096 0.00092 0.000913333 0.217893 0.22168 0.000946667 0.000913333 +0.000933333 0.000926667 0.000946667 0.000966667 0.000966667 0.000926667 0.000953333 0.000986667 +0.000973333 0.000953333 0.00094 0.000946667 0.000953333 0.00098 0.000986667 0.000986667 +0.000986667 0.00098 0.000946667 0.000926667 0.00092 0.000953333 0.000973333 0.217893 +0.000993333 0.000993333 0.00096 0.000926667 0.00094 0.000953333 0.000953333 0.000966667 +0.000946667 0.000913333 0.000946667 0.00098 0.000953333 0.00098 0.00096 0.000946667 +0.000946667 0.00096 0.000973333 0.00096 0.000966667 0.216 0.219787 0.00098 +0.000973333 0.000993333 0.000993333 0.000966667 0.000933333 0.00096 0.00096 0.00096 +0.000986667 0.216 0.229253 0.217893 0.217893 0.216 0.000986667 0.216 +0.000993333 0.000973333 0.223573 0.22168 0.00098 0.000973333 0.217893 0.22736 +0.219787 0.216 0.225467 0.22168 0.000986667 0.219787 0.223573 0.223573 +0.223573 0.22168 0.223573 0.229253 0.231147 0.229253 0.22736 0.223573 +0.229253 0.225467 0.225467 0.236827 0.242507 0.240613 0.229253 0.229253 +0.236827 0.234933 0.246293 0.25576 0.259547 0.259547 0.265227 0.2728 +0.269013 0.274693 0.282267 0.29552 0.304987 0.32392 0.36936 0.467813 +0.552421 0.66421 0.825263 0.988163 1.04661 1.10869 1.07522 1.02898 +0.949684 0.789895 0.641474 0.542316 0.48864 0.48296 0.537263 0.637053 +0.779789 0.931368 1.01429 1.04302 1.05184 1.04335 1.00645 0.889053 +0.712842 0.563789 0.40912 0.274693 0.229253 0.000986667 0.00096 0.000953333 +0.00092 0.0009 0.0009 0.000886667 0.000853333 0.00082 0.000833333 0.000853333 +0.000853333 0.000826667 0.00082 0.000813333 0.00082 0.000826667 0.000826667 0.000833333 +0.000826667 0.000826667 0.000813333 0.000793333 0.00078 0.00086 0.00092 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000773333 0.000753333 0.00074 0.00076 0.000786667 +0.00078 0.000766667 0.000786667 0.000786667 0.000773333 0.00078 0.000786667 0.000773333 +0.000786667 0.000806667 0.000826667 0.000833333 0.000813333 0.000833333 0.000846667 0.00084 +0.000873333 0.000873333 0.00088 0.000893333 0.000913333 0.000933333 0.000926667 0.000913333 +0.000946667 0.00096 0.000973333 0.234933 0.263333 0.327707 0.506316 0.635158 +0.807579 0.978105 1.03322 1.05314 1.05086 1.02245 0.949684 0.791789 +0.643368 0.544211 0.498107 0.481067 0.528421 0.607368 0.741895 0.901053 +1.01004 1.05412 1.11021 1.11478 1.0489 0.997633 0.875789 0.733053 +0.609263 0.519579 0.418587 0.348533 0.314453 0.293627 0.286053 0.28416 +0.276587 0.274693 0.263333 0.259547 0.251973 0.248187 0.2444 0.234933 +0.229253 0.23304 0.236827 0.234933 0.229253 0.229253 0.236827 0.23304 +0.223573 0.23304 0.2444 0.23304 0.22168 0.216 0.223573 0.229253 +0.00098 0.00098 0.217893 0.00098 0.000973333 0.000966667 0.216 0.000993333 +0.000973333 0.00094 0.00098 0.219787 0.225467 0.217893 0.217893 0.217893 +0.000973333 0.000973333 0.00098 0.00098 0.00096 0.000973333 0.000953333 0.000966667 +0.000973333 0.00096 0.000986667 0.000973333 0.00094 0.000946667 0.000946667 0.000973333 +0.000946667 0.000946667 0.000946667 0.000953333 0.000933333 0.000953333 0.000953333 0.000926667 +0.00094 0.000946667 0.00098 0.00098 0.000946667 0.000933333 0.00092 0.000933333 +0.000966667 0.000946667 0.000933333 0.000953333 0.00096 0.00094 0.000973333 0.000953333 +0.000953333 0.00098 0.216 0.217893 0.000986667 0.000966667 0.217893 0.000993333 +0.00098 0.000973333 0.000933333 0.00092 0.000946667 0.000953333 0.000946667 0.000933333 +0.0009 0.00092 0.00092 0.000933333 0.000926667 0.000946667 0.00094 0.000973333 +0.00094 0.000933333 0.000946667 0.000953333 0.000946667 0.000926667 0.000946667 0.000966667 +0.000946667 0.000913333 0.000926667 0.000946667 0.000953333 0.000933333 0.000926667 0.000953333 +0.000926667 0.000926667 0.000946667 0.00098 0.000973333 0.00094 0.000946667 0.000953333 +0.000946667 0.000953333 0.00094 0.00096 0.000926667 0.000886667 0.00094 0.000913333 +0.00092 0.00094 0.00094 0.000926667 0.000926667 0.000966667 0.000946667 0.000946667 +0.000953333 0.000946667 0.000953333 0.000966667 0.00098 0.00098 0.000953333 0.000946667 +0.000953333 0.00096 0.00096 0.00092 0.00096 0.00098 0.000966667 0.000946667 +0.00096 0.000973333 0.00094 0.000973333 0.000986667 0.00094 0.000946667 0.00098 +0.000986667 0.000973333 0.0009 0.000966667 0.217893 0.000933333 0.000913333 0.000926667 +0.00094 0.000953333 0.00094 0.000926667 0.000993333 0.217893 0.000953333 0.000906667 +0.00094 0.00096 0.00096 0.00098 0.000973333 0.000926667 0.000966667 0.000986667 +0.000953333 0.000966667 0.000933333 0.000906667 0.00094 0.00096 0.000973333 0.00096 +0.000953333 0.000953333 0.000926667 0.000926667 0.00094 0.00096 0.000966667 0.217893 +0.000986667 0.000993333 0.000953333 0.000906667 0.000933333 0.000946667 0.000946667 0.000953333 +0.000953333 0.000933333 0.000966667 0.00098 0.000966667 0.00098 0.000966667 0.000946667 +0.00094 0.000953333 0.00096 0.000953333 0.000966667 0.216 0.216 0.00098 +0.000973333 0.000966667 0.000986667 0.000986667 0.000973333 0.000966667 0.000966667 0.000986667 +0.216 0.000993333 0.22168 0.000986667 0.22168 0.217893 0.000986667 0.000966667 +0.000993333 0.216 0.231147 0.22168 0.000986667 0.216 0.223573 0.22736 +0.217893 0.217893 0.223573 0.000993333 0.216 0.225467 0.22736 0.223573 +0.223573 0.229253 0.229253 0.23304 0.234933 0.229253 0.22168 0.225467 +0.236827 0.234933 0.231147 0.242507 0.2444 0.240613 0.236827 0.236827 +0.240613 0.2444 0.25576 0.26144 0.259547 0.257653 0.263333 0.274693 +0.27848 0.286053 0.299307 0.314453 0.339067 0.40344 0.518316 0.601053 +0.728632 0.884632 1.00808 1.05935 1.12999 1.06761 1.01624 0.907368 +0.746947 0.613053 0.525263 0.46592 0.48296 0.546737 0.656632 0.805053 +0.954105 1.02082 1.04433 1.04988 1.0391 0.998286 0.869474 0.694526 +0.547368 0.376933 0.269013 0.231147 0.00098 0.000933333 0.000906667 0.000886667 +0.000873333 0.000873333 0.000846667 0.00084 0.00084 0.00082 0.000806667 0.00082 +0.000826667 0.0008 0.000813333 0.00084 0.000846667 0.000846667 0.00082 0.000813333 +0.000813333 0.000833333 0.00084 0.000826667 0.000853333 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000766667 0.000726667 0.00078 0.000773333 +0.00074 0.000786667 0.000793333 0.000753333 0.00076 0.000753333 0.000753333 0.000766667 +0.000786667 0.000786667 0.000793333 0.000793333 0.00078 0.00082 0.000826667 0.000786667 +0.000826667 0.000873333 0.000873333 0.000886667 0.0009 0.000886667 0.0009 0.00092 +0.00094 0.000946667 0.000953333 0.217893 0.22736 0.251973 0.32392 0.506947 +0.627579 0.8 0.971158 1.03192 1.05249 1.05086 1.02637 0.959789 +0.800632 0.647158 0.545474 0.490533 0.467813 0.509474 0.567579 0.685053 +0.845474 0.987184 1.04335 1.1163 1.14977 1.08891 1.02963 0.964842 +0.818316 0.672421 0.563158 0.48864 0.38072 0.331493 0.310667 0.297413 +0.28984 0.27848 0.26712 0.265227 0.26144 0.257653 0.248187 0.240613 +0.23872 0.240613 0.242507 0.240613 0.242507 0.236827 0.23872 0.231147 +0.231147 0.240613 0.229253 0.223573 0.223573 0.223573 0.229253 0.000993333 +0.000973333 0.217893 0.217893 0.00098 0.000993333 0.22168 0.22168 0.219787 +0.000993333 0.00096 0.219787 0.223573 0.219787 0.219787 0.223573 0.217893 +0.00096 0.000993333 0.219787 0.000993333 0.00096 0.000966667 0.000973333 0.000973333 +0.00096 0.000966667 0.000973333 0.000966667 0.000966667 0.000953333 0.000973333 0.000973333 +0.000946667 0.000953333 0.00094 0.000926667 0.000926667 0.000973333 0.000953333 0.00096 +0.000966667 0.00094 0.00098 0.000973333 0.000926667 0.000933333 0.000946667 0.000966667 +0.000966667 0.000973333 0.00096 0.000966667 0.000953333 0.00096 0.000986667 0.000946667 +0.000953333 0.00098 0.219787 0.216 0.00096 0.000946667 0.000986667 0.000973333 +0.00096 0.00094 0.000946667 0.000946667 0.000953333 0.000953333 0.00096 0.000946667 +0.000926667 0.000933333 0.00094 0.000953333 0.00094 0.000953333 0.000953333 0.217893 +0.000973333 0.000933333 0.000933333 0.000926667 0.000946667 0.000946667 0.00092 0.00094 +0.000953333 0.000913333 0.000926667 0.00092 0.000926667 0.00094 0.000953333 0.000966667 +0.00096 0.000966667 0.00098 0.000986667 0.00096 0.000946667 0.000973333 0.000973333 +0.00094 0.00094 0.000933333 0.000953333 0.000913333 0.0009 0.000966667 0.000953333 +0.000946667 0.000953333 0.000953333 0.000933333 0.000953333 0.000986667 0.000953333 0.00094 +0.000953333 0.000953333 0.00098 0.216 0.216 0.000993333 0.000973333 0.00098 +0.000973333 0.00096 0.000966667 0.00096 0.000966667 0.00098 0.000953333 0.000933333 +0.000926667 0.000953333 0.000933333 0.00098 0.000973333 0.000933333 0.000953333 0.00098 +0.00098 0.000946667 0.00092 0.000986667 0.219787 0.00094 0.000913333 0.000946667 +0.000933333 0.00096 0.000953333 0.0009 0.000966667 0.000993333 0.000946667 0.0009 +0.000933333 0.000953333 0.000926667 0.00096 0.000973333 0.000946667 0.00098 0.000966667 +0.000953333 0.00096 0.0009 0.000913333 0.00096 0.000966667 0.000986667 0.000973333 +0.00096 0.000973333 0.00094 0.00094 0.00094 0.000953333 0.000953333 0.000986667 +0.000973333 0.000973333 0.00094 0.000906667 0.00092 0.000953333 0.000973333 0.000953333 +0.00094 0.000946667 0.000973333 0.000986667 0.000953333 0.000986667 0.000986667 0.000986667 +0.000966667 0.000966667 0.00098 0.000966667 0.00098 0.00098 0.00098 0.000946667 +0.00096 0.000966667 0.216 0.219787 0.219787 0.00098 0.000986667 0.00098 +0.000973333 0.000966667 0.216 0.000986667 0.219787 0.217893 0.000993333 0.000973333 +0.219787 0.22736 0.229253 0.22168 0.216 0.000993333 0.217893 0.22168 +0.217893 0.22168 0.223573 0.22168 0.22736 0.22736 0.225467 0.225467 +0.225467 0.22736 0.22736 0.225467 0.22736 0.234933 0.231147 0.23872 +0.2444 0.242507 0.240613 0.2444 0.242507 0.242507 0.2444 0.25008 +0.253867 0.251973 0.25576 0.26144 0.257653 0.259547 0.265227 0.280373 +0.28984 0.297413 0.320133 0.365573 0.46024 0.554947 0.667368 0.805684 +0.956 1.03486 1.1163 1.14521 1.05249 0.996327 0.858737 0.698316 +0.579579 0.512 0.45456 0.486747 0.554947 0.669263 0.823368 0.973684 +1.02702 1.0489 1.05053 1.03453 0.986857 0.841053 0.672421 0.532842 +0.356107 0.25008 0.217893 0.00096 0.000926667 0.000906667 0.000886667 0.000846667 +0.00084 0.00082 0.0008 0.000813333 0.000833333 0.00082 0.00082 0.00082 +0.000826667 0.000813333 0.000826667 0.000833333 0.00086 0.00088 0.00086 0.000853333 +0.000846667 0.000846667 0.000826667 0.000866667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000813333 0.000813333 0.00076 +0.000786667 0.00082 0.00076 0.00074 0.000753333 0.000733333 0.000753333 0.000753333 +0.00074 0.000766667 0.000793333 0.000786667 0.00078 0.000806667 0.000773333 0.000773333 +0.00082 0.000833333 0.000833333 0.00088 0.000873333 0.00086 0.0009 0.000893333 +0.00092 0.000913333 0.000966667 0.000966667 0.217893 0.23304 0.251973 0.316347 +0.500632 0.620632 0.791158 0.960421 1.028 1.05216 1.05184 1.02865 +0.968 0.808842 0.659158 0.551789 0.502526 0.452667 0.46592 0.532211 +0.625684 0.773474 0.940842 1.02637 1.07674 1.14977 1.14977 1.05804 +1.00873 0.901053 0.754526 0.628842 0.535368 0.441307 0.361787 0.320133 +0.31256 0.297413 0.286053 0.276587 0.269013 0.265227 0.253867 0.25008 +0.25008 0.25008 0.248187 0.246293 0.242507 0.23304 0.234933 0.234933 +0.240613 0.240613 0.229253 0.225467 0.22168 0.229253 0.229253 0.000993333 +0.219787 0.223573 0.22168 0.217893 0.22168 0.216 0.217893 0.000993333 +0.000993333 0.216 0.229253 0.216 0.000993333 0.216 0.219787 0.000986667 +0.000973333 0.217893 0.22168 0.000993333 0.000973333 0.000986667 0.216 0.000946667 +0.000953333 0.000966667 0.00096 0.000966667 0.000966667 0.000973333 0.217893 0.000973333 +0.00096 0.000946667 0.00094 0.00092 0.000933333 0.00096 0.000946667 0.000986667 +0.00098 0.00096 0.000966667 0.000953333 0.00092 0.000913333 0.00094 0.000946667 +0.00096 0.000966667 0.00098 0.000966667 0.000973333 0.216 0.000986667 0.000953333 +0.000946667 0.000966667 0.000993333 0.000966667 0.00094 0.000926667 0.00096 0.00096 +0.000953333 0.000926667 0.00096 0.000986667 0.000973333 0.00098 0.000986667 0.000966667 +0.000953333 0.00094 0.00098 0.00098 0.000946667 0.000933333 0.00094 0.216 +0.000953333 0.000926667 0.000926667 0.000913333 0.000933333 0.000946667 0.000926667 0.000973333 +0.000986667 0.000913333 0.000946667 0.00094 0.00094 0.000946667 0.000946667 0.217893 +0.22168 0.000993333 0.000993333 0.000946667 0.000933333 0.00094 0.000986667 0.000933333 +0.00092 0.000926667 0.00094 0.00094 0.0009 0.000933333 0.000993333 0.00098 +0.000933333 0.000926667 0.00096 0.00094 0.000953333 0.00098 0.000946667 0.00092 +0.000946667 0.000933333 0.000953333 0.000973333 0.00098 0.000986667 0.000966667 0.216 +0.00096 0.000946667 0.000953333 0.000946667 0.00098 0.000966667 0.00094 0.000926667 +0.000913333 0.000933333 0.00094 0.000973333 0.000986667 0.000953333 0.000953333 0.000973333 +0.000973333 0.000933333 0.00094 0.219787 0.216 0.000946667 0.00094 0.000953333 +0.000946667 0.000966667 0.00096 0.00092 0.000966667 0.000986667 0.000933333 0.000893333 +0.000933333 0.00092 0.000926667 0.000946667 0.000973333 0.000946667 0.00098 0.00096 +0.000973333 0.000986667 0.000933333 0.000966667 0.000993333 0.000986667 0.000993333 0.00098 +0.000966667 0.00098 0.000953333 0.000953333 0.000953333 0.00096 0.00094 0.000973333 +0.000973333 0.00098 0.000953333 0.0009 0.000913333 0.000953333 0.000993333 0.000946667 +0.000953333 0.00096 0.000966667 0.216 0.000973333 0.00098 0.000973333 0.000973333 +0.000986667 0.000993333 0.000993333 0.00098 0.00098 0.000966667 0.000966667 0.000953333 +0.000973333 0.000986667 0.000986667 0.219787 0.219787 0.000993333 0.000993333 0.00098 +0.00096 0.000966667 0.000993333 0.217893 0.223573 0.22168 0.217893 0.000986667 +0.22168 0.225467 0.22168 0.217893 0.217893 0.22168 0.225467 0.225467 +0.22168 0.22168 0.219787 0.22736 0.231147 0.225467 0.23304 0.229253 +0.223573 0.22168 0.225467 0.225467 0.225467 0.23872 0.236827 0.236827 +0.242507 0.23872 0.240613 0.23872 0.242507 0.251973 0.253867 0.25576 +0.257653 0.257653 0.269013 0.2728 0.2728 0.2728 0.280373 0.297413 +0.31824 0.333387 0.3864 0.510105 0.596 0.731789 0.891579 1.00612 +1.05771 1.16195 1.13152 1.03943 0.962947 0.8 0.647158 0.543579 +0.481067 0.452667 0.503158 0.569474 0.688842 0.839158 0.981306 1.03061 +1.04922 1.04857 1.02669 0.964211 0.807579 0.645263 0.519579 0.331493 +0.23872 0.000973333 0.00092 0.000913333 0.000886667 0.000866667 0.00086 0.00084 +0.00084 0.000813333 0.000806667 0.00082 0.000826667 0.00082 0.000826667 0.00086 +0.000853333 0.00084 0.000846667 0.000866667 0.000886667 0.00088 0.000873333 0.00086 +0.000853333 0.000853333 0.000886667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00084 0.000813333 +0.000806667 0.00078 0.000753333 0.00076 0.00076 0.00076 0.00076 0.00076 +0.000773333 0.000753333 0.000746667 0.00078 0.0008 0.000753333 0.00074 0.00078 +0.000806667 0.000833333 0.000826667 0.000846667 0.000866667 0.000873333 0.000853333 0.000853333 +0.000866667 0.000886667 0.000913333 0.000933333 0.000973333 0.219787 0.223573 0.242507 +0.30688 0.481067 0.610526 0.777263 0.942737 1.02212 1.0489 1.0502 +1.02996 0.977474 0.827158 0.673684 0.564421 0.501263 0.43184 0.424267 +0.484853 0.567579 0.704 0.858105 0.982286 1.03192 1.1026 1.17716 +1.12999 1.04073 0.984245 0.852421 0.709684 0.591579 0.513263 0.411013 +0.361787 0.327707 0.314453 0.297413 0.276587 0.274693 0.265227 0.263333 +0.269013 0.26144 0.259547 0.263333 0.248187 0.234933 0.23304 0.23872 +0.246293 0.2444 0.23304 0.219787 0.223573 0.231147 0.22168 0.000993333 +0.22168 0.219787 0.219787 0.22168 0.219787 0.217893 0.223573 0.219787 +0.219787 0.225467 0.223573 0.000993333 0.000986667 0.217893 0.000993333 0.000973333 +0.000986667 0.216 0.00098 0.00096 0.000986667 0.22168 0.219787 0.00096 +0.216 0.216 0.000953333 0.000946667 0.000946667 0.216 0.000993333 0.000966667 +0.000946667 0.000933333 0.00094 0.00094 0.000986667 0.00096 0.000966667 0.216 +0.000973333 0.000986667 0.000993333 0.000973333 0.00094 0.000946667 0.000926667 0.00096 +0.00096 0.000973333 0.000993333 0.000986667 0.000993333 0.217893 0.000953333 0.000953333 +0.000946667 0.000966667 0.000966667 0.000946667 0.000946667 0.00094 0.000926667 0.000946667 +0.000946667 0.000926667 0.000946667 0.000986667 0.00098 0.00096 0.000973333 0.000986667 +0.000966667 0.000966667 0.216 0.000966667 0.00096 0.000926667 0.000973333 0.219787 +0.000946667 0.000946667 0.000926667 0.000906667 0.000913333 0.000926667 0.000926667 0.000966667 +0.00096 0.000926667 0.000946667 0.00094 0.00096 0.000953333 0.00096 0.216 +0.000993333 0.000966667 0.000973333 0.000946667 0.000933333 0.000933333 0.000973333 0.00094 +0.000906667 0.000926667 0.000946667 0.00094 0.0009 0.000946667 0.000986667 0.000966667 +0.000926667 0.000913333 0.000953333 0.000933333 0.000953333 0.000966667 0.000953333 0.00092 +0.000933333 0.000926667 0.000966667 0.00096 0.000973333 0.000966667 0.000973333 0.216 +0.00096 0.000946667 0.000946667 0.000933333 0.00098 0.00098 0.000966667 0.000933333 +0.000933333 0.000946667 0.000933333 0.00096 0.000993333 0.00096 0.000966667 0.00096 +0.000953333 0.00094 0.000933333 0.00098 0.000973333 0.000933333 0.00092 0.00092 +0.00094 0.216 0.000986667 0.00092 0.000993333 0.000986667 0.000946667 0.000906667 +0.000913333 0.000913333 0.00094 0.00096 0.000993333 0.000953333 0.000986667 0.000993333 +0.00098 0.000953333 0.000926667 0.000953333 0.000986667 0.216 0.000993333 0.00096 +0.000953333 0.000973333 0.000973333 0.000973333 0.00096 0.000953333 0.00092 0.000966667 +0.000966667 0.00098 0.00096 0.000926667 0.000946667 0.000973333 0.000986667 0.000953333 +0.000973333 0.00096 0.000946667 0.000993333 0.000973333 0.000966667 0.000946667 0.000953333 +0.000973333 0.00098 0.000973333 0.00096 0.000966667 0.000973333 0.00098 0.000993333 +0.000986667 0.216 0.000993333 0.223573 0.219787 0.000993333 0.000986667 0.00098 +0.00098 0.000986667 0.217893 0.225467 0.223573 0.22168 0.219787 0.000993333 +0.216 0.217893 0.217893 0.22168 0.223573 0.225467 0.225467 0.225467 +0.219787 0.223573 0.22168 0.23304 0.236827 0.229253 0.231147 0.229253 +0.223573 0.22736 0.23304 0.231147 0.22736 0.234933 0.240613 0.236827 +0.240613 0.234933 0.234933 0.242507 0.251973 0.263333 0.259547 0.26144 +0.265227 0.269013 0.280373 0.28416 0.28416 0.293627 0.31256 0.3296 +0.37504 0.462133 0.546105 0.653474 0.801895 0.964211 1.03714 1.13608 +1.19086 1.1026 1.0169 0.902316 0.733684 0.595368 0.513895 0.4432 +0.441307 0.508211 0.583368 0.712211 0.866316 0.988816 1.03029 1.04629 +1.04008 1.01037 0.923158 0.765263 0.610526 0.486747 0.308773 0.23304 +0.000973333 0.00094 0.000893333 0.00086 0.000833333 0.000833333 0.000866667 0.000853333 +0.00082 0.000813333 0.000813333 0.000833333 0.000853333 0.000853333 0.000846667 0.000853333 +0.000833333 0.000833333 0.000853333 0.000853333 0.000873333 0.00086 0.00084 0.000846667 +0.000873333 0.00088 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000886667 +0.000826667 0.000766667 0.00078 0.000773333 0.000773333 0.000766667 0.00076 0.000793333 +0.0008 0.000733333 0.000726667 0.000793333 0.00078 0.00074 0.00076 0.000786667 +0.000793333 0.000806667 0.0008 0.000813333 0.000846667 0.000826667 0.000833333 0.000853333 +0.000853333 0.00088 0.000873333 0.00092 0.000946667 0.000953333 0.000953333 0.217893 +0.234933 0.297413 0.464027 0.597895 0.752 0.918105 1.01331 1.04465 +1.04988 1.03192 0.982612 0.840421 0.686947 0.56 0.486747 0.418587 +0.390187 0.405333 0.513263 0.604211 0.710316 0.839789 0.983265 1.04629 +1.16347 1.18021 1.08739 1.02473 0.945263 0.805053 0.671158 0.570737 +0.508211 0.405333 0.348533 0.31824 0.29552 0.287947 0.286053 0.291733 +0.28416 0.2728 0.276587 0.263333 0.25576 0.253867 0.242507 0.248187 +0.248187 0.23872 0.22736 0.223573 0.23872 0.231147 0.216 0.217893 +0.223573 0.000993333 0.223573 0.229253 0.229253 0.22736 0.22736 0.229253 +0.23304 0.23304 0.216 0.000986667 0.216 0.22168 0.216 0.216 +0.217893 0.000966667 0.000953333 0.000973333 0.216 0.22736 0.000986667 0.000993333 +0.225467 0.22168 0.00098 0.00098 0.000993333 0.216 0.000973333 0.000946667 +0.000933333 0.00094 0.000946667 0.000966667 0.217893 0.00098 0.000993333 0.00098 +0.000966667 0.216 0.000986667 0.00094 0.00096 0.000973333 0.00096 0.000993333 +0.000993333 0.00098 0.217893 0.000973333 0.00096 0.000953333 0.000933333 0.000913333 +0.000933333 0.000973333 0.00096 0.000966667 0.00096 0.000966667 0.00096 0.000946667 +0.000953333 0.00094 0.000953333 0.00098 0.000986667 0.00096 0.000973333 0.219787 +0.000953333 0.00096 0.00096 0.000933333 0.000946667 0.000953333 0.216 0.000993333 +0.00094 0.00096 0.000926667 0.0009 0.000906667 0.00096 0.000953333 0.000973333 +0.00094 0.000913333 0.00094 0.000946667 0.000973333 0.00096 0.00096 0.000953333 +0.000933333 0.000926667 0.000933333 0.00094 0.000946667 0.00094 0.00094 0.000946667 +0.00094 0.000946667 0.000973333 0.00096 0.000913333 0.00098 0.00098 0.00096 +0.000933333 0.000946667 0.000966667 0.000946667 0.000946667 0.00094 0.000946667 0.000946667 +0.000966667 0.000953333 0.00098 0.00098 0.000986667 0.216 0.000993333 0.000993333 +0.000953333 0.00094 0.000953333 0.00094 0.000973333 0.000986667 0.000973333 0.000953333 +0.00096 0.000973333 0.000946667 0.000973333 0.216 0.000953333 0.000966667 0.00094 +0.00094 0.000946667 0.000953333 0.217893 0.000993333 0.000973333 0.00094 0.00094 +0.000966667 0.217893 0.000986667 0.00092 0.000986667 0.000986667 0.000953333 0.000946667 +0.000966667 0.000946667 0.00094 0.00096 0.000966667 0.000933333 0.000986667 0.000993333 +0.000946667 0.00092 0.000926667 0.000966667 0.216 0.223573 0.217893 0.00098 +0.000973333 0.000986667 0.00098 0.000953333 0.00094 0.000946667 0.000926667 0.000953333 +0.000966667 0.000966667 0.000973333 0.000946667 0.000966667 0.00096 0.00096 0.000953333 +0.000973333 0.000946667 0.000953333 0.000986667 0.000973333 0.000966667 0.00096 0.000946667 +0.000973333 0.00098 0.00098 0.000986667 0.000986667 0.217893 0.000993333 0.219787 +0.000993333 0.217893 0.217893 0.223573 0.219787 0.216 0.000973333 0.00098 +0.000986667 0.000973333 0.219787 0.225467 0.216 0.22168 0.223573 0.217893 +0.000993333 0.000993333 0.216 0.22736 0.229253 0.219787 0.217893 0.225467 +0.22168 0.223573 0.229253 0.23872 0.240613 0.23304 0.223573 0.225467 +0.225467 0.231147 0.23872 0.236827 0.236827 0.234933 0.25008 0.25008 +0.242507 0.242507 0.242507 0.251973 0.26144 0.26712 0.26712 0.270907 +0.2728 0.27848 0.282267 0.29552 0.304987 0.31824 0.361787 0.435627 +0.530316 0.616211 0.736211 0.882737 1.00547 1.06913 1.17564 1.14825 +1.04694 0.986204 0.829684 0.665474 0.548632 0.45456 0.39776 0.428053 +0.512632 0.597263 0.730526 0.884632 0.997633 1.03388 1.04204 1.02637 +0.986531 0.86 0.707158 0.567579 0.42048 0.2728 0.223573 0.000946667 +0.00088 0.0009 0.000893333 0.000866667 0.000846667 0.000846667 0.000853333 0.00088 +0.000853333 0.000853333 0.00086 0.00084 0.000846667 0.000873333 0.00086 0.000846667 +0.000846667 0.00082 0.00082 0.000813333 0.000826667 0.000826667 0.00082 0.000866667 +0.000886667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.0008 0.0008 0.0008 0.000773333 0.000733333 0.000773333 0.000806667 +0.00078 0.00074 0.000793333 0.000793333 0.000753333 0.00078 0.000786667 0.00078 +0.0008 0.00078 0.000786667 0.000813333 0.00078 0.00078 0.000806667 0.000826667 +0.000846667 0.000853333 0.000866667 0.0009 0.000886667 0.000893333 0.000913333 0.00094 +0.00098 0.225467 0.280373 0.422373 0.570737 0.721053 0.885895 1.0022 +1.03943 1.04857 1.03257 0.985551 0.849895 0.683158 0.556842 0.4716 +0.407227 0.359893 0.31824 0.339067 0.435627 0.565684 0.710316 0.887158 +1.01494 1.08587 1.18477 1.15738 1.05249 1.00482 0.906737 0.776632 +0.654105 0.556211 0.484853 0.390187 0.331493 0.310667 0.308773 0.303093 +0.286053 0.286053 0.27848 0.26144 0.263333 0.26144 0.251973 0.25576 +0.246293 0.231147 0.229253 0.234933 0.236827 0.225467 0.22736 0.236827 +0.229253 0.217893 0.231147 0.240613 0.240613 0.231147 0.225467 0.22736 +0.23304 0.231147 0.217893 0.216 0.217893 0.223573 0.225467 0.225467 +0.219787 0.000973333 0.000993333 0.000986667 0.22168 0.217893 0.000946667 0.223573 +0.217893 0.216 0.219787 0.219787 0.22168 0.000986667 0.00098 0.000953333 +0.000946667 0.00096 0.000946667 0.000986667 0.000986667 0.000973333 0.000993333 0.000973333 +0.217893 0.219787 0.00096 0.00094 0.000986667 0.000966667 0.000966667 0.000986667 +0.000973333 0.000986667 0.00098 0.000966667 0.000946667 0.000926667 0.00094 0.000926667 +0.000953333 0.000973333 0.00094 0.00096 0.000953333 0.000973333 0.000966667 0.000946667 +0.00098 0.000973333 0.216 0.216 0.219787 0.000973333 0.000973333 0.00098 +0.000946667 0.00098 0.000946667 0.00094 0.00094 0.000953333 0.000986667 0.00096 +0.000953333 0.00096 0.00094 0.000926667 0.000933333 0.000973333 0.000966667 0.000993333 +0.000966667 0.000926667 0.000953333 0.00094 0.00096 0.00098 0.00096 0.000933333 +0.00092 0.00094 0.00094 0.00094 0.000946667 0.00094 0.00094 0.00096 +0.00096 0.000966667 0.216 0.000973333 0.00092 0.000966667 0.000966667 0.000946667 +0.00094 0.000933333 0.000966667 0.000953333 0.000953333 0.00096 0.00096 0.000953333 +0.000953333 0.00096 0.00098 0.216 0.000986667 0.000986667 0.000973333 0.000946667 +0.000926667 0.000933333 0.000933333 0.00092 0.00098 0.000973333 0.00096 0.000953333 +0.000966667 0.00096 0.000966667 0.000993333 0.217893 0.00098 0.000966667 0.000966667 +0.000986667 0.000953333 0.000953333 0.225467 0.217893 0.000993333 0.000973333 0.000966667 +0.000966667 0.000993333 0.000973333 0.000946667 0.217893 0.223573 0.216 0.000973333 +0.00098 0.000946667 0.000953333 0.000973333 0.000966667 0.000933333 0.000973333 0.00096 +0.000926667 0.000946667 0.000953333 0.00096 0.000993333 0.219787 0.22168 0.000986667 +0.000973333 0.000993333 0.000973333 0.000966667 0.000946667 0.000973333 0.000953333 0.000966667 +0.000993333 0.00098 0.000973333 0.00096 0.00096 0.000953333 0.00096 0.000993333 +0.219787 0.000986667 0.00098 0.000986667 0.000993333 0.00098 0.00098 0.000986667 +0.217893 0.216 0.000993333 0.219787 0.216 0.217893 0.216 0.217893 +0.00098 0.000993333 0.216 0.216 0.000993333 0.217893 0.000966667 0.00098 +0.000986667 0.00098 0.217893 0.22168 0.22168 0.223573 0.22736 0.225467 +0.225467 0.22168 0.219787 0.23304 0.234933 0.217893 0.22168 0.23304 +0.225467 0.22168 0.231147 0.23872 0.23872 0.236827 0.225467 0.23304 +0.23872 0.2444 0.2444 0.242507 0.246293 0.240613 0.251973 0.25576 +0.246293 0.248187 0.257653 0.259547 0.26144 0.269013 0.2728 0.2728 +0.2728 0.291733 0.303093 0.320133 0.359893 0.424267 0.517684 0.592842 +0.702105 0.836 0.976842 1.03878 1.13912 1.16499 1.05053 0.997306 +0.889053 0.743158 0.599158 0.49432 0.382613 0.36936 0.405333 0.507579 +0.599158 0.74 0.898526 1.00155 1.03159 1.02996 0.999592 0.913053 +0.778526 0.637684 0.520211 0.337173 0.234933 0.000966667 0.00092 0.000913333 +0.000906667 0.000886667 0.00088 0.00086 0.000873333 0.00088 0.000886667 0.000873333 +0.000866667 0.00084 0.000846667 0.00086 0.000853333 0.000866667 0.00084 0.000793333 +0.000826667 0.00082 0.000806667 0.0008 0.000813333 0.000833333 0.000846667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 \ No newline at end of file diff --git a/examples/advanced/medical_linac/Launches/dicom/1.g4dcmb b/examples/advanced/medical_linac/Launches/dicom/1.g4dcmb new file mode 100755 index 0000000000..32a6fd4ad7 Binary files /dev/null and b/examples/advanced/medical_linac/Launches/dicom/1.g4dcmb differ diff --git a/examples/advanced/medical_linac/Launches/dicom/2.dcm b/examples/advanced/medical_linac/Launches/dicom/2.dcm new file mode 100755 index 0000000000..36d1bbe468 Binary files /dev/null and b/examples/advanced/medical_linac/Launches/dicom/2.dcm differ diff --git a/examples/advanced/medical_linac/Launches/dicom/2.g4dcm b/examples/advanced/medical_linac/Launches/dicom/2.g4dcm new file mode 100755 index 0000000000..46333fc354 --- /dev/null +++ b/examples/advanced/medical_linac/Launches/dicom/2.g4dcm @@ -0,0 +1,33293 @@ +7 +0 Water +1 Air +2 G4_B-100_BONE +3 LungInhale +4 AdiposeTissue +5 Breast +6 TrabecularBone +512 512 1 +-196 196 +-196 196 +85 90 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 3 3 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 4 4 5 5 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 3 4 4 4 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 6 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 5 5 6 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 5 5 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 5 5 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 1 3 3 1 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 4 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 4 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 4 4 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 3 4 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 3 3 4 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 1 3 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 4 4 4 3 3 3 3 4 4 3 3 3 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 1 1 1 1 3 3 1 1 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 1 1 1 1 1 1 1 1 1 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 1 1 1 1 1 1 1 1 1 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 3 3 1 3 3 3 3 3 3 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 5 5 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 5 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 3 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 3 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 1 1 3 3 3 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 3 3 3 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 4 4 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 5 5 5 5 5 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 1 1 1 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 1 1 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 4 3 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 4 3 3 3 3 3 3 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 3 3 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 3 3 3 1 1 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 4 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 3 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 1 1 1 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 3 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 3 3 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 4 4 5 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 4 5 5 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 3 3 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 3 4 4 4 3 3 3 3 3 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 5 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 6 6 6 6 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 3 4 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 5 6 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 6 5 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 4 4 4 5 6 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 4 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 5 5 5 5 5 5 5 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 6 6 5 6 6 6 6 6 6 5 6 6 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 5 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 6 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 5 5 6 6 6 6 6 6 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 6 6 5 6 6 6 6 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 3 3 3 3 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 5 5 5 5 6 6 6 6 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 6 6 6 6 6 6 6 5 5 5 6 6 6 6 6 6 5 6 6 6 6 5 5 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 6 5 5 5 6 6 6 6 6 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 6 6 6 6 5 5 5 6 6 6 6 6 6 5 5 6 6 6 6 6 5 5 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 6 6 6 5 5 5 5 6 6 6 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 5 6 6 6 6 6 6 6 6 5 5 6 5 5 6 6 6 6 6 6 5 5 6 6 6 6 6 6 6 5 5 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 6 6 5 5 5 5 6 6 6 5 5 5 6 6 6 6 6 6 6 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 6 6 6 6 6 6 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 6 6 5 5 5 5 6 6 6 6 6 5 5 5 5 6 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 6 6 6 5 6 6 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 6 6 5 5 5 5 6 6 6 6 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 6 6 5 5 6 6 6 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 5 5 5 5 5 6 6 6 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 6 6 6 5 5 6 6 6 5 5 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 6 6 6 6 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 6 6 6 5 5 5 5 6 6 6 5 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 5 5 6 6 6 6 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 6 5 5 5 5 5 6 6 6 5 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 6 5 5 5 5 5 6 6 5 5 5 6 6 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 6 6 6 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 6 6 5 5 5 5 5 5 6 6 5 5 6 6 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 6 6 6 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 6 6 5 5 5 5 5 5 6 6 5 5 5 6 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 6 6 6 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 6 6 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 6 6 6 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 5 6 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 5 6 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 6 6 6 6 6 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 5 5 6 6 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 5 6 6 5 5 5 5 5 6 6 6 5 5 5 5 6 6 5 5 5 5 5 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 6 6 5 5 5 5 5 6 6 6 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 6 6 5 5 5 5 5 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 6 6 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 6 6 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 5 5 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 1 3 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 6 6 6 6 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 1 3 1 1 1 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 6 6 6 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 3 3 1 1 1 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 6 6 6 6 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 3 1 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 6 6 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 1 3 3 1 1 1 1 3 1 1 1 1 1 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 3 1 1 1 1 3 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 +1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 3 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 +1 1 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 3 3 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 1 1 3 1 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 3 1 1 3 3 1 +3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 3 3 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 +3 4 4 4 4 4 4 4 3 3 3 3 1 1 1 3 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 +4 4 4 3 3 3 1 1 1 1 1 1 1 1 3 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 1 3 3 3 +3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 +3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 1 1 3 1 1 1 1 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 3 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 3 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 1 3 3 1 1 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 1 3 3 1 1 1 1 3 3 3 1 3 3 3 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 1 1 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 +3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 +3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 4 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 1 1 +4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 +4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 +5 4 4 4 4 4 4 3 3 3 3 1 1 1 1 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 3 3 3 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 +4 4 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 +4 4 4 4 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 +3 4 4 4 4 4 5 5 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 5 5 4 4 4 4 4 4 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 +3 3 3 4 4 4 4 4 5 5 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 5 5 4 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 +3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 +3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 4 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 3 1 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 +4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 3 3 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 +4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 +4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 +5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 +5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 +4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 +4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 +4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 +3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 +1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 +1 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 3 3 1 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 3 1 1 1 1 1 1 3 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 +1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 1 1 3 3 3 3 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 +1 1 1 1 3 3 3 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 +1 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 3 3 3 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 +1 1 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 +1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 +1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 3 1 1 1 1 1 1 3 1 1 3 1 1 1 1 3 3 1 1 3 3 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 +1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 3 3 3 1 1 3 1 3 1 1 1 3 3 1 1 1 3 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 +1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 1 1 3 3 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 3 +1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 1 1 1 1 1 1 1 3 1 1 3 1 1 3 3 1 1 1 1 1 1 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 1 1 1 1 1 3 3 3 3 3 1 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 1 1 1 3 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 1 1 1 3 3 3 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 1 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 3 3 3 3 1 1 1 3 1 1 3 1 1 1 3 3 1 1 1 1 1 3 3 1 1 1 1 1 3 1 1 1 3 3 1 1 3 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 3 3 1 3 3 3 3 1 1 3 3 1 1 3 1 3 3 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 3 3 1 3 1 1 1 1 1 1 1 3 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 1 1 3 1 1 1 1 1 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 1 1 3 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 3 3 1 1 1 1 3 3 3 3 3 3 1 3 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 3 3 1 1 1 1 1 3 3 3 3 1 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 1 1 3 3 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 1 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 6 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 3 3 3 1 3 3 3 3 1 1 3 3 1 1 1 3 1 1 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 1 3 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 3 1 1 3 1 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 3 3 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 1 1 1 3 1 1 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 1 1 1 1 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 3 1 1 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 5 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 1 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 1 1 1 1 1 3 1 3 3 1 1 3 1 1 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 1 1 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 3 3 3 3 3 1 3 1 3 3 1 1 3 3 3 3 3 1 3 1 1 3 3 1 3 1 1 3 3 1 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 1 1 1 1 3 1 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 3 3 3 1 3 1 1 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 3 1 1 1 1 3 3 3 1 3 3 3 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 3 3 1 1 3 3 3 3 1 1 3 1 1 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 3 1 1 1 3 1 1 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 3 3 3 3 3 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 4 4 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 5 5 5 5 5 5 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 3 3 1 3 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 3 3 3 3 3 1 1 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 3 1 1 1 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 3 1 1 1 3 1 3 3 3 3 3 1 1 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 3 1 1 3 3 3 3 3 3 1 1 3 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 1 3 3 3 1 1 3 1 1 3 3 3 1 1 3 3 3 3 3 1 3 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 4 4 4 3 3 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 1 1 1 3 3 1 1 1 3 3 1 1 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 3 3 3 1 3 3 1 1 3 3 1 3 3 1 1 1 3 1 1 1 1 1 1 1 3 3 1 1 3 3 3 1 3 3 1 3 3 1 3 3 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 4 4 3 3 3 4 4 4 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 4 4 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 3 1 3 3 1 1 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 1 3 1 1 3 3 3 3 3 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 4 4 4 3 3 3 4 4 4 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 4 4 3 3 3 3 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 3 1 3 3 1 1 1 3 3 1 1 1 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 3 3 1 1 1 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 1 1 3 3 3 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 4 4 4 3 3 3 3 4 4 4 5 5 5 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 4 4 3 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 3 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 3 3 3 1 1 1 1 3 1 1 1 3 1 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 3 3 3 1 1 1 3 3 3 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 3 1 1 1 1 1 1 1 3 3 3 1 3 1 3 3 1 1 1 3 1 1 3 1 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 1 3 1 3 3 1 1 3 3 1 3 1 3 3 3 3 1 1 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 3 3 1 1 3 3 1 1 1 1 3 3 3 3 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 1 1 1 3 3 3 3 1 1 1 1 3 3 3 1 1 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 3 3 1 3 1 3 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 3 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 4 4 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 3 1 1 1 3 1 1 3 3 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 3 3 1 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 1 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 1 3 1 1 1 3 3 3 3 1 3 3 3 1 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 1 3 3 3 3 1 3 3 1 3 3 3 3 3 1 3 1 1 1 3 3 3 3 3 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 3 1 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 1 1 3 3 3 1 1 1 3 1 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 5 5 5 4 4 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 1 1 1 3 3 1 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 1 3 3 1 1 3 1 1 1 1 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 3 3 3 3 3 3 1 3 3 3 3 3 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 1 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 3 1 1 1 3 1 1 3 1 1 1 3 3 3 1 1 1 1 3 3 1 3 3 3 1 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 1 3 3 3 3 3 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 3 3 1 3 3 1 1 3 3 1 1 1 1 1 3 3 1 1 1 3 3 3 3 1 3 1 1 3 3 3 1 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 3 3 3 1 3 1 3 3 3 1 1 3 3 1 1 3 3 3 3 3 3 3 3 1 1 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 3 3 3 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 3 3 1 1 3 3 1 1 1 1 1 1 3 3 3 1 3 3 3 1 1 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 1 3 3 1 1 3 3 3 3 1 1 3 1 1 3 3 1 1 3 3 1 3 3 3 3 3 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 3 3 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 3 3 3 1 3 1 1 1 1 1 1 1 1 3 3 3 3 1 3 1 1 1 3 3 3 3 3 3 1 1 3 3 3 1 1 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 3 3 1 1 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 3 3 1 3 1 1 1 1 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 3 3 3 3 1 3 1 1 3 1 1 1 1 1 1 3 1 1 3 3 3 3 3 1 1 1 1 1 3 3 1 3 3 1 1 3 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 3 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 1 3 1 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 1 1 3 1 1 1 3 3 3 3 1 1 1 1 1 1 3 3 1 3 3 1 3 3 3 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 3 1 1 3 3 3 1 1 1 3 1 1 1 3 3 1 1 1 3 3 1 1 3 3 3 3 3 3 1 1 3 3 3 1 1 1 1 3 3 3 3 3 1 1 3 1 3 1 1 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 3 3 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 1 1 1 3 1 3 3 3 1 1 1 1 3 3 1 3 3 1 1 1 1 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 3 3 1 1 1 3 1 1 1 3 3 3 3 1 3 3 1 1 1 3 1 1 1 3 1 1 3 3 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 3 3 3 1 3 1 1 1 1 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 3 1 1 1 1 3 1 3 3 1 3 3 1 1 1 3 3 3 1 3 3 1 3 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 3 3 1 1 3 3 1 1 1 1 3 1 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 1 1 3 1 1 1 3 1 1 1 1 1 1 3 1 1 3 3 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 3 3 1 1 3 1 1 1 1 3 3 1 1 1 1 3 1 1 3 3 1 1 1 3 3 3 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 1 1 3 3 1 1 3 3 3 3 1 1 3 1 3 3 1 3 1 3 3 3 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 1 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 1 3 3 3 3 1 1 1 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 1 1 3 1 3 3 3 3 3 1 1 1 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 3 3 3 1 1 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 1 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 1 1 3 3 1 3 3 3 3 3 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 1 1 1 3 3 3 3 3 1 1 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 1 1 1 1 1 1 3 3 1 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 3 1 3 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 1 3 1 1 1 1 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 1 1 1 3 3 1 1 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 3 1 1 3 3 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 1 1 1 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 1 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 3 3 1 1 3 1 1 1 1 1 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 1 1 1 3 3 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 1 1 1 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 3 3 3 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 3 1 1 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 3 1 3 3 3 1 1 1 3 3 1 1 3 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 1 3 3 3 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 1 1 1 3 3 3 1 3 1 1 1 1 1 1 1 1 3 3 3 1 3 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 6 6 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 3 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 6 6 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 3 3 1 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 4 5 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 5 6 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 3 1 1 3 1 1 1 1 1 3 3 1 3 3 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 6 6 5 4 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 5 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 3 1 3 3 1 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 3 4 4 4 5 5 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 3 1 1 1 1 1 3 3 3 1 1 3 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 3 1 3 3 3 1 1 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 3 4 4 4 4 5 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 3 1 1 3 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 4 4 4 4 5 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 4 4 4 4 5 6 6 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 1 1 3 3 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 5 5 6 6 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 1 3 3 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 3 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 3 1 3 3 3 1 1 1 1 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 6 6 5 5 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.0008 0.00076 0.000746667 0.000753333 0.00076 0.00078 0.000753333 +0.000733333 0.00074 0.000773333 0.00076 0.000753333 0.000726667 0.000713333 0.000746667 +0.000726667 0.000726667 0.00074 0.00074 0.000766667 0.000766667 0.00074 0.00072 +0.00072 0.000726667 0.000746667 0.00072 0.000713333 0.00074 0.00072 0.000726667 +0.00074 0.000746667 0.000773333 0.00074 0.00072 0.000726667 0.000726667 0.000746667 +0.000726667 0.000706667 0.000733333 0.000733333 0.000733333 0.00074 0.000686667 0.000693333 +0.000726667 0.00074 0.00074 0.000733333 0.000713333 0.00072 0.000726667 0.000733333 +0.000726667 0.000713333 0.000706667 0.000693333 0.000726667 0.00072 0.000706667 0.000726667 +0.00072 0.0007 0.00068 0.000706667 0.0007 0.000693333 0.000706667 0.000706667 +0.0007 0.000713333 0.000733333 0.000713333 0.00068 0.000693333 0.00072 0.000713333 +0.0007 0.00066 0.00068 0.000693333 0.000673333 0.000693333 0.000686667 0.000673333 +0.000673333 0.000673333 0.000686667 0.000686667 0.000693333 0.000706667 0.0007 0.000706667 +0.000693333 0.00068 0.000673333 0.00066 0.000673333 0.000686667 0.000686667 0.0007 +0.000666667 0.000653333 0.000686667 0.000693333 0.000693333 0.000693333 0.00068 0.000666667 +0.00066 0.000653333 0.000646667 0.000666667 0.000686667 0.000653333 0.000673333 0.000713333 +0.000666667 0.000673333 0.000686667 0.00066 0.000673333 0.000673333 0.000706667 0.000706667 +0.0007 0.000693333 0.000686667 0.000686667 0.000713333 0.000706667 0.000686667 0.000673333 +0.000686667 0.000713333 0.000693333 0.000686667 0.000726667 0.000713333 0.0007 0.000693333 +0.00068 0.000706667 0.0007 0.000706667 0.0007 0.000706667 0.0007 0.000706667 +0.0007 0.0007 0.0007 0.000706667 0.00068 0.000686667 0.000713333 0.000693333 +0.00068 0.000686667 0.000706667 0.000706667 0.000706667 0.000693333 0.000666667 0.00066 +0.000666667 0.000693333 0.000686667 0.000686667 0.000713333 0.000673333 0.00068 0.000713333 +0.00068 0.000653333 0.000693333 0.000706667 0.00068 0.00064 0.000653333 0.000686667 +0.000706667 0.000673333 0.000666667 0.000673333 0.000686667 0.000673333 0.00066 0.000673333 +0.000693333 0.00068 0.000686667 0.000673333 0.00068 0.000673333 0.00066 0.000673333 +0.000673333 0.0007 0.000693333 0.000686667 0.00068 0.000693333 0.000666667 0.000653333 +0.000686667 0.000673333 0.000666667 0.000713333 0.00068 0.000693333 0.000713333 0.000686667 +0.000666667 0.00066 0.000673333 0.000706667 0.000713333 0.0007 0.000693333 0.000673333 +0.000693333 0.000693333 0.000673333 0.000706667 0.000726667 0.000706667 0.000673333 0.000673333 +0.000666667 0.000666667 0.0007 0.000713333 0.0007 0.000693333 0.000693333 0.000666667 +0.000673333 0.00068 0.000686667 0.00068 0.000706667 0.00072 0.0007 0.000686667 +0.0007 0.0007 0.000693333 0.0007 0.000706667 0.0007 0.000713333 0.00074 +0.000693333 0.000673333 0.000706667 0.000713333 0.000693333 0.000686667 0.0007 0.0007 +0.00068 0.000686667 0.00072 0.0007 0.000673333 0.00068 0.0007 0.000706667 +0.0007 0.000713333 0.000706667 0.000693333 0.00068 0.000706667 0.000706667 0.000706667 +0.000726667 0.0007 0.0007 0.000706667 0.000686667 0.000673333 0.000666667 0.00068 +0.000693333 0.000633333 0.000666667 0.0007 0.000706667 0.000686667 0.000673333 0.000693333 +0.000666667 0.00068 0.000693333 0.000693333 0.000653333 0.000653333 0.00068 0.00066 +0.000673333 0.000693333 0.000666667 0.00066 0.00068 0.000686667 0.000673333 0.000646667 +0.00066 0.000686667 0.000686667 0.000653333 0.000666667 0.0007 0.000653333 0.000633333 +0.000713333 0.000686667 0.0007 0.000706667 0.000713333 0.0007 0.00068 0.000646667 +0.000666667 0.000686667 0.00068 0.0007 0.000733333 0.00072 0.000686667 0.000653333 +0.000686667 0.000713333 0.0007 0.000693333 0.000666667 0.000693333 0.000713333 0.000686667 +0.000693333 0.000713333 0.000686667 0.000693333 0.00072 0.000693333 0.000673333 0.000693333 +0.000706667 0.000713333 0.000713333 0.000713333 0.000706667 0.000706667 0.0007 0.000686667 +0.00072 0.000713333 0.000706667 0.0007 0.000686667 0.000713333 0.00072 0.0007 +0.0007 0.000746667 0.000726667 0.000713333 0.000686667 0.000726667 0.000733333 0.000713333 +0.000713333 0.00072 0.000746667 0.00074 0.000706667 0.000693333 0.0007 0.000713333 +0.000733333 0.000733333 0.00072 0.0007 0.000746667 0.00072 0.000713333 0.000733333 +0.000753333 0.000706667 0.000726667 0.000713333 0.00074 0.000733333 0.000733333 0.000753333 +0.00074 0.000733333 0.00076 0.000766667 0.000746667 0.000766667 0.00076 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 +0.00076 0.000766667 0.000773333 0.000733333 0.00076 0.00076 0.000766667 0.000773333 +0.000746667 0.000726667 0.00074 0.00074 0.000766667 0.000753333 0.000726667 0.00076 +0.000726667 0.000713333 0.000726667 0.00074 0.000746667 0.000753333 0.00076 0.000746667 +0.000746667 0.000706667 0.000713333 0.000746667 0.000713333 0.000726667 0.000746667 0.000713333 +0.000726667 0.000746667 0.000753333 0.00078 0.00074 0.000726667 0.000726667 0.000726667 +0.00072 0.0007 0.0007 0.000726667 0.000726667 0.00076 0.00072 0.0007 +0.00072 0.000706667 0.00072 0.000726667 0.000733333 0.00074 0.000733333 0.000753333 +0.000733333 0.000713333 0.000706667 0.000693333 0.0007 0.000726667 0.000726667 0.000713333 +0.000706667 0.000713333 0.000693333 0.000693333 0.00068 0.000686667 0.0007 0.00072 +0.0007 0.0007 0.00072 0.00072 0.000686667 0.000686667 0.000706667 0.0007 +0.000713333 0.00068 0.000673333 0.00068 0.00066 0.000706667 0.0007 0.000686667 +0.00068 0.00066 0.000686667 0.000686667 0.000693333 0.0007 0.000686667 0.000713333 +0.000726667 0.0007 0.000666667 0.00068 0.000666667 0.000666667 0.00066 0.0007 +0.000686667 0.00066 0.00066 0.000686667 0.000706667 0.000666667 0.000673333 0.000666667 +0.000653333 0.000673333 0.00066 0.00068 0.000693333 0.00068 0.000673333 0.000666667 +0.000673333 0.000686667 0.000666667 0.000673333 0.000693333 0.00066 0.000686667 0.000713333 +0.0007 0.0007 0.000693333 0.000693333 0.000713333 0.000713333 0.000706667 0.00068 +0.00066 0.0007 0.000693333 0.000673333 0.0007 0.000713333 0.0007 0.000686667 +0.000666667 0.000706667 0.000706667 0.000693333 0.00068 0.000686667 0.000706667 0.000713333 +0.0007 0.0007 0.000706667 0.000693333 0.000686667 0.000693333 0.000713333 0.0007 +0.000673333 0.00066 0.0007 0.000713333 0.000706667 0.000706667 0.00068 0.00066 +0.000653333 0.000666667 0.000673333 0.00068 0.000686667 0.000673333 0.000673333 0.0007 +0.0007 0.000653333 0.000666667 0.000706667 0.00068 0.000673333 0.00066 0.000666667 +0.000693333 0.00068 0.000666667 0.000666667 0.000693333 0.000686667 0.000673333 0.000673333 +0.000686667 0.000673333 0.000673333 0.0007 0.000693333 0.000673333 0.000673333 0.00068 +0.00066 0.0007 0.000693333 0.000666667 0.00068 0.0007 0.000686667 0.000673333 +0.000673333 0.000673333 0.000673333 0.000706667 0.000686667 0.00068 0.000706667 0.000706667 +0.00068 0.000666667 0.00066 0.000693333 0.000706667 0.0007 0.0007 0.00068 +0.00068 0.000686667 0.00068 0.000713333 0.00072 0.0007 0.000666667 0.000666667 +0.000666667 0.00068 0.0007 0.0007 0.0007 0.000686667 0.000673333 0.00068 +0.000686667 0.000693333 0.000686667 0.000673333 0.000706667 0.000726667 0.000693333 0.0007 +0.0007 0.000686667 0.000686667 0.00068 0.000686667 0.0007 0.000733333 0.000733333 +0.000686667 0.00068 0.00072 0.00072 0.000706667 0.000693333 0.000706667 0.0007 +0.00068 0.0007 0.0007 0.00068 0.000686667 0.00068 0.000693333 0.000713333 +0.000686667 0.000693333 0.000713333 0.0007 0.00068 0.000693333 0.000686667 0.00072 +0.000733333 0.000693333 0.000693333 0.000706667 0.000686667 0.00066 0.000666667 0.000673333 +0.000673333 0.00066 0.000673333 0.00068 0.000713333 0.000673333 0.000673333 0.000693333 +0.00068 0.00068 0.000693333 0.0007 0.000666667 0.00066 0.000693333 0.00068 +0.000673333 0.00068 0.000673333 0.000673333 0.0007 0.000686667 0.00066 0.000653333 +0.00066 0.000673333 0.000666667 0.000646667 0.000673333 0.000686667 0.000653333 0.000673333 +0.000693333 0.000666667 0.00068 0.000713333 0.000706667 0.000693333 0.000666667 0.000653333 +0.000686667 0.000686667 0.000673333 0.000693333 0.000733333 0.000706667 0.00066 0.000653333 +0.000686667 0.000706667 0.000693333 0.000673333 0.000673333 0.0007 0.000686667 0.0007 +0.000706667 0.0007 0.000693333 0.00072 0.000726667 0.000686667 0.000673333 0.000693333 +0.000713333 0.000706667 0.00072 0.000713333 0.000706667 0.000693333 0.000686667 0.000686667 +0.00072 0.000686667 0.0007 0.000726667 0.000686667 0.0007 0.000706667 0.0007 +0.000706667 0.000733333 0.000706667 0.0007 0.0007 0.00072 0.000713333 0.000706667 +0.000713333 0.00074 0.00076 0.000706667 0.000686667 0.000706667 0.000706667 0.000726667 +0.000733333 0.000726667 0.00074 0.000713333 0.000733333 0.000713333 0.000726667 0.000726667 +0.000753333 0.000693333 0.00072 0.000746667 0.000733333 0.000733333 0.000733333 0.00074 +0.000733333 0.000746667 0.000753333 0.000753333 0.00074 0.00076 0.000746667 0.00078 +0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000766667 0.00076 +0.000746667 0.000733333 0.000766667 0.00074 0.000753333 0.000753333 0.000733333 0.000746667 +0.00076 0.000766667 0.00074 0.0007 0.00074 0.000766667 0.000753333 0.000746667 +0.000726667 0.000726667 0.000726667 0.000733333 0.00074 0.00072 0.000726667 0.000733333 +0.00076 0.000746667 0.000706667 0.000733333 0.000733333 0.0007 0.000733333 0.000733333 +0.000726667 0.000746667 0.000726667 0.000746667 0.00076 0.00072 0.000726667 0.000726667 +0.00072 0.00072 0.000713333 0.00072 0.000713333 0.000733333 0.000733333 0.000726667 +0.000726667 0.0007 0.0007 0.000713333 0.000733333 0.00074 0.000726667 0.00074 +0.000726667 0.00072 0.00072 0.000726667 0.000686667 0.00068 0.000733333 0.00074 +0.000713333 0.000706667 0.000713333 0.00072 0.000673333 0.0007 0.000706667 0.000713333 +0.000706667 0.000693333 0.000726667 0.00072 0.00068 0.000686667 0.000693333 0.000693333 +0.000693333 0.0007 0.0007 0.000666667 0.000653333 0.000686667 0.000706667 0.000693333 +0.000686667 0.000666667 0.000686667 0.000673333 0.000686667 0.000693333 0.000686667 0.000706667 +0.000706667 0.000706667 0.000673333 0.000666667 0.000673333 0.000666667 0.000666667 0.000673333 +0.000686667 0.000686667 0.000666667 0.000673333 0.0007 0.000673333 0.000666667 0.000666667 +0.000673333 0.00068 0.000666667 0.00068 0.000673333 0.000686667 0.00068 0.000646667 +0.000666667 0.000673333 0.000673333 0.00068 0.000693333 0.00068 0.000666667 0.000693333 +0.0007 0.0007 0.0007 0.000706667 0.000706667 0.000706667 0.00072 0.000693333 +0.00066 0.000666667 0.00068 0.000686667 0.000666667 0.000693333 0.000713333 0.0007 +0.000673333 0.000693333 0.0007 0.000686667 0.00068 0.000706667 0.0007 0.0007 +0.0007 0.0007 0.000686667 0.000693333 0.00068 0.00068 0.0007 0.000713333 +0.000653333 0.000653333 0.0007 0.0007 0.00072 0.000713333 0.000673333 0.000686667 +0.000673333 0.00064 0.00068 0.0007 0.00068 0.00068 0.000693333 0.0007 +0.00072 0.000673333 0.000673333 0.000686667 0.00068 0.00068 0.00068 0.00068 +0.000686667 0.000673333 0.000686667 0.000666667 0.000666667 0.000686667 0.000686667 0.000673333 +0.00068 0.00068 0.000693333 0.000713333 0.0007 0.000693333 0.00068 0.000686667 +0.00066 0.00068 0.00068 0.000693333 0.0007 0.000693333 0.0007 0.000686667 +0.000646667 0.00068 0.000673333 0.000693333 0.00068 0.000693333 0.000713333 0.00072 +0.000693333 0.000666667 0.000653333 0.000673333 0.00072 0.000713333 0.000686667 0.000686667 +0.00068 0.000646667 0.000673333 0.00072 0.0007 0.000706667 0.000666667 0.000633333 +0.00066 0.000693333 0.000713333 0.000693333 0.0007 0.00068 0.000673333 0.0007 +0.0007 0.00068 0.000686667 0.00068 0.000693333 0.00072 0.000693333 0.0007 +0.000693333 0.00068 0.000693333 0.00068 0.000693333 0.000706667 0.00072 0.000706667 +0.000693333 0.000693333 0.000706667 0.000706667 0.000693333 0.00068 0.000713333 0.000713333 +0.000673333 0.000706667 0.000686667 0.000673333 0.000693333 0.00068 0.000693333 0.00072 +0.0007 0.000686667 0.000706667 0.00072 0.000686667 0.000686667 0.00068 0.00072 +0.000706667 0.000686667 0.0007 0.000693333 0.00068 0.000666667 0.000686667 0.00068 +0.000666667 0.0007 0.000673333 0.000666667 0.000713333 0.000653333 0.000686667 0.000706667 +0.00068 0.000666667 0.000673333 0.0007 0.000686667 0.000666667 0.000693333 0.00068 +0.000666667 0.000666667 0.00066 0.000666667 0.00068 0.000673333 0.000666667 0.00066 +0.000653333 0.000673333 0.00068 0.000653333 0.00066 0.000666667 0.000686667 0.000713333 +0.000673333 0.00068 0.0007 0.0007 0.000673333 0.000666667 0.000666667 0.000673333 +0.000673333 0.000673333 0.000686667 0.0007 0.000713333 0.000686667 0.00066 0.00068 +0.000686667 0.0007 0.0007 0.000666667 0.000673333 0.00068 0.000693333 0.000713333 +0.000686667 0.000686667 0.000706667 0.00072 0.000706667 0.0007 0.00068 0.000693333 +0.000706667 0.0007 0.000713333 0.00072 0.000706667 0.0007 0.000693333 0.000693333 +0.0007 0.0007 0.000713333 0.00072 0.00068 0.000686667 0.0007 0.00072 +0.00072 0.000726667 0.00072 0.00072 0.000706667 0.000706667 0.00072 0.000726667 +0.000713333 0.000726667 0.000733333 0.000693333 0.000693333 0.00072 0.000706667 0.000713333 +0.000713333 0.00072 0.000746667 0.000726667 0.000706667 0.000746667 0.000733333 0.000706667 +0.000726667 0.000713333 0.000726667 0.000746667 0.000713333 0.000726667 0.000726667 0.000726667 +0.000746667 0.000753333 0.00074 0.000746667 0.00074 0.000753333 0.00074 0.000733333 +0.00076 0.0008 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.0008 0.000786667 0.000746667 +0.000746667 0.00074 0.00076 0.000753333 0.000733333 0.000726667 0.000733333 0.000726667 +0.000726667 0.00076 0.00076 0.000726667 0.000726667 0.00074 0.000746667 0.000746667 +0.00074 0.000733333 0.000713333 0.000713333 0.000726667 0.000713333 0.0007 0.00074 +0.00074 0.000753333 0.00074 0.000713333 0.000733333 0.000713333 0.0007 0.00074 +0.000746667 0.000733333 0.000726667 0.000706667 0.00074 0.000733333 0.000733333 0.00076 +0.000733333 0.000713333 0.000733333 0.000726667 0.000733333 0.0007 0.000686667 0.000733333 +0.000733333 0.00072 0.000706667 0.000713333 0.00072 0.00072 0.000726667 0.000726667 +0.000733333 0.000733333 0.00072 0.00074 0.00072 0.00068 0.000706667 0.00072 +0.00074 0.00072 0.0007 0.00072 0.0007 0.00072 0.0007 0.000693333 +0.0007 0.000686667 0.000713333 0.00072 0.00068 0.000693333 0.000686667 0.000713333 +0.0007 0.0007 0.000713333 0.000673333 0.000666667 0.00066 0.000693333 0.000713333 +0.000686667 0.000693333 0.000686667 0.000673333 0.000673333 0.0007 0.000693333 0.00068 +0.000673333 0.000686667 0.00068 0.00066 0.000666667 0.00068 0.000693333 0.00068 +0.000673333 0.00068 0.00068 0.000686667 0.000686667 0.0007 0.00068 0.00066 +0.00068 0.000686667 0.00068 0.000673333 0.000666667 0.000693333 0.000686667 0.000666667 +0.00068 0.000666667 0.000673333 0.000666667 0.000673333 0.000693333 0.00068 0.000686667 +0.000706667 0.000706667 0.000693333 0.00068 0.000693333 0.000693333 0.000706667 0.000713333 +0.000686667 0.00066 0.000666667 0.000673333 0.000686667 0.0007 0.0007 0.000706667 +0.000693333 0.00068 0.000706667 0.000693333 0.000693333 0.000726667 0.000686667 0.000673333 +0.0007 0.000693333 0.000666667 0.0007 0.000693333 0.000673333 0.000693333 0.000713333 +0.000666667 0.000653333 0.000693333 0.000693333 0.00072 0.000726667 0.00068 0.000686667 +0.000673333 0.000653333 0.000666667 0.000706667 0.0007 0.00068 0.000673333 0.00068 +0.000726667 0.000693333 0.000673333 0.000686667 0.00068 0.000686667 0.000686667 0.000686667 +0.000686667 0.000666667 0.000686667 0.000673333 0.000653333 0.000686667 0.000693333 0.00066 +0.00066 0.000666667 0.000706667 0.000686667 0.000686667 0.000706667 0.00068 0.000693333 +0.00068 0.000673333 0.000693333 0.000693333 0.0007 0.0007 0.000706667 0.000686667 +0.00066 0.00068 0.000686667 0.000686667 0.00068 0.000686667 0.0007 0.000706667 +0.000686667 0.0007 0.000693333 0.000693333 0.000706667 0.00072 0.000693333 0.00068 +0.00068 0.000646667 0.000666667 0.00072 0.00072 0.00072 0.00068 0.000626667 +0.000646667 0.0007 0.000706667 0.0007 0.0007 0.00068 0.000673333 0.0007 +0.0007 0.000686667 0.00068 0.000666667 0.00068 0.000713333 0.0007 0.0007 +0.000706667 0.000706667 0.000693333 0.00068 0.000693333 0.0007 0.000706667 0.0007 +0.000686667 0.000686667 0.0007 0.0007 0.00068 0.00066 0.0007 0.0007 +0.000686667 0.0007 0.0007 0.000686667 0.000686667 0.000693333 0.000713333 0.00072 +0.000693333 0.00068 0.000686667 0.000706667 0.0007 0.000686667 0.0007 0.000706667 +0.000673333 0.0007 0.000733333 0.0007 0.000666667 0.000693333 0.00068 0.00068 +0.0007 0.000706667 0.000686667 0.00068 0.000706667 0.00066 0.0007 0.0007 +0.00068 0.000666667 0.000673333 0.00068 0.000693333 0.00068 0.000686667 0.000673333 +0.000666667 0.000673333 0.000666667 0.000673333 0.00066 0.00068 0.000686667 0.00066 +0.000666667 0.000666667 0.000666667 0.000646667 0.00066 0.000666667 0.0007 0.000693333 +0.000646667 0.00068 0.000713333 0.000693333 0.00066 0.000666667 0.000666667 0.000653333 +0.00066 0.000686667 0.000693333 0.0007 0.000693333 0.00068 0.000666667 0.00068 +0.000666667 0.000693333 0.00072 0.000686667 0.00068 0.00068 0.00068 0.000686667 +0.0007 0.00068 0.000706667 0.000706667 0.000713333 0.00072 0.000673333 0.000693333 +0.000726667 0.00072 0.00072 0.000706667 0.0007 0.0007 0.000686667 0.0007 +0.000686667 0.000733333 0.00072 0.000693333 0.0007 0.000706667 0.00072 0.000726667 +0.00072 0.000733333 0.000753333 0.00072 0.000706667 0.00072 0.00074 0.00074 +0.00072 0.0007 0.000693333 0.00068 0.000706667 0.000713333 0.0007 0.0007 +0.000726667 0.000713333 0.000733333 0.00074 0.000706667 0.000766667 0.00072 0.000693333 +0.000706667 0.00074 0.000733333 0.00074 0.000713333 0.00072 0.000726667 0.000733333 +0.000746667 0.000746667 0.000746667 0.000753333 0.000726667 0.00072 0.00074 0.000713333 +0.000753333 0.000766667 0.00076 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000753333 0.00074 0.000773333 0.000773333 +0.00078 0.00076 0.000746667 0.000746667 0.000746667 0.000726667 0.000726667 0.00072 +0.00072 0.000753333 0.000766667 0.00076 0.000746667 0.000726667 0.00074 0.000726667 +0.00072 0.00072 0.00074 0.000733333 0.000713333 0.00072 0.00072 0.000733333 +0.000733333 0.000733333 0.000753333 0.00074 0.000726667 0.000733333 0.0007 0.000706667 +0.000753333 0.00074 0.000746667 0.000726667 0.000713333 0.000733333 0.000726667 0.000746667 +0.00076 0.000726667 0.000726667 0.000713333 0.00076 0.00072 0.000666667 0.000706667 +0.000733333 0.000746667 0.00072 0.00072 0.000733333 0.000706667 0.000706667 0.000713333 +0.00072 0.000733333 0.000713333 0.00072 0.000733333 0.000713333 0.000706667 0.000686667 +0.000726667 0.00074 0.00072 0.000706667 0.000713333 0.00072 0.000693333 0.000693333 +0.000693333 0.00068 0.000693333 0.000713333 0.000713333 0.000706667 0.00068 0.000713333 +0.000733333 0.000686667 0.00068 0.000666667 0.000686667 0.000673333 0.000673333 0.000706667 +0.0007 0.000713333 0.00068 0.000666667 0.000673333 0.0007 0.0007 0.00068 +0.000686667 0.000673333 0.00068 0.000686667 0.000686667 0.000666667 0.000686667 0.00072 +0.0007 0.00066 0.000673333 0.000686667 0.000673333 0.000693333 0.00068 0.00066 +0.00066 0.00068 0.000706667 0.000673333 0.000673333 0.000693333 0.00068 0.000673333 +0.000686667 0.0007 0.000693333 0.000673333 0.000673333 0.000693333 0.00068 0.00068 +0.0007 0.000713333 0.00072 0.000666667 0.000666667 0.00068 0.000673333 0.000726667 +0.00072 0.000666667 0.00068 0.00068 0.00068 0.000706667 0.000686667 0.000693333 +0.000706667 0.000686667 0.000686667 0.000693333 0.000693333 0.0007 0.000693333 0.00068 +0.000693333 0.000706667 0.00068 0.000686667 0.000706667 0.000686667 0.0007 0.0007 +0.000673333 0.000646667 0.000673333 0.000686667 0.000713333 0.000726667 0.000686667 0.000653333 +0.000653333 0.00068 0.000673333 0.000686667 0.000726667 0.00068 0.000653333 0.000653333 +0.000693333 0.000693333 0.000673333 0.000673333 0.00068 0.00068 0.000673333 0.000686667 +0.0007 0.000673333 0.000666667 0.000686667 0.000673333 0.000666667 0.000693333 0.000673333 +0.000666667 0.000666667 0.000693333 0.000693333 0.000686667 0.000706667 0.000686667 0.000706667 +0.00068 0.000673333 0.00068 0.00066 0.00068 0.000706667 0.000686667 0.000666667 +0.000666667 0.00068 0.000686667 0.0007 0.000693333 0.000693333 0.0007 0.000686667 +0.00068 0.00068 0.000693333 0.000686667 0.000686667 0.000693333 0.0007 0.00068 +0.000686667 0.000673333 0.000673333 0.000693333 0.000706667 0.000733333 0.000706667 0.000653333 +0.000646667 0.000693333 0.0007 0.0007 0.000706667 0.000686667 0.000666667 0.000686667 +0.0007 0.000713333 0.0007 0.00068 0.000673333 0.000693333 0.00068 0.0007 +0.000713333 0.000713333 0.000693333 0.000666667 0.000686667 0.0007 0.000713333 0.000706667 +0.000686667 0.00068 0.0007 0.000693333 0.000686667 0.000666667 0.000706667 0.0007 +0.00068 0.000706667 0.000713333 0.000686667 0.00068 0.000693333 0.000726667 0.00072 +0.000686667 0.000693333 0.000693333 0.00068 0.0007 0.000686667 0.00068 0.000686667 +0.000673333 0.000706667 0.00072 0.000686667 0.000673333 0.000686667 0.000666667 0.00068 +0.000706667 0.000686667 0.000686667 0.000693333 0.00068 0.000686667 0.000713333 0.000693333 +0.00068 0.00066 0.000686667 0.000666667 0.000686667 0.0007 0.00068 0.000673333 +0.000673333 0.000666667 0.000666667 0.0007 0.000673333 0.00068 0.000693333 0.000666667 +0.000673333 0.000653333 0.00064 0.00066 0.000666667 0.000686667 0.000693333 0.000673333 +0.000673333 0.000693333 0.0007 0.000666667 0.000666667 0.000686667 0.000673333 0.000646667 +0.000666667 0.00068 0.000686667 0.000686667 0.00068 0.000673333 0.000666667 0.000666667 +0.000673333 0.000693333 0.000706667 0.000693333 0.000693333 0.00068 0.000646667 0.000673333 +0.0007 0.000693333 0.00072 0.000706667 0.000713333 0.000706667 0.000666667 0.000706667 +0.000726667 0.00072 0.000733333 0.000713333 0.000706667 0.00068 0.00068 0.000686667 +0.00068 0.000726667 0.00068 0.000673333 0.000726667 0.000706667 0.000706667 0.000706667 +0.000713333 0.00074 0.000746667 0.0007 0.00072 0.000726667 0.000753333 0.00074 +0.000713333 0.0007 0.000686667 0.000693333 0.000713333 0.000713333 0.000706667 0.00072 +0.000726667 0.000713333 0.000726667 0.000753333 0.000706667 0.000753333 0.000706667 0.000686667 +0.0007 0.00074 0.000733333 0.000746667 0.000726667 0.000726667 0.000726667 0.000733333 +0.000746667 0.000746667 0.00074 0.000746667 0.000726667 0.00072 0.000746667 0.000733333 +0.000766667 0.000733333 0.000746667 0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000753333 0.00074 0.0007 0.00074 0.00076 +0.00078 0.000793333 0.000766667 0.000733333 0.000733333 0.00074 0.000733333 0.00072 +0.00072 0.000733333 0.000746667 0.000753333 0.000746667 0.000733333 0.00076 0.000733333 +0.000706667 0.000713333 0.000733333 0.00076 0.00074 0.00072 0.00072 0.00072 +0.000733333 0.000733333 0.000733333 0.000746667 0.00074 0.000746667 0.000726667 0.000693333 +0.000726667 0.000726667 0.000746667 0.000746667 0.000726667 0.000713333 0.000713333 0.00072 +0.00074 0.000733333 0.00074 0.000713333 0.000746667 0.000746667 0.000706667 0.0007 +0.000726667 0.00076 0.000733333 0.000706667 0.000726667 0.00072 0.000706667 0.000706667 +0.000706667 0.00072 0.000726667 0.000706667 0.0007 0.000713333 0.0007 0.000706667 +0.000706667 0.000713333 0.00074 0.0007 0.0007 0.000706667 0.000686667 0.0007 +0.000686667 0.0007 0.000693333 0.000686667 0.000713333 0.00072 0.000693333 0.000686667 +0.000713333 0.000713333 0.00068 0.00066 0.000673333 0.00068 0.00068 0.0007 +0.000706667 0.000713333 0.00068 0.000666667 0.000666667 0.000666667 0.0007 0.000686667 +0.000686667 0.00068 0.00068 0.0007 0.000693333 0.000666667 0.00066 0.000686667 +0.0007 0.000666667 0.000653333 0.000673333 0.000666667 0.00066 0.000666667 0.000673333 +0.00064 0.00066 0.000686667 0.000686667 0.00068 0.000673333 0.00068 0.00068 +0.000673333 0.000706667 0.000713333 0.000673333 0.00066 0.000666667 0.000666667 0.000666667 +0.000686667 0.0007 0.000713333 0.000693333 0.000666667 0.000686667 0.000686667 0.000713333 +0.00072 0.000686667 0.0007 0.000693333 0.000673333 0.00068 0.000693333 0.000686667 +0.000686667 0.000686667 0.000686667 0.000686667 0.000686667 0.000686667 0.0007 0.000713333 +0.000706667 0.000713333 0.000693333 0.00068 0.000713333 0.0007 0.000706667 0.0007 +0.000693333 0.000653333 0.000673333 0.000686667 0.000706667 0.00074 0.000706667 0.000653333 +0.00066 0.00068 0.0007 0.000686667 0.000693333 0.000693333 0.000673333 0.000653333 +0.00068 0.000713333 0.0007 0.000673333 0.000686667 0.000673333 0.00066 0.000673333 +0.000713333 0.000693333 0.000666667 0.000686667 0.00068 0.000666667 0.00066 0.000666667 +0.000673333 0.00066 0.000666667 0.000693333 0.0007 0.000693333 0.00068 0.00068 +0.000673333 0.0007 0.00068 0.000653333 0.000693333 0.000686667 0.000673333 0.000673333 +0.00066 0.00068 0.000693333 0.000693333 0.000686667 0.000686667 0.000686667 0.000686667 +0.000693333 0.000666667 0.000673333 0.00068 0.000693333 0.000686667 0.000686667 0.00068 +0.000693333 0.000673333 0.000673333 0.00068 0.000693333 0.00072 0.000713333 0.00066 +0.000646667 0.00068 0.000706667 0.0007 0.000693333 0.000706667 0.000673333 0.00068 +0.000693333 0.00072 0.00072 0.000706667 0.000686667 0.000693333 0.000686667 0.0007 +0.000713333 0.000686667 0.000693333 0.00068 0.000686667 0.000693333 0.00072 0.000706667 +0.000693333 0.000686667 0.000693333 0.0007 0.00068 0.000673333 0.000713333 0.00068 +0.000673333 0.000713333 0.000713333 0.00068 0.00068 0.000693333 0.00072 0.000713333 +0.0007 0.000713333 0.000706667 0.00068 0.0007 0.0007 0.00068 0.000686667 +0.000693333 0.000706667 0.000686667 0.000686667 0.000673333 0.000666667 0.00068 0.000693333 +0.000706667 0.000666667 0.000673333 0.000693333 0.00066 0.000686667 0.000726667 0.000693333 +0.000686667 0.00066 0.000673333 0.000653333 0.000666667 0.000693333 0.000673333 0.00066 +0.000666667 0.00064 0.000646667 0.000706667 0.000673333 0.00066 0.000666667 0.000666667 +0.00068 0.00066 0.000633333 0.000653333 0.000673333 0.000673333 0.000673333 0.00068 +0.00072 0.000706667 0.000686667 0.000666667 0.000673333 0.000673333 0.000653333 0.000666667 +0.00068 0.000653333 0.000693333 0.00068 0.000686667 0.000666667 0.00066 0.000693333 +0.000706667 0.000686667 0.00068 0.000686667 0.000686667 0.000666667 0.000666667 0.000686667 +0.000686667 0.0007 0.0007 0.000693333 0.000713333 0.000686667 0.000693333 0.000706667 +0.0007 0.00072 0.00072 0.00072 0.000693333 0.000673333 0.0007 0.000686667 +0.0007 0.000693333 0.000673333 0.0007 0.000733333 0.000693333 0.000686667 0.000693333 +0.00072 0.000713333 0.000706667 0.0007 0.000733333 0.000733333 0.000753333 0.000706667 +0.0007 0.000706667 0.000713333 0.000726667 0.0007 0.00072 0.00074 0.000726667 +0.00072 0.000726667 0.00072 0.00074 0.000713333 0.000726667 0.000693333 0.000686667 +0.00072 0.00074 0.00072 0.000733333 0.000753333 0.000726667 0.000733333 0.00074 +0.00074 0.000733333 0.000726667 0.000746667 0.00074 0.000713333 0.000733333 0.000753333 +0.000746667 0.000733333 0.000726667 0.000733333 0.000753333 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00078 0.000746667 0.00072 0.00074 0.000726667 0.000726667 0.000726667 +0.000753333 0.000793333 0.000793333 0.000753333 0.000733333 0.00074 0.000753333 0.00074 +0.000706667 0.000706667 0.00072 0.00074 0.000746667 0.00074 0.000753333 0.000753333 +0.00074 0.000726667 0.000726667 0.000726667 0.000733333 0.000726667 0.000726667 0.000713333 +0.000713333 0.000733333 0.000733333 0.00074 0.00072 0.000713333 0.000726667 0.000726667 +0.000713333 0.000713333 0.000726667 0.00074 0.000753333 0.000726667 0.000713333 0.000713333 +0.0007 0.000713333 0.000726667 0.00074 0.000746667 0.000726667 0.000726667 0.00072 +0.000713333 0.00072 0.000733333 0.000726667 0.000713333 0.000726667 0.00072 0.000706667 +0.000706667 0.000713333 0.000733333 0.000726667 0.0007 0.000706667 0.000693333 0.00072 +0.000706667 0.000693333 0.000753333 0.000733333 0.000706667 0.0007 0.000693333 0.0007 +0.000693333 0.000713333 0.000693333 0.000653333 0.000686667 0.000706667 0.0007 0.0007 +0.0007 0.00072 0.0007 0.000673333 0.000653333 0.00066 0.000673333 0.000693333 +0.000706667 0.000693333 0.000686667 0.00068 0.00068 0.00066 0.000686667 0.000713333 +0.00066 0.000673333 0.000686667 0.000673333 0.000673333 0.000693333 0.000673333 0.000653333 +0.000673333 0.0007 0.000673333 0.000653333 0.000666667 0.00066 0.00068 0.000686667 +0.00064 0.000646667 0.000666667 0.0007 0.000706667 0.000666667 0.000673333 0.000686667 +0.00068 0.000686667 0.0007 0.00068 0.000646667 0.000653333 0.000673333 0.00066 +0.000673333 0.0007 0.0007 0.000706667 0.00068 0.000686667 0.000713333 0.000706667 +0.000693333 0.000686667 0.000693333 0.000686667 0.000673333 0.00066 0.000686667 0.0007 +0.00068 0.000673333 0.000686667 0.000713333 0.000686667 0.000673333 0.000693333 0.000693333 +0.000713333 0.000726667 0.0007 0.000693333 0.000713333 0.0007 0.0007 0.000693333 +0.000693333 0.00066 0.000666667 0.0007 0.000686667 0.00072 0.000713333 0.00068 +0.000673333 0.000653333 0.000686667 0.0007 0.00068 0.000686667 0.00068 0.000673333 +0.000686667 0.0007 0.0007 0.00068 0.000686667 0.000686667 0.00066 0.00066 +0.000706667 0.0007 0.000666667 0.00068 0.000673333 0.000666667 0.000646667 0.000646667 +0.000686667 0.000673333 0.000653333 0.000686667 0.00068 0.000686667 0.000693333 0.000666667 +0.00066 0.0007 0.000693333 0.00066 0.000693333 0.00068 0.000686667 0.0007 +0.000646667 0.00066 0.000693333 0.000673333 0.00068 0.000693333 0.000693333 0.000686667 +0.000693333 0.00066 0.000673333 0.00068 0.000686667 0.000693333 0.000686667 0.000666667 +0.0007 0.00066 0.000693333 0.0007 0.00068 0.000693333 0.000693333 0.000666667 +0.00066 0.000693333 0.0007 0.0007 0.000686667 0.0007 0.000666667 0.00066 +0.000693333 0.00072 0.000693333 0.000693333 0.000686667 0.000693333 0.000693333 0.000693333 +0.0007 0.00068 0.000706667 0.000706667 0.000706667 0.0007 0.000713333 0.000693333 +0.000686667 0.000686667 0.000686667 0.000693333 0.000666667 0.00068 0.000706667 0.000666667 +0.000673333 0.000713333 0.000706667 0.00068 0.000686667 0.0007 0.000693333 0.0007 +0.000713333 0.000693333 0.000686667 0.00068 0.000666667 0.000693333 0.000706667 0.0007 +0.0007 0.000693333 0.000706667 0.000706667 0.000666667 0.00066 0.000666667 0.000693333 +0.0007 0.000673333 0.00066 0.000673333 0.00066 0.000693333 0.000726667 0.0007 +0.000686667 0.000666667 0.000686667 0.000666667 0.00066 0.000686667 0.00068 0.00066 +0.00066 0.000633333 0.00066 0.000693333 0.000646667 0.00066 0.000666667 0.000686667 +0.000673333 0.00066 0.000633333 0.00066 0.00068 0.000666667 0.00066 0.000686667 +0.00072 0.000686667 0.00066 0.000673333 0.00068 0.000673333 0.000666667 0.000666667 +0.000653333 0.000666667 0.000713333 0.00068 0.00068 0.00066 0.000666667 0.000706667 +0.000706667 0.00068 0.000666667 0.000686667 0.000686667 0.000666667 0.00068 0.000693333 +0.0007 0.00072 0.000673333 0.000673333 0.000686667 0.00068 0.000713333 0.0007 +0.0007 0.000726667 0.000706667 0.0007 0.000666667 0.00068 0.000713333 0.0007 +0.000713333 0.000686667 0.00072 0.000713333 0.00072 0.0007 0.000673333 0.000706667 +0.000726667 0.0007 0.000713333 0.000733333 0.000733333 0.000733333 0.00072 0.000686667 +0.000706667 0.0007 0.00072 0.000726667 0.0007 0.00074 0.00074 0.00072 +0.00072 0.000746667 0.0007 0.000713333 0.000726667 0.0007 0.000706667 0.000706667 +0.000746667 0.000733333 0.000713333 0.000733333 0.000746667 0.000686667 0.00074 0.000746667 +0.000726667 0.000726667 0.000733333 0.000746667 0.000746667 0.000713333 0.00074 0.00076 +0.000726667 0.000753333 0.00074 0.000746667 0.000753333 0.000766667 0.000753333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00078 0.000766667 0.000746667 0.000733333 0.000733333 0.000746667 0.000726667 0.00072 +0.000726667 0.00074 0.00076 0.000766667 0.000766667 0.00076 0.000753333 0.00076 +0.00074 0.00072 0.000713333 0.000713333 0.000726667 0.00074 0.000746667 0.00076 +0.000753333 0.000726667 0.00072 0.000706667 0.000713333 0.000726667 0.00072 0.000733333 +0.00072 0.000713333 0.000733333 0.00074 0.00072 0.000713333 0.000713333 0.000733333 +0.000733333 0.000713333 0.00072 0.000733333 0.00076 0.000746667 0.00074 0.000726667 +0.000686667 0.000686667 0.000686667 0.000733333 0.00076 0.000713333 0.0007 0.000713333 +0.000733333 0.000693333 0.000686667 0.000726667 0.00072 0.000746667 0.000733333 0.000706667 +0.000686667 0.000693333 0.00072 0.000713333 0.000713333 0.00072 0.000693333 0.000693333 +0.000713333 0.000706667 0.000726667 0.000733333 0.00072 0.000706667 0.000706667 0.0007 +0.000706667 0.000713333 0.000693333 0.00064 0.00066 0.000693333 0.0007 0.000693333 +0.000693333 0.000706667 0.000693333 0.00068 0.00066 0.00064 0.000653333 0.000686667 +0.00072 0.000686667 0.000686667 0.000686667 0.0007 0.000693333 0.00066 0.0007 +0.000666667 0.000653333 0.000686667 0.00068 0.000653333 0.000673333 0.000693333 0.00066 +0.000653333 0.0007 0.0007 0.000653333 0.000653333 0.000666667 0.00068 0.000673333 +0.00066 0.000646667 0.00066 0.0007 0.000706667 0.00068 0.00066 0.000666667 +0.000686667 0.00068 0.000666667 0.00068 0.000673333 0.00068 0.00068 0.00068 +0.00068 0.0007 0.0007 0.000713333 0.000686667 0.000686667 0.000713333 0.000706667 +0.0007 0.000686667 0.000686667 0.00068 0.00068 0.00066 0.000686667 0.0007 +0.0007 0.00068 0.00068 0.000713333 0.0007 0.000686667 0.000693333 0.000666667 +0.00068 0.000726667 0.000713333 0.000693333 0.0007 0.000686667 0.0007 0.0007 +0.000693333 0.000666667 0.000653333 0.000706667 0.000686667 0.0007 0.000713333 0.000706667 +0.00068 0.000653333 0.000673333 0.000693333 0.000693333 0.000673333 0.000666667 0.00068 +0.000706667 0.00068 0.000693333 0.00068 0.00068 0.000686667 0.000673333 0.00066 +0.000673333 0.0007 0.000673333 0.000666667 0.000666667 0.00066 0.000646667 0.00066 +0.00068 0.000673333 0.00066 0.000673333 0.000666667 0.000693333 0.000713333 0.000673333 +0.000673333 0.000693333 0.00068 0.00066 0.000693333 0.000693333 0.0007 0.000706667 +0.00066 0.000646667 0.000673333 0.000693333 0.0007 0.000693333 0.000706667 0.0007 +0.000686667 0.00068 0.00068 0.000673333 0.000686667 0.000693333 0.0007 0.000686667 +0.00068 0.000653333 0.000706667 0.000706667 0.000686667 0.000686667 0.00068 0.00066 +0.000686667 0.000706667 0.000693333 0.00068 0.000686667 0.00068 0.00068 0.000666667 +0.000686667 0.000706667 0.00068 0.00068 0.000693333 0.0007 0.00068 0.000673333 +0.00068 0.00068 0.000686667 0.000693333 0.000706667 0.000706667 0.000706667 0.000686667 +0.000686667 0.000693333 0.0007 0.00068 0.00068 0.000706667 0.0007 0.00066 +0.00068 0.000706667 0.0007 0.00068 0.0007 0.0007 0.000693333 0.000706667 +0.000713333 0.00068 0.000686667 0.000706667 0.000666667 0.000666667 0.000713333 0.000713333 +0.000693333 0.000706667 0.00072 0.0007 0.000693333 0.000693333 0.000653333 0.00068 +0.000686667 0.000673333 0.000653333 0.000653333 0.000673333 0.0007 0.000706667 0.0007 +0.00066 0.000673333 0.0007 0.00068 0.000666667 0.0007 0.0007 0.000666667 +0.000653333 0.00064 0.000673333 0.000673333 0.000646667 0.00068 0.000673333 0.00068 +0.000673333 0.000653333 0.000633333 0.000646667 0.000693333 0.00066 0.00068 0.000693333 +0.000686667 0.00068 0.000666667 0.000673333 0.000673333 0.000686667 0.00068 0.00066 +0.000653333 0.000706667 0.0007 0.000673333 0.000653333 0.000666667 0.000693333 0.000706667 +0.00068 0.000666667 0.000666667 0.0007 0.000686667 0.00066 0.000686667 0.000693333 +0.000706667 0.000706667 0.000673333 0.000666667 0.000666667 0.00068 0.000713333 0.0007 +0.000713333 0.000726667 0.000686667 0.000686667 0.000693333 0.0007 0.000706667 0.0007 +0.000706667 0.000686667 0.000733333 0.00068 0.0007 0.000706667 0.00068 0.000713333 +0.000713333 0.000706667 0.000733333 0.000753333 0.000733333 0.000726667 0.0007 0.000706667 +0.0007 0.000693333 0.0007 0.000706667 0.000726667 0.000746667 0.000726667 0.000726667 +0.000733333 0.00072 0.0007 0.00072 0.000726667 0.000686667 0.000746667 0.000726667 +0.000733333 0.00072 0.000746667 0.00074 0.0007 0.000686667 0.00074 0.000733333 +0.000726667 0.00074 0.000746667 0.00074 0.000733333 0.000733333 0.000753333 0.000746667 +0.00074 0.000753333 0.00074 0.000753333 0.000766667 0.000733333 0.000726667 0.00076 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000793333 +0.00078 0.00076 0.00076 0.00078 0.00074 0.000753333 0.00074 0.000706667 +0.00072 0.000713333 0.00072 0.000753333 0.000773333 0.00078 0.000773333 0.000753333 +0.000746667 0.00074 0.000726667 0.0007 0.000693333 0.00072 0.000746667 0.000773333 +0.000766667 0.00072 0.000726667 0.000726667 0.000713333 0.000713333 0.000706667 0.000726667 +0.000746667 0.00072 0.000713333 0.00074 0.000726667 0.00074 0.00072 0.0007 +0.000726667 0.000726667 0.000733333 0.00074 0.00074 0.00074 0.000746667 0.00074 +0.000686667 0.000686667 0.000686667 0.00072 0.00074 0.00072 0.00072 0.0007 +0.000733333 0.000726667 0.0007 0.000706667 0.0007 0.000726667 0.00074 0.000733333 +0.000693333 0.00068 0.000706667 0.000713333 0.00072 0.00072 0.0007 0.000706667 +0.0007 0.000713333 0.0007 0.00072 0.000726667 0.0007 0.000713333 0.000686667 +0.000706667 0.000706667 0.0007 0.00068 0.00066 0.000673333 0.00068 0.00068 +0.000686667 0.000686667 0.000693333 0.000693333 0.000686667 0.00066 0.000653333 0.000673333 +0.0007 0.000686667 0.000693333 0.000706667 0.00068 0.000693333 0.000666667 0.000666667 +0.00068 0.000666667 0.000673333 0.00068 0.00066 0.000653333 0.00068 0.000673333 +0.000666667 0.00068 0.00068 0.000673333 0.000653333 0.000666667 0.000666667 0.000653333 +0.00068 0.000666667 0.00066 0.00068 0.00068 0.00068 0.00066 0.00066 +0.000686667 0.000666667 0.00068 0.000673333 0.000693333 0.00072 0.00068 0.000673333 +0.000686667 0.000686667 0.000693333 0.000706667 0.000693333 0.000686667 0.000693333 0.0007 +0.000713333 0.00072 0.000706667 0.000686667 0.000686667 0.000666667 0.000673333 0.000673333 +0.000693333 0.0007 0.000686667 0.0007 0.000693333 0.000693333 0.000693333 0.000673333 +0.00066 0.0007 0.000726667 0.0007 0.000693333 0.000686667 0.0007 0.000713333 +0.000693333 0.000673333 0.000666667 0.00068 0.000693333 0.000693333 0.000726667 0.000713333 +0.00068 0.000673333 0.00068 0.00068 0.000686667 0.000666667 0.00066 0.000673333 +0.000693333 0.000693333 0.000713333 0.000686667 0.00068 0.000673333 0.000666667 0.000666667 +0.000686667 0.000693333 0.000673333 0.000673333 0.00066 0.00066 0.000666667 0.00066 +0.000666667 0.000666667 0.000666667 0.000666667 0.00068 0.00068 0.000706667 0.000693333 +0.000673333 0.000693333 0.000673333 0.00066 0.000706667 0.000706667 0.0007 0.00068 +0.000673333 0.000673333 0.000666667 0.0007 0.000713333 0.000693333 0.000713333 0.000706667 +0.00068 0.000673333 0.000686667 0.000646667 0.00068 0.000693333 0.000713333 0.0007 +0.000686667 0.00068 0.000693333 0.000686667 0.0007 0.0007 0.000673333 0.000646667 +0.00068 0.000686667 0.000686667 0.000693333 0.000693333 0.000686667 0.000693333 0.000693333 +0.000666667 0.0007 0.0007 0.00068 0.000693333 0.000706667 0.000673333 0.00068 +0.000693333 0.00068 0.000666667 0.000673333 0.0007 0.000693333 0.000693333 0.000686667 +0.000686667 0.0007 0.000706667 0.00068 0.000673333 0.000713333 0.000693333 0.000673333 +0.000693333 0.0007 0.0007 0.000693333 0.000693333 0.000693333 0.00072 0.000686667 +0.000673333 0.00068 0.000693333 0.0007 0.00066 0.000653333 0.000693333 0.000706667 +0.000706667 0.000713333 0.0007 0.00068 0.000713333 0.0007 0.000666667 0.000686667 +0.00068 0.000673333 0.000653333 0.00066 0.000666667 0.00072 0.000706667 0.000693333 +0.00066 0.000673333 0.000693333 0.000686667 0.000686667 0.0007 0.000693333 0.000673333 +0.000646667 0.000646667 0.00068 0.000666667 0.000666667 0.000686667 0.000673333 0.00066 +0.000673333 0.000653333 0.00064 0.000653333 0.000673333 0.000666667 0.000693333 0.000693333 +0.00068 0.000693333 0.00066 0.000646667 0.000693333 0.000693333 0.000673333 0.000666667 +0.00068 0.00072 0.000686667 0.000673333 0.00064 0.00068 0.000693333 0.000686667 +0.000686667 0.00068 0.000673333 0.00068 0.000666667 0.00068 0.0007 0.000693333 +0.000706667 0.000673333 0.000666667 0.000673333 0.00068 0.000686667 0.000706667 0.00072 +0.000726667 0.0007 0.000673333 0.000686667 0.000713333 0.000706667 0.000693333 0.0007 +0.0007 0.000706667 0.000706667 0.000686667 0.000686667 0.000706667 0.0007 0.000706667 +0.0007 0.000713333 0.000726667 0.000746667 0.000733333 0.00072 0.0007 0.000713333 +0.000673333 0.000693333 0.000693333 0.0007 0.000726667 0.000726667 0.000726667 0.000726667 +0.00072 0.0007 0.000713333 0.000726667 0.000733333 0.0007 0.000746667 0.000733333 +0.00072 0.000733333 0.000746667 0.000713333 0.000706667 0.000733333 0.000726667 0.00072 +0.000733333 0.000733333 0.00074 0.000746667 0.00072 0.000746667 0.00074 0.00076 +0.000753333 0.000746667 0.000753333 0.000753333 0.000753333 0.000726667 0.000733333 0.00076 +0.000786667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000753333 0.00072 +0.000726667 0.000753333 0.000746667 0.000773333 0.000746667 0.00076 0.000753333 0.000733333 +0.000733333 0.000733333 0.000713333 0.00072 0.000746667 0.000753333 0.00078 0.000766667 +0.00074 0.000746667 0.000746667 0.000726667 0.0007 0.0007 0.000706667 0.000733333 +0.000746667 0.000746667 0.000753333 0.000746667 0.000733333 0.000713333 0.000706667 0.00072 +0.000746667 0.000733333 0.00072 0.000733333 0.000733333 0.000726667 0.000726667 0.000693333 +0.00072 0.000733333 0.00072 0.000733333 0.000726667 0.00072 0.00074 0.000753333 +0.000726667 0.000693333 0.0007 0.000733333 0.00072 0.000713333 0.000733333 0.00072 +0.000726667 0.00072 0.00072 0.00072 0.0007 0.000686667 0.000726667 0.000753333 +0.000726667 0.000706667 0.000686667 0.000686667 0.00072 0.00072 0.0007 0.000706667 +0.000693333 0.000706667 0.000686667 0.000713333 0.000733333 0.000706667 0.0007 0.000693333 +0.0007 0.00068 0.000686667 0.00072 0.0007 0.000653333 0.000666667 0.000693333 +0.0007 0.000673333 0.000693333 0.000706667 0.000693333 0.000686667 0.000673333 0.000673333 +0.000673333 0.00068 0.000693333 0.000713333 0.00068 0.000673333 0.000713333 0.00068 +0.000666667 0.000686667 0.00068 0.00068 0.000686667 0.00066 0.000666667 0.000666667 +0.00068 0.000693333 0.000666667 0.000673333 0.000666667 0.000673333 0.00066 0.00066 +0.000693333 0.000673333 0.000666667 0.000673333 0.00068 0.000693333 0.000673333 0.000673333 +0.000673333 0.000653333 0.00068 0.000673333 0.00068 0.0007 0.0007 0.000686667 +0.000673333 0.00068 0.0007 0.000673333 0.00068 0.000686667 0.00068 0.000686667 +0.000706667 0.00072 0.000713333 0.000693333 0.0007 0.000666667 0.00066 0.000673333 +0.000706667 0.000713333 0.0007 0.000706667 0.000686667 0.00068 0.000693333 0.000693333 +0.000666667 0.000693333 0.000726667 0.000706667 0.000693333 0.00068 0.000686667 0.0007 +0.0007 0.0007 0.000673333 0.000653333 0.000673333 0.0007 0.000733333 0.0007 +0.00068 0.00068 0.00068 0.00068 0.000686667 0.000666667 0.00066 0.000653333 +0.000653333 0.00068 0.0007 0.000686667 0.000686667 0.00068 0.00066 0.000673333 +0.00068 0.000686667 0.000666667 0.000686667 0.00066 0.000686667 0.000693333 0.00066 +0.000666667 0.00068 0.00066 0.000666667 0.000693333 0.000653333 0.000693333 0.000713333 +0.000666667 0.00068 0.00068 0.000653333 0.000706667 0.0007 0.000693333 0.000693333 +0.000666667 0.000666667 0.000673333 0.000686667 0.000706667 0.000693333 0.000706667 0.000713333 +0.000673333 0.000653333 0.0007 0.000666667 0.000666667 0.00068 0.000713333 0.000706667 +0.000693333 0.000666667 0.00066 0.000673333 0.000693333 0.00072 0.000686667 0.00064 +0.000666667 0.000666667 0.00068 0.000713333 0.000686667 0.00068 0.000693333 0.000693333 +0.00066 0.000713333 0.0007 0.000673333 0.000693333 0.000693333 0.000673333 0.0007 +0.00072 0.000686667 0.00068 0.000693333 0.000693333 0.000686667 0.000693333 0.000686667 +0.000693333 0.0007 0.000706667 0.000693333 0.000673333 0.000693333 0.000686667 0.00068 +0.000686667 0.000686667 0.0007 0.00068 0.00068 0.00072 0.000726667 0.000666667 +0.000666667 0.000673333 0.000706667 0.000686667 0.00066 0.000673333 0.000673333 0.000693333 +0.000733333 0.000706667 0.000666667 0.00066 0.000706667 0.000686667 0.00068 0.000693333 +0.00068 0.000673333 0.00066 0.000653333 0.00066 0.000726667 0.000693333 0.000686667 +0.000686667 0.000673333 0.000666667 0.000693333 0.000713333 0.000686667 0.000666667 0.00068 +0.000653333 0.000673333 0.000693333 0.00066 0.000666667 0.000666667 0.00068 0.000666667 +0.000666667 0.000653333 0.00066 0.000673333 0.000653333 0.00066 0.000673333 0.000673333 +0.000693333 0.000693333 0.00064 0.000646667 0.000686667 0.000666667 0.000666667 0.00068 +0.0007 0.0007 0.000686667 0.000666667 0.000646667 0.000673333 0.000686667 0.000686667 +0.000686667 0.00068 0.00068 0.000666667 0.000666667 0.000706667 0.0007 0.00068 +0.000686667 0.000673333 0.00068 0.00068 0.00068 0.000706667 0.00072 0.00072 +0.000706667 0.000686667 0.000686667 0.000686667 0.000706667 0.000706667 0.000693333 0.000713333 +0.000693333 0.000686667 0.000693333 0.000693333 0.00068 0.00072 0.0007 0.000706667 +0.000706667 0.000713333 0.000733333 0.000733333 0.00072 0.0007 0.00072 0.000706667 +0.000653333 0.000693333 0.000713333 0.000706667 0.0007 0.0007 0.000733333 0.000733333 +0.000706667 0.000706667 0.000746667 0.00072 0.00072 0.000726667 0.000733333 0.000726667 +0.000733333 0.000746667 0.000713333 0.0007 0.000706667 0.00072 0.0007 0.000753333 +0.00074 0.000713333 0.00074 0.000753333 0.00072 0.00072 0.000733333 0.000773333 +0.000746667 0.00074 0.000766667 0.000726667 0.000746667 0.000746667 0.00074 0.00074 +0.000733333 0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 0.000766667 0.000733333 +0.0007 0.000733333 0.000746667 0.000766667 0.000766667 0.000753333 0.00076 0.000766667 +0.000753333 0.00074 0.00072 0.000706667 0.000726667 0.000733333 0.00074 0.00076 +0.00076 0.000746667 0.000746667 0.000746667 0.000726667 0.00072 0.0007 0.0007 +0.000713333 0.000746667 0.000753333 0.00074 0.000766667 0.000746667 0.000713333 0.00072 +0.000726667 0.000726667 0.00074 0.000726667 0.000733333 0.00072 0.000726667 0.00072 +0.000693333 0.00072 0.000713333 0.00072 0.00074 0.000726667 0.00074 0.000753333 +0.00076 0.00072 0.0007 0.000726667 0.00072 0.00072 0.00072 0.000726667 +0.000733333 0.000713333 0.000713333 0.000713333 0.00074 0.000713333 0.0007 0.000713333 +0.000713333 0.000733333 0.000713333 0.00068 0.000713333 0.00072 0.0007 0.000693333 +0.000693333 0.000706667 0.000686667 0.000693333 0.000733333 0.000726667 0.0007 0.000673333 +0.000686667 0.000693333 0.00068 0.000706667 0.000726667 0.000673333 0.000666667 0.0007 +0.000706667 0.00068 0.00068 0.0007 0.000693333 0.000693333 0.000693333 0.00068 +0.000673333 0.00068 0.000686667 0.000706667 0.000693333 0.000666667 0.000713333 0.0007 +0.00066 0.000686667 0.00068 0.000666667 0.00068 0.00068 0.00066 0.000673333 +0.000686667 0.000686667 0.000673333 0.00066 0.000673333 0.0007 0.000673333 0.000666667 +0.000673333 0.000666667 0.000673333 0.00066 0.000673333 0.00068 0.00068 0.0007 +0.000686667 0.00066 0.000646667 0.00068 0.00068 0.000673333 0.000693333 0.000706667 +0.000673333 0.000666667 0.000686667 0.00068 0.000693333 0.000693333 0.00068 0.00068 +0.0007 0.000706667 0.000693333 0.000693333 0.000706667 0.00068 0.000666667 0.00068 +0.00072 0.0007 0.000673333 0.000706667 0.000713333 0.00066 0.00068 0.000706667 +0.000686667 0.000693333 0.00072 0.000693333 0.000686667 0.000673333 0.000653333 0.00068 +0.000713333 0.000713333 0.00068 0.000653333 0.000653333 0.000686667 0.000713333 0.0007 +0.000686667 0.000666667 0.000666667 0.00068 0.000693333 0.00068 0.000673333 0.000666667 +0.000653333 0.00066 0.00068 0.000693333 0.0007 0.000706667 0.000686667 0.00068 +0.00066 0.00068 0.000686667 0.0007 0.000666667 0.000673333 0.00068 0.00066 +0.000673333 0.00068 0.000646667 0.000666667 0.000693333 0.000646667 0.000673333 0.000713333 +0.00068 0.00068 0.000673333 0.00066 0.000706667 0.000686667 0.000666667 0.0007 +0.000673333 0.000666667 0.000686667 0.00068 0.000686667 0.000686667 0.0007 0.000713333 +0.000686667 0.000646667 0.000693333 0.000693333 0.000686667 0.000673333 0.000713333 0.0007 +0.000693333 0.00066 0.000646667 0.00068 0.000693333 0.000726667 0.000706667 0.00064 +0.00066 0.000666667 0.000673333 0.000706667 0.0007 0.000673333 0.000673333 0.00068 +0.000666667 0.000706667 0.000693333 0.0007 0.000706667 0.000693333 0.000666667 0.000693333 +0.000713333 0.00068 0.000693333 0.000693333 0.00068 0.000693333 0.0007 0.000693333 +0.0007 0.000693333 0.000693333 0.000686667 0.000693333 0.000713333 0.00068 0.000666667 +0.00066 0.00068 0.000693333 0.00066 0.000693333 0.00074 0.0007 0.00068 +0.0007 0.00066 0.000686667 0.000686667 0.000666667 0.00068 0.000666667 0.000693333 +0.000733333 0.0007 0.000666667 0.000666667 0.000686667 0.000673333 0.000686667 0.000693333 +0.000666667 0.00068 0.00066 0.00064 0.00068 0.00072 0.000673333 0.000686667 +0.00068 0.000673333 0.000653333 0.000686667 0.000713333 0.00068 0.000673333 0.000666667 +0.000653333 0.000686667 0.000713333 0.000666667 0.00066 0.00066 0.00068 0.000666667 +0.000653333 0.00064 0.000666667 0.000693333 0.000653333 0.000646667 0.000666667 0.00066 +0.000686667 0.000673333 0.000653333 0.000666667 0.00066 0.000646667 0.00068 0.000673333 +0.000686667 0.00068 0.00068 0.00066 0.00066 0.000673333 0.000693333 0.000693333 +0.000673333 0.00068 0.000673333 0.000653333 0.00068 0.000706667 0.000693333 0.000673333 +0.00068 0.00068 0.000693333 0.000673333 0.000666667 0.00072 0.00072 0.000706667 +0.000686667 0.000693333 0.000706667 0.000686667 0.000706667 0.00072 0.000713333 0.0007 +0.000673333 0.000686667 0.0007 0.000686667 0.000693333 0.000726667 0.00072 0.000706667 +0.000686667 0.000706667 0.000726667 0.000733333 0.000733333 0.0007 0.000706667 0.000686667 +0.000666667 0.000706667 0.000726667 0.000706667 0.000706667 0.000713333 0.00074 0.00072 +0.0007 0.000733333 0.000746667 0.0007 0.000706667 0.000733333 0.00072 0.000746667 +0.000726667 0.000726667 0.000706667 0.000706667 0.0007 0.000713333 0.00072 0.000753333 +0.00074 0.00074 0.000733333 0.000746667 0.000713333 0.000726667 0.00076 0.00076 +0.000746667 0.000753333 0.000753333 0.00072 0.000753333 0.000746667 0.000733333 0.000733333 +0.00072 0.000753333 0.00076 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000733333 0.00072 0.00074 0.000753333 +0.000733333 0.000713333 0.000733333 0.000753333 0.000766667 0.000766667 0.00076 0.000753333 +0.000746667 0.00074 0.00074 0.000733333 0.000726667 0.000726667 0.000706667 0.000706667 +0.000726667 0.000733333 0.00076 0.000746667 0.00074 0.00074 0.000733333 0.000726667 +0.000706667 0.0007 0.00072 0.000726667 0.000753333 0.000753333 0.000733333 0.000726667 +0.000713333 0.000713333 0.000733333 0.00074 0.00074 0.000713333 0.000713333 0.000733333 +0.000706667 0.000713333 0.00072 0.000706667 0.00072 0.00074 0.00076 0.000746667 +0.000733333 0.000733333 0.000713333 0.000706667 0.000706667 0.000713333 0.000713333 0.000726667 +0.000713333 0.000706667 0.000733333 0.0007 0.000733333 0.000753333 0.00072 0.000693333 +0.000686667 0.000733333 0.00076 0.000726667 0.0007 0.000706667 0.000693333 0.000693333 +0.0007 0.000706667 0.000693333 0.000693333 0.000706667 0.00072 0.000713333 0.000693333 +0.000686667 0.000713333 0.000713333 0.0007 0.00072 0.000693333 0.00068 0.000673333 +0.000673333 0.00068 0.000673333 0.00068 0.000693333 0.000693333 0.000693333 0.00068 +0.000666667 0.000686667 0.000693333 0.000693333 0.000686667 0.000686667 0.00068 0.000673333 +0.000673333 0.000686667 0.000673333 0.000673333 0.00068 0.00068 0.000673333 0.000693333 +0.000686667 0.00066 0.000666667 0.000666667 0.000673333 0.000686667 0.000693333 0.00068 +0.000646667 0.000646667 0.000673333 0.000653333 0.000673333 0.000673333 0.000686667 0.0007 +0.0007 0.000693333 0.000633333 0.000653333 0.00068 0.000666667 0.00066 0.000673333 +0.00068 0.0007 0.00068 0.000693333 0.000706667 0.000693333 0.000673333 0.000686667 +0.0007 0.000706667 0.000686667 0.000673333 0.0007 0.000693333 0.00068 0.00068 +0.000693333 0.000686667 0.000666667 0.000706667 0.00074 0.00068 0.000666667 0.000706667 +0.0007 0.000686667 0.000713333 0.000693333 0.000673333 0.00068 0.000646667 0.00068 +0.000706667 0.000693333 0.000673333 0.000673333 0.000666667 0.00068 0.000693333 0.000713333 +0.000706667 0.000673333 0.00066 0.00068 0.000693333 0.000686667 0.000686667 0.000673333 +0.00066 0.00064 0.000673333 0.000686667 0.00068 0.000693333 0.000686667 0.000686667 +0.000666667 0.000666667 0.00068 0.00068 0.00068 0.000673333 0.000653333 0.000673333 +0.000673333 0.00068 0.00068 0.00068 0.000686667 0.000653333 0.00066 0.000686667 +0.000686667 0.0007 0.000673333 0.00066 0.000713333 0.00068 0.000666667 0.000693333 +0.00066 0.000666667 0.000686667 0.00068 0.000693333 0.000686667 0.00068 0.0007 +0.000706667 0.000646667 0.00068 0.0007 0.000693333 0.000673333 0.000713333 0.000693333 +0.000673333 0.000673333 0.000673333 0.00068 0.0007 0.000726667 0.000693333 0.000646667 +0.00068 0.000686667 0.000686667 0.000706667 0.00072 0.000686667 0.00066 0.00068 +0.000673333 0.000693333 0.0007 0.000706667 0.000713333 0.000686667 0.00066 0.000686667 +0.000706667 0.000693333 0.000673333 0.00068 0.000693333 0.000686667 0.0007 0.000706667 +0.000706667 0.000686667 0.00068 0.00068 0.000706667 0.000733333 0.000666667 0.00066 +0.000666667 0.000686667 0.00068 0.000673333 0.000713333 0.000726667 0.00068 0.000693333 +0.000713333 0.000666667 0.000686667 0.00068 0.000673333 0.00068 0.00068 0.000686667 +0.000706667 0.000706667 0.000686667 0.00068 0.00068 0.000653333 0.000673333 0.000673333 +0.000673333 0.000693333 0.000653333 0.000646667 0.00072 0.000713333 0.000673333 0.000693333 +0.000673333 0.000686667 0.00066 0.000686667 0.0007 0.000693333 0.000693333 0.00066 +0.000653333 0.00068 0.0007 0.000673333 0.000646667 0.000666667 0.000686667 0.000673333 +0.00064 0.000626667 0.000686667 0.000706667 0.000646667 0.00064 0.00068 0.000666667 +0.000673333 0.00066 0.00068 0.000666667 0.000646667 0.000673333 0.000693333 0.000653333 +0.000673333 0.00068 0.000666667 0.00066 0.000666667 0.000686667 0.0007 0.0007 +0.000673333 0.000673333 0.00066 0.000646667 0.000686667 0.000693333 0.000686667 0.00068 +0.00068 0.0007 0.000693333 0.000653333 0.000673333 0.000713333 0.000713333 0.0007 +0.000693333 0.000693333 0.000686667 0.000686667 0.00072 0.000726667 0.000706667 0.000673333 +0.000686667 0.000693333 0.0007 0.000706667 0.000713333 0.000733333 0.000746667 0.0007 +0.000666667 0.000693333 0.000706667 0.000753333 0.00074 0.00068 0.00068 0.000693333 +0.000713333 0.0007 0.000713333 0.00072 0.00072 0.00074 0.000726667 0.0007 +0.00072 0.000733333 0.000706667 0.0007 0.000706667 0.00074 0.000713333 0.00072 +0.000713333 0.00072 0.0007 0.000713333 0.00072 0.000726667 0.000733333 0.00074 +0.000746667 0.000733333 0.000706667 0.000746667 0.00072 0.000753333 0.000773333 0.000726667 +0.00074 0.000746667 0.000753333 0.000746667 0.00076 0.000726667 0.000733333 0.000753333 +0.000733333 0.000746667 0.000753333 0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00078 0.000786667 0.000753333 0.000726667 0.00072 0.00072 +0.000726667 0.00074 0.000746667 0.000746667 0.00074 0.000766667 0.000766667 0.00074 +0.00074 0.00074 0.000733333 0.000746667 0.00074 0.000726667 0.000713333 0.0007 +0.000693333 0.000706667 0.000753333 0.00076 0.000746667 0.000746667 0.00074 0.000753333 +0.000726667 0.000693333 0.0007 0.000706667 0.00072 0.000726667 0.000726667 0.000746667 +0.000733333 0.00072 0.000726667 0.000733333 0.000753333 0.00074 0.000713333 0.0007 +0.000726667 0.000713333 0.000713333 0.00072 0.0007 0.000713333 0.000746667 0.000746667 +0.000713333 0.000713333 0.00074 0.00072 0.000706667 0.000706667 0.000686667 0.00072 +0.000706667 0.000693333 0.000733333 0.00072 0.000713333 0.00074 0.000726667 0.000693333 +0.000693333 0.000706667 0.000726667 0.000746667 0.000706667 0.0007 0.000706667 0.0007 +0.000693333 0.000713333 0.0007 0.000686667 0.000666667 0.000693333 0.000713333 0.000726667 +0.0007 0.000693333 0.000706667 0.000706667 0.0007 0.000686667 0.00068 0.000673333 +0.000653333 0.000666667 0.000673333 0.000666667 0.000666667 0.000693333 0.000706667 0.000686667 +0.00066 0.00068 0.0007 0.000693333 0.000673333 0.000686667 0.00068 0.00066 +0.00068 0.000693333 0.000673333 0.00068 0.000706667 0.0007 0.000686667 0.000686667 +0.00066 0.00066 0.00066 0.000666667 0.00068 0.000666667 0.00068 0.000686667 +0.000673333 0.00066 0.00066 0.000673333 0.00068 0.00068 0.000693333 0.000673333 +0.00068 0.000713333 0.00066 0.000646667 0.000666667 0.000673333 0.000666667 0.00066 +0.000673333 0.000713333 0.0007 0.000686667 0.000693333 0.0007 0.000673333 0.000673333 +0.0007 0.000713333 0.000706667 0.00068 0.00068 0.0007 0.000713333 0.0007 +0.000693333 0.00068 0.000673333 0.000686667 0.00072 0.000693333 0.000673333 0.000686667 +0.000693333 0.000686667 0.0007 0.0007 0.000686667 0.000673333 0.000673333 0.0007 +0.000693333 0.00068 0.000693333 0.000686667 0.000686667 0.000693333 0.000693333 0.00072 +0.000693333 0.000673333 0.000653333 0.00066 0.0007 0.00068 0.000666667 0.000673333 +0.00066 0.000653333 0.000673333 0.00068 0.000673333 0.00068 0.00068 0.000686667 +0.000686667 0.000666667 0.00068 0.00068 0.000686667 0.00068 0.000673333 0.000673333 +0.000666667 0.00068 0.00072 0.000686667 0.000673333 0.000666667 0.000666667 0.00068 +0.000673333 0.000693333 0.000686667 0.00066 0.000686667 0.000686667 0.000686667 0.000693333 +0.000666667 0.00066 0.000693333 0.0007 0.000713333 0.00068 0.000673333 0.000706667 +0.000706667 0.000653333 0.00068 0.0007 0.000686667 0.000673333 0.000713333 0.000686667 +0.000673333 0.00068 0.000673333 0.000666667 0.000706667 0.000726667 0.00068 0.000646667 +0.000693333 0.00068 0.0007 0.000706667 0.000706667 0.000673333 0.00066 0.00068 +0.00068 0.000686667 0.000693333 0.000693333 0.000713333 0.000686667 0.00064 0.00068 +0.000726667 0.000686667 0.000653333 0.000686667 0.000706667 0.000693333 0.000693333 0.0007 +0.0007 0.000686667 0.000673333 0.00068 0.0007 0.00072 0.00066 0.000673333 +0.000686667 0.000686667 0.000686667 0.000693333 0.000706667 0.00072 0.000686667 0.0007 +0.000706667 0.000673333 0.0007 0.000673333 0.000686667 0.000706667 0.000686667 0.00068 +0.0007 0.000706667 0.000693333 0.000693333 0.000693333 0.000666667 0.000666667 0.000666667 +0.000693333 0.000673333 0.000633333 0.00066 0.000726667 0.000713333 0.000666667 0.000686667 +0.000673333 0.00068 0.000686667 0.00068 0.000673333 0.000693333 0.000693333 0.000666667 +0.00066 0.000686667 0.000693333 0.00066 0.00064 0.000673333 0.000693333 0.000673333 +0.00064 0.000633333 0.000693333 0.00068 0.000653333 0.00066 0.00068 0.000666667 +0.00066 0.000666667 0.000673333 0.000673333 0.000666667 0.000686667 0.000673333 0.000653333 +0.000686667 0.000686667 0.000653333 0.00066 0.00068 0.000686667 0.00068 0.000686667 +0.00068 0.000666667 0.00066 0.000673333 0.000673333 0.00068 0.000693333 0.000673333 +0.000673333 0.000693333 0.00068 0.00068 0.000693333 0.000693333 0.000726667 0.000726667 +0.000686667 0.00068 0.000666667 0.000686667 0.000713333 0.000713333 0.000693333 0.000666667 +0.0007 0.000673333 0.000693333 0.00072 0.000713333 0.000726667 0.000733333 0.000673333 +0.000673333 0.000713333 0.000733333 0.00074 0.000713333 0.000693333 0.000693333 0.000706667 +0.000706667 0.000666667 0.00072 0.00074 0.000713333 0.000726667 0.000693333 0.000713333 +0.000733333 0.000713333 0.000706667 0.000726667 0.000726667 0.000746667 0.000693333 0.000693333 +0.00074 0.00072 0.000706667 0.000726667 0.00072 0.00072 0.00074 0.00074 +0.000733333 0.000706667 0.00072 0.000766667 0.000746667 0.000753333 0.000746667 0.000713333 +0.000726667 0.00072 0.00074 0.000746667 0.00074 0.000726667 0.00074 0.000746667 +0.000746667 0.00076 0.00076 0.000733333 0.000766667 0.000806667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000786667 0.000746667 0.00076 0.00078 0.000766667 0.000733333 0.000706667 +0.000713333 0.000733333 0.000753333 0.00076 0.000726667 0.00072 0.000746667 0.00076 +0.000753333 0.00074 0.00072 0.000726667 0.00074 0.00074 0.00074 0.000733333 +0.0007 0.000693333 0.00072 0.000746667 0.000746667 0.00074 0.00074 0.000746667 +0.00074 0.000713333 0.0007 0.00072 0.000713333 0.000713333 0.0007 0.000726667 +0.000766667 0.000753333 0.000726667 0.000726667 0.000733333 0.000746667 0.00074 0.00068 +0.0007 0.000713333 0.000713333 0.000733333 0.000713333 0.000693333 0.0007 0.000746667 +0.000746667 0.00072 0.00074 0.000753333 0.00074 0.0007 0.000693333 0.000713333 +0.000713333 0.000686667 0.000706667 0.000733333 0.000713333 0.00072 0.000733333 0.000713333 +0.0007 0.000693333 0.0007 0.000726667 0.000726667 0.000706667 0.00072 0.000713333 +0.00068 0.0007 0.000713333 0.0007 0.000666667 0.000673333 0.000693333 0.000713333 +0.000706667 0.000686667 0.000686667 0.000713333 0.0007 0.000686667 0.00068 0.000686667 +0.00068 0.000673333 0.000673333 0.00066 0.000653333 0.000693333 0.000706667 0.0007 +0.000686667 0.000673333 0.00068 0.00068 0.00068 0.000686667 0.000673333 0.000673333 +0.0007 0.00068 0.00066 0.000673333 0.000706667 0.0007 0.00068 0.000673333 +0.000646667 0.00066 0.00066 0.000646667 0.000653333 0.000666667 0.000686667 0.000673333 +0.000686667 0.000693333 0.000666667 0.000666667 0.00066 0.00068 0.0007 0.000673333 +0.000666667 0.0007 0.000706667 0.00066 0.00064 0.000646667 0.000653333 0.000666667 +0.00068 0.000686667 0.000713333 0.000693333 0.00068 0.000686667 0.000686667 0.000673333 +0.000686667 0.000713333 0.000706667 0.00068 0.000646667 0.000686667 0.00072 0.000713333 +0.000693333 0.000693333 0.000673333 0.00066 0.000693333 0.000686667 0.000686667 0.000706667 +0.000693333 0.000686667 0.000706667 0.000713333 0.000686667 0.00068 0.000686667 0.000713333 +0.0007 0.000673333 0.000693333 0.000693333 0.00068 0.000693333 0.0007 0.0007 +0.000666667 0.00066 0.00066 0.00066 0.0007 0.0007 0.00066 0.000666667 +0.000673333 0.000653333 0.000666667 0.00068 0.000673333 0.000673333 0.000673333 0.00068 +0.000693333 0.00068 0.00068 0.00068 0.000673333 0.000666667 0.000673333 0.000666667 +0.000673333 0.000673333 0.000706667 0.00068 0.000686667 0.00066 0.00066 0.000693333 +0.000666667 0.00068 0.0007 0.000646667 0.00068 0.000713333 0.000686667 0.000673333 +0.000666667 0.000646667 0.00068 0.0007 0.000713333 0.000693333 0.000673333 0.000706667 +0.000706667 0.000666667 0.00068 0.00068 0.00068 0.000673333 0.000706667 0.000686667 +0.000686667 0.000673333 0.00066 0.000653333 0.0007 0.000733333 0.0007 0.00064 +0.00068 0.000673333 0.000706667 0.000726667 0.000693333 0.000666667 0.00068 0.000666667 +0.00068 0.0007 0.000686667 0.000693333 0.000713333 0.000713333 0.000646667 0.000686667 +0.00072 0.000673333 0.00066 0.000713333 0.000713333 0.000713333 0.000693333 0.000686667 +0.000693333 0.000693333 0.000673333 0.000673333 0.000693333 0.00068 0.000666667 0.000693333 +0.00068 0.00068 0.000686667 0.000686667 0.000693333 0.000726667 0.00068 0.000693333 +0.000673333 0.000673333 0.00072 0.00068 0.000693333 0.00072 0.00066 0.00068 +0.000706667 0.0007 0.000673333 0.00068 0.000706667 0.000673333 0.00066 0.000673333 +0.0007 0.000646667 0.000626667 0.00068 0.00072 0.0007 0.000673333 0.000666667 +0.000673333 0.00068 0.000706667 0.000686667 0.000646667 0.00068 0.000673333 0.000673333 +0.000673333 0.0007 0.000693333 0.00066 0.000646667 0.000666667 0.00068 0.000666667 +0.000633333 0.000646667 0.000686667 0.000693333 0.000666667 0.000666667 0.000666667 0.00066 +0.000666667 0.000673333 0.000673333 0.000686667 0.00068 0.000666667 0.000646667 0.000686667 +0.0007 0.000673333 0.000653333 0.00068 0.000693333 0.000666667 0.000666667 0.000673333 +0.000686667 0.00066 0.000673333 0.000686667 0.00066 0.00068 0.0007 0.00068 +0.000673333 0.000666667 0.00068 0.0007 0.000693333 0.000686667 0.000733333 0.000726667 +0.000673333 0.000666667 0.000686667 0.0007 0.000706667 0.00072 0.000693333 0.00068 +0.000686667 0.000666667 0.000686667 0.000713333 0.000706667 0.000726667 0.0007 0.000666667 +0.000693333 0.000726667 0.000726667 0.0007 0.0007 0.000726667 0.000713333 0.000713333 +0.000686667 0.00068 0.000726667 0.00072 0.0007 0.000713333 0.000693333 0.000733333 +0.00072 0.000686667 0.000713333 0.000733333 0.000733333 0.000726667 0.000706667 0.0007 +0.000746667 0.000726667 0.000733333 0.00072 0.0007 0.000713333 0.000733333 0.000726667 +0.00072 0.000706667 0.00074 0.000766667 0.000753333 0.00074 0.00074 0.000733333 +0.000726667 0.00072 0.00072 0.00074 0.000733333 0.00074 0.000733333 0.000746667 +0.000746667 0.000753333 0.000773333 0.000746667 0.000766667 0.00078 0.000753333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00074 0.000766667 0.000753333 0.00074 0.000753333 0.000773333 0.00078 0.000753333 +0.00072 0.000713333 0.000726667 0.000746667 0.000753333 0.000726667 0.000726667 0.000753333 +0.00076 0.00074 0.000733333 0.000726667 0.000733333 0.000746667 0.000753333 0.00074 +0.000706667 0.00072 0.000733333 0.000733333 0.000726667 0.000706667 0.000733333 0.000746667 +0.000733333 0.00072 0.00072 0.000733333 0.000706667 0.000706667 0.000706667 0.0007 +0.000746667 0.000766667 0.000733333 0.000713333 0.000713333 0.00072 0.00074 0.000706667 +0.000706667 0.00072 0.000726667 0.000726667 0.000726667 0.000713333 0.0007 0.000713333 +0.000726667 0.000733333 0.000733333 0.00074 0.000753333 0.0007 0.0007 0.000706667 +0.00072 0.000713333 0.000706667 0.00072 0.000713333 0.000726667 0.00072 0.000706667 +0.000713333 0.000686667 0.0007 0.000713333 0.00072 0.000713333 0.000706667 0.000733333 +0.0007 0.000693333 0.000706667 0.00072 0.000686667 0.000653333 0.000666667 0.000686667 +0.0007 0.0007 0.000686667 0.0007 0.000686667 0.000706667 0.000706667 0.000686667 +0.000666667 0.000673333 0.000673333 0.00066 0.00066 0.0007 0.000706667 0.000693333 +0.000693333 0.00068 0.000673333 0.000673333 0.000686667 0.000666667 0.000666667 0.000673333 +0.0007 0.000686667 0.00066 0.00066 0.000673333 0.000693333 0.00068 0.00068 +0.000653333 0.000633333 0.000646667 0.000673333 0.000646667 0.00066 0.000693333 0.000686667 +0.000693333 0.000686667 0.00068 0.000666667 0.000646667 0.000673333 0.00068 0.00068 +0.000666667 0.00066 0.00072 0.000686667 0.00064 0.000646667 0.000653333 0.000673333 +0.000686667 0.000686667 0.000706667 0.0007 0.000693333 0.000686667 0.000686667 0.00068 +0.000686667 0.000693333 0.0007 0.00068 0.00066 0.000673333 0.000706667 0.0007 +0.000706667 0.000713333 0.000693333 0.00066 0.00068 0.000686667 0.0007 0.000713333 +0.000713333 0.000686667 0.000693333 0.000706667 0.0007 0.000693333 0.000686667 0.000693333 +0.0007 0.00068 0.000673333 0.000693333 0.00068 0.000693333 0.000706667 0.000693333 +0.00068 0.00066 0.00068 0.00068 0.000686667 0.0007 0.00068 0.000673333 +0.000686667 0.000653333 0.000653333 0.000686667 0.000693333 0.000673333 0.000673333 0.000666667 +0.000693333 0.000686667 0.000673333 0.000673333 0.000666667 0.000666667 0.000666667 0.000666667 +0.000686667 0.00068 0.000686667 0.000673333 0.000693333 0.000673333 0.000666667 0.000686667 +0.000673333 0.000693333 0.000706667 0.00066 0.000686667 0.000706667 0.000686667 0.00068 +0.00068 0.000666667 0.000686667 0.000713333 0.000693333 0.0007 0.000693333 0.000693333 +0.0007 0.000666667 0.000686667 0.00068 0.00068 0.000686667 0.0007 0.00068 +0.000673333 0.00066 0.00066 0.000666667 0.000693333 0.000713333 0.000713333 0.00064 +0.000653333 0.00068 0.000706667 0.000706667 0.000686667 0.000673333 0.000686667 0.000673333 +0.000686667 0.000706667 0.000693333 0.0007 0.000713333 0.000693333 0.000673333 0.0007 +0.0007 0.000666667 0.000666667 0.0007 0.000706667 0.00072 0.000693333 0.000693333 +0.000693333 0.000693333 0.00068 0.00068 0.000693333 0.000666667 0.000666667 0.0007 +0.000686667 0.000686667 0.00066 0.000666667 0.000706667 0.000713333 0.000666667 0.0007 +0.000686667 0.00068 0.000713333 0.000693333 0.000706667 0.0007 0.000673333 0.000706667 +0.00072 0.00068 0.000653333 0.000686667 0.000706667 0.000673333 0.00066 0.000686667 +0.000693333 0.00064 0.00066 0.000693333 0.000706667 0.00068 0.00068 0.000646667 +0.000646667 0.00068 0.000706667 0.000693333 0.000633333 0.00068 0.000686667 0.000673333 +0.000673333 0.000686667 0.000673333 0.000666667 0.00066 0.00066 0.000653333 0.000666667 +0.000653333 0.00066 0.00068 0.000693333 0.000653333 0.000646667 0.00066 0.000666667 +0.00066 0.000673333 0.000686667 0.000693333 0.000666667 0.000633333 0.000646667 0.000713333 +0.00068 0.00066 0.000673333 0.00068 0.000666667 0.000653333 0.000653333 0.000666667 +0.000686667 0.00068 0.00068 0.00068 0.00066 0.000686667 0.000693333 0.00068 +0.000673333 0.000673333 0.000673333 0.000686667 0.000686667 0.0007 0.00072 0.0007 +0.000666667 0.00068 0.000706667 0.0007 0.00072 0.000733333 0.000706667 0.000686667 +0.000666667 0.000686667 0.000693333 0.00072 0.000706667 0.000726667 0.000693333 0.000706667 +0.0007 0.0007 0.000706667 0.000713333 0.000713333 0.000726667 0.000706667 0.000706667 +0.000686667 0.0007 0.000686667 0.000706667 0.000713333 0.000706667 0.000713333 0.000733333 +0.000706667 0.000693333 0.000733333 0.000733333 0.000726667 0.0007 0.00072 0.000693333 +0.000726667 0.000733333 0.00074 0.000713333 0.000726667 0.000713333 0.000726667 0.00072 +0.00072 0.000733333 0.000753333 0.000773333 0.00074 0.00072 0.000746667 0.000733333 +0.000713333 0.00074 0.00074 0.000746667 0.00074 0.000726667 0.000726667 0.000766667 +0.000753333 0.000753333 0.000773333 0.000766667 0.00076 0.000733333 0.000746667 0.000786667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 +0.000733333 0.000726667 0.000746667 0.000766667 0.00074 0.000726667 0.000746667 0.000773333 +0.000746667 0.000746667 0.000733333 0.0007 0.000726667 0.00076 0.00074 0.000733333 +0.00074 0.00074 0.00074 0.000733333 0.000733333 0.00074 0.000733333 0.000746667 +0.000726667 0.00072 0.000733333 0.00074 0.00072 0.000686667 0.000713333 0.000726667 +0.00074 0.00074 0.000726667 0.000733333 0.00072 0.0007 0.000693333 0.000706667 +0.0007 0.000726667 0.00074 0.00074 0.00072 0.000706667 0.000706667 0.000726667 +0.00074 0.000733333 0.000733333 0.000713333 0.000713333 0.00072 0.000726667 0.000693333 +0.00068 0.00072 0.000726667 0.000726667 0.00076 0.000726667 0.0007 0.000706667 +0.00072 0.000733333 0.000726667 0.00072 0.00072 0.000726667 0.000713333 0.00068 +0.000706667 0.0007 0.0007 0.000706667 0.00072 0.000726667 0.000706667 0.000726667 +0.000733333 0.00072 0.000693333 0.000693333 0.0007 0.000686667 0.000666667 0.000686667 +0.0007 0.0007 0.0007 0.0007 0.00068 0.000686667 0.00072 0.00072 +0.00068 0.00066 0.000666667 0.000653333 0.000666667 0.000686667 0.000706667 0.000693333 +0.000693333 0.000706667 0.00068 0.000666667 0.00068 0.00066 0.000666667 0.000673333 +0.000686667 0.000693333 0.000673333 0.000666667 0.000646667 0.00068 0.000693333 0.000673333 +0.000666667 0.00064 0.000633333 0.000666667 0.000666667 0.000666667 0.00068 0.000686667 +0.0007 0.000673333 0.000673333 0.000686667 0.000673333 0.000673333 0.000673333 0.000673333 +0.000673333 0.000653333 0.000713333 0.00072 0.000673333 0.00066 0.00066 0.00066 +0.00068 0.0007 0.000693333 0.000686667 0.000686667 0.0007 0.000686667 0.000673333 +0.000673333 0.000673333 0.000673333 0.000693333 0.000693333 0.000673333 0.000686667 0.000686667 +0.000706667 0.000726667 0.00072 0.000686667 0.000666667 0.000673333 0.000693333 0.000686667 +0.000706667 0.000706667 0.00068 0.00068 0.000693333 0.000693333 0.000673333 0.000666667 +0.000693333 0.000686667 0.000686667 0.000686667 0.00068 0.000693333 0.000693333 0.00068 +0.000686667 0.000666667 0.000673333 0.00068 0.00066 0.000673333 0.000686667 0.00068 +0.000693333 0.000653333 0.000646667 0.000666667 0.000693333 0.000686667 0.000686667 0.000666667 +0.000673333 0.000673333 0.00068 0.000686667 0.000673333 0.000673333 0.00068 0.000673333 +0.000693333 0.000673333 0.00068 0.00068 0.000673333 0.00068 0.00068 0.000666667 +0.000666667 0.000693333 0.00072 0.00068 0.00068 0.0007 0.00068 0.000686667 +0.000673333 0.000666667 0.000706667 0.00072 0.000686667 0.000686667 0.000706667 0.0007 +0.00068 0.000666667 0.000713333 0.000706667 0.000686667 0.0007 0.000706667 0.00068 +0.000666667 0.000653333 0.00068 0.00068 0.0007 0.00072 0.000706667 0.00064 +0.00066 0.0007 0.000693333 0.000686667 0.000693333 0.000673333 0.000666667 0.000686667 +0.0007 0.000706667 0.0007 0.000706667 0.0007 0.000673333 0.000666667 0.000713333 +0.0007 0.000673333 0.000666667 0.00068 0.000686667 0.0007 0.00068 0.000673333 +0.000686667 0.000673333 0.000686667 0.0007 0.000706667 0.000666667 0.00066 0.0007 +0.000713333 0.000686667 0.000633333 0.00068 0.000733333 0.0007 0.000673333 0.00072 +0.000693333 0.00068 0.000686667 0.000686667 0.000693333 0.00068 0.00068 0.000706667 +0.000706667 0.000673333 0.000653333 0.000686667 0.000673333 0.000673333 0.000673333 0.000686667 +0.000673333 0.00064 0.00068 0.000686667 0.000706667 0.0007 0.000706667 0.00064 +0.00064 0.000686667 0.00072 0.000673333 0.000646667 0.000673333 0.000693333 0.000686667 +0.000666667 0.000666667 0.000653333 0.00066 0.00066 0.000653333 0.000653333 0.00064 +0.000646667 0.00068 0.000686667 0.00066 0.000653333 0.00066 0.000666667 0.000666667 +0.00066 0.00068 0.000693333 0.00068 0.000653333 0.000646667 0.000653333 0.000693333 +0.000673333 0.000673333 0.000666667 0.00066 0.000673333 0.000666667 0.000653333 0.00066 +0.00068 0.000686667 0.000666667 0.000673333 0.00068 0.000693333 0.000686667 0.00068 +0.00068 0.000673333 0.000666667 0.000673333 0.000693333 0.000706667 0.0007 0.000693333 +0.000686667 0.000686667 0.0007 0.000713333 0.000713333 0.000726667 0.000706667 0.00068 +0.00068 0.0007 0.0007 0.000713333 0.000693333 0.000706667 0.000706667 0.00072 +0.000686667 0.000686667 0.000713333 0.000713333 0.000726667 0.000713333 0.000713333 0.0007 +0.000686667 0.000686667 0.00068 0.000726667 0.00072 0.000706667 0.00072 0.0007 +0.0007 0.000713333 0.00074 0.00072 0.000706667 0.000693333 0.000726667 0.000706667 +0.000706667 0.000726667 0.00072 0.000713333 0.00074 0.000713333 0.00074 0.00072 +0.000726667 0.00074 0.000753333 0.000766667 0.000726667 0.00074 0.000746667 0.000726667 +0.0007 0.00076 0.000746667 0.00074 0.00074 0.00074 0.000753333 0.000766667 +0.000746667 0.000773333 0.000766667 0.000753333 0.00074 0.000746667 0.000753333 0.000766667 +0.000753333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000746667 0.000753333 +0.00074 0.000726667 0.000733333 0.000733333 0.000726667 0.00076 0.00074 0.000753333 +0.000753333 0.00074 0.000746667 0.000726667 0.000693333 0.000733333 0.000753333 0.00074 +0.000726667 0.000733333 0.000733333 0.000733333 0.000746667 0.00074 0.00072 0.00072 +0.000726667 0.00072 0.000726667 0.000746667 0.000713333 0.000686667 0.000706667 0.000713333 +0.000726667 0.000726667 0.000726667 0.000746667 0.000753333 0.00074 0.000686667 0.000693333 +0.000713333 0.000706667 0.00072 0.000726667 0.000726667 0.000726667 0.000713333 0.00072 +0.000733333 0.000726667 0.000726667 0.000713333 0.00072 0.000706667 0.000726667 0.00072 +0.000673333 0.000666667 0.0007 0.000726667 0.000753333 0.000746667 0.000726667 0.000706667 +0.000686667 0.000706667 0.000726667 0.00072 0.000726667 0.00072 0.00072 0.000713333 +0.0007 0.000706667 0.0007 0.0007 0.000706667 0.000706667 0.000713333 0.0007 +0.000733333 0.00074 0.000706667 0.00068 0.000693333 0.000713333 0.000686667 0.00068 +0.000686667 0.000686667 0.000706667 0.000693333 0.000686667 0.000686667 0.0007 0.000733333 +0.000706667 0.00066 0.000646667 0.00064 0.000666667 0.000666667 0.00068 0.000686667 +0.000686667 0.0007 0.000686667 0.000666667 0.00068 0.00068 0.000673333 0.00068 +0.000666667 0.000666667 0.000673333 0.000686667 0.000666667 0.000653333 0.00068 0.000666667 +0.00066 0.000653333 0.00064 0.00064 0.000673333 0.000693333 0.000666667 0.000666667 +0.00068 0.000686667 0.000673333 0.000686667 0.000693333 0.00066 0.000673333 0.000666667 +0.000666667 0.000666667 0.000693333 0.00072 0.00068 0.000666667 0.00066 0.000646667 +0.000666667 0.000706667 0.000686667 0.0007 0.000673333 0.000686667 0.00072 0.000693333 +0.000653333 0.000653333 0.000673333 0.000706667 0.000713333 0.000686667 0.000673333 0.000673333 +0.000686667 0.000713333 0.00072 0.000686667 0.00068 0.000673333 0.000693333 0.000686667 +0.000686667 0.000706667 0.000686667 0.000673333 0.000693333 0.0007 0.000693333 0.00068 +0.000693333 0.000686667 0.000693333 0.00068 0.00066 0.000686667 0.000706667 0.0007 +0.0007 0.000666667 0.00066 0.000653333 0.000673333 0.000673333 0.00068 0.000666667 +0.000693333 0.000666667 0.00066 0.000673333 0.00068 0.000686667 0.00068 0.000673333 +0.000666667 0.000666667 0.000693333 0.000686667 0.000673333 0.000686667 0.000686667 0.00068 +0.000693333 0.00066 0.000673333 0.00068 0.000673333 0.00068 0.000693333 0.000666667 +0.000666667 0.000693333 0.000713333 0.000666667 0.000666667 0.0007 0.000686667 0.000673333 +0.000666667 0.000666667 0.000693333 0.0007 0.000706667 0.0007 0.00068 0.000686667 +0.00066 0.000646667 0.000713333 0.000713333 0.00066 0.0007 0.000726667 0.000673333 +0.000666667 0.000666667 0.000673333 0.000666667 0.000713333 0.00072 0.000693333 0.000646667 +0.000673333 0.0007 0.0007 0.000693333 0.00068 0.00066 0.000666667 0.000693333 +0.000706667 0.000706667 0.000686667 0.00068 0.000686667 0.000673333 0.000653333 0.0007 +0.00072 0.000693333 0.000686667 0.000693333 0.00068 0.000673333 0.000673333 0.000673333 +0.000693333 0.000673333 0.00068 0.0007 0.000706667 0.000666667 0.00066 0.0007 +0.000706667 0.00068 0.00064 0.000686667 0.000733333 0.000693333 0.000693333 0.000706667 +0.000666667 0.000686667 0.00068 0.00068 0.0007 0.000686667 0.000673333 0.0007 +0.000706667 0.000686667 0.00066 0.00068 0.00066 0.00068 0.000686667 0.000686667 +0.00066 0.00066 0.000686667 0.000693333 0.000713333 0.0007 0.00068 0.00064 +0.00066 0.000693333 0.000713333 0.00068 0.000673333 0.00066 0.000673333 0.0007 +0.000673333 0.000673333 0.000653333 0.000653333 0.000673333 0.000673333 0.000673333 0.000646667 +0.000653333 0.00072 0.00068 0.000626667 0.000673333 0.000673333 0.00068 0.000673333 +0.000666667 0.000686667 0.00068 0.00066 0.00066 0.000666667 0.000666667 0.000673333 +0.000693333 0.00066 0.000633333 0.000653333 0.000686667 0.000673333 0.000666667 0.00068 +0.000686667 0.000666667 0.000646667 0.00068 0.000706667 0.000693333 0.00068 0.000693333 +0.00068 0.000653333 0.000666667 0.000693333 0.000706667 0.0007 0.000673333 0.0007 +0.0007 0.000686667 0.000706667 0.00072 0.000706667 0.000733333 0.000706667 0.000686667 +0.000686667 0.000713333 0.000706667 0.000693333 0.000686667 0.000686667 0.000726667 0.000713333 +0.000693333 0.000706667 0.000706667 0.000693333 0.000713333 0.000713333 0.000713333 0.00068 +0.000686667 0.000693333 0.000713333 0.000733333 0.000706667 0.000686667 0.00072 0.000713333 +0.000733333 0.000733333 0.000706667 0.000706667 0.000713333 0.000706667 0.000726667 0.000706667 +0.000706667 0.00074 0.000726667 0.000726667 0.000713333 0.000706667 0.000733333 0.000733333 +0.00072 0.00074 0.00074 0.000733333 0.000733333 0.000773333 0.00074 0.000726667 +0.000726667 0.000753333 0.000726667 0.000726667 0.00074 0.00074 0.000766667 0.00076 +0.000753333 0.000766667 0.000746667 0.000753333 0.00074 0.00076 0.00074 0.000713333 +0.000706667 0.000753333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000806667 0.000766667 0.000713333 +0.000726667 0.000753333 0.000753333 0.00074 0.000726667 0.00076 0.000753333 0.000746667 +0.000733333 0.000726667 0.000746667 0.00076 0.000733333 0.00072 0.000733333 0.00074 +0.000713333 0.000713333 0.000726667 0.000726667 0.000726667 0.000733333 0.000746667 0.00074 +0.000726667 0.00072 0.0007 0.000733333 0.000733333 0.00072 0.000706667 0.000713333 +0.000713333 0.0007 0.000733333 0.000753333 0.000733333 0.00074 0.00072 0.000706667 +0.00072 0.000713333 0.000706667 0.000713333 0.000733333 0.000753333 0.00074 0.00072 +0.000713333 0.00072 0.00072 0.000726667 0.000733333 0.000726667 0.000726667 0.00072 +0.000706667 0.000686667 0.000686667 0.0007 0.00072 0.000733333 0.000746667 0.000733333 +0.0007 0.000706667 0.00072 0.000706667 0.000733333 0.00072 0.00072 0.000726667 +0.000706667 0.000713333 0.0007 0.000673333 0.000686667 0.000686667 0.000713333 0.00068 +0.0007 0.000733333 0.00072 0.0007 0.00068 0.000693333 0.000686667 0.00068 +0.00068 0.00068 0.0007 0.00068 0.00068 0.00068 0.000693333 0.0007 +0.000706667 0.000686667 0.000646667 0.000653333 0.000673333 0.000666667 0.00066 0.00066 +0.000686667 0.000706667 0.0007 0.000686667 0.000686667 0.000686667 0.00066 0.00068 +0.000666667 0.000646667 0.00068 0.0007 0.000686667 0.000653333 0.00066 0.000673333 +0.00066 0.00066 0.000653333 0.00064 0.000666667 0.00068 0.00068 0.000693333 +0.000666667 0.000673333 0.000673333 0.000673333 0.0007 0.00068 0.00068 0.00068 +0.00066 0.000673333 0.000686667 0.000706667 0.000666667 0.000686667 0.0007 0.00066 +0.000653333 0.00068 0.00068 0.0007 0.000686667 0.000666667 0.000706667 0.00074 +0.00068 0.00064 0.000666667 0.000693333 0.0007 0.000693333 0.00068 0.00066 +0.000673333 0.0007 0.0007 0.000713333 0.0007 0.000686667 0.000686667 0.000693333 +0.00068 0.000693333 0.000693333 0.000693333 0.000686667 0.00068 0.0007 0.00068 +0.000693333 0.000693333 0.00068 0.000686667 0.000666667 0.00066 0.000706667 0.000713333 +0.000713333 0.00068 0.000646667 0.00064 0.00068 0.0007 0.000686667 0.000653333 +0.000666667 0.000666667 0.000666667 0.000673333 0.00066 0.000693333 0.000673333 0.00066 +0.000673333 0.00066 0.00068 0.00068 0.000673333 0.00068 0.00068 0.00066 +0.000673333 0.000653333 0.00066 0.000693333 0.000686667 0.000673333 0.00068 0.000686667 +0.000666667 0.00068 0.000706667 0.000666667 0.00066 0.000686667 0.000686667 0.00066 +0.000673333 0.000686667 0.000686667 0.000693333 0.0007 0.000706667 0.000686667 0.000686667 +0.00068 0.000653333 0.000693333 0.000713333 0.000673333 0.00068 0.000726667 0.00068 +0.000646667 0.000666667 0.000666667 0.00068 0.00072 0.0007 0.000686667 0.00064 +0.000666667 0.000686667 0.0007 0.000693333 0.00066 0.000653333 0.00068 0.0007 +0.000693333 0.000726667 0.000693333 0.00068 0.0007 0.000673333 0.000646667 0.000706667 +0.000713333 0.000673333 0.000693333 0.0007 0.00068 0.000666667 0.00068 0.000693333 +0.000706667 0.00068 0.000673333 0.0007 0.000713333 0.00066 0.000673333 0.00068 +0.000693333 0.000706667 0.000673333 0.0007 0.000706667 0.000666667 0.000686667 0.00068 +0.000666667 0.000686667 0.000686667 0.00068 0.000693333 0.000686667 0.00068 0.0007 +0.000713333 0.000693333 0.000673333 0.000666667 0.000653333 0.00068 0.000693333 0.000713333 +0.00066 0.000666667 0.000673333 0.00072 0.000733333 0.00068 0.000653333 0.000633333 +0.00066 0.000673333 0.000693333 0.000686667 0.000693333 0.00066 0.000666667 0.000693333 +0.000686667 0.000673333 0.000646667 0.000653333 0.00068 0.00068 0.00066 0.000653333 +0.000693333 0.000726667 0.00066 0.000633333 0.000673333 0.000666667 0.000693333 0.000686667 +0.00068 0.000686667 0.00066 0.00066 0.000673333 0.000653333 0.000653333 0.000666667 +0.00068 0.000646667 0.000633333 0.000666667 0.000673333 0.00068 0.00068 0.000693333 +0.000673333 0.000653333 0.000666667 0.000666667 0.000706667 0.000686667 0.000666667 0.000686667 +0.000673333 0.000666667 0.000693333 0.000713333 0.000706667 0.000673333 0.000666667 0.000693333 +0.00068 0.00068 0.00072 0.000733333 0.000713333 0.000713333 0.000706667 0.000686667 +0.000693333 0.000706667 0.000706667 0.0007 0.000706667 0.0007 0.000726667 0.000706667 +0.000713333 0.000706667 0.00068 0.00068 0.00072 0.00072 0.000693333 0.000673333 +0.000706667 0.000713333 0.000713333 0.00072 0.000706667 0.0007 0.000713333 0.00072 +0.000753333 0.000733333 0.000693333 0.0007 0.000713333 0.000733333 0.000713333 0.0007 +0.000706667 0.00074 0.00074 0.000726667 0.0007 0.000713333 0.000713333 0.000726667 +0.00072 0.000753333 0.000726667 0.00074 0.000753333 0.00076 0.000733333 0.000753333 +0.000746667 0.00074 0.000726667 0.000726667 0.000733333 0.000733333 0.000753333 0.000766667 +0.000766667 0.00074 0.00074 0.00078 0.000753333 0.00074 0.000733333 0.00072 +0.000746667 0.000773333 0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.00074 0.000753333 0.000766667 0.000733333 +0.000726667 0.000726667 0.000733333 0.00076 0.00076 0.00074 0.000753333 0.000753333 +0.00072 0.000713333 0.000746667 0.00076 0.000753333 0.000726667 0.00072 0.00072 +0.000733333 0.000726667 0.00072 0.000726667 0.00072 0.000706667 0.00074 0.000746667 +0.000733333 0.000733333 0.000706667 0.00072 0.000733333 0.000746667 0.000726667 0.000706667 +0.000693333 0.000686667 0.000713333 0.00074 0.000733333 0.000733333 0.00072 0.00072 +0.000726667 0.000726667 0.00072 0.000706667 0.000713333 0.000746667 0.000733333 0.00072 +0.00072 0.000713333 0.000706667 0.00072 0.00074 0.000733333 0.000726667 0.000713333 +0.0007 0.000706667 0.000713333 0.00072 0.000706667 0.000693333 0.000726667 0.00074 +0.000726667 0.00072 0.000726667 0.000726667 0.000733333 0.000706667 0.000706667 0.000713333 +0.0007 0.0007 0.000713333 0.000686667 0.000673333 0.000673333 0.000713333 0.000693333 +0.000693333 0.000713333 0.000726667 0.00072 0.0007 0.000686667 0.000686667 0.000686667 +0.000686667 0.000693333 0.000706667 0.00068 0.000673333 0.000673333 0.0007 0.00068 +0.000686667 0.000713333 0.000686667 0.000686667 0.00068 0.000666667 0.000666667 0.000673333 +0.000693333 0.000706667 0.000706667 0.000686667 0.000673333 0.000673333 0.00068 0.000673333 +0.00068 0.000653333 0.00068 0.000693333 0.000686667 0.000666667 0.000646667 0.000653333 +0.000666667 0.000673333 0.000666667 0.000653333 0.000653333 0.00066 0.00068 0.000706667 +0.000686667 0.000673333 0.000673333 0.00068 0.00068 0.000686667 0.00068 0.000693333 +0.00068 0.00068 0.000693333 0.000686667 0.00066 0.000673333 0.000693333 0.000686667 +0.000653333 0.000646667 0.000666667 0.000673333 0.0007 0.000693333 0.00068 0.00072 +0.000693333 0.000646667 0.000646667 0.00068 0.000693333 0.00068 0.000686667 0.000666667 +0.000666667 0.000686667 0.000706667 0.000726667 0.000713333 0.000693333 0.000686667 0.000686667 +0.00068 0.000693333 0.000693333 0.0007 0.000693333 0.000673333 0.00068 0.000686667 +0.000706667 0.000706667 0.00068 0.0007 0.000686667 0.00066 0.000673333 0.000693333 +0.000713333 0.000673333 0.00066 0.000646667 0.000666667 0.000686667 0.000693333 0.00066 +0.00066 0.00066 0.00066 0.000666667 0.000673333 0.0007 0.000666667 0.000666667 +0.000666667 0.000653333 0.00066 0.000693333 0.000686667 0.000673333 0.000673333 0.000633333 +0.000673333 0.00066 0.00066 0.000693333 0.00068 0.00066 0.000673333 0.00068 +0.000666667 0.000673333 0.000693333 0.00068 0.000673333 0.000693333 0.00068 0.000666667 +0.000673333 0.000673333 0.00068 0.00068 0.000653333 0.000693333 0.00072 0.000706667 +0.000693333 0.000666667 0.00068 0.000686667 0.000686667 0.000666667 0.000713333 0.000706667 +0.00066 0.00066 0.00066 0.00068 0.000706667 0.0007 0.000686667 0.00066 +0.000646667 0.00068 0.000706667 0.00068 0.000653333 0.000666667 0.00068 0.00068 +0.00068 0.000706667 0.000686667 0.000693333 0.00072 0.000673333 0.000646667 0.000713333 +0.000706667 0.00066 0.00068 0.000693333 0.000673333 0.000673333 0.000686667 0.0007 +0.0007 0.000686667 0.000673333 0.000693333 0.0007 0.00068 0.000693333 0.000666667 +0.000686667 0.000706667 0.00068 0.000706667 0.000693333 0.00066 0.000673333 0.000686667 +0.00068 0.00068 0.000686667 0.000693333 0.000693333 0.00068 0.0007 0.0007 +0.000693333 0.000666667 0.000653333 0.000666667 0.00066 0.00068 0.000693333 0.000713333 +0.00066 0.00066 0.00066 0.000706667 0.000726667 0.000686667 0.000653333 0.00066 +0.000673333 0.000666667 0.000666667 0.000693333 0.000686667 0.000653333 0.000666667 0.00068 +0.000693333 0.00068 0.000646667 0.000646667 0.00066 0.000666667 0.000646667 0.000653333 +0.000686667 0.000693333 0.000653333 0.000653333 0.000653333 0.000673333 0.000706667 0.000693333 +0.000686667 0.00066 0.00066 0.000673333 0.000653333 0.00066 0.000673333 0.00066 +0.000653333 0.000653333 0.000653333 0.00066 0.000673333 0.00068 0.000693333 0.000693333 +0.00064 0.00066 0.000673333 0.000666667 0.0007 0.00068 0.000653333 0.000673333 +0.000686667 0.000686667 0.0007 0.0007 0.000693333 0.00068 0.00068 0.00068 +0.00068 0.000693333 0.000726667 0.00072 0.000706667 0.000713333 0.000706667 0.00068 +0.000693333 0.000686667 0.000693333 0.000713333 0.00072 0.000713333 0.00072 0.00072 +0.000713333 0.00068 0.000673333 0.000693333 0.000706667 0.000693333 0.000693333 0.000706667 +0.00072 0.000706667 0.000693333 0.000706667 0.000713333 0.000706667 0.000686667 0.000733333 +0.000746667 0.00072 0.000693333 0.000713333 0.00072 0.000726667 0.0007 0.000733333 +0.000713333 0.000733333 0.000753333 0.0007 0.0007 0.000726667 0.000706667 0.000733333 +0.000733333 0.000746667 0.000733333 0.00076 0.000733333 0.000726667 0.00074 0.000753333 +0.00074 0.00072 0.000733333 0.000726667 0.000746667 0.000753333 0.000746667 0.000766667 +0.000726667 0.000726667 0.00076 0.000766667 0.000746667 0.000726667 0.00074 0.000766667 +0.000786667 0.000753333 0.00072 0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00076 0.000733333 0.000713333 0.000733333 0.00076 +0.000746667 0.000733333 0.000733333 0.000726667 0.000746667 0.000733333 0.00074 0.00076 +0.00074 0.00072 0.000726667 0.00074 0.000746667 0.000733333 0.000726667 0.000726667 +0.000726667 0.000733333 0.000726667 0.000733333 0.000733333 0.000713333 0.000713333 0.00072 +0.00074 0.000753333 0.00072 0.000713333 0.000713333 0.00072 0.000726667 0.00072 +0.000713333 0.000713333 0.000706667 0.000706667 0.000733333 0.000746667 0.00072 0.00072 +0.000733333 0.000726667 0.000733333 0.000726667 0.0007 0.000693333 0.000706667 0.000706667 +0.000713333 0.00072 0.000706667 0.000713333 0.000726667 0.000746667 0.000746667 0.000726667 +0.000693333 0.000693333 0.000713333 0.000726667 0.000726667 0.0007 0.00072 0.000733333 +0.000713333 0.000713333 0.000713333 0.000733333 0.00074 0.000706667 0.0007 0.000706667 +0.000713333 0.0007 0.000713333 0.000713333 0.000693333 0.0007 0.000706667 0.0007 +0.0007 0.000693333 0.000713333 0.00072 0.00072 0.0007 0.000686667 0.000693333 +0.000673333 0.000693333 0.0007 0.0007 0.000686667 0.000673333 0.000673333 0.00066 +0.000673333 0.000693333 0.00068 0.0007 0.000706667 0.000666667 0.000633333 0.00068 +0.000706667 0.000686667 0.000673333 0.000686667 0.000666667 0.00066 0.00068 0.000673333 +0.00068 0.000673333 0.000673333 0.000686667 0.00068 0.00068 0.000646667 0.000626667 +0.000646667 0.00068 0.000673333 0.00068 0.000653333 0.00064 0.000673333 0.000686667 +0.000693333 0.000693333 0.000673333 0.000666667 0.00066 0.00068 0.000673333 0.000673333 +0.0007 0.000686667 0.00068 0.00066 0.000673333 0.000673333 0.000673333 0.000693333 +0.00068 0.000646667 0.00066 0.00066 0.000686667 0.000693333 0.000686667 0.00068 +0.000673333 0.000673333 0.000666667 0.00068 0.000706667 0.000686667 0.00068 0.00068 +0.000653333 0.00066 0.000726667 0.00072 0.000693333 0.000706667 0.000693333 0.000686667 +0.000653333 0.000666667 0.0007 0.000706667 0.000706667 0.000706667 0.000686667 0.000686667 +0.0007 0.000706667 0.000706667 0.000706667 0.000686667 0.000653333 0.00066 0.00068 +0.00072 0.000686667 0.00066 0.000666667 0.00066 0.00066 0.000686667 0.00066 +0.000666667 0.000666667 0.00064 0.000666667 0.00066 0.000666667 0.000666667 0.00068 +0.000673333 0.000633333 0.00066 0.000693333 0.000693333 0.00068 0.00068 0.00066 +0.000666667 0.000673333 0.000666667 0.000673333 0.000673333 0.000666667 0.000686667 0.00068 +0.00066 0.000673333 0.000686667 0.000686667 0.000686667 0.0007 0.00068 0.000673333 +0.00066 0.000653333 0.00068 0.00068 0.000646667 0.000693333 0.000713333 0.0007 +0.000693333 0.000673333 0.00068 0.000666667 0.00068 0.000673333 0.000713333 0.000706667 +0.00068 0.000653333 0.000646667 0.00068 0.000693333 0.000686667 0.000693333 0.000666667 +0.00066 0.000693333 0.000713333 0.000686667 0.000673333 0.000673333 0.00066 0.000666667 +0.00068 0.000686667 0.000673333 0.000706667 0.000706667 0.00068 0.000673333 0.0007 +0.000686667 0.00066 0.000686667 0.000686667 0.000673333 0.00068 0.0007 0.00072 +0.0007 0.000686667 0.000673333 0.000686667 0.000686667 0.000666667 0.0007 0.000686667 +0.000693333 0.00068 0.00066 0.0007 0.000693333 0.000673333 0.000686667 0.000706667 +0.000666667 0.000666667 0.000693333 0.000713333 0.0007 0.000673333 0.0007 0.000706667 +0.000693333 0.000666667 0.000653333 0.00066 0.00064 0.000673333 0.0007 0.000693333 +0.000646667 0.000666667 0.00068 0.000686667 0.000706667 0.000693333 0.000653333 0.000673333 +0.00068 0.000673333 0.000666667 0.000693333 0.000673333 0.00064 0.00068 0.000673333 +0.000693333 0.000706667 0.00066 0.000653333 0.000646667 0.000673333 0.00066 0.000653333 +0.000673333 0.000686667 0.000666667 0.000653333 0.000633333 0.000673333 0.000706667 0.000693333 +0.000673333 0.000653333 0.000653333 0.000646667 0.00064 0.000686667 0.00068 0.000653333 +0.000646667 0.00066 0.000646667 0.000653333 0.000666667 0.000673333 0.0007 0.00068 +0.000646667 0.00066 0.00066 0.000666667 0.000686667 0.000666667 0.000653333 0.000673333 +0.000693333 0.000693333 0.000686667 0.000686667 0.000693333 0.000673333 0.000673333 0.000673333 +0.000693333 0.000713333 0.000713333 0.000706667 0.0007 0.0007 0.000686667 0.000686667 +0.0007 0.0007 0.00068 0.000686667 0.000713333 0.000713333 0.000733333 0.000733333 +0.00068 0.000673333 0.000686667 0.000686667 0.00068 0.000693333 0.00072 0.000733333 +0.000713333 0.000673333 0.000686667 0.000713333 0.00072 0.000713333 0.000693333 0.000746667 +0.000713333 0.0007 0.000713333 0.000713333 0.000733333 0.000713333 0.000706667 0.000753333 +0.00072 0.000726667 0.00072 0.000693333 0.00072 0.000726667 0.000713333 0.000746667 +0.000753333 0.000746667 0.000726667 0.00074 0.000706667 0.000726667 0.00074 0.000733333 +0.00072 0.0007 0.00074 0.000733333 0.000766667 0.000753333 0.00074 0.000733333 +0.000713333 0.000753333 0.00076 0.000733333 0.000733333 0.00074 0.000766667 0.000766667 +0.000753333 0.000726667 0.000726667 0.000766667 0.00078 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00078 0.00074 0.00074 0.00076 0.00074 0.00072 +0.00074 0.000733333 0.00074 0.000726667 0.000733333 0.000733333 0.00072 0.000733333 +0.00076 0.000766667 0.000733333 0.000726667 0.000733333 0.000733333 0.00074 0.000746667 +0.000713333 0.000726667 0.000733333 0.000726667 0.00074 0.000733333 0.00072 0.000706667 +0.000726667 0.000726667 0.000726667 0.00072 0.0007 0.000706667 0.000713333 0.000733333 +0.00072 0.00072 0.000726667 0.00072 0.000706667 0.000713333 0.000713333 0.000726667 +0.000746667 0.000726667 0.000726667 0.000733333 0.00072 0.00068 0.000673333 0.000693333 +0.000706667 0.000726667 0.00072 0.000726667 0.00072 0.00074 0.000753333 0.00074 +0.00072 0.000706667 0.000693333 0.0007 0.00072 0.000713333 0.00072 0.000726667 +0.000713333 0.000733333 0.000693333 0.000706667 0.000733333 0.000726667 0.00072 0.000686667 +0.0007 0.000706667 0.000706667 0.000706667 0.000706667 0.000726667 0.000713333 0.00068 +0.000693333 0.000693333 0.000693333 0.000693333 0.000706667 0.000706667 0.000713333 0.0007 +0.000673333 0.000686667 0.00068 0.000693333 0.000693333 0.00068 0.00066 0.000646667 +0.000666667 0.00068 0.000673333 0.000686667 0.0007 0.0007 0.000646667 0.00066 +0.0007 0.00068 0.000673333 0.00068 0.000666667 0.00066 0.000706667 0.0007 +0.000666667 0.00068 0.000666667 0.00068 0.000666667 0.00066 0.000646667 0.000626667 +0.00064 0.00066 0.00066 0.000686667 0.00068 0.000666667 0.000666667 0.00066 +0.000693333 0.00068 0.000686667 0.00066 0.000646667 0.000673333 0.000673333 0.000666667 +0.000706667 0.000706667 0.000666667 0.00066 0.0007 0.000693333 0.000686667 0.000693333 +0.000686667 0.000673333 0.000653333 0.00066 0.000673333 0.00068 0.000693333 0.000686667 +0.000673333 0.00068 0.000686667 0.000686667 0.000706667 0.000713333 0.000686667 0.000686667 +0.000673333 0.000653333 0.000693333 0.0007 0.000693333 0.000713333 0.000693333 0.0007 +0.000686667 0.00068 0.0007 0.000693333 0.000706667 0.00072 0.000713333 0.000693333 +0.000666667 0.000686667 0.000713333 0.000713333 0.000686667 0.000646667 0.00064 0.00068 +0.000706667 0.0007 0.000673333 0.000666667 0.00066 0.00066 0.000686667 0.000673333 +0.000653333 0.00066 0.00064 0.00066 0.000673333 0.000666667 0.000666667 0.000666667 +0.00066 0.00066 0.000686667 0.0007 0.00068 0.000673333 0.000693333 0.000693333 +0.00068 0.000666667 0.000653333 0.000666667 0.000666667 0.000673333 0.000686667 0.000686667 +0.000673333 0.000666667 0.000693333 0.00068 0.00068 0.000706667 0.000713333 0.000673333 +0.00064 0.000653333 0.00068 0.000686667 0.00068 0.000693333 0.000706667 0.000686667 +0.000713333 0.000686667 0.000693333 0.00068 0.00068 0.00068 0.000693333 0.000686667 +0.000673333 0.00066 0.00064 0.00068 0.000693333 0.00068 0.00068 0.000666667 +0.000673333 0.000686667 0.000713333 0.0007 0.000673333 0.000673333 0.00066 0.000666667 +0.000673333 0.00068 0.00068 0.0007 0.000706667 0.000686667 0.000686667 0.000686667 +0.000673333 0.00066 0.00068 0.000686667 0.00068 0.000686667 0.000706667 0.000733333 +0.000693333 0.000673333 0.00066 0.0007 0.000693333 0.000653333 0.0007 0.0007 +0.000693333 0.000673333 0.000666667 0.000706667 0.000686667 0.000686667 0.0007 0.000673333 +0.000646667 0.000666667 0.000693333 0.000706667 0.000693333 0.000686667 0.000686667 0.000686667 +0.000693333 0.000686667 0.000673333 0.00066 0.000653333 0.000666667 0.000693333 0.000673333 +0.000646667 0.000673333 0.000693333 0.000693333 0.000706667 0.0007 0.000666667 0.00068 +0.00068 0.00068 0.00068 0.000693333 0.000653333 0.000666667 0.000693333 0.000666667 +0.000666667 0.0007 0.000673333 0.00064 0.00064 0.000686667 0.00066 0.000653333 +0.000686667 0.0007 0.000673333 0.00066 0.00066 0.000673333 0.00068 0.000686667 +0.00066 0.00066 0.000653333 0.000646667 0.000673333 0.000693333 0.00066 0.000646667 +0.000646667 0.000653333 0.000653333 0.000673333 0.00068 0.000653333 0.000673333 0.000673333 +0.00066 0.00066 0.00068 0.000693333 0.00066 0.000653333 0.00066 0.000686667 +0.000686667 0.00068 0.000673333 0.0007 0.000693333 0.000666667 0.00068 0.00068 +0.000706667 0.000726667 0.000713333 0.000706667 0.000706667 0.000686667 0.00068 0.000706667 +0.000693333 0.000713333 0.000693333 0.00068 0.000706667 0.000706667 0.00074 0.000713333 +0.000693333 0.000686667 0.000686667 0.00066 0.000666667 0.00072 0.000726667 0.000726667 +0.000693333 0.000673333 0.000713333 0.00072 0.000726667 0.000726667 0.000726667 0.00072 +0.000706667 0.000713333 0.000713333 0.000713333 0.000733333 0.00072 0.000733333 0.000733333 +0.000726667 0.000706667 0.000713333 0.00072 0.00072 0.00072 0.000726667 0.00074 +0.000766667 0.000726667 0.000726667 0.000726667 0.00072 0.000726667 0.00074 0.000726667 +0.00072 0.000713333 0.00076 0.00076 0.00074 0.00072 0.000726667 0.000746667 +0.000753333 0.00074 0.000726667 0.00074 0.000753333 0.00074 0.00076 0.000746667 +0.000726667 0.00076 0.000773333 0.000753333 0.00074 0.00074 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000753333 0.000746667 0.00074 0.000733333 0.00076 0.000773333 0.00074 +0.000733333 0.000733333 0.000746667 0.00074 0.000733333 0.000726667 0.000726667 0.00072 +0.00074 0.00076 0.00074 0.000726667 0.00072 0.000733333 0.000733333 0.000726667 +0.00074 0.000733333 0.000726667 0.000726667 0.00074 0.000746667 0.00074 0.000713333 +0.00072 0.000706667 0.000713333 0.00074 0.00072 0.000706667 0.000706667 0.00072 +0.000713333 0.0007 0.000706667 0.000733333 0.000726667 0.000713333 0.0007 0.00072 +0.000753333 0.000746667 0.000706667 0.000706667 0.000713333 0.00072 0.000693333 0.000686667 +0.0007 0.000726667 0.000733333 0.00074 0.000706667 0.000713333 0.000746667 0.00074 +0.000706667 0.000726667 0.000733333 0.000706667 0.0007 0.000713333 0.000733333 0.000713333 +0.000713333 0.00074 0.0007 0.000706667 0.000733333 0.000733333 0.00072 0.000693333 +0.000693333 0.000713333 0.000713333 0.000706667 0.000706667 0.000706667 0.0007 0.000686667 +0.0007 0.000713333 0.000713333 0.0007 0.0007 0.0007 0.00072 0.000713333 +0.000686667 0.000686667 0.00068 0.000693333 0.000693333 0.000693333 0.000673333 0.00066 +0.00066 0.00066 0.000686667 0.0007 0.000673333 0.00068 0.000693333 0.00068 +0.000666667 0.000673333 0.00068 0.000686667 0.00066 0.000653333 0.000693333 0.0007 +0.000666667 0.000673333 0.000673333 0.00068 0.000673333 0.000666667 0.000646667 0.000653333 +0.00066 0.00066 0.00066 0.000666667 0.000673333 0.000686667 0.000673333 0.000653333 +0.000693333 0.00068 0.000673333 0.00068 0.000666667 0.000673333 0.000673333 0.000666667 +0.00068 0.000706667 0.00066 0.00066 0.000686667 0.0007 0.000693333 0.00068 +0.000686667 0.000686667 0.00066 0.00068 0.000666667 0.000666667 0.000686667 0.000673333 +0.00068 0.00068 0.000673333 0.000686667 0.000706667 0.0007 0.000686667 0.000686667 +0.00068 0.000666667 0.00068 0.000706667 0.0007 0.0007 0.000673333 0.00068 +0.000706667 0.000693333 0.00068 0.00068 0.000686667 0.000693333 0.000713333 0.000693333 +0.000666667 0.000693333 0.000706667 0.00072 0.00072 0.00064 0.000633333 0.00068 +0.000706667 0.0007 0.000673333 0.000673333 0.00068 0.000653333 0.000673333 0.00068 +0.00064 0.000653333 0.000653333 0.000686667 0.000686667 0.00068 0.00068 0.000646667 +0.000653333 0.000666667 0.000686667 0.0007 0.000673333 0.00066 0.000693333 0.000693333 +0.000673333 0.00068 0.00066 0.000653333 0.000673333 0.000666667 0.000673333 0.000686667 +0.000673333 0.000673333 0.000693333 0.000693333 0.00068 0.00072 0.000726667 0.000673333 +0.000653333 0.00068 0.000686667 0.000673333 0.000686667 0.000673333 0.000693333 0.0007 +0.000693333 0.00068 0.000686667 0.000673333 0.000686667 0.000686667 0.000673333 0.000673333 +0.000666667 0.000666667 0.00064 0.000673333 0.000706667 0.0007 0.000666667 0.000666667 +0.00068 0.00066 0.000713333 0.000706667 0.000666667 0.00068 0.000686667 0.000666667 +0.00066 0.000686667 0.000666667 0.000693333 0.0007 0.000673333 0.00068 0.000693333 +0.000686667 0.00066 0.00068 0.000686667 0.00068 0.000686667 0.0007 0.000733333 +0.0007 0.00066 0.00066 0.000726667 0.0007 0.000653333 0.000693333 0.000686667 +0.000686667 0.000686667 0.000686667 0.000693333 0.000666667 0.0007 0.000693333 0.00066 +0.000673333 0.00068 0.000693333 0.000693333 0.000673333 0.000693333 0.00068 0.00068 +0.000686667 0.00068 0.00068 0.000666667 0.000673333 0.00066 0.000673333 0.000666667 +0.000653333 0.000673333 0.000686667 0.0007 0.000706667 0.000686667 0.000666667 0.000673333 +0.000693333 0.00068 0.000673333 0.0007 0.00066 0.000686667 0.000693333 0.000673333 +0.000686667 0.000686667 0.000673333 0.000653333 0.000666667 0.00068 0.00066 0.000673333 +0.000686667 0.00068 0.00066 0.000673333 0.00068 0.000666667 0.000653333 0.00068 +0.000666667 0.000646667 0.000646667 0.000653333 0.000693333 0.000673333 0.00064 0.000646667 +0.00064 0.00064 0.000666667 0.0007 0.000673333 0.000653333 0.00066 0.000666667 +0.00066 0.00066 0.000693333 0.000686667 0.000653333 0.00066 0.000686667 0.000693333 +0.000686667 0.00068 0.00068 0.0007 0.000693333 0.000686667 0.000686667 0.00068 +0.0007 0.000733333 0.000706667 0.000693333 0.000686667 0.00068 0.000693333 0.000706667 +0.000693333 0.000706667 0.000693333 0.000706667 0.000713333 0.0007 0.000706667 0.000706667 +0.0007 0.000686667 0.000673333 0.000666667 0.000706667 0.00074 0.000693333 0.000693333 +0.000706667 0.000706667 0.0007 0.000713333 0.00072 0.000726667 0.00072 0.0007 +0.000726667 0.000713333 0.000726667 0.000726667 0.000733333 0.000713333 0.000713333 0.000713333 +0.000733333 0.000686667 0.000733333 0.000726667 0.000713333 0.000726667 0.000733333 0.000746667 +0.000746667 0.00072 0.000746667 0.000733333 0.000726667 0.000733333 0.000746667 0.00072 +0.000713333 0.000733333 0.000766667 0.000753333 0.000726667 0.000733333 0.000726667 0.000753333 +0.000773333 0.000746667 0.000733333 0.000753333 0.00074 0.00072 0.000746667 0.000753333 +0.000746667 0.000773333 0.000766667 0.000746667 0.000726667 0.00074 0.0008 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000786667 0.000753333 0.000726667 0.000746667 0.000726667 0.000726667 0.000766667 0.000773333 +0.000766667 0.00074 0.000726667 0.000733333 0.00074 0.000726667 0.00074 0.000726667 +0.000726667 0.000733333 0.000726667 0.000713333 0.000713333 0.000726667 0.000733333 0.00072 +0.000726667 0.00074 0.000733333 0.000726667 0.000726667 0.00074 0.000746667 0.00072 +0.00072 0.00074 0.000713333 0.000713333 0.000726667 0.00074 0.000726667 0.000706667 +0.0007 0.000706667 0.000693333 0.000706667 0.000713333 0.000726667 0.00072 0.00072 +0.00074 0.00074 0.00072 0.000713333 0.000706667 0.000713333 0.000726667 0.000713333 +0.0007 0.000706667 0.000726667 0.000726667 0.000713333 0.00072 0.00074 0.00074 +0.0007 0.00072 0.000733333 0.000733333 0.000713333 0.0007 0.000733333 0.000726667 +0.000713333 0.00072 0.0007 0.000713333 0.000726667 0.00072 0.0007 0.0007 +0.000713333 0.000726667 0.000726667 0.000693333 0.0007 0.000693333 0.00068 0.000706667 +0.00072 0.000713333 0.00072 0.000713333 0.000706667 0.000686667 0.000686667 0.000686667 +0.000693333 0.000686667 0.000686667 0.0007 0.00068 0.000693333 0.00068 0.000673333 +0.000673333 0.000653333 0.00068 0.000693333 0.000673333 0.000653333 0.000686667 0.000713333 +0.000666667 0.000673333 0.000686667 0.00068 0.000653333 0.000666667 0.000673333 0.00068 +0.000673333 0.000673333 0.000693333 0.000666667 0.000673333 0.000673333 0.000653333 0.000666667 +0.000686667 0.000673333 0.000673333 0.00066 0.000666667 0.000666667 0.000653333 0.000666667 +0.000693333 0.000706667 0.00066 0.000666667 0.000686667 0.00068 0.000666667 0.000673333 +0.000673333 0.000673333 0.00068 0.000673333 0.00066 0.000693333 0.0007 0.00068 +0.000686667 0.000686667 0.00068 0.000693333 0.000686667 0.000666667 0.00068 0.000673333 +0.00068 0.00068 0.00066 0.000673333 0.0007 0.000693333 0.00068 0.000693333 +0.000693333 0.00068 0.000686667 0.00072 0.0007 0.000686667 0.00068 0.000646667 +0.0007 0.000713333 0.00068 0.0007 0.000693333 0.000686667 0.000673333 0.000686667 +0.000693333 0.000686667 0.00068 0.0007 0.000726667 0.000673333 0.000633333 0.00066 +0.000693333 0.000693333 0.00066 0.000666667 0.000693333 0.000673333 0.000666667 0.000686667 +0.000666667 0.000646667 0.000653333 0.00068 0.000673333 0.000673333 0.00068 0.000673333 +0.000686667 0.000653333 0.000653333 0.000693333 0.000686667 0.000673333 0.00068 0.00068 +0.000673333 0.000693333 0.000693333 0.000666667 0.000693333 0.000673333 0.000666667 0.00068 +0.000666667 0.00068 0.000706667 0.000706667 0.000673333 0.000686667 0.00068 0.00068 +0.000666667 0.00068 0.000686667 0.000673333 0.000666667 0.00068 0.000713333 0.000693333 +0.000673333 0.000666667 0.00068 0.000673333 0.000686667 0.000693333 0.00068 0.000666667 +0.000673333 0.000666667 0.00064 0.000666667 0.0007 0.0007 0.000666667 0.000653333 +0.000666667 0.000666667 0.000706667 0.000693333 0.000673333 0.000693333 0.000693333 0.000673333 +0.00068 0.000693333 0.00066 0.000693333 0.000693333 0.000673333 0.000686667 0.0007 +0.000686667 0.000673333 0.00068 0.000686667 0.000673333 0.000666667 0.00068 0.000733333 +0.000693333 0.000653333 0.000673333 0.0007 0.000666667 0.000653333 0.000673333 0.000666667 +0.000693333 0.000693333 0.00068 0.00068 0.000673333 0.000693333 0.000686667 0.000686667 +0.000686667 0.000686667 0.000693333 0.000706667 0.000666667 0.00068 0.000673333 0.000673333 +0.000686667 0.000666667 0.00066 0.000686667 0.00068 0.00066 0.00068 0.000653333 +0.000653333 0.000693333 0.0007 0.000706667 0.000693333 0.000653333 0.000653333 0.000686667 +0.000693333 0.000653333 0.000646667 0.000686667 0.000653333 0.000686667 0.000686667 0.000693333 +0.000713333 0.000666667 0.000673333 0.000673333 0.000666667 0.00066 0.00068 0.000693333 +0.000666667 0.000666667 0.000673333 0.000673333 0.000666667 0.000653333 0.00066 0.000673333 +0.000646667 0.000646667 0.000646667 0.00064 0.00068 0.00066 0.000653333 0.00066 +0.000633333 0.000633333 0.000693333 0.0007 0.00066 0.00068 0.000673333 0.000653333 +0.000673333 0.00066 0.000673333 0.00068 0.000646667 0.000666667 0.000686667 0.000666667 +0.00068 0.00068 0.0007 0.000673333 0.00068 0.000693333 0.000686667 0.000673333 +0.000693333 0.00072 0.000693333 0.000686667 0.000686667 0.000686667 0.000713333 0.000713333 +0.000706667 0.000686667 0.000686667 0.000706667 0.000706667 0.000706667 0.000713333 0.000706667 +0.000686667 0.00066 0.000673333 0.000693333 0.00072 0.000706667 0.00068 0.000706667 +0.000733333 0.000706667 0.000693333 0.00072 0.00072 0.00072 0.000706667 0.000706667 +0.00072 0.000706667 0.000733333 0.00072 0.000706667 0.000713333 0.0007 0.00072 +0.000706667 0.00068 0.000726667 0.00074 0.000713333 0.000706667 0.00074 0.000733333 +0.00074 0.00074 0.000746667 0.000726667 0.00072 0.00074 0.000746667 0.000713333 +0.00072 0.000746667 0.000746667 0.00074 0.000726667 0.00074 0.000726667 0.000746667 +0.00076 0.000753333 0.00074 0.00074 0.000733333 0.00074 0.000753333 0.00078 +0.000766667 0.000753333 0.000733333 0.000733333 0.000766667 0.000753333 0.000766667 0.000766667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000733333 +0.000746667 0.00076 0.00076 0.000746667 0.000753333 0.00074 0.000733333 0.000746667 +0.00076 0.000753333 0.000746667 0.000726667 0.000726667 0.000726667 0.000746667 0.000746667 +0.000726667 0.000713333 0.000726667 0.000713333 0.000706667 0.000706667 0.000726667 0.000726667 +0.00072 0.000726667 0.00072 0.00074 0.00074 0.000713333 0.00072 0.00072 +0.000706667 0.000733333 0.000746667 0.000713333 0.000713333 0.00072 0.000746667 0.000753333 +0.000706667 0.000706667 0.0007 0.000713333 0.000713333 0.000693333 0.000706667 0.000713333 +0.00072 0.00072 0.000726667 0.00074 0.00072 0.000713333 0.00072 0.000726667 +0.00072 0.0007 0.000713333 0.0007 0.000713333 0.000726667 0.000733333 0.00074 +0.00072 0.00072 0.000706667 0.000733333 0.000726667 0.0007 0.000713333 0.000713333 +0.000726667 0.00072 0.000713333 0.00072 0.000706667 0.000733333 0.000706667 0.000693333 +0.0007 0.000713333 0.000733333 0.000686667 0.00068 0.0007 0.000686667 0.000666667 +0.0007 0.0007 0.0007 0.000713333 0.000686667 0.000693333 0.0007 0.00066 +0.00068 0.0007 0.000693333 0.0007 0.000693333 0.000706667 0.0007 0.00068 +0.00068 0.00066 0.00068 0.000686667 0.000666667 0.00066 0.00068 0.0007 +0.000686667 0.000673333 0.000673333 0.000666667 0.00066 0.000673333 0.000666667 0.00066 +0.000686667 0.000686667 0.000693333 0.000666667 0.000646667 0.000653333 0.000653333 0.000673333 +0.000673333 0.000673333 0.00066 0.000666667 0.000673333 0.000666667 0.000646667 0.000666667 +0.000686667 0.000706667 0.00068 0.00066 0.000673333 0.000673333 0.000666667 0.000693333 +0.0007 0.000673333 0.000686667 0.000673333 0.000653333 0.000693333 0.000726667 0.000706667 +0.00068 0.000653333 0.000666667 0.000686667 0.0007 0.000693333 0.000673333 0.000686667 +0.000693333 0.000666667 0.000653333 0.00066 0.00066 0.000693333 0.000693333 0.000686667 +0.0007 0.000666667 0.000673333 0.000706667 0.0007 0.0007 0.0007 0.000653333 +0.000673333 0.000706667 0.000686667 0.000686667 0.000706667 0.000706667 0.00066 0.00066 +0.000693333 0.0007 0.000693333 0.000686667 0.00072 0.0007 0.000653333 0.000653333 +0.000673333 0.0007 0.000666667 0.000653333 0.00068 0.000693333 0.000693333 0.0007 +0.000666667 0.000666667 0.000646667 0.000653333 0.000646667 0.00066 0.00066 0.00068 +0.000693333 0.000653333 0.00064 0.00068 0.000693333 0.000686667 0.00068 0.00066 +0.00066 0.000673333 0.0007 0.00068 0.00068 0.00068 0.000686667 0.000666667 +0.00066 0.000686667 0.0007 0.0007 0.000673333 0.00066 0.000653333 0.000673333 +0.000666667 0.00068 0.000686667 0.000673333 0.00066 0.000686667 0.00072 0.000686667 +0.00068 0.000673333 0.000693333 0.000686667 0.000686667 0.000706667 0.0007 0.000653333 +0.000686667 0.000693333 0.000633333 0.000666667 0.0007 0.0007 0.000686667 0.000653333 +0.000646667 0.000673333 0.0007 0.000686667 0.00068 0.0007 0.000693333 0.000686667 +0.000693333 0.00068 0.000666667 0.000693333 0.000686667 0.000686667 0.0007 0.000706667 +0.0007 0.000693333 0.00068 0.00068 0.00068 0.000673333 0.000686667 0.000713333 +0.0007 0.00066 0.000666667 0.00068 0.00066 0.00068 0.00068 0.00066 +0.000693333 0.000686667 0.000673333 0.000686667 0.00068 0.000666667 0.00068 0.0007 +0.00068 0.000673333 0.000693333 0.000706667 0.000666667 0.000666667 0.000693333 0.000666667 +0.000686667 0.00066 0.00066 0.000686667 0.00068 0.00068 0.000693333 0.00064 +0.000653333 0.000693333 0.0007 0.000713333 0.000706667 0.000646667 0.00064 0.000693333 +0.00068 0.00064 0.000673333 0.000686667 0.000646667 0.000666667 0.00068 0.000693333 +0.000713333 0.000666667 0.000686667 0.000693333 0.00066 0.000646667 0.000693333 0.000673333 +0.000653333 0.000673333 0.000693333 0.000666667 0.00066 0.000666667 0.000666667 0.000653333 +0.000646667 0.00068 0.000646667 0.00064 0.00066 0.000646667 0.00066 0.000653333 +0.000633333 0.000646667 0.000693333 0.000686667 0.000673333 0.000693333 0.000666667 0.000653333 +0.000673333 0.000646667 0.000673333 0.000686667 0.000653333 0.000673333 0.00068 0.000666667 +0.00068 0.000673333 0.0007 0.000673333 0.00068 0.000693333 0.000673333 0.000673333 +0.0007 0.00072 0.000706667 0.000693333 0.000706667 0.000713333 0.000713333 0.000706667 +0.0007 0.000673333 0.000693333 0.000673333 0.000693333 0.000733333 0.000713333 0.0007 +0.00068 0.000673333 0.000693333 0.000693333 0.00068 0.00068 0.00072 0.000713333 +0.000733333 0.000693333 0.000713333 0.00072 0.000713333 0.00072 0.00072 0.00072 +0.000713333 0.0007 0.000713333 0.000706667 0.0007 0.00072 0.00072 0.000706667 +0.000686667 0.0007 0.00072 0.000726667 0.000706667 0.000713333 0.000753333 0.000733333 +0.000733333 0.000746667 0.00072 0.000713333 0.00072 0.00074 0.00072 0.000733333 +0.000746667 0.00074 0.000726667 0.00074 0.000726667 0.00074 0.000746667 0.00074 +0.000733333 0.00074 0.00074 0.000746667 0.000753333 0.00076 0.000766667 0.00078 +0.00074 0.000733333 0.000733333 0.000746667 0.00076 0.000753333 0.000753333 0.000766667 +0.00078 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000766667 0.000753333 +0.00072 0.000733333 0.000753333 0.000753333 0.000766667 0.000766667 0.000746667 0.00074 +0.000726667 0.000733333 0.000753333 0.000753333 0.000726667 0.000726667 0.000733333 0.000726667 +0.000733333 0.000733333 0.000746667 0.000733333 0.000706667 0.000706667 0.000713333 0.000713333 +0.000726667 0.000726667 0.000706667 0.000706667 0.000746667 0.000746667 0.00072 0.00072 +0.000706667 0.0007 0.000746667 0.000746667 0.00074 0.0007 0.0007 0.000753333 +0.000746667 0.000726667 0.000706667 0.000713333 0.000733333 0.000706667 0.000693333 0.000693333 +0.000706667 0.0007 0.00072 0.000726667 0.000726667 0.00074 0.000713333 0.000693333 +0.00072 0.000713333 0.000733333 0.0007 0.000706667 0.000726667 0.000733333 0.00072 +0.000713333 0.00072 0.0007 0.000706667 0.000726667 0.000733333 0.000706667 0.000693333 +0.000733333 0.000726667 0.000733333 0.000733333 0.0007 0.000713333 0.000706667 0.00072 +0.000706667 0.0007 0.000713333 0.00072 0.0007 0.000706667 0.000706667 0.00066 +0.000666667 0.000693333 0.000686667 0.00072 0.000693333 0.000686667 0.00072 0.000693333 +0.000673333 0.00066 0.00068 0.000693333 0.00072 0.000713333 0.0007 0.000693333 +0.000686667 0.000666667 0.000673333 0.000686667 0.000673333 0.00068 0.000666667 0.00068 +0.00068 0.00068 0.000686667 0.000653333 0.00066 0.00066 0.000666667 0.00066 +0.000666667 0.00068 0.000666667 0.000653333 0.000653333 0.000646667 0.000666667 0.000686667 +0.000673333 0.000673333 0.00066 0.000666667 0.00068 0.000673333 0.000653333 0.00066 +0.00066 0.00068 0.000693333 0.00068 0.000666667 0.000666667 0.000673333 0.000693333 +0.00068 0.00068 0.0007 0.000673333 0.000653333 0.000686667 0.000713333 0.000706667 +0.000686667 0.000666667 0.000653333 0.000666667 0.00068 0.000686667 0.000673333 0.000686667 +0.000706667 0.000686667 0.00066 0.000653333 0.000633333 0.000673333 0.0007 0.000706667 +0.000686667 0.00066 0.000666667 0.000673333 0.000686667 0.000686667 0.0007 0.00068 +0.00066 0.00068 0.0007 0.00068 0.000686667 0.000706667 0.000693333 0.000666667 +0.000673333 0.000693333 0.000706667 0.000686667 0.000693333 0.000706667 0.00068 0.000646667 +0.000653333 0.0007 0.000693333 0.000653333 0.00066 0.0007 0.000706667 0.00072 +0.000693333 0.000673333 0.000646667 0.000646667 0.000653333 0.000653333 0.000666667 0.00066 +0.000673333 0.000686667 0.000653333 0.000666667 0.000686667 0.000673333 0.00068 0.00066 +0.00066 0.000666667 0.0007 0.0007 0.000666667 0.000666667 0.000686667 0.000653333 +0.00066 0.000713333 0.000693333 0.000693333 0.000693333 0.000666667 0.00068 0.00068 +0.000666667 0.000673333 0.0007 0.000673333 0.000666667 0.000666667 0.000693333 0.000693333 +0.000693333 0.00068 0.000706667 0.000686667 0.000686667 0.000713333 0.000706667 0.00066 +0.000673333 0.000686667 0.000646667 0.000666667 0.0007 0.000693333 0.00068 0.00066 +0.000653333 0.00068 0.0007 0.0007 0.000673333 0.00066 0.000686667 0.0007 +0.00068 0.000673333 0.000666667 0.00068 0.000673333 0.00068 0.000693333 0.00072 +0.000706667 0.0007 0.000693333 0.00068 0.000666667 0.000693333 0.000713333 0.0007 +0.000693333 0.00066 0.00066 0.00068 0.000673333 0.000686667 0.000686667 0.000673333 +0.000693333 0.00068 0.00068 0.000693333 0.000673333 0.000673333 0.000686667 0.000686667 +0.000686667 0.000673333 0.0007 0.000693333 0.000646667 0.000666667 0.000686667 0.00068 +0.000686667 0.00068 0.000666667 0.00068 0.000673333 0.00068 0.000693333 0.00064 +0.00066 0.00068 0.0007 0.000706667 0.000706667 0.000653333 0.000653333 0.000693333 +0.000666667 0.000666667 0.000686667 0.000673333 0.000653333 0.000666667 0.000693333 0.000686667 +0.000686667 0.000686667 0.000693333 0.00068 0.00066 0.000653333 0.000686667 0.00066 +0.000666667 0.00068 0.000666667 0.000666667 0.000693333 0.00068 0.000653333 0.000633333 +0.000666667 0.000686667 0.00064 0.00066 0.000653333 0.000646667 0.000646667 0.000653333 +0.000646667 0.00066 0.000673333 0.000666667 0.00068 0.000686667 0.000653333 0.000646667 +0.000653333 0.000666667 0.000686667 0.00066 0.000666667 0.000666667 0.000666667 0.0007 +0.000693333 0.000673333 0.000693333 0.00068 0.00068 0.000673333 0.000666667 0.000706667 +0.000726667 0.000713333 0.0007 0.000673333 0.000726667 0.00072 0.000693333 0.000693333 +0.00068 0.000693333 0.000686667 0.000653333 0.000713333 0.000733333 0.000693333 0.0007 +0.000693333 0.000706667 0.000693333 0.00068 0.000693333 0.000706667 0.000733333 0.000713333 +0.000713333 0.000686667 0.0007 0.0007 0.00072 0.000733333 0.00072 0.000713333 +0.000706667 0.00072 0.0007 0.000713333 0.00072 0.00072 0.00072 0.000706667 +0.000706667 0.00072 0.000713333 0.00072 0.000693333 0.00074 0.000766667 0.000753333 +0.000726667 0.000726667 0.000706667 0.00072 0.000733333 0.00074 0.00072 0.000733333 +0.000726667 0.000726667 0.000746667 0.000746667 0.000726667 0.000733333 0.00074 0.000733333 +0.00074 0.000753333 0.000733333 0.000746667 0.000766667 0.000746667 0.00074 0.00074 +0.000733333 0.00076 0.000766667 0.000726667 0.000726667 0.000766667 0.00078 0.000793333 +0.000766667 0.000793333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000766667 0.000746667 0.00078 +0.000773333 0.000726667 0.000733333 0.000746667 0.00076 0.000766667 0.00076 0.00074 +0.000726667 0.000733333 0.000733333 0.000733333 0.000733333 0.000733333 0.00074 0.00072 +0.00072 0.000733333 0.00074 0.000746667 0.000733333 0.000726667 0.00072 0.000706667 +0.0007 0.000713333 0.000733333 0.0007 0.000713333 0.00076 0.00074 0.00072 +0.000733333 0.0007 0.000706667 0.00074 0.000753333 0.00074 0.000693333 0.0007 +0.00074 0.000746667 0.000733333 0.00072 0.000713333 0.0007 0.000686667 0.0007 +0.00072 0.000713333 0.0007 0.000693333 0.0007 0.000746667 0.00074 0.000706667 +0.0007 0.00072 0.000726667 0.0007 0.000693333 0.000713333 0.00074 0.00072 +0.000713333 0.00072 0.000713333 0.000706667 0.000706667 0.00074 0.000726667 0.000706667 +0.00072 0.000706667 0.000713333 0.000726667 0.00072 0.0007 0.000693333 0.000713333 +0.00072 0.00072 0.000686667 0.000693333 0.000713333 0.00072 0.000713333 0.0007 +0.000686667 0.00068 0.000666667 0.000693333 0.000713333 0.000693333 0.000686667 0.000706667 +0.000706667 0.000666667 0.00066 0.000673333 0.00072 0.000713333 0.000673333 0.00068 +0.00068 0.000673333 0.000673333 0.000666667 0.000673333 0.0007 0.0007 0.000673333 +0.000666667 0.000666667 0.000686667 0.000653333 0.000666667 0.000666667 0.000653333 0.00066 +0.000646667 0.00066 0.000666667 0.000653333 0.000653333 0.000633333 0.00066 0.00068 +0.0007 0.000686667 0.00068 0.00068 0.000686667 0.000666667 0.00066 0.000666667 +0.000653333 0.000653333 0.000686667 0.0007 0.00068 0.000666667 0.000666667 0.000666667 +0.000673333 0.00068 0.000693333 0.000686667 0.000666667 0.00068 0.0007 0.000706667 +0.00068 0.000686667 0.000666667 0.00066 0.000673333 0.000686667 0.000693333 0.00068 +0.000686667 0.000706667 0.000693333 0.000653333 0.000646667 0.00066 0.000693333 0.0007 +0.0007 0.00068 0.000686667 0.000673333 0.000686667 0.000666667 0.000686667 0.0007 +0.00068 0.000686667 0.000693333 0.0007 0.000686667 0.000693333 0.0007 0.00068 +0.00066 0.000686667 0.000693333 0.0007 0.000686667 0.0007 0.0007 0.000666667 +0.000653333 0.000686667 0.000706667 0.000673333 0.000666667 0.00068 0.000673333 0.000713333 +0.00072 0.00068 0.000646667 0.000646667 0.000653333 0.000653333 0.000666667 0.000646667 +0.000653333 0.00068 0.000666667 0.000673333 0.000693333 0.000673333 0.000666667 0.000653333 +0.000653333 0.000666667 0.0007 0.0007 0.000673333 0.000666667 0.000673333 0.00066 +0.000666667 0.000706667 0.00068 0.000693333 0.000693333 0.00068 0.000686667 0.00068 +0.000666667 0.000666667 0.000693333 0.000686667 0.000686667 0.000653333 0.000686667 0.0007 +0.00068 0.000686667 0.000706667 0.000693333 0.000693333 0.000713333 0.000713333 0.000693333 +0.000666667 0.000673333 0.000653333 0.000653333 0.0007 0.000713333 0.000686667 0.000666667 +0.000673333 0.000686667 0.0007 0.000686667 0.000673333 0.000653333 0.00068 0.0007 +0.00068 0.000686667 0.000673333 0.000673333 0.000673333 0.00068 0.00068 0.000713333 +0.0007 0.000673333 0.000686667 0.000666667 0.000673333 0.000693333 0.0007 0.0007 +0.000673333 0.00066 0.00068 0.0007 0.000686667 0.00068 0.00068 0.000673333 +0.00068 0.00068 0.000693333 0.00068 0.00068 0.0007 0.00068 0.000666667 +0.00068 0.000686667 0.000706667 0.000686667 0.000653333 0.000666667 0.000686667 0.00068 +0.000673333 0.000666667 0.000673333 0.00068 0.000693333 0.00068 0.000673333 0.000646667 +0.000653333 0.000673333 0.000693333 0.000693333 0.000686667 0.000653333 0.00068 0.00068 +0.00068 0.000693333 0.00068 0.000653333 0.000666667 0.00068 0.000673333 0.000686667 +0.00068 0.000686667 0.000673333 0.00066 0.00066 0.00066 0.000666667 0.00066 +0.000686667 0.000673333 0.00064 0.000686667 0.0007 0.000666667 0.000653333 0.00064 +0.00068 0.000673333 0.00066 0.000666667 0.000646667 0.000646667 0.000633333 0.00066 +0.00066 0.000673333 0.000653333 0.000646667 0.000673333 0.000666667 0.000646667 0.000633333 +0.00066 0.000706667 0.000693333 0.000653333 0.000673333 0.000653333 0.000666667 0.000706667 +0.00068 0.000686667 0.000693333 0.000686667 0.00066 0.00066 0.000686667 0.000733333 +0.0007 0.00068 0.000693333 0.000686667 0.00072 0.000706667 0.000686667 0.0007 +0.000693333 0.000706667 0.00068 0.00068 0.000733333 0.000713333 0.00068 0.0007 +0.0007 0.000706667 0.000666667 0.000686667 0.000713333 0.000733333 0.00072 0.000713333 +0.0007 0.000706667 0.0007 0.0007 0.00072 0.000733333 0.0007 0.000693333 +0.000726667 0.000746667 0.0007 0.000693333 0.000713333 0.000733333 0.00072 0.000713333 +0.000733333 0.000726667 0.000726667 0.000713333 0.00072 0.00074 0.000746667 0.000753333 +0.000713333 0.00072 0.0007 0.00074 0.00074 0.000726667 0.000726667 0.000733333 +0.000733333 0.00074 0.000766667 0.000733333 0.000726667 0.000726667 0.000746667 0.000753333 +0.00074 0.000733333 0.000746667 0.000766667 0.000753333 0.000726667 0.000726667 0.00074 +0.000766667 0.00078 0.000766667 0.000713333 0.000733333 0.00078 0.000793333 0.000786667 +0.000746667 0.000746667 0.00078 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000753333 0.000733333 0.00074 0.000753333 +0.000793333 0.000773333 0.00074 0.000733333 0.000746667 0.000753333 0.000753333 0.000733333 +0.000733333 0.000746667 0.00074 0.000733333 0.000733333 0.00072 0.00072 0.00074 +0.00074 0.00072 0.00072 0.000726667 0.000733333 0.000746667 0.00072 0.000706667 +0.000713333 0.0007 0.000713333 0.00072 0.00072 0.000726667 0.000733333 0.00074 +0.000753333 0.000746667 0.0007 0.0007 0.00072 0.000746667 0.000746667 0.0007 +0.000693333 0.000726667 0.00074 0.00074 0.00072 0.0007 0.000686667 0.000686667 +0.000713333 0.00072 0.000693333 0.000693333 0.000693333 0.000693333 0.000726667 0.000733333 +0.000706667 0.000726667 0.000713333 0.000706667 0.000706667 0.0007 0.000726667 0.00072 +0.00072 0.000726667 0.000726667 0.000713333 0.000693333 0.00072 0.000726667 0.000713333 +0.00072 0.000706667 0.000693333 0.000693333 0.000726667 0.00072 0.000706667 0.0007 +0.000713333 0.00074 0.0007 0.000673333 0.000686667 0.000726667 0.000726667 0.000726667 +0.000706667 0.000666667 0.000666667 0.00066 0.000686667 0.000693333 0.000673333 0.00068 +0.0007 0.0007 0.000673333 0.00066 0.00066 0.00068 0.000666667 0.000693333 +0.000686667 0.000686667 0.000713333 0.00068 0.000666667 0.0007 0.00072 0.000693333 +0.00066 0.000653333 0.000653333 0.00066 0.000673333 0.00068 0.000646667 0.000653333 +0.000673333 0.000673333 0.00066 0.00066 0.00064 0.000626667 0.000653333 0.000666667 +0.000686667 0.000673333 0.00068 0.000686667 0.000693333 0.000686667 0.000673333 0.000673333 +0.00066 0.000646667 0.00066 0.000673333 0.000686667 0.00068 0.00068 0.000653333 +0.00066 0.00068 0.000673333 0.0007 0.000673333 0.00066 0.000693333 0.000706667 +0.000693333 0.000693333 0.00068 0.00066 0.00066 0.000686667 0.0007 0.000673333 +0.00066 0.0007 0.0007 0.000666667 0.000653333 0.00066 0.0007 0.00068 +0.000686667 0.000706667 0.000673333 0.00068 0.0007 0.000653333 0.00068 0.000706667 +0.000693333 0.000706667 0.000673333 0.000706667 0.0007 0.0007 0.000713333 0.000686667 +0.000653333 0.000653333 0.000666667 0.000693333 0.000713333 0.000686667 0.00068 0.000666667 +0.00066 0.000673333 0.0007 0.000666667 0.00064 0.000666667 0.000653333 0.000673333 +0.00072 0.000686667 0.00066 0.000653333 0.00066 0.000653333 0.000653333 0.00066 +0.000653333 0.00066 0.000653333 0.00066 0.000693333 0.000673333 0.000666667 0.000646667 +0.00066 0.000686667 0.0007 0.000693333 0.000693333 0.000666667 0.000653333 0.000673333 +0.000666667 0.0007 0.0007 0.00068 0.000686667 0.0007 0.000693333 0.00068 +0.00068 0.000673333 0.000686667 0.000693333 0.000693333 0.000666667 0.000693333 0.000686667 +0.00066 0.00068 0.000693333 0.0007 0.000706667 0.000686667 0.00068 0.000693333 +0.00068 0.000673333 0.000646667 0.000646667 0.0007 0.000706667 0.000706667 0.000673333 +0.000666667 0.0007 0.0007 0.000673333 0.000673333 0.000653333 0.000666667 0.000673333 +0.000686667 0.0007 0.00068 0.00068 0.000673333 0.000673333 0.00068 0.000706667 +0.00068 0.000666667 0.00068 0.00068 0.00068 0.00068 0.0007 0.000713333 +0.000653333 0.000666667 0.000693333 0.0007 0.00068 0.000693333 0.000673333 0.000653333 +0.000666667 0.000673333 0.000686667 0.000666667 0.000693333 0.000713333 0.000673333 0.000646667 +0.000673333 0.000686667 0.000713333 0.000686667 0.00068 0.000666667 0.000686667 0.000686667 +0.000673333 0.00066 0.00068 0.000693333 0.000686667 0.000673333 0.000666667 0.000646667 +0.000666667 0.000673333 0.000693333 0.00068 0.000666667 0.00066 0.000686667 0.000673333 +0.000686667 0.000693333 0.00068 0.00066 0.000686667 0.000686667 0.00068 0.000693333 +0.000666667 0.00066 0.00068 0.000673333 0.00066 0.000646667 0.000673333 0.000673333 +0.000673333 0.000653333 0.00066 0.000686667 0.000666667 0.000653333 0.000666667 0.00066 +0.000686667 0.00066 0.000673333 0.000646667 0.000626667 0.00064 0.00064 0.00064 +0.000653333 0.000686667 0.000653333 0.000633333 0.00068 0.000673333 0.000653333 0.000646667 +0.00068 0.000706667 0.000686667 0.00066 0.000666667 0.000646667 0.000673333 0.00068 +0.000673333 0.0007 0.000686667 0.000673333 0.000653333 0.00066 0.000713333 0.000733333 +0.000673333 0.000673333 0.000706667 0.000686667 0.000686667 0.000686667 0.000693333 0.000713333 +0.000706667 0.0007 0.000693333 0.00072 0.000713333 0.000693333 0.000693333 0.000693333 +0.000693333 0.000673333 0.000666667 0.0007 0.00072 0.000726667 0.000693333 0.00072 +0.00072 0.000726667 0.000693333 0.000706667 0.000706667 0.0007 0.000673333 0.000706667 +0.000733333 0.000733333 0.0007 0.000693333 0.000726667 0.00072 0.000706667 0.00072 +0.000726667 0.000726667 0.000726667 0.000733333 0.000733333 0.000733333 0.000733333 0.000726667 +0.000686667 0.000713333 0.000726667 0.00074 0.000726667 0.000713333 0.00072 0.00074 +0.000766667 0.000746667 0.00072 0.000713333 0.00074 0.00074 0.000746667 0.000733333 +0.000733333 0.000753333 0.000773333 0.000746667 0.00072 0.000726667 0.000753333 0.00076 +0.000773333 0.000753333 0.000753333 0.000746667 0.000766667 0.000786667 0.000766667 0.000753333 +0.000746667 0.00076 0.000793333 0.000786667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000766667 0.00074 0.000713333 0.000726667 0.000733333 +0.00076 0.00078 0.000766667 0.000746667 0.00074 0.00074 0.000733333 0.00074 +0.000746667 0.00074 0.00074 0.00074 0.000726667 0.00072 0.000726667 0.00074 +0.00074 0.00072 0.000706667 0.000713333 0.000733333 0.00074 0.000726667 0.0007 +0.000726667 0.000726667 0.000706667 0.000706667 0.000733333 0.000706667 0.000706667 0.000726667 +0.00074 0.000766667 0.00074 0.00072 0.000713333 0.000706667 0.000733333 0.000733333 +0.000713333 0.000706667 0.0007 0.000713333 0.000733333 0.00072 0.000713333 0.000693333 +0.00068 0.000686667 0.000706667 0.0007 0.000706667 0.0007 0.000686667 0.00072 +0.000713333 0.00074 0.000733333 0.0007 0.000706667 0.00072 0.00074 0.000706667 +0.000693333 0.00072 0.000726667 0.00072 0.000693333 0.000706667 0.000713333 0.0007 +0.000713333 0.00072 0.00072 0.000686667 0.0007 0.000726667 0.00072 0.0007 +0.0007 0.000733333 0.000726667 0.00072 0.0007 0.000706667 0.000693333 0.000706667 +0.00072 0.0007 0.000673333 0.000666667 0.00066 0.00068 0.000686667 0.00068 +0.00068 0.000706667 0.00068 0.000673333 0.00066 0.000646667 0.000653333 0.000693333 +0.0007 0.0007 0.000706667 0.000693333 0.00068 0.000686667 0.000693333 0.000686667 +0.000666667 0.00066 0.00064 0.00066 0.000666667 0.00066 0.000666667 0.000653333 +0.000673333 0.000666667 0.000653333 0.000653333 0.00064 0.000633333 0.00064 0.000653333 +0.000673333 0.000666667 0.000673333 0.000686667 0.000686667 0.000706667 0.000706667 0.000686667 +0.000666667 0.000666667 0.000666667 0.00066 0.000686667 0.000686667 0.00068 0.00066 +0.00066 0.000666667 0.000666667 0.0007 0.00068 0.000666667 0.0007 0.0007 +0.0007 0.000686667 0.000686667 0.000666667 0.000666667 0.00068 0.000693333 0.000666667 +0.00066 0.000673333 0.000686667 0.000673333 0.000653333 0.000653333 0.000686667 0.000693333 +0.000686667 0.000713333 0.000693333 0.00068 0.00068 0.00066 0.000673333 0.000693333 +0.000693333 0.000693333 0.00066 0.000693333 0.000706667 0.000686667 0.00072 0.000713333 +0.000673333 0.00066 0.000653333 0.000666667 0.000706667 0.000713333 0.000686667 0.000666667 +0.000646667 0.000666667 0.0007 0.000673333 0.00064 0.000653333 0.000673333 0.000666667 +0.00068 0.000686667 0.00068 0.00066 0.000653333 0.000653333 0.000666667 0.00068 +0.000666667 0.000653333 0.00066 0.000653333 0.000673333 0.00068 0.00068 0.00066 +0.000673333 0.000673333 0.000693333 0.000693333 0.000693333 0.00068 0.000653333 0.00068 +0.000653333 0.0007 0.000706667 0.00066 0.000666667 0.000713333 0.0007 0.00068 +0.000686667 0.00068 0.000693333 0.00068 0.00068 0.000686667 0.0007 0.000686667 +0.000653333 0.00068 0.00068 0.000693333 0.000713333 0.000686667 0.000673333 0.000693333 +0.000693333 0.000693333 0.000646667 0.00066 0.000693333 0.00068 0.0007 0.000686667 +0.00066 0.000686667 0.000706667 0.000666667 0.000693333 0.000666667 0.000653333 0.000666667 +0.000686667 0.000693333 0.000686667 0.000693333 0.00068 0.000673333 0.000686667 0.000713333 +0.000666667 0.000666667 0.000693333 0.000686667 0.000686667 0.000673333 0.0007 0.000706667 +0.00066 0.000666667 0.000686667 0.00068 0.00068 0.000706667 0.000686667 0.00066 +0.000673333 0.00068 0.000693333 0.00068 0.00068 0.000693333 0.00066 0.000646667 +0.00066 0.000673333 0.000713333 0.000686667 0.000693333 0.000666667 0.000673333 0.000693333 +0.00068 0.000673333 0.000713333 0.000686667 0.000673333 0.000673333 0.000646667 0.000653333 +0.00068 0.000686667 0.00068 0.000666667 0.00066 0.000673333 0.000693333 0.000686667 +0.000686667 0.000673333 0.00068 0.000673333 0.000686667 0.000673333 0.000693333 0.000686667 +0.000653333 0.000653333 0.000673333 0.000673333 0.000646667 0.00066 0.000673333 0.000686667 +0.00066 0.000653333 0.000666667 0.000666667 0.000666667 0.000686667 0.000673333 0.00066 +0.000666667 0.00066 0.000666667 0.000633333 0.000633333 0.000653333 0.000646667 0.00062 +0.000666667 0.000686667 0.000653333 0.000646667 0.000693333 0.000673333 0.00066 0.000666667 +0.000673333 0.000686667 0.000666667 0.00066 0.00066 0.000666667 0.00068 0.000673333 +0.000693333 0.000693333 0.000666667 0.000646667 0.00066 0.000686667 0.000706667 0.000706667 +0.000666667 0.00068 0.000686667 0.00068 0.000673333 0.000693333 0.000706667 0.000693333 +0.0007 0.000693333 0.000713333 0.000706667 0.000686667 0.000686667 0.000686667 0.000686667 +0.00068 0.000653333 0.00068 0.000706667 0.00072 0.000713333 0.000706667 0.00074 +0.000733333 0.0007 0.000686667 0.000693333 0.000693333 0.000686667 0.00068 0.000726667 +0.000733333 0.000706667 0.000706667 0.00072 0.000746667 0.000693333 0.000706667 0.000733333 +0.000726667 0.00072 0.000733333 0.000733333 0.000733333 0.000726667 0.000726667 0.0007 +0.000693333 0.00072 0.000733333 0.000693333 0.0007 0.000733333 0.000746667 0.000733333 +0.00074 0.000706667 0.00072 0.00074 0.000753333 0.00074 0.000733333 0.00072 +0.00076 0.00078 0.000746667 0.00072 0.000726667 0.000753333 0.000773333 0.000753333 +0.000746667 0.000746667 0.000766667 0.00076 0.000753333 0.000766667 0.00076 0.000746667 +0.000753333 0.000786667 0.00078 0.000726667 0.00074 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000753333 0.00072 0.000746667 0.000746667 0.000713333 0.000713333 +0.00074 0.00074 0.000746667 0.000766667 0.00076 0.000746667 0.000733333 0.000746667 +0.00074 0.000733333 0.00074 0.000746667 0.00072 0.000726667 0.000733333 0.00072 +0.00072 0.000726667 0.000726667 0.00072 0.000733333 0.00072 0.000733333 0.000726667 +0.000706667 0.000706667 0.000726667 0.000706667 0.000706667 0.000713333 0.000706667 0.000726667 +0.00072 0.000726667 0.00074 0.000753333 0.000733333 0.000713333 0.0007 0.000713333 +0.00072 0.000726667 0.000713333 0.0007 0.000713333 0.000726667 0.000726667 0.000733333 +0.0007 0.000686667 0.000713333 0.0007 0.000693333 0.000713333 0.000706667 0.000686667 +0.0007 0.000713333 0.000726667 0.000713333 0.0007 0.000726667 0.000746667 0.000726667 +0.000693333 0.000686667 0.0007 0.000726667 0.000726667 0.000693333 0.000706667 0.0007 +0.000686667 0.000713333 0.000726667 0.000733333 0.0007 0.000706667 0.000726667 0.000713333 +0.0007 0.00072 0.00072 0.000713333 0.00072 0.000713333 0.00068 0.000673333 +0.0007 0.000733333 0.000713333 0.000686667 0.00066 0.00068 0.000673333 0.00068 +0.000686667 0.0007 0.000693333 0.00068 0.000693333 0.000666667 0.000653333 0.00068 +0.000686667 0.0007 0.000686667 0.000686667 0.0007 0.000686667 0.00068 0.00066 +0.000666667 0.00068 0.00066 0.00066 0.00066 0.000653333 0.00068 0.000686667 +0.000673333 0.000646667 0.00064 0.000646667 0.000653333 0.000653333 0.000646667 0.000653333 +0.000653333 0.000666667 0.000673333 0.00068 0.00068 0.000693333 0.00072 0.0007 +0.000686667 0.000673333 0.00068 0.000666667 0.000666667 0.000666667 0.000673333 0.00066 +0.000666667 0.00068 0.000673333 0.00068 0.00068 0.00068 0.000693333 0.00068 +0.000693333 0.0007 0.00068 0.00066 0.000673333 0.00068 0.000693333 0.0007 +0.000673333 0.00068 0.00068 0.000686667 0.000673333 0.000666667 0.000666667 0.000686667 +0.000693333 0.000693333 0.000713333 0.000693333 0.000673333 0.000686667 0.000693333 0.000706667 +0.000693333 0.000673333 0.000666667 0.000686667 0.0007 0.000666667 0.000693333 0.000726667 +0.000686667 0.000673333 0.00066 0.000653333 0.00068 0.000713333 0.000706667 0.00068 +0.00064 0.00068 0.00072 0.000693333 0.00066 0.000646667 0.00068 0.0007 +0.000693333 0.000693333 0.000673333 0.000686667 0.000673333 0.000646667 0.000666667 0.00068 +0.000666667 0.000666667 0.00066 0.000646667 0.000653333 0.000653333 0.00068 0.000666667 +0.00066 0.000646667 0.000686667 0.000706667 0.000693333 0.00068 0.000666667 0.00068 +0.000653333 0.000693333 0.000686667 0.00066 0.00066 0.000693333 0.000706667 0.00068 +0.000673333 0.00068 0.0007 0.000666667 0.000673333 0.0007 0.000706667 0.000686667 +0.00066 0.00068 0.000686667 0.000673333 0.0007 0.0007 0.000686667 0.000693333 +0.000686667 0.000686667 0.000666667 0.00066 0.000693333 0.000693333 0.00068 0.000686667 +0.000673333 0.00068 0.000686667 0.00068 0.000686667 0.000666667 0.00066 0.000666667 +0.000673333 0.000693333 0.0007 0.0007 0.000686667 0.000666667 0.000686667 0.000733333 +0.000693333 0.00066 0.000693333 0.00068 0.00068 0.0007 0.0007 0.000693333 +0.000673333 0.000673333 0.00068 0.00068 0.000693333 0.000693333 0.00068 0.000686667 +0.000673333 0.000686667 0.0007 0.000686667 0.000686667 0.000673333 0.00066 0.000646667 +0.00064 0.000666667 0.0007 0.000673333 0.000686667 0.00068 0.000673333 0.00068 +0.000673333 0.000686667 0.000706667 0.00066 0.000686667 0.000653333 0.000646667 0.00068 +0.000686667 0.000693333 0.000673333 0.00066 0.00066 0.000666667 0.0007 0.000693333 +0.00068 0.00068 0.000693333 0.0007 0.000686667 0.000666667 0.000686667 0.000673333 +0.000653333 0.000673333 0.000666667 0.00066 0.00066 0.00068 0.000673333 0.000673333 +0.000666667 0.00066 0.000666667 0.000666667 0.000686667 0.00068 0.000666667 0.000666667 +0.000653333 0.000673333 0.000646667 0.000626667 0.000646667 0.000646667 0.00064 0.000633333 +0.00068 0.00068 0.000666667 0.00066 0.000666667 0.000653333 0.000646667 0.00066 +0.000666667 0.000666667 0.000673333 0.000666667 0.000666667 0.000666667 0.000666667 0.000686667 +0.000693333 0.00068 0.00066 0.000653333 0.000693333 0.000706667 0.000693333 0.000686667 +0.000666667 0.00066 0.000686667 0.000693333 0.0007 0.000713333 0.000706667 0.0007 +0.000713333 0.000713333 0.00072 0.00068 0.00068 0.0007 0.00068 0.000693333 +0.00068 0.000673333 0.000706667 0.0007 0.0007 0.000706667 0.000733333 0.000746667 +0.000713333 0.000693333 0.000693333 0.000686667 0.000706667 0.000686667 0.0007 0.00072 +0.00072 0.00072 0.000713333 0.00072 0.000726667 0.000693333 0.00072 0.000726667 +0.000733333 0.000713333 0.000726667 0.000726667 0.00072 0.000706667 0.0007 0.0007 +0.000726667 0.00072 0.000726667 0.00068 0.0007 0.000753333 0.000753333 0.000726667 +0.000713333 0.000706667 0.000766667 0.00076 0.00074 0.00074 0.00072 0.000746667 +0.000753333 0.000733333 0.00072 0.00074 0.000753333 0.00076 0.000753333 0.000733333 +0.000746667 0.000766667 0.000766667 0.000746667 0.000726667 0.000746667 0.000773333 0.000753333 +0.00078 0.000786667 0.00076 0.000733333 0.000753333 0.000793333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000766667 0.000746667 0.00072 0.00072 0.000746667 0.000746667 0.000726667 +0.00074 0.00074 0.00072 0.000753333 0.000766667 0.000753333 0.000746667 0.00074 +0.000726667 0.000726667 0.00074 0.000746667 0.000733333 0.000733333 0.000726667 0.000713333 +0.000706667 0.000733333 0.00074 0.00072 0.000726667 0.000726667 0.000726667 0.00074 +0.000726667 0.000706667 0.00074 0.000746667 0.000706667 0.000706667 0.000713333 0.00072 +0.000713333 0.000693333 0.0007 0.000726667 0.000733333 0.000746667 0.00072 0.000713333 +0.0007 0.000713333 0.000746667 0.00074 0.000706667 0.0007 0.00072 0.000746667 +0.00074 0.00072 0.0007 0.000693333 0.000693333 0.000693333 0.00072 0.000693333 +0.000693333 0.0007 0.0007 0.000706667 0.0007 0.000733333 0.000726667 0.00072 +0.00072 0.000713333 0.0007 0.0007 0.000726667 0.000713333 0.000713333 0.00072 +0.000686667 0.000686667 0.0007 0.000726667 0.000726667 0.000706667 0.000706667 0.000706667 +0.00072 0.00072 0.000713333 0.000706667 0.00072 0.000713333 0.000693333 0.000686667 +0.000673333 0.000706667 0.000726667 0.000713333 0.000686667 0.000693333 0.0007 0.000666667 +0.00068 0.00068 0.000693333 0.000686667 0.000686667 0.000673333 0.000673333 0.000666667 +0.000653333 0.000706667 0.000673333 0.000666667 0.000693333 0.000706667 0.000693333 0.00066 +0.00068 0.00068 0.00068 0.00068 0.00066 0.00066 0.00066 0.000693333 +0.000686667 0.00066 0.000633333 0.000626667 0.00066 0.000673333 0.000666667 0.00066 +0.000646667 0.000653333 0.000666667 0.000673333 0.000653333 0.000673333 0.000713333 0.000693333 +0.000686667 0.000666667 0.000673333 0.00068 0.000653333 0.000653333 0.000686667 0.00068 +0.000653333 0.00068 0.000693333 0.000673333 0.000673333 0.00068 0.000653333 0.000666667 +0.000693333 0.000713333 0.000686667 0.000666667 0.00066 0.00066 0.000693333 0.00072 +0.000693333 0.00068 0.000666667 0.000693333 0.000686667 0.00068 0.00066 0.00066 +0.0007 0.000686667 0.000693333 0.000686667 0.000693333 0.000693333 0.000686667 0.0007 +0.000693333 0.00068 0.000686667 0.00068 0.0007 0.00068 0.000673333 0.000713333 +0.000693333 0.00068 0.00068 0.00066 0.000673333 0.000686667 0.000713333 0.000693333 +0.000653333 0.000673333 0.000706667 0.00072 0.00066 0.000633333 0.00066 0.0007 +0.00072 0.000693333 0.000653333 0.00068 0.000686667 0.00066 0.000666667 0.000673333 +0.000666667 0.000666667 0.000673333 0.000653333 0.00066 0.000653333 0.00068 0.000673333 +0.00066 0.00064 0.000686667 0.000713333 0.000673333 0.0007 0.00068 0.00066 +0.00066 0.000673333 0.000673333 0.000693333 0.00066 0.000686667 0.00072 0.000673333 +0.000666667 0.0007 0.000706667 0.00066 0.00066 0.000693333 0.000713333 0.000686667 +0.000666667 0.00066 0.00068 0.000666667 0.00068 0.000693333 0.000686667 0.000706667 +0.000686667 0.00068 0.00068 0.000666667 0.00068 0.000706667 0.000673333 0.00068 +0.000673333 0.000666667 0.000673333 0.000686667 0.000673333 0.000673333 0.00068 0.00066 +0.000673333 0.000693333 0.000686667 0.000693333 0.000686667 0.00068 0.00068 0.000733333 +0.000713333 0.000673333 0.000686667 0.000673333 0.00068 0.0007 0.000706667 0.0007 +0.000686667 0.000673333 0.000673333 0.000686667 0.000693333 0.00068 0.00068 0.000673333 +0.00066 0.000666667 0.000693333 0.000693333 0.000693333 0.000693333 0.00066 0.000653333 +0.000646667 0.000686667 0.0007 0.000666667 0.000693333 0.00068 0.000673333 0.00066 +0.00068 0.000693333 0.000673333 0.000666667 0.000693333 0.000646667 0.000646667 0.00068 +0.00068 0.000693333 0.00068 0.00066 0.00066 0.000666667 0.00068 0.000686667 +0.00068 0.00068 0.000686667 0.000713333 0.000693333 0.000673333 0.00068 0.00068 +0.000666667 0.000673333 0.00066 0.00066 0.000673333 0.000686667 0.000666667 0.000686667 +0.000686667 0.000646667 0.000646667 0.000673333 0.00068 0.000673333 0.000673333 0.000686667 +0.000653333 0.000666667 0.000633333 0.00062 0.000646667 0.00064 0.000646667 0.000653333 +0.00068 0.000673333 0.00068 0.000666667 0.00064 0.000646667 0.000653333 0.000666667 +0.00068 0.00066 0.000673333 0.000693333 0.00066 0.000653333 0.000646667 0.000673333 +0.00068 0.000673333 0.00066 0.00068 0.000693333 0.000686667 0.0007 0.000693333 +0.000693333 0.000673333 0.0007 0.0007 0.000706667 0.000706667 0.000713333 0.00072 +0.000713333 0.0007 0.000693333 0.00068 0.00068 0.0007 0.000693333 0.000693333 +0.0007 0.000713333 0.000706667 0.000693333 0.000706667 0.00072 0.000733333 0.000706667 +0.000706667 0.000706667 0.000713333 0.000706667 0.0007 0.000693333 0.00072 0.0007 +0.000713333 0.000726667 0.000726667 0.00072 0.000706667 0.00072 0.000713333 0.00072 +0.00074 0.00072 0.000726667 0.000726667 0.00072 0.0007 0.0007 0.000733333 +0.00074 0.000693333 0.000733333 0.000706667 0.000726667 0.000753333 0.000733333 0.000733333 +0.00072 0.000746667 0.000793333 0.000746667 0.00074 0.00074 0.00072 0.000753333 +0.000733333 0.000713333 0.000733333 0.00076 0.00074 0.00074 0.000746667 0.000746667 +0.000766667 0.000773333 0.000746667 0.00072 0.000713333 0.000766667 0.00078 0.000746667 +0.000793333 0.000753333 0.000746667 0.000766667 0.000773333 0.00076 0.00078 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00078 0.000746667 0.00076 0.00078 0.000753333 0.00074 0.00076 0.000733333 +0.000733333 0.00076 0.000733333 0.00072 0.000733333 0.00074 0.000753333 0.000733333 +0.000726667 0.00072 0.000726667 0.000726667 0.000733333 0.00074 0.000733333 0.00072 +0.00072 0.000713333 0.00072 0.000726667 0.000733333 0.000726667 0.000713333 0.000713333 +0.000726667 0.00074 0.000733333 0.000746667 0.000733333 0.000713333 0.00072 0.00072 +0.00072 0.000693333 0.000686667 0.0007 0.0007 0.00074 0.000733333 0.00074 +0.000733333 0.000706667 0.000706667 0.000733333 0.00074 0.00072 0.0007 0.000706667 +0.000733333 0.000746667 0.000726667 0.0007 0.0007 0.000686667 0.000706667 0.000706667 +0.000713333 0.0007 0.000686667 0.000686667 0.0007 0.00074 0.000733333 0.000686667 +0.000693333 0.000746667 0.00074 0.000693333 0.00068 0.000706667 0.000726667 0.000733333 +0.000713333 0.00068 0.00068 0.00068 0.000713333 0.000726667 0.000713333 0.0007 +0.000706667 0.000713333 0.00072 0.00072 0.00072 0.0007 0.000686667 0.0007 +0.000686667 0.000686667 0.0007 0.000686667 0.00068 0.000693333 0.0007 0.000686667 +0.000673333 0.00066 0.000673333 0.0007 0.00068 0.000646667 0.000686667 0.000666667 +0.00064 0.000686667 0.00068 0.000673333 0.000693333 0.000693333 0.00068 0.00068 +0.000713333 0.00068 0.00066 0.00068 0.000666667 0.000666667 0.00066 0.00068 +0.000673333 0.00066 0.000646667 0.00062 0.000653333 0.000686667 0.00068 0.000666667 +0.00066 0.000653333 0.00064 0.00066 0.00066 0.00066 0.000673333 0.000693333 +0.000686667 0.00066 0.000666667 0.000713333 0.00068 0.000653333 0.000673333 0.0007 +0.000666667 0.000646667 0.000666667 0.000706667 0.0007 0.00066 0.000633333 0.000646667 +0.000673333 0.0007 0.00068 0.00068 0.00066 0.00066 0.000673333 0.0007 +0.0007 0.000673333 0.000673333 0.00068 0.000666667 0.000666667 0.000666667 0.00068 +0.000713333 0.0007 0.000673333 0.00066 0.000693333 0.000686667 0.000673333 0.000666667 +0.000693333 0.0007 0.000686667 0.000673333 0.000693333 0.000686667 0.000666667 0.00068 +0.0007 0.000706667 0.000686667 0.000653333 0.000653333 0.000673333 0.000693333 0.000693333 +0.000666667 0.000666667 0.00068 0.00072 0.000673333 0.000633333 0.000653333 0.00068 +0.000706667 0.0007 0.00066 0.000666667 0.00068 0.00068 0.000673333 0.000673333 +0.00066 0.000653333 0.000666667 0.00066 0.00066 0.000686667 0.000693333 0.000673333 +0.000673333 0.00064 0.00066 0.000686667 0.00066 0.000706667 0.000693333 0.00066 +0.000653333 0.000666667 0.00068 0.000713333 0.000673333 0.000653333 0.000706667 0.000686667 +0.000686667 0.000693333 0.000693333 0.000673333 0.000646667 0.000693333 0.00072 0.000693333 +0.000666667 0.000666667 0.000693333 0.00068 0.000673333 0.000686667 0.000686667 0.0007 +0.000693333 0.000666667 0.000666667 0.00066 0.000666667 0.000693333 0.000693333 0.000693333 +0.000653333 0.000673333 0.000673333 0.00068 0.000693333 0.000693333 0.000686667 0.000666667 +0.000666667 0.000673333 0.000673333 0.00068 0.000686667 0.00068 0.000686667 0.0007 +0.000686667 0.000673333 0.000673333 0.000666667 0.000673333 0.000673333 0.0007 0.000706667 +0.000693333 0.000673333 0.00068 0.0007 0.000686667 0.00068 0.000673333 0.000666667 +0.000673333 0.00066 0.000686667 0.000693333 0.00068 0.0007 0.000646667 0.000653333 +0.000686667 0.000706667 0.00068 0.000673333 0.000713333 0.000673333 0.00068 0.00068 +0.00068 0.000673333 0.00066 0.000686667 0.00068 0.00064 0.00066 0.00068 +0.000686667 0.000693333 0.00068 0.00066 0.00066 0.000673333 0.000653333 0.000653333 +0.00068 0.000666667 0.000686667 0.000706667 0.00068 0.000666667 0.000673333 0.000673333 +0.000666667 0.000653333 0.00066 0.000653333 0.000673333 0.00068 0.00068 0.000693333 +0.000666667 0.00064 0.000653333 0.00068 0.00068 0.000673333 0.000666667 0.000666667 +0.00066 0.000653333 0.000613333 0.000633333 0.00064 0.000646667 0.000653333 0.000666667 +0.00066 0.000646667 0.000673333 0.000653333 0.000633333 0.000633333 0.000666667 0.00068 +0.000686667 0.000653333 0.000666667 0.0007 0.000666667 0.000666667 0.00064 0.00066 +0.000686667 0.00068 0.000673333 0.000693333 0.0007 0.0007 0.000706667 0.000693333 +0.000693333 0.000673333 0.000693333 0.000693333 0.000706667 0.000706667 0.000706667 0.0007 +0.000693333 0.000686667 0.0007 0.000693333 0.000666667 0.000686667 0.000713333 0.000706667 +0.000693333 0.000706667 0.0007 0.000706667 0.000713333 0.000706667 0.000713333 0.000686667 +0.000713333 0.00072 0.0007 0.000706667 0.00068 0.000713333 0.000733333 0.000706667 +0.00072 0.00072 0.000726667 0.000726667 0.00072 0.00072 0.000693333 0.00072 +0.000726667 0.000733333 0.00074 0.00072 0.0007 0.0007 0.000733333 0.000753333 +0.000726667 0.000713333 0.00074 0.000746667 0.00074 0.000753333 0.000726667 0.00072 +0.000726667 0.00078 0.000753333 0.000726667 0.000753333 0.00074 0.000733333 0.000746667 +0.000713333 0.000726667 0.000746667 0.000753333 0.00074 0.000753333 0.00076 0.000773333 +0.000773333 0.00076 0.00072 0.000733333 0.00076 0.000773333 0.000766667 0.00076 +0.000793333 0.00076 0.00076 0.000753333 0.000766667 0.000753333 0.00076 0.000786667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000746667 +0.000733333 0.000746667 0.000746667 0.00078 0.000786667 0.000773333 0.00076 0.000733333 +0.000713333 0.000753333 0.000753333 0.000726667 0.000726667 0.000726667 0.00074 0.000733333 +0.00072 0.000713333 0.000733333 0.000733333 0.000726667 0.00074 0.000733333 0.000753333 +0.00074 0.000706667 0.0007 0.000713333 0.000726667 0.000726667 0.000733333 0.000713333 +0.000686667 0.000713333 0.00072 0.00072 0.000746667 0.000733333 0.000726667 0.000726667 +0.00072 0.000706667 0.000726667 0.000726667 0.000693333 0.000706667 0.00072 0.000726667 +0.000733333 0.000726667 0.0007 0.000713333 0.00072 0.00072 0.000713333 0.000706667 +0.000706667 0.000733333 0.00074 0.00072 0.0007 0.0007 0.000693333 0.000693333 +0.000713333 0.00072 0.000693333 0.000686667 0.000693333 0.000706667 0.000733333 0.000693333 +0.000673333 0.00072 0.000713333 0.00072 0.0007 0.000686667 0.000713333 0.000713333 +0.00072 0.0007 0.000706667 0.000693333 0.000693333 0.000713333 0.00072 0.000713333 +0.0007 0.000686667 0.000686667 0.000713333 0.000733333 0.00072 0.0007 0.000693333 +0.0007 0.0007 0.0007 0.00066 0.00066 0.000673333 0.00066 0.000673333 +0.000673333 0.000673333 0.000666667 0.0007 0.000686667 0.000653333 0.000673333 0.000666667 +0.00068 0.00068 0.000666667 0.000673333 0.000686667 0.000686667 0.000666667 0.00068 +0.0007 0.000686667 0.000673333 0.000666667 0.000653333 0.000653333 0.00066 0.000666667 +0.000666667 0.000653333 0.000653333 0.00066 0.000646667 0.000666667 0.000686667 0.00066 +0.000666667 0.000653333 0.00064 0.00064 0.000693333 0.000686667 0.00064 0.000673333 +0.000686667 0.00068 0.00066 0.000693333 0.000706667 0.00068 0.000653333 0.000673333 +0.0007 0.000653333 0.000633333 0.000693333 0.00072 0.000666667 0.000646667 0.00064 +0.00066 0.000693333 0.000706667 0.000686667 0.00066 0.000666667 0.000666667 0.00068 +0.0007 0.0007 0.000706667 0.000706667 0.00068 0.00064 0.00066 0.000686667 +0.0007 0.000673333 0.000666667 0.00066 0.00068 0.0007 0.000686667 0.00066 +0.000673333 0.000713333 0.0007 0.00068 0.00068 0.000693333 0.000666667 0.000673333 +0.000706667 0.000693333 0.00068 0.000646667 0.000653333 0.000673333 0.00068 0.000693333 +0.000666667 0.000673333 0.000666667 0.000693333 0.0007 0.00064 0.000653333 0.00068 +0.000666667 0.0007 0.00068 0.00066 0.000673333 0.000693333 0.000693333 0.000666667 +0.00066 0.000653333 0.000666667 0.00066 0.000653333 0.000666667 0.0007 0.00068 +0.000666667 0.000666667 0.00066 0.000693333 0.00068 0.00068 0.000673333 0.000673333 +0.000653333 0.00066 0.000686667 0.000693333 0.000673333 0.00066 0.000693333 0.000693333 +0.00068 0.000673333 0.0007 0.00068 0.000653333 0.000693333 0.000713333 0.000686667 +0.000666667 0.00068 0.000706667 0.000673333 0.00068 0.0007 0.000686667 0.000693333 +0.000706667 0.00066 0.00066 0.00066 0.00066 0.000706667 0.0007 0.000686667 +0.000666667 0.000686667 0.000646667 0.00066 0.000686667 0.000686667 0.000686667 0.00068 +0.000673333 0.00066 0.000666667 0.000686667 0.000673333 0.00068 0.0007 0.000713333 +0.00068 0.000686667 0.0007 0.000673333 0.000673333 0.000666667 0.000673333 0.000693333 +0.000686667 0.000686667 0.0007 0.0007 0.000686667 0.000666667 0.00066 0.00068 +0.000686667 0.000673333 0.00068 0.000706667 0.000693333 0.00068 0.00066 0.00068 +0.0007 0.000686667 0.00066 0.000686667 0.000706667 0.00066 0.000693333 0.0007 +0.000666667 0.00066 0.000666667 0.000693333 0.000666667 0.00066 0.000693333 0.000686667 +0.00068 0.00068 0.00068 0.000666667 0.00068 0.00068 0.000653333 0.000646667 +0.00068 0.000686667 0.0007 0.0007 0.000673333 0.000673333 0.000666667 0.000653333 +0.000673333 0.000673333 0.00068 0.000653333 0.00066 0.000686667 0.0007 0.00068 +0.000653333 0.00066 0.00066 0.000666667 0.000686667 0.000686667 0.000673333 0.000653333 +0.000686667 0.000646667 0.000613333 0.00064 0.000646667 0.00064 0.000646667 0.000673333 +0.00064 0.000646667 0.000666667 0.00066 0.000633333 0.00062 0.000673333 0.0007 +0.000686667 0.00066 0.00066 0.000673333 0.000673333 0.00066 0.000633333 0.000653333 +0.000686667 0.000686667 0.000686667 0.0007 0.000706667 0.000693333 0.00068 0.000686667 +0.000693333 0.000693333 0.000686667 0.000706667 0.000706667 0.000693333 0.000686667 0.00068 +0.00068 0.000713333 0.00072 0.000673333 0.000666667 0.000693333 0.000713333 0.000693333 +0.00068 0.0007 0.000706667 0.00072 0.000693333 0.000686667 0.000706667 0.0007 +0.00074 0.000726667 0.000686667 0.0007 0.000693333 0.000726667 0.000706667 0.000706667 +0.00074 0.000726667 0.00072 0.000706667 0.00072 0.000713333 0.0007 0.000693333 +0.0007 0.00074 0.00074 0.000713333 0.00068 0.000726667 0.000746667 0.000733333 +0.000726667 0.000746667 0.000733333 0.000746667 0.00072 0.000753333 0.000733333 0.00072 +0.000753333 0.00076 0.000726667 0.000733333 0.000733333 0.000726667 0.000733333 0.00074 +0.000726667 0.000746667 0.000746667 0.00074 0.00074 0.000766667 0.000746667 0.00074 +0.000753333 0.00076 0.00074 0.00076 0.000773333 0.00076 0.000773333 0.000766667 +0.00078 0.000773333 0.000773333 0.00074 0.000753333 0.00076 0.00076 0.00078 +0.0008 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 0.000753333 +0.000733333 0.000753333 0.00074 0.000746667 0.000766667 0.000766667 0.000773333 0.00076 +0.00074 0.000733333 0.000746667 0.000746667 0.000746667 0.000726667 0.000713333 0.00072 +0.000733333 0.000726667 0.00074 0.00074 0.00072 0.00072 0.000726667 0.000753333 +0.000753333 0.00074 0.000726667 0.000713333 0.000706667 0.000713333 0.00074 0.00074 +0.000713333 0.0007 0.0007 0.000706667 0.000726667 0.000733333 0.000733333 0.00072 +0.00072 0.000726667 0.00074 0.00076 0.000726667 0.000693333 0.000693333 0.0007 +0.0007 0.000726667 0.00072 0.00072 0.00072 0.0007 0.000713333 0.000726667 +0.00072 0.000713333 0.000713333 0.000726667 0.000713333 0.000713333 0.000706667 0.000706667 +0.000706667 0.0007 0.0007 0.000686667 0.000693333 0.00068 0.0007 0.000693333 +0.00068 0.0007 0.000686667 0.000706667 0.00074 0.000713333 0.000706667 0.000693333 +0.0007 0.000713333 0.000713333 0.00072 0.000706667 0.000693333 0.000706667 0.00072 +0.00072 0.000713333 0.000686667 0.0007 0.000713333 0.000726667 0.000726667 0.0007 +0.00068 0.000693333 0.000713333 0.000686667 0.000666667 0.00068 0.000666667 0.000666667 +0.000666667 0.000666667 0.000673333 0.000693333 0.000686667 0.000693333 0.000666667 0.000633333 +0.000693333 0.000693333 0.00068 0.000686667 0.000686667 0.000673333 0.000666667 0.00068 +0.00068 0.000686667 0.00068 0.00066 0.00066 0.00066 0.000673333 0.000653333 +0.000666667 0.00066 0.000646667 0.000686667 0.000673333 0.000666667 0.00068 0.000673333 +0.000673333 0.000666667 0.000653333 0.000633333 0.000686667 0.00068 0.000653333 0.000673333 +0.00068 0.000686667 0.00066 0.000653333 0.0007 0.000713333 0.000666667 0.000653333 +0.000693333 0.000673333 0.000646667 0.000666667 0.000673333 0.000673333 0.00068 0.000646667 +0.00064 0.00068 0.000706667 0.000686667 0.000666667 0.000666667 0.000646667 0.00066 +0.000693333 0.000713333 0.000726667 0.00072 0.000686667 0.000646667 0.000653333 0.000653333 +0.000666667 0.000666667 0.00068 0.000673333 0.000673333 0.000706667 0.000686667 0.000673333 +0.000673333 0.000693333 0.0007 0.000686667 0.000686667 0.000706667 0.000673333 0.000673333 +0.000726667 0.00068 0.000673333 0.000666667 0.000673333 0.000673333 0.000673333 0.000686667 +0.000653333 0.000666667 0.000673333 0.0007 0.000706667 0.000666667 0.000666667 0.000673333 +0.000666667 0.000706667 0.000673333 0.000666667 0.000673333 0.000666667 0.000713333 0.000686667 +0.000653333 0.000653333 0.000653333 0.000673333 0.000673333 0.000653333 0.00068 0.00068 +0.000653333 0.000673333 0.000673333 0.000686667 0.000686667 0.000653333 0.000646667 0.000673333 +0.000666667 0.000646667 0.000673333 0.000693333 0.000686667 0.000666667 0.0007 0.00068 +0.00066 0.000673333 0.000706667 0.000673333 0.000653333 0.000686667 0.000706667 0.00068 +0.000666667 0.000673333 0.0007 0.000673333 0.000666667 0.00068 0.000686667 0.000693333 +0.000686667 0.00066 0.00068 0.000666667 0.000666667 0.000726667 0.000706667 0.000673333 +0.000686667 0.000693333 0.000646667 0.000673333 0.00068 0.00066 0.00068 0.000686667 +0.000673333 0.000666667 0.000666667 0.000686667 0.000666667 0.00068 0.000706667 0.00072 +0.0007 0.000693333 0.000706667 0.00068 0.000673333 0.00068 0.000673333 0.000686667 +0.000693333 0.000673333 0.0007 0.000713333 0.000706667 0.000653333 0.000666667 0.000686667 +0.00068 0.000686667 0.000693333 0.000693333 0.000673333 0.00066 0.000653333 0.000693333 +0.000693333 0.000673333 0.000646667 0.000686667 0.000686667 0.000666667 0.000693333 0.000713333 +0.000666667 0.00066 0.000686667 0.0007 0.00068 0.000673333 0.000673333 0.00068 +0.000666667 0.00066 0.00068 0.000666667 0.000693333 0.000666667 0.000653333 0.00064 +0.000686667 0.000706667 0.000706667 0.000693333 0.00068 0.000673333 0.000653333 0.00066 +0.000693333 0.000693333 0.00066 0.000646667 0.000666667 0.0007 0.000706667 0.00066 +0.000646667 0.00068 0.000686667 0.000673333 0.00068 0.00066 0.000673333 0.000653333 +0.000693333 0.000653333 0.00062 0.000653333 0.000646667 0.000646667 0.000646667 0.000673333 +0.000653333 0.00066 0.000666667 0.00066 0.000633333 0.00062 0.000673333 0.0007 +0.000673333 0.000653333 0.00066 0.00066 0.000686667 0.000666667 0.000646667 0.00066 +0.00068 0.00068 0.000693333 0.000713333 0.000693333 0.000686667 0.00068 0.00068 +0.000686667 0.0007 0.00068 0.000713333 0.000693333 0.000693333 0.000686667 0.000693333 +0.000706667 0.000726667 0.000686667 0.00066 0.0007 0.0007 0.000686667 0.000666667 +0.000706667 0.00072 0.0007 0.000693333 0.00068 0.0007 0.000713333 0.000713333 +0.00072 0.000713333 0.000686667 0.00072 0.000733333 0.000713333 0.000686667 0.00072 +0.000733333 0.00072 0.000713333 0.0007 0.000713333 0.000713333 0.00072 0.0007 +0.000713333 0.000726667 0.000706667 0.000713333 0.000713333 0.000726667 0.000733333 0.00074 +0.000726667 0.00074 0.00072 0.00074 0.00072 0.000746667 0.00074 0.00074 +0.000733333 0.00074 0.00076 0.000733333 0.0007 0.000726667 0.00074 0.000746667 +0.000746667 0.00074 0.00072 0.000733333 0.000733333 0.000746667 0.00074 0.000733333 +0.000753333 0.000766667 0.00076 0.000753333 0.00076 0.00078 0.000786667 0.000753333 +0.000773333 0.000786667 0.00076 0.000746667 0.00074 0.000753333 0.000773333 0.000773333 +0.000773333 0.00078 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00076 0.000733333 0.00074 +0.000753333 0.000753333 0.00074 0.000733333 0.000713333 0.00074 0.000766667 0.000753333 +0.00076 0.00074 0.00074 0.000746667 0.000753333 0.00074 0.000713333 0.000706667 +0.000713333 0.00072 0.000733333 0.00074 0.000726667 0.000733333 0.000733333 0.000726667 +0.000733333 0.000746667 0.000746667 0.000726667 0.0007 0.000713333 0.000713333 0.000713333 +0.000753333 0.000746667 0.00072 0.000713333 0.000693333 0.0007 0.000726667 0.00072 +0.00072 0.000726667 0.000733333 0.000746667 0.00076 0.00074 0.000693333 0.000693333 +0.000693333 0.000706667 0.0007 0.00072 0.000733333 0.000706667 0.0007 0.000713333 +0.000713333 0.00072 0.000706667 0.00072 0.000713333 0.00072 0.00072 0.000706667 +0.000706667 0.000686667 0.0007 0.000693333 0.0007 0.000693333 0.000706667 0.000686667 +0.00068 0.0007 0.000706667 0.000693333 0.000706667 0.000733333 0.000733333 0.00072 +0.000686667 0.000706667 0.000713333 0.000713333 0.000713333 0.0007 0.000693333 0.000706667 +0.000726667 0.000713333 0.000713333 0.000706667 0.000706667 0.00072 0.000726667 0.000713333 +0.000686667 0.000686667 0.000686667 0.0007 0.0007 0.00068 0.000673333 0.000673333 +0.000673333 0.000673333 0.00066 0.000673333 0.000666667 0.000693333 0.000686667 0.000653333 +0.000673333 0.000673333 0.00068 0.0007 0.000693333 0.000666667 0.00066 0.000673333 +0.00068 0.000693333 0.00068 0.000666667 0.00066 0.000673333 0.000686667 0.000646667 +0.000653333 0.000666667 0.00064 0.000666667 0.00068 0.000686667 0.000693333 0.000673333 +0.00066 0.00068 0.00066 0.000646667 0.00066 0.000666667 0.000673333 0.00068 +0.000686667 0.000686667 0.000673333 0.000646667 0.000673333 0.00072 0.000686667 0.000653333 +0.000673333 0.000673333 0.000686667 0.00068 0.00066 0.000673333 0.000706667 0.000673333 +0.00064 0.000646667 0.00068 0.000693333 0.000673333 0.000673333 0.000666667 0.000646667 +0.000686667 0.000713333 0.0007 0.00068 0.000673333 0.000673333 0.000666667 0.000666667 +0.000653333 0.000666667 0.000693333 0.000686667 0.000666667 0.0007 0.000686667 0.000693333 +0.000706667 0.000673333 0.000666667 0.000673333 0.0007 0.000713333 0.0007 0.00068 +0.000706667 0.000686667 0.000666667 0.00068 0.000693333 0.000706667 0.00068 0.00068 +0.000653333 0.00064 0.000666667 0.000706667 0.0007 0.000673333 0.000673333 0.000673333 +0.000673333 0.0007 0.00068 0.000673333 0.00066 0.000646667 0.000686667 0.000686667 +0.000673333 0.000653333 0.000646667 0.000673333 0.000673333 0.000653333 0.000673333 0.00068 +0.00066 0.000666667 0.000666667 0.000686667 0.000666667 0.000653333 0.000646667 0.000666667 +0.000673333 0.000646667 0.00068 0.000713333 0.000686667 0.00066 0.000686667 0.000673333 +0.000693333 0.000706667 0.0007 0.00068 0.00066 0.00068 0.000713333 0.0007 +0.000653333 0.000653333 0.00068 0.000706667 0.00068 0.00066 0.00068 0.00068 +0.000666667 0.000673333 0.000666667 0.000653333 0.00066 0.000713333 0.000706667 0.00068 +0.000673333 0.000673333 0.000686667 0.000693333 0.000673333 0.00066 0.00068 0.000686667 +0.00066 0.000673333 0.00068 0.00066 0.00066 0.000686667 0.000706667 0.00072 +0.0007 0.00066 0.000686667 0.000693333 0.000686667 0.000686667 0.000673333 0.000706667 +0.000686667 0.000673333 0.000686667 0.00072 0.0007 0.00066 0.000666667 0.0007 +0.000666667 0.00068 0.000726667 0.000686667 0.000646667 0.00066 0.00066 0.000693333 +0.000693333 0.00066 0.000633333 0.000653333 0.000686667 0.000686667 0.000693333 0.0007 +0.000673333 0.00066 0.000673333 0.000686667 0.000666667 0.000673333 0.00066 0.00066 +0.000673333 0.000666667 0.000673333 0.000666667 0.0007 0.000666667 0.00064 0.000653333 +0.000686667 0.000693333 0.000693333 0.000693333 0.000693333 0.000673333 0.00066 0.000673333 +0.0007 0.00068 0.000653333 0.00066 0.000673333 0.000673333 0.000693333 0.00066 +0.000646667 0.000673333 0.000706667 0.00068 0.000646667 0.00064 0.000666667 0.00066 +0.000666667 0.000646667 0.00064 0.000646667 0.00066 0.000646667 0.000653333 0.000673333 +0.00066 0.000646667 0.000646667 0.000653333 0.000653333 0.00066 0.000673333 0.000686667 +0.000646667 0.00066 0.00066 0.00066 0.0007 0.00068 0.000653333 0.000646667 +0.00066 0.000686667 0.000693333 0.000693333 0.000673333 0.000686667 0.00068 0.000666667 +0.00068 0.000686667 0.000686667 0.000713333 0.000686667 0.000693333 0.000686667 0.000693333 +0.000713333 0.000726667 0.000686667 0.000673333 0.000686667 0.000693333 0.00068 0.00068 +0.00072 0.00072 0.00068 0.00068 0.0007 0.000713333 0.000713333 0.000706667 +0.000693333 0.000713333 0.000706667 0.00072 0.00074 0.000706667 0.000713333 0.000733333 +0.00072 0.0007 0.0007 0.000706667 0.00072 0.000713333 0.000726667 0.000733333 +0.000733333 0.000706667 0.000706667 0.00072 0.00072 0.00072 0.000753333 0.00076 +0.00072 0.0007 0.000706667 0.00074 0.000733333 0.00074 0.000733333 0.000713333 +0.00072 0.000753333 0.000766667 0.000706667 0.00072 0.000753333 0.000746667 0.000746667 +0.000733333 0.000706667 0.000733333 0.00076 0.000733333 0.000733333 0.00074 0.00074 +0.000766667 0.000766667 0.000753333 0.00074 0.000753333 0.000786667 0.000773333 0.00076 +0.000766667 0.00078 0.000753333 0.000746667 0.000746667 0.00078 0.000773333 0.000786667 +0.00078 0.000773333 0.000793333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000753333 0.000733333 0.00072 0.00072 +0.000753333 0.00076 0.000753333 0.000746667 0.000713333 0.000713333 0.00074 0.00074 +0.000746667 0.000746667 0.00074 0.000726667 0.000746667 0.000746667 0.000726667 0.00074 +0.000726667 0.000706667 0.00072 0.000733333 0.000726667 0.00074 0.000746667 0.00072 +0.000713333 0.000726667 0.000726667 0.000733333 0.00072 0.0007 0.000706667 0.000706667 +0.000726667 0.000746667 0.00074 0.00074 0.000726667 0.0007 0.0007 0.000706667 +0.000706667 0.0007 0.000713333 0.000726667 0.000746667 0.00076 0.00072 0.000726667 +0.00072 0.000686667 0.000673333 0.0007 0.000726667 0.000713333 0.00072 0.000706667 +0.000713333 0.000733333 0.000733333 0.00072 0.000713333 0.000706667 0.000713333 0.000726667 +0.00072 0.000693333 0.00068 0.0007 0.0007 0.000686667 0.000706667 0.0007 +0.000693333 0.00068 0.000693333 0.00072 0.000713333 0.000713333 0.000733333 0.000753333 +0.000713333 0.0007 0.0007 0.000693333 0.00072 0.000713333 0.000686667 0.000693333 +0.000726667 0.0007 0.000706667 0.000726667 0.000726667 0.000713333 0.000693333 0.0007 +0.000706667 0.00072 0.0007 0.000693333 0.00072 0.0007 0.000673333 0.00066 +0.000686667 0.00068 0.000653333 0.000646667 0.00066 0.000686667 0.000666667 0.00068 +0.00068 0.000653333 0.00066 0.000686667 0.0007 0.000666667 0.00066 0.000653333 +0.000673333 0.00068 0.000673333 0.00068 0.000673333 0.00068 0.000673333 0.000653333 +0.00064 0.000653333 0.000673333 0.00066 0.00066 0.000673333 0.0007 0.0007 +0.00066 0.00068 0.000686667 0.000686667 0.000646667 0.000666667 0.0007 0.000673333 +0.000666667 0.00068 0.000673333 0.000653333 0.000653333 0.000686667 0.000686667 0.00068 +0.000673333 0.000686667 0.0007 0.000673333 0.000666667 0.000686667 0.000673333 0.000673333 +0.000666667 0.000646667 0.000666667 0.0007 0.00068 0.00066 0.000673333 0.00066 +0.000666667 0.0007 0.000693333 0.00066 0.000686667 0.000693333 0.00068 0.000693333 +0.00066 0.000653333 0.000693333 0.000686667 0.00068 0.00068 0.000673333 0.000686667 +0.0007 0.0007 0.00068 0.000673333 0.000686667 0.0007 0.000706667 0.000693333 +0.000686667 0.0007 0.00068 0.00068 0.000693333 0.00072 0.000686667 0.000673333 +0.000646667 0.000646667 0.00068 0.000693333 0.000706667 0.000686667 0.000646667 0.000673333 +0.00068 0.000686667 0.000686667 0.000666667 0.000653333 0.000653333 0.00066 0.000673333 +0.000686667 0.000673333 0.000653333 0.000653333 0.00068 0.00068 0.00066 0.000666667 +0.00066 0.000646667 0.00066 0.000686667 0.000666667 0.000666667 0.000653333 0.000653333 +0.00066 0.000666667 0.000693333 0.000693333 0.000673333 0.00066 0.000653333 0.00066 +0.000693333 0.0007 0.0007 0.000693333 0.00066 0.000673333 0.000706667 0.0007 +0.000666667 0.000646667 0.000686667 0.000713333 0.000673333 0.000666667 0.000686667 0.000686667 +0.000686667 0.00068 0.000653333 0.00066 0.00066 0.00068 0.0007 0.000693333 +0.000673333 0.00066 0.00068 0.000686667 0.00068 0.00068 0.000693333 0.000686667 +0.000666667 0.00068 0.000686667 0.000673333 0.00068 0.000693333 0.0007 0.000726667 +0.00068 0.000653333 0.000693333 0.000686667 0.00068 0.000673333 0.000673333 0.000686667 +0.000686667 0.000673333 0.000686667 0.0007 0.00068 0.00066 0.000666667 0.000686667 +0.00066 0.00068 0.000726667 0.000686667 0.000666667 0.000653333 0.000653333 0.000686667 +0.000706667 0.000673333 0.000646667 0.00068 0.0007 0.00068 0.000693333 0.00068 +0.000666667 0.00066 0.000686667 0.000686667 0.000653333 0.00066 0.000666667 0.00066 +0.00068 0.000686667 0.00066 0.000666667 0.0007 0.000673333 0.000646667 0.000673333 +0.00068 0.000686667 0.000693333 0.000686667 0.000686667 0.00068 0.000686667 0.000686667 +0.00068 0.000673333 0.000673333 0.000666667 0.000666667 0.00066 0.00068 0.000666667 +0.000646667 0.000673333 0.000706667 0.000666667 0.00064 0.00066 0.000653333 0.00066 +0.000626667 0.00064 0.000653333 0.00064 0.00066 0.00066 0.00066 0.000666667 +0.00066 0.000646667 0.00064 0.000626667 0.000646667 0.000686667 0.00068 0.000666667 +0.000666667 0.000666667 0.00064 0.000653333 0.00068 0.000686667 0.00066 0.000633333 +0.000653333 0.000693333 0.000693333 0.000673333 0.000686667 0.00068 0.000653333 0.000653333 +0.000693333 0.0007 0.0007 0.000686667 0.00068 0.000686667 0.000693333 0.000693333 +0.00072 0.00072 0.000706667 0.000693333 0.000673333 0.000686667 0.000673333 0.0007 +0.000713333 0.000706667 0.000673333 0.000686667 0.000726667 0.000686667 0.000693333 0.000693333 +0.000693333 0.000706667 0.0007 0.000706667 0.000726667 0.0007 0.000713333 0.000713333 +0.000713333 0.000713333 0.0007 0.00072 0.00072 0.000713333 0.00072 0.000726667 +0.00072 0.000726667 0.00072 0.000706667 0.000733333 0.000726667 0.00076 0.000733333 +0.000706667 0.000673333 0.000726667 0.00074 0.00074 0.000733333 0.000733333 0.000733333 +0.000746667 0.000746667 0.00072 0.000706667 0.000746667 0.000746667 0.000733333 0.00072 +0.000713333 0.000726667 0.000773333 0.00074 0.00072 0.000753333 0.000753333 0.000753333 +0.000766667 0.00074 0.00074 0.00074 0.000766667 0.00078 0.000746667 0.00076 +0.00076 0.000773333 0.00076 0.000746667 0.000773333 0.000773333 0.000773333 0.000806667 +0.000766667 0.00074 0.000746667 0.00078 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.0008 0.000773333 0.000753333 0.000746667 0.00074 +0.000733333 0.000753333 0.00074 0.000753333 0.000766667 0.000746667 0.00072 0.00072 +0.000733333 0.000733333 0.000753333 0.000733333 0.000726667 0.000746667 0.000726667 0.000733333 +0.000746667 0.00074 0.000726667 0.000733333 0.000733333 0.000733333 0.00074 0.000733333 +0.000726667 0.000726667 0.000706667 0.000706667 0.000713333 0.000713333 0.000733333 0.00072 +0.000713333 0.00072 0.00072 0.000733333 0.000746667 0.000753333 0.000713333 0.000706667 +0.000706667 0.000686667 0.000686667 0.000686667 0.0007 0.000726667 0.000733333 0.000726667 +0.000726667 0.000726667 0.000706667 0.000686667 0.000693333 0.000706667 0.000706667 0.000713333 +0.000726667 0.000706667 0.00074 0.000733333 0.000726667 0.00072 0.000706667 0.000733333 +0.00072 0.0007 0.000686667 0.000686667 0.00072 0.000713333 0.000706667 0.000693333 +0.000693333 0.000673333 0.00066 0.000693333 0.00072 0.000706667 0.000726667 0.00074 +0.000733333 0.000726667 0.00072 0.000693333 0.0007 0.00072 0.000693333 0.000686667 +0.000713333 0.0007 0.0007 0.000706667 0.000733333 0.000726667 0.000693333 0.000666667 +0.000673333 0.000713333 0.00072 0.000686667 0.000693333 0.000713333 0.000706667 0.000673333 +0.000666667 0.000666667 0.000686667 0.000646667 0.000653333 0.000673333 0.000646667 0.000686667 +0.00068 0.00066 0.000666667 0.000686667 0.000686667 0.00066 0.000673333 0.000653333 +0.000653333 0.000653333 0.000666667 0.000686667 0.000686667 0.000686667 0.000646667 0.000646667 +0.000633333 0.000633333 0.000686667 0.000666667 0.00066 0.000673333 0.000686667 0.00068 +0.00068 0.000666667 0.000693333 0.0007 0.000646667 0.000646667 0.00068 0.000686667 +0.000673333 0.00068 0.000686667 0.00066 0.000653333 0.000666667 0.00068 0.000673333 +0.000686667 0.000713333 0.000686667 0.00066 0.000653333 0.000673333 0.000666667 0.00066 +0.00068 0.000673333 0.000653333 0.00068 0.000686667 0.000646667 0.000653333 0.000673333 +0.00066 0.000686667 0.000693333 0.00068 0.0007 0.0007 0.00068 0.000673333 +0.00066 0.00066 0.000686667 0.000673333 0.000686667 0.000693333 0.0007 0.00068 +0.000673333 0.000706667 0.000726667 0.000693333 0.000673333 0.00068 0.000693333 0.000686667 +0.00068 0.000713333 0.000686667 0.000666667 0.00066 0.000693333 0.000693333 0.00068 +0.00066 0.000646667 0.000686667 0.000693333 0.000706667 0.00068 0.000646667 0.000666667 +0.000673333 0.000686667 0.000693333 0.000666667 0.00068 0.000646667 0.000626667 0.00066 +0.00068 0.00068 0.00066 0.00064 0.000693333 0.000686667 0.000673333 0.000666667 +0.000653333 0.000653333 0.00066 0.000686667 0.00068 0.00066 0.000666667 0.00066 +0.000666667 0.000673333 0.000693333 0.000686667 0.00068 0.000673333 0.00064 0.000653333 +0.000666667 0.0007 0.000713333 0.0007 0.00066 0.00066 0.00068 0.000693333 +0.00068 0.000646667 0.000673333 0.000686667 0.00066 0.000666667 0.0007 0.000693333 +0.000693333 0.000666667 0.000653333 0.00068 0.000673333 0.00068 0.0007 0.00068 +0.000686667 0.000673333 0.000666667 0.000686667 0.000686667 0.000666667 0.000673333 0.00068 +0.000673333 0.000686667 0.00068 0.00068 0.00068 0.000673333 0.000693333 0.000726667 +0.000693333 0.00066 0.0007 0.000673333 0.00066 0.000686667 0.000666667 0.00068 +0.0007 0.000666667 0.000673333 0.000686667 0.00068 0.000686667 0.00068 0.00068 +0.000666667 0.0007 0.0007 0.000666667 0.00068 0.000646667 0.00064 0.00068 +0.0007 0.000686667 0.000673333 0.000713333 0.000693333 0.000666667 0.000686667 0.000653333 +0.000646667 0.00064 0.000686667 0.00068 0.000646667 0.00064 0.00066 0.000673333 +0.000666667 0.000693333 0.000673333 0.00068 0.000686667 0.000666667 0.000693333 0.000666667 +0.00066 0.000693333 0.000686667 0.000673333 0.000673333 0.000693333 0.000706667 0.00068 +0.000666667 0.000666667 0.00066 0.00066 0.00068 0.00068 0.00068 0.00066 +0.00066 0.00068 0.000693333 0.000666667 0.000666667 0.00068 0.00066 0.000666667 +0.000633333 0.000653333 0.000673333 0.000653333 0.000646667 0.000646667 0.00066 0.00066 +0.000666667 0.000646667 0.000633333 0.000626667 0.00066 0.000693333 0.00068 0.000673333 +0.000666667 0.00066 0.000626667 0.000633333 0.00066 0.000686667 0.000673333 0.00064 +0.00066 0.000693333 0.000693333 0.000693333 0.0007 0.000653333 0.00064 0.000686667 +0.000693333 0.0007 0.000686667 0.000673333 0.000686667 0.000693333 0.0007 0.000706667 +0.00072 0.0007 0.000693333 0.0007 0.000693333 0.000686667 0.00068 0.000713333 +0.000706667 0.000686667 0.0007 0.0007 0.000713333 0.000653333 0.0007 0.000713333 +0.000686667 0.000693333 0.000693333 0.0007 0.00072 0.000706667 0.000693333 0.000713333 +0.000733333 0.000706667 0.00072 0.000726667 0.000726667 0.00072 0.00072 0.000706667 +0.000706667 0.00074 0.000733333 0.0007 0.000726667 0.00072 0.000713333 0.000706667 +0.00072 0.000706667 0.00074 0.000713333 0.000726667 0.00074 0.000766667 0.000753333 +0.00072 0.00072 0.000733333 0.000746667 0.000753333 0.00072 0.000706667 0.000693333 +0.000746667 0.000773333 0.000753333 0.00072 0.000753333 0.000766667 0.00076 0.000753333 +0.00074 0.000733333 0.00076 0.000753333 0.00078 0.000773333 0.00074 0.000766667 +0.00076 0.00078 0.000766667 0.000766667 0.00078 0.000773333 0.000786667 0.000793333 +0.00074 0.000733333 0.00076 0.000773333 0.000773333 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00074 0.000726667 0.000733333 0.00076 0.00078 0.000766667 +0.000746667 0.00074 0.00074 0.000746667 0.000753333 0.00076 0.000746667 0.000726667 +0.00074 0.000726667 0.000733333 0.000746667 0.00074 0.000746667 0.00072 0.000706667 +0.000726667 0.000746667 0.000753333 0.000746667 0.000713333 0.000686667 0.000713333 0.000753333 +0.000753333 0.000746667 0.000726667 0.000713333 0.000706667 0.00072 0.000733333 0.000726667 +0.00072 0.000706667 0.000706667 0.0007 0.00072 0.000753333 0.000753333 0.000733333 +0.00072 0.000706667 0.000693333 0.000693333 0.000693333 0.000693333 0.000713333 0.000713333 +0.000726667 0.000733333 0.000733333 0.00072 0.0007 0.000693333 0.000706667 0.000706667 +0.00072 0.00068 0.000693333 0.00072 0.000726667 0.00074 0.000726667 0.00072 +0.000713333 0.000713333 0.00072 0.000686667 0.000686667 0.00072 0.000726667 0.000686667 +0.000673333 0.000686667 0.000673333 0.00066 0.00068 0.00068 0.00072 0.000733333 +0.000733333 0.000726667 0.000733333 0.00074 0.0007 0.000693333 0.000686667 0.000693333 +0.000686667 0.000673333 0.0007 0.000686667 0.0007 0.000713333 0.000726667 0.000693333 +0.000673333 0.000686667 0.00068 0.000686667 0.00068 0.000686667 0.000713333 0.000706667 +0.000693333 0.00068 0.000693333 0.00066 0.000653333 0.00066 0.00064 0.000666667 +0.000666667 0.00066 0.00068 0.000706667 0.00068 0.00066 0.00068 0.000666667 +0.00066 0.000646667 0.000653333 0.000673333 0.00068 0.000673333 0.000646667 0.000653333 +0.000653333 0.000646667 0.00068 0.00068 0.000673333 0.00068 0.00068 0.000666667 +0.000673333 0.00066 0.000686667 0.000693333 0.000666667 0.000653333 0.000646667 0.000673333 +0.00068 0.000673333 0.000673333 0.000666667 0.000673333 0.000673333 0.00068 0.000666667 +0.000686667 0.000706667 0.000686667 0.00066 0.000653333 0.000666667 0.000666667 0.000666667 +0.00068 0.00068 0.00066 0.00066 0.00068 0.000666667 0.000646667 0.000653333 +0.000666667 0.00068 0.000673333 0.0007 0.0007 0.000693333 0.000686667 0.000653333 +0.000666667 0.000673333 0.00068 0.000666667 0.000653333 0.000693333 0.000726667 0.0007 +0.00066 0.000673333 0.000733333 0.00072 0.000653333 0.000666667 0.000686667 0.00068 +0.00068 0.000706667 0.0007 0.00068 0.000653333 0.00066 0.000686667 0.000686667 +0.000673333 0.000646667 0.00066 0.00068 0.000693333 0.000673333 0.000673333 0.000673333 +0.000666667 0.000686667 0.000686667 0.000666667 0.000686667 0.000653333 0.000626667 0.000646667 +0.00068 0.000673333 0.00066 0.00066 0.000693333 0.000673333 0.00068 0.000693333 +0.00068 0.00066 0.000633333 0.00068 0.000686667 0.000653333 0.000673333 0.00066 +0.000673333 0.00066 0.000666667 0.000693333 0.000706667 0.00068 0.000673333 0.00066 +0.000646667 0.000706667 0.000706667 0.000693333 0.00068 0.000653333 0.00066 0.000686667 +0.000666667 0.00064 0.000666667 0.000693333 0.000673333 0.000666667 0.000686667 0.000686667 +0.000686667 0.000673333 0.000666667 0.00068 0.000686667 0.00068 0.000686667 0.000666667 +0.000673333 0.000686667 0.000666667 0.00068 0.00068 0.00064 0.000673333 0.000686667 +0.000673333 0.00068 0.000673333 0.000673333 0.000666667 0.000673333 0.000693333 0.0007 +0.00068 0.000653333 0.00068 0.000673333 0.00068 0.000686667 0.000673333 0.000673333 +0.0007 0.00066 0.00068 0.000693333 0.000673333 0.000686667 0.000693333 0.000686667 +0.00068 0.0007 0.000686667 0.00066 0.000666667 0.00066 0.000653333 0.000693333 +0.00068 0.000673333 0.000686667 0.000693333 0.00068 0.00066 0.00068 0.000653333 +0.000653333 0.000646667 0.00066 0.000646667 0.000653333 0.000646667 0.000673333 0.000686667 +0.00066 0.000666667 0.000666667 0.000693333 0.00068 0.00068 0.0007 0.00064 +0.000673333 0.0007 0.000666667 0.000673333 0.000673333 0.0007 0.00068 0.000673333 +0.000666667 0.000653333 0.000653333 0.000666667 0.00068 0.00068 0.00066 0.000673333 +0.000686667 0.000673333 0.000646667 0.00068 0.000693333 0.00068 0.000653333 0.000653333 +0.000653333 0.000666667 0.000686667 0.000666667 0.000633333 0.000633333 0.000653333 0.00066 +0.00066 0.000633333 0.000626667 0.00066 0.000673333 0.000686667 0.000673333 0.000653333 +0.000646667 0.000666667 0.000646667 0.00064 0.000666667 0.00068 0.000673333 0.000666667 +0.000666667 0.000686667 0.0007 0.000706667 0.000673333 0.00062 0.000646667 0.0007 +0.00068 0.000686667 0.000686667 0.000686667 0.00072 0.000726667 0.0007 0.000713333 +0.000713333 0.0007 0.000693333 0.000693333 0.000686667 0.000673333 0.0007 0.000706667 +0.0007 0.000706667 0.00072 0.000693333 0.000673333 0.000686667 0.00072 0.000713333 +0.000686667 0.000706667 0.0007 0.0007 0.000706667 0.000713333 0.0007 0.000713333 +0.00072 0.000706667 0.000726667 0.000733333 0.00072 0.00072 0.000706667 0.000713333 +0.00072 0.000713333 0.000733333 0.000706667 0.000713333 0.000686667 0.0007 0.00072 +0.000733333 0.000746667 0.00074 0.000686667 0.00074 0.000766667 0.00076 0.000733333 +0.000713333 0.000753333 0.000766667 0.00072 0.000693333 0.000706667 0.000713333 0.000726667 +0.000753333 0.000753333 0.00074 0.00076 0.000773333 0.000753333 0.00074 0.000733333 +0.000746667 0.00076 0.000766667 0.000766667 0.00078 0.000766667 0.000746667 0.000766667 +0.000766667 0.000753333 0.000746667 0.000766667 0.000786667 0.00078 0.00076 0.00078 +0.000753333 0.000773333 0.000766667 0.000746667 0.000753333 0.000773333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000786667 0.000753333 0.00072 0.00072 0.00074 0.00074 0.000766667 +0.000766667 0.000746667 0.000733333 0.000746667 0.000746667 0.000746667 0.00076 0.000746667 +0.000746667 0.00074 0.000733333 0.00074 0.000753333 0.00074 0.000706667 0.00072 +0.000726667 0.000733333 0.000733333 0.00074 0.00072 0.000686667 0.000693333 0.000726667 +0.000753333 0.000746667 0.00074 0.000746667 0.000726667 0.000713333 0.000713333 0.00072 +0.000726667 0.000706667 0.0007 0.000693333 0.000706667 0.000726667 0.000733333 0.000726667 +0.000726667 0.00074 0.00072 0.000713333 0.00072 0.0007 0.0007 0.000686667 +0.0007 0.00072 0.00072 0.000726667 0.000726667 0.000733333 0.000726667 0.000713333 +0.00072 0.000713333 0.000673333 0.000686667 0.000713333 0.00074 0.000746667 0.000713333 +0.00072 0.000713333 0.00072 0.000726667 0.000706667 0.000693333 0.0007 0.0007 +0.00068 0.0007 0.0007 0.000686667 0.000673333 0.00066 0.000686667 0.000693333 +0.000713333 0.000706667 0.00072 0.00076 0.000746667 0.000713333 0.000693333 0.000706667 +0.000693333 0.000686667 0.000713333 0.0007 0.00068 0.00068 0.000726667 0.000713333 +0.000713333 0.000693333 0.000646667 0.00068 0.000686667 0.000673333 0.000693333 0.000693333 +0.0007 0.000706667 0.000673333 0.000653333 0.00066 0.000646667 0.000653333 0.00068 +0.000666667 0.00066 0.00068 0.000693333 0.00068 0.000666667 0.000666667 0.000666667 +0.000686667 0.000666667 0.000646667 0.000646667 0.000646667 0.00064 0.00066 0.00068 +0.000666667 0.000666667 0.00068 0.000686667 0.000686667 0.000693333 0.000673333 0.000666667 +0.000673333 0.00066 0.000666667 0.000686667 0.00068 0.00066 0.000653333 0.000653333 +0.000653333 0.00066 0.000666667 0.000666667 0.000666667 0.000673333 0.000693333 0.000666667 +0.000673333 0.000693333 0.000686667 0.00068 0.000686667 0.000673333 0.000653333 0.000653333 +0.00068 0.00068 0.000686667 0.000666667 0.000666667 0.000673333 0.00068 0.000666667 +0.000666667 0.00066 0.000673333 0.000706667 0.0007 0.0007 0.000686667 0.000646667 +0.000686667 0.000686667 0.000673333 0.00068 0.00064 0.000653333 0.000706667 0.000706667 +0.000673333 0.00066 0.000713333 0.000733333 0.000666667 0.000653333 0.000686667 0.00068 +0.00068 0.000706667 0.000706667 0.000693333 0.00066 0.000653333 0.000686667 0.000693333 +0.000686667 0.00066 0.000646667 0.000673333 0.00068 0.000686667 0.000693333 0.00068 +0.000666667 0.000666667 0.00068 0.000666667 0.000673333 0.000666667 0.00066 0.000653333 +0.000686667 0.00066 0.000653333 0.000686667 0.00068 0.000666667 0.000693333 0.0007 +0.000673333 0.000666667 0.000653333 0.000673333 0.000686667 0.000666667 0.000666667 0.00068 +0.00068 0.000666667 0.000673333 0.000706667 0.000713333 0.000693333 0.000686667 0.000673333 +0.000653333 0.000706667 0.0007 0.000706667 0.000706667 0.000673333 0.00066 0.00066 +0.000666667 0.000666667 0.000666667 0.000693333 0.000686667 0.00068 0.000686667 0.00066 +0.000673333 0.0007 0.00068 0.000666667 0.000686667 0.00068 0.000666667 0.000666667 +0.000673333 0.000686667 0.000666667 0.00066 0.000673333 0.000653333 0.000673333 0.00068 +0.000666667 0.00068 0.00068 0.000686667 0.0007 0.000693333 0.000673333 0.000686667 +0.000693333 0.000653333 0.000666667 0.00068 0.00068 0.00068 0.000666667 0.000673333 +0.000693333 0.000673333 0.000686667 0.000713333 0.00068 0.000666667 0.000686667 0.000686667 +0.000686667 0.0007 0.000686667 0.000666667 0.000673333 0.000666667 0.00066 0.000706667 +0.000673333 0.000666667 0.00068 0.0007 0.00068 0.000666667 0.00068 0.000653333 +0.000653333 0.000673333 0.000673333 0.000646667 0.000666667 0.000666667 0.00068 0.00066 +0.000666667 0.000646667 0.000653333 0.00072 0.000686667 0.000673333 0.00068 0.00066 +0.0007 0.000693333 0.000673333 0.000686667 0.000686667 0.00068 0.00066 0.000693333 +0.00068 0.000653333 0.000666667 0.000673333 0.00068 0.000666667 0.000666667 0.000686667 +0.000686667 0.000666667 0.00064 0.000673333 0.000686667 0.000673333 0.00066 0.000633333 +0.00066 0.00066 0.000666667 0.00068 0.000646667 0.000646667 0.00068 0.00068 +0.000653333 0.000633333 0.00064 0.00066 0.000673333 0.000673333 0.00066 0.000633333 +0.000633333 0.000653333 0.00066 0.000653333 0.000686667 0.000686667 0.000673333 0.000666667 +0.000653333 0.000693333 0.000686667 0.000686667 0.000653333 0.000646667 0.000666667 0.000673333 +0.000673333 0.0007 0.000713333 0.0007 0.00072 0.00072 0.000706667 0.000713333 +0.0007 0.00068 0.0007 0.000693333 0.00068 0.000666667 0.000706667 0.000713333 +0.0007 0.0007 0.000706667 0.00068 0.000666667 0.000706667 0.0007 0.000706667 +0.000706667 0.00072 0.000706667 0.000693333 0.000706667 0.000733333 0.00072 0.0007 +0.0007 0.000706667 0.000746667 0.000726667 0.000726667 0.000726667 0.000706667 0.00074 +0.00072 0.000693333 0.000726667 0.0007 0.000706667 0.0007 0.000706667 0.000746667 +0.000733333 0.000733333 0.000713333 0.000733333 0.000766667 0.000773333 0.00074 0.000733333 +0.00074 0.00076 0.000726667 0.000693333 0.000706667 0.000726667 0.000726667 0.000746667 +0.000733333 0.000733333 0.00076 0.00078 0.000746667 0.000733333 0.000726667 0.000746667 +0.00078 0.000766667 0.000766667 0.00076 0.000773333 0.000766667 0.00074 0.000746667 +0.00076 0.000753333 0.00076 0.000773333 0.00078 0.000766667 0.00076 0.000766667 +0.00076 0.000766667 0.000766667 0.000746667 0.000753333 0.000773333 0.00078 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00078 0.000746667 0.00074 0.00074 0.00074 0.000753333 0.000733333 0.000713333 +0.000746667 0.000766667 0.000753333 0.000733333 0.00072 0.000733333 0.000733333 0.000733333 +0.000746667 0.000746667 0.00074 0.000733333 0.000733333 0.00072 0.000713333 0.00074 +0.00076 0.000733333 0.000686667 0.00072 0.000746667 0.000733333 0.000726667 0.000706667 +0.00072 0.000726667 0.000733333 0.000746667 0.000733333 0.00072 0.000706667 0.000713333 +0.000713333 0.000713333 0.000726667 0.000713333 0.00074 0.000726667 0.000706667 0.00072 +0.00072 0.000733333 0.000726667 0.000726667 0.000706667 0.0007 0.000706667 0.000713333 +0.000693333 0.0007 0.00072 0.000713333 0.000726667 0.00072 0.000713333 0.000726667 +0.00072 0.000733333 0.000713333 0.000673333 0.000693333 0.000693333 0.000706667 0.000713333 +0.000726667 0.000726667 0.000706667 0.00072 0.000746667 0.000726667 0.0007 0.000693333 +0.000686667 0.000706667 0.000726667 0.000726667 0.000713333 0.000693333 0.000686667 0.000653333 +0.000673333 0.000693333 0.000706667 0.000726667 0.000753333 0.000733333 0.000706667 0.000713333 +0.000706667 0.0007 0.000713333 0.000726667 0.000706667 0.000673333 0.000686667 0.000686667 +0.000713333 0.000706667 0.000673333 0.00068 0.000686667 0.000666667 0.000673333 0.000666667 +0.000666667 0.000713333 0.000693333 0.000673333 0.00068 0.00064 0.00066 0.0007 +0.00068 0.000666667 0.00068 0.000673333 0.000666667 0.00068 0.000686667 0.000686667 +0.000666667 0.000653333 0.00066 0.00064 0.000646667 0.000626667 0.000646667 0.000673333 +0.000666667 0.000666667 0.000666667 0.000693333 0.000713333 0.0007 0.00066 0.000666667 +0.000673333 0.000686667 0.000646667 0.00066 0.0007 0.000673333 0.00066 0.000673333 +0.00066 0.000653333 0.00068 0.000693333 0.00066 0.000666667 0.000706667 0.000693333 +0.000666667 0.000673333 0.00068 0.000673333 0.00068 0.00068 0.00068 0.000666667 +0.000653333 0.000666667 0.000686667 0.000686667 0.000666667 0.000653333 0.00068 0.000666667 +0.00066 0.000653333 0.000673333 0.0007 0.000693333 0.0007 0.000693333 0.00068 +0.00068 0.00068 0.000686667 0.000693333 0.000666667 0.000633333 0.000686667 0.0007 +0.00068 0.00068 0.000693333 0.000706667 0.0007 0.000653333 0.000666667 0.000693333 +0.000693333 0.000693333 0.000706667 0.0007 0.000686667 0.00068 0.000673333 0.000686667 +0.000686667 0.000653333 0.00066 0.00068 0.000666667 0.00068 0.000693333 0.000686667 +0.000673333 0.00066 0.00068 0.000673333 0.00068 0.00068 0.000653333 0.000673333 +0.000686667 0.000666667 0.000673333 0.000673333 0.000666667 0.000653333 0.000693333 0.0007 +0.000646667 0.000666667 0.000673333 0.000666667 0.000686667 0.000653333 0.000653333 0.000686667 +0.00068 0.000653333 0.000686667 0.0007 0.000706667 0.000693333 0.000673333 0.000666667 +0.000666667 0.000713333 0.000706667 0.000713333 0.000693333 0.00068 0.00068 0.000673333 +0.000693333 0.00068 0.000673333 0.00068 0.000673333 0.000673333 0.000693333 0.000673333 +0.000673333 0.000693333 0.000673333 0.000666667 0.000673333 0.000673333 0.00068 0.00068 +0.000666667 0.000673333 0.000686667 0.000673333 0.000666667 0.000666667 0.00068 0.000686667 +0.000673333 0.000693333 0.00068 0.00068 0.0007 0.00066 0.00066 0.0007 +0.000706667 0.00064 0.000673333 0.00068 0.00068 0.0007 0.000693333 0.000666667 +0.000666667 0.000673333 0.0007 0.0007 0.000673333 0.000653333 0.000666667 0.00068 +0.000706667 0.00072 0.00068 0.00066 0.00068 0.00066 0.00066 0.000693333 +0.00068 0.000653333 0.00068 0.000713333 0.000673333 0.00068 0.000686667 0.000646667 +0.000646667 0.0007 0.00068 0.000646667 0.00066 0.00068 0.000693333 0.00064 +0.000673333 0.000646667 0.000653333 0.00072 0.000693333 0.000673333 0.000673333 0.000686667 +0.000706667 0.00068 0.000693333 0.00068 0.000653333 0.000666667 0.000686667 0.000706667 +0.00068 0.000673333 0.000666667 0.000666667 0.000673333 0.00068 0.00068 0.00068 +0.000673333 0.000653333 0.00066 0.000653333 0.00066 0.000666667 0.00066 0.000646667 +0.000653333 0.000653333 0.00066 0.000673333 0.000653333 0.00064 0.000673333 0.000653333 +0.000646667 0.000646667 0.000626667 0.000653333 0.000666667 0.000666667 0.000646667 0.00064 +0.000626667 0.000633333 0.00066 0.000666667 0.000686667 0.000686667 0.000673333 0.000673333 +0.000673333 0.000666667 0.00066 0.00068 0.00068 0.000673333 0.000673333 0.000673333 +0.000706667 0.000706667 0.000706667 0.00068 0.000706667 0.00072 0.00072 0.00072 +0.00068 0.000673333 0.0007 0.000693333 0.000673333 0.000673333 0.000706667 0.000706667 +0.0007 0.000693333 0.000693333 0.000693333 0.000686667 0.0007 0.000666667 0.000713333 +0.00072 0.000713333 0.000713333 0.000686667 0.000706667 0.00074 0.000706667 0.00068 +0.000706667 0.000733333 0.000726667 0.0007 0.000733333 0.00074 0.00072 0.000733333 +0.0007 0.000706667 0.000713333 0.0007 0.00072 0.000726667 0.00072 0.000753333 +0.00074 0.000713333 0.000726667 0.000773333 0.000726667 0.00074 0.000733333 0.00074 +0.00072 0.000733333 0.00072 0.000713333 0.00074 0.000733333 0.000726667 0.000733333 +0.000726667 0.00076 0.00078 0.000753333 0.000713333 0.00074 0.00076 0.000773333 +0.00078 0.00076 0.000746667 0.00074 0.00078 0.000773333 0.000726667 0.000726667 +0.000753333 0.000766667 0.000773333 0.00076 0.00076 0.00076 0.000773333 0.00074 +0.000746667 0.000753333 0.000766667 0.00076 0.000766667 0.00078 0.00078 0.000793333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00078 0.000753333 0.000753333 0.000753333 0.000733333 0.00074 0.000753333 0.00074 +0.00074 0.00074 0.000753333 0.000753333 0.00072 0.00072 0.000726667 0.000733333 +0.00074 0.000726667 0.000726667 0.000746667 0.000726667 0.00072 0.000706667 0.00072 +0.000746667 0.000766667 0.000726667 0.00072 0.000726667 0.00072 0.00074 0.000746667 +0.000726667 0.000713333 0.000713333 0.000726667 0.000733333 0.000713333 0.00072 0.00072 +0.0007 0.0007 0.00072 0.00072 0.000746667 0.000726667 0.000706667 0.000713333 +0.000713333 0.00072 0.000733333 0.000733333 0.000706667 0.000686667 0.000686667 0.000713333 +0.000733333 0.0007 0.0007 0.000706667 0.000706667 0.0007 0.000706667 0.000733333 +0.000713333 0.000713333 0.000733333 0.000693333 0.000686667 0.000686667 0.000653333 0.000693333 +0.00072 0.000733333 0.000733333 0.000706667 0.000726667 0.00072 0.00072 0.000706667 +0.000686667 0.0007 0.000713333 0.000733333 0.000733333 0.00072 0.000706667 0.000673333 +0.000666667 0.000666667 0.00068 0.000693333 0.000726667 0.000713333 0.000713333 0.000726667 +0.000706667 0.000686667 0.000693333 0.00072 0.00072 0.0007 0.000673333 0.000666667 +0.0007 0.0007 0.000693333 0.000693333 0.00068 0.00066 0.00066 0.000673333 +0.000673333 0.000686667 0.000686667 0.000693333 0.0007 0.00066 0.00066 0.00068 +0.000693333 0.000673333 0.00068 0.000666667 0.000653333 0.000673333 0.00068 0.000693333 +0.000653333 0.000633333 0.000673333 0.000653333 0.000633333 0.000633333 0.00064 0.00064 +0.000673333 0.000686667 0.000666667 0.00068 0.000706667 0.000693333 0.00066 0.00066 +0.000673333 0.000693333 0.00066 0.00064 0.000693333 0.000686667 0.000666667 0.000673333 +0.000693333 0.000686667 0.00068 0.0007 0.000686667 0.000653333 0.000673333 0.000706667 +0.00068 0.000646667 0.00066 0.00068 0.00066 0.000666667 0.0007 0.000693333 +0.000646667 0.00064 0.00066 0.000693333 0.00068 0.000653333 0.000653333 0.000646667 +0.000646667 0.00066 0.00068 0.000686667 0.000693333 0.00068 0.0007 0.000706667 +0.000666667 0.000666667 0.00068 0.000693333 0.000686667 0.000653333 0.000686667 0.000693333 +0.000686667 0.00068 0.00066 0.000673333 0.000713333 0.000693333 0.00066 0.00068 +0.00068 0.000673333 0.0007 0.000686667 0.000693333 0.0007 0.000673333 0.000666667 +0.00066 0.000646667 0.00066 0.00068 0.000673333 0.00068 0.000686667 0.000686667 +0.00068 0.000666667 0.000666667 0.000653333 0.00068 0.00068 0.000633333 0.000666667 +0.0007 0.000673333 0.000666667 0.00064 0.000653333 0.000653333 0.000673333 0.0007 +0.00066 0.00068 0.000673333 0.00066 0.00068 0.000646667 0.00064 0.000673333 +0.000673333 0.000673333 0.00066 0.000686667 0.000726667 0.00068 0.000646667 0.000653333 +0.000666667 0.000713333 0.000713333 0.000693333 0.00066 0.000693333 0.000686667 0.000686667 +0.000686667 0.00068 0.000673333 0.000666667 0.000666667 0.00066 0.000706667 0.000706667 +0.000686667 0.000673333 0.000653333 0.000653333 0.000666667 0.00068 0.0007 0.000686667 +0.000646667 0.000653333 0.0007 0.0007 0.000673333 0.00066 0.00068 0.00068 +0.000673333 0.000693333 0.000673333 0.000673333 0.000686667 0.000646667 0.000653333 0.000693333 +0.0007 0.000646667 0.000666667 0.000673333 0.000666667 0.0007 0.000713333 0.000686667 +0.000673333 0.00066 0.000673333 0.000686667 0.000673333 0.000673333 0.000673333 0.000673333 +0.0007 0.000733333 0.00068 0.00066 0.000666667 0.000626667 0.000666667 0.000693333 +0.00068 0.000666667 0.0007 0.000686667 0.000633333 0.000693333 0.000693333 0.000646667 +0.000653333 0.0007 0.00066 0.00064 0.000646667 0.000673333 0.000713333 0.000673333 +0.000673333 0.000653333 0.000673333 0.000693333 0.000693333 0.000686667 0.000666667 0.00068 +0.0007 0.0007 0.0007 0.000686667 0.000653333 0.00066 0.0007 0.000693333 +0.000666667 0.000673333 0.000673333 0.000666667 0.00068 0.000693333 0.000666667 0.000666667 +0.00068 0.00068 0.00066 0.00064 0.000646667 0.000673333 0.000673333 0.00066 +0.000646667 0.000646667 0.000646667 0.00066 0.000686667 0.000673333 0.000673333 0.000646667 +0.000646667 0.00064 0.00064 0.00066 0.000646667 0.000646667 0.00064 0.000673333 +0.00064 0.000633333 0.00064 0.000673333 0.000686667 0.000666667 0.000653333 0.000693333 +0.000693333 0.000633333 0.00066 0.000686667 0.000693333 0.000673333 0.000666667 0.0007 +0.000713333 0.00068 0.000693333 0.000706667 0.00072 0.00072 0.000713333 0.000693333 +0.00068 0.000693333 0.000693333 0.00068 0.00068 0.000706667 0.000713333 0.000706667 +0.0007 0.000693333 0.000693333 0.000706667 0.000693333 0.000673333 0.00068 0.00072 +0.00072 0.0007 0.000706667 0.00068 0.000733333 0.000713333 0.00068 0.000693333 +0.000713333 0.000726667 0.000693333 0.000706667 0.00074 0.00072 0.0007 0.000713333 +0.00072 0.00072 0.00072 0.000726667 0.000713333 0.00072 0.00072 0.000746667 +0.000746667 0.000733333 0.000746667 0.00074 0.000666667 0.000733333 0.000753333 0.000713333 +0.000706667 0.00074 0.000733333 0.00072 0.000733333 0.00074 0.00072 0.00072 +0.00074 0.000786667 0.000766667 0.000733333 0.00072 0.000753333 0.00076 0.000766667 +0.000766667 0.000753333 0.000733333 0.000746667 0.000773333 0.000746667 0.00072 0.00074 +0.000786667 0.000773333 0.00076 0.00076 0.000746667 0.000746667 0.00076 0.00074 +0.000753333 0.000753333 0.000766667 0.00076 0.000773333 0.000773333 0.000746667 0.000773333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000786667 +0.000753333 0.00074 0.000753333 0.000746667 0.000753333 0.000746667 0.000746667 0.00076 +0.00076 0.000733333 0.000726667 0.000753333 0.00074 0.000733333 0.00074 0.000733333 +0.00072 0.000726667 0.00074 0.000746667 0.000733333 0.000713333 0.000733333 0.00072 +0.0007 0.00074 0.00076 0.000746667 0.00072 0.000693333 0.0007 0.000733333 +0.000746667 0.00074 0.00072 0.000706667 0.00072 0.000713333 0.00072 0.000733333 +0.00072 0.000706667 0.0007 0.000686667 0.00072 0.000726667 0.000746667 0.00072 +0.0007 0.000706667 0.00072 0.000733333 0.000733333 0.000733333 0.000706667 0.000686667 +0.000726667 0.000726667 0.000713333 0.000706667 0.00068 0.000673333 0.0007 0.00072 +0.000726667 0.000706667 0.000706667 0.00072 0.0007 0.00072 0.000666667 0.00066 +0.000693333 0.0007 0.00072 0.00072 0.000753333 0.000713333 0.000686667 0.000693333 +0.000706667 0.0007 0.000686667 0.0007 0.00072 0.00074 0.000746667 0.00072 +0.000693333 0.00068 0.00068 0.00068 0.00072 0.0007 0.000693333 0.000706667 +0.000706667 0.000713333 0.000713333 0.00072 0.0007 0.0007 0.00068 0.000673333 +0.000686667 0.000686667 0.00068 0.000686667 0.00068 0.000666667 0.00066 0.000646667 +0.00068 0.000686667 0.000673333 0.00068 0.00068 0.000686667 0.0007 0.000673333 +0.00068 0.000706667 0.000686667 0.00066 0.00064 0.000646667 0.000653333 0.000673333 +0.000666667 0.000646667 0.00066 0.000666667 0.000633333 0.00064 0.000646667 0.000653333 +0.00068 0.000693333 0.000673333 0.000673333 0.000706667 0.00068 0.000673333 0.00068 +0.00068 0.000673333 0.00068 0.000646667 0.00068 0.0007 0.000673333 0.000646667 +0.000673333 0.0007 0.000686667 0.000686667 0.000686667 0.000646667 0.000646667 0.00068 +0.000686667 0.000653333 0.000646667 0.000686667 0.000686667 0.000666667 0.000686667 0.000693333 +0.000673333 0.00064 0.000653333 0.000686667 0.000686667 0.000673333 0.000646667 0.00064 +0.000646667 0.000673333 0.00068 0.00068 0.0007 0.000686667 0.000686667 0.000673333 +0.000673333 0.000693333 0.000673333 0.000693333 0.000693333 0.000653333 0.000673333 0.0007 +0.0007 0.000666667 0.000666667 0.000673333 0.000693333 0.000693333 0.000673333 0.00066 +0.000666667 0.000686667 0.0007 0.000693333 0.000686667 0.000673333 0.000686667 0.00068 +0.000666667 0.000673333 0.000646667 0.00068 0.00068 0.000686667 0.00068 0.000686667 +0.000686667 0.00068 0.000666667 0.00064 0.00066 0.000693333 0.00064 0.00064 +0.0007 0.00068 0.000653333 0.000653333 0.00066 0.000646667 0.000653333 0.0007 +0.0007 0.000693333 0.00066 0.000666667 0.000686667 0.00066 0.00066 0.000666667 +0.00066 0.000673333 0.000666667 0.00068 0.000726667 0.000706667 0.000653333 0.000666667 +0.000666667 0.000686667 0.000693333 0.000673333 0.00066 0.000693333 0.000686667 0.000673333 +0.000673333 0.00068 0.000666667 0.000673333 0.000693333 0.000673333 0.000706667 0.000713333 +0.000706667 0.000666667 0.000633333 0.000626667 0.000666667 0.00068 0.0007 0.000693333 +0.00066 0.000653333 0.00068 0.000673333 0.000666667 0.000653333 0.00068 0.00068 +0.00066 0.0007 0.000713333 0.000686667 0.000666667 0.00066 0.00066 0.0007 +0.0007 0.000646667 0.000666667 0.000673333 0.000666667 0.000673333 0.000686667 0.000706667 +0.00068 0.000673333 0.000686667 0.00068 0.0007 0.000673333 0.000673333 0.000666667 +0.00068 0.000713333 0.000693333 0.000653333 0.000653333 0.000633333 0.000673333 0.000686667 +0.000673333 0.000686667 0.000726667 0.000666667 0.00064 0.0007 0.0007 0.000653333 +0.00066 0.000673333 0.00064 0.000666667 0.00064 0.000653333 0.000693333 0.000686667 +0.000666667 0.00066 0.000686667 0.000686667 0.000666667 0.000693333 0.000673333 0.00066 +0.000706667 0.000706667 0.00068 0.00068 0.00068 0.00066 0.000673333 0.000686667 +0.000673333 0.000673333 0.00066 0.000666667 0.000693333 0.000693333 0.000646667 0.000666667 +0.000686667 0.000666667 0.000666667 0.000653333 0.000666667 0.00068 0.000686667 0.00066 +0.000633333 0.00064 0.000653333 0.000653333 0.000706667 0.000706667 0.000666667 0.000653333 +0.000653333 0.000633333 0.000653333 0.000673333 0.000646667 0.00064 0.000653333 0.00068 +0.000666667 0.00064 0.000646667 0.000673333 0.00066 0.000653333 0.000673333 0.000686667 +0.000666667 0.00064 0.00068 0.000686667 0.00068 0.000666667 0.000693333 0.00072 +0.000693333 0.00066 0.0007 0.000726667 0.000706667 0.000706667 0.000706667 0.000686667 +0.000693333 0.000693333 0.000686667 0.000686667 0.000706667 0.000706667 0.0007 0.0007 +0.0007 0.00068 0.00068 0.000713333 0.000693333 0.000666667 0.000693333 0.00072 +0.000713333 0.000706667 0.000713333 0.000706667 0.000726667 0.000693333 0.000706667 0.000706667 +0.0007 0.000706667 0.0007 0.000713333 0.00072 0.000713333 0.000713333 0.000713333 +0.000726667 0.00072 0.000746667 0.000746667 0.0007 0.000706667 0.000726667 0.00074 +0.000753333 0.00074 0.00072 0.000693333 0.000693333 0.000773333 0.00076 0.000706667 +0.000706667 0.00074 0.00074 0.000713333 0.000733333 0.000733333 0.000733333 0.00076 +0.000786667 0.000773333 0.000733333 0.000733333 0.000733333 0.000753333 0.000753333 0.000753333 +0.000753333 0.00074 0.000746667 0.000753333 0.000746667 0.00074 0.00076 0.00078 +0.000813333 0.000753333 0.00076 0.000766667 0.000753333 0.000746667 0.000746667 0.000733333 +0.000753333 0.000773333 0.00078 0.00076 0.000766667 0.00076 0.000786667 0.000773333 +0.0008 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 0.00078 +0.000766667 0.000773333 0.000773333 0.000733333 0.000733333 0.000766667 0.000766667 0.000766667 +0.000753333 0.000766667 0.00076 0.000726667 0.000726667 0.000753333 0.00076 0.00076 +0.000733333 0.00072 0.00072 0.00074 0.000733333 0.00074 0.00074 0.00072 +0.000706667 0.000713333 0.000726667 0.000753333 0.00074 0.00072 0.000706667 0.000713333 +0.000726667 0.000733333 0.000753333 0.00072 0.000706667 0.000706667 0.000713333 0.00072 +0.000733333 0.000753333 0.00072 0.000666667 0.00068 0.000713333 0.000746667 0.000733333 +0.000713333 0.0007 0.000686667 0.000713333 0.000726667 0.00076 0.000753333 0.000713333 +0.000726667 0.000726667 0.000726667 0.00072 0.000693333 0.00068 0.00068 0.000693333 +0.0007 0.000713333 0.000693333 0.000706667 0.000706667 0.000713333 0.0007 0.000686667 +0.000693333 0.00068 0.000673333 0.000706667 0.000753333 0.000753333 0.000726667 0.000673333 +0.000686667 0.0007 0.000693333 0.000693333 0.00068 0.000726667 0.00076 0.00074 +0.0007 0.000693333 0.000713333 0.000706667 0.000706667 0.0007 0.000693333 0.000686667 +0.000693333 0.000713333 0.000713333 0.000713333 0.0007 0.0007 0.000693333 0.00068 +0.00068 0.000686667 0.000686667 0.000693333 0.000686667 0.000686667 0.000686667 0.000626667 +0.000646667 0.000686667 0.00068 0.000686667 0.000673333 0.000666667 0.0007 0.000686667 +0.00068 0.00072 0.000693333 0.00066 0.000646667 0.00064 0.000646667 0.000653333 +0.000646667 0.000653333 0.00064 0.000633333 0.000646667 0.00066 0.00066 0.00066 +0.00068 0.000673333 0.000673333 0.000693333 0.000693333 0.000673333 0.000686667 0.000693333 +0.00068 0.000666667 0.000693333 0.000653333 0.000646667 0.0007 0.0007 0.000673333 +0.00066 0.000673333 0.000686667 0.000686667 0.00068 0.000653333 0.000653333 0.00066 +0.000666667 0.000666667 0.000666667 0.000666667 0.000673333 0.00068 0.00068 0.00068 +0.000686667 0.00068 0.000666667 0.00066 0.000673333 0.00068 0.00066 0.000646667 +0.000653333 0.000673333 0.000673333 0.000666667 0.000686667 0.000693333 0.00068 0.000666667 +0.000673333 0.000706667 0.000686667 0.000693333 0.000706667 0.000666667 0.000673333 0.000693333 +0.000693333 0.000673333 0.00068 0.0007 0.000686667 0.00068 0.000693333 0.000686667 +0.00068 0.000693333 0.0007 0.000693333 0.000673333 0.00068 0.000693333 0.000693333 +0.0007 0.00068 0.00064 0.000673333 0.00066 0.000673333 0.00068 0.000673333 +0.0007 0.000706667 0.00066 0.000633333 0.00066 0.0007 0.000653333 0.00062 +0.000666667 0.00068 0.000673333 0.000673333 0.000673333 0.000666667 0.000633333 0.000686667 +0.000706667 0.000686667 0.000653333 0.000666667 0.000693333 0.000673333 0.00066 0.000673333 +0.000673333 0.000666667 0.00066 0.000666667 0.000693333 0.000706667 0.0007 0.00068 +0.000666667 0.000686667 0.000666667 0.00068 0.000686667 0.000673333 0.000673333 0.000673333 +0.000666667 0.00068 0.000673333 0.000706667 0.000706667 0.00068 0.000686667 0.00068 +0.0007 0.000673333 0.000633333 0.00062 0.00066 0.000673333 0.0007 0.000713333 +0.00068 0.00066 0.000673333 0.000673333 0.000666667 0.000653333 0.00068 0.000686667 +0.000673333 0.000706667 0.00072 0.000686667 0.000673333 0.000666667 0.000666667 0.000706667 +0.000693333 0.00064 0.000673333 0.000673333 0.000673333 0.000673333 0.000673333 0.000706667 +0.00068 0.000673333 0.0007 0.00068 0.000673333 0.000673333 0.000693333 0.000666667 +0.000673333 0.000713333 0.000693333 0.000633333 0.000653333 0.00066 0.000673333 0.000673333 +0.00068 0.000686667 0.000713333 0.000666667 0.000673333 0.000693333 0.000666667 0.00066 +0.00068 0.000666667 0.000653333 0.000666667 0.00064 0.000666667 0.000666667 0.000686667 +0.000673333 0.000673333 0.000693333 0.000693333 0.000673333 0.000686667 0.000673333 0.00066 +0.000693333 0.0007 0.000686667 0.00068 0.000693333 0.00066 0.00066 0.00068 +0.000686667 0.00068 0.000653333 0.000686667 0.000706667 0.000666667 0.00064 0.00066 +0.000673333 0.000673333 0.00068 0.00066 0.00066 0.000653333 0.000686667 0.000653333 +0.000626667 0.000653333 0.00066 0.000666667 0.000713333 0.000706667 0.000653333 0.00064 +0.00066 0.000653333 0.000666667 0.00066 0.00064 0.000626667 0.00064 0.00064 +0.00066 0.000666667 0.000666667 0.000666667 0.000653333 0.000673333 0.00068 0.000673333 +0.00066 0.000673333 0.00066 0.00066 0.00066 0.000686667 0.000706667 0.000693333 +0.000653333 0.000666667 0.000706667 0.000713333 0.0007 0.000706667 0.0007 0.00068 +0.000686667 0.000686667 0.000693333 0.000713333 0.00072 0.000693333 0.000686667 0.000693333 +0.000693333 0.000666667 0.00068 0.00072 0.0007 0.000673333 0.000693333 0.000706667 +0.000713333 0.00072 0.000713333 0.000706667 0.000706667 0.000706667 0.00072 0.000706667 +0.00072 0.000726667 0.000713333 0.0007 0.000713333 0.000726667 0.000713333 0.000706667 +0.00072 0.000726667 0.000753333 0.00072 0.000693333 0.000706667 0.000726667 0.00074 +0.000746667 0.000706667 0.000706667 0.000726667 0.000746667 0.00076 0.000753333 0.000706667 +0.000713333 0.000753333 0.000746667 0.000686667 0.000726667 0.000753333 0.000773333 0.000773333 +0.00076 0.000733333 0.000726667 0.000746667 0.000746667 0.000746667 0.000753333 0.000753333 +0.000753333 0.000746667 0.00074 0.000733333 0.000753333 0.00076 0.000773333 0.000773333 +0.000773333 0.000746667 0.000766667 0.00076 0.00076 0.000753333 0.00074 0.000733333 +0.00078 0.000793333 0.000786667 0.00076 0.000766667 0.00078 0.00078 0.000786667 +0.000773333 0.000806667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 0.00076 0.00074 +0.00076 0.000773333 0.000786667 0.00078 0.000753333 0.000753333 0.000746667 0.000753333 +0.000753333 0.000766667 0.00078 0.000746667 0.00072 0.00072 0.000726667 0.000746667 +0.000766667 0.000746667 0.000713333 0.000713333 0.00074 0.000746667 0.00074 0.000726667 +0.000726667 0.000726667 0.000706667 0.000733333 0.00074 0.00072 0.00072 0.000726667 +0.000733333 0.000713333 0.000713333 0.00072 0.000726667 0.00072 0.000713333 0.000713333 +0.00072 0.000726667 0.000726667 0.000706667 0.000693333 0.000706667 0.00072 0.000706667 +0.000713333 0.00072 0.0007 0.000706667 0.0007 0.000706667 0.000746667 0.000733333 +0.000746667 0.00074 0.00072 0.00072 0.00072 0.000713333 0.000706667 0.0007 +0.000693333 0.000706667 0.0007 0.0007 0.000713333 0.000713333 0.000686667 0.0007 +0.0007 0.000706667 0.000673333 0.000673333 0.0007 0.00072 0.000746667 0.000713333 +0.0007 0.000693333 0.0007 0.000706667 0.000686667 0.00068 0.000713333 0.00074 +0.000726667 0.0007 0.000706667 0.000726667 0.000693333 0.000686667 0.000706667 0.0007 +0.00068 0.000666667 0.0007 0.000693333 0.000686667 0.0007 0.000706667 0.000713333 +0.000686667 0.00068 0.000686667 0.0007 0.00068 0.00068 0.000693333 0.00066 +0.00064 0.000666667 0.000673333 0.000673333 0.000686667 0.000673333 0.000673333 0.00068 +0.000693333 0.000706667 0.0007 0.00068 0.000673333 0.000646667 0.000653333 0.00066 +0.000646667 0.000653333 0.000653333 0.000626667 0.000626667 0.000653333 0.000666667 0.000673333 +0.000666667 0.000646667 0.000673333 0.0007 0.000666667 0.00066 0.000686667 0.000693333 +0.000673333 0.000666667 0.00068 0.00068 0.000653333 0.00066 0.000693333 0.000693333 +0.00068 0.00066 0.000686667 0.0007 0.0007 0.00068 0.00066 0.00066 +0.000653333 0.000666667 0.000673333 0.000666667 0.00066 0.000666667 0.000673333 0.000666667 +0.000673333 0.00068 0.000666667 0.000666667 0.000673333 0.000686667 0.000686667 0.00066 +0.000633333 0.000653333 0.000673333 0.00066 0.00068 0.00068 0.00066 0.000673333 +0.000666667 0.000673333 0.000686667 0.000673333 0.000693333 0.0007 0.000686667 0.000693333 +0.00068 0.00068 0.000673333 0.000686667 0.000706667 0.000693333 0.0007 0.000706667 +0.000713333 0.0007 0.000686667 0.000686667 0.00066 0.00068 0.0007 0.000686667 +0.000693333 0.000686667 0.000653333 0.000633333 0.000633333 0.000666667 0.00068 0.000673333 +0.000693333 0.000693333 0.000666667 0.000633333 0.000646667 0.000706667 0.000666667 0.000613333 +0.000653333 0.000686667 0.00068 0.000666667 0.000653333 0.00068 0.00064 0.00066 +0.000686667 0.000673333 0.000666667 0.000673333 0.0007 0.000686667 0.00064 0.00068 +0.000706667 0.000673333 0.000646667 0.00066 0.000673333 0.000693333 0.0007 0.00068 +0.00066 0.0007 0.00068 0.000686667 0.0007 0.000693333 0.00068 0.00068 +0.000673333 0.00068 0.000673333 0.000693333 0.000693333 0.000673333 0.00068 0.000673333 +0.000686667 0.000693333 0.000673333 0.000633333 0.000653333 0.00068 0.0007 0.000693333 +0.000673333 0.000666667 0.00068 0.000666667 0.00066 0.000653333 0.000673333 0.000673333 +0.000673333 0.000693333 0.000693333 0.000686667 0.00068 0.00066 0.000673333 0.000706667 +0.000666667 0.000646667 0.000686667 0.000686667 0.000686667 0.000673333 0.000666667 0.000706667 +0.000666667 0.000666667 0.000706667 0.000686667 0.00066 0.000666667 0.00068 0.000666667 +0.000693333 0.00072 0.000666667 0.000646667 0.000666667 0.00066 0.000686667 0.000686667 +0.00068 0.000686667 0.000693333 0.000673333 0.000686667 0.000666667 0.00066 0.00064 +0.000673333 0.000693333 0.000673333 0.000653333 0.00066 0.000686667 0.00066 0.00068 +0.000673333 0.0007 0.00068 0.000686667 0.00068 0.00066 0.000673333 0.00068 +0.000673333 0.000686667 0.0007 0.000686667 0.000693333 0.00068 0.00068 0.000666667 +0.00068 0.000686667 0.00068 0.0007 0.0007 0.000646667 0.000666667 0.00066 +0.000653333 0.000686667 0.0007 0.00066 0.000646667 0.000653333 0.000673333 0.000673333 +0.00064 0.000673333 0.000673333 0.00068 0.000686667 0.0007 0.000666667 0.000626667 +0.000626667 0.000646667 0.00066 0.00066 0.000653333 0.00062 0.000606667 0.00064 +0.00068 0.00066 0.000653333 0.000666667 0.00068 0.000686667 0.000686667 0.000673333 +0.000653333 0.000666667 0.000646667 0.00064 0.000666667 0.00072 0.0007 0.000653333 +0.00064 0.0007 0.000706667 0.0007 0.000713333 0.000706667 0.000693333 0.00066 +0.0007 0.000706667 0.000706667 0.000713333 0.000706667 0.00068 0.000666667 0.0007 +0.00068 0.00068 0.0007 0.00072 0.000693333 0.000686667 0.000686667 0.000706667 +0.000713333 0.000713333 0.000686667 0.000693333 0.000713333 0.00072 0.000713333 0.000726667 +0.00072 0.000713333 0.000706667 0.000713333 0.000726667 0.000713333 0.000706667 0.00072 +0.000746667 0.000733333 0.000726667 0.0007 0.000706667 0.000706667 0.000733333 0.000733333 +0.000726667 0.00072 0.00074 0.000746667 0.00074 0.000746667 0.000753333 0.00072 +0.000726667 0.00076 0.000713333 0.000693333 0.00076 0.000766667 0.000753333 0.000733333 +0.00074 0.00074 0.000753333 0.00076 0.00074 0.000726667 0.000753333 0.00076 +0.00076 0.00076 0.000733333 0.000753333 0.00078 0.000753333 0.000753333 0.000746667 +0.000746667 0.000766667 0.000773333 0.00078 0.00076 0.000753333 0.000753333 0.000746667 +0.000773333 0.000793333 0.000766667 0.000753333 0.000773333 0.000766667 0.00076 0.000806667 +0.000793333 0.000753333 0.00076 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 0.000746667 0.000766667 0.00076 +0.000753333 0.00076 0.000746667 0.00076 0.000766667 0.000773333 0.00074 0.000726667 +0.000733333 0.00076 0.000766667 0.00076 0.000753333 0.00072 0.00072 0.000706667 +0.00072 0.000766667 0.00076 0.000746667 0.00074 0.000713333 0.000706667 0.000726667 +0.000733333 0.000746667 0.00072 0.00072 0.000726667 0.000726667 0.000726667 0.000726667 +0.000746667 0.000726667 0.000706667 0.000693333 0.0007 0.000733333 0.00074 0.00072 +0.000706667 0.000706667 0.000706667 0.000733333 0.000733333 0.00072 0.000726667 0.0007 +0.000686667 0.000706667 0.000706667 0.000713333 0.000726667 0.000686667 0.000693333 0.0007 +0.0007 0.00074 0.000746667 0.000733333 0.00072 0.000713333 0.000713333 0.000706667 +0.0007 0.000686667 0.000713333 0.000713333 0.000713333 0.00072 0.000693333 0.0007 +0.000693333 0.000706667 0.0007 0.0007 0.000686667 0.00068 0.000706667 0.000713333 +0.00072 0.000713333 0.000706667 0.0007 0.000706667 0.000686667 0.000693333 0.000706667 +0.000726667 0.00072 0.000693333 0.000706667 0.000706667 0.0007 0.000706667 0.000706667 +0.0007 0.000673333 0.00068 0.00068 0.000693333 0.000693333 0.000693333 0.000706667 +0.000686667 0.00068 0.000686667 0.0007 0.000666667 0.000673333 0.000686667 0.000693333 +0.000673333 0.000666667 0.000666667 0.000646667 0.000666667 0.0007 0.000673333 0.00066 +0.00068 0.000686667 0.000686667 0.000693333 0.0007 0.000686667 0.000673333 0.000646667 +0.000653333 0.000653333 0.000633333 0.000646667 0.00064 0.000626667 0.000626667 0.00068 +0.00068 0.00064 0.00066 0.00068 0.000666667 0.00068 0.00068 0.00068 +0.000666667 0.00068 0.000666667 0.000693333 0.000693333 0.00062 0.000646667 0.00068 +0.000673333 0.00066 0.00068 0.000693333 0.000713333 0.000693333 0.00066 0.000646667 +0.000646667 0.000653333 0.000646667 0.000666667 0.000666667 0.00066 0.000653333 0.00066 +0.000686667 0.00068 0.000666667 0.000653333 0.000673333 0.00068 0.000693333 0.000686667 +0.00066 0.000613333 0.000646667 0.00068 0.000693333 0.000686667 0.000673333 0.000673333 +0.000653333 0.00066 0.000666667 0.00066 0.000706667 0.000713333 0.00068 0.000693333 +0.000706667 0.000706667 0.00066 0.000653333 0.000726667 0.000726667 0.000693333 0.000706667 +0.000713333 0.00068 0.000673333 0.000686667 0.00068 0.000666667 0.000673333 0.0007 +0.000686667 0.000693333 0.00068 0.00062 0.000633333 0.00066 0.000673333 0.000693333 +0.0007 0.000693333 0.000693333 0.00066 0.000626667 0.000673333 0.00068 0.000626667 +0.000646667 0.000693333 0.00066 0.00066 0.00066 0.000666667 0.000666667 0.000666667 +0.000673333 0.00068 0.00068 0.000673333 0.0007 0.000686667 0.000653333 0.000673333 +0.000666667 0.000686667 0.00066 0.00066 0.000673333 0.00068 0.000686667 0.0007 +0.000633333 0.00066 0.000693333 0.000693333 0.000693333 0.000713333 0.000693333 0.000686667 +0.000693333 0.0007 0.000666667 0.000666667 0.00068 0.000673333 0.00068 0.000686667 +0.000673333 0.000686667 0.0007 0.00064 0.000653333 0.00068 0.000693333 0.000673333 +0.000666667 0.000666667 0.000666667 0.000666667 0.000653333 0.000653333 0.000666667 0.000666667 +0.00066 0.000673333 0.000686667 0.000686667 0.000666667 0.00064 0.000686667 0.000706667 +0.00066 0.00064 0.00068 0.000693333 0.0007 0.000666667 0.000666667 0.0007 +0.000673333 0.000673333 0.000686667 0.00068 0.00068 0.000673333 0.000653333 0.000673333 +0.000726667 0.000693333 0.00064 0.00068 0.00068 0.00064 0.000686667 0.000706667 +0.000686667 0.000693333 0.0007 0.00068 0.00068 0.000673333 0.00066 0.00062 +0.00066 0.00068 0.000686667 0.000666667 0.000666667 0.000686667 0.000666667 0.000673333 +0.000666667 0.000693333 0.000693333 0.000686667 0.000673333 0.000646667 0.00068 0.000693333 +0.000686667 0.000693333 0.000693333 0.000673333 0.000686667 0.0007 0.000673333 0.000653333 +0.00068 0.000686667 0.0007 0.0007 0.000706667 0.000653333 0.000673333 0.000666667 +0.000646667 0.00068 0.000686667 0.000666667 0.000653333 0.00066 0.00066 0.000666667 +0.00068 0.000673333 0.00066 0.000686667 0.000686667 0.000686667 0.00066 0.000626667 +0.000613333 0.000646667 0.00066 0.00066 0.000666667 0.00062 0.0006 0.000666667 +0.00066 0.000653333 0.000666667 0.000673333 0.000646667 0.000686667 0.0007 0.000666667 +0.000626667 0.00068 0.000653333 0.00064 0.00068 0.0007 0.000686667 0.000653333 +0.000653333 0.0007 0.000686667 0.0007 0.000693333 0.0007 0.00068 0.00068 +0.000733333 0.000726667 0.000706667 0.0007 0.000686667 0.000666667 0.000673333 0.0007 +0.00068 0.000713333 0.00072 0.000706667 0.000693333 0.000693333 0.000693333 0.0007 +0.0007 0.000693333 0.000713333 0.00072 0.000713333 0.000713333 0.000713333 0.0007 +0.000693333 0.000713333 0.000726667 0.00072 0.00072 0.000713333 0.000713333 0.00074 +0.000726667 0.000713333 0.000706667 0.000706667 0.000726667 0.00072 0.00072 0.000726667 +0.00074 0.000766667 0.000753333 0.000726667 0.000733333 0.00074 0.00076 0.000726667 +0.00072 0.000746667 0.00072 0.000733333 0.000766667 0.000746667 0.000726667 0.000726667 +0.00076 0.000753333 0.000746667 0.00074 0.000733333 0.00074 0.000766667 0.000753333 +0.00076 0.000753333 0.000746667 0.000773333 0.000766667 0.000733333 0.00074 0.000733333 +0.000766667 0.000773333 0.000766667 0.000773333 0.00074 0.000753333 0.000773333 0.000753333 +0.000753333 0.00078 0.000766667 0.000766667 0.000766667 0.000766667 0.0008 0.000806667 +0.000746667 0.000733333 0.000733333 0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000773333 0.000753333 0.000733333 0.000746667 0.000766667 +0.000766667 0.000766667 0.000766667 0.000746667 0.000733333 0.00076 0.00076 0.000746667 +0.000733333 0.00074 0.00074 0.000733333 0.00074 0.000746667 0.00076 0.000733333 +0.0007 0.00072 0.000746667 0.000746667 0.00076 0.00074 0.000706667 0.000713333 +0.00072 0.00074 0.000746667 0.000726667 0.000706667 0.00072 0.000726667 0.000726667 +0.000753333 0.000753333 0.00074 0.00072 0.00068 0.0007 0.000733333 0.000733333 +0.00072 0.000726667 0.000706667 0.0007 0.000726667 0.000733333 0.000726667 0.000733333 +0.000713333 0.000713333 0.00072 0.0007 0.000713333 0.000713333 0.000693333 0.000693333 +0.00068 0.0007 0.00072 0.000726667 0.000713333 0.000713333 0.00072 0.00072 +0.000713333 0.0007 0.000713333 0.000706667 0.0007 0.000713333 0.0007 0.0007 +0.000713333 0.0007 0.000693333 0.00072 0.00072 0.000713333 0.000693333 0.000673333 +0.0007 0.000726667 0.000706667 0.000686667 0.0007 0.0007 0.000713333 0.000706667 +0.00072 0.000733333 0.00072 0.0007 0.000706667 0.000713333 0.000693333 0.000686667 +0.000686667 0.0007 0.0007 0.000673333 0.000666667 0.000693333 0.000706667 0.000713333 +0.00068 0.000653333 0.000686667 0.0007 0.000686667 0.000673333 0.000686667 0.00068 +0.000666667 0.000673333 0.00068 0.000666667 0.00066 0.000686667 0.000693333 0.00068 +0.000673333 0.000673333 0.00066 0.000686667 0.000706667 0.000713333 0.0007 0.000653333 +0.000646667 0.000646667 0.000606667 0.00062 0.00066 0.00066 0.000626667 0.00064 +0.00068 0.000686667 0.000666667 0.000653333 0.000666667 0.000706667 0.0007 0.000646667 +0.000653333 0.00068 0.000673333 0.000693333 0.000693333 0.00064 0.00064 0.000673333 +0.000673333 0.00066 0.000666667 0.000686667 0.0007 0.000693333 0.000673333 0.000646667 +0.00066 0.00066 0.00064 0.00066 0.000666667 0.000666667 0.00066 0.00066 +0.0007 0.000693333 0.000686667 0.000653333 0.00066 0.000673333 0.000673333 0.000686667 +0.000686667 0.000626667 0.000626667 0.000686667 0.000686667 0.00068 0.000686667 0.000686667 +0.000673333 0.000666667 0.000666667 0.000673333 0.0007 0.00072 0.000666667 0.000666667 +0.000706667 0.00072 0.00068 0.000653333 0.000706667 0.000733333 0.0007 0.000693333 +0.000693333 0.000673333 0.000673333 0.0007 0.0007 0.00066 0.00064 0.000693333 +0.000686667 0.000673333 0.00068 0.00066 0.000653333 0.000646667 0.00068 0.000693333 +0.000686667 0.0007 0.000693333 0.000673333 0.000653333 0.000666667 0.000673333 0.00064 +0.000626667 0.000673333 0.000666667 0.000666667 0.000666667 0.000673333 0.00066 0.000653333 +0.00068 0.00068 0.000673333 0.000666667 0.000673333 0.000693333 0.000693333 0.00066 +0.00064 0.000673333 0.000666667 0.00068 0.000686667 0.000673333 0.000686667 0.000706667 +0.00066 0.00066 0.00068 0.00068 0.00068 0.000713333 0.0007 0.00068 +0.0007 0.0007 0.000673333 0.000666667 0.00068 0.00066 0.00068 0.000706667 +0.00068 0.000673333 0.000693333 0.000666667 0.000666667 0.00066 0.00068 0.000673333 +0.000646667 0.000653333 0.000626667 0.00066 0.000673333 0.000646667 0.000686667 0.000686667 +0.00068 0.000693333 0.000686667 0.000693333 0.000666667 0.000633333 0.00066 0.000693333 +0.00068 0.000646667 0.00068 0.000706667 0.000686667 0.000666667 0.000653333 0.00068 +0.000693333 0.00068 0.000666667 0.00068 0.000693333 0.00068 0.000653333 0.000673333 +0.000713333 0.000693333 0.00066 0.00068 0.000666667 0.000653333 0.000686667 0.0007 +0.000686667 0.000693333 0.0007 0.00068 0.000673333 0.00068 0.000653333 0.00064 +0.00068 0.000653333 0.000673333 0.000673333 0.00066 0.000673333 0.00068 0.00068 +0.000673333 0.000686667 0.000686667 0.000693333 0.00066 0.000646667 0.00068 0.000686667 +0.0007 0.0007 0.000693333 0.000673333 0.000686667 0.000706667 0.000666667 0.000673333 +0.000686667 0.000673333 0.000673333 0.00068 0.0007 0.000666667 0.000673333 0.000673333 +0.000666667 0.000673333 0.000653333 0.00068 0.000673333 0.00066 0.00066 0.000673333 +0.0007 0.00068 0.000653333 0.000693333 0.000686667 0.000653333 0.000646667 0.00064 +0.000633333 0.000666667 0.000673333 0.000666667 0.00064 0.000626667 0.000633333 0.00066 +0.000633333 0.000666667 0.00068 0.00066 0.000646667 0.000673333 0.000673333 0.000646667 +0.000653333 0.000686667 0.000666667 0.000653333 0.000686667 0.0007 0.000686667 0.00066 +0.000693333 0.0007 0.000693333 0.000686667 0.000673333 0.0007 0.00068 0.000706667 +0.000733333 0.000706667 0.0007 0.0007 0.000686667 0.000686667 0.0007 0.0007 +0.000706667 0.00072 0.000686667 0.00068 0.000706667 0.000706667 0.000686667 0.00068 +0.000706667 0.00072 0.000746667 0.000706667 0.000686667 0.000706667 0.000706667 0.0007 +0.000713333 0.00074 0.000733333 0.000706667 0.00072 0.000726667 0.00072 0.000733333 +0.000713333 0.000706667 0.000713333 0.00072 0.000713333 0.000713333 0.00072 0.00076 +0.000746667 0.000753333 0.00074 0.00074 0.000726667 0.000733333 0.00074 0.000726667 +0.0007 0.00074 0.000753333 0.00074 0.00074 0.00074 0.000753333 0.000726667 +0.000726667 0.00074 0.000746667 0.000753333 0.000753333 0.00076 0.000753333 0.000746667 +0.000753333 0.000753333 0.00076 0.00076 0.000753333 0.00074 0.000733333 0.00074 +0.000753333 0.00074 0.000753333 0.000766667 0.000753333 0.000773333 0.00076 0.000746667 +0.00074 0.000766667 0.00078 0.00078 0.000746667 0.000773333 0.000793333 0.000766667 +0.000746667 0.000766667 0.00076 0.00076 0.000786667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000793333 0.000766667 0.000753333 0.00074 0.000746667 0.000753333 +0.00078 0.00076 0.000746667 0.000746667 0.000733333 0.00074 0.000753333 0.00076 +0.000746667 0.000726667 0.00074 0.000733333 0.000746667 0.000733333 0.000733333 0.000746667 +0.00074 0.000733333 0.000726667 0.000713333 0.000733333 0.000766667 0.000746667 0.00072 +0.000713333 0.000706667 0.000733333 0.000746667 0.000726667 0.000726667 0.00072 0.000726667 +0.000746667 0.00074 0.000733333 0.00074 0.00074 0.00074 0.000706667 0.000693333 +0.000713333 0.000726667 0.00072 0.000686667 0.0007 0.000726667 0.000713333 0.000733333 +0.000726667 0.000726667 0.000746667 0.000733333 0.00072 0.000706667 0.0007 0.0007 +0.000693333 0.000693333 0.000693333 0.0007 0.000706667 0.000713333 0.000713333 0.000713333 +0.00072 0.000713333 0.000706667 0.0007 0.0007 0.0007 0.0007 0.000686667 +0.00072 0.00072 0.000693333 0.000713333 0.00072 0.000733333 0.00072 0.000686667 +0.00068 0.000706667 0.000693333 0.000693333 0.000693333 0.0007 0.0007 0.000693333 +0.0007 0.000713333 0.000726667 0.000726667 0.00072 0.000706667 0.000686667 0.000686667 +0.00068 0.000693333 0.000713333 0.000706667 0.000673333 0.000666667 0.000693333 0.000726667 +0.0007 0.000653333 0.000653333 0.00068 0.000693333 0.000686667 0.00068 0.000673333 +0.00066 0.000673333 0.000693333 0.000693333 0.00068 0.000666667 0.000666667 0.000686667 +0.000666667 0.000673333 0.000646667 0.000673333 0.000686667 0.000686667 0.00068 0.000666667 +0.00066 0.00062 0.00062 0.000626667 0.000633333 0.00066 0.000673333 0.00064 +0.00064 0.000686667 0.0007 0.000653333 0.000646667 0.000686667 0.00072 0.00068 +0.000666667 0.000666667 0.000666667 0.00068 0.000693333 0.000673333 0.000666667 0.000673333 +0.000666667 0.00068 0.000673333 0.000673333 0.000686667 0.0007 0.000686667 0.000666667 +0.000673333 0.000673333 0.00064 0.00066 0.000686667 0.00066 0.00066 0.000653333 +0.000653333 0.000673333 0.000673333 0.000673333 0.000666667 0.000693333 0.00068 0.000666667 +0.00068 0.000633333 0.0006 0.000646667 0.000673333 0.000686667 0.000686667 0.000706667 +0.000713333 0.000673333 0.000673333 0.000693333 0.00068 0.0007 0.000693333 0.00066 +0.000673333 0.000706667 0.000706667 0.000653333 0.000673333 0.000733333 0.00072 0.000686667 +0.000693333 0.000686667 0.000673333 0.0007 0.000713333 0.000673333 0.000646667 0.000646667 +0.000686667 0.000686667 0.000673333 0.000673333 0.000653333 0.00064 0.00068 0.00068 +0.000686667 0.000686667 0.000673333 0.000673333 0.000686667 0.000686667 0.00066 0.00064 +0.00064 0.000646667 0.000673333 0.000666667 0.000653333 0.000673333 0.00066 0.000633333 +0.000666667 0.00068 0.00066 0.00068 0.00066 0.000673333 0.0007 0.000686667 +0.000653333 0.00066 0.000666667 0.000673333 0.000673333 0.00066 0.000693333 0.0007 +0.000666667 0.000686667 0.00068 0.000686667 0.0007 0.000713333 0.000686667 0.000673333 +0.0007 0.000693333 0.000686667 0.00068 0.000673333 0.000673333 0.000673333 0.000706667 +0.00068 0.000653333 0.00066 0.000673333 0.000686667 0.000653333 0.000666667 0.000673333 +0.000633333 0.00064 0.00062 0.00068 0.000673333 0.000633333 0.000686667 0.000686667 +0.00068 0.000706667 0.000693333 0.000693333 0.000666667 0.00064 0.00066 0.00068 +0.00066 0.000653333 0.000693333 0.000693333 0.000673333 0.000653333 0.000633333 0.00066 +0.000686667 0.00068 0.00068 0.0007 0.000673333 0.000673333 0.000673333 0.000686667 +0.000686667 0.000673333 0.000673333 0.00068 0.000653333 0.000666667 0.000693333 0.000693333 +0.000666667 0.00068 0.00068 0.00068 0.000693333 0.0007 0.000673333 0.00066 +0.00068 0.000646667 0.000653333 0.000646667 0.000673333 0.00068 0.00068 0.000693333 +0.000686667 0.00068 0.00066 0.00068 0.000653333 0.000666667 0.000693333 0.000686667 +0.000706667 0.000693333 0.00068 0.000693333 0.000693333 0.000686667 0.00066 0.000693333 +0.000673333 0.00064 0.00066 0.00068 0.000666667 0.00066 0.000686667 0.000673333 +0.000686667 0.00068 0.000646667 0.00068 0.00066 0.000653333 0.000673333 0.00068 +0.0007 0.000686667 0.000666667 0.000686667 0.000666667 0.000646667 0.00066 0.000653333 +0.00066 0.000673333 0.00066 0.000666667 0.000633333 0.000646667 0.00066 0.000646667 +0.00066 0.00068 0.000666667 0.000653333 0.00066 0.00066 0.000646667 0.000646667 +0.000686667 0.000686667 0.000673333 0.000673333 0.000673333 0.000706667 0.000686667 0.000686667 +0.0007 0.000693333 0.0007 0.00068 0.00068 0.0007 0.000713333 0.000726667 +0.000693333 0.00068 0.000693333 0.0007 0.000686667 0.0007 0.000706667 0.0007 +0.00072 0.000673333 0.00066 0.000686667 0.00072 0.000713333 0.000693333 0.000686667 +0.00072 0.000733333 0.000726667 0.000686667 0.000686667 0.0007 0.000693333 0.000733333 +0.000733333 0.00072 0.000726667 0.00072 0.00072 0.000726667 0.00072 0.00072 +0.000713333 0.00072 0.000733333 0.000713333 0.000693333 0.00074 0.000753333 0.000753333 +0.000726667 0.000733333 0.000746667 0.00074 0.00072 0.000733333 0.000713333 0.000713333 +0.000693333 0.000753333 0.000766667 0.000733333 0.00074 0.00076 0.000753333 0.000713333 +0.00072 0.000746667 0.000753333 0.000766667 0.000773333 0.000746667 0.00074 0.000746667 +0.000746667 0.000766667 0.000746667 0.000733333 0.000753333 0.000753333 0.00074 0.00074 +0.000733333 0.000746667 0.000753333 0.00076 0.000766667 0.000753333 0.000726667 0.00074 +0.000746667 0.000786667 0.000773333 0.00076 0.000753333 0.00076 0.000746667 0.00076 +0.000773333 0.00076 0.00074 0.000753333 0.000766667 0.00078 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000766667 0.000753333 0.000753333 0.00076 0.000753333 0.000726667 +0.000766667 0.00078 0.000766667 0.00076 0.000746667 0.00074 0.000733333 0.00074 +0.000746667 0.000746667 0.000746667 0.00074 0.000753333 0.000733333 0.00072 0.000726667 +0.00074 0.00076 0.000746667 0.00072 0.000706667 0.000713333 0.000726667 0.00074 +0.000746667 0.000713333 0.000706667 0.000706667 0.000733333 0.00074 0.000726667 0.000726667 +0.000726667 0.00072 0.000726667 0.000733333 0.00074 0.00078 0.000733333 0.000693333 +0.000706667 0.000693333 0.0007 0.000713333 0.000713333 0.000726667 0.000713333 0.00072 +0.000726667 0.00072 0.000713333 0.000733333 0.00074 0.000733333 0.000726667 0.000706667 +0.000686667 0.000693333 0.0007 0.000713333 0.0007 0.000713333 0.000713333 0.0007 +0.000693333 0.00072 0.000733333 0.000713333 0.000713333 0.000686667 0.00068 0.000686667 +0.000713333 0.000706667 0.0007 0.000713333 0.000713333 0.00072 0.00072 0.000713333 +0.000693333 0.000693333 0.000686667 0.000693333 0.000706667 0.0007 0.000686667 0.00068 +0.000693333 0.000706667 0.00072 0.000733333 0.00074 0.000713333 0.000706667 0.000706667 +0.0007 0.000686667 0.0007 0.0007 0.000686667 0.00068 0.000666667 0.000686667 +0.000686667 0.000693333 0.00066 0.000653333 0.00066 0.000673333 0.000673333 0.00068 +0.000666667 0.000666667 0.000666667 0.000666667 0.000693333 0.000686667 0.00066 0.00066 +0.000673333 0.00068 0.000666667 0.000666667 0.00066 0.00066 0.000646667 0.000646667 +0.000666667 0.000626667 0.000633333 0.000653333 0.000646667 0.000626667 0.000666667 0.000686667 +0.000653333 0.000666667 0.00066 0.000666667 0.00066 0.000653333 0.000686667 0.0007 +0.000706667 0.00068 0.000653333 0.000646667 0.000666667 0.000686667 0.000686667 0.000673333 +0.000686667 0.000693333 0.000666667 0.000666667 0.000673333 0.00068 0.000673333 0.000686667 +0.00068 0.00068 0.000666667 0.000653333 0.00066 0.000653333 0.000666667 0.000673333 +0.000653333 0.00064 0.00064 0.000673333 0.000673333 0.000673333 0.00068 0.000673333 +0.000693333 0.00066 0.00062 0.00064 0.00066 0.000686667 0.0007 0.000706667 +0.000713333 0.00068 0.000673333 0.000686667 0.000673333 0.00068 0.0007 0.00068 +0.000653333 0.000673333 0.000706667 0.00068 0.00068 0.000713333 0.0007 0.000686667 +0.000693333 0.000686667 0.000666667 0.000693333 0.00072 0.000713333 0.00066 0.000626667 +0.000673333 0.000686667 0.000686667 0.000673333 0.000646667 0.000666667 0.000673333 0.00068 +0.000693333 0.000673333 0.00066 0.000673333 0.00068 0.000673333 0.00066 0.000653333 +0.00066 0.000646667 0.00066 0.00066 0.000666667 0.00068 0.000673333 0.000646667 +0.00066 0.00066 0.000646667 0.000673333 0.000666667 0.000653333 0.000666667 0.000686667 +0.00066 0.00066 0.000666667 0.000666667 0.000666667 0.00066 0.000686667 0.000706667 +0.000666667 0.000693333 0.000693333 0.000693333 0.000713333 0.0007 0.00066 0.000673333 +0.000713333 0.0007 0.000686667 0.00068 0.00068 0.000686667 0.000673333 0.000706667 +0.000713333 0.000666667 0.00064 0.000666667 0.0007 0.00068 0.000673333 0.000666667 +0.000626667 0.00064 0.000626667 0.000673333 0.00068 0.00066 0.000673333 0.000666667 +0.00068 0.000693333 0.0007 0.000706667 0.00066 0.00064 0.00066 0.00066 +0.000646667 0.000653333 0.000693333 0.00068 0.000666667 0.000653333 0.00064 0.000666667 +0.000666667 0.00068 0.000693333 0.000693333 0.000666667 0.00066 0.000686667 0.000706667 +0.000713333 0.000673333 0.00066 0.00068 0.00066 0.00068 0.000706667 0.0007 +0.000666667 0.000673333 0.000666667 0.000673333 0.0007 0.000706667 0.000673333 0.00068 +0.00068 0.000666667 0.000633333 0.00062 0.000673333 0.0007 0.000686667 0.000686667 +0.000686667 0.00066 0.000653333 0.00068 0.00066 0.000686667 0.0007 0.00068 +0.000693333 0.000673333 0.00066 0.00068 0.000693333 0.000673333 0.000666667 0.000686667 +0.000666667 0.000646667 0.00068 0.000686667 0.00064 0.000673333 0.000673333 0.00066 +0.0007 0.000713333 0.000686667 0.000646667 0.00064 0.000666667 0.00068 0.000673333 +0.000693333 0.000693333 0.000673333 0.000673333 0.000653333 0.00066 0.000673333 0.00064 +0.00066 0.000673333 0.000646667 0.000666667 0.000653333 0.00066 0.000653333 0.000633333 +0.000666667 0.00066 0.000653333 0.000666667 0.000653333 0.000646667 0.000633333 0.000666667 +0.000693333 0.000666667 0.000673333 0.000666667 0.000673333 0.000686667 0.00068 0.000706667 +0.00068 0.000666667 0.0007 0.00068 0.000693333 0.00068 0.000733333 0.0007 +0.000673333 0.000693333 0.000693333 0.000693333 0.00068 0.000713333 0.000693333 0.000706667 +0.000706667 0.00066 0.00068 0.000706667 0.000713333 0.00072 0.000713333 0.0007 +0.000706667 0.000706667 0.000693333 0.000693333 0.000686667 0.000673333 0.0007 0.000733333 +0.000713333 0.000713333 0.00074 0.00074 0.000706667 0.000726667 0.000713333 0.0007 +0.00072 0.000726667 0.000733333 0.000713333 0.00072 0.00074 0.000746667 0.000753333 +0.000733333 0.000733333 0.000746667 0.000706667 0.000686667 0.000713333 0.000733333 0.000733333 +0.000713333 0.00076 0.000753333 0.00074 0.000766667 0.000753333 0.000733333 0.00072 +0.000733333 0.00076 0.00076 0.000766667 0.00076 0.000733333 0.00076 0.00076 +0.000753333 0.000746667 0.000713333 0.000746667 0.00076 0.00074 0.000733333 0.000733333 +0.00072 0.000746667 0.000746667 0.000746667 0.000753333 0.000746667 0.000726667 0.00074 +0.000766667 0.0008 0.000773333 0.000753333 0.000766667 0.00074 0.00076 0.000786667 +0.00076 0.000746667 0.00076 0.00076 0.00076 0.000773333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00078 0.00074 0.00072 0.000726667 0.00076 0.000766667 0.000733333 +0.00074 0.000766667 0.00078 0.000773333 0.000753333 0.000753333 0.000753333 0.00074 +0.000733333 0.00074 0.00076 0.000753333 0.000726667 0.00072 0.000733333 0.00072 +0.000733333 0.000753333 0.00074 0.00074 0.000746667 0.000726667 0.000693333 0.000706667 +0.00074 0.000746667 0.000753333 0.000726667 0.0007 0.00072 0.00072 0.000726667 +0.000726667 0.000706667 0.00072 0.00072 0.000706667 0.00074 0.000746667 0.000726667 +0.000733333 0.000706667 0.000693333 0.0007 0.000713333 0.000733333 0.000733333 0.000706667 +0.000693333 0.000726667 0.000713333 0.00072 0.000726667 0.000713333 0.000733333 0.000733333 +0.00072 0.000706667 0.0007 0.000713333 0.000693333 0.000693333 0.000726667 0.000713333 +0.000686667 0.000686667 0.000706667 0.00072 0.000733333 0.000726667 0.000693333 0.00068 +0.000706667 0.000686667 0.0007 0.000713333 0.000713333 0.000713333 0.000713333 0.000693333 +0.000706667 0.000706667 0.000686667 0.000693333 0.000713333 0.000713333 0.000673333 0.000666667 +0.00068 0.000706667 0.000726667 0.000726667 0.000713333 0.0007 0.000713333 0.00072 +0.000706667 0.000706667 0.00072 0.000686667 0.00068 0.00068 0.00068 0.00068 +0.000653333 0.000673333 0.0007 0.00068 0.00066 0.00066 0.000653333 0.000666667 +0.000693333 0.000666667 0.000626667 0.000626667 0.000693333 0.000706667 0.000693333 0.00066 +0.00066 0.000666667 0.00068 0.00068 0.000653333 0.000633333 0.00064 0.000633333 +0.00064 0.00064 0.000653333 0.000653333 0.000666667 0.000646667 0.000646667 0.000666667 +0.00068 0.000686667 0.000653333 0.000666667 0.00068 0.000673333 0.000646667 0.000666667 +0.000686667 0.000693333 0.00068 0.000646667 0.00066 0.000673333 0.000693333 0.000693333 +0.000713333 0.0007 0.000673333 0.00066 0.000673333 0.000673333 0.000666667 0.00068 +0.000666667 0.000666667 0.00068 0.000686667 0.000666667 0.000653333 0.000646667 0.000653333 +0.000673333 0.000666667 0.000646667 0.00066 0.000666667 0.00066 0.000653333 0.00068 +0.0007 0.000686667 0.00066 0.00064 0.000646667 0.000666667 0.0007 0.000706667 +0.000693333 0.000673333 0.000673333 0.00066 0.000666667 0.000686667 0.000693333 0.0007 +0.000686667 0.000666667 0.000693333 0.000706667 0.000686667 0.00068 0.000693333 0.000693333 +0.000693333 0.0007 0.000686667 0.00068 0.00072 0.00072 0.000666667 0.00064 +0.000673333 0.000686667 0.00068 0.00068 0.00068 0.000666667 0.000666667 0.000673333 +0.000673333 0.00068 0.00064 0.00064 0.000693333 0.000686667 0.000666667 0.000646667 +0.000666667 0.00066 0.000653333 0.00066 0.000666667 0.000686667 0.000686667 0.00066 +0.000693333 0.00066 0.000633333 0.000666667 0.00066 0.000633333 0.000646667 0.000673333 +0.00066 0.00066 0.000673333 0.000686667 0.000686667 0.000666667 0.000673333 0.0007 +0.000686667 0.000693333 0.000693333 0.00068 0.000686667 0.00068 0.00066 0.00066 +0.000706667 0.0007 0.00068 0.0007 0.000686667 0.000686667 0.000686667 0.000706667 +0.000726667 0.00068 0.000626667 0.00066 0.0007 0.0007 0.000686667 0.00068 +0.000633333 0.000653333 0.000646667 0.000666667 0.000693333 0.000666667 0.000653333 0.00066 +0.00068 0.000686667 0.000666667 0.000693333 0.000666667 0.00066 0.000666667 0.00066 +0.00066 0.000646667 0.000673333 0.000693333 0.000686667 0.000666667 0.000653333 0.00068 +0.000666667 0.000673333 0.00068 0.000673333 0.000673333 0.000666667 0.000686667 0.000706667 +0.000706667 0.000666667 0.000653333 0.00068 0.00066 0.0007 0.00072 0.000673333 +0.000653333 0.00068 0.00068 0.00068 0.000713333 0.0007 0.000646667 0.000686667 +0.000706667 0.000673333 0.00064 0.000633333 0.00068 0.000686667 0.000666667 0.00066 +0.000693333 0.00068 0.000673333 0.000686667 0.00068 0.000706667 0.000693333 0.00068 +0.000706667 0.000686667 0.00066 0.000653333 0.000686667 0.000673333 0.00066 0.000686667 +0.000673333 0.00068 0.000706667 0.000686667 0.00066 0.000686667 0.00066 0.000666667 +0.000706667 0.000706667 0.00068 0.00064 0.000673333 0.00068 0.00066 0.00068 +0.000706667 0.00066 0.00066 0.00066 0.00066 0.000666667 0.000673333 0.000633333 +0.000653333 0.000673333 0.000646667 0.000646667 0.000673333 0.000653333 0.00064 0.000653333 +0.000653333 0.000646667 0.00066 0.000666667 0.00066 0.000646667 0.000646667 0.000673333 +0.00068 0.000666667 0.000666667 0.000666667 0.000666667 0.00066 0.0007 0.000706667 +0.000666667 0.000666667 0.000706667 0.000706667 0.000693333 0.000686667 0.000713333 0.000673333 +0.00068 0.0007 0.0007 0.000693333 0.000706667 0.000706667 0.000673333 0.000706667 +0.000693333 0.00068 0.000706667 0.000706667 0.000706667 0.00072 0.000706667 0.000686667 +0.000693333 0.000713333 0.000693333 0.0007 0.000666667 0.00068 0.000726667 0.00072 +0.000726667 0.000733333 0.000746667 0.000733333 0.0007 0.000713333 0.00072 0.000713333 +0.000713333 0.0007 0.000733333 0.000746667 0.000733333 0.000713333 0.000726667 0.000746667 +0.000746667 0.00072 0.00072 0.000693333 0.000686667 0.00072 0.000766667 0.000753333 +0.000713333 0.000746667 0.000753333 0.00074 0.000746667 0.000746667 0.000726667 0.000706667 +0.00074 0.000773333 0.000753333 0.000746667 0.00074 0.000746667 0.000773333 0.000746667 +0.000726667 0.00072 0.00074 0.000766667 0.00074 0.000733333 0.00074 0.00074 +0.00072 0.000733333 0.00074 0.00074 0.000753333 0.00074 0.000733333 0.000753333 +0.000773333 0.00078 0.00076 0.000753333 0.00074 0.000753333 0.000773333 0.000753333 +0.000753333 0.000753333 0.000753333 0.000746667 0.000746667 0.00074 0.000753333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.0008 0.000786667 0.000773333 0.000753333 0.00074 0.000746667 0.00076 0.000746667 +0.000746667 0.00076 0.000746667 0.00074 0.000746667 0.000753333 0.00076 0.00078 +0.000753333 0.000733333 0.000726667 0.00074 0.000753333 0.00074 0.000733333 0.00072 +0.00072 0.000733333 0.000713333 0.000726667 0.00076 0.000766667 0.000733333 0.0007 +0.000713333 0.000733333 0.000766667 0.00076 0.00072 0.000713333 0.000713333 0.00072 +0.000726667 0.000726667 0.00072 0.000706667 0.0007 0.0007 0.000713333 0.000726667 +0.000733333 0.000726667 0.000733333 0.000693333 0.000693333 0.000726667 0.000746667 0.000746667 +0.000686667 0.0007 0.000726667 0.000733333 0.000733333 0.00072 0.0007 0.000686667 +0.000706667 0.000726667 0.000726667 0.00072 0.0007 0.00068 0.000706667 0.000706667 +0.000706667 0.0007 0.00068 0.000686667 0.000706667 0.00074 0.000726667 0.000713333 +0.000706667 0.000686667 0.000693333 0.000713333 0.000713333 0.00072 0.000726667 0.000686667 +0.0007 0.00072 0.000713333 0.000706667 0.0007 0.000713333 0.000686667 0.000666667 +0.000666667 0.000673333 0.000693333 0.000726667 0.000733333 0.0007 0.00068 0.000686667 +0.0007 0.000726667 0.00074 0.00072 0.000706667 0.00068 0.00068 0.000673333 +0.00066 0.00066 0.000673333 0.000686667 0.000673333 0.000686667 0.00066 0.000646667 +0.000673333 0.00066 0.000626667 0.000626667 0.00068 0.000706667 0.000713333 0.000706667 +0.000686667 0.000653333 0.000666667 0.00068 0.000666667 0.000633333 0.000626667 0.000646667 +0.000633333 0.00064 0.000653333 0.00066 0.00066 0.000666667 0.000646667 0.000653333 +0.000666667 0.000686667 0.00068 0.00068 0.00066 0.00066 0.000673333 0.000666667 +0.000653333 0.00068 0.000693333 0.00068 0.000686667 0.000666667 0.000673333 0.000693333 +0.0007 0.000693333 0.000686667 0.00068 0.000686667 0.000693333 0.000673333 0.000666667 +0.000666667 0.000653333 0.00066 0.000686667 0.0007 0.00068 0.00064 0.000633333 +0.00066 0.00068 0.000693333 0.000666667 0.000646667 0.000653333 0.00066 0.000673333 +0.00068 0.000693333 0.000666667 0.000626667 0.00064 0.000646667 0.000666667 0.00068 +0.000673333 0.000673333 0.000673333 0.000653333 0.00066 0.000686667 0.000686667 0.0007 +0.000693333 0.00068 0.000673333 0.000686667 0.000686667 0.000666667 0.0007 0.000706667 +0.000693333 0.000706667 0.00072 0.00068 0.000686667 0.0007 0.000686667 0.00066 +0.00066 0.000686667 0.000673333 0.00068 0.000686667 0.00066 0.000666667 0.000686667 +0.00066 0.000673333 0.00066 0.000626667 0.000673333 0.000693333 0.000686667 0.000653333 +0.000666667 0.000666667 0.000646667 0.00066 0.000646667 0.00066 0.000693333 0.000666667 +0.000686667 0.0007 0.00064 0.000646667 0.000646667 0.000646667 0.000666667 0.00068 +0.00066 0.000666667 0.00068 0.000673333 0.000686667 0.000653333 0.00064 0.000693333 +0.0007 0.000713333 0.000706667 0.000653333 0.000666667 0.000693333 0.000693333 0.00066 +0.000693333 0.000686667 0.000686667 0.000713333 0.000693333 0.0007 0.000686667 0.000686667 +0.000713333 0.00068 0.000633333 0.000673333 0.000706667 0.0007 0.000673333 0.000673333 +0.00066 0.00068 0.00066 0.000673333 0.00068 0.00064 0.000646667 0.00066 +0.00068 0.0007 0.00066 0.00068 0.000673333 0.000653333 0.000673333 0.000673333 +0.000673333 0.000646667 0.000673333 0.0007 0.000706667 0.00066 0.000633333 0.00066 +0.000666667 0.000666667 0.00068 0.000666667 0.000666667 0.00068 0.00068 0.000693333 +0.00068 0.000666667 0.00068 0.0007 0.000666667 0.000693333 0.000693333 0.000653333 +0.00066 0.000693333 0.000686667 0.000673333 0.0007 0.000686667 0.000646667 0.000686667 +0.00072 0.00068 0.000646667 0.000653333 0.000693333 0.000693333 0.00066 0.000653333 +0.000686667 0.00068 0.0007 0.000686667 0.00068 0.000693333 0.000693333 0.00068 +0.000713333 0.00068 0.00066 0.000673333 0.00068 0.000653333 0.000673333 0.000693333 +0.000693333 0.0007 0.000706667 0.00066 0.00068 0.000686667 0.00066 0.0007 +0.000706667 0.00068 0.00066 0.000666667 0.0007 0.000666667 0.000666667 0.00068 +0.0007 0.00068 0.000673333 0.00068 0.000653333 0.00066 0.000646667 0.00064 +0.000673333 0.00068 0.00066 0.000646667 0.000666667 0.000633333 0.00064 0.000673333 +0.00066 0.00066 0.000666667 0.000666667 0.000666667 0.000653333 0.000646667 0.000666667 +0.000673333 0.000673333 0.00066 0.000653333 0.000646667 0.00064 0.0007 0.00072 +0.000673333 0.000666667 0.000686667 0.000713333 0.000686667 0.00068 0.000686667 0.000693333 +0.000706667 0.000713333 0.000706667 0.000706667 0.000713333 0.00068 0.000666667 0.0007 +0.000706667 0.000713333 0.000726667 0.00072 0.000706667 0.000713333 0.000686667 0.000673333 +0.000693333 0.0007 0.000693333 0.000706667 0.000693333 0.000726667 0.000726667 0.00072 +0.00074 0.00074 0.000726667 0.0007 0.000713333 0.00074 0.00074 0.000706667 +0.000693333 0.00072 0.00076 0.000746667 0.0007 0.000706667 0.000733333 0.00074 +0.00074 0.000706667 0.0007 0.000706667 0.000733333 0.000766667 0.000753333 0.000713333 +0.000733333 0.000753333 0.00074 0.000726667 0.000746667 0.000746667 0.000733333 0.000726667 +0.00074 0.000746667 0.00074 0.00074 0.000746667 0.000753333 0.00074 0.000713333 +0.000706667 0.000733333 0.000773333 0.000746667 0.000713333 0.000753333 0.000733333 0.000746667 +0.00074 0.00074 0.000733333 0.00072 0.00076 0.00076 0.000766667 0.00078 +0.00076 0.000733333 0.000746667 0.000746667 0.000733333 0.00074 0.000746667 0.000766667 +0.000773333 0.00074 0.000746667 0.00076 0.000773333 0.00076 0.00076 0.00078 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000786667 +0.000773333 0.00076 0.000766667 0.000766667 0.000773333 0.000766667 0.00074 0.00074 +0.00076 0.000766667 0.000753333 0.000726667 0.000733333 0.000733333 0.000733333 0.000766667 +0.00076 0.000753333 0.000733333 0.000713333 0.000746667 0.00076 0.000746667 0.000733333 +0.00074 0.00074 0.000706667 0.000706667 0.000713333 0.00074 0.00076 0.00074 +0.00074 0.000733333 0.000726667 0.000726667 0.00076 0.00076 0.000733333 0.000713333 +0.00072 0.000733333 0.000706667 0.000693333 0.000706667 0.00072 0.0007 0.000693333 +0.000713333 0.00072 0.000733333 0.000706667 0.000706667 0.000733333 0.00072 0.000726667 +0.000713333 0.000693333 0.000706667 0.000726667 0.000733333 0.000753333 0.000746667 0.000693333 +0.000673333 0.000693333 0.00072 0.00072 0.0007 0.0007 0.000726667 0.000706667 +0.0007 0.00072 0.000713333 0.000686667 0.000666667 0.000693333 0.00072 0.000733333 +0.000726667 0.0007 0.0007 0.00072 0.00072 0.000713333 0.00072 0.0007 +0.000693333 0.0007 0.000706667 0.00072 0.000706667 0.000706667 0.0007 0.000686667 +0.000673333 0.000666667 0.000666667 0.000686667 0.00072 0.000726667 0.0007 0.000686667 +0.000693333 0.00072 0.00072 0.000706667 0.000726667 0.000706667 0.000713333 0.000693333 +0.00066 0.000666667 0.000673333 0.000673333 0.00066 0.000686667 0.00068 0.000666667 +0.000673333 0.00068 0.000653333 0.000626667 0.00064 0.000666667 0.0007 0.00072 +0.000713333 0.000673333 0.000673333 0.00066 0.000666667 0.00066 0.00064 0.000633333 +0.00062 0.00064 0.000653333 0.000666667 0.000666667 0.00066 0.000653333 0.000653333 +0.000673333 0.00066 0.000686667 0.000693333 0.000653333 0.000626667 0.00064 0.00068 +0.000686667 0.000666667 0.00066 0.000693333 0.000693333 0.000673333 0.000673333 0.000686667 +0.000686667 0.0007 0.000706667 0.000666667 0.000673333 0.000693333 0.000686667 0.000686667 +0.00068 0.00066 0.000646667 0.00066 0.000666667 0.0007 0.000666667 0.000646667 +0.000646667 0.000666667 0.000686667 0.00068 0.00064 0.000646667 0.000666667 0.000666667 +0.000673333 0.000693333 0.00068 0.00064 0.000646667 0.00066 0.000653333 0.000646667 +0.00068 0.000693333 0.000686667 0.00066 0.000646667 0.00066 0.00068 0.0007 +0.000706667 0.000706667 0.000686667 0.000673333 0.000686667 0.00068 0.000693333 0.0007 +0.0007 0.000713333 0.000733333 0.000686667 0.000653333 0.00068 0.000706667 0.000693333 +0.00066 0.000666667 0.00066 0.000686667 0.000666667 0.000646667 0.000686667 0.000706667 +0.00068 0.000646667 0.000666667 0.00066 0.00066 0.00068 0.000686667 0.000673333 +0.00066 0.000666667 0.00066 0.000646667 0.000646667 0.00066 0.000693333 0.00066 +0.000666667 0.00072 0.000666667 0.000633333 0.00064 0.00066 0.000666667 0.000673333 +0.000686667 0.00066 0.00066 0.00068 0.000693333 0.00068 0.00066 0.000686667 +0.00068 0.000686667 0.00072 0.000686667 0.00066 0.0007 0.000713333 0.000666667 +0.000686667 0.000693333 0.000693333 0.000693333 0.000686667 0.000706667 0.000693333 0.0007 +0.000713333 0.00068 0.000646667 0.00068 0.000713333 0.000693333 0.000666667 0.000666667 +0.00068 0.000686667 0.00064 0.00066 0.000673333 0.000666667 0.000666667 0.00066 +0.000686667 0.000713333 0.000673333 0.00068 0.00066 0.000626667 0.00066 0.000693333 +0.000673333 0.00066 0.000693333 0.000693333 0.000673333 0.000633333 0.000633333 0.00064 +0.00066 0.00068 0.0007 0.000673333 0.000646667 0.00068 0.000686667 0.00068 +0.0007 0.00068 0.000673333 0.0007 0.00068 0.0007 0.000693333 0.000646667 +0.000666667 0.000693333 0.000673333 0.000673333 0.000693333 0.000673333 0.000653333 0.00068 +0.0007 0.000666667 0.000653333 0.00068 0.0007 0.000693333 0.000666667 0.000666667 +0.00068 0.00068 0.000713333 0.0007 0.00066 0.00066 0.0007 0.0007 +0.000686667 0.00064 0.000666667 0.000713333 0.00066 0.00064 0.000693333 0.000706667 +0.000673333 0.000686667 0.0007 0.00066 0.000666667 0.00068 0.00068 0.000713333 +0.000693333 0.00066 0.000673333 0.000686667 0.000686667 0.000666667 0.00068 0.0007 +0.0007 0.0007 0.0007 0.000673333 0.000653333 0.000646667 0.00062 0.000666667 +0.000686667 0.00066 0.00066 0.000646667 0.00066 0.00066 0.000666667 0.000686667 +0.000673333 0.000673333 0.000653333 0.00066 0.00068 0.000666667 0.000653333 0.00068 +0.000673333 0.000673333 0.000653333 0.000646667 0.000653333 0.000666667 0.000706667 0.000706667 +0.000686667 0.000673333 0.000673333 0.00068 0.000666667 0.000686667 0.000693333 0.000713333 +0.000693333 0.0007 0.000706667 0.000713333 0.00068 0.00066 0.000686667 0.0007 +0.000733333 0.000726667 0.00072 0.000713333 0.0007 0.0007 0.000673333 0.000673333 +0.000673333 0.000693333 0.000713333 0.00072 0.00072 0.000726667 0.000713333 0.000746667 +0.00074 0.000726667 0.000693333 0.000693333 0.000726667 0.00074 0.00072 0.0007 +0.00072 0.000753333 0.000746667 0.000706667 0.000673333 0.000713333 0.000753333 0.00074 +0.000706667 0.000673333 0.000713333 0.000753333 0.000753333 0.000733333 0.000706667 0.000706667 +0.000753333 0.00076 0.000733333 0.000713333 0.000733333 0.00074 0.00076 0.000733333 +0.000726667 0.00074 0.00076 0.000753333 0.000746667 0.000726667 0.000706667 0.00072 +0.000733333 0.000746667 0.000746667 0.000733333 0.000746667 0.00076 0.000726667 0.00074 +0.000726667 0.00074 0.000746667 0.000753333 0.00078 0.000753333 0.000753333 0.000753333 +0.000733333 0.00074 0.00076 0.000733333 0.000733333 0.000753333 0.00076 0.000786667 +0.000746667 0.000713333 0.000766667 0.00078 0.000766667 0.00076 0.00074 0.000733333 +0.00078 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00076 0.000746667 +0.00076 0.00076 0.000753333 0.000746667 0.000766667 0.000793333 0.000766667 0.000733333 +0.000733333 0.00076 0.000773333 0.000753333 0.000746667 0.000746667 0.000733333 0.00074 +0.000726667 0.00074 0.000753333 0.000746667 0.000726667 0.00074 0.000746667 0.00074 +0.000753333 0.000753333 0.00074 0.00072 0.000686667 0.000693333 0.00074 0.00076 +0.00074 0.000726667 0.000733333 0.00072 0.00074 0.000746667 0.000746667 0.000746667 +0.000726667 0.000726667 0.000713333 0.0007 0.000713333 0.000733333 0.00072 0.000686667 +0.000706667 0.000706667 0.000713333 0.000713333 0.000706667 0.00072 0.00072 0.000713333 +0.00072 0.00072 0.000693333 0.0007 0.0007 0.000726667 0.000753333 0.000746667 +0.000733333 0.000706667 0.000693333 0.0007 0.000713333 0.000706667 0.000726667 0.000726667 +0.000706667 0.000693333 0.000706667 0.000713333 0.000693333 0.000686667 0.00068 0.000706667 +0.000713333 0.00072 0.000713333 0.000713333 0.000713333 0.000733333 0.000713333 0.0007 +0.0007 0.000693333 0.000693333 0.0007 0.000733333 0.000706667 0.0007 0.000693333 +0.000693333 0.000686667 0.000673333 0.00068 0.00068 0.000693333 0.000706667 0.000713333 +0.000693333 0.0007 0.000686667 0.000686667 0.000706667 0.000713333 0.000733333 0.00072 +0.000673333 0.000653333 0.00068 0.000686667 0.00066 0.000653333 0.000673333 0.000686667 +0.000673333 0.000686667 0.000686667 0.000673333 0.00064 0.000626667 0.000653333 0.00068 +0.000686667 0.000686667 0.000693333 0.000673333 0.000653333 0.000633333 0.000646667 0.000633333 +0.00062 0.00062 0.000646667 0.000673333 0.000673333 0.00068 0.000673333 0.000673333 +0.000673333 0.000646667 0.00066 0.000673333 0.00068 0.000646667 0.00062 0.000646667 +0.000686667 0.000673333 0.000653333 0.000666667 0.00068 0.000673333 0.000693333 0.0007 +0.000673333 0.00068 0.000686667 0.000673333 0.000653333 0.000673333 0.0007 0.000706667 +0.000693333 0.00066 0.00066 0.000666667 0.000646667 0.000673333 0.000686667 0.00068 +0.000653333 0.000653333 0.000653333 0.000646667 0.000646667 0.00066 0.000673333 0.00066 +0.000666667 0.000673333 0.000673333 0.000673333 0.000666667 0.000686667 0.000666667 0.000666667 +0.000686667 0.000693333 0.000693333 0.000666667 0.000633333 0.00064 0.000673333 0.000686667 +0.000693333 0.000706667 0.00068 0.000666667 0.0007 0.000693333 0.00068 0.000693333 +0.000693333 0.0007 0.000726667 0.000706667 0.00068 0.0007 0.000693333 0.000686667 +0.00068 0.000653333 0.000646667 0.000673333 0.00068 0.000653333 0.00066 0.0007 +0.000686667 0.00066 0.00068 0.000673333 0.000666667 0.000673333 0.000666667 0.000686667 +0.000666667 0.000666667 0.000666667 0.000653333 0.000646667 0.00066 0.000706667 0.000686667 +0.00066 0.000693333 0.00066 0.00064 0.000633333 0.000653333 0.00068 0.00068 +0.000686667 0.000673333 0.00066 0.00068 0.000686667 0.000693333 0.00068 0.00068 +0.000666667 0.000666667 0.000706667 0.0007 0.000666667 0.00068 0.000713333 0.00068 +0.000686667 0.000686667 0.00068 0.000673333 0.00068 0.000713333 0.000706667 0.000706667 +0.000726667 0.000693333 0.000653333 0.000673333 0.0007 0.000693333 0.000706667 0.000666667 +0.000653333 0.000686667 0.00066 0.000666667 0.000693333 0.0007 0.000693333 0.000666667 +0.000666667 0.000686667 0.000686667 0.000693333 0.000646667 0.000646667 0.00068 0.000693333 +0.000693333 0.000666667 0.00068 0.000686667 0.000666667 0.00064 0.000646667 0.000626667 +0.00066 0.00068 0.0007 0.00068 0.000666667 0.000666667 0.000686667 0.000686667 +0.000713333 0.000693333 0.000673333 0.000693333 0.000673333 0.000686667 0.0007 0.000666667 +0.00066 0.00068 0.000673333 0.00068 0.000686667 0.000673333 0.000673333 0.000686667 +0.000673333 0.000666667 0.000666667 0.000693333 0.00072 0.000673333 0.000653333 0.000673333 +0.000686667 0.0007 0.000706667 0.000693333 0.00066 0.00066 0.000693333 0.00072 +0.00068 0.00064 0.000706667 0.000726667 0.000653333 0.000653333 0.0007 0.000686667 +0.000653333 0.000686667 0.000693333 0.000666667 0.000686667 0.000673333 0.000706667 0.000706667 +0.00068 0.00066 0.000686667 0.000706667 0.00068 0.000653333 0.000673333 0.000706667 +0.000686667 0.000686667 0.000686667 0.000646667 0.000653333 0.000653333 0.000653333 0.000686667 +0.00068 0.000653333 0.00066 0.000646667 0.000646667 0.000673333 0.000686667 0.000666667 +0.000666667 0.00066 0.00064 0.000653333 0.000673333 0.000686667 0.000686667 0.000666667 +0.000653333 0.000666667 0.00066 0.000653333 0.000666667 0.0007 0.000686667 0.00068 +0.0007 0.000693333 0.000653333 0.000646667 0.000673333 0.000693333 0.000706667 0.000706667 +0.0007 0.000706667 0.000726667 0.000693333 0.000666667 0.000693333 0.0007 0.000693333 +0.000713333 0.000706667 0.000713333 0.000706667 0.000706667 0.0007 0.000693333 0.000693333 +0.0007 0.000713333 0.000726667 0.000713333 0.0007 0.0007 0.000726667 0.000753333 +0.00072 0.0007 0.0007 0.00074 0.000746667 0.000706667 0.0007 0.000713333 +0.00074 0.000746667 0.00072 0.000706667 0.000686667 0.000733333 0.000746667 0.00072 +0.000706667 0.000726667 0.00076 0.000746667 0.000706667 0.000706667 0.000733333 0.000733333 +0.00074 0.00074 0.00074 0.00072 0.000733333 0.00074 0.000733333 0.000713333 +0.000733333 0.00076 0.000753333 0.000733333 0.000713333 0.000706667 0.00072 0.000726667 +0.000746667 0.000746667 0.00074 0.000733333 0.00074 0.00076 0.000746667 0.00072 +0.00072 0.00076 0.000766667 0.00076 0.000746667 0.00072 0.000733333 0.00074 +0.000773333 0.000766667 0.000746667 0.000733333 0.000753333 0.00078 0.00078 0.000746667 +0.000726667 0.00074 0.000766667 0.00074 0.00074 0.000746667 0.000726667 0.00074 +0.00076 0.000773333 0.000506667 0.000506667 0.000506667 0.00082 0.00078 0.00074 +0.000746667 0.000746667 0.00076 0.00076 0.000733333 0.000746667 0.00078 0.00078 +0.000746667 0.000733333 0.00074 0.000753333 0.00078 0.000773333 0.000733333 0.000726667 +0.000726667 0.000733333 0.000733333 0.000753333 0.000746667 0.000726667 0.000713333 0.00072 +0.00074 0.00074 0.000746667 0.000753333 0.000733333 0.000726667 0.000726667 0.000733333 +0.000726667 0.00072 0.00072 0.000733333 0.00074 0.00072 0.00072 0.00076 +0.000766667 0.00074 0.000726667 0.000726667 0.000726667 0.00074 0.000726667 0.000706667 +0.000706667 0.000713333 0.000726667 0.000726667 0.0007 0.000693333 0.000713333 0.00072 +0.00072 0.00072 0.000706667 0.000726667 0.000713333 0.000713333 0.00072 0.000713333 +0.00072 0.000733333 0.000713333 0.000706667 0.000693333 0.000693333 0.00072 0.000726667 +0.00072 0.0007 0.000693333 0.000713333 0.00072 0.000706667 0.000686667 0.000686667 +0.0007 0.000706667 0.00072 0.00072 0.000693333 0.00072 0.000713333 0.000706667 +0.000713333 0.000713333 0.000706667 0.000706667 0.00072 0.000706667 0.000706667 0.000706667 +0.000706667 0.000693333 0.00068 0.00068 0.00068 0.000666667 0.000686667 0.000706667 +0.000706667 0.000693333 0.000673333 0.000666667 0.00068 0.000706667 0.00072 0.000706667 +0.000706667 0.000673333 0.00066 0.00066 0.00068 0.00066 0.00064 0.000666667 +0.000666667 0.00066 0.000686667 0.000713333 0.000693333 0.000653333 0.00064 0.000653333 +0.000673333 0.00068 0.0007 0.000693333 0.000653333 0.000633333 0.00064 0.00064 +0.00064 0.000626667 0.000633333 0.000653333 0.00066 0.000693333 0.000686667 0.000686667 +0.00068 0.000666667 0.000653333 0.00066 0.000686667 0.000686667 0.00064 0.000633333 +0.00064 0.00066 0.000673333 0.000653333 0.000666667 0.0007 0.000713333 0.0007 +0.00066 0.00064 0.000673333 0.000686667 0.00066 0.000646667 0.0007 0.00072 +0.000686667 0.000686667 0.000666667 0.00066 0.000673333 0.00068 0.00068 0.000673333 +0.000666667 0.000686667 0.000666667 0.000646667 0.000633333 0.00064 0.000686667 0.00068 +0.000653333 0.00066 0.00068 0.000666667 0.00066 0.000666667 0.000666667 0.000673333 +0.000686667 0.000693333 0.000693333 0.00068 0.000653333 0.000653333 0.000673333 0.000673333 +0.000666667 0.000673333 0.00068 0.000673333 0.000686667 0.000686667 0.000693333 0.0007 +0.00068 0.00068 0.000713333 0.000706667 0.000706667 0.000726667 0.0007 0.00068 +0.000673333 0.000666667 0.000653333 0.00066 0.000686667 0.000653333 0.000633333 0.00068 +0.0007 0.000673333 0.000673333 0.000666667 0.000673333 0.000693333 0.00066 0.00066 +0.00066 0.00066 0.00066 0.00066 0.000646667 0.000646667 0.000686667 0.000686667 +0.000666667 0.000686667 0.000673333 0.000673333 0.00066 0.00064 0.00066 0.00068 +0.000673333 0.000686667 0.000686667 0.00068 0.000693333 0.000686667 0.000666667 0.00068 +0.000673333 0.000673333 0.00072 0.000713333 0.000686667 0.000693333 0.0007 0.00066 +0.000686667 0.00068 0.00068 0.000686667 0.00068 0.000713333 0.000713333 0.000686667 +0.000713333 0.000713333 0.00068 0.000673333 0.00068 0.000693333 0.000726667 0.00068 +0.00066 0.000686667 0.000666667 0.00068 0.000713333 0.000686667 0.000693333 0.000686667 +0.00066 0.000673333 0.0007 0.000693333 0.000653333 0.00066 0.00068 0.000686667 +0.000673333 0.00068 0.000653333 0.000666667 0.00066 0.000653333 0.00068 0.000646667 +0.00066 0.000666667 0.000673333 0.000693333 0.000666667 0.000666667 0.000686667 0.000693333 +0.000706667 0.000666667 0.00068 0.0007 0.00068 0.000666667 0.000686667 0.00068 +0.000673333 0.000686667 0.000653333 0.000673333 0.0007 0.000686667 0.000686667 0.000693333 +0.000646667 0.000653333 0.00068 0.000713333 0.00072 0.000653333 0.000646667 0.00068 +0.0007 0.000706667 0.0007 0.000693333 0.00068 0.0007 0.000686667 0.000706667 +0.000706667 0.000686667 0.000726667 0.000693333 0.000646667 0.00066 0.000686667 0.000673333 +0.000666667 0.000706667 0.000686667 0.000666667 0.00068 0.000673333 0.000693333 0.000693333 +0.000693333 0.000686667 0.0007 0.000726667 0.000673333 0.00064 0.000673333 0.000706667 +0.000666667 0.000686667 0.000686667 0.00066 0.00066 0.000653333 0.00068 0.000686667 +0.00066 0.000653333 0.000673333 0.000653333 0.000633333 0.000673333 0.000686667 0.000653333 +0.00066 0.000653333 0.000646667 0.000653333 0.000666667 0.000693333 0.000693333 0.000633333 +0.000633333 0.00066 0.000673333 0.00066 0.000686667 0.0007 0.000653333 0.000666667 +0.000706667 0.000693333 0.000653333 0.000666667 0.0007 0.000693333 0.000693333 0.000706667 +0.00072 0.000693333 0.000706667 0.000686667 0.000686667 0.000713333 0.00068 0.00066 +0.000706667 0.000733333 0.00072 0.0007 0.000706667 0.000693333 0.000706667 0.00072 +0.00072 0.000706667 0.0007 0.000706667 0.000706667 0.0007 0.00074 0.00074 +0.0007 0.000706667 0.000726667 0.00074 0.00072 0.000713333 0.000726667 0.000713333 +0.000713333 0.000726667 0.00072 0.00072 0.00072 0.000733333 0.000713333 0.000713333 +0.00074 0.000773333 0.00074 0.000706667 0.000706667 0.00072 0.000746667 0.000733333 +0.000713333 0.000733333 0.00074 0.00074 0.000726667 0.000706667 0.000733333 0.000746667 +0.000746667 0.00074 0.00072 0.00072 0.000713333 0.00072 0.00074 0.000726667 +0.000733333 0.000726667 0.000726667 0.000726667 0.000726667 0.000746667 0.000733333 0.0007 +0.000746667 0.00078 0.00076 0.000746667 0.000726667 0.000733333 0.000753333 0.000773333 +0.000773333 0.000726667 0.00074 0.000766667 0.000746667 0.00076 0.000753333 0.000713333 +0.000726667 0.000746667 0.000753333 0.000733333 0.000746667 0.00074 0.000753333 0.000746667 +0.000766667 0.000806667 0.000793333 0.000506667 0.000506667 0.000773333 0.00076 0.000766667 +0.000766667 0.000753333 0.00076 0.000766667 0.000753333 0.000746667 0.000753333 0.00078 +0.000773333 0.000753333 0.000733333 0.000713333 0.000746667 0.000766667 0.000753333 0.00076 +0.000746667 0.000726667 0.000713333 0.000733333 0.00076 0.000753333 0.000733333 0.0007 +0.000706667 0.000713333 0.00074 0.00074 0.00074 0.00076 0.000746667 0.00074 +0.00074 0.000726667 0.000706667 0.00072 0.000733333 0.00072 0.0007 0.0007 +0.000746667 0.00076 0.000753333 0.000726667 0.000733333 0.000746667 0.000713333 0.00072 +0.000706667 0.000713333 0.000726667 0.000713333 0.00072 0.000713333 0.000706667 0.000706667 +0.000713333 0.000693333 0.000693333 0.00072 0.00074 0.000726667 0.00072 0.000713333 +0.000686667 0.000713333 0.000733333 0.00074 0.000713333 0.00068 0.0007 0.000713333 +0.000706667 0.000733333 0.00074 0.000706667 0.000706667 0.000706667 0.000706667 0.000706667 +0.000686667 0.00068 0.0007 0.000733333 0.00072 0.000706667 0.000693333 0.000693333 +0.000706667 0.000713333 0.000706667 0.000733333 0.000726667 0.000706667 0.000706667 0.000706667 +0.00072 0.000706667 0.0007 0.000673333 0.000686667 0.000673333 0.00068 0.000693333 +0.0007 0.0007 0.00068 0.00068 0.000653333 0.000673333 0.000693333 0.00068 +0.0007 0.000706667 0.00068 0.000653333 0.00068 0.00068 0.000633333 0.000646667 +0.000653333 0.000653333 0.000666667 0.00068 0.000686667 0.000693333 0.00068 0.000673333 +0.00068 0.000693333 0.000693333 0.000673333 0.000646667 0.00066 0.00066 0.00064 +0.000646667 0.000646667 0.00066 0.00066 0.000653333 0.000673333 0.00068 0.00068 +0.000693333 0.000706667 0.00068 0.00066 0.000666667 0.00068 0.00066 0.00066 +0.000653333 0.000633333 0.00066 0.000673333 0.000693333 0.000706667 0.0007 0.000673333 +0.00066 0.00064 0.000666667 0.000686667 0.000666667 0.000646667 0.00068 0.000706667 +0.0007 0.000706667 0.000686667 0.000666667 0.000693333 0.000713333 0.000693333 0.00066 +0.00066 0.000673333 0.000666667 0.00066 0.000653333 0.000633333 0.00064 0.000686667 +0.000666667 0.000646667 0.000693333 0.000666667 0.000633333 0.00066 0.000666667 0.000653333 +0.000686667 0.00068 0.00068 0.000686667 0.000666667 0.000666667 0.00068 0.000673333 +0.000673333 0.000666667 0.000686667 0.00068 0.000673333 0.000673333 0.0007 0.000706667 +0.000666667 0.00068 0.000726667 0.000726667 0.000693333 0.000706667 0.00072 0.000673333 +0.000666667 0.000706667 0.000693333 0.00066 0.00068 0.000653333 0.000626667 0.000666667 +0.000706667 0.0007 0.000673333 0.000653333 0.00066 0.000686667 0.00066 0.000646667 +0.000633333 0.000646667 0.000686667 0.000686667 0.000666667 0.000653333 0.00066 0.00068 +0.000673333 0.000673333 0.000653333 0.000653333 0.000673333 0.00064 0.000633333 0.000666667 +0.00068 0.00068 0.000686667 0.000673333 0.000693333 0.000706667 0.000693333 0.000686667 +0.000666667 0.00066 0.00072 0.00072 0.000706667 0.000706667 0.00068 0.000646667 +0.000673333 0.000666667 0.00068 0.000713333 0.0007 0.0007 0.000713333 0.000706667 +0.0007 0.0007 0.000673333 0.00068 0.000693333 0.0007 0.00072 0.000713333 +0.000693333 0.000673333 0.000666667 0.000673333 0.000686667 0.000673333 0.000693333 0.00068 +0.000653333 0.0007 0.0007 0.000693333 0.000673333 0.000673333 0.0007 0.000693333 +0.000673333 0.00068 0.000646667 0.000646667 0.000666667 0.00066 0.000693333 0.000666667 +0.00066 0.000646667 0.000673333 0.000686667 0.00066 0.00068 0.000693333 0.000686667 +0.0007 0.000673333 0.00068 0.000693333 0.00068 0.00068 0.000666667 0.000673333 +0.000686667 0.000686667 0.000633333 0.000686667 0.000713333 0.000693333 0.00068 0.00068 +0.000653333 0.000653333 0.000686667 0.00072 0.0007 0.000633333 0.00066 0.000693333 +0.000686667 0.0007 0.000693333 0.0007 0.0007 0.000713333 0.000693333 0.000713333 +0.000706667 0.000706667 0.00072 0.0007 0.000673333 0.000673333 0.00068 0.000673333 +0.000693333 0.000686667 0.00068 0.000693333 0.000673333 0.00068 0.00072 0.000693333 +0.000686667 0.000713333 0.0007 0.000693333 0.00066 0.00068 0.000713333 0.0007 +0.000666667 0.00068 0.000686667 0.00068 0.000673333 0.000673333 0.00068 0.000686667 +0.00066 0.00064 0.000666667 0.00066 0.000646667 0.000686667 0.000666667 0.00066 +0.000666667 0.000646667 0.00066 0.000673333 0.000666667 0.000666667 0.00066 0.000633333 +0.000646667 0.000666667 0.000686667 0.000686667 0.00068 0.000673333 0.000653333 0.00066 +0.000693333 0.00068 0.000673333 0.00068 0.000693333 0.000686667 0.000693333 0.00072 +0.0007 0.0007 0.000706667 0.000706667 0.000693333 0.000693333 0.000666667 0.000653333 +0.000706667 0.00074 0.000726667 0.000713333 0.000713333 0.000706667 0.0007 0.000713333 +0.000686667 0.00068 0.0007 0.000713333 0.000706667 0.00072 0.00074 0.00072 +0.000693333 0.000726667 0.000733333 0.0007 0.0007 0.000726667 0.000726667 0.000693333 +0.000693333 0.000706667 0.00074 0.000746667 0.000726667 0.000686667 0.000713333 0.00074 +0.00074 0.000726667 0.0007 0.000713333 0.000713333 0.00072 0.000733333 0.000706667 +0.000713333 0.00076 0.000733333 0.00072 0.000706667 0.000726667 0.000773333 0.000746667 +0.000726667 0.000726667 0.000713333 0.000733333 0.000733333 0.000733333 0.000713333 0.000713333 +0.000726667 0.000713333 0.000733333 0.000733333 0.000726667 0.000733333 0.000726667 0.000746667 +0.000786667 0.000773333 0.00074 0.000746667 0.000726667 0.000733333 0.00076 0.000753333 +0.00072 0.000733333 0.00076 0.000746667 0.000746667 0.00076 0.000726667 0.00072 +0.000733333 0.000746667 0.000746667 0.000733333 0.000746667 0.000766667 0.000753333 0.000746667 +0.00078 0.000753333 0.000766667 0.000506667 0.000813333 0.000773333 0.000753333 0.000753333 +0.00076 0.00078 0.000773333 0.000746667 0.000753333 0.00076 0.00074 0.00074 +0.000746667 0.000766667 0.000766667 0.00074 0.00072 0.00074 0.00074 0.00076 +0.000773333 0.000746667 0.000746667 0.000753333 0.00072 0.000733333 0.000753333 0.000733333 +0.00072 0.000713333 0.00072 0.00072 0.00072 0.000733333 0.000746667 0.000746667 +0.000726667 0.00074 0.00072 0.000713333 0.000713333 0.000726667 0.000726667 0.000706667 +0.0007 0.000713333 0.000746667 0.000746667 0.000733333 0.000746667 0.000726667 0.000713333 +0.000706667 0.00072 0.00072 0.000713333 0.000713333 0.000726667 0.00074 0.000733333 +0.00072 0.000706667 0.0007 0.000686667 0.000693333 0.000706667 0.000713333 0.000726667 +0.000713333 0.000706667 0.000713333 0.000733333 0.00074 0.000713333 0.000693333 0.000706667 +0.000686667 0.0007 0.00074 0.00072 0.000706667 0.0007 0.0007 0.000713333 +0.000693333 0.000673333 0.00068 0.000706667 0.000733333 0.000726667 0.000706667 0.000686667 +0.000686667 0.000706667 0.0007 0.000726667 0.000733333 0.00072 0.000713333 0.000686667 +0.000706667 0.000726667 0.00072 0.000686667 0.000673333 0.000673333 0.000693333 0.000686667 +0.000693333 0.000693333 0.000686667 0.000706667 0.000673333 0.00066 0.000673333 0.00068 +0.00068 0.0007 0.000686667 0.000673333 0.000686667 0.000693333 0.000686667 0.00066 +0.00064 0.000633333 0.00066 0.00068 0.000673333 0.00066 0.000673333 0.00068 +0.00068 0.000706667 0.0007 0.00066 0.000626667 0.00064 0.00064 0.00066 +0.000653333 0.000653333 0.000693333 0.000666667 0.000666667 0.00066 0.00068 0.00068 +0.000673333 0.000686667 0.000693333 0.000666667 0.000653333 0.00066 0.000666667 0.000673333 +0.000653333 0.000646667 0.000646667 0.00066 0.0007 0.000713333 0.000686667 0.000673333 +0.000673333 0.00066 0.000646667 0.000666667 0.000673333 0.000666667 0.000653333 0.00068 +0.000706667 0.0007 0.000706667 0.00068 0.00068 0.000693333 0.000706667 0.0007 +0.00068 0.00064 0.000653333 0.000666667 0.000673333 0.00066 0.000633333 0.000646667 +0.000673333 0.000666667 0.000666667 0.000666667 0.000646667 0.00066 0.000686667 0.000653333 +0.00068 0.00068 0.000673333 0.000686667 0.00068 0.00066 0.000666667 0.000693333 +0.000693333 0.00068 0.00068 0.00068 0.00068 0.000693333 0.0007 0.000706667 +0.000686667 0.000673333 0.000713333 0.000733333 0.0007 0.0007 0.000733333 0.000693333 +0.000666667 0.000713333 0.000706667 0.000673333 0.000693333 0.000673333 0.00064 0.000666667 +0.000693333 0.000693333 0.00068 0.000666667 0.000646667 0.000686667 0.000666667 0.000633333 +0.000626667 0.000646667 0.000693333 0.0007 0.00068 0.000666667 0.000653333 0.00068 +0.00068 0.000693333 0.000653333 0.000626667 0.000653333 0.00066 0.00066 0.00068 +0.0007 0.000666667 0.00066 0.00066 0.00068 0.000713333 0.000713333 0.000693333 +0.000673333 0.000666667 0.000713333 0.0007 0.000693333 0.000713333 0.0007 0.000673333 +0.00068 0.000673333 0.000673333 0.000693333 0.000706667 0.000686667 0.000686667 0.000726667 +0.000706667 0.00068 0.000666667 0.0007 0.00072 0.000693333 0.000706667 0.000713333 +0.000693333 0.000666667 0.00066 0.000686667 0.0007 0.00068 0.0007 0.000673333 +0.000646667 0.000706667 0.000713333 0.000693333 0.000666667 0.000686667 0.0007 0.000686667 +0.00068 0.000693333 0.00066 0.00068 0.000686667 0.000653333 0.000666667 0.000666667 +0.000646667 0.000653333 0.0007 0.00068 0.000646667 0.0007 0.000686667 0.000666667 +0.000693333 0.000686667 0.000666667 0.000646667 0.000666667 0.000693333 0.000666667 0.000673333 +0.000686667 0.00068 0.00064 0.0007 0.000693333 0.000666667 0.000686667 0.000693333 +0.000646667 0.00066 0.000686667 0.000706667 0.0007 0.00066 0.000686667 0.000693333 +0.000673333 0.000706667 0.000706667 0.000706667 0.000686667 0.000706667 0.00072 0.00072 +0.000673333 0.00068 0.00072 0.000686667 0.000673333 0.000693333 0.000693333 0.000673333 +0.0007 0.000693333 0.00068 0.000693333 0.00068 0.0007 0.00072 0.000686667 +0.00068 0.000726667 0.0007 0.00066 0.00068 0.00072 0.000726667 0.000686667 +0.000673333 0.000666667 0.00066 0.000686667 0.000686667 0.000686667 0.000686667 0.000686667 +0.000653333 0.00064 0.00066 0.00066 0.00068 0.000706667 0.000673333 0.000673333 +0.000666667 0.000653333 0.00068 0.00068 0.000653333 0.000653333 0.000646667 0.000646667 +0.000673333 0.00068 0.0007 0.00068 0.00066 0.000666667 0.000646667 0.000666667 +0.00068 0.000686667 0.00068 0.000666667 0.000686667 0.000693333 0.000706667 0.0007 +0.000686667 0.000726667 0.00074 0.000713333 0.000686667 0.000693333 0.00068 0.00066 +0.0007 0.000746667 0.000746667 0.0007 0.000706667 0.000706667 0.00068 0.000686667 +0.000686667 0.000693333 0.000733333 0.000726667 0.000706667 0.00072 0.000726667 0.000693333 +0.000686667 0.000713333 0.000726667 0.000706667 0.00072 0.000733333 0.00072 0.000686667 +0.000693333 0.000726667 0.00076 0.000733333 0.0007 0.000693333 0.000733333 0.00072 +0.0007 0.000686667 0.000686667 0.000733333 0.000753333 0.000726667 0.000713333 0.000713333 +0.000753333 0.000753333 0.0007 0.000706667 0.000726667 0.000753333 0.000746667 0.0007 +0.00072 0.000726667 0.000713333 0.000726667 0.000726667 0.000733333 0.000726667 0.000733333 +0.000726667 0.000726667 0.000746667 0.000746667 0.000733333 0.00074 0.00076 0.00076 +0.00076 0.00074 0.00072 0.000753333 0.000726667 0.000726667 0.00074 0.00074 +0.000733333 0.000746667 0.000746667 0.00074 0.000746667 0.00074 0.00072 0.00072 +0.00072 0.000733333 0.00074 0.000733333 0.00076 0.000766667 0.000746667 0.00076 +0.00076 0.00074 0.000766667 0.000766667 0.000773333 0.00078 0.000766667 0.000753333 +0.000746667 0.00076 0.00078 0.000773333 0.00076 0.000746667 0.00074 0.000746667 +0.000726667 0.000726667 0.00076 0.000773333 0.00076 0.000753333 0.000726667 0.000706667 +0.000733333 0.000746667 0.000753333 0.000766667 0.000773333 0.00074 0.000733333 0.000753333 +0.000753333 0.000746667 0.000726667 0.00072 0.000726667 0.000726667 0.00072 0.000726667 +0.000726667 0.000746667 0.000726667 0.000706667 0.0007 0.00072 0.000746667 0.000746667 +0.000726667 0.0007 0.0007 0.000713333 0.000733333 0.00074 0.00074 0.000726667 +0.0007 0.00072 0.000706667 0.000713333 0.00072 0.000726667 0.00074 0.000733333 +0.00072 0.000706667 0.00072 0.00072 0.0007 0.00068 0.000673333 0.000693333 +0.00072 0.000726667 0.00072 0.00072 0.00072 0.00072 0.000713333 0.000726667 +0.000713333 0.0007 0.000706667 0.000713333 0.000706667 0.00072 0.00072 0.00072 +0.000713333 0.0007 0.000706667 0.00068 0.000686667 0.0007 0.000693333 0.0007 +0.000713333 0.000706667 0.000713333 0.000713333 0.0007 0.000726667 0.000726667 0.000706667 +0.000686667 0.000706667 0.000733333 0.000726667 0.000693333 0.000673333 0.00068 0.00068 +0.00068 0.000686667 0.00068 0.00068 0.000693333 0.000706667 0.000686667 0.000666667 +0.000653333 0.000666667 0.00068 0.000666667 0.000686667 0.000693333 0.000693333 0.000686667 +0.00066 0.000626667 0.000646667 0.00068 0.0007 0.000666667 0.000633333 0.000646667 +0.000666667 0.000673333 0.00068 0.000653333 0.00064 0.000613333 0.000606667 0.00066 +0.00068 0.00068 0.000673333 0.000666667 0.00066 0.000666667 0.000673333 0.000693333 +0.000673333 0.000666667 0.000686667 0.000666667 0.000646667 0.000666667 0.0007 0.000686667 +0.000653333 0.00064 0.000653333 0.00066 0.000693333 0.000713333 0.0007 0.000693333 +0.000673333 0.00068 0.000666667 0.000646667 0.000673333 0.00068 0.000633333 0.000646667 +0.000686667 0.000686667 0.000693333 0.000673333 0.000666667 0.000673333 0.000673333 0.000686667 +0.0007 0.000673333 0.000646667 0.000673333 0.00066 0.00066 0.000646667 0.000646667 +0.000666667 0.000686667 0.000653333 0.000653333 0.000646667 0.00066 0.000686667 0.000693333 +0.000686667 0.000673333 0.000673333 0.000686667 0.00068 0.000633333 0.000653333 0.000693333 +0.000706667 0.000673333 0.000673333 0.000686667 0.00068 0.000713333 0.0007 0.000713333 +0.000713333 0.00068 0.00068 0.0007 0.0007 0.0007 0.000733333 0.00072 +0.000693333 0.000706667 0.000713333 0.000693333 0.000693333 0.00068 0.00064 0.000666667 +0.000673333 0.000666667 0.00066 0.000673333 0.000646667 0.000666667 0.00068 0.000633333 +0.000626667 0.000653333 0.000686667 0.000666667 0.000646667 0.00066 0.000673333 0.000673333 +0.000673333 0.0007 0.000693333 0.000633333 0.00064 0.00066 0.000673333 0.00068 +0.000693333 0.00066 0.000673333 0.000653333 0.000666667 0.000693333 0.000693333 0.0007 +0.0007 0.000673333 0.000713333 0.000693333 0.000673333 0.000713333 0.00072 0.000686667 +0.00068 0.00068 0.00068 0.000673333 0.0007 0.000686667 0.000653333 0.000693333 +0.000713333 0.000686667 0.000666667 0.000693333 0.000713333 0.000686667 0.000713333 0.000706667 +0.00068 0.000673333 0.00066 0.000686667 0.0007 0.00068 0.000706667 0.000706667 +0.00066 0.0007 0.000713333 0.0007 0.000666667 0.000666667 0.000693333 0.000693333 +0.000693333 0.000706667 0.000686667 0.000693333 0.000686667 0.000673333 0.000666667 0.00066 +0.00066 0.000646667 0.00068 0.000673333 0.000666667 0.000686667 0.000673333 0.000653333 +0.000686667 0.000673333 0.000653333 0.00064 0.000673333 0.000713333 0.000673333 0.00066 +0.00068 0.000666667 0.000646667 0.000693333 0.00068 0.00066 0.000686667 0.000673333 +0.000626667 0.00066 0.000686667 0.000713333 0.00068 0.000673333 0.000706667 0.0007 +0.000673333 0.000686667 0.0007 0.000693333 0.000666667 0.00072 0.000766667 0.00072 +0.000653333 0.00068 0.00072 0.0007 0.000693333 0.000713333 0.000693333 0.000686667 +0.000693333 0.000706667 0.000666667 0.00066 0.000693333 0.00072 0.0007 0.000686667 +0.0007 0.0007 0.000693333 0.00066 0.00068 0.000706667 0.00072 0.000693333 +0.000686667 0.000653333 0.00066 0.000693333 0.000686667 0.0007 0.0007 0.000673333 +0.000646667 0.000666667 0.000666667 0.00068 0.0007 0.000686667 0.000666667 0.000673333 +0.000653333 0.000673333 0.000673333 0.000653333 0.000633333 0.000653333 0.00066 0.000666667 +0.000686667 0.00068 0.00068 0.00066 0.000646667 0.000653333 0.00066 0.00068 +0.00068 0.000693333 0.000673333 0.00066 0.000693333 0.0007 0.0007 0.00068 +0.0007 0.000726667 0.00072 0.0007 0.000706667 0.000693333 0.000693333 0.000666667 +0.000693333 0.000753333 0.000726667 0.000693333 0.000693333 0.000686667 0.00068 0.000686667 +0.000713333 0.000733333 0.00074 0.0007 0.0007 0.0007 0.000686667 0.000693333 +0.00072 0.00072 0.000713333 0.000713333 0.000713333 0.000726667 0.00072 0.000693333 +0.000706667 0.000713333 0.000726667 0.00072 0.000713333 0.000693333 0.000686667 0.000673333 +0.00068 0.00068 0.000706667 0.000733333 0.000753333 0.000733333 0.000726667 0.000746667 +0.000733333 0.000693333 0.000686667 0.00072 0.000746667 0.000746667 0.00072 0.000706667 +0.000726667 0.000726667 0.000713333 0.000706667 0.00072 0.000746667 0.000746667 0.00072 +0.000713333 0.000733333 0.000753333 0.00074 0.000746667 0.000746667 0.000733333 0.000706667 +0.00072 0.000726667 0.00074 0.000766667 0.000733333 0.000726667 0.000733333 0.00074 +0.00072 0.000726667 0.000726667 0.00072 0.000733333 0.000753333 0.000726667 0.00072 +0.00072 0.000733333 0.00074 0.00076 0.000766667 0.00074 0.000753333 0.000753333 +0.000733333 0.000733333 0.000746667 0.000766667 0.00076 0.000753333 0.00074 0.00076 +0.000773333 0.000733333 0.000746667 0.000766667 0.000773333 0.000773333 0.000753333 0.000733333 +0.000726667 0.000726667 0.000726667 0.000746667 0.000766667 0.000746667 0.000746667 0.000726667 +0.00072 0.000733333 0.00072 0.000726667 0.000766667 0.000773333 0.00074 0.00074 +0.000753333 0.000773333 0.000766667 0.00074 0.000733333 0.000733333 0.000726667 0.00072 +0.00072 0.00074 0.000746667 0.000726667 0.0007 0.000706667 0.000726667 0.00074 +0.00074 0.000733333 0.00072 0.000693333 0.000706667 0.000726667 0.00074 0.00076 +0.00072 0.00072 0.0007 0.0007 0.000706667 0.00072 0.00074 0.00074 +0.000733333 0.000713333 0.0007 0.000713333 0.000726667 0.00072 0.000693333 0.000666667 +0.000673333 0.000713333 0.00072 0.00072 0.00072 0.00072 0.000733333 0.000733333 +0.000713333 0.000706667 0.0007 0.000713333 0.000713333 0.0007 0.00072 0.000746667 +0.000726667 0.000706667 0.000726667 0.000713333 0.000686667 0.00068 0.000673333 0.000666667 +0.000713333 0.000706667 0.00072 0.000726667 0.0007 0.0007 0.000706667 0.000726667 +0.000726667 0.000706667 0.000706667 0.000733333 0.000726667 0.000713333 0.000693333 0.000693333 +0.000673333 0.00068 0.00068 0.00066 0.000686667 0.000693333 0.000706667 0.000693333 +0.000666667 0.000646667 0.000653333 0.000673333 0.000666667 0.000673333 0.000673333 0.000666667 +0.000666667 0.000653333 0.00066 0.000673333 0.000673333 0.0007 0.000666667 0.000653333 +0.000653333 0.00064 0.00064 0.000626667 0.00066 0.000646667 0.000626667 0.00064 +0.00068 0.0007 0.000673333 0.000686667 0.00068 0.000673333 0.000653333 0.00068 +0.000686667 0.00068 0.000666667 0.000653333 0.000646667 0.000673333 0.0007 0.00068 +0.000666667 0.000653333 0.000646667 0.00066 0.00068 0.000706667 0.000706667 0.0007 +0.000686667 0.00068 0.000666667 0.000673333 0.000673333 0.00068 0.00066 0.000646667 +0.000673333 0.000693333 0.000706667 0.000686667 0.00066 0.000673333 0.000693333 0.000666667 +0.000673333 0.00068 0.000666667 0.000646667 0.000653333 0.00066 0.000646667 0.000653333 +0.00066 0.00066 0.000673333 0.000666667 0.00064 0.000646667 0.000686667 0.000706667 +0.000686667 0.000673333 0.000673333 0.00068 0.00068 0.000653333 0.000666667 0.000693333 +0.0007 0.000686667 0.00068 0.000706667 0.00068 0.0007 0.000693333 0.000706667 +0.00074 0.000726667 0.0007 0.00068 0.000673333 0.000673333 0.00072 0.00072 +0.0007 0.000693333 0.000706667 0.00068 0.00068 0.0007 0.00066 0.000653333 +0.00068 0.00068 0.00066 0.000653333 0.000646667 0.000666667 0.0007 0.000673333 +0.000653333 0.000646667 0.000653333 0.000646667 0.00064 0.00066 0.00068 0.000686667 +0.00066 0.000673333 0.000706667 0.000686667 0.000646667 0.000633333 0.00066 0.000686667 +0.000693333 0.000673333 0.0007 0.00066 0.000673333 0.0007 0.000673333 0.000686667 +0.000706667 0.000673333 0.000686667 0.000706667 0.000686667 0.000706667 0.0007 0.00068 +0.000686667 0.000686667 0.0007 0.00068 0.000693333 0.00072 0.000686667 0.0007 +0.000733333 0.000686667 0.000666667 0.0007 0.000706667 0.000673333 0.000686667 0.000706667 +0.0007 0.000666667 0.00066 0.00068 0.000693333 0.00068 0.000726667 0.000713333 +0.000673333 0.0007 0.00068 0.000713333 0.000686667 0.0007 0.000726667 0.000706667 +0.000706667 0.000706667 0.00068 0.000673333 0.000686667 0.000706667 0.000673333 0.000686667 +0.000706667 0.000673333 0.000666667 0.000686667 0.000693333 0.000686667 0.000666667 0.000653333 +0.000686667 0.000693333 0.000666667 0.000666667 0.0007 0.000706667 0.00066 0.00066 +0.000693333 0.000673333 0.000646667 0.000666667 0.000673333 0.000673333 0.00068 0.00068 +0.00066 0.00068 0.0007 0.00072 0.00068 0.000673333 0.000686667 0.000686667 +0.000693333 0.000693333 0.000693333 0.000673333 0.000686667 0.00074 0.000746667 0.000713333 +0.0007 0.0007 0.000706667 0.000706667 0.000726667 0.000726667 0.000706667 0.000706667 +0.000713333 0.000713333 0.000673333 0.00066 0.000693333 0.000713333 0.000706667 0.000706667 +0.000726667 0.0007 0.000673333 0.00066 0.00068 0.0007 0.000733333 0.0007 +0.000706667 0.00066 0.000653333 0.000686667 0.000706667 0.000726667 0.000713333 0.000666667 +0.000646667 0.00068 0.00068 0.00068 0.000693333 0.000673333 0.000666667 0.000666667 +0.00066 0.00068 0.00066 0.000646667 0.000646667 0.000666667 0.00068 0.0007 +0.00068 0.000646667 0.000653333 0.000673333 0.000653333 0.000653333 0.00068 0.000686667 +0.00066 0.000666667 0.00068 0.000686667 0.000686667 0.000693333 0.00068 0.0007 +0.000726667 0.0007 0.000693333 0.000706667 0.000706667 0.0007 0.000706667 0.0007 +0.0007 0.000726667 0.000706667 0.00068 0.000673333 0.000693333 0.000693333 0.0007 +0.000713333 0.00072 0.0007 0.000706667 0.000713333 0.00068 0.000673333 0.000713333 +0.00072 0.000706667 0.0007 0.000693333 0.000686667 0.000726667 0.000733333 0.000713333 +0.0007 0.000693333 0.000726667 0.00072 0.000693333 0.00066 0.000666667 0.000686667 +0.000713333 0.000713333 0.00072 0.000713333 0.000733333 0.000746667 0.000746667 0.000713333 +0.000706667 0.000713333 0.00074 0.000746667 0.000733333 0.000726667 0.000733333 0.000726667 +0.000713333 0.000706667 0.000686667 0.0007 0.000733333 0.000746667 0.00072 0.000713333 +0.00072 0.000753333 0.000753333 0.000733333 0.000726667 0.000733333 0.0007 0.0007 +0.00074 0.000753333 0.000746667 0.000753333 0.000713333 0.000713333 0.00074 0.000726667 +0.000706667 0.000733333 0.000713333 0.000706667 0.000746667 0.000753333 0.000726667 0.000726667 +0.000733333 0.00074 0.000733333 0.000746667 0.000733333 0.00074 0.000753333 0.00074 +0.00074 0.000726667 0.00076 0.000793333 0.000773333 0.000753333 0.000733333 0.000753333 +0.000786667 0.000773333 0.000766667 0.000733333 0.00072 0.000753333 0.00076 0.000753333 +0.000746667 0.000753333 0.000746667 0.000733333 0.000733333 0.000726667 0.000746667 0.000746667 +0.000733333 0.00072 0.000726667 0.00072 0.000713333 0.000726667 0.00074 0.000746667 +0.00074 0.000733333 0.000746667 0.000766667 0.000766667 0.00074 0.00074 0.00072 +0.000713333 0.000746667 0.000746667 0.000746667 0.000726667 0.000713333 0.0007 0.000713333 +0.000733333 0.000726667 0.000746667 0.000733333 0.000706667 0.000706667 0.000726667 0.000726667 +0.000733333 0.000733333 0.000726667 0.000726667 0.0007 0.000706667 0.000726667 0.000726667 +0.00074 0.00074 0.00072 0.000713333 0.000713333 0.00072 0.00072 0.0007 +0.00066 0.000673333 0.000713333 0.00072 0.000713333 0.000706667 0.00072 0.00074 +0.000733333 0.00072 0.0007 0.0007 0.000706667 0.000693333 0.000706667 0.000746667 +0.00072 0.000713333 0.000713333 0.000726667 0.000726667 0.000713333 0.000706667 0.000673333 +0.00066 0.000653333 0.00068 0.00072 0.00072 0.0007 0.000693333 0.0007 +0.00072 0.000726667 0.000713333 0.000713333 0.000713333 0.00072 0.000713333 0.000706667 +0.0007 0.000686667 0.000673333 0.00068 0.000686667 0.000666667 0.000666667 0.000706667 +0.0007 0.000666667 0.00064 0.00066 0.000666667 0.00066 0.000666667 0.00066 +0.000653333 0.000646667 0.000666667 0.000666667 0.000673333 0.000686667 0.00068 0.00068 +0.000693333 0.000653333 0.000606667 0.000606667 0.00062 0.00064 0.000673333 0.000646667 +0.000666667 0.000686667 0.000673333 0.000686667 0.000666667 0.00066 0.000666667 0.000673333 +0.00068 0.000693333 0.000673333 0.000666667 0.00068 0.000686667 0.000673333 0.00064 +0.000646667 0.00068 0.000666667 0.000633333 0.000653333 0.00068 0.00068 0.000693333 +0.000713333 0.0007 0.000666667 0.000666667 0.00068 0.00068 0.00068 0.00064 +0.000646667 0.00068 0.0007 0.0007 0.000666667 0.00066 0.00068 0.0007 +0.000686667 0.0007 0.0007 0.000666667 0.00066 0.00066 0.000653333 0.000666667 +0.000673333 0.000666667 0.00066 0.000673333 0.000653333 0.00064 0.000673333 0.0007 +0.00068 0.000666667 0.000666667 0.000673333 0.00068 0.00068 0.000666667 0.000693333 +0.000713333 0.0007 0.000693333 0.000706667 0.00068 0.000706667 0.000713333 0.000706667 +0.000733333 0.00074 0.00072 0.000713333 0.00068 0.000633333 0.00068 0.000713333 +0.0007 0.00068 0.000706667 0.00068 0.000673333 0.0007 0.000673333 0.00066 +0.000693333 0.0007 0.00068 0.000646667 0.00064 0.00066 0.000713333 0.00068 +0.00066 0.000646667 0.000653333 0.00066 0.00068 0.00068 0.000666667 0.000686667 +0.000666667 0.000646667 0.00068 0.000693333 0.00066 0.000606667 0.00064 0.00068 +0.000706667 0.0007 0.000686667 0.000666667 0.000673333 0.000693333 0.000693333 0.00068 +0.000693333 0.000693333 0.00068 0.000693333 0.000713333 0.00072 0.0007 0.00068 +0.00068 0.000693333 0.000686667 0.000666667 0.000686667 0.00072 0.000713333 0.000733333 +0.000726667 0.000666667 0.000653333 0.000693333 0.000693333 0.00068 0.000673333 0.000713333 +0.000713333 0.000673333 0.00068 0.00068 0.00068 0.00068 0.000726667 0.000706667 +0.000686667 0.000693333 0.000686667 0.00072 0.000693333 0.0007 0.000726667 0.0007 +0.000693333 0.00072 0.000686667 0.000686667 0.000706667 0.0007 0.000686667 0.000706667 +0.000693333 0.000673333 0.000686667 0.0007 0.000713333 0.000713333 0.0007 0.00068 +0.0007 0.000693333 0.000666667 0.000673333 0.0007 0.00068 0.00066 0.000653333 +0.0007 0.000673333 0.00064 0.000666667 0.000673333 0.000666667 0.000686667 0.0007 +0.000686667 0.000686667 0.000706667 0.000726667 0.00068 0.000646667 0.000673333 0.00068 +0.000706667 0.000726667 0.000713333 0.000693333 0.000713333 0.000753333 0.00072 0.0007 +0.00072 0.000706667 0.000706667 0.000726667 0.000713333 0.000733333 0.000753333 0.00074 +0.00072 0.00072 0.0007 0.000686667 0.0007 0.000713333 0.0007 0.0007 +0.000726667 0.00072 0.000653333 0.00066 0.0007 0.000713333 0.00072 0.000706667 +0.00072 0.000686667 0.000653333 0.000693333 0.00074 0.000726667 0.000706667 0.000666667 +0.00066 0.000693333 0.000666667 0.000686667 0.0007 0.000686667 0.000673333 0.000686667 +0.000686667 0.00068 0.00068 0.00066 0.000666667 0.00068 0.000673333 0.00068 +0.000646667 0.000633333 0.000646667 0.000673333 0.000666667 0.00066 0.00068 0.000666667 +0.000653333 0.000666667 0.0007 0.000693333 0.000673333 0.000673333 0.000686667 0.000726667 +0.000713333 0.000686667 0.00072 0.000713333 0.00068 0.000706667 0.000713333 0.0007 +0.00068 0.00068 0.000706667 0.000693333 0.000673333 0.000706667 0.00072 0.0007 +0.000713333 0.000686667 0.000686667 0.0007 0.0007 0.00066 0.000673333 0.000706667 +0.000693333 0.000693333 0.00068 0.000693333 0.0007 0.000726667 0.00074 0.000726667 +0.000713333 0.00072 0.00072 0.000693333 0.000646667 0.000646667 0.000686667 0.000726667 +0.00072 0.000706667 0.00074 0.00074 0.00074 0.00074 0.000706667 0.000693333 +0.000733333 0.000753333 0.00076 0.000733333 0.000693333 0.00072 0.00074 0.000706667 +0.0007 0.0007 0.0007 0.000733333 0.00074 0.00072 0.000726667 0.000733333 +0.000726667 0.00074 0.000733333 0.000733333 0.00072 0.000713333 0.000706667 0.000726667 +0.000766667 0.000753333 0.000713333 0.00072 0.000706667 0.00072 0.00076 0.00074 +0.000713333 0.000713333 0.000706667 0.00074 0.000766667 0.000746667 0.000733333 0.000733333 +0.000726667 0.000746667 0.000733333 0.00074 0.000733333 0.00076 0.000733333 0.000746667 +0.000753333 0.00076 0.000766667 0.000766667 0.00078 0.00076 0.000753333 0.000726667 +0.000726667 0.000773333 0.0008 0.000773333 0.00074 0.000726667 0.00072 0.000753333 +0.000753333 0.000753333 0.00076 0.000753333 0.00072 0.000706667 0.000733333 0.000753333 +0.000746667 0.00072 0.000726667 0.000733333 0.000713333 0.000693333 0.000706667 0.00074 +0.000746667 0.000726667 0.000706667 0.00072 0.000773333 0.00076 0.000753333 0.00074 +0.000733333 0.00074 0.000713333 0.00072 0.000733333 0.000733333 0.000733333 0.00072 +0.00072 0.00072 0.00074 0.000746667 0.00074 0.00074 0.000733333 0.00072 +0.000706667 0.000726667 0.00072 0.000726667 0.00072 0.000713333 0.0007 0.000713333 +0.000733333 0.00074 0.00074 0.00074 0.000726667 0.000713333 0.00072 0.000706667 +0.00068 0.000673333 0.0007 0.0007 0.000706667 0.0007 0.000706667 0.00072 +0.000726667 0.000726667 0.000726667 0.00072 0.000693333 0.000693333 0.0007 0.00072 +0.000706667 0.000706667 0.000706667 0.000713333 0.00072 0.000726667 0.00074 0.000726667 +0.000686667 0.000633333 0.00066 0.000693333 0.000726667 0.000706667 0.00068 0.000686667 +0.000686667 0.000706667 0.000706667 0.000693333 0.000686667 0.000713333 0.0007 0.000693333 +0.000706667 0.00072 0.000693333 0.000686667 0.000673333 0.000673333 0.000653333 0.00068 +0.000686667 0.000686667 0.000673333 0.000686667 0.000686667 0.000666667 0.000666667 0.000666667 +0.00066 0.00066 0.000673333 0.00064 0.00066 0.000673333 0.000666667 0.000666667 +0.0007 0.0007 0.000653333 0.000613333 0.0006 0.000613333 0.00066 0.000666667 +0.00066 0.000653333 0.000673333 0.00068 0.000666667 0.000646667 0.000673333 0.000686667 +0.000686667 0.000666667 0.000666667 0.000646667 0.000693333 0.000706667 0.000673333 0.00066 +0.000653333 0.00068 0.00068 0.000653333 0.000653333 0.000653333 0.000653333 0.000673333 +0.00068 0.0007 0.000706667 0.000666667 0.000673333 0.000673333 0.000673333 0.00066 +0.000646667 0.000673333 0.00068 0.0007 0.00068 0.000653333 0.000653333 0.000693333 +0.000713333 0.000726667 0.0007 0.00068 0.000673333 0.000646667 0.000646667 0.000666667 +0.0007 0.000673333 0.000653333 0.000673333 0.000673333 0.000646667 0.000646667 0.000673333 +0.0007 0.000686667 0.000673333 0.000686667 0.000713333 0.000706667 0.000673333 0.000666667 +0.0007 0.0007 0.0007 0.000713333 0.000693333 0.000686667 0.000733333 0.000706667 +0.0007 0.000726667 0.000713333 0.000733333 0.000726667 0.00066 0.000666667 0.000706667 +0.000693333 0.00068 0.000713333 0.0007 0.000673333 0.00068 0.000666667 0.000646667 +0.000686667 0.000713333 0.000693333 0.000686667 0.00064 0.00062 0.000693333 0.00068 +0.00064 0.00064 0.000666667 0.000666667 0.00068 0.0007 0.00068 0.00068 +0.000686667 0.00068 0.000673333 0.00066 0.00068 0.00064 0.00064 0.00066 +0.0007 0.000706667 0.000693333 0.000673333 0.000646667 0.000686667 0.000713333 0.000686667 +0.000693333 0.000693333 0.000693333 0.0007 0.0007 0.000726667 0.0007 0.000666667 +0.000686667 0.000713333 0.0007 0.000686667 0.000693333 0.000713333 0.000706667 0.000713333 +0.000706667 0.000673333 0.000666667 0.000706667 0.000713333 0.000686667 0.000693333 0.000706667 +0.000693333 0.000673333 0.000673333 0.00066 0.000673333 0.0007 0.00072 0.0007 +0.000673333 0.00068 0.0007 0.000713333 0.000673333 0.000686667 0.000726667 0.0007 +0.000686667 0.0007 0.000686667 0.00072 0.000726667 0.000693333 0.000693333 0.0007 +0.000673333 0.000686667 0.000706667 0.0007 0.000706667 0.00072 0.0007 0.000706667 +0.000726667 0.000686667 0.00066 0.000666667 0.00068 0.000666667 0.000673333 0.000666667 +0.000673333 0.000646667 0.000653333 0.0007 0.000693333 0.000673333 0.00068 0.000686667 +0.000693333 0.000693333 0.000693333 0.000713333 0.000693333 0.000653333 0.000686667 0.00068 +0.000693333 0.000706667 0.00072 0.000726667 0.00072 0.00074 0.00072 0.000713333 +0.000713333 0.000713333 0.000713333 0.00072 0.000733333 0.000753333 0.000753333 0.000726667 +0.000733333 0.000746667 0.00072 0.000713333 0.000713333 0.00072 0.000706667 0.0007 +0.000733333 0.000693333 0.000646667 0.000673333 0.000733333 0.000726667 0.00072 0.000713333 +0.000706667 0.000693333 0.000706667 0.000713333 0.000733333 0.00072 0.000706667 0.000686667 +0.000706667 0.000686667 0.00066 0.000693333 0.0007 0.000686667 0.00068 0.0007 +0.000693333 0.000673333 0.000686667 0.000673333 0.000693333 0.000686667 0.000666667 0.000653333 +0.000646667 0.000646667 0.00066 0.00068 0.000666667 0.000653333 0.000646667 0.000653333 +0.00068 0.000673333 0.000686667 0.00068 0.000666667 0.000686667 0.000706667 0.00072 +0.000713333 0.000706667 0.000706667 0.000673333 0.00066 0.0007 0.000706667 0.000693333 +0.000653333 0.000666667 0.0007 0.000713333 0.000693333 0.0007 0.000693333 0.000693333 +0.0007 0.000686667 0.0007 0.000686667 0.00066 0.000653333 0.0007 0.0007 +0.000666667 0.000693333 0.000693333 0.000693333 0.000706667 0.000713333 0.000726667 0.000706667 +0.000713333 0.000726667 0.0007 0.00066 0.00064 0.000673333 0.000726667 0.00072 +0.000693333 0.00074 0.00076 0.000733333 0.000706667 0.000713333 0.000693333 0.0007 +0.000746667 0.00074 0.00074 0.000713333 0.0007 0.000733333 0.00072 0.000673333 +0.000693333 0.00072 0.00074 0.00074 0.00072 0.000713333 0.000753333 0.000733333 +0.000726667 0.00072 0.0007 0.000693333 0.0007 0.000726667 0.000726667 0.000746667 +0.000746667 0.000713333 0.000706667 0.00072 0.00072 0.000726667 0.000746667 0.00074 +0.000733333 0.000713333 0.00072 0.000746667 0.000753333 0.00074 0.000733333 0.00072 +0.000733333 0.000746667 0.000726667 0.000733333 0.00072 0.000726667 0.000753333 0.000793333 +0.00078 0.000773333 0.00076 0.000753333 0.000773333 0.000773333 0.00078 0.00076 +0.00072 0.000713333 0.000733333 0.000753333 0.000773333 0.000766667 0.00074 0.000726667 +0.000746667 0.00076 0.000726667 0.000733333 0.000753333 0.000733333 0.00074 0.00074 +0.000726667 0.00074 0.00074 0.00072 0.000726667 0.000726667 0.000713333 0.000706667 +0.000706667 0.000713333 0.000726667 0.000713333 0.00072 0.000733333 0.000746667 0.000753333 +0.000746667 0.000733333 0.000713333 0.00072 0.00072 0.000713333 0.000733333 0.00076 +0.000726667 0.000726667 0.000713333 0.0007 0.000733333 0.000746667 0.000746667 0.000746667 +0.00072 0.00072 0.000713333 0.000713333 0.000733333 0.00072 0.0007 0.000713333 +0.00072 0.00072 0.00072 0.000726667 0.000733333 0.000726667 0.00072 0.0007 +0.0007 0.000693333 0.000686667 0.000693333 0.00072 0.00072 0.000726667 0.000706667 +0.000693333 0.000693333 0.000706667 0.000733333 0.00074 0.00072 0.000713333 0.000713333 +0.000693333 0.000713333 0.00072 0.000713333 0.000713333 0.000706667 0.000706667 0.000713333 +0.000713333 0.000673333 0.000693333 0.000693333 0.000713333 0.00072 0.0007 0.0007 +0.0007 0.000686667 0.000686667 0.00068 0.000686667 0.000693333 0.000686667 0.000686667 +0.000693333 0.000706667 0.000706667 0.0007 0.000666667 0.000673333 0.000666667 0.00068 +0.000666667 0.000653333 0.000666667 0.000693333 0.00068 0.000666667 0.000673333 0.000673333 +0.00066 0.00068 0.000706667 0.000646667 0.000626667 0.00064 0.00068 0.00068 +0.00066 0.000646667 0.00066 0.00066 0.000633333 0.000633333 0.000653333 0.00068 +0.000673333 0.000646667 0.00066 0.000673333 0.000686667 0.00068 0.00068 0.000693333 +0.000693333 0.00066 0.000653333 0.000653333 0.00066 0.000673333 0.000686667 0.000686667 +0.00066 0.000666667 0.000686667 0.00068 0.000666667 0.00066 0.000646667 0.000666667 +0.00068 0.000673333 0.0007 0.000686667 0.000673333 0.000646667 0.00068 0.000713333 +0.000673333 0.00066 0.00068 0.000693333 0.000693333 0.000673333 0.00066 0.00066 +0.000673333 0.000693333 0.0007 0.000693333 0.00068 0.00066 0.00064 0.000666667 +0.000693333 0.00068 0.00066 0.000666667 0.000686667 0.000673333 0.00064 0.00066 +0.000693333 0.0007 0.000706667 0.000713333 0.000706667 0.00072 0.000693333 0.000673333 +0.00068 0.00068 0.0007 0.000706667 0.000713333 0.000693333 0.000713333 0.000726667 +0.000693333 0.0007 0.00072 0.00072 0.000726667 0.000726667 0.00068 0.000686667 +0.000693333 0.000693333 0.000706667 0.000706667 0.000693333 0.000693333 0.00066 0.000626667 +0.00066 0.0007 0.000693333 0.000686667 0.00066 0.000633333 0.000673333 0.00068 +0.000666667 0.00066 0.00068 0.000666667 0.000653333 0.000686667 0.000693333 0.000686667 +0.000693333 0.000673333 0.000673333 0.00066 0.000686667 0.00066 0.00066 0.000653333 +0.000653333 0.000713333 0.000733333 0.000693333 0.000646667 0.000686667 0.0007 0.000686667 +0.0007 0.000686667 0.000706667 0.000726667 0.00068 0.000706667 0.0007 0.00068 +0.000686667 0.000713333 0.000713333 0.000713333 0.000706667 0.0007 0.000693333 0.000706667 +0.000706667 0.00068 0.00068 0.000706667 0.000706667 0.000713333 0.000713333 0.000706667 +0.000673333 0.00064 0.000666667 0.000673333 0.000673333 0.000693333 0.000746667 0.000733333 +0.00068 0.00068 0.0007 0.0007 0.000666667 0.0007 0.00072 0.0007 +0.0007 0.0007 0.000713333 0.000726667 0.000706667 0.0007 0.000686667 0.000693333 +0.000686667 0.000706667 0.000733333 0.000726667 0.000713333 0.000693333 0.00068 0.000706667 +0.000726667 0.000686667 0.000693333 0.0007 0.0007 0.000686667 0.000686667 0.000686667 +0.000666667 0.000646667 0.000693333 0.0007 0.00068 0.00068 0.00068 0.000673333 +0.000686667 0.000686667 0.000693333 0.000706667 0.0007 0.000673333 0.0007 0.00068 +0.000686667 0.000713333 0.000726667 0.000733333 0.000746667 0.000746667 0.00072 0.0007 +0.0007 0.000733333 0.000706667 0.000713333 0.000753333 0.000766667 0.00074 0.000733333 +0.000753333 0.000753333 0.000733333 0.000753333 0.000753333 0.000726667 0.000706667 0.00072 +0.000713333 0.00066 0.000653333 0.0007 0.000746667 0.000746667 0.000726667 0.00072 +0.0007 0.000706667 0.00074 0.00072 0.000706667 0.000726667 0.000713333 0.000686667 +0.0007 0.000666667 0.00068 0.000706667 0.000713333 0.000713333 0.000733333 0.000706667 +0.00068 0.000673333 0.00068 0.00068 0.00068 0.000666667 0.000666667 0.00066 +0.00066 0.000666667 0.000666667 0.000673333 0.000666667 0.000646667 0.000633333 0.00068 +0.000693333 0.00068 0.000686667 0.000673333 0.000693333 0.0007 0.0007 0.0007 +0.00072 0.000693333 0.000653333 0.00066 0.000666667 0.000693333 0.000706667 0.000693333 +0.000673333 0.000673333 0.000686667 0.000706667 0.000686667 0.000673333 0.000666667 0.000693333 +0.000693333 0.00068 0.000686667 0.00068 0.00066 0.000666667 0.0007 0.0007 +0.000693333 0.000693333 0.000693333 0.000693333 0.0007 0.000713333 0.000733333 0.000726667 +0.0007 0.000686667 0.00068 0.000673333 0.000686667 0.000693333 0.000713333 0.0007 +0.00072 0.000766667 0.000726667 0.000693333 0.000693333 0.000726667 0.00072 0.000693333 +0.000713333 0.000726667 0.000706667 0.000713333 0.000706667 0.000706667 0.00068 0.000666667 +0.00072 0.00074 0.000726667 0.000713333 0.000733333 0.00074 0.00074 0.000713333 +0.000713333 0.0007 0.000693333 0.00068 0.000713333 0.000753333 0.00072 0.000713333 +0.000713333 0.000706667 0.00074 0.000733333 0.000726667 0.000713333 0.000726667 0.000746667 +0.000746667 0.00072 0.00072 0.00072 0.000753333 0.000746667 0.000733333 0.00072 +0.000733333 0.00074 0.000746667 0.00074 0.000713333 0.000753333 0.000786667 0.000766667 +0.000746667 0.000746667 0.000753333 0.00076 0.00076 0.000766667 0.00076 0.000766667 +0.000766667 0.000753333 0.000726667 0.000726667 0.000726667 0.000753333 0.000766667 0.000753333 +0.000733333 0.000733333 0.000706667 0.000713333 0.000746667 0.000766667 0.00076 0.00074 +0.00072 0.00072 0.00074 0.00072 0.000713333 0.000733333 0.000746667 0.000726667 +0.0007 0.0007 0.000713333 0.000733333 0.00072 0.000693333 0.000713333 0.000733333 +0.000733333 0.000713333 0.00072 0.000726667 0.00072 0.00072 0.000726667 0.000766667 +0.00076 0.00074 0.000713333 0.000693333 0.000713333 0.00072 0.00072 0.00074 +0.000746667 0.000746667 0.000733333 0.000706667 0.000713333 0.000733333 0.00074 0.000733333 +0.000706667 0.000693333 0.000706667 0.00072 0.000713333 0.00072 0.000713333 0.000713333 +0.000706667 0.000693333 0.0007 0.0007 0.000713333 0.000726667 0.000733333 0.00072 +0.0007 0.00068 0.000693333 0.000693333 0.00072 0.000726667 0.000726667 0.000726667 +0.000706667 0.000706667 0.000713333 0.000726667 0.00072 0.00072 0.00072 0.000706667 +0.000693333 0.000693333 0.000713333 0.000706667 0.00068 0.000693333 0.000713333 0.000726667 +0.000733333 0.000713333 0.000706667 0.000686667 0.000686667 0.000706667 0.000686667 0.00068 +0.000673333 0.000673333 0.000693333 0.000713333 0.000693333 0.00066 0.00066 0.00068 +0.000673333 0.000633333 0.000626667 0.000666667 0.000666667 0.000673333 0.00068 0.000666667 +0.000646667 0.000673333 0.000706667 0.000693333 0.00064 0.000613333 0.00066 0.000693333 +0.000666667 0.000606667 0.000606667 0.000653333 0.000646667 0.00066 0.000653333 0.00068 +0.0007 0.00068 0.000673333 0.00066 0.000653333 0.00068 0.000693333 0.000686667 +0.000693333 0.00068 0.000666667 0.000706667 0.000686667 0.000653333 0.00066 0.00068 +0.000673333 0.000653333 0.000693333 0.0007 0.00066 0.00066 0.000653333 0.000666667 +0.000693333 0.000686667 0.000666667 0.000673333 0.000666667 0.000673333 0.000673333 0.000706667 +0.0007 0.000673333 0.000693333 0.000706667 0.0007 0.00068 0.000686667 0.000666667 +0.000673333 0.00066 0.00068 0.00072 0.000686667 0.00068 0.00068 0.000673333 +0.000666667 0.000693333 0.000693333 0.000666667 0.000693333 0.000713333 0.000673333 0.000666667 +0.000673333 0.00068 0.000713333 0.00074 0.000713333 0.000693333 0.000713333 0.0007 +0.00068 0.000686667 0.0007 0.000706667 0.00072 0.000713333 0.000693333 0.000733333 +0.000713333 0.000686667 0.00072 0.000713333 0.000726667 0.00076 0.000706667 0.0007 +0.000713333 0.000686667 0.000686667 0.000706667 0.000706667 0.000706667 0.000693333 0.000646667 +0.000653333 0.000693333 0.000713333 0.000686667 0.00066 0.00064 0.00066 0.00066 +0.000666667 0.000666667 0.000693333 0.000686667 0.000653333 0.000653333 0.00066 0.000673333 +0.0007 0.000693333 0.000693333 0.000706667 0.0007 0.000646667 0.000646667 0.000666667 +0.000633333 0.00068 0.000753333 0.000726667 0.00066 0.000673333 0.000693333 0.000686667 +0.000693333 0.0007 0.00072 0.000713333 0.000686667 0.000726667 0.00072 0.000706667 +0.000686667 0.000693333 0.000713333 0.000706667 0.00068 0.00068 0.0007 0.00074 +0.000713333 0.000693333 0.000706667 0.00068 0.000666667 0.000686667 0.000686667 0.0007 +0.000673333 0.00064 0.00068 0.0007 0.000666667 0.000673333 0.000753333 0.00076 +0.000713333 0.00068 0.000673333 0.00068 0.00066 0.00072 0.000753333 0.000686667 +0.000693333 0.000713333 0.000726667 0.000726667 0.000686667 0.0007 0.0007 0.000693333 +0.000686667 0.0007 0.000733333 0.00074 0.000713333 0.000686667 0.000686667 0.000713333 +0.00074 0.0007 0.00072 0.00072 0.000713333 0.000726667 0.0007 0.000706667 +0.0007 0.000666667 0.000693333 0.000693333 0.00068 0.000686667 0.000686667 0.000673333 +0.000686667 0.000686667 0.000706667 0.00072 0.000693333 0.000686667 0.000693333 0.000666667 +0.000706667 0.000746667 0.000706667 0.000706667 0.000753333 0.00076 0.000713333 0.000686667 +0.00072 0.000746667 0.000706667 0.00076 0.000766667 0.000726667 0.000733333 0.000766667 +0.00078 0.000713333 0.00074 0.000786667 0.00078 0.000726667 0.000713333 0.000733333 +0.000706667 0.000673333 0.000686667 0.000726667 0.000733333 0.000746667 0.000726667 0.00072 +0.000706667 0.000706667 0.00074 0.00074 0.000706667 0.000733333 0.000713333 0.000693333 +0.000693333 0.00068 0.000706667 0.000726667 0.000733333 0.000733333 0.000733333 0.000686667 +0.000673333 0.000673333 0.00066 0.00066 0.000666667 0.000686667 0.000666667 0.000646667 +0.000673333 0.000666667 0.000666667 0.00068 0.000666667 0.00066 0.000653333 0.000686667 +0.000686667 0.000666667 0.000666667 0.000673333 0.00068 0.000693333 0.000706667 0.00068 +0.000686667 0.000666667 0.00066 0.00068 0.000693333 0.0007 0.000706667 0.00068 +0.000666667 0.000673333 0.000666667 0.00068 0.000653333 0.00066 0.000673333 0.000673333 +0.000673333 0.000673333 0.000666667 0.00068 0.000666667 0.00068 0.000693333 0.000693333 +0.000686667 0.000686667 0.0007 0.000693333 0.0007 0.000726667 0.00074 0.00072 +0.00068 0.000666667 0.000686667 0.000706667 0.000713333 0.000673333 0.000686667 0.000726667 +0.00076 0.00074 0.000686667 0.000693333 0.0007 0.000733333 0.000713333 0.000693333 +0.00072 0.000726667 0.0007 0.000726667 0.000686667 0.000673333 0.00068 0.0007 +0.000733333 0.000726667 0.00072 0.00072 0.00074 0.000726667 0.000713333 0.0007 +0.000686667 0.000706667 0.000733333 0.000706667 0.000733333 0.000733333 0.000693333 0.000706667 +0.000713333 0.000713333 0.000726667 0.000726667 0.000726667 0.000713333 0.00074 0.00074 +0.00072 0.00072 0.000726667 0.00072 0.00074 0.00076 0.000746667 0.000726667 +0.000726667 0.000733333 0.00076 0.00074 0.000726667 0.000746667 0.000726667 0.00072 +0.000733333 0.000746667 0.000766667 0.000746667 0.00076 0.000766667 0.00076 0.000746667 +0.000746667 0.00076 0.000753333 0.000746667 0.000746667 0.00072 0.000733333 0.000766667 +0.00076 0.00074 0.000733333 0.00072 0.00072 0.00074 0.00074 0.000746667 +0.000746667 0.000713333 0.00072 0.000726667 0.000713333 0.000713333 0.000746667 0.000753333 +0.000733333 0.00072 0.00072 0.000733333 0.00074 0.00072 0.000713333 0.0007 +0.000706667 0.000713333 0.00072 0.00072 0.000706667 0.000706667 0.0007 0.000713333 +0.000733333 0.000746667 0.00074 0.000713333 0.000706667 0.000713333 0.000706667 0.000693333 +0.000713333 0.00074 0.00076 0.000733333 0.0007 0.0007 0.00072 0.000726667 +0.000726667 0.000706667 0.000686667 0.000706667 0.00072 0.000726667 0.000733333 0.00072 +0.000713333 0.000706667 0.0007 0.000706667 0.000713333 0.000713333 0.000726667 0.000726667 +0.000713333 0.000693333 0.0007 0.000693333 0.000666667 0.00068 0.00072 0.00072 +0.000713333 0.0007 0.00072 0.000726667 0.00072 0.000726667 0.00072 0.000733333 +0.00072 0.0007 0.000713333 0.00072 0.0007 0.000673333 0.00068 0.000713333 +0.00072 0.00072 0.00072 0.0007 0.000693333 0.000713333 0.000713333 0.000693333 +0.00068 0.000666667 0.000686667 0.000706667 0.0007 0.000666667 0.000646667 0.000666667 +0.000666667 0.000653333 0.000646667 0.000666667 0.000673333 0.000673333 0.000666667 0.000646667 +0.00066 0.000686667 0.000693333 0.0007 0.000673333 0.000653333 0.000646667 0.00066 +0.000653333 0.00062 0.0006 0.000606667 0.000653333 0.000666667 0.00066 0.000666667 +0.000673333 0.0007 0.000693333 0.00068 0.00066 0.00066 0.00068 0.000686667 +0.00068 0.000666667 0.000673333 0.00072 0.000713333 0.00068 0.00068 0.000673333 +0.00068 0.000673333 0.00068 0.000693333 0.000686667 0.00068 0.000666667 0.000653333 +0.000673333 0.000686667 0.000673333 0.00066 0.000646667 0.000686667 0.000706667 0.000706667 +0.000693333 0.0007 0.000713333 0.000706667 0.000706667 0.000706667 0.000693333 0.00068 +0.000693333 0.000646667 0.000673333 0.000726667 0.000686667 0.000686667 0.00072 0.0007 +0.00066 0.000693333 0.000706667 0.00068 0.000686667 0.0007 0.00068 0.00066 +0.000686667 0.000693333 0.00068 0.000706667 0.00074 0.000726667 0.000706667 0.000706667 +0.000713333 0.000713333 0.000686667 0.000693333 0.000693333 0.0007 0.000693333 0.000733333 +0.000726667 0.0007 0.00072 0.00072 0.00072 0.00072 0.000706667 0.00072 +0.00074 0.0007 0.000673333 0.000706667 0.000713333 0.00072 0.000726667 0.000666667 +0.000646667 0.000673333 0.0007 0.000686667 0.000673333 0.000653333 0.000673333 0.000673333 +0.00066 0.00066 0.000693333 0.0007 0.000666667 0.000653333 0.000653333 0.000653333 +0.000686667 0.000713333 0.00072 0.00068 0.00068 0.000673333 0.00066 0.00068 +0.00066 0.00066 0.00072 0.000746667 0.000686667 0.000673333 0.0007 0.00068 +0.000693333 0.0007 0.000706667 0.00072 0.00072 0.000733333 0.00072 0.000713333 +0.00068 0.000686667 0.00072 0.00072 0.000686667 0.000673333 0.000713333 0.000733333 +0.000706667 0.000673333 0.0007 0.000686667 0.000686667 0.000673333 0.000686667 0.000726667 +0.000686667 0.000646667 0.000686667 0.000693333 0.000673333 0.000653333 0.000713333 0.000746667 +0.000706667 0.000693333 0.0007 0.0007 0.000686667 0.00074 0.000746667 0.000686667 +0.000693333 0.000713333 0.000706667 0.000713333 0.000693333 0.000706667 0.0007 0.0007 +0.000686667 0.0007 0.00074 0.000733333 0.00072 0.00068 0.000673333 0.000733333 +0.00076 0.000733333 0.000726667 0.000726667 0.000713333 0.00072 0.000686667 0.000726667 +0.000726667 0.000713333 0.00074 0.000686667 0.000666667 0.000686667 0.000693333 0.00068 +0.000693333 0.0007 0.0007 0.000706667 0.0007 0.000706667 0.0007 0.000673333 +0.0007 0.00072 0.000706667 0.00072 0.000753333 0.000746667 0.00072 0.00072 +0.00074 0.000733333 0.00074 0.000793333 0.00076 0.000726667 0.000753333 0.00078 +0.00076 0.00074 0.000786667 0.000793333 0.000786667 0.000753333 0.00074 0.000753333 +0.00072 0.00068 0.000706667 0.000753333 0.000746667 0.000746667 0.00074 0.000733333 +0.000713333 0.000726667 0.000753333 0.000746667 0.000726667 0.000713333 0.000726667 0.00072 +0.000713333 0.000713333 0.000706667 0.000713333 0.00072 0.000706667 0.0007 0.000693333 +0.000686667 0.00068 0.000666667 0.00068 0.0007 0.000706667 0.000653333 0.000646667 +0.000673333 0.00068 0.000673333 0.000666667 0.00068 0.00068 0.00066 0.000653333 +0.00066 0.000646667 0.000653333 0.000673333 0.000666667 0.000693333 0.000686667 0.000653333 +0.000673333 0.00068 0.000653333 0.000686667 0.000693333 0.0007 0.00068 0.000653333 +0.000653333 0.000653333 0.000666667 0.00066 0.00066 0.00068 0.000693333 0.000666667 +0.000673333 0.000693333 0.000693333 0.000686667 0.00066 0.000686667 0.000673333 0.000666667 +0.00066 0.00068 0.000706667 0.000713333 0.0007 0.000713333 0.000726667 0.000686667 +0.000653333 0.000666667 0.00072 0.000713333 0.000686667 0.000666667 0.00072 0.00074 +0.000726667 0.000693333 0.0007 0.0007 0.000693333 0.00072 0.000706667 0.0007 +0.000726667 0.000713333 0.0007 0.000713333 0.000686667 0.000693333 0.000706667 0.000693333 +0.00072 0.000733333 0.000726667 0.00072 0.000713333 0.000686667 0.000706667 0.000686667 +0.000686667 0.000733333 0.00074 0.000713333 0.000706667 0.00072 0.000713333 0.000706667 +0.000726667 0.000726667 0.000726667 0.00072 0.00072 0.00072 0.000726667 0.00072 +0.000726667 0.000726667 0.000713333 0.00072 0.000746667 0.00074 0.00072 0.0007 +0.000706667 0.000726667 0.000753333 0.000733333 0.00072 0.000713333 0.000726667 0.00076 +0.000753333 0.00074 0.000733333 0.000713333 0.000746667 0.000746667 0.00076 0.000773333 +0.000753333 0.00074 0.000746667 0.000746667 0.000746667 0.000733333 0.000713333 0.00072 +0.00074 0.000753333 0.00076 0.000773333 0.000746667 0.000726667 0.000733333 0.000726667 +0.000746667 0.000733333 0.000733333 0.000713333 0.000713333 0.000726667 0.000746667 0.000753333 +0.000746667 0.00074 0.000746667 0.000746667 0.000713333 0.000733333 0.00074 0.000713333 +0.000713333 0.000713333 0.0007 0.000713333 0.000726667 0.000726667 0.0007 0.000686667 +0.0007 0.000713333 0.00072 0.000733333 0.000733333 0.000726667 0.000706667 0.00068 +0.000686667 0.000693333 0.000726667 0.00074 0.00074 0.000713333 0.000706667 0.000713333 +0.00072 0.000726667 0.000706667 0.000686667 0.000706667 0.00072 0.00072 0.000713333 +0.00072 0.000726667 0.0007 0.000693333 0.0007 0.000706667 0.000733333 0.000733333 +0.00072 0.0007 0.000693333 0.000713333 0.0007 0.000673333 0.000706667 0.0007 +0.000693333 0.000686667 0.000706667 0.00074 0.000733333 0.00072 0.000693333 0.000706667 +0.000733333 0.000726667 0.00072 0.000713333 0.000713333 0.000706667 0.000693333 0.000693333 +0.00068 0.0007 0.00072 0.000693333 0.0007 0.000686667 0.0007 0.00072 +0.000713333 0.0007 0.000673333 0.000673333 0.000673333 0.000673333 0.00068 0.000666667 +0.000653333 0.00066 0.00068 0.000666667 0.000666667 0.000653333 0.000653333 0.000633333 +0.000653333 0.000686667 0.000686667 0.000693333 0.000686667 0.000693333 0.00068 0.000673333 +0.000633333 0.000613333 0.000633333 0.000613333 0.000646667 0.00066 0.00066 0.000653333 +0.000646667 0.000673333 0.0007 0.000686667 0.000673333 0.00068 0.00068 0.000673333 +0.00068 0.000666667 0.00066 0.000693333 0.000686667 0.000686667 0.0007 0.0007 +0.000686667 0.000693333 0.000673333 0.000653333 0.000673333 0.000693333 0.0007 0.000693333 +0.000673333 0.000666667 0.000666667 0.000686667 0.000693333 0.000726667 0.000786667 0.000806667 +0.000813333 0.000806667 0.000766667 0.000726667 0.000706667 0.000713333 0.000713333 0.000693333 +0.000706667 0.000686667 0.00068 0.000713333 0.0007 0.000686667 0.000706667 0.000693333 +0.00066 0.000706667 0.00072 0.000706667 0.0007 0.000693333 0.000686667 0.000666667 +0.000673333 0.0007 0.000693333 0.000666667 0.0007 0.00072 0.0007 0.000693333 +0.000726667 0.000753333 0.00072 0.0007 0.000693333 0.000693333 0.00068 0.0007 +0.00072 0.000706667 0.000726667 0.000733333 0.000733333 0.000726667 0.000706667 0.00068 +0.000726667 0.000713333 0.00068 0.000686667 0.000686667 0.000713333 0.000746667 0.000693333 +0.000653333 0.000666667 0.000686667 0.000673333 0.000673333 0.000673333 0.000686667 0.000693333 +0.000686667 0.00066 0.000646667 0.000686667 0.000686667 0.000693333 0.000693333 0.000666667 +0.000686667 0.000713333 0.000726667 0.0007 0.00068 0.000686667 0.000666667 0.000673333 +0.000693333 0.00068 0.000706667 0.000733333 0.000693333 0.000673333 0.0007 0.000686667 +0.000713333 0.000706667 0.00072 0.00074 0.000713333 0.00072 0.000713333 0.000706667 +0.000686667 0.000693333 0.000713333 0.000726667 0.000706667 0.000693333 0.0007 0.000706667 +0.000713333 0.00068 0.000693333 0.0007 0.00072 0.000693333 0.000693333 0.000726667 +0.000686667 0.000653333 0.00068 0.000693333 0.00068 0.00066 0.000713333 0.000746667 +0.000713333 0.000686667 0.00068 0.000706667 0.000706667 0.000746667 0.000746667 0.00068 +0.000693333 0.000733333 0.000726667 0.000693333 0.000693333 0.000713333 0.000726667 0.000706667 +0.000693333 0.00072 0.000726667 0.000713333 0.000726667 0.000693333 0.00066 0.000726667 +0.000753333 0.00072 0.00074 0.000766667 0.000733333 0.000713333 0.000706667 0.000746667 +0.000713333 0.000706667 0.000753333 0.00072 0.000686667 0.00072 0.000706667 0.000673333 +0.000693333 0.000693333 0.000686667 0.000706667 0.000706667 0.0007 0.0007 0.0007 +0.0007 0.000706667 0.000726667 0.000746667 0.00076 0.000753333 0.000753333 0.000726667 +0.00074 0.000733333 0.000746667 0.000793333 0.00074 0.000753333 0.00078 0.000773333 +0.00074 0.000766667 0.000786667 0.000793333 0.00078 0.000753333 0.000766667 0.000766667 +0.00074 0.000706667 0.000733333 0.000766667 0.000766667 0.000753333 0.000753333 0.000726667 +0.000713333 0.00074 0.000766667 0.000746667 0.000746667 0.000706667 0.00072 0.000726667 +0.00072 0.000726667 0.000713333 0.000726667 0.000706667 0.0007 0.000713333 0.000713333 +0.000693333 0.000693333 0.000693333 0.000713333 0.000713333 0.00068 0.000653333 0.000666667 +0.000673333 0.00068 0.000666667 0.00066 0.000693333 0.000666667 0.00064 0.00062 +0.000646667 0.000646667 0.000653333 0.000653333 0.00066 0.000693333 0.00068 0.000646667 +0.00066 0.00068 0.000626667 0.000666667 0.0007 0.00068 0.00066 0.000653333 +0.000653333 0.000653333 0.00066 0.000673333 0.000693333 0.0007 0.000693333 0.000666667 +0.0007 0.000693333 0.000686667 0.000686667 0.000686667 0.000666667 0.000653333 0.000673333 +0.000686667 0.000686667 0.0007 0.000713333 0.0007 0.000713333 0.000706667 0.000673333 +0.000666667 0.000693333 0.000706667 0.00068 0.000673333 0.0007 0.000733333 0.000713333 +0.000686667 0.000706667 0.000733333 0.000693333 0.00068 0.000693333 0.000706667 0.000713333 +0.000706667 0.000686667 0.00068 0.0007 0.000706667 0.0007 0.0007 0.000693333 +0.00072 0.000733333 0.00072 0.000713333 0.0007 0.000693333 0.0007 0.000693333 +0.000713333 0.000746667 0.000726667 0.0007 0.000713333 0.000746667 0.000706667 0.000686667 +0.000733333 0.000733333 0.000726667 0.000706667 0.0007 0.000713333 0.0007 0.000713333 +0.00074 0.00072 0.000713333 0.00074 0.00074 0.00072 0.000693333 0.000713333 +0.000746667 0.000746667 0.000753333 0.00072 0.000706667 0.00072 0.000746667 0.000746667 +0.000733333 0.000713333 0.00072 0.000726667 0.00074 0.000726667 0.00074 0.000766667 +0.000753333 0.000746667 0.000753333 0.000753333 0.000746667 0.00074 0.000733333 0.000726667 +0.000713333 0.000706667 0.00072 0.000766667 0.00076 0.000733333 0.00072 0.00072 +0.000733333 0.000753333 0.000766667 0.000733333 0.000713333 0.000713333 0.000733333 0.000753333 +0.000746667 0.000733333 0.000733333 0.00076 0.000753333 0.00074 0.00074 0.00074 +0.00074 0.000726667 0.000706667 0.00068 0.000693333 0.000713333 0.000713333 0.000706667 +0.000713333 0.000713333 0.000693333 0.000706667 0.000726667 0.000746667 0.000726667 0.000706667 +0.000693333 0.00068 0.00068 0.000686667 0.00072 0.000733333 0.000733333 0.000726667 +0.000706667 0.0007 0.00074 0.00072 0.000726667 0.000713333 0.000706667 0.000706667 +0.000713333 0.00072 0.00072 0.000706667 0.0007 0.000686667 0.000693333 0.000733333 +0.000733333 0.00072 0.00068 0.000693333 0.000713333 0.000713333 0.000713333 0.000713333 +0.0007 0.00068 0.000693333 0.000706667 0.000726667 0.000706667 0.000686667 0.000693333 +0.00072 0.00072 0.000726667 0.00072 0.000706667 0.000706667 0.000733333 0.000713333 +0.000693333 0.0007 0.0007 0.000693333 0.000706667 0.0007 0.00068 0.0007 +0.000706667 0.000713333 0.000706667 0.00068 0.000666667 0.000653333 0.000666667 0.000666667 +0.00066 0.000666667 0.000686667 0.000666667 0.00066 0.000666667 0.000646667 0.000626667 +0.000646667 0.00066 0.00066 0.000646667 0.000666667 0.000693333 0.0007 0.000673333 +0.000653333 0.000626667 0.000646667 0.000653333 0.000673333 0.000666667 0.000653333 0.000646667 +0.000653333 0.000666667 0.00068 0.000686667 0.00068 0.0007 0.0007 0.000666667 +0.00066 0.00068 0.000686667 0.00068 0.000673333 0.00068 0.000673333 0.000706667 +0.00072 0.000693333 0.00068 0.000673333 0.00066 0.00066 0.000693333 0.00072 +0.0007 0.000686667 0.00072 0.000793333 0.000893333 0.22168 0.2444 0.25008 +0.251973 0.23872 0.000993333 0.0009 0.000793333 0.000746667 0.000726667 0.000713333 +0.000706667 0.000733333 0.000693333 0.000686667 0.000733333 0.000713333 0.0007 0.000666667 +0.000666667 0.000686667 0.000733333 0.00072 0.000686667 0.000693333 0.00072 0.000706667 +0.000666667 0.00068 0.00072 0.0007 0.000693333 0.0007 0.000713333 0.000706667 +0.000686667 0.000726667 0.000753333 0.000733333 0.000726667 0.00072 0.000693333 0.000686667 +0.000726667 0.000726667 0.00072 0.00072 0.000726667 0.000746667 0.000733333 0.000673333 +0.000706667 0.000733333 0.00072 0.0007 0.000666667 0.00068 0.000726667 0.000693333 +0.000666667 0.000673333 0.0007 0.000686667 0.000666667 0.00068 0.000686667 0.000693333 +0.000713333 0.000686667 0.000646667 0.00066 0.000673333 0.000713333 0.000713333 0.00068 +0.000686667 0.000706667 0.000713333 0.00072 0.000706667 0.000673333 0.000666667 0.000686667 +0.000693333 0.000693333 0.00072 0.00074 0.000713333 0.000673333 0.000693333 0.000726667 +0.000753333 0.000713333 0.0007 0.000726667 0.00072 0.000733333 0.000713333 0.000713333 +0.000713333 0.000713333 0.000713333 0.000706667 0.000693333 0.000706667 0.000693333 0.000713333 +0.000706667 0.000693333 0.000706667 0.000693333 0.00072 0.000713333 0.000693333 0.0007 +0.000686667 0.000646667 0.000673333 0.0007 0.00068 0.00066 0.0007 0.00074 +0.000726667 0.0007 0.000666667 0.000673333 0.000686667 0.000746667 0.000753333 0.000706667 +0.0007 0.000713333 0.000713333 0.000693333 0.000706667 0.00074 0.00072 0.0007 +0.000706667 0.000726667 0.000733333 0.000713333 0.000706667 0.000693333 0.000686667 0.000753333 +0.000753333 0.000706667 0.000746667 0.000766667 0.000726667 0.00072 0.000733333 0.00074 +0.000726667 0.000706667 0.000726667 0.000733333 0.000733333 0.000766667 0.000726667 0.000706667 +0.00072 0.000693333 0.000686667 0.0007 0.000686667 0.000686667 0.000706667 0.000713333 +0.00072 0.00072 0.000713333 0.00074 0.000766667 0.000786667 0.000766667 0.000726667 +0.00074 0.000746667 0.000753333 0.000793333 0.00076 0.000753333 0.000766667 0.00078 +0.00074 0.000773333 0.000773333 0.000766667 0.000753333 0.000786667 0.000806667 0.000773333 +0.000773333 0.000773333 0.00078 0.00078 0.000786667 0.000766667 0.000746667 0.000733333 +0.000733333 0.000746667 0.000786667 0.000773333 0.000766667 0.000726667 0.0007 0.000726667 +0.000733333 0.000733333 0.00074 0.00074 0.000706667 0.000706667 0.000713333 0.0007 +0.000686667 0.000706667 0.000706667 0.000693333 0.00068 0.00068 0.00068 0.00068 +0.000673333 0.000666667 0.000666667 0.000666667 0.000666667 0.000653333 0.00064 0.000633333 +0.000626667 0.000626667 0.000633333 0.000646667 0.000666667 0.000666667 0.000666667 0.000653333 +0.000626667 0.000653333 0.000646667 0.00068 0.000693333 0.000653333 0.00066 0.000666667 +0.000653333 0.00066 0.000653333 0.00068 0.000713333 0.000706667 0.00068 0.000693333 +0.000713333 0.000686667 0.000653333 0.000686667 0.000693333 0.000653333 0.00066 0.00068 +0.000673333 0.000693333 0.0007 0.000693333 0.000666667 0.000686667 0.000706667 0.00068 +0.000693333 0.000686667 0.000673333 0.000673333 0.000693333 0.000706667 0.000693333 0.000706667 +0.0007 0.0007 0.0007 0.000653333 0.000673333 0.000693333 0.000713333 0.000706667 +0.000693333 0.00068 0.000673333 0.0007 0.000706667 0.000686667 0.000693333 0.000693333 +0.000726667 0.000726667 0.000706667 0.0007 0.000673333 0.000686667 0.000713333 0.000726667 +0.00072 0.00074 0.000726667 0.000713333 0.000733333 0.00072 0.00068 0.000706667 +0.000733333 0.000726667 0.000706667 0.000706667 0.000693333 0.000713333 0.00072 0.000733333 +0.000733333 0.000733333 0.000733333 0.000733333 0.00072 0.000726667 0.000706667 0.000733333 +0.000726667 0.0007 0.000726667 0.000713333 0.000733333 0.000733333 0.000726667 0.000733333 +0.00072 0.000713333 0.000753333 0.000753333 0.000726667 0.000726667 0.000746667 0.00076 +0.00072 0.00072 0.00074 0.000733333 0.000726667 0.00072 0.00074 0.000746667 +0.000733333 0.000713333 0.000713333 0.000726667 0.000726667 0.000746667 0.000726667 0.000726667 +0.000733333 0.00072 0.000733333 0.00076 0.00074 0.000713333 0.000733333 0.000746667 +0.00072 0.000713333 0.000693333 0.00072 0.000746667 0.000753333 0.000746667 0.000746667 +0.00074 0.00074 0.000746667 0.000726667 0.000713333 0.0007 0.000686667 0.0007 +0.000706667 0.000706667 0.000693333 0.0007 0.000713333 0.000733333 0.000726667 0.000713333 +0.000713333 0.000706667 0.000693333 0.000673333 0.00068 0.000693333 0.00072 0.000753333 +0.000746667 0.0007 0.000706667 0.00072 0.00072 0.00072 0.000713333 0.00072 +0.000706667 0.000693333 0.000706667 0.00072 0.00072 0.000693333 0.00066 0.000706667 +0.00074 0.000726667 0.000693333 0.000673333 0.00068 0.0007 0.00072 0.00072 +0.000713333 0.000706667 0.0007 0.0007 0.000713333 0.000706667 0.000693333 0.0007 +0.000693333 0.000693333 0.000706667 0.000713333 0.000713333 0.00068 0.0007 0.000726667 +0.000733333 0.000733333 0.0007 0.000693333 0.000706667 0.000713333 0.000693333 0.00068 +0.000666667 0.000686667 0.000706667 0.000713333 0.000686667 0.000673333 0.000666667 0.000646667 +0.000646667 0.000673333 0.000673333 0.000666667 0.000633333 0.00066 0.000673333 0.000633333 +0.000646667 0.000666667 0.000673333 0.000633333 0.000633333 0.000653333 0.00066 0.00064 +0.00064 0.00064 0.000646667 0.000666667 0.000686667 0.0007 0.000693333 0.000673333 +0.00066 0.000653333 0.000673333 0.000686667 0.000666667 0.000686667 0.000693333 0.00066 +0.000666667 0.00068 0.000713333 0.000693333 0.000673333 0.00068 0.00066 0.000706667 +0.000733333 0.000686667 0.00068 0.000693333 0.00068 0.000686667 0.000693333 0.00068 +0.0007 0.000766667 0.000913333 0.242507 0.276587 0.28984 0.291733 0.28984 +0.28416 0.282267 0.276587 0.259547 0.219787 0.00088 0.000793333 0.000713333 +0.000686667 0.000726667 0.000713333 0.000673333 0.000726667 0.000753333 0.000733333 0.0007 +0.000666667 0.000653333 0.000686667 0.000706667 0.00072 0.0007 0.000706667 0.000726667 +0.000686667 0.000673333 0.000706667 0.000713333 0.000713333 0.00072 0.000713333 0.000713333 +0.000686667 0.000693333 0.00074 0.00074 0.00074 0.000713333 0.000713333 0.000693333 +0.000726667 0.000733333 0.000733333 0.000733333 0.000726667 0.00074 0.000753333 0.000713333 +0.000686667 0.00072 0.00074 0.000726667 0.000713333 0.000693333 0.0007 0.00068 +0.000653333 0.00068 0.00074 0.00074 0.000706667 0.000693333 0.000673333 0.000686667 +0.00072 0.000713333 0.000686667 0.00068 0.000673333 0.000706667 0.00072 0.000713333 +0.000693333 0.000706667 0.00072 0.00074 0.000746667 0.0007 0.000686667 0.000693333 +0.0007 0.000693333 0.000726667 0.000766667 0.00072 0.000666667 0.000693333 0.00074 +0.00078 0.000766667 0.000686667 0.0007 0.000726667 0.000733333 0.000733333 0.000726667 +0.000706667 0.000726667 0.000726667 0.000713333 0.0007 0.000706667 0.000706667 0.00072 +0.0007 0.000713333 0.000746667 0.0007 0.00072 0.0007 0.000693333 0.000726667 +0.00072 0.000653333 0.000673333 0.000693333 0.000686667 0.00066 0.000693333 0.000753333 +0.000746667 0.0007 0.000693333 0.000686667 0.00068 0.000726667 0.000733333 0.00072 +0.00072 0.000693333 0.0007 0.000706667 0.000746667 0.000766667 0.0007 0.000693333 +0.00072 0.00072 0.000726667 0.00072 0.000693333 0.000686667 0.000726667 0.000773333 +0.00074 0.000726667 0.000753333 0.000746667 0.000713333 0.00072 0.000726667 0.000766667 +0.000746667 0.000753333 0.00076 0.000746667 0.000753333 0.000766667 0.000726667 0.000726667 +0.00074 0.000726667 0.000726667 0.0007 0.000686667 0.000686667 0.000693333 0.00072 +0.000753333 0.00074 0.00072 0.000753333 0.00078 0.00078 0.000733333 0.000733333 +0.000746667 0.000746667 0.000773333 0.000806667 0.00078 0.000773333 0.000773333 0.00078 +0.000773333 0.000786667 0.000773333 0.000766667 0.000773333 0.000793333 0.0008 0.000793333 +0.000793333 0.000793333 0.0008 0.000806667 0.000813333 0.000786667 0.00076 0.000726667 +0.00076 0.000786667 0.00078 0.000773333 0.00076 0.000713333 0.000693333 0.000726667 +0.000726667 0.000753333 0.00078 0.000733333 0.0007 0.000706667 0.000693333 0.000686667 +0.0007 0.000726667 0.000693333 0.000673333 0.00068 0.0007 0.000733333 0.00068 +0.00066 0.00066 0.000653333 0.000646667 0.00064 0.000646667 0.000653333 0.000633333 +0.00062 0.000646667 0.000646667 0.000653333 0.000646667 0.00064 0.000653333 0.00066 +0.000633333 0.000666667 0.000673333 0.00068 0.000686667 0.000653333 0.000666667 0.00068 +0.00066 0.000666667 0.00066 0.000666667 0.000686667 0.000706667 0.000686667 0.000666667 +0.00066 0.00066 0.000653333 0.000673333 0.00068 0.000633333 0.00064 0.00066 +0.000666667 0.00068 0.000666667 0.000653333 0.00066 0.000673333 0.0007 0.000686667 +0.00068 0.000673333 0.00068 0.000673333 0.000666667 0.000673333 0.000673333 0.000713333 +0.0007 0.000673333 0.000653333 0.00064 0.000686667 0.000713333 0.000706667 0.000706667 +0.000713333 0.000686667 0.000673333 0.000666667 0.000673333 0.00068 0.000693333 0.0007 +0.000726667 0.000706667 0.00068 0.000686667 0.00068 0.000713333 0.00074 0.000726667 +0.000693333 0.000726667 0.00074 0.00072 0.0007 0.000693333 0.000686667 0.000713333 +0.000726667 0.000746667 0.000713333 0.000713333 0.000706667 0.00074 0.000746667 0.000726667 +0.00072 0.00072 0.00072 0.00072 0.000733333 0.000733333 0.000706667 0.000706667 +0.000693333 0.000706667 0.00074 0.00074 0.000766667 0.000746667 0.000726667 0.000746667 +0.000746667 0.000733333 0.000733333 0.000733333 0.000733333 0.000733333 0.000726667 0.000746667 +0.000733333 0.000726667 0.000733333 0.000726667 0.000713333 0.000706667 0.000713333 0.000706667 +0.000726667 0.000726667 0.000726667 0.0007 0.000693333 0.000726667 0.000733333 0.000733333 +0.00074 0.000733333 0.000713333 0.00072 0.00074 0.000733333 0.00074 0.000753333 +0.000726667 0.000713333 0.000726667 0.000733333 0.000713333 0.000713333 0.000726667 0.000746667 +0.00074 0.000713333 0.000706667 0.000726667 0.000753333 0.00074 0.00072 0.000713333 +0.00072 0.00072 0.000706667 0.000706667 0.0007 0.000713333 0.000706667 0.000713333 +0.00072 0.00072 0.00072 0.000726667 0.000693333 0.000673333 0.000693333 0.000713333 +0.00074 0.000713333 0.00072 0.000713333 0.0007 0.000713333 0.000726667 0.000706667 +0.0007 0.0007 0.000706667 0.0007 0.000693333 0.0007 0.000686667 0.000686667 +0.0007 0.000706667 0.0007 0.0007 0.000693333 0.000686667 0.000693333 0.000706667 +0.000713333 0.000726667 0.000713333 0.0007 0.000673333 0.0007 0.000726667 0.00072 +0.000686667 0.00068 0.000706667 0.0007 0.000713333 0.000686667 0.00068 0.00068 +0.000706667 0.000726667 0.000726667 0.000713333 0.000713333 0.00072 0.000726667 0.00072 +0.000686667 0.00068 0.00068 0.00068 0.00068 0.000673333 0.00068 0.000666667 +0.000653333 0.000666667 0.000673333 0.000673333 0.000646667 0.000633333 0.000653333 0.000653333 +0.00066 0.000653333 0.000673333 0.000646667 0.000653333 0.00066 0.000633333 0.000606667 +0.000606667 0.00064 0.000646667 0.000673333 0.000673333 0.000686667 0.000713333 0.00072 +0.0007 0.000673333 0.000673333 0.00068 0.00068 0.000686667 0.00068 0.000666667 +0.000666667 0.000673333 0.000693333 0.000693333 0.000693333 0.000673333 0.00068 0.000713333 +0.00072 0.000693333 0.000706667 0.0007 0.000666667 0.000686667 0.000713333 0.000713333 +0.00076 0.00096 0.26144 0.297413 0.287947 0.2444 0.00096 0.000933333 +0.000966667 0.223573 0.248187 0.280373 0.280373 0.23304 0.000893333 0.000773333 +0.000706667 0.000706667 0.0007 0.000686667 0.000713333 0.000733333 0.00072 0.000733333 +0.0007 0.00068 0.000666667 0.000673333 0.000706667 0.000713333 0.000693333 0.000713333 +0.000726667 0.000706667 0.0007 0.0007 0.000706667 0.000733333 0.000713333 0.00072 +0.00072 0.000706667 0.000713333 0.0007 0.00072 0.000746667 0.000726667 0.000693333 +0.000713333 0.00074 0.00074 0.000766667 0.000746667 0.00072 0.00074 0.000746667 +0.000713333 0.000733333 0.000713333 0.0007 0.000726667 0.000713333 0.00072 0.000713333 +0.000673333 0.000666667 0.00072 0.000766667 0.000753333 0.000726667 0.00068 0.000673333 +0.000713333 0.00072 0.000706667 0.000713333 0.000686667 0.000693333 0.00072 0.000726667 +0.00072 0.000713333 0.000726667 0.00074 0.000726667 0.0007 0.000693333 0.000706667 +0.000733333 0.000706667 0.000733333 0.000766667 0.000706667 0.000673333 0.000706667 0.00074 +0.00078 0.000786667 0.000713333 0.000726667 0.00076 0.000726667 0.00074 0.000753333 +0.000713333 0.000733333 0.00074 0.00074 0.00072 0.000726667 0.000733333 0.000733333 +0.000713333 0.000706667 0.000746667 0.00072 0.00072 0.0007 0.00068 0.000713333 +0.00072 0.00068 0.000686667 0.0007 0.000706667 0.000653333 0.000673333 0.000753333 +0.000766667 0.000713333 0.000713333 0.00072 0.0007 0.000713333 0.0007 0.000726667 +0.00074 0.0007 0.000726667 0.00072 0.00076 0.000753333 0.000693333 0.0007 +0.00074 0.000726667 0.00074 0.00074 0.000706667 0.000693333 0.000753333 0.000773333 +0.000726667 0.000733333 0.000726667 0.00072 0.000726667 0.000726667 0.000733333 0.00078 +0.000753333 0.000753333 0.000766667 0.00076 0.00076 0.00076 0.000733333 0.000746667 +0.00076 0.000753333 0.00076 0.00076 0.000753333 0.000726667 0.00072 0.000733333 +0.000746667 0.000753333 0.000773333 0.000766667 0.00076 0.00076 0.000713333 0.00072 +0.000746667 0.000773333 0.0008 0.0008 0.000786667 0.000806667 0.000806667 0.00078 +0.000786667 0.00078 0.000773333 0.000773333 0.0008 0.000806667 0.000786667 0.0008 +0.00082 0.000833333 0.000833333 0.00082 0.00078 0.000793333 0.000793333 0.00076 +0.00078 0.000793333 0.000753333 0.000753333 0.000733333 0.000706667 0.000726667 0.00072 +0.000713333 0.00076 0.000773333 0.000726667 0.000713333 0.000713333 0.000686667 0.000706667 +0.000726667 0.000713333 0.000686667 0.000693333 0.00068 0.0007 0.00072 0.000666667 +0.00064 0.00066 0.000666667 0.000646667 0.000646667 0.000633333 0.000633333 0.000633333 +0.000626667 0.000633333 0.000633333 0.000633333 0.000633333 0.000626667 0.000646667 0.000673333 +0.000653333 0.00066 0.00068 0.00066 0.00068 0.000666667 0.000653333 0.00066 +0.000653333 0.000646667 0.000653333 0.00064 0.000666667 0.000673333 0.000653333 0.00064 +0.00064 0.000653333 0.000653333 0.000653333 0.000653333 0.00062 0.000626667 0.00068 +0.000666667 0.000646667 0.00064 0.000666667 0.00068 0.000666667 0.0007 0.000673333 +0.000653333 0.000673333 0.00068 0.00066 0.00064 0.000673333 0.000693333 0.000706667 +0.000666667 0.00066 0.000673333 0.000673333 0.000706667 0.00072 0.000686667 0.0007 +0.000706667 0.00068 0.000673333 0.000666667 0.000686667 0.000706667 0.000706667 0.000693333 +0.000706667 0.0007 0.000693333 0.000706667 0.000706667 0.000706667 0.000706667 0.000693333 +0.000706667 0.000753333 0.000726667 0.000686667 0.000693333 0.000706667 0.000693333 0.000706667 +0.000726667 0.000746667 0.00072 0.000726667 0.000726667 0.00074 0.000726667 0.000706667 +0.000706667 0.000713333 0.000733333 0.000753333 0.000746667 0.000733333 0.000706667 0.0007 +0.000726667 0.00076 0.00076 0.000753333 0.000766667 0.000726667 0.00074 0.000773333 +0.000766667 0.000733333 0.0007 0.000713333 0.000746667 0.000753333 0.000733333 0.00072 +0.000726667 0.000746667 0.000746667 0.000733333 0.00072 0.000713333 0.000733333 0.000706667 +0.000706667 0.00074 0.000726667 0.000706667 0.000693333 0.0007 0.0007 0.0007 +0.000706667 0.000733333 0.000726667 0.000706667 0.00072 0.000713333 0.000726667 0.000753333 +0.00076 0.00072 0.00072 0.000746667 0.000726667 0.0007 0.000706667 0.000726667 +0.00074 0.000726667 0.000706667 0.000693333 0.000713333 0.000733333 0.000746667 0.000726667 +0.000726667 0.00072 0.000713333 0.000713333 0.000713333 0.00072 0.000713333 0.0007 +0.000693333 0.000706667 0.000706667 0.000733333 0.000726667 0.0007 0.0007 0.000706667 +0.000706667 0.000706667 0.000726667 0.00072 0.000693333 0.000693333 0.00072 0.00072 +0.00072 0.000726667 0.00072 0.00068 0.00068 0.0007 0.00072 0.000693333 +0.00068 0.0007 0.000693333 0.000693333 0.000693333 0.00068 0.000686667 0.00068 +0.000686667 0.000706667 0.000713333 0.00072 0.000673333 0.000673333 0.0007 0.00072 +0.0007 0.000693333 0.000706667 0.000713333 0.000713333 0.0007 0.0007 0.00068 +0.000693333 0.000693333 0.0007 0.000706667 0.00072 0.000693333 0.000713333 0.000726667 +0.000726667 0.00072 0.000686667 0.000666667 0.000666667 0.000666667 0.00068 0.000666667 +0.000666667 0.00068 0.000673333 0.000673333 0.00066 0.000653333 0.000633333 0.000653333 +0.00068 0.000673333 0.00066 0.00064 0.000646667 0.000666667 0.00064 0.00062 +0.000613333 0.000613333 0.00062 0.000666667 0.000686667 0.00068 0.00068 0.000706667 +0.000733333 0.00072 0.0007 0.000693333 0.000713333 0.000706667 0.000693333 0.000693333 +0.00068 0.000686667 0.00068 0.0007 0.00072 0.000686667 0.000706667 0.000706667 +0.000693333 0.000713333 0.000726667 0.000706667 0.0007 0.00068 0.000706667 0.00082 +0.216 0.274693 0.28416 0.246293 0.000953333 0.000853333 0.000786667 0.00074 +0.000766667 0.00082 0.00092 0.242507 0.286053 0.269013 0.000993333 0.000853333 +0.000773333 0.000713333 0.000713333 0.0007 0.0007 0.000713333 0.000693333 0.000726667 +0.00074 0.000706667 0.000693333 0.00072 0.000706667 0.000686667 0.000693333 0.000706667 +0.00072 0.000713333 0.00072 0.000726667 0.0007 0.000693333 0.000713333 0.00072 +0.000753333 0.00074 0.00072 0.000693333 0.000706667 0.000753333 0.000733333 0.00072 +0.00072 0.000726667 0.000733333 0.000753333 0.00078 0.000746667 0.00072 0.00072 +0.000706667 0.000746667 0.000726667 0.0007 0.000733333 0.000726667 0.000733333 0.000733333 +0.000686667 0.00068 0.000713333 0.000753333 0.000753333 0.000753333 0.000713333 0.00068 +0.000713333 0.0007 0.0007 0.00072 0.0007 0.0007 0.000693333 0.000693333 +0.000713333 0.00072 0.00074 0.00074 0.00072 0.0007 0.000686667 0.000706667 +0.00074 0.0007 0.000733333 0.000786667 0.000733333 0.000706667 0.000693333 0.000713333 +0.000753333 0.00078 0.00074 0.000733333 0.000766667 0.00074 0.000733333 0.000746667 +0.000713333 0.00072 0.000746667 0.00076 0.000753333 0.00074 0.000746667 0.000746667 +0.000726667 0.0007 0.000753333 0.000746667 0.000746667 0.000733333 0.0007 0.000713333 +0.000706667 0.000673333 0.000673333 0.000706667 0.00074 0.000673333 0.000666667 0.000746667 +0.000753333 0.000726667 0.000706667 0.00072 0.000726667 0.000733333 0.000713333 0.00072 +0.000746667 0.000733333 0.00074 0.000706667 0.00076 0.000753333 0.000686667 0.000713333 +0.000746667 0.000713333 0.000733333 0.000746667 0.00072 0.0007 0.00074 0.000773333 +0.000746667 0.00074 0.000733333 0.000733333 0.000746667 0.000733333 0.000733333 0.00076 +0.000726667 0.000733333 0.000766667 0.000753333 0.000786667 0.000793333 0.000753333 0.00078 +0.000793333 0.00078 0.000786667 0.000786667 0.00078 0.000786667 0.000766667 0.00074 +0.00076 0.000793333 0.00082 0.000793333 0.00078 0.000786667 0.00072 0.000726667 +0.000786667 0.000826667 0.00082 0.000813333 0.000793333 0.0008 0.00082 0.000793333 +0.000793333 0.000793333 0.000813333 0.000806667 0.000826667 0.000833333 0.000813333 0.00082 +0.00084 0.00086 0.00088 0.000833333 0.000766667 0.000793333 0.000806667 0.000826667 +0.00082 0.000773333 0.00074 0.00076 0.00072 0.00072 0.000746667 0.0007 +0.000726667 0.000753333 0.000746667 0.000733333 0.00072 0.000713333 0.000706667 0.00072 +0.000706667 0.000686667 0.000706667 0.000686667 0.000673333 0.000693333 0.0007 0.00068 +0.000653333 0.000653333 0.000653333 0.00066 0.000646667 0.000613333 0.000606667 0.000626667 +0.00062 0.0006 0.000613333 0.00064 0.00064 0.00062 0.000633333 0.000653333 +0.000646667 0.000646667 0.000673333 0.000653333 0.000666667 0.00064 0.00062 0.000626667 +0.000633333 0.000626667 0.000646667 0.000653333 0.000646667 0.000646667 0.000626667 0.000633333 +0.000673333 0.000673333 0.000653333 0.000626667 0.00064 0.00064 0.000633333 0.00066 +0.000646667 0.000653333 0.000673333 0.000666667 0.00066 0.000666667 0.000713333 0.00068 +0.000666667 0.000666667 0.000666667 0.000666667 0.00068 0.000693333 0.00068 0.000693333 +0.000686667 0.00068 0.000706667 0.000713333 0.00072 0.000726667 0.000706667 0.0007 +0.000686667 0.000673333 0.000666667 0.000673333 0.000706667 0.000713333 0.000693333 0.000673333 +0.0007 0.00072 0.000706667 0.000706667 0.000706667 0.00068 0.000693333 0.000713333 +0.000733333 0.000713333 0.000686667 0.000693333 0.000713333 0.000706667 0.000713333 0.000706667 +0.00072 0.000726667 0.000726667 0.00074 0.000726667 0.000726667 0.00072 0.0007 +0.00072 0.00074 0.000753333 0.00074 0.000726667 0.000713333 0.000706667 0.00072 +0.000753333 0.00076 0.000733333 0.00072 0.00072 0.000726667 0.00076 0.00076 +0.000713333 0.000693333 0.000686667 0.000706667 0.00074 0.000746667 0.00074 0.00072 +0.000706667 0.00072 0.000726667 0.000733333 0.000733333 0.000726667 0.000746667 0.000746667 +0.000726667 0.000713333 0.00072 0.00072 0.000726667 0.000706667 0.0007 0.000706667 +0.000686667 0.000693333 0.00072 0.00072 0.000706667 0.000693333 0.000706667 0.00072 +0.000746667 0.000733333 0.000713333 0.000706667 0.000706667 0.000713333 0.000713333 0.000713333 +0.000726667 0.000726667 0.000726667 0.000726667 0.00072 0.00072 0.000713333 0.00072 +0.000726667 0.000713333 0.000713333 0.000706667 0.000713333 0.000713333 0.000726667 0.00072 +0.000706667 0.0007 0.000686667 0.000686667 0.000706667 0.0007 0.000706667 0.000726667 +0.000726667 0.000713333 0.000706667 0.00072 0.000713333 0.0007 0.000686667 0.00068 +0.000706667 0.000733333 0.000733333 0.000713333 0.0007 0.0007 0.0007 0.000693333 +0.00068 0.000693333 0.000713333 0.000713333 0.000693333 0.00068 0.00068 0.000673333 +0.000666667 0.00066 0.000673333 0.000693333 0.0007 0.000693333 0.000673333 0.0007 +0.000693333 0.000713333 0.000713333 0.000706667 0.000713333 0.00072 0.0007 0.000693333 +0.000706667 0.000713333 0.0007 0.00068 0.0007 0.0007 0.00068 0.000686667 +0.000706667 0.000726667 0.00072 0.000693333 0.00066 0.000666667 0.000666667 0.000653333 +0.00064 0.000666667 0.000666667 0.000673333 0.00066 0.000673333 0.00066 0.000646667 +0.000686667 0.000706667 0.000686667 0.000666667 0.000666667 0.00064 0.000633333 0.000633333 +0.00064 0.00062 0.000633333 0.000646667 0.000666667 0.000673333 0.000673333 0.000673333 +0.0007 0.000713333 0.000706667 0.000686667 0.0007 0.000706667 0.000713333 0.000706667 +0.000706667 0.000706667 0.000686667 0.000686667 0.000713333 0.000713333 0.00072 0.000686667 +0.000673333 0.000726667 0.000726667 0.0007 0.00074 0.000746667 0.0008 0.219787 +0.27848 0.28416 0.231147 0.000853333 0.00074 0.000766667 0.0008 0.000753333 +0.000733333 0.00076 0.000826667 0.000946667 0.263333 0.291733 0.248187 0.000913333 +0.000793333 0.000746667 0.000753333 0.00072 0.000693333 0.000706667 0.000706667 0.000733333 +0.000733333 0.0007 0.000713333 0.000773333 0.000746667 0.000693333 0.000673333 0.000706667 +0.000706667 0.000706667 0.00072 0.000733333 0.00072 0.0007 0.000713333 0.000713333 +0.000746667 0.000753333 0.000733333 0.00074 0.00074 0.00072 0.000706667 0.000733333 +0.000746667 0.000733333 0.000706667 0.000726667 0.00078 0.000786667 0.000733333 0.000713333 +0.000713333 0.00074 0.000766667 0.000713333 0.00074 0.000766667 0.000746667 0.000746667 +0.000706667 0.000686667 0.000713333 0.00072 0.00072 0.000746667 0.00074 0.00072 +0.000726667 0.000713333 0.000706667 0.00072 0.000713333 0.000726667 0.0007 0.00068 +0.000706667 0.000733333 0.00074 0.000733333 0.000726667 0.000693333 0.000673333 0.00068 +0.000726667 0.00072 0.000713333 0.00078 0.000773333 0.000733333 0.000713333 0.00072 +0.00076 0.000786667 0.000753333 0.000746667 0.000773333 0.000753333 0.00074 0.000753333 +0.00074 0.000766667 0.000753333 0.000753333 0.000773333 0.000733333 0.00074 0.000753333 +0.00072 0.00072 0.000753333 0.000746667 0.000773333 0.00076 0.000726667 0.00074 +0.000726667 0.000693333 0.0007 0.000726667 0.000746667 0.000713333 0.000693333 0.00074 +0.000733333 0.00074 0.000726667 0.00072 0.00072 0.00076 0.000733333 0.000706667 +0.000746667 0.000746667 0.000733333 0.000713333 0.000786667 0.00076 0.000693333 0.000733333 +0.00076 0.00072 0.00074 0.000753333 0.000733333 0.000706667 0.000733333 0.000753333 +0.000746667 0.000746667 0.000746667 0.000753333 0.000753333 0.00076 0.00076 0.00076 +0.00072 0.000733333 0.0008 0.000766667 0.00082 0.00082 0.000786667 0.0008 +0.000793333 0.00082 0.000833333 0.00082 0.000793333 0.000826667 0.000813333 0.0008 +0.000853333 0.000886667 0.000873333 0.000826667 0.00082 0.0008 0.00078 0.000793333 +0.00084 0.00084 0.00084 0.000846667 0.000826667 0.000813333 0.000846667 0.000846667 +0.000846667 0.000866667 0.000866667 0.000853333 0.00086 0.000833333 0.00082 0.000826667 +0.00082 0.000846667 0.00088 0.00086 0.000813333 0.0008 0.000806667 0.000826667 +0.00082 0.000786667 0.00076 0.00076 0.00072 0.000733333 0.00074 0.000713333 +0.00074 0.000726667 0.000726667 0.000713333 0.0007 0.000706667 0.00072 0.000713333 +0.000686667 0.00068 0.000706667 0.00068 0.000653333 0.000646667 0.000673333 0.000673333 +0.000673333 0.00066 0.000666667 0.000666667 0.00064 0.000626667 0.000633333 0.000633333 +0.00062 0.000593333 0.000606667 0.00064 0.000613333 0.000593333 0.000613333 0.00062 +0.000653333 0.000633333 0.000653333 0.000646667 0.000646667 0.000626667 0.000626667 0.000626667 +0.000626667 0.00064 0.000653333 0.000646667 0.000633333 0.00064 0.00064 0.00064 +0.000666667 0.00068 0.000633333 0.000606667 0.000653333 0.00066 0.000613333 0.000633333 +0.00066 0.000686667 0.000666667 0.000646667 0.000646667 0.000686667 0.00072 0.000706667 +0.000673333 0.00066 0.00068 0.000693333 0.000693333 0.000666667 0.000673333 0.000706667 +0.000713333 0.0007 0.000726667 0.000713333 0.000706667 0.00072 0.0007 0.00068 +0.000673333 0.000666667 0.000666667 0.00066 0.000706667 0.000713333 0.000686667 0.000673333 +0.000693333 0.00072 0.000713333 0.0007 0.000706667 0.000706667 0.000726667 0.000733333 +0.000713333 0.000686667 0.000693333 0.00074 0.000733333 0.000706667 0.00072 0.000713333 +0.00072 0.000726667 0.000713333 0.00072 0.000706667 0.000693333 0.0007 0.000706667 +0.000733333 0.000733333 0.000733333 0.00072 0.000706667 0.0007 0.000726667 0.00074 +0.00074 0.00072 0.0007 0.000713333 0.000733333 0.000746667 0.000733333 0.000713333 +0.00068 0.000706667 0.00072 0.000713333 0.000733333 0.000746667 0.000746667 0.000753333 +0.000746667 0.00072 0.000713333 0.000713333 0.000713333 0.00072 0.000733333 0.000746667 +0.000733333 0.000713333 0.00072 0.000713333 0.00072 0.000726667 0.00072 0.00072 +0.000713333 0.0007 0.000693333 0.000713333 0.000713333 0.000686667 0.000713333 0.000706667 +0.000706667 0.000706667 0.0007 0.000706667 0.000706667 0.00072 0.000733333 0.000726667 +0.00072 0.000706667 0.0007 0.000733333 0.000746667 0.000726667 0.000706667 0.000693333 +0.00072 0.00072 0.00072 0.000713333 0.000713333 0.0007 0.000713333 0.000726667 +0.00072 0.000713333 0.000693333 0.000673333 0.00068 0.000693333 0.000693333 0.000706667 +0.000706667 0.000713333 0.000706667 0.000713333 0.000713333 0.000713333 0.0007 0.00068 +0.000686667 0.000706667 0.000726667 0.00072 0.000713333 0.000706667 0.000693333 0.000693333 +0.000693333 0.000673333 0.000686667 0.000713333 0.00072 0.000693333 0.000693333 0.000673333 +0.00068 0.000686667 0.000666667 0.000666667 0.000673333 0.000693333 0.00068 0.000686667 +0.00068 0.000693333 0.000706667 0.000693333 0.000713333 0.000726667 0.000706667 0.0007 +0.000686667 0.000693333 0.0007 0.000706667 0.000686667 0.000693333 0.000706667 0.000693333 +0.0007 0.000686667 0.000673333 0.000706667 0.00068 0.000673333 0.000666667 0.000646667 +0.000653333 0.00066 0.00066 0.000653333 0.000673333 0.000673333 0.000673333 0.000653333 +0.000653333 0.000666667 0.00068 0.000706667 0.0007 0.000646667 0.000633333 0.000633333 +0.000653333 0.000633333 0.000666667 0.000646667 0.000646667 0.000666667 0.000673333 0.000686667 +0.000706667 0.000706667 0.000693333 0.0007 0.000693333 0.0007 0.0007 0.000713333 +0.000726667 0.000693333 0.0007 0.0007 0.0007 0.000733333 0.000733333 0.000686667 +0.000673333 0.000706667 0.00074 0.000746667 0.00078 0.000873333 0.23304 0.282267 +0.276587 0.223573 0.00084 0.000746667 0.00072 0.000746667 0.00076 0.000753333 +0.00076 0.00076 0.000773333 0.000866667 0.236827 0.291733 0.270907 0.00098 +0.00084 0.000766667 0.000773333 0.000753333 0.0007 0.000693333 0.000713333 0.000733333 +0.000753333 0.000713333 0.000713333 0.000746667 0.00076 0.000746667 0.0007 0.000686667 +0.00072 0.00072 0.000706667 0.000706667 0.000746667 0.000753333 0.000746667 0.00072 +0.0007 0.000726667 0.00074 0.00076 0.000746667 0.00074 0.000713333 0.000686667 +0.00072 0.00076 0.000746667 0.00074 0.00078 0.000793333 0.000746667 0.000733333 +0.000753333 0.000753333 0.00078 0.000726667 0.000713333 0.000766667 0.000766667 0.000766667 +0.000726667 0.00068 0.000693333 0.000733333 0.00074 0.000726667 0.000733333 0.000733333 +0.000753333 0.00074 0.0007 0.0007 0.000706667 0.000726667 0.000713333 0.000693333 +0.000713333 0.000733333 0.000713333 0.00072 0.000726667 0.000706667 0.000706667 0.000673333 +0.000693333 0.000733333 0.000726667 0.00076 0.00076 0.000726667 0.000726667 0.000733333 +0.000746667 0.000766667 0.000753333 0.000753333 0.000793333 0.000773333 0.000766667 0.000793333 +0.000746667 0.00076 0.00076 0.00076 0.00078 0.000733333 0.000726667 0.00076 +0.000733333 0.000753333 0.000773333 0.000746667 0.00078 0.000773333 0.000726667 0.000726667 +0.000733333 0.000706667 0.00072 0.000746667 0.000746667 0.00074 0.00074 0.000766667 +0.000773333 0.000766667 0.000753333 0.000726667 0.00072 0.000773333 0.000753333 0.000726667 +0.000753333 0.000746667 0.000713333 0.00072 0.0008 0.000753333 0.0007 0.000746667 +0.000766667 0.00074 0.000773333 0.000773333 0.00076 0.000753333 0.000766667 0.000746667 +0.00074 0.000786667 0.000773333 0.00076 0.000786667 0.00082 0.000846667 0.000833333 +0.000786667 0.00082 0.000846667 0.000813333 0.000873333 0.00092 0.000913333 0.000926667 +0.000913333 0.000953333 0.000993333 0.223573 0.223573 0.22736 0.225467 0.231147 +0.23872 0.248187 0.246293 0.234933 0.229253 0.000993333 0.223573 0.229253 +0.22736 0.229253 0.23304 0.229253 0.000973333 0.000973333 0.216 0.216 +0.00098 0.000986667 0.000966667 0.00096 0.00094 0.000893333 0.000873333 0.00088 +0.00086 0.000866667 0.000893333 0.000866667 0.000833333 0.0008 0.000813333 0.000806667 +0.000813333 0.0008 0.00078 0.000753333 0.000693333 0.0007 0.000733333 0.00074 +0.00074 0.000706667 0.000706667 0.00072 0.000726667 0.000706667 0.000713333 0.0007 +0.00066 0.00066 0.000673333 0.000673333 0.000666667 0.000666667 0.00068 0.00068 +0.00068 0.00068 0.0007 0.000713333 0.000686667 0.000693333 0.0007 0.000666667 +0.000653333 0.000613333 0.000606667 0.000613333 0.000586667 0.000586667 0.000613333 0.000646667 +0.000666667 0.000626667 0.00064 0.000626667 0.0006 0.00064 0.00062 0.000606667 +0.000613333 0.000646667 0.000646667 0.000633333 0.00064 0.000646667 0.00066 0.000666667 +0.000653333 0.00066 0.000633333 0.000626667 0.000653333 0.00064 0.0006 0.000653333 +0.00068 0.00066 0.000646667 0.00066 0.00068 0.000713333 0.00072 0.0007 +0.000666667 0.00068 0.0007 0.000686667 0.000666667 0.000653333 0.000673333 0.0007 +0.000693333 0.0007 0.00072 0.0007 0.0007 0.0007 0.00068 0.000666667 +0.00068 0.000673333 0.000686667 0.000686667 0.000706667 0.000713333 0.000686667 0.000693333 +0.0007 0.0007 0.0007 0.000713333 0.000706667 0.000713333 0.0007 0.000666667 +0.00068 0.0007 0.00072 0.000713333 0.0007 0.000686667 0.0007 0.000713333 +0.000713333 0.000713333 0.000693333 0.000706667 0.000713333 0.000686667 0.0007 0.0007 +0.000713333 0.00072 0.000726667 0.000713333 0.000693333 0.0007 0.000733333 0.000726667 +0.0007 0.0007 0.000706667 0.00074 0.000726667 0.000706667 0.0007 0.000706667 +0.00072 0.00072 0.0007 0.000693333 0.000726667 0.00074 0.000733333 0.000733333 +0.00076 0.000753333 0.00074 0.000733333 0.000706667 0.000706667 0.000713333 0.000726667 +0.00072 0.0007 0.000706667 0.000706667 0.000706667 0.000713333 0.000733333 0.000726667 +0.000726667 0.00074 0.000706667 0.00068 0.000693333 0.0007 0.0007 0.0007 +0.000713333 0.000693333 0.000666667 0.000686667 0.0007 0.0007 0.000706667 0.000726667 +0.000713333 0.000706667 0.000706667 0.000706667 0.000706667 0.00072 0.000726667 0.000706667 +0.00072 0.000713333 0.000713333 0.000706667 0.000713333 0.000706667 0.000706667 0.0007 +0.0007 0.000713333 0.000726667 0.0007 0.000693333 0.00068 0.00068 0.0007 +0.0007 0.00068 0.0007 0.000713333 0.00068 0.00068 0.0007 0.000713333 +0.0007 0.0007 0.0007 0.0007 0.0007 0.000713333 0.0007 0.0007 +0.000693333 0.000686667 0.00066 0.00068 0.000713333 0.0007 0.000713333 0.000706667 +0.000686667 0.000686667 0.0007 0.000693333 0.000673333 0.00066 0.00068 0.00068 +0.00068 0.00068 0.000666667 0.000673333 0.0007 0.000733333 0.00072 0.000713333 +0.000693333 0.00068 0.000673333 0.000686667 0.000686667 0.000653333 0.000666667 0.000693333 +0.000706667 0.00068 0.000653333 0.000673333 0.000686667 0.000693333 0.000673333 0.000646667 +0.000673333 0.000686667 0.000653333 0.00062 0.000653333 0.000673333 0.000653333 0.000666667 +0.000666667 0.000633333 0.000633333 0.00068 0.000686667 0.000673333 0.00068 0.00066 +0.00064 0.000646667 0.000673333 0.000666667 0.000666667 0.000673333 0.00068 0.000666667 +0.000686667 0.00072 0.000713333 0.000713333 0.0007 0.0007 0.000706667 0.00072 +0.000726667 0.000693333 0.000693333 0.000706667 0.000706667 0.000733333 0.00074 0.000713333 +0.000726667 0.0007 0.00072 0.000793333 0.000913333 0.251973 0.303093 0.282267 +0.22168 0.000846667 0.000766667 0.000766667 0.00078 0.000753333 0.00074 0.000766667 +0.000766667 0.000746667 0.000753333 0.00082 0.000953333 0.26144 0.282267 0.234933 +0.000886667 0.00078 0.00076 0.000766667 0.000746667 0.000726667 0.000726667 0.000733333 +0.000766667 0.000766667 0.00072 0.0007 0.00074 0.00076 0.000733333 0.000713333 +0.000726667 0.00072 0.0007 0.00072 0.00076 0.000766667 0.000766667 0.000733333 +0.0007 0.000733333 0.000733333 0.00074 0.000746667 0.000773333 0.00078 0.000713333 +0.00072 0.000766667 0.000773333 0.000753333 0.000773333 0.000806667 0.000773333 0.000746667 +0.000753333 0.00074 0.000766667 0.00076 0.00074 0.000766667 0.000786667 0.000773333 +0.000753333 0.00072 0.000706667 0.00074 0.000753333 0.00072 0.000713333 0.000706667 +0.000746667 0.000773333 0.00074 0.00072 0.000693333 0.000706667 0.000726667 0.0007 +0.00072 0.00072 0.000706667 0.00072 0.000733333 0.000726667 0.000726667 0.0007 +0.0007 0.000713333 0.000753333 0.00076 0.000746667 0.00074 0.00074 0.000753333 +0.000766667 0.000766667 0.00074 0.00074 0.0008 0.000786667 0.000773333 0.000806667 +0.000773333 0.000753333 0.000766667 0.000766667 0.000773333 0.00074 0.00074 0.00076 +0.00074 0.000746667 0.000786667 0.000766667 0.000773333 0.00078 0.00072 0.000726667 +0.000746667 0.000733333 0.000746667 0.00078 0.00076 0.00076 0.000773333 0.0008 +0.0008 0.0008 0.000786667 0.000766667 0.000793333 0.00082 0.0008 0.000793333 +0.000793333 0.000786667 0.000773333 0.000786667 0.000833333 0.000806667 0.000773333 0.000786667 +0.00082 0.000833333 0.00088 0.000873333 0.000866667 0.000873333 0.000906667 0.000926667 +0.000953333 0.219787 0.216 0.00098 0.22168 0.23304 0.2444 0.240613 +0.236827 0.25008 0.248187 0.25008 0.269013 0.270907 0.276587 0.287947 +0.291733 0.299307 0.31256 0.322027 0.337173 0.34664 0.350427 0.348533 +0.342853 0.356107 0.35232 0.348533 0.350427 0.33528 0.337173 0.339067 +0.348533 0.350427 0.348533 0.331493 0.31256 0.31824 0.314453 0.308773 +0.310667 0.308773 0.29552 0.28984 0.28416 0.2728 0.263333 0.25576 +0.246293 0.23304 0.223573 0.000973333 0.000926667 0.00088 0.000866667 0.00084 +0.000833333 0.00082 0.0008 0.00076 0.000746667 0.000753333 0.000753333 0.000753333 +0.000726667 0.0007 0.000686667 0.000733333 0.00074 0.0007 0.0007 0.000686667 +0.000666667 0.000673333 0.00066 0.00068 0.0007 0.000706667 0.000693333 0.000713333 +0.000726667 0.00076 0.00082 0.0009 0.00092 0.000933333 0.000933333 0.000906667 +0.000893333 0.0008 0.000706667 0.000626667 0.00058 0.000593333 0.00062 0.000633333 +0.000646667 0.000633333 0.00062 0.000613333 0.0006 0.000626667 0.000613333 0.000613333 +0.000633333 0.000653333 0.00064 0.00064 0.000646667 0.00066 0.000646667 0.000633333 +0.000646667 0.000646667 0.000626667 0.000613333 0.000626667 0.00064 0.000646667 0.000653333 +0.000653333 0.000633333 0.000686667 0.000706667 0.0007 0.0007 0.000686667 0.000693333 +0.000673333 0.000666667 0.000686667 0.000666667 0.00066 0.000673333 0.00066 0.000686667 +0.000693333 0.000706667 0.000713333 0.000686667 0.000666667 0.00068 0.000673333 0.00066 +0.000686667 0.000673333 0.00068 0.000673333 0.00068 0.00068 0.000686667 0.00068 +0.000673333 0.000673333 0.000666667 0.0007 0.000706667 0.00068 0.00066 0.00066 +0.000686667 0.000706667 0.0007 0.0007 0.000693333 0.000686667 0.0007 0.000693333 +0.0007 0.0007 0.000713333 0.000706667 0.000693333 0.000686667 0.0007 0.0007 +0.000693333 0.0007 0.00072 0.000713333 0.000733333 0.00072 0.0007 0.0007 +0.0007 0.00072 0.000713333 0.0007 0.000673333 0.000693333 0.000706667 0.00072 +0.000713333 0.000693333 0.000693333 0.000733333 0.00076 0.000746667 0.00074 0.000733333 +0.000726667 0.00074 0.000733333 0.00074 0.000733333 0.000726667 0.00072 0.00072 +0.000713333 0.000726667 0.00074 0.0007 0.0007 0.00072 0.00074 0.000746667 +0.00072 0.000726667 0.000733333 0.00072 0.0007 0.0007 0.000686667 0.000706667 +0.000713333 0.000713333 0.0007 0.00068 0.000693333 0.000693333 0.000686667 0.0007 +0.0007 0.0007 0.000713333 0.000706667 0.000686667 0.000693333 0.0007 0.000706667 +0.00074 0.000733333 0.0007 0.000673333 0.0007 0.000726667 0.00074 0.00072 +0.0007 0.000693333 0.000713333 0.000713333 0.0007 0.000673333 0.000666667 0.00068 +0.00072 0.000713333 0.000693333 0.000693333 0.000673333 0.000686667 0.00068 0.000686667 +0.0007 0.000713333 0.00072 0.0007 0.000686667 0.0007 0.000706667 0.000726667 +0.000706667 0.00068 0.00066 0.000653333 0.00068 0.000686667 0.0007 0.000713333 +0.0007 0.00068 0.000693333 0.0007 0.000686667 0.000653333 0.000653333 0.000673333 +0.000686667 0.000693333 0.000666667 0.00064 0.000653333 0.000693333 0.000706667 0.000706667 +0.000706667 0.000693333 0.000673333 0.000666667 0.00068 0.00068 0.000666667 0.00066 +0.000666667 0.000673333 0.00066 0.00066 0.000653333 0.000673333 0.000653333 0.000646667 +0.00066 0.000686667 0.00066 0.000626667 0.000613333 0.000646667 0.00064 0.000666667 +0.000686667 0.000666667 0.00064 0.00064 0.00064 0.000646667 0.00068 0.000686667 +0.00066 0.00066 0.000666667 0.00068 0.00068 0.00068 0.000706667 0.0007 +0.000666667 0.000673333 0.0007 0.000733333 0.000726667 0.00072 0.000726667 0.00074 +0.000726667 0.000746667 0.00072 0.000706667 0.00072 0.000726667 0.00072 0.00072 +0.000746667 0.000746667 0.00078 0.00092 0.25576 0.308773 0.29552 0.22736 +0.000853333 0.000793333 0.00078 0.000793333 0.0008 0.00078 0.00076 0.00076 +0.000766667 0.00076 0.00076 0.0008 0.000873333 0.23872 0.286053 0.265227 +0.000966667 0.00082 0.00076 0.00078 0.000773333 0.000746667 0.000746667 0.000733333 +0.00074 0.000766667 0.00074 0.000713333 0.000746667 0.000746667 0.000746667 0.000746667 +0.000746667 0.000726667 0.000706667 0.000746667 0.000766667 0.000746667 0.000746667 0.00074 +0.000733333 0.00076 0.000746667 0.00074 0.000753333 0.00078 0.000813333 0.000766667 +0.000746667 0.000753333 0.000773333 0.000773333 0.0008 0.000833333 0.000806667 0.00076 +0.00076 0.000746667 0.000753333 0.000773333 0.000773333 0.00078 0.000773333 0.000766667 +0.00076 0.00074 0.00074 0.000726667 0.000733333 0.000726667 0.00072 0.00072 +0.000713333 0.00076 0.000766667 0.000753333 0.0007 0.0007 0.000733333 0.00074 +0.000746667 0.000746667 0.000733333 0.000733333 0.00076 0.00074 0.00072 0.000746667 +0.000746667 0.000733333 0.00074 0.00076 0.00076 0.00076 0.00078 0.00078 +0.00078 0.0008 0.000766667 0.000746667 0.000813333 0.000793333 0.00078 0.0008 +0.000806667 0.000826667 0.000786667 0.000786667 0.000786667 0.000766667 0.000786667 0.0008 +0.000773333 0.000773333 0.0008 0.00078 0.000806667 0.00082 0.000766667 0.000793333 +0.000813333 0.000806667 0.00084 0.000886667 0.000866667 0.000853333 0.000906667 0.000926667 +0.00092 0.00092 0.000926667 0.00092 0.000953333 0.000993333 0.000973333 0.219787 +0.22168 0.217893 0.223573 0.23872 0.2444 0.23872 0.231147 0.236827 +0.248187 0.25576 0.270907 0.276587 0.280373 0.280373 0.291733 0.303093 +0.316347 0.3296 0.314453 0.308773 0.31824 0.32392 0.3296 0.331493 +0.34096 0.34664 0.342853 0.350427 0.35232 0.348533 0.356107 0.348533 +0.344747 0.356107 0.361787 0.358 0.3864 0.405333 0.399653 0.390187 +0.3864 0.399653 0.382613 0.382613 0.388293 0.384507 0.376933 0.38072 +0.407227 0.405333 0.39208 0.373147 0.36368 0.373147 0.36936 0.359893 +0.373147 0.37504 0.359893 0.358 0.367467 0.367467 0.358 0.344747 +0.34096 0.333387 0.31824 0.29552 0.286053 0.276587 0.259547 0.2444 +0.23304 0.217893 0.00092 0.000846667 0.000826667 0.000813333 0.00076 0.00074 +0.000713333 0.000706667 0.000686667 0.0007 0.00072 0.000713333 0.000673333 0.000666667 +0.00068 0.000686667 0.000666667 0.000686667 0.000713333 0.000726667 0.000766667 0.000826667 +0.000886667 0.000973333 0.23304 0.246293 0.253867 0.251973 0.248187 0.25008 +0.248187 0.240613 0.000993333 0.0008 0.000673333 0.000626667 0.00062 0.000633333 +0.000646667 0.000646667 0.000613333 0.000606667 0.0006 0.000633333 0.000633333 0.00062 +0.00064 0.00064 0.000626667 0.000646667 0.000646667 0.000626667 0.000606667 0.000606667 +0.000633333 0.000646667 0.00062 0.0006 0.000633333 0.000673333 0.00066 0.000646667 +0.000646667 0.000673333 0.000706667 0.000686667 0.000646667 0.000633333 0.000653333 0.0007 +0.000673333 0.000626667 0.00066 0.000666667 0.000666667 0.00066 0.000646667 0.00068 +0.0007 0.000693333 0.00068 0.000633333 0.000626667 0.00066 0.000653333 0.000646667 +0.00068 0.00066 0.000626667 0.000646667 0.000693333 0.000686667 0.00068 0.000673333 +0.000673333 0.0007 0.00066 0.000673333 0.0007 0.000673333 0.00066 0.000673333 +0.0007 0.00072 0.0007 0.000713333 0.00072 0.000706667 0.000686667 0.00068 +0.000726667 0.000733333 0.000706667 0.00068 0.000693333 0.0007 0.000713333 0.000706667 +0.000686667 0.000713333 0.000733333 0.000733333 0.000733333 0.000686667 0.000666667 0.0007 +0.000713333 0.000706667 0.000673333 0.00066 0.000686667 0.000713333 0.000726667 0.000713333 +0.000693333 0.000686667 0.00072 0.00076 0.000753333 0.000733333 0.000726667 0.00074 +0.00074 0.000726667 0.00072 0.00072 0.000726667 0.00074 0.000726667 0.000726667 +0.000706667 0.000693333 0.00074 0.000726667 0.000706667 0.000733333 0.000726667 0.00074 +0.000733333 0.00072 0.000733333 0.000726667 0.00072 0.000693333 0.000693333 0.0007 +0.0007 0.000706667 0.000733333 0.000713333 0.000713333 0.000706667 0.00068 0.000693333 +0.000706667 0.0007 0.0007 0.000713333 0.0007 0.000693333 0.000686667 0.000673333 +0.000686667 0.000713333 0.0007 0.000686667 0.000686667 0.000686667 0.00072 0.00074 +0.00072 0.0007 0.000693333 0.00068 0.000706667 0.000706667 0.000693333 0.000686667 +0.0007 0.00072 0.000706667 0.000693333 0.00068 0.00068 0.000693333 0.000666667 +0.000646667 0.000686667 0.000706667 0.000706667 0.000693333 0.000693333 0.000686667 0.00072 +0.00072 0.0007 0.000666667 0.000673333 0.00068 0.000686667 0.00068 0.000673333 +0.000666667 0.000673333 0.000686667 0.000686667 0.0007 0.0007 0.00066 0.000633333 +0.000646667 0.00068 0.000686667 0.000666667 0.00066 0.00066 0.000666667 0.000686667 +0.000693333 0.000693333 0.000673333 0.00068 0.00068 0.000686667 0.000686667 0.000666667 +0.000653333 0.000646667 0.000653333 0.000653333 0.000646667 0.000633333 0.000613333 0.000626667 +0.000646667 0.000653333 0.000633333 0.000633333 0.00062 0.0006 0.000613333 0.000653333 +0.000666667 0.00066 0.000653333 0.00064 0.000606667 0.000633333 0.00064 0.00066 +0.000666667 0.000686667 0.00068 0.000686667 0.00068 0.000686667 0.0007 0.000726667 +0.00072 0.00068 0.000666667 0.000686667 0.00072 0.000726667 0.00072 0.00074 +0.000746667 0.00076 0.000746667 0.00074 0.000733333 0.00074 0.000733333 0.000733333 +0.000733333 0.0008 0.000966667 0.2728 0.314453 0.28984 0.219787 0.00086 +0.000793333 0.000806667 0.00082 0.000793333 0.000793333 0.00078 0.000786667 0.00078 +0.00076 0.000773333 0.00078 0.000766667 0.000826667 0.217893 0.280373 0.291733 +0.240613 0.000906667 0.0008 0.000793333 0.000786667 0.000753333 0.000753333 0.00076 +0.00076 0.000753333 0.00074 0.000733333 0.000773333 0.00078 0.000753333 0.00074 +0.000753333 0.000753333 0.00072 0.00072 0.000753333 0.00076 0.00076 0.000773333 +0.000773333 0.000806667 0.000806667 0.00078 0.000786667 0.00078 0.0008 0.00078 +0.00076 0.00076 0.00076 0.00078 0.00082 0.000846667 0.000833333 0.000793333 +0.000793333 0.00078 0.00078 0.000793333 0.000766667 0.00078 0.00078 0.000786667 +0.00078 0.000746667 0.000766667 0.00074 0.000766667 0.000773333 0.000753333 0.00076 +0.000733333 0.00076 0.000773333 0.00078 0.000746667 0.000733333 0.00074 0.000753333 +0.000773333 0.0008 0.0008 0.000786667 0.000813333 0.000786667 0.000746667 0.000766667 +0.000806667 0.00082 0.000786667 0.000813333 0.000813333 0.0008 0.00084 0.000846667 +0.00084 0.000886667 0.000866667 0.00084 0.000893333 0.000886667 0.000873333 0.000886667 +0.000906667 0.000966667 0.00094 0.000946667 0.000953333 0.000933333 0.00096 0.000966667 +0.000946667 0.000953333 0.000986667 0.216 0.23304 0.236827 0.22736 0.23872 +0.248187 0.248187 0.26144 0.280373 0.269013 0.26712 0.28984 0.303093 +0.293627 0.28984 0.29552 0.286053 0.299307 0.31256 0.304987 0.30688 +0.314453 0.310667 0.316347 0.32392 0.322027 0.310667 0.310667 0.31824 +0.322027 0.333387 0.34664 0.344747 0.356107 0.361787 0.361787 0.35232 +0.34664 0.350427 0.33528 0.320133 0.33528 0.34664 0.34096 0.34664 +0.356107 0.354213 0.356107 0.35232 0.33528 0.344747 0.359893 0.339067 +0.331493 0.34664 0.339067 0.337173 0.356107 0.35232 0.348533 0.350427 +0.356107 0.359893 0.350427 0.358 0.35232 0.350427 0.344747 0.35232 +0.365573 0.356107 0.344747 0.33528 0.327707 0.333387 0.337173 0.331493 +0.337173 0.339067 0.339067 0.34096 0.34664 0.350427 0.359893 0.350427 +0.356107 0.36936 0.359893 0.348533 0.354213 0.35232 0.34664 0.34664 +0.337173 0.314453 0.286053 0.257653 0.23872 0.00096 0.000873333 0.000846667 +0.000793333 0.00074 0.00068 0.00068 0.000686667 0.0007 0.00068 0.000666667 +0.000686667 0.0007 0.000706667 0.000746667 0.000786667 0.000853333 0.00096 0.229253 +0.240613 0.2444 0.231147 0.216 0.000986667 0.00094 0.000933333 0.000926667 +0.000926667 0.234933 0.257653 0.23872 0.000946667 0.00074 0.000653333 0.000653333 +0.000633333 0.00062 0.0006 0.0006 0.000586667 0.00064 0.00064 0.000613333 +0.000626667 0.00064 0.000633333 0.000633333 0.000613333 0.0006 0.0006 0.00062 +0.000646667 0.00064 0.00064 0.00062 0.000633333 0.000673333 0.00064 0.00064 +0.000666667 0.000666667 0.000653333 0.000633333 0.0006 0.000606667 0.00064 0.000666667 +0.000653333 0.00062 0.000646667 0.000653333 0.000646667 0.00064 0.000646667 0.0007 +0.000713333 0.00068 0.000653333 0.000626667 0.000653333 0.000666667 0.00066 0.00066 +0.000666667 0.00066 0.000653333 0.000673333 0.000713333 0.00068 0.00068 0.000693333 +0.000693333 0.00072 0.000673333 0.000686667 0.000713333 0.000686667 0.00068 0.000693333 +0.00072 0.000726667 0.000693333 0.00072 0.000713333 0.000686667 0.000666667 0.000706667 +0.000746667 0.000713333 0.000693333 0.000706667 0.00072 0.000706667 0.0007 0.000706667 +0.000733333 0.000753333 0.00074 0.0007 0.00068 0.00068 0.000693333 0.000706667 +0.0007 0.000686667 0.000693333 0.000713333 0.000733333 0.000733333 0.000713333 0.000686667 +0.000713333 0.000726667 0.000746667 0.00074 0.00072 0.000733333 0.00072 0.000713333 +0.00072 0.000713333 0.000713333 0.00072 0.000706667 0.00072 0.000713333 0.000713333 +0.00072 0.00068 0.000686667 0.000713333 0.000706667 0.000726667 0.000726667 0.000713333 +0.000706667 0.0007 0.00072 0.00074 0.000713333 0.000706667 0.000713333 0.000706667 +0.000706667 0.00072 0.00072 0.000713333 0.000726667 0.000726667 0.000713333 0.0007 +0.000693333 0.000713333 0.000713333 0.000706667 0.0007 0.0007 0.0007 0.000693333 +0.000686667 0.0007 0.000693333 0.000693333 0.000693333 0.00068 0.000686667 0.000713333 +0.000706667 0.000693333 0.000713333 0.000686667 0.000673333 0.0007 0.000686667 0.000686667 +0.000706667 0.000706667 0.0007 0.00072 0.000713333 0.000693333 0.000693333 0.00068 +0.000646667 0.00066 0.00068 0.000666667 0.000666667 0.000693333 0.000693333 0.00068 +0.00068 0.000693333 0.00068 0.00068 0.000666667 0.000693333 0.0007 0.000673333 +0.00064 0.000646667 0.000666667 0.000653333 0.00066 0.000693333 0.000693333 0.00066 +0.000633333 0.00064 0.00066 0.000673333 0.000693333 0.000693333 0.00066 0.00066 +0.000686667 0.00068 0.000653333 0.000666667 0.00066 0.00066 0.000673333 0.000673333 +0.000673333 0.000646667 0.000653333 0.00066 0.000653333 0.000626667 0.000586667 0.0006 +0.000646667 0.000666667 0.000646667 0.00062 0.000626667 0.000593333 0.000613333 0.00064 +0.000633333 0.00064 0.000646667 0.000626667 0.000593333 0.00062 0.000626667 0.000633333 +0.000666667 0.00068 0.000673333 0.000686667 0.0007 0.0007 0.0007 0.000713333 +0.00074 0.000713333 0.0007 0.000673333 0.000693333 0.000713333 0.000706667 0.000686667 +0.000733333 0.000746667 0.000753333 0.00076 0.000746667 0.000733333 0.00076 0.000786667 +0.00078 0.000933333 0.27848 0.31256 0.27848 0.223573 0.00088 0.00082 +0.0008 0.000813333 0.00084 0.000806667 0.000793333 0.0008 0.00078 0.000806667 +0.000806667 0.00078 0.000786667 0.000753333 0.000773333 0.000933333 0.25576 0.291733 +0.27848 0.23304 0.000893333 0.000806667 0.0008 0.000793333 0.00078 0.00078 +0.000793333 0.00078 0.00076 0.000733333 0.000753333 0.000806667 0.000806667 0.000773333 +0.00076 0.000793333 0.000773333 0.000753333 0.000753333 0.000786667 0.00082 0.000833333 +0.000813333 0.000846667 0.000866667 0.00084 0.000833333 0.000833333 0.00086 0.00088 +0.000846667 0.000866667 0.00086 0.00082 0.000826667 0.00088 0.0009 0.000873333 +0.000866667 0.00086 0.000846667 0.000846667 0.000853333 0.000866667 0.00088 0.00092 +0.0009 0.000873333 0.00088 0.000866667 0.0009 0.000933333 0.0009 0.000886667 +0.000873333 0.0009 0.000906667 0.000913333 0.00088 0.000886667 0.000906667 0.000893333 +0.000906667 0.000946667 0.000966667 0.000953333 0.000966667 0.00098 0.000966667 0.000973333 +0.219787 0.225467 0.22736 0.23872 0.23872 0.231147 0.240613 0.251973 +0.257653 0.269013 0.263333 0.253867 0.270907 0.270907 0.270907 0.280373 +0.280373 0.303093 0.303093 0.3012 0.3012 0.293627 0.299307 0.303093 +0.29552 0.291733 0.303093 0.32392 0.331493 0.325813 0.314453 0.322027 +0.31824 0.316347 0.331493 0.34664 0.337173 0.342853 0.36368 0.36936 +0.354213 0.333387 0.327707 0.316347 0.316347 0.327707 0.314453 0.3012 +0.308773 0.320133 0.322027 0.322027 0.30688 0.291733 0.304987 0.31256 +0.31256 0.342853 0.356107 0.337173 0.344747 0.342853 0.333387 0.327707 +0.31824 0.322027 0.310667 0.303093 0.314453 0.32392 0.31824 0.314453 +0.3012 0.291733 0.3012 0.3012 0.291733 0.304987 0.310667 0.297413 +0.29552 0.297413 0.29552 0.299307 0.291733 0.270907 0.282267 0.3012 +0.308773 0.303093 0.310667 0.316347 0.297413 0.308773 0.31824 0.31824 +0.308773 0.297413 0.29552 0.304987 0.308773 0.30688 0.308773 0.314453 +0.31256 0.310667 0.31824 0.314453 0.299307 0.293627 0.30688 0.308773 +0.314453 0.31824 0.31256 0.310667 0.3296 0.33528 0.342853 0.36368 +0.367467 0.371253 0.361787 0.34096 0.3296 0.308773 0.282267 0.265227 +0.242507 0.000946667 0.000833333 0.000786667 0.000753333 0.000753333 0.00076 0.000753333 +0.000773333 0.00078 0.00084 0.000913333 0.00098 0.229253 0.242507 0.242507 +0.22168 0.000913333 0.0008 0.000746667 0.00072 0.0007 0.000686667 0.000653333 +0.00068 0.000793333 0.000913333 0.231147 0.246293 0.000946667 0.000753333 0.000666667 +0.000613333 0.00062 0.00062 0.000606667 0.000593333 0.00062 0.00064 0.000626667 +0.000626667 0.000626667 0.00062 0.000606667 0.000606667 0.00062 0.000626667 0.000626667 +0.000626667 0.000633333 0.000633333 0.000626667 0.00062 0.00064 0.000646667 0.000646667 +0.00066 0.000626667 0.0006 0.00064 0.00062 0.00062 0.000646667 0.00066 +0.00068 0.000653333 0.000673333 0.000686667 0.000673333 0.000653333 0.000666667 0.000713333 +0.000706667 0.00068 0.00066 0.00066 0.000673333 0.00068 0.00068 0.00068 +0.000693333 0.000713333 0.0007 0.00068 0.000706667 0.00068 0.0007 0.000706667 +0.000693333 0.0007 0.000693333 0.000713333 0.00072 0.000693333 0.000686667 0.000693333 +0.000706667 0.000713333 0.0007 0.000713333 0.00068 0.000693333 0.000706667 0.000726667 +0.000726667 0.000706667 0.000726667 0.00072 0.0007 0.0007 0.000706667 0.000726667 +0.000726667 0.000726667 0.000706667 0.000686667 0.0007 0.000693333 0.000693333 0.000706667 +0.000693333 0.000706667 0.000733333 0.00072 0.00072 0.000706667 0.000693333 0.0007 +0.000746667 0.000726667 0.00072 0.0007 0.00072 0.000713333 0.000733333 0.00074 +0.00072 0.000713333 0.000713333 0.000733333 0.000726667 0.000713333 0.00072 0.000706667 +0.000713333 0.000713333 0.000693333 0.000693333 0.0007 0.000693333 0.000726667 0.000733333 +0.000713333 0.000693333 0.000693333 0.00072 0.0007 0.000686667 0.00068 0.000686667 +0.0007 0.00072 0.0007 0.0007 0.000706667 0.0007 0.00072 0.000713333 +0.000693333 0.0007 0.000726667 0.000726667 0.000713333 0.0007 0.000686667 0.000693333 +0.000686667 0.0007 0.000693333 0.000693333 0.000693333 0.0007 0.000693333 0.0007 +0.000693333 0.00068 0.000706667 0.0007 0.000693333 0.000686667 0.00066 0.000666667 +0.000693333 0.0007 0.000713333 0.00072 0.000713333 0.000713333 0.0007 0.000686667 +0.000673333 0.00068 0.0007 0.00068 0.000673333 0.000673333 0.00066 0.000673333 +0.00066 0.00066 0.00066 0.000673333 0.00066 0.000673333 0.000693333 0.0007 +0.00068 0.00066 0.000666667 0.000666667 0.000653333 0.000653333 0.00066 0.000666667 +0.000646667 0.000646667 0.00064 0.000646667 0.000666667 0.000673333 0.000666667 0.000666667 +0.00068 0.00068 0.000673333 0.000666667 0.000653333 0.00064 0.000653333 0.00066 +0.000653333 0.000633333 0.00066 0.000666667 0.000653333 0.000626667 0.000606667 0.000606667 +0.00062 0.000633333 0.000653333 0.000633333 0.000633333 0.000606667 0.000606667 0.000626667 +0.000626667 0.000613333 0.000633333 0.000613333 0.000613333 0.0006 0.000613333 0.000626667 +0.000633333 0.000646667 0.000666667 0.00068 0.000686667 0.000686667 0.000706667 0.000706667 +0.000713333 0.0007 0.000706667 0.000706667 0.000693333 0.000693333 0.000706667 0.0007 +0.0007 0.000706667 0.000726667 0.000753333 0.000726667 0.00072 0.000746667 0.000806667 +0.00094 0.270907 0.316347 0.27848 0.00096 0.000853333 0.000833333 0.000833333 +0.000826667 0.00082 0.00082 0.000826667 0.000833333 0.000853333 0.000813333 0.0008 +0.00084 0.0008 0.000766667 0.000786667 0.000806667 0.000886667 0.219787 0.265227 +0.29552 0.287947 0.25008 0.00094 0.000873333 0.000853333 0.000813333 0.000806667 +0.000813333 0.00084 0.000873333 0.000846667 0.000813333 0.00086 0.000893333 0.0009 +0.000893333 0.000926667 0.000953333 0.000946667 0.000966667 0.000953333 0.216 0.223573 +0.223573 0.223573 0.242507 0.242507 0.23872 0.240613 0.25008 0.26144 +0.253867 0.259547 0.26144 0.251973 0.246293 0.265227 0.27848 0.274693 +0.269013 0.265227 0.26144 0.26144 0.265227 0.274693 0.280373 0.286053 +0.291733 0.28416 0.280373 0.282267 0.28416 0.29552 0.293627 0.28984 +0.28416 0.28984 0.3012 0.303093 0.297413 0.293627 0.3012 0.297413 +0.293627 0.303093 0.308773 0.30688 0.304987 0.308773 0.310667 0.314453 +0.314453 0.322027 0.331493 0.337173 0.33528 0.322027 0.327707 0.33528 +0.333387 0.34664 0.348533 0.331493 0.339067 0.34096 0.34664 0.35232 +0.337173 0.34096 0.331493 0.32392 0.32392 0.31256 0.310667 0.310667 +0.303093 0.3012 0.310667 0.3296 0.342853 0.322027 0.3012 0.314453 +0.30688 0.297413 0.314453 0.327707 0.325813 0.331493 0.342853 0.348533 +0.339067 0.308773 0.299307 0.287947 0.276587 0.287947 0.28416 0.274693 +0.282267 0.297413 0.297413 0.299307 0.28984 0.282267 0.299307 0.303093 +0.3012 0.31824 0.31824 0.304987 0.303093 0.2728 0.253867 0.269013 +0.2728 0.27848 0.26712 0.269013 0.274693 0.276587 0.2728 0.26712 +0.25008 0.234933 0.242507 0.253867 0.26144 0.263333 0.265227 0.270907 +0.282267 0.28984 0.299307 0.31256 0.310667 0.316347 0.339067 0.365573 +0.382613 0.3864 0.418587 0.439413 0.4432 0.48296 0.510737 0.520211 +0.520211 0.514526 0.513263 0.520842 0.524632 0.525263 0.527789 0.530316 +0.525895 0.520842 0.519579 0.516421 0.509474 0.501263 0.48296 0.464027 +0.43752 0.405333 0.382613 0.359893 0.35232 0.348533 0.339067 0.333387 +0.327707 0.337173 0.342853 0.333387 0.339067 0.361787 0.354213 0.342853 +0.333387 0.30688 0.28416 0.25008 0.219787 0.000966667 0.000993333 0.219787 +0.217893 0.22168 0.242507 0.248187 0.240613 0.231147 0.00098 0.000906667 +0.000793333 0.0007 0.000666667 0.000646667 0.00062 0.000633333 0.00062 0.000613333 +0.00066 0.00066 0.000666667 0.00082 0.223573 0.246293 0.000953333 0.000746667 +0.000666667 0.000666667 0.000653333 0.000613333 0.000613333 0.000626667 0.00066 0.000633333 +0.000613333 0.000606667 0.000593333 0.0006 0.000633333 0.000646667 0.000653333 0.00062 +0.000606667 0.00064 0.00066 0.00064 0.00064 0.00064 0.000673333 0.000666667 +0.000633333 0.000626667 0.000653333 0.000666667 0.000653333 0.000653333 0.000673333 0.000706667 +0.00072 0.000693333 0.000693333 0.0007 0.0007 0.000666667 0.00068 0.0007 +0.0007 0.00068 0.000673333 0.000653333 0.00066 0.00068 0.000686667 0.000686667 +0.00072 0.00072 0.000673333 0.00066 0.0007 0.000706667 0.0007 0.000686667 +0.000673333 0.000686667 0.000693333 0.0007 0.00072 0.0007 0.0007 0.000706667 +0.00072 0.00072 0.000706667 0.0007 0.000686667 0.00072 0.000733333 0.000706667 +0.000693333 0.000713333 0.00072 0.000693333 0.000693333 0.000713333 0.00072 0.000713333 +0.000686667 0.00072 0.000706667 0.000686667 0.000693333 0.000666667 0.000686667 0.000726667 +0.000726667 0.00072 0.000706667 0.000686667 0.000726667 0.000733333 0.000733333 0.00074 +0.000746667 0.00072 0.000726667 0.000726667 0.00076 0.000733333 0.000726667 0.000733333 +0.000733333 0.000726667 0.00072 0.000713333 0.000733333 0.000726667 0.000726667 0.00072 +0.000706667 0.000713333 0.00072 0.000733333 0.000733333 0.0007 0.000706667 0.000713333 +0.000713333 0.000713333 0.000693333 0.000713333 0.000726667 0.000713333 0.000693333 0.000686667 +0.000686667 0.000713333 0.000726667 0.000706667 0.000686667 0.000686667 0.0007 0.000706667 +0.00072 0.000693333 0.000693333 0.0007 0.0007 0.00072 0.000706667 0.0007 +0.00068 0.000693333 0.000706667 0.0007 0.00068 0.000686667 0.000686667 0.00068 +0.00068 0.000673333 0.000673333 0.000686667 0.0007 0.0007 0.000686667 0.000686667 +0.00068 0.00068 0.000693333 0.00072 0.0007 0.00068 0.0007 0.0007 +0.000686667 0.000686667 0.0007 0.000693333 0.000686667 0.000686667 0.000666667 0.000686667 +0.000693333 0.00068 0.000653333 0.000646667 0.000653333 0.000673333 0.000666667 0.000673333 +0.000693333 0.000706667 0.0007 0.00068 0.000686667 0.00068 0.000653333 0.00064 +0.00064 0.000646667 0.000653333 0.000653333 0.000653333 0.000633333 0.000633333 0.000653333 +0.000673333 0.000666667 0.000673333 0.000686667 0.00068 0.00066 0.000653333 0.000646667 +0.000646667 0.000626667 0.000646667 0.00066 0.000653333 0.000626667 0.000613333 0.000613333 +0.00062 0.000613333 0.00062 0.00062 0.00064 0.000613333 0.0006 0.000613333 +0.000613333 0.000606667 0.000593333 0.000613333 0.000646667 0.00062 0.00062 0.000653333 +0.000653333 0.000633333 0.000646667 0.00066 0.00066 0.00068 0.0007 0.000693333 +0.000693333 0.000706667 0.000706667 0.000706667 0.0007 0.000686667 0.0007 0.00074 +0.00072 0.000706667 0.00072 0.000746667 0.000753333 0.00074 0.000733333 0.000893333 +0.270907 0.314453 0.27848 0.000993333 0.000866667 0.000826667 0.0008 0.000806667 +0.000826667 0.000826667 0.0008 0.000806667 0.000826667 0.000866667 0.000873333 0.000853333 +0.000873333 0.000866667 0.00082 0.000833333 0.000853333 0.00086 0.000926667 0.231147 +0.280373 0.316347 0.316347 0.287947 0.263333 0.2444 0.229253 0.231147 +0.236827 0.246293 0.263333 0.270907 0.263333 0.269013 0.28416 0.299307 +0.299307 0.3012 0.303093 0.303093 0.308773 0.31824 0.3296 0.339067 +0.339067 0.33528 0.344747 0.344747 0.339067 0.34096 0.344747 0.354213 +0.344747 0.342853 0.35232 0.359893 0.354213 0.356107 0.365573 0.365573 +0.359893 0.350427 0.35232 0.350427 0.342853 0.354213 0.359893 0.358 +0.373147 0.365573 0.356107 0.359893 0.35232 0.348533 0.34664 0.348533 +0.342853 0.342853 0.358 0.358 0.358 0.356107 0.356107 0.35232 +0.33528 0.331493 0.339067 0.337173 0.327707 0.32392 0.327707 0.3296 +0.331493 0.348533 0.358 0.356107 0.344747 0.31824 0.31824 0.3296 +0.320133 0.320133 0.3296 0.316347 0.314453 0.31824 0.337173 0.33528 +0.322027 0.31824 0.28984 0.28416 0.291733 0.287947 0.28984 0.286053 +0.28416 0.293627 0.29552 0.29552 0.316347 0.310667 0.282267 0.29552 +0.3012 0.28984 0.299307 0.314453 0.303093 0.28416 0.274693 0.27848 +0.287947 0.286053 0.291733 0.287947 0.286053 0.291733 0.28984 0.291733 +0.29552 0.282267 0.263333 0.274693 0.286053 0.280373 0.274693 0.274693 +0.26712 0.257653 0.248187 0.2444 0.240613 0.000993333 0.000973333 0.219787 +0.22736 0.23872 0.223573 0.22736 0.242507 0.248187 0.251973 0.257653 +0.263333 0.26144 0.280373 0.316347 0.342853 0.361787 0.388293 0.428053 +0.486747 0.513895 0.530316 0.544842 0.556842 0.572632 0.588421 0.605474 +0.622526 0.635158 0.655368 0.673053 0.684421 0.704 0.728 0.747579 +0.752632 0.747579 0.746316 0.753263 0.755789 0.758947 0.764632 0.767789 +0.763368 0.753895 0.748842 0.750105 0.744421 0.731789 0.715368 0.698947 +0.68 0.658526 0.637053 0.616842 0.597895 0.575789 0.551789 0.524 +0.501263 0.450773 0.416693 0.384507 0.36368 0.367467 0.359893 0.35232 +0.356107 0.361787 0.365573 0.342853 0.310667 0.28416 0.276587 0.27848 +0.265227 0.257653 0.246293 0.229253 0.000966667 0.000886667 0.000813333 0.000733333 +0.000686667 0.000653333 0.000693333 0.000673333 0.00064 0.000646667 0.000633333 0.00066 +0.00068 0.000626667 0.00062 0.0007 0.000866667 0.240613 0.246293 0.000906667 +0.000726667 0.00068 0.00064 0.00062 0.00062 0.000633333 0.000673333 0.000633333 +0.00062 0.00062 0.000606667 0.00062 0.000646667 0.00066 0.000653333 0.000626667 +0.00062 0.00068 0.000686667 0.00066 0.00064 0.00066 0.000666667 0.000626667 +0.00064 0.00066 0.000653333 0.000653333 0.000666667 0.00066 0.000693333 0.000733333 +0.000713333 0.000666667 0.000686667 0.000693333 0.000686667 0.000666667 0.000673333 0.0007 +0.000693333 0.000673333 0.00066 0.00066 0.000653333 0.00068 0.000686667 0.00068 +0.000686667 0.000693333 0.000673333 0.00068 0.000713333 0.000693333 0.000666667 0.000693333 +0.00068 0.0007 0.000686667 0.000693333 0.000726667 0.000713333 0.000713333 0.00072 +0.00072 0.000706667 0.0007 0.0007 0.00072 0.000713333 0.00072 0.00072 +0.000706667 0.000713333 0.000706667 0.000693333 0.000693333 0.000713333 0.000706667 0.000673333 +0.00068 0.000733333 0.00072 0.000686667 0.00068 0.000686667 0.000726667 0.000746667 +0.00076 0.000726667 0.000686667 0.000693333 0.000733333 0.000746667 0.000733333 0.000713333 +0.000713333 0.000713333 0.000746667 0.000746667 0.000746667 0.000746667 0.00074 0.000746667 +0.000733333 0.000726667 0.000733333 0.000733333 0.000713333 0.000733333 0.000733333 0.00074 +0.000726667 0.000706667 0.000706667 0.000726667 0.00074 0.00072 0.00072 0.000713333 +0.0007 0.000713333 0.0007 0.0007 0.00072 0.000726667 0.000713333 0.0007 +0.000693333 0.000693333 0.000713333 0.000733333 0.000706667 0.0007 0.000713333 0.000686667 +0.000706667 0.000713333 0.000726667 0.000706667 0.000686667 0.0007 0.000706667 0.0007 +0.0007 0.000706667 0.000706667 0.000713333 0.000693333 0.000693333 0.0007 0.000693333 +0.000686667 0.000686667 0.000693333 0.00068 0.000673333 0.00068 0.00068 0.0007 +0.0007 0.000673333 0.000653333 0.000673333 0.000686667 0.000673333 0.000673333 0.000693333 +0.00068 0.000693333 0.000713333 0.0007 0.00068 0.000673333 0.000673333 0.00068 +0.000706667 0.000706667 0.000673333 0.000646667 0.00064 0.000646667 0.000646667 0.000653333 +0.00066 0.000686667 0.000693333 0.000673333 0.000686667 0.0007 0.000693333 0.000666667 +0.00066 0.000666667 0.000666667 0.000673333 0.000673333 0.000673333 0.000633333 0.00064 +0.000646667 0.000646667 0.00066 0.000653333 0.000653333 0.000673333 0.00066 0.00066 +0.000646667 0.000626667 0.000626667 0.000646667 0.000626667 0.000613333 0.000606667 0.000606667 +0.0006 0.000606667 0.0006 0.000606667 0.000606667 0.000613333 0.000626667 0.000613333 +0.000586667 0.0006 0.00058 0.000586667 0.000633333 0.000626667 0.00064 0.000666667 +0.000666667 0.000653333 0.00064 0.00064 0.000646667 0.00066 0.00068 0.000666667 +0.000666667 0.00066 0.000673333 0.0007 0.000713333 0.00068 0.000666667 0.000693333 +0.000693333 0.000713333 0.000706667 0.0007 0.000726667 0.000773333 0.00086 0.2444 +0.310667 0.286053 0.000986667 0.000833333 0.000813333 0.000806667 0.000773333 0.000786667 +0.000813333 0.000813333 0.00078 0.000753333 0.000786667 0.00082 0.000866667 0.000866667 +0.00086 0.000873333 0.000866667 0.00088 0.000893333 0.000853333 0.000893333 0.000993333 +0.246293 0.286053 0.322027 0.34096 0.342853 0.34096 0.342853 0.344747 +0.358 0.371253 0.382613 0.3864 0.38072 0.37504 0.38072 0.3864 +0.384507 0.378827 0.378827 0.371253 0.361787 0.373147 0.38072 0.384507 +0.376933 0.367467 0.36368 0.358 0.361787 0.361787 0.358 0.358 +0.361787 0.35232 0.358 0.373147 0.358 0.34664 0.354213 0.348533 +0.339067 0.33528 0.344747 0.344747 0.33528 0.339067 0.34096 0.34096 +0.354213 0.337173 0.320133 0.325813 0.331493 0.331493 0.32392 0.322027 +0.322027 0.31824 0.327707 0.333387 0.3296 0.322027 0.31256 0.31256 +0.31256 0.308773 0.310667 0.310667 0.30688 0.308773 0.303093 0.304987 +0.310667 0.314453 0.310667 0.310667 0.31256 0.304987 0.3012 0.304987 +0.30688 0.299307 0.303093 0.297413 0.303093 0.3012 0.297413 0.299307 +0.29552 0.310667 0.299307 0.291733 0.303093 0.308773 0.304987 0.29552 +0.29552 0.299307 0.280373 0.263333 0.286053 0.293627 0.265227 0.259547 +0.253867 0.242507 0.23872 0.248187 0.23304 0.216 0.000993333 0.216 +0.22168 0.223573 0.234933 0.23872 0.25008 0.25008 0.23872 0.242507 +0.25008 0.23304 0.000973333 0.219787 0.236827 0.231147 0.223573 0.219787 +0.216 0.000993333 0.216 0.217893 0.22168 0.216 0.217893 0.229253 +0.242507 0.259547 0.263333 0.293627 0.32392 0.356107 0.3864 0.42616 +0.475387 0.508842 0.532211 0.561895 0.589684 0.613684 0.638947 0.668632 +0.701474 0.728632 0.755158 0.776632 0.794316 0.813895 0.829053 0.847368 +0.863789 0.875158 0.890947 0.904211 0.911789 0.921263 0.934526 0.947789 +0.950947 0.947789 0.945895 0.951579 0.954105 0.956 0.959158 0.961684 +0.961684 0.953474 0.947789 0.950947 0.950316 0.944632 0.935158 0.926947 +0.915579 0.900421 0.881474 0.866316 0.848632 0.822737 0.792421 0.755158 +0.719789 0.680632 0.644632 0.609263 0.571368 0.537895 0.512 0.46592 +0.42048 0.395867 0.382613 0.367467 0.344747 0.31256 0.2728 0.248187 +0.231147 0.000986667 0.000873333 0.000813333 0.0008 0.000766667 0.000726667 0.00068 +0.000693333 0.000706667 0.000693333 0.000666667 0.00066 0.000653333 0.000653333 0.00068 +0.000666667 0.00064 0.00064 0.000673333 0.000733333 0.000933333 0.253867 0.23304 +0.000813333 0.000686667 0.000653333 0.000633333 0.000633333 0.000653333 0.000666667 0.00064 +0.00062 0.00064 0.000633333 0.00062 0.000633333 0.000653333 0.000646667 0.00062 +0.000646667 0.00068 0.000673333 0.00064 0.00062 0.00064 0.000653333 0.00064 +0.00068 0.000653333 0.00064 0.000666667 0.000693333 0.000673333 0.000686667 0.0007 +0.00068 0.000666667 0.000686667 0.000673333 0.000666667 0.00066 0.000666667 0.00068 +0.000673333 0.00068 0.00068 0.000673333 0.000666667 0.000693333 0.000693333 0.000666667 +0.000686667 0.000706667 0.000713333 0.0007 0.000693333 0.000673333 0.000673333 0.00072 +0.000693333 0.000693333 0.00068 0.000713333 0.00074 0.00072 0.000726667 0.00072 +0.000713333 0.0007 0.000693333 0.000706667 0.000706667 0.000693333 0.0007 0.000713333 +0.000713333 0.00068 0.00068 0.000686667 0.000673333 0.000686667 0.00068 0.00066 +0.000693333 0.00074 0.00072 0.000693333 0.0007 0.000726667 0.000733333 0.00074 +0.00074 0.000706667 0.000686667 0.00072 0.00074 0.000733333 0.000706667 0.000693333 +0.000706667 0.00074 0.00076 0.000726667 0.000733333 0.00072 0.000733333 0.000766667 +0.000766667 0.00074 0.000713333 0.000733333 0.000713333 0.000713333 0.000726667 0.000733333 +0.000726667 0.000733333 0.000713333 0.0007 0.00072 0.000713333 0.00072 0.000733333 +0.00074 0.00072 0.00072 0.000713333 0.000706667 0.000706667 0.000713333 0.000706667 +0.000693333 0.000693333 0.0007 0.000713333 0.000706667 0.000713333 0.000726667 0.000713333 +0.0007 0.0007 0.000713333 0.000713333 0.00072 0.00072 0.0007 0.00068 +0.000666667 0.000686667 0.000706667 0.000706667 0.000693333 0.000686667 0.0007 0.000713333 +0.00072 0.000693333 0.000713333 0.000706667 0.00068 0.00068 0.000666667 0.00066 +0.000686667 0.000693333 0.000673333 0.00066 0.000666667 0.000666667 0.000673333 0.000673333 +0.000653333 0.00068 0.000706667 0.000693333 0.000666667 0.000666667 0.000673333 0.000666667 +0.000686667 0.000693333 0.000686667 0.00066 0.000653333 0.00064 0.000626667 0.000646667 +0.000653333 0.000666667 0.000666667 0.00064 0.000653333 0.000666667 0.00068 0.000666667 +0.000666667 0.00068 0.000673333 0.000653333 0.00068 0.000666667 0.00066 0.000646667 +0.000646667 0.000653333 0.000686667 0.000673333 0.000626667 0.000626667 0.00064 0.000666667 +0.000673333 0.000626667 0.00062 0.000646667 0.00062 0.00058 0.000593333 0.00062 +0.000586667 0.00056 0.000573333 0.0006 0.0006 0.000606667 0.000633333 0.000613333 +0.000593333 0.000586667 0.000573333 0.000586667 0.000606667 0.00062 0.000633333 0.00064 +0.000653333 0.00066 0.000653333 0.000653333 0.00064 0.000646667 0.000653333 0.000653333 +0.000666667 0.000646667 0.000626667 0.000653333 0.000686667 0.000666667 0.00066 0.000673333 +0.000673333 0.000686667 0.000686667 0.000686667 0.000713333 0.000826667 0.23872 0.293627 +0.270907 0.00098 0.000846667 0.000786667 0.000753333 0.000753333 0.000766667 0.000766667 +0.000766667 0.00078 0.00076 0.00078 0.000833333 0.00084 0.000866667 0.000873333 +0.000853333 0.000906667 0.00096 0.000973333 0.000986667 0.000993333 0.234933 0.25576 +0.259547 0.274693 0.299307 0.33528 0.361787 0.373147 0.38072 0.384507 +0.390187 0.399653 0.407227 0.395867 0.376933 0.371253 0.36936 0.36368 +0.365573 0.358 0.367467 0.36368 0.35232 0.350427 0.34096 0.331493 +0.31824 0.31256 0.316347 0.327707 0.325813 0.316347 0.316347 0.310667 +0.310667 0.30688 0.310667 0.308773 0.293627 0.280373 0.287947 0.287947 +0.287947 0.28984 0.293627 0.297413 0.291733 0.28416 0.28416 0.291733 +0.29552 0.269013 0.246293 0.25576 0.2728 0.287947 0.286053 0.2728 +0.2728 0.263333 0.263333 0.280373 0.276587 0.257653 0.23872 0.23872 +0.25008 0.263333 0.26144 0.259547 0.263333 0.269013 0.25576 0.251973 +0.253867 0.248187 0.236827 0.240613 0.25008 0.263333 0.263333 0.25008 +0.253867 0.25008 0.248187 0.242507 0.257653 0.257653 0.234933 0.23304 +0.229253 0.248187 0.251973 0.246293 0.257653 0.26712 0.253867 0.23872 +0.242507 0.234933 0.217893 0.000966667 0.22168 0.22168 0.000946667 0.00092 +0.000893333 0.000873333 0.00088 0.00092 0.000886667 0.00088 0.000913333 0.00094 +0.00092 0.000893333 0.0009 0.00092 0.00096 0.000933333 0.000906667 0.000913333 +0.000953333 0.00094 0.000906667 0.000913333 0.00096 0.00098 0.00098 0.00098 +0.000993333 0.231147 0.240613 0.25008 0.27848 0.299307 0.327707 0.376933 +0.429947 0.48864 0.520842 0.554947 0.580842 0.609263 0.640211 0.667368 +0.695158 0.727368 0.764632 0.800632 0.827158 0.849895 0.875789 0.900421 +0.919368 0.933895 0.948421 0.955368 0.961684 0.973053 0.977474 0.978737 +0.980327 0.982612 0.984571 0.984245 0.982939 0.982939 0.984571 0.987184 +0.985878 0.983592 0.981306 0.982939 0.986204 0.988163 0.98849 0.989143 +0.989469 0.986531 0.984898 0.985224 0.984571 0.985224 0.987184 0.988163 +0.98751 0.987184 0.985878 0.985551 0.983918 0.978105 0.968632 0.954737 +0.935158 0.913684 0.889053 0.851789 0.808842 0.759579 0.712842 0.662316 +0.611789 0.568211 0.527158 0.473493 0.390187 0.344747 0.299307 0.257653 +0.234933 0.000966667 0.000846667 0.000766667 0.000753333 0.000753333 0.000693333 0.000686667 +0.00072 0.000733333 0.00066 0.00066 0.00068 0.000666667 0.000686667 0.000686667 +0.00066 0.000646667 0.000646667 0.00066 0.000686667 0.000806667 0.231147 0.251973 +0.000906667 0.000733333 0.000666667 0.00064 0.000646667 0.000646667 0.00066 0.000646667 +0.00064 0.00064 0.000633333 0.00062 0.00064 0.000666667 0.000633333 0.00062 +0.00064 0.000653333 0.000666667 0.00064 0.000613333 0.000653333 0.000686667 0.00068 +0.000666667 0.000633333 0.00064 0.00068 0.000673333 0.000673333 0.00066 0.000666667 +0.000686667 0.000686667 0.000673333 0.000666667 0.000693333 0.000673333 0.000653333 0.00066 +0.000686667 0.000706667 0.000693333 0.000666667 0.000673333 0.000693333 0.00068 0.00068 +0.00072 0.00072 0.00068 0.000666667 0.000666667 0.000673333 0.0007 0.000713333 +0.000693333 0.00068 0.00068 0.000726667 0.000726667 0.0007 0.000706667 0.0007 +0.000686667 0.000686667 0.000706667 0.000693333 0.000666667 0.000693333 0.0007 0.0007 +0.000693333 0.000673333 0.00068 0.000693333 0.000693333 0.0007 0.0007 0.0007 +0.00072 0.000726667 0.000713333 0.000713333 0.000733333 0.000726667 0.000713333 0.000713333 +0.00072 0.000713333 0.0007 0.000726667 0.000726667 0.000706667 0.000706667 0.000713333 +0.000713333 0.000733333 0.00072 0.000686667 0.000726667 0.00072 0.000706667 0.000726667 +0.000766667 0.000746667 0.00072 0.00074 0.000733333 0.00072 0.000713333 0.00072 +0.000713333 0.000733333 0.000733333 0.00072 0.000706667 0.000686667 0.000693333 0.000693333 +0.000726667 0.000726667 0.00072 0.0007 0.000706667 0.0007 0.000706667 0.000726667 +0.0007 0.000706667 0.000726667 0.00072 0.000686667 0.000706667 0.000706667 0.000713333 +0.00072 0.000706667 0.000706667 0.000686667 0.000693333 0.000726667 0.000726667 0.000713333 +0.000686667 0.000673333 0.000693333 0.000686667 0.000686667 0.000686667 0.0007 0.000713333 +0.000706667 0.000686667 0.000693333 0.00072 0.000713333 0.0007 0.00068 0.000673333 +0.00068 0.00068 0.000686667 0.000706667 0.000693333 0.000666667 0.000673333 0.00068 +0.00066 0.000653333 0.000666667 0.000673333 0.000666667 0.000686667 0.000673333 0.000673333 +0.000693333 0.000686667 0.00066 0.000653333 0.000653333 0.000666667 0.00066 0.00064 +0.000626667 0.000653333 0.000686667 0.000673333 0.000646667 0.000633333 0.000646667 0.000653333 +0.000646667 0.000653333 0.00066 0.000653333 0.000646667 0.00064 0.00064 0.000646667 +0.000633333 0.000626667 0.000666667 0.000686667 0.00066 0.000646667 0.00062 0.000633333 +0.000653333 0.000646667 0.000653333 0.00066 0.000633333 0.000606667 0.000606667 0.000626667 +0.000606667 0.000566667 0.000546667 0.000566667 0.000606667 0.000626667 0.00062 0.00058 +0.000593333 0.000586667 0.000606667 0.000633333 0.000613333 0.000606667 0.00062 0.000633333 +0.000666667 0.000653333 0.00066 0.000686667 0.00068 0.000673333 0.000653333 0.00064 +0.000646667 0.000666667 0.000666667 0.00062 0.000626667 0.00066 0.00068 0.000673333 +0.000686667 0.000706667 0.000713333 0.000753333 0.00088 0.240613 0.293627 0.282267 +0.000986667 0.0008 0.000766667 0.000766667 0.00074 0.000726667 0.00076 0.000793333 +0.000813333 0.0008 0.000813333 0.000906667 0.216 0.219787 0.223573 0.231147 +0.236827 0.253867 0.270907 0.26712 0.26144 0.274693 0.299307 0.29552 +0.282267 0.287947 0.3012 0.31256 0.331493 0.350427 0.35232 0.34664 +0.34096 0.342853 0.342853 0.32392 0.310667 0.314453 0.325813 0.325813 +0.31824 0.308773 0.310667 0.31256 0.30688 0.310667 0.3012 0.274693 +0.259547 0.25576 0.265227 0.276587 0.274693 0.259547 0.257653 0.263333 +0.251973 0.246293 0.25008 0.23872 0.223573 0.217893 0.22736 0.22736 +0.229253 0.231147 0.225467 0.225467 0.22736 0.22168 0.219787 0.217893 +0.223573 0.000986667 0.000946667 0.000953333 0.000973333 0.216 0.22168 0.000993333 +0.000973333 0.00096 0.00096 0.00096 0.000946667 0.000906667 0.0009 0.0009 +0.00088 0.000933333 0.000953333 0.000946667 0.000946667 0.000946667 0.000926667 0.000913333 +0.0009 0.00092 0.000933333 0.00092 0.000913333 0.00094 0.000946667 0.000906667 +0.00092 0.000926667 0.000933333 0.000906667 0.00092 0.00096 0.00092 0.000893333 +0.000886667 0.000926667 0.000926667 0.000913333 0.00094 0.000966667 0.000933333 0.000873333 +0.000893333 0.00088 0.000866667 0.000893333 0.000926667 0.00094 0.000893333 0.000846667 +0.00084 0.00084 0.000866667 0.000906667 0.000893333 0.00088 0.000893333 0.000926667 +0.000913333 0.000913333 0.000893333 0.000906667 0.000953333 0.000946667 0.000926667 0.00094 +0.000973333 0.22168 0.217893 0.216 0.229253 0.251973 0.269013 0.291733 +0.3296 0.38072 0.43184 0.490533 0.528421 0.560632 0.596 0.630737 +0.669263 0.707158 0.747579 0.790526 0.819579 0.848632 0.874526 0.896632 +0.914316 0.933263 0.952211 0.970526 0.976842 0.98 0.982286 0.982939 +0.983265 0.982939 0.983265 0.981306 0.98 0.980653 0.980327 0.975579 +0.970526 0.971789 0.971789 0.964842 0.957895 0.959158 0.961053 0.962947 +0.959158 0.957263 0.952211 0.954105 0.961053 0.967368 0.969263 0.972421 +0.971158 0.966737 0.964842 0.961053 0.959158 0.962947 0.968632 0.967368 +0.969263 0.974947 0.98 0.983265 0.984898 0.984898 0.985224 0.986204 +0.985224 0.98751 0.987837 0.981959 0.971158 0.953474 0.927579 0.894737 +0.853053 0.801895 0.734316 0.662316 0.592211 0.538526 0.492427 0.393973 +0.327707 0.27848 0.23872 0.000946667 0.000853333 0.000806667 0.000733333 0.000726667 +0.000733333 0.000733333 0.00068 0.000686667 0.00072 0.000693333 0.000706667 0.000673333 +0.000653333 0.000666667 0.000666667 0.00068 0.00068 0.000733333 0.000933333 0.25008 +0.217893 0.000766667 0.000666667 0.000653333 0.000646667 0.000633333 0.000646667 0.00066 +0.000633333 0.000633333 0.000646667 0.00064 0.000626667 0.000646667 0.00064 0.000646667 +0.000653333 0.00064 0.000666667 0.00066 0.000666667 0.000686667 0.000686667 0.000653333 +0.00064 0.000626667 0.000646667 0.00068 0.000673333 0.00066 0.000646667 0.000673333 +0.000686667 0.000666667 0.000653333 0.00068 0.0007 0.000666667 0.000646667 0.000666667 +0.000693333 0.000713333 0.000686667 0.000666667 0.000666667 0.00068 0.000706667 0.000686667 +0.0007 0.000666667 0.00064 0.000673333 0.00068 0.000666667 0.00068 0.00068 +0.00068 0.000693333 0.0007 0.0007 0.00068 0.00068 0.000686667 0.000693333 +0.00068 0.00072 0.000726667 0.000693333 0.000686667 0.000706667 0.0007 0.000713333 +0.0007 0.0007 0.0007 0.000713333 0.000713333 0.000706667 0.000693333 0.0007 +0.000706667 0.000713333 0.00072 0.00072 0.000713333 0.000706667 0.0007 0.000693333 +0.000706667 0.000713333 0.000706667 0.000713333 0.0007 0.000713333 0.000733333 0.00072 +0.0007 0.000706667 0.000706667 0.000713333 0.000726667 0.000726667 0.00072 0.00074 +0.00076 0.000726667 0.00072 0.000726667 0.000726667 0.00074 0.000713333 0.000706667 +0.000706667 0.000713333 0.000726667 0.000733333 0.000733333 0.000706667 0.000693333 0.000693333 +0.0007 0.000706667 0.000713333 0.0007 0.000706667 0.000706667 0.000686667 0.000706667 +0.000713333 0.000706667 0.000713333 0.00072 0.000706667 0.000706667 0.000693333 0.0007 +0.000713333 0.000706667 0.000706667 0.000706667 0.00068 0.000686667 0.000713333 0.000713333 +0.00072 0.000713333 0.0007 0.00068 0.00068 0.00068 0.0007 0.000706667 +0.0007 0.000686667 0.000693333 0.000706667 0.000706667 0.000693333 0.0007 0.000706667 +0.0007 0.000686667 0.000673333 0.000686667 0.000713333 0.0007 0.0007 0.000693333 +0.00068 0.000666667 0.000666667 0.000666667 0.00066 0.00068 0.000673333 0.000673333 +0.000686667 0.000686667 0.000673333 0.00066 0.000653333 0.000666667 0.000686667 0.000673333 +0.000633333 0.000613333 0.000633333 0.00066 0.00066 0.00064 0.000626667 0.00064 +0.000653333 0.00064 0.000653333 0.000666667 0.000666667 0.000633333 0.00064 0.000653333 +0.000646667 0.000633333 0.000646667 0.000633333 0.00066 0.000673333 0.000633333 0.0006 +0.000606667 0.00062 0.000653333 0.000646667 0.000606667 0.000593333 0.000626667 0.000646667 +0.000613333 0.00058 0.00058 0.00058 0.000573333 0.000593333 0.000606667 0.0006 +0.000593333 0.000586667 0.000613333 0.000646667 0.00064 0.000633333 0.000606667 0.00062 +0.000653333 0.000653333 0.000673333 0.000693333 0.000693333 0.000706667 0.0007 0.00068 +0.000653333 0.000673333 0.000693333 0.000666667 0.00064 0.000633333 0.00066 0.000673333 +0.0007 0.00072 0.000786667 0.000953333 0.263333 0.310667 0.282267 0.000993333 +0.000826667 0.000773333 0.000773333 0.000806667 0.000833333 0.00084 0.00086 0.00092 +0.00098 0.22168 0.242507 0.26712 0.26712 0.257653 0.259547 0.280373 +0.29552 0.304987 0.31256 0.314453 0.308773 0.314453 0.33528 0.34096 +0.34096 0.358 0.38072 0.384507 0.39208 0.418587 0.435627 0.422373 +0.416693 0.424267 0.429947 0.424267 0.418587 0.42616 0.428053 0.424267 +0.42048 0.412907 0.399653 0.395867 0.388293 0.3864 0.373147 0.350427 +0.333387 0.320133 0.320133 0.304987 0.293627 0.280373 0.26712 0.263333 +0.25008 0.2444 0.242507 0.23872 0.223573 0.000973333 0.000986667 0.217893 +0.00098 0.00096 0.000966667 0.00096 0.00096 0.00094 0.000906667 0.0009 +0.000926667 0.000913333 0.000886667 0.000893333 0.000873333 0.000873333 0.000926667 0.00092 +0.000886667 0.000873333 0.00088 0.000866667 0.000833333 0.00084 0.000873333 0.00088 +0.00082 0.00084 0.000873333 0.000873333 0.000873333 0.000873333 0.000866667 0.000873333 +0.000853333 0.000873333 0.000913333 0.00088 0.000866667 0.000886667 0.000886667 0.00086 +0.000893333 0.000906667 0.00094 0.000926667 0.0009 0.0009 0.000886667 0.000886667 +0.000893333 0.00092 0.00092 0.0009 0.0009 0.00094 0.00094 0.0009 +0.0009 0.0009 0.0009 0.0009 0.000933333 0.000973333 0.00094 0.00088 +0.000853333 0.000866667 0.0009 0.00092 0.000906667 0.00092 0.00094 0.00096 +0.000966667 0.00098 0.000966667 0.216 0.229253 0.22736 0.231147 0.23872 +0.257653 0.28416 0.304987 0.34664 0.40344 0.4716 0.519579 0.556211 +0.595368 0.634526 0.669895 0.708421 0.754526 0.796842 0.834105 0.865053 +0.896632 0.916211 0.938316 0.957895 0.965474 0.975579 0.980327 0.980653 +0.98 0.980653 0.982286 0.983592 0.982939 0.981633 0.971789 0.964842 +0.962947 0.959158 0.956632 0.952211 0.948421 0.947789 0.949684 0.948421 +0.945895 0.945895 0.943368 0.936421 0.932 0.935158 0.939579 0.942737 +0.943368 0.942105 0.938947 0.939579 0.944 0.949053 0.954737 0.957895 +0.954105 0.950316 0.947789 0.944632 0.942737 0.947158 0.948421 0.943368 +0.942105 0.944 0.949684 0.956 0.959789 0.962316 0.961053 0.963579 +0.966737 0.975579 0.982286 0.985551 0.986857 0.987837 0.987837 0.987184 +0.984571 0.972421 0.936421 0.886526 0.825895 0.757684 0.683158 0.607368 +0.542316 0.484853 0.376933 0.299307 0.25008 0.223573 0.00096 0.00086 +0.000813333 0.0008 0.00074 0.000706667 0.0007 0.000693333 0.000673333 0.000633333 +0.000646667 0.000693333 0.000673333 0.000653333 0.000653333 0.00068 0.000853333 0.25008 +0.2444 0.00082 0.000686667 0.000666667 0.000646667 0.000646667 0.00066 0.00064 +0.000626667 0.00066 0.00068 0.000653333 0.000613333 0.00064 0.000666667 0.00066 +0.000666667 0.000646667 0.000653333 0.00068 0.00068 0.00066 0.000646667 0.00062 +0.000626667 0.000633333 0.000633333 0.00066 0.000673333 0.00066 0.000646667 0.000673333 +0.000673333 0.000653333 0.000693333 0.000726667 0.0007 0.00066 0.000653333 0.000673333 +0.000693333 0.0007 0.000686667 0.000673333 0.000673333 0.000686667 0.0007 0.000673333 +0.00068 0.00068 0.000686667 0.0007 0.000693333 0.00066 0.000653333 0.000666667 +0.0007 0.000693333 0.000686667 0.000693333 0.000686667 0.000686667 0.0007 0.00072 +0.00072 0.000733333 0.000706667 0.000686667 0.000693333 0.000686667 0.000686667 0.000706667 +0.0007 0.000706667 0.000713333 0.000713333 0.0007 0.000673333 0.000666667 0.000686667 +0.00072 0.00074 0.000713333 0.0007 0.000686667 0.000693333 0.000706667 0.000713333 +0.000706667 0.000686667 0.000686667 0.000706667 0.00072 0.00074 0.000713333 0.000706667 +0.0007 0.00072 0.000726667 0.000733333 0.00072 0.00072 0.00072 0.000726667 +0.000753333 0.000753333 0.00076 0.000726667 0.000713333 0.000753333 0.00076 0.00074 +0.000713333 0.000713333 0.000726667 0.000706667 0.000713333 0.000713333 0.0007 0.000706667 +0.000706667 0.000686667 0.000693333 0.000706667 0.000706667 0.000706667 0.000686667 0.00068 +0.000673333 0.000693333 0.000706667 0.0007 0.000706667 0.000713333 0.000706667 0.000706667 +0.000713333 0.0007 0.000693333 0.000706667 0.000706667 0.000686667 0.000693333 0.000686667 +0.00068 0.0007 0.000733333 0.000713333 0.000693333 0.000673333 0.000686667 0.000693333 +0.000686667 0.000693333 0.0007 0.00068 0.00068 0.000693333 0.0007 0.000706667 +0.000713333 0.000713333 0.000686667 0.00066 0.00066 0.000673333 0.000693333 0.000693333 +0.000686667 0.000693333 0.000693333 0.000686667 0.00068 0.00068 0.00066 0.000666667 +0.000673333 0.00066 0.00066 0.00066 0.000666667 0.000666667 0.000666667 0.000686667 +0.000666667 0.000653333 0.000626667 0.000613333 0.000633333 0.000646667 0.000646667 0.000646667 +0.00064 0.000646667 0.000646667 0.000653333 0.000666667 0.000653333 0.000626667 0.000646667 +0.00064 0.00064 0.000646667 0.000633333 0.00064 0.00066 0.00064 0.00066 +0.00062 0.000606667 0.000633333 0.00064 0.00062 0.000586667 0.000606667 0.000626667 +0.0006 0.000586667 0.0006 0.000586667 0.000573333 0.00056 0.000553333 0.000586667 +0.0006 0.0006 0.000626667 0.000626667 0.00064 0.000666667 0.000633333 0.000613333 +0.000626667 0.00064 0.000666667 0.000673333 0.000673333 0.00066 0.000666667 0.000693333 +0.00068 0.000686667 0.000693333 0.0007 0.000686667 0.000646667 0.000666667 0.000713333 +0.0008 0.000906667 0.234933 0.286053 0.3012 0.26712 0.000986667 0.000873333 +0.00088 0.00092 0.000953333 0.000986667 0.22168 0.236827 0.25008 0.263333 +0.276587 0.28984 0.322027 0.348533 0.331493 0.331493 0.371253 0.424267 +0.475387 0.508211 0.523368 0.536 0.550526 0.563789 0.575158 0.589053 +0.602947 0.616842 0.630737 0.640211 0.645895 0.652211 0.65979 0.662947 +0.662947 0.663579 0.664842 0.668 0.666105 0.668 0.666105 0.660421 +0.656632 0.652211 0.644632 0.638316 0.632 0.623158 0.613053 0.601684 +0.591579 0.578947 0.568211 0.555579 0.541053 0.529053 0.513895 0.501263 +0.464027 0.43184 0.405333 0.378827 0.34664 0.31256 0.286053 0.28416 +0.2728 0.25008 0.23872 0.23304 0.22736 0.219787 0.000993333 0.000973333 +0.000986667 0.00098 0.000913333 0.000893333 0.000886667 0.000886667 0.00092 0.00092 +0.000873333 0.000866667 0.000886667 0.000893333 0.000873333 0.00088 0.000906667 0.000926667 +0.000866667 0.00084 0.000866667 0.00086 0.000873333 0.000906667 0.000893333 0.000886667 +0.000893333 0.000893333 0.0009 0.000886667 0.000886667 0.000926667 0.000953333 0.000913333 +0.000933333 0.00094 0.000946667 0.00096 0.000946667 0.000926667 0.000926667 0.00094 +0.000926667 0.00094 0.000953333 0.000933333 0.000913333 0.00094 0.000973333 0.000966667 +0.000966667 0.000966667 0.00096 0.000953333 0.000973333 0.219787 0.000993333 0.000933333 +0.0009 0.00094 0.000986667 0.000986667 0.000993333 0.22168 0.223573 0.240613 +0.2444 0.248187 0.251973 0.269013 0.3012 0.322027 0.36368 0.429947 +0.501263 0.527789 0.561263 0.605474 0.651579 0.695158 0.742526 0.789263 +0.832842 0.871368 0.897263 0.918737 0.938947 0.956 0.968632 0.976211 +0.980653 0.974316 0.974947 0.974947 0.970526 0.970526 0.964842 0.956632 +0.953474 0.954105 0.956 0.957895 0.956632 0.953474 0.944632 0.942737 +0.940842 0.939579 0.938947 0.936421 0.932632 0.930737 0.933895 0.936421 +0.938316 0.939579 0.935789 0.929474 0.927579 0.931368 0.935789 0.939579 +0.944 0.942737 0.939579 0.940842 0.944632 0.947158 0.954737 0.955368 +0.948421 0.945895 0.944632 0.943368 0.938316 0.938947 0.940842 0.940211 +0.934526 0.932 0.939579 0.945263 0.947158 0.945895 0.946526 0.947158 +0.948421 0.954737 0.964842 0.974947 0.975579 0.968 0.968632 0.974947 +0.98098 0.984571 0.985224 0.981633 0.971789 0.947789 0.901684 0.835368 +0.756421 0.671789 0.590947 0.524632 0.422373 0.325813 0.286053 0.25008 +0.22168 0.000913333 0.000786667 0.000713333 0.00068 0.000706667 0.000646667 0.000646667 +0.000686667 0.000693333 0.000673333 0.000646667 0.000673333 0.000673333 0.000793333 0.236827 +0.259547 0.000886667 0.000706667 0.0007 0.00068 0.000666667 0.00064 0.00064 +0.000666667 0.00068 0.000653333 0.00064 0.00062 0.000646667 0.000673333 0.000646667 +0.000646667 0.000626667 0.000646667 0.00068 0.00064 0.000626667 0.00064 0.000606667 +0.000633333 0.000653333 0.00064 0.000666667 0.000693333 0.000673333 0.000666667 0.00068 +0.000686667 0.000693333 0.00072 0.000726667 0.00068 0.00064 0.000653333 0.000673333 +0.000673333 0.000693333 0.000693333 0.00068 0.000686667 0.000686667 0.000693333 0.0007 +0.00072 0.00072 0.000686667 0.0007 0.000686667 0.000666667 0.000686667 0.000706667 +0.000713333 0.00068 0.0007 0.000733333 0.000706667 0.000693333 0.00072 0.000726667 +0.000706667 0.000686667 0.00068 0.000706667 0.0007 0.000673333 0.000686667 0.000706667 +0.000706667 0.000706667 0.00072 0.000706667 0.000686667 0.00068 0.000693333 0.000706667 +0.00074 0.000726667 0.000693333 0.000706667 0.000713333 0.00072 0.000733333 0.000726667 +0.000693333 0.000686667 0.00072 0.000746667 0.00072 0.000693333 0.000693333 0.00072 +0.000726667 0.000753333 0.000746667 0.00072 0.000693333 0.000693333 0.00072 0.000706667 +0.000693333 0.000726667 0.00076 0.00076 0.00074 0.000733333 0.000753333 0.000766667 +0.000746667 0.000733333 0.00074 0.00074 0.000713333 0.000706667 0.000706667 0.000706667 +0.00072 0.0007 0.00072 0.000733333 0.00072 0.00072 0.000713333 0.0007 +0.00068 0.00068 0.0007 0.00072 0.00072 0.000706667 0.000686667 0.000686667 +0.0007 0.0007 0.000693333 0.000706667 0.000686667 0.000686667 0.0007 0.0007 +0.000666667 0.00064 0.000673333 0.000706667 0.00072 0.000686667 0.000666667 0.00068 +0.00068 0.000686667 0.000686667 0.000673333 0.000666667 0.00068 0.00068 0.000673333 +0.000693333 0.00072 0.00072 0.000693333 0.000673333 0.000666667 0.000673333 0.000673333 +0.00066 0.000666667 0.00068 0.000673333 0.00068 0.000693333 0.00068 0.000666667 +0.000686667 0.000673333 0.000653333 0.000666667 0.000686667 0.00068 0.00066 0.000666667 +0.00066 0.000673333 0.00068 0.000646667 0.000633333 0.000646667 0.00064 0.000653333 +0.000646667 0.000626667 0.000613333 0.000606667 0.000626667 0.000633333 0.00064 0.000633333 +0.000633333 0.000633333 0.000633333 0.000606667 0.000613333 0.00062 0.000613333 0.000633333 +0.0006 0.000606667 0.000626667 0.00062 0.000593333 0.000593333 0.000626667 0.000613333 +0.00058 0.00058 0.000593333 0.0006 0.000613333 0.000573333 0.00052 0.000513333 +0.00052 0.000553333 0.000593333 0.0006 0.000626667 0.000646667 0.00064 0.000626667 +0.000613333 0.00064 0.000666667 0.000646667 0.000653333 0.000626667 0.00062 0.000626667 +0.000633333 0.00066 0.000666667 0.000693333 0.000713333 0.000746667 0.000813333 0.000926667 +0.2444 0.293627 0.31824 0.299307 0.259547 0.000986667 0.000946667 0.219787 +0.25008 0.270907 0.270907 0.282267 0.30688 0.344747 0.376933 0.42048 +0.4716 0.510105 0.537895 0.566316 0.591579 0.62 0.653474 0.683789 +0.712842 0.743789 0.767789 0.788 0.808842 0.828421 0.839789 0.853053 +0.868211 0.877684 0.885895 0.894737 0.901053 0.904211 0.909263 0.911789 +0.910526 0.908 0.906737 0.910526 0.909895 0.907368 0.905474 0.902316 +0.897263 0.894105 0.887789 0.881474 0.875789 0.867579 0.859368 0.848632 +0.835368 0.821474 0.810105 0.799368 0.782316 0.764632 0.743789 0.721684 +0.700842 0.677474 0.657263 0.635158 0.613053 0.590947 0.566316 0.546737 +0.528421 0.506316 0.462133 0.4148 0.373147 0.34664 0.322027 0.297413 +0.28416 0.27848 0.253867 0.231147 0.223573 0.219787 0.22736 0.229253 +0.000993333 0.000993333 0.219787 0.216 0.216 0.216 0.000993333 0.22168 +0.219787 0.000986667 0.00098 0.000953333 0.000966667 0.219787 0.223573 0.000993333 +0.217893 0.229253 0.225467 0.223573 0.223573 0.225467 0.240613 0.231147 +0.223573 0.229253 0.22736 0.23304 0.240613 0.234933 0.229253 0.23304 +0.22736 0.229253 0.23304 0.229253 0.22736 0.229253 0.231147 0.225467 +0.229253 0.229253 0.225467 0.229253 0.234933 0.248187 0.246293 0.234933 +0.223573 0.231147 0.25008 0.26144 0.2728 0.280373 0.28984 0.327707 +0.358 0.399653 0.462133 0.512 0.545474 0.580842 0.621895 0.670526 +0.716632 0.757684 0.798105 0.839789 0.879579 0.913053 0.937684 0.953474 +0.964842 0.978105 0.98098 0.980327 0.974316 0.969263 0.965474 0.962316 +0.958526 0.950316 0.948421 0.945263 0.942105 0.943368 0.938316 0.933263 +0.932 0.935789 0.941474 0.939579 0.937053 0.936421 0.933895 0.932632 +0.930737 0.931368 0.932 0.932632 0.929474 0.930737 0.931368 0.933895 +0.940211 0.940842 0.937684 0.932632 0.935158 0.937684 0.938947 0.940842 +0.944 0.942105 0.939579 0.946526 0.952842 0.955368 0.961053 0.956632 +0.947158 0.945263 0.949053 0.947789 0.941474 0.942105 0.942737 0.940842 +0.934526 0.935158 0.942105 0.943368 0.943368 0.940842 0.940842 0.939579 +0.940842 0.945895 0.954105 0.964842 0.964842 0.948421 0.941474 0.944 +0.948421 0.956 0.964211 0.971789 0.981306 0.984898 0.982612 0.970526 +0.942105 0.885263 0.811368 0.728632 0.635789 0.546737 0.462133 0.367467 +0.303093 0.25008 0.000973333 0.000833333 0.000766667 0.000733333 0.000686667 0.0007 +0.000713333 0.000693333 0.000706667 0.0007 0.000686667 0.000673333 0.00074 0.217893 +0.26144 0.00096 0.00074 0.0007 0.000666667 0.000646667 0.000633333 0.00066 +0.00068 0.000646667 0.00062 0.00064 0.000633333 0.000653333 0.000666667 0.000646667 +0.00066 0.000653333 0.00066 0.00066 0.000626667 0.000626667 0.000646667 0.00062 +0.000653333 0.000666667 0.000646667 0.000693333 0.000693333 0.00066 0.000666667 0.000666667 +0.000693333 0.000713333 0.0007 0.0007 0.000666667 0.000666667 0.00068 0.000666667 +0.000666667 0.0007 0.00072 0.0007 0.000693333 0.00068 0.000693333 0.00072 +0.00072 0.000693333 0.000653333 0.000706667 0.0007 0.000673333 0.0007 0.000706667 +0.000686667 0.000686667 0.000706667 0.000713333 0.000693333 0.000706667 0.00072 0.000706667 +0.000686667 0.000666667 0.000693333 0.00072 0.000706667 0.000673333 0.000706667 0.00074 +0.00072 0.000693333 0.000686667 0.0007 0.000713333 0.000713333 0.000726667 0.000726667 +0.00072 0.000706667 0.0007 0.00072 0.000726667 0.000713333 0.000713333 0.0007 +0.000713333 0.00072 0.000733333 0.00072 0.000673333 0.000673333 0.0007 0.00072 +0.000733333 0.00074 0.000726667 0.000693333 0.000713333 0.000713333 0.000706667 0.000693333 +0.000686667 0.0007 0.000706667 0.000706667 0.00072 0.000726667 0.00072 0.00072 +0.000733333 0.000733333 0.000713333 0.00074 0.000733333 0.00072 0.0007 0.0007 +0.000706667 0.0007 0.00072 0.000733333 0.000726667 0.000726667 0.00074 0.000726667 +0.000713333 0.000713333 0.000706667 0.00072 0.000733333 0.00072 0.0007 0.000693333 +0.0007 0.000713333 0.000706667 0.00072 0.000706667 0.000706667 0.000713333 0.00072 +0.000706667 0.000673333 0.000666667 0.000673333 0.0007 0.000713333 0.000693333 0.000706667 +0.0007 0.000686667 0.000693333 0.000686667 0.000686667 0.000673333 0.000673333 0.000686667 +0.00068 0.000673333 0.00068 0.0007 0.00072 0.0007 0.000693333 0.000693333 +0.000686667 0.00066 0.000673333 0.000653333 0.00066 0.000673333 0.000666667 0.000666667 +0.000686667 0.00066 0.00064 0.000646667 0.000673333 0.0007 0.000693333 0.00066 +0.000646667 0.00064 0.000666667 0.000673333 0.00066 0.000666667 0.000653333 0.000646667 +0.00066 0.00066 0.000626667 0.000606667 0.000593333 0.0006 0.000626667 0.00062 +0.00062 0.00064 0.000626667 0.000613333 0.000606667 0.0006 0.000606667 0.000593333 +0.000553333 0.000553333 0.00058 0.00058 0.000566667 0.000553333 0.00058 0.000586667 +0.00058 0.000573333 0.000573333 0.00058 0.000586667 0.000566667 0.00054 0.000526667 +0.000526667 0.000533333 0.000533333 0.00056 0.0006 0.0006 0.000606667 0.000633333 +0.000626667 0.000646667 0.00066 0.000633333 0.000613333 0.00062 0.00064 0.00062 +0.000613333 0.00064 0.000666667 0.000733333 0.00086 0.223573 0.269013 0.30688 +0.331493 0.337173 0.30688 0.26712 0.26144 0.2728 0.28984 0.322027 +0.373147 0.42048 0.47728 0.522105 0.558105 0.596632 0.634526 0.672421 +0.711579 0.751368 0.791158 0.825895 0.854316 0.885895 0.914316 0.931368 +0.944632 0.960421 0.970526 0.975579 0.981633 0.985224 0.986531 0.986857 +0.987837 0.989143 0.98849 0.988816 0.989796 0.989796 0.990449 0.991102 +0.990122 0.988163 0.987184 0.988816 0.988816 0.985551 0.983918 0.983918 +0.985224 0.986531 0.985878 0.982939 0.980327 0.977474 0.977474 0.976842 +0.973053 0.967368 0.964211 0.963579 0.959789 0.955368 0.945895 0.933263 +0.921895 0.909263 0.894105 0.875789 0.857474 0.839158 0.815789 0.789895 +0.763368 0.731158 0.702105 0.669895 0.633895 0.610526 0.592211 0.568842 +0.547368 0.535368 0.517684 0.490533 0.445093 0.407227 0.395867 0.39208 +0.36368 0.34664 0.34096 0.31824 0.314453 0.31256 0.308773 0.310667 +0.308773 0.297413 0.291733 0.282267 0.287947 0.303093 0.316347 0.3012 +0.293627 0.303093 0.30688 0.30688 0.308773 0.310667 0.320133 0.322027 +0.308773 0.314453 0.31256 0.320133 0.3296 0.32392 0.31824 0.327707 +0.325813 0.322027 0.32392 0.320133 0.314453 0.325813 0.325813 0.320133 +0.325813 0.322027 0.316347 0.32392 0.3296 0.34096 0.34664 0.350427 +0.34664 0.359893 0.401547 0.44888 0.49432 0.515158 0.536 0.568842 +0.602316 0.640211 0.685684 0.730526 0.774737 0.815158 0.857474 0.894105 +0.923158 0.943368 0.958526 0.971158 0.976211 0.978105 0.978737 0.971158 +0.961053 0.961684 0.961053 0.957263 0.951579 0.944632 0.938316 0.938316 +0.937684 0.935158 0.936421 0.935158 0.932 0.932632 0.932632 0.933895 +0.932632 0.932 0.934526 0.930737 0.932 0.936421 0.935158 0.933263 +0.933895 0.933263 0.932 0.933895 0.933895 0.937684 0.936421 0.938947 +0.944 0.942737 0.943368 0.944 0.947158 0.947789 0.946526 0.942105 +0.940842 0.936421 0.935789 0.945263 0.953474 0.961053 0.968 0.957895 +0.948421 0.944632 0.947789 0.948421 0.945895 0.949053 0.948421 0.942737 +0.939579 0.943368 0.943368 0.942105 0.941474 0.937684 0.935789 0.933895 +0.935789 0.938316 0.944 0.952211 0.951579 0.942105 0.935789 0.937053 +0.941474 0.944632 0.947789 0.954105 0.958526 0.960421 0.964842 0.973684 +0.981959 0.981633 0.966737 0.926316 0.857474 0.764 0.662316 0.576421 +0.508211 0.390187 0.310667 0.246293 0.000966667 0.00084 0.000773333 0.00074 +0.000733333 0.00072 0.000726667 0.0007 0.00066 0.00068 0.000733333 0.000926667 +0.25576 0.229253 0.00078 0.000693333 0.00066 0.000653333 0.00066 0.000673333 +0.000646667 0.000626667 0.000626667 0.000646667 0.000653333 0.000633333 0.000666667 0.00066 +0.000653333 0.000653333 0.000626667 0.000646667 0.000646667 0.00062 0.00064 0.000653333 +0.000666667 0.000673333 0.00066 0.000673333 0.000686667 0.00068 0.00066 0.00068 +0.00072 0.000706667 0.00068 0.000693333 0.0007 0.00068 0.00066 0.00066 +0.00068 0.000726667 0.000733333 0.000706667 0.000693333 0.000673333 0.000693333 0.000686667 +0.000666667 0.000653333 0.000666667 0.0007 0.00068 0.000653333 0.00066 0.000693333 +0.000693333 0.000693333 0.000686667 0.0007 0.000686667 0.000673333 0.00068 0.000693333 +0.000673333 0.000666667 0.000686667 0.000673333 0.000666667 0.000686667 0.000726667 0.000733333 +0.00068 0.000666667 0.000673333 0.000713333 0.00074 0.0007 0.0007 0.0007 +0.0007 0.00072 0.000706667 0.0007 0.000693333 0.000673333 0.0007 0.00072 +0.00072 0.00072 0.000693333 0.00068 0.0007 0.000706667 0.000713333 0.00072 +0.000713333 0.000693333 0.000693333 0.0007 0.0007 0.00072 0.000713333 0.00072 +0.000706667 0.0007 0.000713333 0.000706667 0.000713333 0.00072 0.00072 0.000706667 +0.0007 0.000713333 0.0007 0.0007 0.000693333 0.0007 0.000706667 0.000686667 +0.00068 0.000686667 0.0007 0.0007 0.000706667 0.0007 0.000713333 0.0007 +0.000686667 0.000706667 0.000713333 0.000713333 0.00072 0.000706667 0.000693333 0.000693333 +0.0007 0.000713333 0.000706667 0.000713333 0.0007 0.000693333 0.000693333 0.000706667 +0.0007 0.000686667 0.0007 0.000686667 0.00066 0.000666667 0.00068 0.000706667 +0.00072 0.0007 0.0007 0.000693333 0.00068 0.00066 0.00066 0.00068 +0.00068 0.00066 0.000646667 0.000653333 0.000673333 0.00068 0.000686667 0.000686667 +0.00068 0.000666667 0.000686667 0.000673333 0.000666667 0.00066 0.000653333 0.000653333 +0.00068 0.000666667 0.000646667 0.000626667 0.00062 0.000646667 0.000673333 0.000653333 +0.000646667 0.000646667 0.000646667 0.000633333 0.000626667 0.000646667 0.00066 0.000653333 +0.00064 0.000646667 0.00066 0.000653333 0.000613333 0.00058 0.0006 0.000606667 +0.000613333 0.0006 0.000606667 0.000613333 0.000626667 0.000606667 0.000633333 0.00064 +0.0006 0.0006 0.00058 0.000566667 0.00058 0.000586667 0.0006 0.00056 +0.00056 0.0006 0.0006 0.000586667 0.00058 0.000553333 0.000546667 0.00054 +0.000573333 0.000586667 0.000573333 0.00058 0.0006 0.000593333 0.000613333 0.000626667 +0.000646667 0.000673333 0.000673333 0.00066 0.00064 0.000653333 0.000673333 0.000693333 +0.000753333 0.00084 0.000946667 0.240613 0.28416 0.3296 0.36368 0.371253 +0.350427 0.333387 0.325813 0.342853 0.388293 0.467813 0.521474 0.560632 +0.612421 0.663579 0.711579 0.764632 0.815158 0.856842 0.890316 0.92 +0.944632 0.961684 0.978105 0.985551 0.988816 0.992408 0.996 0.995347 +0.991755 0.991102 0.991755 0.989143 0.988163 0.986531 0.984245 0.982612 +0.982286 0.982286 0.980653 0.98 0.98098 0.978105 0.974316 0.974316 +0.976842 0.976842 0.970526 0.971158 0.974316 0.971789 0.969895 0.969263 +0.973684 0.977474 0.976211 0.970526 0.962947 0.961684 0.964842 0.969895 +0.970526 0.969263 0.970526 0.974947 0.977474 0.98 0.98 0.979368 +0.981306 0.981959 0.981306 0.980653 0.979368 0.979368 0.977474 0.965474 +0.951579 0.935789 0.921895 0.901053 0.872632 0.853684 0.840421 0.819579 +0.791158 0.772211 0.748842 0.721684 0.692 0.66421 0.648421 0.640842 +0.622526 0.602316 0.590316 0.576421 0.565684 0.558105 0.554316 0.553053 +0.548632 0.539789 0.537263 0.534737 0.534105 0.534737 0.539789 0.532842 +0.527158 0.527789 0.530947 0.534105 0.538526 0.543579 0.546105 0.544842 +0.540421 0.542316 0.540421 0.544211 0.546105 0.546105 0.548 0.553684 +0.549895 0.546105 0.547368 0.545474 0.542947 0.547368 0.551789 0.553053 +0.556211 0.554947 0.553684 0.558737 0.563789 0.566947 0.573895 0.584632 +0.593474 0.610526 0.637684 0.668632 0.698947 0.729895 0.760842 0.800632 +0.836 0.868211 0.900421 0.927579 0.944632 0.954737 0.966737 0.973684 +0.975579 0.972421 0.974947 0.977474 0.968 0.958526 0.953474 0.945263 +0.938947 0.938947 0.938947 0.941474 0.940211 0.938316 0.938316 0.942105 +0.942105 0.938947 0.939579 0.935789 0.930737 0.928842 0.929474 0.933263 +0.936421 0.937053 0.933895 0.930737 0.935158 0.940211 0.937684 0.937053 +0.940211 0.938947 0.936421 0.938316 0.938947 0.940211 0.936421 0.937684 +0.940842 0.940842 0.942105 0.944632 0.949053 0.949684 0.947789 0.944 +0.940211 0.936421 0.937053 0.943368 0.950947 0.964842 0.969263 0.958526 +0.949684 0.944 0.944 0.944632 0.945895 0.949053 0.949684 0.944 +0.944632 0.948421 0.945263 0.942737 0.940211 0.935158 0.933263 0.935158 +0.935789 0.935789 0.939579 0.944 0.941474 0.939579 0.938947 0.942105 +0.947158 0.949053 0.949053 0.953474 0.951579 0.944 0.940842 0.947158 +0.957263 0.972421 0.982612 0.984245 0.98 0.945895 0.881474 0.793053 +0.695158 0.59979 0.522105 0.40344 0.29552 0.240613 0.00094 0.00082 +0.000786667 0.000733333 0.000713333 0.0007 0.00068 0.000706667 0.00072 0.00086 +0.25576 0.242507 0.0008 0.000686667 0.00068 0.00066 0.000673333 0.000633333 +0.000613333 0.000626667 0.000626667 0.00064 0.000646667 0.000646667 0.000673333 0.000653333 +0.000646667 0.000653333 0.000646667 0.000653333 0.000653333 0.000613333 0.00068 0.00068 +0.000646667 0.000653333 0.000653333 0.000666667 0.0007 0.000693333 0.000646667 0.000673333 +0.0007 0.00068 0.00066 0.00068 0.00068 0.00064 0.000646667 0.000673333 +0.000693333 0.000713333 0.000693333 0.000673333 0.000666667 0.000666667 0.000666667 0.00066 +0.00066 0.000673333 0.000673333 0.000666667 0.000666667 0.000673333 0.000686667 0.000706667 +0.000706667 0.000693333 0.000693333 0.000686667 0.00066 0.000666667 0.000666667 0.0007 +0.000693333 0.00068 0.000666667 0.000673333 0.000706667 0.000726667 0.00072 0.0007 +0.0007 0.000706667 0.000713333 0.00072 0.000713333 0.00068 0.0007 0.000726667 +0.00072 0.00072 0.0007 0.00068 0.000693333 0.0007 0.00072 0.0007 +0.00068 0.0007 0.000706667 0.000706667 0.000713333 0.000693333 0.000706667 0.0007 +0.000673333 0.000686667 0.000713333 0.00072 0.000686667 0.000693333 0.000726667 0.000746667 +0.000733333 0.000693333 0.00068 0.0007 0.000733333 0.000726667 0.00072 0.000733333 +0.00072 0.000693333 0.000693333 0.000706667 0.000706667 0.000686667 0.0007 0.0007 +0.0007 0.000706667 0.000693333 0.000666667 0.000666667 0.00066 0.000673333 0.00068 +0.000666667 0.000673333 0.000686667 0.0007 0.000706667 0.000706667 0.00068 0.000673333 +0.0007 0.000706667 0.000686667 0.000693333 0.0007 0.0007 0.0007 0.000706667 +0.000686667 0.000666667 0.000686667 0.0007 0.00068 0.000666667 0.000653333 0.00066 +0.000693333 0.000706667 0.000693333 0.000693333 0.00068 0.00066 0.00066 0.000653333 +0.00066 0.00068 0.00066 0.00064 0.00064 0.000633333 0.000646667 0.000646667 +0.000653333 0.000653333 0.000653333 0.000646667 0.000646667 0.000653333 0.000653333 0.000646667 +0.000653333 0.000666667 0.00066 0.00064 0.000633333 0.000633333 0.00064 0.000646667 +0.000646667 0.000646667 0.000646667 0.000633333 0.000626667 0.00062 0.000633333 0.000653333 +0.000646667 0.000626667 0.00064 0.00066 0.00066 0.000633333 0.000613333 0.000613333 +0.000613333 0.00062 0.000593333 0.0006 0.000606667 0.000573333 0.0006 0.000613333 +0.00062 0.000653333 0.000626667 0.000606667 0.000593333 0.000626667 0.00064 0.000593333 +0.000573333 0.000586667 0.0006 0.000606667 0.000593333 0.000553333 0.000546667 0.000573333 +0.0006 0.0006 0.000613333 0.000633333 0.00062 0.000606667 0.00062 0.00062 +0.00066 0.000666667 0.000666667 0.00068 0.000686667 0.000713333 0.000773333 0.0009 +0.23872 0.28416 0.314453 0.33528 0.356107 0.37504 0.384507 0.384507 +0.395867 0.456453 0.526526 0.575158 0.623158 0.683158 0.746316 0.807579 +0.865684 0.910526 0.943368 0.971789 0.983918 0.987184 0.989143 0.988816 +0.988816 0.98849 0.986857 0.984571 0.984245 0.985551 0.985551 0.982286 +0.975579 0.971158 0.966737 0.959158 0.956632 0.956632 0.955368 0.955368 +0.957263 0.957895 0.956632 0.956632 0.956632 0.954105 0.947158 0.944 +0.944 0.945263 0.942105 0.938947 0.944632 0.948421 0.946526 0.945263 +0.948421 0.950316 0.949053 0.945263 0.938947 0.936421 0.940211 0.944 +0.945895 0.945263 0.945263 0.945895 0.949053 0.951579 0.950316 0.950316 +0.957895 0.961053 0.962316 0.968632 0.974316 0.982612 0.987837 0.985551 +0.980327 0.978737 0.98 0.978105 0.973053 0.968632 0.967368 0.966105 +0.956632 0.949053 0.942105 0.931368 0.916211 0.897895 0.887158 0.882737 +0.868211 0.848 0.835368 0.824632 0.812632 0.800632 0.791789 0.788 +0.780421 0.767789 0.764 0.760211 0.756421 0.752632 0.753895 0.747579 +0.741263 0.742526 0.747579 0.750737 0.752 0.757684 0.758947 0.756421 +0.754526 0.755789 0.752632 0.754526 0.757053 0.759579 0.760842 0.765895 +0.764 0.761474 0.763368 0.763368 0.760211 0.760842 0.764 0.765895 +0.766526 0.769053 0.770947 0.776632 0.786737 0.791789 0.796842 0.806947 +0.822105 0.842947 0.863158 0.886526 0.908 0.926316 0.939579 0.954105 +0.964211 0.968632 0.973053 0.974316 0.967368 0.958526 0.956632 0.952842 +0.950316 0.947158 0.952842 0.958526 0.956632 0.953474 0.949684 0.944632 +0.941474 0.939579 0.938947 0.942737 0.943368 0.943368 0.940842 0.942737 +0.941474 0.938947 0.940842 0.934526 0.930737 0.930105 0.931368 0.936421 +0.938316 0.937684 0.935158 0.932 0.935158 0.938947 0.937684 0.937684 +0.940211 0.938947 0.940211 0.940211 0.941474 0.940842 0.937053 0.938316 +0.940842 0.938947 0.939579 0.941474 0.942737 0.948421 0.952211 0.950947 +0.949053 0.947158 0.949684 0.956632 0.961684 0.965474 0.962316 0.954737 +0.948421 0.944632 0.944 0.944632 0.944632 0.945895 0.947158 0.944 +0.948421 0.950316 0.950947 0.951579 0.946526 0.941474 0.939579 0.938316 +0.936421 0.937684 0.939579 0.939579 0.937684 0.937684 0.940842 0.942737 +0.948421 0.951579 0.955368 0.958526 0.953474 0.944 0.940211 0.940842 +0.942105 0.949053 0.957895 0.968 0.98098 0.986204 0.984898 0.957895 +0.901053 0.810737 0.701474 0.594737 0.506947 0.361787 0.280373 0.231147 +0.000926667 0.000826667 0.00076 0.000746667 0.00072 0.0007 0.000733333 0.00086 +0.251973 0.248187 0.00084 0.000693333 0.0007 0.00068 0.000673333 0.000646667 +0.000646667 0.000646667 0.000626667 0.000653333 0.000693333 0.000673333 0.00064 0.000626667 +0.00064 0.00066 0.00064 0.000646667 0.000633333 0.000633333 0.000693333 0.000666667 +0.000626667 0.000653333 0.000653333 0.00068 0.000693333 0.00068 0.000653333 0.000666667 +0.00068 0.00066 0.000646667 0.00066 0.000666667 0.000653333 0.000673333 0.000673333 +0.000686667 0.000693333 0.00068 0.00066 0.000666667 0.00068 0.000686667 0.000686667 +0.000706667 0.000693333 0.00068 0.000693333 0.000713333 0.000726667 0.0007 0.000706667 +0.000706667 0.000713333 0.0007 0.000666667 0.000666667 0.000693333 0.000686667 0.000713333 +0.000706667 0.000686667 0.000693333 0.00072 0.000733333 0.000713333 0.000706667 0.000706667 +0.00072 0.00072 0.000706667 0.000713333 0.000693333 0.000693333 0.00072 0.000706667 +0.000693333 0.000686667 0.00068 0.000686667 0.0007 0.0007 0.000693333 0.00068 +0.00068 0.000706667 0.000713333 0.000693333 0.000686667 0.00068 0.000693333 0.000686667 +0.0007 0.000713333 0.000713333 0.000693333 0.000713333 0.00068 0.000706667 0.00072 +0.000733333 0.000713333 0.000706667 0.000706667 0.000706667 0.0007 0.000706667 0.0007 +0.000726667 0.000713333 0.00068 0.000693333 0.000733333 0.00072 0.0007 0.0007 +0.0007 0.00072 0.00072 0.0007 0.000666667 0.000653333 0.00066 0.00066 +0.00068 0.00068 0.00066 0.000653333 0.00068 0.000693333 0.000686667 0.000666667 +0.000673333 0.00068 0.000673333 0.000673333 0.000686667 0.000693333 0.000693333 0.000713333 +0.000693333 0.00068 0.000666667 0.000673333 0.000693333 0.000693333 0.000673333 0.000666667 +0.000666667 0.000666667 0.000673333 0.000693333 0.000706667 0.000686667 0.00068 0.00066 +0.000653333 0.00068 0.000686667 0.00068 0.000666667 0.000653333 0.000646667 0.00064 +0.000666667 0.000673333 0.000666667 0.000626667 0.000626667 0.00066 0.00066 0.000666667 +0.000666667 0.000653333 0.000646667 0.000653333 0.00066 0.000653333 0.00064 0.000646667 +0.000646667 0.000653333 0.000653333 0.000653333 0.00066 0.000653333 0.000626667 0.00062 +0.00064 0.000633333 0.000626667 0.000653333 0.00066 0.000666667 0.000666667 0.000633333 +0.000626667 0.00064 0.000633333 0.00064 0.00064 0.000606667 0.0006 0.000586667 +0.000593333 0.000633333 0.000626667 0.0006 0.00058 0.000613333 0.00064 0.000646667 +0.000633333 0.000606667 0.0006 0.00058 0.000573333 0.000546667 0.000553333 0.00058 +0.000626667 0.00062 0.00062 0.00064 0.000626667 0.000633333 0.00064 0.000653333 +0.000686667 0.00068 0.00068 0.00072 0.00082 0.000953333 0.246293 0.297413 +0.331493 0.342853 0.337173 0.348533 0.390187 0.4432 0.506316 0.542316 +0.594105 0.662947 0.741895 0.815789 0.875789 0.921263 0.957263 0.981633 +0.988163 0.991429 0.996 0.999265 0.992408 0.982939 0.976842 0.968 +0.962316 0.961684 0.960421 0.954105 0.950947 0.957263 0.960421 0.952842 +0.947789 0.947158 0.942737 0.936421 0.935789 0.940211 0.944632 0.946526 +0.948421 0.949684 0.947158 0.946526 0.945263 0.943368 0.939579 0.935789 +0.933895 0.932 0.933263 0.932632 0.935789 0.939579 0.937684 0.938316 +0.938947 0.940211 0.938947 0.937684 0.933895 0.928842 0.92821 0.931368 +0.935789 0.939579 0.940211 0.936421 0.936421 0.940842 0.940211 0.940842 +0.949053 0.948421 0.941474 0.944 0.949053 0.956632 0.964211 0.964842 +0.958526 0.955368 0.955368 0.956 0.957263 0.960421 0.961053 0.966737 +0.969263 0.971158 0.974316 0.976842 0.978105 0.977474 0.98 0.982939 +0.981306 0.973053 0.972421 0.971158 0.970526 0.968 0.961053 0.958526 +0.954737 0.946526 0.945263 0.944632 0.944 0.940842 0.938316 0.931368 +0.924421 0.925053 0.932 0.933263 0.927579 0.92821 0.929474 0.930105 +0.929474 0.927579 0.924421 0.92379 0.92821 0.932 0.927579 0.928842 +0.92821 0.928842 0.928842 0.926316 0.927579 0.927579 0.926316 0.928842 +0.930737 0.935789 0.939579 0.942105 0.949684 0.953474 0.949053 0.949053 +0.953474 0.962316 0.966105 0.968 0.974316 0.978105 0.974316 0.971158 +0.966737 0.962947 0.961053 0.958526 0.949684 0.942737 0.942737 0.939579 +0.940842 0.943368 0.948421 0.954737 0.958526 0.962947 0.966105 0.963579 +0.955368 0.948421 0.947158 0.945895 0.947789 0.946526 0.942105 0.943368 +0.940211 0.937053 0.940842 0.938316 0.935158 0.934526 0.935158 0.942105 +0.941474 0.941474 0.937684 0.936421 0.937684 0.937053 0.938316 0.940211 +0.941474 0.940211 0.942105 0.942737 0.944 0.942737 0.940211 0.943368 +0.943368 0.941474 0.944632 0.950316 0.950316 0.954105 0.960421 0.963579 +0.961684 0.959158 0.962947 0.965474 0.964211 0.956632 0.949053 0.948421 +0.946526 0.943368 0.943368 0.947158 0.949053 0.950316 0.944632 0.943368 +0.949684 0.950947 0.953474 0.954105 0.951579 0.947789 0.947789 0.944632 +0.941474 0.940842 0.938947 0.935789 0.935789 0.934526 0.937053 0.940211 +0.942105 0.945895 0.953474 0.955368 0.952211 0.946526 0.942737 0.940842 +0.941474 0.942105 0.942737 0.948421 0.961053 0.979368 0.986531 0.987184 +0.984571 0.961684 0.898526 0.798737 0.678105 0.566947 0.473493 0.342853 +0.274693 0.240613 0.00094 0.000806667 0.000753333 0.000713333 0.00076 0.000846667 +0.229253 0.26144 0.00092 0.00072 0.0007 0.000706667 0.00068 0.00066 +0.000653333 0.000633333 0.00066 0.00068 0.000693333 0.000653333 0.00062 0.000653333 +0.000673333 0.00066 0.000626667 0.000633333 0.00066 0.000666667 0.00068 0.00064 +0.000633333 0.000673333 0.00068 0.000673333 0.000673333 0.000673333 0.00066 0.000666667 +0.000666667 0.000653333 0.000653333 0.00068 0.000706667 0.0007 0.000686667 0.00068 +0.0007 0.000706667 0.000693333 0.00068 0.00066 0.0007 0.000733333 0.000713333 +0.00072 0.0007 0.000693333 0.00072 0.000726667 0.000706667 0.000686667 0.00068 +0.0007 0.000693333 0.00068 0.000666667 0.000666667 0.00068 0.000686667 0.000693333 +0.000693333 0.000706667 0.000706667 0.000706667 0.000686667 0.000686667 0.000706667 0.000706667 +0.000713333 0.000706667 0.000693333 0.00072 0.000693333 0.000686667 0.0007 0.000686667 +0.000673333 0.00068 0.000686667 0.000706667 0.000693333 0.000686667 0.000693333 0.000706667 +0.000713333 0.000726667 0.000713333 0.0007 0.0007 0.00068 0.0007 0.000733333 +0.000726667 0.000693333 0.000693333 0.000686667 0.000713333 0.000706667 0.000706667 0.000693333 +0.00072 0.0007 0.000693333 0.000713333 0.000706667 0.000693333 0.000693333 0.00068 +0.000693333 0.000713333 0.0007 0.000686667 0.000686667 0.000686667 0.000693333 0.0007 +0.00068 0.000693333 0.000713333 0.000713333 0.0007 0.00068 0.000673333 0.000666667 +0.000673333 0.0007 0.000693333 0.00066 0.00066 0.000666667 0.000666667 0.000673333 +0.000686667 0.00068 0.000673333 0.000666667 0.00066 0.00066 0.00066 0.00068 +0.000693333 0.000686667 0.000673333 0.00066 0.000673333 0.000686667 0.00068 0.000686667 +0.000693333 0.00066 0.000646667 0.000673333 0.000693333 0.000713333 0.0007 0.000686667 +0.000673333 0.00066 0.000686667 0.0007 0.000693333 0.000673333 0.000666667 0.00066 +0.000666667 0.000673333 0.00068 0.000666667 0.000646667 0.000666667 0.000666667 0.000653333 +0.000653333 0.00066 0.000646667 0.000653333 0.000666667 0.00068 0.000693333 0.000693333 +0.000666667 0.000666667 0.00066 0.000653333 0.000666667 0.00068 0.000666667 0.000653333 +0.000646667 0.000653333 0.00064 0.000653333 0.000653333 0.00066 0.000673333 0.00066 +0.000653333 0.000653333 0.000633333 0.000653333 0.000646667 0.000613333 0.00066 0.000633333 +0.000606667 0.000633333 0.000633333 0.00062 0.000586667 0.000606667 0.00062 0.000626667 +0.00066 0.000673333 0.00064 0.000626667 0.000586667 0.00058 0.0006 0.000626667 +0.000626667 0.000626667 0.00066 0.00066 0.000633333 0.000653333 0.000673333 0.0007 +0.000693333 0.000733333 0.000846667 0.000966667 0.26144 0.314453 0.348533 0.354213 +0.34664 0.358 0.405333 0.503158 0.553053 0.614947 0.687579 0.765263 +0.839158 0.901053 0.947158 0.978737 0.990122 0.991755 0.990776 0.98849 +0.982612 0.980653 0.984571 0.984898 0.971789 0.954105 0.945895 0.942737 +0.940211 0.938947 0.940211 0.938947 0.938947 0.944632 0.947789 0.942105 +0.938316 0.937684 0.936421 0.936421 0.937684 0.940842 0.949684 0.956 +0.955368 0.953474 0.947158 0.944 0.944 0.941474 0.939579 0.937053 +0.937684 0.937053 0.939579 0.942105 0.940211 0.940211 0.939579 0.941474 +0.941474 0.939579 0.937053 0.935158 0.933895 0.930737 0.930737 0.933263 +0.937053 0.940211 0.942737 0.937684 0.935789 0.938947 0.940842 0.945263 +0.952211 0.950947 0.940211 0.939579 0.942737 0.941474 0.941474 0.942737 +0.941474 0.938316 0.937684 0.937684 0.937684 0.939579 0.941474 0.946526 +0.949053 0.947789 0.948421 0.952211 0.956 0.957895 0.961684 0.970526 +0.973053 0.966737 0.971158 0.974316 0.976842 0.98098 0.980653 0.980327 +0.980327 0.978105 0.980327 0.985551 0.989796 0.987837 0.983265 0.976211 +0.970526 0.968632 0.971789 0.974316 0.969895 0.962947 0.962947 0.968 +0.968 0.965474 0.960421 0.957263 0.963579 0.966737 0.961684 0.961053 +0.959158 0.961053 0.961053 0.958526 0.962947 0.966737 0.961684 0.964211 +0.969895 0.976842 0.98 0.978105 0.98 0.979368 0.971158 0.965474 +0.959789 0.960421 0.958526 0.954737 0.961053 0.963579 0.956 0.954105 +0.953474 0.954105 0.955368 0.956 0.953474 0.952842 0.954737 0.952842 +0.954737 0.954737 0.955368 0.959158 0.961684 0.966105 0.973684 0.972421 +0.962316 0.954105 0.952211 0.949684 0.951579 0.950947 0.947158 0.948421 +0.947158 0.946526 0.949053 0.949053 0.945263 0.943368 0.944632 0.949684 +0.947789 0.945263 0.940211 0.940842 0.943368 0.942737 0.944 0.947158 +0.947789 0.946526 0.947158 0.946526 0.947789 0.947158 0.946526 0.949053 +0.949684 0.950947 0.959158 0.965474 0.966105 0.968632 0.970526 0.969895 +0.962947 0.961684 0.963579 0.958526 0.954737 0.950947 0.945263 0.943368 +0.945895 0.944 0.943368 0.948421 0.953474 0.955368 0.947789 0.943368 +0.948421 0.950316 0.950947 0.950947 0.948421 0.948421 0.949053 0.950316 +0.952211 0.947789 0.943368 0.937684 0.935158 0.933895 0.934526 0.937053 +0.934526 0.940842 0.948421 0.948421 0.950316 0.948421 0.943368 0.939579 +0.942105 0.944 0.944 0.947789 0.959789 0.972421 0.974316 0.976211 +0.982612 0.988163 0.985551 0.951579 0.875158 0.764632 0.644632 0.542947 +0.42616 0.32392 0.253867 0.000966667 0.00086 0.00076 0.000726667 0.000793333 +0.00098 0.2728 0.229253 0.00074 0.000706667 0.0007 0.00068 0.000673333 +0.000646667 0.000673333 0.00068 0.000653333 0.000653333 0.00066 0.00066 0.000693333 +0.00068 0.000653333 0.00064 0.000653333 0.00068 0.00066 0.00064 0.000653333 +0.000666667 0.00068 0.000693333 0.00066 0.000673333 0.000673333 0.000666667 0.000673333 +0.000666667 0.00068 0.000693333 0.00072 0.000713333 0.000693333 0.00068 0.000673333 +0.000686667 0.0007 0.000693333 0.00066 0.00066 0.0007 0.000713333 0.000693333 +0.00068 0.000673333 0.00068 0.000706667 0.00068 0.000653333 0.000646667 0.000653333 +0.000673333 0.000653333 0.000673333 0.00068 0.000666667 0.000666667 0.00068 0.000693333 +0.000693333 0.0007 0.00068 0.000673333 0.00066 0.000693333 0.0007 0.000673333 +0.000686667 0.00068 0.000693333 0.000706667 0.000686667 0.00068 0.000686667 0.000686667 +0.00068 0.000686667 0.0007 0.000693333 0.000686667 0.000686667 0.0007 0.0007 +0.000713333 0.00072 0.000686667 0.00068 0.000693333 0.000686667 0.000706667 0.000706667 +0.000673333 0.000653333 0.00068 0.000706667 0.000713333 0.000706667 0.000713333 0.000713333 +0.000726667 0.00072 0.000686667 0.000686667 0.00072 0.00072 0.00072 0.0007 +0.00068 0.0007 0.00072 0.00072 0.000713333 0.000713333 0.000693333 0.0007 +0.00068 0.000686667 0.000706667 0.000713333 0.00072 0.000713333 0.000706667 0.0007 +0.00068 0.00068 0.0007 0.0007 0.000713333 0.0007 0.000673333 0.000666667 +0.000686667 0.000693333 0.0007 0.000693333 0.00068 0.000666667 0.000666667 0.000666667 +0.00068 0.000693333 0.0007 0.000686667 0.000673333 0.000693333 0.000693333 0.000666667 +0.000686667 0.000706667 0.000693333 0.000666667 0.000646667 0.000693333 0.000713333 0.000713333 +0.000706667 0.000673333 0.000673333 0.000686667 0.000686667 0.00068 0.000666667 0.00068 +0.000666667 0.000666667 0.00068 0.00068 0.000666667 0.000666667 0.000666667 0.000653333 +0.000646667 0.00064 0.000633333 0.000633333 0.000633333 0.000646667 0.000673333 0.000693333 +0.000693333 0.000686667 0.000666667 0.00064 0.000646667 0.000666667 0.00068 0.00068 +0.000666667 0.00066 0.00064 0.00066 0.000666667 0.000666667 0.000653333 0.00064 +0.000653333 0.000666667 0.000646667 0.000653333 0.00064 0.00062 0.000653333 0.00064 +0.000633333 0.000633333 0.00062 0.00062 0.00062 0.000633333 0.000626667 0.00062 +0.00064 0.000646667 0.000613333 0.000606667 0.000606667 0.000606667 0.000626667 0.000666667 +0.00066 0.00064 0.000666667 0.000686667 0.0007 0.0007 0.00072 0.000766667 +0.000813333 0.000946667 0.259547 0.31256 0.348533 0.365573 0.367467 0.38072 +0.4432 0.527158 0.597263 0.683158 0.767789 0.846105 0.914947 0.961684 +0.983592 0.98849 0.987837 0.986857 0.983265 0.976842 0.968632 0.961053 +0.952842 0.951579 0.958526 0.959789 0.949053 0.940842 0.937053 0.937684 +0.937684 0.938316 0.939579 0.938947 0.939579 0.943368 0.946526 0.947158 +0.945263 0.939579 0.935158 0.938316 0.942737 0.946526 0.957895 0.966737 +0.962316 0.957895 0.955368 0.954105 0.953474 0.946526 0.942105 0.942737 +0.943368 0.944 0.946526 0.948421 0.945895 0.942737 0.940842 0.941474 +0.943368 0.944632 0.942105 0.941474 0.940842 0.938947 0.938947 0.940842 +0.943368 0.943368 0.944 0.942737 0.940842 0.940211 0.940842 0.943368 +0.947158 0.949684 0.946526 0.942737 0.944 0.944 0.942105 0.942737 +0.944 0.943368 0.943368 0.940842 0.937684 0.935789 0.938316 0.942737 +0.942737 0.939579 0.938316 0.941474 0.944 0.940842 0.940211 0.946526 +0.949053 0.942737 0.945263 0.951579 0.952842 0.954105 0.954105 0.954737 +0.954737 0.954105 0.957263 0.973684 0.983918 0.982286 0.971789 0.958526 +0.950947 0.949684 0.948421 0.947789 0.947158 0.942105 0.942105 0.950316 +0.952842 0.952211 0.950316 0.945263 0.948421 0.949684 0.944632 0.946526 +0.947789 0.948421 0.949053 0.945895 0.947158 0.951579 0.947158 0.947158 +0.952842 0.959789 0.963579 0.961053 0.961684 0.962947 0.956632 0.949684 +0.944632 0.944632 0.945895 0.945895 0.952211 0.957263 0.954737 0.957263 +0.959789 0.960421 0.960421 0.962947 0.962316 0.961053 0.961053 0.959789 +0.959158 0.957263 0.959789 0.962316 0.964211 0.968 0.971158 0.970526 +0.964211 0.958526 0.957895 0.954737 0.957263 0.957895 0.953474 0.952842 +0.953474 0.951579 0.952211 0.952842 0.952842 0.949684 0.950947 0.954737 +0.952211 0.948421 0.944632 0.948421 0.952211 0.954737 0.956632 0.959158 +0.957263 0.955368 0.956 0.954105 0.956 0.957263 0.957895 0.958526 +0.959789 0.964211 0.968632 0.969263 0.969895 0.969263 0.967368 0.963579 +0.952211 0.951579 0.950947 0.948421 0.949053 0.945895 0.941474 0.941474 +0.946526 0.946526 0.947158 0.951579 0.953474 0.955368 0.952211 0.949053 +0.949684 0.956 0.959158 0.954105 0.952842 0.954105 0.952842 0.954737 +0.956632 0.957263 0.953474 0.949684 0.944 0.942105 0.941474 0.936421 +0.932 0.940211 0.944 0.944632 0.945895 0.944632 0.942737 0.941474 +0.940211 0.942105 0.947158 0.950947 0.959158 0.962316 0.956632 0.957263 +0.961053 0.969263 0.980327 0.985224 0.979368 0.932632 0.846737 0.728632 +0.607368 0.510105 0.367467 0.28984 0.229253 0.000866667 0.000766667 0.000766667 +0.00092 0.2728 0.259547 0.000846667 0.00072 0.000693333 0.000673333 0.000693333 +0.000693333 0.000686667 0.00066 0.000633333 0.00064 0.00068 0.000673333 0.00068 +0.000666667 0.000666667 0.000686667 0.00068 0.000666667 0.000633333 0.000653333 0.000713333 +0.000706667 0.0007 0.000673333 0.000646667 0.000653333 0.000673333 0.00068 0.000653333 +0.00066 0.000686667 0.000673333 0.00068 0.000673333 0.000646667 0.00066 0.000653333 +0.000666667 0.000693333 0.000686667 0.00068 0.000693333 0.000686667 0.00068 0.000646667 +0.00066 0.000693333 0.000673333 0.000666667 0.000666667 0.00066 0.00064 0.000633333 +0.000666667 0.000666667 0.000686667 0.000673333 0.00066 0.000666667 0.000686667 0.000706667 +0.0007 0.000686667 0.000653333 0.00066 0.000673333 0.0007 0.00068 0.00066 +0.000693333 0.0007 0.000706667 0.000693333 0.000666667 0.00068 0.00068 0.000693333 +0.000693333 0.00068 0.000666667 0.000666667 0.00068 0.000713333 0.000706667 0.000673333 +0.000686667 0.00068 0.000673333 0.000706667 0.0007 0.000693333 0.00068 0.00068 +0.0007 0.000713333 0.00072 0.000733333 0.000733333 0.000713333 0.000693333 0.0007 +0.0007 0.000713333 0.000713333 0.0007 0.000706667 0.000706667 0.000726667 0.000726667 +0.000726667 0.000713333 0.00072 0.000706667 0.000706667 0.000726667 0.000706667 0.000706667 +0.000706667 0.000686667 0.0007 0.000706667 0.000726667 0.000746667 0.000733333 0.000713333 +0.0007 0.000693333 0.000686667 0.0007 0.000726667 0.00072 0.000706667 0.000673333 +0.00066 0.000686667 0.000713333 0.000713333 0.000713333 0.000713333 0.000693333 0.00066 +0.000653333 0.00068 0.000693333 0.0007 0.000693333 0.000686667 0.000706667 0.00068 +0.000666667 0.000693333 0.000706667 0.000706667 0.000693333 0.00068 0.000673333 0.000686667 +0.000706667 0.0007 0.00068 0.00066 0.00066 0.00068 0.000686667 0.000686667 +0.000666667 0.00064 0.00066 0.000666667 0.00066 0.00066 0.000666667 0.000673333 +0.00068 0.000646667 0.00062 0.000626667 0.000646667 0.000646667 0.000633333 0.000646667 +0.00066 0.000666667 0.000666667 0.000646667 0.00064 0.000646667 0.000666667 0.000666667 +0.00064 0.000613333 0.00064 0.00066 0.000653333 0.000653333 0.000666667 0.000653333 +0.000633333 0.000633333 0.000626667 0.00064 0.000646667 0.000646667 0.000666667 0.000633333 +0.00064 0.00066 0.000626667 0.000626667 0.00066 0.000666667 0.000646667 0.00064 +0.000666667 0.000653333 0.000593333 0.000573333 0.000586667 0.000613333 0.00066 0.000673333 +0.00068 0.000706667 0.0007 0.000693333 0.000733333 0.00078 0.00088 0.217893 +0.257653 0.304987 0.33528 0.35232 0.367467 0.39208 0.464027 0.544842 +0.629474 0.729895 0.829684 0.909263 0.961684 0.985224 0.991102 0.990122 +0.984245 0.976842 0.967368 0.963579 0.959158 0.952842 0.948421 0.943368 +0.941474 0.940211 0.938316 0.939579 0.939579 0.938316 0.935158 0.936421 +0.940211 0.942737 0.944632 0.947158 0.947789 0.947789 0.952211 0.957895 +0.954105 0.945895 0.942737 0.941474 0.944 0.948421 0.957263 0.966105 +0.966105 0.961684 0.959158 0.959789 0.959158 0.950316 0.945263 0.945263 +0.944632 0.944632 0.944632 0.946526 0.945895 0.945895 0.946526 0.946526 +0.949684 0.955368 0.957263 0.953474 0.951579 0.949684 0.949053 0.945263 +0.947789 0.949053 0.947789 0.948421 0.947789 0.948421 0.949684 0.950316 +0.951579 0.953474 0.955368 0.953474 0.950316 0.950947 0.953474 0.954105 +0.954737 0.952842 0.952842 0.950947 0.950947 0.948421 0.948421 0.951579 +0.952842 0.949684 0.947158 0.947789 0.947158 0.941474 0.937684 0.941474 +0.945263 0.940842 0.938316 0.942105 0.939579 0.938316 0.937053 0.937053 +0.937684 0.938316 0.940842 0.952211 0.960421 0.960421 0.954105 0.944 +0.936421 0.937684 0.938947 0.936421 0.934526 0.933263 0.935158 0.942105 +0.944632 0.944 0.946526 0.942737 0.943368 0.944 0.938947 0.941474 +0.944632 0.945263 0.945895 0.942105 0.940842 0.945263 0.942105 0.941474 +0.945263 0.947789 0.948421 0.949053 0.952842 0.961053 0.956632 0.948421 +0.945895 0.947158 0.951579 0.953474 0.958526 0.964842 0.966105 0.964842 +0.963579 0.962947 0.963579 0.965474 0.964842 0.962316 0.958526 0.958526 +0.957895 0.958526 0.964842 0.964842 0.967368 0.969895 0.967368 0.964842 +0.959158 0.956 0.955368 0.955368 0.954737 0.952842 0.952211 0.954105 +0.956632 0.957263 0.957263 0.958526 0.960421 0.957263 0.959789 0.963579 +0.964211 0.964842 0.964842 0.971789 0.971789 0.969895 0.972421 0.975579 +0.974316 0.971789 0.970526 0.969263 0.968632 0.969895 0.969263 0.966105 +0.963579 0.963579 0.962316 0.959158 0.961684 0.960421 0.954105 0.949684 +0.944 0.946526 0.947789 0.950947 0.952211 0.949053 0.945895 0.947158 +0.952211 0.951579 0.949684 0.949684 0.948421 0.947789 0.946526 0.947158 +0.949053 0.957895 0.959789 0.954737 0.954737 0.957895 0.957895 0.954737 +0.956 0.958526 0.959789 0.959158 0.956 0.954737 0.952842 0.945263 +0.941474 0.945895 0.945895 0.945263 0.944 0.944632 0.944632 0.943368 +0.940211 0.940842 0.948421 0.954105 0.957895 0.956 0.949684 0.945895 +0.947158 0.948421 0.957263 0.971158 0.982286 0.984245 0.968 0.908632 +0.803789 0.676211 0.565684 0.46024 0.32392 0.259547 0.00098 0.000846667 +0.000873333 0.248187 0.276587 0.00098 0.000726667 0.000653333 0.000673333 0.0007 +0.000706667 0.00068 0.000646667 0.00064 0.000626667 0.000673333 0.000686667 0.00068 +0.000686667 0.000693333 0.0007 0.000666667 0.000633333 0.00064 0.000686667 0.0007 +0.000673333 0.000666667 0.000646667 0.000626667 0.000646667 0.000666667 0.000653333 0.000653333 +0.000686667 0.00068 0.00064 0.000653333 0.000673333 0.000693333 0.000673333 0.000653333 +0.000673333 0.000693333 0.0007 0.000686667 0.000666667 0.000653333 0.000673333 0.000653333 +0.000666667 0.00068 0.000646667 0.000646667 0.00066 0.000653333 0.000646667 0.000646667 +0.000686667 0.00068 0.000653333 0.000673333 0.00068 0.000673333 0.00068 0.000693333 +0.000693333 0.0007 0.00066 0.000673333 0.0007 0.000686667 0.0007 0.000693333 +0.00072 0.000706667 0.000686667 0.000673333 0.000666667 0.0007 0.00072 0.00072 +0.0007 0.000666667 0.000673333 0.0007 0.000713333 0.00074 0.00072 0.000673333 +0.00068 0.000693333 0.000713333 0.000726667 0.000686667 0.000673333 0.000673333 0.00072 +0.000746667 0.000726667 0.000706667 0.000706667 0.0007 0.000713333 0.000693333 0.000693333 +0.0007 0.000713333 0.000706667 0.0007 0.000706667 0.000686667 0.00068 0.0007 +0.00072 0.00072 0.00072 0.000706667 0.00068 0.000686667 0.00068 0.00068 +0.0007 0.0007 0.000693333 0.000686667 0.0007 0.000706667 0.000706667 0.000733333 +0.000726667 0.000713333 0.000693333 0.000693333 0.000706667 0.000706667 0.000706667 0.000686667 +0.00068 0.000686667 0.0007 0.000686667 0.000686667 0.000706667 0.000726667 0.0007 +0.000673333 0.00066 0.00066 0.000666667 0.000686667 0.000693333 0.000706667 0.000693333 +0.000673333 0.000673333 0.00068 0.00068 0.0007 0.000706667 0.000693333 0.000673333 +0.000673333 0.0007 0.000693333 0.000673333 0.00066 0.000673333 0.000686667 0.000693333 +0.000693333 0.000666667 0.000653333 0.000653333 0.000653333 0.000646667 0.00064 0.000653333 +0.00068 0.000646667 0.000633333 0.000626667 0.000646667 0.000666667 0.000653333 0.000646667 +0.000646667 0.000646667 0.00066 0.00066 0.00066 0.00064 0.00066 0.00066 +0.000646667 0.00062 0.000626667 0.000673333 0.000666667 0.000646667 0.00064 0.000653333 +0.000666667 0.000653333 0.00062 0.00062 0.00062 0.00064 0.00068 0.00064 +0.000633333 0.000653333 0.000626667 0.000613333 0.000653333 0.00068 0.00066 0.000666667 +0.0007 0.000693333 0.000666667 0.000673333 0.000653333 0.000666667 0.00074 0.00076 +0.00076 0.0008 0.000826667 0.000853333 0.000926667 0.231147 0.280373 0.320133 +0.342853 0.358 0.371253 0.40912 0.503789 0.564421 0.650947 0.757053 +0.858737 0.936421 0.982939 0.993061 0.992735 0.987184 0.98 0.968 +0.957895 0.952211 0.950316 0.947789 0.947158 0.944632 0.944 0.944632 +0.944632 0.944 0.940211 0.937053 0.938316 0.938947 0.941474 0.944 +0.948421 0.950947 0.951579 0.952211 0.953474 0.952842 0.953474 0.956 +0.955368 0.951579 0.949684 0.947789 0.947789 0.950947 0.954737 0.960421 +0.963579 0.959789 0.956632 0.958526 0.959158 0.956 0.952211 0.949053 +0.948421 0.949684 0.951579 0.954737 0.958526 0.962316 0.965474 0.965474 +0.966105 0.968632 0.967368 0.964211 0.960421 0.957263 0.957263 0.956 +0.954105 0.951579 0.947789 0.949684 0.950316 0.950316 0.950947 0.952211 +0.952842 0.953474 0.952842 0.954737 0.956632 0.954105 0.956 0.957263 +0.954105 0.952842 0.951579 0.950947 0.952842 0.952211 0.949684 0.952211 +0.957263 0.957263 0.954105 0.954737 0.954105 0.948421 0.945263 0.947789 +0.952842 0.952211 0.947789 0.947789 0.943368 0.939579 0.937684 0.938947 +0.942737 0.942105 0.943368 0.948421 0.950947 0.948421 0.945895 0.941474 +0.937053 0.937053 0.938316 0.940211 0.939579 0.937684 0.939579 0.944 +0.947789 0.948421 0.950947 0.947789 0.947789 0.947158 0.943368 0.945895 +0.950947 0.950947 0.949684 0.946526 0.944632 0.948421 0.947158 0.945263 +0.947158 0.948421 0.950316 0.954105 0.958526 0.966105 0.964211 0.957895 +0.955368 0.957263 0.961684 0.966737 0.976842 0.982286 0.982612 0.979368 +0.976842 0.978105 0.980653 0.98098 0.978105 0.974316 0.968 0.964842 +0.962947 0.964842 0.968632 0.964842 0.965474 0.969263 0.965474 0.957895 +0.952842 0.951579 0.951579 0.953474 0.954105 0.955368 0.962316 0.970526 +0.976842 0.98 0.981633 0.982939 0.984571 0.985224 0.987837 0.989796 +0.990122 0.990122 0.991755 0.99502 0.993714 0.989143 0.98849 0.990122 +0.989143 0.986531 0.985551 0.984898 0.983918 0.981633 0.978105 0.971789 +0.966105 0.964211 0.961684 0.961053 0.965474 0.964211 0.960421 0.955368 +0.953474 0.958526 0.960421 0.966105 0.966737 0.963579 0.961684 0.957895 +0.952842 0.947789 0.944632 0.943368 0.941474 0.939579 0.936421 0.938947 +0.944632 0.949053 0.948421 0.948421 0.950316 0.953474 0.952211 0.952211 +0.956632 0.956632 0.957263 0.958526 0.960421 0.961053 0.959158 0.956632 +0.958526 0.957263 0.956 0.952842 0.949684 0.946526 0.942105 0.938316 +0.938316 0.940211 0.944632 0.950316 0.954737 0.952842 0.945263 0.942737 +0.942105 0.940211 0.944 0.950947 0.960421 0.972421 0.98098 0.98 +0.946526 0.865053 0.747579 0.623789 0.524 0.39208 0.287947 0.231147 +0.000933333 0.000993333 0.274693 0.253867 0.000853333 0.000713333 0.0007 0.0007 +0.000686667 0.000686667 0.000673333 0.00066 0.000653333 0.000686667 0.000686667 0.000666667 +0.00068 0.00068 0.000673333 0.000666667 0.00068 0.000693333 0.000673333 0.000673333 +0.000673333 0.000646667 0.00064 0.00066 0.000673333 0.000673333 0.00066 0.00068 +0.000673333 0.000646667 0.000626667 0.000646667 0.00068 0.00068 0.00066 0.000653333 +0.000666667 0.000686667 0.000673333 0.00064 0.000633333 0.000646667 0.000686667 0.00068 +0.00066 0.00066 0.000646667 0.000653333 0.000666667 0.00066 0.000673333 0.000686667 +0.000693333 0.000673333 0.000673333 0.0007 0.00068 0.000673333 0.000686667 0.0007 +0.000706667 0.00072 0.000686667 0.000686667 0.00068 0.00068 0.000706667 0.000693333 +0.000693333 0.000686667 0.000686667 0.000673333 0.000673333 0.000706667 0.000713333 0.0007 +0.000706667 0.000693333 0.0007 0.000713333 0.000706667 0.000726667 0.000713333 0.000693333 +0.000693333 0.000693333 0.000693333 0.000686667 0.000673333 0.0007 0.00072 0.000746667 +0.00072 0.000686667 0.00068 0.000713333 0.00068 0.000693333 0.0007 0.000686667 +0.0007 0.000713333 0.000693333 0.000686667 0.00072 0.000713333 0.000693333 0.000686667 +0.000686667 0.000686667 0.0007 0.00072 0.000713333 0.0007 0.000693333 0.00068 +0.000673333 0.000686667 0.000693333 0.000686667 0.000693333 0.000686667 0.000673333 0.000706667 +0.000713333 0.0007 0.000686667 0.000693333 0.0007 0.0007 0.0007 0.000686667 +0.000666667 0.00068 0.000706667 0.000686667 0.00068 0.00068 0.0007 0.000713333 +0.000713333 0.000706667 0.000673333 0.000646667 0.000666667 0.000693333 0.000706667 0.000686667 +0.00068 0.00068 0.000673333 0.000666667 0.000673333 0.000693333 0.00072 0.000713333 +0.00068 0.00068 0.000693333 0.000686667 0.000686667 0.000693333 0.0007 0.0007 +0.0007 0.000693333 0.000693333 0.000686667 0.00068 0.00066 0.000666667 0.00066 +0.00066 0.000646667 0.00064 0.000633333 0.000633333 0.000646667 0.000653333 0.000653333 +0.00066 0.000666667 0.000646667 0.00064 0.000653333 0.000646667 0.000653333 0.000653333 +0.000653333 0.000646667 0.00064 0.000646667 0.000653333 0.000653333 0.00064 0.000633333 +0.000653333 0.000673333 0.000673333 0.000646667 0.00062 0.00062 0.000653333 0.000673333 +0.000653333 0.000646667 0.0006 0.0006 0.000633333 0.000633333 0.00066 0.00072 +0.000773333 0.00078 0.000826667 0.0009 0.000933333 0.00094 0.00096 0.217893 +0.234933 0.2444 0.253867 0.265227 0.280373 0.308773 0.325813 0.33528 +0.36368 0.424267 0.514526 0.583368 0.680632 0.789263 0.883368 0.952211 +0.984571 0.990122 0.98751 0.981306 0.971789 0.961053 0.950947 0.945895 +0.944632 0.944632 0.948421 0.945895 0.943368 0.941474 0.939579 0.941474 +0.945895 0.947789 0.947789 0.947789 0.946526 0.947158 0.948421 0.949684 +0.950316 0.950947 0.949684 0.946526 0.945263 0.945263 0.944632 0.945263 +0.948421 0.950316 0.952211 0.955368 0.958526 0.964211 0.966105 0.961053 +0.961053 0.960421 0.959158 0.961684 0.967368 0.969895 0.966737 0.962947 +0.961684 0.964211 0.968632 0.973684 0.979368 0.980653 0.980653 0.98 +0.976211 0.973684 0.972421 0.968632 0.963579 0.960421 0.958526 0.957895 +0.956632 0.957263 0.954737 0.955368 0.954737 0.950947 0.951579 0.954737 +0.956632 0.957263 0.954737 0.954737 0.959789 0.960421 0.956 0.956632 +0.954737 0.950947 0.948421 0.950947 0.952842 0.952842 0.950947 0.952842 +0.956632 0.959158 0.959789 0.961684 0.961684 0.956632 0.953474 0.957263 +0.962947 0.964842 0.961053 0.960421 0.957895 0.954105 0.951579 0.950947 +0.955368 0.955368 0.949684 0.949053 0.947158 0.945895 0.945895 0.942105 +0.938316 0.935789 0.936421 0.940211 0.940842 0.940842 0.943368 0.947158 +0.952842 0.953474 0.952211 0.950316 0.950947 0.950947 0.945895 0.946526 +0.952842 0.954737 0.954737 0.952211 0.950947 0.954105 0.954105 0.954737 +0.957895 0.959789 0.962316 0.965474 0.965474 0.970526 0.972421 0.971789 +0.977474 0.982612 0.985878 0.992082 1.0022 1.00906 1.00939 1.00449 +1.00024 0.998939 0.999265 0.998286 0.993714 0.990449 0.986204 0.982939 +0.977474 0.974316 0.972421 0.966737 0.969895 0.977474 0.975579 0.969263 +0.966105 0.966105 0.966105 0.972421 0.978737 0.98098 0.985224 0.991755 +0.996653 1.00024 1.00286 1.0058 1.0071 1.00873 1.01233 1.01265 +1.012 1.01102 1.012 1.01298 1.00939 1.00514 1.00449 1.00547 +1.00286 1.00024 0.999592 0.998939 0.996 0.992408 0.989143 0.985551 +0.982286 0.981959 0.980327 0.98098 0.983918 0.984898 0.985551 0.983592 +0.982286 0.981959 0.981306 0.984898 0.984245 0.982939 0.982939 0.978105 +0.968632 0.959158 0.956 0.953474 0.949053 0.943368 0.939579 0.939579 +0.944632 0.943368 0.942737 0.945895 0.947158 0.945263 0.944 0.947789 +0.952842 0.953474 0.951579 0.953474 0.955368 0.956632 0.956 0.957263 +0.962316 0.961684 0.961684 0.962947 0.960421 0.950947 0.944 0.939579 +0.939579 0.940211 0.939579 0.944 0.946526 0.946526 0.942737 0.942105 +0.941474 0.939579 0.938947 0.941474 0.944632 0.950316 0.959789 0.974316 +0.98098 0.964842 0.910526 0.812632 0.684421 0.566316 0.464027 0.337173 +0.265227 0.231147 0.26712 0.28984 0.248187 0.00086 0.000733333 0.00068 +0.000673333 0.000686667 0.000693333 0.000686667 0.000666667 0.000686667 0.00068 0.000653333 +0.000673333 0.0007 0.000693333 0.000686667 0.00068 0.00068 0.000646667 0.000666667 +0.000666667 0.000646667 0.00064 0.000666667 0.000693333 0.000673333 0.000666667 0.00066 +0.00064 0.000653333 0.000646667 0.000666667 0.000686667 0.00068 0.0007 0.000673333 +0.000673333 0.000693333 0.00068 0.000666667 0.000666667 0.00066 0.0007 0.000693333 +0.000653333 0.000653333 0.00066 0.000686667 0.000693333 0.000673333 0.00068 0.000693333 +0.000693333 0.000686667 0.00068 0.00068 0.00066 0.000693333 0.00072 0.0007 +0.0007 0.0007 0.000673333 0.000653333 0.000666667 0.000693333 0.000693333 0.000666667 +0.000673333 0.000673333 0.000706667 0.000686667 0.000666667 0.000673333 0.000686667 0.000706667 +0.000726667 0.000706667 0.000693333 0.00068 0.00068 0.000693333 0.0007 0.000713333 +0.000693333 0.000653333 0.000653333 0.000666667 0.0007 0.000726667 0.00072 0.000726667 +0.000693333 0.00066 0.000693333 0.000733333 0.0007 0.0007 0.000713333 0.000713333 +0.0007 0.000713333 0.000706667 0.000686667 0.00072 0.00072 0.0007 0.000693333 +0.000686667 0.000686667 0.000693333 0.000706667 0.000706667 0.000713333 0.000713333 0.000706667 +0.000693333 0.0007 0.000693333 0.000693333 0.000706667 0.000713333 0.000693333 0.000686667 +0.000693333 0.000693333 0.00068 0.000686667 0.000706667 0.000706667 0.000713333 0.000713333 +0.00068 0.00066 0.000706667 0.0007 0.000713333 0.000713333 0.000686667 0.000673333 +0.000686667 0.000713333 0.0007 0.00068 0.000673333 0.000673333 0.00068 0.000686667 +0.0007 0.000693333 0.00068 0.00068 0.000673333 0.00066 0.000666667 0.000693333 +0.000686667 0.00066 0.00068 0.000673333 0.00066 0.00068 0.0007 0.0007 +0.0007 0.000666667 0.000673333 0.000693333 0.000693333 0.000693333 0.000706667 0.000673333 +0.00066 0.00066 0.00066 0.00066 0.000653333 0.00066 0.00066 0.00064 +0.00064 0.00068 0.000686667 0.00066 0.000646667 0.000646667 0.000666667 0.000686667 +0.000673333 0.000646667 0.000646667 0.000653333 0.000646667 0.000646667 0.00064 0.000626667 +0.000626667 0.00064 0.000646667 0.000653333 0.000646667 0.000633333 0.000613333 0.00064 +0.000693333 0.00066 0.000613333 0.00064 0.000666667 0.0007 0.000806667 0.00094 +0.225467 0.23304 0.23872 0.25576 0.270907 0.28416 0.282267 0.27848 +0.293627 0.303093 0.299307 0.293627 0.29552 0.3012 0.322027 0.3864 +0.513895 0.592211 0.692632 0.805684 0.904842 0.970526 0.991102 0.993714 +0.98751 0.98 0.965474 0.954105 0.951579 0.949684 0.947158 0.944632 +0.942737 0.939579 0.942105 0.940842 0.939579 0.942105 0.942105 0.940842 +0.945895 0.950947 0.956 0.960421 0.959158 0.957895 0.952842 0.948421 +0.947158 0.947789 0.945263 0.944 0.946526 0.950316 0.952211 0.954105 +0.959789 0.963579 0.968632 0.973684 0.975579 0.98 0.98098 0.975579 +0.973053 0.973684 0.971789 0.973053 0.978105 0.980327 0.978737 0.978737 +0.98 0.98098 0.982286 0.984571 0.986857 0.987184 0.98751 0.98849 +0.986531 0.983918 0.982939 0.981959 0.981306 0.98 0.976842 0.973684 +0.971158 0.971789 0.969263 0.964211 0.963579 0.959158 0.954105 0.955368 +0.956632 0.954737 0.954105 0.955368 0.956 0.955368 0.949684 0.948421 +0.948421 0.943368 0.941474 0.945263 0.952842 0.956632 0.956632 0.959158 +0.964842 0.969895 0.974316 0.980327 0.982939 0.981306 0.980327 0.982939 +0.985878 0.987184 0.985551 0.985224 0.984571 0.983265 0.981633 0.977474 +0.977474 0.978105 0.971158 0.963579 0.956632 0.952211 0.950316 0.946526 +0.942737 0.940211 0.940211 0.939579 0.940842 0.941474 0.944632 0.947158 +0.950316 0.950947 0.950316 0.948421 0.950947 0.952211 0.947789 0.947158 +0.949684 0.954105 0.957263 0.954105 0.954105 0.957263 0.956 0.958526 +0.961684 0.963579 0.964842 0.966105 0.969263 0.979368 0.986204 0.999265 +1.01624 1.02539 1.02669 1.03029 1.03682 1.03812 1.03649 1.03094 +1.0231 1.01722 1.01559 1.01429 1.00939 1.00482 0.999592 0.993714 +0.987837 0.982612 0.976211 0.971789 0.979368 0.985878 0.988816 0.987837 +0.985551 0.983592 0.984245 0.990449 0.996 0.996327 0.997633 1.00384 +1.01069 1.01527 1.01755 1.01918 1.0182 1.01984 1.02539 1.02539 +1.02506 1.0231 1.02343 1.02278 1.01886 1.0169 1.01788 1.0169 +1.01363 1.01102 1.01069 1.00906 1.00547 1.00318 1.00155 0.997633 +0.99502 0.99502 0.993061 0.993061 0.995673 0.998612 1.0009 1.00024 +0.99698 0.993061 0.993388 0.996 0.995673 0.996327 0.99698 0.993388 +0.990449 0.985224 0.982612 0.980653 0.977474 0.971158 0.962947 0.961053 +0.961053 0.955368 0.956 0.959789 0.960421 0.952842 0.945263 0.944632 +0.944632 0.942737 0.944 0.944632 0.945263 0.944632 0.944 0.944632 +0.945263 0.948421 0.953474 0.956632 0.960421 0.957895 0.954105 0.949053 +0.944632 0.941474 0.940211 0.941474 0.940842 0.944632 0.945895 0.944632 +0.944632 0.944 0.940211 0.937684 0.935789 0.939579 0.945263 0.952842 +0.964842 0.974316 0.976842 0.946526 0.863789 0.741263 0.621263 0.523368 +0.378827 0.287947 0.270907 0.3012 0.299307 0.248187 0.000893333 0.000746667 +0.000686667 0.000706667 0.000706667 0.0007 0.00068 0.00068 0.00068 0.000666667 +0.000706667 0.000726667 0.0007 0.00068 0.000673333 0.00068 0.000686667 0.00068 +0.000653333 0.000673333 0.0007 0.000706667 0.000713333 0.000666667 0.000646667 0.000666667 +0.000673333 0.000673333 0.000673333 0.000686667 0.0007 0.0007 0.000706667 0.00068 +0.000666667 0.000686667 0.000693333 0.00068 0.000673333 0.00066 0.000693333 0.000693333 +0.000653333 0.000653333 0.000666667 0.00068 0.000666667 0.000646667 0.00068 0.00068 +0.000686667 0.000666667 0.00064 0.000673333 0.000673333 0.000693333 0.000706667 0.000693333 +0.00068 0.00066 0.00064 0.000646667 0.00066 0.000666667 0.000673333 0.00066 +0.000673333 0.000686667 0.0007 0.00068 0.00066 0.000673333 0.000686667 0.000713333 +0.000706667 0.000686667 0.000666667 0.000666667 0.000686667 0.0007 0.0007 0.000686667 +0.00066 0.000646667 0.000673333 0.000706667 0.000713333 0.000693333 0.00068 0.000693333 +0.000673333 0.00068 0.000713333 0.000713333 0.00072 0.000726667 0.000713333 0.000713333 +0.000706667 0.000713333 0.00072 0.00072 0.000726667 0.000733333 0.00072 0.000706667 +0.000713333 0.000713333 0.000726667 0.000726667 0.000706667 0.000706667 0.00072 0.000706667 +0.0007 0.000713333 0.000686667 0.00068 0.0007 0.00072 0.000726667 0.000726667 +0.0007 0.000706667 0.000686667 0.000686667 0.000693333 0.000713333 0.00072 0.000733333 +0.000733333 0.0007 0.000686667 0.000686667 0.000713333 0.000733333 0.000726667 0.0007 +0.000686667 0.00068 0.000693333 0.0007 0.000693333 0.000686667 0.00068 0.000666667 +0.000686667 0.000706667 0.0007 0.0007 0.000686667 0.00066 0.000653333 0.000666667 +0.00066 0.00066 0.000686667 0.0007 0.000666667 0.000646667 0.00066 0.000666667 +0.000686667 0.000673333 0.000646667 0.000646667 0.00066 0.000673333 0.000693333 0.000666667 +0.000646667 0.00064 0.00064 0.00066 0.000646667 0.000653333 0.00066 0.000633333 +0.000606667 0.000626667 0.000646667 0.00064 0.00064 0.000633333 0.000653333 0.00068 +0.000666667 0.00064 0.00066 0.00066 0.000653333 0.000653333 0.000633333 0.00064 +0.000653333 0.00064 0.000646667 0.000646667 0.000646667 0.00066 0.000646667 0.000633333 +0.000673333 0.00066 0.00064 0.000693333 0.000813333 0.216 0.26144 0.27848 +0.26144 0.2444 0.234933 0.231147 0.23304 0.246293 0.246293 0.240613 +0.234933 0.231147 0.23304 0.259547 0.30688 0.361787 0.492427 0.582105 +0.700211 0.817053 0.911158 0.976842 0.993061 0.992408 0.986857 0.980653 +0.969263 0.960421 0.954737 0.952842 0.951579 0.949053 0.947158 0.946526 +0.944 0.939579 0.938316 0.938316 0.937684 0.939579 0.945895 0.950316 +0.953474 0.957263 0.961684 0.962316 0.962316 0.961684 0.957263 0.953474 +0.954105 0.955368 0.955368 0.958526 0.962947 0.969263 0.973684 0.978105 +0.981959 0.985551 0.98849 0.988816 0.988163 0.989143 0.990776 0.990449 +0.989796 0.98751 0.984898 0.984245 0.984898 0.984898 0.983592 0.984898 +0.988816 0.990449 0.993061 0.996 0.997306 0.998612 1.0009 1.00351 +1.00122 0.998286 0.998286 0.998286 0.998612 0.998286 0.995673 0.995673 +0.996653 0.994694 0.990449 0.983265 0.978737 0.971789 0.959789 0.954737 +0.956 0.956632 0.956632 0.960421 0.959789 0.956 0.949053 0.945263 +0.945263 0.944632 0.946526 0.949684 0.957895 0.964842 0.968632 0.973053 +0.980653 0.983918 0.986857 0.990776 0.996653 0.998286 0.998286 1.00318 +1.00873 1.01102 1.00939 1.00645 1.00351 1.00122 1.00155 1.0009 +1.00024 1.00351 1.00155 0.993061 0.986857 0.981306 0.971158 0.960421 +0.955368 0.950947 0.949053 0.944 0.942737 0.944 0.947158 0.952211 +0.953474 0.951579 0.954105 0.954105 0.955368 0.955368 0.953474 0.954105 +0.952211 0.952842 0.957263 0.955368 0.957263 0.958526 0.955368 0.954737 +0.954737 0.959789 0.968 0.973053 0.981959 0.992735 1.01429 1.05543 +1.20912 1.25324 1.19542 1.12695 1.08435 1.05053 1.04008 1.03682 +1.03159 1.02767 1.02539 1.02441 1.02114 1.01559 1.00841 1.0009 +0.995347 0.990122 0.984898 0.984245 0.986531 0.992735 0.998286 0.999265 +0.996 0.993061 0.994367 1.00122 1.0071 1.00841 1.00971 1.01461 +1.01918 1.02212 1.02278 1.0231 1.02212 1.0231 1.02767 1.02865 +1.028 1.02539 1.02604 1.02539 1.02245 1.0218 1.02245 1.01984 +1.01788 1.01624 1.01461 1.01363 1.012 1.00906 1.0071 1.00482 +1.00384 1.00482 1.00449 1.00514 1.00514 1.0058 1.00612 1.00645 +1.00416 0.999918 0.999918 0.998939 0.998286 1.00122 1.00286 1.00057 +0.998939 0.995347 0.991755 0.991429 0.992408 0.991429 0.988163 0.988163 +0.986204 0.984245 0.983918 0.984571 0.982939 0.975579 0.965474 0.958526 +0.952211 0.945895 0.942737 0.939579 0.940211 0.937684 0.934526 0.935158 +0.935789 0.939579 0.941474 0.943368 0.947789 0.952211 0.958526 0.959158 +0.957895 0.952842 0.950316 0.945263 0.940842 0.942737 0.948421 0.946526 +0.944632 0.942105 0.938316 0.935158 0.933263 0.935158 0.939579 0.939579 +0.943368 0.954105 0.969263 0.980653 0.963579 0.904842 0.799368 0.669263 +0.553684 0.441307 0.331493 0.304987 0.322027 0.31824 0.26712 0.00092 +0.000753333 0.0007 0.000706667 0.000713333 0.000686667 0.000666667 0.000666667 0.000693333 +0.000713333 0.000706667 0.0007 0.000693333 0.00066 0.000693333 0.0007 0.000646667 +0.000646667 0.000713333 0.000746667 0.000713333 0.000673333 0.000646667 0.000653333 0.000653333 +0.00066 0.00066 0.000666667 0.00066 0.00066 0.00066 0.00066 0.000646667 +0.00064 0.000653333 0.000666667 0.00064 0.00064 0.00064 0.000673333 0.000666667 +0.000646667 0.000666667 0.000653333 0.000646667 0.00064 0.00064 0.000666667 0.00066 +0.00066 0.000626667 0.000613333 0.000673333 0.00068 0.000673333 0.000666667 0.00064 +0.000626667 0.000633333 0.000633333 0.00064 0.000633333 0.000653333 0.000686667 0.000673333 +0.000686667 0.000686667 0.00068 0.000653333 0.000666667 0.0007 0.000686667 0.000673333 +0.00066 0.00066 0.00066 0.000686667 0.0007 0.00068 0.000666667 0.000653333 +0.000653333 0.000673333 0.000693333 0.000693333 0.000686667 0.00066 0.000673333 0.000693333 +0.000693333 0.0007 0.0007 0.000686667 0.000713333 0.000726667 0.00074 0.000733333 +0.000713333 0.000713333 0.000713333 0.00074 0.00072 0.000713333 0.000726667 0.000726667 +0.00072 0.00072 0.000706667 0.000713333 0.00072 0.00072 0.000733333 0.00072 +0.000706667 0.000726667 0.000726667 0.000686667 0.000693333 0.000693333 0.0007 0.000733333 +0.000733333 0.00072 0.000693333 0.000686667 0.000673333 0.00068 0.000686667 0.000693333 +0.0007 0.00072 0.0007 0.000673333 0.000673333 0.000673333 0.00072 0.000733333 +0.000693333 0.000673333 0.00068 0.000686667 0.000693333 0.0007 0.000693333 0.000693333 +0.00068 0.000673333 0.000666667 0.000693333 0.0007 0.000686667 0.000673333 0.00066 +0.000653333 0.00066 0.00066 0.000686667 0.00068 0.000666667 0.000653333 0.00064 +0.000653333 0.00068 0.00068 0.000666667 0.00064 0.000633333 0.000646667 0.00066 +0.00066 0.000646667 0.000633333 0.000633333 0.000626667 0.00064 0.000666667 0.000653333 +0.00064 0.000633333 0.000626667 0.00064 0.000646667 0.000646667 0.000653333 0.000633333 +0.00062 0.000626667 0.000653333 0.00066 0.00064 0.00062 0.000633333 0.000646667 +0.000653333 0.000653333 0.000666667 0.000653333 0.000626667 0.000653333 0.000673333 0.00068 +0.00068 0.00064 0.000673333 0.00084 0.2444 0.291733 0.282267 0.236827 +0.000893333 0.000786667 0.000773333 0.00078 0.00078 0.0008 0.0008 0.00082 +0.00084 0.000873333 0.216 0.29552 0.424267 0.546105 0.658526 0.794316 +0.912421 0.98098 0.994694 0.993388 0.985878 0.973684 0.959789 0.951579 +0.950316 0.954105 0.955368 0.952842 0.947789 0.944632 0.943368 0.942737 +0.941474 0.942105 0.942737 0.945895 0.948421 0.949053 0.951579 0.956 +0.961053 0.961684 0.957895 0.956 0.958526 0.960421 0.961053 0.962316 +0.963579 0.966737 0.973684 0.979368 0.983592 0.987184 0.992082 0.994694 +0.995673 0.999265 1.00122 1.00188 1.0009 1.00057 1.00057 1.0009 +0.999265 0.995673 0.992408 0.991102 0.992735 0.994694 0.99502 0.997306 +1.00253 1.00514 1.00873 1.01363 1.01461 1.01494 1.01722 1.01886 +1.01592 1.01461 1.01755 1.01722 1.01559 1.01461 1.012 1.01624 +1.02278 1.01918 1.01167 1.0022 0.993061 0.986857 0.981306 0.976211 +0.974316 0.976211 0.974947 0.973684 0.976211 0.973053 0.966737 0.959789 +0.956632 0.957263 0.961053 0.964211 0.969263 0.979368 0.981959 0.984245 +0.98751 0.990449 0.994041 0.997959 1.00449 1.00906 1.01102 1.01592 +1.02245 1.02669 1.02637 1.0218 1.0182 1.01722 1.02343 1.0329 +1.04237 1.05412 1.0538 1.03682 1.02245 1.01037 0.997306 0.984898 +0.978737 0.969263 0.960421 0.951579 0.945895 0.946526 0.948421 0.954105 +0.957263 0.953474 0.954105 0.957263 0.959158 0.956 0.953474 0.954737 +0.953474 0.954737 0.958526 0.957895 0.958526 0.962947 0.960421 0.958526 +0.959158 0.966105 0.98098 0.987184 0.992408 1.00743 1.04694 1.30194 +1.51953 1.56061 1.45714 1.27455 1.13456 1.05216 1.03845 1.0342 +1.03224 1.0329 1.03029 1.028 1.02604 1.02245 1.01592 1.00873 +1.00384 1.00122 0.998286 0.997959 0.996653 0.999265 1.00351 1.0058 +1.0058 1.00547 1.00743 1.01167 1.01657 1.01984 1.02212 1.02441 +1.02571 1.02735 1.02833 1.02669 1.02539 1.02669 1.02963 1.02931 +1.02702 1.02473 1.02571 1.02571 1.02441 1.02376 1.02376 1.02082 +1.01951 1.01918 1.01853 1.0169 1.01331 1.01135 1.01037 1.0071 +1.00612 1.00743 1.00743 1.00776 1.00547 1.00384 1.00286 1.00351 +1.00318 1.00155 1.00253 1.0009 0.999918 1.00286 1.00318 1.00155 +0.999918 0.996653 0.992735 0.992735 0.995347 0.997306 0.997306 0.998939 +0.998286 0.996327 0.99698 0.997959 0.995347 0.991102 0.988816 0.985878 +0.981306 0.973053 0.962947 0.953474 0.944632 0.937053 0.936421 0.936421 +0.936421 0.936421 0.933895 0.935158 0.935158 0.937053 0.944632 0.952842 +0.959158 0.960421 0.959158 0.953474 0.947158 0.944632 0.947789 0.948421 +0.945263 0.944 0.941474 0.938316 0.936421 0.935789 0.942105 0.941474 +0.937053 0.942105 0.953474 0.964842 0.976211 0.974316 0.933263 0.841684 +0.720421 0.599158 0.506316 0.371253 0.331493 0.333387 0.322027 0.269013 +0.000933333 0.000806667 0.00074 0.000726667 0.000686667 0.000673333 0.000686667 0.000693333 +0.0007 0.000706667 0.000706667 0.000706667 0.00068 0.00068 0.000673333 0.00066 +0.000686667 0.000726667 0.000686667 0.00066 0.000653333 0.000646667 0.00064 0.000646667 +0.000646667 0.000653333 0.000666667 0.000646667 0.000653333 0.000653333 0.00066 0.000653333 +0.00064 0.000646667 0.00066 0.000646667 0.000653333 0.00064 0.000673333 0.000693333 +0.000653333 0.00066 0.000653333 0.000666667 0.000673333 0.00066 0.000653333 0.00066 +0.00066 0.00064 0.000653333 0.00068 0.000693333 0.00068 0.00066 0.000646667 +0.000653333 0.000653333 0.000646667 0.000653333 0.000673333 0.000693333 0.000686667 0.00068 +0.000686667 0.000666667 0.000666667 0.000673333 0.000686667 0.000693333 0.00068 0.000666667 +0.00064 0.000673333 0.00068 0.000673333 0.00068 0.000666667 0.000673333 0.000686667 +0.000673333 0.000673333 0.000673333 0.000666667 0.000686667 0.00068 0.000686667 0.000693333 +0.00068 0.000686667 0.000693333 0.0007 0.000726667 0.000726667 0.000733333 0.000746667 +0.00072 0.000706667 0.000706667 0.000726667 0.000726667 0.000706667 0.000706667 0.000706667 +0.000706667 0.00072 0.000706667 0.00068 0.000693333 0.000693333 0.0007 0.000693333 +0.000673333 0.000693333 0.000706667 0.000693333 0.000713333 0.000693333 0.000666667 0.00068 +0.000686667 0.0007 0.000706667 0.000693333 0.000693333 0.0007 0.000686667 0.00068 +0.00066 0.00068 0.000713333 0.0007 0.00068 0.000666667 0.000686667 0.000713333 +0.0007 0.00068 0.000673333 0.00068 0.00068 0.000673333 0.00068 0.000706667 +0.000713333 0.000686667 0.000666667 0.000693333 0.000706667 0.000693333 0.000693333 0.000693333 +0.00068 0.00068 0.000666667 0.000666667 0.000673333 0.000693333 0.000693333 0.00068 +0.000673333 0.000673333 0.000686667 0.000713333 0.000693333 0.000666667 0.000653333 0.000666667 +0.000693333 0.00068 0.00064 0.000626667 0.000646667 0.00064 0.000646667 0.000653333 +0.000653333 0.00066 0.00064 0.000646667 0.00066 0.000673333 0.000686667 0.000673333 +0.000626667 0.000613333 0.000646667 0.000646667 0.000646667 0.000626667 0.00062 0.000633333 +0.000646667 0.000646667 0.000653333 0.000646667 0.000646667 0.000653333 0.000653333 0.00068 +0.000673333 0.000653333 0.000773333 0.23304 0.287947 0.263333 0.000946667 0.00076 +0.000666667 0.00066 0.00068 0.000706667 0.000733333 0.000733333 0.000746667 0.00082 +0.00092 0.246293 0.35232 0.515789 0.613053 0.740632 0.869474 0.966105 +0.994367 0.994367 0.986857 0.974947 0.957895 0.948421 0.944 0.944 +0.949684 0.956632 0.957263 0.951579 0.943368 0.941474 0.942105 0.945263 +0.945263 0.945263 0.949684 0.955368 0.958526 0.961684 0.960421 0.957895 +0.958526 0.960421 0.958526 0.959158 0.962316 0.962316 0.966737 0.974947 +0.980327 0.983592 0.988816 0.991755 0.994694 0.998612 1.00286 1.00384 +1.00351 1.00416 1.0058 1.0071 1.00776 1.00776 1.00547 1.00482 +1.00351 1.00122 1.00024 1.00318 1.00514 1.00776 1.01004 1.01233 +1.01592 1.01951 1.02212 1.02506 1.02473 1.02441 1.02473 1.02637 +1.02408 1.02441 1.02604 1.02571 1.0231 1.01951 1.01886 1.02571 +1.03388 1.03029 1.02212 1.01429 1.0058 0.998286 0.994694 0.992408 +0.990449 0.990776 0.988163 0.983918 0.983265 0.984245 0.982286 0.976842 +0.974316 0.976211 0.980653 0.981633 0.981959 0.98751 0.990449 0.990449 +0.993714 0.996653 0.999592 1.00384 1.012 1.01722 1.01984 1.0231 +1.028 1.03094 1.02963 1.02735 1.02637 1.02669 1.0378 1.07369 +1.17108 1.23651 1.25933 1.19086 1.07369 1.03714 1.01429 0.997959 +0.991429 0.986857 0.983918 0.98 0.970526 0.968 0.965474 0.966105 +0.967368 0.959789 0.956 0.957895 0.961684 0.957263 0.952211 0.954737 +0.956632 0.957895 0.961684 0.962947 0.964211 0.969895 0.972421 0.974316 +0.975579 0.981633 0.987837 0.989796 0.991429 1.00873 1.07674 1.42062 +1.60321 1.60474 1.50279 1.2852 1.09956 1.04824 1.0378 1.03518 +1.03616 1.03747 1.03486 1.0329 1.03127 1.02833 1.02376 1.0169 +1.01102 1.00939 1.00808 1.00873 1.0058 1.0058 1.00776 1.01004 +1.01298 1.01461 1.01559 1.0182 1.02376 1.02604 1.02669 1.02735 +1.02702 1.02898 1.02996 1.02702 1.02506 1.02735 1.03094 1.03061 +1.02637 1.02539 1.02473 1.02278 1.0231 1.0231 1.02245 1.01951 +1.01788 1.01755 1.01592 1.012 1.00971 1.00939 1.00743 1.00416 +1.00318 1.00253 1.00188 1.00318 1.00188 1.00024 0.999918 1.0009 +1.00024 1.00057 1.00188 1.00057 1.00122 1.00351 1.00286 1.0022 +1.00188 0.999592 0.996653 0.995673 0.995673 0.996653 0.999265 1.00122 +0.999592 0.998939 0.999918 1.0009 0.998939 0.99502 0.994041 0.99502 +0.994694 0.991429 0.986204 0.978105 0.957263 0.945263 0.943368 0.940211 +0.935789 0.935158 0.935158 0.933263 0.928842 0.92821 0.931368 0.937053 +0.941474 0.947789 0.954737 0.956632 0.954737 0.950947 0.950316 0.948421 +0.944 0.946526 0.945263 0.940211 0.937053 0.937684 0.940211 0.939579 +0.936421 0.937684 0.945263 0.949684 0.954105 0.968632 0.976842 0.950316 +0.878947 0.764 0.632 0.524 0.390187 0.327707 0.325813 0.320133 +0.286053 0.223573 0.00082 0.000713333 0.00068 0.000666667 0.00068 0.000686667 +0.00068 0.0007 0.0007 0.000713333 0.000686667 0.000653333 0.00068 0.0007 +0.000686667 0.000653333 0.000626667 0.000646667 0.00068 0.00064 0.000633333 0.000666667 +0.00066 0.00066 0.00066 0.000653333 0.000673333 0.0007 0.0007 0.000666667 +0.000646667 0.00066 0.00068 0.000666667 0.000673333 0.00066 0.000693333 0.000713333 +0.00066 0.000653333 0.00066 0.000673333 0.000693333 0.000646667 0.000653333 0.000666667 +0.000666667 0.000673333 0.000666667 0.00068 0.000686667 0.000686667 0.00068 0.00068 +0.000666667 0.000646667 0.000646667 0.000673333 0.0007 0.0007 0.000666667 0.00066 +0.000666667 0.000673333 0.000686667 0.00068 0.00068 0.000673333 0.00068 0.0007 +0.00068 0.000686667 0.00066 0.00064 0.000686667 0.000693333 0.0007 0.000693333 +0.000666667 0.000666667 0.000673333 0.000693333 0.000706667 0.000686667 0.000686667 0.00068 +0.000673333 0.000713333 0.000713333 0.000693333 0.000713333 0.00072 0.00072 0.000733333 +0.00072 0.000693333 0.000686667 0.0007 0.000726667 0.000713333 0.0007 0.000693333 +0.00068 0.000693333 0.00072 0.000713333 0.000713333 0.000693333 0.000693333 0.000706667 +0.000693333 0.000673333 0.00066 0.000653333 0.000693333 0.000706667 0.000693333 0.000693333 +0.00066 0.00066 0.00068 0.000666667 0.000686667 0.000713333 0.000706667 0.000686667 +0.000673333 0.000673333 0.000686667 0.000706667 0.000706667 0.0007 0.000706667 0.000706667 +0.000693333 0.000686667 0.00068 0.000686667 0.000693333 0.000693333 0.00068 0.00068 +0.00068 0.00068 0.00068 0.000693333 0.000686667 0.000673333 0.000693333 0.000713333 +0.000693333 0.00068 0.000666667 0.000653333 0.000633333 0.000653333 0.000673333 0.000673333 +0.000693333 0.000693333 0.00066 0.000673333 0.000686667 0.000686667 0.000673333 0.000666667 +0.00068 0.000666667 0.00066 0.000653333 0.000673333 0.00068 0.000653333 0.00062 +0.000633333 0.000646667 0.000646667 0.000653333 0.000646667 0.000646667 0.000666667 0.00068 +0.000666667 0.000646667 0.000673333 0.000686667 0.000693333 0.000673333 0.00068 0.00068 +0.00066 0.000646667 0.00068 0.00066 0.000673333 0.000706667 0.0007 0.000713333 +0.000666667 0.000713333 0.000986667 0.282267 0.25576 0.000873333 0.0007 0.000626667 +0.000613333 0.00064 0.000666667 0.000686667 0.000733333 0.000746667 0.000853333 0.234933 +0.30688 0.445093 0.566316 0.691368 0.826526 0.935789 0.987184 0.996653 +0.991102 0.978737 0.962316 0.951579 0.943368 0.942737 0.944 0.945895 +0.952211 0.956 0.954105 0.952842 0.950316 0.950947 0.952842 0.955368 +0.957895 0.956 0.954737 0.957263 0.961053 0.965474 0.961684 0.957895 +0.959158 0.960421 0.963579 0.968 0.972421 0.976842 0.982612 0.987837 +0.991429 0.995347 1.00057 1.00449 1.00612 1.00808 1.0071 1.00645 +1.00776 1.00678 1.00547 1.00645 1.00873 1.01004 1.00841 1.00808 +1.01135 1.012 1.012 1.01559 1.01886 1.01886 1.01886 1.02212 +1.02343 1.02506 1.02506 1.02571 1.02506 1.02506 1.02637 1.02669 +1.02669 1.02833 1.02767 1.02735 1.02473 1.0218 1.02278 1.02408 +1.02473 1.02114 1.01559 1.01233 1.00808 1.00188 0.999592 0.998939 +0.998286 0.998612 0.997633 0.993388 0.990122 0.989143 0.989143 0.98751 +0.986857 0.988163 0.989796 0.992735 0.992408 0.994367 0.99698 0.997306 +1.00057 1.00514 1.00678 1.00873 1.01755 1.02441 1.02637 1.02767 +1.02996 1.03127 1.02898 1.02833 1.02931 1.02996 1.03943 1.09348 +1.1939 1.23346 1.2715 1.24259 1.10565 1.03453 1.00939 0.995347 +0.990776 0.990449 0.991755 0.997306 1.00449 1.00971 1.0071 1.00122 +0.993388 0.983918 0.977474 0.974316 0.976842 0.974947 0.971158 0.974947 +0.981306 0.982939 0.983592 0.985551 0.985224 0.985224 0.987184 0.990776 +0.989469 0.988163 0.98849 0.984571 0.984245 1.00678 1.09652 1.44345 +1.56974 1.47236 1.33237 1.16043 1.05282 1.04171 1.03682 1.03616 +1.03714 1.03682 1.03388 1.0329 1.03224 1.02963 1.02571 1.02049 +1.01624 1.01298 1.01135 1.01265 1.01135 1.01102 1.01135 1.01167 +1.01592 1.01918 1.02016 1.02245 1.02637 1.02637 1.02571 1.02637 +1.02735 1.028 1.02735 1.02539 1.02376 1.02506 1.02702 1.02441 +1.02212 1.0231 1.02278 1.02114 1.02212 1.02114 1.01918 1.01755 +1.01788 1.01657 1.01331 1.00939 1.00808 1.00678 1.00286 0.998612 +0.996327 0.994367 0.995347 0.996653 0.997306 0.997959 0.999592 1.0009 +1.00057 1.00122 1.00155 1.00057 1.00253 1.00384 1.00318 1.00318 +1.00318 1.00122 1.0022 1.00253 1.00024 0.999592 1.00155 1.00351 +1.00188 1.00253 1.00351 1.00155 0.998939 0.997306 0.996327 0.996327 +0.997959 0.997306 0.995347 0.988816 0.976842 0.964211 0.958526 0.955368 +0.950947 0.949684 0.946526 0.940211 0.937684 0.937053 0.935158 0.933263 +0.930737 0.938316 0.947158 0.951579 0.955368 0.956 0.954737 0.952211 +0.948421 0.945895 0.945895 0.944 0.940211 0.939579 0.935789 0.935789 +0.937684 0.937684 0.938316 0.940842 0.944 0.951579 0.966737 0.975579 +0.960421 0.902947 0.794316 0.662316 0.544842 0.42048 0.331493 0.314453 +0.320133 0.28984 0.22168 0.000786667 0.000686667 0.00066 0.000673333 0.000673333 +0.00068 0.000706667 0.00072 0.000686667 0.000653333 0.000626667 0.000673333 0.00068 +0.000653333 0.000626667 0.000633333 0.000673333 0.000666667 0.00064 0.000633333 0.000666667 +0.000666667 0.000633333 0.00064 0.000653333 0.00068 0.000693333 0.000666667 0.000653333 +0.000653333 0.000646667 0.00066 0.00066 0.000666667 0.00066 0.000666667 0.00068 +0.000653333 0.00064 0.00064 0.000653333 0.000653333 0.00062 0.000653333 0.000666667 +0.000666667 0.00066 0.00066 0.00068 0.000686667 0.000673333 0.000686667 0.00066 +0.00064 0.000666667 0.000666667 0.000666667 0.00068 0.00068 0.00066 0.000666667 +0.00068 0.000706667 0.000706667 0.00068 0.000673333 0.000686667 0.000706667 0.000706667 +0.000686667 0.000673333 0.00066 0.00068 0.00072 0.0007 0.00068 0.000653333 +0.000673333 0.000686667 0.000693333 0.000713333 0.000693333 0.000693333 0.000686667 0.000673333 +0.0007 0.00072 0.000693333 0.00066 0.000693333 0.000706667 0.000726667 0.000733333 +0.000726667 0.000713333 0.000693333 0.0007 0.0007 0.000693333 0.000693333 0.000706667 +0.0007 0.0007 0.000713333 0.000706667 0.000713333 0.0007 0.000686667 0.000706667 +0.000733333 0.00072 0.0007 0.00068 0.000673333 0.000686667 0.000706667 0.000726667 +0.00072 0.0007 0.000673333 0.000653333 0.000653333 0.000673333 0.000693333 0.000693333 +0.000686667 0.000686667 0.000673333 0.000673333 0.000713333 0.00072 0.000713333 0.000726667 +0.00072 0.000713333 0.000693333 0.000686667 0.000713333 0.000726667 0.000713333 0.000713333 +0.000713333 0.000693333 0.000693333 0.000693333 0.0007 0.0007 0.000686667 0.000693333 +0.0007 0.0007 0.00068 0.000673333 0.000646667 0.00064 0.000646667 0.000666667 +0.000686667 0.00068 0.00066 0.000666667 0.000666667 0.000673333 0.000673333 0.00068 +0.000673333 0.000666667 0.000653333 0.00064 0.000633333 0.000666667 0.000693333 0.000653333 +0.00064 0.000646667 0.000646667 0.00066 0.000653333 0.000653333 0.000666667 0.00066 +0.000646667 0.000633333 0.00066 0.00068 0.00068 0.00066 0.000686667 0.0007 +0.000673333 0.00066 0.000673333 0.000666667 0.000686667 0.000713333 0.000713333 0.00074 +0.00072 0.000866667 0.265227 0.270907 0.000913333 0.0007 0.000613333 0.000566667 +0.000593333 0.00064 0.000653333 0.000673333 0.00074 0.000826667 0.236827 0.365573 +0.520842 0.626947 0.760842 0.889684 0.976842 0.99502 0.993714 0.984898 +0.968632 0.953474 0.946526 0.946526 0.944632 0.945263 0.947789 0.950947 +0.958526 0.959789 0.960421 0.957895 0.956632 0.959158 0.962947 0.962316 +0.961053 0.960421 0.957263 0.954105 0.956632 0.960421 0.959789 0.957263 +0.959158 0.966105 0.974947 0.982286 0.986857 0.991755 0.996327 1.00024 +1.00286 1.00449 1.00547 1.00939 1.01102 1.01004 1.00971 1.00841 +1.00873 1.00841 1.00547 1.0071 1.01233 1.01494 1.01527 1.01559 +1.01951 1.02147 1.0218 1.02441 1.02604 1.02473 1.02376 1.02637 +1.028 1.02865 1.02735 1.02637 1.02473 1.02506 1.02833 1.02865 +1.02702 1.02604 1.02604 1.02669 1.02767 1.02473 1.02506 1.02441 +1.02082 1.01657 1.01102 1.00808 1.00612 1.00188 0.999265 0.999265 +1.00057 1.00057 0.998612 0.994041 0.990122 0.987837 0.990122 0.994041 +0.995673 0.995673 0.996327 0.999265 0.998612 0.996653 0.99698 0.997633 +1.0009 1.00841 1.01363 1.01592 1.02049 1.02604 1.02767 1.02996 +1.03061 1.03061 1.02865 1.02702 1.02898 1.03224 1.03747 1.05249 +1.08282 1.10413 1.12695 1.08739 1.04008 1.01298 0.995347 0.986204 +0.983592 0.986204 0.996653 1.02963 1.12695 1.24107 1.22586 1.13152 +1.04792 1.02506 1.01265 1.00547 1.00122 0.998612 0.997633 1.00057 +1.0058 1.01102 1.01298 1.01396 1.01396 1.01527 1.01363 1.00939 +0.999918 0.990776 0.985551 0.982612 0.985224 1.0071 1.05837 1.33845 +1.4404 1.31411 1.14977 1.05412 1.04008 1.03551 1.03453 1.03486 +1.03486 1.03551 1.03355 1.03224 1.03127 1.02865 1.02539 1.0231 +1.02016 1.01494 1.01363 1.01461 1.01494 1.01624 1.01592 1.01494 +1.01886 1.02343 1.02506 1.02735 1.02931 1.02833 1.02735 1.02669 +1.02539 1.02571 1.02539 1.02408 1.0231 1.02604 1.02702 1.02278 +1.02245 1.02473 1.02343 1.02245 1.02245 1.02082 1.01886 1.01788 +1.01788 1.01755 1.01494 1.01037 1.00841 1.00514 0.997306 0.992408 +0.988816 0.987184 0.985878 0.987837 0.990449 0.993061 0.994694 0.99698 +1.00057 1.00253 1.00155 1.00122 1.0022 1.00188 1.00155 1.00122 +1.00057 0.999918 1.00188 1.00188 1.00057 1.00122 1.00286 1.00318 +1.00155 1.00318 1.00416 1.00286 1.00057 1.00057 1.00024 0.998612 +0.998286 0.997959 0.998612 0.994694 0.984571 0.971789 0.963579 0.968 +0.970526 0.968632 0.963579 0.957895 0.956 0.955368 0.950947 0.944 +0.939579 0.943368 0.951579 0.952842 0.951579 0.953474 0.955368 0.956 +0.956 0.949684 0.947158 0.946526 0.945895 0.941474 0.938947 0.940842 +0.939579 0.935789 0.933895 0.940211 0.944632 0.941474 0.949684 0.965474 +0.973053 0.966105 0.923158 0.827789 0.697684 0.573263 0.467813 0.344747 +0.314453 0.31824 0.287947 0.219787 0.000793333 0.000693333 0.00068 0.000693333 +0.000706667 0.00072 0.000706667 0.000693333 0.00068 0.000653333 0.00066 0.00068 +0.00064 0.00064 0.00066 0.00066 0.00066 0.000653333 0.000653333 0.000666667 +0.000653333 0.000626667 0.00066 0.000686667 0.00066 0.00064 0.00064 0.000633333 +0.00064 0.000633333 0.000653333 0.000646667 0.000633333 0.00064 0.00064 0.000666667 +0.00064 0.00064 0.000633333 0.000633333 0.000646667 0.00064 0.00066 0.000653333 +0.000666667 0.000673333 0.00066 0.000673333 0.000673333 0.00066 0.000646667 0.000653333 +0.00066 0.00068 0.00066 0.000653333 0.000666667 0.000666667 0.000673333 0.000686667 +0.000693333 0.000686667 0.000673333 0.000666667 0.00068 0.0007 0.000693333 0.00066 +0.00066 0.000673333 0.000686667 0.0007 0.000686667 0.000666667 0.00066 0.000673333 +0.000693333 0.000706667 0.000706667 0.00068 0.00068 0.000726667 0.00072 0.0007 +0.000706667 0.0007 0.000693333 0.000693333 0.00072 0.00072 0.000706667 0.000713333 +0.00072 0.000733333 0.000726667 0.000706667 0.000706667 0.000713333 0.0007 0.000706667 +0.000706667 0.000706667 0.000726667 0.00072 0.0007 0.0007 0.00068 0.000666667 +0.0007 0.000706667 0.000706667 0.000706667 0.000706667 0.0007 0.000686667 0.000693333 +0.000706667 0.000726667 0.000713333 0.0007 0.0007 0.000673333 0.000673333 0.000686667 +0.0007 0.000693333 0.000686667 0.000673333 0.0007 0.000706667 0.000686667 0.0007 +0.0007 0.000693333 0.000706667 0.000706667 0.000673333 0.000686667 0.0007 0.000726667 +0.00074 0.000706667 0.000693333 0.000693333 0.000713333 0.00072 0.000713333 0.0007 +0.00068 0.000686667 0.0007 0.000706667 0.000693333 0.000686667 0.00068 0.000673333 +0.000693333 0.000686667 0.00066 0.000666667 0.00068 0.000693333 0.000693333 0.00068 +0.000693333 0.00068 0.000673333 0.000673333 0.00066 0.000653333 0.00068 0.000686667 +0.00068 0.000666667 0.00064 0.000646667 0.000653333 0.000653333 0.00068 0.000686667 +0.00066 0.000646667 0.000646667 0.000653333 0.00066 0.00064 0.000653333 0.00066 +0.00066 0.00066 0.00068 0.00066 0.000666667 0.000686667 0.000693333 0.00072 +0.000786667 0.234933 0.287947 0.23304 0.000773333 0.00066 0.000626667 0.0006 +0.00064 0.0007 0.000733333 0.000806667 0.000973333 0.269013 0.418587 0.562526 +0.686316 0.824 0.935789 0.98751 0.993714 0.985878 0.977474 0.963579 +0.950947 0.945895 0.945263 0.945263 0.945895 0.947789 0.950316 0.957895 +0.966105 0.969895 0.972421 0.966737 0.959158 0.955368 0.957895 0.959789 +0.959789 0.962947 0.964842 0.964842 0.965474 0.964842 0.966737 0.970526 +0.976842 0.984571 0.990776 0.996327 1.00057 1.00416 1.0058 1.00743 +1.00873 1.00906 1.0071 1.0071 1.00873 1.00841 1.00808 1.00743 +1.00808 1.01102 1.01298 1.01624 1.02049 1.02376 1.02604 1.02473 +1.02539 1.02669 1.02604 1.02571 1.02767 1.02767 1.02571 1.02735 +1.02833 1.02865 1.028 1.02669 1.02669 1.02735 1.02898 1.03061 +1.02898 1.02767 1.02735 1.02767 1.02865 1.02604 1.02343 1.0231 +1.02212 1.01886 1.01461 1.01069 1.00841 1.00514 1.00286 1.00122 +1.0009 1.00122 0.997959 0.991102 0.984898 0.984245 0.988816 0.994367 +0.998286 0.999918 0.999265 0.999592 0.998286 0.994694 0.993714 0.995347 +0.998612 1.0058 1.01298 1.01984 1.02473 1.02735 1.02669 1.02865 +1.03029 1.03094 1.02996 1.02898 1.02898 1.03127 1.0342 1.03943 +1.04433 1.04629 1.04824 1.0378 1.01853 1.00155 0.988816 0.983265 +0.983592 0.991755 1.02147 1.16956 1.47083 1.58952 1.56974 1.44649 +1.26237 1.12999 1.07522 1.05576 1.04824 1.04171 1.04204 1.04922 +1.05543 1.07522 1.09804 1.09348 1.09043 1.10869 1.10565 1.05543 +1.03029 1.00449 0.988163 0.984245 0.987837 1.00286 1.03388 1.10413 +1.1939 1.15586 1.05739 1.04106 1.03453 1.03257 1.03322 1.0329 +1.0329 1.03388 1.0342 1.03388 1.03061 1.02735 1.02735 1.02408 +1.01918 1.01559 1.01722 1.01722 1.01755 1.01951 1.01984 1.02016 +1.02376 1.02637 1.02833 1.03094 1.03224 1.03061 1.02963 1.02735 +1.02441 1.02408 1.02245 1.01918 1.01886 1.02376 1.02571 1.02245 +1.02441 1.02539 1.02114 1.01951 1.01853 1.01853 1.0182 1.01755 +1.01592 1.01396 1.01265 1.00906 1.00808 1.00318 0.993061 0.987184 +0.985224 0.984571 0.983918 0.984571 0.983918 0.985551 0.989143 0.992082 +0.996 0.999265 0.998939 0.998939 0.999265 0.998286 0.998612 0.998939 +0.998612 0.997959 0.998939 0.997306 0.996 0.997633 0.999265 0.997959 +0.996 0.997959 0.998939 0.999265 0.998612 0.998939 0.999265 0.999265 +0.997959 0.998286 0.998939 0.995347 0.988163 0.979368 0.968 0.969895 +0.973053 0.975579 0.977474 0.978105 0.976842 0.974947 0.972421 0.964842 +0.962316 0.964211 0.968 0.969263 0.963579 0.956632 0.951579 0.951579 +0.955368 0.956632 0.952211 0.947158 0.946526 0.943368 0.943368 0.942737 +0.938316 0.933895 0.934526 0.937684 0.936421 0.933263 0.940842 0.950947 +0.956632 0.968632 0.970526 0.940211 0.856211 0.729895 0.601053 0.503789 +0.356107 0.320133 0.310667 0.282267 0.217893 0.000793333 0.000733333 0.00072 +0.000706667 0.0007 0.000726667 0.000726667 0.000706667 0.00066 0.00066 0.000673333 +0.000653333 0.00066 0.00066 0.000653333 0.0007 0.000693333 0.000666667 0.000653333 +0.000646667 0.000673333 0.000686667 0.000653333 0.00064 0.00064 0.000626667 0.00064 +0.000653333 0.00068 0.000686667 0.00066 0.000653333 0.000646667 0.000653333 0.000686667 +0.000653333 0.00064 0.00064 0.00066 0.0007 0.00068 0.000666667 0.000666667 +0.00068 0.000686667 0.000673333 0.000666667 0.00068 0.000673333 0.000653333 0.000673333 +0.000693333 0.000686667 0.000673333 0.00068 0.000686667 0.000693333 0.000706667 0.0007 +0.000693333 0.00068 0.000666667 0.000686667 0.000693333 0.00068 0.00066 0.000666667 +0.000693333 0.0007 0.000713333 0.0007 0.00068 0.00068 0.000693333 0.000726667 +0.000713333 0.000686667 0.000693333 0.000693333 0.00072 0.000746667 0.000726667 0.0007 +0.00068 0.000693333 0.00072 0.000733333 0.000726667 0.000753333 0.00072 0.00068 +0.000693333 0.00072 0.000706667 0.000706667 0.000706667 0.000733333 0.00074 0.000733333 +0.00072 0.000693333 0.000706667 0.000733333 0.000726667 0.00074 0.000733333 0.000693333 +0.00068 0.000686667 0.000693333 0.000693333 0.0007 0.000713333 0.000706667 0.000693333 +0.000686667 0.000686667 0.0007 0.0007 0.00072 0.00072 0.000673333 0.000673333 +0.00068 0.000673333 0.00068 0.00068 0.000686667 0.000686667 0.00068 0.000693333 +0.000686667 0.000673333 0.000686667 0.00072 0.000686667 0.000666667 0.000666667 0.00068 +0.000713333 0.000706667 0.000693333 0.000686667 0.000693333 0.000693333 0.000693333 0.0007 +0.000686667 0.00068 0.00068 0.000693333 0.000686667 0.000693333 0.00072 0.0007 +0.000706667 0.0007 0.000666667 0.00066 0.00068 0.0007 0.000713333 0.0007 +0.000686667 0.00066 0.000646667 0.00068 0.000673333 0.00066 0.000666667 0.00066 +0.000666667 0.00068 0.000653333 0.000646667 0.000633333 0.000633333 0.00064 0.000673333 +0.000686667 0.00068 0.000666667 0.00066 0.000653333 0.000653333 0.000686667 0.00068 +0.000673333 0.000653333 0.00066 0.00066 0.00066 0.000673333 0.000706667 0.00072 +0.00086 0.263333 0.26712 0.000913333 0.000713333 0.00064 0.0006 0.00062 +0.000666667 0.00074 0.000853333 0.240613 0.325813 0.484853 0.601053 0.743789 +0.877684 0.965474 0.990449 0.986857 0.972421 0.960421 0.956 0.951579 +0.949053 0.947789 0.949053 0.949053 0.948421 0.950316 0.956632 0.965474 +0.969263 0.969895 0.969895 0.968 0.960421 0.954737 0.952842 0.956 +0.962947 0.968 0.970526 0.974947 0.978737 0.980653 0.984245 0.989469 +0.99502 0.998939 1.00155 1.00482 1.00612 1.00841 1.00971 1.00906 +1.00808 1.00776 1.00645 1.00612 1.00841 1.00939 1.00873 1.00906 +1.01167 1.0169 1.02408 1.02767 1.02833 1.03094 1.03257 1.03257 +1.02963 1.02767 1.02604 1.02539 1.02604 1.02669 1.02669 1.02702 +1.02702 1.02637 1.02637 1.02604 1.02702 1.02735 1.02735 1.02898 +1.02963 1.02833 1.02898 1.02865 1.02898 1.02767 1.02343 1.02278 +1.02343 1.02147 1.0182 1.01396 1.01135 1.00906 1.0058 1.00188 +0.998612 0.997633 0.99502 0.987184 0.98098 0.982939 0.989469 0.993061 +0.997306 0.998939 0.998286 0.996327 0.99502 0.992735 0.992082 0.994041 +0.997306 1.00449 1.01102 1.01788 1.02408 1.02898 1.03029 1.02833 +1.02833 1.02996 1.03061 1.03061 1.03094 1.03159 1.0329 1.0342 +1.03453 1.03355 1.03486 1.02898 1.01755 1.00384 0.991102 0.98849 +0.996 1.01755 1.05478 1.24107 1.38258 1.39323 1.36128 1.27759 +1.1589 1.095 1.095 1.11478 1.1163 1.09956 1.09652 1.12695 +1.16195 1.19694 1.21977 1.19694 1.17564 1.18325 1.19999 1.18325 +1.11326 1.04694 1.01559 0.998286 0.995673 0.999592 1.012 1.02702 +1.04171 1.0502 1.044 1.03682 1.03388 1.03322 1.0329 1.03192 +1.03224 1.0329 1.03355 1.0342 1.03029 1.02735 1.02637 1.02376 +1.01984 1.01722 1.01755 1.01657 1.0169 1.01918 1.01984 1.0218 +1.02604 1.02637 1.02637 1.02833 1.02898 1.02735 1.02669 1.02539 +1.02245 1.02082 1.0182 1.01592 1.01494 1.01918 1.02212 1.02049 +1.0231 1.02278 1.01853 1.01657 1.01657 1.01624 1.01592 1.01494 +1.01298 1.01102 1.00971 1.0058 1.00416 0.999592 0.991102 0.98751 +0.986204 0.985878 0.985878 0.982286 0.978105 0.979368 0.981306 0.982939 +0.986857 0.990122 0.989143 0.991755 0.994694 0.993388 0.992408 0.993061 +0.991755 0.989796 0.988816 0.986531 0.985878 0.986857 0.987184 0.986531 +0.987184 0.98849 0.990122 0.990449 0.991102 0.993388 0.994694 0.995347 +0.996327 0.997306 0.996653 0.994041 0.993061 0.990122 0.984245 0.976211 +0.972421 0.972421 0.974947 0.979368 0.980327 0.982612 0.984245 0.983918 +0.984898 0.983592 0.983592 0.985224 0.984898 0.978105 0.964211 0.954737 +0.950947 0.952842 0.954105 0.952842 0.949053 0.945895 0.945263 0.944632 +0.941474 0.935789 0.932632 0.928842 0.930737 0.932632 0.934526 0.938947 +0.942105 0.952211 0.966105 0.971158 0.945895 0.875789 0.756421 0.618737 +0.512632 0.373147 0.308773 0.3012 0.28416 0.231147 0.000866667 0.000766667 +0.00072 0.000746667 0.00074 0.0007 0.000693333 0.000686667 0.000673333 0.00068 +0.000673333 0.000653333 0.000653333 0.000693333 0.00074 0.000686667 0.000653333 0.00066 +0.000673333 0.00068 0.000646667 0.000626667 0.000646667 0.000666667 0.00066 0.000666667 +0.000686667 0.0007 0.0007 0.00066 0.00066 0.000673333 0.00066 0.000693333 +0.000666667 0.000673333 0.000693333 0.000693333 0.000693333 0.000666667 0.000686667 0.00068 +0.00068 0.000686667 0.000673333 0.000686667 0.000686667 0.000693333 0.000686667 0.00068 +0.00068 0.00068 0.000686667 0.000693333 0.000693333 0.000686667 0.000686667 0.000693333 +0.000706667 0.000693333 0.000686667 0.00068 0.00068 0.00068 0.000693333 0.0007 +0.000706667 0.000693333 0.000673333 0.000666667 0.000693333 0.00072 0.000706667 0.000713333 +0.000693333 0.000673333 0.000706667 0.00072 0.000726667 0.000726667 0.0007 0.000686667 +0.000693333 0.000713333 0.00072 0.000713333 0.000706667 0.000746667 0.00074 0.000706667 +0.0007 0.000706667 0.00068 0.00068 0.000693333 0.00072 0.000726667 0.000713333 +0.000713333 0.000706667 0.000686667 0.000693333 0.000706667 0.000713333 0.000726667 0.00072 +0.0007 0.000693333 0.0007 0.000686667 0.000666667 0.000686667 0.0007 0.000706667 +0.000706667 0.0007 0.000693333 0.00068 0.000686667 0.000706667 0.000726667 0.000693333 +0.000666667 0.000686667 0.00068 0.00068 0.0007 0.0007 0.000686667 0.00068 +0.0007 0.000693333 0.00068 0.000706667 0.000706667 0.000706667 0.000713333 0.0007 +0.000693333 0.000686667 0.000686667 0.0007 0.000713333 0.000706667 0.0007 0.000686667 +0.000686667 0.000693333 0.000666667 0.000666667 0.00066 0.00066 0.000693333 0.000713333 +0.000706667 0.000693333 0.000653333 0.000646667 0.000666667 0.00066 0.000666667 0.000686667 +0.0007 0.00066 0.000633333 0.000646667 0.00066 0.000646667 0.00066 0.00064 +0.000633333 0.00066 0.000666667 0.000673333 0.000653333 0.000653333 0.000653333 0.000646667 +0.000666667 0.000686667 0.00066 0.00066 0.000633333 0.000633333 0.00068 0.00068 +0.0007 0.000686667 0.000673333 0.000666667 0.000666667 0.000686667 0.00072 0.00076 +0.000973333 0.282267 0.23872 0.0008 0.00066 0.00062 0.000613333 0.000633333 +0.0007 0.000866667 0.251973 0.365573 0.519579 0.639579 0.791158 0.917474 +0.983265 0.992735 0.986531 0.969263 0.956 0.954105 0.950947 0.944632 +0.945895 0.947789 0.950947 0.952842 0.950947 0.950947 0.956 0.962947 +0.964842 0.961053 0.957895 0.963579 0.964842 0.963579 0.963579 0.964842 +0.967368 0.971158 0.979368 0.983918 0.987837 0.992408 0.998286 1.00318 +1.0058 1.00678 1.00906 1.00971 1.00776 1.0071 1.00808 1.00678 +1.00514 1.00612 1.0058 1.00678 1.00873 1.00971 1.01135 1.01265 +1.01624 1.02343 1.03094 1.03453 1.03355 1.03257 1.0329 1.03029 +1.02702 1.02473 1.02408 1.02408 1.02506 1.02571 1.02571 1.02637 +1.02539 1.02539 1.02604 1.02539 1.02343 1.0231 1.02245 1.02245 +1.02571 1.02571 1.02539 1.02539 1.02604 1.02669 1.02376 1.0218 +1.02212 1.02082 1.0182 1.01559 1.01167 1.00906 1.00645 1.00188 +0.997959 0.994694 0.990776 0.982612 0.974316 0.977474 0.984571 0.989469 +0.994041 0.994694 0.993714 0.992735 0.991102 0.989796 0.991102 0.993061 +0.99698 1.00351 1.01102 1.01592 1.0218 1.02865 1.03061 1.02931 +1.02735 1.02767 1.02833 1.02963 1.02963 1.02931 1.03029 1.03029 +1.02898 1.02702 1.02767 1.02539 1.01755 1.0071 0.998612 0.999592 +1.01722 1.04629 1.09043 1.10717 1.0813 1.05576 1.04759 1.03845 +1.03094 1.02571 1.02669 1.03388 1.04041 1.04335 1.03976 1.0391 +1.04302 1.04759 1.05216 1.04988 1.04759 1.0489 1.05184 1.05902 +1.10565 1.1163 1.05445 1.03257 1.01853 1.0058 1.00384 1.01298 +1.02343 1.03192 1.03388 1.0342 1.0342 1.0342 1.03159 1.03127 +1.03224 1.0329 1.03355 1.03388 1.03061 1.028 1.02441 1.02114 +1.01951 1.0169 1.01592 1.01592 1.01592 1.01755 1.01951 1.02147 +1.02539 1.02669 1.02441 1.02506 1.02735 1.028 1.02604 1.02212 +1.02016 1.02016 1.01788 1.0169 1.01429 1.01657 1.01886 1.01788 +1.02049 1.01951 1.01527 1.01494 1.01722 1.01624 1.01396 1.01363 +1.01167 1.00939 1.00678 1.0022 1.00057 0.996327 0.992735 0.992408 +0.990122 0.988816 0.986857 0.982286 0.978105 0.973053 0.969895 0.971158 +0.976842 0.979368 0.981633 0.98751 0.989796 0.985551 0.98 0.974947 +0.974316 0.969263 0.959158 0.948421 0.941474 0.933263 0.926947 0.92379 +0.928842 0.931368 0.934526 0.940211 0.952211 0.965474 0.975579 0.984898 +0.990122 0.991429 0.991429 0.993061 0.995673 0.995673 0.991755 0.988163 +0.986857 0.983265 0.980653 0.98098 0.978737 0.98098 0.984245 0.987837 +0.988816 0.986857 0.988163 0.991429 0.994694 0.993388 0.98751 0.978105 +0.961684 0.952211 0.952842 0.957263 0.955368 0.952211 0.951579 0.952211 +0.949053 0.940842 0.933895 0.932632 0.935789 0.938316 0.935158 0.935158 +0.938947 0.944 0.951579 0.961053 0.970526 0.959158 0.893474 0.772842 +0.636421 0.525895 0.38072 0.314453 0.31256 0.3012 0.246293 0.000926667 +0.000806667 0.00076 0.000753333 0.00074 0.00074 0.00072 0.0007 0.000693333 +0.000706667 0.00068 0.000686667 0.000706667 0.000713333 0.0007 0.000686667 0.000673333 +0.000666667 0.00068 0.000653333 0.000666667 0.000673333 0.000673333 0.000693333 0.000686667 +0.0007 0.0007 0.000686667 0.000666667 0.000673333 0.000686667 0.000686667 0.000713333 +0.000693333 0.00068 0.000686667 0.000666667 0.000666667 0.00068 0.000686667 0.000666667 +0.00066 0.000666667 0.000673333 0.000693333 0.000686667 0.000693333 0.00068 0.00066 +0.00066 0.00068 0.000673333 0.000693333 0.0007 0.000666667 0.000673333 0.000706667 +0.00072 0.00068 0.000646667 0.000653333 0.0007 0.000713333 0.000713333 0.0007 +0.00068 0.00066 0.000673333 0.0007 0.000713333 0.000713333 0.00068 0.000686667 +0.0007 0.0007 0.000726667 0.000706667 0.000706667 0.0007 0.000686667 0.0007 +0.000713333 0.000713333 0.0007 0.0007 0.000706667 0.00072 0.0007 0.000693333 +0.000693333 0.000726667 0.00072 0.000693333 0.00068 0.000693333 0.000706667 0.0007 +0.0007 0.000726667 0.000713333 0.0007 0.00072 0.000713333 0.000706667 0.00072 +0.000726667 0.000726667 0.000726667 0.000706667 0.000693333 0.000686667 0.000686667 0.000693333 +0.000706667 0.000706667 0.00072 0.00072 0.0007 0.0007 0.000746667 0.00074 +0.000726667 0.00072 0.0007 0.000686667 0.000693333 0.000706667 0.000713333 0.000673333 +0.000686667 0.000706667 0.000686667 0.000693333 0.0007 0.0007 0.000726667 0.000726667 +0.000713333 0.000673333 0.00066 0.000673333 0.00068 0.000693333 0.000693333 0.000673333 +0.000666667 0.000693333 0.000673333 0.00066 0.00066 0.00066 0.000653333 0.000673333 +0.000686667 0.000686667 0.000673333 0.00068 0.000666667 0.000666667 0.00064 0.00064 +0.00068 0.000673333 0.00066 0.00066 0.000646667 0.000626667 0.000653333 0.00066 +0.00064 0.000653333 0.000646667 0.000673333 0.000673333 0.000673333 0.000693333 0.00068 +0.000666667 0.000673333 0.000686667 0.0007 0.000653333 0.000633333 0.000653333 0.00066 +0.00068 0.000706667 0.000706667 0.000693333 0.00068 0.0007 0.000733333 0.000813333 +0.242507 0.282267 0.216 0.000773333 0.000653333 0.00062 0.000666667 0.000726667 +0.000826667 0.253867 0.412907 0.554316 0.683158 0.836 0.947158 0.98751 +0.98849 0.980653 0.966105 0.959158 0.962947 0.962316 0.951579 0.945895 +0.947158 0.952842 0.955368 0.955368 0.955368 0.957895 0.957263 0.957895 +0.965474 0.968 0.967368 0.973684 0.98098 0.982939 0.983265 0.982612 +0.981633 0.984571 0.990122 0.996327 1.00155 1.00416 1.00645 1.00873 +1.00971 1.00971 1.01167 1.012 1.00971 1.0071 1.00678 1.00547 +1.00253 1.00416 1.00743 1.00906 1.01102 1.01135 1.01233 1.01363 +1.0169 1.0231 1.02735 1.02898 1.02898 1.02604 1.02473 1.02441 +1.02049 1.01984 1.02212 1.02245 1.02212 1.02245 1.02212 1.02278 +1.0231 1.02473 1.02506 1.02343 1.02016 1.01886 1.01722 1.01657 +1.02082 1.02343 1.02278 1.02278 1.0218 1.02245 1.02147 1.02016 +1.0218 1.0218 1.01886 1.01592 1.01233 1.00939 1.0058 1.00155 +0.998612 0.994694 0.986531 0.977474 0.968632 0.970526 0.98 0.985551 +0.990449 0.990449 0.989469 0.990122 0.990449 0.990776 0.992408 0.994367 +0.996653 1.00253 1.012 1.01559 1.01886 1.02539 1.02702 1.02571 +1.02539 1.02735 1.02767 1.02735 1.02702 1.02571 1.02669 1.02669 +1.02669 1.02473 1.02604 1.02539 1.01657 1.00776 1.0058 1.01657 +1.04073 1.05902 1.05771 1.04531 1.03388 1.02539 1.02049 1.01624 +1.01331 1.00841 1.00253 1.00449 1.00971 1.01298 1.00971 1.00612 +1.00514 1.00612 1.01037 1.01396 1.01722 1.02245 1.02571 1.03257 +1.04335 1.05706 1.07369 1.05804 1.04596 1.02278 1.00808 1.01461 +1.02082 1.02571 1.02931 1.03192 1.03388 1.03551 1.03257 1.03061 +1.03257 1.03388 1.03388 1.03257 1.02865 1.02735 1.02571 1.02147 +1.01886 1.01853 1.01657 1.01755 1.01788 1.01951 1.02245 1.02408 +1.02767 1.02767 1.02637 1.028 1.02865 1.028 1.02637 1.02147 +1.02212 1.0218 1.01951 1.02016 1.01918 1.0182 1.01886 1.01918 +1.02082 1.0182 1.01527 1.01559 1.01722 1.01592 1.01363 1.01429 +1.012 1.00808 1.00482 1.0009 0.999918 0.996327 0.993061 0.989796 +0.985224 0.982612 0.982286 0.981306 0.976842 0.964211 0.957263 0.961053 +0.966105 0.967368 0.969263 0.978737 0.976842 0.963579 0.947158 0.933895 +0.919368 0.898526 0.868211 0.839158 0.812632 0.785474 0.765263 0.754526 +0.753895 0.753263 0.755789 0.769053 0.795579 0.824632 0.856842 0.895368 +0.930105 0.955368 0.973053 0.983265 0.98849 0.990776 0.991429 0.993061 +0.993388 0.991102 0.990776 0.990122 0.986857 0.982612 0.98098 0.983592 +0.983918 0.984571 0.98751 0.992408 0.997959 0.999918 0.998286 0.993714 +0.985878 0.976211 0.964211 0.959789 0.958526 0.957263 0.956632 0.956 +0.955368 0.948421 0.942105 0.940211 0.938316 0.938947 0.937684 0.935789 +0.933263 0.936421 0.941474 0.945895 0.962316 0.975579 0.961053 0.899789 +0.789263 0.651579 0.534737 0.39208 0.314453 0.314453 0.310667 0.265227 +0.00094 0.00078 0.000766667 0.00078 0.00076 0.00072 0.000706667 0.000706667 +0.000713333 0.0007 0.000686667 0.00068 0.000713333 0.00072 0.000686667 0.000666667 +0.000693333 0.0007 0.00068 0.00068 0.00068 0.00068 0.000686667 0.000686667 +0.000693333 0.00068 0.00068 0.000686667 0.000693333 0.00068 0.000706667 0.000726667 +0.00068 0.00066 0.000673333 0.00068 0.000686667 0.000686667 0.000673333 0.00066 +0.000666667 0.000673333 0.000673333 0.0007 0.000693333 0.000686667 0.000686667 0.000693333 +0.00068 0.00068 0.000686667 0.000713333 0.0007 0.000686667 0.0007 0.000713333 +0.000686667 0.000653333 0.00066 0.000693333 0.000713333 0.000706667 0.0007 0.000686667 +0.000686667 0.0007 0.000726667 0.000726667 0.000693333 0.000673333 0.00068 0.000726667 +0.00074 0.000713333 0.0007 0.000686667 0.000706667 0.00072 0.000726667 0.000726667 +0.000713333 0.000713333 0.000706667 0.000706667 0.000706667 0.000726667 0.000706667 0.0007 +0.0007 0.0007 0.000693333 0.0007 0.000693333 0.00068 0.00068 0.000686667 +0.000693333 0.0007 0.000686667 0.000693333 0.000706667 0.000713333 0.0007 0.000693333 +0.000706667 0.00072 0.000733333 0.00072 0.000706667 0.000693333 0.000686667 0.000693333 +0.000686667 0.00068 0.000673333 0.0007 0.000693333 0.00068 0.000693333 0.0007 +0.000733333 0.000733333 0.000726667 0.000706667 0.000666667 0.000653333 0.000673333 0.00068 +0.000693333 0.000693333 0.000666667 0.00066 0.00068 0.00068 0.000686667 0.000713333 +0.000733333 0.000713333 0.000693333 0.000673333 0.000666667 0.00066 0.000666667 0.00068 +0.00068 0.000686667 0.00068 0.00068 0.000666667 0.000666667 0.00068 0.00068 +0.000666667 0.00066 0.000666667 0.0007 0.0007 0.0007 0.000686667 0.000686667 +0.000693333 0.00066 0.00066 0.000673333 0.000673333 0.00066 0.000666667 0.000653333 +0.00064 0.000653333 0.00064 0.000646667 0.000646667 0.000646667 0.00066 0.00066 +0.00066 0.00066 0.00068 0.000686667 0.000673333 0.00068 0.00068 0.000653333 +0.000666667 0.000666667 0.00066 0.000653333 0.00066 0.00068 0.000713333 0.000846667 +0.259547 0.259547 0.000886667 0.00072 0.00064 0.000646667 0.000733333 0.000886667 +0.26144 0.435627 0.585895 0.729263 0.875158 0.970526 0.988163 0.982939 +0.969263 0.957263 0.950947 0.952211 0.957895 0.955368 0.944632 0.946526 +0.952842 0.959158 0.961053 0.961684 0.964842 0.968 0.969263 0.971158 +0.977474 0.983265 0.987184 0.990122 0.992735 0.993061 0.994041 0.99502 +0.994694 0.997633 1.00155 1.00612 1.00939 1.01004 1.00873 1.00776 +1.00906 1.01069 1.01004 1.00906 1.00776 1.00776 1.00678 1.00449 +1.00318 1.00384 1.00645 1.00971 1.01069 1.01069 1.00939 1.00873 +1.00971 1.01265 1.01396 1.01429 1.01657 1.01788 1.0169 1.01755 +1.01722 1.0169 1.02082 1.02278 1.02114 1.02082 1.02016 1.01984 +1.01984 1.02147 1.02245 1.0218 1.01853 1.01657 1.01592 1.01592 +1.01886 1.02016 1.01853 1.01918 1.01886 1.0182 1.01788 1.01951 +1.02082 1.0218 1.02082 1.01592 1.01135 1.00841 1.0058 1.00122 +0.999265 0.997306 0.990122 0.981306 0.973053 0.973053 0.98098 0.984245 +0.98751 0.988163 0.98849 0.989796 0.991755 0.993061 0.994694 0.996653 +0.997306 1.00286 1.01135 1.01559 1.01592 1.02082 1.02408 1.0231 +1.02147 1.02408 1.02669 1.02604 1.02473 1.02473 1.02702 1.02735 +1.02735 1.02539 1.02767 1.02931 1.02082 1.01135 1.01331 1.03192 +1.05576 1.06761 1.05118 1.04204 1.03388 1.02735 1.02245 1.01559 +1.01135 1.00743 1.00024 0.999918 1.00253 1.00318 0.998612 0.994041 +0.994041 0.994694 0.997633 1.00155 1.0071 1.01396 1.02016 1.03029 +1.03812 1.04694 1.05739 1.07217 1.06761 1.04302 1.02147 1.01918 +1.02245 1.02539 1.02833 1.03388 1.03649 1.03584 1.03322 1.03192 +1.03224 1.03257 1.03355 1.03224 1.02898 1.02669 1.02571 1.02147 +1.01755 1.01886 1.01788 1.01853 1.01984 1.02049 1.02278 1.02408 +1.02735 1.02735 1.02702 1.02963 1.02833 1.02735 1.02571 1.0231 +1.02441 1.0231 1.02082 1.0231 1.02343 1.02147 1.02082 1.02082 +1.02049 1.01755 1.01527 1.01592 1.01559 1.01592 1.01494 1.01494 +1.01135 1.0071 1.00351 1.00024 0.997306 0.992082 0.984898 0.978105 +0.966737 0.962947 0.964842 0.964842 0.961053 0.953474 0.951579 0.960421 +0.964842 0.961053 0.955368 0.946526 0.929474 0.904842 0.877053 0.842947 +0.793053 0.741263 0.691368 0.652211 0.618105 0.590947 0.572632 0.563789 +0.559368 0.558105 0.56 0.567579 0.589684 0.617474 0.650947 0.693895 +0.748211 0.809474 0.861263 0.892211 0.919368 0.943368 0.965474 0.982286 +0.98751 0.991429 0.995673 0.997633 0.996 0.991429 0.988163 0.985224 +0.982286 0.98098 0.983592 0.989796 0.99502 1.00024 1.00253 1.0022 +0.999592 0.994041 0.985224 0.973053 0.964842 0.958526 0.956 0.957895 +0.959158 0.957263 0.953474 0.946526 0.939579 0.940211 0.940842 0.937684 +0.930105 0.928842 0.935158 0.936421 0.942737 0.954737 0.966105 0.958526 +0.909895 0.803158 0.663579 0.542316 0.40344 0.327707 0.3296 0.31256 +0.263333 0.000913333 0.000793333 0.00076 0.000733333 0.00072 0.000713333 0.000706667 +0.0007 0.000686667 0.000686667 0.000713333 0.00074 0.000713333 0.000686667 0.0007 +0.000713333 0.000706667 0.000673333 0.00068 0.00068 0.000693333 0.000713333 0.000693333 +0.00068 0.000686667 0.0007 0.000686667 0.000673333 0.000673333 0.000693333 0.0007 +0.000666667 0.000673333 0.000706667 0.000706667 0.000693333 0.000686667 0.000673333 0.00068 +0.00068 0.00068 0.00068 0.000686667 0.000693333 0.00068 0.000706667 0.000706667 +0.00068 0.000673333 0.000686667 0.00072 0.000706667 0.0007 0.000693333 0.000673333 +0.000693333 0.000693333 0.000706667 0.0007 0.000693333 0.000686667 0.000693333 0.000693333 +0.0007 0.000733333 0.00072 0.0007 0.0007 0.000706667 0.000713333 0.000746667 +0.000706667 0.000686667 0.000706667 0.00072 0.00074 0.00074 0.000726667 0.000726667 +0.00072 0.00072 0.000713333 0.00072 0.000706667 0.000713333 0.000733333 0.00074 +0.000726667 0.000713333 0.00068 0.000686667 0.0007 0.000706667 0.0007 0.0007 +0.000693333 0.000713333 0.000693333 0.00068 0.000693333 0.000686667 0.000673333 0.000686667 +0.00068 0.000673333 0.0007 0.000706667 0.000693333 0.000686667 0.000686667 0.000693333 +0.000693333 0.000686667 0.000666667 0.000673333 0.00068 0.00068 0.00068 0.000673333 +0.000693333 0.000693333 0.000706667 0.000733333 0.000713333 0.0007 0.000686667 0.00068 +0.000686667 0.000693333 0.00068 0.00068 0.000686667 0.000686667 0.00068 0.000693333 +0.000713333 0.000726667 0.000726667 0.00072 0.000706667 0.0007 0.000673333 0.000666667 +0.000686667 0.0007 0.000686667 0.000686667 0.00068 0.000666667 0.000673333 0.0007 +0.000686667 0.000666667 0.00066 0.000673333 0.000686667 0.000693333 0.0007 0.0007 +0.000713333 0.00068 0.000666667 0.000653333 0.000686667 0.0007 0.000686667 0.000666667 +0.000653333 0.000653333 0.000646667 0.000653333 0.000633333 0.000626667 0.000626667 0.00064 +0.00066 0.000666667 0.000673333 0.000686667 0.000666667 0.000693333 0.000686667 0.00068 +0.000693333 0.0007 0.000666667 0.00066 0.000666667 0.00068 0.000726667 0.000913333 +0.26712 0.236827 0.000813333 0.000653333 0.000613333 0.000693333 0.00086 0.27848 +0.47728 0.609895 0.766526 0.906105 0.983918 0.993061 0.981959 0.961684 +0.950947 0.949053 0.949053 0.948421 0.947158 0.942105 0.941474 0.949053 +0.960421 0.968632 0.972421 0.975579 0.979368 0.98098 0.984898 0.989796 +0.992408 0.995347 0.998939 1.00024 1.00155 1.00286 1.00253 1.00188 +1.00449 1.00612 1.00449 1.00612 1.00873 1.00939 1.00971 1.00939 +1.00971 1.00939 1.00743 1.00547 1.0058 1.00678 1.00612 1.00547 +1.00645 1.0071 1.0071 1.00645 1.00547 1.00384 1.00286 1.00514 +1.00482 1.0022 1.00155 1.00188 1.00514 1.00906 1.01069 1.01233 +1.01657 1.0182 1.01853 1.02082 1.02245 1.02245 1.02212 1.02082 +1.01951 1.01984 1.02049 1.01984 1.0169 1.01396 1.01429 1.01592 +1.01657 1.01788 1.01624 1.01331 1.01363 1.01396 1.01527 1.01886 +1.01984 1.01951 1.01984 1.0169 1.01298 1.00906 1.0071 1.00286 +0.998939 0.998286 0.995673 0.988816 0.982939 0.981306 0.984898 0.988163 +0.988816 0.987837 0.987184 0.98849 0.992082 0.994694 0.99502 0.99698 +0.999265 1.00351 1.01004 1.01461 1.01624 1.01918 1.0231 1.02441 +1.0218 1.02049 1.0231 1.02473 1.02441 1.02539 1.02735 1.02637 +1.02735 1.02571 1.02539 1.02571 1.02016 1.01461 1.02082 1.0391 +1.05608 1.06152 1.05445 1.04661 1.03943 1.03322 1.02833 1.01984 +1.01592 1.01265 1.00449 1.00318 1.00416 1.00482 0.998612 0.991102 +0.993388 0.99698 1.00024 1.00449 1.01004 1.01853 1.02473 1.03584 +1.04335 1.04824 1.0538 1.05902 1.07522 1.05543 1.03649 1.02245 +1.02016 1.02408 1.02702 1.03322 1.03616 1.0342 1.0329 1.0329 +1.03029 1.02833 1.03094 1.03061 1.02735 1.02408 1.0218 1.01918 +1.01559 1.01624 1.01494 1.01657 1.01918 1.02082 1.02212 1.02376 +1.02604 1.02637 1.028 1.02963 1.02865 1.02767 1.028 1.02571 +1.02571 1.02473 1.02376 1.02343 1.02343 1.02212 1.02114 1.01951 +1.01853 1.01592 1.01494 1.01624 1.01559 1.01722 1.01624 1.01363 +1.00971 1.00514 1.00188 0.998612 0.993061 0.985224 0.978737 0.972421 +0.965474 0.964842 0.965474 0.963579 0.959158 0.954105 0.952842 0.959158 +0.953474 0.930737 0.896632 0.848632 0.801895 0.755158 0.711579 0.66421 +0.605474 0.557474 0.525895 0.503789 0.46024 0.433733 0.4148 0.4148 +0.407227 0.393973 0.39776 0.412907 0.433733 0.458347 0.5 0.524 +0.559368 0.607368 0.662316 0.705263 0.741263 0.779789 0.826526 0.873263 +0.914947 0.952211 0.981306 0.991755 0.996327 0.997959 0.997633 0.99502 +0.992408 0.989143 0.98751 0.98849 0.991755 0.997306 1.00188 1.00416 +1.00514 1.00286 0.997633 0.989796 0.982939 0.971158 0.961684 0.959789 +0.961684 0.962947 0.961684 0.954105 0.944 0.942105 0.940842 0.937053 +0.933263 0.930105 0.931368 0.933263 0.932 0.935789 0.949684 0.964842 +0.964211 0.921895 0.816421 0.678105 0.550526 0.418587 0.333387 0.3296 +0.325813 0.259547 0.000893333 0.000773333 0.000753333 0.000766667 0.00074 0.000693333 +0.000686667 0.000706667 0.000726667 0.000726667 0.00072 0.000713333 0.000706667 0.000706667 +0.0007 0.000706667 0.000673333 0.00068 0.000686667 0.00072 0.00074 0.000693333 +0.00068 0.000693333 0.000713333 0.000686667 0.000686667 0.00068 0.000686667 0.000686667 +0.00068 0.0007 0.0007 0.000686667 0.000666667 0.00066 0.00068 0.000686667 +0.00068 0.00068 0.000666667 0.000686667 0.000706667 0.0007 0.0007 0.000693333 +0.000686667 0.000706667 0.000706667 0.000726667 0.000713333 0.000673333 0.000666667 0.000693333 +0.000713333 0.000713333 0.000686667 0.000666667 0.00068 0.000693333 0.000706667 0.000706667 +0.0007 0.000706667 0.0007 0.000713333 0.000746667 0.00072 0.0007 0.000686667 +0.00066 0.000686667 0.000706667 0.000706667 0.00072 0.000713333 0.000706667 0.000706667 +0.000713333 0.000713333 0.000706667 0.000713333 0.000706667 0.00072 0.000733333 0.000746667 +0.000733333 0.000726667 0.000726667 0.000726667 0.000713333 0.000693333 0.000693333 0.000713333 +0.00072 0.00074 0.000733333 0.0007 0.0007 0.0007 0.000693333 0.000706667 +0.000706667 0.000686667 0.000693333 0.0007 0.0007 0.000693333 0.000686667 0.000693333 +0.0007 0.00072 0.000713333 0.0007 0.00068 0.000673333 0.000686667 0.0007 +0.000693333 0.000673333 0.000686667 0.000693333 0.000686667 0.000713333 0.00072 0.0007 +0.00068 0.000666667 0.00066 0.000666667 0.000686667 0.000686667 0.000673333 0.00066 +0.000653333 0.00068 0.000693333 0.000706667 0.000693333 0.000693333 0.000686667 0.000673333 +0.000673333 0.000673333 0.000693333 0.000693333 0.000686667 0.000673333 0.000653333 0.000666667 +0.00068 0.00068 0.00068 0.000673333 0.000666667 0.000673333 0.00068 0.000673333 +0.000693333 0.000693333 0.000686667 0.00066 0.00066 0.000666667 0.00068 0.00068 +0.000666667 0.000653333 0.000646667 0.000653333 0.00064 0.000653333 0.000653333 0.00064 +0.00064 0.000653333 0.000653333 0.000653333 0.000666667 0.00068 0.000666667 0.000653333 +0.000686667 0.000713333 0.0007 0.000686667 0.0007 0.0007 0.000753333 0.217893 +0.282267 0.225467 0.00076 0.000626667 0.00066 0.00086 0.27848 0.496213 +0.629474 0.791789 0.924421 0.986204 0.993061 0.983918 0.961053 0.946526 +0.945263 0.944632 0.941474 0.942737 0.942737 0.940211 0.947789 0.958526 +0.973053 0.981633 0.983265 0.986531 0.989796 0.991755 0.996327 1.0009 +1.00384 1.00514 1.00547 1.00482 1.00678 1.00873 1.00939 1.00971 +1.00939 1.00841 1.00547 1.00449 1.0058 1.00612 1.0071 1.00678 +1.00612 1.00678 1.00612 1.00514 1.0058 1.00678 1.00645 1.0058 +1.00514 1.00514 1.00482 1.0022 0.999918 0.996653 0.997306 0.999592 +0.999918 0.997959 0.996327 0.996653 0.997306 1.00057 1.00416 1.00678 +1.01233 1.01592 1.01624 1.01722 1.01918 1.02049 1.0218 1.0218 +1.01984 1.01853 1.01886 1.0182 1.01755 1.01461 1.01396 1.01527 +1.01494 1.01429 1.01494 1.01298 1.012 1.01265 1.01494 1.01853 +1.01886 1.01755 1.01624 1.01429 1.012 1.00906 1.00808 1.0058 +0.999918 0.998286 0.996327 0.990776 0.985551 0.983918 0.986204 0.990449 +0.991755 0.98849 0.985224 0.985551 0.98751 0.990122 0.991102 0.993714 +0.996653 0.999592 1.00514 1.01135 1.01494 1.01722 1.02016 1.02376 +1.02376 1.02082 1.02049 1.02212 1.02245 1.02245 1.02408 1.02343 +1.02604 1.02441 1.02212 1.02147 1.01886 1.02049 1.03159 1.04596 +1.05249 1.05673 1.05771 1.05249 1.04531 1.03649 1.03192 1.02963 +1.02767 1.02473 1.0169 1.01527 1.01429 1.01265 1.0071 1.00057 +1.0022 1.00645 1.01265 1.01853 1.02376 1.03257 1.04008 1.04727 +1.05086 1.05216 1.05641 1.06152 1.08435 1.08282 1.05282 1.03094 +1.01853 1.01951 1.02245 1.02767 1.03159 1.03322 1.03257 1.03355 +1.03192 1.028 1.02767 1.02473 1.02147 1.01886 1.01722 1.01592 +1.01331 1.01363 1.01396 1.01624 1.01951 1.02082 1.02147 1.02343 +1.02735 1.02767 1.03029 1.03061 1.02931 1.03029 1.03061 1.02669 +1.02604 1.02604 1.02571 1.02473 1.02245 1.01918 1.01853 1.01788 +1.01722 1.01429 1.01624 1.01722 1.01559 1.01657 1.01429 1.01037 +1.00743 1.00318 0.998612 0.995347 0.989796 0.982939 0.981633 0.978737 +0.971158 0.973684 0.973053 0.966737 0.954737 0.936421 0.916211 0.892211 +0.850526 0.788632 0.720421 0.651579 0.602947 0.565053 0.536 0.511368 +0.458347 0.40344 0.382613 0.361787 0.34096 0.344747 0.344747 0.35232 +0.342853 0.3296 0.339067 0.350427 0.34096 0.333387 0.35232 0.39776 +0.446987 0.475387 0.515158 0.536632 0.551789 0.576421 0.616842 0.66421 +0.719789 0.782947 0.851158 0.911158 0.959158 0.985878 0.99502 0.999592 +1.00057 0.998939 0.998286 0.99698 0.99698 0.997633 0.999592 1.00155 +1.00384 1.00482 1.00416 1.00188 0.995673 0.988163 0.980327 0.968632 +0.966105 0.966737 0.966105 0.962947 0.956632 0.950947 0.947789 0.942737 +0.940211 0.937684 0.933895 0.933263 0.930737 0.933895 0.940211 0.952842 +0.973684 0.979368 0.935158 0.830947 0.685684 0.551789 0.4148 0.339067 +0.339067 0.31824 0.257653 0.000933333 0.00082 0.000813333 0.00076 0.000726667 +0.000753333 0.000766667 0.000746667 0.00072 0.000733333 0.00074 0.000733333 0.00072 +0.000693333 0.0007 0.000673333 0.000706667 0.00072 0.000713333 0.000713333 0.000686667 +0.000653333 0.000666667 0.000693333 0.000673333 0.000693333 0.000686667 0.00068 0.000686667 +0.000686667 0.000686667 0.000673333 0.000673333 0.000653333 0.00066 0.000686667 0.00068 +0.000673333 0.000666667 0.00068 0.000706667 0.00072 0.000673333 0.00066 0.000693333 +0.000706667 0.000713333 0.000686667 0.000693333 0.000693333 0.000653333 0.000673333 0.000713333 +0.000706667 0.0007 0.000686667 0.000693333 0.00072 0.000713333 0.000706667 0.000693333 +0.000693333 0.000706667 0.000713333 0.000733333 0.000726667 0.000686667 0.000693333 0.000686667 +0.000666667 0.0007 0.0007 0.000706667 0.000713333 0.000706667 0.0007 0.000693333 +0.000706667 0.0007 0.000686667 0.0007 0.000713333 0.000706667 0.000713333 0.000706667 +0.000706667 0.000713333 0.000733333 0.00076 0.000726667 0.000693333 0.00068 0.000693333 +0.0007 0.00072 0.000733333 0.000733333 0.000713333 0.000713333 0.00072 0.000713333 +0.000713333 0.000706667 0.000693333 0.000713333 0.0007 0.000673333 0.000686667 0.0007 +0.000693333 0.0007 0.000713333 0.000713333 0.0007 0.000673333 0.000673333 0.000693333 +0.000693333 0.000686667 0.000706667 0.0007 0.000673333 0.000673333 0.0007 0.000706667 +0.0007 0.0007 0.000673333 0.000646667 0.000666667 0.000686667 0.000666667 0.000666667 +0.000646667 0.000646667 0.00064 0.00066 0.00068 0.000666667 0.000666667 0.000666667 +0.00066 0.00064 0.00066 0.000666667 0.000673333 0.00066 0.000653333 0.000653333 +0.000633333 0.000633333 0.000653333 0.000653333 0.000653333 0.000653333 0.000653333 0.000626667 +0.000646667 0.000646667 0.000646667 0.00066 0.000646667 0.000626667 0.000633333 0.000646667 +0.000646667 0.000633333 0.00064 0.000633333 0.000613333 0.00062 0.000646667 0.00066 +0.000646667 0.000633333 0.00064 0.000646667 0.000646667 0.000666667 0.000653333 0.00064 +0.000646667 0.000686667 0.000693333 0.000693333 0.000713333 0.000726667 0.000793333 0.23872 +0.280373 0.000953333 0.000726667 0.000673333 0.000833333 0.28984 0.508842 0.642105 +0.806316 0.937053 0.986531 0.986857 0.977474 0.964842 0.950316 0.940842 +0.939579 0.938947 0.937684 0.942105 0.943368 0.946526 0.957895 0.972421 +0.983918 0.988816 0.992082 0.99502 0.997633 0.999918 1.00351 1.00678 +1.00841 1.00743 1.00678 1.00776 1.00939 1.00939 1.01102 1.01135 +1.01069 1.00841 1.00547 1.00318 1.00351 1.00351 1.00384 1.00286 +1.00318 1.00449 1.00449 1.00318 1.00318 1.00384 1.00384 1.00253 +1.00155 1.00057 0.997633 0.993388 0.990776 0.990776 0.992082 0.992735 +0.993714 0.995673 0.996327 0.996 0.995673 0.995673 0.998939 1.00155 +1.00514 1.01004 1.01331 1.01592 1.01788 1.01853 1.01853 1.01951 +1.01853 1.0169 1.0169 1.01592 1.01755 1.01853 1.0182 1.01722 +1.01657 1.01298 1.01135 1.01069 1.00873 1.01037 1.01461 1.01853 +1.01918 1.01755 1.01624 1.01429 1.01135 1.00841 1.00743 1.0058 +1.0009 0.998286 0.996327 0.991429 0.986857 0.98849 0.990776 0.990449 +0.989143 0.988163 0.985224 0.983265 0.982612 0.983918 0.984245 0.986531 +0.990122 0.994041 0.998286 1.00351 1.00906 1.01331 1.0169 1.02016 +1.02376 1.02212 1.01951 1.01984 1.01984 1.01984 1.02114 1.0218 +1.02376 1.02212 1.01853 1.01755 1.0182 1.028 1.04498 1.05576 +1.05706 1.05935 1.06609 1.05935 1.05543 1.04661 1.04498 1.04824 +1.04563 1.04367 1.04139 1.04335 1.04302 1.04008 1.03682 1.0342 +1.03878 1.04367 1.04792 1.05118 1.05412 1.06 1.09195 1.1026 +1.08891 1.08891 1.11478 1.13304 1.14065 1.15434 1.12543 1.04727 +1.0231 1.01657 1.01755 1.02147 1.02604 1.02898 1.02931 1.02996 +1.03029 1.028 1.02702 1.02278 1.01886 1.01755 1.01559 1.01265 +1.01004 1.01037 1.01265 1.01494 1.0169 1.01886 1.02016 1.02343 +1.02767 1.02931 1.03127 1.03192 1.03127 1.03355 1.03192 1.02931 +1.02898 1.02865 1.02898 1.02669 1.02376 1.02147 1.01918 1.0182 +1.01624 1.012 1.01527 1.01527 1.01265 1.01069 1.0071 1.00351 +0.999592 0.996 0.993714 0.990776 0.98751 0.985551 0.986531 0.981306 +0.969263 0.960421 0.935158 0.902316 0.864421 0.816421 0.763368 0.707789 +0.646526 0.579579 0.529684 0.490533 0.445093 0.422373 0.405333 0.3864 +0.36936 0.359893 0.350427 0.3296 0.31256 0.322027 0.327707 0.325813 +0.31824 0.316347 0.333387 0.333387 0.31256 0.310667 0.31256 0.34664 +0.405333 0.405333 0.395867 0.39208 0.390187 0.4148 0.446987 0.500632 +0.531579 0.575789 0.635158 0.709684 0.796211 0.870737 0.930737 0.974947 +0.989796 0.996327 1.0009 1.00286 1.0022 1.00024 1.00024 1.0009 +1.00188 1.00416 1.0058 1.00678 1.00351 0.998939 0.992735 0.984898 +0.978737 0.971789 0.967368 0.968 0.966105 0.960421 0.957263 0.950947 +0.942737 0.940842 0.937053 0.934526 0.934526 0.939579 0.940842 0.947789 +0.966737 0.982286 0.98 0.938316 0.837263 0.689474 0.552421 0.416693 +0.339067 0.331493 0.32392 0.26712 0.000926667 0.000826667 0.0008 0.0008 +0.0008 0.000786667 0.000753333 0.00074 0.000753333 0.000766667 0.000753333 0.000733333 +0.0007 0.000733333 0.000726667 0.000733333 0.000713333 0.000686667 0.000693333 0.000693333 +0.000686667 0.0007 0.000706667 0.0007 0.00072 0.000713333 0.000693333 0.000693333 +0.00068 0.000673333 0.00068 0.000673333 0.00068 0.000686667 0.000686667 0.00068 +0.000666667 0.000686667 0.000713333 0.00072 0.0007 0.000653333 0.00068 0.00074 +0.000713333 0.000686667 0.000673333 0.000686667 0.0007 0.000693333 0.000706667 0.0007 +0.000686667 0.000693333 0.000706667 0.00072 0.000733333 0.000706667 0.000693333 0.000706667 +0.000733333 0.000733333 0.000726667 0.000733333 0.00072 0.00072 0.000733333 0.000713333 +0.000706667 0.000733333 0.00074 0.000726667 0.000706667 0.000713333 0.00072 0.00072 +0.00072 0.000713333 0.00072 0.000753333 0.00072 0.000706667 0.000713333 0.000686667 +0.00068 0.000693333 0.000713333 0.00074 0.000726667 0.000713333 0.0007 0.0007 +0.0007 0.000686667 0.000686667 0.000693333 0.000706667 0.00072 0.00072 0.000706667 +0.0007 0.000706667 0.000693333 0.0007 0.000706667 0.000686667 0.000666667 0.00068 +0.000673333 0.000693333 0.000693333 0.0007 0.00072 0.000693333 0.000686667 0.0007 +0.00068 0.00068 0.000706667 0.0007 0.000693333 0.0007 0.000673333 0.000666667 +0.000686667 0.000693333 0.000693333 0.00068 0.000686667 0.000693333 0.000673333 0.00068 +0.000686667 0.000686667 0.000666667 0.00066 0.00068 0.00068 0.00066 0.00066 +0.000666667 0.00066 0.000646667 0.000646667 0.000673333 0.000673333 0.00068 0.0007 +0.000666667 0.00064 0.000633333 0.000646667 0.000646667 0.000673333 0.000673333 0.000633333 +0.000626667 0.00064 0.00064 0.000633333 0.000646667 0.000653333 0.00064 0.00064 +0.000626667 0.000626667 0.000653333 0.000646667 0.00064 0.000626667 0.000626667 0.000653333 +0.00068 0.000666667 0.000666667 0.000646667 0.000666667 0.00068 0.000673333 0.00066 +0.000666667 0.000706667 0.000706667 0.0007 0.000713333 0.000746667 0.000873333 0.26144 +0.26712 0.00086 0.000746667 0.000893333 0.3012 0.516421 0.658526 0.824 +0.946526 0.988163 0.984571 0.964211 0.947789 0.944 0.946526 0.943368 +0.940842 0.937684 0.940211 0.949053 0.954105 0.962947 0.976842 0.986857 +0.992735 0.996327 1.00024 1.00286 1.00384 1.00514 1.00612 1.00678 +1.00906 1.00841 1.0071 1.00873 1.00808 1.00678 1.00743 1.00743 +1.0058 1.00286 0.998939 0.995347 0.996653 0.998939 1.00024 1.0022 +1.00318 1.00416 1.00416 1.00155 1.00057 0.999918 0.997306 0.996 +0.99502 0.992408 0.989143 0.986857 0.985224 0.985878 0.985878 0.982939 +0.982939 0.987837 0.991102 0.992735 0.993061 0.992082 0.992082 0.994041 +0.997633 1.00188 1.00612 1.01069 1.01559 1.01755 1.01853 1.01951 +1.01918 1.0169 1.01657 1.01657 1.01755 1.01853 1.01853 1.01755 +1.01755 1.01494 1.01037 1.00841 1.00547 1.0058 1.01135 1.01559 +1.01755 1.01592 1.01331 1.01265 1.01102 1.00776 1.00482 1.00253 +0.999592 0.99698 0.995347 0.992408 0.988816 0.990776 0.993714 0.990776 +0.984898 0.984571 0.984245 0.983265 0.981959 0.98098 0.980327 0.980653 +0.982939 0.989796 0.994694 0.996 1.00057 1.00645 1.01102 1.01429 +1.01755 1.01918 1.01722 1.01755 1.01918 1.01886 1.02049 1.02278 +1.02473 1.02278 1.01722 1.01265 1.01624 1.0378 1.07522 1.12999 +1.12999 1.12695 1.12543 1.11782 1.12543 1.11782 1.1163 1.13304 +1.11173 1.095 1.08587 1.09652 1.09956 1.08891 1.0813 1.09348 +1.12999 1.14065 1.13152 1.12543 1.13304 1.16043 1.19847 1.22281 +1.21216 1.20607 1.22738 1.23651 1.22281 1.22129 1.20607 1.07217 +1.02669 1.01265 1.01167 1.0169 1.01984 1.0218 1.0231 1.02278 +1.0218 1.02147 1.02212 1.01657 1.01331 1.01298 1.01037 1.00841 +1.00808 1.00743 1.01069 1.01233 1.01102 1.01396 1.02082 1.02571 +1.02865 1.03061 1.03224 1.03192 1.03224 1.0329 1.03224 1.03159 +1.02931 1.03029 1.03159 1.02865 1.02571 1.02278 1.02049 1.01788 +1.01102 1.0058 1.01037 1.01135 1.00776 1.00351 1.00057 0.999592 +0.995347 0.992735 0.993061 0.989143 0.985224 0.981959 0.967368 0.930737 +0.887158 0.838526 0.777895 0.720421 0.666737 0.613684 0.567579 0.529684 +0.490533 0.411013 0.378827 0.36936 0.36368 0.376933 0.37504 0.36368 +0.359893 0.354213 0.339067 0.3296 0.331493 0.327707 0.31824 0.31824 +0.31256 0.314453 0.3296 0.333387 0.3296 0.325813 0.3012 0.325813 +0.384507 0.378827 0.350427 0.339067 0.34096 0.337173 0.325813 0.339067 +0.367467 0.399653 0.456453 0.525895 0.587158 0.657895 0.738737 0.820842 +0.892842 0.948421 0.983592 0.995673 0.999265 1.00024 1.00286 1.00351 +1.00253 1.00384 1.0058 1.00678 1.00678 1.00514 1.00155 0.996653 +0.989796 0.982286 0.973053 0.969263 0.969263 0.967368 0.964211 0.957263 +0.945895 0.944 0.943368 0.939579 0.938947 0.942737 0.947789 0.950316 +0.955368 0.963579 0.975579 0.979368 0.940211 0.833474 0.685053 0.551789 +0.42048 0.331493 0.331493 0.325813 0.257653 0.00092 0.000846667 0.00082 +0.00078 0.000766667 0.00076 0.00076 0.000766667 0.000786667 0.00076 0.000746667 +0.000746667 0.000786667 0.000773333 0.000733333 0.000713333 0.000706667 0.000733333 0.000746667 +0.00072 0.000726667 0.000746667 0.000753333 0.000746667 0.000713333 0.000693333 0.0007 +0.0007 0.000713333 0.000726667 0.000713333 0.000706667 0.000693333 0.00072 0.000726667 +0.000706667 0.000713333 0.00072 0.0007 0.000686667 0.000686667 0.00072 0.000713333 +0.000686667 0.000693333 0.000713333 0.000733333 0.0007 0.000686667 0.000693333 0.000693333 +0.000693333 0.000706667 0.00072 0.000713333 0.000713333 0.0007 0.000693333 0.00072 +0.00074 0.00072 0.000706667 0.000706667 0.000706667 0.00072 0.00072 0.0007 +0.000706667 0.000706667 0.000713333 0.00072 0.000726667 0.00072 0.000733333 0.00074 +0.000733333 0.000746667 0.00074 0.000746667 0.000713333 0.000713333 0.000713333 0.0007 +0.000686667 0.00068 0.00068 0.0007 0.000706667 0.000713333 0.000713333 0.000706667 +0.000713333 0.000706667 0.000693333 0.000673333 0.00068 0.000706667 0.000726667 0.000713333 +0.000686667 0.0007 0.000706667 0.0007 0.000693333 0.000706667 0.000713333 0.000693333 +0.000673333 0.000693333 0.000693333 0.000706667 0.000706667 0.000706667 0.000706667 0.000693333 +0.00068 0.000666667 0.00068 0.00068 0.000673333 0.00068 0.00068 0.00068 +0.000686667 0.000686667 0.000686667 0.000693333 0.0007 0.000706667 0.000713333 0.000693333 +0.00068 0.000693333 0.000706667 0.0007 0.000693333 0.000686667 0.00068 0.000686667 +0.000693333 0.000686667 0.000673333 0.000666667 0.000673333 0.000666667 0.00066 0.000686667 +0.000706667 0.00068 0.000666667 0.00066 0.000653333 0.00068 0.000686667 0.00068 +0.000673333 0.000653333 0.000653333 0.000646667 0.000646667 0.00066 0.000666667 0.000666667 +0.000653333 0.000633333 0.000646667 0.00066 0.000666667 0.00066 0.000646667 0.000653333 +0.000646667 0.000673333 0.0007 0.000666667 0.00064 0.000673333 0.000673333 0.000666667 +0.00068 0.0007 0.000686667 0.000693333 0.000713333 0.000753333 0.000946667 0.274693 +0.242507 0.000813333 0.0009 0.3012 0.518947 0.666737 0.836 0.955368 +0.989469 0.985224 0.962947 0.944 0.934526 0.933895 0.942105 0.945895 +0.945895 0.945895 0.950316 0.959158 0.971158 0.984245 0.992735 0.997959 +1.00057 1.00253 1.00482 1.00612 1.00743 1.00873 1.00743 1.00678 +1.00743 1.00939 1.00971 1.00939 1.00776 1.0058 1.00547 1.00482 +1.0022 0.998286 0.993061 0.990776 0.993388 0.995347 0.996327 0.998286 +0.998612 0.998939 0.998612 0.996 0.99502 0.994367 0.991755 0.98849 +0.985224 0.982286 0.980653 0.977474 0.973053 0.969895 0.969895 0.964842 +0.960421 0.966737 0.976842 0.980653 0.981959 0.983918 0.985551 0.988163 +0.992082 0.995347 0.998612 1.00416 1.00808 1.012 1.01461 1.0169 +1.01853 1.0182 1.01722 1.0169 1.0169 1.01755 1.01755 1.01722 +1.01722 1.01624 1.01265 1.01069 1.01004 1.00873 1.01233 1.01592 +1.01657 1.01527 1.01167 1.01069 1.00971 1.00547 1.00253 0.999918 +0.996327 0.993061 0.992082 0.992082 0.990122 0.989143 0.990122 0.98751 +0.982612 0.98 0.979368 0.981306 0.982612 0.982286 0.982286 0.98098 +0.98 0.985224 0.98849 0.988163 0.992082 0.997633 1.00318 1.0058 +1.00808 1.00971 1.00971 1.00971 1.01167 1.01494 1.02082 1.03029 +1.03551 1.03322 1.02539 1.01559 1.01853 1.05184 1.22281 1.34911 +1.33085 1.26694 1.23803 1.21977 1.22129 1.19847 1.16195 1.1376 +1.1026 1.06761 1.05184 1.04629 1.04498 1.04204 1.04073 1.04367 +1.04988 1.04955 1.04629 1.04498 1.04824 1.05543 1.09348 1.15282 +1.17412 1.17108 1.19238 1.21673 1.23042 1.24259 1.22738 1.09652 +1.02767 1.00873 1.00482 1.00873 1.01069 1.01102 1.01167 1.01167 +1.01004 1.00906 1.00971 1.00514 1.00155 0.999918 0.997306 0.997959 +0.999918 0.999592 1.00384 1.00808 1.00776 1.01004 1.0169 1.0231 +1.02735 1.02963 1.03061 1.03192 1.03127 1.02996 1.02865 1.02865 +1.02833 1.03029 1.03127 1.03094 1.02898 1.02245 1.01559 1.00841 +0.998612 0.996327 1.00253 1.00449 1.00122 0.996327 0.99502 0.993714 +0.988816 0.985551 0.980327 0.961053 0.930737 0.892842 0.835368 0.764 +0.693263 0.630105 0.578316 0.541684 0.508842 0.44888 0.40912 0.39208 +0.38072 0.37504 0.367467 0.350427 0.35232 0.365573 0.361787 0.367467 +0.36936 0.344747 0.327707 0.333387 0.342853 0.333387 0.32392 0.3296 +0.320133 0.316347 0.32392 0.342853 0.35232 0.327707 0.303093 0.322027 +0.359893 0.354213 0.333387 0.3296 0.3296 0.310667 0.3012 0.31824 +0.32392 0.327707 0.342853 0.367467 0.411013 0.498107 0.545474 0.607368 +0.690105 0.776632 0.858737 0.925684 0.971158 0.990122 0.997633 1.00122 +1.00253 1.00384 1.00416 1.00547 1.00743 1.00841 1.00743 1.00416 +0.998612 0.991755 0.984898 0.978737 0.973684 0.970526 0.967368 0.963579 +0.954105 0.949684 0.947158 0.943368 0.942737 0.945263 0.949684 0.951579 +0.946526 0.945895 0.960421 0.975579 0.975579 0.935158 0.832842 0.686316 +0.551789 0.405333 0.3296 0.342853 0.32392 0.257653 0.000933333 0.00082 +0.000786667 0.00078 0.00076 0.00076 0.000766667 0.000786667 0.000766667 0.000753333 +0.000746667 0.000773333 0.000746667 0.000713333 0.000713333 0.000726667 0.000733333 0.000733333 +0.000726667 0.00074 0.000766667 0.00076 0.000733333 0.000693333 0.000706667 0.00072 +0.000726667 0.00074 0.000733333 0.0007 0.00068 0.0007 0.000746667 0.000746667 +0.000713333 0.0007 0.000706667 0.000713333 0.00072 0.000706667 0.000693333 0.000706667 +0.000726667 0.000753333 0.000746667 0.000726667 0.000693333 0.000693333 0.000733333 0.00074 +0.000726667 0.00074 0.00072 0.000713333 0.000726667 0.00072 0.0007 0.000706667 +0.00072 0.000713333 0.000713333 0.000713333 0.0007 0.00072 0.00072 0.0007 +0.000686667 0.000686667 0.000726667 0.000733333 0.000733333 0.00072 0.00072 0.00072 +0.000733333 0.000726667 0.0007 0.00072 0.0007 0.000706667 0.000713333 0.000713333 +0.000713333 0.000713333 0.000693333 0.000693333 0.000713333 0.000713333 0.00072 0.000713333 +0.00072 0.000733333 0.000726667 0.00072 0.000713333 0.0007 0.000713333 0.00072 +0.0007 0.000686667 0.000686667 0.000693333 0.000693333 0.000686667 0.0007 0.000706667 +0.0007 0.000706667 0.000686667 0.000693333 0.000686667 0.00068 0.000706667 0.000706667 +0.0007 0.000686667 0.000686667 0.000686667 0.000693333 0.000673333 0.000673333 0.000686667 +0.000686667 0.00068 0.000666667 0.00066 0.000666667 0.000693333 0.000713333 0.000713333 +0.00068 0.00066 0.00068 0.000693333 0.00068 0.000673333 0.000666667 0.000686667 +0.00068 0.00068 0.000666667 0.00066 0.00066 0.00066 0.000626667 0.00064 +0.00068 0.000666667 0.000646667 0.00066 0.000653333 0.00066 0.000666667 0.00066 +0.00068 0.000666667 0.000646667 0.00064 0.000626667 0.000633333 0.000653333 0.00066 +0.00066 0.000646667 0.000633333 0.00064 0.00064 0.000633333 0.000633333 0.000646667 +0.00062 0.00062 0.00066 0.00066 0.000633333 0.00064 0.000666667 0.00068 +0.0007 0.0007 0.000686667 0.000693333 0.00072 0.0008 0.231147 0.286053 +0.22736 0.000926667 0.293627 0.509474 0.658526 0.835368 0.957895 0.989143 +0.983592 0.962947 0.943368 0.937684 0.933895 0.932632 0.942737 0.952211 +0.954737 0.959789 0.967368 0.98 0.986857 0.994367 1.0009 1.00351 +1.00449 1.00514 1.0058 1.0071 1.00873 1.00906 1.00939 1.00808 +1.00743 1.00776 1.00939 1.00808 1.00612 1.00482 1.00318 1.00253 +1.00122 0.996327 0.992408 0.993061 0.992735 0.989469 0.986531 0.985551 +0.986857 0.987184 0.984898 0.983592 0.982286 0.98 0.974947 0.966737 +0.954737 0.945263 0.944 0.942105 0.938947 0.940211 0.946526 0.947789 +0.942105 0.944 0.955368 0.962316 0.962947 0.968632 0.974316 0.98 +0.983918 0.98751 0.990776 0.99502 0.998939 1.00384 1.00808 1.00971 +1.01298 1.01527 1.01559 1.01559 1.0169 1.0169 1.01788 1.01755 +1.01624 1.01592 1.01461 1.01298 1.01298 1.01233 1.01363 1.01592 +1.01527 1.01396 1.01037 1.00743 1.00678 1.00286 0.997959 0.995347 +0.993061 0.990776 0.990776 0.993388 0.989796 0.983592 0.98098 0.980653 +0.98 0.978737 0.976211 0.974316 0.976211 0.978105 0.980327 0.982286 +0.984898 0.988816 0.988816 0.988163 0.989796 0.992408 0.993714 0.994367 +0.99502 0.994367 0.99502 0.99698 0.999592 1.0071 1.0231 1.04237 +1.04988 1.04694 1.03486 1.02049 1.0231 1.07674 1.3841 1.60017 +1.53322 1.38106 1.3065 1.23042 1.15738 1.06609 1.04237 1.03061 +1.02343 1.01755 1.01069 1.00612 1.0058 1.00384 1.0022 1.00155 +1.00188 1.00188 1.00286 1.00416 1.00645 1.01069 1.01755 1.028 +1.03518 1.03747 1.04433 1.0551 1.10717 1.16043 1.1376 1.05086 +1.02114 1.00514 0.999918 1.00155 1.00122 1.00155 1.00155 1.00253 +1.00155 0.999918 1.00057 0.997306 0.992735 0.98849 0.984571 0.984245 +0.986531 0.989796 0.998612 1.01037 1.012 1.00971 1.01069 1.01755 +1.02441 1.02767 1.02506 1.02571 1.02767 1.02767 1.02441 1.02212 +1.02212 1.02571 1.02637 1.02604 1.02376 1.01984 1.01396 1.0009 +0.984245 0.983918 0.990776 0.989796 0.985551 0.976211 0.966737 0.950947 +0.928842 0.901684 0.862526 0.812 0.752 0.690105 0.621895 0.564421 +0.523368 0.47728 0.42616 0.416693 0.401547 0.371253 0.356107 0.371253 +0.390187 0.390187 0.367467 0.339067 0.348533 0.378827 0.388293 0.388293 +0.371253 0.333387 0.316347 0.316347 0.322027 0.325813 0.331493 0.333387 +0.32392 0.325813 0.320133 0.342853 0.356107 0.322027 0.304987 0.31256 +0.337173 0.339067 0.322027 0.31824 0.320133 0.297413 0.28984 0.29552 +0.299307 0.31256 0.3296 0.322027 0.316347 0.342853 0.371253 0.429947 +0.519579 0.579579 0.650316 0.736211 0.829053 0.908 0.962947 0.98751 +0.997959 1.00286 1.00384 1.0058 1.00776 1.00939 1.00971 1.0071 +1.00416 1.0009 0.996327 0.989796 0.982939 0.975579 0.973053 0.973053 +0.964211 0.954105 0.951579 0.948421 0.946526 0.946526 0.948421 0.952842 +0.948421 0.942737 0.948421 0.961053 0.974316 0.979368 0.940842 0.830947 +0.676211 0.539789 0.39208 0.3296 0.333387 0.31824 0.253867 0.0009 +0.000806667 0.000793333 0.000793333 0.00078 0.00078 0.00082 0.0008 0.000766667 +0.000753333 0.000773333 0.00074 0.00072 0.00072 0.000726667 0.000713333 0.00072 +0.00074 0.00074 0.00074 0.000726667 0.000713333 0.000706667 0.000726667 0.000733333 +0.00074 0.000713333 0.00068 0.000673333 0.000706667 0.00072 0.000726667 0.000726667 +0.0007 0.0007 0.00072 0.000753333 0.000726667 0.00068 0.000693333 0.00074 +0.00076 0.00074 0.000706667 0.0007 0.000706667 0.000733333 0.000753333 0.00074 +0.00072 0.00072 0.000713333 0.000706667 0.000713333 0.000713333 0.0007 0.0007 +0.00072 0.000733333 0.000733333 0.000733333 0.00072 0.000713333 0.0007 0.000693333 +0.000713333 0.00074 0.000746667 0.00072 0.000706667 0.00072 0.000713333 0.00072 +0.000713333 0.000693333 0.0007 0.000713333 0.000726667 0.00072 0.000713333 0.0007 +0.000706667 0.000706667 0.000706667 0.0007 0.000713333 0.000713333 0.000706667 0.000693333 +0.000693333 0.00072 0.00072 0.000733333 0.000726667 0.0007 0.000693333 0.000693333 +0.000693333 0.000673333 0.000673333 0.000673333 0.000693333 0.00068 0.000666667 0.000666667 +0.000673333 0.000706667 0.0007 0.000693333 0.000693333 0.000673333 0.000673333 0.0007 +0.000713333 0.000686667 0.00068 0.000673333 0.0007 0.0007 0.00068 0.00068 +0.00068 0.000673333 0.000673333 0.00066 0.000646667 0.00066 0.00066 0.000666667 +0.000686667 0.00068 0.00066 0.000653333 0.000646667 0.000646667 0.00066 0.00068 +0.000653333 0.00064 0.000646667 0.000633333 0.000646667 0.00066 0.00066 0.00066 +0.00066 0.000646667 0.000633333 0.000633333 0.000626667 0.000646667 0.000653333 0.000646667 +0.00064 0.00064 0.00064 0.000633333 0.000626667 0.000606667 0.0006 0.000613333 +0.000613333 0.00062 0.00064 0.00064 0.000633333 0.00062 0.000626667 0.000653333 +0.00066 0.000653333 0.000646667 0.000633333 0.000626667 0.000626667 0.000666667 0.000713333 +0.00072 0.0007 0.0007 0.00072 0.000753333 0.000926667 0.27848 0.282267 +0.22168 0.280373 0.508211 0.649053 0.828421 0.957895 0.989796 0.984245 +0.965474 0.945263 0.935789 0.935158 0.935789 0.942737 0.954737 0.963579 +0.969263 0.979368 0.985551 0.992082 0.996653 1.00057 1.00351 1.00416 +1.00449 1.00645 1.00808 1.00906 1.00808 1.00841 1.00971 1.01004 +1.00873 1.00743 1.0058 1.00449 1.00318 1.00155 0.998939 0.999592 +0.999592 0.994694 0.992408 0.991102 0.984245 0.974947 0.966737 0.961053 +0.959158 0.952842 0.938316 0.923158 0.906737 0.890316 0.879579 0.870105 +0.857474 0.850526 0.853053 0.860632 0.871368 0.885263 0.897263 0.906737 +0.913053 0.921895 0.938947 0.954105 0.961684 0.967368 0.972421 0.977474 +0.981633 0.985551 0.989469 0.990776 0.992408 0.996 0.999592 1.00188 +1.00514 1.00743 1.00971 1.00971 1.01069 1.01135 1.01265 1.01265 +1.01233 1.01429 1.01494 1.01363 1.01265 1.01298 1.01298 1.01363 +1.01331 1.01233 1.01069 1.0058 1.00351 1.0022 0.997633 0.996 +0.996327 0.996653 0.993061 0.991429 0.986204 0.976842 0.969895 0.973053 +0.973684 0.971158 0.970526 0.968 0.966105 0.965474 0.966105 0.972421 +0.983265 0.989796 0.991429 0.992082 0.992082 0.992082 0.988816 0.986857 +0.986204 0.981306 0.974947 0.981306 0.985551 0.992082 1.01004 1.03224 +1.04139 1.04139 1.02833 1.01494 1.0218 1.06761 1.38106 1.5667 +1.43736 1.26085 1.14977 1.05086 1.02637 1.00873 0.99502 0.990449 +0.988163 0.986531 0.984571 0.983918 0.986857 0.986531 0.986204 0.987837 +0.98751 0.987837 0.989469 0.990776 0.992082 0.995347 0.997306 1.00057 +1.00514 1.0071 1.01363 1.02245 1.03388 1.04139 1.0378 1.02637 +1.01298 1.00155 0.998612 0.999592 0.997959 0.997959 0.999265 1.0022 +1.00253 1.0009 0.999918 0.995673 0.991755 0.98849 0.983265 0.980327 +0.977474 0.981306 0.994041 1.012 1.01624 1.00939 1.00351 1.00645 +1.01788 1.02865 1.02735 1.0218 1.02539 1.02931 1.0218 1.01363 +1.01135 1.0169 1.01788 1.01592 1.01527 1.01559 1.01657 1.00384 +0.967368 0.935158 0.929474 0.914316 0.894105 0.865053 0.836632 0.795579 +0.751368 0.705263 0.656 0.605474 0.556842 0.519579 0.4716 0.42048 +0.388293 0.354213 0.337173 0.361787 0.39208 0.382613 0.378827 0.390187 +0.38072 0.361787 0.350427 0.331493 0.350427 0.407227 0.428053 0.401547 +0.361787 0.32392 0.304987 0.308773 0.310667 0.320133 0.339067 0.3296 +0.325813 0.327707 0.320133 0.348533 0.348533 0.310667 0.297413 0.304987 +0.320133 0.320133 0.30688 0.310667 0.304987 0.282267 0.280373 0.28416 +0.28416 0.304987 0.32392 0.316347 0.308773 0.314453 0.320133 0.331493 +0.359893 0.4148 0.498107 0.549263 0.628211 0.724842 0.819579 0.901684 +0.967368 0.991429 1.0009 1.00482 1.00678 1.00776 1.00841 1.0071 +1.00678 1.00612 1.00384 1.00024 0.994367 0.98751 0.984245 0.982939 +0.978737 0.966737 0.962316 0.956 0.949684 0.948421 0.952211 0.956 +0.951579 0.944632 0.943368 0.953474 0.969263 0.982939 0.984245 0.942105 +0.820842 0.65979 0.525263 0.365573 0.320133 0.333387 0.314453 0.246293 +0.000893333 0.000833333 0.000826667 0.000813333 0.00082 0.000846667 0.00082 0.0008 +0.000773333 0.00078 0.000773333 0.000753333 0.000733333 0.00076 0.000753333 0.000753333 +0.00076 0.00074 0.000746667 0.000753333 0.00074 0.000726667 0.000753333 0.000753333 +0.000726667 0.00068 0.000686667 0.000733333 0.00074 0.000713333 0.00072 0.000713333 +0.0007 0.0007 0.000713333 0.000733333 0.000693333 0.00068 0.00074 0.000746667 +0.000706667 0.00068 0.000686667 0.000726667 0.000733333 0.000726667 0.00072 0.000713333 +0.000713333 0.000733333 0.000733333 0.000713333 0.0007 0.000713333 0.000726667 0.000733333 +0.000733333 0.000733333 0.000746667 0.000733333 0.000706667 0.000706667 0.000726667 0.00074 +0.000746667 0.000726667 0.00072 0.00072 0.000713333 0.00074 0.000746667 0.00074 +0.000713333 0.000693333 0.000713333 0.00074 0.000706667 0.0007 0.000706667 0.000686667 +0.000686667 0.000666667 0.000673333 0.00068 0.000693333 0.0007 0.000693333 0.000673333 +0.000673333 0.000686667 0.000693333 0.000713333 0.00072 0.000706667 0.0007 0.000693333 +0.000693333 0.00068 0.000666667 0.00066 0.00068 0.000673333 0.000653333 0.00064 +0.000646667 0.000666667 0.00066 0.00066 0.00068 0.000686667 0.000653333 0.000653333 +0.000673333 0.00066 0.000673333 0.00068 0.000686667 0.000686667 0.00068 0.000673333 +0.000686667 0.000673333 0.00068 0.000666667 0.000653333 0.000666667 0.00066 0.000633333 +0.000646667 0.00068 0.000673333 0.000653333 0.000653333 0.000646667 0.000653333 0.000666667 +0.000653333 0.00064 0.000626667 0.00062 0.000633333 0.000653333 0.000646667 0.00064 +0.00064 0.000633333 0.00064 0.000626667 0.000606667 0.0006 0.000613333 0.00064 +0.000646667 0.000626667 0.00062 0.000626667 0.000646667 0.000646667 0.000633333 0.000613333 +0.000593333 0.0006 0.000613333 0.000626667 0.000633333 0.000646667 0.000646667 0.000653333 +0.00066 0.000673333 0.00068 0.000653333 0.000626667 0.000613333 0.00062 0.00068 +0.000713333 0.000686667 0.000693333 0.000713333 0.000793333 0.23872 0.304987 0.270907 +0.263333 0.48296 0.645263 0.821474 0.952842 0.990449 0.985551 0.965474 +0.945895 0.937053 0.937053 0.935789 0.938947 0.952842 0.968632 0.977474 +0.983265 0.989469 0.996327 1.0009 1.00416 1.00612 1.0071 1.00678 +1.00645 1.00808 1.01037 1.01102 1.01069 1.00939 1.00808 1.00906 +1.00743 1.00384 1.00155 1.00122 1.0009 0.997306 0.992735 0.992408 +0.991429 0.988163 0.983265 0.967368 0.940842 0.918737 0.907368 0.901684 +0.884 0.843579 0.8 0.766526 0.739368 0.714105 0.700211 0.689474 +0.677474 0.675579 0.684421 0.697053 0.716 0.737474 0.758316 0.777263 +0.798105 0.819579 0.844842 0.875789 0.904842 0.926316 0.942737 0.960421 +0.973684 0.981633 0.98751 0.990776 0.990449 0.990776 0.993061 0.995347 +0.997306 0.999918 1.00286 1.00351 1.00416 1.00482 1.00514 1.00612 +1.0071 1.00906 1.012 1.01265 1.01069 1.01167 1.01167 1.01102 +1.01004 1.00873 1.00776 1.00384 1.0009 1.00024 0.999592 1.00024 +1.00416 1.00547 0.99502 0.981959 0.971158 0.963579 0.964211 0.971158 +0.973684 0.971789 0.973053 0.973684 0.970526 0.968632 0.968 0.976211 +0.985224 0.990449 0.992735 0.996653 0.998939 0.99698 0.991429 0.983918 +0.979368 0.966737 0.949684 0.950947 0.961053 0.971158 0.984571 0.997959 +1.0058 1.01037 1.00841 1.00318 1.01004 1.03584 1.1376 1.21216 +1.08739 1.0378 1.01788 0.997306 0.982939 0.974947 0.966105 0.967368 +0.968632 0.968632 0.973053 0.973684 0.979368 0.981633 0.984245 0.990122 +0.992408 0.993388 0.992735 0.991755 0.994041 0.999265 1.00122 1.00188 +1.00253 1.00416 1.00873 1.01298 1.01657 1.01788 1.01559 1.01624 +1.01461 1.00776 1.00678 1.00743 1.00547 1.00384 1.00351 1.0071 +1.01004 1.00808 1.00318 0.999918 0.998286 0.995673 0.990122 0.987837 +0.985224 0.986204 0.995673 1.00939 1.01069 1.00384 0.996653 0.997633 +1.00971 1.02767 1.03224 1.02343 1.02441 1.02898 1.0169 1.00416 +0.998939 1.00188 1.00155 1.0022 1.00384 1.00482 1.01102 1.00188 +0.940211 0.847368 0.785474 0.745684 0.713474 0.679368 0.642737 0.601053 +0.566947 0.535368 0.508842 0.47728 0.439413 0.405333 0.390187 0.3864 +0.373147 0.35232 0.354213 0.373147 0.390187 0.395867 0.40344 0.395867 +0.359893 0.342853 0.344747 0.356107 0.390187 0.439413 0.433733 0.38072 +0.34096 0.31824 0.310667 0.308773 0.304987 0.322027 0.34664 0.3296 +0.314453 0.314453 0.342853 0.38072 0.356107 0.316347 0.314453 0.32392 +0.32392 0.316347 0.320133 0.320133 0.291733 0.27848 0.287947 0.291733 +0.293627 0.308773 0.316347 0.31256 0.308773 0.3012 0.308773 0.31824 +0.314453 0.316347 0.34096 0.393973 0.501263 0.557474 0.626316 0.720421 +0.825895 0.910526 0.971158 0.993061 1.0009 1.00384 1.00514 1.0058 +1.00612 1.00645 1.00612 1.00645 1.00351 0.997633 0.992082 0.990449 +0.990122 0.984245 0.973684 0.966105 0.958526 0.955368 0.957895 0.961684 +0.957263 0.950316 0.945895 0.952211 0.964842 0.981306 0.991429 0.98849 +0.932632 0.797474 0.632632 0.510737 0.358 0.31824 0.331493 0.310667 +0.246293 0.00092 0.000846667 0.00084 0.000813333 0.000826667 0.000846667 0.00082 +0.00078 0.000786667 0.000786667 0.000773333 0.000766667 0.000806667 0.000793333 0.000766667 +0.000766667 0.000746667 0.000746667 0.000773333 0.000753333 0.00074 0.000753333 0.000726667 +0.000693333 0.000706667 0.000746667 0.000766667 0.000713333 0.0007 0.00074 0.000726667 +0.0007 0.0007 0.000713333 0.000733333 0.000713333 0.00072 0.00074 0.000706667 +0.000693333 0.000713333 0.000726667 0.00074 0.000713333 0.000686667 0.00072 0.00072 +0.00072 0.000726667 0.000706667 0.0007 0.000713333 0.000726667 0.00072 0.000726667 +0.000726667 0.00072 0.000733333 0.000726667 0.000713333 0.000733333 0.000733333 0.000726667 +0.000713333 0.000706667 0.00072 0.000746667 0.00074 0.000746667 0.000753333 0.000726667 +0.000713333 0.000726667 0.000746667 0.00076 0.000686667 0.0007 0.0007 0.000686667 +0.000706667 0.000686667 0.000666667 0.000653333 0.000666667 0.00068 0.00068 0.000666667 +0.000653333 0.000673333 0.00068 0.000673333 0.000693333 0.00068 0.000686667 0.0007 +0.0007 0.00068 0.00068 0.000666667 0.000673333 0.000686667 0.00066 0.000646667 +0.000666667 0.000673333 0.00066 0.000653333 0.000666667 0.000693333 0.000673333 0.00066 +0.000673333 0.000653333 0.000646667 0.00066 0.000673333 0.000673333 0.000666667 0.000673333 +0.000673333 0.000646667 0.00064 0.000633333 0.000646667 0.000673333 0.000666667 0.000646667 +0.000653333 0.000666667 0.000673333 0.000666667 0.000673333 0.000686667 0.000686667 0.000653333 +0.000633333 0.000653333 0.00066 0.00064 0.000646667 0.00066 0.00066 0.000653333 +0.000653333 0.00064 0.000646667 0.00064 0.000626667 0.000626667 0.000613333 0.000606667 +0.000633333 0.00066 0.000626667 0.000593333 0.000613333 0.000633333 0.000633333 0.00064 +0.000633333 0.000626667 0.00064 0.000626667 0.000626667 0.000633333 0.000653333 0.000653333 +0.00066 0.000646667 0.000653333 0.00066 0.00066 0.00066 0.000646667 0.000673333 +0.00072 0.00072 0.000726667 0.00076 0.00094 0.287947 0.299307 0.28984 +0.4432 0.62 0.808211 0.950316 0.991429 0.985224 0.966105 0.949684 +0.937684 0.933895 0.938947 0.942737 0.950947 0.968 0.981306 0.986531 +0.993714 0.998939 1.00286 1.00547 1.00841 1.00971 1.00906 1.00873 +1.00906 1.00841 1.00971 1.01167 1.012 1.01102 1.00841 1.00645 +1.00318 0.999918 0.998286 0.997306 0.996 0.992082 0.987837 0.984245 +0.977474 0.956 0.920632 0.872632 0.823368 0.784211 0.760842 0.751368 +0.726105 0.666737 0.611158 0.579579 0.56 0.545474 0.536 0.530947 +0.524632 0.524 0.528421 0.534737 0.549263 0.562526 0.576421 0.593474 +0.613053 0.632632 0.655368 0.688842 0.728632 0.765263 0.795579 0.829053 +0.866947 0.899158 0.926947 0.954105 0.973053 0.980327 0.984898 0.989796 +0.992082 0.994041 0.996653 0.997633 0.997959 0.998286 0.997306 0.997959 +0.998286 0.999592 1.0022 1.00416 1.00384 1.00351 1.00384 1.00416 +1.00449 1.00253 1.00155 0.997959 0.993714 0.991755 0.992408 0.99698 +1.00547 1.01037 0.997959 0.975579 0.956632 0.950947 0.952842 0.963579 +0.976842 0.98098 0.980653 0.978737 0.976211 0.976842 0.98 0.984245 +0.990122 0.992082 0.990449 0.993061 0.995347 0.995673 0.992408 0.982612 +0.964211 0.948421 0.933895 0.932 0.942737 0.957263 0.969263 0.98098 +0.983592 0.987184 0.992082 0.992735 0.996327 1.00612 1.01624 1.01559 +1.00024 0.98751 0.98098 0.971158 0.961684 0.958526 0.955368 0.959158 +0.961684 0.956632 0.962947 0.969263 0.978105 0.984245 0.989796 0.996327 +0.999265 0.999918 0.997959 0.995673 0.998612 1.00318 1.00449 1.00547 +1.00416 1.00547 1.00939 1.01298 1.01461 1.01527 1.01233 1.01396 +1.01527 1.01363 1.01396 1.01396 1.01527 1.01396 1.00971 1.01069 +1.01363 1.01494 1.01233 1.01004 1.00906 1.0071 1.00384 1.00188 +0.999918 0.999592 1.00057 1.00547 1.00449 1.0009 0.998939 0.998612 +1.00253 1.01396 1.02082 1.01461 1.01363 1.01233 1.00318 0.993714 +0.985551 0.982612 0.98098 0.984245 0.984571 0.984898 0.992408 0.987837 +0.908632 0.776632 0.662947 0.597263 0.566947 0.545474 0.524 0.502526 +0.47728 0.4432 0.412907 0.418587 0.439413 0.416693 0.376933 0.37504 +0.412907 0.441307 0.46592 0.469707 0.441307 0.405333 0.382613 0.358 +0.34096 0.337173 0.344747 0.378827 0.433733 0.469707 0.422373 0.361787 +0.33528 0.327707 0.322027 0.30688 0.299307 0.32392 0.339067 0.322027 +0.3012 0.310667 0.38072 0.439413 0.401547 0.359893 0.348533 0.333387 +0.320133 0.322027 0.34096 0.331493 0.293627 0.291733 0.293627 0.293627 +0.310667 0.320133 0.310667 0.308773 0.310667 0.297413 0.30688 0.31824 +0.30688 0.297413 0.304987 0.33528 0.39208 0.44888 0.505053 0.551158 +0.630105 0.733053 0.842316 0.931368 0.983592 0.996653 1.00057 1.00318 +1.00351 1.00318 1.00351 1.00547 1.00482 1.00155 0.998612 0.998612 +0.998612 0.993061 0.983592 0.98 0.973684 0.965474 0.960421 0.962947 +0.961053 0.955368 0.952211 0.954737 0.963579 0.978737 0.985551 0.988816 +0.981633 0.909895 0.772211 0.614316 0.496213 0.337173 0.310667 0.33528 +0.316347 0.2444 0.000913333 0.000853333 0.000833333 0.00086 0.00086 0.00084 +0.00082 0.000813333 0.000813333 0.00082 0.0008 0.000806667 0.00078 0.000753333 +0.00076 0.000753333 0.000773333 0.00078 0.000746667 0.000746667 0.00076 0.000713333 +0.000713333 0.00074 0.00074 0.000726667 0.000693333 0.000706667 0.000746667 0.000726667 +0.0007 0.0007 0.000733333 0.000753333 0.000733333 0.000713333 0.0007 0.0007 +0.000713333 0.000746667 0.00074 0.000706667 0.000693333 0.000713333 0.000733333 0.00072 +0.000706667 0.000706667 0.000693333 0.00072 0.00074 0.000726667 0.00072 0.00074 +0.00074 0.000726667 0.000733333 0.000746667 0.000746667 0.000753333 0.00074 0.00074 +0.000753333 0.000746667 0.000733333 0.000746667 0.000746667 0.00074 0.00074 0.000726667 +0.000746667 0.00074 0.000733333 0.000733333 0.000686667 0.000686667 0.000693333 0.0007 +0.000713333 0.000706667 0.000693333 0.00068 0.000666667 0.00068 0.000693333 0.000673333 +0.000666667 0.00068 0.000686667 0.000673333 0.000693333 0.00068 0.000673333 0.000693333 +0.000713333 0.000693333 0.000686667 0.000693333 0.000686667 0.000686667 0.00068 0.000673333 +0.000686667 0.000686667 0.000686667 0.000686667 0.00068 0.000666667 0.000666667 0.00068 +0.000686667 0.000686667 0.000666667 0.000646667 0.000653333 0.00066 0.000673333 0.000693333 +0.0007 0.000673333 0.00066 0.000653333 0.000646667 0.00066 0.000666667 0.000666667 +0.000666667 0.000673333 0.00066 0.00066 0.000653333 0.000653333 0.000673333 0.000673333 +0.000646667 0.000633333 0.000646667 0.000653333 0.00066 0.00066 0.000666667 0.000666667 +0.00068 0.00066 0.000646667 0.000666667 0.000646667 0.000646667 0.000653333 0.000626667 +0.00062 0.00066 0.00066 0.000626667 0.000633333 0.00062 0.00062 0.000633333 +0.000633333 0.000653333 0.000673333 0.000653333 0.000633333 0.000633333 0.00066 0.000673333 +0.000673333 0.000673333 0.000666667 0.00068 0.000686667 0.000706667 0.000713333 0.0007 +0.000713333 0.000726667 0.00074 0.000846667 0.257653 0.31824 0.293627 0.39208 +0.593474 0.779789 0.935158 0.991755 0.989469 0.966737 0.946526 0.942737 +0.939579 0.938947 0.944 0.952842 0.969895 0.985224 0.992082 0.99698 +1.00122 1.00449 1.0071 1.00873 1.00906 1.00873 1.00939 1.00939 +1.00939 1.00971 1.01004 1.00939 1.00841 1.00873 1.00873 1.00514 +1.00253 1.00286 1.00253 0.999918 0.994694 0.987184 0.98 0.956 +0.910526 0.844842 0.769053 0.698316 0.640842 0.603579 0.583368 0.574526 +0.564421 0.535368 0.504421 0.462133 0.43752 0.435627 0.429947 0.424267 +0.42048 0.40912 0.40344 0.40344 0.42048 0.43752 0.44888 0.46592 +0.490533 0.506947 0.515789 0.529684 0.550526 0.573895 0.594105 0.62 +0.656 0.693263 0.729263 0.770947 0.818947 0.858105 0.892211 0.92379 +0.948421 0.964842 0.98 0.985878 0.991102 0.993061 0.992408 0.991102 +0.990776 0.992408 0.992735 0.994367 0.99502 0.99502 0.995673 0.99502 +0.996327 0.996 0.993388 0.990122 0.985878 0.984245 0.984571 0.989796 +1.00188 1.00841 0.997633 0.969263 0.939579 0.929474 0.92821 0.939579 +0.961053 0.971789 0.973053 0.968632 0.964211 0.963579 0.964842 0.969895 +0.976211 0.98 0.974947 0.972421 0.971789 0.976842 0.981633 0.975579 +0.950316 0.930737 0.922526 0.927579 0.935789 0.947789 0.964211 0.974316 +0.975579 0.977474 0.981306 0.980327 0.98098 0.983592 0.982286 0.977474 +0.967368 0.961053 0.961684 0.962316 0.957263 0.954105 0.954105 0.958526 +0.966737 0.962316 0.965474 0.974316 0.983918 0.991102 0.997633 1.00351 +1.00645 1.00612 1.00416 1.00514 1.00547 1.00547 1.00449 1.00482 +1.0071 1.00906 1.01069 1.01069 1.012 1.01331 1.01167 1.01331 +1.01265 1.01135 1.01265 1.01298 1.01624 1.01722 1.01657 1.01722 +1.0169 1.02016 1.02147 1.01984 1.02049 1.02082 1.01853 1.01722 +1.01429 1.01135 1.00841 1.0071 1.00514 1.00514 1.00482 1.00188 +1.00024 1.00122 1.00416 0.999918 0.99698 0.992408 0.986204 0.980653 +0.970526 0.961053 0.954737 0.962947 0.962947 0.967368 0.979368 0.969263 +0.899158 0.789263 0.668 0.571368 0.525263 0.506947 0.473493 0.441307 +0.435627 0.439413 0.433733 0.450773 0.48296 0.46592 0.4148 0.399653 +0.45456 0.501895 0.508842 0.505053 0.452667 0.3864 0.342853 0.32392 +0.320133 0.320133 0.3296 0.356107 0.412907 0.456453 0.40344 0.356107 +0.344747 0.33528 0.32392 0.314453 0.308773 0.31256 0.32392 0.3296 +0.316347 0.31824 0.38072 0.445093 0.42048 0.371253 0.344747 0.31256 +0.299307 0.31824 0.358 0.356107 0.31824 0.30688 0.299307 0.3012 +0.322027 0.3296 0.322027 0.314453 0.303093 0.297413 0.308773 0.316347 +0.304987 0.3012 0.3012 0.322027 0.359893 0.37504 0.382613 0.412907 +0.498107 0.560632 0.656632 0.776 0.890316 0.968 0.991755 0.997633 +1.00122 1.00318 1.00351 1.00351 1.00482 1.00449 1.00351 1.00318 +0.999918 0.996 0.990122 0.986531 0.985224 0.979368 0.967368 0.964211 +0.963579 0.961684 0.959789 0.961684 0.965474 0.966737 0.966737 0.976211 +0.984571 0.974947 0.900421 0.750105 0.589053 0.452667 0.31824 0.31256 +0.34096 0.310667 0.236827 0.0009 0.00088 0.000893333 0.000873333 0.000873333 +0.000853333 0.000826667 0.000853333 0.000846667 0.000793333 0.0008 0.000793333 0.000766667 +0.000766667 0.000773333 0.0008 0.000793333 0.00076 0.000746667 0.000746667 0.00074 +0.00074 0.00074 0.00072 0.000746667 0.000726667 0.000713333 0.00074 0.000733333 +0.00072 0.000733333 0.00076 0.000746667 0.000726667 0.000713333 0.000726667 0.000746667 +0.00074 0.000726667 0.00072 0.000686667 0.0007 0.000713333 0.000726667 0.0007 +0.000713333 0.000746667 0.00074 0.00074 0.000733333 0.00072 0.000746667 0.000746667 +0.00072 0.000726667 0.000733333 0.000726667 0.000726667 0.00072 0.000713333 0.00072 +0.00074 0.000726667 0.00072 0.000726667 0.000733333 0.00072 0.00074 0.000766667 +0.000753333 0.00072 0.000726667 0.000753333 0.000726667 0.0007 0.000713333 0.000726667 +0.00074 0.000713333 0.000706667 0.000706667 0.000706667 0.000706667 0.000706667 0.0007 +0.000693333 0.000673333 0.000686667 0.000693333 0.000693333 0.000673333 0.000673333 0.000653333 +0.00068 0.000713333 0.000693333 0.00068 0.00068 0.00068 0.000673333 0.000673333 +0.000666667 0.00066 0.000666667 0.000693333 0.0007 0.00068 0.000653333 0.000646667 +0.000653333 0.000666667 0.00068 0.000686667 0.00068 0.000666667 0.000653333 0.00068 +0.00068 0.00068 0.00068 0.000673333 0.000653333 0.000653333 0.00066 0.000653333 +0.00066 0.000673333 0.000653333 0.00066 0.000673333 0.000646667 0.000646667 0.000666667 +0.00066 0.000653333 0.000646667 0.000633333 0.00064 0.000653333 0.000653333 0.000666667 +0.000673333 0.00066 0.000646667 0.000666667 0.00068 0.000673333 0.00068 0.000673333 +0.000653333 0.000653333 0.000646667 0.000653333 0.00066 0.000653333 0.000646667 0.00062 +0.000613333 0.000633333 0.00066 0.000666667 0.000666667 0.000646667 0.00066 0.000686667 +0.000673333 0.000646667 0.00066 0.000666667 0.000653333 0.000673333 0.000686667 0.000686667 +0.0007 0.000693333 0.000773333 0.216 0.30688 0.327707 0.373147 0.56 +0.744421 0.914947 0.987837 0.990776 0.978105 0.954105 0.942737 0.940842 +0.939579 0.946526 0.958526 0.969895 0.984571 0.994041 1.00024 1.00612 +1.00743 1.00808 1.00971 1.01102 1.01069 1.01069 1.012 1.01167 +1.01298 1.01363 1.01233 1.01004 1.00776 1.00743 1.00743 1.00547 +1.00612 1.0058 1.00057 0.994041 0.986857 0.967368 0.919368 0.846737 +0.756421 0.666737 0.592842 0.541053 0.511368 0.498107 0.481067 0.473493 +0.479173 0.473493 0.435627 0.399653 0.384507 0.390187 0.3864 0.37504 +0.376933 0.36936 0.359893 0.358 0.36936 0.38072 0.38072 0.384507 +0.3864 0.390187 0.40912 0.42616 0.43184 0.44888 0.467813 0.484853 +0.509474 0.524 0.539789 0.559368 0.596632 0.637053 0.676211 0.723579 +0.770316 0.811368 0.857474 0.908632 0.942105 0.954105 0.960421 0.963579 +0.969263 0.976842 0.981633 0.984245 0.985551 0.985878 0.986857 0.985551 +0.985224 0.987184 0.983265 0.974316 0.965474 0.966105 0.970526 0.980653 +0.989796 0.991755 0.98098 0.937684 0.904842 0.887789 0.879579 0.881474 +0.890316 0.896 0.896632 0.894105 0.893474 0.893474 0.889684 0.887789 +0.885895 0.882105 0.878316 0.877684 0.880211 0.894737 0.917474 0.929474 +0.918737 0.902947 0.899158 0.911789 0.924421 0.935158 0.949053 0.959158 +0.959789 0.962947 0.965474 0.958526 0.955368 0.959789 0.959158 0.954105 +0.950947 0.952842 0.955368 0.957895 0.955368 0.950316 0.954105 0.957263 +0.966105 0.972421 0.976211 0.982612 0.988163 0.99502 0.998286 1.00057 +1.00286 1.00449 1.00678 1.00971 1.00873 1.00482 1.00351 1.00678 +1.01331 1.01461 1.01461 1.01429 1.01461 1.01624 1.01298 1.01429 +1.01331 1.01331 1.01527 1.01722 1.02212 1.02278 1.02604 1.028 +1.02669 1.02833 1.02833 1.028 1.02898 1.02735 1.02604 1.02702 +1.02343 1.01984 1.01755 1.01461 1.01167 1.01004 1.00841 1.0058 +1.00155 0.998612 0.998939 0.99502 0.991102 0.985551 0.98098 0.970526 +0.964842 0.955368 0.947789 0.954105 0.957263 0.962316 0.970526 0.960421 +0.916211 0.851158 0.757684 0.645895 0.558105 0.506316 0.435627 0.418587 +0.424267 0.441307 0.4432 0.446987 0.464027 0.467813 0.462133 0.452667 +0.450773 0.45456 0.469707 0.47728 0.43184 0.376933 0.342853 0.3296 +0.3296 0.3296 0.33528 0.34664 0.3864 0.43184 0.405333 0.36936 +0.354213 0.3296 0.316347 0.316347 0.31256 0.299307 0.31256 0.327707 +0.322027 0.333387 0.37504 0.39776 0.373147 0.342853 0.31824 0.29552 +0.28984 0.316347 0.358 0.367467 0.339067 0.320133 0.31824 0.325813 +0.331493 0.34096 0.33528 0.31824 0.3012 0.3012 0.310667 0.32392 +0.33528 0.3296 0.314453 0.322027 0.33528 0.337173 0.337173 0.337173 +0.359893 0.4148 0.513895 0.597263 0.719158 0.848 0.943368 0.986204 +0.996653 1.00188 1.00318 1.00384 1.00482 1.00482 1.00318 1.0022 +0.999592 0.997306 0.994367 0.991102 0.990449 0.987837 0.983918 0.978105 +0.971158 0.968632 0.964211 0.962947 0.959158 0.954105 0.950316 0.954105 +0.970526 0.984571 0.973053 0.878316 0.717263 0.565684 0.412907 0.31256 +0.322027 0.34096 0.299307 0.223573 0.00088 0.00088 0.000866667 0.00086 +0.000846667 0.000826667 0.000833333 0.000813333 0.000786667 0.000813333 0.000826667 0.000793333 +0.000786667 0.00078 0.00078 0.000806667 0.000786667 0.000753333 0.00076 0.000766667 +0.00076 0.00074 0.000746667 0.000753333 0.000726667 0.000713333 0.000746667 0.000753333 +0.000733333 0.000726667 0.000733333 0.000726667 0.000726667 0.000746667 0.000746667 0.000753333 +0.000733333 0.000726667 0.000753333 0.000726667 0.00072 0.000733333 0.000733333 0.000733333 +0.000766667 0.00078 0.00076 0.000753333 0.000753333 0.00074 0.00074 0.000726667 +0.000726667 0.000733333 0.000726667 0.00072 0.000726667 0.00072 0.000706667 0.000726667 +0.000733333 0.000726667 0.000733333 0.00072 0.000726667 0.00072 0.000733333 0.000746667 +0.00072 0.000713333 0.000746667 0.00076 0.000706667 0.000706667 0.000706667 0.000706667 +0.00072 0.0007 0.000693333 0.000686667 0.000686667 0.000693333 0.000706667 0.000713333 +0.000693333 0.000666667 0.000666667 0.000686667 0.0007 0.00068 0.00068 0.000673333 +0.00066 0.0007 0.000693333 0.000666667 0.00068 0.0007 0.0007 0.00068 +0.000673333 0.00068 0.000666667 0.000666667 0.000686667 0.000693333 0.000673333 0.00064 +0.00064 0.000646667 0.000653333 0.000666667 0.000686667 0.0007 0.000673333 0.000673333 +0.000673333 0.000666667 0.00068 0.0007 0.000673333 0.000666667 0.000673333 0.00066 +0.000646667 0.00066 0.00066 0.000653333 0.00068 0.00068 0.000666667 0.000646667 +0.000633333 0.00066 0.00068 0.00066 0.00064 0.00064 0.000646667 0.000653333 +0.000646667 0.000646667 0.000646667 0.000653333 0.000646667 0.00066 0.000666667 0.000653333 +0.000653333 0.00064 0.000626667 0.00062 0.000646667 0.00066 0.00066 0.000633333 +0.000626667 0.00062 0.000613333 0.00064 0.00068 0.000673333 0.00066 0.000666667 +0.00066 0.000653333 0.000666667 0.000673333 0.000666667 0.000686667 0.000693333 0.000713333 +0.000713333 0.000746667 0.000933333 0.28416 0.33528 0.356107 0.528421 0.704 +0.888421 0.983918 0.990776 0.98098 0.962316 0.949684 0.947158 0.945895 +0.946526 0.957895 0.976842 0.987837 0.996653 1.0022 1.0058 1.01037 +1.01135 1.012 1.01233 1.01265 1.01298 1.01461 1.01494 1.01559 +1.01788 1.0182 1.01559 1.01167 1.00971 1.00971 1.00906 1.00906 +1.00743 1.00024 0.987837 0.971789 0.946526 0.885263 0.785474 0.683158 +0.597263 0.536632 0.48864 0.424267 0.39776 0.390187 0.384507 0.39208 +0.411013 0.422373 0.399653 0.36368 0.356107 0.36936 0.37504 0.36936 +0.36368 0.359893 0.361787 0.365573 0.36936 0.365573 0.354213 0.354213 +0.358 0.358 0.382613 0.399653 0.393973 0.390187 0.390187 0.388293 +0.399653 0.411013 0.418587 0.418587 0.445093 0.490533 0.511368 0.534737 +0.564421 0.59979 0.657895 0.729895 0.772211 0.788632 0.807579 0.825263 +0.842316 0.860632 0.878316 0.893474 0.903579 0.908632 0.913684 0.911789 +0.909263 0.909895 0.899158 0.880211 0.874526 0.881474 0.889053 0.897895 +0.907368 0.901684 0.875158 0.832211 0.798105 0.774105 0.753895 0.736211 +0.719158 0.710316 0.709053 0.707158 0.710316 0.713474 0.710316 0.700842 +0.693895 0.686316 0.682526 0.683789 0.692632 0.719789 0.757053 0.783579 +0.794947 0.811368 0.843579 0.880842 0.906737 0.918737 0.930737 0.940842 +0.943368 0.947158 0.952842 0.951579 0.950947 0.954105 0.953474 0.951579 +0.947158 0.947789 0.952842 0.955368 0.955368 0.955368 0.963579 0.968632 +0.978105 0.983592 0.986531 0.991102 0.995347 0.997959 0.997633 0.995673 +0.996 0.999918 1.00253 1.00449 1.00416 1.00514 1.00873 1.01559 +1.01984 1.0169 1.01853 1.02114 1.02212 1.0231 1.02049 1.02278 +1.0231 1.02212 1.0218 1.02343 1.02996 1.03029 1.03192 1.03453 +1.03192 1.0329 1.03192 1.03192 1.03224 1.03127 1.03029 1.03094 +1.03094 1.02702 1.02473 1.02506 1.02114 1.01527 1.01429 1.01331 +1.00743 1.00547 1.0022 0.996327 0.992408 0.987837 0.986204 0.98 +0.967368 0.956632 0.949684 0.954737 0.957263 0.960421 0.961684 0.956 +0.935158 0.899789 0.851158 0.770316 0.672421 0.582737 0.517684 0.467813 +0.441307 0.428053 0.4148 0.411013 0.40912 0.433733 0.464027 0.464027 +0.424267 0.39208 0.407227 0.452667 0.458347 0.416693 0.358 0.327707 +0.325813 0.34096 0.358 0.376933 0.407227 0.44888 0.456453 0.412907 +0.365573 0.337173 0.316347 0.314453 0.327707 0.316347 0.310667 0.316347 +0.327707 0.359893 0.378827 0.356107 0.325813 0.32392 0.316347 0.29552 +0.29552 0.320133 0.337173 0.34096 0.32392 0.308773 0.31824 0.3296 +0.3296 0.327707 0.31824 0.30688 0.293627 0.297413 0.30688 0.33528 +0.382613 0.36368 0.325813 0.320133 0.325813 0.327707 0.322027 0.320133 +0.333387 0.34664 0.37504 0.473493 0.558737 0.674947 0.815789 0.922526 +0.977474 0.992408 1.00057 1.00318 1.00318 1.00253 1.00122 0.999918 +0.998286 0.99698 0.997306 0.994367 0.993061 0.993388 0.992735 0.98849 +0.982612 0.978737 0.973053 0.962947 0.953474 0.949053 0.945263 0.942737 +0.953474 0.974947 0.984898 0.961053 0.848632 0.68 0.534737 0.382613 +0.316347 0.327707 0.339067 0.287947 0.00096 0.00088 0.000873333 0.000853333 +0.000846667 0.000826667 0.0008 0.0008 0.000793333 0.000806667 0.000806667 0.000786667 +0.00078 0.000786667 0.00078 0.000806667 0.000773333 0.00076 0.000786667 0.00078 +0.000793333 0.000773333 0.000753333 0.000746667 0.000733333 0.000746667 0.000773333 0.00076 +0.000733333 0.000713333 0.00072 0.000746667 0.00074 0.000713333 0.000706667 0.000713333 +0.000746667 0.000753333 0.00076 0.000713333 0.00072 0.000746667 0.000746667 0.00076 +0.000766667 0.000733333 0.000733333 0.000753333 0.00074 0.00072 0.000726667 0.00072 +0.000726667 0.000753333 0.000746667 0.00074 0.000746667 0.000733333 0.000726667 0.000726667 +0.000733333 0.00074 0.000753333 0.00076 0.00076 0.000733333 0.000733333 0.00074 +0.000766667 0.000753333 0.00074 0.00072 0.000673333 0.000686667 0.000693333 0.000673333 +0.000686667 0.000686667 0.000686667 0.000693333 0.000686667 0.00068 0.000673333 0.0007 +0.0007 0.000686667 0.000673333 0.000673333 0.00068 0.000673333 0.00068 0.000706667 +0.000706667 0.0007 0.000673333 0.000673333 0.000673333 0.000666667 0.0007 0.000693333 +0.00068 0.000673333 0.000686667 0.000686667 0.00068 0.000693333 0.0007 0.00068 +0.000666667 0.00066 0.000653333 0.00066 0.00066 0.00068 0.00068 0.000666667 +0.000673333 0.00068 0.000673333 0.000693333 0.000693333 0.000686667 0.0007 0.000673333 +0.00066 0.000673333 0.000666667 0.00064 0.000653333 0.000653333 0.00066 0.000666667 +0.000646667 0.000633333 0.00064 0.000646667 0.00066 0.000653333 0.00064 0.000633333 +0.000626667 0.00062 0.00064 0.000646667 0.00062 0.000613333 0.00064 0.000653333 +0.000653333 0.000646667 0.000626667 0.000606667 0.000626667 0.000646667 0.000633333 0.000626667 +0.000633333 0.000633333 0.00064 0.000626667 0.00064 0.00066 0.000666667 0.000686667 +0.000693333 0.00068 0.000693333 0.000693333 0.000706667 0.00074 0.000746667 0.00076 +0.000766667 0.00088 0.26144 0.331493 0.361787 0.5 0.649684 0.848 +0.978105 0.994041 0.984245 0.971789 0.960421 0.950947 0.954105 0.959789 +0.962316 0.973684 0.987837 0.997959 1.00547 1.00906 1.01102 1.01233 +1.01298 1.01494 1.01657 1.01755 1.01722 1.01853 1.0182 1.01951 +1.0218 1.02114 1.01657 1.01167 1.00906 1.00873 1.00873 1.00547 +0.995673 0.981633 0.952842 0.92 0.866947 0.758947 0.641474 0.566316 +0.521474 0.47728 0.411013 0.367467 0.358 0.35232 0.34096 0.342853 +0.365573 0.390187 0.384507 0.348533 0.337173 0.361787 0.378827 0.3864 +0.3864 0.384507 0.390187 0.393973 0.38072 0.361787 0.342853 0.34096 +0.348533 0.358 0.37504 0.382613 0.367467 0.361787 0.365573 0.365573 +0.365573 0.36368 0.361787 0.371253 0.382613 0.393973 0.393973 0.40344 +0.424267 0.469707 0.522737 0.561263 0.573895 0.578947 0.596632 0.616211 +0.632 0.649053 0.666737 0.684421 0.699579 0.709053 0.712842 0.714737 +0.714737 0.712842 0.698947 0.682526 0.685684 0.703368 0.709684 0.719158 +0.730526 0.725474 0.702737 0.659158 0.616211 0.587789 0.566316 0.548632 +0.532842 0.525895 0.526526 0.525263 0.524 0.525263 0.526526 0.517684 +0.510737 0.505684 0.504421 0.510105 0.525263 0.556211 0.589684 0.608 +0.624421 0.676211 0.768421 0.861263 0.909263 0.919368 0.925053 0.936421 +0.938316 0.937684 0.942105 0.944632 0.948421 0.953474 0.955368 0.954737 +0.949053 0.950947 0.957895 0.964211 0.969263 0.972421 0.980327 0.983592 +0.987837 0.991755 0.994041 0.997633 1.00057 1.00024 0.998612 0.996653 +0.998286 1.00384 1.00482 1.0058 1.01102 1.01755 1.02278 1.02441 +1.02408 1.02343 1.02669 1.03094 1.03094 1.03192 1.02996 1.03192 +1.03224 1.03159 1.03159 1.03029 1.03322 1.03322 1.0342 1.03453 +1.03192 1.03388 1.0329 1.03192 1.03322 1.0329 1.03192 1.03094 +1.03322 1.03322 1.03127 1.03224 1.02865 1.02278 1.02082 1.02114 +1.01494 1.01069 1.00808 1.00416 0.999265 0.992408 0.990449 0.984245 +0.975579 0.964211 0.958526 0.962316 0.963579 0.966105 0.963579 0.960421 +0.951579 0.932 0.908 0.870105 0.816421 0.734947 0.644632 0.572 +0.529684 0.507579 0.481067 0.469707 0.450773 0.450773 0.458347 0.452667 +0.42616 0.39776 0.393973 0.42048 0.43184 0.407227 0.36368 0.327707 +0.31824 0.3296 0.350427 0.407227 0.473493 0.512 0.522105 0.498107 +0.395867 0.34664 0.322027 0.32392 0.350427 0.34664 0.320133 0.316347 +0.344747 0.388293 0.37504 0.337173 0.310667 0.316347 0.314453 0.3012 +0.304987 0.316347 0.308773 0.3012 0.299307 0.3012 0.304987 0.310667 +0.31824 0.31824 0.3012 0.28416 0.27848 0.28984 0.297413 0.3296 +0.384507 0.358 0.314453 0.310667 0.31824 0.32392 0.325813 0.333387 +0.337173 0.333387 0.333387 0.36368 0.428053 0.535368 0.649053 0.774105 +0.873895 0.949053 0.988163 0.99698 1.00057 1.00286 1.00122 0.999265 +0.996653 0.995673 0.99698 0.996653 0.995673 0.997306 0.998286 0.997633 +0.992735 0.988163 0.981633 0.968632 0.959789 0.952842 0.947158 0.940842 +0.942737 0.959158 0.978737 0.982939 0.939579 0.810737 0.638947 0.511368 +0.358 0.30688 0.3296 0.337173 0.26144 0.00096 0.000873333 0.000846667 +0.000846667 0.000806667 0.000813333 0.00082 0.000806667 0.0008 0.000813333 0.000806667 +0.0008 0.000793333 0.000773333 0.000766667 0.000753333 0.000766667 0.000786667 0.000773333 +0.000753333 0.000733333 0.00074 0.000753333 0.00074 0.000753333 0.00078 0.000773333 +0.000766667 0.000766667 0.000766667 0.000753333 0.000733333 0.000713333 0.00074 0.00076 +0.000773333 0.000753333 0.000746667 0.000726667 0.000773333 0.00078 0.000766667 0.00076 +0.000726667 0.000713333 0.000726667 0.00074 0.000733333 0.000713333 0.000726667 0.000726667 +0.00074 0.000766667 0.000733333 0.000726667 0.000733333 0.000726667 0.00072 0.000733333 +0.000746667 0.000746667 0.000766667 0.00076 0.000726667 0.000726667 0.000753333 0.000753333 +0.00076 0.000733333 0.000713333 0.00072 0.000666667 0.000693333 0.0007 0.000673333 +0.000693333 0.000693333 0.00068 0.000693333 0.000706667 0.000706667 0.00068 0.000673333 +0.000693333 0.000693333 0.000693333 0.000706667 0.000693333 0.00068 0.000686667 0.000693333 +0.000713333 0.000713333 0.000686667 0.00068 0.00068 0.000666667 0.000693333 0.000713333 +0.0007 0.00068 0.000686667 0.000706667 0.0007 0.00068 0.00068 0.000686667 +0.000686667 0.000673333 0.00066 0.00066 0.00066 0.000666667 0.000646667 0.000626667 +0.000633333 0.000673333 0.000686667 0.000653333 0.000646667 0.00066 0.00068 0.000666667 +0.00066 0.000673333 0.00068 0.000673333 0.000666667 0.000653333 0.000653333 0.00066 +0.00066 0.000633333 0.000633333 0.000646667 0.000633333 0.00066 0.000666667 0.000666667 +0.00066 0.00064 0.00064 0.000646667 0.000646667 0.000633333 0.00064 0.000653333 +0.000653333 0.000653333 0.000653333 0.000633333 0.000646667 0.000666667 0.00066 0.000646667 +0.000646667 0.000666667 0.000686667 0.000673333 0.000666667 0.00066 0.000666667 0.000686667 +0.000706667 0.0007 0.0007 0.00068 0.000706667 0.00076 0.000773333 0.000773333 +0.00086 0.248187 0.331493 0.373147 0.464027 0.605474 0.798105 0.952211 +0.991755 0.985551 0.974316 0.970526 0.966105 0.961053 0.967368 0.977474 +0.982612 0.988816 0.99698 1.00384 1.01004 1.01331 1.01559 1.01592 +1.01559 1.01886 1.02147 1.02245 1.02376 1.02376 1.02212 1.02245 +1.02408 1.0218 1.01559 1.01135 1.00808 1.00612 1.0022 0.991755 +0.968 0.92 0.863158 0.805053 0.742526 0.651579 0.567579 0.523368 +0.500632 0.44888 0.39208 0.344747 0.33528 0.348533 0.344747 0.331493 +0.348533 0.37504 0.382613 0.359893 0.358 0.38072 0.384507 0.3864 +0.399653 0.405333 0.399653 0.388293 0.365573 0.344747 0.339067 0.339067 +0.34664 0.356107 0.358 0.359893 0.35232 0.348533 0.350427 0.348533 +0.350427 0.344747 0.342853 0.36936 0.388293 0.378827 0.36368 0.36368 +0.367467 0.39208 0.4432 0.469707 0.446987 0.433733 0.441307 0.46592 +0.48296 0.503789 0.520211 0.524632 0.525263 0.528421 0.525895 0.527158 +0.530947 0.531579 0.528421 0.522105 0.527789 0.543579 0.544842 0.547368 +0.560632 0.56 0.543579 0.513895 0.43752 0.376933 0.356107 0.342853 +0.344747 0.342853 0.339067 0.34096 0.348533 0.342853 0.33528 0.327707 +0.33528 0.348533 0.356107 0.361787 0.405333 0.48864 0.520211 0.529684 +0.543579 0.597263 0.705895 0.829684 0.908 0.92821 0.932 0.944 +0.945895 0.940211 0.940842 0.944 0.944632 0.948421 0.951579 0.952211 +0.950947 0.956632 0.968632 0.979368 0.984245 0.986857 0.990449 0.993714 +0.995673 0.998612 0.999592 0.999592 1.00024 1.0009 1.00057 1.00122 +1.00547 1.01004 1.012 1.01624 1.02473 1.02963 1.02963 1.02865 +1.02931 1.02865 1.03094 1.03453 1.03388 1.03551 1.03322 1.0342 +1.03355 1.03224 1.03518 1.03682 1.03682 1.03682 1.03551 1.03322 +1.0329 1.03453 1.03322 1.03322 1.03388 1.03322 1.03257 1.03029 +1.03192 1.03322 1.03159 1.03192 1.03127 1.02898 1.02735 1.02637 +1.02147 1.01755 1.01396 1.01265 1.00873 1.00318 0.998612 0.989143 +0.981633 0.973053 0.968 0.973053 0.974947 0.973053 0.969895 0.968 +0.964842 0.958526 0.947789 0.926947 0.906737 0.866947 0.807579 0.731789 +0.661684 0.613053 0.573895 0.547368 0.525895 0.510737 0.501263 0.479173 +0.464027 0.458347 0.43752 0.416693 0.399653 0.384507 0.373147 0.358 +0.354213 0.356107 0.373147 0.429947 0.496213 0.519579 0.534105 0.523368 +0.469707 0.376933 0.325813 0.32392 0.34096 0.350427 0.342853 0.325813 +0.348533 0.378827 0.358 0.322027 0.30688 0.314453 0.31824 0.304987 +0.31256 0.31824 0.30688 0.293627 0.3012 0.3012 0.29552 0.303093 +0.31256 0.310667 0.297413 0.280373 0.27848 0.287947 0.28984 0.316347 +0.354213 0.34096 0.310667 0.316347 0.331493 0.344747 0.358 0.359893 +0.348533 0.327707 0.316347 0.333387 0.358 0.4148 0.525895 0.608 +0.702737 0.813263 0.913684 0.977474 0.995673 1.0009 0.999918 0.997633 +0.996327 0.994694 0.993714 0.996327 0.998286 1.0022 1.00384 1.00678 +1.00384 0.997633 0.988816 0.982286 0.976842 0.964211 0.952842 0.945895 +0.942737 0.951579 0.965474 0.979368 0.980653 0.921895 0.773474 0.607368 +0.498107 0.331493 0.297413 0.34096 0.322027 0.248187 0.000933333 0.000873333 +0.000866667 0.000833333 0.000833333 0.00084 0.000813333 0.00082 0.000833333 0.000833333 +0.000793333 0.000753333 0.00074 0.00076 0.000773333 0.00078 0.00078 0.00074 +0.00072 0.000726667 0.000753333 0.00074 0.000733333 0.000746667 0.000766667 0.00078 +0.00076 0.000746667 0.00072 0.000713333 0.00072 0.000746667 0.000786667 0.00076 +0.00074 0.000746667 0.000766667 0.000753333 0.000786667 0.00078 0.000766667 0.00076 +0.000746667 0.00076 0.00076 0.00076 0.00074 0.000713333 0.000746667 0.000773333 +0.00078 0.000766667 0.00074 0.000726667 0.00074 0.000746667 0.00076 0.000766667 +0.00076 0.00074 0.000766667 0.000766667 0.00076 0.000773333 0.000766667 0.00074 +0.00072 0.00074 0.000746667 0.00074 0.000686667 0.000713333 0.00072 0.000686667 +0.000713333 0.000726667 0.000706667 0.000706667 0.000706667 0.00072 0.000706667 0.000693333 +0.0007 0.000706667 0.00068 0.000673333 0.000693333 0.0007 0.0007 0.0007 +0.0007 0.000693333 0.00068 0.000666667 0.00066 0.00068 0.000686667 0.000693333 +0.000673333 0.000673333 0.0007 0.000693333 0.000693333 0.000693333 0.000666667 0.00066 +0.000666667 0.000673333 0.000673333 0.000673333 0.00068 0.0007 0.000693333 0.000653333 +0.00064 0.000646667 0.000673333 0.000666667 0.00064 0.000633333 0.000646667 0.000646667 +0.00064 0.00066 0.000686667 0.000706667 0.0007 0.000686667 0.000693333 0.000686667 +0.000673333 0.00066 0.000653333 0.00066 0.00064 0.000646667 0.000666667 0.00068 +0.00068 0.00068 0.00068 0.00066 0.000646667 0.000646667 0.000633333 0.00064 +0.000633333 0.000646667 0.000653333 0.000646667 0.000666667 0.000673333 0.00066 0.000653333 +0.00066 0.0007 0.000693333 0.00068 0.000686667 0.000693333 0.000706667 0.000706667 +0.000686667 0.000693333 0.000713333 0.000706667 0.000706667 0.000746667 0.000786667 0.00086 +0.23872 0.333387 0.38072 0.429947 0.56 0.740632 0.920632 0.989469 +0.986531 0.969263 0.961684 0.964211 0.966737 0.971158 0.980327 0.986204 +0.993061 0.999592 1.00482 1.00906 1.01233 1.01494 1.01624 1.01788 +1.02016 1.02212 1.0231 1.02604 1.02669 1.02637 1.02506 1.02539 +1.02441 1.02082 1.01559 1.01331 1.0071 0.996653 0.984898 0.960421 +0.904842 0.813895 0.717895 0.651579 0.614947 0.582105 0.542316 0.512632 +0.479173 0.4148 0.365573 0.33528 0.3296 0.339067 0.331493 0.316347 +0.33528 0.367467 0.39208 0.399653 0.393973 0.393973 0.38072 0.37504 +0.382613 0.373147 0.367467 0.373147 0.36368 0.348533 0.333387 0.33528 +0.342853 0.34664 0.348533 0.342853 0.33528 0.327707 0.3296 0.337173 +0.35232 0.358 0.36368 0.388293 0.39776 0.38072 0.359893 0.350427 +0.354213 0.365573 0.395867 0.40912 0.3864 0.373147 0.378827 0.388293 +0.393973 0.405333 0.44888 0.433733 0.40344 0.418587 0.43184 0.424267 +0.428053 0.429947 0.418587 0.40344 0.416693 0.450773 0.433733 0.405333 +0.416693 0.40912 0.378827 0.35232 0.314453 0.286053 0.286053 0.287947 +0.28984 0.286053 0.276587 0.2728 0.308773 0.333387 0.316347 0.310667 +0.331493 0.354213 0.358 0.342853 0.373147 0.43752 0.492427 0.511368 +0.534105 0.580842 0.663579 0.776 0.882105 0.932 0.937053 0.945895 +0.952842 0.951579 0.954105 0.957895 0.957895 0.958526 0.960421 0.962947 +0.964842 0.971158 0.982612 0.989796 0.99502 0.996 0.998939 1.0022 +1.00286 1.00645 1.00743 1.00547 1.00253 1.00253 1.00416 1.00776 +1.01265 1.01657 1.02212 1.02865 1.03616 1.03551 1.03029 1.02996 +1.03388 1.03257 1.03061 1.03159 1.03224 1.03584 1.0342 1.03551 +1.0378 1.03649 1.03714 1.03878 1.03812 1.03812 1.03878 1.03616 +1.03486 1.03486 1.03388 1.03551 1.03616 1.03518 1.0342 1.03127 +1.03159 1.03094 1.02898 1.03094 1.03127 1.03159 1.02996 1.02931 +1.02604 1.02604 1.0231 1.02049 1.01592 1.01429 1.01135 0.999918 +0.990449 0.984245 0.982286 0.982286 0.981959 0.978737 0.976211 0.974947 +0.973684 0.976842 0.977474 0.963579 0.944632 0.924421 0.903579 0.865053 +0.815789 0.763368 0.704632 0.656632 0.621263 0.597263 0.575789 0.548632 +0.529053 0.522105 0.512632 0.49432 0.456453 0.433733 0.42048 0.405333 +0.39776 0.39208 0.407227 0.42616 0.433733 0.462133 0.5 0.509474 +0.503789 0.4432 0.373147 0.344747 0.342853 0.358 0.358 0.34096 +0.350427 0.36936 0.348533 0.322027 0.31824 0.322027 0.316347 0.303093 +0.304987 0.31824 0.3296 0.339067 0.333387 0.310667 0.3012 0.303093 +0.303093 0.3012 0.299307 0.287947 0.28984 0.286053 0.287947 0.30688 +0.3296 0.342853 0.327707 0.344747 0.3864 0.39776 0.384507 0.36368 +0.34664 0.331493 0.32392 0.3296 0.342853 0.367467 0.42616 0.500632 +0.546105 0.637684 0.764632 0.887158 0.966737 0.990776 0.995673 0.996653 +0.996327 0.993061 0.990776 0.995673 1.00122 1.00449 1.00808 1.01233 +1.01298 1.00612 0.998286 0.991102 0.985878 0.978105 0.964842 0.958526 +0.951579 0.950947 0.955368 0.966105 0.981959 0.977474 0.894737 0.738105 +0.581474 0.435627 0.303093 0.310667 0.34664 0.30688 0.234933 0.000906667 +0.0009 0.000886667 0.000846667 0.000806667 0.000793333 0.00082 0.000833333 0.000813333 +0.00076 0.000746667 0.000773333 0.000786667 0.000786667 0.000773333 0.000766667 0.000753333 +0.000773333 0.000766667 0.00074 0.000726667 0.00074 0.000746667 0.000766667 0.000766667 +0.00072 0.0007 0.000713333 0.000726667 0.000746667 0.00074 0.000746667 0.000733333 +0.00074 0.00074 0.000753333 0.000726667 0.000746667 0.00074 0.000733333 0.000766667 +0.000773333 0.00076 0.00076 0.00076 0.00076 0.000753333 0.000766667 0.00078 +0.00078 0.000766667 0.000726667 0.000713333 0.00074 0.000753333 0.00076 0.00074 +0.000713333 0.000713333 0.000766667 0.00078 0.00076 0.00074 0.000726667 0.000733333 +0.00074 0.00076 0.00076 0.00074 0.000686667 0.000693333 0.000713333 0.0007 +0.000693333 0.000693333 0.0007 0.0007 0.0007 0.000713333 0.000706667 0.000713333 +0.000713333 0.000713333 0.0007 0.000673333 0.00068 0.000686667 0.000686667 0.0007 +0.000726667 0.000713333 0.000693333 0.000686667 0.000673333 0.00068 0.000686667 0.0007 +0.00068 0.00066 0.000673333 0.00068 0.000686667 0.000693333 0.000686667 0.00068 +0.000686667 0.000673333 0.000666667 0.00066 0.000653333 0.00066 0.0007 0.0007 +0.000686667 0.00066 0.00064 0.000673333 0.00068 0.000673333 0.000666667 0.000673333 +0.00066 0.000646667 0.000666667 0.000686667 0.0007 0.000686667 0.000686667 0.000706667 +0.0007 0.000686667 0.000673333 0.00066 0.000653333 0.000653333 0.00068 0.00068 +0.000653333 0.00066 0.00068 0.000686667 0.00068 0.000666667 0.000653333 0.00066 +0.00066 0.000653333 0.000653333 0.000653333 0.00064 0.000666667 0.000666667 0.00066 +0.00068 0.000726667 0.000706667 0.0007 0.00072 0.000706667 0.000733333 0.000746667 +0.00072 0.0007 0.000713333 0.000713333 0.000733333 0.000766667 0.000833333 0.223573 +0.310667 0.371253 0.40912 0.525263 0.678737 0.877053 0.986531 0.989143 +0.967368 0.951579 0.950316 0.954737 0.962947 0.973684 0.982939 0.991102 +1.00024 1.00482 1.00743 1.01167 1.01592 1.0182 1.01853 1.02147 +1.02506 1.02571 1.02637 1.02735 1.028 1.02702 1.02702 1.02539 +1.0231 1.01951 1.01722 1.01265 1.0009 0.984898 0.952842 0.895368 +0.794316 0.674947 0.594105 0.556211 0.544842 0.541684 0.526526 0.505053 +0.44888 0.378827 0.34096 0.339067 0.348533 0.35232 0.316347 0.29552 +0.325813 0.373147 0.4148 0.42048 0.39776 0.367467 0.342853 0.34096 +0.359893 0.344747 0.342853 0.359893 0.36936 0.367467 0.350427 0.342853 +0.350427 0.34664 0.34664 0.342853 0.3296 0.3296 0.339067 0.34096 +0.348533 0.361787 0.378827 0.3864 0.382613 0.376933 0.373147 0.36936 +0.36936 0.358 0.359893 0.376933 0.365573 0.358 0.371253 0.39208 +0.401547 0.388293 0.395867 0.3864 0.367467 0.388293 0.429947 0.450773 +0.48864 0.479173 0.40912 0.373147 0.378827 0.3864 0.36368 0.356107 +0.358 0.356107 0.354213 0.33528 0.304987 0.282267 0.2728 0.274693 +0.274693 0.2728 0.27848 0.291733 0.337173 0.38072 0.38072 0.36368 +0.344747 0.327707 0.32392 0.322027 0.34096 0.399653 0.456453 0.507579 +0.545474 0.590316 0.641474 0.724842 0.846737 0.928842 0.943368 0.949053 +0.960421 0.969895 0.980327 0.983918 0.982939 0.98 0.979368 0.979368 +0.981306 0.986204 0.994694 1.00188 1.00416 1.0022 1.00155 1.00449 +1.00449 1.00482 1.00482 1.00416 1.0022 1.00482 1.01102 1.0169 +1.0218 1.028 1.03224 1.03518 1.03682 1.03518 1.03029 1.02931 +1.03486 1.03355 1.03257 1.03322 1.03322 1.03714 1.03812 1.04008 +1.04335 1.04237 1.03943 1.04008 1.0391 1.0391 1.04237 1.04073 +1.0378 1.03584 1.03453 1.03616 1.03551 1.03453 1.03584 1.03453 +1.03388 1.03192 1.02931 1.03029 1.03127 1.03127 1.03224 1.03224 +1.03061 1.03127 1.02931 1.02702 1.0218 1.02245 1.02147 1.01167 +1.00416 0.995347 0.989143 0.985551 0.983265 0.980327 0.980327 0.98 +0.98098 0.985551 0.98751 0.982286 0.966737 0.946526 0.932632 0.920632 +0.909263 0.883368 0.841684 0.803158 0.767158 0.737474 0.707158 0.670526 +0.636421 0.613053 0.587789 0.558737 0.531579 0.508211 0.4716 0.439413 +0.412907 0.399653 0.405333 0.39776 0.378827 0.376933 0.382613 0.42048 +0.469707 0.467813 0.422373 0.38072 0.356107 0.361787 0.356107 0.339067 +0.344747 0.356107 0.34096 0.320133 0.308773 0.308773 0.297413 0.291733 +0.29552 0.31256 0.348533 0.384507 0.39776 0.365573 0.327707 0.304987 +0.303093 0.310667 0.308773 0.297413 0.287947 0.280373 0.287947 0.308773 +0.325813 0.35232 0.348533 0.358 0.40912 0.405333 0.356107 0.333387 +0.331493 0.331493 0.325813 0.325813 0.333387 0.354213 0.36368 0.365573 +0.405333 0.512632 0.606105 0.738737 0.869474 0.956 0.987184 0.994041 +0.995347 0.992082 0.992408 0.997959 1.00286 1.00612 1.01102 1.01657 +1.0182 1.01559 1.01004 1.00057 0.993714 0.988163 0.979368 0.965474 +0.956 0.952211 0.951579 0.956632 0.969895 0.983265 0.972421 0.872 +0.704 0.551158 0.384507 0.29552 0.32392 0.34664 0.293627 0.000993333 +0.0009 0.000866667 0.00082 0.000793333 0.000813333 0.00084 0.000813333 0.000786667 +0.00076 0.000773333 0.000786667 0.000766667 0.000746667 0.000766667 0.000793333 0.000793333 +0.00078 0.00074 0.000726667 0.000753333 0.000753333 0.00076 0.000766667 0.000746667 +0.000733333 0.00074 0.000753333 0.000753333 0.000753333 0.000733333 0.000726667 0.000753333 +0.00076 0.000733333 0.000733333 0.000733333 0.000753333 0.000733333 0.000733333 0.000746667 +0.00074 0.00072 0.000713333 0.00074 0.00076 0.000766667 0.00076 0.00076 +0.000753333 0.000733333 0.00072 0.000733333 0.000733333 0.000733333 0.000726667 0.000706667 +0.000726667 0.00076 0.000773333 0.000746667 0.000726667 0.00074 0.000753333 0.00076 +0.000753333 0.000746667 0.000746667 0.000746667 0.000673333 0.00068 0.000706667 0.000706667 +0.000693333 0.000693333 0.0007 0.000686667 0.000673333 0.000686667 0.000686667 0.0007 +0.0007 0.0007 0.0007 0.0007 0.0007 0.000693333 0.00068 0.000673333 +0.0007 0.000733333 0.000706667 0.000713333 0.000706667 0.000693333 0.000666667 0.000686667 +0.0007 0.000686667 0.000666667 0.000666667 0.000673333 0.000686667 0.000686667 0.000693333 +0.000706667 0.0007 0.00068 0.000666667 0.00068 0.000653333 0.000666667 0.00068 +0.00068 0.00068 0.00068 0.00068 0.00066 0.00066 0.000666667 0.00068 +0.00068 0.00068 0.000666667 0.000666667 0.000673333 0.000673333 0.000666667 0.000686667 +0.0007 0.000686667 0.000686667 0.000686667 0.000666667 0.000646667 0.000666667 0.000693333 +0.00068 0.000646667 0.00064 0.000673333 0.000693333 0.0007 0.000686667 0.000686667 +0.000673333 0.000666667 0.000666667 0.000673333 0.000666667 0.00068 0.000686667 0.00068 +0.000693333 0.000713333 0.000706667 0.000713333 0.000733333 0.00072 0.000733333 0.000726667 +0.0007 0.000713333 0.00074 0.000726667 0.000746667 0.00082 0.216 0.293627 +0.348533 0.365573 0.479173 0.625053 0.823368 0.971789 0.99502 0.980327 +0.951579 0.943368 0.946526 0.956632 0.968 0.980653 0.98849 0.998612 +1.0071 1.00906 1.01102 1.01298 1.01657 1.02016 1.02245 1.02539 +1.02767 1.02833 1.028 1.02767 1.02865 1.02702 1.02539 1.0231 +1.02082 1.01984 1.0169 1.00612 0.991102 0.966105 0.901053 0.788632 +0.655368 0.563158 0.528421 0.519579 0.515789 0.515158 0.510105 0.48296 +0.416693 0.361787 0.3296 0.31824 0.33528 0.356107 0.3296 0.308773 +0.34096 0.401547 0.42048 0.39776 0.365573 0.342853 0.3296 0.322027 +0.327707 0.339067 0.34096 0.34664 0.35232 0.35232 0.35232 0.36368 +0.37504 0.36936 0.35232 0.331493 0.320133 0.331493 0.35232 0.356107 +0.354213 0.36368 0.361787 0.35232 0.348533 0.354213 0.36368 0.376933 +0.382613 0.36368 0.348533 0.356107 0.34664 0.34096 0.359893 0.39208 +0.405333 0.388293 0.365573 0.361787 0.365573 0.371253 0.399653 0.456453 +0.505053 0.479173 0.395867 0.367467 0.36368 0.34096 0.322027 0.342853 +0.356107 0.367467 0.40912 0.3864 0.322027 0.28984 0.274693 0.26712 +0.274693 0.291733 0.325813 0.367467 0.367467 0.354213 0.344747 0.331493 +0.30688 0.280373 0.27848 0.286053 0.314453 0.3864 0.46592 0.510737 +0.545474 0.576421 0.613684 0.688842 0.824632 0.932 0.952842 0.956632 +0.971789 0.982939 0.991755 0.997633 0.993714 0.985551 0.984245 0.985224 +0.989796 0.994367 0.999592 1.00416 1.00482 1.00416 1.00188 1.00351 +1.00155 0.999592 0.998612 1.00155 1.00482 1.01135 1.02114 1.02833 +1.03159 1.03714 1.03845 1.03649 1.03355 1.03127 1.03029 1.02898 +1.03322 1.03355 1.0342 1.03747 1.03747 1.03845 1.04041 1.04367 +1.04498 1.04204 1.03976 1.04204 1.04008 1.0391 1.04171 1.04106 +1.04204 1.04008 1.03714 1.03714 1.03649 1.03551 1.03747 1.03649 +1.03453 1.03224 1.02996 1.03127 1.03224 1.03224 1.03486 1.03486 +1.03388 1.0329 1.03159 1.03029 1.02637 1.02931 1.02735 1.02016 +1.01559 1.00645 0.996653 0.990449 0.985551 0.978737 0.974316 0.971158 +0.974316 0.983592 0.98849 0.984898 0.972421 0.953474 0.944632 0.943368 +0.947789 0.941474 0.930105 0.917474 0.894105 0.870105 0.841684 0.809474 +0.779789 0.750737 0.715368 0.679368 0.632632 0.578947 0.541053 0.519579 +0.498107 0.46024 0.44888 0.42048 0.3864 0.356107 0.34096 0.361787 +0.405333 0.42616 0.418587 0.39776 0.36368 0.356107 0.342853 0.327707 +0.327707 0.331493 0.322027 0.308773 0.28984 0.286053 0.287947 0.286053 +0.297413 0.314453 0.344747 0.405333 0.462133 0.464027 0.399653 0.342853 +0.320133 0.322027 0.31824 0.297413 0.28416 0.282267 0.297413 0.310667 +0.325813 0.35232 0.34664 0.342853 0.361787 0.350427 0.32392 0.31256 +0.314453 0.316347 0.314453 0.32392 0.337173 0.342853 0.339067 0.339067 +0.35232 0.39208 0.501263 0.586526 0.724842 0.863789 0.950316 0.984245 +0.990122 0.990776 0.993388 0.998939 1.00318 1.0071 1.01461 1.02049 +1.02212 1.02376 1.02147 1.01363 1.00286 0.996327 0.98751 0.974947 +0.959789 0.952842 0.951579 0.949053 0.956 0.977474 0.989796 0.963579 +0.834737 0.657895 0.517053 0.333387 0.28984 0.33528 0.348533 0.270907 +0.00094 0.000866667 0.000846667 0.000846667 0.000846667 0.000833333 0.0008 0.000806667 +0.000786667 0.000766667 0.000766667 0.00074 0.00074 0.000793333 0.000806667 0.000766667 +0.000726667 0.000726667 0.000746667 0.00076 0.000753333 0.00076 0.000753333 0.000753333 +0.00076 0.000753333 0.00074 0.00074 0.000753333 0.00074 0.00074 0.000746667 +0.00076 0.000753333 0.000753333 0.00076 0.00076 0.000746667 0.000746667 0.000733333 +0.000733333 0.000726667 0.000746667 0.00076 0.000753333 0.000733333 0.000733333 0.000753333 +0.000753333 0.00074 0.000753333 0.00076 0.000733333 0.00074 0.00074 0.000746667 +0.000766667 0.000766667 0.000753333 0.000746667 0.000766667 0.000773333 0.000746667 0.000746667 +0.000753333 0.000746667 0.00074 0.00074 0.000686667 0.000673333 0.000673333 0.000673333 +0.000666667 0.00068 0.000693333 0.000693333 0.000686667 0.000686667 0.000686667 0.0007 +0.000693333 0.000706667 0.000693333 0.000686667 0.00068 0.000693333 0.0007 0.00068 +0.000666667 0.0007 0.000706667 0.000713333 0.00072 0.00072 0.000706667 0.000693333 +0.000686667 0.000693333 0.000706667 0.00068 0.00068 0.000686667 0.000686667 0.0007 +0.000713333 0.000713333 0.0007 0.000686667 0.000713333 0.0007 0.000693333 0.000673333 +0.00066 0.00066 0.00068 0.000693333 0.000666667 0.00066 0.00066 0.000673333 +0.000673333 0.000673333 0.000666667 0.000666667 0.000666667 0.00066 0.00066 0.000673333 +0.000686667 0.000673333 0.000673333 0.000686667 0.000693333 0.000686667 0.000686667 0.00068 +0.000686667 0.000666667 0.000653333 0.000653333 0.000666667 0.000673333 0.000686667 0.000693333 +0.000666667 0.000666667 0.00066 0.00064 0.00066 0.00068 0.000666667 0.00066 +0.000686667 0.000713333 0.000693333 0.000713333 0.000726667 0.000713333 0.000746667 0.000733333 +0.000693333 0.000686667 0.00074 0.000753333 0.000773333 0.00092 0.280373 0.339067 +0.358 0.4148 0.566316 0.761474 0.942105 0.994694 0.987837 0.965474 +0.950316 0.946526 0.950316 0.962947 0.979368 0.988816 0.997959 1.00514 +1.00939 1.01004 1.01331 1.01657 1.01886 1.02278 1.02669 1.02963 +1.03029 1.03029 1.02996 1.02996 1.02931 1.02702 1.02441 1.02245 +1.02147 1.01886 1.00971 0.994041 0.973053 0.911789 0.797474 0.650947 +0.544211 0.501895 0.492427 0.504421 0.505053 0.501263 0.484853 0.446987 +0.39776 0.356107 0.322027 0.303093 0.314453 0.342853 0.34096 0.333387 +0.373147 0.429947 0.40912 0.356107 0.337173 0.33528 0.322027 0.308773 +0.308773 0.314453 0.320133 0.3296 0.339067 0.333387 0.33528 0.359893 +0.376933 0.378827 0.36936 0.344747 0.32392 0.325813 0.344747 0.361787 +0.371253 0.367467 0.350427 0.342853 0.337173 0.339067 0.339067 0.350427 +0.359893 0.358 0.358 0.365573 0.344747 0.331493 0.358 0.390187 +0.405333 0.390187 0.350427 0.350427 0.373147 0.36368 0.371253 0.42616 +0.450773 0.39776 0.35232 0.354213 0.348533 0.31256 0.299307 0.314453 +0.327707 0.34096 0.388293 0.390187 0.342853 0.320133 0.304987 0.287947 +0.293627 0.333387 0.382613 0.40344 0.333387 0.269013 0.259547 0.26144 +0.25576 0.248187 0.251973 0.27848 0.337173 0.428053 0.498107 0.501895 +0.508842 0.524632 0.567579 0.662316 0.815158 0.938316 0.962316 0.963579 +0.976211 0.978105 0.987184 0.996 0.993388 0.986204 0.986531 0.990449 +0.99502 0.996327 0.997306 1.00286 1.00416 1.00482 1.0009 1.00057 +1.00057 1.00024 0.999918 1.00514 1.01233 1.0218 1.03061 1.03518 +1.03747 1.04237 1.04008 1.03714 1.03649 1.0342 1.03486 1.0329 +1.03486 1.03551 1.03551 1.03943 1.03976 1.03878 1.03943 1.04106 +1.04237 1.04139 1.04139 1.04367 1.04041 1.03845 1.04073 1.04106 +1.04433 1.04237 1.03976 1.0391 1.03812 1.03747 1.03845 1.03682 +1.03518 1.0342 1.03094 1.03224 1.03322 1.03453 1.03812 1.03649 +1.03584 1.03616 1.03682 1.03486 1.02931 1.03224 1.03127 1.02963 +1.02735 1.02245 1.01592 1.00678 0.996327 0.985224 0.978105 0.966737 +0.962947 0.969895 0.981306 0.982286 0.974947 0.960421 0.952211 0.951579 +0.956632 0.957263 0.960421 0.963579 0.959789 0.950316 0.930105 0.908 +0.889684 0.863158 0.834105 0.808842 0.763368 0.704 0.652842 0.608 +0.566947 0.539158 0.520842 0.498107 0.428053 0.36936 0.337173 0.34096 +0.367467 0.3864 0.39208 0.382613 0.361787 0.342853 0.3296 0.325813 +0.31824 0.31824 0.310667 0.303093 0.287947 0.282267 0.280373 0.3012 +0.320133 0.33528 0.359893 0.40912 0.486747 0.515158 0.512632 0.456453 +0.376933 0.339067 0.322027 0.299307 0.287947 0.287947 0.297413 0.29552 +0.30688 0.32392 0.32392 0.31824 0.314453 0.314453 0.31824 0.316347 +0.310667 0.314453 0.316347 0.333387 0.342853 0.327707 0.3296 0.34096 +0.348533 0.350427 0.373147 0.4716 0.581474 0.727368 0.870105 0.954737 +0.983592 0.988163 0.990122 0.99502 1.00253 1.01037 1.01722 1.02245 +1.02441 1.028 1.03257 1.02735 1.01331 1.00351 0.996653 0.986857 +0.969895 0.954737 0.950947 0.946526 0.950316 0.966737 0.986531 0.989469 +0.937053 0.789263 0.613053 0.462133 0.303093 0.3012 0.354213 0.322027 +0.231147 0.000906667 0.000873333 0.000846667 0.0008 0.000806667 0.000806667 0.000833333 +0.000793333 0.000766667 0.00078 0.000793333 0.000793333 0.000806667 0.000793333 0.000753333 +0.000773333 0.000773333 0.000773333 0.000746667 0.000746667 0.000766667 0.00078 0.00078 +0.000746667 0.00074 0.00072 0.000726667 0.000746667 0.00074 0.000733333 0.000746667 +0.000746667 0.00076 0.000766667 0.00074 0.00074 0.000726667 0.00074 0.000746667 +0.000766667 0.000786667 0.000786667 0.000773333 0.000746667 0.000726667 0.00074 0.00078 +0.00078 0.000753333 0.000746667 0.00074 0.000733333 0.000773333 0.000766667 0.000733333 +0.000746667 0.000766667 0.000753333 0.00074 0.00076 0.00074 0.000726667 0.000733333 +0.000746667 0.000753333 0.000746667 0.000733333 0.000713333 0.000713333 0.000686667 0.000693333 +0.00068 0.00068 0.000673333 0.00068 0.00068 0.00068 0.000686667 0.00068 +0.00066 0.00068 0.0007 0.0007 0.000673333 0.000673333 0.0007 0.000693333 +0.000673333 0.000686667 0.0007 0.000706667 0.000713333 0.000726667 0.000746667 0.00076 +0.000726667 0.0007 0.000693333 0.000686667 0.000686667 0.0007 0.000686667 0.00068 +0.000693333 0.0007 0.000693333 0.000673333 0.0007 0.00072 0.00072 0.000706667 +0.000693333 0.000686667 0.000686667 0.000693333 0.000686667 0.00068 0.000666667 0.000693333 +0.000693333 0.000673333 0.000653333 0.000673333 0.000686667 0.000673333 0.000673333 0.000653333 +0.000673333 0.000666667 0.00066 0.000666667 0.000666667 0.00068 0.000693333 0.000693333 +0.00068 0.000666667 0.00068 0.000693333 0.000686667 0.000666667 0.000666667 0.00068 +0.000673333 0.000673333 0.00068 0.000673333 0.00068 0.000686667 0.00068 0.00066 +0.000673333 0.000693333 0.000673333 0.000693333 0.00072 0.000726667 0.000746667 0.00076 +0.00074 0.00072 0.00076 0.0008 0.000926667 0.270907 0.34096 0.350427 +0.37504 0.525263 0.688211 0.890947 0.990776 0.992408 0.974947 0.954737 +0.949684 0.950316 0.958526 0.976211 0.98751 0.997959 1.00547 1.00906 +1.00906 1.00971 1.01494 1.02082 1.02408 1.02669 1.02996 1.03192 +1.03127 1.02963 1.02996 1.02931 1.02898 1.02669 1.02408 1.02245 +1.02049 1.01396 1.00024 0.98098 0.921895 0.814526 0.668 0.543579 +0.452667 0.412907 0.433733 0.475387 0.490533 0.481067 0.46024 0.42616 +0.376933 0.34096 0.327707 0.322027 0.316347 0.327707 0.3296 0.3296 +0.376933 0.424267 0.3864 0.344747 0.3296 0.322027 0.31824 0.310667 +0.308773 0.303093 0.310667 0.322027 0.3296 0.3296 0.325813 0.33528 +0.34664 0.356107 0.376933 0.382613 0.359893 0.344747 0.356107 0.378827 +0.38072 0.359893 0.342853 0.342853 0.342853 0.34096 0.3296 0.3296 +0.339067 0.337173 0.348533 0.365573 0.342853 0.325813 0.339067 0.35232 +0.384507 0.405333 0.378827 0.365573 0.36368 0.344747 0.354213 0.3864 +0.388293 0.354213 0.333387 0.331493 0.337173 0.30688 0.27848 0.2728 +0.282267 0.287947 0.308773 0.320133 0.308773 0.30688 0.308773 0.327707 +0.354213 0.36368 0.356107 0.342853 0.28416 0.223573 0.000993333 0.223573 +0.22736 0.23304 0.269013 0.325813 0.395867 0.43752 0.452667 0.428053 +0.42616 0.473493 0.541684 0.656632 0.822105 0.945895 0.978105 0.982939 +0.985224 0.978737 0.981959 0.992735 0.99502 0.992735 0.99502 0.996327 +0.99698 0.99698 0.998612 1.00351 1.00416 1.00743 1.00416 1.00155 +1.0009 1.0022 1.0058 1.01396 1.02506 1.03257 1.03616 1.03682 +1.03845 1.04269 1.03845 1.03486 1.03551 1.03486 1.0378 1.03616 +1.03518 1.03812 1.0391 1.04073 1.03943 1.03976 1.03976 1.04008 +1.04041 1.03976 1.04139 1.04269 1.04041 1.04139 1.04204 1.04073 +1.04269 1.04008 1.0391 1.04041 1.04041 1.04041 1.03976 1.03682 +1.03714 1.03845 1.03616 1.03486 1.03518 1.03486 1.03584 1.03518 +1.03518 1.03714 1.04041 1.03812 1.03322 1.03616 1.0342 1.03486 +1.03649 1.03616 1.03388 1.02604 1.01559 1.00351 0.991755 0.98 +0.964842 0.963579 0.966737 0.969895 0.974316 0.972421 0.964211 0.956 +0.954737 0.954737 0.967368 0.978737 0.98098 0.979368 0.968632 0.959789 +0.949684 0.927579 0.904211 0.887158 0.856842 0.814526 0.767158 0.710316 +0.656632 0.611789 0.575158 0.547368 0.518316 0.452667 0.376933 0.356107 +0.371253 0.37504 0.36936 0.35232 0.34096 0.327707 0.320133 0.322027 +0.31256 0.310667 0.308773 0.303093 0.299307 0.28416 0.28416 0.344747 +0.405333 0.418587 0.39776 0.393973 0.42616 0.501263 0.530316 0.532211 +0.498107 0.388293 0.325813 0.299307 0.282267 0.27848 0.28416 0.286053 +0.299307 0.304987 0.308773 0.308773 0.303093 0.304987 0.31256 0.308773 +0.31824 0.327707 0.331493 0.34096 0.33528 0.320133 0.32392 0.34096 +0.342853 0.33528 0.33528 0.356107 0.462133 0.589684 0.748211 0.889053 +0.962316 0.984245 0.98849 0.993388 1.00318 1.01298 1.01886 1.02278 +1.02506 1.02865 1.03616 1.03649 1.02571 1.01298 1.00449 0.995347 +0.983592 0.964211 0.953474 0.950316 0.950947 0.958526 0.976842 0.989796 +0.985878 0.907368 0.741263 0.569474 0.39776 0.293627 0.314453 0.348533 +0.287947 0.000986667 0.00086 0.000833333 0.000813333 0.00082 0.00082 0.000826667 +0.000793333 0.000773333 0.000806667 0.000806667 0.000786667 0.00078 0.00078 0.000766667 +0.000773333 0.00074 0.000733333 0.000746667 0.000766667 0.000786667 0.000793333 0.00076 +0.000746667 0.00076 0.000746667 0.000733333 0.000753333 0.000746667 0.00076 0.000766667 +0.000746667 0.000753333 0.000733333 0.00072 0.000733333 0.00074 0.000773333 0.00078 +0.000773333 0.000766667 0.00076 0.000746667 0.000746667 0.000753333 0.00076 0.000773333 +0.000746667 0.000726667 0.00074 0.00074 0.000746667 0.000766667 0.00074 0.000726667 +0.00076 0.000773333 0.000753333 0.000753333 0.000753333 0.00074 0.000753333 0.000753333 +0.000766667 0.000773333 0.000746667 0.000733333 0.0007 0.000693333 0.000686667 0.000706667 +0.000706667 0.0007 0.000693333 0.000706667 0.0007 0.000686667 0.000686667 0.000693333 +0.000693333 0.000686667 0.000686667 0.000706667 0.0007 0.000686667 0.0007 0.0007 +0.00068 0.000686667 0.000686667 0.000693333 0.000673333 0.00066 0.0007 0.00072 +0.000733333 0.000733333 0.0007 0.000686667 0.000706667 0.000713333 0.000713333 0.000693333 +0.000693333 0.000686667 0.00068 0.000666667 0.000686667 0.0007 0.000706667 0.000706667 +0.000693333 0.0007 0.000693333 0.000706667 0.0007 0.00068 0.00066 0.00068 +0.000693333 0.000693333 0.00068 0.000666667 0.00068 0.000693333 0.00068 0.00068 +0.00068 0.00066 0.000653333 0.000673333 0.000673333 0.000653333 0.000666667 0.000706667 +0.000693333 0.00066 0.000666667 0.000673333 0.000686667 0.000706667 0.000693333 0.000673333 +0.000673333 0.00068 0.000673333 0.000686667 0.0007 0.00072 0.000706667 0.000693333 +0.00072 0.000726667 0.000693333 0.0007 0.000733333 0.00074 0.000753333 0.000766667 +0.000753333 0.00076 0.000813333 0.00092 0.265227 0.33528 0.350427 0.359893 +0.47728 0.620632 0.823368 0.973684 0.993388 0.98 0.956 0.946526 +0.948421 0.956 0.974316 0.98751 0.997306 1.00678 1.01167 1.01069 +1.01004 1.01429 1.02147 1.02473 1.02637 1.02735 1.02963 1.03061 +1.02996 1.02996 1.02963 1.02833 1.02604 1.02473 1.02408 1.02147 +1.0169 1.00808 0.993388 0.946526 0.836 0.688211 0.555579 0.446987 +0.373147 0.359893 0.37504 0.42048 0.45456 0.45456 0.4432 0.418587 +0.373147 0.333387 0.342853 0.354213 0.337173 0.31824 0.308773 0.3296 +0.378827 0.399653 0.365573 0.337173 0.320133 0.322027 0.32392 0.316347 +0.30688 0.303093 0.310667 0.31824 0.316347 0.316347 0.31824 0.322027 +0.322027 0.3296 0.361787 0.39208 0.395867 0.393973 0.42616 0.435627 +0.393973 0.359893 0.34664 0.344747 0.339067 0.34096 0.331493 0.320133 +0.320133 0.31824 0.342853 0.361787 0.337173 0.32392 0.331493 0.348533 +0.39208 0.435627 0.416693 0.38072 0.342853 0.33528 0.354213 0.354213 +0.331493 0.327707 0.325813 0.325813 0.337173 0.325813 0.282267 0.25576 +0.257653 0.25576 0.26144 0.27848 0.2728 0.26712 0.293627 0.36936 +0.390187 0.344747 0.287947 0.27848 0.26712 0.22168 0.0009 0.00092 +0.000986667 0.259547 0.354213 0.424267 0.44888 0.412907 0.373147 0.365573 +0.401547 0.479173 0.551789 0.684421 0.849263 0.951579 0.978105 0.984571 +0.988163 0.987184 0.988816 0.996 0.999918 0.998286 0.998939 0.998286 +0.998286 1.00286 1.00514 1.00645 1.00449 1.00547 1.0058 1.00612 +1.0058 1.0071 1.01331 1.02147 1.03388 1.03747 1.0378 1.03845 +1.03976 1.04106 1.03845 1.03486 1.03486 1.03551 1.03714 1.03616 +1.03584 1.03943 1.04008 1.04041 1.03943 1.04139 1.04171 1.04073 +1.03976 1.03845 1.04204 1.04171 1.0391 1.04237 1.04302 1.04171 +1.04237 1.03943 1.03812 1.0391 1.04008 1.04106 1.04302 1.04204 +1.04106 1.04106 1.03976 1.0391 1.03714 1.03518 1.03453 1.03486 +1.0342 1.03616 1.03845 1.03747 1.03682 1.04008 1.03616 1.03682 +1.03845 1.03943 1.03976 1.03518 1.02931 1.02376 1.012 0.999592 +0.989143 0.984571 0.978105 0.970526 0.976211 0.980653 0.979368 0.966105 +0.952842 0.947789 0.962316 0.979368 0.984245 0.985878 0.986531 0.988163 +0.981959 0.960421 0.942737 0.928842 0.907368 0.884 0.853053 0.805053 +0.755158 0.706526 0.658526 0.621263 0.584 0.546105 0.510737 0.458347 +0.411013 0.37504 0.358 0.337173 0.32392 0.314453 0.31256 0.316347 +0.316347 0.31256 0.30688 0.310667 0.314453 0.320133 0.350427 0.42616 +0.492427 0.46024 0.378827 0.34664 0.342853 0.39208 0.501263 0.538526 +0.539158 0.5 0.373147 0.297413 0.259547 0.26144 0.276587 0.299307 +0.3012 0.30688 0.320133 0.314453 0.299307 0.299307 0.30688 0.320133 +0.344747 0.361787 0.36368 0.350427 0.333387 0.32392 0.32392 0.33528 +0.331493 0.325813 0.320133 0.320133 0.356107 0.48864 0.608632 0.771579 +0.904842 0.969263 0.987184 0.993714 1.0022 1.01004 1.01788 1.02245 +1.02473 1.02637 1.03192 1.0391 1.03649 1.02408 1.01102 1.00188 +0.992735 0.98098 0.964842 0.958526 0.956 0.956632 0.969895 0.985551 +0.991755 0.979368 0.868842 0.685684 0.528421 0.348533 0.28416 0.33528 +0.337173 0.25576 0.000913333 0.000853333 0.000826667 0.00082 0.00082 0.00084 +0.000806667 0.000786667 0.000793333 0.000773333 0.000726667 0.000746667 0.00076 0.000746667 +0.000753333 0.00074 0.000733333 0.00078 0.000773333 0.000753333 0.000753333 0.000753333 +0.00076 0.000753333 0.00074 0.00074 0.00074 0.000733333 0.00076 0.00078 +0.00076 0.000733333 0.000713333 0.000726667 0.000766667 0.00078 0.000786667 0.000753333 +0.00074 0.00074 0.000733333 0.000746667 0.000753333 0.000753333 0.000726667 0.00074 +0.000733333 0.000753333 0.00076 0.000733333 0.000713333 0.000726667 0.00074 0.00076 +0.000753333 0.000733333 0.000733333 0.000753333 0.000746667 0.00074 0.000746667 0.00074 +0.000753333 0.00076 0.000726667 0.000733333 0.000706667 0.0007 0.000673333 0.00068 +0.0007 0.00072 0.000713333 0.000713333 0.000706667 0.000686667 0.000686667 0.000693333 +0.000706667 0.0007 0.000706667 0.000706667 0.000713333 0.000686667 0.000693333 0.0007 +0.00068 0.00068 0.0007 0.000706667 0.0007 0.000686667 0.000686667 0.000686667 +0.000686667 0.000706667 0.000713333 0.000693333 0.0007 0.000706667 0.0007 0.000693333 +0.000686667 0.000693333 0.00068 0.000666667 0.000686667 0.000666667 0.000673333 0.000693333 +0.000693333 0.00068 0.00068 0.0007 0.0007 0.000673333 0.000653333 0.000666667 +0.00068 0.000693333 0.0007 0.000693333 0.000686667 0.00068 0.000673333 0.00068 +0.0007 0.0007 0.00068 0.000673333 0.00068 0.000673333 0.000673333 0.0007 +0.000686667 0.000673333 0.000666667 0.00066 0.000666667 0.000693333 0.0007 0.0007 +0.000693333 0.0007 0.000686667 0.000666667 0.000713333 0.000746667 0.000733333 0.000706667 +0.000733333 0.000766667 0.000726667 0.000726667 0.000746667 0.000733333 0.000746667 0.000766667 +0.00074 0.00076 0.00088 0.2444 0.31824 0.339067 0.3296 0.39776 +0.560632 0.749474 0.937053 0.995347 0.986857 0.964842 0.946526 0.943368 +0.949684 0.967368 0.987184 0.997959 1.0058 1.01233 1.01429 1.01363 +1.0169 1.02343 1.028 1.02898 1.02865 1.02865 1.02865 1.02865 +1.02931 1.02963 1.02931 1.02767 1.02571 1.02473 1.02212 1.01788 +1.01233 1.00057 0.970526 0.870105 0.721684 0.575789 0.464027 0.371253 +0.344747 0.344747 0.350427 0.373147 0.39776 0.407227 0.42048 0.424267 +0.399653 0.356107 0.348533 0.348533 0.344747 0.32392 0.299307 0.325813 +0.378827 0.384507 0.34664 0.314453 0.308773 0.320133 0.322027 0.32392 +0.31824 0.316347 0.316347 0.322027 0.314453 0.31824 0.322027 0.325813 +0.325813 0.33528 0.35232 0.36936 0.390187 0.439413 0.508211 0.498107 +0.39776 0.361787 0.348533 0.339067 0.333387 0.331493 0.3296 0.31824 +0.308773 0.310667 0.33528 0.354213 0.331493 0.325813 0.337173 0.36368 +0.40912 0.422373 0.382613 0.337173 0.303093 0.30688 0.325813 0.32392 +0.320133 0.314453 0.314453 0.31824 0.337173 0.339067 0.297413 0.265227 +0.253867 0.242507 0.2444 0.265227 0.270907 0.263333 0.316347 0.39776 +0.367467 0.286053 0.2444 0.240613 0.242507 0.229253 0.217893 0.236827 +0.27848 0.325813 0.38072 0.382613 0.367467 0.337173 0.32392 0.354213 +0.424267 0.512 0.590947 0.739368 0.883368 0.950316 0.966105 0.981959 +0.98849 0.992735 0.996327 0.999265 1.00188 1.00155 1.00384 1.00514 +1.00612 1.01069 1.012 1.01037 1.00743 1.00547 1.00547 1.00841 +1.01265 1.01624 1.02212 1.02963 1.03714 1.03878 1.03845 1.04008 +1.04073 1.03845 1.03714 1.03682 1.03812 1.0378 1.03682 1.03714 +1.03812 1.04106 1.04041 1.03943 1.03845 1.04106 1.04171 1.04106 +1.04008 1.03845 1.04008 1.03943 1.03812 1.04106 1.04106 1.04139 +1.04171 1.03976 1.03943 1.03976 1.04008 1.04106 1.04367 1.04433 +1.04498 1.04335 1.04106 1.03976 1.03616 1.03616 1.03584 1.03584 +1.03584 1.03747 1.03976 1.03845 1.03878 1.04008 1.03812 1.04139 +1.04139 1.04106 1.04106 1.0378 1.03453 1.03355 1.02604 1.0182 +1.01167 1.00612 0.997306 0.989469 0.986857 0.986204 0.986204 0.981306 +0.962947 0.951579 0.957263 0.974316 0.984898 0.988816 0.997306 1.0009 +0.988163 0.971789 0.960421 0.949684 0.935789 0.925684 0.911789 0.883368 +0.848 0.807579 0.761474 0.714737 0.665474 0.626316 0.582737 0.535368 +0.48864 0.405333 0.359893 0.339067 0.322027 0.30688 0.304987 0.31824 +0.331493 0.325813 0.31824 0.344747 0.365573 0.390187 0.433733 0.45456 +0.46024 0.401547 0.337173 0.320133 0.31824 0.33528 0.395867 0.505053 +0.542316 0.536 0.469707 0.337173 0.270907 0.26144 0.28416 0.310667 +0.31256 0.304987 0.331493 0.34096 0.31256 0.299307 0.299307 0.325813 +0.384507 0.418587 0.395867 0.35232 0.327707 0.316347 0.31824 0.325813 +0.32392 0.31824 0.316347 0.314453 0.327707 0.371253 0.508211 0.633263 +0.796842 0.918105 0.974316 0.989796 0.999265 1.00645 1.0169 1.02343 +1.02473 1.02408 1.02571 1.03322 1.03976 1.03355 1.0218 1.01102 +1.00057 0.989796 0.980327 0.968632 0.965474 0.964842 0.967368 0.978105 +0.986204 0.990449 0.959789 0.818947 0.630737 0.492427 0.31256 0.30688 +0.348533 0.322027 0.23872 0.00088 0.00082 0.00084 0.000833333 0.000833333 +0.0008 0.00078 0.000773333 0.000726667 0.000733333 0.000766667 0.000746667 0.000733333 +0.000753333 0.000753333 0.00074 0.00076 0.00074 0.000733333 0.000746667 0.00076 +0.000773333 0.000753333 0.00074 0.00074 0.000753333 0.00074 0.000753333 0.00078 +0.000746667 0.000713333 0.00072 0.00076 0.00078 0.000773333 0.000753333 0.00072 +0.00074 0.000753333 0.00076 0.00076 0.000746667 0.00072 0.000726667 0.00076 +0.000766667 0.00076 0.00074 0.000706667 0.00072 0.000766667 0.00076 0.000753333 +0.000726667 0.000713333 0.000733333 0.00076 0.000753333 0.000753333 0.00076 0.00074 +0.000746667 0.000746667 0.00074 0.000746667 0.00072 0.000726667 0.000706667 0.000693333 +0.000686667 0.0007 0.000713333 0.000706667 0.000706667 0.000693333 0.000686667 0.00068 +0.000686667 0.00068 0.000686667 0.000693333 0.000706667 0.0007 0.000693333 0.0007 +0.00068 0.000686667 0.0007 0.000686667 0.000686667 0.0007 0.000686667 0.000686667 +0.00068 0.00068 0.000693333 0.00068 0.000673333 0.000693333 0.000713333 0.000693333 +0.00066 0.000673333 0.000686667 0.0007 0.0007 0.000686667 0.000686667 0.000693333 +0.000686667 0.000686667 0.000686667 0.000693333 0.0007 0.000686667 0.000666667 0.000673333 +0.00068 0.000686667 0.000673333 0.00068 0.000693333 0.000686667 0.000673333 0.00066 +0.000666667 0.00068 0.0007 0.0007 0.00068 0.000673333 0.000686667 0.0007 +0.000693333 0.00068 0.000706667 0.0007 0.0007 0.000693333 0.000673333 0.0007 +0.0007 0.000713333 0.00072 0.000686667 0.000706667 0.000726667 0.00072 0.000706667 +0.00072 0.00074 0.000726667 0.000733333 0.00074 0.000726667 0.00074 0.000746667 +0.000733333 0.000826667 0.229253 0.299307 0.327707 0.314453 0.344747 0.509474 +0.665474 0.873263 0.989469 0.994367 0.976842 0.954105 0.944 0.945263 +0.959158 0.981959 0.996 1.00547 1.01135 1.01657 1.02016 1.02408 +1.03061 1.03453 1.03257 1.03094 1.03094 1.03061 1.02931 1.02833 +1.02735 1.028 1.028 1.02833 1.02767 1.02506 1.02049 1.01657 +1.00841 0.987184 0.902947 0.761474 0.610526 0.505053 0.384507 0.348533 +0.333387 0.331493 0.339067 0.35232 0.361787 0.367467 0.39776 0.441307 +0.445093 0.36936 0.320133 0.322027 0.342853 0.327707 0.3012 0.33528 +0.388293 0.376933 0.33528 0.31256 0.310667 0.316347 0.314453 0.32392 +0.331493 0.33528 0.337173 0.337173 0.325813 0.31824 0.322027 0.316347 +0.325813 0.333387 0.339067 0.350427 0.378827 0.481067 0.541053 0.515789 +0.378827 0.339067 0.339067 0.333387 0.32392 0.31824 0.316347 0.310667 +0.310667 0.31824 0.331493 0.348533 0.327707 0.31256 0.320133 0.33528 +0.359893 0.361787 0.33528 0.30688 0.291733 0.31824 0.32392 0.316347 +0.3296 0.320133 0.310667 0.314453 0.331493 0.331493 0.303093 0.269013 +0.25576 0.240613 0.242507 0.26712 0.299307 0.339067 0.418587 0.433733 +0.339067 0.2728 0.257653 0.263333 0.287947 0.314453 0.339067 0.36368 +0.36936 0.342853 0.293627 0.246293 0.242507 0.246293 0.270907 0.35232 +0.456453 0.536632 0.644632 0.803789 0.916211 0.961053 0.981959 0.995347 +0.999265 1.00024 1.00416 1.00645 1.0071 1.00906 1.01102 1.01461 +1.01624 1.01657 1.01331 1.01167 1.00971 1.0071 1.00612 1.01167 +1.01886 1.02278 1.02963 1.03714 1.04073 1.03845 1.03714 1.03943 +1.04139 1.03878 1.03584 1.03616 1.03878 1.0378 1.03649 1.03747 +1.03878 1.04171 1.04041 1.04073 1.04008 1.03943 1.03943 1.04204 +1.04302 1.04008 1.04139 1.04106 1.03845 1.04041 1.04139 1.04073 +1.04041 1.04041 1.04139 1.04237 1.04302 1.04335 1.04204 1.04106 +1.04335 1.044 1.04106 1.03976 1.0378 1.03878 1.03812 1.03682 +1.03747 1.03845 1.04171 1.04008 1.03943 1.0391 1.03747 1.04106 +1.04171 1.04269 1.04139 1.03747 1.03682 1.03551 1.02996 1.02767 +1.02571 1.02147 1.01559 1.01004 1.00286 0.996653 0.99502 0.992082 +0.983265 0.973053 0.971158 0.978105 0.981959 0.987837 1.00188 1.00482 +0.989469 0.975579 0.968632 0.962947 0.956632 0.951579 0.944632 0.931368 +0.913684 0.887158 0.849895 0.806947 0.753895 0.698316 0.633263 0.568842 +0.524 0.473493 0.39776 0.367467 0.342853 0.316347 0.308773 0.322027 +0.344747 0.348533 0.34664 0.378827 0.40344 0.407227 0.40912 0.388293 +0.367467 0.333387 0.31824 0.31824 0.310667 0.314453 0.34096 0.401547 +0.506947 0.537895 0.521474 0.42048 0.308773 0.269013 0.293627 0.333387 +0.3296 0.304987 0.31824 0.359893 0.34664 0.30688 0.28984 0.31824 +0.405333 0.439413 0.376933 0.32392 0.308773 0.310667 0.314453 0.320133 +0.320133 0.308773 0.314453 0.32392 0.32392 0.34096 0.39208 0.525895 +0.658526 0.815158 0.92379 0.978105 0.994367 1.00482 1.01657 1.02539 +1.02669 1.0231 1.02114 1.02539 1.03518 1.04008 1.03584 1.02278 +1.0071 0.99698 0.987837 0.975579 0.969895 0.970526 0.964211 0.962316 +0.969263 0.982612 0.988816 0.932 0.760842 0.581474 0.424267 0.31256 +0.32392 0.350427 0.291733 0.00096 0.000853333 0.00086 0.000813333 0.000793333 +0.000793333 0.0008 0.000786667 0.00076 0.00076 0.000766667 0.000773333 0.000773333 +0.000773333 0.000753333 0.000733333 0.00074 0.000733333 0.000753333 0.000766667 0.00076 +0.00076 0.000753333 0.000746667 0.000753333 0.00076 0.000753333 0.00076 0.000753333 +0.000746667 0.000753333 0.000746667 0.000766667 0.000766667 0.00074 0.00074 0.000746667 +0.000773333 0.000773333 0.00076 0.000733333 0.00072 0.000733333 0.000773333 0.000786667 +0.00076 0.000733333 0.000726667 0.000733333 0.00076 0.000753333 0.00072 0.000733333 +0.000733333 0.00074 0.000766667 0.000773333 0.00076 0.000766667 0.000766667 0.00076 +0.000746667 0.00076 0.00076 0.00076 0.00072 0.000706667 0.0007 0.0007 +0.000673333 0.00068 0.000693333 0.000686667 0.000693333 0.0007 0.000693333 0.0007 +0.0007 0.00068 0.000673333 0.00068 0.000686667 0.0007 0.000693333 0.0007 +0.000693333 0.000686667 0.0007 0.000706667 0.000686667 0.000673333 0.000666667 0.000673333 +0.0007 0.000706667 0.000713333 0.0007 0.00068 0.000686667 0.00072 0.000726667 +0.0007 0.0007 0.000693333 0.0007 0.000693333 0.00068 0.000693333 0.000706667 +0.000693333 0.00068 0.000693333 0.000693333 0.000693333 0.00068 0.000673333 0.000693333 +0.000693333 0.000693333 0.000666667 0.00066 0.00068 0.0007 0.000693333 0.000666667 +0.000666667 0.000666667 0.00068 0.0007 0.000693333 0.000693333 0.0007 0.000706667 +0.00068 0.000653333 0.0007 0.00072 0.00072 0.000706667 0.00068 0.000713333 +0.000706667 0.00072 0.000726667 0.00072 0.00074 0.000733333 0.000713333 0.000686667 +0.000713333 0.00074 0.000726667 0.000726667 0.000706667 0.000713333 0.000746667 0.000746667 +0.00078 0.00098 0.291733 0.322027 0.304987 0.304987 0.418587 0.595368 +0.795579 0.961684 0.99698 0.986204 0.964211 0.949684 0.945895 0.951579 +0.972421 0.991755 1.00416 1.01004 1.01657 1.03322 1.0489 1.04857 +1.04335 1.0391 1.03355 1.03029 1.02931 1.02898 1.02898 1.028 +1.02735 1.02833 1.02931 1.03224 1.03094 1.02278 1.0182 1.01331 +0.997633 0.938947 0.807579 0.650947 0.529053 0.412907 0.367467 0.350427 +0.33528 0.327707 0.325813 0.33528 0.344747 0.344747 0.38072 0.456453 +0.48864 0.38072 0.299307 0.304987 0.322027 0.314453 0.31824 0.359893 +0.378827 0.358 0.331493 0.316347 0.31824 0.322027 0.310667 0.31256 +0.33528 0.36368 0.371253 0.356107 0.333387 0.325813 0.331493 0.32392 +0.31824 0.320133 0.3296 0.350427 0.395867 0.510105 0.562526 0.520842 +0.359893 0.322027 0.331493 0.342853 0.33528 0.320133 0.310667 0.303093 +0.303093 0.31824 0.327707 0.333387 0.33528 0.31824 0.304987 0.3012 +0.320133 0.325813 0.314453 0.304987 0.31256 0.34096 0.342853 0.32392 +0.325813 0.31824 0.322027 0.33528 0.337173 0.310667 0.27848 0.253867 +0.251973 0.253867 0.259547 0.270907 0.308773 0.390187 0.484853 0.47728 +0.39208 0.367467 0.376933 0.3864 0.411013 0.428053 0.416693 0.37504 +0.32392 0.287947 0.253867 0.223573 0.22168 0.23872 0.274693 0.350427 +0.475387 0.572 0.719158 0.875158 0.957895 0.985224 0.996 1.0071 +1.01102 1.01298 1.01396 1.01429 1.01559 1.01722 1.01657 1.0169 +1.02114 1.02016 1.01396 1.01167 1.00971 1.00808 1.00776 1.01559 +1.02473 1.02865 1.0342 1.04008 1.04237 1.0391 1.03812 1.03943 +1.03878 1.03714 1.03584 1.03649 1.03845 1.0378 1.03649 1.03616 +1.03845 1.04237 1.0391 1.04073 1.04204 1.04041 1.03845 1.04106 +1.04367 1.04237 1.04433 1.04531 1.04073 1.03943 1.04269 1.04204 +1.04106 1.04204 1.04335 1.04367 1.044 1.04367 1.04302 1.04139 +1.04171 1.04171 1.04106 1.04008 1.03878 1.04008 1.03878 1.03812 +1.03878 1.03812 1.04171 1.04106 1.04073 1.03943 1.03878 1.04106 +1.03976 1.04269 1.04073 1.03682 1.03845 1.03518 1.03224 1.03355 +1.03322 1.02996 1.02669 1.02441 1.01918 1.012 1.0071 1.00449 +0.998939 0.991102 0.984571 0.981306 0.98 0.986857 1.00286 1.0058 +0.992408 0.98098 0.973684 0.969263 0.968 0.966105 0.964211 0.959158 +0.945895 0.930737 0.908 0.875158 0.822105 0.751368 0.669263 0.596632 +0.552421 0.520842 0.486747 0.43184 0.37504 0.337173 0.327707 0.33528 +0.350427 0.356107 0.35232 0.367467 0.371253 0.35232 0.337173 0.3296 +0.316347 0.3012 0.303093 0.304987 0.3012 0.308773 0.3296 0.350427 +0.4148 0.513263 0.530316 0.5 0.37504 0.29552 0.299307 0.34096 +0.333387 0.304987 0.322027 0.376933 0.3864 0.339067 0.320133 0.356107 +0.412907 0.399653 0.333387 0.291733 0.287947 0.293627 0.299307 0.31256 +0.31824 0.310667 0.320133 0.327707 0.320133 0.327707 0.34664 0.412907 +0.542316 0.679368 0.832211 0.936421 0.985551 1.00286 1.01657 1.02702 +1.02931 1.02473 1.02016 1.01886 1.02571 1.03747 1.04269 1.03518 +1.01755 1.0009 0.989796 0.981306 0.973053 0.969895 0.961053 0.952211 +0.952211 0.966737 0.988163 0.985878 0.887158 0.702105 0.537895 0.371253 +0.303093 0.333387 0.34096 0.263333 0.00092 0.000853333 0.000826667 0.0008 +0.0008 0.000793333 0.000773333 0.000753333 0.00076 0.000806667 0.000806667 0.00078 +0.000773333 0.000773333 0.00076 0.000773333 0.000766667 0.000786667 0.00078 0.000753333 +0.000766667 0.000753333 0.000753333 0.000753333 0.00074 0.000733333 0.00074 0.000733333 +0.000746667 0.000746667 0.00072 0.000733333 0.000746667 0.00074 0.000753333 0.000766667 +0.000773333 0.000753333 0.000726667 0.00072 0.000746667 0.000766667 0.000766667 0.00074 +0.000726667 0.00074 0.00074 0.000746667 0.00076 0.00072 0.000726667 0.000766667 +0.000773333 0.00076 0.000746667 0.00074 0.000733333 0.000746667 0.000746667 0.00074 +0.00074 0.000753333 0.000766667 0.00076 0.00072 0.00072 0.000693333 0.000686667 +0.00066 0.00068 0.000706667 0.000686667 0.00068 0.000686667 0.000673333 0.000693333 +0.00072 0.000686667 0.000666667 0.00068 0.000686667 0.000693333 0.000686667 0.000693333 +0.0007 0.0007 0.00072 0.00074 0.00074 0.0007 0.000686667 0.000693333 +0.000726667 0.00072 0.000733333 0.00074 0.000706667 0.000686667 0.000686667 0.000693333 +0.000686667 0.000713333 0.00072 0.000693333 0.00068 0.000653333 0.000666667 0.000686667 +0.000686667 0.00068 0.00068 0.000693333 0.000706667 0.0007 0.000686667 0.000693333 +0.000706667 0.00072 0.0007 0.000686667 0.000686667 0.000706667 0.000713333 0.000686667 +0.000686667 0.000673333 0.000673333 0.000686667 0.00068 0.000686667 0.000693333 0.00072 +0.0007 0.000666667 0.00068 0.0007 0.000713333 0.000713333 0.000686667 0.000693333 +0.0007 0.000726667 0.000726667 0.000726667 0.000746667 0.00076 0.00076 0.000733333 +0.000746667 0.000766667 0.000753333 0.000766667 0.000746667 0.00072 0.000746667 0.000766667 +0.000886667 0.270907 0.325813 0.310667 0.3012 0.348533 0.529053 0.710947 +0.908 0.991755 0.991755 0.978105 0.958526 0.949053 0.949053 0.962947 +0.985224 0.999592 1.00776 1.012 1.02898 1.09956 1.21216 1.13304 +1.05118 1.03845 1.03257 1.02931 1.028 1.02604 1.02506 1.02571 +1.02571 1.02669 1.02898 1.03355 1.03127 1.02212 1.01624 1.00645 +0.973053 0.854316 0.696421 0.559368 0.446987 0.37504 0.361787 0.34664 +0.34096 0.333387 0.31824 0.320133 0.327707 0.322027 0.35232 0.43752 +0.498107 0.407227 0.308773 0.293627 0.297413 0.304987 0.325813 0.356107 +0.344747 0.325813 0.320133 0.316347 0.31824 0.325813 0.327707 0.325813 +0.34096 0.390187 0.43752 0.429947 0.373147 0.34096 0.342853 0.325813 +0.308773 0.303093 0.30688 0.342853 0.407227 0.520211 0.569474 0.513895 +0.339067 0.316347 0.331493 0.34664 0.344747 0.325813 0.310667 0.3012 +0.297413 0.3012 0.314453 0.325813 0.337173 0.3296 0.316347 0.30688 +0.30688 0.316347 0.31256 0.308773 0.310667 0.325813 0.331493 0.331493 +0.322027 0.31256 0.322027 0.325813 0.316347 0.3012 0.276587 0.263333 +0.25576 0.263333 0.274693 0.27848 0.316347 0.393973 0.473493 0.48864 +0.439413 0.4148 0.416693 0.395867 0.382613 0.378827 0.354213 0.3012 +0.23872 0.22736 0.253867 0.265227 0.25576 0.27848 0.310667 0.393973 +0.543579 0.680632 0.838526 0.955368 0.99502 1.00482 1.00776 1.01331 +1.0182 1.02049 1.01951 1.01755 1.01984 1.02212 1.0218 1.02114 +1.02114 1.01984 1.01461 1.01233 1.01069 1.01135 1.012 1.01951 +1.02833 1.03257 1.03714 1.04171 1.04106 1.03976 1.04139 1.04204 +1.03812 1.03649 1.03551 1.03551 1.03812 1.04041 1.04106 1.03878 +1.03878 1.04073 1.0391 1.03878 1.04008 1.04171 1.04008 1.04041 +1.04302 1.04237 1.04269 1.04498 1.04367 1.04171 1.04367 1.04531 +1.04367 1.04335 1.04302 1.04204 1.04171 1.04367 1.04367 1.04139 +1.04204 1.04073 1.04073 1.04008 1.03812 1.03845 1.03845 1.03845 +1.0378 1.03714 1.04237 1.044 1.04302 1.04041 1.03943 1.04073 +1.04041 1.04139 1.03845 1.03649 1.03845 1.03486 1.0329 1.03584 +1.03682 1.0329 1.03159 1.03127 1.02767 1.02539 1.02147 1.01657 +1.01135 1.00351 0.993388 0.98751 0.981959 0.987837 1.00253 1.00514 +0.997633 0.989796 0.982286 0.977474 0.976211 0.978737 0.978105 0.969895 +0.954737 0.946526 0.933895 0.913053 0.870737 0.805053 0.724211 0.650316 +0.596 0.553053 0.527789 0.503789 0.418587 0.361787 0.354213 0.365573 +0.356107 0.339067 0.325813 0.333387 0.337173 0.32392 0.30688 0.304987 +0.299307 0.299307 0.303093 0.293627 0.293627 0.308773 0.314453 0.325813 +0.373147 0.46024 0.508842 0.503158 0.433733 0.34096 0.303093 0.333387 +0.33528 0.31824 0.320133 0.36368 0.405333 0.399653 0.382613 0.39776 +0.39208 0.339067 0.304987 0.291733 0.282267 0.282267 0.297413 0.322027 +0.333387 0.331493 0.327707 0.322027 0.314453 0.314453 0.325813 0.356107 +0.441307 0.559368 0.702105 0.854316 0.955368 0.995673 1.01331 1.02571 +1.03192 1.02833 1.02082 1.01396 1.01559 1.02669 1.03943 1.04433 +1.03453 1.01167 0.993388 0.986204 0.978737 0.967368 0.959158 0.952211 +0.947789 0.952842 0.975579 0.991102 0.973684 0.835368 0.637684 0.505053 +0.34096 0.308773 0.342853 0.308773 0.225467 0.000886667 0.000866667 0.000833333 +0.000813333 0.0008 0.000773333 0.000766667 0.000786667 0.000806667 0.000773333 0.000746667 +0.00076 0.00076 0.000753333 0.00078 0.00078 0.000766667 0.000753333 0.000746667 +0.000766667 0.000733333 0.000713333 0.000733333 0.00074 0.00072 0.00074 0.000746667 +0.000746667 0.00074 0.000713333 0.000726667 0.00076 0.000753333 0.00074 0.000733333 +0.000746667 0.00074 0.000753333 0.000766667 0.000753333 0.000733333 0.00074 0.00074 +0.00074 0.00074 0.000733333 0.000726667 0.00074 0.00074 0.000773333 0.000793333 +0.000773333 0.00074 0.00074 0.00074 0.000746667 0.000753333 0.000746667 0.000746667 +0.000753333 0.000773333 0.00078 0.000746667 0.000693333 0.000726667 0.000713333 0.000693333 +0.00068 0.000693333 0.000713333 0.000713333 0.000706667 0.000706667 0.0007 0.00068 +0.0007 0.000713333 0.0007 0.0007 0.00072 0.000706667 0.000693333 0.00068 +0.000673333 0.000693333 0.0007 0.00074 0.000753333 0.00072 0.000693333 0.000693333 +0.000706667 0.0007 0.000713333 0.000726667 0.000706667 0.000706667 0.000706667 0.0007 +0.000686667 0.000686667 0.000706667 0.0007 0.000686667 0.00068 0.000666667 0.000673333 +0.000686667 0.00068 0.000686667 0.000693333 0.000713333 0.000713333 0.000706667 0.000706667 +0.000713333 0.000733333 0.00074 0.000713333 0.0007 0.000706667 0.000713333 0.000693333 +0.000713333 0.000706667 0.0007 0.000706667 0.000693333 0.0007 0.000673333 0.000693333 +0.000706667 0.000713333 0.000713333 0.000706667 0.000713333 0.00072 0.000693333 0.000686667 +0.000693333 0.000733333 0.000746667 0.00074 0.000753333 0.000753333 0.000766667 0.000753333 +0.000773333 0.000773333 0.00074 0.000766667 0.000766667 0.000746667 0.000786667 0.00088 +0.25008 0.316347 0.308773 0.291733 0.32392 0.44888 0.621263 0.832842 +0.976842 0.993061 0.981306 0.964211 0.953474 0.949684 0.956632 0.979368 +0.99502 1.00547 1.00939 1.0182 1.05249 1.23803 1.29433 1.15738 +1.04988 1.0378 1.0329 1.02963 1.02637 1.02212 1.02245 1.0231 +1.02441 1.02343 1.02506 1.02865 1.02669 1.0218 1.01396 0.994367 +0.909263 0.747579 0.591579 0.486747 0.38072 0.359893 0.35232 0.348533 +0.34096 0.3296 0.31824 0.308773 0.31256 0.30688 0.320133 0.388293 +0.46592 0.42616 0.322027 0.293627 0.3012 0.316347 0.34664 0.358 +0.325813 0.304987 0.30688 0.303093 0.303093 0.31256 0.331493 0.342853 +0.342853 0.38072 0.450773 0.467813 0.418587 0.36936 0.358 0.337173 +0.29552 0.28416 0.28984 0.327707 0.399653 0.513895 0.56 0.508211 +0.325813 0.30688 0.322027 0.337173 0.344747 0.331493 0.31256 0.299307 +0.299307 0.297413 0.297413 0.30688 0.322027 0.3296 0.327707 0.31824 +0.316347 0.320133 0.322027 0.316347 0.3012 0.297413 0.303093 0.322027 +0.3296 0.320133 0.3296 0.320133 0.28984 0.280373 0.2728 0.263333 +0.257653 0.269013 0.299307 0.320133 0.359893 0.395867 0.405333 0.401547 +0.358 0.316347 0.30688 0.293627 0.28416 0.29552 0.291733 0.26712 +0.219787 0.000973333 0.25008 0.269013 0.25576 0.27848 0.356107 0.529053 +0.677474 0.842316 0.957895 0.999918 1.01559 1.01984 1.01951 1.02147 +1.02441 1.02473 1.02473 1.02114 1.02245 1.02669 1.02833 1.02604 +1.02114 1.01755 1.01298 1.01004 1.00841 1.01298 1.0182 1.02571 +1.03322 1.03584 1.03878 1.03976 1.0378 1.03845 1.04106 1.03976 +1.03649 1.03747 1.03845 1.0378 1.0391 1.03878 1.03943 1.04073 +1.03976 1.04237 1.04204 1.0391 1.0391 1.04139 1.03943 1.0391 +1.04139 1.04204 1.04139 1.04139 1.04367 1.04465 1.044 1.04302 +1.04367 1.044 1.04269 1.04139 1.04139 1.04269 1.04433 1.04204 +1.04237 1.04171 1.04204 1.04041 1.03649 1.03747 1.0391 1.03878 +1.03551 1.03714 1.04139 1.04269 1.04237 1.04106 1.0391 1.03845 +1.04171 1.04269 1.03878 1.03714 1.03714 1.0342 1.03355 1.03616 +1.03714 1.03388 1.03388 1.03486 1.03322 1.03257 1.03159 1.02702 +1.01984 1.01298 1.00514 0.999592 0.993388 0.997633 1.00547 1.00449 +1.00416 1.00155 0.992735 0.985878 0.982939 0.981959 0.977474 0.968632 +0.959789 0.953474 0.942737 0.930105 0.900421 0.851789 0.786105 0.717263 +0.656 0.599158 0.563158 0.536632 0.5 0.40912 0.384507 0.390187 +0.376933 0.339067 0.314453 0.325813 0.3296 0.310667 0.293627 0.3012 +0.32392 0.333387 0.320133 0.287947 0.282267 0.297413 0.3012 0.320133 +0.373147 0.422373 0.433733 0.433733 0.428053 0.3864 0.337173 0.331493 +0.337173 0.314453 0.29552 0.316347 0.401547 0.456453 0.43752 0.39776 +0.34664 0.303093 0.286053 0.291733 0.293627 0.29552 0.31256 0.339067 +0.36936 0.376933 0.348533 0.31824 0.314453 0.320133 0.331493 0.34664 +0.371253 0.452667 0.573263 0.731158 0.885263 0.977474 1.00286 1.02114 +1.03388 1.03257 1.02212 1.01069 1.00612 1.01298 1.028 1.04171 +1.04759 1.03192 1.00514 0.989143 0.982939 0.974947 0.959789 0.950316 +0.947789 0.945895 0.959158 0.984245 0.991102 0.941474 0.774737 0.592842 +0.445093 0.3012 0.304987 0.337173 0.28984 0.000986667 0.000866667 0.000833333 +0.00082 0.000826667 0.000806667 0.00078 0.000766667 0.00076 0.000753333 0.000766667 +0.000766667 0.000766667 0.00076 0.000773333 0.000746667 0.00074 0.00074 0.00074 +0.00076 0.000713333 0.000686667 0.000713333 0.000746667 0.000733333 0.00074 0.00074 +0.000733333 0.000733333 0.000733333 0.000753333 0.00078 0.000753333 0.00072 0.000733333 +0.000753333 0.000773333 0.00076 0.000753333 0.000733333 0.00074 0.000766667 0.00078 +0.000753333 0.000733333 0.000733333 0.00072 0.00074 0.00076 0.00076 0.00074 +0.000726667 0.000733333 0.000753333 0.000746667 0.000746667 0.00074 0.000733333 0.000753333 +0.00076 0.00076 0.000746667 0.000733333 0.000706667 0.000706667 0.00072 0.00072 +0.0007 0.0007 0.000706667 0.000706667 0.000693333 0.00072 0.00074 0.000713333 +0.000706667 0.000706667 0.000706667 0.000693333 0.00072 0.000726667 0.000706667 0.0007 +0.000673333 0.00068 0.000666667 0.000693333 0.000726667 0.00072 0.000706667 0.000686667 +0.000673333 0.000686667 0.000706667 0.000713333 0.0007 0.0007 0.000706667 0.000713333 +0.00072 0.00072 0.000713333 0.000706667 0.0007 0.0007 0.000693333 0.000693333 +0.0007 0.000686667 0.00068 0.000693333 0.000693333 0.000693333 0.000693333 0.000706667 +0.000693333 0.0007 0.000713333 0.000733333 0.00072 0.000726667 0.000726667 0.0007 +0.00072 0.000726667 0.00072 0.000713333 0.000713333 0.000733333 0.000726667 0.000713333 +0.0007 0.000713333 0.000733333 0.00072 0.000713333 0.000726667 0.0007 0.0007 +0.000706667 0.000726667 0.00074 0.000753333 0.000773333 0.00074 0.000733333 0.00074 +0.000766667 0.000766667 0.000766667 0.00078 0.000746667 0.00074 0.000826667 0.229253 +0.30688 0.314453 0.27848 0.297413 0.38072 0.548 0.739368 0.930105 +0.991429 0.984245 0.964842 0.957263 0.953474 0.954737 0.969263 0.988816 +1.00188 1.00808 1.01331 1.03682 1.13608 1.23955 1.19999 1.08282 +1.04465 1.03812 1.03486 1.03127 1.02473 1.02147 1.02147 1.02343 +1.02571 1.02408 1.0218 1.0218 1.02212 1.0182 1.00449 0.955368 +0.807579 0.634526 0.517684 0.405333 0.359893 0.344747 0.342853 0.354213 +0.339067 0.31824 0.310667 0.3012 0.303093 0.303093 0.308773 0.354213 +0.429947 0.435627 0.361787 0.322027 0.320133 0.342853 0.376933 0.378827 +0.339067 0.304987 0.299307 0.291733 0.28984 0.308773 0.32392 0.3296 +0.327707 0.354213 0.38072 0.39208 0.384507 0.36936 0.38072 0.36936 +0.333387 0.31256 0.30688 0.327707 0.37504 0.4716 0.530316 0.498107 +0.333387 0.303093 0.31824 0.337173 0.35232 0.344747 0.316347 0.3012 +0.310667 0.31256 0.299307 0.29552 0.303093 0.31256 0.31824 0.316347 +0.310667 0.310667 0.316347 0.31256 0.28984 0.274693 0.2728 0.291733 +0.310667 0.310667 0.327707 0.325813 0.282267 0.26144 0.26144 0.263333 +0.263333 0.28984 0.333387 0.36368 0.361787 0.32392 0.29552 0.303093 +0.286053 0.246293 0.240613 0.248187 0.263333 0.274693 0.257653 0.259547 +0.253867 0.253867 0.270907 0.263333 0.242507 0.29552 0.513263 0.668 +0.842316 0.968 1.00253 1.01527 1.02441 1.02735 1.02539 1.02735 +1.028 1.02571 1.02735 1.02669 1.02539 1.03061 1.03355 1.03061 +1.02408 1.01624 1.01037 1.00939 1.01037 1.01788 1.02278 1.02963 +1.03584 1.0378 1.0391 1.0391 1.03584 1.03584 1.03878 1.03878 +1.03649 1.0378 1.04041 1.04041 1.04237 1.04106 1.03812 1.04106 +1.04171 1.04465 1.04335 1.03976 1.03845 1.03845 1.03943 1.04171 +1.04237 1.04302 1.044 1.04204 1.04465 1.04727 1.04531 1.04237 +1.04041 1.04237 1.04367 1.04367 1.04302 1.04106 1.04237 1.044 +1.04498 1.044 1.04302 1.03976 1.03747 1.0378 1.0391 1.03845 +1.03747 1.03943 1.04139 1.04171 1.04171 1.04204 1.04041 1.0378 +1.04073 1.04302 1.04008 1.0391 1.03714 1.03518 1.03551 1.03649 +1.03682 1.03649 1.03518 1.03616 1.03747 1.03682 1.03649 1.03388 +1.02637 1.02016 1.01494 1.00808 1.00482 1.01037 1.00971 1.00547 +1.00841 1.01135 1.00776 0.997633 0.98849 0.983918 0.976842 0.970526 +0.972421 0.966737 0.957895 0.950947 0.92821 0.892842 0.842947 0.782947 +0.717895 0.655368 0.608 0.576421 0.541053 0.490533 0.428053 0.441307 +0.467813 0.418587 0.356107 0.34664 0.327707 0.304987 0.31256 0.34664 +0.371253 0.358 0.31256 0.28416 0.282267 0.287947 0.3012 0.337173 +0.38072 0.384507 0.356107 0.350427 0.378827 0.390187 0.359893 0.3296 +0.327707 0.31256 0.280373 0.287947 0.388293 0.503789 0.49432 0.384507 +0.31256 0.293627 0.28416 0.293627 0.3012 0.293627 0.293627 0.316347 +0.384507 0.424267 0.37504 0.322027 0.320133 0.337173 0.337173 0.327707 +0.331493 0.358 0.4716 0.59979 0.769684 0.912421 0.984898 1.01004 +1.03094 1.03616 1.02441 1.00971 1.0009 1.00286 1.01396 1.02996 +1.04727 1.04661 1.02376 1.00122 0.991102 0.982939 0.964211 0.950316 +0.948421 0.945895 0.948421 0.968 0.987184 0.989143 0.906105 0.718526 +0.546105 0.34664 0.280373 0.327707 0.331493 0.253867 0.000906667 0.00086 +0.000846667 0.000826667 0.000813333 0.000773333 0.00076 0.000766667 0.000766667 0.000766667 +0.00076 0.00078 0.000766667 0.000746667 0.00074 0.000753333 0.000766667 0.00074 +0.00074 0.00074 0.00074 0.00076 0.000746667 0.00074 0.000733333 0.000733333 +0.00074 0.00074 0.000746667 0.000746667 0.000746667 0.000733333 0.000753333 0.00074 +0.000746667 0.00076 0.000733333 0.000753333 0.000753333 0.000753333 0.000773333 0.000773333 +0.000753333 0.000726667 0.00072 0.000733333 0.000753333 0.00074 0.000726667 0.00072 +0.000746667 0.000753333 0.000733333 0.000733333 0.000713333 0.000726667 0.00076 0.000766667 +0.00076 0.000733333 0.000733333 0.000753333 0.000726667 0.000706667 0.000706667 0.000726667 +0.00072 0.00072 0.000713333 0.000686667 0.000686667 0.00068 0.0007 0.000713333 +0.000726667 0.00072 0.0007 0.000673333 0.000686667 0.0007 0.000706667 0.0007 +0.000693333 0.000706667 0.000693333 0.000686667 0.0007 0.000686667 0.000693333 0.000693333 +0.000686667 0.000693333 0.000706667 0.000713333 0.000713333 0.0007 0.000693333 0.0007 +0.000713333 0.000713333 0.000726667 0.00072 0.000713333 0.000713333 0.000706667 0.000706667 +0.000733333 0.00074 0.000713333 0.000693333 0.000686667 0.000686667 0.000686667 0.000693333 +0.000706667 0.0007 0.00068 0.000693333 0.000713333 0.00072 0.00072 0.000706667 +0.000713333 0.000733333 0.00074 0.000726667 0.000713333 0.000726667 0.000753333 0.00076 +0.000746667 0.000746667 0.000753333 0.000733333 0.00074 0.00076 0.000733333 0.000733333 +0.000726667 0.00072 0.00072 0.000726667 0.000753333 0.00074 0.000753333 0.000753333 +0.00076 0.00076 0.000766667 0.000766667 0.000746667 0.00078 0.000953333 0.274693 +0.310667 0.276587 0.265227 0.331493 0.502526 0.650316 0.858737 0.982939 +0.98751 0.965474 0.950316 0.950316 0.952842 0.961053 0.981959 0.997633 +1.00939 1.01461 1.02767 1.06152 1.17412 1.15586 1.07522 1.04629 +1.04008 1.04106 1.03878 1.02963 1.02147 1.02082 1.0231 1.02637 +1.02702 1.02506 1.02212 1.02147 1.02082 1.012 0.982939 0.854316 +0.675579 0.539158 0.435627 0.378827 0.354213 0.34096 0.34096 0.35232 +0.344747 0.320133 0.31256 0.310667 0.314453 0.31256 0.316347 0.34664 +0.40344 0.433733 0.40912 0.367467 0.34664 0.350427 0.376933 0.382613 +0.350427 0.310667 0.297413 0.291733 0.293627 0.3012 0.31256 0.310667 +0.320133 0.333387 0.31824 0.316347 0.337173 0.34664 0.36936 0.39776 +0.401547 0.39208 0.37504 0.36936 0.382613 0.428053 0.506947 0.46592 +0.333387 0.308773 0.32392 0.327707 0.3296 0.325813 0.322027 0.310667 +0.316347 0.333387 0.316347 0.299307 0.30688 0.3012 0.303093 0.3012 +0.3012 0.293627 0.299307 0.304987 0.291733 0.280373 0.276587 0.274693 +0.28984 0.314453 0.35232 0.34664 0.3012 0.28416 0.28984 0.265227 +0.274693 0.325813 0.361787 0.342853 0.28416 0.23872 0.248187 0.280373 +0.26712 0.225467 0.229253 0.23872 0.248187 0.253867 0.231147 0.253867 +0.304987 0.33528 0.33528 0.308773 0.316347 0.503158 0.65979 0.837895 +0.960421 1.00188 1.01396 1.01918 1.02669 1.03061 1.02865 1.02898 +1.02931 1.02735 1.02702 1.02996 1.02898 1.03061 1.03322 1.02996 +1.02343 1.01363 1.0071 1.01004 1.01396 1.02212 1.02441 1.02735 +1.0342 1.03878 1.04041 1.04008 1.03714 1.03584 1.0378 1.03976 +1.03878 1.03747 1.03845 1.0391 1.04237 1.044 1.04269 1.04367 +1.04237 1.04171 1.04073 1.0391 1.0378 1.03682 1.03878 1.044 +1.04433 1.04237 1.04433 1.044 1.04498 1.04694 1.04661 1.04531 +1.04139 1.04106 1.04204 1.04302 1.044 1.04237 1.04073 1.04237 +1.04367 1.04171 1.04008 1.0391 1.03976 1.03976 1.0391 1.03714 +1.03682 1.03878 1.04041 1.04139 1.04139 1.04204 1.04237 1.04237 +1.04139 1.04139 1.03878 1.03812 1.03812 1.03616 1.03649 1.03714 +1.03551 1.03616 1.03518 1.03584 1.03878 1.03878 1.03812 1.03551 +1.03029 1.02539 1.02049 1.01331 1.01233 1.01755 1.01429 1.00873 +1.00873 1.01494 1.0182 1.00743 0.994694 0.989796 0.985224 0.98098 +0.981959 0.978105 0.973684 0.968632 0.952211 0.92821 0.892211 0.845474 +0.789263 0.729895 0.666737 0.618105 0.582737 0.538526 0.503789 0.506947 +0.537895 0.528421 0.446987 0.36368 0.331493 0.348533 0.395867 0.407227 +0.373147 0.32392 0.28984 0.2728 0.2728 0.2728 0.27848 0.308773 +0.342853 0.339067 0.30688 0.31256 0.337173 0.35232 0.333387 0.316347 +0.314453 0.308773 0.28984 0.28416 0.390187 0.520842 0.522105 0.407227 +0.30688 0.286053 0.291733 0.297413 0.291733 0.280373 0.276587 0.29552 +0.373147 0.424267 0.390187 0.34096 0.331493 0.333387 0.320133 0.310667 +0.320133 0.339067 0.365573 0.503158 0.634526 0.804421 0.932 0.993061 +1.02212 1.03845 1.03094 1.01429 1.00122 0.997306 1.00351 1.01657 +1.03649 1.05216 1.04661 1.0231 1.00188 0.990122 0.98098 0.959158 +0.946526 0.945895 0.944632 0.955368 0.977474 0.991429 0.982286 0.851789 +0.653474 0.501263 0.30688 0.293627 0.34096 0.32392 0.242507 0.000906667 +0.000833333 0.000833333 0.000826667 0.000766667 0.00076 0.00078 0.000773333 0.00076 +0.000746667 0.00076 0.000746667 0.000746667 0.000753333 0.000753333 0.000746667 0.00072 +0.000753333 0.000766667 0.00076 0.000746667 0.00072 0.000746667 0.000746667 0.000753333 +0.000753333 0.000746667 0.00074 0.000733333 0.000753333 0.00076 0.00076 0.00072 +0.000733333 0.000766667 0.000753333 0.000773333 0.00074 0.000726667 0.000746667 0.000753333 +0.00074 0.000733333 0.000726667 0.00074 0.000746667 0.00074 0.000753333 0.00076 +0.00076 0.000753333 0.000726667 0.000726667 0.000726667 0.000753333 0.00076 0.000753333 +0.00074 0.00074 0.000753333 0.000746667 0.0007 0.000686667 0.000693333 0.000713333 +0.000726667 0.000726667 0.000713333 0.0007 0.000713333 0.000693333 0.000693333 0.000686667 +0.000713333 0.00072 0.000713333 0.0007 0.0007 0.0007 0.000706667 0.000693333 +0.00068 0.0007 0.00072 0.000713333 0.00072 0.00072 0.000706667 0.000686667 +0.000686667 0.0007 0.000713333 0.00072 0.000726667 0.0007 0.0007 0.000726667 +0.000726667 0.000713333 0.000706667 0.000726667 0.000733333 0.000733333 0.00072 0.000693333 +0.00072 0.000733333 0.00074 0.000726667 0.00072 0.000713333 0.000713333 0.0007 +0.000713333 0.00072 0.00072 0.000706667 0.000693333 0.000706667 0.000726667 0.00072 +0.00072 0.000726667 0.000733333 0.00074 0.00072 0.0007 0.000706667 0.00074 +0.000746667 0.00074 0.000746667 0.000726667 0.000733333 0.000753333 0.000733333 0.000733333 +0.000746667 0.000726667 0.000706667 0.000706667 0.000733333 0.000753333 0.000773333 0.00076 +0.00076 0.000753333 0.000753333 0.000746667 0.00076 0.000906667 0.263333 0.30688 +0.274693 0.246293 0.28416 0.39208 0.570105 0.769684 0.947789 0.991429 +0.977474 0.950316 0.941474 0.944632 0.952211 0.970526 0.989796 1.00351 +1.01265 1.0218 1.04759 1.12695 1.13912 1.1026 1.05412 1.04041 +1.04008 1.04204 1.03649 1.02571 1.01951 1.02082 1.02473 1.02767 +1.02767 1.02637 1.02506 1.0231 1.01527 0.992082 0.886526 0.709053 +0.557474 0.45456 0.38072 0.361787 0.356107 0.354213 0.361787 0.367467 +0.358 0.325813 0.314453 0.316347 0.32392 0.32392 0.333387 0.38072 +0.42048 0.439413 0.424267 0.390187 0.36936 0.36368 0.36368 0.356107 +0.3296 0.304987 0.293627 0.3012 0.304987 0.303093 0.29552 0.299307 +0.314453 0.320133 0.303093 0.297413 0.308773 0.327707 0.358 0.395867 +0.412907 0.418587 0.416693 0.411013 0.40912 0.433733 0.498107 0.462133 +0.348533 0.316347 0.320133 0.31256 0.304987 0.31256 0.31256 0.308773 +0.32392 0.337173 0.320133 0.299307 0.310667 0.30688 0.303093 0.3012 +0.293627 0.286053 0.286053 0.29552 0.30688 0.31256 0.308773 0.28416 +0.286053 0.34664 0.3864 0.350427 0.3012 0.3012 0.310667 0.29552 +0.31256 0.36368 0.35232 0.27848 0.22736 0.217893 0.248187 0.270907 +0.240613 0.000993333 0.223573 0.223573 0.223573 0.22736 0.217893 0.22168 +0.26144 0.314453 0.354213 0.376933 0.510737 0.659158 0.849263 0.967368 +0.998286 1.01167 1.02147 1.02473 1.02539 1.02898 1.02865 1.02767 +1.02963 1.03029 1.02996 1.03127 1.03257 1.03159 1.02833 1.02212 +1.01788 1.01298 1.00939 1.01069 1.01592 1.02408 1.02735 1.02963 +1.03388 1.03976 1.04204 1.03878 1.03682 1.03714 1.03812 1.0391 +1.0391 1.0378 1.03878 1.04008 1.04139 1.04204 1.04302 1.04335 +1.04171 1.04171 1.03976 1.03747 1.0378 1.03976 1.04106 1.04531 +1.04531 1.04367 1.04367 1.04269 1.044 1.04629 1.04727 1.04629 +1.04237 1.04237 1.04171 1.04237 1.04335 1.044 1.04302 1.04237 +1.04171 1.04106 1.0391 1.03812 1.03943 1.0391 1.03845 1.03747 +1.03878 1.0391 1.03976 1.04073 1.03943 1.04106 1.04367 1.04531 +1.04335 1.04106 1.0391 1.03714 1.03584 1.03486 1.03682 1.03845 +1.03584 1.03551 1.03388 1.03518 1.03845 1.03878 1.03812 1.0342 +1.03029 1.02898 1.02702 1.02147 1.02016 1.02278 1.01984 1.01461 +1.01069 1.01657 1.02147 1.01135 1.00024 0.996327 0.992082 0.987837 +0.986857 0.985878 0.983592 0.98 0.970526 0.956 0.934526 0.902316 +0.863158 0.808211 0.734947 0.669895 0.625684 0.589053 0.554947 0.549263 +0.576421 0.568842 0.510105 0.399653 0.384507 0.44888 0.4716 0.401547 +0.325813 0.29552 0.28416 0.270907 0.253867 0.251973 0.26144 0.27848 +0.299307 0.30688 0.304987 0.299307 0.303093 0.316347 0.31824 0.304987 +0.3012 0.30688 0.297413 0.303093 0.412907 0.535368 0.536 0.429947 +0.31824 0.29552 0.29552 0.293627 0.293627 0.293627 0.299307 0.314453 +0.350427 0.407227 0.4148 0.37504 0.331493 0.316347 0.322027 0.3296 +0.331493 0.337173 0.348533 0.39208 0.529053 0.669263 0.836632 0.956632 +1.0071 1.03584 1.04106 1.02408 1.00482 0.995673 0.997306 1.00547 +1.02473 1.04824 1.05837 1.04433 1.01722 1.00024 0.990776 0.974316 +0.951579 0.949684 0.949053 0.951579 0.962316 0.981306 0.991102 0.954737 +0.790526 0.591579 0.405333 0.29552 0.325813 0.358 0.293627 0.00096 +0.000833333 0.00086 0.000853333 0.000753333 0.000753333 0.000773333 0.000766667 0.000746667 +0.00074 0.00076 0.000746667 0.000733333 0.000746667 0.000753333 0.000733333 0.00074 +0.000773333 0.000746667 0.000726667 0.000726667 0.000733333 0.00074 0.000733333 0.000733333 +0.00074 0.000733333 0.00074 0.000766667 0.00078 0.000746667 0.000726667 0.000713333 +0.00076 0.00076 0.000746667 0.00076 0.000733333 0.000733333 0.000753333 0.000753333 +0.000746667 0.00074 0.000726667 0.00074 0.000766667 0.000766667 0.000753333 0.000746667 +0.00076 0.000773333 0.000746667 0.000746667 0.000753333 0.00076 0.00076 0.000753333 +0.00074 0.00074 0.000733333 0.000726667 0.000706667 0.000693333 0.000686667 0.0007 +0.000706667 0.000713333 0.000713333 0.0007 0.000706667 0.0007 0.0007 0.0007 +0.000686667 0.0007 0.000706667 0.0007 0.000706667 0.000706667 0.00072 0.000726667 +0.000693333 0.000686667 0.000693333 0.00072 0.00072 0.000733333 0.000733333 0.000713333 +0.000706667 0.0007 0.00072 0.000733333 0.000746667 0.000733333 0.00072 0.000726667 +0.000733333 0.00072 0.000693333 0.0007 0.00072 0.00072 0.000706667 0.0007 +0.000713333 0.000706667 0.000726667 0.000726667 0.000746667 0.00076 0.00074 0.000726667 +0.000726667 0.000726667 0.00074 0.00074 0.00072 0.000713333 0.00072 0.000713333 +0.000713333 0.000726667 0.000726667 0.00074 0.000746667 0.000726667 0.0007 0.0007 +0.000706667 0.000713333 0.00072 0.00072 0.00074 0.000753333 0.000706667 0.00072 +0.000746667 0.00072 0.000713333 0.000726667 0.00074 0.000726667 0.000746667 0.000746667 +0.00076 0.00078 0.00078 0.000773333 0.00084 0.23872 0.3012 0.28416 +0.242507 0.259547 0.33528 0.504421 0.66421 0.877684 0.988163 0.988163 +0.963579 0.944 0.938316 0.943368 0.956 0.98098 0.996653 1.00678 +1.01331 1.03192 1.08739 1.12239 1.08587 1.10869 1.05902 1.04498 +1.04237 1.03976 1.03094 1.02245 1.02049 1.02278 1.02539 1.02604 +1.02604 1.02539 1.02473 1.01951 0.999592 0.911789 0.735579 0.572632 +0.464027 0.382613 0.356107 0.350427 0.350427 0.34664 0.358 0.373147 +0.361787 0.327707 0.314453 0.314453 0.322027 0.333387 0.37504 0.43184 +0.43752 0.411013 0.384507 0.36936 0.37504 0.378827 0.361787 0.34096 +0.322027 0.3012 0.293627 0.293627 0.30688 0.31256 0.3012 0.299307 +0.310667 0.310667 0.29552 0.291733 0.3012 0.325813 0.350427 0.356107 +0.34096 0.342853 0.365573 0.376933 0.388293 0.422373 0.473493 0.46592 +0.376933 0.320133 0.310667 0.322027 0.320133 0.310667 0.3012 0.3012 +0.3296 0.356107 0.337173 0.31256 0.310667 0.314453 0.316347 0.316347 +0.30688 0.293627 0.287947 0.291733 0.31256 0.337173 0.34096 0.32392 +0.33528 0.412907 0.40344 0.34096 0.327707 0.348533 0.35232 0.350427 +0.365573 0.373147 0.337173 0.270907 0.229253 0.231147 0.276587 0.276587 +0.23872 0.225467 0.22736 0.217893 0.000993333 0.000993333 0.000993333 0.000953333 +0.000993333 0.26712 0.34096 0.48864 0.633895 0.832211 0.978105 1.00253 +1.00906 1.0182 1.02604 1.02865 1.02506 1.02571 1.02702 1.02702 +1.02865 1.02898 1.02898 1.03159 1.03518 1.0329 1.02735 1.01886 +1.01233 1.01069 1.00939 1.01167 1.01853 1.02735 1.0329 1.03551 +1.03616 1.03845 1.03976 1.03682 1.03584 1.03812 1.03845 1.0378 +1.03747 1.03714 1.0378 1.04041 1.04237 1.04237 1.044 1.04302 +1.04106 1.04269 1.04073 1.03812 1.03976 1.04106 1.04139 1.04465 +1.04661 1.04661 1.04661 1.04367 1.04237 1.04367 1.04661 1.04661 +1.04204 1.04269 1.04335 1.04433 1.04498 1.04269 1.04237 1.04335 +1.04367 1.04367 1.04041 1.03747 1.0378 1.03714 1.03682 1.03714 +1.03845 1.03878 1.03943 1.03812 1.03747 1.04073 1.04171 1.04204 +1.04302 1.04139 1.04073 1.03845 1.03616 1.03649 1.03812 1.0378 +1.03682 1.0378 1.0342 1.03649 1.03878 1.03649 1.03584 1.03257 +1.03061 1.03192 1.03029 1.02604 1.02604 1.02473 1.01984 1.01624 +1.01429 1.02114 1.02473 1.01494 1.00416 0.999265 0.996327 0.994694 +0.993061 0.993714 0.991755 0.986857 0.984571 0.982939 0.974316 0.951579 +0.92 0.867579 0.797474 0.728632 0.669895 0.634526 0.619368 0.607368 +0.590316 0.561263 0.514526 0.429947 0.416693 0.46592 0.439413 0.337173 +0.280373 0.28984 0.3012 0.276587 0.257653 0.26144 0.2728 0.28416 +0.28984 0.29552 0.308773 0.314453 0.308773 0.322027 0.327707 0.308773 +0.293627 0.29552 0.304987 0.344747 0.458347 0.542947 0.536632 0.429947 +0.325813 0.3012 0.286053 0.28984 0.322027 0.34664 0.348533 0.339067 +0.342853 0.399653 0.43752 0.390187 0.342853 0.337173 0.342853 0.344747 +0.33528 0.3296 0.356107 0.376933 0.429947 0.553684 0.706526 0.868842 +0.980327 1.02082 1.04694 1.03812 1.01265 0.997633 0.996 1.00253 +1.01755 1.03878 1.05804 1.06456 1.0391 1.01233 0.998286 0.987837 +0.970526 0.958526 0.952842 0.949053 0.952842 0.967368 0.986857 0.991429 +0.913053 0.718526 0.539789 0.356107 0.29552 0.33528 0.33528 0.251973 +0.000886667 0.000853333 0.00084 0.00076 0.000753333 0.00076 0.00074 0.000746667 +0.000746667 0.00076 0.000726667 0.000746667 0.00078 0.000773333 0.000753333 0.000766667 +0.000753333 0.000733333 0.000746667 0.000753333 0.00074 0.000726667 0.000726667 0.00074 +0.00074 0.00074 0.000746667 0.00076 0.000746667 0.000726667 0.000746667 0.000753333 +0.000746667 0.000726667 0.00074 0.000766667 0.000753333 0.000733333 0.000733333 0.000733333 +0.000713333 0.000726667 0.000733333 0.000753333 0.00076 0.000746667 0.000726667 0.00074 +0.000766667 0.000753333 0.00074 0.000753333 0.000746667 0.000753333 0.000773333 0.000766667 +0.000753333 0.00074 0.000733333 0.000746667 0.000726667 0.000726667 0.000713333 0.000706667 +0.000713333 0.000713333 0.000713333 0.0007 0.000686667 0.0007 0.00072 0.000726667 +0.0007 0.000706667 0.000726667 0.000733333 0.000706667 0.0007 0.000706667 0.00072 +0.00072 0.000713333 0.000693333 0.000713333 0.00072 0.000726667 0.000733333 0.00072 +0.000726667 0.000726667 0.00072 0.000706667 0.00072 0.000713333 0.00072 0.000733333 +0.000726667 0.000733333 0.000713333 0.000706667 0.000713333 0.000706667 0.000706667 0.000713333 +0.000726667 0.000726667 0.000726667 0.000713333 0.000693333 0.000706667 0.000733333 0.00074 +0.00074 0.00074 0.000746667 0.000733333 0.000713333 0.000713333 0.00072 0.000706667 +0.0007 0.000713333 0.000726667 0.000726667 0.000733333 0.00074 0.00074 0.00072 +0.000713333 0.00072 0.000733333 0.000706667 0.000726667 0.000753333 0.000733333 0.000753333 +0.000753333 0.000726667 0.000713333 0.00074 0.00076 0.000726667 0.00072 0.000733333 +0.00076 0.000786667 0.00078 0.00084 0.22168 0.299307 0.299307 0.246293 +0.23872 0.29552 0.40912 0.576421 0.781684 0.957895 0.994041 0.98098 +0.954105 0.943368 0.942737 0.949053 0.964842 0.986531 1.00024 1.00873 +1.01657 1.04465 1.12239 1.06304 1.05739 1.14521 1.11326 1.05314 +1.04465 1.03649 1.02571 1.02049 1.02245 1.02408 1.02604 1.02637 +1.02539 1.02408 1.02147 1.0071 0.937053 0.762105 0.585895 0.475387 +0.382613 0.350427 0.339067 0.344747 0.344747 0.3296 0.344747 0.378827 +0.3864 0.356107 0.339067 0.34096 0.354213 0.388293 0.446987 0.475387 +0.422373 0.356107 0.32392 0.325813 0.35232 0.373147 0.359893 0.333387 +0.320133 0.304987 0.293627 0.286053 0.299307 0.31824 0.31256 0.297413 +0.29552 0.293627 0.28984 0.297413 0.316347 0.342853 0.33528 0.310667 +0.29552 0.28984 0.304987 0.314453 0.337173 0.376933 0.433733 0.47728 +0.439413 0.354213 0.31824 0.325813 0.327707 0.304987 0.3012 0.308773 +0.34664 0.378827 0.34664 0.310667 0.303093 0.31256 0.325813 0.337173 +0.33528 0.322027 0.310667 0.293627 0.297413 0.32392 0.337173 0.37504 +0.469707 0.505684 0.43752 0.365573 0.36368 0.376933 0.382613 0.36936 +0.358 0.344747 0.32392 0.303093 0.291733 0.308773 0.359893 0.314453 +0.25576 0.240613 0.225467 0.225467 0.23872 0.231147 0.22168 0.00098 +0.225467 0.291733 0.450773 0.609895 0.802526 0.959789 1.00645 1.01363 +1.0169 1.02278 1.02571 1.02702 1.02637 1.02767 1.02865 1.02735 +1.02767 1.02669 1.02539 1.02963 1.03486 1.03159 1.02539 1.01755 +1.00873 1.00776 1.01265 1.01788 1.02245 1.02996 1.03584 1.03878 +1.03943 1.04008 1.04106 1.03747 1.03518 1.03878 1.03943 1.03812 +1.03714 1.0378 1.03812 1.03943 1.04008 1.04041 1.04367 1.044 +1.04073 1.04139 1.04041 1.03976 1.04302 1.04204 1.04041 1.04237 +1.04531 1.04629 1.04661 1.04531 1.04335 1.04269 1.04465 1.04629 +1.04269 1.04269 1.04269 1.04367 1.04531 1.04204 1.04008 1.04041 +1.04008 1.04237 1.04073 1.03943 1.04041 1.04139 1.03943 1.03714 +1.03747 1.03845 1.03878 1.03616 1.03584 1.04041 1.04073 1.04073 +1.04171 1.0378 1.03714 1.03714 1.03649 1.03682 1.03976 1.03812 +1.03649 1.03845 1.03714 1.04008 1.03943 1.03747 1.03682 1.03355 +1.0342 1.0329 1.02898 1.02767 1.02833 1.02408 1.01788 1.01559 +1.01657 1.02212 1.02408 1.01755 1.00776 1.00482 1.00482 1.00449 +1.00318 1.00286 1.00024 0.996 0.993388 0.992408 0.988816 0.980653 +0.958526 0.917474 0.86 0.795579 0.733053 0.692632 0.681895 0.655368 +0.587789 0.529684 0.473493 0.38072 0.354213 0.38072 0.371253 0.308773 +0.27848 0.297413 0.3012 0.291733 0.299307 0.304987 0.310667 0.314453 +0.304987 0.293627 0.303093 0.32392 0.327707 0.325813 0.344747 0.3296 +0.3012 0.286053 0.304987 0.356107 0.46024 0.541053 0.537895 0.43752 +0.331493 0.303093 0.299307 0.31824 0.35232 0.36936 0.356107 0.3296 +0.325813 0.373147 0.416693 0.382613 0.350427 0.339067 0.325813 0.320133 +0.316347 0.31824 0.34096 0.365573 0.384507 0.469707 0.578947 0.738737 +0.897263 0.996 1.04008 1.05118 1.02833 1.00547 0.998286 1.00188 +1.01167 1.02833 1.04955 1.08891 1.06 1.03192 1.00939 0.999592 +0.987184 0.971789 0.957263 0.951579 0.954105 0.961684 0.978737 0.991429 +0.983918 0.857474 0.650947 0.498107 0.31256 0.303093 0.344747 0.31256 +0.22168 0.000886667 0.000846667 0.000773333 0.000753333 0.00076 0.00076 0.000746667 +0.000726667 0.00074 0.000746667 0.000773333 0.000813333 0.000773333 0.000726667 0.000726667 +0.00074 0.00074 0.000746667 0.000733333 0.00072 0.00072 0.000726667 0.000766667 +0.00076 0.00074 0.000733333 0.000733333 0.00074 0.000746667 0.000753333 0.000753333 +0.000746667 0.000733333 0.00076 0.000773333 0.000733333 0.000713333 0.000713333 0.000726667 +0.000733333 0.00076 0.000753333 0.000733333 0.000733333 0.000733333 0.000733333 0.000753333 +0.000746667 0.000733333 0.000733333 0.00074 0.00074 0.000746667 0.000753333 0.000746667 +0.000753333 0.000746667 0.000746667 0.000753333 0.00072 0.00072 0.00074 0.00072 +0.000713333 0.000726667 0.000713333 0.000693333 0.00068 0.000686667 0.000733333 0.000746667 +0.00072 0.000693333 0.0007 0.00072 0.000733333 0.000726667 0.000706667 0.0007 +0.0007 0.000706667 0.000713333 0.000713333 0.000713333 0.00072 0.00072 0.000706667 +0.0007 0.000706667 0.000733333 0.000726667 0.00072 0.00072 0.000706667 0.000726667 +0.000726667 0.000753333 0.000746667 0.000733333 0.00074 0.000733333 0.00072 0.00072 +0.00072 0.00072 0.000726667 0.000733333 0.00072 0.000713333 0.000726667 0.00072 +0.000726667 0.00074 0.000746667 0.000753333 0.000726667 0.00072 0.000713333 0.000713333 +0.000706667 0.000706667 0.000706667 0.000693333 0.000686667 0.000706667 0.00074 0.000746667 +0.000733333 0.000733333 0.00074 0.000713333 0.0007 0.0007 0.00072 0.00076 +0.00076 0.000733333 0.000733333 0.000753333 0.00078 0.00076 0.00074 0.00074 +0.00076 0.00078 0.000786667 0.000933333 0.270907 0.30688 0.26144 0.22736 +0.270907 0.35232 0.515789 0.684421 0.895368 0.990776 0.989143 0.967368 +0.947158 0.942737 0.947789 0.956632 0.975579 0.991755 1.00449 1.01233 +1.02278 1.05412 1.0813 1.04008 1.04465 1.13912 1.16347 1.06609 +1.04302 1.02996 1.02049 1.01918 1.0231 1.02539 1.028 1.028 +1.02571 1.02278 1.01233 0.959158 0.788 0.602316 0.48864 0.393973 +0.376933 0.361787 0.344747 0.339067 0.337173 0.337173 0.36368 0.399653 +0.42048 0.418587 0.418587 0.412907 0.4148 0.42616 0.462133 0.462133 +0.388293 0.322027 0.297413 0.3012 0.331493 0.358 0.35232 0.34664 +0.331493 0.310667 0.297413 0.29552 0.299307 0.31824 0.31256 0.291733 +0.287947 0.287947 0.291733 0.308773 0.3296 0.342853 0.320133 0.293627 +0.29552 0.299307 0.297413 0.303093 0.310667 0.350427 0.435627 0.521474 +0.528421 0.42616 0.31256 0.299307 0.308773 0.308773 0.316347 0.327707 +0.361787 0.384507 0.34664 0.310667 0.299307 0.308773 0.337173 0.359893 +0.350427 0.33528 0.314453 0.28984 0.274693 0.3012 0.354213 0.490533 +0.556842 0.548632 0.46592 0.36936 0.344747 0.337173 0.331493 0.310667 +0.29552 0.3012 0.30688 0.316347 0.359893 0.424267 0.473493 0.407227 +0.3296 0.3012 0.259547 0.234933 0.242507 0.236827 0.217893 0.217893 +0.251973 0.405333 0.598526 0.785474 0.942105 0.998612 1.01461 1.01984 +1.02278 1.02865 1.03029 1.03061 1.02963 1.02963 1.02996 1.02898 +1.02996 1.02865 1.02506 1.02735 1.02963 1.02441 1.01984 1.01494 +1.0071 1.00743 1.01788 1.02376 1.02735 1.03224 1.03682 1.03878 +1.03976 1.04237 1.04498 1.03812 1.0329 1.03649 1.03878 1.04008 +1.04008 1.04106 1.03976 1.03943 1.03943 1.04008 1.04171 1.04204 +1.03878 1.04106 1.04335 1.044 1.04727 1.04465 1.04237 1.04661 +1.04727 1.04531 1.04302 1.04367 1.04694 1.04727 1.04629 1.04433 +1.04171 1.04237 1.04106 1.04139 1.04237 1.04106 1.04106 1.04041 +1.0391 1.04139 1.04171 1.04204 1.04171 1.04269 1.04106 1.0378 +1.03878 1.04041 1.04139 1.03812 1.03714 1.04073 1.04008 1.04106 +1.04041 1.03682 1.03747 1.03584 1.03388 1.03518 1.0391 1.04041 +1.0391 1.04008 1.03976 1.04204 1.03878 1.03878 1.03812 1.03453 +1.03486 1.03127 1.02604 1.02702 1.02865 1.02441 1.01951 1.01853 +1.01951 1.02147 1.02408 1.02114 1.01396 1.012 1.012 1.00971 +1.01069 1.01102 1.00743 1.00449 1.00286 0.999592 0.994694 0.989796 +0.982939 0.959158 0.916842 0.864421 0.807579 0.760211 0.737474 0.690737 +0.597895 0.518947 0.416693 0.33528 0.31256 0.337173 0.35232 0.310667 +0.287947 0.297413 0.291733 0.304987 0.344747 0.371253 0.376933 0.36936 +0.339067 0.310667 0.310667 0.314453 0.316347 0.325813 0.350427 0.365573 +0.327707 0.293627 0.30688 0.34664 0.44888 0.536632 0.542316 0.464027 +0.348533 0.327707 0.333387 0.339067 0.34096 0.337173 0.320133 0.299307 +0.3012 0.365573 0.40912 0.36936 0.320133 0.304987 0.3012 0.299307 +0.304987 0.30688 0.325813 0.358 0.365573 0.376933 0.48864 0.607368 +0.778526 0.931368 1.01657 1.05608 1.04824 1.01755 1.00057 1.00188 +1.00971 1.01886 1.03518 1.05837 1.11021 1.0551 1.02571 1.00841 +0.997306 0.986204 0.969895 0.956632 0.956 0.956632 0.966105 0.984571 +0.996 0.959789 0.784211 0.585263 0.40912 0.303093 0.31256 0.333387 +0.27848 0.000993333 0.00088 0.000793333 0.000773333 0.0008 0.000793333 0.000746667 +0.00074 0.000753333 0.000773333 0.000766667 0.00078 0.000773333 0.000746667 0.000746667 +0.00076 0.000733333 0.000726667 0.00072 0.000726667 0.000733333 0.000726667 0.000746667 +0.000733333 0.000726667 0.00072 0.000746667 0.000746667 0.000733333 0.00072 0.000726667 +0.00074 0.000733333 0.000746667 0.000746667 0.00072 0.000706667 0.000726667 0.00076 +0.000773333 0.000753333 0.000733333 0.00072 0.000733333 0.00074 0.000733333 0.000733333 +0.00074 0.00074 0.000726667 0.000733333 0.00074 0.000746667 0.00074 0.000746667 +0.000753333 0.000753333 0.000753333 0.00074 0.000706667 0.000733333 0.000746667 0.000733333 +0.000726667 0.00074 0.000726667 0.000706667 0.000693333 0.000686667 0.000706667 0.000713333 +0.000713333 0.000713333 0.0007 0.000686667 0.0007 0.00072 0.000713333 0.00072 +0.000713333 0.00068 0.000693333 0.00072 0.000726667 0.00072 0.00072 0.00074 +0.000726667 0.00072 0.000726667 0.000713333 0.00072 0.00076 0.000746667 0.000713333 +0.000706667 0.00074 0.00076 0.00074 0.000733333 0.000746667 0.00074 0.000726667 +0.000733333 0.00074 0.00072 0.000713333 0.00072 0.000733333 0.000733333 0.000713333 +0.000693333 0.00072 0.000726667 0.000766667 0.00078 0.00076 0.00074 0.00072 +0.000706667 0.0007 0.000693333 0.0007 0.000686667 0.00068 0.000693333 0.000706667 +0.000706667 0.000733333 0.00074 0.00072 0.00074 0.00074 0.000713333 0.00074 +0.000746667 0.00074 0.000726667 0.000733333 0.000746667 0.000753333 0.000766667 0.00076 +0.000766667 0.0008 0.000853333 0.240613 0.299307 0.274693 0.219787 0.236827 +0.310667 0.422373 0.589053 0.801263 0.971158 0.994041 0.980653 0.959158 +0.945895 0.944 0.954737 0.971158 0.986531 0.997306 1.00645 1.01265 +1.02898 1.05673 1.05086 1.02506 1.02833 1.05543 1.12086 1.07978 +1.04563 1.03061 1.02408 1.02376 1.02539 1.02637 1.02833 1.02865 +1.02441 1.01527 0.978105 0.815789 0.62 0.496213 0.3864 0.378827 +0.3864 0.378827 0.359893 0.344747 0.33528 0.34664 0.36936 0.3864 +0.428053 0.486747 0.490533 0.4432 0.393973 0.373147 0.39776 0.411013 +0.378827 0.331493 0.299307 0.297413 0.32392 0.339067 0.34096 0.34664 +0.358 0.337173 0.303093 0.29552 0.314453 0.320133 0.31256 0.299307 +0.29552 0.297413 0.297413 0.308773 0.322027 0.320133 0.291733 0.276587 +0.286053 0.299307 0.303093 0.3012 0.316347 0.365573 0.464027 0.541684 +0.558105 0.47728 0.322027 0.287947 0.29552 0.320133 0.337173 0.339067 +0.350427 0.354213 0.327707 0.304987 0.3012 0.316347 0.344747 0.354213 +0.337173 0.320133 0.297413 0.27848 0.2728 0.339067 0.506316 0.587158 +0.635158 0.577053 0.458347 0.331493 0.297413 0.297413 0.291733 0.274693 +0.270907 0.282267 0.282267 0.286053 0.32392 0.401547 0.445093 0.395867 +0.34096 0.316347 0.276587 0.229253 0.00096 0.000933333 0.000926667 0.22168 +0.371253 0.589684 0.779158 0.933263 0.994041 1.00808 1.01755 1.0218 +1.02376 1.02865 1.03224 1.03453 1.03355 1.03127 1.03061 1.03094 +1.03224 1.03159 1.02931 1.02996 1.028 1.02082 1.0169 1.01265 +1.00776 1.01037 1.0218 1.02735 1.03159 1.0391 1.04237 1.03976 +1.03714 1.03943 1.04302 1.03976 1.03453 1.03682 1.03943 1.04139 +1.04008 1.04008 1.03943 1.04073 1.04073 1.04106 1.04139 1.04041 +1.0391 1.04204 1.044 1.04335 1.04531 1.04465 1.04367 1.04694 +1.04824 1.04629 1.044 1.04171 1.04563 1.04824 1.04857 1.04465 +1.04171 1.04269 1.04335 1.04433 1.04204 1.0391 1.04073 1.04171 +1.04008 1.04204 1.04367 1.044 1.04041 1.04041 1.03976 1.03878 +1.03976 1.04008 1.04204 1.0391 1.03943 1.04237 1.04041 1.04171 +1.04008 1.03649 1.0378 1.03649 1.03584 1.03584 1.03714 1.04008 +1.03943 1.0378 1.03812 1.03878 1.03714 1.03976 1.03812 1.03388 +1.03355 1.02865 1.02702 1.02931 1.02963 1.02571 1.02245 1.02278 +1.02473 1.02571 1.02767 1.02637 1.02016 1.01951 1.01918 1.01657 +1.01755 1.01788 1.01527 1.01298 1.01037 1.00841 1.0058 1.00122 +0.996 0.986857 0.963579 0.92 0.869474 0.817053 0.775368 0.711579 +0.609895 0.520842 0.405333 0.34096 0.327707 0.34096 0.342853 0.297413 +0.282267 0.287947 0.28984 0.31824 0.36936 0.39776 0.40344 0.42616 +0.42048 0.367467 0.331493 0.31824 0.314453 0.320133 0.354213 0.43752 +0.452667 0.39208 0.356107 0.361787 0.439413 0.532211 0.551158 0.503789 +0.382613 0.34096 0.322027 0.325813 0.331493 0.31824 0.299307 0.28984 +0.308773 0.382613 0.42616 0.382613 0.333387 0.314453 0.30688 0.303093 +0.297413 0.304987 0.33528 0.361787 0.358 0.35232 0.390187 0.514526 +0.643368 0.815789 0.973684 1.04139 1.06304 1.03453 1.00939 1.0058 +1.00906 1.012 1.02245 1.04465 1.10869 1.12847 1.04727 1.0182 +1.00482 0.996 0.982612 0.961684 0.956632 0.954737 0.957895 0.974316 +0.989469 0.991755 0.910526 0.715368 0.539789 0.367467 0.297413 0.32392 +0.327707 0.259547 0.000926667 0.000826667 0.000813333 0.000793333 0.00078 0.000766667 +0.00076 0.000753333 0.000753333 0.00076 0.000786667 0.00078 0.000753333 0.00076 +0.000746667 0.000706667 0.000733333 0.00076 0.00076 0.000753333 0.000726667 0.00074 +0.000753333 0.000753333 0.000733333 0.000753333 0.000726667 0.00072 0.000726667 0.00072 +0.000733333 0.000726667 0.00074 0.000726667 0.00072 0.000733333 0.000746667 0.000753333 +0.000746667 0.000753333 0.00074 0.000726667 0.000746667 0.000746667 0.000733333 0.00074 +0.000753333 0.000733333 0.00072 0.00074 0.000746667 0.00074 0.000726667 0.000733333 +0.000733333 0.000726667 0.000746667 0.00074 0.000693333 0.000726667 0.000753333 0.000746667 +0.00072 0.000713333 0.000713333 0.000706667 0.000713333 0.0007 0.000706667 0.000713333 +0.000706667 0.000713333 0.00072 0.00072 0.00072 0.00072 0.000713333 0.000733333 +0.000746667 0.000726667 0.0007 0.000693333 0.000713333 0.000726667 0.000726667 0.00072 +0.00072 0.00072 0.000713333 0.0007 0.0007 0.000733333 0.00074 0.000726667 +0.00072 0.000733333 0.00076 0.000753333 0.000753333 0.00074 0.000753333 0.00074 +0.000733333 0.000733333 0.000733333 0.000726667 0.000706667 0.00072 0.000746667 0.00074 +0.000726667 0.00074 0.000706667 0.00072 0.000733333 0.000746667 0.00074 0.000726667 +0.00072 0.000726667 0.000726667 0.00072 0.00072 0.000693333 0.0007 0.0007 +0.00072 0.000746667 0.000746667 0.00074 0.000753333 0.000773333 0.000753333 0.000753333 +0.000753333 0.000746667 0.00072 0.00072 0.000726667 0.000733333 0.00076 0.000766667 +0.00078 0.000833333 0.217893 0.303093 0.31256 0.242507 0.219787 0.274693 +0.356107 0.520842 0.695158 0.906105 0.992735 0.988163 0.966737 0.953474 +0.947789 0.949684 0.962316 0.98098 0.993061 1.00318 1.01135 1.01722 +1.0378 1.05576 1.0378 1.0169 1.0169 1.03192 1.04792 1.05478 +1.05249 1.04367 1.0378 1.03682 1.03649 1.03682 1.03747 1.03584 +1.02539 0.990122 0.845474 0.647158 0.508842 0.378827 0.359893 0.36936 +0.373147 0.367467 0.36368 0.358 0.344747 0.339067 0.342853 0.367467 +0.456453 0.502526 0.46592 0.384507 0.322027 0.322027 0.34664 0.36936 +0.378827 0.356107 0.31824 0.308773 0.325813 0.331493 0.32392 0.333387 +0.365573 0.356107 0.316347 0.303093 0.316347 0.316347 0.30688 0.303093 +0.303093 0.297413 0.293627 0.303093 0.316347 0.310667 0.28416 0.269013 +0.282267 0.293627 0.28984 0.291733 0.314453 0.358 0.412907 0.5 +0.513895 0.435627 0.331493 0.30688 0.314453 0.32392 0.348533 0.36368 +0.356107 0.331493 0.303093 0.299307 0.303093 0.316347 0.327707 0.314453 +0.308773 0.308773 0.29552 0.28984 0.342853 0.505684 0.602947 0.675579 +0.66421 0.566316 0.428053 0.320133 0.287947 0.286053 0.282267 0.27848 +0.27848 0.269013 0.257653 0.25576 0.2728 0.322027 0.320133 0.276587 +0.263333 0.251973 0.23872 0.219787 0.00092 0.00094 0.22168 0.358 +0.582737 0.777263 0.933895 0.993388 1.00612 1.01494 1.0218 1.02245 +1.02245 1.02767 1.03257 1.03551 1.03551 1.03355 1.03127 1.03061 +1.03192 1.03257 1.03159 1.03257 1.03061 1.02343 1.01527 1.01102 +1.00939 1.01331 1.02441 1.03159 1.03584 1.04237 1.04433 1.04041 +1.0378 1.03812 1.04041 1.0391 1.03682 1.03943 1.03878 1.03878 +1.03976 1.03878 1.03976 1.04335 1.04106 1.03976 1.03976 1.03878 +1.04106 1.04498 1.04498 1.04335 1.04237 1.04302 1.04302 1.04531 +1.04759 1.04661 1.044 1.04269 1.04302 1.04433 1.04629 1.04433 +1.04269 1.04433 1.04563 1.04629 1.044 1.04139 1.04204 1.04237 +1.04008 1.04106 1.04204 1.03943 1.03812 1.0391 1.03812 1.03845 +1.03976 1.03943 1.04171 1.04073 1.04106 1.04139 1.04008 1.04204 +1.04041 1.03682 1.03649 1.03551 1.03518 1.03453 1.03682 1.0391 +1.03845 1.03682 1.03812 1.03682 1.03682 1.04008 1.03714 1.03388 +1.0329 1.02865 1.02898 1.03061 1.03061 1.02767 1.02506 1.02669 +1.02963 1.03029 1.03159 1.028 1.02376 1.02637 1.02539 1.02245 +1.02212 1.02245 1.02114 1.02049 1.0169 1.01559 1.01396 1.01037 +1.0071 1.00122 0.988816 0.961684 0.918737 0.866947 0.818316 0.748842 +0.640211 0.537895 0.429947 0.358 0.342853 0.342853 0.339067 0.308773 +0.28984 0.280373 0.291733 0.322027 0.348533 0.339067 0.34096 0.395867 +0.433733 0.40912 0.36936 0.354213 0.339067 0.31824 0.37504 0.530316 +0.580211 0.544211 0.462133 0.373147 0.40344 0.522737 0.567579 0.532211 +0.40912 0.31824 0.299307 0.31824 0.3296 0.322027 0.316347 0.310667 +0.331493 0.4148 0.47728 0.46592 0.429947 0.382613 0.342853 0.31824 +0.303093 0.310667 0.33528 0.359893 0.365573 0.359893 0.371253 0.416693 +0.537263 0.683789 0.862526 1.00384 1.05804 1.05445 1.02245 1.00808 +1.00678 1.00776 1.01396 1.03061 1.05804 1.15282 1.11934 1.03812 +1.01069 1.00188 0.992408 0.976211 0.960421 0.954105 0.950947 0.960421 +0.976211 0.990449 0.983592 0.86 0.65979 0.512 0.333387 0.303093 +0.33528 0.310667 0.225467 0.000846667 0.00082 0.0008 0.00078 0.000773333 +0.00078 0.00076 0.000733333 0.00078 0.000826667 0.00082 0.000766667 0.00076 +0.00076 0.000753333 0.000773333 0.000766667 0.000753333 0.000746667 0.000733333 0.000746667 +0.000753333 0.00074 0.000733333 0.00074 0.000733333 0.00076 0.000766667 0.000753333 +0.000733333 0.000746667 0.000746667 0.000733333 0.000746667 0.000746667 0.00074 0.000753333 +0.00076 0.000753333 0.000726667 0.000726667 0.000753333 0.00074 0.00072 0.000733333 +0.000726667 0.00072 0.000733333 0.000733333 0.000733333 0.00074 0.000746667 0.00076 +0.000746667 0.000733333 0.000746667 0.000746667 0.000706667 0.000686667 0.000706667 0.000733333 +0.00074 0.000726667 0.000733333 0.00072 0.000726667 0.00072 0.00072 0.00072 +0.00072 0.000726667 0.000713333 0.00072 0.000726667 0.000726667 0.000706667 0.00072 +0.00074 0.000753333 0.000746667 0.000706667 0.0007 0.00072 0.000713333 0.000713333 +0.000713333 0.00072 0.00072 0.000726667 0.00072 0.00072 0.000733333 0.00072 +0.000713333 0.000726667 0.000746667 0.00074 0.000753333 0.000726667 0.000726667 0.000753333 +0.000746667 0.000733333 0.00074 0.000766667 0.000753333 0.000726667 0.000746667 0.000746667 +0.000726667 0.000726667 0.000713333 0.000706667 0.000706667 0.0007 0.000713333 0.000713333 +0.00072 0.000753333 0.000773333 0.000753333 0.00074 0.000706667 0.00072 0.000733333 +0.000726667 0.000726667 0.00074 0.000746667 0.000746667 0.00074 0.000746667 0.000786667 +0.000786667 0.00078 0.000746667 0.00076 0.00076 0.000746667 0.000766667 0.00078 +0.000773333 0.000846667 0.25576 0.3296 0.282267 0.225467 0.25576 0.320133 +0.422373 0.599158 0.816421 0.980327 0.996327 0.981633 0.959789 0.949684 +0.949053 0.957895 0.973684 0.986531 0.997306 1.00547 1.01265 1.02212 +1.04335 1.0502 1.02898 1.012 1.01069 1.01886 1.028 1.0391 +1.05053 1.05151 1.04563 1.04596 1.05118 1.05902 1.07217 1.05184 +1.01135 0.875158 0.669895 0.524632 0.395867 0.34664 0.337173 0.339067 +0.34096 0.34664 0.361787 0.36936 0.34664 0.327707 0.34664 0.4148 +0.475387 0.446987 0.371253 0.331493 0.31256 0.316347 0.3296 0.33528 +0.34664 0.342853 0.333387 0.3296 0.333387 0.322027 0.322027 0.333387 +0.359893 0.361787 0.350427 0.350427 0.3296 0.30688 0.303093 0.30688 +0.30688 0.303093 0.293627 0.297413 0.308773 0.293627 0.286053 0.27848 +0.28416 0.28984 0.293627 0.30688 0.322027 0.327707 0.34664 0.38072 +0.393973 0.361787 0.316347 0.31256 0.32392 0.3296 0.354213 0.367467 +0.344747 0.320133 0.299307 0.304987 0.322027 0.34096 0.33528 0.293627 +0.28416 0.3012 0.316347 0.350427 0.507579 0.606105 0.678105 0.669895 +0.597263 0.510737 0.36368 0.32392 0.31256 0.27848 0.26144 0.25576 +0.25008 0.240613 0.2444 0.269013 0.291733 0.316347 0.27848 0.225467 +0.23872 0.242507 0.217893 0.000973333 0.000966667 0.23304 0.358 0.583368 +0.777263 0.932632 0.994367 1.00841 1.01429 1.02016 1.02408 1.02408 +1.02245 1.02637 1.03029 1.03322 1.03388 1.03322 1.03224 1.02865 +1.02833 1.03029 1.03061 1.03127 1.02963 1.0231 1.01363 1.012 +1.01298 1.01494 1.02441 1.03322 1.0391 1.04269 1.04041 1.03551 +1.03551 1.03616 1.03878 1.03714 1.03584 1.03976 1.03976 1.03976 +1.04139 1.0391 1.03976 1.04269 1.04041 1.03976 1.04139 1.04073 +1.04139 1.04367 1.04531 1.04759 1.04759 1.04531 1.04335 1.04531 +1.04759 1.04661 1.04433 1.04269 1.04204 1.04367 1.04498 1.04367 +1.04302 1.04367 1.04367 1.04335 1.04367 1.04302 1.04335 1.04335 +1.04106 1.04237 1.04073 1.03584 1.03714 1.03943 1.0391 1.03845 +1.03943 1.04041 1.04204 1.04073 1.04237 1.04171 1.04008 1.03976 +1.03878 1.03714 1.0378 1.0378 1.03453 1.03518 1.04008 1.03812 +1.03584 1.03551 1.03714 1.03551 1.03682 1.0391 1.0342 1.03322 +1.02996 1.02865 1.03127 1.02963 1.02898 1.02963 1.028 1.02898 +1.03061 1.03224 1.03159 1.02833 1.02702 1.03094 1.02865 1.02637 +1.02571 1.02473 1.02343 1.02408 1.02278 1.02114 1.01886 1.01657 +1.01592 1.01004 1.00057 0.988816 0.963579 0.916842 0.870737 0.810737 +0.703368 0.587158 0.505053 0.39776 0.35232 0.339067 0.34096 0.331493 +0.308773 0.297413 0.304987 0.314453 0.314453 0.291733 0.291733 0.32392 +0.34664 0.35232 0.350427 0.367467 0.361787 0.339067 0.446987 0.603579 +0.686316 0.613684 0.504421 0.359893 0.36368 0.503789 0.562526 0.546105 +0.42616 0.30688 0.28984 0.29552 0.303093 0.320133 0.337173 0.34664 +0.39776 0.502526 0.519579 0.510105 0.481067 0.42048 0.36936 0.33528 +0.314453 0.308773 0.31824 0.342853 0.36368 0.356107 0.359893 0.376933 +0.441307 0.567579 0.731789 0.918737 1.03224 1.08282 1.03976 1.01233 +1.00547 1.00449 1.0071 1.0182 1.04204 1.12086 1.1939 1.07978 +1.02408 1.00776 1.0009 0.986531 0.969895 0.960421 0.955368 0.955368 +0.960421 0.979368 0.991755 0.963579 0.805053 0.610526 0.44888 0.31256 +0.310667 0.33528 0.276587 0.000933333 0.000826667 0.000826667 0.000806667 0.00078 +0.000786667 0.000753333 0.000726667 0.000766667 0.0008 0.0008 0.00078 0.00078 +0.000793333 0.000773333 0.000753333 0.000746667 0.000773333 0.00078 0.000746667 0.000733333 +0.000706667 0.000713333 0.00072 0.000746667 0.000746667 0.00076 0.000753333 0.000726667 +0.000726667 0.000746667 0.000746667 0.000726667 0.000726667 0.000726667 0.000733333 0.000733333 +0.000726667 0.000713333 0.000713333 0.000733333 0.00074 0.00072 0.000706667 0.00072 +0.000726667 0.000733333 0.00074 0.000726667 0.00072 0.00074 0.00076 0.00076 +0.000733333 0.000726667 0.00074 0.00074 0.000766667 0.000733333 0.000693333 0.000686667 +0.000713333 0.000713333 0.000733333 0.00072 0.00072 0.000733333 0.000726667 0.000706667 +0.000693333 0.000706667 0.000713333 0.000726667 0.000726667 0.000726667 0.00072 0.0007 +0.000706667 0.000726667 0.000746667 0.000726667 0.00072 0.000746667 0.000726667 0.00072 +0.00072 0.00072 0.00072 0.000726667 0.000726667 0.000713333 0.000706667 0.000706667 +0.000693333 0.0007 0.000726667 0.000733333 0.00074 0.00074 0.000713333 0.000726667 +0.000726667 0.000733333 0.000733333 0.000746667 0.000746667 0.000726667 0.000726667 0.000713333 +0.000693333 0.000706667 0.000706667 0.00072 0.000746667 0.000733333 0.000726667 0.000713333 +0.0007 0.00072 0.000746667 0.000733333 0.00074 0.000713333 0.000726667 0.000713333 +0.000713333 0.00072 0.00074 0.00076 0.000766667 0.000746667 0.00074 0.000753333 +0.000773333 0.00078 0.00076 0.000786667 0.00078 0.00076 0.00078 0.00078 +0.000786667 0.000966667 0.299307 0.310667 0.236827 0.2444 0.30688 0.35232 +0.515789 0.702105 0.916211 0.99502 0.987837 0.967368 0.957263 0.954737 +0.956 0.966105 0.981959 0.992735 1.00155 1.00612 1.01102 1.0218 +1.04204 1.04269 1.02245 1.00678 1.00416 1.01135 1.0169 1.02473 +1.03943 1.04596 1.04498 1.04857 1.06609 1.14369 1.14977 1.03682 +0.908632 0.689474 0.531579 0.399653 0.350427 0.333387 0.320133 0.31824 +0.32392 0.337173 0.356107 0.354213 0.34096 0.348533 0.40344 0.45456 +0.42616 0.354213 0.310667 0.308773 0.303093 0.314453 0.32392 0.327707 +0.327707 0.325813 0.3296 0.337173 0.327707 0.310667 0.310667 0.320133 +0.344747 0.34664 0.359893 0.39776 0.367467 0.314453 0.303093 0.308773 +0.3012 0.29552 0.287947 0.28416 0.282267 0.27848 0.286053 0.29552 +0.3012 0.3012 0.30688 0.320133 0.316347 0.303093 0.31256 0.34096 +0.34664 0.331493 0.30688 0.30688 0.314453 0.320133 0.34096 0.344747 +0.325813 0.32392 0.325813 0.31256 0.327707 0.350427 0.342853 0.304987 +0.28984 0.308773 0.358 0.498107 0.601684 0.695158 0.68 0.589684 +0.506316 0.384507 0.314453 0.304987 0.3012 0.270907 0.251973 0.257653 +0.253867 0.236827 0.236827 0.26144 0.286053 0.297413 0.269013 0.22736 +0.225467 0.225467 0.000946667 0.000886667 0.000973333 0.325813 0.568211 0.768421 +0.931368 0.992082 1.00808 1.01984 1.02376 1.02343 1.02408 1.02539 +1.02604 1.02571 1.02376 1.02571 1.02669 1.02735 1.02865 1.02669 +1.02441 1.02637 1.028 1.02767 1.02408 1.01788 1.01102 1.01331 +1.01657 1.01918 1.028 1.03486 1.03845 1.04073 1.03649 1.03159 +1.03192 1.03355 1.03714 1.03714 1.03355 1.0378 1.04171 1.04367 +1.04269 1.0378 1.03943 1.04139 1.04106 1.04335 1.04367 1.04269 +1.04335 1.04335 1.04367 1.04727 1.04759 1.04596 1.04498 1.04498 +1.04498 1.04433 1.04367 1.04335 1.04335 1.04498 1.04531 1.04367 +1.04237 1.04204 1.04139 1.04073 1.04139 1.04204 1.04367 1.04269 +1.04237 1.04367 1.04204 1.03878 1.0391 1.04008 1.04106 1.04106 +1.04106 1.04073 1.04171 1.04139 1.04171 1.04041 1.0378 1.03616 +1.03714 1.03682 1.03812 1.04041 1.0378 1.03878 1.04204 1.03714 +1.03486 1.03518 1.03486 1.03355 1.03551 1.03486 1.03029 1.02996 +1.02767 1.02898 1.03355 1.0329 1.02898 1.02898 1.03061 1.03192 +1.03192 1.03192 1.03192 1.03029 1.02963 1.03029 1.02898 1.02898 +1.02833 1.028 1.02833 1.028 1.02735 1.02571 1.02408 1.02212 +1.02147 1.01886 1.01331 1.00416 0.992082 0.964842 0.927579 0.879579 +0.779789 0.656632 0.556211 0.48296 0.38072 0.331493 0.32392 0.32392 +0.31256 0.304987 0.297413 0.28984 0.28416 0.269013 0.269013 0.293627 +0.310667 0.303093 0.31256 0.33528 0.344747 0.359893 0.508842 0.641474 +0.702737 0.601684 0.46024 0.333387 0.3296 0.416693 0.525263 0.532842 +0.43184 0.303093 0.2728 0.274693 0.287947 0.303093 0.3296 0.378827 +0.479173 0.524632 0.521474 0.473493 0.40344 0.358 0.3296 0.314453 +0.308773 0.310667 0.308773 0.327707 0.359893 0.365573 0.354213 0.350427 +0.38072 0.496213 0.608 0.779158 0.976211 1.05445 1.05967 1.02408 +1.00547 1.0009 1.0022 1.01037 1.02767 1.05576 1.18173 1.18629 +1.04857 1.01592 1.00449 0.993388 0.982612 0.971789 0.962316 0.954105 +0.950947 0.961053 0.983592 0.990449 0.925684 0.745053 0.562526 0.393973 +0.304987 0.337173 0.333387 0.2444 0.000853333 0.000813333 0.00084 0.000813333 +0.000773333 0.000753333 0.000733333 0.00076 0.00078 0.0008 0.000766667 0.000746667 +0.000746667 0.000733333 0.000733333 0.000733333 0.000746667 0.000746667 0.000706667 0.00072 +0.000746667 0.00074 0.00074 0.000746667 0.00074 0.000726667 0.000733333 0.000726667 +0.000733333 0.000746667 0.000726667 0.0007 0.00072 0.00074 0.000726667 0.000726667 +0.00074 0.00074 0.000733333 0.00074 0.000733333 0.000726667 0.000733333 0.000753333 +0.00074 0.000733333 0.00074 0.000726667 0.000706667 0.000733333 0.00076 0.00076 +0.000733333 0.000733333 0.00074 0.000726667 0.000746667 0.00074 0.000726667 0.000726667 +0.000726667 0.00072 0.000726667 0.000726667 0.00072 0.000733333 0.000733333 0.000726667 +0.00072 0.00072 0.0007 0.000726667 0.00074 0.00074 0.000753333 0.000726667 +0.000693333 0.0007 0.000713333 0.000713333 0.000713333 0.000733333 0.00074 0.000713333 +0.00072 0.000726667 0.000726667 0.00072 0.000726667 0.000733333 0.00074 0.000726667 +0.000713333 0.0007 0.000706667 0.000706667 0.00072 0.00074 0.000726667 0.000726667 +0.000713333 0.000713333 0.00072 0.000726667 0.00072 0.000733333 0.00076 0.00074 +0.0007 0.000713333 0.000733333 0.000733333 0.00074 0.00074 0.000733333 0.00072 +0.0007 0.0007 0.000726667 0.00074 0.000753333 0.000746667 0.000753333 0.000733333 +0.000713333 0.00072 0.000733333 0.00076 0.000773333 0.000746667 0.00074 0.000733333 +0.00074 0.000753333 0.00074 0.000773333 0.000786667 0.000766667 0.000773333 0.00076 +0.000853333 0.259547 0.327707 0.280373 0.231147 0.282267 0.322027 0.40344 +0.597895 0.822105 0.981633 0.994367 0.974316 0.952842 0.950316 0.953474 +0.961053 0.978105 0.988816 0.999265 1.00449 1.0071 1.012 1.02441 +1.04171 1.0378 1.0169 1.00253 1.00024 1.00449 1.01004 1.0182 +1.02963 1.03551 1.04204 1.05184 1.095 1.12695 1.03812 0.912421 +0.694526 0.538526 0.412907 0.350427 0.33528 0.333387 0.3296 0.331493 +0.337173 0.34096 0.342853 0.344747 0.378827 0.42616 0.445093 0.411013 +0.34096 0.297413 0.297413 0.286053 0.291733 0.299307 0.30688 0.316347 +0.320133 0.32392 0.33528 0.342853 0.331493 0.308773 0.299307 0.316347 +0.337173 0.325813 0.331493 0.384507 0.376933 0.327707 0.31256 0.303093 +0.287947 0.287947 0.286053 0.27848 0.282267 0.286053 0.28984 0.3012 +0.308773 0.3012 0.299307 0.308773 0.29552 0.297413 0.304987 0.320133 +0.333387 0.331493 0.32392 0.31256 0.30688 0.308773 0.320133 0.327707 +0.327707 0.35232 0.359893 0.32392 0.304987 0.327707 0.333387 0.32392 +0.322027 0.34664 0.456453 0.569474 0.665474 0.677474 0.594737 0.509474 +0.382613 0.325813 0.28416 0.265227 0.26712 0.259547 0.259547 0.265227 +0.263333 0.23872 0.217893 0.236827 0.259547 0.26144 0.248187 0.219787 +0.000933333 0.0009 0.000826667 0.000806667 0.276587 0.541053 0.74 0.92 +0.993061 1.00873 1.01886 1.02441 1.02473 1.02147 1.0218 1.02473 +1.02539 1.02473 1.02114 1.01984 1.01886 1.01624 1.01657 1.0182 +1.01951 1.01984 1.0218 1.02049 1.01461 1.00939 1.00776 1.01135 +1.0169 1.02278 1.03094 1.0342 1.03355 1.0329 1.03224 1.03029 +1.02898 1.02996 1.03584 1.04008 1.03714 1.03878 1.04237 1.04465 +1.04171 1.03714 1.03943 1.04204 1.04367 1.04629 1.04531 1.04335 +1.04596 1.04759 1.04727 1.04824 1.04694 1.04465 1.04498 1.04661 +1.04661 1.04335 1.04041 1.04269 1.04465 1.04531 1.04498 1.04433 +1.04269 1.03976 1.0391 1.04139 1.04139 1.04139 1.04269 1.04171 +1.04302 1.04367 1.04204 1.04139 1.04073 1.04106 1.04139 1.04106 +1.04237 1.04171 1.04106 1.04008 1.03943 1.03812 1.03649 1.0342 +1.03518 1.03551 1.03616 1.04008 1.0378 1.03812 1.03976 1.03584 +1.03584 1.03649 1.0329 1.03224 1.0342 1.03355 1.03127 1.02996 +1.02963 1.03127 1.03388 1.03453 1.03224 1.03159 1.03322 1.03355 +1.0329 1.03257 1.03127 1.02963 1.03159 1.03192 1.03094 1.02963 +1.02865 1.02963 1.02963 1.02963 1.02996 1.02865 1.02702 1.02506 +1.02571 1.02604 1.02343 1.0182 1.00939 0.994041 0.979368 0.937684 +0.854316 0.735579 0.623158 0.537263 0.43752 0.34664 0.31256 0.304987 +0.29552 0.291733 0.276587 0.274693 0.276587 0.269013 0.265227 0.28984 +0.310667 0.3012 0.304987 0.31256 0.327707 0.365573 0.504421 0.589684 +0.608632 0.532842 0.395867 0.322027 0.310667 0.354213 0.484853 0.515789 +0.422373 0.293627 0.263333 0.276587 0.29552 0.308773 0.32392 0.38072 +0.469707 0.501263 0.464027 0.384507 0.31824 0.293627 0.291733 0.291733 +0.297413 0.303093 0.3012 0.325813 0.358 0.36936 0.354213 0.339067 +0.359893 0.40344 0.517684 0.644632 0.840421 1.01592 1.10108 1.04237 +1.00873 1.00024 1.00188 1.00743 1.01722 1.0391 1.12391 1.23194 +1.12543 1.03029 1.00971 0.999918 0.990449 0.981306 0.968 0.959158 +0.949684 0.951579 0.971158 0.989143 0.986857 0.887158 0.692 0.528421 +0.35232 0.32392 0.348533 0.303093 0.000993333 0.000853333 0.000853333 0.000806667 +0.00076 0.000753333 0.000746667 0.000786667 0.000806667 0.000793333 0.00074 0.000713333 +0.000726667 0.00072 0.000733333 0.00074 0.00074 0.000713333 0.0007 0.000726667 +0.000733333 0.00074 0.000753333 0.000746667 0.000733333 0.000746667 0.000753333 0.000733333 +0.00072 0.000753333 0.00074 0.000713333 0.00072 0.00074 0.000733333 0.00074 +0.00074 0.000733333 0.000733333 0.000753333 0.000753333 0.000753333 0.00074 0.000746667 +0.000733333 0.00074 0.000746667 0.000726667 0.00072 0.000746667 0.000766667 0.00076 +0.000733333 0.00072 0.000733333 0.000733333 0.00074 0.000733333 0.00072 0.00072 +0.000733333 0.00074 0.00074 0.000726667 0.000726667 0.00074 0.00072 0.00072 +0.000726667 0.000733333 0.000726667 0.00072 0.000726667 0.000733333 0.000746667 0.00074 +0.00072 0.00072 0.000706667 0.000706667 0.00072 0.000713333 0.000706667 0.0007 +0.000706667 0.00072 0.00072 0.000713333 0.0007 0.0007 0.000726667 0.00074 +0.000733333 0.00072 0.000713333 0.000733333 0.000726667 0.000726667 0.000713333 0.00072 +0.000726667 0.000726667 0.000726667 0.000726667 0.00072 0.000733333 0.00076 0.000773333 +0.00074 0.000706667 0.000706667 0.00072 0.00074 0.00074 0.00074 0.000733333 +0.000733333 0.000733333 0.000733333 0.000733333 0.000726667 0.00072 0.000753333 0.000766667 +0.000766667 0.00074 0.00072 0.00074 0.000753333 0.000753333 0.000766667 0.000773333 +0.000753333 0.000753333 0.000746667 0.000766667 0.000773333 0.00078 0.000806667 0.000813333 +0.000993333 0.303093 0.308773 0.23872 0.246293 0.308773 0.344747 0.518947 +0.713474 0.925684 0.99698 0.988163 0.961053 0.945895 0.944 0.948421 +0.964211 0.985224 0.996653 1.00416 1.00547 1.00743 1.01298 1.02735 +1.04106 1.03224 1.01135 0.999918 0.998612 1.00188 1.00743 1.01722 +1.02506 1.03159 1.04269 1.05576 1.05902 1.01984 0.876421 0.668 +0.532211 0.429947 0.376933 0.348533 0.339067 0.34096 0.34096 0.350427 +0.359893 0.35232 0.348533 0.373147 0.44888 0.475387 0.407227 0.333387 +0.293627 0.29552 0.28984 0.28416 0.28984 0.29552 0.293627 0.297413 +0.308773 0.322027 0.342853 0.354213 0.3296 0.30688 0.303093 0.31824 +0.354213 0.337173 0.31256 0.350427 0.361787 0.34096 0.3296 0.30688 +0.287947 0.286053 0.297413 0.291733 0.28416 0.280373 0.280373 0.28416 +0.293627 0.286053 0.291733 0.291733 0.291733 0.293627 0.297413 0.293627 +0.310667 0.331493 0.331493 0.30688 0.299307 0.310667 0.30688 0.30688 +0.333387 0.36368 0.371253 0.342853 0.31256 0.316347 0.32392 0.333387 +0.337173 0.390187 0.524 0.606105 0.629474 0.568842 0.501263 0.422373 +0.358 0.310667 0.286053 0.259547 0.246293 0.25576 0.259547 0.25008 +0.25576 0.2444 0.216 0.23872 0.257653 0.23304 0.223573 0.00098 +0.00092 0.000853333 0.00076 0.216 0.513895 0.704632 0.890316 0.984898 +1.00482 1.01624 1.02212 1.02212 1.02147 1.01918 1.01918 1.02147 +1.02147 1.01886 1.01624 1.01494 1.01559 1.01102 1.01004 1.01331 +1.01624 1.01722 1.01722 1.01363 1.00482 1.0009 1.00384 1.00873 +1.01527 1.02278 1.03094 1.03518 1.03322 1.02898 1.02898 1.02996 +1.02963 1.03192 1.03616 1.03976 1.04204 1.04335 1.04531 1.04563 +1.04465 1.04041 1.04073 1.04367 1.04367 1.044 1.04629 1.04694 +1.04824 1.04759 1.04824 1.04955 1.04694 1.04465 1.04498 1.04727 +1.04792 1.04531 1.04171 1.04335 1.044 1.044 1.04433 1.04433 +1.04302 1.03976 1.03878 1.04204 1.04237 1.04335 1.044 1.04204 +1.04139 1.04041 1.03943 1.03976 1.03943 1.04204 1.04171 1.04106 +1.04237 1.04139 1.04073 1.03943 1.0378 1.03649 1.03551 1.03453 +1.03518 1.03486 1.03486 1.03584 1.03518 1.03616 1.03714 1.03486 +1.03486 1.0342 1.03061 1.03257 1.03649 1.03551 1.03355 1.03224 +1.03192 1.03322 1.03388 1.03355 1.0342 1.03453 1.03355 1.03388 +1.0342 1.03388 1.0329 1.0329 1.03453 1.03257 1.03224 1.03257 +1.03224 1.03192 1.03094 1.02931 1.03061 1.02931 1.02702 1.02604 +1.02637 1.02669 1.02571 1.02571 1.02147 1.01037 0.997959 0.98098 +0.919368 0.813895 0.695158 0.591579 0.515158 0.401547 0.325813 0.297413 +0.287947 0.293627 0.280373 0.282267 0.293627 0.287947 0.291733 0.308773 +0.314453 0.308773 0.31824 0.322027 0.331493 0.344747 0.405333 0.498107 +0.504421 0.433733 0.365573 0.333387 0.327707 0.348533 0.441307 0.503789 +0.424267 0.30688 0.269013 0.276587 0.28984 0.304987 0.30688 0.342853 +0.393973 0.405333 0.373147 0.32392 0.28984 0.282267 0.286053 0.287947 +0.287947 0.3012 0.31256 0.331493 0.34664 0.354213 0.350427 0.339067 +0.348533 0.371253 0.435627 0.549895 0.701474 0.923158 1.04988 1.06 +1.02016 1.00188 1.0022 1.00482 1.01069 1.02702 1.05706 1.2076 +1.22738 1.05445 1.01984 1.00612 0.995673 0.986204 0.975579 0.967368 +0.957895 0.951579 0.959789 0.981633 0.995673 0.982612 0.840421 0.637053 +0.48296 0.322027 0.32392 0.344747 0.27848 0.00094 0.000853333 0.000806667 +0.000786667 0.000793333 0.000773333 0.000793333 0.0008 0.000793333 0.000766667 0.00076 +0.00078 0.00076 0.000766667 0.000773333 0.000766667 0.00076 0.00074 0.000726667 +0.000733333 0.00074 0.00076 0.00074 0.000746667 0.000753333 0.00074 0.000713333 +0.000733333 0.000766667 0.000753333 0.000726667 0.000733333 0.000746667 0.00076 0.000753333 +0.000733333 0.00074 0.00074 0.000753333 0.00076 0.00074 0.000726667 0.00074 +0.000726667 0.000726667 0.00072 0.000713333 0.00072 0.000746667 0.000746667 0.000733333 +0.000713333 0.000713333 0.000733333 0.000746667 0.00072 0.00074 0.000746667 0.000726667 +0.00072 0.000733333 0.000733333 0.000726667 0.000733333 0.00076 0.000746667 0.000713333 +0.000706667 0.000713333 0.00072 0.000733333 0.000733333 0.00074 0.00074 0.00076 +0.000746667 0.000733333 0.000733333 0.000713333 0.000706667 0.000706667 0.0007 0.000706667 +0.000713333 0.000706667 0.0007 0.000706667 0.000706667 0.0007 0.0007 0.000713333 +0.00072 0.000713333 0.00072 0.000733333 0.00072 0.00072 0.000726667 0.000726667 +0.000726667 0.00072 0.00072 0.000726667 0.000733333 0.000726667 0.00072 0.00074 +0.000746667 0.000733333 0.00072 0.000713333 0.000746667 0.00074 0.000726667 0.000726667 +0.000726667 0.000733333 0.000746667 0.000753333 0.000733333 0.00072 0.000733333 0.000746667 +0.000753333 0.000753333 0.00074 0.000746667 0.000753333 0.000746667 0.000766667 0.00078 +0.00078 0.00078 0.000766667 0.000773333 0.000766667 0.00078 0.000813333 0.0009 +0.269013 0.327707 0.2728 0.22168 0.270907 0.325813 0.418587 0.610526 +0.836632 0.983918 0.995673 0.976842 0.950316 0.943368 0.944 0.950947 +0.972421 0.991755 1.00253 1.0071 1.00612 1.0071 1.01527 1.02865 +1.03747 1.02637 1.00776 0.998612 0.998286 1.00122 1.00743 1.01755 +1.02571 1.03747 1.0502 1.04596 0.999592 0.836 0.640211 0.517053 +0.424267 0.39208 0.367467 0.344747 0.333387 0.333387 0.337173 0.344747 +0.344747 0.339067 0.35232 0.422373 0.48864 0.439413 0.34096 0.293627 +0.286053 0.282267 0.282267 0.286053 0.291733 0.28984 0.287947 0.293627 +0.303093 0.331493 0.36368 0.361787 0.327707 0.31256 0.31824 0.325813 +0.373147 0.361787 0.310667 0.31824 0.33528 0.34664 0.339067 0.327707 +0.303093 0.291733 0.293627 0.293627 0.287947 0.287947 0.270907 0.270907 +0.276587 0.27848 0.287947 0.28416 0.286053 0.304987 0.303093 0.29552 +0.3012 0.316347 0.31824 0.308773 0.303093 0.314453 0.30688 0.308773 +0.33528 0.35232 0.356107 0.348533 0.333387 0.33528 0.342853 0.354213 +0.371253 0.46024 0.548 0.578316 0.539789 0.467813 0.407227 0.390187 +0.339067 0.304987 0.303093 0.282267 0.263333 0.27848 0.274693 0.246293 +0.242507 0.25008 0.240613 0.274693 0.27848 0.236827 0.223573 0.225467 +0.216 0.000886667 0.00092 0.464027 0.680632 0.869474 0.975579 0.998939 +1.01135 1.02016 1.02147 1.01886 1.01788 1.01853 1.01755 1.01853 +1.02049 1.01853 1.01527 1.01363 1.01624 1.01624 1.01461 1.01657 +1.0169 1.01951 1.01886 1.01135 1.00449 1.00057 1.00286 1.00906 +1.0169 1.02376 1.02931 1.03486 1.03257 1.02898 1.03061 1.03127 +1.03192 1.0378 1.04171 1.044 1.04531 1.04498 1.04531 1.04498 +1.04727 1.04629 1.04335 1.044 1.04433 1.04139 1.04367 1.04988 +1.05151 1.04792 1.04727 1.04727 1.04596 1.04563 1.04596 1.04629 +1.04727 1.04531 1.04302 1.04433 1.04465 1.04629 1.04629 1.04498 +1.04269 1.04171 1.04171 1.04335 1.04237 1.04367 1.04465 1.04204 +1.04008 1.03878 1.03747 1.0378 1.0378 1.04073 1.04008 1.04073 +1.04139 1.03845 1.04073 1.04008 1.0378 1.03714 1.03649 1.03486 +1.03518 1.03388 1.0329 1.03322 1.03518 1.03649 1.03486 1.0342 +1.03322 1.03192 1.02996 1.03224 1.03584 1.03388 1.03094 1.03159 +1.0329 1.03518 1.03518 1.0342 1.03551 1.03355 1.03192 1.03453 +1.03714 1.03584 1.03551 1.03747 1.03518 1.03224 1.03355 1.03453 +1.0342 1.03486 1.0342 1.03159 1.03257 1.03127 1.02931 1.02963 +1.028 1.02571 1.02669 1.02702 1.02441 1.01755 1.00776 0.997306 +0.969263 0.884 0.776 0.667368 0.577684 0.506947 0.388293 0.325813 +0.303093 0.299307 0.293627 0.314453 0.320133 0.30688 0.314453 0.320133 +0.320133 0.320133 0.322027 0.316347 0.314453 0.314453 0.32392 0.350427 +0.36936 0.350427 0.3296 0.320133 0.30688 0.322027 0.405333 0.484853 +0.4432 0.344747 0.293627 0.287947 0.287947 0.280373 0.27848 0.303093 +0.34664 0.350427 0.32392 0.28984 0.286053 0.28416 0.28416 0.299307 +0.30688 0.32392 0.33528 0.344747 0.361787 0.371253 0.350427 0.33528 +0.34096 0.36368 0.401547 0.486747 0.587789 0.777895 0.999592 1.07065 +1.03682 1.00514 1.00057 1.00286 1.00743 1.01559 1.03682 1.12391 +1.27303 1.17108 1.03518 1.01069 1.00024 0.992408 0.984571 0.978105 +0.965474 0.954105 0.952842 0.971158 0.990449 0.998286 0.952211 0.777263 +0.581474 0.39776 0.30688 0.34096 0.322027 0.23304 0.000886667 0.00084 +0.000826667 0.0008 0.00076 0.000773333 0.0008 0.000806667 0.000786667 0.000773333 +0.00078 0.000766667 0.000773333 0.000773333 0.000773333 0.000786667 0.000746667 0.000726667 +0.000753333 0.000773333 0.00076 0.000733333 0.00074 0.000746667 0.000746667 0.000726667 +0.000733333 0.00076 0.00072 0.00072 0.000733333 0.000746667 0.000753333 0.000733333 +0.000726667 0.000753333 0.00074 0.000733333 0.00074 0.000706667 0.000726667 0.000746667 +0.000726667 0.000733333 0.000713333 0.0007 0.000713333 0.00074 0.000746667 0.00074 +0.000726667 0.000726667 0.00072 0.000746667 0.000733333 0.000733333 0.000733333 0.000733333 +0.000733333 0.000726667 0.000733333 0.00072 0.000713333 0.00074 0.000746667 0.000746667 +0.000733333 0.000713333 0.000713333 0.000726667 0.000746667 0.000746667 0.000733333 0.000733333 +0.000746667 0.000726667 0.000706667 0.000706667 0.000706667 0.00072 0.00072 0.00072 +0.00072 0.000726667 0.000706667 0.000686667 0.000693333 0.000693333 0.000706667 0.0007 +0.000713333 0.0007 0.000693333 0.000726667 0.000726667 0.000726667 0.00074 0.000746667 +0.00074 0.000706667 0.000693333 0.000713333 0.000733333 0.00074 0.000733333 0.000746667 +0.00072 0.0007 0.000713333 0.000713333 0.000733333 0.00074 0.000726667 0.000726667 +0.000713333 0.000706667 0.000726667 0.000746667 0.000733333 0.000713333 0.000726667 0.000726667 +0.00074 0.000746667 0.000753333 0.00078 0.00078 0.000753333 0.000746667 0.000753333 +0.000766667 0.00078 0.00078 0.000793333 0.0008 0.000793333 0.00084 0.22736 +0.314453 0.316347 0.25008 0.2444 0.303093 0.356107 0.526526 0.724211 +0.932 0.994367 0.986531 0.962316 0.945895 0.943368 0.947789 0.959158 +0.982286 0.99698 1.00482 1.00808 1.00547 1.00547 1.01396 1.02767 +1.03453 1.02343 1.00841 1.0022 1.00188 1.00416 1.01004 1.01951 +1.0329 1.0489 1.04106 0.984898 0.800632 0.614316 0.505053 0.411013 +0.382613 0.359893 0.339067 0.31824 0.310667 0.316347 0.320133 0.316347 +0.314453 0.3296 0.388293 0.46592 0.462133 0.376933 0.310667 0.293627 +0.28984 0.293627 0.297413 0.297413 0.293627 0.27848 0.28416 0.287947 +0.320133 0.361787 0.367467 0.34096 0.320133 0.31824 0.327707 0.33528 +0.378827 0.376933 0.310667 0.286053 0.31256 0.337173 0.342853 0.344747 +0.325813 0.3012 0.291733 0.28416 0.293627 0.299307 0.28984 0.286053 +0.286053 0.282267 0.28984 0.291733 0.293627 0.314453 0.32392 0.314453 +0.314453 0.316347 0.314453 0.320133 0.31824 0.314453 0.31824 0.325813 +0.322027 0.322027 0.331493 0.33528 0.337173 0.344747 0.350427 0.36368 +0.4148 0.505053 0.531579 0.512 0.42616 0.39776 0.384507 0.359893 +0.327707 0.308773 0.314453 0.32392 0.316347 0.314453 0.304987 0.276587 +0.269013 0.27848 0.320133 0.344747 0.299307 0.257653 0.25576 0.265227 +0.259547 0.23304 0.395867 0.654737 0.86 0.966737 0.995347 1.00841 +1.01755 1.02082 1.02049 1.01788 1.01559 1.01755 1.01592 1.01755 +1.02147 1.02376 1.02147 1.01951 1.02082 1.02212 1.02016 1.02212 +1.0218 1.0231 1.02376 1.01429 1.00743 1.00449 1.00776 1.012 +1.0182 1.02669 1.03094 1.03453 1.03257 1.02931 1.03224 1.03616 +1.03714 1.04073 1.04531 1.04857 1.0489 1.04661 1.04563 1.04465 +1.04661 1.04727 1.04596 1.04563 1.04629 1.04269 1.044 1.04988 +1.05053 1.04988 1.04824 1.04563 1.04498 1.04531 1.04563 1.04629 +1.04857 1.04759 1.044 1.04302 1.04237 1.04367 1.04465 1.04498 +1.04237 1.04139 1.04171 1.04367 1.04139 1.04106 1.04302 1.04008 +1.04008 1.04008 1.03812 1.03878 1.03845 1.04008 1.03878 1.03976 +1.04041 1.03682 1.03943 1.03976 1.03682 1.03649 1.03518 1.0342 +1.0342 1.03322 1.0342 1.03453 1.03453 1.03453 1.03322 1.03322 +1.03127 1.02963 1.03094 1.03127 1.03192 1.03127 1.03127 1.03159 +1.0329 1.0342 1.0342 1.0329 1.03518 1.03518 1.0342 1.03616 +1.0391 1.04008 1.03747 1.03714 1.03486 1.03388 1.03584 1.03453 +1.03486 1.03616 1.03388 1.03322 1.03388 1.03159 1.03127 1.0329 +1.03029 1.02833 1.02996 1.02931 1.02604 1.02016 1.01461 1.00939 +0.992408 0.942105 0.856842 0.760842 0.664842 0.573263 0.506316 0.395867 +0.339067 0.31256 0.310667 0.331493 0.31824 0.299307 0.3012 0.3012 +0.310667 0.333387 0.337173 0.31256 0.297413 0.3012 0.308773 0.316347 +0.325813 0.322027 0.314453 0.3012 0.286053 0.308773 0.376933 0.45456 +0.4432 0.36368 0.31824 0.30688 0.287947 0.276587 0.282267 0.303093 +0.31256 0.30688 0.303093 0.282267 0.270907 0.276587 0.28416 0.303093 +0.314453 0.3296 0.337173 0.356107 0.39208 0.401547 0.36936 0.356107 +0.359893 0.359893 0.378827 0.407227 0.515158 0.652211 0.885263 1.03943 +1.05412 1.01592 1.00024 1.00057 1.00318 1.0058 1.01886 1.04988 +1.22586 1.26542 1.05641 1.01722 1.00384 0.997959 0.991429 0.984571 +0.974316 0.963579 0.955368 0.960421 0.978105 0.991102 0.991102 0.907368 +0.714737 0.537263 0.348533 0.310667 0.33528 0.293627 0.223573 0.000866667 +0.000806667 0.000786667 0.000753333 0.000786667 0.000806667 0.000793333 0.00078 0.000786667 +0.000773333 0.000753333 0.00078 0.000773333 0.000753333 0.000766667 0.000733333 0.000726667 +0.000753333 0.00076 0.000733333 0.00072 0.000746667 0.000766667 0.000753333 0.000693333 +0.000726667 0.000746667 0.000726667 0.0007 0.000713333 0.000733333 0.000746667 0.000746667 +0.00074 0.00074 0.00074 0.000746667 0.000733333 0.00072 0.000753333 0.000753333 +0.000733333 0.000733333 0.000706667 0.000706667 0.00072 0.00074 0.000726667 0.000713333 +0.000726667 0.00072 0.00072 0.000733333 0.000733333 0.000726667 0.00072 0.000726667 +0.000733333 0.00074 0.000746667 0.000746667 0.000733333 0.000713333 0.000713333 0.00072 +0.000733333 0.000726667 0.00072 0.000713333 0.000713333 0.00072 0.000733333 0.000726667 +0.000746667 0.000746667 0.000733333 0.00072 0.000733333 0.000726667 0.000726667 0.000726667 +0.00072 0.00072 0.00072 0.000713333 0.000713333 0.000706667 0.00072 0.000726667 +0.000733333 0.000733333 0.000706667 0.000713333 0.00072 0.000713333 0.000726667 0.000726667 +0.000733333 0.000713333 0.000693333 0.00072 0.000726667 0.000713333 0.00072 0.00074 +0.000753333 0.000733333 0.0007 0.000693333 0.000713333 0.000706667 0.000713333 0.000726667 +0.000726667 0.000713333 0.00072 0.00074 0.00072 0.0007 0.00072 0.000733333 +0.00074 0.00074 0.000746667 0.00076 0.000773333 0.000766667 0.000766667 0.000766667 +0.000773333 0.00078 0.00078 0.000786667 0.000806667 0.000813333 0.000946667 0.282267 +0.316347 0.26712 0.242507 0.276587 0.325813 0.445093 0.623158 0.845474 +0.983592 0.990122 0.973684 0.954737 0.946526 0.945895 0.952842 0.968632 +0.98849 1.00155 1.00743 1.00873 1.00612 1.00482 1.01135 1.02473 +1.03127 1.0218 1.01037 1.0058 1.00612 1.00939 1.01592 1.03029 +1.04694 1.0391 0.974316 0.779158 0.597895 0.492427 0.399653 0.38072 +0.365573 0.350427 0.331493 0.31256 0.299307 0.303093 0.303093 0.3012 +0.314453 0.359893 0.42616 0.441307 0.3864 0.32392 0.303093 0.293627 +0.314453 0.331493 0.316347 0.303093 0.291733 0.27848 0.27848 0.304987 +0.342853 0.36368 0.337173 0.314453 0.308773 0.31256 0.31824 0.333387 +0.371253 0.378827 0.32392 0.287947 0.303093 0.331493 0.344747 0.354213 +0.348533 0.325813 0.299307 0.28984 0.29552 0.29552 0.297413 0.303093 +0.3012 0.28416 0.287947 0.29552 0.314453 0.337173 0.34096 0.325813 +0.322027 0.32392 0.31824 0.32392 0.32392 0.308773 0.314453 0.3296 +0.320133 0.31256 0.3296 0.33528 0.327707 0.34096 0.344747 0.365573 +0.43184 0.467813 0.450773 0.395867 0.376933 0.390187 0.37504 0.36936 +0.36368 0.342853 0.33528 0.331493 0.322027 0.308773 0.304987 0.29552 +0.287947 0.337173 0.418587 0.388293 0.293627 0.263333 0.259547 0.265227 +0.28416 0.34096 0.587789 0.833474 0.974947 0.99502 1.00351 1.01167 +1.01624 1.01592 1.01559 1.0169 1.01624 1.0182 1.01788 1.02114 +1.02441 1.02506 1.02441 1.02376 1.02408 1.02473 1.02408 1.02506 +1.02702 1.028 1.028 1.01886 1.01102 1.01102 1.0169 1.02049 +1.02441 1.03355 1.03649 1.0378 1.03551 1.0329 1.03486 1.04073 +1.04269 1.04335 1.04531 1.0489 1.04857 1.04563 1.04531 1.04498 +1.04661 1.04531 1.04433 1.04661 1.04661 1.04498 1.04629 1.0489 +1.0489 1.04857 1.04727 1.04727 1.04661 1.04433 1.04433 1.04629 +1.04857 1.04824 1.04563 1.04335 1.04106 1.04106 1.04073 1.04367 +1.044 1.04237 1.04073 1.04237 1.04073 1.04041 1.04106 1.03976 +1.04041 1.03812 1.0378 1.04008 1.03878 1.04008 1.0391 1.0391 +1.04041 1.0378 1.0378 1.03845 1.03486 1.0329 1.03388 1.0342 +1.03355 1.03486 1.03682 1.03714 1.03747 1.03518 1.03257 1.0329 +1.03029 1.03094 1.0329 1.03192 1.03061 1.03159 1.03224 1.03224 +1.03355 1.0342 1.03518 1.0342 1.03616 1.03584 1.03649 1.0378 +1.03845 1.03943 1.03878 1.0378 1.03551 1.03388 1.03616 1.03747 +1.0378 1.03682 1.03388 1.03453 1.0342 1.0329 1.03322 1.03192 +1.03029 1.03094 1.03192 1.02996 1.02539 1.0218 1.02114 1.01624 +1.00547 0.984898 0.926947 0.848 0.748211 0.637684 0.542316 0.435627 +0.34096 0.3012 0.297413 0.299307 0.291733 0.28984 0.293627 0.3012 +0.314453 0.342853 0.361787 0.344747 0.316347 0.320133 0.342853 0.344747 +0.34096 0.342853 0.337173 0.320133 0.30688 0.316347 0.350427 0.407227 +0.407227 0.350427 0.31824 0.308773 0.291733 0.28984 0.299307 0.297413 +0.287947 0.28416 0.28416 0.274693 0.2728 0.270907 0.27848 0.293627 +0.3012 0.30688 0.31256 0.34096 0.376933 0.39208 0.38072 0.37504 +0.367467 0.354213 0.361787 0.38072 0.4432 0.56 0.743158 0.988163 +1.05902 1.03486 1.00449 0.997959 0.998612 1.00122 1.01004 1.03322 +1.14065 1.29433 1.15738 1.02996 1.00743 1.00024 0.993388 0.98849 +0.981959 0.974316 0.962947 0.953474 0.956632 0.976211 0.992735 0.984245 +0.854947 0.648421 0.492427 0.327707 0.32392 0.34096 0.274693 0.000913333 +0.000826667 0.00082 0.000786667 0.000786667 0.000793333 0.00078 0.000786667 0.000806667 +0.00078 0.000753333 0.000786667 0.00076 0.000726667 0.00076 0.00074 0.00074 +0.000753333 0.000726667 0.0007 0.000713333 0.00074 0.00074 0.00072 0.000693333 +0.000733333 0.00076 0.00072 0.000726667 0.000746667 0.000753333 0.00076 0.00074 +0.000713333 0.0007 0.00072 0.000746667 0.00074 0.000746667 0.00076 0.000753333 +0.000726667 0.000706667 0.000706667 0.000726667 0.000753333 0.000746667 0.000726667 0.00072 +0.000733333 0.00074 0.000726667 0.00072 0.000713333 0.00072 0.000733333 0.000733333 +0.000726667 0.00072 0.00072 0.000726667 0.000706667 0.000693333 0.000713333 0.000726667 +0.000726667 0.000713333 0.000713333 0.000713333 0.00072 0.0007 0.000706667 0.0007 +0.000706667 0.000726667 0.000733333 0.000733333 0.00072 0.00072 0.000713333 0.00072 +0.000746667 0.00076 0.00074 0.000726667 0.00072 0.000706667 0.000706667 0.00072 +0.000726667 0.000726667 0.000713333 0.000733333 0.000726667 0.000713333 0.000733333 0.00072 +0.000726667 0.00074 0.00072 0.000733333 0.00074 0.000726667 0.000713333 0.000713333 +0.000746667 0.000773333 0.000753333 0.000733333 0.00074 0.000733333 0.000713333 0.000713333 +0.00072 0.000726667 0.000726667 0.000753333 0.000746667 0.000713333 0.000733333 0.000746667 +0.00074 0.00074 0.000746667 0.000766667 0.00076 0.000753333 0.000766667 0.000786667 +0.000813333 0.00082 0.000806667 0.00078 0.000793333 0.00088 0.253867 0.320133 +0.28984 0.23304 0.253867 0.299307 0.359893 0.543579 0.749474 0.946526 +0.994041 0.981633 0.958526 0.948421 0.945895 0.950316 0.962947 0.980327 +0.992408 1.00318 1.00939 1.00873 1.00612 1.00743 1.00971 1.0218 +1.02702 1.01788 1.00873 1.00743 1.01135 1.0169 1.028 1.04563 +1.04106 0.971158 0.764 0.587789 0.469707 0.376933 0.367467 0.356107 +0.348533 0.359893 0.348533 0.316347 0.299307 0.297413 0.29552 0.314453 +0.350427 0.39776 0.407227 0.371253 0.339067 0.320133 0.3012 0.3012 +0.339067 0.354213 0.31256 0.28416 0.286053 0.276587 0.280373 0.314453 +0.344747 0.33528 0.299307 0.297413 0.31256 0.310667 0.3012 0.308773 +0.337173 0.365573 0.339067 0.31256 0.333387 0.337173 0.333387 0.350427 +0.350427 0.33528 0.30688 0.28984 0.287947 0.291733 0.297413 0.30688 +0.31256 0.3012 0.316347 0.339067 0.356107 0.371253 0.359893 0.339067 +0.325813 0.322027 0.325813 0.344747 0.339067 0.31256 0.30688 0.31824 +0.331493 0.337173 0.34096 0.35232 0.35232 0.35232 0.35232 0.371253 +0.401547 0.407227 0.412907 0.424267 0.45456 0.479173 0.458347 0.4148 +0.3864 0.36368 0.33528 0.303093 0.299307 0.308773 0.310667 0.293627 +0.291733 0.371253 0.435627 0.36368 0.27848 0.26712 0.26144 0.251973 +0.287947 0.508842 0.726737 0.947789 1.00318 1.00906 1.01396 1.01461 +1.01429 1.01494 1.0169 1.01951 1.01951 1.02147 1.0218 1.02245 +1.0218 1.02245 1.02473 1.02604 1.02669 1.02571 1.02571 1.02571 +1.02898 1.03257 1.03192 1.02278 1.01461 1.01592 1.02212 1.02669 +1.03061 1.03812 1.04269 1.04335 1.04204 1.04008 1.04008 1.04367 +1.044 1.044 1.04563 1.04988 1.0502 1.04596 1.04661 1.04596 +1.04661 1.04694 1.04563 1.04433 1.04563 1.04531 1.04629 1.05086 +1.0502 1.04727 1.04661 1.04857 1.04857 1.04629 1.04498 1.04531 +1.04759 1.04727 1.04367 1.04335 1.04367 1.04302 1.04237 1.04269 +1.04204 1.04269 1.04139 1.04204 1.04139 1.04171 1.03943 1.0391 +1.04106 1.0391 1.03976 1.04041 1.0391 1.04171 1.04041 1.03976 +1.03976 1.03976 1.03682 1.03388 1.03192 1.03094 1.03355 1.03453 +1.0329 1.0329 1.0342 1.0342 1.03486 1.03355 1.03322 1.03159 +1.03029 1.03322 1.03322 1.03192 1.03355 1.03322 1.03029 1.03224 +1.03486 1.03486 1.03649 1.0378 1.03747 1.03486 1.03682 1.03682 +1.03551 1.03649 1.03812 1.03878 1.0378 1.03812 1.0391 1.04073 +1.04041 1.03812 1.03878 1.03845 1.03584 1.03518 1.03486 1.03127 +1.03061 1.03192 1.03224 1.02931 1.02408 1.02441 1.02539 1.02049 +1.01494 1.00286 0.98098 0.917474 0.815158 0.690737 0.572632 0.469707 +0.339067 0.28984 0.276587 0.280373 0.28416 0.28984 0.3012 0.31256 +0.320133 0.33528 0.35232 0.358 0.354213 0.38072 0.43752 0.445093 +0.412907 0.40912 0.395867 0.36936 0.348533 0.33528 0.33528 0.358 +0.356107 0.320133 0.303093 0.299307 0.287947 0.28416 0.297413 0.29552 +0.286053 0.280373 0.27848 0.263333 0.265227 0.269013 0.27848 0.29552 +0.3012 0.291733 0.3012 0.325813 0.344747 0.36368 0.36368 0.358 +0.354213 0.350427 0.35232 0.36936 0.4148 0.508842 0.624421 0.856842 +1.03322 1.05118 1.01461 0.997959 0.997306 0.999265 1.00678 1.02343 +1.05804 1.25781 1.25477 1.05118 1.01527 1.00449 0.997306 0.993714 +0.987184 0.98 0.968 0.954737 0.949684 0.959789 0.982612 0.994367 +0.955368 0.784211 0.591579 0.428053 0.30688 0.3296 0.32392 0.2444 +0.000906667 0.00084 0.00078 0.000786667 0.0008 0.000793333 0.0008 0.0008 +0.00078 0.000733333 0.00076 0.000746667 0.00072 0.00076 0.000733333 0.00074 +0.000726667 0.000726667 0.00072 0.000733333 0.000733333 0.00074 0.00074 0.00074 +0.000766667 0.000753333 0.00072 0.00072 0.000726667 0.00074 0.00074 0.000733333 +0.000713333 0.000706667 0.000726667 0.000746667 0.00074 0.000726667 0.000726667 0.000713333 +0.00072 0.000713333 0.000713333 0.000726667 0.000746667 0.000753333 0.000753333 0.000746667 +0.000753333 0.000766667 0.000726667 0.000713333 0.000726667 0.00072 0.000706667 0.000713333 +0.00072 0.000706667 0.000706667 0.000713333 0.000713333 0.000693333 0.0007 0.00072 +0.000733333 0.000713333 0.000706667 0.00072 0.000733333 0.00074 0.000713333 0.000713333 +0.000706667 0.0007 0.0007 0.000713333 0.00072 0.000733333 0.000706667 0.000693333 +0.000713333 0.000726667 0.000733333 0.000733333 0.000726667 0.000733333 0.000713333 0.000713333 +0.000733333 0.000726667 0.000713333 0.00072 0.000746667 0.00074 0.000746667 0.00074 +0.00074 0.00074 0.000713333 0.000733333 0.000746667 0.00074 0.000746667 0.000746667 +0.00076 0.00076 0.000746667 0.00074 0.000753333 0.000766667 0.00076 0.000726667 +0.000713333 0.000726667 0.000726667 0.000753333 0.000766667 0.000753333 0.000753333 0.00076 +0.00076 0.000753333 0.000746667 0.00076 0.00076 0.00076 0.000733333 0.000753333 +0.000786667 0.000793333 0.0008 0.000793333 0.000826667 0.217893 0.304987 0.31824 +0.251973 0.234933 0.282267 0.322027 0.462133 0.644 0.867579 0.987837 +0.98849 0.967368 0.951579 0.946526 0.946526 0.954737 0.970526 0.985224 +0.99698 1.00645 1.01004 1.00678 1.00743 1.0071 1.00841 1.01755 +1.0218 1.01494 1.00841 1.00808 1.01494 1.02702 1.04335 1.0391 +0.974947 0.765895 0.582105 0.464027 0.36936 0.34664 0.342853 0.337173 +0.344747 0.371253 0.356107 0.308773 0.297413 0.29552 0.30688 0.339067 +0.36936 0.384507 0.354213 0.325813 0.32392 0.316347 0.303093 0.303093 +0.31824 0.316347 0.297413 0.282267 0.276587 0.274693 0.280373 0.299307 +0.322027 0.308773 0.27848 0.280373 0.29552 0.304987 0.297413 0.28984 +0.304987 0.34096 0.356107 0.344747 0.333387 0.308773 0.299307 0.30688 +0.320133 0.322027 0.310667 0.28984 0.28984 0.29552 0.304987 0.299307 +0.297413 0.320133 0.361787 0.384507 0.384507 0.36368 0.34096 0.34096 +0.339067 0.339067 0.37504 0.429947 0.395867 0.320133 0.308773 0.32392 +0.339067 0.354213 0.358 0.358 0.348533 0.344747 0.359893 0.382613 +0.3864 0.422373 0.506316 0.532842 0.553053 0.546105 0.510105 0.416693 +0.35232 0.34096 0.3296 0.299307 0.297413 0.316347 0.31824 0.308773 +0.327707 0.39208 0.395867 0.333387 0.29552 0.299307 0.297413 0.27848 +0.38072 0.622526 0.861895 0.996 1.01755 1.02082 1.0218 1.01984 +1.02016 1.02049 1.02212 1.02343 1.02278 1.02343 1.02473 1.02245 +1.01984 1.02016 1.02343 1.02441 1.02604 1.02669 1.02669 1.02604 +1.02865 1.03355 1.03388 1.02637 1.0182 1.01788 1.02245 1.02963 +1.03388 1.04041 1.04563 1.04531 1.04498 1.04302 1.04335 1.04596 +1.04335 1.04433 1.04759 1.05151 1.05216 1.04694 1.04727 1.04694 +1.04596 1.04922 1.04694 1.04335 1.04727 1.04727 1.04727 1.05184 +1.04955 1.04792 1.04792 1.04759 1.04727 1.04465 1.044 1.04335 +1.04563 1.04661 1.04269 1.04204 1.04335 1.04204 1.04335 1.04433 +1.04269 1.04269 1.04171 1.04008 1.04139 1.044 1.03943 1.03976 +1.04204 1.04041 1.04106 1.03878 1.03812 1.04041 1.0391 1.04008 +1.03845 1.03812 1.0342 1.03127 1.03094 1.03094 1.0342 1.03453 +1.03192 1.03388 1.03355 1.03127 1.03127 1.03061 1.03224 1.02833 +1.02833 1.03388 1.03388 1.03355 1.03355 1.0342 1.03094 1.03322 +1.03649 1.03649 1.03584 1.03682 1.03682 1.03747 1.0378 1.03486 +1.03584 1.03845 1.03845 1.03812 1.03943 1.04171 1.0391 1.03943 +1.0391 1.03649 1.03812 1.03878 1.0378 1.03878 1.03649 1.0342 +1.03388 1.03192 1.03159 1.02898 1.02571 1.02735 1.02604 1.02082 +1.01886 1.012 0.995347 0.952842 0.86 0.738105 0.613053 0.512 +0.361787 0.299307 0.299307 0.314453 0.32392 0.32392 0.316347 0.308773 +0.31256 0.31824 0.316347 0.331493 0.361787 0.401547 0.4716 0.484853 +0.45456 0.439413 0.411013 0.3864 0.376933 0.344747 0.322027 0.320133 +0.316347 0.299307 0.291733 0.286053 0.27848 0.280373 0.297413 0.293627 +0.28416 0.282267 0.28416 0.26712 0.263333 0.274693 0.28984 0.30688 +0.299307 0.297413 0.304987 0.320133 0.337173 0.34664 0.34096 0.33528 +0.3296 0.331493 0.339067 0.367467 0.407227 0.458347 0.546105 0.711579 +0.969263 1.05249 1.0342 1.00482 0.998286 0.997959 1.00416 1.01722 +1.04139 1.18021 1.29585 1.12847 1.02506 1.00678 0.999592 0.996327 +0.993061 0.984898 0.975579 0.964211 0.954105 0.951579 0.962316 0.983918 +0.989796 0.911158 0.720421 0.543579 0.348533 0.310667 0.348533 0.299307 +0.000993333 0.000826667 0.000793333 0.0008 0.000793333 0.00078 0.000786667 0.000793333 +0.000773333 0.000753333 0.000793333 0.000773333 0.000753333 0.000786667 0.00076 0.00074 +0.000726667 0.000746667 0.000753333 0.000746667 0.000733333 0.000733333 0.000733333 0.000726667 +0.000753333 0.00074 0.00072 0.000706667 0.000713333 0.000733333 0.000726667 0.00072 +0.0007 0.000706667 0.000733333 0.000726667 0.000706667 0.000706667 0.000706667 0.000706667 +0.000713333 0.000693333 0.000706667 0.00074 0.00074 0.000746667 0.000726667 0.00072 +0.000733333 0.000746667 0.000726667 0.000726667 0.000713333 0.000726667 0.000706667 0.0007 +0.000733333 0.00072 0.0007 0.00072 0.000733333 0.000746667 0.00072 0.00072 +0.000733333 0.000726667 0.00072 0.000733333 0.00074 0.000746667 0.000746667 0.000726667 +0.000726667 0.00074 0.000726667 0.00072 0.000713333 0.000733333 0.000726667 0.00072 +0.00072 0.0007 0.0007 0.000706667 0.000713333 0.000726667 0.00072 0.000713333 +0.000733333 0.000726667 0.000713333 0.000713333 0.000733333 0.00074 0.000746667 0.000746667 +0.000746667 0.000746667 0.00072 0.00072 0.00074 0.00074 0.000746667 0.000753333 +0.000746667 0.000766667 0.000746667 0.000726667 0.000733333 0.00076 0.000746667 0.000733333 +0.000726667 0.00072 0.000726667 0.000733333 0.000746667 0.00074 0.000766667 0.00076 +0.00076 0.000766667 0.000773333 0.000786667 0.000793333 0.000793333 0.00076 0.000773333 +0.000793333 0.00078 0.000793333 0.000813333 0.000906667 0.26712 0.32392 0.274693 +0.225467 0.259547 0.308773 0.36936 0.556211 0.766526 0.956 0.992735 +0.978737 0.957263 0.947789 0.944632 0.949053 0.960421 0.976842 0.988163 +1.0009 1.00808 1.00808 1.0071 1.00808 1.00482 1.00482 1.01069 +1.01559 1.01331 1.00971 1.01037 1.02016 1.03518 1.03551 0.98 +0.772211 0.586526 0.467813 0.373147 0.354213 0.35232 0.34096 0.3296 +0.344747 0.376933 0.350427 0.297413 0.291733 0.3012 0.314453 0.325813 +0.337173 0.34096 0.32392 0.31824 0.31824 0.308773 0.3012 0.299307 +0.287947 0.274693 0.27848 0.270907 0.270907 0.282267 0.282267 0.28984 +0.303093 0.30688 0.293627 0.28416 0.280373 0.29552 0.304987 0.3012 +0.3012 0.3296 0.361787 0.354213 0.31256 0.293627 0.282267 0.287947 +0.304987 0.31256 0.316347 0.304987 0.28984 0.282267 0.293627 0.297413 +0.29552 0.32392 0.356107 0.358 0.35232 0.331493 0.310667 0.31824 +0.34096 0.382613 0.479173 0.517684 0.450773 0.339067 0.31824 0.331493 +0.36936 0.382613 0.358 0.342853 0.342853 0.359893 0.37504 0.382613 +0.3864 0.43184 0.507579 0.537895 0.554947 0.532211 0.4716 0.384507 +0.342853 0.331493 0.3296 0.32392 0.327707 0.325813 0.320133 0.342853 +0.401547 0.43184 0.384507 0.344747 0.339067 0.337173 0.320133 0.314453 +0.536 0.764632 0.964211 1.01494 1.02865 1.02931 1.02833 1.02898 +1.03029 1.028 1.02571 1.02506 1.02343 1.0218 1.0231 1.02212 +1.02016 1.01918 1.02147 1.02245 1.02278 1.02604 1.02931 1.02702 +1.028 1.03224 1.03094 1.02473 1.01788 1.0182 1.02473 1.03322 +1.03714 1.04237 1.04824 1.04661 1.04433 1.04204 1.04465 1.0489 +1.04498 1.04498 1.04824 1.05151 1.05347 1.04824 1.04563 1.04531 +1.04433 1.04498 1.04465 1.04269 1.04727 1.04824 1.04596 1.05053 +1.04988 1.0489 1.04824 1.04596 1.04531 1.044 1.04465 1.04498 +1.04563 1.04531 1.04335 1.04171 1.04237 1.04008 1.04073 1.04498 +1.04531 1.04433 1.04302 1.04139 1.04204 1.04204 1.03878 1.04041 +1.04139 1.03976 1.03943 1.03714 1.03747 1.03845 1.03845 1.03845 +1.03714 1.0378 1.03322 1.03094 1.03127 1.03029 1.03322 1.03322 +1.02996 1.03192 1.03192 1.02996 1.02865 1.02931 1.03192 1.02898 +1.02833 1.0329 1.03388 1.03322 1.03224 1.03355 1.03322 1.03518 +1.03584 1.03649 1.03518 1.03682 1.03682 1.03845 1.03747 1.03388 +1.0378 1.03747 1.03714 1.03943 1.04139 1.04171 1.03878 1.03845 +1.03812 1.03747 1.03812 1.0378 1.0391 1.04106 1.03878 1.03714 +1.03682 1.03388 1.03159 1.02898 1.02963 1.03159 1.02833 1.02441 +1.02278 1.01788 1.00449 0.977474 0.899789 0.789895 0.666105 0.552421 +0.433733 0.331493 0.30688 0.320133 0.344747 0.36368 0.34664 0.322027 +0.316347 0.310667 0.299307 0.31256 0.337173 0.359893 0.399653 0.40344 +0.371253 0.361787 0.34096 0.344747 0.34664 0.316347 0.297413 0.291733 +0.287947 0.27848 0.270907 0.269013 0.276587 0.28984 0.297413 0.291733 +0.282267 0.282267 0.286053 0.27848 0.27848 0.28416 0.29552 0.316347 +0.32392 0.314453 0.314453 0.325813 0.34096 0.356107 0.350427 0.3296 +0.310667 0.314453 0.34664 0.373147 0.384507 0.40912 0.496213 0.597263 +0.824632 1.02735 1.05445 1.01918 1.00188 0.998939 1.00318 1.01298 +1.02865 1.0813 1.2715 1.22433 1.04106 1.00971 1.0009 0.997633 +0.99698 0.991755 0.982939 0.970526 0.959789 0.953474 0.953474 0.968632 +0.988816 0.981306 0.856842 0.659158 0.503158 0.327707 0.33528 0.333387 +0.265227 0.000906667 0.000833333 0.00082 0.000793333 0.00078 0.000806667 0.000806667 +0.000766667 0.000766667 0.000793333 0.000766667 0.00076 0.000786667 0.000766667 0.00076 +0.000753333 0.000746667 0.000746667 0.000746667 0.00074 0.00074 0.000733333 0.000713333 +0.000706667 0.000706667 0.000713333 0.00072 0.000713333 0.000726667 0.000726667 0.00072 +0.00072 0.000733333 0.000726667 0.000726667 0.000733333 0.000726667 0.00072 0.000706667 +0.0007 0.000713333 0.000746667 0.000766667 0.000746667 0.00074 0.000733333 0.000726667 +0.000733333 0.00072 0.000746667 0.00076 0.0007 0.00072 0.00074 0.00074 +0.000753333 0.000746667 0.00072 0.000733333 0.000726667 0.00072 0.00072 0.000733333 +0.00074 0.000746667 0.000733333 0.000733333 0.000726667 0.00074 0.00076 0.000726667 +0.000706667 0.000713333 0.00074 0.000746667 0.000733333 0.00072 0.000713333 0.000726667 +0.00074 0.000733333 0.00074 0.000713333 0.000686667 0.000713333 0.000693333 0.000693333 +0.000713333 0.00072 0.000713333 0.000713333 0.000733333 0.000746667 0.000753333 0.000753333 +0.000753333 0.000753333 0.000733333 0.000713333 0.000706667 0.00072 0.00072 0.000726667 +0.000733333 0.000753333 0.000753333 0.00074 0.00074 0.000753333 0.000726667 0.000713333 +0.000733333 0.000746667 0.000726667 0.000726667 0.000713333 0.000706667 0.00074 0.000746667 +0.00074 0.000753333 0.000766667 0.000786667 0.000806667 0.0008 0.000773333 0.00078 +0.0008 0.000793333 0.000806667 0.000853333 0.225467 0.31256 0.310667 0.234933 +0.23304 0.291733 0.331493 0.479173 0.660421 0.884 0.991429 0.989469 +0.969895 0.955368 0.947158 0.944 0.951579 0.967368 0.981959 0.992408 +1.00449 1.00906 1.00645 1.00873 1.00808 1.00416 1.0022 1.00514 +1.01135 1.01298 1.01069 1.01396 1.02669 1.028 0.981959 0.786105 +0.587789 0.462133 0.373147 0.34664 0.344747 0.359893 0.356107 0.342853 +0.359893 0.388293 0.348533 0.299307 0.29552 0.3012 0.303093 0.299307 +0.303093 0.32392 0.322027 0.316347 0.314453 0.303093 0.29552 0.304987 +0.28984 0.280373 0.270907 0.259547 0.26712 0.27848 0.291733 0.293627 +0.28984 0.299307 0.308773 0.3012 0.28416 0.297413 0.31256 0.304987 +0.303093 0.32392 0.365573 0.373147 0.327707 0.304987 0.293627 0.293627 +0.303093 0.31256 0.32392 0.325813 0.304987 0.280373 0.280373 0.28984 +0.28984 0.304987 0.32392 0.32392 0.320133 0.31824 0.304987 0.303093 +0.320133 0.36936 0.467813 0.507579 0.416693 0.327707 0.31824 0.339067 +0.401547 0.40344 0.348533 0.327707 0.337173 0.378827 0.401547 0.390187 +0.390187 0.407227 0.405333 0.43184 0.484853 0.44888 0.40344 0.39208 +0.36936 0.325813 0.310667 0.3296 0.35232 0.350427 0.361787 0.416693 +0.469707 0.441307 0.38072 0.367467 0.373147 0.36368 0.34096 0.456453 +0.657263 0.889053 1.00122 1.02408 1.03355 1.03388 1.03486 1.03682 +1.03649 1.0329 1.02996 1.02702 1.02441 1.02114 1.02082 1.01918 +1.01755 1.01527 1.01886 1.0231 1.02114 1.02245 1.02767 1.02767 +1.02669 1.02702 1.02376 1.01788 1.01396 1.01918 1.028 1.03682 +1.04139 1.04367 1.04792 1.04694 1.04367 1.04008 1.04335 1.04955 +1.04759 1.04792 1.04988 1.05118 1.05445 1.04988 1.04465 1.044 +1.04433 1.04465 1.04335 1.04106 1.04759 1.04955 1.04335 1.04629 +1.04988 1.04988 1.0489 1.04661 1.04465 1.044 1.04629 1.04759 +1.04792 1.04661 1.04171 1.04041 1.04269 1.04106 1.04041 1.04433 +1.04465 1.04269 1.04269 1.04465 1.04498 1.04139 1.03943 1.04171 +1.04008 1.0378 1.03812 1.03714 1.03878 1.03976 1.0391 1.03682 +1.03551 1.03518 1.02963 1.02996 1.03094 1.02963 1.03127 1.03159 +1.03029 1.03127 1.03094 1.02865 1.02735 1.028 1.03127 1.03061 +1.03029 1.03159 1.03192 1.0329 1.03192 1.03355 1.03584 1.03551 +1.0342 1.0342 1.03584 1.03878 1.03747 1.0378 1.03584 1.03355 +1.03845 1.03878 1.04008 1.04171 1.04171 1.04139 1.04171 1.04008 +1.03747 1.03649 1.0378 1.03976 1.04041 1.03943 1.03714 1.03682 +1.03551 1.03453 1.03322 1.02996 1.02931 1.02931 1.02767 1.02735 +1.02571 1.0218 1.01461 0.996327 0.946526 0.848632 0.726737 0.608 +0.515789 0.36936 0.299307 0.297413 0.320133 0.34664 0.359893 0.350427 +0.333387 0.314453 0.304987 0.32392 0.34096 0.350427 0.354213 0.32392 +0.291733 0.28984 0.308773 0.31824 0.310667 0.293627 0.280373 0.276587 +0.274693 0.270907 0.270907 0.269013 0.28416 0.297413 0.304987 0.299307 +0.303093 0.320133 0.34096 0.331493 0.3012 0.280373 0.286053 0.314453 +0.33528 0.316347 0.308773 0.325813 0.34664 0.367467 0.359893 0.33528 +0.32392 0.3296 0.359893 0.37504 0.361787 0.36936 0.418587 0.526526 +0.687579 0.958526 1.05347 1.03714 1.00873 0.999918 1.0009 1.00776 +1.01755 1.044 1.20455 1.2852 1.06761 1.01624 1.00514 1.0022 +0.999592 0.996653 0.986531 0.972421 0.963579 0.959789 0.953474 0.954737 +0.974947 0.989469 0.959789 0.801895 0.59979 0.416693 0.322027 0.337173 +0.31824 0.231147 0.000873333 0.000833333 0.000813333 0.00078 0.0008 0.0008 +0.00076 0.000773333 0.000786667 0.000753333 0.000726667 0.000753333 0.00076 0.000773333 +0.000753333 0.000726667 0.000733333 0.00074 0.000753333 0.00076 0.00076 0.00074 +0.000746667 0.00072 0.00072 0.00072 0.000706667 0.00074 0.000733333 0.00074 +0.00074 0.000733333 0.000746667 0.000746667 0.000766667 0.000753333 0.000733333 0.000726667 +0.00074 0.00076 0.00076 0.000753333 0.00074 0.00074 0.000733333 0.00076 +0.000753333 0.00076 0.000766667 0.000726667 0.000726667 0.000713333 0.00072 0.00072 +0.000733333 0.00074 0.000733333 0.000746667 0.00074 0.00072 0.000713333 0.000713333 +0.000726667 0.000726667 0.000726667 0.00074 0.000733333 0.000713333 0.000733333 0.00074 +0.00074 0.000726667 0.000713333 0.00074 0.000753333 0.000753333 0.000726667 0.00074 +0.000746667 0.000733333 0.000746667 0.000753333 0.000733333 0.000733333 0.00074 0.000713333 +0.000706667 0.000706667 0.000713333 0.000706667 0.00072 0.000733333 0.000726667 0.000726667 +0.00072 0.00072 0.00072 0.000706667 0.000706667 0.000726667 0.00074 0.000733333 +0.00072 0.000733333 0.000726667 0.000706667 0.000733333 0.000746667 0.000733333 0.00074 +0.000733333 0.00074 0.000746667 0.000746667 0.00074 0.000713333 0.000733333 0.00074 +0.00074 0.00074 0.000746667 0.000786667 0.00082 0.000813333 0.000773333 0.000773333 +0.000773333 0.00078 0.000806667 0.000926667 0.276587 0.32392 0.2728 0.219787 +0.263333 0.327707 0.393973 0.569474 0.786105 0.967368 0.995673 0.981959 +0.964842 0.958526 0.951579 0.947789 0.957895 0.973684 0.984571 0.996653 +1.00743 1.01037 1.01004 1.00808 1.00449 1.0009 1.0009 1.00416 +1.01037 1.01298 1.01265 1.01788 1.02016 0.983918 0.811368 0.611158 +0.475387 0.36368 0.339067 0.32392 0.325813 0.342853 0.34664 0.354213 +0.39776 0.412907 0.342853 0.297413 0.287947 0.28416 0.287947 0.28984 +0.3012 0.316347 0.320133 0.320133 0.31256 0.299307 0.286053 0.287947 +0.28984 0.286053 0.276587 0.269013 0.265227 0.270907 0.286053 0.29552 +0.291733 0.297413 0.316347 0.308773 0.291733 0.299307 0.299307 0.28984 +0.293627 0.32392 0.384507 0.40912 0.35232 0.314453 0.297413 0.293627 +0.308773 0.322027 0.322027 0.333387 0.337173 0.320133 0.303093 0.299307 +0.299307 0.299307 0.310667 0.320133 0.322027 0.322027 0.30688 0.29552 +0.303093 0.3296 0.3864 0.407227 0.36368 0.322027 0.320133 0.337173 +0.39208 0.395867 0.34664 0.33528 0.344747 0.384507 0.441307 0.435627 +0.422373 0.422373 0.378827 0.371253 0.418587 0.399653 0.36936 0.38072 +0.373147 0.337173 0.310667 0.34664 0.393973 0.405333 0.424267 0.458347 +0.46592 0.4148 0.359893 0.348533 0.354213 0.35232 0.39776 0.577053 +0.798105 0.974316 1.01527 1.02865 1.03616 1.0391 1.04041 1.04139 +1.03943 1.03649 1.03453 1.03061 1.02702 1.02278 1.02082 1.01918 +1.01788 1.01527 1.01624 1.02147 1.02049 1.01951 1.02278 1.02506 +1.02539 1.02571 1.02343 1.0169 1.01331 1.01984 1.03094 1.04008 +1.04531 1.04563 1.04661 1.04498 1.04335 1.04139 1.04367 1.04955 +1.0489 1.0489 1.05053 1.0489 1.0502 1.04792 1.04596 1.04792 +1.04629 1.04531 1.044 1.04139 1.04694 1.05118 1.04727 1.04759 +1.05053 1.04759 1.04727 1.04596 1.04531 1.04563 1.04563 1.04629 +1.04694 1.04661 1.04171 1.04139 1.04302 1.04139 1.04269 1.04335 +1.04204 1.04237 1.04139 1.04171 1.04367 1.04269 1.04073 1.04302 +1.04171 1.03845 1.03845 1.03812 1.03812 1.03878 1.03682 1.03453 +1.03486 1.03224 1.02506 1.02539 1.02865 1.02931 1.03061 1.02996 +1.02898 1.02996 1.02996 1.02931 1.03029 1.03192 1.02963 1.02898 +1.03094 1.03127 1.0342 1.03388 1.03159 1.03192 1.03486 1.03616 +1.03551 1.03518 1.03714 1.04041 1.03943 1.03845 1.03453 1.03453 +1.0378 1.0391 1.04302 1.04498 1.04237 1.04041 1.04041 1.03976 +1.0391 1.03714 1.0378 1.04139 1.04171 1.03878 1.03682 1.03616 +1.03388 1.03453 1.03518 1.03322 1.03159 1.02898 1.02767 1.02931 +1.02735 1.02441 1.02114 1.01004 0.984898 0.906737 0.790526 0.668632 +0.558105 0.42048 0.314453 0.304987 0.31256 0.325813 0.361787 0.388293 +0.371253 0.32392 0.31256 0.3296 0.339067 0.344747 0.3296 0.3012 +0.287947 0.286053 0.304987 0.32392 0.308773 0.28984 0.2728 0.263333 +0.2728 0.27848 0.27848 0.27848 0.303093 0.32392 0.316347 0.310667 +0.31256 0.350427 0.40912 0.401547 0.339067 0.304987 0.297413 0.310667 +0.331493 0.320133 0.3012 0.314453 0.339067 0.371253 0.376933 0.35232 +0.34664 0.348533 0.359893 0.36936 0.359893 0.361787 0.388293 0.46592 +0.581474 0.813263 1.02441 1.05543 1.02408 1.00318 1.00024 1.00482 +1.01102 1.02833 1.11021 1.2852 1.16499 1.02898 1.00971 1.00645 +1.00188 1.00024 0.993061 0.981306 0.969263 0.962316 0.952842 0.947158 +0.957895 0.982286 0.989143 0.918737 0.730526 0.544842 0.356107 0.316347 +0.339067 0.280373 0.000946667 0.000853333 0.000833333 0.00078 0.00076 0.000773333 +0.00078 0.0008 0.000793333 0.000746667 0.000746667 0.000766667 0.000766667 0.00076 +0.00074 0.000726667 0.00074 0.000746667 0.000733333 0.000733333 0.000713333 0.00074 +0.00076 0.000726667 0.00072 0.00074 0.000733333 0.00074 0.000726667 0.000733333 +0.00074 0.000746667 0.000753333 0.00074 0.00074 0.00074 0.000746667 0.000746667 +0.00074 0.00074 0.00074 0.00074 0.00072 0.00072 0.00074 0.00076 +0.000726667 0.000726667 0.000713333 0.000713333 0.00074 0.000726667 0.00072 0.00072 +0.0007 0.000693333 0.000713333 0.000733333 0.000733333 0.000726667 0.000726667 0.000713333 +0.000726667 0.000733333 0.000726667 0.000733333 0.000746667 0.00074 0.000726667 0.00072 +0.000726667 0.000733333 0.000733333 0.000726667 0.000726667 0.000733333 0.000726667 0.000726667 +0.000733333 0.000746667 0.00072 0.00072 0.000726667 0.00072 0.000746667 0.000746667 +0.00072 0.000713333 0.0007 0.000713333 0.00072 0.00072 0.000713333 0.000726667 +0.00072 0.000713333 0.00072 0.000713333 0.0007 0.000733333 0.000746667 0.00076 +0.000733333 0.00072 0.000726667 0.0007 0.000713333 0.00072 0.000733333 0.000746667 +0.000726667 0.00074 0.000746667 0.00076 0.000753333 0.000726667 0.000746667 0.000766667 +0.000773333 0.00076 0.000753333 0.000773333 0.000813333 0.000826667 0.0008 0.0008 +0.000786667 0.0008 0.000846667 0.23304 0.322027 0.314453 0.240613 0.240613 +0.303093 0.35232 0.506947 0.681263 0.903579 0.994367 0.990122 0.968 +0.956632 0.957263 0.952211 0.952842 0.968632 0.981306 0.98751 0.998939 +1.00873 1.01167 1.01037 1.0071 1.00155 0.99698 0.998939 1.00318 +1.00776 1.01037 1.01298 1.01167 0.984898 0.842947 0.646526 0.510737 +0.384507 0.348533 0.333387 0.31824 0.31256 0.316347 0.322027 0.358 +0.428053 0.424267 0.33528 0.28984 0.287947 0.287947 0.28984 0.297413 +0.308773 0.31256 0.320133 0.320133 0.303093 0.287947 0.28416 0.286053 +0.28984 0.287947 0.276587 0.265227 0.269013 0.2728 0.280373 0.297413 +0.297413 0.291733 0.31256 0.31256 0.293627 0.28984 0.287947 0.287947 +0.297413 0.333387 0.411013 0.42616 0.35232 0.31824 0.29552 0.287947 +0.299307 0.30688 0.314453 0.333387 0.367467 0.36936 0.339067 0.322027 +0.331493 0.342853 0.34096 0.327707 0.31824 0.314453 0.304987 0.293627 +0.3012 0.320133 0.350427 0.378827 0.359893 0.327707 0.322027 0.339067 +0.3864 0.39208 0.350427 0.358 0.39208 0.445093 0.503789 0.49432 +0.441307 0.405333 0.361787 0.376933 0.43752 0.407227 0.358 0.348533 +0.344747 0.337173 0.348533 0.4148 0.450773 0.418587 0.40912 0.418587 +0.429947 0.4148 0.38072 0.34664 0.33528 0.365573 0.515158 0.698947 +0.912421 1.00057 1.0218 1.03127 1.03747 1.04008 1.04008 1.04171 +1.04139 1.03943 1.03845 1.03551 1.03061 1.02669 1.02571 1.02604 +1.02473 1.02016 1.01624 1.01755 1.01788 1.01624 1.01886 1.01951 +1.0218 1.02376 1.02376 1.02147 1.01886 1.02212 1.03094 1.03943 +1.044 1.04498 1.04596 1.04367 1.04335 1.04367 1.04367 1.0489 +1.04824 1.04824 1.05053 1.04596 1.04563 1.04531 1.04563 1.04792 +1.04694 1.04596 1.04563 1.04335 1.04629 1.04922 1.04824 1.04955 +1.05184 1.04857 1.04694 1.04563 1.04694 1.04661 1.04269 1.04237 +1.04563 1.04727 1.04465 1.04498 1.04465 1.04269 1.044 1.04335 +1.04204 1.04171 1.04008 1.04008 1.04171 1.04204 1.04008 1.04008 +1.0391 1.03682 1.03976 1.04073 1.03747 1.03812 1.0378 1.03257 +1.03061 1.03061 1.02571 1.02376 1.02637 1.02931 1.03029 1.02898 +1.02931 1.02833 1.02898 1.02931 1.03159 1.03388 1.02898 1.02833 +1.03127 1.03224 1.03453 1.0329 1.03192 1.03094 1.03453 1.03682 +1.03682 1.03649 1.03616 1.03845 1.03976 1.0378 1.03518 1.03747 +1.0378 1.03845 1.04237 1.04335 1.04269 1.03976 1.0378 1.03747 +1.03845 1.0378 1.04073 1.044 1.04269 1.03976 1.0378 1.03682 +1.03551 1.03649 1.03714 1.03551 1.03388 1.02996 1.02996 1.03061 +1.028 1.02637 1.02506 1.01886 1.00188 0.956632 0.848632 0.722947 +0.597263 0.500632 0.36368 0.320133 0.314453 0.3296 0.367467 0.43184 +0.456453 0.401547 0.359893 0.34664 0.33528 0.33528 0.32392 0.303093 +0.291733 0.287947 0.3012 0.316347 0.303093 0.27848 0.263333 0.26712 +0.274693 0.2728 0.280373 0.274693 0.3012 0.316347 0.304987 0.299307 +0.299307 0.337173 0.388293 0.378827 0.3296 0.31824 0.303093 0.310667 +0.339067 0.34096 0.31256 0.31256 0.354213 0.399653 0.401547 0.36368 +0.350427 0.34664 0.34096 0.350427 0.35232 0.354213 0.371253 0.416693 +0.520211 0.681895 0.959789 1.05967 1.04792 1.01429 1.00351 1.00286 +1.00612 1.01788 1.05118 1.23955 1.24564 1.04759 1.01429 1.01004 +1.00678 1.00482 0.998939 0.986857 0.976211 0.967368 0.959158 0.948421 +0.947158 0.961684 0.984245 0.981633 0.865053 0.661684 0.501895 0.32392 +0.333387 0.331493 0.253867 0.00092 0.000873333 0.000806667 0.000766667 0.000793333 +0.000813333 0.000806667 0.00078 0.000766667 0.000793333 0.000786667 0.00076 0.000753333 +0.00076 0.000746667 0.000746667 0.000733333 0.000726667 0.000726667 0.00072 0.00074 +0.000753333 0.000713333 0.000746667 0.000746667 0.00074 0.00076 0.00074 0.00074 +0.000766667 0.000753333 0.000733333 0.000726667 0.000726667 0.000733333 0.000733333 0.000726667 +0.0007 0.000713333 0.000726667 0.000713333 0.00072 0.00074 0.000746667 0.00074 +0.00072 0.000706667 0.00072 0.000733333 0.00074 0.000746667 0.000733333 0.00074 +0.000726667 0.000686667 0.000693333 0.0007 0.000706667 0.000733333 0.000726667 0.000713333 +0.000726667 0.000733333 0.000726667 0.00072 0.000713333 0.00072 0.000733333 0.000746667 +0.00074 0.00074 0.000753333 0.000733333 0.00072 0.000726667 0.00072 0.0007 +0.0007 0.000713333 0.000713333 0.0007 0.000693333 0.000686667 0.000713333 0.000726667 +0.00072 0.000733333 0.00074 0.000733333 0.00072 0.000713333 0.000693333 0.00072 +0.00074 0.00074 0.00074 0.000733333 0.000706667 0.0007 0.000713333 0.000726667 +0.000726667 0.000733333 0.000746667 0.000733333 0.000733333 0.000733333 0.000726667 0.00074 +0.00072 0.000733333 0.000753333 0.00076 0.000766667 0.000746667 0.00074 0.000753333 +0.00078 0.000786667 0.00076 0.00074 0.000766667 0.000786667 0.000793333 0.000806667 +0.000826667 0.00084 0.00094 0.27848 0.32392 0.269013 0.231147 0.280373 +0.331493 0.401547 0.584 0.806947 0.978105 0.99502 0.98098 0.957895 +0.948421 0.950316 0.949053 0.957263 0.977474 0.986204 0.992082 1.0022 +1.00971 1.01102 1.00906 1.00645 1.00057 0.996327 0.998286 1.0009 +1.00188 1.00318 1.00384 0.985551 0.872632 0.693895 0.540421 0.407227 +0.361787 0.348533 0.331493 0.31824 0.310667 0.303093 0.310667 0.358 +0.441307 0.43184 0.327707 0.28416 0.282267 0.287947 0.28984 0.291733 +0.308773 0.320133 0.3296 0.316347 0.291733 0.27848 0.274693 0.282267 +0.29552 0.299307 0.286053 0.276587 0.27848 0.27848 0.28984 0.310667 +0.31824 0.31256 0.322027 0.310667 0.282267 0.270907 0.269013 0.27848 +0.29552 0.342853 0.441307 0.446987 0.34664 0.29552 0.286053 0.28416 +0.286053 0.3012 0.316347 0.348533 0.38072 0.390187 0.376933 0.365573 +0.382613 0.40912 0.39208 0.34664 0.31824 0.31256 0.304987 0.303093 +0.303093 0.31256 0.339067 0.37504 0.373147 0.333387 0.320133 0.339067 +0.378827 0.390187 0.358 0.367467 0.422373 0.501263 0.527158 0.524 +0.467813 0.36368 0.34664 0.411013 0.462133 0.411013 0.36368 0.354213 +0.354213 0.354213 0.384507 0.464027 0.4716 0.39208 0.359893 0.367467 +0.393973 0.40344 0.390187 0.367467 0.354213 0.422373 0.602947 0.821474 +0.981959 1.01135 1.02408 1.03224 1.03616 1.03845 1.03878 1.04139 +1.04269 1.04041 1.04073 1.04106 1.03747 1.03453 1.03453 1.03355 +1.03224 1.02833 1.0231 1.02016 1.01788 1.01396 1.01363 1.01461 +1.0169 1.02114 1.02278 1.0231 1.02408 1.02637 1.03061 1.03649 +1.04073 1.04367 1.04531 1.04335 1.04302 1.04367 1.04367 1.04857 +1.04857 1.0489 1.05118 1.04694 1.04563 1.04759 1.04661 1.04759 +1.04792 1.04824 1.04727 1.04237 1.04531 1.0489 1.04694 1.04661 +1.04955 1.04857 1.04824 1.04727 1.04857 1.04661 1.03943 1.0391 +1.04661 1.04857 1.04433 1.04204 1.04302 1.04073 1.04106 1.04465 +1.04531 1.04269 1.04041 1.04269 1.04269 1.03943 1.03943 1.03943 +1.0378 1.03747 1.04008 1.04008 1.03682 1.03714 1.03388 1.028 +1.02571 1.02702 1.02376 1.02343 1.02604 1.02898 1.03094 1.02898 +1.02898 1.02931 1.02865 1.02963 1.03224 1.03322 1.03159 1.03159 +1.03224 1.03388 1.03486 1.03127 1.03192 1.0329 1.03486 1.03682 +1.03649 1.03584 1.03649 1.03649 1.03845 1.0378 1.03714 1.03714 +1.03682 1.04106 1.04302 1.04106 1.03976 1.0378 1.03747 1.03812 +1.03747 1.03976 1.044 1.04465 1.04335 1.04269 1.04041 1.0378 +1.03747 1.0378 1.0378 1.03584 1.03355 1.03061 1.03127 1.03061 +1.02898 1.02963 1.02963 1.02604 1.01494 0.988816 0.904842 0.784211 +0.650947 0.541684 0.424267 0.3296 0.31824 0.33528 0.35232 0.422373 +0.505684 0.481067 0.382613 0.34664 0.342853 0.342853 0.327707 0.30688 +0.291733 0.297413 0.314453 0.303093 0.28416 0.2728 0.265227 0.26712 +0.274693 0.280373 0.286053 0.28984 0.27848 0.287947 0.286053 0.28416 +0.286053 0.303093 0.33528 0.327707 0.299307 0.28984 0.287947 0.29552 +0.333387 0.34664 0.31824 0.322027 0.367467 0.405333 0.393973 0.34664 +0.3296 0.327707 0.327707 0.333387 0.339067 0.344747 0.365573 0.39208 +0.46592 0.584632 0.824632 1.03453 1.09956 1.03224 1.0071 1.00057 +1.00122 1.01102 1.03714 1.16347 1.27455 1.09043 1.02245 1.01363 +1.01069 1.0058 1.00122 0.992735 0.984571 0.977474 0.966737 0.954105 +0.945263 0.950947 0.969895 0.989143 0.960421 0.798737 0.597895 0.429947 +0.333387 0.34096 0.299307 0.000993333 0.000866667 0.000813333 0.000793333 0.0008 +0.0008 0.0008 0.000773333 0.000773333 0.00078 0.000766667 0.00078 0.000773333 +0.000766667 0.000746667 0.00074 0.000726667 0.00072 0.00074 0.00074 0.000726667 +0.00074 0.00072 0.00074 0.000746667 0.00074 0.000753333 0.000726667 0.00072 +0.000733333 0.00072 0.000706667 0.0007 0.00072 0.000713333 0.00072 0.000706667 +0.0007 0.000713333 0.00074 0.000726667 0.00072 0.000713333 0.000713333 0.000713333 +0.000713333 0.000726667 0.000713333 0.0007 0.000713333 0.00074 0.00074 0.00074 +0.00074 0.000733333 0.000713333 0.0007 0.000706667 0.00072 0.000713333 0.000706667 +0.000713333 0.00072 0.000706667 0.000706667 0.00072 0.00072 0.000726667 0.000733333 +0.00074 0.00074 0.000753333 0.00074 0.000713333 0.000713333 0.000713333 0.000706667 +0.000706667 0.000706667 0.00072 0.00072 0.000733333 0.00072 0.000726667 0.000726667 +0.0007 0.000713333 0.00074 0.000746667 0.000726667 0.000713333 0.000706667 0.0007 +0.00072 0.000733333 0.000733333 0.00074 0.000733333 0.000733333 0.00074 0.000726667 +0.000713333 0.000733333 0.000746667 0.00074 0.000746667 0.00074 0.000733333 0.000733333 +0.00072 0.00072 0.000746667 0.000766667 0.00076 0.000746667 0.000733333 0.00074 +0.00076 0.000773333 0.000766667 0.000746667 0.00078 0.000793333 0.00078 0.000806667 +0.000826667 0.00088 0.240613 0.31256 0.291733 0.23304 0.251973 0.308773 +0.339067 0.508842 0.696421 0.913684 0.992735 0.985224 0.966737 0.953474 +0.946526 0.947789 0.949684 0.963579 0.982612 0.989143 0.996653 1.00645 +1.00906 1.00678 1.00482 1.00155 0.997959 0.995673 0.99698 0.997959 +0.996653 0.992735 0.981306 0.897895 0.741263 0.582737 0.462133 0.36368 +0.350427 0.34096 0.327707 0.320133 0.31256 0.304987 0.308773 0.348533 +0.441307 0.435627 0.333387 0.286053 0.282267 0.291733 0.291733 0.293627 +0.29552 0.31824 0.333387 0.31824 0.3012 0.286053 0.274693 0.274693 +0.29552 0.304987 0.297413 0.28416 0.27848 0.27848 0.28984 0.30688 +0.337173 0.382613 0.3864 0.32392 0.282267 0.2728 0.269013 0.27848 +0.28984 0.344747 0.467813 0.467813 0.350427 0.287947 0.28984 0.293627 +0.28416 0.3012 0.331493 0.36368 0.37504 0.390187 0.418587 0.439413 +0.473493 0.48864 0.441307 0.367467 0.3296 0.325813 0.327707 0.322027 +0.316347 0.3296 0.339067 0.361787 0.395867 0.361787 0.320133 0.327707 +0.36368 0.395867 0.376933 0.358 0.3864 0.441307 0.484853 0.49432 +0.435627 0.348533 0.359893 0.4432 0.46592 0.399653 0.365573 0.365573 +0.361787 0.35232 0.358 0.407227 0.42616 0.378827 0.348533 0.344747 +0.365573 0.382613 0.36936 0.36368 0.38072 0.521474 0.709053 0.919368 +1.00155 1.01722 1.02702 1.03453 1.03812 1.04008 1.03976 1.04139 +1.04302 1.04237 1.04367 1.04727 1.04563 1.04106 1.03845 1.03518 +1.03388 1.03257 1.02669 1.0231 1.01918 1.01298 1.01265 1.012 +1.01429 1.0218 1.02506 1.02408 1.02473 1.02702 1.02996 1.03584 +1.03878 1.04204 1.04335 1.04204 1.04204 1.04204 1.04139 1.04531 +1.04857 1.05151 1.05184 1.04824 1.04563 1.04596 1.04498 1.04531 +1.04498 1.04629 1.0489 1.04367 1.044 1.04759 1.04694 1.04596 +1.04629 1.04629 1.04694 1.04727 1.04694 1.04629 1.04269 1.04139 +1.04661 1.04857 1.04367 1.03976 1.04335 1.04041 1.03878 1.04269 +1.044 1.04269 1.04106 1.04335 1.04237 1.0378 1.03943 1.03976 +1.03976 1.04139 1.04041 1.03878 1.03747 1.03518 1.028 1.02473 +1.02506 1.02539 1.02082 1.0231 1.02735 1.02963 1.03127 1.02865 +1.02931 1.02898 1.02833 1.03029 1.03322 1.0329 1.0342 1.03584 +1.03486 1.03682 1.03584 1.03355 1.03322 1.0329 1.03518 1.03616 +1.03551 1.03518 1.03747 1.03878 1.04008 1.03878 1.03812 1.03682 +1.0378 1.04204 1.04269 1.04106 1.03878 1.03878 1.04008 1.03845 +1.03714 1.04367 1.04596 1.04237 1.04237 1.04465 1.04171 1.03878 +1.03976 1.04106 1.03878 1.03616 1.03453 1.03322 1.0329 1.03257 +1.0342 1.03551 1.0342 1.03094 1.02245 1.00482 0.962316 0.854947 +0.719158 0.594105 0.505684 0.37504 0.337173 0.34096 0.344747 0.384507 +0.46592 0.433733 0.339067 0.32392 0.337173 0.34664 0.337173 0.31256 +0.303093 0.31824 0.322027 0.304987 0.28416 0.274693 0.269013 0.265227 +0.270907 0.274693 0.28984 0.28984 0.27848 0.274693 0.287947 0.293627 +0.28984 0.293627 0.31824 0.325813 0.308773 0.287947 0.28416 0.297413 +0.327707 0.356107 0.342853 0.35232 0.3864 0.4148 0.39208 0.354213 +0.339067 0.34096 0.342853 0.344747 0.350427 0.358 0.371253 0.384507 +0.418587 0.526526 0.704 0.985224 1.11021 1.05347 1.01624 1.00188 +0.999918 1.00547 1.02441 1.07826 1.25781 1.16651 1.03322 1.01527 +1.01233 1.00743 1.00318 0.99698 0.989796 0.980653 0.968632 0.960421 +0.954105 0.950947 0.954737 0.978737 0.987837 0.917474 0.728632 0.547368 +0.36936 0.327707 0.333387 0.26144 0.00092 0.000826667 0.000793333 0.0008 +0.00082 0.000813333 0.000773333 0.00078 0.000793333 0.000773333 0.000766667 0.000753333 +0.00076 0.000753333 0.000726667 0.000726667 0.000746667 0.000753333 0.000746667 0.00074 +0.00072 0.000686667 0.000706667 0.00072 0.000726667 0.000726667 0.00072 0.000713333 +0.000713333 0.000713333 0.000706667 0.00072 0.000733333 0.000726667 0.00074 0.000713333 +0.000726667 0.000753333 0.000753333 0.000713333 0.000713333 0.000726667 0.000726667 0.000726667 +0.000726667 0.000706667 0.000693333 0.0007 0.00074 0.000733333 0.000726667 0.00074 +0.000746667 0.00074 0.000713333 0.000706667 0.000726667 0.000733333 0.000726667 0.000726667 +0.000733333 0.000733333 0.000726667 0.000713333 0.00072 0.00074 0.00074 0.00072 +0.000713333 0.00072 0.000726667 0.000733333 0.000726667 0.000726667 0.000713333 0.000706667 +0.0007 0.000713333 0.00072 0.000706667 0.00072 0.00074 0.00072 0.000726667 +0.000713333 0.0007 0.000706667 0.000713333 0.000726667 0.000713333 0.00072 0.000733333 +0.00072 0.000713333 0.000706667 0.00072 0.000733333 0.000733333 0.000746667 0.00074 +0.000726667 0.00072 0.000726667 0.00072 0.00072 0.00074 0.00076 0.000746667 +0.000733333 0.000726667 0.000746667 0.00076 0.000746667 0.000733333 0.000726667 0.000746667 +0.000766667 0.000793333 0.000786667 0.00078 0.000826667 0.000833333 0.000813333 0.00082 +0.000833333 0.00096 0.28984 0.32392 0.253867 0.22168 0.282267 0.327707 +0.40344 0.596 0.824 0.98098 0.991102 0.973053 0.955368 0.948421 +0.944632 0.946526 0.952842 0.974316 0.98751 0.992408 0.998612 1.0071 +1.00743 1.00482 1.00188 0.998612 0.996327 0.994041 0.992735 0.991102 +0.987184 0.973684 0.918105 0.792421 0.630105 0.512632 0.3864 0.350427 +0.344747 0.337173 0.337173 0.325813 0.316347 0.314453 0.308773 0.339067 +0.433733 0.428053 0.337173 0.297413 0.293627 0.297413 0.299307 0.291733 +0.291733 0.320133 0.344747 0.325813 0.303093 0.3012 0.293627 0.282267 +0.282267 0.29552 0.3012 0.291733 0.282267 0.282267 0.286053 0.286053 +0.320133 0.407227 0.433733 0.35232 0.3012 0.287947 0.276587 0.28416 +0.299307 0.350427 0.46592 0.48296 0.376933 0.31824 0.299307 0.282267 +0.291733 0.3296 0.35232 0.344747 0.333387 0.359893 0.43752 0.510105 +0.546737 0.554947 0.513895 0.40912 0.348533 0.331493 0.33528 0.354213 +0.348533 0.327707 0.316347 0.331493 0.38072 0.376933 0.333387 0.3296 +0.367467 0.435627 0.42048 0.359893 0.34664 0.36368 0.365573 0.365573 +0.373147 0.34664 0.361787 0.428053 0.450773 0.399653 0.36368 0.354213 +0.350427 0.34664 0.34096 0.350427 0.37504 0.365573 0.356107 0.344747 +0.354213 0.388293 0.3864 0.37504 0.439413 0.598526 0.817053 0.982939 +1.01233 1.02147 1.02996 1.03551 1.04073 1.04335 1.04073 1.04106 +1.04302 1.04367 1.04302 1.04596 1.04563 1.04041 1.03682 1.03159 +1.02996 1.028 1.02376 1.02082 1.01918 1.01559 1.01527 1.01396 +1.01331 1.01984 1.02343 1.0218 1.0231 1.02637 1.02963 1.03551 +1.03812 1.04139 1.04237 1.04041 1.03943 1.04041 1.04171 1.04335 +1.04596 1.0489 1.04955 1.04824 1.0489 1.04694 1.04433 1.04563 +1.044 1.04433 1.04759 1.04433 1.04335 1.04629 1.04596 1.04596 +1.04824 1.04824 1.04596 1.04531 1.04661 1.04433 1.04269 1.04367 +1.04629 1.04727 1.04563 1.03976 1.04171 1.03943 1.03714 1.04237 +1.04335 1.04237 1.04139 1.04269 1.04204 1.03943 1.03943 1.03812 +1.03878 1.03943 1.03845 1.03812 1.03747 1.03453 1.02898 1.02539 +1.02408 1.02473 1.02278 1.02539 1.02898 1.03127 1.03029 1.02898 +1.03029 1.02996 1.02963 1.03061 1.03322 1.03224 1.0329 1.03388 +1.03551 1.03486 1.03355 1.03486 1.03322 1.03159 1.03518 1.03747 +1.03551 1.03355 1.03584 1.03845 1.03943 1.03878 1.03714 1.03714 +1.04008 1.04237 1.04106 1.04041 1.04106 1.04237 1.04302 1.04237 +1.04237 1.04661 1.04563 1.04237 1.04302 1.04302 1.03976 1.03878 +1.04171 1.04367 1.04008 1.03714 1.03616 1.03584 1.03453 1.03388 +1.03355 1.03453 1.03518 1.03322 1.02702 1.01559 0.990122 0.909263 +0.787368 0.661053 0.556842 0.46592 0.373147 0.348533 0.34096 0.358 +0.39776 0.367467 0.32392 0.31824 0.316347 0.331493 0.3296 0.303093 +0.303093 0.322027 0.314453 0.293627 0.287947 0.286053 0.282267 0.280373 +0.27848 0.280373 0.28984 0.29552 0.282267 0.28984 0.31824 0.320133 +0.3012 0.29552 0.308773 0.3296 0.320133 0.299307 0.287947 0.303093 +0.3296 0.371253 0.39208 0.395867 0.4148 0.428053 0.418587 0.399653 +0.3864 0.382613 0.37504 0.36368 0.356107 0.35232 0.358 0.378827 +0.401547 0.48296 0.609895 0.865053 1.04792 1.1163 1.0329 1.00841 +1.00416 1.0058 1.01886 1.05184 1.22433 1.20912 1.04237 1.01624 +1.01494 1.012 1.00743 1.0009 0.993714 0.985224 0.974316 0.964842 +0.958526 0.951579 0.945895 0.956 0.983265 0.980653 0.855579 0.654737 +0.501263 0.344747 0.35232 0.322027 0.240613 0.000886667 0.000813333 0.000806667 +0.000813333 0.0008 0.000766667 0.00078 0.000786667 0.000746667 0.000753333 0.000746667 +0.000746667 0.00074 0.00072 0.00074 0.000766667 0.000746667 0.000726667 0.00074 +0.00072 0.000686667 0.000706667 0.000726667 0.000733333 0.000726667 0.00072 0.000726667 +0.000726667 0.000726667 0.00072 0.000733333 0.00072 0.000726667 0.00074 0.000733333 +0.000746667 0.00074 0.000726667 0.00072 0.000733333 0.000753333 0.00076 0.000733333 +0.00072 0.0007 0.00072 0.000753333 0.000746667 0.000733333 0.000713333 0.00072 +0.00074 0.000753333 0.00072 0.000713333 0.000733333 0.000726667 0.000726667 0.000726667 +0.000713333 0.000713333 0.000706667 0.0007 0.0007 0.000706667 0.00072 0.000706667 +0.000713333 0.000733333 0.000726667 0.000713333 0.000726667 0.000746667 0.00076 0.00074 +0.000713333 0.000706667 0.000726667 0.000706667 0.000706667 0.000726667 0.000713333 0.000706667 +0.000713333 0.000733333 0.000733333 0.00074 0.000726667 0.000706667 0.000713333 0.000733333 +0.000733333 0.00074 0.00072 0.000706667 0.000706667 0.000706667 0.000726667 0.000733333 +0.000733333 0.000733333 0.000733333 0.000726667 0.000733333 0.000733333 0.00074 0.000733333 +0.000726667 0.000733333 0.00074 0.000746667 0.00074 0.000746667 0.000746667 0.000766667 +0.000786667 0.000793333 0.000793333 0.000786667 0.00084 0.00084 0.00082 0.00082 +0.000866667 0.2444 0.322027 0.299307 0.225467 0.23304 0.30688 0.359893 +0.522737 0.716632 0.930105 0.994367 0.983265 0.960421 0.950316 0.947789 +0.946526 0.947789 0.958526 0.983265 0.992408 0.99502 1.00155 1.00645 +1.00514 1.00384 0.999265 0.996 0.995347 0.993061 0.98849 0.982286 +0.964842 0.925053 0.839789 0.698947 0.554947 0.428053 0.35232 0.342853 +0.350427 0.35232 0.367467 0.358 0.34664 0.342853 0.337173 0.36936 +0.452667 0.428053 0.327707 0.297413 0.28984 0.28416 0.287947 0.28984 +0.303093 0.34096 0.365573 0.31824 0.287947 0.293627 0.299307 0.28984 +0.286053 0.287947 0.303093 0.308773 0.291733 0.28416 0.287947 0.28416 +0.29552 0.356107 0.393973 0.350427 0.308773 0.286053 0.26712 0.270907 +0.291733 0.342853 0.456453 0.48296 0.407227 0.350427 0.299307 0.28416 +0.31824 0.354213 0.339067 0.303093 0.28416 0.316347 0.4148 0.530947 +0.616211 0.659158 0.596 0.505053 0.382613 0.342853 0.333387 0.348533 +0.34664 0.316347 0.297413 0.303093 0.33528 0.361787 0.342853 0.3296 +0.37504 0.469707 0.45456 0.359893 0.331493 0.34096 0.34096 0.32392 +0.331493 0.331493 0.342853 0.411013 0.446987 0.40912 0.38072 0.373147 +0.354213 0.342853 0.34664 0.34096 0.348533 0.358 0.371253 0.371253 +0.36936 0.3864 0.39776 0.4148 0.525263 0.697053 0.906105 1.00416 +1.02114 1.02604 1.03192 1.03551 1.0391 1.04171 1.04073 1.04008 +1.04139 1.04139 1.04041 1.04237 1.04367 1.04008 1.03551 1.02865 +1.02571 1.02376 1.0218 1.01918 1.01984 1.02147 1.0231 1.02082 +1.0169 1.01788 1.01984 1.01853 1.01886 1.02408 1.02898 1.03551 +1.0391 1.04106 1.04073 1.04073 1.03976 1.04008 1.04269 1.04498 +1.04465 1.04531 1.04629 1.04661 1.04922 1.04792 1.044 1.04563 +1.04629 1.04531 1.04629 1.04465 1.044 1.04563 1.044 1.04367 +1.04694 1.0489 1.04498 1.04269 1.04596 1.04433 1.04106 1.04367 +1.04596 1.04727 1.04694 1.03976 1.03943 1.03812 1.03551 1.04204 +1.044 1.04237 1.03943 1.04073 1.04204 1.04041 1.03878 1.0378 +1.03976 1.0378 1.03714 1.03682 1.03355 1.03029 1.02767 1.02571 +1.02278 1.02441 1.02571 1.02735 1.02865 1.03094 1.02931 1.02865 +1.02963 1.028 1.02963 1.03224 1.03257 1.03094 1.03322 1.03257 +1.03224 1.0342 1.03714 1.03682 1.03192 1.03322 1.03616 1.03682 +1.03682 1.03682 1.03747 1.0378 1.0378 1.0378 1.03682 1.03518 +1.0391 1.04302 1.04302 1.04073 1.04269 1.04433 1.04433 1.04433 +1.04727 1.04759 1.04302 1.04204 1.04335 1.04204 1.0391 1.03976 +1.04302 1.04433 1.04171 1.03943 1.03747 1.03682 1.03682 1.03616 +1.03518 1.03518 1.03518 1.03355 1.03224 1.02571 1.00449 0.956 +0.853053 0.726105 0.612421 0.527158 0.418587 0.35232 0.339067 0.34664 +0.356107 0.34664 0.333387 0.320133 0.310667 0.31824 0.308773 0.29552 +0.31256 0.325813 0.3012 0.28416 0.304987 0.31824 0.308773 0.299307 +0.28416 0.280373 0.299307 0.31256 0.30688 0.32392 0.365573 0.348533 +0.303093 0.299307 0.299307 0.304987 0.310667 0.303093 0.291733 0.287947 +0.308773 0.373147 0.439413 0.452667 0.44888 0.4432 0.433733 0.422373 +0.405333 0.39776 0.388293 0.371253 0.350427 0.33528 0.342853 0.36936 +0.39208 0.43184 0.544842 0.745053 1.00416 1.1376 1.05086 1.01494 +1.0058 1.0058 1.01494 1.04008 1.16347 1.22586 1.05282 1.01984 +1.01592 1.01363 1.01037 1.00645 0.998286 0.990776 0.981633 0.968632 +0.959158 0.952211 0.945895 0.945263 0.965474 0.985878 0.950316 0.789263 +0.590947 0.418587 0.344747 0.354213 0.297413 0.000993333 0.00086 0.000826667 +0.00082 0.00082 0.00078 0.000773333 0.000773333 0.00076 0.00076 0.000733333 +0.00074 0.000773333 0.00076 0.00074 0.000753333 0.000753333 0.00074 0.000746667 +0.000726667 0.000733333 0.000786667 0.00078 0.000753333 0.000746667 0.000713333 0.000706667 +0.000726667 0.000726667 0.00072 0.00072 0.000713333 0.00072 0.000733333 0.00072 +0.000706667 0.0007 0.000726667 0.000746667 0.00074 0.000726667 0.000713333 0.000693333 +0.0007 0.000726667 0.000746667 0.000746667 0.000726667 0.000726667 0.00072 0.000713333 +0.000713333 0.00072 0.000726667 0.000733333 0.00074 0.000726667 0.000713333 0.00072 +0.0007 0.0007 0.00072 0.000706667 0.000686667 0.000706667 0.000713333 0.000706667 +0.000713333 0.000733333 0.000733333 0.00072 0.00072 0.00072 0.000726667 0.00074 +0.000726667 0.000726667 0.00074 0.000733333 0.000713333 0.00072 0.000733333 0.00072 +0.000713333 0.000706667 0.00072 0.000733333 0.00074 0.000706667 0.000693333 0.000686667 +0.0007 0.00072 0.000726667 0.000726667 0.00072 0.0007 0.000713333 0.00072 +0.000733333 0.000746667 0.00074 0.000726667 0.000726667 0.00072 0.00072 0.000713333 +0.00072 0.000746667 0.00076 0.000773333 0.000786667 0.000793333 0.00076 0.000766667 +0.00078 0.00078 0.000793333 0.00078 0.000813333 0.00082 0.000813333 0.000833333 +0.000953333 0.287947 0.325813 0.263333 0.217893 0.263333 0.327707 0.439413 +0.614947 0.842947 0.987184 0.993714 0.972421 0.954737 0.950947 0.950947 +0.950947 0.956632 0.974316 0.989469 0.99502 0.996653 1.00253 1.0058 +1.0058 1.0022 0.996653 0.993714 0.991755 0.989796 0.982286 0.960421 +0.923158 0.851158 0.738737 0.608632 0.505053 0.378827 0.342853 0.342853 +0.350427 0.356107 0.36936 0.371253 0.38072 0.384507 0.384507 0.439413 +0.496213 0.45456 0.34664 0.297413 0.286053 0.27848 0.27848 0.280373 +0.303093 0.348533 0.35232 0.3012 0.280373 0.287947 0.286053 0.287947 +0.293627 0.293627 0.3012 0.314453 0.304987 0.28984 0.287947 0.293627 +0.293627 0.308773 0.3296 0.322027 0.30688 0.299307 0.28984 0.274693 +0.274693 0.31824 0.43184 0.484853 0.42048 0.348533 0.299307 0.308773 +0.354213 0.344747 0.3012 0.276587 0.265227 0.287947 0.371253 0.529053 +0.668632 0.784842 0.731789 0.577684 0.428053 0.337173 0.304987 0.303093 +0.308773 0.299307 0.297413 0.28984 0.310667 0.339067 0.339067 0.344747 +0.39776 0.48864 0.479173 0.373147 0.3296 0.333387 0.333387 0.320133 +0.31824 0.3296 0.342853 0.4148 0.458347 0.42048 0.393973 0.388293 +0.365573 0.359893 0.359893 0.337173 0.337173 0.37504 0.422373 0.429947 +0.40912 0.390187 0.388293 0.452667 0.586526 0.793684 0.967368 1.01331 +1.02604 1.03094 1.03388 1.03453 1.03682 1.04008 1.04073 1.03976 +1.03943 1.03845 1.03878 1.0391 1.04073 1.04073 1.03747 1.03322 +1.02963 1.02669 1.02637 1.02571 1.02473 1.02767 1.03029 1.02833 +1.02212 1.01886 1.01755 1.01527 1.01396 1.01918 1.02669 1.03551 +1.03943 1.03943 1.03812 1.03943 1.04139 1.04171 1.04335 1.04433 +1.04498 1.04792 1.04629 1.04367 1.04694 1.04824 1.04563 1.04727 +1.04759 1.04563 1.04531 1.04694 1.04727 1.04792 1.04531 1.04269 +1.04433 1.04727 1.04694 1.04367 1.04531 1.04759 1.044 1.044 +1.04596 1.04727 1.04694 1.04139 1.04106 1.03976 1.03812 1.04269 +1.04335 1.04335 1.04008 1.04008 1.04008 1.03976 1.03878 1.03747 +1.04008 1.03976 1.03747 1.03486 1.03029 1.02571 1.02441 1.02669 +1.02571 1.02669 1.02637 1.02637 1.02833 1.03127 1.02865 1.03029 +1.03127 1.02767 1.03061 1.03355 1.03192 1.03192 1.03192 1.03159 +1.03257 1.03551 1.03943 1.0378 1.03355 1.03486 1.03486 1.03518 +1.03812 1.04008 1.03976 1.03682 1.03845 1.03976 1.03714 1.03649 +1.03878 1.04237 1.04367 1.04008 1.04171 1.04498 1.04498 1.04465 +1.04759 1.04629 1.04204 1.04465 1.04596 1.04237 1.04106 1.04171 +1.04367 1.04433 1.04498 1.04335 1.0391 1.03682 1.03551 1.03322 +1.03388 1.03616 1.03616 1.03518 1.03714 1.03257 1.01559 0.98849 +0.907368 0.784211 0.665474 0.563789 0.452667 0.354213 0.34664 0.354213 +0.342853 0.33528 0.327707 0.303093 0.299307 0.303093 0.29552 0.3012 +0.31256 0.304987 0.291733 0.299307 0.337173 0.359893 0.34096 0.31256 +0.282267 0.269013 0.28416 0.297413 0.31256 0.361787 0.40912 0.378827 +0.31824 0.299307 0.3012 0.297413 0.3012 0.299307 0.282267 0.274693 +0.308773 0.401547 0.481067 0.479173 0.439413 0.390187 0.367467 0.365573 +0.36368 0.361787 0.358 0.354213 0.348533 0.344747 0.350427 0.36368 +0.384507 0.407227 0.507579 0.649053 0.916842 1.06609 1.10108 1.02735 +1.00645 1.00253 1.00743 1.02767 1.10108 1.23194 1.07522 1.0218 +1.01396 1.01233 1.01069 1.00971 1.00286 0.99502 0.986531 0.976842 +0.966737 0.957263 0.949684 0.942105 0.949684 0.976842 0.984898 0.908 +0.717895 0.536632 0.367467 0.34664 0.33528 0.251973 0.0009 0.00084 +0.000813333 0.000813333 0.0008 0.000806667 0.0008 0.000793333 0.0008 0.000773333 +0.000773333 0.00078 0.000753333 0.00074 0.00076 0.000773333 0.00078 0.000753333 +0.000733333 0.000746667 0.0008 0.000773333 0.000733333 0.000733333 0.00072 0.00072 +0.00074 0.000733333 0.000733333 0.000733333 0.00072 0.000726667 0.000713333 0.0007 +0.000713333 0.00072 0.000713333 0.000733333 0.000726667 0.000713333 0.00072 0.00072 +0.00072 0.000733333 0.000733333 0.000713333 0.000726667 0.00072 0.000733333 0.00074 +0.00072 0.0007 0.0007 0.00072 0.000733333 0.000753333 0.00074 0.000733333 +0.00072 0.000693333 0.000726667 0.000733333 0.000706667 0.00072 0.000726667 0.000713333 +0.000706667 0.000713333 0.000733333 0.00074 0.00074 0.000733333 0.000713333 0.000726667 +0.00072 0.000713333 0.00072 0.000733333 0.00072 0.000713333 0.000713333 0.000706667 +0.00072 0.000726667 0.000706667 0.0007 0.000713333 0.000733333 0.00072 0.000713333 +0.0007 0.000713333 0.00072 0.000726667 0.000746667 0.000726667 0.00072 0.000706667 +0.000713333 0.000726667 0.000733333 0.000726667 0.000726667 0.000726667 0.000733333 0.000733333 +0.00074 0.00076 0.000773333 0.000786667 0.000786667 0.000786667 0.000773333 0.00078 +0.000766667 0.00076 0.000786667 0.00078 0.000793333 0.000813333 0.000826667 0.000886667 +0.246293 0.322027 0.299307 0.231147 0.240613 0.303093 0.36936 0.537263 +0.737474 0.944632 0.998612 0.986531 0.964211 0.952842 0.950947 0.952842 +0.952211 0.960421 0.982286 0.994041 0.997306 0.999592 1.00253 1.00318 +1.00416 0.999918 0.995673 0.994694 0.991102 0.986204 0.969895 0.932632 +0.866947 0.758316 0.632632 0.529684 0.42048 0.359893 0.342853 0.34664 +0.358 0.350427 0.34096 0.337173 0.356107 0.376933 0.395867 0.452667 +0.496213 0.456453 0.384507 0.31824 0.287947 0.27848 0.280373 0.280373 +0.304987 0.348533 0.337173 0.28984 0.286053 0.280373 0.27848 0.28984 +0.29552 0.287947 0.291733 0.31256 0.314453 0.29552 0.28416 0.291733 +0.297413 0.291733 0.3012 0.30688 0.303093 0.308773 0.30688 0.293627 +0.282267 0.314453 0.435627 0.505053 0.45456 0.38072 0.34664 0.37504 +0.390187 0.325813 0.280373 0.276587 0.280373 0.287947 0.3296 0.501895 +0.662947 0.856211 0.865684 0.681895 0.503158 0.322027 0.28984 0.28984 +0.291733 0.293627 0.299307 0.293627 0.303093 0.327707 0.339067 0.350427 +0.3864 0.44888 0.469707 0.399653 0.337173 0.3296 0.331493 0.32392 +0.32392 0.34664 0.401547 0.481067 0.475387 0.411013 0.382613 0.378827 +0.36936 0.371253 0.376933 0.365573 0.39776 0.46592 0.504421 0.47728 +0.407227 0.37504 0.384507 0.508211 0.666105 0.878316 0.993714 1.01657 +1.02473 1.03224 1.03518 1.03388 1.03551 1.03845 1.04008 1.03878 +1.04008 1.04008 1.04073 1.03943 1.04139 1.044 1.04335 1.04335 +1.04106 1.03584 1.03486 1.03551 1.0329 1.0342 1.03616 1.03159 +1.02571 1.02212 1.01853 1.01429 1.01167 1.01396 1.0218 1.0342 +1.03878 1.0391 1.03943 1.03845 1.04008 1.04237 1.04433 1.04433 +1.04498 1.0502 1.04727 1.04302 1.04661 1.04694 1.04629 1.04694 +1.04629 1.04531 1.04596 1.04596 1.04629 1.04824 1.04824 1.04531 +1.04465 1.04661 1.04661 1.04596 1.04596 1.04694 1.04433 1.04335 +1.04629 1.04824 1.04563 1.04106 1.04269 1.04204 1.04204 1.04433 +1.04204 1.04204 1.04008 1.04073 1.0391 1.03845 1.03649 1.03845 +1.03976 1.03812 1.03616 1.0329 1.02865 1.02441 1.02571 1.028 +1.02637 1.02669 1.02735 1.02637 1.02833 1.03061 1.02833 1.03061 +1.03127 1.02865 1.03322 1.03486 1.03224 1.03388 1.03159 1.03094 +1.03192 1.03388 1.03845 1.03714 1.03584 1.03584 1.0342 1.03518 +1.03812 1.04041 1.0378 1.03551 1.03976 1.04008 1.03649 1.03943 +1.04106 1.04302 1.04433 1.04073 1.04302 1.044 1.04367 1.04563 +1.04661 1.04367 1.04269 1.04661 1.04661 1.04367 1.044 1.04531 +1.04367 1.04367 1.04367 1.04041 1.03584 1.0342 1.03388 1.03224 +1.03518 1.03682 1.03551 1.03453 1.03584 1.03388 1.0218 0.999918 +0.942105 0.829684 0.707158 0.588421 0.48864 0.367467 0.358 0.359893 +0.350427 0.337173 0.31256 0.28984 0.282267 0.287947 0.29552 0.299307 +0.293627 0.286053 0.287947 0.30688 0.34096 0.350427 0.316347 0.287947 +0.270907 0.26144 0.259547 0.270907 0.28984 0.373147 0.462133 0.456453 +0.358 0.29552 0.30688 0.30688 0.29552 0.28416 0.274693 0.293627 +0.36936 0.469707 0.492427 0.428053 0.359893 0.308773 0.297413 0.308773 +0.316347 0.322027 0.325813 0.325813 0.325813 0.34096 0.350427 0.354213 +0.371253 0.39208 0.458347 0.579579 0.804421 1.02767 1.14977 1.04367 +1.00743 0.998612 1.00253 1.02049 1.0551 1.20455 1.1163 1.02539 +1.012 1.012 1.01069 1.01037 1.00678 1.00024 0.991755 0.982612 +0.972421 0.961053 0.953474 0.945263 0.944 0.957263 0.982286 0.976842 +0.851789 0.645895 0.47728 0.337173 0.34664 0.299307 0.000986667 0.00084 +0.000806667 0.000806667 0.000806667 0.00082 0.000806667 0.000806667 0.000806667 0.000773333 +0.000773333 0.000786667 0.000753333 0.000753333 0.00076 0.000753333 0.00076 0.00076 +0.00074 0.00074 0.00076 0.000746667 0.000713333 0.00074 0.000726667 0.000713333 +0.000726667 0.000733333 0.000733333 0.000713333 0.000713333 0.000733333 0.00074 0.000733333 +0.00072 0.000706667 0.000706667 0.00072 0.000733333 0.000746667 0.000746667 0.000733333 +0.000706667 0.0007 0.000706667 0.000713333 0.000726667 0.000706667 0.000726667 0.000726667 +0.000733333 0.000746667 0.000726667 0.0007 0.0007 0.000726667 0.000733333 0.00074 +0.000746667 0.000733333 0.000713333 0.00072 0.000706667 0.000713333 0.000733333 0.000726667 +0.000713333 0.000706667 0.00072 0.00072 0.000726667 0.00074 0.000733333 0.000733333 +0.000713333 0.000706667 0.000706667 0.000713333 0.0007 0.000706667 0.000713333 0.000733333 +0.00072 0.00074 0.000753333 0.000733333 0.000726667 0.000746667 0.000746667 0.000733333 +0.000726667 0.00074 0.000753333 0.000726667 0.00072 0.000726667 0.000733333 0.000726667 +0.000713333 0.000733333 0.000753333 0.000733333 0.000733333 0.000746667 0.00074 0.00074 +0.00074 0.000753333 0.000746667 0.000746667 0.000753333 0.00074 0.00076 0.000786667 +0.000786667 0.000793333 0.0008 0.000786667 0.000793333 0.000813333 0.000846667 0.000993333 +0.299307 0.337173 0.263333 0.22168 0.270907 0.333387 0.462133 0.637684 +0.862526 0.990122 0.995673 0.980327 0.957263 0.950947 0.953474 0.954737 +0.953474 0.964842 0.984898 0.99502 1.00024 1.00286 1.00318 1.00384 +1.0022 0.997633 0.99502 0.993714 0.990449 0.982612 0.951579 0.895368 +0.794947 0.662316 0.546105 0.439413 0.378827 0.367467 0.356107 0.356107 +0.359893 0.333387 0.316347 0.314453 0.325813 0.34096 0.354213 0.3864 +0.412907 0.424267 0.384507 0.327707 0.28984 0.280373 0.28416 0.287947 +0.320133 0.373147 0.33528 0.28984 0.287947 0.282267 0.282267 0.28984 +0.286053 0.28416 0.287947 0.30688 0.320133 0.3012 0.291733 0.297413 +0.297413 0.28416 0.28416 0.291733 0.303093 0.310667 0.31256 0.304987 +0.297413 0.331493 0.456453 0.518947 0.496213 0.411013 0.390187 0.416693 +0.40344 0.337173 0.304987 0.303093 0.3012 0.291733 0.304987 0.418587 +0.607368 0.818947 0.900421 0.758316 0.544842 0.331493 0.293627 0.29552 +0.297413 0.304987 0.297413 0.29552 0.304987 0.316347 0.327707 0.34096 +0.350427 0.384507 0.433733 0.433733 0.382613 0.348533 0.337173 0.3296 +0.33528 0.39776 0.517684 0.542316 0.503158 0.39776 0.36936 0.38072 +0.412907 0.450773 0.450773 0.446987 0.507579 0.529053 0.518947 0.44888 +0.365573 0.361787 0.418587 0.553053 0.752632 0.947158 1.00808 1.02049 +1.02408 1.03094 1.03453 1.03551 1.03845 1.0391 1.04008 1.04041 +1.04335 1.04433 1.04433 1.04465 1.04694 1.04988 1.04824 1.04824 +1.04792 1.04465 1.044 1.04433 1.04073 1.03812 1.03878 1.03388 +1.02833 1.02637 1.02147 1.01657 1.01331 1.01331 1.01853 1.02963 +1.03682 1.03747 1.0391 1.03845 1.03943 1.04269 1.04498 1.04433 +1.04335 1.04727 1.04629 1.044 1.04694 1.04531 1.04367 1.044 +1.04433 1.04531 1.04596 1.04563 1.04563 1.04759 1.04824 1.04563 +1.04465 1.04596 1.04629 1.04563 1.04596 1.04531 1.04302 1.04171 +1.044 1.04727 1.04433 1.03812 1.04073 1.04465 1.04563 1.04433 +1.04041 1.04106 1.03943 1.04139 1.04008 1.03845 1.03518 1.03812 +1.04139 1.03649 1.03094 1.02833 1.02702 1.02343 1.02604 1.02833 +1.02604 1.02604 1.02669 1.02702 1.02931 1.02833 1.02702 1.03061 +1.03094 1.02996 1.03388 1.03486 1.03257 1.0329 1.03159 1.03224 +1.03224 1.03322 1.03682 1.03649 1.03616 1.03747 1.03714 1.03747 +1.03878 1.03976 1.03747 1.0391 1.04204 1.03943 1.03812 1.04204 +1.04139 1.04302 1.04367 1.04302 1.04694 1.04465 1.04269 1.04563 +1.04596 1.04237 1.04269 1.04596 1.04498 1.04465 1.04661 1.04629 +1.04531 1.04531 1.04269 1.0378 1.03388 1.0329 1.03257 1.03322 +1.03649 1.03486 1.03453 1.03486 1.03355 1.03192 1.02441 1.00808 +0.967368 0.864421 0.743789 0.619368 0.518947 0.405333 0.365573 0.361787 +0.35232 0.325813 0.293627 0.276587 0.282267 0.293627 0.3012 0.30688 +0.299307 0.299307 0.30688 0.31256 0.316347 0.30688 0.28416 0.270907 +0.269013 0.276587 0.2728 0.274693 0.299307 0.39208 0.517053 0.527158 +0.433733 0.325813 0.31256 0.303093 0.291733 0.276587 0.293627 0.365573 +0.475387 0.506316 0.445093 0.348533 0.3012 0.276587 0.2728 0.282267 +0.299307 0.304987 0.316347 0.316347 0.310667 0.339067 0.37504 0.371253 +0.36368 0.361787 0.40344 0.532842 0.708421 0.978737 1.11021 1.05804 +1.01527 1.00155 1.00351 1.01657 1.04204 1.16195 1.15738 1.03355 +1.01069 1.01135 1.01037 1.01004 1.01004 1.00612 0.997306 0.986857 +0.978105 0.965474 0.958526 0.952211 0.945895 0.947789 0.966105 0.986531 +0.949053 0.784211 0.584632 0.411013 0.342853 0.339067 0.263333 0.000913333 +0.000846667 0.000833333 0.000826667 0.000846667 0.000826667 0.0008 0.000773333 0.00074 +0.00076 0.00078 0.00074 0.000733333 0.000753333 0.000733333 0.000773333 0.00076 +0.00074 0.000726667 0.000746667 0.00072 0.000693333 0.000726667 0.00072 0.0007 +0.0007 0.000706667 0.00072 0.000713333 0.000713333 0.00074 0.000753333 0.00074 +0.0007 0.000693333 0.00072 0.000746667 0.000746667 0.00074 0.000706667 0.00068 +0.000686667 0.00074 0.00076 0.000753333 0.000753333 0.000726667 0.000706667 0.0007 +0.0007 0.00072 0.000726667 0.000706667 0.000693333 0.0007 0.000713333 0.000726667 +0.00074 0.000733333 0.00072 0.000726667 0.00072 0.000713333 0.000733333 0.000733333 +0.000726667 0.00072 0.000726667 0.000733333 0.000726667 0.000726667 0.00072 0.00072 +0.000713333 0.00072 0.00072 0.000726667 0.0007 0.00068 0.000686667 0.000733333 +0.000733333 0.000746667 0.000753333 0.000753333 0.000746667 0.000746667 0.000733333 0.00074 +0.000693333 0.000726667 0.000753333 0.000733333 0.000713333 0.000713333 0.000726667 0.000733333 +0.00072 0.00074 0.000766667 0.000753333 0.00074 0.00072 0.000713333 0.000726667 +0.000733333 0.000733333 0.000733333 0.00074 0.00076 0.00076 0.000786667 0.000793333 +0.000793333 0.000793333 0.0008 0.000806667 0.00082 0.000833333 0.00086 0.240613 +0.331493 0.31824 0.240613 0.248187 0.310667 0.378827 0.552421 0.764 +0.957263 0.996 0.986531 0.969263 0.951579 0.950316 0.956 0.957895 +0.959158 0.974316 0.989469 0.998612 1.00384 1.00449 1.00514 1.00449 +1.0009 0.996327 0.994041 0.990449 0.986531 0.971789 0.924421 0.838526 +0.711579 0.580842 0.47728 0.36936 0.356107 0.365573 0.371253 0.378827 +0.38072 0.337173 0.310667 0.308773 0.31256 0.31824 0.320133 0.3296 +0.350427 0.371253 0.373147 0.3296 0.291733 0.28984 0.293627 0.299307 +0.356107 0.407227 0.350427 0.287947 0.286053 0.299307 0.304987 0.304987 +0.287947 0.276587 0.280373 0.30688 0.325813 0.304987 0.3012 0.31256 +0.31256 0.310667 0.308773 0.31256 0.320133 0.322027 0.320133 0.30688 +0.304987 0.34664 0.464027 0.513895 0.45456 0.365573 0.358 0.373147 +0.361787 0.33528 0.320133 0.31824 0.310667 0.28984 0.29552 0.359893 +0.537895 0.713474 0.833474 0.770316 0.587158 0.382613 0.3012 0.291733 +0.291733 0.3012 0.299307 0.3012 0.30688 0.3012 0.314453 0.331493 +0.33528 0.34664 0.376933 0.42048 0.43184 0.407227 0.359893 0.3296 +0.36936 0.512632 0.590316 0.582105 0.505053 0.39208 0.384507 0.416693 +0.467813 0.508211 0.506947 0.498107 0.513263 0.520211 0.503789 0.418587 +0.37504 0.39208 0.48864 0.620632 0.836632 0.990122 1.01853 1.02441 +1.02767 1.03322 1.03714 1.03616 1.04041 1.04269 1.04367 1.04563 +1.04694 1.04792 1.04661 1.04694 1.0489 1.05118 1.0489 1.04759 +1.05086 1.05184 1.05053 1.0502 1.04661 1.04041 1.04008 1.03682 +1.03355 1.03094 1.02571 1.02147 1.01657 1.01592 1.01951 1.02637 +1.03322 1.03584 1.03878 1.03845 1.03812 1.04171 1.044 1.04269 +1.04106 1.04531 1.04629 1.04269 1.04498 1.04596 1.044 1.04498 +1.04563 1.04596 1.04694 1.04661 1.04629 1.04727 1.04727 1.04465 +1.04433 1.04629 1.04694 1.04661 1.04596 1.04465 1.04367 1.04269 +1.04367 1.04596 1.04237 1.03616 1.0391 1.04367 1.04465 1.044 +1.04139 1.04139 1.03714 1.0378 1.0391 1.03943 1.03747 1.0378 +1.03747 1.03355 1.02931 1.02767 1.02571 1.02376 1.02669 1.02669 +1.02506 1.02735 1.02735 1.02669 1.02931 1.02669 1.02669 1.03029 +1.03127 1.03322 1.03388 1.03224 1.03192 1.03127 1.03029 1.03127 +1.0329 1.03584 1.03518 1.03649 1.03812 1.03812 1.03714 1.0378 +1.04008 1.04041 1.03845 1.04041 1.04106 1.03878 1.04106 1.04433 +1.04335 1.04433 1.04335 1.04367 1.04661 1.04269 1.04171 1.04465 +1.044 1.04237 1.044 1.04498 1.04367 1.04694 1.04857 1.04465 +1.04433 1.04531 1.04269 1.03878 1.03616 1.03486 1.03388 1.0342 +1.03518 1.03322 1.03192 1.03224 1.03159 1.03061 1.02833 1.0169 +0.988163 0.900421 0.778526 0.646526 0.538526 0.441307 0.37504 0.365573 +0.358 0.320133 0.287947 0.2728 0.282267 0.293627 0.293627 0.299307 +0.29552 0.303093 0.310667 0.303093 0.297413 0.297413 0.291733 0.282267 +0.28416 0.291733 0.291733 0.291733 0.320133 0.424267 0.548 0.580842 +0.518947 0.37504 0.322027 0.303093 0.299307 0.308773 0.358 0.484853 +0.536 0.520211 0.39776 0.304987 0.28416 0.27848 0.270907 0.27848 +0.291733 0.293627 0.3012 0.303093 0.299307 0.339067 0.407227 0.40344 +0.367467 0.356107 0.382613 0.5 0.623158 0.865053 1.04139 1.08435 +1.02963 1.00971 1.00612 1.01363 1.03551 1.12847 1.18629 1.04237 +1.01102 1.01102 1.01102 1.01102 1.01069 1.0071 1.0022 0.993388 +0.984571 0.975579 0.966105 0.957895 0.950947 0.946526 0.953474 0.980327 +0.985878 0.906737 0.712211 0.532211 0.373147 0.367467 0.327707 0.231147 +0.00088 0.000833333 0.000806667 0.000806667 0.0008 0.000793333 0.00078 0.00074 +0.000746667 0.00076 0.000726667 0.00074 0.000746667 0.000753333 0.000793333 0.000746667 +0.0007 0.000726667 0.000746667 0.00072 0.000706667 0.000726667 0.00072 0.000726667 +0.00072 0.000733333 0.00074 0.000726667 0.0007 0.000713333 0.00074 0.000726667 +0.000713333 0.000733333 0.000746667 0.000733333 0.000713333 0.0007 0.00068 0.000693333 +0.000726667 0.000766667 0.000753333 0.000713333 0.00074 0.000726667 0.000713333 0.000706667 +0.000706667 0.00072 0.00074 0.00074 0.000713333 0.000706667 0.000706667 0.000706667 +0.00072 0.00074 0.000713333 0.0007 0.0007 0.0007 0.00072 0.000726667 +0.000713333 0.000706667 0.000693333 0.000726667 0.00074 0.000733333 0.000726667 0.000733333 +0.00072 0.00072 0.000733333 0.000753333 0.000733333 0.000706667 0.000693333 0.000713333 +0.000713333 0.000713333 0.0007 0.000706667 0.000733333 0.000733333 0.000733333 0.000726667 +0.0007 0.00072 0.000753333 0.000733333 0.000713333 0.000713333 0.00072 0.000733333 +0.00072 0.000706667 0.000733333 0.000746667 0.000753333 0.000753333 0.000746667 0.000753333 +0.000733333 0.000746667 0.00076 0.000766667 0.00078 0.000766667 0.00078 0.0008 +0.000786667 0.000773333 0.000786667 0.0008 0.00082 0.000853333 0.000933333 0.280373 +0.333387 0.276587 0.23304 0.286053 0.34664 0.486747 0.656632 0.883368 +0.990122 0.986857 0.969263 0.956 0.947789 0.948421 0.953474 0.959158 +0.967368 0.981959 0.992082 1.00286 1.00645 1.00547 1.0058 1.00384 +0.997306 0.994694 0.994041 0.989469 0.981959 0.950947 0.880842 0.763368 +0.626316 0.520842 0.399653 0.35232 0.339067 0.337173 0.359893 0.40912 +0.439413 0.376933 0.320133 0.31256 0.31256 0.308773 0.304987 0.308773 +0.320133 0.34096 0.361787 0.339067 0.299307 0.291733 0.293627 0.30688 +0.371253 0.43752 0.373147 0.3012 0.304987 0.31256 0.303093 0.299307 +0.286053 0.269013 0.280373 0.310667 0.333387 0.316347 0.314453 0.33528 +0.344747 0.358 0.36936 0.361787 0.34664 0.331493 0.316347 0.303093 +0.310667 0.36368 0.469707 0.501895 0.40344 0.333387 0.320133 0.325813 +0.322027 0.31824 0.31256 0.303093 0.299307 0.293627 0.297413 0.344747 +0.484853 0.608 0.726737 0.736211 0.618737 0.458347 0.30688 0.291733 +0.29552 0.304987 0.304987 0.297413 0.297413 0.304987 0.322027 0.34096 +0.350427 0.348533 0.34096 0.361787 0.416693 0.456453 0.416693 0.378827 +0.486747 0.586526 0.651579 0.590316 0.484853 0.378827 0.376933 0.390187 +0.412907 0.446987 0.450773 0.42616 0.429947 0.456453 0.4716 0.435627 +0.411013 0.42048 0.527158 0.698316 0.907368 1.0058 1.02376 1.028 +1.03127 1.03616 1.04041 1.03584 1.0378 1.04433 1.04629 1.04759 +1.0489 1.05086 1.04824 1.04661 1.04694 1.0502 1.04922 1.04661 +1.05216 1.05673 1.0538 1.05053 1.04857 1.04367 1.04335 1.03943 +1.03714 1.03649 1.02931 1.02343 1.01788 1.01755 1.02278 1.02637 +1.02996 1.03322 1.03845 1.0391 1.03747 1.04106 1.04367 1.04302 +1.04302 1.04661 1.04661 1.04073 1.04335 1.04531 1.04367 1.04498 +1.04531 1.04596 1.04629 1.04465 1.04335 1.04498 1.04694 1.04596 +1.04596 1.04596 1.04531 1.04629 1.04563 1.04269 1.04139 1.044 +1.04694 1.04596 1.04139 1.03584 1.0378 1.04237 1.04204 1.04106 +1.04106 1.04041 1.03616 1.03682 1.03747 1.03714 1.03518 1.03453 +1.03224 1.03061 1.03061 1.02931 1.02539 1.02441 1.02637 1.02408 +1.0231 1.02702 1.02735 1.02604 1.02865 1.02865 1.02767 1.02767 +1.02931 1.0329 1.03322 1.0329 1.03355 1.03355 1.03355 1.03355 +1.0329 1.0342 1.03486 1.0378 1.03878 1.0378 1.03714 1.03584 +1.03845 1.03976 1.04041 1.03976 1.03812 1.03976 1.04367 1.04596 +1.04465 1.04531 1.04367 1.04269 1.04237 1.04008 1.04269 1.04433 +1.04269 1.04465 1.04629 1.04269 1.04008 1.04531 1.04824 1.04465 +1.04563 1.04531 1.04073 1.0378 1.03649 1.03518 1.03486 1.03518 +1.03551 1.03486 1.03224 1.03159 1.03094 1.02963 1.02931 1.02212 +0.998612 0.929474 0.806947 0.671789 0.561895 0.479173 0.37504 0.35232 +0.354213 0.31824 0.28984 0.276587 0.286053 0.28984 0.282267 0.280373 +0.280373 0.28416 0.28984 0.29552 0.29552 0.297413 0.304987 0.304987 +0.308773 0.314453 0.314453 0.310667 0.325813 0.401547 0.548632 0.625684 +0.575158 0.433733 0.325813 0.314453 0.34096 0.388293 0.45456 0.522105 +0.555579 0.534105 0.4148 0.308773 0.28416 0.27848 0.27848 0.287947 +0.304987 0.30688 0.303093 0.304987 0.299307 0.333387 0.4148 0.411013 +0.365573 0.356107 0.371253 0.428053 0.553053 0.747579 0.991102 1.05608 +1.04139 1.01722 1.00906 1.01461 1.03322 1.08587 1.16956 1.04824 +1.01331 1.01037 1.01167 1.01135 1.01069 1.00776 1.00547 0.99698 +0.987184 0.980653 0.970526 0.959789 0.954105 0.949684 0.948421 0.962947 +0.984245 0.973053 0.843579 0.640211 0.484853 0.365573 0.365573 0.297413 +0.00098 0.00084 0.000826667 0.000826667 0.000813333 0.000806667 0.000793333 0.00078 +0.000786667 0.000786667 0.000753333 0.00076 0.00076 0.000753333 0.000753333 0.000706667 +0.000706667 0.00074 0.000746667 0.000713333 0.0007 0.000706667 0.0007 0.000733333 +0.000746667 0.000733333 0.000733333 0.00072 0.0007 0.000726667 0.000766667 0.000733333 +0.000713333 0.00074 0.000733333 0.0007 0.00072 0.00074 0.000733333 0.000733333 +0.000746667 0.00074 0.000713333 0.000686667 0.000733333 0.000733333 0.00074 0.000733333 +0.000726667 0.000726667 0.000746667 0.000753333 0.000726667 0.000726667 0.00072 0.000713333 +0.0007 0.000733333 0.000726667 0.0007 0.000713333 0.0007 0.000713333 0.000726667 +0.000726667 0.000706667 0.000686667 0.00072 0.000726667 0.00072 0.00072 0.000713333 +0.00072 0.00072 0.000726667 0.000726667 0.000713333 0.00072 0.000713333 0.000713333 +0.000713333 0.000713333 0.000706667 0.000706667 0.000726667 0.000733333 0.000746667 0.000753333 +0.000733333 0.000733333 0.000746667 0.000746667 0.00074 0.000733333 0.00072 0.000706667 +0.000713333 0.00072 0.000733333 0.00074 0.00074 0.000733333 0.000733333 0.00076 +0.000753333 0.00078 0.00078 0.000773333 0.000786667 0.000753333 0.000753333 0.00078 +0.000793333 0.000793333 0.0008 0.00082 0.000833333 0.000886667 0.23872 0.325813 +0.325813 0.2444 0.246293 0.320133 0.407227 0.569474 0.784842 0.965474 +0.990776 0.971158 0.953474 0.945895 0.944632 0.947158 0.954105 0.964211 +0.976211 0.985878 0.99502 1.00482 1.00776 1.0071 1.0058 1.0009 +0.994367 0.993714 0.992735 0.98849 0.973684 0.920632 0.818316 0.681263 +0.557474 0.44888 0.365573 0.348533 0.333387 0.327707 0.348533 0.416693 +0.4716 0.42048 0.348533 0.322027 0.32392 0.320133 0.29552 0.299307 +0.31824 0.333387 0.36368 0.35232 0.30688 0.282267 0.27848 0.291733 +0.365573 0.4432 0.411013 0.36936 0.371253 0.35232 0.310667 0.293627 +0.280373 0.274693 0.28416 0.308773 0.333387 0.32392 0.320133 0.348533 +0.356107 0.373147 0.39208 0.376933 0.356107 0.350427 0.339067 0.325813 +0.320133 0.365573 0.475387 0.498107 0.401547 0.337173 0.314453 0.31824 +0.322027 0.31824 0.31824 0.310667 0.304987 0.31256 0.337173 0.365573 +0.42048 0.529684 0.625053 0.679368 0.633895 0.523368 0.342853 0.287947 +0.287947 0.29552 0.293627 0.286053 0.287947 0.293627 0.314453 0.344747 +0.361787 0.35232 0.333387 0.333387 0.359893 0.418587 0.452667 0.501895 +0.570105 0.66421 0.685684 0.587789 0.467813 0.367467 0.35232 0.350427 +0.358 0.373147 0.382613 0.378827 0.37504 0.418587 0.479173 0.475387 +0.450773 0.469707 0.575789 0.776 0.959158 1.01331 1.02702 1.03192 +1.03388 1.03551 1.04008 1.03812 1.0378 1.04302 1.04661 1.04792 +1.0502 1.05216 1.05086 1.0489 1.04596 1.04727 1.04955 1.04824 +1.05118 1.05608 1.05478 1.05216 1.04988 1.04531 1.04433 1.04073 +1.03551 1.03714 1.03029 1.02408 1.02082 1.01918 1.0218 1.02539 +1.03061 1.0329 1.03616 1.0378 1.03682 1.04041 1.04171 1.04269 +1.04433 1.04661 1.04596 1.04204 1.04269 1.04204 1.04204 1.04629 +1.04563 1.04694 1.04661 1.04302 1.04335 1.04433 1.04531 1.04498 +1.04596 1.04433 1.04106 1.04367 1.04433 1.04106 1.04073 1.04433 +1.04596 1.04596 1.04335 1.0391 1.03878 1.04171 1.04139 1.03943 +1.0391 1.03812 1.03584 1.03845 1.03943 1.03616 1.03192 1.03388 +1.03257 1.02833 1.02767 1.02898 1.02767 1.02767 1.02702 1.02441 +1.02539 1.02637 1.02604 1.02669 1.02996 1.03094 1.02963 1.02865 +1.02833 1.02898 1.03061 1.03453 1.03486 1.03388 1.0329 1.03224 +1.03224 1.03322 1.03486 1.03584 1.03551 1.03518 1.03486 1.03747 +1.03976 1.04073 1.03943 1.04073 1.04008 1.04335 1.04596 1.04661 +1.04596 1.04465 1.04302 1.04204 1.04041 1.04106 1.04302 1.04367 +1.04171 1.044 1.04531 1.04171 1.04008 1.044 1.04531 1.04433 +1.04661 1.04498 1.04041 1.0391 1.03649 1.03322 1.03388 1.03453 +1.03388 1.03224 1.0342 1.03453 1.03159 1.02996 1.02865 1.02245 +1.00482 0.959158 0.844211 0.710947 0.594737 0.511368 0.39208 0.327707 +0.31256 0.3012 0.286053 0.274693 0.27848 0.286053 0.27848 0.270907 +0.276587 0.282267 0.287947 0.299307 0.293627 0.28984 0.291733 0.310667 +0.333387 0.337173 0.333387 0.33528 0.3296 0.359893 0.530947 0.639579 +0.611789 0.484853 0.337173 0.35232 0.399653 0.439413 0.4716 0.501895 +0.511368 0.508211 0.42048 0.337173 0.308773 0.299307 0.29552 0.3012 +0.31824 0.322027 0.310667 0.303093 0.304987 0.344747 0.40912 0.393973 +0.348533 0.344747 0.358 0.390187 0.506316 0.643368 0.884 1.02996 +1.04824 1.02833 1.0169 1.01951 1.03486 1.05869 1.14217 1.05216 +1.01657 1.01004 1.01167 1.01102 1.01331 1.01102 1.00743 1.0009 +0.991102 0.982939 0.975579 0.962947 0.956 0.953474 0.947158 0.949684 +0.969263 0.985551 0.941474 0.772842 0.573895 0.412907 0.37504 0.348533 +0.25008 0.000886667 0.000846667 0.000853333 0.00084 0.000806667 0.000793333 0.000806667 +0.000826667 0.000786667 0.000753333 0.000773333 0.000773333 0.000746667 0.000753333 0.000726667 +0.000746667 0.000766667 0.000746667 0.000713333 0.00072 0.00074 0.00074 0.000733333 +0.000713333 0.000706667 0.00072 0.00072 0.00072 0.000753333 0.000753333 0.00072 +0.000693333 0.00072 0.00072 0.00072 0.000746667 0.000733333 0.000706667 0.000693333 +0.000706667 0.000726667 0.00072 0.000713333 0.00072 0.000733333 0.00074 0.00074 +0.00074 0.000726667 0.00072 0.00072 0.000713333 0.00072 0.000733333 0.000726667 +0.000733333 0.000726667 0.00072 0.000706667 0.000726667 0.00072 0.00072 0.00072 +0.00072 0.000706667 0.000713333 0.000726667 0.00072 0.000706667 0.0007 0.00068 +0.000686667 0.000713333 0.000713333 0.00072 0.000693333 0.00068 0.000693333 0.000693333 +0.00068 0.0007 0.000713333 0.00072 0.000706667 0.0007 0.00072 0.000733333 +0.00074 0.000746667 0.000746667 0.000733333 0.000733333 0.000733333 0.000726667 0.000713333 +0.00072 0.000726667 0.000746667 0.00076 0.000746667 0.000726667 0.00072 0.000733333 +0.000746667 0.000773333 0.000773333 0.00078 0.0008 0.00078 0.000753333 0.00078 +0.000793333 0.000806667 0.00082 0.000846667 0.00088 0.00096 0.280373 0.339067 +0.28984 0.229253 0.2728 0.361787 0.514526 0.686316 0.903579 0.990122 +0.982286 0.958526 0.947789 0.944 0.945263 0.950316 0.957263 0.969263 +0.981306 0.989469 0.998612 1.00482 1.0071 1.00678 1.00449 0.996653 +0.992408 0.992082 0.989469 0.984571 0.954105 0.872 0.739368 0.602947 +0.508842 0.390187 0.354213 0.354213 0.34664 0.348533 0.356107 0.39208 +0.43752 0.42048 0.376933 0.34664 0.339067 0.31824 0.297413 0.303093 +0.325813 0.350427 0.367467 0.359893 0.31256 0.280373 0.276587 0.291733 +0.37504 0.456453 0.422373 0.39208 0.416693 0.412907 0.358 0.30688 +0.28984 0.28984 0.29552 0.303093 0.3296 0.33528 0.337173 0.35232 +0.34664 0.348533 0.359893 0.350427 0.348533 0.371253 0.393973 0.39208 +0.373147 0.395867 0.49432 0.501895 0.411013 0.354213 0.32392 0.316347 +0.310667 0.304987 0.325813 0.327707 0.32392 0.348533 0.361787 0.34664 +0.356107 0.441307 0.549895 0.618105 0.624421 0.556842 0.428053 0.31256 +0.293627 0.299307 0.28416 0.286053 0.291733 0.297413 0.308773 0.32392 +0.348533 0.35232 0.342853 0.327707 0.3296 0.371253 0.46592 0.562526 +0.665474 0.728 0.702737 0.590316 0.475387 0.367467 0.34664 0.344747 +0.348533 0.358 0.378827 0.401547 0.39208 0.4148 0.469707 0.484853 +0.469707 0.509474 0.632632 0.844211 0.98849 1.0182 1.02931 1.03518 +1.0378 1.03714 1.04073 1.04269 1.04106 1.04498 1.0489 1.04988 +1.05086 1.0502 1.04988 1.0502 1.04661 1.04367 1.04792 1.05151 +1.05216 1.05347 1.05282 1.05184 1.05086 1.04727 1.04433 1.04237 +1.03714 1.03584 1.03061 1.02539 1.02343 1.02082 1.02082 1.02473 +1.03094 1.03192 1.03453 1.0378 1.03682 1.04008 1.04335 1.04367 +1.04367 1.04302 1.04367 1.04335 1.04237 1.04073 1.04171 1.04661 +1.044 1.04596 1.04694 1.04367 1.04498 1.04629 1.04596 1.04367 +1.04433 1.04433 1.04073 1.04433 1.04629 1.04204 1.04204 1.04433 +1.04465 1.04498 1.04204 1.03943 1.04106 1.04008 1.03714 1.03714 +1.03812 1.03714 1.03453 1.03682 1.03845 1.03453 1.02963 1.03127 +1.03127 1.02702 1.02865 1.02865 1.02539 1.02571 1.02669 1.02604 +1.02898 1.02898 1.02571 1.02604 1.03094 1.03224 1.03029 1.03061 +1.03159 1.02996 1.02996 1.03388 1.03616 1.03551 1.0329 1.03127 +1.0329 1.03322 1.03584 1.03714 1.03714 1.03584 1.03322 1.03649 +1.04106 1.04237 1.04302 1.04433 1.044 1.04531 1.04531 1.04629 +1.04563 1.04335 1.04073 1.04073 1.04041 1.04106 1.04335 1.04531 +1.04498 1.04531 1.04302 1.04269 1.04498 1.04433 1.04269 1.04465 +1.04433 1.04302 1.04139 1.04041 1.03812 1.03518 1.03388 1.0329 +1.03322 1.03127 1.03257 1.03355 1.03127 1.03257 1.03094 1.02441 +1.01167 0.984245 0.889053 0.758947 0.626947 0.522105 0.382613 0.3012 +0.280373 0.28984 0.293627 0.291733 0.286053 0.274693 0.259547 0.269013 +0.286053 0.299307 0.297413 0.291733 0.282267 0.280373 0.286053 0.304987 +0.31824 0.316347 0.31824 0.320133 0.31256 0.339067 0.512 0.609263 +0.597263 0.492427 0.36368 0.3864 0.40344 0.39776 0.390187 0.384507 +0.376933 0.38072 0.358 0.320133 0.299307 0.293627 0.297413 0.308773 +0.327707 0.337173 0.322027 0.314453 0.322027 0.356107 0.376933 0.350427 +0.3296 0.331493 0.344747 0.36936 0.433733 0.567579 0.772842 0.991102 +1.04563 1.04106 1.02604 1.02441 1.03845 1.05771 1.12999 1.05478 +1.0182 1.00808 1.00971 1.01037 1.01233 1.01167 1.00841 1.00416 +0.994694 0.985878 0.980653 0.968632 0.957263 0.955368 0.947158 0.943368 +0.954105 0.978737 0.983265 0.894105 0.697053 0.524632 0.3864 0.371253 +0.299307 0.216 0.000886667 0.000853333 0.000826667 0.000806667 0.000766667 0.000773333 +0.000806667 0.000773333 0.00074 0.000753333 0.000766667 0.000773333 0.00078 0.000733333 +0.000746667 0.00076 0.000746667 0.000726667 0.000726667 0.000733333 0.000726667 0.000726667 +0.000733333 0.000746667 0.000746667 0.00074 0.000733333 0.000726667 0.000706667 0.000693333 +0.0007 0.000713333 0.000733333 0.00074 0.000746667 0.000726667 0.00072 0.00072 +0.000726667 0.000726667 0.000706667 0.000686667 0.000733333 0.000733333 0.00072 0.00072 +0.00072 0.000746667 0.000746667 0.000746667 0.00072 0.000713333 0.00072 0.000726667 +0.000746667 0.000746667 0.000733333 0.000706667 0.000713333 0.000733333 0.000733333 0.00072 +0.00072 0.000713333 0.00072 0.00074 0.000733333 0.000726667 0.00072 0.000713333 +0.00072 0.000726667 0.000713333 0.00072 0.00072 0.0007 0.000693333 0.000693333 +0.000693333 0.0007 0.00072 0.000733333 0.000713333 0.000693333 0.000713333 0.000686667 +0.00068 0.0007 0.000733333 0.000733333 0.000726667 0.00074 0.000733333 0.000726667 +0.000726667 0.00072 0.000726667 0.00076 0.000753333 0.000746667 0.000733333 0.00072 +0.000733333 0.000746667 0.00074 0.00076 0.000813333 0.000806667 0.000773333 0.000773333 +0.000786667 0.0008 0.00082 0.000853333 0.00092 0.240613 0.320133 0.32392 +0.253867 0.242507 0.316347 0.43752 0.600421 0.819579 0.978737 0.989143 +0.966737 0.949684 0.944632 0.944632 0.949053 0.954105 0.959789 0.973053 +0.984571 0.994367 1.00188 1.00612 1.00678 1.00645 1.00155 0.993714 +0.991755 0.991102 0.987837 0.976211 0.918737 0.802526 0.655368 0.539789 +0.43752 0.36936 0.356107 0.358 0.354213 0.358 0.359893 0.373147 +0.382613 0.382613 0.38072 0.35232 0.327707 0.310667 0.299307 0.303093 +0.314453 0.327707 0.342853 0.350427 0.32392 0.293627 0.29552 0.322027 +0.411013 0.450773 0.382613 0.342853 0.371253 0.395867 0.356107 0.303093 +0.293627 0.293627 0.29552 0.30688 0.342853 0.373147 0.373147 0.36936 +0.34664 0.325813 0.325813 0.327707 0.337173 0.384507 0.467813 0.503789 +0.48864 0.469707 0.506316 0.506316 0.450773 0.399653 0.348533 0.316347 +0.30688 0.303093 0.31256 0.32392 0.33528 0.35232 0.342853 0.31824 +0.31824 0.365573 0.496213 0.559368 0.592211 0.565684 0.49432 0.350427 +0.310667 0.31824 0.32392 0.32392 0.31824 0.304987 0.304987 0.320133 +0.34664 0.37504 0.371253 0.34096 0.325813 0.356107 0.498107 0.631368 +0.759579 0.784842 0.718526 0.585895 0.462133 0.367467 0.348533 0.348533 +0.359893 0.3864 0.418587 0.44888 0.43752 0.429947 0.44888 0.46592 +0.484853 0.541053 0.698947 0.904842 1.00416 1.02473 1.03322 1.03714 +1.03943 1.04106 1.04433 1.04596 1.04465 1.04857 1.05249 1.05282 +1.05184 1.05118 1.05053 1.0489 1.04629 1.04335 1.04824 1.05445 +1.0538 1.05314 1.05249 1.05151 1.05151 1.04988 1.04759 1.04563 +1.04008 1.03616 1.03159 1.02506 1.02245 1.02245 1.02343 1.02702 +1.02963 1.02963 1.03127 1.03551 1.03649 1.03976 1.04465 1.04661 +1.04498 1.04106 1.04073 1.04269 1.04269 1.04269 1.04269 1.04433 +1.04367 1.044 1.04498 1.04465 1.04596 1.04629 1.04629 1.04531 +1.04367 1.04433 1.04237 1.04367 1.04596 1.04269 1.04237 1.04269 +1.04563 1.04596 1.04106 1.03682 1.03976 1.03845 1.0342 1.03812 +1.0391 1.03747 1.03486 1.03518 1.03257 1.02931 1.02767 1.03127 +1.02963 1.02506 1.02637 1.02702 1.02441 1.02571 1.02735 1.02604 +1.02865 1.03029 1.02702 1.02865 1.03127 1.03127 1.03029 1.03127 +1.03355 1.03388 1.03257 1.0342 1.03453 1.03584 1.03388 1.03159 +1.03355 1.03322 1.03551 1.03845 1.03878 1.03551 1.03682 1.04171 +1.04269 1.04139 1.04367 1.04498 1.044 1.04433 1.04335 1.044 +1.04498 1.044 1.04106 1.03976 1.04171 1.04335 1.04531 1.04563 +1.04727 1.04727 1.04302 1.04433 1.04727 1.04302 1.04139 1.04629 +1.044 1.04073 1.04237 1.04204 1.03845 1.03682 1.03649 1.03453 +1.03322 1.03192 1.03224 1.03127 1.03061 1.03192 1.03127 1.02963 +1.02114 0.996653 0.921895 0.794947 0.647158 0.518316 0.339067 0.280373 +0.28416 0.293627 0.299307 0.297413 0.280373 0.257653 0.265227 0.280373 +0.28416 0.299307 0.30688 0.291733 0.280373 0.282267 0.3012 0.30688 +0.291733 0.28416 0.287947 0.291733 0.297413 0.327707 0.46024 0.553684 +0.549895 0.46024 0.36936 0.359893 0.34096 0.310667 0.3012 0.325813 +0.331493 0.314453 0.3012 0.297413 0.293627 0.287947 0.28416 0.293627 +0.30688 0.331493 0.356107 0.36936 0.373147 0.371253 0.35232 0.322027 +0.31824 0.32392 0.331493 0.35232 0.393973 0.519579 0.674316 0.906737 +1.02767 1.04661 1.0329 1.02441 1.03453 1.0502 1.095 1.05445 +1.02016 1.00743 1.00841 1.00971 1.01135 1.01135 1.00841 1.00678 +0.997959 0.98751 0.98098 0.971158 0.959158 0.956 0.954737 0.950947 +0.952211 0.963579 0.983918 0.967368 0.827158 0.621263 0.46592 0.38072 +0.34664 0.25576 0.00092 0.00084 0.000813333 0.00082 0.000773333 0.000773333 +0.000793333 0.000766667 0.000753333 0.00076 0.000753333 0.000746667 0.000733333 0.000706667 +0.000733333 0.00076 0.000746667 0.000726667 0.000706667 0.000706667 0.000726667 0.000753333 +0.000746667 0.00074 0.00074 0.00072 0.000713333 0.000733333 0.000713333 0.000706667 +0.000713333 0.000713333 0.000706667 0.000713333 0.00072 0.000733333 0.000733333 0.000733333 +0.00072 0.000706667 0.0007 0.000706667 0.00074 0.000733333 0.00072 0.000706667 +0.000706667 0.000726667 0.000746667 0.000753333 0.000753333 0.000726667 0.000706667 0.000706667 +0.000733333 0.00074 0.000746667 0.000726667 0.000706667 0.000726667 0.00072 0.000713333 +0.00072 0.000706667 0.000693333 0.000693333 0.000726667 0.000753333 0.000726667 0.000713333 +0.000726667 0.000733333 0.000713333 0.000733333 0.000746667 0.000753333 0.000733333 0.000726667 +0.000733333 0.000726667 0.000733333 0.000726667 0.0007 0.0007 0.000706667 0.000706667 +0.0007 0.000693333 0.000713333 0.000733333 0.000733333 0.000746667 0.00074 0.000733333 +0.000726667 0.0007 0.0007 0.000713333 0.00072 0.00074 0.000733333 0.00072 +0.000753333 0.00078 0.000766667 0.00076 0.000766667 0.00078 0.000786667 0.0008 +0.000806667 0.000806667 0.000813333 0.00086 0.000993333 0.282267 0.34096 0.297413 +0.246293 0.291733 0.376933 0.533474 0.721053 0.927579 0.991102 0.981306 +0.956 0.944632 0.942105 0.945263 0.951579 0.958526 0.965474 0.980653 +0.990122 0.999918 1.00514 1.00678 1.00645 1.00318 0.99698 0.991755 +0.991429 0.990776 0.986531 0.957263 0.863789 0.722316 0.585263 0.498107 +0.3864 0.356107 0.354213 0.356107 0.354213 0.356107 0.358 0.35232 +0.35232 0.367467 0.37504 0.344747 0.316347 0.303093 0.304987 0.303093 +0.299307 0.29552 0.299307 0.31824 0.316347 0.308773 0.299307 0.354213 +0.446987 0.43184 0.348533 0.314453 0.320133 0.331493 0.316347 0.293627 +0.293627 0.291733 0.29552 0.320133 0.378827 0.452667 0.46024 0.42048 +0.359893 0.316347 0.31824 0.32392 0.331493 0.390187 0.506947 0.549263 +0.553053 0.535368 0.527789 0.513895 0.490533 0.433733 0.365573 0.320133 +0.31256 0.310667 0.310667 0.320133 0.322027 0.32392 0.32392 0.31256 +0.31256 0.333387 0.407227 0.513895 0.554316 0.557474 0.513895 0.39208 +0.325813 0.325813 0.34664 0.36368 0.344747 0.308773 0.310667 0.327707 +0.337173 0.373147 0.393973 0.36936 0.348533 0.3864 0.537895 0.705263 +0.836 0.837895 0.729263 0.563158 0.411013 0.367467 0.38072 0.393973 +0.401547 0.4148 0.4432 0.479173 0.469707 0.445093 0.450773 0.475387 +0.508842 0.586526 0.767158 0.950316 1.01233 1.02865 1.03453 1.03584 +1.03845 1.04237 1.04367 1.04629 1.04824 1.04955 1.05314 1.0538 +1.05184 1.05216 1.0502 1.04563 1.04596 1.04629 1.0502 1.05543 +1.05347 1.05118 1.05118 1.05118 1.05184 1.05053 1.05053 1.04792 +1.04237 1.03649 1.03224 1.02833 1.02637 1.02408 1.02473 1.028 +1.03029 1.02898 1.02963 1.03322 1.03714 1.0391 1.04237 1.044 +1.04269 1.04269 1.04106 1.04204 1.04073 1.04139 1.04139 1.04237 +1.04237 1.04204 1.04302 1.04531 1.04694 1.04563 1.04367 1.04269 +1.04171 1.04335 1.04237 1.04302 1.04563 1.04269 1.04237 1.04204 +1.04302 1.04204 1.03976 1.03551 1.0391 1.03976 1.03486 1.0378 +1.03747 1.03518 1.03257 1.0342 1.03094 1.02735 1.02735 1.03127 +1.02898 1.02473 1.02604 1.02604 1.02441 1.02669 1.02735 1.02473 +1.02702 1.02898 1.02702 1.02963 1.03257 1.03061 1.02963 1.03224 +1.03388 1.03257 1.03094 1.03257 1.03322 1.03453 1.03355 1.03224 +1.03355 1.0342 1.03486 1.03812 1.0391 1.03584 1.03845 1.04335 +1.04433 1.04204 1.04139 1.04139 1.04139 1.044 1.04433 1.04269 +1.04204 1.04171 1.04106 1.04269 1.044 1.04498 1.04629 1.044 +1.04694 1.04694 1.04433 1.04531 1.04465 1.04269 1.044 1.04694 +1.04335 1.04073 1.04171 1.04139 1.0378 1.03616 1.0378 1.03584 +1.03322 1.03257 1.03257 1.02996 1.02931 1.02767 1.02669 1.02767 +1.02278 1.00351 0.943368 0.814526 0.652211 0.512 0.3296 0.287947 +0.29552 0.299307 0.293627 0.276587 0.259547 0.259547 0.27848 0.291733 +0.287947 0.299307 0.304987 0.297413 0.299307 0.303093 0.314453 0.30688 +0.28984 0.291733 0.286053 0.280373 0.291733 0.31824 0.390187 0.492427 +0.490533 0.390187 0.327707 0.3012 0.28416 0.2728 0.269013 0.304987 +0.331493 0.297413 0.280373 0.297413 0.30688 0.297413 0.282267 0.282267 +0.28984 0.322027 0.373147 0.405333 0.412907 0.393973 0.342853 0.31256 +0.322027 0.33528 0.339067 0.354213 0.38072 0.4716 0.596632 0.808211 +0.996327 1.04204 1.03976 1.02604 1.02898 1.04204 1.05771 1.05347 +1.02376 1.00808 1.00841 1.01004 1.012 1.012 1.00939 1.0071 +0.999918 0.990122 0.982286 0.973053 0.961684 0.955368 0.957895 0.957895 +0.956632 0.956 0.971158 0.984898 0.933895 0.752632 0.557474 0.416693 +0.376933 0.316347 0.217893 0.00084 0.00082 0.000813333 0.000766667 0.000793333 +0.000793333 0.000766667 0.000786667 0.00078 0.000753333 0.000753333 0.000746667 0.000726667 +0.00074 0.000753333 0.000713333 0.000693333 0.000706667 0.000726667 0.00074 0.000753333 +0.00072 0.000713333 0.000726667 0.000726667 0.00074 0.00074 0.00072 0.000706667 +0.000713333 0.000733333 0.00074 0.00074 0.000726667 0.00072 0.000726667 0.000733333 +0.00072 0.000726667 0.00074 0.000753333 0.00074 0.000726667 0.00072 0.000726667 +0.00072 0.000706667 0.00072 0.000733333 0.00074 0.00074 0.00072 0.00072 +0.000726667 0.000733333 0.00072 0.000713333 0.0007 0.000713333 0.000706667 0.0007 +0.000726667 0.000733333 0.000713333 0.00068 0.00068 0.00072 0.000733333 0.00072 +0.000713333 0.000706667 0.000713333 0.000726667 0.000733333 0.000746667 0.000726667 0.000706667 +0.00072 0.00072 0.000726667 0.00072 0.0007 0.0007 0.000706667 0.000713333 +0.000726667 0.000726667 0.000733333 0.000726667 0.000713333 0.000733333 0.000726667 0.000706667 +0.000726667 0.00072 0.000706667 0.00072 0.000733333 0.000753333 0.000753333 0.000746667 +0.00076 0.000773333 0.000793333 0.00078 0.00078 0.000793333 0.000786667 0.0008 +0.000826667 0.000826667 0.000833333 0.000873333 0.240613 0.322027 0.325813 0.265227 +0.26712 0.337173 0.458347 0.625684 0.848 0.983592 0.986204 0.965474 +0.949053 0.944 0.945895 0.949684 0.954737 0.960421 0.969895 0.983592 +0.996 1.00188 1.00514 1.00612 1.00253 0.997306 0.991429 0.989796 +0.990449 0.989143 0.981306 0.92 0.788632 0.638316 0.530316 0.428053 +0.361787 0.339067 0.333387 0.33528 0.34096 0.350427 0.344747 0.33528 +0.348533 0.37504 0.373147 0.348533 0.331493 0.31824 0.322027 0.3296 +0.310667 0.299307 0.303093 0.3012 0.304987 0.308773 0.31256 0.382613 +0.456453 0.412907 0.34096 0.314453 0.3012 0.3012 0.293627 0.299307 +0.3012 0.303093 0.310667 0.342853 0.405333 0.501263 0.523368 0.514526 +0.441307 0.34664 0.320133 0.314453 0.31824 0.361787 0.490533 0.572632 +0.623158 0.618737 0.578316 0.518947 0.439413 0.376933 0.34096 0.325813 +0.316347 0.308773 0.310667 0.31256 0.304987 0.299307 0.3012 0.30688 +0.31256 0.325813 0.371253 0.45456 0.515158 0.532842 0.518947 0.439413 +0.354213 0.337173 0.339067 0.382613 0.39208 0.34096 0.320133 0.325813 +0.320133 0.333387 0.350427 0.354213 0.371253 0.46024 0.589053 0.760211 +0.868842 0.850526 0.707158 0.534105 0.384507 0.37504 0.401547 0.422373 +0.411013 0.401547 0.433733 0.481067 0.49432 0.48296 0.48296 0.504421 +0.531579 0.635789 0.829684 0.983592 1.01886 1.02963 1.03453 1.03584 +1.03812 1.04204 1.04139 1.044 1.04857 1.05053 1.0538 1.05347 +1.05118 1.05118 1.04857 1.04596 1.04759 1.04759 1.04955 1.05478 +1.05412 1.05086 1.05118 1.05086 1.05086 1.04988 1.04922 1.04824 +1.04596 1.04171 1.03453 1.03061 1.02833 1.02473 1.02441 1.028 +1.03029 1.02931 1.03029 1.0342 1.0378 1.03878 1.04139 1.04269 +1.04171 1.04269 1.04204 1.04139 1.03878 1.0391 1.04106 1.04171 +1.04041 1.04106 1.04335 1.044 1.04661 1.04629 1.04302 1.04302 +1.04269 1.04367 1.044 1.04498 1.04563 1.04237 1.04433 1.04433 +1.04073 1.03878 1.04041 1.03616 1.0378 1.03976 1.03682 1.0391 +1.03649 1.03322 1.02996 1.02931 1.02963 1.02963 1.02865 1.03094 +1.028 1.02473 1.02637 1.028 1.02669 1.02408 1.02473 1.02669 +1.02898 1.02898 1.02637 1.02898 1.03322 1.03159 1.02898 1.03192 +1.0342 1.03127 1.03029 1.03257 1.03518 1.03682 1.03486 1.03127 +1.03192 1.03518 1.03518 1.03616 1.03714 1.03812 1.04139 1.04171 +1.04367 1.04204 1.04171 1.04269 1.04269 1.04269 1.04237 1.04139 +1.04171 1.04302 1.04335 1.04563 1.04629 1.04563 1.04629 1.04465 +1.04694 1.04465 1.04433 1.044 1.04335 1.04433 1.04596 1.04596 +1.04367 1.04171 1.03976 1.03878 1.03878 1.03747 1.03649 1.03486 +1.03355 1.0329 1.03159 1.03192 1.03094 1.028 1.02539 1.02376 +1.02114 1.00612 0.955368 0.822105 0.646526 0.503158 0.322027 0.2728 +0.265227 0.280373 0.276587 0.259547 0.26144 0.270907 0.282267 0.274693 +0.274693 0.282267 0.280373 0.29552 0.314453 0.308773 0.303093 0.297413 +0.304987 0.316347 0.303093 0.286053 0.286053 0.304987 0.337173 0.378827 +0.376933 0.331493 0.28984 0.270907 0.286053 0.287947 0.274693 0.299307 +0.3296 0.304987 0.28416 0.291733 0.297413 0.299307 0.293627 0.293627 +0.299307 0.316347 0.342853 0.36936 0.399653 0.39208 0.339067 0.30688 +0.316347 0.3296 0.337173 0.350427 0.36936 0.428053 0.550526 0.724842 +0.940211 1.02604 1.0391 1.02898 1.02898 1.04041 1.05151 1.05184 +1.02702 1.00808 1.00645 1.00873 1.01167 1.012 1.00939 1.00678 +1.00188 0.994694 0.986204 0.977474 0.966105 0.957263 0.954737 0.955368 +0.955368 0.952842 0.957895 0.980327 0.981959 0.877053 0.671789 0.513263 +0.39776 0.36368 0.263333 0.000906667 0.000866667 0.000833333 0.000813333 0.000833333 +0.000813333 0.000773333 0.000773333 0.00076 0.00076 0.000773333 0.00076 0.00072 +0.000733333 0.000746667 0.000706667 0.000713333 0.000726667 0.000713333 0.00072 0.00072 +0.0007 0.000706667 0.00074 0.000753333 0.00074 0.0007 0.000686667 0.000693333 +0.000733333 0.000746667 0.000746667 0.000746667 0.000733333 0.00074 0.000746667 0.000746667 +0.000753333 0.000746667 0.000733333 0.000726667 0.000726667 0.000706667 0.000713333 0.000733333 +0.000746667 0.000706667 0.000713333 0.000726667 0.00072 0.000726667 0.000733333 0.00072 +0.00072 0.00074 0.00072 0.00072 0.000733333 0.000726667 0.000713333 0.0007 +0.000713333 0.000726667 0.000726667 0.00072 0.0007 0.000686667 0.000693333 0.000713333 +0.00072 0.000706667 0.000713333 0.000713333 0.000713333 0.000726667 0.000713333 0.000713333 +0.000713333 0.000713333 0.000713333 0.00072 0.000733333 0.000733333 0.000746667 0.00072 +0.000693333 0.00072 0.000746667 0.00074 0.000713333 0.000746667 0.000753333 0.000733333 +0.000726667 0.000733333 0.000733333 0.00076 0.000766667 0.000766667 0.000746667 0.000746667 +0.000746667 0.000753333 0.000773333 0.000766667 0.000773333 0.000813333 0.000786667 0.000793333 +0.0008 0.000806667 0.000826667 0.000926667 0.28416 0.350427 0.297413 0.248187 +0.3012 0.388293 0.548632 0.752 0.945895 0.990776 0.975579 0.954737 +0.945895 0.945263 0.948421 0.952842 0.958526 0.964211 0.977474 0.989796 +0.999918 1.00253 1.00449 1.00482 1.00024 0.992082 0.987184 0.987837 +0.989143 0.986857 0.966737 0.871368 0.709684 0.566947 0.473493 0.382613 +0.348533 0.331493 0.316347 0.316347 0.320133 0.3296 0.325813 0.331493 +0.365573 0.371253 0.344747 0.33528 0.33528 0.34096 0.371253 0.373147 +0.3296 0.314453 0.3296 0.331493 0.320133 0.31824 0.333387 0.40344 +0.43752 0.373147 0.32392 0.304987 0.299307 0.291733 0.280373 0.280373 +0.287947 0.308773 0.327707 0.34664 0.373147 0.429947 0.508842 0.528421 +0.510105 0.395867 0.320133 0.308773 0.308773 0.32392 0.401547 0.556842 +0.677474 0.731789 0.667368 0.539158 0.382613 0.310667 0.30688 0.322027 +0.32392 0.3012 0.287947 0.287947 0.28984 0.291733 0.297413 0.304987 +0.314453 0.327707 0.35232 0.401547 0.45456 0.501895 0.508842 0.446987 +0.358 0.342853 0.342853 0.39776 0.452667 0.418587 0.35232 0.333387 +0.3296 0.325813 0.331493 0.350427 0.3864 0.500632 0.621895 0.779789 +0.856842 0.808842 0.647789 0.49432 0.358 0.36936 0.393973 0.4148 +0.4148 0.428053 0.48296 0.492427 0.5 0.501263 0.501263 0.506947 +0.542316 0.68 0.882105 0.999918 1.02702 1.0329 1.03551 1.03747 +1.03943 1.04302 1.04335 1.04498 1.04857 1.0502 1.05184 1.05249 +1.05184 1.0502 1.04824 1.04792 1.04988 1.04759 1.04661 1.05249 +1.05608 1.05314 1.05282 1.05151 1.04988 1.04857 1.04759 1.04759 +1.04563 1.04367 1.03518 1.02931 1.028 1.02637 1.02506 1.02735 +1.02963 1.03192 1.03061 1.03257 1.03551 1.0378 1.04237 1.04433 +1.04367 1.04433 1.04302 1.04367 1.04106 1.04073 1.04073 1.04139 +1.04073 1.04106 1.04433 1.04335 1.04465 1.04433 1.04269 1.04367 +1.04367 1.04269 1.04204 1.04302 1.044 1.04237 1.04269 1.04237 +1.03943 1.03878 1.04171 1.0378 1.03747 1.03878 1.03943 1.04008 +1.03518 1.03094 1.02865 1.028 1.02767 1.02931 1.03094 1.03257 +1.02833 1.02637 1.02637 1.02702 1.02702 1.02473 1.02604 1.028 +1.02996 1.03029 1.02833 1.02963 1.03257 1.02996 1.02865 1.03192 +1.03518 1.03322 1.0329 1.03388 1.03486 1.03518 1.03355 1.03224 +1.03192 1.03584 1.03943 1.04171 1.04106 1.0391 1.04106 1.04139 +1.04269 1.03943 1.04073 1.04465 1.04531 1.04498 1.04302 1.04302 +1.04629 1.04824 1.04727 1.0489 1.04759 1.04629 1.04531 1.04727 +1.04596 1.04335 1.04563 1.044 1.044 1.04531 1.04531 1.04531 +1.04433 1.04335 1.04204 1.04106 1.04073 1.03812 1.03518 1.03453 +1.03453 1.03322 1.03094 1.03224 1.03029 1.02833 1.02637 1.02473 +1.01951 1.00547 0.961053 0.822105 0.635789 0.469707 0.28416 0.234933 +0.231147 0.25576 0.265227 0.251973 0.25576 0.259547 0.269013 0.276587 +0.26712 0.263333 0.269013 0.286053 0.293627 0.287947 0.28984 0.310667 +0.3296 0.339067 0.320133 0.291733 0.287947 0.29552 0.310667 0.325813 +0.320133 0.297413 0.27848 0.27848 0.293627 0.304987 0.28984 0.29552 +0.337173 0.327707 0.29552 0.291733 0.293627 0.29552 0.293627 0.287947 +0.28984 0.29552 0.3012 0.325813 0.36936 0.376933 0.339067 0.310667 +0.31256 0.31824 0.320133 0.33528 0.350427 0.39776 0.517684 0.653474 +0.861895 1.0022 1.03094 1.02833 1.02767 1.03812 1.04661 1.04759 +1.02898 1.00841 1.00449 1.00645 1.00939 1.01004 1.00906 1.00906 +1.00514 0.998939 0.990122 0.982286 0.971158 0.961684 0.954105 0.952842 +0.953474 0.949684 0.949684 0.961053 0.982612 0.957895 0.803158 0.599158 +0.46592 0.393973 0.327707 0.23872 0.000933333 0.000886667 0.00086 0.000866667 +0.00084 0.00078 0.000773333 0.000753333 0.000746667 0.000746667 0.00072 0.0007 +0.000746667 0.000773333 0.000733333 0.000753333 0.000746667 0.000706667 0.00072 0.000733333 +0.00072 0.00072 0.000733333 0.000726667 0.0007 0.00068 0.0007 0.000713333 +0.000726667 0.000726667 0.00072 0.000726667 0.00072 0.000713333 0.000726667 0.00074 +0.00074 0.00072 0.000706667 0.000706667 0.000726667 0.00072 0.000733333 0.000746667 +0.00074 0.000713333 0.00072 0.000733333 0.00072 0.000713333 0.00072 0.00072 +0.0007 0.00072 0.00072 0.00072 0.000746667 0.00074 0.000726667 0.000713333 +0.000706667 0.000713333 0.0007 0.000706667 0.000733333 0.00072 0.000693333 0.0007 +0.000713333 0.000713333 0.000713333 0.000706667 0.000713333 0.000733333 0.00072 0.000726667 +0.000733333 0.000726667 0.000706667 0.00072 0.000726667 0.000733333 0.000746667 0.000726667 +0.000693333 0.0007 0.000726667 0.000733333 0.000706667 0.000726667 0.000753333 0.000746667 +0.00076 0.000753333 0.000733333 0.000753333 0.00076 0.00074 0.000746667 0.000773333 +0.00078 0.000753333 0.000753333 0.000766667 0.000773333 0.000793333 0.000793333 0.0008 +0.00082 0.00082 0.000873333 0.23304 0.327707 0.339067 0.265227 0.265227 +0.34664 0.500632 0.657263 0.878947 0.98849 0.985224 0.965474 0.957263 +0.952842 0.949684 0.950316 0.952211 0.957895 0.968 0.984245 0.997306 +1.00384 1.00318 1.00449 1.00318 0.998286 0.989796 0.98751 0.989796 +0.988163 0.983265 0.947158 0.820211 0.644 0.520211 0.401547 0.35232 +0.342853 0.331493 0.316347 0.310667 0.308773 0.325813 0.34096 0.34664 +0.367467 0.358 0.327707 0.316347 0.314453 0.33528 0.378827 0.371253 +0.31824 0.310667 0.344747 0.35232 0.337173 0.333387 0.356107 0.411013 +0.399653 0.325813 0.3012 0.291733 0.287947 0.282267 0.2728 0.276587 +0.291733 0.31256 0.327707 0.32392 0.316347 0.325813 0.367467 0.456453 +0.501895 0.435627 0.350427 0.314453 0.3012 0.3012 0.339067 0.515158 +0.664842 0.784211 0.733053 0.573263 0.40344 0.303093 0.28416 0.299307 +0.322027 0.310667 0.293627 0.29552 0.29552 0.304987 0.316347 0.31256 +0.322027 0.34096 0.34664 0.376933 0.416693 0.464027 0.498107 0.441307 +0.358 0.3296 0.344747 0.388293 0.481067 0.515158 0.48864 0.395867 +0.34664 0.327707 0.337173 0.373147 0.411013 0.508842 0.628211 0.763368 +0.808211 0.736842 0.585895 0.42616 0.34096 0.361787 0.38072 0.39208 +0.412907 0.4716 0.514526 0.501895 0.4716 0.48864 0.501263 0.510737 +0.563158 0.726737 0.92379 1.01004 1.02996 1.0329 1.03355 1.03584 +1.0391 1.04335 1.04661 1.04824 1.05086 1.05118 1.04922 1.04988 +1.04955 1.04759 1.04694 1.04759 1.0489 1.04759 1.04759 1.05184 +1.0551 1.05216 1.05184 1.05118 1.05118 1.0489 1.04792 1.0489 +1.04661 1.044 1.03551 1.02865 1.02767 1.02735 1.02539 1.02669 +1.02898 1.03322 1.03257 1.03192 1.03486 1.03714 1.04106 1.04269 +1.04237 1.044 1.04139 1.04367 1.04335 1.04139 1.04041 1.04204 +1.03976 1.03976 1.04465 1.04367 1.04302 1.04269 1.04171 1.04367 +1.04661 1.04531 1.04335 1.04204 1.044 1.04465 1.04106 1.03878 +1.03845 1.0391 1.04008 1.03747 1.03682 1.03682 1.03616 1.03714 +1.03518 1.03127 1.02898 1.02735 1.02637 1.028 1.03159 1.03192 +1.02767 1.028 1.02506 1.02669 1.02735 1.02441 1.02637 1.02996 +1.03127 1.02865 1.02767 1.03061 1.0329 1.03061 1.03094 1.03322 +1.03192 1.03127 1.03257 1.0342 1.0342 1.03322 1.03453 1.03649 +1.03518 1.03649 1.04041 1.04237 1.04269 1.04106 1.04139 1.04335 +1.04302 1.04008 1.04171 1.04498 1.04792 1.04792 1.04694 1.04661 +1.04759 1.04694 1.04727 1.0489 1.04824 1.04661 1.04596 1.04727 +1.04367 1.04367 1.04465 1.04073 1.04139 1.04563 1.04596 1.04498 +1.04269 1.04139 1.04367 1.04367 1.04073 1.03649 1.03518 1.03551 +1.03453 1.03224 1.03029 1.03029 1.02865 1.02702 1.02506 1.02408 +1.01853 1.00482 0.962316 0.820211 0.633895 0.469707 0.274693 0.219787 +0.000993333 0.23872 0.26144 0.253867 0.242507 0.240613 0.270907 0.291733 +0.280373 0.265227 0.257653 0.26712 0.280373 0.29552 0.308773 0.322027 +0.327707 0.333387 0.320133 0.28984 0.282267 0.28416 0.286053 0.293627 +0.291733 0.293627 0.28984 0.297413 0.31256 0.310667 0.291733 0.304987 +0.339067 0.337173 0.299307 0.303093 0.322027 0.303093 0.287947 0.286053 +0.286053 0.28416 0.282267 0.303093 0.359893 0.39208 0.36936 0.333387 +0.316347 0.320133 0.32392 0.34096 0.348533 0.36936 0.46592 0.588421 +0.779789 0.968 1.01918 1.02408 1.02343 1.03257 1.03943 1.04008 +1.02669 1.0071 1.00155 1.00514 1.00841 1.00939 1.00906 1.00873 +1.00547 1.00057 0.992408 0.984245 0.974316 0.964211 0.958526 0.954105 +0.954737 0.950947 0.946526 0.948421 0.969263 0.982612 0.910526 0.719789 +0.542316 0.42048 0.36936 0.287947 0.000973333 0.000853333 0.000826667 0.000846667 +0.000826667 0.000793333 0.000793333 0.00076 0.00074 0.000746667 0.00074 0.000713333 +0.000753333 0.000766667 0.000726667 0.00072 0.00072 0.000733333 0.000746667 0.000733333 +0.000713333 0.000693333 0.0007 0.000713333 0.000713333 0.000713333 0.000713333 0.000713333 +0.000713333 0.00074 0.00072 0.00072 0.000713333 0.000706667 0.000726667 0.000733333 +0.000726667 0.000706667 0.000686667 0.000706667 0.0007 0.000713333 0.00072 0.000733333 +0.000726667 0.000726667 0.000726667 0.000733333 0.00072 0.00072 0.000713333 0.00072 +0.000713333 0.00072 0.000726667 0.000726667 0.00074 0.000726667 0.000733333 0.000726667 +0.000713333 0.00072 0.000726667 0.000726667 0.000726667 0.000733333 0.000726667 0.000726667 +0.000706667 0.000706667 0.00072 0.00072 0.00072 0.000733333 0.000733333 0.000733333 +0.000753333 0.000733333 0.0007 0.0007 0.0007 0.000686667 0.000713333 0.000726667 +0.000726667 0.00072 0.000706667 0.000706667 0.000713333 0.00072 0.000713333 0.000713333 +0.00074 0.000766667 0.000733333 0.000733333 0.000753333 0.000753333 0.00074 0.000753333 +0.000773333 0.000766667 0.000766667 0.000786667 0.0008 0.000806667 0.000793333 0.000793333 +0.00082 0.000846667 0.000953333 0.28416 0.350427 0.29552 0.23304 0.282267 +0.416693 0.580842 0.790526 0.966737 0.991429 0.973053 0.958526 0.957263 +0.957263 0.953474 0.952842 0.952211 0.956632 0.970526 0.989143 0.999592 +1.00384 1.00351 1.00253 1.00188 0.994041 0.987184 0.988163 0.991429 +0.989469 0.981306 0.921263 0.769053 0.593474 0.479173 0.371253 0.34096 +0.34096 0.331493 0.322027 0.316347 0.314453 0.337173 0.359893 0.35232 +0.348533 0.337173 0.320133 0.31256 0.304987 0.316347 0.331493 0.31256 +0.291733 0.303093 0.339067 0.34096 0.331493 0.344747 0.37504 0.39776 +0.356107 0.303093 0.28984 0.291733 0.286053 0.287947 0.293627 0.3012 +0.310667 0.310667 0.297413 0.29552 0.293627 0.28416 0.299307 0.342853 +0.43184 0.469707 0.407227 0.32392 0.286053 0.287947 0.310667 0.424267 +0.594737 0.728632 0.715368 0.589053 0.467813 0.339067 0.297413 0.297413 +0.322027 0.333387 0.325813 0.316347 0.293627 0.299307 0.314453 0.31824 +0.337173 0.356107 0.35232 0.342853 0.378827 0.446987 0.469707 0.428053 +0.36936 0.327707 0.333387 0.373147 0.496213 0.567579 0.574526 0.512632 +0.401547 0.354213 0.34664 0.371253 0.42616 0.512 0.608 0.712211 +0.733684 0.656632 0.538526 0.411013 0.35232 0.359893 0.37504 0.38072 +0.411013 0.473493 0.508842 0.481067 0.4432 0.4716 0.503789 0.525895 +0.606105 0.782947 0.957895 1.01527 1.02963 1.03159 1.03257 1.03486 +1.03845 1.04302 1.04694 1.0489 1.04955 1.05151 1.05151 1.04988 +1.04857 1.04727 1.04661 1.04792 1.04988 1.04988 1.04988 1.05053 +1.05086 1.0489 1.0489 1.04988 1.04988 1.04824 1.04792 1.0489 +1.04629 1.04335 1.03649 1.02898 1.02702 1.02833 1.02702 1.02963 +1.02963 1.03159 1.03127 1.03061 1.03322 1.03486 1.03845 1.04171 +1.04171 1.04498 1.04139 1.04171 1.04204 1.04008 1.04139 1.04302 +1.04139 1.04106 1.04498 1.04465 1.04302 1.044 1.04269 1.04237 +1.04531 1.04465 1.04563 1.04498 1.04465 1.04433 1.04302 1.04008 +1.03845 1.03976 1.03943 1.03682 1.03551 1.03388 1.03224 1.03388 +1.0342 1.03159 1.028 1.02506 1.02343 1.02833 1.03159 1.02898 +1.02637 1.02735 1.02571 1.02996 1.02833 1.02506 1.02604 1.02833 +1.03127 1.02898 1.02833 1.03224 1.0329 1.03224 1.03224 1.03322 +1.03029 1.02931 1.03159 1.03551 1.03453 1.03388 1.03486 1.03584 +1.03584 1.03714 1.04041 1.04073 1.03878 1.04073 1.04335 1.04563 +1.04367 1.04237 1.04694 1.04792 1.04857 1.04824 1.04792 1.04824 +1.04792 1.04596 1.04661 1.0489 1.04857 1.04629 1.04629 1.04465 +1.04204 1.04237 1.04073 1.03878 1.04139 1.04498 1.04694 1.04661 +1.04302 1.04106 1.04204 1.04237 1.04041 1.03747 1.03649 1.03486 +1.03192 1.03094 1.03094 1.03029 1.028 1.02637 1.02539 1.0231 +1.01722 1.00612 0.965474 0.821474 0.640842 0.501895 0.299307 0.229253 +0.217893 0.2444 0.26712 0.265227 0.240613 0.22736 0.26712 0.297413 +0.287947 0.26144 0.253867 0.263333 0.286053 0.310667 0.316347 0.303093 +0.297413 0.3012 0.299307 0.276587 0.270907 0.2728 0.274693 0.28416 +0.286053 0.28984 0.303093 0.34096 0.35232 0.314453 0.29552 0.297413 +0.33528 0.342853 0.304987 0.303093 0.32392 0.297413 0.28416 0.287947 +0.287947 0.28416 0.286053 0.291733 0.327707 0.388293 0.399653 0.361787 +0.333387 0.337173 0.34096 0.350427 0.35232 0.359893 0.418587 0.541053 +0.700842 0.903579 1.00318 1.01657 1.0182 1.02604 1.03192 1.03094 +1.01951 1.00384 1.00024 1.0058 1.00971 1.01004 1.01004 1.00971 +1.00743 1.0022 0.994694 0.986204 0.978105 0.965474 0.959158 0.956 +0.957895 0.955368 0.948421 0.944632 0.954105 0.979368 0.971158 0.846105 +0.640842 0.501895 0.393973 0.337173 0.240613 0.000866667 0.000853333 0.00086 +0.000826667 0.000806667 0.000773333 0.00074 0.000733333 0.000753333 0.00076 0.000746667 +0.000753333 0.00074 0.000726667 0.000753333 0.00074 0.000746667 0.000726667 0.000706667 +0.0007 0.000706667 0.000733333 0.00076 0.00074 0.000706667 0.000693333 0.0007 +0.000726667 0.000733333 0.000733333 0.00074 0.000713333 0.000706667 0.000713333 0.0007 +0.0007 0.00068 0.000693333 0.00072 0.000706667 0.000706667 0.00072 0.000726667 +0.000726667 0.000733333 0.000726667 0.000726667 0.00072 0.00074 0.000726667 0.000713333 +0.000713333 0.000713333 0.000713333 0.000726667 0.00072 0.000706667 0.000713333 0.00072 +0.000726667 0.000713333 0.000726667 0.000733333 0.000726667 0.000713333 0.000706667 0.00074 +0.000733333 0.00072 0.000713333 0.0007 0.0007 0.00072 0.00072 0.00072 +0.000706667 0.000706667 0.0007 0.000693333 0.000706667 0.000706667 0.0007 0.000706667 +0.000713333 0.000713333 0.000706667 0.000706667 0.000726667 0.000733333 0.000726667 0.000706667 +0.000733333 0.000766667 0.000753333 0.000733333 0.000746667 0.000753333 0.000746667 0.000733333 +0.00074 0.000753333 0.000766667 0.000806667 0.000813333 0.000806667 0.000793333 0.0008 +0.000826667 0.00086 0.22736 0.325813 0.337173 0.259547 0.242507 0.32392 +0.518947 0.694526 0.904842 0.990449 0.982939 0.957895 0.949684 0.949053 +0.952211 0.953474 0.953474 0.952842 0.961053 0.980653 0.994041 1.00024 +1.00122 1.00155 1.00155 0.999918 0.992408 0.98849 0.988816 0.990449 +0.986857 0.971158 0.888421 0.717263 0.551789 0.422373 0.356107 0.339067 +0.325813 0.31824 0.314453 0.31256 0.322027 0.34096 0.354213 0.333387 +0.322027 0.322027 0.308773 0.303093 0.299307 0.304987 0.304987 0.291733 +0.27848 0.293627 0.308773 0.308773 0.310667 0.325813 0.36368 0.376933 +0.33528 0.29552 0.282267 0.28416 0.291733 0.29552 0.299307 0.29552 +0.299307 0.291733 0.287947 0.28984 0.287947 0.28416 0.293627 0.31256 +0.376933 0.46592 0.452667 0.344747 0.293627 0.28984 0.297413 0.344747 +0.519579 0.622526 0.637684 0.561263 0.47728 0.388293 0.34664 0.325813 +0.33528 0.35232 0.344747 0.32392 0.299307 0.299307 0.308773 0.314453 +0.33528 0.358 0.36368 0.348533 0.361787 0.42048 0.4432 0.407227 +0.367467 0.327707 0.32392 0.361787 0.492427 0.596632 0.647158 0.586526 +0.512 0.424267 0.37504 0.365573 0.416693 0.508842 0.581474 0.650947 +0.651579 0.577684 0.498107 0.39776 0.365573 0.359893 0.378827 0.3864 +0.40912 0.462133 0.501895 0.498107 0.469707 0.479173 0.501263 0.527158 +0.630737 0.825895 0.981306 1.01853 1.02996 1.03224 1.03388 1.03649 +1.03943 1.04367 1.04694 1.0489 1.04759 1.04857 1.0502 1.04629 +1.04465 1.04727 1.0489 1.04824 1.0489 1.05118 1.05118 1.05086 +1.05151 1.05053 1.04955 1.0489 1.04857 1.04727 1.04955 1.04988 +1.04596 1.04433 1.03878 1.03127 1.02931 1.03094 1.02898 1.03061 +1.0329 1.03257 1.03094 1.03094 1.0329 1.03322 1.03714 1.04171 +1.04139 1.04563 1.04335 1.04171 1.04106 1.04008 1.04204 1.04367 +1.04302 1.04041 1.04367 1.044 1.04204 1.04563 1.04596 1.04302 +1.04237 1.03943 1.04171 1.04335 1.04335 1.04171 1.04237 1.04171 +1.03714 1.0378 1.0391 1.03747 1.03551 1.03486 1.03224 1.0329 +1.03029 1.02735 1.02735 1.02669 1.02669 1.028 1.02735 1.02833 +1.02735 1.02506 1.02473 1.02931 1.02702 1.02506 1.02702 1.02865 +1.03224 1.02898 1.02865 1.03224 1.03029 1.02963 1.03094 1.03127 +1.03224 1.03192 1.0329 1.03584 1.03453 1.03584 1.03486 1.03551 +1.03747 1.03878 1.04041 1.04269 1.04237 1.04596 1.0489 1.04922 +1.04563 1.044 1.04759 1.04824 1.04759 1.04629 1.04629 1.04792 +1.04661 1.04596 1.04694 1.04792 1.04727 1.04596 1.04596 1.04335 +1.04335 1.04269 1.04139 1.04171 1.04433 1.04596 1.04792 1.04727 +1.04335 1.04433 1.04335 1.03878 1.03943 1.03976 1.03682 1.03322 +1.03159 1.03127 1.03029 1.02898 1.02669 1.02669 1.02637 1.0231 +1.0182 1.00841 0.968632 0.827789 0.654737 0.513263 0.325813 0.26144 +0.246293 0.263333 0.28416 0.27848 0.2444 0.23872 0.276587 0.297413 +0.280373 0.26144 0.25008 0.259547 0.28416 0.304987 0.304987 0.291733 +0.29552 0.29552 0.286053 0.282267 0.28416 0.286053 0.286053 0.28984 +0.28416 0.282267 0.30688 0.358 0.35232 0.303093 0.28984 0.304987 +0.331493 0.333387 0.28984 0.29552 0.30688 0.293627 0.282267 0.293627 +0.3012 0.293627 0.28984 0.280373 0.291733 0.367467 0.429947 0.42048 +0.384507 0.361787 0.339067 0.333387 0.34096 0.36368 0.412907 0.510105 +0.632 0.832842 0.982939 1.00743 1.01233 1.01886 1.02441 1.02441 +1.01461 1.00253 1.00024 1.00547 1.00971 1.01037 1.01069 1.01037 +1.00808 1.00416 0.998286 0.990122 0.982286 0.971158 0.961684 0.956 +0.956632 0.957263 0.950947 0.943368 0.945263 0.964211 0.985551 0.945263 +0.771579 0.570105 0.43184 0.378827 0.299307 0.000973333 0.00088 0.00086 +0.000813333 0.000793333 0.000766667 0.000753333 0.000746667 0.00076 0.00076 0.000746667 +0.000753333 0.000753333 0.000773333 0.000773333 0.00074 0.000726667 0.000713333 0.00072 +0.000713333 0.000713333 0.00076 0.000746667 0.000713333 0.000713333 0.000713333 0.00072 +0.000726667 0.000726667 0.000733333 0.00072 0.000706667 0.000726667 0.00072 0.000713333 +0.000713333 0.000706667 0.0007 0.000693333 0.000733333 0.000733333 0.000733333 0.00074 +0.00074 0.00074 0.00074 0.000753333 0.00074 0.000746667 0.00074 0.000713333 +0.00072 0.000706667 0.000713333 0.000733333 0.000733333 0.000713333 0.00072 0.000713333 +0.000713333 0.00072 0.00072 0.00072 0.000706667 0.000726667 0.000693333 0.000693333 +0.000713333 0.00072 0.000726667 0.000706667 0.0007 0.000706667 0.00072 0.000713333 +0.0007 0.0007 0.000713333 0.000693333 0.000713333 0.000733333 0.000726667 0.00072 +0.000713333 0.000706667 0.00072 0.000726667 0.00074 0.00076 0.00076 0.00074 +0.00074 0.000753333 0.000766667 0.00074 0.000746667 0.000753333 0.000746667 0.000746667 +0.000753333 0.000746667 0.00074 0.000773333 0.000793333 0.000813333 0.000806667 0.000833333 +0.000853333 0.000926667 0.270907 0.348533 0.3012 0.242507 0.291733 0.435627 +0.608 0.822737 0.974316 0.987837 0.964211 0.949053 0.945895 0.947158 +0.950316 0.955368 0.954737 0.955368 0.968632 0.987184 0.997959 1.00253 +1.00318 1.00122 1.00057 0.996 0.989469 0.989469 0.989143 0.987837 +0.982286 0.949684 0.847368 0.664842 0.516421 0.3864 0.344747 0.3296 +0.31256 0.303093 0.30688 0.314453 0.322027 0.3296 0.327707 0.31256 +0.303093 0.303093 0.29552 0.28984 0.28416 0.297413 0.310667 0.303093 +0.28984 0.287947 0.28984 0.297413 0.316347 0.333387 0.356107 0.37504 +0.344747 0.29552 0.270907 0.276587 0.286053 0.287947 0.282267 0.282267 +0.282267 0.29552 0.303093 0.310667 0.293627 0.28416 0.293627 0.30688 +0.342853 0.433733 0.48296 0.407227 0.327707 0.299307 0.293627 0.314453 +0.422373 0.541684 0.568211 0.522737 0.424267 0.388293 0.371253 0.356107 +0.371253 0.378827 0.365573 0.32392 0.3012 0.3012 0.303093 0.310667 +0.333387 0.36936 0.407227 0.40912 0.39776 0.416693 0.458347 0.456453 +0.405333 0.350427 0.32392 0.348533 0.473493 0.602947 0.694526 0.654737 +0.557474 0.48296 0.399653 0.378827 0.418587 0.503789 0.558737 0.59979 +0.577684 0.520842 0.439413 0.39776 0.378827 0.373147 0.37504 0.378827 +0.39208 0.433733 0.48296 0.506947 0.511368 0.507579 0.504421 0.522737 +0.642737 0.853053 0.989796 1.01918 1.028 1.03159 1.03518 1.03747 +1.04008 1.04367 1.04563 1.04661 1.04694 1.04759 1.0489 1.044 +1.04008 1.044 1.0489 1.04792 1.04727 1.0502 1.04988 1.04988 +1.05249 1.05282 1.04955 1.04824 1.04824 1.04629 1.0489 1.05053 +1.04857 1.04629 1.04041 1.03257 1.03192 1.03224 1.02996 1.02865 +1.03159 1.03355 1.0329 1.03061 1.0342 1.03388 1.03486 1.04041 +1.04073 1.04465 1.04465 1.04204 1.04139 1.04171 1.04204 1.04465 +1.04433 1.04139 1.04433 1.044 1.04106 1.044 1.04433 1.04302 +1.04335 1.03878 1.04139 1.04367 1.04237 1.04008 1.04041 1.04139 +1.03845 1.03878 1.03812 1.03584 1.03322 1.03518 1.03355 1.03224 +1.02963 1.02865 1.02833 1.02669 1.02767 1.02898 1.02767 1.02833 +1.02735 1.02604 1.02702 1.02735 1.02473 1.02506 1.02833 1.02931 +1.03159 1.02898 1.02833 1.02996 1.03029 1.02996 1.03029 1.03029 +1.03388 1.03453 1.03518 1.03682 1.03388 1.03584 1.03714 1.04041 +1.04269 1.04335 1.04367 1.04563 1.04498 1.04792 1.04824 1.04759 +1.04596 1.04563 1.04694 1.04727 1.04563 1.04531 1.04563 1.04563 +1.04433 1.04498 1.04596 1.04531 1.04465 1.04498 1.04498 1.04498 +1.04563 1.04302 1.04204 1.04269 1.04433 1.04563 1.04498 1.04433 +1.04367 1.04563 1.044 1.04008 1.03845 1.04041 1.03584 1.03257 +1.03388 1.03224 1.03029 1.02898 1.02702 1.02571 1.0231 1.02114 +1.01918 1.00906 0.970526 0.837263 0.668632 0.521474 0.337173 0.276587 +0.269013 0.276587 0.28984 0.280373 0.25008 0.251973 0.28416 0.299307 +0.28416 0.263333 0.259547 0.263333 0.28416 0.308773 0.325813 0.31824 +0.308773 0.293627 0.276587 0.282267 0.28416 0.276587 0.280373 0.27848 +0.2728 0.274693 0.297413 0.339067 0.337173 0.297413 0.286053 0.3012 +0.320133 0.327707 0.3012 0.29552 0.3012 0.29552 0.29552 0.31256 +0.316347 0.293627 0.27848 0.28416 0.293627 0.35232 0.43184 0.458347 +0.422373 0.38072 0.350427 0.342853 0.348533 0.36936 0.405333 0.464027 +0.574526 0.762737 0.940211 0.996653 1.00449 1.01037 1.0182 1.01951 +1.01004 0.998939 0.998612 1.00514 1.00939 1.01037 1.01004 1.00906 +1.00743 1.0058 1.00024 0.992735 0.985878 0.98 0.967368 0.957263 +0.957263 0.958526 0.952842 0.947158 0.944632 0.954737 0.981633 0.984571 +0.887789 0.680632 0.518316 0.399653 0.344747 0.25008 0.000906667 0.000853333 +0.000806667 0.0008 0.000786667 0.000766667 0.000753333 0.000773333 0.000766667 0.000746667 +0.000773333 0.000766667 0.000753333 0.0007 0.000713333 0.000746667 0.00074 0.00074 +0.000706667 0.000693333 0.000726667 0.000706667 0.000706667 0.000733333 0.00072 0.0007 +0.0007 0.0007 0.000713333 0.0007 0.00072 0.000753333 0.000733333 0.000713333 +0.000693333 0.000693333 0.000686667 0.0007 0.000726667 0.000726667 0.000726667 0.000713333 +0.000713333 0.000706667 0.000706667 0.000726667 0.000733333 0.000726667 0.000713333 0.000706667 +0.000713333 0.000706667 0.000713333 0.00072 0.000733333 0.000733333 0.000753333 0.00074 +0.000713333 0.000713333 0.00072 0.00072 0.00072 0.000726667 0.000733333 0.000733333 +0.000733333 0.00074 0.00072 0.000706667 0.000686667 0.000693333 0.000713333 0.00072 +0.000713333 0.000713333 0.00072 0.000706667 0.000713333 0.000726667 0.000726667 0.00072 +0.000733333 0.000726667 0.00074 0.000733333 0.000713333 0.000726667 0.000746667 0.00074 +0.00074 0.00076 0.000766667 0.000746667 0.000773333 0.00078 0.00076 0.00076 +0.000773333 0.000773333 0.000753333 0.000773333 0.00078 0.0008 0.000793333 0.0008 +0.00086 0.225467 0.314453 0.34664 0.26712 0.25008 0.344747 0.534737 +0.724842 0.925684 0.989469 0.979368 0.954105 0.945895 0.944 0.945895 +0.952211 0.959789 0.958526 0.961684 0.979368 0.992408 0.999265 1.00286 +1.00416 1.00122 0.999918 0.994041 0.988163 0.988163 0.98751 0.985551 +0.978105 0.933263 0.810105 0.616211 0.462133 0.36368 0.339067 0.322027 +0.31256 0.30688 0.304987 0.310667 0.31256 0.308773 0.310667 0.304987 +0.297413 0.29552 0.291733 0.27848 0.2728 0.299307 0.31256 0.29552 +0.282267 0.280373 0.293627 0.31824 0.33528 0.337173 0.35232 0.382613 +0.376933 0.333387 0.297413 0.291733 0.29552 0.287947 0.276587 0.269013 +0.276587 0.293627 0.320133 0.331493 0.308773 0.291733 0.308773 0.32392 +0.337173 0.407227 0.49432 0.467813 0.361787 0.3012 0.29552 0.310667 +0.367467 0.486747 0.520842 0.48864 0.38072 0.358 0.36368 0.38072 +0.412907 0.428053 0.399653 0.32392 0.293627 0.297413 0.303093 0.31824 +0.358 0.418587 0.435627 0.401547 0.37504 0.376933 0.428053 0.473493 +0.467813 0.428053 0.378827 0.359893 0.462133 0.602316 0.710316 0.676842 +0.565053 0.501895 0.418587 0.393973 0.458347 0.525263 0.56 0.559368 +0.520211 0.458347 0.416693 0.39776 0.38072 0.37504 0.37504 0.38072 +0.39208 0.422373 0.446987 0.481067 0.505684 0.506316 0.501895 0.531579 +0.665474 0.882105 0.998939 1.02147 1.028 1.0329 1.03682 1.03845 +1.04204 1.04465 1.04367 1.04367 1.04563 1.04727 1.04857 1.04661 +1.04237 1.04433 1.04824 1.04922 1.0502 1.05282 1.05118 1.04857 +1.04988 1.05151 1.04988 1.0489 1.04922 1.04727 1.04629 1.04824 +1.04727 1.04661 1.04237 1.0342 1.0342 1.0342 1.03192 1.028 +1.03061 1.03584 1.03486 1.03061 1.03355 1.0342 1.03388 1.04041 +1.04204 1.044 1.04563 1.04269 1.04041 1.04139 1.04171 1.04367 +1.04302 1.04171 1.044 1.04302 1.04041 1.04269 1.04237 1.04041 +1.04204 1.04008 1.04367 1.04465 1.04237 1.04106 1.03943 1.0391 +1.03714 1.03812 1.03616 1.03224 1.03061 1.0329 1.02996 1.02735 +1.02669 1.02702 1.02637 1.02637 1.02931 1.02931 1.02669 1.02833 +1.02637 1.02539 1.02702 1.02702 1.02571 1.02865 1.03061 1.03061 +1.03224 1.02963 1.02833 1.02767 1.02931 1.03127 1.03127 1.02996 +1.03322 1.03649 1.04041 1.04171 1.03845 1.03649 1.0378 1.04073 +1.04335 1.04629 1.04629 1.04563 1.04367 1.04563 1.04465 1.04041 +1.04106 1.04531 1.04433 1.04531 1.04531 1.04661 1.04629 1.04531 +1.04563 1.04629 1.04661 1.04694 1.04629 1.04302 1.04008 1.04269 +1.04335 1.04171 1.044 1.04433 1.04335 1.04302 1.04139 1.04204 +1.04269 1.04302 1.044 1.04139 1.03845 1.0378 1.03486 1.03322 +1.03355 1.03224 1.03029 1.02898 1.02898 1.02669 1.02278 1.02278 +1.0218 1.01004 0.971789 0.841684 0.671158 0.520842 0.3296 0.269013 +0.26712 0.291733 0.32392 0.320133 0.282267 0.26712 0.28984 0.308773 +0.293627 0.276587 0.27848 0.27848 0.293627 0.32392 0.333387 0.320133 +0.3012 0.280373 0.26712 0.270907 0.274693 0.259547 0.265227 0.280373 +0.282267 0.2728 0.276587 0.316347 0.342853 0.31824 0.29552 0.291733 +0.322027 0.325813 0.310667 0.28984 0.28984 0.293627 0.29552 0.304987 +0.303093 0.287947 0.280373 0.286053 0.299307 0.327707 0.37504 0.40344 +0.3864 0.361787 0.350427 0.361787 0.371253 0.38072 0.401547 0.429947 +0.536632 0.699579 0.889684 0.984571 0.998286 1.00416 1.01135 1.01298 +1.0071 0.997959 0.996 1.00253 1.00678 1.00841 1.00873 1.00808 +1.0071 1.00645 1.0009 0.994694 0.988163 0.98098 0.969263 0.956632 +0.954737 0.955368 0.952842 0.949684 0.945895 0.948421 0.966105 0.985224 +0.964211 0.806947 0.598526 0.452667 0.38072 0.31256 0.22168 0.000886667 +0.000846667 0.000813333 0.000766667 0.00076 0.000766667 0.000786667 0.00078 0.00076 +0.000766667 0.000753333 0.00074 0.00072 0.00074 0.000746667 0.00072 0.000726667 +0.000713333 0.000726667 0.000746667 0.00072 0.00072 0.00072 0.000713333 0.000686667 +0.00068 0.000686667 0.000713333 0.000713333 0.000713333 0.000706667 0.000693333 0.000693333 +0.0007 0.000706667 0.000726667 0.000733333 0.000726667 0.000726667 0.000726667 0.00072 +0.000733333 0.000733333 0.000713333 0.000706667 0.00072 0.000713333 0.000713333 0.000726667 +0.000726667 0.000726667 0.000733333 0.000733333 0.000733333 0.00072 0.000733333 0.000726667 +0.00072 0.00072 0.000713333 0.000726667 0.000733333 0.000726667 0.000713333 0.00072 +0.000733333 0.000753333 0.000733333 0.0007 0.000693333 0.000693333 0.000713333 0.000726667 +0.000713333 0.000713333 0.000726667 0.00072 0.0007 0.000726667 0.000733333 0.00072 +0.000726667 0.000733333 0.000733333 0.00074 0.00072 0.00072 0.00074 0.000746667 +0.00072 0.000746667 0.000753333 0.000726667 0.000766667 0.000793333 0.000786667 0.000773333 +0.000773333 0.000786667 0.000773333 0.000786667 0.0008 0.00082 0.00082 0.000833333 +0.0009 0.259547 0.34664 0.325813 0.25576 0.291733 0.46024 0.628842 +0.848 0.982286 0.986531 0.968 0.952842 0.945263 0.942105 0.945895 +0.954737 0.961684 0.962316 0.969895 0.985224 0.996653 1.00122 1.00416 +1.00384 1.00188 1.00057 0.995347 0.990776 0.988816 0.987184 0.985878 +0.971789 0.912421 0.768421 0.580211 0.422373 0.356107 0.339067 0.316347 +0.31824 0.320133 0.31824 0.310667 0.310667 0.30688 0.308773 0.31256 +0.304987 0.29552 0.287947 0.270907 0.26712 0.291733 0.297413 0.280373 +0.2728 0.274693 0.293627 0.331493 0.348533 0.344747 0.358 0.388293 +0.407227 0.376933 0.322027 0.299307 0.299307 0.30688 0.297413 0.280373 +0.270907 0.291733 0.316347 0.34664 0.33528 0.314453 0.325813 0.333387 +0.327707 0.36936 0.462133 0.498107 0.407227 0.316347 0.3012 0.320133 +0.354213 0.40912 0.452667 0.428053 0.371253 0.339067 0.34096 0.376933 +0.418587 0.439413 0.40912 0.333387 0.297413 0.3012 0.314453 0.331493 +0.367467 0.401547 0.37504 0.33528 0.322027 0.31824 0.34096 0.38072 +0.412907 0.42616 0.40344 0.3864 0.45456 0.585263 0.693895 0.664842 +0.549895 0.498107 0.450773 0.411013 0.496213 0.554947 0.572 0.529053 +0.45456 0.407227 0.3864 0.37504 0.36368 0.371253 0.382613 0.382613 +0.3864 0.416693 0.445093 0.458347 0.484853 0.49432 0.501263 0.541053 +0.692632 0.909895 1.00514 1.0231 1.03061 1.03584 1.03714 1.0378 +1.04204 1.04498 1.04367 1.04433 1.04596 1.04531 1.04596 1.04661 +1.044 1.04465 1.04727 1.04955 1.05086 1.05216 1.05151 1.04857 +1.04727 1.04857 1.04922 1.04955 1.04857 1.04759 1.04596 1.04433 +1.04367 1.04661 1.04498 1.03845 1.03584 1.03322 1.03061 1.02833 +1.03257 1.03682 1.03388 1.03061 1.03355 1.03486 1.03584 1.04073 +1.04139 1.04237 1.04498 1.04204 1.03812 1.04041 1.04073 1.04204 +1.04139 1.04269 1.044 1.04237 1.04204 1.04531 1.04563 1.04335 +1.04465 1.04335 1.04433 1.04302 1.04171 1.04302 1.04073 1.03845 +1.03453 1.03388 1.03486 1.03257 1.03127 1.03257 1.02865 1.02637 +1.02767 1.028 1.02637 1.02571 1.02996 1.03029 1.02767 1.02767 +1.02669 1.02735 1.028 1.02604 1.02637 1.02996 1.02931 1.03094 +1.03127 1.03029 1.03127 1.03061 1.03094 1.03388 1.03486 1.03322 +1.03551 1.03878 1.04269 1.04237 1.04139 1.04008 1.04073 1.04171 +1.04204 1.04433 1.04531 1.04465 1.04465 1.04596 1.04596 1.04367 +1.04204 1.04563 1.04498 1.044 1.04433 1.04727 1.04531 1.04531 +1.04661 1.04531 1.04629 1.04792 1.0489 1.04465 1.04139 1.04204 +1.04041 1.04139 1.04335 1.04269 1.04367 1.044 1.04335 1.04367 +1.04367 1.04269 1.04269 1.04106 1.0391 1.03551 1.03322 1.03257 +1.03257 1.03322 1.03159 1.03029 1.02931 1.02735 1.02604 1.02669 +1.02408 1.01167 0.973684 0.839789 0.66421 0.514526 0.31256 0.259547 +0.26712 0.304987 0.356107 0.36936 0.337173 0.310667 0.322027 0.333387 +0.314453 0.297413 0.293627 0.293627 0.3012 0.314453 0.30688 0.28416 +0.28416 0.282267 0.27848 0.274693 0.26712 0.259547 0.274693 0.286053 +0.28416 0.280373 0.276587 0.31256 0.36936 0.373147 0.339067 0.320133 +0.325813 0.31256 0.3012 0.28984 0.27848 0.276587 0.28416 0.293627 +0.29552 0.28416 0.282267 0.293627 0.299307 0.308773 0.32392 0.34096 +0.337173 0.325813 0.327707 0.344747 0.378827 0.395867 0.395867 0.407227 +0.509474 0.641474 0.830947 0.960421 0.991429 0.996 1.0009 1.00547 +1.0058 0.999592 0.995347 1.0009 1.0058 1.00678 1.0071 1.0071 +1.00808 1.0058 1.00122 0.996 0.990122 0.982939 0.973053 0.961053 +0.958526 0.956632 0.955368 0.951579 0.945263 0.947789 0.957895 0.979368 +0.985878 0.907368 0.712211 0.535368 0.416693 0.36368 0.265227 0.000926667 +0.000866667 0.000833333 0.0008 0.000793333 0.000786667 0.00078 0.000753333 0.000753333 +0.00076 0.000753333 0.00076 0.00074 0.00074 0.000746667 0.00072 0.0007 +0.000733333 0.00076 0.00074 0.0007 0.000706667 0.000713333 0.000706667 0.00072 +0.000706667 0.00072 0.00074 0.000726667 0.000733333 0.00072 0.000706667 0.000693333 +0.000693333 0.000706667 0.00072 0.000693333 0.000726667 0.000733333 0.00072 0.00072 +0.00074 0.000753333 0.000733333 0.00072 0.000726667 0.000726667 0.000726667 0.00074 +0.000753333 0.00074 0.00072 0.000726667 0.000746667 0.000726667 0.000726667 0.000706667 +0.0007 0.000706667 0.000706667 0.000706667 0.000713333 0.000713333 0.000713333 0.000693333 +0.000693333 0.000713333 0.000713333 0.000706667 0.0007 0.000693333 0.0007 0.00072 +0.000706667 0.000713333 0.00074 0.000726667 0.000713333 0.000733333 0.000726667 0.000713333 +0.00072 0.00072 0.000726667 0.000733333 0.00074 0.000733333 0.000766667 0.00078 +0.00076 0.000753333 0.00074 0.00072 0.000753333 0.00078 0.000786667 0.00078 +0.000773333 0.000793333 0.000786667 0.00078 0.000793333 0.00082 0.00084 0.000886667 +0.225467 0.30688 0.34664 0.28416 0.257653 0.358 0.552421 0.750105 +0.943368 0.991755 0.982286 0.964842 0.952842 0.944632 0.945895 0.952842 +0.961053 0.966105 0.969263 0.977474 0.987837 0.998612 1.00351 1.00547 +1.00351 1.0009 0.998939 0.995673 0.992408 0.989143 0.988163 0.985224 +0.959158 0.872632 0.706526 0.544211 0.416693 0.367467 0.344747 0.31824 +0.316347 0.327707 0.333387 0.320133 0.314453 0.316347 0.325813 0.3296 +0.308773 0.28984 0.286053 0.274693 0.269013 0.274693 0.282267 0.276587 +0.274693 0.282267 0.304987 0.359893 0.40912 0.44888 0.490533 0.506316 +0.507579 0.469707 0.373147 0.31256 0.303093 0.32392 0.314453 0.287947 +0.270907 0.27848 0.303093 0.350427 0.373147 0.348533 0.322027 0.314453 +0.31256 0.35232 0.441307 0.510737 0.503158 0.4148 0.356107 0.339067 +0.350427 0.373147 0.376933 0.38072 0.36936 0.333387 0.31824 0.350427 +0.390187 0.411013 0.3864 0.320133 0.280373 0.28984 0.310667 0.331493 +0.358 0.354213 0.308773 0.297413 0.304987 0.310667 0.331493 0.34664 +0.34664 0.354213 0.359893 0.378827 0.441307 0.558737 0.651579 0.632 +0.537263 0.505684 0.506316 0.46024 0.502526 0.550526 0.556842 0.505684 +0.399653 0.36936 0.35232 0.350427 0.35232 0.373147 0.388293 0.37504 +0.371253 0.407227 0.44888 0.462133 0.47728 0.496213 0.503789 0.549263 +0.717263 0.933263 1.00906 1.02278 1.03029 1.03616 1.03845 1.03878 +1.04106 1.04269 1.04367 1.04498 1.04629 1.04367 1.04139 1.04269 +1.04335 1.04465 1.04824 1.05086 1.05118 1.05151 1.05118 1.0489 +1.04792 1.04759 1.04759 1.04824 1.04727 1.04727 1.04563 1.044 +1.04433 1.04759 1.04629 1.04237 1.03551 1.03224 1.03192 1.03029 +1.03159 1.03518 1.0342 1.03355 1.0342 1.03486 1.03584 1.03812 +1.04008 1.04237 1.04531 1.044 1.03845 1.03943 1.04073 1.04237 +1.04139 1.04237 1.04269 1.04106 1.04367 1.04596 1.04465 1.04531 +1.04629 1.044 1.044 1.04335 1.04269 1.04367 1.04008 1.0391 +1.03486 1.03192 1.0329 1.0329 1.03224 1.0329 1.03127 1.02865 +1.02963 1.03224 1.03029 1.02702 1.02702 1.03029 1.03061 1.03029 +1.02898 1.03029 1.03257 1.03192 1.03192 1.03192 1.03094 1.03322 +1.03192 1.03355 1.03453 1.03388 1.03616 1.03812 1.03878 1.03845 +1.0391 1.04106 1.044 1.04302 1.04237 1.04204 1.04367 1.04335 +1.04237 1.04498 1.04661 1.04629 1.04563 1.04465 1.04498 1.04465 +1.04171 1.04498 1.04759 1.04367 1.04367 1.04727 1.04367 1.04302 +1.04465 1.04465 1.04596 1.04596 1.04498 1.044 1.04498 1.04433 +1.04041 1.03878 1.0391 1.03943 1.044 1.04531 1.04531 1.04694 +1.04596 1.04171 1.03976 1.0391 1.03878 1.03682 1.03551 1.0342 +1.03355 1.03322 1.03322 1.03257 1.03061 1.02833 1.028 1.028 +1.02506 1.01298 0.973053 0.834737 0.654737 0.511368 0.327707 0.270907 +0.2728 0.29552 0.320133 0.33528 0.333387 0.34096 0.358 0.356107 +0.327707 0.320133 0.31256 0.293627 0.29552 0.303093 0.28984 0.27848 +0.28416 0.282267 0.282267 0.280373 0.282267 0.280373 0.282267 0.28416 +0.280373 0.291733 0.287947 0.327707 0.418587 0.435627 0.371253 0.322027 +0.308773 0.299307 0.291733 0.291733 0.28416 0.2728 0.2728 0.29552 +0.303093 0.287947 0.276587 0.28984 0.3012 0.304987 0.31256 0.320133 +0.322027 0.316347 0.32392 0.348533 0.395867 0.405333 0.38072 0.384507 +0.47728 0.593474 0.774737 0.928842 0.985224 0.990122 0.994367 1.0009 +1.0022 0.998286 0.995347 1.00155 1.00808 1.00743 1.00743 1.00743 +1.00743 1.00482 1.00253 0.997633 0.991429 0.984898 0.98 0.970526 +0.969263 0.968632 0.966737 0.961684 0.951579 0.950316 0.953474 0.964211 +0.984898 0.971789 0.835368 0.623789 0.479173 0.384507 0.31256 0.219787 +0.000893333 0.000853333 0.000826667 0.0008 0.000773333 0.00076 0.000773333 0.000806667 +0.0008 0.000753333 0.000753333 0.00074 0.000733333 0.000746667 0.000733333 0.000706667 +0.00074 0.00074 0.000706667 0.000693333 0.000713333 0.000713333 0.00072 0.000713333 +0.0007 0.000706667 0.000713333 0.00072 0.000733333 0.00072 0.000706667 0.000706667 +0.00072 0.000726667 0.000726667 0.0007 0.00074 0.000746667 0.00074 0.000713333 +0.000733333 0.00076 0.000753333 0.000746667 0.00076 0.00074 0.00072 0.000713333 +0.000733333 0.000726667 0.00072 0.000726667 0.00074 0.00072 0.00072 0.000713333 +0.0007 0.000706667 0.000706667 0.000706667 0.00072 0.000713333 0.000713333 0.0007 +0.0007 0.0007 0.000706667 0.000706667 0.0007 0.000693333 0.000693333 0.000713333 +0.00072 0.000693333 0.000713333 0.000713333 0.000713333 0.000733333 0.000726667 0.00072 +0.000713333 0.00072 0.000733333 0.000746667 0.000753333 0.000726667 0.000726667 0.00078 +0.000766667 0.000773333 0.00078 0.000753333 0.00074 0.000753333 0.000773333 0.000766667 +0.00078 0.000813333 0.000793333 0.000766667 0.000793333 0.000806667 0.00082 0.000906667 +0.26144 0.344747 0.320133 0.251973 0.286053 0.473493 0.644632 0.861263 +0.984898 0.990449 0.983918 0.971789 0.952842 0.944632 0.951579 0.961053 +0.971158 0.978737 0.981959 0.985224 0.991102 0.998612 1.00286 1.00318 +1.00024 0.998286 0.996653 0.994694 0.991102 0.988163 0.987184 0.981306 +0.938316 0.820842 0.636421 0.505053 0.393973 0.361787 0.33528 0.310667 +0.310667 0.331493 0.348533 0.327707 0.3012 0.30688 0.33528 0.344747 +0.320133 0.297413 0.303093 0.293627 0.274693 0.2728 0.276587 0.265227 +0.274693 0.28984 0.325813 0.384507 0.452667 0.517684 0.565053 0.606105 +0.613684 0.568842 0.503158 0.378827 0.325813 0.322027 0.316347 0.28984 +0.269013 0.270907 0.286053 0.325813 0.367467 0.371253 0.34096 0.322027 +0.34096 0.39208 0.481067 0.534737 0.556211 0.546105 0.518947 0.4716 +0.4148 0.373147 0.33528 0.339067 0.356107 0.337173 0.310667 0.31256 +0.337173 0.36936 0.378827 0.31824 0.276587 0.280373 0.293627 0.31256 +0.333387 0.333387 0.310667 0.30688 0.31824 0.337173 0.371253 0.371253 +0.333387 0.31824 0.325813 0.350427 0.395867 0.517053 0.589684 0.585263 +0.518947 0.502526 0.518947 0.503789 0.506316 0.534737 0.534105 0.46592 +0.371253 0.354213 0.342853 0.339067 0.348533 0.373147 0.39208 0.38072 +0.371253 0.407227 0.46024 0.492427 0.5 0.501895 0.513895 0.573895 +0.749474 0.948421 1.01004 1.02441 1.03257 1.03682 1.03878 1.03943 +1.04041 1.04106 1.044 1.04531 1.04596 1.04433 1.03976 1.04139 +1.04498 1.04727 1.04988 1.05151 1.05118 1.04922 1.05053 1.05053 +1.04694 1.04661 1.04694 1.04563 1.04433 1.04629 1.044 1.04171 +1.04367 1.04629 1.04531 1.04171 1.03649 1.03486 1.03486 1.03322 +1.03257 1.03682 1.03551 1.03388 1.03322 1.0342 1.03649 1.03714 +1.03812 1.04041 1.04302 1.04465 1.04073 1.04139 1.04237 1.04269 +1.04269 1.04302 1.04498 1.04335 1.04367 1.04596 1.04531 1.04531 +1.04531 1.04171 1.04237 1.044 1.04335 1.04302 1.03976 1.03812 +1.03682 1.03584 1.03486 1.03224 1.03094 1.03094 1.03061 1.02833 +1.02931 1.03127 1.03224 1.03159 1.03127 1.03257 1.03159 1.03094 +1.02996 1.03257 1.03616 1.03812 1.03878 1.03747 1.03649 1.03812 +1.03976 1.04139 1.03682 1.03682 1.04171 1.04335 1.04237 1.04041 +1.03976 1.04302 1.04629 1.04531 1.04367 1.04367 1.04596 1.04596 +1.04563 1.04694 1.04792 1.04922 1.04857 1.04629 1.04563 1.04367 +1.04335 1.04759 1.0489 1.044 1.04563 1.04694 1.04498 1.04433 +1.04596 1.04629 1.04727 1.04498 1.04106 1.04269 1.04269 1.04204 +1.04302 1.04139 1.03976 1.04237 1.04465 1.04433 1.04498 1.04596 +1.04596 1.04237 1.04073 1.04041 1.03747 1.03682 1.03649 1.03518 +1.03322 1.03224 1.03192 1.03192 1.02996 1.028 1.02898 1.02865 +1.02604 1.01233 0.968632 0.827789 0.651579 0.513895 0.34664 0.286053 +0.263333 0.259547 0.25576 0.25008 0.27848 0.314453 0.356107 0.37504 +0.378827 0.378827 0.34664 0.310667 0.297413 0.291733 0.297413 0.297413 +0.28984 0.28984 0.293627 0.28416 0.27848 0.286053 0.297413 0.303093 +0.287947 0.28984 0.28984 0.331493 0.40912 0.399653 0.3296 0.28984 +0.280373 0.27848 0.274693 0.282267 0.28984 0.286053 0.286053 0.291733 +0.293627 0.28984 0.280373 0.287947 0.299307 0.299307 0.299307 0.308773 +0.320133 0.316347 0.33528 0.376933 0.424267 0.42048 0.388293 0.384507 +0.445093 0.554947 0.721684 0.895368 0.975579 0.984898 0.988163 0.996 +0.998612 0.996 0.99502 1.00057 1.00645 1.00612 1.00678 1.00743 +1.00678 1.00514 1.00384 1.00122 0.997306 0.991102 0.984245 0.977474 +0.981959 0.988163 0.98751 0.980653 0.960421 0.950316 0.949684 0.954105 +0.975579 0.986204 0.927579 0.739368 0.548 0.416693 0.359893 0.2728 +0.000926667 0.00082 0.000793333 0.00078 0.000773333 0.00078 0.000793333 0.0008 +0.000773333 0.000733333 0.000713333 0.000706667 0.000726667 0.000753333 0.00074 0.00072 +0.000726667 0.000713333 0.000693333 0.000713333 0.00072 0.00072 0.000726667 0.0007 +0.000693333 0.000693333 0.0007 0.000733333 0.00072 0.000706667 0.000706667 0.00072 +0.000726667 0.000706667 0.000706667 0.0007 0.000753333 0.00076 0.000773333 0.000733333 +0.000726667 0.000746667 0.00074 0.00074 0.00076 0.00076 0.00076 0.000726667 +0.00072 0.000713333 0.000713333 0.00072 0.000726667 0.000726667 0.000726667 0.00074 +0.00074 0.00074 0.000733333 0.00072 0.000733333 0.000733333 0.000726667 0.000713333 +0.000713333 0.000733333 0.00076 0.000746667 0.000733333 0.000733333 0.000726667 0.000706667 +0.0007 0.000706667 0.00072 0.000726667 0.00072 0.000726667 0.000733333 0.00074 +0.000733333 0.00074 0.00074 0.000726667 0.000726667 0.000726667 0.000713333 0.00072 +0.000726667 0.000733333 0.000766667 0.00076 0.000746667 0.00078 0.000786667 0.00076 +0.000753333 0.00078 0.00078 0.000766667 0.00078 0.000813333 0.00084 0.000966667 +0.299307 0.337173 0.280373 0.253867 0.350427 0.558737 0.763368 0.945263 +0.98849 0.982939 0.981633 0.970526 0.951579 0.949053 0.961053 0.974316 +0.983592 0.988163 0.991102 0.993388 0.99698 1.00122 1.00351 0.999918 +0.997959 0.996653 0.995347 0.993388 0.990122 0.987837 0.985224 0.971158 +0.908632 0.759579 0.578316 0.4432 0.376933 0.35232 0.325813 0.304987 +0.3012 0.337173 0.361787 0.331493 0.3012 0.304987 0.322027 0.34096 +0.339067 0.331493 0.32392 0.297413 0.276587 0.2728 0.2728 0.263333 +0.2728 0.3012 0.34096 0.38072 0.428053 0.511368 0.581474 0.661053 +0.683789 0.631368 0.554316 0.490533 0.39208 0.337173 0.314453 0.299307 +0.27848 0.282267 0.291733 0.304987 0.331493 0.36368 0.365573 0.35232 +0.359893 0.412907 0.503789 0.551158 0.601684 0.630105 0.625053 0.594105 +0.552421 0.508842 0.424267 0.37504 0.365573 0.348533 0.322027 0.316347 +0.314453 0.333387 0.350427 0.320133 0.28416 0.27848 0.286053 0.297413 +0.322027 0.356107 0.384507 0.399653 0.411013 0.4148 0.395867 0.354213 +0.31824 0.30688 0.320133 0.34664 0.356107 0.43184 0.530316 0.536632 +0.47728 0.441307 0.501895 0.501895 0.505053 0.527789 0.526526 0.446987 +0.361787 0.35232 0.342853 0.337173 0.34096 0.358 0.390187 0.40344 +0.40344 0.46024 0.509474 0.517053 0.510737 0.505053 0.520211 0.590316 +0.762737 0.948421 1.00743 1.02571 1.0342 1.03453 1.03682 1.0391 +1.03943 1.03976 1.04302 1.04596 1.04629 1.04629 1.04367 1.04367 +1.044 1.04596 1.04759 1.05086 1.05184 1.04727 1.04857 1.05118 +1.04694 1.04596 1.04824 1.04824 1.04563 1.04596 1.04433 1.04171 +1.04302 1.04596 1.04433 1.04073 1.03845 1.03518 1.0342 1.03322 +1.03224 1.03584 1.03453 1.0342 1.0342 1.0342 1.03714 1.0378 +1.0378 1.03943 1.03943 1.04041 1.03943 1.04106 1.04073 1.04139 +1.04237 1.04302 1.04563 1.04335 1.04204 1.04596 1.04629 1.04433 +1.04335 1.04073 1.04041 1.04367 1.04302 1.04139 1.03943 1.03812 +1.03551 1.03518 1.03453 1.03257 1.03094 1.02931 1.03061 1.02963 +1.02996 1.03257 1.03388 1.03192 1.03224 1.03486 1.03322 1.0329 +1.03453 1.03584 1.03878 1.04073 1.03878 1.03845 1.03845 1.03682 +1.04041 1.04269 1.0391 1.04171 1.04465 1.04498 1.04302 1.04073 +1.04008 1.04465 1.04629 1.04433 1.04367 1.044 1.04498 1.04694 +1.04955 1.04857 1.04694 1.0489 1.0489 1.04857 1.04857 1.04531 +1.04661 1.04988 1.04824 1.04629 1.04792 1.04792 1.04759 1.04792 +1.04824 1.04727 1.04727 1.04335 1.04139 1.04139 1.03845 1.03976 +1.044 1.04433 1.04335 1.04563 1.04531 1.04563 1.04563 1.04433 +1.04563 1.044 1.04171 1.04041 1.03714 1.03584 1.03551 1.03388 +1.03322 1.03355 1.03257 1.03127 1.02996 1.02898 1.02931 1.02996 +1.02865 1.01429 0.967368 0.822737 0.647789 0.510105 0.339067 0.27848 +0.251973 0.246293 0.240613 0.225467 0.223573 0.26144 0.310667 0.382613 +0.462133 0.46024 0.37504 0.30688 0.28416 0.280373 0.291733 0.31256 +0.32392 0.31824 0.32392 0.299307 0.280373 0.286053 0.304987 0.325813 +0.316347 0.30688 0.3012 0.331493 0.361787 0.32392 0.287947 0.280373 +0.270907 0.2728 0.276587 0.27848 0.282267 0.282267 0.27848 0.27848 +0.282267 0.280373 0.28416 0.293627 0.308773 0.303093 0.291733 0.297413 +0.30688 0.308773 0.339067 0.4148 0.46592 0.429947 0.390187 0.382613 +0.422373 0.527789 0.676842 0.860632 0.957263 0.98 0.983592 0.989796 +0.993388 0.993714 0.994694 0.999265 1.00645 1.00678 1.00449 1.00514 +1.00482 1.0058 1.00678 1.0071 1.00384 0.996327 0.986857 0.981633 +0.988163 0.999265 0.999918 0.988816 0.967368 0.952842 0.949684 0.949684 +0.960421 0.981306 0.978105 0.856842 0.642737 0.500632 0.399653 0.331493 +0.22168 0.00084 0.000826667 0.00082 0.000786667 0.00078 0.000786667 0.0008 +0.000793333 0.00076 0.000726667 0.000726667 0.000753333 0.000766667 0.000713333 0.0007 +0.000726667 0.000726667 0.00072 0.000713333 0.000713333 0.000713333 0.000706667 0.000693333 +0.0007 0.000706667 0.000713333 0.00074 0.000733333 0.000713333 0.000693333 0.000713333 +0.00074 0.00074 0.000726667 0.000713333 0.00072 0.000726667 0.00074 0.000726667 +0.00072 0.000733333 0.000726667 0.000713333 0.000726667 0.00072 0.000746667 0.00074 +0.00074 0.000733333 0.000726667 0.000726667 0.000733333 0.000746667 0.000753333 0.000746667 +0.000753333 0.00074 0.000733333 0.000746667 0.000726667 0.00072 0.000733333 0.000726667 +0.000726667 0.00074 0.000766667 0.000766667 0.000746667 0.000753333 0.000766667 0.000726667 +0.000693333 0.000693333 0.000706667 0.00074 0.000746667 0.00072 0.000726667 0.000733333 +0.000726667 0.00072 0.00072 0.00072 0.000726667 0.000746667 0.000746667 0.000753333 +0.000726667 0.00072 0.000746667 0.000746667 0.000753333 0.000793333 0.0008 0.000786667 +0.000793333 0.0008 0.000806667 0.000793333 0.000806667 0.00082 0.00088 0.248187 +0.342853 0.322027 0.253867 0.286053 0.48296 0.662947 0.880842 0.985878 +0.984571 0.968 0.963579 0.956 0.949053 0.956 0.970526 0.984571 +0.992408 0.996653 0.998939 1.0009 1.00286 1.00612 1.00547 1.00057 +0.997959 0.996 0.994367 0.991755 0.989796 0.98849 0.983918 0.959789 +0.872632 0.698316 0.537263 0.405333 0.361787 0.34664 0.337173 0.316347 +0.308773 0.327707 0.34096 0.327707 0.314453 0.314453 0.308773 0.31824 +0.342853 0.358 0.342853 0.3012 0.286053 0.287947 0.28416 0.28984 +0.30688 0.339067 0.373147 0.395867 0.42616 0.481067 0.536 0.592842 +0.612421 0.588421 0.548 0.510105 0.439413 0.371253 0.333387 0.314453 +0.308773 0.30688 0.297413 0.299307 0.308773 0.339067 0.373147 0.376933 +0.358 0.373147 0.45456 0.530947 0.585895 0.638947 0.675579 0.681895 +0.660421 0.618737 0.572632 0.534737 0.501895 0.424267 0.37504 0.359893 +0.34664 0.33528 0.331493 0.31824 0.291733 0.28416 0.28984 0.3012 +0.3296 0.382613 0.498107 0.536632 0.530316 0.46592 0.37504 0.33528 +0.327707 0.327707 0.337173 0.367467 0.36368 0.384507 0.48296 0.502526 +0.433733 0.39776 0.445093 0.46592 0.479173 0.512632 0.517684 0.44888 +0.373147 0.359893 0.342853 0.327707 0.325813 0.350427 0.39776 0.450773 +0.510105 0.549895 0.549895 0.518947 0.48296 0.46024 0.500632 0.571368 +0.756421 0.949684 1.00743 1.02637 1.03486 1.0342 1.03649 1.03976 +1.03976 1.03943 1.04171 1.04531 1.04563 1.04727 1.04759 1.04629 +1.04629 1.04792 1.04792 1.04759 1.04988 1.04824 1.04824 1.04857 +1.04824 1.04661 1.04792 1.0502 1.04759 1.04661 1.04563 1.04367 +1.04302 1.04531 1.04596 1.04171 1.03976 1.03649 1.03486 1.03453 +1.0329 1.03486 1.03518 1.03551 1.03551 1.0342 1.03616 1.03747 +1.03812 1.03943 1.03943 1.04008 1.03845 1.0391 1.04302 1.04596 +1.04269 1.04237 1.04596 1.04008 1.0391 1.04498 1.04531 1.044 +1.04433 1.04204 1.03878 1.04073 1.04302 1.04106 1.03845 1.03714 +1.03518 1.03388 1.0329 1.03322 1.03192 1.02963 1.03224 1.03061 +1.03029 1.0329 1.03453 1.03127 1.02963 1.0329 1.03453 1.03584 +1.03812 1.0378 1.04041 1.04237 1.03878 1.0391 1.0391 1.03682 +1.0378 1.0378 1.03747 1.04269 1.044 1.04302 1.04204 1.04171 +1.04171 1.04563 1.04629 1.04335 1.04563 1.04759 1.04792 1.04792 +1.05053 1.0489 1.04629 1.04824 1.04988 1.04955 1.04922 1.04824 +1.05053 1.05053 1.04727 1.04792 1.04792 1.04661 1.04596 1.04857 +1.04955 1.04824 1.04759 1.04367 1.04367 1.04171 1.03714 1.03943 +1.04237 1.04237 1.04433 1.04759 1.04596 1.04563 1.04531 1.04465 +1.04465 1.04237 1.03747 1.03714 1.03812 1.03747 1.03616 1.0342 +1.03355 1.0342 1.03322 1.02996 1.02996 1.03061 1.02865 1.02963 +1.02898 1.01363 0.965474 0.820211 0.642105 0.506316 0.337173 0.27848 +0.257653 0.25576 0.248187 0.22736 0.219787 0.23872 0.276587 0.388293 +0.510105 0.500632 0.365573 0.293627 0.274693 0.2728 0.28984 0.31824 +0.331493 0.320133 0.314453 0.293627 0.280373 0.299307 0.325813 0.371253 +0.390187 0.36936 0.337173 0.35232 0.354213 0.30688 0.28984 0.28984 +0.287947 0.28984 0.287947 0.287947 0.280373 0.276587 0.269013 0.2728 +0.282267 0.280373 0.286053 0.304987 0.339067 0.327707 0.304987 0.29552 +0.293627 0.308773 0.36368 0.458347 0.48296 0.411013 0.371253 0.382613 +0.4148 0.511368 0.642737 0.831579 0.943368 0.974947 0.982286 0.984898 +0.986857 0.990122 0.993388 0.998286 1.00678 1.00776 1.00351 1.00449 +1.00645 1.00612 1.0058 1.00416 1.00155 0.996 0.985551 0.981306 +0.987837 0.998612 1.00122 0.991429 0.974316 0.957895 0.950947 0.947789 +0.950947 0.968 0.986857 0.945263 0.761474 0.561263 0.433733 0.371253 +0.269013 0.00092 0.000853333 0.00084 0.000786667 0.000786667 0.0008 0.000793333 +0.000766667 0.000733333 0.00074 0.00076 0.000766667 0.00074 0.000706667 0.000733333 +0.000746667 0.000733333 0.000726667 0.0007 0.00068 0.000693333 0.0007 0.000706667 +0.000706667 0.0007 0.0007 0.000706667 0.000693333 0.0007 0.000706667 0.00074 +0.000733333 0.000706667 0.0007 0.0007 0.00072 0.000713333 0.00072 0.00072 +0.000713333 0.000713333 0.000726667 0.000726667 0.000733333 0.000706667 0.000726667 0.000726667 +0.000726667 0.000726667 0.00072 0.00074 0.000753333 0.00074 0.000746667 0.000713333 +0.000713333 0.000713333 0.000713333 0.000733333 0.00072 0.000713333 0.00072 0.00072 +0.0007 0.000686667 0.000693333 0.00072 0.00072 0.0007 0.00072 0.000733333 +0.000726667 0.000733333 0.0007 0.000706667 0.00072 0.0007 0.0007 0.000713333 +0.00072 0.000713333 0.0007 0.0007 0.0007 0.00074 0.00074 0.000746667 +0.00074 0.000733333 0.000746667 0.000766667 0.00076 0.00078 0.000786667 0.000773333 +0.0008 0.000826667 0.000833333 0.000833333 0.00084 0.000846667 0.000953333 0.28984 +0.35232 0.304987 0.265227 0.367467 0.569474 0.785474 0.959789 0.98751 +0.971158 0.952842 0.949053 0.949684 0.955368 0.968 0.982939 0.992735 +0.999592 1.00482 1.0058 1.0071 1.00873 1.00808 1.00612 1.00351 +1.00024 0.99698 0.995347 0.991755 0.988816 0.986204 0.979368 0.942105 +0.829684 0.644632 0.509474 0.384507 0.348533 0.342853 0.34096 0.327707 +0.316347 0.320133 0.310667 0.314453 0.320133 0.316347 0.304987 0.310667 +0.33528 0.358 0.348533 0.31256 0.297413 0.30688 0.339067 0.361787 +0.384507 0.416693 0.42616 0.42616 0.428053 0.418587 0.435627 0.48864 +0.5 0.486747 0.473493 0.452667 0.435627 0.411013 0.3864 0.376933 +0.37504 0.344747 0.31256 0.31256 0.348533 0.395867 0.42616 0.405333 +0.354213 0.322027 0.348533 0.42616 0.508211 0.554316 0.613053 0.664842 +0.685684 0.674316 0.649053 0.621895 0.580842 0.534105 0.501263 0.46024 +0.424267 0.376933 0.348533 0.33528 0.316347 0.308773 0.310667 0.316347 +0.322027 0.348533 0.486747 0.566947 0.56 0.45456 0.34096 0.333387 +0.34664 0.35232 0.354213 0.384507 0.39208 0.378827 0.4148 0.433733 +0.416693 0.382613 0.399653 0.43752 0.458347 0.475387 0.481067 0.411013 +0.36368 0.361787 0.348533 0.333387 0.348533 0.36936 0.401547 0.503158 +0.578316 0.617474 0.558737 0.48296 0.412907 0.40344 0.45456 0.551789 +0.738737 0.944 1.00873 1.02898 1.03812 1.0378 1.03812 1.0391 +1.03976 1.03976 1.04008 1.04269 1.04367 1.04465 1.04596 1.04792 +1.0502 1.05053 1.04759 1.04531 1.04694 1.0489 1.04824 1.04824 +1.04759 1.04465 1.04465 1.04792 1.04857 1.04792 1.04629 1.04302 +1.04269 1.04433 1.04596 1.04204 1.0391 1.03976 1.03845 1.03649 +1.03551 1.03714 1.03551 1.0329 1.03453 1.03518 1.03584 1.03551 +1.03649 1.03976 1.04073 1.04008 1.03682 1.03747 1.044 1.04759 +1.04269 1.04008 1.04335 1.0391 1.04008 1.04433 1.04596 1.04596 +1.04531 1.04367 1.04106 1.04041 1.04171 1.04073 1.03976 1.03747 +1.03649 1.03453 1.03257 1.03322 1.03094 1.02963 1.03322 1.03192 +1.03094 1.03355 1.03486 1.0329 1.03159 1.03551 1.03943 1.03812 +1.0391 1.04073 1.04302 1.04433 1.04106 1.04237 1.04302 1.04204 +1.04008 1.03714 1.03812 1.04269 1.044 1.04139 1.04106 1.04269 +1.04335 1.04759 1.04824 1.04433 1.04531 1.04857 1.04988 1.0489 +1.04988 1.04988 1.04792 1.04792 1.05118 1.05053 1.04792 1.04988 +1.05249 1.0489 1.04824 1.05053 1.04694 1.04661 1.04629 1.04759 +1.0489 1.04792 1.04596 1.04269 1.04204 1.03878 1.03714 1.0391 +1.04041 1.04139 1.04498 1.04629 1.04498 1.04531 1.044 1.04433 +1.04531 1.04171 1.03616 1.03616 1.03878 1.0378 1.03584 1.03486 +1.03453 1.03518 1.03388 1.02865 1.028 1.02963 1.02931 1.02898 +1.02539 1.01004 0.961684 0.817053 0.638947 0.505684 0.337173 0.28984 +0.282267 0.270907 0.251973 0.240613 0.248187 0.263333 0.304987 0.424267 +0.525895 0.503158 0.350427 0.29552 0.282267 0.282267 0.287947 0.30688 +0.32392 0.316347 0.29552 0.27848 0.276587 0.287947 0.314453 0.38072 +0.418587 0.405333 0.390187 0.390187 0.356107 0.297413 0.276587 0.280373 +0.28984 0.29552 0.28984 0.286053 0.282267 0.280373 0.282267 0.28416 +0.291733 0.28984 0.291733 0.325813 0.361787 0.342853 0.3012 0.293627 +0.303093 0.342853 0.412907 0.46592 0.428053 0.36368 0.344747 0.36368 +0.390187 0.48864 0.611789 0.802526 0.930737 0.970526 0.980327 0.980653 +0.981959 0.987184 0.993714 0.999592 1.00678 1.00873 1.00384 1.00547 +1.00743 1.00645 1.00416 1.00155 0.997633 0.992408 0.981633 0.973684 +0.982286 0.988816 0.990776 0.985224 0.973684 0.961684 0.956632 0.954105 +0.950947 0.956632 0.979368 0.981633 0.868842 0.657263 0.506947 0.39776 +0.32392 0.216 0.00084 0.00084 0.000793333 0.000786667 0.000793333 0.00078 +0.00076 0.00074 0.000753333 0.00076 0.00076 0.000746667 0.000726667 0.00076 +0.000746667 0.00072 0.00074 0.000713333 0.0007 0.000706667 0.0007 0.000713333 +0.000713333 0.000706667 0.00074 0.00074 0.000726667 0.000726667 0.000706667 0.0007 +0.000686667 0.000693333 0.00072 0.00072 0.000746667 0.000746667 0.000733333 0.000726667 +0.000726667 0.000713333 0.00072 0.000726667 0.000733333 0.00072 0.000726667 0.000726667 +0.000713333 0.000693333 0.000673333 0.000693333 0.000713333 0.0007 0.000713333 0.000713333 +0.000693333 0.0007 0.0007 0.0007 0.000706667 0.000706667 0.000706667 0.00072 +0.00072 0.000693333 0.00068 0.000693333 0.000713333 0.0007 0.000693333 0.000713333 +0.000726667 0.000753333 0.00072 0.0007 0.000706667 0.0007 0.000686667 0.0007 +0.000726667 0.000733333 0.00074 0.000726667 0.0007 0.00072 0.000733333 0.000726667 +0.00074 0.000753333 0.000766667 0.00078 0.00076 0.000773333 0.00078 0.000773333 +0.00078 0.000793333 0.000806667 0.00084 0.00086 0.000893333 0.2444 0.337173 +0.33528 0.274693 0.299307 0.501263 0.672421 0.892842 0.98751 0.98 +0.954105 0.944 0.945263 0.952842 0.966737 0.982939 0.993714 1.00122 +1.00514 1.00906 1.01004 1.01102 1.01233 1.01037 1.0071 1.00384 +0.999265 0.995673 0.995673 0.992082 0.988816 0.984245 0.967368 0.916211 +0.780421 0.596 0.462133 0.373147 0.35232 0.350427 0.35232 0.350427 +0.331493 0.316347 0.30688 0.308773 0.308773 0.30688 0.308773 0.33528 +0.361787 0.38072 0.39208 0.376933 0.376933 0.411013 0.445093 0.458347 +0.464027 0.462133 0.446987 0.428053 0.390187 0.344747 0.337173 0.354213 +0.356107 0.356107 0.367467 0.378827 0.40344 0.4148 0.411013 0.418587 +0.40344 0.359893 0.34664 0.39208 0.469707 0.505053 0.48296 0.395867 +0.325813 0.293627 0.291733 0.31824 0.356107 0.411013 0.514526 0.570105 +0.601053 0.611789 0.623158 0.626316 0.604211 0.567579 0.534737 0.514526 +0.490533 0.422373 0.38072 0.365573 0.354213 0.34096 0.327707 0.31824 +0.320133 0.331493 0.407227 0.522105 0.524632 0.4148 0.3296 0.320133 +0.327707 0.34096 0.354213 0.384507 0.4148 0.416693 0.401547 0.399653 +0.39776 0.36936 0.371253 0.40912 0.439413 0.435627 0.424267 0.382613 +0.350427 0.356107 0.365573 0.367467 0.384507 0.388293 0.395867 0.515158 +0.618737 0.623789 0.520842 0.405333 0.405333 0.42048 0.435627 0.532211 +0.718526 0.937684 1.01069 1.03061 1.0378 1.03551 1.03747 1.03943 +1.04073 1.04106 1.04041 1.04171 1.04465 1.04498 1.044 1.04531 +1.04922 1.04988 1.04824 1.04759 1.04857 1.04955 1.04759 1.04759 +1.04955 1.04629 1.04433 1.04694 1.04759 1.04661 1.04824 1.04596 +1.04531 1.04563 1.04498 1.04171 1.03943 1.04008 1.03976 1.03714 +1.03812 1.0391 1.03812 1.03355 1.0342 1.03388 1.03486 1.03551 +1.03682 1.04008 1.04041 1.04106 1.04041 1.04106 1.044 1.04596 +1.04433 1.04204 1.04106 1.0391 1.04204 1.04465 1.04596 1.04531 +1.04433 1.04367 1.04367 1.04269 1.04041 1.03976 1.0391 1.03584 +1.0378 1.03518 1.03094 1.03322 1.0329 1.03094 1.03192 1.03127 +1.03094 1.03551 1.03649 1.03355 1.03714 1.04204 1.04204 1.03845 +1.0378 1.0391 1.04073 1.04269 1.04008 1.04073 1.04204 1.04204 +1.04106 1.04041 1.04139 1.04335 1.04465 1.04171 1.04204 1.04367 +1.04302 1.04596 1.04857 1.04694 1.04727 1.04727 1.04629 1.04824 +1.04988 1.04824 1.04629 1.04629 1.04857 1.04922 1.04824 1.04955 +1.05086 1.0489 1.05151 1.05216 1.04661 1.04759 1.04824 1.04694 +1.04563 1.044 1.04204 1.04073 1.03943 1.03714 1.03812 1.03976 +1.03976 1.04171 1.04727 1.04433 1.04171 1.044 1.044 1.04531 +1.04596 1.04139 1.03976 1.04041 1.04041 1.03878 1.03616 1.03453 +1.03551 1.03486 1.03355 1.03029 1.02898 1.02931 1.03094 1.03029 +1.02441 1.00743 0.952842 0.810105 0.637053 0.505053 0.32392 0.286053 +0.287947 0.265227 0.251973 0.265227 0.293627 0.314453 0.348533 0.49432 +0.541053 0.505684 0.35232 0.291733 0.263333 0.270907 0.287947 0.299307 +0.303093 0.29552 0.28416 0.282267 0.27848 0.282267 0.30688 0.34664 +0.35232 0.34096 0.36368 0.39208 0.361787 0.299307 0.274693 0.27848 +0.28416 0.287947 0.287947 0.27848 0.28416 0.28984 0.299307 0.293627 +0.29552 0.29552 0.314453 0.34664 0.356107 0.31824 0.299307 0.30688 +0.325813 0.37504 0.435627 0.439413 0.373147 0.350427 0.354213 0.361787 +0.38072 0.458347 0.588421 0.774737 0.915579 0.963579 0.978105 0.978737 +0.980327 0.985551 0.992082 0.999918 1.00776 1.01004 1.00351 1.00318 +1.00743 1.00776 1.00514 1.00057 0.995673 0.990776 0.982939 0.970526 +0.971789 0.976211 0.974947 0.966737 0.959789 0.961684 0.964211 0.961684 +0.952842 0.947789 0.960421 0.983265 0.946526 0.768421 0.563789 0.42048 +0.359893 0.259547 0.000893333 0.000853333 0.000806667 0.000766667 0.00078 0.00078 +0.000766667 0.000753333 0.000766667 0.000766667 0.000753333 0.000726667 0.000706667 0.000746667 +0.000713333 0.000706667 0.00074 0.000733333 0.000726667 0.000713333 0.00068 0.000706667 +0.000726667 0.000733333 0.000753333 0.00074 0.000706667 0.000693333 0.0007 0.000726667 +0.00074 0.00074 0.000726667 0.000706667 0.000733333 0.00076 0.000753333 0.000746667 +0.000746667 0.00074 0.000726667 0.000726667 0.000726667 0.000726667 0.000726667 0.000733333 +0.000733333 0.000706667 0.000693333 0.0007 0.000706667 0.000706667 0.00072 0.000713333 +0.0007 0.000713333 0.00072 0.000713333 0.000713333 0.000726667 0.000726667 0.00072 +0.000733333 0.000726667 0.000706667 0.000713333 0.000726667 0.00072 0.00072 0.000713333 +0.00072 0.00074 0.000733333 0.000706667 0.000713333 0.000713333 0.0007 0.000713333 +0.000733333 0.000713333 0.00072 0.000726667 0.000713333 0.000726667 0.000766667 0.000766667 +0.000766667 0.000753333 0.000766667 0.000773333 0.00076 0.000753333 0.000793333 0.0008 +0.0008 0.000793333 0.000786667 0.000826667 0.000853333 0.000913333 0.28416 0.361787 +0.31256 0.269013 0.358 0.568842 0.786105 0.962947 0.987184 0.962947 +0.948421 0.945895 0.950316 0.961684 0.98098 0.991755 1.00155 1.00743 +1.01069 1.01298 1.01069 1.01135 1.012 1.01069 1.00743 1.00351 +0.998612 0.99502 0.99502 0.991102 0.98849 0.981633 0.958526 0.892211 +0.737474 0.558737 0.40912 0.361787 0.358 0.359893 0.36936 0.378827 +0.371253 0.356107 0.339067 0.31824 0.304987 0.310667 0.342853 0.384507 +0.42048 0.439413 0.464027 0.503158 0.519579 0.515789 0.501263 0.456453 +0.424267 0.401547 0.382613 0.378827 0.342853 0.308773 0.308773 0.322027 +0.3296 0.337173 0.333387 0.337173 0.359893 0.354213 0.350427 0.378827 +0.388293 0.373147 0.401547 0.475387 0.513263 0.512632 0.4432 0.344747 +0.293627 0.282267 0.293627 0.3012 0.30688 0.33528 0.418587 0.503789 +0.512 0.520842 0.540421 0.554316 0.549263 0.530947 0.511368 0.496213 +0.467813 0.428053 0.393973 0.376933 0.371253 0.361787 0.337173 0.320133 +0.32392 0.342853 0.361787 0.39776 0.4148 0.3864 0.35232 0.327707 +0.31824 0.3296 0.339067 0.344747 0.393973 0.441307 0.441307 0.441307 +0.46592 0.424267 0.367467 0.36368 0.382613 0.390187 0.3864 0.359893 +0.337173 0.356107 0.378827 0.390187 0.390187 0.382613 0.401547 0.518316 +0.601053 0.576421 0.450773 0.382613 0.4148 0.42048 0.418587 0.522737 +0.701474 0.925684 1.01004 1.03094 1.03714 1.03682 1.03878 1.03976 +1.03976 1.04139 1.04204 1.04106 1.04237 1.04433 1.04367 1.04237 +1.04563 1.0489 1.04922 1.04857 1.04727 1.0502 1.04988 1.04759 +1.05053 1.04922 1.04596 1.04727 1.04563 1.04269 1.04694 1.04596 +1.04465 1.04531 1.04465 1.04367 1.04041 1.04041 1.04041 1.03812 +1.03943 1.03943 1.03943 1.0342 1.03453 1.03584 1.03649 1.0378 +1.03845 1.03878 1.0391 1.04269 1.04465 1.04269 1.04106 1.04171 +1.04433 1.04563 1.04302 1.04106 1.04302 1.04367 1.04335 1.044 +1.04596 1.04433 1.04367 1.044 1.04008 1.03943 1.03878 1.03584 +1.0391 1.03682 1.03029 1.03029 1.03355 1.03486 1.0342 1.03224 +1.03159 1.03584 1.03812 1.03486 1.03976 1.04465 1.044 1.03976 +1.03714 1.03616 1.04008 1.04302 1.03943 1.04041 1.03976 1.03812 +1.03943 1.04237 1.04269 1.04237 1.04269 1.04367 1.04335 1.04302 +1.04204 1.04596 1.04824 1.04955 1.05086 1.04857 1.04531 1.04727 +1.04759 1.04498 1.04629 1.0502 1.04988 1.04694 1.04824 1.04988 +1.0502 1.04922 1.05118 1.05053 1.04596 1.04465 1.04498 1.04661 +1.04531 1.04204 1.03976 1.0391 1.03551 1.03616 1.03976 1.04139 +1.04073 1.04237 1.04629 1.04302 1.03976 1.04008 1.04171 1.04531 +1.04335 1.04008 1.04073 1.04073 1.04008 1.03976 1.03943 1.03714 +1.03518 1.0329 1.03094 1.03029 1.02996 1.02898 1.02931 1.02833 +1.02473 1.00449 0.937053 0.794947 0.628211 0.502526 0.327707 0.28984 +0.291733 0.27848 0.282267 0.314453 0.34664 0.359893 0.393973 0.513895 +0.544211 0.48864 0.350427 0.299307 0.263333 0.2728 0.291733 0.293627 +0.286053 0.27848 0.269013 0.276587 0.28984 0.299307 0.310667 0.31824 +0.3012 0.28416 0.30688 0.35232 0.361787 0.325813 0.303093 0.28984 +0.280373 0.276587 0.276587 0.270907 0.27848 0.29552 0.30688 0.30688 +0.314453 0.320133 0.327707 0.34096 0.333387 0.30688 0.299307 0.308773 +0.344747 0.407227 0.433733 0.3864 0.344747 0.359893 0.376933 0.373147 +0.376933 0.43184 0.565684 0.741263 0.892211 0.954105 0.973684 0.979368 +0.981306 0.986531 0.990776 0.996327 1.00416 1.00808 1.00318 1.00253 +1.0071 1.0071 1.00286 0.999265 0.995673 0.990122 0.984571 0.975579 +0.967368 0.967368 0.968 0.959789 0.953474 0.958526 0.962316 0.960421 +0.954105 0.950947 0.956 0.977474 0.981633 0.873895 0.657895 0.502526 +0.384507 0.308773 0.000993333 0.000853333 0.000793333 0.00076 0.000773333 0.00076 +0.000766667 0.00076 0.000746667 0.000733333 0.000733333 0.00072 0.000726667 0.000753333 +0.000706667 0.00072 0.000746667 0.000733333 0.00072 0.000713333 0.000706667 0.000733333 +0.00074 0.000733333 0.000726667 0.000693333 0.000673333 0.0007 0.000726667 0.00074 +0.000733333 0.000706667 0.000686667 0.000693333 0.000706667 0.00072 0.000733333 0.000733333 +0.000733333 0.000733333 0.00072 0.000713333 0.00072 0.000726667 0.000733333 0.000726667 +0.00074 0.000726667 0.00072 0.000713333 0.000706667 0.000726667 0.000726667 0.00072 +0.0007 0.0007 0.00072 0.00072 0.000713333 0.000706667 0.00072 0.000713333 +0.000713333 0.000733333 0.000713333 0.000706667 0.00072 0.000726667 0.000713333 0.000706667 +0.00072 0.00074 0.00074 0.000726667 0.000713333 0.00072 0.000706667 0.000713333 +0.00074 0.00072 0.00072 0.0007 0.000686667 0.00072 0.00076 0.000786667 +0.00078 0.00076 0.00076 0.000753333 0.000766667 0.000773333 0.000786667 0.0008 +0.0008 0.000793333 0.000786667 0.000833333 0.000893333 0.22168 0.31824 0.348533 +0.28416 0.304987 0.486747 0.665474 0.889684 0.987837 0.976842 0.949684 +0.947789 0.952211 0.960421 0.974947 0.988816 0.999918 1.00743 1.01167 +1.01494 1.01461 1.01135 1.01265 1.01233 1.01004 1.00678 1.00482 +0.999918 0.997306 0.995673 0.991102 0.986857 0.976842 0.945895 0.865053 +0.698316 0.535368 0.399653 0.358 0.34664 0.35232 0.36368 0.3864 +0.40344 0.43184 0.42616 0.388293 0.365573 0.384507 0.411013 0.42048 +0.429947 0.424267 0.450773 0.520211 0.546105 0.517053 0.428053 0.358 +0.337173 0.327707 0.327707 0.331493 0.308773 0.29552 0.293627 0.299307 +0.316347 0.320133 0.31256 0.310667 0.31824 0.299307 0.3012 0.337173 +0.365573 0.373147 0.401547 0.43752 0.481067 0.479173 0.40912 0.348533 +0.314453 0.30688 0.31824 0.31256 0.322027 0.365573 0.42616 0.458347 +0.439413 0.42616 0.428053 0.429947 0.428053 0.411013 0.39208 0.378827 +0.382613 0.39208 0.390187 0.399653 0.411013 0.384507 0.339067 0.32392 +0.3296 0.350427 0.344747 0.337173 0.35232 0.378827 0.382613 0.361787 +0.342853 0.33528 0.327707 0.325813 0.350427 0.401547 0.424267 0.45456 +0.510105 0.515158 0.452667 0.371253 0.359893 0.361787 0.36368 0.344747 +0.3296 0.354213 0.401547 0.411013 0.390187 0.388293 0.422373 0.506947 +0.546105 0.520842 0.422373 0.418587 0.428053 0.40912 0.418587 0.518316 +0.679368 0.905474 1.00743 1.02865 1.03453 1.03747 1.0391 1.0378 +1.03812 1.03976 1.04171 1.04106 1.04139 1.04465 1.04661 1.044 +1.04629 1.0489 1.04824 1.04922 1.04824 1.0502 1.05151 1.04694 +1.04824 1.04824 1.04335 1.04367 1.04563 1.04433 1.04629 1.044 +1.04171 1.04269 1.04302 1.04433 1.03943 1.03878 1.03878 1.03747 +1.03747 1.03682 1.03812 1.03453 1.03453 1.03878 1.0378 1.03649 +1.03747 1.03943 1.0391 1.04237 1.04335 1.04041 1.0391 1.04139 +1.04465 1.04629 1.04531 1.044 1.044 1.04367 1.04302 1.04465 +1.04563 1.04204 1.04269 1.04302 1.03878 1.03878 1.03878 1.03551 +1.03649 1.03616 1.03029 1.02963 1.03322 1.03551 1.03518 1.03518 +1.03453 1.03453 1.03649 1.0342 1.0391 1.04433 1.04433 1.04073 +1.03714 1.03845 1.044 1.04204 1.03812 1.04139 1.04237 1.03878 +1.03976 1.04269 1.04335 1.04073 1.04008 1.04237 1.04269 1.04204 +1.04433 1.04955 1.04857 1.04824 1.04955 1.04498 1.04465 1.04759 +1.04759 1.04465 1.04596 1.05151 1.05053 1.04727 1.04857 1.0489 +1.0489 1.0489 1.0489 1.04792 1.04661 1.04498 1.044 1.04629 +1.04563 1.04367 1.04237 1.03878 1.03453 1.03453 1.03845 1.04106 +1.04237 1.04498 1.04498 1.04139 1.03976 1.04008 1.04139 1.04269 +1.04041 1.04008 1.04008 1.03943 1.03747 1.03649 1.03878 1.03845 +1.03584 1.0329 1.03061 1.02963 1.02833 1.02833 1.02833 1.02702 +1.02212 0.999592 0.923158 0.782316 0.620632 0.496213 0.331493 0.280373 +0.293627 0.31824 0.337173 0.35232 0.354213 0.339067 0.38072 0.510105 +0.530316 0.43752 0.327707 0.297413 0.280373 0.28984 0.3012 0.314453 +0.31824 0.299307 0.276587 0.276587 0.287947 0.291733 0.303093 0.304987 +0.287947 0.27848 0.299307 0.33528 0.348533 0.327707 0.304987 0.282267 +0.274693 0.27848 0.270907 0.265227 0.280373 0.308773 0.31824 0.310667 +0.314453 0.31824 0.3296 0.35232 0.331493 0.297413 0.29552 0.320133 +0.37504 0.411013 0.390187 0.34664 0.337173 0.36936 0.388293 0.37504 +0.376933 0.422373 0.548632 0.708421 0.866316 0.945263 0.973053 0.98098 +0.98098 0.984245 0.986531 0.991755 1.00122 1.0071 1.00384 1.00286 +1.00482 1.00449 1.00122 0.998286 0.996 0.990122 0.984245 0.978737 +0.972421 0.971789 0.973053 0.965474 0.956632 0.959158 0.959789 0.957263 +0.956 0.952211 0.950947 0.961684 0.984571 0.952842 0.776632 0.570105 +0.435627 0.358 0.25576 0.000866667 0.0008 0.000786667 0.000793333 0.000753333 +0.00076 0.000766667 0.000746667 0.000746667 0.000773333 0.000753333 0.00076 0.000753333 +0.000693333 0.000726667 0.00074 0.00074 0.000726667 0.000726667 0.000726667 0.00072 +0.000713333 0.000713333 0.000733333 0.00072 0.00072 0.000733333 0.000733333 0.000713333 +0.000693333 0.000693333 0.0007 0.000706667 0.0007 0.000713333 0.000726667 0.000733333 +0.000726667 0.00074 0.000733333 0.000713333 0.00072 0.00072 0.000733333 0.000733333 +0.000733333 0.000726667 0.00074 0.000726667 0.000706667 0.00072 0.00072 0.000726667 +0.000726667 0.000733333 0.000726667 0.000713333 0.000693333 0.000686667 0.0007 0.000706667 +0.000733333 0.000753333 0.00074 0.00072 0.000726667 0.000733333 0.000706667 0.000686667 +0.000693333 0.000706667 0.00072 0.000713333 0.000706667 0.000706667 0.000706667 0.0007 +0.00072 0.000726667 0.00072 0.000726667 0.000713333 0.000693333 0.000713333 0.000746667 +0.000746667 0.000733333 0.00076 0.000766667 0.000793333 0.000793333 0.00078 0.000786667 +0.0008 0.0008 0.000806667 0.000866667 0.000986667 0.27848 0.358 0.322027 +0.265227 0.358 0.564421 0.782947 0.966105 0.990776 0.966737 0.948421 +0.948421 0.956 0.971158 0.985224 0.997959 1.00939 1.01396 1.01592 +1.01592 1.012 1.01135 1.01331 1.01233 1.00971 1.00547 1.00384 +0.999265 0.99698 0.994367 0.989796 0.983918 0.969263 0.930737 0.829684 +0.656 0.518316 0.405333 0.367467 0.342853 0.337173 0.35232 0.373147 +0.40912 0.464027 0.486747 0.45456 0.42616 0.445093 0.435627 0.382613 +0.34664 0.333387 0.3864 0.505684 0.517684 0.43184 0.331493 0.29552 +0.29552 0.30688 0.31256 0.310667 0.291733 0.280373 0.270907 0.280373 +0.291733 0.299307 0.303093 0.303093 0.304987 0.29552 0.299307 0.322027 +0.34664 0.339067 0.339067 0.348533 0.39776 0.4148 0.361787 0.333387 +0.331493 0.33528 0.322027 0.33528 0.367467 0.401547 0.412907 0.439413 +0.42048 0.384507 0.356107 0.333387 0.327707 0.32392 0.32392 0.308773 +0.314453 0.35232 0.42048 0.502526 0.507579 0.416693 0.333387 0.316347 +0.327707 0.348533 0.342853 0.339067 0.361787 0.376933 0.37504 0.371253 +0.361787 0.337173 0.327707 0.3296 0.331493 0.354213 0.384507 0.416693 +0.48864 0.529053 0.527158 0.45456 0.359893 0.34096 0.354213 0.356107 +0.331493 0.34664 0.424267 0.450773 0.42616 0.4148 0.418587 0.435627 +0.467813 0.44888 0.4148 0.428053 0.416693 0.395867 0.42048 0.511368 +0.655368 0.884 1.00286 1.02408 1.03061 1.03551 1.03878 1.03747 +1.03551 1.03551 1.03682 1.0391 1.03976 1.04335 1.04694 1.04629 +1.04792 1.05151 1.0489 1.04922 1.04955 1.04955 1.05118 1.04759 +1.04727 1.04759 1.04367 1.04302 1.04563 1.04563 1.04629 1.04629 +1.04367 1.04367 1.04335 1.04465 1.04008 1.0378 1.03943 1.03747 +1.03486 1.0342 1.03812 1.03812 1.03584 1.03845 1.03714 1.03649 +1.03682 1.0391 1.04008 1.04237 1.04106 1.03976 1.03976 1.04302 +1.04727 1.04629 1.04498 1.04269 1.04204 1.04335 1.04302 1.04367 +1.044 1.03943 1.04139 1.04171 1.0378 1.04008 1.04041 1.03682 +1.03649 1.03551 1.03061 1.03127 1.03518 1.03453 1.0329 1.03453 +1.03584 1.03649 1.03747 1.0342 1.0378 1.04237 1.04465 1.04073 +1.03649 1.04204 1.04498 1.0391 1.03747 1.03976 1.04171 1.04008 +1.04008 1.04139 1.04269 1.04204 1.04139 1.04367 1.04498 1.04433 +1.04596 1.04857 1.04563 1.04629 1.04792 1.04171 1.04335 1.04824 +1.04857 1.04727 1.04792 1.04857 1.04792 1.04792 1.04857 1.04792 +1.04792 1.04792 1.04857 1.04759 1.04792 1.04694 1.04727 1.04563 +1.04269 1.044 1.04302 1.03845 1.03649 1.03682 1.0391 1.04041 +1.04171 1.04335 1.04302 1.0391 1.03943 1.04171 1.04139 1.04106 +1.04106 1.04171 1.03976 1.04008 1.03812 1.03518 1.03714 1.03714 +1.03551 1.0329 1.03127 1.03224 1.03061 1.02931 1.02931 1.02702 +1.01886 0.991755 0.908 0.772211 0.616211 0.496213 0.327707 0.274693 +0.29552 0.34664 0.35232 0.333387 0.31256 0.297413 0.36936 0.507579 +0.515789 0.39776 0.304987 0.28416 0.282267 0.299307 0.33528 0.36368 +0.348533 0.308773 0.297413 0.304987 0.29552 0.276587 0.286053 0.29552 +0.286053 0.282267 0.3012 0.33528 0.344747 0.327707 0.304987 0.27848 +0.26712 0.269013 0.26712 0.26712 0.287947 0.314453 0.31824 0.304987 +0.304987 0.303093 0.339067 0.371253 0.344747 0.316347 0.320133 0.365573 +0.4148 0.393973 0.34096 0.322027 0.325813 0.359893 0.36368 0.356107 +0.37504 0.424267 0.536632 0.676211 0.837895 0.939579 0.973684 0.981959 +0.979368 0.98098 0.984898 0.991102 0.999918 1.00482 1.00351 1.00318 +1.00351 1.00351 1.00155 0.998286 0.997306 0.993714 0.988163 0.985878 +0.986857 0.985878 0.98098 0.968632 0.960421 0.963579 0.959789 0.955368 +0.955368 0.952211 0.947789 0.952211 0.978737 0.984571 0.881474 0.667368 +0.511368 0.388293 0.30688 0.000966667 0.000833333 0.000813333 0.000773333 0.00074 +0.00076 0.000766667 0.000766667 0.000773333 0.00078 0.00076 0.000746667 0.000733333 +0.000713333 0.00074 0.00076 0.00076 0.000753333 0.00072 0.000693333 0.000693333 +0.000726667 0.00074 0.000746667 0.00072 0.0007 0.000706667 0.000726667 0.000726667 +0.000733333 0.000733333 0.000726667 0.000733333 0.00072 0.00072 0.00072 0.00074 +0.00072 0.00072 0.000733333 0.00072 0.000726667 0.00072 0.000726667 0.000733333 +0.000733333 0.00074 0.000746667 0.000726667 0.000706667 0.000713333 0.000713333 0.00072 +0.00072 0.00074 0.00074 0.00072 0.0007 0.0007 0.000713333 0.00072 +0.000713333 0.000726667 0.000753333 0.00074 0.00074 0.000733333 0.000713333 0.000706667 +0.000706667 0.000706667 0.00072 0.00074 0.000733333 0.000726667 0.000726667 0.000706667 +0.00072 0.000713333 0.00072 0.000733333 0.000733333 0.00072 0.00072 0.00074 +0.00074 0.000713333 0.000726667 0.000746667 0.000753333 0.000786667 0.0008 0.000813333 +0.000813333 0.000813333 0.000826667 0.000886667 0.236827 0.325813 0.356107 0.293627 +0.282267 0.464027 0.661053 0.889684 0.990122 0.984571 0.960421 0.956 +0.957263 0.962316 0.980653 0.993061 1.00645 1.01527 1.01722 1.0182 +1.01559 1.00971 1.01135 1.01265 1.01037 1.00743 1.00482 1.00253 +0.998612 0.995347 0.992735 0.986857 0.98 0.962316 0.912421 0.787368 +0.613684 0.504421 0.416693 0.37504 0.34664 0.333387 0.34664 0.367467 +0.407227 0.441307 0.439413 0.401547 0.382613 0.407227 0.390187 0.320133 +0.287947 0.3012 0.365573 0.456453 0.42616 0.333387 0.299307 0.293627 +0.297413 0.308773 0.320133 0.308773 0.291733 0.276587 0.263333 0.265227 +0.274693 0.28416 0.299307 0.3012 0.293627 0.3012 0.308773 0.3296 +0.333387 0.303093 0.287947 0.314453 0.36936 0.365573 0.310667 0.297413 +0.322027 0.327707 0.31824 0.35232 0.3864 0.373147 0.373147 0.422373 +0.418587 0.371253 0.348533 0.327707 0.308773 0.308773 0.314453 0.303093 +0.304987 0.322027 0.390187 0.508842 0.529053 0.46592 0.354213 0.325813 +0.3296 0.333387 0.33528 0.348533 0.390187 0.395867 0.36368 0.344747 +0.34096 0.333387 0.331493 0.337173 0.331493 0.333387 0.350427 0.36936 +0.40912 0.496213 0.533474 0.518316 0.40912 0.348533 0.36368 0.384507 +0.3864 0.458347 0.529053 0.534105 0.503158 0.428053 0.3864 0.358 +0.378827 0.4148 0.42616 0.4148 0.399653 0.412907 0.4432 0.505684 +0.633263 0.861263 0.997633 1.02016 1.02963 1.03649 1.03812 1.03649 +1.03453 1.03257 1.03355 1.03682 1.03812 1.04073 1.04629 1.04759 +1.0489 1.05216 1.04955 1.04792 1.04922 1.0502 1.05184 1.05086 +1.05053 1.04988 1.04596 1.04269 1.04433 1.044 1.04335 1.04498 +1.04269 1.04269 1.04335 1.04335 1.04008 1.03812 1.04106 1.0391 +1.03682 1.03812 1.03976 1.03976 1.03714 1.03878 1.0391 1.0378 +1.03518 1.03747 1.03976 1.04237 1.04204 1.03976 1.03878 1.04106 +1.04596 1.04531 1.04465 1.04269 1.04073 1.04269 1.04204 1.04302 +1.04433 1.04106 1.04237 1.04171 1.0391 1.04171 1.04008 1.03649 +1.03616 1.0329 1.02996 1.03192 1.03649 1.03355 1.03159 1.03355 +1.03486 1.03714 1.03878 1.0342 1.0378 1.04269 1.04367 1.0391 +1.03584 1.04204 1.04237 1.03747 1.04106 1.04171 1.04008 1.03976 +1.04073 1.04041 1.04073 1.04204 1.04269 1.044 1.04661 1.044 +1.04498 1.04661 1.04433 1.04498 1.04694 1.04269 1.04465 1.04857 +1.0489 1.04694 1.04922 1.04759 1.04629 1.04792 1.04661 1.04727 +1.04727 1.04694 1.04661 1.04661 1.04661 1.04629 1.04759 1.04531 +1.04367 1.04367 1.04204 1.0391 1.04041 1.0391 1.03976 1.04139 +1.04106 1.04073 1.03976 1.03878 1.04073 1.04335 1.04302 1.04171 +1.04302 1.04237 1.03878 1.0378 1.03878 1.03943 1.03878 1.03682 +1.03453 1.03192 1.03159 1.03159 1.03257 1.03224 1.03094 1.02702 +1.01559 0.986857 0.896 0.758316 0.608632 0.484853 0.308773 0.263333 +0.308773 0.356107 0.342853 0.320133 0.304987 0.320133 0.422373 0.517053 +0.506947 0.365573 0.282267 0.270907 0.28416 0.34096 0.40344 0.390187 +0.327707 0.29552 0.308773 0.3296 0.310667 0.282267 0.280373 0.28416 +0.282267 0.29552 0.320133 0.348533 0.36368 0.34664 0.310667 0.282267 +0.269013 0.2728 0.28416 0.29552 0.310667 0.32392 0.31824 0.31256 +0.303093 0.308773 0.344747 0.378827 0.373147 0.348533 0.359893 0.407227 +0.424267 0.373147 0.322027 0.31256 0.32392 0.342853 0.344747 0.348533 +0.36936 0.4148 0.524 0.649053 0.812632 0.930105 0.971789 0.981306 +0.980653 0.981633 0.986531 0.991102 0.998612 1.00449 1.00547 1.00482 +1.00253 1.00057 1.00122 1.00057 1.00057 0.998939 0.997959 1.0009 +1.0058 1.00514 0.992735 0.978105 0.964211 0.961053 0.956 0.951579 +0.951579 0.952842 0.947789 0.945263 0.960421 0.984245 0.947789 0.772211 +0.569474 0.428053 0.359893 0.257653 0.00088 0.000826667 0.000773333 0.000766667 +0.000806667 0.000813333 0.000786667 0.000766667 0.000746667 0.00072 0.00072 0.000753333 +0.000746667 0.00076 0.000766667 0.000746667 0.000746667 0.000706667 0.000713333 0.000746667 +0.00076 0.000753333 0.0007 0.000673333 0.000686667 0.000706667 0.000726667 0.000726667 +0.00072 0.000706667 0.000693333 0.000706667 0.00074 0.000733333 0.00072 0.00074 +0.000753333 0.000726667 0.000713333 0.000726667 0.000726667 0.000733333 0.000733333 0.00072 +0.000726667 0.000753333 0.000753333 0.00074 0.00074 0.000726667 0.000726667 0.000726667 +0.00072 0.000733333 0.00074 0.000726667 0.00074 0.00072 0.0007 0.000713333 +0.0007 0.00068 0.000713333 0.00074 0.00074 0.00074 0.00074 0.000746667 +0.000726667 0.0007 0.000706667 0.00072 0.000733333 0.00074 0.000733333 0.00074 +0.00074 0.00074 0.000746667 0.000733333 0.000726667 0.000733333 0.000726667 0.000746667 +0.000773333 0.00076 0.000746667 0.00074 0.000733333 0.000746667 0.000773333 0.000793333 +0.00082 0.000813333 0.000826667 0.0009 0.270907 0.354213 0.32392 0.270907 +0.327707 0.550526 0.772211 0.962947 0.990122 0.968632 0.953474 0.959789 +0.964211 0.973684 0.989796 1.00253 1.01298 1.0169 1.01722 1.0182 +1.01559 1.012 1.012 1.01331 1.01069 1.00808 1.0058 1.00351 +0.998939 0.996 0.992735 0.984898 0.969895 0.949053 0.885263 0.740632 +0.575789 0.48296 0.42048 0.376933 0.34664 0.337173 0.35232 0.378827 +0.40912 0.399653 0.354213 0.322027 0.327707 0.361787 0.35232 0.299307 +0.286053 0.316347 0.359893 0.390187 0.339067 0.28984 0.282267 0.297413 +0.310667 0.322027 0.327707 0.314453 0.297413 0.280373 0.276587 0.274693 +0.274693 0.282267 0.291733 0.3012 0.299307 0.291733 0.304987 0.32392 +0.316347 0.28984 0.280373 0.310667 0.365573 0.361787 0.308773 0.297413 +0.310667 0.320133 0.3296 0.365573 0.376933 0.34664 0.35232 0.401547 +0.412907 0.371253 0.342853 0.3296 0.30688 0.30688 0.3296 0.34664 +0.34096 0.31824 0.331493 0.418587 0.502526 0.473493 0.39208 0.350427 +0.34096 0.327707 0.31256 0.322027 0.371253 0.405333 0.382613 0.348533 +0.3296 0.325813 0.337173 0.344747 0.339067 0.331493 0.331493 0.344747 +0.36936 0.401547 0.501263 0.524 0.496213 0.40912 0.42048 0.479173 +0.527158 0.584 0.617474 0.590316 0.534105 0.464027 0.40344 0.390187 +0.4148 0.45456 0.458347 0.42616 0.416693 0.4432 0.43752 0.464027 +0.598526 0.825263 0.990122 1.0182 1.02865 1.03584 1.03518 1.0342 +1.0342 1.03192 1.03192 1.0378 1.04106 1.04204 1.04694 1.04857 +1.04759 1.04922 1.05053 1.04988 1.04988 1.04922 1.0502 1.05118 +1.05118 1.05053 1.04792 1.04367 1.04367 1.04498 1.04367 1.04237 +1.04171 1.04237 1.04237 1.04269 1.04106 1.03812 1.04008 1.03976 +1.03812 1.0391 1.0378 1.03714 1.03682 1.03976 1.04008 1.03747 +1.0342 1.0378 1.03845 1.04139 1.04302 1.04041 1.03943 1.04106 +1.04335 1.044 1.04433 1.04367 1.04237 1.04302 1.04008 1.04139 +1.04269 1.04106 1.04237 1.04204 1.04171 1.04204 1.04008 1.03714 +1.03682 1.0329 1.02996 1.03029 1.03518 1.03355 1.03127 1.03486 +1.03584 1.03812 1.04008 1.03616 1.04008 1.04498 1.04139 1.03616 +1.03812 1.04335 1.04139 1.03845 1.04073 1.04204 1.04073 1.03976 +1.04139 1.04139 1.03976 1.03976 1.04106 1.04335 1.04759 1.04596 +1.04465 1.04661 1.04759 1.04563 1.04531 1.04563 1.04727 1.04824 +1.04759 1.04596 1.04629 1.04433 1.04629 1.04792 1.04335 1.04498 +1.04759 1.04792 1.04629 1.04629 1.04563 1.04661 1.04629 1.04433 +1.04531 1.04302 1.04008 1.03878 1.04204 1.04106 1.04106 1.04204 +1.03943 1.03845 1.0378 1.03976 1.04335 1.04498 1.04204 1.04041 +1.04139 1.04073 1.03878 1.03682 1.03747 1.04041 1.03812 1.03518 +1.0342 1.0329 1.0329 1.03192 1.03094 1.03061 1.03061 1.02441 +1.00971 0.976842 0.874526 0.741263 0.602947 0.48296 0.303093 0.2728 +0.327707 0.371253 0.348533 0.31824 0.31256 0.344747 0.424267 0.501895 +0.452667 0.333387 0.276587 0.26712 0.3012 0.393973 0.429947 0.361787 +0.3012 0.293627 0.314453 0.322027 0.31256 0.291733 0.291733 0.299307 +0.291733 0.308773 0.356107 0.39776 0.399653 0.354213 0.314453 0.3012 +0.291733 0.29552 0.31824 0.339067 0.34664 0.327707 0.30688 0.297413 +0.293627 0.30688 0.327707 0.37504 0.39776 0.39208 0.401547 0.4148 +0.393973 0.350427 0.31824 0.31824 0.33528 0.344747 0.342853 0.354213 +0.376933 0.4148 0.510737 0.623158 0.786105 0.913684 0.968632 0.98098 +0.981633 0.98098 0.985224 0.990449 0.998939 1.00482 1.00449 1.00122 +0.998612 0.998612 1.00253 1.00514 1.0058 1.00514 1.0071 1.01429 +1.02114 1.02016 1.00351 0.983592 0.968632 0.962316 0.956 0.951579 +0.949684 0.952842 0.949053 0.943368 0.949684 0.975579 0.980327 0.870737 +0.656 0.505684 0.39208 0.297413 0.000953333 0.000853333 0.000793333 0.00078 +0.0008 0.000786667 0.00076 0.000753333 0.000753333 0.000753333 0.000773333 0.000773333 +0.00074 0.00072 0.000733333 0.00074 0.00074 0.00072 0.00074 0.000746667 +0.00074 0.00074 0.000693333 0.0007 0.000746667 0.000726667 0.000706667 0.000693333 +0.000686667 0.0007 0.00072 0.000733333 0.000753333 0.000746667 0.00072 0.0007 +0.00074 0.000753333 0.000733333 0.000726667 0.00072 0.00072 0.00074 0.000733333 +0.000713333 0.000713333 0.000706667 0.000726667 0.00074 0.00074 0.00072 0.000706667 +0.0007 0.000713333 0.000733333 0.00072 0.000746667 0.00074 0.000686667 0.0007 +0.000713333 0.000693333 0.0007 0.000713333 0.000706667 0.00072 0.000733333 0.00074 +0.000733333 0.00072 0.000713333 0.000713333 0.000706667 0.000713333 0.00072 0.000746667 +0.00074 0.000733333 0.00076 0.00074 0.00074 0.00076 0.00074 0.000746667 +0.000766667 0.00078 0.000766667 0.000766667 0.000766667 0.000766667 0.000773333 0.000773333 +0.0008 0.00082 0.000873333 0.217893 0.314453 0.354213 0.286053 0.274693 +0.428053 0.639579 0.875158 0.988163 0.981959 0.956 0.954105 0.961684 +0.966737 0.983592 0.999918 1.00939 1.01559 1.01788 1.01853 1.01788 +1.01624 1.01265 1.01233 1.01298 1.01102 1.01102 1.01037 1.00678 +1.00122 0.997633 0.991429 0.980653 0.959158 0.935158 0.855579 0.696421 +0.548 0.46024 0.4148 0.38072 0.367467 0.378827 0.39776 0.39776 +0.373147 0.339067 0.308773 0.3012 0.327707 0.344747 0.322027 0.286053 +0.28984 0.310667 0.3296 0.327707 0.304987 0.287947 0.276587 0.291733 +0.31256 0.34096 0.344747 0.333387 0.320133 0.29552 0.28416 0.286053 +0.280373 0.276587 0.282267 0.291733 0.287947 0.28416 0.304987 0.325813 +0.304987 0.280373 0.286053 0.310667 0.354213 0.365573 0.32392 0.297413 +0.297413 0.308773 0.331493 0.358 0.339067 0.322027 0.337173 0.382613 +0.411013 0.393973 0.348533 0.325813 0.310667 0.30688 0.325813 0.365573 +0.371253 0.3296 0.316347 0.350427 0.418587 0.43752 0.429947 0.399653 +0.354213 0.32392 0.3012 0.303093 0.327707 0.365573 0.3864 0.384507 +0.367467 0.34664 0.348533 0.359893 0.365573 0.358 0.361787 0.390187 +0.40912 0.384507 0.411013 0.49432 0.501263 0.467813 0.501263 0.521474 +0.557474 0.600421 0.591579 0.56 0.532842 0.496213 0.4432 0.46024 +0.47728 0.458347 0.418587 0.3864 0.3864 0.405333 0.393973 0.4148 +0.561895 0.773474 0.969895 1.01396 1.02767 1.03453 1.0329 1.03127 +1.03159 1.03127 1.03192 1.03976 1.044 1.04302 1.04563 1.04759 +1.04694 1.04759 1.04988 1.04792 1.04792 1.04727 1.04857 1.04955 +1.04824 1.04857 1.04792 1.04596 1.044 1.04759 1.04792 1.04433 +1.04465 1.04498 1.044 1.04465 1.04563 1.04237 1.04008 1.04171 +1.04041 1.03812 1.03616 1.03714 1.0378 1.0391 1.03878 1.03845 +1.03714 1.03878 1.03976 1.04073 1.04204 1.04171 1.04139 1.04171 +1.04498 1.04596 1.04237 1.04106 1.04204 1.04367 1.04073 1.04041 +1.04269 1.04106 1.04106 1.04139 1.04204 1.04237 1.04139 1.0378 +1.03649 1.03355 1.03061 1.03127 1.03486 1.03518 1.03192 1.03486 +1.03584 1.03878 1.03878 1.03714 1.04106 1.04596 1.04171 1.03616 +1.04106 1.04531 1.04269 1.04106 1.04008 1.04171 1.04171 1.03976 +1.04073 1.04041 1.03845 1.03878 1.04139 1.04563 1.04922 1.04759 +1.04465 1.04465 1.04694 1.04531 1.04563 1.04824 1.05053 1.04955 +1.04955 1.04955 1.04727 1.04433 1.04824 1.04988 1.04596 1.04596 +1.04727 1.04661 1.04433 1.04465 1.04498 1.04759 1.04433 1.04041 +1.04302 1.04139 1.03845 1.0378 1.03976 1.04041 1.04171 1.04073 +1.03682 1.03649 1.03616 1.03943 1.04367 1.04367 1.04106 1.04073 +1.03976 1.03812 1.0391 1.03845 1.03976 1.04106 1.03714 1.03355 +1.03322 1.03355 1.03355 1.03224 1.03094 1.03029 1.02865 1.02016 +1.00286 0.959158 0.858737 0.734947 0.604842 0.490533 0.322027 0.293627 +0.344747 0.390187 0.36936 0.339067 0.32392 0.3296 0.371253 0.428053 +0.388293 0.299307 0.270907 0.282267 0.337173 0.40344 0.38072 0.31824 +0.287947 0.286053 0.299307 0.304987 0.31256 0.30688 0.310667 0.31824 +0.316347 0.327707 0.388293 0.452667 0.450773 0.38072 0.33528 0.339067 +0.327707 0.32392 0.34664 0.365573 0.356107 0.322027 0.29552 0.293627 +0.3012 0.287947 0.297413 0.356107 0.42616 0.446987 0.428053 0.393973 +0.356107 0.33528 0.331493 0.3296 0.342853 0.348533 0.354213 0.371253 +0.384507 0.40912 0.501263 0.603579 0.765263 0.901684 0.967368 0.98 +0.980653 0.981959 0.984245 0.990122 0.998286 1.00384 1.00188 0.998286 +0.999592 1.00286 1.00678 1.00906 1.00743 1.00645 1.00971 1.01657 +1.01951 1.01363 0.998286 0.981633 0.971789 0.966105 0.956 0.952842 +0.952211 0.952211 0.948421 0.942737 0.942737 0.960421 0.983592 0.940842 +0.755158 0.554316 0.416693 0.34096 0.246293 0.000906667 0.000826667 0.00078 +0.000746667 0.000746667 0.00074 0.000753333 0.00076 0.00076 0.00078 0.000753333 +0.000733333 0.00074 0.000746667 0.00074 0.00072 0.000693333 0.000706667 0.000706667 +0.00072 0.00074 0.000726667 0.000726667 0.000733333 0.000706667 0.000686667 0.000693333 +0.00072 0.00072 0.000726667 0.000706667 0.000753333 0.000766667 0.00074 0.00072 +0.00072 0.000733333 0.000726667 0.000713333 0.000726667 0.00072 0.000733333 0.000746667 +0.000726667 0.00072 0.00072 0.00072 0.000726667 0.000746667 0.000746667 0.000726667 +0.00072 0.000726667 0.000753333 0.000746667 0.000746667 0.000746667 0.00072 0.000713333 +0.00072 0.0007 0.0007 0.000726667 0.0007 0.000686667 0.000713333 0.000713333 +0.0007 0.0007 0.000713333 0.000713333 0.0007 0.0007 0.0007 0.000713333 +0.000706667 0.0007 0.000733333 0.00072 0.000726667 0.000753333 0.00074 0.000726667 +0.000753333 0.00078 0.00076 0.00074 0.000786667 0.0008 0.0008 0.000813333 +0.000826667 0.000826667 0.000886667 0.25008 0.34096 0.327707 0.265227 0.325813 +0.537263 0.749474 0.950947 0.991102 0.969895 0.951579 0.956632 0.965474 +0.976211 0.992082 1.00808 1.01461 1.0169 1.01853 1.0182 1.01853 +1.01755 1.01363 1.01298 1.01265 1.01233 1.01461 1.01592 1.01167 +1.00547 0.998612 0.98751 0.969895 0.948421 0.919368 0.820842 0.653474 +0.525263 0.43184 0.39208 0.382613 0.39776 0.42048 0.416693 0.373147 +0.32392 0.304987 0.299307 0.304987 0.3296 0.327707 0.30688 0.293627 +0.304987 0.29552 0.293627 0.291733 0.29552 0.299307 0.299307 0.303093 +0.325813 0.35232 0.350427 0.350427 0.342853 0.303093 0.280373 0.280373 +0.282267 0.276587 0.2728 0.27848 0.280373 0.29552 0.325813 0.3296 +0.29552 0.274693 0.286053 0.304987 0.322027 0.342853 0.331493 0.29552 +0.28984 0.30688 0.337173 0.34096 0.308773 0.304987 0.331493 0.3864 +0.418587 0.407227 0.371253 0.325813 0.316347 0.322027 0.31824 0.361787 +0.38072 0.339067 0.325813 0.34664 0.382613 0.393973 0.428053 0.450773 +0.40344 0.348533 0.331493 0.333387 0.331493 0.34096 0.354213 0.378827 +0.40912 0.416693 0.42048 0.424267 0.42616 0.429947 0.48864 0.513263 +0.4716 0.376933 0.358 0.411013 0.4432 0.44888 0.496213 0.503158 +0.514526 0.529684 0.502526 0.46592 0.48296 0.428053 0.382613 0.422373 +0.469707 0.452667 0.39208 0.34664 0.34096 0.365573 0.378827 0.40344 +0.536632 0.726737 0.935789 1.00906 1.02637 1.03061 1.02702 1.02637 +1.028 1.03061 1.03453 1.04139 1.04498 1.04433 1.04498 1.04922 +1.0489 1.04661 1.04824 1.04661 1.04433 1.04531 1.04792 1.04727 +1.04661 1.04694 1.04465 1.044 1.04465 1.04563 1.04629 1.04498 +1.04531 1.044 1.04237 1.04367 1.04531 1.04269 1.03976 1.04073 +1.0391 1.0391 1.03878 1.0391 1.03845 1.0391 1.04008 1.04008 +1.03845 1.04041 1.04204 1.04204 1.04367 1.04367 1.04171 1.04204 +1.04433 1.04531 1.04269 1.03976 1.04073 1.04367 1.04073 1.03747 +1.04204 1.04237 1.04041 1.04008 1.04008 1.04171 1.04139 1.0378 +1.03649 1.03094 1.02931 1.03159 1.03453 1.0378 1.03747 1.03649 +1.03649 1.03878 1.0378 1.03682 1.04041 1.04694 1.04269 1.03649 +1.04139 1.04694 1.04302 1.04139 1.04041 1.04171 1.04008 1.03845 +1.04106 1.04008 1.03943 1.04106 1.04204 1.04563 1.04661 1.04563 +1.04498 1.04563 1.04498 1.04433 1.04629 1.04759 1.04792 1.04824 +1.04857 1.04727 1.04759 1.04792 1.05086 1.04792 1.04694 1.04824 +1.04759 1.04563 1.04237 1.04237 1.04465 1.04596 1.04367 1.04204 +1.04335 1.04269 1.04073 1.0391 1.03714 1.03682 1.03943 1.03943 +1.03845 1.03649 1.03812 1.04237 1.04171 1.03943 1.03976 1.04171 +1.04073 1.03812 1.03845 1.0391 1.04106 1.04204 1.03845 1.03518 +1.03486 1.03518 1.0329 1.03094 1.03127 1.03029 1.02669 1.01722 +0.997633 0.949684 0.854947 0.736842 0.610526 0.503789 0.344747 0.3012 +0.34096 0.401547 0.390187 0.373147 0.35232 0.339067 0.378827 0.418587 +0.36936 0.29552 0.28416 0.308773 0.365573 0.38072 0.33528 0.299307 +0.29552 0.297413 0.28984 0.29552 0.30688 0.322027 0.327707 0.32392 +0.325813 0.35232 0.4432 0.519579 0.525263 0.475387 0.388293 0.365573 +0.344747 0.337173 0.344747 0.344747 0.33528 0.31824 0.303093 0.29552 +0.287947 0.27848 0.28984 0.356107 0.44888 0.462133 0.399653 0.354213 +0.331493 0.327707 0.333387 0.33528 0.344747 0.36368 0.373147 0.382613 +0.39208 0.4148 0.49432 0.583368 0.733684 0.880842 0.961684 0.980327 +0.981306 0.981959 0.983918 0.989796 0.997306 1.00155 1.00024 0.998286 +1.00351 1.00776 1.00873 1.00939 1.00776 1.00384 1.00253 1.00514 +1.00351 0.99502 0.985224 0.975579 0.974316 0.969263 0.954737 0.950947 +0.952842 0.952211 0.951579 0.947158 0.943368 0.949684 0.976211 0.979368 +0.855579 0.638316 0.490533 0.378827 0.286053 0.000946667 0.00084 0.000793333 +0.000766667 0.000773333 0.000753333 0.000766667 0.000746667 0.00074 0.000766667 0.000766667 +0.000773333 0.00076 0.000726667 0.00072 0.000706667 0.000706667 0.00074 0.00074 +0.00074 0.000733333 0.000706667 0.000686667 0.000693333 0.000706667 0.000726667 0.000746667 +0.00074 0.00072 0.000713333 0.000693333 0.00072 0.00074 0.00074 0.000746667 +0.000753333 0.000753333 0.00074 0.000713333 0.00072 0.000713333 0.000726667 0.00076 +0.000773333 0.000746667 0.000746667 0.000753333 0.00074 0.000753333 0.000753333 0.000733333 +0.000733333 0.000726667 0.000753333 0.000746667 0.00074 0.000746667 0.000733333 0.00072 +0.000726667 0.00072 0.000686667 0.000706667 0.000713333 0.0007 0.000713333 0.000733333 +0.000726667 0.0007 0.000706667 0.000706667 0.000706667 0.000706667 0.000713333 0.00072 +0.000713333 0.000693333 0.000706667 0.000706667 0.000693333 0.000713333 0.000746667 0.000746667 +0.000746667 0.00076 0.00076 0.00076 0.000786667 0.000793333 0.0008 0.00082 +0.00084 0.000846667 0.000973333 0.3012 0.354213 0.28984 0.25576 0.40344 +0.625684 0.86 0.987184 0.986204 0.959789 0.950316 0.955368 0.966737 +0.983918 0.999592 1.01298 1.0169 1.02016 1.02147 1.01853 1.01722 +1.01722 1.01494 1.01527 1.01657 1.0182 1.02343 1.02408 1.0182 +1.01167 1.00253 0.98751 0.966105 0.940842 0.901053 0.782947 0.618737 +0.509474 0.40344 0.373147 0.390187 0.405333 0.412907 0.382613 0.337173 +0.308773 0.303093 0.303093 0.31256 0.32392 0.308773 0.303093 0.308773 +0.316347 0.303093 0.286053 0.28416 0.287947 0.29552 0.304987 0.314453 +0.33528 0.331493 0.316347 0.325813 0.33528 0.303093 0.280373 0.287947 +0.293627 0.29552 0.28416 0.274693 0.27848 0.30688 0.339067 0.31824 +0.280373 0.269013 0.282267 0.286053 0.291733 0.314453 0.32392 0.30688 +0.297413 0.31824 0.358 0.33528 0.3012 0.304987 0.3296 0.37504 +0.405333 0.3864 0.371253 0.34096 0.342853 0.373147 0.378827 0.384507 +0.378827 0.342853 0.34096 0.358 0.359893 0.348533 0.376933 0.435627 +0.411013 0.365573 0.354213 0.358 0.34664 0.333387 0.331493 0.34096 +0.390187 0.469707 0.510737 0.512 0.506316 0.512632 0.553053 0.565684 +0.505053 0.371253 0.339067 0.358 0.3864 0.40344 0.445093 0.452667 +0.4716 0.501263 0.43184 0.40344 0.43184 0.401547 0.348533 0.36368 +0.422373 0.445093 0.40912 0.358 0.3296 0.339067 0.361787 0.3864 +0.509474 0.674316 0.893474 0.998612 1.01951 1.02376 1.02082 1.02212 +1.02767 1.03061 1.03518 1.04237 1.04465 1.04367 1.04498 1.04955 +1.04922 1.04563 1.04792 1.04857 1.04498 1.04302 1.04498 1.04465 +1.04531 1.04596 1.04269 1.04237 1.044 1.04302 1.04367 1.04465 +1.04367 1.04106 1.04073 1.04433 1.044 1.04237 1.03943 1.0391 +1.03845 1.04139 1.04171 1.04008 1.03943 1.03976 1.04041 1.0391 +1.03845 1.04106 1.04139 1.0391 1.04302 1.044 1.04073 1.04237 +1.04237 1.04139 1.04237 1.04041 1.04237 1.04727 1.04433 1.0378 +1.04106 1.04237 1.03943 1.04106 1.04073 1.04204 1.04204 1.0378 +1.03584 1.02963 1.028 1.03224 1.03551 1.03682 1.03747 1.0391 +1.0378 1.03878 1.0378 1.03845 1.03976 1.04629 1.04204 1.03747 +1.04204 1.04563 1.04237 1.04139 1.03845 1.03943 1.03976 1.03943 +1.04204 1.04008 1.03976 1.04204 1.04204 1.04629 1.04629 1.04237 +1.04269 1.04596 1.04367 1.044 1.04563 1.044 1.04367 1.04661 +1.04694 1.04531 1.0489 1.05086 1.05118 1.04661 1.04759 1.04922 +1.04792 1.04759 1.04563 1.04563 1.04596 1.04367 1.04465 1.04727 +1.04596 1.04433 1.04269 1.04171 1.03845 1.03649 1.03845 1.03845 +1.03976 1.03747 1.03943 1.04367 1.04008 1.03682 1.03845 1.04073 +1.04106 1.03943 1.0378 1.03943 1.04041 1.04041 1.0391 1.03714 +1.03649 1.03551 1.0329 1.03159 1.03192 1.02898 1.02376 1.01396 +0.993714 0.949684 0.857474 0.734947 0.606105 0.502526 0.358 0.320133 +0.359893 0.433733 0.435627 0.42616 0.4148 0.422373 0.445093 0.42048 +0.342853 0.291733 0.314453 0.358 0.388293 0.384507 0.36936 0.361787 +0.365573 0.356107 0.322027 0.303093 0.30688 0.31824 0.320133 0.314453 +0.337173 0.433733 0.535368 0.587158 0.577684 0.516421 0.411013 0.354213 +0.314453 0.3012 0.316347 0.316347 0.314453 0.308773 0.304987 0.29552 +0.28984 0.3012 0.314453 0.37504 0.46024 0.435627 0.358 0.322027 +0.320133 0.32392 0.327707 0.339067 0.348533 0.36936 0.388293 0.39776 +0.405333 0.422373 0.47728 0.556842 0.692 0.848632 0.949684 0.978105 +0.979368 0.979368 0.982286 0.990122 0.99698 0.999918 0.999918 1.00057 +1.00449 1.00743 1.00808 1.00612 1.00482 1.00188 0.998939 0.996653 +0.990449 0.982612 0.976211 0.971789 0.976842 0.975579 0.959158 0.949053 +0.949684 0.950316 0.951579 0.948421 0.944632 0.943368 0.961684 0.983918 +0.935789 0.743789 0.545474 0.407227 0.320133 0.225467 0.000873333 0.000826667 +0.000793333 0.00078 0.000746667 0.000773333 0.00078 0.000793333 0.0008 0.000773333 +0.00074 0.000706667 0.000713333 0.000726667 0.000726667 0.00076 0.000786667 0.000766667 +0.000726667 0.0007 0.000693333 0.000706667 0.000713333 0.000726667 0.000726667 0.00072 +0.0007 0.000713333 0.00074 0.00074 0.000746667 0.000733333 0.00072 0.00072 +0.000726667 0.000746667 0.000746667 0.000746667 0.00074 0.000713333 0.000713333 0.000733333 +0.00076 0.000746667 0.000733333 0.000746667 0.000746667 0.000753333 0.00074 0.000726667 +0.000733333 0.000726667 0.000733333 0.00074 0.000733333 0.000746667 0.000753333 0.000733333 +0.000726667 0.000733333 0.000713333 0.000713333 0.000726667 0.00072 0.000713333 0.00074 +0.000746667 0.00072 0.000706667 0.000706667 0.000706667 0.00072 0.000713333 0.00072 +0.000733333 0.00074 0.000726667 0.00074 0.000713333 0.0007 0.000746667 0.000753333 +0.000753333 0.000773333 0.00078 0.000773333 0.000786667 0.00078 0.000786667 0.000813333 +0.000833333 0.000873333 0.248187 0.348533 0.344747 0.270907 0.282267 0.514526 +0.726737 0.942737 0.993714 0.978105 0.958526 0.955368 0.957895 0.973053 +0.991755 1.00678 1.01592 1.01657 1.01918 1.02212 1.01853 1.01722 +1.01592 1.01331 1.01559 1.01951 1.02669 1.03682 1.03714 1.02963 +1.02343 1.01265 0.991429 0.962947 0.933263 0.880211 0.750105 0.592211 +0.49432 0.39208 0.37504 0.388293 0.382613 0.36936 0.342853 0.320133 +0.314453 0.30688 0.303093 0.316347 0.320133 0.30688 0.297413 0.308773 +0.299307 0.286053 0.28416 0.28984 0.293627 0.3012 0.30688 0.33528 +0.356107 0.327707 0.293627 0.299307 0.30688 0.286053 0.27848 0.28984 +0.30688 0.31256 0.3012 0.29552 0.291733 0.322027 0.34096 0.3012 +0.269013 0.265227 0.26712 0.27848 0.28416 0.29552 0.314453 0.31256 +0.297413 0.327707 0.359893 0.32392 0.291733 0.3012 0.327707 0.384507 +0.40912 0.376933 0.35232 0.348533 0.354213 0.40912 0.48296 0.48296 +0.422373 0.365573 0.356107 0.359893 0.348533 0.339067 0.358 0.401547 +0.373147 0.3296 0.32392 0.3296 0.3296 0.339067 0.337173 0.333387 +0.367467 0.458347 0.506947 0.500632 0.479173 0.496213 0.527158 0.539789 +0.498107 0.395867 0.36368 0.359893 0.365573 0.378827 0.4148 0.456453 +0.484853 0.496213 0.445093 0.422373 0.44888 0.428053 0.367467 0.344747 +0.371253 0.405333 0.393973 0.359893 0.325813 0.31256 0.339067 0.371253 +0.467813 0.626316 0.846737 0.98751 1.012 1.0182 1.01722 1.01984 +1.02931 1.0342 1.03845 1.044 1.04498 1.044 1.04531 1.04661 +1.04792 1.04629 1.04629 1.04694 1.04661 1.04433 1.04498 1.044 +1.044 1.04531 1.04302 1.04139 1.04171 1.04106 1.04269 1.04367 +1.04171 1.03976 1.04204 1.04531 1.04367 1.04269 1.03943 1.0378 +1.04008 1.04433 1.04269 1.04106 1.03943 1.03747 1.03812 1.03812 +1.0378 1.04041 1.04106 1.03747 1.04171 1.04465 1.04073 1.04237 +1.04269 1.03943 1.04139 1.04139 1.04073 1.04433 1.04433 1.0391 +1.03976 1.04139 1.0391 1.04041 1.03976 1.04139 1.04204 1.03682 +1.03322 1.03061 1.03061 1.03355 1.03518 1.03355 1.03518 1.0391 +1.0391 1.03812 1.03878 1.03976 1.04204 1.04629 1.04269 1.0391 +1.04106 1.04008 1.04073 1.04367 1.04008 1.04008 1.04106 1.04139 +1.04106 1.03943 1.04139 1.04335 1.04269 1.04727 1.04792 1.04335 +1.04367 1.04531 1.04269 1.044 1.04498 1.04204 1.04367 1.04857 +1.04727 1.04563 1.0489 1.05086 1.04857 1.04531 1.04792 1.04759 +1.04759 1.04727 1.04596 1.04792 1.04563 1.04269 1.04629 1.04824 +1.04694 1.04563 1.04335 1.04171 1.03878 1.03616 1.0378 1.0378 +1.03878 1.0391 1.03878 1.03943 1.03747 1.03682 1.0391 1.04041 +1.04106 1.04008 1.03878 1.04041 1.0391 1.03845 1.03747 1.03747 +1.03747 1.03453 1.03322 1.03192 1.03061 1.03029 1.02506 1.01363 +0.994694 0.952842 0.855579 0.719789 0.585263 0.48864 0.36936 0.322027 +0.390187 0.507579 0.520842 0.519579 0.515789 0.508842 0.490533 0.4148 +0.3296 0.316347 0.388293 0.433733 0.4148 0.399653 0.401547 0.39208 +0.3864 0.371253 0.325813 0.3012 0.3012 0.299307 0.303093 0.33528 +0.424267 0.529684 0.586526 0.602947 0.558105 0.469707 0.34664 0.304987 +0.287947 0.297413 0.320133 0.308773 0.297413 0.293627 0.286053 0.286053 +0.3012 0.314453 0.344747 0.428053 0.479173 0.401547 0.327707 0.308773 +0.310667 0.32392 0.331493 0.342853 0.350427 0.373147 0.39776 0.399653 +0.395867 0.412907 0.45456 0.535368 0.656632 0.818316 0.936421 0.973684 +0.977474 0.976211 0.980327 0.98849 0.996 0.999918 1.00416 1.00678 +1.00612 1.00416 1.00416 1.00286 1.00351 1.0022 0.999918 0.996327 +0.988163 0.981959 0.976842 0.969895 0.973053 0.976211 0.966737 0.952211 +0.948421 0.947789 0.950316 0.949684 0.946526 0.942737 0.950947 0.976211 +0.976211 0.845474 0.625053 0.486747 0.37504 0.2728 0.00092 0.000813333 +0.000773333 0.000773333 0.000786667 0.000826667 0.000806667 0.000806667 0.000793333 0.000753333 +0.000726667 0.00072 0.000746667 0.00076 0.000733333 0.000746667 0.000746667 0.000706667 +0.000706667 0.000726667 0.000733333 0.000746667 0.000726667 0.00072 0.00072 0.00072 +0.00072 0.000746667 0.000746667 0.000726667 0.00076 0.000746667 0.000733333 0.000713333 +0.0007 0.000713333 0.000726667 0.000733333 0.000746667 0.000726667 0.00072 0.000706667 +0.00072 0.000726667 0.00072 0.000706667 0.000713333 0.000726667 0.000726667 0.000733333 +0.000733333 0.000726667 0.000706667 0.000713333 0.00072 0.00072 0.00074 0.000746667 +0.000713333 0.000726667 0.000733333 0.00072 0.000733333 0.00072 0.000693333 0.000693333 +0.000713333 0.000713333 0.000713333 0.000713333 0.000726667 0.000726667 0.000726667 0.00072 +0.00072 0.00072 0.000726667 0.000746667 0.000746667 0.000746667 0.00076 0.000766667 +0.000746667 0.00076 0.000773333 0.000773333 0.000793333 0.000813333 0.00082 0.000813333 +0.000833333 0.00094 0.29552 0.367467 0.304987 0.257653 0.354213 0.590947 +0.832211 0.985224 0.987837 0.963579 0.952842 0.954737 0.961684 0.982286 +0.999592 1.01298 1.01886 1.0169 1.01886 1.02016 1.0169 1.0182 +1.0169 1.01331 1.01657 1.02376 1.03682 1.05086 1.05151 1.04531 +1.04302 1.03061 0.996653 0.956 0.922526 0.855579 0.717263 0.573263 +0.473493 0.390187 0.373147 0.36368 0.342853 0.3296 0.31824 0.31256 +0.31256 0.308773 0.299307 0.304987 0.308773 0.304987 0.304987 0.310667 +0.297413 0.282267 0.282267 0.299307 0.303093 0.31256 0.32392 0.36368 +0.378827 0.34096 0.304987 0.297413 0.29552 0.280373 0.276587 0.282267 +0.291733 0.303093 0.322027 0.344747 0.342853 0.350427 0.344747 0.299307 +0.280373 0.282267 0.282267 0.291733 0.299307 0.286053 0.297413 0.308773 +0.304987 0.325813 0.333387 0.303093 0.291733 0.3012 0.322027 0.382613 +0.445093 0.433733 0.384507 0.350427 0.344747 0.39208 0.498107 0.507579 +0.4432 0.390187 0.3864 0.367467 0.34664 0.34664 0.365573 0.40344 +0.365573 0.314453 0.308773 0.316347 0.322027 0.331493 0.34096 0.354213 +0.39776 0.452667 0.441307 0.3864 0.37504 0.395867 0.418587 0.46024 +0.433733 0.40344 0.39776 0.388293 0.378827 0.36368 0.39208 0.479173 +0.506947 0.48864 0.435627 0.43184 0.458347 0.422373 0.35232 0.331493 +0.344747 0.371253 0.367467 0.354213 0.342853 0.348533 0.367467 0.371253 +0.441307 0.593474 0.805053 0.979368 1.01069 1.01494 1.01461 1.01886 +1.02898 1.03616 1.04269 1.04465 1.044 1.04433 1.044 1.04498 +1.04824 1.04792 1.04531 1.04563 1.04759 1.04661 1.04596 1.04563 +1.04531 1.04596 1.044 1.04237 1.04204 1.04139 1.04237 1.04335 +1.04204 1.04073 1.04139 1.04465 1.044 1.04237 1.04041 1.03812 +1.03878 1.04106 1.04139 1.04139 1.03878 1.03649 1.03812 1.03878 +1.03747 1.03976 1.04073 1.03747 1.04237 1.04498 1.04237 1.04335 +1.04367 1.04008 1.04073 1.04302 1.04041 1.04073 1.04204 1.03976 +1.03943 1.04171 1.03976 1.04008 1.03878 1.0391 1.03845 1.03355 +1.03029 1.03029 1.03192 1.03388 1.03584 1.03551 1.03453 1.03747 +1.0378 1.03584 1.03682 1.0391 1.04335 1.04596 1.04269 1.04237 +1.044 1.03943 1.03943 1.04171 1.04171 1.04139 1.04073 1.04073 +1.04041 1.0391 1.04106 1.04106 1.04171 1.04498 1.04433 1.04269 +1.04465 1.04498 1.044 1.04433 1.044 1.04204 1.04465 1.04792 +1.04694 1.04563 1.04727 1.04922 1.04727 1.04563 1.04792 1.04563 +1.04563 1.04531 1.04465 1.04727 1.04433 1.044 1.04857 1.04824 +1.04629 1.04727 1.04563 1.04302 1.03878 1.03584 1.03714 1.03747 +1.0378 1.0378 1.03649 1.03551 1.03747 1.03845 1.04008 1.04073 +1.03943 1.03943 1.04008 1.03943 1.03943 1.04008 1.0391 1.03812 +1.03682 1.03486 1.03714 1.03486 1.03127 1.03061 1.02473 1.01592 +0.998286 0.944632 0.827158 0.681263 0.555579 0.450773 0.344747 0.316347 +0.47728 0.575789 0.608 0.605474 0.581474 0.540421 0.492427 0.40912 +0.367467 0.405333 0.501263 0.498107 0.411013 0.361787 0.337173 0.31824 +0.320133 0.322027 0.299307 0.287947 0.291733 0.293627 0.322027 0.407227 +0.517684 0.566947 0.578316 0.539789 0.452667 0.333387 0.286053 0.282267 +0.287947 0.3012 0.31256 0.291733 0.286053 0.287947 0.27848 0.28416 +0.291733 0.310667 0.382613 0.484853 0.47728 0.378827 0.327707 0.32392 +0.32392 0.33528 0.342853 0.354213 0.367467 0.376933 0.384507 0.384507 +0.3864 0.405333 0.435627 0.518947 0.626316 0.789263 0.926316 0.975579 +0.980653 0.976211 0.974316 0.984245 0.993388 0.998939 1.00449 1.00547 +1.00155 0.998612 1.00155 1.00286 1.00482 1.00384 1.00188 0.998939 +0.992082 0.984898 0.980653 0.974316 0.974316 0.975579 0.970526 0.957263 +0.951579 0.949684 0.952842 0.954105 0.949053 0.940842 0.943368 0.960421 +0.981633 0.925053 0.728632 0.542947 0.412907 0.31256 0.00098 0.0008 +0.00078 0.000793333 0.0008 0.000806667 0.000746667 0.000746667 0.000766667 0.000766667 +0.000773333 0.000766667 0.00078 0.000766667 0.000733333 0.000733333 0.000733333 0.000733333 +0.00074 0.000733333 0.000726667 0.000746667 0.000733333 0.000726667 0.00076 0.000773333 +0.000753333 0.00074 0.000706667 0.000693333 0.00072 0.00072 0.000733333 0.000746667 +0.000726667 0.00072 0.000726667 0.00072 0.000726667 0.000713333 0.00072 0.00072 +0.000713333 0.000713333 0.00072 0.0007 0.000713333 0.00072 0.000706667 0.00072 +0.000733333 0.00072 0.0007 0.000706667 0.000713333 0.000693333 0.0007 0.000713333 +0.000713333 0.000713333 0.00072 0.000706667 0.00072 0.00074 0.000713333 0.000693333 +0.000726667 0.000726667 0.000706667 0.0007 0.000733333 0.000733333 0.00072 0.00072 +0.000733333 0.000733333 0.000713333 0.000726667 0.00074 0.00074 0.000753333 0.000773333 +0.000766667 0.000766667 0.000773333 0.000786667 0.000793333 0.00082 0.000833333 0.000833333 +0.00088 0.240613 0.34096 0.35232 0.265227 0.263333 0.467813 0.681263 +0.916211 0.994041 0.982612 0.959789 0.951579 0.950947 0.964211 0.989143 +1.00612 1.01624 1.02016 1.01886 1.01951 1.01886 1.01592 1.01886 +1.01755 1.01494 1.01918 1.02931 1.04694 1.08282 1.07978 1.05543 +1.05608 1.04792 1.00612 0.955368 0.913684 0.834105 0.693263 0.56 +0.46592 0.393973 0.371253 0.350427 0.325813 0.31824 0.316347 0.308773 +0.30688 0.3012 0.293627 0.29552 0.297413 0.3012 0.310667 0.31824 +0.3012 0.291733 0.293627 0.297413 0.303093 0.304987 0.333387 0.37504 +0.373147 0.337173 0.304987 0.297413 0.3012 0.29552 0.291733 0.28984 +0.29552 0.30688 0.348533 0.384507 0.361787 0.342853 0.342853 0.327707 +0.322027 0.29552 0.287947 0.299307 0.303093 0.3012 0.297413 0.30688 +0.30688 0.314453 0.314453 0.287947 0.293627 0.320133 0.337173 0.373147 +0.441307 0.481067 0.450773 0.40344 0.38072 0.388293 0.439413 0.456453 +0.395867 0.373147 0.395867 0.382613 0.367467 0.36368 0.365573 0.388293 +0.365573 0.327707 0.325813 0.337173 0.34664 0.358 0.395867 0.428053 +0.433733 0.435627 0.39776 0.339067 0.339067 0.35232 0.359893 0.38072 +0.382613 0.365573 0.367467 0.37504 0.37504 0.371253 0.399653 0.496213 +0.528421 0.520842 0.479173 0.43184 0.428053 0.39776 0.34664 0.33528 +0.35232 0.358 0.367467 0.388293 0.424267 0.456453 0.441307 0.3864 +0.412907 0.552421 0.744421 0.938316 1.0022 1.01298 1.01592 1.0218 +1.03094 1.03747 1.04465 1.04629 1.04465 1.04531 1.04465 1.04727 +1.04857 1.04759 1.04596 1.04531 1.04792 1.04661 1.04531 1.04629 +1.04563 1.044 1.04367 1.04302 1.04335 1.044 1.044 1.04335 +1.04269 1.04237 1.04073 1.04335 1.04335 1.04106 1.04433 1.04302 +1.04008 1.04041 1.04073 1.04106 1.04204 1.04073 1.03943 1.04008 +1.03812 1.03812 1.03845 1.03812 1.04302 1.04367 1.04171 1.04204 +1.04204 1.04008 1.0391 1.03976 1.03812 1.03976 1.04041 1.04204 +1.04237 1.04041 1.03812 1.0391 1.03551 1.03322 1.03094 1.02833 +1.02963 1.02996 1.03192 1.0342 1.03518 1.03714 1.03518 1.0391 +1.03878 1.03747 1.03845 1.04073 1.04563 1.04531 1.04204 1.04106 +1.04433 1.04171 1.04073 1.04106 1.04106 1.04139 1.04204 1.04335 +1.04237 1.03943 1.04008 1.03845 1.04106 1.044 1.03976 1.03878 +1.04367 1.04498 1.04531 1.04335 1.04237 1.04269 1.04563 1.04759 +1.04661 1.04694 1.04727 1.04596 1.04531 1.04498 1.04629 1.04465 +1.044 1.04563 1.04727 1.04792 1.04498 1.04563 1.0502 1.05118 +1.04988 1.04792 1.04563 1.04237 1.0378 1.03845 1.03976 1.03878 +1.03616 1.03388 1.03355 1.03616 1.04008 1.03943 1.03976 1.04106 +1.0391 1.03878 1.04041 1.03812 1.0391 1.03878 1.03714 1.0391 +1.03714 1.03486 1.03714 1.03518 1.03224 1.02996 1.02147 1.01004 +0.98751 0.902947 0.774105 0.639579 0.531579 0.399653 0.308773 0.39208 +0.571368 0.688211 0.726737 0.705895 0.649684 0.573263 0.509474 0.435627 +0.40912 0.433733 0.48864 0.456453 0.373147 0.327707 0.293627 0.282267 +0.286053 0.293627 0.286053 0.280373 0.291733 0.310667 0.384507 0.512632 +0.563158 0.572 0.531579 0.43184 0.327707 0.28416 0.27848 0.286053 +0.28984 0.304987 0.316347 0.28416 0.274693 0.282267 0.280373 0.282267 +0.293627 0.337173 0.445093 0.508842 0.46592 0.371253 0.34096 0.33528 +0.337173 0.359893 0.371253 0.36936 0.36368 0.354213 0.36368 0.376933 +0.3864 0.399653 0.424267 0.503158 0.596632 0.757053 0.909263 0.974316 +0.981306 0.978737 0.979368 0.986857 0.99502 0.997306 0.998939 0.996 +0.994041 0.995347 1.0009 1.00416 1.00482 1.00514 1.00384 1.00155 +0.995347 0.988816 0.985224 0.981306 0.98 0.976842 0.972421 0.964842 +0.958526 0.952842 0.952842 0.954737 0.948421 0.939579 0.941474 0.953474 +0.98 0.973053 0.829053 0.610526 0.462133 0.350427 0.26144 0.00088 +0.000786667 0.000766667 0.000766667 0.000773333 0.00076 0.00076 0.000753333 0.00076 +0.000753333 0.000746667 0.000753333 0.000753333 0.00074 0.00076 0.000766667 0.00074 +0.000726667 0.0007 0.000713333 0.000733333 0.000726667 0.000726667 0.000726667 0.000726667 +0.000713333 0.000713333 0.000713333 0.00072 0.0007 0.00072 0.000733333 0.00074 +0.00074 0.00072 0.00072 0.00072 0.000726667 0.00072 0.000713333 0.000713333 +0.000706667 0.000713333 0.000726667 0.000706667 0.000706667 0.000733333 0.000713333 0.000706667 +0.000713333 0.000713333 0.000713333 0.00072 0.000706667 0.000706667 0.000693333 0.000706667 +0.00072 0.00072 0.00072 0.000706667 0.000706667 0.00074 0.000746667 0.000733333 +0.000746667 0.000733333 0.00072 0.000713333 0.000726667 0.00072 0.000713333 0.00072 +0.00072 0.000733333 0.000733333 0.000746667 0.00074 0.000726667 0.00074 0.000746667 +0.000753333 0.000773333 0.000773333 0.000793333 0.0008 0.000806667 0.000806667 0.00082 +0.0009 0.2728 0.358 0.314453 0.246293 0.308773 0.554947 0.788 +0.973684 0.992408 0.973053 0.956 0.953474 0.954105 0.973053 0.99502 +1.00906 1.01592 1.0182 1.01951 1.01951 1.01788 1.01592 1.01657 +1.01494 1.0169 1.02473 1.03714 1.05314 1.11782 1.1163 1.05935 +1.06152 1.07217 1.01886 0.956632 0.900421 0.806947 0.664842 0.542316 +0.46024 0.411013 0.39208 0.36936 0.337173 0.3296 0.32392 0.316347 +0.304987 0.287947 0.28984 0.291733 0.293627 0.308773 0.316347 0.310667 +0.29552 0.28416 0.287947 0.291733 0.293627 0.303093 0.34096 0.371253 +0.350427 0.32392 0.30688 0.299307 0.293627 0.287947 0.28416 0.28984 +0.297413 0.331493 0.3864 0.388293 0.33528 0.31256 0.32392 0.371253 +0.39776 0.333387 0.293627 0.3012 0.325813 0.344747 0.327707 0.299307 +0.291733 0.303093 0.310667 0.303093 0.308773 0.342853 0.371253 0.388293 +0.416693 0.441307 0.441307 0.452667 0.433733 0.39776 0.39776 0.399653 +0.361787 0.333387 0.356107 0.378827 0.378827 0.367467 0.344747 0.35232 +0.348533 0.331493 0.333387 0.350427 0.367467 0.412907 0.46592 0.446987 +0.393973 0.40344 0.407227 0.356107 0.33528 0.337173 0.331493 0.34096 +0.358 0.358 0.35232 0.359893 0.373147 0.395867 0.429947 0.467813 +0.508842 0.530316 0.529053 0.502526 0.445093 0.40912 0.371253 0.376933 +0.3864 0.3864 0.424267 0.481067 0.505053 0.504421 0.464027 0.39208 +0.376933 0.502526 0.65979 0.866316 0.986531 1.01069 1.0182 1.02506 +1.03322 1.0378 1.04465 1.04759 1.04531 1.04629 1.04727 1.04824 +1.0489 1.04792 1.04694 1.04531 1.04661 1.04465 1.04269 1.04302 +1.04335 1.04302 1.04269 1.04302 1.04367 1.044 1.04465 1.04269 +1.04073 1.04171 1.04073 1.04302 1.04237 1.04041 1.04531 1.04433 +1.04008 1.04171 1.04106 1.03976 1.04302 1.04269 1.03943 1.04041 +1.03943 1.03878 1.04106 1.04106 1.04269 1.04106 1.03976 1.04204 +1.04335 1.04237 1.04008 1.03845 1.03714 1.03943 1.03845 1.04041 +1.04139 1.0391 1.03878 1.03812 1.03355 1.02833 1.02506 1.02343 +1.02767 1.02963 1.03257 1.03453 1.03388 1.0378 1.03584 1.03976 +1.04041 1.03845 1.03747 1.03976 1.04563 1.044 1.04139 1.03845 +1.04269 1.04563 1.04465 1.04139 1.03976 1.04139 1.04302 1.04335 +1.04139 1.03845 1.03878 1.03747 1.04139 1.04367 1.04106 1.04139 +1.04498 1.04563 1.04531 1.04433 1.04367 1.044 1.04661 1.04727 +1.04596 1.04694 1.04661 1.04367 1.04498 1.04563 1.04335 1.04433 +1.04629 1.04792 1.04857 1.04824 1.04596 1.04531 1.04727 1.04922 +1.0502 1.0489 1.04498 1.04041 1.03453 1.03518 1.03682 1.03714 +1.03616 1.03322 1.03257 1.03551 1.04008 1.03976 1.03812 1.04106 +1.04139 1.04073 1.04008 1.03878 1.03943 1.0378 1.03649 1.03878 +1.0378 1.03584 1.03355 1.0329 1.03159 1.028 1.0182 1.00122 +0.958526 0.853053 0.727368 0.604842 0.511368 0.378827 0.378827 0.538526 +0.68 0.793053 0.822737 0.782316 0.693895 0.586526 0.513263 0.43752 +0.384507 0.367467 0.382613 0.36936 0.342853 0.32392 0.297413 0.282267 +0.28984 0.30688 0.304987 0.29552 0.304987 0.356107 0.505053 0.572632 +0.593474 0.551158 0.467813 0.35232 0.299307 0.28416 0.28984 0.293627 +0.303093 0.354213 0.376933 0.31256 0.276587 0.276587 0.28416 0.291733 +0.337173 0.43184 0.525263 0.540421 0.505053 0.42048 0.390187 0.376933 +0.373147 0.378827 0.378827 0.361787 0.348533 0.34664 0.35232 0.378827 +0.401547 0.411013 0.418587 0.479173 0.572 0.725474 0.886526 0.965474 +0.980327 0.98098 0.984245 0.990776 0.997633 0.997306 0.99502 0.991102 +0.989143 0.993061 1.00024 1.0058 1.00645 1.00841 1.0071 1.00547 +0.999918 0.993061 0.989143 0.985878 0.984571 0.980653 0.974316 0.968632 +0.964842 0.958526 0.954737 0.955368 0.949684 0.944632 0.944 0.948421 +0.966737 0.983918 0.911789 0.705263 0.527789 0.39776 0.308773 0.000953333 +0.000773333 0.000753333 0.000786667 0.000806667 0.00082 0.0008 0.000753333 0.000733333 +0.00072 0.00074 0.000753333 0.000746667 0.000733333 0.000733333 0.000726667 0.00072 +0.000726667 0.000746667 0.00076 0.00074 0.000733333 0.0007 0.000686667 0.0007 +0.000713333 0.000713333 0.000706667 0.00072 0.000713333 0.000733333 0.00074 0.000726667 +0.00072 0.000713333 0.000706667 0.000706667 0.00072 0.000726667 0.000733333 0.00072 +0.000713333 0.000713333 0.000713333 0.000686667 0.000686667 0.00072 0.00074 0.000733333 +0.000746667 0.000733333 0.000726667 0.00074 0.000726667 0.000733333 0.000713333 0.000706667 +0.00072 0.000713333 0.000706667 0.00072 0.0007 0.00072 0.000733333 0.000706667 +0.0007 0.000726667 0.000746667 0.00074 0.00074 0.00074 0.000733333 0.00072 +0.000713333 0.000713333 0.000726667 0.000753333 0.000766667 0.000753333 0.00076 0.000753333 +0.000753333 0.000766667 0.000766667 0.000773333 0.000766667 0.000786667 0.00082 0.000833333 +0.000973333 0.304987 0.344747 0.270907 0.248187 0.405333 0.645895 0.887158 +0.992735 0.986531 0.959158 0.952211 0.953474 0.955368 0.981959 1.0022 +1.01396 1.01755 1.01918 1.01951 1.01853 1.01886 1.01886 1.01755 +1.01559 1.02082 1.0329 1.04792 1.06456 1.12999 1.11478 1.05837 +1.06761 1.1376 1.03518 0.957263 0.874526 0.756421 0.614316 0.518947 +0.462133 0.429947 0.40912 0.38072 0.344747 0.33528 0.327707 0.325813 +0.31824 0.303093 0.31256 0.30688 0.304987 0.331493 0.33528 0.31824 +0.29552 0.28984 0.291733 0.287947 0.28984 0.304987 0.34664 0.361787 +0.337173 0.31824 0.304987 0.3012 0.28984 0.280373 0.28416 0.29552 +0.31256 0.36368 0.39776 0.356107 0.3012 0.293627 0.29552 0.361787 +0.43184 0.371253 0.308773 0.299307 0.325813 0.358 0.342853 0.304987 +0.291733 0.30688 0.316347 0.316347 0.31256 0.32392 0.358 0.367467 +0.373147 0.371253 0.367467 0.4148 0.411013 0.371253 0.36368 0.365573 +0.361787 0.327707 0.33528 0.371253 0.371253 0.348533 0.331493 0.342853 +0.35232 0.339067 0.333387 0.34664 0.367467 0.411013 0.433733 0.376933 +0.337173 0.405333 0.424267 0.373147 0.34664 0.331493 0.331493 0.327707 +0.342853 0.35232 0.342853 0.356107 0.37504 0.401547 0.416693 0.390187 +0.390187 0.462133 0.512 0.510737 0.498107 0.47728 0.456453 0.46024 +0.45456 0.42616 0.42616 0.4432 0.43752 0.411013 0.378827 0.359893 +0.354213 0.40344 0.583368 0.793684 0.964211 1.00808 1.01886 1.02669 +1.03355 1.03845 1.04465 1.04694 1.04465 1.04498 1.04694 1.04727 +1.04661 1.04661 1.04759 1.04727 1.04727 1.04596 1.04433 1.04302 +1.04563 1.04727 1.04563 1.04433 1.04433 1.04433 1.04531 1.04269 +1.04106 1.04237 1.04139 1.04433 1.04367 1.04139 1.04335 1.04302 +1.04008 1.04106 1.04139 1.04171 1.04106 1.04041 1.04008 1.04106 +1.04106 1.04008 1.04237 1.04171 1.04204 1.04237 1.03943 1.04171 +1.04269 1.04237 1.0391 1.03845 1.03878 1.04106 1.0391 1.03878 +1.03878 1.03747 1.03486 1.0329 1.02931 1.02441 1.02049 1.01984 +1.02408 1.02767 1.03192 1.03486 1.03486 1.0378 1.03649 1.04008 +1.04041 1.03845 1.03649 1.03976 1.04335 1.04171 1.04171 1.0391 +1.04073 1.04563 1.04433 1.03976 1.03943 1.04041 1.04139 1.04171 +1.04041 1.0378 1.03878 1.03878 1.04367 1.04563 1.04302 1.04237 +1.04302 1.04563 1.04563 1.04498 1.04498 1.04498 1.04727 1.04727 +1.04661 1.04792 1.04629 1.04433 1.04563 1.04727 1.04335 1.04269 +1.04596 1.04498 1.04498 1.04531 1.04498 1.04563 1.04629 1.04629 +1.04661 1.04824 1.04759 1.04335 1.03714 1.03388 1.03355 1.03453 +1.03551 1.03584 1.0342 1.03551 1.03714 1.03616 1.0378 1.04106 +1.04073 1.03943 1.03845 1.0378 1.04008 1.04073 1.03878 1.03682 +1.03812 1.03649 1.0342 1.03486 1.03453 1.02963 1.0169 0.992408 +0.923158 0.813263 0.692 0.580842 0.502526 0.435627 0.522737 0.630105 +0.757684 0.848632 0.863789 0.799368 0.683158 0.565053 0.492427 0.40912 +0.35232 0.331493 0.354213 0.36936 0.35232 0.3296 0.30688 0.3012 +0.31824 0.331493 0.331493 0.3296 0.35232 0.473493 0.568211 0.617474 +0.584632 0.510737 0.37504 0.314453 0.29552 0.29552 0.299307 0.299307 +0.325813 0.399653 0.42616 0.337173 0.293627 0.29552 0.316347 0.38072 +0.504421 0.561263 0.609895 0.609895 0.564421 0.522105 0.486747 0.433733 +0.395867 0.365573 0.354213 0.35232 0.358 0.36368 0.361787 0.39208 +0.429947 0.424267 0.416693 0.462133 0.554316 0.701474 0.870105 0.962316 +0.980653 0.981633 0.984898 0.989796 0.995347 0.995673 0.992735 0.989143 +0.986857 0.992408 0.999918 1.00514 1.0058 1.00873 1.00906 1.00841 +1.00547 0.998612 0.993388 0.991429 0.990449 0.983592 0.976842 0.966105 +0.962316 0.961684 0.959789 0.960421 0.954105 0.947158 0.942105 0.940211 +0.954105 0.982286 0.967368 0.806947 0.592842 0.450773 0.348533 0.23872 +0.000826667 0.00078 0.0008 0.00078 0.00078 0.000786667 0.00078 0.00076 +0.00076 0.000773333 0.000766667 0.00074 0.00072 0.00072 0.000746667 0.000773333 +0.000766667 0.000766667 0.000746667 0.000713333 0.000726667 0.00072 0.00074 0.000766667 +0.000746667 0.00072 0.000713333 0.00072 0.000706667 0.00072 0.00074 0.000746667 +0.000733333 0.000726667 0.000713333 0.0007 0.000713333 0.000726667 0.00074 0.00072 +0.000733333 0.000746667 0.000746667 0.000726667 0.000706667 0.0007 0.000706667 0.00072 +0.000726667 0.00074 0.000753333 0.000753333 0.000746667 0.00076 0.00074 0.00072 +0.000733333 0.000713333 0.000706667 0.000726667 0.000706667 0.000693333 0.000706667 0.000693333 +0.000693333 0.000713333 0.000713333 0.000713333 0.00072 0.00072 0.00074 0.000746667 +0.000746667 0.00072 0.000706667 0.000713333 0.00074 0.000753333 0.00078 0.000786667 +0.000773333 0.000773333 0.00076 0.000766667 0.000773333 0.000786667 0.00082 0.00088 +0.25576 0.344747 0.31824 0.25008 0.28984 0.524632 0.746947 0.956632 +0.994367 0.980653 0.957263 0.954737 0.955368 0.961684 0.989796 1.00808 +1.01624 1.01918 1.02114 1.02016 1.0169 1.01853 1.01886 1.01624 +1.01722 1.02604 1.04335 1.06 1.10565 1.1376 1.09956 1.05543 +1.06152 1.16651 1.04727 0.954737 0.836632 0.698316 0.566947 0.5 +0.446987 0.416693 0.395867 0.373147 0.354213 0.34664 0.337173 0.33528 +0.34096 0.358 0.37504 0.359893 0.34664 0.348533 0.342853 0.33528 +0.310667 0.28984 0.287947 0.280373 0.287947 0.314453 0.34664 0.34096 +0.325813 0.314453 0.3012 0.291733 0.280373 0.280373 0.297413 0.304987 +0.322027 0.35232 0.350427 0.30688 0.28416 0.28984 0.287947 0.322027 +0.378827 0.367467 0.322027 0.3012 0.30688 0.322027 0.3296 0.31824 +0.31256 0.304987 0.308773 0.314453 0.304987 0.3012 0.316347 0.325813 +0.348533 0.344747 0.327707 0.373147 0.38072 0.342853 0.33528 0.342853 +0.358 0.371253 0.36936 0.376933 0.37504 0.35232 0.333387 0.34096 +0.358 0.348533 0.3296 0.331493 0.344747 0.373147 0.37504 0.333387 +0.33528 0.373147 0.405333 0.38072 0.342853 0.331493 0.339067 0.333387 +0.337173 0.348533 0.337173 0.344747 0.373147 0.39776 0.376933 0.344747 +0.350427 0.384507 0.424267 0.422373 0.439413 0.46024 0.473493 0.47728 +0.5 0.498107 0.445093 0.388293 0.354213 0.327707 0.32392 0.34096 +0.337173 0.356107 0.529684 0.718526 0.914947 0.998612 1.0169 1.02571 +1.0329 1.04008 1.04596 1.04824 1.04727 1.04563 1.04531 1.04531 +1.04335 1.044 1.04596 1.04857 1.04955 1.04759 1.04596 1.04433 +1.04465 1.04759 1.04727 1.04465 1.04367 1.04204 1.04367 1.04269 +1.04106 1.04139 1.04073 1.04531 1.04531 1.04106 1.04008 1.04204 +1.04139 1.04073 1.04139 1.04367 1.04171 1.04041 1.04106 1.04171 +1.04269 1.04171 1.04139 1.03943 1.03943 1.04237 1.04041 1.04204 +1.04073 1.04008 1.0391 1.03943 1.04041 1.0391 1.03616 1.03747 +1.03682 1.03192 1.02637 1.02376 1.02049 1.01886 1.01788 1.01592 +1.01918 1.02506 1.03159 1.03649 1.03551 1.03649 1.03649 1.03845 +1.04041 1.04008 1.03976 1.04204 1.04204 1.04335 1.04465 1.04106 +1.0391 1.044 1.04367 1.04041 1.03976 1.04139 1.04073 1.04106 +1.04106 1.03812 1.04008 1.04237 1.04433 1.04498 1.04433 1.04367 +1.04335 1.04661 1.04563 1.04237 1.04237 1.04465 1.04792 1.04563 +1.04596 1.04824 1.04596 1.04433 1.04563 1.04727 1.04269 1.04433 +1.04694 1.044 1.04498 1.04629 1.04596 1.04596 1.04563 1.04629 +1.04694 1.04824 1.04922 1.04629 1.04139 1.03878 1.03453 1.03257 +1.03551 1.0378 1.0378 1.0391 1.0391 1.03714 1.03747 1.03845 +1.03878 1.03878 1.0391 1.03747 1.0378 1.04073 1.04008 1.03747 +1.03845 1.03845 1.03584 1.03518 1.0342 1.028 1.01135 0.98098 +0.889684 0.773474 0.654105 0.565053 0.517053 0.520211 0.585263 0.683789 +0.782947 0.846105 0.826526 0.723579 0.606105 0.517684 0.416693 0.365573 +0.342853 0.320133 0.33528 0.373147 0.365573 0.34096 0.3296 0.333387 +0.342853 0.33528 0.337173 0.361787 0.45456 0.552421 0.621263 0.62 +0.545474 0.4148 0.316347 0.29552 0.308773 0.322027 0.325813 0.339067 +0.36368 0.42048 0.43752 0.36368 0.32392 0.367467 0.467813 0.545474 +0.613053 0.667368 0.696421 0.682526 0.623789 0.556211 0.508211 0.43752 +0.36936 0.34664 0.34096 0.342853 0.359893 0.373147 0.390187 0.42048 +0.435627 0.40912 0.40344 0.452667 0.544211 0.683158 0.855579 0.954737 +0.976211 0.978737 0.983918 0.988816 0.993061 0.994694 0.992408 0.98849 +0.986531 0.993714 1.00253 1.00547 1.00482 1.00776 1.00841 1.00873 +1.00906 1.00449 1.00024 0.998286 0.996327 0.989143 0.981633 0.968 +0.960421 0.960421 0.961053 0.958526 0.952211 0.948421 0.941474 0.938316 +0.947158 0.971158 0.983265 0.892211 0.678737 0.518316 0.393973 0.291733 +0.000906667 0.000766667 0.000746667 0.00076 0.000793333 0.0008 0.000786667 0.00074 +0.000753333 0.000746667 0.000753333 0.000746667 0.000746667 0.000746667 0.00076 0.000753333 +0.00074 0.000746667 0.000726667 0.000693333 0.000713333 0.00072 0.000733333 0.000733333 +0.00072 0.000706667 0.00072 0.000726667 0.000713333 0.000706667 0.00072 0.000746667 +0.00074 0.00072 0.000726667 0.000713333 0.000713333 0.00074 0.00074 0.00072 +0.00072 0.00072 0.000713333 0.000726667 0.000726667 0.00072 0.000713333 0.000706667 +0.000706667 0.000706667 0.000726667 0.000713333 0.00072 0.00074 0.000746667 0.00074 +0.000726667 0.000706667 0.000706667 0.00072 0.000713333 0.000706667 0.00072 0.000726667 +0.000713333 0.00072 0.0007 0.0007 0.000706667 0.000706667 0.000726667 0.00074 +0.00076 0.000766667 0.000753333 0.000733333 0.000733333 0.00072 0.000746667 0.000773333 +0.000773333 0.000793333 0.000746667 0.000746667 0.000766667 0.000786667 0.000806667 0.00094 +0.299307 0.344747 0.280373 0.251973 0.373147 0.604211 0.845474 0.985224 +0.985878 0.966737 0.955368 0.956 0.955368 0.971789 0.997633 1.012 +1.01624 1.0182 1.02114 1.01918 1.01494 1.01722 1.01755 1.01624 +1.01918 1.03061 1.05086 1.09956 1.13304 1.13456 1.07369 1.05216 +1.05902 1.16651 1.05053 0.944632 0.795579 0.652211 0.537895 0.46592 +0.429947 0.401547 0.378827 0.36368 0.35232 0.35232 0.350427 0.361787 +0.390187 0.446987 0.45456 0.40912 0.36368 0.33528 0.325813 0.333387 +0.310667 0.280373 0.276587 0.28416 0.297413 0.3296 0.339067 0.31824 +0.308773 0.308773 0.297413 0.287947 0.27848 0.287947 0.30688 0.310667 +0.314453 0.327707 0.320133 0.293627 0.293627 0.297413 0.291733 0.299307 +0.325813 0.32392 0.320133 0.310667 0.30688 0.304987 0.314453 0.325813 +0.310667 0.297413 0.30688 0.322027 0.320133 0.314453 0.31824 0.32392 +0.350427 0.348533 0.325813 0.35232 0.36368 0.34096 0.34096 0.339067 +0.358 0.3864 0.376933 0.36936 0.36368 0.35232 0.327707 0.32392 +0.344747 0.348533 0.3296 0.331493 0.350427 0.367467 0.35232 0.337173 +0.34096 0.354213 0.388293 0.382613 0.35232 0.34664 0.358 0.359893 +0.358 0.356107 0.348533 0.337173 0.356107 0.37504 0.354213 0.344747 +0.371253 0.382613 0.371253 0.358 0.35232 0.407227 0.435627 0.405333 +0.42048 0.47728 0.458347 0.382613 0.356107 0.339067 0.32392 0.3296 +0.34664 0.35232 0.469707 0.637053 0.846105 0.984898 1.01298 1.02473 +1.0342 1.04106 1.04531 1.04857 1.04922 1.04694 1.04531 1.04465 +1.04563 1.04792 1.04922 1.04857 1.04955 1.04661 1.04563 1.04531 +1.04367 1.04563 1.04531 1.04237 1.04302 1.04204 1.04465 1.04563 +1.04335 1.04106 1.0391 1.04335 1.04629 1.04335 1.03976 1.04106 +1.04171 1.04073 1.03976 1.04073 1.04106 1.04041 1.04171 1.04367 +1.04531 1.04269 1.04008 1.04073 1.04171 1.04106 1.03943 1.04302 +1.04335 1.04041 1.03878 1.0391 1.04204 1.0391 1.03486 1.03518 +1.03355 1.02571 1.0169 1.01233 1.00906 1.01265 1.01265 1.01004 +1.01396 1.02571 1.03682 1.03878 1.03714 1.03845 1.0378 1.03845 +1.04106 1.03976 1.04041 1.04106 1.04237 1.04629 1.04433 1.03976 +1.0391 1.04171 1.04041 1.03812 1.03943 1.04106 1.03943 1.0391 +1.04204 1.03976 1.0378 1.04106 1.04237 1.04302 1.044 1.04465 +1.04433 1.04433 1.04204 1.04073 1.04073 1.04531 1.04759 1.044 +1.04531 1.04596 1.04302 1.04465 1.04792 1.04694 1.04367 1.04727 +1.04694 1.04531 1.04531 1.04531 1.04563 1.04433 1.04563 1.04694 +1.04727 1.05086 1.05118 1.04727 1.04269 1.04041 1.03518 1.03355 +1.03551 1.03747 1.03878 1.03845 1.0391 1.03976 1.0378 1.03714 +1.03878 1.03976 1.03976 1.03747 1.03616 1.03747 1.03812 1.03812 +1.0391 1.03943 1.03682 1.03616 1.03192 1.02082 1.0022 0.961053 +0.852421 0.719789 0.608 0.551789 0.538526 0.554316 0.614947 0.689474 +0.752632 0.769684 0.706526 0.601053 0.520211 0.40912 0.3296 0.297413 +0.297413 0.287947 0.303093 0.344747 0.348533 0.348533 0.376933 0.388293 +0.373147 0.339067 0.337173 0.407227 0.531579 0.604211 0.621895 0.566316 +0.475387 0.34096 0.30688 0.31824 0.337173 0.359893 0.36368 0.37504 +0.37504 0.399653 0.422373 0.405333 0.411013 0.490533 0.548 0.609895 +0.65979 0.685053 0.689474 0.665474 0.606105 0.538526 0.48864 0.416693 +0.358 0.34664 0.339067 0.342853 0.365573 0.3864 0.416693 0.433733 +0.428053 0.407227 0.411013 0.452667 0.530947 0.662947 0.842316 0.949684 +0.974947 0.978105 0.981633 0.986857 0.993388 0.996653 0.992735 0.987184 +0.987837 0.996327 1.00514 1.00612 1.00547 1.00841 1.01037 1.01102 +1.01135 1.00808 1.00547 1.00482 1.00318 0.998286 0.990776 0.981633 +0.966105 0.959158 0.957895 0.959158 0.956632 0.954737 0.945895 0.937684 +0.945263 0.961053 0.983592 0.954105 0.776632 0.572 0.435627 0.342853 +0.23304 0.000813333 0.00076 0.00078 0.000786667 0.000753333 0.000713333 0.000693333 +0.000746667 0.000766667 0.000766667 0.000766667 0.00074 0.00074 0.000746667 0.00074 +0.00074 0.000746667 0.00072 0.000713333 0.000706667 0.000713333 0.000713333 0.00072 +0.000713333 0.00072 0.000726667 0.000706667 0.000713333 0.0007 0.000713333 0.000726667 +0.000746667 0.000733333 0.000733333 0.000733333 0.00072 0.000726667 0.000726667 0.000713333 +0.000726667 0.00072 0.000713333 0.000713333 0.000713333 0.00072 0.000713333 0.00072 +0.000726667 0.000713333 0.00072 0.0007 0.00068 0.00068 0.000713333 0.00074 +0.000753333 0.00074 0.000746667 0.000726667 0.000713333 0.00072 0.00072 0.000733333 +0.000733333 0.000733333 0.00072 0.000706667 0.000713333 0.000726667 0.00074 0.00074 +0.000726667 0.000746667 0.000746667 0.00074 0.000766667 0.000753333 0.000746667 0.000766667 +0.000753333 0.000766667 0.000753333 0.000746667 0.000773333 0.000806667 0.00086 0.242507 +0.337173 0.316347 0.246293 0.274693 0.501263 0.700211 0.926947 0.993061 +0.977474 0.954105 0.949684 0.952842 0.957895 0.981633 1.00188 1.01429 +1.01722 1.01918 1.02278 1.01951 1.01559 1.01788 1.01755 1.01788 +1.02376 1.0391 1.06609 1.12999 1.14217 1.10413 1.05151 1.044 +1.05837 1.17108 1.04988 0.92379 0.753263 0.613053 0.517053 0.441307 +0.416693 0.39776 0.37504 0.359893 0.350427 0.350427 0.354213 0.384507 +0.435627 0.484853 0.462133 0.39208 0.33528 0.304987 0.308773 0.31824 +0.304987 0.282267 0.276587 0.280373 0.30688 0.3296 0.322027 0.303093 +0.303093 0.30688 0.3012 0.291733 0.28416 0.291733 0.31256 0.308773 +0.310667 0.31824 0.310667 0.299307 0.3012 0.303093 0.28984 0.29552 +0.304987 0.3012 0.316347 0.325813 0.322027 0.308773 0.316347 0.327707 +0.310667 0.297413 0.31256 0.322027 0.32392 0.325813 0.333387 0.342853 +0.350427 0.348533 0.342853 0.350427 0.34664 0.33528 0.34096 0.337173 +0.35232 0.358 0.354213 0.350427 0.350427 0.344747 0.339067 0.333387 +0.34096 0.344747 0.331493 0.33528 0.35232 0.36368 0.354213 0.3296 +0.337173 0.339067 0.371253 0.399653 0.373147 0.361787 0.384507 0.428053 +0.428053 0.365573 0.337173 0.342853 0.348533 0.34664 0.337173 0.358 +0.395867 0.378827 0.358 0.344747 0.344747 0.401547 0.435627 0.37504 +0.337173 0.371253 0.384507 0.365573 0.367467 0.365573 0.358 0.367467 +0.373147 0.348533 0.382613 0.563158 0.762737 0.945895 1.00547 1.02212 +1.03322 1.03845 1.04073 1.04465 1.04727 1.04857 1.04759 1.04629 +1.04694 1.04988 1.05118 1.04759 1.04824 1.04727 1.04727 1.04661 +1.04563 1.04694 1.04596 1.04465 1.04596 1.04629 1.04661 1.04531 +1.04335 1.04269 1.04106 1.04335 1.04563 1.04498 1.04106 1.03976 +1.04171 1.04139 1.03943 1.03976 1.04106 1.0378 1.03878 1.04073 +1.04302 1.04204 1.0391 1.03943 1.04041 1.03976 1.03878 1.04073 +1.04073 1.0378 1.03714 1.03714 1.03943 1.03845 1.03388 1.02996 +1.02408 1.01657 1.00678 1.00024 0.997959 1.00318 1.00351 1.00351 +1.01233 1.02669 1.03616 1.0378 1.0378 1.04139 1.04073 1.04073 +1.04041 1.0378 1.04073 1.04204 1.044 1.04694 1.04269 1.03845 +1.04008 1.04073 1.03845 1.03943 1.04008 1.04171 1.04204 1.04106 +1.04171 1.04139 1.03976 1.04269 1.04367 1.04335 1.04237 1.04433 +1.04629 1.04465 1.04269 1.04237 1.04204 1.04498 1.04596 1.04433 +1.04727 1.04465 1.04041 1.04498 1.04694 1.04367 1.04596 1.04629 +1.04269 1.04563 1.04465 1.04204 1.044 1.04335 1.04629 1.04727 +1.04759 1.0502 1.04988 1.04694 1.04269 1.0391 1.03682 1.03682 +1.03616 1.03747 1.03943 1.03747 1.03845 1.03976 1.0391 1.04008 +1.03976 1.04008 1.03812 1.03747 1.03845 1.03812 1.03747 1.03747 +1.03845 1.03878 1.03976 1.0378 1.03127 1.01624 0.992082 0.922526 +0.791789 0.656 0.568842 0.542316 0.544842 0.558105 0.594105 0.639579 +0.662316 0.640211 0.573895 0.508842 0.4148 0.331493 0.287947 0.26712 +0.259547 0.269013 0.286053 0.316347 0.325813 0.371253 0.4432 0.439413 +0.384507 0.36368 0.401547 0.510737 0.580211 0.614316 0.572 0.492427 +0.356107 0.316347 0.320133 0.3296 0.33528 0.350427 0.361787 0.342853 +0.32392 0.342853 0.382613 0.412907 0.452667 0.511368 0.548 0.575789 +0.584 0.577684 0.568211 0.554947 0.528421 0.48864 0.4432 0.42048 +0.39208 0.37504 0.35232 0.348533 0.35232 0.376933 0.42048 0.435627 +0.424267 0.412907 0.4148 0.439413 0.521474 0.649684 0.836632 0.953474 +0.979368 0.98 0.982612 0.989143 0.996653 0.999592 0.994367 0.989469 +0.991102 0.998939 1.0058 1.00612 1.00645 1.00971 1.01037 1.01265 +1.01363 1.00873 1.00645 1.00743 1.00873 1.00645 0.998939 0.990449 +0.980327 0.966105 0.962316 0.962316 0.959158 0.954737 0.946526 0.938316 +0.945895 0.959158 0.98 0.98098 0.863158 0.644632 0.498107 0.3864 +0.29552 0.00092 0.000793333 0.000753333 0.000746667 0.000753333 0.00074 0.000753333 +0.000793333 0.0008 0.000766667 0.00074 0.000713333 0.00074 0.00076 0.000766667 +0.00076 0.00074 0.000726667 0.000746667 0.000733333 0.00074 0.00074 0.00072 +0.000713333 0.00074 0.000746667 0.000726667 0.000726667 0.000733333 0.000733333 0.000726667 +0.000733333 0.000733333 0.00074 0.00072 0.000706667 0.000713333 0.00072 0.00072 +0.000726667 0.000713333 0.000733333 0.00074 0.000726667 0.00072 0.000713333 0.000733333 +0.00074 0.00072 0.000726667 0.000726667 0.000713333 0.0007 0.0007 0.00072 +0.000733333 0.000733333 0.00074 0.000746667 0.000746667 0.000733333 0.00072 0.000706667 +0.000706667 0.00072 0.00074 0.00074 0.000733333 0.000733333 0.00074 0.000746667 +0.000733333 0.000733333 0.00072 0.00072 0.00076 0.000773333 0.00076 0.00078 +0.000773333 0.000773333 0.00078 0.00076 0.00078 0.000813333 0.00094 0.297413 +0.35232 0.27848 0.23872 0.333387 0.563158 0.793684 0.977474 0.991429 +0.969263 0.952842 0.952211 0.952842 0.961684 0.986857 1.00449 1.01429 +1.0182 1.02082 1.02245 1.01853 1.01755 1.02016 1.01918 1.02049 +1.02931 1.04857 1.11326 1.16195 1.14521 1.07522 1.04106 1.03551 +1.05673 1.19238 1.04988 0.899158 0.711579 0.577684 0.498107 0.412907 +0.393973 0.384507 0.36936 0.358 0.350427 0.342853 0.34664 0.378827 +0.411013 0.412907 0.382613 0.34664 0.316347 0.30688 0.310667 0.314453 +0.304987 0.297413 0.291733 0.28984 0.299307 0.30688 0.297413 0.28984 +0.287947 0.293627 0.293627 0.28416 0.28416 0.287947 0.299307 0.291733 +0.3012 0.31256 0.314453 0.308773 0.310667 0.310667 0.303093 0.30688 +0.308773 0.297413 0.30688 0.308773 0.299307 0.293627 0.304987 0.322027 +0.314453 0.308773 0.314453 0.31824 0.31256 0.32392 0.333387 0.327707 +0.32392 0.327707 0.34096 0.344747 0.333387 0.34664 0.339067 0.342853 +0.348533 0.348533 0.354213 0.356107 0.358 0.359893 0.358 0.350427 +0.350427 0.348533 0.331493 0.3296 0.33528 0.348533 0.354213 0.339067 +0.337173 0.350427 0.365573 0.39776 0.3864 0.36368 0.373147 0.446987 +0.469707 0.3864 0.34096 0.356107 0.365573 0.359893 0.350427 0.390187 +0.445093 0.418587 0.382613 0.378827 0.373147 0.388293 0.412907 0.378827 +0.325813 0.322027 0.344747 0.342853 0.344747 0.36936 0.3864 0.40912 +0.382613 0.331493 0.342853 0.510737 0.679368 0.886526 0.992082 1.01396 +1.02604 1.03192 1.03453 1.03812 1.04139 1.04465 1.04727 1.04759 +1.04792 1.04922 1.0502 1.04727 1.04824 1.0502 1.05118 1.04988 +1.04727 1.04792 1.04661 1.04661 1.04694 1.04629 1.04531 1.04433 +1.04433 1.04367 1.04204 1.04269 1.04531 1.04563 1.04237 1.04008 +1.04204 1.04204 1.04106 1.04204 1.04367 1.03943 1.03747 1.0378 +1.04008 1.04106 1.03976 1.0378 1.0378 1.03845 1.03878 1.03943 +1.03714 1.03616 1.03812 1.03714 1.03616 1.03388 1.02865 1.0231 +1.01657 1.00808 1.00122 0.996327 0.992735 0.994694 0.995673 0.999592 +1.01363 1.02637 1.03029 1.03649 1.04041 1.04302 1.04335 1.04302 +1.04335 1.04041 1.04106 1.04204 1.04433 1.04596 1.04302 1.04041 +1.04302 1.04139 1.04008 1.04237 1.04139 1.04204 1.04367 1.04367 +1.04073 1.04041 1.04269 1.04531 1.04433 1.04171 1.04008 1.04465 +1.04727 1.044 1.04269 1.04302 1.04335 1.04367 1.04269 1.04269 +1.04629 1.04563 1.04237 1.04694 1.04694 1.04269 1.04498 1.04171 +1.04204 1.04792 1.04629 1.04302 1.04367 1.04302 1.04531 1.04759 +1.05053 1.05086 1.04694 1.04433 1.03976 1.03616 1.03616 1.03747 +1.0378 1.0391 1.03878 1.03812 1.04008 1.03943 1.04008 1.04171 +1.04139 1.04139 1.04008 1.03812 1.04008 1.04073 1.03976 1.03878 +1.0378 1.03845 1.03943 1.0378 1.028 1.00873 0.971789 0.859368 +0.712842 0.600421 0.545474 0.527789 0.529684 0.534737 0.541053 0.553684 +0.551158 0.528421 0.486747 0.39208 0.34096 0.297413 0.276587 0.26712 +0.259547 0.265227 0.276587 0.32392 0.378827 0.441307 0.479173 0.435627 +0.39208 0.45456 0.519579 0.563789 0.604842 0.584 0.515158 0.373147 +0.304987 0.299307 0.31824 0.320133 0.31824 0.320133 0.31256 0.29552 +0.29552 0.320133 0.354213 0.37504 0.405333 0.44888 0.47728 0.47728 +0.450773 0.42048 0.411013 0.416693 0.405333 0.37504 0.376933 0.401547 +0.4148 0.39208 0.365573 0.356107 0.35232 0.382613 0.433733 0.429947 +0.40344 0.393973 0.399653 0.433733 0.517684 0.638947 0.827158 0.949684 +0.978105 0.976842 0.983592 0.996327 1.00449 1.0058 0.998939 0.993714 +0.995347 1.00253 1.0071 1.0071 1.00743 1.01069 1.01037 1.01102 +1.01396 1.012 1.00971 1.01102 1.01102 1.01004 1.00645 1.00188 +0.993714 0.982612 0.965474 0.956632 0.959158 0.959158 0.952211 0.942105 +0.944 0.951579 0.963579 0.981306 0.927579 0.734947 0.542947 0.429947 +0.34096 0.000973333 0.00078 0.000766667 0.000793333 0.000833333 0.000806667 0.000786667 +0.00078 0.000773333 0.000766667 0.00076 0.00074 0.000746667 0.000726667 0.00072 +0.000733333 0.000713333 0.000726667 0.00074 0.000733333 0.000746667 0.000726667 0.0007 +0.00072 0.000726667 0.000726667 0.000733333 0.00072 0.000726667 0.000733333 0.000733333 +0.00074 0.000733333 0.000733333 0.000713333 0.0007 0.000693333 0.000693333 0.000706667 +0.00072 0.000693333 0.000706667 0.000726667 0.000726667 0.000733333 0.00072 0.00072 +0.000733333 0.000726667 0.000713333 0.00072 0.00072 0.0007 0.000706667 0.00072 +0.000726667 0.000713333 0.000713333 0.000706667 0.00072 0.000746667 0.000746667 0.00074 +0.000726667 0.000713333 0.000713333 0.000726667 0.00072 0.000713333 0.00072 0.00074 +0.00074 0.000753333 0.000753333 0.000733333 0.000766667 0.00078 0.000766667 0.0008 +0.000806667 0.0008 0.00082 0.00082 0.000833333 0.000866667 0.242507 0.339067 +0.325813 0.236827 0.246293 0.42616 0.640842 0.880211 0.989796 0.984245 +0.956632 0.949684 0.953474 0.952211 0.965474 0.992408 1.00873 1.01527 +1.01853 1.02049 1.02114 1.01853 1.01984 1.02114 1.02082 1.02343 +1.03584 1.06 1.16195 1.18325 1.1376 1.05837 1.03812 1.03322 +1.05673 1.20912 1.04629 0.868842 0.674316 0.553053 0.469707 0.40344 +0.376933 0.367467 0.361787 0.361787 0.35232 0.331493 0.333387 0.36368 +0.36936 0.356107 0.34096 0.322027 0.31256 0.31256 0.31824 0.314453 +0.30688 0.297413 0.28984 0.291733 0.291733 0.287947 0.282267 0.280373 +0.28416 0.286053 0.287947 0.280373 0.28984 0.29552 0.29552 0.29552 +0.299307 0.310667 0.320133 0.32392 0.3296 0.333387 0.34096 0.342853 +0.331493 0.310667 0.30688 0.304987 0.28416 0.28984 0.30688 0.31824 +0.31824 0.31824 0.327707 0.333387 0.320133 0.322027 0.322027 0.308773 +0.30688 0.316347 0.331493 0.339067 0.337173 0.342853 0.34664 0.344747 +0.34096 0.348533 0.36936 0.373147 0.376933 0.384507 0.378827 0.36936 +0.35232 0.344747 0.342853 0.342853 0.339067 0.344747 0.359893 0.35232 +0.358 0.361787 0.354213 0.367467 0.365573 0.359893 0.356107 0.395867 +0.44888 0.40912 0.361787 0.371253 0.39208 0.376933 0.358 0.376933 +0.429947 0.412907 0.40344 0.39776 0.365573 0.356107 0.376933 0.365573 +0.337173 0.33528 0.34664 0.337173 0.320133 0.34096 0.376933 0.388293 +0.344747 0.314453 0.34096 0.445093 0.604211 0.806316 0.961684 1.00547 +1.02016 1.02735 1.03127 1.03518 1.0391 1.04465 1.04759 1.04694 +1.04759 1.04792 1.04955 1.04922 1.04922 1.0502 1.05151 1.04922 +1.04629 1.04727 1.04563 1.04596 1.04596 1.04661 1.04563 1.04367 +1.04269 1.044 1.04269 1.04139 1.04596 1.04596 1.04204 1.04041 +1.04433 1.044 1.04073 1.04041 1.044 1.04041 1.0378 1.03878 +1.04139 1.04106 1.03976 1.03845 1.03878 1.03943 1.03976 1.04008 +1.03943 1.0391 1.0391 1.03518 1.03257 1.02767 1.02343 1.0182 +1.01265 1.00645 1.00155 0.998612 0.998286 1.00024 1.00416 1.00678 +1.01363 1.0218 1.02376 1.03714 1.04335 1.04237 1.04367 1.04237 +1.04302 1.04139 1.04008 1.04106 1.04269 1.04302 1.04237 1.03943 +1.04106 1.04073 1.03976 1.03943 1.04008 1.04367 1.04269 1.04335 +1.04008 1.03878 1.04106 1.04335 1.04335 1.04106 1.04106 1.04367 +1.04465 1.04139 1.04008 1.04302 1.04498 1.044 1.04335 1.04269 +1.04204 1.04367 1.04531 1.04759 1.04629 1.04596 1.04563 1.04106 +1.04367 1.04759 1.04661 1.04531 1.044 1.04335 1.04465 1.04661 +1.04988 1.05151 1.04759 1.04465 1.04008 1.03616 1.03584 1.03551 +1.03714 1.03812 1.03682 1.03845 1.03878 1.03845 1.03976 1.04106 +1.03943 1.0391 1.04106 1.0391 1.0378 1.03845 1.03878 1.0378 +1.03714 1.03976 1.03943 1.03388 1.0169 0.989796 0.913684 0.782316 +0.647789 0.566947 0.530947 0.513263 0.510105 0.49432 0.462133 0.464027 +0.446987 0.416693 0.38072 0.342853 0.331493 0.310667 0.274693 0.259547 +0.25008 0.248187 0.291733 0.382613 0.45456 0.469707 0.446987 0.42048 +0.479173 0.553684 0.593474 0.602316 0.592842 0.541684 0.439413 0.333387 +0.293627 0.3012 0.31824 0.316347 0.30688 0.293627 0.28984 0.304987 +0.31256 0.333387 0.344747 0.333387 0.327707 0.339067 0.34096 0.344747 +0.331493 0.316347 0.32392 0.342853 0.344747 0.33528 0.325813 0.342853 +0.36368 0.376933 0.365573 0.34664 0.354213 0.393973 0.441307 0.42048 +0.393973 0.39208 0.395867 0.42616 0.510105 0.630105 0.817053 0.940842 +0.973053 0.975579 0.98751 1.0058 1.01461 1.01265 1.00482 0.999592 +1.0009 1.0058 1.00808 1.00612 1.00612 1.01102 1.012 1.012 +1.01396 1.01298 1.01233 1.01396 1.01461 1.01363 1.012 1.00906 +1.00416 0.994041 0.975579 0.959789 0.965474 0.968632 0.957895 0.946526 +0.943368 0.944 0.952211 0.976842 0.969895 0.829053 0.611789 0.484853 +0.37504 0.253867 0.000826667 0.000786667 0.000793333 0.0008 0.000793333 0.000773333 +0.000746667 0.000766667 0.000786667 0.000773333 0.000746667 0.00074 0.000726667 0.00074 +0.000746667 0.00072 0.000753333 0.000746667 0.000713333 0.000713333 0.000713333 0.000693333 +0.000713333 0.000706667 0.00072 0.00074 0.00074 0.00072 0.000713333 0.000706667 +0.000713333 0.000726667 0.000733333 0.000733333 0.00072 0.00072 0.0007 0.000693333 +0.000706667 0.000693333 0.000706667 0.00072 0.000726667 0.00074 0.000733333 0.00072 +0.000713333 0.00074 0.000746667 0.000746667 0.000746667 0.000706667 0.0007 0.0007 +0.00072 0.000726667 0.000746667 0.000746667 0.00072 0.000713333 0.000706667 0.000713333 +0.000726667 0.000733333 0.000733333 0.00074 0.000746667 0.00072 0.00072 0.000726667 +0.000726667 0.00074 0.000773333 0.00078 0.000773333 0.000766667 0.00076 0.000793333 +0.000813333 0.000793333 0.000813333 0.000813333 0.00084 0.00096 0.299307 0.358 +0.28416 0.000993333 0.269013 0.517684 0.731789 0.945263 0.991429 0.973053 +0.949684 0.948421 0.952842 0.952211 0.974947 0.998612 1.01265 1.01722 +1.02049 1.02147 1.02082 1.01951 1.01984 1.02049 1.0218 1.02735 +1.044 1.11782 1.2076 1.18477 1.10108 1.04857 1.03355 1.03192 +1.05641 1.18934 1.03453 0.833474 0.637684 0.533474 0.464027 0.416693 +0.39776 0.395867 0.395867 0.39208 0.367467 0.327707 0.31824 0.337173 +0.342853 0.337173 0.34664 0.331493 0.310667 0.30688 0.314453 0.31824 +0.316347 0.30688 0.286053 0.2728 0.27848 0.27848 0.276587 0.282267 +0.291733 0.303093 0.304987 0.297413 0.304987 0.303093 0.297413 0.3012 +0.304987 0.314453 0.337173 0.34096 0.344747 0.361787 0.395867 0.393973 +0.356107 0.3296 0.325813 0.316347 0.308773 0.30688 0.308773 0.30688 +0.31824 0.325813 0.333387 0.337173 0.325813 0.31824 0.31824 0.31824 +0.316347 0.322027 0.3296 0.344747 0.350427 0.34664 0.34664 0.342853 +0.342853 0.358 0.376933 0.38072 0.38072 0.384507 0.384507 0.384507 +0.365573 0.344747 0.35232 0.35232 0.348533 0.350427 0.356107 0.367467 +0.358 0.344747 0.339067 0.344747 0.34664 0.361787 0.36368 0.365573 +0.42048 0.441307 0.395867 0.38072 0.38072 0.376933 0.359893 0.361787 +0.3864 0.395867 0.401547 0.384507 0.34664 0.344747 0.354213 0.359893 +0.356107 0.342853 0.35232 0.365573 0.373147 0.376933 0.39208 0.38072 +0.337173 0.337173 0.367467 0.405333 0.539158 0.710316 0.899158 0.994694 +1.01494 1.02506 1.03061 1.03355 1.03812 1.04433 1.04792 1.04824 +1.04922 1.04792 1.04824 1.05053 1.05053 1.05053 1.05118 1.04824 +1.04629 1.04727 1.04433 1.04367 1.04727 1.04792 1.04596 1.04237 +1.04302 1.04531 1.04531 1.04302 1.04596 1.04531 1.04139 1.04041 +1.04596 1.04661 1.04106 1.03943 1.04367 1.04269 1.03845 1.0391 +1.04041 1.03943 1.03845 1.0391 1.03943 1.03943 1.03812 1.03747 +1.03812 1.03878 1.03747 1.0329 1.02898 1.02212 1.01951 1.01494 +1.01167 1.00939 1.0071 1.00612 1.01004 1.01363 1.01592 1.01461 +1.01722 1.02245 1.02408 1.03747 1.04367 1.04204 1.04367 1.04073 +1.03976 1.03878 1.03747 1.03714 1.03649 1.03943 1.04106 1.03976 +1.03976 1.04008 1.0391 1.03714 1.03878 1.04171 1.04041 1.04139 +1.04008 1.04041 1.04008 1.04139 1.04204 1.04073 1.04237 1.04531 +1.04498 1.04204 1.03943 1.04302 1.04367 1.04171 1.04237 1.04335 +1.04171 1.04302 1.04498 1.044 1.04269 1.04596 1.04498 1.04269 +1.04727 1.0489 1.04694 1.04661 1.04596 1.04596 1.04563 1.04563 +1.04661 1.0489 1.04857 1.04694 1.04367 1.04008 1.03682 1.03486 +1.03584 1.03714 1.03714 1.03976 1.03682 1.03584 1.0378 1.03943 +1.03845 1.03682 1.04008 1.04139 1.03845 1.03747 1.0391 1.03878 +1.0378 1.03976 1.0391 1.02735 1.0022 0.947789 0.835368 0.706526 +0.603579 0.549263 0.520211 0.501263 0.475387 0.39208 0.337173 0.354213 +0.36368 0.356107 0.33528 0.314453 0.322027 0.314453 0.280373 0.257653 +0.246293 0.25576 0.325813 0.405333 0.445093 0.43752 0.43184 0.486747 +0.556842 0.633263 0.649053 0.612421 0.568211 0.517053 0.40912 0.327707 +0.303093 0.322027 0.34096 0.325813 0.310667 0.299307 0.3012 0.325813 +0.348533 0.354213 0.3296 0.299307 0.287947 0.30688 0.320133 0.337173 +0.333387 0.31824 0.320133 0.333387 0.33528 0.322027 0.314453 0.322027 +0.34096 0.367467 0.36368 0.34096 0.365573 0.422373 0.45456 0.429947 +0.411013 0.407227 0.39776 0.416693 0.504421 0.621895 0.810105 0.933895 +0.967368 0.976211 0.996 1.01951 1.02735 1.0231 1.01429 1.00645 +1.00449 1.00645 1.0071 1.00645 1.00743 1.01167 1.01233 1.01233 +1.01265 1.012 1.01494 1.01853 1.01722 1.01298 1.01102 1.01037 +1.00906 1.00547 0.991755 0.978737 0.973053 0.970526 0.959789 0.952211 +0.948421 0.948421 0.953474 0.968 0.982286 0.903579 0.696421 0.529053 +0.4148 0.31256 0.000926667 0.000766667 0.00074 0.000766667 0.0008 0.00078 +0.00076 0.00078 0.00078 0.000733333 0.000706667 0.000733333 0.000733333 0.000753333 +0.00074 0.00072 0.00074 0.000726667 0.0007 0.0007 0.000686667 0.000693333 +0.000726667 0.00074 0.000753333 0.00074 0.000746667 0.000753333 0.000726667 0.00072 +0.000706667 0.0007 0.00072 0.000746667 0.000746667 0.00074 0.000733333 0.000726667 +0.000733333 0.00072 0.0007 0.000693333 0.0007 0.00072 0.000733333 0.000713333 +0.00072 0.00074 0.00074 0.00074 0.000766667 0.00074 0.000706667 0.000706667 +0.000726667 0.000733333 0.00074 0.000753333 0.000733333 0.000713333 0.000706667 0.000733333 +0.000726667 0.000713333 0.0007 0.000726667 0.000753333 0.000746667 0.000746667 0.000753333 +0.000753333 0.00074 0.000746667 0.000773333 0.000766667 0.000766667 0.00076 0.000773333 +0.000793333 0.00078 0.000786667 0.000786667 0.000826667 0.225467 0.33528 0.337173 +0.240613 0.216 0.33528 0.582737 0.822105 0.982286 0.986531 0.959789 +0.947158 0.952842 0.954737 0.956 0.982939 1.00318 1.01396 1.01722 +1.0218 1.0231 1.02082 1.01951 1.02114 1.02147 1.02473 1.03388 +1.05314 1.16803 1.24411 1.18477 1.06609 1.03845 1.02735 1.03127 +1.05739 1.13912 1.01559 0.799368 0.611158 0.523368 0.467813 0.439413 +0.435627 0.445093 0.46592 0.462133 0.407227 0.354213 0.3296 0.33528 +0.33528 0.331493 0.348533 0.344747 0.320133 0.314453 0.331493 0.337173 +0.327707 0.322027 0.30688 0.3012 0.30688 0.304987 0.308773 0.308773 +0.310667 0.322027 0.31824 0.310667 0.308773 0.297413 0.28984 0.3012 +0.308773 0.314453 0.327707 0.342853 0.34664 0.371253 0.416693 0.4148 +0.365573 0.34096 0.333387 0.325813 0.322027 0.31256 0.30688 0.308773 +0.314453 0.31824 0.322027 0.3296 0.3296 0.3296 0.3296 0.333387 +0.325813 0.31824 0.32392 0.34664 0.35232 0.342853 0.337173 0.333387 +0.34096 0.35232 0.354213 0.367467 0.376933 0.373147 0.367467 0.371253 +0.359893 0.34096 0.344747 0.356107 0.34664 0.342853 0.354213 0.367467 +0.354213 0.337173 0.342853 0.34664 0.34664 0.358 0.361787 0.36936 +0.422373 0.498107 0.46592 0.3864 0.384507 0.39776 0.390187 0.378827 +0.388293 0.388293 0.38072 0.371253 0.348533 0.348533 0.36368 0.361787 +0.348533 0.33528 0.339067 0.373147 0.42048 0.435627 0.418587 0.405333 +0.390187 0.388293 0.388293 0.36936 0.458347 0.614947 0.810737 0.961684 +1.00743 1.02539 1.03355 1.03388 1.03714 1.04302 1.0489 1.05151 +1.05118 1.04955 1.04857 1.04955 1.05053 1.05118 1.05151 1.04955 +1.04857 1.04824 1.04531 1.04433 1.04661 1.04596 1.04596 1.04596 +1.04629 1.04596 1.044 1.04269 1.044 1.04204 1.04106 1.04204 +1.04465 1.04465 1.04041 1.03616 1.04041 1.04302 1.0391 1.0378 +1.0391 1.04008 1.0391 1.03845 1.03845 1.0391 1.03812 1.03616 +1.03355 1.03061 1.03094 1.02637 1.02016 1.01461 1.01527 1.01298 +1.01298 1.01363 1.01527 1.01657 1.0218 1.02212 1.02212 1.01951 +1.02408 1.02898 1.03159 1.0391 1.04073 1.04237 1.04563 1.04139 +1.03812 1.03747 1.03649 1.03649 1.03453 1.03649 1.03682 1.03682 +1.03845 1.03845 1.0378 1.03878 1.04139 1.03845 1.03551 1.03845 +1.03878 1.04171 1.04008 1.04041 1.04204 1.04204 1.04465 1.04629 +1.04531 1.04302 1.04106 1.04433 1.04367 1.04073 1.03976 1.04204 +1.04367 1.04629 1.04531 1.04302 1.04302 1.04433 1.04204 1.04465 +1.04955 1.04824 1.04792 1.04857 1.04531 1.04563 1.04563 1.04759 +1.04824 1.04629 1.04531 1.04335 1.04237 1.04204 1.03976 1.03812 +1.03812 1.03747 1.03976 1.04073 1.03812 1.03845 1.03943 1.04041 +1.04073 1.0391 1.0391 1.03943 1.03878 1.0391 1.03878 1.03943 +1.03747 1.03682 1.03224 1.01494 0.981633 0.882105 0.746947 0.625684 +0.551789 0.515789 0.475387 0.44888 0.428053 0.344747 0.28984 0.299307 +0.308773 0.32392 0.322027 0.308773 0.325813 0.314453 0.287947 0.26712 +0.263333 0.286053 0.325813 0.361787 0.390187 0.422373 0.484853 0.545474 +0.618737 0.661684 0.635789 0.574526 0.529684 0.501895 0.42616 0.361787 +0.331493 0.34096 0.344747 0.316347 0.30688 0.32392 0.34664 0.350427 +0.365573 0.354213 0.325813 0.303093 0.31256 0.331493 0.3296 0.339067 +0.344747 0.342853 0.339067 0.331493 0.316347 0.30688 0.327707 0.34096 +0.356107 0.371253 0.359893 0.36936 0.411013 0.45456 0.4432 0.412907 +0.407227 0.412907 0.4148 0.428053 0.505053 0.618737 0.801895 0.924421 +0.959789 0.980327 1.00906 1.03518 1.03943 1.03257 1.02278 1.01396 +1.00906 1.01004 1.01102 1.00939 1.00873 1.01069 1.01069 1.01102 +1.01233 1.01363 1.01559 1.0169 1.01624 1.01167 1.01102 1.01167 +1.01135 1.01069 1.0022 0.989469 0.982612 0.975579 0.964842 0.956 +0.948421 0.945895 0.948421 0.956632 0.981306 0.959158 0.791789 0.584632 +0.456453 0.358 0.231147 0.000806667 0.000766667 0.00078 0.000806667 0.000773333 +0.000746667 0.00078 0.000786667 0.000753333 0.000753333 0.000753333 0.000753333 0.000753333 +0.000726667 0.00072 0.0007 0.000693333 0.000693333 0.0007 0.0007 0.000726667 +0.000733333 0.000726667 0.00072 0.0007 0.000713333 0.000726667 0.000726667 0.00074 +0.000753333 0.00074 0.00074 0.000746667 0.00074 0.00074 0.000733333 0.000746667 +0.000733333 0.000726667 0.000726667 0.000713333 0.0007 0.000713333 0.00072 0.0007 +0.000693333 0.000726667 0.00074 0.000733333 0.000733333 0.000726667 0.000713333 0.000713333 +0.000733333 0.000753333 0.000733333 0.000726667 0.00072 0.00072 0.000713333 0.000713333 +0.000733333 0.00072 0.0007 0.000686667 0.000693333 0.000706667 0.000726667 0.00074 +0.000753333 0.00076 0.00074 0.00074 0.000733333 0.00076 0.00078 0.00078 +0.000793333 0.000773333 0.00078 0.000806667 0.000886667 0.26712 0.350427 0.293627 +0.000953333 0.236827 0.435627 0.662947 0.902316 0.990776 0.978105 0.949684 +0.947158 0.955368 0.955368 0.962316 0.989796 1.00808 1.01624 1.01788 +1.02147 1.0218 1.01951 1.01886 1.02114 1.02212 1.02604 1.0378 +1.06913 1.21216 1.26846 1.18782 1.05673 1.03159 1.02278 1.03192 +1.06304 1.08435 0.994041 0.768421 0.594737 0.522105 0.48296 0.450773 +0.428053 0.424267 0.462133 0.479173 0.441307 0.395867 0.354213 0.339067 +0.327707 0.325813 0.350427 0.350427 0.320133 0.325813 0.344747 0.350427 +0.34664 0.337173 0.3296 0.333387 0.342853 0.34096 0.342853 0.33528 +0.32392 0.325813 0.322027 0.320133 0.322027 0.316347 0.310667 0.320133 +0.325813 0.31824 0.320133 0.33528 0.348533 0.373147 0.42616 0.422373 +0.365573 0.33528 0.322027 0.322027 0.327707 0.316347 0.314453 0.31824 +0.322027 0.314453 0.31824 0.3296 0.333387 0.337173 0.339067 0.337173 +0.327707 0.320133 0.320133 0.3296 0.342853 0.33528 0.3296 0.339067 +0.350427 0.350427 0.344747 0.36936 0.38072 0.365573 0.356107 0.344747 +0.337173 0.327707 0.333387 0.337173 0.348533 0.34096 0.34096 0.361787 +0.367467 0.348533 0.33528 0.34096 0.34664 0.348533 0.350427 0.367467 +0.40912 0.507579 0.519579 0.469707 0.43752 0.439413 0.407227 0.378827 +0.36936 0.356107 0.358 0.365573 0.358 0.361787 0.373147 0.371253 +0.34096 0.32392 0.327707 0.34096 0.36936 0.399653 0.39776 0.40344 +0.412907 0.39776 0.373147 0.354213 0.376933 0.538526 0.710947 0.896632 +0.998286 1.02767 1.03845 1.03812 1.03878 1.04465 1.05053 1.05184 +1.05086 1.0502 1.0502 1.04988 1.04988 1.0502 1.0502 1.05053 +1.04955 1.04824 1.04563 1.04465 1.04629 1.04629 1.04824 1.04922 +1.04694 1.04498 1.044 1.04171 1.04073 1.03976 1.04204 1.04563 +1.04563 1.04302 1.03878 1.03584 1.0378 1.04041 1.0391 1.03584 +1.0391 1.04302 1.0391 1.03584 1.03486 1.03584 1.03649 1.03355 +1.03061 1.02539 1.02441 1.01984 1.01233 1.00939 1.01233 1.01494 +1.01755 1.02114 1.02376 1.02604 1.02865 1.02702 1.02702 1.02212 +1.02571 1.02996 1.03518 1.04139 1.04106 1.04041 1.04041 1.04008 +1.03714 1.03584 1.03518 1.03551 1.03322 1.03192 1.03029 1.03127 +1.03388 1.03355 1.0342 1.03551 1.04041 1.0391 1.03584 1.03747 +1.03714 1.04139 1.04106 1.04139 1.04106 1.04139 1.04498 1.04629 +1.04465 1.04237 1.04139 1.04433 1.04531 1.04335 1.04204 1.04335 +1.04433 1.04661 1.04465 1.04433 1.04498 1.04237 1.04106 1.04596 +1.04661 1.04367 1.04661 1.0489 1.04694 1.04727 1.04694 1.04922 +1.0489 1.04433 1.04335 1.04073 1.03943 1.04139 1.04041 1.04073 +1.04106 1.04008 1.03943 1.03845 1.04008 1.04139 1.04171 1.04171 +1.04171 1.04041 1.0391 1.03878 1.03812 1.0378 1.03845 1.03878 +1.03649 1.03322 1.02212 0.996653 0.931368 0.815789 0.687579 0.587158 +0.532211 0.501895 0.4432 0.42048 0.382613 0.31824 0.291733 0.286053 +0.297413 0.331493 0.3296 0.314453 0.3296 0.322027 0.291733 0.280373 +0.26712 0.287947 0.303093 0.320133 0.365573 0.467813 0.539789 0.601053 +0.638947 0.632 0.579579 0.515158 0.450773 0.452667 0.462133 0.433733 +0.388293 0.36368 0.327707 0.303093 0.316347 0.348533 0.356107 0.337173 +0.337173 0.344747 0.325813 0.303093 0.32392 0.34664 0.33528 0.339067 +0.359893 0.36368 0.342853 0.320133 0.310667 0.314453 0.3296 0.339067 +0.348533 0.359893 0.38072 0.42048 0.44888 0.441307 0.39208 0.367467 +0.36936 0.390187 0.416693 0.441307 0.505053 0.613053 0.789895 0.914316 +0.955368 0.987837 1.02898 1.05053 1.04727 1.03845 1.02898 1.02114 +1.01363 1.01298 1.01298 1.01069 1.00906 1.01265 1.01331 1.01167 +1.01363 1.01331 1.01429 1.01527 1.01657 1.01494 1.01331 1.012 +1.01233 1.01102 1.00743 0.999265 0.991102 0.982286 0.968 0.960421 +0.950947 0.948421 0.953474 0.956 0.973684 0.98 0.870105 0.657263 +0.510737 0.40912 0.291733 0.000886667 0.000773333 0.000766667 0.000793333 0.000766667 +0.000753333 0.000773333 0.00078 0.000773333 0.00078 0.000746667 0.000753333 0.000753333 +0.00074 0.000733333 0.000733333 0.00072 0.00072 0.000733333 0.000733333 0.000713333 +0.0007 0.000713333 0.000713333 0.000713333 0.000713333 0.000713333 0.00072 0.00072 +0.000726667 0.00072 0.000713333 0.000713333 0.000733333 0.00074 0.00072 0.000726667 +0.000733333 0.000726667 0.00072 0.000706667 0.0007 0.00072 0.000726667 0.000726667 +0.000706667 0.00068 0.0007 0.00072 0.00072 0.000726667 0.000706667 0.00072 +0.00074 0.00074 0.000726667 0.000713333 0.000706667 0.000726667 0.000706667 0.000693333 +0.000713333 0.000726667 0.00074 0.00072 0.000706667 0.000706667 0.000706667 0.000726667 +0.00074 0.000753333 0.000753333 0.000766667 0.00076 0.000773333 0.00078 0.000786667 +0.00078 0.000753333 0.00078 0.000813333 0.00096 0.304987 0.337173 0.2444 +0.000953333 0.287947 0.530947 0.751368 0.956632 0.989143 0.964842 0.947158 +0.953474 0.959158 0.955368 0.968632 0.994694 1.01004 1.01592 1.01886 +1.02245 1.02212 1.02016 1.02016 1.02049 1.02114 1.02539 1.04237 +1.12543 1.26085 1.27607 1.16195 1.04629 1.02114 1.01559 1.03257 +1.06913 1.05086 0.960421 0.736842 0.580842 0.515789 0.469707 0.424267 +0.390187 0.36936 0.390187 0.42048 0.42616 0.399653 0.358 0.337173 +0.325813 0.333387 0.382613 0.37504 0.33528 0.339067 0.344747 0.339067 +0.333387 0.33528 0.331493 0.344747 0.356107 0.356107 0.35232 0.348533 +0.337173 0.333387 0.33528 0.331493 0.333387 0.342853 0.339067 0.3296 +0.325813 0.32392 0.320133 0.325813 0.339067 0.361787 0.412907 0.416693 +0.358 0.3296 0.31824 0.31256 0.3296 0.331493 0.331493 0.3296 +0.32392 0.31824 0.310667 0.31256 0.310667 0.322027 0.3296 0.325813 +0.32392 0.322027 0.3296 0.333387 0.34096 0.331493 0.327707 0.33528 +0.342853 0.33528 0.32392 0.34096 0.361787 0.350427 0.333387 0.322027 +0.31824 0.325813 0.322027 0.325813 0.3296 0.3296 0.331493 0.361787 +0.376933 0.34096 0.322027 0.3296 0.34664 0.350427 0.337173 0.34096 +0.361787 0.473493 0.541684 0.531579 0.49432 0.433733 0.384507 0.356107 +0.35232 0.359893 0.37504 0.37504 0.373147 0.37504 0.36936 0.36936 +0.34096 0.327707 0.331493 0.333387 0.322027 0.327707 0.344747 0.358 +0.378827 0.373147 0.36936 0.378827 0.371253 0.48864 0.623789 0.820211 +0.982286 1.02408 1.03943 1.04073 1.04106 1.04465 1.04988 1.05151 +1.05086 1.04955 1.05053 1.05184 1.0502 1.04857 1.04792 1.0489 +1.04824 1.04694 1.04433 1.04367 1.04596 1.04629 1.04727 1.04792 +1.04596 1.04531 1.04433 1.04237 1.04367 1.04237 1.04204 1.04563 +1.04465 1.04204 1.04073 1.04171 1.04106 1.0391 1.03976 1.03747 +1.03943 1.04171 1.03649 1.03551 1.03616 1.0342 1.03094 1.02735 +1.02702 1.0218 1.01918 1.01494 1.01167 1.01396 1.01886 1.02343 +1.02571 1.02898 1.03127 1.03388 1.03486 1.03094 1.02931 1.02212 +1.02212 1.02735 1.03257 1.03714 1.04073 1.03845 1.03551 1.03682 +1.03518 1.03453 1.03551 1.03584 1.0342 1.0329 1.03322 1.03355 +1.03355 1.03029 1.03159 1.03486 1.0391 1.03943 1.0391 1.03845 +1.03747 1.04139 1.04073 1.04106 1.04073 1.03943 1.04335 1.04531 +1.044 1.04139 1.04204 1.04269 1.04237 1.04433 1.04596 1.04563 +1.044 1.044 1.04433 1.04661 1.04661 1.04302 1.04465 1.04759 +1.04498 1.044 1.04661 1.04759 1.04824 1.0502 1.04955 1.05118 +1.04727 1.04302 1.04498 1.04335 1.03976 1.04106 1.03976 1.04041 +1.04171 1.04237 1.03943 1.03714 1.04073 1.04139 1.04008 1.03943 +1.04041 1.04073 1.04073 1.04041 1.03845 1.03747 1.03943 1.03943 +1.03518 1.02833 1.00971 0.969263 0.868842 0.747579 0.635158 0.562526 +0.521474 0.479173 0.428053 0.401547 0.348533 0.304987 0.29552 0.286053 +0.308773 0.348533 0.33528 0.31256 0.33528 0.339067 0.30688 0.293627 +0.265227 0.257653 0.276587 0.314453 0.407227 0.531579 0.613053 0.666737 +0.657263 0.602316 0.530316 0.416693 0.354213 0.376933 0.43752 0.446987 +0.418587 0.395867 0.359893 0.331493 0.34096 0.34664 0.3296 0.308773 +0.314453 0.33528 0.31824 0.291733 0.287947 0.308773 0.316347 0.33528 +0.361787 0.36368 0.348533 0.333387 0.3296 0.325813 0.316347 0.316347 +0.3296 0.356107 0.411013 0.45456 0.433733 0.39776 0.361787 0.35232 +0.35232 0.361787 0.393973 0.424267 0.501895 0.608 0.781684 0.909895 +0.960421 1.0022 1.05118 1.06913 1.04922 1.04139 1.03616 1.02865 +1.01657 1.01069 1.01102 1.01167 1.01102 1.01429 1.01396 1.01233 +1.01461 1.01559 1.01592 1.01624 1.01657 1.01494 1.01396 1.01396 +1.01494 1.01265 1.01069 1.00547 0.998286 0.987184 0.972421 0.964842 +0.958526 0.957263 0.959158 0.956632 0.964842 0.982286 0.934526 0.747579 +0.555579 0.446987 0.344747 0.219787 0.000793333 0.000766667 0.00078 0.00078 +0.000793333 0.000793333 0.000766667 0.000746667 0.000746667 0.00074 0.000746667 0.000746667 +0.00074 0.000733333 0.00074 0.00074 0.000726667 0.00072 0.0007 0.000693333 +0.000706667 0.000726667 0.000713333 0.00072 0.000733333 0.00072 0.00072 0.000713333 +0.0007 0.000706667 0.0007 0.0007 0.00072 0.00074 0.00072 0.00072 +0.00074 0.000733333 0.000713333 0.000713333 0.00072 0.000726667 0.000733333 0.00074 +0.000746667 0.000706667 0.0007 0.000713333 0.00072 0.000733333 0.000713333 0.000713333 +0.0007 0.000713333 0.000713333 0.0007 0.000693333 0.000706667 0.00072 0.000706667 +0.000693333 0.000713333 0.000726667 0.000726667 0.00072 0.000726667 0.000753333 0.000753333 +0.00074 0.000746667 0.000746667 0.000746667 0.00074 0.000746667 0.000773333 0.000813333 +0.0008 0.000766667 0.000773333 0.00084 0.246293 0.337173 0.308773 0.219787 +0.223573 0.371253 0.604842 0.844211 0.984898 0.981959 0.951579 0.945263 +0.956 0.959789 0.957895 0.98 1.00057 1.01167 1.01494 1.01918 +1.02212 1.02114 1.02082 1.02147 1.0218 1.02147 1.02833 1.05249 +1.19238 1.29433 1.26237 1.11782 1.03518 1.01429 1.012 1.03388 +1.07369 1.0391 0.911158 0.691368 0.550526 0.486747 0.42616 0.390187 +0.365573 0.348533 0.359893 0.384507 0.40344 0.384507 0.35232 0.333387 +0.320133 0.339067 0.401547 0.40344 0.361787 0.354213 0.350427 0.333387 +0.31824 0.316347 0.31256 0.327707 0.339067 0.348533 0.35232 0.354213 +0.350427 0.350427 0.348533 0.33528 0.33528 0.34096 0.339067 0.325813 +0.316347 0.322027 0.316347 0.31824 0.327707 0.337173 0.390187 0.418587 +0.367467 0.3296 0.32392 0.320133 0.32392 0.331493 0.333387 0.320133 +0.310667 0.314453 0.316347 0.304987 0.297413 0.310667 0.32392 0.31256 +0.304987 0.310667 0.325813 0.339067 0.33528 0.320133 0.314453 0.31824 +0.322027 0.320133 0.31256 0.3296 0.350427 0.339067 0.322027 0.314453 +0.310667 0.31256 0.316347 0.310667 0.314453 0.322027 0.325813 0.35232 +0.36936 0.32392 0.30688 0.32392 0.3296 0.327707 0.320133 0.322027 +0.337173 0.422373 0.539789 0.553684 0.48864 0.3864 0.356107 0.344747 +0.34664 0.36368 0.378827 0.378827 0.384507 0.384507 0.36936 0.371253 +0.354213 0.344747 0.354213 0.358 0.342853 0.331493 0.333387 0.337173 +0.354213 0.36368 0.39776 0.405333 0.36936 0.429947 0.558737 0.736211 +0.936421 1.01624 1.03649 1.04204 1.04367 1.04498 1.04955 1.05151 +1.05118 1.05151 1.05282 1.05086 1.04563 1.04563 1.04661 1.04661 +1.04727 1.04596 1.04531 1.04465 1.04661 1.04792 1.04629 1.04661 +1.04661 1.04433 1.04269 1.04335 1.04498 1.04302 1.04008 1.04171 +1.04204 1.04171 1.04269 1.04302 1.04073 1.03714 1.03976 1.03976 +1.03845 1.0391 1.03486 1.03388 1.03616 1.03257 1.02735 1.02343 +1.02343 1.01918 1.01755 1.01527 1.01722 1.0231 1.02833 1.03159 +1.0329 1.03486 1.03616 1.03649 1.03747 1.03322 1.03029 1.0231 +1.01951 1.0218 1.02473 1.02735 1.03388 1.0378 1.0391 1.03714 +1.03322 1.0342 1.03584 1.0378 1.03812 1.03845 1.04106 1.04139 +1.04008 1.03453 1.03453 1.0378 1.03845 1.0378 1.03976 1.03845 +1.03878 1.03976 1.0391 1.04204 1.04139 1.04171 1.04433 1.04367 +1.04269 1.03976 1.04106 1.04237 1.03943 1.04269 1.04759 1.04759 +1.04531 1.04335 1.04367 1.044 1.04335 1.04531 1.0489 1.04857 +1.04824 1.04792 1.04759 1.04759 1.04824 1.04922 1.05118 1.05118 +1.04694 1.044 1.04563 1.04661 1.04139 1.03943 1.04073 1.04237 +1.04106 1.04139 1.04008 1.04073 1.04335 1.04073 1.03943 1.0391 +1.03943 1.04204 1.04106 1.03976 1.03812 1.0378 1.0391 1.03878 +1.03322 1.02114 0.995673 0.923158 0.805684 0.686947 0.594737 0.544211 +0.509474 0.446987 0.42616 0.4148 0.354213 0.310667 0.291733 0.3012 +0.35232 0.384507 0.34664 0.325813 0.373147 0.401547 0.348533 0.3012 +0.269013 0.265227 0.286053 0.356107 0.514526 0.617474 0.710316 0.729895 +0.671789 0.582737 0.496213 0.348533 0.31256 0.33528 0.382613 0.388293 +0.388293 0.407227 0.399653 0.367467 0.350427 0.342853 0.316347 0.297413 +0.304987 0.322027 0.32392 0.304987 0.27848 0.282267 0.29552 0.32392 +0.35232 0.35232 0.339067 0.331493 0.331493 0.325813 0.31824 0.31824 +0.31824 0.359893 0.43184 0.44888 0.39776 0.384507 0.382613 0.367467 +0.359893 0.361787 0.384507 0.418587 0.502526 0.602316 0.768421 0.901684 +0.966737 1.0182 1.10565 1.08739 1.04759 1.044 1.04367 1.03845 +1.02604 1.01461 1.01363 1.01331 1.01004 1.01167 1.01233 1.01233 +1.01527 1.01755 1.01624 1.01429 1.01396 1.01429 1.01494 1.01624 +1.0169 1.01298 1.01037 1.00678 1.00416 0.995673 0.983592 0.972421 +0.961053 0.954105 0.951579 0.951579 0.957263 0.980653 0.978105 0.842316 +0.623158 0.49432 0.382613 0.257653 0.00084 0.000793333 0.00078 0.00078 +0.000793333 0.000773333 0.000746667 0.00074 0.000753333 0.00076 0.000766667 0.000753333 +0.000733333 0.000733333 0.000753333 0.00074 0.000726667 0.000726667 0.00072 0.00074 +0.000766667 0.000746667 0.000713333 0.000706667 0.0007 0.00072 0.000746667 0.00074 +0.000726667 0.000733333 0.00072 0.0007 0.000713333 0.0007 0.000693333 0.0007 +0.0007 0.00072 0.0007 0.00072 0.000733333 0.000713333 0.000713333 0.000726667 +0.000746667 0.000713333 0.000706667 0.000733333 0.000733333 0.000733333 0.000733333 0.000726667 +0.000706667 0.000686667 0.000713333 0.000726667 0.000706667 0.000706667 0.000713333 0.000713333 +0.0007 0.00072 0.000713333 0.000706667 0.000693333 0.0007 0.000733333 0.000746667 +0.000746667 0.000746667 0.00076 0.000773333 0.00076 0.00074 0.000753333 0.000786667 +0.000826667 0.00082 0.00082 0.00094 0.297413 0.34096 0.259547 0.00096 +0.259547 0.48864 0.692632 0.920632 0.989796 0.968 0.942737 0.942105 +0.954737 0.956632 0.959158 0.985878 1.0058 1.01461 1.01788 1.02082 +1.02114 1.02016 1.01886 1.02049 1.02147 1.02082 1.03061 1.06913 +1.24107 1.29737 1.22738 1.07369 1.02833 1.01363 1.01559 1.0391 +1.07826 1.02833 0.86 0.639579 0.520842 0.441307 0.399653 0.382613 +0.36936 0.37504 0.401547 0.4148 0.39208 0.358 0.342853 0.339067 +0.331493 0.339067 0.376933 0.37504 0.344747 0.33528 0.339067 0.331493 +0.320133 0.30688 0.308773 0.310667 0.310667 0.316347 0.331493 0.342853 +0.342853 0.344747 0.34096 0.322027 0.320133 0.325813 0.327707 0.320133 +0.314453 0.314453 0.314453 0.31824 0.31824 0.316347 0.354213 0.418587 +0.399653 0.342853 0.331493 0.325813 0.320133 0.316347 0.32392 0.31824 +0.3012 0.297413 0.31256 0.320133 0.31256 0.304987 0.308773 0.297413 +0.287947 0.286053 0.308773 0.325813 0.314453 0.297413 0.28984 0.297413 +0.3012 0.308773 0.314453 0.344747 0.350427 0.320133 0.30688 0.303093 +0.30688 0.304987 0.310667 0.320133 0.31256 0.314453 0.310667 0.3296 +0.36936 0.344747 0.308773 0.310667 0.304987 0.304987 0.304987 0.303093 +0.310667 0.39208 0.536632 0.556842 0.464027 0.342853 0.325813 0.327707 +0.327707 0.344747 0.365573 0.359893 0.359893 0.371253 0.371253 0.36368 +0.35232 0.350427 0.356107 0.359893 0.38072 0.371253 0.342853 0.327707 +0.331493 0.376933 0.467813 0.441307 0.382613 0.422373 0.520842 0.663579 +0.884632 1.0071 1.03061 1.03812 1.04106 1.04563 1.04792 1.04792 +1.04988 1.05151 1.05184 1.04955 1.04531 1.04661 1.04857 1.04792 +1.04759 1.044 1.04335 1.04433 1.04563 1.04792 1.04563 1.04629 +1.04759 1.04335 1.04073 1.044 1.04367 1.04269 1.04041 1.04073 +1.04269 1.04204 1.04302 1.04106 1.03943 1.03714 1.03878 1.0378 +1.03649 1.03714 1.03453 1.03192 1.0329 1.03029 1.02571 1.0231 +1.02278 1.01951 1.02049 1.02147 1.02539 1.02865 1.03224 1.03453 +1.03616 1.03747 1.03845 1.0378 1.03584 1.03388 1.03094 1.02441 +1.01918 1.01722 1.02114 1.02539 1.03257 1.03682 1.04139 1.04106 +1.03714 1.03845 1.03943 1.04073 1.03976 1.03878 1.04139 1.04237 +1.04139 1.03812 1.0378 1.03943 1.03714 1.0378 1.03943 1.0378 +1.03943 1.03747 1.03714 1.04139 1.04073 1.04106 1.04171 1.04041 +1.04073 1.04041 1.04204 1.044 1.04073 1.04302 1.04694 1.04563 +1.044 1.04171 1.04302 1.04367 1.04171 1.044 1.04694 1.04727 +1.0489 1.04824 1.04629 1.04727 1.04759 1.04824 1.04955 1.04629 +1.04531 1.04596 1.04465 1.04433 1.04073 1.0391 1.04008 1.04204 +1.04269 1.04204 1.04171 1.044 1.04498 1.04204 1.04073 1.04073 +1.04073 1.04139 1.03976 1.03747 1.03878 1.0391 1.03845 1.03649 +1.028 1.00939 0.969263 0.862526 0.739368 0.635158 0.569474 0.533474 +0.505684 0.458347 0.450773 0.428053 0.359893 0.32392 0.316347 0.3296 +0.36936 0.388293 0.356107 0.34096 0.38072 0.418587 0.359893 0.304987 +0.27848 0.27848 0.320133 0.48296 0.605474 0.734947 0.804421 0.769053 +0.667368 0.561895 0.445093 0.316347 0.303093 0.358 0.39208 0.358 +0.350427 0.38072 0.399653 0.36936 0.348533 0.350427 0.333387 0.31256 +0.299307 0.308773 0.320133 0.310667 0.287947 0.293627 0.304987 0.32392 +0.33528 0.325813 0.316347 0.314453 0.314453 0.322027 0.32392 0.322027 +0.322027 0.367467 0.433733 0.441307 0.4148 0.435627 0.42616 0.384507 +0.367467 0.373147 0.39776 0.42616 0.500632 0.586526 0.745053 0.886526 +0.975579 1.03518 1.14977 1.06456 1.04106 1.04498 1.05347 1.05314 +1.03976 1.02016 1.01331 1.01167 1.00939 1.01331 1.01527 1.01494 +1.01363 1.01494 1.01559 1.01559 1.01592 1.01788 1.0169 1.01592 +1.01527 1.01135 1.01069 1.00939 1.00841 1.00122 0.987184 0.972421 +0.959789 0.952211 0.947789 0.947789 0.949053 0.967368 0.984898 0.914947 +0.704 0.526526 0.411013 0.304987 0.00092 0.00078 0.00074 0.00076 +0.000773333 0.00076 0.000746667 0.000753333 0.000766667 0.000766667 0.000753333 0.000753333 +0.00074 0.00076 0.000766667 0.00074 0.000733333 0.00076 0.000766667 0.000753333 +0.000733333 0.0007 0.000713333 0.000733333 0.00072 0.0007 0.000713333 0.000726667 +0.000726667 0.000726667 0.000733333 0.00074 0.00074 0.000733333 0.000733333 0.000733333 +0.000713333 0.00072 0.00072 0.00072 0.000726667 0.000726667 0.000733333 0.00074 +0.00076 0.000733333 0.000686667 0.000706667 0.000713333 0.000706667 0.000706667 0.000713333 +0.000726667 0.000726667 0.000733333 0.00072 0.000713333 0.000713333 0.000713333 0.000713333 +0.000713333 0.00074 0.000733333 0.000706667 0.000706667 0.000713333 0.00072 0.00074 +0.00076 0.000753333 0.000766667 0.0008 0.0008 0.000786667 0.000773333 0.000766667 +0.000806667 0.000806667 0.000846667 0.240613 0.33528 0.316347 0.22168 0.000986667 +0.322027 0.556842 0.785474 0.968 0.986531 0.959158 0.942737 0.944632 +0.954105 0.954105 0.964842 0.991429 1.00743 1.01527 1.01853 1.02049 +1.02049 1.01951 1.01886 1.01951 1.01918 1.01853 1.03257 1.11173 +1.2852 1.3065 1.20455 1.05673 1.02376 1.01233 1.02147 1.0489 +1.07674 1.01429 0.818316 0.607368 0.508842 0.433733 0.405333 0.40344 +0.39776 0.39776 0.4148 0.42048 0.382613 0.33528 0.327707 0.339067 +0.339067 0.337173 0.35232 0.359893 0.339067 0.322027 0.327707 0.325813 +0.325813 0.3296 0.331493 0.320133 0.308773 0.310667 0.314453 0.32392 +0.327707 0.32392 0.325813 0.32392 0.31824 0.32392 0.325813 0.320133 +0.310667 0.3012 0.31256 0.31824 0.303093 0.291733 0.322027 0.39776 +0.422373 0.365573 0.325813 0.320133 0.327707 0.331493 0.333387 0.325813 +0.297413 0.28416 0.29552 0.327707 0.33528 0.331493 0.31824 0.308773 +0.299307 0.280373 0.29552 0.31824 0.304987 0.280373 0.28416 0.299307 +0.304987 0.31256 0.31824 0.34096 0.3296 0.28984 0.276587 0.29552 +0.299307 0.304987 0.320133 0.327707 0.314453 0.303093 0.299307 0.316347 +0.384507 0.382613 0.322027 0.29552 0.291733 0.297413 0.299307 0.293627 +0.291733 0.371253 0.525895 0.544211 0.446987 0.33528 0.320133 0.331493 +0.327707 0.34096 0.356107 0.339067 0.331493 0.35232 0.359893 0.344747 +0.350427 0.35232 0.339067 0.348533 0.388293 0.405333 0.365573 0.333387 +0.34096 0.452667 0.527789 0.49432 0.42048 0.439413 0.501263 0.611158 +0.830947 0.992735 1.02212 1.03192 1.03551 1.04171 1.04302 1.04367 +1.04792 1.04857 1.04824 1.04792 1.04759 1.04857 1.04988 1.04955 +1.04727 1.04498 1.04498 1.04596 1.04465 1.04531 1.04563 1.04629 +1.04824 1.04433 1.04204 1.04335 1.04237 1.04302 1.04073 1.04041 +1.04269 1.04041 1.04237 1.04204 1.04106 1.04041 1.03878 1.03682 +1.03714 1.03682 1.03453 1.03192 1.03127 1.02865 1.02506 1.02473 +1.02506 1.02343 1.02669 1.02963 1.03224 1.03094 1.03551 1.0378 +1.03649 1.03616 1.03812 1.03747 1.03551 1.03682 1.03257 1.02996 +1.02669 1.02376 1.02735 1.03061 1.03649 1.03812 1.04008 1.04073 +1.03845 1.03976 1.04073 1.04073 1.03812 1.0378 1.03878 1.03812 +1.0378 1.03812 1.04073 1.0391 1.03649 1.04008 1.03714 1.03649 +1.03943 1.03584 1.03649 1.03976 1.04008 1.03878 1.0378 1.03976 +1.04204 1.04302 1.04563 1.04433 1.04139 1.044 1.04531 1.04204 +1.04106 1.04008 1.04335 1.04629 1.04237 1.04204 1.04465 1.04596 +1.04661 1.04629 1.04727 1.04792 1.04727 1.04792 1.04596 1.04237 +1.04531 1.04727 1.04498 1.04302 1.04139 1.04139 1.03976 1.04073 +1.04302 1.04269 1.04269 1.04302 1.04237 1.04139 1.0391 1.04008 +1.04041 1.03878 1.03649 1.03649 1.03878 1.03943 1.03682 1.03257 +1.01886 0.98849 0.902316 0.782316 0.668632 0.592211 0.551789 0.524 +0.502526 0.46024 0.42616 0.38072 0.350427 0.348533 0.344747 0.34664 +0.348533 0.344747 0.33528 0.320133 0.333387 0.36936 0.339067 0.316347 +0.304987 0.314453 0.42616 0.568211 0.697053 0.803789 0.826526 0.746316 +0.618737 0.516421 0.38072 0.31256 0.327707 0.373147 0.37504 0.342853 +0.325813 0.34664 0.361787 0.339067 0.327707 0.342853 0.34664 0.34096 +0.32392 0.304987 0.303093 0.297413 0.297413 0.299307 0.3012 0.310667 +0.322027 0.31824 0.310667 0.304987 0.30688 0.314453 0.310667 0.31256 +0.322027 0.37504 0.441307 0.46024 0.484853 0.504421 0.469707 0.405333 +0.376933 0.37504 0.401547 0.422373 0.479173 0.570737 0.727368 0.876421 +0.98098 1.04531 1.15434 1.05314 1.03584 1.04433 1.05902 1.0813 +1.05053 1.02571 1.01363 1.01265 1.01298 1.01461 1.01461 1.01396 +1.01298 1.01494 1.01722 1.01755 1.01624 1.01657 1.01559 1.01592 +1.01624 1.01461 1.01298 1.01004 1.00841 1.00318 0.989796 0.973053 +0.963579 0.957263 0.951579 0.947789 0.945263 0.958526 0.984245 0.964211 +0.793684 0.580842 0.456453 0.358 0.23304 0.00078 0.000733333 0.00076 +0.000766667 0.00076 0.00076 0.000753333 0.000773333 0.00074 0.00072 0.000733333 +0.000726667 0.00076 0.00076 0.000726667 0.000726667 0.00072 0.00074 0.00074 +0.0007 0.000673333 0.000713333 0.000746667 0.000733333 0.0007 0.000693333 0.000713333 +0.00072 0.00072 0.000713333 0.000726667 0.000726667 0.000726667 0.00074 0.000753333 +0.00072 0.000706667 0.000706667 0.000686667 0.000686667 0.0007 0.000713333 0.00072 +0.000733333 0.000733333 0.000713333 0.000713333 0.000726667 0.000713333 0.000693333 0.000706667 +0.000713333 0.000733333 0.000726667 0.000693333 0.00072 0.00072 0.0007 0.000693333 +0.0007 0.000713333 0.000726667 0.000733333 0.000733333 0.000733333 0.000713333 0.000733333 +0.00076 0.00076 0.000773333 0.000773333 0.000773333 0.000773333 0.000773333 0.000793333 +0.000806667 0.00082 0.00092 0.280373 0.333387 0.259547 0.000913333 0.242507 +0.42048 0.634526 0.873263 0.986857 0.979368 0.950947 0.947158 0.952842 +0.953474 0.950316 0.966737 0.993388 1.00873 1.01624 1.01918 1.02049 +1.01886 1.01755 1.01853 1.02016 1.01984 1.01984 1.03649 1.15434 +1.33085 1.32628 1.18934 1.05184 1.02473 1.01624 1.02996 1.05771 +1.05837 0.995347 0.779789 0.587158 0.503789 0.433733 0.422373 0.416693 +0.39776 0.378827 0.361787 0.365573 0.36368 0.34096 0.33528 0.34664 +0.35232 0.34096 0.337173 0.34664 0.34664 0.33528 0.3296 0.322027 +0.316347 0.327707 0.333387 0.327707 0.322027 0.314453 0.31256 0.31256 +0.31824 0.322027 0.325813 0.327707 0.32392 0.325813 0.33528 0.325813 +0.30688 0.3012 0.31256 0.310667 0.293627 0.29552 0.30688 0.359893 +0.39776 0.358 0.30688 0.30688 0.333387 0.34096 0.344747 0.327707 +0.29552 0.286053 0.297413 0.31824 0.327707 0.350427 0.359893 0.36368 +0.342853 0.29552 0.291733 0.322027 0.314453 0.282267 0.293627 0.3012 +0.310667 0.34096 0.354213 0.342853 0.310667 0.276587 0.269013 0.3012 +0.31824 0.31824 0.32392 0.320133 0.303093 0.291733 0.299307 0.325813 +0.38072 0.40344 0.35232 0.299307 0.280373 0.297413 0.333387 0.31824 +0.3012 0.350427 0.496213 0.508211 0.39208 0.322027 0.320133 0.333387 +0.339067 0.35232 0.348533 0.32392 0.320133 0.3296 0.339067 0.358 +0.365573 0.35232 0.34096 0.337173 0.365573 0.405333 0.382613 0.34664 +0.395867 0.529684 0.560632 0.507579 0.439413 0.446987 0.48296 0.573263 +0.774105 0.969263 1.01167 1.02571 1.03388 1.03812 1.03878 1.04041 +1.04465 1.04563 1.04596 1.04792 1.04922 1.0489 1.0489 1.0502 +1.04988 1.04955 1.04824 1.04629 1.04563 1.04531 1.04563 1.04498 +1.04629 1.04498 1.04335 1.04269 1.04237 1.04237 1.04139 1.04139 +1.044 1.04106 1.04204 1.04335 1.04433 1.04106 1.03747 1.03649 +1.0378 1.03682 1.03486 1.03192 1.03159 1.03159 1.02735 1.02637 +1.02735 1.02865 1.03224 1.03486 1.03551 1.03127 1.03584 1.03812 +1.03518 1.03551 1.03878 1.0391 1.03747 1.03943 1.03682 1.03453 +1.03322 1.03127 1.03127 1.03257 1.0391 1.04237 1.04041 1.03878 +1.03878 1.04008 1.04106 1.04073 1.03845 1.03878 1.04008 1.0378 +1.03551 1.03714 1.04073 1.03682 1.03551 1.03812 1.03682 1.03518 +1.03747 1.03453 1.03649 1.03878 1.03878 1.03714 1.03649 1.04139 +1.04269 1.04171 1.04433 1.04204 1.04106 1.04335 1.04106 1.03976 +1.04139 1.04302 1.04563 1.04629 1.04465 1.04531 1.04498 1.04498 +1.04694 1.04629 1.04694 1.04596 1.04759 1.04988 1.04629 1.04367 +1.04465 1.04433 1.04367 1.04335 1.04302 1.04237 1.04073 1.04106 +1.04269 1.04269 1.04269 1.04204 1.04073 1.03976 1.03845 1.03976 +1.03976 1.03714 1.03551 1.03649 1.03747 1.0378 1.03682 1.02702 +1.00253 0.938316 0.822105 0.700842 0.612421 0.568842 0.546105 0.519579 +0.48864 0.422373 0.39208 0.37504 0.359893 0.35232 0.356107 0.373147 +0.365573 0.34096 0.3296 0.310667 0.314453 0.339067 0.327707 0.327707 +0.356107 0.4148 0.528421 0.625684 0.726105 0.780421 0.757053 0.654105 +0.537263 0.405333 0.3296 0.32392 0.356107 0.373147 0.344747 0.31824 +0.31256 0.327707 0.3296 0.310667 0.316347 0.327707 0.344747 0.354213 +0.34096 0.31824 0.30688 0.299307 0.297413 0.303093 0.303093 0.30688 +0.316347 0.31824 0.316347 0.325813 0.331493 0.31824 0.303093 0.31256 +0.320133 0.371253 0.435627 0.48864 0.522737 0.524 0.492427 0.416693 +0.378827 0.367467 0.388293 0.40912 0.456453 0.555579 0.707789 0.864421 +0.983265 1.05184 1.15738 1.0502 1.03127 1.04171 1.07217 1.13608 +1.08282 1.03616 1.01722 1.01167 1.01167 1.01298 1.01233 1.01331 +1.01461 1.01624 1.01722 1.01624 1.01396 1.01396 1.01559 1.01559 +1.01396 1.01396 1.01265 1.01069 1.00971 1.0058 0.994694 0.979368 +0.965474 0.957895 0.951579 0.946526 0.942105 0.952842 0.98098 0.984571 +0.875158 0.652211 0.510737 0.40344 0.27848 0.000846667 0.00076 0.000766667 +0.000766667 0.000766667 0.000726667 0.00074 0.000786667 0.000786667 0.00078 0.00074 +0.00072 0.000733333 0.000733333 0.000726667 0.00074 0.00074 0.000766667 0.000746667 +0.000713333 0.000693333 0.000706667 0.000693333 0.000726667 0.00072 0.00072 0.00072 +0.000726667 0.000726667 0.000713333 0.000713333 0.00072 0.0007 0.000726667 0.00076 +0.00074 0.00072 0.000726667 0.00072 0.000693333 0.00068 0.000693333 0.000706667 +0.0007 0.000713333 0.000733333 0.000726667 0.000726667 0.00074 0.00072 0.000706667 +0.00072 0.000713333 0.000713333 0.000693333 0.000726667 0.00074 0.00072 0.000706667 +0.000706667 0.000713333 0.00072 0.00072 0.000733333 0.000733333 0.000713333 0.0007 +0.000746667 0.00076 0.000753333 0.000746667 0.000753333 0.00076 0.00076 0.00078 +0.0008 0.000866667 0.236827 0.325813 0.316347 0.219787 0.000913333 0.270907 +0.511368 0.719158 0.938947 0.990122 0.968 0.947158 0.949684 0.956632 +0.954105 0.950947 0.971158 0.995673 1.01004 1.01722 1.01918 1.02016 +1.01853 1.01722 1.01853 1.01984 1.02082 1.02245 1.04237 1.1939 +1.36432 1.34302 1.16803 1.04465 1.02506 1.02278 1.03976 1.06456 +1.04596 0.962316 0.735579 0.566316 0.492427 0.433733 0.422373 0.405333 +0.384507 0.37504 0.350427 0.342853 0.350427 0.339067 0.337173 0.337173 +0.344747 0.342853 0.331493 0.3296 0.333387 0.333387 0.33528 0.325813 +0.325813 0.325813 0.31824 0.32392 0.31824 0.308773 0.316347 0.308773 +0.30688 0.314453 0.325813 0.33528 0.32392 0.314453 0.3296 0.322027 +0.3012 0.29552 0.308773 0.304987 0.291733 0.29552 0.303093 0.333387 +0.367467 0.359893 0.308773 0.293627 0.303093 0.314453 0.331493 0.310667 +0.28984 0.291733 0.303093 0.308773 0.299307 0.32392 0.34096 0.331493 +0.322027 0.28416 0.282267 0.331493 0.344747 0.3012 0.287947 0.3012 +0.33528 0.393973 0.40344 0.361787 0.320133 0.286053 0.282267 0.310667 +0.34664 0.354213 0.342853 0.316347 0.303093 0.297413 0.297413 0.308773 +0.348533 0.446987 0.458347 0.34096 0.282267 0.297413 0.35232 0.348533 +0.31256 0.34664 0.445093 0.4432 0.34664 0.299307 0.299307 0.314453 +0.333387 0.354213 0.342853 0.31256 0.304987 0.303093 0.325813 0.356107 +0.371253 0.367467 0.367467 0.373147 0.373147 0.401547 0.40912 0.407227 +0.512 0.583368 0.575158 0.504421 0.428053 0.428053 0.462133 0.537895 +0.707789 0.912421 0.99502 1.01396 1.02571 1.03257 1.03714 1.04008 +1.04302 1.04596 1.04694 1.04824 1.0489 1.04727 1.04694 1.05086 +1.05151 1.04988 1.0489 1.04661 1.04629 1.04498 1.04433 1.04335 +1.04433 1.04498 1.04302 1.04237 1.04204 1.04041 1.04204 1.04237 +1.044 1.044 1.04171 1.04008 1.04204 1.03878 1.03518 1.03649 +1.03714 1.03682 1.03616 1.0342 1.03322 1.03322 1.02898 1.02833 +1.02833 1.03224 1.03747 1.03649 1.03551 1.03159 1.03453 1.03616 +1.03224 1.03486 1.04041 1.04041 1.03878 1.04008 1.03584 1.03453 +1.03518 1.03388 1.03257 1.03192 1.03649 1.04204 1.04041 1.03878 +1.04041 1.04237 1.04041 1.03976 1.0391 1.03943 1.04269 1.03747 +1.03453 1.03976 1.03976 1.03486 1.03649 1.03812 1.03616 1.03551 +1.03551 1.0342 1.0378 1.03812 1.03616 1.03388 1.0342 1.03943 +1.03878 1.03584 1.0391 1.03812 1.0391 1.04041 1.03943 1.04237 +1.04302 1.04367 1.04661 1.04498 1.04465 1.04661 1.04498 1.044 +1.04629 1.04661 1.04629 1.04727 1.04857 1.04661 1.04433 1.04465 +1.04302 1.04106 1.04139 1.04367 1.044 1.04237 1.04171 1.04269 +1.04367 1.04302 1.04302 1.04204 1.04041 1.04041 1.04008 1.04008 +1.03943 1.03878 1.0391 1.03812 1.03616 1.03649 1.03486 1.0182 +0.975579 0.86 0.733053 0.633895 0.582105 0.558105 0.538526 0.520211 +0.490533 0.412907 0.388293 0.407227 0.401547 0.36936 0.37504 0.40344 +0.38072 0.354213 0.337173 0.314453 0.304987 0.32392 0.333387 0.348533 +0.405333 0.49432 0.548632 0.625684 0.681895 0.676842 0.621895 0.544842 +0.435627 0.333387 0.31256 0.339067 0.36936 0.365573 0.333387 0.310667 +0.31824 0.3296 0.322027 0.303093 0.310667 0.322027 0.337173 0.350427 +0.344747 0.316347 0.31256 0.308773 0.3012 0.310667 0.316347 0.31256 +0.31824 0.31824 0.325813 0.36368 0.382613 0.344747 0.316347 0.31824 +0.316347 0.365573 0.462133 0.523368 0.544211 0.518316 0.44888 0.395867 +0.36936 0.361787 0.373147 0.384507 0.422373 0.536632 0.681263 0.850526 +0.98751 1.05935 1.16195 1.04596 1.02539 1.0391 1.09348 1.19999 +1.15282 1.04498 1.01951 1.01037 1.01037 1.01265 1.01233 1.01265 +1.01429 1.01429 1.01494 1.01559 1.01461 1.01396 1.01461 1.01363 +1.01069 1.01167 1.01233 1.01102 1.01037 1.00678 0.999592 0.985878 +0.969263 0.959158 0.955368 0.947158 0.940842 0.947789 0.969263 0.986531 +0.934526 0.736211 0.549895 0.446987 0.333387 0.00098 0.000826667 0.000766667 +0.000733333 0.000733333 0.000706667 0.00076 0.000813333 0.00082 0.0008 0.000726667 +0.000726667 0.00074 0.000746667 0.000746667 0.000746667 0.000746667 0.000746667 0.000706667 +0.000693333 0.000733333 0.000753333 0.000726667 0.000733333 0.000746667 0.00072 0.00072 +0.00072 0.000713333 0.000706667 0.000713333 0.000713333 0.0007 0.000733333 0.00074 +0.000726667 0.000706667 0.000713333 0.000726667 0.000713333 0.000693333 0.000706667 0.000706667 +0.000693333 0.000706667 0.000733333 0.00072 0.0007 0.000726667 0.000726667 0.000713333 +0.00074 0.00074 0.000726667 0.00072 0.00072 0.000726667 0.000713333 0.000693333 +0.0007 0.000733333 0.000753333 0.00076 0.000746667 0.00072 0.000713333 0.0007 +0.00074 0.00076 0.00076 0.000766667 0.00078 0.000793333 0.000793333 0.000786667 +0.000813333 0.00094 0.286053 0.333387 0.26144 0.00092 0.217893 0.333387 +0.568842 0.805684 0.979368 0.985551 0.955368 0.943368 0.950947 0.956632 +0.954737 0.959158 0.981306 0.999265 1.01102 1.01624 1.01886 1.01918 +1.01722 1.0169 1.01886 1.02082 1.02147 1.02343 1.04727 1.22129 +1.37497 1.34454 1.14673 1.03878 1.02441 1.02702 1.04857 1.08739 +1.03388 0.909895 0.694526 0.549895 0.479173 0.428053 0.418587 0.405333 +0.401547 0.40344 0.37504 0.358 0.342853 0.3296 0.3296 0.31824 +0.325813 0.339067 0.331493 0.3296 0.331493 0.325813 0.320133 0.3296 +0.339067 0.316347 0.30688 0.322027 0.31824 0.30688 0.316347 0.303093 +0.297413 0.299307 0.314453 0.34096 0.337173 0.33528 0.344747 0.327707 +0.308773 0.3012 0.29552 0.286053 0.28416 0.286053 0.316347 0.339067 +0.354213 0.367467 0.34664 0.30688 0.293627 0.30688 0.316347 0.3012 +0.291733 0.29552 0.3012 0.31256 0.303093 0.30688 0.3012 0.280373 +0.274693 0.270907 0.274693 0.320133 0.361787 0.342853 0.310667 0.34096 +0.40344 0.428053 0.388293 0.344747 0.3296 0.31824 0.297413 0.304987 +0.348533 0.401547 0.401547 0.356107 0.325813 0.31256 0.3012 0.28416 +0.31256 0.467813 0.524 0.424267 0.293627 0.2728 0.314453 0.322027 +0.3012 0.337173 0.40344 0.384507 0.30688 0.282267 0.287947 0.299307 +0.31256 0.348533 0.339067 0.293627 0.287947 0.314453 0.32392 0.331493 +0.356107 0.376933 0.401547 0.412907 0.393973 0.388293 0.435627 0.510105 +0.582737 0.636421 0.584632 0.496213 0.395867 0.382613 0.412907 0.504421 +0.633263 0.831579 0.965474 1.0009 1.01429 1.02604 1.03584 1.04008 +1.04335 1.04759 1.04759 1.04759 1.04922 1.04792 1.04727 1.05118 +1.0502 1.04792 1.04792 1.04694 1.04596 1.04563 1.04661 1.04465 +1.04335 1.04498 1.04531 1.04465 1.044 1.04171 1.04269 1.04171 +1.04302 1.04498 1.04204 1.03878 1.04171 1.0391 1.03518 1.03714 +1.03616 1.03616 1.03551 1.03388 1.03388 1.03388 1.03061 1.03094 +1.03094 1.0329 1.03682 1.03518 1.03649 1.03257 1.03322 1.03551 +1.03061 1.0329 1.03976 1.03943 1.03714 1.03845 1.03714 1.03584 +1.03747 1.03388 1.03257 1.0329 1.03486 1.03943 1.04008 1.03878 +1.03943 1.04269 1.03878 1.03878 1.03812 1.03878 1.04269 1.03616 +1.03551 1.04204 1.03878 1.0342 1.03714 1.0378 1.03486 1.03257 +1.03388 1.03388 1.03747 1.03649 1.03453 1.03094 1.0329 1.0378 +1.03616 1.03322 1.0342 1.03388 1.03649 1.0378 1.03976 1.04465 +1.04498 1.04269 1.04302 1.04335 1.04498 1.04596 1.04433 1.04563 +1.04857 1.04694 1.04563 1.0489 1.04922 1.04433 1.044 1.04629 +1.04171 1.04041 1.04269 1.04465 1.04465 1.04335 1.04171 1.04367 +1.04367 1.04204 1.04269 1.04139 1.03976 1.04041 1.04008 1.03747 +1.0378 1.03943 1.03812 1.03714 1.03486 1.0342 1.02571 0.994367 +0.898526 0.769684 0.657895 0.595368 0.570105 0.553053 0.542947 0.532842 +0.502526 0.43752 0.446987 0.492427 0.490533 0.416693 0.39776 0.42616 +0.382613 0.331493 0.314453 0.299307 0.304987 0.33528 0.358 0.3864 +0.433733 0.5 0.532211 0.577684 0.587789 0.549263 0.505053 0.418587 +0.350427 0.320133 0.320133 0.348533 0.359893 0.34664 0.316347 0.303093 +0.320133 0.333387 0.3296 0.304987 0.304987 0.32392 0.331493 0.322027 +0.32392 0.31256 0.310667 0.310667 0.314453 0.331493 0.337173 0.3296 +0.322027 0.31824 0.337173 0.388293 0.39776 0.344747 0.322027 0.325813 +0.3296 0.399653 0.512 0.544842 0.530316 0.44888 0.371253 0.36368 +0.36936 0.361787 0.359893 0.371253 0.422373 0.528421 0.658526 0.831579 +0.986531 1.07826 1.19086 1.04792 1.02114 1.03486 1.09195 1.23194 +1.21368 1.05543 1.02473 1.01135 1.00873 1.012 1.01331 1.01298 +1.01461 1.01559 1.01429 1.01396 1.01396 1.01331 1.01429 1.01559 +1.01363 1.01429 1.01363 1.01037 1.00971 1.00841 1.00384 0.993388 +0.977474 0.961684 0.957895 0.952211 0.944632 0.945263 0.958526 0.982939 +0.974947 0.822737 0.606105 0.486747 0.36936 0.25008 0.00088 0.00078 +0.00076 0.00076 0.00074 0.00076 0.000773333 0.000766667 0.000753333 0.000726667 +0.000753333 0.00076 0.00076 0.000753333 0.00072 0.000726667 0.00074 0.000706667 +0.00072 0.00076 0.00074 0.000733333 0.000726667 0.000746667 0.000726667 0.000713333 +0.000706667 0.0007 0.0007 0.000713333 0.000706667 0.0007 0.00072 0.00072 +0.000713333 0.00072 0.0007 0.000713333 0.000713333 0.0007 0.00072 0.00072 +0.000713333 0.000726667 0.000733333 0.000733333 0.000706667 0.000693333 0.000713333 0.000713333 +0.000733333 0.00074 0.000733333 0.000726667 0.000706667 0.000706667 0.00072 0.000706667 +0.0007 0.000706667 0.000713333 0.00074 0.000753333 0.00074 0.000753333 0.000746667 +0.000746667 0.00074 0.000746667 0.00078 0.0008 0.000793333 0.00078 0.000793333 +0.00084 0.229253 0.327707 0.31256 0.000986667 0.000893333 0.251973 0.429947 +0.646526 0.887158 0.989796 0.978105 0.947158 0.942737 0.949684 0.950316 +0.951579 0.966737 0.98751 1.00384 1.01298 1.01624 1.01722 1.01788 +1.01722 1.01755 1.01886 1.01984 1.01853 1.02114 1.0502 1.25477 +1.39323 1.33237 1.1163 1.0329 1.0231 1.03029 1.05412 1.10717 +1.0231 0.858105 0.651579 0.532211 0.473493 0.4432 0.428053 0.411013 +0.407227 0.39208 0.36936 0.361787 0.342853 0.337173 0.3296 0.320133 +0.333387 0.34096 0.33528 0.3296 0.32392 0.31824 0.308773 0.31824 +0.333387 0.31256 0.308773 0.3296 0.322027 0.308773 0.314453 0.308773 +0.304987 0.303093 0.308773 0.333387 0.35232 0.36936 0.376933 0.344747 +0.320133 0.3012 0.282267 0.280373 0.28984 0.299307 0.337173 0.350427 +0.32392 0.34664 0.37504 0.34664 0.322027 0.325813 0.308773 0.297413 +0.320133 0.33528 0.31256 0.30688 0.31824 0.314453 0.293627 0.26712 +0.263333 0.263333 0.274693 0.3012 0.36936 0.411013 0.399653 0.411013 +0.42616 0.401547 0.34096 0.308773 0.308773 0.316347 0.3012 0.28984 +0.327707 0.422373 0.42048 0.354213 0.31824 0.31256 0.299307 0.28416 +0.287947 0.3864 0.510105 0.479173 0.320133 0.265227 0.276587 0.276587 +0.280373 0.316347 0.365573 0.33528 0.28416 0.27848 0.28416 0.286053 +0.304987 0.361787 0.354213 0.28984 0.280373 0.30688 0.308773 0.308773 +0.3296 0.358 0.373147 0.373147 0.361787 0.359893 0.418587 0.514526 +0.594737 0.648421 0.590316 0.486747 0.371253 0.36368 0.382613 0.452667 +0.573895 0.748842 0.915579 0.989469 1.00645 1.02114 1.0329 1.03943 +1.04302 1.04694 1.04792 1.04792 1.04922 1.04792 1.04661 1.0489 +1.0489 1.04824 1.04922 1.04759 1.04596 1.04498 1.04694 1.04498 +1.04335 1.04563 1.04661 1.04629 1.04661 1.04335 1.04237 1.04269 +1.04237 1.04204 1.04139 1.04041 1.04139 1.03976 1.03616 1.0378 +1.03551 1.03518 1.0342 1.03192 1.03453 1.03551 1.03159 1.03192 +1.03322 1.03355 1.0342 1.03322 1.03649 1.03322 1.0329 1.03486 +1.03061 1.03061 1.03616 1.0378 1.03714 1.03976 1.0391 1.03682 +1.03845 1.03453 1.03257 1.03453 1.03518 1.03747 1.03976 1.03976 +1.0391 1.04073 1.03878 1.03878 1.03649 1.03878 1.04269 1.03714 +1.03878 1.04269 1.03682 1.03551 1.03551 1.03845 1.03714 1.03355 +1.03224 1.03551 1.03714 1.03649 1.03518 1.03094 1.0329 1.03616 +1.03388 1.03388 1.03453 1.03518 1.03616 1.03714 1.04204 1.04531 +1.04563 1.04433 1.04269 1.04302 1.04563 1.04629 1.04335 1.04727 +1.04988 1.04694 1.04596 1.0489 1.04922 1.04531 1.04563 1.04759 +1.04302 1.04008 1.04367 1.04563 1.04531 1.04465 1.04433 1.04498 +1.04335 1.04073 1.03943 1.04008 1.0391 1.03845 1.03878 1.03714 +1.03616 1.03649 1.03616 1.03747 1.03518 1.02604 1.00351 0.932 +0.802526 0.685053 0.612421 0.580842 0.566947 0.556211 0.548632 0.524 +0.4432 0.399653 0.46024 0.513895 0.517053 0.479173 0.490533 0.504421 +0.412907 0.316347 0.28984 0.29552 0.339067 0.367467 0.382613 0.399653 +0.399653 0.424267 0.500632 0.523368 0.508211 0.42048 0.371253 0.34664 +0.327707 0.32392 0.31824 0.31824 0.322027 0.316347 0.293627 0.286053 +0.310667 0.325813 0.325813 0.320133 0.322027 0.350427 0.344747 0.320133 +0.310667 0.310667 0.314453 0.31824 0.327707 0.342853 0.344747 0.33528 +0.322027 0.32392 0.339067 0.361787 0.365573 0.333387 0.32392 0.339067 +0.36368 0.43184 0.513895 0.522105 0.481067 0.384507 0.35232 0.348533 +0.354213 0.35232 0.359893 0.390187 0.43752 0.520842 0.632 0.804421 +0.981306 1.08891 1.21064 1.04955 1.01624 1.02702 1.06456 1.24259 +1.27911 1.1026 1.02898 1.01135 1.00873 1.01233 1.01592 1.01527 +1.01559 1.0169 1.01527 1.01298 1.01331 1.01429 1.01559 1.01657 +1.01559 1.01624 1.01494 1.01233 1.012 1.01004 1.00678 1.0009 +0.986531 0.967368 0.957895 0.954105 0.947158 0.944632 0.952211 0.974947 +0.986204 0.897263 0.677474 0.517684 0.401547 0.293627 0.000913333 0.000813333 +0.000806667 0.000753333 0.000693333 0.0007 0.000713333 0.000726667 0.000746667 0.000753333 +0.000746667 0.000726667 0.000713333 0.000706667 0.000706667 0.000746667 0.000746667 0.00072 +0.00074 0.000713333 0.000673333 0.00068 0.000726667 0.000726667 0.000733333 0.000746667 +0.000733333 0.000713333 0.00072 0.000726667 0.000706667 0.000686667 0.0007 0.0007 +0.000706667 0.00074 0.000733333 0.000726667 0.000733333 0.000713333 0.000726667 0.000726667 +0.000706667 0.000713333 0.000713333 0.000746667 0.000753333 0.00072 0.000713333 0.000693333 +0.0007 0.00072 0.000713333 0.000706667 0.000693333 0.0007 0.000726667 0.000726667 +0.000713333 0.000706667 0.000693333 0.000713333 0.000726667 0.00074 0.00076 0.000766667 +0.000753333 0.000753333 0.000773333 0.000786667 0.000786667 0.000766667 0.000753333 0.000806667 +0.000906667 0.269013 0.34096 0.274693 0.000926667 0.219787 0.314453 0.520842 +0.729895 0.945263 0.988163 0.963579 0.943368 0.947158 0.956632 0.950947 +0.950947 0.970526 0.989143 1.0058 1.01592 1.01951 1.0182 1.0182 +1.01755 1.01788 1.01886 1.01951 1.0182 1.01951 1.04988 1.28368 +1.40997 1.31867 1.09195 1.02833 1.01984 1.03127 1.05543 1.09804 +1.00971 0.812632 0.617474 0.520211 0.467813 0.439413 0.40912 0.3864 +0.376933 0.367467 0.361787 0.365573 0.36368 0.356107 0.344747 0.339067 +0.342853 0.333387 0.327707 0.327707 0.325813 0.325813 0.30688 0.297413 +0.30688 0.30688 0.325813 0.34096 0.322027 0.31256 0.316347 0.322027 +0.31256 0.31256 0.314453 0.342853 0.376933 0.378827 0.359893 0.34664 +0.3296 0.310667 0.291733 0.297413 0.297413 0.308773 0.34664 0.342853 +0.308773 0.327707 0.382613 0.393973 0.365573 0.339067 0.314453 0.31256 +0.33528 0.33528 0.3012 0.28984 0.314453 0.333387 0.322027 0.293627 +0.276587 0.280373 0.28984 0.3012 0.40344 0.505053 0.500632 0.433733 +0.37504 0.350427 0.33528 0.314453 0.310667 0.308773 0.303093 0.3012 +0.33528 0.418587 0.39208 0.322027 0.30688 0.320133 0.31256 0.293627 +0.286053 0.30688 0.39776 0.4432 0.342853 0.270907 0.26712 0.270907 +0.2728 0.308773 0.344747 0.320133 0.299307 0.291733 0.299307 0.316347 +0.356107 0.411013 0.393973 0.322027 0.28984 0.297413 0.304987 0.299307 +0.322027 0.348533 0.344747 0.31824 0.31824 0.354213 0.38072 0.428053 +0.524 0.589053 0.570737 0.46592 0.371253 0.376933 0.367467 0.412907 +0.531579 0.678105 0.870105 0.980653 0.997633 1.01233 1.02604 1.03551 +1.04106 1.04531 1.04759 1.04824 1.04824 1.04857 1.04727 1.04629 +1.04759 1.04955 1.04955 1.0489 1.04727 1.04465 1.04596 1.04531 +1.04433 1.04433 1.044 1.04498 1.04759 1.04465 1.04073 1.04237 +1.04106 1.04139 1.04269 1.04204 1.04041 1.04106 1.03714 1.03616 +1.03616 1.03551 1.03551 1.03551 1.03714 1.03453 1.03061 1.03127 +1.03322 1.03486 1.03453 1.03388 1.03584 1.03322 1.03453 1.03486 +1.03061 1.02996 1.03518 1.03714 1.03584 1.0391 1.03812 1.03747 +1.04139 1.03486 1.03127 1.0342 1.03486 1.03551 1.0378 1.04008 +1.04139 1.03845 1.03812 1.04008 1.0378 1.03976 1.04073 1.03616 +1.04237 1.04367 1.03747 1.03845 1.03518 1.03812 1.03845 1.03388 +1.03159 1.03518 1.03616 1.0342 1.03355 1.03061 1.03224 1.0342 +1.03224 1.03355 1.03551 1.03812 1.03845 1.03943 1.04367 1.04433 +1.04335 1.04302 1.04237 1.04269 1.04563 1.04629 1.04465 1.04857 +1.04792 1.04563 1.04824 1.04988 1.04922 1.04694 1.04531 1.04563 +1.04498 1.04269 1.04367 1.044 1.04367 1.04498 1.04563 1.04367 +1.04367 1.04302 1.03976 1.03976 1.0391 1.0378 1.03616 1.03584 +1.03453 1.03388 1.03486 1.03616 1.03061 1.01167 0.963579 0.840421 +0.708421 0.621263 0.586526 0.575158 0.565684 0.555579 0.536632 0.481067 +0.373147 0.348533 0.378827 0.450773 0.479173 0.503158 0.551789 0.559368 +0.479173 0.327707 0.304987 0.34664 0.390187 0.376933 0.365573 0.356107 +0.342853 0.348533 0.399653 0.446987 0.42048 0.367467 0.33528 0.327707 +0.320133 0.316347 0.3012 0.291733 0.297413 0.286053 0.274693 0.287947 +0.31256 0.3296 0.331493 0.34664 0.37504 0.4148 0.416693 0.365573 +0.3296 0.333387 0.342853 0.339067 0.33528 0.339067 0.33528 0.32392 +0.314453 0.310667 0.316347 0.327707 0.354213 0.354213 0.34096 0.337173 +0.36368 0.407227 0.452667 0.4432 0.4148 0.384507 0.365573 0.356107 +0.359893 0.36368 0.376933 0.395867 0.43184 0.511368 0.609263 0.776632 +0.967368 1.07369 1.20151 1.04596 1.01167 1.02016 1.05314 1.23803 +1.32019 1.15282 1.03257 1.01429 1.01233 1.01461 1.01559 1.01363 +1.01396 1.01527 1.01527 1.01494 1.01429 1.01494 1.01494 1.01494 +1.01429 1.01592 1.01494 1.01429 1.01265 1.01037 1.00776 1.00547 +0.993388 0.975579 0.959158 0.956632 0.950316 0.942737 0.944632 0.962316 +0.986204 0.949053 0.758316 0.561895 0.450773 0.34664 0.223573 0.000846667 +0.00082 0.00076 0.000726667 0.000746667 0.000733333 0.000726667 0.000733333 0.00072 +0.000706667 0.000713333 0.000733333 0.000746667 0.000753333 0.000733333 0.0007 0.000686667 +0.000706667 0.000693333 0.000686667 0.000693333 0.000706667 0.000713333 0.000706667 0.000733333 +0.00074 0.00074 0.00074 0.000733333 0.000713333 0.000693333 0.000706667 0.0007 +0.0007 0.000733333 0.000733333 0.00072 0.00072 0.000726667 0.000733333 0.00074 +0.000726667 0.000726667 0.000713333 0.000713333 0.00074 0.000733333 0.000706667 0.000706667 +0.000726667 0.000753333 0.000733333 0.000733333 0.000733333 0.000706667 0.00072 0.00072 +0.00072 0.000733333 0.00074 0.000746667 0.00074 0.00076 0.000773333 0.00076 +0.00074 0.000733333 0.000773333 0.0008 0.0008 0.000786667 0.00078 0.000833333 +0.219787 0.304987 0.31824 0.223573 0.00088 0.246293 0.371253 0.577684 +0.814526 0.980327 0.982612 0.955368 0.942105 0.947789 0.956 0.950947 +0.956632 0.976211 0.990122 1.00547 1.01461 1.01788 1.01755 1.01755 +1.01853 1.0182 1.01722 1.01722 1.01722 1.0182 1.04792 1.29889 +1.42062 1.29128 1.07217 1.02833 1.02082 1.03322 1.05641 1.06761 +0.992408 0.770947 0.589684 0.513263 0.46592 0.424267 0.39208 0.36936 +0.365573 0.356107 0.35232 0.361787 0.382613 0.378827 0.359893 0.344747 +0.337173 0.3296 0.33528 0.342853 0.342853 0.337173 0.31256 0.28984 +0.293627 0.303093 0.33528 0.354213 0.316347 0.310667 0.3296 0.32392 +0.30688 0.31256 0.333387 0.378827 0.43184 0.405333 0.35232 0.337173 +0.33528 0.314453 0.29552 0.299307 0.31256 0.333387 0.350427 0.322027 +0.29552 0.316347 0.359893 0.39208 0.38072 0.339067 0.31256 0.314453 +0.308773 0.29552 0.28416 0.28984 0.303093 0.325813 0.339067 0.33528 +0.322027 0.316347 0.30688 0.3296 0.486747 0.536 0.507579 0.388293 +0.333387 0.339067 0.35232 0.342853 0.322027 0.31824 0.322027 0.320133 +0.356107 0.407227 0.388293 0.342853 0.34096 0.359893 0.344747 0.30688 +0.291733 0.28416 0.310667 0.36368 0.325813 0.269013 0.282267 0.293627 +0.270907 0.293627 0.331493 0.320133 0.30688 0.287947 0.303093 0.339067 +0.373147 0.412907 0.411013 0.36936 0.322027 0.308773 0.31256 0.310667 +0.359893 0.37504 0.331493 0.304987 0.320133 0.35232 0.356107 0.342853 +0.378827 0.512 0.529684 0.45456 0.405333 0.39776 0.36368 0.393973 +0.504421 0.616211 0.820211 0.964211 0.990449 1.00155 1.01559 1.02735 +1.03682 1.04302 1.04596 1.04661 1.04694 1.0489 1.0489 1.04629 +1.04563 1.04792 1.04857 1.04857 1.04694 1.04367 1.04563 1.04661 +1.04661 1.04465 1.04269 1.044 1.04727 1.04563 1.04139 1.04171 +1.04008 1.03943 1.04139 1.04139 1.03943 1.04106 1.03714 1.03518 +1.03812 1.03649 1.03682 1.0378 1.03878 1.03584 1.0329 1.03192 +1.03224 1.03486 1.03551 1.03355 1.03224 1.03061 1.03355 1.03257 +1.02898 1.02963 1.03616 1.03878 1.03453 1.03682 1.03682 1.03747 +1.04106 1.03322 1.03127 1.03584 1.03714 1.03649 1.0378 1.03845 +1.04139 1.0391 1.03878 1.04008 1.03976 1.04041 1.03812 1.03616 +1.04204 1.04204 1.0378 1.03845 1.03616 1.0391 1.03584 1.0342 +1.0329 1.03486 1.03355 1.03159 1.03061 1.03094 1.03257 1.03486 +1.03355 1.03486 1.03682 1.04008 1.04171 1.04171 1.04302 1.04335 +1.04302 1.04008 1.04041 1.04335 1.04694 1.04727 1.04824 1.05151 +1.04661 1.044 1.04694 1.04857 1.04824 1.04629 1.04335 1.04204 +1.04465 1.04563 1.04335 1.04335 1.04465 1.04498 1.04269 1.04008 +1.04237 1.04302 1.04139 1.03976 1.04008 1.03976 1.03682 1.03453 +1.03453 1.03518 1.03453 1.03094 1.01918 0.98849 0.887158 0.752 +0.639579 0.586526 0.571368 0.569474 0.559368 0.541053 0.516421 0.43184 +0.365573 0.358 0.348533 0.348533 0.378827 0.519579 0.611789 0.605474 +0.513263 0.37504 0.365573 0.39776 0.395867 0.359893 0.33528 0.316347 +0.322027 0.33528 0.376933 0.411013 0.399653 0.373147 0.342853 0.337173 +0.32392 0.304987 0.291733 0.28984 0.3012 0.28984 0.291733 0.308773 +0.322027 0.333387 0.337173 0.35232 0.3864 0.433733 0.456453 0.429947 +0.395867 0.40912 0.43184 0.429947 0.40344 0.378827 0.348533 0.327707 +0.31256 0.31256 0.320133 0.33528 0.359893 0.356107 0.333387 0.327707 +0.34096 0.356107 0.367467 0.378827 0.416693 0.428053 0.4148 0.399653 +0.395867 0.401547 0.393973 0.407227 0.441307 0.504421 0.581474 0.739368 +0.940842 1.05869 1.21825 1.05086 1.01135 1.01494 1.044 1.20151 +1.33085 1.20303 1.04106 1.01657 1.01298 1.01429 1.01396 1.01363 +1.01527 1.01592 1.01429 1.01461 1.01396 1.01396 1.01429 1.01331 +1.01298 1.01559 1.01494 1.01429 1.01167 1.00808 1.00743 1.00841 +0.998286 0.981959 0.962947 0.957895 0.952211 0.944 0.944 0.954737 +0.981959 0.977474 0.837895 0.620632 0.492427 0.37504 0.265227 0.000886667 +0.000813333 0.00078 0.000773333 0.00074 0.00072 0.00072 0.000726667 0.00076 +0.000753333 0.000753333 0.000746667 0.000753333 0.00074 0.000706667 0.00068 0.00068 +0.0007 0.000706667 0.000706667 0.000693333 0.0007 0.0007 0.000693333 0.000713333 +0.000733333 0.00074 0.000746667 0.00074 0.000733333 0.000733333 0.000713333 0.0007 +0.000706667 0.000713333 0.000713333 0.000706667 0.000693333 0.0007 0.000713333 0.000706667 +0.00072 0.00072 0.00072 0.000733333 0.00074 0.000713333 0.000693333 0.00068 +0.000706667 0.000733333 0.000746667 0.00074 0.000753333 0.00074 0.000713333 0.000706667 +0.000713333 0.000726667 0.00074 0.00076 0.000746667 0.00074 0.00076 0.00076 +0.000753333 0.000726667 0.00074 0.00076 0.000786667 0.0008 0.000813333 0.0009 +0.263333 0.322027 0.2728 0.000893333 0.000873333 0.263333 0.445093 0.651579 +0.891579 0.987184 0.971789 0.950947 0.945263 0.950947 0.954737 0.950316 +0.959158 0.978737 0.991755 1.00743 1.01527 1.01788 1.01722 1.01788 +1.01951 1.01853 1.01722 1.01624 1.01624 1.01788 1.04465 1.29737 +1.42062 1.23803 1.05412 1.02931 1.02604 1.0391 1.05478 1.04629 +0.959789 0.731158 0.563158 0.5 0.445093 0.411013 0.388293 0.382613 +0.384507 0.37504 0.36368 0.359893 0.37504 0.378827 0.37504 0.367467 +0.358 0.35232 0.365573 0.373147 0.367467 0.367467 0.354213 0.3296 +0.31824 0.32392 0.34664 0.358 0.327707 0.314453 0.331493 0.316347 +0.299307 0.310667 0.333387 0.371253 0.418587 0.411013 0.371253 0.33528 +0.327707 0.31256 0.28984 0.29552 0.322027 0.356107 0.361787 0.310667 +0.28416 0.310667 0.337173 0.356107 0.376933 0.358 0.31824 0.303093 +0.297413 0.28984 0.29552 0.299307 0.291733 0.287947 0.303093 0.325813 +0.342853 0.35232 0.359893 0.441307 0.534737 0.534737 0.4432 0.34096 +0.33528 0.354213 0.35232 0.337173 0.325813 0.31824 0.34096 0.36368 +0.376933 0.38072 0.361787 0.34096 0.339067 0.348533 0.34096 0.316347 +0.293627 0.27848 0.276587 0.304987 0.291733 0.26712 0.280373 0.28416 +0.265227 0.280373 0.325813 0.348533 0.3296 0.286053 0.28984 0.322027 +0.331493 0.33528 0.36368 0.39776 0.384507 0.367467 0.361787 0.367467 +0.446987 0.428053 0.327707 0.31256 0.331493 0.333387 0.333387 0.3296 +0.325813 0.401547 0.475387 0.439413 0.42048 0.405333 0.376933 0.395867 +0.450773 0.558737 0.752 0.936421 0.98751 0.994367 1.00547 1.01886 +1.03192 1.04139 1.04465 1.04563 1.04563 1.04727 1.0489 1.04629 +1.04433 1.04661 1.04824 1.04727 1.04465 1.04139 1.04335 1.04498 +1.04694 1.04792 1.04465 1.04596 1.04661 1.04465 1.04367 1.04204 +1.03976 1.03812 1.03943 1.04008 1.0378 1.03976 1.03845 1.03649 +1.04041 1.03845 1.0391 1.03747 1.03682 1.03682 1.03486 1.0329 +1.03127 1.03486 1.03518 1.03257 1.02931 1.02735 1.0342 1.03518 +1.02963 1.02865 1.0342 1.03845 1.03682 1.03747 1.03682 1.03649 +1.03943 1.03453 1.03486 1.03878 1.03812 1.03518 1.03714 1.03747 +1.03976 1.0391 1.04041 1.03812 1.03747 1.03878 1.03747 1.0391 +1.04237 1.03845 1.0378 1.03714 1.03845 1.04008 1.03616 1.03616 +1.03518 1.03453 1.03355 1.02996 1.03127 1.03518 1.03518 1.03682 +1.03812 1.03976 1.0378 1.03976 1.04367 1.04335 1.03943 1.03878 +1.04073 1.04171 1.04433 1.04596 1.04824 1.04824 1.04988 1.05086 +1.04694 1.044 1.04465 1.04498 1.04629 1.04563 1.04367 1.04465 +1.04563 1.04596 1.04204 1.04237 1.04498 1.04498 1.04204 1.03976 +1.04008 1.04041 1.04171 1.04106 1.03943 1.03976 1.03845 1.03584 +1.03551 1.03616 1.03584 1.028 1.00384 0.933263 0.805053 0.681895 +0.603579 0.574526 0.568842 0.565684 0.545474 0.518947 0.48296 0.411013 +0.3864 0.384507 0.371253 0.34664 0.428053 0.578316 0.659158 0.613053 +0.521474 0.433733 0.39776 0.367467 0.35232 0.356107 0.344747 0.314453 +0.308773 0.3296 0.38072 0.407227 0.390187 0.37504 0.359893 0.356107 +0.339067 0.314453 0.303093 0.29552 0.29552 0.28984 0.303093 0.310667 +0.316347 0.316347 0.310667 0.310667 0.322027 0.356107 0.401547 0.433733 +0.4432 0.486747 0.521474 0.537263 0.533474 0.508211 0.416693 0.348533 +0.320133 0.316347 0.316347 0.327707 0.34664 0.342853 0.322027 0.322027 +0.3296 0.325813 0.342853 0.382613 0.439413 0.445093 0.416693 0.4148 +0.433733 0.452667 0.43184 0.418587 0.429947 0.47728 0.554316 0.699579 +0.912421 1.0551 1.24868 1.05608 1.01004 1.00873 1.03584 1.17869 +1.34454 1.24411 1.04661 1.01722 1.01265 1.01527 1.01494 1.01494 +1.01559 1.01592 1.01559 1.01494 1.01461 1.01331 1.01265 1.012 +1.01102 1.01429 1.01559 1.01429 1.01233 1.00743 1.00678 1.00971 +1.00318 0.989796 0.971158 0.957263 0.951579 0.947158 0.945263 0.949684 +0.971158 0.984245 0.903579 0.692632 0.521474 0.399653 0.32392 0.217893 +0.000806667 0.000773333 0.000753333 0.0007 0.000693333 0.000726667 0.000753333 0.000766667 +0.000773333 0.000773333 0.000753333 0.000746667 0.000726667 0.000706667 0.000706667 0.000726667 +0.000733333 0.000713333 0.000686667 0.00066 0.000726667 0.000733333 0.00072 0.00072 +0.00072 0.000713333 0.000713333 0.000706667 0.000713333 0.000726667 0.000726667 0.00072 +0.000726667 0.00072 0.000713333 0.00072 0.00072 0.000733333 0.000733333 0.000713333 +0.000706667 0.000686667 0.0007 0.00072 0.000733333 0.000746667 0.00072 0.0007 +0.000693333 0.000713333 0.000726667 0.000713333 0.000726667 0.00074 0.000733333 0.000733333 +0.000726667 0.000713333 0.000713333 0.000726667 0.000726667 0.000706667 0.00072 0.000753333 +0.000773333 0.000766667 0.000746667 0.000766667 0.000786667 0.000806667 0.000833333 0.000993333 +0.299307 0.303093 0.219787 0.000846667 0.000973333 0.310667 0.522737 0.736842 +0.948421 0.985224 0.956632 0.944632 0.947158 0.954737 0.956 0.955368 +0.965474 0.978105 0.992408 1.00873 1.01559 1.01722 1.01755 1.01984 +1.02049 1.01918 1.01722 1.01527 1.01331 1.01429 1.03714 1.28215 +1.43888 1.2076 1.04661 1.02865 1.03192 1.04694 1.0502 1.01886 +0.895368 0.686316 0.538526 0.456453 0.405333 0.376933 0.36936 0.378827 +0.390187 0.388293 0.37504 0.36936 0.376933 0.373147 0.382613 0.382613 +0.371253 0.365573 0.384507 0.399653 0.405333 0.4148 0.422373 0.411013 +0.405333 0.412907 0.412907 0.39776 0.359893 0.337173 0.34096 0.314453 +0.28416 0.310667 0.342853 0.359893 0.38072 0.382613 0.36368 0.325813 +0.314453 0.308773 0.3012 0.304987 0.33528 0.373147 0.371253 0.314453 +0.287947 0.310667 0.333387 0.344747 0.37504 0.376933 0.327707 0.303093 +0.314453 0.314453 0.303093 0.291733 0.29552 0.30688 0.33528 0.333387 +0.331493 0.36368 0.446987 0.529684 0.551789 0.501895 0.344747 0.314453 +0.34096 0.36368 0.354213 0.331493 0.331493 0.34096 0.388293 0.40912 +0.367467 0.333387 0.316347 0.308773 0.31256 0.30688 0.299307 0.299307 +0.297413 0.29552 0.280373 0.282267 0.282267 0.270907 0.26144 0.25576 +0.25576 0.28984 0.3864 0.446987 0.382613 0.303093 0.293627 0.308773 +0.297413 0.280373 0.308773 0.365573 0.3864 0.40912 0.428053 0.45456 +0.516421 0.496213 0.359893 0.327707 0.337173 0.320133 0.325813 0.34096 +0.314453 0.339067 0.395867 0.399653 0.395867 0.393973 0.390187 0.393973 +0.4148 0.518316 0.68 0.892211 0.982939 0.989796 0.997633 1.01167 +1.02506 1.03518 1.04302 1.04531 1.04596 1.04727 1.04759 1.04629 +1.04563 1.04563 1.04824 1.04824 1.04596 1.04269 1.04465 1.04596 +1.04661 1.04824 1.044 1.04531 1.04792 1.04498 1.04433 1.04139 +1.04008 1.04335 1.04171 1.04106 1.03682 1.03714 1.03682 1.03453 +1.03878 1.03812 1.03845 1.03812 1.03812 1.03878 1.03518 1.03224 +1.02996 1.03453 1.03322 1.0342 1.02996 1.02441 1.03518 1.03714 +1.03159 1.03029 1.03322 1.03682 1.03943 1.04041 1.03878 1.03714 +1.03878 1.03584 1.03747 1.04106 1.04008 1.03616 1.03682 1.0378 +1.03943 1.03747 1.04171 1.04008 1.03812 1.03845 1.03943 1.04139 +1.04139 1.03878 1.03714 1.03551 1.03845 1.04008 1.03714 1.03682 +1.03518 1.0342 1.03355 1.03094 1.03224 1.03714 1.0378 1.0378 +1.04041 1.04041 1.03682 1.03649 1.03976 1.04106 1.03812 1.03649 +1.0391 1.04302 1.04792 1.04792 1.04824 1.0502 1.0489 1.04694 +1.04596 1.04629 1.04596 1.04269 1.04269 1.04661 1.04759 1.04824 +1.04661 1.04433 1.04335 1.044 1.04269 1.04367 1.04302 1.03943 +1.03943 1.03747 1.03714 1.03943 1.03943 1.04041 1.03845 1.03551 +1.03616 1.03486 1.02996 1.01396 0.973684 0.851158 0.718526 0.628211 +0.589684 0.576421 0.567579 0.550526 0.524 0.500632 0.43184 0.411013 +0.433733 0.441307 0.450773 0.492427 0.550526 0.640211 0.658526 0.589053 +0.523368 0.462133 0.3864 0.32392 0.297413 0.320133 0.331493 0.3296 +0.316347 0.325813 0.350427 0.359893 0.354213 0.359893 0.361787 0.342853 +0.327707 0.32392 0.31824 0.3012 0.28984 0.282267 0.28984 0.3012 +0.310667 0.304987 0.297413 0.28984 0.287947 0.29552 0.331493 0.365573 +0.38072 0.458347 0.535368 0.590947 0.625053 0.608 0.549895 0.481067 +0.371253 0.32392 0.303093 0.304987 0.322027 0.32392 0.31256 0.314453 +0.322027 0.3296 0.348533 0.373147 0.401547 0.39208 0.373147 0.390187 +0.42616 0.458347 0.441307 0.4148 0.40344 0.4432 0.537895 0.666105 +0.877684 1.04988 1.26998 1.05771 1.00939 1.00384 1.02637 1.13608 +1.33998 1.27455 1.05216 1.01951 1.01298 1.01527 1.01527 1.01429 +1.01527 1.01657 1.0169 1.01494 1.01429 1.01069 1.01102 1.01102 +1.00939 1.01167 1.01461 1.01396 1.01298 1.00743 1.00547 1.00841 +1.00416 0.994694 0.980653 0.963579 0.955368 0.949053 0.942105 0.940842 +0.957263 0.981959 0.952842 0.777895 0.568211 0.435627 0.367467 0.251973 +0.000833333 0.000786667 0.000773333 0.00074 0.00074 0.000746667 0.00074 0.00072 +0.000726667 0.000753333 0.000773333 0.000773333 0.000753333 0.000726667 0.000713333 0.00072 +0.0007 0.000686667 0.000666667 0.000686667 0.0007 0.000726667 0.000733333 0.000733333 +0.000726667 0.00072 0.00074 0.000733333 0.000713333 0.0007 0.0007 0.0007 +0.0007 0.000706667 0.000726667 0.000726667 0.000726667 0.000726667 0.00072 0.000706667 +0.000706667 0.0007 0.000706667 0.000706667 0.000726667 0.000746667 0.000726667 0.0007 +0.000706667 0.0007 0.000713333 0.000713333 0.000706667 0.000713333 0.000726667 0.000726667 +0.000726667 0.00072 0.000726667 0.000746667 0.000753333 0.000726667 0.000733333 0.00076 +0.000753333 0.000753333 0.000773333 0.00078 0.000806667 0.00082 0.00086 0.246293 +0.31256 0.26144 0.000886667 0.000866667 0.242507 0.390187 0.592211 0.827789 +0.981306 0.979368 0.945895 0.944 0.949684 0.950316 0.952211 0.957263 +0.967368 0.976842 0.992082 1.00776 1.01461 1.01494 1.01527 1.0169 +1.01788 1.0182 1.0169 1.01461 1.012 1.01102 1.02702 1.23042 +1.44345 1.21977 1.04596 1.02963 1.03453 1.0502 1.04139 0.986857 +0.822105 0.638947 0.517053 0.42616 0.376933 0.354213 0.358 0.350427 +0.348533 0.350427 0.350427 0.36936 0.390187 0.371253 0.358 0.34664 +0.3296 0.3296 0.34664 0.36368 0.365573 0.382613 0.412907 0.441307 +0.475387 0.5 0.498107 0.473493 0.4432 0.429947 0.4148 0.37504 +0.33528 0.36368 0.395867 0.371253 0.371253 0.373147 0.35232 0.333387 +0.316347 0.310667 0.310667 0.320133 0.350427 0.3864 0.361787 0.31256 +0.3012 0.31256 0.3296 0.331493 0.354213 0.38072 0.350427 0.325813 +0.33528 0.32392 0.29552 0.287947 0.303093 0.361787 0.39776 0.354213 +0.314453 0.350427 0.5 0.561263 0.546737 0.42616 0.31256 0.3012 +0.3296 0.354213 0.365573 0.36368 0.359893 0.37504 0.43184 0.433733 +0.348533 0.30688 0.314453 0.316347 0.308773 0.297413 0.28984 0.293627 +0.310667 0.314453 0.291733 0.270907 0.280373 0.27848 0.265227 0.25576 +0.259547 0.322027 0.46024 0.507579 0.418587 0.31824 0.28984 0.28984 +0.286053 0.282267 0.29552 0.316347 0.331493 0.361787 0.418587 0.507579 +0.551158 0.521474 0.384507 0.3296 0.32392 0.325813 0.34096 0.356107 +0.32392 0.327707 0.361787 0.367467 0.378827 0.393973 0.411013 0.42048 +0.42616 0.481067 0.606105 0.825895 0.965474 0.984898 0.989143 1.00253 +1.01624 1.02702 1.03714 1.04171 1.044 1.04596 1.04661 1.04759 +1.04694 1.04498 1.04694 1.04824 1.04792 1.04629 1.04727 1.04824 +1.04531 1.04629 1.04596 1.04629 1.04759 1.04694 1.04661 1.04139 +1.03812 1.04433 1.04171 1.04073 1.03682 1.03747 1.03747 1.03486 +1.03714 1.03747 1.03714 1.03845 1.03943 1.04041 1.03584 1.03127 +1.02963 1.0329 1.03224 1.0342 1.03094 1.02539 1.03486 1.03616 +1.03322 1.03388 1.03616 1.03812 1.04106 1.03976 1.03845 1.03616 +1.0378 1.03649 1.03714 1.03878 1.03714 1.03551 1.03649 1.03845 +1.04008 1.03845 1.04008 1.03943 1.03682 1.03682 1.04008 1.04171 +1.04073 1.04041 1.03812 1.03551 1.03878 1.04008 1.03747 1.03649 +1.03616 1.03388 1.03355 1.03224 1.03388 1.03616 1.0378 1.0391 +1.04106 1.03878 1.03649 1.03812 1.0378 1.03812 1.04008 1.04106 +1.04335 1.04433 1.04759 1.04824 1.04922 1.04988 1.04955 1.04759 +1.04531 1.04498 1.04531 1.04465 1.04367 1.04694 1.04661 1.04531 +1.04367 1.04367 1.04596 1.04596 1.04106 1.04269 1.04269 1.03943 +1.04139 1.04008 1.03747 1.03649 1.03551 1.03584 1.03551 1.03486 +1.03584 1.0329 1.02147 0.990449 0.886526 0.748211 0.643368 0.597895 +0.585263 0.577053 0.561895 0.534105 0.505053 0.439413 0.388293 0.429947 +0.5 0.511368 0.530947 0.561263 0.599158 0.632 0.612421 0.567579 +0.536632 0.486747 0.358 0.293627 0.274693 0.303093 0.322027 0.3296 +0.327707 0.348533 0.356107 0.34096 0.339067 0.350427 0.356107 0.333387 +0.320133 0.314453 0.30688 0.30688 0.308773 0.303093 0.29552 0.304987 +0.31824 0.31824 0.310667 0.3012 0.303093 0.31256 0.320133 0.320133 +0.31824 0.38072 0.49432 0.560632 0.633263 0.666105 0.630105 0.558737 +0.492427 0.3864 0.33528 0.310667 0.310667 0.31256 0.320133 0.331493 +0.3296 0.320133 0.32392 0.337173 0.367467 0.367467 0.358 0.36936 +0.384507 0.4148 0.42616 0.422373 0.411013 0.433733 0.521474 0.630737 +0.837263 1.04367 1.29889 1.07674 1.01037 1.0009 1.01592 1.06761 +1.30954 1.30041 1.05869 1.02114 1.01233 1.01396 1.01461 1.01331 +1.01429 1.01592 1.01657 1.01461 1.01363 1.00939 1.00971 1.01069 +1.01004 1.01265 1.01527 1.01461 1.012 1.00645 1.00253 1.00612 +1.00612 1.00024 0.986531 0.969263 0.956632 0.948421 0.938947 0.937684 +0.951579 0.978105 0.981306 0.854947 0.629474 0.486747 0.388293 0.297413 +0.00094 0.000826667 0.000786667 0.000766667 0.00076 0.000726667 0.0007 0.000726667 +0.000746667 0.000766667 0.000753333 0.000726667 0.000726667 0.000726667 0.00072 0.00072 +0.000726667 0.000693333 0.00066 0.000693333 0.000726667 0.000713333 0.000733333 0.000726667 +0.000706667 0.000713333 0.00074 0.000733333 0.00074 0.000733333 0.00072 0.0007 +0.000693333 0.00068 0.0007 0.000706667 0.000706667 0.000706667 0.000713333 0.000706667 +0.000713333 0.000713333 0.0007 0.000713333 0.000726667 0.00074 0.000726667 0.00072 +0.000713333 0.000706667 0.000726667 0.00074 0.000726667 0.00074 0.00074 0.000706667 +0.000706667 0.000706667 0.000726667 0.000746667 0.00076 0.000766667 0.000766667 0.000773333 +0.00076 0.000746667 0.000753333 0.000753333 0.000773333 0.00082 0.000966667 0.293627 +0.314453 0.225467 0.000833333 0.000913333 0.28416 0.49432 0.676842 0.902947 +0.985551 0.967368 0.946526 0.949684 0.951579 0.946526 0.949053 0.958526 +0.964842 0.974316 0.991755 1.00612 1.01265 1.01429 1.01592 1.01722 +1.01592 1.01624 1.01527 1.012 1.01102 1.01037 1.01984 1.15434 +1.40541 1.24411 1.05216 1.03747 1.03976 1.04988 1.02865 0.934526 +0.753263 0.594105 0.500632 0.40344 0.36368 0.348533 0.34664 0.320133 +0.314453 0.327707 0.331493 0.354213 0.367467 0.34096 0.320133 0.310667 +0.297413 0.303093 0.320133 0.308773 0.3012 0.31824 0.34096 0.378827 +0.43752 0.48296 0.49432 0.475387 0.47728 0.498107 0.49432 0.475387 +0.458347 0.48864 0.473493 0.3864 0.382613 0.39208 0.378827 0.359893 +0.333387 0.31824 0.310667 0.316347 0.35232 0.38072 0.350427 0.30688 +0.308773 0.31824 0.31256 0.314453 0.35232 0.399653 0.412907 0.38072 +0.34664 0.320133 0.30688 0.308773 0.310667 0.361787 0.388293 0.342853 +0.314453 0.344747 0.496213 0.562526 0.537895 0.416693 0.331493 0.308773 +0.30688 0.310667 0.34096 0.393973 0.439413 0.479173 0.504421 0.467813 +0.361787 0.327707 0.333387 0.320133 0.304987 0.310667 0.333387 0.333387 +0.316347 0.31824 0.29552 0.265227 0.270907 0.270907 0.270907 0.2728 +0.293627 0.337173 0.405333 0.456453 0.42048 0.358 0.314453 0.303093 +0.303093 0.293627 0.287947 0.299307 0.30688 0.30688 0.35232 0.508842 +0.577053 0.541053 0.388293 0.31256 0.320133 0.33528 0.337173 0.35232 +0.34664 0.34096 0.339067 0.339067 0.358 0.384507 0.407227 0.418587 +0.405333 0.424267 0.537895 0.736842 0.924421 0.973053 0.973684 0.989143 +1.0058 1.01984 1.03094 1.03682 1.04073 1.04335 1.04759 1.04824 +1.04367 1.04335 1.04498 1.04857 1.04922 1.04661 1.04694 1.0489 +1.04694 1.04661 1.04857 1.04629 1.04498 1.04563 1.04498 1.04073 +1.03682 1.04302 1.04139 1.03878 1.03682 1.03878 1.03976 1.03943 +1.0391 1.0378 1.03845 1.0391 1.04171 1.04367 1.03943 1.03616 +1.03159 1.03127 1.03355 1.03486 1.03159 1.02963 1.03616 1.03649 +1.03453 1.03453 1.03584 1.0378 1.04008 1.03812 1.03878 1.03682 +1.03616 1.03747 1.03747 1.03649 1.03584 1.03649 1.03616 1.03812 +1.04073 1.03878 1.03616 1.0378 1.03584 1.03584 1.03976 1.04139 +1.04204 1.04106 1.03845 1.03747 1.04041 1.04269 1.0378 1.03486 +1.03551 1.03584 1.03322 1.03224 1.0342 1.03518 1.03714 1.03878 +1.0391 1.03649 1.03878 1.04204 1.04008 1.03943 1.04204 1.04073 +1.04237 1.04563 1.04727 1.04792 1.04955 1.0489 1.04759 1.04661 +1.04433 1.044 1.044 1.04629 1.04694 1.04563 1.04237 1.04204 +1.04269 1.04596 1.04824 1.04727 1.04269 1.04302 1.04433 1.04171 +1.04171 1.04008 1.03976 1.03682 1.03192 1.03159 1.03355 1.03486 +1.03388 1.02702 1.00449 0.927579 0.779789 0.658526 0.601053 0.585895 +0.580842 0.568842 0.549263 0.522737 0.490533 0.422373 0.401547 0.475387 +0.524 0.534737 0.539158 0.550526 0.562526 0.570105 0.568842 0.566947 +0.548 0.5 0.354213 0.28984 0.28984 0.3296 0.339067 0.322027 +0.333387 0.367467 0.365573 0.339067 0.342853 0.358 0.348533 0.327707 +0.314453 0.303093 0.299307 0.314453 0.32392 0.31256 0.297413 0.310667 +0.333387 0.339067 0.34096 0.3296 0.333387 0.333387 0.314453 0.297413 +0.3012 0.339067 0.365573 0.446987 0.540421 0.597895 0.606105 0.566947 +0.518947 0.456453 0.39208 0.350427 0.333387 0.3296 0.333387 0.3296 +0.31824 0.314453 0.31824 0.325813 0.35232 0.350427 0.344747 0.356107 +0.36368 0.390187 0.4148 0.422373 0.422373 0.428053 0.509474 0.605474 +0.805053 1.03551 1.3065 1.09804 1.01298 1.0009 1.01037 1.0502 +1.27911 1.32628 1.09348 1.02441 1.01298 1.01461 1.01461 1.01298 +1.01298 1.01363 1.01527 1.01494 1.01396 1.00939 1.00939 1.00971 +1.00906 1.01396 1.01624 1.01527 1.01233 1.00547 1.00318 1.0058 +1.00743 1.00253 0.98849 0.969263 0.958526 0.952211 0.943368 0.942737 +0.949684 0.968632 0.987184 0.918737 0.707158 0.532842 0.42616 0.342853 +0.229253 0.000826667 0.000773333 0.00076 0.000746667 0.000733333 0.000733333 0.000766667 +0.000766667 0.000753333 0.00072 0.000713333 0.000746667 0.000746667 0.000713333 0.0007 +0.00072 0.000686667 0.000666667 0.0007 0.000746667 0.000733333 0.000726667 0.00074 +0.000726667 0.000713333 0.0007 0.000706667 0.000706667 0.00072 0.00072 0.0007 +0.00072 0.000713333 0.0007 0.000693333 0.00068 0.000693333 0.000706667 0.000713333 +0.000713333 0.000726667 0.000733333 0.000726667 0.000726667 0.00072 0.00072 0.00072 +0.00072 0.000713333 0.000713333 0.000726667 0.000706667 0.000693333 0.000713333 0.000706667 +0.000726667 0.000726667 0.000713333 0.000713333 0.00072 0.000746667 0.00074 0.00074 +0.00078 0.0008 0.00078 0.000773333 0.00078 0.00086 0.246293 0.320133 +0.28984 0.000946667 0.000826667 0.00098 0.333387 0.546737 0.765895 0.954105 +0.98098 0.954105 0.944 0.949684 0.950947 0.949053 0.956632 0.964842 +0.964211 0.971789 0.990449 1.00482 1.012 1.01527 1.01624 1.0169 +1.01527 1.01624 1.01461 1.01037 1.00906 1.00678 1.01265 1.06609 +1.35063 1.27303 1.06456 1.04563 1.04367 1.04531 1.00971 0.872632 +0.692 0.56 0.479173 0.407227 0.367467 0.344747 0.333387 0.314453 +0.310667 0.314453 0.314453 0.327707 0.3296 0.316347 0.308773 0.303093 +0.286053 0.29552 0.310667 0.293627 0.287947 0.303093 0.30688 0.333387 +0.38072 0.412907 0.441307 0.429947 0.4148 0.428053 0.445093 0.47728 +0.506947 0.523368 0.516421 0.464027 0.452667 0.464027 0.445093 0.399653 +0.350427 0.3296 0.320133 0.327707 0.356107 0.378827 0.356107 0.320133 +0.304987 0.322027 0.333387 0.34096 0.36368 0.401547 0.441307 0.39776 +0.34096 0.32392 0.333387 0.322027 0.310667 0.327707 0.348533 0.325813 +0.310667 0.339067 0.486747 0.546737 0.519579 0.4148 0.365573 0.34664 +0.316347 0.28984 0.303093 0.376933 0.503789 0.551789 0.549895 0.500632 +0.371253 0.325813 0.314453 0.3012 0.28984 0.299307 0.337173 0.34096 +0.29552 0.291733 0.28984 0.269013 0.259547 0.253867 0.257653 0.280373 +0.314453 0.327707 0.3296 0.348533 0.371253 0.371253 0.34664 0.337173 +0.337173 0.32392 0.299307 0.297413 0.293627 0.286053 0.316347 0.498107 +0.582105 0.546737 0.3864 0.304987 0.320133 0.331493 0.32392 0.333387 +0.35232 0.344747 0.331493 0.325813 0.348533 0.371253 0.388293 0.399653 +0.384507 0.395867 0.479173 0.629474 0.820842 0.918737 0.944 0.971158 +0.993714 1.00939 1.02049 1.02735 1.03518 1.0391 1.04531 1.04759 +1.044 1.04531 1.04531 1.04759 1.04727 1.044 1.04563 1.04792 +1.04759 1.04661 1.04727 1.04563 1.04367 1.044 1.04237 1.04139 +1.03812 1.04106 1.03943 1.03714 1.03682 1.03845 1.03976 1.04041 +1.03943 1.03812 1.04008 1.04073 1.04171 1.04465 1.04041 1.03845 +1.03257 1.02898 1.03127 1.0342 1.03094 1.03061 1.03486 1.03584 +1.0342 1.03584 1.03584 1.0378 1.03943 1.03845 1.04073 1.03878 +1.0378 1.04008 1.03845 1.03714 1.03812 1.04008 1.03812 1.03812 +1.04106 1.04041 1.03747 1.03976 1.03812 1.03878 1.03976 1.04073 +1.04204 1.0391 1.03551 1.03649 1.04073 1.04041 1.03682 1.03486 +1.03616 1.03845 1.03453 1.03224 1.03518 1.03551 1.03682 1.03812 +1.03551 1.03486 1.04335 1.04465 1.04237 1.044 1.04498 1.04269 +1.04237 1.04596 1.04694 1.04629 1.04857 1.04759 1.04531 1.04204 +1.04041 1.04433 1.04727 1.04694 1.04694 1.04563 1.04204 1.04204 +1.04335 1.04661 1.04596 1.04465 1.04237 1.04237 1.04433 1.04367 +1.04106 1.0391 1.04106 1.03943 1.03224 1.03159 1.0329 1.03322 +1.02996 1.01494 0.967368 0.830947 0.689474 0.608632 0.584 0.584632 +0.578316 0.553684 0.524632 0.49432 0.446987 0.429947 0.473493 0.525895 +0.545474 0.524 0.48296 0.486747 0.512632 0.528421 0.546737 0.561895 +0.543579 0.481067 0.354213 0.30688 0.314453 0.350427 0.356107 0.32392 +0.327707 0.358 0.36368 0.358 0.365573 0.36368 0.350427 0.33528 +0.31256 0.30688 0.31256 0.325813 0.342853 0.331493 0.31256 0.333387 +0.371253 0.365573 0.34096 0.339067 0.339067 0.327707 0.299307 0.287947 +0.303093 0.327707 0.314453 0.32392 0.40344 0.503158 0.517684 0.504421 +0.46024 0.433733 0.416693 0.384507 0.361787 0.34664 0.34096 0.339067 +0.333387 0.337173 0.342853 0.34096 0.342853 0.344747 0.34096 0.350427 +0.348533 0.361787 0.382613 0.399653 0.418587 0.428053 0.504421 0.588421 +0.777263 1.02376 1.28824 1.1163 1.01722 1.00253 1.00678 1.04041 +1.2502 1.34302 1.12847 1.02963 1.01624 1.01592 1.01559 1.01461 +1.01461 1.01396 1.01624 1.01624 1.01331 1.01102 1.01037 1.01102 +1.01069 1.01363 1.01527 1.01624 1.01592 1.00971 1.00514 1.00547 +1.00645 1.00318 0.991755 0.973684 0.962316 0.954737 0.944632 0.943368 +0.946526 0.959158 0.985224 0.962947 0.786737 0.578316 0.452667 0.37504 +0.265227 0.000873333 0.000786667 0.000773333 0.000773333 0.000753333 0.000706667 0.000706667 +0.00072 0.000733333 0.00074 0.00074 0.000786667 0.000753333 0.000686667 0.00068 +0.000686667 0.000686667 0.000706667 0.000746667 0.000733333 0.00072 0.0007 0.000713333 +0.000726667 0.00072 0.000706667 0.000706667 0.000706667 0.000706667 0.000706667 0.0007 +0.000713333 0.00072 0.000706667 0.000713333 0.00072 0.000713333 0.000713333 0.00072 +0.000713333 0.000706667 0.00072 0.000706667 0.00072 0.000726667 0.000726667 0.00074 +0.00074 0.000726667 0.000693333 0.00072 0.00072 0.0007 0.000726667 0.00072 +0.000733333 0.000733333 0.000726667 0.000713333 0.000733333 0.000753333 0.000753333 0.00074 +0.000773333 0.000806667 0.000793333 0.000793333 0.00082 0.000933333 0.28416 0.322027 +0.25008 0.000873333 0.000846667 0.242507 0.407227 0.616842 0.853684 0.981959 +0.973053 0.949684 0.945895 0.947789 0.944632 0.945895 0.959789 0.968 +0.965474 0.971158 0.98849 1.00155 1.00841 1.012 1.01233 1.01331 +1.01396 1.01559 1.01461 1.01069 1.00776 1.00416 1.00547 1.04171 +1.25324 1.25781 1.08739 1.0502 1.044 1.03486 0.985224 0.810737 +0.635789 0.529053 0.44888 0.39776 0.36368 0.33528 0.322027 0.310667 +0.30688 0.30688 0.30688 0.3012 0.299307 0.3012 0.304987 0.30688 +0.299307 0.304987 0.31824 0.310667 0.3012 0.304987 0.30688 0.348533 +0.367467 0.361787 0.384507 0.37504 0.342853 0.337173 0.359893 0.399653 +0.43752 0.475387 0.503789 0.503789 0.512632 0.528421 0.524632 0.479173 +0.367467 0.322027 0.320133 0.33528 0.359893 0.382613 0.365573 0.337173 +0.322027 0.339067 0.373147 0.37504 0.36368 0.401547 0.452667 0.40912 +0.33528 0.314453 0.320133 0.314453 0.31256 0.316347 0.331493 0.320133 +0.297413 0.3296 0.479173 0.524 0.4716 0.3864 0.40344 0.4148 +0.382613 0.331493 0.310667 0.34664 0.484853 0.577684 0.587158 0.508211 +0.348533 0.304987 0.297413 0.291733 0.280373 0.28416 0.303093 0.297413 +0.274693 0.265227 0.27848 0.26712 0.26144 0.253867 0.25008 0.26712 +0.304987 0.308773 0.293627 0.297413 0.314453 0.34664 0.348533 0.331493 +0.322027 0.32392 0.303093 0.287947 0.282267 0.297413 0.33528 0.496213 +0.579579 0.547368 0.39776 0.320133 0.32392 0.33528 0.33528 0.348533 +0.358 0.359893 0.354213 0.33528 0.337173 0.356107 0.367467 0.393973 +0.40344 0.405333 0.422373 0.528421 0.651579 0.780421 0.866947 0.927579 +0.973684 0.994694 1.00776 1.01755 1.02702 1.0329 1.04139 1.04629 +1.04531 1.04629 1.04661 1.04694 1.04759 1.04531 1.04531 1.04563 +1.04727 1.04596 1.04694 1.04727 1.04498 1.04367 1.04073 1.04041 +1.03976 1.04041 1.0378 1.03845 1.03812 1.03812 1.03812 1.04008 +1.04041 1.03845 1.04073 1.04302 1.04171 1.04269 1.0378 1.03616 +1.03355 1.03061 1.03029 1.0342 1.0329 1.03159 1.03453 1.03649 +1.03747 1.03812 1.03682 1.03812 1.0391 1.03878 1.0391 1.03551 +1.03812 1.04302 1.03943 1.03747 1.03878 1.04008 1.03878 1.03845 +1.03976 1.03976 1.03845 1.04008 1.03812 1.04008 1.03943 1.04139 +1.04139 1.03747 1.03518 1.03878 1.04269 1.0391 1.03584 1.03616 +1.03518 1.03714 1.03388 1.03388 1.0342 1.03388 1.03551 1.03812 +1.03616 1.03682 1.04465 1.04433 1.04237 1.04433 1.04563 1.04433 +1.04237 1.04433 1.04596 1.04629 1.04661 1.04498 1.04237 1.03747 +1.03747 1.04433 1.04922 1.04792 1.04531 1.044 1.04498 1.04367 +1.04367 1.04629 1.044 1.04171 1.04041 1.04237 1.04269 1.04269 +1.04171 1.03976 1.04139 1.04041 1.03551 1.03355 1.03159 1.02702 +1.01951 0.989796 0.875789 0.730526 0.630737 0.592211 0.587158 0.588421 +0.575789 0.542316 0.504421 0.439413 0.412907 0.46024 0.533474 0.572 +0.553053 0.496213 0.412907 0.429947 0.464027 0.505053 0.539789 0.563158 +0.540421 0.46592 0.358 0.327707 0.31824 0.33528 0.344747 0.32392 +0.333387 0.354213 0.38072 0.393973 0.382613 0.361787 0.348533 0.34664 +0.322027 0.303093 0.30688 0.320133 0.342853 0.358 0.361787 0.37504 +0.382613 0.344747 0.308773 0.322027 0.331493 0.316347 0.28984 0.291733 +0.31256 0.33528 0.322027 0.316347 0.342853 0.39208 0.40912 0.37504 +0.354213 0.35232 0.365573 0.373147 0.365573 0.358 0.365573 0.367467 +0.36368 0.365573 0.358 0.34664 0.344747 0.34096 0.34096 0.34096 +0.333387 0.350427 0.378827 0.388293 0.411013 0.42616 0.484853 0.570105 +0.752632 1.01004 1.24564 1.12239 1.02114 1.0009 1.00188 1.03257 +1.22129 1.35215 1.1589 1.03322 1.0169 1.0169 1.01722 1.01722 +1.01722 1.01657 1.0169 1.01657 1.01429 1.012 1.01135 1.01298 +1.01363 1.01527 1.01429 1.01527 1.01624 1.01004 1.00482 1.00547 +1.00808 1.00678 0.996653 0.978105 0.962947 0.954737 0.948421 0.947158 +0.947789 0.954105 0.977474 0.980653 0.856842 0.635158 0.49432 0.399653 +0.31256 0.00098 0.000806667 0.00078 0.000766667 0.00074 0.000706667 0.000726667 +0.000753333 0.00074 0.00072 0.0007 0.000726667 0.000706667 0.000693333 0.000706667 +0.000713333 0.000706667 0.000713333 0.00072 0.00072 0.00072 0.000706667 0.000693333 +0.000686667 0.000706667 0.000726667 0.00072 0.000713333 0.00072 0.00074 0.000733333 +0.00074 0.00072 0.0007 0.000706667 0.00072 0.00072 0.000706667 0.000726667 +0.00074 0.000726667 0.000726667 0.000713333 0.000706667 0.000686667 0.000706667 0.000733333 +0.00074 0.000746667 0.00074 0.000733333 0.00072 0.00072 0.00074 0.000733333 +0.000726667 0.000733333 0.00076 0.000753333 0.000713333 0.00072 0.000766667 0.00078 +0.000766667 0.00078 0.000786667 0.000786667 0.000806667 0.000986667 0.304987 0.310667 +0.229253 0.00088 0.00094 0.297413 0.512 0.702737 0.92379 0.985224 +0.961053 0.947789 0.950316 0.949053 0.942737 0.946526 0.961053 0.966105 +0.964211 0.969263 0.985551 0.998612 1.00547 1.00939 1.01069 1.01037 +1.01265 1.01331 1.01135 1.00939 1.00612 1.00122 0.998939 1.02376 +1.14673 1.23194 1.11934 1.0538 1.04106 1.01984 0.936421 0.752 +0.592842 0.506947 0.407227 0.359893 0.337173 0.3296 0.320133 0.303093 +0.299307 0.304987 0.3012 0.286053 0.280373 0.293627 0.299307 0.30688 +0.31824 0.3296 0.342853 0.33528 0.316347 0.308773 0.314453 0.34664 +0.34096 0.32392 0.339067 0.3296 0.303093 0.310667 0.333387 0.348533 +0.34664 0.354213 0.388293 0.428053 0.49432 0.533474 0.548632 0.519579 +0.42048 0.34096 0.3296 0.342853 0.36936 0.395867 0.37504 0.337173 +0.331493 0.36368 0.401547 0.388293 0.367467 0.405333 0.464027 0.450773 +0.365573 0.333387 0.310667 0.310667 0.30688 0.304987 0.308773 0.304987 +0.30688 0.35232 0.47728 0.505053 0.40344 0.354213 0.39776 0.441307 +0.441307 0.424267 0.411013 0.412907 0.469707 0.562526 0.593474 0.516421 +0.342853 0.293627 0.287947 0.286053 0.287947 0.29552 0.303093 0.28416 +0.26712 0.26712 0.27848 0.269013 0.270907 0.269013 0.257653 0.269013 +0.30688 0.297413 0.287947 0.303093 0.31256 0.320133 0.333387 0.3296 +0.31256 0.30688 0.3012 0.287947 0.291733 0.308773 0.333387 0.484853 +0.572 0.541684 0.416693 0.34664 0.34096 0.350427 0.34096 0.34096 +0.342853 0.356107 0.373147 0.35232 0.339067 0.342853 0.354213 0.378827 +0.412907 0.40344 0.405333 0.407227 0.508211 0.59979 0.717263 0.834737 +0.920632 0.978737 0.99698 1.0058 1.01494 1.02343 1.03584 1.044 +1.04433 1.04629 1.04824 1.04727 1.04857 1.04727 1.04563 1.04531 +1.04792 1.04727 1.04661 1.04727 1.04433 1.04335 1.04041 1.04073 +1.04204 1.04237 1.03943 1.03943 1.0391 1.04008 1.0378 1.04008 +1.04269 1.03976 1.04139 1.04335 1.04171 1.04073 1.03682 1.03486 +1.03355 1.03322 1.03257 1.03486 1.03453 1.03355 1.03649 1.0378 +1.03812 1.03976 1.03812 1.0378 1.03812 1.03943 1.03845 1.03453 +1.0378 1.04335 1.03812 1.03551 1.03878 1.03943 1.03812 1.03682 +1.03812 1.03878 1.03845 1.04008 1.03845 1.03976 1.04041 1.04106 +1.04041 1.03682 1.03486 1.04008 1.044 1.0378 1.03486 1.03649 +1.0329 1.03453 1.03486 1.03616 1.03388 1.03224 1.03518 1.03747 +1.03714 1.0391 1.04269 1.04367 1.04433 1.04563 1.04498 1.04433 +1.04433 1.04367 1.04498 1.04433 1.04465 1.044 1.04171 1.03682 +1.0391 1.04465 1.04988 1.04824 1.04367 1.04237 1.04465 1.04531 +1.04433 1.044 1.04302 1.04302 1.04106 1.04171 1.04106 1.03976 +1.04073 1.04073 1.03976 1.03845 1.0342 1.02963 1.02473 1.01624 +0.998286 0.918105 0.769684 0.653474 0.601684 0.588421 0.587789 0.585263 +0.567579 0.536 0.515158 0.513263 0.527158 0.563789 0.607368 0.609263 +0.549895 0.458347 0.382613 0.382613 0.439413 0.522737 0.577684 0.586526 +0.540421 0.462133 0.384507 0.358 0.327707 0.33528 0.339067 0.325813 +0.356107 0.384507 0.411013 0.39208 0.359893 0.337173 0.32392 0.3296 +0.325813 0.304987 0.29552 0.303093 0.331493 0.393973 0.428053 0.390187 +0.348533 0.316347 0.304987 0.314453 0.31256 0.3012 0.28416 0.304987 +0.3296 0.327707 0.31256 0.31824 0.34664 0.395867 0.407227 0.350427 +0.320133 0.30688 0.331493 0.35232 0.354213 0.354213 0.373147 0.376933 +0.37504 0.376933 0.367467 0.350427 0.3296 0.3296 0.337173 0.339067 +0.33528 0.354213 0.37504 0.378827 0.39776 0.433733 0.486747 0.556211 +0.722316 0.988816 1.16956 1.11021 1.02539 1.00155 0.998286 1.02571 +1.18477 1.34758 1.17869 1.03616 1.01722 1.01624 1.01624 1.01592 +1.01722 1.01722 1.01429 1.01396 1.01559 1.01363 1.01265 1.01396 +1.01363 1.01461 1.01363 1.01429 1.01592 1.012 1.00449 1.00318 +1.00612 1.00678 1.00057 0.985224 0.969895 0.959158 0.954737 0.950316 +0.946526 0.947789 0.964211 0.982939 0.918737 0.715368 0.533474 0.42048 +0.35232 0.236827 0.000826667 0.0008 0.000813333 0.000793333 0.000753333 0.000746667 +0.000746667 0.00072 0.00068 0.00068 0.0007 0.000713333 0.00074 0.000746667 +0.000713333 0.0007 0.0007 0.000693333 0.000733333 0.00074 0.000733333 0.000713333 +0.0007 0.000706667 0.00072 0.000706667 0.0007 0.000726667 0.00074 0.00074 +0.00074 0.00072 0.000713333 0.00072 0.00072 0.0007 0.00068 0.000686667 +0.000713333 0.000726667 0.00072 0.000726667 0.00072 0.000706667 0.000713333 0.00072 +0.00072 0.000733333 0.00074 0.00072 0.000713333 0.000733333 0.000746667 0.000733333 +0.0007 0.000713333 0.000753333 0.000753333 0.00072 0.000726667 0.000773333 0.000786667 +0.00078 0.00078 0.000786667 0.000806667 0.000873333 0.2444 0.31824 0.28416 +0.000946667 0.000866667 0.22168 0.354213 0.571368 0.796211 0.969895 0.981633 +0.950316 0.943368 0.949053 0.946526 0.942737 0.954737 0.968632 0.972421 +0.970526 0.969263 0.983592 0.996 1.00155 1.00645 1.00906 1.00873 +1.01135 1.01167 1.00906 1.00678 1.00416 0.998612 0.992735 1.00939 +1.05673 1.18934 1.13456 1.05412 1.03224 0.994367 0.860632 0.686947 +0.562526 0.484853 0.390187 0.35232 0.339067 0.327707 0.304987 0.29552 +0.303093 0.308773 0.314453 0.293627 0.280373 0.28984 0.29552 0.297413 +0.3012 0.31824 0.354213 0.34096 0.308773 0.310667 0.310667 0.316347 +0.303093 0.3012 0.308773 0.30688 0.29552 0.304987 0.31256 0.31824 +0.31256 0.310667 0.322027 0.344747 0.390187 0.481067 0.524 0.532842 +0.512 0.433733 0.367467 0.365573 0.388293 0.42616 0.401547 0.337173 +0.333387 0.373147 0.395867 0.378827 0.371253 0.390187 0.435627 0.4716 +0.43184 0.382613 0.348533 0.32392 0.303093 0.29552 0.293627 0.29552 +0.32392 0.390187 0.479173 0.473493 0.378827 0.344747 0.373147 0.411013 +0.429947 0.452667 0.496213 0.512 0.520842 0.564421 0.596 0.537263 +0.384507 0.29552 0.287947 0.287947 0.297413 0.29552 0.28984 0.282267 +0.26144 0.274693 0.282267 0.28416 0.27848 0.26712 0.265227 0.29552 +0.32392 0.3012 0.297413 0.314453 0.320133 0.310667 0.322027 0.333387 +0.316347 0.3012 0.303093 0.303093 0.3012 0.3012 0.320133 0.473493 +0.559368 0.539789 0.458347 0.36936 0.342853 0.35232 0.33528 0.331493 +0.32392 0.34664 0.38072 0.359893 0.339067 0.350427 0.34664 0.356107 +0.37504 0.371253 0.365573 0.367467 0.36936 0.462133 0.56 0.685053 +0.821474 0.926316 0.982939 0.994694 1.0022 1.01363 1.02931 1.0391 +1.04302 1.04792 1.04955 1.04596 1.04433 1.044 1.04759 1.04824 +1.04727 1.04596 1.04563 1.04629 1.04465 1.04367 1.04204 1.04139 +1.04073 1.04073 1.0378 1.03845 1.0391 1.04041 1.03812 1.04041 +1.04367 1.04041 1.04106 1.04204 1.03845 1.03584 1.03518 1.0342 +1.03322 1.03453 1.0342 1.0329 1.0342 1.03682 1.03747 1.03584 +1.03616 1.03714 1.03714 1.03845 1.03878 1.04073 1.03976 1.03616 +1.03682 1.04139 1.03616 1.03518 1.04073 1.04008 1.04008 1.0378 +1.03976 1.03976 1.03943 1.03976 1.03682 1.03649 1.04139 1.04237 +1.04106 1.03845 1.03616 1.04008 1.04367 1.0378 1.03453 1.03747 +1.03616 1.03616 1.03551 1.03486 1.0342 1.03322 1.03616 1.03616 +1.03714 1.03943 1.04073 1.04367 1.04759 1.04922 1.04498 1.04465 +1.04792 1.04531 1.04531 1.044 1.04465 1.04433 1.04008 1.0391 +1.04302 1.04727 1.04857 1.04335 1.04269 1.04433 1.04367 1.04661 +1.04596 1.04302 1.04269 1.04498 1.04335 1.04073 1.03878 1.03747 +1.03812 1.0391 1.03584 1.03322 1.028 1.02473 1.02147 1.00351 +0.943368 0.805684 0.676211 0.606737 0.586526 0.582105 0.581474 0.578947 +0.56 0.543579 0.548632 0.563789 0.582737 0.611789 0.624421 0.596 +0.531579 0.43184 0.367467 0.401547 0.512632 0.562526 0.592211 0.572632 +0.524632 0.475387 0.4148 0.378827 0.348533 0.348533 0.348533 0.344747 +0.361787 0.39208 0.405333 0.36936 0.333387 0.322027 0.31824 0.322027 +0.31824 0.297413 0.286053 0.28984 0.322027 0.411013 0.435627 0.361787 +0.32392 0.325813 0.32392 0.314453 0.30688 0.297413 0.297413 0.31824 +0.331493 0.322027 0.3012 0.31256 0.356107 0.407227 0.405333 0.344747 +0.314453 0.304987 0.32392 0.342853 0.35232 0.367467 0.382613 0.365573 +0.356107 0.365573 0.36936 0.358 0.339067 0.359893 0.371253 0.35232 +0.344747 0.35232 0.365573 0.388293 0.412907 0.439413 0.481067 0.541684 +0.690737 0.950947 1.07065 1.08587 1.03127 1.00612 0.998612 1.02147 +1.14673 1.33693 1.20912 1.04008 1.01722 1.01527 1.01429 1.01429 +1.01592 1.0169 1.01298 1.01396 1.01657 1.01461 1.01298 1.01331 +1.012 1.01331 1.01298 1.01559 1.01755 1.01363 1.00482 1.00057 +1.00547 1.00808 1.00416 0.992408 0.975579 0.964211 0.959789 0.950316 +0.944 0.944632 0.955368 0.981633 0.963579 0.796211 0.578947 0.435627 +0.37504 0.27848 0.000926667 0.000833333 0.000813333 0.000786667 0.00076 0.000726667 +0.000733333 0.000733333 0.000733333 0.00074 0.00072 0.000726667 0.00074 0.000733333 +0.0007 0.000706667 0.000713333 0.000706667 0.00072 0.000733333 0.00074 0.000733333 +0.00072 0.0007 0.000713333 0.000726667 0.000706667 0.000713333 0.000726667 0.000733333 +0.000726667 0.000706667 0.000706667 0.000706667 0.000713333 0.00072 0.00072 0.0007 +0.0007 0.00072 0.000706667 0.0007 0.00072 0.00072 0.00072 0.000726667 +0.000733333 0.000733333 0.00072 0.0007 0.000706667 0.00072 0.00072 0.000726667 +0.00072 0.000706667 0.00072 0.000733333 0.000753333 0.00076 0.000773333 0.000786667 +0.00078 0.00078 0.0008 0.00082 0.000913333 0.265227 0.31824 0.263333 +0.000926667 0.000886667 0.23872 0.424267 0.640211 0.877053 0.985224 0.973053 +0.949053 0.947789 0.951579 0.947158 0.947789 0.962947 0.981306 0.988163 +0.987184 0.98 0.983918 0.992735 0.99698 1.00188 1.00514 1.0071 +1.01069 1.01037 1.00841 1.00612 1.00318 0.996653 0.990122 0.999265 +1.03388 1.08282 1.07217 1.04204 1.01135 0.937053 0.781053 0.635158 +0.541053 0.475387 0.39776 0.361787 0.350427 0.325813 0.297413 0.297413 +0.30688 0.310667 0.316347 0.303093 0.29552 0.291733 0.287947 0.286053 +0.286053 0.308773 0.371253 0.354213 0.304987 0.293627 0.28416 0.291733 +0.297413 0.29552 0.287947 0.291733 0.280373 0.286053 0.293627 0.308773 +0.314453 0.30688 0.310667 0.320133 0.337173 0.373147 0.441307 0.512632 +0.532211 0.520211 0.481067 0.429947 0.433733 0.467813 0.416693 0.342853 +0.34096 0.382613 0.393973 0.3864 0.393973 0.390187 0.399653 0.450773 +0.48296 0.46592 0.4148 0.35232 0.303093 0.293627 0.293627 0.297413 +0.331493 0.401547 0.479173 0.462133 0.39776 0.36936 0.367467 0.373147 +0.37504 0.384507 0.439413 0.510105 0.529053 0.565684 0.606737 0.577053 +0.500632 0.344747 0.297413 0.287947 0.287947 0.270907 0.265227 0.274693 +0.2728 0.287947 0.29552 0.299307 0.28984 0.26712 0.26712 0.308773 +0.33528 0.316347 0.304987 0.297413 0.308773 0.320133 0.314453 0.322027 +0.314453 0.29552 0.29552 0.3012 0.297413 0.28984 0.31824 0.45456 +0.551158 0.561895 0.514526 0.390187 0.342853 0.342853 0.325813 0.31824 +0.316347 0.339067 0.36936 0.34664 0.333387 0.3296 0.333387 0.331493 +0.344747 0.354213 0.34664 0.359893 0.36368 0.371253 0.433733 0.548 +0.677474 0.822737 0.930105 0.981959 0.993388 1.00318 1.01657 1.028 +1.03714 1.04367 1.04498 1.04367 1.044 1.04302 1.04661 1.0489 +1.04531 1.04433 1.04367 1.04465 1.04465 1.04433 1.04269 1.04139 +1.03943 1.04008 1.03878 1.04041 1.0391 1.03943 1.04008 1.04008 +1.04204 1.04269 1.04171 1.04237 1.0391 1.03486 1.03518 1.03551 +1.03388 1.0342 1.03486 1.03257 1.03388 1.03682 1.03649 1.03747 +1.03845 1.03584 1.03714 1.04041 1.03976 1.04073 1.04008 1.03714 +1.03551 1.03747 1.03453 1.03747 1.04139 1.03943 1.04008 1.0391 +1.04139 1.03878 1.03682 1.03943 1.03812 1.03878 1.044 1.04367 +1.04041 1.03812 1.03845 1.04008 1.04171 1.0391 1.03682 1.03551 +1.03584 1.03845 1.03616 1.03388 1.03486 1.03322 1.03453 1.03453 +1.03518 1.03845 1.04106 1.04335 1.04563 1.04661 1.04204 1.04465 +1.04824 1.04531 1.04629 1.04498 1.04531 1.04433 1.04139 1.04302 +1.04792 1.05053 1.04498 1.04041 1.04302 1.04531 1.04498 1.04694 +1.04531 1.04139 1.04269 1.04563 1.044 1.03943 1.03714 1.0378 +1.03747 1.03388 1.02963 1.02604 1.02343 1.02376 1.01657 0.979368 +0.844211 0.698947 0.613053 0.585895 0.581474 0.585263 0.588421 0.586526 +0.570105 0.551158 0.539158 0.528421 0.522737 0.531579 0.548 0.553053 +0.529684 0.501895 0.48296 0.503789 0.519579 0.524 0.522105 0.514526 +0.506316 0.503789 0.45456 0.390187 0.350427 0.34096 0.337173 0.339067 +0.344747 0.36368 0.38072 0.359893 0.322027 0.31256 0.322027 0.34664 +0.337173 0.28984 0.27848 0.28416 0.325813 0.412907 0.416693 0.337173 +0.314453 0.325813 0.325813 0.31824 0.31256 0.303093 0.303093 0.3296 +0.339067 0.32392 0.30688 0.31256 0.356107 0.40344 0.390187 0.350427 +0.325813 0.308773 0.314453 0.331493 0.354213 0.40344 0.407227 0.348533 +0.322027 0.3296 0.34664 0.36936 0.39208 0.405333 0.393973 0.36368 +0.356107 0.36936 0.382613 0.407227 0.412907 0.418587 0.45456 0.527789 +0.661684 0.904842 1.04106 1.07065 1.03976 1.01396 1.00286 1.02016 +1.12086 1.33541 1.24564 1.04498 1.0182 1.01527 1.01331 1.01298 +1.01559 1.01559 1.01429 1.01527 1.01527 1.01265 1.01233 1.01265 +1.01363 1.01429 1.01429 1.01494 1.01461 1.01167 1.00645 1.00155 +1.00645 1.01004 1.00612 0.995673 0.975579 0.962947 0.964211 0.952842 +0.944 0.943368 0.946526 0.969895 0.981959 0.868842 0.640842 0.48296 +0.3864 0.320133 0.223573 0.00084 0.000793333 0.00078 0.000766667 0.000746667 +0.000733333 0.000746667 0.000753333 0.000746667 0.000733333 0.00074 0.000726667 0.00072 +0.000706667 0.00072 0.00074 0.000713333 0.000693333 0.0007 0.000713333 0.000726667 +0.000733333 0.00072 0.000726667 0.000753333 0.000746667 0.000726667 0.00072 0.000713333 +0.00072 0.000713333 0.000713333 0.0007 0.000693333 0.000713333 0.000726667 0.000733333 +0.000713333 0.00072 0.000733333 0.000726667 0.00072 0.000706667 0.000693333 0.000693333 +0.000706667 0.000706667 0.000733333 0.000746667 0.000726667 0.000726667 0.0007 0.000686667 +0.000713333 0.00072 0.000713333 0.00074 0.000766667 0.00078 0.00078 0.000806667 +0.0008 0.000793333 0.000806667 0.00084 0.000966667 0.280373 0.3012 0.236827 +0.000933333 0.00098 0.287947 0.515158 0.720421 0.935789 0.985551 0.959789 +0.945895 0.950316 0.952842 0.950316 0.955368 0.972421 0.990776 1.00286 +0.99698 0.984245 0.983592 0.987837 0.992082 0.997306 1.00155 1.00612 +1.00939 1.00808 1.0058 1.00351 1.0022 0.996327 0.989469 0.992735 +1.01494 1.03943 1.03976 1.02245 0.985551 0.864421 0.714737 0.596 +0.520842 0.473493 0.433733 0.38072 0.344747 0.31824 0.29552 0.297413 +0.30688 0.316347 0.316347 0.314453 0.31824 0.304987 0.28984 0.27848 +0.280373 0.3296 0.40912 0.373147 0.3012 0.280373 0.282267 0.293627 +0.3012 0.291733 0.291733 0.287947 0.291733 0.293627 0.293627 0.31256 +0.314453 0.314453 0.320133 0.322027 0.327707 0.333387 0.367467 0.464027 +0.525263 0.543579 0.542316 0.526526 0.517053 0.515158 0.445093 0.36368 +0.367467 0.412907 0.42616 0.429947 0.429947 0.401547 0.388293 0.4148 +0.47728 0.506947 0.479173 0.378827 0.314453 0.297413 0.29552 0.30688 +0.337173 0.411013 0.490533 0.469707 0.40344 0.367467 0.342853 0.34096 +0.337173 0.331493 0.358 0.42048 0.458347 0.520842 0.582737 0.606105 +0.557474 0.458347 0.34096 0.29552 0.2728 0.26144 0.26712 0.269013 +0.282267 0.29552 0.3012 0.293627 0.276587 0.26712 0.257653 0.280373 +0.322027 0.31824 0.29552 0.282267 0.299307 0.31256 0.303093 0.31256 +0.310667 0.287947 0.286053 0.299307 0.304987 0.303093 0.325813 0.424267 +0.538526 0.582737 0.542947 0.411013 0.344747 0.331493 0.31256 0.322027 +0.322027 0.325813 0.34096 0.34096 0.322027 0.322027 0.339067 0.34664 +0.367467 0.373147 0.371253 0.378827 0.384507 0.373147 0.388293 0.43752 +0.543579 0.671158 0.813895 0.918105 0.976842 0.992408 0.999918 1.01363 +1.02669 1.03486 1.03878 1.04204 1.04531 1.04433 1.04531 1.04857 +1.04531 1.04465 1.04531 1.04531 1.04661 1.04498 1.04139 1.04204 +1.04073 1.0391 1.03976 1.04041 1.03878 1.03812 1.04204 1.03943 +1.03976 1.04563 1.04237 1.03845 1.03812 1.03584 1.03551 1.03518 +1.03322 1.03192 1.03518 1.03584 1.03486 1.03616 1.03616 1.0378 +1.03878 1.03584 1.03812 1.04041 1.0391 1.0391 1.0378 1.03812 +1.03616 1.03976 1.03714 1.03878 1.04237 1.03845 1.03812 1.03878 +1.04106 1.0378 1.03616 1.03845 1.03976 1.04237 1.04563 1.04237 +1.03943 1.03878 1.04106 1.04237 1.04041 1.03845 1.0378 1.03584 +1.03551 1.0378 1.03714 1.03388 1.03453 1.03355 1.03322 1.03257 +1.03322 1.03682 1.04106 1.04433 1.044 1.04367 1.04302 1.04531 +1.04727 1.04629 1.04727 1.04694 1.04531 1.04465 1.044 1.04694 +1.04922 1.04759 1.04106 1.04106 1.04465 1.04498 1.04596 1.04563 +1.04335 1.04139 1.04237 1.044 1.04269 1.04041 1.0391 1.0391 +1.03812 1.03257 1.02865 1.02767 1.02702 1.0231 0.993388 0.882105 +0.733053 0.633895 0.598526 0.590947 0.592842 0.606105 0.611158 0.591579 +0.555579 0.517684 0.4716 0.40344 0.359893 0.373147 0.46024 0.522105 +0.537895 0.537263 0.534105 0.517684 0.456453 0.395867 0.401547 0.43752 +0.467813 0.47728 0.441307 0.390187 0.344747 0.32392 0.327707 0.339067 +0.34664 0.36936 0.384507 0.356107 0.316347 0.308773 0.333387 0.371253 +0.348533 0.291733 0.28984 0.3012 0.34664 0.4148 0.39776 0.33528 +0.31256 0.320133 0.316347 0.304987 0.3012 0.304987 0.320133 0.34096 +0.3296 0.30688 0.3012 0.31256 0.36368 0.405333 0.373147 0.333387 +0.32392 0.327707 0.325813 0.34096 0.36368 0.416693 0.42048 0.350427 +0.314453 0.31256 0.327707 0.36368 0.407227 0.418587 0.395867 0.365573 +0.35232 0.359893 0.36936 0.382613 0.384507 0.395867 0.428053 0.513263 +0.633895 0.86 1.02278 1.05935 1.04629 1.02114 1.00776 1.01918 +1.08587 1.31563 1.26085 1.04759 1.01918 1.01624 1.01396 1.01233 +1.01461 1.01363 1.01396 1.0169 1.01494 1.01461 1.01429 1.01331 +1.01331 1.01363 1.01461 1.01494 1.01494 1.01331 1.00906 1.00286 +1.00416 1.00808 1.00645 1.00024 0.982612 0.963579 0.963579 0.956 +0.945263 0.942737 0.942105 0.957263 0.983592 0.928842 0.719789 0.524632 +0.384507 0.348533 0.259547 0.000893333 0.000813333 0.0008 0.000786667 0.000753333 +0.000733333 0.000753333 0.00074 0.000726667 0.00072 0.00072 0.000733333 0.00074 +0.00072 0.000726667 0.00074 0.000713333 0.000726667 0.00072 0.000713333 0.000726667 +0.000733333 0.00072 0.000706667 0.0007 0.000706667 0.000713333 0.000713333 0.00072 +0.000733333 0.000733333 0.000733333 0.00072 0.000706667 0.0007 0.000706667 0.00072 +0.000693333 0.000706667 0.000733333 0.000746667 0.000726667 0.0007 0.000706667 0.000706667 +0.000706667 0.0007 0.000706667 0.00072 0.000713333 0.000733333 0.00074 0.000726667 +0.00074 0.000746667 0.00074 0.00074 0.00074 0.000753333 0.000766667 0.000806667 +0.000846667 0.000833333 0.000826667 0.00086 0.223573 0.297413 0.293627 0.22168 +0.00092 0.229253 0.350427 0.571368 0.803158 0.973053 0.981633 0.950947 +0.944632 0.948421 0.946526 0.947158 0.960421 0.974316 0.992735 1.00416 +0.996653 0.984245 0.981633 0.983592 0.987837 0.993714 0.999265 1.00482 +1.00678 1.0058 1.00416 1.00057 0.998612 0.994041 0.98751 0.987184 +1.0022 1.01951 1.01853 1.00057 0.940842 0.808211 0.666105 0.556842 +0.475387 0.43752 0.43752 0.390187 0.34096 0.32392 0.31256 0.31824 +0.31824 0.3296 0.3296 0.337173 0.354213 0.34096 0.31824 0.29552 +0.299307 0.358 0.43184 0.37504 0.303093 0.29552 0.320133 0.325813 +0.308773 0.297413 0.3012 0.304987 0.308773 0.304987 0.30688 0.316347 +0.327707 0.35232 0.358 0.356107 0.365573 0.37504 0.433733 0.508842 +0.522105 0.527789 0.545474 0.558737 0.563158 0.552421 0.507579 0.411013 +0.412907 0.462133 0.44888 0.435627 0.441307 0.407227 0.373147 0.38072 +0.43752 0.506316 0.510105 0.43752 0.350427 0.314453 0.304987 0.30688 +0.34664 0.439413 0.5 0.464027 0.40912 0.365573 0.325813 0.310667 +0.314453 0.316347 0.32392 0.348533 0.356107 0.40344 0.525895 0.587789 +0.598526 0.548 0.439413 0.31256 0.270907 0.276587 0.274693 0.265227 +0.274693 0.303093 0.308773 0.286053 0.265227 0.25576 0.253867 0.269013 +0.31256 0.304987 0.282267 0.27848 0.280373 0.287947 0.297413 0.303093 +0.299307 0.291733 0.293627 0.30688 0.31824 0.322027 0.34096 0.399653 +0.518316 0.586526 0.561263 0.428053 0.325813 0.308773 0.3012 0.31824 +0.320133 0.322027 0.344747 0.333387 0.327707 0.331493 0.339067 0.378827 +0.424267 0.43184 0.416693 0.40912 0.39776 0.382613 0.376933 0.38072 +0.428053 0.536632 0.651579 0.791789 0.908 0.970526 0.98751 1.0022 +1.01624 1.02637 1.03224 1.03747 1.044 1.04629 1.04596 1.0502 +1.04694 1.04563 1.04727 1.04727 1.04694 1.04629 1.04302 1.04367 +1.04269 1.03714 1.03812 1.03878 1.03747 1.03714 1.04106 1.04008 +1.03943 1.04596 1.04106 1.03355 1.03518 1.03453 1.03355 1.03453 +1.03388 1.0329 1.03616 1.03747 1.03682 1.03845 1.03649 1.03584 +1.0378 1.03616 1.03812 1.04041 1.04041 1.03943 1.03878 1.0391 +1.03714 1.04008 1.0378 1.03714 1.03976 1.03845 1.03747 1.03812 +1.03943 1.0391 1.0378 1.03845 1.03714 1.04106 1.04367 1.03943 +1.03845 1.04008 1.04171 1.04106 1.03878 1.0378 1.03747 1.03682 +1.03682 1.03616 1.03453 1.03192 1.03224 1.03714 1.03551 1.03127 +1.03029 1.03388 1.03943 1.04367 1.04367 1.04302 1.04498 1.04531 +1.04792 1.04727 1.04759 1.04824 1.04727 1.04531 1.04465 1.04694 +1.04727 1.04237 1.04073 1.04465 1.04531 1.04465 1.04531 1.044 +1.04335 1.04465 1.04367 1.04008 1.03845 1.03747 1.03812 1.03714 +1.03551 1.03192 1.03192 1.03127 1.02702 1.00318 0.904842 0.755158 +0.643368 0.602316 0.601684 0.608632 0.613684 0.616842 0.598526 0.556842 +0.512 0.43184 0.39208 0.365573 0.348533 0.371253 0.424267 0.492427 +0.512 0.515789 0.507579 0.446987 0.36368 0.34664 0.373147 0.39776 +0.429947 0.433733 0.416693 0.39208 0.344747 0.331493 0.358 0.393973 +0.407227 0.42048 0.42048 0.378827 0.34096 0.339067 0.359893 0.39776 +0.36936 0.308773 0.297413 0.316347 0.36936 0.418587 0.40344 0.354213 +0.314453 0.299307 0.303093 0.308773 0.303093 0.304987 0.32392 0.339067 +0.316347 0.293627 0.297413 0.308773 0.35232 0.39208 0.356107 0.31256 +0.308773 0.327707 0.333387 0.339067 0.358 0.4148 0.42048 0.354213 +0.31256 0.325813 0.359893 0.405333 0.469707 0.484853 0.43184 0.36368 +0.339067 0.344747 0.361787 0.367467 0.376933 0.395867 0.4148 0.498107 +0.602947 0.813263 1.00482 1.0551 1.04792 1.02082 1.00547 1.01494 +1.05771 1.28824 1.26085 1.04988 1.01984 1.01559 1.01396 1.01167 +1.01331 1.01265 1.01396 1.0169 1.01559 1.01559 1.01396 1.01396 +1.01429 1.01429 1.01559 1.01657 1.0169 1.01527 1.01037 1.00449 +1.00351 1.00678 1.00776 1.00416 0.98849 0.966737 0.960421 0.957895 +0.948421 0.942737 0.944 0.953474 0.980653 0.964842 0.800632 0.576421 +0.401547 0.365573 0.320133 0.231147 0.00086 0.000806667 0.00078 0.000746667 +0.000733333 0.00074 0.00072 0.000706667 0.000713333 0.00072 0.000733333 0.00072 +0.000706667 0.000726667 0.00074 0.000726667 0.00074 0.00074 0.000733333 0.00074 +0.000733333 0.00072 0.000706667 0.000693333 0.000693333 0.000713333 0.00072 0.000713333 +0.000713333 0.00072 0.00074 0.000733333 0.000726667 0.00072 0.00072 0.000726667 +0.000706667 0.000693333 0.000693333 0.000706667 0.000713333 0.000693333 0.0007 0.000713333 +0.000733333 0.000753333 0.000746667 0.000746667 0.000733333 0.000713333 0.00074 0.000746667 +0.000733333 0.00076 0.000793333 0.00078 0.000773333 0.00078 0.000753333 0.00076 +0.000793333 0.000806667 0.000813333 0.000866667 0.234933 0.314453 0.291733 0.000993333 +0.000906667 0.2444 0.429947 0.647158 0.882105 0.984898 0.970526 0.945263 +0.945263 0.949684 0.945263 0.949053 0.961053 0.966737 0.981633 0.988163 +0.983592 0.978737 0.979368 0.981306 0.984898 0.989143 0.996653 0.999918 +1.00122 1.00318 1.00253 0.997959 0.99502 0.989469 0.983592 0.982286 +0.993388 1.00547 0.999918 0.980327 0.908632 0.790526 0.662316 0.548 +0.439413 0.399653 0.418587 0.388293 0.342853 0.333387 0.337173 0.342853 +0.348533 0.348533 0.337173 0.342853 0.356107 0.36368 0.376933 0.38072 +0.38072 0.433733 0.473493 0.418587 0.344747 0.331493 0.342853 0.331493 +0.308773 0.303093 0.30688 0.30688 0.314453 0.31256 0.31824 0.331493 +0.36368 0.405333 0.40912 0.416693 0.416693 0.42616 0.49432 0.513263 +0.484853 0.435627 0.490533 0.532211 0.565053 0.575158 0.547368 0.511368 +0.496213 0.481067 0.422373 0.395867 0.39776 0.3864 0.373147 0.3864 +0.418587 0.486747 0.517684 0.502526 0.39776 0.339067 0.320133 0.31824 +0.367467 0.462133 0.475387 0.439413 0.43752 0.40912 0.344747 0.310667 +0.308773 0.308773 0.31256 0.327707 0.331493 0.344747 0.435627 0.536632 +0.595368 0.597263 0.527789 0.36368 0.282267 0.28416 0.287947 0.27848 +0.29552 0.325813 0.31824 0.28416 0.26144 0.246293 0.248187 0.270907 +0.308773 0.3012 0.297413 0.29552 0.28416 0.280373 0.29552 0.293627 +0.293627 0.314453 0.34664 0.378827 0.39208 0.393973 0.4148 0.43752 +0.517684 0.593474 0.576421 0.4432 0.303093 0.291733 0.303093 0.30688 +0.31256 0.322027 0.327707 0.32392 0.32392 0.325813 0.339067 0.399653 +0.498107 0.48864 0.445093 0.43184 0.412907 0.393973 0.371253 0.37504 +0.3864 0.422373 0.526526 0.644 0.787368 0.897263 0.956 0.986204 +1.0009 1.01331 1.0218 1.03094 1.03878 1.04237 1.04465 1.04922 +1.04694 1.04596 1.04694 1.04694 1.04433 1.04465 1.04433 1.04302 +1.04269 1.0378 1.03747 1.03878 1.03747 1.0378 1.04139 1.04237 +1.04073 1.04367 1.04041 1.03518 1.03551 1.0329 1.03257 1.03616 +1.03486 1.03355 1.03551 1.0378 1.0391 1.03878 1.03649 1.03682 +1.03976 1.03845 1.03943 1.04139 1.04008 1.03976 1.03878 1.0378 +1.0378 1.0391 1.03682 1.03747 1.03845 1.03976 1.03878 1.03812 +1.03845 1.03714 1.0378 1.03812 1.0378 1.04171 1.04302 1.03812 +1.03845 1.04073 1.04237 1.04041 1.0391 1.0391 1.03714 1.03714 +1.04008 1.03714 1.03224 1.02996 1.03322 1.03584 1.03388 1.02996 +1.02898 1.03192 1.03714 1.03976 1.04041 1.04302 1.044 1.04335 +1.04727 1.04531 1.04596 1.04759 1.04727 1.04433 1.04335 1.04465 +1.04465 1.04367 1.04661 1.04792 1.04335 1.04041 1.04139 1.04204 +1.044 1.04661 1.04237 1.03486 1.03029 1.02767 1.02865 1.02996 +1.03061 1.03061 1.03127 1.02604 1.0058 0.928842 0.775368 0.657263 +0.602947 0.594105 0.602947 0.614316 0.612421 0.592842 0.555579 0.513895 +0.445093 0.390187 0.36936 0.37504 0.399653 0.439413 0.452667 0.4432 +0.429947 0.424267 0.395867 0.365573 0.34096 0.339067 0.359893 0.359893 +0.382613 0.3864 0.378827 0.37504 0.376933 0.407227 0.475387 0.514526 +0.508211 0.501263 0.490533 0.43184 0.384507 0.373147 0.378827 0.395867 +0.382613 0.337173 0.327707 0.373147 0.435627 0.469707 0.456453 0.42048 +0.36368 0.325813 0.320133 0.322027 0.314453 0.314453 0.325813 0.3296 +0.314453 0.299307 0.291733 0.310667 0.359893 0.39208 0.359893 0.310667 +0.299307 0.316347 0.320133 0.3296 0.34664 0.412907 0.435627 0.38072 +0.376933 0.458347 0.518947 0.542316 0.558105 0.549263 0.508842 0.401547 +0.356107 0.35232 0.376933 0.390187 0.395867 0.411013 0.416693 0.475387 +0.576421 0.765895 0.981959 1.04465 1.04694 1.02114 1.00416 1.01102 +1.05249 1.27607 1.26694 1.05216 1.02016 1.01429 1.01298 1.01331 +1.01363 1.01167 1.01396 1.01494 1.01233 1.01233 1.01331 1.01559 +1.01592 1.01624 1.01592 1.01559 1.01592 1.01592 1.01265 1.00841 +1.00678 1.00873 1.00873 1.0058 0.991429 0.972421 0.962316 0.961684 +0.952842 0.942105 0.941474 0.948421 0.971158 0.982612 0.876421 0.649053 +0.462133 0.35232 0.348533 0.287947 0.000986667 0.000846667 0.00076 0.000733333 +0.00072 0.000726667 0.000713333 0.000686667 0.00068 0.000706667 0.000706667 0.000706667 +0.000726667 0.000733333 0.000733333 0.00072 0.000713333 0.000733333 0.000733333 0.000733333 +0.000733333 0.000733333 0.000726667 0.000706667 0.0007 0.000713333 0.000706667 0.0007 +0.00068 0.000686667 0.000706667 0.000726667 0.000726667 0.00072 0.00072 0.000713333 +0.000726667 0.000733333 0.000713333 0.000706667 0.000726667 0.000713333 0.00072 0.00072 +0.000713333 0.000746667 0.000766667 0.000766667 0.00076 0.00074 0.000746667 0.00074 +0.000733333 0.000753333 0.000773333 0.000773333 0.000786667 0.0008 0.000786667 0.000746667 +0.000753333 0.00076 0.000766667 0.000833333 0.23304 0.314453 0.286053 0.00096 +0.00094 0.282267 0.520211 0.731158 0.944 0.98751 0.964211 0.945895 +0.948421 0.950947 0.947158 0.952842 0.961684 0.960421 0.961684 0.964842 +0.963579 0.966105 0.969895 0.972421 0.98098 0.986531 0.993061 0.995673 +0.996653 0.998612 0.997633 0.994041 0.989469 0.984898 0.98098 0.98 +0.98849 0.996 0.986857 0.952211 0.890947 0.801895 0.688842 0.564421 +0.467813 0.416693 0.428053 0.412907 0.36936 0.339067 0.331493 0.327707 +0.3296 0.333387 0.32392 0.320133 0.320133 0.354213 0.412907 0.42616 +0.424267 0.45456 0.5 0.505053 0.450773 0.376933 0.342853 0.327707 +0.314453 0.31256 0.310667 0.304987 0.333387 0.35232 0.371253 0.371253 +0.36936 0.37504 0.376933 0.39208 0.388293 0.407227 0.441307 0.43184 +0.376933 0.337173 0.361787 0.435627 0.511368 0.542316 0.560632 0.558105 +0.536 0.496213 0.393973 0.361787 0.354213 0.359893 0.367467 0.395867 +0.401547 0.416693 0.496213 0.508842 0.43752 0.350427 0.325813 0.3296 +0.39208 0.458347 0.4148 0.37504 0.418587 0.435627 0.384507 0.331493 +0.308773 0.303093 0.316347 0.333387 0.331493 0.331493 0.356107 0.450773 +0.544211 0.594105 0.574526 0.503158 0.342853 0.29552 0.308773 0.337173 +0.36936 0.354213 0.320133 0.297413 0.27848 0.26144 0.25008 0.276587 +0.316347 0.308773 0.3012 0.304987 0.29552 0.28984 0.293627 0.299307 +0.30688 0.339067 0.399653 0.48296 0.503789 0.505684 0.519579 0.524632 +0.541684 0.602947 0.588421 0.462133 0.304987 0.293627 0.297413 0.297413 +0.316347 0.304987 0.308773 0.316347 0.322027 0.350427 0.36368 0.407227 +0.467813 0.464027 0.429947 0.429947 0.429947 0.412907 0.393973 0.39208 +0.38072 0.3864 0.43752 0.537263 0.644 0.765895 0.864421 0.937684 +0.982612 0.997959 1.00776 1.01853 1.02865 1.03453 1.04008 1.04498 +1.04759 1.04759 1.04596 1.04661 1.04367 1.044 1.04531 1.04302 +1.04041 1.03584 1.03616 1.03976 1.03845 1.0378 1.04073 1.04237 +1.03976 1.03878 1.03649 1.03453 1.03388 1.03159 1.0342 1.03845 +1.03584 1.03518 1.03845 1.03943 1.03943 1.03682 1.03388 1.03584 +1.03976 1.03878 1.04041 1.04073 1.03812 1.03943 1.03976 1.03878 +1.0391 1.03812 1.03747 1.04041 1.03845 1.04204 1.03976 1.0378 +1.03747 1.03584 1.04073 1.03976 1.0378 1.04269 1.04531 1.03976 +1.03943 1.04237 1.04367 1.04073 1.03976 1.03976 1.03682 1.03649 +1.04171 1.04073 1.03616 1.03486 1.03355 1.03355 1.03061 1.02865 +1.03029 1.03257 1.03486 1.03649 1.03845 1.04171 1.04237 1.04335 +1.04759 1.04498 1.04596 1.04759 1.04629 1.04204 1.04237 1.04465 +1.04465 1.04727 1.0502 1.04759 1.04073 1.03551 1.03322 1.03486 +1.03714 1.03551 1.03061 1.02702 1.02278 1.02212 1.02669 1.02931 +1.02898 1.028 1.02571 1.00743 0.942105 0.800632 0.673053 0.612421 +0.596632 0.597895 0.604211 0.606737 0.594105 0.563789 0.529053 0.486747 +0.412907 0.378827 0.36368 0.388293 0.46024 0.49432 0.429947 0.378827 +0.371253 0.36936 0.36368 0.365573 0.358 0.350427 0.356107 0.356107 +0.344747 0.337173 0.34096 0.348533 0.367467 0.433733 0.516421 0.546737 +0.534105 0.519579 0.515158 0.481067 0.418587 0.3864 0.367467 0.361787 +0.371253 0.367467 0.388293 0.44888 0.498107 0.510105 0.513263 0.507579 +0.4716 0.407227 0.36936 0.344747 0.333387 0.344747 0.339067 0.310667 +0.28984 0.287947 0.293627 0.325813 0.378827 0.405333 0.36368 0.322027 +0.308773 0.314453 0.310667 0.316347 0.359893 0.456453 0.496213 0.469707 +0.508211 0.553684 0.591579 0.602316 0.590316 0.560632 0.519579 0.446987 +0.390187 0.371253 0.388293 0.40912 0.42616 0.428053 0.418587 0.45456 +0.553053 0.718526 0.930105 1.02702 1.04335 1.02702 1.00939 1.012 +1.04857 1.26542 1.27303 1.05282 1.02016 1.01461 1.01233 1.01265 +1.01331 1.01167 1.01396 1.01461 1.01265 1.01298 1.01363 1.01527 +1.01396 1.01494 1.01429 1.01429 1.01527 1.01592 1.01396 1.00939 +1.00776 1.01037 1.01233 1.00939 0.996653 0.978737 0.957895 0.956632 +0.954105 0.944 0.942105 0.947789 0.964211 0.984571 0.930105 0.726105 +0.523368 0.331493 0.327707 0.325813 0.2728 0.000973333 0.000826667 0.00078 +0.000766667 0.000766667 0.000746667 0.000713333 0.000686667 0.000693333 0.000706667 0.000726667 +0.000746667 0.000713333 0.0007 0.000713333 0.000713333 0.00072 0.00072 0.00072 +0.00072 0.000733333 0.000726667 0.0007 0.0007 0.000693333 0.000686667 0.00072 +0.00072 0.0007 0.0007 0.000713333 0.000706667 0.0007 0.0007 0.000686667 +0.000706667 0.000726667 0.00072 0.00072 0.000733333 0.000733333 0.000733333 0.00072 +0.000693333 0.000706667 0.000733333 0.00072 0.000726667 0.00074 0.00074 0.000746667 +0.000766667 0.000766667 0.000766667 0.000766667 0.000766667 0.000773333 0.00078 0.00076 +0.000766667 0.000766667 0.000793333 0.00086 0.251973 0.3296 0.286053 0.000953333 +0.000986667 0.344747 0.582105 0.815158 0.981633 0.986531 0.959158 0.948421 +0.952842 0.953474 0.950316 0.956 0.959158 0.954737 0.950947 0.953474 +0.959158 0.962947 0.964842 0.968 0.977474 0.983918 0.989469 0.993061 +0.994367 0.994041 0.991755 0.990122 0.986857 0.983265 0.979368 0.976842 +0.983592 0.987837 0.976842 0.938316 0.882737 0.802526 0.685053 0.556842 +0.4716 0.429947 0.43184 0.429947 0.395867 0.348533 0.320133 0.303093 +0.310667 0.320133 0.304987 0.297413 0.304987 0.342853 0.382613 0.36936 +0.356107 0.365573 0.412907 0.492427 0.475387 0.388293 0.348533 0.344747 +0.333387 0.322027 0.30688 0.310667 0.342853 0.38072 0.395867 0.371253 +0.32392 0.316347 0.327707 0.34664 0.358 0.38072 0.37504 0.348533 +0.34096 0.325813 0.32392 0.350427 0.388293 0.4432 0.520842 0.560632 +0.566947 0.529684 0.44888 0.37504 0.35232 0.344747 0.358 0.384507 +0.367467 0.35232 0.416693 0.496213 0.47728 0.382613 0.331493 0.348533 +0.424267 0.46024 0.390187 0.34096 0.36936 0.390187 0.373147 0.331493 +0.299307 0.303093 0.325813 0.34096 0.3296 0.320133 0.333387 0.36368 +0.458347 0.542316 0.582105 0.563158 0.510105 0.401547 0.371253 0.4432 +0.456453 0.35232 0.291733 0.28416 0.286053 0.270907 0.257653 0.276587 +0.31824 0.316347 0.3012 0.303093 0.299307 0.293627 0.287947 0.30688 +0.32392 0.34664 0.401547 0.469707 0.47728 0.479173 0.515158 0.532211 +0.546105 0.605474 0.607368 0.505684 0.32392 0.299307 0.297413 0.299307 +0.310667 0.31824 0.31824 0.325813 0.36936 0.395867 0.390187 0.37504 +0.384507 0.3864 0.38072 0.401547 0.4148 0.401547 0.39776 0.39776 +0.3864 0.39208 0.42048 0.467813 0.530947 0.609895 0.717263 0.834737 +0.926316 0.98098 0.994367 1.00253 1.01363 1.02278 1.03257 1.03943 +1.04727 1.04922 1.04563 1.04531 1.044 1.04433 1.044 1.04237 +1.03976 1.03518 1.03682 1.03943 1.03878 1.0378 1.04073 1.04106 +1.03616 1.03518 1.0342 1.03355 1.0342 1.03224 1.03388 1.0378 +1.03518 1.03584 1.04041 1.03976 1.04008 1.04073 1.03486 1.03682 +1.04073 1.03878 1.04008 1.04041 1.0378 1.04073 1.0391 1.03878 +1.03976 1.03584 1.03682 1.04139 1.03845 1.04237 1.04008 1.03845 +1.0378 1.03812 1.04204 1.03976 1.0391 1.04171 1.04465 1.04008 +1.03976 1.04335 1.04302 1.04073 1.04139 1.03976 1.03682 1.03616 +1.0391 1.04041 1.03943 1.0378 1.0342 1.0342 1.03094 1.02833 +1.02996 1.02996 1.03127 1.0342 1.03649 1.0378 1.03878 1.04204 +1.04563 1.04531 1.04759 1.04792 1.04629 1.04335 1.04367 1.04367 +1.044 1.04629 1.04661 1.04433 1.03943 1.0342 1.02833 1.02571 +1.02539 1.01918 1.01363 1.01331 1.01494 1.02343 1.03127 1.03127 +1.02539 1.01951 1.00873 0.959158 0.822105 0.689474 0.623158 0.600421 +0.596 0.597263 0.601053 0.598526 0.578316 0.547368 0.516421 0.456453 +0.40344 0.38072 0.38072 0.43184 0.506947 0.5 0.373147 0.327707 +0.348533 0.350427 0.354213 0.373147 0.376933 0.356107 0.359893 0.373147 +0.354213 0.34664 0.34664 0.344747 0.337173 0.378827 0.47728 0.509474 +0.49432 0.49432 0.503158 0.479173 0.428053 0.390187 0.354213 0.350427 +0.361787 0.361787 0.37504 0.40344 0.42616 0.44888 0.473493 0.479173 +0.462133 0.416693 0.3864 0.371253 0.365573 0.361787 0.34664 0.322027 +0.29552 0.297413 0.30688 0.32392 0.376933 0.412907 0.371253 0.333387 +0.320133 0.320133 0.333387 0.36936 0.439413 0.492427 0.479173 0.46024 +0.507579 0.536 0.551158 0.544211 0.518947 0.492427 0.46024 0.428053 +0.393973 0.376933 0.378827 0.390187 0.405333 0.407227 0.40912 0.433733 +0.530316 0.672421 0.877053 1.01004 1.03943 1.03127 1.01461 1.01461 +1.04531 1.24868 1.27759 1.05282 1.01853 1.01233 1.01069 1.01135 +1.01298 1.01298 1.01559 1.01592 1.01363 1.01298 1.01331 1.01396 +1.01331 1.01363 1.012 1.01265 1.01265 1.01265 1.01167 1.00743 +1.0058 1.01037 1.01396 1.012 1.00057 0.981306 0.957263 0.958526 +0.959158 0.948421 0.944 0.946526 0.957263 0.981633 0.964842 0.803158 +0.576421 0.348533 0.280373 0.320133 0.32392 0.265227 0.000946667 0.00082 +0.00078 0.000766667 0.00076 0.000753333 0.000733333 0.00072 0.00074 0.000733333 +0.0007 0.000673333 0.000693333 0.000713333 0.000726667 0.000753333 0.000753333 0.000733333 +0.000726667 0.00072 0.000706667 0.000706667 0.00072 0.000693333 0.00068 0.000706667 +0.000726667 0.00072 0.0007 0.000706667 0.000706667 0.0007 0.000706667 0.000713333 +0.000713333 0.00072 0.000713333 0.000693333 0.00072 0.000746667 0.000753333 0.000733333 +0.000713333 0.000733333 0.000733333 0.000706667 0.00072 0.00072 0.000713333 0.00074 +0.000746667 0.00074 0.000753333 0.000766667 0.000773333 0.000773333 0.000773333 0.000786667 +0.000766667 0.00076 0.000786667 0.000866667 0.26712 0.34664 0.293627 0.219787 +0.240613 0.42616 0.653474 0.887789 0.990122 0.981633 0.954105 0.949684 +0.955368 0.954737 0.954737 0.961053 0.961684 0.953474 0.950316 0.954105 +0.959158 0.961053 0.965474 0.969263 0.976211 0.983265 0.98751 0.991429 +0.993388 0.991755 0.987184 0.987837 0.988163 0.985224 0.980653 0.973053 +0.973684 0.979368 0.966105 0.927579 0.866947 0.770316 0.633895 0.524 +0.441307 0.411013 0.40912 0.418587 0.4148 0.3864 0.342853 0.314453 +0.32392 0.32392 0.31256 0.31256 0.3296 0.348533 0.34096 0.310667 +0.29552 0.303093 0.331493 0.39776 0.416693 0.367467 0.3296 0.333387 +0.331493 0.320133 0.31256 0.314453 0.3296 0.348533 0.35232 0.337173 +0.31256 0.304987 0.3296 0.350427 0.358 0.356107 0.33528 0.331493 +0.34096 0.3296 0.322027 0.331493 0.333387 0.34664 0.422373 0.519579 +0.564421 0.569474 0.530947 0.456453 0.376933 0.34664 0.35232 0.359893 +0.354213 0.358 0.3864 0.445093 0.5 0.45456 0.373147 0.384507 +0.473493 0.48296 0.390187 0.339067 0.34096 0.333387 0.325813 0.303093 +0.29552 0.316347 0.344747 0.344747 0.320133 0.327707 0.35232 0.359893 +0.371253 0.458347 0.544842 0.590316 0.589684 0.541053 0.501895 0.517684 +0.500632 0.331493 0.257653 0.251973 0.265227 0.270907 0.265227 0.280373 +0.316347 0.331493 0.316347 0.304987 0.297413 0.3012 0.308773 0.31824 +0.32392 0.33528 0.371253 0.3864 0.358 0.348533 0.39776 0.456453 +0.506947 0.575789 0.606105 0.523368 0.356107 0.3296 0.325813 0.322027 +0.331493 0.331493 0.32392 0.339067 0.388293 0.416693 0.382613 0.361787 +0.350427 0.350427 0.359893 0.382613 0.384507 0.373147 0.373147 0.376933 +0.384507 0.395867 0.42616 0.433733 0.43752 0.506316 0.572632 0.683158 +0.813263 0.922526 0.980327 0.991429 1.0009 1.00873 1.01984 1.03061 +1.04106 1.04661 1.04498 1.04367 1.04433 1.04531 1.04204 1.0391 +1.0391 1.03551 1.03682 1.03976 1.03943 1.0378 1.0391 1.03845 +1.03486 1.03192 1.03355 1.0342 1.03486 1.0329 1.0342 1.03976 +1.03812 1.03551 1.03943 1.0391 1.04073 1.04269 1.03486 1.03812 +1.04204 1.03845 1.03845 1.0391 1.03682 1.04041 1.03812 1.03682 +1.03747 1.03355 1.03584 1.04139 1.04041 1.04269 1.0391 1.03682 +1.03682 1.03943 1.04041 1.03812 1.03943 1.03976 1.04204 1.03812 +1.04073 1.04302 1.04139 1.04041 1.04139 1.04139 1.0391 1.03845 +1.03812 1.03747 1.0391 1.03845 1.03486 1.03486 1.03061 1.02735 +1.02931 1.02735 1.02996 1.03355 1.03486 1.03584 1.03747 1.03943 +1.04269 1.04531 1.0489 1.04727 1.04531 1.04694 1.04465 1.04106 +1.04073 1.0391 1.03649 1.03812 1.0342 1.03029 1.02833 1.02539 +1.02114 1.01298 1.00906 1.00873 1.01527 1.02637 1.02898 1.02441 +1.01722 1.00873 0.970526 0.838526 0.708421 0.637053 0.617474 0.606105 +0.604211 0.601053 0.595368 0.587789 0.566316 0.534105 0.503789 0.439413 +0.401547 0.384507 0.401547 0.5 0.524 0.462133 0.34096 0.316347 +0.339067 0.350427 0.350427 0.358 0.382613 0.382613 0.376933 0.37504 +0.350427 0.342853 0.34664 0.356107 0.359893 0.371253 0.411013 0.418587 +0.382613 0.393973 0.42616 0.42048 0.407227 0.411013 0.39208 0.358 +0.339067 0.337173 0.333387 0.314453 0.308773 0.314453 0.337173 0.350427 +0.359893 0.348533 0.339067 0.356107 0.39208 0.390187 0.367467 0.35232 +0.322027 0.303093 0.30688 0.3296 0.37504 0.412907 0.367467 0.32392 +0.322027 0.3296 0.373147 0.450773 0.49432 0.439413 0.373147 0.356107 +0.376933 0.40912 0.42616 0.4148 0.373147 0.34664 0.361787 0.39208 +0.399653 0.384507 0.36368 0.350427 0.356107 0.376933 0.395867 0.42616 +0.515789 0.637684 0.832842 0.994694 1.03486 1.03224 1.0182 1.01788 +1.04433 1.23194 1.26846 1.05053 1.01461 1.00906 1.00971 1.01233 +1.01233 1.01298 1.01494 1.01527 1.01461 1.01494 1.01461 1.01527 +1.01461 1.01396 1.01102 1.01102 1.01135 1.01102 1.01233 1.00808 +1.00188 1.00449 1.00808 1.0071 1.00188 0.985224 0.964842 0.964211 +0.964842 0.953474 0.943368 0.940842 0.949053 0.972421 0.981633 0.871368 +0.642105 0.4148 0.251973 0.270907 0.31824 0.310667 0.26144 0.000966667 +0.00084 0.000773333 0.00074 0.000746667 0.00072 0.00072 0.000726667 0.000706667 +0.00068 0.000673333 0.000693333 0.00072 0.0007 0.000713333 0.000706667 0.000713333 +0.000726667 0.000733333 0.000733333 0.000746667 0.000766667 0.00074 0.000706667 0.000686667 +0.000686667 0.000713333 0.0007 0.000693333 0.000706667 0.000706667 0.000713333 0.00072 +0.000706667 0.000713333 0.000726667 0.000693333 0.000686667 0.000706667 0.000733333 0.00074 +0.000726667 0.000713333 0.000726667 0.00074 0.00072 0.00072 0.00072 0.000733333 +0.000733333 0.000726667 0.000733333 0.00076 0.000786667 0.00078 0.000773333 0.000793333 +0.000806667 0.000786667 0.000773333 0.00086 0.269013 0.339067 0.27848 0.219787 +0.280373 0.514526 0.728632 0.944632 0.990776 0.969263 0.947158 0.948421 +0.957263 0.956 0.958526 0.962947 0.962316 0.956 0.950947 0.954737 +0.957895 0.961053 0.968632 0.972421 0.976842 0.983592 0.98849 0.992408 +0.99502 0.994367 0.989143 0.98849 0.987837 0.984898 0.978737 0.966737 +0.961684 0.968632 0.960421 0.918737 0.839789 0.712842 0.577684 0.501263 +0.429947 0.40912 0.40912 0.428053 0.452667 0.441307 0.384507 0.342853 +0.34096 0.331493 0.325813 0.333387 0.3296 0.327707 0.316347 0.293627 +0.280373 0.27848 0.303093 0.33528 0.36936 0.350427 0.310667 0.304987 +0.314453 0.3012 0.3012 0.31824 0.32392 0.322027 0.314453 0.304987 +0.297413 0.30688 0.339067 0.354213 0.348533 0.342853 0.348533 0.356107 +0.344747 0.3296 0.331493 0.337173 0.327707 0.322027 0.344747 0.40912 +0.522105 0.573895 0.578947 0.532211 0.43752 0.359893 0.342853 0.339067 +0.354213 0.36936 0.358 0.371253 0.45456 0.498107 0.458347 0.467813 +0.510737 0.492427 0.373147 0.327707 0.322027 0.30688 0.304987 0.299307 +0.316347 0.350427 0.36936 0.356107 0.339067 0.34096 0.354213 0.358 +0.35232 0.36936 0.473493 0.552421 0.608 0.606737 0.566947 0.555579 +0.506316 0.322027 0.257653 0.246293 0.265227 0.282267 0.2728 0.28416 +0.322027 0.337173 0.320133 0.304987 0.308773 0.322027 0.320133 0.310667 +0.310667 0.31256 0.344747 0.344747 0.314453 0.31256 0.3296 0.359893 +0.411013 0.530316 0.580211 0.529053 0.399653 0.382613 0.358 0.344747 +0.35232 0.354213 0.337173 0.32392 0.354213 0.384507 0.373147 0.36368 +0.359893 0.367467 0.37504 0.388293 0.38072 0.376933 0.367467 0.373147 +0.38072 0.39776 0.422373 0.42048 0.405333 0.418587 0.48864 0.554316 +0.670526 0.815789 0.925053 0.979368 0.990776 0.994367 1.00318 1.01559 +1.02767 1.03714 1.03845 1.03943 1.04302 1.04433 1.04008 1.03682 +1.03878 1.03714 1.03616 1.03878 1.0391 1.03584 1.03486 1.03616 +1.03551 1.02931 1.03192 1.03649 1.03584 1.0342 1.03584 1.04139 +1.04204 1.03812 1.04008 1.03943 1.03845 1.04073 1.03584 1.03878 +1.04171 1.03812 1.0378 1.0378 1.03714 1.04008 1.03878 1.03682 +1.03584 1.03518 1.03584 1.03976 1.03878 1.04073 1.0391 1.0378 +1.03714 1.0391 1.03976 1.04073 1.04008 1.03976 1.04237 1.03714 +1.04008 1.04302 1.04073 1.0378 1.03976 1.04302 1.04106 1.03845 +1.03812 1.03812 1.03878 1.03747 1.03714 1.0342 1.02833 1.02669 +1.02767 1.02637 1.03029 1.03322 1.0342 1.03486 1.0378 1.03747 +1.04041 1.04237 1.04563 1.04629 1.044 1.04661 1.04367 1.04008 +1.03682 1.03224 1.02604 1.028 1.02669 1.02669 1.03061 1.02865 +1.0218 1.01657 1.01592 1.01559 1.02343 1.02963 1.02376 1.01494 +1.00743 0.983265 0.858737 0.719158 0.641474 0.622526 0.620632 0.616211 +0.614947 0.609895 0.598526 0.578947 0.546737 0.515789 0.481067 0.441307 +0.42048 0.424267 0.479173 0.530316 0.528421 0.418587 0.333387 0.322027 +0.34096 0.359893 0.35232 0.34664 0.382613 0.399653 0.388293 0.371253 +0.356107 0.348533 0.34664 0.359893 0.37504 0.38072 0.39208 0.393973 +0.356107 0.342853 0.359893 0.367467 0.36936 0.416693 0.429947 0.373147 +0.339067 0.3296 0.31824 0.28984 0.286053 0.28416 0.28984 0.304987 +0.30688 0.303093 0.308773 0.356107 0.405333 0.390187 0.365573 0.354213 +0.3296 0.31256 0.31256 0.3296 0.356107 0.376933 0.344747 0.31824 +0.331493 0.34096 0.373147 0.44888 0.475387 0.390187 0.325813 0.308773 +0.304987 0.327707 0.350427 0.359893 0.342853 0.331493 0.350427 0.3864 +0.401547 0.399653 0.382613 0.358 0.35232 0.36368 0.384507 0.4148 +0.503158 0.606737 0.790526 0.974316 1.028 1.03518 1.02473 1.02114 +1.04335 1.21977 1.25629 1.04857 1.01592 1.00971 1.01004 1.01265 +1.01102 1.01069 1.01331 1.01461 1.01494 1.01363 1.01363 1.01461 +1.01559 1.01592 1.01298 1.01363 1.01331 1.01167 1.01363 1.00873 +0.998939 0.999918 1.00514 1.00514 1.00155 0.98751 0.969263 0.966105 +0.966737 0.956632 0.944 0.938947 0.944632 0.964842 0.984898 0.927579 +0.717895 0.512632 0.274693 0.225467 0.263333 0.310667 0.31256 0.265227 +0.000986667 0.000833333 0.000753333 0.00074 0.000706667 0.000713333 0.00072 0.00072 +0.00072 0.000713333 0.000706667 0.000686667 0.00072 0.000706667 0.0007 0.0007 +0.0007 0.000693333 0.000693333 0.000706667 0.000746667 0.000766667 0.000766667 0.000746667 +0.000726667 0.00074 0.00074 0.000706667 0.000686667 0.000706667 0.000726667 0.00074 +0.000726667 0.000713333 0.00072 0.00072 0.000713333 0.000693333 0.000693333 0.00072 +0.000733333 0.000713333 0.000706667 0.00072 0.00072 0.000726667 0.000733333 0.000733333 +0.000733333 0.000746667 0.000733333 0.000746667 0.000773333 0.000773333 0.00076 0.000773333 +0.0008 0.000766667 0.000746667 0.000886667 0.287947 0.34664 0.274693 0.223573 +0.31824 0.561895 0.801895 0.98 0.98751 0.961684 0.947789 0.951579 +0.959789 0.955368 0.954737 0.957895 0.957263 0.954105 0.954737 0.958526 +0.958526 0.963579 0.973053 0.980327 0.984245 0.989796 0.993714 0.995673 +0.996653 0.996 0.992735 0.992735 0.991102 0.986857 0.982286 0.969895 +0.959158 0.961684 0.955368 0.909263 0.810737 0.661684 0.540421 0.479173 +0.435627 0.429947 0.435627 0.450773 0.4716 0.48296 0.435627 0.371253 +0.34664 0.33528 0.327707 0.325813 0.31256 0.31256 0.314453 0.303093 +0.29552 0.293627 0.304987 0.322027 0.34664 0.337173 0.3012 0.29552 +0.304987 0.29552 0.297413 0.31256 0.30688 0.304987 0.299307 0.293627 +0.299307 0.31824 0.34664 0.34664 0.33528 0.350427 0.390187 0.399653 +0.356107 0.331493 0.333387 0.34096 0.325813 0.308773 0.304987 0.31824 +0.43752 0.554316 0.613684 0.590316 0.520211 0.401547 0.337173 0.333387 +0.348533 0.354213 0.342853 0.339067 0.384507 0.46592 0.508842 0.523368 +0.526526 0.473493 0.356107 0.316347 0.308773 0.3012 0.30688 0.325813 +0.367467 0.390187 0.376933 0.356107 0.35232 0.350427 0.33528 0.3296 +0.33528 0.344747 0.36936 0.47728 0.564421 0.618737 0.618105 0.596632 +0.522737 0.333387 0.270907 0.26144 0.270907 0.29552 0.29552 0.31256 +0.350427 0.348533 0.304987 0.299307 0.337173 0.354213 0.33528 0.31824 +0.31824 0.31824 0.34096 0.354213 0.3296 0.31256 0.314453 0.34096 +0.373147 0.500632 0.553684 0.530316 0.445093 0.422373 0.38072 0.339067 +0.344747 0.348533 0.342853 0.325813 0.327707 0.356107 0.38072 0.390187 +0.382613 0.38072 0.376933 0.3864 0.39776 0.37504 0.365573 0.365573 +0.384507 0.4148 0.429947 0.424267 0.401547 0.395867 0.424267 0.473493 +0.552421 0.68 0.821474 0.919368 0.970526 0.982612 0.988816 0.998612 +1.00971 1.02049 1.02441 1.03061 1.03486 1.03747 1.0378 1.03518 +1.03649 1.03551 1.0329 1.03486 1.03682 1.03453 1.03257 1.03257 +1.0342 1.03094 1.03159 1.03714 1.03682 1.03551 1.03878 1.04204 +1.04269 1.03878 1.03943 1.03943 1.03747 1.04171 1.03812 1.03976 +1.04008 1.03747 1.0378 1.03682 1.03943 1.03976 1.03878 1.03649 +1.0342 1.03747 1.03747 1.03747 1.03649 1.0378 1.03616 1.03747 +1.0378 1.03878 1.03943 1.04171 1.04008 1.0391 1.04073 1.03747 +1.04041 1.04204 1.04106 1.03812 1.04041 1.04367 1.04204 1.03845 +1.0378 1.04041 1.0391 1.0378 1.03845 1.0329 1.02931 1.02702 +1.02735 1.02735 1.03127 1.03159 1.03159 1.0342 1.03649 1.03486 +1.03747 1.03812 1.03878 1.04106 1.03812 1.03976 1.04073 1.03976 +1.03453 1.03061 1.02669 1.02571 1.02539 1.02767 1.03094 1.02735 +1.02343 1.02571 1.02278 1.01918 1.02571 1.02604 1.01624 1.00645 +0.983265 0.872 0.731158 0.646526 0.622526 0.620632 0.619368 0.615579 +0.611158 0.604842 0.594737 0.568842 0.533474 0.513895 0.501895 0.5 +0.512 0.529684 0.546105 0.547368 0.517684 0.40912 0.34664 0.339067 +0.350427 0.356107 0.34664 0.359893 0.395867 0.39776 0.378827 0.37504 +0.382613 0.367467 0.359893 0.359893 0.34664 0.342853 0.371253 0.39208 +0.356107 0.33528 0.337173 0.350427 0.37504 0.43752 0.452667 0.361787 +0.314453 0.30688 0.29552 0.29552 0.29552 0.297413 0.28984 0.28984 +0.299307 0.30688 0.32392 0.371253 0.401547 0.36936 0.34096 0.34096 +0.342853 0.325813 0.31256 0.310667 0.32392 0.348533 0.333387 0.314453 +0.33528 0.354213 0.358 0.39208 0.42616 0.378827 0.325813 0.320133 +0.325813 0.3296 0.33528 0.337173 0.33528 0.337173 0.358 0.376933 +0.376933 0.3864 0.395867 0.39776 0.39776 0.382613 0.388293 0.412907 +0.469707 0.574526 0.746316 0.933895 1.01559 1.03224 1.02898 1.02735 +1.04694 1.22738 1.2502 1.04531 1.01494 1.01037 1.00939 1.012 +1.01167 1.01167 1.01265 1.01461 1.01331 1.01298 1.01396 1.01331 +1.01527 1.0169 1.01494 1.01429 1.01396 1.01265 1.01396 1.01004 +0.999918 0.999265 1.00547 1.00547 1.00155 0.990449 0.976211 0.968632 +0.969895 0.959789 0.947789 0.942105 0.943368 0.957895 0.982939 0.965474 +0.794316 0.566316 0.3296 0.223573 0.217893 0.265227 0.30688 0.31256 +0.269013 0.000953333 0.000806667 0.000753333 0.00074 0.00072 0.0007 0.0007 +0.00072 0.000706667 0.000686667 0.000686667 0.000733333 0.000726667 0.000726667 0.000746667 +0.00074 0.000713333 0.000706667 0.000706667 0.0007 0.000706667 0.000726667 0.000733333 +0.000733333 0.000733333 0.00076 0.000753333 0.00072 0.000706667 0.000706667 0.000713333 +0.000713333 0.00072 0.000706667 0.00072 0.000733333 0.000706667 0.0007 0.00072 +0.000733333 0.000726667 0.000693333 0.000713333 0.000733333 0.00072 0.00074 0.000733333 +0.000746667 0.000766667 0.000753333 0.000773333 0.000793333 0.000793333 0.000773333 0.000753333 +0.00076 0.000746667 0.000746667 0.000913333 0.299307 0.354213 0.280373 0.248187 +0.39208 0.626947 0.873263 0.989469 0.980653 0.952842 0.947158 0.954105 +0.962316 0.956 0.957263 0.959158 0.957263 0.954105 0.957263 0.961053 +0.960421 0.969263 0.98098 0.986857 0.988816 0.991755 0.997306 0.998939 +0.998939 0.996653 0.994694 0.994694 0.994041 0.990122 0.986204 0.978105 +0.962947 0.961053 0.953474 0.898526 0.781684 0.626316 0.524 0.469707 +0.441307 0.450773 0.450773 0.439413 0.446987 0.475387 0.46592 0.418587 +0.388293 0.361787 0.333387 0.316347 0.308773 0.310667 0.31256 0.314453 +0.322027 0.325813 0.331493 0.344747 0.361787 0.331493 0.293627 0.28984 +0.3012 0.293627 0.29552 0.293627 0.28984 0.28984 0.29552 0.310667 +0.320133 0.333387 0.339067 0.337173 0.34096 0.359893 0.395867 0.399653 +0.359893 0.33528 0.322027 0.32392 0.325813 0.316347 0.31256 0.31824 +0.384507 0.515789 0.584 0.606105 0.570105 0.505684 0.378827 0.339067 +0.331493 0.333387 0.344747 0.350427 0.358 0.401547 0.502526 0.534737 +0.523368 0.42048 0.322027 0.304987 0.303093 0.30688 0.337173 0.435627 +0.48296 0.405333 0.34096 0.333387 0.359893 0.36936 0.333387 0.31824 +0.325813 0.342853 0.365573 0.433733 0.534737 0.59979 0.627579 0.622526 +0.561263 0.43752 0.31256 0.286053 0.3012 0.322027 0.32392 0.342853 +0.38072 0.376933 0.33528 0.31824 0.354213 0.371253 0.344747 0.325813 +0.31824 0.327707 0.34096 0.361787 0.344747 0.32392 0.325813 0.348533 +0.365573 0.441307 0.527158 0.525895 0.4716 0.428053 0.3864 0.333387 +0.325813 0.333387 0.348533 0.348533 0.337173 0.358 0.40912 0.428053 +0.395867 0.376933 0.358 0.376933 0.3864 0.373147 0.367467 0.371253 +0.399653 0.424267 0.433733 0.43184 0.40912 0.39208 0.42048 0.429947 +0.47728 0.560632 0.678105 0.808211 0.909895 0.960421 0.981306 0.985878 +0.993061 1.00122 1.00612 1.01527 1.02278 1.02963 1.03388 1.03061 +1.02996 1.02996 1.028 1.03224 1.03453 1.03192 1.03192 1.03029 +1.03159 1.03322 1.03257 1.03747 1.03943 1.0378 1.04073 1.04139 +1.04008 1.03747 1.03845 1.04041 1.03976 1.04139 1.0378 1.0391 +1.0391 1.0391 1.04041 1.03616 1.03976 1.03943 1.0391 1.03812 +1.03388 1.03584 1.0378 1.03714 1.0378 1.03976 1.03682 1.03616 +1.03878 1.03845 1.03878 1.04008 1.0391 1.03878 1.03976 1.03943 +1.04204 1.04106 1.04008 1.0391 1.04237 1.04498 1.044 1.04139 +1.03976 1.04204 1.04008 1.0391 1.03616 1.03159 1.02963 1.02767 +1.028 1.02767 1.02898 1.02931 1.02996 1.03257 1.0342 1.03355 +1.03551 1.03714 1.03682 1.03518 1.03159 1.03029 1.03127 1.03061 +1.02637 1.02702 1.02865 1.02571 1.02571 1.02669 1.02506 1.02539 +1.02473 1.02571 1.02114 1.01853 1.02212 1.01886 1.00873 0.985224 +0.879579 0.738737 0.647789 0.621895 0.621263 0.623158 0.62 0.609263 +0.601053 0.592211 0.577053 0.549895 0.531579 0.529053 0.520842 0.518316 +0.528421 0.539158 0.536632 0.516421 0.496213 0.424267 0.36936 0.38072 +0.3864 0.358 0.342853 0.382613 0.424267 0.401547 0.376933 0.3864 +0.40344 0.38072 0.358 0.344747 0.325813 0.325813 0.36936 0.378827 +0.348533 0.342853 0.359893 0.39776 0.439413 0.48864 0.481067 0.388293 +0.3296 0.316347 0.314453 0.31256 0.291733 0.293627 0.303093 0.303093 +0.303093 0.331493 0.36368 0.3864 0.40344 0.390187 0.342853 0.333387 +0.356107 0.34096 0.316347 0.308773 0.316347 0.344747 0.344747 0.32392 +0.337173 0.348533 0.331493 0.344747 0.367467 0.34096 0.316347 0.327707 +0.34096 0.337173 0.3296 0.32392 0.31824 0.327707 0.35232 0.361787 +0.350427 0.36368 0.384507 0.407227 0.428053 0.418587 0.411013 0.418587 +0.445093 0.548 0.705263 0.896 1.00286 1.02473 1.03061 1.03551 +1.05576 1.24259 1.23194 1.03878 1.01102 1.00873 1.00971 1.01233 +1.01265 1.01363 1.01233 1.01396 1.01461 1.01559 1.01527 1.01461 +1.01363 1.01363 1.01363 1.01331 1.01233 1.01396 1.01461 1.01135 +1.0022 0.997306 1.00416 1.00645 1.00351 0.99502 0.983918 0.979368 +0.976211 0.964211 0.952211 0.944 0.942737 0.950947 0.977474 0.982939 +0.860632 0.627579 0.399653 0.23304 0.00092 0.000966667 0.25008 0.30688 +0.31256 0.253867 0.000926667 0.000813333 0.000753333 0.000706667 0.000666667 0.000673333 +0.0007 0.000693333 0.000693333 0.00072 0.000733333 0.00072 0.000706667 0.000713333 +0.000726667 0.000733333 0.000733333 0.00074 0.000726667 0.000713333 0.00072 0.000713333 +0.0007 0.000686667 0.000713333 0.000746667 0.000746667 0.00072 0.000726667 0.00076 +0.000746667 0.000726667 0.00072 0.00072 0.000706667 0.000693333 0.0007 0.000706667 +0.000726667 0.000746667 0.000713333 0.000733333 0.00076 0.000733333 0.00074 0.000746667 +0.000733333 0.000766667 0.000766667 0.00076 0.00078 0.0008 0.000813333 0.000806667 +0.00078 0.000766667 0.00078 0.000926667 0.3012 0.354213 0.274693 0.263333 +0.473493 0.693895 0.927579 0.991102 0.971789 0.949684 0.946526 0.954105 +0.959158 0.954105 0.958526 0.961053 0.959789 0.962316 0.962947 0.961053 +0.959158 0.969263 0.981306 0.987184 0.986857 0.989469 0.997959 0.999918 +0.999265 0.996653 0.99502 0.995347 0.99502 0.993061 0.988816 0.980327 +0.964211 0.957263 0.947789 0.891579 0.766526 0.606737 0.511368 0.445093 +0.424267 0.435627 0.424267 0.39776 0.407227 0.433733 0.452667 0.462133 +0.446987 0.384507 0.327707 0.308773 0.308773 0.30688 0.30688 0.320133 +0.339067 0.339067 0.331493 0.34664 0.367467 0.325813 0.28416 0.280373 +0.28984 0.286053 0.28416 0.27848 0.27848 0.287947 0.3012 0.320133 +0.327707 0.331493 0.3296 0.327707 0.325813 0.33528 0.354213 0.358 +0.344747 0.339067 0.322027 0.325813 0.33528 0.34096 0.344747 0.350427 +0.367467 0.40344 0.502526 0.553053 0.581474 0.551789 0.484853 0.373147 +0.3296 0.327707 0.342853 0.359893 0.361787 0.36936 0.467813 0.529053 +0.512632 0.38072 0.308773 0.30688 0.31256 0.325813 0.388293 0.524632 +0.540421 0.422373 0.31256 0.316347 0.359893 0.390187 0.358 0.34096 +0.358 0.390187 0.456453 0.512 0.539789 0.572 0.596632 0.618737 +0.607368 0.553684 0.490533 0.393973 0.365573 0.344747 0.320133 0.333387 +0.367467 0.373147 0.36368 0.344747 0.34664 0.358 0.33528 0.322027 +0.3296 0.337173 0.333387 0.361787 0.356107 0.34664 0.359893 0.356107 +0.34664 0.38072 0.48864 0.5 0.433733 0.42048 0.407227 0.359893 +0.339067 0.333387 0.34096 0.350427 0.354213 0.393973 0.467813 0.469707 +0.395867 0.354213 0.354213 0.359893 0.378827 0.382613 0.3864 0.388293 +0.399653 0.4148 0.42616 0.42616 0.411013 0.407227 0.433733 0.441307 +0.439413 0.492427 0.558737 0.669895 0.791158 0.893474 0.958526 0.976211 +0.982286 0.98751 0.990776 0.997633 1.00776 1.0169 1.02049 1.01886 +1.02212 1.02441 1.02376 1.02604 1.02898 1.02931 1.02996 1.02735 +1.02963 1.03551 1.03453 1.03616 1.03976 1.03845 1.04171 1.03878 +1.03649 1.03747 1.03812 1.04073 1.04204 1.04041 1.03943 1.03943 +1.0391 1.03976 1.04041 1.03682 1.04041 1.0391 1.0378 1.03747 +1.0342 1.03518 1.0391 1.03812 1.03682 1.0391 1.03845 1.03682 +1.03878 1.0378 1.03812 1.04073 1.03812 1.0378 1.03878 1.04106 +1.04335 1.04073 1.04073 1.04106 1.04237 1.04433 1.044 1.03976 +1.03976 1.04171 1.04237 1.04204 1.03584 1.03192 1.02898 1.02767 +1.02735 1.02604 1.02702 1.02833 1.03061 1.03159 1.03355 1.03322 +1.03388 1.03649 1.03518 1.03224 1.02669 1.02212 1.0231 1.01951 +1.01592 1.01853 1.02343 1.02278 1.02604 1.02669 1.02343 1.02278 +1.0218 1.01951 1.01624 1.01624 1.01918 1.01167 0.98751 0.889053 +0.746947 0.653474 0.626947 0.621895 0.621895 0.623789 0.616842 0.604211 +0.592842 0.578316 0.557474 0.533474 0.524 0.522105 0.512 0.498107 +0.467813 0.45456 0.4432 0.428053 0.456453 0.46024 0.435627 0.441307 +0.424267 0.39208 0.393973 0.446987 0.464027 0.424267 0.399653 0.411013 +0.411013 0.376933 0.344747 0.333387 0.327707 0.348533 0.371253 0.36368 +0.34664 0.367467 0.407227 0.433733 0.435627 0.452667 0.469707 0.435627 +0.3864 0.356107 0.342853 0.322027 0.293627 0.29552 0.31824 0.339067 +0.342853 0.37504 0.401547 0.390187 0.376933 0.37504 0.34096 0.32392 +0.350427 0.34664 0.327707 0.320133 0.31256 0.327707 0.333387 0.327707 +0.3296 0.3296 0.314453 0.325813 0.348533 0.331493 0.322027 0.3296 +0.327707 0.32392 0.325813 0.325813 0.31824 0.32392 0.344747 0.350427 +0.33528 0.339067 0.361787 0.393973 0.42616 0.424267 0.407227 0.401547 +0.4148 0.527158 0.677474 0.873263 0.996 1.02049 1.02898 1.03878 +1.07369 1.25933 1.20303 1.03029 1.00612 1.0058 1.00841 1.01037 +1.01298 1.01755 1.01494 1.01592 1.01657 1.01559 1.01298 1.01265 +1.01265 1.01298 1.01429 1.01331 1.01167 1.01429 1.01461 1.01069 +1.0022 0.994367 1.00122 1.00776 1.00678 1.00024 0.991429 0.987837 +0.983265 0.969895 0.956 0.945895 0.943368 0.948421 0.969895 0.986204 +0.913684 0.693263 0.492427 0.251973 0.000893333 0.000866667 0.000946667 0.251973 +0.3012 0.297413 0.23872 0.000853333 0.000746667 0.00072 0.000706667 0.000726667 +0.000733333 0.000706667 0.000686667 0.000686667 0.000733333 0.00074 0.00074 0.000726667 +0.000706667 0.000693333 0.0007 0.00072 0.000733333 0.00074 0.00074 0.000753333 +0.000753333 0.00074 0.000733333 0.00072 0.000733333 0.00072 0.000693333 0.000713333 +0.000726667 0.000733333 0.00074 0.000746667 0.00072 0.0007 0.000706667 0.000706667 +0.000713333 0.00072 0.00072 0.000726667 0.000733333 0.000733333 0.000746667 0.00076 +0.00074 0.000766667 0.00078 0.00076 0.00078 0.000793333 0.0008 0.000786667 +0.000746667 0.000766667 0.00082 0.000953333 0.310667 0.358 0.276587 0.291733 +0.530947 0.765263 0.963579 0.986204 0.961684 0.947158 0.948421 0.957895 +0.958526 0.954105 0.959158 0.958526 0.958526 0.963579 0.964211 0.959789 +0.960421 0.966737 0.974947 0.981633 0.981633 0.985878 0.995673 0.99698 +0.997306 0.996327 0.99698 0.996653 0.99698 0.997306 0.993388 0.984245 +0.969895 0.956632 0.940842 0.884 0.758316 0.601053 0.506947 0.43184 +0.411013 0.405333 0.390187 0.37504 0.3864 0.39776 0.42048 0.4716 +0.484853 0.4148 0.344747 0.316347 0.304987 0.30688 0.308773 0.325813 +0.337173 0.3296 0.316347 0.33528 0.38072 0.35232 0.303093 0.287947 +0.286053 0.286053 0.293627 0.287947 0.28984 0.303093 0.30688 0.31824 +0.322027 0.331493 0.3296 0.320133 0.316347 0.32392 0.337173 0.337173 +0.3296 0.337173 0.337173 0.337173 0.33528 0.34096 0.35232 0.358 +0.354213 0.35232 0.37504 0.481067 0.544842 0.565684 0.539789 0.48864 +0.390187 0.34664 0.342853 0.359893 0.378827 0.3864 0.464027 0.530947 +0.515158 0.384507 0.320133 0.31256 0.303093 0.314453 0.35232 0.501263 +0.528421 0.42048 0.303093 0.297413 0.342853 0.424267 0.456453 0.441307 +0.4432 0.469707 0.509474 0.522737 0.516421 0.514526 0.529053 0.566316 +0.604211 0.604842 0.573895 0.531579 0.47728 0.378827 0.327707 0.325813 +0.344747 0.33528 0.337173 0.34096 0.34096 0.339067 0.344747 0.331493 +0.34096 0.333387 0.320133 0.344747 0.348533 0.358 0.384507 0.359893 +0.3296 0.34096 0.411013 0.411013 0.378827 0.395867 0.418587 0.399653 +0.365573 0.342853 0.337173 0.342853 0.350427 0.407227 0.506947 0.504421 +0.39208 0.348533 0.35232 0.359893 0.3864 0.388293 0.39776 0.39776 +0.390187 0.407227 0.424267 0.43184 0.422373 0.435627 0.464027 0.46024 +0.424267 0.439413 0.502526 0.556842 0.649684 0.778526 0.892211 0.942737 +0.964842 0.979368 0.981959 0.984245 0.993061 0.999918 1.00416 1.00808 +1.01559 1.01853 1.01755 1.0218 1.02669 1.02637 1.02735 1.02767 +1.03029 1.03518 1.03388 1.03224 1.03682 1.0378 1.04008 1.03845 +1.03682 1.04008 1.03976 1.04139 1.04204 1.04139 1.04171 1.03976 +1.0378 1.03682 1.03878 1.03747 1.04041 1.0391 1.03714 1.03649 +1.03453 1.03518 1.04008 1.03976 1.03682 1.03682 1.03649 1.03616 +1.0378 1.03714 1.03682 1.04008 1.0391 1.03812 1.03812 1.04139 +1.04237 1.0391 1.04237 1.044 1.04433 1.04498 1.04433 1.03812 +1.03976 1.04269 1.04433 1.04041 1.03518 1.03355 1.028 1.02637 +1.02669 1.02669 1.02637 1.02702 1.02931 1.03029 1.03322 1.03257 +1.0329 1.0342 1.02767 1.02637 1.02049 1.0169 1.01592 1.01037 +1.00906 1.01233 1.01494 1.01527 1.0169 1.02245 1.02114 1.02082 +1.0182 1.01527 1.01363 1.01559 1.01363 0.988816 0.891579 0.756421 +0.658526 0.622526 0.625684 0.628842 0.628211 0.628211 0.622526 0.606737 +0.587789 0.562526 0.537895 0.512632 0.501263 0.496213 0.47728 0.452667 +0.416693 0.40344 0.39776 0.405333 0.458347 0.5 0.48864 0.46024 +0.435627 0.416693 0.450773 0.490533 0.46592 0.429947 0.411013 0.412907 +0.411013 0.37504 0.337173 0.322027 0.322027 0.35232 0.373147 0.365573 +0.356107 0.38072 0.411013 0.395867 0.365573 0.36936 0.39776 0.395867 +0.3864 0.367467 0.34664 0.322027 0.293627 0.29552 0.322027 0.373147 +0.393973 0.395867 0.3864 0.358 0.33528 0.33528 0.32392 0.316347 +0.3296 0.339067 0.32392 0.322027 0.308773 0.303093 0.31256 0.316347 +0.310667 0.304987 0.304987 0.316347 0.331493 0.325813 0.316347 0.322027 +0.316347 0.310667 0.31824 0.3296 0.327707 0.32392 0.337173 0.339067 +0.333387 0.333387 0.350427 0.37504 0.399653 0.405333 0.390187 0.393973 +0.40912 0.517053 0.661053 0.858105 0.990776 1.01984 1.03029 1.04465 +1.1163 1.2715 1.1589 1.02147 1.00351 1.0058 1.00841 1.00971 +1.01396 1.01755 1.01331 1.01265 1.01429 1.01494 1.01298 1.01429 +1.01396 1.012 1.01265 1.01363 1.01363 1.01461 1.01331 1.01004 +1.0022 0.994367 0.997959 1.00547 1.00776 1.00416 0.997306 0.993061 +0.988163 0.978105 0.962316 0.949053 0.941474 0.944 0.961053 0.984571 +0.952211 0.762105 0.541053 0.3012 0.000946667 0.000873333 0.0009 0.000926667 +0.234933 0.291733 0.28416 0.000986667 0.000813333 0.000746667 0.000726667 0.000713333 +0.000726667 0.000726667 0.000693333 0.00068 0.000713333 0.000713333 0.000726667 0.000726667 +0.000726667 0.000726667 0.000733333 0.000726667 0.000706667 0.000713333 0.000713333 0.000706667 +0.000726667 0.00074 0.000726667 0.000706667 0.000726667 0.00074 0.00072 0.0007 +0.0007 0.000713333 0.000693333 0.000713333 0.000726667 0.000713333 0.000726667 0.000733333 +0.0007 0.0007 0.000713333 0.00072 0.00072 0.00072 0.00074 0.00076 +0.000746667 0.00076 0.000786667 0.000766667 0.00078 0.000786667 0.000766667 0.000746667 +0.00074 0.000766667 0.00082 0.000953333 0.310667 0.359893 0.293627 0.348533 +0.587789 0.836 0.983265 0.98098 0.953474 0.943368 0.948421 0.956 +0.956 0.956 0.963579 0.961053 0.961053 0.963579 0.962316 0.956632 +0.959158 0.963579 0.969263 0.976842 0.977474 0.983592 0.991429 0.994041 +0.996 0.996327 0.998286 0.997959 0.998939 0.999918 0.99502 0.986857 +0.977474 0.963579 0.944 0.884 0.753263 0.602947 0.510105 0.428053 +0.399653 0.390187 0.378827 0.367467 0.373147 0.384507 0.401547 0.446987 +0.481067 0.452667 0.393973 0.354213 0.333387 0.320133 0.308773 0.310667 +0.31256 0.325813 0.320133 0.350427 0.42048 0.401547 0.33528 0.314453 +0.297413 0.293627 0.299307 0.29552 0.30688 0.320133 0.32392 0.327707 +0.3296 0.331493 0.3296 0.32392 0.327707 0.333387 0.34096 0.3296 +0.325813 0.337173 0.337173 0.337173 0.342853 0.348533 0.348533 0.348533 +0.356107 0.37504 0.39208 0.441307 0.517053 0.556842 0.567579 0.543579 +0.49432 0.378827 0.34096 0.354213 0.42048 0.462133 0.507579 0.550526 +0.530947 0.40344 0.31824 0.30688 0.303093 0.310667 0.31824 0.384507 +0.467813 0.401547 0.325813 0.320133 0.356107 0.479173 0.524632 0.503789 +0.441307 0.424267 0.435627 0.4432 0.40912 0.3864 0.401547 0.486747 +0.543579 0.586526 0.608632 0.601684 0.564421 0.515789 0.441307 0.393973 +0.373147 0.33528 0.31824 0.3296 0.333387 0.3296 0.33528 0.33528 +0.333387 0.325813 0.327707 0.327707 0.327707 0.37504 0.407227 0.36368 +0.327707 0.350427 0.382613 0.390187 0.376933 0.384507 0.39208 0.39208 +0.365573 0.348533 0.35232 0.342853 0.331493 0.378827 0.513895 0.523368 +0.428053 0.37504 0.376933 0.38072 0.384507 0.38072 0.393973 0.399653 +0.3864 0.39208 0.42048 0.412907 0.42048 0.456453 0.498107 0.467813 +0.411013 0.418587 0.456453 0.501263 0.543579 0.644632 0.764 0.852421 +0.917474 0.956 0.969895 0.976842 0.984898 0.98849 0.992735 1.00024 +1.00808 1.00971 1.01069 1.01788 1.02539 1.02343 1.02735 1.03192 +1.03159 1.03486 1.0342 1.03257 1.03649 1.03714 1.03878 1.03878 +1.03682 1.03812 1.0391 1.04335 1.044 1.04204 1.04302 1.04041 +1.03649 1.03518 1.0391 1.03845 1.03976 1.03845 1.03878 1.03453 +1.03453 1.03486 1.03878 1.03976 1.03812 1.0378 1.0378 1.0391 +1.04008 1.03747 1.03551 1.03845 1.03747 1.03845 1.0378 1.04204 +1.04204 1.0391 1.04237 1.04269 1.04498 1.04433 1.04302 1.03812 +1.03976 1.04531 1.04465 1.03747 1.03616 1.03714 1.03192 1.03127 +1.028 1.028 1.02767 1.02604 1.028 1.02996 1.03192 1.03192 +1.03355 1.03224 1.02245 1.0182 1.01363 1.012 1.0071 1.00482 +1.00873 1.01102 1.01037 1.00743 1.00841 1.01233 1.01396 1.01624 +1.01559 1.01265 1.01233 1.01494 0.994694 0.891579 0.753263 0.663579 +0.623158 0.610526 0.617474 0.620632 0.616211 0.616211 0.614947 0.59979 +0.572 0.542947 0.518316 0.475387 0.458347 0.467813 0.450773 0.4432 +0.441307 0.429947 0.424267 0.43752 0.47728 0.490533 0.452667 0.4148 +0.416693 0.428053 0.45456 0.456453 0.42048 0.405333 0.412907 0.4148 +0.412907 0.39208 0.34664 0.322027 0.325813 0.350427 0.36368 0.37504 +0.382613 0.395867 0.39776 0.367467 0.344747 0.34096 0.359893 0.36368 +0.350427 0.3296 0.322027 0.325813 0.310667 0.3012 0.327707 0.36936 +0.388293 0.371253 0.361787 0.344747 0.32392 0.320133 0.314453 0.314453 +0.327707 0.33528 0.32392 0.31824 0.30688 0.29552 0.3012 0.304987 +0.29552 0.29552 0.3012 0.3012 0.310667 0.30688 0.299307 0.3012 +0.303093 0.3012 0.310667 0.3296 0.339067 0.327707 0.325813 0.327707 +0.33528 0.339067 0.348533 0.371253 0.388293 0.399653 0.39208 0.40344 +0.418587 0.510737 0.650316 0.848 0.986204 1.02049 1.03616 1.05151 +1.14521 1.25629 1.09652 1.01494 1.00416 1.00808 1.01069 1.01037 +1.01265 1.01265 1.00971 1.01069 1.01429 1.01592 1.01363 1.01494 +1.01461 1.01265 1.01265 1.01396 1.01494 1.01527 1.01363 1.01233 +1.0058 0.996327 0.997633 1.00384 1.00612 1.00514 1.0009 0.994694 +0.987837 0.978737 0.963579 0.953474 0.944632 0.941474 0.950947 0.978737 +0.975579 0.826526 0.593474 0.371253 0.22168 0.000886667 0.000886667 0.00088 +0.000953333 0.276587 0.316347 0.246293 0.00082 0.000726667 0.000733333 0.0007 +0.000706667 0.000726667 0.00072 0.000713333 0.000706667 0.000706667 0.00072 0.000726667 +0.000726667 0.000726667 0.00074 0.000746667 0.000713333 0.00072 0.00072 0.000706667 +0.000706667 0.000713333 0.000706667 0.0007 0.000693333 0.000706667 0.00072 0.000733333 +0.000726667 0.00074 0.000713333 0.000706667 0.000706667 0.000686667 0.00068 0.000706667 +0.000706667 0.000733333 0.00076 0.000746667 0.00074 0.000733333 0.00074 0.000766667 +0.00076 0.000753333 0.000766667 0.00078 0.000773333 0.000773333 0.00076 0.000753333 +0.00076 0.000793333 0.000833333 0.000966667 0.316347 0.358 0.303093 0.416693 +0.651579 0.897263 0.988163 0.971789 0.948421 0.945263 0.952842 0.956 +0.952211 0.954105 0.962947 0.965474 0.961053 0.963579 0.963579 0.958526 +0.963579 0.968632 0.969895 0.972421 0.971158 0.981306 0.989796 0.994367 +0.998286 0.999592 0.999918 0.997959 0.998612 0.998612 0.994041 0.989143 +0.981959 0.969263 0.948421 0.885895 0.750105 0.602947 0.512632 0.435627 +0.407227 0.395867 0.378827 0.36368 0.361787 0.38072 0.39776 0.412907 +0.43752 0.469707 0.467813 0.4148 0.36368 0.34664 0.3296 0.314453 +0.31824 0.337173 0.339067 0.36368 0.4148 0.399653 0.342853 0.316347 +0.303093 0.304987 0.303093 0.297413 0.30688 0.316347 0.3296 0.342853 +0.348533 0.342853 0.342853 0.350427 0.342853 0.331493 0.33528 0.33528 +0.342853 0.354213 0.348533 0.34664 0.359893 0.384507 0.3864 0.3864 +0.401547 0.422373 0.4432 0.479173 0.512632 0.539789 0.563789 0.565684 +0.535368 0.4716 0.388293 0.36368 0.407227 0.450773 0.504421 0.550526 +0.536632 0.4148 0.316347 0.30688 0.310667 0.31256 0.31824 0.34664 +0.399653 0.382613 0.339067 0.342853 0.37504 0.467813 0.515158 0.462133 +0.371253 0.350427 0.344747 0.361787 0.371253 0.358 0.339067 0.365573 +0.462133 0.546105 0.612421 0.644632 0.628211 0.590316 0.556211 0.529684 +0.501263 0.42048 0.365573 0.339067 0.331493 0.327707 0.316347 0.320133 +0.325813 0.342853 0.361787 0.361787 0.376933 0.4148 0.416693 0.359893 +0.34096 0.361787 0.401547 0.407227 0.388293 0.37504 0.36368 0.361787 +0.350427 0.342853 0.350427 0.339067 0.34096 0.388293 0.527789 0.549263 +0.469707 0.395867 0.39208 0.382613 0.37504 0.37504 0.393973 0.40344 +0.39776 0.40344 0.411013 0.407227 0.418587 0.450773 0.490533 0.469707 +0.422373 0.435627 0.458347 0.45456 0.479173 0.536 0.615579 0.715368 +0.817684 0.894737 0.937684 0.961684 0.98 0.983918 0.989469 0.996 +1.0009 1.00253 1.00645 1.01135 1.01951 1.02212 1.02506 1.02898 +1.02735 1.02963 1.03453 1.03453 1.03649 1.03747 1.03845 1.03812 +1.03616 1.03616 1.03649 1.04237 1.04335 1.04204 1.04367 1.04139 +1.03649 1.03878 1.04073 1.03878 1.0391 1.03845 1.04008 1.03322 +1.0342 1.03616 1.03714 1.03616 1.03616 1.0391 1.0391 1.03976 +1.03943 1.03551 1.03584 1.04041 1.0378 1.03845 1.03747 1.04073 +1.04204 1.04237 1.04465 1.04237 1.04237 1.04139 1.04073 1.03845 +1.04302 1.04694 1.04498 1.0378 1.03747 1.03747 1.0342 1.0329 +1.02735 1.02604 1.02441 1.02539 1.02767 1.028 1.02931 1.03127 +1.03029 1.02637 1.01722 1.01167 1.01004 1.01004 1.0022 1.00122 +1.0058 1.00906 1.00939 1.00743 1.00612 1.0071 1.00971 1.01331 +1.012 1.00841 1.01037 0.998939 0.909895 0.760211 0.663579 0.637053 +0.623158 0.621895 0.630105 0.618105 0.604211 0.602316 0.597263 0.576421 +0.545474 0.524 0.503158 0.44888 0.439413 0.445093 0.439413 0.439413 +0.4432 0.429947 0.4148 0.42616 0.446987 0.4432 0.407227 0.382613 +0.393973 0.40912 0.416693 0.418587 0.40344 0.40344 0.418587 0.407227 +0.39208 0.3864 0.348533 0.32392 0.3296 0.348533 0.350427 0.365573 +0.371253 0.371253 0.37504 0.36368 0.342853 0.344747 0.365573 0.367467 +0.344747 0.316347 0.308773 0.322027 0.32392 0.325813 0.337173 0.34096 +0.34096 0.342853 0.348533 0.348533 0.331493 0.316347 0.304987 0.310667 +0.31256 0.316347 0.314453 0.314453 0.303093 0.29552 0.293627 0.287947 +0.286053 0.293627 0.299307 0.29552 0.308773 0.314453 0.303093 0.29552 +0.291733 0.293627 0.316347 0.356107 0.382613 0.36368 0.331493 0.316347 +0.331493 0.354213 0.371253 0.39208 0.393973 0.390187 0.388293 0.39776 +0.4148 0.508842 0.650947 0.850526 0.985224 1.02049 1.03878 1.05249 +1.13152 1.20151 1.0502 1.00776 1.00384 1.00743 1.00906 1.00939 +1.01102 1.01102 1.01037 1.01233 1.01624 1.01559 1.01331 1.01461 +1.01396 1.01363 1.01527 1.01494 1.01461 1.01461 1.01298 1.01265 +1.0071 0.99502 0.996327 1.00384 1.00547 1.00384 1.00122 0.994367 +0.985224 0.973684 0.961053 0.956632 0.947158 0.940842 0.948421 0.969263 +0.983265 0.881474 0.650947 0.445093 0.248187 0.00094 0.216 0.219787 +0.000946667 0.236827 0.303093 0.274693 0.000906667 0.000766667 0.000746667 0.000726667 +0.00072 0.000726667 0.000706667 0.0007 0.000713333 0.0007 0.0007 0.00072 +0.000713333 0.0007 0.000713333 0.000713333 0.000706667 0.000733333 0.00074 0.000713333 +0.000686667 0.0007 0.00072 0.00072 0.000713333 0.000686667 0.000686667 0.00072 +0.00072 0.000733333 0.000726667 0.00072 0.00074 0.000726667 0.00072 0.000706667 +0.00072 0.00072 0.00072 0.00072 0.000726667 0.000726667 0.000733333 0.00076 +0.00078 0.000773333 0.000766667 0.000786667 0.000773333 0.000746667 0.000733333 0.000753333 +0.000786667 0.00082 0.000853333 0.000993333 0.3296 0.365573 0.32392 0.506947 +0.725474 0.944632 0.986857 0.959789 0.942105 0.945895 0.956 0.959158 +0.954105 0.954737 0.961684 0.965474 0.960421 0.961053 0.963579 0.963579 +0.970526 0.975579 0.974316 0.971789 0.968632 0.981633 0.98751 0.993714 +0.997306 1.00122 1.00122 0.999592 0.999592 0.998939 0.994041 0.989796 +0.981959 0.969895 0.949053 0.885895 0.751368 0.605474 0.515789 0.44888 +0.42616 0.412907 0.393973 0.376933 0.361787 0.361787 0.371253 0.373147 +0.393973 0.44888 0.5 0.479173 0.405333 0.36368 0.34096 0.327707 +0.337173 0.34664 0.34096 0.35232 0.371253 0.344747 0.316347 0.308773 +0.314453 0.32392 0.322027 0.310667 0.29552 0.29552 0.327707 0.361787 +0.38072 0.371253 0.359893 0.356107 0.34664 0.339067 0.344747 0.358 +0.37504 0.384507 0.390187 0.39776 0.40912 0.4432 0.452667 0.43752 +0.418587 0.40912 0.424267 0.450773 0.467813 0.501263 0.524 0.546105 +0.552421 0.532842 0.505684 0.435627 0.384507 0.371253 0.441307 0.532211 +0.530316 0.422373 0.320133 0.31256 0.322027 0.322027 0.33528 0.36368 +0.390187 0.384507 0.359893 0.371253 0.3864 0.405333 0.446987 0.418587 +0.358 0.333387 0.322027 0.333387 0.359893 0.35232 0.337173 0.359893 +0.456453 0.554316 0.630105 0.66421 0.652211 0.623158 0.601684 0.583368 +0.556211 0.527789 0.503158 0.450773 0.42616 0.39208 0.350427 0.337173 +0.342853 0.39208 0.441307 0.418587 0.40912 0.428053 0.405333 0.350427 +0.342853 0.361787 0.382613 0.40344 0.390187 0.38072 0.365573 0.36368 +0.348533 0.33528 0.34664 0.354213 0.367467 0.422373 0.544842 0.566947 +0.486747 0.382613 0.38072 0.376933 0.365573 0.38072 0.40912 0.412907 +0.40344 0.42048 0.4148 0.407227 0.411013 0.435627 0.484853 0.464027 +0.439413 0.445093 0.452667 0.445093 0.429947 0.450773 0.522105 0.590316 +0.685684 0.784842 0.865684 0.924421 0.964842 0.981959 0.985878 0.992408 +0.994367 0.998612 1.00645 1.00906 1.01657 1.02114 1.02278 1.02539 +1.02702 1.02963 1.03453 1.03388 1.03551 1.03682 1.03878 1.03682 +1.03649 1.03845 1.03812 1.04106 1.04204 1.04008 1.04237 1.04008 +1.03486 1.04269 1.04106 1.0378 1.03976 1.03747 1.03878 1.03518 +1.03355 1.03649 1.0391 1.03453 1.03551 1.03812 1.04041 1.03878 +1.03747 1.0342 1.03649 1.04008 1.03682 1.03976 1.03878 1.03943 +1.04041 1.04204 1.04531 1.04335 1.04204 1.04139 1.03845 1.03747 +1.04596 1.04694 1.04433 1.04106 1.03845 1.0378 1.03388 1.03322 +1.02865 1.02473 1.0231 1.02473 1.02506 1.02278 1.02245 1.02441 +1.02245 1.01788 1.01069 1.00612 1.00449 1.00253 0.997306 0.998286 +1.00416 1.00776 1.00906 1.00873 1.00808 1.00776 1.01069 1.012 +1.00678 1.00384 0.993714 0.917474 0.774105 0.671158 0.635158 0.632632 +0.628842 0.633895 0.629474 0.609895 0.592211 0.583368 0.565684 0.537263 +0.517053 0.508842 0.49432 0.4716 0.467813 0.45456 0.446987 0.43752 +0.428053 0.40344 0.39776 0.393973 0.401547 0.42048 0.407227 0.376933 +0.39208 0.401547 0.407227 0.422373 0.418587 0.407227 0.405333 0.39208 +0.378827 0.361787 0.339067 0.3296 0.337173 0.36368 0.36368 0.35232 +0.344747 0.339067 0.354213 0.350427 0.331493 0.337173 0.344747 0.342853 +0.344747 0.339067 0.320133 0.31256 0.322027 0.339067 0.348533 0.325813 +0.31824 0.331493 0.33528 0.337173 0.333387 0.31824 0.308773 0.30688 +0.297413 0.291733 0.3012 0.316347 0.314453 0.304987 0.28984 0.28416 +0.28416 0.293627 0.304987 0.30688 0.320133 0.327707 0.322027 0.314453 +0.310667 0.310667 0.348533 0.401547 0.407227 0.378827 0.348533 0.348533 +0.365573 0.411013 0.407227 0.405333 0.388293 0.376933 0.382613 0.388293 +0.40912 0.509474 0.654737 0.855579 0.984245 1.0169 1.03551 1.04955 +1.10565 1.11934 1.02833 1.00057 1.00351 1.00743 1.00873 1.00906 +1.01069 1.01233 1.01298 1.01298 1.01559 1.01363 1.01298 1.01592 +1.01429 1.01233 1.01429 1.01559 1.01494 1.01494 1.01396 1.01331 +1.0071 0.992408 0.992082 1.00286 1.00645 1.00547 1.00384 0.996653 +0.983592 0.964842 0.958526 0.959158 0.946526 0.938947 0.944632 0.957895 +0.982612 0.927579 0.719158 0.518947 0.287947 0.231147 0.286053 0.310667 +0.242507 0.00098 0.270907 0.304987 0.236827 0.000833333 0.000746667 0.000713333 +0.000686667 0.000693333 0.000713333 0.0007 0.000746667 0.000726667 0.000706667 0.000726667 +0.00072 0.000693333 0.000713333 0.0007 0.00068 0.000713333 0.000726667 0.000726667 +0.00072 0.000713333 0.000733333 0.000726667 0.000726667 0.000726667 0.000726667 0.000733333 +0.00074 0.00072 0.000693333 0.00072 0.000733333 0.00074 0.000753333 0.000746667 +0.00074 0.000726667 0.000706667 0.0007 0.000706667 0.000693333 0.000693333 0.000706667 +0.000766667 0.00078 0.000773333 0.000806667 0.000813333 0.00076 0.00072 0.00076 +0.000793333 0.000806667 0.00084 0.217893 0.339067 0.36368 0.34096 0.553053 +0.797474 0.976211 0.982939 0.953474 0.942737 0.949053 0.958526 0.957895 +0.956 0.961053 0.964211 0.966105 0.963579 0.960421 0.965474 0.975579 +0.98 0.980327 0.98 0.976211 0.975579 0.983592 0.98751 0.994367 +0.99698 0.999918 0.998939 0.996653 0.997633 0.996327 0.993388 0.989469 +0.982286 0.973684 0.950316 0.887789 0.758947 0.613053 0.521474 0.45456 +0.424267 0.407227 0.388293 0.376933 0.358 0.350427 0.356107 0.358 +0.367467 0.390187 0.441307 0.479173 0.458347 0.401547 0.358 0.358 +0.373147 0.36368 0.33528 0.33528 0.34096 0.327707 0.31824 0.316347 +0.322027 0.331493 0.322027 0.308773 0.293627 0.291733 0.327707 0.388293 +0.418587 0.376933 0.339067 0.331493 0.344747 0.348533 0.35232 0.367467 +0.382613 0.3864 0.39776 0.424267 0.43752 0.445093 0.4432 0.401547 +0.373147 0.37504 0.3864 0.39208 0.373147 0.38072 0.42616 0.496213 +0.527158 0.544842 0.544842 0.523368 0.473493 0.407227 0.45456 0.526526 +0.527789 0.4432 0.34664 0.314453 0.31256 0.322027 0.33528 0.361787 +0.39208 0.416693 0.412907 0.39208 0.373147 0.358 0.37504 0.376933 +0.342853 0.322027 0.303093 0.304987 0.31824 0.320133 0.339067 0.43184 +0.531579 0.593474 0.621263 0.614947 0.602947 0.582105 0.564421 0.561263 +0.563789 0.559368 0.548 0.539158 0.534737 0.511368 0.44888 0.393973 +0.378827 0.44888 0.498107 0.428053 0.382613 0.401547 0.38072 0.348533 +0.354213 0.348533 0.365573 0.384507 0.39776 0.399653 0.39208 0.393973 +0.354213 0.331493 0.35232 0.361787 0.378827 0.4432 0.556842 0.578316 +0.490533 0.358 0.361787 0.36936 0.36936 0.38072 0.40912 0.411013 +0.401547 0.422373 0.42616 0.416693 0.416693 0.446987 0.484853 0.452667 +0.424267 0.45456 0.450773 0.424267 0.401547 0.411013 0.462133 0.513263 +0.568211 0.653474 0.753263 0.850526 0.928842 0.959158 0.973684 0.985878 +0.989796 0.993061 1.00286 1.0071 1.01298 1.01853 1.01951 1.02212 +1.02506 1.02931 1.03355 1.03322 1.03453 1.03649 1.0378 1.03551 +1.03649 1.04008 1.03845 1.04073 1.04237 1.03878 1.04106 1.04041 +1.03453 1.04237 1.04106 1.0391 1.04041 1.0378 1.03616 1.03584 +1.03486 1.03616 1.0391 1.03584 1.03616 1.0378 1.04073 1.03747 +1.03649 1.03322 1.03682 1.03714 1.03551 1.04041 1.03845 1.03878 +1.04171 1.04106 1.04106 1.04335 1.04367 1.04237 1.03845 1.03878 +1.04824 1.04531 1.04269 1.04171 1.03812 1.03812 1.03518 1.0329 +1.02963 1.02767 1.02539 1.02245 1.02049 1.0169 1.01363 1.01396 +1.01069 1.00449 0.996 0.991102 0.991429 0.994694 0.997633 1.00384 +1.00971 1.012 1.00971 1.00873 1.00841 1.00906 1.01069 1.00841 +1.00482 0.988163 0.905474 0.782316 0.691368 0.651579 0.632632 0.632632 +0.640211 0.637053 0.609895 0.588421 0.576421 0.566947 0.541053 0.512 +0.500632 0.492427 0.481067 0.479173 0.475387 0.469707 0.46592 0.433733 +0.401547 0.390187 0.395867 0.382613 0.39208 0.4148 0.40344 0.390187 +0.405333 0.412907 0.411013 0.42048 0.422373 0.40912 0.399653 0.39776 +0.382613 0.36368 0.35232 0.350427 0.356107 0.371253 0.365573 0.359893 +0.35232 0.34664 0.356107 0.35232 0.342853 0.348533 0.337173 0.325813 +0.3296 0.331493 0.325813 0.325813 0.331493 0.342853 0.35232 0.331493 +0.322027 0.3296 0.327707 0.3296 0.331493 0.31824 0.314453 0.320133 +0.31256 0.303093 0.3012 0.314453 0.322027 0.308773 0.3012 0.29552 +0.299307 0.310667 0.322027 0.3296 0.337173 0.339067 0.333387 0.3296 +0.31824 0.31824 0.359893 0.399653 0.382613 0.361787 0.359893 0.371253 +0.40344 0.44888 0.428053 0.40912 0.393973 0.388293 0.390187 0.39208 +0.407227 0.508211 0.657895 0.863158 0.983918 1.012 1.028 1.03878 +1.0551 1.04857 1.01004 0.997306 1.00482 1.00743 1.00906 1.00971 +1.01069 1.01265 1.01429 1.01265 1.01265 1.01167 1.01396 1.01624 +1.01461 1.01298 1.01331 1.01461 1.01461 1.01559 1.01592 1.01396 +1.00645 0.989796 0.985224 0.996653 1.00351 1.00612 1.00678 1.0022 +0.988163 0.964842 0.956 0.958526 0.945895 0.940211 0.944632 0.952842 +0.98 0.957263 0.782316 0.556842 0.320133 0.27848 0.384507 0.435627 +0.33528 0.22736 0.248187 0.310667 0.265227 0.00086 0.000733333 0.000726667 +0.000706667 0.000706667 0.000726667 0.00072 0.000726667 0.00074 0.000726667 0.000746667 +0.000753333 0.000733333 0.000746667 0.000726667 0.000706667 0.000706667 0.000706667 0.000706667 +0.000726667 0.000726667 0.000726667 0.000753333 0.00074 0.00072 0.00072 0.00072 +0.000726667 0.000726667 0.00072 0.000733333 0.000746667 0.000726667 0.00072 0.000726667 +0.00072 0.000706667 0.00072 0.000713333 0.000726667 0.00074 0.000746667 0.000733333 +0.000726667 0.00074 0.00072 0.000746667 0.000793333 0.000786667 0.000753333 0.000766667 +0.0008 0.000833333 0.000873333 0.240613 0.354213 0.361787 0.384507 0.609263 +0.863789 0.988163 0.98 0.952211 0.946526 0.954105 0.959789 0.956 +0.956 0.964842 0.967368 0.966737 0.965474 0.965474 0.975579 0.986204 +0.988163 0.985878 0.985878 0.985551 0.984571 0.985878 0.987837 0.993714 +0.996 0.997306 0.994367 0.992408 0.992408 0.990776 0.990122 0.986204 +0.98 0.972421 0.950316 0.889053 0.767789 0.621895 0.526526 0.462133 +0.42048 0.39776 0.378827 0.365573 0.354213 0.348533 0.356107 0.356107 +0.35232 0.36368 0.390187 0.43752 0.4716 0.450773 0.40912 0.401547 +0.43184 0.40912 0.359893 0.342853 0.33528 0.320133 0.32392 0.331493 +0.3296 0.327707 0.31256 0.310667 0.31256 0.30688 0.325813 0.393973 +0.42048 0.365573 0.33528 0.344747 0.358 0.34664 0.342853 0.348533 +0.36368 0.3864 0.407227 0.424267 0.401547 0.37504 0.365573 0.34664 +0.354213 0.376933 0.376933 0.350427 0.331493 0.34664 0.371253 0.39776 +0.456453 0.514526 0.542947 0.556842 0.548 0.526526 0.522105 0.539158 +0.532211 0.469707 0.37504 0.337173 0.31256 0.31256 0.316347 0.327707 +0.367467 0.418587 0.422373 0.376933 0.337173 0.32392 0.331493 0.31824 +0.304987 0.31824 0.314453 0.304987 0.310667 0.316347 0.378827 0.510737 +0.566947 0.589053 0.554947 0.515158 0.504421 0.500632 0.475387 0.490533 +0.518947 0.537263 0.547368 0.551789 0.551789 0.532211 0.5 0.433733 +0.412907 0.441307 0.46024 0.405333 0.373147 0.384507 0.36936 0.361787 +0.361787 0.356107 0.36368 0.378827 0.39776 0.42616 0.450773 0.446987 +0.37504 0.354213 0.371253 0.36936 0.38072 0.4432 0.546737 0.565684 +0.479173 0.354213 0.359893 0.371253 0.378827 0.393973 0.412907 0.42048 +0.411013 0.428053 0.43752 0.42616 0.43752 0.4716 0.5 0.484853 +0.473493 0.504421 0.492427 0.43184 0.418587 0.429947 0.441307 0.45456 +0.505053 0.557474 0.641474 0.757684 0.86 0.897895 0.926316 0.962947 +0.980327 0.987184 0.99698 1.00122 1.0058 1.01331 1.01624 1.0218 +1.02473 1.02767 1.02898 1.03094 1.03355 1.03518 1.03616 1.0342 +1.03714 1.04041 1.03682 1.03878 1.04204 1.03976 1.04041 1.04171 +1.03649 1.04008 1.04106 1.03943 1.03943 1.03714 1.0378 1.03714 +1.0378 1.0391 1.03943 1.03714 1.03682 1.04008 1.04106 1.03551 +1.03747 1.03322 1.03649 1.03518 1.03551 1.04073 1.03584 1.03747 +1.04335 1.04171 1.04008 1.04302 1.04335 1.04237 1.04171 1.04269 +1.04694 1.04335 1.04237 1.03845 1.0391 1.04008 1.03714 1.03192 +1.02996 1.03322 1.02865 1.02245 1.0218 1.0169 1.01069 1.00873 +1.00416 0.996 0.987837 0.986204 0.993714 1.00253 1.00808 1.01167 +1.01363 1.01396 1.01233 1.00971 1.00873 1.01004 1.01069 1.00547 +0.985878 0.894105 0.772842 0.695158 0.672421 0.661053 0.638947 0.633895 +0.635158 0.618105 0.582737 0.562526 0.552421 0.540421 0.522105 0.503789 +0.48296 0.4716 0.458347 0.45456 0.45456 0.45456 0.43752 0.416693 +0.395867 0.39208 0.399653 0.405333 0.424267 0.435627 0.433733 0.433733 +0.43184 0.441307 0.445093 0.43752 0.43184 0.433733 0.435627 0.429947 +0.40912 0.39208 0.39208 0.395867 0.390187 0.384507 0.3864 0.388293 +0.376933 0.371253 0.38072 0.390187 0.38072 0.367467 0.344747 0.34096 +0.348533 0.344747 0.34664 0.356107 0.356107 0.354213 0.35232 0.342853 +0.344747 0.339067 0.3296 0.333387 0.34664 0.34664 0.350427 0.350427 +0.333387 0.3296 0.31824 0.320133 0.342853 0.339067 0.314453 0.308773 +0.32392 0.3296 0.333387 0.344747 0.348533 0.348533 0.35232 0.342853 +0.316347 0.308773 0.33528 0.35232 0.34664 0.35232 0.348533 0.35232 +0.390187 0.42048 0.399653 0.407227 0.418587 0.42048 0.407227 0.393973 +0.401547 0.510737 0.670526 0.874526 0.980653 1.00449 1.02016 1.02931 +1.03878 1.02767 0.999265 0.99698 1.00514 1.00645 1.00873 1.00939 +1.00906 1.01102 1.01363 1.01331 1.01331 1.01298 1.01527 1.01461 +1.01331 1.01461 1.01494 1.01461 1.01461 1.01396 1.01592 1.01527 +1.00678 0.989143 0.982939 0.992735 1.0009 1.00514 1.00776 1.00612 +0.993714 0.969895 0.957263 0.958526 0.950316 0.946526 0.947789 0.951579 +0.971158 0.971158 0.837895 0.602947 0.36368 0.30688 0.435627 0.501263 +0.40344 0.257653 0.225467 0.297413 0.28416 0.000953333 0.000806667 0.000806667 +0.000773333 0.0007 0.00068 0.000673333 0.000706667 0.000713333 0.000706667 0.000713333 +0.000713333 0.00072 0.000753333 0.000753333 0.000726667 0.00072 0.00072 0.00072 +0.000713333 0.000706667 0.0007 0.000726667 0.00074 0.000713333 0.000693333 0.000713333 +0.000713333 0.000713333 0.000733333 0.000726667 0.000726667 0.00072 0.000726667 0.000733333 +0.000726667 0.000713333 0.000706667 0.000713333 0.000726667 0.00074 0.00076 0.000746667 +0.000733333 0.000753333 0.00074 0.000733333 0.00074 0.000753333 0.00076 0.00076 +0.000786667 0.00084 0.000906667 0.270907 0.376933 0.373147 0.467813 0.673053 +0.916842 0.991755 0.970526 0.947158 0.946526 0.954737 0.957895 0.953474 +0.954737 0.964842 0.968 0.966105 0.964842 0.971158 0.981633 0.991102 +0.99502 0.993714 0.994694 0.995347 0.994367 0.992408 0.993388 0.99698 +0.997633 0.994367 0.98849 0.987184 0.989143 0.987837 0.98751 0.983918 +0.980653 0.973053 0.942105 0.875158 0.760842 0.622526 0.532211 0.498107 +0.458347 0.4148 0.384507 0.358 0.342853 0.34664 0.34664 0.339067 +0.34664 0.367467 0.382613 0.393973 0.429947 0.467813 0.467813 0.473493 +0.509474 0.502526 0.418587 0.356107 0.327707 0.314453 0.316347 0.337173 +0.3296 0.314453 0.31256 0.3296 0.342853 0.339067 0.34664 0.395867 +0.412907 0.36936 0.36936 0.393973 0.395867 0.365573 0.35232 0.356107 +0.382613 0.428053 0.428053 0.399653 0.358 0.322027 0.3296 0.348533 +0.38072 0.384507 0.35232 0.34096 0.34664 0.36368 0.36936 0.361787 +0.36936 0.435627 0.524 0.573895 0.603579 0.596 0.573895 0.564421 +0.546737 0.508211 0.422373 0.37504 0.327707 0.308773 0.31824 0.344747 +0.373147 0.388293 0.37504 0.348533 0.31824 0.30688 0.303093 0.297413 +0.316347 0.337173 0.322027 0.308773 0.31256 0.342853 0.433733 0.520842 +0.549263 0.541053 0.501895 0.412907 0.384507 0.382613 0.37504 0.36936 +0.40912 0.4716 0.505053 0.510105 0.509474 0.501263 0.464027 0.441307 +0.418587 0.4148 0.42616 0.39776 0.376933 0.376933 0.382613 0.384507 +0.365573 0.356107 0.36368 0.36936 0.38072 0.416693 0.4716 0.486747 +0.405333 0.371253 0.378827 0.348533 0.354213 0.401547 0.517053 0.537263 +0.458347 0.359893 0.356107 0.37504 0.399653 0.422373 0.435627 0.428053 +0.4148 0.43184 0.433733 0.441307 0.475387 0.505053 0.522105 0.531579 +0.534105 0.540421 0.528421 0.492427 0.464027 0.446987 0.43752 0.439413 +0.45456 0.513263 0.578316 0.68 0.764 0.801263 0.851789 0.908632 +0.949053 0.975579 0.98751 0.995673 1.0009 1.0071 1.01135 1.01722 +1.0231 1.02571 1.02637 1.03094 1.03453 1.03388 1.03486 1.0329 +1.03682 1.03943 1.03812 1.03714 1.0391 1.0391 1.03845 1.04008 +1.03682 1.0391 1.04106 1.03976 1.03845 1.03682 1.03812 1.03747 +1.03845 1.03976 1.03747 1.03551 1.03616 1.04269 1.04367 1.03486 +1.03616 1.03355 1.03649 1.03355 1.03551 1.0378 1.03388 1.03649 +1.04073 1.04041 1.04041 1.04367 1.04237 1.04106 1.04204 1.04433 +1.04433 1.04302 1.04367 1.03878 1.04237 1.04302 1.03812 1.03127 +1.03224 1.03192 1.02898 1.02539 1.02212 1.01788 1.01363 1.00939 +1.00286 0.998939 1.00057 1.00351 1.00873 1.01396 1.01527 1.01624 +1.01527 1.01624 1.01494 1.01233 1.01233 1.01167 1.00678 0.976842 +0.872 0.757053 0.687579 0.669263 0.665474 0.657263 0.644 0.641474 +0.630737 0.608 0.576421 0.546737 0.525895 0.512632 0.504421 0.492427 +0.475387 0.456453 0.439413 0.43184 0.439413 0.43752 0.422373 0.429947 +0.422373 0.422373 0.441307 0.467813 0.48296 0.492427 0.492427 0.486747 +0.469707 0.473493 0.48864 0.479173 0.464027 0.467813 0.475387 0.462133 +0.446987 0.433733 0.433733 0.441307 0.439413 0.42616 0.428053 0.433733 +0.428053 0.424267 0.428053 0.42048 0.401547 0.378827 0.359893 0.378827 +0.39776 0.390187 0.38072 0.373147 0.36936 0.367467 0.356107 0.354213 +0.358 0.354213 0.34096 0.342853 0.359893 0.361787 0.356107 0.36368 +0.35232 0.342853 0.333387 0.339067 0.376933 0.3864 0.350427 0.33528 +0.337173 0.331493 0.3296 0.339067 0.34664 0.35232 0.36368 0.371253 +0.34664 0.325813 0.3296 0.333387 0.34096 0.367467 0.36368 0.348533 +0.367467 0.37504 0.365573 0.390187 0.42048 0.445093 0.439413 0.412907 +0.407227 0.519579 0.690737 0.888421 0.973684 0.996 1.01135 1.01886 +1.02278 1.01037 0.996327 0.999592 1.00482 1.0071 1.00906 1.00906 +1.00939 1.01004 1.01265 1.01298 1.01363 1.01429 1.01559 1.01494 +1.01265 1.01461 1.01494 1.01461 1.01559 1.01363 1.01461 1.01527 +1.00873 0.993388 0.985878 0.991755 0.999918 1.00547 1.00743 1.00743 +0.999265 0.982612 0.965474 0.960421 0.954105 0.946526 0.946526 0.950316 +0.969895 0.982939 0.889684 0.661684 0.445093 0.310667 0.407227 0.500632 +0.44888 0.299307 0.22736 0.287947 0.316347 0.23304 0.000786667 0.000726667 +0.000706667 0.000693333 0.0007 0.000726667 0.00072 0.000713333 0.000726667 0.000733333 +0.000706667 0.000693333 0.000713333 0.000726667 0.000713333 0.000713333 0.000726667 0.000726667 +0.000733333 0.00074 0.000726667 0.000713333 0.000726667 0.000726667 0.000706667 0.000713333 +0.000706667 0.00068 0.000693333 0.000713333 0.0007 0.0007 0.00072 0.00074 +0.00076 0.00076 0.000746667 0.000753333 0.000753333 0.000753333 0.000746667 0.00074 +0.000733333 0.00074 0.00076 0.00076 0.000746667 0.00074 0.000786667 0.000806667 +0.000806667 0.000833333 0.00092 0.282267 0.378827 0.37504 0.521474 0.742526 +0.958526 0.991102 0.963579 0.944 0.946526 0.954737 0.957895 0.951579 +0.954105 0.966737 0.968632 0.964211 0.966737 0.980327 0.989143 0.997306 +1.00188 1.00253 1.00286 1.00416 1.0022 1.0009 1.00122 1.0022 +1.00057 0.994367 0.986857 0.983918 0.986531 0.987837 0.986204 0.982612 +0.980653 0.970526 0.932 0.856842 0.747579 0.616842 0.530947 0.505684 +0.498107 0.446987 0.40344 0.371253 0.35232 0.348533 0.33528 0.320133 +0.33528 0.354213 0.365573 0.371253 0.3864 0.439413 0.484853 0.520211 +0.552421 0.544211 0.486747 0.356107 0.314453 0.320133 0.331493 0.354213 +0.34096 0.3296 0.33528 0.342853 0.350427 0.36936 0.395867 0.452667 +0.458347 0.40912 0.399653 0.424267 0.416693 0.390187 0.38072 0.3864 +0.407227 0.428053 0.390187 0.354213 0.337173 0.320133 0.325813 0.359893 +0.39776 0.384507 0.358 0.384507 0.405333 0.38072 0.34664 0.337173 +0.365573 0.446987 0.525895 0.570737 0.603579 0.608632 0.601053 0.589053 +0.566316 0.536 0.503789 0.42048 0.333387 0.308773 0.331493 0.358 +0.37504 0.371253 0.348533 0.342853 0.316347 0.293627 0.297413 0.322027 +0.35232 0.342853 0.308773 0.30688 0.33528 0.382613 0.446987 0.5 +0.502526 0.490533 0.464027 0.424267 0.388293 0.365573 0.356107 0.350427 +0.367467 0.395867 0.401547 0.395867 0.382613 0.382613 0.393973 0.42616 +0.412907 0.412907 0.429947 0.39776 0.378827 0.384507 0.38072 0.390187 +0.378827 0.38072 0.37504 0.359893 0.358 0.376933 0.43184 0.479173 +0.433733 0.39776 0.38072 0.34664 0.337173 0.37504 0.492427 0.512 +0.433733 0.373147 0.37504 0.395867 0.429947 0.446987 0.44888 0.43752 +0.42616 0.458347 0.475387 0.49432 0.511368 0.517053 0.527789 0.536632 +0.539789 0.539158 0.523368 0.498107 0.462133 0.4432 0.428053 0.42616 +0.43752 0.501263 0.554316 0.616842 0.656632 0.693263 0.763368 0.839158 +0.901684 0.942105 0.968632 0.985878 0.993061 1.00122 1.00808 1.01331 +1.01853 1.02278 1.02408 1.02963 1.03224 1.03388 1.03714 1.03388 +1.0342 1.03943 1.04041 1.03747 1.03878 1.03976 1.03649 1.03812 +1.03845 1.03976 1.0391 1.0391 1.04073 1.03845 1.03878 1.03616 +1.03747 1.0378 1.0378 1.03714 1.03616 1.04237 1.04367 1.0342 +1.03322 1.0329 1.03616 1.03355 1.03453 1.03649 1.03616 1.0378 +1.04073 1.04073 1.04106 1.04465 1.04335 1.04073 1.04106 1.04563 +1.044 1.04629 1.04563 1.04171 1.04433 1.04204 1.03649 1.0342 +1.03453 1.02963 1.02931 1.02571 1.0182 1.01527 1.01265 1.00873 +1.0071 1.00612 1.01265 1.01788 1.0182 1.01559 1.01527 1.01722 +1.01527 1.01592 1.01265 1.01037 1.01265 1.00612 0.971158 0.853053 +0.744421 0.683158 0.666105 0.666105 0.65979 0.651579 0.645263 0.648421 +0.635158 0.612421 0.581474 0.532842 0.504421 0.501263 0.496213 0.48296 +0.4716 0.452667 0.450773 0.458347 0.462133 0.458347 0.464027 0.48864 +0.492427 0.49432 0.500632 0.502526 0.505053 0.511368 0.507579 0.500632 +0.492427 0.492427 0.496213 0.48864 0.46592 0.456453 0.458347 0.462133 +0.475387 0.458347 0.43184 0.424267 0.43752 0.46024 0.475387 0.462133 +0.456453 0.450773 0.45456 0.433733 0.40912 0.393973 0.39208 0.40912 +0.42616 0.42616 0.416693 0.39776 0.38072 0.37504 0.36936 0.365573 +0.36368 0.365573 0.361787 0.342853 0.34664 0.348533 0.34096 0.359893 +0.358 0.350427 0.350427 0.359893 0.40912 0.435627 0.395867 0.367467 +0.354213 0.33528 0.337173 0.34664 0.358 0.365573 0.356107 0.359893 +0.359893 0.348533 0.331493 0.339067 0.36936 0.388293 0.371253 0.358 +0.359893 0.365573 0.37504 0.393973 0.407227 0.424267 0.43184 0.424267 +0.424267 0.536 0.718526 0.900421 0.966105 0.988816 1.00188 1.00384 +1.00253 0.994694 0.994041 1.0009 1.00384 1.00645 1.00971 1.00939 +1.00906 1.01004 1.01233 1.01363 1.01396 1.01363 1.01461 1.01527 +1.01331 1.01396 1.01363 1.01233 1.01527 1.01592 1.01494 1.01461 +1.00906 0.99698 0.987837 0.990449 0.999592 1.00776 1.00873 1.00939 +1.00449 0.990776 0.969263 0.956 0.954105 0.947158 0.947158 0.953474 +0.972421 0.987184 0.929474 0.719789 0.515158 0.31824 0.36936 0.484853 +0.490533 0.359893 0.246293 0.2728 0.316347 0.236827 0.000773333 0.000713333 +0.000733333 0.000753333 0.000766667 0.000766667 0.000713333 0.000706667 0.000713333 0.00072 +0.00072 0.00072 0.000726667 0.000726667 0.000733333 0.00072 0.000706667 0.000686667 +0.000673333 0.0007 0.00072 0.000713333 0.000726667 0.000733333 0.000706667 0.000713333 +0.00072 0.000693333 0.000686667 0.0007 0.0007 0.00068 0.0007 0.000713333 +0.00076 0.000773333 0.000746667 0.000733333 0.000746667 0.000753333 0.00076 0.000766667 +0.000746667 0.000733333 0.000733333 0.000746667 0.00074 0.000726667 0.00078 0.00082 +0.000833333 0.00086 0.000986667 0.31256 0.376933 0.371253 0.556842 0.804421 +0.981633 0.984245 0.955368 0.946526 0.949684 0.957263 0.959789 0.952211 +0.956 0.966737 0.966105 0.966105 0.978105 0.988816 0.997959 1.00416 +1.00841 1.01037 1.00939 1.00939 1.00547 1.00482 1.00645 1.00449 +1.00122 0.996327 0.988163 0.981306 0.981959 0.987184 0.987184 0.982286 +0.979368 0.966737 0.925053 0.840421 0.727368 0.603579 0.523368 0.498107 +0.49432 0.456453 0.40344 0.382613 0.373147 0.367467 0.342853 0.3296 +0.344747 0.344747 0.344747 0.344747 0.356107 0.3864 0.435627 0.525895 +0.582737 0.577684 0.504421 0.348533 0.327707 0.359893 0.3864 0.39776 +0.373147 0.359893 0.354213 0.350427 0.356107 0.382613 0.412907 0.490533 +0.49432 0.412907 0.393973 0.4148 0.42616 0.429947 0.416693 0.39776 +0.39208 0.395867 0.361787 0.342853 0.327707 0.322027 0.342853 0.36936 +0.37504 0.373147 0.388293 0.429947 0.43752 0.3864 0.350427 0.348533 +0.39208 0.450773 0.501263 0.520211 0.532842 0.544842 0.566947 0.580842 +0.573895 0.558105 0.536632 0.5 0.371253 0.316347 0.325813 0.339067 +0.35232 0.356107 0.339067 0.333387 0.314453 0.308773 0.331493 0.359893 +0.365573 0.34096 0.31256 0.32392 0.356107 0.393973 0.40912 0.40344 +0.378827 0.39208 0.42616 0.40344 0.365573 0.337173 0.33528 0.350427 +0.371253 0.367467 0.356107 0.344747 0.333387 0.348533 0.3864 0.43752 +0.412907 0.405333 0.424267 0.39208 0.382613 0.376933 0.367467 0.359893 +0.38072 0.401547 0.39208 0.361787 0.35232 0.361787 0.39208 0.450773 +0.48296 0.481067 0.411013 0.348533 0.33528 0.371253 0.469707 0.492427 +0.42048 0.395867 0.393973 0.393973 0.4148 0.422373 0.4432 0.46024 +0.469707 0.507579 0.513895 0.511368 0.512 0.503158 0.502526 0.49432 +0.496213 0.496213 0.484853 0.452667 0.42616 0.429947 0.40912 0.401547 +0.4432 0.492427 0.537263 0.563789 0.573895 0.611158 0.682526 0.766526 +0.841053 0.894105 0.933895 0.964211 0.981959 0.993388 1.00253 1.00808 +1.01265 1.01722 1.01984 1.02506 1.02865 1.03127 1.03649 1.0329 +1.0329 1.04041 1.04073 1.0378 1.03976 1.03943 1.03649 1.0378 +1.04008 1.04073 1.03616 1.03845 1.04106 1.03943 1.03878 1.03649 +1.03812 1.03682 1.03845 1.0378 1.03714 1.04139 1.04171 1.03355 +1.03388 1.03257 1.0342 1.03355 1.03486 1.03649 1.0378 1.03649 +1.04008 1.04139 1.04204 1.04727 1.04302 1.03943 1.04204 1.04629 +1.04367 1.04563 1.04204 1.04106 1.04335 1.04008 1.03714 1.0378 +1.0329 1.02702 1.02441 1.02016 1.01167 1.01069 1.01069 1.012 +1.01624 1.01429 1.01624 1.02016 1.02016 1.01788 1.01624 1.01755 +1.01527 1.01102 1.00482 1.00482 1.00188 0.962947 0.851158 0.74 +0.687579 0.674947 0.670526 0.664842 0.657263 0.649053 0.642737 0.639579 +0.623158 0.596 0.561263 0.517053 0.508842 0.513263 0.510105 0.506316 +0.500632 0.490533 0.498107 0.502526 0.505053 0.505684 0.505684 0.506947 +0.504421 0.502526 0.505684 0.504421 0.496213 0.500632 0.490533 0.4716 +0.47728 0.479173 0.469707 0.45456 0.429947 0.42616 0.429947 0.43184 +0.44888 0.450773 0.4148 0.395867 0.39776 0.433733 0.45456 0.441307 +0.43752 0.439413 0.441307 0.43184 0.411013 0.401547 0.407227 0.422373 +0.433733 0.435627 0.435627 0.424267 0.401547 0.390187 0.39208 0.38072 +0.365573 0.365573 0.361787 0.342853 0.337173 0.350427 0.356107 0.36368 +0.350427 0.350427 0.367467 0.382613 0.428053 0.4432 0.399653 0.371253 +0.37504 0.376933 0.376933 0.378827 0.373147 0.365573 0.350427 0.34096 +0.35232 0.373147 0.361787 0.373147 0.407227 0.401547 0.382613 0.388293 +0.399653 0.407227 0.416693 0.416693 0.407227 0.40344 0.412907 0.428053 +0.446987 0.558737 0.748211 0.906105 0.956 0.982286 0.994041 0.990776 +0.984898 0.986204 0.995347 1.00318 1.00449 1.00678 1.01004 1.00939 +1.00939 1.01167 1.01298 1.01331 1.01298 1.01363 1.01494 1.01429 +1.01265 1.01298 1.01461 1.01298 1.01429 1.01624 1.01559 1.01494 +1.00906 0.999918 0.994041 0.995347 1.00188 1.00873 1.00971 1.00939 +1.00743 0.99698 0.975579 0.956 0.957895 0.952211 0.947158 0.952211 +0.966737 0.984898 0.957263 0.779158 0.556842 0.348533 0.33528 0.450773 +0.505684 0.42048 0.280373 0.269013 0.31256 0.257653 0.000853333 0.000773333 +0.000753333 0.000733333 0.00072 0.000706667 0.000713333 0.0007 0.0007 0.000713333 +0.000726667 0.00072 0.00072 0.000733333 0.000726667 0.00072 0.000706667 0.0007 +0.00068 0.000686667 0.000706667 0.00072 0.000706667 0.0007 0.000686667 0.00072 +0.000746667 0.00076 0.000746667 0.00072 0.00072 0.00072 0.00072 0.000706667 +0.00072 0.000746667 0.000746667 0.000726667 0.00072 0.000733333 0.00074 0.000753333 +0.00076 0.000766667 0.000766667 0.000766667 0.000753333 0.000726667 0.000766667 0.000786667 +0.0008 0.00084 0.217893 0.339067 0.390187 0.416693 0.609263 0.862526 +0.987837 0.974947 0.947789 0.944632 0.949053 0.956 0.955368 0.952842 +0.961684 0.966737 0.968632 0.975579 0.987184 0.997959 1.0058 1.00873 +1.012 1.01461 1.01265 1.01135 1.00776 1.00678 1.00776 1.0071 +1.00416 0.998939 0.989469 0.980653 0.978105 0.984898 0.987184 0.984245 +0.982286 0.967368 0.918105 0.824632 0.705263 0.583368 0.508842 0.452667 +0.452667 0.452667 0.43184 0.418587 0.399653 0.382613 0.356107 0.344747 +0.356107 0.35232 0.34664 0.344747 0.34664 0.35232 0.384507 0.513895 +0.591579 0.592211 0.510105 0.3864 0.384507 0.405333 0.422373 0.42048 +0.39208 0.365573 0.350427 0.35232 0.359893 0.37504 0.384507 0.435627 +0.446987 0.382613 0.365573 0.393973 0.429947 0.462133 0.48296 0.464027 +0.433733 0.412907 0.388293 0.354213 0.322027 0.325813 0.358 0.365573 +0.356107 0.378827 0.395867 0.39208 0.382613 0.36936 0.36368 0.359893 +0.367467 0.390187 0.4148 0.429947 0.42048 0.439413 0.505684 0.534105 +0.552421 0.559368 0.555579 0.534737 0.467813 0.359893 0.339067 0.348533 +0.35232 0.356107 0.339067 0.322027 0.316347 0.333387 0.359893 0.361787 +0.34664 0.331493 0.333387 0.33528 0.34096 0.361787 0.358 0.342853 +0.339067 0.365573 0.378827 0.350427 0.3296 0.322027 0.3296 0.342853 +0.350427 0.339067 0.331493 0.33528 0.339067 0.348533 0.405333 0.456453 +0.399653 0.37504 0.416693 0.428053 0.407227 0.361787 0.35232 0.354213 +0.365573 0.376933 0.3864 0.376933 0.359893 0.36368 0.378827 0.43184 +0.513263 0.536632 0.492427 0.365573 0.344747 0.36368 0.42616 0.44888 +0.405333 0.378827 0.376933 0.382613 0.393973 0.40912 0.4432 0.500632 +0.517053 0.522737 0.514526 0.502526 0.475387 0.445093 0.441307 0.422373 +0.42048 0.43752 0.456453 0.435627 0.40912 0.42616 0.416693 0.428053 +0.473493 0.506947 0.535368 0.537895 0.531579 0.568211 0.627579 0.692632 +0.766526 0.824632 0.878947 0.922526 0.956632 0.982286 0.993714 1.00122 +1.00678 1.01135 1.01494 1.02245 1.02865 1.02767 1.03159 1.03127 +1.0329 1.04008 1.03943 1.03616 1.03943 1.0378 1.03551 1.0378 +1.04073 1.03943 1.03649 1.04008 1.03943 1.0391 1.03878 1.03616 +1.03812 1.0342 1.03747 1.03649 1.03616 1.03878 1.03976 1.0342 +1.03584 1.03486 1.03453 1.03388 1.0342 1.03616 1.03518 1.0329 +1.03878 1.04106 1.04106 1.04596 1.04171 1.04106 1.04335 1.04498 +1.04367 1.04465 1.04171 1.04073 1.04237 1.03943 1.03812 1.03682 +1.02996 1.02343 1.01755 1.01396 1.01004 1.01102 1.01135 1.01624 +1.02082 1.01788 1.01853 1.02049 1.01984 1.02082 1.0182 1.01494 +1.01167 1.00514 0.996653 0.990776 0.954737 0.851789 0.748842 0.692 +0.670526 0.666105 0.668 0.657263 0.646526 0.636421 0.629474 0.618737 +0.596 0.570737 0.549895 0.534105 0.541053 0.542316 0.530316 0.521474 +0.518947 0.517053 0.516421 0.518947 0.513895 0.510105 0.505684 0.496213 +0.481067 0.484853 0.492427 0.49432 0.469707 0.458347 0.452667 0.439413 +0.435627 0.435627 0.42616 0.412907 0.401547 0.399653 0.390187 0.393973 +0.407227 0.40912 0.411013 0.390187 0.376933 0.399653 0.40912 0.401547 +0.399653 0.401547 0.405333 0.405333 0.39776 0.39208 0.390187 0.393973 +0.40912 0.4148 0.416693 0.412907 0.407227 0.39776 0.384507 0.378827 +0.367467 0.359893 0.361787 0.361787 0.354213 0.35232 0.361787 0.367467 +0.358 0.359893 0.36936 0.3864 0.40912 0.393973 0.37504 0.38072 +0.40344 0.407227 0.39776 0.3864 0.365573 0.36368 0.371253 0.367467 +0.36936 0.401547 0.40912 0.416693 0.428053 0.418587 0.40912 0.4148 +0.43184 0.446987 0.45456 0.446987 0.435627 0.428053 0.43184 0.445093 +0.48296 0.589684 0.778526 0.911158 0.950316 0.973684 0.985551 0.981959 +0.973053 0.984898 0.998286 1.0058 1.0071 1.00808 1.00906 1.00808 +1.01037 1.01298 1.01265 1.01265 1.01135 1.01331 1.01624 1.01363 +1.01331 1.01331 1.01429 1.01363 1.01396 1.01559 1.01527 1.01657 +1.01363 1.00873 1.00449 1.00155 1.00449 1.00939 1.00971 1.01037 +1.01069 1.00351 0.983265 0.959789 0.959789 0.954737 0.944632 0.947789 +0.959789 0.980327 0.976842 0.836632 0.59979 0.371253 0.280373 0.36936 +0.5 0.500632 0.390187 0.32392 0.3296 0.265227 0.000853333 0.00074 +0.000726667 0.000713333 0.000726667 0.000726667 0.000733333 0.00074 0.000733333 0.000726667 +0.000713333 0.000706667 0.000726667 0.000706667 0.000693333 0.000706667 0.000706667 0.000726667 +0.000726667 0.00072 0.000713333 0.00072 0.00072 0.000706667 0.0007 0.00072 +0.000726667 0.00074 0.000733333 0.000726667 0.000746667 0.000746667 0.000753333 0.000733333 +0.000726667 0.00072 0.000753333 0.00076 0.00074 0.00074 0.000746667 0.000733333 +0.000746667 0.00074 0.000753333 0.00076 0.000753333 0.00076 0.000786667 0.000806667 +0.00082 0.00088 0.231147 0.35232 0.390187 0.475387 0.667368 0.909263 +0.990122 0.969895 0.950316 0.946526 0.951579 0.956 0.950316 0.947789 +0.961053 0.967368 0.976211 0.988163 0.999918 1.01037 1.01396 1.01265 +1.01331 1.01559 1.01396 1.01135 1.00971 1.00873 1.01102 1.01069 +1.00808 1.00253 0.992735 0.983592 0.975579 0.98 0.984898 0.984571 +0.98098 0.961684 0.909895 0.810737 0.688211 0.570737 0.48864 0.418587 +0.422373 0.43752 0.446987 0.44888 0.4148 0.382613 0.36368 0.361787 +0.365573 0.344747 0.342853 0.354213 0.350427 0.35232 0.367467 0.486747 +0.576421 0.593474 0.521474 0.43752 0.4148 0.384507 0.371253 0.373147 +0.367467 0.35232 0.348533 0.350427 0.34096 0.33528 0.333387 0.365573 +0.401547 0.382613 0.354213 0.36936 0.407227 0.456453 0.506316 0.516421 +0.513895 0.501895 0.46024 0.390187 0.34096 0.344747 0.36368 0.365573 +0.38072 0.401547 0.382613 0.34664 0.342853 0.354213 0.350427 0.34096 +0.35232 0.384507 0.401547 0.3864 0.36936 0.382613 0.418587 0.469707 +0.515789 0.542316 0.563158 0.573263 0.538526 0.446987 0.376933 0.36368 +0.378827 0.428053 0.40344 0.348533 0.337173 0.342853 0.34664 0.327707 +0.325813 0.337173 0.36936 0.350427 0.33528 0.348533 0.34664 0.33528 +0.348533 0.36368 0.35232 0.325813 0.325813 0.33528 0.342853 0.34096 +0.339067 0.331493 0.32392 0.325813 0.32392 0.327707 0.371253 0.39776 +0.359893 0.359893 0.43184 0.498107 0.452667 0.36368 0.337173 0.350427 +0.36368 0.35232 0.361787 0.382613 0.373147 0.36936 0.382613 0.42048 +0.507579 0.542316 0.514526 0.40344 0.344747 0.333387 0.367467 0.395867 +0.388293 0.365573 0.37504 0.39776 0.407227 0.43752 0.486747 0.518316 +0.527158 0.511368 0.490533 0.464027 0.446987 0.43184 0.42616 0.42048 +0.429947 0.446987 0.458347 0.428053 0.411013 0.441307 0.467813 0.502526 +0.520211 0.534737 0.542947 0.525263 0.513263 0.541053 0.587158 0.625684 +0.686947 0.748842 0.812 0.865684 0.912421 0.956 0.984571 0.994041 +1.00122 1.00547 1.00808 1.01755 1.02408 1.02212 1.02767 1.03159 +1.03224 1.03976 1.03976 1.03584 1.0391 1.03714 1.03355 1.03584 +1.04237 1.04008 1.03682 1.04073 1.03845 1.03845 1.03812 1.03551 +1.03584 1.03355 1.03845 1.0378 1.03878 1.0391 1.03714 1.03322 +1.03224 1.03486 1.03682 1.03388 1.03192 1.03682 1.03388 1.03257 +1.03943 1.04171 1.04106 1.04237 1.04106 1.04465 1.04335 1.04237 +1.04302 1.04531 1.04433 1.03976 1.04106 1.03845 1.03584 1.03388 +1.02898 1.02114 1.01396 1.01233 1.012 1.01429 1.01494 1.01657 +1.01853 1.01886 1.01918 1.01853 1.01788 1.01886 1.01657 1.01233 +1.00743 0.997959 0.984571 0.940842 0.851789 0.758316 0.695789 0.668 +0.654105 0.652842 0.654105 0.645895 0.633895 0.625053 0.619368 0.602947 +0.577053 0.558737 0.562526 0.568211 0.569474 0.553684 0.530947 0.517684 +0.512632 0.510105 0.512 0.518947 0.509474 0.492427 0.469707 0.4432 +0.446987 0.46592 0.48864 0.490533 0.46592 0.44888 0.43184 0.422373 +0.42048 0.412907 0.395867 0.388293 0.39208 0.384507 0.37504 0.390187 +0.390187 0.37504 0.3864 0.38072 0.36936 0.39208 0.395867 0.390187 +0.3864 0.38072 0.37504 0.378827 0.382613 0.376933 0.37504 0.373147 +0.371253 0.36936 0.382613 0.376933 0.382613 0.37504 0.354213 0.359893 +0.359893 0.354213 0.361787 0.38072 0.367467 0.35232 0.359893 0.373147 +0.37504 0.36368 0.358 0.378827 0.390187 0.367467 0.358 0.38072 +0.407227 0.39776 0.384507 0.384507 0.378827 0.378827 0.382613 0.382613 +0.388293 0.401547 0.411013 0.418587 0.42616 0.416693 0.411013 0.4148 +0.428053 0.446987 0.46592 0.46592 0.462133 0.46592 0.469707 0.467813 +0.506947 0.621263 0.805684 0.921263 0.956632 0.971789 0.98098 0.971158 +0.967368 0.987837 1.00188 1.00678 1.00743 1.00776 1.00906 1.00939 +1.01069 1.012 1.01069 1.01265 1.01461 1.01559 1.01657 1.01396 +1.01331 1.01233 1.01298 1.01331 1.01494 1.0169 1.01429 1.01559 +1.01494 1.01429 1.01233 1.00645 1.00645 1.01004 1.00971 1.00906 +1.01037 1.0058 0.987837 0.968 0.963579 0.959158 0.947158 0.946526 +0.952211 0.969263 0.980653 0.876421 0.642105 0.4148 0.259547 0.28984 +0.418587 0.509474 0.496213 0.388293 0.32392 0.2444 0.000826667 0.00078 +0.00076 0.000726667 0.00074 0.000746667 0.000733333 0.000733333 0.00074 0.00074 +0.000726667 0.00072 0.00074 0.000726667 0.00072 0.000726667 0.000713333 0.000713333 +0.00072 0.000726667 0.0007 0.000693333 0.000706667 0.000726667 0.000713333 0.000726667 +0.00074 0.00074 0.00074 0.00074 0.000726667 0.0007 0.000746667 0.000746667 +0.00072 0.000706667 0.000733333 0.000773333 0.000746667 0.000733333 0.000746667 0.000753333 +0.00076 0.000733333 0.000713333 0.00072 0.000753333 0.000786667 0.000806667 0.000813333 +0.00082 0.000866667 0.246293 0.365573 0.399653 0.522105 0.729263 0.946526 +0.987184 0.961684 0.947158 0.946526 0.956632 0.960421 0.955368 0.954105 +0.962316 0.969895 0.983918 0.997633 1.00808 1.01624 1.01755 1.01494 +1.01461 1.0169 1.01592 1.01363 1.01331 1.012 1.012 1.01037 +1.00971 1.00514 0.997633 0.989143 0.978105 0.969895 0.980653 0.983265 +0.978737 0.957895 0.902947 0.797474 0.674316 0.565053 0.479173 0.412907 +0.418587 0.429947 0.441307 0.4716 0.462133 0.416693 0.388293 0.390187 +0.38072 0.344747 0.34664 0.361787 0.344747 0.342853 0.358 0.4432 +0.557474 0.593474 0.531579 0.43184 0.384507 0.344747 0.322027 0.3296 +0.34096 0.342853 0.342853 0.342853 0.325813 0.320133 0.322027 0.344747 +0.382613 0.390187 0.359893 0.348533 0.367467 0.40912 0.486747 0.524632 +0.546105 0.557474 0.551789 0.508842 0.416693 0.390187 0.388293 0.390187 +0.407227 0.399653 0.371253 0.35232 0.339067 0.331493 0.337173 0.358 +0.384507 0.4148 0.401547 0.378827 0.3864 0.405333 0.422373 0.43184 +0.46592 0.514526 0.556842 0.611158 0.595368 0.520842 0.43752 0.39208 +0.424267 0.510105 0.48864 0.365573 0.337173 0.34096 0.33528 0.31256 +0.331493 0.390187 0.458347 0.416693 0.34096 0.342853 0.34664 0.339067 +0.356107 0.358 0.342853 0.331493 0.3296 0.34096 0.348533 0.33528 +0.3296 0.342853 0.339067 0.34096 0.33528 0.331493 0.365573 0.361787 +0.350427 0.36368 0.435627 0.506947 0.467813 0.358 0.327707 0.348533 +0.367467 0.350427 0.33528 0.373147 0.393973 0.38072 0.376933 0.390187 +0.435627 0.503158 0.479173 0.401547 0.348533 0.325813 0.34096 0.378827 +0.39776 0.38072 0.384507 0.40912 0.40912 0.433733 0.48864 0.517684 +0.518316 0.48864 0.452667 0.458347 0.45456 0.445093 0.43184 0.43752 +0.4716 0.496213 0.467813 0.433733 0.464027 0.515158 0.543579 0.563158 +0.56 0.545474 0.533474 0.517684 0.503789 0.519579 0.548632 0.573895 +0.620632 0.678105 0.736842 0.793053 0.849895 0.912421 0.965474 0.986531 +0.995347 1.00057 1.0022 1.00971 1.01722 1.02016 1.02408 1.02767 +1.02963 1.03682 1.03747 1.03714 1.03747 1.03649 1.03486 1.03616 +1.044 1.04106 1.03714 1.03878 1.03714 1.0378 1.0378 1.03584 +1.03518 1.03192 1.0378 1.03747 1.04008 1.03845 1.03518 1.03355 +1.03127 1.0342 1.03714 1.03453 1.03159 1.03518 1.03322 1.03322 +1.03878 1.04171 1.04008 1.03845 1.04237 1.04563 1.04106 1.04367 +1.044 1.04531 1.04498 1.04008 1.04106 1.03584 1.03029 1.03029 +1.02604 1.0218 1.01624 1.01461 1.01559 1.01788 1.01624 1.0169 +1.01592 1.01657 1.01527 1.01167 1.01298 1.01396 1.01298 1.01037 +1.00057 0.982939 0.937053 0.858737 0.765895 0.706526 0.671158 0.651579 +0.645895 0.645895 0.642105 0.640842 0.633263 0.618737 0.600421 0.573263 +0.555579 0.557474 0.577053 0.578316 0.561263 0.530947 0.509474 0.501263 +0.496213 0.486747 0.501263 0.510105 0.505053 0.48296 0.462133 0.43752 +0.441307 0.46592 0.484853 0.473493 0.446987 0.43184 0.424267 0.428053 +0.422373 0.412907 0.393973 0.37504 0.38072 0.384507 0.390187 0.401547 +0.3864 0.359893 0.376933 0.37504 0.367467 0.39208 0.399653 0.39776 +0.388293 0.371253 0.361787 0.36936 0.36936 0.359893 0.36368 0.376933 +0.365573 0.344747 0.342853 0.34664 0.358 0.359893 0.34096 0.337173 +0.34096 0.356107 0.361787 0.373147 0.376933 0.36368 0.348533 0.350427 +0.356107 0.354213 0.36368 0.388293 0.382613 0.36368 0.350427 0.365573 +0.384507 0.384507 0.38072 0.390187 0.393973 0.399653 0.39208 0.39208 +0.393973 0.3864 0.37504 0.388293 0.405333 0.401547 0.412907 0.42616 +0.429947 0.44888 0.46024 0.464027 0.475387 0.492427 0.498107 0.484853 +0.522105 0.654105 0.830947 0.931368 0.960421 0.972421 0.977474 0.964842 +0.968632 0.991429 1.00253 1.00678 1.00743 1.00743 1.00873 1.01069 +1.01102 1.01135 1.01069 1.01298 1.01559 1.01592 1.01494 1.01265 +1.01363 1.01363 1.01527 1.01592 1.01657 1.01592 1.01396 1.01559 +1.01494 1.01363 1.01265 1.00547 1.00482 1.00808 1.00808 1.00841 +1.00841 1.00645 0.994694 0.978737 0.967368 0.962316 0.950316 0.940211 +0.940211 0.960421 0.982939 0.915579 0.693263 0.481067 0.253867 0.22168 +0.299307 0.450773 0.501263 0.411013 0.308773 0.223573 0.000833333 0.00078 +0.00076 0.000706667 0.000686667 0.0007 0.00074 0.00074 0.000713333 0.0007 +0.0007 0.000713333 0.000733333 0.000746667 0.00076 0.000753333 0.00074 0.00074 +0.00072 0.000713333 0.000706667 0.000686667 0.000693333 0.000726667 0.000726667 0.000713333 +0.00072 0.000733333 0.000746667 0.000753333 0.00074 0.000693333 0.00072 0.000766667 +0.000733333 0.0007 0.000706667 0.00072 0.000726667 0.000733333 0.000746667 0.000766667 +0.00078 0.00076 0.000726667 0.000733333 0.00076 0.000773333 0.00078 0.0008 +0.000813333 0.000873333 0.269013 0.378827 0.411013 0.558105 0.788632 0.974316 +0.985551 0.959158 0.945263 0.945895 0.956 0.956632 0.954737 0.959158 +0.967368 0.981306 0.994041 1.00547 1.01102 1.01461 1.01494 1.01298 +1.01429 1.01755 1.01657 1.01461 1.01429 1.01331 1.01135 1.01135 +1.01102 1.0071 1.0022 0.995673 0.984898 0.969263 0.970526 0.978105 +0.974316 0.957263 0.903579 0.796211 0.667368 0.558105 0.467813 0.412907 +0.42048 0.435627 0.445093 0.47728 0.479173 0.439413 0.418587 0.424267 +0.411013 0.376933 0.36368 0.361787 0.34096 0.337173 0.35232 0.42048 +0.537263 0.581474 0.530316 0.39776 0.342853 0.322027 0.314453 0.32392 +0.327707 0.32392 0.3296 0.339067 0.325813 0.331493 0.337173 0.34664 +0.358 0.37504 0.36936 0.342853 0.337173 0.36936 0.418587 0.5 +0.544211 0.609895 0.651579 0.603579 0.532842 0.492427 0.439413 0.405333 +0.390187 0.37504 0.373147 0.359893 0.33528 0.331493 0.35232 0.3864 +0.39776 0.405333 0.388293 0.378827 0.4148 0.43752 0.433733 0.4148 +0.412907 0.458347 0.529684 0.607368 0.612421 0.541053 0.49432 0.43752 +0.422373 0.450773 0.399653 0.320133 0.30688 0.325813 0.33528 0.31824 +0.3296 0.416693 0.500632 0.450773 0.35232 0.34664 0.339067 0.34664 +0.376933 0.367467 0.35232 0.356107 0.34096 0.342853 0.350427 0.34096 +0.339067 0.356107 0.36936 0.376933 0.373147 0.367467 0.390187 0.384507 +0.36936 0.365573 0.411013 0.500632 0.484853 0.390187 0.358 0.365573 +0.37504 0.361787 0.344747 0.378827 0.416693 0.405333 0.382613 0.373147 +0.388293 0.40344 0.382613 0.359893 0.339067 0.316347 0.337173 0.382613 +0.40912 0.390187 0.371253 0.384507 0.382613 0.382613 0.4148 0.492427 +0.519579 0.505684 0.479173 0.48864 0.48296 0.45456 0.44888 0.492427 +0.530947 0.556842 0.536632 0.522105 0.554947 0.608 0.650947 0.647789 +0.595368 0.549263 0.529684 0.520211 0.503789 0.504421 0.518316 0.537263 +0.566316 0.616211 0.666105 0.714737 0.776 0.854316 0.927579 0.967368 +0.98098 0.986531 0.993061 0.999592 1.00939 1.01624 1.01886 1.0218 +1.02604 1.03224 1.03453 1.03812 1.03518 1.03322 1.03616 1.03682 +1.04204 1.04302 1.03714 1.03747 1.03747 1.03682 1.03714 1.03551 +1.0342 1.03094 1.03551 1.03682 1.04008 1.03616 1.03453 1.03518 +1.0329 1.03551 1.03388 1.03355 1.03061 1.03322 1.03224 1.03322 +1.0378 1.03845 1.03747 1.03584 1.04204 1.04237 1.04008 1.04596 +1.04498 1.04531 1.04335 1.04106 1.04335 1.03584 1.02931 1.02898 +1.02408 1.02278 1.01918 1.01918 1.02016 1.01788 1.01265 1.01167 +1.00939 1.00971 1.00645 1.00449 1.00645 1.0071 1.00384 0.997633 +0.976211 0.913684 0.839789 0.762105 0.707789 0.677474 0.656632 0.642737 +0.638947 0.637053 0.632 0.636421 0.623789 0.589684 0.563789 0.542947 +0.532211 0.539158 0.555579 0.552421 0.541053 0.518947 0.49432 0.492427 +0.501263 0.501263 0.507579 0.510737 0.505684 0.49432 0.4716 0.458347 +0.473493 0.469707 0.452667 0.43752 0.411013 0.39208 0.42616 0.462133 +0.424267 0.40912 0.399653 0.373147 0.367467 0.373147 0.39776 0.4148 +0.39208 0.365573 0.37504 0.36936 0.36936 0.412907 0.42048 0.39776 +0.382613 0.36368 0.359893 0.378827 0.373147 0.35232 0.358 0.376933 +0.365573 0.339067 0.327707 0.337173 0.359893 0.358 0.337173 0.331493 +0.348533 0.365573 0.359893 0.34664 0.348533 0.348533 0.337173 0.337173 +0.333387 0.331493 0.356107 0.37504 0.354213 0.34664 0.348533 0.344747 +0.344747 0.348533 0.356107 0.37504 0.388293 0.39208 0.390187 0.3864 +0.376933 0.371253 0.371253 0.37504 0.3864 0.382613 0.399653 0.424267 +0.43752 0.456453 0.462133 0.456453 0.473493 0.49432 0.500632 0.502526 +0.543579 0.687579 0.854316 0.940211 0.960421 0.964842 0.966105 0.957895 +0.972421 0.993388 1.00286 1.00612 1.00776 1.00906 1.01004 1.01298 +1.01167 1.01102 1.01167 1.01298 1.01363 1.01461 1.01559 1.01527 +1.01559 1.01429 1.01363 1.01559 1.0169 1.01624 1.01559 1.01624 +1.01363 1.01167 1.00906 1.00057 1.00057 1.0071 1.00939 1.00939 +1.00808 1.00645 0.999592 0.982286 0.964842 0.959158 0.948421 0.943368 +0.943368 0.959158 0.982939 0.938947 0.735579 0.515789 0.259547 0.000946667 +0.23872 0.365573 0.433733 0.348533 0.2444 0.0009 0.0008 0.00076 +0.00074 0.00072 0.000706667 0.000726667 0.000733333 0.000733333 0.00074 0.000726667 +0.000706667 0.000706667 0.00072 0.000726667 0.000733333 0.00072 0.00072 0.000726667 +0.000713333 0.000713333 0.00074 0.00074 0.00072 0.000733333 0.00074 0.000733333 +0.000713333 0.000693333 0.000706667 0.000726667 0.00074 0.00072 0.000706667 0.000733333 +0.00076 0.000726667 0.000733333 0.000726667 0.000713333 0.00072 0.000726667 0.000733333 +0.000753333 0.000753333 0.000766667 0.000806667 0.000806667 0.00078 0.000793333 0.000833333 +0.000846667 0.000906667 0.28984 0.376933 0.416693 0.597895 0.840421 0.985224 +0.983265 0.956632 0.945895 0.949684 0.957895 0.956632 0.955368 0.960421 +0.968 0.985878 1.0022 1.01004 1.01331 1.01429 1.01429 1.01298 +1.01429 1.01559 1.01494 1.01298 1.01233 1.01233 1.01135 1.01265 +1.012 1.00873 1.00514 0.999918 0.990776 0.978105 0.971158 0.973053 +0.971158 0.957895 0.906737 0.797474 0.661053 0.552421 0.469707 0.4148 +0.42048 0.441307 0.439413 0.428053 0.405333 0.3864 0.39208 0.418587 +0.429947 0.428053 0.4148 0.382613 0.354213 0.339067 0.34096 0.38072 +0.511368 0.566316 0.534105 0.399653 0.331493 0.316347 0.31256 0.32392 +0.325813 0.31824 0.331493 0.333387 0.325813 0.331493 0.34096 0.342853 +0.337173 0.348533 0.35232 0.344747 0.339067 0.359893 0.38072 0.411013 +0.507579 0.592211 0.676211 0.668632 0.613053 0.567579 0.526526 0.467813 +0.39208 0.371253 0.373147 0.348533 0.339067 0.367467 0.395867 0.399653 +0.376933 0.373147 0.37504 0.37504 0.407227 0.42048 0.39208 0.371253 +0.38072 0.40912 0.46592 0.541684 0.557474 0.522737 0.503789 0.481067 +0.433733 0.36368 0.310667 0.29552 0.3012 0.325813 0.33528 0.331493 +0.344747 0.390187 0.422373 0.395867 0.342853 0.325813 0.344747 0.384507 +0.399653 0.37504 0.37504 0.3864 0.373147 0.354213 0.348533 0.348533 +0.35232 0.358 0.373147 0.39776 0.39776 0.399653 0.40912 0.40344 +0.376933 0.354213 0.39208 0.496213 0.513895 0.47728 0.4148 0.39776 +0.393973 0.37504 0.361787 0.378827 0.411013 0.439413 0.439413 0.412907 +0.393973 0.367467 0.33528 0.33528 0.34664 0.342853 0.36368 0.378827 +0.3864 0.37504 0.365573 0.365573 0.361787 0.348533 0.36936 0.446987 +0.522737 0.517053 0.479173 0.479173 0.4716 0.4432 0.469707 0.536632 +0.631368 0.692632 0.645895 0.601053 0.630737 0.683789 0.705895 0.668632 +0.597895 0.544842 0.519579 0.519579 0.508842 0.501895 0.506316 0.513263 +0.534105 0.573263 0.613053 0.649684 0.705895 0.781684 0.861895 0.913684 +0.932632 0.953474 0.98098 0.990449 1.00155 1.00939 1.012 1.01722 +1.0231 1.02833 1.02996 1.03486 1.03355 1.03159 1.03355 1.03486 +1.03812 1.04204 1.03845 1.03845 1.03714 1.03355 1.03551 1.03486 +1.0329 1.03159 1.03518 1.03714 1.03616 1.03388 1.03518 1.03649 +1.03322 1.03355 1.03192 1.03224 1.03029 1.03224 1.03061 1.0329 +1.03649 1.03616 1.03747 1.03682 1.04171 1.04106 1.04237 1.04531 +1.04498 1.04727 1.044 1.04465 1.04824 1.04171 1.0391 1.03584 +1.02898 1.02735 1.02604 1.02571 1.02278 1.01657 1.00808 1.00416 +1.00286 1.00188 0.996 0.994041 0.99502 0.989796 0.976211 0.937684 +0.865053 0.781684 0.712211 0.671158 0.657895 0.647789 0.638316 0.625684 +0.622526 0.621895 0.612421 0.605474 0.580211 0.543579 0.534737 0.532211 +0.517053 0.513263 0.522105 0.526526 0.534105 0.530316 0.513895 0.510105 +0.514526 0.510737 0.506947 0.505053 0.509474 0.502526 0.46592 0.4716 +0.501895 0.486747 0.433733 0.416693 0.399653 0.388293 0.4432 0.479173 +0.422373 0.395867 0.395867 0.382613 0.376933 0.384507 0.422373 0.441307 +0.407227 0.37504 0.376933 0.367467 0.3864 0.441307 0.433733 0.384507 +0.36368 0.36368 0.38072 0.40344 0.378827 0.350427 0.35232 0.36936 +0.361787 0.34096 0.3296 0.339067 0.359893 0.361787 0.36936 0.384507 +0.39208 0.356107 0.325813 0.327707 0.33528 0.337173 0.331493 0.34096 +0.333387 0.31256 0.32392 0.339067 0.325813 0.327707 0.333387 0.333387 +0.337173 0.33528 0.34096 0.358 0.359893 0.354213 0.359893 0.358 +0.358 0.373147 0.384507 0.384507 0.384507 0.376933 0.388293 0.40912 +0.433733 0.458347 0.473493 0.464027 0.479173 0.490533 0.496213 0.508211 +0.561263 0.712842 0.870105 0.944 0.959158 0.954737 0.949053 0.947158 +0.975579 0.995673 1.00482 1.00743 1.00808 1.01004 1.00939 1.01233 +1.012 1.012 1.01461 1.01559 1.01461 1.01494 1.01527 1.01429 +1.01494 1.01527 1.01429 1.01624 1.01722 1.01494 1.01461 1.01559 +1.00939 1.00612 1.00384 0.996327 0.998612 1.00808 1.01102 1.01069 +1.00776 1.00449 0.999592 0.984571 0.968632 0.962947 0.952211 0.945895 +0.942737 0.950947 0.974947 0.952211 0.777895 0.553684 0.308773 0.217893 +0.242507 0.3296 0.344747 0.25008 0.000866667 0.00078 0.00078 0.000786667 +0.000793333 0.00078 0.00072 0.000693333 0.00072 0.000713333 0.00074 0.00074 +0.000733333 0.000726667 0.000713333 0.000713333 0.000733333 0.000726667 0.000726667 0.0007 +0.000693333 0.000706667 0.00072 0.000733333 0.00072 0.00072 0.00072 0.000746667 +0.000746667 0.000733333 0.00072 0.0007 0.00072 0.00072 0.000693333 0.000693333 +0.00072 0.00072 0.00072 0.000726667 0.000733333 0.000753333 0.000746667 0.000733333 +0.00074 0.00074 0.000753333 0.00078 0.000786667 0.000766667 0.000786667 0.00084 +0.000866667 0.000966667 0.31256 0.373147 0.445093 0.642737 0.885895 0.989796 +0.98 0.950316 0.944632 0.952211 0.956 0.956632 0.959158 0.966737 +0.978737 0.993061 1.00743 1.01233 1.01461 1.01559 1.01461 1.01135 +1.01265 1.01461 1.01527 1.01461 1.01429 1.01298 1.012 1.01233 +1.01135 1.00939 1.00612 1.00286 0.997306 0.987837 0.98 0.973053 +0.968632 0.956632 0.905474 0.791158 0.651579 0.549895 0.47728 0.407227 +0.405333 0.4148 0.393973 0.371253 0.35232 0.339067 0.348533 0.36936 +0.393973 0.429947 0.450773 0.4432 0.407227 0.382613 0.371253 0.37504 +0.4716 0.546105 0.537263 0.429947 0.342853 0.3296 0.32392 0.337173 +0.354213 0.350427 0.358 0.359893 0.354213 0.361787 0.358 0.344747 +0.337173 0.337173 0.33528 0.34096 0.337173 0.350427 0.376933 0.384507 +0.411013 0.516421 0.590316 0.635789 0.654105 0.657895 0.633895 0.584 +0.520211 0.428053 0.37504 0.35232 0.36368 0.405333 0.416693 0.393973 +0.37504 0.36936 0.365573 0.367467 0.390187 0.3864 0.354213 0.354213 +0.373147 0.38072 0.3864 0.43752 0.469707 0.469707 0.484853 0.492427 +0.484853 0.407227 0.31824 0.299307 0.308773 0.34096 0.348533 0.344747 +0.367467 0.36936 0.342853 0.337173 0.327707 0.331493 0.39776 0.4432 +0.40344 0.371253 0.3864 0.399653 0.3864 0.361787 0.34096 0.342853 +0.365573 0.359893 0.358 0.373147 0.371253 0.3864 0.428053 0.43184 +0.378827 0.34664 0.376933 0.490533 0.536 0.539789 0.510737 0.439413 +0.390187 0.361787 0.356107 0.373147 0.405333 0.512 0.542316 0.522737 +0.464027 0.36368 0.31256 0.337173 0.388293 0.401547 0.418587 0.399653 +0.36936 0.358 0.35232 0.358 0.35232 0.358 0.388293 0.445093 +0.509474 0.501895 0.416693 0.416693 0.418587 0.4148 0.475387 0.565684 +0.721053 0.806316 0.717895 0.628842 0.625053 0.636421 0.632 0.592842 +0.545474 0.512632 0.4716 0.500632 0.508211 0.510105 0.512 0.509474 +0.520211 0.550526 0.576421 0.604842 0.648421 0.716 0.786105 0.838526 +0.868842 0.906737 0.943368 0.968632 0.988163 1.00024 1.00514 1.01037 +1.01755 1.0218 1.02278 1.02604 1.02931 1.02833 1.03159 1.03224 +1.03388 1.03616 1.03714 1.0378 1.03322 1.03224 1.03551 1.03747 +1.03453 1.03322 1.0378 1.03747 1.03257 1.03355 1.03551 1.03486 +1.03257 1.03192 1.03029 1.03029 1.03061 1.03192 1.02833 1.03192 +1.03388 1.03355 1.03747 1.03714 1.04171 1.04237 1.04237 1.04531 +1.04955 1.05216 1.04727 1.0489 1.05151 1.04629 1.04988 1.0489 +1.04269 1.04073 1.03845 1.03453 1.02669 1.01755 1.0071 0.999265 +0.997306 0.99502 0.987184 0.982939 0.971789 0.936421 0.877684 0.791158 +0.697684 0.640842 0.614947 0.613053 0.620632 0.621895 0.623158 0.613684 +0.606737 0.595368 0.569474 0.546737 0.523368 0.508211 0.520211 0.524 +0.503789 0.490533 0.502526 0.511368 0.527158 0.534737 0.528421 0.518947 +0.513895 0.508211 0.49432 0.4716 0.500632 0.486747 0.44888 0.46592 +0.48864 0.490533 0.456453 0.42616 0.412907 0.43752 0.484853 0.462133 +0.411013 0.384507 0.3864 0.3864 0.382613 0.412907 0.462133 0.467813 +0.407227 0.367467 0.37504 0.384507 0.424267 0.45456 0.42616 0.3864 +0.365573 0.378827 0.407227 0.42048 0.38072 0.34096 0.3296 0.356107 +0.361787 0.34096 0.333387 0.34664 0.350427 0.350427 0.378827 0.405333 +0.39776 0.34096 0.308773 0.316347 0.327707 0.331493 0.331493 0.34096 +0.3296 0.30688 0.303093 0.308773 0.310667 0.325813 0.34096 0.34664 +0.348533 0.34664 0.34664 0.34664 0.34096 0.33528 0.342853 0.344747 +0.361787 0.37504 0.376933 0.376933 0.384507 0.3864 0.393973 0.405333 +0.428053 0.450773 0.473493 0.481067 0.496213 0.501263 0.502526 0.517684 +0.581474 0.738737 0.885263 0.949053 0.961053 0.952211 0.940842 0.946526 +0.981306 0.998612 1.00678 1.00808 1.00808 1.00906 1.00776 1.01135 +1.01298 1.01265 1.01331 1.01429 1.01331 1.01298 1.01298 1.01363 +1.01527 1.01592 1.01494 1.01657 1.01592 1.012 1.01167 1.01429 +1.0071 0.998612 0.993388 0.989143 0.995347 1.00514 1.00873 1.00906 +1.00841 1.00547 1.00155 0.989143 0.973053 0.964211 0.949684 0.940842 +0.939579 0.947158 0.972421 0.968632 0.820842 0.593474 0.359893 0.236827 +0.265227 0.3296 0.3012 0.000993333 0.000833333 0.00082 0.000806667 0.000813333 +0.0008 0.000746667 0.000673333 0.00066 0.000746667 0.000726667 0.000713333 0.000713333 +0.00072 0.000706667 0.000706667 0.000706667 0.000713333 0.000726667 0.00074 0.000726667 +0.000733333 0.00074 0.00072 0.000713333 0.00072 0.000706667 0.000673333 0.00068 +0.000713333 0.000753333 0.000753333 0.000733333 0.00074 0.00074 0.000746667 0.000713333 +0.000706667 0.000726667 0.000726667 0.000713333 0.000726667 0.000753333 0.000753333 0.000746667 +0.000746667 0.00074 0.000753333 0.000766667 0.000786667 0.000793333 0.000786667 0.000793333 +0.000846667 0.22168 0.331493 0.38072 0.501263 0.691368 0.925053 0.992082 +0.974947 0.949053 0.947158 0.955368 0.956 0.954737 0.959789 0.968632 +0.984245 0.999265 1.00971 1.01331 1.01461 1.01657 1.01527 1.01167 +1.01331 1.01461 1.01331 1.01331 1.01429 1.01396 1.01298 1.01233 +1.01167 1.01037 1.00612 1.00449 1.00057 0.993714 0.985551 0.978105 +0.966737 0.954737 0.906105 0.787368 0.640842 0.536632 0.450773 0.39208 +0.3864 0.378827 0.35232 0.344747 0.34096 0.3296 0.337173 0.34664 +0.359893 0.382613 0.412907 0.441307 0.46592 0.508842 0.514526 0.481067 +0.47728 0.527789 0.532211 0.44888 0.359893 0.36936 0.376933 0.40344 +0.4432 0.433733 0.399653 0.36936 0.358 0.354213 0.34664 0.34664 +0.348533 0.34096 0.337173 0.34664 0.342853 0.354213 0.376933 0.382613 +0.371253 0.40344 0.507579 0.563789 0.633263 0.704632 0.743789 0.724211 +0.637684 0.533474 0.43752 0.393973 0.393973 0.401547 0.395867 0.388293 +0.384507 0.373147 0.358 0.376933 0.399653 0.376933 0.356107 0.361787 +0.367467 0.361787 0.36368 0.361787 0.373147 0.40344 0.446987 0.481067 +0.506316 0.47728 0.367467 0.314453 0.30688 0.3296 0.339067 0.34664 +0.384507 0.376933 0.33528 0.331493 0.350427 0.39208 0.452667 0.456453 +0.38072 0.34664 0.36936 0.395867 0.395867 0.36368 0.34664 0.35232 +0.37504 0.361787 0.34664 0.348533 0.34664 0.3864 0.492427 0.508842 +0.424267 0.365573 0.371253 0.44888 0.539158 0.583368 0.572 0.518947 +0.429947 0.388293 0.393973 0.416693 0.5 0.604842 0.686947 0.660421 +0.567579 0.4148 0.32392 0.342853 0.382613 0.42616 0.475387 0.44888 +0.384507 0.356107 0.344747 0.35232 0.361787 0.3864 0.405333 0.445093 +0.486747 0.456453 0.399653 0.39208 0.39208 0.40344 0.47728 0.563158 +0.688211 0.746316 0.655368 0.575789 0.551158 0.539789 0.534105 0.511368 +0.481067 0.445093 0.395867 0.435627 0.501263 0.524 0.525895 0.508842 +0.503789 0.524 0.539789 0.565684 0.599158 0.656632 0.717263 0.759579 +0.793053 0.843579 0.885895 0.914947 0.950947 0.983918 0.995347 1.00253 +1.00971 1.01396 1.01527 1.01886 1.02278 1.02212 1.028 1.02767 +1.02767 1.02996 1.03453 1.03322 1.02735 1.02898 1.03388 1.03649 +1.0342 1.03094 1.03584 1.0342 1.02963 1.03224 1.03388 1.03355 +1.03094 1.02898 1.02735 1.02865 1.03061 1.03127 1.02931 1.03061 +1.02996 1.0329 1.03584 1.03388 1.0378 1.04139 1.04041 1.04531 +1.05151 1.05151 1.04629 1.04857 1.0502 1.04759 1.05118 1.05314 +1.05053 1.04759 1.04498 1.04041 1.02865 1.01657 1.00449 0.994694 +0.987184 0.98 0.960421 0.936421 0.897895 0.825895 0.724211 0.623789 +0.570737 0.566947 0.574526 0.585263 0.600421 0.607368 0.609263 0.602947 +0.580211 0.544842 0.513895 0.503158 0.484853 0.47728 0.513263 0.516421 +0.486747 0.473493 0.481067 0.503789 0.510105 0.510105 0.511368 0.508211 +0.502526 0.49432 0.479173 0.458347 0.456453 0.462133 0.469707 0.473493 +0.446987 0.467813 0.49432 0.481067 0.456453 0.47728 0.496213 0.43752 +0.405333 0.393973 0.371253 0.367467 0.376933 0.412907 0.46592 0.479173 +0.418587 0.371253 0.37504 0.412907 0.469707 0.456453 0.40344 0.384507 +0.376933 0.390187 0.411013 0.407227 0.36368 0.325813 0.322027 0.350427 +0.356107 0.34096 0.339067 0.342853 0.348533 0.339067 0.337173 0.354213 +0.350427 0.322027 0.31824 0.325813 0.327707 0.325813 0.333387 0.337173 +0.314453 0.310667 0.316347 0.304987 0.30688 0.337173 0.36368 0.361787 +0.361787 0.359893 0.344747 0.3296 0.325813 0.322027 0.333387 0.342853 +0.365573 0.371253 0.358 0.358 0.376933 0.388293 0.390187 0.399653 +0.42048 0.429947 0.456453 0.473493 0.490533 0.5 0.504421 0.527789 +0.602947 0.758316 0.895368 0.954105 0.966737 0.958526 0.950947 0.961053 +0.985224 0.998612 1.0058 1.00808 1.01004 1.01037 1.00743 1.00971 +1.01037 1.01069 1.01265 1.01527 1.01429 1.01298 1.012 1.01331 +1.01461 1.01363 1.01363 1.01527 1.01494 1.01396 1.01233 1.01167 +1.0058 0.992082 0.98098 0.98098 0.994367 1.00645 1.00971 1.00939 +1.00971 1.00612 1.00188 0.991429 0.976842 0.965474 0.954105 0.945263 +0.943368 0.947789 0.969263 0.978105 0.855579 0.624421 0.407227 0.269013 +0.293627 0.331493 0.28984 0.22168 0.000893333 0.000873333 0.000866667 0.00086 +0.00086 0.00082 0.000786667 0.000733333 0.00074 0.00072 0.0007 0.000706667 +0.000713333 0.000706667 0.000713333 0.000713333 0.000706667 0.0007 0.0007 0.000713333 +0.000733333 0.000733333 0.000726667 0.000726667 0.00074 0.000733333 0.000713333 0.000693333 +0.000693333 0.0007 0.000713333 0.000713333 0.00074 0.00074 0.00074 0.00074 +0.000733333 0.000746667 0.00076 0.000726667 0.000706667 0.000713333 0.000733333 0.00074 +0.000726667 0.00072 0.00076 0.0008 0.00078 0.0008 0.000806667 0.0008 +0.000866667 0.240613 0.344747 0.38072 0.522737 0.738737 0.952211 0.990449 +0.969263 0.951579 0.952211 0.958526 0.957895 0.953474 0.957895 0.968632 +0.98751 1.00318 1.01069 1.01331 1.01298 1.01559 1.01624 1.01429 +1.01592 1.01657 1.01461 1.01363 1.01265 1.012 1.012 1.01037 +1.01037 1.01069 1.00678 1.0058 1.00449 0.999918 0.99502 0.987837 +0.971158 0.949684 0.898526 0.775368 0.621895 0.515158 0.4148 0.382613 +0.38072 0.37504 0.35232 0.34664 0.344747 0.337173 0.344747 0.348533 +0.350427 0.356107 0.376933 0.422373 0.510737 0.575158 0.601684 0.563789 +0.527789 0.530316 0.531579 0.48864 0.418587 0.45456 0.46592 0.475387 +0.496213 0.475387 0.407227 0.337173 0.31824 0.31824 0.31824 0.32392 +0.333387 0.34096 0.34664 0.350427 0.354213 0.373147 0.376933 0.371253 +0.356107 0.354213 0.40912 0.505684 0.573263 0.681895 0.782947 0.813895 +0.752632 0.633263 0.535368 0.45456 0.40912 0.401547 0.39208 0.39776 +0.393973 0.365573 0.367467 0.40344 0.395867 0.361787 0.361787 0.36368 +0.35232 0.348533 0.350427 0.35232 0.361787 0.36936 0.390187 0.424267 +0.5 0.502526 0.416693 0.34664 0.30688 0.304987 0.31256 0.356107 +0.407227 0.390187 0.344747 0.348533 0.38072 0.405333 0.411013 0.39208 +0.354213 0.339067 0.356107 0.393973 0.416693 0.384507 0.367467 0.365573 +0.371253 0.356107 0.34664 0.35232 0.356107 0.40912 0.512632 0.524632 +0.456453 0.38072 0.367467 0.390187 0.508842 0.582737 0.621895 0.587789 +0.519579 0.445093 0.43184 0.486747 0.575158 0.744421 0.872632 0.858737 +0.698316 0.514526 0.361787 0.339067 0.344747 0.412907 0.506316 0.473493 +0.390187 0.365573 0.354213 0.358 0.376933 0.399653 0.39208 0.412907 +0.445093 0.433733 0.407227 0.405333 0.395867 0.433733 0.513895 0.559368 +0.594737 0.590947 0.546737 0.517053 0.496213 0.475387 0.481067 0.44888 +0.43752 0.422373 0.3864 0.411013 0.481067 0.515789 0.515158 0.492427 +0.462133 0.500632 0.513263 0.532842 0.561895 0.606105 0.644632 0.674947 +0.713474 0.762737 0.806947 0.842947 0.889684 0.942105 0.974316 0.989469 +0.999265 1.0058 1.00906 1.01429 1.0169 1.01494 1.01951 1.02049 +1.02016 1.02016 1.028 1.02539 1.02343 1.02408 1.028 1.03224 +1.028 1.02702 1.03061 1.028 1.02539 1.02767 1.02865 1.03029 +1.02669 1.02343 1.0231 1.02865 1.02833 1.02604 1.02669 1.02571 +1.02571 1.03061 1.03159 1.02996 1.03355 1.0378 1.03878 1.04237 +1.044 1.04106 1.03976 1.044 1.04498 1.04563 1.04563 1.04629 +1.04465 1.03943 1.03518 1.03127 1.01722 0.999265 0.984571 0.968 +0.945263 0.921895 0.890947 0.833474 0.758316 0.66421 0.577684 0.535368 +0.536632 0.554316 0.566947 0.578316 0.587158 0.581474 0.566316 0.556211 +0.531579 0.490533 0.4432 0.464027 0.46024 0.462133 0.511368 0.510105 +0.469707 0.4716 0.500632 0.506947 0.505053 0.48864 0.484853 0.48296 +0.481067 0.49432 0.496213 0.467813 0.44888 0.4716 0.510105 0.500632 +0.422373 0.43184 0.486747 0.512 0.511368 0.506316 0.496213 0.42616 +0.399653 0.388293 0.36368 0.361787 0.361787 0.37504 0.422373 0.467813 +0.452667 0.405333 0.382613 0.446987 0.47728 0.412907 0.36368 0.36368 +0.367467 0.37504 0.3864 0.376933 0.339067 0.325813 0.3296 0.327707 +0.32392 0.32392 0.33528 0.34664 0.356107 0.337173 0.310667 0.314453 +0.325813 0.316347 0.337173 0.36368 0.365573 0.35232 0.354213 0.356107 +0.337173 0.333387 0.34096 0.337173 0.34664 0.367467 0.371253 0.36936 +0.36936 0.356107 0.331493 0.31824 0.316347 0.325813 0.356107 0.37504 +0.37504 0.36368 0.348533 0.356107 0.36936 0.376933 0.384507 0.395867 +0.405333 0.416693 0.43752 0.450773 0.462133 0.473493 0.49432 0.525263 +0.604211 0.758947 0.897263 0.959158 0.972421 0.964211 0.960421 0.973684 +0.989469 0.998939 1.00449 1.00645 1.00873 1.00906 1.00776 1.00873 +1.00939 1.01135 1.01396 1.01592 1.01461 1.01331 1.01167 1.01233 +1.01233 1.01363 1.01494 1.01527 1.01429 1.01527 1.01265 1.00873 +1.00514 0.994041 0.98 0.980653 0.995673 1.00743 1.00906 1.00808 +1.00939 1.00808 1.00449 0.994367 0.980653 0.969263 0.962947 0.948421 +0.941474 0.945895 0.967368 0.982612 0.890316 0.661684 0.467813 0.287947 +0.28416 0.316347 0.28416 0.2444 0.22736 0.23304 0.2444 0.23872 +0.234933 0.223573 0.000926667 0.000766667 0.000726667 0.000733333 0.000726667 0.000713333 +0.000706667 0.000713333 0.00072 0.0007 0.000706667 0.00072 0.000706667 0.000706667 +0.000713333 0.000713333 0.000713333 0.000726667 0.000726667 0.000733333 0.000726667 0.00072 +0.00072 0.000713333 0.00072 0.000726667 0.000726667 0.000733333 0.000713333 0.000713333 +0.0007 0.00072 0.000746667 0.000766667 0.000753333 0.000733333 0.000733333 0.00074 +0.000746667 0.000746667 0.000786667 0.000786667 0.00076 0.000773333 0.000806667 0.000833333 +0.00086 0.25008 0.358 0.388293 0.552421 0.789895 0.974947 0.98751 +0.962316 0.949684 0.949684 0.956632 0.958526 0.959158 0.962947 0.978105 +0.993388 1.00547 1.01135 1.01298 1.01298 1.01624 1.01722 1.01494 +1.01494 1.0169 1.01527 1.01429 1.01331 1.01167 1.01167 1.01004 +1.00906 1.00873 1.00514 1.00645 1.00971 1.01037 1.00873 1.0022 +0.984245 0.947789 0.887158 0.760211 0.605474 0.503158 0.39776 0.37504 +0.36936 0.367467 0.359893 0.36368 0.371253 0.365573 0.358 0.348533 +0.344747 0.350427 0.3864 0.452667 0.521474 0.569474 0.580842 0.553053 +0.528421 0.524 0.529053 0.523368 0.506316 0.490533 0.458347 0.433733 +0.42616 0.416693 0.382613 0.337173 0.31824 0.316347 0.320133 0.316347 +0.31824 0.333387 0.33528 0.327707 0.327707 0.358 0.361787 0.354213 +0.342853 0.333387 0.361787 0.40912 0.510105 0.605474 0.738737 0.820842 +0.804421 0.719158 0.614316 0.526526 0.46024 0.43184 0.39776 0.388293 +0.393973 0.371253 0.376933 0.39776 0.373147 0.348533 0.358 0.350427 +0.350427 0.35232 0.348533 0.358 0.36936 0.350427 0.337173 0.36936 +0.441307 0.4716 0.435627 0.39208 0.350427 0.314453 0.331493 0.384507 +0.4148 0.3864 0.35232 0.339067 0.350427 0.36368 0.35232 0.33528 +0.342853 0.350427 0.358 0.388293 0.441307 0.433733 0.39208 0.358 +0.350427 0.34096 0.333387 0.344747 0.356107 0.384507 0.456453 0.475387 +0.411013 0.36936 0.359893 0.356107 0.42048 0.542947 0.623789 0.637053 +0.570105 0.500632 0.4432 0.517053 0.645263 0.830316 0.963579 0.964211 +0.772211 0.548632 0.39776 0.348533 0.356107 0.450773 0.510737 0.473493 +0.401547 0.3864 0.36936 0.367467 0.38072 0.39208 0.376933 0.3864 +0.428053 0.429947 0.435627 0.445093 0.4716 0.516421 0.541053 0.542947 +0.520842 0.496213 0.475387 0.475387 0.445093 0.435627 0.441307 0.441307 +0.446987 0.45456 0.418587 0.405333 0.435627 0.479173 0.47728 0.4432 +0.445093 0.473493 0.5 0.511368 0.534105 0.555579 0.578316 0.599158 +0.638947 0.679368 0.714105 0.753263 0.803158 0.867579 0.921263 0.954105 +0.983265 0.996653 0.999918 1.00645 1.01037 1.00678 1.00906 1.01265 +1.00971 1.01069 1.01624 1.01331 1.01527 1.01527 1.01657 1.0231 +1.01984 1.0231 1.02278 1.01624 1.0169 1.02016 1.02245 1.02376 +1.01788 1.01233 1.01494 1.02049 1.01886 1.01722 1.01722 1.01527 +1.01722 1.01853 1.0182 1.02278 1.03029 1.03159 1.03224 1.03192 +1.02931 1.02833 1.03061 1.03518 1.03257 1.03061 1.0231 1.01396 +1.00776 1.00188 0.994041 0.983918 0.959158 0.92821 0.899789 0.878947 +0.851789 0.817684 0.765895 0.686316 0.616211 0.557474 0.530947 0.532842 +0.549263 0.561263 0.561895 0.56 0.548 0.529684 0.512 0.500632 +0.46592 0.441307 0.424267 0.429947 0.435627 0.464027 0.512632 0.503158 +0.462133 0.475387 0.502526 0.508211 0.503158 0.48864 0.4716 0.46024 +0.48864 0.515789 0.511368 0.469707 0.44888 0.475387 0.512632 0.5 +0.407227 0.401547 0.445093 0.503789 0.516421 0.516421 0.501263 0.42048 +0.37504 0.36368 0.354213 0.361787 0.358 0.367467 0.393973 0.445093 +0.467813 0.441307 0.433733 0.502526 0.469707 0.37504 0.35232 0.36368 +0.36368 0.361787 0.361787 0.350427 0.342853 0.337173 0.320133 0.303093 +0.3012 0.31824 0.337173 0.344747 0.339067 0.322027 0.31256 0.314453 +0.322027 0.320133 0.333387 0.361787 0.378827 0.38072 0.407227 0.439413 +0.42616 0.38072 0.367467 0.395867 0.416693 0.42048 0.395867 0.384507 +0.373147 0.34664 0.331493 0.32392 0.316347 0.325813 0.365573 0.382613 +0.373147 0.358 0.344747 0.350427 0.356107 0.354213 0.373147 0.388293 +0.382613 0.395867 0.42048 0.43184 0.433733 0.441307 0.479173 0.518947 +0.596 0.755789 0.899158 0.957263 0.973684 0.971789 0.971158 0.982286 +0.992735 0.997959 1.00318 1.00449 1.00514 1.00547 1.00873 1.01135 +1.01069 1.01363 1.01396 1.01494 1.01461 1.01233 1.01233 1.01396 +1.012 1.01396 1.01429 1.01167 1.012 1.01363 1.01298 1.01102 +1.00873 1.00253 0.989143 0.983592 0.994694 1.00514 1.00743 1.00971 +1.01135 1.01135 1.00841 0.997633 0.982286 0.968632 0.961053 0.947789 +0.940842 0.947789 0.969263 0.985551 0.920632 0.705263 0.507579 0.276587 +0.25008 0.293627 0.297413 0.286053 0.286053 0.28984 0.291733 0.270907 +0.257653 0.265227 0.242507 0.000906667 0.000673333 0.000686667 0.0007 0.00072 +0.000713333 0.000713333 0.000746667 0.000733333 0.000726667 0.00074 0.000726667 0.000726667 +0.000726667 0.000726667 0.00072 0.00072 0.000706667 0.000706667 0.00072 0.00072 +0.000726667 0.0007 0.000706667 0.000713333 0.00074 0.000753333 0.000733333 0.000726667 +0.000726667 0.000726667 0.000713333 0.000713333 0.000726667 0.000726667 0.00072 0.000726667 +0.000746667 0.000793333 0.00082 0.000813333 0.000806667 0.00078 0.0008 0.000846667 +0.000866667 0.257653 0.36368 0.407227 0.590947 0.837895 0.986531 0.986204 +0.960421 0.948421 0.949684 0.956632 0.959158 0.963579 0.966105 0.983592 +1.0009 1.00808 1.01135 1.01363 1.01298 1.01592 1.0182 1.01461 +1.01233 1.01494 1.01298 1.01331 1.01298 1.01135 1.01135 1.01004 +1.00939 1.01004 1.00776 1.01102 1.0169 1.02016 1.02016 1.0182 +0.999918 0.956632 0.884 0.753895 0.598526 0.49432 0.378827 0.35232 +0.34664 0.35232 0.358 0.36936 0.37504 0.37504 0.358 0.337173 +0.337173 0.354213 0.39776 0.439413 0.46024 0.475387 0.458347 0.43752 +0.435627 0.452667 0.513263 0.548632 0.528421 0.445093 0.37504 0.350427 +0.342853 0.350427 0.350427 0.348533 0.348533 0.34664 0.356107 0.348533 +0.325813 0.32392 0.31824 0.31256 0.314453 0.333387 0.350427 0.36936 +0.358 0.348533 0.36368 0.378827 0.424267 0.524632 0.629474 0.735579 +0.772211 0.741263 0.676842 0.594105 0.523368 0.45456 0.39208 0.390187 +0.407227 0.39208 0.3864 0.39208 0.373147 0.354213 0.359893 0.36368 +0.378827 0.376933 0.359893 0.361787 0.36368 0.356107 0.339067 0.348533 +0.382613 0.407227 0.439413 0.462133 0.422373 0.35232 0.34664 0.37504 +0.382613 0.354213 0.337173 0.3296 0.3296 0.34096 0.337173 0.3296 +0.344747 0.35232 0.356107 0.407227 0.458347 0.43184 0.376933 0.350427 +0.34664 0.331493 0.325813 0.333387 0.337173 0.35232 0.393973 0.390187 +0.356107 0.356107 0.376933 0.376933 0.384507 0.500632 0.582737 0.644 +0.618105 0.540421 0.503789 0.544211 0.668632 0.816421 0.92 0.900421 +0.719158 0.537263 0.40912 0.36368 0.393973 0.479173 0.49432 0.43752 +0.424267 0.412907 0.382613 0.373147 0.371253 0.365573 0.361787 0.382613 +0.422373 0.464027 0.504421 0.513895 0.532211 0.550526 0.534737 0.506947 +0.450773 0.412907 0.42048 0.42616 0.412907 0.405333 0.416693 0.429947 +0.452667 0.473493 0.435627 0.399653 0.4148 0.4716 0.464027 0.407227 +0.401547 0.4148 0.4432 0.46592 0.500632 0.509474 0.522737 0.541053 +0.573895 0.602947 0.624421 0.659158 0.698316 0.766526 0.845474 0.905474 +0.955368 0.987837 0.993061 1.00024 1.00384 0.998939 0.999265 1.00449 +1.00057 1.00416 1.00678 1.00057 1.00253 1.00482 1.00645 1.01102 +1.00971 1.01135 1.01004 1.0058 1.00384 1.00612 1.00971 1.01069 +1.00482 0.999265 1.00351 1.00286 1.00122 1.00416 1.0009 1.00057 +1.00514 1.00286 1.0022 1.01135 1.02016 1.02245 1.02278 1.01886 +1.01135 1.00776 1.0058 0.998939 0.980653 0.947158 0.917474 0.898526 +0.898526 0.894737 0.877053 0.854316 0.825895 0.805053 0.788 0.763368 +0.727368 0.688211 0.642737 0.594737 0.566947 0.551158 0.547368 0.539789 +0.537895 0.534105 0.516421 0.502526 0.469707 0.458347 0.43184 0.39776 +0.388293 0.412907 0.428053 0.450773 0.479173 0.504421 0.513895 0.490533 +0.475387 0.48296 0.49432 0.492427 0.481067 0.462133 0.450773 0.462133 +0.505053 0.529053 0.520211 0.467813 0.43184 0.445093 0.490533 0.475387 +0.401547 0.393973 0.433733 0.462133 0.49432 0.511368 0.506316 0.43752 +0.373147 0.358 0.354213 0.367467 0.376933 0.38072 0.38072 0.42048 +0.462133 0.49432 0.518316 0.534105 0.47728 0.373147 0.37504 0.39208 +0.388293 0.37504 0.354213 0.342853 0.34096 0.339067 0.3296 0.322027 +0.310667 0.316347 0.327707 0.331493 0.320133 0.320133 0.325813 0.322027 +0.322027 0.31256 0.31256 0.331493 0.344747 0.36936 0.43752 0.508211 +0.510737 0.446987 0.384507 0.39776 0.407227 0.4148 0.407227 0.40344 +0.382613 0.35232 0.339067 0.325813 0.310667 0.31256 0.33528 0.337173 +0.33528 0.34096 0.33528 0.331493 0.33528 0.342853 0.35232 0.359893 +0.361787 0.384507 0.412907 0.428053 0.42616 0.433733 0.46592 0.511368 +0.592211 0.761474 0.906105 0.957263 0.973053 0.980327 0.980327 0.984898 +0.994041 0.997306 1.00253 1.0058 1.00612 1.00612 1.00939 1.01167 +1.01004 1.01298 1.01363 1.01396 1.01559 1.01331 1.01233 1.01265 +1.00906 1.01004 1.01298 1.01298 1.01461 1.01657 1.01559 1.01135 +1.00971 1.0071 0.997633 0.989796 0.998939 1.00939 1.00971 1.00841 +1.0071 1.00678 1.00841 1.00024 0.985224 0.974947 0.963579 0.947789 +0.941474 0.945895 0.964842 0.983592 0.939579 0.743789 0.527789 0.28984 +0.23304 0.253867 0.265227 0.265227 0.270907 0.263333 0.25576 0.248187 +0.253867 0.293627 0.3012 0.223573 0.0007 0.000693333 0.0007 0.000713333 +0.000713333 0.000706667 0.000726667 0.000733333 0.00074 0.00074 0.000726667 0.000726667 +0.00074 0.000726667 0.000706667 0.000706667 0.000713333 0.000713333 0.00072 0.00074 +0.000746667 0.00072 0.00072 0.000713333 0.00072 0.00074 0.00074 0.00074 +0.000746667 0.000726667 0.000706667 0.000706667 0.000726667 0.000733333 0.000713333 0.000693333 +0.000713333 0.00076 0.000786667 0.000806667 0.000806667 0.000793333 0.000826667 0.000846667 +0.000906667 0.28416 0.36936 0.4432 0.632632 0.877053 0.989469 0.982612 +0.955368 0.946526 0.953474 0.961684 0.964842 0.967368 0.968632 0.985551 +1.00482 1.01004 1.01037 1.01265 1.01298 1.01461 1.01788 1.01559 +1.01298 1.01494 1.01363 1.01396 1.01331 1.01167 1.01102 1.01004 +1.00971 1.00971 1.00841 1.01527 1.02343 1.03029 1.03388 1.0378 +1.02539 0.980327 0.878316 0.746947 0.593474 0.48296 0.37504 0.344747 +0.342853 0.350427 0.358 0.356107 0.34664 0.350427 0.348533 0.337173 +0.354213 0.373147 0.38072 0.37504 0.348533 0.327707 0.322027 0.3296 +0.34096 0.361787 0.467813 0.539158 0.526526 0.424267 0.339067 0.316347 +0.31824 0.3296 0.339067 0.342853 0.35232 0.36936 0.401547 0.40344 +0.356107 0.325813 0.316347 0.32392 0.333387 0.337173 0.34664 0.361787 +0.356107 0.367467 0.3864 0.382613 0.384507 0.433733 0.528421 0.612421 +0.692632 0.722947 0.699579 0.645263 0.572 0.511368 0.446987 0.445093 +0.45456 0.42048 0.399653 0.412907 0.399653 0.373147 0.38072 0.384507 +0.388293 0.378827 0.371253 0.358 0.34664 0.35232 0.344747 0.333387 +0.34096 0.359893 0.405333 0.469707 0.462133 0.388293 0.34664 0.348533 +0.34664 0.327707 0.32392 0.331493 0.327707 0.322027 0.32392 0.33528 +0.36368 0.390187 0.43184 0.503789 0.475387 0.390187 0.354213 0.350427 +0.348533 0.331493 0.331493 0.327707 0.327707 0.358 0.416693 0.388293 +0.339067 0.342853 0.365573 0.371253 0.37504 0.429947 0.530947 0.619368 +0.651579 0.602947 0.56 0.587789 0.668632 0.752 0.795579 0.733684 +0.595368 0.496213 0.39776 0.37504 0.401547 0.446987 0.424267 0.3864 +0.390187 0.390187 0.367467 0.371253 0.354213 0.342853 0.373147 0.422373 +0.502526 0.543579 0.577053 0.577684 0.568842 0.545474 0.501895 0.441307 +0.418587 0.395867 0.395867 0.407227 0.40344 0.395867 0.407227 0.418587 +0.428053 0.450773 0.4432 0.418587 0.439413 0.48864 0.4716 0.390187 +0.378827 0.38072 0.401547 0.429947 0.441307 0.46024 0.4716 0.498107 +0.520211 0.543579 0.553684 0.575789 0.609263 0.671789 0.758947 0.847368 +0.933263 0.982612 0.990776 0.997306 1.00057 0.998939 0.996653 0.998612 +0.99698 0.999592 0.997959 0.993714 0.995347 0.996 0.997959 1.00057 +0.998286 1.00024 1.0009 0.997633 0.990122 0.989796 0.992735 0.992408 +0.98849 0.983265 0.988163 0.985551 0.982286 0.986531 0.981633 0.981633 +0.985878 0.982286 0.986857 0.99698 1.00024 0.999918 1.00122 0.999592 +0.992082 0.976211 0.944 0.896632 0.831579 0.784842 0.773474 0.782947 +0.806316 0.814526 0.803158 0.786105 0.754526 0.738737 0.730526 0.704632 +0.65979 0.623789 0.59979 0.584632 0.567579 0.553053 0.536 0.506316 +0.44888 0.407227 0.378827 0.378827 0.393973 0.411013 0.373147 0.342853 +0.376933 0.40912 0.435627 0.498107 0.518947 0.524632 0.513895 0.481067 +0.486747 0.501263 0.48296 0.456453 0.446987 0.4432 0.43752 0.458347 +0.503158 0.525895 0.522105 0.4716 0.42048 0.418587 0.44888 0.458347 +0.411013 0.393973 0.418587 0.416693 0.44888 0.507579 0.516421 0.456453 +0.382613 0.38072 0.378827 0.384507 0.3864 0.378827 0.367467 0.393973 +0.43752 0.508211 0.547368 0.546737 0.48864 0.40344 0.40344 0.399653 +0.382613 0.367467 0.34664 0.333387 0.325813 0.333387 0.333387 0.337173 +0.320133 0.308773 0.320133 0.3296 0.31824 0.314453 0.31824 0.31824 +0.32392 0.316347 0.310667 0.30688 0.31824 0.350427 0.40912 0.475387 +0.49432 0.42616 0.358 0.34664 0.337173 0.344747 0.358 0.371253 +0.354213 0.327707 0.316347 0.314453 0.308773 0.308773 0.31256 0.320133 +0.327707 0.327707 0.32392 0.32392 0.3296 0.34664 0.348533 0.350427 +0.367467 0.405333 0.433733 0.441307 0.439413 0.4432 0.458347 0.508842 +0.599158 0.772842 0.913053 0.956 0.970526 0.981306 0.982612 0.986857 +0.994694 0.997959 1.0022 1.00547 1.00776 1.00678 1.00743 1.01004 +1.01167 1.01331 1.01363 1.01331 1.01363 1.01167 1.01135 1.01233 +1.01037 1.01135 1.01396 1.01527 1.01494 1.01494 1.01461 1.012 +1.01069 1.0071 1.00188 0.99698 1.00286 1.01037 1.01037 1.00678 +1.00351 1.00449 1.00906 1.00482 0.991429 0.981306 0.965474 0.947789 +0.940842 0.941474 0.959158 0.984245 0.957895 0.779158 0.553053 0.30688 +0.000953333 0.00088 0.00092 0.00098 0.223573 0.216 0.000966667 0.000966667 +0.219787 0.2728 0.308773 0.23304 0.00072 0.000726667 0.000713333 0.000713333 +0.00072 0.000726667 0.000726667 0.00072 0.000713333 0.0007 0.0007 0.000706667 +0.000713333 0.0007 0.0007 0.00072 0.00074 0.000733333 0.00074 0.00074 +0.000746667 0.000726667 0.00074 0.00072 0.000693333 0.0007 0.00072 0.000753333 +0.000733333 0.00072 0.000706667 0.000706667 0.000726667 0.00074 0.00074 0.00072 +0.000746667 0.000773333 0.000773333 0.00078 0.000786667 0.000786667 0.00082 0.00082 +0.000946667 0.31256 0.378827 0.484853 0.675579 0.912421 0.990449 0.978105 +0.949684 0.944632 0.953474 0.962947 0.965474 0.966105 0.971789 0.987837 +1.00612 1.01167 1.01069 1.012 1.01396 1.01461 1.01788 1.01722 +1.01494 1.01592 1.01461 1.01592 1.01592 1.01265 1.012 1.01102 +1.01069 1.00939 1.00939 1.01951 1.03224 1.04008 1.04171 1.04824 +1.04988 1.00351 0.884 0.739368 0.589684 0.48296 0.384507 0.35232 +0.339067 0.344747 0.348533 0.348533 0.342853 0.337173 0.34096 0.365573 +0.37504 0.367467 0.34664 0.327707 0.310667 0.297413 0.30688 0.320133 +0.32392 0.331493 0.393973 0.48864 0.498107 0.424267 0.359893 0.33528 +0.337173 0.35232 0.371253 0.365573 0.36936 0.395867 0.433733 0.445093 +0.393973 0.35232 0.34096 0.34664 0.34664 0.34664 0.348533 0.34096 +0.34096 0.361787 0.3864 0.39208 0.390187 0.401547 0.450773 0.526526 +0.605474 0.679368 0.703368 0.681263 0.630737 0.578316 0.547368 0.537263 +0.526526 0.504421 0.446987 0.450773 0.45456 0.411013 0.42616 0.422373 +0.395867 0.393973 0.395867 0.371253 0.354213 0.35232 0.339067 0.3296 +0.342853 0.34096 0.356107 0.40344 0.446987 0.435627 0.36936 0.34664 +0.342853 0.325813 0.337173 0.339067 0.31824 0.304987 0.316347 0.34664 +0.37504 0.411013 0.479173 0.515158 0.473493 0.36936 0.350427 0.359893 +0.361787 0.33528 0.331493 0.337173 0.342853 0.401547 0.4716 0.405333 +0.344747 0.342853 0.35232 0.356107 0.365573 0.3864 0.473493 0.579579 +0.660421 0.675579 0.655368 0.649684 0.677474 0.703368 0.699579 0.633895 +0.542316 0.456453 0.393973 0.378827 0.395867 0.42048 0.388293 0.361787 +0.359893 0.365573 0.371253 0.371253 0.350427 0.373147 0.5 0.554316 +0.610526 0.652211 0.652842 0.614316 0.566316 0.517053 0.441307 0.428053 +0.428053 0.39776 0.388293 0.401547 0.4148 0.4148 0.416693 0.418587 +0.401547 0.416693 0.4432 0.446987 0.5 0.524 0.509474 0.42616 +0.384507 0.376933 0.39776 0.418587 0.42048 0.416693 0.401547 0.40912 +0.450773 0.508211 0.509474 0.517053 0.549895 0.601053 0.687579 0.788632 +0.902316 0.974947 0.990449 0.997959 1.00253 1.00286 0.998286 0.996327 +0.998612 0.995673 0.993061 0.993061 0.992408 0.994367 0.997306 0.994694 +0.993388 0.994694 0.996 0.993388 0.983265 0.983918 0.982612 0.975579 +0.973684 0.957263 0.962316 0.959789 0.952211 0.954737 0.945263 0.940842 +0.935158 0.932 0.945895 0.944632 0.92 0.895368 0.888421 0.901053 +0.924421 0.92 0.874526 0.803789 0.736211 0.711579 0.717895 0.739368 +0.767158 0.780421 0.777895 0.758316 0.720421 0.707789 0.702737 0.678105 +0.644632 0.613053 0.587158 0.566947 0.529053 0.5 0.439413 0.371253 +0.33528 0.316347 0.3296 0.367467 0.40912 0.399653 0.342853 0.35232 +0.40344 0.399653 0.401547 0.4716 0.518316 0.534105 0.529053 0.505684 +0.500632 0.501895 0.4716 0.43752 0.435627 0.435627 0.43184 0.441307 +0.486747 0.520842 0.524 0.492427 0.439413 0.412907 0.416693 0.429947 +0.40344 0.38072 0.393973 0.40912 0.4716 0.532211 0.545474 0.475387 +0.36936 0.376933 0.37504 0.376933 0.37504 0.36936 0.359893 0.38072 +0.424267 0.507579 0.541684 0.525263 0.462133 0.4148 0.388293 0.36936 +0.365573 0.356107 0.34096 0.32392 0.30688 0.320133 0.325813 0.331493 +0.331493 0.322027 0.337173 0.342853 0.331493 0.327707 0.322027 0.31824 +0.322027 0.322027 0.322027 0.31824 0.325813 0.33528 0.342853 0.36368 +0.3864 0.367467 0.33528 0.331493 0.31824 0.30688 0.31824 0.333387 +0.3296 0.30688 0.310667 0.314453 0.30688 0.303093 0.30688 0.337173 +0.373147 0.359893 0.325813 0.31824 0.337173 0.36368 0.359893 0.356107 +0.37504 0.4148 0.43184 0.435627 0.446987 0.456453 0.46592 0.512 +0.606737 0.780421 0.912421 0.954737 0.975579 0.984898 0.983918 0.988163 +0.994694 0.997959 1.00318 1.00612 1.0071 1.00776 1.00645 1.00776 +1.01265 1.01461 1.01167 1.01102 1.01298 1.01233 1.01298 1.01396 +1.01135 1.012 1.01167 1.01331 1.01527 1.01527 1.01559 1.01527 +1.01037 1.00286 0.996653 0.996653 1.00384 1.01037 1.01167 1.00906 +1.00645 1.00612 1.00971 1.00776 0.995347 0.982286 0.965474 0.951579 +0.943368 0.944 0.957263 0.982612 0.968632 0.803789 0.575789 0.331493 +0.000926667 0.000826667 0.000873333 0.00092 0.000906667 0.00088 0.000866667 0.000873333 +0.000913333 0.242507 0.293627 0.23872 0.0007 0.000713333 0.000706667 0.0007 +0.000713333 0.00072 0.000726667 0.000733333 0.000746667 0.000746667 0.00074 0.000733333 +0.00072 0.000706667 0.000706667 0.0007 0.000713333 0.000726667 0.000713333 0.0007 +0.000706667 0.000726667 0.000733333 0.000726667 0.0007 0.0007 0.000706667 0.00074 +0.000726667 0.00072 0.00072 0.0007 0.000693333 0.000693333 0.000706667 0.000733333 +0.00076 0.000766667 0.000773333 0.000786667 0.000806667 0.000833333 0.00086 0.000846667 +0.000966667 0.314453 0.367467 0.508211 0.715368 0.940842 0.991102 0.973053 +0.949684 0.946526 0.953474 0.962316 0.962947 0.962316 0.974947 0.991102 +1.00743 1.01233 1.01135 1.01298 1.01559 1.01657 1.01853 1.0182 +1.01494 1.01461 1.01429 1.01559 1.01592 1.01331 1.01233 1.012 +1.01233 1.01069 1.01265 1.02571 1.04073 1.04759 1.04433 1.04661 +1.05869 1.02441 0.896632 0.729895 0.584 0.484853 0.399653 0.371253 +0.348533 0.342853 0.331493 0.331493 0.331493 0.325813 0.337173 0.38072 +0.39208 0.361787 0.33528 0.31256 0.30688 0.3012 0.310667 0.310667 +0.30688 0.316347 0.344747 0.38072 0.407227 0.40344 0.371253 0.35232 +0.34664 0.356107 0.378827 0.382613 0.3864 0.39208 0.40912 0.422373 +0.416693 0.407227 0.411013 0.39776 0.37504 0.361787 0.35232 0.344747 +0.344747 0.361787 0.378827 0.399653 0.40344 0.399653 0.407227 0.4432 +0.529053 0.611789 0.686947 0.714737 0.692632 0.649053 0.613684 0.596632 +0.591579 0.580842 0.544211 0.521474 0.525895 0.507579 0.503158 0.5 +0.469707 0.467813 0.464027 0.43184 0.401547 0.3864 0.378827 0.378827 +0.37504 0.344747 0.3296 0.354213 0.429947 0.48864 0.428053 0.367467 +0.344747 0.331493 0.337173 0.32392 0.308773 0.327707 0.35232 0.359893 +0.371253 0.401547 0.42048 0.435627 0.407227 0.342853 0.344747 0.39208 +0.382613 0.342853 0.342853 0.348533 0.358 0.429947 0.484853 0.39776 +0.34096 0.342853 0.34664 0.356107 0.376933 0.393973 0.446987 0.548 +0.652211 0.750737 0.780421 0.741895 0.700211 0.651579 0.609895 0.582105 +0.535368 0.458347 0.39208 0.376933 0.393973 0.416693 0.3864 0.37504 +0.384507 0.382613 0.395867 0.411013 0.456453 0.540421 0.637684 0.726105 +0.753263 0.713474 0.634526 0.563789 0.525263 0.500632 0.44888 0.450773 +0.441307 0.401547 0.388293 0.388293 0.411013 0.43184 0.422373 0.429947 +0.416693 0.424267 0.44888 0.473493 0.523368 0.554947 0.525895 0.46024 +0.42048 0.42048 0.424267 0.418587 0.422373 0.388293 0.371253 0.382613 +0.407227 0.473493 0.467813 0.479173 0.515158 0.551158 0.629474 0.743158 +0.870105 0.959158 0.991429 0.998286 1.00318 1.0058 1.00188 0.999592 +1.00253 0.996327 0.995673 0.993061 0.988816 0.998939 1.0022 0.995673 +0.99502 0.994367 0.99502 0.993714 0.984571 0.98751 0.981306 0.969895 +0.969263 0.950316 0.945263 0.941474 0.930737 0.924421 0.913684 0.902316 +0.886526 0.877053 0.863158 0.818316 0.768421 0.729263 0.716 0.738737 +0.792421 0.836632 0.820842 0.741263 0.670526 0.662947 0.675579 0.697053 +0.719158 0.734947 0.736211 0.716 0.681263 0.668 0.646526 0.612421 +0.582737 0.547368 0.519579 0.496213 0.412907 0.378827 0.367467 0.359893 +0.354213 0.342853 0.359893 0.399653 0.462133 0.43184 0.356107 0.382613 +0.42048 0.395867 0.37504 0.393973 0.49432 0.549263 0.565684 0.530947 +0.500632 0.479173 0.4716 0.445093 0.424267 0.4148 0.412907 0.42048 +0.469707 0.515158 0.522105 0.501895 0.445093 0.405333 0.399653 0.407227 +0.384507 0.378827 0.39776 0.416693 0.5 0.554947 0.567579 0.48864 +0.36368 0.36368 0.36368 0.361787 0.361787 0.361787 0.371253 0.393973 +0.456453 0.518947 0.530947 0.49432 0.429947 0.42616 0.395867 0.36936 +0.354213 0.34664 0.350427 0.333387 0.31256 0.320133 0.3296 0.33528 +0.339067 0.34096 0.348533 0.348533 0.342853 0.337173 0.327707 0.320133 +0.320133 0.322027 0.32392 0.337173 0.344747 0.327707 0.314453 0.32392 +0.34096 0.344747 0.331493 0.325813 0.31256 0.30688 0.310667 0.31256 +0.316347 0.30688 0.320133 0.314453 0.3012 0.30688 0.31256 0.3296 +0.376933 0.39208 0.35232 0.32392 0.34096 0.371253 0.36936 0.36368 +0.38072 0.40912 0.40912 0.407227 0.42616 0.452667 0.47728 0.517053 +0.614316 0.788 0.915579 0.952842 0.974316 0.985224 0.983918 0.988163 +0.996 1.00024 1.00514 1.0071 1.00612 1.0071 1.00612 1.00776 +1.012 1.01527 1.01429 1.01331 1.01331 1.01069 1.01004 1.01167 +1.01102 1.01298 1.01396 1.01494 1.01527 1.01461 1.01527 1.01527 +1.01069 1.00155 0.993388 0.997633 1.00743 1.01265 1.012 1.00939 +1.00743 1.00645 1.00939 1.00971 1.00122 0.989143 0.974947 0.956632 +0.942737 0.940211 0.950316 0.976842 0.975579 0.836 0.608 0.38072 +0.00098 0.00086 0.0009 0.00092 0.00088 0.000873333 0.000913333 0.000913333 +0.000986667 0.263333 0.287947 0.23304 0.000713333 0.000726667 0.00074 0.000726667 +0.000706667 0.000693333 0.000686667 0.000693333 0.000726667 0.000733333 0.000726667 0.00074 +0.00076 0.000746667 0.00074 0.000726667 0.000733333 0.000726667 0.0007 0.000686667 +0.000673333 0.00068 0.000693333 0.000706667 0.000713333 0.000733333 0.000733333 0.000733333 +0.00074 0.000753333 0.00074 0.000726667 0.0007 0.000693333 0.000693333 0.000726667 +0.000773333 0.000766667 0.00078 0.000786667 0.000806667 0.000826667 0.000853333 0.00086 +0.22168 0.325813 0.371253 0.529684 0.753263 0.956 0.987837 0.962947 +0.945263 0.946526 0.954105 0.961684 0.962316 0.964211 0.98098 0.996327 +1.01037 1.01331 1.012 1.012 1.01363 1.01527 1.01755 1.01722 +1.01624 1.01461 1.01461 1.01527 1.01527 1.01363 1.012 1.01167 +1.01233 1.01037 1.01527 1.0329 1.05053 1.05608 1.04824 1.04433 +1.05771 1.03747 0.919368 0.725474 0.577053 0.47728 0.393973 0.371253 +0.358 0.348533 0.3296 0.333387 0.337173 0.331493 0.339067 0.376933 +0.395867 0.358 0.327707 0.316347 0.331493 0.33528 0.322027 0.291733 +0.286053 0.303093 0.327707 0.34096 0.350427 0.344747 0.33528 0.33528 +0.33528 0.325813 0.33528 0.35232 0.358 0.34664 0.342853 0.373147 +0.405333 0.429947 0.452667 0.44888 0.428053 0.412907 0.399653 0.371253 +0.358 0.365573 0.3864 0.399653 0.39208 0.39776 0.418587 0.429947 +0.475387 0.542947 0.625053 0.681895 0.681895 0.647789 0.616842 0.601053 +0.608 0.625053 0.614947 0.601684 0.594105 0.551158 0.517684 0.506947 +0.48296 0.464027 0.44888 0.42616 0.416693 0.418587 0.416693 0.401547 +0.36936 0.331493 0.31824 0.331493 0.39208 0.48296 0.456453 0.376933 +0.339067 0.327707 0.314453 0.316347 0.322027 0.354213 0.367467 0.344747 +0.365573 0.411013 0.38072 0.354213 0.359893 0.337173 0.35232 0.39776 +0.36936 0.342853 0.359893 0.3864 0.40344 0.45456 0.469707 0.401547 +0.365573 0.350427 0.348533 0.38072 0.418587 0.429947 0.473493 0.540421 +0.642737 0.788632 0.868211 0.818316 0.698947 0.570737 0.49432 0.513895 +0.524632 0.458347 0.393973 0.373147 0.399653 0.43752 0.405333 0.388293 +0.412907 0.433733 0.467813 0.508211 0.556842 0.657895 0.785474 0.861263 +0.824632 0.714105 0.601684 0.534737 0.513895 0.502526 0.473493 0.473493 +0.462133 0.428053 0.405333 0.384507 0.405333 0.43752 0.424267 0.439413 +0.452667 0.464027 0.481067 0.496213 0.524632 0.541684 0.512 0.44888 +0.439413 0.433733 0.42048 0.407227 0.412907 0.38072 0.373147 0.3864 +0.395867 0.445093 0.44888 0.45456 0.484853 0.515158 0.580842 0.704 +0.844211 0.943368 0.988163 0.997633 1.00318 1.00841 1.00612 1.00286 +1.00351 0.995673 0.994694 0.98751 0.983265 1.00024 1.00645 0.997633 +0.996653 0.996327 0.996327 0.997633 0.992408 0.993061 0.985878 0.982286 +0.978737 0.957895 0.949684 0.944632 0.927579 0.909263 0.895368 0.873263 +0.841053 0.801263 0.743158 0.678105 0.638316 0.62 0.623789 0.645895 +0.680632 0.734947 0.767158 0.709684 0.616842 0.594105 0.606105 0.614947 +0.623158 0.637684 0.650947 0.640211 0.609895 0.590947 0.562526 0.532211 +0.505684 0.40912 0.350427 0.34664 0.38072 0.4432 0.46592 0.467813 +0.4432 0.418587 0.4432 0.503158 0.532211 0.522737 0.48864 0.48864 +0.46024 0.405333 0.371253 0.34664 0.462133 0.573895 0.605474 0.551158 +0.48864 0.445093 0.450773 0.422373 0.393973 0.382613 0.3864 0.424267 +0.467813 0.504421 0.512 0.501263 0.429947 0.39776 0.395867 0.399653 +0.390187 0.40912 0.422373 0.416693 0.469707 0.530947 0.551789 0.503789 +0.388293 0.36936 0.36368 0.356107 0.361787 0.384507 0.395867 0.4148 +0.484853 0.524632 0.523368 0.4716 0.422373 0.43752 0.418587 0.373147 +0.333387 0.327707 0.34096 0.33528 0.32392 0.320133 0.339067 0.342853 +0.342853 0.339067 0.327707 0.3296 0.337173 0.331493 0.327707 0.32392 +0.325813 0.325813 0.325813 0.33528 0.35232 0.34096 0.320133 0.316347 +0.320133 0.331493 0.331493 0.327707 0.31824 0.322027 0.31256 0.30688 +0.31256 0.31256 0.31824 0.308773 0.30688 0.31256 0.314453 0.320133 +0.350427 0.378827 0.36936 0.339067 0.34664 0.376933 0.395867 0.405333 +0.4148 0.411013 0.395867 0.405333 0.428053 0.44888 0.467813 0.517053 +0.619368 0.789895 0.913053 0.949053 0.967368 0.984245 0.987837 0.990449 +0.996 1.00122 1.00416 1.00482 1.00645 1.00808 1.00841 1.01037 +1.01233 1.01363 1.01396 1.01265 1.012 1.01167 1.01135 1.01233 +1.01298 1.01298 1.01527 1.01527 1.01233 1.012 1.01527 1.01592 +1.01396 1.00612 0.996653 1.00024 1.00939 1.01135 1.01037 1.00873 +1.00906 1.01037 1.012 1.01102 1.00351 0.991429 0.974316 0.951579 +0.938947 0.939579 0.952842 0.977474 0.982939 0.868211 0.635158 0.399653 +0.22168 0.000946667 0.22168 0.234933 0.23872 0.240613 0.246293 0.2444 +0.253867 0.2728 0.25576 0.000926667 0.000686667 0.000686667 0.000706667 0.000726667 +0.000706667 0.000713333 0.000713333 0.000713333 0.00072 0.00072 0.000713333 0.000733333 +0.000753333 0.000746667 0.000733333 0.000726667 0.00074 0.000733333 0.000713333 0.000733333 +0.000726667 0.000706667 0.0007 0.000713333 0.000726667 0.00072 0.0007 0.000693333 +0.000713333 0.000746667 0.000746667 0.000726667 0.000713333 0.000726667 0.00074 0.000753333 +0.000773333 0.000793333 0.000793333 0.0008 0.0008 0.00078 0.000786667 0.00082 +0.234933 0.34096 0.37504 0.551158 0.789263 0.971789 0.98751 0.962316 +0.942105 0.943368 0.953474 0.958526 0.959158 0.964842 0.983265 1.00057 +1.01135 1.01396 1.01298 1.012 1.01233 1.01396 1.01722 1.01494 +1.01592 1.01461 1.01461 1.0169 1.01527 1.01331 1.01167 1.01167 +1.01298 1.01233 1.01984 1.04073 1.05967 1.08282 1.05412 1.04367 +1.0538 1.04367 0.945895 0.734316 0.577053 0.47728 0.393973 0.378827 +0.36936 0.354213 0.337173 0.34664 0.348533 0.337173 0.348533 0.390187 +0.411013 0.361787 0.322027 0.327707 0.359893 0.354213 0.327707 0.304987 +0.291733 0.303093 0.325813 0.3296 0.322027 0.304987 0.31256 0.327707 +0.327707 0.31256 0.308773 0.325813 0.337173 0.34096 0.344747 0.36936 +0.384507 0.3864 0.395867 0.407227 0.422373 0.45456 0.4716 0.435627 +0.39776 0.405333 0.42048 0.405333 0.388293 0.39776 0.429947 0.44888 +0.473493 0.517684 0.568842 0.610526 0.611158 0.587158 0.571368 0.561895 +0.556842 0.574526 0.603579 0.628211 0.616842 0.550526 0.490533 0.445093 +0.412907 0.382613 0.365573 0.358 0.382613 0.384507 0.358 0.34096 +0.3296 0.314453 0.308773 0.322027 0.354213 0.4432 0.473493 0.401547 +0.34664 0.333387 0.31256 0.303093 0.316347 0.331493 0.339067 0.348533 +0.411013 0.452667 0.371253 0.327707 0.339067 0.34096 0.382613 0.388293 +0.344747 0.34664 0.37504 0.40912 0.456453 0.44888 0.416693 0.401547 +0.407227 0.378827 0.367467 0.390187 0.412907 0.418587 0.498107 0.562526 +0.657263 0.779789 0.837895 0.774105 0.642737 0.529684 0.445093 0.513895 +0.542947 0.492427 0.390187 0.356107 0.399653 0.475387 0.435627 0.39208 +0.4148 0.456453 0.481067 0.510737 0.561263 0.657263 0.765263 0.802526 +0.755158 0.671789 0.600421 0.561263 0.536 0.517053 0.509474 0.508211 +0.506316 0.47728 0.435627 0.407227 0.424267 0.45456 0.441307 0.44888 +0.479173 0.498107 0.503789 0.500632 0.49432 0.484853 0.433733 0.390187 +0.395867 0.39776 0.395867 0.401547 0.401547 0.376933 0.378827 0.399653 +0.399653 0.42616 0.42616 0.405333 0.407227 0.467813 0.541053 0.654737 +0.806947 0.925684 0.984245 0.996 1.00318 1.00971 1.00841 1.00449 +1.0009 0.994367 0.994041 0.982286 0.981306 0.999592 1.00678 0.998939 +0.997959 1.00057 0.998939 1.00057 0.999592 0.99698 0.992408 0.989143 +0.985224 0.967368 0.959158 0.958526 0.933263 0.902947 0.890947 0.854947 +0.785474 0.696421 0.621895 0.573895 0.546737 0.536 0.544842 0.553053 +0.566316 0.611158 0.679368 0.693263 0.605474 0.532842 0.519579 0.517684 +0.522737 0.537895 0.558105 0.568842 0.559368 0.539789 0.525263 0.513263 +0.47728 0.39208 0.35232 0.399653 0.49432 0.524632 0.533474 0.524 +0.506947 0.492427 0.515789 0.557474 0.592211 0.578947 0.570737 0.570737 +0.527158 0.446987 0.393973 0.424267 0.537263 0.621263 0.640842 0.572 +0.501263 0.429947 0.422373 0.40912 0.399653 0.376933 0.399653 0.48296 +0.508842 0.505684 0.503789 0.498107 0.424267 0.390187 0.399653 0.40912 +0.42616 0.43752 0.42048 0.40344 0.43752 0.505053 0.525263 0.5 +0.405333 0.373147 0.361787 0.348533 0.34664 0.37504 0.390187 0.416693 +0.481067 0.521474 0.522737 0.479173 0.422373 0.412907 0.390187 0.356107 +0.331493 0.322027 0.320133 0.322027 0.31824 0.320133 0.342853 0.348533 +0.337173 0.322027 0.316347 0.32392 0.331493 0.327707 0.3296 0.339067 +0.342853 0.331493 0.320133 0.320133 0.348533 0.35232 0.32392 0.310667 +0.316347 0.3296 0.342853 0.339067 0.344747 0.35232 0.331493 0.32392 +0.32392 0.320133 0.320133 0.31256 0.316347 0.31824 0.308773 0.31824 +0.333387 0.35232 0.371253 0.376933 0.371253 0.3864 0.428053 0.43752 +0.411013 0.395867 0.395867 0.416693 0.435627 0.446987 0.458347 0.515158 +0.621895 0.788 0.908 0.947789 0.975579 0.990776 0.992735 0.991755 +0.994694 0.999918 1.00351 1.0058 1.00906 1.01102 1.00971 1.00971 +1.01135 1.01135 1.01167 1.01298 1.01363 1.01527 1.01494 1.01167 +1.01069 1.01102 1.01265 1.01396 1.01331 1.01461 1.01755 1.01722 +1.01429 1.00873 0.999265 1.00286 1.01102 1.01135 1.01135 1.01135 +1.01037 1.012 1.01167 1.00939 1.00351 0.992408 0.98 0.958526 +0.945895 0.945263 0.952211 0.974316 0.984571 0.888421 0.656632 0.43184 +0.263333 0.257653 0.286053 0.291733 0.28984 0.276587 0.26712 0.270907 +0.265227 0.253867 0.216 0.000826667 0.000666667 0.000673333 0.000686667 0.00068 +0.00068 0.000713333 0.00072 0.000713333 0.000726667 0.00074 0.00074 0.000746667 +0.000753333 0.000733333 0.000713333 0.000706667 0.000686667 0.000693333 0.000706667 0.000733333 +0.000746667 0.00074 0.000726667 0.000733333 0.000753333 0.000713333 0.000706667 0.000706667 +0.000693333 0.000713333 0.000726667 0.000706667 0.000706667 0.000733333 0.000753333 0.000766667 +0.000766667 0.000766667 0.000786667 0.00082 0.00082 0.00082 0.00082 0.00086 +0.263333 0.350427 0.376933 0.574526 0.822737 0.981306 0.984245 0.959789 +0.944 0.942737 0.955368 0.961053 0.959789 0.964842 0.984898 1.00286 +1.00939 1.01167 1.01102 1.01037 1.01363 1.01592 1.01853 1.01624 +1.0169 1.01657 1.01494 1.01559 1.01559 1.01396 1.01135 1.01102 +1.01233 1.01298 1.02376 1.04922 1.1026 1.11782 1.05967 1.04465 +1.04922 1.04237 0.957895 0.741263 0.578947 0.481067 0.395867 0.371253 +0.359893 0.358 0.354213 0.365573 0.350427 0.327707 0.342853 0.37504 +0.399653 0.38072 0.354213 0.359893 0.36936 0.34096 0.314453 0.303093 +0.293627 0.299307 0.316347 0.320133 0.320133 0.320133 0.31824 0.320133 +0.320133 0.314453 0.316347 0.344747 0.388293 0.435627 0.42048 0.371253 +0.354213 0.34096 0.34096 0.34664 0.358 0.401547 0.44888 0.462133 +0.458347 0.469707 0.452667 0.399653 0.376933 0.38072 0.39208 0.411013 +0.45456 0.508842 0.546105 0.578947 0.577684 0.556211 0.544842 0.536632 +0.512 0.503789 0.525895 0.567579 0.592842 0.557474 0.503158 0.433733 +0.384507 0.348533 0.339067 0.34096 0.354213 0.348533 0.32392 0.310667 +0.322027 0.3296 0.344747 0.354213 0.376933 0.43752 0.481067 0.43752 +0.359893 0.325813 0.310667 0.303093 0.316347 0.333387 0.35232 0.382613 +0.46024 0.47728 0.36368 0.333387 0.331493 0.358 0.411013 0.3864 +0.33528 0.342853 0.365573 0.418587 0.45456 0.39208 0.350427 0.371253 +0.4148 0.393973 0.378827 0.36936 0.37504 0.429947 0.516421 0.588421 +0.681263 0.743158 0.712211 0.626947 0.560632 0.532842 0.526526 0.532211 +0.533474 0.481067 0.384507 0.354213 0.481067 0.551158 0.526526 0.439413 +0.40912 0.407227 0.4148 0.433733 0.503789 0.558737 0.608632 0.616211 +0.596 0.578947 0.569474 0.566947 0.566316 0.565053 0.565684 0.566316 +0.561263 0.545474 0.527789 0.516421 0.512632 0.518316 0.516421 0.513263 +0.515789 0.510737 0.5 0.47728 0.45456 0.42616 0.388293 0.36368 +0.373147 0.384507 0.40912 0.433733 0.44888 0.446987 0.429947 0.42048 +0.407227 0.405333 0.416693 0.390187 0.378827 0.412907 0.508842 0.612421 +0.770316 0.908 0.98098 0.992408 1.00155 1.00612 1.00841 1.00808 +1.00024 0.996 0.997959 0.985551 0.984571 0.999918 1.00416 0.999918 +1.00155 1.0071 1.00416 1.00449 1.00188 0.999265 0.998286 0.992408 +0.986857 0.972421 0.961053 0.960421 0.937053 0.908 0.896 0.843579 +0.719789 0.589053 0.525895 0.500632 0.411013 0.354213 0.354213 0.35232 +0.367467 0.441307 0.544842 0.624421 0.606737 0.529684 0.479173 0.464027 +0.486747 0.511368 0.517684 0.532842 0.544211 0.532211 0.532842 0.530316 +0.514526 0.498107 0.484853 0.512632 0.531579 0.530947 0.519579 0.48864 +0.429947 0.428053 0.496213 0.541053 0.577053 0.568842 0.590947 0.626316 +0.590947 0.542947 0.530316 0.589684 0.684421 0.719789 0.675579 0.570737 +0.486747 0.429947 0.40912 0.40344 0.405333 0.405333 0.486747 0.536 +0.536632 0.510737 0.492427 0.475387 0.42616 0.39776 0.407227 0.429947 +0.456453 0.4432 0.401547 0.38072 0.42048 0.486747 0.505053 0.464027 +0.40912 0.382613 0.365573 0.34096 0.320133 0.342853 0.376933 0.42616 +0.504421 0.539158 0.543579 0.516421 0.479173 0.435627 0.39208 0.359893 +0.339067 0.327707 0.322027 0.32392 0.31824 0.331493 0.358 0.361787 +0.342853 0.325813 0.331493 0.337173 0.33528 0.327707 0.32392 0.33528 +0.34664 0.344747 0.33528 0.325813 0.35232 0.367467 0.339067 0.316347 +0.32392 0.350427 0.361787 0.350427 0.371253 0.388293 0.365573 0.350427 +0.33528 0.31824 0.31256 0.308773 0.31824 0.316347 0.316347 0.316347 +0.320133 0.34664 0.390187 0.435627 0.428053 0.412907 0.456453 0.458347 +0.40344 0.3864 0.40344 0.416693 0.416693 0.424267 0.452667 0.520211 +0.628842 0.789263 0.904211 0.945895 0.982286 0.999592 0.997959 0.994041 +0.996653 1.0022 1.00482 1.00612 1.00743 1.00939 1.01004 1.01102 +1.01363 1.01331 1.01167 1.01167 1.01265 1.01429 1.01527 1.01233 +1.01004 1.01135 1.01396 1.01429 1.01429 1.01494 1.01494 1.01592 +1.01461 1.00939 1.00449 1.00776 1.01331 1.01135 1.00939 1.01069 +1.01037 1.01102 1.01167 1.01069 1.00743 0.99698 0.983592 0.962316 +0.944 0.942737 0.947789 0.972421 0.986531 0.907368 0.685684 0.496213 +0.31256 0.303093 0.29552 0.276587 0.263333 0.257653 0.25576 0.253867 +0.23872 0.000966667 0.000853333 0.000753333 0.00072 0.000713333 0.000706667 0.000713333 +0.000706667 0.0007 0.000686667 0.000673333 0.000686667 0.0007 0.0007 0.000706667 +0.000733333 0.00074 0.000733333 0.000733333 0.00072 0.000733333 0.000753333 0.00074 +0.00072 0.000706667 0.000713333 0.000726667 0.00074 0.00072 0.000733333 0.00074 +0.00074 0.000726667 0.000733333 0.000726667 0.00072 0.00072 0.000706667 0.00074 +0.00076 0.000746667 0.000773333 0.0008 0.000793333 0.000833333 0.00084 0.00092 +0.299307 0.359893 0.390187 0.602316 0.855579 0.986204 0.981306 0.956 +0.946526 0.941474 0.950947 0.959789 0.959158 0.966105 0.989469 1.00678 +1.01135 1.01102 1.00906 1.00873 1.01298 1.01559 1.01755 1.01657 +1.01624 1.0169 1.01592 1.01331 1.0169 1.01592 1.01167 1.01004 +1.01135 1.01265 1.02571 1.05478 1.14521 1.15738 1.08435 1.04727 +1.04629 1.03649 0.956632 0.741263 0.573895 0.469707 0.3864 0.356107 +0.35232 0.361787 0.36368 0.371253 0.35232 0.320133 0.320133 0.331493 +0.36368 0.39208 0.384507 0.356107 0.339067 0.31824 0.297413 0.291733 +0.291733 0.297413 0.31256 0.314453 0.33528 0.359893 0.34664 0.339067 +0.337173 0.33528 0.344747 0.376933 0.433733 0.49432 0.452667 0.361787 +0.337173 0.3296 0.325813 0.32392 0.327707 0.35232 0.384507 0.4148 +0.450773 0.484853 0.469707 0.395867 0.358 0.361787 0.36936 0.373147 +0.390187 0.43184 0.506316 0.541684 0.562526 0.563789 0.553684 0.534737 +0.501895 0.429947 0.42048 0.501895 0.557474 0.580842 0.544211 0.48864 +0.399653 0.358 0.33528 0.3296 0.327707 0.327707 0.325813 0.322027 +0.337173 0.354213 0.36368 0.367467 0.36936 0.376933 0.411013 0.445093 +0.401547 0.337173 0.31256 0.320133 0.34096 0.348533 0.359893 0.37504 +0.445093 0.464027 0.365573 0.33528 0.337173 0.373147 0.416693 0.361787 +0.3296 0.34096 0.371253 0.412907 0.399653 0.350427 0.31824 0.348533 +0.388293 0.39208 0.38072 0.361787 0.3864 0.469707 0.525263 0.584 +0.666105 0.685053 0.595368 0.514526 0.504421 0.519579 0.517684 0.479173 +0.446987 0.42616 0.390187 0.4432 0.595368 0.706526 0.639579 0.513263 +0.40344 0.37504 0.384507 0.390187 0.418587 0.467813 0.479173 0.48296 +0.503158 0.522737 0.541684 0.560632 0.597263 0.630105 0.635158 0.630105 +0.632632 0.622526 0.601053 0.585895 0.578316 0.588421 0.587789 0.565684 +0.542316 0.512 0.479173 0.456453 0.428053 0.42616 0.401547 0.395867 +0.42048 0.456453 0.506316 0.524 0.532842 0.520842 0.486747 0.446987 +0.42616 0.416693 0.429947 0.401547 0.382613 0.382613 0.458347 0.578947 +0.741895 0.890947 0.971789 0.989143 0.997306 1.00057 1.0058 1.00808 +1.00155 0.997633 1.00122 0.993061 0.986857 0.996327 1.00188 1.00024 +1.00384 1.01167 1.00906 1.0071 1.00449 1.0022 1.00122 0.991102 +0.986204 0.971158 0.961053 0.962316 0.937684 0.914947 0.906737 0.825263 +0.649053 0.514526 0.412907 0.358 0.299307 0.2728 0.276587 0.28416 +0.282267 0.297413 0.376933 0.524 0.561895 0.544842 0.518947 0.501895 +0.486747 0.500632 0.500632 0.506316 0.519579 0.524 0.537263 0.553053 +0.571368 0.594737 0.608632 0.607368 0.577684 0.539158 0.508842 0.446987 +0.390187 0.38072 0.422373 0.500632 0.530316 0.556211 0.611158 0.653474 +0.650316 0.642737 0.649684 0.722316 0.817053 0.821474 0.709684 0.549263 +0.43184 0.433733 0.42616 0.411013 0.418587 0.502526 0.559368 0.588421 +0.548 0.503789 0.492427 0.458347 0.418587 0.418587 0.43184 0.446987 +0.462133 0.439413 0.405333 0.390187 0.429947 0.475387 0.490533 0.46024 +0.416693 0.401547 0.390187 0.356107 0.333387 0.361787 0.445093 0.528421 +0.581474 0.616842 0.616842 0.589684 0.556211 0.526526 0.49432 0.429947 +0.388293 0.348533 0.327707 0.33528 0.34096 0.361787 0.382613 0.378827 +0.361787 0.354213 0.373147 0.367467 0.342853 0.327707 0.31256 0.310667 +0.322027 0.348533 0.36936 0.359893 0.371253 0.390187 0.359893 0.331493 +0.344747 0.390187 0.40344 0.382613 0.373147 0.359893 0.356107 0.34664 +0.333387 0.322027 0.304987 0.303093 0.316347 0.327707 0.337173 0.333387 +0.32392 0.339067 0.393973 0.4716 0.484853 0.46592 0.501263 0.501895 +0.441307 0.42048 0.424267 0.4148 0.407227 0.411013 0.4432 0.520842 +0.627579 0.779789 0.895368 0.953474 0.994694 1.01102 1.00645 0.999918 +0.998612 1.00188 1.00253 1.0058 1.00873 1.012 1.01135 1.012 +1.01331 1.01265 1.01135 1.01037 1.01167 1.01396 1.01461 1.01429 +1.01331 1.01298 1.01331 1.01396 1.01363 1.01624 1.0169 1.01755 +1.01755 1.01102 1.00743 1.00906 1.01102 1.00873 1.00743 1.01004 +1.01233 1.012 1.01265 1.012 1.0071 0.997306 0.983592 0.961053 +0.943368 0.940842 0.950316 0.972421 0.987184 0.921895 0.707789 0.513263 +0.34664 0.316347 0.263333 0.22736 0.22168 0.216 0.000973333 0.00092 +0.000893333 0.0008 0.000726667 0.000706667 0.000746667 0.000746667 0.000746667 0.000753333 +0.00076 0.000746667 0.000713333 0.000693333 0.000693333 0.000686667 0.00068 0.00068 +0.000686667 0.000713333 0.000733333 0.000753333 0.000753333 0.000753333 0.000753333 0.00074 +0.000733333 0.000726667 0.000753333 0.000746667 0.000713333 0.000713333 0.000713333 0.000693333 +0.0007 0.000693333 0.000686667 0.000706667 0.000733333 0.000753333 0.000726667 0.000733333 +0.000773333 0.000766667 0.000786667 0.0008 0.000773333 0.000793333 0.000813333 0.000966667 +0.31824 0.354213 0.40344 0.627579 0.880211 0.989469 0.980653 0.955368 +0.947789 0.944 0.950947 0.959789 0.957895 0.968 0.992735 1.0071 +1.01069 1.00906 1.00776 1.01037 1.01363 1.01461 1.01461 1.01461 +1.01265 1.01396 1.01461 1.01102 1.0169 1.0169 1.01331 1.01167 +1.01298 1.01559 1.02963 1.05804 1.17108 1.18477 1.08587 1.04629 +1.044 1.03224 0.956632 0.746947 0.572632 0.45456 0.373147 0.361787 +0.359893 0.359893 0.356107 0.350427 0.342853 0.333387 0.32392 0.322027 +0.34664 0.388293 0.376933 0.325813 0.316347 0.322027 0.30688 0.3012 +0.31256 0.31256 0.320133 0.331493 0.373147 0.407227 0.401547 0.3864 +0.36368 0.350427 0.34664 0.35232 0.376933 0.40912 0.39776 0.354213 +0.333387 0.325813 0.331493 0.331493 0.33528 0.354213 0.371253 0.39208 +0.428053 0.492427 0.508211 0.445093 0.365573 0.36368 0.367467 0.356107 +0.356107 0.371253 0.4148 0.48296 0.517684 0.542316 0.546105 0.529053 +0.500632 0.435627 0.407227 0.429947 0.526526 0.580842 0.566947 0.510737 +0.428053 0.39208 0.34096 0.320133 0.31824 0.3296 0.337173 0.331493 +0.339067 0.337173 0.325813 0.320133 0.314453 0.304987 0.325813 0.405333 +0.435627 0.37504 0.325813 0.322027 0.327707 0.3296 0.327707 0.333387 +0.393973 0.428053 0.359893 0.33528 0.333387 0.37504 0.39208 0.337173 +0.342853 0.365573 0.37504 0.39208 0.36936 0.339067 0.32392 0.342853 +0.35232 0.35232 0.358 0.378827 0.42048 0.4716 0.510737 0.551158 +0.618105 0.626947 0.544211 0.452667 0.450773 0.458347 0.428053 0.376933 +0.36936 0.390187 0.407227 0.522105 0.695158 0.836 0.726105 0.534105 +0.393973 0.36368 0.36936 0.3864 0.416693 0.412907 0.3864 0.40912 +0.452667 0.504421 0.521474 0.544211 0.595368 0.651579 0.647158 0.614947 +0.612421 0.613684 0.602316 0.596 0.598526 0.615579 0.623789 0.585895 +0.545474 0.520211 0.503789 0.469707 0.439413 0.435627 0.42048 0.43184 +0.46592 0.502526 0.524 0.535368 0.533474 0.513263 0.469707 0.46592 +0.462133 0.445093 0.433733 0.39208 0.384507 0.3864 0.422373 0.546105 +0.704 0.863158 0.952842 0.983918 0.991429 0.995673 1.00188 1.00384 +1.0022 1.0009 0.999265 0.994041 0.988816 0.995673 0.998939 0.998286 +1.00351 1.01102 1.00906 1.00841 1.00808 1.00416 0.997959 0.98751 +0.981633 0.964842 0.957263 0.954737 0.92821 0.915579 0.918737 0.806316 +0.589684 0.412907 0.348533 0.31824 0.303093 0.314453 0.314453 0.30688 +0.304987 0.29552 0.308773 0.388293 0.49432 0.530316 0.529684 0.510737 +0.48864 0.49432 0.500632 0.5 0.509474 0.520211 0.527158 0.548632 +0.606737 0.688211 0.740632 0.729263 0.647158 0.572632 0.539158 0.510737 +0.469707 0.4432 0.462133 0.504421 0.532842 0.600421 0.659158 0.642737 +0.638947 0.678737 0.720421 0.789263 0.875158 0.882105 0.732421 0.537263 +0.416693 0.43184 0.44888 0.45456 0.508211 0.580211 0.646526 0.630105 +0.548 0.484853 0.484853 0.462133 0.429947 0.4432 0.46024 0.467813 +0.469707 0.46024 0.4432 0.422373 0.445093 0.462133 0.4716 0.479173 +0.467813 0.43752 0.40912 0.388293 0.433733 0.524632 0.598526 0.676842 +0.729263 0.745053 0.727368 0.688842 0.645895 0.603579 0.560632 0.528421 +0.503789 0.4432 0.39776 0.376933 0.365573 0.371253 0.382613 0.401547 +0.40912 0.39776 0.399653 0.37504 0.337173 0.32392 0.32392 0.31824 +0.331493 0.350427 0.36368 0.371253 0.39776 0.40912 0.365573 0.354213 +0.399653 0.452667 0.445093 0.401547 0.354213 0.31256 0.32392 0.325813 +0.320133 0.320133 0.310667 0.314453 0.327707 0.344747 0.350427 0.339067 +0.3296 0.325813 0.354213 0.416693 0.445093 0.458347 0.508842 0.511368 +0.467813 0.439413 0.424267 0.405333 0.399653 0.412907 0.439413 0.517684 +0.622526 0.772211 0.893474 0.977474 1.01363 1.02114 1.01331 1.00906 +1.00645 1.00514 1.00449 1.00678 1.00939 1.01167 1.01069 1.012 +1.01298 1.01265 1.012 1.01363 1.01429 1.01461 1.01331 1.012 +1.01363 1.01331 1.01363 1.01657 1.01657 1.0169 1.01853 1.0169 +1.01624 1.01167 1.00841 1.00906 1.01004 1.00971 1.00939 1.00906 +1.01037 1.01102 1.01102 1.01037 1.00678 0.998939 0.986531 0.967368 +0.949684 0.943368 0.948421 0.967368 0.985224 0.931368 0.725474 0.530947 +0.40344 0.339067 0.242507 0.00094 0.000886667 0.000813333 0.0008 0.000793333 +0.000786667 0.000753333 0.000713333 0.000746667 0.000706667 0.000713333 0.000713333 0.00072 +0.00072 0.000706667 0.000713333 0.00072 0.000713333 0.00072 0.000706667 0.000706667 +0.00072 0.000733333 0.000726667 0.000726667 0.000733333 0.000733333 0.000726667 0.000713333 +0.000713333 0.00072 0.00076 0.00076 0.000726667 0.000733333 0.00074 0.000726667 +0.00072 0.000706667 0.00068 0.000666667 0.0007 0.00074 0.000746667 0.000733333 +0.00076 0.000793333 0.000806667 0.0008 0.0008 0.000813333 0.000833333 0.223573 +0.325813 0.333387 0.40912 0.647158 0.894737 0.98849 0.979368 0.956632 +0.947789 0.946526 0.956632 0.962316 0.956632 0.971158 0.994694 1.00678 +1.01004 1.00743 1.00547 1.00906 1.01167 1.01429 1.01363 1.01461 +1.01331 1.01429 1.01396 1.01004 1.01461 1.01527 1.01461 1.01298 +1.01298 1.01722 1.0342 1.07522 1.19694 1.18934 1.06 1.04204 +1.04367 1.03094 0.954737 0.747579 0.572 0.458347 0.378827 0.365573 +0.35232 0.34664 0.342853 0.327707 0.34096 0.358 0.358 0.367467 +0.373147 0.393973 0.371253 0.322027 0.320133 0.331493 0.327707 0.339067 +0.35232 0.337173 0.33528 0.356107 0.4148 0.445093 0.418587 0.382613 +0.356107 0.34664 0.3296 0.31824 0.31824 0.333387 0.348533 0.337173 +0.3296 0.33528 0.348533 0.34664 0.35232 0.358 0.358 0.382613 +0.43184 0.504421 0.532842 0.519579 0.435627 0.390187 0.384507 0.382613 +0.37504 0.37504 0.39776 0.416693 0.418587 0.452667 0.49432 0.505053 +0.501895 0.475387 0.452667 0.46024 0.521474 0.564421 0.562526 0.530316 +0.479173 0.40912 0.350427 0.327707 0.348533 0.354213 0.3296 0.31824 +0.325813 0.31824 0.310667 0.31256 0.310667 0.308773 0.308773 0.36368 +0.441307 0.435627 0.378827 0.339067 0.320133 0.314453 0.316347 0.325813 +0.378827 0.39776 0.34664 0.331493 0.325813 0.348533 0.356107 0.3296 +0.350427 0.373147 0.365573 0.373147 0.356107 0.34096 0.34096 0.34096 +0.322027 0.32392 0.348533 0.39208 0.42048 0.433733 0.456453 0.508211 +0.562526 0.589684 0.539789 0.462133 0.42048 0.399653 0.38072 0.373147 +0.378827 0.390187 0.42048 0.521474 0.649684 0.748211 0.661053 0.512632 +0.38072 0.358 0.361787 0.378827 0.405333 0.395867 0.382613 0.407227 +0.43184 0.452667 0.469707 0.505053 0.549895 0.615579 0.607368 0.544842 +0.525895 0.536 0.534105 0.537263 0.541053 0.558737 0.583368 0.558737 +0.530947 0.527158 0.520842 0.509474 0.48864 0.46024 0.43184 0.441307 +0.456453 0.45456 0.456453 0.450773 0.433733 0.4148 0.407227 0.46024 +0.475387 0.43184 0.40912 0.378827 0.393973 0.39776 0.42048 0.522105 +0.657895 0.827789 0.932 0.971789 0.982939 0.989469 0.997306 1.00057 +1.00318 1.0009 0.997306 0.994694 0.99698 0.999918 0.997959 0.999592 +1.00286 1.00449 1.00318 1.00416 1.00384 1.00122 0.991429 0.983918 +0.972421 0.950947 0.942737 0.935158 0.92379 0.925053 0.92379 0.791158 +0.563789 0.36368 0.34664 0.344747 0.344747 0.382613 0.36936 0.339067 +0.337173 0.31256 0.310667 0.344747 0.376933 0.484853 0.517684 0.518316 +0.504421 0.502526 0.506316 0.512632 0.521474 0.524632 0.524 0.534737 +0.606105 0.734947 0.813263 0.786105 0.658526 0.548 0.520842 0.505053 +0.467813 0.441307 0.456453 0.501263 0.538526 0.612421 0.627579 0.560632 +0.551158 0.614947 0.719158 0.834737 0.908 0.877684 0.716 0.547368 +0.473493 0.44888 0.469707 0.512632 0.582105 0.681263 0.716 0.642105 +0.538526 0.469707 0.46024 0.44888 0.43184 0.435627 0.450773 0.475387 +0.5 0.501263 0.484853 0.464027 0.479173 0.496213 0.509474 0.524 +0.526526 0.512 0.498107 0.514526 0.574526 0.671158 0.772842 0.840421 +0.866947 0.861895 0.825895 0.767789 0.710947 0.659158 0.605474 0.569474 +0.547368 0.532842 0.513895 0.458347 0.395867 0.37504 0.39208 0.439413 +0.456453 0.42048 0.39776 0.373147 0.34096 0.325813 0.327707 0.337173 +0.367467 0.384507 0.3864 0.412907 0.48296 0.46592 0.399653 0.40912 +0.44888 0.452667 0.40344 0.359893 0.3296 0.308773 0.31824 0.31824 +0.30688 0.31256 0.314453 0.320133 0.327707 0.34664 0.36368 0.350427 +0.331493 0.325813 0.327707 0.358 0.405333 0.4716 0.509474 0.496213 +0.422373 0.384507 0.371253 0.384507 0.395867 0.4148 0.45456 0.518947 +0.615579 0.764632 0.902316 0.996327 1.03094 1.03029 1.02278 1.02082 +1.0169 1.01135 1.00776 1.00743 1.00906 1.01069 1.01233 1.01363 +1.01298 1.01298 1.01429 1.01527 1.01396 1.01331 1.01265 1.01298 +1.01527 1.01429 1.01331 1.01527 1.01494 1.01461 1.01722 1.01592 +1.01592 1.01331 1.00906 1.00939 1.01135 1.01167 1.01102 1.00971 +1.00841 1.01102 1.01167 1.01004 1.00971 1.0022 0.987184 0.963579 +0.945263 0.941474 0.945895 0.963579 0.985224 0.945263 0.745684 0.543579 +0.422373 0.327707 0.000986667 0.00084 0.000833333 0.000786667 0.000786667 0.000773333 +0.000746667 0.000746667 0.00074 0.000753333 0.000726667 0.000713333 0.0007 0.0007 +0.000686667 0.00068 0.0007 0.0007 0.0007 0.000706667 0.000693333 0.000713333 +0.000726667 0.000733333 0.000733333 0.000733333 0.000753333 0.00074 0.000733333 0.00072 +0.000726667 0.00072 0.000713333 0.000726667 0.000713333 0.000713333 0.00072 0.000733333 +0.00072 0.000713333 0.000733333 0.000726667 0.000733333 0.000733333 0.000753333 0.000746667 +0.000746667 0.00078 0.000786667 0.000773333 0.000786667 0.00082 0.00088 0.259547 +0.348533 0.327707 0.428053 0.664842 0.905474 0.986531 0.973053 0.952211 +0.945263 0.947158 0.957263 0.960421 0.957263 0.973053 0.995673 1.00776 +1.01037 1.00743 1.00547 1.00743 1.01102 1.01559 1.01429 1.01461 +1.01527 1.01559 1.01298 1.01167 1.01396 1.01396 1.01527 1.01429 +1.01135 1.01657 1.03551 1.08587 1.2152 1.18782 1.05478 1.03682 +1.04335 1.03224 0.955368 0.745684 0.570737 0.467813 0.384507 0.361787 +0.350427 0.354213 0.348533 0.327707 0.337173 0.354213 0.39776 0.473493 +0.452667 0.405333 0.36936 0.325813 0.31824 0.31824 0.331493 0.359893 +0.37504 0.361787 0.376933 0.418587 0.462133 0.4432 0.382613 0.342853 +0.3296 0.337173 0.333387 0.3296 0.316347 0.322027 0.331493 0.322027 +0.3296 0.33528 0.344747 0.354213 0.361787 0.354213 0.342853 0.35232 +0.390187 0.467813 0.530316 0.539789 0.5 0.42048 0.412907 0.428053 +0.411013 0.399653 0.412907 0.405333 0.376933 0.365573 0.3864 0.433733 +0.47728 0.475387 0.469707 0.486747 0.516421 0.534737 0.528421 0.520842 +0.505684 0.4432 0.37504 0.354213 0.384507 0.36936 0.3296 0.337173 +0.35232 0.33528 0.325813 0.337173 0.339067 0.33528 0.322027 0.33528 +0.412907 0.503789 0.503789 0.399653 0.33528 0.320133 0.31824 0.350427 +0.395867 0.388293 0.34664 0.342853 0.33528 0.342853 0.33528 0.32392 +0.342853 0.344747 0.34664 0.359893 0.354213 0.348533 0.34664 0.33528 +0.32392 0.342853 0.367467 0.388293 0.390187 0.393973 0.395867 0.422373 +0.520842 0.581474 0.565684 0.496213 0.399653 0.382613 0.38072 0.382613 +0.399653 0.405333 0.40912 0.46024 0.532842 0.569474 0.536 0.422373 +0.350427 0.358 0.3864 0.388293 0.3864 0.393973 0.388293 0.399653 +0.42048 0.42048 0.4148 0.42616 0.506947 0.572 0.580211 0.522105 +0.47728 0.47728 0.458347 0.452667 0.462133 0.506947 0.532842 0.523368 +0.505684 0.508211 0.513895 0.514526 0.508211 0.49432 0.458347 0.46592 +0.47728 0.44888 0.39776 0.384507 0.388293 0.395867 0.401547 0.43752 +0.441307 0.39208 0.378827 0.37504 0.388293 0.393973 0.40912 0.504421 +0.616211 0.789895 0.908632 0.952211 0.971158 0.981959 0.989469 0.996327 +1.0022 1.00188 1.00155 0.999592 1.00122 1.00286 1.00024 1.0009 +1.00057 0.996327 0.994694 0.99502 0.995347 0.993388 0.983918 0.98 +0.959789 0.933263 0.926947 0.929474 0.935789 0.936421 0.914947 0.791158 +0.580211 0.40344 0.407227 0.399653 0.390187 0.411013 0.405333 0.382613 +0.36936 0.35232 0.36368 0.36368 0.34664 0.399653 0.44888 0.509474 +0.514526 0.513263 0.510737 0.516421 0.515789 0.510737 0.512 0.518316 +0.585263 0.735579 0.822105 0.775368 0.636421 0.513895 0.446987 0.439413 +0.4432 0.441307 0.450773 0.498107 0.546105 0.604211 0.575158 0.498107 +0.458347 0.535368 0.674947 0.845474 0.892211 0.803158 0.662947 0.558737 +0.518316 0.498107 0.506316 0.554316 0.654737 0.74 0.723579 0.612421 +0.515789 0.44888 0.441307 0.428053 0.411013 0.418587 0.429947 0.467813 +0.513263 0.532842 0.537263 0.533474 0.537263 0.549263 0.574526 0.597895 +0.597263 0.581474 0.583368 0.622526 0.706526 0.808842 0.896632 0.942737 +0.946526 0.922526 0.872632 0.808211 0.740632 0.674947 0.609263 0.573895 +0.566947 0.567579 0.560632 0.531579 0.49432 0.43752 0.441307 0.49432 +0.475387 0.407227 0.38072 0.373147 0.348533 0.331493 0.337173 0.354213 +0.37504 0.376933 0.39776 0.473493 0.531579 0.522737 0.481067 0.44888 +0.411013 0.371253 0.34096 0.314453 0.30688 0.31824 0.327707 0.320133 +0.310667 0.314453 0.325813 0.331493 0.32392 0.325813 0.358 0.371253 +0.348533 0.339067 0.350427 0.39776 0.469707 0.503789 0.492427 0.43184 +0.38072 0.356107 0.354213 0.382613 0.407227 0.422373 0.45456 0.518947 +0.609895 0.764 0.937684 1.02767 1.04661 1.03682 1.03094 1.03127 +1.02571 1.01657 1.01069 1.00906 1.012 1.012 1.01363 1.01331 +1.01037 1.01135 1.01559 1.01657 1.01429 1.01363 1.01298 1.01331 +1.01527 1.01331 1.012 1.01363 1.01494 1.01755 1.01886 1.01657 +1.01559 1.012 1.00678 1.00743 1.01069 1.01298 1.01331 1.01265 +1.01135 1.01233 1.01167 1.00971 1.00971 1.0022 0.986531 0.966105 +0.949053 0.945263 0.945895 0.960421 0.984898 0.949053 0.754526 0.547368 +0.4148 0.325813 0.219787 0.000846667 0.00084 0.000826667 0.000766667 0.000733333 +0.000726667 0.000753333 0.00076 0.00074 0.000713333 0.00072 0.000713333 0.000713333 +0.000713333 0.000706667 0.000706667 0.0007 0.000706667 0.000726667 0.000733333 0.000726667 +0.00072 0.000713333 0.00072 0.000726667 0.00074 0.000713333 0.000713333 0.000733333 +0.000753333 0.000753333 0.0007 0.000706667 0.000706667 0.0007 0.000693333 0.000726667 +0.00072 0.000693333 0.000706667 0.000733333 0.00074 0.000746667 0.000766667 0.000786667 +0.000773333 0.000773333 0.000793333 0.000806667 0.000793333 0.000806667 0.000926667 0.29552 +0.348533 0.3012 0.446987 0.684421 0.918737 0.98751 0.971789 0.950316 +0.942737 0.944632 0.954105 0.956632 0.960421 0.976842 0.99698 1.00906 +1.01135 1.01069 1.00841 1.00678 1.01135 1.01722 1.01592 1.01527 +1.01527 1.01527 1.01233 1.01363 1.01396 1.01331 1.01461 1.01461 +1.01265 1.01886 1.03616 1.08435 1.21368 1.18629 1.0538 1.03388 +1.04106 1.03388 0.960421 0.746316 0.568842 0.473493 0.390187 0.356107 +0.35232 0.359893 0.35232 0.339067 0.339067 0.356107 0.4432 0.524632 +0.515158 0.435627 0.365573 0.320133 0.310667 0.304987 0.322027 0.342853 +0.359893 0.384507 0.4432 0.48864 0.473493 0.412907 0.36368 0.333387 +0.325813 0.339067 0.350427 0.358 0.34096 0.325813 0.322027 0.320133 +0.33528 0.337173 0.339067 0.35232 0.348533 0.33528 0.3296 0.339067 +0.36936 0.40344 0.496213 0.524632 0.498107 0.395867 0.38072 0.401547 +0.399653 0.40912 0.441307 0.428053 0.382613 0.37504 0.382613 0.416693 +0.435627 0.439413 0.46024 0.462133 0.486747 0.520842 0.512 0.484853 +0.473493 0.456453 0.412907 0.39776 0.418587 0.390187 0.36368 0.40344 +0.445093 0.424267 0.388293 0.382613 0.371253 0.361787 0.33528 0.32392 +0.39776 0.550526 0.606737 0.541684 0.401547 0.339067 0.342853 0.3864 +0.401547 0.365573 0.354213 0.35232 0.354213 0.361787 0.34664 0.33528 +0.34664 0.33528 0.33528 0.35232 0.354213 0.356107 0.359893 0.35232 +0.356107 0.376933 0.382613 0.36368 0.361787 0.36368 0.361787 0.39208 +0.515789 0.602316 0.606737 0.522105 0.39776 0.371253 0.36368 0.37504 +0.405333 0.411013 0.399653 0.39776 0.42048 0.4432 0.433733 0.388293 +0.350427 0.361787 0.399653 0.399653 0.382613 0.39208 0.384507 0.371253 +0.39208 0.412907 0.407227 0.401547 0.452667 0.531579 0.566316 0.537895 +0.492427 0.452667 0.422373 0.40912 0.42048 0.469707 0.502526 0.500632 +0.469707 0.446987 0.445093 0.467813 0.473493 0.473493 0.46592 0.49432 +0.505053 0.490533 0.445093 0.445093 0.441307 0.446987 0.445093 0.422373 +0.395867 0.373147 0.38072 0.38072 0.399653 0.407227 0.40344 0.475387 +0.582737 0.750737 0.877053 0.932 0.957895 0.973053 0.982939 0.990122 +0.998612 1.00024 1.00155 0.99698 0.997306 0.999592 0.994367 0.993714 +0.995673 0.991755 0.989143 0.984571 0.986204 0.982286 0.969895 0.964842 +0.939579 0.917474 0.918737 0.933263 0.943368 0.935789 0.903579 0.809474 +0.619368 0.481067 0.479173 0.4716 0.456453 0.43752 0.43184 0.43752 +0.412907 0.393973 0.39776 0.36936 0.34664 0.384507 0.384507 0.422373 +0.475387 0.507579 0.518316 0.516421 0.500632 0.484853 0.475387 0.473493 +0.538526 0.656 0.732421 0.700842 0.615579 0.536632 0.507579 0.492427 +0.47728 0.467813 0.464027 0.496213 0.550526 0.613053 0.586526 0.511368 +0.464027 0.525895 0.657263 0.820842 0.830947 0.719789 0.615579 0.553684 +0.525263 0.508211 0.517684 0.580211 0.681263 0.728 0.670526 0.562526 +0.490533 0.429947 0.428053 0.4148 0.39208 0.4148 0.473493 0.519579 +0.548632 0.574526 0.584632 0.573263 0.565053 0.589684 0.640842 0.685053 +0.692 0.680632 0.695158 0.741895 0.815158 0.890947 0.954105 0.981959 +0.970526 0.933895 0.875158 0.803158 0.725474 0.649684 0.588421 0.558737 +0.559368 0.577053 0.601053 0.605474 0.579579 0.547368 0.531579 0.527158 +0.486747 0.39776 0.373147 0.365573 0.34664 0.331493 0.337173 0.342853 +0.342853 0.337173 0.361787 0.481067 0.551789 0.541684 0.47728 0.39776 +0.350427 0.331493 0.32392 0.308773 0.3012 0.31256 0.327707 0.331493 +0.33528 0.333387 0.33528 0.331493 0.31824 0.322027 0.373147 0.435627 +0.429947 0.399653 0.433733 0.496213 0.515789 0.508842 0.464027 0.433733 +0.40912 0.388293 0.3864 0.39208 0.40344 0.435627 0.475387 0.525263 +0.617474 0.781053 0.985224 1.05641 1.05576 1.04041 1.03943 1.04596 +1.03845 1.0218 1.012 1.01069 1.01265 1.01037 1.01298 1.01396 +1.01363 1.01396 1.01494 1.01592 1.01298 1.012 1.01298 1.01363 +1.01494 1.01494 1.01461 1.01559 1.01559 1.0169 1.01722 1.01624 +1.01396 1.01135 1.00743 1.00776 1.01135 1.01363 1.01233 1.01069 +1.01102 1.00906 1.00808 1.01004 1.01069 1.00514 0.989796 0.969895 +0.950316 0.940842 0.940842 0.957263 0.984245 0.954105 0.766526 0.558105 +0.42616 0.34664 0.25008 0.000846667 0.00078 0.000786667 0.000766667 0.000753333 +0.00076 0.00076 0.00076 0.000726667 0.000706667 0.0007 0.000713333 0.00072 +0.000713333 0.00072 0.000713333 0.000713333 0.000706667 0.000706667 0.000726667 0.000726667 +0.00072 0.000726667 0.00072 0.00072 0.000726667 0.000706667 0.0007 0.000713333 +0.000713333 0.00072 0.00072 0.000733333 0.000726667 0.000746667 0.00074 0.000733333 +0.000706667 0.000693333 0.00068 0.000686667 0.0007 0.00072 0.000746667 0.00078 +0.000793333 0.000786667 0.0008 0.00084 0.00082 0.00084 0.229253 0.333387 +0.3296 0.274693 0.4716 0.699579 0.927579 0.987184 0.969895 0.952211 +0.944632 0.946526 0.954737 0.959158 0.965474 0.981633 1.00057 1.01069 +1.01037 1.012 1.00971 1.0058 1.01102 1.01788 1.0169 1.01461 +1.01396 1.01429 1.01331 1.01461 1.01461 1.01265 1.01396 1.01559 +1.01396 1.01853 1.03649 1.095 1.21673 1.19238 1.05739 1.03453 +1.04139 1.04041 0.971789 0.748842 0.568211 0.475387 0.40344 0.367467 +0.354213 0.354213 0.344747 0.34096 0.348533 0.36936 0.4432 0.520842 +0.527789 0.481067 0.371253 0.320133 0.316347 0.30688 0.31256 0.325813 +0.344747 0.4148 0.498107 0.5 0.428053 0.36936 0.35232 0.350427 +0.348533 0.354213 0.359893 0.361787 0.348533 0.33528 0.325813 0.322027 +0.337173 0.339067 0.33528 0.339067 0.339067 0.34096 0.34096 0.358 +0.376933 0.371253 0.416693 0.505684 0.5 0.399653 0.36368 0.378827 +0.390187 0.43184 0.506316 0.503789 0.445093 0.43752 0.446987 0.45456 +0.435627 0.435627 0.464027 0.44888 0.4716 0.529053 0.525263 0.4716 +0.422373 0.418587 0.428053 0.458347 0.48296 0.458347 0.46024 0.513263 +0.532842 0.509474 0.433733 0.393973 0.371253 0.356107 0.33528 0.325813 +0.4148 0.608632 0.758316 0.686316 0.520211 0.36936 0.36368 0.395867 +0.38072 0.331493 0.33528 0.342853 0.34664 0.376933 0.378827 0.390187 +0.38072 0.344747 0.339067 0.34096 0.350427 0.36936 0.395867 0.390187 +0.376933 0.376933 0.356107 0.339067 0.35232 0.35232 0.371253 0.4432 +0.530316 0.601684 0.623158 0.553053 0.428053 0.36936 0.356107 0.36368 +0.388293 0.378827 0.373147 0.378827 0.378827 0.384507 0.411013 0.40344 +0.365573 0.365573 0.384507 0.38072 0.376933 0.376933 0.367467 0.365573 +0.388293 0.407227 0.401547 0.39208 0.412907 0.479173 0.540421 0.544211 +0.5 0.43752 0.418587 0.399653 0.405333 0.4432 0.46592 0.475387 +0.4432 0.40912 0.390187 0.40344 0.399653 0.399653 0.42048 0.4716 +0.500632 0.47728 0.46592 0.44888 0.441307 0.44888 0.439413 0.416693 +0.39208 0.401547 0.40912 0.405333 0.416693 0.412907 0.40912 0.469707 +0.556842 0.698947 0.847368 0.921895 0.943368 0.961684 0.980327 0.984898 +0.989796 0.992408 0.992735 0.986204 0.985878 0.986531 0.983592 0.984245 +0.991429 0.98849 0.981959 0.974316 0.980327 0.969263 0.952211 0.939579 +0.914947 0.906105 0.913053 0.923158 0.938947 0.926947 0.896 0.829684 +0.66421 0.525263 0.513263 0.513895 0.510105 0.47728 0.446987 0.48864 +0.47728 0.429947 0.395867 0.376933 0.382613 0.399653 0.399653 0.401547 +0.407227 0.446987 0.507579 0.521474 0.513895 0.502526 0.46592 0.439413 +0.498107 0.561263 0.611158 0.607368 0.570105 0.526526 0.510105 0.504421 +0.48296 0.467813 0.4716 0.48296 0.539789 0.627579 0.650947 0.590316 +0.563158 0.613684 0.722316 0.827158 0.796211 0.673053 0.582105 0.539789 +0.513895 0.498107 0.514526 0.575789 0.654737 0.664842 0.598526 0.519579 +0.43752 0.401547 0.395867 0.40344 0.40912 0.4716 0.525263 0.552421 +0.561263 0.570105 0.572632 0.554316 0.548 0.581474 0.647789 0.714737 +0.742526 0.752632 0.779158 0.817684 0.868842 0.922526 0.969895 0.981306 +0.953474 0.892842 0.809474 0.717895 0.638316 0.578947 0.539789 0.524 +0.524632 0.549895 0.600421 0.649053 0.65979 0.638316 0.614316 0.582737 +0.527789 0.456453 0.395867 0.365573 0.35232 0.339067 0.3296 0.325813 +0.327707 0.3296 0.348533 0.4716 0.548 0.524632 0.393973 0.333387 +0.33528 0.333387 0.316347 0.316347 0.314453 0.31256 0.320133 0.33528 +0.35232 0.350427 0.337173 0.331493 0.33528 0.35232 0.407227 0.508842 +0.523368 0.508211 0.506947 0.509474 0.508211 0.496213 0.450773 0.433733 +0.418587 0.399653 0.407227 0.418587 0.433733 0.464027 0.5 0.531579 +0.625684 0.807579 1.01135 1.11021 1.0551 1.04367 1.05347 1.095 +1.0551 1.02571 1.01135 1.01167 1.01331 1.01069 1.01298 1.01494 +1.01429 1.01331 1.012 1.01298 1.01233 1.01265 1.01461 1.01494 +1.01494 1.01592 1.01657 1.01559 1.01461 1.01461 1.01624 1.01788 +1.01527 1.01265 1.00971 1.00808 1.00971 1.012 1.01069 1.00939 +1.00906 1.00678 1.00743 1.01233 1.01167 1.00318 0.988163 0.964211 +0.949053 0.945895 0.947789 0.963579 0.986531 0.962316 0.781053 0.563789 +0.40912 0.339067 0.2728 0.000906667 0.00078 0.0008 0.000786667 0.00078 +0.00078 0.000786667 0.00074 0.000686667 0.000713333 0.000706667 0.000706667 0.000726667 +0.00074 0.000733333 0.00072 0.00072 0.0007 0.000693333 0.000713333 0.000726667 +0.000713333 0.000706667 0.0007 0.000706667 0.000726667 0.000733333 0.000733333 0.000733333 +0.000693333 0.000693333 0.00072 0.000726667 0.000706667 0.00072 0.000726667 0.000706667 +0.000686667 0.000706667 0.000726667 0.00072 0.000733333 0.000726667 0.000726667 0.000746667 +0.00078 0.0008 0.000806667 0.000813333 0.0008 0.000866667 0.26144 0.344747 +0.297413 0.263333 0.501263 0.716 0.936421 0.98849 0.974947 0.959158 +0.949684 0.949053 0.956632 0.965474 0.970526 0.984571 1.00286 1.01102 +1.01004 1.01167 1.00939 1.00416 1.00808 1.01624 1.01624 1.01363 +1.01331 1.01298 1.01331 1.01429 1.01461 1.01265 1.01363 1.0182 +1.0169 1.01918 1.03747 1.11173 1.23346 1.2076 1.05935 1.03518 +1.04237 1.04269 0.98098 0.757684 0.572 0.464027 0.395867 0.36936 +0.348533 0.350427 0.337173 0.325813 0.327707 0.34096 0.3864 0.481067 +0.516421 0.49432 0.38072 0.325813 0.320133 0.310667 0.308773 0.32392 +0.373147 0.4716 0.503158 0.439413 0.361787 0.333387 0.339067 0.356107 +0.361787 0.3864 0.3864 0.344747 0.320133 0.325813 0.339067 0.337173 +0.342853 0.35232 0.348533 0.337173 0.342853 0.36368 0.393973 0.40344 +0.388293 0.37504 0.401547 0.492427 0.517053 0.502526 0.458347 0.479173 +0.513263 0.548 0.576421 0.556211 0.520211 0.507579 0.501263 0.484853 +0.46024 0.4716 0.479173 0.445093 0.467813 0.512 0.500632 0.428053 +0.399653 0.388293 0.399653 0.450773 0.475387 0.446987 0.473493 0.524 +0.530947 0.479173 0.38072 0.342853 0.331493 0.3296 0.32392 0.325813 +0.405333 0.603579 0.786105 0.74 0.546737 0.384507 0.358 0.367467 +0.356107 0.32392 0.327707 0.342853 0.361787 0.378827 0.411013 0.49432 +0.456453 0.354213 0.34096 0.35232 0.38072 0.40344 0.40912 0.378827 +0.35232 0.34664 0.333387 0.325813 0.333387 0.348533 0.42048 0.507579 +0.524632 0.545474 0.580211 0.567579 0.501263 0.39776 0.378827 0.37504 +0.373147 0.350427 0.358 0.393973 0.39776 0.393973 0.424267 0.412907 +0.376933 0.371253 0.37504 0.359893 0.361787 0.36368 0.358 0.376933 +0.393973 0.3864 0.376933 0.373147 0.373147 0.399653 0.506316 0.528421 +0.490533 0.42616 0.4148 0.390187 0.39208 0.441307 0.458347 0.44888 +0.422373 0.40912 0.399653 0.401547 0.371253 0.359893 0.384507 0.407227 +0.46024 0.452667 0.416693 0.384507 0.384507 0.40344 0.40344 0.405333 +0.407227 0.42048 0.42048 0.405333 0.411013 0.40344 0.40912 0.462133 +0.530947 0.650947 0.824632 0.918105 0.938316 0.957895 0.977474 0.977474 +0.98 0.982612 0.982286 0.973053 0.973684 0.973053 0.973684 0.976842 +0.988163 0.984571 0.976211 0.974947 0.98 0.969263 0.942737 0.918737 +0.900421 0.902947 0.913684 0.909895 0.92379 0.916211 0.895368 0.846737 +0.700842 0.548 0.510105 0.512632 0.516421 0.509474 0.473493 0.492427 +0.504421 0.48296 0.435627 0.42048 0.42048 0.411013 0.412907 0.422373 +0.4148 0.416693 0.464027 0.511368 0.519579 0.501263 0.446987 0.42048 +0.429947 0.507579 0.527789 0.518316 0.49432 0.433733 0.433733 0.452667 +0.45456 0.467813 0.490533 0.492427 0.537895 0.625053 0.667368 0.65979 +0.671789 0.740632 0.819579 0.852421 0.776632 0.635158 0.541684 0.519579 +0.504421 0.46592 0.504421 0.554316 0.598526 0.588421 0.537895 0.456453 +0.382613 0.37504 0.3864 0.40912 0.433733 0.502526 0.527158 0.536 +0.541053 0.551158 0.546105 0.527158 0.529053 0.562526 0.624421 0.688842 +0.716 0.734316 0.770316 0.811368 0.854316 0.896 0.925684 0.915579 +0.849895 0.755158 0.660421 0.582737 0.532842 0.503158 0.452667 0.43184 +0.439413 0.498107 0.548632 0.607368 0.627579 0.623158 0.618737 0.604211 +0.570737 0.536 0.506316 0.445093 0.393973 0.358 0.333387 0.322027 +0.31824 0.331493 0.376933 0.498107 0.534737 0.498107 0.358 0.325813 +0.342853 0.342853 0.322027 0.322027 0.316347 0.31824 0.337173 0.359893 +0.373147 0.361787 0.348533 0.337173 0.337173 0.358 0.429947 0.525895 +0.545474 0.517053 0.473493 0.42616 0.390187 0.390187 0.388293 0.393973 +0.399653 0.39776 0.411013 0.435627 0.46024 0.467813 0.47728 0.528421 +0.637053 0.842947 1.03257 1.12239 1.04792 1.04237 1.08435 1.17869 +1.09652 1.03061 1.01331 1.01233 1.01298 1.01102 1.01037 1.012 +1.01233 1.01265 1.01396 1.01559 1.01363 1.01363 1.01298 1.01331 +1.01429 1.01461 1.0169 1.0169 1.01657 1.01657 1.0182 1.01918 +1.01592 1.01037 1.00841 1.00939 1.01135 1.01363 1.012 1.01037 +1.00841 1.00318 1.00253 1.00841 1.00939 1.0022 0.988816 0.966737 +0.950316 0.949684 0.950947 0.966105 0.986857 0.964842 0.789263 0.564421 +0.373147 0.31824 0.29552 0.236827 0.000893333 0.000826667 0.000793333 0.000746667 +0.000753333 0.00076 0.000746667 0.000726667 0.00074 0.00074 0.000753333 0.000753333 +0.000753333 0.00076 0.00072 0.000713333 0.000706667 0.000693333 0.000693333 0.000706667 +0.000713333 0.000693333 0.000686667 0.00068 0.000686667 0.000713333 0.000726667 0.000726667 +0.00072 0.00072 0.000713333 0.000706667 0.000706667 0.000686667 0.000686667 0.000686667 +0.00068 0.0007 0.000733333 0.00072 0.00074 0.000733333 0.000726667 0.00074 +0.000766667 0.0008 0.000806667 0.000806667 0.000806667 0.000953333 0.297413 0.3296 +0.253867 0.246293 0.504421 0.726737 0.944 0.990449 0.982612 0.972421 +0.957895 0.952842 0.959158 0.968 0.971789 0.986204 1.00122 1.00645 +1.00873 1.01167 1.01004 1.00351 1.0058 1.01559 1.0169 1.01331 +1.01331 1.01135 1.01331 1.01363 1.01494 1.01298 1.01298 1.01788 +1.01722 1.01984 1.0391 1.12999 1.2639 1.24564 1.07369 1.03812 +1.04465 1.03976 0.980653 0.767158 0.579579 0.4716 0.393973 0.36368 +0.342853 0.359893 0.350427 0.327707 0.325813 0.322027 0.350427 0.43752 +0.504421 0.49432 0.40344 0.354213 0.348533 0.342853 0.339067 0.39208 +0.48864 0.511368 0.473493 0.36368 0.316347 0.322027 0.337173 0.359893 +0.371253 0.40912 0.411013 0.342853 0.316347 0.327707 0.337173 0.342853 +0.356107 0.378827 0.384507 0.384507 0.393973 0.4148 0.47728 0.501263 +0.450773 0.43184 0.464027 0.525263 0.579579 0.605474 0.606105 0.618737 +0.649053 0.682526 0.669895 0.609263 0.558105 0.529684 0.510105 0.492427 +0.484853 0.492427 0.462133 0.42048 0.429947 0.456453 0.416693 0.378827 +0.376933 0.37504 0.367467 0.39776 0.416693 0.37504 0.37504 0.422373 +0.445093 0.411013 0.358 0.31824 0.316347 0.325813 0.333387 0.356107 +0.395867 0.534105 0.647158 0.632 0.512632 0.36368 0.34096 0.350427 +0.34096 0.344747 0.350427 0.356107 0.367467 0.371253 0.416693 0.522105 +0.504421 0.367467 0.359893 0.382613 0.39776 0.393973 0.376933 0.350427 +0.34096 0.339067 0.34664 0.331493 0.31256 0.34664 0.429947 0.48864 +0.4716 0.445093 0.507579 0.542316 0.521474 0.450773 0.422373 0.40912 +0.37504 0.356107 0.405333 0.433733 0.42048 0.39776 0.40344 0.39776 +0.376933 0.371253 0.367467 0.35232 0.359893 0.365573 0.373147 0.378827 +0.373147 0.350427 0.359893 0.390187 0.38072 0.39208 0.458347 0.508211 +0.47728 0.418587 0.4148 0.390187 0.384507 0.439413 0.4432 0.429947 +0.428053 0.445093 0.422373 0.388293 0.359893 0.367467 0.378827 0.367467 +0.418587 0.435627 0.39776 0.393973 0.39776 0.395867 0.36936 0.373147 +0.378827 0.39776 0.390187 0.38072 0.393973 0.399653 0.405333 0.43752 +0.510737 0.611789 0.796842 0.913684 0.940211 0.962316 0.977474 0.970526 +0.973684 0.979368 0.978105 0.973053 0.977474 0.975579 0.971789 0.970526 +0.98098 0.974947 0.964842 0.957263 0.954737 0.950947 0.930737 0.911789 +0.910526 0.919368 0.925053 0.905474 0.901053 0.901684 0.899158 0.861263 +0.733684 0.558105 0.469707 0.464027 0.490533 0.513263 0.502526 0.48864 +0.512 0.518947 0.505684 0.44888 0.4148 0.429947 0.44888 0.4432 +0.441307 0.441307 0.450773 0.486747 0.509474 0.48296 0.418587 0.390187 +0.39208 0.441307 0.429947 0.356107 0.322027 0.33528 0.382613 0.43184 +0.4716 0.46592 0.441307 0.475387 0.539789 0.575789 0.577684 0.624421 +0.716 0.812632 0.851789 0.817684 0.710947 0.582105 0.510105 0.506316 +0.505684 0.4716 0.481067 0.524632 0.542316 0.524632 0.492427 0.407227 +0.36936 0.371253 0.38072 0.3864 0.42616 0.502526 0.518947 0.518316 +0.524 0.536632 0.536 0.532211 0.551158 0.580842 0.623158 0.658526 +0.665474 0.677474 0.705895 0.737474 0.765263 0.779789 0.779158 0.745053 +0.671158 0.591579 0.532842 0.49432 0.445093 0.418587 0.39208 0.378827 +0.3864 0.429947 0.513263 0.551789 0.541053 0.520211 0.524632 0.537895 +0.546737 0.542947 0.533474 0.518316 0.479173 0.407227 0.359893 0.337173 +0.331493 0.356107 0.428053 0.510737 0.526526 0.502526 0.445093 0.43184 +0.42048 0.40912 0.388293 0.376933 0.376933 0.395867 0.416693 0.42048 +0.393973 0.359893 0.339067 0.333387 0.342853 0.39208 0.467813 0.513263 +0.508211 0.428053 0.354213 0.331493 0.327707 0.339067 0.356107 0.395867 +0.407227 0.395867 0.4148 0.435627 0.446987 0.44888 0.469707 0.530947 +0.653474 0.882737 1.04629 1.09348 1.03976 1.04269 1.12086 1.22433 +1.12086 1.03029 1.012 1.01069 1.012 1.01298 1.012 1.01363 +1.01494 1.01429 1.01429 1.01461 1.01298 1.01363 1.01527 1.01657 +1.01527 1.01396 1.01527 1.01592 1.01722 1.01624 1.01722 1.01853 +1.01657 1.01102 1.01004 1.01298 1.01298 1.01331 1.01135 1.00971 +1.00645 0.999265 0.998612 1.00547 1.00939 1.00416 0.989796 0.969263 +0.951579 0.948421 0.948421 0.964211 0.989143 0.972421 0.796842 0.569474 +0.36368 0.308773 0.299307 0.263333 0.000973333 0.00086 0.000826667 0.00078 +0.00076 0.000746667 0.000773333 0.000766667 0.000706667 0.00072 0.00072 0.000733333 +0.000753333 0.000766667 0.000753333 0.000733333 0.000726667 0.000713333 0.000693333 0.000686667 +0.000713333 0.00072 0.000713333 0.0007 0.0007 0.000713333 0.000706667 0.0007 +0.000713333 0.000706667 0.000706667 0.00072 0.000733333 0.000686667 0.00068 0.000693333 +0.000713333 0.0007 0.00074 0.000713333 0.00074 0.000753333 0.000733333 0.000733333 +0.000753333 0.000773333 0.000806667 0.00082 0.000853333 0.246293 0.3296 0.293627 +0.217893 0.240613 0.506316 0.733053 0.946526 0.989143 0.981633 0.969895 +0.954105 0.949053 0.956632 0.966105 0.973053 0.988163 0.999592 1.00122 +1.00678 1.01102 1.00939 1.0022 1.00318 1.01461 1.01788 1.01461 +1.01429 1.01331 1.01429 1.01363 1.01461 1.01298 1.01363 1.01755 +1.01657 1.01951 1.03878 1.14065 1.28368 1.26237 1.10108 1.04629 +1.0502 1.04073 0.982612 0.779789 0.593474 0.500632 0.40912 0.373147 +0.359893 0.378827 0.37504 0.356107 0.36368 0.365573 0.390187 0.45456 +0.500632 0.498107 0.456453 0.4432 0.439413 0.422373 0.44888 0.525263 +0.544842 0.510737 0.411013 0.331493 0.314453 0.325813 0.32392 0.333387 +0.367467 0.4148 0.416693 0.358 0.333387 0.342853 0.337173 0.34096 +0.358 0.390187 0.429947 0.4432 0.42616 0.428053 0.510105 0.542316 +0.536632 0.538526 0.565053 0.625684 0.700842 0.750105 0.765895 0.777895 +0.805684 0.820842 0.765263 0.682526 0.625684 0.582737 0.552421 0.537895 +0.540421 0.531579 0.505053 0.473493 0.467813 0.462133 0.433733 0.412907 +0.411013 0.40344 0.395867 0.42048 0.441307 0.412907 0.411013 0.4148 +0.418587 0.441307 0.435627 0.395867 0.376933 0.376933 0.393973 0.40912 +0.405333 0.4432 0.519579 0.524 0.439413 0.356107 0.342853 0.35232 +0.35232 0.35232 0.361787 0.35232 0.34664 0.348533 0.39208 0.509474 +0.503789 0.399653 0.407227 0.411013 0.390187 0.39776 0.384507 0.348533 +0.348533 0.354213 0.36936 0.344747 0.327707 0.365573 0.42048 0.42048 +0.39776 0.378827 0.399653 0.502526 0.517684 0.48296 0.43184 0.40912 +0.3864 0.411013 0.469707 0.435627 0.390187 0.38072 0.390187 0.38072 +0.373147 0.359893 0.34096 0.34096 0.34664 0.359893 0.376933 0.36936 +0.36368 0.35232 0.373147 0.401547 0.3864 0.395867 0.418587 0.4716 +0.46592 0.416693 0.407227 0.384507 0.39208 0.43752 0.42616 0.416693 +0.43184 0.445093 0.412907 0.378827 0.36368 0.376933 0.38072 0.354213 +0.37504 0.422373 0.40344 0.395867 0.405333 0.40344 0.367467 0.358 +0.36936 0.376933 0.367467 0.365573 0.384507 0.393973 0.395867 0.418587 +0.5 0.593474 0.774737 0.902316 0.936421 0.961684 0.976842 0.965474 +0.973684 0.980653 0.981306 0.98098 0.982286 0.977474 0.971789 0.960421 +0.954737 0.950947 0.942105 0.927579 0.926316 0.938316 0.929474 0.925684 +0.945895 0.951579 0.947158 0.918737 0.896632 0.900421 0.898526 0.867579 +0.769684 0.582737 0.429947 0.378827 0.407227 0.5 0.510105 0.506316 +0.512632 0.524632 0.519579 0.467813 0.416693 0.456453 0.498107 0.467813 +0.456453 0.467813 0.46024 0.481067 0.503789 0.47728 0.42048 0.38072 +0.371253 0.37504 0.34664 0.314453 0.29552 0.297413 0.33528 0.384507 +0.46024 0.441307 0.36936 0.446987 0.543579 0.540421 0.501895 0.571368 +0.731158 0.844211 0.829684 0.753895 0.652211 0.551158 0.492427 0.48296 +0.496213 0.46592 0.4432 0.47728 0.500632 0.467813 0.42616 0.399653 +0.378827 0.37504 0.390187 0.40344 0.45456 0.523368 0.552421 0.56 +0.566947 0.582737 0.595368 0.609263 0.631368 0.640211 0.649053 0.651579 +0.650316 0.653474 0.652211 0.647789 0.647789 0.639579 0.613053 0.573263 +0.533474 0.509474 0.4716 0.428053 0.407227 0.395867 0.393973 0.388293 +0.390187 0.429947 0.512 0.540421 0.508211 0.407227 0.39208 0.4148 +0.456453 0.496213 0.510105 0.513263 0.49432 0.435627 0.390187 0.358 +0.365573 0.405333 0.475387 0.513263 0.516421 0.509474 0.514526 0.525263 +0.529684 0.528421 0.519579 0.515789 0.517053 0.517053 0.509474 0.479173 +0.42048 0.376933 0.358 0.356107 0.376933 0.412907 0.4432 0.44888 +0.407227 0.354213 0.322027 0.31824 0.327707 0.342853 0.359893 0.416693 +0.441307 0.42048 0.42048 0.422373 0.422373 0.43184 0.469707 0.539158 +0.676211 0.918737 1.0538 1.06304 1.03486 1.04367 1.12847 1.22738 +1.1163 1.02898 1.01069 1.01037 1.01298 1.01396 1.01298 1.01298 +1.012 1.01331 1.01396 1.01396 1.01461 1.01559 1.01788 1.01853 +1.01461 1.012 1.01363 1.01461 1.0169 1.0169 1.01624 1.01788 +1.0169 1.01037 1.00906 1.01167 1.01135 1.01069 1.012 1.012 +1.00776 1.0009 1.00057 1.0071 1.00906 1.00286 0.988163 0.969895 +0.959158 0.955368 0.951579 0.964842 0.989143 0.976211 0.799368 0.567579 +0.34096 0.276587 0.286053 0.28416 0.2444 0.00094 0.000893333 0.00084 +0.00076 0.000726667 0.000713333 0.00072 0.00072 0.0007 0.0007 0.0007 +0.000686667 0.000686667 0.000706667 0.0007 0.000713333 0.000726667 0.000713333 0.000706667 +0.000706667 0.000706667 0.00072 0.000726667 0.00074 0.000733333 0.000706667 0.000693333 +0.000713333 0.000713333 0.000726667 0.000726667 0.000706667 0.000666667 0.00068 0.0007 +0.000686667 0.000713333 0.00074 0.000713333 0.00076 0.00078 0.000746667 0.000746667 +0.00076 0.00078 0.000786667 0.00078 0.0009 0.287947 0.327707 0.248187 +0.00094 0.248187 0.510105 0.738105 0.952211 0.990122 0.979368 0.961684 +0.945895 0.945895 0.954105 0.961684 0.971789 0.988163 0.997306 1.00024 +1.00776 1.01102 1.00971 1.00286 1.0009 1.01135 1.01657 1.01429 +1.01396 1.01494 1.01494 1.01396 1.01429 1.01331 1.01527 1.01853 +1.01788 1.02016 1.03649 1.13456 1.29128 1.26998 1.10717 1.04629 +1.05151 1.0489 0.990776 0.788632 0.601053 0.505053 0.422373 0.40344 +0.393973 0.384507 0.373147 0.361787 0.371253 0.395867 0.429947 0.44888 +0.456453 0.46592 0.475387 0.490533 0.47728 0.462133 0.504421 0.548 +0.539789 0.458347 0.373147 0.33528 0.3296 0.325813 0.30688 0.314453 +0.367467 0.4148 0.401547 0.354213 0.33528 0.342853 0.348533 0.348533 +0.356107 0.384507 0.422373 0.416693 0.382613 0.399653 0.506316 0.558105 +0.596632 0.641474 0.693263 0.753263 0.811368 0.846737 0.856842 0.86 +0.875789 0.878947 0.825895 0.763368 0.723579 0.694526 0.673684 0.665474 +0.671158 0.655368 0.625053 0.606737 0.592211 0.576421 0.563158 0.556842 +0.554947 0.550526 0.547368 0.551158 0.556842 0.549895 0.549263 0.544211 +0.532842 0.529053 0.534737 0.529053 0.517684 0.512 0.504421 0.481067 +0.439413 0.42048 0.452667 0.496213 0.439413 0.373147 0.359893 0.36368 +0.356107 0.344747 0.34096 0.337173 0.344747 0.367467 0.3864 0.439413 +0.439413 0.39208 0.388293 0.388293 0.399653 0.439413 0.411013 0.356107 +0.344747 0.365573 0.38072 0.359893 0.365573 0.393973 0.407227 0.384507 +0.388293 0.3864 0.373147 0.424267 0.48864 0.456453 0.399653 0.373147 +0.388293 0.441307 0.45456 0.395867 0.367467 0.371253 0.39776 0.373147 +0.350427 0.34096 0.322027 0.32392 0.342853 0.376933 0.37504 0.354213 +0.365573 0.36368 0.38072 0.37504 0.365573 0.384507 0.39776 0.441307 +0.43752 0.407227 0.39776 0.38072 0.393973 0.433733 0.4148 0.399653 +0.42616 0.441307 0.405333 0.378827 0.36936 0.3864 0.3864 0.36936 +0.36368 0.40912 0.407227 0.37504 0.359893 0.382613 0.378827 0.376933 +0.388293 0.393973 0.382613 0.388293 0.3864 0.405333 0.422373 0.446987 +0.504421 0.575789 0.737474 0.878947 0.92821 0.961053 0.974947 0.964842 +0.971789 0.976211 0.979368 0.981633 0.976842 0.966105 0.963579 0.947789 +0.935158 0.942105 0.945263 0.943368 0.949053 0.965474 0.965474 0.965474 +0.980653 0.982939 0.979368 0.957263 0.933263 0.927579 0.916211 0.885263 +0.818947 0.654105 0.503789 0.337173 0.337173 0.40912 0.5 0.515158 +0.508842 0.513895 0.520211 0.506316 0.469707 0.475387 0.490533 0.45456 +0.462133 0.473493 0.450773 0.475387 0.492427 0.48864 0.44888 0.388293 +0.359893 0.34664 0.320133 0.3296 0.322027 0.293627 0.304987 0.33528 +0.439413 0.45456 0.365573 0.452667 0.561895 0.571368 0.536 0.595368 +0.731789 0.800632 0.748211 0.674947 0.602947 0.532211 0.462133 0.441307 +0.452667 0.435627 0.433733 0.44888 0.4716 0.44888 0.40912 0.411013 +0.428053 0.44888 0.501263 0.526526 0.560632 0.613053 0.661053 0.692632 +0.715368 0.736211 0.746316 0.742526 0.730526 0.707789 0.693895 0.676842 +0.657263 0.634526 0.602947 0.582737 0.582105 0.571368 0.537895 0.501263 +0.4432 0.439413 0.43752 0.416693 0.395867 0.38072 0.378827 0.36936 +0.365573 0.40912 0.512 0.544211 0.505053 0.382613 0.35232 0.344747 +0.359893 0.388293 0.42048 0.435627 0.401547 0.38072 0.378827 0.371253 +0.38072 0.411013 0.456453 0.48864 0.46024 0.439413 0.4716 0.511368 +0.532842 0.539789 0.527789 0.525895 0.525895 0.517053 0.503789 0.45456 +0.40912 0.38072 0.378827 0.382613 0.3864 0.39208 0.388293 0.39208 +0.384507 0.350427 0.322027 0.325813 0.339067 0.356107 0.39208 0.452667 +0.48864 0.456453 0.411013 0.39776 0.40912 0.435627 0.48864 0.551158 +0.703368 0.946526 1.05282 1.05314 1.03355 1.04531 1.14217 1.24411 +1.1163 1.02865 1.01167 1.00841 1.01004 1.01363 1.01233 1.01167 +1.012 1.01331 1.01527 1.01527 1.01527 1.01559 1.01657 1.01624 +1.01559 1.01494 1.01624 1.01559 1.01624 1.01624 1.01592 1.01657 +1.01461 1.00743 1.0071 1.012 1.01265 1.01069 1.012 1.01233 +1.01037 1.00645 1.00612 1.01069 1.01135 1.00547 0.991429 0.973053 +0.961684 0.954105 0.950947 0.963579 0.986531 0.973053 0.797474 0.561263 +0.31824 0.257653 0.28416 0.299307 0.276587 0.225467 0.000906667 0.000833333 +0.000753333 0.000726667 0.000706667 0.000706667 0.000766667 0.000733333 0.000693333 0.0007 +0.000706667 0.000706667 0.000706667 0.000686667 0.000693333 0.000706667 0.0007 0.00068 +0.00068 0.000673333 0.000686667 0.00072 0.00074 0.00074 0.000733333 0.000726667 +0.000746667 0.000726667 0.00072 0.000726667 0.00068 0.000693333 0.0007 0.000706667 +0.000693333 0.000713333 0.000706667 0.000726667 0.000753333 0.000793333 0.000773333 0.000766667 +0.000746667 0.000773333 0.000773333 0.00082 0.231147 0.32392 0.304987 0.216 +0.000906667 0.253867 0.511368 0.738737 0.950947 0.98849 0.974316 0.956 +0.943368 0.947158 0.954737 0.961684 0.974947 0.98751 0.994694 1.00024 +1.0071 1.01004 1.00906 1.0022 0.999592 1.00841 1.01461 1.01527 +1.01429 1.01494 1.01461 1.01396 1.01429 1.01298 1.01396 1.01624 +1.01657 1.01918 1.03388 1.11478 1.28976 1.27759 1.09195 1.03714 +1.04596 1.05576 1.00155 0.801895 0.609895 0.506947 0.422373 0.412907 +0.395867 0.371253 0.358 0.356107 0.373147 0.424267 0.450773 0.407227 +0.376933 0.38072 0.39208 0.395867 0.382613 0.384507 0.446987 0.513263 +0.48296 0.376933 0.348533 0.339067 0.331493 0.320133 0.308773 0.320133 +0.358 0.40344 0.418587 0.399653 0.365573 0.359893 0.35232 0.34096 +0.36936 0.40912 0.40912 0.393973 0.407227 0.479173 0.533474 0.582737 +0.641474 0.710947 0.767789 0.803789 0.832211 0.848632 0.845474 0.830316 +0.822737 0.821474 0.806947 0.791789 0.788 0.793053 0.798105 0.805684 +0.814526 0.802526 0.783579 0.766526 0.746947 0.731789 0.722316 0.714105 +0.707158 0.696421 0.683158 0.672421 0.663579 0.650316 0.639579 0.628842 +0.610526 0.592211 0.583368 0.573263 0.558105 0.548 0.532842 0.508842 +0.458347 0.429947 0.45456 0.504421 0.479173 0.3864 0.35232 0.342853 +0.325813 0.320133 0.339067 0.358 0.365573 0.376933 0.3864 0.384507 +0.373147 0.358 0.34096 0.339067 0.378827 0.429947 0.390187 0.350427 +0.348533 0.36936 0.39776 0.418587 0.42616 0.388293 0.365573 0.361787 +0.382613 0.378827 0.359893 0.3864 0.435627 0.4148 0.371253 0.36936 +0.3864 0.412907 0.407227 0.367467 0.354213 0.35232 0.382613 0.358 +0.32392 0.32392 0.3296 0.344747 0.378827 0.416693 0.3864 0.35232 +0.354213 0.354213 0.38072 0.378827 0.36368 0.37504 0.393973 0.416693 +0.399653 0.38072 0.376933 0.361787 0.371253 0.412907 0.416693 0.39776 +0.435627 0.450773 0.407227 0.378827 0.373147 0.39776 0.401547 0.384507 +0.39208 0.407227 0.40912 0.371253 0.350427 0.38072 0.395867 0.393973 +0.39208 0.395867 0.40912 0.416693 0.405333 0.441307 0.46592 0.486747 +0.498107 0.540421 0.684421 0.851158 0.922526 0.959158 0.976842 0.963579 +0.959789 0.963579 0.971789 0.974947 0.961684 0.959158 0.953474 0.944632 +0.949684 0.964211 0.973684 0.981306 0.986204 0.993388 0.999592 0.99698 +0.997633 0.999918 0.996327 0.992082 0.982286 0.976211 0.961684 0.926947 +0.881474 0.764632 0.596 0.43184 0.320133 0.33528 0.42616 0.513263 +0.519579 0.516421 0.523368 0.529053 0.522737 0.501895 0.462133 0.44888 +0.475387 0.481067 0.456453 0.464027 0.467813 0.490533 0.473493 0.4148 +0.388293 0.36936 0.3296 0.3296 0.339067 0.320133 0.303093 0.314453 +0.39776 0.433733 0.395867 0.475387 0.570105 0.62 0.615579 0.633895 +0.68 0.691368 0.632 0.573263 0.539158 0.502526 0.42048 0.418587 +0.445093 0.446987 0.446987 0.46024 0.484853 0.45456 0.42616 0.46024 +0.516421 0.546105 0.588421 0.643368 0.705895 0.764 0.807579 0.845474 +0.873263 0.888421 0.885895 0.858105 0.814526 0.767789 0.730526 0.692632 +0.645895 0.594737 0.556842 0.551158 0.563789 0.548632 0.511368 0.446987 +0.399653 0.395867 0.40912 0.40344 0.39208 0.382613 0.373147 0.359893 +0.373147 0.42048 0.513895 0.551789 0.515789 0.388293 0.34664 0.339067 +0.342853 0.34096 0.359893 0.376933 0.35232 0.337173 0.348533 0.35232 +0.35232 0.361787 0.390187 0.429947 0.411013 0.373147 0.36936 0.39776 +0.44888 0.475387 0.43752 0.43184 0.42616 0.42048 0.399653 0.359893 +0.348533 0.354213 0.373147 0.382613 0.38072 0.376933 0.367467 0.373147 +0.3864 0.35232 0.31256 0.331493 0.356107 0.36936 0.39776 0.46592 +0.511368 0.502526 0.43752 0.418587 0.424267 0.450773 0.500632 0.559368 +0.726105 0.975579 1.05869 1.05282 1.03584 1.0489 1.17869 1.27607 +1.11173 1.02571 1.01135 1.00808 1.00971 1.01527 1.01429 1.01331 +1.01461 1.01461 1.01363 1.01592 1.01527 1.01559 1.01788 1.01624 +1.01592 1.01592 1.01624 1.01559 1.01429 1.01396 1.01624 1.0169 +1.01363 1.00678 1.00776 1.01298 1.01233 1.00873 1.01004 1.01265 +1.01298 1.01102 1.01102 1.01298 1.01298 1.00678 0.991102 0.968632 +0.954737 0.949053 0.948421 0.962316 0.985878 0.971158 0.795579 0.556842 +0.31256 0.251973 0.26712 0.29552 0.299307 0.257653 0.000986667 0.000886667 +0.000793333 0.00074 0.00072 0.0007 0.00076 0.000726667 0.000693333 0.000693333 +0.000706667 0.000726667 0.00074 0.000713333 0.00072 0.00072 0.00072 0.000713333 +0.000713333 0.0007 0.0007 0.000693333 0.000693333 0.000693333 0.000673333 0.000666667 +0.000686667 0.0007 0.0007 0.000713333 0.000693333 0.000713333 0.000713333 0.00072 +0.000713333 0.00072 0.0007 0.00072 0.000726667 0.00076 0.000786667 0.000786667 +0.000773333 0.000773333 0.00078 0.0009 0.27848 0.331493 0.263333 0.000926667 +0.000926667 0.259547 0.515789 0.741895 0.950316 0.985878 0.965474 0.949684 +0.942737 0.945895 0.954105 0.963579 0.978737 0.989796 0.994694 0.998286 +1.00514 1.00939 1.00906 1.00253 0.998286 1.00318 1.01037 1.01429 +1.01494 1.01559 1.01461 1.01331 1.01527 1.01429 1.01461 1.01527 +1.01527 1.01624 1.02898 1.07978 1.26846 1.2715 1.07217 1.03159 +1.04204 1.06456 1.01722 0.832842 0.627579 0.513895 0.43184 0.407227 +0.384507 0.36936 0.359893 0.354213 0.376933 0.44888 0.458347 0.373147 +0.3296 0.3296 0.325813 0.32392 0.3296 0.35232 0.42616 0.47728 +0.405333 0.337173 0.331493 0.339067 0.33528 0.333387 0.33528 0.333387 +0.344747 0.399653 0.486747 0.501895 0.43752 0.40344 0.388293 0.39208 +0.4432 0.48296 0.469707 0.4716 0.511368 0.543579 0.575789 0.611789 +0.65979 0.716 0.750105 0.751368 0.741263 0.726105 0.707158 0.693895 +0.693263 0.708421 0.734316 0.760211 0.779789 0.797474 0.818947 0.839158 +0.852421 0.852421 0.844211 0.836632 0.830316 0.826526 0.826526 0.824632 +0.810105 0.784842 0.756421 0.734316 0.719789 0.704632 0.689474 0.669263 +0.643368 0.619368 0.598526 0.579579 0.556211 0.542316 0.529684 0.504421 +0.43752 0.40912 0.439413 0.501895 0.48296 0.365573 0.31256 0.308773 +0.308773 0.327707 0.361787 0.373147 0.354213 0.339067 0.361787 0.373147 +0.367467 0.378827 0.350427 0.320133 0.339067 0.382613 0.361787 0.34096 +0.337173 0.354213 0.407227 0.4716 0.46024 0.36936 0.337173 0.35232 +0.36936 0.356107 0.358 0.384507 0.42616 0.416693 0.393973 0.39776 +0.3864 0.373147 0.38072 0.371253 0.344747 0.339067 0.373147 0.356107 +0.327707 0.337173 0.365573 0.388293 0.399653 0.40912 0.390187 0.358 +0.350427 0.358 0.39776 0.405333 0.367467 0.36368 0.388293 0.384507 +0.378827 0.367467 0.354213 0.34664 0.36368 0.411013 0.4148 0.395867 +0.46024 0.456453 0.390187 0.37504 0.378827 0.40344 0.4148 0.395867 +0.407227 0.40344 0.38072 0.371253 0.358 0.384507 0.390187 0.382613 +0.3864 0.401547 0.42616 0.429947 0.428053 0.467813 0.484853 0.48296 +0.458347 0.508842 0.637684 0.823368 0.916842 0.957263 0.976842 0.962947 +0.950947 0.961053 0.969263 0.963579 0.950947 0.954105 0.953474 0.962316 +0.981959 0.990449 0.996 1.00188 1.00514 1.01233 1.02212 1.01722 +1.01559 1.01722 1.01069 1.01037 1.00449 1.0022 0.99502 0.974316 +0.942105 0.878947 0.748842 0.581474 0.446987 0.342853 0.36368 0.484853 +0.524 0.524 0.524 0.542947 0.550526 0.522105 0.4716 0.445093 +0.45456 0.46024 0.456453 0.467813 0.475387 0.47728 0.46024 0.452667 +0.445093 0.395867 0.33528 0.314453 0.333387 0.333387 0.322027 0.327707 +0.35232 0.378827 0.422373 0.473493 0.528421 0.584632 0.614316 0.618105 +0.625684 0.626316 0.563158 0.505684 0.490533 0.462133 0.412907 0.4148 +0.43184 0.45456 0.452667 0.469707 0.501263 0.490533 0.492427 0.517053 +0.567579 0.626316 0.686947 0.761474 0.843579 0.904211 0.931368 0.948421 +0.964842 0.972421 0.964211 0.92821 0.872632 0.802526 0.734316 0.677474 +0.620632 0.567579 0.549263 0.559368 0.564421 0.528421 0.462133 0.42048 +0.412907 0.40912 0.412907 0.407227 0.40344 0.416693 0.412907 0.40912 +0.422373 0.429947 0.503158 0.548 0.534737 0.43752 0.359893 0.344747 +0.342853 0.33528 0.348533 0.359893 0.339067 0.320133 0.322027 0.327707 +0.322027 0.331493 0.361787 0.416693 0.429947 0.37504 0.34664 0.348533 +0.376933 0.399653 0.376933 0.34664 0.33528 0.354213 0.367467 0.339067 +0.3296 0.331493 0.34096 0.35232 0.376933 0.40344 0.412907 0.399653 +0.384507 0.358 0.322027 0.322027 0.337173 0.356107 0.37504 0.42616 +0.503789 0.504421 0.44888 0.424267 0.429947 0.446987 0.492427 0.570105 +0.755789 0.993714 1.09043 1.0551 1.03518 1.05151 1.23346 1.31563 +1.10565 1.02571 1.01265 1.01037 1.01233 1.01429 1.01102 1.01233 +1.01527 1.01657 1.01559 1.01559 1.01592 1.01624 1.01624 1.01527 +1.01461 1.01396 1.01559 1.01624 1.01592 1.01461 1.0169 1.01755 +1.01069 1.00449 1.00743 1.012 1.012 1.00971 1.01037 1.01265 +1.01298 1.012 1.01265 1.01233 1.01298 1.00645 0.990449 0.968 +0.952842 0.949684 0.948421 0.961684 0.984898 0.961684 0.783579 0.554947 +0.33528 0.276587 0.27848 0.316347 0.322027 0.287947 0.242507 0.00094 +0.000806667 0.00072 0.0007 0.000693333 0.000726667 0.000713333 0.00072 0.000713333 +0.0007 0.0007 0.00072 0.000713333 0.0007 0.000713333 0.000706667 0.000686667 +0.000706667 0.000726667 0.00072 0.000713333 0.000713333 0.000706667 0.00068 0.000666667 +0.000666667 0.000666667 0.00066 0.000673333 0.000673333 0.000686667 0.000706667 0.00072 +0.000746667 0.000726667 0.00074 0.000753333 0.000733333 0.00076 0.00078 0.000773333 +0.00078 0.0008 0.00082 0.225467 0.314453 0.310667 0.219787 0.000873333 +0.000926667 0.25008 0.511368 0.740632 0.952842 0.986857 0.963579 0.949684 +0.943368 0.945895 0.953474 0.964842 0.980327 0.992082 0.996 0.99698 +1.00449 1.00939 1.00906 1.00384 0.997959 1.00057 1.01004 1.01331 +1.01527 1.01527 1.01331 1.01331 1.01363 1.01331 1.01494 1.01429 +1.01461 1.01527 1.02441 1.0551 1.23651 1.2715 1.08282 1.03322 +1.03976 1.06 1.03094 0.871368 0.649684 0.520842 0.43184 0.401547 +0.382613 0.376933 0.36936 0.36368 0.40344 0.473493 0.445093 0.350427 +0.31824 0.325813 0.31824 0.320133 0.339067 0.393973 0.46024 0.469707 +0.401547 0.348533 0.3296 0.33528 0.344747 0.359893 0.371253 0.38072 +0.401547 0.462133 0.527789 0.554947 0.548632 0.534737 0.515158 0.508842 +0.522737 0.535368 0.533474 0.533474 0.546105 0.56 0.577053 0.606737 +0.640211 0.660421 0.650316 0.621895 0.593474 0.568211 0.557474 0.570737 +0.593474 0.614316 0.639579 0.666737 0.689474 0.712842 0.743158 0.778526 +0.810737 0.825895 0.825263 0.826526 0.830947 0.834737 0.851789 0.856211 +0.827789 0.792421 0.757684 0.731158 0.714737 0.704632 0.697684 0.670526 +0.631368 0.602316 0.580211 0.56 0.537895 0.517684 0.496213 0.439413 +0.384507 0.37504 0.40912 0.462133 0.43184 0.33528 0.297413 0.303093 +0.304987 0.322027 0.354213 0.350427 0.320133 0.303093 0.3296 0.358 +0.371253 0.395867 0.371253 0.333387 0.320133 0.34664 0.34664 0.337173 +0.337173 0.333387 0.378827 0.43752 0.40912 0.337173 0.3296 0.344747 +0.34664 0.337173 0.356107 0.378827 0.424267 0.43752 0.411013 0.382613 +0.361787 0.344747 0.359893 0.371253 0.35232 0.344747 0.36936 0.354213 +0.342853 0.36368 0.405333 0.405333 0.365573 0.36936 0.376933 0.359893 +0.358 0.371253 0.39776 0.39776 0.361787 0.37504 0.39208 0.361787 +0.359893 0.365573 0.356107 0.350427 0.36368 0.393973 0.40912 0.395867 +0.458347 0.4716 0.418587 0.3864 0.390187 0.433733 0.452667 0.42616 +0.39776 0.378827 0.36936 0.382613 0.373147 0.378827 0.3864 0.390187 +0.395867 0.40912 0.428053 0.43184 0.43184 0.46024 0.464027 0.462133 +0.45456 0.49432 0.602947 0.795579 0.911789 0.961053 0.975579 0.961053 +0.952842 0.968 0.968 0.954737 0.949053 0.954737 0.969263 0.986857 +0.997959 1.0071 1.01396 1.01984 1.02016 1.02343 1.02898 1.02637 +1.02376 1.02571 1.02147 1.02212 1.01918 1.01788 1.01102 0.997633 +0.983592 0.959789 0.894737 0.750105 0.59979 0.484853 0.373147 0.424267 +0.506947 0.519579 0.527158 0.550526 0.565053 0.555579 0.524 0.473493 +0.441307 0.4432 0.450773 0.452667 0.469707 0.462133 0.433733 0.462133 +0.462133 0.39776 0.339067 0.314453 0.322027 0.3296 0.34664 0.356107 +0.35232 0.3864 0.441307 0.43752 0.462133 0.522737 0.561263 0.583368 +0.599158 0.59979 0.539158 0.458347 0.435627 0.435627 0.42048 0.4148 +0.4148 0.429947 0.433733 0.462133 0.509474 0.515158 0.523368 0.553053 +0.607368 0.682526 0.758316 0.836 0.925684 0.985878 0.991429 0.989143 +0.992735 0.995673 0.991429 0.968632 0.909263 0.829684 0.741263 0.668632 +0.608 0.567579 0.575158 0.589053 0.562526 0.510737 0.42616 0.405333 +0.407227 0.416693 0.42616 0.4148 0.40912 0.424267 0.435627 0.450773 +0.424267 0.38072 0.418587 0.515158 0.537895 0.506947 0.40344 0.35232 +0.342853 0.342853 0.359893 0.367467 0.354213 0.342853 0.333387 0.3296 +0.325813 0.331493 0.367467 0.429947 0.450773 0.40344 0.361787 0.344747 +0.350427 0.371253 0.358 0.325813 0.316347 0.337173 0.365573 0.356107 +0.333387 0.320133 0.32392 0.342853 0.393973 0.475387 0.512632 0.505684 +0.433733 0.378827 0.34664 0.3296 0.3296 0.339067 0.344747 0.367467 +0.422373 0.43752 0.40912 0.40344 0.418587 0.446987 0.504421 0.585263 +0.778526 1.0009 1.07217 1.04824 1.03224 1.05543 1.27911 1.33085 +1.08435 1.02278 1.01102 1.01004 1.01396 1.01396 1.01037 1.01265 +1.01527 1.0169 1.01527 1.01363 1.01363 1.01461 1.01461 1.01559 +1.01657 1.01494 1.01527 1.01592 1.01527 1.01363 1.01429 1.01494 +1.00906 1.00449 1.00906 1.012 1.01135 1.012 1.01135 1.01102 +1.01135 1.01069 1.01135 1.01135 1.01265 1.00776 0.992082 0.966737 +0.948421 0.947158 0.945263 0.958526 0.983918 0.954105 0.770316 0.553684 +0.371253 0.31824 0.304987 0.320133 0.322027 0.287947 0.25576 0.000993333 +0.00084 0.000726667 0.000706667 0.000713333 0.000713333 0.000726667 0.000733333 0.00074 +0.00074 0.000726667 0.000726667 0.000713333 0.000706667 0.0007 0.00068 0.00066 +0.000673333 0.0007 0.000693333 0.000686667 0.000686667 0.000673333 0.000686667 0.000706667 +0.000713333 0.000693333 0.000686667 0.000666667 0.00068 0.000673333 0.000693333 0.000673333 +0.0007 0.000713333 0.00074 0.000726667 0.000726667 0.00076 0.000786667 0.00078 +0.000786667 0.000833333 0.00096 0.282267 0.320133 0.26712 0.000933333 0.000866667 +0.00092 0.242507 0.506316 0.732421 0.947789 0.986857 0.962947 0.950947 +0.944 0.943368 0.953474 0.964842 0.980653 0.994694 1.00057 1.00057 +1.00645 1.00906 1.00841 1.00318 0.995673 0.99698 1.00906 1.01429 +1.01657 1.01461 1.01298 1.01461 1.01298 1.01265 1.01363 1.012 +1.01396 1.01363 1.01886 1.04269 1.18782 1.27911 1.12543 1.0391 +1.04041 1.05837 1.03943 0.901684 0.668632 0.525895 0.42616 0.393973 +0.382613 0.376933 0.376933 0.39208 0.445093 0.47728 0.416693 0.348533 +0.32392 0.327707 0.325813 0.333387 0.367467 0.446987 0.48296 0.435627 +0.39208 0.37504 0.350427 0.342853 0.358 0.382613 0.407227 0.441307 +0.46592 0.498107 0.534737 0.594105 0.642737 0.642105 0.591579 0.552421 +0.555579 0.580211 0.588421 0.576421 0.559368 0.544842 0.545474 0.558737 +0.563789 0.551789 0.528421 0.508842 0.496213 0.481067 0.484853 0.510105 +0.522105 0.526526 0.531579 0.542316 0.561895 0.584632 0.62 0.671789 +0.729895 0.754526 0.743789 0.729895 0.726105 0.741263 0.781684 0.790526 +0.750737 0.709053 0.676842 0.649684 0.631368 0.627579 0.630105 0.607368 +0.568842 0.543579 0.528421 0.515158 0.506316 0.479173 0.405333 0.350427 +0.339067 0.359893 0.39776 0.43184 0.405333 0.342853 0.316347 0.308773 +0.299307 0.303093 0.327707 0.33528 0.31256 0.28984 0.30688 0.337173 +0.367467 0.39208 0.365573 0.331493 0.31256 0.32392 0.322027 0.3296 +0.342853 0.327707 0.34096 0.371253 0.354213 0.325813 0.337173 0.331493 +0.331493 0.327707 0.34096 0.373147 0.424267 0.429947 0.388293 0.356107 +0.356107 0.350427 0.361787 0.36936 0.358 0.356107 0.36368 0.342853 +0.350427 0.3864 0.405333 0.38072 0.344747 0.359893 0.365573 0.34096 +0.350427 0.37504 0.388293 0.390187 0.395867 0.407227 0.3864 0.348533 +0.358 0.382613 0.37504 0.35232 0.356107 0.367467 0.390187 0.40344 +0.452667 0.498107 0.479173 0.43184 0.44888 0.490533 0.48296 0.428053 +0.390187 0.39776 0.407227 0.407227 0.382613 0.371253 0.390187 0.388293 +0.390187 0.422373 0.422373 0.429947 0.43184 0.452667 0.452667 0.462133 +0.469707 0.48296 0.572632 0.767789 0.909895 0.962947 0.971158 0.961053 +0.957895 0.965474 0.957263 0.949684 0.959158 0.971789 0.989796 1.00351 +1.01298 1.01918 1.0218 1.02571 1.02767 1.02473 1.028 1.02898 +1.02376 1.02735 1.02604 1.02767 1.02473 1.02245 1.01984 1.01331 +1.0022 0.991755 0.976842 0.901053 0.767789 0.602947 0.490533 0.399653 +0.46592 0.508211 0.527158 0.552421 0.567579 0.579579 0.565053 0.522737 +0.49432 0.475387 0.450773 0.422373 0.435627 0.439413 0.429947 0.45456 +0.4716 0.416693 0.36936 0.342853 0.325813 0.32392 0.350427 0.371253 +0.3864 0.4148 0.412907 0.378827 0.405333 0.446987 0.492427 0.520211 +0.554947 0.578947 0.532842 0.450773 0.418587 0.412907 0.411013 0.412907 +0.407227 0.416693 0.416693 0.429947 0.49432 0.515158 0.536632 0.576421 +0.632 0.703368 0.782947 0.861263 0.949684 0.999918 1.0071 1.0022 +1.00188 1.00318 0.999592 0.984571 0.937684 0.865053 0.774737 0.685684 +0.610526 0.578316 0.597895 0.594737 0.535368 0.462133 0.418587 0.390187 +0.376933 0.39208 0.401547 0.384507 0.373147 0.384507 0.418587 0.4432 +0.39208 0.34664 0.36368 0.45456 0.524 0.516421 0.42048 0.358 +0.354213 0.358 0.38072 0.395867 0.38072 0.358 0.339067 0.333387 +0.34096 0.361787 0.39208 0.42616 0.429947 0.416693 0.390187 0.359893 +0.348533 0.356107 0.35232 0.3296 0.314453 0.316347 0.33528 0.344747 +0.337173 0.337173 0.342853 0.350427 0.39208 0.501263 0.548 0.560632 +0.524 0.452667 0.384507 0.34096 0.325813 0.327707 0.322027 0.34664 +0.384507 0.401547 0.388293 0.39776 0.422373 0.45456 0.514526 0.601053 +0.794947 1.0058 1.06304 1.04302 1.02865 1.05608 1.2852 1.30498 +1.05869 1.01984 1.00841 1.00873 1.01363 1.01461 1.01233 1.01233 +1.01102 1.01265 1.01363 1.01396 1.01559 1.01559 1.01527 1.01592 +1.01592 1.01429 1.01298 1.01331 1.01298 1.01396 1.01494 1.01363 +1.00841 1.00449 1.00906 1.01069 1.01037 1.01167 1.01167 1.01102 +1.01233 1.01167 1.012 1.01298 1.01135 1.00514 0.988163 0.960421 +0.947158 0.949053 0.948421 0.961053 0.985551 0.947789 0.752632 0.548 +0.399653 0.33528 0.3012 0.310667 0.308773 0.274693 0.269013 0.257653 +0.000966667 0.000773333 0.0007 0.0007 0.000693333 0.0007 0.000706667 0.000713333 +0.000726667 0.000733333 0.000726667 0.00072 0.000726667 0.000726667 0.00072 0.000706667 +0.000693333 0.000686667 0.000686667 0.0007 0.0007 0.00068 0.00068 0.0007 +0.000713333 0.000706667 0.000713333 0.000686667 0.0007 0.00072 0.00072 0.000706667 +0.000693333 0.00072 0.00072 0.000693333 0.00072 0.000746667 0.00074 0.000773333 +0.0008 0.000866667 0.253867 0.327707 0.291733 0.219787 0.0009 0.000866667 +0.0009 0.246293 0.503789 0.724842 0.941474 0.987184 0.966105 0.953474 +0.945895 0.942737 0.954737 0.964842 0.979368 0.994694 1.00384 1.00547 +1.00971 1.01004 1.00971 1.00547 0.996327 0.993061 1.00318 1.01135 +1.01494 1.01363 1.01429 1.01559 1.01265 1.01396 1.01461 1.01265 +1.01396 1.01265 1.01363 1.02996 1.12543 1.28063 1.18477 1.05184 +1.04727 1.06761 1.04727 0.932632 0.693895 0.537263 0.43184 0.395867 +0.378827 0.36936 0.376933 0.399653 0.450773 0.441307 0.378827 0.358 +0.342853 0.331493 0.331493 0.36936 0.422373 0.481067 0.469707 0.390187 +0.361787 0.376933 0.36936 0.361787 0.373147 0.395867 0.405333 0.42048 +0.4148 0.40912 0.469707 0.546105 0.625053 0.656 0.601684 0.545474 +0.539789 0.566316 0.581474 0.573895 0.558737 0.536632 0.514526 0.484853 +0.452667 0.429947 0.407227 0.399653 0.4148 0.424267 0.42048 0.428053 +0.43752 0.439413 0.43184 0.429947 0.452667 0.503789 0.530947 0.574526 +0.635158 0.642737 0.595368 0.558737 0.548632 0.568842 0.611158 0.628211 +0.608632 0.575158 0.548632 0.527789 0.513895 0.513263 0.518316 0.512 +0.473493 0.43752 0.433733 0.428053 0.42616 0.43752 0.40344 0.34096 +0.333387 0.367467 0.40344 0.424267 0.39208 0.34096 0.322027 0.32392 +0.304987 0.299307 0.32392 0.337173 0.320133 0.299307 0.31824 0.35232 +0.37504 0.384507 0.354213 0.31824 0.30688 0.314453 0.320133 0.320133 +0.32392 0.320133 0.316347 0.322027 0.322027 0.33528 0.34096 0.320133 +0.327707 0.327707 0.327707 0.382613 0.441307 0.424267 0.378827 0.367467 +0.38072 0.37504 0.38072 0.37504 0.361787 0.37504 0.378827 0.342853 +0.34664 0.3864 0.367467 0.354213 0.350427 0.371253 0.365573 0.331493 +0.34096 0.37504 0.3864 0.39776 0.441307 0.429947 0.376933 0.348533 +0.359893 0.388293 0.395867 0.384507 0.37504 0.367467 0.39776 0.456453 +0.512632 0.541053 0.541053 0.527158 0.522737 0.520842 0.506947 0.48864 +0.496213 0.506316 0.492427 0.44888 0.40344 0.382613 0.40344 0.393973 +0.405333 0.446987 0.42616 0.422373 0.445093 0.43752 0.469707 0.475387 +0.475387 0.473493 0.552421 0.744421 0.904842 0.958526 0.964211 0.957895 +0.958526 0.958526 0.950316 0.956632 0.979368 0.989143 1.0058 1.0169 +1.02343 1.02343 1.02278 1.02637 1.02898 1.02473 1.02637 1.02833 +1.02473 1.02833 1.02702 1.02898 1.02539 1.02212 1.02408 1.02082 +1.01461 1.00808 0.997959 0.982612 0.912421 0.758947 0.585263 0.456453 +0.439413 0.48864 0.513263 0.536632 0.562526 0.575158 0.566947 0.547368 +0.531579 0.518316 0.484853 0.422373 0.411013 0.412907 0.42616 0.435627 +0.467813 0.45456 0.401547 0.36368 0.342853 0.327707 0.32392 0.342853 +0.3864 0.411013 0.365573 0.32392 0.358 0.36936 0.376933 0.4148 +0.517053 0.572 0.539158 0.45456 0.42048 0.411013 0.412907 0.40912 +0.39776 0.405333 0.39776 0.39776 0.445093 0.502526 0.530316 0.576421 +0.632632 0.697684 0.771579 0.851158 0.932 0.988163 1.00024 1.00253 +1.00384 1.0009 0.996 0.985224 0.956632 0.907368 0.841684 0.753263 +0.661053 0.616211 0.606105 0.568211 0.505053 0.416693 0.40344 0.378827 +0.361787 0.376933 0.37504 0.359893 0.359893 0.365573 0.411013 0.433733 +0.373147 0.34096 0.35232 0.390187 0.46592 0.484853 0.42048 0.367467 +0.359893 0.361787 0.371253 0.37504 0.361787 0.350427 0.350427 0.354213 +0.356107 0.371253 0.393973 0.405333 0.395867 0.395867 0.412907 0.405333 +0.365573 0.342853 0.337173 0.333387 0.325813 0.31824 0.32392 0.331493 +0.333387 0.331493 0.350427 0.361787 0.37504 0.464027 0.538526 0.561263 +0.534737 0.49432 0.412907 0.354213 0.333387 0.337173 0.344747 0.359893 +0.378827 0.39776 0.39776 0.39776 0.416693 0.44888 0.515789 0.613053 +0.814526 1.012 1.06761 1.04171 1.02669 1.05576 1.28215 1.27455 +1.05118 1.0182 1.01135 1.00873 1.00906 1.01135 1.01265 1.01298 +1.01004 1.012 1.01363 1.01527 1.0169 1.01592 1.01429 1.01527 +1.01592 1.01396 1.01331 1.01331 1.01396 1.01527 1.01429 1.01233 +1.00547 1.00351 1.01004 1.012 1.01265 1.012 1.012 1.01135 +1.01135 1.01167 1.01069 1.01167 1.00939 1.00286 0.986531 0.957263 +0.950947 0.953474 0.950316 0.962316 0.984245 0.935158 0.734316 0.548632 +0.422373 0.31256 0.270907 0.299307 0.3012 0.265227 0.2728 0.282267 +0.23304 0.000793333 0.000673333 0.000666667 0.000693333 0.000693333 0.000693333 0.000693333 +0.0007 0.000706667 0.000713333 0.000713333 0.0007 0.0007 0.00072 0.00072 +0.000686667 0.000693333 0.000686667 0.000706667 0.000746667 0.000726667 0.000713333 0.000713333 +0.0007 0.000693333 0.000693333 0.00068 0.000686667 0.000693333 0.000693333 0.00072 +0.000706667 0.000726667 0.00072 0.000733333 0.00076 0.000746667 0.000726667 0.00076 +0.00082 0.000966667 0.291733 0.325813 0.248187 0.00088 0.00082 0.00082 +0.000873333 0.240613 0.5 0.716632 0.937684 0.988816 0.973684 0.956632 +0.944632 0.944 0.955368 0.966737 0.981306 0.993714 1.00416 1.00743 +1.01102 1.01037 1.00971 1.00743 0.998286 0.991429 0.999592 1.00808 +1.01396 1.01331 1.01396 1.01461 1.01331 1.01331 1.01429 1.01265 +1.01233 1.01233 1.012 1.02147 1.06 1.26085 1.23803 1.07978 +1.05086 1.06152 1.05118 0.958526 0.718526 0.549895 0.446987 0.399653 +0.376933 0.371253 0.3864 0.407227 0.433733 0.390187 0.33528 0.34664 +0.34664 0.337173 0.342853 0.401547 0.4432 0.44888 0.412907 0.358 +0.342853 0.36368 0.37504 0.376933 0.373147 0.37504 0.359893 0.348533 +0.333387 0.327707 0.342853 0.412907 0.527158 0.575158 0.542316 0.475387 +0.435627 0.479173 0.503789 0.509474 0.518316 0.517684 0.490533 0.412907 +0.3864 0.376933 0.36368 0.37504 0.4148 0.43184 0.416693 0.4148 +0.43184 0.450773 0.435627 0.418587 0.435627 0.4716 0.5 0.530947 +0.580211 0.558737 0.47728 0.388293 0.373147 0.40344 0.464027 0.501895 +0.512 0.496213 0.441307 0.4148 0.39776 0.393973 0.388293 0.382613 +0.367467 0.356107 0.358 0.358 0.348533 0.39208 0.435627 0.390187 +0.358 0.390187 0.418587 0.424267 0.388293 0.344747 0.322027 0.31824 +0.3012 0.304987 0.325813 0.34664 0.350427 0.367467 0.424267 0.405333 +0.371253 0.371253 0.358 0.333387 0.31824 0.314453 0.322027 0.31256 +0.3012 0.30688 0.310667 0.31256 0.331493 0.358 0.339067 0.3296 +0.339067 0.34096 0.348533 0.407227 0.445093 0.424267 0.401547 0.422373 +0.43752 0.418587 0.407227 0.39776 0.384507 0.399653 0.384507 0.342853 +0.34096 0.354213 0.333387 0.344747 0.35232 0.358 0.34664 0.31824 +0.33528 0.365573 0.378827 0.37504 0.405333 0.407227 0.371253 0.38072 +0.411013 0.428053 0.435627 0.456453 0.464027 0.469707 0.510105 0.540421 +0.573263 0.594105 0.588421 0.577684 0.556842 0.542947 0.532842 0.536 +0.544842 0.542316 0.521474 0.503789 0.475387 0.45456 0.46592 0.429947 +0.428053 0.46024 0.43184 0.433733 0.475387 0.481067 0.498107 0.486747 +0.47728 0.481067 0.536632 0.718526 0.889053 0.943368 0.948421 0.945895 +0.946526 0.949053 0.953474 0.976211 0.994694 1.00416 1.01918 1.02473 +1.02278 1.02114 1.02473 1.02702 1.02865 1.02604 1.02604 1.02865 +1.02441 1.02767 1.02735 1.02865 1.02441 1.02212 1.02571 1.02212 +1.01918 1.0182 1.01167 1.00449 0.987184 0.901684 0.719789 0.550526 +0.47728 0.490533 0.504421 0.511368 0.546737 0.556211 0.549263 0.554947 +0.554947 0.541684 0.514526 0.4716 0.42616 0.393973 0.39776 0.407227 +0.439413 0.498107 0.4716 0.399653 0.36368 0.331493 0.310667 0.322027 +0.359893 0.382613 0.33528 0.30688 0.358 0.36368 0.371253 0.412907 +0.518316 0.571368 0.546105 0.496213 0.439413 0.418587 0.40912 0.388293 +0.376933 0.371253 0.365573 0.38072 0.416693 0.46024 0.508211 0.547368 +0.598526 0.662316 0.732421 0.810737 0.883368 0.932632 0.966105 0.983918 +0.988163 0.984245 0.976842 0.964211 0.947158 0.925053 0.899789 0.842947 +0.758316 0.684421 0.62 0.545474 0.4716 0.407227 0.395867 0.38072 +0.361787 0.358 0.35232 0.361787 0.365573 0.367467 0.40912 0.411013 +0.356107 0.34096 0.35232 0.34664 0.373147 0.418587 0.42048 0.36936 +0.34096 0.339067 0.34664 0.359893 0.354213 0.344747 0.342853 0.350427 +0.354213 0.361787 0.378827 0.384507 0.36936 0.356107 0.384507 0.40912 +0.388293 0.35232 0.3296 0.320133 0.327707 0.333387 0.32392 0.32392 +0.32392 0.322027 0.333387 0.342853 0.342853 0.376933 0.467813 0.498107 +0.45456 0.424267 0.393973 0.361787 0.34664 0.342853 0.348533 0.365573 +0.371253 0.393973 0.4148 0.40912 0.407227 0.43752 0.514526 0.618105 +0.829684 1.01951 1.07674 1.03943 1.02637 1.05902 1.2852 1.24411 +1.04498 1.01592 1.01363 1.01102 1.00939 1.01135 1.01233 1.012 +1.01298 1.01331 1.01102 1.01233 1.01592 1.01592 1.01559 1.01559 +1.01559 1.01396 1.01429 1.01429 1.01429 1.01429 1.01331 1.01331 +1.00678 1.00514 1.01069 1.01233 1.01265 1.01135 1.01037 1.01069 +1.01004 1.01037 1.01135 1.01135 1.01069 1.00253 0.984898 0.957263 +0.950947 0.953474 0.950316 0.966105 0.985224 0.921895 0.717895 0.544842 +0.412907 0.270907 0.234933 0.286053 0.28984 0.246293 0.251973 0.28416 +0.248187 0.000806667 0.000666667 0.000673333 0.000713333 0.000733333 0.000746667 0.000733333 +0.000726667 0.00072 0.000726667 0.000706667 0.000693333 0.0007 0.000693333 0.000706667 +0.0007 0.000693333 0.000666667 0.00066 0.000713333 0.000706667 0.000706667 0.0007 +0.00068 0.000673333 0.00068 0.0007 0.000706667 0.000713333 0.000713333 0.000733333 +0.000746667 0.000746667 0.000733333 0.00074 0.000726667 0.00072 0.000753333 0.00078 +0.000866667 0.257653 0.32392 0.286053 0.000986667 0.00086 0.0008 0.000826667 +0.000893333 0.231147 0.467813 0.701474 0.929474 0.990122 0.980653 0.962316 +0.947789 0.947789 0.956632 0.966105 0.98098 0.993714 1.00416 1.00808 +1.01298 1.01298 1.01004 1.00776 0.999265 0.992735 0.998939 1.00482 +1.01102 1.01363 1.01331 1.01527 1.01559 1.01298 1.01429 1.01331 +1.01069 1.00971 1.00678 1.01135 1.04335 1.21216 1.2639 1.12239 +1.05216 1.05739 1.0551 0.983265 0.745053 0.565053 0.46024 0.39776 +0.38072 0.382613 0.39776 0.40912 0.401547 0.35232 0.31824 0.331493 +0.337173 0.354213 0.384507 0.412907 0.399653 0.38072 0.359893 0.339067 +0.34096 0.344747 0.350427 0.359893 0.354213 0.342853 0.322027 0.320133 +0.31824 0.316347 0.316347 0.331493 0.412907 0.513263 0.501895 0.390187 +0.348533 0.365573 0.38072 0.388293 0.407227 0.43184 0.428053 0.407227 +0.407227 0.40344 0.388293 0.395867 0.424267 0.439413 0.43184 0.43184 +0.456453 0.481067 0.456453 0.416693 0.4148 0.4432 0.486747 0.536632 +0.571368 0.530316 0.40344 0.34096 0.333387 0.350427 0.37504 0.38072 +0.418587 0.4148 0.37504 0.371253 0.371253 0.361787 0.359893 0.356107 +0.339067 0.322027 0.320133 0.320133 0.316347 0.367467 0.441307 0.42616 +0.390187 0.401547 0.401547 0.401547 0.412907 0.39208 0.342853 0.316347 +0.303093 0.299307 0.310667 0.3296 0.361787 0.44888 0.511368 0.456453 +0.35232 0.337173 0.348533 0.35232 0.3296 0.314453 0.325813 0.31824 +0.31256 0.316347 0.327707 0.342853 0.358 0.373147 0.348533 0.344747 +0.356107 0.356107 0.388293 0.441307 0.416693 0.388293 0.384507 0.439413 +0.481067 0.46592 0.43752 0.422373 0.422373 0.42048 0.384507 0.34096 +0.327707 0.325813 0.333387 0.348533 0.344747 0.337173 0.33528 0.322027 +0.339067 0.356107 0.36368 0.35232 0.373147 0.388293 0.388293 0.424267 +0.475387 0.504421 0.512 0.530316 0.551158 0.563789 0.577053 0.580211 +0.574526 0.558105 0.551789 0.551789 0.534737 0.518947 0.517053 0.524632 +0.529684 0.516421 0.506316 0.502526 0.498107 0.500632 0.505053 0.498107 +0.46592 0.490533 0.469707 0.462133 0.512632 0.5 0.492427 0.469707 +0.46592 0.46592 0.519579 0.691368 0.863158 0.914316 0.92379 0.927579 +0.933263 0.944632 0.962316 0.98849 1.0071 1.01429 1.02408 1.02669 +1.01984 1.01984 1.02539 1.02604 1.02865 1.02604 1.02506 1.02963 +1.02571 1.02669 1.02898 1.02833 1.02408 1.02408 1.02702 1.02278 +1.0218 1.0218 1.01951 1.01853 1.00678 0.982612 0.854947 0.657895 +0.526526 0.501895 0.507579 0.508842 0.533474 0.537263 0.522737 0.531579 +0.548632 0.549895 0.539789 0.520842 0.481067 0.40344 0.388293 0.395867 +0.424267 0.508842 0.520842 0.484853 0.40344 0.34664 0.31256 0.31256 +0.342853 0.350427 0.303093 0.310667 0.371253 0.37504 0.390187 0.475387 +0.537895 0.550526 0.527158 0.511368 0.490533 0.43184 0.39208 0.371253 +0.36368 0.358 0.356107 0.371253 0.388293 0.405333 0.44888 0.505684 +0.541684 0.593474 0.652842 0.724211 0.785474 0.828421 0.870105 0.895368 +0.901053 0.901684 0.900421 0.892842 0.892211 0.894105 0.893474 0.873263 +0.829684 0.760211 0.672421 0.582105 0.516421 0.445093 0.40344 0.378827 +0.361787 0.348533 0.342853 0.365573 0.365573 0.365573 0.393973 0.393973 +0.358 0.350427 0.35232 0.342853 0.34096 0.378827 0.405333 0.373147 +0.34664 0.339067 0.339067 0.34664 0.34096 0.337173 0.33528 0.34096 +0.350427 0.36368 0.367467 0.359893 0.348533 0.344747 0.36368 0.39776 +0.407227 0.37504 0.331493 0.310667 0.320133 0.33528 0.327707 0.31824 +0.32392 0.316347 0.304987 0.310667 0.3296 0.350427 0.39208 0.384507 +0.342853 0.344747 0.348533 0.339067 0.333387 0.33528 0.337173 0.350427 +0.365573 0.382613 0.395867 0.399653 0.416693 0.445093 0.518316 0.631368 +0.853053 1.02963 1.07369 1.03322 1.02212 1.06456 1.29585 1.21825 +1.04171 1.01755 1.01429 1.01233 1.01135 1.01102 1.01004 1.01037 +1.01363 1.01527 1.01331 1.01265 1.01494 1.01657 1.01559 1.01396 +1.01363 1.01298 1.01494 1.01624 1.01527 1.01527 1.01363 1.012 +1.00645 1.0071 1.01135 1.01135 1.01135 1.01102 1.01167 1.012 +1.01167 1.01102 1.01004 1.00971 1.01102 1.00188 0.982939 0.957263 +0.949053 0.951579 0.954105 0.971158 0.986531 0.908632 0.698947 0.533474 +0.376933 0.23872 0.219787 0.286053 0.282267 0.229253 0.23872 0.28984 +0.26712 0.00084 0.000666667 0.000666667 0.000726667 0.000753333 0.000753333 0.000733333 +0.00072 0.000726667 0.000733333 0.000733333 0.000746667 0.00074 0.000733333 0.00072 +0.000713333 0.000713333 0.000673333 0.00066 0.000666667 0.000633333 0.000653333 0.000653333 +0.000646667 0.000666667 0.000673333 0.00068 0.000706667 0.000693333 0.000713333 0.000713333 +0.000733333 0.000746667 0.000746667 0.000766667 0.000753333 0.000753333 0.0008 0.000853333 +0.216 0.297413 0.308773 0.229253 0.000873333 0.000866667 0.000826667 0.000853333 +0.000926667 0.234933 0.458347 0.690105 0.921263 0.990776 0.981959 0.962316 +0.947158 0.942737 0.952211 0.964211 0.979368 0.99502 1.00612 1.00906 +1.01331 1.01396 1.012 1.00971 1.00024 0.995347 1.00057 1.00253 +1.0071 1.012 1.01265 1.01461 1.01527 1.012 1.01461 1.01396 +1.01102 1.01004 1.00612 1.00612 1.02637 1.12847 1.27607 1.18629 +1.05902 1.05706 1.05641 0.994694 0.772842 0.582737 0.48296 0.40912 +0.399653 0.39208 0.388293 0.3864 0.365573 0.331493 0.320133 0.333387 +0.359893 0.40912 0.416693 0.393973 0.359893 0.350427 0.34096 0.339067 +0.344747 0.333387 0.33528 0.350427 0.34096 0.325813 0.314453 0.314453 +0.316347 0.31256 0.308773 0.31256 0.36936 0.48296 0.479173 0.390187 +0.358 0.35232 0.350427 0.34664 0.348533 0.361787 0.36936 0.38072 +0.411013 0.435627 0.422373 0.40912 0.399653 0.407227 0.412907 0.40912 +0.40912 0.433733 0.428053 0.395867 0.411013 0.473493 0.519579 0.551158 +0.554947 0.514526 0.40344 0.33528 0.325813 0.358 0.38072 0.371253 +0.376933 0.378827 0.35232 0.34096 0.342853 0.348533 0.36936 0.36936 +0.333387 0.31256 0.322027 0.320133 0.31824 0.348533 0.407227 0.405333 +0.365573 0.361787 0.36368 0.376933 0.418587 0.418587 0.361787 0.327707 +0.31824 0.310667 0.320133 0.33528 0.354213 0.418587 0.498107 0.43752 +0.339067 0.304987 0.316347 0.339067 0.331493 0.333387 0.356107 0.33528 +0.333387 0.33528 0.3296 0.337173 0.354213 0.36368 0.356107 0.348533 +0.344747 0.37504 0.46592 0.5 0.401547 0.348533 0.356107 0.424267 +0.498107 0.508842 0.490533 0.4716 0.464027 0.433733 0.388293 0.337173 +0.314453 0.32392 0.342853 0.333387 0.327707 0.327707 0.331493 0.339067 +0.356107 0.373147 0.376933 0.390187 0.407227 0.40912 0.40344 0.429947 +0.48296 0.518947 0.547368 0.579579 0.597895 0.604842 0.584 0.546737 +0.513895 0.469707 0.462133 0.48296 0.469707 0.445093 0.43752 0.45456 +0.456453 0.435627 0.43752 0.446987 0.46592 0.48864 0.49432 0.496213 +0.479173 0.501263 0.47728 0.486747 0.508211 0.475387 0.450773 0.433733 +0.446987 0.429947 0.513895 0.672421 0.834737 0.887158 0.903579 0.919368 +0.933895 0.952842 0.978737 0.998612 1.01363 1.01755 1.0231 1.02343 +1.02049 1.02376 1.02506 1.02539 1.02833 1.02604 1.02506 1.03029 +1.02604 1.02735 1.02898 1.02735 1.02539 1.02735 1.02539 1.02212 +1.02539 1.0231 1.02278 1.02865 1.01984 1.00057 0.952211 0.784211 +0.587789 0.511368 0.518947 0.520211 0.522737 0.526526 0.510737 0.503789 +0.518947 0.534105 0.548632 0.547368 0.524 0.479173 0.42616 0.411013 +0.418587 0.501895 0.532842 0.531579 0.503158 0.407227 0.350427 0.327707 +0.331493 0.31824 0.293627 0.3296 0.382613 0.38072 0.3864 0.49432 +0.543579 0.525895 0.5 0.505053 0.506316 0.467813 0.40912 0.37504 +0.365573 0.365573 0.36936 0.373147 0.376933 0.367467 0.388293 0.43184 +0.486747 0.522737 0.554947 0.597895 0.633263 0.666105 0.703368 0.726105 +0.731789 0.735579 0.743158 0.752632 0.782947 0.821474 0.850526 0.865684 +0.858105 0.805684 0.728632 0.651579 0.582105 0.529684 0.469707 0.39776 +0.373147 0.354213 0.34664 0.365573 0.36936 0.36368 0.384507 0.390187 +0.367467 0.350427 0.350427 0.35232 0.361787 0.39208 0.395867 0.35232 +0.34664 0.354213 0.354213 0.350427 0.331493 0.325813 0.33528 0.33528 +0.337173 0.354213 0.354213 0.348533 0.35232 0.34664 0.35232 0.36936 +0.39208 0.3864 0.36936 0.356107 0.33528 0.320133 0.31256 0.308773 +0.314453 0.316347 0.3012 0.316347 0.34096 0.359893 0.378827 0.36368 +0.327707 0.325813 0.339067 0.339067 0.333387 0.333387 0.337173 0.33528 +0.344747 0.367467 0.376933 0.39776 0.429947 0.464027 0.526526 0.644 +0.873263 1.03682 1.05837 1.02735 1.02245 1.08739 1.29585 1.17869 +1.03584 1.01624 1.01298 1.01167 1.01069 1.01037 1.01102 1.012 +1.01298 1.01461 1.01559 1.01396 1.01331 1.01657 1.01624 1.01429 +1.01461 1.01298 1.01494 1.01657 1.01461 1.01331 1.01102 1.00743 +1.0058 1.01004 1.01233 1.012 1.01102 1.01135 1.01102 1.00971 +1.01102 1.012 1.01004 1.00971 1.01037 1.00122 0.982939 0.954737 +0.942737 0.947158 0.956 0.974316 0.985224 0.889684 0.674947 0.522105 +0.359893 0.23304 0.000986667 0.2728 0.274693 0.22736 0.2444 0.282267 +0.2444 0.000833333 0.000706667 0.000713333 0.000706667 0.00074 0.000733333 0.00072 +0.00072 0.00072 0.000713333 0.000726667 0.000733333 0.000726667 0.000713333 0.000706667 +0.0007 0.000686667 0.000693333 0.000706667 0.0007 0.00066 0.000653333 0.000653333 +0.00066 0.000666667 0.00068 0.00066 0.000653333 0.000653333 0.000686667 0.00068 +0.00068 0.00072 0.00074 0.000766667 0.000766667 0.000786667 0.000873333 0.223573 +0.287947 0.314453 0.251973 0.0009 0.000826667 0.00082 0.000833333 0.00086 +0.000886667 0.229253 0.439413 0.674947 0.910526 0.990449 0.98098 0.957263 +0.944632 0.941474 0.952211 0.964842 0.977474 0.993061 1.00547 1.00873 +1.012 1.012 1.01233 1.01265 1.00286 0.997633 1.00318 1.00318 +1.00547 1.00971 1.01135 1.01233 1.01233 1.01233 1.01461 1.01363 +1.012 1.00971 1.00612 1.00449 1.01102 1.05086 1.23651 1.22129 +1.08739 1.05641 1.05053 0.997633 0.799368 0.601684 0.500632 0.418587 +0.407227 0.3864 0.37504 0.371253 0.365573 0.361787 0.359893 0.361787 +0.405333 0.450773 0.40912 0.35232 0.333387 0.337173 0.34096 0.344747 +0.35232 0.344747 0.34664 0.350427 0.325813 0.310667 0.31256 0.31256 +0.310667 0.314453 0.314453 0.320133 0.382613 0.486747 0.481067 0.382613 +0.35232 0.331493 0.325813 0.3296 0.333387 0.34096 0.34096 0.350427 +0.37504 0.401547 0.401547 0.388293 0.373147 0.367467 0.36936 0.36936 +0.365573 0.407227 0.445093 0.450773 0.496213 0.518316 0.530947 0.534737 +0.520211 0.484853 0.412907 0.350427 0.33528 0.350427 0.382613 0.3864 +0.365573 0.358 0.365573 0.337173 0.327707 0.344747 0.378827 0.393973 +0.350427 0.331493 0.350427 0.3296 0.30688 0.31824 0.356107 0.365573 +0.337173 0.3296 0.354213 0.37504 0.401547 0.40912 0.38072 0.344747 +0.337173 0.339067 0.350427 0.358 0.350427 0.359893 0.3864 0.388293 +0.344747 0.303093 0.304987 0.327707 0.34096 0.359893 0.373147 0.339067 +0.34096 0.348533 0.333387 0.333387 0.339067 0.356107 0.361787 0.348533 +0.344747 0.376933 0.47728 0.5 0.39208 0.35232 0.3864 0.479173 +0.526526 0.541053 0.531579 0.521474 0.508211 0.456453 0.367467 0.322027 +0.314453 0.325813 0.3296 0.308773 0.320133 0.34096 0.34664 0.356107 +0.373147 0.388293 0.395867 0.401547 0.412907 0.405333 0.395867 0.411013 +0.44888 0.498107 0.527789 0.561895 0.587158 0.601684 0.576421 0.529684 +0.496213 0.424267 0.390187 0.39776 0.411013 0.411013 0.407227 0.411013 +0.416693 0.401547 0.40344 0.405333 0.433733 0.46592 0.446987 0.462133 +0.501895 0.513895 0.498107 0.462133 0.469707 0.450773 0.43752 0.42616 +0.439413 0.43184 0.527789 0.674316 0.824 0.876421 0.896632 0.921263 +0.941474 0.961684 0.987837 1.00776 1.01429 1.01918 1.02212 1.02016 +1.02245 1.02506 1.02441 1.02506 1.02865 1.02637 1.02604 1.03094 +1.02637 1.02735 1.02669 1.02473 1.02735 1.02963 1.02212 1.02114 +1.02702 1.02604 1.02702 1.0329 1.02865 1.012 0.993388 0.895368 +0.676842 0.534105 0.524632 0.526526 0.519579 0.520842 0.513263 0.486747 +0.48296 0.500632 0.522737 0.544211 0.548 0.525263 0.5 0.47728 +0.462133 0.48296 0.517053 0.550526 0.556842 0.520211 0.467813 0.405333 +0.37504 0.35232 0.333387 0.36368 0.405333 0.38072 0.38072 0.481067 +0.529053 0.508842 0.46024 0.46592 0.47728 0.48864 0.452667 0.388293 +0.367467 0.373147 0.367467 0.361787 0.373147 0.358 0.367467 0.39208 +0.424267 0.46024 0.479173 0.503789 0.513895 0.528421 0.546105 0.561895 +0.568842 0.570737 0.580211 0.596632 0.640842 0.716632 0.788 0.837263 +0.854947 0.811368 0.739368 0.680632 0.624421 0.573263 0.524632 0.4716 +0.429947 0.407227 0.40344 0.40912 0.399653 0.388293 0.384507 0.378827 +0.36936 0.36368 0.35232 0.350427 0.378827 0.42048 0.40344 0.34664 +0.344747 0.35232 0.350427 0.356107 0.33528 0.316347 0.32392 0.33528 +0.337173 0.34096 0.33528 0.344747 0.359893 0.348533 0.337173 0.34664 +0.376933 0.384507 0.371253 0.361787 0.339067 0.32392 0.32392 0.31824 +0.316347 0.31824 0.314453 0.327707 0.342853 0.35232 0.365573 0.356107 +0.34096 0.331493 0.339067 0.34096 0.33528 0.337173 0.33528 0.34096 +0.354213 0.37504 0.390187 0.40344 0.418587 0.450773 0.528421 0.656 +0.890316 1.04139 1.05641 1.02604 1.02833 1.12999 1.28824 1.13304 +1.02963 1.01396 1.01298 1.012 1.01004 1.00939 1.01167 1.01167 +1.01102 1.012 1.01363 1.01429 1.01461 1.01788 1.01559 1.01331 +1.01396 1.01429 1.01461 1.01461 1.01396 1.01429 1.01069 1.00612 +1.00547 1.01069 1.01135 1.00971 1.01004 1.00906 1.00906 1.00873 +1.01069 1.01167 1.01037 1.01135 1.00906 0.99698 0.976211 0.948421 +0.940211 0.941474 0.955368 0.980653 0.983265 0.870105 0.652211 0.507579 +0.339067 0.22168 0.000966667 0.26712 0.27848 0.2444 0.26712 0.287947 +0.229253 0.000813333 0.00072 0.000706667 0.000693333 0.000726667 0.000733333 0.00072 +0.00072 0.0007 0.000693333 0.00072 0.00072 0.000706667 0.000726667 0.0007 +0.000686667 0.000673333 0.000666667 0.00068 0.0007 0.0007 0.000686667 0.000686667 +0.000686667 0.000693333 0.000693333 0.00068 0.000653333 0.000673333 0.00068 0.00068 +0.000686667 0.000706667 0.000706667 0.000733333 0.000733333 0.000793333 0.000953333 0.270907 +0.31256 0.2728 0.000953333 0.000853333 0.00082 0.000813333 0.000846667 0.000886667 +0.000913333 0.223573 0.405333 0.650947 0.892842 0.988816 0.977474 0.954737 +0.944632 0.943368 0.954105 0.965474 0.978737 0.991102 1.00416 1.01004 +1.01102 1.01037 1.01135 1.01233 1.00514 0.998939 1.00318 1.0058 +1.00482 1.00939 1.01135 1.01102 1.01102 1.01265 1.01298 1.01233 +1.01233 1.00939 1.0058 1.00384 1.00286 1.028 1.12695 1.1939 +1.09652 1.0538 1.04237 0.996327 0.817684 0.615579 0.505684 0.424267 +0.40344 0.38072 0.373147 0.376933 0.395867 0.40344 0.399653 0.39776 +0.416693 0.43184 0.388293 0.348533 0.325813 0.32392 0.331493 0.337173 +0.344747 0.348533 0.348533 0.331493 0.31256 0.308773 0.31824 0.31824 +0.322027 0.32392 0.31824 0.32392 0.37504 0.469707 0.490533 0.401547 +0.350427 0.327707 0.316347 0.331493 0.344747 0.348533 0.342853 0.34096 +0.339067 0.350427 0.367467 0.36936 0.365573 0.348533 0.34096 0.358 +0.39776 0.484853 0.525263 0.527789 0.520842 0.515158 0.509474 0.512 +0.501263 0.445093 0.42048 0.371253 0.342853 0.342853 0.356107 0.37504 +0.36936 0.354213 0.371253 0.365573 0.344747 0.339067 0.36936 0.39208 +0.382613 0.37504 0.384507 0.344747 0.3012 0.303093 0.32392 0.34096 +0.348533 0.34664 0.356107 0.36936 0.382613 0.388293 0.376933 0.350427 +0.359893 0.356107 0.35232 0.34664 0.339067 0.342853 0.342853 0.35232 +0.34664 0.32392 0.30688 0.308773 0.327707 0.35232 0.361787 0.327707 +0.32392 0.34096 0.342853 0.331493 0.3296 0.35232 0.365573 0.359893 +0.348533 0.361787 0.4148 0.433733 0.38072 0.36936 0.462133 0.542947 +0.588421 0.601053 0.590947 0.573263 0.531579 0.4432 0.337173 0.310667 +0.322027 0.325813 0.333387 0.325813 0.33528 0.348533 0.359893 0.371253 +0.39208 0.401547 0.382613 0.376933 0.382613 0.390187 0.390187 0.388293 +0.401547 0.407227 0.441307 0.508842 0.554316 0.601684 0.610526 0.575789 +0.535368 0.501263 0.42048 0.384507 0.393973 0.40912 0.407227 0.42616 +0.43752 0.405333 0.40344 0.412907 0.446987 0.475387 0.43184 0.435627 +0.502526 0.527158 0.512 0.484853 0.481067 0.481067 0.473493 0.44888 +0.4432 0.4716 0.556211 0.705263 0.837263 0.882105 0.902947 0.926947 +0.946526 0.971158 0.997959 1.01233 1.01233 1.02082 1.02278 1.01984 +1.02376 1.02408 1.02343 1.02506 1.02833 1.02571 1.028 1.02898 +1.02735 1.02702 1.02669 1.02735 1.03029 1.03061 1.02212 1.02245 +1.02865 1.028 1.02931 1.03224 1.03322 1.0231 1.00678 0.969263 +0.782947 0.583368 0.528421 0.529684 0.524 0.517684 0.514526 0.501895 +0.479173 0.467813 0.47728 0.513263 0.535368 0.534105 0.525263 0.525263 +0.517053 0.505684 0.506316 0.543579 0.587158 0.585895 0.556211 0.520842 +0.48864 0.46024 0.422373 0.429947 0.44888 0.395867 0.40344 0.481067 +0.505684 0.469707 0.450773 0.446987 0.424267 0.445093 0.4432 0.38072 +0.359893 0.371253 0.359893 0.358 0.371253 0.36368 0.384507 0.395867 +0.405333 0.445093 0.4432 0.42616 0.42048 0.429947 0.435627 0.450773 +0.475387 0.484853 0.498107 0.512632 0.546105 0.609263 0.672421 0.729895 +0.776 0.757684 0.700842 0.655368 0.615579 0.579579 0.544211 0.512 +0.498107 0.492427 0.479173 0.45456 0.424267 0.393973 0.382613 0.361787 +0.34664 0.350427 0.344747 0.342853 0.373147 0.412907 0.39776 0.354213 +0.342853 0.354213 0.356107 0.358 0.350427 0.34096 0.322027 0.32392 +0.331493 0.331493 0.3296 0.35232 0.358 0.34664 0.34096 0.350427 +0.36368 0.359893 0.344747 0.348533 0.344747 0.33528 0.33528 0.325813 +0.316347 0.316347 0.3296 0.35232 0.342853 0.337173 0.350427 0.339067 +0.3296 0.327707 0.339067 0.348533 0.34664 0.350427 0.344747 0.348533 +0.356107 0.36936 0.378827 0.405333 0.42616 0.452667 0.530947 0.669895 +0.908632 1.04269 1.05282 1.02604 1.03518 1.18325 1.30194 1.10869 +1.02571 1.01331 1.01429 1.012 1.00808 1.00939 1.01135 1.01233 +1.01265 1.012 1.01298 1.01331 1.01429 1.01722 1.01331 1.01167 +1.01396 1.01527 1.01657 1.01527 1.01461 1.01429 1.00743 1.00416 +1.0058 1.00971 1.00971 1.00873 1.00873 1.00841 1.0071 1.00873 +1.01037 1.00971 1.00939 1.01069 1.0071 0.994041 0.970526 0.947158 +0.942737 0.946526 0.960421 0.984571 0.98 0.842316 0.627579 0.48864 +0.322027 0.00098 0.000953333 0.26144 0.287947 0.265227 0.2728 0.270907 +0.000953333 0.000766667 0.000706667 0.000693333 0.000693333 0.000713333 0.0007 0.0007 +0.000713333 0.000706667 0.000713333 0.000706667 0.000693333 0.000693333 0.000713333 0.000693333 +0.00068 0.000686667 0.000693333 0.000693333 0.000713333 0.000713333 0.000673333 0.000653333 +0.000653333 0.000673333 0.000706667 0.000706667 0.000693333 0.000706667 0.0007 0.000706667 +0.00072 0.000706667 0.000706667 0.00074 0.00076 0.000826667 0.225467 0.3012 +0.280373 0.00096 0.000853333 0.00084 0.0008 0.000793333 0.000833333 0.000886667 +0.000913333 0.225467 0.384507 0.627579 0.873263 0.987184 0.978737 0.957895 +0.946526 0.944 0.948421 0.962947 0.978737 0.989469 1.00547 1.01265 +1.01233 1.01167 1.01233 1.01233 1.00776 0.999918 1.00122 1.0058 +1.00612 1.01037 1.01069 1.00841 1.01004 1.01069 1.01102 1.01167 +1.01167 1.00939 1.00612 1.00514 1.00253 1.01363 1.04694 1.12543 +1.08739 1.05118 1.03845 0.99698 0.831579 0.630737 0.515158 0.43184 +0.399653 0.378827 0.3864 0.411013 0.435627 0.40344 0.373147 0.378827 +0.384507 0.382613 0.371253 0.354213 0.333387 0.327707 0.331493 0.337173 +0.333387 0.33528 0.3296 0.316347 0.314453 0.325813 0.327707 0.322027 +0.320133 0.327707 0.320133 0.314453 0.34664 0.446987 0.504421 0.456453 +0.38072 0.333387 0.320133 0.33528 0.350427 0.36368 0.376933 0.37504 +0.358 0.356107 0.367467 0.36936 0.365573 0.373147 0.39208 0.424267 +0.47728 0.522105 0.540421 0.519579 0.479173 0.435627 0.428053 0.47728 +0.46592 0.401547 0.393973 0.382613 0.359893 0.35232 0.356107 0.36368 +0.384507 0.36936 0.365573 0.373147 0.361787 0.34096 0.34096 0.354213 +0.39208 0.39776 0.37504 0.337173 0.3012 0.303093 0.314453 0.331493 +0.358 0.365573 0.356107 0.36368 0.371253 0.371253 0.361787 0.342853 +0.34664 0.342853 0.337173 0.320133 0.322027 0.327707 0.3296 0.33528 +0.337173 0.325813 0.310667 0.304987 0.31824 0.344747 0.350427 0.325813 +0.322027 0.34096 0.354213 0.337173 0.316347 0.34096 0.365573 0.35232 +0.344747 0.37504 0.390187 0.395867 0.382613 0.412907 0.537895 0.624421 +0.681895 0.697053 0.684421 0.646526 0.558105 0.412907 0.32392 0.31824 +0.31824 0.32392 0.358 0.37504 0.359893 0.344747 0.354213 0.373147 +0.388293 0.39208 0.365573 0.371253 0.367467 0.37504 0.384507 0.37504 +0.371253 0.37504 0.393973 0.446987 0.521474 0.575158 0.611789 0.602947 +0.572 0.541053 0.506316 0.429947 0.399653 0.422373 0.428053 0.45456 +0.450773 0.388293 0.399653 0.424267 0.44888 0.46592 0.42616 0.40344 +0.45456 0.517684 0.516421 0.503789 0.500632 0.501263 0.48864 0.450773 +0.445093 0.513895 0.618105 0.765263 0.857474 0.892211 0.916211 0.938316 +0.955368 0.984571 1.00678 1.01331 1.01135 1.0218 1.02408 1.02114 +1.0231 1.02212 1.02278 1.02539 1.02637 1.02604 1.02963 1.02702 +1.02604 1.02539 1.02898 1.03127 1.03127 1.02996 1.02571 1.02669 +1.02898 1.02996 1.03029 1.03061 1.03486 1.03094 1.01592 0.994694 +0.877053 0.656 0.537263 0.530947 0.524 0.516421 0.517684 0.508842 +0.492427 0.46024 0.44888 0.467813 0.503158 0.513895 0.532211 0.542316 +0.532842 0.518316 0.507579 0.529053 0.571368 0.606737 0.608632 0.584632 +0.559368 0.546737 0.531579 0.518947 0.503158 0.435627 0.435627 0.47728 +0.475387 0.435627 0.43752 0.446987 0.39776 0.388293 0.405333 0.36936 +0.356107 0.36936 0.36368 0.35232 0.367467 0.371253 0.393973 0.399653 +0.4148 0.469707 0.481067 0.445093 0.416693 0.418587 0.424267 0.428053 +0.428053 0.418587 0.411013 0.46024 0.513895 0.540421 0.558737 0.588421 +0.644632 0.656 0.615579 0.587789 0.570737 0.554316 0.532211 0.506947 +0.48864 0.486747 0.46024 0.42048 0.384507 0.344747 0.342853 0.342853 +0.339067 0.344747 0.337173 0.33528 0.350427 0.384507 0.371253 0.35232 +0.35232 0.365573 0.378827 0.373147 0.378827 0.373147 0.339067 0.325813 +0.327707 0.322027 0.327707 0.337173 0.337173 0.33528 0.348533 0.356107 +0.359893 0.34664 0.337173 0.344747 0.33528 0.32392 0.327707 0.325813 +0.333387 0.33528 0.327707 0.34096 0.331493 0.327707 0.3296 0.322027 +0.327707 0.327707 0.34096 0.358 0.356107 0.356107 0.359893 0.376933 +0.376933 0.371253 0.38072 0.405333 0.424267 0.456453 0.537263 0.685684 +0.925684 1.044 1.04955 1.02473 1.03976 1.21825 1.29281 1.07217 +1.02245 1.01331 1.01592 1.01363 1.00873 1.01069 1.01135 1.01037 +1.01233 1.01135 1.01233 1.01363 1.01461 1.01853 1.01527 1.01265 +1.01461 1.01429 1.01331 1.01265 1.012 1.01102 1.00482 1.00449 +1.00841 1.00971 1.00873 1.00743 1.00612 1.00482 1.00384 1.00678 +1.00939 1.00939 1.00906 1.00971 1.00645 0.993061 0.969895 0.945895 +0.941474 0.949053 0.964211 0.985551 0.969895 0.811368 0.604211 0.47728 +0.325813 0.000973333 0.00088 0.223573 0.251973 0.248187 0.2444 0.217893 +0.000793333 0.000706667 0.00074 0.000733333 0.000706667 0.000713333 0.000706667 0.000693333 +0.0007 0.000713333 0.000726667 0.0007 0.000673333 0.000693333 0.00068 0.00068 +0.000693333 0.0007 0.0007 0.000686667 0.00068 0.000693333 0.00068 0.000653333 +0.000666667 0.000673333 0.00068 0.000673333 0.0007 0.0007 0.000693333 0.0007 +0.0007 0.0007 0.000726667 0.000726667 0.00078 0.000906667 0.26712 0.31256 +0.23872 0.000846667 0.00082 0.000833333 0.000806667 0.000806667 0.000826667 0.00086 +0.00088 0.216 0.358 0.605474 0.852421 0.985551 0.982612 0.959158 +0.945895 0.945263 0.948421 0.963579 0.978737 0.989469 1.00645 1.01233 +1.01265 1.01233 1.01331 1.012 1.01004 1.00416 1.00351 1.00743 +1.01037 1.01167 1.00971 1.00678 1.00612 1.00678 1.00939 1.01135 +1.01069 1.00873 1.00547 1.00612 1.00449 1.0058 1.02147 1.05086 +1.05837 1.0489 1.03616 0.998612 0.850526 0.651579 0.524632 0.43752 +0.39776 0.376933 0.393973 0.429947 0.42616 0.365573 0.331493 0.33528 +0.339067 0.344747 0.337173 0.34096 0.342853 0.339067 0.333387 0.3296 +0.325813 0.327707 0.322027 0.320133 0.325813 0.3296 0.333387 0.32392 +0.31256 0.320133 0.327707 0.322027 0.35232 0.4432 0.503789 0.498107 +0.429947 0.359893 0.3296 0.331493 0.342853 0.356107 0.382613 0.405333 +0.416693 0.42048 0.418587 0.416693 0.405333 0.42048 0.44888 0.456453 +0.475387 0.5 0.479173 0.405333 0.367467 0.37504 0.390187 0.42616 +0.43184 0.39208 0.378827 0.384507 0.373147 0.36368 0.37504 0.378827 +0.40344 0.40912 0.401547 0.388293 0.365573 0.3296 0.32392 0.331493 +0.38072 0.388293 0.344747 0.316347 0.3012 0.31256 0.320133 0.33528 +0.358 0.36368 0.358 0.359893 0.365573 0.365573 0.36368 0.350427 +0.342853 0.322027 0.316347 0.31824 0.327707 0.322027 0.320133 0.327707 +0.310667 0.30688 0.314453 0.30688 0.31824 0.337173 0.333387 0.3296 +0.34664 0.36368 0.378827 0.359893 0.344747 0.358 0.36368 0.34096 +0.344747 0.37504 0.384507 0.388293 0.395867 0.510105 0.629474 0.736842 +0.8 0.825263 0.812632 0.757053 0.614316 0.42616 0.316347 0.322027 +0.314453 0.32392 0.367467 0.384507 0.354213 0.344747 0.365573 0.37504 +0.38072 0.390187 0.371253 0.37504 0.371253 0.371253 0.38072 0.3864 +0.395867 0.399653 0.42048 0.439413 0.45456 0.518947 0.556211 0.561263 +0.562526 0.551158 0.523368 0.469707 0.428053 0.439413 0.45456 0.462133 +0.433733 0.378827 0.407227 0.42616 0.42048 0.43752 0.418587 0.416693 +0.458347 0.509474 0.504421 0.462133 0.46024 0.4716 0.450773 0.445093 +0.505684 0.586526 0.716632 0.829684 0.880211 0.909263 0.933263 0.950316 +0.968 0.992735 1.00873 1.01298 1.012 1.02082 1.02506 1.02343 +1.02212 1.01984 1.02408 1.028 1.02571 1.02702 1.02865 1.02539 +1.02506 1.02539 1.03061 1.03192 1.02996 1.02735 1.028 1.03061 +1.028 1.02963 1.03192 1.03094 1.03453 1.03388 1.02212 1.00547 +0.944632 0.741263 0.565053 0.534737 0.532211 0.525895 0.522737 0.515789 +0.49432 0.458347 0.44888 0.45456 0.44888 0.473493 0.522105 0.533474 +0.526526 0.514526 0.508211 0.517684 0.534737 0.568842 0.600421 0.626947 +0.648421 0.650947 0.635158 0.59979 0.549263 0.496213 0.456453 0.469707 +0.475387 0.441307 0.433733 0.446987 0.390187 0.359893 0.36936 0.350427 +0.333387 0.361787 0.373147 0.365573 0.376933 0.384507 0.393973 0.405333 +0.43184 0.475387 0.501895 0.48864 0.45456 0.467813 0.5 0.486747 +0.446987 0.429947 0.428053 0.46024 0.502526 0.512 0.515789 0.522105 +0.563789 0.581474 0.537895 0.506947 0.5 0.501263 0.49432 0.46024 +0.429947 0.405333 0.38072 0.365573 0.354213 0.339067 0.331493 0.33528 +0.337173 0.34096 0.34096 0.333387 0.348533 0.373147 0.365573 0.356107 +0.358 0.361787 0.37504 0.37504 0.39208 0.382613 0.348533 0.325813 +0.314453 0.310667 0.325813 0.327707 0.327707 0.333387 0.34664 0.339067 +0.333387 0.331493 0.3296 0.33528 0.331493 0.32392 0.32392 0.320133 +0.331493 0.337173 0.32392 0.316347 0.3296 0.339067 0.327707 0.316347 +0.325813 0.327707 0.34096 0.36368 0.36936 0.37504 0.382613 0.405333 +0.412907 0.401547 0.39776 0.405333 0.4148 0.46592 0.549263 0.710947 +0.949684 1.04661 1.04596 1.02376 1.04367 1.23194 1.26085 1.05347 +1.01984 1.01396 1.01461 1.01167 1.00841 1.01102 1.01069 1.00906 +1.01135 1.01167 1.01298 1.01494 1.01527 1.0169 1.01331 1.01167 +1.01298 1.01331 1.01135 1.01037 1.01135 1.00971 1.00514 1.00547 +1.00971 1.01167 1.00873 1.00449 1.00122 1.00122 1.00318 1.00645 +1.01069 1.01167 1.01004 1.00776 1.00286 0.98751 0.960421 0.942737 +0.940842 0.952211 0.970526 0.988163 0.957263 0.778526 0.577684 0.452667 +0.310667 0.000933333 0.000813333 0.000873333 0.000973333 0.00098 0.000933333 0.00084 +0.000746667 0.00072 0.000773333 0.000753333 0.000746667 0.00076 0.00074 0.000726667 +0.00072 0.000713333 0.00072 0.000713333 0.00072 0.000726667 0.000713333 0.000713333 +0.000713333 0.0007 0.000686667 0.00068 0.000666667 0.000666667 0.000666667 0.000666667 +0.000673333 0.00066 0.00066 0.00066 0.000693333 0.000713333 0.000706667 0.000713333 +0.000693333 0.000713333 0.000726667 0.000706667 0.000773333 0.000966667 0.299307 0.293627 +0.000926667 0.000813333 0.000813333 0.000806667 0.000833333 0.000853333 0.00086 0.00088 +0.000906667 0.000986667 0.3296 0.582737 0.827158 0.980653 0.983918 0.958526 +0.943368 0.943368 0.949684 0.963579 0.976211 0.990122 1.00612 1.012 +1.01331 1.01331 1.01429 1.012 1.01102 1.00776 1.00612 1.01004 +1.01331 1.01298 1.012 1.01069 1.00678 1.00482 1.00612 1.00939 +1.00971 1.00808 1.00612 1.00645 1.00351 1.00286 1.0058 1.02506 +1.04433 1.044 1.03257 1.00188 0.870737 0.675579 0.537263 0.439413 +0.39776 0.384507 0.390187 0.407227 0.390187 0.34664 0.320133 0.325813 +0.32392 0.31824 0.316347 0.3296 0.333387 0.331493 0.331493 0.3296 +0.342853 0.344747 0.322027 0.31824 0.327707 0.333387 0.331493 0.32392 +0.31824 0.32392 0.33528 0.344747 0.382613 0.445093 0.46024 0.44888 +0.433733 0.39776 0.361787 0.348533 0.34664 0.337173 0.342853 0.373147 +0.39776 0.416693 0.42048 0.433733 0.441307 0.424267 0.405333 0.395867 +0.401547 0.39776 0.37504 0.344747 0.344747 0.388293 0.407227 0.407227 +0.39208 0.382613 0.382613 0.384507 0.390187 0.37504 0.373147 0.361787 +0.371253 0.39208 0.40912 0.40912 0.3864 0.350427 0.34096 0.342853 +0.37504 0.388293 0.33528 0.303093 0.30688 0.308773 0.325813 0.348533 +0.361787 0.37504 0.382613 0.359893 0.350427 0.35232 0.36368 0.36936 +0.350427 0.327707 0.314453 0.314453 0.33528 0.339067 0.32392 0.316347 +0.29552 0.29552 0.30688 0.304987 0.31824 0.337173 0.304987 0.31824 +0.354213 0.371253 0.3864 0.388293 0.388293 0.411013 0.395867 0.35232 +0.350427 0.361787 0.37504 0.378827 0.422373 0.578947 0.749474 0.860632 +0.92 0.949053 0.945895 0.885263 0.693895 0.503158 0.348533 0.34096 +0.333387 0.3296 0.350427 0.367467 0.348533 0.34664 0.395867 0.407227 +0.390187 0.395867 0.382613 0.376933 0.376933 0.37504 0.388293 0.40344 +0.416693 0.407227 0.418587 0.40912 0.390187 0.45456 0.510737 0.515158 +0.524632 0.529053 0.512632 0.467813 0.439413 0.433733 0.441307 0.43184 +0.40344 0.384507 0.424267 0.439413 0.4148 0.433733 0.456453 0.48864 +0.502526 0.512 0.496213 0.43752 0.445093 0.450773 0.450773 0.503789 +0.580842 0.703368 0.812632 0.873263 0.904211 0.929474 0.947158 0.959789 +0.982939 0.999592 1.00873 1.01527 1.01265 1.01886 1.02539 1.02408 +1.02016 1.01722 1.02408 1.02735 1.02669 1.02767 1.02506 1.02473 +1.02735 1.02735 1.03029 1.03061 1.02931 1.02637 1.02702 1.03127 +1.02931 1.02931 1.03094 1.03224 1.03551 1.03453 1.02702 1.01265 +0.982939 0.825895 0.613053 0.541684 0.537895 0.531579 0.529684 0.523368 +0.500632 0.467813 0.462133 0.467813 0.464027 0.475387 0.507579 0.510737 +0.504421 0.496213 0.5 0.501895 0.498107 0.518316 0.563789 0.648421 +0.743789 0.792421 0.779789 0.725474 0.641474 0.545474 0.49432 0.47728 +0.490533 0.46592 0.4432 0.441307 0.393973 0.356107 0.34096 0.3296 +0.31824 0.34096 0.36936 0.405333 0.411013 0.407227 0.416693 0.433733 +0.462133 0.490533 0.503158 0.502526 0.49432 0.508842 0.524 0.518947 +0.501895 0.501895 0.514526 0.530316 0.542316 0.539789 0.523368 0.512632 +0.534105 0.546105 0.511368 0.418587 0.36368 0.359893 0.36936 0.37504 +0.37504 0.35232 0.342853 0.342853 0.359893 0.37504 0.359893 0.342853 +0.339067 0.35232 0.367467 0.378827 0.4148 0.412907 0.36368 0.348533 +0.35232 0.35232 0.34096 0.34096 0.361787 0.365573 0.339067 0.320133 +0.322027 0.316347 0.31824 0.32392 0.322027 0.322027 0.325813 0.322027 +0.32392 0.327707 0.316347 0.322027 0.3296 0.322027 0.31824 0.325813 +0.337173 0.344747 0.337173 0.32392 0.32392 0.33528 0.33528 0.322027 +0.322027 0.33528 0.365573 0.38072 0.37504 0.36936 0.378827 0.412907 +0.429947 0.416693 0.412907 0.407227 0.418587 0.47728 0.56 0.734316 +0.972421 1.05053 1.04433 1.02669 1.05347 1.25781 1.21673 1.04302 +1.01657 1.01396 1.01265 1.00776 1.00776 1.012 1.01265 1.01135 +1.01167 1.01167 1.01265 1.01624 1.01363 1.01331 1.01167 1.01265 +1.01461 1.01559 1.01331 1.01265 1.01233 1.00873 1.00384 1.00482 +1.01135 1.01363 1.01004 1.00482 1.0009 1.0009 1.00384 1.0071 +1.00906 1.01102 1.01004 1.0071 0.999592 0.981306 0.950316 0.940842 +0.940842 0.952211 0.974316 0.986857 0.936421 0.738105 0.547368 0.412907 +0.28984 0.000893333 0.00078 0.000786667 0.000853333 0.000866667 0.00082 0.000773333 +0.000746667 0.00072 0.00074 0.000733333 0.000713333 0.000713333 0.0007 0.0007 +0.00072 0.000713333 0.000733333 0.000733333 0.00074 0.000766667 0.00076 0.00076 +0.00074 0.000713333 0.0007 0.000673333 0.000673333 0.000693333 0.00068 0.00068 +0.000653333 0.000653333 0.000653333 0.000653333 0.000666667 0.00068 0.000673333 0.0007 +0.0007 0.000706667 0.000733333 0.000746667 0.000806667 0.22736 0.310667 0.265227 +0.00084 0.000786667 0.000806667 0.0008 0.000793333 0.000833333 0.00088 0.00094 +0.00098 0.22736 0.31256 0.56 0.796211 0.971158 0.986531 0.962316 +0.945895 0.944 0.949053 0.962947 0.974316 0.98849 1.00351 1.01102 +1.012 1.01298 1.01429 1.01069 1.01069 1.00808 1.00547 1.00971 +1.01331 1.01461 1.01494 1.01429 1.01004 1.00645 1.00351 1.00776 +1.00939 1.00743 1.00678 1.00612 1.00351 1.00547 1.00286 1.00841 +1.02767 1.03518 1.028 1.00384 0.894105 0.708421 0.558737 0.45456 +0.40344 0.399653 0.388293 0.3864 0.3864 0.359893 0.331493 0.342853 +0.337173 0.322027 0.322027 0.320133 0.31256 0.32392 0.339067 0.34664 +0.36936 0.36368 0.325813 0.316347 0.327707 0.3296 0.331493 0.3296 +0.331493 0.344747 0.365573 0.371253 0.393973 0.43184 0.412907 0.38072 +0.382613 0.40344 0.40344 0.371253 0.34096 0.322027 0.320133 0.331493 +0.34096 0.35232 0.354213 0.373147 0.4148 0.384507 0.342853 0.344747 +0.350427 0.348533 0.361787 0.354213 0.35232 0.393973 0.412907 0.399653 +0.358 0.34664 0.356107 0.367467 0.390187 0.388293 0.378827 0.35232 +0.339067 0.34096 0.365573 0.395867 0.412907 0.399653 0.395867 0.40912 +0.405333 0.390187 0.337173 0.299307 0.29552 0.3012 0.325813 0.342853 +0.358 0.36936 0.39208 0.36936 0.34664 0.356107 0.367467 0.378827 +0.382613 0.36368 0.333387 0.322027 0.331493 0.333387 0.337173 0.327707 +0.32392 0.33528 0.333387 0.32392 0.31824 0.31824 0.31256 0.33528 +0.35232 0.35232 0.371253 0.390187 0.429947 0.502526 0.501263 0.424267 +0.378827 0.367467 0.378827 0.3864 0.503158 0.662316 0.861263 0.964842 +0.994041 1.00449 1.00612 0.976842 0.760842 0.532842 0.399653 0.38072 +0.373147 0.358 0.365573 0.376933 0.376933 0.4148 0.506316 0.501895 +0.42616 0.412907 0.393973 0.382613 0.382613 0.390187 0.407227 0.393973 +0.382613 0.378827 0.384507 0.37504 0.36936 0.39776 0.45456 0.496213 +0.506316 0.511368 0.512632 0.484853 0.424267 0.424267 0.424267 0.4148 +0.40344 0.424267 0.48864 0.509474 0.511368 0.513263 0.514526 0.512 +0.503789 0.506316 0.475387 0.418587 0.43184 0.469707 0.515789 0.588421 +0.707789 0.814526 0.870737 0.895368 0.917474 0.939579 0.950947 0.966737 +0.990449 1.00351 1.00906 1.01657 1.01298 1.01657 1.02506 1.02245 +1.01886 1.01886 1.02408 1.02865 1.028 1.02604 1.02408 1.02506 +1.02963 1.028 1.03061 1.03061 1.02833 1.02865 1.02833 1.02996 +1.02996 1.02767 1.03029 1.03322 1.03682 1.03453 1.03094 1.01788 +0.994041 0.893474 0.671789 0.556842 0.544211 0.532211 0.532842 0.526526 +0.504421 0.492427 0.498107 0.504421 0.5 0.490533 0.486747 0.473493 +0.462133 0.46592 0.47728 0.452667 0.428053 0.484853 0.558105 0.678737 +0.825263 0.914947 0.908632 0.853684 0.760842 0.634526 0.547368 0.520211 +0.512632 0.498107 0.46024 0.439413 0.40912 0.38072 0.356107 0.34096 +0.316347 0.31256 0.371253 0.44888 0.450773 0.44888 0.473493 0.505684 +0.533474 0.541684 0.530947 0.521474 0.527158 0.543579 0.548 0.537263 +0.530947 0.550526 0.588421 0.628211 0.661684 0.654737 0.600421 0.546737 +0.531579 0.522105 0.492427 0.412907 0.34664 0.308773 0.304987 0.32392 +0.34096 0.33528 0.333387 0.33528 0.359893 0.40344 0.388293 0.350427 +0.34096 0.350427 0.384507 0.446987 0.506316 0.486747 0.39208 0.344747 +0.333387 0.331493 0.320133 0.320133 0.344747 0.35232 0.333387 0.325813 +0.33528 0.32392 0.320133 0.342853 0.34096 0.331493 0.339067 0.339067 +0.34096 0.339067 0.3296 0.331493 0.339067 0.344747 0.34096 0.33528 +0.342853 0.356107 0.361787 0.35232 0.342853 0.339067 0.339067 0.339067 +0.339067 0.356107 0.388293 0.39776 0.390187 0.367467 0.367467 0.4148 +0.4432 0.4148 0.39776 0.40344 0.429947 0.492427 0.577053 0.765263 +0.986857 1.04857 1.04139 1.02898 1.05935 1.2502 1.14825 1.03159 +1.01331 1.01363 1.01298 1.00841 1.00873 1.01069 1.01135 1.01167 +1.012 1.01167 1.012 1.01592 1.01298 1.012 1.01265 1.01265 +1.01396 1.01494 1.01396 1.01363 1.01298 1.01037 1.00743 1.00776 +1.01167 1.012 1.01069 1.00645 1.0022 1.00351 1.00678 1.00906 +1.00906 1.00971 1.01135 1.00906 0.997306 0.973684 0.945263 0.940842 +0.941474 0.952842 0.976211 0.984898 0.908632 0.695789 0.523368 0.3864 +0.269013 0.00086 0.00076 0.00072 0.000733333 0.000793333 0.00078 0.000766667 +0.000766667 0.00074 0.000726667 0.000753333 0.000713333 0.000713333 0.0007 0.000686667 +0.00068 0.000673333 0.0007 0.000713333 0.0007 0.000726667 0.00074 0.000753333 +0.00074 0.000733333 0.000726667 0.000706667 0.000713333 0.000713333 0.000693333 0.0007 +0.000673333 0.00066 0.00066 0.000633333 0.000666667 0.000666667 0.000666667 0.000693333 +0.000706667 0.0007 0.000713333 0.00072 0.000806667 0.251973 0.316347 0.2444 +0.000846667 0.000793333 0.000793333 0.000793333 0.00078 0.000846667 0.000993333 0.251973 +0.263333 0.26712 0.325813 0.539789 0.764 0.959789 0.989469 0.968632 +0.949053 0.947789 0.952842 0.964211 0.978737 0.98849 1.0022 1.01037 +1.00939 1.01135 1.01265 1.00971 1.00906 1.00645 1.00482 1.00971 +1.012 1.01396 1.01429 1.01396 1.01331 1.00841 1.0058 1.00873 +1.00841 1.0071 1.0058 1.00514 1.00482 1.0071 1.00416 1.00188 +1.012 1.02245 1.02016 1.00384 0.920632 0.747579 0.589053 0.49432 +0.42048 0.40344 0.39208 0.393973 0.399653 0.390187 0.359893 0.354213 +0.339067 0.331493 0.331493 0.327707 0.322027 0.3296 0.337173 0.344747 +0.361787 0.348533 0.327707 0.322027 0.32392 0.32392 0.3296 0.342853 +0.34664 0.36368 0.37504 0.356107 0.356107 0.401547 0.399653 0.350427 +0.3296 0.36368 0.395867 0.376933 0.331493 0.31256 0.304987 0.304987 +0.314453 0.322027 0.32392 0.34096 0.373147 0.344747 0.320133 0.333387 +0.337173 0.34096 0.354213 0.348533 0.361787 0.39208 0.39208 0.36936 +0.333387 0.32392 0.348533 0.34664 0.356107 0.367467 0.36936 0.359893 +0.348533 0.333387 0.33528 0.348533 0.382613 0.416693 0.452667 0.511368 +0.516421 0.45456 0.35232 0.308773 0.303093 0.308773 0.310667 0.322027 +0.327707 0.342853 0.38072 0.390187 0.356107 0.361787 0.36368 0.38072 +0.40344 0.3864 0.361787 0.348533 0.34664 0.342853 0.358 0.37504 +0.401547 0.435627 0.42616 0.38072 0.36368 0.367467 0.38072 0.393973 +0.39776 0.388293 0.39776 0.40912 0.433733 0.504421 0.524 0.508211 +0.44888 0.411013 0.4148 0.441307 0.545474 0.741263 0.939579 1.00351 +1.01788 1.02147 1.0182 0.989143 0.774105 0.536 0.40912 0.39208 +0.39208 0.40344 0.422373 0.428053 0.467813 0.533474 0.578316 0.546105 +0.490533 0.4432 0.405333 0.382613 0.393973 0.418587 0.416693 0.376933 +0.358 0.36936 0.37504 0.36368 0.36368 0.365573 0.4148 0.46592 +0.503158 0.510737 0.519579 0.514526 0.479173 0.44888 0.44888 0.433733 +0.462133 0.48296 0.518316 0.546737 0.551789 0.538526 0.524632 0.512 +0.501263 0.496213 0.445093 0.416693 0.469707 0.532211 0.612421 0.726737 +0.829684 0.879579 0.894737 0.903579 0.92379 0.946526 0.959158 0.976842 +0.995673 1.00514 1.00873 1.01592 1.01429 1.01853 1.02376 1.02147 +1.01951 1.02245 1.02343 1.02996 1.02833 1.02604 1.02604 1.02637 +1.03094 1.02898 1.03192 1.03224 1.02931 1.03061 1.02996 1.02963 +1.02996 1.02963 1.03453 1.03388 1.03518 1.03584 1.0329 1.0218 +1.00188 0.940211 0.724211 0.574526 0.551789 0.536 0.531579 0.530947 +0.529684 0.524 0.514526 0.512 0.500632 0.48296 0.4716 0.464027 +0.473493 0.48296 0.469707 0.43752 0.412907 0.47728 0.575158 0.738737 +0.905474 0.98751 0.986857 0.954737 0.873895 0.746316 0.631368 0.576421 +0.542316 0.514526 0.48864 0.462133 0.464027 0.464027 0.441307 0.429947 +0.412907 0.4432 0.513263 0.519579 0.48864 0.506947 0.532211 0.565053 +0.604211 0.602947 0.585263 0.585895 0.614316 0.632632 0.601684 0.564421 +0.569474 0.616842 0.683789 0.751368 0.805684 0.819579 0.767158 0.668632 +0.582737 0.522105 0.452667 0.401547 0.358 0.327707 0.308773 0.320133 +0.339067 0.337173 0.337173 0.33528 0.354213 0.393973 0.388293 0.342853 +0.33528 0.3296 0.350427 0.4148 0.479173 0.452667 0.384507 0.34664 +0.3296 0.325813 0.322027 0.32392 0.327707 0.325813 0.3296 0.337173 +0.342853 0.34096 0.34096 0.35232 0.350427 0.35232 0.36368 0.361787 +0.36368 0.36368 0.356107 0.359893 0.354213 0.350427 0.344747 0.333387 +0.342853 0.358 0.376933 0.3864 0.390187 0.395867 0.401547 0.40912 +0.42048 0.446987 0.467813 0.445093 0.411013 0.36936 0.365573 0.401547 +0.424267 0.40912 0.40912 0.4148 0.441307 0.507579 0.599158 0.794947 +0.993714 1.04139 1.03453 1.03094 1.0813 1.21977 1.07369 1.0231 +1.01069 1.01102 1.01037 1.00808 1.01004 1.01135 1.01135 1.01233 +1.01233 1.012 1.01167 1.01331 1.01265 1.01298 1.01429 1.01265 +1.01363 1.01624 1.01592 1.01494 1.01331 1.00939 1.00971 1.01135 +1.01004 1.00873 1.01004 1.00873 1.00678 1.00873 1.01167 1.01135 +1.00971 1.00873 1.00939 1.00547 0.991429 0.966737 0.942737 0.940211 +0.944632 0.957263 0.982612 0.983265 0.872 0.651579 0.503158 0.359893 +0.240613 0.0008 0.000706667 0.00068 0.000686667 0.00078 0.000793333 0.000773333 +0.000793333 0.000746667 0.000713333 0.00074 0.00072 0.000733333 0.00074 0.000726667 +0.00072 0.000733333 0.00074 0.0007 0.000686667 0.000673333 0.000686667 0.000713333 +0.000693333 0.000686667 0.000686667 0.00068 0.00068 0.00068 0.000673333 0.0007 +0.0007 0.0007 0.000693333 0.00068 0.000686667 0.00068 0.000693333 0.0007 +0.0007 0.0007 0.000693333 0.0007 0.000806667 0.2728 0.34664 0.259547 +0.000886667 0.0008 0.00078 0.000766667 0.000813333 0.000973333 0.2728 0.303093 +0.297413 0.31256 0.367467 0.528421 0.733684 0.945895 0.992735 0.978105 +0.950947 0.947789 0.951579 0.961684 0.975579 0.987184 1.0022 1.01004 +1.00906 1.00971 1.01004 1.012 1.01135 1.00645 1.00449 1.00841 +1.01167 1.01363 1.01167 1.01135 1.01298 1.00873 1.00873 1.01102 +1.00971 1.00873 1.00678 1.00612 1.00612 1.00678 1.00416 0.998612 +0.998612 1.00645 1.0071 0.999918 0.944632 0.789263 0.623158 0.516421 +0.43752 0.399653 0.3864 0.384507 0.384507 0.378827 0.350427 0.33528 +0.325813 0.327707 0.3296 0.333387 0.33528 0.331493 0.33528 0.333387 +0.339067 0.331493 0.32392 0.322027 0.32392 0.320133 0.32392 0.33528 +0.34096 0.359893 0.361787 0.331493 0.3296 0.3864 0.399653 0.350427 +0.314453 0.3296 0.367467 0.37504 0.359893 0.331493 0.304987 0.303093 +0.310667 0.314453 0.320133 0.333387 0.350427 0.333387 0.327707 0.337173 +0.339067 0.344747 0.337173 0.3296 0.361787 0.384507 0.36936 0.348533 +0.320133 0.308773 0.331493 0.337173 0.342853 0.344747 0.348533 0.354213 +0.33528 0.31824 0.308773 0.308773 0.344747 0.39208 0.445093 0.522105 +0.551158 0.518947 0.405333 0.350427 0.339067 0.322027 0.310667 0.3296 +0.327707 0.331493 0.3864 0.435627 0.3864 0.373147 0.376933 0.390187 +0.407227 0.416693 0.433733 0.45456 0.48864 0.514526 0.534737 0.549895 +0.561895 0.572 0.558105 0.536 0.523368 0.515158 0.506947 0.484853 +0.45456 0.433733 0.416693 0.39776 0.39208 0.412907 0.462133 0.48864 +0.46024 0.435627 0.441307 0.484853 0.583368 0.798105 0.981633 1.01592 +1.02506 1.02376 1.01396 0.964842 0.732421 0.524 0.40344 0.382613 +0.388293 0.407227 0.429947 0.44888 0.508842 0.553684 0.570105 0.529053 +0.475387 0.43184 0.40912 0.395867 0.405333 0.435627 0.412907 0.367467 +0.365573 0.373147 0.373147 0.371253 0.367467 0.384507 0.429947 0.4432 +0.48864 0.508211 0.513263 0.519579 0.510105 0.5 0.484853 0.49432 +0.504421 0.503789 0.516421 0.531579 0.529053 0.527158 0.521474 0.509474 +0.49432 0.462133 0.45456 0.505684 0.563789 0.654737 0.764632 0.854316 +0.897263 0.907368 0.904842 0.906105 0.927579 0.952842 0.969895 0.983918 +0.999592 1.00906 1.00939 1.01331 1.01722 1.02343 1.02278 1.01951 +1.02082 1.02376 1.02343 1.02833 1.02702 1.02473 1.02669 1.02833 +1.03029 1.02996 1.03224 1.03257 1.02996 1.03061 1.03061 1.03094 +1.03159 1.0342 1.0378 1.0329 1.03453 1.03878 1.03388 1.0231 +1.00906 0.964842 0.764 0.591579 0.558105 0.542316 0.533474 0.537263 +0.566947 0.572 0.531579 0.505684 0.500632 0.498107 0.492427 0.502526 +0.505053 0.475387 0.429947 0.411013 0.42048 0.48296 0.598526 0.817684 +0.983592 1.01167 1.01004 0.996327 0.950947 0.835368 0.701474 0.613053 +0.554947 0.522105 0.504421 0.501895 0.515789 0.530947 0.539158 0.553684 +0.583368 0.643368 0.687579 0.630105 0.550526 0.556842 0.587158 0.604211 +0.597263 0.580211 0.605474 0.659158 0.705263 0.719789 0.676211 0.621263 +0.627579 0.690105 0.774105 0.856842 0.917474 0.944632 0.928842 0.848 +0.712842 0.573263 0.46024 0.371253 0.350427 0.339067 0.3296 0.337173 +0.361787 0.36368 0.344747 0.339067 0.34664 0.38072 0.390187 0.350427 +0.337173 0.325813 0.314453 0.322027 0.371253 0.393973 0.36936 0.35232 +0.333387 0.31824 0.314453 0.31824 0.320133 0.32392 0.333387 0.33528 +0.34096 0.348533 0.34096 0.333387 0.33528 0.344747 0.348533 0.350427 +0.361787 0.36368 0.359893 0.367467 0.356107 0.344747 0.34096 0.337173 +0.34096 0.327707 0.33528 0.371253 0.439413 0.517684 0.536 0.524632 +0.512632 0.507579 0.501263 0.458347 0.405333 0.367467 0.361787 0.390187 +0.405333 0.401547 0.42616 0.42616 0.43184 0.508842 0.616211 0.822737 +0.998939 1.0378 1.03355 1.03682 1.11782 1.18477 1.04596 1.01363 +1.00939 1.01102 1.00971 1.01037 1.01135 1.01167 1.01233 1.01233 +1.01102 1.012 1.01167 1.01265 1.01331 1.01429 1.0169 1.01527 +1.01494 1.01624 1.01624 1.01429 1.01069 1.00678 1.00841 1.01233 +1.01135 1.01069 1.01102 1.01135 1.01069 1.01069 1.01167 1.01069 +1.00971 1.00971 1.00743 1.00024 0.985224 0.960421 0.942737 0.939579 +0.947158 0.962947 0.985878 0.973684 0.823368 0.608632 0.467813 0.342853 +0.000986667 0.000753333 0.0007 0.000693333 0.000706667 0.000746667 0.000766667 0.00076 +0.0008 0.000773333 0.0007 0.0007 0.00072 0.00072 0.00072 0.00072 +0.000706667 0.00074 0.000746667 0.000693333 0.0007 0.0007 0.000713333 0.000746667 +0.000726667 0.0007 0.000673333 0.00068 0.000673333 0.00066 0.000666667 0.000673333 +0.000666667 0.000673333 0.000666667 0.000693333 0.000686667 0.00068 0.000706667 0.000706667 +0.000726667 0.000726667 0.000733333 0.000766667 0.000906667 0.314453 0.407227 0.342853 +0.236827 0.000886667 0.00082 0.000786667 0.00088 0.253867 0.31824 0.3012 +0.26712 0.314453 0.3864 0.519579 0.702105 0.924421 0.994041 0.981959 +0.954105 0.946526 0.947158 0.957895 0.971158 0.985224 1.00188 1.00971 +1.01004 1.00808 1.0071 1.01102 1.012 1.00808 1.00449 1.00678 +1.01233 1.01494 1.012 1.01102 1.01331 1.00971 1.00971 1.00971 +1.00939 1.0071 1.00645 1.0058 1.00514 1.00678 1.0022 0.994041 +0.989469 0.991755 0.993714 0.992408 0.957895 0.823368 0.652211 0.530316 +0.4432 0.395867 0.376933 0.371253 0.36368 0.358 0.33528 0.32392 +0.310667 0.31256 0.322027 0.325813 0.333387 0.348533 0.350427 0.33528 +0.327707 0.32392 0.322027 0.3296 0.33528 0.325813 0.31824 0.31824 +0.325813 0.34664 0.361787 0.339067 0.337173 0.376933 0.384507 0.35232 +0.31824 0.32392 0.344747 0.358 0.359893 0.342853 0.31256 0.303093 +0.308773 0.316347 0.325813 0.327707 0.34096 0.34096 0.339067 0.339067 +0.33528 0.339067 0.327707 0.331493 0.354213 0.354213 0.342853 0.337173 +0.325813 0.308773 0.30688 0.327707 0.339067 0.337173 0.339067 0.34096 +0.322027 0.320133 0.320133 0.342853 0.38072 0.382613 0.384507 0.441307 +0.506316 0.509474 0.46592 0.4148 0.390187 0.359893 0.337173 0.350427 +0.344747 0.348533 0.42048 0.5 0.428053 0.384507 0.418587 0.45456 +0.503789 0.534737 0.570105 0.610526 0.650316 0.689474 0.717263 0.723579 +0.713474 0.692632 0.660421 0.626947 0.596632 0.568211 0.537263 0.506947 +0.464027 0.428053 0.395867 0.38072 0.37504 0.358 0.36936 0.399653 +0.390187 0.38072 0.39776 0.46024 0.585895 0.805684 0.985224 1.01494 +1.01951 1.01461 0.994367 0.883368 0.654105 0.503789 0.416693 0.407227 +0.407227 0.407227 0.416693 0.45456 0.510105 0.520211 0.504421 0.43752 +0.407227 0.401547 0.395867 0.393973 0.42048 0.469707 0.43184 0.384507 +0.388293 0.376933 0.367467 0.367467 0.365573 0.412907 0.481067 0.473493 +0.467813 0.48864 0.490533 0.506316 0.503158 0.473493 0.473493 0.49432 +0.501895 0.507579 0.516421 0.505684 0.511368 0.537895 0.524 0.48864 +0.462133 0.475387 0.529053 0.609263 0.710947 0.808842 0.882105 0.919368 +0.931368 0.933895 0.921263 0.907368 0.924421 0.952211 0.974947 0.986857 +1.0022 1.01233 1.01069 1.01298 1.02082 1.02408 1.02212 1.0182 +1.02082 1.02408 1.02506 1.02571 1.02702 1.02473 1.02604 1.02963 +1.02833 1.03257 1.03192 1.03061 1.02931 1.03224 1.0329 1.03257 +1.03127 1.03355 1.03584 1.03322 1.03649 1.04073 1.0342 1.0231 +1.01265 0.98 0.796211 0.610526 0.568842 0.565684 0.558737 0.557474 +0.602316 0.622526 0.550526 0.496213 0.501263 0.503158 0.507579 0.515789 +0.500632 0.429947 0.39776 0.390187 0.42048 0.486747 0.617474 0.876421 +1.01102 1.02669 1.02376 1.01396 0.990449 0.897263 0.738105 0.602316 +0.530316 0.511368 0.511368 0.525263 0.549895 0.577684 0.606737 0.649053 +0.716 0.819579 0.880211 0.797474 0.683158 0.645263 0.640842 0.624421 +0.56 0.524632 0.587789 0.681263 0.705895 0.688842 0.674316 0.673684 +0.710316 0.776 0.855579 0.931368 0.982939 0.998286 0.999265 0.981306 +0.870105 0.688842 0.530316 0.371253 0.320133 0.327707 0.350427 0.373147 +0.388293 0.367467 0.339067 0.344747 0.354213 0.36368 0.373147 0.350427 +0.331493 0.325813 0.325813 0.310667 0.333387 0.365573 0.354213 0.34664 +0.337173 0.3296 0.32392 0.32392 0.325813 0.3296 0.322027 0.320133 +0.333387 0.337173 0.331493 0.333387 0.33528 0.3296 0.331493 0.342853 +0.356107 0.361787 0.365573 0.361787 0.344747 0.339067 0.337173 0.331493 +0.3296 0.316347 0.322027 0.359893 0.456453 0.537263 0.554316 0.521474 +0.47728 0.446987 0.422373 0.399653 0.378827 0.365573 0.365573 0.38072 +0.390187 0.388293 0.411013 0.40912 0.429947 0.514526 0.639579 0.854947 +1.00351 1.0329 1.03224 1.04302 1.14369 1.14217 1.03224 1.01004 +1.01037 1.012 1.01069 1.01135 1.01004 1.00906 1.01102 1.012 +1.01167 1.01298 1.01298 1.01396 1.01396 1.01396 1.01559 1.01494 +1.01527 1.01429 1.01233 1.01069 1.01037 1.01004 1.01135 1.01167 +1.012 1.01298 1.01069 1.01102 1.01167 1.01102 1.00971 1.00873 +1.01037 1.01233 1.00743 0.995347 0.976211 0.950316 0.940842 0.937684 +0.945263 0.968 0.986204 0.950316 0.770947 0.571368 0.450773 0.3296 +0.000933333 0.00072 0.000693333 0.0007 0.00072 0.000733333 0.000766667 0.000773333 +0.000773333 0.00078 0.000726667 0.000693333 0.000746667 0.00074 0.000733333 0.000726667 +0.000693333 0.00072 0.000713333 0.000693333 0.00072 0.000726667 0.000733333 0.000713333 +0.000673333 0.000686667 0.000693333 0.0007 0.00068 0.000673333 0.000706667 0.000693333 +0.0007 0.000673333 0.00066 0.00068 0.000666667 0.000666667 0.00068 0.000686667 +0.000713333 0.000706667 0.00074 0.000793333 0.240613 0.373147 0.47728 0.4716 +0.367467 0.269013 0.000953333 0.000866667 0.00096 0.282267 0.322027 0.26144 +0.22736 0.286053 0.38072 0.513263 0.669895 0.895368 0.990449 0.983592 +0.959789 0.947789 0.945895 0.954105 0.968 0.984571 0.999918 1.00873 +1.01037 1.00645 1.0058 1.00841 1.01102 1.00841 1.00351 1.00514 +1.01102 1.01331 1.012 1.01233 1.01298 1.01167 1.01004 1.00906 +1.00873 1.0058 1.0071 1.00416 1.00482 1.0058 0.997633 0.986531 +0.974947 0.976842 0.982612 0.983918 0.959789 0.849895 0.68 0.544842 +0.456453 0.40344 0.371253 0.361787 0.365573 0.359893 0.350427 0.356107 +0.34096 0.331493 0.32392 0.322027 0.337173 0.354213 0.350427 0.339067 +0.3296 0.320133 0.32392 0.3296 0.331493 0.331493 0.327707 0.320133 +0.325813 0.34664 0.371253 0.350427 0.3296 0.354213 0.371253 0.358 +0.325813 0.325813 0.34096 0.34664 0.344747 0.331493 0.31256 0.299307 +0.30688 0.3296 0.3296 0.3296 0.33528 0.333387 0.325813 0.32392 +0.333387 0.331493 0.322027 0.333387 0.356107 0.33528 0.325813 0.331493 +0.3296 0.32392 0.314453 0.322027 0.320133 0.31824 0.32392 0.331493 +0.32392 0.33528 0.356107 0.395867 0.4148 0.376933 0.34664 0.348533 +0.373147 0.424267 0.450773 0.439413 0.433733 0.424267 0.3864 0.361787 +0.35232 0.358 0.412907 0.47728 0.43752 0.441307 0.509474 0.549895 +0.601053 0.658526 0.719789 0.780421 0.823368 0.853684 0.862526 0.847368 +0.810105 0.758316 0.710947 0.667368 0.631368 0.59979 0.554316 0.515158 +0.486747 0.43184 0.39208 0.376933 0.36368 0.34096 0.348533 0.367467 +0.35232 0.337173 0.354213 0.412907 0.558105 0.768421 0.962316 1.00286 +1.00057 0.98849 0.918737 0.750105 0.565053 0.44888 0.412907 0.429947 +0.429947 0.4148 0.424267 0.492427 0.520211 0.511368 0.446987 0.382613 +0.38072 0.388293 0.388293 0.38072 0.43184 0.496213 0.46024 0.4148 +0.393973 0.38072 0.37504 0.367467 0.38072 0.475387 0.523368 0.518316 +0.484853 0.456453 0.46592 0.48864 0.492427 0.4716 0.475387 0.49432 +0.500632 0.510737 0.518316 0.513263 0.532211 0.548 0.518316 0.5 +0.520211 0.577053 0.671158 0.777895 0.856211 0.901684 0.92 0.933263 +0.945263 0.954737 0.938316 0.913053 0.923158 0.953474 0.978737 0.989143 +1.0022 1.01298 1.01233 1.01592 1.0218 1.02245 1.02049 1.01722 +1.02147 1.02669 1.02539 1.02408 1.02604 1.02506 1.02571 1.02996 +1.02931 1.03388 1.03224 1.03127 1.02931 1.03224 1.03224 1.03192 +1.03192 1.03355 1.03322 1.03486 1.0378 1.0391 1.03453 1.02473 +1.01331 0.984898 0.827158 0.629474 0.580842 0.593474 0.584 0.566947 +0.620632 0.660421 0.575789 0.502526 0.502526 0.504421 0.511368 0.509474 +0.450773 0.40344 0.40344 0.38072 0.39776 0.469707 0.623789 0.890316 +1.01592 1.03257 1.03061 1.02245 1.00612 0.937053 0.741895 0.563158 +0.486747 0.479173 0.509474 0.537895 0.580211 0.620632 0.666105 0.718526 +0.786105 0.879579 0.944632 0.912421 0.838526 0.778526 0.734947 0.698316 +0.611789 0.555579 0.591579 0.642737 0.623158 0.577684 0.582737 0.648421 +0.752 0.850526 0.928842 0.984898 1.00384 1.01592 1.01722 1.01004 +0.981633 0.832842 0.630737 0.481067 0.33528 0.314453 0.34664 0.393973 +0.429947 0.390187 0.337173 0.331493 0.34664 0.36368 0.359893 0.34664 +0.33528 0.327707 0.34096 0.33528 0.33528 0.348533 0.34096 0.333387 +0.320133 0.320133 0.31824 0.320133 0.322027 0.327707 0.322027 0.314453 +0.320133 0.327707 0.331493 0.339067 0.342853 0.33528 0.344747 0.356107 +0.361787 0.361787 0.37504 0.361787 0.331493 0.327707 0.333387 0.331493 +0.333387 0.331493 0.33528 0.354213 0.411013 0.473493 0.46592 0.39776 +0.359893 0.359893 0.361787 0.359893 0.359893 0.36368 0.371253 0.378827 +0.376933 0.373147 0.390187 0.39776 0.4432 0.527789 0.670526 0.882737 +1.00416 1.028 1.03518 1.05412 1.16043 1.0813 1.02114 1.00841 +1.00971 1.00873 1.01037 1.012 1.01135 1.01037 1.01167 1.012 +1.012 1.01233 1.01135 1.01363 1.01494 1.01396 1.01429 1.01363 +1.01429 1.01265 1.01037 1.00873 1.00939 1.01167 1.01233 1.01004 +1.01037 1.01396 1.012 1.01069 1.01102 1.01135 1.01069 1.00971 +1.01004 1.01135 1.00645 0.990776 0.960421 0.941474 0.939579 0.939579 +0.947158 0.974947 0.98751 0.915579 0.708421 0.534737 0.411013 0.286053 +0.000846667 0.000733333 0.000746667 0.00076 0.00078 0.000753333 0.00076 0.000773333 +0.000746667 0.00076 0.000746667 0.000686667 0.000746667 0.000733333 0.00074 0.000753333 +0.000713333 0.00072 0.000713333 0.000713333 0.00074 0.000726667 0.00072 0.000693333 +0.00068 0.00068 0.000666667 0.000693333 0.000693333 0.00068 0.000693333 0.000673333 +0.000693333 0.000693333 0.000686667 0.0007 0.000693333 0.0007 0.000686667 0.000693333 +0.000666667 0.000666667 0.000713333 0.000866667 0.287947 0.354213 0.424267 0.492427 +0.481067 0.39776 0.293627 0.231147 0.23304 0.314453 0.320133 0.22168 +0.000926667 0.2444 0.354213 0.507579 0.642105 0.864421 0.986531 0.986204 +0.966737 0.949684 0.946526 0.952211 0.967368 0.984571 0.997959 1.00743 +1.00841 1.00612 1.00612 1.00841 1.01037 1.00939 1.00318 1.00122 +1.00841 1.01233 1.01298 1.01298 1.01069 1.01069 1.00873 1.00808 +1.00808 1.00743 1.0071 1.00351 1.00514 1.0058 0.997959 0.984898 +0.962316 0.961684 0.969895 0.972421 0.955368 0.868842 0.712211 0.567579 +0.479173 0.40912 0.376933 0.365573 0.36936 0.365573 0.358 0.371253 +0.384507 0.37504 0.339067 0.314453 0.316347 0.327707 0.354213 0.359893 +0.339067 0.337173 0.342853 0.339067 0.331493 0.33528 0.325813 0.320133 +0.325813 0.348533 0.371253 0.34096 0.31824 0.35232 0.376933 0.361787 +0.331493 0.320133 0.3296 0.344747 0.344747 0.325813 0.304987 0.299307 +0.30688 0.32392 0.322027 0.32392 0.32392 0.32392 0.31256 0.31256 +0.327707 0.32392 0.316347 0.333387 0.34664 0.32392 0.320133 0.32392 +0.31824 0.32392 0.325813 0.320133 0.316347 0.310667 0.310667 0.314453 +0.31824 0.331493 0.359893 0.390187 0.382613 0.356107 0.348533 0.34664 +0.344747 0.356107 0.376933 0.382613 0.411013 0.445093 0.4148 0.36936 +0.35232 0.376933 0.412907 0.43752 0.469707 0.518947 0.568842 0.633263 +0.698947 0.762737 0.827158 0.882105 0.913684 0.927579 0.919368 0.889053 +0.839789 0.781684 0.722947 0.673053 0.647158 0.615579 0.558737 0.517053 +0.47728 0.42048 0.393973 0.38072 0.365573 0.339067 0.344747 0.361787 +0.344747 0.325813 0.331493 0.37504 0.534105 0.721684 0.916842 0.980653 +0.952842 0.901053 0.784842 0.615579 0.505053 0.424267 0.39776 0.418587 +0.441307 0.418587 0.445093 0.515158 0.536632 0.517053 0.435627 0.382613 +0.39208 0.401547 0.39776 0.4148 0.481067 0.501895 0.456453 0.407227 +0.378827 0.38072 0.390187 0.384507 0.481067 0.577684 0.626947 0.600421 +0.536 0.486747 0.462133 0.462133 0.475387 0.490533 0.500632 0.502526 +0.504421 0.518316 0.530947 0.537895 0.549895 0.542947 0.540421 0.577684 +0.655368 0.752632 0.844211 0.899789 0.918737 0.926316 0.92379 0.925684 +0.933263 0.943368 0.932 0.911789 0.924421 0.956 0.982612 0.990449 +1.00122 1.01429 1.01461 1.01722 1.02016 1.01918 1.02049 1.01722 +1.02343 1.02996 1.02571 1.02408 1.02441 1.02637 1.02571 1.03029 +1.03094 1.03257 1.03192 1.02996 1.03094 1.03224 1.03159 1.03127 +1.03388 1.0342 1.0329 1.03584 1.03682 1.03551 1.03486 1.02931 +1.01331 0.984571 0.849895 0.650316 0.578947 0.580842 0.562526 0.545474 +0.618105 0.678105 0.590947 0.506947 0.506316 0.514526 0.510737 0.481067 +0.42048 0.411013 0.418587 0.390187 0.388293 0.462133 0.622526 0.865684 +1.00024 1.02571 1.02963 1.02212 1.00971 0.947158 0.729263 0.530316 +0.422373 0.424267 0.46024 0.520842 0.573895 0.633263 0.696421 0.755158 +0.816421 0.882737 0.932632 0.950316 0.947158 0.92 0.875158 0.822737 +0.733684 0.654105 0.612421 0.582737 0.536 0.492427 0.506947 0.572632 +0.689474 0.819579 0.926947 0.992735 1.01363 1.02114 1.02147 1.01592 +1.00188 0.927579 0.749474 0.580211 0.446987 0.342853 0.342853 0.388293 +0.43752 0.411013 0.358 0.333387 0.337173 0.359893 0.354213 0.354213 +0.342853 0.331493 0.348533 0.354213 0.34664 0.348533 0.342853 0.32392 +0.30688 0.304987 0.314453 0.327707 0.314453 0.303093 0.310667 0.3296 +0.339067 0.34096 0.342853 0.339067 0.342853 0.342853 0.344747 0.361787 +0.376933 0.36936 0.371253 0.358 0.33528 0.32392 0.327707 0.339067 +0.34664 0.344747 0.327707 0.333387 0.359893 0.378827 0.35232 0.322027 +0.322027 0.331493 0.350427 0.365573 0.37504 0.388293 0.390187 0.378827 +0.37504 0.38072 0.388293 0.401547 0.469707 0.548632 0.704 0.909263 +1.00743 1.02702 1.03812 1.07522 1.14217 1.04498 1.01037 1.0058 +1.00743 1.00873 1.01167 1.01298 1.01298 1.01004 1.01004 1.00971 +1.01102 1.01363 1.01331 1.01363 1.01494 1.01429 1.01461 1.01331 +1.01265 1.012 1.01004 1.00971 1.01004 1.01102 1.01233 1.01167 +1.01135 1.01331 1.012 1.01037 1.01004 1.01069 1.01102 1.01167 +1.01037 1.00906 1.00188 0.985224 0.955368 0.938947 0.936421 0.939579 +0.953474 0.981306 0.982612 0.863158 0.645895 0.506316 0.371253 0.246293 +0.00082 0.000786667 0.000793333 0.000793333 0.000793333 0.000753333 0.000713333 0.000726667 +0.00072 0.00074 0.000766667 0.00072 0.000706667 0.000706667 0.000706667 0.000733333 +0.000706667 0.000713333 0.000713333 0.000706667 0.00072 0.00072 0.00072 0.000686667 +0.0007 0.00072 0.0007 0.000706667 0.0007 0.000706667 0.0007 0.00068 +0.00068 0.000686667 0.0007 0.0007 0.000706667 0.000686667 0.000686667 0.00068 +0.000646667 0.000673333 0.000753333 0.22168 0.308773 0.287947 0.29552 0.388293 +0.469707 0.475387 0.40912 0.31824 0.263333 0.327707 0.31256 0.000953333 +0.000853333 0.00098 0.3296 0.486747 0.609263 0.832842 0.984245 0.990449 +0.969263 0.949684 0.945895 0.950947 0.968632 0.985224 0.998939 1.0071 +1.0071 1.00776 1.00743 1.00971 1.00971 1.01037 1.00416 0.99698 +1.00514 1.01069 1.01233 1.01429 1.01167 1.01135 1.01037 1.01004 +1.00906 1.00841 1.00645 1.00384 1.00449 1.00612 1.00155 0.98849 +0.969263 0.962316 0.964211 0.969263 0.952842 0.882737 0.744421 0.591579 +0.5 0.416693 0.39208 0.37504 0.382613 0.388293 0.358 0.359893 +0.39208 0.388293 0.356107 0.325813 0.316347 0.325813 0.367467 0.36368 +0.348533 0.367467 0.371253 0.358 0.344747 0.337173 0.331493 0.3296 +0.337173 0.34096 0.354213 0.344747 0.337173 0.36936 0.37504 0.348533 +0.327707 0.310667 0.31824 0.348533 0.36368 0.333387 0.310667 0.31256 +0.314453 0.322027 0.320133 0.316347 0.327707 0.3296 0.316347 0.308773 +0.316347 0.314453 0.316347 0.32392 0.322027 0.31256 0.316347 0.31824 +0.310667 0.322027 0.3296 0.314453 0.31256 0.320133 0.308773 0.308773 +0.314453 0.325813 0.342853 0.358 0.354213 0.344747 0.350427 0.371253 +0.36936 0.34096 0.3296 0.333387 0.358 0.39776 0.401547 0.390187 +0.40344 0.43184 0.43752 0.46592 0.518947 0.558737 0.614316 0.677474 +0.745684 0.814526 0.878316 0.92379 0.939579 0.938316 0.914947 0.868842 +0.812632 0.755789 0.698947 0.657263 0.623789 0.577053 0.524632 0.473493 +0.405333 0.373147 0.39208 0.393973 0.36936 0.348533 0.342853 0.348533 +0.344747 0.337173 0.3296 0.361787 0.523368 0.680632 0.864421 0.921263 +0.857474 0.774105 0.649053 0.527789 0.435627 0.407227 0.3864 0.407227 +0.433733 0.433733 0.46592 0.525263 0.546105 0.517053 0.4148 0.378827 +0.395867 0.405333 0.4148 0.473493 0.508842 0.490533 0.42048 0.395867 +0.3864 0.3864 0.411013 0.496213 0.618105 0.794947 0.843579 0.752 +0.618737 0.532842 0.504421 0.464027 0.46592 0.492427 0.496213 0.484853 +0.503158 0.534105 0.568211 0.572632 0.575158 0.603579 0.671789 0.757684 +0.837895 0.890316 0.92379 0.930737 0.928842 0.929474 0.924421 0.918737 +0.921895 0.926947 0.914316 0.908 0.921895 0.948421 0.983265 0.98751 +1.00057 1.01624 1.01755 1.02016 1.02049 1.0182 1.02016 1.01951 +1.02343 1.02767 1.02604 1.02669 1.02473 1.02833 1.02702 1.03029 +1.03257 1.03322 1.03159 1.02996 1.0329 1.03322 1.03192 1.03094 +1.03257 1.03224 1.03388 1.03453 1.03486 1.03453 1.03224 1.02996 +1.012 0.981959 0.854947 0.656 0.560632 0.541684 0.522737 0.524632 +0.603579 0.66421 0.590316 0.510105 0.506316 0.520211 0.514526 0.48864 +0.452667 0.441307 0.422373 0.395867 0.395867 0.503789 0.630737 0.825895 +0.964211 1.00449 1.01298 1.00743 0.996 0.922526 0.706526 0.511368 +0.378827 0.37504 0.388293 0.467813 0.537895 0.605474 0.683789 0.760211 +0.833474 0.899158 0.944 0.973053 0.989469 0.993061 0.982612 0.932 +0.840421 0.733053 0.630105 0.550526 0.486747 0.405333 0.439413 0.529684 +0.604842 0.691368 0.785474 0.890947 0.979368 1.00057 1.00612 1.00318 +0.989469 0.935789 0.820842 0.676211 0.554947 0.46024 0.384507 0.388293 +0.412907 0.40344 0.371253 0.344747 0.339067 0.348533 0.34096 0.344747 +0.342853 0.337173 0.36368 0.399653 0.376933 0.354213 0.354213 0.333387 +0.327707 0.314453 0.30688 0.310667 0.31256 0.303093 0.314453 0.337173 +0.356107 0.373147 0.358 0.331493 0.331493 0.33528 0.350427 0.39776 +0.4148 0.384507 0.365573 0.342853 0.339067 0.337173 0.331493 0.342853 +0.358 0.348533 0.325813 0.322027 0.327707 0.34664 0.33528 0.327707 +0.3296 0.33528 0.365573 0.393973 0.401547 0.416693 0.4148 0.3864 +0.384507 0.405333 0.4148 0.424267 0.49432 0.570105 0.741263 0.935158 +1.01167 1.02735 1.03943 1.08739 1.09348 1.02702 1.00318 1.00482 +1.00612 1.00841 1.01069 1.01004 1.00939 1.01004 1.012 1.01037 +1.01233 1.01363 1.01331 1.01298 1.01233 1.01135 1.01298 1.01265 +1.01102 1.01004 1.00906 1.01069 1.01167 1.00971 1.00971 1.012 +1.012 1.01135 1.01102 1.01037 1.01037 1.01102 1.01135 1.01331 +1.01265 1.00743 0.993714 0.972421 0.949684 0.937053 0.932632 0.940842 +0.965474 0.98751 0.963579 0.797474 0.589053 0.45456 0.325813 0.00098 +0.000806667 0.000806667 0.0008 0.000753333 0.000746667 0.00074 0.000733333 0.000733333 +0.00072 0.000726667 0.00078 0.000746667 0.00074 0.000733333 0.000706667 0.0007 +0.00068 0.000686667 0.000693333 0.000693333 0.000693333 0.000686667 0.000686667 0.00066 +0.00068 0.000686667 0.00068 0.000686667 0.00068 0.00072 0.000726667 0.00072 +0.000726667 0.000713333 0.00072 0.000693333 0.0007 0.00066 0.000686667 0.000686667 +0.000653333 0.00066 0.000746667 0.229253 0.297413 0.236827 0.000946667 0.25576 +0.354213 0.439413 0.4716 0.412907 0.32392 0.339067 0.310667 0.000973333 +0.00084 0.000926667 0.308773 0.439413 0.571368 0.788632 0.974316 0.993714 +0.971158 0.950316 0.949684 0.955368 0.968 0.983592 0.998612 1.00906 +1.00971 1.00873 1.01004 1.01298 1.01167 1.01167 1.00547 0.996 +1.0022 1.00873 1.01069 1.01396 1.01331 1.01233 1.01102 1.01037 +1.00939 1.00873 1.00776 1.00743 1.00547 1.00612 1.00351 0.994367 +0.982939 0.969895 0.966737 0.970526 0.953474 0.894105 0.769053 0.615579 +0.513263 0.43752 0.407227 0.384507 0.39776 0.42048 0.382613 0.358 +0.365573 0.358 0.348533 0.339067 0.337173 0.354213 0.373147 0.356107 +0.361787 0.39208 0.390187 0.376933 0.361787 0.348533 0.339067 0.337173 +0.33528 0.32392 0.33528 0.36936 0.382613 0.390187 0.361787 0.32392 +0.314453 0.310667 0.316347 0.350427 0.390187 0.36936 0.327707 0.320133 +0.325813 0.342853 0.337173 0.33528 0.359893 0.356107 0.32392 0.304987 +0.31824 0.314453 0.314453 0.316347 0.303093 0.308773 0.322027 0.325813 +0.320133 0.314453 0.320133 0.333387 0.33528 0.339067 0.31824 0.31824 +0.3296 0.333387 0.333387 0.337173 0.337173 0.337173 0.337173 0.358 +0.376933 0.359893 0.34096 0.33528 0.339067 0.354213 0.3864 0.405333 +0.435627 0.47728 0.490533 0.512632 0.548632 0.588421 0.635789 0.697684 +0.771579 0.836 0.882737 0.902316 0.892842 0.868211 0.822737 0.762737 +0.705895 0.661053 0.638316 0.637684 0.588421 0.508211 0.405333 0.361787 +0.33528 0.339067 0.37504 0.390187 0.356107 0.339067 0.33528 0.337173 +0.36368 0.378827 0.367467 0.40344 0.527789 0.656632 0.828421 0.866947 +0.763368 0.657895 0.554947 0.464027 0.401547 0.390187 0.395867 0.416693 +0.441307 0.450773 0.492427 0.541053 0.563158 0.518316 0.40344 0.376933 +0.382613 0.39776 0.43184 0.490533 0.48864 0.441307 0.407227 0.411013 +0.416693 0.435627 0.509474 0.589684 0.774105 0.965474 0.962947 0.806947 +0.645263 0.556842 0.529053 0.508211 0.486747 0.496213 0.496213 0.504421 +0.517684 0.559368 0.601053 0.62 0.666737 0.758316 0.846737 0.904211 +0.92821 0.930105 0.935158 0.931368 0.92821 0.930105 0.925053 0.919368 +0.921263 0.919368 0.906737 0.909895 0.92 0.938947 0.973053 0.982286 +0.999592 1.01559 1.02114 1.0218 1.02082 1.01984 1.02245 1.02278 +1.02245 1.02865 1.02702 1.02833 1.02473 1.02767 1.02702 1.02931 +1.03388 1.03551 1.03061 1.03061 1.03159 1.03257 1.03159 1.03094 +1.03061 1.03127 1.03355 1.03257 1.0342 1.03453 1.03029 1.02473 +1.00939 0.978737 0.848 0.653474 0.551158 0.522737 0.503158 0.510737 +0.570737 0.623158 0.577684 0.511368 0.490533 0.511368 0.517684 0.520211 +0.510737 0.479173 0.43752 0.405333 0.422373 0.531579 0.645263 0.778526 +0.890947 0.955368 0.973684 0.973053 0.962947 0.880842 0.676842 0.490533 +0.344747 0.33528 0.34664 0.39776 0.501895 0.557474 0.637053 0.731158 +0.821474 0.900421 0.954105 0.985551 1.00188 1.0071 0.999265 0.979368 +0.904211 0.790526 0.663579 0.561263 0.498107 0.416693 0.441307 0.520842 +0.565053 0.588421 0.609263 0.669263 0.763368 0.840421 0.882737 0.895368 +0.878947 0.851789 0.810105 0.728632 0.636421 0.563158 0.511368 0.452667 +0.42048 0.40344 0.37504 0.34664 0.348533 0.359893 0.342853 0.33528 +0.344747 0.350427 0.384507 0.45456 0.429947 0.376933 0.384507 0.367467 +0.342853 0.32392 0.303093 0.299307 0.310667 0.316347 0.325813 0.327707 +0.356107 0.416693 0.393973 0.344747 0.33528 0.331493 0.373147 0.446987 +0.435627 0.376933 0.361787 0.354213 0.356107 0.34664 0.33528 0.32392 +0.33528 0.339067 0.34096 0.34096 0.325813 0.325813 0.32392 0.339067 +0.342853 0.337173 0.35232 0.378827 0.39776 0.42616 0.416693 0.38072 +0.38072 0.393973 0.399653 0.428053 0.506947 0.596632 0.787368 0.966737 +1.01657 1.02996 1.04629 1.095 1.05053 1.01102 1.00057 1.00514 +1.00612 1.00873 1.00971 1.00906 1.00906 1.01037 1.01265 1.01233 +1.01167 1.00971 1.00971 1.01265 1.01265 1.01102 1.012 1.01102 +1.00939 1.00841 1.00906 1.01102 1.01167 1.00939 1.00906 1.01069 +1.01233 1.01265 1.01233 1.01135 1.01167 1.01233 1.01135 1.01037 +1.01069 1.00384 0.986857 0.958526 0.943368 0.938947 0.937684 0.950947 +0.978105 0.989469 0.923158 0.719789 0.534737 0.3864 0.270907 0.000866667 +0.000786667 0.000806667 0.000806667 0.000773333 0.00076 0.000773333 0.000766667 0.000746667 +0.000713333 0.000686667 0.000713333 0.0007 0.00074 0.000733333 0.00072 0.000693333 +0.000686667 0.000713333 0.00072 0.000706667 0.000713333 0.000713333 0.000706667 0.000673333 +0.00068 0.00066 0.000646667 0.000653333 0.000666667 0.000693333 0.0007 0.000706667 +0.00072 0.000706667 0.000693333 0.000693333 0.0007 0.000673333 0.000686667 0.000706667 +0.000693333 0.000693333 0.000733333 0.234933 0.28416 0.000946667 0.0008 0.000886667 +0.23872 0.333387 0.428053 0.433733 0.359893 0.344747 0.31256 0.216 +0.000846667 0.000953333 0.316347 0.422373 0.541684 0.744421 0.950947 0.993061 +0.974947 0.947789 0.945263 0.955368 0.964842 0.98098 0.995347 1.00873 +1.01265 1.01004 1.012 1.01429 1.01298 1.012 1.00645 0.99698 +1.00024 1.00939 1.01069 1.01135 1.01265 1.01167 1.01135 1.00939 +1.0071 1.00776 1.00678 1.0071 1.00678 1.00547 1.00286 0.997959 +0.990122 0.981959 0.973684 0.974947 0.959158 0.903579 0.788632 0.641474 +0.529053 0.458347 0.42616 0.401547 0.412907 0.445093 0.418587 0.367467 +0.350427 0.354213 0.358 0.348533 0.34664 0.358 0.371253 0.356107 +0.365573 0.395867 0.382613 0.36936 0.36368 0.348533 0.337173 0.337173 +0.337173 0.327707 0.34096 0.384507 0.412907 0.395867 0.348533 0.322027 +0.32392 0.327707 0.32392 0.333387 0.395867 0.407227 0.34096 0.32392 +0.342853 0.359893 0.348533 0.354213 0.37504 0.365573 0.327707 0.30688 +0.314453 0.31256 0.322027 0.314453 0.304987 0.310667 0.331493 0.350427 +0.344747 0.325813 0.325813 0.342853 0.3296 0.31824 0.316347 0.316347 +0.320133 0.333387 0.333387 0.325813 0.322027 0.314453 0.31256 0.3296 +0.348533 0.35232 0.339067 0.344747 0.359893 0.36936 0.376933 0.3864 +0.418587 0.486747 0.512 0.527789 0.557474 0.602947 0.662947 0.725474 +0.765263 0.779789 0.785474 0.776 0.750105 0.712842 0.657263 0.606105 +0.575789 0.565684 0.575789 0.607368 0.571368 0.433733 0.331493 0.327707 +0.322027 0.350427 0.399653 0.40912 0.37504 0.356107 0.361787 0.36368 +0.3864 0.390187 0.388293 0.467813 0.548632 0.657895 0.809474 0.820211 +0.696421 0.585263 0.508211 0.43184 0.407227 0.407227 0.424267 0.429947 +0.43184 0.429947 0.486747 0.555579 0.590316 0.533474 0.429947 0.39776 +0.399653 0.424267 0.48296 0.504421 0.458347 0.422373 0.418587 0.450773 +0.48864 0.515158 0.561263 0.621263 0.714105 0.806316 0.779789 0.666737 +0.577053 0.537895 0.528421 0.513263 0.501895 0.502526 0.508842 0.527789 +0.551158 0.594105 0.653474 0.731158 0.824632 0.904842 0.935158 0.937684 +0.931368 0.92821 0.932 0.92821 0.92379 0.926947 0.92 0.92 +0.919368 0.911789 0.907368 0.914316 0.92 0.930105 0.954737 0.974947 +0.999592 1.01494 1.0231 1.02147 1.01886 1.0231 1.02343 1.02114 +1.02473 1.02865 1.02702 1.02604 1.02376 1.02539 1.02604 1.02865 +1.03322 1.03486 1.03094 1.03159 1.03127 1.03518 1.03518 1.03127 +1.03061 1.03257 1.03355 1.03224 1.0342 1.03649 1.03127 1.01853 +1.00351 0.971158 0.834105 0.645263 0.549895 0.522737 0.504421 0.501895 +0.530947 0.565053 0.544211 0.503158 0.473493 0.496213 0.507579 0.524 +0.517684 0.49432 0.45456 0.424267 0.475387 0.561263 0.648421 0.726105 +0.794316 0.847368 0.875789 0.893474 0.902947 0.830316 0.644 0.464027 +0.3296 0.327707 0.342853 0.37504 0.424267 0.505053 0.567579 0.666105 +0.770316 0.862526 0.936421 0.986531 1.00514 1.00645 0.988816 0.938316 +0.880842 0.807579 0.707789 0.612421 0.539158 0.5 0.490533 0.518316 +0.534737 0.530316 0.522105 0.525895 0.554316 0.599158 0.644 0.673053 +0.687579 0.709053 0.721053 0.697053 0.66421 0.629474 0.585263 0.540421 +0.506947 0.445093 0.378827 0.35232 0.358 0.361787 0.350427 0.356107 +0.373147 0.376933 0.405333 0.479173 0.45456 0.407227 0.424267 0.40344 +0.354213 0.322027 0.310667 0.299307 0.303093 0.322027 0.337173 0.339067 +0.371253 0.44888 0.422373 0.350427 0.331493 0.342853 0.39208 0.433733 +0.399653 0.358 0.361787 0.359893 0.348533 0.342853 0.337173 0.314453 +0.314453 0.348533 0.382613 0.36936 0.344747 0.325813 0.3296 0.35232 +0.342853 0.331493 0.337173 0.344747 0.361787 0.3864 0.378827 0.359893 +0.36368 0.365573 0.373147 0.416693 0.517684 0.635158 0.832842 0.985551 +1.01853 1.03094 1.05151 1.07065 1.03192 1.00155 1.0009 1.0071 +1.00841 1.00841 1.00971 1.01004 1.01135 1.01102 1.01102 1.012 +1.012 1.01069 1.01102 1.01298 1.01167 1.01004 1.01167 1.01037 +1.00906 1.00841 1.00939 1.01069 1.012 1.00971 1.01135 1.012 +1.012 1.012 1.01167 1.01069 1.01069 1.01102 1.01004 1.0071 +1.00547 0.998939 0.98098 0.952211 0.942737 0.942737 0.942105 0.957263 +0.983592 0.982939 0.86 0.637053 0.475387 0.339067 0.240613 0.000833333 +0.000786667 0.00078 0.000793333 0.00078 0.00074 0.000746667 0.00072 0.000713333 +0.000733333 0.000713333 0.000726667 0.000746667 0.000693333 0.000706667 0.000693333 0.000666667 +0.00068 0.000706667 0.000726667 0.000726667 0.000713333 0.00072 0.00074 0.00072 +0.000706667 0.000713333 0.00072 0.000693333 0.000686667 0.000686667 0.000673333 0.000673333 +0.000693333 0.000706667 0.000686667 0.00066 0.000666667 0.000646667 0.000673333 0.000673333 +0.000693333 0.000693333 0.000753333 0.242507 0.26712 0.000886667 0.00078 0.000813333 +0.000886667 0.246293 0.3296 0.367467 0.337173 0.333387 0.322027 0.219787 +0.000826667 0.00096 0.322027 0.401547 0.514526 0.700842 0.923158 0.992408 +0.981633 0.950316 0.944 0.953474 0.965474 0.978737 0.993388 1.00743 +1.01167 1.01167 1.01037 1.012 1.01396 1.01265 1.00873 0.997633 +0.996653 1.00678 1.01167 1.01135 1.01167 1.01069 1.01167 1.00939 +1.00841 1.00743 1.00514 1.00678 1.00743 1.00482 1.00155 0.997633 +0.992735 0.984245 0.971789 0.975579 0.969263 0.914316 0.810105 0.670526 +0.546105 0.469707 0.435627 0.422373 0.429947 0.44888 0.43184 0.3864 +0.356107 0.36368 0.376933 0.361787 0.342853 0.350427 0.37504 0.359893 +0.361787 0.3864 0.365573 0.344747 0.342853 0.331493 0.320133 0.3296 +0.342853 0.34096 0.34096 0.376933 0.42048 0.390187 0.33528 0.325813 +0.33528 0.331493 0.327707 0.327707 0.37504 0.4148 0.38072 0.382613 +0.393973 0.367467 0.339067 0.34096 0.359893 0.350427 0.3296 0.320133 +0.30688 0.320133 0.339067 0.327707 0.314453 0.320133 0.33528 0.342853 +0.342853 0.350427 0.359893 0.356107 0.31824 0.3012 0.31256 0.325813 +0.33528 0.350427 0.354213 0.339067 0.320133 0.308773 0.308773 0.316347 +0.32392 0.32392 0.316347 0.331493 0.373147 0.416693 0.40344 0.388293 +0.42048 0.481067 0.512632 0.530316 0.564421 0.635158 0.710947 0.721053 +0.676211 0.637684 0.618105 0.608 0.597895 0.576421 0.542947 0.524 +0.527789 0.535368 0.533474 0.553684 0.551158 0.441307 0.331493 0.31824 +0.322027 0.373147 0.441307 0.42616 0.393973 0.388293 0.407227 0.39776 +0.3864 0.373147 0.42048 0.527789 0.585263 0.666737 0.771579 0.757053 +0.658526 0.569474 0.501263 0.441307 0.433733 0.416693 0.412907 0.407227 +0.399653 0.401547 0.456453 0.558105 0.607368 0.552421 0.48864 0.4716 +0.505053 0.527789 0.554947 0.553053 0.518316 0.496213 0.5 0.518947 +0.531579 0.543579 0.563789 0.554947 0.540421 0.554316 0.558105 0.537263 +0.516421 0.503789 0.503789 0.496213 0.484853 0.501895 0.516421 0.547368 +0.595368 0.674947 0.784842 0.894737 0.967368 0.987837 0.979368 0.954105 +0.940211 0.936421 0.937053 0.931368 0.92821 0.92821 0.921263 0.919368 +0.919368 0.911158 0.910526 0.922526 0.919368 0.921895 0.941474 0.962947 +0.99502 1.01069 1.02049 1.01755 1.02082 1.02669 1.0218 1.01951 +1.02408 1.02702 1.02637 1.02669 1.02343 1.02473 1.02637 1.03061 +1.03094 1.03192 1.03322 1.03127 1.03094 1.03584 1.0342 1.02963 +1.03127 1.0342 1.0342 1.0342 1.03649 1.03878 1.03061 1.01363 +0.995673 0.952842 0.811368 0.630105 0.544842 0.524632 0.510737 0.501263 +0.512632 0.525895 0.513263 0.492427 0.469707 0.4716 0.481067 0.503158 +0.501895 0.469707 0.4432 0.441307 0.517053 0.587789 0.647158 0.668632 +0.68 0.721053 0.764632 0.807579 0.852421 0.801895 0.631368 0.48296 +0.34664 0.367467 0.39208 0.376933 0.373147 0.407227 0.503789 0.575158 +0.676211 0.782316 0.875158 0.950316 0.993061 1.00057 0.978737 0.880842 +0.786105 0.728 0.681895 0.632 0.577684 0.537263 0.518947 0.517684 +0.513895 0.5 0.47728 0.46024 0.45456 0.462133 0.498107 0.518316 +0.542316 0.575789 0.606105 0.614316 0.624421 0.633263 0.621263 0.589053 +0.548 0.505684 0.412907 0.367467 0.365573 0.356107 0.354213 0.356107 +0.354213 0.371253 0.435627 0.48864 0.418587 0.373147 0.39208 0.384507 +0.35232 0.31824 0.310667 0.304987 0.304987 0.31824 0.32392 0.33528 +0.367467 0.435627 0.429947 0.371253 0.344747 0.367467 0.39776 0.390187 +0.36368 0.359893 0.384507 0.38072 0.356107 0.34664 0.342853 0.333387 +0.33528 0.36936 0.393973 0.36368 0.342853 0.331493 0.354213 0.401547 +0.376933 0.337173 0.333387 0.33528 0.34096 0.348533 0.35232 0.365573 +0.378827 0.38072 0.388293 0.42616 0.529053 0.673684 0.875789 0.994694 +1.01951 1.03388 1.0551 1.04955 1.01331 0.996 0.998286 1.00449 +1.00776 1.00776 1.01069 1.01233 1.01265 1.01135 1.01102 1.012 +1.012 1.01167 1.01298 1.01233 1.00808 1.00645 1.00939 1.01102 +1.01135 1.00971 1.01069 1.01102 1.01069 1.00939 1.01102 1.012 +1.012 1.01004 1.00971 1.01102 1.01037 1.01004 1.01135 1.00808 +0.999918 0.989143 0.968 0.952211 0.948421 0.944632 0.947789 0.964842 +0.986531 0.954737 0.780421 0.569474 0.411013 0.30688 0.217893 0.000826667 +0.000766667 0.00074 0.000726667 0.000746667 0.00072 0.00074 0.000753333 0.000753333 +0.00078 0.00078 0.000773333 0.000766667 0.0007 0.000713333 0.0007 0.000673333 +0.000686667 0.00068 0.000693333 0.000706667 0.000693333 0.0007 0.000706667 0.0007 +0.000686667 0.000713333 0.000733333 0.0007 0.0007 0.0007 0.00072 0.000713333 +0.000693333 0.0007 0.0007 0.000713333 0.000693333 0.00066 0.000646667 0.000653333 +0.000673333 0.00066 0.000773333 0.23872 0.259547 0.000866667 0.000746667 0.00076 +0.000773333 0.000893333 0.22736 0.265227 0.276587 0.31256 0.34096 0.248187 +0.000866667 0.000986667 0.3296 0.371253 0.458347 0.651579 0.886526 0.989469 +0.983592 0.955368 0.946526 0.953474 0.962947 0.974947 0.993061 1.00743 +1.01233 1.01331 1.01069 1.01265 1.01331 1.01298 1.00939 0.997959 +0.992735 1.00024 1.01037 1.01167 1.01135 1.01102 1.01135 1.00971 +1.01004 1.00906 1.00612 1.00678 1.00678 1.00514 1.00122 0.996 +0.993388 0.984245 0.971789 0.978737 0.977474 0.932 0.838526 0.704 +0.568211 0.481067 0.422373 0.424267 0.445093 0.439413 0.428053 0.407227 +0.376933 0.38072 0.393973 0.371253 0.348533 0.34664 0.378827 0.37504 +0.361787 0.38072 0.376933 0.359893 0.348533 0.337173 0.325813 0.3296 +0.344747 0.344747 0.333387 0.354213 0.407227 0.39208 0.339067 0.337173 +0.337173 0.325813 0.325813 0.325813 0.356107 0.418587 0.439413 0.441307 +0.418587 0.367467 0.342853 0.3296 0.344747 0.344747 0.337173 0.33528 +0.316347 0.325813 0.344747 0.327707 0.31824 0.327707 0.31824 0.316347 +0.331493 0.359893 0.36936 0.350427 0.322027 0.316347 0.327707 0.331493 +0.34096 0.354213 0.36936 0.365573 0.33528 0.320133 0.31824 0.31256 +0.316347 0.316347 0.316347 0.320133 0.36936 0.469707 0.475387 0.422373 +0.429947 0.475387 0.517684 0.554316 0.626316 0.716 0.736842 0.657895 +0.568211 0.522737 0.504421 0.511368 0.528421 0.530316 0.525263 0.527789 +0.534105 0.523368 0.48296 0.49432 0.515789 0.45456 0.356107 0.31824 +0.322027 0.348533 0.382613 0.359893 0.344747 0.358 0.38072 0.36936 +0.36368 0.3864 0.509474 0.583368 0.610526 0.645895 0.700211 0.683158 +0.640211 0.585895 0.510105 0.428053 0.418587 0.395867 0.37504 0.371253 +0.38072 0.393973 0.452667 0.562526 0.617474 0.573263 0.534105 0.553053 +0.590316 0.618737 0.632 0.604842 0.556842 0.524 0.518947 0.532842 +0.530947 0.534105 0.535368 0.510105 0.450773 0.433733 0.479173 0.507579 +0.501895 0.479173 0.486747 0.473493 0.475387 0.501263 0.521474 0.578947 +0.676211 0.810737 0.937053 0.995673 1.01167 1.01396 1.00188 0.985551 +0.967368 0.959158 0.950316 0.938316 0.933895 0.930105 0.925684 0.924421 +0.925684 0.918105 0.916211 0.926316 0.918105 0.921263 0.934526 0.949053 +0.985551 1.00253 1.01331 1.01559 1.02441 1.02669 1.02343 1.02441 +1.02376 1.02637 1.02931 1.02767 1.02571 1.02408 1.02833 1.0329 +1.02898 1.03029 1.03388 1.03159 1.02996 1.03388 1.03127 1.02963 +1.0329 1.03453 1.03453 1.03453 1.03649 1.03649 1.02571 1.00906 +0.98751 0.92821 0.784842 0.618737 0.546105 0.532211 0.531579 0.540421 +0.553684 0.536 0.508842 0.501895 0.486747 0.48296 0.48296 0.4716 +0.46592 0.45456 0.4432 0.490533 0.553684 0.616211 0.639579 0.608 +0.575158 0.606105 0.663579 0.753263 0.846105 0.801895 0.642737 0.517053 +0.3864 0.401547 0.445093 0.411013 0.361787 0.37504 0.429947 0.506947 +0.567579 0.662316 0.757053 0.840421 0.918105 0.964842 0.954737 0.856211 +0.720421 0.631368 0.592211 0.569474 0.555579 0.548 0.536632 0.522737 +0.507579 0.47728 0.446987 0.416693 0.412907 0.405333 0.39776 0.418587 +0.458347 0.504421 0.523368 0.529053 0.544211 0.577684 0.597895 0.592211 +0.570737 0.536632 0.498107 0.416693 0.38072 0.365573 0.361787 0.34096 +0.325813 0.36368 0.446987 0.46024 0.367467 0.333387 0.344747 0.35232 +0.337173 0.31256 0.314453 0.31824 0.320133 0.322027 0.322027 0.33528 +0.35232 0.39208 0.416693 0.393973 0.367467 0.382613 0.388293 0.365573 +0.358 0.38072 0.435627 0.439413 0.39208 0.35232 0.339067 0.354213 +0.382613 0.407227 0.3864 0.33528 0.322027 0.32392 0.37504 0.456453 +0.424267 0.344747 0.333387 0.350427 0.342853 0.34096 0.350427 0.37504 +0.395867 0.40344 0.405333 0.445093 0.553053 0.722316 0.916842 1.00253 +1.02016 1.03714 1.05216 1.02963 0.996653 0.990776 0.995673 1.00318 +1.00645 1.0071 1.01069 1.012 1.01135 1.00971 1.01004 1.01102 +1.01102 1.01331 1.01494 1.01069 1.0071 1.00482 1.00612 1.01004 +1.00971 1.00939 1.01069 1.01167 1.01135 1.00906 1.01102 1.01265 +1.01331 1.01037 1.00743 1.01167 1.012 1.01037 1.01004 1.00678 +0.995347 0.980653 0.958526 0.954105 0.954105 0.947789 0.956 0.98 +0.985878 0.901053 0.692 0.518316 0.371253 0.26712 0.00088 0.000806667 +0.000786667 0.000773333 0.000746667 0.00076 0.000753333 0.000766667 0.00078 0.000766667 +0.000773333 0.000753333 0.000733333 0.00074 0.000686667 0.000693333 0.0007 0.0007 +0.0007 0.000693333 0.000706667 0.000693333 0.000686667 0.000713333 0.000713333 0.000693333 +0.000686667 0.000713333 0.000693333 0.000653333 0.000673333 0.000666667 0.0007 0.000693333 +0.000693333 0.000706667 0.000706667 0.000713333 0.00072 0.000706667 0.000673333 0.000693333 +0.000686667 0.000666667 0.000766667 0.246293 0.2728 0.000873333 0.000726667 0.000713333 +0.00074 0.0008 0.00084 0.000913333 0.00098 0.280373 0.3296 0.248187 +0.000893333 0.22168 0.3296 0.34096 0.393973 0.604842 0.845474 0.985551 +0.985878 0.958526 0.947158 0.949684 0.954737 0.970526 0.991429 1.00612 +1.01233 1.01298 1.01265 1.01461 1.01429 1.01298 1.00906 1.00188 +0.993714 0.996653 1.00841 1.01069 1.01069 1.01037 1.01069 1.01069 +1.01037 1.00971 1.00678 1.00482 1.00514 1.00612 1.00122 0.996653 +0.993714 0.984571 0.978737 0.980327 0.980327 0.956632 0.875158 0.745053 +0.602316 0.507579 0.424267 0.418587 0.429947 0.411013 0.401547 0.395867 +0.40344 0.428053 0.428053 0.40912 0.399653 0.38072 0.4148 0.441307 +0.405333 0.39776 0.424267 0.40912 0.36368 0.354213 0.350427 0.34096 +0.350427 0.36368 0.35232 0.367467 0.433733 0.452667 0.4148 0.3864 +0.36368 0.34664 0.33528 0.32392 0.34664 0.40912 0.464027 0.45456 +0.39776 0.354213 0.339067 0.333387 0.350427 0.350427 0.350427 0.344747 +0.327707 0.33528 0.331493 0.316347 0.327707 0.337173 0.320133 0.316347 +0.337173 0.356107 0.356107 0.342853 0.333387 0.337173 0.337173 0.333387 +0.331493 0.33528 0.36368 0.382613 0.342853 0.31824 0.327707 0.331493 +0.320133 0.316347 0.322027 0.325813 0.354213 0.446987 0.46592 0.416693 +0.428053 0.509474 0.565684 0.636421 0.719158 0.755158 0.693263 0.584 +0.515789 0.4716 0.44888 0.505053 0.535368 0.546737 0.548 0.548632 +0.535368 0.49432 0.382613 0.378827 0.418587 0.407227 0.367467 0.337173 +0.325813 0.3296 0.32392 0.333387 0.34664 0.358 0.367467 0.35232 +0.35232 0.441307 0.570737 0.629474 0.594737 0.591579 0.623789 0.631368 +0.640211 0.613684 0.530947 0.435627 0.39776 0.390187 0.382613 0.371253 +0.371253 0.3864 0.45456 0.577684 0.667368 0.661053 0.628842 0.637684 +0.651579 0.640842 0.617474 0.582737 0.537263 0.502526 0.496213 0.503789 +0.49432 0.508211 0.515789 0.506947 0.469707 0.43184 0.464027 0.508211 +0.510105 0.503158 0.505684 0.502526 0.502526 0.508211 0.542316 0.638947 +0.793053 0.941474 1.00286 1.01592 1.0218 1.02147 1.01331 1.00024 +0.984245 0.971789 0.955368 0.942737 0.936421 0.932 0.92821 0.929474 +0.937684 0.931368 0.925053 0.925053 0.918737 0.925053 0.933263 0.939579 +0.971158 0.995347 1.00612 1.01396 1.02343 1.02506 1.02604 1.02735 +1.02082 1.02669 1.03192 1.02571 1.02637 1.02473 1.02767 1.0329 +1.02637 1.03029 1.03355 1.03094 1.03224 1.0342 1.0329 1.03127 +1.03486 1.03355 1.03388 1.03551 1.03453 1.03257 1.02016 0.999592 +0.971789 0.899789 0.752 0.598526 0.539158 0.537263 0.580842 0.628211 +0.616211 0.559368 0.524632 0.512632 0.484853 0.479173 0.48864 0.467813 +0.462133 0.46592 0.492427 0.533474 0.59979 0.642737 0.621263 0.552421 +0.509474 0.532842 0.623158 0.772842 0.865684 0.796842 0.661053 0.556211 +0.462133 0.401547 0.445093 0.44888 0.39208 0.384507 0.42048 0.43184 +0.48864 0.553053 0.626316 0.702737 0.782947 0.854316 0.888421 0.829684 +0.690105 0.581474 0.530316 0.505684 0.49432 0.507579 0.525263 0.525895 +0.503789 0.452667 0.433733 0.411013 0.418587 0.439413 0.4432 0.441307 +0.435627 0.441307 0.4432 0.418587 0.43184 0.508842 0.537895 0.549263 +0.551789 0.544211 0.525895 0.503158 0.446987 0.399653 0.359893 0.32392 +0.320133 0.367467 0.43184 0.412907 0.361787 0.34096 0.33528 0.333387 +0.32392 0.303093 0.304987 0.322027 0.34664 0.356107 0.339067 0.327707 +0.331493 0.354213 0.388293 0.39776 0.384507 0.390187 0.384507 0.365573 +0.356107 0.365573 0.422373 0.445093 0.40344 0.361787 0.348533 0.36368 +0.39208 0.40912 0.371253 0.333387 0.325813 0.32392 0.373147 0.473493 +0.462133 0.371253 0.34664 0.36368 0.344747 0.337173 0.350427 0.390187 +0.4148 0.412907 0.4148 0.486747 0.587789 0.769053 0.945263 1.00645 +1.02114 1.0391 1.04106 1.00939 0.987184 0.988816 0.996653 1.00286 +1.00449 1.00449 1.00841 1.01069 1.012 1.01069 1.01167 1.01233 +1.01167 1.01233 1.01167 1.00645 1.00318 1.00384 1.00514 1.00776 +1.01004 1.01102 1.01004 1.01135 1.01233 1.01167 1.01069 1.00873 +1.01037 1.01004 1.0071 1.01037 1.01037 1.00971 1.00743 1.0022 +0.989796 0.973684 0.956 0.951579 0.951579 0.952211 0.968 0.986204 +0.968 0.820211 0.608 0.450773 0.331493 0.234933 0.00082 0.000786667 +0.0008 0.000793333 0.000773333 0.00078 0.00078 0.00076 0.000753333 0.000746667 +0.000746667 0.000733333 0.00072 0.000733333 0.00068 0.000686667 0.000713333 0.000713333 +0.00072 0.000706667 0.00072 0.0007 0.000693333 0.000706667 0.000713333 0.000686667 +0.00066 0.000686667 0.000686667 0.000693333 0.000713333 0.000706667 0.000713333 0.00068 +0.0007 0.000713333 0.00068 0.000666667 0.000686667 0.000713333 0.000706667 0.000713333 +0.0007 0.000686667 0.00078 0.248187 0.280373 0.00098 0.000793333 0.00074 +0.00076 0.000766667 0.000766667 0.000813333 0.000906667 0.27848 0.325813 0.23872 +0.000866667 0.242507 0.331493 0.30688 0.333387 0.562526 0.798737 0.976842 +0.989796 0.961684 0.947158 0.947789 0.950316 0.966737 0.988816 1.00514 +1.01233 1.01331 1.012 1.01233 1.01331 1.01233 1.00808 1.00482 +0.996327 0.995347 1.00514 1.01102 1.01135 1.01037 1.012 1.012 +1.01069 1.00939 1.0071 1.00482 1.00514 1.00514 1.0009 0.997959 +0.994694 0.986531 0.981959 0.981306 0.982286 0.975579 0.914316 0.788 +0.636421 0.527789 0.4432 0.416693 0.4148 0.39208 0.382613 0.382613 +0.418587 0.450773 0.452667 0.469707 0.490533 0.475387 0.496213 0.518947 +0.513263 0.502526 0.503158 0.481067 0.412907 0.36936 0.365573 0.359893 +0.384507 0.405333 0.418587 0.46024 0.513263 0.534105 0.538526 0.521474 +0.48296 0.43184 0.39776 0.378827 0.384507 0.40344 0.44888 0.4432 +0.376933 0.333387 0.325813 0.33528 0.354213 0.344747 0.350427 0.354213 +0.339067 0.342853 0.32392 0.304987 0.327707 0.356107 0.35232 0.342853 +0.34096 0.342853 0.339067 0.342853 0.34664 0.354213 0.348533 0.337173 +0.339067 0.339067 0.359893 0.356107 0.322027 0.31256 0.337173 0.344747 +0.333387 0.333387 0.34096 0.344747 0.365573 0.40912 0.424267 0.439413 +0.520211 0.597895 0.675579 0.729263 0.740632 0.700842 0.624421 0.547368 +0.510737 0.504421 0.522105 0.564421 0.594105 0.584632 0.561263 0.536632 +0.504421 0.405333 0.344747 0.33528 0.337173 0.34664 0.36368 0.358 +0.348533 0.354213 0.367467 0.39208 0.39776 0.39776 0.388293 0.359893 +0.359893 0.500632 0.625053 0.646526 0.552421 0.524632 0.544842 0.576421 +0.628211 0.634526 0.558737 0.501895 0.445093 0.428053 0.435627 0.418587 +0.407227 0.412907 0.48864 0.614316 0.762105 0.784211 0.705895 0.646526 +0.612421 0.572 0.538526 0.523368 0.5 0.433733 0.452667 0.467813 +0.446987 0.456453 0.47728 0.502526 0.502526 0.467813 0.473493 0.509474 +0.524632 0.522737 0.520842 0.521474 0.516421 0.524632 0.601053 0.748211 +0.904211 0.996 1.01657 1.01788 1.02212 1.02441 1.02049 1.00971 +0.991102 0.972421 0.955368 0.949684 0.940842 0.938947 0.932632 0.935789 +0.945263 0.942737 0.940211 0.930105 0.919368 0.927579 0.935789 0.938947 +0.953474 0.985551 0.996653 1.00841 1.02147 1.02669 1.02865 1.02571 +1.02016 1.02604 1.03061 1.02343 1.02571 1.02604 1.028 1.02865 +1.02604 1.03094 1.0329 1.03029 1.03322 1.03192 1.0342 1.03257 +1.0342 1.03322 1.0342 1.03616 1.03094 1.02506 1.00971 0.98751 +0.947158 0.866316 0.702105 0.557474 0.518316 0.539158 0.609263 0.641474 +0.592211 0.546737 0.533474 0.515789 0.46592 0.452667 0.46024 0.450773 +0.45456 0.496213 0.541053 0.618105 0.667368 0.651579 0.584 0.513263 +0.46024 0.527158 0.664842 0.817684 0.834737 0.738105 0.656632 0.599158 +0.525895 0.422373 0.418587 0.46592 0.43184 0.401547 0.40912 0.388293 +0.40912 0.48296 0.536 0.604211 0.684421 0.757053 0.807579 0.794316 +0.688211 0.570105 0.510105 0.458347 0.412907 0.407227 0.464027 0.506947 +0.498107 0.445093 0.428053 0.429947 0.44888 0.503789 0.519579 0.506947 +0.44888 0.405333 0.378827 0.36368 0.356107 0.40344 0.452667 0.484853 +0.509474 0.523368 0.527158 0.518947 0.503158 0.456453 0.390187 0.342853 +0.342853 0.37504 0.393973 0.371253 0.359893 0.34664 0.333387 0.3296 +0.320133 0.30688 0.303093 0.32392 0.34664 0.358 0.337173 0.327707 +0.331493 0.34664 0.378827 0.39208 0.367467 0.358 0.36368 0.37504 +0.36936 0.359893 0.38072 0.382613 0.35232 0.339067 0.333387 0.34664 +0.37504 0.401547 0.384507 0.35232 0.331493 0.333387 0.361787 0.424267 +0.429947 0.378827 0.36368 0.378827 0.361787 0.358 0.365573 0.388293 +0.411013 0.40912 0.42048 0.510105 0.625053 0.813263 0.968 1.00808 +1.02376 1.0378 1.0218 0.991429 0.984245 0.988816 0.995673 1.00122 +1.00482 1.00612 1.00939 1.01037 1.01167 1.01298 1.01167 1.01037 +1.01102 1.01102 1.00841 1.00416 1.00416 1.00645 1.00873 1.01004 +1.01135 1.01069 1.00808 1.01037 1.01167 1.01233 1.00971 1.0071 +1.00873 1.00971 1.00939 1.01102 1.00939 1.00841 1.0058 0.99698 +0.98 0.959789 0.954105 0.949684 0.946526 0.957263 0.982612 0.98849 +0.916211 0.719789 0.541684 0.393973 0.286053 0.000933333 0.00082 0.000813333 +0.0008 0.000793333 0.000773333 0.000766667 0.00078 0.000753333 0.00074 0.000726667 +0.000713333 0.000733333 0.00074 0.000726667 0.000706667 0.000753333 0.00076 0.00074 +0.00074 0.0007 0.000713333 0.00072 0.000706667 0.000693333 0.000693333 0.00068 +0.000646667 0.00066 0.000666667 0.000686667 0.0007 0.000713333 0.000706667 0.000686667 +0.00072 0.0007 0.000693333 0.000706667 0.000706667 0.0007 0.000693333 0.0007 +0.000673333 0.000693333 0.000746667 0.219787 0.27848 0.23872 0.000866667 0.000753333 +0.000746667 0.000733333 0.000773333 0.000826667 0.00094 0.293627 0.325813 0.229253 +0.00088 0.263333 0.337173 0.286053 0.291733 0.527158 0.748211 0.953474 +0.991102 0.968632 0.949053 0.944 0.946526 0.963579 0.987184 1.00384 +1.01135 1.01265 1.00971 1.00873 1.01233 1.012 1.00808 1.00645 +1.00155 0.996327 1.0009 1.01004 1.01069 1.01004 1.01069 1.01102 +1.01037 1.00906 1.00971 1.00808 1.00678 1.00678 1.00351 1.00057 +0.99502 0.984898 0.978105 0.981959 0.982939 0.981633 0.941474 0.822737 +0.664842 0.541053 0.458347 0.42616 0.424267 0.40912 0.40344 0.422373 +0.45456 0.469707 0.469707 0.496213 0.505684 0.498107 0.498107 0.520842 +0.525895 0.516421 0.510737 0.506947 0.484853 0.43752 0.424267 0.43184 +0.464027 0.49432 0.510737 0.525263 0.542947 0.569474 0.597263 0.587789 +0.552421 0.536632 0.523368 0.512 0.506316 0.486747 0.479173 0.462133 +0.399653 0.34664 0.331493 0.342853 0.344747 0.333387 0.34096 0.356107 +0.350427 0.344747 0.314453 0.304987 0.316347 0.339067 0.358 0.36936 +0.376933 0.378827 0.356107 0.35232 0.371253 0.39208 0.378827 0.356107 +0.350427 0.35232 0.359893 0.33528 0.310667 0.308773 0.331493 0.344747 +0.34664 0.348533 0.344747 0.34096 0.36368 0.4148 0.47728 0.544211 +0.645895 0.748211 0.793684 0.779789 0.722316 0.653474 0.587158 0.539789 +0.529053 0.549263 0.608 0.651579 0.633263 0.582105 0.534737 0.498107 +0.424267 0.376933 0.35232 0.33528 0.325813 0.342853 0.395867 0.42616 +0.424267 0.422373 0.433733 0.418587 0.384507 0.38072 0.373147 0.359893 +0.365573 0.515158 0.650316 0.635158 0.514526 0.424267 0.439413 0.510737 +0.584632 0.637684 0.582737 0.520211 0.501895 0.48296 0.479173 0.498107 +0.507579 0.512 0.549895 0.679368 0.826526 0.818947 0.683789 0.577684 +0.535368 0.505053 0.464027 0.46024 0.4432 0.435627 0.467813 0.464027 +0.43184 0.43752 0.4432 0.481067 0.504421 0.500632 0.48296 0.498107 +0.515789 0.517053 0.515158 0.523368 0.531579 0.580842 0.712211 0.867579 +0.966105 1.00547 1.01886 1.01755 1.02212 1.02539 1.02245 1.00873 +0.990449 0.968 0.954105 0.950947 0.945263 0.946526 0.937053 0.945263 +0.953474 0.952211 0.955368 0.944 0.927579 0.932 0.940211 0.944632 +0.946526 0.970526 0.985878 0.999265 1.01396 1.02637 1.028 1.02571 +1.02441 1.02571 1.02735 1.02506 1.02637 1.028 1.02571 1.02473 +1.02702 1.03257 1.03257 1.02996 1.03159 1.03061 1.03551 1.03453 +1.03159 1.03061 1.03159 1.0329 1.02408 1.01298 0.995673 0.969895 +0.924421 0.825895 0.648421 0.525895 0.510105 0.526526 0.561263 0.56 +0.525263 0.518947 0.521474 0.504421 0.452667 0.441307 0.435627 0.429947 +0.43752 0.508842 0.609263 0.727368 0.715368 0.616842 0.536632 0.475387 +0.5 0.591579 0.729263 0.765895 0.700211 0.630737 0.612421 0.616842 +0.559368 0.46024 0.411013 0.467813 0.473493 0.435627 0.411013 0.378827 +0.39208 0.412907 0.462133 0.539789 0.622526 0.707789 0.769684 0.783579 +0.716632 0.602947 0.517684 0.439413 0.407227 0.399653 0.422373 0.46592 +0.469707 0.439413 0.42048 0.43184 0.44888 0.500632 0.520842 0.510105 +0.435627 0.384507 0.373147 0.365573 0.359893 0.36936 0.382613 0.39208 +0.428053 0.5 0.518316 0.523368 0.515789 0.500632 0.4432 0.395867 +0.384507 0.3864 0.373147 0.36368 0.376933 0.358 0.331493 0.31256 +0.299307 0.308773 0.320133 0.3296 0.337173 0.333387 0.320133 0.327707 +0.344747 0.373147 0.395867 0.382613 0.35232 0.333387 0.342853 0.361787 +0.361787 0.367467 0.3864 0.361787 0.327707 0.314453 0.320133 0.339067 +0.371253 0.407227 0.39776 0.361787 0.331493 0.33528 0.354213 0.376933 +0.371253 0.344747 0.361787 0.39208 0.388293 0.382613 0.399653 0.405333 +0.399653 0.39776 0.439413 0.536632 0.668632 0.843579 0.975579 1.00841 +1.02408 1.02669 0.999592 0.98 0.985224 0.991429 0.995673 0.998939 +1.0058 1.00776 1.00971 1.00906 1.01069 1.012 1.01037 1.01069 +1.01069 1.01037 1.00808 1.00514 1.00645 1.00906 1.01069 1.01167 +1.01135 1.00873 1.00678 1.01102 1.01135 1.01037 1.00939 1.01004 +1.00971 1.00971 1.00971 1.00971 1.00841 1.00612 0.998612 0.986857 +0.967368 0.954737 0.954105 0.949053 0.948421 0.967368 0.987837 0.976842 +0.830316 0.616211 0.479173 0.358 0.246293 0.00088 0.000853333 0.00086 +0.00084 0.000813333 0.000793333 0.00076 0.000746667 0.000726667 0.000733333 0.000746667 +0.000713333 0.000733333 0.000746667 0.0007 0.000733333 0.000773333 0.00078 0.000766667 +0.00076 0.000726667 0.000746667 0.000733333 0.0007 0.000693333 0.000713333 0.000713333 +0.00068 0.000673333 0.000666667 0.000686667 0.000666667 0.000673333 0.00066 0.00068 +0.00072 0.000706667 0.000713333 0.000706667 0.0007 0.00068 0.000706667 0.000693333 +0.000693333 0.000706667 0.00074 0.00096 0.259547 0.25576 0.000966667 0.00082 +0.000773333 0.00076 0.000813333 0.000853333 0.216 0.303093 0.304987 0.000973333 +0.00094 0.291733 0.333387 0.26712 0.259547 0.486747 0.695789 0.92379 +0.992408 0.98098 0.954737 0.944 0.944 0.958526 0.983265 0.999265 +1.01069 1.01102 1.00808 1.00776 1.01102 1.01167 1.00841 1.00808 +1.00645 0.998612 0.998939 1.00841 1.01004 1.01037 1.00873 1.00971 +1.01069 1.01004 1.01037 1.00776 1.00645 1.00841 1.0058 1.00416 +0.997959 0.985878 0.976842 0.98098 0.984245 0.984571 0.957263 0.856842 +0.702105 0.558105 0.4716 0.428053 0.418587 0.416693 0.435627 0.46592 +0.48296 0.479173 0.45456 0.458347 0.456453 0.42048 0.407227 0.439413 +0.439413 0.43184 0.435627 0.45456 0.47728 0.492427 0.508211 0.517684 +0.527158 0.531579 0.533474 0.533474 0.532842 0.546105 0.566947 0.562526 +0.548632 0.551789 0.549263 0.547368 0.547368 0.536632 0.527158 0.519579 +0.501263 0.445093 0.405333 0.384507 0.361787 0.34096 0.35232 0.367467 +0.356107 0.33528 0.31256 0.316347 0.333387 0.348533 0.35232 0.356107 +0.378827 0.401547 0.37504 0.358 0.37504 0.416693 0.416693 0.376933 +0.354213 0.344747 0.34664 0.339067 0.320133 0.32392 0.337173 0.361787 +0.36936 0.344747 0.327707 0.325813 0.356107 0.452667 0.549895 0.666105 +0.794947 0.870105 0.868842 0.818316 0.745053 0.665474 0.592842 0.56 +0.573895 0.618105 0.681263 0.675579 0.598526 0.532211 0.479173 0.405333 +0.36936 0.348533 0.337173 0.33528 0.337173 0.393973 0.47728 0.501895 +0.469707 0.4148 0.390187 0.373147 0.350427 0.342853 0.348533 0.35232 +0.36936 0.534105 0.667368 0.620632 0.464027 0.33528 0.31824 0.37504 +0.537895 0.642737 0.611789 0.525263 0.490533 0.4716 0.475387 0.504421 +0.520211 0.540421 0.594737 0.692632 0.770947 0.738737 0.627579 0.542316 +0.506947 0.450773 0.424267 0.42616 0.4148 0.422373 0.445093 0.43184 +0.428053 0.462133 0.48296 0.490533 0.49432 0.48864 0.47728 0.46024 +0.492427 0.505053 0.506947 0.515789 0.551789 0.669895 0.827789 0.935158 +0.983265 1.00547 1.01788 1.01918 1.02408 1.02441 1.01461 0.996 +0.983265 0.966737 0.959789 0.958526 0.962316 0.962316 0.957263 0.968 +0.974947 0.974316 0.973684 0.966105 0.956632 0.956632 0.951579 0.947158 +0.945263 0.957263 0.969895 0.987837 1.00122 1.01527 1.02376 1.02702 +1.02702 1.02245 1.02408 1.02669 1.02735 1.02898 1.02637 1.02245 +1.02735 1.03159 1.03224 1.028 1.03127 1.03257 1.03616 1.03551 +1.03029 1.02702 1.02898 1.02637 1.01396 1.00155 0.982286 0.944 +0.904842 0.784842 0.604211 0.513895 0.506316 0.505053 0.505053 0.5 +0.475387 0.492427 0.505053 0.479173 0.445093 0.435627 0.43184 0.439413 +0.456453 0.525263 0.638316 0.742526 0.678737 0.56 0.500632 0.475387 +0.548632 0.662947 0.697684 0.607368 0.538526 0.522105 0.557474 0.613684 +0.580211 0.501263 0.4148 0.450773 0.47728 0.47728 0.439413 0.3864 +0.39208 0.393973 0.4148 0.486747 0.564421 0.662947 0.748842 0.787368 +0.763368 0.68 0.569474 0.481067 0.407227 0.418587 0.450773 0.464027 +0.458347 0.42616 0.39776 0.399653 0.412907 0.43184 0.475387 0.492427 +0.46024 0.412907 0.393973 0.382613 0.37504 0.36368 0.371253 0.36936 +0.378827 0.439413 0.49432 0.508842 0.510105 0.498107 0.46024 0.429947 +0.42616 0.424267 0.401547 0.393973 0.399653 0.382613 0.350427 0.32392 +0.30688 0.322027 0.33528 0.331493 0.327707 0.325813 0.314453 0.3296 +0.356107 0.38072 0.3864 0.358 0.339067 0.327707 0.337173 0.34664 +0.34664 0.36936 0.401547 0.38072 0.348533 0.331493 0.322027 0.31824 +0.348533 0.411013 0.439413 0.407227 0.359893 0.34096 0.333387 0.333387 +0.337173 0.333387 0.358 0.390187 0.416693 0.433733 0.450773 0.43184 +0.40344 0.405333 0.4716 0.568842 0.714105 0.866316 0.973053 1.00906 +1.02245 1.00906 0.980653 0.968 0.985224 0.993388 0.997306 1.0009 +1.00482 1.0058 1.00906 1.01069 1.01298 1.01167 1.01004 1.01167 +1.01102 1.00873 1.00743 1.00678 1.00743 1.01037 1.01102 1.01135 +1.01167 1.01004 1.00841 1.01102 1.01004 1.00873 1.01004 1.00906 +1.00873 1.00971 1.00873 1.00743 1.0071 1.00318 0.991755 0.976842 +0.963579 0.956 0.947158 0.943368 0.954105 0.98 0.984898 0.915579 +0.725474 0.542316 0.40344 0.31824 0.219787 0.000853333 0.000826667 0.00082 +0.00082 0.000773333 0.00078 0.000773333 0.000753333 0.00074 0.00074 0.00076 +0.00074 0.00072 0.000726667 0.000706667 0.00068 0.000713333 0.000733333 0.000753333 +0.00074 0.000733333 0.000726667 0.000706667 0.000686667 0.0007 0.00074 0.00072 +0.0007 0.000713333 0.00072 0.000733333 0.000693333 0.000673333 0.000653333 0.000693333 +0.000706667 0.000706667 0.0007 0.000666667 0.00066 0.00068 0.000713333 0.000693333 +0.000713333 0.0007 0.000766667 0.000866667 0.229253 0.257653 0.234933 0.000973333 +0.0009 0.000866667 0.000866667 0.000926667 0.242507 0.3012 0.265227 0.000893333 +0.216 0.308773 0.316347 0.23304 0.229253 0.399653 0.639579 0.880842 +0.989469 0.985224 0.958526 0.947158 0.944632 0.956632 0.981633 0.99698 +1.00906 1.00971 1.00873 1.00971 1.01102 1.01135 1.00841 1.00808 +1.00808 0.999918 0.99502 1.0009 1.00776 1.01004 1.00906 1.00808 +1.01037 1.01167 1.00971 1.00776 1.00873 1.00841 1.00547 1.00384 +0.999592 0.990776 0.981959 0.98098 0.984245 0.983592 0.968632 0.893474 +0.750105 0.592842 0.503158 0.429947 0.407227 0.407227 0.418587 0.435627 +0.428053 0.412907 0.393973 0.39776 0.39776 0.373147 0.37504 0.38072 +0.36368 0.367467 0.378827 0.401547 0.43752 0.5 0.525263 0.531579 +0.530316 0.523368 0.508211 0.49432 0.475387 0.47728 0.48296 0.46592 +0.467813 0.496213 0.509474 0.524632 0.530947 0.531579 0.540421 0.548632 +0.543579 0.532211 0.513895 0.479173 0.4148 0.384507 0.40912 0.422373 +0.393973 0.367467 0.356107 0.359893 0.378827 0.3864 0.36368 0.342853 +0.339067 0.348533 0.33528 0.322027 0.350427 0.418587 0.42048 0.36936 +0.327707 0.322027 0.331493 0.325813 0.322027 0.3296 0.350427 0.416693 +0.44888 0.390187 0.34096 0.350427 0.424267 0.539789 0.652842 0.789895 +0.888421 0.920632 0.907368 0.866947 0.795579 0.705895 0.634526 0.613053 +0.632 0.656 0.656632 0.602316 0.527789 0.46024 0.405333 0.36936 +0.356107 0.354213 0.356107 0.342853 0.378827 0.503158 0.524632 0.498107 +0.405333 0.354213 0.33528 0.33528 0.34096 0.34096 0.354213 0.36368 +0.384507 0.549263 0.682526 0.627579 0.458347 0.3012 0.26712 0.3012 +0.520211 0.673684 0.665474 0.546737 0.501895 0.486747 0.48296 0.503789 +0.513263 0.525895 0.565053 0.612421 0.644 0.632632 0.575158 0.532211 +0.511368 0.47728 0.464027 0.446987 0.4148 0.405333 0.40344 0.42048 +0.46024 0.492427 0.502526 0.500632 0.48296 0.473493 0.484853 0.481067 +0.503158 0.512 0.515789 0.532842 0.620632 0.789263 0.914316 0.959158 +0.985224 1.00384 1.01624 1.01755 1.02147 1.01624 1.00253 0.991429 +0.991102 0.99502 0.996327 0.995347 0.996 0.994367 0.990449 0.988163 +0.990122 0.996 0.996 0.989143 0.988163 0.986531 0.98 0.962947 +0.951579 0.947789 0.947789 0.975579 0.991102 0.999592 1.01363 1.02441 +1.02604 1.01918 1.02016 1.02637 1.02408 1.02767 1.02637 1.02343 +1.02604 1.03127 1.03355 1.02767 1.03192 1.03388 1.03518 1.03388 +1.02931 1.02571 1.02539 1.01559 1.0009 0.989796 0.957895 0.923158 +0.889684 0.752632 0.577053 0.510737 0.500632 0.4716 0.441307 0.43752 +0.42048 0.45456 0.500632 0.473493 0.445093 0.42616 0.424267 0.446987 +0.484853 0.524632 0.593474 0.646526 0.597263 0.520842 0.475387 0.515158 +0.609263 0.680632 0.602947 0.446987 0.342853 0.367467 0.510737 0.599158 +0.603579 0.529684 0.4432 0.416693 0.435627 0.484853 0.49432 0.43184 +0.412907 0.40912 0.428053 0.45456 0.514526 0.589053 0.695158 0.773474 +0.793684 0.760211 0.666105 0.554947 0.46592 0.435627 0.462133 0.452667 +0.43752 0.401547 0.378827 0.393973 0.390187 0.390187 0.418587 0.46024 +0.486747 0.456453 0.416693 0.40344 0.390187 0.365573 0.359893 0.35232 +0.365573 0.412907 0.429947 0.445093 0.46024 0.446987 0.428053 0.43184 +0.45456 0.464027 0.4432 0.43184 0.435627 0.429947 0.416693 0.39776 +0.38072 0.38072 0.384507 0.36936 0.344747 0.337173 0.327707 0.35232 +0.382613 0.373147 0.350427 0.333387 0.331493 0.327707 0.34664 0.36368 +0.367467 0.393973 0.412907 0.38072 0.356107 0.34096 0.33528 0.325813 +0.342853 0.416693 0.492427 0.467813 0.39208 0.35232 0.327707 0.31824 +0.331493 0.350427 0.3864 0.43184 0.446987 0.441307 0.439413 0.42048 +0.411013 0.433733 0.508842 0.604211 0.755158 0.892211 0.980653 1.00808 +1.01102 0.98751 0.954737 0.964211 0.987184 0.99502 0.999918 1.00514 +1.0071 1.00547 1.00678 1.00841 1.012 1.01233 1.01069 1.01167 +1.012 1.00939 1.00873 1.00939 1.00873 1.01102 1.01167 1.01037 +1.00939 1.01069 1.00939 1.00808 1.00873 1.00906 1.01069 1.00906 +1.00939 1.00971 1.00841 1.0071 1.00514 0.997306 0.982939 0.965474 +0.959158 0.951579 0.940211 0.944 0.968 0.986857 0.966105 0.823368 +0.624421 0.498107 0.358 0.26144 0.000893333 0.00082 0.000786667 0.00076 +0.000773333 0.000766667 0.00078 0.000793333 0.000786667 0.000806667 0.000766667 0.000746667 +0.00076 0.00072 0.000706667 0.0007 0.000693333 0.000713333 0.000713333 0.000713333 +0.000686667 0.000686667 0.000686667 0.000686667 0.000706667 0.000706667 0.0007 0.00066 +0.000673333 0.000693333 0.000706667 0.000733333 0.000713333 0.0007 0.0007 0.000726667 +0.000713333 0.000706667 0.000686667 0.000673333 0.00068 0.0007 0.000706667 0.000713333 +0.000713333 0.000693333 0.000706667 0.000786667 0.000926667 0.236827 0.251973 0.23872 +0.217893 0.000973333 0.000966667 0.223573 0.259547 0.27848 0.22736 0.000893333 +0.231147 0.310667 0.293627 0.223573 0.219787 0.333387 0.585263 0.827789 +0.983592 0.988816 0.962316 0.947789 0.947158 0.957263 0.978105 0.995347 +1.00776 1.01102 1.01069 1.01135 1.012 1.01102 1.01037 1.012 +1.01069 1.00318 0.991755 0.993061 1.0022 1.00841 1.00906 1.00645 +1.0071 1.00939 1.00873 1.0071 1.00906 1.00873 1.00645 1.00318 +1.00155 0.996 0.984898 0.982939 0.987837 0.986531 0.98 0.921263 +0.794316 0.634526 0.520211 0.433733 0.405333 0.395867 0.399653 0.416693 +0.39776 0.38072 0.378827 0.371253 0.365573 0.365573 0.36936 0.371253 +0.373147 0.384507 0.411013 0.424267 0.42616 0.481067 0.515789 0.507579 +0.473493 0.439413 0.40344 0.388293 0.38072 0.37504 0.367467 0.359893 +0.36368 0.37504 0.40912 0.4432 0.441307 0.46592 0.508842 0.527158 +0.541053 0.551158 0.550526 0.536632 0.513895 0.504421 0.513895 0.514526 +0.505053 0.48296 0.45456 0.43184 0.42048 0.40912 0.39208 0.376933 +0.350427 0.327707 0.310667 0.299307 0.361787 0.46024 0.418587 0.350427 +0.32392 0.320133 0.31824 0.316347 0.322027 0.32392 0.344747 0.446987 +0.519579 0.503158 0.42048 0.458347 0.541684 0.635158 0.748211 0.855579 +0.920632 0.936421 0.918105 0.864421 0.775368 0.697053 0.660421 0.654105 +0.642737 0.608 0.559368 0.510737 0.42616 0.384507 0.376933 0.359893 +0.361787 0.39208 0.422373 0.433733 0.501263 0.535368 0.517684 0.4148 +0.344747 0.3296 0.327707 0.32392 0.327707 0.33528 0.36936 0.367467 +0.36936 0.532211 0.660421 0.637684 0.521474 0.371253 0.29552 0.314453 +0.541684 0.729263 0.721684 0.585895 0.536632 0.525895 0.520211 0.525895 +0.524 0.517053 0.534737 0.566316 0.593474 0.580211 0.535368 0.525263 +0.522737 0.503789 0.48864 0.439413 0.395867 0.395867 0.40344 0.433733 +0.479173 0.47728 0.469707 0.486747 0.479173 0.46592 0.502526 0.510105 +0.510105 0.515158 0.532211 0.598526 0.745053 0.895368 0.955368 0.971158 +0.990122 1.00645 1.01624 1.01494 1.01527 1.00939 1.00873 1.02114 +1.03682 1.05151 1.05673 1.04857 1.04367 1.04629 1.04367 1.03976 +1.03878 1.0489 1.04792 1.0182 1.00024 0.995347 0.992082 0.985878 +0.976211 0.961684 0.947789 0.963579 0.982939 0.985878 0.998612 1.01331 +1.01853 1.01755 1.01951 1.02441 1.02343 1.02669 1.02604 1.02571 +1.02669 1.02931 1.03257 1.02767 1.03224 1.03616 1.03388 1.03192 +1.02702 1.01886 1.01331 1.00155 0.988816 0.974316 0.941474 0.917474 +0.876421 0.720421 0.554947 0.501263 0.475387 0.452667 0.429947 0.4148 +0.407227 0.446987 0.484853 0.462133 0.435627 0.416693 0.424267 0.4432 +0.464027 0.502526 0.532842 0.553053 0.533474 0.505684 0.501263 0.543579 +0.654737 0.681895 0.554947 0.33528 0.257653 0.265227 0.416693 0.584 +0.656632 0.596632 0.505053 0.407227 0.40344 0.481067 0.522105 0.5 +0.424267 0.4148 0.458347 0.48864 0.481067 0.523368 0.615579 0.728632 +0.794316 0.803789 0.759579 0.656632 0.550526 0.500632 0.464027 0.42616 +0.40912 0.37504 0.367467 0.401547 0.40344 0.393973 0.399653 0.4148 +0.450773 0.446987 0.40344 0.388293 0.38072 0.365573 0.358 0.36936 +0.393973 0.416693 0.390187 0.373147 0.382613 0.3864 0.393973 0.424267 +0.4432 0.450773 0.450773 0.44888 0.45456 0.469707 0.492427 0.503158 +0.506947 0.508211 0.510105 0.5 0.445093 0.411013 0.378827 0.39208 +0.418587 0.399653 0.365573 0.350427 0.354213 0.348533 0.359893 0.39208 +0.418587 0.441307 0.424267 0.378827 0.36936 0.373147 0.38072 0.384507 +0.399653 0.467813 0.520842 0.508842 0.416693 0.371253 0.356107 0.348533 +0.36368 0.395867 0.435627 0.462133 0.435627 0.39776 0.393973 0.39208 +0.411013 0.44888 0.524632 0.634526 0.784842 0.910526 0.983918 1.00286 +0.994367 0.961684 0.944632 0.970526 0.992082 0.997306 1.0009 1.00612 +1.00678 1.00547 1.00776 1.00776 1.01004 1.01233 1.01102 1.01069 +1.01037 1.00743 1.00873 1.00971 1.00808 1.00939 1.01069 1.01037 +1.00841 1.00939 1.00776 1.00678 1.01037 1.00971 1.01004 1.01069 +1.01037 1.00841 1.00678 1.00645 1.00122 0.988163 0.969895 0.959789 +0.956632 0.945895 0.940842 0.957895 0.984245 0.986531 0.903579 0.712211 +0.544211 0.424267 0.310667 0.000986667 0.000833333 0.0008 0.000793333 0.000766667 +0.00076 0.000786667 0.000786667 0.000766667 0.00076 0.000806667 0.000786667 0.000706667 +0.000706667 0.000706667 0.00072 0.00074 0.000706667 0.0007 0.000693333 0.0007 +0.000686667 0.000693333 0.000686667 0.0007 0.00072 0.0007 0.0007 0.00068 +0.000693333 0.000666667 0.000673333 0.000686667 0.000686667 0.00066 0.000673333 0.000693333 +0.000686667 0.000706667 0.000693333 0.00072 0.000726667 0.000713333 0.0007 0.0007 +0.000713333 0.000693333 0.00074 0.000773333 0.00084 0.000973333 0.23304 0.229253 +0.22736 0.223573 0.225467 0.236827 0.248187 0.234933 0.000933333 0.000926667 +0.253867 0.3012 0.265227 0.000993333 0.000953333 0.280373 0.540421 0.770316 +0.967368 0.993061 0.971789 0.947789 0.947158 0.954737 0.970526 0.991429 +1.00743 1.01135 1.012 1.01102 1.00971 1.00971 1.01135 1.01429 +1.01331 1.0058 0.993388 0.990776 1.00024 1.00906 1.00873 1.00808 +1.00547 1.00612 1.00776 1.0071 1.00873 1.0071 1.0058 1.00318 +1.00188 0.996653 0.985224 0.98098 0.987837 0.990122 0.983592 0.947158 +0.839158 0.677474 0.541684 0.44888 0.411013 0.405333 0.399653 0.405333 +0.393973 0.38072 0.36936 0.35232 0.36368 0.384507 0.384507 0.384507 +0.405333 0.42048 0.43752 0.418587 0.39776 0.433733 0.473493 0.43752 +0.382613 0.367467 0.36368 0.361787 0.373147 0.371253 0.350427 0.35232 +0.358 0.358 0.365573 0.367467 0.361787 0.378827 0.40912 0.43752 +0.49432 0.523368 0.551789 0.571368 0.565053 0.563789 0.573263 0.572 +0.556842 0.534105 0.513263 0.486747 0.4432 0.42616 0.416693 0.4148 +0.395867 0.367467 0.348533 0.344747 0.4432 0.520842 0.486747 0.39776 +0.36368 0.339067 0.333387 0.34096 0.3296 0.316347 0.337173 0.433733 +0.521474 0.518947 0.501263 0.535368 0.612421 0.699579 0.784842 0.860632 +0.910526 0.914316 0.848632 0.729263 0.627579 0.602316 0.623789 0.628842 +0.587789 0.528421 0.464027 0.40912 0.376933 0.359893 0.365573 0.359893 +0.36368 0.418587 0.501895 0.522737 0.541053 0.539789 0.479173 0.36368 +0.34096 0.342853 0.337173 0.320133 0.316347 0.344747 0.3864 0.359893 +0.348533 0.5 0.596632 0.611158 0.555579 0.501895 0.422373 0.484853 +0.619368 0.787368 0.734947 0.599158 0.549895 0.526526 0.520211 0.529053 +0.524 0.513895 0.538526 0.596 0.626947 0.587789 0.536 0.530316 +0.527158 0.500632 0.45456 0.40344 0.382613 0.393973 0.405333 0.424267 +0.445093 0.435627 0.428053 0.462133 0.48864 0.502526 0.517684 0.520842 +0.519579 0.538526 0.602316 0.730526 0.870737 0.950316 0.969263 0.983592 +0.998286 1.01102 1.01722 1.01592 1.01755 1.02376 1.04465 1.14065 +1.26237 1.35519 1.45562 1.48757 1.48605 1.53626 1.55452 1.55909 +1.52561 1.52866 1.47236 1.14065 1.01592 0.999918 0.999918 0.996327 +0.991102 0.986531 0.974947 0.972421 0.973684 0.975579 0.989469 1.00024 +1.00253 1.00743 1.01298 1.02114 1.02604 1.02604 1.02669 1.02669 +1.02669 1.02571 1.03192 1.03061 1.03257 1.03453 1.02833 1.02604 +1.01657 1.00645 0.997959 0.986204 0.973053 0.953474 0.928842 0.915579 +0.856842 0.683789 0.535368 0.4716 0.44888 0.44888 0.422373 0.405333 +0.412907 0.439413 0.46024 0.4432 0.422373 0.418587 0.43184 0.428053 +0.428053 0.456453 0.505684 0.519579 0.515789 0.522105 0.547368 0.592842 +0.685684 0.695789 0.576421 0.395867 0.257653 0.234933 0.348533 0.589053 +0.731789 0.671789 0.529684 0.39208 0.371253 0.439413 0.522105 0.504421 +0.42048 0.428053 0.479173 0.490533 0.46592 0.486747 0.548 0.657263 +0.762737 0.808842 0.808842 0.754526 0.649684 0.550526 0.47728 0.393973 +0.373147 0.350427 0.35232 0.376933 0.399653 0.39776 0.412907 0.42048 +0.42616 0.411013 0.3864 0.365573 0.359893 0.361787 0.37504 0.399653 +0.407227 0.395867 0.356107 0.339067 0.34664 0.361787 0.37504 0.393973 +0.40344 0.399653 0.407227 0.4148 0.42616 0.44888 0.490533 0.515789 +0.528421 0.536632 0.555579 0.564421 0.553053 0.534105 0.511368 0.486747 +0.452667 0.422373 0.390187 0.373147 0.384507 0.382613 0.378827 0.405333 +0.428053 0.43184 0.401547 0.373147 0.39208 0.43752 0.481067 0.503789 +0.515789 0.539158 0.561263 0.537263 0.479173 0.433733 0.445093 0.4432 +0.45456 0.47728 0.484853 0.452667 0.40344 0.3864 0.395867 0.390187 +0.401547 0.452667 0.541053 0.661684 0.808842 0.920632 0.982612 0.993388 +0.978105 0.946526 0.944 0.972421 0.992408 0.997959 1.0022 1.0058 +1.0071 1.0071 1.00971 1.01004 1.00906 1.00514 1.0009 1.00449 +1.00841 1.00612 1.0071 1.00841 1.00808 1.00873 1.00939 1.01037 +1.00873 1.00776 1.00482 1.00547 1.01004 1.00971 1.00971 1.01102 +1.01102 1.01004 1.0071 1.00286 0.993388 0.978737 0.962316 0.959158 +0.953474 0.944632 0.948421 0.974947 0.990776 0.958526 0.799368 0.606105 +0.501263 0.38072 0.263333 0.000913333 0.000846667 0.000806667 0.000813333 0.0008 +0.000753333 0.00076 0.000786667 0.000753333 0.000746667 0.000766667 0.000773333 0.000726667 +0.000733333 0.000766667 0.000753333 0.000753333 0.00068 0.00066 0.000646667 0.000673333 +0.000706667 0.0007 0.000686667 0.000693333 0.000693333 0.000686667 0.0007 0.000726667 +0.00074 0.00068 0.000673333 0.000666667 0.000693333 0.00068 0.000686667 0.000693333 +0.000686667 0.000693333 0.000686667 0.000713333 0.000686667 0.000673333 0.00066 0.000666667 +0.000653333 0.000693333 0.000693333 0.000753333 0.0008 0.000833333 0.000913333 0.000986667 +0.225467 0.225467 0.223573 0.231147 0.22736 0.000933333 0.000866667 0.000986667 +0.28416 0.28984 0.23872 0.000946667 0.00094 0.251973 0.5 0.704 +0.928842 0.99502 0.980327 0.946526 0.940842 0.950947 0.964842 0.98751 +1.00482 1.00906 1.01069 1.0071 1.00449 1.00743 1.01167 1.01527 +1.01331 1.00873 0.997959 0.991102 0.999592 1.00808 1.00841 1.00873 +1.0058 1.0058 1.00645 1.00743 1.00873 1.00645 1.00678 1.00612 +1.00351 0.998939 0.989143 0.98 0.982612 0.986857 0.983918 0.964211 +0.878316 0.726105 0.574526 0.479173 0.428053 0.418587 0.399653 0.393973 +0.3864 0.37504 0.371253 0.36936 0.38072 0.416693 0.433733 0.422373 +0.42616 0.412907 0.390187 0.371253 0.376933 0.390187 0.39776 0.388293 +0.36936 0.36936 0.354213 0.348533 0.36936 0.384507 0.367467 0.359893 +0.34664 0.339067 0.354213 0.356107 0.344747 0.34664 0.358 0.359893 +0.390187 0.44888 0.522105 0.570737 0.593474 0.606105 0.618105 0.606105 +0.568842 0.532842 0.505684 0.44888 0.411013 0.393973 0.38072 0.382613 +0.388293 0.384507 0.390187 0.40344 0.49432 0.535368 0.522737 0.501895 +0.441307 0.378827 0.36936 0.367467 0.339067 0.322027 0.34664 0.40912 +0.492427 0.513895 0.527789 0.567579 0.631368 0.698947 0.765263 0.822737 +0.850526 0.815789 0.702105 0.575789 0.522737 0.549263 0.584 0.570737 +0.519579 0.441307 0.395867 0.390187 0.388293 0.38072 0.382613 0.373147 +0.39776 0.4716 0.512632 0.518947 0.518316 0.512632 0.435627 0.365573 +0.35232 0.36368 0.359893 0.325813 0.325813 0.384507 0.399653 0.342853 +0.34096 0.433733 0.532211 0.554947 0.556211 0.546737 0.546105 0.609263 +0.739368 0.832211 0.741263 0.621895 0.555579 0.501263 0.450773 0.479173 +0.505053 0.508211 0.530316 0.59979 0.643368 0.606105 0.557474 0.525263 +0.511368 0.49432 0.44888 0.40912 0.399653 0.395867 0.390187 0.407227 +0.429947 0.43752 0.42616 0.458347 0.501895 0.518316 0.525263 0.529053 +0.556211 0.624421 0.745053 0.878947 0.950947 0.970526 0.98 0.990122 +1.0022 1.01102 1.01951 1.02278 1.03355 1.05935 1.23803 1.40541 +1.49822 1.57887 1.76907 1.92123 1.95318 1.92732 1.86037 1.81015 +1.75233 1.76298 1.75842 1.42366 1.04596 1.012 1.01037 1.00318 +1.00057 0.995673 0.990776 0.986531 0.969895 0.957895 0.974947 0.98751 +0.98751 0.990449 0.997633 1.00939 1.01657 1.01951 1.02506 1.02343 +1.02343 1.02408 1.02898 1.02931 1.028 1.02473 1.01624 1.01167 +1.00024 0.990776 0.982612 0.958526 0.947789 0.937684 0.921895 0.913053 +0.828421 0.644 0.521474 0.473493 0.435627 0.429947 0.40912 0.411013 +0.418587 0.43184 0.429947 0.412907 0.40912 0.418587 0.416693 0.401547 +0.40912 0.439413 0.48864 0.508842 0.515789 0.554316 0.626316 0.696421 +0.764 0.757053 0.650947 0.522105 0.316347 0.265227 0.393973 0.636421 +0.777263 0.671789 0.520842 0.382613 0.348533 0.376933 0.462133 0.481067 +0.44888 0.48864 0.512 0.501263 0.479173 0.503158 0.520842 0.581474 +0.695789 0.787368 0.826526 0.817684 0.746316 0.626316 0.515789 0.390187 +0.361787 0.35232 0.342853 0.373147 0.393973 0.39208 0.416693 0.44888 +0.44888 0.416693 0.390187 0.358 0.358 0.36936 0.390187 0.405333 +0.390187 0.378827 0.359893 0.354213 0.350427 0.354213 0.35232 0.354213 +0.367467 0.36368 0.354213 0.354213 0.361787 0.382613 0.4148 0.4716 +0.502526 0.515158 0.549895 0.590316 0.608632 0.598526 0.575789 0.541684 +0.501263 0.428053 0.393973 0.373147 0.373147 0.38072 0.371253 0.367467 +0.37504 0.378827 0.367467 0.358 0.384507 0.44888 0.504421 0.517053 +0.530947 0.546105 0.555579 0.548 0.530316 0.524 0.526526 0.520842 +0.511368 0.496213 0.456453 0.42048 0.407227 0.405333 0.39776 0.390187 +0.40912 0.484853 0.563158 0.685053 0.827158 0.924421 0.971158 0.977474 +0.956 0.944 0.951579 0.976842 0.989796 0.996 1.00286 1.00612 +1.00808 1.00906 1.00906 1.00776 1.00449 0.99502 0.989796 0.996653 +1.0071 1.00841 1.0071 1.0071 1.00776 1.00841 1.00841 1.00873 +1.00776 1.0058 1.00188 1.0022 1.00743 1.012 1.012 1.01135 +1.00971 1.00873 1.00449 0.99502 0.980653 0.961053 0.957895 0.957263 +0.952211 0.950316 0.964211 0.984245 0.983265 0.875789 0.679368 0.530316 +0.433733 0.327707 0.000993333 0.000853333 0.000853333 0.00082 0.0008 0.000806667 +0.000766667 0.000753333 0.000766667 0.00076 0.000746667 0.00074 0.00076 0.000773333 +0.000753333 0.000746667 0.000726667 0.00072 0.000726667 0.000706667 0.00068 0.000706667 +0.000706667 0.0007 0.000706667 0.000713333 0.000673333 0.000666667 0.00068 0.000713333 +0.000713333 0.000693333 0.000706667 0.000686667 0.0007 0.000693333 0.000713333 0.000726667 +0.000733333 0.000706667 0.000693333 0.000706667 0.000693333 0.0007 0.0007 0.000666667 +0.000693333 0.000686667 0.000673333 0.000706667 0.00072 0.00076 0.000793333 0.000873333 +0.0009 0.000906667 0.000906667 0.000933333 0.000886667 0.000826667 0.000866667 0.242507 +0.299307 0.276587 0.23304 0.000993333 0.00098 0.23872 0.407227 0.635158 +0.877053 0.993061 0.986857 0.953474 0.939579 0.949053 0.957895 0.98098 +0.998939 1.00776 1.01037 1.00482 1.00122 1.00547 1.01102 1.01461 +1.01363 1.01135 1.00416 0.993714 0.996 1.00612 1.01004 1.01069 +1.00971 1.00873 1.00743 1.00808 1.00743 1.00449 1.0071 1.00808 +1.0071 1.00351 0.995673 0.985224 0.98098 0.986857 0.98751 0.977474 +0.914316 0.779158 0.616211 0.512632 0.4432 0.412907 0.395867 0.390187 +0.3864 0.388293 0.412907 0.411013 0.40344 0.429947 0.439413 0.4148 +0.401547 0.378827 0.358 0.361787 0.36936 0.365573 0.373147 0.378827 +0.36368 0.361787 0.358 0.350427 0.358 0.382613 0.407227 0.395867 +0.361787 0.359893 0.388293 0.373147 0.34096 0.354213 0.367467 0.35232 +0.354213 0.3864 0.484853 0.553684 0.604211 0.632 0.638316 0.602316 +0.543579 0.5 0.412907 0.365573 0.354213 0.337173 0.327707 0.322027 +0.327707 0.339067 0.361787 0.382613 0.43752 0.500632 0.5 0.481067 +0.441307 0.39208 0.378827 0.373147 0.350427 0.34096 0.376933 0.424267 +0.469707 0.512632 0.541053 0.568211 0.604211 0.652211 0.703368 0.737474 +0.738737 0.671789 0.565684 0.510105 0.526526 0.556211 0.550526 0.511368 +0.424267 0.384507 0.388293 0.390187 0.401547 0.407227 0.412907 0.441307 +0.498107 0.508842 0.49432 0.439413 0.43752 0.456453 0.39776 0.361787 +0.350427 0.354213 0.361787 0.34664 0.359893 0.418587 0.40344 0.344747 +0.34096 0.393973 0.479173 0.506947 0.527789 0.556842 0.601053 0.717895 +0.856211 0.909263 0.839158 0.745684 0.645263 0.531579 0.433733 0.435627 +0.484853 0.504421 0.505053 0.551158 0.594105 0.585895 0.572 0.537263 +0.501895 0.48296 0.473493 0.428053 0.407227 0.40344 0.405333 0.416693 +0.43184 0.433733 0.43184 0.45456 0.501263 0.510737 0.509474 0.522105 +0.584632 0.714105 0.867579 0.957895 0.973053 0.974947 0.985878 0.997633 +1.00743 1.01429 1.02669 1.03518 1.05902 1.28063 1.49974 1.59713 +1.60321 1.62452 1.76298 1.88928 1.88471 1.77972 1.7006 1.69147 +1.67625 1.70973 1.77059 1.553 1.13304 1.03127 1.02343 1.01331 +1.00971 1.00384 1.00155 0.997306 0.984245 0.962947 0.957263 0.967368 +0.964842 0.968632 0.983918 0.992408 0.997959 1.00351 1.01167 1.00939 +1.01298 1.01592 1.01592 1.01853 1.01527 1.01069 1.00122 0.993714 +0.982612 0.969263 0.954105 0.933263 0.935158 0.931368 0.924421 0.903579 +0.785474 0.603579 0.516421 0.481067 0.433733 0.407227 0.401547 0.416693 +0.418587 0.42048 0.40912 0.401547 0.40912 0.411013 0.40912 0.411013 +0.411013 0.42616 0.446987 0.479173 0.508211 0.566316 0.683789 0.803158 +0.873263 0.848 0.747579 0.611158 0.5 0.395867 0.528421 0.717263 +0.771579 0.596632 0.44888 0.371253 0.344747 0.339067 0.37504 0.435627 +0.4716 0.508842 0.529053 0.515789 0.508211 0.532211 0.530947 0.527158 +0.608 0.727368 0.810737 0.844211 0.816421 0.719158 0.588421 0.48296 +0.376933 0.354213 0.348533 0.378827 0.407227 0.40912 0.43184 0.47728 +0.492427 0.429947 0.378827 0.359893 0.37504 0.39208 0.39776 0.3864 +0.350427 0.350427 0.361787 0.365573 0.371253 0.367467 0.35232 0.348533 +0.34664 0.342853 0.337173 0.331493 0.33528 0.344747 0.344747 0.36936 +0.39208 0.424267 0.5 0.540421 0.580842 0.602947 0.611789 0.592211 +0.546105 0.503158 0.42616 0.376933 0.36368 0.35232 0.325813 0.325813 +0.33528 0.356107 0.365573 0.348533 0.350427 0.3864 0.428053 0.43752 +0.445093 0.46592 0.48864 0.510737 0.521474 0.527158 0.533474 0.527158 +0.511368 0.484853 0.446987 0.429947 0.445093 0.435627 0.399653 0.39776 +0.424267 0.505053 0.580842 0.700211 0.829053 0.917474 0.954105 0.956632 +0.944632 0.945263 0.954737 0.975579 0.988816 0.997306 1.00253 1.00318 +1.00776 1.00971 1.00776 1.00547 0.999918 0.992082 0.991429 0.998286 +1.00612 1.00743 1.00645 1.00678 1.00743 1.00906 1.00906 1.00841 +1.00645 1.00384 1.0009 1.0022 1.0071 1.01102 1.01135 1.01265 +1.00841 1.0022 0.996653 0.984245 0.963579 0.950947 0.954737 0.954737 +0.950947 0.961053 0.981959 0.984898 0.921263 0.750105 0.573895 0.467813 +0.36936 0.26144 0.0009 0.000826667 0.00084 0.00086 0.0008 0.00078 +0.00078 0.000766667 0.000753333 0.000733333 0.00074 0.00072 0.000713333 0.000766667 +0.000773333 0.00074 0.000713333 0.000693333 0.000693333 0.000693333 0.000726667 0.00074 +0.000726667 0.00074 0.000733333 0.000713333 0.000686667 0.0007 0.000713333 0.00072 +0.0007 0.000713333 0.000706667 0.0007 0.000706667 0.000686667 0.000673333 0.000693333 +0.00072 0.000706667 0.000693333 0.000693333 0.000673333 0.00066 0.000686667 0.0007 +0.00072 0.000706667 0.000686667 0.000693333 0.000733333 0.000733333 0.000733333 0.000786667 +0.00082 0.000833333 0.00084 0.000813333 0.00074 0.000753333 0.000893333 0.257653 +0.286053 0.257653 0.23872 0.240613 0.23304 0.25008 0.35232 0.574526 +0.812 0.984571 0.993388 0.964842 0.945263 0.947158 0.952842 0.970526 +0.992735 1.0071 1.012 1.00514 1.00057 1.00547 1.00873 1.01265 +1.01331 1.01167 1.00841 0.99698 0.992082 1.00188 1.00939 1.01233 +1.01265 1.01167 1.01004 1.00939 1.00841 1.00416 1.00514 1.00776 +1.00808 1.00612 0.998286 0.98849 0.983592 0.989796 0.991102 0.984898 +0.943368 0.830947 0.673684 0.543579 0.458347 0.411013 0.407227 0.4148 +0.418587 0.416693 0.422373 0.40912 0.393973 0.40344 0.401547 0.382613 +0.36936 0.36936 0.373147 0.36936 0.358 0.361787 0.373147 0.376933 +0.36936 0.354213 0.35232 0.354213 0.348533 0.373147 0.42048 0.42616 +0.422373 0.441307 0.446987 0.40912 0.36936 0.371253 0.361787 0.365573 +0.378827 0.40912 0.510737 0.575158 0.62 0.622526 0.589684 0.536632 +0.48296 0.405333 0.342853 0.32392 0.320133 0.316347 0.31824 0.316347 +0.325813 0.331493 0.34096 0.371253 0.388293 0.376933 0.365573 0.371253 +0.365573 0.359893 0.359893 0.361787 0.356107 0.354213 0.3864 0.428053 +0.4716 0.510105 0.522105 0.526526 0.537895 0.570105 0.609895 0.633263 +0.617474 0.552421 0.496213 0.518947 0.560632 0.555579 0.510105 0.422373 +0.376933 0.378827 0.39208 0.395867 0.405333 0.422373 0.458347 0.501263 +0.506947 0.479173 0.412907 0.367467 0.401547 0.43752 0.376933 0.350427 +0.350427 0.356107 0.358 0.373147 0.412907 0.439413 0.37504 0.331493 +0.339067 0.373147 0.43184 0.492427 0.518947 0.550526 0.610526 0.765895 +0.935158 0.98849 0.978105 0.92379 0.8 0.609263 0.492427 0.433733 +0.45456 0.48296 0.48864 0.522737 0.539789 0.541684 0.571368 0.571368 +0.524 0.496213 0.5 0.452667 0.416693 0.42048 0.418587 0.416693 +0.411013 0.428053 0.439413 0.458347 0.492427 0.501263 0.504421 0.534105 +0.632 0.801895 0.936421 0.977474 0.975579 0.977474 0.991102 1.00122 +1.01037 1.02082 1.0378 1.05314 1.19086 1.48605 1.70364 1.73407 +1.69147 1.65495 1.63212 1.63212 1.61387 1.55757 1.54996 1.58495 +1.63669 1.68082 1.70668 1.53778 1.22129 1.04857 1.03094 1.01951 +1.01527 1.01429 1.01298 1.00678 0.996653 0.985878 0.979368 0.966105 +0.949053 0.947789 0.961053 0.970526 0.978737 0.985551 0.991429 0.990122 +0.993714 0.996327 0.995347 1.0009 0.998286 0.993061 0.984898 0.969263 +0.958526 0.947158 0.933895 0.926316 0.934526 0.932632 0.925684 0.884 +0.733684 0.572 0.518947 0.502526 0.450773 0.407227 0.40344 0.424267 +0.441307 0.439413 0.429947 0.43184 0.42048 0.401547 0.418587 0.464027 +0.464027 0.439413 0.439413 0.4716 0.503789 0.553684 0.671789 0.816421 +0.897895 0.887158 0.805053 0.699579 0.59979 0.557474 0.637684 0.777263 +0.709684 0.523368 0.376933 0.354213 0.34664 0.34096 0.337173 0.390187 +0.458347 0.506316 0.527789 0.518316 0.520211 0.557474 0.554947 0.512 +0.540421 0.640211 0.757053 0.837263 0.850526 0.793053 0.682526 0.570737 +0.484853 0.390187 0.37504 0.40344 0.429947 0.429947 0.441307 0.47728 +0.501263 0.439413 0.384507 0.371253 0.388293 0.416693 0.399653 0.36368 +0.350427 0.350427 0.358 0.358 0.36936 0.373147 0.365573 0.365573 +0.36368 0.365573 0.350427 0.339067 0.34664 0.337173 0.331493 0.339067 +0.350427 0.36368 0.39776 0.45456 0.510105 0.539789 0.577053 0.606737 +0.606737 0.575789 0.526526 0.445093 0.373147 0.344747 0.320133 0.304987 +0.316347 0.359893 0.3864 0.361787 0.339067 0.342853 0.36368 0.359893 +0.344747 0.348533 0.365573 0.4148 0.44888 0.452667 0.486747 0.503789 +0.505053 0.496213 0.446987 0.42616 0.450773 0.4432 0.405333 0.407227 +0.441307 0.512 0.589053 0.709053 0.830947 0.910526 0.941474 0.943368 +0.941474 0.945263 0.957895 0.977474 0.990449 0.999918 1.00318 1.00449 +1.00776 1.00743 1.00514 1.00318 0.997633 0.995673 0.998939 1.00547 +1.00776 1.00645 1.00645 1.00906 1.01135 1.01069 1.00939 1.00808 +1.0071 1.00416 1.00188 1.00318 1.0071 1.01004 1.01069 1.01167 +1.00547 0.997306 0.987184 0.968632 0.957263 0.952211 0.950316 0.947158 +0.950316 0.969895 0.986857 0.954737 0.812 0.622526 0.509474 0.418587 +0.31824 0.000993333 0.000853333 0.000806667 0.00078 0.000833333 0.00082 0.0008 +0.000786667 0.000786667 0.00078 0.00072 0.00072 0.00074 0.00072 0.000733333 +0.00076 0.000746667 0.00072 0.000706667 0.000673333 0.00066 0.000693333 0.000686667 +0.000693333 0.000713333 0.0007 0.000673333 0.000666667 0.0007 0.000733333 0.000733333 +0.000706667 0.000706667 0.000686667 0.0007 0.00072 0.00074 0.000726667 0.000713333 +0.000706667 0.000706667 0.0007 0.000706667 0.000686667 0.000666667 0.00068 0.0007 +0.0007 0.00068 0.000706667 0.000713333 0.000706667 0.000693333 0.00074 0.000753333 +0.000773333 0.000786667 0.0008 0.00078 0.00074 0.0008 0.000973333 0.265227 +0.276587 0.242507 0.248187 0.2728 0.26712 0.280373 0.33528 0.525263 +0.734316 0.950947 0.995673 0.974947 0.950316 0.947158 0.950947 0.964211 +0.98751 1.00514 1.01265 1.0058 1.00286 1.00841 1.00971 1.012 +1.01298 1.01233 1.00906 0.999918 0.992082 0.996327 1.00645 1.01167 +1.01265 1.01265 1.01037 1.00939 1.00971 1.00645 1.00678 1.00808 +1.00776 1.00808 1.0009 0.991429 0.986857 0.989796 0.991102 0.987837 +0.962316 0.882105 0.738105 0.580842 0.496213 0.42616 0.42048 0.43184 +0.441307 0.418587 0.395867 0.3864 0.384507 0.39208 0.388293 0.37504 +0.378827 0.405333 0.411013 0.376933 0.354213 0.350427 0.359893 0.367467 +0.367467 0.34664 0.344747 0.35232 0.356107 0.38072 0.40912 0.40912 +0.422373 0.441307 0.44888 0.424267 0.376933 0.358 0.35232 0.3864 +0.446987 0.516421 0.572 0.623789 0.629474 0.582105 0.515158 0.407227 +0.361787 0.348533 0.331493 0.322027 0.314453 0.31256 0.325813 0.34096 +0.34664 0.344747 0.354213 0.388293 0.39776 0.36936 0.348533 0.34096 +0.325813 0.34096 0.359893 0.358 0.34664 0.348533 0.384507 0.418587 +0.467813 0.498107 0.467813 0.429947 0.428053 0.475387 0.521474 0.541684 +0.529053 0.490533 0.506947 0.558737 0.568211 0.523368 0.433733 0.39208 +0.376933 0.388293 0.40344 0.407227 0.424267 0.45456 0.500632 0.498107 +0.43752 0.388293 0.37504 0.359893 0.37504 0.42048 0.384507 0.344747 +0.350427 0.361787 0.350427 0.37504 0.456453 0.467813 0.36936 0.3296 +0.34096 0.361787 0.412907 0.5 0.532211 0.564421 0.621263 0.794947 +0.980653 1.01396 1.01722 1.0058 0.930105 0.697684 0.517053 0.429947 +0.433733 0.46024 0.486747 0.516421 0.515158 0.505684 0.546737 0.587158 +0.568211 0.526526 0.506947 0.469707 0.435627 0.43752 0.428053 0.407227 +0.407227 0.44888 0.45456 0.456453 0.479173 0.501895 0.519579 0.570737 +0.714737 0.895368 0.974947 0.980653 0.979368 0.984571 0.99502 1.00449 +1.01755 1.03257 1.05216 1.12086 1.31411 1.61387 1.77363 1.77059 +1.7082 1.63821 1.49822 1.3978 1.41758 1.45257 1.46931 1.47692 +1.53018 1.56213 1.588 1.53322 1.32324 1.05935 1.03322 1.0231 +1.01657 1.01984 1.02049 1.01559 1.00776 1.0058 1.00482 0.991102 +0.979368 0.964842 0.950316 0.943368 0.947789 0.954737 0.957895 0.958526 +0.963579 0.968632 0.970526 0.978737 0.976211 0.974316 0.968 0.950316 +0.947789 0.932 0.919368 0.917474 0.92379 0.924421 0.923158 0.868211 +0.703368 0.578947 0.551158 0.526526 0.506947 0.496213 0.49432 0.479173 +0.475387 0.446987 0.43752 0.439413 0.418587 0.39776 0.435627 0.510105 +0.518947 0.501895 0.503789 0.517053 0.529053 0.549895 0.609263 0.703368 +0.786105 0.803789 0.759579 0.708421 0.668 0.671789 0.744421 0.764 +0.62 0.473493 0.390187 0.36368 0.348533 0.348533 0.339067 0.36368 +0.433733 0.501263 0.526526 0.518316 0.515789 0.555579 0.567579 0.518947 +0.502526 0.550526 0.660421 0.776 0.836 0.821474 0.748842 0.663579 +0.580842 0.510105 0.43184 0.44888 0.481067 0.441307 0.42616 0.45456 +0.484853 0.46024 0.412907 0.39208 0.40912 0.441307 0.401547 0.358 +0.361787 0.359893 0.358 0.373147 0.36936 0.356107 0.358 0.367467 +0.39776 0.411013 0.373147 0.34664 0.356107 0.358 0.359893 0.36368 +0.35232 0.34664 0.354213 0.371253 0.401547 0.450773 0.513895 0.568211 +0.625684 0.647158 0.609895 0.534105 0.428053 0.36368 0.348533 0.327707 +0.3296 0.361787 0.371253 0.358 0.344747 0.33528 0.342853 0.339067 +0.331493 0.337173 0.350427 0.384507 0.401547 0.384507 0.40344 0.43752 +0.486747 0.492427 0.43752 0.407227 0.4148 0.411013 0.39776 0.407227 +0.441307 0.510105 0.584 0.702737 0.824632 0.906105 0.940211 0.947789 +0.944 0.947158 0.961684 0.982612 0.993714 1.0009 1.00384 1.00645 +1.00612 1.00384 1.0022 1.00188 1.00057 1.00253 1.00612 1.00873 +1.00841 1.00645 1.00645 1.00971 1.01167 1.01004 1.01004 1.00841 +1.00678 1.0058 1.00612 1.00612 1.00808 1.01167 1.01102 1.00645 +0.997959 0.989796 0.978737 0.957263 0.952842 0.950316 0.945263 0.945263 +0.960421 0.981959 0.977474 0.872 0.686316 0.537895 0.445093 0.378827 +0.270907 0.00088 0.000806667 0.000813333 0.000793333 0.000813333 0.000806667 0.000806667 +0.00078 0.000753333 0.000786667 0.000753333 0.000726667 0.000733333 0.000706667 0.000686667 +0.000706667 0.000726667 0.00072 0.0007 0.00072 0.0007 0.000713333 0.000693333 +0.000693333 0.0007 0.000693333 0.000666667 0.000653333 0.000666667 0.000673333 0.00068 +0.00068 0.000673333 0.000666667 0.000693333 0.000706667 0.000733333 0.000706667 0.000706667 +0.000693333 0.000693333 0.0007 0.00072 0.000733333 0.000713333 0.000693333 0.000713333 +0.000686667 0.000693333 0.000733333 0.0007 0.000713333 0.00072 0.000733333 0.000753333 +0.000753333 0.000746667 0.000773333 0.00076 0.00074 0.00084 0.231147 0.270907 +0.26144 0.242507 0.2728 0.29552 0.293627 0.31824 0.350427 0.479173 +0.658526 0.896632 0.993714 0.982939 0.955368 0.945263 0.947158 0.955368 +0.980653 0.998286 1.01102 1.00808 1.00612 1.00841 1.00939 1.01102 +1.01265 1.01363 1.01167 1.00482 0.995673 0.993714 1.0022 1.00939 +1.012 1.01265 1.01135 1.00971 1.00743 1.00678 1.00841 1.00808 +1.00678 1.0071 1.00122 0.994367 0.989796 0.990122 0.990776 0.988163 +0.976211 0.924421 0.797474 0.623158 0.515158 0.441307 0.418587 0.418587 +0.4148 0.390187 0.37504 0.37504 0.3864 0.39776 0.378827 0.367467 +0.378827 0.42048 0.4432 0.39776 0.365573 0.348533 0.339067 0.354213 +0.359893 0.350427 0.35232 0.35232 0.35232 0.367467 0.376933 0.365573 +0.36936 0.384507 0.418587 0.418587 0.367467 0.361787 0.37504 0.428053 +0.524 0.582737 0.626947 0.642105 0.597263 0.518947 0.39776 0.337173 +0.331493 0.33528 0.33528 0.322027 0.310667 0.320133 0.327707 0.33528 +0.339067 0.356107 0.36936 0.378827 0.38072 0.367467 0.348533 0.3296 +0.32392 0.337173 0.361787 0.36368 0.339067 0.339067 0.373147 0.399653 +0.424267 0.44888 0.44888 0.439413 0.412907 0.40344 0.435627 0.4716 +0.473493 0.501895 0.546105 0.571368 0.535368 0.46024 0.399653 0.399653 +0.399653 0.399653 0.4148 0.433733 0.45456 0.46024 0.486747 0.46024 +0.39776 0.37504 0.36368 0.348533 0.348533 0.388293 0.373147 0.339067 +0.34664 0.350427 0.342853 0.348533 0.441307 0.469707 0.38072 0.34664 +0.348533 0.371253 0.405333 0.48864 0.542947 0.590947 0.664842 0.846105 +0.994367 1.01951 1.02147 1.01429 0.967368 0.725474 0.518947 0.433733 +0.435627 0.43752 0.44888 0.496213 0.504421 0.486747 0.520211 0.579579 +0.612421 0.573895 0.515158 0.46592 0.4432 0.43184 0.418587 0.418587 +0.429947 0.464027 0.48296 0.484853 0.496213 0.510105 0.541684 0.633895 +0.808842 0.954737 0.983592 0.981306 0.983918 0.992408 1.00384 1.01233 +1.02539 1.04171 1.09348 1.23498 1.42671 1.6443 1.71277 1.67016 +1.58039 1.49366 1.37802 1.32476 1.38715 1.46475 1.49974 1.5104 +1.50887 1.47692 1.49518 1.54996 1.47083 1.24716 1.13608 1.06152 +1.04629 1.04302 1.03943 1.03257 1.02278 1.02833 1.03224 1.02604 +1.02278 1.00612 0.981959 0.953474 0.942737 0.937684 0.926947 0.924421 +0.929474 0.932 0.933263 0.938947 0.942105 0.951579 0.961684 0.951579 +0.961053 0.946526 0.930737 0.920632 0.914316 0.918737 0.923158 0.851789 +0.681263 0.576421 0.549263 0.520842 0.525263 0.542316 0.531579 0.500632 +0.446987 0.411013 0.4148 0.424267 0.40912 0.40344 0.429947 0.479173 +0.506316 0.48296 0.5 0.512632 0.522105 0.530316 0.544842 0.575158 +0.627579 0.656 0.647158 0.643368 0.674947 0.758316 0.806316 0.711579 +0.558737 0.452667 0.401547 0.37504 0.35232 0.36936 0.37504 0.365573 +0.401547 0.48864 0.539789 0.530316 0.501895 0.531579 0.568842 0.530947 +0.435627 0.445093 0.541684 0.639579 0.736842 0.787368 0.769053 0.727368 +0.676842 0.600421 0.532211 0.508842 0.496213 0.42616 0.405333 0.424267 +0.452667 0.467813 0.439413 0.399653 0.407227 0.4148 0.384507 0.367467 +0.373147 0.36936 0.356107 0.38072 0.373147 0.33528 0.342853 0.376933 +0.388293 0.390187 0.382613 0.361787 0.354213 0.361787 0.382613 0.39208 +0.38072 0.36936 0.36936 0.361787 0.356107 0.384507 0.412907 0.504421 +0.572632 0.644632 0.654737 0.590316 0.515158 0.42616 0.393973 0.361787 +0.337173 0.342853 0.35232 0.361787 0.34664 0.34664 0.365573 0.358 +0.344747 0.35232 0.365573 0.384507 0.3864 0.365573 0.36936 0.390187 +0.4432 0.456453 0.422373 0.401547 0.395867 0.39208 0.393973 0.405333 +0.42616 0.505053 0.580211 0.695158 0.815789 0.900421 0.940211 0.955368 +0.952211 0.949684 0.961053 0.983592 0.996327 1.0022 1.00384 1.00351 +1.00253 1.00351 1.00514 1.00416 1.00384 1.00612 1.00841 1.00776 +1.00678 1.0071 1.00612 1.00971 1.00939 1.00776 1.01004 1.01069 +1.00776 1.0058 1.00645 1.00776 1.00906 1.00939 1.00547 0.998939 +0.989143 0.976842 0.963579 0.957263 0.952211 0.945263 0.945895 0.959789 +0.98 0.980653 0.911789 0.745053 0.572 0.462133 0.399653 0.331493 +0.240613 0.000873333 0.00082 0.000813333 0.0008 0.000806667 0.000786667 0.000786667 +0.000786667 0.000746667 0.000746667 0.00078 0.000753333 0.000713333 0.000693333 0.000693333 +0.000706667 0.000713333 0.00072 0.000713333 0.00072 0.000713333 0.000733333 0.000726667 +0.00072 0.000713333 0.000726667 0.000706667 0.0007 0.000686667 0.000686667 0.00068 +0.00068 0.00068 0.0007 0.000706667 0.000693333 0.000693333 0.000666667 0.000673333 +0.00068 0.0007 0.00068 0.00068 0.000666667 0.000666667 0.00068 0.000706667 +0.000686667 0.000713333 0.000706667 0.000693333 0.0007 0.000726667 0.000746667 0.000733333 +0.00074 0.00076 0.000766667 0.000746667 0.000773333 0.00096 0.263333 0.263333 +0.231147 0.2444 0.29552 0.293627 0.27848 0.304987 0.35232 0.446987 +0.600421 0.827158 0.985224 0.990776 0.966737 0.945895 0.943368 0.951579 +0.972421 0.993388 1.00808 1.01102 1.00971 1.00678 1.00678 1.00841 +1.01037 1.01233 1.01298 1.00939 1.0009 0.994367 0.997306 1.00743 +1.01167 1.01135 1.01167 1.01004 1.00678 1.00482 1.0071 1.00678 +1.0058 1.00678 1.00318 0.997306 0.992408 0.991102 0.990449 0.989143 +0.981633 0.947158 0.833474 0.654105 0.526526 0.44888 0.422373 0.4148 +0.40344 0.376933 0.373147 0.384507 0.382613 0.378827 0.373147 0.367467 +0.358 0.401547 0.42616 0.378827 0.35232 0.348533 0.339067 0.344747 +0.348533 0.354213 0.354213 0.348533 0.350427 0.350427 0.344747 0.342853 +0.358 0.36936 0.399653 0.422373 0.395867 0.393973 0.445093 0.522737 +0.585263 0.625053 0.638316 0.626947 0.548632 0.401547 0.3296 0.322027 +0.32392 0.327707 0.333387 0.32392 0.314453 0.331493 0.331493 0.31824 +0.337173 0.367467 0.384507 0.358 0.331493 0.322027 0.310667 0.316347 +0.327707 0.325813 0.358 0.384507 0.34664 0.331493 0.356107 0.36936 +0.36368 0.395867 0.473493 0.503158 0.467813 0.435627 0.43184 0.422373 +0.439413 0.519579 0.560632 0.548 0.48864 0.393973 0.395867 0.418587 +0.405333 0.382613 0.388293 0.416693 0.429947 0.412907 0.418587 0.4432 +0.450773 0.411013 0.358 0.342853 0.356107 0.371253 0.36936 0.35232 +0.344747 0.348533 0.339067 0.348533 0.424267 0.452667 0.382613 0.35232 +0.34664 0.37504 0.4148 0.462133 0.537263 0.615579 0.733684 0.911158 +1.00286 1.01592 1.012 0.996327 0.904211 0.668632 0.5 0.412907 +0.422373 0.42048 0.4148 0.4432 0.481067 0.479173 0.496213 0.544842 +0.618105 0.616211 0.544842 0.498107 0.46024 0.429947 0.4148 0.433733 +0.464027 0.49432 0.503789 0.5 0.504421 0.513895 0.566316 0.703368 +0.884 0.982612 0.988816 0.987837 0.991429 1.0022 1.01592 1.02408 +1.03388 1.04629 1.13608 1.35519 1.50127 1.56365 1.57887 1.55604 +1.47996 1.39932 1.36736 1.37649 1.40236 1.43736 1.48149 1.51192 +1.48605 1.44345 1.4191 1.46627 1.50887 1.47692 1.41606 1.30041 +1.24564 1.22281 1.19847 1.15282 1.0813 1.07674 1.08282 1.06761 +1.05576 1.03812 1.01984 0.999265 0.981633 0.956632 0.926947 0.920632 +0.918105 0.911789 0.915579 0.919368 0.92379 0.938316 0.959789 0.968 +0.98751 0.988816 0.980653 0.957895 0.92821 0.92379 0.92 0.827158 +0.641474 0.532842 0.5 0.462133 0.510105 0.527789 0.505684 0.43184 +0.395867 0.393973 0.429947 0.428053 0.418587 0.422373 0.416693 0.411013 +0.428053 0.416693 0.399653 0.422373 0.44888 0.490533 0.510105 0.525263 +0.549895 0.561263 0.568842 0.607368 0.714105 0.849895 0.856211 0.697053 +0.551789 0.458347 0.393973 0.367467 0.36368 0.399653 0.411013 0.382613 +0.382613 0.498107 0.573895 0.569474 0.506316 0.519579 0.563158 0.534105 +0.42616 0.371253 0.412907 0.517053 0.596 0.68 0.726737 0.733053 +0.722947 0.686316 0.632632 0.574526 0.510105 0.399653 0.38072 0.393973 +0.428053 0.462133 0.445093 0.40912 0.393973 0.378827 0.36368 0.376933 +0.39776 0.390187 0.36368 0.384507 0.3864 0.350427 0.356107 0.382613 +0.36936 0.354213 0.38072 0.382613 0.358 0.356107 0.36936 0.401547 +0.401547 0.384507 0.378827 0.367467 0.34664 0.354213 0.36936 0.39776 +0.503158 0.571368 0.611158 0.594105 0.553684 0.510105 0.441307 0.384507 +0.354213 0.35232 0.36368 0.36936 0.350427 0.356107 0.38072 0.376933 +0.367467 0.382613 0.39208 0.390187 0.378827 0.365573 0.358 0.356107 +0.3864 0.40344 0.411013 0.401547 0.3864 0.390187 0.40912 0.4148 +0.4148 0.5 0.575789 0.688211 0.809474 0.896 0.936421 0.956632 +0.956632 0.953474 0.966105 0.985224 0.995347 1.00155 1.00416 1.00286 +1.00384 1.00416 1.00482 1.00482 1.00645 1.00645 1.00645 1.0071 +1.00841 1.00906 1.0058 1.00743 1.00808 1.00873 1.00971 1.00841 +1.00612 1.00645 1.00612 1.00743 1.00906 1.00645 0.999918 0.990776 +0.980327 0.963579 0.956 0.954737 0.948421 0.945263 0.956 0.977474 +0.983592 0.934526 0.790526 0.611789 0.481067 0.376933 0.36368 0.3012 +0.22736 0.000893333 0.000826667 0.000806667 0.000773333 0.000786667 0.000806667 0.000786667 +0.00078 0.000746667 0.000733333 0.00076 0.000766667 0.00074 0.000726667 0.000713333 +0.000726667 0.000693333 0.000666667 0.000693333 0.000693333 0.000693333 0.000706667 0.0007 +0.000693333 0.000686667 0.000706667 0.000706667 0.000726667 0.000693333 0.000693333 0.000686667 +0.0007 0.00072 0.000733333 0.000726667 0.000733333 0.00072 0.000706667 0.000693333 +0.000686667 0.000686667 0.00068 0.000653333 0.00064 0.000666667 0.000686667 0.000666667 +0.00066 0.000686667 0.000673333 0.000673333 0.000706667 0.000733333 0.000726667 0.00072 +0.000733333 0.000726667 0.000726667 0.000733333 0.000826667 0.23872 0.27848 0.236827 +0.00096 0.25576 0.31824 0.293627 0.240613 0.25008 0.316347 0.435627 +0.553684 0.745684 0.955368 0.996653 0.98 0.951579 0.942105 0.947789 +0.967368 0.989469 1.00482 1.01102 1.01102 1.00939 1.00841 1.00971 +1.01037 1.012 1.012 1.01102 1.0071 0.998939 0.994367 1.0022 +1.00906 1.01004 1.00971 1.01069 1.00841 1.00449 1.0058 1.00547 +1.00547 1.00776 1.0071 1.00155 0.994367 0.989143 0.990122 0.990776 +0.984898 0.961684 0.861263 0.686316 0.544211 0.464027 0.43184 0.428053 +0.418587 0.3864 0.39208 0.4148 0.39776 0.382613 0.3864 0.373147 +0.361787 0.388293 0.390187 0.354213 0.339067 0.34096 0.337173 0.337173 +0.34096 0.344747 0.344747 0.348533 0.35232 0.348533 0.35232 0.367467 +0.376933 0.384507 0.4148 0.44888 0.464027 0.500632 0.536632 0.588421 +0.621895 0.611158 0.601684 0.597895 0.531579 0.38072 0.33528 0.33528 +0.3296 0.31824 0.325813 0.31824 0.31256 0.33528 0.325813 0.30688 +0.325813 0.356107 0.388293 0.356107 0.314453 0.310667 0.320133 0.32392 +0.320133 0.322027 0.373147 0.407227 0.350427 0.33528 0.35232 0.34664 +0.3296 0.35232 0.428053 0.446987 0.405333 0.40344 0.40912 0.407227 +0.464027 0.532211 0.544842 0.508211 0.42048 0.401547 0.422373 0.428053 +0.39208 0.373147 0.37504 0.393973 0.384507 0.36368 0.365573 0.424267 +0.4716 0.418587 0.367467 0.373147 0.36936 0.358 0.36936 0.36368 +0.358 0.34664 0.339067 0.359893 0.4432 0.46592 0.3864 0.342853 +0.339067 0.376933 0.428053 0.4432 0.527158 0.641474 0.802526 0.962947 +1.00906 1.01004 0.986857 0.903579 0.757053 0.576421 0.435627 0.390187 +0.412907 0.407227 0.401547 0.4148 0.4432 0.462133 0.456453 0.505684 +0.568842 0.611158 0.581474 0.530316 0.501263 0.458347 0.435627 0.445093 +0.490533 0.510105 0.510105 0.506316 0.510737 0.526526 0.596 0.755789 +0.923158 0.988816 0.992082 0.994367 1.0022 1.01527 1.02996 1.04204 +1.05445 1.08891 1.21825 1.40541 1.46323 1.43736 1.48149 1.54083 +1.52713 1.47996 1.46779 1.4404 1.39932 1.36736 1.37802 1.40845 +1.40388 1.37345 1.30954 1.27455 1.29433 1.32324 1.27607 1.19238 +1.19238 1.20607 1.22738 1.23498 1.23651 1.26846 1.24564 1.19238 +1.10717 1.05151 1.04988 1.04139 1.01886 0.993714 0.955368 0.942737 +0.926316 0.904211 0.908632 0.908 0.918105 0.940211 0.969263 0.98751 +1.00384 1.00514 0.999592 0.988816 0.956 0.933895 0.918737 0.8 +0.599158 0.486747 0.42048 0.452667 0.502526 0.48296 0.416693 0.393973 +0.388293 0.40344 0.445093 0.42048 0.407227 0.418587 0.40344 0.405333 +0.405333 0.393973 0.371253 0.393973 0.429947 0.46592 0.481067 0.512632 +0.536 0.532842 0.558105 0.668 0.833474 0.956 0.918737 0.74 +0.578947 0.492427 0.407227 0.378827 0.376933 0.393973 0.39208 0.36936 +0.388293 0.522737 0.626316 0.645895 0.565053 0.539789 0.560632 0.533474 +0.433733 0.361787 0.365573 0.405333 0.505684 0.565053 0.629474 0.681895 +0.719158 0.727368 0.706526 0.647158 0.553684 0.456453 0.395867 0.390187 +0.422373 0.45456 0.435627 0.40344 0.382613 0.378827 0.376933 0.390187 +0.411013 0.390187 0.361787 0.39208 0.40912 0.38072 0.371253 0.36936 +0.358 0.36368 0.3864 0.388293 0.365573 0.337173 0.33528 0.384507 +0.399653 0.373147 0.354213 0.339067 0.337173 0.339067 0.356107 0.37504 +0.422373 0.501263 0.521474 0.545474 0.565684 0.553684 0.517053 0.446987 +0.390187 0.36936 0.365573 0.373147 0.367467 0.367467 0.37504 0.382613 +0.388293 0.39776 0.405333 0.401547 0.3864 0.376933 0.348533 0.34096 +0.373147 0.407227 0.42616 0.411013 0.38072 0.378827 0.393973 0.407227 +0.424267 0.501895 0.567579 0.679368 0.808211 0.901053 0.947789 0.965474 +0.959789 0.950947 0.966737 0.987837 0.997633 1.00188 1.00416 1.00482 +1.00645 1.00678 1.00678 1.00514 1.00776 1.00939 1.00808 1.00743 +1.00776 1.00743 1.00514 1.0071 1.00776 1.00873 1.01004 1.00906 +1.00645 1.0071 1.00873 1.00841 1.0058 0.998612 0.992082 0.981959 +0.963579 0.956632 0.958526 0.952842 0.944632 0.954737 0.977474 0.983918 +0.949684 0.824632 0.647158 0.514526 0.37504 0.342853 0.32392 0.265227 +0.216 0.000886667 0.000813333 0.00082 0.0008 0.00078 0.000806667 0.0008 +0.000773333 0.000746667 0.000726667 0.00072 0.000733333 0.000746667 0.000753333 0.000726667 +0.000733333 0.00072 0.00066 0.000686667 0.0007 0.0007 0.000706667 0.0007 +0.000693333 0.000686667 0.000673333 0.000673333 0.000673333 0.000666667 0.000686667 0.000686667 +0.000706667 0.00072 0.000706667 0.000686667 0.00068 0.00068 0.000693333 0.000706667 +0.000726667 0.000706667 0.00072 0.0007 0.00068 0.000706667 0.000706667 0.00068 +0.000713333 0.000726667 0.0007 0.000733333 0.000726667 0.00074 0.000726667 0.00072 +0.000713333 0.0007 0.000726667 0.000753333 0.000866667 0.25008 0.265227 0.00096 +0.000873333 0.25008 0.322027 0.270907 0.000946667 0.00094 0.265227 0.401547 +0.523368 0.669895 0.897263 0.99502 0.986531 0.963579 0.946526 0.944 +0.957895 0.983265 0.999265 1.00939 1.01167 1.01135 1.01102 1.01037 +1.01037 1.01167 1.01233 1.012 1.01167 1.00678 0.997959 0.998939 +1.00841 1.01233 1.01135 1.01102 1.00971 1.00612 1.00449 1.00514 +1.00514 1.00514 1.00482 1.00122 0.994694 0.989469 0.990122 0.992735 +0.988163 0.971158 0.894737 0.738105 0.579579 0.5 0.445093 0.435627 +0.424267 0.407227 0.40912 0.422373 0.407227 0.39776 0.405333 0.399653 +0.382613 0.39208 0.393973 0.36936 0.337173 0.3296 0.331493 0.342853 +0.342853 0.339067 0.33528 0.34664 0.342853 0.34664 0.361787 0.367467 +0.382613 0.407227 0.428053 0.469707 0.524632 0.571368 0.606105 0.623789 +0.604842 0.555579 0.537895 0.56 0.535368 0.424267 0.350427 0.344747 +0.344747 0.331493 0.322027 0.314453 0.314453 0.322027 0.316347 0.308773 +0.31824 0.34664 0.395867 0.38072 0.333387 0.33528 0.34096 0.33528 +0.325813 0.3296 0.367467 0.40912 0.36936 0.35232 0.359893 0.337173 +0.320133 0.3296 0.36368 0.359893 0.34096 0.342853 0.365573 0.424267 +0.513895 0.542947 0.514526 0.412907 0.36936 0.40912 0.439413 0.424267 +0.390187 0.384507 0.393973 0.399653 0.37504 0.344747 0.350427 0.38072 +0.424267 0.412907 0.401547 0.416693 0.376933 0.342853 0.354213 0.36936 +0.359893 0.344747 0.34096 0.36936 0.46592 0.490533 0.39776 0.342853 +0.348533 0.393973 0.416693 0.416693 0.520211 0.663579 0.846105 0.982612 +1.00906 0.998286 0.915579 0.762737 0.622526 0.516421 0.405333 0.393973 +0.418587 0.395867 0.38072 0.39776 0.418587 0.43184 0.43184 0.456453 +0.515789 0.562526 0.590316 0.570105 0.526526 0.505684 0.502526 0.49432 +0.506316 0.515789 0.513263 0.508842 0.518316 0.546105 0.624421 0.787368 +0.940211 0.988816 0.992082 0.999918 1.01494 1.02931 1.04727 1.07674 +1.16043 1.26694 1.37345 1.43127 1.42062 1.38867 1.44345 1.54235 +1.58648 1.54235 1.47388 1.40236 1.33389 1.27607 1.26237 1.28672 +1.27759 1.22433 1.1513 1.11326 1.095 1.09195 1.05739 1.05184 +1.05249 1.05445 1.05935 1.05967 1.09804 1.18477 1.22281 1.24716 +1.2152 1.08587 1.04759 1.04171 1.03159 1.01037 0.983592 0.969263 +0.944 0.912421 0.906105 0.905474 0.917474 0.944632 0.980653 0.998612 +1.00939 1.00678 1.00514 0.999918 0.983592 0.952842 0.916211 0.764632 +0.564421 0.439413 0.42048 0.500632 0.505053 0.441307 0.388293 0.39776 +0.411013 0.40912 0.429947 0.407227 0.390187 0.39208 0.388293 0.407227 +0.405333 0.384507 0.3864 0.42616 0.467813 0.46592 0.450773 0.506947 +0.529684 0.524 0.594737 0.785474 0.955368 1.00318 0.98098 0.817684 +0.620632 0.512 0.439413 0.399653 0.384507 0.376933 0.358 0.35232 +0.40344 0.543579 0.674947 0.752632 0.683158 0.589053 0.561263 0.532211 +0.446987 0.36368 0.35232 0.36368 0.4148 0.48864 0.529684 0.591579 +0.668 0.719789 0.733053 0.704 0.628211 0.547368 0.500632 0.462133 +0.452667 0.4432 0.418587 0.39208 0.378827 0.3864 0.378827 0.390187 +0.401547 0.376933 0.365573 0.395867 0.4148 0.393973 0.388293 0.36936 +0.354213 0.365573 0.371253 0.36368 0.36936 0.34664 0.33528 0.378827 +0.376933 0.350427 0.339067 0.33528 0.34664 0.354213 0.365573 0.38072 +0.407227 0.422373 0.411013 0.462133 0.526526 0.556842 0.553684 0.522737 +0.4716 0.401547 0.36936 0.36936 0.371253 0.36936 0.373147 0.3864 +0.393973 0.3864 0.39208 0.399653 0.382613 0.376933 0.361787 0.350427 +0.373147 0.405333 0.43184 0.422373 0.39208 0.388293 0.388293 0.384507 +0.416693 0.504421 0.572632 0.690737 0.820211 0.914316 0.960421 0.971789 +0.963579 0.955368 0.967368 0.988163 0.999592 1.00416 1.00547 1.00416 +1.0058 1.00841 1.01004 1.00776 1.00841 1.00776 1.00776 1.00776 +1.00645 1.00547 1.00514 1.01037 1.01037 1.00939 1.00906 1.00971 +1.00808 1.0071 1.0071 1.00449 0.999592 0.989143 0.98098 0.966737 +0.958526 0.956632 0.956632 0.954737 0.956 0.971158 0.983265 0.961053 +0.851789 0.678737 0.532211 0.39208 0.331493 0.322027 0.291733 0.231147 +0.00094 0.000886667 0.000833333 0.00082 0.000806667 0.00078 0.000766667 0.00076 +0.000746667 0.00074 0.000726667 0.00072 0.000733333 0.000733333 0.00074 0.00072 +0.000713333 0.00074 0.00072 0.000693333 0.000693333 0.000713333 0.00072 0.000693333 +0.000666667 0.000666667 0.000673333 0.000686667 0.000673333 0.00068 0.00068 0.000666667 +0.000706667 0.000713333 0.0007 0.000673333 0.000653333 0.000666667 0.000693333 0.000706667 +0.000733333 0.000706667 0.0007 0.000686667 0.00068 0.000706667 0.000713333 0.0007 +0.00074 0.00074 0.00072 0.000706667 0.00072 0.00072 0.000713333 0.000733333 +0.00074 0.000726667 0.000753333 0.000786667 0.000946667 0.276587 0.265227 0.000933333 +0.00086 0.2444 0.31824 0.248187 0.000846667 0.00082 0.216 0.348533 +0.501895 0.603579 0.820842 0.983265 0.992735 0.975579 0.954737 0.947158 +0.952211 0.973684 0.992408 1.00645 1.012 1.01265 1.01265 1.01069 +1.00939 1.01135 1.01363 1.012 1.01135 1.01037 1.00122 0.996327 +1.00449 1.01265 1.01396 1.01233 1.01167 1.00873 1.00612 1.00678 +1.00743 1.0058 1.00449 1.00024 0.995347 0.990122 0.989469 0.992735 +0.989143 0.98 0.927579 0.792421 0.626316 0.522105 0.458347 0.433733 +0.418587 0.405333 0.401547 0.399653 0.401547 0.39776 0.401547 0.393973 +0.382613 0.401547 0.411013 0.371253 0.331493 0.3296 0.344747 0.358 +0.350427 0.34096 0.339067 0.348533 0.342853 0.337173 0.337173 0.34096 +0.365573 0.388293 0.4148 0.503158 0.568842 0.629474 0.636421 0.599158 +0.543579 0.479173 0.445093 0.515158 0.527789 0.458347 0.359893 0.342853 +0.365573 0.359893 0.34096 0.337173 0.325813 0.299307 0.30688 0.314453 +0.31256 0.3296 0.38072 0.39208 0.367467 0.361787 0.34664 0.331493 +0.3296 0.339067 0.373147 0.435627 0.399653 0.350427 0.354213 0.35232 +0.333387 0.327707 0.344747 0.34096 0.327707 0.333387 0.38072 0.48296 +0.538526 0.546737 0.479173 0.365573 0.361787 0.412907 0.435627 0.40912 +0.390187 0.40344 0.40344 0.384507 0.373147 0.359893 0.359893 0.367467 +0.382613 0.39776 0.412907 0.4432 0.43184 0.373147 0.361787 0.36936 +0.34664 0.33528 0.339067 0.384507 0.492427 0.486747 0.39208 0.354213 +0.376933 0.422373 0.422373 0.407227 0.513895 0.666105 0.855579 0.983918 +0.999918 0.960421 0.826526 0.68 0.582737 0.508842 0.411013 0.411013 +0.429947 0.384507 0.356107 0.37504 0.395867 0.411013 0.40344 0.4148 +0.45456 0.513895 0.563158 0.579579 0.542947 0.515789 0.515158 0.513895 +0.514526 0.515158 0.513263 0.510105 0.519579 0.554316 0.637684 0.801895 +0.948421 0.989143 0.992735 1.00416 1.0231 1.04106 1.10108 1.20151 +1.29433 1.40541 1.44649 1.42062 1.41301 1.39932 1.43736 1.50127 +1.51496 1.42062 1.31259 1.2502 1.19238 1.16043 1.16043 1.16956 +1.13608 1.07065 1.05739 1.07065 1.06152 1.05641 1.04727 1.04237 +1.03976 1.03943 1.04237 1.04302 1.04367 1.05184 1.07522 1.16499 +1.23194 1.14065 1.04237 1.02245 1.02016 1.01657 0.998612 0.985224 +0.962316 0.934526 0.919368 0.915579 0.914947 0.933263 0.976842 0.998612 +1.00906 1.0071 1.0071 1.00286 0.990449 0.966105 0.904842 0.726737 +0.540421 0.435627 0.45456 0.510737 0.496213 0.433733 0.445093 0.469707 +0.4432 0.40344 0.40344 0.40344 0.384507 0.36368 0.388293 0.39208 +0.388293 0.382613 0.399653 0.441307 0.4716 0.439413 0.428053 0.500632 +0.512 0.515789 0.640211 0.872632 0.999918 1.01559 1.00318 0.890947 +0.662316 0.518947 0.452667 0.405333 0.393973 0.384507 0.367467 0.365573 +0.418587 0.550526 0.710947 0.844211 0.808842 0.669895 0.571368 0.523368 +0.458347 0.382613 0.359893 0.365573 0.382613 0.393973 0.424267 0.508842 +0.580211 0.665474 0.720421 0.731158 0.696421 0.636421 0.575789 0.532842 +0.48864 0.418587 0.388293 0.36936 0.373147 0.388293 0.373147 0.376933 +0.395867 0.38072 0.367467 0.39776 0.433733 0.416693 0.382613 0.365573 +0.348533 0.350427 0.356107 0.350427 0.365573 0.36936 0.384507 0.411013 +0.371253 0.337173 0.342853 0.34664 0.356107 0.359893 0.367467 0.367467 +0.382613 0.390187 0.365573 0.371253 0.43184 0.517053 0.549895 0.553053 +0.529684 0.484853 0.39776 0.36368 0.356107 0.35232 0.36936 0.388293 +0.39208 0.382613 0.39776 0.399653 0.36368 0.36936 0.367467 0.35232 +0.36368 0.384507 0.4148 0.42048 0.407227 0.40344 0.3864 0.37504 +0.412907 0.503789 0.578316 0.709053 0.846737 0.937053 0.971789 0.974316 +0.967368 0.962947 0.974947 0.990122 1.0009 1.00449 1.00482 1.00286 +1.00482 1.00678 1.00873 1.00873 1.00841 1.00743 1.00743 1.0071 +1.00678 1.00645 1.00645 1.00906 1.00906 1.00873 1.00776 1.00645 +1.00645 1.00776 1.00514 0.996653 0.990449 0.980327 0.964211 0.951579 +0.951579 0.952842 0.950947 0.956632 0.972421 0.983592 0.966737 0.872632 +0.707789 0.553684 0.40344 0.31824 0.303093 0.303093 0.270907 0.223573 +0.000913333 0.000866667 0.000826667 0.000793333 0.000766667 0.00076 0.00078 0.00076 +0.000746667 0.000766667 0.000753333 0.000733333 0.00074 0.000726667 0.000693333 0.000693333 +0.000686667 0.00072 0.000746667 0.000726667 0.0007 0.000726667 0.0007 0.00068 +0.000653333 0.000653333 0.000673333 0.000706667 0.0007 0.0007 0.000673333 0.000666667 +0.00068 0.000686667 0.000673333 0.000666667 0.000673333 0.000693333 0.000693333 0.000686667 +0.000693333 0.00068 0.000673333 0.000693333 0.000706667 0.000726667 0.0007 0.0007 +0.000706667 0.00072 0.000706667 0.00072 0.0007 0.000686667 0.000693333 0.00072 +0.000706667 0.000713333 0.00074 0.00078 0.22168 0.308773 0.270907 0.00094 +0.000873333 0.240613 0.314453 0.2444 0.000846667 0.000826667 0.000946667 0.303093 +0.445093 0.548632 0.734947 0.944 0.995347 0.983265 0.960421 0.947789 +0.947158 0.960421 0.984898 1.00155 1.00971 1.01265 1.01233 1.01167 +1.00971 1.01135 1.01429 1.01396 1.01233 1.01102 1.00482 0.996653 +0.999592 1.00873 1.01331 1.01331 1.01233 1.01037 1.00939 1.00841 +1.00841 1.00776 1.00612 1.00253 0.997959 0.992735 0.990776 0.993388 +0.992082 0.985224 0.952211 0.846105 0.679368 0.544842 0.464027 0.422373 +0.4148 0.407227 0.395867 0.378827 0.388293 0.390187 0.384507 0.373147 +0.373147 0.388293 0.384507 0.358 0.34096 0.348533 0.37504 0.384507 +0.356107 0.344747 0.361787 0.37504 0.358 0.33528 0.33528 0.348533 +0.36936 0.40344 0.47728 0.540421 0.604211 0.637053 0.604211 0.537263 +0.44888 0.376933 0.36368 0.428053 0.507579 0.492427 0.390187 0.36368 +0.382613 0.38072 0.36368 0.359893 0.333387 0.30688 0.31256 0.316347 +0.322027 0.3296 0.36368 0.384507 0.358 0.344747 0.3296 0.320133 +0.327707 0.34096 0.393973 0.456453 0.429947 0.36368 0.354213 0.367467 +0.344747 0.333387 0.337173 0.331493 0.314453 0.339067 0.428053 0.508842 +0.540421 0.542947 0.47728 0.384507 0.39208 0.441307 0.450773 0.411013 +0.399653 0.412907 0.384507 0.359893 0.358 0.365573 0.36368 0.358 +0.356107 0.36936 0.376933 0.412907 0.469707 0.4432 0.388293 0.367467 +0.34664 0.331493 0.35232 0.42616 0.505053 0.469707 0.38072 0.359893 +0.40912 0.44888 0.42048 0.401547 0.498107 0.642737 0.837263 0.967368 +0.968632 0.870105 0.741263 0.642737 0.575158 0.508842 0.42616 0.445093 +0.456453 0.399653 0.36936 0.367467 0.37504 0.39776 0.39776 0.3864 +0.422373 0.48864 0.530947 0.558737 0.548 0.517684 0.508842 0.507579 +0.512 0.519579 0.519579 0.513895 0.519579 0.558105 0.650316 0.818947 +0.958526 0.990449 0.994694 1.01004 1.03355 1.05935 1.22586 1.35671 +1.43584 1.46931 1.4404 1.39932 1.38715 1.39323 1.42062 1.41149 +1.36736 1.27303 1.18173 1.11478 1.05673 1.05445 1.06304 1.10108 +1.07826 1.05249 1.05151 1.05869 1.05935 1.05478 1.04563 1.0378 +1.0329 1.03029 1.03322 1.03878 1.04302 1.0502 1.05249 1.06913 +1.12847 1.13912 1.10108 1.05151 1.04269 1.04465 1.02767 0.997633 +0.980327 0.966105 0.943368 0.929474 0.913684 0.914947 0.953474 0.987837 +1.00318 1.0058 1.00155 0.996 0.985224 0.959789 0.883368 0.687579 +0.524 0.4716 0.502526 0.510737 0.486747 0.506947 0.539789 0.529684 +0.469707 0.395867 0.3864 0.399653 0.37504 0.359893 0.38072 0.38072 +0.382613 0.384507 0.390187 0.412907 0.411013 0.399653 0.42048 0.486747 +0.492427 0.512 0.664842 0.901684 1.00482 1.01331 1.00253 0.909263 +0.683789 0.540421 0.503158 0.44888 0.439413 0.418587 0.384507 0.3864 +0.424267 0.537895 0.704 0.861263 0.875789 0.763368 0.611789 0.514526 +0.435627 0.382613 0.382613 0.39776 0.3864 0.378827 0.388293 0.428053 +0.512632 0.581474 0.656 0.706526 0.718526 0.698947 0.660421 0.594105 +0.509474 0.399653 0.365573 0.34664 0.367467 0.40912 0.395867 0.359893 +0.36936 0.384507 0.37504 0.407227 0.469707 0.450773 0.378827 0.358 +0.35232 0.344747 0.344747 0.33528 0.348533 0.388293 0.43184 0.422373 +0.371253 0.358 0.367467 0.376933 0.37504 0.354213 0.350427 0.350427 +0.36936 0.373147 0.365573 0.365573 0.371253 0.43184 0.513263 0.547368 +0.559368 0.537895 0.490533 0.401547 0.361787 0.354213 0.371253 0.36368 +0.350427 0.359893 0.38072 0.3864 0.367467 0.365573 0.34664 0.339067 +0.358 0.373147 0.39776 0.407227 0.407227 0.395867 0.373147 0.384507 +0.42616 0.508211 0.596632 0.739368 0.877684 0.959789 0.982286 0.980327 +0.970526 0.966737 0.979368 0.993061 1.0022 1.00253 1.0022 1.00155 +1.00384 1.00841 1.00808 1.00678 1.00678 1.00906 1.00939 1.00776 +1.00612 1.00514 1.00547 1.00776 1.00906 1.00808 1.00776 1.00678 +1.0058 1.00449 0.997959 0.98751 0.978737 0.963579 0.954105 0.946526 +0.942105 0.943368 0.952211 0.971158 0.984245 0.978105 0.894737 0.731158 +0.565684 0.429947 0.322027 0.27848 0.280373 0.282267 0.246293 0.000993333 +0.00092 0.000853333 0.000813333 0.000813333 0.00082 0.000766667 0.000773333 0.000786667 +0.00076 0.00074 0.000726667 0.000713333 0.000713333 0.00072 0.000686667 0.000673333 +0.0007 0.000706667 0.000746667 0.000766667 0.000706667 0.000706667 0.000686667 0.000686667 +0.000686667 0.000693333 0.00068 0.000713333 0.000713333 0.0007 0.000686667 0.000693333 +0.00068 0.0007 0.000693333 0.000673333 0.000673333 0.000673333 0.000646667 0.000666667 +0.000693333 0.00068 0.000653333 0.00068 0.0007 0.000693333 0.0007 0.000713333 +0.000686667 0.000686667 0.000693333 0.000713333 0.000713333 0.000706667 0.00074 0.000746667 +0.0007 0.000713333 0.000733333 0.000766667 0.223573 0.310667 0.259547 0.000933333 +0.000886667 0.23872 0.310667 0.248187 0.000846667 0.000826667 0.000913333 0.263333 +0.39208 0.508842 0.647789 0.878947 0.993061 0.991102 0.969263 0.948421 +0.943368 0.949684 0.974947 0.996327 1.01004 1.01298 1.01233 1.012 +1.01037 1.01037 1.01265 1.01331 1.01265 1.01167 1.00841 0.999918 +0.99698 1.00351 1.01102 1.01298 1.01265 1.01233 1.01167 1.00971 +1.00808 1.00678 1.00678 1.00384 0.997959 0.992408 0.990776 0.994694 +0.995347 0.988163 0.973684 0.902947 0.744421 0.585263 0.501895 0.435627 +0.422373 0.422373 0.4148 0.39208 0.388293 0.384507 0.37504 0.36936 +0.367467 0.37504 0.361787 0.342853 0.350427 0.371253 0.401547 0.401547 +0.36936 0.36368 0.39776 0.407227 0.401547 0.384507 0.393973 0.433733 +0.462133 0.504421 0.534737 0.580842 0.617474 0.596 0.534105 0.441307 +0.367467 0.356107 0.35232 0.365573 0.464027 0.501895 0.43184 0.384507 +0.384507 0.395867 0.393973 0.361787 0.31824 0.314453 0.325813 0.327707 +0.3296 0.3296 0.348533 0.399653 0.359893 0.314453 0.31824 0.322027 +0.339067 0.35232 0.36936 0.401547 0.395867 0.367467 0.361787 0.361787 +0.350427 0.33528 0.31824 0.320133 0.31824 0.356107 0.43752 0.48296 +0.512 0.516421 0.458347 0.395867 0.412907 0.456453 0.439413 0.39776 +0.405333 0.40344 0.38072 0.356107 0.342853 0.342853 0.337173 0.337173 +0.344747 0.35232 0.337173 0.365573 0.464027 0.503789 0.441307 0.38072 +0.36368 0.365573 0.429947 0.515158 0.527158 0.479173 0.382613 0.390187 +0.484853 0.492427 0.411013 0.3864 0.450773 0.608632 0.806316 0.931368 +0.899158 0.772211 0.668 0.594737 0.534737 0.4716 0.418587 0.4432 +0.452667 0.411013 0.395867 0.382613 0.371253 0.390187 0.39776 0.393973 +0.435627 0.4716 0.48864 0.519579 0.543579 0.530316 0.506947 0.484853 +0.492427 0.514526 0.527789 0.529053 0.529053 0.566947 0.672421 0.846737 +0.968632 0.990122 0.998286 1.01886 1.04792 1.16347 1.3415 1.4754 +1.55452 1.52409 1.45105 1.39475 1.35367 1.34758 1.33237 1.28672 +1.24868 1.1939 1.12695 1.07674 1.05086 1.04498 1.04988 1.07826 +1.07065 1.05053 1.04629 1.0489 1.05478 1.05412 1.04922 1.04073 +1.03061 1.02637 1.0329 1.03878 1.04041 1.05118 1.0502 1.04988 +1.04955 1.05706 1.13608 1.17564 1.17716 1.19086 1.07826 1.01788 +0.997959 0.993061 0.967368 0.947789 0.931368 0.916211 0.935158 0.955368 +0.983265 0.989143 0.985551 0.982939 0.973684 0.956632 0.868211 0.657895 +0.523368 0.511368 0.505053 0.475387 0.503789 0.573263 0.615579 0.563158 +0.48864 0.39776 0.378827 0.39208 0.376933 0.376933 0.388293 0.37504 +0.399653 0.416693 0.405333 0.390187 0.365573 0.38072 0.428053 0.462133 +0.446987 0.508211 0.661684 0.880842 0.984571 0.989796 0.967368 0.847368 +0.671158 0.594737 0.563789 0.518947 0.498107 0.446987 0.39208 0.393973 +0.40344 0.506947 0.650316 0.819579 0.894105 0.837895 0.661684 0.516421 +0.411013 0.38072 0.384507 0.401547 0.390187 0.378827 0.378827 0.395867 +0.433733 0.506947 0.564421 0.644632 0.700211 0.714737 0.705895 0.648421 +0.547368 0.4432 0.378827 0.358 0.376933 0.422373 0.424267 0.373147 +0.367467 0.390187 0.3864 0.411013 0.47728 0.45456 0.378827 0.358 +0.367467 0.358 0.342853 0.331493 0.344747 0.390187 0.412907 0.378827 +0.35232 0.36936 0.38072 0.388293 0.38072 0.354213 0.35232 0.35232 +0.359893 0.367467 0.36368 0.36368 0.365573 0.3864 0.4432 0.517053 +0.562526 0.589684 0.562526 0.500632 0.376933 0.359893 0.365573 0.34096 +0.327707 0.337173 0.356107 0.373147 0.384507 0.36936 0.342853 0.359893 +0.37504 0.36368 0.37504 0.384507 0.399653 0.39776 0.378827 0.39208 +0.424267 0.520211 0.632 0.785474 0.913053 0.973053 0.983918 0.983592 +0.979368 0.976211 0.985551 0.99502 0.998939 0.998612 1.00155 1.00253 +1.00416 1.00678 1.0071 1.0058 1.0058 1.00776 1.00873 1.0071 +1.00776 1.00678 1.00678 1.00776 1.00971 1.00808 1.0058 1.00514 +1.00286 0.99698 0.986531 0.973684 0.964211 0.955368 0.948421 0.942737 +0.939579 0.947158 0.965474 0.983918 0.982286 0.911789 0.754526 0.585263 +0.439413 0.327707 0.270907 0.246293 0.265227 0.269013 0.240613 0.217893 +0.000953333 0.000873333 0.00082 0.000773333 0.0008 0.000786667 0.000746667 0.000753333 +0.000766667 0.000733333 0.000686667 0.000713333 0.000706667 0.0007 0.000733333 0.00072 +0.0007 0.000713333 0.000726667 0.00074 0.00068 0.000673333 0.000673333 0.000686667 +0.0007 0.000726667 0.00072 0.000746667 0.000753333 0.000713333 0.000706667 0.000726667 +0.00072 0.000726667 0.000713333 0.000686667 0.00068 0.0007 0.000686667 0.00068 +0.000706667 0.000686667 0.00068 0.000713333 0.000713333 0.0007 0.000713333 0.0007 +0.000686667 0.000686667 0.0007 0.000713333 0.00068 0.000713333 0.000766667 0.00074 +0.000686667 0.000673333 0.000713333 0.000746667 0.22168 0.303093 0.265227 0.00096 +0.00092 0.2444 0.303093 0.2444 0.000826667 0.000793333 0.000826667 0.000993333 +0.34096 0.458347 0.573895 0.793053 0.978105 0.995347 0.978737 0.952211 +0.942737 0.945263 0.963579 0.991102 1.00906 1.01429 1.01233 1.012 +1.01004 1.00808 1.00971 1.01069 1.01135 1.01167 1.00971 1.00384 +0.997959 0.998612 1.00645 1.01265 1.01167 1.01135 1.01233 1.01037 +1.00841 1.00645 1.00776 1.00514 0.997959 0.991429 0.989796 0.993714 +0.997959 0.995347 0.98751 0.947789 0.820842 0.650316 0.530316 0.46592 +0.43752 0.43184 0.428053 0.416693 0.416693 0.424267 0.412907 0.411013 +0.422373 0.43184 0.390187 0.356107 0.365573 0.405333 0.439413 0.40912 +0.367467 0.354213 0.378827 0.40912 0.44888 0.464027 0.486747 0.506947 +0.510105 0.519579 0.550526 0.589684 0.599158 0.545474 0.441307 0.359893 +0.344747 0.35232 0.358 0.361787 0.399653 0.44888 0.428053 0.376933 +0.35232 0.39208 0.428053 0.38072 0.31256 0.30688 0.308773 0.316347 +0.3296 0.3296 0.344747 0.399653 0.37504 0.31824 0.314453 0.322027 +0.333387 0.33528 0.339067 0.358 0.365573 0.35232 0.34664 0.361787 +0.367467 0.342853 0.31256 0.31824 0.344747 0.39208 0.429947 0.433733 +0.469707 0.46592 0.411013 0.42048 0.46592 0.4716 0.424267 0.399653 +0.416693 0.412907 0.378827 0.358 0.342853 0.3296 0.33528 0.342853 +0.359893 0.350427 0.32392 0.342853 0.416693 0.509474 0.513895 0.469707 +0.43752 0.4716 0.539789 0.589684 0.586526 0.536 0.498107 0.503158 +0.525895 0.506316 0.411013 0.384507 0.433733 0.586526 0.791789 0.916842 +0.868842 0.728 0.630737 0.559368 0.496213 0.435627 0.411013 0.42048 +0.433733 0.40912 0.399653 0.390187 0.393973 0.405333 0.388293 0.393973 +0.424267 0.428053 0.4148 0.462133 0.527158 0.539158 0.508842 0.462133 +0.458347 0.496213 0.527789 0.551158 0.553684 0.584632 0.707789 0.880211 +0.977474 0.991755 1.0022 1.02604 1.05771 1.22129 1.39019 1.50887 +1.59104 1.54844 1.4541 1.37802 1.33693 1.30802 1.24716 1.18477 +1.14673 1.10565 1.06152 1.05445 1.04824 1.04139 1.04237 1.05478 +1.05543 1.04335 1.03682 1.04269 1.0502 1.04792 1.04629 1.04596 +1.04073 1.03551 1.03649 1.03812 1.03551 1.04073 1.04302 1.04269 +1.04008 1.04139 1.05608 1.11173 1.1589 1.19999 1.16043 1.05216 +1.02996 1.01037 0.981633 0.962316 0.952842 0.938947 0.940842 0.933263 +0.945263 0.947158 0.947158 0.950947 0.957263 0.957263 0.855579 0.647789 +0.537895 0.518316 0.473493 0.435627 0.533474 0.649053 0.666737 0.569474 +0.490533 0.40912 0.384507 0.393973 0.39208 0.390187 0.411013 0.399653 +0.401547 0.407227 0.399653 0.3864 0.361787 0.38072 0.416693 0.422373 +0.411013 0.505053 0.635158 0.812632 0.904211 0.916842 0.871368 0.736211 +0.617474 0.632632 0.640211 0.567579 0.509474 0.43752 0.38072 0.373147 +0.373147 0.450773 0.590947 0.765263 0.884 0.866316 0.693895 0.523368 +0.411013 0.39208 0.395867 0.418587 0.405333 0.38072 0.367467 0.36936 +0.38072 0.40912 0.501263 0.575789 0.652211 0.696421 0.712211 0.686947 +0.611789 0.530316 0.433733 0.37504 0.378827 0.42048 0.450773 0.424267 +0.39776 0.39776 0.412907 0.45456 0.501895 0.479173 0.416693 0.395867 +0.401547 0.393973 0.373147 0.36368 0.373147 0.401547 0.393973 0.354213 +0.337173 0.34664 0.342853 0.339067 0.34096 0.33528 0.337173 0.350427 +0.359893 0.38072 0.371253 0.348533 0.350427 0.367467 0.3864 0.456453 +0.536632 0.609263 0.628211 0.553684 0.439413 0.367467 0.35232 0.342853 +0.34096 0.344747 0.354213 0.36368 0.376933 0.382613 0.382613 0.401547 +0.40912 0.393973 0.376933 0.367467 0.384507 0.3864 0.384507 0.40344 +0.433733 0.537263 0.673684 0.831579 0.940211 0.981959 0.986531 0.986531 +0.980653 0.98 0.989469 0.992735 0.991102 0.992735 0.999265 1.0022 +1.00416 1.00547 1.00514 1.00318 1.00482 1.00841 1.00841 1.00743 +1.00841 1.00873 1.00906 1.00841 1.00743 1.00482 1.00384 1.00318 +0.996327 0.987837 0.974947 0.958526 0.950947 0.946526 0.944 0.945895 +0.950316 0.964842 0.981306 0.980327 0.92379 0.781684 0.604211 0.464027 +0.331493 0.2728 0.223573 0.219787 0.253867 0.265227 0.242507 0.219787 +0.000933333 0.00082 0.00078 0.00076 0.000773333 0.00078 0.000786667 0.000746667 +0.000733333 0.00074 0.000693333 0.000706667 0.000746667 0.00074 0.000726667 0.000713333 +0.00068 0.00068 0.000706667 0.00072 0.00066 0.000646667 0.000686667 0.0007 +0.0007 0.000686667 0.000693333 0.000713333 0.00074 0.000726667 0.00072 0.00072 +0.0007 0.0007 0.000726667 0.000706667 0.000706667 0.000726667 0.000726667 0.000706667 +0.00072 0.000686667 0.00072 0.000726667 0.000713333 0.000686667 0.000713333 0.0007 +0.00072 0.00072 0.000706667 0.000673333 0.00068 0.00072 0.000726667 0.0007 +0.0007 0.00072 0.000733333 0.000746667 0.00096 0.29552 0.28984 0.229253 +0.000986667 0.257653 0.29552 0.231147 0.000793333 0.000766667 0.000793333 0.000906667 +0.297413 0.4148 0.524632 0.704 0.926316 0.994367 0.982939 0.955368 +0.943368 0.942105 0.954105 0.981959 1.0009 1.01004 1.01069 1.01135 +1.01069 1.00808 1.00776 1.01037 1.01069 1.01135 1.01233 1.00873 +1.00286 0.997633 1.00286 1.012 1.01265 1.01167 1.01135 1.00971 +1.00873 1.00678 1.0071 1.0058 0.999592 0.992735 0.987184 0.990449 +1.00188 1.00482 0.996327 0.979368 0.891579 0.733684 0.578316 0.503158 +0.452667 0.441307 0.435627 0.428053 0.439413 0.475387 0.492427 0.506316 +0.507579 0.481067 0.429947 0.412907 0.439413 0.500632 0.505053 0.422373 +0.34664 0.327707 0.348533 0.3864 0.424267 0.445093 0.4716 0.4716 +0.46024 0.503158 0.543579 0.577684 0.572632 0.515158 0.3864 0.342853 +0.337173 0.339067 0.359893 0.36368 0.361787 0.407227 0.428053 0.38072 +0.35232 0.382613 0.439413 0.40344 0.325813 0.304987 0.299307 0.310667 +0.3296 0.34096 0.348533 0.36936 0.371253 0.339067 0.32392 0.314453 +0.31824 0.327707 0.337173 0.34664 0.344747 0.342853 0.337173 0.361787 +0.37504 0.348533 0.32392 0.350427 0.3864 0.412907 0.422373 0.429947 +0.46592 0.435627 0.390187 0.462133 0.512632 0.490533 0.433733 0.4432 +0.445093 0.40344 0.359893 0.348533 0.337173 0.342853 0.350427 0.350427 +0.361787 0.35232 0.33528 0.348533 0.365573 0.473493 0.540421 0.547368 +0.535368 0.552421 0.596632 0.625053 0.623158 0.602316 0.581474 0.576421 +0.561895 0.518316 0.441307 0.407227 0.44888 0.589684 0.803158 0.932 +0.884 0.726105 0.615579 0.544211 0.452667 0.418587 0.4148 0.43184 +0.456453 0.435627 0.42616 0.399653 0.407227 0.412907 0.393973 0.388293 +0.388293 0.384507 0.39776 0.43184 0.508842 0.531579 0.504421 0.467813 +0.479173 0.475387 0.510105 0.540421 0.56 0.602947 0.742526 0.908632 +0.981633 0.99502 1.01102 1.03682 1.08891 1.24411 1.39628 1.53322 +1.63365 1.58343 1.44192 1.3278 1.2852 1.2639 1.21064 1.1376 +1.10869 1.0813 1.05118 1.04139 1.03747 1.03584 1.03453 1.04335 +1.05445 1.04269 1.0342 1.04269 1.04335 1.03616 1.03551 1.03943 +1.04041 1.04008 1.03845 1.03453 1.03714 1.03976 1.03845 1.0378 +1.03943 1.04302 1.05249 1.05837 1.07065 1.11782 1.18325 1.18782 +1.05935 1.0231 0.996 0.988163 0.983592 0.966105 0.952842 0.937684 +0.934526 0.926316 0.932 0.938947 0.949053 0.946526 0.844842 0.655368 +0.542947 0.502526 0.439413 0.452667 0.566947 0.675579 0.641474 0.530947 +0.439413 0.418587 0.395867 0.3864 0.37504 0.38072 0.418587 0.428053 +0.39776 0.382613 0.376933 0.38072 0.373147 0.388293 0.395867 0.395867 +0.411013 0.5 0.592842 0.725474 0.801895 0.819579 0.770316 0.631368 +0.548 0.608 0.661053 0.616211 0.539158 0.433733 0.35232 0.35232 +0.365573 0.418587 0.539158 0.695158 0.837895 0.846737 0.701474 0.527789 +0.401547 0.395867 0.424267 0.441307 0.424267 0.4148 0.405333 0.378827 +0.376933 0.399653 0.46024 0.524632 0.577053 0.641474 0.694526 0.708421 +0.676842 0.609895 0.529684 0.43184 0.390187 0.412907 0.47728 0.501263 +0.490533 0.492427 0.511368 0.534737 0.554947 0.550526 0.530316 0.506947 +0.48296 0.46024 0.435627 0.412907 0.393973 0.40344 0.39208 0.36936 +0.356107 0.354213 0.34096 0.325813 0.333387 0.337173 0.32392 0.325813 +0.350427 0.39776 0.40344 0.356107 0.339067 0.344747 0.350427 0.39208 +0.48864 0.565684 0.618737 0.584632 0.512632 0.39208 0.342853 0.35232 +0.36936 0.371253 0.3864 0.395867 0.388293 0.39776 0.399653 0.407227 +0.42616 0.42616 0.40912 0.39208 0.393973 0.376933 0.38072 0.40912 +0.473493 0.583368 0.744421 0.884632 0.961053 0.984571 0.98751 0.986531 +0.978737 0.981306 0.989796 0.986857 0.985224 0.990449 0.997633 1.00057 +1.00253 1.00482 1.00351 1.0022 1.00449 1.00645 1.00743 1.00808 +1.00906 1.00873 1.00841 1.00841 1.00645 1.00286 0.998286 0.994041 +0.985551 0.974947 0.961053 0.948421 0.944632 0.944 0.945263 0.956632 +0.971789 0.984571 0.983918 0.92821 0.794947 0.625684 0.49432 0.344747 +0.280373 0.217893 0.000946667 0.22168 0.25576 0.270907 0.2444 0.000986667 +0.00092 0.00082 0.000753333 0.000766667 0.000773333 0.00076 0.000766667 0.000753333 +0.000726667 0.000746667 0.00074 0.00072 0.000706667 0.00072 0.000713333 0.0007 +0.00068 0.000666667 0.000686667 0.000706667 0.000686667 0.00068 0.00072 0.000733333 +0.00072 0.000693333 0.000706667 0.00068 0.000693333 0.000706667 0.000693333 0.00068 +0.000673333 0.000646667 0.000686667 0.000686667 0.000686667 0.000693333 0.0007 0.000693333 +0.00072 0.00072 0.000726667 0.000693333 0.000686667 0.000713333 0.000733333 0.000726667 +0.00074 0.000733333 0.000713333 0.000713333 0.000713333 0.000726667 0.0007 0.0007 +0.00072 0.000733333 0.000733333 0.00074 0.00088 0.263333 0.293627 0.257653 +0.246293 0.269013 0.276587 0.217893 0.000786667 0.000773333 0.000793333 0.00082 +0.236827 0.365573 0.48296 0.62 0.851158 0.985551 0.986857 0.964842 +0.946526 0.940842 0.946526 0.969263 0.992735 1.00514 1.01037 1.01167 +1.01102 1.00612 1.00416 1.00645 1.00939 1.01004 1.01167 1.01167 +1.00678 0.997633 0.997633 1.0071 1.01298 1.01298 1.01135 1.01004 +1.01167 1.01037 1.00873 1.00678 1.0022 0.996653 0.989796 0.991429 +1.00286 1.01135 1.01069 0.995347 0.945263 0.818316 0.645895 0.523368 +0.456453 0.446987 0.44888 0.428053 0.42616 0.492427 0.522737 0.536632 +0.535368 0.517684 0.512632 0.518947 0.529684 0.534737 0.513895 0.4148 +0.348533 0.333387 0.342853 0.365573 0.373147 0.373147 0.382613 0.376933 +0.395867 0.505684 0.559368 0.571368 0.548 0.505053 0.401547 0.34664 +0.322027 0.331493 0.34664 0.342853 0.356107 0.405333 0.429947 0.395867 +0.37504 0.384507 0.422373 0.390187 0.333387 0.31824 0.316347 0.316347 +0.333387 0.34096 0.337173 0.34096 0.356107 0.358 0.331493 0.316347 +0.325813 0.34096 0.344747 0.34096 0.337173 0.333387 0.33528 0.344747 +0.358 0.356107 0.358 0.382613 0.39208 0.395867 0.399653 0.4148 +0.441307 0.412907 0.401547 0.5 0.516421 0.490533 0.469707 0.501263 +0.46592 0.382613 0.344747 0.3296 0.34096 0.350427 0.34664 0.354213 +0.373147 0.371253 0.382613 0.390187 0.367467 0.4432 0.547368 0.574526 +0.558105 0.554947 0.561263 0.561895 0.573263 0.594737 0.608632 0.615579 +0.604211 0.573895 0.530947 0.506947 0.516421 0.621895 0.828421 0.954105 +0.902316 0.722316 0.59979 0.534737 0.450773 0.435627 0.429947 0.450773 +0.475387 0.4432 0.429947 0.405333 0.395867 0.407227 0.40344 0.388293 +0.371253 0.373147 0.393973 0.407227 0.475387 0.524632 0.501263 0.458347 +0.501895 0.498107 0.490533 0.512 0.546105 0.614947 0.770316 0.929474 +0.985551 0.999918 1.02376 1.0538 1.14977 1.27759 1.41301 1.57735 +1.68538 1.62908 1.45105 1.31107 1.24107 1.18021 1.12999 1.09348 +1.08739 1.07826 1.04988 1.03747 1.03322 1.03616 1.03388 1.03682 +1.04988 1.04204 1.0378 1.04106 1.03845 1.03224 1.02898 1.02996 +1.02963 1.03224 1.0342 1.02735 1.03682 1.04106 1.03812 1.03649 +1.03747 1.04465 1.05935 1.06456 1.05641 1.07522 1.1376 1.19847 +1.16043 1.06456 1.04792 1.03453 1.01494 0.98849 0.962947 0.947789 +0.937684 0.929474 0.941474 0.945895 0.948421 0.933895 0.837263 0.656 +0.529684 0.458347 0.422373 0.44888 0.553684 0.625053 0.563789 0.450773 +0.40344 0.418587 0.390187 0.367467 0.359893 0.361787 0.411013 0.4432 +0.407227 0.36936 0.367467 0.373147 0.38072 0.390187 0.37504 0.393973 +0.43752 0.47728 0.552421 0.651579 0.714737 0.734947 0.684421 0.558737 +0.490533 0.542316 0.606105 0.631368 0.597263 0.516421 0.39208 0.378827 +0.382613 0.390187 0.48864 0.615579 0.750105 0.773474 0.674947 0.529053 +0.378827 0.382613 0.43184 0.452667 0.435627 0.43752 0.428053 0.395867 +0.4148 0.44888 0.467813 0.46592 0.503789 0.56 0.635158 0.692632 +0.709053 0.678105 0.607368 0.538526 0.502526 0.501263 0.527158 0.545474 +0.546105 0.544842 0.550526 0.565684 0.582105 0.578316 0.550526 0.512 +0.46592 0.44888 0.43752 0.40344 0.384507 0.382613 0.378827 0.39208 +0.399653 0.399653 0.395867 0.36368 0.339067 0.331493 0.31824 0.327707 +0.354213 0.390187 0.395867 0.371253 0.348533 0.344747 0.358 0.376933 +0.411013 0.503158 0.548632 0.565684 0.536 0.467813 0.384507 0.361787 +0.373147 0.373147 0.384507 0.395867 0.384507 0.401547 0.40344 0.401547 +0.399653 0.39776 0.40344 0.407227 0.407227 0.3864 0.388293 0.424267 +0.525263 0.661053 0.829684 0.937053 0.978105 0.986531 0.987184 0.982286 +0.975579 0.984898 0.990122 0.985224 0.984898 0.990776 0.999265 1.00286 +1.00351 1.00384 1.00057 1.00122 1.0058 1.0058 1.00547 1.00645 +1.00873 1.00873 1.00776 1.00645 1.0022 0.99698 0.988816 0.98098 +0.971158 0.964211 0.959158 0.948421 0.948421 0.952842 0.956632 0.972421 +0.983592 0.984898 0.941474 0.807579 0.634526 0.507579 0.348533 0.28416 +0.236827 0.000913333 0.00094 0.23304 0.25576 0.263333 0.236827 0.000973333 +0.000913333 0.00086 0.000766667 0.000733333 0.000726667 0.00074 0.000746667 0.000753333 +0.00074 0.000746667 0.00076 0.000726667 0.000693333 0.000693333 0.00072 0.000713333 +0.000706667 0.000693333 0.00068 0.000686667 0.0007 0.000706667 0.000713333 0.000733333 +0.00074 0.000706667 0.000726667 0.0007 0.000706667 0.000706667 0.000706667 0.000693333 +0.000693333 0.000666667 0.000673333 0.00068 0.000686667 0.000693333 0.000693333 0.000673333 +0.000693333 0.000713333 0.000713333 0.00068 0.000693333 0.000686667 0.00068 0.000686667 +0.0007 0.00072 0.000706667 0.000693333 0.000726667 0.000713333 0.0007 0.000713333 +0.000733333 0.000713333 0.000726667 0.000733333 0.000793333 0.219787 0.269013 0.265227 +0.257653 0.251973 0.25008 0.000966667 0.000813333 0.0008 0.000773333 0.00074 +0.000946667 0.325813 0.429947 0.552421 0.756421 0.950947 0.992408 0.980327 +0.951579 0.941474 0.942737 0.956 0.984898 1.00024 1.00873 1.01037 +1.00971 1.00678 1.00416 1.00514 1.00645 1.00678 1.00939 1.01069 +1.00808 1.00188 0.996 0.997306 1.00514 1.01004 1.01037 1.01037 +1.01233 1.01167 1.01135 1.00808 1.00482 1.00286 0.997633 0.997306 +1.00449 1.01559 1.02473 1.01886 0.991429 0.898526 0.731158 0.568211 +0.479173 0.445093 0.446987 0.418587 0.411013 0.484853 0.521474 0.536 +0.548632 0.547368 0.553053 0.557474 0.548 0.524632 0.46592 0.376933 +0.34664 0.342853 0.342853 0.35232 0.34664 0.342853 0.339067 0.337173 +0.42616 0.539789 0.578947 0.551789 0.512 0.492427 0.456453 0.38072 +0.33528 0.350427 0.344747 0.337173 0.361787 0.390187 0.399653 0.399653 +0.390187 0.3864 0.407227 0.384507 0.35232 0.337173 0.316347 0.314453 +0.33528 0.333387 0.31256 0.30688 0.327707 0.350427 0.337173 0.339067 +0.350427 0.356107 0.359893 0.34664 0.34096 0.34096 0.34096 0.3296 +0.337173 0.358 0.376933 0.37504 0.361787 0.36368 0.373147 0.37504 +0.384507 0.39208 0.439413 0.508211 0.504421 0.467813 0.479173 0.492427 +0.428053 0.36368 0.339067 0.337173 0.356107 0.356107 0.354213 0.37504 +0.40344 0.405333 0.42048 0.422373 0.405333 0.48296 0.538526 0.539158 +0.511368 0.47728 0.473493 0.501263 0.516421 0.533474 0.545474 0.568842 +0.594105 0.608 0.594737 0.571368 0.575789 0.669895 0.844211 0.952211 +0.885263 0.695789 0.573895 0.524632 0.4716 0.503789 0.503789 0.46592 +0.446987 0.412907 0.399653 0.39776 0.395867 0.407227 0.401547 0.376933 +0.358 0.373147 0.40344 0.405333 0.4716 0.537263 0.520842 0.46592 +0.486747 0.48864 0.481067 0.503158 0.536 0.626947 0.796842 0.945895 +0.990776 1.00808 1.03584 1.09804 1.22738 1.33085 1.44192 1.57126 +1.62604 1.56517 1.43127 1.32628 1.21825 1.08739 1.05412 1.0538 +1.05478 1.05804 1.05314 1.04531 1.0378 1.03976 1.03714 1.03159 +1.03584 1.03355 1.03486 1.0342 1.03355 1.03453 1.03094 1.02898 +1.02963 1.02996 1.02996 1.02702 1.03551 1.0391 1.03714 1.0342 +1.03518 1.03976 1.05151 1.05216 1.04857 1.05151 1.05412 1.07826 +1.15282 1.24107 1.2639 1.14977 1.04139 1.00514 0.982612 0.968 +0.952842 0.943368 0.953474 0.956 0.955368 0.933895 0.836632 0.654737 +0.523368 0.46024 0.4148 0.42048 0.527158 0.564421 0.508211 0.40344 +0.401547 0.390187 0.38072 0.36936 0.354213 0.359893 0.40912 0.446987 +0.40912 0.373147 0.359893 0.359893 0.36936 0.365573 0.359893 0.412907 +0.475387 0.46024 0.522737 0.601053 0.665474 0.691368 0.638316 0.525263 +0.42048 0.473493 0.532211 0.585895 0.623789 0.583368 0.509474 0.43184 +0.399653 0.388293 0.422373 0.547368 0.651579 0.683789 0.630105 0.524632 +0.36936 0.36936 0.429947 0.462133 0.43752 0.445093 0.45456 0.445093 +0.462133 0.462133 0.428053 0.388293 0.39208 0.481067 0.556842 0.641474 +0.699579 0.704632 0.672421 0.620632 0.573263 0.554316 0.560632 0.562526 +0.549263 0.532842 0.520842 0.514526 0.515789 0.507579 0.46592 0.40912 +0.378827 0.367467 0.378827 0.367467 0.371253 0.388293 0.37504 0.37504 +0.382613 0.378827 0.378827 0.358 0.337173 0.33528 0.33528 0.327707 +0.344747 0.356107 0.36368 0.378827 0.361787 0.339067 0.34664 0.359893 +0.382613 0.4148 0.47728 0.529053 0.542947 0.518947 0.462133 0.39208 +0.37504 0.37504 0.371253 0.371253 0.36368 0.384507 0.407227 0.401547 +0.382613 0.373147 0.37504 0.382613 0.371253 0.365573 0.395867 0.486747 +0.600421 0.765895 0.901053 0.961684 0.982939 0.990122 0.989143 0.980327 +0.969263 0.978737 0.982939 0.981306 0.986204 0.994367 1.00057 1.00286 +1.00482 1.00449 0.999265 1.00122 1.00416 1.00612 1.00514 1.0058 +1.0071 1.00645 1.00645 1.00253 0.994694 0.988163 0.98098 0.969895 +0.960421 0.958526 0.959789 0.950316 0.949053 0.956632 0.969263 0.984245 +0.985224 0.943368 0.823368 0.650947 0.508842 0.354213 0.303093 0.2444 +0.000953333 0.000906667 0.000953333 0.229253 0.248187 0.25576 0.236827 0.00096 +0.00088 0.000846667 0.000773333 0.000733333 0.000726667 0.00074 0.000753333 0.00074 +0.000753333 0.000746667 0.00074 0.000706667 0.000693333 0.000693333 0.000686667 0.000693333 +0.0007 0.000693333 0.000706667 0.0007 0.000693333 0.000706667 0.000706667 0.0007 +0.000693333 0.00068 0.000686667 0.000686667 0.000706667 0.000726667 0.000713333 0.0007 +0.000706667 0.000706667 0.000733333 0.000766667 0.000733333 0.000733333 0.00072 0.0007 +0.000706667 0.00072 0.000693333 0.00068 0.0007 0.000666667 0.000666667 0.000686667 +0.0007 0.000713333 0.000706667 0.00068 0.00072 0.000713333 0.000666667 0.000686667 +0.000713333 0.000706667 0.000726667 0.000726667 0.00074 0.00086 0.000966667 0.217893 +0.22736 0.22168 0.217893 0.0009 0.000813333 0.00082 0.00078 0.000753333 +0.000893333 0.286053 0.399653 0.506947 0.657895 0.884 0.989796 0.987837 +0.961684 0.947789 0.943368 0.947158 0.975579 0.99502 1.00645 1.00939 +1.00873 1.00808 1.00645 1.00645 1.00547 1.0022 1.00612 1.01037 +1.00906 1.00776 0.999592 0.992408 0.996 1.0058 1.00939 1.01167 +1.01102 1.00841 1.00971 1.00808 1.00612 1.00645 1.00449 1.00482 +1.00841 1.01755 1.03061 1.04008 1.02931 0.981959 0.825263 0.646526 +0.526526 0.467813 0.450773 0.435627 0.429947 0.4432 0.467813 0.48296 +0.507579 0.518947 0.533474 0.533474 0.512 0.456453 0.378827 0.34096 +0.33528 0.344747 0.34096 0.331493 0.325813 0.3296 0.327707 0.365573 +0.512 0.573263 0.565684 0.510105 0.42616 0.445093 0.467813 0.411013 +0.361787 0.359893 0.34664 0.344747 0.350427 0.348533 0.361787 0.37504 +0.356107 0.371253 0.3864 0.384507 0.371253 0.350427 0.320133 0.32392 +0.337173 0.31824 0.303093 0.297413 0.322027 0.34096 0.339067 0.350427 +0.373147 0.384507 0.378827 0.358 0.348533 0.354213 0.361787 0.350427 +0.350427 0.371253 0.376933 0.367467 0.365573 0.37504 0.37504 0.36368 +0.365573 0.411013 0.500632 0.513895 0.484853 0.450773 0.452667 0.428053 +0.382613 0.354213 0.344747 0.35232 0.361787 0.36368 0.358 0.371253 +0.384507 0.390187 0.405333 0.416693 0.446987 0.510737 0.517053 0.479173 +0.422373 0.390187 0.418587 0.481067 0.501895 0.509474 0.512 0.519579 +0.536632 0.562526 0.585263 0.587158 0.608632 0.698316 0.833474 0.911789 +0.823368 0.650316 0.553053 0.518316 0.486747 0.516421 0.526526 0.48296 +0.428053 0.42048 0.40912 0.405333 0.401547 0.399653 0.390187 0.37504 +0.354213 0.373147 0.411013 0.422373 0.479173 0.537263 0.537895 0.505053 +0.4716 0.473493 0.486747 0.505053 0.536632 0.638947 0.824 0.959789 +0.994041 1.01755 1.04531 1.13304 1.26694 1.33998 1.43432 1.518 +1.56517 1.53626 1.39932 1.29433 1.20151 1.08587 1.05576 1.04824 +1.04498 1.05151 1.05118 1.04988 1.04041 1.03453 1.03551 1.02669 +1.02702 1.03355 1.03127 1.02898 1.03061 1.03257 1.03061 1.02702 +1.03127 1.0329 1.03322 1.03486 1.03714 1.03682 1.03714 1.03453 +1.03747 1.03747 1.03943 1.03682 1.03551 1.04171 1.04759 1.04922 +1.0551 1.15586 1.2715 1.22433 1.0813 1.03322 1.00416 0.985878 +0.971158 0.962316 0.969895 0.969263 0.968 0.942105 0.847368 0.667368 +0.530947 0.486747 0.422373 0.42616 0.524632 0.547368 0.5 0.40344 +0.39208 0.373147 0.390187 0.388293 0.367467 0.365573 0.407227 0.46024 +0.422373 0.378827 0.361787 0.359893 0.358 0.350427 0.358 0.422373 +0.473493 0.439413 0.492427 0.562526 0.641474 0.681263 0.627579 0.516421 +0.407227 0.428053 0.469707 0.524 0.596632 0.626316 0.563158 0.473493 +0.40344 0.401547 0.407227 0.502526 0.573263 0.607368 0.586526 0.522737 +0.399653 0.367467 0.411013 0.464027 0.456453 0.46024 0.475387 0.467813 +0.462133 0.433733 0.395867 0.358 0.356107 0.39208 0.490533 0.564421 +0.642105 0.692 0.704 0.679368 0.626947 0.570737 0.535368 0.517684 +0.5 0.456453 0.429947 0.407227 0.405333 0.388293 0.36368 0.361787 +0.354213 0.34664 0.359893 0.354213 0.354213 0.38072 0.38072 0.36936 +0.361787 0.350427 0.344747 0.3296 0.333387 0.339067 0.34096 0.327707 +0.33528 0.34664 0.35232 0.38072 0.365573 0.331493 0.325813 0.337173 +0.358 0.36936 0.39776 0.5 0.534105 0.527158 0.490533 0.418587 +0.3864 0.378827 0.38072 0.378827 0.384507 0.401547 0.42048 0.40344 +0.382613 0.38072 0.37504 0.37504 0.36368 0.367467 0.429947 0.547368 +0.700211 0.86 0.944632 0.974947 0.986204 0.990122 0.986204 0.974947 +0.964842 0.966105 0.969263 0.973684 0.988816 0.999265 1.00318 1.00253 +1.00318 1.00155 0.99698 1.00155 1.00482 1.00645 1.00612 1.00645 +1.0071 1.00612 1.00253 0.995673 0.985878 0.978737 0.969263 0.959158 +0.953474 0.955368 0.956632 0.949684 0.954105 0.973684 0.985224 0.98849 +0.953474 0.828421 0.661684 0.518947 0.35232 0.314453 0.27848 0.000993333 +0.000893333 0.000886667 0.000906667 0.000993333 0.246293 0.26144 0.2444 0.000973333 +0.000853333 0.00082 0.0008 0.000766667 0.00076 0.000753333 0.00076 0.00072 +0.000733333 0.000726667 0.000713333 0.000706667 0.0007 0.000706667 0.000693333 0.000706667 +0.000713333 0.000706667 0.00072 0.00072 0.000693333 0.000713333 0.000726667 0.0007 +0.00068 0.0007 0.0007 0.00072 0.00072 0.000733333 0.000733333 0.000713333 +0.000733333 0.000733333 0.000733333 0.000753333 0.000713333 0.000726667 0.00074 0.00072 +0.00072 0.00072 0.000686667 0.000673333 0.000693333 0.000693333 0.000713333 0.000726667 +0.0007 0.0007 0.000693333 0.0007 0.000726667 0.0007 0.000666667 0.0007 +0.0007 0.0007 0.00074 0.00076 0.00076 0.000786667 0.000786667 0.00082 +0.00088 0.000873333 0.000866667 0.000813333 0.000786667 0.000793333 0.00078 0.0008 +0.000846667 0.229253 0.342853 0.429947 0.574526 0.790526 0.970526 0.99502 +0.974947 0.952211 0.943368 0.945263 0.968632 0.989143 1.0022 1.00841 +1.00971 1.01004 1.00939 1.01004 1.00841 1.00122 1.00482 1.01102 +1.01102 1.01135 1.00612 0.99502 0.994694 1.00384 1.00873 1.01233 +1.01135 1.00678 1.00547 1.00743 1.00678 1.00678 1.0071 1.00906 +1.01592 1.02539 1.0342 1.05086 1.07217 1.03192 0.930737 0.743789 +0.581474 0.503158 0.45456 0.43752 0.412907 0.393973 0.378827 0.36936 +0.388293 0.43184 0.475387 0.469707 0.435627 0.40912 0.376933 0.354213 +0.344747 0.356107 0.342853 0.327707 0.322027 0.316347 0.333387 0.433733 +0.544842 0.574526 0.526526 0.42048 0.36368 0.38072 0.42048 0.424267 +0.39208 0.361787 0.34664 0.34096 0.337173 0.337173 0.35232 0.367467 +0.342853 0.342853 0.34664 0.358 0.382613 0.390187 0.36936 0.348533 +0.34096 0.333387 0.31824 0.310667 0.327707 0.342853 0.337173 0.34664 +0.371253 0.399653 0.395867 0.371253 0.361787 0.382613 0.40344 0.382613 +0.37504 0.384507 0.37504 0.365573 0.365573 0.373147 0.390187 0.390187 +0.39776 0.492427 0.528421 0.519579 0.48296 0.458347 0.4432 0.39776 +0.354213 0.34096 0.356107 0.378827 0.36936 0.354213 0.365573 0.365573 +0.359893 0.373147 0.422373 0.479173 0.517053 0.523368 0.47728 0.40344 +0.39208 0.378827 0.40344 0.46592 0.509474 0.537263 0.540421 0.516421 +0.505684 0.517053 0.543579 0.563789 0.615579 0.707789 0.812 0.860632 +0.760211 0.62 0.546737 0.522737 0.503158 0.508842 0.520842 0.486747 +0.446987 0.458347 0.446987 0.43752 0.42048 0.39776 0.382613 0.37504 +0.36368 0.376933 0.390187 0.40912 0.43752 0.506316 0.525263 0.518316 +0.486747 0.45456 0.479173 0.506316 0.540421 0.650316 0.844842 0.969263 +0.995347 1.02343 1.05282 1.17108 1.28063 1.30346 1.37345 1.47844 +1.58648 1.54539 1.35367 1.23651 1.18477 1.10413 1.05935 1.04596 +1.03714 1.04171 1.03682 1.03845 1.03747 1.02735 1.03159 1.028 +1.02931 1.04008 1.03453 1.02931 1.02767 1.028 1.028 1.02604 +1.03322 1.03616 1.0342 1.03486 1.03649 1.03616 1.03649 1.0342 +1.0342 1.03518 1.03453 1.02898 1.03094 1.04237 1.05347 1.05249 +1.04629 1.05771 1.18629 1.24411 1.16499 1.05053 1.01722 0.994367 +0.981959 0.971158 0.974947 0.976842 0.973053 0.948421 0.870105 0.695789 +0.539789 0.48864 0.439413 0.46024 0.532211 0.553053 0.513895 0.418587 +0.388293 0.388293 0.407227 0.411013 0.401547 0.428053 0.503789 0.516421 +0.46024 0.388293 0.36936 0.359893 0.358 0.344747 0.356107 0.412907 +0.446987 0.416693 0.435627 0.532211 0.619368 0.671158 0.629474 0.519579 +0.39776 0.4148 0.42616 0.46024 0.544842 0.617474 0.601684 0.521474 +0.441307 0.411013 0.405333 0.433733 0.510105 0.543579 0.551789 0.521474 +0.429947 0.371253 0.395867 0.4432 0.450773 0.446987 0.445093 0.446987 +0.439413 0.40344 0.382613 0.361787 0.358 0.384507 0.418587 0.492427 +0.553053 0.632632 0.694526 0.702737 0.65979 0.584 0.517684 0.456453 +0.412907 0.39776 0.390187 0.382613 0.388293 0.373147 0.358 0.36368 +0.371253 0.36936 0.376933 0.36368 0.354213 0.373147 0.376933 0.36368 +0.358 0.38072 0.382613 0.35232 0.35232 0.344747 0.337173 0.325813 +0.3296 0.33528 0.342853 0.367467 0.36936 0.350427 0.333387 0.32392 +0.32392 0.34096 0.367467 0.450773 0.518947 0.509474 0.428053 0.39208 +0.37504 0.358 0.367467 0.390187 0.42048 0.429947 0.44888 0.441307 +0.416693 0.405333 0.390187 0.382613 0.382613 0.422373 0.520211 0.638316 +0.799368 0.913684 0.959789 0.98098 0.989469 0.989796 0.983265 0.966105 +0.956 0.955368 0.962316 0.980653 0.995673 1.00155 1.00188 1.00253 +1.00253 0.999265 0.998286 1.00416 1.0058 1.00612 1.00678 1.00743 +1.0058 1.0022 0.996 0.987184 0.974947 0.962316 0.952842 0.949684 +0.954105 0.958526 0.957895 0.957895 0.971789 0.987837 0.991755 0.963579 +0.840421 0.663579 0.521474 0.350427 0.30688 0.293627 0.240613 0.0009 +0.000853333 0.00086 0.000886667 0.000986667 0.25576 0.274693 0.248187 0.00094 +0.000793333 0.000753333 0.000793333 0.000786667 0.000753333 0.000726667 0.000726667 0.000726667 +0.00072 0.00072 0.000713333 0.000706667 0.000706667 0.000706667 0.0007 0.000693333 +0.000706667 0.00068 0.000686667 0.00074 0.000666667 0.000686667 0.0007 0.0007 +0.000706667 0.000753333 0.000746667 0.000753333 0.00074 0.00076 0.000726667 0.000706667 +0.000713333 0.000726667 0.000713333 0.000733333 0.000733333 0.000746667 0.00074 0.00074 +0.000726667 0.000713333 0.000713333 0.000686667 0.000686667 0.0007 0.000733333 0.00072 +0.000686667 0.000673333 0.00068 0.000686667 0.000706667 0.0007 0.00068 0.000693333 +0.000686667 0.000713333 0.000746667 0.000753333 0.000766667 0.00078 0.000733333 0.000773333 +0.00082 0.000806667 0.000833333 0.000806667 0.000793333 0.000766667 0.00074 0.000786667 +0.000813333 0.000853333 0.274693 0.38072 0.516421 0.685684 0.904211 0.993714 +0.985551 0.960421 0.946526 0.947158 0.959158 0.98098 0.994367 1.00514 +1.00841 1.01004 1.01004 1.01004 1.00971 1.00416 1.00645 1.01167 +1.01135 1.012 1.00939 1.00122 0.997959 1.00482 1.00939 1.01167 +1.01233 1.00873 1.0058 1.00776 1.00645 1.00776 1.00971 1.01429 +1.02441 1.03453 1.04008 1.05086 1.11326 1.13152 1.01984 0.858105 +0.661053 0.533474 0.456453 0.40912 0.376933 0.361787 0.356107 0.354213 +0.36936 0.40912 0.42616 0.42048 0.399653 0.399653 0.401547 0.378827 +0.35232 0.350427 0.348533 0.34664 0.342853 0.348533 0.401547 0.514526 +0.568211 0.555579 0.475387 0.367467 0.34096 0.348533 0.376933 0.418587 +0.422373 0.384507 0.354213 0.333387 0.344747 0.350427 0.344747 0.371253 +0.365573 0.3296 0.337173 0.348533 0.395867 0.452667 0.43752 0.378827 +0.354213 0.36368 0.350427 0.337173 0.339067 0.344747 0.34096 0.339067 +0.348533 0.388293 0.418587 0.418587 0.401547 0.39776 0.4148 0.401547 +0.371253 0.36936 0.382613 0.382613 0.371253 0.384507 0.4148 0.388293 +0.42048 0.523368 0.542316 0.525895 0.513263 0.501895 0.450773 0.384507 +0.350427 0.348533 0.358 0.373147 0.38072 0.359893 0.376933 0.39208 +0.3864 0.393973 0.445093 0.506947 0.531579 0.517053 0.42048 0.36936 +0.365573 0.365573 0.373147 0.43184 0.512 0.546737 0.540421 0.501263 +0.467813 0.503789 0.533474 0.568211 0.643368 0.724842 0.786105 0.801263 +0.717895 0.618105 0.551158 0.517684 0.48296 0.44888 0.475387 0.464027 +0.481067 0.496213 0.452667 0.428053 0.412907 0.393973 0.3864 0.38072 +0.378827 0.38072 0.390187 0.412907 0.4148 0.446987 0.48296 0.509474 +0.503158 0.46024 0.473493 0.505684 0.543579 0.660421 0.856211 0.971158 +0.99502 1.02278 1.0538 1.18934 1.28215 1.28976 1.33693 1.47083 +1.61995 1.5317 1.30498 1.18782 1.13152 1.05673 1.05053 1.04269 +1.03486 1.03518 1.02408 1.02343 1.03192 1.02931 1.03322 1.03388 +1.03388 1.04041 1.04041 1.03486 1.02702 1.028 1.03159 1.03257 +1.0378 1.03812 1.0342 1.03224 1.03355 1.03486 1.03649 1.03518 +1.028 1.03224 1.03322 1.03029 1.04041 1.05249 1.05771 1.0551 +1.05445 1.06913 1.16651 1.24259 1.21368 1.06456 1.03224 1.01233 +0.996327 0.980327 0.969895 0.978737 0.980327 0.960421 0.900421 0.734947 +0.554316 0.473493 0.446987 0.484853 0.529053 0.537263 0.518316 0.46592 +0.416693 0.418587 0.428053 0.45456 0.5 0.532842 0.560632 0.542947 +0.479173 0.405333 0.39776 0.373147 0.371253 0.350427 0.34664 0.388293 +0.422373 0.405333 0.433733 0.522105 0.590947 0.648421 0.629474 0.525895 +0.405333 0.416693 0.424267 0.428053 0.505684 0.575789 0.601053 0.550526 +0.506316 0.44888 0.42048 0.40344 0.418587 0.481067 0.524632 0.520842 +0.43752 0.367467 0.39208 0.418587 0.43184 0.450773 0.441307 0.43752 +0.452667 0.42048 0.382613 0.365573 0.36368 0.373147 0.3864 0.39776 +0.4716 0.563158 0.658526 0.710316 0.692632 0.632632 0.554947 0.47728 +0.405333 0.390187 0.373147 0.365573 0.36936 0.367467 0.356107 0.361787 +0.384507 0.411013 0.43752 0.424267 0.393973 0.395867 0.39208 0.356107 +0.350427 0.39776 0.411013 0.36368 0.361787 0.354213 0.3296 0.322027 +0.320133 0.325813 0.337173 0.339067 0.350427 0.358 0.344747 0.3296 +0.322027 0.325813 0.350427 0.429947 0.514526 0.502526 0.388293 0.36368 +0.365573 0.361787 0.359893 0.384507 0.412907 0.429947 0.467813 0.475387 +0.441307 0.418587 0.40912 0.399653 0.39776 0.481067 0.588421 0.748211 +0.879579 0.943368 0.969263 0.983918 0.989143 0.985878 0.977474 0.959789 +0.949684 0.950947 0.968632 0.989143 1.00122 1.00286 1.0022 1.0009 +0.996327 0.997633 1.00286 1.00645 1.00482 1.00416 1.00678 1.00873 +1.00416 0.993714 0.985224 0.974947 0.962316 0.953474 0.948421 0.950316 +0.955368 0.957895 0.960421 0.973053 0.98751 0.994367 0.970526 0.853053 +0.676211 0.523368 0.348533 0.297413 0.291733 0.248187 0.00094 0.000833333 +0.000833333 0.00088 0.00092 0.223573 0.265227 0.27848 0.236827 0.000866667 +0.000753333 0.000753333 0.000786667 0.000773333 0.00074 0.000733333 0.00074 0.00074 +0.000713333 0.0007 0.0007 0.000706667 0.000693333 0.000686667 0.000686667 0.000686667 +0.000713333 0.000693333 0.000693333 0.000733333 0.00066 0.000666667 0.000686667 0.000693333 +0.000693333 0.000726667 0.00072 0.000726667 0.000726667 0.000726667 0.000706667 0.000686667 +0.000713333 0.000726667 0.00072 0.00072 0.000726667 0.000713333 0.000706667 0.00072 +0.0007 0.0007 0.000706667 0.000686667 0.000693333 0.000726667 0.000726667 0.000693333 +0.0007 0.00072 0.000733333 0.00074 0.000713333 0.000686667 0.000693333 0.000686667 +0.000693333 0.000726667 0.000726667 0.0007 0.000726667 0.000733333 0.000726667 0.000766667 +0.0008 0.000793333 0.000833333 0.000826667 0.0008 0.000773333 0.00074 0.00078 +0.0008 0.000773333 0.22168 0.34096 0.456453 0.590316 0.801263 0.973053 +0.993061 0.978737 0.957263 0.949684 0.951579 0.963579 0.984898 1.00057 +1.00841 1.00971 1.00939 1.00841 1.00906 1.00776 1.00971 1.01135 +1.00873 1.01102 1.01135 1.00808 1.00188 1.00286 1.00776 1.01135 +1.01396 1.01265 1.00906 1.00971 1.0071 1.00873 1.01298 1.02049 +1.0342 1.04629 1.04922 1.04922 1.07217 1.20912 1.14673 0.988163 +0.765263 0.588421 0.501263 0.4148 0.378827 0.36936 0.373147 0.37504 +0.401547 0.43752 0.416693 0.399653 0.38072 0.39208 0.411013 0.388293 +0.361787 0.350427 0.344747 0.354213 0.376933 0.428053 0.510737 0.557474 +0.580211 0.532842 0.407227 0.348533 0.350427 0.354213 0.361787 0.395867 +0.429947 0.42616 0.382613 0.35232 0.356107 0.365573 0.365573 0.376933 +0.3864 0.35232 0.356107 0.36368 0.418587 0.503789 0.492427 0.401547 +0.359893 0.356107 0.358 0.365573 0.371253 0.356107 0.34664 0.35232 +0.35232 0.378827 0.424267 0.456453 0.433733 0.407227 0.40912 0.393973 +0.358 0.356107 0.378827 0.39208 0.39776 0.43184 0.435627 0.3864 +0.446987 0.525895 0.537895 0.539158 0.539789 0.515789 0.441307 0.373147 +0.354213 0.359893 0.367467 0.365573 0.365573 0.365573 0.37504 0.429947 +0.45456 0.4432 0.450773 0.479173 0.513263 0.506947 0.405333 0.350427 +0.358 0.367467 0.38072 0.42048 0.486747 0.523368 0.516421 0.4432 +0.43184 0.500632 0.539158 0.595368 0.68 0.733684 0.738737 0.716 +0.674947 0.628211 0.566316 0.512 0.439413 0.38072 0.388293 0.424267 +0.484853 0.506947 0.46024 0.405333 0.390187 0.3864 0.38072 0.376933 +0.39776 0.40912 0.405333 0.4148 0.43184 0.433733 0.42048 0.479173 +0.509474 0.501895 0.49432 0.505053 0.549263 0.678737 0.869474 0.970526 +0.992082 1.01722 1.04857 1.1589 1.24564 1.28672 1.3415 1.47844 +1.62452 1.54691 1.31259 1.16347 1.06609 1.04269 1.04302 1.04531 +1.04041 1.03257 1.01984 1.02049 1.028 1.02996 1.02931 1.03224 +1.0342 1.03551 1.04008 1.04237 1.03453 1.03322 1.03878 1.04041 +1.04302 1.04171 1.03976 1.03584 1.03061 1.02963 1.03682 1.04106 +1.03127 1.03453 1.03682 1.03812 1.04824 1.05412 1.05771 1.06152 +1.08587 1.11326 1.14521 1.22433 1.30498 1.21673 1.07674 1.03976 +1.01755 0.991755 0.972421 0.980327 0.983918 0.972421 0.923158 0.772211 +0.580842 0.484853 0.45456 0.498107 0.522105 0.517053 0.512 0.500632 +0.46592 0.462133 0.44888 0.469707 0.509474 0.538526 0.539789 0.506316 +0.43184 0.412907 0.42616 0.401547 0.390187 0.36936 0.34664 0.36936 +0.40344 0.416693 0.462133 0.505684 0.548 0.631368 0.638316 0.535368 +0.439413 0.439413 0.42616 0.42048 0.464027 0.532842 0.570105 0.549895 +0.508211 0.45456 0.428053 0.4148 0.407227 0.42616 0.509474 0.517053 +0.42616 0.36368 0.384507 0.4148 0.43752 0.484853 0.47728 0.458347 +0.496213 0.4716 0.40912 0.36936 0.359893 0.367467 0.37504 0.38072 +0.405333 0.510105 0.597263 0.68 0.704 0.676842 0.609263 0.524 +0.433733 0.388293 0.36936 0.373147 0.37504 0.359893 0.342853 0.35232 +0.378827 0.416693 0.45456 0.44888 0.418587 0.42048 0.401547 0.348533 +0.337173 0.36368 0.36936 0.339067 0.342853 0.342853 0.325813 0.316347 +0.320133 0.339067 0.350427 0.337173 0.333387 0.337173 0.333387 0.342853 +0.342853 0.339067 0.361787 0.435627 0.518316 0.513895 0.418587 0.361787 +0.361787 0.373147 0.371253 0.388293 0.40344 0.429947 0.46024 0.446987 +0.416693 0.411013 0.411013 0.401547 0.450773 0.553684 0.693263 0.839789 +0.924421 0.962316 0.98098 0.98849 0.98849 0.98098 0.965474 0.952842 +0.949053 0.961053 0.983265 0.994041 1.00024 1.00188 1.00351 0.998612 +0.994041 0.999265 1.00449 1.00612 1.0058 1.00645 1.00776 1.00514 +0.996327 0.984571 0.974316 0.961053 0.953474 0.950947 0.950316 0.949684 +0.949053 0.954105 0.971789 0.989143 0.996 0.981306 0.867579 0.686947 +0.529053 0.348533 0.29552 0.28984 0.26144 0.000953333 0.00084 0.000813333 +0.000833333 0.0009 0.000966667 0.2444 0.287947 0.27848 0.217893 0.000813333 +0.000746667 0.000706667 0.000726667 0.000733333 0.00072 0.000726667 0.000746667 0.000726667 +0.0007 0.000713333 0.000693333 0.000713333 0.000713333 0.0007 0.000706667 0.0007 +0.000706667 0.0007 0.000673333 0.00068 0.000713333 0.00072 0.00074 0.00074 +0.000713333 0.00072 0.000713333 0.000713333 0.000713333 0.000706667 0.000713333 0.00072 +0.00074 0.000726667 0.000693333 0.0007 0.0007 0.000693333 0.000693333 0.000666667 +0.000646667 0.00066 0.00066 0.000653333 0.00068 0.000713333 0.000713333 0.000693333 +0.000713333 0.000733333 0.000746667 0.000733333 0.000726667 0.000713333 0.000713333 0.000713333 +0.000693333 0.000706667 0.000713333 0.000706667 0.00074 0.00076 0.000746667 0.00078 +0.0008 0.000786667 0.000786667 0.00078 0.000773333 0.00078 0.00078 0.000813333 +0.000806667 0.000773333 0.000886667 0.28984 0.40344 0.523368 0.688211 0.902947 +0.992735 0.990122 0.973053 0.955368 0.949684 0.953474 0.975579 0.997306 +1.00939 1.01037 1.00841 1.00841 1.00906 1.00743 1.01037 1.01069 +1.00939 1.00939 1.01037 1.01233 1.00743 1.00122 1.00384 1.00841 +1.01265 1.01363 1.01167 1.01069 1.00873 1.01069 1.01461 1.02441 +1.04237 1.05837 1.06456 1.05576 1.05804 1.16499 1.25477 1.05478 +0.898526 0.671789 0.538526 0.456453 0.418587 0.412907 0.393973 0.393973 +0.445093 0.4716 0.40912 0.38072 0.36368 0.376933 0.40344 0.39208 +0.367467 0.356107 0.356107 0.367467 0.405333 0.503789 0.546737 0.560632 +0.548 0.504421 0.37504 0.344747 0.354213 0.367467 0.358 0.361787 +0.395867 0.412907 0.37504 0.348533 0.34096 0.361787 0.384507 0.39776 +0.411013 0.390187 0.367467 0.395867 0.452667 0.504421 0.45456 0.376933 +0.348533 0.331493 0.34096 0.35232 0.359893 0.356107 0.36936 0.405333 +0.422373 0.428053 0.441307 0.4432 0.4148 0.412907 0.424267 0.37504 +0.342853 0.344747 0.359893 0.373147 0.390187 0.42616 0.411013 0.40344 +0.500632 0.532211 0.544842 0.558105 0.543579 0.501895 0.40344 0.371253 +0.356107 0.35232 0.37504 0.373147 0.359893 0.361787 0.390187 0.45456 +0.48296 0.424267 0.39208 0.378827 0.441307 0.501263 0.422373 0.34664 +0.359893 0.373147 0.407227 0.429947 0.4432 0.505053 0.502526 0.43752 +0.4432 0.508842 0.553053 0.621895 0.700842 0.726105 0.682526 0.625684 +0.625684 0.634526 0.598526 0.534737 0.467813 0.405333 0.395867 0.399653 +0.428053 0.498107 0.506947 0.4716 0.418587 0.390187 0.3864 0.388293 +0.395867 0.42048 0.428053 0.42048 0.422373 0.42616 0.42616 0.456453 +0.510737 0.513263 0.503789 0.507579 0.553684 0.685053 0.873263 0.968 +0.986857 1.01037 1.04433 1.12239 1.21216 1.26085 1.31411 1.41149 +1.48909 1.50735 1.34606 1.16195 1.05837 1.04041 1.03518 1.03551 +1.03682 1.03061 1.0231 1.02571 1.02767 1.03029 1.03061 1.03584 +1.03616 1.03192 1.03584 1.04367 1.03649 1.03224 1.03616 1.03551 +1.03682 1.03747 1.04073 1.03976 1.03388 1.02996 1.03943 1.04302 +1.03322 1.03943 1.04335 1.04139 1.04106 1.04073 1.04857 1.05706 +1.08739 1.1163 1.10565 1.16651 1.30498 1.26694 1.12999 1.05673 +1.0391 1.01461 0.990122 0.985878 0.989143 0.981959 0.945895 0.811368 +0.613684 0.505684 0.473493 0.501895 0.514526 0.503789 0.49432 0.48296 +0.473493 0.469707 0.42616 0.4148 0.422373 0.450773 0.45456 0.405333 +0.3864 0.393973 0.429947 0.40912 0.393973 0.382613 0.36368 0.371253 +0.40912 0.450773 0.45456 0.424267 0.510737 0.621895 0.645895 0.544842 +0.46024 0.42616 0.393973 0.384507 0.411013 0.492427 0.540421 0.542947 +0.498107 0.399653 0.373147 0.38072 0.4148 0.429947 0.490533 0.502526 +0.399653 0.348533 0.361787 0.390187 0.418587 0.475387 0.501263 0.496213 +0.506316 0.49432 0.416693 0.376933 0.37504 0.395867 0.401547 0.393973 +0.388293 0.422373 0.520211 0.602316 0.670526 0.688842 0.657895 0.584632 +0.509474 0.405333 0.373147 0.378827 0.373147 0.358 0.35232 0.36936 +0.40344 0.411013 0.401547 0.382613 0.36936 0.399653 0.39776 0.356107 +0.344747 0.344747 0.342853 0.331493 0.322027 0.320133 0.320133 0.31256 +0.31824 0.322027 0.331493 0.34096 0.34664 0.350427 0.35232 0.36936 +0.373147 0.371253 0.390187 0.44888 0.516421 0.515789 0.435627 0.367467 +0.36368 0.382613 0.39208 0.401547 0.40344 0.435627 0.4716 0.441307 +0.40912 0.39776 0.3864 0.401547 0.522105 0.653474 0.808842 0.909895 +0.956632 0.98 0.985551 0.987837 0.984571 0.969895 0.957263 0.951579 +0.950947 0.971789 0.988816 0.997633 1.00286 1.00384 1.00286 0.996653 +0.996327 1.00416 1.00612 1.00449 1.00449 1.00743 1.00678 0.998286 +0.985878 0.973053 0.965474 0.957263 0.952211 0.950947 0.948421 0.946526 +0.952211 0.967368 0.986857 0.999592 0.989143 0.893474 0.713474 0.539158 +0.337173 0.2728 0.287947 0.274693 0.22736 0.00088 0.000806667 0.000806667 +0.000853333 0.000913333 0.217893 0.265227 0.286053 0.246293 0.000893333 0.000766667 +0.00074 0.0007 0.000686667 0.000713333 0.000706667 0.000693333 0.00072 0.000726667 +0.000726667 0.000753333 0.000733333 0.000726667 0.000733333 0.000706667 0.000686667 0.000706667 +0.000693333 0.000686667 0.000673333 0.000666667 0.00072 0.00074 0.000766667 0.000753333 +0.00074 0.000733333 0.000726667 0.000726667 0.00072 0.00072 0.000733333 0.00074 +0.000753333 0.000733333 0.00074 0.000746667 0.000726667 0.00072 0.000713333 0.000686667 +0.000686667 0.0007 0.000706667 0.0007 0.0007 0.0007 0.0007 0.000686667 +0.000693333 0.000706667 0.000713333 0.000693333 0.000686667 0.000706667 0.000693333 0.000686667 +0.000673333 0.000686667 0.00072 0.00072 0.000753333 0.00074 0.00072 0.00076 +0.000806667 0.0008 0.000766667 0.000753333 0.000786667 0.000786667 0.0008 0.000826667 +0.0008 0.000753333 0.000806667 0.23872 0.358 0.467813 0.594105 0.805053 +0.974316 0.996327 0.984898 0.963579 0.948421 0.947789 0.962947 0.989796 +1.00547 1.01069 1.01037 1.01069 1.01004 1.00678 1.00841 1.01004 +1.01135 1.01102 1.00939 1.01233 1.01233 1.00416 1.00024 1.00351 +1.00939 1.01233 1.01233 1.01135 1.00971 1.01167 1.01559 1.02408 +1.04335 1.09956 1.13608 1.10869 1.07369 1.09195 1.20151 1.21064 +1.01461 0.794316 0.599158 0.509474 0.445093 0.416693 0.388293 0.395867 +0.452667 0.462133 0.395867 0.36936 0.36936 0.36368 0.37504 0.38072 +0.371253 0.367467 0.373147 0.393973 0.473493 0.530316 0.537263 0.509474 +0.490533 0.464027 0.393973 0.34664 0.361787 0.384507 0.361787 0.337173 +0.34664 0.36936 0.356107 0.34096 0.333387 0.358 0.382613 0.39776 +0.4148 0.416693 0.395867 0.4148 0.429947 0.411013 0.361787 0.344747 +0.348533 0.342853 0.337173 0.34096 0.342853 0.36368 0.39208 0.4432 +0.47728 0.467813 0.445093 0.424267 0.401547 0.42616 0.452667 0.39208 +0.356107 0.359893 0.38072 0.36368 0.378827 0.42616 0.4148 0.433733 +0.514526 0.544842 0.568842 0.572632 0.527789 0.428053 0.365573 0.36936 +0.365573 0.367467 0.395867 0.412907 0.401547 0.388293 0.40912 0.4432 +0.405333 0.358 0.34096 0.33528 0.390187 0.506316 0.49432 0.384507 +0.37504 0.393973 0.42616 0.422373 0.42616 0.490533 0.48296 0.44888 +0.48864 0.529684 0.577684 0.649684 0.710947 0.709053 0.633263 0.556211 +0.579579 0.635158 0.643368 0.587158 0.520211 0.479173 0.45456 0.412907 +0.388293 0.429947 0.503789 0.509474 0.490533 0.46024 0.43184 0.39208 +0.382613 0.416693 0.445093 0.4432 0.433733 0.435627 0.439413 0.44888 +0.505053 0.512 0.502526 0.509474 0.545474 0.673053 0.865684 0.960421 +0.983265 1.0071 1.03943 1.09956 1.1939 1.23194 1.27759 1.34911 +1.39019 1.44345 1.29737 1.08891 1.04727 1.03976 1.03094 1.02408 +1.02637 1.02669 1.02408 1.02898 1.02931 1.02604 1.03029 1.03976 +1.03976 1.03322 1.03616 1.04139 1.03159 1.028 1.028 1.02637 +1.02963 1.03355 1.03747 1.03812 1.03551 1.02996 1.03486 1.0342 +1.03029 1.0378 1.04073 1.03551 1.02931 1.02865 1.03224 1.03649 +1.04857 1.07065 1.07674 1.1376 1.26694 1.29585 1.22586 1.16195 +1.07978 1.04073 1.01102 0.998286 0.999918 0.991102 0.968632 0.849263 +0.645263 0.517684 0.486747 0.505053 0.506947 0.4716 0.46024 0.46592 +0.456453 0.452667 0.42616 0.39776 0.376933 0.371253 0.399653 0.388293 +0.36936 0.3864 0.411013 0.395867 0.388293 0.38072 0.365573 0.378827 +0.42616 0.452667 0.416693 0.376933 0.47728 0.592842 0.624421 0.540421 +0.433733 0.390187 0.37504 0.361787 0.365573 0.418587 0.517684 0.542947 +0.508211 0.395867 0.35232 0.358 0.411013 0.418587 0.4432 0.473493 +0.401547 0.344747 0.344747 0.358 0.378827 0.42048 0.479173 0.500632 +0.5 0.479173 0.42048 0.393973 0.40344 0.405333 0.401547 0.390187 +0.373147 0.373147 0.42048 0.525895 0.610526 0.674316 0.691368 0.649053 +0.563789 0.479173 0.3864 0.382613 0.37504 0.36368 0.365573 0.382613 +0.40344 0.395867 0.371253 0.356107 0.34096 0.378827 0.39208 0.344747 +0.32392 0.331493 0.34096 0.339067 0.327707 0.320133 0.31256 0.303093 +0.316347 0.331493 0.339067 0.344747 0.344747 0.34664 0.365573 0.401547 +0.429947 0.43184 0.42048 0.450773 0.508842 0.508842 0.42616 0.37504 +0.367467 0.38072 0.39208 0.393973 0.388293 0.418587 0.46592 0.446987 +0.4148 0.407227 0.412907 0.484853 0.595368 0.760842 0.892842 0.950947 +0.98098 0.988163 0.989796 0.98751 0.978105 0.956632 0.948421 0.957263 +0.967368 0.986531 0.997306 1.00188 1.00547 1.00416 1.0009 0.997633 +1.00024 1.00514 1.00482 1.00384 1.00612 1.00743 1.00318 0.991429 +0.98 0.966105 0.960421 0.956 0.954105 0.950947 0.947789 0.949684 +0.966737 0.986531 0.99698 0.996 0.928842 0.750737 0.565053 0.36368 +0.259547 0.276587 0.287947 0.236827 0.000926667 0.000866667 0.000826667 0.00082 +0.000846667 0.000913333 0.23304 0.28416 0.269013 0.000946667 0.000793333 0.000746667 +0.000746667 0.00074 0.000713333 0.000706667 0.000713333 0.000706667 0.000746667 0.000753333 +0.00074 0.000746667 0.000726667 0.000693333 0.000693333 0.000693333 0.00068 0.00068 +0.0007 0.000713333 0.000693333 0.000673333 0.000713333 0.000733333 0.00074 0.000713333 +0.00072 0.00074 0.00074 0.00072 0.000693333 0.000686667 0.000706667 0.000726667 +0.000706667 0.000706667 0.000726667 0.000726667 0.000693333 0.0007 0.000713333 0.00072 +0.00074 0.000753333 0.000746667 0.000746667 0.00074 0.00072 0.000706667 0.0007 +0.0007 0.00072 0.000713333 0.000706667 0.000686667 0.000686667 0.000693333 0.0007 +0.00072 0.00074 0.000726667 0.000713333 0.00072 0.000706667 0.000713333 0.000733333 +0.00076 0.000773333 0.000766667 0.000773333 0.00078 0.00078 0.00078 0.000806667 +0.000793333 0.000766667 0.000793333 0.00094 0.304987 0.405333 0.524632 0.688842 +0.902316 0.993388 0.992735 0.971158 0.947789 0.944 0.951579 0.976842 +0.99502 1.00678 1.01233 1.01167 1.00873 1.00743 1.00808 1.00743 +1.01004 1.01167 1.01102 1.01069 1.01233 1.00939 1.00155 0.999265 +1.00482 1.01004 1.01331 1.01298 1.012 1.012 1.01461 1.02016 +1.03714 1.12695 1.23803 1.21977 1.13608 1.06 1.11173 1.23194 +1.11326 0.940842 0.695158 0.548632 0.469707 0.405333 0.382613 0.39776 +0.4432 0.429947 0.376933 0.36368 0.38072 0.373147 0.367467 0.38072 +0.384507 0.38072 0.39208 0.46024 0.525263 0.540421 0.505684 0.422373 +0.40912 0.441307 0.418587 0.356107 0.358 0.388293 0.36936 0.344747 +0.342853 0.34664 0.356107 0.342853 0.35232 0.359893 0.365573 0.365573 +0.405333 0.446987 0.428053 0.395867 0.378827 0.342853 0.3296 0.333387 +0.342853 0.350427 0.350427 0.34096 0.342853 0.371253 0.395867 0.422373 +0.43752 0.433733 0.418587 0.405333 0.378827 0.382613 0.407227 0.378827 +0.356107 0.358 0.36936 0.367467 0.399653 0.46024 0.48864 0.505053 +0.536 0.575158 0.611158 0.590316 0.513895 0.384507 0.365573 0.388293 +0.3864 0.395867 0.416693 0.401547 0.3864 0.37504 0.390187 0.4148 +0.365573 0.350427 0.359893 0.342853 0.388293 0.510737 0.521474 0.456453 +0.4148 0.428053 0.43184 0.411013 0.43184 0.498107 0.48296 0.464027 +0.508842 0.555579 0.608 0.675579 0.718526 0.688842 0.583368 0.502526 +0.527158 0.589684 0.623789 0.592842 0.527158 0.475387 0.439413 0.40912 +0.390187 0.393973 0.422373 0.46024 0.484853 0.492427 0.469707 0.416693 +0.384507 0.407227 0.452667 0.46592 0.429947 0.42616 0.433733 0.4716 +0.517053 0.512632 0.5 0.512 0.541053 0.669263 0.864421 0.957263 +0.982286 1.00416 1.03159 1.05771 1.14217 1.19086 1.24107 1.35063 +1.44953 1.43584 1.23955 1.05902 1.04171 1.03943 1.0329 1.02408 +1.02604 1.02669 1.02278 1.03061 1.03616 1.02931 1.02898 1.03551 +1.03714 1.03355 1.03845 1.03976 1.02963 1.02604 1.02506 1.02865 +1.03486 1.03518 1.03322 1.0378 1.03747 1.03355 1.03616 1.03388 +1.02963 1.03159 1.03159 1.02833 1.02376 1.02473 1.02669 1.03192 +1.04531 1.06609 1.10413 1.1589 1.26846 1.35671 1.31259 1.18782 +1.07369 1.04465 1.02376 1.01298 1.01069 0.998286 0.981633 0.883368 +0.679368 0.532842 0.501263 0.511368 0.503158 0.456453 0.450773 0.441307 +0.411013 0.40912 0.43184 0.433733 0.395867 0.356107 0.378827 0.384507 +0.36368 0.378827 0.378827 0.373147 0.393973 0.39208 0.371253 0.40344 +0.43752 0.42048 0.390187 0.373147 0.458347 0.566947 0.601053 0.534105 +0.412907 0.376933 0.382613 0.37504 0.367467 0.378827 0.49432 0.546105 +0.530316 0.433733 0.35232 0.348533 0.378827 0.371253 0.388293 0.458347 +0.4432 0.378827 0.34664 0.331493 0.344747 0.376933 0.441307 0.475387 +0.45456 0.456453 0.450773 0.43184 0.418587 0.405333 0.401547 0.382613 +0.359893 0.359893 0.37504 0.441307 0.553684 0.654105 0.722316 0.704632 +0.625684 0.537895 0.446987 0.401547 0.382613 0.36936 0.371253 0.376933 +0.38072 0.365573 0.354213 0.356107 0.35232 0.39208 0.40912 0.348533 +0.320133 0.327707 0.31824 0.316347 0.327707 0.333387 0.3296 0.325813 +0.327707 0.34664 0.348533 0.34096 0.337173 0.339067 0.361787 0.39208 +0.435627 0.433733 0.401547 0.412907 0.481067 0.506316 0.446987 0.376933 +0.359893 0.36936 0.373147 0.376933 0.388293 0.418587 0.446987 0.433733 +0.407227 0.407227 0.45456 0.553053 0.703368 0.864421 0.950947 0.978737 +0.98849 0.992735 0.992082 0.987837 0.978737 0.958526 0.952211 0.962947 +0.98098 0.995347 1.00188 1.00286 1.0058 1.00514 1.00024 1.00155 +1.00514 1.00743 1.0071 1.00808 1.00939 1.00482 0.99502 0.982939 +0.968632 0.957895 0.957895 0.960421 0.957263 0.953474 0.953474 0.961053 +0.983265 0.996653 0.995347 0.948421 0.789263 0.593474 0.399653 0.265227 +0.263333 0.286053 0.257653 0.000933333 0.000873333 0.00088 0.000853333 0.000833333 +0.000853333 0.000966667 0.263333 0.291733 0.240613 0.000866667 0.000766667 0.00074 +0.000726667 0.00072 0.000713333 0.000733333 0.00074 0.00072 0.000766667 0.00076 +0.000726667 0.000713333 0.000713333 0.0007 0.000693333 0.0007 0.000693333 0.00068 +0.0007 0.00072 0.0007 0.000666667 0.0007 0.0007 0.000726667 0.00072 +0.00074 0.000773333 0.000746667 0.000713333 0.000706667 0.000706667 0.000706667 0.000726667 +0.000686667 0.000686667 0.000713333 0.000693333 0.000686667 0.000713333 0.000726667 0.00072 +0.00072 0.000726667 0.00072 0.00072 0.00072 0.00072 0.000706667 0.000706667 +0.00072 0.000726667 0.000713333 0.00068 0.000686667 0.0007 0.000693333 0.000726667 +0.000746667 0.00074 0.000733333 0.000733333 0.00074 0.000713333 0.000753333 0.000766667 +0.000766667 0.00076 0.00076 0.000766667 0.000786667 0.000793333 0.000773333 0.000793333 +0.00078 0.00078 0.000813333 0.000846667 0.22736 0.337173 0.445093 0.580842 +0.786737 0.961684 0.995347 0.982286 0.954105 0.942737 0.941474 0.956 +0.982939 0.999592 1.01004 1.01102 1.00776 1.00873 1.01069 1.00971 +1.00939 1.00971 1.012 1.01069 1.01102 1.01167 1.0058 0.999918 +1.0009 1.0058 1.01135 1.01167 1.012 1.01167 1.01233 1.0182 +1.03094 1.10869 1.31107 1.35976 1.25781 1.095 1.05837 1.16499 +1.22738 1.028 0.820211 0.612421 0.512 0.428053 0.412907 0.412907 +0.428053 0.412907 0.376933 0.354213 0.365573 0.3864 0.399653 0.405333 +0.40912 0.411013 0.450773 0.515158 0.539789 0.532211 0.46592 0.393973 +0.388293 0.4148 0.42048 0.38072 0.36936 0.38072 0.356107 0.337173 +0.33528 0.342853 0.37504 0.378827 0.356107 0.339067 0.35232 0.36936 +0.40344 0.424267 0.405333 0.376933 0.34664 0.337173 0.33528 0.322027 +0.320133 0.337173 0.344747 0.327707 0.35232 0.390187 0.416693 0.445093 +0.450773 0.441307 0.42616 0.38072 0.337173 0.325813 0.34096 0.35232 +0.350427 0.354213 0.37504 0.405333 0.433733 0.467813 0.510737 0.532842 +0.570737 0.628211 0.656 0.594105 0.484853 0.356107 0.365573 0.39208 +0.388293 0.395867 0.393973 0.361787 0.337173 0.34096 0.382613 0.401547 +0.36936 0.376933 0.37504 0.356107 0.390187 0.49432 0.514526 0.490533 +0.45456 0.450773 0.42048 0.411013 0.445093 0.501895 0.48864 0.469707 +0.518316 0.580211 0.636421 0.697053 0.721053 0.666105 0.547368 0.439413 +0.479173 0.534737 0.573263 0.565684 0.517053 0.43752 0.407227 0.40344 +0.393973 0.390187 0.38072 0.388293 0.405333 0.439413 0.473493 0.446987 +0.395867 0.39776 0.450773 0.484853 0.43184 0.412907 0.435627 0.49432 +0.518316 0.505053 0.48864 0.504421 0.527789 0.659158 0.861895 0.955368 +0.98 0.999592 1.02343 1.04433 1.06 1.10717 1.15434 1.27911 +1.44497 1.39628 1.20455 1.06304 1.03943 1.03518 1.0329 1.02441 +1.02441 1.028 1.02865 1.03094 1.03682 1.03649 1.03388 1.03355 +1.03355 1.03257 1.0391 1.03943 1.03127 1.02669 1.02767 1.03682 +1.04465 1.04106 1.03257 1.03714 1.03747 1.03682 1.04073 1.03976 +1.03061 1.02963 1.03257 1.03322 1.02506 1.0218 1.02473 1.03616 +1.04694 1.05935 1.10413 1.12695 1.20912 1.31107 1.27759 1.12847 +1.05249 1.04171 1.03127 1.02245 1.0169 1.00416 0.988816 0.911158 +0.715368 0.551158 0.514526 0.518947 0.481067 0.435627 0.43752 0.411013 +0.3864 0.376933 0.422373 0.46592 0.428053 0.371253 0.37504 0.382613 +0.36368 0.359893 0.35232 0.356107 0.3864 0.38072 0.395867 0.433733 +0.428053 0.393973 0.3864 0.3864 0.481067 0.568211 0.600421 0.537895 +0.424267 0.399653 0.40912 0.390187 0.36936 0.361787 0.452667 0.538526 +0.542316 0.484853 0.365573 0.344747 0.350427 0.342853 0.35232 0.424267 +0.44888 0.39776 0.350427 0.331493 0.34096 0.38072 0.435627 0.46024 +0.424267 0.42616 0.458347 0.43752 0.40344 0.388293 0.38072 0.371253 +0.35232 0.344747 0.361787 0.393973 0.507579 0.612421 0.721684 0.733053 +0.674947 0.602947 0.529684 0.44888 0.382613 0.371253 0.36936 0.367467 +0.367467 0.371253 0.371253 0.367467 0.373147 0.4148 0.435627 0.378827 +0.342853 0.34664 0.327707 0.32392 0.333387 0.337173 0.33528 0.333387 +0.327707 0.34664 0.350427 0.333387 0.33528 0.344747 0.356107 0.373147 +0.39208 0.373147 0.356107 0.37504 0.439413 0.507579 0.490533 0.39776 +0.359893 0.36368 0.359893 0.361787 0.388293 0.42616 0.450773 0.43752 +0.412907 0.424267 0.520842 0.650316 0.823368 0.944632 0.986857 0.993061 +0.997306 0.998286 0.992735 0.983918 0.975579 0.968 0.964842 0.974947 +0.990449 1.00024 1.0009 1.00155 1.00612 1.00645 1.00318 1.00547 +1.0071 1.00743 1.00873 1.01102 1.00776 0.996 0.984245 0.971789 +0.961053 0.955368 0.959789 0.962947 0.955368 0.954105 0.963579 0.978105 +0.991755 0.997633 0.961053 0.813895 0.618105 0.43752 0.280373 0.251973 +0.2728 0.26712 0.216 0.000866667 0.000866667 0.000893333 0.000866667 0.000873333 +0.00096 0.25008 0.29552 0.269013 0.000913333 0.000773333 0.000753333 0.000726667 +0.000706667 0.000693333 0.000706667 0.000753333 0.000766667 0.000733333 0.00074 0.00074 +0.000726667 0.00072 0.000706667 0.000713333 0.0007 0.00068 0.000673333 0.000673333 +0.00068 0.000693333 0.000706667 0.0007 0.000706667 0.000693333 0.000693333 0.00068 +0.000693333 0.000713333 0.000693333 0.0007 0.000706667 0.000706667 0.00072 0.000713333 +0.000693333 0.0007 0.000706667 0.000693333 0.000706667 0.00072 0.00072 0.00072 +0.00072 0.000733333 0.000726667 0.000726667 0.000713333 0.000713333 0.000706667 0.00072 +0.000726667 0.0007 0.00068 0.000673333 0.000666667 0.000673333 0.00068 0.0007 +0.0007 0.000693333 0.000693333 0.000713333 0.000713333 0.000706667 0.000753333 0.000773333 +0.000753333 0.00074 0.000733333 0.000773333 0.0008 0.000793333 0.000773333 0.000786667 +0.000813333 0.00082 0.000826667 0.000793333 0.000866667 0.276587 0.39208 0.513895 +0.65979 0.875789 0.989796 0.991755 0.970526 0.944632 0.937053 0.944632 +0.967368 0.991102 1.00449 1.00939 1.00873 1.00939 1.01265 1.01233 +1.01037 1.00906 1.01102 1.01102 1.01069 1.01135 1.00873 1.00351 +1.00057 1.00122 1.00678 1.01069 1.01167 1.01167 1.01069 1.01494 +1.02539 1.05739 1.28824 1.44801 1.3978 1.18934 1.05837 1.10413 +1.2289 1.10413 0.949053 0.710316 0.556211 0.48296 0.4432 0.416693 +0.4148 0.416693 0.390187 0.36368 0.36936 0.407227 0.429947 0.439413 +0.456453 0.46592 0.505053 0.525895 0.531579 0.519579 0.441307 0.390187 +0.390187 0.3864 0.40344 0.39776 0.393973 0.390187 0.350427 0.32392 +0.322027 0.342853 0.38072 0.376933 0.348533 0.342853 0.34664 0.365573 +0.373147 0.361787 0.36368 0.36368 0.33528 0.331493 0.339067 0.333387 +0.32392 0.32392 0.337173 0.350427 0.393973 0.428053 0.445093 0.464027 +0.44888 0.44888 0.44888 0.36936 0.325813 0.31824 0.31824 0.33528 +0.348533 0.36936 0.388293 0.407227 0.43184 0.44888 0.509474 0.548 +0.611158 0.679368 0.674947 0.575789 0.439413 0.34096 0.348533 0.365573 +0.36936 0.373147 0.365573 0.350427 0.337173 0.35232 0.39208 0.39776 +0.359893 0.371253 0.371253 0.365573 0.395867 0.446987 0.467813 0.464027 +0.46024 0.45456 0.42048 0.40912 0.446987 0.504421 0.498107 0.481067 +0.527789 0.601684 0.660421 0.711579 0.716632 0.637684 0.522737 0.435627 +0.446987 0.505684 0.546105 0.554316 0.524632 0.469707 0.429947 0.428053 +0.42048 0.40344 0.373147 0.378827 0.388293 0.401547 0.428053 0.435627 +0.40912 0.39776 0.445093 0.500632 0.452667 0.42048 0.45456 0.490533 +0.498107 0.46592 0.4716 0.484853 0.512632 0.638316 0.847368 0.947158 +0.972421 0.995347 1.01657 1.03322 1.04824 1.06761 1.12695 1.21673 +1.3415 1.2852 1.1376 1.05641 1.03878 1.0329 1.02833 1.0218 +1.02147 1.02539 1.03159 1.02669 1.02571 1.03388 1.03518 1.03127 +1.02898 1.02931 1.03257 1.03584 1.03159 1.028 1.02898 1.03616 +1.04335 1.03943 1.03747 1.04008 1.03649 1.03453 1.03453 1.03355 +1.028 1.03192 1.03812 1.03878 1.03388 1.03094 1.03224 1.04041 +1.04694 1.05608 1.08282 1.09652 1.16347 1.26085 1.25324 1.12999 +1.05869 1.04727 1.03649 1.02669 1.01853 1.00808 0.991102 0.925053 +0.746316 0.573895 0.531579 0.522737 0.46592 0.429947 0.43184 0.407227 +0.393973 0.371253 0.393973 0.44888 0.43752 0.401547 0.378827 0.373147 +0.35232 0.350427 0.359893 0.365573 0.376933 0.371253 0.399653 0.42616 +0.411013 0.39208 0.399653 0.42048 0.508842 0.578316 0.596632 0.532211 +0.42616 0.412907 0.42616 0.390187 0.376933 0.378827 0.43752 0.520211 +0.539158 0.517684 0.424267 0.361787 0.348533 0.339067 0.333387 0.388293 +0.433733 0.39776 0.361787 0.350427 0.354213 0.39208 0.4432 0.46024 +0.441307 0.433733 0.462133 0.439413 0.39776 0.373147 0.365573 0.36368 +0.348533 0.34664 0.371253 0.390187 0.42616 0.536632 0.639579 0.693895 +0.691368 0.65979 0.592211 0.518947 0.441307 0.40912 0.390187 0.378827 +0.367467 0.373147 0.373147 0.371253 0.37504 0.401547 0.433733 0.388293 +0.34096 0.342853 0.35232 0.356107 0.354213 0.33528 0.31824 0.322027 +0.322027 0.339067 0.344747 0.33528 0.337173 0.35232 0.359893 0.371253 +0.367467 0.350427 0.354213 0.365573 0.401547 0.496213 0.510105 0.439413 +0.382613 0.376933 0.378827 0.376933 0.39208 0.416693 0.435627 0.441307 +0.441307 0.503789 0.606105 0.786105 0.932632 0.989143 0.99698 0.997959 +1.00188 1.00155 0.992408 0.982286 0.975579 0.969895 0.970526 0.984898 +0.997633 1.0022 1.00122 1.00318 1.00678 1.00678 1.00645 1.00841 +1.0071 1.00678 1.00939 1.00743 0.999592 0.98751 0.976211 0.962947 +0.956 0.954105 0.957895 0.956 0.946526 0.951579 0.974947 0.990122 +0.996327 0.98 0.845474 0.647789 0.467813 0.276587 0.257653 0.282267 +0.287947 0.240613 0.000933333 0.000886667 0.000893333 0.000893333 0.0009 0.00096 +0.246293 0.28416 0.274693 0.00096 0.000746667 0.000713333 0.00074 0.000746667 +0.000733333 0.00072 0.000726667 0.00074 0.000746667 0.000733333 0.000733333 0.00074 +0.00074 0.000706667 0.00068 0.000693333 0.000713333 0.000713333 0.0007 0.000706667 +0.0007 0.000706667 0.000713333 0.000713333 0.00072 0.0007 0.000686667 0.000673333 +0.000686667 0.000693333 0.000693333 0.000693333 0.000686667 0.0007 0.000713333 0.000686667 +0.000706667 0.00072 0.000726667 0.000726667 0.000726667 0.000713333 0.000693333 0.000686667 +0.000706667 0.00072 0.000726667 0.00072 0.000686667 0.000693333 0.000706667 0.000713333 +0.000706667 0.000693333 0.0007 0.0007 0.000693333 0.00068 0.0007 0.000713333 +0.0007 0.000673333 0.000686667 0.000693333 0.000713333 0.00072 0.000733333 0.00074 +0.000713333 0.00072 0.000746667 0.000773333 0.000786667 0.000753333 0.00074 0.000773333 +0.000813333 0.00082 0.000806667 0.00078 0.000833333 0.23304 0.356107 0.445093 +0.558105 0.757053 0.948421 0.99698 0.986204 0.954737 0.940842 0.946526 +0.956 0.980653 0.997306 1.00612 1.00971 1.01102 1.01331 1.01331 +1.01004 1.00808 1.00939 1.01233 1.01004 1.00873 1.00971 1.00612 +1.00286 0.999265 1.00057 1.00612 1.00906 1.01069 1.01069 1.01233 +1.02082 1.04269 1.2076 1.45714 1.49822 1.31107 1.10869 1.06304 +1.16499 1.18021 1.01918 0.829684 0.635789 0.529053 0.467813 0.42048 +0.40912 0.4148 0.405333 0.390187 0.39776 0.43184 0.45456 0.445093 +0.446987 0.46592 0.507579 0.511368 0.509474 0.510737 0.435627 0.37504 +0.36936 0.378827 0.401547 0.399653 0.4148 0.4148 0.367467 0.333387 +0.327707 0.337173 0.36368 0.37504 0.35232 0.33528 0.331493 0.350427 +0.35232 0.337173 0.342853 0.348533 0.333387 0.333387 0.34096 0.3296 +0.32392 0.3296 0.361787 0.40344 0.445093 0.46024 0.439413 0.411013 +0.390187 0.40912 0.428053 0.371253 0.325813 0.3296 0.32392 0.325813 +0.344747 0.36368 0.36936 0.376933 0.395867 0.42048 0.498107 0.561263 +0.660421 0.718526 0.668 0.548 0.405333 0.35232 0.348533 0.342853 +0.342853 0.358 0.36368 0.354213 0.35232 0.35232 0.390187 0.39208 +0.350427 0.356107 0.367467 0.367467 0.422373 0.429947 0.395867 0.407227 +0.441307 0.45456 0.43752 0.422373 0.462133 0.512632 0.503789 0.47728 +0.527158 0.607368 0.673684 0.721053 0.711579 0.614316 0.512 0.44888 +0.43184 0.45456 0.516421 0.539158 0.534737 0.518316 0.506316 0.481067 +0.433733 0.39208 0.3864 0.388293 0.3864 0.39776 0.39776 0.416693 +0.4148 0.399653 0.435627 0.506316 0.501263 0.44888 0.450773 0.458347 +0.456453 0.4716 0.46592 0.46592 0.506947 0.617474 0.829053 0.942105 +0.964211 0.987837 1.00939 1.02604 1.04367 1.0813 1.21368 1.25477 +1.23194 1.18173 1.08282 1.04824 1.03976 1.03388 1.02506 1.02506 +1.02898 1.02506 1.02506 1.02245 1.02735 1.03714 1.0378 1.03159 +1.02833 1.02767 1.03061 1.03649 1.0342 1.02865 1.02833 1.03192 +1.03747 1.03616 1.04008 1.03747 1.03257 1.03322 1.02833 1.02637 +1.02865 1.03649 1.04106 1.04302 1.04531 1.04302 1.03976 1.04269 +1.04563 1.06152 1.13456 1.15586 1.16803 1.24411 1.25477 1.12999 +1.05869 1.04988 1.04171 1.02931 1.01657 1.00841 0.993714 0.941474 +0.791789 0.613053 0.548632 0.522737 0.484853 0.462133 0.456453 0.43184 +0.405333 0.378827 0.38072 0.418587 0.424267 0.40344 0.371253 0.358 +0.354213 0.367467 0.367467 0.367467 0.38072 0.388293 0.407227 0.40912 +0.393973 0.395867 0.418587 0.462133 0.515158 0.570105 0.577684 0.512632 +0.401547 0.395867 0.418587 0.39776 0.407227 0.42048 0.433733 0.486747 +0.518947 0.528421 0.498107 0.39776 0.36368 0.344747 0.34096 0.3864 +0.433733 0.411013 0.376933 0.358 0.358 0.376933 0.405333 0.441307 +0.48296 0.4716 0.469707 0.467813 0.418587 0.388293 0.382613 0.38072 +0.36936 0.37504 0.3864 0.384507 0.39208 0.46024 0.545474 0.622526 +0.675579 0.686947 0.649053 0.579579 0.522737 0.458347 0.39776 0.388293 +0.38072 0.36936 0.36936 0.367467 0.365573 0.371253 0.39776 0.376933 +0.339067 0.34664 0.373147 0.365573 0.34664 0.325813 0.320133 0.333387 +0.342853 0.356107 0.373147 0.36368 0.344747 0.344747 0.350427 0.36936 +0.373147 0.365573 0.365573 0.36368 0.3864 0.490533 0.530316 0.507579 +0.424267 0.405333 0.39776 0.407227 0.422373 0.428053 0.435627 0.45456 +0.48864 0.563158 0.728 0.909263 0.994367 1.00841 1.00645 1.00449 +1.00645 1.00188 0.988816 0.979368 0.971789 0.969263 0.980653 0.992082 +0.999592 1.00155 1.00318 1.00743 1.00743 1.0071 1.00841 1.00906 +1.00776 1.00776 1.00841 1.0009 0.989796 0.980327 0.969263 0.958526 +0.952211 0.950316 0.952211 0.949684 0.947158 0.965474 0.987837 0.997306 +0.987184 0.882737 0.684421 0.509474 0.286053 0.246293 0.2728 0.293627 +0.270907 0.225467 0.000946667 0.000913333 0.00092 0.00094 0.000993333 0.23872 +0.28416 0.282267 0.22736 0.000806667 0.0007 0.000713333 0.000753333 0.00078 +0.000766667 0.000726667 0.000713333 0.000693333 0.000693333 0.000726667 0.00074 0.000726667 +0.00074 0.000726667 0.000713333 0.000706667 0.000706667 0.000726667 0.000706667 0.000693333 +0.000706667 0.0007 0.000706667 0.00072 0.000746667 0.000746667 0.000726667 0.000753333 +0.00074 0.000713333 0.0007 0.0007 0.000693333 0.000706667 0.000706667 0.0007 +0.000733333 0.00074 0.000753333 0.000786667 0.000766667 0.00074 0.000706667 0.0007 +0.000713333 0.000733333 0.000733333 0.00072 0.000686667 0.000686667 0.0007 0.000706667 +0.0007 0.000713333 0.000706667 0.000686667 0.000686667 0.00072 0.000726667 0.000733333 +0.000706667 0.000686667 0.000686667 0.000693333 0.000713333 0.00072 0.00072 0.00072 +0.000713333 0.000746667 0.000766667 0.000766667 0.000746667 0.000733333 0.000753333 0.000813333 +0.000806667 0.00078 0.000766667 0.0008 0.000853333 0.000953333 0.297413 0.388293 +0.48296 0.631368 0.846105 0.982939 0.992408 0.969895 0.949684 0.949053 +0.949684 0.961053 0.985224 1.00155 1.01102 1.012 1.01233 1.01429 +1.01265 1.00939 1.00743 1.01069 1.00873 1.00645 1.01069 1.01102 +1.00678 1.00253 0.997959 1.00024 1.00514 1.00841 1.01037 1.01233 +1.01657 1.03061 1.12086 1.41606 1.56517 1.43279 1.17716 1.05347 +1.07826 1.19238 1.07065 0.955368 0.741263 0.586526 0.510737 0.44888 +0.418587 0.418587 0.42048 0.416693 0.424267 0.429947 0.42048 0.395867 +0.39776 0.445093 0.49432 0.467813 0.469707 0.5 0.428053 0.371253 +0.356107 0.393973 0.424267 0.439413 0.456453 0.433733 0.378827 0.34664 +0.34664 0.342853 0.344747 0.358 0.348533 0.3296 0.348533 0.348533 +0.34096 0.331493 0.331493 0.34664 0.337173 0.3296 0.337173 0.327707 +0.333387 0.36936 0.416693 0.462133 0.48296 0.46592 0.412907 0.367467 +0.350427 0.358 0.382613 0.373147 0.34096 0.342853 0.3296 0.325813 +0.348533 0.365573 0.36936 0.36936 0.378827 0.401547 0.492427 0.596 +0.714737 0.737474 0.647158 0.520211 0.373147 0.36368 0.361787 0.342853 +0.337173 0.356107 0.376933 0.367467 0.34664 0.350427 0.38072 0.39208 +0.359893 0.356107 0.36368 0.38072 0.416693 0.405333 0.36368 0.376933 +0.418587 0.441307 0.433733 0.42616 0.473493 0.517684 0.503789 0.467813 +0.524632 0.606737 0.683789 0.731158 0.708421 0.602947 0.513263 0.464027 +0.424267 0.416693 0.45456 0.509474 0.524 0.528421 0.518316 0.490533 +0.4148 0.38072 0.384507 0.395867 0.393973 0.39776 0.39776 0.40912 +0.428053 0.42616 0.445093 0.513895 0.521474 0.467813 0.424267 0.428053 +0.441307 0.479173 0.475387 0.473493 0.502526 0.59979 0.815158 0.943368 +0.959789 0.979368 1.00253 1.02343 1.04237 1.10108 1.33085 1.36128 +1.1939 1.14369 1.06609 1.03976 1.04008 1.03649 1.02604 1.028 +1.0342 1.02735 1.02212 1.02637 1.02996 1.03453 1.03518 1.03322 +1.03355 1.03388 1.0342 1.03878 1.03518 1.03355 1.0329 1.03486 +1.03976 1.03976 1.03878 1.03224 1.03257 1.03812 1.03061 1.03029 +1.03388 1.04237 1.05053 1.05151 1.04792 1.04073 1.03845 1.04367 +1.04596 1.05739 1.08587 1.09043 1.10108 1.21216 1.29433 1.23042 +1.1589 1.10717 1.05935 1.04204 1.02473 1.01624 0.998286 0.952842 +0.825263 0.642737 0.550526 0.516421 0.496213 0.464027 0.4432 0.439413 +0.439413 0.407227 0.3864 0.405333 0.395867 0.39208 0.371253 0.358 +0.367467 0.376933 0.36936 0.36368 0.376933 0.399653 0.401547 0.39208 +0.390187 0.405333 0.439413 0.48296 0.509474 0.559368 0.565684 0.498107 +0.382613 0.373147 0.3864 0.39208 0.418587 0.429947 0.395867 0.395867 +0.46592 0.518947 0.524 0.479173 0.395867 0.356107 0.356107 0.378827 +0.40344 0.40344 0.388293 0.356107 0.348533 0.365573 0.384507 0.418587 +0.467813 0.462133 0.44888 0.47728 0.445093 0.399653 0.39208 0.395867 +0.40344 0.418587 0.42048 0.407227 0.40912 0.418587 0.473493 0.553684 +0.635158 0.684421 0.686947 0.640842 0.571368 0.509474 0.412907 0.382613 +0.376933 0.365573 0.365573 0.367467 0.367467 0.367467 0.388293 0.378827 +0.34096 0.34664 0.36936 0.342853 0.320133 0.3296 0.365573 0.395867 +0.36936 0.359893 0.395867 0.382613 0.356107 0.348533 0.358 0.36368 +0.361787 0.371253 0.37504 0.37504 0.39208 0.498107 0.540421 0.522737 +0.4716 0.44888 0.433733 0.43752 0.4432 0.433733 0.446987 0.48864 +0.536632 0.669263 0.866947 0.993388 1.01886 1.02147 1.01657 1.01527 +1.01461 1.00318 0.986531 0.975579 0.967368 0.971158 0.98849 0.998939 +1.00318 1.00449 1.00482 1.00547 1.00645 1.00678 1.00743 1.00841 +1.00776 1.0071 1.00482 0.992408 0.981306 0.969895 0.959158 0.950316 +0.948421 0.949684 0.950947 0.950947 0.956632 0.981633 0.99698 0.995347 +0.921895 0.732421 0.539158 0.322027 0.25008 0.259547 0.282267 0.26712 +0.229253 0.216 0.22168 0.22168 0.22168 0.217893 0.240613 0.263333 +0.2728 0.236827 0.000886667 0.000766667 0.0007 0.000713333 0.000753333 0.000766667 +0.00076 0.00074 0.000713333 0.000706667 0.000693333 0.000713333 0.000733333 0.000706667 +0.000726667 0.000733333 0.000706667 0.000693333 0.000666667 0.00068 0.000706667 0.00072 +0.000733333 0.00072 0.000706667 0.000713333 0.00072 0.000713333 0.000706667 0.000733333 +0.000726667 0.00072 0.000733333 0.00074 0.00072 0.000726667 0.00072 0.000706667 +0.000706667 0.00072 0.000733333 0.00076 0.000746667 0.000713333 0.000713333 0.00074 +0.000726667 0.000746667 0.000746667 0.000733333 0.000713333 0.0007 0.000726667 0.00072 +0.00072 0.000726667 0.000713333 0.000713333 0.000726667 0.00074 0.000746667 0.000726667 +0.000706667 0.0007 0.00072 0.00072 0.00072 0.000726667 0.000706667 0.000706667 +0.00072 0.000746667 0.000753333 0.000726667 0.000713333 0.00072 0.000766667 0.000806667 +0.00078 0.000753333 0.000766667 0.00082 0.00084 0.00086 0.242507 0.350427 +0.4148 0.536 0.710316 0.911789 0.990449 0.983918 0.962316 0.952211 +0.949053 0.952211 0.969895 0.991755 1.0071 1.01004 1.00971 1.01331 +1.01461 1.01004 1.00514 1.00547 1.00678 1.0058 1.00971 1.01167 +1.00939 1.00808 1.00155 0.996327 0.996653 1.00351 1.00808 1.01265 +1.01559 1.02376 1.0538 1.31867 1.57735 1.54691 1.27911 1.05771 +1.05118 1.1513 1.17869 1.02278 0.856842 0.66421 0.546105 0.49432 +0.446987 0.429947 0.42048 0.418587 0.42048 0.401547 0.376933 0.38072 +0.412907 0.46024 0.479173 0.428053 0.428053 0.462133 0.429947 0.390187 +0.365573 0.38072 0.424267 0.496213 0.509474 0.475387 0.40344 0.371253 +0.367467 0.35232 0.333387 0.34096 0.354213 0.350427 0.344747 0.337173 +0.354213 0.348533 0.333387 0.339067 0.337173 0.337173 0.358 0.367467 +0.395867 0.445093 0.48864 0.498107 0.473493 0.422373 0.367467 0.342853 +0.337173 0.339067 0.35232 0.354213 0.348533 0.344747 0.33528 0.344747 +0.361787 0.367467 0.359893 0.36368 0.373147 0.407227 0.519579 0.649684 +0.753895 0.733053 0.619368 0.501263 0.371253 0.37504 0.382613 0.373147 +0.358 0.354213 0.38072 0.38072 0.350427 0.350427 0.382613 0.376933 +0.354213 0.342853 0.350427 0.3864 0.40912 0.399653 0.376933 0.384507 +0.42048 0.418587 0.40912 0.40344 0.464027 0.519579 0.506316 0.47728 +0.529684 0.611158 0.693263 0.733684 0.694526 0.580842 0.500632 0.450773 +0.428053 0.40912 0.395867 0.4432 0.500632 0.506947 0.496213 0.452667 +0.4148 0.39208 0.39776 0.40344 0.39776 0.418587 0.42616 0.42616 +0.452667 0.486747 0.510105 0.546737 0.553053 0.510737 0.452667 0.43752 +0.445093 0.46592 0.479173 0.47728 0.501895 0.584 0.793053 0.940211 +0.959158 0.974947 0.997633 1.02016 1.04498 1.15738 1.39932 1.40693 +1.20151 1.12847 1.05412 1.03322 1.03812 1.03616 1.02637 1.02376 +1.03029 1.02996 1.02702 1.03257 1.03094 1.03224 1.03355 1.02996 +1.03486 1.03845 1.03649 1.0342 1.03224 1.03878 1.03714 1.04171 +1.04661 1.04269 1.03943 1.03812 1.04171 1.04367 1.03649 1.03845 +1.03878 1.04531 1.0538 1.05118 1.04531 1.0391 1.03845 1.04367 +1.04531 1.04596 1.04563 1.05641 1.1026 1.20912 1.31563 1.32476 +1.27607 1.20912 1.13152 1.05739 1.03845 1.02212 0.997959 0.950316 +0.832211 0.652842 0.541684 0.506316 0.508211 0.496213 0.429947 0.405333 +0.441307 0.433733 0.405333 0.39208 0.393973 0.39208 0.371253 0.36936 +0.378827 0.39776 0.395867 0.3864 0.401547 0.40344 0.384507 0.384507 +0.395867 0.422373 0.450773 0.450773 0.486747 0.554947 0.565053 0.490533 +0.38072 0.384507 0.3864 0.373147 0.411013 0.40912 0.34664 0.325813 +0.371253 0.473493 0.527789 0.530316 0.47728 0.38072 0.37504 0.38072 +0.384507 0.393973 0.399653 0.37504 0.356107 0.378827 0.390187 0.38072 +0.39776 0.424267 0.43752 0.473493 0.45456 0.407227 0.390187 0.388293 +0.384507 0.388293 0.390187 0.382613 0.388293 0.384507 0.388293 0.490533 +0.578947 0.65979 0.693895 0.674316 0.616842 0.555579 0.505684 0.441307 +0.411013 0.3864 0.376933 0.371253 0.36368 0.361787 0.371253 0.37504 +0.35232 0.354213 0.37504 0.348533 0.31824 0.337173 0.390187 0.42616 +0.3864 0.36936 0.390187 0.378827 0.365573 0.361787 0.36368 0.365573 +0.36936 0.388293 0.39208 0.38072 0.39208 0.490533 0.530316 0.512 +0.462133 0.464027 0.4716 0.464027 0.4432 0.424267 0.446987 0.511368 +0.615579 0.811368 0.989143 1.03486 1.03878 1.03159 1.02669 1.02604 +1.01853 1.00188 0.985878 0.976842 0.973053 0.984245 0.996653 1.00057 +1.00122 1.00351 1.00645 1.00678 1.00743 1.0058 1.00612 1.01004 +1.00873 1.00482 0.998286 0.982286 0.968 0.959789 0.950316 0.944632 +0.949684 0.950316 0.949053 0.956632 0.974316 0.990449 0.999592 0.965474 +0.791158 0.579579 0.361787 0.26712 0.274693 0.282267 0.27848 0.251973 +0.225467 0.22168 0.236827 0.2444 0.248187 0.242507 0.259547 0.263333 +0.234933 0.000906667 0.0008 0.00076 0.000713333 0.000686667 0.000713333 0.000713333 +0.000713333 0.000726667 0.000726667 0.000713333 0.0007 0.0007 0.000706667 0.000686667 +0.000693333 0.00072 0.0007 0.000713333 0.0007 0.00068 0.000693333 0.000713333 +0.000733333 0.000713333 0.000706667 0.000693333 0.00068 0.0007 0.000706667 0.000733333 +0.000726667 0.00072 0.000706667 0.000713333 0.00072 0.00074 0.00074 0.000726667 +0.000713333 0.000726667 0.000706667 0.000706667 0.0007 0.000686667 0.000713333 0.000726667 +0.000706667 0.000726667 0.00074 0.000726667 0.00072 0.000713333 0.00074 0.000713333 +0.000706667 0.000733333 0.00072 0.000726667 0.00076 0.000746667 0.000746667 0.000733333 +0.0007 0.00072 0.00074 0.000746667 0.000733333 0.000733333 0.000726667 0.000713333 +0.000733333 0.000746667 0.000733333 0.00074 0.00074 0.00074 0.000766667 0.000786667 +0.000773333 0.000773333 0.000786667 0.00082 0.000806667 0.000806667 0.000926667 0.291733 +0.388293 0.45456 0.582105 0.787368 0.957263 0.990776 0.981633 0.958526 +0.949053 0.953474 0.961053 0.980327 0.996 1.00645 1.00971 1.012 +1.01396 1.01037 1.00449 1.00384 1.00514 1.00514 1.0058 1.00743 +1.00841 1.01167 1.00776 0.99698 0.987184 0.990776 0.998939 1.00743 +1.01298 1.0182 1.03388 1.16347 1.48909 1.61387 1.42519 1.15586 +1.05216 1.095 1.20151 1.07065 0.968632 0.762105 0.602947 0.519579 +0.467813 0.42616 0.40344 0.395867 0.40344 0.39776 0.38072 0.40912 +0.467813 0.484853 0.44888 0.39776 0.39776 0.4148 0.405333 0.399653 +0.384507 0.373147 0.384507 0.4716 0.521474 0.507579 0.424267 0.376933 +0.35232 0.34096 0.34096 0.337173 0.344747 0.354213 0.337173 0.35232 +0.373147 0.361787 0.342853 0.34664 0.34664 0.359893 0.405333 0.441307 +0.490533 0.509474 0.507579 0.4716 0.401547 0.34664 0.3296 0.33528 +0.34096 0.331493 0.33528 0.339067 0.344747 0.342853 0.34664 0.36368 +0.361787 0.354213 0.354213 0.354213 0.361787 0.424267 0.556211 0.700211 +0.774105 0.721684 0.585895 0.4432 0.373147 0.365573 0.359893 0.354213 +0.365573 0.399653 0.43752 0.412907 0.367467 0.359893 0.36368 0.356107 +0.344747 0.34096 0.35232 0.376933 0.39208 0.40344 0.384507 0.37504 +0.399653 0.393973 0.390187 0.40344 0.475387 0.518947 0.500632 0.46592 +0.530947 0.620632 0.700211 0.725474 0.671158 0.550526 0.435627 0.412907 +0.424267 0.399653 0.37504 0.393973 0.445093 0.458347 0.44888 0.462133 +0.464027 0.433733 0.40912 0.412907 0.416693 0.469707 0.508211 0.510737 +0.509474 0.518947 0.536 0.563789 0.572 0.558737 0.546105 0.513895 +0.48296 0.48864 0.48296 0.456453 0.490533 0.566947 0.769684 0.932632 +0.957263 0.979368 0.99698 1.01494 1.03714 1.14521 1.38106 1.38562 +1.22738 1.12695 1.04433 1.02571 1.02767 1.03127 1.03257 1.02898 +1.028 1.02931 1.02702 1.03322 1.03453 1.0378 1.03518 1.02604 +1.03224 1.03747 1.03453 1.02702 1.02702 1.0329 1.03388 1.04139 +1.04694 1.044 1.03747 1.0378 1.04106 1.03845 1.03649 1.03878 +1.03747 1.04498 1.0502 1.04857 1.04367 1.03943 1.04139 1.04465 +1.04335 1.0489 1.07065 1.11934 1.16043 1.22586 1.28063 1.28063 +1.21368 1.14217 1.08435 1.05673 1.04433 1.02212 0.99502 0.949684 +0.844842 0.669895 0.537263 0.486747 0.515158 0.525263 0.486747 0.401547 +0.401547 0.422373 0.42616 0.43752 0.429947 0.401547 0.378827 0.39776 +0.40912 0.428053 0.464027 0.446987 0.429947 0.412907 0.39208 0.393973 +0.416693 0.441307 0.435627 0.407227 0.473493 0.556842 0.561263 0.473493 +0.37504 0.405333 0.401547 0.367467 0.40344 0.395867 0.333387 0.304987 +0.32392 0.3864 0.496213 0.532211 0.517053 0.428053 0.3864 0.371253 +0.367467 0.373147 0.376933 0.38072 0.373147 0.3864 0.388293 0.356107 +0.365573 0.407227 0.445093 0.46024 0.43752 0.3864 0.36368 0.358 +0.34664 0.339067 0.33528 0.342853 0.348533 0.34664 0.35232 0.390187 +0.527158 0.620632 0.672421 0.669895 0.645263 0.62 0.584632 0.549895 +0.522105 0.481067 0.42048 0.382613 0.365573 0.354213 0.359893 0.361787 +0.36368 0.371253 0.378827 0.354213 0.339067 0.359893 0.39208 0.401547 +0.382613 0.367467 0.36368 0.36936 0.393973 0.399653 0.3864 0.39208 +0.40344 0.40344 0.393973 0.388293 0.395867 0.481067 0.511368 0.46592 +0.40344 0.422373 0.464027 0.462133 0.446987 0.446987 0.486747 0.562526 +0.737474 0.957895 1.04433 1.06152 1.04727 1.03845 1.0378 1.03486 +1.01951 0.997633 0.982939 0.977474 0.982939 0.99502 1.00286 1.00318 +1.00318 1.00416 1.00645 1.00612 1.00612 1.00743 1.00841 1.00971 +1.0058 0.998939 0.988816 0.970526 0.962947 0.956 0.949053 0.946526 +0.954105 0.952842 0.953474 0.970526 0.98849 0.998612 0.986531 0.854316 +0.635158 0.439413 0.276587 0.263333 0.29552 0.29552 0.270907 0.248187 +0.240613 0.231147 0.236827 0.240613 0.253867 0.257653 0.257653 0.236827 +0.000933333 0.000806667 0.000746667 0.000726667 0.0007 0.00068 0.000686667 0.000693333 +0.0007 0.00072 0.000706667 0.000706667 0.0007 0.000706667 0.000726667 0.0007 +0.0007 0.000733333 0.000726667 0.000726667 0.000726667 0.000706667 0.000686667 0.000686667 +0.000706667 0.00072 0.000713333 0.0007 0.000726667 0.00074 0.000733333 0.000733333 +0.000726667 0.000713333 0.000726667 0.000746667 0.000746667 0.00074 0.000753333 0.000726667 +0.000726667 0.000753333 0.000726667 0.000733333 0.000713333 0.0007 0.0007 0.000706667 +0.000673333 0.0007 0.000713333 0.000706667 0.00072 0.00072 0.000713333 0.00068 +0.000666667 0.000693333 0.000686667 0.000686667 0.000726667 0.000726667 0.000733333 0.00072 +0.000706667 0.000733333 0.000746667 0.00072 0.000706667 0.000706667 0.00072 0.000726667 +0.00074 0.000733333 0.000733333 0.00076 0.000773333 0.000773333 0.000793333 0.000773333 +0.000753333 0.000773333 0.0008 0.000806667 0.00078 0.000786667 0.00088 0.23304 +0.34096 0.405333 0.505053 0.649684 0.855579 0.981306 0.991755 0.974316 +0.951579 0.951579 0.954105 0.963579 0.984898 0.999918 1.00841 1.00971 +1.01135 1.00939 1.00743 1.00873 1.00743 1.00547 1.00416 1.00514 +1.00808 1.01167 1.01135 1.00318 0.98849 0.982612 0.98751 0.997959 +1.00547 1.00906 1.01853 1.05151 1.3415 1.60474 1.56061 1.29433 +1.06609 1.06 1.17716 1.17412 1.02506 0.871368 0.683158 0.558737 +0.500632 0.42048 0.382613 0.3864 0.40912 0.42048 0.412907 0.456453 +0.503158 0.479173 0.422373 0.39208 0.390187 0.39208 0.384507 0.388293 +0.388293 0.36936 0.356107 0.40344 0.504421 0.48864 0.388293 0.35232 +0.33528 0.33528 0.333387 0.31824 0.331493 0.348533 0.34664 0.35232 +0.371253 0.367467 0.354213 0.359893 0.354213 0.388293 0.48296 0.518947 +0.529053 0.519579 0.48864 0.39776 0.3296 0.314453 0.3296 0.33528 +0.3296 0.331493 0.339067 0.350427 0.356107 0.350427 0.358 0.361787 +0.348533 0.348533 0.354213 0.361787 0.378827 0.47728 0.604211 0.741263 +0.783579 0.708421 0.556842 0.399653 0.365573 0.356107 0.344747 0.331493 +0.354213 0.4432 0.510105 0.48864 0.399653 0.358 0.344747 0.350427 +0.358 0.348533 0.35232 0.359893 0.367467 0.382613 0.384507 0.395867 +0.412907 0.393973 0.399653 0.418587 0.500632 0.518316 0.48296 0.464027 +0.544842 0.646526 0.708421 0.712211 0.645895 0.530947 0.401547 0.382613 +0.395867 0.388293 0.376933 0.395867 0.42616 0.424267 0.424267 0.46592 +0.506316 0.484853 0.42616 0.40912 0.441307 0.506316 0.550526 0.549895 +0.517053 0.505053 0.506947 0.520842 0.532211 0.556842 0.582737 0.553684 +0.520211 0.503789 0.473493 0.4432 0.452667 0.542947 0.748842 0.926316 +0.956632 0.98098 0.996327 1.01331 1.02506 1.05249 1.26542 1.32172 +1.18934 1.0813 1.04269 1.03257 1.02702 1.02735 1.03486 1.03584 +1.02898 1.02767 1.02506 1.02996 1.03061 1.03682 1.03159 1.02408 +1.02963 1.03682 1.0329 1.02702 1.02637 1.02702 1.02898 1.03127 +1.03518 1.04041 1.03322 1.0329 1.03584 1.02963 1.03453 1.03878 +1.03682 1.04171 1.044 1.04269 1.03976 1.03714 1.04269 1.05249 +1.05118 1.05641 1.08282 1.06152 1.11478 1.23955 1.31107 1.29433 +1.15738 1.05935 1.0489 1.04824 1.04465 1.02571 1.00057 0.962316 +0.865684 0.686947 0.536 0.4716 0.5 0.515158 0.501263 0.424267 +0.399653 0.39776 0.4148 0.492427 0.501263 0.429947 0.384507 0.411013 +0.422373 0.46024 0.512 0.498107 0.43752 0.418587 0.401547 0.418587 +0.4432 0.446987 0.405333 0.382613 0.47728 0.556842 0.556211 0.475387 +0.378827 0.390187 0.390187 0.378827 0.40912 0.395867 0.34096 0.31824 +0.325813 0.34664 0.40912 0.503789 0.512632 0.44888 0.3864 0.361787 +0.354213 0.348533 0.348533 0.359893 0.36368 0.36936 0.373147 0.359893 +0.36368 0.390187 0.446987 0.467813 0.441307 0.388293 0.344747 0.327707 +0.3296 0.34096 0.33528 0.331493 0.331493 0.337173 0.350427 0.359893 +0.492427 0.586526 0.635789 0.630105 0.630105 0.648421 0.657895 0.654105 +0.631368 0.584632 0.533474 0.475387 0.399653 0.359893 0.358 0.358 +0.367467 0.3864 0.373147 0.34664 0.354213 0.365573 0.371253 0.376933 +0.378827 0.37504 0.359893 0.388293 0.445093 0.44888 0.411013 0.405333 +0.405333 0.390187 0.382613 0.384507 0.39208 0.446987 0.469707 0.412907 +0.36936 0.40344 0.45456 0.46024 0.456453 0.462133 0.522737 0.656 +0.884 1.03845 1.16956 1.10108 1.04661 1.04433 1.04661 1.04073 +1.02082 0.997959 0.982612 0.981306 0.990449 1.00024 1.00351 1.00547 +1.00612 1.0058 1.00612 1.00351 1.00645 1.00939 1.00971 1.00906 +1.00155 0.991429 0.98 0.964211 0.960421 0.953474 0.952211 0.949684 +0.954105 0.953474 0.962947 0.984571 0.998612 0.995673 0.911158 0.700842 +0.510105 0.304987 0.26712 0.286053 0.314453 0.304987 0.270907 0.253867 +0.25008 0.240613 0.236827 0.236827 0.2444 0.240613 0.223573 0.00092 +0.000826667 0.00078 0.000746667 0.000733333 0.000706667 0.000686667 0.000713333 0.00072 +0.00072 0.000706667 0.000686667 0.000693333 0.000713333 0.000733333 0.000753333 0.000713333 +0.0007 0.00072 0.00072 0.000713333 0.000726667 0.000706667 0.0007 0.0007 +0.00068 0.000686667 0.00068 0.00068 0.00074 0.000726667 0.0007 0.0007 +0.000713333 0.00072 0.00074 0.000746667 0.000746667 0.000746667 0.00074 0.00072 +0.00072 0.000726667 0.000726667 0.00074 0.00072 0.00072 0.000733333 0.000733333 +0.000713333 0.00072 0.000726667 0.000713333 0.00074 0.000733333 0.000726667 0.000713333 +0.000686667 0.000686667 0.00068 0.0007 0.000726667 0.000713333 0.000693333 0.0007 +0.0007 0.000726667 0.00074 0.000706667 0.000693333 0.00068 0.000706667 0.000726667 +0.00072 0.000726667 0.000733333 0.00076 0.000753333 0.00076 0.00076 0.00074 +0.000726667 0.00078 0.000786667 0.00078 0.000753333 0.0008 0.000866667 0.000926667 +0.274693 0.36936 0.43184 0.542947 0.712842 0.908 0.992082 0.990122 +0.969263 0.953474 0.946526 0.950316 0.971158 0.991102 1.0022 1.00547 +1.00906 1.00939 1.01037 1.01331 1.01069 1.00612 1.00351 1.00449 +1.0071 1.01069 1.01135 1.00841 0.998286 0.98751 0.985224 0.989143 +0.993714 0.997306 1.00743 1.02833 1.16499 1.50127 1.61843 1.4191 +1.14217 1.05641 1.12086 1.2076 1.07826 0.980327 0.779789 0.614947 +0.523368 0.452667 0.40344 0.405333 0.43184 0.462133 0.46024 0.490533 +0.500632 0.44888 0.401547 0.390187 0.39776 0.39776 0.376933 0.373147 +0.382613 0.367467 0.35232 0.373147 0.46592 0.46592 0.384507 0.359893 +0.34096 0.333387 0.34096 0.337173 0.344747 0.350427 0.350427 0.358 +0.376933 0.373147 0.35232 0.378827 0.428053 0.500632 0.537895 0.558737 +0.549895 0.517684 0.4432 0.348533 0.304987 0.31256 0.327707 0.325813 +0.325813 0.337173 0.348533 0.365573 0.376933 0.36936 0.367467 0.35232 +0.33528 0.331493 0.339067 0.356107 0.401547 0.522105 0.655368 0.770316 +0.777263 0.682526 0.534105 0.382613 0.36368 0.373147 0.378827 0.36936 +0.382613 0.458347 0.528421 0.536632 0.506316 0.4148 0.356107 0.361787 +0.36368 0.356107 0.358 0.36368 0.371253 0.39776 0.47728 0.528421 +0.529053 0.47728 0.428053 0.43752 0.501263 0.508842 0.464027 0.481067 +0.578316 0.690105 0.717263 0.692632 0.623158 0.519579 0.407227 0.373147 +0.378827 0.378827 0.388293 0.399653 0.424267 0.407227 0.40344 0.45456 +0.509474 0.5 0.433733 0.40344 0.418587 0.469707 0.533474 0.531579 +0.473493 0.422373 0.418587 0.43752 0.456453 0.503158 0.525895 0.523368 +0.518947 0.506316 0.490533 0.481067 0.464027 0.535368 0.737474 0.920632 +0.954737 0.976211 0.994367 1.012 1.01918 1.03094 1.16956 1.29889 +1.16347 1.0538 1.04106 1.0391 1.03192 1.02571 1.02865 1.03094 +1.02963 1.03224 1.03159 1.03159 1.03127 1.03159 1.02931 1.02767 +1.02996 1.03682 1.0342 1.02865 1.02767 1.02702 1.02637 1.02604 +1.03486 1.0391 1.03159 1.03584 1.03584 1.02702 1.03453 1.03878 +1.03747 1.03976 1.0391 1.03649 1.03845 1.04041 1.04857 1.05804 +1.05086 1.04857 1.04629 1.03943 1.05804 1.20912 1.3415 1.35976 +1.18477 1.05673 1.04498 1.04661 1.04596 1.02931 1.00678 0.976211 +0.882105 0.698947 0.541053 0.481067 0.464027 0.473493 0.46024 0.441307 +0.4148 0.384507 0.395867 0.46592 0.492427 0.42616 0.373147 0.36936 +0.39208 0.435627 0.492427 0.475387 0.435627 0.411013 0.393973 0.405333 +0.411013 0.412907 0.390187 0.373147 0.46592 0.554316 0.556842 0.501895 +0.411013 0.384507 0.38072 0.3864 0.411013 0.384507 0.342853 0.339067 +0.344747 0.344747 0.376933 0.429947 0.469707 0.46024 0.4148 0.390187 +0.367467 0.342853 0.350427 0.35232 0.344747 0.35232 0.356107 0.339067 +0.33528 0.373147 0.445093 0.48864 0.467813 0.407227 0.356107 0.333387 +0.331493 0.34664 0.354213 0.337173 0.33528 0.339067 0.337173 0.344747 +0.464027 0.574526 0.613053 0.582105 0.571368 0.608 0.652211 0.684421 +0.697053 0.670526 0.615579 0.551789 0.492427 0.39776 0.36936 0.344747 +0.35232 0.382613 0.37504 0.378827 0.401547 0.39208 0.376933 0.36936 +0.38072 0.390187 0.384507 0.395867 0.422373 0.42048 0.388293 0.384507 +0.388293 0.376933 0.36936 0.367467 0.38072 0.42616 0.433733 0.39208 +0.376933 0.412907 0.45456 0.456453 0.45456 0.49432 0.577684 0.777263 +1.0058 1.21064 1.24411 1.08587 1.04988 1.05576 1.05837 1.044 +1.01722 0.994367 0.981959 0.986531 0.999592 1.0058 1.00678 1.00645 +1.00384 1.00547 1.0058 1.00351 1.00841 1.00906 1.00841 1.00678 +0.997633 0.983918 0.969895 0.964211 0.957263 0.950316 0.950316 0.950316 +0.952211 0.959158 0.981633 0.994367 0.999265 0.957895 0.776632 0.56 +0.3296 0.265227 0.282267 0.316347 0.33528 0.310667 0.26712 0.248187 +0.23872 0.22736 0.22736 0.22736 0.217893 0.00094 0.000886667 0.000806667 +0.000773333 0.00078 0.000766667 0.00074 0.000713333 0.000706667 0.00072 0.000726667 +0.00074 0.000733333 0.000726667 0.000693333 0.00068 0.000706667 0.000746667 0.00074 +0.000706667 0.000706667 0.000713333 0.0007 0.00072 0.000713333 0.000693333 0.0007 +0.00068 0.00068 0.000693333 0.000706667 0.00072 0.0007 0.0007 0.000726667 +0.000726667 0.000713333 0.000706667 0.00072 0.000733333 0.000733333 0.000726667 0.000726667 +0.00072 0.000713333 0.000693333 0.000706667 0.000693333 0.000713333 0.000726667 0.000726667 +0.000726667 0.000733333 0.000733333 0.00072 0.00074 0.000726667 0.000726667 0.000733333 +0.0007 0.000706667 0.00072 0.000726667 0.000753333 0.00072 0.000686667 0.000693333 +0.000713333 0.000746667 0.00072 0.000686667 0.000673333 0.00068 0.000713333 0.000726667 +0.000733333 0.000733333 0.000726667 0.000746667 0.00074 0.000733333 0.000733333 0.000733333 +0.000746667 0.00078 0.000766667 0.000753333 0.00078 0.000846667 0.00084 0.00084 +0.00098 0.310667 0.40344 0.469707 0.579579 0.776 0.955368 0.995673 +0.984898 0.962316 0.947789 0.949684 0.956632 0.976211 0.991102 1.0009 +1.00743 1.01102 1.012 1.01298 1.012 1.01037 1.00906 1.0071 +1.00743 1.00906 1.01004 1.00873 1.0071 1.00122 0.992735 0.98751 +0.985551 0.988816 0.999918 1.01331 1.04433 1.29585 1.55757 1.49822 +1.23346 1.05967 1.06304 1.17412 1.18173 1.02996 0.884632 0.691368 +0.561895 0.503789 0.446987 0.446987 0.4716 0.473493 0.458347 0.475387 +0.47728 0.429947 0.399653 0.401547 0.428053 0.429947 0.37504 0.350427 +0.36368 0.36368 0.358 0.378827 0.458347 0.47728 0.40344 0.359893 +0.34664 0.348533 0.359893 0.359893 0.356107 0.38072 0.388293 0.378827 +0.378827 0.3864 0.407227 0.486747 0.530316 0.557474 0.579579 0.584 +0.558105 0.518316 0.445093 0.34664 0.316347 0.333387 0.339067 0.333387 +0.322027 0.331493 0.34664 0.359893 0.3864 0.393973 0.373147 0.344747 +0.325813 0.322027 0.337173 0.367467 0.43184 0.554316 0.687579 0.766526 +0.745684 0.638316 0.513895 0.390187 0.371253 0.378827 0.3864 0.39208 +0.412907 0.450773 0.517684 0.556211 0.562526 0.533474 0.47728 0.40344 +0.373147 0.371253 0.371253 0.36936 0.382613 0.42616 0.524632 0.592842 +0.597895 0.530947 0.450773 0.43752 0.484853 0.490533 0.44888 0.503789 +0.604211 0.708421 0.703368 0.650947 0.587158 0.513895 0.4148 0.39776 +0.378827 0.390187 0.388293 0.401547 0.42048 0.407227 0.39776 0.42616 +0.48296 0.47728 0.43752 0.401547 0.395867 0.40344 0.46592 0.467813 +0.405333 0.39208 0.407227 0.412907 0.422373 0.428053 0.428053 0.441307 +0.48296 0.501895 0.504421 0.505684 0.502526 0.542316 0.727368 0.914316 +0.956 0.969895 0.991429 1.00939 1.0182 1.02669 1.13912 1.26998 +1.12543 1.04988 1.04008 1.03388 1.02963 1.02898 1.028 1.02604 +1.02833 1.03257 1.0391 1.03976 1.03224 1.02767 1.02931 1.02996 +1.02833 1.03224 1.03192 1.02898 1.03029 1.02996 1.02473 1.02245 +1.03322 1.03322 1.02767 1.03551 1.0342 1.02767 1.03518 1.0378 +1.03747 1.03714 1.03551 1.03551 1.04041 1.04531 1.05608 1.05673 +1.044 1.04661 1.04106 1.0391 1.05641 1.15282 1.29281 1.35215 +1.23803 1.09804 1.05412 1.05935 1.05967 1.03747 1.00971 0.98098 +0.892842 0.710947 0.548 0.48864 0.4716 0.46024 0.4432 0.428053 +0.412907 0.388293 0.390187 0.40912 0.40912 0.39208 0.36368 0.350427 +0.371253 0.3864 0.422373 0.435627 0.422373 0.39776 0.37504 0.38072 +0.371253 0.382613 0.3864 0.37504 0.464027 0.555579 0.555579 0.49432 +0.405333 0.3864 0.37504 0.38072 0.401547 0.378827 0.348533 0.36936 +0.361787 0.358 0.359893 0.36936 0.422373 0.446987 0.418587 0.376933 +0.361787 0.348533 0.35232 0.356107 0.350427 0.361787 0.358 0.339067 +0.33528 0.378827 0.458347 0.503158 0.484853 0.42616 0.376933 0.350427 +0.344747 0.361787 0.37504 0.361787 0.358 0.354213 0.354213 0.371253 +0.498107 0.584632 0.613684 0.557474 0.508842 0.529053 0.577684 0.621895 +0.653474 0.652842 0.626947 0.583368 0.525895 0.452667 0.40912 0.382613 +0.39208 0.428053 0.433733 0.441307 0.43752 0.40344 0.376933 0.358 +0.36936 0.401547 0.407227 0.384507 0.37504 0.36936 0.356107 0.36368 +0.378827 0.376933 0.371253 0.36936 0.390187 0.43184 0.422373 0.3864 +0.390187 0.42616 0.458347 0.46592 0.48296 0.536632 0.676842 0.921895 +1.12239 1.33237 1.1939 1.05673 1.05412 1.09652 1.11782 1.05184 +1.01853 0.991429 0.985551 0.994041 1.0022 1.00482 1.00645 1.00612 +1.00514 1.00678 1.0058 1.00514 1.00939 1.00939 1.00841 1.00318 +0.991102 0.979368 0.969895 0.963579 0.951579 0.947158 0.948421 0.947789 +0.953474 0.973053 0.991755 1.00024 0.984245 0.848 0.628842 0.416693 +0.26712 0.280373 0.31824 0.342853 0.331493 0.297413 0.253867 0.231147 +0.22736 0.000986667 0.00096 0.000953333 0.0009 0.00084 0.000813333 0.000773333 +0.000746667 0.00076 0.00074 0.000726667 0.000733333 0.00072 0.0007 0.000706667 +0.000726667 0.000733333 0.000746667 0.00072 0.000686667 0.000693333 0.00072 0.000733333 +0.00072 0.0007 0.000713333 0.000706667 0.00068 0.000713333 0.000706667 0.000686667 +0.000686667 0.000693333 0.000706667 0.00072 0.00072 0.000693333 0.000706667 0.00072 +0.000726667 0.000726667 0.000706667 0.00072 0.000706667 0.0007 0.000706667 0.00072 +0.0007 0.000706667 0.0007 0.000706667 0.00072 0.000726667 0.000733333 0.00072 +0.00072 0.000726667 0.00072 0.000713333 0.000746667 0.000726667 0.000713333 0.000713333 +0.00068 0.000693333 0.000713333 0.0007 0.00072 0.00072 0.000686667 0.00068 +0.000726667 0.000746667 0.000693333 0.000666667 0.000686667 0.000706667 0.00072 0.000706667 +0.00072 0.00072 0.000753333 0.000766667 0.000753333 0.000753333 0.00076 0.00078 +0.000773333 0.000793333 0.000773333 0.00078 0.000813333 0.000853333 0.000826667 0.00082 +0.0009 0.246293 0.354213 0.416693 0.506947 0.638316 0.844842 0.978737 +0.992082 0.980327 0.956632 0.952211 0.947789 0.952211 0.976211 0.993388 +1.00351 1.00808 1.00939 1.01037 1.01069 1.01265 1.01265 1.00939 +1.00645 1.00743 1.01004 1.01004 1.00906 1.0071 1.00122 0.993714 +0.986204 0.985878 0.995347 1.00449 1.01853 1.07065 1.39932 1.54235 +1.35976 1.11326 1.05445 1.10717 1.1939 1.09043 0.986531 0.790526 +0.623789 0.531579 0.484853 0.4432 0.446987 0.446987 0.428053 0.450773 +0.458347 0.428053 0.405333 0.40344 0.43184 0.44888 0.39208 0.348533 +0.35232 0.365573 0.378827 0.39208 0.450773 0.484853 0.42048 0.354213 +0.348533 0.358 0.359893 0.367467 0.376933 0.39208 0.384507 0.382613 +0.422373 0.486747 0.524 0.56 0.589053 0.596632 0.584632 0.558105 +0.519579 0.47728 0.424267 0.354213 0.331493 0.344747 0.348533 0.339067 +0.325813 0.331493 0.337173 0.34664 0.356107 0.390187 0.399653 0.356107 +0.327707 0.34096 0.37504 0.422373 0.504421 0.589053 0.697053 0.738105 +0.692632 0.579579 0.46024 0.371253 0.358 0.361787 0.36936 0.371253 +0.388293 0.39776 0.435627 0.510737 0.549263 0.577053 0.549263 0.501895 +0.42616 0.39776 0.37504 0.367467 0.371253 0.40344 0.479173 0.529053 +0.542316 0.506316 0.424267 0.40912 0.439413 0.452667 0.46024 0.518316 +0.59979 0.667368 0.645263 0.584632 0.544842 0.509474 0.441307 0.407227 +0.3864 0.373147 0.384507 0.393973 0.40344 0.40912 0.39776 0.405333 +0.439413 0.469707 0.456453 0.416693 0.40344 0.390187 0.422373 0.43752 +0.40344 0.39776 0.424267 0.428053 0.435627 0.4148 0.39208 0.401547 +0.422373 0.456453 0.486747 0.492427 0.5 0.538526 0.709684 0.905474 +0.959158 0.966737 0.986857 1.00318 1.01494 1.03192 1.14977 1.23651 +1.09348 1.05086 1.03976 1.02735 1.02669 1.03159 1.03061 1.03029 +1.03192 1.03029 1.0342 1.03714 1.02963 1.02669 1.03192 1.0329 +1.03159 1.03029 1.03127 1.0342 1.03551 1.03453 1.03094 1.03029 +1.0342 1.03192 1.03388 1.0391 1.03682 1.03159 1.03584 1.04008 +1.04041 1.03453 1.03649 1.03714 1.03518 1.03845 1.04792 1.0489 +1.04531 1.05086 1.04139 1.04433 1.05869 1.11326 1.21064 1.28672 +1.29128 1.21216 1.14217 1.14977 1.13456 1.05053 1.01624 0.983918 +0.895368 0.716632 0.556842 0.502526 0.49432 0.479173 0.4432 0.42048 +0.411013 0.412907 0.4148 0.399653 0.3864 0.38072 0.3864 0.393973 +0.39208 0.393973 0.416693 0.435627 0.42048 0.39208 0.373147 0.378827 +0.36936 0.36936 0.373147 0.38072 0.481067 0.556211 0.544211 0.4432 +0.373147 0.378827 0.378827 0.376933 0.384507 0.36936 0.35232 0.36936 +0.38072 0.371253 0.356107 0.344747 0.373147 0.418587 0.416693 0.36368 +0.348533 0.34664 0.348533 0.354213 0.356107 0.367467 0.36936 0.367467 +0.37504 0.412907 0.484853 0.507579 0.505684 0.492427 0.422373 0.37504 +0.37504 0.371253 0.367467 0.367467 0.371253 0.367467 0.38072 0.411013 +0.509474 0.594105 0.626316 0.558737 0.4432 0.40912 0.501263 0.544842 +0.580211 0.586526 0.580211 0.572632 0.553053 0.525263 0.510105 0.501895 +0.496213 0.498107 0.479173 0.441307 0.39776 0.373147 0.358 0.350427 +0.373147 0.40912 0.418587 0.384507 0.36368 0.36368 0.350427 0.348533 +0.359893 0.373147 0.382613 0.388293 0.412907 0.439413 0.416693 0.401547 +0.40912 0.43752 0.44888 0.46024 0.508842 0.596 0.796842 1.02408 +1.34454 1.31563 1.09348 1.05086 1.07065 1.16347 1.19086 1.07369 +1.02245 0.994694 0.99502 1.00351 1.00482 1.00482 1.00318 1.00253 +1.00449 1.00743 1.00873 1.01004 1.01298 1.00971 1.00384 0.994041 +0.984571 0.975579 0.971789 0.959789 0.944 0.945895 0.949053 0.949053 +0.964842 0.986531 0.999592 0.997959 0.912421 0.706526 0.515158 0.304987 +0.29552 0.34096 0.350427 0.344747 0.308773 0.26144 0.231147 0.216 +0.217893 0.000966667 0.000886667 0.00088 0.00086 0.000826667 0.000786667 0.000766667 +0.000766667 0.000753333 0.000733333 0.000733333 0.000753333 0.00076 0.000746667 0.000733333 +0.000733333 0.000706667 0.000733333 0.00076 0.000733333 0.000713333 0.000686667 0.000733333 +0.000753333 0.00074 0.00074 0.000753333 0.00072 0.00072 0.000726667 0.000713333 +0.0007 0.000673333 0.00068 0.00072 0.000706667 0.000706667 0.000713333 0.000713333 +0.000726667 0.000713333 0.000686667 0.000693333 0.000693333 0.000706667 0.000713333 0.0007 +0.00068 0.000693333 0.000693333 0.000693333 0.000713333 0.000733333 0.000726667 0.000706667 +0.000726667 0.000726667 0.000706667 0.000713333 0.00074 0.000706667 0.000686667 0.000706667 +0.000713333 0.000733333 0.00072 0.000713333 0.0007 0.000693333 0.000706667 0.000706667 +0.00074 0.00072 0.00066 0.000673333 0.000713333 0.000773333 0.00074 0.00068 +0.0007 0.000753333 0.00078 0.000753333 0.000713333 0.00072 0.000773333 0.000786667 +0.00076 0.000786667 0.0008 0.0008 0.000793333 0.000786667 0.000793333 0.00084 +0.000866667 0.000966667 0.274693 0.365573 0.429947 0.533474 0.692 0.883368 +0.98751 0.993714 0.976211 0.956632 0.949053 0.948421 0.962947 0.983265 +0.993714 1.00155 1.0071 1.00971 1.00939 1.00971 1.01102 1.00939 +1.00678 1.00678 1.01004 1.01069 1.00808 1.00873 1.00808 1.00318 +0.993714 0.988163 0.988816 0.991755 0.996653 1.02016 1.1726 1.48149 +1.46627 1.20455 1.0538 1.05478 1.13608 1.18021 1.0391 0.907368 +0.712211 0.580842 0.512632 0.43752 0.4148 0.42616 0.42616 0.46592 +0.4716 0.424267 0.39776 0.382613 0.407227 0.435627 0.39776 0.354213 +0.361787 0.3864 0.393973 0.399653 0.452667 0.49432 0.439413 0.361787 +0.350427 0.376933 0.384507 0.378827 0.38072 0.384507 0.39776 0.456453 +0.522105 0.558737 0.589684 0.607368 0.602947 0.576421 0.533474 0.47728 +0.40344 0.36936 0.365573 0.344747 0.316347 0.327707 0.34096 0.331493 +0.325813 0.337173 0.34096 0.34096 0.333387 0.39208 0.446987 0.3864 +0.350427 0.378827 0.439413 0.504421 0.540421 0.611789 0.685684 0.702105 +0.641474 0.535368 0.411013 0.358 0.361787 0.371253 0.36368 0.344747 +0.344747 0.350427 0.365573 0.39208 0.475387 0.539789 0.543579 0.514526 +0.456453 0.40344 0.384507 0.378827 0.378827 0.384507 0.37504 0.37504 +0.401547 0.399653 0.388293 0.3864 0.401547 0.428053 0.502526 0.546105 +0.600421 0.623158 0.575789 0.525263 0.512 0.486747 0.450773 0.439413 +0.395867 0.37504 0.390187 0.3864 0.39776 0.399653 0.390187 0.401547 +0.439413 0.49432 0.5 0.445093 0.407227 0.388293 0.418587 0.439413 +0.418587 0.418587 0.433733 0.433733 0.43752 0.40912 0.401547 0.40912 +0.411013 0.428053 0.441307 0.458347 0.46592 0.522737 0.687579 0.892211 +0.954737 0.962947 0.983592 0.996653 1.01167 1.0391 1.15434 1.20151 +1.08587 1.05118 1.03845 1.02669 1.02669 1.02931 1.02865 1.03355 +1.03453 1.03061 1.02996 1.03355 1.02833 1.02637 1.03192 1.03127 +1.0329 1.0342 1.03388 1.03551 1.0391 1.03747 1.03322 1.03747 +1.04106 1.03845 1.04335 1.04596 1.044 1.0391 1.03682 1.03747 +1.0391 1.03388 1.04041 1.04171 1.03257 1.03518 1.04106 1.04694 +1.04988 1.04857 1.03943 1.04792 1.0813 1.16499 1.23042 1.2639 +1.26998 1.21368 1.1589 1.15434 1.13912 1.05478 1.01951 0.984571 +0.894737 0.722316 0.571368 0.506947 0.48296 0.464027 0.433733 0.42048 +0.405333 0.422373 0.40344 0.405333 0.412907 0.401547 0.405333 0.407227 +0.411013 0.395867 0.4148 0.42616 0.40912 0.393973 0.376933 0.37504 +0.371253 0.371253 0.3864 0.42048 0.514526 0.568211 0.540421 0.435627 +0.367467 0.373147 0.38072 0.37504 0.36936 0.356107 0.35232 0.371253 +0.388293 0.37504 0.339067 0.327707 0.339067 0.388293 0.4148 0.3864 +0.350427 0.34664 0.354213 0.358 0.367467 0.378827 0.393973 0.388293 +0.424267 0.496213 0.505684 0.508842 0.524 0.529053 0.49432 0.4148 +0.405333 0.376933 0.365573 0.36936 0.371253 0.36368 0.361787 0.38072 +0.503158 0.596632 0.632632 0.563158 0.439413 0.371253 0.3864 0.458347 +0.518947 0.527158 0.520842 0.524632 0.536 0.540421 0.541053 0.540421 +0.534105 0.518947 0.479173 0.393973 0.342853 0.331493 0.34096 0.358 +0.384507 0.405333 0.424267 0.412907 0.393973 0.37504 0.361787 0.36368 +0.358 0.365573 0.378827 0.384507 0.393973 0.405333 0.418587 0.418587 +0.433733 0.458347 0.458347 0.498107 0.548 0.685684 0.933263 1.18934 +1.3978 1.18934 1.04824 1.05412 1.16956 1.2715 1.23651 1.05673 +1.01298 0.994041 0.999918 1.0058 1.0071 1.00841 1.00612 1.00547 +1.00678 1.00678 1.00645 1.00776 1.00971 1.0058 0.998286 0.989469 +0.980327 0.966737 0.961053 0.952211 0.949684 0.952842 0.951579 0.954105 +0.976842 0.994694 1.00155 0.970526 0.790526 0.570737 0.344747 0.270907 +0.325813 0.382613 0.36368 0.320133 0.2728 0.229253 0.000973333 0.000946667 +0.000953333 0.000933333 0.00086 0.00084 0.000813333 0.000786667 0.00078 0.000773333 +0.000793333 0.00076 0.000726667 0.00074 0.000733333 0.000746667 0.000753333 0.000733333 +0.000746667 0.000726667 0.00072 0.000766667 0.000753333 0.000726667 0.000686667 0.00072 +0.000746667 0.000726667 0.000713333 0.00074 0.000726667 0.000713333 0.0007 0.0007 +0.000733333 0.0007 0.000686667 0.0007 0.000726667 0.000726667 0.0007 0.000686667 +0.00072 0.00072 0.000706667 0.00072 0.000706667 0.000713333 0.000733333 0.000706667 +0.0007 0.000706667 0.000693333 0.000706667 0.000706667 0.000713333 0.000706667 0.000706667 +0.000706667 0.000706667 0.0007 0.000686667 0.000686667 0.000673333 0.00068 0.000706667 +0.00072 0.00072 0.000706667 0.00072 0.00072 0.000706667 0.000746667 0.000746667 +0.000726667 0.00068 0.000666667 0.000693333 0.000733333 0.00074 0.0007 0.000686667 +0.000753333 0.000793333 0.000746667 0.000693333 0.000706667 0.000733333 0.00078 0.000766667 +0.000726667 0.00078 0.000786667 0.00078 0.000766667 0.000753333 0.000766667 0.000833333 +0.000833333 0.000873333 0.22736 0.310667 0.382613 0.435627 0.558105 0.736211 +0.923158 0.992408 0.98849 0.971158 0.959158 0.957263 0.959158 0.966105 +0.98 0.991755 1.00514 1.01102 1.01004 1.00678 1.00808 1.01004 +1.01004 1.00743 1.00678 1.00873 1.00841 1.01069 1.01363 1.01069 +1.00351 0.995347 0.987184 0.982612 0.982612 0.993061 1.0342 1.28063 +1.46018 1.30802 1.07826 1.0489 1.07522 1.17564 1.12391 1.0009 +0.813895 0.640842 0.539789 0.4716 0.416693 0.43184 0.452667 0.48296 +0.469707 0.418587 0.39776 0.37504 0.390187 0.429947 0.428053 0.39208 +0.376933 0.395867 0.416693 0.445093 0.49432 0.507579 0.486747 0.422373 +0.393973 0.422373 0.433733 0.40344 0.405333 0.44888 0.505053 0.543579 +0.587158 0.612421 0.612421 0.589053 0.547368 0.508842 0.43752 0.384507 +0.356107 0.344747 0.342853 0.322027 0.31256 0.339067 0.348533 0.325813 +0.310667 0.325813 0.337173 0.344747 0.354213 0.390187 0.441307 0.4148 +0.407227 0.44888 0.502526 0.520842 0.543579 0.599158 0.654105 0.653474 +0.591579 0.512632 0.405333 0.361787 0.358 0.356107 0.354213 0.34096 +0.339067 0.342853 0.358 0.359893 0.40344 0.475387 0.5 0.473493 +0.429947 0.405333 0.39776 0.393973 0.407227 0.393973 0.35232 0.348533 +0.361787 0.36936 0.37504 0.38072 0.401547 0.462133 0.530947 0.580842 +0.609895 0.586526 0.517684 0.456453 0.456453 0.424267 0.411013 0.433733 +0.428053 0.40912 0.39208 0.390187 0.407227 0.401547 0.388293 0.416693 +0.462133 0.512632 0.520842 0.46592 0.395867 0.393973 0.411013 0.428053 +0.43184 0.422373 0.433733 0.433733 0.422373 0.405333 0.399653 0.40344 +0.418587 0.412907 0.411013 0.433733 0.452667 0.514526 0.667368 0.878947 +0.950316 0.957895 0.980327 0.989796 1.00612 1.03551 1.16195 1.21977 +1.1026 1.05282 1.03943 1.03029 1.02963 1.03061 1.02702 1.028 +1.028 1.02996 1.03257 1.03322 1.03159 1.02898 1.03029 1.02898 +1.03127 1.03486 1.03518 1.03649 1.04269 1.04106 1.03388 1.03878 +1.04237 1.04204 1.04563 1.04661 1.04531 1.04302 1.03976 1.03355 +1.03551 1.0391 1.04629 1.04465 1.0378 1.03878 1.03943 1.04824 +1.0502 1.04367 1.04106 1.05249 1.1163 1.2289 1.28215 1.2852 +1.22433 1.14217 1.10565 1.10108 1.09043 1.05118 1.02049 0.986531 +0.899789 0.729263 0.581474 0.512 0.4716 0.46024 0.441307 0.450773 +0.42616 0.4148 0.39776 0.411013 0.4432 0.428053 0.401547 0.401547 +0.399653 0.388293 0.4148 0.424267 0.40912 0.407227 0.3864 0.373147 +0.384507 0.3864 0.40344 0.458347 0.536632 0.580842 0.538526 0.424267 +0.36936 0.378827 0.371253 0.361787 0.36936 0.36936 0.365573 0.395867 +0.411013 0.382613 0.354213 0.337173 0.327707 0.359893 0.418587 0.428053 +0.378827 0.356107 0.367467 0.37504 0.38072 0.40344 0.422373 0.40912 +0.479173 0.518316 0.5 0.481067 0.530316 0.553684 0.527158 0.46592 +0.40912 0.3864 0.38072 0.359893 0.35232 0.361787 0.35232 0.354213 +0.49432 0.601684 0.642737 0.568211 0.4432 0.348533 0.327707 0.365573 +0.43752 0.464027 0.4432 0.418587 0.439413 0.5 0.514526 0.525895 +0.536 0.530947 0.503158 0.412907 0.365573 0.348533 0.342853 0.359893 +0.37504 0.376933 0.40344 0.416693 0.39208 0.373147 0.376933 0.38072 +0.365573 0.36368 0.378827 0.393973 0.393973 0.393973 0.412907 0.428053 +0.458347 0.469707 0.48296 0.527789 0.614316 0.803158 1.03029 1.36889 +1.31107 1.05967 1.04073 1.06456 1.24411 1.33998 1.23651 1.04335 +1.00612 1.00024 1.0058 1.00678 1.0058 1.00482 1.00416 1.0058 +1.00678 1.00776 1.00873 1.01037 1.00906 1.00155 0.993388 0.987184 +0.98 0.962947 0.952211 0.947158 0.953474 0.952211 0.951579 0.967368 +0.990776 1.00188 0.990776 0.872632 0.649053 0.44888 0.27848 0.304987 +0.371253 0.3864 0.34096 0.282267 0.234933 0.000993333 0.000953333 0.0009 +0.0009 0.00088 0.00082 0.00082 0.000806667 0.00076 0.000766667 0.00076 +0.0008 0.000786667 0.000733333 0.000746667 0.00074 0.00074 0.000766667 0.000753333 +0.000753333 0.000753333 0.000726667 0.000726667 0.00072 0.000746667 0.000713333 0.00072 +0.000713333 0.0007 0.0007 0.0007 0.000713333 0.000726667 0.00074 0.00072 +0.000733333 0.00074 0.000706667 0.000686667 0.00074 0.000726667 0.000713333 0.000713333 +0.000753333 0.00074 0.000713333 0.00072 0.00072 0.00072 0.00072 0.00072 +0.000733333 0.00074 0.00074 0.000733333 0.00072 0.00072 0.00072 0.000726667 +0.0007 0.000706667 0.000706667 0.0007 0.000713333 0.000713333 0.000713333 0.000713333 +0.000713333 0.000706667 0.0007 0.000706667 0.000693333 0.0007 0.000746667 0.000733333 +0.000726667 0.000686667 0.000693333 0.00072 0.000713333 0.000693333 0.00068 0.000706667 +0.00076 0.00076 0.000686667 0.000666667 0.000753333 0.000766667 0.000766667 0.000726667 +0.000726667 0.000773333 0.00076 0.000726667 0.000773333 0.00082 0.00082 0.00082 +0.000766667 0.00082 0.00092 0.248187 0.34096 0.399653 0.473493 0.597895 +0.791158 0.948421 0.992082 0.986531 0.977474 0.964211 0.951579 0.950316 +0.959789 0.981306 0.998612 1.00743 1.00873 1.0071 1.00971 1.012 +1.01037 1.00482 1.00188 1.00645 1.00776 1.01102 1.01265 1.01135 +1.00841 1.00318 0.994367 0.985878 0.981306 0.983918 1.00188 1.05641 +1.34911 1.39932 1.19238 1.05445 1.05412 1.11782 1.16195 1.04171 +0.916842 0.721684 0.585895 0.512 0.4432 0.441307 0.462133 0.467813 +0.45456 0.424267 0.40912 0.393973 0.40912 0.446987 0.45456 0.428053 +0.411013 0.446987 0.49432 0.512 0.523368 0.525263 0.517053 0.501895 +0.48296 0.502526 0.508211 0.5 0.505684 0.534737 0.575158 0.611789 +0.615579 0.592842 0.559368 0.523368 0.467813 0.39776 0.359893 0.361787 +0.365573 0.36368 0.348533 0.31824 0.325813 0.358 0.34664 0.316347 +0.31256 0.322027 0.350427 0.373147 0.36936 0.3864 0.44888 0.46592 +0.464027 0.467813 0.473493 0.46592 0.504421 0.562526 0.611789 0.604211 +0.551158 0.500632 0.405333 0.356107 0.34096 0.342853 0.350427 0.356107 +0.359893 0.359893 0.35232 0.358 0.384507 0.435627 0.46024 0.445093 +0.441307 0.43184 0.40344 0.3864 0.405333 0.399653 0.365573 0.365573 +0.371253 0.371253 0.37504 0.38072 0.42048 0.509474 0.563789 0.604842 +0.605474 0.548632 0.450773 0.399653 0.4148 0.393973 0.384507 0.399653 +0.42616 0.40344 0.38072 0.3864 0.399653 0.395867 0.395867 0.43184 +0.4716 0.522105 0.536632 0.501895 0.412907 0.401547 0.39208 0.412907 +0.435627 0.424267 0.43184 0.42616 0.405333 0.40344 0.399653 0.407227 +0.428053 0.407227 0.399653 0.42616 0.464027 0.513895 0.644632 0.861895 +0.952211 0.961053 0.969895 0.983592 0.998612 1.01984 1.10717 1.20607 +1.10413 1.05478 1.04073 1.03061 1.028 1.03192 1.03159 1.02963 +1.02604 1.03127 1.03682 1.03714 1.03878 1.0342 1.03029 1.03257 +1.03453 1.0378 1.03714 1.03747 1.04073 1.04041 1.04041 1.04498 +1.04139 1.04139 1.04531 1.0489 1.04759 1.04433 1.04433 1.03584 +1.03649 1.04629 1.05053 1.044 1.044 1.04367 1.0391 1.0489 +1.04759 1.04204 1.04433 1.05347 1.07674 1.15586 1.2502 1.30346 +1.23194 1.12847 1.09195 1.06152 1.04988 1.03388 1.00873 0.981959 +0.900421 0.731158 0.582737 0.522737 0.505053 0.490533 0.475387 0.492427 +0.46024 0.428053 0.411013 0.399653 0.424267 0.42048 0.399653 0.399653 +0.39208 0.384507 0.40344 0.405333 0.393973 0.39208 0.378827 0.367467 +0.39776 0.418587 0.405333 0.441307 0.528421 0.572632 0.528421 0.405333 +0.373147 0.401547 0.378827 0.350427 0.378827 0.371253 0.36936 0.405333 +0.429947 0.401547 0.36368 0.342853 0.342853 0.367467 0.4148 0.446987 +0.416693 0.382613 0.378827 0.39208 0.39208 0.411013 0.429947 0.435627 +0.505053 0.505684 0.416693 0.412907 0.522737 0.575789 0.566947 0.520842 +0.435627 0.38072 0.378827 0.358 0.356107 0.367467 0.358 0.356107 +0.49432 0.607368 0.653474 0.577053 0.456453 0.350427 0.322027 0.339067 +0.382613 0.407227 0.401547 0.359893 0.339067 0.373147 0.418587 0.445093 +0.492427 0.517053 0.521474 0.504421 0.45456 0.399653 0.36368 0.361787 +0.37504 0.378827 0.39208 0.3864 0.371253 0.376933 0.393973 0.384507 +0.367467 0.373147 0.384507 0.395867 0.405333 0.412907 0.433733 0.46592 +0.498107 0.49432 0.509474 0.569474 0.702105 0.937684 1.1939 1.37649 +1.16956 1.04857 1.05053 1.15738 1.33541 1.37345 1.1726 1.02376 +0.999592 1.00384 1.00939 1.00808 1.00776 1.00743 1.00645 1.00547 +1.00384 1.0058 1.00939 1.01102 1.00743 0.997633 0.989469 0.985878 +0.977474 0.956 0.944632 0.947158 0.954105 0.952211 0.961053 0.983265 +0.999265 1.0009 0.937053 0.740632 0.536 0.325813 0.297413 0.36368 +0.401547 0.356107 0.282267 0.236827 0.219787 0.000953333 0.0009 0.000853333 +0.000846667 0.000846667 0.000806667 0.00078 0.000806667 0.000786667 0.000773333 0.000766667 +0.00078 0.000786667 0.000766667 0.000753333 0.00072 0.000726667 0.00076 0.000753333 +0.00074 0.00072 0.000713333 0.00072 0.0007 0.000713333 0.0007 0.0007 +0.000713333 0.000713333 0.00072 0.000713333 0.00074 0.00076 0.000773333 0.000726667 +0.0007 0.000753333 0.00074 0.00068 0.00072 0.00072 0.000706667 0.000706667 +0.000726667 0.000706667 0.000686667 0.000693333 0.000693333 0.000706667 0.000706667 0.000726667 +0.000726667 0.00072 0.000713333 0.000713333 0.00072 0.000713333 0.000733333 0.000726667 +0.0007 0.00072 0.000746667 0.00072 0.00072 0.00072 0.000733333 0.000753333 +0.00076 0.000733333 0.000713333 0.000706667 0.0007 0.000726667 0.000746667 0.000706667 +0.0007 0.000706667 0.000733333 0.00074 0.000726667 0.000686667 0.000693333 0.000746667 +0.000733333 0.000706667 0.000686667 0.000733333 0.00078 0.000746667 0.00072 0.000713333 +0.000753333 0.000753333 0.000713333 0.0007 0.000786667 0.000853333 0.000813333 0.000786667 +0.00074 0.000786667 0.000873333 0.000926667 0.26144 0.36368 0.40912 0.508842 +0.639579 0.832842 0.974316 0.996 0.990122 0.976842 0.953474 0.949684 +0.952842 0.965474 0.986531 0.997959 1.00351 1.0071 1.01069 1.01135 +1.00873 1.0022 0.997633 1.00253 1.0071 1.01037 1.01069 1.01135 +1.00971 1.00776 1.00449 0.994041 0.983918 0.978105 0.983592 1.01657 +1.17108 1.3978 1.29737 1.09804 1.05184 1.05902 1.12543 1.06913 +0.994694 0.818316 0.652211 0.549263 0.492427 0.441307 0.4432 0.44888 +0.450773 0.439413 0.422373 0.424267 0.43752 0.44888 0.43184 0.40912 +0.42048 0.484853 0.522105 0.523368 0.515158 0.506316 0.501263 0.502526 +0.506947 0.520211 0.531579 0.539789 0.558737 0.586526 0.615579 0.621263 +0.573895 0.521474 0.475387 0.424267 0.384507 0.350427 0.337173 0.348533 +0.367467 0.36936 0.356107 0.3296 0.342853 0.384507 0.354213 0.325813 +0.322027 0.32392 0.367467 0.407227 0.407227 0.42616 0.500632 0.508842 +0.462133 0.407227 0.384507 0.376933 0.450773 0.537895 0.573263 0.558737 +0.518947 0.464027 0.39776 0.35232 0.348533 0.356107 0.359893 0.350427 +0.350427 0.356107 0.359893 0.365573 0.3864 0.433733 0.473493 0.4432 +0.4432 0.439413 0.412907 0.3864 0.37504 0.3864 0.39208 0.407227 +0.39776 0.382613 0.38072 0.378827 0.42048 0.518316 0.582737 0.613053 +0.585263 0.521474 0.422373 0.390187 0.384507 0.3864 0.376933 0.382613 +0.399653 0.38072 0.37504 0.382613 0.39208 0.39776 0.42048 0.4432 +0.48296 0.523368 0.543579 0.524 0.445093 0.39208 0.39208 0.418587 +0.43752 0.4432 0.433733 0.411013 0.395867 0.395867 0.399653 0.424267 +0.44888 0.435627 0.429947 0.439413 0.4716 0.513263 0.624421 0.841053 +0.954737 0.963579 0.959158 0.976211 0.990122 1.00547 1.04727 1.11782 +1.05902 1.05216 1.05118 1.04433 1.03224 1.03094 1.03518 1.03518 +1.02865 1.03094 1.03747 1.0391 1.04171 1.04106 1.03943 1.04237 +1.04171 1.04302 1.04237 1.03976 1.03845 1.03714 1.04106 1.04661 +1.04302 1.04433 1.04531 1.04792 1.04857 1.04367 1.04433 1.03845 +1.03649 1.044 1.04465 1.03878 1.04237 1.04073 1.0342 1.04661 +1.04824 1.04661 1.04596 1.05118 1.05771 1.12086 1.24716 1.31107 +1.24107 1.13152 1.07522 1.05249 1.03747 1.01624 0.989143 0.963579 +0.909263 0.757684 0.596 0.532211 0.518947 0.5 0.467813 0.462133 +0.429947 0.418587 0.412907 0.39208 0.401547 0.407227 0.399653 0.40344 +0.40912 0.39776 0.393973 0.40912 0.376933 0.365573 0.367467 0.373147 +0.405333 0.439413 0.411013 0.401547 0.510737 0.555579 0.520211 0.40912 +0.388293 0.418587 0.388293 0.361787 0.378827 0.371253 0.36368 0.401547 +0.439413 0.407227 0.358 0.344747 0.35232 0.37504 0.388293 0.418587 +0.40344 0.38072 0.382613 0.39776 0.40912 0.424267 0.43752 0.475387 +0.510737 0.464027 0.376933 0.399653 0.520211 0.589684 0.606737 0.560632 +0.481067 0.36936 0.378827 0.40912 0.40344 0.378827 0.356107 0.358 +0.49432 0.607368 0.650947 0.568211 0.4432 0.36368 0.34664 0.344747 +0.361787 0.384507 0.40344 0.384507 0.331493 0.320133 0.348533 0.350427 +0.358 0.42048 0.505684 0.524 0.524 0.503789 0.433733 0.382613 +0.388293 0.395867 0.390187 0.3864 0.395867 0.40344 0.411013 0.401547 +0.382613 0.38072 0.37504 0.382613 0.407227 0.439413 0.473493 0.500632 +0.502526 0.504421 0.534737 0.634526 0.819579 1.02702 1.32019 1.26694 +1.05837 1.04759 1.09652 1.28824 1.44345 1.37345 1.08282 1.01167 +1.00155 1.00547 1.00645 1.0058 1.00645 1.0071 1.00678 1.0071 +1.0071 1.00939 1.01037 1.00743 0.999265 0.990122 0.985551 0.984571 +0.978105 0.956632 0.947789 0.950316 0.947789 0.948421 0.976842 0.994367 +1.00351 0.982939 0.824 0.601684 0.399653 0.31256 0.356107 0.405333 +0.378827 0.299307 0.23304 0.00096 0.000946667 0.000886667 0.000846667 0.000806667 +0.00082 0.00082 0.000793333 0.00078 0.000813333 0.00078 0.000786667 0.00078 +0.000766667 0.000766667 0.000753333 0.000766667 0.000733333 0.00072 0.000746667 0.00074 +0.00074 0.000726667 0.000713333 0.000726667 0.000713333 0.0007 0.00072 0.00072 +0.00076 0.000766667 0.00078 0.000766667 0.00076 0.00074 0.00072 0.000706667 +0.000693333 0.000726667 0.000726667 0.000693333 0.000726667 0.000746667 0.000733333 0.00072 +0.00072 0.000713333 0.0007 0.0007 0.0007 0.000706667 0.00072 0.000726667 +0.000706667 0.000713333 0.000706667 0.0007 0.000686667 0.000686667 0.000693333 0.0007 +0.00068 0.000693333 0.000713333 0.000693333 0.00068 0.00068 0.0007 0.000746667 +0.000733333 0.000706667 0.000693333 0.0007 0.000713333 0.000733333 0.000733333 0.000706667 +0.000693333 0.000693333 0.000733333 0.000733333 0.00072 0.0007 0.000726667 0.000753333 +0.000713333 0.0007 0.00074 0.0008 0.00076 0.0007 0.00072 0.000753333 +0.000753333 0.000706667 0.000706667 0.000746667 0.000813333 0.000806667 0.000766667 0.000773333 +0.00078 0.000786667 0.000813333 0.000833333 0.000966667 0.299307 0.378827 0.422373 +0.528421 0.682526 0.875789 0.985878 0.996653 0.986204 0.966105 0.956 +0.950947 0.951579 0.970526 0.988816 1.00024 1.00547 1.00841 1.00808 +1.00678 1.00384 0.99698 0.997633 1.00514 1.00873 1.012 1.01363 +1.01167 1.01037 1.01037 1.00384 0.993061 0.983265 0.98 0.992735 +1.03878 1.26085 1.33541 1.17869 1.05706 1.05118 1.07217 1.09804 +1.03224 0.92379 0.738105 0.598526 0.519579 0.446987 0.428053 0.439413 +0.439413 0.42616 0.407227 0.422373 0.428053 0.405333 0.376933 0.365573 +0.384507 0.473493 0.518316 0.501263 0.42048 0.395867 0.407227 0.416693 +0.428053 0.469707 0.513895 0.545474 0.574526 0.586526 0.585895 0.570105 +0.517684 0.418587 0.37504 0.358 0.348533 0.342853 0.33528 0.337173 +0.339067 0.348533 0.36368 0.36368 0.390187 0.42616 0.371253 0.32392 +0.316347 0.331493 0.388293 0.43752 0.452667 0.462133 0.502526 0.503158 +0.435627 0.384507 0.36936 0.378827 0.439413 0.512632 0.530316 0.517053 +0.48296 0.44888 0.416693 0.38072 0.365573 0.348533 0.348533 0.350427 +0.339067 0.361787 0.373147 0.384507 0.401547 0.4432 0.475387 0.439413 +0.416693 0.4148 0.416693 0.390187 0.361787 0.36936 0.405333 0.464027 +0.4432 0.38072 0.367467 0.376933 0.424267 0.520842 0.584 0.597895 +0.548 0.486747 0.435627 0.4148 0.384507 0.388293 0.382613 0.38072 +0.40344 0.407227 0.393973 0.378827 0.38072 0.390187 0.42048 0.456453 +0.498107 0.525895 0.558105 0.554947 0.502526 0.411013 0.412907 0.439413 +0.45456 0.458347 0.429947 0.407227 0.39776 0.405333 0.428053 0.45456 +0.4716 0.464027 0.441307 0.435627 0.467813 0.510737 0.612421 0.824632 +0.944632 0.956632 0.953474 0.966105 0.981959 1.00057 1.03584 1.06761 +1.0538 1.04727 1.05118 1.05282 1.04433 1.03812 1.03812 1.03486 +1.03094 1.03224 1.03584 1.03551 1.0378 1.04139 1.04302 1.04629 +1.04433 1.04073 1.044 1.04465 1.04171 1.0378 1.04008 1.04237 +1.04008 1.04498 1.04629 1.04433 1.04498 1.04269 1.044 1.04073 +1.03943 1.04041 1.03943 1.03976 1.04269 1.04073 1.03486 1.04465 +1.05118 1.04792 1.03845 1.04139 1.05445 1.10565 1.20455 1.21673 +1.16043 1.08891 1.05282 1.03943 1.02539 1.00612 0.976842 0.952842 +0.923158 0.788 0.607368 0.523368 0.510105 0.481067 0.445093 0.424267 +0.39776 0.39776 0.416693 0.401547 0.4148 0.4148 0.405333 0.439413 +0.458347 0.43184 0.407227 0.405333 0.367467 0.35232 0.378827 0.401547 +0.416693 0.418587 0.39208 0.401547 0.517053 0.552421 0.509474 0.405333 +0.418587 0.42048 0.38072 0.3864 0.378827 0.36368 0.361787 0.401547 +0.441307 0.40344 0.373147 0.358 0.348533 0.358 0.365573 0.390187 +0.388293 0.382613 0.384507 0.388293 0.40344 0.43752 0.456453 0.503158 +0.506947 0.42048 0.373147 0.401547 0.511368 0.585263 0.628842 0.597263 +0.520211 0.401547 0.4148 0.450773 0.4148 0.36368 0.348533 0.359893 +0.502526 0.611789 0.646526 0.552421 0.411013 0.350427 0.348533 0.356107 +0.356107 0.365573 0.401547 0.39776 0.337173 0.331493 0.344747 0.342853 +0.3296 0.348533 0.433733 0.512632 0.540421 0.540421 0.509474 0.439413 +0.418587 0.422373 0.39776 0.39776 0.424267 0.412907 0.411013 0.429947 +0.4148 0.416693 0.411013 0.42616 0.462133 0.469707 0.47728 0.473493 +0.464027 0.508211 0.577684 0.727368 0.952842 1.15586 1.33085 1.1513 +1.04629 1.05184 1.17869 1.40845 1.4967 1.29281 1.03943 1.0058 +1.00612 1.00939 1.01004 1.0071 1.00384 1.00318 1.00482 1.00678 +1.00612 1.01004 1.01004 1.00286 0.99502 0.991102 0.988163 0.983592 +0.966737 0.949684 0.949053 0.950316 0.947158 0.957895 0.98849 1.00253 +0.994367 0.896632 0.683789 0.503789 0.3296 0.358 0.40912 0.388293 +0.304987 0.23304 0.000913333 0.000866667 0.00086 0.000833333 0.000813333 0.00078 +0.000766667 0.000793333 0.000786667 0.000793333 0.000826667 0.000793333 0.000773333 0.000786667 +0.000786667 0.00078 0.00076 0.0008 0.00078 0.000726667 0.000726667 0.000726667 +0.000713333 0.000726667 0.000746667 0.00074 0.00072 0.00072 0.00074 0.000733333 +0.000746667 0.000746667 0.000746667 0.000726667 0.000726667 0.000713333 0.000673333 0.000686667 +0.00072 0.000706667 0.000706667 0.000733333 0.0007 0.000713333 0.000713333 0.0007 +0.000706667 0.00074 0.00074 0.000733333 0.000733333 0.000726667 0.000733333 0.000746667 +0.00072 0.00072 0.000706667 0.000706667 0.00072 0.000733333 0.000713333 0.00072 +0.0007 0.000706667 0.000706667 0.000693333 0.000686667 0.000686667 0.0007 0.000726667 +0.000713333 0.000693333 0.000666667 0.000673333 0.000713333 0.00074 0.00072 0.000693333 +0.000706667 0.00072 0.000693333 0.00068 0.00068 0.000673333 0.00072 0.000713333 +0.000686667 0.000706667 0.000746667 0.000746667 0.000686667 0.000713333 0.00076 0.000733333 +0.000713333 0.000673333 0.000733333 0.000773333 0.00078 0.000766667 0.00078 0.000806667 +0.000786667 0.000766667 0.00078 0.00082 0.000913333 0.234933 0.316347 0.390187 +0.446987 0.558105 0.719789 0.896632 0.988163 0.995673 0.983265 0.962947 +0.950316 0.949053 0.963579 0.981959 0.990776 0.999265 1.00547 1.00678 +1.00678 1.00547 0.997306 0.994694 1.00286 1.00776 1.01331 1.01494 +1.01396 1.01004 1.00939 1.00873 1.00482 0.99698 0.986857 0.983918 +1.00351 1.06 1.29128 1.25781 1.09195 1.04661 1.05086 1.07369 +1.05118 0.995673 0.836 0.669263 0.555579 0.48864 0.441307 0.445093 +0.424267 0.40344 0.401547 0.405333 0.3864 0.365573 0.359893 0.350427 +0.371253 0.464027 0.506947 0.452667 0.376933 0.361787 0.359893 0.361787 +0.367467 0.376933 0.43184 0.518316 0.549263 0.545474 0.528421 0.515158 +0.467813 0.384507 0.356107 0.354213 0.358 0.35232 0.339067 0.333387 +0.325813 0.337173 0.376933 0.40344 0.435627 0.450773 0.37504 0.339067 +0.344747 0.365573 0.395867 0.40344 0.405333 0.405333 0.45456 0.4716 +0.422373 0.39208 0.371253 0.371253 0.405333 0.469707 0.500632 0.467813 +0.42616 0.405333 0.39776 0.395867 0.382613 0.361787 0.358 0.350427 +0.344747 0.356107 0.358 0.376933 0.42048 0.4716 0.486747 0.445093 +0.424267 0.40912 0.401547 0.373147 0.354213 0.36368 0.393973 0.4716 +0.473493 0.40344 0.382613 0.393973 0.456453 0.533474 0.578316 0.566947 +0.513263 0.424267 0.416693 0.422373 0.405333 0.407227 0.395867 0.3864 +0.407227 0.435627 0.422373 0.39776 0.390187 0.382613 0.40344 0.450773 +0.502526 0.537263 0.580211 0.593474 0.549263 0.49432 0.441307 0.44888 +0.46592 0.46592 0.439413 0.428053 0.42616 0.445093 0.46592 0.4432 +0.43184 0.43184 0.424267 0.433733 0.462133 0.503789 0.608 0.821474 +0.936421 0.950947 0.955368 0.962947 0.978737 0.997306 1.03029 1.07978 +1.06 1.04792 1.04531 1.04759 1.044 1.03682 1.03714 1.03518 +1.03453 1.0378 1.03682 1.0329 1.03812 1.04073 1.03682 1.04008 +1.04433 1.04106 1.04269 1.04531 1.04335 1.04139 1.04367 1.04302 +1.0378 1.03812 1.03943 1.03943 1.04171 1.04204 1.04596 1.04498 +1.04367 1.03943 1.03845 1.03976 1.044 1.04694 1.0391 1.04204 +1.04988 1.04596 1.03649 1.04171 1.05086 1.05641 1.12999 1.16499 +1.12695 1.05347 1.03714 1.0231 1.00971 0.993061 0.954105 0.937684 +0.922526 0.803158 0.613684 0.512632 0.501895 0.47728 0.445093 0.428053 +0.416693 0.411013 0.4148 0.399653 0.42048 0.42048 0.435627 0.473493 +0.4716 0.433733 0.401547 0.393973 0.373147 0.36936 0.393973 0.401547 +0.405333 0.384507 0.365573 0.412907 0.530947 0.556211 0.498107 0.401547 +0.456453 0.439413 0.40344 0.429947 0.395867 0.36936 0.378827 0.4432 +0.481067 0.40912 0.382613 0.365573 0.337173 0.344747 0.359893 0.36936 +0.376933 0.382613 0.371253 0.365573 0.399653 0.43184 0.452667 0.504421 +0.490533 0.388293 0.365573 0.3864 0.464027 0.555579 0.636421 0.646526 +0.573895 0.501895 0.450773 0.450773 0.40912 0.36368 0.348533 0.35232 +0.506947 0.62 0.640842 0.538526 0.376933 0.327707 0.339067 0.359893 +0.371253 0.384507 0.40912 0.407227 0.358 0.33528 0.34096 0.337173 +0.331493 0.34096 0.384507 0.44888 0.512632 0.534105 0.534737 0.527158 +0.517684 0.503789 0.445093 0.418587 0.435627 0.424267 0.428053 0.464027 +0.481067 0.5 0.498107 0.5 0.486747 0.467813 0.47728 0.4716 +0.467813 0.532842 0.647789 0.842316 1.02931 1.28824 1.25477 1.05673 +1.03878 1.05869 1.27911 1.52409 1.49974 1.16499 1.01984 1.00612 +1.00873 1.00808 1.00873 1.0058 1.00286 1.00416 1.00776 1.01004 +1.00808 1.00841 1.00384 0.992735 0.987184 0.990122 0.989143 0.981306 +0.959789 0.949053 0.949684 0.947158 0.952211 0.978105 0.997959 1.00188 +0.950947 0.765263 0.557474 0.359893 0.34096 0.40344 0.416693 0.342853 +0.242507 0.000873333 0.000806667 0.00082 0.000853333 0.000853333 0.000833333 0.0008 +0.0008 0.00082 0.000826667 0.000806667 0.000813333 0.000806667 0.000786667 0.00078 +0.000753333 0.000753333 0.000733333 0.00074 0.00076 0.000733333 0.000746667 0.000746667 +0.00072 0.000713333 0.00076 0.00078 0.000746667 0.000733333 0.00072 0.000726667 +0.000733333 0.000733333 0.00072 0.00072 0.000746667 0.000766667 0.000733333 0.00072 +0.000713333 0.00068 0.000706667 0.00074 0.000686667 0.0007 0.000693333 0.000706667 +0.0007 0.000713333 0.00072 0.00072 0.00072 0.000733333 0.000746667 0.000753333 +0.00072 0.000706667 0.000713333 0.000713333 0.000733333 0.000746667 0.000726667 0.000726667 +0.00072 0.00072 0.000726667 0.000713333 0.00072 0.0007 0.000706667 0.000726667 +0.00072 0.000713333 0.000673333 0.0007 0.000753333 0.000733333 0.000706667 0.000713333 +0.000733333 0.000733333 0.000673333 0.00066 0.000686667 0.0007 0.0007 0.000693333 +0.000726667 0.000753333 0.000713333 0.000693333 0.000693333 0.00076 0.00074 0.0007 +0.00072 0.00072 0.000746667 0.000726667 0.000726667 0.00076 0.000806667 0.000773333 +0.00072 0.00072 0.000766667 0.000846667 0.00084 0.000853333 0.234933 0.348533 +0.411013 0.47728 0.574526 0.742526 0.919368 0.993714 0.993388 0.980653 +0.961684 0.952842 0.956 0.966105 0.977474 0.988163 0.999918 1.0058 +1.0071 1.0058 1.00122 0.998612 1.00547 1.00939 1.01069 1.012 +1.01102 1.01069 1.01265 1.01396 1.01363 1.00906 0.995673 0.984245 +0.985224 1.01788 1.15434 1.30041 1.17564 1.04922 1.04237 1.05118 +1.0538 1.02571 0.929474 0.754526 0.611789 0.525263 0.464027 0.433733 +0.42048 0.416693 0.416693 0.393973 0.365573 0.365573 0.356107 0.35232 +0.388293 0.458347 0.467813 0.411013 0.37504 0.36368 0.36936 0.359893 +0.356107 0.356107 0.411013 0.510105 0.521474 0.48864 0.441307 0.435627 +0.446987 0.418587 0.373147 0.36368 0.365573 0.36368 0.348533 0.344747 +0.34096 0.344747 0.36936 0.405333 0.464027 0.469707 0.39208 0.354213 +0.342853 0.350427 0.356107 0.356107 0.356107 0.367467 0.429947 0.42616 +0.37504 0.36368 0.354213 0.34664 0.38072 0.435627 0.458347 0.435627 +0.399653 0.371253 0.373147 0.395867 0.401547 0.382613 0.359893 0.333387 +0.333387 0.354213 0.358 0.388293 0.44888 0.49432 0.496213 0.456453 +0.412907 0.38072 0.373147 0.365573 0.356107 0.365573 0.373147 0.40912 +0.44888 0.422373 0.40344 0.418587 0.502526 0.548632 0.568211 0.535368 +0.481067 0.412907 0.393973 0.399653 0.411013 0.424267 0.412907 0.399653 +0.40344 0.433733 0.433733 0.411013 0.401547 0.38072 0.384507 0.422373 +0.490533 0.532211 0.578316 0.614947 0.608632 0.565053 0.525895 0.512 +0.509474 0.500632 0.4716 0.46592 0.450773 0.446987 0.439413 0.407227 +0.405333 0.411013 0.412907 0.445093 0.45456 0.49432 0.611789 0.822737 +0.931368 0.949053 0.959789 0.970526 0.981306 0.992408 1.02147 1.0813 +1.08587 1.04661 1.04302 1.04563 1.044 1.0378 1.04171 1.04367 +1.04302 1.04727 1.04498 1.03845 1.04106 1.03714 1.03682 1.04106 +1.044 1.04106 1.04204 1.04367 1.04041 1.04008 1.04073 1.03976 +1.03616 1.03584 1.03616 1.03812 1.04041 1.04204 1.04596 1.05053 +1.0489 1.04367 1.044 1.04073 1.04661 1.05086 1.04302 1.04204 +1.04302 1.0378 1.03649 1.04759 1.05412 1.05347 1.09804 1.16347 +1.1163 1.03518 1.01527 1.00449 0.991755 0.978105 0.933263 0.919368 +0.914947 0.819579 0.635789 0.520842 0.500632 0.48296 0.446987 0.433733 +0.43752 0.412907 0.401547 0.395867 0.401547 0.399653 0.399653 0.40912 +0.429947 0.4148 0.40912 0.405333 0.395867 0.384507 0.393973 0.38072 +0.384507 0.37504 0.358 0.42048 0.538526 0.554316 0.486747 0.401547 +0.446987 0.441307 0.429947 0.456453 0.405333 0.390187 0.42048 0.496213 +0.517684 0.467813 0.399653 0.37504 0.359893 0.36368 0.350427 0.339067 +0.361787 0.376933 0.36368 0.359893 0.376933 0.39208 0.424267 0.5 +0.4716 0.382613 0.358 0.36936 0.40912 0.522737 0.632632 0.699579 +0.650316 0.551789 0.467813 0.412907 0.39208 0.371253 0.367467 0.39208 +0.526526 0.633895 0.642105 0.538526 0.378827 0.331493 0.337173 0.350427 +0.38072 0.411013 0.416693 0.401547 0.378827 0.348533 0.337173 0.337173 +0.342853 0.348533 0.356107 0.373147 0.412907 0.479173 0.525895 0.565684 +0.582737 0.558105 0.517053 0.492427 0.49432 0.492427 0.490533 0.504421 +0.511368 0.514526 0.508842 0.47728 0.43184 0.433733 0.469707 0.484853 +0.507579 0.582105 0.747579 0.973053 1.1589 1.30802 1.14217 1.04139 +1.03976 1.12391 1.40997 1.6093 1.42366 1.05282 1.01102 1.01069 +1.012 1.00906 1.00612 1.00286 1.00286 1.00482 1.0071 1.00873 +1.01069 1.00971 0.997959 0.986531 0.987837 0.990122 0.984245 0.965474 +0.950947 0.946526 0.948421 0.951579 0.970526 0.990776 1.00188 0.982612 +0.837263 0.628211 0.445093 0.358 0.407227 0.422373 0.367467 0.265227 +0.00094 0.000826667 0.000773333 0.000806667 0.00084 0.00086 0.00084 0.000826667 +0.0008 0.000793333 0.000786667 0.000766667 0.000766667 0.00078 0.00078 0.000786667 +0.00074 0.000726667 0.000733333 0.000746667 0.000773333 0.000753333 0.000753333 0.00078 +0.00078 0.00074 0.000726667 0.000746667 0.00074 0.000733333 0.000713333 0.000713333 +0.000726667 0.000733333 0.000733333 0.00072 0.00072 0.00074 0.000746667 0.00072 +0.000706667 0.000686667 0.000706667 0.000726667 0.000706667 0.00074 0.000753333 0.000753333 +0.000733333 0.00072 0.00072 0.00072 0.000713333 0.000726667 0.000733333 0.000726667 +0.000706667 0.000713333 0.000746667 0.000726667 0.000746667 0.000753333 0.000733333 0.000726667 +0.000733333 0.000726667 0.000726667 0.00072 0.000726667 0.00072 0.000733333 0.000726667 +0.0007 0.000706667 0.0007 0.000733333 0.000733333 0.000686667 0.000713333 0.00074 +0.000726667 0.000713333 0.000686667 0.0007 0.000726667 0.000713333 0.000706667 0.00072 +0.000746667 0.000713333 0.000673333 0.0007 0.000726667 0.000753333 0.00068 0.00068 +0.00074 0.000753333 0.000746667 0.000726667 0.00076 0.000786667 0.00078 0.000733333 +0.00074 0.000793333 0.000806667 0.00082 0.00082 0.00082 0.000933333 0.27848 +0.354213 0.405333 0.498107 0.596 0.774105 0.936421 0.994367 0.995347 +0.983265 0.961684 0.949053 0.947789 0.958526 0.977474 0.991429 1.00057 +1.00384 1.00416 1.00514 1.00384 1.00743 1.00547 1.0022 1.00384 +1.00612 1.01004 1.01396 1.01331 1.01167 1.00971 1.00253 0.991429 +0.982939 0.991755 1.03714 1.2289 1.25933 1.0813 1.04204 1.04465 +1.0502 1.04139 0.994694 0.849895 0.685684 0.566316 0.502526 0.433733 +0.418587 0.424267 0.4148 0.39208 0.3864 0.378827 0.359893 0.376933 +0.4148 0.416693 0.390187 0.367467 0.361787 0.367467 0.36936 0.339067 +0.34664 0.378827 0.464027 0.515158 0.503789 0.424267 0.388293 0.38072 +0.411013 0.42048 0.38072 0.36368 0.367467 0.371253 0.36368 0.34664 +0.339067 0.350427 0.373147 0.38072 0.428053 0.464027 0.4148 0.342853 +0.316347 0.3296 0.337173 0.333387 0.322027 0.356107 0.42616 0.399653 +0.354213 0.34664 0.337173 0.33528 0.359893 0.395867 0.418587 0.412907 +0.395867 0.382613 0.378827 0.388293 0.384507 0.376933 0.350427 0.337173 +0.348533 0.371253 0.401547 0.435627 0.4716 0.48864 0.48864 0.4716 +0.424267 0.373147 0.36368 0.36936 0.373147 0.367467 0.36368 0.378827 +0.428053 0.450773 0.439413 0.467813 0.520842 0.553684 0.549263 0.510737 +0.450773 0.412907 0.390187 0.388293 0.405333 0.42616 0.4148 0.405333 +0.401547 0.424267 0.43184 0.411013 0.390187 0.38072 0.393973 0.418587 +0.456453 0.510105 0.551158 0.605474 0.640211 0.642737 0.616211 0.579579 +0.537263 0.501895 0.45456 0.46024 0.4432 0.422373 0.407227 0.40344 +0.407227 0.390187 0.395867 0.429947 0.445093 0.49432 0.621263 0.828421 +0.923158 0.942737 0.956632 0.968632 0.980327 0.987837 1.01331 1.05935 +1.08891 1.0489 1.04367 1.04694 1.05184 1.05249 1.05478 1.05445 +1.05151 1.05282 1.0502 1.04824 1.04433 1.03616 1.04204 1.04367 +1.04041 1.03812 1.04302 1.04367 1.0391 1.04073 1.04008 1.03812 +1.03747 1.04008 1.04237 1.04269 1.04367 1.04498 1.04661 1.0502 +1.0489 1.04661 1.04727 1.044 1.0489 1.04759 1.04531 1.04922 +1.04465 1.03812 1.03682 1.04955 1.05673 1.05641 1.09804 1.14217 +1.09195 1.03061 1.00482 0.988816 0.968 0.957263 0.925053 0.909895 +0.914316 0.839158 0.663579 0.537895 0.501895 0.46592 0.428053 0.416693 +0.43184 0.4148 0.411013 0.4148 0.39776 0.384507 0.378827 0.38072 +0.401547 0.418587 0.445093 0.44888 0.4148 0.390187 0.390187 0.3864 +0.373147 0.367467 0.365573 0.458347 0.552421 0.553053 0.49432 0.422373 +0.424267 0.4148 0.416693 0.424267 0.395867 0.3864 0.418587 0.505684 +0.555579 0.535368 0.452667 0.399653 0.388293 0.371253 0.337173 0.331493 +0.36368 0.388293 0.373147 0.361787 0.356107 0.365573 0.416693 0.490533 +0.452667 0.378827 0.348533 0.358 0.393973 0.490533 0.602316 0.711579 +0.700211 0.594737 0.504421 0.42048 0.42048 0.42048 0.43184 0.481067 +0.549895 0.635789 0.635158 0.539158 0.40344 0.361787 0.354213 0.344747 +0.359893 0.40344 0.42048 0.412907 0.39776 0.36936 0.34664 0.342853 +0.348533 0.34664 0.337173 0.344747 0.356107 0.382613 0.475387 0.554316 +0.610526 0.591579 0.536632 0.512632 0.514526 0.518947 0.518316 0.516421 +0.505684 0.500632 0.49432 0.446987 0.412907 0.424267 0.445093 0.481067 +0.533474 0.661053 0.870737 1.03943 1.29128 1.23803 1.05347 1.03682 +1.05445 1.25629 1.55452 1.6093 1.26237 1.02702 1.00841 1.01069 +1.01069 1.00939 1.0058 1.00318 1.00612 1.00776 1.00873 1.00873 +1.00743 0.999592 0.985224 0.981959 0.988816 0.990449 0.98098 0.958526 +0.950316 0.947158 0.945895 0.959789 0.985224 0.998286 0.995347 0.904842 +0.698316 0.522105 0.36936 0.401547 0.424267 0.371253 0.280373 0.000926667 +0.000853333 0.000833333 0.000766667 0.000766667 0.000806667 0.000846667 0.000833333 0.0008 +0.000766667 0.000766667 0.00078 0.00078 0.000786667 0.000826667 0.000806667 0.000806667 +0.000773333 0.00078 0.000793333 0.00076 0.000773333 0.000746667 0.00074 0.000753333 +0.000786667 0.000766667 0.000713333 0.00072 0.00074 0.00074 0.000733333 0.000726667 +0.000746667 0.000733333 0.000733333 0.000733333 0.000733333 0.000766667 0.000773333 0.000753333 +0.00076 0.000746667 0.000726667 0.000733333 0.00072 0.000733333 0.000753333 0.000746667 +0.00072 0.000706667 0.000726667 0.00074 0.000726667 0.00074 0.00072 0.000726667 +0.00072 0.000746667 0.000766667 0.00074 0.000753333 0.00076 0.00074 0.00076 +0.000766667 0.000753333 0.00074 0.000733333 0.00074 0.000733333 0.000733333 0.000706667 +0.000693333 0.000733333 0.00074 0.000746667 0.000726667 0.000693333 0.000733333 0.00074 +0.0007 0.00068 0.00072 0.000753333 0.000726667 0.000713333 0.000726667 0.000733333 +0.00072 0.000686667 0.000693333 0.000733333 0.000733333 0.000713333 0.00068 0.00072 +0.00076 0.000733333 0.000706667 0.00074 0.0008 0.000773333 0.00074 0.000746667 +0.000773333 0.000766667 0.000746667 0.000786667 0.000826667 0.00088 0.000886667 0.000966667 +0.276587 0.378827 0.446987 0.512 0.619368 0.800632 0.954737 0.999918 +0.994694 0.978737 0.955368 0.944 0.950947 0.962316 0.977474 0.989469 +0.997959 1.00416 1.01004 1.00743 1.00514 1.00122 0.997306 0.998939 +1.0022 1.0058 1.00906 1.00971 1.00776 1.00612 1.00449 0.998286 +0.988816 0.984898 1.00122 1.05314 1.24107 1.17564 1.05118 1.04237 +1.04629 1.04465 1.02082 0.942105 0.779158 0.625684 0.529684 0.462133 +0.424267 0.42616 0.411013 0.39208 0.395867 0.40344 0.390187 0.40344 +0.4148 0.39208 0.36936 0.365573 0.358 0.378827 0.373147 0.34096 +0.359893 0.405333 0.484853 0.511368 0.469707 0.39776 0.371253 0.35232 +0.3864 0.42616 0.393973 0.358 0.354213 0.36368 0.36368 0.359893 +0.35232 0.359893 0.365573 0.35232 0.367467 0.43752 0.446987 0.359893 +0.320133 0.320133 0.325813 0.31824 0.310667 0.34664 0.424267 0.39776 +0.344747 0.333387 0.3296 0.327707 0.348533 0.373147 0.401547 0.390187 +0.382613 0.384507 0.390187 0.39208 0.382613 0.37504 0.365573 0.359893 +0.36936 0.399653 0.429947 0.473493 0.498107 0.484853 0.473493 0.484853 +0.467813 0.412907 0.36936 0.373147 0.37504 0.378827 0.38072 0.390187 +0.435627 0.479173 0.504421 0.513263 0.525895 0.539789 0.529053 0.490533 +0.4432 0.4148 0.405333 0.399653 0.411013 0.424267 0.412907 0.422373 +0.424267 0.416693 0.40912 0.40344 0.393973 0.39776 0.424267 0.429947 +0.43752 0.473493 0.524 0.575158 0.613684 0.633263 0.645263 0.631368 +0.572 0.505053 0.422373 0.422373 0.422373 0.416693 0.411013 0.412907 +0.40344 0.38072 0.40344 0.412907 0.428053 0.503158 0.636421 0.837263 +0.916842 0.933263 0.947158 0.957895 0.975579 0.988163 1.01102 1.05314 +1.07369 1.05151 1.04759 1.04759 1.05216 1.05282 1.05086 1.05314 +1.05412 1.05216 1.04824 1.05086 1.04727 1.04204 1.04302 1.04073 +1.03878 1.03976 1.04498 1.044 1.04139 1.044 1.04041 1.0391 +1.04204 1.04269 1.04335 1.04531 1.04661 1.04661 1.04694 1.04824 +1.04531 1.04563 1.04531 1.04302 1.04563 1.04563 1.04824 1.05445 +1.05249 1.04955 1.04759 1.05673 1.05804 1.05641 1.09652 1.09652 +1.05869 1.0378 1.01069 0.987837 0.959789 0.947158 0.923158 0.904842 +0.912421 0.856842 0.688211 0.548632 0.5 0.44888 0.43752 0.433733 +0.445093 0.424267 0.407227 0.44888 0.45456 0.407227 0.407227 0.393973 +0.3864 0.407227 0.43752 0.445093 0.411013 0.3864 0.384507 0.40344 +0.395867 0.390187 0.412907 0.510737 0.570737 0.551158 0.48296 0.42616 +0.393973 0.3864 0.39208 0.3864 0.388293 0.382613 0.42048 0.527789 +0.615579 0.603579 0.506947 0.40912 0.399653 0.373147 0.331493 0.331493 +0.365573 0.39208 0.378827 0.365573 0.354213 0.36936 0.429947 0.464027 +0.4432 0.393973 0.36368 0.359893 0.384507 0.43752 0.556842 0.675579 +0.706526 0.618737 0.513263 0.412907 0.411013 0.424267 0.445093 0.5 +0.551158 0.623158 0.618105 0.530316 0.405333 0.365573 0.358 0.354213 +0.350427 0.378827 0.42048 0.439413 0.4432 0.435627 0.412907 0.390187 +0.36936 0.36368 0.344747 0.344747 0.348533 0.348533 0.39208 0.510737 +0.572632 0.571368 0.536632 0.521474 0.528421 0.546105 0.550526 0.529053 +0.504421 0.490533 0.48864 0.464027 0.441307 0.446987 0.464027 0.507579 +0.589684 0.770316 0.987837 1.16499 1.2852 1.11326 1.03584 1.03812 +1.11934 1.40388 1.63973 1.48757 1.07369 1.01592 1.01135 1.01102 +1.00808 1.00678 1.00514 1.00449 1.00645 1.00873 1.01037 1.00971 +1.0022 0.990122 0.983592 0.985224 0.988163 0.982939 0.967368 0.952211 +0.947789 0.946526 0.957263 0.981306 0.995347 0.998939 0.952842 0.774737 +0.568211 0.39776 0.382613 0.435627 0.390187 0.291733 0.000993333 0.000813333 +0.000806667 0.000826667 0.0008 0.000793333 0.000813333 0.00084 0.000826667 0.000786667 +0.000793333 0.000813333 0.000813333 0.000826667 0.000786667 0.000813333 0.00082 0.000793333 +0.000746667 0.000766667 0.000793333 0.00074 0.00074 0.000746667 0.00076 0.00076 +0.000766667 0.000773333 0.000753333 0.000753333 0.000746667 0.000746667 0.00074 0.000746667 +0.00076 0.000753333 0.000753333 0.000726667 0.000726667 0.000753333 0.000753333 0.00076 +0.000773333 0.000733333 0.000713333 0.00072 0.0007 0.000706667 0.000726667 0.000726667 +0.000706667 0.00072 0.000726667 0.00072 0.0007 0.000693333 0.0007 0.00072 +0.000726667 0.000726667 0.000746667 0.000693333 0.00068 0.000713333 0.000706667 0.000726667 +0.000733333 0.000726667 0.000733333 0.000753333 0.000753333 0.000746667 0.000733333 0.00072 +0.000726667 0.000766667 0.000753333 0.00074 0.0007 0.000706667 0.000746667 0.000713333 +0.000673333 0.000666667 0.00074 0.000746667 0.000706667 0.000713333 0.000733333 0.000726667 +0.00072 0.000733333 0.000753333 0.000746667 0.000726667 0.000746667 0.00076 0.000773333 +0.00076 0.00074 0.00072 0.000746667 0.00076 0.00072 0.000733333 0.000773333 +0.000746667 0.000686667 0.0007 0.000773333 0.000846667 0.000846667 0.000833333 0.000833333 +0.22168 0.32392 0.399653 0.439413 0.522737 0.648421 0.826526 0.964842 +0.99502 0.989469 0.977474 0.956 0.952842 0.954737 0.957895 0.974316 +0.990122 1.00188 1.00906 1.00873 1.00547 1.00547 1.00416 1.00057 +0.997959 0.998612 1.00155 1.0058 1.00776 1.00841 1.00678 1.00449 +0.998939 0.992082 0.988816 1.01102 1.09348 1.22738 1.1163 1.04857 +1.04465 1.04171 1.03159 0.99698 0.878947 0.711579 0.580211 0.508842 +0.435627 0.416693 0.42048 0.40912 0.407227 0.416693 0.40344 0.405333 +0.40344 0.384507 0.376933 0.38072 0.378827 0.3864 0.38072 0.361787 +0.378827 0.435627 0.498107 0.486747 0.412907 0.37504 0.359893 0.350427 +0.39208 0.439413 0.412907 0.365573 0.356107 0.367467 0.37504 0.376933 +0.359893 0.350427 0.354213 0.356107 0.359893 0.40912 0.44888 0.384507 +0.320133 0.33528 0.344747 0.3296 0.32392 0.373147 0.441307 0.407227 +0.344747 0.327707 0.350427 0.34664 0.34096 0.359893 0.388293 0.376933 +0.36936 0.399653 0.433733 0.429947 0.407227 0.376933 0.350427 0.359893 +0.39208 0.445093 0.47728 0.502526 0.506316 0.484853 0.439413 0.424267 +0.452667 0.435627 0.390187 0.384507 0.373147 0.37504 0.388293 0.39776 +0.4148 0.4432 0.501263 0.513895 0.514526 0.518947 0.516421 0.496213 +0.45456 0.433733 0.428053 0.42616 0.42616 0.43184 0.441307 0.445093 +0.429947 0.412907 0.388293 0.390187 0.407227 0.424267 0.435627 0.433733 +0.42616 0.4432 0.508211 0.553053 0.569474 0.549263 0.562526 0.598526 +0.584 0.525895 0.446987 0.407227 0.401547 0.40344 0.405333 0.412907 +0.39776 0.39776 0.4148 0.407227 0.435627 0.517053 0.656632 0.841053 +0.913053 0.933263 0.944632 0.956632 0.978105 0.991429 1.01624 1.0538 +1.05967 1.0538 1.05478 1.05249 1.05249 1.04727 1.04465 1.05151 +1.05902 1.05771 1.0489 1.0502 1.0502 1.04302 1.03845 1.03812 +1.04106 1.04694 1.0489 1.04433 1.0378 1.04041 1.0378 1.04008 +1.04204 1.0391 1.04302 1.04694 1.04531 1.04335 1.04629 1.04661 +1.04759 1.04955 1.04792 1.04563 1.04759 1.05641 1.07065 1.07522 +1.05902 1.05739 1.0551 1.06304 1.05967 1.06609 1.10413 1.06152 +1.05282 1.04629 1.028 1.00482 0.981959 0.956632 0.933895 0.916211 +0.919368 0.881474 0.729263 0.568842 0.506947 0.4716 0.47728 0.456453 +0.452667 0.43184 0.405333 0.46592 0.503789 0.458347 0.43184 0.4148 +0.390187 0.3864 0.399653 0.39776 0.395867 0.388293 0.38072 0.395867 +0.412907 0.412907 0.456453 0.532211 0.584632 0.546737 0.44888 0.399653 +0.371253 0.376933 0.38072 0.359893 0.376933 0.388293 0.43752 0.545474 +0.644632 0.637053 0.520842 0.401547 0.384507 0.37504 0.354213 0.333387 +0.361787 0.388293 0.371253 0.36936 0.367467 0.3864 0.433733 0.43752 +0.40912 0.378827 0.36936 0.359893 0.37504 0.40344 0.517684 0.619368 +0.684421 0.635158 0.527789 0.399653 0.36936 0.36936 0.37504 0.4148 +0.525263 0.604842 0.603579 0.517053 0.367467 0.327707 0.337173 0.36368 +0.376933 0.40912 0.433733 0.416693 0.416693 0.441307 0.439413 0.401547 +0.36368 0.356107 0.354213 0.361787 0.36936 0.373147 0.418587 0.496213 +0.527158 0.527789 0.513895 0.508842 0.530316 0.579579 0.598526 0.560632 +0.519579 0.49432 0.46592 0.46024 0.46592 0.479173 0.505053 0.551158 +0.683789 0.899789 1.04465 1.25781 1.19086 1.04563 1.02963 1.04759 +1.23498 1.53778 1.61387 1.27911 1.03224 1.01298 1.01265 1.01004 +1.00808 1.0071 1.00808 1.00808 1.00808 1.00841 1.00808 1.00318 +0.991429 0.982612 0.984571 0.989143 0.98849 0.980327 0.961684 0.953474 +0.945263 0.948421 0.972421 0.991429 1.00024 0.983265 0.843579 0.635158 +0.475387 0.371253 0.40912 0.4148 0.327707 0.240613 0.00094 0.000853333 +0.000813333 0.000793333 0.0008 0.000806667 0.000793333 0.000813333 0.0008 0.00076 +0.000753333 0.000773333 0.000793333 0.0008 0.000766667 0.00078 0.000813333 0.000806667 +0.000746667 0.000746667 0.000786667 0.00078 0.000773333 0.00076 0.000773333 0.000773333 +0.000766667 0.000786667 0.00078 0.000773333 0.000766667 0.00074 0.00072 0.0007 +0.00072 0.000746667 0.000766667 0.000753333 0.00072 0.00074 0.00074 0.00076 +0.000773333 0.00074 0.000706667 0.000726667 0.00072 0.000733333 0.000746667 0.000726667 +0.000713333 0.00072 0.00072 0.000713333 0.000713333 0.000726667 0.00072 0.00074 +0.000726667 0.000733333 0.00072 0.000686667 0.000673333 0.0007 0.0007 0.000686667 +0.00066 0.000653333 0.000706667 0.000733333 0.000726667 0.000733333 0.00072 0.00072 +0.00074 0.00076 0.00074 0.000726667 0.00072 0.00074 0.000733333 0.00068 +0.000673333 0.000706667 0.000746667 0.0007 0.000666667 0.000713333 0.000726667 0.000706667 +0.000713333 0.000733333 0.00074 0.000713333 0.00072 0.000753333 0.000753333 0.00076 +0.000726667 0.00076 0.000766667 0.000733333 0.000726667 0.00074 0.00078 0.000766667 +0.000726667 0.000713333 0.000766667 0.00078 0.000786667 0.000773333 0.000793333 0.000833333 +0.000913333 0.236827 0.310667 0.393973 0.44888 0.532842 0.661053 0.836 +0.970526 0.998939 0.993061 0.975579 0.956632 0.956 0.957263 0.962947 +0.978737 0.989796 0.997959 1.00416 1.00939 1.01167 1.01037 1.00482 +1.00024 0.998286 0.999918 1.00384 1.00808 1.01102 1.00939 1.00776 +1.00449 0.999592 0.993061 0.991755 1.02539 1.1376 1.18477 1.0813 +1.04922 1.04204 1.0329 1.01429 0.962947 0.818947 0.661053 0.548632 +0.469707 0.416693 0.428053 0.424267 0.416693 0.439413 0.429947 0.39776 +0.384507 0.3864 0.401547 0.405333 0.388293 0.382613 0.39208 0.378827 +0.393973 0.469707 0.505053 0.450773 0.390187 0.371253 0.35232 0.337173 +0.376933 0.418587 0.422373 0.401547 0.36936 0.36368 0.378827 0.39208 +0.37504 0.35232 0.339067 0.350427 0.36936 0.378827 0.424267 0.418587 +0.373147 0.390187 0.371253 0.32392 0.337173 0.40912 0.456453 0.412907 +0.361787 0.35232 0.36368 0.350427 0.333387 0.361787 0.3864 0.376933 +0.37504 0.39776 0.422373 0.433733 0.439413 0.401547 0.358 0.390187 +0.446987 0.501263 0.513895 0.519579 0.511368 0.479173 0.4148 0.376933 +0.40912 0.433733 0.412907 0.39208 0.371253 0.371253 0.39776 0.412907 +0.39208 0.378827 0.44888 0.503789 0.500632 0.503158 0.514526 0.512632 +0.501895 0.464027 0.433733 0.433733 0.456453 0.48864 0.49432 0.452667 +0.411013 0.399653 0.399653 0.393973 0.399653 0.405333 0.40344 0.411013 +0.40912 0.433733 0.508842 0.556211 0.56 0.509474 0.467813 0.517684 +0.539158 0.528421 0.501263 0.446987 0.416693 0.407227 0.40912 0.401547 +0.378827 0.393973 0.4148 0.42616 0.458347 0.529053 0.678737 0.851789 +0.914316 0.936421 0.949684 0.965474 0.983265 0.997959 1.02637 1.05543 +1.05673 1.05608 1.05706 1.05347 1.05445 1.04857 1.04661 1.05347 +1.0813 1.10108 1.05935 1.06304 1.07674 1.05118 1.04269 1.04106 +1.04269 1.04694 1.04759 1.04629 1.03812 1.04139 1.04139 1.044 +1.04171 1.03943 1.04922 1.05184 1.04498 1.0391 1.04171 1.04269 +1.04661 1.05184 1.05412 1.0551 1.0538 1.05739 1.06913 1.06456 +1.05445 1.0551 1.0551 1.06456 1.06456 1.08587 1.11782 1.07217 +1.05608 1.05608 1.04857 1.02735 1.00188 0.988163 0.969263 0.941474 +0.932632 0.908 0.783579 0.608 0.534737 0.527158 0.519579 0.5 +0.469707 0.456453 0.418587 0.44888 0.502526 0.48296 0.441307 0.42048 +0.401547 0.390187 0.390187 0.382613 0.390187 0.39776 0.38072 0.382613 +0.3864 0.390187 0.4432 0.527789 0.577684 0.541684 0.439413 0.388293 +0.378827 0.378827 0.371253 0.354213 0.373147 0.3864 0.428053 0.525263 +0.601053 0.602947 0.508211 0.376933 0.367467 0.373147 0.354213 0.34096 +0.359893 0.37504 0.371253 0.382613 0.393973 0.39776 0.42048 0.416693 +0.38072 0.373147 0.38072 0.361787 0.36368 0.371253 0.450773 0.553053 +0.630737 0.638316 0.56 0.450773 0.373147 0.358 0.34664 0.378827 +0.516421 0.600421 0.600421 0.507579 0.333387 0.304987 0.31824 0.344747 +0.37504 0.411013 0.39776 0.339067 0.337173 0.382613 0.395867 0.36936 +0.342853 0.339067 0.359893 0.378827 0.382613 0.390187 0.433733 0.490533 +0.49432 0.479173 0.479173 0.486747 0.527158 0.601053 0.639579 0.592842 +0.527789 0.467813 0.42048 0.439413 0.469707 0.486747 0.526526 0.624421 +0.806316 1.00188 1.18021 1.25172 1.07065 1.03029 1.03355 1.09956 +1.40236 1.63517 1.47844 1.0813 1.01951 1.01167 1.01004 1.00743 +1.00678 1.00678 1.0071 1.00743 1.00873 1.00841 1.00514 0.996 +0.983265 0.98098 0.986857 0.988816 0.984571 0.969263 0.954105 0.949053 +0.949053 0.967368 0.990776 1.00057 0.993714 0.902947 0.697684 0.522737 +0.390187 0.411013 0.411013 0.344747 0.257653 0.216 0.000893333 0.00082 +0.000793333 0.00076 0.000766667 0.000806667 0.000793333 0.000813333 0.000793333 0.00074 +0.000713333 0.00074 0.000773333 0.000786667 0.000773333 0.000773333 0.0008 0.000786667 +0.00076 0.00076 0.00078 0.000786667 0.000773333 0.00074 0.000753333 0.000746667 +0.00072 0.00074 0.00076 0.00076 0.00078 0.000766667 0.00072 0.000706667 +0.000733333 0.00076 0.000766667 0.000773333 0.000746667 0.000733333 0.00072 0.000753333 +0.000766667 0.000746667 0.000726667 0.000713333 0.00072 0.000746667 0.000746667 0.00074 +0.000726667 0.000726667 0.0007 0.000713333 0.00074 0.000753333 0.000733333 0.000726667 +0.000726667 0.000726667 0.000746667 0.000733333 0.00074 0.00076 0.00074 0.000706667 +0.00068 0.000693333 0.000746667 0.00074 0.00072 0.000713333 0.000706667 0.00076 +0.000773333 0.000746667 0.000706667 0.000706667 0.00074 0.000753333 0.000706667 0.000686667 +0.000726667 0.000746667 0.00072 0.00068 0.000693333 0.00074 0.00072 0.0007 +0.000733333 0.00072 0.000686667 0.000673333 0.000733333 0.000726667 0.000693333 0.000706667 +0.000706667 0.00074 0.000726667 0.000706667 0.000746667 0.000773333 0.000753333 0.00072 +0.00072 0.000746667 0.000793333 0.000773333 0.00074 0.00076 0.00082 0.0008 +0.000813333 0.00088 0.242507 0.337173 0.395867 0.43184 0.532842 0.669895 +0.853684 0.980653 0.998612 0.989469 0.974316 0.963579 0.959789 0.957263 +0.958526 0.973053 0.986531 0.998612 1.00841 1.01102 1.00971 1.00841 +1.00678 1.00416 1.00384 1.0058 1.00873 1.01069 1.00906 1.00449 +1.00155 1.00253 1.00057 0.992408 0.998286 1.03747 1.13152 1.12999 +1.05412 1.04531 1.03584 1.02049 0.99698 0.916211 0.769684 0.621895 +0.525263 0.44888 0.429947 0.428053 0.422373 0.441307 0.456453 0.42616 +0.40344 0.395867 0.429947 0.433733 0.39776 0.39776 0.384507 0.348533 +0.38072 0.48296 0.510105 0.441307 0.384507 0.38072 0.35232 0.337173 +0.36936 0.399653 0.40344 0.40344 0.38072 0.361787 0.376933 0.40912 +0.39776 0.356107 0.325813 0.348533 0.376933 0.365573 0.384507 0.422373 +0.433733 0.422373 0.354213 0.333387 0.356107 0.393973 0.393973 0.356107 +0.350427 0.36936 0.393973 0.382613 0.365573 0.36368 0.37504 0.382613 +0.37504 0.371253 0.36368 0.378827 0.433733 0.4432 0.418587 0.47728 +0.513895 0.523368 0.530316 0.527789 0.512632 0.469707 0.407227 0.388293 +0.4148 0.42048 0.407227 0.39208 0.361787 0.361787 0.39208 0.405333 +0.378827 0.365573 0.445093 0.501895 0.475387 0.464027 0.506316 0.526526 +0.530316 0.517053 0.484853 0.46592 0.475387 0.49432 0.479173 0.429947 +0.412907 0.40912 0.395867 0.388293 0.382613 0.361787 0.354213 0.36936 +0.373147 0.4148 0.510105 0.563158 0.571368 0.522737 0.452667 0.43184 +0.46592 0.500632 0.5 0.475387 0.452667 0.43184 0.428053 0.43184 +0.412907 0.429947 0.464027 0.467813 0.469707 0.539789 0.705895 0.870737 +0.921895 0.944632 0.962947 0.978737 0.990122 1.012 1.03682 1.05086 +1.05184 1.05935 1.05837 1.0551 1.05804 1.05314 1.05151 1.05412 +1.06 1.08891 1.06913 1.08435 1.09804 1.05706 1.0502 1.04629 +1.04269 1.04269 1.04433 1.04531 1.04139 1.04629 1.04302 1.04433 +1.04302 1.04139 1.04824 1.04824 1.04433 1.03878 1.04073 1.04563 +1.04694 1.05282 1.06761 1.06304 1.04988 1.04727 1.05347 1.05739 +1.05184 1.0538 1.05673 1.07217 1.07217 1.07369 1.09956 1.08891 +1.08891 1.12086 1.11478 1.04988 1.028 1.02408 1.01298 0.98849 +0.969263 0.935158 0.831579 0.650316 0.56 0.561263 0.554947 0.525895 +0.506947 0.48296 0.4432 0.435627 0.44888 0.44888 0.429947 0.405333 +0.395867 0.393973 0.39776 0.390187 0.390187 0.3864 0.37504 0.371253 +0.365573 0.365573 0.416693 0.517053 0.558737 0.527789 0.43752 0.39776 +0.390187 0.384507 0.376933 0.365573 0.36936 0.373147 0.40344 0.508842 +0.572632 0.577684 0.504421 0.378827 0.358 0.361787 0.344747 0.342853 +0.367467 0.36936 0.371253 0.376933 0.384507 0.395867 0.407227 0.40912 +0.390187 0.384507 0.395867 0.36936 0.356107 0.358 0.390187 0.503158 +0.575789 0.625053 0.590947 0.506947 0.376933 0.354213 0.344747 0.36936 +0.512632 0.594737 0.598526 0.513263 0.359893 0.337173 0.331493 0.34096 +0.373147 0.401547 0.37504 0.325813 0.325813 0.34096 0.342853 0.339067 +0.327707 0.333387 0.35232 0.356107 0.354213 0.356107 0.405333 0.464027 +0.435627 0.424267 0.464027 0.5 0.519579 0.582105 0.625053 0.588421 +0.529053 0.48296 0.433733 0.435627 0.464027 0.503158 0.571368 0.731158 +0.941474 1.05837 1.27607 1.16803 1.04139 1.02669 1.04269 1.21825 +1.53778 1.58343 1.24411 1.03388 1.01657 1.01167 1.01037 1.00873 +1.00776 1.00776 1.00678 1.00678 1.00808 1.00645 0.999918 0.986531 +0.976211 0.982612 0.98849 0.991755 0.985551 0.963579 0.949684 0.944632 +0.957895 0.983592 0.997306 0.997959 0.944 0.767158 0.570105 0.412907 +0.399653 0.424267 0.365573 0.259547 0.00096 0.000926667 0.0009 0.000846667 +0.00082 0.000793333 0.000746667 0.00076 0.000773333 0.000813333 0.00082 0.00076 +0.000733333 0.000726667 0.000746667 0.000793333 0.000786667 0.000766667 0.000786667 0.00076 +0.000733333 0.000733333 0.000733333 0.000733333 0.00074 0.000726667 0.00076 0.000773333 +0.00074 0.000726667 0.000753333 0.00078 0.000793333 0.000773333 0.000733333 0.000713333 +0.000753333 0.00074 0.000726667 0.000746667 0.00076 0.00074 0.00072 0.00074 +0.000746667 0.000726667 0.000713333 0.00074 0.00072 0.000753333 0.00074 0.000733333 +0.00072 0.00072 0.000713333 0.000713333 0.000713333 0.00072 0.000713333 0.000713333 +0.000706667 0.000713333 0.000746667 0.000746667 0.000726667 0.000733333 0.000726667 0.000706667 +0.0007 0.00072 0.000746667 0.000733333 0.000713333 0.00068 0.0007 0.000753333 +0.000713333 0.00068 0.000693333 0.00074 0.000766667 0.000746667 0.000726667 0.00074 +0.000746667 0.00072 0.00072 0.000726667 0.000733333 0.000713333 0.000713333 0.000753333 +0.000766667 0.0007 0.000693333 0.00074 0.00078 0.00072 0.000686667 0.00074 +0.00074 0.000713333 0.000686667 0.000733333 0.000773333 0.00074 0.000706667 0.000733333 +0.000746667 0.000706667 0.000713333 0.000753333 0.000766667 0.00082 0.000826667 0.000773333 +0.000786667 0.000853333 0.000926667 0.25008 0.339067 0.393973 0.4432 0.540421 +0.68 0.858105 0.981959 0.999592 0.992082 0.980327 0.962316 0.954105 +0.952842 0.960421 0.975579 0.985878 0.995347 1.00384 1.00971 1.012 +1.012 1.00873 1.00808 1.00873 1.00776 1.00939 1.00841 1.00416 +0.998286 1.0009 1.00384 0.997306 0.989143 1.00318 1.04335 1.11173 +1.07674 1.0502 1.03943 1.02571 1.00841 0.979368 0.878316 0.728632 +0.591579 0.512 0.4432 0.435627 0.439413 0.44888 0.479173 0.479173 +0.462133 0.46024 0.502526 0.502526 0.446987 0.411013 0.371253 0.34096 +0.388293 0.498107 0.514526 0.439413 0.388293 0.393973 0.373147 0.354213 +0.371253 0.39776 0.390187 0.40344 0.407227 0.37504 0.359893 0.401547 +0.395867 0.35232 0.33528 0.35232 0.350427 0.331493 0.34664 0.412907 +0.469707 0.422373 0.350427 0.339067 0.342853 0.350427 0.350427 0.339067 +0.34664 0.382613 0.412907 0.38072 0.356107 0.356107 0.371253 0.378827 +0.367467 0.36368 0.358 0.358 0.395867 0.458347 0.496213 0.524 +0.542316 0.548 0.550526 0.535368 0.504421 0.433733 0.405333 0.416693 +0.42048 0.40912 0.39208 0.37504 0.358 0.358 0.38072 0.378827 +0.359893 0.367467 0.439413 0.484853 0.446987 0.435627 0.501895 0.540421 +0.565684 0.561263 0.520842 0.479173 0.441307 0.418587 0.40912 0.390187 +0.401547 0.399653 0.3864 0.376933 0.378827 0.367467 0.359893 0.350427 +0.359893 0.40344 0.504421 0.554947 0.563789 0.534105 0.512 0.48296 +0.445093 0.462133 0.467813 0.43752 0.435627 0.452667 0.46024 0.4716 +0.4716 0.48296 0.501263 0.48864 0.49432 0.563158 0.744421 0.902316 +0.950316 0.972421 0.982939 0.986531 1.00057 1.03094 1.04792 1.04629 +1.04727 1.06913 1.06913 1.05739 1.06 1.06152 1.05967 1.05902 +1.05673 1.05771 1.05837 1.05935 1.05869 1.0538 1.05216 1.05347 +1.05151 1.04661 1.04269 1.03976 1.04073 1.04465 1.03976 1.04073 +1.04269 1.04237 1.04629 1.04727 1.04629 1.04269 1.04302 1.05053 +1.05249 1.05576 1.07522 1.06304 1.0489 1.04727 1.05347 1.05771 +1.0551 1.05771 1.05967 1.07369 1.07674 1.05935 1.07217 1.08435 +1.1163 1.16347 1.16956 1.07674 1.0551 1.10108 1.12847 1.04335 +1.00939 0.968632 0.875158 0.701474 0.565053 0.539789 0.541053 0.529684 +0.515158 0.507579 0.484853 0.450773 0.441307 0.43752 0.42616 0.411013 +0.422373 0.4148 0.40344 0.40344 0.390187 0.38072 0.371253 0.376933 +0.384507 0.382613 0.416693 0.516421 0.548 0.512632 0.422373 0.395867 +0.390187 0.384507 0.36936 0.34664 0.361787 0.38072 0.40344 0.509474 +0.575789 0.580842 0.512632 0.399653 0.361787 0.354213 0.344747 0.361787 +0.399653 0.390187 0.36936 0.36936 0.376933 0.39776 0.42048 0.422373 +0.401547 0.382613 0.38072 0.35232 0.333387 0.344747 0.359893 0.42616 +0.529053 0.591579 0.599158 0.536632 0.418587 0.365573 0.34664 0.365573 +0.512632 0.594737 0.601053 0.520211 0.37504 0.339067 0.33528 0.344747 +0.365573 0.378827 0.36936 0.348533 0.359893 0.37504 0.365573 0.348533 +0.34096 0.342853 0.3296 0.322027 0.325813 0.339067 0.399653 0.441307 +0.399653 0.395867 0.450773 0.498107 0.502526 0.530947 0.560632 0.548 +0.516421 0.492427 0.462133 0.44888 0.479173 0.539789 0.663579 0.86 +1.02343 1.22433 1.25781 1.07217 1.03355 1.03355 1.08282 1.39019 +1.59256 1.38715 1.05151 1.01592 1.012 1.01004 1.00971 1.00873 +1.01004 1.01037 1.00939 1.00873 1.00841 1.00449 0.991429 0.976211 +0.976211 0.982939 0.985878 0.989143 0.982286 0.962316 0.951579 0.955368 +0.981633 0.996327 1.0009 0.974316 0.824 0.616211 0.462133 0.393973 +0.418587 0.384507 0.291733 0.223573 0.000933333 0.00086 0.000833333 0.000813333 +0.000786667 0.000753333 0.00074 0.00076 0.000766667 0.00082 0.000866667 0.000806667 +0.000773333 0.000786667 0.000753333 0.000773333 0.0008 0.000753333 0.000766667 0.000766667 +0.000746667 0.000733333 0.00074 0.000733333 0.00072 0.000733333 0.000766667 0.00078 +0.00074 0.000706667 0.000713333 0.000746667 0.00076 0.00078 0.000733333 0.0007 +0.000726667 0.000753333 0.000753333 0.000733333 0.00076 0.000766667 0.00076 0.000766667 +0.000793333 0.000793333 0.000753333 0.00076 0.000746667 0.000753333 0.000733333 0.000733333 +0.00072 0.000733333 0.000726667 0.00072 0.000713333 0.000733333 0.00072 0.00072 +0.000753333 0.000746667 0.00074 0.00074 0.0007 0.000733333 0.000726667 0.000686667 +0.000686667 0.000713333 0.000733333 0.000706667 0.000686667 0.0007 0.000726667 0.000746667 +0.00068 0.000666667 0.00072 0.00076 0.00074 0.0007 0.00072 0.00076 +0.000713333 0.0007 0.00074 0.00074 0.0007 0.000706667 0.000733333 0.000746667 +0.00072 0.0007 0.00074 0.000766667 0.000733333 0.00068 0.000713333 0.00076 +0.00074 0.0007 0.000726667 0.000753333 0.000733333 0.000713333 0.00072 0.00076 +0.00074 0.000686667 0.000733333 0.000793333 0.000766667 0.00078 0.000806667 0.000813333 +0.00084 0.00082 0.000826667 0.000913333 0.270907 0.367467 0.412907 0.4432 +0.543579 0.694526 0.881474 0.989469 1.00024 0.990449 0.977474 0.964211 +0.958526 0.957895 0.963579 0.969895 0.983265 0.99698 1.00776 1.01265 +1.01429 1.01167 1.00939 1.00971 1.00873 1.01135 1.012 1.00776 +0.998612 0.997633 1.00384 1.0022 0.992735 0.98751 1.00906 1.05118 +1.1163 1.05902 1.04171 1.02963 1.01298 0.994694 0.956 0.847368 +0.691368 0.558737 0.48296 0.4432 0.45456 0.450773 0.452667 0.473493 +0.496213 0.513895 0.533474 0.535368 0.515789 0.4716 0.388293 0.361787 +0.401547 0.508842 0.524 0.45456 0.401547 0.393973 0.367467 0.359893 +0.371253 0.382613 0.378827 0.390187 0.407227 0.390187 0.36936 0.40912 +0.40912 0.34664 0.34096 0.339067 0.337173 0.344747 0.361787 0.399653 +0.450773 0.405333 0.339067 0.337173 0.348533 0.359893 0.359893 0.350427 +0.337173 0.36368 0.407227 0.373147 0.365573 0.384507 0.388293 0.3864 +0.359893 0.348533 0.359893 0.37504 0.424267 0.503158 0.529684 0.556842 +0.568211 0.567579 0.561263 0.532842 0.462133 0.38072 0.378827 0.39776 +0.401547 0.390187 0.367467 0.350427 0.34664 0.36368 0.367467 0.356107 +0.350427 0.365573 0.42048 0.4432 0.412907 0.424267 0.500632 0.548632 +0.584 0.581474 0.521474 0.441307 0.412907 0.401547 0.39208 0.373147 +0.376933 0.36936 0.38072 0.384507 0.365573 0.367467 0.365573 0.350427 +0.365573 0.399653 0.486747 0.544842 0.550526 0.523368 0.522737 0.530947 +0.512632 0.501263 0.47728 0.422373 0.424267 0.46024 0.4432 0.43184 +0.450773 0.464027 0.48296 0.492427 0.507579 0.591579 0.798105 0.974316 +1.0071 1.01265 1.00645 1.00057 1.00873 1.04041 1.05804 1.05412 +1.05412 1.07674 1.07826 1.05412 1.05412 1.0813 1.09956 1.08891 +1.06304 1.05771 1.05967 1.05673 1.05314 1.0502 1.04857 1.05576 +1.06609 1.05543 1.04629 1.04269 1.04563 1.04433 1.0378 1.03845 +1.04204 1.04302 1.04824 1.05249 1.04922 1.04857 1.05118 1.0551 +1.05412 1.05314 1.05706 1.07217 1.05771 1.05412 1.05641 1.05804 +1.05967 1.06152 1.05673 1.05804 1.07065 1.06152 1.07826 1.10869 +1.14217 1.18173 1.16651 1.095 1.13152 1.25477 1.33541 1.19847 +1.03878 0.990122 0.917474 0.765263 0.585263 0.517053 0.506316 0.503158 +0.502526 0.503158 0.498107 0.496213 0.481067 0.446987 0.429947 0.452667 +0.490533 0.435627 0.39208 0.40912 0.40912 0.395867 0.390187 0.395867 +0.399653 0.39208 0.43184 0.526526 0.543579 0.496213 0.405333 0.382613 +0.38072 0.371253 0.361787 0.342853 0.356107 0.390187 0.412907 0.506316 +0.575158 0.578947 0.513263 0.40344 0.367467 0.348533 0.354213 0.388293 +0.412907 0.38072 0.359893 0.37504 0.382613 0.405333 0.435627 0.422373 +0.3864 0.365573 0.350427 0.337173 0.331493 0.34096 0.34664 0.37504 +0.458347 0.538526 0.574526 0.548 0.4716 0.378827 0.350427 0.378827 +0.517053 0.596 0.597895 0.521474 0.38072 0.342853 0.350427 0.361787 +0.36936 0.384507 0.38072 0.359893 0.37504 0.411013 0.39776 0.354213 +0.34664 0.342853 0.325813 0.331493 0.33528 0.361787 0.422373 0.435627 +0.388293 0.388293 0.42616 0.479173 0.48864 0.475387 0.498107 0.492427 +0.464027 0.458347 0.46592 0.473493 0.519579 0.617474 0.789263 0.985224 +1.11478 1.28368 1.16956 1.04792 1.03714 1.05184 1.26998 1.56974 +1.52105 1.1589 1.02669 1.012 1.01004 1.01004 1.00906 1.00743 +1.00776 1.00808 1.00743 1.00678 1.00612 0.99698 0.983592 0.976211 +0.983265 0.983918 0.982612 0.981959 0.974947 0.959789 0.954737 0.970526 +0.989796 1.00057 0.989796 0.877684 0.676842 0.517684 0.40912 0.428053 +0.40344 0.303093 0.223573 0.000946667 0.00092 0.0008 0.000786667 0.00082 +0.000806667 0.000793333 0.00078 0.000773333 0.00078 0.000793333 0.000853333 0.000813333 +0.000766667 0.0008 0.000766667 0.000733333 0.00076 0.00076 0.000746667 0.000773333 +0.000773333 0.00074 0.00074 0.000733333 0.000726667 0.000733333 0.000746667 0.00078 +0.000746667 0.00072 0.000726667 0.000733333 0.000746667 0.000793333 0.000786667 0.00074 +0.000733333 0.00074 0.000766667 0.00076 0.000793333 0.000793333 0.00078 0.000793333 +0.000793333 0.000793333 0.000793333 0.000746667 0.000753333 0.00074 0.000733333 0.000733333 +0.000733333 0.000746667 0.000746667 0.00072 0.00072 0.000733333 0.00072 0.00074 +0.000773333 0.000733333 0.00072 0.000726667 0.000713333 0.000726667 0.000706667 0.000686667 +0.000713333 0.000726667 0.000733333 0.000713333 0.000706667 0.000746667 0.000746667 0.00074 +0.0007 0.000713333 0.000746667 0.000733333 0.0007 0.00068 0.000726667 0.000726667 +0.000693333 0.000706667 0.000746667 0.00072 0.000706667 0.000746667 0.00076 0.00074 +0.000733333 0.000746667 0.000753333 0.000713333 0.000693333 0.000706667 0.00074 0.00072 +0.0007 0.000713333 0.000746667 0.000726667 0.00072 0.000733333 0.000713333 0.0007 +0.0007 0.000706667 0.00074 0.000766667 0.000713333 0.000746667 0.000833333 0.000833333 +0.0008 0.00076 0.000766667 0.00082 0.000946667 0.27848 0.361787 0.39776 +0.46024 0.562526 0.712211 0.889053 0.986857 0.997959 0.990776 0.980653 +0.964842 0.952211 0.955368 0.962316 0.979368 0.991429 1.00155 1.00906 +1.01135 1.01135 1.00939 1.01037 1.01233 1.01265 1.01363 1.012 +1.00351 0.999265 1.00286 1.00514 1.00253 0.992408 0.992082 1.01984 +1.05869 1.08739 1.04955 1.03388 1.02016 1.00645 0.991429 0.940842 +0.809474 0.650316 0.533474 0.462133 0.445093 0.446987 0.428053 0.428053 +0.46592 0.509474 0.527158 0.528421 0.520211 0.506316 0.445093 0.401547 +0.42616 0.517684 0.533474 0.46592 0.393973 0.373147 0.350427 0.356107 +0.354213 0.358 0.371253 0.373147 0.3864 0.39208 0.378827 0.412907 +0.424267 0.373147 0.348533 0.344747 0.331493 0.344747 0.358 0.378827 +0.412907 0.405333 0.36936 0.34664 0.34664 0.348533 0.339067 0.34664 +0.342853 0.365573 0.40912 0.393973 0.390187 0.38072 0.37504 0.39776 +0.395867 0.388293 0.40344 0.43752 0.496213 0.521474 0.547368 0.578316 +0.589684 0.584 0.563789 0.519579 0.416693 0.361787 0.36368 0.36936 +0.376933 0.36936 0.344747 0.33528 0.344747 0.356107 0.354213 0.358 +0.36936 0.376933 0.418587 0.424267 0.401547 0.4148 0.486747 0.549263 +0.590947 0.577684 0.511368 0.411013 0.39776 0.405333 0.39208 0.361787 +0.358 0.359893 0.382613 0.388293 0.37504 0.378827 0.373147 0.359893 +0.358 0.37504 0.456453 0.536632 0.542316 0.492427 0.484853 0.525895 +0.518947 0.496213 0.4716 0.446987 0.46024 0.46592 0.441307 0.43184 +0.433733 0.435627 0.46592 0.508211 0.530316 0.633895 0.861263 1.01592 +1.04922 1.05184 1.03812 1.02049 1.01363 1.0342 1.06456 1.09348 +1.07674 1.07369 1.07065 1.05347 1.05118 1.07674 1.11326 1.10413 +1.07674 1.06456 1.07826 1.05804 1.05184 1.04563 1.04302 1.05118 +1.05935 1.06609 1.05739 1.05184 1.05086 1.04498 1.03878 1.03649 +1.03845 1.03943 1.04563 1.04988 1.04922 1.05412 1.06152 1.05902 +1.05445 1.05314 1.05282 1.07522 1.07978 1.05902 1.06456 1.07522 +1.09348 1.08435 1.05608 1.05445 1.05804 1.06152 1.08435 1.11934 +1.16195 1.17716 1.12239 1.07826 1.1726 1.32324 1.36432 1.21977 +1.04955 1.00188 0.949053 0.830947 0.650947 0.544211 0.506316 0.484853 +0.473493 0.46592 0.48864 0.508842 0.496213 0.441307 0.422373 0.46024 +0.505053 0.45456 0.390187 0.405333 0.418587 0.40344 0.395867 0.40344 +0.416693 0.42616 0.5 0.549263 0.543579 0.46024 0.384507 0.378827 +0.39208 0.3864 0.36936 0.359893 0.358 0.390187 0.43752 0.511368 +0.578947 0.582737 0.513895 0.405333 0.37504 0.373147 0.390187 0.40344 +0.399653 0.365573 0.354213 0.365573 0.365573 0.384507 0.418587 0.399653 +0.36936 0.348533 0.333387 0.344747 0.34096 0.339067 0.342853 0.35232 +0.376933 0.481067 0.538526 0.539158 0.496213 0.401547 0.376933 0.393973 +0.512632 0.584 0.582737 0.515158 0.388293 0.35232 0.358 0.361787 +0.378827 0.39776 0.378827 0.354213 0.354213 0.3864 0.38072 0.342853 +0.337173 0.33528 0.331493 0.34096 0.359893 0.39776 0.441307 0.424267 +0.384507 0.373147 0.40344 0.46592 0.492427 0.456453 0.439413 0.439413 +0.42616 0.435627 0.46024 0.508842 0.587789 0.741895 0.928842 1.04302 +1.23346 1.22281 1.06 1.03943 1.04367 1.14825 1.4754 1.60778 +1.30802 1.04139 1.01755 1.01331 1.01298 1.01363 1.01331 1.01102 +1.00906 1.01004 1.00906 1.00612 0.998612 0.985224 0.973684 0.969895 +0.978105 0.976842 0.969263 0.968 0.967368 0.966105 0.976842 0.988163 +0.998286 0.99502 0.921895 0.733053 0.546105 0.412907 0.405333 0.40912 +0.333387 0.242507 0.000946667 0.000926667 0.000893333 0.000766667 0.000766667 0.000773333 +0.00078 0.000806667 0.0008 0.000766667 0.000773333 0.000766667 0.000813333 0.000813333 +0.000766667 0.000766667 0.000766667 0.00076 0.00078 0.00076 0.000753333 0.000786667 +0.0008 0.000773333 0.000766667 0.00076 0.000773333 0.000773333 0.00076 0.0008 +0.000773333 0.000773333 0.000773333 0.000733333 0.000733333 0.000766667 0.000793333 0.000786667 +0.00076 0.00074 0.000746667 0.00078 0.000786667 0.000773333 0.000773333 0.000793333 +0.000793333 0.000786667 0.000806667 0.000786667 0.000753333 0.000746667 0.000726667 0.000726667 +0.00074 0.000746667 0.000733333 0.000706667 0.000726667 0.000733333 0.000733333 0.000726667 +0.000733333 0.000706667 0.00072 0.000733333 0.000706667 0.0007 0.0007 0.000713333 +0.000733333 0.00072 0.00072 0.000713333 0.00072 0.000753333 0.000753333 0.0007 +0.000706667 0.000753333 0.00074 0.000726667 0.000713333 0.00072 0.0007 0.00066 +0.00068 0.000733333 0.000726667 0.000693333 0.00072 0.000733333 0.00072 0.000733333 +0.000753333 0.000753333 0.00072 0.000706667 0.000733333 0.000733333 0.000706667 0.000706667 +0.00074 0.000733333 0.000726667 0.000733333 0.000753333 0.00074 0.000673333 0.000686667 +0.00072 0.000693333 0.000693333 0.000706667 0.00072 0.000773333 0.0008 0.00078 +0.000746667 0.00076 0.000773333 0.000786667 0.000786667 0.000913333 0.293627 0.378827 +0.412907 0.469707 0.555579 0.716 0.899789 0.991755 1.0009 0.991429 +0.98098 0.959158 0.953474 0.961684 0.973053 0.984245 0.991755 0.999265 +1.00776 1.01265 1.012 1.01069 1.01298 1.01167 1.01069 1.00906 +1.00612 1.00416 1.00547 1.00514 1.00678 1.00286 0.992735 0.997306 +1.02637 1.05706 1.05837 1.04367 1.03029 1.01461 1.00253 0.983918 +0.902947 0.762105 0.610526 0.514526 0.446987 0.435627 0.428053 0.424267 +0.446987 0.467813 0.48296 0.467813 0.464027 0.486747 0.46592 0.428053 +0.46024 0.534105 0.546105 0.48864 0.39208 0.356107 0.34096 0.344747 +0.358 0.373147 0.376933 0.365573 0.371253 0.40344 0.407227 0.418587 +0.42048 0.378827 0.350427 0.337173 0.327707 0.342853 0.367467 0.37504 +0.384507 0.4148 0.412907 0.373147 0.337173 0.3296 0.344747 0.373147 +0.365573 0.36368 0.399653 0.393973 0.382613 0.38072 0.40344 0.450773 +0.464027 0.475387 0.492427 0.505684 0.515789 0.526526 0.553053 0.596 +0.616842 0.608 0.568211 0.506316 0.378827 0.350427 0.35232 0.350427 +0.350427 0.34096 0.34096 0.354213 0.356107 0.35232 0.358 0.378827 +0.390187 0.373147 0.39208 0.407227 0.399653 0.411013 0.486747 0.548 +0.597895 0.596632 0.529684 0.42616 0.395867 0.40344 0.39776 0.367467 +0.356107 0.365573 0.38072 0.39208 0.390187 0.3864 0.378827 0.373147 +0.371253 0.378827 0.4432 0.530316 0.537263 0.456453 0.399653 0.473493 +0.500632 0.44888 0.42616 0.446987 0.473493 0.479173 0.481067 0.467813 +0.452667 0.450773 0.473493 0.515158 0.556211 0.690737 0.909263 1.02669 +1.05608 1.12086 1.12391 1.04269 1.02114 1.02931 1.05412 1.10717 +1.11326 1.09043 1.07826 1.05804 1.05543 1.07674 1.11173 1.10108 +1.09195 1.08891 1.09652 1.07065 1.05347 1.04596 1.04269 1.04727 +1.05216 1.05804 1.06609 1.05608 1.0489 1.03943 1.03878 1.0378 +1.03584 1.03714 1.04237 1.04237 1.04629 1.05608 1.06913 1.06 +1.05771 1.05804 1.05576 1.07522 1.07826 1.06456 1.07978 1.08891 +1.08891 1.07065 1.05706 1.05641 1.05771 1.06761 1.095 1.12543 +1.17412 1.14673 1.06304 1.05739 1.1726 1.31867 1.2715 1.13912 +1.05673 1.01722 0.969263 0.883368 0.728 0.590316 0.525895 0.49432 +0.475387 0.46592 0.492427 0.511368 0.486747 0.422373 0.401547 0.42616 +0.462133 0.43752 0.388293 0.401547 0.428053 0.407227 0.384507 0.40344 +0.43752 0.456453 0.513263 0.566316 0.549895 0.452667 0.376933 0.382613 +0.401547 0.382613 0.358 0.36936 0.373147 0.393973 0.42616 0.504421 +0.575158 0.586526 0.513263 0.40344 0.393973 0.405333 0.405333 0.384507 +0.37504 0.367467 0.358 0.367467 0.365573 0.37504 0.39776 0.382613 +0.367467 0.361787 0.348533 0.354213 0.339067 0.327707 0.3296 0.339067 +0.34664 0.405333 0.508211 0.520211 0.47728 0.42048 0.40344 0.39776 +0.503789 0.571368 0.573895 0.510105 0.39208 0.367467 0.354213 0.354213 +0.382613 0.416693 0.384507 0.344747 0.339067 0.358 0.356107 0.32392 +0.314453 0.327707 0.339067 0.358 0.382613 0.416693 0.439413 0.395867 +0.371253 0.36368 0.388293 0.441307 0.475387 0.462133 0.452667 0.445093 +0.428053 0.429947 0.473493 0.553684 0.700211 0.884 1.01853 1.18021 +1.2639 1.13608 1.04629 1.03845 1.05967 1.33693 1.59561 1.4404 +1.05771 1.01755 1.01331 1.012 1.012 1.01233 1.01167 1.01102 +1.01069 1.01135 1.00906 1.00482 0.990122 0.976211 0.973684 0.966737 +0.968632 0.971158 0.959789 0.952211 0.957263 0.971158 0.987837 0.996653 +0.998286 0.955368 0.787368 0.590316 0.441307 0.40344 0.401547 0.337173 +0.251973 0.000906667 0.000853333 0.00086 0.000846667 0.000746667 0.000746667 0.000773333 +0.000766667 0.000793333 0.00082 0.000773333 0.000773333 0.000786667 0.000793333 0.0008 +0.000793333 0.00078 0.00078 0.000793333 0.000793333 0.000746667 0.000746667 0.0008 +0.0008 0.000766667 0.000773333 0.000753333 0.000746667 0.00076 0.000766667 0.000793333 +0.00076 0.00078 0.00078 0.00074 0.000733333 0.000753333 0.000773333 0.000793333 +0.00078 0.000766667 0.00076 0.00078 0.000793333 0.000773333 0.00078 0.000806667 +0.000806667 0.0008 0.000813333 0.000793333 0.000753333 0.000746667 0.00074 0.00074 +0.000746667 0.000766667 0.000773333 0.000746667 0.000753333 0.00076 0.00074 0.000753333 +0.000746667 0.000726667 0.00074 0.000733333 0.0007 0.000706667 0.00072 0.000733333 +0.000726667 0.000713333 0.000713333 0.000706667 0.000733333 0.000753333 0.000706667 0.00068 +0.00074 0.000766667 0.000713333 0.00074 0.000753333 0.000726667 0.000673333 0.000673333 +0.00072 0.000733333 0.0007 0.000693333 0.0007 0.000693333 0.000706667 0.000733333 +0.000733333 0.000706667 0.000713333 0.000746667 0.000713333 0.000686667 0.000706667 0.00076 +0.000753333 0.000693333 0.000713333 0.00074 0.000726667 0.000686667 0.000693333 0.00074 +0.00074 0.000673333 0.000693333 0.000753333 0.000746667 0.000726667 0.00074 0.000753333 +0.000786667 0.000786667 0.000766667 0.000766667 0.000766667 0.000853333 0.23304 0.303093 +0.373147 0.407227 0.445093 0.561895 0.734947 0.915579 0.99502 1.00057 +0.996 0.982612 0.962947 0.959789 0.957895 0.964211 0.978105 0.988816 +1.00122 1.01167 1.01331 1.01102 1.01135 1.01135 1.01004 1.00841 +1.00678 1.00873 1.00873 1.00449 1.00645 1.00645 0.996653 0.992082 +1.00155 1.03094 1.05543 1.05771 1.04073 1.01886 1.00547 0.993061 +0.961053 0.861263 0.710316 0.570737 0.490533 0.441307 0.439413 0.441307 +0.4432 0.424267 0.428053 0.418587 0.412907 0.42616 0.418587 0.42616 +0.498107 0.549263 0.552421 0.496213 0.40344 0.371253 0.354213 0.342853 +0.359893 0.367467 0.361787 0.36936 0.388293 0.42048 0.43752 0.43752 +0.411013 0.358 0.348533 0.354213 0.354213 0.38072 0.407227 0.373147 +0.359893 0.412907 0.45456 0.411013 0.344747 0.333387 0.354213 0.4148 +0.4148 0.393973 0.42616 0.433733 0.42616 0.43752 0.48296 0.512632 +0.514526 0.517053 0.522105 0.527158 0.529053 0.532211 0.566316 0.623158 +0.647158 0.627579 0.561263 0.462133 0.34664 0.333387 0.344747 0.342853 +0.34664 0.344747 0.356107 0.361787 0.354213 0.35232 0.37504 0.407227 +0.39776 0.361787 0.38072 0.407227 0.40344 0.43184 0.506947 0.548632 +0.599158 0.62 0.565684 0.481067 0.405333 0.393973 0.395867 0.37504 +0.365573 0.36936 0.376933 0.39776 0.401547 0.388293 0.373147 0.37504 +0.393973 0.411013 0.456453 0.530947 0.539158 0.450773 0.36936 0.428053 +0.496213 0.46592 0.428053 0.445093 0.452667 0.46592 0.48296 0.467813 +0.46024 0.469707 0.49432 0.516421 0.578316 0.738737 0.933895 1.02637 +1.05478 1.18021 1.27455 1.08587 1.03159 1.03257 1.044 1.07522 +1.12999 1.10717 1.08435 1.06152 1.05673 1.0813 1.10565 1.10869 +1.11934 1.10565 1.09804 1.06913 1.05249 1.04988 1.04629 1.04498 +1.04759 1.05249 1.05706 1.05739 1.05314 1.04269 1.04792 1.05543 +1.05445 1.05445 1.05412 1.04824 1.05053 1.0551 1.05641 1.05706 +1.06456 1.06 1.05608 1.06609 1.07674 1.0813 1.095 1.1026 +1.07369 1.05478 1.05347 1.05869 1.07065 1.09956 1.11478 1.13456 +1.1726 1.1163 1.05543 1.05771 1.17108 1.28672 1.21673 1.1376 +1.11021 1.03616 0.986204 0.915579 0.786105 0.626316 0.544211 0.512 +0.49432 0.47728 0.518316 0.532211 0.496213 0.433733 0.42616 0.412907 +0.416693 0.422373 0.411013 0.429947 0.462133 0.42048 0.39776 0.418587 +0.418587 0.422373 0.496213 0.559368 0.554316 0.475387 0.39208 0.384507 +0.401547 0.3864 0.36368 0.373147 0.376933 0.384507 0.393973 0.46592 +0.561895 0.587158 0.518947 0.39776 0.382613 0.390187 0.38072 0.356107 +0.342853 0.342853 0.348533 0.36936 0.37504 0.373147 0.382613 0.365573 +0.361787 0.376933 0.367467 0.354213 0.339067 0.33528 0.333387 0.34664 +0.350427 0.382613 0.48864 0.512 0.458347 0.405333 0.393973 0.393973 +0.49432 0.559368 0.564421 0.501263 0.365573 0.344747 0.339067 0.35232 +0.371253 0.416693 0.39208 0.350427 0.359893 0.376933 0.367467 0.342853 +0.331493 0.35232 0.354213 0.36936 0.384507 0.395867 0.401547 0.365573 +0.354213 0.358 0.373147 0.42048 0.467813 0.469707 0.462133 0.446987 +0.428053 0.439413 0.520211 0.647158 0.832842 0.991429 1.07978 1.2715 +1.21673 1.07674 1.04498 1.0489 1.21216 1.5104 1.52409 1.18173 +1.02571 1.01461 1.01429 1.01233 1.01102 1.01069 1.00841 1.00841 +1.01135 1.00873 1.0022 0.995347 0.980327 0.967368 0.966737 0.957895 +0.963579 0.968632 0.956632 0.952211 0.966737 0.985224 0.997633 0.998939 +0.971158 0.827789 0.628842 0.484853 0.3864 0.418587 0.367467 0.276587 +0.000986667 0.00088 0.00088 0.000886667 0.000873333 0.0008 0.000746667 0.000773333 +0.000766667 0.000766667 0.0008 0.00078 0.00078 0.000806667 0.000806667 0.000806667 +0.00078 0.00076 0.000753333 0.000746667 0.00076 0.00074 0.000706667 0.00076 +0.00078 0.000733333 0.000766667 0.000773333 0.00076 0.000766667 0.000766667 0.000786667 +0.000766667 0.000766667 0.00078 0.000773333 0.00078 0.000786667 0.000786667 0.000786667 +0.00078 0.000786667 0.000773333 0.000746667 0.000766667 0.00078 0.00078 0.00078 +0.00078 0.0008 0.00082 0.0008 0.00074 0.00074 0.00074 0.000746667 +0.000726667 0.00074 0.000753333 0.000733333 0.00074 0.00074 0.000733333 0.000733333 +0.000733333 0.000733333 0.000733333 0.000733333 0.0007 0.000713333 0.000713333 0.000733333 +0.000733333 0.000713333 0.000726667 0.00076 0.00078 0.00076 0.000693333 0.000713333 +0.00076 0.000746667 0.000726667 0.000753333 0.00076 0.000713333 0.00072 0.000766667 +0.000753333 0.000706667 0.000726667 0.000713333 0.000666667 0.000706667 0.000746667 0.000733333 +0.000706667 0.00072 0.000753333 0.000726667 0.000686667 0.000713333 0.00074 0.00074 +0.0007 0.0007 0.00074 0.00072 0.00072 0.00072 0.000726667 0.00072 +0.000693333 0.0007 0.000753333 0.000786667 0.00074 0.000713333 0.000746667 0.000766667 +0.000753333 0.000726667 0.000726667 0.000813333 0.000846667 0.000846667 0.00088 0.22168 +0.320133 0.39776 0.411013 0.458347 0.580842 0.759579 0.933263 0.999918 +1.00841 0.996653 0.976211 0.954105 0.947789 0.950947 0.964211 0.982612 +0.993061 1.00286 1.00776 1.00971 1.00971 1.01037 1.01167 1.012 +1.00841 1.00743 1.01037 1.00678 1.00547 1.0071 1.00253 0.998939 +0.996 1.00776 1.03976 1.07826 1.05543 1.03029 1.01004 0.99698 +0.985551 0.932632 0.816421 0.664842 0.541684 0.4716 0.450773 0.464027 +0.456453 0.428053 0.411013 0.407227 0.405333 0.399653 0.395867 0.439413 +0.500632 0.536 0.541684 0.498107 0.411013 0.37504 0.36368 0.350427 +0.361787 0.358 0.344747 0.354213 0.371253 0.399653 0.435627 0.4716 +0.445093 0.378827 0.359893 0.36368 0.365573 0.399653 0.429947 0.388293 +0.36368 0.390187 0.424267 0.405333 0.358 0.348533 0.382613 0.47728 +0.509474 0.501263 0.501263 0.49432 0.492427 0.502526 0.518316 0.538526 +0.539789 0.527789 0.523368 0.523368 0.523368 0.528421 0.582737 0.656 +0.681263 0.643368 0.552421 0.435627 0.359893 0.359893 0.367467 0.371253 +0.36368 0.358 0.359893 0.358 0.350427 0.35232 0.378827 0.399653 +0.378827 0.358 0.3864 0.40344 0.4148 0.458347 0.506947 0.541684 +0.602316 0.641474 0.606105 0.527158 0.435627 0.405333 0.407227 0.38072 +0.36936 0.371253 0.36368 0.395867 0.418587 0.399653 0.376933 0.365573 +0.37504 0.40912 0.458347 0.535368 0.549263 0.4716 0.382613 0.412907 +0.469707 0.4716 0.45456 0.441307 0.43752 0.43752 0.441307 0.4432 +0.46024 0.490533 0.508211 0.529053 0.607368 0.769053 0.940842 1.02408 +1.05184 1.11478 1.25781 1.14673 1.04008 1.03486 1.03682 1.05641 +1.12847 1.11021 1.0813 1.05804 1.05641 1.07674 1.09956 1.12086 +1.13456 1.10869 1.10108 1.08435 1.05869 1.05543 1.04988 1.04661 +1.0502 1.05837 1.05967 1.06304 1.06761 1.05576 1.07065 1.09652 +1.08435 1.08435 1.08435 1.07826 1.09195 1.07674 1.05869 1.05739 +1.06304 1.05902 1.05641 1.06 1.07369 1.08891 1.10565 1.10869 +1.06913 1.05608 1.05576 1.06913 1.09652 1.11782 1.11934 1.13608 +1.16347 1.09043 1.05184 1.05608 1.15586 1.25172 1.20303 1.1513 +1.15282 1.05543 0.999918 0.939579 0.839789 0.68 0.573263 0.531579 +0.511368 0.506947 0.550526 0.559368 0.506316 0.456453 0.446987 0.424267 +0.4148 0.422373 0.411013 0.439413 0.46592 0.42048 0.412907 0.424267 +0.399653 0.388293 0.464027 0.541684 0.543579 0.481067 0.401547 0.401547 +0.4148 0.390187 0.376933 0.3864 0.3864 0.3864 0.384507 0.456453 +0.560632 0.598526 0.536632 0.422373 0.382613 0.388293 0.37504 0.359893 +0.342853 0.337173 0.354213 0.37504 0.376933 0.376933 0.384507 0.36368 +0.361787 0.36936 0.36368 0.344747 0.33528 0.34664 0.34664 0.350427 +0.350427 0.37504 0.473493 0.508842 0.46024 0.39776 0.395867 0.416693 +0.5 0.558737 0.566316 0.502526 0.359893 0.339067 0.34664 0.358 +0.373147 0.40344 0.39208 0.359893 0.36936 0.39208 0.38072 0.358 +0.35232 0.382613 0.399653 0.39208 0.38072 0.382613 0.390187 0.373147 +0.359893 0.361787 0.367467 0.418587 0.473493 0.462133 0.445093 0.439413 +0.44888 0.506316 0.600421 0.779158 0.954105 1.03747 1.20455 1.24259 +1.11326 1.05216 1.04727 1.10717 1.37497 1.51496 1.28215 1.04269 +1.0169 1.01559 1.01429 1.01298 1.01298 1.01298 1.01233 1.01069 +1.012 1.00743 0.997633 0.985551 0.968 0.959158 0.950947 0.947789 +0.957895 0.958526 0.950947 0.958526 0.982612 0.996 1.0022 0.983592 +0.862526 0.668 0.520211 0.399653 0.40344 0.393973 0.303093 0.22736 +0.0009 0.000826667 0.000853333 0.000846667 0.00086 0.000826667 0.000766667 0.00078 +0.00076 0.000753333 0.000773333 0.00078 0.000773333 0.000786667 0.00078 0.0008 +0.000766667 0.000733333 0.00074 0.00076 0.000773333 0.000753333 0.000693333 0.000726667 +0.00078 0.000773333 0.000786667 0.0008 0.00076 0.00076 0.000773333 0.000786667 +0.000786667 0.000793333 0.0008 0.00078 0.000773333 0.00078 0.00076 0.00076 +0.000753333 0.00076 0.000786667 0.000766667 0.000746667 0.000766667 0.000806667 0.000793333 +0.0008 0.00082 0.00082 0.000806667 0.000746667 0.00074 0.000733333 0.000746667 +0.000726667 0.000726667 0.000746667 0.000726667 0.000706667 0.0007 0.000686667 0.000686667 +0.000686667 0.000686667 0.0007 0.000686667 0.000666667 0.000693333 0.000713333 0.00074 +0.00072 0.000693333 0.000726667 0.000766667 0.000753333 0.000693333 0.00068 0.000746667 +0.000733333 0.0007 0.000726667 0.000746667 0.0007 0.000686667 0.00074 0.000773333 +0.00072 0.000713333 0.00074 0.000706667 0.00068 0.000753333 0.000753333 0.000693333 +0.000693333 0.000713333 0.000706667 0.000693333 0.000726667 0.000746667 0.000706667 0.0007 +0.0007 0.00072 0.000726667 0.000706667 0.00074 0.000733333 0.0007 0.000686667 +0.00072 0.000746667 0.000753333 0.000726667 0.000726667 0.000746667 0.00076 0.000733333 +0.000733333 0.000726667 0.000753333 0.000806667 0.000813333 0.000773333 0.000826667 0.000913333 +0.253867 0.339067 0.390187 0.405333 0.501895 0.608 0.789895 0.956632 +1.00547 1.00449 0.98849 0.965474 0.954737 0.954737 0.958526 0.969895 +0.982939 0.990449 0.998939 1.00841 1.01298 1.012 1.012 1.01167 +1.00808 1.00645 1.01069 1.01069 1.00678 1.00971 1.01037 1.00808 +1.00286 0.998939 1.01657 1.05086 1.08891 1.05053 1.02539 1.00514 +0.996653 0.980653 0.906737 0.778526 0.624421 0.523368 0.473493 0.452667 +0.452667 0.43184 0.411013 0.416693 0.411013 0.39776 0.401547 0.439413 +0.46592 0.502526 0.513895 0.473493 0.422373 0.405333 0.388293 0.378827 +0.361787 0.35232 0.348533 0.359893 0.36936 0.384507 0.40344 0.446987 +0.45456 0.416693 0.390187 0.376933 0.373147 0.3864 0.40344 0.395867 +0.371253 0.367467 0.39776 0.42048 0.418587 0.422373 0.446987 0.509474 +0.527158 0.525263 0.519579 0.517684 0.515158 0.517053 0.521474 0.530316 +0.529684 0.512 0.5 0.492427 0.492427 0.518947 0.604842 0.698316 +0.723579 0.663579 0.549263 0.4148 0.358 0.36368 0.382613 0.39776 +0.37504 0.35232 0.350427 0.35232 0.348533 0.356107 0.373147 0.365573 +0.337173 0.339067 0.358 0.36936 0.388293 0.405333 0.42616 0.510737 +0.591579 0.658526 0.645895 0.568211 0.490533 0.418587 0.40344 0.373147 +0.371253 0.382613 0.373147 0.40344 0.42048 0.39208 0.382613 0.371253 +0.367467 0.395867 0.44888 0.531579 0.551789 0.503789 0.416693 0.401547 +0.42616 0.46024 0.446987 0.418587 0.422373 0.42616 0.433733 0.450773 +0.481067 0.513263 0.529053 0.554316 0.642737 0.8 0.951579 1.03061 +1.0551 1.05216 1.14673 1.16803 1.04955 1.03355 1.03159 1.04792 +1.10869 1.10869 1.07217 1.05837 1.05935 1.05935 1.07065 1.09195 +1.09804 1.10108 1.10869 1.11173 1.08739 1.05673 1.04955 1.04922 +1.05902 1.12847 1.1376 1.10869 1.06913 1.05249 1.05053 1.04073 +1.03257 1.0329 1.03649 1.04563 1.05576 1.07065 1.09043 1.11478 +1.13304 1.10108 1.07674 1.07674 1.08739 1.095 1.10108 1.10565 +1.0813 1.07522 1.07065 1.08739 1.11021 1.12239 1.1163 1.13152 +1.13152 1.05869 1.04857 1.05314 1.12999 1.2152 1.15738 1.10413 +1.16195 1.13608 1.01918 0.955368 0.890947 0.763368 0.625684 0.566947 +0.544211 0.523368 0.542947 0.545474 0.504421 0.446987 0.446987 0.441307 +0.42616 0.422373 0.416693 0.424267 0.439413 0.40912 0.401547 0.40344 +0.39776 0.39776 0.479173 0.535368 0.527158 0.456453 0.416693 0.42616 +0.412907 0.384507 0.382613 0.393973 0.395867 0.401547 0.407227 0.484853 +0.563158 0.606105 0.553053 0.464027 0.407227 0.399653 0.382613 0.367467 +0.358 0.350427 0.35232 0.359893 0.37504 0.39208 0.39776 0.382613 +0.36936 0.36368 0.354213 0.342853 0.342853 0.354213 0.34664 0.337173 +0.350427 0.390187 0.475387 0.506947 0.484853 0.441307 0.441307 0.44888 +0.508842 0.573895 0.578316 0.505053 0.36368 0.339067 0.34096 0.348533 +0.38072 0.39776 0.393973 0.371253 0.365573 0.40344 0.399653 0.367467 +0.367467 0.412907 0.467813 0.429947 0.384507 0.3864 0.39208 0.3864 +0.37504 0.373147 0.376933 0.422373 0.46024 0.439413 0.435627 0.452667 +0.506316 0.586526 0.738105 0.910526 1.01657 1.12239 1.23498 1.1376 +1.04988 1.04171 1.0538 1.24716 1.45714 1.33389 1.05249 1.01951 +1.01363 1.01167 1.01102 1.01363 1.01396 1.01363 1.01331 1.01135 +1.01135 1.00253 0.990776 0.980653 0.966737 0.958526 0.950316 0.954105 +0.961684 0.957895 0.959158 0.976842 0.991429 1.00024 0.989469 0.885263 +0.694526 0.532842 0.412907 0.390187 0.3864 0.331493 0.240613 0.000946667 +0.0009 0.000866667 0.000853333 0.0008 0.000806667 0.000806667 0.000766667 0.000766667 +0.000773333 0.000773333 0.000746667 0.00076 0.000786667 0.0008 0.00078 0.000813333 +0.000773333 0.00074 0.00076 0.00076 0.00076 0.000773333 0.000726667 0.00072 +0.000753333 0.000766667 0.000766667 0.000786667 0.000753333 0.00076 0.000773333 0.000766667 +0.00078 0.000766667 0.000766667 0.00076 0.00078 0.000813333 0.00078 0.000773333 +0.000766667 0.000753333 0.000773333 0.000793333 0.0008 0.00078 0.000806667 0.000813333 +0.000813333 0.000826667 0.000853333 0.00088 0.000733333 0.000753333 0.00076 0.000773333 +0.00076 0.00074 0.000733333 0.000733333 0.000726667 0.000746667 0.000726667 0.000746667 +0.00074 0.000726667 0.000713333 0.000693333 0.000693333 0.000746667 0.000766667 0.00076 +0.00072 0.000713333 0.00076 0.000753333 0.000706667 0.000666667 0.00072 0.00076 +0.000706667 0.000713333 0.000753333 0.000713333 0.000673333 0.00072 0.000733333 0.0007 +0.000706667 0.000733333 0.00072 0.000713333 0.000746667 0.000766667 0.000713333 0.0007 +0.000713333 0.000686667 0.0007 0.00072 0.000713333 0.00068 0.000686667 0.000706667 +0.000686667 0.00068 0.0007 0.00072 0.0007 0.00064 0.00066 0.0007 +0.000713333 0.000693333 0.00068 0.000693333 0.000726667 0.000706667 0.00068 0.000706667 +0.000773333 0.000793333 0.00076 0.000746667 0.000733333 0.00078 0.00084 0.000793333 +0.000866667 0.246293 0.333387 0.382613 0.412907 0.509474 0.625053 0.808211 +0.961684 1.00318 1.00155 0.986531 0.968632 0.958526 0.954737 0.956 +0.966737 0.981306 0.991755 1.00122 1.00971 1.01167 1.01167 1.01037 +1.0071 1.00612 1.01004 1.01069 1.00808 1.00873 1.012 1.01298 +1.00743 1.00057 1.00155 1.02049 1.05118 1.07674 1.0489 1.02147 +1.00808 0.999265 0.973684 0.878947 0.728 0.586526 0.510105 0.456453 +0.44888 0.42616 0.4148 0.435627 0.43752 0.418587 0.4148 0.435627 +0.422373 0.433733 0.48864 0.4716 0.435627 0.424267 0.418587 0.412907 +0.39208 0.384507 0.373147 0.37504 0.390187 0.412907 0.422373 0.458347 +0.507579 0.507579 0.48864 0.45456 0.435627 0.43752 0.45456 0.467813 +0.450773 0.439413 0.46592 0.490533 0.481067 0.486747 0.501263 0.512632 +0.526526 0.525895 0.522105 0.518947 0.507579 0.496213 0.498107 0.505684 +0.506316 0.467813 0.435627 0.428053 0.428053 0.527789 0.649053 0.752632 +0.772842 0.684421 0.538526 0.365573 0.325813 0.339067 0.35232 0.361787 +0.361787 0.35232 0.350427 0.34096 0.33528 0.34664 0.359893 0.33528 +0.333387 0.34096 0.350427 0.361787 0.37504 0.36936 0.373147 0.450773 +0.558105 0.645263 0.662947 0.601053 0.506947 0.395867 0.376933 0.354213 +0.36936 0.412907 0.4148 0.411013 0.395867 0.37504 0.36936 0.361787 +0.356107 0.3864 0.450773 0.522105 0.546737 0.502526 0.39776 0.373147 +0.4148 0.473493 0.456453 0.422373 0.411013 0.412907 0.441307 0.467813 +0.501895 0.531579 0.547368 0.577684 0.685684 0.834737 0.974947 1.04302 +1.05706 1.04335 1.07369 1.16347 1.05935 1.03486 1.02963 1.04041 +1.07826 1.09804 1.06913 1.07369 1.07522 1.05837 1.05706 1.05739 +1.05967 1.08587 1.09652 1.11021 1.08435 1.05282 1.05314 1.1026 +1.19238 1.19542 1.10565 1.0489 1.03192 1.02245 1.01951 1.01037 +1.0071 1.00678 1.00873 1.01363 1.01886 1.02963 1.04465 1.0813 +1.19238 1.2076 1.1513 1.11478 1.13304 1.12543 1.1026 1.10565 +1.08891 1.09043 1.09652 1.095 1.1163 1.12391 1.10869 1.1163 +1.09652 1.05282 1.04955 1.05739 1.12239 1.18173 1.09804 1.05673 +1.15738 1.22129 1.04727 0.981959 0.930105 0.848 0.705263 0.622526 +0.598526 0.549895 0.525895 0.521474 0.501263 0.44888 0.45456 0.464027 +0.4432 0.4432 0.446987 0.435627 0.429947 0.411013 0.39776 0.399653 +0.424267 0.42616 0.500632 0.534105 0.515158 0.446987 0.422373 0.424267 +0.407227 0.395867 0.399653 0.388293 0.3864 0.412907 0.446987 0.49432 +0.549263 0.605474 0.569474 0.490533 0.405333 0.382613 0.371253 0.365573 +0.36368 0.350427 0.339067 0.337173 0.354213 0.378827 0.388293 0.3864 +0.382613 0.36936 0.354213 0.34664 0.342853 0.348533 0.348533 0.354213 +0.378827 0.416693 0.475387 0.496213 0.452667 0.428053 0.435627 0.43184 +0.506947 0.584 0.582737 0.508211 0.384507 0.34096 0.34096 0.350427 +0.378827 0.382613 0.382613 0.367467 0.359893 0.399653 0.418587 0.4148 +0.422373 0.46592 0.504421 0.464027 0.405333 0.39208 0.39208 0.39208 +0.39208 0.384507 0.390187 0.422373 0.441307 0.433733 0.4432 0.492427 +0.566316 0.716632 0.883368 0.999918 1.05771 1.2076 1.18021 1.05543 +1.04008 1.04302 1.13152 1.37649 1.37345 1.09043 1.02278 1.01461 +1.01331 1.00971 1.01102 1.01363 1.01265 1.01233 1.01167 1.01102 +1.00612 0.990449 0.978737 0.970526 0.957895 0.949053 0.950316 0.952211 +0.955368 0.961053 0.977474 0.992408 1.00155 0.995347 0.917474 0.732421 +0.554947 0.42616 0.395867 0.38072 0.337173 0.259547 0.000906667 0.000826667 +0.000853333 0.000853333 0.000806667 0.00076 0.00078 0.0008 0.000813333 0.000806667 +0.000793333 0.00078 0.000753333 0.000746667 0.000766667 0.0008 0.000793333 0.0008 +0.00078 0.00074 0.000773333 0.000786667 0.00078 0.000786667 0.000786667 0.00078 +0.000753333 0.00076 0.000753333 0.000766667 0.000753333 0.000793333 0.000786667 0.000733333 +0.000753333 0.000746667 0.00074 0.000753333 0.000766667 0.0008 0.000786667 0.0008 +0.00078 0.00076 0.000793333 0.0008 0.000813333 0.00082 0.000826667 0.000873333 +0.00094 0.216 0.231147 0.263333 0.00072 0.000746667 0.000766667 0.000766667 +0.000746667 0.0007 0.000693333 0.0007 0.000713333 0.000733333 0.00072 0.000733333 +0.000746667 0.000733333 0.000713333 0.000706667 0.000733333 0.000766667 0.000773333 0.00072 +0.000686667 0.000706667 0.000753333 0.00072 0.000693333 0.00072 0.000746667 0.000726667 +0.00072 0.00076 0.000726667 0.00068 0.00072 0.00076 0.00072 0.0007 +0.000726667 0.000733333 0.000733333 0.00074 0.000753333 0.000726667 0.000726667 0.000753333 +0.000726667 0.000706667 0.000746667 0.000726667 0.000686667 0.000673333 0.000733333 0.000706667 +0.00068 0.000713333 0.000746667 0.000693333 0.000646667 0.00066 0.000733333 0.000706667 +0.00066 0.00066 0.000693333 0.000706667 0.000666667 0.000653333 0.000726667 0.000793333 +0.000773333 0.00076 0.00074 0.00076 0.000773333 0.0008 0.00078 0.000713333 +0.000793333 0.00096 0.276587 0.35232 0.384507 0.412907 0.515789 0.639579 +0.820211 0.971789 1.00547 0.998286 0.982286 0.965474 0.954737 0.953474 +0.961053 0.971789 0.983592 0.990449 0.998286 1.0071 1.00971 1.01037 +1.00971 1.0071 1.00873 1.01004 1.00971 1.00808 1.00808 1.00906 +1.00645 1.00286 1.00057 1.00188 1.0218 1.05576 1.07826 1.04008 +1.01984 1.00873 0.995347 0.952211 0.837895 0.682526 0.556211 0.49432 +0.4432 0.43184 0.43752 0.44888 0.450773 0.42048 0.416693 0.433733 +0.411013 0.411013 0.479173 0.48864 0.4432 0.43752 0.43184 0.422373 +0.43184 0.429947 0.399653 0.39776 0.44888 0.510737 0.534105 0.568211 +0.603579 0.602947 0.578316 0.551158 0.534737 0.528421 0.524632 0.516421 +0.508211 0.509474 0.518316 0.520211 0.512 0.508842 0.507579 0.508842 +0.510105 0.506947 0.506316 0.502526 0.439413 0.407227 0.422373 0.441307 +0.456453 0.43184 0.4148 0.399653 0.42616 0.567579 0.725474 0.809474 +0.792421 0.669895 0.513895 0.339067 0.3296 0.33528 0.32392 0.327707 +0.348533 0.356107 0.356107 0.344747 0.337173 0.359893 0.365573 0.358 +0.350427 0.34664 0.356107 0.354213 0.373147 0.37504 0.382613 0.439413 +0.536632 0.623158 0.676211 0.639579 0.532211 0.412907 0.384507 0.36936 +0.40344 0.473493 0.458347 0.39776 0.365573 0.361787 0.365573 0.367467 +0.358 0.3864 0.44888 0.525263 0.555579 0.512 0.399653 0.365573 +0.416693 0.4716 0.446987 0.42616 0.405333 0.4148 0.452667 0.475387 +0.510105 0.532211 0.547368 0.609895 0.74 0.873895 0.992408 1.04988 +1.0538 1.04106 1.04792 1.12543 1.11326 1.044 1.03159 1.03388 +1.0551 1.06913 1.07065 1.08587 1.07826 1.05837 1.05347 1.05118 +1.05608 1.06609 1.07674 1.11021 1.08891 1.06152 1.16195 1.26694 +1.21064 1.06609 1.03127 1.01363 1.00547 1.00318 1.00449 0.998286 +0.997633 0.998939 1.00155 1.00318 1.00253 1.00416 1.01233 1.02898 +1.06304 1.2076 1.25324 1.1939 1.17108 1.15434 1.12239 1.11782 +1.10717 1.10413 1.10565 1.10413 1.12695 1.12239 1.08891 1.09195 +1.07674 1.05151 1.05118 1.08282 1.15586 1.15586 1.05478 1.04988 +1.12543 1.23955 1.15434 1.01331 0.957263 0.907368 0.798737 0.674947 +0.616842 0.563789 0.517684 0.511368 0.503158 0.464027 0.458347 0.4716 +0.48296 0.481067 0.475387 0.450773 0.42616 0.407227 0.40912 0.422373 +0.433733 0.439413 0.498107 0.531579 0.509474 0.42616 0.384507 0.393973 +0.395867 0.393973 0.412907 0.4148 0.399653 0.42616 0.441307 0.445093 +0.523368 0.601053 0.584632 0.501895 0.3864 0.361787 0.371253 0.38072 +0.37504 0.365573 0.361787 0.344747 0.344747 0.365573 0.367467 0.365573 +0.367467 0.36368 0.358 0.35232 0.34096 0.34664 0.36368 0.376933 +0.37504 0.384507 0.43752 0.446987 0.388293 0.371253 0.3864 0.376933 +0.452667 0.549895 0.553684 0.506316 0.4148 0.354213 0.339067 0.34664 +0.358 0.35232 0.359893 0.359893 0.361787 0.384507 0.4148 0.462133 +0.492427 0.498107 0.49432 0.46024 0.429947 0.411013 0.411013 0.4148 +0.416693 0.39776 0.401547 0.42616 0.435627 0.43752 0.492427 0.560632 +0.693895 0.854947 0.982612 1.04041 1.16651 1.19238 1.095 1.04498 +1.04041 1.06 1.27303 1.36584 1.14369 1.02767 1.01461 1.01461 +1.01265 1.01037 1.01167 1.01461 1.01429 1.01494 1.01331 1.00841 +0.997306 0.981306 0.968 0.963579 0.950316 0.945263 0.950947 0.947158 +0.952842 0.973053 0.988163 0.999918 0.99698 0.931368 0.753263 0.569474 +0.433733 0.39208 0.39208 0.337173 0.2728 0.22168 0.000913333 0.00084 +0.000866667 0.00086 0.00078 0.000766667 0.000786667 0.000766667 0.000773333 0.00078 +0.000746667 0.000726667 0.00076 0.000753333 0.000746667 0.000786667 0.000813333 0.000806667 +0.000813333 0.000773333 0.00076 0.000773333 0.00074 0.000733333 0.00074 0.000766667 +0.00076 0.000766667 0.000733333 0.000733333 0.000726667 0.000766667 0.00082 0.00076 +0.00074 0.000753333 0.00076 0.000793333 0.000806667 0.000793333 0.000806667 0.00084 +0.00082 0.000786667 0.000833333 0.00086 0.000893333 0.00094 0.219787 0.259547 +0.30688 0.356107 0.399653 0.450773 0.000726667 0.000726667 0.00074 0.00076 +0.00076 0.000733333 0.00074 0.000746667 0.000753333 0.000766667 0.000753333 0.000726667 +0.00072 0.000713333 0.000693333 0.000726667 0.00076 0.000766667 0.000753333 0.000666667 +0.000686667 0.000726667 0.00072 0.000673333 0.000706667 0.000753333 0.00072 0.000733333 +0.00076 0.000746667 0.00068 0.000713333 0.000746667 0.000713333 0.000726667 0.000746667 +0.000726667 0.000726667 0.000726667 0.0007 0.0007 0.000726667 0.000733333 0.000726667 +0.0007 0.000733333 0.000713333 0.00068 0.0007 0.000713333 0.000726667 0.000706667 +0.000726667 0.000753333 0.000713333 0.000673333 0.000693333 0.000706667 0.000726667 0.00068 +0.00068 0.00072 0.000713333 0.00068 0.000666667 0.00072 0.000773333 0.000766667 +0.00072 0.00074 0.000773333 0.000773333 0.000746667 0.00072 0.00076 0.000766667 +0.00084 0.0009 0.00098 0.27848 0.358 0.388293 0.418587 0.522105 +0.650947 0.841053 0.982612 1.00384 0.994694 0.983265 0.966105 0.957263 +0.961053 0.964211 0.971158 0.98098 0.988163 0.999265 1.00612 1.01069 +1.01167 1.00841 1.00841 1.00971 1.01135 1.01004 1.00678 1.00808 +1.00939 1.0058 1.00384 1.00188 1.00482 1.02833 1.0551 1.05478 +1.03518 1.01559 1.00351 0.98751 0.922526 0.794316 0.647158 0.539789 +0.469707 0.439413 0.441307 0.452667 0.464027 0.435627 0.412907 0.405333 +0.39208 0.407227 0.473493 0.48864 0.446987 0.435627 0.424267 0.401547 +0.424267 0.44888 0.4432 0.46592 0.518316 0.565053 0.620632 0.681263 +0.713474 0.686947 0.635158 0.590947 0.559368 0.541053 0.531579 0.518316 +0.512632 0.531579 0.541053 0.522105 0.503158 0.48296 0.484853 0.496213 +0.47728 0.435627 0.428053 0.433733 0.384507 0.356107 0.356107 0.36368 +0.395867 0.411013 0.399653 0.384507 0.44888 0.607368 0.784842 0.834737 +0.767789 0.620632 0.439413 0.31256 0.32392 0.337173 0.327707 0.337173 +0.367467 0.376933 0.373147 0.359893 0.344747 0.34664 0.38072 0.38072 +0.36368 0.34664 0.35232 0.35232 0.373147 0.3864 0.399653 0.4716 +0.522105 0.586526 0.674947 0.684421 0.585895 0.5 0.43184 0.441307 +0.47728 0.503158 0.4716 0.40344 0.36368 0.359893 0.36368 0.365573 +0.36368 0.382613 0.44888 0.535368 0.568842 0.534105 0.452667 0.3864 +0.407227 0.439413 0.43184 0.433733 0.429947 0.439413 0.45456 0.496213 +0.517684 0.525895 0.557474 0.661684 0.795579 0.902947 1.0058 1.05347 +1.05282 1.04139 1.03355 1.05739 1.14065 1.05902 1.03682 1.03159 +1.04922 1.05935 1.06761 1.07217 1.06304 1.0551 1.04857 1.04824 +1.05608 1.06456 1.07369 1.10717 1.12391 1.2289 1.38562 1.27759 +1.04857 1.02049 1.0071 1.0009 0.998939 0.999592 1.00514 0.998939 +0.997633 1.00155 1.00155 1.0009 0.999918 0.997633 0.999918 1.0071 +1.0218 1.05543 1.25933 1.30954 1.21825 1.15434 1.1376 1.14825 +1.13912 1.12847 1.12543 1.11934 1.13304 1.10717 1.06304 1.06761 +1.05804 1.05086 1.05412 1.12391 1.18021 1.10108 1.044 1.04922 +1.07826 1.18021 1.24564 1.05543 0.990122 0.945263 0.887158 0.750105 +0.635158 0.575158 0.526526 0.511368 0.501895 0.46024 0.44888 0.479173 +0.508211 0.502526 0.484853 0.469707 0.43184 0.407227 0.407227 0.4148 +0.4148 0.445093 0.505684 0.527789 0.503158 0.401547 0.37504 0.393973 +0.395867 0.382613 0.40912 0.43752 0.43184 0.429947 0.40912 0.401547 +0.506947 0.592842 0.590947 0.503789 0.37504 0.361787 0.373147 0.37504 +0.367467 0.359893 0.365573 0.35232 0.35232 0.358 0.35232 0.342853 +0.344747 0.354213 0.356107 0.354213 0.348533 0.36368 0.367467 0.359893 +0.35232 0.367467 0.416693 0.42616 0.384507 0.36936 0.373147 0.367467 +0.411013 0.510105 0.517684 0.481067 0.42048 0.388293 0.373147 0.356107 +0.348533 0.34664 0.350427 0.36368 0.365573 0.36936 0.378827 0.429947 +0.484853 0.450773 0.418587 0.40912 0.405333 0.412907 0.418587 0.43752 +0.435627 0.4148 0.416693 0.43184 0.439413 0.484853 0.562526 0.692632 +0.840421 0.956 1.0169 1.07217 1.15586 1.10108 1.05053 1.04237 +1.04955 1.18325 1.31715 1.18325 1.03192 1.012 1.01331 1.01298 +1.01167 1.01069 1.01298 1.01592 1.01494 1.01527 1.01004 0.998612 +0.986857 0.971789 0.961684 0.954105 0.947789 0.951579 0.957263 0.958526 +0.975579 0.990449 0.999918 0.999918 0.951579 0.781684 0.585895 0.42616 +0.371253 0.39208 0.359893 0.2728 0.00094 0.00086 0.000833333 0.000793333 +0.00082 0.000833333 0.000773333 0.000786667 0.000826667 0.0008 0.000773333 0.00078 +0.000766667 0.00074 0.000726667 0.000746667 0.000733333 0.00074 0.000773333 0.000766667 +0.000813333 0.000773333 0.00074 0.00076 0.00072 0.000726667 0.00074 0.00078 +0.000806667 0.000826667 0.000773333 0.000773333 0.000793333 0.000786667 0.000846667 0.00084 +0.000806667 0.000806667 0.000806667 0.000813333 0.000806667 0.0008 0.0008 0.000853333 +0.000886667 0.000893333 0.000966667 0.23304 0.26712 0.31824 0.38072 0.452667 +0.505684 0.528421 0.546105 0.563789 0.000733333 0.00074 0.000746667 0.000746667 +0.000753333 0.000746667 0.000713333 0.00072 0.000733333 0.000746667 0.000746667 0.000733333 +0.000726667 0.00072 0.000713333 0.000746667 0.000766667 0.00074 0.0007 0.000666667 +0.000746667 0.000773333 0.000726667 0.000726667 0.000766667 0.00074 0.000706667 0.00076 +0.000766667 0.000726667 0.00072 0.00074 0.000693333 0.000706667 0.000753333 0.000733333 +0.000693333 0.00072 0.000693333 0.000666667 0.00072 0.00074 0.000693333 0.000706667 +0.000713333 0.0007 0.000686667 0.000713333 0.00074 0.00072 0.000733333 0.000746667 +0.000726667 0.000706667 0.000713333 0.000753333 0.00072 0.00068 0.000713333 0.00072 +0.000686667 0.000686667 0.00066 0.0007 0.000746667 0.00074 0.000706667 0.000733333 +0.000753333 0.000766667 0.000766667 0.00072 0.000706667 0.000753333 0.000833333 0.000806667 +0.000806667 0.0008 0.00082 0.00096 0.3012 0.37504 0.388293 0.416693 +0.525895 0.666737 0.863789 0.990122 1.00449 0.99502 0.981633 0.960421 +0.953474 0.954737 0.961053 0.974316 0.983918 0.993061 1.00057 1.00547 +1.00873 1.00841 1.00678 1.00873 1.01004 1.01004 1.00841 1.00841 +1.012 1.01167 1.00776 1.00645 1.0022 1.00449 1.02441 1.04988 +1.05053 1.02669 1.00645 0.996327 0.974947 0.894105 0.765895 0.622526 +0.525263 0.462133 0.439413 0.44888 0.462133 0.45456 0.428053 0.401547 +0.395867 0.4148 0.473493 0.47728 0.42616 0.4148 0.4148 0.40344 +0.416693 0.43184 0.45456 0.498107 0.529684 0.571368 0.619368 0.663579 +0.669263 0.632632 0.590316 0.558737 0.532211 0.509474 0.486747 0.464027 +0.492427 0.547368 0.556211 0.496213 0.411013 0.395867 0.43184 0.486747 +0.462133 0.39776 0.378827 0.388293 0.39208 0.356107 0.337173 0.34664 +0.376933 0.40344 0.3864 0.371253 0.435627 0.59979 0.774737 0.816421 +0.734947 0.582105 0.384507 0.31256 0.3296 0.34096 0.342853 0.358 +0.382613 0.405333 0.401547 0.371253 0.342853 0.350427 0.405333 0.412907 +0.373147 0.354213 0.358 0.373147 0.39776 0.411013 0.44888 0.506316 +0.506947 0.536632 0.647158 0.720421 0.650947 0.543579 0.505053 0.500632 +0.475387 0.452667 0.4432 0.433733 0.412907 0.384507 0.37504 0.373147 +0.367467 0.37504 0.43752 0.536632 0.561263 0.524632 0.456453 0.40912 +0.393973 0.39208 0.422373 0.462133 0.48296 0.48864 0.481067 0.506316 +0.522737 0.533474 0.592842 0.726105 0.848 0.933895 1.0169 1.05445 +1.05053 1.04073 1.03159 1.04335 1.11478 1.11934 1.0489 1.03551 +1.04694 1.07217 1.08739 1.07978 1.07065 1.0538 1.04563 1.04792 +1.05804 1.07826 1.09348 1.11478 1.2289 1.46323 1.44497 1.09195 +1.01494 1.00743 1.00122 0.998286 0.999918 1.00318 1.01069 1.0058 +1.00318 1.00612 1.00482 1.00384 1.00155 0.995347 0.995347 0.999918 +1.00318 1.01886 1.12086 1.3628 1.33085 1.19847 1.1726 1.17564 +1.16347 1.16347 1.16803 1.1513 1.1376 1.07826 1.05576 1.05576 +1.0502 1.04922 1.07369 1.16499 1.14521 1.05314 1.03878 1.04955 +1.05478 1.09195 1.23042 1.22738 1.0329 0.977474 0.935789 0.844842 +0.714105 0.619368 0.556842 0.526526 0.507579 0.4716 0.44888 0.46024 +0.501263 0.501895 0.501263 0.501263 0.462133 0.424267 0.405333 0.40344 +0.39776 0.433733 0.506316 0.526526 0.500632 0.407227 0.388293 0.393973 +0.401547 0.39208 0.407227 0.44888 0.446987 0.416693 0.3864 0.390187 +0.501895 0.586526 0.600421 0.513263 0.378827 0.359893 0.354213 0.361787 +0.371253 0.36368 0.36368 0.361787 0.359893 0.365573 0.350427 0.337173 +0.339067 0.35232 0.344747 0.350427 0.354213 0.359893 0.361787 0.348533 +0.356107 0.376933 0.390187 0.411013 0.418587 0.393973 0.373147 0.37504 +0.40344 0.473493 0.486747 0.422373 0.388293 0.412907 0.43184 0.399653 +0.36936 0.359893 0.36368 0.38072 0.382613 0.365573 0.36936 0.407227 +0.46024 0.42616 0.3864 0.373147 0.365573 0.378827 0.395867 0.418587 +0.435627 0.4432 0.43752 0.446987 0.48864 0.562526 0.700211 0.845474 +0.943368 0.999918 1.03976 1.0813 1.07522 1.0538 1.04661 1.04727 +1.1163 1.27455 1.21064 1.04302 1.01396 1.01135 1.01135 1.00939 +1.00971 1.01004 1.01396 1.01396 1.01135 1.00841 0.998939 0.986204 +0.978105 0.964842 0.956 0.950316 0.951579 0.956632 0.964842 0.979368 +0.992408 1.00155 1.00253 0.971789 0.818316 0.616842 0.475387 0.378827 +0.388293 0.38072 0.320133 0.234933 0.000873333 0.00082 0.000793333 0.0008 +0.000826667 0.000806667 0.00074 0.000726667 0.000766667 0.00078 0.000746667 0.000726667 +0.00074 0.000746667 0.000726667 0.00074 0.00076 0.000786667 0.00078 0.000766667 +0.000813333 0.000773333 0.00076 0.000793333 0.00078 0.00078 0.00074 0.000753333 +0.000766667 0.00082 0.000793333 0.000766667 0.000793333 0.000773333 0.0008 0.000826667 +0.000813333 0.000806667 0.00078 0.0008 0.000806667 0.00086 0.000886667 0.00096 +0.240613 0.286053 0.344747 0.40912 0.479173 0.516421 0.541053 0.563789 +0.582105 0.593474 0.602316 0.611158 0.000753333 0.00076 0.000753333 0.000726667 +0.000726667 0.000706667 0.0007 0.000686667 0.000706667 0.0007 0.0007 0.000713333 +0.000726667 0.000706667 0.000706667 0.00076 0.00074 0.000686667 0.000686667 0.00072 +0.00076 0.00074 0.00074 0.000773333 0.00076 0.00072 0.00074 0.000793333 +0.000746667 0.000733333 0.00074 0.000706667 0.0007 0.000733333 0.00072 0.0007 +0.000693333 0.000693333 0.000673333 0.000693333 0.000733333 0.000706667 0.0007 0.000726667 +0.00068 0.000693333 0.000733333 0.000733333 0.00072 0.000713333 0.000753333 0.000726667 +0.000693333 0.000733333 0.00074 0.000726667 0.000673333 0.00068 0.000733333 0.00068 +0.00064 0.000673333 0.000706667 0.000733333 0.00072 0.000713333 0.000733333 0.00078 +0.000746667 0.000693333 0.000706667 0.000726667 0.000793333 0.000826667 0.000813333 0.00076 +0.00078 0.0008 0.00084 0.000873333 0.231147 0.31256 0.36368 0.37504 +0.42048 0.540421 0.698316 0.895368 0.994041 1.00286 0.993061 0.974316 +0.957895 0.957263 0.960421 0.967368 0.98 0.985551 0.990776 0.996653 +1.0009 1.00547 1.00612 1.00939 1.01135 1.01135 1.01069 1.01037 +1.01298 1.01363 1.01069 1.0071 1.00318 0.997633 0.997633 1.01788 +1.04269 1.04041 1.01755 0.998939 0.988816 0.959789 0.874526 0.742526 +0.608632 0.520211 0.458347 0.446987 0.469707 0.469707 0.433733 0.4148 +0.418587 0.43752 0.479173 0.48864 0.435627 0.401547 0.401547 0.42048 +0.424267 0.429947 0.456453 0.469707 0.486747 0.508842 0.530947 0.549895 +0.544211 0.527158 0.512 0.48864 0.44888 0.401547 0.371253 0.376933 +0.452667 0.554316 0.556211 0.445093 0.361787 0.358 0.412907 0.498107 +0.479173 0.412907 0.390187 0.39776 0.399653 0.37504 0.35232 0.34664 +0.361787 0.384507 0.373147 0.361787 0.429947 0.592211 0.751368 0.790526 +0.711579 0.562526 0.382613 0.333387 0.344747 0.342853 0.344747 0.365573 +0.3864 0.401547 0.40344 0.384507 0.36368 0.36368 0.412907 0.40912 +0.382613 0.359893 0.350427 0.376933 0.39776 0.439413 0.501263 0.510737 +0.47728 0.498107 0.613053 0.744421 0.707158 0.572 0.503158 0.458347 +0.412907 0.376933 0.384507 0.399653 0.422373 0.4148 0.393973 0.376933 +0.367467 0.367467 0.4432 0.536 0.549263 0.492427 0.40912 0.4148 +0.395867 0.382613 0.429947 0.479173 0.492427 0.501263 0.503158 0.512 +0.530947 0.565053 0.657263 0.791158 0.884 0.960421 1.028 1.05576 +1.04792 1.04335 1.0391 1.03812 1.05935 1.14673 1.09043 1.04041 +1.03878 1.06456 1.1026 1.08739 1.07978 1.05673 1.05184 1.05576 +1.07065 1.08435 1.11173 1.19086 1.41301 1.54387 1.24259 1.02702 +1.00449 1.00188 0.999918 1.00155 1.0058 1.00939 1.00971 1.00547 +1.00547 1.00678 1.00612 1.00351 0.999918 0.994367 0.994367 0.998612 +0.998612 1.00351 1.03649 1.28976 1.42519 1.28824 1.19086 1.16956 +1.16651 1.16803 1.18325 1.17108 1.11478 1.05739 1.05249 1.05314 +1.04661 1.05086 1.14521 1.20607 1.11173 1.04824 1.04335 1.04792 +1.04433 1.04955 1.12391 1.26998 1.16499 1.01429 0.968 0.914947 +0.819579 0.698316 0.601684 0.549263 0.524 0.502526 0.46592 0.44888 +0.456453 0.4716 0.5 0.502526 0.479173 0.46592 0.429947 0.40912 +0.393973 0.411013 0.501263 0.527158 0.503158 0.416693 0.395867 0.39208 +0.40344 0.393973 0.407227 0.441307 0.433733 0.395867 0.376933 0.390187 +0.48864 0.583368 0.618737 0.535368 0.395867 0.344747 0.34096 0.35232 +0.371253 0.358 0.361787 0.373147 0.37504 0.36936 0.348533 0.34096 +0.350427 0.359893 0.344747 0.350427 0.361787 0.356107 0.354213 0.348533 +0.359893 0.367467 0.36936 0.399653 0.44888 0.43184 0.38072 0.376933 +0.407227 0.452667 0.452667 0.382613 0.35232 0.395867 0.446987 0.452667 +0.43184 0.405333 0.3864 0.376933 0.376933 0.382613 0.393973 0.42616 +0.4432 0.42616 0.393973 0.367467 0.358 0.365573 0.393973 0.42048 +0.44888 0.462133 0.456453 0.49432 0.556842 0.689474 0.841053 0.941474 +0.989469 1.01951 1.04727 1.05673 1.0551 1.05118 1.04955 1.08587 +1.24868 1.24716 1.0538 1.01918 1.01331 1.01265 1.00841 1.0071 +1.00873 1.01069 1.01527 1.01233 1.00776 1.00024 0.988816 0.980327 +0.971158 0.959158 0.954105 0.950947 0.955368 0.959789 0.979368 0.991755 +1.00122 1.00286 0.980653 0.839789 0.640211 0.49432 0.371253 0.367467 +0.361787 0.31256 0.2444 0.00092 0.000866667 0.000826667 0.000786667 0.00082 +0.000826667 0.000786667 0.000773333 0.000773333 0.000793333 0.000813333 0.0008 0.00076 +0.000753333 0.000746667 0.00072 0.00072 0.000733333 0.000746667 0.000766667 0.000746667 +0.00078 0.00078 0.00076 0.000773333 0.000766667 0.000786667 0.00078 0.00076 +0.000746667 0.0008 0.00082 0.0008 0.000793333 0.00078 0.000793333 0.000793333 +0.00082 0.000866667 0.000846667 0.00088 0.000966667 0.23872 0.282267 0.348533 +0.418587 0.501895 0.527158 0.551789 0.573263 0.585895 0.600421 0.609895 +0.615579 0.618105 0.62 0.618105 0.000753333 0.000773333 0.000773333 0.000753333 +0.00074 0.00076 0.000746667 0.000733333 0.00072 0.000726667 0.000726667 0.00074 +0.000733333 0.00072 0.00074 0.00076 0.00072 0.00068 0.000713333 0.00076 +0.000726667 0.0007 0.000746667 0.000746667 0.000706667 0.000726667 0.00076 0.00074 +0.000753333 0.000766667 0.00072 0.000706667 0.000726667 0.000706667 0.000706667 0.00074 +0.000706667 0.000686667 0.000713333 0.000726667 0.0007 0.000693333 0.000706667 0.000686667 +0.000686667 0.000733333 0.000746667 0.00072 0.000713333 0.000726667 0.000706667 0.000686667 +0.000726667 0.000733333 0.000686667 0.00068 0.000673333 0.00066 0.00064 0.000606667 +0.000653333 0.00072 0.000706667 0.00068 0.00072 0.000773333 0.000773333 0.000733333 +0.000666667 0.000693333 0.000766667 0.0008 0.00082 0.000773333 0.000733333 0.0007 +0.000773333 0.000806667 0.000813333 0.000813333 0.000853333 0.223573 0.31256 0.376933 +0.407227 0.458347 0.553684 0.722947 0.914316 0.99698 1.00351 0.990776 +0.978105 0.965474 0.959158 0.955368 0.961053 0.972421 0.980653 0.986531 +0.994041 1.00286 1.00743 1.01102 1.01298 1.01233 1.01102 1.012 +1.01298 1.012 1.00873 1.00645 1.00318 0.997959 0.990776 0.992082 +1.01167 1.03453 1.03322 1.00971 0.991102 0.978737 0.941474 0.860632 +0.732421 0.602316 0.518947 0.462133 0.469707 0.475387 0.44888 0.433733 +0.450773 0.469707 0.479173 0.484853 0.44888 0.407227 0.407227 0.411013 +0.399653 0.399653 0.40912 0.405333 0.40344 0.418587 0.467813 0.492427 +0.458347 0.42616 0.401547 0.378827 0.36936 0.358 0.35232 0.367467 +0.429947 0.521474 0.512 0.401547 0.359893 0.367467 0.416693 0.475387 +0.456453 0.40912 0.384507 0.37504 0.37504 0.35232 0.344747 0.344747 +0.359893 0.373147 0.365573 0.36936 0.462133 0.605474 0.738105 0.765263 +0.688842 0.549895 0.39208 0.348533 0.358 0.354213 0.35232 0.367467 +0.371253 0.373147 0.359893 0.359893 0.358 0.358 0.382613 0.382613 +0.36936 0.358 0.35232 0.367467 0.399653 0.47728 0.508211 0.47728 +0.412907 0.433733 0.568211 0.716632 0.725474 0.591579 0.4716 0.393973 +0.376933 0.361787 0.359893 0.35232 0.384507 0.393973 0.384507 0.38072 +0.376933 0.388293 0.48296 0.548 0.555579 0.484853 0.3864 0.388293 +0.384507 0.40344 0.44888 0.484853 0.486747 0.501263 0.505053 0.527158 +0.567579 0.620632 0.719158 0.831579 0.908632 0.986857 1.04465 1.07522 +1.05184 1.04792 1.04433 1.04106 1.0502 1.10869 1.13912 1.05478 +1.03845 1.05445 1.09195 1.07065 1.05804 1.05739 1.07065 1.08282 +1.07522 1.07674 1.15282 1.30802 1.50127 1.36889 1.04596 1.00808 +0.998939 0.997633 1.00057 1.0022 1.00612 1.00971 1.00776 1.00514 +1.00612 1.00612 1.00645 1.00253 0.997959 0.994367 0.996327 0.997633 +0.994694 0.998612 1.01429 1.13304 1.42975 1.36128 1.18477 1.14217 +1.1513 1.16043 1.18782 1.15738 1.05804 1.04465 1.04596 1.04922 +1.03943 1.0489 1.20607 1.22586 1.08435 1.05053 1.0489 1.04596 +1.03486 1.03518 1.04857 1.17716 1.30194 1.11782 1.0058 0.955368 +0.904842 0.802526 0.666105 0.572632 0.537895 0.515789 0.484853 0.45456 +0.433733 0.439413 0.481067 0.492427 0.47728 0.467813 0.446987 0.418587 +0.40912 0.4148 0.501895 0.532842 0.509474 0.433733 0.405333 0.40344 +0.40344 0.395867 0.39776 0.411013 0.405333 0.382613 0.384507 0.39776 +0.48296 0.582105 0.632632 0.561895 0.429947 0.348533 0.34664 0.350427 +0.36368 0.356107 0.36936 0.390187 0.378827 0.354213 0.344747 0.358 +0.36936 0.367467 0.34664 0.342853 0.348533 0.342853 0.34096 0.344747 +0.350427 0.354213 0.359893 0.390187 0.456453 0.464027 0.39208 0.358 +0.388293 0.4432 0.43752 0.373147 0.34096 0.365573 0.412907 0.475387 +0.496213 0.456453 0.407227 0.378827 0.38072 0.39776 0.422373 0.424267 +0.412907 0.433733 0.428053 0.401547 0.395867 0.395867 0.416693 0.43752 +0.445093 0.458347 0.498107 0.550526 0.674947 0.829053 0.927579 0.98098 +1.00678 1.02767 1.04269 1.0502 1.0538 1.05086 1.06304 1.21673 +1.27303 1.08435 1.0231 1.01233 1.01265 1.00939 1.00547 1.00612 +1.00743 1.01331 1.01722 1.01298 1.00416 0.992735 0.981959 0.975579 +0.966737 0.957895 0.958526 0.957895 0.959158 0.971789 0.990449 1.00155 +1.00449 0.988816 0.870105 0.665474 0.508211 0.371253 0.373147 0.365573 +0.33528 0.259547 0.000893333 0.00078 0.0008 0.0008 0.00076 0.000773333 +0.000753333 0.000726667 0.00074 0.000766667 0.00074 0.000726667 0.000753333 0.000733333 +0.00074 0.000726667 0.000706667 0.00074 0.00074 0.000746667 0.00078 0.00078 +0.000806667 0.000806667 0.000766667 0.000793333 0.0008 0.0008 0.0008 0.000786667 +0.000773333 0.000773333 0.000786667 0.000793333 0.000806667 0.000806667 0.000813333 0.00082 +0.00086 0.00096 0.217893 0.253867 0.32392 0.395867 0.473493 0.524632 +0.554947 0.581474 0.597263 0.608 0.614316 0.611789 0.614947 0.611789 +0.608 0.606737 0.604842 0.598526 0.000786667 0.000786667 0.000786667 0.000773333 +0.000786667 0.000793333 0.000786667 0.000753333 0.000753333 0.000773333 0.00078 0.000753333 +0.000726667 0.000753333 0.000786667 0.00078 0.00074 0.000726667 0.000786667 0.000793333 +0.000733333 0.00074 0.000786667 0.00074 0.000753333 0.000786667 0.000733333 0.00074 +0.000793333 0.00076 0.000713333 0.000726667 0.00072 0.000706667 0.00074 0.000733333 +0.000713333 0.000713333 0.000726667 0.000733333 0.000726667 0.000713333 0.00072 0.000726667 +0.000733333 0.00072 0.000726667 0.00074 0.000726667 0.000713333 0.000706667 0.00072 +0.000726667 0.0007 0.000706667 0.00074 0.000673333 0.000626667 0.000646667 0.00064 +0.000673333 0.000693333 0.000686667 0.00072 0.00076 0.000746667 0.00068 0.00068 +0.000713333 0.000793333 0.00082 0.00078 0.000766667 0.00076 0.000746667 0.000733333 +0.000786667 0.000793333 0.00076 0.000746667 0.000793333 0.000886667 0.248187 0.34096 +0.399653 0.412907 0.445093 0.573263 0.764 0.947789 1.00482 1.00416 +0.991102 0.975579 0.958526 0.949684 0.950316 0.959158 0.971789 0.981633 +0.988816 0.998939 1.00514 1.01037 1.01167 1.01233 1.01265 1.012 +1.01167 1.01102 1.00906 1.00743 1.00514 1.0009 0.995347 0.990449 +0.991102 1.00841 1.02637 1.02147 0.998939 0.980653 0.965474 0.931368 +0.853053 0.728632 0.601684 0.518947 0.469707 0.473493 0.47728 0.469707 +0.479173 0.5 0.48864 0.492427 0.479173 0.445093 0.42616 0.393973 +0.384507 0.393973 0.393973 0.388293 0.390187 0.42048 0.464027 0.456453 +0.42048 0.40912 0.388293 0.358 0.34664 0.34664 0.356107 0.36368 +0.418587 0.498107 0.45456 0.367467 0.35232 0.371253 0.412907 0.435627 +0.39776 0.373147 0.376933 0.367467 0.361787 0.34664 0.333387 0.361787 +0.378827 0.361787 0.350427 0.365573 0.5 0.618105 0.728 0.746316 +0.671158 0.549263 0.42048 0.365573 0.373147 0.373147 0.36936 0.384507 +0.371253 0.350427 0.350427 0.35232 0.350427 0.34664 0.359893 0.361787 +0.36368 0.36936 0.36936 0.395867 0.450773 0.506316 0.496213 0.411013 +0.367467 0.399653 0.518947 0.641474 0.698947 0.618105 0.507579 0.371253 +0.34664 0.35232 0.35232 0.350427 0.382613 0.39208 0.384507 0.382613 +0.38072 0.39776 0.502526 0.56 0.570737 0.508842 0.3864 0.365573 +0.390187 0.42616 0.46024 0.456453 0.4716 0.505053 0.516421 0.559368 +0.623158 0.672421 0.743789 0.845474 0.933895 1.01167 1.08282 1.10717 +1.05543 1.04824 1.04465 1.044 1.04498 1.05478 1.10717 1.09348 +1.04629 1.04465 1.06609 1.06609 1.05314 1.05314 1.07369 1.08739 +1.06 1.07674 1.20455 1.37954 1.42214 1.13152 1.0169 1.0009 +0.99502 0.998286 0.999592 0.999592 1.0058 1.00939 1.00743 1.00678 +1.00678 1.00547 1.00612 1.00351 0.999265 0.996653 0.996653 0.994367 +0.992408 0.997306 1.0071 1.05282 1.41149 1.43888 1.2289 1.15434 +1.15586 1.1726 1.19238 1.13152 1.05282 1.04073 1.04106 1.03943 +1.03061 1.04433 1.18477 1.19086 1.07369 1.05282 1.05216 1.0489 +1.0378 1.03257 1.03453 1.05641 1.2639 1.33389 1.06913 0.99502 +0.951579 0.893474 0.770316 0.638947 0.570105 0.539789 0.509474 0.490533 +0.45456 0.43752 0.46592 0.490533 0.4716 0.473493 0.464027 0.450773 +0.4432 0.44888 0.506316 0.530316 0.509474 0.441307 0.40912 0.411013 +0.407227 0.407227 0.401547 0.399653 0.39208 0.382613 0.399653 0.40344 +0.469707 0.565684 0.62 0.578316 0.500632 0.376933 0.35232 0.354213 +0.373147 0.376933 0.384507 0.384507 0.361787 0.350427 0.361787 0.367467 +0.367467 0.365573 0.350427 0.34096 0.348533 0.348533 0.350427 0.350427 +0.356107 0.359893 0.36368 0.382613 0.441307 0.486747 0.4432 0.38072 +0.393973 0.428053 0.407227 0.365573 0.342853 0.337173 0.36368 0.441307 +0.475387 0.446987 0.429947 0.42616 0.4148 0.411013 0.418587 0.39776 +0.393973 0.435627 0.441307 0.43184 0.435627 0.4432 0.44888 0.45456 +0.445093 0.47728 0.548 0.672421 0.824 0.92379 0.966105 0.992408 +1.01559 1.03094 1.04106 1.0489 1.05347 1.06609 1.18477 1.27303 +1.13456 1.03061 1.012 1.00971 1.00873 1.00645 1.00547 1.0071 +1.00873 1.01494 1.01527 1.00808 0.994694 0.983592 0.975579 0.969895 +0.961684 0.955368 0.957263 0.960421 0.967368 0.985551 1.00024 1.00449 +0.991429 0.894105 0.697053 0.520211 0.358 0.359893 0.378827 0.344747 +0.282267 0.000993333 0.00084 0.0008 0.00084 0.000886667 0.00088 0.00084 +0.000793333 0.00078 0.00078 0.000806667 0.000773333 0.00074 0.000746667 0.000746667 +0.000753333 0.000733333 0.000726667 0.00074 0.00076 0.00076 0.00078 0.000793333 +0.000826667 0.000846667 0.00078 0.0008 0.000793333 0.000786667 0.000773333 0.000786667 +0.000813333 0.0008 0.0008 0.00082 0.000826667 0.000846667 0.000886667 0.000933333 +0.229253 0.28984 0.35232 0.4432 0.518947 0.551158 0.574526 0.595368 +0.610526 0.619368 0.62 0.619368 0.614947 0.604211 0.599158 0.590316 +0.579579 0.572 0.564421 0.556211 0.00076 0.000746667 0.00076 0.000773333 +0.000766667 0.000746667 0.000733333 0.000713333 0.000706667 0.000733333 0.000726667 0.000706667 +0.000693333 0.00076 0.0008 0.000726667 0.000693333 0.000746667 0.000786667 0.000746667 +0.000733333 0.000766667 0.00074 0.000733333 0.000786667 0.000766667 0.000706667 0.000773333 +0.00078 0.00072 0.000706667 0.000713333 0.000713333 0.0007 0.00068 0.000693333 +0.000733333 0.000713333 0.000713333 0.00074 0.00072 0.000706667 0.000733333 0.00072 +0.0007 0.000706667 0.000713333 0.000693333 0.000673333 0.000713333 0.00072 0.0007 +0.000713333 0.000733333 0.000713333 0.000686667 0.000633333 0.000653333 0.000686667 0.000653333 +0.000666667 0.000713333 0.000753333 0.0007 0.00068 0.000666667 0.00068 0.00072 +0.000713333 0.000713333 0.00072 0.00072 0.00076 0.000773333 0.000733333 0.000726667 +0.000773333 0.000806667 0.000793333 0.00078 0.000833333 0.000853333 0.000893333 0.253867 +0.350427 0.412907 0.416693 0.502526 0.62 0.808211 0.966737 1.00286 +0.999265 0.985551 0.967368 0.954737 0.950316 0.955368 0.968632 0.98 +0.985878 0.992082 0.997306 1.00449 1.00906 1.01102 1.01069 1.01004 +1.01004 1.01135 1.01102 1.00873 1.0071 1.00678 1.00286 0.99698 +0.990449 0.989796 1.00188 1.01624 1.01069 0.989469 0.971789 0.953474 +0.922526 0.848632 0.726105 0.602316 0.522105 0.48296 0.48864 0.500632 +0.496213 0.5 0.486747 0.49432 0.498107 0.4716 0.441307 0.401547 +0.390187 0.399653 0.401547 0.39776 0.40912 0.46592 0.486747 0.43184 +0.40344 0.405333 0.39208 0.36368 0.356107 0.361787 0.367467 0.371253 +0.435627 0.48864 0.43184 0.367467 0.356107 0.376933 0.435627 0.450773 +0.401547 0.38072 0.393973 0.3864 0.35232 0.34664 0.342853 0.376933 +0.390187 0.361787 0.348533 0.373147 0.509474 0.623789 0.716632 0.720421 +0.645263 0.548632 0.48296 0.416693 0.399653 0.39776 0.399653 0.418587 +0.40912 0.390187 0.390187 0.378827 0.358 0.342853 0.342853 0.35232 +0.361787 0.371253 0.390187 0.456453 0.506947 0.501895 0.441307 0.39208 +0.373147 0.395867 0.473493 0.580842 0.65979 0.636421 0.536 0.388293 +0.34096 0.356107 0.36368 0.373147 0.393973 0.39208 0.388293 0.39208 +0.399653 0.445093 0.517684 0.554947 0.570105 0.526526 0.412907 0.378827 +0.405333 0.43752 0.464027 0.439413 0.456453 0.508842 0.535368 0.590947 +0.651579 0.690737 0.753263 0.859368 0.965474 1.03943 1.14977 1.10413 +1.05249 1.04139 1.03943 1.04661 1.04629 1.05184 1.06304 1.07217 +1.04465 1.03029 1.04922 1.07369 1.05576 1.04857 1.05314 1.05967 +1.06152 1.11173 1.26542 1.44192 1.37649 1.05641 1.01298 0.997633 +0.993061 0.997306 0.996653 0.998939 1.00645 1.00678 1.0058 1.00678 +1.00678 1.00547 1.00612 1.00416 1.00122 1.00024 0.997306 0.994694 +0.993714 0.995347 1.00351 1.05184 1.4617 1.52105 1.29737 1.19999 +1.18021 1.17869 1.16347 1.11478 1.06913 1.05347 1.04269 1.02343 +1.01559 1.028 1.05771 1.11478 1.10565 1.06913 1.05739 1.04922 +1.03682 1.02931 1.02604 1.03518 1.11173 1.33541 1.32019 1.05314 +0.993714 0.951579 0.884632 0.762737 0.644 0.568842 0.524 0.506947 +0.475387 0.445093 0.46024 0.4716 0.481067 0.48864 0.48864 0.467813 +0.45456 0.4716 0.511368 0.526526 0.506947 0.441307 0.416693 0.407227 +0.39776 0.405333 0.40912 0.39208 0.388293 0.390187 0.39776 0.39776 +0.4432 0.532842 0.572632 0.568211 0.525263 0.424267 0.354213 0.348533 +0.37504 0.388293 0.399653 0.384507 0.365573 0.36936 0.365573 0.350427 +0.344747 0.356107 0.354213 0.35232 0.356107 0.348533 0.356107 0.358 +0.36368 0.373147 0.384507 0.393973 0.439413 0.508842 0.509474 0.439413 +0.411013 0.411013 0.39208 0.36936 0.350427 0.339067 0.342853 0.40344 +0.435627 0.40912 0.42048 0.441307 0.428053 0.422373 0.42048 0.39776 +0.401547 0.435627 0.439413 0.439413 0.458347 0.490533 0.48296 0.462133 +0.47728 0.537263 0.664842 0.825895 0.926316 0.959789 0.983265 1.00253 +1.01788 1.03388 1.04759 1.04988 1.05478 1.1513 1.24564 1.14977 +1.03551 1.01396 1.01037 1.00743 1.00547 1.00612 1.00743 1.00841 +1.01102 1.01429 1.00743 0.996 0.984245 0.976211 0.969895 0.962947 +0.955368 0.949053 0.952842 0.968 0.982939 0.995347 1.00384 0.994367 +0.906105 0.716632 0.536 0.361787 0.333387 0.339067 0.339067 0.286053 +0.219787 0.000873333 0.000813333 0.000806667 0.00084 0.000846667 0.000853333 0.000813333 +0.00074 0.00074 0.000746667 0.000793333 0.000786667 0.00078 0.00076 0.00074 +0.00076 0.000786667 0.000773333 0.000766667 0.00078 0.00078 0.0008 0.000793333 +0.000826667 0.000853333 0.000773333 0.000766667 0.000773333 0.00078 0.00078 0.000813333 +0.00084 0.00084 0.000853333 0.00086 0.000846667 0.000913333 0.231147 0.282267 +0.359893 0.469707 0.529053 0.563789 0.590316 0.608632 0.618105 0.618737 +0.616842 0.614316 0.609263 0.600421 0.591579 0.573895 0.558737 0.548632 +0.537895 0.530947 0.530947 0.534737 0.000753333 0.000753333 0.000753333 0.000766667 +0.00076 0.000746667 0.00074 0.000733333 0.000726667 0.00072 0.000713333 0.000666667 +0.000686667 0.000766667 0.00076 0.000653333 0.000686667 0.000773333 0.000733333 0.000713333 +0.000753333 0.000733333 0.000693333 0.000753333 0.00076 0.000733333 0.000746667 0.00076 +0.000733333 0.00072 0.0007 0.000733333 0.000746667 0.0007 0.000673333 0.00072 +0.000746667 0.000713333 0.000726667 0.000713333 0.000693333 0.000733333 0.0007 0.000673333 +0.00072 0.00072 0.000693333 0.00068 0.000686667 0.00068 0.000646667 0.00068 +0.000713333 0.000686667 0.000653333 0.000653333 0.000653333 0.000646667 0.000653333 0.000666667 +0.0007 0.00072 0.000693333 0.000653333 0.00066 0.0007 0.000726667 0.000713333 +0.000666667 0.000693333 0.000733333 0.000746667 0.00076 0.00074 0.00068 0.000706667 +0.000773333 0.0008 0.00082 0.000786667 0.00078 0.000773333 0.000793333 0.00094 +0.282267 0.384507 0.42048 0.429947 0.518947 0.640842 0.829053 0.975579 +1.00286 0.997306 0.985224 0.969263 0.956632 0.955368 0.962316 0.969895 +0.978105 0.982286 0.986204 0.992082 1.00155 1.00743 1.00743 1.00906 +1.00939 1.01037 1.01167 1.00971 1.00841 1.00873 1.00612 1.0009 +0.996 0.989143 0.987184 0.996653 1.00873 1.00351 0.985224 0.963579 +0.946526 0.916842 0.843579 0.724842 0.607368 0.528421 0.503158 0.502526 +0.498107 0.500632 0.490533 0.496213 0.49432 0.452667 0.416693 0.39208 +0.390187 0.401547 0.407227 0.399653 0.433733 0.5 0.481067 0.411013 +0.390187 0.411013 0.40912 0.38072 0.371253 0.361787 0.361787 0.384507 +0.458347 0.481067 0.412907 0.37504 0.365573 0.395867 0.4716 0.469707 +0.405333 0.382613 0.401547 0.40344 0.371253 0.371253 0.376933 0.399653 +0.399653 0.361787 0.34664 0.38072 0.517684 0.623789 0.698316 0.688842 +0.603579 0.522105 0.48864 0.469707 0.4716 0.462133 0.439413 0.433733 +0.422373 0.418587 0.407227 0.384507 0.376933 0.359893 0.35232 0.350427 +0.356107 0.359893 0.3864 0.46592 0.48864 0.422373 0.401547 0.3864 +0.37504 0.39208 0.42616 0.534737 0.618105 0.638316 0.564421 0.439413 +0.356107 0.356107 0.358 0.37504 0.388293 0.378827 0.38072 0.412907 +0.456453 0.506316 0.520842 0.519579 0.546105 0.541053 0.467813 0.418587 +0.428053 0.4432 0.46024 0.44888 0.479173 0.523368 0.567579 0.618105 +0.656 0.695789 0.781684 0.900421 1.00318 1.10869 1.15586 1.05608 +1.04269 1.03682 1.03976 1.05216 1.05412 1.05935 1.07065 1.05445 +1.03159 1.01559 1.03388 1.05445 1.0502 1.04335 1.04727 1.05053 +1.05543 1.13304 1.30954 1.49214 1.43888 1.09195 1.0169 0.998612 +0.993388 0.994694 0.995673 1.00122 1.00514 1.00514 1.00514 1.00482 +1.00547 1.00514 1.00743 1.00612 1.00155 1.00286 0.997959 0.994041 +0.995673 0.998939 1.01102 1.12695 1.57583 1.58952 1.35671 1.23194 +1.16803 1.14065 1.12999 1.14521 1.14673 1.1026 1.05151 1.0218 +1.00939 1.01363 1.028 1.05184 1.1376 1.16651 1.11934 1.0538 +1.03747 1.02637 1.01984 1.02376 1.04041 1.15282 1.34758 1.30498 +1.04629 0.988163 0.949684 0.882105 0.748211 0.613053 0.539789 0.515789 +0.5 0.484853 0.481067 0.49432 0.49432 0.490533 0.490533 0.4716 +0.462133 0.475387 0.509474 0.525895 0.515158 0.46592 0.43184 0.405333 +0.378827 0.405333 0.411013 0.39208 0.395867 0.399653 0.399653 0.405333 +0.43184 0.501263 0.522105 0.544211 0.547368 0.506947 0.407227 0.388293 +0.422373 0.46024 0.46024 0.422373 0.393973 0.382613 0.371253 0.35232 +0.34096 0.356107 0.361787 0.348533 0.350427 0.342853 0.359893 0.3864 +0.388293 0.38072 0.395867 0.401547 0.435627 0.515158 0.523368 0.458347 +0.407227 0.405333 0.39208 0.376933 0.356107 0.34664 0.342853 0.37504 +0.411013 0.39208 0.399653 0.4148 0.411013 0.407227 0.40344 0.395867 +0.422373 0.458347 0.46024 0.44888 0.458347 0.490533 0.484853 0.481067 +0.537263 0.654737 0.817684 0.927579 0.964842 0.981306 0.996 1.00906 +1.01886 1.03812 1.05184 1.05282 1.09804 1.21064 1.15434 1.03812 +1.01167 1.00743 1.00841 1.00776 1.00612 1.00939 1.01004 1.00939 +1.01265 1.01069 0.997633 0.985551 0.979368 0.971158 0.962947 0.959789 +0.951579 0.947789 0.960421 0.982939 0.995673 1.00318 0.99502 0.92379 +0.743158 0.554316 0.376933 0.333387 0.348533 0.333387 0.29552 0.234933 +0.000893333 0.000826667 0.000793333 0.000766667 0.000793333 0.000793333 0.000773333 0.00072 +0.000706667 0.00072 0.00072 0.000746667 0.00076 0.000753333 0.000726667 0.000686667 +0.00068 0.00072 0.000733333 0.000713333 0.000706667 0.000706667 0.000713333 0.00072 +0.000753333 0.000786667 0.000733333 0.000733333 0.00072 0.000733333 0.000733333 0.00076 +0.000813333 0.00086 0.0009 0.00094 0.000986667 0.26144 0.342853 0.46024 +0.530316 0.568842 0.598526 0.616842 0.623789 0.625684 0.625684 0.618737 +0.605474 0.592211 0.578316 0.561263 0.545474 0.531579 0.522105 0.522105 +0.526526 0.534737 0.544211 0.554316 0.00078 0.00078 0.000786667 0.00078 +0.00076 0.000766667 0.000773333 0.000773333 0.000766667 0.000746667 0.00072 0.000706667 +0.000753333 0.000773333 0.000713333 0.000673333 0.00074 0.000766667 0.000726667 0.000746667 +0.000766667 0.00072 0.000733333 0.00076 0.00072 0.00076 0.00078 0.000746667 +0.000746667 0.000733333 0.000726667 0.000766667 0.000753333 0.000726667 0.000733333 0.000746667 +0.000753333 0.000733333 0.00072 0.000713333 0.00072 0.000726667 0.0007 0.000713333 +0.00072 0.000706667 0.00072 0.00072 0.0007 0.000706667 0.000706667 0.00074 +0.000706667 0.000653333 0.000653333 0.000646667 0.000613333 0.00064 0.0007 0.000706667 +0.000673333 0.000626667 0.000646667 0.00068 0.000686667 0.00068 0.000666667 0.0007 +0.000713333 0.000746667 0.000733333 0.0007 0.000733333 0.000746667 0.000733333 0.00078 +0.00082 0.000793333 0.00078 0.000746667 0.00076 0.0008 0.000833333 0.000893333 +0.000993333 0.287947 0.36368 0.37504 0.40344 0.524632 0.671789 0.866947 +0.98849 1.0071 0.999918 0.985878 0.969895 0.959158 0.962316 0.962316 +0.966105 0.968 0.974947 0.983265 0.991429 1.0022 1.00743 1.00906 +1.01135 1.01167 1.01037 1.00971 1.00776 1.00873 1.00776 1.00351 +1.00024 0.995347 0.988816 0.986204 0.996 1.00612 0.999265 0.983592 +0.965474 0.949053 0.918105 0.843579 0.729263 0.62 0.546737 0.511368 +0.503158 0.508842 0.508842 0.507579 0.500632 0.462133 0.422373 0.399653 +0.405333 0.407227 0.40344 0.424267 0.481067 0.503789 0.46592 0.40912 +0.388293 0.428053 0.435627 0.38072 0.367467 0.376933 0.388293 0.429947 +0.506316 0.5 0.39208 0.358 0.35232 0.388293 0.456453 0.4432 +0.388293 0.384507 0.42048 0.424267 0.401547 0.393973 0.382613 0.399653 +0.39776 0.359893 0.34664 0.401547 0.528421 0.617474 0.680632 0.671789 +0.582105 0.484853 0.416693 0.416693 0.446987 0.45456 0.422373 0.3864 +0.378827 0.38072 0.371253 0.36368 0.365573 0.356107 0.35232 0.36936 +0.367467 0.356107 0.3864 0.446987 0.422373 0.378827 0.399653 0.378827 +0.359893 0.367467 0.38072 0.47728 0.573263 0.633895 0.592842 0.501263 +0.390187 0.373147 0.36936 0.382613 0.384507 0.371253 0.37504 0.416693 +0.479173 0.502526 0.486747 0.446987 0.526526 0.557474 0.510105 0.450773 +0.456453 0.452667 0.452667 0.462133 0.505053 0.548632 0.606105 0.651579 +0.681263 0.735579 0.839789 0.964211 1.04596 1.19999 1.11478 1.04367 +1.03616 1.03943 1.04433 1.05576 1.07522 1.11478 1.08435 1.04008 +1.01461 1.01298 1.03257 1.04596 1.04335 1.04433 1.04694 1.04629 +1.05543 1.14521 1.30194 1.49062 1.52257 1.22433 1.02833 1.00351 +0.996327 0.993714 0.996653 1.00188 1.00286 1.00351 1.00449 1.00482 +1.00612 1.00318 1.0058 1.0058 1.00155 1.00514 0.997959 0.994694 +1.00122 1.01102 1.04694 1.41606 1.73255 1.59408 1.33541 1.1939 +1.11326 1.07369 1.08435 1.15282 1.22586 1.21825 1.14217 1.04727 +1.02767 1.01592 1.01265 1.02571 1.06913 1.23194 1.24107 1.12239 +1.04955 1.03094 1.01951 1.01886 1.02049 1.0378 1.1589 1.35519 +1.27607 1.04008 0.991755 0.955368 0.857474 0.702737 0.588421 0.540421 +0.520211 0.512632 0.512 0.514526 0.511368 0.500632 0.500632 0.5 +0.48296 0.458347 0.475387 0.519579 0.527789 0.501895 0.445093 0.40344 +0.39208 0.422373 0.428053 0.40344 0.405333 0.412907 0.407227 0.412907 +0.42616 0.445093 0.46024 0.513895 0.554316 0.547368 0.507579 0.48864 +0.503158 0.501895 0.46024 0.401547 0.376933 0.367467 0.359893 0.356107 +0.350427 0.358 0.36368 0.356107 0.358 0.356107 0.382613 0.422373 +0.418587 0.38072 0.371253 0.39208 0.428053 0.516421 0.528421 0.467813 +0.395867 0.393973 0.393973 0.390187 0.373147 0.359893 0.36368 0.38072 +0.39776 0.390187 0.39208 0.39776 0.39776 0.3864 0.388293 0.411013 +0.46024 0.49432 0.490533 0.467813 0.4716 0.500632 0.507579 0.549895 +0.662316 0.813895 0.92379 0.964211 0.983265 0.994041 1.00449 1.01298 +1.02767 1.04792 1.05804 1.09956 1.17869 1.13456 1.0391 1.01331 +1.00808 1.00743 1.00939 1.00939 1.00841 1.01102 1.01069 1.01037 +1.01037 1.00286 0.98751 0.98 0.974947 0.966737 0.961053 0.959789 +0.952842 0.959158 0.981306 0.99502 1.00547 1.00253 0.942105 0.770947 +0.578947 0.4148 0.339067 0.344747 0.35232 0.316347 0.257653 0.00096 +0.000873333 0.000853333 0.000846667 0.000793333 0.000813333 0.00084 0.000793333 0.000733333 +0.000766667 0.000773333 0.000753333 0.00076 0.000786667 0.00078 0.000773333 0.00072 +0.0007 0.000726667 0.000733333 0.00076 0.000753333 0.000726667 0.000766667 0.000773333 +0.000793333 0.000833333 0.0008 0.000786667 0.000786667 0.0008 0.00084 0.0009 +0.000953333 0.219787 0.242507 0.287947 0.36368 0.4716 0.529053 0.566316 +0.601053 0.621895 0.628842 0.630105 0.623158 0.613053 0.600421 0.584632 +0.563158 0.541053 0.525263 0.517684 0.515789 0.518947 0.525895 0.537895 +0.550526 0.561263 0.573895 0.583368 0.000793333 0.000793333 0.000793333 0.000773333 +0.00074 0.00076 0.000766667 0.00076 0.00078 0.00074 0.0007 0.000766667 +0.000806667 0.000746667 0.00072 0.000753333 0.000753333 0.0007 0.000726667 0.000746667 +0.00072 0.000726667 0.000746667 0.00072 0.00074 0.000773333 0.00076 0.00076 +0.000746667 0.000713333 0.00074 0.000753333 0.000726667 0.00074 0.00074 0.000746667 +0.00074 0.000713333 0.000733333 0.000726667 0.000713333 0.00072 0.000706667 0.00072 +0.00072 0.00076 0.00074 0.000706667 0.000713333 0.000746667 0.000733333 0.000733333 +0.00074 0.000673333 0.00064 0.000653333 0.00068 0.0007 0.000686667 0.00064 +0.000626667 0.000666667 0.0007 0.000686667 0.000686667 0.000686667 0.0007 0.000733333 +0.000706667 0.000646667 0.000633333 0.00066 0.00076 0.000793333 0.00076 0.000766667 +0.000773333 0.000753333 0.000766667 0.00078 0.000833333 0.00086 0.00084 0.000813333 +0.0008 0.000913333 0.280373 0.354213 0.37504 0.43184 0.554947 0.717895 +0.899158 0.994041 1.0058 0.996 0.98098 0.961684 0.956632 0.953474 +0.956 0.959158 0.967368 0.978737 0.983918 0.995673 1.0058 1.01102 +1.012 1.01233 1.01069 1.00939 1.00612 1.00612 1.00678 1.00547 +1.00318 0.999592 0.993061 0.986857 0.987837 0.995347 1.0009 0.996327 +0.984898 0.969895 0.954737 0.92 0.844842 0.746947 0.642737 0.556842 +0.517053 0.512632 0.513263 0.510737 0.512 0.512 0.492427 0.445093 +0.42048 0.40912 0.42616 0.4716 0.505684 0.500632 0.450773 0.405333 +0.39776 0.435627 0.42616 0.376933 0.38072 0.407227 0.42616 0.4716 +0.515789 0.492427 0.382613 0.356107 0.35232 0.39208 0.43752 0.416693 +0.3864 0.407227 0.446987 0.42616 0.395867 0.3864 0.378827 0.39776 +0.384507 0.359893 0.367467 0.435627 0.525895 0.589053 0.651579 0.657895 +0.579579 0.473493 0.373147 0.36368 0.378827 0.40344 0.40344 0.38072 +0.36936 0.384507 0.384507 0.376933 0.358 0.34096 0.35232 0.376933 +0.38072 0.361787 0.39208 0.424267 0.390187 0.36368 0.390187 0.382613 +0.361787 0.359893 0.365573 0.40912 0.537263 0.623789 0.619368 0.526526 +0.411013 0.378827 0.395867 0.40344 0.390187 0.37504 0.3864 0.42048 +0.46024 0.462133 0.445093 0.435627 0.529684 0.575789 0.529684 0.475387 +0.4716 0.464027 0.4716 0.492427 0.522737 0.574526 0.632632 0.685053 +0.739368 0.808842 0.912421 1.01494 1.15738 1.21368 1.07217 1.04041 +1.03649 1.04302 1.05053 1.08891 1.15434 1.12543 1.04596 1.01951 +1.01069 1.02506 1.04171 1.04661 1.04629 1.05053 1.05151 1.04792 +1.05543 1.1026 1.2076 1.37193 1.5317 1.44649 1.10717 1.01788 +0.999265 0.992408 0.994694 0.998612 1.0009 1.00253 1.00253 1.00318 +1.00612 1.00351 1.00384 1.00514 1.00351 1.00547 0.998286 0.996327 +1.00873 1.04792 1.38867 1.75537 1.73712 1.45105 1.22129 1.11326 +1.07369 1.05706 1.05608 1.11782 1.22281 1.27607 1.24716 1.15282 +1.05902 1.0329 1.01233 1.00873 1.02702 1.1026 1.27607 1.25629 +1.11326 1.04073 1.02441 1.01853 1.01265 1.01624 1.04204 1.19542 +1.36736 1.27303 1.04269 0.993388 0.940842 0.836 0.698947 0.595368 +0.548632 0.535368 0.530947 0.531579 0.522737 0.505053 0.506316 0.509474 +0.502526 0.467813 0.458347 0.510737 0.532211 0.512632 0.452667 0.412907 +0.411013 0.42048 0.4148 0.40912 0.4148 0.428053 0.42616 0.4148 +0.412907 0.407227 0.393973 0.462133 0.539158 0.550526 0.511368 0.5 +0.498107 0.446987 0.399653 0.365573 0.35232 0.356107 0.35232 0.356107 +0.36368 0.358 0.356107 0.358 0.35232 0.36368 0.412907 0.435627 +0.411013 0.382613 0.36368 0.384507 0.445093 0.520842 0.529053 0.484853 +0.393973 0.367467 0.38072 0.38072 0.371253 0.367467 0.38072 0.3864 +0.388293 0.378827 0.384507 0.3864 0.384507 0.390187 0.407227 0.452667 +0.503158 0.506316 0.500632 0.490533 0.502526 0.520211 0.568842 0.681263 +0.824 0.919368 0.954105 0.973684 0.989796 0.998939 1.00906 1.02212 +1.04139 1.05576 1.09652 1.16347 1.12999 1.0391 1.01233 1.00873 +1.00873 1.0071 1.00776 1.00776 1.00906 1.00906 1.01037 1.01135 +1.00449 0.991429 0.979368 0.973684 0.969263 0.962947 0.961684 0.958526 +0.957895 0.980327 0.994694 1.00482 1.00547 0.965474 0.8 0.603579 +0.435627 0.342853 0.34096 0.342853 0.325813 0.26144 0.00096 0.000846667 +0.0008 0.000806667 0.000806667 0.000793333 0.00082 0.00084 0.000786667 0.00074 +0.000753333 0.000746667 0.000726667 0.000766667 0.000773333 0.00076 0.000786667 0.000746667 +0.00072 0.000713333 0.00072 0.000746667 0.000766667 0.000746667 0.000766667 0.00078 +0.0008 0.000826667 0.0008 0.000813333 0.000833333 0.000853333 0.000886667 0.000953333 +0.231147 0.28416 0.358 0.46024 0.528421 0.565684 0.591579 0.606105 +0.617474 0.621895 0.616842 0.607368 0.590316 0.565053 0.541053 0.525263 +0.513895 0.511368 0.514526 0.524 0.535368 0.542316 0.547368 0.556842 +0.573895 0.590316 0.609263 0.632 0.000753333 0.000786667 0.000813333 0.000806667 +0.0008 0.000793333 0.000786667 0.000773333 0.000786667 0.000753333 0.00072 0.000806667 +0.0008 0.000713333 0.000753333 0.0008 0.00074 0.00072 0.00078 0.000733333 +0.000726667 0.00076 0.00072 0.000733333 0.000766667 0.00076 0.000786667 0.000766667 +0.00072 0.00072 0.00072 0.00072 0.00072 0.000733333 0.000746667 0.00076 +0.000726667 0.000726667 0.00074 0.000726667 0.00074 0.000733333 0.00072 0.00074 +0.000753333 0.000753333 0.00072 0.00072 0.00074 0.000746667 0.000753333 0.000766667 +0.000713333 0.00064 0.000686667 0.000753333 0.000746667 0.000693333 0.00066 0.00068 +0.000673333 0.000666667 0.000666667 0.00068 0.00074 0.000753333 0.000706667 0.000686667 +0.000653333 0.00066 0.00072 0.00076 0.000786667 0.000753333 0.0007 0.00072 +0.0008 0.00082 0.000833333 0.000833333 0.000826667 0.000793333 0.000753333 0.000713333 +0.00074 0.000826667 0.229253 0.337173 0.388293 0.39208 0.475387 0.580842 +0.741895 0.914316 0.997306 1.00384 0.990122 0.971158 0.956632 0.949053 +0.952211 0.957263 0.963579 0.973053 0.979368 0.985878 0.998612 1.00678 +1.00971 1.01135 1.00971 1.00939 1.00841 1.0071 1.0071 1.00645 +1.00416 1.00253 0.997959 0.994041 0.990122 0.988163 0.992082 0.996 +0.992082 0.985551 0.979368 0.959158 0.919368 0.852421 0.757684 0.645895 +0.554947 0.513895 0.496213 0.49432 0.514526 0.529053 0.524 0.501895 +0.441307 0.411013 0.433733 0.484853 0.503789 0.475387 0.44888 0.416693 +0.407227 0.424267 0.39776 0.382613 0.401547 0.416693 0.422373 0.467813 +0.512632 0.473493 0.37504 0.350427 0.359893 0.39208 0.418587 0.399653 +0.399653 0.43752 0.464027 0.418587 0.39208 0.39776 0.40344 0.4148 +0.376933 0.356107 0.37504 0.424267 0.503158 0.546105 0.615579 0.648421 +0.590316 0.500632 0.390187 0.39776 0.39208 0.399653 0.418587 0.399653 +0.38072 0.390187 0.40912 0.399653 0.36936 0.359893 0.36368 0.37504 +0.373147 0.37504 0.399653 0.393973 0.37504 0.36368 0.378827 0.384507 +0.373147 0.38072 0.376933 0.39208 0.510737 0.596632 0.633263 0.561895 +0.462133 0.40344 0.40912 0.411013 0.4148 0.407227 0.422373 0.439413 +0.446987 0.456453 0.464027 0.484853 0.546737 0.588421 0.545474 0.504421 +0.48864 0.481067 0.498107 0.511368 0.546737 0.591579 0.637053 0.709684 +0.806947 0.890947 0.987837 1.05869 1.21825 1.14825 1.05445 1.0378 +1.0329 1.03845 1.05445 1.16803 1.21825 1.05837 1.01788 1.01037 +1.02702 1.04759 1.05216 1.0489 1.04792 1.05118 1.05478 1.05445 +1.05935 1.06 1.08435 1.17108 1.37802 1.57735 1.48605 1.17108 +1.02278 0.998286 0.996653 0.995673 0.997306 1.00057 1.0022 1.00318 +1.00645 1.0071 1.00645 1.00678 1.00416 1.00449 1.00024 1.00384 +1.0502 1.43127 1.74168 1.7082 1.4404 1.24411 1.14521 1.0813 +1.07674 1.07065 1.05543 1.06 1.14065 1.2502 1.30346 1.27911 +1.19999 1.05837 1.02571 1.00547 1.00024 1.02147 1.13152 1.32019 +1.25933 1.06152 1.03486 1.02212 1.01298 1.01135 1.02147 1.04694 +1.22281 1.39019 1.28824 1.04531 0.994694 0.941474 0.841684 0.705895 +0.606105 0.571368 0.555579 0.552421 0.539789 0.517684 0.515158 0.515789 +0.513263 0.508842 0.492427 0.503789 0.529053 0.517684 0.464027 0.428053 +0.42048 0.418587 0.435627 0.464027 0.435627 0.418587 0.418587 0.393973 +0.390187 0.395867 0.395867 0.44888 0.529684 0.542947 0.492427 0.43752 +0.43752 0.401547 0.39208 0.382613 0.365573 0.376933 0.367467 0.358 +0.367467 0.365573 0.354213 0.359893 0.359893 0.3864 0.429947 0.418587 +0.39208 0.388293 0.388293 0.40912 0.464027 0.513263 0.515789 0.501895 +0.42616 0.382613 0.376933 0.367467 0.356107 0.359893 0.376933 0.382613 +0.384507 0.373147 0.3864 0.393973 0.399653 0.429947 0.456453 0.496213 +0.510105 0.508211 0.501263 0.503789 0.525263 0.584632 0.702105 0.841684 +0.931368 0.954737 0.964842 0.984245 0.996 1.00318 1.01788 1.03878 +1.05445 1.08282 1.13912 1.10717 1.03976 1.01461 1.00776 1.00776 +1.00514 1.00482 1.00449 1.0058 1.00873 1.00808 1.00939 1.0058 +0.993388 0.980653 0.969895 0.967368 0.961684 0.957263 0.959158 0.961684 +0.974947 0.992408 1.00351 1.0058 0.979368 0.826526 0.625053 0.475387 +0.33528 0.33528 0.34664 0.322027 0.259547 0.000913333 0.000833333 0.000766667 +0.000753333 0.000793333 0.000806667 0.000793333 0.000806667 0.000773333 0.00072 0.000726667 +0.000726667 0.000713333 0.00068 0.000713333 0.0007 0.000693333 0.000726667 0.000726667 +0.0007 0.000653333 0.000646667 0.000646667 0.000673333 0.000693333 0.000706667 0.000713333 +0.000746667 0.000773333 0.000766667 0.0008 0.000833333 0.000886667 0.216 0.26144 +0.350427 0.469707 0.530947 0.567579 0.597263 0.613053 0.620632 0.620632 +0.617474 0.609263 0.590316 0.565684 0.540421 0.522737 0.515158 0.518316 +0.526526 0.534737 0.539158 0.542947 0.548 0.555579 0.568842 0.590316 +0.621895 0.655368 0.683158 0.699579 0.000613333 0.00068 0.000726667 0.000766667 +0.000806667 0.00078 0.00078 0.000766667 0.00074 0.00072 0.000733333 0.000813333 +0.000773333 0.000733333 0.0008 0.000786667 0.000746667 0.000786667 0.000786667 0.000766667 +0.0008 0.00078 0.00076 0.000766667 0.000753333 0.00078 0.00078 0.000746667 +0.000726667 0.000706667 0.00072 0.00074 0.000733333 0.00072 0.00072 0.00072 +0.00072 0.000706667 0.000693333 0.000733333 0.000726667 0.00072 0.000733333 0.000713333 +0.000706667 0.000733333 0.000713333 0.000706667 0.0007 0.000713333 0.00072 0.000686667 +0.000653333 0.000686667 0.00074 0.00072 0.000686667 0.000666667 0.000673333 0.000673333 +0.00064 0.00066 0.000733333 0.00072 0.000706667 0.000646667 0.000606667 0.000653333 +0.000693333 0.000726667 0.00074 0.000726667 0.000726667 0.000733333 0.000726667 0.00078 +0.000826667 0.000813333 0.000786667 0.00074 0.000706667 0.00068 0.00072 0.000753333 +0.000806667 0.000873333 0.000946667 0.274693 0.354213 0.376933 0.390187 0.47728 +0.592842 0.769053 0.937053 0.998939 0.998939 0.986531 0.970526 0.954737 +0.949684 0.954737 0.956 0.965474 0.971158 0.978105 0.986857 0.997633 +1.00482 1.00906 1.00841 1.00776 1.00808 1.0071 1.00743 1.00547 +1.00449 1.00482 1.00286 0.999918 0.996327 0.991102 0.988816 0.989469 +0.991102 0.993714 0.991429 0.981959 0.958526 0.915579 0.848632 0.752632 +0.637684 0.548632 0.501263 0.475387 0.505684 0.522737 0.525895 0.512 +0.49432 0.464027 0.46592 0.501895 0.5 0.44888 0.439413 0.422373 +0.40344 0.39776 0.3864 0.390187 0.40912 0.40344 0.393973 0.452667 +0.513263 0.479173 0.376933 0.35232 0.36368 0.401547 0.42048 0.399653 +0.39208 0.416693 0.412907 0.382613 0.37504 0.3864 0.412907 0.411013 +0.36368 0.339067 0.350427 0.3864 0.452667 0.514526 0.580842 0.643368 +0.614947 0.530316 0.44888 0.43752 0.401547 0.38072 0.395867 0.407227 +0.399653 0.395867 0.4148 0.405333 0.378827 0.376933 0.378827 0.3864 +0.367467 0.37504 0.393973 0.378827 0.38072 0.382613 0.3864 0.384507 +0.373147 0.390187 0.382613 0.388293 0.462133 0.550526 0.621895 0.598526 +0.515789 0.42616 0.40912 0.418587 0.43752 0.445093 0.467813 0.458347 +0.428053 0.43184 0.450773 0.506316 0.553684 0.575158 0.544842 0.515789 +0.501263 0.496213 0.506316 0.526526 0.563789 0.603579 0.650316 0.740632 +0.860632 0.962947 1.03518 1.19694 1.16651 1.05673 1.04596 1.03747 +1.03192 1.04073 1.09804 1.24868 1.19238 1.03029 1.00122 1.01755 +1.04498 1.0813 1.07369 1.05478 1.05249 1.05053 1.05216 1.05902 +1.08587 1.06 1.05282 1.05869 1.16347 1.39323 1.64886 1.64278 +1.28824 1.0329 1.00351 0.995673 0.996327 0.999265 1.00155 1.00318 +1.00547 1.0071 1.0058 1.00384 1.0022 1.00645 1.01559 1.05902 +1.48909 1.78429 1.63973 1.33845 1.16043 1.12999 1.12543 1.09348 +1.1026 1.12391 1.11021 1.095 1.16347 1.32932 1.43432 1.40693 +1.28976 1.12999 1.04335 1.01461 0.995673 0.995347 1.03257 1.23498 +1.36889 1.20912 1.05118 1.02833 1.01657 1.01331 1.0169 1.02669 +1.05412 1.26694 1.4191 1.30041 1.04988 0.997306 0.945263 0.849895 +0.732421 0.654737 0.601684 0.583368 0.565053 0.537895 0.536 0.527789 +0.522105 0.521474 0.506947 0.506316 0.537263 0.533474 0.500632 0.45456 +0.433733 0.445093 0.503158 0.513895 0.458347 0.393973 0.39208 0.384507 +0.37504 0.382613 0.40344 0.452667 0.522737 0.545474 0.502526 0.399653 +0.390187 0.384507 0.40344 0.401547 0.378827 0.390187 0.382613 0.36936 +0.384507 0.3864 0.361787 0.359893 0.373147 0.40344 0.42048 0.395867 +0.378827 0.38072 0.39776 0.412907 0.428053 0.458347 0.49432 0.509474 +0.464027 0.395867 0.371253 0.36368 0.367467 0.39208 0.401547 0.390187 +0.38072 0.378827 0.376933 0.39208 0.42616 0.46024 0.481067 0.500632 +0.505053 0.503158 0.500632 0.527789 0.602316 0.723579 0.863158 0.967368 +0.987184 0.980327 0.98098 0.988816 1.00122 1.01265 1.03355 1.05314 +1.08282 1.12999 1.09652 1.03518 1.01102 1.0071 1.00612 1.00449 +1.00384 1.00547 1.00482 1.00678 1.00971 1.01037 1.00547 0.994694 +0.984898 0.973053 0.964842 0.962316 0.956 0.953474 0.959789 0.974947 +0.990776 1.00318 1.00776 0.986204 0.852421 0.649684 0.49432 0.339067 +0.320133 0.33528 0.32392 0.269013 0.000946667 0.000806667 0.000813333 0.000793333 +0.000753333 0.000773333 0.000766667 0.00078 0.000793333 0.000746667 0.000713333 0.000713333 +0.000713333 0.0007 0.000693333 0.000713333 0.000726667 0.00072 0.00074 0.00076 +0.00076 0.00072 0.0007 0.0007 0.000686667 0.000713333 0.000753333 0.000766667 +0.000813333 0.000873333 0.0009 0.00096 0.231147 0.276587 0.382613 0.498107 +0.539158 0.575789 0.603579 0.618737 0.625053 0.622526 0.62 0.610526 +0.589684 0.565053 0.540421 0.520211 0.508842 0.514526 0.527158 0.533474 +0.537895 0.537895 0.537263 0.548632 0.572 0.604842 0.643368 0.681263 +0.707158 0.716 0.706526 0.675579 0.000553333 0.000553333 0.000566667 0.000626667 +0.000686667 0.000726667 0.00076 0.000746667 0.000706667 0.00074 0.00078 0.000766667 +0.000726667 0.00076 0.000766667 0.00072 0.000766667 0.000786667 0.000766667 0.00078 +0.000773333 0.00074 0.00076 0.000753333 0.00076 0.000773333 0.00076 0.00076 +0.00072 0.00072 0.000753333 0.000726667 0.000733333 0.00072 0.00074 0.000733333 +0.00074 0.000713333 0.000713333 0.00074 0.00072 0.000726667 0.000726667 0.000686667 +0.000713333 0.000733333 0.000713333 0.000726667 0.000726667 0.000673333 0.000633333 0.00066 +0.000693333 0.000713333 0.000706667 0.000666667 0.000673333 0.000653333 0.00066 0.00066 +0.0007 0.000746667 0.000726667 0.000646667 0.000613333 0.000633333 0.00066 0.000706667 +0.000706667 0.000693333 0.000693333 0.0007 0.000766667 0.0008 0.000766667 0.00076 +0.000726667 0.000686667 0.00068 0.00068 0.000726667 0.000766667 0.000846667 0.000866667 +0.00086 0.000873333 0.000853333 0.000953333 0.259547 0.32392 0.358 0.36936 +0.504421 0.62 0.798105 0.960421 1.00351 0.999592 0.985551 0.968 +0.951579 0.950947 0.950316 0.956632 0.966105 0.973053 0.981959 0.988163 +0.997306 1.00449 1.00841 1.00808 1.00808 1.00906 1.00971 1.00939 +1.00416 1.00482 1.00547 1.00057 0.998612 0.996327 0.992408 0.988816 +0.989796 0.994694 0.997633 0.993388 0.982286 0.955368 0.913053 0.846737 +0.749474 0.640842 0.554947 0.510737 0.503789 0.509474 0.512632 0.511368 +0.512632 0.515789 0.515789 0.515158 0.505684 0.469707 0.428053 0.399653 +0.3864 0.39208 0.390187 0.395867 0.40912 0.393973 0.395867 0.475387 +0.524 0.504421 0.42048 0.378827 0.36936 0.395867 0.40912 0.388293 +0.384507 0.39208 0.376933 0.37504 0.376933 0.388293 0.42048 0.412907 +0.371253 0.348533 0.34096 0.354213 0.418587 0.492427 0.546737 0.621263 +0.632632 0.570105 0.502526 0.4148 0.37504 0.365573 0.36936 0.39776 +0.422373 0.42048 0.424267 0.40912 0.384507 0.36936 0.384507 0.38072 +0.359893 0.37504 0.395867 0.384507 0.382613 0.3864 0.382613 0.382613 +0.37504 0.39208 0.393973 0.401547 0.429947 0.502526 0.572632 0.597895 +0.528421 0.412907 0.393973 0.424267 0.4432 0.446987 0.446987 0.4148 +0.393973 0.39208 0.4148 0.508211 0.547368 0.548 0.535368 0.523368 +0.512632 0.511368 0.520211 0.544842 0.577684 0.625684 0.698316 0.803158 +0.923158 1.01494 1.1513 1.22586 1.06304 1.03845 1.04008 1.03747 +1.03453 1.05739 1.23498 1.30802 1.08282 1.00645 1.00449 1.0329 +1.05086 1.0813 1.11326 1.12086 1.12086 1.11478 1.12695 1.14369 +1.16043 1.1376 1.09956 1.09652 1.08587 1.14065 1.39932 1.74472 +1.77668 1.37497 1.04367 1.00808 1.0009 0.998939 0.997959 1.0009 +1.00416 1.00253 1.00188 1.00286 1.00612 1.02114 1.13304 1.61387 +1.90601 1.68234 1.29737 1.10413 1.05967 1.08739 1.16347 1.19694 +1.22738 1.27607 1.3065 1.31107 1.36128 1.48909 1.57735 1.53018 +1.36432 1.16347 1.05151 1.02865 1.00743 0.994367 1.00253 1.05445 +1.33085 1.33845 1.11782 1.03649 1.02245 1.01788 1.0169 1.02049 +1.03518 1.09043 1.28215 1.39475 1.30498 1.05478 1.00188 0.956 +0.881474 0.796842 0.710316 0.658526 0.620632 0.591579 0.592842 0.558737 +0.530316 0.521474 0.514526 0.526526 0.560632 0.554316 0.509474 0.46024 +0.441307 0.450773 0.5 0.504421 0.44888 0.39208 0.390187 0.390187 +0.37504 0.3864 0.4148 0.435627 0.503789 0.537895 0.517053 0.416693 +0.378827 0.3864 0.416693 0.4148 0.388293 0.384507 0.373147 0.37504 +0.411013 0.412907 0.38072 0.36936 0.373147 0.393973 0.405333 0.388293 +0.378827 0.382613 0.40344 0.399653 0.388293 0.422373 0.481067 0.517684 +0.502526 0.4148 0.371253 0.371253 0.405333 0.433733 0.433733 0.407227 +0.411013 0.42048 0.401547 0.4148 0.464027 0.473493 0.4716 0.48296 +0.490533 0.506316 0.537895 0.620632 0.743158 0.864421 0.963579 1.0058 +1.00906 0.994367 0.98751 0.993061 1.00939 1.03192 1.05249 1.07522 +1.11326 1.08435 1.03518 1.00873 1.00416 1.00645 1.00612 1.00384 +1.00645 1.00743 1.0071 1.00906 1.00939 1.00678 0.993714 0.981306 +0.977474 0.966105 0.957895 0.954737 0.952211 0.957263 0.972421 0.98849 +1.00318 1.00841 0.990776 0.872632 0.672421 0.512632 0.333387 0.316347 +0.342853 0.339067 0.2728 0.00098 0.00088 0.000826667 0.000833333 0.000786667 +0.000746667 0.00076 0.000746667 0.000773333 0.000773333 0.000746667 0.000733333 0.00072 +0.00072 0.00074 0.000753333 0.000753333 0.00076 0.000746667 0.00074 0.00076 +0.00078 0.000726667 0.0007 0.000706667 0.000686667 0.000686667 0.00076 0.00082 +0.000893333 0.000986667 0.229253 0.27848 0.361787 0.462133 0.534105 0.572632 +0.597263 0.611158 0.618105 0.617474 0.610526 0.597895 0.583368 0.565684 +0.541053 0.522737 0.513263 0.515158 0.520842 0.525263 0.530316 0.532211 +0.541053 0.560632 0.589053 0.629474 0.675579 0.709684 0.721684 0.710316 +0.68 0.632 0.579579 0.532211 0.000646667 0.000606667 0.000553333 0.000546667 +0.000586667 0.000613333 0.00066 0.000666667 0.000706667 0.0008 0.000846667 0.00078 +0.00078 0.000813333 0.000766667 0.00078 0.000826667 0.000786667 0.000786667 0.000773333 +0.000766667 0.00076 0.00076 0.000766667 0.000773333 0.000773333 0.000786667 0.000746667 +0.00072 0.000753333 0.000766667 0.000753333 0.000753333 0.000753333 0.000746667 0.000733333 +0.000753333 0.00076 0.000766667 0.000773333 0.000753333 0.00072 0.000726667 0.000713333 +0.000733333 0.000766667 0.000746667 0.000726667 0.0007 0.00066 0.000693333 0.000753333 +0.00074 0.00074 0.0007 0.000666667 0.000606667 0.000626667 0.00072 0.000753333 +0.00074 0.0007 0.000653333 0.00064 0.00068 0.000706667 0.000686667 0.000693333 +0.000673333 0.000713333 0.000773333 0.00078 0.000786667 0.000733333 0.000646667 0.000613333 +0.000666667 0.00072 0.000753333 0.000793333 0.000813333 0.00084 0.000866667 0.00082 +0.000773333 0.0008 0.000793333 0.0008 0.00086 0.2444 0.333387 0.367467 +0.412907 0.517684 0.644632 0.841053 0.983265 1.0022 0.996 0.984898 +0.968 0.957263 0.952842 0.954737 0.964211 0.974316 0.981633 0.986204 +0.990449 0.997959 1.00514 1.00776 1.00873 1.00939 1.01004 1.00939 +1.00547 1.00514 1.00449 1.00188 0.998612 0.996653 0.995673 0.994041 +0.991429 0.992082 0.996327 0.998286 0.990776 0.98098 0.956632 0.908632 +0.842316 0.750105 0.644632 0.557474 0.511368 0.496213 0.5 0.505053 +0.524 0.542947 0.528421 0.508211 0.506947 0.496213 0.433733 0.3864 +0.382613 0.384507 0.399653 0.407227 0.407227 0.393973 0.40912 0.49432 +0.522105 0.5 0.446987 0.416693 0.395867 0.40912 0.401547 0.382613 +0.37504 0.38072 0.38072 0.36936 0.367467 0.393973 0.422373 0.399653 +0.361787 0.342853 0.331493 0.337173 0.378827 0.42616 0.516421 0.598526 +0.639579 0.594737 0.511368 0.39776 0.36368 0.367467 0.367467 0.382613 +0.411013 0.412907 0.399653 0.390187 0.378827 0.359893 0.36936 0.373147 +0.367467 0.384507 0.39208 0.3864 0.384507 0.371253 0.36936 0.376933 +0.376933 0.399653 0.416693 0.4148 0.412907 0.418587 0.519579 0.577053 +0.540421 0.433733 0.401547 0.428053 0.43752 0.439413 0.42048 0.393973 +0.395867 0.401547 0.422373 0.505684 0.532842 0.539789 0.552421 0.548 +0.539158 0.536 0.539789 0.561263 0.604842 0.671789 0.761474 0.879579 +0.994694 1.08282 1.25477 1.15282 1.04073 1.02767 1.03682 1.0378 +1.04563 1.16956 1.33085 1.23346 1.03094 1.0022 1.02114 1.04335 +1.05543 1.12695 1.19999 1.24716 1.25477 1.27607 1.33237 1.37954 +1.41758 1.4191 1.38867 1.32476 1.2076 1.13304 1.18173 1.52866 +2.00035 1.93949 1.44953 1.05347 1.01363 1.00188 0.998612 1.00024 +1.00155 0.998286 0.999918 1.00514 1.01984 1.13152 1.67473 2.15251 +2.01253 1.48453 1.17108 1.11173 1.1163 1.19999 1.35215 1.47996 +1.56517 1.61234 1.63212 1.63973 1.63821 1.64734 1.62756 1.53931 +1.38867 1.18325 1.05314 1.0342 1.02114 1.00678 0.99502 1.01624 +1.14825 1.37802 1.25629 1.05249 1.03094 1.02473 1.01951 1.01984 +1.03029 1.04139 1.07217 1.25781 1.41758 1.3628 1.09956 1.01265 +0.976211 0.924421 0.858737 0.796211 0.738105 0.697053 0.674947 0.604842 +0.551789 0.528421 0.521474 0.539158 0.565053 0.563158 0.524 0.481067 +0.452667 0.4432 0.4432 0.441307 0.428053 0.40912 0.395867 0.399653 +0.39776 0.418587 0.429947 0.4148 0.456453 0.530316 0.537895 0.475387 +0.384507 0.36936 0.3864 0.40344 0.39208 0.38072 0.371253 0.384507 +0.435627 0.42616 0.38072 0.36368 0.358 0.365573 0.37504 0.390187 +0.382613 0.37504 0.3864 0.38072 0.384507 0.439413 0.505684 0.536632 +0.522105 0.43752 0.36936 0.37504 0.401547 0.407227 0.4148 0.429947 +0.46024 0.47728 0.46024 0.469707 0.503789 0.492427 0.48296 0.48864 +0.506947 0.557474 0.649053 0.766526 0.864421 0.925053 0.976211 1.00122 +1.00547 0.99502 0.991429 1.00286 1.02441 1.04792 1.06152 1.07522 +1.05902 1.03388 1.00841 1.0022 1.00482 1.00612 1.00612 1.00514 +1.00612 1.00612 1.00808 1.00971 1.00514 0.996 0.982612 0.972421 +0.971789 0.961053 0.957895 0.955368 0.956632 0.972421 0.988816 0.999592 +1.00776 0.994367 0.887789 0.692 0.524632 0.358 0.31824 0.348533 +0.358 0.29552 0.000986667 0.000846667 0.000813333 0.000813333 0.0008 0.000753333 +0.00074 0.000773333 0.00076 0.00076 0.000746667 0.000746667 0.000713333 0.000693333 +0.000706667 0.00074 0.000753333 0.00072 0.000686667 0.000686667 0.000673333 0.000693333 +0.000706667 0.000686667 0.000686667 0.000713333 0.000713333 0.00076 0.000826667 0.000893333 +0.216 0.26712 0.344747 0.46024 0.530947 0.561895 0.590316 0.610526 +0.616842 0.617474 0.614947 0.603579 0.589684 0.573263 0.554947 0.542947 +0.532842 0.528421 0.524632 0.522105 0.518316 0.513263 0.518316 0.551158 +0.601053 0.652211 0.696421 0.721053 0.717895 0.687579 0.638316 0.577684 +0.522105 0.439413 0.34664 0.28984 0.000753333 0.000693333 0.000633333 0.000613333 +0.000593333 0.000586667 0.00052 0.000513333 0.00058 0.000693333 0.000733333 0.000713333 +0.000793333 0.000786667 0.000773333 0.000793333 0.00076 0.000786667 0.000806667 0.000793333 +0.0008 0.000766667 0.00076 0.000786667 0.000793333 0.0008 0.00076 0.000706667 +0.000713333 0.000726667 0.000733333 0.00074 0.00074 0.000733333 0.000726667 0.000733333 +0.00074 0.000733333 0.000753333 0.00074 0.00072 0.0007 0.000693333 0.00068 +0.000733333 0.000746667 0.000673333 0.000646667 0.00066 0.00066 0.000713333 0.000753333 +0.00072 0.00068 0.00062 0.00062 0.00064 0.0007 0.000746667 0.00068 +0.000653333 0.000666667 0.000646667 0.00064 0.000666667 0.000686667 0.000726667 0.000753333 +0.000746667 0.00076 0.000733333 0.000666667 0.000646667 0.000606667 0.0006 0.000686667 +0.000793333 0.000846667 0.000826667 0.000806667 0.000806667 0.00078 0.00074 0.000693333 +0.000666667 0.000726667 0.000753333 0.00074 0.000753333 0.00086 0.263333 0.350427 +0.395867 0.433733 0.536632 0.687579 0.874526 0.984571 0.999265 0.994367 +0.981959 0.963579 0.955368 0.954105 0.961053 0.968632 0.98 0.984898 +0.986531 0.990122 0.997633 1.00449 1.00873 1.00906 1.00906 1.00971 +1.00906 1.0071 1.00678 1.0058 1.00188 0.997306 0.996653 0.997306 +0.995673 0.994041 0.994041 0.996653 0.99502 0.991429 0.983592 0.952842 +0.909895 0.846737 0.753263 0.645895 0.56 0.514526 0.498107 0.501895 +0.532211 0.548632 0.520211 0.502526 0.509474 0.502526 0.446987 0.399653 +0.378827 0.388293 0.393973 0.395867 0.3864 0.39776 0.435627 0.507579 +0.511368 0.445093 0.40912 0.401547 0.407227 0.422373 0.412907 0.382613 +0.365573 0.361787 0.367467 0.354213 0.348533 0.38072 0.401547 0.382613 +0.35232 0.333387 0.3296 0.342853 0.36936 0.388293 0.481067 0.575158 +0.634526 0.605474 0.522105 0.411013 0.382613 0.388293 0.3864 0.39208 +0.39776 0.39776 0.39208 0.388293 0.38072 0.359893 0.36368 0.371253 +0.38072 0.3864 0.382613 0.395867 0.39776 0.38072 0.37504 0.382613 +0.388293 0.390187 0.393973 0.390187 0.390187 0.39776 0.502526 0.571368 +0.561263 0.490533 0.43184 0.43752 0.445093 0.445093 0.428053 0.43184 +0.4432 0.441307 0.456453 0.508211 0.524632 0.542316 0.557474 0.544842 +0.536 0.541053 0.566316 0.59979 0.657895 0.74 0.836 0.965474 +1.0489 1.2639 1.23042 1.05739 1.02767 1.02016 1.03029 1.04302 +1.08739 1.2639 1.29128 1.05837 1.01069 1.01233 1.028 1.03845 +1.05478 1.14369 1.20303 1.24716 1.26846 1.28824 1.35824 1.46627 +1.56822 1.588 1.54539 1.45562 1.3415 1.26085 1.22433 1.44801 +1.98057 2.26664 2.0247 1.47996 1.05608 1.01363 0.999592 0.998612 +0.997959 0.994367 0.994367 1.00547 1.05543 1.58039 2.15251 2.35489 +2.03231 1.55452 1.28824 1.23498 1.27911 1.37649 1.51496 1.66864 +1.80711 1.83906 1.81472 1.81624 1.79342 1.73407 1.58648 1.41149 +1.25324 1.09652 1.04694 1.03551 1.02767 1.01559 1.00057 1.00122 +1.03355 1.25781 1.36584 1.16651 1.04694 1.03388 1.0231 1.02082 +1.02669 1.02996 1.04106 1.09804 1.30194 1.46018 1.40693 1.17412 +1.03127 0.993388 0.962316 0.927579 0.868211 0.791158 0.716 0.635789 +0.582105 0.552421 0.538526 0.545474 0.555579 0.561895 0.546105 0.514526 +0.492427 0.4716 0.446987 0.429947 0.42048 0.418587 0.405333 0.411013 +0.418587 0.412907 0.40912 0.40344 0.441307 0.529684 0.554947 0.516421 +0.424267 0.37504 0.376933 0.399653 0.390187 0.367467 0.371253 0.435627 +0.5 0.43752 0.371253 0.358 0.354213 0.354213 0.37504 0.399653 +0.39776 0.378827 0.376933 0.388293 0.411013 0.47728 0.517684 0.537263 +0.523368 0.44888 0.378827 0.373147 0.37504 0.36936 0.384507 0.429947 +0.498107 0.515789 0.514526 0.517684 0.526526 0.519579 0.514526 0.524 +0.581474 0.691368 0.806947 0.887789 0.921263 0.935158 0.957895 0.981633 +0.987184 0.988816 0.997306 1.01788 1.03747 1.0502 1.05478 1.04759 +1.02669 1.00678 1.00188 1.00351 1.00482 1.0058 1.00776 1.00906 +1.00873 1.00776 1.00971 1.00678 0.996 0.984898 0.973684 0.971789 +0.966105 0.956632 0.954105 0.954105 0.966105 0.986531 1.0009 1.00612 +0.996327 0.908 0.716 0.541053 0.36936 0.314453 0.327707 0.348533 +0.3012 0.000986667 0.000773333 0.000766667 0.00076 0.000766667 0.000793333 0.000786667 +0.000753333 0.00076 0.000773333 0.000733333 0.000686667 0.000706667 0.00068 0.00066 +0.000673333 0.000706667 0.000733333 0.0007 0.00068 0.000673333 0.0007 0.000713333 +0.00074 0.000733333 0.000753333 0.000793333 0.000813333 0.0009 0.000946667 0.225467 +0.31256 0.439413 0.525263 0.565684 0.594737 0.604211 0.609895 0.616211 +0.613684 0.608632 0.601684 0.583368 0.568211 0.557474 0.545474 0.538526 +0.529684 0.520842 0.506316 0.481067 0.4716 0.507579 0.560632 0.640842 +0.706526 0.728 0.708421 0.662947 0.597895 0.536 0.458347 0.350427 +0.280373 0.257653 0.242507 0.23304 0.000733333 0.0007 0.000693333 0.000713333 +0.000713333 0.00066 0.000566667 0.000533333 0.000586667 0.000546667 0.000526667 0.000586667 +0.000646667 0.000706667 0.000766667 0.00076 0.00076 0.0008 0.00078 0.000746667 +0.000746667 0.00076 0.000773333 0.000793333 0.0008 0.00076 0.00074 0.00072 +0.000713333 0.000706667 0.000713333 0.000726667 0.000713333 0.000713333 0.00072 0.00072 +0.000713333 0.000733333 0.00076 0.000726667 0.000706667 0.000713333 0.000733333 0.000746667 +0.00076 0.0007 0.000646667 0.000666667 0.0007 0.000733333 0.000773333 0.00074 +0.000626667 0.000593333 0.000626667 0.0007 0.00068 0.00066 0.00066 0.00064 +0.00066 0.00066 0.000613333 0.000626667 0.000706667 0.00076 0.000813333 0.000766667 +0.000693333 0.000653333 0.000626667 0.0006 0.000666667 0.000693333 0.000746667 0.00082 +0.000833333 0.000813333 0.00076 0.000733333 0.000746667 0.000726667 0.000726667 0.000726667 +0.000726667 0.000753333 0.000786667 0.000773333 0.000786667 0.0008 0.00092 0.274693 +0.365573 0.4148 0.464027 0.565684 0.726737 0.901684 0.990122 1.00188 +0.991755 0.973684 0.959158 0.955368 0.959789 0.964842 0.973684 0.981306 +0.983592 0.985224 0.987837 0.997959 1.00547 1.00678 1.00808 1.00971 +1.00906 1.00939 1.00645 1.0058 1.00612 1.00253 0.999918 0.998939 +0.999265 0.999592 0.996653 0.996653 0.997633 0.996 0.993388 0.984898 +0.961053 0.916842 0.850526 0.758316 0.654105 0.568842 0.522105 0.510737 +0.527158 0.532842 0.510105 0.496213 0.504421 0.501263 0.45456 0.4148 +0.407227 0.405333 0.407227 0.399653 0.393973 0.4148 0.469707 0.506316 +0.48296 0.416693 0.39776 0.390187 0.40912 0.42048 0.399653 0.382613 +0.378827 0.37504 0.365573 0.359893 0.365573 0.378827 0.3864 0.373147 +0.339067 0.325813 0.331493 0.344747 0.376933 0.395867 0.46024 0.560632 +0.635789 0.630105 0.546105 0.441307 0.40344 0.39776 0.39776 0.40912 +0.399653 0.393973 0.384507 0.378827 0.388293 0.38072 0.378827 0.384507 +0.37504 0.373147 0.407227 0.445093 0.418587 0.388293 0.3864 0.405333 +0.424267 0.388293 0.371253 0.378827 0.376933 0.393973 0.49432 0.566316 +0.580842 0.528421 0.484853 0.4716 0.48864 0.473493 0.4432 0.445093 +0.4432 0.43184 0.462133 0.514526 0.534737 0.542316 0.541053 0.529684 +0.524632 0.549263 0.604842 0.658526 0.726105 0.815158 0.929474 1.03094 +1.25477 1.32019 1.14065 1.03747 1.01788 1.01624 1.02571 1.04955 +1.16956 1.27303 1.14977 1.03094 1.01527 1.01951 1.02735 1.0342 +1.04629 1.07674 1.12847 1.18782 1.25781 1.29128 1.31107 1.38715 +1.45105 1.39171 1.29737 1.23042 1.22586 1.26542 1.30041 1.4404 +1.77059 2.12513 2.21034 1.89536 1.44192 1.07217 1.01102 0.989469 +0.984245 0.986204 0.999265 1.03943 1.3628 1.86645 2.14947 2.16012 +1.92579 1.588 1.31259 1.23651 1.25477 1.29281 1.37954 1.50583 +1.67777 1.75994 1.75385 1.75842 1.73559 1.623 1.40388 1.21216 +1.07826 1.04465 1.03551 1.0329 1.02767 1.01592 1.0071 1.00155 +1.00645 1.05771 1.35063 1.33845 1.13152 1.04498 1.02865 1.02278 +1.02376 1.02441 1.03159 1.04922 1.14825 1.32019 1.44497 1.44953 +1.29128 1.05314 1.00906 0.987184 0.947789 0.861263 0.747579 0.652211 +0.602316 0.578947 0.572632 0.572 0.550526 0.548 0.564421 0.550526 +0.523368 0.503789 0.47728 0.445093 0.42048 0.4148 0.412907 0.43752 +0.4432 0.416693 0.39208 0.411013 0.44888 0.527158 0.562526 0.541684 +0.5 0.418587 0.40344 0.399653 0.38072 0.373147 0.395867 0.505684 +0.532211 0.490533 0.416693 0.40912 0.395867 0.388293 0.401547 0.407227 +0.395867 0.384507 0.390187 0.405333 0.416693 0.4716 0.501263 0.508211 +0.506316 0.48296 0.4432 0.407227 0.388293 0.378827 0.378827 0.416693 +0.506316 0.529684 0.532211 0.538526 0.542947 0.543579 0.560632 0.621263 +0.733053 0.851789 0.919368 0.935789 0.935158 0.940842 0.955368 0.971158 +0.978105 0.988163 1.00482 1.02767 1.04073 1.04237 1.03682 1.01918 +1.00253 0.999265 1.00253 1.00384 1.0058 1.00743 1.00808 1.01004 +1.00971 1.00776 1.0058 0.996 0.983918 0.973684 0.964842 0.962947 +0.957895 0.952211 0.952842 0.963579 0.984571 0.999592 1.00808 0.997959 +0.920632 0.739368 0.558105 0.38072 0.316347 0.331493 0.331493 0.291733 +0.217893 0.000806667 0.000706667 0.000733333 0.00076 0.000746667 0.000746667 0.000766667 +0.000733333 0.000726667 0.00074 0.0007 0.000653333 0.000646667 0.000653333 0.000613333 +0.000613333 0.000653333 0.000686667 0.000693333 0.00068 0.000693333 0.00072 0.000733333 +0.00078 0.00076 0.000773333 0.00084 0.00086 0.217893 0.286053 0.382613 +0.507579 0.554947 0.588421 0.609263 0.616211 0.610526 0.609263 0.613684 +0.606737 0.596632 0.588421 0.574526 0.559368 0.544842 0.528421 0.513263 +0.496213 0.464027 0.458347 0.506316 0.552421 0.611789 0.673684 0.710316 +0.696421 0.641474 0.571368 0.510105 0.3864 0.293627 0.259547 0.248187 +0.23304 0.229253 0.22736 0.22736 0.000713333 0.000713333 0.000726667 0.00072 +0.000733333 0.0007 0.000646667 0.000706667 0.0007 0.00058 0.00056 0.000566667 +0.000553333 0.000613333 0.000653333 0.000686667 0.000793333 0.00082 0.00082 0.0008 +0.00078 0.000813333 0.0008 0.0008 0.000793333 0.000786667 0.00076 0.000746667 +0.00076 0.00076 0.00076 0.000766667 0.000733333 0.000733333 0.000733333 0.00072 +0.000733333 0.00076 0.000753333 0.0007 0.000706667 0.00074 0.000766667 0.00074 +0.000713333 0.000686667 0.00066 0.00072 0.0008 0.0008 0.00076 0.00066 +0.00064 0.000686667 0.00072 0.000713333 0.00066 0.00064 0.00066 0.000613333 +0.000613333 0.000646667 0.000706667 0.000766667 0.000766667 0.00072 0.00066 0.00058 +0.000566667 0.00062 0.000693333 0.00074 0.00082 0.000833333 0.000793333 0.000786667 +0.000746667 0.000726667 0.000686667 0.000673333 0.000713333 0.000733333 0.000766667 0.000786667 +0.0008 0.000786667 0.00082 0.000793333 0.000786667 0.000813333 0.000813333 0.00094 +0.28984 0.371253 0.395867 0.486747 0.590947 0.757684 0.925053 0.99698 +1.00188 0.989469 0.973684 0.960421 0.960421 0.961684 0.968632 0.976211 +0.980327 0.983918 0.984571 0.988163 0.996327 1.00351 1.00841 1.01037 +1.01069 1.00841 1.0058 1.00514 1.0058 1.00547 1.00318 1.00188 +1.00122 1.00351 1.00286 1.0009 1.0009 0.999265 0.999592 0.997306 +0.989143 0.969895 0.924421 0.861263 0.767158 0.661053 0.577684 0.529053 +0.516421 0.521474 0.513263 0.502526 0.48864 0.4716 0.452667 0.435627 +0.424267 0.416693 0.412907 0.416693 0.416693 0.46024 0.508842 0.503789 +0.433733 0.395867 0.401547 0.407227 0.42048 0.4148 0.39776 0.384507 +0.378827 0.376933 0.365573 0.354213 0.378827 0.39776 0.388293 0.373147 +0.344747 0.344747 0.356107 0.358 0.373147 0.393973 0.439413 0.542316 +0.638316 0.668632 0.584 0.484853 0.405333 0.3864 0.393973 0.405333 +0.39208 0.37504 0.359893 0.350427 0.37504 0.378827 0.382613 0.39208 +0.382613 0.384507 0.429947 0.462133 0.4148 0.39208 0.39208 0.42616 +0.46024 0.416693 0.39208 0.405333 0.401547 0.412907 0.46024 0.534105 +0.578947 0.558105 0.514526 0.502526 0.5 0.46024 0.43752 0.43752 +0.428053 0.43184 0.475387 0.520842 0.541684 0.535368 0.532842 0.537895 +0.547368 0.591579 0.661684 0.729263 0.806316 0.907368 1.01527 1.21368 +1.37041 1.24107 1.0502 1.02049 1.01265 1.01657 1.02865 1.06456 +1.2289 1.21064 1.0489 1.02212 1.0231 1.0218 1.02604 1.03257 +1.04041 1.05282 1.09348 1.18021 1.28063 1.33389 1.34758 1.39019 +1.38258 1.2502 1.12999 1.06609 1.08739 1.18021 1.30041 1.44801 +1.60474 1.77972 1.93492 1.94101 1.80102 1.48757 1.05902 0.991755 +0.968632 1.00024 1.05053 1.29585 1.5317 1.68234 1.79494 1.88015 +1.70364 1.35976 1.11173 1.05935 1.09195 1.14217 1.24259 1.39171 +1.54691 1.61691 1.58343 1.54539 1.4967 1.37041 1.1939 1.05967 +1.044 1.03976 1.0342 1.02833 1.02441 1.01624 1.012 1.00906 +1.00514 1.02408 1.19542 1.41606 1.29281 1.07978 1.04008 1.02898 +1.02408 1.02376 1.02898 1.04433 1.06456 1.15434 1.2852 1.42671 +1.48909 1.38106 1.16043 1.03486 0.997306 0.945895 0.847368 0.735579 +0.660421 0.621263 0.618105 0.62 0.575158 0.544842 0.561263 0.563789 +0.534737 0.508211 0.49432 0.4716 0.446987 0.4432 0.439413 0.44888 +0.446987 0.424267 0.407227 0.429947 0.473493 0.524632 0.541053 0.534105 +0.521474 0.473493 0.407227 0.382613 0.378827 0.395867 0.433733 0.511368 +0.522105 0.48864 0.44888 0.429947 0.422373 0.422373 0.4148 0.405333 +0.399653 0.399653 0.405333 0.407227 0.393973 0.424267 0.45456 0.475387 +0.500632 0.508211 0.504421 0.462133 0.428053 0.429947 0.4432 0.498107 +0.534105 0.543579 0.539789 0.544211 0.558737 0.602947 0.68 0.784211 +0.884632 0.942737 0.952842 0.944 0.945263 0.951579 0.963579 0.978105 +0.982612 0.996327 1.0182 1.0329 1.03388 1.02539 1.012 1.00057 +0.998612 1.00122 1.00351 1.00514 1.00808 1.00939 1.00873 1.00939 +1.0071 1.00318 0.994694 0.982612 0.973053 0.968 0.962947 0.959789 +0.954737 0.954105 0.966737 0.984898 0.99698 1.00612 1.00122 0.934526 +0.757053 0.573263 0.395867 0.304987 0.32392 0.331493 0.282267 0.000993333 +0.000813333 0.000746667 0.00072 0.000726667 0.000706667 0.0007 0.000693333 0.0007 +0.000713333 0.000733333 0.0007 0.000646667 0.000633333 0.00064 0.000646667 0.000606667 +0.000626667 0.000673333 0.0007 0.000713333 0.000726667 0.00076 0.000773333 0.00078 +0.000846667 0.000846667 0.000846667 0.000946667 0.257653 0.367467 0.501895 0.550526 +0.587158 0.607368 0.616842 0.620632 0.618737 0.607368 0.604211 0.610526 +0.606737 0.592211 0.572632 0.549263 0.525263 0.501263 0.445093 0.424267 +0.441307 0.509474 0.560632 0.623158 0.674316 0.688211 0.661684 0.608 +0.541684 0.452667 0.337173 0.2728 0.23304 0.22168 0.000993333 0.223573 +0.223573 0.223573 0.216 0.00098 0.000726667 0.00074 0.000726667 0.000713333 +0.00072 0.00068 0.000686667 0.000753333 0.00068 0.000626667 0.000693333 0.000606667 +0.00054 0.000533333 0.000526667 0.000553333 0.0006 0.000666667 0.000733333 0.000766667 +0.000793333 0.00082 0.000833333 0.00084 0.00082 0.0008 0.00076 0.00076 +0.000813333 0.000806667 0.000786667 0.000773333 0.00076 0.000773333 0.00078 0.00076 +0.000746667 0.000753333 0.000733333 0.000706667 0.000746667 0.000766667 0.000753333 0.000726667 +0.000686667 0.00068 0.000713333 0.00078 0.00078 0.000713333 0.000673333 0.000666667 +0.000713333 0.00072 0.0007 0.000686667 0.000626667 0.0006 0.000653333 0.000686667 +0.000766667 0.000806667 0.000793333 0.000686667 0.000593333 0.000553333 0.000566667 0.000633333 +0.0007 0.000766667 0.000806667 0.000766667 0.000773333 0.000713333 0.000673333 0.00068 +0.000693333 0.000706667 0.000693333 0.000686667 0.000733333 0.000786667 0.00078 0.000786667 +0.000786667 0.000773333 0.000793333 0.00078 0.000786667 0.000833333 0.0008 0.00082 +0.216 0.3012 0.365573 0.42048 0.511368 0.613053 0.789895 0.949684 +0.999265 1.0009 0.989796 0.973053 0.961684 0.959789 0.962947 0.969263 +0.969895 0.980653 0.983592 0.982939 0.986857 0.99502 1.00482 1.01037 +1.01233 1.01037 1.00873 1.00645 1.00547 1.00351 1.00286 1.00351 +1.00188 1.00188 1.00416 1.00482 1.00514 1.00318 1.0022 1.0009 +0.998286 0.992735 0.975579 0.931368 0.864421 0.776 0.674947 0.582105 +0.530316 0.520211 0.515158 0.508842 0.490533 0.458347 0.45456 0.44888 +0.424267 0.4148 0.42616 0.429947 0.439413 0.503158 0.522737 0.496213 +0.399653 0.376933 0.382613 0.40912 0.416693 0.395867 0.384507 0.378827 +0.373147 0.373147 0.36368 0.359893 0.3864 0.401547 0.38072 0.36368 +0.359893 0.356107 0.36368 0.376933 0.395867 0.40344 0.411013 0.512 +0.614316 0.678737 0.619368 0.520842 0.422373 0.393973 0.40344 0.411013 +0.393973 0.373147 0.359893 0.356107 0.367467 0.38072 0.384507 0.37504 +0.373147 0.3864 0.40912 0.424267 0.412907 0.40912 0.405333 0.42616 +0.48296 0.473493 0.428053 0.42048 0.424267 0.422373 0.418587 0.502526 +0.560632 0.554947 0.510105 0.490533 0.445093 0.405333 0.416693 0.433733 +0.435627 0.458347 0.505053 0.530947 0.547368 0.541684 0.546737 0.568842 +0.602316 0.65979 0.731158 0.805053 0.897895 1.00482 1.17108 1.37649 +1.29433 1.08435 1.03061 1.01755 1.01722 1.01984 1.0378 1.13608 +1.23651 1.09652 1.02865 1.01886 1.02343 1.02604 1.02898 1.03192 +1.0391 1.04792 1.05935 1.1376 1.23803 1.28368 1.28368 1.30498 +1.26998 1.16499 1.08435 1.05739 1.05771 1.10869 1.23498 1.38562 +1.48149 1.48757 1.48605 1.50279 1.5317 1.39628 1.07674 1.00351 +0.991755 1.03584 1.19847 1.35671 1.33693 1.30346 1.44497 1.62604 +1.4617 1.08587 1.02506 1.02506 1.0391 1.04988 1.09348 1.2502 +1.35976 1.37041 1.32628 1.28368 1.24259 1.15434 1.06609 1.04433 +1.0329 1.0329 1.02898 1.0218 1.0218 1.01918 1.01494 1.01396 +1.01167 1.012 1.04792 1.32476 1.40084 1.21216 1.05804 1.0378 +1.02833 1.028 1.03192 1.04204 1.04824 1.05739 1.12999 1.24564 +1.39628 1.49974 1.47692 1.31867 1.07674 1.0169 0.969895 0.884 +0.801895 0.735579 0.714105 0.705895 0.646526 0.585895 0.563789 0.559368 +0.538526 0.515158 0.506947 0.505053 0.5 0.49432 0.484853 0.481067 +0.445093 0.416693 0.412907 0.43184 0.49432 0.520211 0.505053 0.503158 +0.535368 0.524632 0.45456 0.411013 0.416693 0.42616 0.441307 0.46592 +0.450773 0.418587 0.416693 0.418587 0.42048 0.42048 0.4148 0.401547 +0.401547 0.418587 0.418587 0.4148 0.405333 0.42048 0.450773 0.47728 +0.475387 0.490533 0.501895 0.47728 0.469707 0.502526 0.522105 0.541684 +0.560632 0.558105 0.562526 0.596 0.656 0.744421 0.837263 0.912421 +0.957263 0.968632 0.961684 0.957895 0.966105 0.974947 0.982612 0.989469 +0.994694 1.01037 1.028 1.02735 1.0169 1.0071 1.00057 0.999592 +1.00057 1.00253 1.00384 1.00416 1.00776 1.00906 1.00841 1.00678 +1.0022 0.993061 0.977474 0.963579 0.963579 0.957263 0.957263 0.959158 +0.957895 0.968 0.986531 0.997959 1.00384 0.999592 0.945895 0.781684 +0.588421 0.4148 0.310667 0.327707 0.33528 0.274693 0.00094 0.00082 +0.00076 0.000713333 0.0007 0.00074 0.000686667 0.000666667 0.000693333 0.000693333 +0.000726667 0.000753333 0.00072 0.00068 0.00064 0.000673333 0.00068 0.000626667 +0.000626667 0.00068 0.000733333 0.00074 0.000806667 0.00082 0.000793333 0.000773333 +0.000853333 0.00092 0.223573 0.316347 0.458347 0.537895 0.578316 0.606105 +0.617474 0.620632 0.614947 0.609895 0.602947 0.595368 0.596 0.596632 +0.585895 0.561895 0.529684 0.501263 0.429947 0.384507 0.405333 0.507579 +0.569474 0.636421 0.681263 0.685053 0.647789 0.584 0.517053 0.3864 +0.28984 0.25008 0.231147 0.216 0.000993333 0.219787 0.000993333 0.000986667 +0.000986667 0.216 0.216 0.00096 0.00078 0.000793333 0.000793333 0.000793333 +0.00074 0.000726667 0.000786667 0.000773333 0.000706667 0.000733333 0.00072 0.000673333 +0.000673333 0.00066 0.00064 0.00056 0.000533333 0.000526667 0.000526667 0.0006 +0.000686667 0.00076 0.000846667 0.000866667 0.000826667 0.000813333 0.0008 0.000813333 +0.00084 0.000813333 0.000793333 0.000793333 0.000793333 0.000793333 0.0008 0.00078 +0.00076 0.000746667 0.00074 0.000773333 0.000786667 0.000786667 0.000746667 0.00072 +0.00074 0.00078 0.000833333 0.000773333 0.0007 0.000693333 0.000713333 0.00072 +0.000746667 0.00072 0.00064 0.0006 0.000606667 0.000693333 0.000813333 0.000826667 +0.000766667 0.000666667 0.000553333 0.000513333 0.000573333 0.00068 0.000766667 0.000813333 +0.000793333 0.000746667 0.000713333 0.000673333 0.00066 0.00064 0.000633333 0.00068 +0.000686667 0.00068 0.000706667 0.000713333 0.000733333 0.00076 0.000726667 0.000726667 +0.000726667 0.00074 0.000746667 0.000746667 0.000766667 0.000793333 0.000773333 0.000753333 +0.000813333 0.216 0.3012 0.378827 0.433733 0.520211 0.637684 0.818947 +0.961684 1.00024 0.999592 0.98751 0.973053 0.962947 0.964211 0.966105 +0.962947 0.969895 0.980327 0.981959 0.982939 0.985551 0.99502 1.00449 +1.01037 1.012 1.01037 1.00873 1.00612 1.00547 1.00449 1.00351 +1.00384 1.0022 1.00253 1.00318 1.00547 1.00416 1.0022 1.0009 +0.999265 0.997959 0.992735 0.977474 0.936421 0.876421 0.787368 0.678737 +0.584632 0.533474 0.513263 0.506947 0.504421 0.500632 0.48296 0.464027 +0.435627 0.422373 0.439413 0.46024 0.48296 0.518316 0.524632 0.46024 +0.384507 0.382613 0.401547 0.429947 0.441307 0.416693 0.3864 0.36368 +0.36368 0.361787 0.356107 0.361787 0.376933 0.3864 0.371253 0.35232 +0.35232 0.348533 0.361787 0.393973 0.42616 0.43184 0.412907 0.490533 +0.581474 0.662316 0.649684 0.563158 0.481067 0.422373 0.42048 0.4148 +0.39208 0.371253 0.367467 0.38072 0.388293 0.40344 0.405333 0.367467 +0.350427 0.365573 0.373147 0.390187 0.399653 0.399653 0.390187 0.390187 +0.450773 0.486747 0.45456 0.429947 0.42048 0.40344 0.390187 0.469707 +0.544211 0.545474 0.505684 0.44888 0.401547 0.388293 0.42048 0.441307 +0.462133 0.501895 0.529053 0.560632 0.571368 0.572 0.589684 0.630105 +0.68 0.74 0.810105 0.898526 1.00384 1.15434 1.40084 1.34911 +1.1163 1.03486 1.02278 1.02278 1.02408 1.03061 1.05673 1.21216 +1.19999 1.05118 1.02506 1.02016 1.02408 1.02767 1.02931 1.03192 +1.03714 1.03714 1.04498 1.07217 1.16651 1.1939 1.16956 1.15434 +1.09804 1.05249 1.04171 1.0391 1.04008 1.04988 1.08282 1.1589 +1.21977 1.20607 1.14065 1.09043 1.06913 1.0502 1.0329 1.01331 +1.00743 1.03224 1.05445 1.09348 1.08435 1.06 1.12695 1.21977 +1.11326 1.02473 1.00384 1.01037 1.02082 1.02147 1.02604 1.04792 +1.06152 1.06609 1.08282 1.1026 1.08587 1.05249 1.04498 1.03714 +1.02604 1.02506 1.02473 1.0182 1.01951 1.01755 1.01363 1.01331 +1.01788 1.0218 1.02931 1.18173 1.41301 1.32476 1.15738 1.05576 +1.04041 1.0329 1.03486 1.03943 1.04008 1.044 1.05412 1.1026 +1.22738 1.36584 1.46323 1.49366 1.40388 1.22433 1.05053 1.0071 +0.959789 0.897895 0.86 0.816421 0.742526 0.673053 0.634526 0.613684 +0.582737 0.550526 0.537895 0.541053 0.536 0.527158 0.518947 0.510105 +0.48296 0.4432 0.435627 0.458347 0.513895 0.523368 0.458347 0.439413 +0.527158 0.542947 0.509474 0.452667 0.450773 0.445093 0.435627 0.42616 +0.412907 0.407227 0.4148 0.428053 0.42048 0.40912 0.422373 0.4148 +0.40912 0.424267 0.43184 0.42048 0.42048 0.441307 0.4716 0.481067 +0.445093 0.452667 0.502526 0.513263 0.524632 0.541684 0.558737 0.572 +0.591579 0.613684 0.660421 0.737474 0.815789 0.882737 0.932632 0.959158 +0.976842 0.98098 0.975579 0.98098 0.989143 0.996 0.998286 1.00286 +1.01069 1.02049 1.02082 1.00776 0.99698 0.996 0.998612 0.997959 +0.999592 1.00286 1.00286 1.00384 1.00645 1.0071 1.0071 1.0022 +0.992082 0.98 0.961684 0.961684 0.962947 0.954737 0.954105 0.959158 +0.968 0.986204 0.998286 1.00416 1.00155 0.953474 0.794316 0.607368 +0.439413 0.314453 0.31824 0.32392 0.269013 0.00092 0.000766667 0.00074 +0.000733333 0.000693333 0.000666667 0.000746667 0.000706667 0.00068 0.000686667 0.000673333 +0.000693333 0.00072 0.0007 0.000673333 0.000626667 0.00068 0.00068 0.000626667 +0.000633333 0.000693333 0.00076 0.00078 0.00084 0.000826667 0.000786667 0.000793333 +0.000946667 0.280373 0.39776 0.517053 0.565684 0.597895 0.614316 0.618737 +0.613684 0.612421 0.604842 0.597895 0.593474 0.590316 0.587158 0.577684 +0.562526 0.546737 0.525263 0.513895 0.508211 0.525895 0.577053 0.641474 +0.683158 0.681895 0.636421 0.565053 0.49432 0.350427 0.26712 0.223573 +0.00098 0.22168 0.223573 0.000993333 0.000973333 0.000993333 0.219787 0.22168 +0.000986667 0.000973333 0.000993333 0.000986667 0.000786667 0.0008 0.000813333 0.0008 +0.00074 0.0008 0.00086 0.000793333 0.00078 0.00076 0.000726667 0.000773333 +0.0008 0.000766667 0.000733333 0.000693333 0.000673333 0.000646667 0.000573333 0.00056 +0.00054 0.0006 0.00068 0.000753333 0.00078 0.0008 0.000826667 0.000826667 +0.000813333 0.000786667 0.000786667 0.0008 0.000793333 0.000793333 0.00078 0.000746667 +0.000726667 0.00074 0.00074 0.000766667 0.000773333 0.000726667 0.000693333 0.000733333 +0.00078 0.000766667 0.00072 0.000666667 0.00068 0.000753333 0.00078 0.000733333 +0.000653333 0.0006 0.000613333 0.000706667 0.000786667 0.000826667 0.000753333 0.000613333 +0.00054 0.000546667 0.000593333 0.0007 0.00076 0.000813333 0.00078 0.000713333 +0.000646667 0.0006 0.00062 0.000633333 0.00066 0.00064 0.00064 0.00066 +0.00066 0.000673333 0.000706667 0.00072 0.000726667 0.00074 0.000713333 0.000693333 +0.000693333 0.000706667 0.00076 0.00076 0.00076 0.000773333 0.000786667 0.000786667 +0.00082 0.000873333 0.223573 0.304987 0.37504 0.441307 0.527789 0.660421 +0.841684 0.971158 0.999592 0.998612 0.989469 0.976842 0.968632 0.971789 +0.969263 0.962316 0.969895 0.98098 0.984245 0.984571 0.98849 0.996653 +1.00449 1.01004 1.01069 1.01004 1.01102 1.00873 1.00645 1.00514 +1.00645 1.00547 1.00286 0.998939 0.997959 0.998939 0.999265 1.0009 +0.999592 0.998612 0.998286 0.993388 0.981959 0.943368 0.883368 0.796842 +0.686947 0.591579 0.535368 0.511368 0.509474 0.513895 0.510105 0.492427 +0.458347 0.446987 0.456453 0.458347 0.503158 0.518947 0.502526 0.42048 +0.399653 0.40344 0.40912 0.428053 0.450773 0.424267 0.393973 0.378827 +0.376933 0.36936 0.367467 0.371253 0.37504 0.38072 0.36936 0.356107 +0.354213 0.356107 0.36368 0.384507 0.407227 0.429947 0.433733 0.47728 +0.549263 0.639579 0.670526 0.597263 0.503789 0.412907 0.40912 0.40912 +0.388293 0.361787 0.36936 0.411013 0.429947 0.428053 0.412907 0.38072 +0.361787 0.36936 0.371253 0.38072 0.378827 0.382613 0.3864 0.376933 +0.4148 0.446987 0.446987 0.42616 0.40344 0.39208 0.395867 0.4716 +0.541684 0.558105 0.517684 0.433733 0.40344 0.43752 0.473493 0.475387 +0.48864 0.511368 0.546105 0.598526 0.626316 0.639579 0.669895 0.717263 +0.772211 0.834105 0.92 1.01233 1.16956 1.39019 1.38106 1.1939 +1.04367 1.02245 1.0218 1.02473 1.03127 1.04857 1.15282 1.24716 +1.1513 1.04465 1.028 1.02441 1.02539 1.02702 1.02702 1.02865 +1.02996 1.028 1.03518 1.04955 1.08282 1.11326 1.09043 1.0538 +1.03584 1.0231 1.01984 1.02082 1.02212 1.03518 1.04433 1.04433 +1.05249 1.05216 1.04531 1.04139 1.03584 1.02898 1.02898 1.02049 +1.01461 1.0218 1.02571 1.0329 1.03747 1.0342 1.02963 1.03094 +1.02245 1.00971 1.0071 1.01233 1.01527 1.01298 1.01494 1.02376 +1.02441 1.02441 1.03257 1.04433 1.04922 1.03943 1.03322 1.03094 +1.02506 1.02473 1.02637 1.01788 1.01657 1.0169 1.01722 1.0169 +1.02278 1.03388 1.03322 1.095 1.37345 1.40541 1.27303 1.14673 +1.05641 1.04367 1.04204 1.04171 1.03845 1.0391 1.04465 1.05576 +1.10717 1.16195 1.22586 1.33693 1.45257 1.49214 1.40845 1.23042 +1.05282 1.01363 0.982939 0.930737 0.869474 0.812 0.776 0.739368 +0.681895 0.625053 0.590316 0.578947 0.566947 0.561263 0.555579 0.535368 +0.518947 0.508842 0.506316 0.511368 0.527789 0.518947 0.44888 0.416693 +0.498107 0.525895 0.524 0.504421 0.464027 0.43752 0.433733 0.43184 +0.42616 0.433733 0.44888 0.450773 0.43752 0.433733 0.43752 0.43752 +0.43752 0.43752 0.435627 0.424267 0.428053 0.462133 0.498107 0.490533 +0.446987 0.462133 0.512 0.537263 0.552421 0.566947 0.590947 0.626316 +0.681895 0.742526 0.812 0.878947 0.92 0.944 0.962316 0.972421 +0.982286 0.983918 0.983918 0.991755 1.00057 1.00612 1.00808 1.01298 +1.02049 1.01918 1.00482 0.993061 0.990776 0.996 0.999265 0.996653 +0.999592 1.0022 1.00318 1.00873 1.00841 1.00482 1.00351 0.993714 +0.979368 0.960421 0.958526 0.961053 0.954105 0.951579 0.954737 0.961684 +0.98098 0.996327 1.00286 0.998939 0.958526 0.806316 0.621263 0.47728 +0.333387 0.333387 0.325813 0.26712 0.000913333 0.000766667 0.000726667 0.00074 +0.000746667 0.000733333 0.000693333 0.00072 0.000706667 0.000686667 0.000686667 0.000686667 +0.0007 0.000686667 0.000693333 0.000666667 0.00064 0.000726667 0.00076 0.00072 +0.000726667 0.0008 0.000826667 0.000786667 0.000813333 0.00086 0.000926667 0.23872 +0.35232 0.501263 0.550526 0.589053 0.611158 0.621263 0.623789 0.618737 +0.607368 0.602947 0.599158 0.597263 0.594105 0.582105 0.570737 0.572 +0.583368 0.592211 0.596 0.617474 0.644 0.671158 0.690105 0.674947 +0.621263 0.551789 0.46024 0.322027 0.248187 0.22736 0.216 0.00098 +0.000973333 0.000993333 0.000993333 0.000973333 0.000966667 0.00096 0.000973333 0.000993333 +0.000993333 0.000966667 0.000946667 0.000966667 0.000746667 0.000753333 0.000786667 0.000753333 +0.000726667 0.000806667 0.000773333 0.00074 0.000773333 0.00072 0.00072 0.000746667 +0.000773333 0.000726667 0.000713333 0.000726667 0.00072 0.000713333 0.00068 0.000633333 +0.000573333 0.000553333 0.000526667 0.000533333 0.000546667 0.000606667 0.000713333 0.00074 +0.00076 0.000793333 0.00082 0.000826667 0.000813333 0.000806667 0.000773333 0.00076 +0.00076 0.00078 0.000786667 0.000773333 0.00072 0.00068 0.000726667 0.00078 +0.000733333 0.000646667 0.000666667 0.000733333 0.00078 0.000773333 0.000686667 0.000606667 +0.00064 0.000733333 0.000793333 0.000766667 0.000666667 0.000606667 0.000566667 0.000613333 +0.000686667 0.000773333 0.000793333 0.000806667 0.000766667 0.00072 0.000646667 0.000633333 +0.00064 0.00064 0.00068 0.000693333 0.000693333 0.000673333 0.00066 0.000686667 +0.00072 0.000713333 0.000706667 0.00072 0.00074 0.000746667 0.000706667 0.000706667 +0.000726667 0.000733333 0.000766667 0.000773333 0.00078 0.000786667 0.00082 0.000826667 +0.00084 0.000853333 0.000873333 0.225467 0.310667 0.401547 0.45456 0.542316 +0.681263 0.853053 0.976211 1.00188 1.00024 0.987184 0.975579 0.971158 +0.970526 0.963579 0.964211 0.973053 0.980653 0.983592 0.983918 0.98751 +0.995347 1.00449 1.00841 1.01102 1.01135 1.00776 1.0058 1.00416 +1.00482 1.00645 1.00416 1.00057 0.994041 0.990776 0.992735 0.997959 +1.0009 1.0022 1.00188 1.00057 0.995673 0.984571 0.956632 0.904211 +0.813263 0.704 0.610526 0.551158 0.527789 0.525895 0.520211 0.505053 +0.481067 0.467813 0.46024 0.46592 0.508211 0.511368 0.462133 0.433733 +0.435627 0.435627 0.42048 0.416693 0.4432 0.435627 0.428053 0.42048 +0.401547 0.384507 0.384507 0.390187 0.39208 0.382613 0.367467 0.356107 +0.350427 0.356107 0.367467 0.376933 0.401547 0.445093 0.46592 0.452667 +0.512632 0.608632 0.674947 0.624421 0.521474 0.416693 0.407227 0.424267 +0.411013 0.3864 0.42048 0.456453 0.446987 0.4148 0.395867 0.376933 +0.373147 0.384507 0.390187 0.405333 0.4148 0.435627 0.446987 0.416693 +0.412907 0.435627 0.439413 0.42616 0.405333 0.40912 0.4432 0.504421 +0.544842 0.563789 0.534105 0.473493 0.450773 0.48296 0.502526 0.504421 +0.506947 0.525895 0.575158 0.642105 0.697684 0.736211 0.769684 0.809474 +0.866947 0.950316 1.02702 1.21825 1.40084 1.37497 1.21368 1.05837 +1.03127 1.02114 1.02473 1.02963 1.04498 1.11173 1.23346 1.22433 +1.07522 1.03649 1.02669 1.02245 1.02114 1.02441 1.02408 1.0231 +1.02212 1.02441 1.02898 1.03682 1.05314 1.07217 1.05347 1.0329 +1.01461 1.00318 1.0058 1.01004 1.00906 1.02114 1.02833 1.02539 +1.03159 1.03257 1.03061 1.03257 1.03061 1.02931 1.03159 1.02539 +1.02212 1.02473 1.02506 1.02898 1.03192 1.02669 1.02082 1.02408 +1.02408 1.02441 1.02408 1.02343 1.02245 1.01918 1.01918 1.02016 +1.01624 1.01592 1.01788 1.02604 1.03649 1.03127 1.02669 1.02637 +1.02278 1.0218 1.02343 1.0182 1.01657 1.0182 1.02506 1.02343 +1.02212 1.03257 1.0378 1.05771 1.28215 1.40997 1.35671 1.23042 +1.12999 1.07978 1.05347 1.04302 1.03747 1.03747 1.04335 1.05282 +1.05216 1.04857 1.05478 1.1163 1.25172 1.38258 1.46931 1.49366 +1.41301 1.24411 1.05837 1.01918 0.986531 0.946526 0.916842 0.877684 +0.819579 0.754526 0.688842 0.642737 0.608 0.609263 0.62 0.584632 +0.553053 0.542947 0.545474 0.544842 0.531579 0.508842 0.462133 0.428053 +0.45456 0.505053 0.530316 0.534105 0.511368 0.473493 0.45456 0.452667 +0.462133 0.492427 0.492427 0.4716 0.46024 0.467813 0.490533 0.49432 +0.464027 0.428053 0.42048 0.435627 0.446987 0.481067 0.508211 0.508211 +0.500632 0.512 0.536 0.562526 0.589053 0.628211 0.686316 0.752632 +0.819579 0.875789 0.919368 0.945895 0.956 0.964211 0.973053 0.98 +0.983592 0.985551 0.990122 0.999592 1.00547 1.00939 1.01167 1.01396 +1.01037 0.999265 0.989469 0.988163 0.994041 1.00057 1.00188 1.00024 +1.00286 1.00547 1.0058 1.01037 1.00514 0.997959 0.989469 0.975579 +0.958526 0.955368 0.959158 0.957263 0.945895 0.948421 0.961684 0.979368 +0.992408 1.00416 1.00155 0.963579 0.822105 0.635789 0.506316 0.361787 +0.337173 0.327707 0.269013 0.00092 0.000773333 0.000733333 0.000713333 0.000733333 +0.00072 0.000713333 0.000686667 0.000693333 0.0007 0.0007 0.000706667 0.000693333 +0.000666667 0.00068 0.0007 0.000693333 0.0007 0.000793333 0.00084 0.000813333 +0.00078 0.000793333 0.000813333 0.000786667 0.000886667 0.246293 0.344747 0.469707 +0.539789 0.579579 0.604842 0.621263 0.625053 0.625053 0.621263 0.612421 +0.599158 0.596632 0.595368 0.590316 0.586526 0.580842 0.586526 0.613684 +0.649053 0.683158 0.711579 0.736211 0.729263 0.683789 0.618737 0.543579 +0.428053 0.30688 0.248187 0.22168 0.000973333 0.217893 0.22168 0.216 +0.216 0.216 0.000993333 0.000973333 0.000973333 0.000973333 0.00096 0.00098 +0.217893 0.000986667 0.00096 0.000953333 0.000746667 0.000773333 0.000773333 0.00074 +0.000746667 0.000773333 0.000733333 0.000766667 0.000786667 0.000766667 0.000746667 0.000753333 +0.000773333 0.000766667 0.000746667 0.000766667 0.00074 0.000753333 0.000753333 0.000753333 +0.00072 0.00068 0.000626667 0.00056 0.000506667 0.000506667 0.000506667 0.00052 +0.000633333 0.000746667 0.000826667 0.000846667 0.000853333 0.000853333 0.000793333 0.000793333 +0.00082 0.000866667 0.000833333 0.00076 0.000773333 0.000813333 0.00082 0.000766667 +0.000686667 0.000726667 0.00082 0.0008 0.000726667 0.00066 0.000693333 0.000793333 +0.000846667 0.000766667 0.00066 0.00058 0.000573333 0.000666667 0.000766667 0.000813333 +0.000813333 0.00076 0.00068 0.000673333 0.000666667 0.000673333 0.000666667 0.000706667 +0.0007 0.000693333 0.000726667 0.0007 0.000673333 0.000646667 0.000666667 0.0007 +0.000726667 0.000713333 0.000713333 0.00074 0.000753333 0.00076 0.000746667 0.00076 +0.000773333 0.000773333 0.00078 0.00078 0.00078 0.00078 0.000793333 0.000806667 +0.000806667 0.000833333 0.00086 0.000886667 0.231147 0.331493 0.40344 0.46592 +0.553053 0.688211 0.861895 0.981306 1.00188 0.997633 0.985878 0.973684 +0.971789 0.973684 0.970526 0.968632 0.972421 0.98 0.983265 0.984571 +0.986204 0.993061 1.00384 1.00971 1.00906 1.00808 1.00645 1.00449 +1.00351 1.00384 1.00612 1.00514 1.00024 0.994694 0.988816 0.988816 +0.992408 0.998612 1.00188 1.00286 1.00188 0.997306 0.989796 0.969263 +0.920632 0.838526 0.734947 0.640842 0.575789 0.545474 0.535368 0.526526 +0.517053 0.505053 0.5 0.509474 0.524632 0.515789 0.48864 0.464027 +0.46024 0.47728 0.44888 0.416693 0.43752 0.439413 0.429947 0.422373 +0.390187 0.376933 0.393973 0.411013 0.40912 0.382613 0.36936 0.367467 +0.358 0.367467 0.384507 0.40344 0.44888 0.486747 0.473493 0.43184 +0.467813 0.578316 0.674947 0.660421 0.556842 0.452667 0.399653 0.418587 +0.429947 0.43184 0.464027 0.458347 0.422373 0.401547 0.39208 0.371253 +0.36368 0.37504 0.384507 0.411013 0.43752 0.452667 0.4716 0.450773 +0.42616 0.4432 0.439413 0.42048 0.40912 0.433733 0.490533 0.516421 +0.526526 0.535368 0.536632 0.512 0.496213 0.498107 0.492427 0.501895 +0.520842 0.575158 0.643368 0.707158 0.776 0.829053 0.863789 0.906737 +0.983265 1.04629 1.29128 1.43279 1.37649 1.22281 1.06304 1.03878 +1.02441 1.02245 1.03127 1.04269 1.09043 1.20303 1.24716 1.15738 +1.04727 1.02963 1.02376 1.01984 1.01853 1.01918 1.01657 1.01657 +1.01722 1.0231 1.02604 1.03257 1.04792 1.04792 1.02931 1.01494 +1.00906 1.00416 1.00776 1.01037 1.00612 1.01004 1.00906 1.00514 +1.01233 1.01755 1.02408 1.02996 1.03192 1.03714 1.04073 1.03878 +1.04008 1.044 1.04433 1.04204 1.04335 1.04531 1.04988 1.05314 +1.04335 1.03682 1.03257 1.02931 1.02963 1.02506 1.02147 1.0182 +1.01363 1.01265 1.00906 1.01298 1.02376 1.028 1.02767 1.02408 +1.01853 1.01657 1.01722 1.0169 1.01853 1.0218 1.028 1.02637 +1.02082 1.03061 1.04433 1.06609 1.20151 1.31411 1.3415 1.26237 +1.19086 1.14065 1.06152 1.04824 1.04269 1.03976 1.04139 1.04204 +1.03616 1.03486 1.03976 1.04857 1.07065 1.13152 1.21673 1.35519 +1.45866 1.47692 1.41453 1.26846 1.08282 1.03094 1.00482 0.983265 +0.947789 0.902316 0.841684 0.782316 0.729895 0.720421 0.710947 0.647158 +0.59979 0.584 0.577684 0.570105 0.541684 0.510105 0.484853 0.46592 +0.47728 0.492427 0.522105 0.554316 0.547368 0.521474 0.513895 0.513263 +0.520211 0.534737 0.519579 0.48864 0.464027 0.484853 0.525263 0.542316 +0.518947 0.490533 0.47728 0.490533 0.5 0.512 0.527789 0.537895 +0.549263 0.568842 0.591579 0.625053 0.684421 0.757053 0.825895 0.880842 +0.921895 0.949684 0.962947 0.967368 0.973684 0.977474 0.980327 0.981306 +0.984245 0.989796 0.996327 1.00416 1.01037 1.01331 1.01004 1.00188 +0.991102 0.983918 0.985878 0.990449 0.997633 1.0022 1.00253 1.00318 +1.0058 1.00645 1.0058 1.00645 0.998286 0.987837 0.972421 0.957263 +0.954737 0.959158 0.956 0.945895 0.944632 0.957263 0.978105 0.993061 +1.00318 1.00318 0.970526 0.831579 0.650316 0.513895 0.37504 0.331493 +0.3012 0.242507 0.000886667 0.000753333 0.000733333 0.000713333 0.000693333 0.00072 +0.0007 0.000693333 0.000693333 0.000733333 0.000706667 0.0007 0.00074 0.00072 +0.00066 0.000693333 0.000733333 0.000746667 0.00076 0.00082 0.000826667 0.000806667 +0.00078 0.00078 0.000833333 0.219787 0.322027 0.456453 0.532842 0.572632 +0.604842 0.616211 0.616842 0.618737 0.62 0.613684 0.604842 0.598526 +0.591579 0.593474 0.595368 0.592842 0.601684 0.618105 0.648421 0.693263 +0.735579 0.759579 0.746947 0.695158 0.614947 0.532211 0.4148 0.3012 +0.242507 0.219787 0.216 0.217893 0.000993333 0.217893 0.22168 0.22168 +0.219787 0.000993333 0.00098 0.000986667 0.000993333 0.000966667 0.000946667 0.00098 +0.000993333 0.00096 0.000966667 0.216 0.000793333 0.000786667 0.000713333 0.00074 +0.000806667 0.00076 0.000786667 0.000806667 0.000813333 0.000813333 0.000786667 0.000793333 +0.000806667 0.000813333 0.000806667 0.000806667 0.000806667 0.000793333 0.00078 0.000773333 +0.000766667 0.000773333 0.000753333 0.000713333 0.000633333 0.00058 0.000546667 0.000506667 +0.000506667 0.000513333 0.0006 0.000693333 0.00078 0.00082 0.00078 0.00084 +0.000893333 0.000833333 0.000766667 0.000793333 0.00088 0.000853333 0.00076 0.000753333 +0.000793333 0.000813333 0.00076 0.000693333 0.00072 0.000806667 0.00084 0.000773333 +0.000653333 0.000593333 0.00064 0.00072 0.00078 0.00082 0.000786667 0.000706667 +0.000653333 0.000626667 0.000666667 0.000726667 0.00074 0.000786667 0.000773333 0.00078 +0.00076 0.000753333 0.00076 0.000726667 0.0007 0.000686667 0.0007 0.00072 +0.000726667 0.000746667 0.00076 0.000746667 0.00074 0.000753333 0.00074 0.000766667 +0.000773333 0.000793333 0.000813333 0.000773333 0.000806667 0.000806667 0.000813333 0.000813333 +0.000806667 0.000826667 0.000886667 0.0009 0.00092 0.246293 0.32392 0.407227 +0.490533 0.554316 0.695158 0.871368 0.983592 1.00351 0.99698 0.983592 +0.978105 0.981306 0.98 0.970526 0.966737 0.972421 0.980653 0.984245 +0.981959 0.983265 0.993388 1.00286 1.00547 1.00678 1.00678 1.00416 +1.00318 1.00384 1.00514 1.00612 1.00678 1.0009 0.994041 0.988163 +0.983918 0.988163 0.99698 1.00188 1.00416 1.00253 0.998939 0.991102 +0.981306 0.945263 0.875789 0.781053 0.684421 0.613053 0.579579 0.566316 +0.554947 0.543579 0.534737 0.539158 0.533474 0.513263 0.490533 0.464027 +0.467813 0.501895 0.496213 0.4432 0.456453 0.456453 0.418587 0.40344 +0.39208 0.388293 0.399653 0.399653 0.399653 0.384507 0.37504 0.36936 +0.361787 0.378827 0.39776 0.412907 0.469707 0.484853 0.435627 0.39776 +0.412907 0.543579 0.662316 0.685053 0.59979 0.516421 0.450773 0.452667 +0.475387 0.469707 0.452667 0.428053 0.422373 0.422373 0.412907 0.3864 +0.365573 0.373147 0.382613 0.393973 0.393973 0.390187 0.445093 0.46024 +0.429947 0.435627 0.435627 0.42616 0.43184 0.467813 0.508842 0.518316 +0.508842 0.513263 0.538526 0.536632 0.520842 0.513895 0.514526 0.532842 +0.580211 0.658526 0.724842 0.776 0.842316 0.900421 0.961053 1.01396 +1.11021 1.37345 1.48453 1.39475 1.22129 1.06304 1.04073 1.03029 +1.02539 1.03127 1.04433 1.08282 1.20303 1.25781 1.21368 1.07217 +1.03682 1.02735 1.02376 1.0231 1.02082 1.01527 1.01396 1.01788 +1.02016 1.02408 1.02669 1.03518 1.03714 1.02082 1.00482 1.00547 +1.00873 1.00906 1.01298 1.01494 1.01233 1.01461 1.00808 1.00318 +1.0071 1.01494 1.02735 1.03845 1.04335 1.05151 1.05445 1.05935 +1.14217 1.19847 1.16499 1.09195 1.1026 1.16347 1.18325 1.13912 +1.0502 1.03453 1.028 1.02669 1.02637 1.01788 1.01363 1.012 +1.01102 1.00939 1.00482 1.00612 1.01233 1.01984 1.02539 1.02571 +1.0218 1.02114 1.01918 1.01722 1.02049 1.0231 1.02604 1.02473 +1.0218 1.03453 1.05053 1.08435 1.14673 1.19847 1.26998 1.28824 +1.25172 1.19542 1.12543 1.06152 1.05445 1.04857 1.03878 1.03094 +1.02898 1.03714 1.04269 1.04857 1.05151 1.05118 1.05641 1.12695 +1.24868 1.3628 1.44801 1.47083 1.41301 1.30041 1.1513 1.04563 +1.01755 0.995673 0.966105 0.924421 0.887789 0.862526 0.817684 0.745684 +0.697684 0.676211 0.656632 0.633895 0.601053 0.56 0.535368 0.534105 +0.539158 0.529684 0.533474 0.563789 0.566316 0.536632 0.526526 0.537895 +0.563158 0.575158 0.551158 0.525895 0.517053 0.524632 0.561895 0.592842 +0.578947 0.551789 0.533474 0.530947 0.544842 0.558737 0.568211 0.583368 +0.604842 0.638316 0.682526 0.743158 0.816421 0.878316 0.92 0.947158 +0.965474 0.978737 0.981306 0.980653 0.981306 0.976211 0.975579 0.981306 +0.98849 0.996327 1.00155 1.00612 1.01004 1.00808 0.99698 0.985878 +0.983592 0.987184 0.991429 0.995347 1.00024 1.00253 1.00318 1.00449 +1.0058 1.00514 1.00482 0.999265 0.987837 0.973053 0.957263 0.952842 +0.953474 0.956 0.949053 0.939579 0.953474 0.979368 0.991429 1.00416 +1.00449 0.971158 0.834105 0.654737 0.523368 0.401547 0.34664 0.3012 +0.231147 0.000866667 0.000786667 0.00074 0.000746667 0.000726667 0.00072 0.000746667 +0.00074 0.00072 0.000726667 0.000766667 0.000726667 0.000713333 0.000726667 0.00072 +0.000713333 0.000746667 0.000766667 0.00076 0.00076 0.00078 0.000766667 0.000733333 +0.0008 0.000913333 0.265227 0.395867 0.519579 0.563789 0.594737 0.613053 +0.623789 0.622526 0.616211 0.609895 0.606737 0.598526 0.586526 0.581474 +0.585895 0.602316 0.614316 0.627579 0.652842 0.691368 0.733053 0.758947 +0.746316 0.693263 0.613053 0.530316 0.399653 0.291733 0.2444 0.23304 +0.231147 0.22736 0.22168 0.219787 0.217893 0.216 0.000993333 0.000973333 +0.000993333 0.216 0.000973333 0.000973333 0.000993333 0.000973333 0.00092 0.000953333 +0.216 0.000973333 0.000953333 0.216 0.0008 0.00074 0.000686667 0.00076 +0.00078 0.000726667 0.00078 0.000766667 0.000766667 0.00078 0.00076 0.000766667 +0.000766667 0.000806667 0.000826667 0.000826667 0.000813333 0.000813333 0.000806667 0.0008 +0.000786667 0.000786667 0.000766667 0.000726667 0.0007 0.000726667 0.000733333 0.000653333 +0.000593333 0.000546667 0.000513333 0.000506667 0.000506667 0.000573333 0.0007 0.000866667 +0.000866667 0.0008 0.000846667 0.000913333 0.000853333 0.000793333 0.000786667 0.000833333 +0.000813333 0.00078 0.000786667 0.000826667 0.000846667 0.000806667 0.000693333 0.000646667 +0.000693333 0.000766667 0.000793333 0.000773333 0.0007 0.000686667 0.00066 0.000653333 +0.000706667 0.000746667 0.000806667 0.000813333 0.00076 0.000766667 0.00078 0.0008 +0.000786667 0.000786667 0.0008 0.000813333 0.000833333 0.000806667 0.0008 0.000786667 +0.00078 0.000753333 0.000733333 0.00072 0.00074 0.00072 0.000713333 0.000726667 +0.00074 0.000773333 0.000786667 0.00076 0.000786667 0.0008 0.000793333 0.00078 +0.00078 0.000793333 0.00084 0.000853333 0.000846667 0.00092 0.234933 0.322027 +0.422373 0.484853 0.556842 0.706526 0.882105 0.986531 1.0022 0.996653 +0.98849 0.983592 0.979368 0.973053 0.969895 0.971158 0.976211 0.981959 +0.982939 0.980653 0.983265 0.992408 1.00122 1.00645 1.00743 1.00743 +1.00482 1.00449 1.00351 1.0058 1.00612 1.00286 1.00122 0.996327 +0.989143 0.985551 0.988163 0.994041 1.0022 1.00514 1.00286 0.997306 +0.993388 0.989143 0.973684 0.921895 0.840421 0.747579 0.669263 0.622526 +0.602947 0.597263 0.599158 0.592211 0.555579 0.515158 0.496213 0.473493 +0.467813 0.486747 0.498107 0.467813 0.475387 0.475387 0.42048 0.393973 +0.39776 0.39776 0.382613 0.371253 0.376933 0.382613 0.37504 0.36936 +0.36936 0.38072 0.39208 0.4148 0.45456 0.456453 0.407227 0.38072 +0.393973 0.520211 0.642737 0.693263 0.634526 0.561263 0.524 0.512632 +0.506316 0.47728 0.435627 0.424267 0.42616 0.433733 0.439413 0.422373 +0.405333 0.384507 0.3864 0.401547 0.390187 0.3864 0.433733 0.464027 +0.445093 0.4432 0.439413 0.445093 0.475387 0.504421 0.517053 0.520842 +0.511368 0.518947 0.551158 0.572 0.565053 0.561895 0.588421 0.638947 +0.698316 0.761474 0.811368 0.856842 0.918737 0.98849 1.04335 1.25172 +1.45714 1.52257 1.40236 1.2289 1.07978 1.03747 1.02473 1.02669 +1.03453 1.04563 1.06152 1.17412 1.25629 1.24868 1.13912 1.04335 +1.02669 1.0218 1.01853 1.02016 1.01951 1.0182 1.02114 1.02637 +1.02735 1.02735 1.03355 1.03616 1.01918 0.996327 0.993388 1.0009 +1.00286 1.00645 1.01265 1.01527 1.01363 1.01755 1.01298 1.01004 +1.01527 1.02343 1.03584 1.05347 1.07369 1.06761 1.07978 1.18021 +1.33389 1.40845 1.33693 1.20912 1.22586 1.26542 1.19847 1.11478 +1.05249 1.03845 1.02833 1.02604 1.02245 1.01233 1.00873 1.00939 +1.01037 1.00906 1.00547 1.00318 1.00482 1.00776 1.01527 1.02637 +1.02702 1.02767 1.02571 1.02114 1.02114 1.0231 1.02506 1.02669 +1.02702 1.04008 1.05151 1.05935 1.09956 1.13304 1.20303 1.2639 +1.28215 1.27455 1.23194 1.16651 1.12391 1.07217 1.04629 1.03878 +1.04237 1.04727 1.0489 1.05314 1.05216 1.04857 1.04955 1.05282 +1.07217 1.1376 1.2152 1.30346 1.37802 1.43888 1.42671 1.33237 +1.1939 1.05935 1.03094 1.00645 0.989469 0.966737 0.925684 0.879579 +0.835368 0.803158 0.770316 0.735579 0.707158 0.671789 0.644 0.638316 +0.637684 0.618105 0.599158 0.599158 0.593474 0.570737 0.563158 0.583368 +0.616211 0.632 0.618105 0.605474 0.602316 0.603579 0.619368 0.640211 +0.642105 0.619368 0.59979 0.606105 0.630737 0.642737 0.649684 0.671158 +0.704632 0.758316 0.818316 0.874526 0.92 0.945895 0.961684 0.971789 +0.977474 0.981306 0.982612 0.981959 0.98098 0.978105 0.981306 0.989796 +0.999265 1.00449 1.0058 1.00547 1.00351 0.993714 0.981633 0.978737 +0.986857 0.993714 0.996 0.998939 1.00318 1.00318 1.00318 1.00449 +1.00384 1.00351 0.998612 0.986531 0.970526 0.956 0.950947 0.950316 +0.948421 0.948421 0.942737 0.948421 0.977474 0.993061 1.00253 1.00482 +0.976842 0.837895 0.657895 0.529053 0.428053 0.36368 0.29552 0.223573 +0.00086 0.0008 0.000793333 0.000753333 0.000746667 0.00072 0.000733333 0.00074 +0.000726667 0.000693333 0.0007 0.000733333 0.000713333 0.000753333 0.000766667 0.000746667 +0.000753333 0.000773333 0.00076 0.000726667 0.000733333 0.000746667 0.000753333 0.000813333 +0.234933 0.358 0.503158 0.550526 0.587789 0.608632 0.622526 0.629474 +0.632 0.628211 0.618105 0.604842 0.594105 0.579579 0.560632 0.551158 +0.575158 0.619368 0.657263 0.693895 0.733684 0.754526 0.74 0.683158 +0.605474 0.527158 0.393973 0.287947 0.248187 0.234933 0.23304 0.23304 +0.229253 0.229253 0.225467 0.219787 0.216 0.217893 0.217893 0.000986667 +0.000966667 0.000993333 0.219787 0.217893 0.000993333 0.000986667 0.000973333 0.000966667 +0.00096 0.000993333 0.00096 0.000966667 0.000806667 0.000746667 0.000746667 0.000773333 +0.00074 0.000766667 0.00078 0.00078 0.00078 0.00078 0.00076 0.000753333 +0.00078 0.000793333 0.000806667 0.000793333 0.0008 0.000846667 0.000833333 0.00082 +0.00082 0.000826667 0.0008 0.000773333 0.000773333 0.0008 0.000766667 0.000766667 +0.000773333 0.000746667 0.000673333 0.00056 0.000506667 0.000526667 0.000586667 0.0006 +0.000626667 0.00076 0.00088 0.000893333 0.00086 0.000866667 0.000853333 0.000833333 +0.00082 0.000866667 0.000886667 0.000813333 0.000753333 0.000746667 0.000766667 0.000793333 +0.00078 0.000713333 0.000686667 0.000686667 0.0007 0.000746667 0.00078 0.000773333 +0.000786667 0.00078 0.000753333 0.00074 0.000733333 0.000746667 0.000773333 0.000786667 +0.000766667 0.000753333 0.000766667 0.00082 0.00088 0.00086 0.00084 0.000826667 +0.000813333 0.00076 0.000713333 0.000733333 0.00076 0.00074 0.000753333 0.000753333 +0.00078 0.000786667 0.00078 0.000766667 0.000793333 0.00082 0.000813333 0.0008 +0.000806667 0.00082 0.00084 0.00084 0.000813333 0.000853333 0.000886667 0.22736 +0.344747 0.433733 0.484853 0.561263 0.709053 0.875158 0.983265 1.00253 +0.998612 0.98751 0.976211 0.966737 0.970526 0.974316 0.98 0.984571 +0.984898 0.981633 0.976842 0.981959 0.991755 1.00188 1.00776 1.00939 +1.00841 1.00514 1.00384 1.00318 1.00416 1.00286 1.00253 1.00188 +0.997306 0.991429 0.985224 0.985878 0.99502 1.00253 1.00155 0.998286 +0.997306 0.995673 0.993061 0.987184 0.958526 0.894105 0.813895 0.737474 +0.685053 0.663579 0.668 0.661053 0.611789 0.555579 0.518947 0.501263 +0.481067 0.475387 0.475387 0.475387 0.503158 0.498107 0.439413 0.422373 +0.424267 0.40344 0.36936 0.356107 0.36936 0.388293 0.38072 0.36936 +0.36936 0.376933 0.38072 0.393973 0.418587 0.424267 0.39776 0.3864 +0.40912 0.512 0.620632 0.687579 0.639579 0.571368 0.542947 0.522105 +0.502526 0.464027 0.441307 0.433733 0.4148 0.422373 0.446987 0.4432 +0.40344 0.384507 0.412907 0.418587 0.40344 0.4148 0.456453 0.47728 +0.47728 0.492427 0.49432 0.496213 0.509474 0.526526 0.538526 0.536 +0.530316 0.542947 0.568211 0.604211 0.638947 0.659158 0.705263 0.776 +0.824632 0.862526 0.908 0.966737 1.01527 1.11021 1.3628 1.49062 +1.47844 1.35824 1.19542 1.07369 1.04563 1.02963 1.02245 1.02931 +1.04237 1.05739 1.13456 1.22129 1.23955 1.17716 1.05347 1.02571 +1.01886 1.01527 1.01331 1.01788 1.02212 1.02898 1.03322 1.03453 +1.03486 1.03682 1.04563 1.03878 1.01135 0.993388 0.99502 0.998939 +0.997959 1.00253 1.00939 1.01135 1.01069 1.01233 1.01004 1.01004 +1.01853 1.03257 1.04465 1.05967 1.11173 1.09043 1.14977 1.33237 +1.48757 1.518 1.44192 1.35824 1.34454 1.24868 1.10565 1.06304 +1.05706 1.04498 1.02931 1.02245 1.01657 1.00841 1.00645 1.00645 +1.0071 1.0058 1.00253 1.00057 1.00057 1.00155 1.0058 1.01918 +1.02833 1.0342 1.03453 1.02571 1.02212 1.01886 1.02245 1.02931 +1.03257 1.04433 1.05543 1.05576 1.05641 1.07065 1.12239 1.16803 +1.22433 1.28824 1.32172 1.3065 1.25781 1.16651 1.08739 1.06 +1.07065 1.05706 1.05282 1.06761 1.06456 1.05184 1.0489 1.04727 +1.04694 1.05216 1.06152 1.1026 1.16956 1.28824 1.37345 1.40084 +1.39323 1.3628 1.28063 1.1513 1.0538 1.02833 1.00645 0.986531 +0.952842 0.914316 0.875158 0.847368 0.829684 0.803158 0.776 0.763368 +0.758316 0.733053 0.703368 0.690105 0.681895 0.674947 0.678105 0.688842 +0.705895 0.727368 0.724211 0.707158 0.703368 0.704 0.705263 0.717895 +0.736211 0.733684 0.728 0.736211 0.756421 0.765263 0.776632 0.805684 +0.840421 0.880211 0.913684 0.937684 0.956 0.967368 0.973684 0.978737 +0.980653 0.98098 0.984571 0.985224 0.983918 0.984898 0.989143 0.997633 +1.00286 1.00351 1.0022 0.99698 0.98751 0.976211 0.974947 0.983918 +0.991755 0.997633 0.999265 1.00122 1.00286 1.00188 1.00253 1.00253 +1.00057 0.997633 0.987184 0.968 0.959789 0.958526 0.956632 0.949053 +0.943368 0.944 0.949684 0.976211 0.995347 1.00416 1.00547 0.979368 +0.841684 0.662316 0.532211 0.44888 0.38072 0.291733 0.000993333 0.000806667 +0.00076 0.00078 0.000793333 0.000746667 0.00074 0.00072 0.00072 0.000706667 +0.000686667 0.000666667 0.000726667 0.00078 0.000793333 0.00084 0.000846667 0.000773333 +0.000746667 0.000766667 0.000753333 0.000733333 0.00076 0.000826667 0.217893 0.30688 +0.445093 0.535368 0.582105 0.609263 0.623789 0.628211 0.629474 0.632632 +0.632 0.624421 0.609895 0.590947 0.574526 0.553053 0.534737 0.539789 +0.592842 0.669895 0.726105 0.748842 0.731789 0.674316 0.596 0.515158 +0.38072 0.293627 0.242507 0.22168 0.22168 0.223573 0.231147 0.229253 +0.22736 0.225467 0.223573 0.219787 0.000993333 0.216 0.217893 0.000993333 +0.000946667 0.00094 0.000986667 0.219787 0.00096 0.000946667 0.00098 0.000966667 +0.000933333 0.00096 0.000946667 0.000926667 0.00074 0.000726667 0.000786667 0.000733333 +0.000733333 0.00076 0.000753333 0.000773333 0.000773333 0.000786667 0.000773333 0.000773333 +0.00078 0.00078 0.000793333 0.000786667 0.0008 0.000806667 0.000806667 0.000806667 +0.000826667 0.000846667 0.000813333 0.0008 0.0008 0.000806667 0.000786667 0.0008 +0.000813333 0.000793333 0.00076 0.000726667 0.00074 0.00074 0.00064 0.000526667 +0.000506667 0.00054 0.000593333 0.000693333 0.00082 0.000866667 0.00088 0.0009 +0.0009 0.0009 0.00088 0.000846667 0.000846667 0.000826667 0.0008 0.000766667 +0.000726667 0.000713333 0.000773333 0.0008 0.000813333 0.0008 0.000773333 0.000753333 +0.00074 0.00072 0.000713333 0.000733333 0.00078 0.000786667 0.000786667 0.000806667 +0.000766667 0.000746667 0.000746667 0.000773333 0.000806667 0.0008 0.000833333 0.000846667 +0.000853333 0.00084 0.0008 0.00078 0.00078 0.00076 0.00076 0.000766667 +0.000773333 0.000786667 0.000786667 0.000773333 0.000793333 0.000793333 0.000773333 0.000773333 +0.0008 0.000813333 0.000826667 0.000833333 0.000806667 0.00082 0.000833333 0.000886667 +0.246293 0.337173 0.411013 0.4716 0.557474 0.700211 0.867579 0.981633 +1.00057 0.997959 0.988163 0.974316 0.964842 0.966737 0.976211 0.983592 +0.983918 0.980327 0.974947 0.973684 0.980327 0.989796 1.00024 1.00645 +1.00939 1.0071 1.00351 1.00155 1.00253 1.00416 1.00547 1.00449 +1.00286 0.998612 0.992735 0.987837 0.988163 0.995347 0.999918 1.00122 +1.00024 0.997306 0.99698 0.99698 0.991102 0.98 0.940842 0.886526 +0.828421 0.781053 0.756421 0.731789 0.681263 0.620632 0.576421 0.549895 +0.533474 0.517053 0.504421 0.505684 0.520211 0.508842 0.46024 0.446987 +0.435627 0.40344 0.367467 0.35232 0.36936 0.401547 0.399653 0.37504 +0.365573 0.36936 0.373147 0.37504 0.384507 0.399653 0.393973 0.39208 +0.4148 0.509474 0.602947 0.670526 0.637684 0.565684 0.534737 0.512632 +0.467813 0.4432 0.43752 0.433733 0.433733 0.4432 0.456453 0.452667 +0.43184 0.450773 0.486747 0.469707 0.446987 0.467813 0.505684 0.516421 +0.517053 0.525263 0.538526 0.539158 0.544211 0.558737 0.566947 0.563789 +0.566947 0.579579 0.602947 0.656632 0.726737 0.758316 0.803158 0.874526 +0.919368 0.966105 1.00873 1.05412 1.26998 1.44649 1.49214 1.3978 +1.25629 1.13304 1.05641 1.04661 1.0378 1.03192 1.03257 1.04073 +1.05478 1.13456 1.1939 1.20607 1.18782 1.07674 1.03029 1.01494 +1.01722 1.01624 1.01527 1.01853 1.02604 1.03747 1.04694 1.05151 +1.04955 1.05151 1.05282 1.03551 1.01233 0.997959 0.998939 0.997633 +0.996327 1.00122 1.00514 1.00645 1.00645 1.0071 1.00351 1.00612 +1.01592 1.03453 1.05576 1.0813 1.11173 1.1513 1.23803 1.38715 +1.50127 1.49366 1.42519 1.41301 1.36128 1.16803 1.05706 1.09348 +1.11173 1.04955 1.02506 1.0169 1.01037 1.00318 0.998939 0.998939 +1.00155 1.00155 1.00024 0.999918 1.0022 1.00286 1.00416 1.01461 +1.02898 1.04073 1.03943 1.02669 1.02278 1.02245 1.02441 1.02963 +1.03355 1.04335 1.0551 1.05314 1.04465 1.04335 1.05184 1.06913 +1.11478 1.19694 1.30498 1.38106 1.38867 1.33389 1.27759 1.24564 +1.20912 1.13456 1.09043 1.10717 1.08739 1.05608 1.0502 1.04955 +1.04661 1.04563 1.04759 1.04955 1.05543 1.10413 1.16195 1.2152 +1.29585 1.37345 1.39323 1.3628 1.30498 1.21825 1.12543 1.04922 +1.02343 0.999918 0.98 0.954105 0.930737 0.904842 0.884 0.868211 +0.858105 0.836632 0.812632 0.807579 0.804421 0.801263 0.803789 0.808211 +0.817684 0.839158 0.837263 0.818316 0.813263 0.814526 0.822105 0.837895 +0.861263 0.871368 0.872632 0.876421 0.887158 0.892211 0.902316 0.919368 +0.933895 0.946526 0.955368 0.964211 0.974316 0.98098 0.98098 0.982612 +0.985224 0.987184 0.991102 0.990122 0.987184 0.98849 0.992408 0.999265 +1.0009 0.999265 0.994694 0.984898 0.973053 0.978105 0.98751 0.992082 +0.996 0.999592 1.00188 1.00416 1.00351 1.00416 1.00449 1.00253 +0.996327 0.986857 0.971158 0.959789 0.962947 0.961684 0.953474 0.942737 +0.941474 0.951579 0.973053 0.993061 1.00416 1.00318 0.977474 0.842947 +0.65979 0.531579 0.441307 0.36936 0.276587 0.00092 0.000786667 0.000713333 +0.00072 0.000766667 0.000786667 0.000733333 0.000726667 0.000706667 0.00072 0.00072 +0.000733333 0.00074 0.000813333 0.00088 0.000893333 0.00088 0.000866667 0.000773333 +0.00074 0.000766667 0.000773333 0.000833333 0.000993333 0.287947 0.412907 0.518947 +0.561263 0.594737 0.618737 0.628842 0.633263 0.633895 0.630737 0.627579 +0.625053 0.612421 0.594105 0.572632 0.558105 0.551158 0.565053 0.609895 +0.676211 0.726737 0.723579 0.667368 0.587789 0.513895 0.382613 0.286053 +0.246293 0.236827 0.231147 0.223573 0.216 0.219787 0.223573 0.219787 +0.223573 0.219787 0.000993333 0.000993333 0.000973333 0.00098 0.217893 0.216 +0.00098 0.000973333 0.000966667 0.217893 0.00098 0.000953333 0.000986667 0.00096 +0.000946667 0.000966667 0.00096 0.000926667 0.000673333 0.000733333 0.000753333 0.000693333 +0.000726667 0.000713333 0.00074 0.000766667 0.00076 0.00078 0.000786667 0.00078 +0.000766667 0.000786667 0.0008 0.000793333 0.000806667 0.000806667 0.000826667 0.000826667 +0.000846667 0.00086 0.00082 0.000813333 0.000846667 0.000866667 0.000873333 0.000913333 +0.000913333 0.000873333 0.00086 0.000906667 0.000946667 0.000893333 0.00086 0.000846667 +0.000753333 0.000666667 0.000613333 0.000606667 0.000646667 0.000726667 0.000846667 0.000973333 +0.22168 0.223573 0.217893 0.00094 0.000893333 0.000886667 0.000886667 0.000906667 +0.000886667 0.00084 0.000833333 0.0008 0.000753333 0.00072 0.000746667 0.00076 +0.00074 0.00074 0.000773333 0.000753333 0.000766667 0.000766667 0.00074 0.00074 +0.000726667 0.00074 0.000746667 0.000753333 0.000746667 0.00074 0.000773333 0.000793333 +0.000826667 0.000873333 0.000826667 0.00082 0.000826667 0.000773333 0.000746667 0.000726667 +0.000733333 0.000746667 0.000773333 0.000753333 0.000773333 0.000773333 0.000726667 0.00076 +0.000786667 0.000786667 0.00078 0.000813333 0.000806667 0.000813333 0.00084 0.00086 +0.000913333 0.234933 0.325813 0.40344 0.469707 0.554947 0.689474 0.854316 +0.974316 1.00155 1.00188 0.991429 0.98 0.966737 0.965474 0.973053 +0.976211 0.973053 0.968 0.967368 0.969263 0.977474 0.98849 0.996653 +1.00449 1.0071 1.00514 1.00318 1.0022 1.00514 1.00514 1.0058 +1.00384 1.0022 1.0022 0.996327 0.989469 0.98849 0.993714 1.00155 +1.00286 0.999918 0.998286 0.996 0.994367 0.994367 0.98849 0.978105 +0.953474 0.917474 0.885263 0.850526 0.788 0.704 0.642105 0.606737 +0.584 0.565053 0.549895 0.543579 0.544211 0.523368 0.496213 0.464027 +0.43752 0.412907 0.388293 0.376933 0.393973 0.422373 0.433733 0.412907 +0.384507 0.376933 0.395867 0.395867 0.384507 0.384507 0.39776 0.40912 +0.433733 0.515789 0.587789 0.644632 0.638947 0.577053 0.528421 0.503789 +0.435627 0.424267 0.43752 0.4432 0.452667 0.462133 0.458347 0.445093 +0.452667 0.501263 0.508842 0.49432 0.48864 0.508211 0.536 0.577053 +0.598526 0.595368 0.597895 0.601684 0.607368 0.608632 0.596632 0.597263 +0.607368 0.628211 0.669895 0.734316 0.799368 0.834737 0.885263 0.954105 +1.00645 1.0551 1.25172 1.4191 1.51496 1.46475 1.33085 1.18477 +1.06152 1.04694 1.03976 1.03584 1.0329 1.0329 1.03943 1.05347 +1.12239 1.20303 1.16651 1.11782 1.08587 1.04008 1.01886 1.01233 +1.01527 1.0182 1.01951 1.02343 1.03224 1.04433 1.05771 1.07065 +1.05902 1.05935 1.04694 1.02506 1.01135 1.00253 1.00384 0.998286 +0.998939 1.00384 1.00384 1.00351 1.00514 1.00482 1.00253 1.00449 +1.01233 1.0329 1.09348 1.14521 1.12695 1.18021 1.22281 1.29128 +1.39932 1.40388 1.33998 1.35367 1.27607 1.07978 1.0551 1.14673 +1.14673 1.04498 1.01755 1.01396 1.00906 0.998286 0.989469 0.990449 +0.996327 0.998612 1.0022 1.00286 1.00449 1.00808 1.00971 1.01494 +1.02343 1.0329 1.03518 1.02963 1.03061 1.03388 1.03224 1.03127 +1.03486 1.04008 1.04661 1.04563 1.03943 1.03257 1.03322 1.03518 +1.03486 1.04531 1.11173 1.25477 1.3841 1.45257 1.46931 1.47388 +1.44649 1.35367 1.25324 1.20607 1.14673 1.10717 1.08891 1.08587 +1.05967 1.0489 1.04302 1.04661 1.04955 1.0538 1.05935 1.10108 +1.1513 1.1726 1.19238 1.23042 1.2639 1.28672 1.28824 1.23955 +1.16956 1.09043 1.04857 1.02931 1.01037 0.993061 0.98 0.953474 +0.935158 0.922526 0.905474 0.897263 0.892211 0.890316 0.894105 0.898526 +0.904211 0.914316 0.913684 0.907368 0.905474 0.903579 0.911789 0.930105 +0.943368 0.948421 0.953474 0.960421 0.968 0.970526 0.974316 0.976842 +0.977474 0.980653 0.981306 0.983918 0.986531 0.987184 0.985878 0.98751 +0.990449 0.992408 0.992735 0.992082 0.990122 0.992082 0.99502 0.998286 +0.99698 0.991429 0.984245 0.978105 0.98098 0.991102 0.996327 0.997633 +1.00122 1.0022 1.00514 1.00743 1.00678 1.00482 1.00155 0.994694 +0.983265 0.966737 0.957895 0.960421 0.959789 0.950947 0.943368 0.944 +0.958526 0.978105 0.992408 1.0022 1.0022 0.971789 0.837263 0.661053 +0.532842 0.441307 0.36936 0.263333 0.000893333 0.000793333 0.000766667 0.00074 +0.00074 0.00078 0.000786667 0.00076 0.000746667 0.000746667 0.0008 0.0008 +0.0008 0.000833333 0.000866667 0.000893333 0.000886667 0.00082 0.000793333 0.000746667 +0.000766667 0.000826667 0.00094 0.270907 0.393973 0.506947 0.550526 0.585895 +0.609263 0.617474 0.625684 0.633263 0.635789 0.639579 0.638316 0.623789 +0.602947 0.580842 0.563789 0.561263 0.579579 0.615579 0.660421 0.692 +0.690737 0.650316 0.582105 0.510737 0.373147 0.291733 0.25576 0.240613 +0.23304 0.22736 0.22168 0.000986667 0.00098 0.00098 0.00098 0.00098 +0.219787 0.219787 0.00098 0.000966667 0.000946667 0.00098 0.216 0.000986667 +0.000993333 0.219787 0.00096 0.000973333 0.000993333 0.00096 0.000993333 0.000966667 +0.000966667 0.000973333 0.00098 0.000946667 0.000706667 0.000746667 0.00072 0.000713333 +0.00074 0.000733333 0.000753333 0.0008 0.000813333 0.000806667 0.000833333 0.000826667 +0.00082 0.00086 0.000833333 0.00086 0.000873333 0.000873333 0.000893333 0.000886667 +0.000913333 0.000906667 0.000853333 0.000853333 0.000886667 0.000913333 0.00094 0.000966667 +0.000926667 0.0009 0.000966667 0.225467 0.000973333 0.00094 0.000966667 0.000966667 +0.000913333 0.000906667 0.000886667 0.000853333 0.000833333 0.000786667 0.000806667 0.000853333 +0.00094 0.234933 0.265227 0.27848 0.276587 0.263333 0.234933 0.00098 +0.000926667 0.000846667 0.000806667 0.0008 0.0008 0.00078 0.000793333 0.00078 +0.000753333 0.00076 0.000786667 0.00076 0.000773333 0.000726667 0.000706667 0.00074 +0.00074 0.000753333 0.000766667 0.000753333 0.000733333 0.00072 0.000746667 0.000766667 +0.00078 0.000813333 0.000813333 0.000866667 0.000893333 0.000833333 0.000806667 0.000766667 +0.00076 0.000746667 0.00078 0.000773333 0.00078 0.00076 0.000773333 0.00082 +0.000826667 0.00082 0.000793333 0.000826667 0.000806667 0.000813333 0.000826667 0.000833333 +0.000866667 0.000906667 0.236827 0.327707 0.401547 0.473493 0.548 0.672421 +0.842316 0.968632 0.999592 1.00155 0.993388 0.984245 0.968 0.959158 +0.961053 0.963579 0.962316 0.961684 0.966737 0.971158 0.979368 0.986204 +0.994694 1.00318 1.00678 1.00612 1.00547 1.0058 1.00678 1.0058 +1.00678 1.00612 1.00514 1.00351 0.998286 0.992735 0.989796 0.992735 +0.998612 1.00188 0.999918 0.99698 0.995673 0.99698 0.997306 0.993388 +0.989143 0.983592 0.969895 0.947789 0.904842 0.815158 0.710316 0.638316 +0.604842 0.590316 0.591579 0.593474 0.579579 0.548 0.526526 0.511368 +0.47728 0.433733 0.40344 0.401547 0.422373 0.435627 0.450773 0.446987 +0.42048 0.40912 0.42048 0.4148 0.39776 0.390187 0.411013 0.441307 +0.501263 0.536632 0.570737 0.602316 0.623789 0.597263 0.541053 0.506947 +0.458347 0.445093 0.464027 0.48296 0.486747 0.475387 0.45456 0.439413 +0.462133 0.501895 0.501895 0.490533 0.498107 0.510105 0.546737 0.634526 +0.717895 0.714737 0.674947 0.66421 0.664842 0.661053 0.644632 0.642737 +0.661684 0.702105 0.763368 0.824632 0.875158 0.930737 0.996 1.04237 +1.23042 1.43432 1.49974 1.46323 1.36736 1.22586 1.10869 1.04955 +1.03649 1.03257 1.02996 1.02669 1.02898 1.03976 1.05249 1.10717 +1.19238 1.18173 1.06609 1.04302 1.03355 1.02082 1.01167 1.00873 +1.01494 1.01886 1.02114 1.02898 1.03943 1.04922 1.05902 1.06304 +1.05706 1.05151 1.03061 1.01331 1.00939 1.00808 1.01004 1.00449 +1.00547 1.00808 1.00416 1.00188 1.00122 0.998939 1.00188 1.0058 +1.01069 1.02767 1.10565 1.20455 1.13912 1.13912 1.16347 1.22586 +1.32019 1.30498 1.26846 1.29433 1.20455 1.0551 1.06761 1.20151 +1.11782 1.03224 1.01102 1.01135 1.00645 0.994041 0.985551 0.991755 +0.998286 1.0009 1.00449 1.00678 1.0071 1.00971 1.00939 1.01135 +1.012 1.01396 1.02049 1.02735 1.03388 1.03878 1.03584 1.03355 +1.03388 1.03388 1.03584 1.03355 1.03224 1.02408 1.01657 1.01167 +1.00416 1.00547 1.01494 1.03551 1.09348 1.22281 1.33389 1.45714 +1.56213 1.58191 1.53018 1.49366 1.40845 1.33389 1.29737 1.26846 +1.21673 1.12847 1.06 1.05608 1.05641 1.05543 1.05673 1.06456 +1.06 1.05151 1.0489 1.05314 1.06152 1.11934 1.16195 1.18477 +1.2076 1.21064 1.17716 1.12999 1.08282 1.04955 1.03257 1.01624 +1.00449 0.996327 0.983918 0.965474 0.947789 0.938947 0.940211 0.941474 +0.941474 0.942105 0.944 0.945895 0.945263 0.944 0.953474 0.969263 +0.980327 0.982612 0.986531 0.989796 0.991102 0.991429 0.991755 0.991102 +0.988816 0.988816 0.989469 0.991429 0.992082 0.990122 0.990122 0.993061 +0.994694 0.994367 0.992735 0.992082 0.992408 0.993061 0.993714 0.992408 +0.98751 0.981633 0.979368 0.984898 0.992408 0.998612 0.999592 1.0009 +1.00253 1.00351 1.00612 1.00743 1.0058 0.998939 0.991429 0.982939 +0.968 0.957263 0.958526 0.959789 0.951579 0.944 0.944632 0.961053 +0.984571 0.99502 1.00286 0.999265 0.963579 0.831579 0.658526 0.532842 +0.446987 0.367467 0.259547 0.000853333 0.000766667 0.000786667 0.000753333 0.00072 +0.00076 0.000773333 0.000766667 0.000766667 0.000793333 0.000813333 0.000886667 0.000886667 +0.00084 0.000833333 0.00084 0.000833333 0.000786667 0.000786667 0.000786667 0.0008 +0.00094 0.27848 0.378827 0.5 0.542316 0.575789 0.597263 0.615579 +0.627579 0.626316 0.626947 0.633263 0.639579 0.642105 0.637684 0.609263 +0.572 0.56 0.579579 0.620632 0.664842 0.690105 0.680632 0.633263 +0.564421 0.503158 0.37504 0.299307 0.257653 0.242507 0.23304 0.22736 +0.22736 0.229253 0.219787 0.00098 0.219787 0.219787 0.000993333 0.000986667 +0.225467 0.23304 0.22168 0.000993333 0.00096 0.00098 0.000986667 0.000966667 +0.000973333 0.000993333 0.000973333 0.000973333 0.217893 0.00098 0.00098 0.000966667 +0.00096 0.000966667 0.000973333 0.000973333 0.000753333 0.000746667 0.00074 0.000753333 +0.000753333 0.000753333 0.00076 0.000806667 0.00084 0.00084 0.000873333 0.000853333 +0.000846667 0.000833333 0.00082 0.00084 0.000853333 0.000846667 0.000873333 0.000886667 +0.0009 0.00086 0.000826667 0.000853333 0.00086 0.0009 0.000933333 0.0009 +0.000853333 0.000926667 0.000986667 0.000953333 0.00092 0.000933333 0.000953333 0.000986667 +0.223573 0.242507 0.26712 0.293627 0.320133 0.337173 0.365573 0.40344 +0.450773 0.498107 0.512 0.515158 0.506947 0.46592 0.388293 0.314453 +0.25008 0.000926667 0.000866667 0.000846667 0.00084 0.00082 0.0008 0.00078 +0.000766667 0.000786667 0.00082 0.000813333 0.000786667 0.000746667 0.00078 0.0008 +0.00078 0.00078 0.000773333 0.000766667 0.000746667 0.000733333 0.000753333 0.00074 +0.000706667 0.000733333 0.000773333 0.00082 0.000846667 0.000846667 0.00084 0.000793333 +0.00076 0.000746667 0.000786667 0.000746667 0.000753333 0.000766667 0.000786667 0.000786667 +0.00078 0.000773333 0.00076 0.000786667 0.000786667 0.0008 0.000806667 0.000806667 +0.000846667 0.00086 0.000893333 0.231147 0.31256 0.393973 0.464027 0.536 +0.659158 0.823368 0.948421 0.995347 1.00253 0.998286 0.984245 0.962947 +0.954737 0.957263 0.958526 0.957895 0.962316 0.967368 0.969263 0.975579 +0.983592 0.991755 0.999265 1.00449 1.0058 1.00547 1.00612 1.00547 +1.00645 1.0058 1.00482 1.00384 1.00286 0.999592 0.993388 0.985878 +0.986857 0.993388 0.997633 1.00057 0.999918 0.996327 0.996653 0.996653 +0.99502 0.994367 0.990449 0.984245 0.969263 0.913053 0.820211 0.726105 +0.657263 0.620632 0.620632 0.626947 0.609895 0.583368 0.568842 0.56 +0.544211 0.520842 0.475387 0.433733 0.43752 0.43752 0.439413 0.446987 +0.458347 0.462133 0.4716 0.456453 0.435627 0.428053 0.4432 0.49432 +0.530316 0.549895 0.545474 0.555579 0.597263 0.613684 0.573263 0.524632 +0.498107 0.48296 0.498107 0.503158 0.49432 0.469707 0.45456 0.467813 +0.502526 0.510105 0.508842 0.511368 0.510105 0.515789 0.553684 0.648421 +0.755158 0.770316 0.722947 0.697053 0.692632 0.701474 0.705263 0.715368 +0.749474 0.805053 0.868211 0.932632 0.993061 1.04367 1.22738 1.42823 +1.55148 1.5317 1.40236 1.25477 1.12695 1.05249 1.03649 1.02343 +1.02245 1.02539 1.02767 1.03127 1.04302 1.06913 1.1376 1.18325 +1.17412 1.07369 1.03486 1.01755 1.01363 1.01331 1.00873 1.01069 +1.01755 1.01755 1.02114 1.03094 1.04335 1.05118 1.05608 1.0551 +1.04792 1.03388 1.01461 1.00873 1.00743 1.00678 1.00841 1.0058 +1.00971 1.01004 1.00514 1.00482 1.00122 0.996 1.0009 1.0071 +1.01167 1.02212 1.06 1.21673 1.18629 1.1026 1.10717 1.19238 +1.23042 1.19238 1.19086 1.20607 1.12695 1.05543 1.12086 1.18325 +1.05412 1.0231 1.01135 1.00906 1.00155 0.994367 0.993061 1.00155 +1.00318 1.00416 1.00776 1.00939 1.00939 1.00841 1.00612 1.00808 +1.00906 1.0058 1.00906 1.01657 1.02278 1.03061 1.03192 1.02996 +1.02735 1.02408 1.02506 1.0231 1.0231 1.01592 1.00351 0.998286 +0.993061 0.994367 0.997306 1.00351 1.01429 1.02571 1.04237 1.09956 +1.25172 1.37802 1.45866 1.55148 1.57887 1.57735 1.59408 1.57278 +1.50735 1.40997 1.3065 1.21825 1.16043 1.1163 1.07826 1.06456 +1.05445 1.04694 1.04041 1.03682 1.03878 1.04596 1.05184 1.05706 +1.08282 1.10717 1.10869 1.11173 1.12543 1.10565 1.05935 1.04922 +1.04041 1.03192 1.01853 1.00318 0.989469 0.980327 0.972421 0.965474 +0.962947 0.961684 0.966105 0.976842 0.980653 0.981306 0.983918 0.986857 +0.991429 0.993388 0.994694 0.993388 0.992408 0.992408 0.994694 0.996653 +0.993388 0.991102 0.994041 0.996 0.995347 0.993714 0.995347 0.999265 +1.00057 0.998612 0.996653 0.995347 0.994041 0.992408 0.987184 0.982612 +0.978737 0.980653 0.986531 0.995347 1.00024 1.0009 1.00188 1.00318 +1.00253 1.00384 1.0058 1.00514 0.998939 0.989143 0.98 0.966737 +0.961684 0.955368 0.954737 0.954105 0.947789 0.952842 0.964842 0.985224 +0.998286 1.00416 0.998939 0.950947 0.815158 0.650947 0.532211 0.439413 +0.359893 0.263333 0.000853333 0.000726667 0.000713333 0.000773333 0.000753333 0.000726667 +0.00078 0.0008 0.000813333 0.000826667 0.000886667 0.000906667 0.000926667 0.000893333 +0.000846667 0.000813333 0.000826667 0.000833333 0.000773333 0.000833333 0.216 0.282267 +0.395867 0.507579 0.543579 0.572 0.592842 0.610526 0.618737 0.626947 +0.635158 0.632 0.628211 0.625684 0.626316 0.626316 0.625684 0.611789 +0.599158 0.623158 0.667368 0.690105 0.673684 0.623789 0.559368 0.49432 +0.356107 0.286053 0.25576 0.246293 0.23872 0.23304 0.231147 0.223573 +0.223573 0.225467 0.216 0.000986667 0.217893 0.217893 0.000993333 0.000966667 +0.000986667 0.217893 0.216 0.000986667 0.000966667 0.000946667 0.000966667 0.000966667 +0.000953333 0.000953333 0.000946667 0.000966667 0.00098 0.00096 0.00098 0.00098 +0.00094 0.000933333 0.000966667 0.000966667 0.000713333 0.000686667 0.0007 0.000706667 +0.000713333 0.000753333 0.000773333 0.000813333 0.00084 0.00084 0.000846667 0.0008 +0.000766667 0.000746667 0.000753333 0.000766667 0.000786667 0.00078 0.000813333 0.000833333 +0.000793333 0.000773333 0.0008 0.000826667 0.000846667 0.0009 0.000886667 0.000853333 +0.0009 0.000973333 0.00096 0.000973333 0.231147 0.259547 0.29552 0.344747 +0.40912 0.473493 0.517053 0.550526 0.586526 0.613684 0.635158 0.648421 +0.650947 0.654105 0.665474 0.671789 0.664842 0.645895 0.618737 0.577684 +0.517053 0.361787 0.240613 0.000893333 0.000826667 0.00082 0.000806667 0.00078 +0.0008 0.000793333 0.000806667 0.000793333 0.000753333 0.000746667 0.00078 0.00078 +0.000753333 0.000766667 0.000773333 0.000786667 0.000766667 0.000746667 0.00074 0.000726667 +0.0007 0.00072 0.00074 0.000753333 0.000786667 0.000826667 0.000826667 0.0008 +0.000793333 0.000793333 0.000786667 0.00072 0.000746667 0.000753333 0.000746667 0.000746667 +0.000753333 0.00076 0.000733333 0.000753333 0.000753333 0.00078 0.000786667 0.00078 +0.000826667 0.00084 0.000833333 0.000846667 0.000993333 0.28416 0.365573 0.429947 +0.525263 0.635158 0.786105 0.925684 0.992408 1.00318 0.99698 0.984898 +0.968 0.958526 0.955368 0.954737 0.954105 0.957263 0.960421 0.965474 +0.971789 0.980653 0.988163 0.996653 1.00482 1.00678 1.0071 1.00743 +1.00645 1.00612 1.00612 1.00612 1.00449 1.00384 1.00024 0.994041 +0.98751 0.983918 0.986531 0.99502 1.00122 0.998939 0.995347 0.996327 +0.998939 0.998612 0.997306 0.994694 0.987837 0.971789 0.931368 0.865684 +0.785474 0.709053 0.668632 0.650947 0.634526 0.618737 0.606105 0.604842 +0.613053 0.602947 0.561263 0.516421 0.48296 0.45456 0.44888 0.456453 +0.473493 0.496213 0.502526 0.496213 0.486747 0.5 0.509474 0.529684 +0.546737 0.538526 0.520842 0.530947 0.568211 0.607368 0.608632 0.558737 +0.523368 0.520211 0.523368 0.522737 0.517053 0.517053 0.522105 0.527789 +0.529053 0.525895 0.527158 0.532842 0.542316 0.566947 0.609895 0.671158 +0.731158 0.753263 0.734947 0.721684 0.733053 0.764632 0.791789 0.817684 +0.865053 0.927579 0.995347 1.04661 1.23651 1.44497 1.55452 1.56061 +1.48301 1.35367 1.22129 1.10565 1.05216 1.0378 1.02669 1.02245 +1.028 1.03518 1.04792 1.08891 1.18021 1.23498 1.22433 1.15586 +1.05739 1.0329 1.012 1.00514 1.01461 1.01624 1.00906 1.01331 +1.01722 1.0169 1.02604 1.03845 1.04988 1.05543 1.05053 1.04302 +1.03355 1.01853 1.00743 1.00841 1.0071 1.00743 1.00776 1.00743 +1.01037 1.01037 1.00743 1.00906 1.00645 1.00318 1.00351 1.00416 +1.00841 1.01461 1.03584 1.11478 1.20607 1.12695 1.07978 1.13912 +1.13152 1.09652 1.11478 1.12391 1.1026 1.11934 1.16956 1.07978 +1.03192 1.01755 1.00743 1.00253 1.0022 1.00318 1.00318 1.0071 +1.00482 1.00449 1.00971 1.01004 1.00939 1.00743 1.0058 1.00776 +1.00776 1.00416 1.00384 1.00776 1.01004 1.0169 1.0231 1.02539 +1.02376 1.02016 1.01886 1.01657 1.01592 1.00645 0.993061 0.98849 +0.981959 0.985224 0.997959 1.00253 1.00384 1.00449 1.00776 1.01559 +1.02963 1.044 1.05869 1.17564 1.29737 1.42214 1.56822 1.66864 +1.7082 1.69451 1.62908 1.51192 1.41301 1.33998 1.26085 1.19847 +1.1513 1.11326 1.06 1.04792 1.04237 1.04269 1.04563 1.04694 +1.05053 1.0538 1.05641 1.05739 1.05804 1.05641 1.0551 1.05347 +1.0502 1.04563 1.03649 1.02408 1.01135 1.00188 0.997306 0.992408 +0.989469 0.988816 0.990122 0.992735 0.994367 0.993714 0.994041 0.99502 +0.996327 0.995673 0.99502 0.99502 0.995347 0.996327 0.997633 1.00024 +0.998939 0.996327 0.998286 1.0009 1.00057 1.00122 1.00384 1.00416 +1.00057 0.996327 0.99502 0.993061 0.990122 0.983592 0.974316 0.972421 +0.981633 0.989796 0.99698 1.00188 1.00253 1.0009 1.00155 1.00449 +1.00449 1.00384 1.00318 0.99698 0.986204 0.976842 0.966105 0.959789 +0.956632 0.949053 0.945895 0.948421 0.956632 0.974316 0.989143 1.0022 +1.00743 0.998939 0.946526 0.798105 0.635789 0.527789 0.422373 0.33528 +0.240613 0.000833333 0.000746667 0.000726667 0.00074 0.000793333 0.00076 0.000793333 +0.00086 0.000893333 0.00092 0.0009 0.000906667 0.000913333 0.000873333 0.00082 +0.000826667 0.000826667 0.00084 0.000913333 0.225467 0.299307 0.40912 0.509474 +0.548 0.575789 0.592211 0.604842 0.614316 0.626316 0.629474 0.628842 +0.630737 0.628211 0.621263 0.608 0.601684 0.620632 0.65979 0.685684 +0.691368 0.690105 0.669263 0.614947 0.548 0.473493 0.35232 0.28984 +0.251973 0.23872 0.231147 0.225467 0.223573 0.219787 0.22168 0.22168 +0.000986667 0.217893 0.00098 0.000966667 0.000966667 0.00096 0.000946667 0.000946667 +0.000946667 0.00096 0.000953333 0.000973333 0.000986667 0.000953333 0.00096 0.000973333 +0.000966667 0.00096 0.00094 0.000946667 0.000973333 0.00094 0.000953333 0.00098 +0.000973333 0.00096 0.000973333 0.00098 0.000706667 0.000706667 0.00074 0.00074 +0.000773333 0.000826667 0.000833333 0.000833333 0.00084 0.000813333 0.00078 0.000753333 +0.000726667 0.000733333 0.000746667 0.000746667 0.000773333 0.000773333 0.000766667 0.000766667 +0.000746667 0.000733333 0.00078 0.0008 0.0008 0.00084 0.000853333 0.000913333 +0.217893 0.242507 0.276587 0.333387 0.411013 0.506316 0.545474 0.588421 +0.638316 0.681263 0.717263 0.744421 0.754526 0.748211 0.731789 0.712211 +0.695789 0.690737 0.706526 0.722316 0.719158 0.712842 0.716 0.726737 +0.703368 0.618737 0.518947 0.359893 0.26144 0.00098 0.000906667 0.00086 +0.000826667 0.000806667 0.000806667 0.000793333 0.000733333 0.000713333 0.000766667 0.000766667 +0.000753333 0.000786667 0.000806667 0.000813333 0.000773333 0.00076 0.000746667 0.00072 +0.000686667 0.000713333 0.00072 0.00072 0.000733333 0.000753333 0.000746667 0.00076 +0.0008 0.000793333 0.000793333 0.000726667 0.000733333 0.000746667 0.000746667 0.00076 +0.00074 0.000753333 0.000753333 0.00078 0.000766667 0.00078 0.0008 0.00078 +0.000793333 0.000806667 0.0008 0.000786667 0.000846667 0.00096 0.269013 0.348533 +0.416693 0.514526 0.606105 0.755789 0.901053 0.984898 1.00155 0.999592 +0.989469 0.979368 0.965474 0.958526 0.954105 0.953474 0.957263 0.959158 +0.962947 0.968632 0.977474 0.986857 0.998286 1.00547 1.0071 1.00678 +1.0058 1.00645 1.00678 1.0058 1.0058 1.00645 1.00416 1.00155 +0.999265 0.989796 0.982939 0.984245 0.992408 0.998612 0.997633 0.996653 +0.998612 1.00057 1.0009 0.998939 0.994694 0.990449 0.981959 0.956 +0.913684 0.851158 0.790526 0.738737 0.690105 0.650947 0.626316 0.622526 +0.638947 0.652842 0.640842 0.593474 0.537895 0.512 0.507579 0.505053 +0.504421 0.510105 0.506947 0.504421 0.515158 0.532842 0.536 0.531579 +0.527789 0.524 0.524 0.530316 0.541684 0.582105 0.627579 0.617474 +0.590947 0.581474 0.572 0.566316 0.566947 0.560632 0.556842 0.558105 +0.553053 0.553053 0.563789 0.580842 0.613684 0.654737 0.697053 0.734947 +0.762105 0.782316 0.784842 0.784211 0.809474 0.856842 0.903579 0.953474 +1.00416 1.05249 1.27759 1.48757 1.6093 1.60474 1.48149 1.33237 +1.22129 1.20303 1.16956 1.06456 1.04531 1.03714 1.03747 1.04465 +1.05543 1.10717 1.20303 1.28976 1.30802 1.24716 1.14673 1.04629 +1.01918 1.00384 0.996 1.00188 1.0182 1.01722 1.00906 1.01396 +1.01788 1.0218 1.03551 1.05151 1.05347 1.04727 1.03518 1.02441 +1.01461 1.00678 1.00384 1.00318 1.00188 1.00547 1.0058 1.0022 +1.00351 1.00645 1.00776 1.00808 1.00612 1.00514 1.00286 0.999265 +1.00188 1.00678 1.01363 1.03943 1.16803 1.20151 1.11478 1.1163 +1.07978 1.05576 1.05412 1.05869 1.12999 1.2076 1.12695 1.03747 +1.01624 1.00612 0.998612 0.999918 1.00351 1.00612 1.00384 1.00776 +1.00841 1.0071 1.01102 1.012 1.012 1.00971 1.00776 1.00939 +1.00841 1.0022 1.00024 1.00514 1.00776 1.00906 1.01331 1.01853 +1.01951 1.01853 1.01592 1.01167 1.0058 0.994041 0.986204 0.983265 +0.972421 0.981633 0.996653 1.00351 1.00514 1.00482 1.00416 1.00645 +1.00906 1.00939 1.01004 1.01951 1.03453 1.05608 1.19999 1.36736 +1.50887 1.61843 1.68995 1.69755 1.67929 1.67473 1.61843 1.52561 +1.45257 1.38562 1.29585 1.18782 1.11934 1.08891 1.07217 1.05837 +1.05347 1.05053 1.05151 1.0502 1.04759 1.04857 1.05184 1.05412 +1.0551 1.05543 1.05314 1.04498 1.03584 1.02833 1.02376 1.01886 +1.01135 1.00678 1.00416 1.00188 1.0022 1.00057 0.997959 0.998286 +0.998286 0.996 0.996 0.998286 1.00024 0.999918 0.998286 0.998612 +0.998612 0.997633 0.998612 0.998939 1.00024 1.0009 1.00122 0.999918 +0.99502 0.993388 0.992735 0.990776 0.982286 0.968 0.973053 0.984571 +0.994694 1.0009 1.00253 1.00286 1.00416 1.00286 1.00286 1.00612 +1.00547 1.00155 0.993714 0.983265 0.972421 0.968 0.963579 0.957895 +0.950316 0.947789 0.950316 0.963579 0.982286 0.991755 1.00253 1.00808 +0.99502 0.92821 0.781053 0.618737 0.519579 0.40912 0.308773 0.240613 +0.000846667 0.000753333 0.000766667 0.000753333 0.00078 0.00082 0.0008 0.000866667 +0.000913333 0.000893333 0.000893333 0.000866667 0.000833333 0.00084 0.000833333 0.0008 +0.00088 0.000993333 0.25576 0.331493 0.441307 0.519579 0.554947 0.581474 +0.598526 0.609263 0.615579 0.623158 0.628842 0.635789 0.636421 0.630105 +0.625053 0.62 0.619368 0.621263 0.639579 0.686947 0.731158 0.727368 +0.675579 0.613684 0.549263 0.469707 0.350427 0.291733 0.257653 0.25008 +0.23872 0.234933 0.229253 0.22168 0.22168 0.217893 0.225467 0.22736 +0.217893 0.217893 0.22168 0.000986667 0.000966667 0.000973333 0.000966667 0.000966667 +0.000973333 0.00098 0.000973333 0.000993333 0.225467 0.000993333 0.216 0.219787 +0.00098 0.000986667 0.000973333 0.00098 0.216 0.00098 0.000966667 0.000993333 +0.000993333 0.000986667 0.000993333 0.216 0.000726667 0.00076 0.000766667 0.000753333 +0.000793333 0.000813333 0.000786667 0.000773333 0.000766667 0.000733333 0.00072 0.00072 +0.000713333 0.000713333 0.000753333 0.000746667 0.000733333 0.00076 0.00074 0.000746667 +0.000726667 0.000713333 0.00078 0.00086 0.000906667 0.00098 0.26144 0.3296 +0.399653 0.501263 0.549263 0.601684 0.661053 0.721684 0.772211 0.806316 +0.828421 0.830947 0.820211 0.803789 0.784842 0.765895 0.745684 0.731158 +0.721684 0.715368 0.716632 0.717263 0.708421 0.702105 0.714737 0.759579 +0.791789 0.745053 0.654737 0.581474 0.525263 0.43184 0.32392 0.236827 +0.00086 0.000793333 0.000753333 0.00074 0.000706667 0.000693333 0.00074 0.0007 +0.000706667 0.0008 0.000926667 0.219787 0.225467 0.223573 0.00094 0.000813333 +0.000733333 0.000713333 0.000706667 0.0007 0.000706667 0.000733333 0.000733333 0.000733333 +0.000773333 0.000793333 0.00082 0.000753333 0.00074 0.00074 0.000733333 0.000713333 +0.000673333 0.000713333 0.000753333 0.000766667 0.000753333 0.000746667 0.000786667 0.000793333 +0.000786667 0.000786667 0.000773333 0.00074 0.00078 0.00084 0.000946667 0.259547 +0.327707 0.412907 0.504421 0.581474 0.717263 0.866316 0.973053 0.999265 +1.00057 0.994041 0.984571 0.968632 0.954737 0.952211 0.956632 0.954737 +0.956 0.959158 0.965474 0.974947 0.984571 0.992408 0.999265 1.00416 +1.00612 1.00776 1.00808 1.00678 1.00645 1.00678 1.00514 1.00253 +1.00155 0.999918 0.993061 0.985551 0.984245 0.990122 0.995347 0.997633 +0.999265 1.00188 1.00122 0.998612 0.997306 0.995347 0.991429 0.985878 +0.976842 0.955368 0.924421 0.878316 0.817053 0.750105 0.698947 0.671789 +0.663579 0.666737 0.674947 0.660421 0.614947 0.576421 0.554316 0.541053 +0.540421 0.544842 0.532211 0.528421 0.541053 0.551158 0.541684 0.524 +0.520842 0.536632 0.554947 0.555579 0.548 0.568211 0.623789 0.672421 +0.682526 0.663579 0.631368 0.608632 0.597895 0.575789 0.565684 0.580842 +0.607368 0.631368 0.648421 0.670526 0.705263 0.739368 0.767789 0.796211 +0.823368 0.846737 0.863158 0.887789 0.928842 0.985224 1.02604 1.1163 +1.3415 1.53778 1.6443 1.62604 1.53474 1.40693 1.25477 1.11934 +1.06456 1.1163 1.14217 1.06304 1.04988 1.04955 1.07522 1.16803 +1.2502 1.33085 1.33541 1.2639 1.14673 1.05249 1.03029 1.00808 +0.991429 0.985224 0.983918 0.992735 1.00971 1.01167 1.01265 1.02082 +1.02343 1.03061 1.04792 1.06456 1.04792 1.02702 1.01527 1.00841 +1.00449 1.00318 1.00351 0.998286 0.998939 1.00808 1.00841 1.00351 +1.00188 1.00449 1.00841 1.01037 1.00939 1.00808 1.00318 0.997633 +0.996653 0.999265 1.0058 1.02114 1.06609 1.21825 1.16195 1.09652 +1.05837 1.04694 1.04041 1.05184 1.16803 1.20151 1.05184 1.02114 +1.01069 0.999265 0.99698 1.00482 1.00939 1.00776 1.00384 1.00873 +1.00906 1.00776 1.01135 1.01102 1.01167 1.01069 1.01004 1.01167 +1.00841 0.997306 0.99502 1.00416 1.00776 1.00645 1.00841 1.01233 +1.01167 1.01167 1.01037 1.00645 0.996 0.986204 0.98098 0.974947 +0.976842 0.985551 0.996327 1.00122 0.999918 1.00155 1.00122 1.00384 +1.00547 1.00351 1.00122 1.00482 1.00939 1.01527 1.02898 1.04759 +1.09195 1.20303 1.33693 1.46475 1.58343 1.71886 1.79189 1.79342 +1.78429 1.73407 1.63365 1.51648 1.42062 1.33693 1.26694 1.22281 +1.16956 1.11021 1.09348 1.07369 1.05739 1.05902 1.06 1.05641 +1.0538 1.05608 1.05967 1.05673 1.05184 1.04727 1.04302 1.03714 +1.02702 1.01853 1.01298 1.01004 1.00906 1.0058 1.00253 1.0009 +0.999592 0.99698 0.995347 0.995673 0.995673 0.993061 0.992735 0.994041 +0.995673 0.99698 0.996653 0.997959 1.00024 0.999265 0.997633 0.996 +0.996 0.996653 0.995347 0.988163 0.978737 0.977474 0.988163 0.997306 +1.00286 1.00351 1.00416 1.00384 1.00351 1.00286 1.00384 1.00318 +0.998939 0.989796 0.975579 0.961684 0.964211 0.966105 0.961053 0.953474 +0.944632 0.948421 0.964211 0.985878 0.99698 1.00318 1.0071 0.991429 +0.908 0.759579 0.603579 0.507579 0.405333 0.3012 0.219787 0.000886667 +0.000766667 0.00074 0.000786667 0.000806667 0.000846667 0.000853333 0.00086 0.00088 +0.000893333 0.000853333 0.000806667 0.000826667 0.000833333 0.000846667 0.0009 0.000973333 +0.2728 0.376933 0.48296 0.532211 0.565684 0.590316 0.602947 0.609895 +0.619368 0.626947 0.629474 0.632632 0.632 0.636421 0.635789 0.630105 +0.631368 0.642105 0.666737 0.695789 0.712211 0.707789 0.678737 0.613684 +0.537895 0.446987 0.350427 0.28416 0.248187 0.236827 0.223573 0.22736 +0.22168 0.219787 0.223573 0.219787 0.000993333 0.000973333 0.000993333 0.217893 +0.00098 0.00096 0.216 0.000986667 0.000946667 0.000966667 0.000973333 0.000966667 +0.00094 0.00096 0.000973333 0.000946667 0.00096 0.000933333 0.00098 0.22168 +0.000966667 0.000966667 0.00096 0.00098 0.000993333 0.00098 0.000966667 0.00098 +0.000953333 0.00096 0.000986667 0.216 0.000713333 0.000733333 0.000753333 0.000773333 +0.0008 0.00078 0.000746667 0.000726667 0.00072 0.000713333 0.000693333 0.000693333 +0.000666667 0.000673333 0.000733333 0.000726667 0.000713333 0.00076 0.000786667 0.00082 +0.00086 0.000926667 0.240613 0.287947 0.348533 0.452667 0.534737 0.592211 +0.656632 0.724211 0.786105 0.832842 0.859368 0.864421 0.849263 0.819579 +0.786105 0.753263 0.721053 0.695789 0.679368 0.668632 0.660421 0.656 +0.657263 0.666105 0.678105 0.690737 0.699579 0.709684 0.717895 0.728 +0.712211 0.663579 0.628842 0.625684 0.623789 0.602947 0.565684 0.520211 +0.424267 0.31256 0.231147 0.000893333 0.0008 0.000753333 0.000766667 0.00072 +0.000753333 0.000973333 0.28416 0.337173 0.384507 0.395867 0.361787 0.297413 +0.225467 0.000846667 0.00076 0.000753333 0.00074 0.00074 0.000726667 0.0007 +0.000726667 0.000766667 0.00082 0.000786667 0.000786667 0.000773333 0.00074 0.000713333 +0.00068 0.00072 0.000753333 0.000766667 0.000746667 0.000753333 0.00076 0.000766667 +0.00078 0.000773333 0.000766667 0.000746667 0.00076 0.0008 0.00084 0.000933333 +0.23872 0.314453 0.390187 0.473493 0.557474 0.68 0.830316 0.949684 +0.996 1.00318 0.998939 0.98751 0.969895 0.952842 0.952211 0.954105 +0.955368 0.958526 0.962316 0.968 0.971789 0.977474 0.986857 0.997306 +1.00416 1.00514 1.0058 1.0071 1.00678 1.00645 1.0071 1.00514 +1.00351 1.00188 0.999918 0.995673 0.990776 0.988816 0.991429 0.994694 +0.998612 1.00188 1.00057 1.00024 1.00155 0.999592 0.996 0.993714 +0.990122 0.986857 0.981306 0.964842 0.935789 0.887789 0.837263 0.796211 +0.760211 0.722316 0.700211 0.693895 0.681895 0.656632 0.621263 0.591579 +0.590947 0.598526 0.579579 0.565053 0.567579 0.573895 0.580842 0.573895 +0.573895 0.584 0.592842 0.594737 0.586526 0.585263 0.625053 0.694526 +0.722947 0.705895 0.681895 0.651579 0.623158 0.602947 0.606105 0.638316 +0.694526 0.736211 0.748211 0.766526 0.796211 0.819579 0.828421 0.843579 +0.875158 0.914947 0.966105 1.00971 1.04955 1.21216 1.42366 1.58343 +1.65495 1.63973 1.53626 1.3841 1.24716 1.1513 1.09348 1.05478 +1.04955 1.05543 1.07674 1.06913 1.08891 1.16195 1.28368 1.36736 +1.37649 1.31715 1.16347 1.04824 1.02212 1.00841 0.999265 0.987837 +0.981306 0.978105 0.970526 0.978737 0.99502 1.0071 1.0169 1.02702 +1.03551 1.04302 1.04955 1.04563 1.02735 1.01135 1.00416 1.00318 +1.00286 1.00253 1.00351 0.998939 1.0009 1.00873 1.00808 1.0071 +1.00514 1.00449 1.00482 1.0071 1.00776 1.00873 1.0058 1.00188 +0.998612 0.998612 1.00449 1.01298 1.03845 1.18325 1.24411 1.14673 +1.05837 1.04531 1.04204 1.05967 1.19999 1.12847 1.02996 1.01396 +1.00841 1.0009 1.00482 1.01233 1.01363 1.00971 1.00547 1.00939 +1.00776 1.00482 1.00678 1.00482 1.00645 1.00906 1.00873 1.00808 +1.00384 0.995347 0.995347 1.00416 1.00678 1.00841 1.00971 1.01167 +1.00939 1.00645 1.00286 0.997306 0.989143 0.986204 0.984898 0.981959 +0.986204 0.991429 0.997959 1.00318 1.0009 1.00286 1.0022 1.0022 +1.00351 1.00286 0.999265 1.00057 1.00482 1.00645 1.01069 1.01494 +1.01853 1.02833 1.04139 1.05673 1.14217 1.28824 1.44497 1.58191 +1.7082 1.78581 1.80863 1.78733 1.73559 1.66104 1.56517 1.48605 +1.40845 1.30954 1.25324 1.22281 1.16803 1.13304 1.12543 1.11478 +1.07826 1.05837 1.06304 1.07369 1.07217 1.05869 1.05282 1.04563 +1.03518 1.02408 1.0169 1.01233 1.00873 1.00547 1.00253 0.999918 +0.998286 0.997633 0.99698 0.99502 0.993388 0.993388 0.995673 0.998939 +1.00024 1.00024 1.00024 1.00024 1.00155 1.00057 0.996653 0.996653 +1.00024 1.00188 0.99698 0.988163 0.984571 0.990776 0.997633 1.00155 +1.00318 1.00155 1.00188 1.0022 1.00286 1.00318 1.00286 0.996653 +0.985878 0.971158 0.960421 0.958526 0.962947 0.962947 0.956 0.948421 +0.945263 0.960421 0.984571 0.997633 1.00318 1.00482 0.986531 0.887158 +0.734947 0.597263 0.505053 0.382613 0.3012 0.22168 0.000866667 0.00078 +0.000753333 0.00078 0.000846667 0.00092 0.000926667 0.000866667 0.000886667 0.000866667 +0.000886667 0.000886667 0.000826667 0.00084 0.000926667 0.231147 0.299307 0.39208 +0.507579 0.550526 0.580842 0.602316 0.612421 0.62 0.621263 0.620632 +0.626316 0.629474 0.630737 0.634526 0.635789 0.641474 0.652842 0.666737 +0.690105 0.710316 0.719789 0.704 0.657263 0.594105 0.532842 0.4432 +0.337173 0.27848 0.25576 0.236827 0.223573 0.22168 0.219787 0.22168 +0.000993333 0.000966667 0.00098 0.219787 0.217893 0.00098 0.00098 0.219787 +0.216 0.00098 0.22168 0.22168 0.000986667 0.000986667 0.000986667 0.000993333 +0.000953333 0.00094 0.00098 0.00096 0.000966667 0.000946667 0.000973333 0.216 +0.000986667 0.000993333 0.000986667 0.000973333 0.000966667 0.00098 0.000966667 0.217893 +0.000973333 0.00096 0.216 0.22168 0.000793333 0.00082 0.00084 0.00088 +0.000853333 0.000806667 0.000766667 0.000733333 0.00072 0.000726667 0.00074 0.00076 +0.000733333 0.00074 0.0008 0.000826667 0.00084 0.000906667 0.217893 0.251973 +0.299307 0.382613 0.490533 0.541053 0.608632 0.688211 0.759579 0.813263 +0.849263 0.858105 0.842316 0.809474 0.758316 0.707158 0.659158 0.62 +0.588421 0.560632 0.538526 0.524 0.513895 0.508842 0.505684 0.500632 +0.501263 0.508842 0.520211 0.533474 0.552421 0.575789 0.593474 0.595368 +0.565053 0.525895 0.517053 0.541053 0.575789 0.606737 0.629474 0.633895 +0.614316 0.579579 0.531579 0.4432 0.32392 0.23872 0.00092 0.00082 +0.00088 0.27848 0.361787 0.407227 0.46024 0.473493 0.4716 0.458347 +0.39208 0.303093 0.231147 0.000893333 0.00076 0.0007 0.00068 0.000673333 +0.000673333 0.000706667 0.00078 0.000773333 0.0008 0.0008 0.000753333 0.00074 +0.000713333 0.000746667 0.000766667 0.000773333 0.000766667 0.000766667 0.00076 0.000753333 +0.00076 0.000753333 0.00078 0.000773333 0.00076 0.0008 0.0008 0.000866667 +0.000933333 0.216 0.28416 0.359893 0.450773 0.536632 0.639579 0.782316 +0.916211 0.988816 1.00253 1.0009 0.990776 0.971158 0.956632 0.956 +0.954105 0.959158 0.961053 0.964211 0.969263 0.967368 0.973053 0.986204 +0.995673 1.00188 1.00416 1.00678 1.00384 1.00253 1.00547 1.00514 +1.00318 1.00155 1.00057 1.0022 1.00188 0.996653 0.992082 0.991429 +0.994041 0.99698 0.998286 1.00024 1.00155 1.00155 0.999592 0.998612 +0.997633 0.994367 0.989796 0.986204 0.980653 0.962947 0.945895 0.925053 +0.891579 0.848632 0.805684 0.772211 0.754526 0.74 0.711579 0.681895 +0.674316 0.673684 0.657895 0.633895 0.624421 0.638316 0.65979 0.656 +0.654105 0.652842 0.643368 0.640842 0.638316 0.637053 0.66421 0.720421 +0.747579 0.746316 0.747579 0.720421 0.688211 0.677474 0.689474 0.726105 +0.779789 0.817053 0.836 0.854316 0.880842 0.902947 0.913053 0.937053 +0.985224 1.02441 1.12239 1.34911 1.51496 1.62452 1.65343 1.60321 +1.4967 1.3415 1.20151 1.12391 1.07674 1.05739 1.05641 1.05673 +1.05576 1.05837 1.11326 1.18629 1.28063 1.37497 1.42671 1.37041 +1.2289 1.05804 1.02604 1.00873 0.998286 0.997633 0.994367 0.987184 +0.984245 0.982612 0.973684 0.975579 0.984571 0.99698 1.01102 1.02343 +1.0342 1.03486 1.02735 1.01853 1.01069 1.00416 1.0022 1.00384 +1.00155 1.00057 1.00482 1.0009 1.00155 1.00449 1.0058 1.01265 +1.01396 1.01037 1.00645 1.00678 1.00873 1.01004 1.00971 1.00873 +1.00547 1.00122 1.00253 1.00482 1.01886 1.12847 1.33845 1.23194 +1.05739 1.04139 1.04269 1.1026 1.23955 1.08587 1.02049 1.00743 +0.999592 0.999265 1.00808 1.01102 1.01004 1.00645 1.00416 1.00906 +1.00873 1.00645 1.0071 1.00482 1.00612 1.00906 1.0071 1.00286 +1.00122 1.00122 1.00253 1.00547 1.00645 1.00873 1.00939 1.01069 +1.00906 1.00416 0.999265 0.994367 0.991102 0.992735 0.997306 0.995347 +0.998286 1.0009 1.00188 1.00645 1.00547 1.0058 1.00645 1.00514 +1.00449 1.00351 1.00253 1.00416 1.00808 1.00776 1.00906 1.01102 +1.01102 1.01331 1.0169 1.01853 1.02082 1.02996 1.0502 1.11021 +1.21368 1.33998 1.47692 1.588 1.67016 1.72646 1.73255 1.6869 +1.62604 1.54235 1.47844 1.44953 1.37041 1.28824 1.26998 1.26085 +1.21216 1.15434 1.12239 1.10869 1.11021 1.095 1.05706 1.04629 +1.03747 1.02963 1.0231 1.01853 1.01396 1.01004 1.00514 1.00122 +0.999918 0.999918 0.999592 0.996653 0.996327 0.998612 0.998939 1.00155 +1.00318 1.00122 1.00057 0.999592 1.00155 1.00318 0.999592 0.997959 +1.00286 1.0022 0.996327 0.990449 0.991429 0.997306 1.0009 1.00253 +1.00351 1.00253 1.00351 1.00547 1.00482 1.00253 0.995673 0.982612 +0.962316 0.956632 0.961684 0.959158 0.958526 0.956632 0.950947 0.951579 +0.962316 0.984245 0.998939 1.00449 1.0022 0.979368 0.863789 0.707789 +0.575158 0.496213 0.359893 0.265227 0.00096 0.000873333 0.000826667 0.000773333 +0.000826667 0.000873333 0.0009 0.00094 0.000926667 0.00082 0.00082 0.000826667 +0.000853333 0.000893333 0.000946667 0.248187 0.337173 0.439413 0.516421 0.556211 +0.590947 0.607368 0.614947 0.623789 0.626316 0.630737 0.631368 0.628842 +0.631368 0.632632 0.637053 0.651579 0.668 0.688842 0.714737 0.731789 +0.729263 0.698316 0.645263 0.582737 0.519579 0.42616 0.344747 0.287947 +0.259547 0.240613 0.236827 0.22736 0.223573 0.219787 0.000993333 0.000993333 +0.216 0.00098 0.000966667 0.000986667 0.223573 0.216 0.00096 0.000973333 +0.000966667 0.000953333 0.00098 0.000986667 0.00098 0.216 0.000986667 0.00098 +0.000973333 0.00096 0.000966667 0.000966667 0.000986667 0.00098 0.000973333 0.000986667 +0.216 0.00098 0.000993333 0.217893 0.000993333 0.000973333 0.00096 0.219787 +0.219787 0.000973333 0.000953333 0.000993333 0.000826667 0.000833333 0.000826667 0.000833333 +0.0008 0.00076 0.000753333 0.00072 0.000726667 0.000753333 0.000793333 0.00082 +0.000813333 0.00084 0.000886667 0.000973333 0.25008 0.308773 0.407227 0.507579 +0.554316 0.604842 0.662947 0.736211 0.804421 0.840421 0.839789 0.810105 +0.762105 0.704632 0.651579 0.603579 0.558737 0.523368 0.481067 0.42616 +0.378827 0.342853 0.325813 0.31256 0.3012 0.299307 0.3012 0.297413 +0.293627 0.29552 0.303093 0.30688 0.327707 0.348533 0.36368 0.38072 +0.376933 0.367467 0.376933 0.401547 0.452667 0.507579 0.542316 0.578316 +0.611158 0.637684 0.640211 0.618737 0.578947 0.527158 0.422373 0.29552 +0.248187 0.310667 0.39776 0.446987 0.450773 0.384507 0.36368 0.42048 +0.467813 0.456453 0.401547 0.325813 0.236827 0.00084 0.000746667 0.000733333 +0.000706667 0.000726667 0.0008 0.000766667 0.000766667 0.000786667 0.0008 0.00078 +0.000746667 0.000766667 0.00076 0.000726667 0.00074 0.00074 0.00074 0.00074 +0.000753333 0.000746667 0.00078 0.000766667 0.000753333 0.0008 0.000786667 0.000826667 +0.00088 0.000846667 0.00094 0.274693 0.34664 0.4148 0.512 0.595368 +0.729263 0.874526 0.978105 1.00351 1.00482 0.993061 0.980327 0.966737 +0.956 0.956 0.959789 0.960421 0.965474 0.967368 0.965474 0.971158 +0.982939 0.993061 1.00057 1.00547 1.00482 1.00384 1.00514 1.00416 +1.0022 1.00286 1.0022 1.0009 1.00286 1.00253 0.998612 0.996653 +0.993061 0.992408 0.995347 0.997306 0.997959 0.998939 0.998939 0.997959 +0.997959 0.995347 0.994041 0.992735 0.989796 0.986531 0.984571 0.982286 +0.973684 0.956632 0.926947 0.892842 0.865053 0.842316 0.822737 0.801895 +0.786105 0.774105 0.762105 0.740632 0.725474 0.728632 0.738105 0.731789 +0.729895 0.732421 0.728 0.726105 0.725474 0.729895 0.753895 0.791158 +0.815158 0.824632 0.824632 0.806316 0.791789 0.788 0.796211 0.826526 +0.863158 0.890947 0.918105 0.943368 0.971158 0.994694 1.01984 1.05249 +1.22281 1.4404 1.61234 1.66712 1.63212 1.54996 1.41301 1.28824 +1.20151 1.10413 1.05184 1.0502 1.05412 1.05673 1.0813 1.11173 +1.14977 1.19694 1.27911 1.36736 1.42214 1.3978 1.29585 1.13608 +1.044 1.0169 1.00514 1.0009 0.998939 0.998939 0.994694 0.990449 +0.989143 0.985224 0.982286 0.985878 0.984245 0.985224 0.990449 1.00024 +1.0071 1.00449 1.00514 1.0058 1.00645 1.00449 1.00449 1.00645 +1.00384 1.00384 1.0071 1.0058 1.00612 1.00351 1.00449 1.01135 +1.01167 1.00645 1.00253 1.00384 1.0071 1.00841 1.00939 1.00743 +1.00318 1.00057 1.0022 1.00253 1.00776 1.05543 1.35215 1.29889 +1.05641 1.0342 1.0378 1.1376 1.28215 1.07065 1.01657 1.00122 +0.993714 0.997306 1.00645 1.00873 1.00841 1.00678 1.00645 1.01004 +1.00873 1.00873 1.00678 1.00547 1.00906 1.00678 1.00122 0.998612 +1.00188 1.0071 1.00808 1.00808 1.00841 1.00939 1.00873 1.00776 +1.00286 0.997633 0.994041 0.995347 0.99502 0.996653 1.00482 1.00449 +1.00449 1.00645 1.00612 1.00808 1.00645 1.00384 1.00743 1.00841 +1.00612 1.00482 1.00514 1.00678 1.00873 1.00808 1.01004 1.01233 +1.012 1.01167 1.01298 1.01396 1.01298 1.01167 1.01592 1.02114 +1.02539 1.03616 1.05282 1.10869 1.20303 1.31715 1.41149 1.47692 +1.51496 1.52257 1.53626 1.55909 1.52105 1.46475 1.44497 1.40541 +1.34911 1.29433 1.22738 1.16499 1.13608 1.12086 1.07217 1.05184 +1.04531 1.03845 1.03061 1.02441 1.01853 1.01298 1.0058 1.00155 +1.00122 0.998612 0.99698 0.997306 0.998286 0.997633 0.99502 0.99502 +0.997306 0.998612 0.997959 0.997633 0.997633 1.00024 0.999592 0.998612 +1.00024 0.998286 0.997306 0.998612 0.999592 1.00122 1.00482 1.00384 +1.00253 1.0022 1.0022 1.00188 0.998939 0.993061 0.981306 0.958526 +0.952842 0.959789 0.960421 0.952842 0.950947 0.947158 0.954105 0.969895 +0.986204 0.998286 1.00416 0.998286 0.957895 0.834737 0.678737 0.558737 +0.469707 0.34096 0.248187 0.000933333 0.00086 0.00082 0.000813333 0.000846667 +0.000873333 0.000873333 0.000853333 0.000833333 0.00088 0.000833333 0.000806667 0.000873333 +0.225467 0.276587 0.367467 0.492427 0.538526 0.573895 0.597895 0.616842 +0.629474 0.627579 0.628842 0.632632 0.633263 0.635158 0.633895 0.633263 +0.643368 0.656 0.675579 0.706526 0.733684 0.746316 0.733684 0.692632 +0.631368 0.565053 0.505053 0.399653 0.31824 0.2728 0.257653 0.240613 +0.229253 0.223573 0.225467 0.000993333 0.00098 0.000993333 0.000973333 0.000973333 +0.000986667 0.000986667 0.000973333 0.00096 0.000986667 0.216 0.000953333 0.00094 +0.00094 0.00092 0.000926667 0.000946667 0.000946667 0.00096 0.000973333 0.000953333 +0.000953333 0.000966667 0.000966667 0.000933333 0.000946667 0.00096 0.000933333 0.000946667 +0.000966667 0.00094 0.000946667 0.00096 0.00096 0.000953333 0.000946667 0.00094 +0.000966667 0.000966667 0.000933333 0.000953333 0.000806667 0.000813333 0.00084 0.00084 +0.000793333 0.00078 0.000773333 0.000766667 0.000793333 0.000793333 0.000786667 0.00082 +0.000893333 0.216 0.274693 0.376933 0.502526 0.549895 0.592842 0.631368 +0.669895 0.710947 0.758316 0.795579 0.786737 0.738737 0.678737 0.622526 +0.574526 0.532842 0.502526 0.433733 0.365573 0.314453 0.282267 0.26712 +0.251973 0.246293 0.2444 0.234933 0.231147 0.23304 0.242507 0.246293 +0.240613 0.236827 0.236827 0.23304 0.240613 0.240613 0.236827 0.240613 +0.248187 0.263333 0.274693 0.28416 0.314453 0.350427 0.395867 0.44888 +0.507579 0.546105 0.587789 0.625684 0.644632 0.645895 0.62 0.571368 +0.520842 0.473493 0.47728 0.504421 0.504421 0.424267 0.331493 0.316347 +0.367467 0.43184 0.479173 0.486747 0.42616 0.333387 0.25576 0.00092 +0.00078 0.000766667 0.000793333 0.000746667 0.000726667 0.000786667 0.000826667 0.00082 +0.000806667 0.000813333 0.000786667 0.00074 0.00074 0.000746667 0.000753333 0.000753333 +0.000753333 0.000746667 0.000766667 0.000746667 0.00072 0.000766667 0.000793333 0.00078 +0.000813333 0.000813333 0.00082 0.000933333 0.23872 0.308773 0.39208 0.486747 +0.559368 0.682526 0.834105 0.955368 0.998286 1.00384 0.996327 0.985551 +0.967368 0.953474 0.952211 0.953474 0.956632 0.962947 0.965474 0.966105 +0.974316 0.981959 0.987837 0.997306 1.00482 1.00612 1.00384 1.00188 +1.00122 1.00416 1.00416 1.00057 0.999592 1.0022 1.00318 1.00122 +0.99698 0.992082 0.993061 0.99502 0.996653 0.997959 0.998286 0.997959 +0.998286 0.99698 0.997306 0.998286 0.99698 0.994694 0.993388 0.992082 +0.990122 0.986857 0.98 0.966737 0.947789 0.931368 0.921895 0.906105 +0.893474 0.887158 0.878316 0.866316 0.852421 0.844211 0.841053 0.833474 +0.827158 0.831579 0.836 0.836632 0.839789 0.842947 0.856211 0.880842 +0.899789 0.907368 0.901684 0.888421 0.885263 0.889053 0.896632 0.914947 +0.945895 0.980653 1.00384 1.02963 1.05967 1.22738 1.39323 1.52409 +1.60626 1.62604 1.56822 1.43432 1.29128 1.16956 1.07217 1.05282 +1.0502 1.05151 1.04955 1.05184 1.07065 1.14369 1.2289 1.28824 +1.35519 1.40997 1.40997 1.36584 1.27303 1.13912 1.04824 1.02702 +1.01298 1.00188 0.998286 0.996 0.99698 0.996 0.992735 0.992408 +0.992408 0.990122 0.994694 0.999592 0.995347 0.990122 0.986204 0.990449 +0.991102 0.991755 0.999265 0.998612 0.997959 0.998286 0.999918 1.00351 +1.00253 1.00318 1.00482 1.00449 1.00645 1.00286 1.00188 1.00384 +1.00286 1.0022 1.00122 1.00318 1.00384 1.00645 1.00873 1.00416 +1.00122 0.999918 1.00253 1.00253 1.00384 1.03649 1.28368 1.33237 +1.06152 1.02996 1.0378 1.19238 1.2852 1.0489 1.00645 0.994694 +0.995673 1.00155 1.00808 1.00743 1.00743 1.00743 1.0071 1.01037 +1.00841 1.0071 1.00188 1.00057 1.00514 1.00155 0.999592 1.00286 +1.00612 1.01135 1.01233 1.01135 1.01037 1.01102 1.00808 1.00318 +0.998286 0.994694 0.994694 0.998286 0.999592 1.00155 1.00776 1.0071 +1.00449 1.0058 1.00449 1.00645 1.00645 1.00449 1.00808 1.00873 +1.0071 1.0058 1.00612 1.00971 1.00971 1.00906 1.01135 1.01461 +1.01624 1.01592 1.0169 1.01722 1.01624 1.01233 1.00841 1.01004 +1.01363 1.01494 1.0169 1.02082 1.02637 1.03453 1.044 1.05673 +1.09956 1.14825 1.20151 1.25629 1.29128 1.31563 1.33845 1.33389 +1.31259 1.29585 1.25324 1.21673 1.19238 1.1513 1.09956 1.06 +1.05314 1.044 1.03388 1.02539 1.01853 1.01135 1.00416 1.00057 +0.999265 0.996653 0.993388 0.995347 0.996327 0.99698 0.997633 0.996327 +0.998286 0.999592 0.997959 0.994041 0.990776 0.994694 0.999265 1.00057 +1.00122 1.00024 1.0009 1.00318 1.00286 1.00253 1.00416 1.00416 +1.00351 1.00318 1.00122 0.99698 0.989469 0.98098 0.964211 0.952211 +0.957263 0.960421 0.952842 0.951579 0.952842 0.959158 0.981633 0.992082 +1.00155 1.00514 0.992082 0.931368 0.797474 0.644632 0.540421 0.435627 +0.320133 0.23304 0.00086 0.000866667 0.000893333 0.00086 0.000873333 0.000913333 +0.000866667 0.000833333 0.000846667 0.000833333 0.00092 0.000986667 0.242507 0.316347 +0.433733 0.511368 0.550526 0.589053 0.610526 0.625053 0.634526 0.637684 +0.639579 0.637053 0.636421 0.635789 0.635158 0.640842 0.647158 0.662316 +0.693263 0.721684 0.743789 0.750737 0.728632 0.682526 0.616842 0.548632 +0.486747 0.36936 0.293627 0.265227 0.246293 0.231147 0.22736 0.22736 +0.219787 0.216 0.223573 0.000986667 0.00094 0.000933333 0.000946667 0.000946667 +0.000953333 0.000946667 0.00098 0.000973333 0.00096 0.00098 0.000973333 0.000973333 +0.00098 0.00094 0.000933333 0.00096 0.000953333 0.000946667 0.00096 0.000953333 +0.000946667 0.000953333 0.00096 0.00094 0.000926667 0.00094 0.00092 0.00094 +0.000966667 0.000953333 0.00096 0.000966667 0.00096 0.00098 0.00098 0.000966667 +0.000953333 0.000966667 0.000966667 0.00098 0.00096 0.00094 0.000953333 0.00092 +0.000886667 0.000866667 0.00086 0.000866667 0.000873333 0.00088 0.000933333 0.25008 +0.3296 0.43752 0.527789 0.577053 0.613684 0.628211 0.625684 0.635158 +0.670526 0.712211 0.724842 0.690105 0.630737 0.573263 0.528421 0.492427 +0.412907 0.34664 0.297413 0.263333 0.248187 0.23872 0.223573 0.22168 +0.217893 0.219787 0.219787 0.000993333 0.217893 0.217893 0.22736 0.23304 +0.223573 0.000986667 0.00098 0.000973333 0.216 0.000993333 0.000966667 0.000946667 +0.000986667 0.22168 0.000993333 0.217893 0.242507 0.263333 0.27848 0.293627 +0.333387 0.39208 0.46024 0.518316 0.550526 0.594105 0.631368 0.652211 +0.647158 0.619368 0.589053 0.566316 0.554316 0.536 0.502526 0.393973 +0.3296 0.322027 0.367467 0.4432 0.492427 0.49432 0.4432 0.337173 +0.23872 0.000913333 0.00086 0.00078 0.000773333 0.000806667 0.000793333 0.000833333 +0.00086 0.000873333 0.000886667 0.00084 0.00082 0.0008 0.00078 0.000766667 +0.00076 0.000746667 0.000746667 0.00074 0.00072 0.000746667 0.000753333 0.000726667 +0.00074 0.000766667 0.0008 0.00086 0.00088 0.00098 0.287947 0.361787 +0.439413 0.537263 0.638947 0.778526 0.911789 0.987837 1.0022 0.997959 +0.987184 0.971158 0.954105 0.948421 0.949684 0.952211 0.961684 0.967368 +0.970526 0.970526 0.973684 0.983918 0.99502 1.00188 1.00155 1.00057 +1.00122 1.00188 1.00188 1.0022 1.00024 0.999918 1.00122 1.00122 +0.998939 0.996327 0.993388 0.991102 0.993388 0.99698 0.997959 0.997306 +0.997633 0.999918 0.999265 0.997959 0.998286 0.997306 0.995347 0.993061 +0.990776 0.989143 0.989796 0.988816 0.982939 0.98 0.973684 0.962947 +0.956 0.956 0.952842 0.945895 0.937684 0.935789 0.935789 0.928842 +0.921263 0.921263 0.922526 0.923158 0.924421 0.924421 0.931368 0.944632 +0.954737 0.961053 0.964842 0.971789 0.981633 0.990449 1.00318 1.02212 +1.04988 1.1513 1.28672 1.41149 1.53778 1.61539 1.61082 1.53931 +1.42975 1.31563 1.18782 1.0813 1.05118 1.04008 1.03518 1.03616 +1.03682 1.0489 1.0813 1.15738 1.25629 1.37345 1.46627 1.4967 +1.48149 1.41606 1.2852 1.12543 1.04367 1.0218 1.00841 1.00416 +0.999592 0.996327 0.994694 0.993388 0.994367 0.992735 0.992408 0.993061 +0.992735 0.99502 1.00547 1.00678 1.00253 0.999265 0.994694 0.994694 +0.990449 0.992082 0.997633 0.99502 0.995673 0.994367 0.99502 0.998939 +0.999918 1.00286 1.00743 1.00776 1.00612 1.0022 1.00188 1.00155 +1.00286 1.00416 1.00416 1.00612 1.00449 1.00678 1.00873 1.00384 +1.00024 1.00057 1.0009 1.00188 1.00318 1.02278 1.17716 1.3278 +1.0813 1.02963 1.04433 1.23803 1.24411 1.02963 0.994367 0.993061 +1.0009 1.00416 1.00547 1.00612 1.00645 1.0071 1.00612 1.00776 +1.00841 1.00743 1.00155 1.00122 1.00416 1.00155 1.0022 1.00743 +1.00743 1.01004 1.01331 1.01298 1.00776 1.00776 1.00514 1.0022 +0.999918 0.999592 1.00188 1.00514 1.00416 1.00449 1.00906 1.00906 +1.00678 1.00776 1.00808 1.00939 1.01167 1.00841 1.00939 1.01167 +1.01069 1.01102 1.01135 1.01429 1.01527 1.01396 1.01396 1.01624 +1.01722 1.0169 1.0182 1.01788 1.01657 1.01265 1.00841 1.00841 +1.012 1.012 1.01069 1.01363 1.01527 1.01722 1.01788 1.02114 +1.02539 1.028 1.02898 1.03192 1.03845 1.04629 1.0538 1.05869 +1.06609 1.07826 1.08739 1.11021 1.13608 1.13456 1.11478 1.07065 +1.05282 1.04302 1.03192 1.02343 1.01461 1.0071 1.0022 0.997959 +0.995347 0.994694 0.993714 0.996 1.00057 1.00449 1.00547 1.00416 +1.00482 1.00482 0.998286 0.98751 0.984898 0.990776 0.997959 1.0009 +1.00449 1.00776 1.00678 1.0071 1.00808 1.00776 1.00678 1.00743 +1.00841 1.00482 0.997959 0.987184 0.973684 0.964211 0.960421 0.958526 +0.959158 0.955368 0.949684 0.954737 0.967368 0.985878 0.998286 1.00547 +1.00645 0.985224 0.893474 0.760842 0.62 0.517053 0.405333 0.29552 +0.223573 0.000913333 0.000846667 0.00088 0.0009 0.000893333 0.00092 0.000906667 +0.000873333 0.00088 0.000933333 0.23872 0.3012 0.3864 0.490533 0.534737 +0.577053 0.600421 0.617474 0.631368 0.635789 0.636421 0.639579 0.641474 +0.638316 0.638316 0.638316 0.639579 0.650316 0.673684 0.698947 0.730526 +0.753895 0.746316 0.714737 0.661684 0.595368 0.535368 0.45456 0.348533 +0.28984 0.257653 0.23872 0.23304 0.229253 0.216 0.00098 0.217893 +0.219787 0.000986667 0.000986667 0.00096 0.000926667 0.00092 0.00092 0.000926667 +0.00094 0.000926667 0.000966667 0.000986667 0.000973333 0.000973333 0.000966667 0.00098 +0.000993333 0.00094 0.00092 0.000933333 0.000946667 0.00094 0.000953333 0.000953333 +0.000953333 0.000953333 0.000933333 0.000966667 0.000946667 0.000933333 0.000933333 0.000933333 +0.00096 0.000966667 0.000953333 0.00096 0.00098 0.00098 0.000993333 0.217893 +0.00098 0.00096 0.00096 0.00096 0.00094 0.0009 0.000886667 0.000853333 +0.000846667 0.000846667 0.000846667 0.000886667 0.216 0.282267 0.371253 0.501263 +0.548632 0.591579 0.618105 0.616842 0.594105 0.563789 0.561895 0.609895 +0.666105 0.673684 0.625053 0.560632 0.512 0.445093 0.376933 0.320133 +0.274693 0.248187 0.23304 0.225467 0.225467 0.223573 0.216 0.216 +0.000986667 0.217893 0.223573 0.000986667 0.219787 0.223573 0.225467 0.225467 +0.000993333 0.00096 0.000966667 0.00098 0.217893 0.00098 0.000946667 0.000913333 +0.000933333 0.00096 0.000946667 0.000973333 0.000993333 0.216 0.219787 0.223573 +0.248187 0.2728 0.29552 0.333387 0.371253 0.450773 0.522105 0.565684 +0.611158 0.645263 0.663579 0.661053 0.649053 0.625684 0.591579 0.549895 +0.505684 0.40344 0.339067 0.33528 0.38072 0.456453 0.503789 0.496213 +0.42048 0.333387 0.257653 0.000926667 0.000846667 0.000813333 0.000786667 0.00084 +0.000853333 0.00088 0.000946667 0.000933333 0.000913333 0.000873333 0.00082 0.000786667 +0.000773333 0.00076 0.00076 0.000773333 0.000766667 0.000766667 0.000766667 0.000753333 +0.000766667 0.0008 0.00082 0.00086 0.00086 0.000833333 0.00092 0.257653 +0.342853 0.43752 0.518947 0.595368 0.727368 0.876421 0.978737 0.999918 +1.0009 0.991102 0.975579 0.956 0.947789 0.946526 0.954105 0.957895 +0.959158 0.960421 0.964211 0.971158 0.98 0.988816 0.996327 1.0009 +1.00188 1.00155 1.00188 1.00416 1.00384 1.0022 0.999592 1.00024 +1.00155 0.999265 0.99502 0.990122 0.991429 0.995673 0.99698 0.995673 +0.994694 0.999918 1.0009 0.998286 0.999265 0.998939 0.996 0.994694 +0.993061 0.992082 0.994041 0.993714 0.992408 0.991102 0.986531 0.983265 +0.981633 0.981306 0.981959 0.979368 0.972421 0.971789 0.974316 0.974947 +0.976211 0.977474 0.978737 0.980327 0.981306 0.983592 0.989143 0.995347 +1.00416 1.01722 1.0342 1.05412 1.12695 1.20455 1.27303 1.36128 +1.43888 1.48757 1.5104 1.51192 1.49366 1.42823 1.31563 1.18782 +1.09652 1.05673 1.04727 1.04204 1.04008 1.03649 1.03747 1.04269 +1.04922 1.11478 1.25781 1.38867 1.49974 1.56365 1.55909 1.4754 +1.33541 1.17716 1.05347 1.02539 1.00939 1.00351 0.999265 1.00057 +1.0009 0.998939 0.997633 0.99698 0.99698 0.995347 0.99698 0.997633 +0.997633 1.00024 1.00678 1.00547 1.00449 1.00188 0.999592 0.998939 +0.995347 0.999265 1.00057 0.998939 1.00122 0.998612 0.996653 0.998939 +1.00122 1.00612 1.01004 1.01004 1.00645 1.00318 1.00351 1.00155 +1.00286 1.00351 1.00122 1.00057 1.00155 1.0058 1.00547 0.999918 +0.996327 1.00024 0.999592 1.00155 1.00547 1.01429 1.07369 1.29433 +1.13304 1.0391 1.0551 1.26694 1.17716 1.01755 0.993061 0.997633 +1.00384 1.00384 1.00351 1.0071 1.00841 1.00514 1.00188 1.00057 +1.00155 1.00057 0.997959 1.00286 1.00514 1.00351 1.00318 1.00776 +1.00841 1.01069 1.01494 1.01494 1.00939 1.00906 1.00612 1.00514 +1.00514 1.0058 1.00808 1.00906 1.00678 1.00351 1.00743 1.01004 +1.00678 1.00873 1.01069 1.00939 1.01233 1.01037 1.00939 1.01363 +1.01331 1.012 1.01069 1.012 1.01298 1.01167 1.01135 1.01331 +1.01461 1.01233 1.01559 1.0182 1.01788 1.01429 1.01135 1.00971 +1.012 1.01429 1.01363 1.01461 1.01559 1.01755 1.01624 1.01592 +1.01886 1.01788 1.01494 1.01722 1.01951 1.01918 1.01853 1.01984 +1.02278 1.02278 1.02343 1.02898 1.03584 1.04237 1.04465 1.04106 +1.03714 1.03159 1.02278 1.01461 1.00449 0.996 0.993061 0.991429 +0.991755 0.996327 1.00122 1.00351 1.00743 1.01004 1.00971 1.01102 +1.01233 1.00906 0.998286 0.982939 0.982612 0.992735 1.0009 1.00416 +1.00873 1.01037 1.0071 1.00776 1.01004 1.00939 1.00612 1.0058 +1.00449 0.994367 0.982939 0.968 0.960421 0.961053 0.961053 0.959789 +0.956632 0.955368 0.961684 0.976842 0.990122 1.00122 1.00416 1.00024 +0.969895 0.851158 0.707789 0.589053 0.505684 0.36368 0.26712 0.00096 +0.00092 0.00092 0.00092 0.00096 0.000953333 0.0009 0.000893333 0.000906667 +0.000993333 0.26712 0.33528 0.456453 0.522737 0.558737 0.590947 0.615579 +0.633263 0.638947 0.640842 0.640211 0.640211 0.637684 0.634526 0.637053 +0.634526 0.642737 0.656632 0.675579 0.709684 0.743158 0.753263 0.742526 +0.705895 0.641474 0.577053 0.520211 0.422373 0.331493 0.282267 0.248187 +0.234933 0.231147 0.223573 0.217893 0.216 0.216 0.000993333 0.000993333 +0.219787 0.22168 0.216 0.00096 0.000933333 0.000946667 0.000946667 0.000926667 +0.000933333 0.000933333 0.000933333 0.000966667 0.000986667 0.000993333 0.000973333 0.000946667 +0.000986667 0.00098 0.000946667 0.000946667 0.000946667 0.00094 0.000953333 0.00096 +0.000973333 0.000953333 0.00092 0.000993333 0.000993333 0.000966667 0.000966667 0.00096 +0.000953333 0.000966667 0.000953333 0.000953333 0.000973333 0.000993333 0.000993333 0.00098 +0.000973333 0.000966667 0.00096 0.00098 0.00088 0.000866667 0.000826667 0.000853333 +0.0009 0.22168 0.276587 0.359893 0.479173 0.536632 0.578316 0.609895 +0.620632 0.602947 0.566316 0.522105 0.464027 0.479173 0.563158 0.643368 +0.652211 0.593474 0.529053 0.46024 0.373147 0.320133 0.2728 0.242507 +0.225467 0.22168 0.223573 0.217893 0.00098 0.00098 0.000986667 0.000986667 +0.00098 0.000993333 0.216 0.000973333 0.000993333 0.216 0.000986667 0.000973333 +0.000946667 0.00094 0.000933333 0.000953333 0.00098 0.000946667 0.000913333 0.0009 +0.00092 0.000973333 0.000973333 0.00098 0.00096 0.000953333 0.000986667 0.000993333 +0.22168 0.219787 0.219787 0.2444 0.26144 0.293627 0.337173 0.390187 +0.47728 0.532211 0.582737 0.632 0.670526 0.690105 0.688211 0.667368 +0.628211 0.577053 0.525895 0.458347 0.39208 0.37504 0.407227 0.467813 +0.505684 0.502526 0.429947 0.322027 0.234933 0.0009 0.00084 0.00084 +0.00084 0.000873333 0.00094 0.000986667 0.23872 0.240613 0.00098 0.000866667 +0.00082 0.0008 0.000786667 0.000793333 0.000786667 0.000766667 0.000793333 0.00078 +0.00076 0.000766667 0.000746667 0.000773333 0.000826667 0.0008 0.00078 0.000866667 +0.236827 0.327707 0.42048 0.506316 0.569474 0.692 0.844842 0.965474 +1.00122 1.00253 0.993061 0.98098 0.961053 0.949684 0.950316 0.952842 +0.955368 0.961684 0.964211 0.968 0.968632 0.970526 0.983592 0.992735 +0.997959 1.00155 1.00384 1.00416 1.00416 1.00318 1.00286 1.0022 +1.0022 1.00122 0.998612 0.99698 0.99502 0.995347 0.995673 0.996327 +0.99502 0.996327 1.00057 1.00057 0.998939 0.998612 0.998612 0.99698 +0.993714 0.993388 0.994041 0.992082 0.992735 0.993061 0.992408 0.992408 +0.992408 0.994041 0.996327 0.996 0.995347 0.996653 0.997633 1.00057 +1.00514 1.00971 1.01461 1.02147 1.028 1.03616 1.04661 1.05347 +1.07369 1.1513 1.24107 1.32932 1.38867 1.41149 1.40997 1.40997 +1.36889 1.28976 1.23042 1.18325 1.14217 1.10869 1.05935 1.04792 +1.04204 1.04041 1.04139 1.04498 1.04792 1.05249 1.07674 1.14369 +1.24716 1.40236 1.53474 1.59256 1.58343 1.49062 1.34758 1.19999 +1.05902 1.03453 1.01918 1.00906 1.00482 1.00253 0.999918 1.00188 +1.00253 1.00024 1.00057 1.00057 0.998939 0.997633 1.0009 1.00318 +1.00318 1.00416 1.00449 1.00416 1.00351 1.00024 1.00155 1.00122 +0.999918 1.0022 1.00024 0.998939 1.00253 1.00155 1.00024 1.00253 +1.00122 1.00482 1.00743 1.0058 1.00416 1.00318 1.00416 1.00253 +1.00286 1.00188 1.0009 0.995347 0.995347 1.00416 1.00482 0.998939 +0.996327 1.00384 1.00286 1.00351 1.01069 1.01429 1.05118 1.27759 +1.23194 1.06456 1.11478 1.30346 1.12695 1.01135 0.99502 0.999918 +1.00514 1.00482 1.00514 1.01167 1.012 1.00906 1.00351 0.998612 +0.995347 0.992082 0.992735 1.00155 1.00482 1.00743 1.00678 1.00873 +1.01135 1.01102 1.01429 1.01624 1.01037 1.00873 1.00743 1.00808 +1.00873 1.00645 1.00841 1.01037 1.00873 1.00776 1.01069 1.01167 +1.00808 1.00906 1.012 1.01004 1.01135 1.01298 1.01265 1.01363 +1.01265 1.01102 1.01069 1.01069 1.01069 1.00841 1.0058 1.00612 +1.00971 1.01069 1.01461 1.0182 1.01951 1.01592 1.01331 1.01135 +1.01331 1.01722 1.01722 1.01755 1.01624 1.01755 1.01527 1.01494 +1.0182 1.01755 1.01755 1.01918 1.01853 1.01755 1.0169 1.01527 +1.01461 1.01167 1.01037 1.01363 1.01461 1.01559 1.01559 1.01363 +1.01298 1.01363 1.012 1.00776 1.00155 0.997959 0.997633 0.997959 +0.998612 1.00253 1.00678 1.00841 1.00939 1.01069 1.01167 1.01429 +1.01363 1.0058 0.992082 0.982939 0.989469 0.999592 1.00612 1.00939 +1.00971 1.00678 1.0058 1.00678 1.00808 1.00612 1.00188 0.997633 +0.990122 0.98 0.964842 0.959158 0.959158 0.958526 0.957263 0.956632 +0.960421 0.968632 0.983918 0.997633 1.00416 1.00547 0.994367 0.938316 +0.809474 0.661053 0.553684 0.467813 0.33528 0.246293 0.000893333 0.00086 +0.000933333 0.000953333 0.00098 0.216 0.000993333 0.00098 0.236827 0.28984 +0.3864 0.503789 0.542316 0.582105 0.607368 0.624421 0.634526 0.641474 +0.642105 0.638947 0.637684 0.635158 0.636421 0.638316 0.636421 0.645895 +0.661684 0.688842 0.719158 0.741263 0.750105 0.734316 0.686316 0.624421 +0.561263 0.505684 0.401547 0.325813 0.280373 0.25008 0.234933 0.22168 +0.000986667 0.000986667 0.00098 0.000973333 0.000953333 0.00096 0.216 0.000986667 +0.00098 0.216 0.217893 0.000973333 0.00096 0.000966667 0.00096 0.000933333 +0.00092 0.000933333 0.000926667 0.000933333 0.000966667 0.216 0.000986667 0.000946667 +0.00096 0.000986667 0.000973333 0.000966667 0.00096 0.000946667 0.00094 0.000946667 +0.000966667 0.000953333 0.00094 0.216 0.216 0.000986667 0.000986667 0.000973333 +0.00096 0.000953333 0.000946667 0.000966667 0.000993333 0.219787 0.22736 0.000993333 +0.000993333 0.217893 0.00098 0.000966667 0.000906667 0.000953333 0.22168 0.28984 +0.36936 0.484853 0.538526 0.576421 0.609895 0.622526 0.611789 0.584 +0.542316 0.48864 0.376933 0.30688 0.342853 0.525263 0.631368 0.65979 +0.590316 0.515789 0.4148 0.333387 0.27848 0.257653 0.23872 0.225467 +0.217893 0.22168 0.229253 0.22168 0.000966667 0.00098 0.216 0.00098 +0.000986667 0.000993333 0.000973333 0.000973333 0.000986667 0.217893 0.216 0.00096 +0.00096 0.000946667 0.000913333 0.000926667 0.000953333 0.000926667 0.0009 0.0009 +0.000926667 0.000946667 0.000933333 0.00094 0.000913333 0.00092 0.00096 0.00096 +0.000973333 0.00096 0.000966667 0.219787 0.223573 0.229253 0.236827 0.257653 +0.28984 0.337173 0.42048 0.509474 0.554947 0.608 0.660421 0.698947 +0.714737 0.701474 0.662316 0.610526 0.558105 0.509474 0.428053 0.401547 +0.439413 0.492427 0.506316 0.484853 0.411013 0.322027 0.234933 0.0009 +0.000873333 0.216 0.251973 0.28416 0.348533 0.371253 0.331493 0.276587 +0.229253 0.00094 0.000913333 0.000853333 0.000813333 0.000806667 0.00082 0.000806667 +0.000766667 0.000746667 0.000733333 0.00076 0.000833333 0.00084 0.000813333 0.000826667 +0.000866667 0.000986667 0.293627 0.393973 0.479173 0.546737 0.654105 0.800632 +0.934526 0.992408 1.0009 0.996653 0.985878 0.964211 0.948421 0.949053 +0.952842 0.956 0.956632 0.960421 0.966105 0.966105 0.968 0.978737 +0.986531 0.996653 1.0009 1.00253 1.00384 1.0022 1.00253 1.00351 +1.00057 0.999592 1.00057 1.0009 0.999592 0.997306 0.994041 0.991755 +0.990449 0.989143 0.994041 0.998612 0.997959 0.998612 1.0009 0.999918 +0.997959 0.997633 0.995673 0.992082 0.991102 0.991755 0.993714 0.995673 +0.997633 1.0009 1.00286 1.00286 1.00645 1.01167 1.01559 1.01951 +1.02539 1.03127 1.03878 1.04759 1.0551 1.06913 1.09348 1.1026 +1.10413 1.11782 1.15282 1.18629 1.1939 1.1726 1.1376 1.12847 +1.10565 1.05869 1.05086 1.04792 1.04922 1.05151 1.04563 1.03976 +1.03812 1.04139 1.05184 1.08435 1.14369 1.24259 1.38258 1.50735 +1.6093 1.65799 1.61843 1.50279 1.32476 1.13608 1.04661 1.02865 +1.01624 1.00873 1.00449 1.00286 1.00318 1.00155 1.0009 0.999918 +0.996653 0.995673 0.997306 0.998612 0.998612 0.998612 1.00122 0.999592 +0.999918 1.00024 1.00188 1.00286 1.00122 0.998612 0.999592 0.999918 +1.0009 1.0009 0.998939 1.00024 1.00384 1.0022 1.00253 1.00384 +1.0009 1.00482 1.00841 1.00514 1.00384 1.0022 1.00318 1.00384 +1.00416 1.00384 1.00384 0.996 0.992408 1.00188 1.00939 1.00416 +1.00057 1.00841 1.00873 1.00482 1.00547 1.0071 1.03747 1.22586 +1.2715 1.15282 1.23651 1.3841 1.11934 1.01429 1.00449 1.00678 +1.00743 1.00678 1.00645 1.01102 1.01102 1.00873 1.00416 0.999918 +0.996653 0.99502 0.995347 0.999918 1.00384 1.00776 1.00612 1.00808 +1.01233 1.01102 1.01331 1.01494 1.00906 1.00645 1.0071 1.00906 +1.01004 1.00873 1.01135 1.01265 1.01167 1.01037 1.01135 1.01233 +1.01069 1.00971 1.01004 1.00906 1.00939 1.01167 1.01233 1.01396 +1.01461 1.01494 1.01461 1.01494 1.01363 1.01135 1.00971 1.00645 +1.01037 1.01461 1.01755 1.02049 1.02016 1.01592 1.01429 1.01363 +1.01559 1.01755 1.01918 1.01918 1.01755 1.01722 1.01559 1.01624 +1.0169 1.0169 1.01755 1.01559 1.01559 1.01788 1.01788 1.01461 +1.01167 1.01135 1.01135 1.01233 1.01265 1.01331 1.01167 1.00645 +1.00253 1.00286 1.00612 1.00743 1.00547 1.00384 1.00384 1.00384 +1.00286 1.00155 1.00318 1.0058 1.00808 1.01069 1.012 1.01233 +1.01004 1.00122 0.992408 0.994367 1.0022 1.0058 1.00743 1.00906 +1.0071 1.00612 1.00841 1.00808 1.00482 0.998612 0.993061 0.983592 +0.972421 0.967368 0.959158 0.957895 0.958526 0.955368 0.954105 0.961684 +0.980327 0.98849 0.998286 1.00743 1.00384 0.982939 0.897263 0.760211 +0.621895 0.528421 0.418587 0.304987 0.22168 0.0009 0.000866667 0.00094 +0.22168 0.216 0.00098 0.22168 0.2728 0.342853 0.44888 0.523368 +0.564421 0.596 0.619368 0.635789 0.640842 0.644 0.642105 0.641474 +0.638947 0.633895 0.628211 0.630105 0.639579 0.656 0.673053 0.698947 +0.730526 0.750105 0.744421 0.714105 0.662947 0.59979 0.537263 0.4716 +0.36936 0.316347 0.282267 0.257653 0.2444 0.234933 0.22736 0.22168 +0.22168 0.217893 0.000966667 0.000993333 0.216 0.000993333 0.219787 0.217893 +0.00098 0.000993333 0.219787 0.000986667 0.216 0.22168 0.00098 0.000946667 +0.000946667 0.000946667 0.000933333 0.00092 0.000953333 0.22168 0.217893 0.00098 +0.00098 0.000986667 0.000993333 0.000993333 0.00098 0.000966667 0.000966667 0.000953333 +0.000953333 0.00096 0.00096 0.000993333 0.00098 0.000973333 0.217893 0.000993333 +0.00098 0.00098 0.000946667 0.000966667 0.22168 0.22168 0.219787 0.00098 +0.000993333 0.223573 0.216 0.00098 0.25008 0.327707 0.44888 0.527789 +0.571368 0.604211 0.618105 0.612421 0.587789 0.548632 0.508211 0.411013 +0.322027 0.265227 0.234933 0.246293 0.43184 0.604842 0.671158 0.613053 +0.520211 0.40344 0.320133 0.269013 0.242507 0.23872 0.236827 0.225467 +0.22168 0.22168 0.225467 0.219787 0.00098 0.00098 0.216 0.216 +0.216 0.000993333 0.000973333 0.217893 0.219787 0.22168 0.219787 0.000973333 +0.00098 0.000986667 0.000966667 0.000986667 0.000973333 0.000926667 0.000913333 0.000933333 +0.000966667 0.000953333 0.000933333 0.00094 0.00096 0.00096 0.000953333 0.000933333 +0.000946667 0.000966667 0.000966667 0.000973333 0.000993333 0.217893 0.217893 0.22736 +0.23304 0.251973 0.27848 0.304987 0.361787 0.45456 0.526526 0.580211 +0.638316 0.686316 0.716632 0.719158 0.690105 0.635158 0.578316 0.532211 +0.498107 0.46592 0.484853 0.506316 0.513263 0.502526 0.416693 0.327707 +0.28416 0.327707 0.393973 0.435627 0.49432 0.492427 0.445093 0.399653 +0.34096 0.274693 0.2444 0.000993333 0.000913333 0.000866667 0.000853333 0.000833333 +0.0008 0.000773333 0.00074 0.000746667 0.0008 0.000833333 0.00084 0.00082 +0.00078 0.00078 0.000893333 0.26712 0.365573 0.452667 0.526526 0.612421 +0.757053 0.900421 0.984571 1.0022 1.00155 0.989469 0.973053 0.961053 +0.956 0.953474 0.953474 0.957895 0.967368 0.970526 0.962947 0.959158 +0.970526 0.984898 0.993714 0.998612 1.00253 1.00612 1.00449 1.00253 +1.00057 0.999592 0.999592 1.0009 1.00188 0.998286 0.996 0.993061 +0.989143 0.984898 0.990122 0.996653 0.99502 0.991755 0.995673 0.998612 +0.998939 0.998939 0.998286 0.996327 0.993714 0.992408 0.994694 0.99698 +0.998286 1.00318 1.00612 1.00873 1.01429 1.0182 1.01984 1.02539 +1.03388 1.03943 1.04237 1.04661 1.04988 1.04955 1.04955 1.04857 +1.04694 1.04629 1.04759 1.04988 1.04922 1.0489 1.04661 1.04759 +1.04988 1.04727 1.04335 1.04367 1.0489 1.05184 1.04792 1.0489 +1.05804 1.12999 1.24716 1.38715 1.53018 1.65951 1.74016 1.7432 +1.67169 1.50583 1.31107 1.13608 1.04008 1.01592 1.00743 1.00514 +1.00188 1.00122 0.999592 0.999918 1.00122 0.999918 1.00057 0.998612 +0.996 0.996653 0.998286 0.999918 0.999918 1.00057 1.00122 0.999918 +1.00122 1.00449 1.00645 1.00449 1.00122 1.00253 1.00188 1.00122 +1.00286 1.00024 1.00057 1.00449 1.00514 1.00024 1.0009 1.00384 +1.0022 1.00547 1.00776 1.00482 1.00253 1.00253 1.00416 1.00384 +1.00318 1.00318 1.00416 0.997306 0.994367 0.998612 1.00645 1.00678 +1.00318 1.00873 1.00939 1.00286 1.00122 1.00318 1.02898 1.17869 +1.28368 1.23042 1.34454 1.43279 1.11173 1.01722 1.00971 1.00547 +1.00384 1.0071 1.00808 1.00906 1.00678 1.00057 0.99698 0.996653 +0.999592 1.0022 1.00253 1.00122 1.00318 1.00612 1.00482 1.0058 +1.01069 1.01004 1.01069 1.012 1.0071 1.00514 1.0058 1.00873 +1.01069 1.01069 1.012 1.01331 1.01331 1.01037 1.00971 1.01167 +1.01069 1.00808 1.00645 1.00351 1.00482 1.01135 1.01167 1.012 +1.01396 1.01429 1.01527 1.01559 1.01461 1.01233 1.01233 1.01102 +1.01298 1.01559 1.01527 1.01559 1.01429 1.01331 1.01331 1.01461 +1.0169 1.01886 1.01853 1.01886 1.01788 1.01853 1.01592 1.01461 +1.01461 1.01461 1.01429 1.01233 1.01429 1.01624 1.01396 1.01135 +1.01135 1.01527 1.01363 1.01135 1.01298 1.01396 1.01135 1.00645 +1.00122 1.0009 1.00645 1.00906 1.00743 1.00612 1.00678 1.00743 +1.00645 1.00482 1.00416 1.00645 1.00776 1.00808 1.00678 1.0058 +1.00351 0.998939 0.997959 1.00318 1.00645 1.00743 1.00776 1.00776 +1.00743 1.00841 1.00808 1.00449 0.99502 0.985878 0.977474 0.966105 +0.964211 0.964842 0.956632 0.956632 0.960421 0.960421 0.968632 0.984898 +0.99698 1.00384 1.00645 0.999265 0.962316 0.850526 0.707158 0.581474 +0.505684 0.382613 0.26712 0.00094 0.00088 0.000913333 0.000973333 0.236827 +0.242507 0.257653 0.308773 0.39208 0.505684 0.544842 0.578947 0.609263 +0.630737 0.640211 0.645895 0.648421 0.644632 0.642105 0.640211 0.636421 +0.635158 0.636421 0.638316 0.653474 0.68 0.715368 0.741895 0.748211 +0.736842 0.698316 0.636421 0.572 0.518316 0.422373 0.331493 0.291733 +0.25008 0.246293 0.242507 0.223573 0.22168 0.223573 0.217893 0.216 +0.225467 0.225467 0.000986667 0.000973333 0.216 0.00098 0.000966667 0.000986667 +0.000973333 0.000966667 0.217893 0.00098 0.000973333 0.217893 0.000993333 0.000953333 +0.00096 0.000953333 0.00096 0.000933333 0.00094 0.000986667 0.000993333 0.000986667 +0.00098 0.000986667 0.217893 0.217893 0.000986667 0.000966667 0.00098 0.00098 +0.000953333 0.00098 0.000966667 0.000966667 0.000973333 0.000946667 0.000973333 0.000986667 +0.000973333 0.000973333 0.000953333 0.000946667 0.000993333 0.219787 0.216 0.217893 +0.216 0.219787 0.217893 0.219787 0.484853 0.544842 0.587158 0.611158 +0.612421 0.585895 0.551158 0.510105 0.412907 0.327707 0.276587 0.234933 +0.000966667 0.000913333 0.000926667 0.286053 0.537263 0.663579 0.648421 0.546105 +0.428053 0.32392 0.26144 0.234933 0.223573 0.225467 0.229253 0.22168 +0.000993333 0.000986667 0.000966667 0.00094 0.000946667 0.00096 0.000966667 0.000933333 +0.000926667 0.000946667 0.000933333 0.000953333 0.000946667 0.000953333 0.000966667 0.000946667 +0.000946667 0.000953333 0.000973333 0.00096 0.000926667 0.000906667 0.000926667 0.000946667 +0.000973333 0.000946667 0.00092 0.000946667 0.000966667 0.000953333 0.000926667 0.00092 +0.000946667 0.000966667 0.00094 0.000926667 0.000973333 0.000993333 0.000973333 0.000966667 +0.000973333 0.000973333 0.22168 0.223573 0.25008 0.28416 0.320133 0.393973 +0.500632 0.546105 0.609263 0.673053 0.716 0.722316 0.704632 0.66421 +0.613684 0.571368 0.536 0.517053 0.518316 0.526526 0.525263 0.514526 +0.49432 0.503789 0.519579 0.524632 0.534105 0.529684 0.513263 0.500632 +0.45456 0.395867 0.34664 0.299307 0.263333 0.23872 0.223573 0.000986667 +0.000926667 0.00086 0.000793333 0.000746667 0.000766667 0.0008 0.000813333 0.000793333 +0.000753333 0.000753333 0.00076 0.000873333 0.25008 0.339067 0.42616 0.507579 +0.584632 0.715368 0.858737 0.966105 0.998939 1.00057 0.992735 0.982612 +0.967368 0.956632 0.954105 0.959789 0.966105 0.965474 0.960421 0.957263 +0.959158 0.965474 0.975579 0.986531 0.997306 1.00384 1.00514 1.00253 +1.00155 1.00057 0.999918 1.00155 1.00384 1.0009 0.999265 0.999592 +0.995347 0.989796 0.992735 0.996327 0.991755 0.985224 0.984245 0.989796 +0.994367 0.995673 0.998286 0.999918 0.998939 0.99698 0.997633 0.997959 +0.999592 1.00416 1.0071 1.01233 1.01853 1.02016 1.0218 1.02735 +1.03714 1.04367 1.04433 1.044 1.04596 1.04629 1.04433 1.04171 +1.04302 1.04727 1.04824 1.04694 1.04694 1.05118 1.04988 1.04922 +1.05347 1.05314 1.05249 1.05837 1.09956 1.14521 1.18782 1.26542 +1.39628 1.54996 1.68842 1.80102 1.86493 1.82233 1.68234 1.50887 +1.31259 1.10413 1.03812 1.02016 1.00841 1.00449 1.0022 1.00253 +1.00286 1.00024 0.998612 1.00253 1.00351 1.00286 1.00286 0.999918 +0.999592 1.00253 1.00188 1.00188 0.999918 1.00253 1.00384 1.00416 +1.00514 1.00776 1.00808 1.00449 1.0022 1.00449 1.00188 1.00351 +1.00384 1.0009 1.0022 1.0058 1.00351 0.999265 1.00318 1.00514 +1.00286 1.00514 1.0071 1.00547 1.00514 1.0058 1.0071 1.0058 +1.00253 1.00253 1.00384 0.999265 1.00122 1.00155 1.00384 1.00808 +1.00547 1.00841 1.00906 1.00645 1.00351 1.00416 1.0231 1.12239 +1.30498 1.35976 1.4541 1.42671 1.08282 1.01755 1.01069 1.0058 +1.00351 1.0071 1.0071 1.00645 1.00286 0.99502 0.994694 0.999265 +1.00449 1.00678 1.00808 1.00841 1.00645 1.00645 1.00547 1.00449 +1.00743 1.00906 1.01102 1.01004 1.00743 1.0071 1.00776 1.00971 +1.01135 1.01167 1.01265 1.01265 1.01265 1.01004 1.01004 1.01102 +1.01069 1.00873 1.0058 1.00547 1.00743 1.012 1.01135 1.01004 +1.01135 1.01167 1.01265 1.01461 1.01363 1.012 1.01298 1.01494 +1.01592 1.01429 1.01363 1.01429 1.01527 1.01657 1.01592 1.01657 +1.0169 1.01886 1.0169 1.01559 1.01624 1.01559 1.01494 1.01429 +1.01461 1.01363 1.01527 1.01592 1.01429 1.01396 1.01396 1.01331 +1.01298 1.01396 1.01135 1.00971 1.01037 1.01135 1.00873 1.0058 +1.0022 1.00188 1.00612 1.00776 1.00678 1.00776 1.00841 1.00971 +1.00971 1.00939 1.00939 1.01102 1.00873 1.00645 1.00384 1.00155 +1.00122 1.0009 1.00122 1.00449 1.0058 1.0058 1.00384 1.00514 +1.00678 1.00351 0.998612 0.990449 0.98 0.966737 0.959789 0.960421 +0.964842 0.962316 0.961684 0.968 0.974947 0.982286 0.990122 0.999592 +1.0058 1.0071 0.993388 0.925053 0.803158 0.664842 0.551158 0.445093 +0.331493 0.25576 0.000926667 0.000873333 0.000926667 0.217893 0.25576 0.31256 +0.35232 0.445093 0.526526 0.565684 0.598526 0.62 0.631368 0.639579 +0.642105 0.641474 0.642105 0.643368 0.640211 0.634526 0.633895 0.637053 +0.646526 0.668 0.695158 0.722947 0.744421 0.746947 0.722947 0.671789 +0.610526 0.548632 0.490533 0.378827 0.31824 0.27848 0.25008 0.248187 +0.22736 0.22736 0.234933 0.223573 0.216 0.22168 0.216 0.000973333 +0.000986667 0.217893 0.000993333 0.000953333 0.000973333 0.000966667 0.000946667 0.000986667 +0.000966667 0.000953333 0.00098 0.000986667 0.000966667 0.000953333 0.00096 0.00096 +0.000946667 0.000926667 0.000946667 0.000946667 0.000933333 0.000946667 0.000966667 0.000966667 +0.000966667 0.00098 0.000986667 0.000966667 0.000966667 0.000933333 0.00092 0.00094 +0.00094 0.000966667 0.000953333 0.00092 0.000953333 0.000953333 0.00094 0.000926667 +0.000926667 0.00094 0.00094 0.00094 0.00094 0.00094 0.00096 0.00098 +0.000973333 0.000966667 0.000986667 0.00098 0.59979 0.614947 0.600421 0.569474 +0.524 0.43752 0.342853 0.286053 0.236827 0.000986667 0.00092 0.000886667 +0.000846667 0.000813333 0.00094 0.382613 0.609263 0.690105 0.597263 0.47728 +0.331493 0.259547 0.225467 0.216 0.219787 0.216 0.219787 0.219787 +0.000966667 0.000966667 0.00098 0.000953333 0.000953333 0.000966667 0.000953333 0.00092 +0.000953333 0.000966667 0.000946667 0.000966667 0.000966667 0.000966667 0.000966667 0.00096 +0.000946667 0.000926667 0.000933333 0.000913333 0.00088 0.00088 0.000893333 0.000893333 +0.0009 0.000893333 0.000886667 0.000906667 0.00092 0.000893333 0.000866667 0.000893333 +0.00092 0.000906667 0.000886667 0.00092 0.000973333 0.000946667 0.000926667 0.00092 +0.00092 0.000933333 0.000946667 0.000946667 0.000993333 0.223573 0.231147 0.25576 +0.286053 0.327707 0.422373 0.518947 0.576421 0.638316 0.691368 0.718526 +0.716632 0.687579 0.641474 0.596632 0.565053 0.549263 0.542947 0.542316 +0.544842 0.556211 0.569474 0.567579 0.565684 0.565053 0.554947 0.542316 +0.527789 0.510105 0.490533 0.45456 0.42616 0.40912 0.393973 0.356107 +0.3012 0.253867 0.000986667 0.00086 0.000826667 0.000833333 0.00084 0.00084 +0.0008 0.00078 0.000746667 0.00074 0.000826667 0.216 0.3012 0.393973 +0.498107 0.556842 0.666105 0.808211 0.931368 0.991429 1.00024 0.99502 +0.985878 0.976211 0.962947 0.957895 0.957263 0.956 0.959158 0.961053 +0.959158 0.957263 0.956632 0.964842 0.981306 0.991429 1.00024 1.00351 +1.00351 1.00416 1.00416 1.00416 1.00384 1.00449 1.0022 1.00188 +1.0022 0.999265 0.998286 0.996327 0.990776 0.982286 0.976842 0.981633 +0.986204 0.988816 0.993061 0.997633 0.999592 0.999592 0.998612 0.997959 +1.00122 1.00449 1.0071 1.01396 1.01886 1.02147 1.02571 1.02996 +1.03747 1.04367 1.04694 1.04759 1.04694 1.04988 1.05053 1.05086 +1.05543 1.05967 1.07217 1.06761 1.06609 1.09043 1.10717 1.13456 +1.17564 1.2076 1.25933 1.33237 1.41453 1.53018 1.65191 1.75081 +1.83602 1.87406 1.84363 1.74625 1.59256 1.40997 1.23498 1.08739 +1.04008 1.01918 1.01037 1.00645 1.00612 1.0058 1.00384 1.00612 +1.00776 1.00318 1.00286 1.00449 1.00351 1.00514 1.00514 1.0009 +0.999918 1.00351 1.00286 1.00286 1.00318 1.0058 1.0071 1.00743 +1.00808 1.00939 1.00808 1.00449 1.00416 1.00416 1.00384 1.00678 +1.00384 1.0022 1.00645 1.00841 1.00318 1.00188 1.00612 1.0058 +1.00286 1.00449 1.00416 1.00318 1.00449 1.0058 1.00743 1.00547 +1.0009 1.00155 1.0009 0.998286 1.0022 1.00286 1.00286 1.00384 +1.00384 1.00645 1.0058 1.0058 1.00188 1.00286 1.0182 1.07065 +1.30194 1.45105 1.53626 1.39171 1.05151 1.01265 1.00906 1.00416 +1.00384 1.00776 1.00547 1.00155 1.0022 0.999592 1.00057 1.00449 +1.00808 1.00743 1.00906 1.00939 1.00841 1.00678 1.00873 1.00776 +1.00678 1.00841 1.01102 1.00841 1.00645 1.00743 1.00776 1.00939 +1.01135 1.01363 1.01429 1.01265 1.01135 1.00906 1.01102 1.01167 +1.01069 1.00841 1.00678 1.00873 1.01004 1.01233 1.01331 1.012 +1.01135 1.012 1.01429 1.01592 1.01429 1.01559 1.01755 1.0169 +1.01722 1.01559 1.01592 1.0169 1.01788 1.01886 1.01853 1.01886 +1.01788 1.01755 1.01755 1.01494 1.01396 1.01461 1.01657 1.01527 +1.01265 1.01494 1.01886 1.0182 1.01461 1.01331 1.01363 1.01298 +1.01004 1.00547 1.00645 1.00776 1.00841 1.01069 1.00873 1.00678 +1.00743 1.00743 1.00971 1.01102 1.00808 1.00808 1.00906 1.00971 +1.01004 1.01135 1.01069 1.00873 1.0058 1.00351 1.00024 0.998612 +1.00188 1.00384 1.00547 1.00906 1.00906 1.0058 1.00351 1.00514 +1.00449 0.996653 0.987184 0.973053 0.961053 0.959158 0.956 0.959158 +0.964211 0.968632 0.981633 0.98751 0.992408 0.997959 1.00286 1.0058 +1.0009 0.973684 0.873895 0.74 0.616211 0.529684 0.4148 0.297413 +0.225467 0.00096 0.00098 0.229253 0.26144 0.32392 0.42048 0.510105 +0.540421 0.578316 0.609895 0.626947 0.635158 0.640842 0.645263 0.647789 +0.642737 0.637684 0.637053 0.638947 0.638316 0.640211 0.652842 0.674947 +0.705263 0.734947 0.751368 0.739368 0.701474 0.645263 0.581474 0.524632 +0.439413 0.342853 0.291733 0.259547 0.248187 0.240613 0.225467 0.22736 +0.216 0.000993333 0.216 0.216 0.00096 0.00098 0.000986667 0.000973333 +0.00098 0.217893 0.22168 0.00098 0.000953333 0.000966667 0.000966667 0.000986667 +0.000946667 0.00094 0.000953333 0.000953333 0.000953333 0.000926667 0.000926667 0.00096 +0.00094 0.000933333 0.000946667 0.000946667 0.00094 0.000953333 0.00096 0.000966667 +0.000966667 0.216 0.000993333 0.000953333 0.216 0.000986667 0.000946667 0.000946667 +0.00098 0.216 0.00096 0.000946667 0.000993333 0.219787 0.217893 0.00098 +0.00096 0.00096 0.000973333 0.000966667 0.000973333 0.000966667 0.000966667 0.000966667 +0.00098 0.00098 0.000993333 0.216 0.595368 0.549263 0.5 0.38072 +0.291733 0.23304 0.000946667 0.000913333 0.000886667 0.00084 0.0008 0.000793333 +0.000773333 0.000806667 0.22168 0.503789 0.672421 0.676842 0.540421 0.361787 +0.2728 0.2444 0.231147 0.22168 0.223573 0.216 0.216 0.219787 +0.000993333 0.000986667 0.00098 0.000966667 0.000953333 0.000953333 0.000953333 0.00094 +0.000953333 0.00096 0.000946667 0.000966667 0.00094 0.00094 0.000933333 0.000946667 +0.000933333 0.000893333 0.00092 0.000933333 0.000886667 0.00086 0.000886667 0.000906667 +0.000906667 0.000906667 0.000906667 0.000913333 0.000933333 0.0009 0.000893333 0.000933333 +0.00094 0.00092 0.000933333 0.000966667 0.00096 0.000913333 0.000926667 0.000933333 +0.000926667 0.00094 0.00092 0.000926667 0.000966667 0.00096 0.00094 0.000973333 +0.217893 0.22168 0.246293 0.28416 0.358 0.467813 0.540421 0.604842 +0.664842 0.705263 0.716632 0.701474 0.665474 0.628211 0.592211 0.567579 +0.561263 0.568842 0.581474 0.589053 0.594737 0.593474 0.584632 0.575158 +0.564421 0.548 0.536 0.522737 0.512632 0.518947 0.538526 0.531579 +0.502526 0.43184 0.350427 0.274693 0.223573 0.000953333 0.000906667 0.000906667 +0.00088 0.00086 0.000813333 0.00076 0.000766667 0.000806667 0.00092 0.274693 +0.36936 0.452667 0.534105 0.625684 0.752632 0.887789 0.977474 0.997959 +1.00024 0.995673 0.986204 0.971158 0.956 0.950316 0.954105 0.957263 +0.956632 0.957263 0.956 0.958526 0.965474 0.974316 0.987184 0.997306 +1.00253 1.00612 1.0071 1.00645 1.00645 1.00612 1.00351 1.00449 +1.00318 1.00286 1.0022 1.00318 0.99698 0.991755 0.98849 0.989796 +0.991102 0.990776 0.993388 0.995673 0.997633 0.998939 1.00024 1.00024 +1.00318 1.00416 1.00612 1.01396 1.01951 1.02539 1.02996 1.03388 +1.04302 1.05216 1.05706 1.05869 1.05739 1.06913 1.11021 1.14977 +1.16956 1.18325 1.21977 1.2502 1.28063 1.3278 1.3841 1.44953 +1.50735 1.5743 1.66256 1.73255 1.78581 1.84971 1.8695 1.82689 +1.72646 1.57887 1.40693 1.23955 1.09348 1.04694 1.0342 1.02441 +1.01788 1.01331 1.012 1.01102 1.01135 1.00971 1.01069 1.01233 +1.00873 1.00612 1.00841 1.00808 1.00645 1.00743 1.00547 1.00188 +1.00286 1.00612 1.00645 1.0058 1.00743 1.00776 1.00873 1.00939 +1.00939 1.01037 1.01004 1.00776 1.0071 1.0071 1.00808 1.00743 +1.00253 1.00122 1.00482 1.0058 1.00057 1.00253 1.0058 1.00547 +1.00351 1.00351 1.00122 1.0022 1.00351 1.00514 1.0071 1.0071 +1.00318 1.00286 1.0009 1.00057 1.00514 1.0058 1.00416 1.00155 +1.00057 1.00318 1.00351 1.00678 1.00351 1.00384 1.02082 1.07369 +1.29281 1.43432 1.51344 1.32172 1.04171 1.012 1.00841 1.00416 +1.00351 1.00939 1.00743 1.00253 1.00318 1.00482 1.00482 1.00678 +1.00939 1.00678 1.0058 1.00612 1.00743 1.00743 1.00939 1.00776 +1.00482 1.0058 1.00939 1.00743 1.00743 1.00841 1.00939 1.00841 +1.00808 1.01135 1.01331 1.012 1.01102 1.00841 1.01069 1.01135 +1.01004 1.01069 1.01037 1.012 1.012 1.01298 1.01429 1.01265 +1.012 1.01331 1.01624 1.01592 1.01363 1.01429 1.01559 1.01331 +1.01331 1.01298 1.01135 1.01363 1.01657 1.01853 1.01788 1.01755 +1.01788 1.01755 1.0182 1.01461 1.01461 1.01722 1.01755 1.01559 +1.01298 1.01559 1.0182 1.01657 1.01331 1.012 1.01233 1.00939 +1.00482 1.00155 1.00449 1.00808 1.00776 1.00678 1.00678 1.00939 +1.01233 1.01167 1.01265 1.01331 1.00939 1.00841 1.01037 1.01069 +1.01037 1.01233 1.00971 1.00514 1.00514 1.00384 1.00351 1.00449 +1.00678 1.00808 1.01102 1.012 1.00873 1.0058 1.00188 0.99698 +0.990776 0.983918 0.971158 0.957263 0.954105 0.952842 0.950947 0.957895 +0.971158 0.984571 0.994694 1.00122 1.00612 1.00841 1.00482 0.990122 +0.930105 0.810737 0.674316 0.568211 0.502526 0.376933 0.274693 0.219787 +0.000973333 0.23304 0.291733 0.373147 0.46024 0.525263 0.566316 0.596632 +0.613053 0.629474 0.639579 0.640842 0.641474 0.643368 0.644 0.644 +0.641474 0.637684 0.639579 0.650316 0.667368 0.692 0.722947 0.743789 +0.748211 0.727368 0.679368 0.617474 0.554947 0.500632 0.384507 0.31824 +0.282267 0.25576 0.2444 0.23304 0.229253 0.231147 0.223573 0.217893 +0.216 0.217893 0.00098 0.000973333 0.000953333 0.000966667 0.000986667 0.00096 +0.000953333 0.000986667 0.217893 0.000993333 0.000946667 0.000933333 0.000966667 0.216 +0.000973333 0.00094 0.000946667 0.00096 0.000953333 0.000926667 0.00092 0.00094 +0.000946667 0.000946667 0.000953333 0.00094 0.000926667 0.000933333 0.000933333 0.00096 +0.000966667 0.00096 0.000986667 0.000946667 0.000973333 0.000966667 0.00096 0.000933333 +0.00094 0.00098 0.000953333 0.000933333 0.00096 0.216 0.217893 0.217893 +0.000973333 0.000973333 0.00096 0.000953333 0.000986667 0.217893 0.219787 0.217893 +0.000993333 0.219787 0.217893 0.22168 0.48296 0.354213 0.2728 0.22168 +0.000946667 0.000893333 0.000833333 0.000853333 0.000873333 0.000846667 0.00082 0.0008 +0.000786667 0.000846667 0.251973 0.554316 0.709684 0.640842 0.48864 0.310667 +0.259547 0.242507 0.225467 0.000993333 0.000993333 0.000986667 0.00098 0.000966667 +0.000953333 0.00094 0.000926667 0.000933333 0.000926667 0.000913333 0.000906667 0.000893333 +0.00092 0.000933333 0.000926667 0.00092 0.00092 0.00094 0.000946667 0.00096 +0.000946667 0.000926667 0.00094 0.000933333 0.0009 0.0009 0.000893333 0.000926667 +0.00094 0.000926667 0.000926667 0.00094 0.000933333 0.000926667 0.000933333 0.000946667 +0.000946667 0.000926667 0.000953333 0.000966667 0.00092 0.000906667 0.000926667 0.00094 +0.000913333 0.000933333 0.000966667 0.000946667 0.000953333 0.000953333 0.000913333 0.00092 +0.00094 0.000933333 0.000966667 0.22168 0.2444 0.263333 0.308773 0.3864 +0.505053 0.567579 0.630737 0.68 0.708421 0.714105 0.692 0.655368 +0.625684 0.599158 0.584 0.587789 0.594105 0.598526 0.597263 0.594737 +0.589053 0.580211 0.570737 0.550526 0.526526 0.527789 0.571368 0.592211 +0.569474 0.552421 0.532211 0.503158 0.412907 0.3296 0.26712 0.229253 +0.00096 0.000906667 0.00086 0.000786667 0.000753333 0.000746667 0.00076 0.000833333 +0.231147 0.322027 0.43184 0.517684 0.580211 0.690737 0.831579 0.949684 +0.99502 1.00351 1.00024 0.991102 0.980653 0.963579 0.951579 0.950316 +0.954105 0.954105 0.952211 0.955368 0.961053 0.959789 0.965474 0.980653 +0.989469 0.998612 1.00351 1.00547 1.0058 1.00547 1.00449 1.00351 +1.00351 1.00155 1.00188 1.00384 1.00318 1.00024 0.997959 0.999265 +1.0009 1.00253 1.0022 0.999592 0.996327 0.993714 0.991102 0.993061 +0.997306 0.998286 1.00122 1.00612 1.012 1.02147 1.02931 1.03845 +1.05478 1.10717 1.14673 1.16195 1.16499 1.19086 1.23803 1.2852 +1.31107 1.34758 1.41606 1.48301 1.55757 1.62604 1.68995 1.73255 +1.7569 1.7645 1.75081 1.7006 1.64278 1.55909 1.44497 1.30802 +1.18021 1.06913 1.044 1.0342 1.02767 1.02408 1.02082 1.01853 +1.01722 1.01722 1.01624 1.01396 1.012 1.01037 1.01298 1.01102 +1.00416 1.00482 1.00841 1.0071 1.0058 1.00612 1.00514 1.00514 +1.00743 1.00678 1.00612 1.0058 1.00678 1.00678 1.00678 1.00678 +1.00547 1.00776 1.00841 1.00808 1.0071 1.00841 1.00841 1.00514 +1.00155 1.00155 1.00384 1.00286 1.0009 1.00384 1.0071 1.00612 +1.00351 1.0022 1.0022 1.0058 1.00449 1.00384 1.00286 1.00547 +1.00416 1.00384 1.00253 1.00416 1.00841 1.00743 1.00743 1.00253 +0.99698 0.996327 1.0022 1.01004 1.0058 1.00514 1.02245 1.07522 +1.27455 1.35976 1.40388 1.22433 1.03551 1.01037 1.00776 1.00514 +1.00384 1.00808 1.00645 1.00286 1.00318 1.00514 1.00678 1.00743 +1.00873 1.00547 1.00188 1.00253 1.0071 1.00873 1.00939 1.00743 +1.00678 1.00841 1.01135 1.00906 1.00808 1.00939 1.01037 1.01004 +1.00678 1.00939 1.01167 1.00971 1.01135 1.01135 1.01037 1.01167 +1.01135 1.012 1.01233 1.01429 1.01461 1.01298 1.01363 1.01265 +1.01265 1.01363 1.01592 1.01461 1.012 1.01265 1.01494 1.01331 +1.012 1.01135 1.00906 1.01298 1.01624 1.0182 1.01722 1.01592 +1.01592 1.01494 1.01755 1.01788 1.01494 1.01494 1.01592 1.01755 +1.01429 1.01167 1.01331 1.01396 1.01396 1.01167 1.01004 1.00743 +1.00286 1.00514 1.00416 1.00547 1.0058 1.00188 1.0009 1.00678 +1.01135 1.01069 1.00939 1.01037 1.00808 1.00547 1.00645 1.00678 +1.00612 1.00776 1.00612 1.00318 1.00384 1.00514 1.00841 1.01037 +1.00906 1.01102 1.01167 1.01004 1.0058 1.00188 0.995673 0.985551 +0.974947 0.966737 0.959158 0.952842 0.949053 0.947789 0.954105 0.970526 +0.98751 0.99698 1.00253 1.00645 1.00743 0.998612 0.964842 0.864421 +0.738737 0.618105 0.532211 0.435627 0.33528 0.263333 0.240613 0.263333 +0.325813 0.40344 0.505684 0.548 0.583368 0.611789 0.629474 0.636421 +0.638316 0.641474 0.647158 0.647158 0.644 0.643368 0.640842 0.638316 +0.640842 0.654105 0.679368 0.709053 0.738737 0.754526 0.745053 0.706526 +0.649684 0.589053 0.529684 0.450773 0.361787 0.304987 0.265227 0.25008 +0.246293 0.23304 0.22736 0.22168 0.000973333 0.000973333 0.216 0.00098 +0.00094 0.00098 0.000973333 0.000946667 0.000953333 0.000966667 0.000966667 0.00094 +0.00094 0.000966667 0.000993333 0.00098 0.000953333 0.000933333 0.000946667 0.000986667 +0.000986667 0.000953333 0.000946667 0.000986667 0.000986667 0.00096 0.000933333 0.000946667 +0.00096 0.00096 0.000953333 0.00094 0.000913333 0.000933333 0.000926667 0.00092 +0.000946667 0.000933333 0.000966667 0.000953333 0.00096 0.000973333 0.000966667 0.00096 +0.00096 0.00098 0.000973333 0.000926667 0.000933333 0.00096 0.000973333 0.00098 +0.00098 0.000946667 0.000926667 0.000953333 0.000953333 0.00096 0.000973333 0.000973333 +0.000966667 0.000993333 0.216 0.217893 0.27848 0.240613 0.223573 0.00096 +0.00092 0.000906667 0.000886667 0.000873333 0.00088 0.000886667 0.000853333 0.000806667 +0.000806667 0.000853333 0.29552 0.602947 0.728 0.608 0.424267 0.299307 +0.26144 0.23872 0.22168 0.219787 0.22168 0.217893 0.000993333 0.000966667 +0.00096 0.00096 0.000966667 0.000953333 0.000953333 0.000946667 0.00094 0.00096 +0.000973333 0.000966667 0.000973333 0.000966667 0.00098 0.216 0.000986667 0.000973333 +0.000946667 0.000933333 0.000906667 0.000886667 0.000906667 0.00092 0.0009 0.000926667 +0.000946667 0.000933333 0.000926667 0.000933333 0.000926667 0.000893333 0.000906667 0.000933333 +0.000933333 0.00092 0.00092 0.000926667 0.00092 0.000906667 0.00092 0.000946667 +0.000913333 0.000926667 0.000986667 0.000933333 0.00092 0.00094 0.0009 0.00092 +0.00096 0.00094 0.00096 0.00098 0.217893 0.219787 0.225467 0.22736 +0.259547 0.33528 0.43184 0.524 0.585263 0.645263 0.690105 0.712211 +0.712211 0.689474 0.657895 0.630105 0.610526 0.59979 0.597895 0.597895 +0.601684 0.59979 0.596 0.583368 0.565684 0.556842 0.588421 0.623158 +0.614316 0.602316 0.598526 0.585263 0.560632 0.530316 0.496213 0.40344 +0.325813 0.276587 0.248187 0.00098 0.000853333 0.000806667 0.000773333 0.000746667 +0.000806667 0.217893 0.293627 0.388293 0.48864 0.545474 0.641474 0.774737 +0.900421 0.983265 1.0009 1.00188 0.996653 0.986204 0.969895 0.956632 +0.956 0.959789 0.957263 0.950316 0.953474 0.957895 0.958526 0.963579 +0.972421 0.984898 0.993714 0.998939 1.0009 1.00318 1.00449 1.00286 +1.00351 1.0022 0.999265 0.99698 1.0009 1.00188 0.999918 1.00122 +1.00188 1.00416 1.00514 1.00122 0.993714 0.986531 0.979368 0.983918 +0.990776 0.993061 0.99698 0.998939 1.00188 1.00971 1.01918 1.0342 +1.05282 1.09956 1.1513 1.18325 1.21825 1.25629 1.29585 1.34606 +1.38562 1.43736 1.51344 1.57126 1.60321 1.61539 1.61234 1.57583 +1.50279 1.40693 1.30041 1.20912 1.13152 1.06456 1.04922 1.03747 +1.02963 1.02506 1.02343 1.02245 1.02114 1.01951 1.01788 1.01722 +1.01527 1.01527 1.01396 1.01167 1.00906 1.00873 1.01135 1.00776 +1.00351 1.0071 1.00678 1.00286 1.00318 1.00482 1.00384 1.00482 +1.00416 1.00384 1.00384 1.00449 1.00547 1.00612 1.00743 1.0071 +1.00514 1.00841 1.00841 1.00776 1.00841 1.00873 1.00678 1.00449 +1.00286 1.00449 1.00678 1.00547 1.00384 1.0058 1.00873 1.00808 +1.00612 1.0058 1.00449 1.00482 0.999592 0.994694 0.995347 1.00286 +1.00318 1.00482 1.00384 1.00612 1.00873 1.00645 1.00645 1.00253 +0.997306 0.992735 0.996653 1.00449 1.00188 1.00351 1.01951 1.05282 +1.18629 1.23955 1.24868 1.12543 1.03061 1.00939 1.00482 1.00318 +1.00286 1.00482 1.00384 1.00547 1.0058 1.00645 1.00841 1.00873 +1.00776 1.00416 1.00057 1.00416 1.00906 1.00841 1.00939 1.00678 +1.0071 1.00841 1.012 1.00939 1.00612 1.00612 1.00808 1.00906 +1.00873 1.01167 1.01396 1.01363 1.01461 1.01102 1.00743 1.00873 +1.00939 1.01004 1.012 1.01396 1.01559 1.01494 1.01396 1.01265 +1.01363 1.01233 1.01494 1.0169 1.01461 1.01331 1.01494 1.01592 +1.01363 1.01233 1.01102 1.01331 1.01624 1.0169 1.01657 1.01559 +1.01494 1.01494 1.01788 1.01951 1.01461 1.01265 1.01363 1.01494 +1.01527 1.01167 1.01233 1.01363 1.01461 1.01167 1.00939 1.00906 +1.00808 1.00873 1.00743 1.0058 1.00514 1.00057 0.997633 1.00155 +1.0058 1.00841 1.00841 1.00776 1.00645 1.00416 1.00678 1.0071 +1.00547 1.00351 1.00449 1.0058 1.00645 1.00743 1.00776 1.00743 +1.00743 1.01037 1.00808 1.00351 0.99698 0.989143 0.983592 0.973053 +0.958526 0.955368 0.956 0.954105 0.954737 0.966105 0.981306 0.992735 +1.0022 1.00449 1.00514 1.00286 0.983918 0.911158 0.796842 0.667368 +0.564421 0.501263 0.388293 0.308773 0.270907 0.282267 0.36368 0.462133 +0.521474 0.558105 0.594105 0.619368 0.635158 0.642105 0.642105 0.644632 +0.645263 0.645895 0.649053 0.646526 0.643368 0.644632 0.650947 0.666105 +0.692 0.724211 0.751368 0.754526 0.729895 0.681263 0.619368 0.556211 +0.501895 0.399653 0.331493 0.276587 0.25576 0.251973 0.229253 0.225467 +0.229253 0.000973333 0.000966667 0.216 0.00098 0.000966667 0.216 0.22168 +0.00096 0.00098 0.000993333 0.000946667 0.000966667 0.00098 0.000946667 0.000933333 +0.000933333 0.000953333 0.216 0.000966667 0.00096 0.000953333 0.000933333 0.000973333 +0.000993333 0.000953333 0.000933333 0.00096 0.00096 0.000946667 0.000933333 0.000933333 +0.00094 0.00096 0.00096 0.00096 0.000933333 0.00094 0.000953333 0.00094 +0.000946667 0.000933333 0.000953333 0.000953333 0.000946667 0.000953333 0.000953333 0.00098 +0.000993333 0.000986667 0.216 0.000973333 0.000986667 0.000986667 0.000966667 0.219787 +0.229253 0.000986667 0.000953333 0.000986667 0.000993333 0.216 0.00098 0.00098 +0.000993333 0.00098 0.00098 0.216 0.000953333 0.000933333 0.000913333 0.00088 +0.000846667 0.000846667 0.000826667 0.000806667 0.00082 0.00082 0.000833333 0.00082 +0.000786667 0.000846667 0.348533 0.633895 0.733053 0.583368 0.376933 0.286053 +0.251973 0.23304 0.22736 0.229253 0.22168 0.219787 0.217893 0.000966667 +0.000966667 0.000946667 0.000946667 0.00094 0.00094 0.00096 0.000966667 0.000973333 +0.000973333 0.000946667 0.000973333 0.00096 0.000953333 0.000993333 0.000986667 0.000953333 +0.0009 0.000913333 0.000933333 0.000913333 0.00088 0.0009 0.00092 0.000933333 +0.000913333 0.000913333 0.000913333 0.000933333 0.000906667 0.00088 0.000893333 0.000926667 +0.00092 0.000913333 0.000906667 0.00092 0.000926667 0.000886667 0.000906667 0.000946667 +0.0009 0.000893333 0.000926667 0.000886667 0.0009 0.000913333 0.0009 0.000933333 +0.000966667 0.00094 0.000953333 0.000973333 0.000993333 0.217893 0.000993333 0.00098 +0.219787 0.236827 0.25576 0.291733 0.359893 0.46592 0.539789 0.596632 +0.652211 0.698947 0.716632 0.714105 0.695789 0.669263 0.638947 0.614316 +0.609263 0.608632 0.609263 0.610526 0.609263 0.604842 0.616211 0.642105 +0.644632 0.635789 0.636421 0.632 0.621263 0.605474 0.580842 0.548 +0.522105 0.503789 0.45456 0.384507 0.31256 0.253867 0.217893 0.0009 +0.000853333 0.000873333 0.00094 0.248187 0.337173 0.429947 0.513895 0.584 +0.704 0.844842 0.954737 0.995673 1.00253 0.998939 0.991102 0.98098 +0.968632 0.964211 0.961684 0.953474 0.949684 0.953474 0.957263 0.959789 +0.964211 0.968 0.975579 0.984898 0.991102 0.997306 1.00155 1.00286 +1.0022 1.00122 0.999592 0.999918 1.00122 1.00253 1.0009 1.00122 +1.0009 1.0009 0.999918 0.997959 0.992082 0.983592 0.975579 0.985551 +0.994367 0.997959 1.00155 1.00057 1.0009 1.00318 1.00939 1.01951 +1.03029 1.04139 1.05086 1.06 1.10717 1.15282 1.19238 1.22586 +1.26085 1.29128 1.31715 1.31715 1.27911 1.2289 1.18021 1.11782 +1.05869 1.04498 1.03453 1.02898 1.02473 1.02408 1.02473 1.0231 +1.02049 1.01951 1.01918 1.0182 1.01657 1.01527 1.01494 1.01298 +1.01004 1.00906 1.00971 1.01102 1.00873 1.00873 1.00873 1.0058 +1.00547 1.00743 1.00547 1.00384 1.00482 1.00612 1.00645 1.00416 +1.00253 1.00384 1.00547 1.00645 1.00678 1.00776 1.01069 1.00939 +1.00808 1.00873 1.0071 1.00776 1.00906 1.00678 1.00449 1.00286 +1.00155 1.00547 1.0071 1.00416 1.00188 1.00416 1.00808 1.00678 +1.00547 1.00351 0.997959 0.994694 0.991755 0.98849 0.989469 0.998286 +1.00286 1.0071 1.00547 1.00645 1.00776 1.00514 1.00482 1.00416 +1.00286 0.998286 0.997959 1.00514 1.00449 1.00906 1.02343 1.04433 +1.07978 1.10717 1.08282 1.04727 1.02278 1.0058 1.0009 1.0022 +1.00482 1.0058 1.00547 1.0058 1.00612 1.00678 1.00906 1.01037 +1.00743 1.00155 0.998939 1.0058 1.012 1.00971 1.00971 1.00743 +1.00678 1.00645 1.00971 1.00971 1.0071 1.0071 1.00873 1.01069 +1.00906 1.01102 1.01396 1.01363 1.01298 1.00939 1.00873 1.00906 +1.01037 1.01135 1.01102 1.01265 1.01363 1.01331 1.01363 1.01265 +1.01363 1.01331 1.01461 1.01886 1.01853 1.01559 1.01657 1.01886 +1.0182 1.01657 1.01429 1.01527 1.01592 1.01527 1.01527 1.01461 +1.01657 1.01624 1.01559 1.0169 1.01429 1.01363 1.01494 1.01429 +1.01527 1.012 1.01135 1.01265 1.01363 1.01233 1.01037 1.01037 +1.01037 1.00939 1.00906 1.00906 1.00743 1.00547 1.00057 0.998939 +1.0009 1.00612 1.00808 1.0058 1.00253 1.00286 1.00678 1.00808 +1.0058 1.00384 1.00514 1.00743 1.00776 1.0071 1.0071 1.0071 +1.00645 1.00645 1.00122 0.993061 0.984898 0.98 0.974316 0.963579 +0.952842 0.956632 0.967368 0.973684 0.983918 0.993714 1.00122 1.00808 +1.0071 0.999592 0.98849 0.940211 0.839158 0.715368 0.604211 0.525263 +0.429947 0.34096 0.3012 0.322027 0.395867 0.498107 0.541684 0.580211 +0.609263 0.624421 0.637053 0.643368 0.643368 0.643368 0.644632 0.646526 +0.644 0.642737 0.644632 0.649053 0.65979 0.681263 0.714105 0.743789 +0.753895 0.745053 0.711579 0.652211 0.585895 0.525895 0.446987 0.359893 +0.29552 0.263333 0.26144 0.240613 0.229253 0.234933 0.217893 0.000986667 +0.00098 0.000933333 0.000933333 0.000953333 0.00096 0.000946667 0.000966667 0.000986667 +0.000946667 0.00096 0.000986667 0.00096 0.000973333 0.00098 0.000973333 0.00096 +0.00096 0.00098 0.22168 0.00098 0.000973333 0.000986667 0.000946667 0.00096 +0.000993333 0.00098 0.000966667 0.000953333 0.000946667 0.00094 0.000946667 0.000946667 +0.000953333 0.000953333 0.00096 0.000953333 0.000953333 0.000953333 0.00096 0.000973333 +0.00098 0.000966667 0.00096 0.00096 0.000973333 0.000946667 0.000933333 0.000973333 +0.217893 0.00098 0.000986667 0.000973333 0.000966667 0.00098 0.000953333 0.00096 +0.216 0.000993333 0.000973333 0.000953333 0.000966667 0.219787 0.217893 0.000973333 +0.000993333 0.216 0.000986667 0.217893 0.000913333 0.000913333 0.00088 0.000846667 +0.000813333 0.000813333 0.000826667 0.00082 0.000806667 0.000793333 0.000833333 0.000826667 +0.00078 0.00088 0.371253 0.642105 0.727368 0.566316 0.34664 0.274693 +0.242507 0.225467 0.22168 0.216 0.000966667 0.000966667 0.000946667 0.000933333 +0.00094 0.000913333 0.000893333 0.000906667 0.00094 0.00096 0.000953333 0.000953333 +0.000933333 0.00092 0.00094 0.000933333 0.000933333 0.00094 0.000933333 0.0009 +0.000866667 0.000886667 0.00092 0.000866667 0.00084 0.000866667 0.000893333 0.000886667 +0.000866667 0.000886667 0.00088 0.000866667 0.00086 0.000873333 0.000893333 0.0009 +0.0009 0.000906667 0.000873333 0.000906667 0.000926667 0.000893333 0.000893333 0.00092 +0.00088 0.00088 0.000893333 0.000866667 0.000886667 0.000913333 0.000893333 0.000906667 +0.000913333 0.000906667 0.000933333 0.000953333 0.000966667 0.000966667 0.000953333 0.00094 +0.00094 0.000966667 0.216 0.22168 0.234933 0.257653 0.293627 0.36936 +0.48864 0.547368 0.599158 0.652842 0.695789 0.718526 0.717263 0.695158 +0.670526 0.644632 0.629474 0.627579 0.626947 0.626947 0.633263 0.640211 +0.643368 0.637684 0.638316 0.644 0.644 0.639579 0.615579 0.577684 +0.561263 0.558737 0.544842 0.525895 0.515789 0.496213 0.42616 0.339067 +0.269013 0.219787 0.000913333 0.000906667 0.223573 0.293627 0.367467 0.467813 +0.546105 0.645263 0.779158 0.902316 0.98 0.997633 1.0009 0.996653 +0.98849 0.978737 0.966737 0.959789 0.951579 0.947789 0.949684 0.952842 +0.958526 0.961053 0.959158 0.964842 0.974947 0.984571 0.990449 0.99698 +1.00122 1.0022 1.00286 1.00318 1.0022 0.999592 0.999918 1.0022 +1.00253 1.00188 1.00122 1.00024 1.00057 0.994041 0.988816 0.991755 +0.998612 1.0022 1.00416 1.00449 1.00416 1.00416 1.00612 1.00873 +1.01429 1.01984 1.02343 1.028 1.03224 1.03616 1.04106 1.04465 +1.04498 1.04465 1.04204 1.0378 1.0329 1.02963 1.02473 1.02049 +1.01886 1.01494 1.01527 1.01722 1.01886 1.01951 1.01984 1.01918 +1.01722 1.01755 1.02016 1.01984 1.01722 1.01527 1.01265 1.01135 +1.00971 1.00939 1.00971 1.01004 1.00808 1.00808 1.00776 1.00645 +1.00645 1.0058 1.00514 1.0071 1.00743 1.00743 1.00906 1.00743 +1.00776 1.01004 1.00939 1.00808 1.00645 1.00971 1.01167 1.00841 +1.00808 1.00743 1.00645 1.0071 1.00808 1.00645 1.00514 1.00286 +1.00286 1.00678 1.00384 1.00024 0.997959 1.00188 1.00612 1.00286 +1.00384 1.00188 0.994367 0.989469 0.985224 0.982612 0.98098 0.990776 +1.00024 1.00743 1.0071 1.00841 1.00841 1.00678 1.00547 1.00384 +1.0058 1.0058 1.00384 1.00841 1.00939 1.01429 1.02441 1.03486 +1.04433 1.04465 1.03551 1.02376 1.01559 1.00449 0.999918 1.00351 +1.00678 1.00678 1.00351 1.00057 1.00416 1.00645 1.00808 1.00971 +1.00449 0.99502 0.989796 0.998612 1.00939 1.01102 1.01037 1.00971 +1.00971 1.00841 1.00939 1.01102 1.00873 1.00808 1.01069 1.01167 +1.01004 1.01135 1.012 1.01037 1.01037 1.00939 1.01037 1.012 +1.012 1.01167 1.01037 1.01069 1.01167 1.01265 1.01429 1.01396 +1.01363 1.01298 1.01037 1.01298 1.01624 1.01527 1.01559 1.01657 +1.01788 1.01722 1.01527 1.01559 1.01592 1.01494 1.01461 1.01461 +1.01755 1.01592 1.01429 1.01788 1.0182 1.01396 1.01233 1.01429 +1.01363 1.00841 1.00416 1.00612 1.00808 1.01004 1.00776 1.00841 +1.00873 1.00873 1.00873 1.01004 1.01037 1.01069 1.00808 1.00351 +1.00057 1.0022 1.00351 1.00286 1.00024 1.00057 1.00514 1.00808 +1.00645 1.00514 1.00743 1.00906 1.0071 1.00612 1.00808 1.00743 +1.0009 0.99502 0.988816 0.98098 0.972421 0.974316 0.968 0.960421 +0.961053 0.974316 0.985224 0.993061 1.00057 1.00776 1.00906 1.00449 +0.989796 0.943368 0.861263 0.754526 0.642105 0.550526 0.486747 0.393973 +0.339067 0.354213 0.43752 0.517053 0.558737 0.596 0.621263 0.637684 +0.646526 0.648421 0.649053 0.645263 0.641474 0.643368 0.645263 0.645895 +0.643368 0.651579 0.670526 0.698316 0.731789 0.755158 0.759579 0.732421 +0.675579 0.611789 0.551158 0.498107 0.384507 0.310667 0.2728 0.251973 +0.242507 0.23304 0.23304 0.229253 0.22736 0.225467 0.219787 0.216 +0.00096 0.00096 0.00098 0.000953333 0.00098 0.216 0.00098 0.000966667 +0.000946667 0.00094 0.000953333 0.000953333 0.00094 0.000946667 0.00096 0.00092 +0.00092 0.00094 0.000966667 0.000986667 0.00096 0.00096 0.00096 0.00096 +0.000966667 0.000953333 0.00096 0.000946667 0.00094 0.000946667 0.000946667 0.000933333 +0.00096 0.000953333 0.000953333 0.000966667 0.000966667 0.000953333 0.000953333 0.00096 +0.00098 0.00096 0.000953333 0.000966667 0.000973333 0.000966667 0.000946667 0.000973333 +0.217893 0.000986667 0.000993333 0.000993333 0.00096 0.00098 0.00098 0.000966667 +0.000973333 0.00098 0.000973333 0.00098 0.000966667 0.00098 0.216 0.216 +0.000986667 0.000986667 0.000986667 0.22168 0.00092 0.000886667 0.000846667 0.000853333 +0.000833333 0.000813333 0.00084 0.000833333 0.00082 0.000813333 0.000833333 0.000806667 +0.000813333 0.00092 0.356107 0.638316 0.728632 0.565684 0.339067 0.26712 +0.2444 0.231147 0.223573 0.216 0.216 0.000993333 0.000966667 0.000973333 +0.000973333 0.000953333 0.000953333 0.00098 0.000993333 0.000986667 0.00098 0.000973333 +0.000933333 0.00094 0.000953333 0.000946667 0.000973333 0.000953333 0.00094 0.000926667 +0.000913333 0.000926667 0.00092 0.0009 0.000886667 0.0009 0.00092 0.00092 +0.000906667 0.000946667 0.000926667 0.000893333 0.000886667 0.000906667 0.00092 0.000946667 +0.000953333 0.00092 0.000906667 0.000933333 0.000926667 0.000913333 0.00092 0.000926667 +0.000886667 0.000893333 0.000893333 0.000893333 0.0009 0.000906667 0.000893333 0.000906667 +0.000893333 0.000913333 0.00092 0.00092 0.000933333 0.000913333 0.000913333 0.000873333 +0.000866667 0.000906667 0.000933333 0.000933333 0.000933333 0.00096 0.000986667 0.23872 +0.270907 0.310667 0.373147 0.48296 0.539789 0.595368 0.649053 0.689474 +0.711579 0.715368 0.703368 0.686947 0.669895 0.655368 0.646526 0.641474 +0.640211 0.633895 0.630737 0.637684 0.640211 0.638316 0.612421 0.564421 +0.537895 0.536632 0.527789 0.513263 0.532842 0.559368 0.561895 0.538526 +0.5 0.382613 0.299307 0.242507 0.219787 0.231147 0.2728 0.358 +0.43184 0.513263 0.589684 0.704632 0.831579 0.938316 0.991102 1.00318 +1.00122 0.994041 0.986531 0.978737 0.962316 0.950316 0.949684 0.949684 +0.951579 0.955368 0.956 0.959789 0.964211 0.967368 0.974947 0.984571 +0.992082 0.99698 1.00122 1.00351 1.00384 1.00449 1.00318 1.00286 +1.00514 1.00645 1.00612 1.0071 1.0071 1.00482 1.00286 0.998939 +1.0009 1.00286 1.00286 1.00351 1.00416 1.00612 1.00612 1.0058 +1.00841 1.00873 1.00971 1.01233 1.01298 1.012 1.01233 1.01363 +1.01167 1.00841 1.00873 1.01004 1.01233 1.01592 1.01298 1.01167 +1.01265 1.01037 1.01102 1.01265 1.01592 1.0182 1.01886 1.01984 +1.01755 1.0182 1.01984 1.01657 1.01592 1.01527 1.01429 1.01429 +1.01429 1.01461 1.01331 1.01037 1.00873 1.01004 1.00776 1.00678 +1.00645 1.00482 1.00547 1.00645 1.00678 1.00743 1.00612 1.00547 +1.00841 1.01135 1.01004 1.00743 1.00514 1.00906 1.00939 1.00645 +1.00678 1.0071 1.00547 1.00743 1.00808 1.0058 1.00318 1.00155 +1.00384 1.00482 0.999592 0.997959 0.997959 1.0009 1.00318 1.00188 +1.00286 1.00155 0.99698 0.994367 0.986857 0.979368 0.975579 0.986531 +0.997306 1.00645 1.01037 1.01135 1.01037 1.00776 1.0022 1.00024 +1.00286 1.00416 1.0022 1.00678 1.01037 1.01527 1.02082 1.02571 +1.03192 1.03224 1.0218 1.01233 1.01135 1.00286 0.998612 1.00318 +1.00645 1.0022 0.993388 0.990776 1.00122 1.00645 1.00939 1.00841 +0.999918 0.986531 0.976211 0.989469 1.00416 1.00939 1.00971 1.00939 +1.00939 1.00873 1.01069 1.01331 1.01102 1.00906 1.01135 1.01298 +1.01135 1.01167 1.01167 1.01069 1.01233 1.01233 1.01167 1.01233 +1.01396 1.01233 1.01233 1.01265 1.012 1.01233 1.012 1.01331 +1.01363 1.01167 1.00939 1.01037 1.01461 1.01429 1.012 1.01265 +1.01461 1.01461 1.01363 1.01265 1.01331 1.01461 1.01331 1.012 +1.01461 1.01527 1.01363 1.01592 1.0169 1.01363 1.01298 1.01298 +1.012 1.00645 1.00449 1.0071 1.00841 1.00645 1.00873 1.00841 +1.00645 1.00645 1.00939 1.01102 1.00971 1.00971 1.00971 1.00384 +0.996653 0.993388 0.99502 0.997306 0.998612 0.999592 1.00318 1.00645 +1.00678 1.00841 1.00906 1.0071 1.00645 1.00645 1.00384 0.998286 +0.990122 0.983918 0.979368 0.971158 0.970526 0.970526 0.971158 0.98 +0.985878 0.992408 0.999592 1.00645 1.00939 1.00645 0.992408 0.949053 +0.868842 0.765263 0.657895 0.577053 0.515158 0.424267 0.390187 0.418587 +0.486747 0.530316 0.572632 0.603579 0.623158 0.642105 0.650316 0.653474 +0.653474 0.652842 0.650947 0.644 0.644 0.652211 0.656632 0.665474 +0.691368 0.726105 0.755158 0.766526 0.753263 0.709684 0.648421 0.578316 +0.517684 0.42048 0.339067 0.291733 0.257653 0.240613 0.231147 0.217893 +0.216 0.216 0.000953333 0.00094 0.000966667 0.000933333 0.000913333 0.000933333 +0.000913333 0.0009 0.000946667 0.00092 0.000906667 0.00096 0.000966667 0.00094 +0.000926667 0.000953333 0.000966667 0.000966667 0.00096 0.000966667 0.217893 0.000966667 +0.000933333 0.000946667 0.000946667 0.000973333 0.000966667 0.000953333 0.00096 0.00098 +0.00098 0.000946667 0.00094 0.000953333 0.000926667 0.000933333 0.000946667 0.000953333 +0.000946667 0.00094 0.00094 0.00098 0.000993333 0.000946667 0.000966667 0.00096 +0.00096 0.000953333 0.000933333 0.000946667 0.000933333 0.000933333 0.000946667 0.000966667 +0.000986667 0.00098 0.216 0.217893 0.000986667 0.000986667 0.00098 0.000993333 +0.217893 0.216 0.000966667 0.216 0.216 0.000973333 0.00098 0.223573 +0.223573 0.217893 0.216 0.223573 0.000886667 0.000846667 0.000826667 0.000853333 +0.000866667 0.00084 0.00086 0.000846667 0.00084 0.000833333 0.000806667 0.0008 +0.000886667 0.000933333 0.339067 0.630737 0.734316 0.578316 0.342853 0.263333 +0.242507 0.229253 0.22168 0.217893 0.217893 0.219787 0.000973333 0.000966667 +0.000946667 0.00096 0.00098 0.00096 0.000946667 0.00096 0.000953333 0.000933333 +0.00092 0.000953333 0.00096 0.000953333 0.000973333 0.000953333 0.00094 0.000933333 +0.000926667 0.000926667 0.0009 0.0009 0.000886667 0.000893333 0.000926667 0.00092 +0.000906667 0.000933333 0.000966667 0.000933333 0.000913333 0.000926667 0.000933333 0.000926667 +0.000926667 0.000913333 0.000926667 0.000926667 0.000906667 0.000913333 0.000926667 0.000933333 +0.0009 0.000886667 0.000906667 0.000926667 0.000893333 0.000893333 0.000873333 0.0009 +0.0009 0.00092 0.000893333 0.000886667 0.000913333 0.000913333 0.000906667 0.00088 +0.0009 0.000926667 0.00096 0.000953333 0.00092 0.000946667 0.000953333 0.216 +0.229253 0.23872 0.246293 0.270907 0.308773 0.376933 0.479173 0.536 +0.592211 0.651579 0.697053 0.728 0.740632 0.731158 0.709053 0.685684 +0.664842 0.650316 0.640211 0.639579 0.635158 0.625053 0.608632 0.577684 +0.549263 0.536 0.527158 0.501895 0.510737 0.554316 0.590947 0.604211 +0.592842 0.559368 0.517684 0.43752 0.348533 0.291733 0.26144 0.282267 +0.327707 0.393973 0.501895 0.548 0.628842 0.751368 0.880842 0.971789 +0.996327 1.00318 1.00122 0.993714 0.985551 0.973684 0.962316 0.955368 +0.950947 0.950316 0.950947 0.955368 0.958526 0.960421 0.965474 0.968 +0.976842 0.984245 0.991429 0.998939 1.0022 1.00612 1.00612 1.00514 +1.00416 1.00384 1.0058 1.00645 1.00482 1.00351 1.00155 1.00057 +1.00155 1.00253 1.00122 0.999918 1.0009 1.00351 1.00351 1.00482 +1.00678 1.00482 1.0022 1.00384 1.00612 1.00547 1.00482 1.00482 +1.00318 1.00351 1.00514 1.00743 1.01037 1.01331 1.01004 1.00873 +1.01037 1.01004 1.00841 1.00678 1.01069 1.01527 1.01624 1.0182 +1.0169 1.01624 1.01592 1.01363 1.01331 1.01102 1.01004 1.01167 +1.01331 1.01363 1.01233 1.01135 1.01265 1.01265 1.0071 1.00482 +1.00547 1.00645 1.00776 1.00776 1.00808 1.0071 1.00482 1.00351 +1.00645 1.00841 1.00808 1.0058 1.00612 1.00939 1.0071 1.0071 +1.00841 1.00743 1.00547 1.00873 1.00939 1.00743 1.00514 1.00351 +1.00253 1.00188 1.00122 1.00253 1.00155 1.00188 1.00318 1.00286 +1.00482 1.00384 1.0009 1.00188 0.994367 0.980327 0.965474 0.969263 +0.983918 0.998939 1.00678 1.00939 1.00808 1.00547 1.00057 0.999918 +1.0022 1.00122 0.999265 1.0022 1.00939 1.01624 1.01918 1.02049 +1.02441 1.02473 1.01592 1.00514 1.00155 0.997959 0.999592 1.00449 +1.0058 1.00122 0.992082 0.993714 1.00416 1.00678 1.01037 1.01004 +0.998286 0.974947 0.955368 0.98 0.998939 1.00808 1.00939 1.00906 +1.00971 1.01004 1.01233 1.01494 1.01004 1.00776 1.01102 1.01363 +1.01265 1.01135 1.01363 1.01461 1.01657 1.01527 1.01233 1.012 +1.01363 1.01135 1.01167 1.01396 1.01298 1.01331 1.01233 1.01363 +1.01461 1.01298 1.01233 1.00906 1.01037 1.01363 1.01233 1.01396 +1.01592 1.01657 1.01624 1.01363 1.01298 1.01592 1.01494 1.01298 +1.01527 1.01722 1.01494 1.01429 1.01494 1.01494 1.01559 1.01298 +1.01167 1.00808 1.00678 1.00743 1.00873 1.00906 1.01135 1.01102 +1.00841 1.00906 1.01135 1.01135 1.00971 1.00873 1.00645 1.00057 +0.994694 0.993388 0.995673 1.0009 1.00351 1.00351 1.00514 1.00612 +1.00743 1.00808 1.00612 1.00449 1.00449 1.0009 0.991429 0.983592 +0.976211 0.968632 0.964211 0.967368 0.974316 0.980653 0.989796 1.00024 +1.00416 1.0058 1.00612 1.00286 0.991755 0.952842 0.875789 0.777263 +0.675579 0.587158 0.522737 0.469707 0.433733 0.458347 0.515789 0.555579 +0.588421 0.610526 0.625053 0.638316 0.645895 0.643368 0.645895 0.650947 +0.649053 0.650316 0.650316 0.645895 0.656 0.682526 0.712211 0.742526 +0.767158 0.770316 0.736842 0.678105 0.605474 0.540421 0.479173 0.365573 +0.299307 0.269013 0.25008 0.246293 0.240613 0.22736 0.22736 0.22736 +0.217893 0.223573 0.000993333 0.00096 0.217893 0.216 0.000973333 0.000966667 +0.00096 0.000946667 0.00096 0.000926667 0.0009 0.000926667 0.000953333 0.000913333 +0.00088 0.00092 0.000933333 0.00092 0.000906667 0.00092 0.000946667 0.000926667 +0.0009 0.000933333 0.000926667 0.000933333 0.000946667 0.00096 0.00096 0.000973333 +0.00098 0.00096 0.000946667 0.000953333 0.00094 0.000926667 0.000946667 0.00094 +0.000953333 0.000946667 0.000946667 0.000973333 0.000993333 0.000973333 0.000986667 0.000986667 +0.216 0.216 0.000973333 0.00098 0.00094 0.000953333 0.000973333 0.000966667 +0.00096 0.000966667 0.216 0.217893 0.00098 0.216 0.217893 0.00098 +0.000986667 0.000993333 0.00098 0.216 0.22168 0.217893 0.000993333 0.22168 +0.223573 0.217893 0.000986667 0.22168 0.000953333 0.000906667 0.000873333 0.0009 +0.00092 0.000873333 0.000866667 0.00086 0.00086 0.000826667 0.000766667 0.000833333 +0.00092 0.000913333 0.29552 0.604211 0.733684 0.600421 0.358 0.253867 +0.229253 0.22168 0.219787 0.219787 0.217893 0.216 0.00096 0.00094 +0.000946667 0.00096 0.000973333 0.00096 0.000966667 0.000953333 0.000926667 0.000953333 +0.000946667 0.000973333 0.000986667 0.000966667 0.000953333 0.000933333 0.000946667 0.00092 +0.000906667 0.000906667 0.000906667 0.000893333 0.0009 0.000886667 0.000906667 0.000913333 +0.00092 0.000913333 0.000953333 0.000926667 0.0009 0.0009 0.000913333 0.000913333 +0.000926667 0.000906667 0.000893333 0.000906667 0.000933333 0.00092 0.000886667 0.000906667 +0.00088 0.00086 0.000913333 0.00092 0.0009 0.0009 0.00088 0.00092 +0.00092 0.000913333 0.000893333 0.0009 0.00092 0.000913333 0.00092 0.000933333 +0.000953333 0.00096 0.000973333 0.000973333 0.000953333 0.00098 0.000993333 0.000993333 +0.000993333 0.219787 0.217893 0.231147 0.246293 0.25576 0.270907 0.310667 +0.382613 0.484853 0.537263 0.595368 0.657263 0.707789 0.74 0.748842 +0.739368 0.715368 0.687579 0.668632 0.652211 0.633895 0.625053 0.613684 +0.598526 0.589684 0.585895 0.563158 0.546105 0.556211 0.579579 0.612421 +0.639579 0.634526 0.609263 0.576421 0.539789 0.503158 0.40912 0.322027 +0.282267 0.299307 0.367467 0.424267 0.505053 0.571368 0.675579 0.801263 +0.913053 0.984571 1.00122 1.00416 1.00286 0.996327 0.986531 0.976211 +0.964842 0.957263 0.954105 0.954105 0.956 0.957895 0.959158 0.961053 +0.966105 0.974947 0.982612 0.987837 0.994367 1.00155 1.00514 1.0058 +1.00384 1.00286 1.00416 1.00482 1.00318 1.00318 1.00384 1.00253 +1.0022 1.00384 1.00286 1.00155 0.999918 0.999592 0.999265 0.998286 +1.0009 1.00384 1.00286 1.00351 1.00482 1.00384 1.00318 1.00384 +1.00449 1.00547 1.00743 1.00873 1.01233 1.01363 1.01135 1.01102 +1.01004 1.00808 1.00384 0.999592 0.999592 1.00318 1.00939 1.01592 +1.0169 1.01592 1.01429 1.01331 1.01102 1.00841 1.00841 1.00971 +1.01135 1.01298 1.01265 1.01167 1.01331 1.01265 1.00808 1.00645 +1.00776 1.00873 1.01004 1.01069 1.00906 1.0071 1.00514 1.00416 +1.00776 1.00906 1.00776 1.00612 1.00841 1.01004 1.00645 1.00678 +1.00743 1.00514 1.00384 1.00678 1.00808 1.00547 1.00286 1.00351 +1.00416 1.00384 1.00612 1.00612 1.00449 1.00351 1.0009 1.0009 +1.00416 1.00188 1.00024 1.00155 0.994367 0.975579 0.951579 0.945263 +0.957263 0.983918 0.99698 1.00449 1.00514 1.00449 1.00286 1.00286 +1.00449 1.00155 0.996653 0.998286 1.00939 1.02245 1.02408 1.01853 +1.01657 1.01918 1.01984 1.01102 1.00514 1.00057 0.996327 0.994694 +0.998286 0.998939 0.998286 1.00253 1.00873 1.0071 1.00808 1.00678 +0.992082 0.962947 0.944632 0.959158 0.984898 0.999918 1.00514 1.0071 +1.00906 1.00906 1.01102 1.01233 1.00776 1.00645 1.01004 1.01429 +1.01363 1.01233 1.01363 1.01363 1.01559 1.01461 1.01298 1.01265 +1.01429 1.012 1.01069 1.01363 1.01363 1.01396 1.012 1.01135 +1.01233 1.01102 1.01102 1.0071 1.00808 1.01363 1.01559 1.01559 +1.01624 1.01657 1.01657 1.01461 1.01429 1.01592 1.01461 1.01265 +1.01461 1.01559 1.01265 1.012 1.01331 1.01331 1.01265 1.00971 +1.01004 1.01135 1.00776 1.00678 1.00939 1.01298 1.01102 1.01167 +1.01298 1.01167 1.00971 1.00841 1.00841 1.00482 0.999592 0.997306 +0.998612 0.999592 1.00384 1.00743 1.00808 1.00678 1.00645 1.0071 +1.00906 1.00776 1.00482 1.00155 0.997306 0.990449 0.981959 0.973053 +0.963579 0.959158 0.969263 0.984245 0.991102 0.997959 1.00645 1.012 +1.01037 1.00514 0.988163 0.932632 0.853053 0.765263 0.679368 0.597895 +0.536632 0.505053 0.484853 0.505684 0.532842 0.572632 0.609895 0.631368 +0.641474 0.642737 0.644632 0.647789 0.652842 0.646526 0.647789 0.657895 +0.660421 0.669263 0.679368 0.697684 0.731158 0.760842 0.772842 0.752 +0.702737 0.634526 0.563158 0.504421 0.384507 0.310667 0.280373 0.2444 +0.225467 0.223573 0.22168 0.219787 0.216 0.000973333 0.000953333 0.000993333 +0.000973333 0.000986667 0.000966667 0.000913333 0.00094 0.000973333 0.00098 0.00096 +0.00094 0.00096 0.000946667 0.00094 0.000946667 0.00094 0.00096 0.00094 +0.00092 0.000953333 0.00096 0.00096 0.000953333 0.000966667 0.000966667 0.00094 +0.000926667 0.000966667 0.000966667 0.000953333 0.00094 0.00094 0.00096 0.000966667 +0.000946667 0.00092 0.00092 0.000933333 0.000906667 0.0009 0.000913333 0.000906667 +0.0009 0.000906667 0.000913333 0.00094 0.000946667 0.000946667 0.000953333 0.00098 +0.219787 0.217893 0.000973333 0.00098 0.000946667 0.000973333 0.216 0.000986667 +0.000973333 0.000973333 0.216 0.223573 0.219787 0.22168 0.229253 0.223573 +0.216 0.000986667 0.000986667 0.000986667 0.217893 0.223573 0.225467 0.229253 +0.229253 0.231147 0.229253 0.229253 0.00096 0.000926667 0.0009 0.00088 +0.000873333 0.000853333 0.00084 0.00082 0.0008 0.000753333 0.00076 0.00086 +0.000886667 0.00084 0.242507 0.562526 0.721684 0.634526 0.405333 0.248187 +0.223573 0.22736 0.22736 0.225467 0.000993333 0.00096 0.00098 0.000986667 +0.000973333 0.00094 0.000953333 0.000986667 0.000953333 0.00092 0.000926667 0.00094 +0.00094 0.000953333 0.000966667 0.000933333 0.000893333 0.0009 0.0009 0.000886667 +0.000873333 0.000886667 0.000893333 0.000866667 0.0009 0.000893333 0.000893333 0.000893333 +0.000893333 0.0009 0.00092 0.000913333 0.0009 0.0009 0.000906667 0.000913333 +0.00092 0.0009 0.000893333 0.0009 0.000926667 0.000886667 0.000873333 0.000906667 +0.0009 0.00088 0.000906667 0.000933333 0.000926667 0.000926667 0.000893333 0.00092 +0.000913333 0.00092 0.000933333 0.000926667 0.00092 0.000913333 0.000946667 0.000953333 +0.000926667 0.000926667 0.000933333 0.000966667 0.00096 0.00096 0.00098 0.000973333 +0.000966667 0.000973333 0.000986667 0.216 0.217893 0.217893 0.225467 0.242507 +0.25008 0.26712 0.303093 0.365573 0.475387 0.540421 0.596632 0.655368 +0.707158 0.744421 0.753895 0.745053 0.722316 0.688211 0.663579 0.646526 +0.636421 0.630105 0.624421 0.615579 0.605474 0.600421 0.599158 0.620632 +0.656 0.673684 0.671789 0.653474 0.627579 0.600421 0.568211 0.527158 +0.45456 0.350427 0.29552 0.310667 0.38072 0.475387 0.532211 0.604211 +0.711579 0.836 0.937053 0.990776 1.00547 1.0071 1.00188 0.995673 +0.989143 0.982286 0.969895 0.958526 0.954737 0.952211 0.950947 0.954737 +0.956632 0.960421 0.968632 0.979368 0.986204 0.992408 0.998286 1.00188 +1.00351 1.00384 1.00612 1.00547 1.00514 1.00678 1.00743 1.0058 +1.00416 1.00482 1.00808 1.00776 1.0058 0.999918 0.994694 0.990122 +0.989796 0.99698 1.00482 1.00873 1.00841 1.00743 1.00873 1.00971 +1.00841 1.00808 1.00971 1.01102 1.01265 1.01135 1.01069 1.00971 +1.00743 1.00612 1.00122 0.997306 0.99698 0.997959 1.00449 1.01069 +1.01363 1.01396 1.012 1.01037 1.00939 1.01167 1.01135 1.01004 +1.01135 1.01265 1.012 1.01102 1.01233 1.01102 1.00873 1.00841 +1.00841 1.00808 1.00873 1.01069 1.00776 1.0058 1.00645 1.00776 +1.01037 1.00971 1.00873 1.00776 1.00939 1.00873 1.00743 1.00776 +1.00776 1.00743 1.00678 1.01004 1.00906 1.00482 1.00253 1.00449 +1.00612 1.00547 1.00743 1.00873 1.00645 1.00351 0.999918 1.00155 +1.00449 1.00155 1.00122 1.00122 0.991102 0.965474 0.945895 0.938947 +0.943368 0.960421 0.98098 0.993061 1.00122 1.00776 1.00612 1.00351 +1.00122 0.992082 0.986204 0.989796 1.00514 1.02604 1.0378 1.03257 +1.02212 1.02408 1.03094 1.03094 1.02833 1.01657 0.994367 0.982286 +0.985551 0.98849 0.990122 0.995347 1.00416 1.0058 1.00612 0.997959 +0.982939 0.961684 0.950947 0.951579 0.961053 0.982939 0.994367 1.00351 +1.00678 1.00449 1.00678 1.00971 1.00939 1.00743 1.00841 1.012 +1.01233 1.01167 1.012 1.01233 1.01429 1.01298 1.01004 1.01037 +1.01527 1.01559 1.01298 1.01461 1.01233 1.01069 1.00808 1.0071 +1.01004 1.01102 1.01135 1.01069 1.012 1.01592 1.01755 1.01461 +1.01396 1.01331 1.01461 1.01527 1.01363 1.01494 1.01461 1.01494 +1.01429 1.01494 1.01363 1.01396 1.01265 1.01167 1.01135 1.00971 +1.00971 1.01037 1.00743 1.00939 1.01135 1.012 1.01102 1.01233 +1.01363 1.01135 1.00743 1.00612 1.00318 0.999592 1.00024 1.00286 +1.00416 1.00612 1.00873 1.00873 1.00808 1.00645 1.00612 1.00612 +1.0058 1.00188 0.996327 0.989143 0.981306 0.973684 0.966105 0.961053 +0.961053 0.969895 0.985878 0.99698 1.00351 1.00743 1.00906 1.00318 +0.984571 0.932 0.845474 0.741263 0.647158 0.580842 0.537263 0.511368 +0.507579 0.524632 0.554947 0.592211 0.619368 0.640842 0.656 0.65979 +0.654737 0.654737 0.656632 0.65979 0.662947 0.65979 0.668632 0.688211 +0.706526 0.735579 0.761474 0.779789 0.779158 0.738105 0.673053 0.601053 +0.531579 0.439413 0.34096 0.27848 0.248187 0.246293 0.236827 0.229253 +0.229253 0.219787 0.216 0.22736 0.000993333 0.000946667 0.000946667 0.00096 +0.000953333 0.000953333 0.00092 0.0009 0.000893333 0.00092 0.000946667 0.00092 +0.000893333 0.000906667 0.000913333 0.000873333 0.000873333 0.00086 0.000866667 0.00086 +0.000853333 0.000873333 0.000873333 0.000893333 0.000913333 0.000926667 0.00094 0.000913333 +0.0009 0.000926667 0.00094 0.000933333 0.00094 0.000933333 0.000953333 0.217893 +0.216 0.000973333 0.000946667 0.000966667 0.00096 0.00094 0.000953333 0.000933333 +0.00094 0.000913333 0.0009 0.000933333 0.000946667 0.00094 0.00092 0.00096 +0.000993333 0.217893 0.00096 0.00098 0.00098 0.000973333 0.00098 0.000966667 +0.00096 0.000973333 0.00098 0.216 0.22168 0.219787 0.217893 0.217893 +0.217893 0.223573 0.223573 0.000993333 0.22168 0.22736 0.22736 0.229253 +0.22736 0.234933 0.240613 0.23872 0.000886667 0.00088 0.00086 0.00084 +0.000826667 0.000826667 0.000793333 0.00078 0.00076 0.000753333 0.000826667 0.000873333 +0.00082 0.000786667 0.000973333 0.518316 0.694526 0.672421 0.502526 0.26144 +0.22736 0.225467 0.217893 0.000966667 0.000933333 0.00094 0.000986667 0.000953333 +0.0009 0.0009 0.000926667 0.000926667 0.000886667 0.000886667 0.000906667 0.000913333 +0.00092 0.000906667 0.000906667 0.000913333 0.000893333 0.00088 0.0009 0.000906667 +0.000893333 0.000873333 0.00086 0.00086 0.000866667 0.000886667 0.000886667 0.000866667 +0.00088 0.000893333 0.000886667 0.000906667 0.000893333 0.00088 0.000873333 0.000873333 +0.000893333 0.000893333 0.000886667 0.000913333 0.000913333 0.00088 0.0009 0.000926667 +0.00092 0.000906667 0.000926667 0.000946667 0.000933333 0.00092 0.0009 0.000933333 +0.00092 0.000926667 0.000933333 0.000913333 0.00092 0.00092 0.00094 0.000933333 +0.000886667 0.000906667 0.000946667 0.000966667 0.000946667 0.000913333 0.000906667 0.000906667 +0.000913333 0.000933333 0.00096 0.00094 0.00092 0.000973333 0.216 0.000986667 +0.000986667 0.225467 0.236827 0.2444 0.282267 0.322027 0.365573 0.45456 +0.534737 0.592211 0.653474 0.710316 0.750737 0.758316 0.742526 0.717895 +0.693895 0.672421 0.653474 0.644632 0.641474 0.638947 0.632632 0.637053 +0.653474 0.668632 0.680632 0.68 0.675579 0.668632 0.650947 0.623789 +0.587789 0.539158 0.458347 0.350427 0.331493 0.373147 0.441307 0.508211 +0.549895 0.629474 0.743158 0.861895 0.956632 0.996 1.00645 1.00743 +1.00482 1.00122 0.994041 0.982939 0.969263 0.959158 0.951579 0.949053 +0.946526 0.947789 0.955368 0.963579 0.971789 0.98 0.987837 0.995347 +0.999265 1.00024 1.00286 1.00482 1.00776 1.00776 1.00482 1.00514 +1.00482 1.00514 1.00776 1.00645 1.00514 1.00351 0.998286 0.991102 +0.985878 0.988816 0.999265 1.00678 1.00841 1.00841 1.01037 1.01037 +1.00841 1.00873 1.00939 1.01004 1.00906 1.00841 1.00906 1.00776 +1.00939 1.01004 1.0058 1.0058 1.00645 1.00514 1.00514 1.0058 +1.00808 1.00971 1.00971 1.00776 1.01004 1.01363 1.01265 1.012 +1.01167 1.01167 1.01037 1.01069 1.01102 1.00971 1.00743 1.0071 +1.01004 1.01004 1.012 1.01102 1.0071 1.00743 1.00841 1.01102 +1.01102 1.01069 1.01102 1.01037 1.01233 1.01069 1.00971 1.00841 +1.01004 1.01069 1.00841 1.01004 1.00808 1.0058 1.00612 1.00776 +1.0071 1.00482 1.00449 1.00514 1.00416 1.0022 1.00057 1.0022 +1.0058 1.00286 1.00057 0.99698 0.986531 0.961053 0.947158 0.943368 +0.946526 0.953474 0.961684 0.973684 0.987184 1.0009 1.00155 0.996653 +0.990449 0.98 0.967368 0.976842 0.998612 1.0231 1.03878 1.03976 +1.02898 1.02833 1.03159 1.03518 1.04041 1.03094 1.0022 0.982286 +0.98 0.977474 0.975579 0.985224 0.995673 1.00057 1.0022 0.992735 +0.984571 0.98 0.978105 0.974316 0.968632 0.974947 0.983592 0.993388 +1.00057 0.999265 1.0022 1.00841 1.00906 1.00776 1.00841 1.01004 +1.01135 1.01069 1.00906 1.00971 1.012 1.01135 1.0071 1.00645 +1.01102 1.012 1.00678 1.0071 1.00678 1.00612 1.00743 1.00776 +1.00939 1.01037 1.01069 1.01265 1.01363 1.01559 1.01559 1.01265 +1.01069 1.01069 1.01265 1.01494 1.01298 1.01559 1.01722 1.01559 +1.01429 1.01527 1.01461 1.01527 1.01265 1.01069 1.01233 1.01135 +1.01167 1.01135 1.00971 1.01069 1.012 1.012 1.01233 1.01135 +1.01135 1.01102 1.00841 1.00645 1.00449 1.00416 1.00482 1.00547 +1.00841 1.00906 1.00808 1.00612 1.00678 1.0071 1.00384 0.998286 +0.991429 0.987184 0.981959 0.971789 0.963579 0.962947 0.962316 0.968632 +0.983265 0.993388 1.00155 1.00514 1.00645 1.00612 0.990122 0.931368 +0.835368 0.732421 0.640842 0.567579 0.522105 0.506316 0.511368 0.531579 +0.564421 0.59979 0.628211 0.652211 0.661053 0.658526 0.660421 0.658526 +0.657263 0.660421 0.663579 0.669263 0.676842 0.697684 0.731158 0.761474 +0.784211 0.786105 0.757053 0.702737 0.633895 0.558105 0.49432 0.37504 +0.30688 0.280373 0.25576 0.23304 0.22736 0.234933 0.22736 0.22736 +0.22736 0.229253 0.219787 0.217893 0.216 0.000986667 0.000986667 0.000993333 +0.00098 0.217893 0.000966667 0.000946667 0.000953333 0.000953333 0.000973333 0.00098 +0.00098 0.000966667 0.000993333 0.000973333 0.000973333 0.000953333 0.000946667 0.00094 +0.000926667 0.000926667 0.000906667 0.00092 0.00094 0.000946667 0.000953333 0.000933333 +0.0009 0.000913333 0.00092 0.0009 0.0009 0.000893333 0.000906667 0.000933333 +0.00096 0.00096 0.000926667 0.000913333 0.000913333 0.000933333 0.000946667 0.000913333 +0.00092 0.00092 0.0009 0.0009 0.000926667 0.000933333 0.000926667 0.00094 +0.000946667 0.000973333 0.00096 0.000966667 0.000993333 0.00096 0.00094 0.000946667 +0.00094 0.000953333 0.00098 0.000986667 0.00098 0.216 0.217893 0.219787 +0.000993333 0.217893 0.229253 0.000993333 0.216 0.225467 0.22736 0.225467 +0.219787 0.229253 0.236827 0.23304 0.00096 0.000946667 0.000906667 0.000866667 +0.000846667 0.000853333 0.000826667 0.000813333 0.000786667 0.00082 0.000853333 0.000813333 +0.000773333 0.000773333 0.000873333 0.428053 0.650947 0.701474 0.553053 0.314453 +0.23304 0.219787 0.216 0.000993333 0.000986667 0.000993333 0.000986667 0.00094 +0.00094 0.000966667 0.000953333 0.000946667 0.000953333 0.000953333 0.000953333 0.000946667 +0.000953333 0.00094 0.00094 0.00096 0.000953333 0.000926667 0.000926667 0.000926667 +0.000913333 0.0009 0.000886667 0.000886667 0.000866667 0.0009 0.000906667 0.0009 +0.000926667 0.00094 0.000933333 0.000926667 0.000913333 0.000913333 0.000926667 0.000926667 +0.000946667 0.00092 0.000906667 0.00094 0.000926667 0.000893333 0.00094 0.000926667 +0.00092 0.000926667 0.000933333 0.000933333 0.00092 0.000906667 0.000926667 0.000933333 +0.000893333 0.000893333 0.000906667 0.000913333 0.00094 0.000933333 0.000913333 0.000906667 +0.0009 0.00092 0.000953333 0.00096 0.000933333 0.00092 0.000906667 0.000906667 +0.00094 0.000953333 0.000933333 0.0009 0.000926667 0.000973333 0.00096 0.000953333 +0.000966667 0.000993333 0.219787 0.217893 0.231147 0.23872 0.25008 0.2728 +0.3012 0.358 0.452667 0.535368 0.597263 0.666737 0.721053 0.757684 +0.770316 0.760211 0.731789 0.704 0.681895 0.666105 0.656632 0.652842 +0.650947 0.651579 0.657895 0.663579 0.671789 0.681263 0.681263 0.672421 +0.650947 0.609895 0.567579 0.529053 0.4716 0.393973 0.3864 0.416693 +0.46024 0.511368 0.565684 0.650947 0.762105 0.877053 0.965474 0.996 +1.00482 1.00873 1.00939 1.00188 0.992082 0.984571 0.975579 0.966737 +0.960421 0.956632 0.957895 0.956 0.957895 0.965474 0.978105 0.984898 +0.987184 0.98849 0.992408 0.997633 1.00286 1.00514 1.00384 1.00449 +1.0058 1.00514 1.00547 1.00384 1.00449 1.0071 1.00514 0.999918 +0.993388 0.98849 0.992082 0.997306 0.999918 1.00286 1.00482 1.00449 +1.00514 1.0058 1.00645 1.00873 1.00939 1.01037 1.00971 1.00841 +1.012 1.012 1.01037 1.00971 1.00808 1.00939 1.00906 1.00743 +1.00449 1.00743 1.00971 1.00906 1.01135 1.01069 1.01004 1.01135 +1.01298 1.01167 1.01102 1.01265 1.01069 1.01004 1.00841 1.00776 +1.00841 1.01004 1.012 1.00906 1.00743 1.00906 1.00906 1.00971 +1.00873 1.01004 1.00906 1.00873 1.01102 1.00873 1.00808 1.00808 +1.00841 1.00808 1.00873 1.01004 1.00776 1.00612 1.0071 1.00939 +1.00776 1.00416 1.0022 1.00286 1.00416 1.00318 1.00024 1.00155 +1.00318 1.0009 0.996 0.990122 0.982939 0.969263 0.961053 0.961684 +0.965474 0.971789 0.969895 0.971158 0.978105 0.98849 0.987837 0.985224 +0.981633 0.973053 0.966737 0.976842 0.998612 1.01788 1.02669 1.02996 +1.02637 1.02735 1.02604 1.028 1.03192 1.02833 1.00873 0.994367 +0.992735 0.986857 0.982612 0.986531 0.991429 0.99502 0.998939 1.00057 +1.00122 1.00024 1.00057 0.997633 0.993388 0.992735 0.991102 0.993061 +0.998612 0.994694 0.997306 1.00286 1.00155 1.00122 1.0058 1.00808 +1.01037 1.00678 1.00384 1.0058 1.00743 1.00612 1.00188 1.00057 +1.00514 1.00743 1.00318 1.00449 1.00645 1.00612 1.00939 1.01004 +1.00873 1.01069 1.01102 1.01069 1.01135 1.01265 1.01429 1.01233 +1.00971 1.01069 1.01233 1.01461 1.01331 1.01429 1.01461 1.01135 +1.01135 1.01167 1.01069 1.01135 1.01069 1.00939 1.01037 1.01135 +1.01102 1.01135 1.01102 1.01069 1.01167 1.01135 1.01069 1.00906 +1.00971 1.01037 1.00939 1.0071 1.00808 1.00612 1.00482 1.00547 +1.00808 1.01004 1.00743 1.00547 1.00384 0.998939 0.994041 0.986204 +0.974947 0.968632 0.964842 0.959789 0.961684 0.969263 0.978737 0.990122 +0.999592 1.00449 1.00808 1.00514 0.991102 0.946526 0.849895 0.738105 +0.640211 0.563789 0.519579 0.501263 0.511368 0.539158 0.570105 0.603579 +0.629474 0.647158 0.657895 0.664842 0.664842 0.663579 0.662947 0.663579 +0.668632 0.678737 0.692632 0.715368 0.743789 0.779789 0.798105 0.779158 +0.726105 0.658526 0.581474 0.515789 0.40344 0.308773 0.259547 0.240613 +0.231147 0.22736 0.22736 0.000986667 0.000986667 0.216 0.00098 0.000993333 +0.000946667 0.000966667 0.000953333 0.00092 0.0009 0.000946667 0.000953333 0.000946667 +0.000926667 0.00096 0.000926667 0.00088 0.000913333 0.0009 0.000886667 0.0009 +0.000933333 0.000906667 0.0009 0.000966667 0.00096 0.00092 0.00092 0.00094 +0.000926667 0.000913333 0.000906667 0.000906667 0.00092 0.000953333 0.000933333 0.00092 +0.0009 0.000906667 0.00092 0.00092 0.000913333 0.000906667 0.000926667 0.000933333 +0.000946667 0.000946667 0.00096 0.000933333 0.000893333 0.00092 0.00094 0.00092 +0.000893333 0.0009 0.000933333 0.0009 0.000913333 0.00092 0.000926667 0.000913333 +0.000893333 0.00092 0.000946667 0.000953333 0.000953333 0.000926667 0.00092 0.00092 +0.000913333 0.000926667 0.00094 0.000946667 0.00094 0.000933333 0.000966667 0.000993333 +0.000986667 0.000973333 0.000993333 0.00098 0.000966667 0.00098 0.216 0.225467 +0.223573 0.223573 0.22736 0.22736 0.251973 0.231147 0.000993333 0.000933333 +0.00092 0.000906667 0.000893333 0.00086 0.000866667 0.000913333 0.00088 0.00082 +0.000766667 0.00076 0.00088 0.331493 0.594105 0.708421 0.616211 0.422373 +0.257653 0.223573 0.22168 0.22168 0.00098 0.00098 0.00098 0.216 +0.00098 0.000953333 0.00096 0.00098 0.000986667 0.000986667 0.00096 0.000946667 +0.000953333 0.00096 0.000973333 0.00098 0.00098 0.000946667 0.000913333 0.000906667 +0.000906667 0.000913333 0.000906667 0.00092 0.000893333 0.000926667 0.000946667 0.000966667 +0.00098 0.00098 0.000973333 0.000946667 0.000926667 0.000926667 0.000933333 0.00094 +0.000933333 0.0009 0.000906667 0.000913333 0.0009 0.0009 0.000946667 0.000906667 +0.0009 0.000906667 0.000913333 0.000906667 0.000906667 0.000906667 0.000913333 0.000906667 +0.00088 0.000873333 0.000893333 0.00092 0.00094 0.00094 0.000926667 0.000906667 +0.0009 0.00092 0.00094 0.00094 0.000953333 0.000946667 0.00092 0.000926667 +0.000946667 0.000946667 0.000926667 0.000946667 0.000973333 0.000973333 0.000966667 0.000973333 +0.00096 0.000973333 0.223573 0.000986667 0.000973333 0.225467 0.23872 0.234933 +0.23304 0.253867 0.27848 0.308773 0.371253 0.484853 0.546105 0.611158 +0.681895 0.741263 0.776 0.784211 0.770316 0.741263 0.712842 0.690105 +0.670526 0.65979 0.657895 0.657895 0.657263 0.659158 0.664842 0.673053 +0.660421 0.616842 0.582105 0.569474 0.553684 0.527158 0.5 0.441307 +0.412907 0.42048 0.469707 0.522105 0.575158 0.661684 0.769053 0.871368 +0.949053 0.991429 1.0071 1.01102 1.00808 1.00318 0.998939 0.994367 +0.988816 0.982286 0.972421 0.963579 0.961053 0.962316 0.966737 0.973053 +0.974947 0.973684 0.978105 0.983592 0.98849 0.994367 0.999592 1.00547 +1.00612 1.00547 1.00384 1.00416 1.00416 1.00416 1.0058 1.00514 +1.00351 1.0009 0.997306 0.995347 0.996 0.997959 0.999265 1.00122 +1.00449 1.00645 1.00971 1.012 1.01331 1.01363 1.01037 1.01069 +1.01298 1.01298 1.01363 1.01135 1.00971 1.01004 1.01102 1.00873 +1.00841 1.01037 1.00841 1.00612 1.00906 1.00906 1.00873 1.01004 +1.01004 1.00873 1.01069 1.01233 1.01069 1.01004 1.00939 1.00906 +1.00939 1.01069 1.01004 1.00678 1.00743 1.00939 1.00808 1.0058 +1.00841 1.012 1.00873 1.01004 1.01102 1.00939 1.01004 1.01102 +1.01135 1.00971 1.01069 1.01069 1.00808 1.0071 1.00841 1.00939 +1.00514 1.00057 0.99698 0.99698 0.999918 1.00024 1.0009 1.00155 +1.00057 0.996327 0.990122 0.986204 0.983592 0.982939 0.983265 0.986857 +0.989796 0.992082 0.988816 0.983918 0.981633 0.982939 0.981633 0.982939 +0.984571 0.983592 0.984245 0.989796 1.00024 1.0071 1.00906 1.01331 +1.0169 1.02114 1.01657 1.01363 1.01102 1.01265 1.00808 1.00547 +1.00612 0.997306 0.987184 0.98751 0.991102 0.993388 0.998612 1.0071 +1.01037 1.01004 1.01102 1.00971 1.0071 1.00808 1.00645 1.00645 +1.00776 1.00188 1.0009 1.00351 1.00122 1.0009 1.00253 1.00482 +1.00514 0.999918 0.998286 1.00122 1.00188 1.0022 1.00057 1.0022 +1.0071 1.00971 1.01037 1.01233 1.01396 1.01102 1.01265 1.01363 +1.01167 1.01298 1.01233 1.00971 1.012 1.01494 1.01657 1.01363 +1.01102 1.01396 1.01396 1.01461 1.01461 1.012 1.01069 1.01102 +1.01069 1.00939 1.01037 1.012 1.01069 1.00971 1.00971 1.01069 +1.01265 1.01363 1.01331 1.01298 1.01167 1.01004 1.00939 1.00939 +1.00971 1.01037 1.01037 1.00841 1.00808 1.00808 1.00873 1.01135 +1.01069 1.00906 1.00514 1.00024 0.993714 0.986857 0.983265 0.977474 +0.966105 0.962316 0.966737 0.971789 0.982286 0.990449 0.999265 1.00906 +1.01102 1.00873 1.00188 0.977474 0.885263 0.764632 0.65979 0.582737 +0.530947 0.508842 0.515158 0.541684 0.580211 0.614947 0.638947 0.652211 +0.656632 0.660421 0.666105 0.666737 0.668 0.671158 0.675579 0.686947 +0.710947 0.741895 0.777263 0.798737 0.794316 0.758947 0.695158 0.609895 +0.532842 0.439413 0.333387 0.291733 0.259547 0.234933 0.216 0.219787 +0.229253 0.219787 0.22168 0.00098 0.00096 0.000986667 0.000986667 0.000993333 +0.000973333 0.000973333 0.000953333 0.00094 0.0009 0.000933333 0.000966667 0.000933333 +0.00092 0.000926667 0.000926667 0.000913333 0.000926667 0.00092 0.00088 0.000873333 +0.0009 0.00088 0.00086 0.00092 0.00094 0.000913333 0.000906667 0.0009 +0.000873333 0.0009 0.00092 0.000893333 0.000886667 0.000926667 0.000893333 0.000866667 +0.00088 0.000893333 0.000873333 0.0009 0.000906667 0.000873333 0.000886667 0.0009 +0.000886667 0.000893333 0.00092 0.000926667 0.000906667 0.00088 0.000913333 0.000906667 +0.000873333 0.000873333 0.00092 0.0009 0.00092 0.000926667 0.000913333 0.000926667 +0.000933333 0.00094 0.000966667 0.000966667 0.000966667 0.00096 0.00096 0.00096 +0.000926667 0.00094 0.00094 0.000946667 0.000946667 0.00094 0.00096 0.000973333 +0.00096 0.00096 0.000973333 0.00098 0.000986667 0.000993333 0.000966667 0.00098 +0.22168 0.22168 0.219787 0.217893 0.390187 0.308773 0.263333 0.223573 +0.000946667 0.00092 0.000906667 0.000893333 0.000926667 0.00094 0.000886667 0.000813333 +0.00076 0.00078 0.0009 0.26712 0.532211 0.683789 0.676211 0.529053 +0.3012 0.234933 0.22168 0.219787 0.00098 0.000986667 0.217893 0.000993333 +0.00096 0.00094 0.000946667 0.000933333 0.000946667 0.00098 0.000946667 0.00092 +0.00094 0.00096 0.000973333 0.000953333 0.00094 0.000926667 0.000906667 0.00092 +0.000913333 0.0009 0.0009 0.000913333 0.000886667 0.000913333 0.000933333 0.000933333 +0.00094 0.000933333 0.000906667 0.000873333 0.000893333 0.000893333 0.000906667 0.00092 +0.000906667 0.000893333 0.0009 0.000886667 0.000873333 0.0009 0.000906667 0.000873333 +0.00088 0.000873333 0.000866667 0.000866667 0.00088 0.00088 0.000893333 0.0009 +0.000866667 0.000833333 0.000866667 0.000886667 0.000913333 0.000913333 0.000906667 0.0009 +0.00088 0.000913333 0.000933333 0.000906667 0.000926667 0.00092 0.000913333 0.000926667 +0.00092 0.000926667 0.000953333 0.000953333 0.000953333 0.00096 0.000973333 0.00096 +0.00094 0.000966667 0.000986667 0.00096 0.00096 0.229253 0.22736 0.00098 +0.000953333 0.225467 0.23304 0.2444 0.257653 0.274693 0.303093 0.371253 +0.484853 0.553684 0.625053 0.695789 0.754526 0.785474 0.790526 0.773474 +0.741263 0.709053 0.691368 0.681895 0.666737 0.654105 0.654105 0.658526 +0.648421 0.614947 0.580842 0.574526 0.580842 0.577053 0.563158 0.544211 +0.517053 0.47728 0.450773 0.458347 0.498107 0.528421 0.577053 0.652842 +0.751368 0.853053 0.937053 0.985551 1.00024 1.00612 1.00841 1.00776 +1.00416 0.997633 0.988816 0.982286 0.976211 0.969263 0.965474 0.961684 +0.957895 0.959158 0.961053 0.962316 0.965474 0.974947 0.985878 0.994694 +1.00188 1.00286 1.00384 1.00645 1.00678 1.00547 1.00645 1.0071 +1.00808 1.00743 1.00547 1.0022 1.00057 0.998612 0.998939 1.00122 +1.00482 1.00873 1.01037 1.01233 1.01461 1.01429 1.012 1.012 +1.01167 1.012 1.01167 1.01102 1.01167 1.01233 1.01167 1.00873 +1.01037 1.00971 1.00416 1.00122 1.00253 1.00514 1.00841 1.00906 +1.00808 1.00873 1.01167 1.01004 1.0071 1.00743 1.00776 1.00841 +1.01037 1.01331 1.01069 1.0071 1.00645 1.00939 1.00841 1.0058 +1.00939 1.01135 1.00808 1.01004 1.00971 1.01069 1.01037 1.01167 +1.01233 1.01167 1.01167 1.01004 1.00776 1.00808 1.00678 1.00416 +1.00122 0.999918 0.997306 0.995347 0.997306 0.998939 1.00155 1.00024 +0.999918 0.996653 0.992082 0.992082 0.993388 0.995673 0.995673 0.995673 +0.996327 0.995673 0.989796 0.982286 0.978737 0.978105 0.974316 0.977474 +0.980327 0.981306 0.985878 0.993061 0.99502 0.991102 0.993714 0.997959 +1.00547 1.01102 1.00547 0.999592 0.994694 0.997959 0.999918 1.00155 +1.00122 0.993714 0.987184 0.985878 0.988163 0.98849 0.993714 1.00318 +1.00678 1.00808 1.00971 1.00971 1.00873 1.01004 1.01004 1.01004 +1.012 1.00841 1.00808 1.00906 1.00873 1.00808 1.00645 1.00645 +1.00547 1.00188 1.00122 1.00416 1.0058 1.00743 1.0071 1.00808 +1.01069 1.012 1.012 1.01167 1.01363 1.01265 1.01298 1.01298 +1.01069 1.01069 1.00971 1.01004 1.01265 1.01298 1.01429 1.01429 +1.01265 1.01363 1.01396 1.01363 1.012 1.01037 1.01102 1.012 +1.01004 1.01037 1.01298 1.01363 1.01298 1.01167 1.01265 1.01331 +1.01461 1.01559 1.01396 1.01233 1.01135 1.00971 1.01004 1.01037 +1.00906 1.00939 1.00939 1.00841 1.00939 1.01069 1.01004 1.00841 +1.00253 0.996653 0.990776 0.985551 0.981306 0.975579 0.969895 0.968 +0.965474 0.973684 0.985224 0.994694 1.00253 1.00841 1.01233 1.01429 +1.00906 0.994367 0.937684 0.828421 0.704632 0.603579 0.553053 0.528421 +0.525263 0.548 0.583368 0.62 0.644 0.657895 0.667368 0.669263 +0.668632 0.671158 0.678105 0.684421 0.693263 0.707158 0.730526 0.766526 +0.798737 0.806947 0.784842 0.727368 0.654105 0.574526 0.501263 0.36368 +0.286053 0.251973 0.240613 0.248187 0.240613 0.229253 0.217893 0.219787 +0.236827 0.23304 0.225467 0.217893 0.000993333 0.000986667 0.00098 0.217893 +0.219787 0.219787 0.000986667 0.216 0.00098 0.00098 0.000973333 0.00098 +0.000966667 0.000966667 0.000973333 0.00098 0.000966667 0.00098 0.000926667 0.000926667 +0.000953333 0.000913333 0.000906667 0.00092 0.000953333 0.00096 0.00094 0.000933333 +0.000906667 0.00094 0.00098 0.000953333 0.000953333 0.00098 0.217893 0.00094 +0.000946667 0.216 0.00096 0.00098 0.216 0.000966667 0.000966667 0.000993333 +0.00098 0.00098 0.000993333 0.00098 0.00098 0.000946667 0.000933333 0.000953333 +0.000953333 0.00094 0.00092 0.0009 0.00094 0.00094 0.00092 0.00092 +0.00094 0.000973333 0.000953333 0.00094 0.000966667 0.000966667 0.000966667 0.000966667 +0.000946667 0.000933333 0.000946667 0.000953333 0.000946667 0.000953333 0.00096 0.216 +0.000993333 0.000993333 0.217893 0.223573 0.219787 0.225467 0.223573 0.219787 +0.22168 0.22168 0.000986667 0.00098 0.611789 0.531579 0.428053 0.3296 +0.276587 0.234933 0.219787 0.22736 0.22168 0.000966667 0.0009 0.000833333 +0.000826667 0.000846667 0.000893333 0.217893 0.4148 0.624421 0.704632 0.601053 +0.411013 0.26712 0.23872 0.231147 0.229253 0.236827 0.229253 0.219787 +0.219787 0.223573 0.216 0.000986667 0.216 0.22168 0.000986667 0.00096 +0.00096 0.000973333 0.00098 0.00096 0.00094 0.000926667 0.00092 0.000913333 +0.000893333 0.000886667 0.0009 0.000906667 0.0009 0.000933333 0.000933333 0.000906667 +0.000933333 0.000926667 0.000893333 0.00088 0.000933333 0.000926667 0.0009 0.000906667 +0.000886667 0.000866667 0.000893333 0.000893333 0.000886667 0.000886667 0.000893333 0.00088 +0.000886667 0.00088 0.000886667 0.000893333 0.000913333 0.000886667 0.0009 0.000913333 +0.000873333 0.00088 0.000913333 0.000906667 0.000926667 0.000913333 0.00092 0.000926667 +0.0009 0.000913333 0.000926667 0.0009 0.000906667 0.00092 0.000926667 0.000926667 +0.000893333 0.00092 0.00094 0.00092 0.00092 0.000946667 0.00094 0.00096 +0.00098 0.00096 0.000953333 0.00096 0.000966667 0.217893 0.216 0.000973333 +0.00096 0.217893 0.217893 0.22736 0.231147 0.229253 0.248187 0.259547 +0.269013 0.31256 0.388293 0.502526 0.563789 0.635789 0.707789 0.765263 +0.794947 0.793053 0.777895 0.752632 0.715368 0.685684 0.672421 0.666105 +0.654737 0.640211 0.621895 0.611789 0.609895 0.604211 0.598526 0.593474 +0.578316 0.556842 0.534105 0.513263 0.503789 0.504421 0.508211 0.529053 +0.579579 0.645263 0.728632 0.817684 0.893474 0.954105 0.991755 1.00645 +1.00971 1.00808 1.00449 1.00024 0.994694 0.986857 0.980327 0.971789 +0.961684 0.959158 0.961053 0.960421 0.962947 0.963579 0.969895 0.981959 +0.986857 0.993061 1.00122 1.0022 1.00318 1.00449 1.00612 1.00645 +1.00645 1.0058 1.00514 1.00678 1.00743 1.00482 1.00351 1.00351 +1.00384 1.00449 1.00547 1.00939 1.012 1.01265 1.01135 1.01069 +1.01037 1.01037 1.01037 1.01102 1.01233 1.01331 1.01102 1.00743 +1.00645 1.00514 1.00384 1.00188 0.999918 1.00449 1.00939 1.00939 +1.00906 1.01102 1.01233 1.00743 1.00514 1.00906 1.00971 1.00873 +1.01004 1.01037 1.00873 1.00743 1.01004 1.01298 1.00971 1.00873 +1.00971 1.00612 1.00351 1.00547 1.00743 1.00906 1.00906 1.01004 +1.01135 1.01135 1.01102 1.00743 1.00416 1.00449 1.00416 1.00188 +1.00024 1.00286 1.00318 1.0009 1.00253 1.00449 1.0058 1.00318 +1.00384 1.00416 1.00188 1.0009 1.00024 0.998612 0.994041 0.988816 +0.985551 0.983265 0.976211 0.969895 0.968632 0.973053 0.973684 0.969895 +0.968632 0.971789 0.981959 0.98751 0.984571 0.975579 0.981959 0.986204 +0.991429 0.994694 0.990449 0.988163 0.98849 0.993061 0.993061 0.993388 +0.994041 0.993388 0.990449 0.984571 0.981306 0.977474 0.979368 0.987837 +0.994367 0.999918 1.00351 1.0058 1.0071 1.00873 1.00808 1.0071 +1.00971 1.0071 1.00841 1.00939 1.00939 1.01135 1.01102 1.01004 +1.00939 1.00776 1.00678 1.00939 1.01004 1.00971 1.00743 1.00808 +1.00873 1.00873 1.00873 1.00612 1.00971 1.012 1.01135 1.01102 +1.00939 1.00971 1.01037 1.00971 1.01037 1.01004 1.01298 1.01461 +1.01233 1.01069 1.01069 1.01102 1.00971 1.00939 1.01004 1.00906 +1.00971 1.01069 1.01167 1.01396 1.01461 1.01233 1.01167 1.01167 +1.012 1.012 1.00971 1.01004 1.01102 1.01037 1.00873 1.00873 +1.00939 1.00906 1.01004 1.00971 1.00841 1.00514 0.999592 0.996 +0.990449 0.983592 0.98 0.973053 0.963579 0.959158 0.964842 0.976842 +0.984571 0.994041 1.00253 1.01004 1.01298 1.01331 1.00873 0.992408 +0.952842 0.870737 0.758947 0.652211 0.579579 0.546737 0.543579 0.562526 +0.597263 0.628211 0.649684 0.662316 0.666737 0.670526 0.676842 0.679368 +0.679368 0.684421 0.699579 0.723579 0.759579 0.795579 0.812632 0.801263 +0.756421 0.685053 0.601053 0.525895 0.42616 0.314453 0.251973 0.225467 +0.223573 0.216 0.225467 0.234933 0.231147 0.22168 0.217893 0.219787 +0.223573 0.219787 0.217893 0.000993333 0.00098 0.00094 0.000933333 0.000946667 +0.000973333 0.000973333 0.00094 0.000926667 0.000926667 0.000933333 0.0009 0.000893333 +0.000913333 0.00092 0.000906667 0.000913333 0.00092 0.000926667 0.0009 0.000893333 +0.00092 0.000893333 0.000893333 0.000893333 0.0009 0.000933333 0.0009 0.000893333 +0.00086 0.000853333 0.00088 0.00088 0.000873333 0.000873333 0.000913333 0.000886667 +0.000866667 0.000933333 0.0009 0.000893333 0.000886667 0.00088 0.000906667 0.00094 +0.000926667 0.000933333 0.000933333 0.000913333 0.000906667 0.00092 0.000886667 0.000886667 +0.000906667 0.00092 0.000913333 0.00088 0.0009 0.000933333 0.000926667 0.000926667 +0.000933333 0.00096 0.00098 0.00096 0.000986667 0.000993333 0.216 0.000986667 +0.000993333 0.000973333 0.000966667 0.00098 0.00098 0.000986667 0.000973333 0.000973333 +0.000986667 0.219787 0.225467 0.23304 0.225467 0.22168 0.225467 0.22736 +0.22736 0.22168 0.217893 0.22168 0.854316 0.740632 0.631368 0.545474 +0.45456 0.339067 0.28984 0.270907 0.240613 0.22168 0.00098 0.00092 +0.000886667 0.000866667 0.000906667 0.000973333 0.293627 0.548632 0.686947 0.671789 +0.537263 0.337173 0.259547 0.242507 0.25008 0.246293 0.23304 0.229253 +0.229253 0.225467 0.22168 0.217893 0.000973333 0.000966667 0.000966667 0.000953333 +0.000966667 0.000966667 0.000986667 0.000973333 0.000933333 0.000933333 0.000926667 0.000913333 +0.0009 0.000906667 0.000933333 0.000913333 0.000906667 0.000933333 0.00094 0.000913333 +0.000926667 0.000926667 0.000906667 0.0009 0.00092 0.00094 0.00092 0.000906667 +0.000906667 0.000893333 0.00092 0.000926667 0.000926667 0.00092 0.00094 0.000913333 +0.00092 0.000933333 0.00092 0.00092 0.000926667 0.000893333 0.00092 0.000913333 +0.0009 0.00092 0.000926667 0.000926667 0.00092 0.00092 0.00092 0.000913333 +0.000906667 0.000906667 0.00092 0.000933333 0.00092 0.000926667 0.000926667 0.000906667 +0.0009 0.000946667 0.00096 0.000933333 0.00094 0.000953333 0.000966667 0.000993333 +0.219787 0.000973333 0.00096 0.000973333 0.000966667 0.000993333 0.216 0.000973333 +0.00096 0.216 0.22168 0.22736 0.225467 0.22168 0.23304 0.234933 +0.23872 0.246293 0.26712 0.28416 0.320133 0.407227 0.514526 0.577684 +0.647789 0.717263 0.773474 0.802526 0.798737 0.773474 0.745684 0.718526 +0.690105 0.669263 0.659158 0.652842 0.645895 0.634526 0.622526 0.609895 +0.598526 0.588421 0.575789 0.56 0.548 0.537895 0.529053 0.527789 +0.541684 0.554947 0.579579 0.626316 0.687579 0.762737 0.851789 0.933263 +0.984245 1.00057 1.00906 1.012 1.01069 1.00318 0.997306 0.993061 +0.985551 0.976211 0.969263 0.968 0.969263 0.964842 0.964211 0.969263 +0.970526 0.975579 0.985224 0.992408 0.997306 1.00057 1.00482 1.00514 +1.00449 1.00482 1.0071 1.00678 1.00678 1.00841 1.00841 1.00645 +1.00449 1.00122 1.00155 1.00514 1.00743 1.0071 1.00776 1.01069 +1.01233 1.01167 1.00906 1.00906 1.01069 1.01069 1.01037 1.00971 +1.00645 1.00351 1.0058 1.00514 1.00286 1.0058 1.00841 1.00873 +1.01004 1.01135 1.00906 1.00416 1.00547 1.00906 1.00939 1.00971 +1.01135 1.00939 1.00776 1.00743 1.01069 1.012 1.00841 1.01069 +1.00971 1.00351 0.998939 0.999265 1.0022 1.00449 1.00514 1.00743 +1.00873 1.00776 1.00678 1.00155 0.997633 0.998612 1.00122 1.00024 +1.00155 1.00645 1.00873 1.00678 1.00906 1.01102 1.01004 1.00547 +1.00678 1.00514 1.0009 0.996653 0.99502 0.990449 0.982939 0.976842 +0.971158 0.965474 0.957895 0.957263 0.959789 0.972421 0.981306 0.980327 +0.975579 0.971158 0.971789 0.972421 0.968 0.963579 0.968632 0.969263 +0.970526 0.971158 0.970526 0.974947 0.983592 0.989796 0.990776 0.990122 +0.994041 0.997306 0.990776 0.978105 0.966737 0.959789 0.957263 0.971158 +0.980653 0.989469 0.99698 1.00188 1.00547 1.00841 1.00808 1.00873 +1.01037 1.00743 1.00873 1.01069 1.00971 1.01265 1.01167 1.01004 +1.01004 1.00873 1.00841 1.01135 1.012 1.01135 1.00743 1.00841 +1.00678 1.0058 1.00743 1.00449 1.0058 1.00776 1.00514 1.00449 +1.00318 1.00514 1.00645 1.00416 1.00514 1.00808 1.00971 1.01004 +1.00808 1.00808 1.00808 1.00873 1.00939 1.01135 1.012 1.01037 +1.01069 1.00971 1.00873 1.01004 1.01167 1.01037 1.00873 1.00873 +1.01004 1.01102 1.012 1.012 1.01102 1.01135 1.01102 1.01069 +1.01069 1.00873 1.00743 1.00547 0.998612 0.992408 0.988816 0.985551 +0.980653 0.971789 0.967368 0.966105 0.962316 0.969263 0.984245 0.994694 +1.00286 1.00808 1.01102 1.01265 1.00873 0.997306 0.956632 0.863789 +0.767158 0.674316 0.602947 0.568211 0.565684 0.580211 0.602947 0.635158 +0.661053 0.668 0.670526 0.675579 0.676842 0.681895 0.690105 0.695789 +0.707158 0.733684 0.770316 0.805053 0.816421 0.791789 0.730526 0.644 +0.558737 0.4716 0.34664 0.276587 0.240613 0.22168 0.000946667 0.000913333 +0.000933333 0.00096 0.000986667 0.229253 0.231147 0.217893 0.000973333 0.000986667 +0.000966667 0.000946667 0.00096 0.000993333 0.000973333 0.000933333 0.000926667 0.000926667 +0.000953333 0.000953333 0.000933333 0.000933333 0.000933333 0.00094 0.000913333 0.0009 +0.000886667 0.000893333 0.000873333 0.00086 0.000893333 0.00088 0.000866667 0.00088 +0.000886667 0.00086 0.000893333 0.0009 0.000886667 0.000906667 0.000906667 0.000886667 +0.00088 0.000866667 0.000866667 0.000893333 0.000906667 0.000893333 0.00088 0.000886667 +0.000886667 0.00092 0.000926667 0.000906667 0.000893333 0.000873333 0.000913333 0.000953333 +0.000926667 0.00094 0.00094 0.000946667 0.000946667 0.000966667 0.000946667 0.00094 +0.000946667 0.000913333 0.00094 0.00092 0.000906667 0.000946667 0.00096 0.000966667 +0.000973333 0.00098 0.219787 0.217893 0.216 0.000986667 0.217893 0.22168 +0.219787 0.216 0.000953333 0.000953333 0.00098 0.000993333 0.000993333 0.000973333 +0.000986667 0.22168 0.234933 0.242507 0.242507 0.229253 0.229253 0.231147 +0.231147 0.229253 0.23304 0.251973 0.988163 0.961684 0.879579 0.767158 +0.652211 0.561263 0.502526 0.39208 0.316347 0.2728 0.234933 0.000973333 +0.000933333 0.00094 0.00096 0.217893 0.234933 0.42616 0.62 0.702105 +0.624421 0.492427 0.310667 0.26712 0.25576 0.240613 0.234933 0.234933 +0.22736 0.217893 0.223573 0.217893 0.000986667 0.000973333 0.000946667 0.000973333 +0.000986667 0.000973333 0.00096 0.000953333 0.000946667 0.000946667 0.000926667 0.0009 +0.00088 0.0009 0.000913333 0.0009 0.0009 0.000926667 0.00092 0.00092 +0.00094 0.00092 0.000906667 0.00092 0.00092 0.000933333 0.000933333 0.000906667 +0.000926667 0.000933333 0.000926667 0.00094 0.000933333 0.0009 0.000913333 0.000933333 +0.000933333 0.00092 0.000906667 0.000933333 0.000933333 0.00092 0.000946667 0.000946667 +0.000946667 0.000953333 0.000966667 0.00094 0.00092 0.000946667 0.000946667 0.00094 +0.000946667 0.000933333 0.00096 0.000966667 0.000946667 0.000953333 0.00094 0.000953333 +0.000946667 0.000953333 0.00096 0.00094 0.000953333 0.00098 0.000993333 0.00098 +0.000986667 0.000966667 0.00096 0.000973333 0.00096 0.000993333 0.217893 0.00098 +0.00096 0.22168 0.225467 0.217893 0.000993333 0.000993333 0.223573 0.229253 +0.22736 0.22736 0.240613 0.251973 0.257653 0.270907 0.286053 0.322027 +0.401547 0.517053 0.583368 0.657263 0.722947 0.770947 0.799368 0.803158 +0.778526 0.741263 0.707789 0.683789 0.669263 0.656632 0.640842 0.627579 +0.62 0.611158 0.600421 0.587789 0.576421 0.568842 0.566316 0.565684 +0.569474 0.574526 0.577684 0.580842 0.582737 0.606737 0.656632 0.726737 +0.810737 0.894737 0.964842 0.996653 1.00808 1.01069 1.00939 1.00645 +1.0009 0.992735 0.984571 0.978737 0.973053 0.970526 0.967368 0.962316 +0.962316 0.963579 0.968 0.978105 0.985878 0.993714 1.00122 1.00351 +1.00612 1.00743 1.00906 1.00743 1.0071 1.00808 1.00873 1.0071 +1.0071 1.00612 1.00612 1.00514 1.00449 1.00482 1.0071 1.01004 +1.01135 1.012 1.01037 1.00906 1.00939 1.00873 1.00906 1.00873 +1.00678 1.00645 1.00743 1.00612 1.00612 1.00449 1.0009 1.00318 +1.00776 1.01004 1.00678 1.00384 1.0071 1.00743 1.00841 1.00939 +1.00906 1.00808 1.00776 1.00873 1.00971 1.00743 1.00776 1.01069 +1.00743 1.00318 1.00057 0.99698 0.994367 0.99698 0.998286 0.999592 +1.00057 0.999265 0.998612 0.996653 0.995673 1.00122 1.00449 1.00318 +1.00482 1.00873 1.00939 1.00971 1.01037 1.00873 1.00645 1.00384 +1.00514 0.999592 0.989469 0.984571 0.983592 0.976842 0.966105 0.963579 +0.962316 0.956 0.950947 0.952842 0.954737 0.966737 0.978737 0.983265 +0.982612 0.973684 0.964211 0.959789 0.958526 0.961684 0.965474 0.962316 +0.962947 0.962316 0.960421 0.956 0.966105 0.98098 0.98849 0.991755 +0.993714 0.991429 0.983265 0.970526 0.960421 0.956632 0.952211 0.958526 +0.964842 0.982286 0.993061 1.00057 1.00547 1.00743 1.00873 1.01069 +1.01167 1.00776 1.0071 1.01004 1.00808 1.01004 1.01004 1.00906 +1.00808 1.00678 1.00678 1.01069 1.01135 1.01135 1.00841 1.00873 +1.00808 1.00776 1.00939 1.00645 1.00482 1.00449 1.0022 1.00188 +1.00024 0.999265 0.998612 0.995673 0.996327 1.00057 1.00318 1.00482 +1.0071 1.00906 1.0071 1.00743 1.01167 1.01331 1.01102 1.01069 +1.01069 1.00939 1.01004 1.00971 1.01037 1.01037 1.00939 1.00906 +1.01037 1.01102 1.01233 1.012 1.01233 1.012 1.00841 1.00645 +1.00318 0.997959 0.993388 0.990122 0.983592 0.978737 0.975579 0.970526 +0.961684 0.957895 0.961684 0.974316 0.984898 0.993061 1.0022 1.00906 +1.01069 1.01102 1.00645 0.991755 0.950316 0.873263 0.773474 0.669895 +0.604211 0.578947 0.581474 0.597895 0.617474 0.637053 0.654105 0.668 +0.674947 0.675579 0.68 0.686316 0.690737 0.698316 0.716632 0.745053 +0.784211 0.810105 0.806316 0.765895 0.692632 0.604211 0.522105 0.405333 +0.31824 0.259547 0.236827 0.234933 0.22168 0.00098 0.00094 0.00094 +0.000986667 0.219787 0.217893 0.217893 0.000993333 0.22168 0.217893 0.000993333 +0.000966667 0.000953333 0.000973333 0.216 0.217893 0.00098 0.000953333 0.000953333 +0.000973333 0.000993333 0.00096 0.00096 0.00098 0.00098 0.000966667 0.00096 +0.000966667 0.000953333 0.000946667 0.000933333 0.000946667 0.00092 0.0009 0.000946667 +0.00094 0.000906667 0.00092 0.00094 0.00094 0.000913333 0.00094 0.000933333 +0.000926667 0.000926667 0.000906667 0.00092 0.00094 0.000933333 0.00092 0.0009 +0.000906667 0.000933333 0.000933333 0.000926667 0.00092 0.000906667 0.000906667 0.000946667 +0.000933333 0.000933333 0.000933333 0.000946667 0.000966667 0.00094 0.000946667 0.000946667 +0.000953333 0.000906667 0.000886667 0.000893333 0.000886667 0.00088 0.000886667 0.000913333 +0.000926667 0.00092 0.000946667 0.00096 0.00096 0.000946667 0.00094 0.216 +0.000993333 0.000993333 0.000993333 0.000986667 0.000993333 0.216 0.000986667 0.216 +0.219787 0.231147 0.248187 0.25008 0.240613 0.225467 0.231147 0.23304 +0.234933 0.25576 0.287947 0.354213 0.882105 0.969895 0.996653 0.985551 +0.908632 0.801895 0.690105 0.588421 0.517684 0.411013 0.310667 0.265227 +0.242507 0.231147 0.223573 0.22736 0.229253 0.303093 0.537895 0.672421 +0.697684 0.593474 0.464027 0.320133 0.269013 0.257653 0.25008 0.23872 +0.236827 0.234933 0.229253 0.219787 0.22168 0.216 0.000973333 0.216 +0.00098 0.00096 0.00098 0.000966667 0.00094 0.000933333 0.000906667 0.000886667 +0.000886667 0.000886667 0.000893333 0.0009 0.00094 0.000946667 0.000906667 0.000926667 +0.00096 0.00094 0.00094 0.000946667 0.000933333 0.00094 0.000946667 0.000926667 +0.000926667 0.00094 0.000926667 0.000946667 0.000913333 0.000913333 0.000926667 0.00092 +0.000933333 0.000906667 0.000913333 0.000913333 0.000933333 0.000953333 0.000966667 0.00098 +0.000946667 0.000946667 0.000953333 0.000933333 0.000946667 0.000953333 0.00096 0.00096 +0.000933333 0.000933333 0.00094 0.000933333 0.000926667 0.000926667 0.000933333 0.000953333 +0.00092 0.000926667 0.000966667 0.000946667 0.000953333 0.00098 0.000973333 0.00096 +0.00096 0.00094 0.000933333 0.000946667 0.00094 0.00096 0.000986667 0.000993333 +0.000973333 0.000986667 0.00096 0.000933333 0.00094 0.00096 0.217893 0.216 +0.000973333 0.000966667 0.000986667 0.223573 0.229253 0.22736 0.236827 0.246293 +0.259547 0.286053 0.3296 0.412907 0.516421 0.578316 0.653474 0.728632 +0.782947 0.804421 0.795579 0.764632 0.733053 0.700842 0.668 0.649684 +0.644632 0.640211 0.634526 0.621263 0.59979 0.582737 0.580842 0.587158 +0.590947 0.603579 0.621895 0.628211 0.616842 0.59979 0.587789 0.594105 +0.623158 0.686947 0.772211 0.857474 0.930737 0.985878 1.0022 1.00645 +1.00612 1.00416 1.00057 0.995347 0.989469 0.983592 0.976842 0.966105 +0.960421 0.959789 0.961684 0.964842 0.971158 0.981306 0.985551 0.992408 +1.00188 1.0058 1.00612 1.00841 1.01004 1.00906 1.01069 1.01004 +1.01135 1.01135 1.01135 1.01069 1.00971 1.00906 1.01069 1.01233 +1.01037 1.00906 1.01102 1.01069 1.00906 1.00873 1.00873 1.00645 +1.00678 1.00971 1.00971 1.00776 1.00678 1.00286 0.99698 0.999918 +1.00514 1.00612 1.00384 1.00612 1.00873 1.00743 1.00776 1.00776 +1.00645 1.00612 1.00678 1.01004 1.01037 1.00743 1.00971 1.00939 +1.00482 1.00155 1.00057 0.998286 0.994041 0.992082 0.989796 0.98751 +0.989469 0.993714 0.998939 1.00024 1.0022 1.00743 1.00841 1.00678 +1.00841 1.01102 1.00743 1.0071 1.00286 0.999265 0.999265 0.998286 +0.998286 0.988816 0.974947 0.967368 0.968632 0.959158 0.957263 0.962947 +0.961053 0.949684 0.945895 0.949684 0.954737 0.963579 0.973684 0.984245 +0.984245 0.978105 0.963579 0.956632 0.956 0.961053 0.963579 0.959789 +0.964211 0.966105 0.963579 0.953474 0.956632 0.974316 0.987184 0.994041 +0.995347 0.990122 0.983592 0.978737 0.972421 0.965474 0.957895 0.956 +0.956632 0.967368 0.983265 0.993061 1.00286 1.00743 1.00808 1.00971 +1.01135 1.00841 1.00808 1.00971 1.00776 1.01037 1.01069 1.00939 +1.00873 1.00743 1.00612 1.00873 1.00939 1.01069 1.00939 1.01102 +1.012 1.00808 1.00776 1.00873 1.00645 1.00678 1.00743 1.00743 +1.00612 1.00449 1.00286 0.999265 0.997959 0.999918 1.00155 1.00253 +1.00416 1.00612 1.00514 1.00645 1.01069 1.012 1.01037 1.00971 +1.01004 1.00873 1.00906 1.00939 1.00971 1.01037 1.00873 1.00906 +1.00906 1.0071 1.0058 1.00612 1.00514 1.00155 0.996 0.991429 +0.986857 0.981959 0.974947 0.973053 0.969263 0.964211 0.962316 0.963579 +0.966737 0.977474 0.985224 0.993714 1.0022 1.00645 1.01102 1.01396 +1.00547 0.989796 0.942737 0.855579 0.757053 0.674316 0.611158 0.575789 +0.577684 0.604211 0.634526 0.653474 0.65979 0.664842 0.673053 0.676842 +0.68 0.684421 0.690737 0.705263 0.728632 0.762105 0.796842 0.815789 +0.801895 0.743789 0.654737 0.560632 0.48296 0.365573 0.28984 0.253867 +0.23872 0.231147 0.225467 0.229253 0.000993333 0.000986667 0.000986667 0.216 +0.216 0.22168 0.22168 0.000986667 0.000973333 0.000986667 0.000986667 0.000986667 +0.000946667 0.000933333 0.000966667 0.00098 0.000953333 0.000953333 0.00096 0.00096 +0.00098 0.000986667 0.000946667 0.000926667 0.00096 0.00096 0.000933333 0.000953333 +0.000953333 0.00096 0.000933333 0.000926667 0.00096 0.000933333 0.000913333 0.000946667 +0.00094 0.000886667 0.0009 0.000926667 0.00096 0.000906667 0.0009 0.000926667 +0.00092 0.000926667 0.000933333 0.000933333 0.000913333 0.000926667 0.000946667 0.0009 +0.0009 0.00092 0.000906667 0.000926667 0.00092 0.000906667 0.000886667 0.000906667 +0.000926667 0.000933333 0.000913333 0.000913333 0.000933333 0.000933333 0.000933333 0.000953333 +0.00096 0.00094 0.000893333 0.0009 0.000926667 0.00094 0.00094 0.000953333 +0.000973333 0.000973333 0.000986667 0.000993333 0.219787 0.217893 0.00098 0.22168 +0.231147 0.234933 0.234933 0.231147 0.23304 0.240613 0.229253 0.225467 +0.225467 0.23304 0.242507 0.2444 0.242507 0.22736 0.23872 0.263333 +0.3012 0.376933 0.500632 0.557474 0.643368 0.759579 0.877053 0.967368 +0.997306 0.994041 0.935789 0.827789 0.710947 0.605474 0.524632 0.411013 +0.325813 0.27848 0.25008 0.23872 0.240613 0.25576 0.395867 0.585263 +0.697684 0.691368 0.588421 0.475387 0.325813 0.2728 0.25008 0.2444 +0.240613 0.22736 0.000993333 0.00098 0.000973333 0.000973333 0.000973333 0.00098 +0.000953333 0.000966667 0.000986667 0.000953333 0.000933333 0.000933333 0.000906667 0.000886667 +0.000913333 0.000946667 0.000946667 0.000926667 0.00098 0.000966667 0.00092 0.00096 +0.00098 0.00096 0.000946667 0.00094 0.00092 0.000926667 0.000913333 0.000926667 +0.000926667 0.000906667 0.0009 0.000926667 0.000906667 0.000926667 0.00094 0.000926667 +0.000906667 0.000913333 0.000913333 0.000926667 0.000966667 0.00092 0.000926667 0.00094 +0.000893333 0.000886667 0.000873333 0.00088 0.000906667 0.000906667 0.00092 0.000906667 +0.000886667 0.0009 0.00092 0.000913333 0.0009 0.000926667 0.00094 0.000926667 +0.0009 0.000953333 0.00098 0.000946667 0.000953333 0.000946667 0.000946667 0.000966667 +0.000946667 0.000933333 0.000953333 0.000966667 0.00096 0.000966667 0.00098 0.000993333 +0.00096 0.000946667 0.000946667 0.000933333 0.00096 0.000953333 0.00096 0.00096 +0.000946667 0.000926667 0.00094 0.00098 0.217893 0.000993333 0.22168 0.229253 +0.240613 0.246293 0.246293 0.253867 0.27848 0.314453 0.399653 0.519579 +0.591579 0.668 0.735579 0.780421 0.800632 0.791158 0.754526 0.717263 +0.687579 0.668 0.659158 0.649684 0.632 0.607368 0.601684 0.619368 +0.630105 0.637684 0.662947 0.682526 0.681263 0.662316 0.635158 0.612421 +0.593474 0.593474 0.618737 0.662316 0.731158 0.826526 0.916842 0.98 +0.996653 1.00449 1.00841 1.00808 1.00514 1.0009 0.993714 0.983592 +0.969895 0.962947 0.963579 0.962316 0.965474 0.968 0.968632 0.978737 +0.986857 0.992408 0.997306 1.00155 1.00449 1.0071 1.00939 1.00971 +1.01069 1.00971 1.00939 1.00971 1.01102 1.01069 1.01331 1.01363 +1.01037 1.00873 1.00906 1.00939 1.00743 1.00776 1.0071 1.00449 +1.0071 1.01069 1.01102 1.00971 1.00873 1.0071 1.00286 1.00155 +1.0009 0.997959 0.998286 1.00416 1.00612 1.00743 1.00841 1.00678 +1.00547 1.00482 1.00547 1.00678 1.0071 1.00416 1.00416 1.0009 +0.999918 0.998286 0.996327 0.99502 0.991102 0.984571 0.98098 0.980653 +0.986204 0.994367 1.00351 1.00416 1.00678 1.01004 1.00841 1.00449 +1.00416 1.00384 0.999592 0.997633 0.991429 0.989796 0.989143 0.987184 +0.985224 0.971158 0.951579 0.947158 0.950316 0.944632 0.952211 0.960421 +0.956 0.947789 0.947789 0.949684 0.954737 0.965474 0.974947 0.982612 +0.980327 0.971158 0.954737 0.950947 0.954105 0.957895 0.957895 0.956632 +0.961684 0.961684 0.958526 0.957263 0.965474 0.980327 0.985551 0.98751 +0.98849 0.985551 0.981306 0.98 0.976842 0.971158 0.963579 0.961684 +0.961053 0.962947 0.969895 0.980327 0.989143 0.996653 0.998612 1.0022 +1.00743 1.00808 1.00841 1.00939 1.00808 1.01102 1.01167 1.01004 +1.01102 1.01004 1.0071 1.00841 1.01102 1.01363 1.012 1.01331 +1.01363 1.00906 1.00939 1.01069 1.00841 1.00939 1.01102 1.01135 +1.01135 1.01102 1.00939 1.0071 1.00286 1.00122 0.99698 0.992408 +0.992408 0.99502 0.996327 0.996653 0.998612 1.00122 1.00318 1.00351 +1.00482 1.00384 1.00253 1.00253 1.00188 1.00384 1.00384 1.0009 +1.00024 0.996327 0.992408 0.991102 0.990122 0.988816 0.985551 0.98 +0.971158 0.965474 0.962947 0.964211 0.968 0.971158 0.978105 0.984571 +0.991429 0.997959 1.0022 1.00612 1.01102 1.01004 1.00286 0.98849 +0.933263 0.846737 0.753263 0.661053 0.600421 0.581474 0.587158 0.606105 +0.628842 0.646526 0.65979 0.668 0.671158 0.674947 0.68 0.681895 +0.687579 0.700211 0.724842 0.767158 0.803789 0.820211 0.794947 0.726105 +0.630105 0.541053 0.42616 0.303093 0.248187 0.240613 0.2444 0.234933 +0.219787 0.216 0.00098 0.000993333 0.000993333 0.000986667 0.216 0.216 +0.000993333 0.216 0.219787 0.000986667 0.216 0.22168 0.000986667 0.00098 +0.00094 0.000906667 0.00092 0.000973333 0.000933333 0.000886667 0.000906667 0.00094 +0.000953333 0.000953333 0.000926667 0.000913333 0.000933333 0.000926667 0.000913333 0.000913333 +0.000933333 0.00094 0.000913333 0.00088 0.000933333 0.000906667 0.000886667 0.0009 +0.000893333 0.000866667 0.000873333 0.000873333 0.000926667 0.000926667 0.00088 0.000893333 +0.000893333 0.000886667 0.000933333 0.000946667 0.000906667 0.000893333 0.000933333 0.00092 +0.000906667 0.000933333 0.000946667 0.000966667 0.000953333 0.000926667 0.00092 0.000926667 +0.000953333 0.000953333 0.000926667 0.000933333 0.000933333 0.000953333 0.000953333 0.000946667 +0.000966667 0.00096 0.000913333 0.000886667 0.0009 0.000946667 0.000973333 0.00098 +0.00098 0.217893 0.223573 0.219787 0.229253 0.229253 0.22168 0.225467 +0.231147 0.231147 0.229253 0.22736 0.23304 0.2444 0.240613 0.231147 +0.23304 0.240613 0.2444 0.25008 0.269013 0.28984 0.333387 0.4148 +0.515158 0.575789 0.647789 0.716632 0.47728 0.551158 0.635789 0.743789 +0.862526 0.959789 0.993714 0.993714 0.950316 0.849263 0.731158 0.619368 +0.537895 0.450773 0.34664 0.28984 0.26712 0.257653 0.287947 0.486747 +0.623789 0.731789 0.724842 0.62 0.506316 0.333387 0.27848 0.269013 +0.248187 0.229253 0.225467 0.225467 0.225467 0.22168 0.22168 0.216 +0.219787 0.22168 0.216 0.000986667 0.000986667 0.000973333 0.00094 0.00092 +0.00096 0.217893 0.000966667 0.000926667 0.000966667 0.000966667 0.00094 0.00096 +0.000966667 0.000933333 0.000926667 0.000933333 0.00094 0.00094 0.000886667 0.00094 +0.000946667 0.000933333 0.000946667 0.000926667 0.000926667 0.00094 0.00094 0.000926667 +0.000893333 0.000906667 0.00092 0.000946667 0.000946667 0.00088 0.000913333 0.000933333 +0.000893333 0.000886667 0.000893333 0.000913333 0.00092 0.00094 0.000926667 0.000906667 +0.000906667 0.000906667 0.000946667 0.00094 0.000913333 0.000953333 0.00094 0.00092 +0.00092 0.000946667 0.000953333 0.00092 0.000913333 0.000926667 0.000953333 0.00096 +0.000953333 0.000973333 0.000986667 0.000973333 0.00096 0.00096 0.00098 0.000986667 +0.00096 0.000953333 0.000953333 0.000953333 0.000966667 0.00094 0.000906667 0.000946667 +0.000973333 0.000966667 0.00096 0.00096 0.217893 0.223573 0.219787 0.225467 +0.229253 0.229253 0.229253 0.23304 0.251973 0.25576 0.26144 0.287947 +0.331493 0.428053 0.527158 0.598526 0.680632 0.755789 0.8 0.808842 +0.781053 0.739368 0.702737 0.677474 0.657895 0.638316 0.630737 0.650316 +0.672421 0.679368 0.695158 0.708421 0.709684 0.702737 0.692 0.679368 +0.657263 0.635789 0.614316 0.597895 0.604842 0.650316 0.727368 0.815158 +0.885263 0.950316 0.993061 1.0058 1.01004 1.01135 1.00841 0.999918 +0.991102 0.984245 0.976842 0.965474 0.960421 0.961053 0.965474 0.971158 +0.973684 0.98 0.985878 0.990449 0.994694 0.999592 1.00318 1.0071 +1.00873 1.00743 1.00841 1.00841 1.00873 1.01069 1.01298 1.01167 +1.01037 1.012 1.01167 1.01004 1.00841 1.00743 1.0058 1.00514 +1.00906 1.01069 1.01004 1.00971 1.00939 1.00873 1.00841 1.00678 +1.0022 0.99698 0.997959 1.00416 1.00612 1.00743 1.00678 1.00612 +1.00514 1.00482 1.0058 1.00449 1.00188 1.0022 1.00122 0.998612 +0.999265 0.999265 0.998612 0.995673 0.987837 0.980327 0.974947 0.979368 +0.98751 0.996327 1.00188 1.0022 1.00743 1.00971 1.0058 0.998612 +0.994041 0.989469 0.984898 0.983265 0.979368 0.980653 0.974316 0.974316 +0.974947 0.961053 0.943368 0.938947 0.947158 0.950947 0.957895 0.954737 +0.948421 0.944 0.948421 0.954105 0.962947 0.971789 0.977474 0.981306 +0.977474 0.975579 0.964211 0.960421 0.962947 0.964842 0.963579 0.961053 +0.965474 0.962316 0.959158 0.959789 0.968 0.98 0.980653 0.978105 +0.980653 0.980653 0.977474 0.975579 0.974947 0.971158 0.968 0.973053 +0.980327 0.981306 0.979368 0.973684 0.978737 0.982939 0.984245 0.987837 +0.995673 0.998612 1.00188 1.00514 1.00547 1.00971 1.01167 1.01004 +1.01004 1.00906 1.00808 1.01004 1.01233 1.01363 1.01233 1.012 +1.012 1.00873 1.00906 1.01167 1.01037 1.00906 1.01069 1.01233 +1.01233 1.01331 1.01265 1.00808 1.00286 0.997633 0.990776 0.984571 +0.982939 0.981633 0.981306 0.977474 0.976842 0.98098 0.985224 0.985551 +0.986204 0.986531 0.984571 0.983918 0.982286 0.983918 0.982939 0.981633 +0.984571 0.983592 0.981633 0.981306 0.982286 0.982612 0.976211 0.962947 +0.955368 0.959158 0.964842 0.969895 0.982286 0.991755 0.996653 1.00188 +1.00841 1.01069 1.01135 1.00906 1.00351 0.986204 0.922526 0.831579 +0.733053 0.650316 0.602947 0.582737 0.589053 0.614947 0.642105 0.660421 +0.667368 0.663579 0.664842 0.670526 0.678105 0.689474 0.697053 0.705895 +0.729895 0.767158 0.806316 0.822737 0.788 0.707789 0.611158 0.525895 +0.395867 0.293627 0.246293 0.231147 0.219787 0.216 0.225467 0.217893 +0.00094 0.000933333 0.00096 0.000946667 0.00096 0.000966667 0.00098 0.000946667 +0.000973333 0.217893 0.217893 0.00096 0.00098 0.22168 0.219787 0.217893 +0.000953333 0.000926667 0.000933333 0.000946667 0.000973333 0.000953333 0.000946667 0.000946667 +0.00096 0.00096 0.00096 0.00094 0.000926667 0.000913333 0.000946667 0.000946667 +0.000933333 0.00094 0.000926667 0.000906667 0.00094 0.000926667 0.000913333 0.00094 +0.000913333 0.0009 0.000886667 0.000886667 0.000933333 0.00094 0.000913333 0.000886667 +0.000866667 0.00086 0.00092 0.000926667 0.0009 0.00086 0.000886667 0.000906667 +0.00086 0.000906667 0.000926667 0.000926667 0.000926667 0.000926667 0.000933333 0.000906667 +0.000913333 0.00094 0.000946667 0.000966667 0.000946667 0.000933333 0.00098 0.000966667 +0.00096 0.000986667 0.000993333 0.000946667 0.00092 0.00096 0.216 0.000986667 +0.000986667 0.219787 0.219787 0.00098 0.216 0.217893 0.22168 0.22168 +0.225467 0.231147 0.23304 0.236827 0.240613 0.242507 0.248187 0.242507 +0.240613 0.242507 0.26144 0.291733 0.354213 0.46024 0.538526 0.604211 +0.670526 0.734947 0.798737 0.854316 0.348533 0.384507 0.464027 0.546737 +0.633263 0.728 0.832842 0.935158 0.990776 0.99502 0.965474 0.877053 +0.764632 0.656 0.565684 0.498107 0.388293 0.32392 0.297413 0.342853 +0.526526 0.669263 0.781684 0.760842 0.635789 0.522105 0.3864 0.30688 +0.2728 0.25576 0.248187 0.2444 0.23872 0.225467 0.22736 0.22736 +0.229253 0.22736 0.219787 0.223573 0.223573 0.000986667 0.000966667 0.000966667 +0.000966667 0.000973333 0.000933333 0.00094 0.00096 0.000966667 0.000953333 0.000973333 +0.00098 0.000953333 0.00096 0.000946667 0.000946667 0.000966667 0.00094 0.00096 +0.000946667 0.00098 0.000966667 0.00092 0.000906667 0.00092 0.000906667 0.0009 +0.00092 0.000926667 0.000913333 0.000946667 0.00094 0.00094 0.000946667 0.000933333 +0.000913333 0.00092 0.000933333 0.00094 0.00094 0.00094 0.00092 0.000906667 +0.0009 0.000906667 0.000933333 0.000913333 0.000906667 0.00094 0.000913333 0.000926667 +0.00092 0.00092 0.000953333 0.000926667 0.000933333 0.00096 0.00096 0.000966667 +0.000953333 0.000966667 0.00096 0.00094 0.000913333 0.00092 0.000953333 0.00098 +0.00096 0.000933333 0.000946667 0.00096 0.000946667 0.000913333 0.000906667 0.00094 +0.00098 0.000953333 0.00094 0.00096 0.000966667 0.000986667 0.00098 0.216 +0.000986667 0.000993333 0.217893 0.223573 0.236827 0.23872 0.234933 0.2444 +0.248187 0.25576 0.27848 0.337173 0.44888 0.548632 0.635158 0.723579 +0.788632 0.810737 0.789895 0.745684 0.702105 0.674316 0.664842 0.675579 +0.692632 0.695789 0.697684 0.700211 0.695158 0.689474 0.693895 0.699579 +0.695158 0.682526 0.661053 0.634526 0.613053 0.602947 0.610526 0.640842 +0.688211 0.757053 0.846105 0.930105 0.984898 1.00286 1.00906 1.00841 +1.00514 0.999592 0.992735 0.982286 0.968 0.962316 0.962316 0.961053 +0.963579 0.971789 0.978105 0.981306 0.983918 0.986531 0.989796 0.996 +1.0009 1.0022 1.00449 1.0058 1.00873 1.01167 1.01069 1.00906 +1.00873 1.01037 1.01167 1.01233 1.01069 1.00841 1.00612 1.00808 +1.01102 1.00971 1.00776 1.00776 1.00776 1.00743 1.00971 1.01004 +1.0058 1.00286 1.00416 1.00514 1.00678 1.00678 1.0058 1.00482 +1.00416 1.00482 1.00514 1.00384 1.00253 1.00678 1.00645 1.00351 +1.00188 1.00122 1.00057 0.995347 0.984571 0.971789 0.965474 0.969263 +0.983918 0.994694 0.999265 1.00318 1.00841 1.00645 0.999265 0.989796 +0.983265 0.974316 0.971158 0.974316 0.973684 0.970526 0.956632 0.954105 +0.956632 0.949684 0.940842 0.937684 0.945263 0.956632 0.958526 0.952211 +0.950947 0.952842 0.960421 0.966105 0.971158 0.971789 0.973053 0.975579 +0.978737 0.980653 0.971789 0.965474 0.968 0.973053 0.969895 0.964842 +0.968632 0.970526 0.967368 0.965474 0.970526 0.980653 0.978105 0.975579 +0.976842 0.98 0.98098 0.978737 0.976842 0.971789 0.965474 0.969895 +0.982939 0.985878 0.983592 0.978105 0.978737 0.978105 0.974947 0.979368 +0.983265 0.985878 0.989469 0.99502 0.998286 1.00318 1.00808 1.00678 +1.00514 1.00678 1.00808 1.00906 1.01037 1.01004 1.00841 1.00873 +1.01037 1.00841 1.00743 1.01135 1.00971 1.00645 1.00841 1.01135 +1.01102 1.01102 1.00808 1.00155 0.995673 0.992082 0.98849 0.983918 +0.98 0.969263 0.965474 0.961684 0.961053 0.962316 0.965474 0.964842 +0.963579 0.965474 0.965474 0.964842 0.964211 0.966737 0.971158 0.974947 +0.978737 0.976842 0.972421 0.971789 0.970526 0.966737 0.961053 0.957895 +0.961053 0.975579 0.985551 0.989796 0.998939 1.00645 1.00808 1.01102 +1.01396 1.00906 0.997959 0.973053 0.908 0.823368 0.724842 0.636421 +0.587158 0.576421 0.592842 0.621263 0.645895 0.665474 0.674316 0.677474 +0.676842 0.672421 0.674947 0.682526 0.688211 0.705895 0.735579 0.774737 +0.808211 0.811368 0.771579 0.693263 0.596632 0.509474 0.365573 0.287947 +0.251973 0.225467 0.000986667 0.217893 0.217893 0.217893 0.22168 0.00098 +0.000933333 0.00094 0.000946667 0.000933333 0.000946667 0.000973333 0.000986667 0.000973333 +0.217893 0.223573 0.223573 0.000973333 0.000993333 0.217893 0.219787 0.231147 +0.223573 0.00098 0.000973333 0.000953333 0.000966667 0.00098 0.000986667 0.000953333 +0.00098 0.00098 0.000953333 0.00094 0.000933333 0.0009 0.000946667 0.000973333 +0.00094 0.000933333 0.000913333 0.000906667 0.000913333 0.000913333 0.000913333 0.000946667 +0.00092 0.000906667 0.000893333 0.000893333 0.0009 0.000913333 0.000913333 0.00088 +0.00086 0.00086 0.000913333 0.000913333 0.0009 0.0009 0.000893333 0.000906667 +0.000893333 0.00092 0.000946667 0.000966667 0.000953333 0.00094 0.000953333 0.000946667 +0.000933333 0.00098 0.000973333 0.00098 0.00098 0.00096 0.000973333 0.000946667 +0.000913333 0.00096 0.00098 0.000946667 0.000926667 0.000933333 0.000946667 0.000966667 +0.000993333 0.229253 0.229253 0.22168 0.225467 0.231147 0.236827 0.23304 +0.234933 0.23304 0.242507 0.248187 0.2444 0.242507 0.253867 0.270907 +0.291733 0.314453 0.388293 0.503789 0.56 0.631368 0.697684 0.759579 +0.815158 0.866947 0.919368 0.968 0.36368 0.34096 0.337173 0.376933 +0.4716 0.532842 0.605474 0.701474 0.805053 0.900421 0.975579 0.995673 +0.982939 0.911158 0.804421 0.688211 0.589684 0.518316 0.42048 0.356107 +0.399653 0.553053 0.698947 0.798105 0.771579 0.664842 0.549263 0.422373 +0.331493 0.286053 0.257653 0.2444 0.236827 0.23304 0.23872 0.23304 +0.23304 0.236827 0.23304 0.22736 0.219787 0.000986667 0.000966667 0.000973333 +0.00098 0.00096 0.00094 0.000973333 0.000973333 0.00098 0.00098 0.00098 +0.000993333 0.000973333 0.00096 0.000933333 0.00094 0.000946667 0.000953333 0.000946667 +0.00094 0.000973333 0.000966667 0.00096 0.00094 0.000933333 0.000933333 0.000926667 +0.00096 0.00092 0.000906667 0.000953333 0.00094 0.000913333 0.000933333 0.00092 +0.00092 0.00092 0.000933333 0.000933333 0.000933333 0.00092 0.0009 0.0009 +0.000893333 0.000913333 0.000926667 0.00092 0.000926667 0.000933333 0.00094 0.000933333 +0.00092 0.00092 0.00096 0.000953333 0.00096 0.000953333 0.00096 0.00096 +0.00092 0.000933333 0.00094 0.000926667 0.000913333 0.000946667 0.000973333 0.000966667 +0.00094 0.000966667 0.00098 0.00094 0.000913333 0.00092 0.000906667 0.00092 +0.000946667 0.000933333 0.00094 0.00096 0.000933333 0.000953333 0.000966667 0.000973333 +0.00098 0.217893 0.223573 0.217893 0.217893 0.22168 0.217893 0.229253 +0.231147 0.23872 0.259547 0.265227 0.26712 0.293627 0.378827 0.515158 +0.601684 0.695158 0.767158 0.8 0.789263 0.752 0.714105 0.693895 +0.688842 0.689474 0.693263 0.695789 0.687579 0.674947 0.671158 0.678737 +0.684421 0.677474 0.663579 0.648421 0.635789 0.627579 0.614947 0.605474 +0.603579 0.614316 0.657263 0.733053 0.817684 0.904842 0.977474 0.999592 +1.0071 1.00873 1.0071 0.999592 0.991102 0.985878 0.980327 0.971158 +0.969263 0.969263 0.968632 0.971789 0.972421 0.968632 0.966737 0.974316 +0.982612 0.987837 0.995347 1.00188 1.00547 1.00841 1.00971 1.00971 +1.00939 1.01102 1.01037 1.00971 1.01037 1.00873 1.00906 1.01265 +1.01265 1.00971 1.00743 1.00776 1.00808 1.00906 1.01004 1.00808 +1.00416 1.00449 1.00547 1.00776 1.00906 1.0058 1.00514 1.00612 +1.00514 1.00547 1.00743 1.0071 1.00612 1.01004 1.00906 1.0058 +1.00188 0.999592 0.996653 0.989796 0.979368 0.964842 0.955368 0.957895 +0.973684 0.987184 0.991429 0.99698 0.999918 0.994367 0.985224 0.974947 +0.966737 0.959158 0.961684 0.963579 0.959158 0.954737 0.944632 0.942105 +0.943368 0.942737 0.943368 0.944 0.952211 0.962316 0.959789 0.961053 +0.963579 0.966105 0.970526 0.971158 0.968 0.965474 0.966105 0.966737 +0.969263 0.969895 0.962947 0.961684 0.964842 0.970526 0.967368 0.964211 +0.971789 0.972421 0.965474 0.962316 0.964842 0.974947 0.976211 0.971158 +0.968632 0.971158 0.974316 0.974947 0.98 0.976211 0.967368 0.968 +0.976842 0.981959 0.980653 0.975579 0.976842 0.976211 0.977474 0.980327 +0.981633 0.98098 0.982612 0.986204 0.987837 0.991755 0.99698 0.997306 +0.99698 0.999592 1.0009 0.998939 1.00057 1.00122 1.0009 1.0022 +1.00547 1.00514 1.00351 1.00547 1.00612 1.00188 1.0022 1.00645 +1.00351 1.00057 0.99698 0.990449 0.986204 0.982939 0.981959 0.981633 +0.978737 0.973053 0.966105 0.961684 0.962316 0.961053 0.961053 0.961684 +0.960421 0.965474 0.969263 0.971789 0.973053 0.971789 0.973684 0.974947 +0.972421 0.966737 0.963579 0.966737 0.963579 0.961684 0.969263 0.980327 +0.986857 0.996 1.00286 1.0058 1.00841 1.01069 1.01102 1.0071 +0.997306 0.958526 0.877684 0.787368 0.701474 0.633895 0.587789 0.571368 +0.587789 0.618737 0.645263 0.666737 0.68 0.681263 0.676842 0.680632 +0.684421 0.685684 0.692 0.709684 0.734316 0.772842 0.807579 0.813263 +0.767158 0.677474 0.582737 0.502526 0.34664 0.270907 0.2444 0.236827 +0.231147 0.219787 0.217893 0.219787 0.217893 0.000966667 0.000966667 0.00098 +0.216 0.217893 0.000966667 0.000926667 0.000946667 0.000953333 0.000953333 0.00098 +0.216 0.216 0.216 0.000973333 0.000946667 0.000946667 0.000966667 0.00096 +0.000973333 0.00098 0.000966667 0.00094 0.00092 0.000953333 0.000993333 0.00094 +0.000926667 0.000933333 0.00092 0.000913333 0.00092 0.00088 0.000913333 0.000953333 +0.000946667 0.000966667 0.000946667 0.000906667 0.000913333 0.000913333 0.000913333 0.00094 +0.00092 0.000913333 0.00094 0.000953333 0.000946667 0.000953333 0.000966667 0.00092 +0.000906667 0.000913333 0.000926667 0.000933333 0.00092 0.000933333 0.00092 0.000866667 +0.00088 0.000926667 0.000946667 0.000973333 0.00098 0.000933333 0.000926667 0.000933333 +0.00092 0.00096 0.000946667 0.00096 0.00098 0.00098 0.000973333 0.000946667 +0.000946667 0.216 0.00098 0.000966667 0.217893 0.217893 0.000993333 0.000986667 +0.223573 0.234933 0.234933 0.23304 0.231147 0.23304 0.23872 0.2444 +0.246293 0.242507 0.253867 0.26712 0.270907 0.28416 0.322027 0.367467 +0.462133 0.528421 0.585263 0.653474 0.716 0.774105 0.823368 0.875158 +0.928842 0.981633 1.00318 1.00743 0.464027 0.359893 0.31824 0.325813 +0.331493 0.359893 0.42616 0.516421 0.573895 0.656632 0.762737 0.876421 +0.965474 0.993388 0.98849 0.935789 0.838526 0.724842 0.618105 0.540421 +0.47728 0.47728 0.570105 0.698947 0.793684 0.791158 0.693895 0.575789 +0.500632 0.376933 0.299307 0.2728 0.257653 0.257653 0.257653 0.2444 +0.242507 0.242507 0.234933 0.225467 0.22168 0.219787 0.00096 0.00098 +0.223573 0.000993333 0.00096 0.000993333 0.000993333 0.00098 0.000966667 0.00096 +0.00098 0.000973333 0.00096 0.00096 0.00096 0.00096 0.000993333 0.217893 +0.000973333 0.00096 0.000973333 0.000986667 0.000946667 0.00094 0.00094 0.000933333 +0.00092 0.000906667 0.000913333 0.000926667 0.000953333 0.000926667 0.000926667 0.00092 +0.00092 0.000913333 0.000926667 0.000933333 0.000906667 0.0009 0.0009 0.000913333 +0.00092 0.000913333 0.000926667 0.00092 0.000926667 0.00094 0.000933333 0.000946667 +0.00092 0.000913333 0.000966667 0.000973333 0.000926667 0.00094 0.000953333 0.000926667 +0.000906667 0.000913333 0.000913333 0.00094 0.000953333 0.00098 0.000973333 0.00094 +0.000946667 0.00098 0.000953333 0.000893333 0.000906667 0.00096 0.000946667 0.000913333 +0.000966667 0.00098 0.00096 0.000933333 0.000926667 0.000966667 0.216 0.216 +0.000993333 0.216 0.000993333 0.000966667 0.000953333 0.217893 0.223573 0.225467 +0.223573 0.22736 0.242507 0.248187 0.253867 0.251973 0.25008 0.2728 +0.34096 0.484853 0.573895 0.675579 0.763368 0.805053 0.797474 0.760211 +0.720421 0.699579 0.692632 0.690737 0.688842 0.680632 0.671158 0.665474 +0.666105 0.658526 0.648421 0.641474 0.639579 0.640211 0.640842 0.640842 +0.631368 0.613684 0.604211 0.613053 0.642105 0.709684 0.814526 0.913053 +0.98 1.00024 1.00906 1.00971 1.00808 1.0058 1.00188 0.997306 +0.991429 0.981959 0.969263 0.964211 0.962316 0.961053 0.962316 0.967368 +0.970526 0.977474 0.984571 0.988163 0.989796 0.992735 0.997959 1.00318 +1.0058 1.00873 1.00873 1.00678 1.00743 1.00776 1.00906 1.01069 +1.01004 1.01069 1.00939 1.00939 1.00841 1.00939 1.00939 1.00514 +1.00482 1.00743 1.00808 1.01037 1.00939 1.00612 1.00678 1.00776 +1.00645 1.00514 1.00808 1.00743 1.00873 1.01167 1.00939 1.00318 +0.996 0.990776 0.986204 0.978737 0.963579 0.957263 0.955368 0.954737 +0.962947 0.972421 0.976842 0.983265 0.987184 0.984571 0.973684 0.964211 +0.957895 0.953474 0.960421 0.957895 0.948421 0.946526 0.944 0.944 +0.945263 0.947158 0.947789 0.954105 0.971158 0.976211 0.970526 0.974316 +0.968 0.963579 0.968632 0.965474 0.957263 0.958526 0.966105 0.969895 +0.973684 0.973684 0.973053 0.976211 0.978737 0.983592 0.982939 0.981959 +0.986531 0.985551 0.982939 0.982612 0.980653 0.984571 0.983918 0.978105 +0.973684 0.976842 0.979368 0.978105 0.979368 0.972421 0.968 0.967368 +0.974316 0.974316 0.968632 0.966105 0.966737 0.964842 0.966737 0.969895 +0.974316 0.971789 0.972421 0.978737 0.981959 0.985878 0.987184 0.986204 +0.986531 0.98751 0.988816 0.984245 0.984898 0.98849 0.989469 0.990449 +0.990449 0.991755 0.991429 0.991755 0.993714 0.989796 0.98751 0.991102 +0.990122 0.986857 0.985224 0.980653 0.973684 0.968 0.969263 0.975579 +0.975579 0.976842 0.975579 0.969263 0.962947 0.964211 0.964842 0.965474 +0.962947 0.967368 0.969895 0.969895 0.968632 0.962947 0.960421 0.962316 +0.961053 0.962316 0.972421 0.982939 0.983918 0.985551 0.993714 1.00057 +1.00514 1.01004 1.01233 1.01233 1.00808 1.00253 0.987837 0.940842 +0.870737 0.776632 0.680632 0.614947 0.584 0.582737 0.599158 0.623158 +0.647789 0.665474 0.676211 0.682526 0.685053 0.680632 0.678737 0.685684 +0.694526 0.708421 0.738105 0.778526 0.809474 0.806316 0.753263 0.665474 +0.570737 0.479173 0.348533 0.2728 0.229253 0.219787 0.217893 0.217893 +0.22168 0.000993333 0.216 0.00098 0.229253 0.000993333 0.00092 0.000926667 +0.216 0.225467 0.000993333 0.00094 0.000946667 0.000966667 0.000986667 0.000986667 +0.000966667 0.000966667 0.00098 0.000986667 0.00094 0.00092 0.000973333 0.000966667 +0.000933333 0.000946667 0.000966667 0.000953333 0.000906667 0.000926667 0.00098 0.000953333 +0.000926667 0.000913333 0.000893333 0.0009 0.0009 0.000893333 0.000886667 0.000906667 +0.00092 0.000946667 0.000933333 0.00092 0.000933333 0.000906667 0.000906667 0.000933333 +0.000926667 0.00094 0.000946667 0.00092 0.000926667 0.00096 0.00096 0.000926667 +0.00092 0.00092 0.00092 0.000913333 0.000913333 0.000926667 0.00094 0.000873333 +0.000866667 0.0009 0.000946667 0.000966667 0.000966667 0.000966667 0.00094 0.000933333 +0.00094 0.000993333 0.000986667 0.000986667 0.219787 0.217893 0.217893 0.00096 +0.000973333 0.217893 0.00098 0.00098 0.000966667 0.000986667 0.216 0.000993333 +0.219787 0.234933 0.236827 0.240613 0.248187 0.25008 0.253867 0.259547 +0.259547 0.265227 0.293627 0.32392 0.361787 0.428053 0.513263 0.56 +0.621895 0.682526 0.735579 0.782947 0.826526 0.875158 0.926316 0.982286 +1.00482 1.00678 0.986204 0.913684 0.565684 0.479173 0.38072 0.337173 +0.31256 0.31256 0.314453 0.337173 0.382613 0.47728 0.549895 0.638316 +0.740632 0.840421 0.933895 0.990122 0.996653 0.964842 0.874526 0.768421 +0.662316 0.576421 0.542947 0.587789 0.695789 0.789895 0.795579 0.710316 +0.613053 0.530947 0.395867 0.308773 0.280373 0.274693 0.265227 0.248187 +0.248187 0.246293 0.236827 0.23304 0.234933 0.225467 0.000986667 0.217893 +0.219787 0.000993333 0.000973333 0.217893 0.000993333 0.00098 0.00096 0.00098 +0.000993333 0.000953333 0.000953333 0.00098 0.00096 0.000966667 0.00098 0.00098 +0.000946667 0.000913333 0.000946667 0.000973333 0.000973333 0.000953333 0.00096 0.00096 +0.00094 0.000953333 0.00094 0.000933333 0.000946667 0.000926667 0.00092 0.000906667 +0.00094 0.000926667 0.00092 0.000953333 0.000926667 0.000893333 0.00088 0.0009 +0.000926667 0.000906667 0.000913333 0.00092 0.000933333 0.000946667 0.000946667 0.000946667 +0.000893333 0.000893333 0.000946667 0.000913333 0.000906667 0.00092 0.000913333 0.00092 +0.00092 0.000913333 0.000946667 0.217893 0.00098 0.000953333 0.000953333 0.00096 +0.000953333 0.00094 0.000926667 0.0009 0.000926667 0.00098 0.00094 0.000926667 +0.000973333 0.000993333 0.000966667 0.000953333 0.00098 0.217893 0.216 0.000966667 +0.000966667 0.00096 0.00096 0.00098 0.00096 0.216 0.223573 0.000993333 +0.216 0.219787 0.22736 0.223573 0.22168 0.223573 0.22736 0.240613 +0.248187 0.2728 0.33528 0.462133 0.563789 0.661053 0.756421 0.810737 +0.808842 0.776 0.735579 0.700211 0.685684 0.682526 0.679368 0.669263 +0.660421 0.656 0.645895 0.644632 0.658526 0.670526 0.671789 0.670526 +0.663579 0.649684 0.637684 0.626947 0.614947 0.613684 0.648421 0.719158 +0.811368 0.905474 0.976211 1.00024 1.00906 1.01167 1.01265 1.01004 +1.00776 0.999265 0.98849 0.98098 0.971789 0.967368 0.966737 0.965474 +0.966105 0.970526 0.972421 0.971789 0.973684 0.975579 0.98098 0.986204 +0.991755 0.996 0.998939 1.00024 0.998939 1.0009 1.00482 1.00547 +1.00645 1.00612 1.0071 1.00678 1.0071 1.00841 1.00743 1.00416 +1.00645 1.00808 1.00776 1.00873 1.00678 1.00678 1.00841 1.00743 +1.00514 1.00514 1.00482 1.00351 1.00482 1.00678 1.00188 0.992408 +0.982939 0.974947 0.969895 0.964842 0.956632 0.952842 0.952211 0.951579 +0.957263 0.957895 0.959158 0.969263 0.979368 0.980653 0.974316 0.971158 +0.966737 0.968 0.971789 0.964211 0.954737 0.957895 0.960421 0.961684 +0.964211 0.968632 0.968632 0.975579 0.983918 0.981633 0.974316 0.973684 +0.959158 0.954105 0.961053 0.962316 0.956632 0.969263 0.982939 0.98751 +0.991102 0.994367 0.99502 0.995673 0.99698 0.999918 0.999265 0.998612 +1.0022 0.999918 0.998286 0.999265 0.998286 1.00057 0.998286 0.993388 +0.993388 0.995347 0.995347 0.992408 0.990776 0.984898 0.98098 0.973684 +0.977474 0.973053 0.965474 0.963579 0.967368 0.967368 0.961053 0.957263 +0.960421 0.960421 0.962947 0.969895 0.974947 0.982286 0.983592 0.981633 +0.977474 0.976842 0.979368 0.971158 0.971158 0.978737 0.978105 0.977474 +0.976842 0.979368 0.981306 0.980653 0.981959 0.981959 0.977474 0.978737 +0.980653 0.98098 0.979368 0.973053 0.969263 0.966737 0.964842 0.970526 +0.970526 0.967368 0.968632 0.963579 0.956632 0.960421 0.962316 0.961053 +0.957895 0.962947 0.969895 0.963579 0.962316 0.969895 0.974947 0.980327 +0.981306 0.985224 0.993388 0.999592 1.00122 1.00318 1.00841 1.01298 +1.01429 1.01265 1.00906 0.999592 0.98 0.917474 0.829053 0.741263 +0.672421 0.618737 0.590316 0.593474 0.611158 0.633263 0.657263 0.671789 +0.678105 0.681263 0.684421 0.683158 0.682526 0.685684 0.693895 0.707158 +0.738105 0.780421 0.811368 0.801263 0.744421 0.655368 0.561263 0.462133 +0.331493 0.274693 0.242507 0.22736 0.217893 0.219787 0.219787 0.000973333 +0.00098 0.217893 0.219787 0.00098 0.219787 0.223573 0.000933333 0.000913333 +0.00096 0.000973333 0.000973333 0.00096 0.000933333 0.00094 0.000966667 0.000986667 +0.000986667 0.00098 0.000966667 0.000973333 0.000966667 0.000946667 0.000973333 0.000986667 +0.217893 0.219787 0.216 0.000986667 0.000966667 0.000946667 0.000973333 0.000986667 +0.000966667 0.00094 0.000926667 0.000893333 0.000893333 0.000913333 0.000906667 0.000873333 +0.00088 0.000893333 0.00088 0.000906667 0.0009 0.00088 0.000886667 0.000906667 +0.0009 0.00092 0.000953333 0.000906667 0.000873333 0.000913333 0.00094 0.000926667 +0.000933333 0.000946667 0.00096 0.000933333 0.000926667 0.000933333 0.000966667 0.00092 +0.0009 0.000906667 0.000933333 0.00098 0.000966667 0.216 0.000993333 0.000966667 +0.000973333 0.000993333 0.217893 0.000973333 0.216 0.216 0.00098 0.000953333 +0.000966667 0.000986667 0.216 0.22168 0.216 0.000993333 0.231147 0.23872 +0.2444 0.248187 0.25008 0.248187 0.253867 0.257653 0.25576 0.25576 +0.270907 0.30688 0.3864 0.492427 0.537895 0.586526 0.645263 0.700842 +0.752632 0.794947 0.834737 0.882737 0.938316 0.986857 1.00155 0.999592 +0.980327 0.900421 0.794947 0.687579 0.698947 0.573895 0.48864 0.36936 +0.32392 0.310667 0.3012 0.287947 0.291733 0.308773 0.361787 0.452667 +0.534737 0.606105 0.706526 0.819579 0.920632 0.98751 1.00155 0.98849 +0.919368 0.813263 0.707789 0.637053 0.632 0.692632 0.764632 0.778526 +0.735579 0.643368 0.536 0.416693 0.34096 0.308773 0.291733 0.276587 +0.270907 0.259547 0.251973 0.2444 0.242507 0.231147 0.22168 0.22168 +0.000993333 0.000986667 0.216 0.217893 0.216 0.000986667 0.217893 0.223573 +0.217893 0.000953333 0.000973333 0.219787 0.216 0.000993333 0.000973333 0.00098 +0.00098 0.000986667 0.000973333 0.00096 0.000986667 0.000973333 0.000973333 0.00096 +0.00094 0.00096 0.000926667 0.000926667 0.000913333 0.000933333 0.000953333 0.000953333 +0.000926667 0.000926667 0.00092 0.000913333 0.000926667 0.000906667 0.0009 0.00094 +0.00094 0.00092 0.00094 0.000953333 0.000946667 0.000953333 0.000926667 0.00088 +0.000886667 0.000906667 0.000933333 0.000933333 0.000933333 0.00092 0.000933333 0.000946667 +0.000906667 0.000913333 0.000966667 0.00098 0.000953333 0.00092 0.000913333 0.000946667 +0.000933333 0.00092 0.000926667 0.000933333 0.000926667 0.00096 0.00094 0.000946667 +0.000946667 0.000933333 0.000953333 0.000946667 0.000946667 0.00094 0.000966667 0.00096 +0.00092 0.000933333 0.00098 0.000966667 0.000946667 0.00096 0.00098 0.000966667 +0.00096 0.000966667 0.000973333 0.000966667 0.000953333 0.000973333 0.000993333 0.22168 +0.225467 0.246293 0.26144 0.270907 0.32392 0.446987 0.559368 0.659158 +0.750737 0.808211 0.815789 0.781684 0.741263 0.710316 0.687579 0.674316 +0.666105 0.663579 0.651579 0.642105 0.660421 0.687579 0.696421 0.692632 +0.685684 0.676211 0.669263 0.66421 0.652842 0.632 0.613053 0.608 +0.640842 0.712842 0.805684 0.899789 0.966105 0.992735 1.00547 1.01102 +1.01135 1.00808 1.00449 1.0009 0.995347 0.990122 0.985224 0.978105 +0.973053 0.969895 0.966105 0.964842 0.966105 0.967368 0.966737 0.970526 +0.98098 0.985224 0.987837 0.989796 0.990122 0.992082 0.995347 0.996327 +0.997633 0.997633 0.999592 1.00057 1.0009 1.00318 1.00188 1.00188 +1.00416 1.00286 1.00318 1.00253 0.999918 1.00253 1.00384 1.00122 +0.999918 0.999265 0.996327 0.993388 0.993061 0.992408 0.988163 0.980653 +0.971158 0.967368 0.968632 0.965474 0.960421 0.956 0.952842 0.954105 +0.959158 0.952842 0.955368 0.964842 0.972421 0.979368 0.979368 0.974947 +0.971789 0.974316 0.973053 0.969263 0.967368 0.973053 0.976211 0.975579 +0.978105 0.980653 0.979368 0.977474 0.977474 0.969895 0.967368 0.965474 +0.957263 0.955368 0.959789 0.965474 0.978737 0.990449 0.997959 1.0022 +1.00384 1.0058 1.00449 1.00286 1.00416 1.00547 1.00612 1.00612 +1.00776 1.00482 1.00514 1.00808 1.00612 1.00612 1.00482 1.00351 +1.00482 1.00678 1.00841 1.00645 1.00514 1.00155 0.997306 0.992735 +0.992735 0.989469 0.983918 0.980653 0.978105 0.973684 0.966105 0.959158 +0.962316 0.965474 0.968 0.968632 0.969263 0.975579 0.980653 0.977474 +0.967368 0.963579 0.966737 0.965474 0.966737 0.973684 0.971789 0.971158 +0.971158 0.968632 0.971789 0.972421 0.973053 0.976842 0.970526 0.966737 +0.970526 0.971789 0.969895 0.968 0.964211 0.962316 0.956632 0.957895 +0.961684 0.959789 0.961053 0.957895 0.956 0.961684 0.966105 0.969263 +0.970526 0.977474 0.983265 0.984245 0.988163 0.995347 0.998286 0.998612 +0.999918 1.00449 1.00873 1.00939 1.01102 1.01233 1.01396 1.01331 +1.00547 0.987837 0.943368 0.874526 0.796211 0.712211 0.640842 0.604842 +0.595368 0.59979 0.618737 0.645263 0.662316 0.669895 0.678105 0.680632 +0.685684 0.688842 0.687579 0.686947 0.693263 0.714105 0.750105 0.786105 +0.811368 0.801895 0.741263 0.642105 0.549263 0.445093 0.3296 0.2728 +0.246293 0.234933 0.217893 0.216 0.000993333 0.217893 0.219787 0.00096 +0.00094 0.000966667 0.000993333 0.217893 0.00098 0.000966667 0.00094 0.000926667 +0.00094 0.000946667 0.000946667 0.000973333 0.000946667 0.000933333 0.000933333 0.000953333 +0.000973333 0.000966667 0.000973333 0.000973333 0.00096 0.000946667 0.000953333 0.000966667 +0.000993333 0.217893 0.000986667 0.000973333 0.000973333 0.000946667 0.000953333 0.00096 +0.000953333 0.00094 0.000926667 0.00092 0.00092 0.00094 0.00096 0.000946667 +0.00092 0.000926667 0.000893333 0.000933333 0.00094 0.000893333 0.000893333 0.0009 +0.0009 0.000893333 0.000946667 0.00094 0.0009 0.0009 0.00094 0.000913333 +0.000913333 0.000926667 0.00098 0.000966667 0.000946667 0.00096 0.000973333 0.000953333 +0.00092 0.00094 0.00094 0.000953333 0.00096 0.000993333 0.000973333 0.000946667 +0.00096 0.000966667 0.000993333 0.000966667 0.00096 0.217893 0.219787 0.216 +0.217893 0.219787 0.225467 0.229253 0.229253 0.22168 0.231147 0.240613 +0.248187 0.246293 0.251973 0.259547 0.263333 0.270907 0.287947 0.314453 +0.39208 0.506947 0.556211 0.610526 0.663579 0.707789 0.748842 0.789895 +0.836632 0.890316 0.950316 0.991429 1.00384 0.996653 0.952211 0.863789 +0.769684 0.670526 0.584632 0.522105 0.866316 0.704632 0.574526 0.469707 +0.367467 0.327707 0.30688 0.28984 0.280373 0.287947 0.29552 0.31256 +0.358 0.429947 0.524632 0.596632 0.687579 0.796842 0.905474 0.982612 +0.999265 0.992082 0.949684 0.863789 0.772211 0.720421 0.728 0.765895 +0.790526 0.755789 0.663579 0.570105 0.508842 0.422373 0.359893 0.32392 +0.299307 0.27848 0.265227 0.253867 0.248187 0.2444 0.23872 0.236827 +0.231147 0.22736 0.234933 0.236827 0.23304 0.23304 0.23304 0.234933 +0.22736 0.22168 0.229253 0.219787 0.225467 0.225467 0.217893 0.22168 +0.22168 0.223573 0.00098 0.000973333 0.216 0.000973333 0.000953333 0.000946667 +0.000946667 0.00096 0.000946667 0.000953333 0.00092 0.000946667 0.000966667 0.00094 +0.000913333 0.0009 0.000893333 0.0009 0.000926667 0.000973333 0.000966667 0.00094 +0.00092 0.000913333 0.00094 0.000933333 0.00092 0.00094 0.000906667 0.000886667 +0.00092 0.000926667 0.000953333 0.00096 0.00092 0.00092 0.00094 0.00094 +0.000933333 0.00096 0.000946667 0.000946667 0.000946667 0.00092 0.000893333 0.000913333 +0.0009 0.000906667 0.000946667 0.00094 0.000906667 0.000933333 0.000933333 0.000926667 +0.000906667 0.000893333 0.000926667 0.000946667 0.000913333 0.00092 0.00096 0.000933333 +0.000913333 0.000926667 0.00096 0.000953333 0.00094 0.000966667 0.000986667 0.00098 +0.000946667 0.000933333 0.00094 0.000953333 0.00098 0.000973333 0.000986667 0.217893 +0.217893 0.219787 0.234933 0.25008 0.26712 0.286053 0.32392 0.439413 +0.547368 0.636421 0.728 0.792421 0.814526 0.803789 0.764 0.720421 +0.688842 0.671789 0.661684 0.657895 0.667368 0.683789 0.695789 0.700842 +0.704 0.702737 0.693895 0.683158 0.671158 0.662947 0.647158 0.621895 +0.602316 0.602947 0.635158 0.702737 0.781053 0.856211 0.92821 0.984571 +1.0009 1.00678 1.01102 1.012 1.00873 1.00645 1.00384 0.998612 +0.994694 0.987837 0.98098 0.973053 0.966105 0.964842 0.961684 0.962947 +0.969895 0.977474 0.979368 0.977474 0.979368 0.982286 0.982286 0.983265 +0.986204 0.986204 0.986857 0.987837 0.988816 0.987184 0.985878 0.991755 +0.99502 0.994694 0.994041 0.988816 0.986204 0.987837 0.987184 0.986857 +0.985878 0.985878 0.983918 0.980653 0.98 0.976211 0.971789 0.971789 +0.969263 0.968 0.970526 0.966105 0.960421 0.961053 0.959789 0.961053 +0.964211 0.959789 0.966737 0.970526 0.974316 0.976842 0.974316 0.970526 +0.968 0.969895 0.968 0.964842 0.964842 0.968 0.964842 0.962316 +0.964211 0.968632 0.970526 0.966105 0.962316 0.957263 0.954737 0.951579 +0.954105 0.967368 0.98 0.986204 0.99698 1.00449 1.00678 1.00939 +1.00808 1.00971 1.0071 1.00482 1.0058 1.00547 1.0058 1.00612 +1.00776 1.00547 1.0071 1.00971 1.00547 1.00449 1.00416 1.00416 +1.00547 1.00808 1.01037 1.00873 1.00808 1.00776 1.00841 1.0071 +1.00743 1.00449 1.00057 0.996327 0.990776 0.984898 0.98098 0.975579 +0.975579 0.974316 0.969895 0.969263 0.968 0.971789 0.978105 0.971789 +0.961053 0.954737 0.956 0.957263 0.957895 0.964211 0.962316 0.961684 +0.964211 0.960421 0.963579 0.963579 0.962316 0.966737 0.961053 0.960421 +0.963579 0.962316 0.961684 0.964842 0.962947 0.962316 0.961684 0.966737 +0.975579 0.976211 0.978105 0.98098 0.982286 0.985878 0.989796 0.993061 +0.99502 0.996653 0.999918 1.00384 1.00645 1.00743 1.0071 1.0071 +1.00939 1.00971 1.00873 1.00743 1.00612 1.00188 0.990449 0.962316 +0.906737 0.831579 0.746316 0.674316 0.628211 0.602316 0.603579 0.62 +0.637053 0.649684 0.661053 0.673053 0.678737 0.679368 0.683789 0.686316 +0.690105 0.692 0.694526 0.717895 0.753263 0.793053 0.815789 0.796211 +0.730526 0.639579 0.546105 0.428053 0.320133 0.265227 0.246293 0.23872 +0.231147 0.225467 0.217893 0.217893 0.229253 0.234933 0.22736 0.000986667 +0.000993333 0.000966667 0.000973333 0.219787 0.000986667 0.000933333 0.000946667 0.000953333 +0.000946667 0.00096 0.00094 0.000946667 0.000906667 0.00092 0.00096 0.000973333 +0.00094 0.000913333 0.000926667 0.000933333 0.00092 0.000913333 0.000893333 0.00092 +0.000986667 0.000973333 0.000953333 0.000953333 0.00094 0.00094 0.000946667 0.000953333 +0.000926667 0.00092 0.000906667 0.000906667 0.000913333 0.00092 0.00094 0.000933333 +0.00094 0.000953333 0.00092 0.00094 0.00098 0.000953333 0.00092 0.000906667 +0.000906667 0.000926667 0.000946667 0.000946667 0.000953333 0.000933333 0.000933333 0.000926667 +0.000913333 0.000906667 0.000946667 0.000946667 0.000926667 0.00092 0.00096 0.00096 +0.00092 0.00094 0.00094 0.00092 0.000946667 0.000986667 0.000986667 0.000966667 +0.000966667 0.000986667 0.223573 0.219787 0.00098 0.22168 0.23304 0.229253 +0.22168 0.225467 0.225467 0.22168 0.22736 0.225467 0.23304 0.248187 +0.25008 0.25576 0.270907 0.28416 0.303093 0.339067 0.422373 0.514526 +0.568211 0.632 0.684421 0.725474 0.760842 0.796211 0.843579 0.906105 +0.969263 0.998939 1.00743 0.994041 0.936421 0.836632 0.727368 0.632632 +0.564421 0.512 0.4148 0.356107 0.998939 0.878316 0.709053 0.576421 +0.486747 0.378827 0.331493 0.303093 0.29552 0.3012 0.291733 0.291733 +0.297413 0.310667 0.342853 0.42048 0.515789 0.584 0.673684 0.770947 +0.863158 0.943368 0.992408 1.00351 0.985224 0.920632 0.851789 0.814526 +0.814526 0.817684 0.781684 0.711579 0.633263 0.561263 0.507579 0.429947 +0.37504 0.327707 0.297413 0.286053 0.274693 0.259547 0.25576 0.259547 +0.248187 0.236827 0.242507 0.246293 0.23304 0.22736 0.229253 0.240613 +0.229253 0.231147 0.231147 0.223573 0.23304 0.22736 0.000993333 0.000986667 +0.000986667 0.217893 0.216 0.216 0.00098 0.000966667 0.000966667 0.000973333 +0.00096 0.000953333 0.000966667 0.000933333 0.000893333 0.00094 0.00096 0.000946667 +0.000926667 0.000946667 0.00094 0.000946667 0.000953333 0.00094 0.000933333 0.00092 +0.000913333 0.00094 0.000946667 0.00094 0.000926667 0.000946667 0.000946667 0.000933333 +0.000926667 0.000933333 0.000966667 0.00096 0.00094 0.000953333 0.00096 0.000966667 +0.00096 0.000966667 0.000933333 0.000933333 0.000946667 0.000913333 0.0009 0.00092 +0.00092 0.00094 0.000966667 0.000966667 0.00094 0.00094 0.000966667 0.00096 +0.00094 0.000933333 0.00096 0.00096 0.000933333 0.00096 0.000966667 0.000953333 +0.000946667 0.000966667 0.000973333 0.00096 0.000966667 0.000953333 0.000933333 0.000946667 +0.00092 0.0009 0.000933333 0.000986667 0.00098 0.000953333 0.000953333 0.000993333 +0.000966667 0.00096 0.219787 0.23304 0.234933 0.240613 0.25008 0.274693 +0.316347 0.407227 0.525263 0.603579 0.687579 0.764 0.807579 0.807579 +0.781053 0.740632 0.704632 0.686316 0.683789 0.682526 0.685053 0.693263 +0.698316 0.704 0.707789 0.693895 0.663579 0.649053 0.654105 0.652211 +0.639579 0.623158 0.613053 0.614947 0.628842 0.665474 0.729895 0.813895 +0.894105 0.956632 0.990449 1.00286 1.00808 1.01037 1.00939 1.00939 +1.00906 1.0058 1.0009 0.994694 0.988816 0.984245 0.98 0.973053 +0.971789 0.974316 0.971158 0.960421 0.959158 0.968632 0.972421 0.972421 +0.973053 0.969895 0.968 0.974316 0.978105 0.972421 0.971789 0.98 +0.98098 0.981959 0.98098 0.972421 0.974316 0.974947 0.971158 0.973684 +0.972421 0.971789 0.968632 0.969263 0.971789 0.969895 0.970526 0.973053 +0.969895 0.969895 0.970526 0.966737 0.961684 0.960421 0.958526 0.964842 +0.967368 0.970526 0.980327 0.975579 0.969263 0.963579 0.961053 0.956632 +0.955368 0.961684 0.962947 0.957895 0.954737 0.956 0.954105 0.952211 +0.956632 0.962947 0.962947 0.963579 0.964211 0.961684 0.959158 0.962316 +0.978737 0.991102 0.998612 1.00122 1.0071 1.00939 1.00939 1.00939 +1.00906 1.01167 1.00906 1.00678 1.00743 1.00678 1.00645 1.0071 +1.00808 1.00547 1.00612 1.00906 1.00743 1.00776 1.0058 1.00384 +1.0058 1.00939 1.01037 1.00841 1.00743 1.0071 1.00906 1.01069 +1.01298 1.01167 1.01102 1.00808 1.00416 1.00122 0.997633 0.994367 +0.993388 0.990122 0.986857 0.987184 0.985224 0.984245 0.986204 0.982286 +0.976211 0.969895 0.969263 0.966737 0.959789 0.964842 0.963579 0.959158 +0.959789 0.958526 0.962316 0.961684 0.961053 0.966105 0.969263 0.973684 +0.978105 0.980653 0.982612 0.985224 0.985224 0.984571 0.986531 0.992082 +0.997959 0.997633 0.99698 0.999918 1.00253 1.00416 1.00612 1.00971 +1.01135 1.01069 1.01265 1.01396 1.01102 1.00939 1.00873 1.00873 +1.00841 0.998612 0.989796 0.978737 0.937684 0.880842 0.822105 0.761474 +0.700842 0.649684 0.610526 0.59979 0.609895 0.628842 0.651579 0.66421 +0.668632 0.671158 0.676211 0.678737 0.681263 0.687579 0.691368 0.695158 +0.703368 0.723579 0.759579 0.801895 0.820211 0.791158 0.722316 0.626947 +0.537895 0.424267 0.316347 0.276587 0.253867 0.234933 0.231147 0.236827 +0.231147 0.225467 0.22168 0.22168 0.234933 0.23304 0.219787 0.00098 +0.000986667 0.00096 0.000973333 0.000973333 0.000953333 0.000913333 0.000953333 0.000953333 +0.000946667 0.000946667 0.00096 0.00098 0.00092 0.000913333 0.000966667 0.000966667 +0.00094 0.000926667 0.000946667 0.000926667 0.000886667 0.000906667 0.000906667 0.000893333 +0.000946667 0.000946667 0.000953333 0.00096 0.000926667 0.000933333 0.00096 0.000973333 +0.00094 0.000933333 0.000933333 0.000926667 0.00092 0.000933333 0.000946667 0.000926667 +0.00092 0.000926667 0.000906667 0.000913333 0.00096 0.00098 0.000953333 0.00092 +0.000913333 0.000946667 0.000933333 0.000946667 0.000973333 0.00094 0.000906667 0.000933333 +0.00092 0.000913333 0.000933333 0.000946667 0.000933333 0.000906667 0.000966667 0.00098 +0.000966667 0.000986667 0.000986667 0.00096 0.00098 0.219787 0.217893 0.216 +0.000993333 0.000973333 0.00098 0.000973333 0.000986667 0.22168 0.229253 0.229253 +0.223573 0.23304 0.23872 0.231147 0.240613 0.246293 0.259547 0.269013 +0.26144 0.282267 0.31824 0.365573 0.45456 0.532842 0.596 0.65979 +0.711579 0.748842 0.781053 0.821474 0.870105 0.927579 0.983592 1.00253 +1.0022 0.980327 0.902947 0.804421 0.700842 0.609895 0.537263 0.467813 +0.39208 0.35232 0.316347 0.303093 1.01657 1.00057 0.878947 0.715368 +0.580842 0.496213 0.37504 0.3296 0.31256 0.299307 0.29552 0.286053 +0.287947 0.28984 0.293627 0.314453 0.34664 0.405333 0.505684 0.558737 +0.625053 0.709684 0.819579 0.926947 0.989796 1.00318 0.996327 0.972421 +0.92821 0.896 0.875158 0.847368 0.792421 0.711579 0.628842 0.565053 +0.520211 0.458347 0.382613 0.342853 0.304987 0.282267 0.276587 0.269013 +0.25576 0.25008 0.253867 0.25008 0.240613 0.23304 0.23304 0.2444 +0.229253 0.23304 0.23304 0.223573 0.22736 0.22168 0.216 0.000973333 +0.00098 0.000986667 0.000986667 0.217893 0.000993333 0.00096 0.000933333 0.00094 +0.00094 0.00094 0.00094 0.00092 0.000913333 0.000966667 0.00096 0.00094 +0.00094 0.00094 0.000953333 0.000946667 0.00092 0.00092 0.000906667 0.000913333 +0.000933333 0.000966667 0.000966667 0.000946667 0.000926667 0.000933333 0.00094 0.00092 +0.000926667 0.00094 0.000973333 0.00098 0.00094 0.000933333 0.000933333 0.00092 +0.000926667 0.000953333 0.000933333 0.00094 0.000933333 0.000953333 0.000946667 0.000933333 +0.00096 0.00096 0.000946667 0.00096 0.00094 0.000946667 0.000973333 0.00096 +0.00092 0.000913333 0.00094 0.000953333 0.000946667 0.00096 0.00096 0.000966667 +0.000973333 0.000953333 0.000953333 0.000953333 0.000926667 0.0009 0.0009 0.00094 +0.000946667 0.000926667 0.000933333 0.000953333 0.00094 0.000933333 0.000933333 0.000933333 +0.000926667 0.000946667 0.000993333 0.22168 0.22168 0.22168 0.225467 0.234933 +0.25008 0.27848 0.320133 0.382613 0.49432 0.558737 0.639579 0.717895 +0.781053 0.813263 0.806316 0.779158 0.747579 0.713474 0.693263 0.686947 +0.683789 0.686316 0.697053 0.692 0.656 0.630737 0.640211 0.655368 +0.65979 0.659158 0.656632 0.647158 0.625684 0.606737 0.607368 0.636421 +0.689474 0.756421 0.832842 0.909895 0.967368 0.991755 1.00384 1.01069 +1.01429 1.01494 1.012 1.00808 1.00514 1.00253 0.998939 0.99502 +0.991755 0.988816 0.984898 0.979368 0.971789 0.968632 0.967368 0.966105 +0.963579 0.961684 0.963579 0.966105 0.962316 0.961053 0.965474 0.966737 +0.964842 0.965474 0.961053 0.957895 0.961684 0.958526 0.959158 0.964842 +0.963579 0.961684 0.957263 0.960421 0.962947 0.961053 0.964842 0.966105 +0.962316 0.966105 0.965474 0.964842 0.962947 0.955368 0.953474 0.957895 +0.956632 0.968 0.980653 0.967368 0.956 0.954105 0.956 0.952211 +0.954105 0.960421 0.956632 0.955368 0.956 0.958526 0.958526 0.959789 +0.967368 0.972421 0.970526 0.973053 0.98098 0.981306 0.981633 0.986204 +0.995347 1.00416 1.00645 1.0058 1.00776 1.00678 1.0071 1.00678 +1.00678 1.00776 1.00416 1.00253 1.00024 0.997633 0.996327 0.996653 +0.997959 0.99698 1.00057 1.0058 1.00612 1.00776 1.00612 1.00416 +1.0071 1.01135 1.01135 1.01069 1.01004 1.01037 1.01233 1.01363 +1.01363 1.01167 1.01331 1.01233 1.00939 1.01037 1.00808 1.0058 +1.00645 1.00351 1.00057 1.00122 0.999265 0.997306 0.999918 0.998939 +0.997633 0.994041 0.991102 0.989469 0.986204 0.987184 0.985224 0.982939 +0.982939 0.981633 0.983265 0.984245 0.984571 0.986857 0.991429 0.994367 +0.99698 0.998612 0.999918 1.00286 1.00318 1.00155 1.00155 1.0058 +1.01167 1.01135 1.00906 1.01004 1.01233 1.01167 1.01298 1.01494 +1.01494 1.01429 1.01363 1.01069 1.00384 0.998612 0.991102 0.976842 +0.941474 0.889053 0.842947 0.796842 0.733684 0.673053 0.636421 0.616842 +0.606737 0.609263 0.618737 0.632632 0.652842 0.671158 0.68 0.68 +0.677474 0.680632 0.688211 0.688842 0.692 0.700842 0.712211 0.739368 +0.777263 0.811368 0.820842 0.791789 0.713474 0.614947 0.529053 0.411013 +0.310667 0.257653 0.248187 0.248187 0.234933 0.225467 0.22168 0.219787 +0.000986667 0.225467 0.223573 0.217893 0.217893 0.000986667 0.00098 0.00098 +0.000953333 0.00094 0.000946667 0.000933333 0.00092 0.0009 0.000906667 0.0009 +0.000913333 0.000893333 0.00092 0.00096 0.000926667 0.0009 0.000933333 0.000933333 +0.000933333 0.00094 0.000973333 0.00096 0.000926667 0.000933333 0.000933333 0.000926667 +0.00094 0.000946667 0.000966667 0.000986667 0.00096 0.000953333 0.000953333 0.000946667 +0.00094 0.00094 0.000933333 0.000926667 0.00092 0.000926667 0.00092 0.000933333 +0.000926667 0.00092 0.000906667 0.000893333 0.000913333 0.000966667 0.000966667 0.00094 +0.0009 0.000913333 0.000913333 0.00094 0.216 0.000966667 0.00092 0.00094 +0.00094 0.000946667 0.000966667 0.000973333 0.000986667 0.000953333 0.000966667 0.00096 +0.000966667 0.216 0.217893 0.00098 0.00098 0.219787 0.217893 0.223573 +0.22736 0.216 0.000993333 0.000993333 0.223573 0.234933 0.242507 0.242507 +0.246293 0.259547 0.259547 0.248187 0.26144 0.26712 0.280373 0.29552 +0.316347 0.39776 0.510737 0.562526 0.623158 0.689474 0.745053 0.784211 +0.815158 0.850526 0.900421 0.959789 0.994694 1.00482 0.999265 0.964211 +0.874526 0.770316 0.668632 0.584 0.520842 0.441307 0.365573 0.320133 +0.3012 0.29552 0.297413 0.303093 0.930737 1.01396 1.00122 0.881474 +0.716 0.584 0.500632 0.37504 0.320133 0.291733 0.297413 0.3012 +0.291733 0.28416 0.280373 0.287947 0.293627 0.3012 0.327707 0.373147 +0.4432 0.518947 0.592211 0.692632 0.793053 0.881474 0.957263 0.99698 +1.00645 0.999918 0.987837 0.971789 0.941474 0.887789 0.810105 0.724211 +0.644632 0.576421 0.524 0.4716 0.390187 0.344747 0.31824 0.291733 +0.27848 0.270907 0.2728 0.265227 0.259547 0.246293 0.23872 0.240613 +0.23304 0.23304 0.225467 0.219787 0.22168 0.22736 0.22736 0.000993333 +0.000993333 0.000986667 0.00098 0.000986667 0.00098 0.00094 0.000926667 0.000946667 +0.000953333 0.00096 0.00094 0.000953333 0.00098 0.000966667 0.000946667 0.000933333 +0.000926667 0.000926667 0.00094 0.000953333 0.000946667 0.00096 0.000946667 0.000953333 +0.00096 0.00096 0.000966667 0.000953333 0.000933333 0.000946667 0.000953333 0.00094 +0.000926667 0.000946667 0.000973333 0.000953333 0.00092 0.000926667 0.000926667 0.000933333 +0.000953333 0.000973333 0.00096 0.00096 0.000953333 0.00096 0.00094 0.000933333 +0.000993333 0.00098 0.000953333 0.00094 0.000933333 0.000926667 0.00092 0.00092 +0.00092 0.000893333 0.0009 0.000933333 0.000926667 0.0009 0.000926667 0.000953333 +0.00094 0.000913333 0.000926667 0.000946667 0.000926667 0.000906667 0.00094 0.000973333 +0.000973333 0.000966667 0.00092 0.000886667 0.000933333 0.000973333 0.00096 0.000933333 +0.000973333 0.217893 0.216 0.000973333 0.000953333 0.000966667 0.000973333 0.217893 +0.231147 0.248187 0.265227 0.276587 0.28984 0.32392 0.412907 0.520211 +0.589684 0.671158 0.745053 0.797474 0.817684 0.811368 0.781053 0.742526 +0.709684 0.690105 0.686947 0.682526 0.668 0.647158 0.640211 0.652211 +0.661684 0.665474 0.671158 0.668632 0.65979 0.647789 0.632632 0.619368 +0.604842 0.606105 0.644 0.706526 0.769684 0.836 0.906737 0.969263 +0.99502 1.00482 1.00808 1.00939 1.00873 1.00841 1.00808 1.00776 +1.00449 1.0022 1.0022 1.00057 0.99698 0.991429 0.986204 0.983918 +0.982939 0.980653 0.983265 0.981959 0.969263 0.967368 0.971158 0.968632 +0.967368 0.966105 0.962316 0.964211 0.962316 0.959158 0.963579 0.964842 +0.959789 0.954737 0.952211 0.954737 0.955368 0.957263 0.964211 0.966737 +0.964211 0.965474 0.964211 0.961684 0.958526 0.956632 0.961053 0.962947 +0.963579 0.98 0.985224 0.975579 0.967368 0.967368 0.969895 0.973053 +0.977474 0.977474 0.969895 0.973684 0.980327 0.982286 0.979368 0.981306 +0.986204 0.987184 0.98751 0.989796 0.994041 0.99502 0.997306 1.00057 +1.00482 1.00841 1.00776 1.00873 1.00906 1.00678 1.00645 1.00351 +0.999918 0.994367 0.982286 0.957263 0.921263 0.894737 0.884 0.884632 +0.886526 0.896 0.923158 0.949053 0.957263 0.971158 0.982612 0.987837 +0.994367 0.998939 0.999918 1.00351 1.00612 1.0071 1.00939 1.01102 +1.01298 1.012 1.012 1.01265 1.01004 1.01004 1.00776 1.00612 +1.0071 1.00514 1.00416 1.00645 1.0058 1.00351 1.00743 1.00645 +1.00645 1.00318 1.00122 1.00384 1.00416 1.00449 1.00318 1.00122 +1.00024 0.999265 0.999265 1.00122 1.0022 1.00384 1.00906 1.00873 +1.00841 1.00841 1.00841 1.01167 1.01004 1.0071 1.00808 1.01135 +1.01494 1.01396 1.01102 1.00906 1.00841 1.00841 1.00808 1.00384 +0.996653 0.989796 0.978105 0.950316 0.916211 0.875158 0.830316 0.783579 +0.734316 0.686316 0.654105 0.630737 0.610526 0.605474 0.612421 0.627579 +0.644 0.657263 0.665474 0.669263 0.679368 0.684421 0.686947 0.688211 +0.685684 0.688842 0.695789 0.702105 0.721053 0.751368 0.789895 0.818316 +0.816421 0.770316 0.690737 0.601684 0.518316 0.39208 0.303093 0.263333 +0.23872 0.231147 0.240613 0.242507 0.23872 0.236827 0.22168 0.000986667 +0.00098 0.223573 0.22168 0.216 0.000986667 0.00094 0.000953333 0.00096 +0.000913333 0.000913333 0.000886667 0.000873333 0.000873333 0.000893333 0.00088 0.000866667 +0.000893333 0.00086 0.00088 0.00092 0.000926667 0.000913333 0.000946667 0.000946667 +0.000933333 0.000946667 0.000973333 0.00096 0.000953333 0.000973333 0.000933333 0.000926667 +0.00092 0.000933333 0.000953333 0.000966667 0.000966667 0.00096 0.00096 0.00092 +0.000953333 0.000966667 0.000946667 0.000913333 0.0009 0.000913333 0.0009 0.000906667 +0.00094 0.000933333 0.000906667 0.000893333 0.00088 0.000926667 0.000946667 0.000953333 +0.000886667 0.000873333 0.0009 0.000926667 0.000966667 0.00096 0.000933333 0.000933333 +0.00094 0.000953333 0.00098 0.000973333 0.00098 0.00098 0.00098 0.000966667 +0.000933333 0.000966667 0.000986667 0.000986667 0.000973333 0.217893 0.225467 0.234933 +0.23304 0.229253 0.234933 0.23304 0.242507 0.248187 0.246293 0.248187 +0.263333 0.276587 0.280373 0.270907 0.27848 0.308773 0.361787 0.462133 +0.531579 0.592211 0.662316 0.719158 0.764632 0.805053 0.844211 0.885263 +0.934526 0.983918 1.00351 1.00612 0.989796 0.928842 0.839158 0.745684 +0.649053 0.566316 0.508211 0.407227 0.344747 0.31256 0.30688 0.303093 +0.293627 0.291733 0.304987 0.320133 0.736842 0.925053 1.01331 0.999592 +0.882737 0.719789 0.582105 0.48864 0.371253 0.325813 0.31256 0.30688 +0.286053 0.286053 0.286053 0.286053 0.28416 0.286053 0.297413 0.303093 +0.316347 0.331493 0.407227 0.512 0.570737 0.642737 0.725474 0.824632 +0.921263 0.986857 1.00906 1.01886 1.01853 1.00776 0.986857 0.930737 +0.848 0.754526 0.664842 0.593474 0.537895 0.502526 0.43752 0.3864 +0.33528 0.304987 0.28984 0.27848 0.265227 0.253867 0.257653 0.246293 +0.240613 0.23872 0.231147 0.231147 0.231147 0.234933 0.231147 0.223573 +0.000986667 0.000986667 0.217893 0.216 0.000986667 0.000966667 0.000986667 0.000993333 +0.000993333 0.00098 0.00096 0.216 0.000993333 0.000973333 0.000966667 0.00096 +0.000953333 0.000973333 0.000986667 0.00098 0.000986667 0.000973333 0.000973333 0.000953333 +0.00094 0.000966667 0.000966667 0.000953333 0.00094 0.00096 0.00096 0.00096 +0.00094 0.000933333 0.000933333 0.000933333 0.000946667 0.000946667 0.00096 0.000986667 +0.000966667 0.000973333 0.000973333 0.00096 0.000966667 0.000933333 0.00094 0.00096 +0.000993333 0.00098 0.000926667 0.00092 0.00094 0.00092 0.000913333 0.00092 +0.000926667 0.0009 0.0009 0.000946667 0.00096 0.00096 0.00096 0.000953333 +0.00092 0.000893333 0.00092 0.000953333 0.00094 0.00094 0.000926667 0.000913333 +0.000926667 0.000913333 0.00088 0.00092 0.000966667 0.00098 0.00098 0.000973333 +0.000993333 0.000993333 0.00092 0.0009 0.000926667 0.000973333 0.000993333 0.216 +0.23304 0.23872 0.229253 0.229253 0.240613 0.248187 0.270907 0.310667 +0.36936 0.462133 0.542316 0.609895 0.678105 0.748842 0.798737 0.815789 +0.809474 0.782316 0.742526 0.707158 0.681895 0.665474 0.661684 0.666105 +0.668632 0.670526 0.673053 0.669895 0.665474 0.666737 0.668632 0.660421 +0.641474 0.623158 0.612421 0.607368 0.614947 0.644 0.698947 0.774737 +0.847368 0.899158 0.938947 0.976842 0.993388 1.00188 1.00612 1.00939 +1.00841 1.00971 1.012 1.01102 1.00939 1.0071 1.00286 1.00188 +0.999918 0.997959 1.00122 0.997959 0.993061 0.993388 0.991429 0.988816 +0.989143 0.988163 0.988816 0.989796 0.984571 0.983918 0.985878 0.984245 +0.979368 0.976211 0.979368 0.976211 0.975579 0.980653 0.982939 0.984571 +0.986204 0.986531 0.986857 0.986857 0.983592 0.984245 0.988816 0.987837 +0.990449 0.998612 0.997633 0.992408 0.992408 0.991429 0.992082 0.994694 +0.995673 0.99502 0.993714 0.99698 0.998939 0.999265 0.996327 0.996653 +1.00024 1.00057 1.00155 1.00286 1.00514 1.00416 1.00547 1.0058 +1.00743 1.01004 1.00873 1.01037 1.00873 1.00612 1.0009 0.983918 +0.943368 0.894105 0.837263 0.781053 0.727368 0.696421 0.686947 0.688842 +0.688211 0.695158 0.724211 0.752 0.764 0.786105 0.814526 0.840421 +0.866947 0.887158 0.897895 0.92 0.941474 0.963579 0.982939 0.992735 +1.00318 1.00776 1.00873 1.01135 1.00906 1.00971 1.00776 1.0071 +1.00873 1.00873 1.00776 1.00971 1.00841 1.00612 1.00939 1.00939 +1.00906 1.00612 1.00612 1.01037 1.01167 1.01233 1.01167 1.00873 +1.00939 1.00743 1.00645 1.00939 1.00971 1.00971 1.01331 1.01102 +1.01004 1.01069 1.01102 1.01363 1.01004 1.00743 1.00678 1.00188 +0.997959 0.995673 0.989143 0.978737 0.961684 0.945263 0.92379 0.888421 +0.850526 0.824 0.788632 0.749474 0.713474 0.675579 0.640842 0.622526 +0.611158 0.604842 0.611158 0.616842 0.627579 0.642737 0.653474 0.664842 +0.675579 0.680632 0.681263 0.683158 0.688211 0.689474 0.690105 0.692632 +0.698316 0.712211 0.737474 0.772842 0.805684 0.821474 0.803789 0.747579 +0.662947 0.572632 0.504421 0.376933 0.304987 0.274693 0.25576 0.236827 +0.225467 0.236827 0.242507 0.22736 0.223573 0.229253 0.000993333 0.00094 +0.00094 0.000946667 0.00096 0.000953333 0.000953333 0.00092 0.00092 0.000953333 +0.000946667 0.000973333 0.00092 0.000886667 0.000873333 0.0009 0.000913333 0.000926667 +0.000913333 0.000893333 0.000893333 0.000906667 0.000933333 0.000933333 0.000933333 0.000926667 +0.000913333 0.000906667 0.000913333 0.000926667 0.00094 0.00096 0.00094 0.000953333 +0.000906667 0.000906667 0.00094 0.000946667 0.000946667 0.000933333 0.000926667 0.00092 +0.000946667 0.000973333 0.00096 0.000933333 0.000913333 0.000926667 0.00092 0.000906667 +0.000933333 0.000946667 0.000933333 0.000946667 0.000926667 0.00092 0.000953333 0.000966667 +0.00094 0.00092 0.000913333 0.00094 0.000946667 0.000946667 0.000913333 0.0009 +0.000906667 0.00092 0.000946667 0.000953333 0.00094 0.000953333 0.000986667 0.216 +0.000973333 0.000993333 0.217893 0.219787 0.216 0.223573 0.234933 0.242507 +0.246293 0.246293 0.25008 0.246293 0.25576 0.259547 0.257653 0.265227 +0.274693 0.293627 0.314453 0.344747 0.405333 0.505684 0.559368 0.628211 +0.692 0.745053 0.793053 0.830316 0.872 0.917474 0.968632 0.99698 +1.00873 1.00482 0.978105 0.897895 0.802526 0.701474 0.614316 0.548632 +0.48864 0.384507 0.327707 0.293627 0.291733 0.291733 0.299307 0.31256 +0.304987 0.299307 0.31256 0.331493 0.566316 0.734316 0.926316 1.01363 +1.0022 0.883368 0.713474 0.582105 0.502526 0.376933 0.325813 0.314453 +0.303093 0.3012 0.28984 0.28416 0.2728 0.28416 0.286053 0.282267 +0.287947 0.286053 0.29552 0.320133 0.38072 0.46592 0.525895 0.588421 +0.676211 0.774737 0.876421 0.969895 1.00841 1.02767 1.03584 1.03257 +1.01396 0.981306 0.895368 0.794316 0.698947 0.621895 0.567579 0.526526 +0.48296 0.416693 0.36936 0.342853 0.31256 0.293627 0.293627 0.276587 +0.269013 0.265227 0.257653 0.246293 0.246293 0.242507 0.240613 0.23304 +0.22168 0.22736 0.225467 0.22736 0.225467 0.219787 0.223573 0.219787 +0.217893 0.217893 0.219787 0.217893 0.000993333 0.216 0.217893 0.000993333 +0.00098 0.216 0.000973333 0.000966667 0.00096 0.000973333 0.000953333 0.00096 +0.000973333 0.000973333 0.000953333 0.000933333 0.00094 0.000933333 0.00094 0.000953333 +0.00096 0.00092 0.00094 0.000953333 0.000933333 0.000926667 0.00096 0.00098 +0.00096 0.00096 0.000946667 0.000953333 0.000973333 0.00096 0.000973333 0.000946667 +0.00096 0.00096 0.000893333 0.000906667 0.000946667 0.00094 0.00094 0.000926667 +0.000926667 0.000933333 0.000953333 0.000986667 0.000993333 0.000973333 0.000926667 0.00092 +0.0009 0.00088 0.000893333 0.00094 0.00092 0.000933333 0.0009 0.000886667 +0.000913333 0.000886667 0.00092 0.000973333 0.000973333 0.00094 0.000946667 0.00096 +0.00096 0.00094 0.000906667 0.000926667 0.000953333 0.000993333 0.216 0.00098 +0.217893 0.22168 0.000966667 0.216 0.23304 0.236827 0.23304 0.259547 +0.282267 0.291733 0.327707 0.39208 0.48296 0.539789 0.606105 0.683789 +0.753895 0.801895 0.818316 0.804421 0.767789 0.732421 0.704632 0.681263 +0.670526 0.673053 0.674947 0.674947 0.668632 0.666737 0.671789 0.673684 +0.673684 0.670526 0.657895 0.641474 0.625684 0.614947 0.613053 0.625053 +0.653474 0.684421 0.726737 0.786737 0.851789 0.904842 0.945263 0.980327 +0.992082 0.999592 1.00612 1.00906 1.00971 1.00906 1.00808 1.00612 +1.00449 1.00743 1.00873 1.00482 1.0058 1.00906 1.0071 1.00449 +1.00547 1.00286 1.00384 1.00318 0.997633 0.997306 1.00188 1.00188 +0.996327 0.996327 0.999918 0.996327 0.99502 0.997959 0.999592 1.00188 +1.00449 1.0022 1.00416 1.00645 1.00024 1.00024 1.00384 1.0022 +1.00416 1.00808 1.00612 1.00514 1.00678 1.00482 1.00449 1.00743 +1.0058 1.00253 1.00449 1.00873 1.00873 1.00906 1.00645 1.00612 +1.00841 1.00906 1.00873 1.00841 1.00939 1.00841 1.00776 1.00743 +1.01069 1.01233 1.00971 1.01069 1.00482 0.991755 0.942737 0.849263 +0.765895 0.707789 0.662316 0.635158 0.623158 0.623789 0.626947 0.629474 +0.624421 0.621263 0.627579 0.633263 0.632 0.637053 0.647158 0.659158 +0.680632 0.695789 0.700842 0.718526 0.746316 0.779158 0.813895 0.853053 +0.904842 0.950316 0.98098 0.994041 1.00024 1.0058 1.0058 1.00776 +1.01069 1.01004 1.0071 1.00776 1.00743 1.00547 1.00906 1.012 +1.01265 1.01004 1.00939 1.01233 1.01298 1.01298 1.01167 1.01135 +1.01102 1.00906 1.00776 1.01037 1.01167 1.00906 1.01004 1.0071 +1.00188 0.996 0.990449 0.987837 0.978105 0.956632 0.931368 0.894105 +0.864421 0.849895 0.827158 0.788 0.760211 0.741263 0.714737 0.680632 +0.656632 0.644632 0.633263 0.624421 0.62 0.613684 0.611789 0.62 +0.630737 0.640211 0.649053 0.656632 0.663579 0.670526 0.672421 0.674316 +0.680632 0.687579 0.690737 0.692 0.693895 0.697684 0.705263 0.728632 +0.765263 0.800632 0.822105 0.820842 0.786105 0.716632 0.630105 0.549895 +0.46024 0.342853 0.287947 0.257653 0.257653 0.25008 0.236827 0.22736 +0.22736 0.234933 0.234933 0.22736 0.216 0.000993333 0.000966667 0.000946667 +0.00096 0.00094 0.00096 0.000946667 0.000926667 0.00092 0.00092 0.000946667 +0.000973333 0.216 0.000953333 0.000913333 0.000913333 0.000926667 0.000926667 0.000946667 +0.0009 0.0009 0.00092 0.000906667 0.000906667 0.000933333 0.000953333 0.000926667 +0.000926667 0.000926667 0.000926667 0.000913333 0.000933333 0.00094 0.00094 0.000966667 +0.00094 0.00092 0.00094 0.000933333 0.000926667 0.000926667 0.000933333 0.00094 +0.00096 0.000973333 0.00096 0.000953333 0.00096 0.000966667 0.00094 0.000926667 +0.000953333 0.00096 0.00094 0.000946667 0.000933333 0.000926667 0.000946667 0.000953333 +0.00098 0.000986667 0.00096 0.00096 0.00098 0.000966667 0.000966667 0.000973333 +0.000953333 0.000933333 0.00096 0.000993333 0.00098 0.000973333 0.217893 0.22168 +0.22168 0.225467 0.234933 0.23304 0.219787 0.229253 0.23872 0.234933 +0.242507 0.257653 0.269013 0.26712 0.282267 0.287947 0.29552 0.32392 +0.358 0.416693 0.501895 0.544211 0.601053 0.660421 0.719789 0.772211 +0.815789 0.855579 0.903579 0.952842 0.991429 1.0071 1.00808 0.993388 +0.949053 0.863789 0.762105 0.668 0.586526 0.521474 0.4432 0.373147 +0.325813 0.303093 0.293627 0.286053 0.28984 0.287947 0.297413 0.310667 +0.31256 0.31824 0.333387 0.36368 0.40912 0.571368 0.734316 0.92379 +1.01298 1.00318 0.890316 0.726737 0.591579 0.5 0.373147 0.333387 +0.31824 0.297413 0.287947 0.276587 0.263333 0.274693 0.276587 0.276587 +0.280373 0.282267 0.27848 0.280373 0.29552 0.31824 0.342853 0.393973 +0.496213 0.552421 0.626316 0.730526 0.833474 0.927579 0.99502 1.02637 +1.04563 1.05053 1.03812 1.00743 0.948421 0.848632 0.749474 0.665474 +0.598526 0.549895 0.516421 0.481067 0.418587 0.36936 0.34096 0.31256 +0.297413 0.28416 0.2728 0.265227 0.259547 0.251973 0.248187 0.23872 +0.236827 0.23872 0.231147 0.229253 0.229253 0.225467 0.229253 0.223573 +0.000993333 0.000993333 0.223573 0.223573 0.216 0.22168 0.216 0.00098 +0.000966667 0.000973333 0.000946667 0.00094 0.000973333 0.000973333 0.000966667 0.000966667 +0.00096 0.000953333 0.000966667 0.000953333 0.000926667 0.000966667 0.000953333 0.000946667 +0.000933333 0.00096 0.00098 0.00098 0.000953333 0.000966667 0.217893 0.219787 +0.000993333 0.000973333 0.000953333 0.00096 0.000973333 0.000966667 0.000953333 0.00092 +0.00094 0.000946667 0.000906667 0.000926667 0.000946667 0.00094 0.000913333 0.00092 +0.000933333 0.000933333 0.00094 0.00094 0.000926667 0.00092 0.000906667 0.0009 +0.000913333 0.000926667 0.000913333 0.00092 0.000933333 0.000933333 0.000906667 0.0009 +0.00092 0.000913333 0.000933333 0.000966667 0.000933333 0.000933333 0.00096 0.000966667 +0.000946667 0.000926667 0.000933333 0.00094 0.000946667 0.000953333 0.000946667 0.00094 +0.00094 0.000946667 0.000953333 0.217893 0.22736 0.223573 0.22168 0.23304 +0.242507 0.25008 0.26144 0.287947 0.308773 0.320133 0.36936 0.479173 +0.545474 0.613684 0.691368 0.760842 0.803158 0.819579 0.805053 0.770947 +0.729895 0.698947 0.682526 0.677474 0.674947 0.676211 0.677474 0.674947 +0.676842 0.676211 0.671158 0.672421 0.666737 0.656632 0.647158 0.631368 +0.614947 0.606737 0.603579 0.618105 0.652211 0.693263 0.740632 0.794947 +0.847368 0.889684 0.926316 0.959789 0.984245 0.992082 0.997633 0.998286 +1.00155 1.00906 1.00971 1.00808 1.00939 1.01233 1.01167 1.00841 +1.00776 1.00678 1.00776 1.00776 1.00645 1.00612 1.00939 1.00971 +1.00645 1.00645 1.00743 1.00547 1.00449 1.00547 1.0071 1.00841 +1.01004 1.00776 1.01004 1.01167 1.00612 1.00808 1.01102 1.00971 +1.00808 1.00873 1.00873 1.01004 1.01069 1.00808 1.0071 1.01069 +1.00808 1.00416 1.00776 1.00971 1.00971 1.01233 1.01135 1.01004 +1.01167 1.01102 1.01037 1.00873 1.00971 1.012 1.012 1.01102 +1.01298 1.01135 1.00384 0.990776 0.948421 0.872632 0.770316 0.677474 +0.636421 0.630105 0.631368 0.640211 0.651579 0.662947 0.669263 0.671789 +0.668632 0.666737 0.663579 0.65979 0.652211 0.646526 0.641474 0.634526 +0.637053 0.633263 0.621895 0.623158 0.629474 0.637053 0.649684 0.671158 +0.713474 0.767158 0.818316 0.874526 0.918737 0.957263 0.979368 0.989796 +0.996 0.996 0.993714 0.994367 0.992408 0.984898 0.981633 0.982939 +0.984898 0.987184 0.992408 0.998939 1.00449 1.00612 1.00547 1.0058 +1.0009 0.997633 0.994694 0.991755 0.987837 0.969895 0.952842 0.934526 +0.903579 0.866947 0.833474 0.812632 0.786105 0.752632 0.722947 0.689474 +0.666105 0.657263 0.647158 0.627579 0.618737 0.621895 0.62 0.618105 +0.62 0.625053 0.634526 0.644 0.648421 0.651579 0.656 0.661053 +0.666105 0.667368 0.668 0.672421 0.674947 0.680632 0.684421 0.682526 +0.687579 0.694526 0.702737 0.709053 0.724842 0.756421 0.789895 0.822105 +0.834105 0.806316 0.747579 0.669263 0.585895 0.516421 0.405333 0.3296 +0.287947 0.257653 0.23304 0.223573 0.23872 0.234933 0.22736 0.217893 +0.219787 0.223573 0.22168 0.223573 0.219787 0.000966667 0.00092 0.000933333 +0.00096 0.000953333 0.00096 0.000966667 0.0009 0.000926667 0.000926667 0.0009 +0.000926667 0.000946667 0.000926667 0.000886667 0.00088 0.000933333 0.00092 0.000893333 +0.000873333 0.000893333 0.000926667 0.00092 0.0009 0.000913333 0.000933333 0.00092 +0.000926667 0.000933333 0.00098 0.000953333 0.000946667 0.000966667 0.000953333 0.000946667 +0.00096 0.000966667 0.000966667 0.000966667 0.000953333 0.000946667 0.00094 0.000966667 +0.000966667 0.00096 0.00094 0.00096 0.000966667 0.000966667 0.00096 0.000953333 +0.000973333 0.00096 0.000946667 0.000946667 0.000933333 0.00094 0.00092 0.00092 +0.00096 0.000993333 0.000973333 0.000973333 0.217893 0.216 0.000993333 0.217893 +0.216 0.000993333 0.219787 0.225467 0.217893 0.00098 0.223573 0.231147 +0.22736 0.234933 0.23872 0.23872 0.234933 0.2444 0.25008 0.25008 +0.259547 0.274693 0.291733 0.297413 0.304987 0.34096 0.388293 0.47728 +0.530947 0.585263 0.643368 0.700211 0.758947 0.802526 0.841684 0.885895 +0.935158 0.981959 1.00416 1.01265 1.00384 0.968632 0.889053 0.805053 +0.719158 0.632632 0.557474 0.505684 0.40912 0.342853 0.310667 0.29552 +0.291733 0.286053 0.28984 0.291733 0.29552 0.293627 0.29552 0.30688 +0.316347 0.333387 0.36936 0.456453 0.293627 0.418587 0.568211 0.733684 +0.926947 1.0169 1.0071 0.899789 0.731158 0.590316 0.503158 0.382613 +0.337173 0.316347 0.304987 0.280373 0.2728 0.274693 0.27848 0.274693 +0.269013 0.2728 0.26144 0.257653 0.259547 0.26712 0.276587 0.286053 +0.304987 0.354213 0.429947 0.526526 0.593474 0.675579 0.772842 0.880211 +0.98 1.02082 1.04629 1.05608 1.05086 1.02898 0.991755 0.909263 +0.810105 0.714737 0.640842 0.582737 0.539789 0.512632 0.469707 0.407227 +0.356107 0.331493 0.314453 0.29552 0.27848 0.270907 0.265227 0.253867 +0.251973 0.251973 0.240613 0.236827 0.234933 0.231147 0.229253 0.231147 +0.225467 0.219787 0.223573 0.231147 0.225467 0.223573 0.000986667 0.000946667 +0.000953333 0.000986667 0.000973333 0.00098 0.216 0.000986667 0.000973333 0.00096 +0.000966667 0.000953333 0.000953333 0.00098 0.00098 0.000986667 0.000966667 0.000966667 +0.000966667 0.000973333 0.000986667 0.00098 0.00098 0.000986667 0.000993333 0.000993333 +0.000966667 0.000973333 0.000966667 0.00094 0.000933333 0.000926667 0.000933333 0.00094 +0.00094 0.000926667 0.000933333 0.00094 0.00092 0.000926667 0.000913333 0.000906667 +0.000926667 0.000933333 0.00092 0.000906667 0.00092 0.000933333 0.000926667 0.000913333 +0.000906667 0.000926667 0.0009 0.000906667 0.000946667 0.00094 0.00092 0.000886667 +0.0009 0.000913333 0.00092 0.00096 0.000933333 0.000913333 0.000966667 0.000986667 +0.000926667 0.000913333 0.000926667 0.000933333 0.000946667 0.000953333 0.00096 0.000973333 +0.000933333 0.00092 0.00098 0.216 0.216 0.22168 0.229253 0.223573 +0.22168 0.23304 0.2444 0.253867 0.25576 0.263333 0.274693 0.297413 +0.333387 0.3864 0.490533 0.550526 0.623158 0.702105 0.772211 0.820211 +0.826526 0.801895 0.765263 0.726737 0.701474 0.690737 0.681263 0.677474 +0.681263 0.678737 0.675579 0.675579 0.676842 0.676211 0.675579 0.669263 +0.656 0.642105 0.624421 0.611789 0.606105 0.602316 0.608632 0.628211 +0.652211 0.679368 0.714105 0.760842 0.812 0.853684 0.885263 0.906737 +0.936421 0.967368 0.981959 0.98849 0.994694 0.999592 0.998612 0.999592 +1.00384 1.00612 1.00743 1.00743 1.00873 1.01102 1.01069 1.00906 +1.01102 1.01135 1.00841 1.00906 1.00841 1.00612 1.00678 1.00743 +1.00971 1.00971 1.01233 1.01135 1.00939 1.01102 1.01167 1.01233 +1.01037 1.01004 1.01037 1.01004 1.01037 1.00873 1.00971 1.01363 +1.01135 1.00841 1.01037 1.00971 1.01037 1.01233 1.01298 1.01233 +1.01461 1.01331 1.012 1.01004 1.01037 1.01298 1.01135 1.01102 +1.01135 1.00416 0.973684 0.876421 0.769684 0.684421 0.633895 0.620632 +0.638947 0.661684 0.672421 0.676842 0.679368 0.681263 0.683158 0.685684 +0.686947 0.689474 0.688211 0.685684 0.684421 0.683789 0.679368 0.671789 +0.674316 0.667368 0.657263 0.658526 0.653474 0.646526 0.642105 0.635789 +0.634526 0.642105 0.654737 0.685684 0.724211 0.772211 0.815158 0.849895 +0.868211 0.875158 0.878316 0.880211 0.869474 0.837895 0.814526 0.803789 +0.805053 0.820842 0.848632 0.889053 0.924421 0.940211 0.937053 0.925684 +0.904842 0.883368 0.862526 0.844842 0.820211 0.776632 0.745684 0.724842 +0.694526 0.668 0.647158 0.638316 0.631368 0.621895 0.618105 0.618105 +0.62 0.623789 0.633263 0.638947 0.643368 0.647158 0.654105 0.657263 +0.660421 0.665474 0.669263 0.669895 0.670526 0.673684 0.676842 0.676211 +0.675579 0.674316 0.677474 0.684421 0.686316 0.688211 0.692 0.692 +0.705263 0.727368 0.754526 0.784211 0.815789 0.834105 0.822737 0.778526 +0.707789 0.622526 0.548632 0.467813 0.356107 0.293627 0.269013 0.26144 +0.25576 0.236827 0.217893 0.22168 0.22736 0.225467 0.219787 0.000986667 +0.000993333 0.000966667 0.000966667 0.000986667 0.000993333 0.000973333 0.000933333 0.000946667 +0.000953333 0.000913333 0.000946667 0.000946667 0.000893333 0.000933333 0.000933333 0.000893333 +0.000906667 0.000926667 0.000913333 0.000886667 0.000893333 0.000906667 0.00092 0.000886667 +0.000866667 0.000886667 0.000913333 0.00094 0.000926667 0.00094 0.00092 0.00092 +0.000906667 0.00092 0.000946667 0.00096 0.000993333 0.000993333 0.000953333 0.00094 +0.000946667 0.000953333 0.00096 0.00096 0.000986667 0.000973333 0.000973333 0.000973333 +0.000973333 0.00094 0.000933333 0.000946667 0.000966667 0.000953333 0.00098 0.00098 +0.00096 0.00096 0.000986667 0.00098 0.00098 0.000973333 0.00096 0.000953333 +0.000973333 0.000966667 0.216 0.22168 0.219787 0.225467 0.225467 0.223573 +0.223573 0.223573 0.229253 0.23304 0.231147 0.217893 0.223573 0.231147 +0.23304 0.240613 0.2444 0.25008 0.25576 0.259547 0.265227 0.280373 +0.299307 0.31256 0.337173 0.376933 0.433733 0.517053 0.566947 0.621263 +0.677474 0.734947 0.786737 0.827158 0.875158 0.92 0.964842 0.994694 +1.00939 1.00841 0.992408 0.936421 0.844211 0.740632 0.649684 0.585895 +0.532842 0.469707 0.378827 0.325813 0.304987 0.287947 0.28416 0.282267 +0.282267 0.280373 0.280373 0.291733 0.3012 0.3012 0.3012 0.322027 +0.34096 0.373147 0.456453 0.548632 0.248187 0.286053 0.40912 0.569474 +0.731158 0.918737 1.01363 1.01004 0.906737 0.731789 0.587158 0.504421 +0.401547 0.34664 0.310667 0.28984 0.282267 0.2728 0.2728 0.26144 +0.257653 0.26144 0.248187 0.251973 0.25576 0.257653 0.265227 0.26712 +0.265227 0.282267 0.29552 0.33528 0.405333 0.501895 0.554316 0.631368 +0.729263 0.839158 0.937684 0.997633 1.02996 1.05118 1.05902 1.04759 +1.01886 0.974316 0.878316 0.778526 0.693263 0.627579 0.575789 0.534737 +0.505053 0.45456 0.40912 0.365573 0.331493 0.316347 0.299307 0.282267 +0.2728 0.26712 0.25576 0.246293 0.246293 0.242507 0.23872 0.2444 +0.2444 0.22736 0.225467 0.229253 0.225467 0.216 0.000966667 0.000953333 +0.000966667 0.000986667 0.00098 0.00098 0.000986667 0.000966667 0.000953333 0.00096 +0.00096 0.000953333 0.000966667 0.000993333 0.000973333 0.00096 0.00098 0.00098 +0.000973333 0.000966667 0.00098 0.000966667 0.000973333 0.00096 0.000966667 0.000966667 +0.00098 0.000966667 0.00096 0.00092 0.000926667 0.000953333 0.00098 0.000953333 +0.00094 0.00096 0.000953333 0.000933333 0.000913333 0.00094 0.000933333 0.0009 +0.000933333 0.000946667 0.0009 0.000906667 0.00094 0.000933333 0.000933333 0.000873333 +0.00088 0.000913333 0.0009 0.000906667 0.00096 0.000933333 0.00088 0.000893333 +0.000906667 0.000953333 0.000953333 0.000953333 0.00096 0.000966667 0.00096 0.000966667 +0.000926667 0.000913333 0.000933333 0.00092 0.000933333 0.000973333 0.000993333 0.000973333 +0.00094 0.00092 0.000966667 0.00096 0.000946667 0.219787 0.225467 0.000973333 +0.000966667 0.219787 0.23304 0.231147 0.22736 0.2444 0.259547 0.265227 +0.276587 0.28416 0.293627 0.327707 0.390187 0.503158 0.562526 0.638947 +0.720421 0.784842 0.819579 0.820842 0.799368 0.764632 0.726105 0.699579 +0.690737 0.688842 0.687579 0.683158 0.681895 0.679368 0.676842 0.676211 +0.672421 0.666737 0.661053 0.658526 0.650947 0.637684 0.629474 0.621895 +0.611789 0.606105 0.609263 0.620632 0.640211 0.664842 0.684421 0.702737 +0.733053 0.763368 0.789263 0.814526 0.844842 0.871368 0.883368 0.897895 +0.920632 0.947158 0.964211 0.973053 0.979368 0.985551 0.987837 0.990449 +0.997633 0.998939 0.997306 1.00024 1.00122 0.999918 1.00057 1.00416 +1.00547 1.00678 1.00873 1.00514 1.00482 1.00351 1.00416 1.00678 +1.0058 1.00612 1.00678 1.00841 1.00971 1.00776 1.00971 1.01233 +1.00873 1.00678 1.00808 1.00873 1.01037 1.01233 1.01298 1.012 +1.01363 1.012 1.01135 1.01167 1.01102 1.00873 1.00482 1.00384 +0.995347 0.953474 0.838526 0.700211 0.612421 0.595368 0.62 0.651579 +0.671789 0.679368 0.68 0.680632 0.678737 0.678105 0.676842 0.677474 +0.677474 0.678737 0.678737 0.679368 0.681895 0.684421 0.681263 0.679368 +0.688211 0.686316 0.678737 0.682526 0.681263 0.678105 0.679368 0.674316 +0.666105 0.655368 0.634526 0.626316 0.625684 0.640211 0.653474 0.665474 +0.673053 0.676211 0.676842 0.679368 0.668632 0.641474 0.620632 0.608632 +0.607368 0.617474 0.641474 0.683158 0.718526 0.734316 0.731158 0.719789 +0.700211 0.674947 0.662947 0.655368 0.645895 0.624421 0.614316 0.616842 +0.614316 0.618105 0.624421 0.633263 0.644 0.647158 0.650316 0.654105 +0.656632 0.666105 0.676842 0.681895 0.678105 0.675579 0.676842 0.674947 +0.672421 0.676211 0.676842 0.674947 0.674316 0.680632 0.686316 0.686947 +0.685053 0.684421 0.692 0.700842 0.707158 0.714737 0.736211 0.763368 +0.799368 0.831579 0.839789 0.825895 0.786737 0.722947 0.642737 0.569474 +0.512 0.40912 0.333387 0.282267 0.25576 0.236827 0.23304 0.23872 +0.234933 0.219787 0.00098 0.22168 0.219787 0.000993333 0.000986667 0.217893 +0.000993333 0.00094 0.000953333 0.000973333 0.000986667 0.000986667 0.000946667 0.000966667 +0.000966667 0.000926667 0.00094 0.000926667 0.0009 0.000906667 0.000926667 0.000933333 +0.000933333 0.000933333 0.000946667 0.000913333 0.000913333 0.00092 0.000933333 0.00088 +0.000873333 0.000906667 0.000926667 0.00094 0.00094 0.000946667 0.00094 0.000986667 +0.000966667 0.000933333 0.000926667 0.00094 0.000986667 0.000993333 0.000986667 0.00096 +0.00096 0.00096 0.000946667 0.000966667 0.000993333 0.000993333 0.22168 0.217893 +0.000993333 0.000973333 0.000953333 0.00098 0.000986667 0.000986667 0.00098 0.00098 +0.00098 0.000973333 0.22168 0.225467 0.225467 0.217893 0.216 0.216 +0.219787 0.000993333 0.217893 0.229253 0.219787 0.219787 0.216 0.000993333 +0.223573 0.22168 0.225467 0.22736 0.234933 0.2444 0.242507 0.246293 +0.25008 0.257653 0.265227 0.276587 0.27848 0.28984 0.3012 0.327707 +0.354213 0.40912 0.5 0.544211 0.600421 0.663579 0.721053 0.767158 +0.812632 0.86 0.909263 0.955368 0.992408 1.00776 1.00906 0.995673 +0.954737 0.881474 0.799368 0.703368 0.610526 0.542316 0.492427 0.418587 +0.356107 0.31824 0.3012 0.286053 0.28984 0.28416 0.2728 0.2728 +0.27848 0.280373 0.287947 0.29552 0.303093 0.310667 0.31256 0.337173 +0.3864 0.479173 0.558105 0.669263 0.000993333 0.246293 0.29552 0.412907 +0.564421 0.722947 0.914947 1.01592 1.01135 0.899789 0.723579 0.587789 +0.506947 0.39776 0.337173 0.316347 0.3012 0.29552 0.28416 0.26712 +0.269013 0.265227 0.259547 0.257653 0.263333 0.263333 0.257653 0.257653 +0.257653 0.265227 0.2728 0.287947 0.299307 0.316347 0.359893 0.4432 +0.525263 0.599158 0.685684 0.774737 0.870105 0.967368 1.01527 1.04367 +1.05706 1.05641 1.04171 1.00939 0.949684 0.851158 0.757053 0.674316 +0.609895 0.565053 0.530316 0.505053 0.44888 0.399653 0.35232 0.320133 +0.299307 0.287947 0.276587 0.265227 0.259547 0.257653 0.25008 0.242507 +0.23304 0.225467 0.229253 0.223573 0.22168 0.217893 0.000993333 0.00098 +0.000973333 0.00098 0.000973333 0.000973333 0.000986667 0.000973333 0.000953333 0.00094 +0.00094 0.000953333 0.000993333 0.000986667 0.000966667 0.000973333 0.00096 0.000973333 +0.00098 0.000986667 0.00098 0.219787 0.217893 0.000986667 0.000953333 0.00098 +0.000953333 0.000946667 0.000953333 0.00096 0.000993333 0.217893 0.000973333 0.00096 +0.000953333 0.000973333 0.000926667 0.000926667 0.000933333 0.000926667 0.00094 0.000933333 +0.000926667 0.000933333 0.000926667 0.000933333 0.000953333 0.000926667 0.0009 0.000893333 +0.000906667 0.000933333 0.00094 0.00092 0.00092 0.00092 0.000913333 0.00094 +0.000953333 0.000986667 0.000973333 0.000966667 0.000973333 0.00098 0.000933333 0.00092 +0.000966667 0.000926667 0.000913333 0.000953333 0.000986667 0.216 0.000993333 0.000953333 +0.000926667 0.000926667 0.000933333 0.000926667 0.00094 0.000993333 0.216 0.00098 +0.000973333 0.216 0.217893 0.217893 0.229253 0.240613 0.248187 0.253867 +0.253867 0.251973 0.251973 0.269013 0.28416 0.308773 0.344747 0.407227 +0.513263 0.578316 0.656 0.736842 0.798105 0.827789 0.820842 0.793053 +0.760211 0.729895 0.709053 0.695789 0.689474 0.685684 0.680632 0.678105 +0.68 0.678737 0.673684 0.675579 0.673053 0.668 0.666105 0.659158 +0.656 0.650316 0.638947 0.630105 0.625684 0.626947 0.623789 0.619368 +0.616211 0.614947 0.621263 0.632 0.647789 0.66421 0.678105 0.688842 +0.710947 0.738737 0.762737 0.781684 0.794316 0.804421 0.815789 0.840421 +0.861895 0.865053 0.872632 0.892211 0.899789 0.900421 0.909263 0.926316 +0.932632 0.934526 0.930737 0.922526 0.928842 0.936421 0.945895 0.949053 +0.951579 0.958526 0.957895 0.957895 0.964842 0.969263 0.976211 0.977474 +0.966737 0.967368 0.969895 0.976211 0.980327 0.982612 0.984571 0.985551 +0.987184 0.985224 0.98751 0.989469 0.989469 0.985551 0.974316 0.938947 +0.870105 0.768421 0.654105 0.575158 0.569474 0.611158 0.650316 0.669263 +0.677474 0.679368 0.678105 0.674947 0.672421 0.675579 0.678105 0.676842 +0.676211 0.678737 0.678737 0.681895 0.684421 0.686947 0.685053 0.684421 +0.692632 0.691368 0.682526 0.683789 0.683789 0.683789 0.685053 0.684421 +0.683158 0.679368 0.667368 0.661684 0.657895 0.653474 0.638316 0.628211 +0.625053 0.622526 0.613053 0.606737 0.598526 0.580211 0.563789 0.554947 +0.554316 0.558737 0.570105 0.590316 0.606105 0.618105 0.626316 0.626316 +0.625053 0.618105 0.623158 0.627579 0.633895 0.637053 0.639579 0.649684 +0.654737 0.660421 0.668632 0.676842 0.680632 0.679368 0.678105 0.676842 +0.674316 0.680632 0.690737 0.689474 0.683158 0.678737 0.675579 0.675579 +0.674947 0.678105 0.683158 0.685684 0.686947 0.693895 0.702737 0.705263 +0.707789 0.717263 0.736211 0.759579 0.786105 0.813263 0.841053 0.848632 +0.830947 0.793053 0.727368 0.647789 0.577684 0.516421 0.405333 0.339067 +0.29552 0.269013 0.263333 0.251973 0.22736 0.216 0.219787 0.22736 +0.229253 0.225467 0.225467 0.229253 0.219787 0.00098 0.216 0.22736 +0.216 0.000926667 0.000926667 0.000953333 0.00096 0.000966667 0.000953333 0.000966667 +0.000973333 0.00096 0.00096 0.00094 0.00092 0.00094 0.00094 0.00096 +0.000973333 0.000993333 0.219787 0.00096 0.000966667 0.000953333 0.00094 0.000913333 +0.000893333 0.0009 0.00092 0.00092 0.000933333 0.000973333 0.000953333 0.00098 +0.000993333 0.000986667 0.000946667 0.000953333 0.00098 0.000966667 0.000966667 0.00098 +0.000986667 0.00096 0.00094 0.000966667 0.000966667 0.000933333 0.000973333 0.00098 +0.217893 0.000993333 0.216 0.216 0.000986667 0.000993333 0.000986667 0.216 +0.22168 0.216 0.219787 0.22736 0.22168 0.225467 0.223573 0.22168 +0.219787 0.22168 0.219787 0.22736 0.225467 0.225467 0.223573 0.223573 +0.231147 0.234933 0.236827 0.231147 0.23872 0.246293 0.257653 0.263333 +0.276587 0.28416 0.287947 0.304987 0.327707 0.361787 0.399653 0.47728 +0.530947 0.583368 0.645895 0.706526 0.763368 0.810737 0.851789 0.892211 +0.944 0.986531 1.00416 1.01233 1.00482 0.977474 0.900421 0.810737 +0.717895 0.642105 0.580211 0.522737 0.43184 0.358 0.333387 0.320133 +0.293627 0.282267 0.282267 0.27848 0.27848 0.28416 0.274693 0.270907 +0.276587 0.282267 0.28984 0.3012 0.3012 0.31256 0.33528 0.373147 +0.484853 0.565053 0.679368 0.837263 0.000926667 0.223573 0.253867 0.28416 +0.39776 0.56 0.726105 0.931368 1.02571 1.01396 0.898526 0.727368 +0.597895 0.517053 0.411013 0.339067 0.30688 0.3012 0.28984 0.269013 +0.263333 0.259547 0.263333 0.26144 0.263333 0.259547 0.251973 0.257653 +0.259547 0.263333 0.263333 0.263333 0.265227 0.274693 0.282267 0.30688 +0.33528 0.399653 0.503158 0.552421 0.620632 0.714105 0.813263 0.906737 +0.982939 1.01755 1.04531 1.05837 1.0538 1.03192 0.996327 0.921895 +0.827158 0.736842 0.661053 0.601053 0.558105 0.524 0.490533 0.43184 +0.376933 0.344747 0.31824 0.299307 0.282267 0.265227 0.259547 0.25008 +0.246293 0.23872 0.236827 0.22736 0.231147 0.23304 0.22168 0.216 +0.216 0.000993333 0.00098 0.000993333 0.216 0.000993333 0.000986667 0.217893 +0.216 0.000986667 0.217893 0.217893 0.00098 0.000993333 0.000993333 0.000986667 +0.000993333 0.00098 0.000993333 0.223573 0.217893 0.00096 0.000953333 0.00096 +0.000966667 0.000986667 0.00098 0.000993333 0.000993333 0.000946667 0.000933333 0.000953333 +0.000946667 0.000933333 0.00092 0.000933333 0.000926667 0.000913333 0.00094 0.00094 +0.000913333 0.00094 0.00096 0.00094 0.000933333 0.0009 0.000873333 0.000926667 +0.000946667 0.000933333 0.000946667 0.000933333 0.000926667 0.00096 0.00098 0.00096 +0.000973333 0.216 0.000973333 0.000933333 0.000946667 0.000966667 0.00092 0.000906667 +0.00096 0.000953333 0.000946667 0.00098 0.00098 0.000953333 0.000953333 0.000933333 +0.00092 0.00094 0.000906667 0.000913333 0.000973333 0.000986667 0.000993333 0.217893 +0.217893 0.00098 0.00098 0.000986667 0.223573 0.22736 0.234933 0.240613 +0.23304 0.225467 0.234933 0.248187 0.25576 0.265227 0.276587 0.28416 +0.303093 0.348533 0.441307 0.530316 0.597895 0.677474 0.751368 0.804421 +0.829684 0.823368 0.8 0.771579 0.740632 0.713474 0.693263 0.684421 +0.683789 0.685684 0.683789 0.681263 0.677474 0.678105 0.674316 0.669263 +0.674316 0.674947 0.665474 0.659158 0.662316 0.65979 0.653474 0.650316 +0.639579 0.627579 0.622526 0.624421 0.625053 0.621895 0.618737 0.615579 +0.62 0.616842 0.615579 0.624421 0.633895 0.631368 0.633263 0.651579 +0.65979 0.657263 0.667368 0.683158 0.682526 0.685053 0.700842 0.716632 +0.722947 0.726737 0.715368 0.705895 0.718526 0.733684 0.742526 0.738105 +0.744421 0.757053 0.755789 0.753263 0.760842 0.771579 0.784211 0.784211 +0.770316 0.769684 0.774737 0.785474 0.790526 0.791789 0.801263 0.815158 +0.817684 0.813263 0.820842 0.835368 0.839158 0.824 0.793053 0.733053 +0.65979 0.597263 0.563789 0.571368 0.611789 0.647789 0.663579 0.668 +0.676211 0.681895 0.679368 0.670526 0.666737 0.674316 0.682526 0.683789 +0.690105 0.697053 0.698316 0.700211 0.700211 0.697053 0.691368 0.688211 +0.690737 0.688842 0.681263 0.677474 0.671789 0.669895 0.670526 0.671789 +0.672421 0.673684 0.672421 0.675579 0.676842 0.673684 0.667368 0.665474 +0.664842 0.664842 0.654105 0.647789 0.645263 0.635789 0.626947 0.624421 +0.628211 0.628842 0.630105 0.633895 0.643368 0.651579 0.658526 0.660421 +0.667368 0.666737 0.670526 0.674316 0.677474 0.680632 0.677474 0.679368 +0.676842 0.674947 0.681263 0.686947 0.686947 0.686947 0.682526 0.681895 +0.682526 0.686947 0.694526 0.695158 0.688842 0.685684 0.685053 0.687579 +0.689474 0.693263 0.698316 0.707158 0.717895 0.731789 0.746947 0.767789 +0.789263 0.814526 0.839789 0.852421 0.847368 0.820842 0.770947 0.703368 +0.629474 0.564421 0.510737 0.407227 0.35232 0.303093 0.2728 0.2728 +0.2444 0.234933 0.240613 0.240613 0.229253 0.219787 0.231147 0.231147 +0.231147 0.236827 0.23304 0.219787 0.000993333 0.000993333 0.219787 0.236827 +0.225467 0.000966667 0.00094 0.00096 0.000966667 0.000986667 0.216 0.00098 +0.000993333 0.000986667 0.000966667 0.000946667 0.000953333 0.000953333 0.000946667 0.00096 +0.000946667 0.000973333 0.219787 0.219787 0.217893 0.000973333 0.000966667 0.000973333 +0.00098 0.00094 0.000946667 0.000926667 0.000926667 0.000953333 0.000953333 0.00096 +0.000966667 0.000986667 0.000966667 0.000986667 0.216 0.000973333 0.000966667 0.000986667 +0.216 0.000993333 0.000993333 0.216 0.000986667 0.000953333 0.00096 0.00096 +0.00096 0.000973333 0.216 0.000993333 0.000986667 0.216 0.000986667 0.000993333 +0.217893 0.216 0.22168 0.229253 0.22736 0.22168 0.223573 0.229253 +0.225467 0.22168 0.229253 0.234933 0.234933 0.240613 0.242507 0.2444 +0.248187 0.248187 0.251973 0.257653 0.259547 0.26144 0.282267 0.293627 +0.304987 0.3296 0.358 0.411013 0.48864 0.534105 0.575789 0.628842 +0.689474 0.745684 0.8 0.846737 0.891579 0.939579 0.98098 0.999592 +1.01037 1.00645 0.98849 0.937684 0.851789 0.751368 0.656632 0.581474 +0.525263 0.467813 0.39208 0.327707 0.29552 0.287947 0.287947 0.287947 +0.276587 0.274693 0.276587 0.276587 0.274693 0.270907 0.269013 0.274693 +0.282267 0.28416 0.293627 0.297413 0.308773 0.342853 0.390187 0.501895 +0.580842 0.700211 0.852421 0.990776 0.000873333 0.000933333 0.00098 0.23872 +0.274693 0.39776 0.576421 0.770316 0.976211 1.03127 1.01069 0.902947 +0.745053 0.605474 0.508842 0.388293 0.33528 0.308773 0.29552 0.27848 +0.270907 0.276587 0.2728 0.269013 0.265227 0.25576 0.257653 0.253867 +0.25576 0.259547 0.253867 0.251973 0.259547 0.26144 0.253867 0.26144 +0.265227 0.2728 0.291733 0.33528 0.411013 0.516421 0.578316 0.650947 +0.733053 0.818947 0.909263 0.98849 1.02376 1.04824 1.05771 1.0489 +1.02473 0.986857 0.902316 0.808211 0.723579 0.649684 0.594737 0.554316 +0.522105 0.498107 0.439413 0.388293 0.34664 0.314453 0.29552 0.28416 +0.270907 0.257653 0.251973 0.242507 0.246293 0.2444 0.240613 0.234933 +0.234933 0.236827 0.23304 0.23304 0.234933 0.231147 0.22736 0.225467 +0.229253 0.22168 0.223573 0.225467 0.219787 0.219787 0.000993333 0.00096 +0.00098 0.000993333 0.000986667 0.000993333 0.00098 0.000953333 0.000926667 0.000953333 +0.216 0.216 0.000993333 0.000973333 0.000946667 0.00092 0.000913333 0.000946667 +0.00094 0.000953333 0.000946667 0.000906667 0.0009 0.000913333 0.00092 0.00094 +0.000913333 0.000926667 0.00094 0.000893333 0.000873333 0.000893333 0.000933333 0.00096 +0.000946667 0.000946667 0.000953333 0.000946667 0.000953333 0.000953333 0.000933333 0.000946667 +0.00098 0.000953333 0.000913333 0.000906667 0.00094 0.000953333 0.00094 0.000906667 +0.000946667 0.000973333 0.000966667 0.000946667 0.000926667 0.000933333 0.00092 0.00092 +0.000946667 0.000966667 0.000913333 0.000913333 0.000993333 0.216 0.000993333 0.22168 +0.219787 0.000953333 0.000953333 0.219787 0.225467 0.219787 0.229253 0.22736 +0.219787 0.225467 0.23872 0.242507 0.246293 0.242507 0.251973 0.259547 +0.263333 0.282267 0.30688 0.316347 0.358 0.464027 0.544211 0.612421 +0.685684 0.751368 0.803789 0.834737 0.832211 0.804421 0.769053 0.743158 +0.723579 0.708421 0.697684 0.688211 0.686316 0.685053 0.679368 0.678105 +0.68 0.676842 0.668 0.664842 0.668 0.664842 0.66421 0.666737 +0.664842 0.666105 0.668632 0.668632 0.664842 0.665474 0.659158 0.656632 +0.654105 0.640842 0.632632 0.632632 0.633895 0.626947 0.620632 0.620632 +0.614947 0.609263 0.611158 0.609895 0.601684 0.604842 0.614316 0.616842 +0.618737 0.623158 0.612421 0.602316 0.605474 0.609895 0.611789 0.604842 +0.606737 0.610526 0.609895 0.616842 0.621895 0.62 0.626947 0.622526 +0.612421 0.613684 0.618105 0.626316 0.629474 0.627579 0.632 0.642105 +0.638947 0.633263 0.640842 0.651579 0.651579 0.640842 0.625053 0.596632 +0.574526 0.577684 0.599158 0.629474 0.650947 0.659158 0.662947 0.666737 +0.676211 0.683789 0.675579 0.652211 0.655368 0.691368 0.733053 0.758316 +0.774105 0.782947 0.779158 0.773474 0.764632 0.752 0.736211 0.727368 +0.714737 0.696421 0.671789 0.652842 0.638316 0.629474 0.623789 0.624421 +0.623158 0.633263 0.647789 0.657895 0.661684 0.670526 0.677474 0.681895 +0.681263 0.682526 0.675579 0.673053 0.676211 0.674316 0.673684 0.679368 +0.688211 0.688211 0.681895 0.678105 0.679368 0.682526 0.683789 0.681263 +0.683789 0.682526 0.681895 0.688211 0.690737 0.691368 0.685684 0.681263 +0.680632 0.681263 0.685684 0.690737 0.693263 0.693895 0.690737 0.690105 +0.690737 0.690105 0.697684 0.704632 0.705263 0.707789 0.716632 0.726737 +0.743158 0.757053 0.773474 0.795579 0.817684 0.831579 0.843579 0.851158 +0.844211 0.820842 0.777263 0.718526 0.655368 0.588421 0.527158 0.462133 +0.382613 0.32392 0.293627 0.27848 0.269013 0.270907 0.26712 0.259547 +0.248187 0.240613 0.23304 0.225467 0.225467 0.225467 0.225467 0.22736 +0.23304 0.236827 0.225467 0.00096 0.000993333 0.22168 0.219787 0.22736 +0.231147 0.231147 0.000993333 0.00098 0.00098 0.216 0.000993333 0.000953333 +0.00096 0.00098 0.00098 0.00098 0.00098 0.000966667 0.000973333 0.00096 +0.00096 0.000953333 0.000966667 0.000986667 0.000986667 0.000993333 0.000966667 0.000953333 +0.00098 0.00096 0.000953333 0.00094 0.00096 0.000953333 0.000933333 0.00094 +0.000973333 0.00096 0.00094 0.000993333 0.22168 0.000966667 0.000966667 0.216 +0.22168 0.217893 0.217893 0.000993333 0.000993333 0.217893 0.219787 0.22168 +0.219787 0.00098 0.219787 0.217893 0.216 0.223573 0.22168 0.216 +0.000993333 0.000986667 0.219787 0.22736 0.225467 0.22736 0.219787 0.219787 +0.22736 0.225467 0.234933 0.23872 0.240613 0.2444 0.251973 0.25576 +0.263333 0.26712 0.280373 0.286053 0.287947 0.297413 0.32392 0.348533 +0.384507 0.462133 0.526526 0.575789 0.627579 0.683789 0.739368 0.789263 +0.838526 0.885895 0.932632 0.976211 0.998286 1.012 1.01037 0.992082 +0.938947 0.857474 0.774737 0.695158 0.613053 0.543579 0.48296 0.39208 +0.33528 0.30688 0.291733 0.2728 0.270907 0.276587 0.27848 0.282267 +0.274693 0.270907 0.276587 0.27848 0.276587 0.2728 0.2728 0.270907 +0.28416 0.297413 0.304987 0.30688 0.3296 0.388293 0.505053 0.588421 +0.717895 0.876421 0.998286 1.0231 0.000866667 0.000833333 0.000873333 0.000966667 +0.23304 0.282267 0.475387 0.638947 0.832211 0.989143 1.03257 1.01527 +0.919368 0.746316 0.596 0.510105 0.411013 0.344747 0.314453 0.3012 +0.286053 0.28416 0.276587 0.27848 0.274693 0.257653 0.263333 0.259547 +0.251973 0.246293 0.25008 0.25576 0.25576 0.25008 0.2444 0.248187 +0.25008 0.246293 0.246293 0.253867 0.276587 0.314453 0.378827 0.458347 +0.525263 0.578947 0.648421 0.739368 0.833474 0.930737 0.997959 1.02865 +1.04955 1.05608 1.04498 1.01657 0.976842 0.889684 0.800632 0.717895 +0.648421 0.596632 0.553053 0.521474 0.49432 0.439413 0.384507 0.342853 +0.320133 0.297413 0.28416 0.276587 0.2728 0.265227 0.26144 0.25576 +0.25576 0.26144 0.246293 0.236827 0.236827 0.23304 0.22736 0.231147 +0.23872 0.229253 0.22168 0.231147 0.22168 0.219787 0.217893 0.000993333 +0.217893 0.217893 0.00098 0.00098 0.000986667 0.000973333 0.000953333 0.000973333 +0.00098 0.000993333 0.000993333 0.000953333 0.00094 0.000926667 0.0009 0.00092 +0.000946667 0.000946667 0.000933333 0.000873333 0.000886667 0.000893333 0.000906667 0.00092 +0.000906667 0.00088 0.000906667 0.0009 0.000893333 0.000933333 0.000953333 0.000946667 +0.000946667 0.000926667 0.00092 0.000926667 0.000913333 0.000893333 0.000906667 0.000933333 +0.000933333 0.000886667 0.0009 0.00092 0.000933333 0.000926667 0.000933333 0.000913333 +0.000906667 0.000933333 0.000933333 0.0009 0.000893333 0.000933333 0.000933333 0.000933333 +0.000966667 0.216 0.00098 0.000933333 0.000953333 0.000973333 0.000966667 0.000986667 +0.00098 0.000953333 0.000993333 0.229253 0.22168 0.216 0.225467 0.223573 +0.22168 0.229253 0.23304 0.23872 0.234933 0.234933 0.242507 0.25008 +0.248187 0.259547 0.26144 0.26144 0.276587 0.29552 0.331493 0.390187 +0.469707 0.536632 0.604842 0.676842 0.741263 0.791789 0.820842 0.834737 +0.830316 0.804421 0.766526 0.735579 0.719158 0.703368 0.693895 0.690737 +0.688211 0.685053 0.678737 0.676842 0.674316 0.670526 0.673684 0.673684 +0.669263 0.671158 0.676842 0.673684 0.668 0.674947 0.672421 0.676842 +0.676842 0.671158 0.671789 0.673684 0.674947 0.668 0.666105 0.664842 +0.661053 0.655368 0.656 0.653474 0.648421 0.649684 0.651579 0.649053 +0.650947 0.653474 0.642737 0.635158 0.634526 0.636421 0.634526 0.628211 +0.627579 0.626947 0.628211 0.637684 0.636421 0.633263 0.637053 0.628842 +0.623158 0.625684 0.625684 0.628211 0.633263 0.631368 0.628842 0.628842 +0.625053 0.623789 0.628842 0.628842 0.623789 0.620632 0.621895 0.621895 +0.626947 0.639579 0.651579 0.657895 0.657263 0.655368 0.649053 0.650316 +0.663579 0.663579 0.631368 0.616842 0.68 0.748842 0.772842 0.762105 +0.753895 0.755789 0.764 0.780421 0.796842 0.800632 0.806947 0.817053 +0.810105 0.777895 0.721053 0.662947 0.62 0.589684 0.570105 0.564421 +0.546105 0.541684 0.564421 0.587789 0.609895 0.635158 0.653474 0.669263 +0.679368 0.686316 0.679368 0.677474 0.681895 0.683158 0.683158 0.685053 +0.692 0.692 0.691368 0.688211 0.688211 0.690105 0.690737 0.685684 +0.689474 0.688842 0.681895 0.685684 0.689474 0.690737 0.688842 0.688842 +0.692 0.690737 0.690105 0.698316 0.709053 0.712842 0.717263 0.726737 +0.736211 0.741263 0.757053 0.776632 0.794316 0.809474 0.823368 0.833474 +0.845474 0.850526 0.848 0.845474 0.824632 0.790526 0.750105 0.701474 +0.646526 0.584 0.524 0.445093 0.367467 0.314453 0.282267 0.27848 +0.276587 0.265227 0.269013 0.26144 0.236827 0.25008 0.251973 0.242507 +0.248187 0.236827 0.231147 0.236827 0.242507 0.248187 0.236827 0.22736 +0.234933 0.236827 0.231147 0.219787 0.22168 0.219787 0.219787 0.000993333 +0.22168 0.229253 0.216 0.00098 0.216 0.219787 0.216 0.000973333 +0.000973333 0.000993333 0.217893 0.22168 0.000973333 0.00094 0.000953333 0.00094 +0.000973333 0.00096 0.000926667 0.000933333 0.000933333 0.000946667 0.000953333 0.000946667 +0.000953333 0.000953333 0.00096 0.000973333 0.217893 0.000973333 0.000966667 0.00094 +0.00094 0.00094 0.00094 0.000986667 0.000993333 0.000966667 0.000946667 0.000993333 +0.22168 0.22168 0.219787 0.000973333 0.000966667 0.000993333 0.219787 0.223573 +0.225467 0.217893 0.216 0.000986667 0.216 0.225467 0.225467 0.225467 +0.231147 0.225467 0.225467 0.23304 0.229253 0.236827 0.23304 0.229253 +0.231147 0.23872 0.251973 0.253867 0.253867 0.25008 0.257653 0.270907 +0.280373 0.287947 0.30688 0.32392 0.34096 0.371253 0.43752 0.510737 +0.557474 0.616842 0.676842 0.734316 0.782947 0.831579 0.880211 0.926316 +0.973053 0.997959 1.01167 1.01363 1.00351 0.98 0.901053 0.800632 +0.698316 0.616842 0.558105 0.513263 0.429947 0.350427 0.303093 0.286053 +0.27848 0.26144 0.259547 0.26712 0.270907 0.269013 0.270907 0.280373 +0.28416 0.2728 0.2728 0.276587 0.282267 0.282267 0.280373 0.28416 +0.29552 0.310667 0.316347 0.333387 0.382613 0.492427 0.584632 0.724842 +0.891579 1.00482 1.0218 0.959789 0.00084 0.000806667 0.000833333 0.000866667 +0.000946667 0.240613 0.339067 0.536 0.684421 0.850526 0.991102 1.03486 +1.02049 0.918105 0.737474 0.600421 0.518316 0.411013 0.339067 0.308773 +0.293627 0.28416 0.280373 0.282267 0.263333 0.253867 0.26144 0.257653 +0.251973 0.25008 0.253867 0.257653 0.251973 0.25576 0.263333 0.253867 +0.246293 0.23872 0.240613 0.236827 0.253867 0.263333 0.2728 0.293627 +0.3296 0.38072 0.458347 0.530947 0.592211 0.673684 0.764 0.853684 +0.944 1.0058 1.03518 1.04857 1.05216 1.04106 1.01559 0.971158 +0.884632 0.796842 0.714105 0.645895 0.596632 0.555579 0.523368 0.49432 +0.435627 0.382613 0.348533 0.327707 0.31256 0.29552 0.286053 0.280373 +0.276587 0.270907 0.259547 0.25008 0.246293 0.2444 0.240613 0.246293 +0.242507 0.229253 0.22736 0.225467 0.22168 0.00098 0.216 0.217893 +0.000986667 0.216 0.217893 0.00098 0.000986667 0.00098 0.000973333 0.00096 +0.000953333 0.000966667 0.000973333 0.000946667 0.000913333 0.00094 0.000906667 0.000906667 +0.00094 0.000933333 0.000913333 0.000893333 0.000886667 0.000906667 0.0009 0.000893333 +0.000906667 0.000913333 0.00094 0.000926667 0.000913333 0.000913333 0.0009 0.000906667 +0.000946667 0.00092 0.0009 0.00088 0.000866667 0.000853333 0.000886667 0.000906667 +0.000913333 0.0009 0.000926667 0.000926667 0.000926667 0.000913333 0.0009 0.000893333 +0.000873333 0.000906667 0.000906667 0.000893333 0.00094 0.00096 0.00096 0.000946667 +0.00096 0.000953333 0.000946667 0.00094 0.000926667 0.000946667 0.00096 0.000966667 +0.000946667 0.00096 0.219787 0.000973333 0.00094 0.00098 0.216 0.000986667 +0.22168 0.223573 0.219787 0.234933 0.234933 0.231147 0.236827 0.236827 +0.248187 0.25576 0.2444 0.2444 0.257653 0.270907 0.27848 0.291733 +0.299307 0.331493 0.393973 0.458347 0.524632 0.579579 0.641474 0.709053 +0.771579 0.813263 0.830316 0.834105 0.823368 0.801895 0.777263 0.747579 +0.726737 0.716632 0.704632 0.696421 0.690737 0.686316 0.686316 0.682526 +0.680632 0.680632 0.678737 0.673684 0.672421 0.673684 0.674947 0.678737 +0.675579 0.676211 0.675579 0.678737 0.679368 0.678105 0.679368 0.68 +0.682526 0.68 0.676842 0.673684 0.673053 0.675579 0.675579 0.673053 +0.678105 0.678105 0.669263 0.668632 0.671789 0.674947 0.669895 0.664842 +0.666105 0.666105 0.666737 0.673053 0.671789 0.671158 0.674316 0.665474 +0.662947 0.666737 0.667368 0.671158 0.676211 0.674316 0.671789 0.669263 +0.668 0.671158 0.675579 0.673053 0.665474 0.661684 0.662316 0.664842 +0.667368 0.670526 0.666105 0.659158 0.646526 0.62 0.589684 0.601053 +0.631368 0.609895 0.568211 0.630737 0.717895 0.690105 0.614316 0.552421 +0.528421 0.532211 0.549895 0.575158 0.610526 0.654105 0.724211 0.812 +0.882737 0.918737 0.892211 0.807579 0.711579 0.635789 0.591579 0.576421 +0.537895 0.484853 0.473493 0.511368 0.543579 0.582105 0.614316 0.643368 +0.664842 0.679368 0.678737 0.680632 0.688842 0.688842 0.688842 0.688842 +0.693263 0.693263 0.693263 0.693263 0.695158 0.698316 0.698316 0.697053 +0.700842 0.698947 0.690737 0.692632 0.697684 0.702737 0.707158 0.715368 +0.726105 0.735579 0.748211 0.765263 0.786737 0.805053 0.823368 0.838526 +0.847368 0.849895 0.849895 0.849895 0.845474 0.836 0.814526 0.782316 +0.749474 0.719789 0.680632 0.640842 0.595368 0.546737 0.503789 0.405333 +0.333387 0.274693 0.253867 0.25576 0.2728 0.27848 0.26144 0.25008 +0.246293 0.253867 0.265227 0.257653 0.240613 0.246293 0.248187 0.23872 +0.236827 0.22168 0.225467 0.246293 0.251973 0.2444 0.225467 0.223573 +0.231147 0.223573 0.225467 0.234933 0.22736 0.00098 0.22168 0.000993333 +0.216 0.223573 0.000986667 0.000946667 0.000966667 0.000993333 0.00098 0.000973333 +0.00098 0.000973333 0.000993333 0.216 0.000953333 0.00094 0.00094 0.000946667 +0.000973333 0.00094 0.000913333 0.000926667 0.000933333 0.000913333 0.000926667 0.000946667 +0.00094 0.000953333 0.000946667 0.00096 0.217893 0.000986667 0.000973333 0.00098 +0.000946667 0.00092 0.000953333 0.219787 0.000993333 0.00096 0.000986667 0.000993333 +0.000986667 0.216 0.217893 0.216 0.00098 0.000986667 0.000993333 0.000986667 +0.22168 0.225467 0.216 0.000986667 0.219787 0.22168 0.219787 0.22168 +0.23872 0.23872 0.23872 0.240613 0.240613 0.240613 0.2444 0.251973 +0.253867 0.263333 0.27848 0.280373 0.280373 0.282267 0.291733 0.310667 +0.32392 0.34664 0.390187 0.446987 0.509474 0.551789 0.606737 0.666737 +0.728632 0.786737 0.835368 0.881474 0.921895 0.966737 0.994694 1.00971 +1.01527 1.00808 0.985224 0.914316 0.833474 0.753895 0.664842 0.581474 +0.513895 0.43184 0.373147 0.331493 0.297413 0.286053 0.270907 0.263333 +0.263333 0.25008 0.251973 0.269013 0.270907 0.263333 0.270907 0.27848 +0.282267 0.274693 0.263333 0.269013 0.27848 0.280373 0.287947 0.304987 +0.31824 0.327707 0.342853 0.393973 0.503158 0.575789 0.712211 0.891579 +1.01167 1.02996 0.962316 0.770316 0.00082 0.00082 0.00082 0.000833333 +0.000866667 0.000986667 0.269013 0.3864 0.549895 0.685684 0.846737 0.990122 +1.03486 1.01722 0.916842 0.753263 0.614316 0.518947 0.39776 0.333387 +0.30688 0.291733 0.286053 0.280373 0.26712 0.269013 0.26712 0.257653 +0.263333 0.253867 0.25008 0.257653 0.25576 0.257653 0.265227 0.25576 +0.2444 0.246293 0.246293 0.240613 0.246293 0.253867 0.259547 0.274693 +0.286053 0.29552 0.308773 0.33528 0.393973 0.484853 0.540421 0.59979 +0.683789 0.786105 0.877053 0.952842 1.00286 1.0342 1.05282 1.05347 +1.03976 1.01298 0.968632 0.882105 0.798105 0.716632 0.647789 0.594737 +0.556211 0.524632 0.5 0.4432 0.395867 0.36368 0.339067 0.320133 +0.304987 0.28984 0.27848 0.265227 0.263333 0.26144 0.25576 0.253867 +0.2444 0.234933 0.22736 0.231147 0.219787 0.000973333 0.000986667 0.217893 +0.219787 0.22736 0.217893 0.219787 0.000993333 0.000973333 0.000993333 0.219787 +0.00098 0.000973333 0.00098 0.00092 0.000913333 0.00094 0.000926667 0.00094 +0.00096 0.000953333 0.000926667 0.000906667 0.0009 0.000926667 0.000933333 0.000906667 +0.000933333 0.00094 0.00092 0.000906667 0.000893333 0.000886667 0.000873333 0.000893333 +0.000926667 0.000913333 0.0009 0.000873333 0.000866667 0.000866667 0.0009 0.000926667 +0.000953333 0.00092 0.000906667 0.000926667 0.000906667 0.0009 0.000886667 0.000906667 +0.000926667 0.000926667 0.000946667 0.000946667 0.00094 0.000933333 0.000946667 0.000926667 +0.000893333 0.00088 0.00092 0.000953333 0.000913333 0.000886667 0.000946667 0.000926667 +0.000906667 0.00094 0.000946667 0.000893333 0.000913333 0.000986667 0.000966667 0.000953333 +0.000986667 0.22168 0.223573 0.229253 0.229253 0.219787 0.22168 0.225467 +0.231147 0.240613 0.236827 0.23872 0.253867 0.26712 0.263333 0.263333 +0.2728 0.291733 0.291733 0.28416 0.293627 0.337173 0.401547 0.5 +0.539789 0.591579 0.657263 0.724842 0.780421 0.822737 0.847368 0.845474 +0.836632 0.824 0.798105 0.773474 0.753263 0.737474 0.724842 0.710316 +0.704 0.699579 0.690105 0.685684 0.687579 0.680632 0.682526 0.682526 +0.680632 0.683158 0.68 0.683158 0.683158 0.682526 0.680632 0.680632 +0.685684 0.686316 0.682526 0.679368 0.676211 0.68 0.680632 0.678105 +0.684421 0.682526 0.676842 0.680632 0.683789 0.683789 0.679368 0.674316 +0.675579 0.677474 0.678737 0.684421 0.684421 0.68 0.677474 0.670526 +0.671789 0.677474 0.676842 0.681895 0.688211 0.685053 0.683789 0.681263 +0.681895 0.683789 0.688211 0.683158 0.674947 0.671789 0.668 0.667368 +0.66421 0.665474 0.652842 0.625684 0.581474 0.527789 0.503158 0.549263 +0.608632 0.592842 0.598526 0.692632 0.662316 0.524 0.36368 0.274693 +0.257653 0.287947 0.314453 0.384507 0.529684 0.617474 0.706526 0.770316 +0.823368 0.894737 0.960421 0.964211 0.885895 0.776632 0.692632 0.656 +0.622526 0.582737 0.562526 0.564421 0.580211 0.602947 0.620632 0.637053 +0.654105 0.672421 0.68 0.690105 0.700211 0.702105 0.700211 0.702105 +0.710316 0.712842 0.711579 0.709053 0.712211 0.717895 0.722947 0.726737 +0.729263 0.734947 0.741895 0.752632 0.765895 0.782947 0.796842 0.811368 +0.827789 0.841684 0.852421 0.853053 0.846737 0.831579 0.816421 0.794316 +0.764632 0.734316 0.700842 0.672421 0.645263 0.614316 0.580842 0.544211 +0.516421 0.492427 0.40912 0.337173 0.276587 0.225467 0.000986667 0.22168 +0.246293 0.265227 0.2728 0.2728 0.2728 0.274693 0.253867 0.2444 +0.248187 0.26144 0.259547 0.251973 0.2444 0.248187 0.248187 0.240613 +0.23304 0.217893 0.216 0.229253 0.236827 0.23304 0.219787 0.219787 +0.22736 0.216 0.000993333 0.231147 0.22736 0.000986667 0.216 0.217893 +0.216 0.000986667 0.00098 0.000933333 0.000933333 0.000953333 0.000973333 0.000973333 +0.000946667 0.00094 0.000933333 0.000946667 0.000973333 0.000953333 0.000953333 0.000973333 +0.000953333 0.00094 0.000946667 0.000973333 0.000966667 0.000946667 0.000946667 0.000953333 +0.000946667 0.00096 0.000953333 0.00096 0.000986667 0.219787 0.000993333 0.000986667 +0.00098 0.000946667 0.00094 0.00098 0.00098 0.000993333 0.217893 0.216 +0.217893 0.22168 0.216 0.219787 0.217893 0.217893 0.223573 0.219787 +0.000993333 0.223573 0.229253 0.223573 0.231147 0.223573 0.219787 0.225467 +0.234933 0.2444 0.251973 0.248187 0.251973 0.26144 0.26144 0.263333 +0.26712 0.282267 0.3012 0.303093 0.310667 0.327707 0.350427 0.388293 +0.44888 0.515158 0.561263 0.613053 0.671158 0.732421 0.793684 0.848632 +0.892211 0.932632 0.971789 0.995673 1.00678 1.00939 1.0022 0.983265 +0.927579 0.854316 0.765895 0.672421 0.597895 0.547368 0.500632 0.393973 +0.333387 0.3012 0.297413 0.280373 0.265227 0.26144 0.26144 0.259547 +0.25008 0.242507 0.2444 0.263333 0.26712 0.263333 0.2728 0.280373 +0.27848 0.27848 0.274693 0.276587 0.27848 0.282267 0.29552 0.308773 +0.3296 0.354213 0.39776 0.504421 0.585895 0.712211 0.884632 1.01331 +1.04106 0.989469 0.798737 0.610526 0.000826667 0.00084 0.000853333 0.00086 +0.00086 0.0009 0.216 0.26712 0.384507 0.546737 0.681895 0.842316 +0.986204 1.03159 1.0218 0.938316 0.769684 0.616842 0.520211 0.412907 +0.344747 0.316347 0.299307 0.29552 0.287947 0.282267 0.265227 0.257653 +0.26144 0.25008 0.248187 0.253867 0.259547 0.25576 0.257653 0.253867 +0.248187 0.248187 0.248187 0.2444 0.248187 0.25576 0.25576 0.265227 +0.26712 0.265227 0.269013 0.269013 0.280373 0.3012 0.339067 0.39208 +0.503789 0.561263 0.621895 0.690105 0.770316 0.865684 0.962947 1.00939 +1.0378 1.05314 1.0538 1.03845 1.01135 0.969895 0.885895 0.798737 +0.721053 0.653474 0.598526 0.556842 0.527789 0.506316 0.458347 0.40344 +0.359893 0.331493 0.30688 0.286053 0.286053 0.280373 0.26712 0.25576 +0.246293 0.234933 0.236827 0.236827 0.23304 0.234933 0.240613 0.236827 +0.23304 0.22736 0.225467 0.223573 0.216 0.217893 0.22168 0.216 +0.000973333 0.000966667 0.000953333 0.00094 0.000953333 0.00098 0.00098 0.00096 +0.000966667 0.000966667 0.00092 0.000913333 0.000966667 0.000973333 0.000966667 0.00092 +0.000933333 0.00092 0.000906667 0.00092 0.000926667 0.000906667 0.000926667 0.000913333 +0.00092 0.00096 0.000906667 0.00086 0.00088 0.000926667 0.00096 0.00096 +0.000946667 0.00094 0.000906667 0.00092 0.00092 0.000893333 0.000893333 0.000926667 +0.000933333 0.0009 0.000913333 0.000933333 0.000906667 0.0009 0.000926667 0.000933333 +0.000893333 0.000913333 0.000973333 0.000966667 0.000906667 0.000873333 0.0009 0.000906667 +0.0009 0.000906667 0.000893333 0.00088 0.000933333 0.000926667 0.00092 0.000953333 +0.000973333 0.000986667 0.216 0.000993333 0.00098 0.00098 0.000986667 0.216 +0.00098 0.000993333 0.22736 0.240613 0.246293 0.23872 0.231147 0.229253 +0.240613 0.246293 0.242507 0.242507 0.25008 0.265227 0.282267 0.3012 +0.29552 0.31824 0.39208 0.492427 0.539158 0.596 0.657263 0.716632 +0.770947 0.811368 0.836 0.848 0.853053 0.849263 0.839158 0.820842 +0.803158 0.787368 0.769684 0.755789 0.743789 0.727368 0.721053 0.712211 +0.704 0.700211 0.697684 0.699579 0.695158 0.688842 0.687579 0.690105 +0.693263 0.693263 0.691368 0.689474 0.683158 0.685053 0.683789 0.684421 +0.689474 0.687579 0.690737 0.694526 0.689474 0.687579 0.686316 0.680632 +0.68 0.685684 0.687579 0.688842 0.685684 0.681895 0.68 0.676211 +0.678737 0.683158 0.681895 0.688842 0.695789 0.691368 0.686947 0.682526 +0.683158 0.684421 0.688211 0.683158 0.674947 0.673684 0.669263 0.659158 +0.641474 0.620632 0.586526 0.536632 0.44888 0.342853 0.331493 0.500632 +0.586526 0.629474 0.689474 0.730526 0.587158 0.348533 0.28416 0.259547 +0.26144 0.31256 0.4432 0.571368 0.670526 0.701474 0.676211 0.625684 +0.601053 0.635158 0.738737 0.875789 0.911789 0.859368 0.808842 0.769053 +0.732421 0.707158 0.688842 0.674316 0.673053 0.678737 0.683789 0.695158 +0.716 0.737474 0.748842 0.763368 0.780421 0.784842 0.785474 0.790526 +0.798105 0.801263 0.798737 0.798737 0.804421 0.812632 0.822737 0.830947 +0.834737 0.839158 0.846737 0.847368 0.847368 0.848632 0.837895 0.819579 +0.8 0.771579 0.739368 0.698947 0.657263 0.618105 0.582105 0.553684 +0.525263 0.501263 0.45456 0.412907 0.373147 0.344747 0.32392 0.29552 +0.263333 0.23872 0.00096 0.000913333 0.000953333 0.216 0.236827 0.2444 +0.257653 0.2728 0.270907 0.270907 0.263333 0.269013 0.253867 0.251973 +0.253867 0.25008 0.246293 0.248187 0.2444 0.246293 0.246293 0.23872 +0.236827 0.23304 0.23304 0.231147 0.231147 0.23304 0.225467 0.219787 +0.231147 0.229253 0.217893 0.223573 0.22736 0.000993333 0.000973333 0.216 +0.000993333 0.00096 0.000966667 0.00098 0.00094 0.000953333 0.217893 0.000973333 +0.000953333 0.000973333 0.00096 0.000953333 0.000966667 0.000953333 0.00096 0.000986667 +0.00094 0.000926667 0.00096 0.000986667 0.216 0.000966667 0.000966667 0.00098 +0.219787 0.000986667 0.000953333 0.000973333 0.000993333 0.225467 0.22168 0.000993333 +0.000986667 0.000986667 0.000993333 0.000986667 0.000986667 0.216 0.225467 0.217893 +0.216 0.22168 0.216 0.216 0.219787 0.223573 0.229253 0.231147 +0.229253 0.231147 0.23304 0.234933 0.248187 0.246293 0.23872 0.240613 +0.242507 0.248187 0.259547 0.26144 0.26144 0.276587 0.280373 0.28416 +0.293627 0.314453 0.33528 0.356107 0.395867 0.458347 0.516421 0.556842 +0.610526 0.672421 0.737474 0.799368 0.855579 0.901684 0.946526 0.985551 +1.0022 1.01135 1.01331 1.00449 0.979368 0.914316 0.840421 0.760842 +0.683158 0.614316 0.551158 0.496213 0.401547 0.350427 0.31824 0.291733 +0.282267 0.280373 0.27848 0.270907 0.263333 0.259547 0.251973 0.25008 +0.246293 0.251973 0.253867 0.253867 0.26144 0.263333 0.265227 0.27848 +0.27848 0.274693 0.2728 0.282267 0.287947 0.29552 0.308773 0.31824 +0.348533 0.405333 0.509474 0.589684 0.722316 0.892211 1.01396 1.044 +1.00678 0.861263 0.660421 0.516421 0.0008 0.000826667 0.000826667 0.000826667 +0.00082 0.000833333 0.000893333 0.225467 0.280373 0.39208 0.548 0.678737 +0.834737 0.982939 1.03355 1.02865 0.942737 0.763368 0.614947 0.518947 +0.401547 0.331493 0.304987 0.293627 0.28984 0.2728 0.26712 0.274693 +0.265227 0.259547 0.25008 0.248187 0.263333 0.259547 0.251973 0.2444 +0.23872 0.23872 0.240613 0.236827 0.240613 0.25008 0.246293 0.251973 +0.257653 0.253867 0.26144 0.269013 0.270907 0.27848 0.282267 0.282267 +0.316347 0.361787 0.418587 0.501263 0.542947 0.609263 0.697053 0.789263 +0.885895 0.976211 1.01396 1.0391 1.05053 1.05216 1.03976 1.01396 +0.973053 0.889684 0.806316 0.726105 0.65979 0.606105 0.562526 0.529684 +0.503789 0.44888 0.39776 0.358 0.33528 0.310667 0.28984 0.274693 +0.26144 0.259547 0.263333 0.263333 0.26144 0.259547 0.25008 0.2444 +0.23304 0.23304 0.23304 0.223573 0.225467 0.231147 0.219787 0.00098 +0.000986667 0.000986667 0.216 0.217893 0.217893 0.216 0.000966667 0.000946667 +0.000973333 0.000966667 0.00096 0.000973333 0.000966667 0.000973333 0.000966667 0.000926667 +0.000926667 0.000933333 0.00094 0.000946667 0.00094 0.00094 0.00096 0.00092 +0.000926667 0.00096 0.000933333 0.00092 0.000953333 0.000993333 0.000993333 0.000946667 +0.000913333 0.000913333 0.000893333 0.000913333 0.000913333 0.000893333 0.000926667 0.000946667 +0.00094 0.000906667 0.000913333 0.000933333 0.000913333 0.00092 0.00092 0.00092 +0.00092 0.000933333 0.00096 0.000946667 0.000933333 0.000926667 0.000873333 0.000893333 +0.000913333 0.0009 0.000906667 0.000926667 0.000913333 0.00088 0.000913333 0.000946667 +0.000966667 0.00098 0.000986667 0.000986667 0.22168 0.22168 0.000986667 0.00096 +0.00096 0.000973333 0.225467 0.234933 0.229253 0.000986667 0.00098 0.216 +0.223573 0.22168 0.22168 0.225467 0.231147 0.23872 0.236827 0.246293 +0.246293 0.25576 0.2728 0.27848 0.276587 0.297413 0.342853 0.40912 +0.506947 0.553053 0.603579 0.659158 0.706526 0.749474 0.788 0.819579 +0.839789 0.848632 0.853684 0.856842 0.849895 0.840421 0.834105 0.822105 +0.808842 0.794316 0.788632 0.779789 0.764632 0.748842 0.745053 0.745684 +0.737474 0.726737 0.722316 0.719789 0.717895 0.716632 0.708421 0.709053 +0.709684 0.707789 0.712842 0.716 0.709053 0.707789 0.703368 0.696421 +0.695158 0.698316 0.698316 0.699579 0.696421 0.695158 0.697053 0.690737 +0.692632 0.696421 0.697053 0.700842 0.702737 0.698316 0.695158 0.689474 +0.692632 0.695158 0.696421 0.691368 0.683789 0.679368 0.673684 0.656632 +0.628211 0.590316 0.544842 0.502526 0.40344 0.35232 0.32392 0.401547 +0.551789 0.640211 0.726105 0.758316 0.616842 0.441307 0.348533 0.331493 +0.395867 0.536 0.636421 0.709053 0.687579 0.590947 0.510737 0.399653 +0.358 0.39208 0.539789 0.713474 0.788632 0.760211 0.794316 0.839158 +0.842316 0.828421 0.809474 0.794947 0.8 0.810737 0.820842 0.833474 +0.846737 0.851158 0.848 0.849263 0.854947 0.855579 0.851789 0.851158 +0.849895 0.848 0.837895 0.829684 0.825263 0.820842 0.814526 0.804421 +0.789895 0.770947 0.750737 0.726105 0.698947 0.669895 0.637053 0.601684 +0.572632 0.541053 0.515158 0.469707 0.42048 0.376933 0.337173 0.3296 +0.303093 0.287947 0.280373 0.274693 0.259547 0.242507 0.236827 0.219787 +0.00094 0.0009 0.000893333 0.000946667 0.23872 0.25576 0.26144 0.257653 +0.263333 0.27848 0.270907 0.26712 0.257653 0.257653 0.251973 0.248187 +0.246293 0.242507 0.23872 0.246293 0.253867 0.251973 0.251973 0.240613 +0.236827 0.242507 0.242507 0.23872 0.229253 0.23304 0.229253 0.000993333 +0.22168 0.236827 0.231147 0.225467 0.231147 0.219787 0.000993333 0.22168 +0.000993333 0.000973333 0.000973333 0.000973333 0.000973333 0.000973333 0.216 0.000993333 +0.000986667 0.216 0.000986667 0.00098 0.000993333 0.00096 0.216 0.219787 +0.00098 0.000973333 0.217893 0.216 0.000986667 0.000986667 0.000946667 0.000946667 +0.216 0.216 0.000993333 0.217893 0.217893 0.225467 0.22736 0.216 +0.216 0.22168 0.217893 0.219787 0.217893 0.219787 0.229253 0.231147 +0.22736 0.229253 0.229253 0.223573 0.22168 0.22736 0.229253 0.229253 +0.23304 0.2444 0.242507 0.242507 0.259547 0.257653 0.259547 0.263333 +0.263333 0.26144 0.269013 0.282267 0.286053 0.293627 0.308773 0.325813 +0.35232 0.39208 0.450773 0.515158 0.562526 0.616211 0.68 0.743158 +0.801895 0.858737 0.913684 0.959789 0.990776 1.00514 1.01461 1.0169 +1.00743 0.984571 0.921263 0.839789 0.747579 0.668 0.606105 0.548 +0.505053 0.424267 0.35232 0.303093 0.287947 0.280373 0.27848 0.269013 +0.269013 0.276587 0.269013 0.263333 0.265227 0.26144 0.246293 0.2444 +0.242507 0.25576 0.26144 0.251973 0.26712 0.269013 0.263333 0.270907 +0.280373 0.28416 0.282267 0.28416 0.293627 0.310667 0.327707 0.344747 +0.39776 0.503789 0.590316 0.732421 0.901684 1.01527 1.04269 1.00547 +0.881474 0.711579 0.554947 0.388293 0.000753333 0.000746667 0.000746667 0.000786667 +0.000833333 0.00084 0.00088 0.000946667 0.231147 0.269013 0.37504 0.537895 +0.66421 0.820842 0.976842 1.03224 1.02506 0.935789 0.761474 0.614316 +0.519579 0.401547 0.344747 0.322027 0.304987 0.291733 0.28984 0.28416 +0.270907 0.265227 0.263333 0.251973 0.25576 0.257653 0.251973 0.23872 +0.23872 0.234933 0.234933 0.23304 0.242507 0.25008 0.248187 0.251973 +0.25576 0.25576 0.257653 0.265227 0.257653 0.259547 0.257653 0.257653 +0.270907 0.282267 0.28984 0.310667 0.342853 0.40912 0.508842 0.560632 +0.633263 0.717895 0.803158 0.883368 0.954737 1.00612 1.03551 1.05053 +1.05151 1.0391 1.01527 0.98 0.900421 0.815789 0.734316 0.667368 +0.612421 0.566316 0.532842 0.507579 0.46592 0.40912 0.365573 0.33528 +0.320133 0.314453 0.30688 0.291733 0.280373 0.26144 0.259547 0.248187 +0.23872 0.242507 0.236827 0.223573 0.23872 0.23872 0.229253 0.229253 +0.229253 0.22736 0.22736 0.225467 0.22168 0.000993333 0.000973333 0.00098 +0.219787 0.22168 0.217893 0.00098 0.000986667 0.00098 0.000946667 0.000926667 +0.000953333 0.00096 0.00096 0.000973333 0.00096 0.000973333 0.216 0.00098 +0.000946667 0.00098 0.000966667 0.00098 0.216 0.00098 0.000953333 0.000926667 +0.0009 0.000913333 0.000926667 0.000893333 0.00092 0.000913333 0.000933333 0.000933333 +0.00094 0.000966667 0.000933333 0.000906667 0.000906667 0.000926667 0.000933333 0.000946667 +0.000946667 0.00094 0.00096 0.00094 0.00096 0.000953333 0.00088 0.000866667 +0.000926667 0.000906667 0.000926667 0.000973333 0.000953333 0.000926667 0.000926667 0.000926667 +0.00096 0.217893 0.223573 0.217893 0.000993333 0.00096 0.000953333 0.000973333 +0.000993333 0.219787 0.23304 0.231147 0.223573 0.225467 0.22168 0.22168 +0.225467 0.216 0.000993333 0.225467 0.236827 0.242507 0.234933 0.231147 +0.246293 0.25008 0.240613 0.248187 0.253867 0.248187 0.242507 0.231147 +0.223573 0.219787 0.240613 0.3012 0.373147 0.458347 0.525263 0.567579 +0.605474 0.637053 0.669895 0.707789 0.736842 0.765895 0.789263 0.805684 +0.818316 0.826526 0.841053 0.849263 0.848 0.842316 0.846737 0.847368 +0.838526 0.830947 0.827158 0.825263 0.825263 0.822105 0.813263 0.809474 +0.805684 0.804421 0.806316 0.803158 0.797474 0.795579 0.788 0.781684 +0.783579 0.782316 0.779789 0.779789 0.776632 0.777895 0.776632 0.769053 +0.770316 0.769053 0.767789 0.769684 0.767789 0.758947 0.748842 0.746316 +0.751368 0.750105 0.747579 0.74 0.733684 0.728632 0.719158 0.700842 +0.675579 0.648421 0.62 0.594105 0.571368 0.551789 0.529684 0.527158 +0.575789 0.637684 0.683789 0.739368 0.717263 0.637684 0.604842 0.618737 +0.676842 0.754526 0.776 0.710316 0.608 0.529684 0.5 0.45456 +0.450773 0.502526 0.579579 0.720421 0.713474 0.613684 0.623158 0.705895 +0.775368 0.815789 0.836 0.837263 0.837263 0.828421 0.812 0.789263 +0.760211 0.725474 0.698316 0.68 0.669263 0.660421 0.655368 0.648421 +0.642105 0.641474 0.632632 0.620632 0.608 0.597263 0.587158 0.574526 +0.561263 0.543579 0.524 0.508211 0.475387 0.439413 0.411013 0.37504 +0.34664 0.333387 0.320133 0.303093 0.304987 0.308773 0.287947 0.280373 +0.276587 0.265227 0.242507 0.234933 0.22168 0.00096 0.00094 0.00096 +0.216 0.225467 0.234933 0.240613 0.26144 0.26144 0.253867 0.257653 +0.263333 0.2728 0.265227 0.257653 0.253867 0.257653 0.263333 0.25008 +0.242507 0.246293 0.23872 0.234933 0.246293 0.2444 0.2444 0.234933 +0.236827 0.236827 0.23304 0.23304 0.229253 0.234933 0.23304 0.22168 +0.217893 0.225467 0.231147 0.225467 0.219787 0.217893 0.000993333 0.217893 +0.216 0.00098 0.000946667 0.00094 0.000966667 0.00098 0.000973333 0.217893 +0.22168 0.217893 0.00098 0.00098 0.217893 0.000986667 0.216 0.000986667 +0.00094 0.000966667 0.217893 0.217893 0.000993333 0.000986667 0.000986667 0.217893 +0.216 0.00098 0.217893 0.219787 0.000993333 0.00098 0.22168 0.217893 +0.22168 0.23304 0.23304 0.229253 0.22168 0.223573 0.219787 0.22168 +0.229253 0.229253 0.236827 0.240613 0.234933 0.248187 0.251973 0.2444 +0.246293 0.25008 0.25008 0.259547 0.270907 0.263333 0.269013 0.27848 +0.276587 0.287947 0.297413 0.31256 0.327707 0.34664 0.390187 0.458347 +0.515789 0.558737 0.613684 0.677474 0.750105 0.813263 0.872632 0.921895 +0.959789 0.98751 1.00612 1.01722 1.01886 1.00645 0.981306 0.920632 +0.842316 0.758947 0.676211 0.603579 0.542316 0.498107 0.42616 0.354213 +0.30688 0.286053 0.27848 0.257653 0.25576 0.269013 0.269013 0.259547 +0.26712 0.26712 0.257653 0.263333 0.263333 0.263333 0.251973 0.25576 +0.248187 0.25008 0.26144 0.259547 0.26144 0.25576 0.263333 0.270907 +0.2728 0.276587 0.282267 0.293627 0.310667 0.3296 0.354213 0.39776 +0.506316 0.588421 0.731158 0.911158 1.01853 1.03878 0.999265 0.870737 +0.712211 0.569474 0.42616 0.3012 0.000753333 0.000746667 0.000773333 0.000826667 +0.000866667 0.00084 0.000853333 0.000886667 0.000933333 0.219787 0.26144 0.358 +0.530947 0.658526 0.812 0.970526 1.02963 1.02539 0.944 0.774737 +0.625684 0.524632 0.42048 0.34664 0.310667 0.299307 0.291733 0.27848 +0.270907 0.265227 0.265227 0.26144 0.251973 0.257653 0.25008 0.23872 +0.23872 0.236827 0.23872 0.2444 0.246293 0.248187 0.251973 0.253867 +0.253867 0.25008 0.25008 0.25576 0.251973 0.25576 0.253867 0.25576 +0.265227 0.26144 0.257653 0.269013 0.282267 0.293627 0.320133 0.365573 +0.435627 0.515158 0.565053 0.618737 0.685684 0.776632 0.868842 0.955368 +1.00482 1.03159 1.04661 1.05282 1.04433 1.02016 0.986204 0.913684 +0.830316 0.748211 0.676842 0.619368 0.575789 0.542316 0.515158 0.481067 +0.43184 0.399653 0.35232 0.320133 0.303093 0.286053 0.28416 0.2728 +0.263333 0.26144 0.251973 0.251973 0.253867 0.248187 0.246293 0.242507 +0.242507 0.23304 0.22736 0.231147 0.225467 0.223573 0.229253 0.23304 +0.225467 0.000993333 0.000966667 0.000973333 0.000993333 0.00096 0.000973333 0.217893 +0.000986667 0.000973333 0.000966667 0.00098 0.000966667 0.000986667 0.217893 0.00098 +0.00094 0.000986667 0.217893 0.216 0.000986667 0.000953333 0.00094 0.000933333 +0.000926667 0.000953333 0.000986667 0.000953333 0.000973333 0.000973333 0.00094 0.00094 +0.000946667 0.00098 0.00094 0.00088 0.000913333 0.00094 0.000946667 0.00094 +0.000966667 0.000966667 0.000966667 0.000966667 0.000986667 0.000973333 0.000913333 0.0009 +0.000926667 0.000926667 0.000953333 0.216 0.216 0.00098 0.000973333 0.000986667 +0.217893 0.22168 0.22736 0.219787 0.000993333 0.000966667 0.216 0.223573 +0.229253 0.236827 0.234933 0.225467 0.229253 0.236827 0.225467 0.22168 +0.229253 0.23304 0.23872 0.240613 0.246293 0.2444 0.23872 0.248187 +0.257653 0.25008 0.240613 0.25008 0.25576 0.26144 0.253867 0.26144 +0.259547 0.22736 0.000993333 0.216 0.000933333 0.000946667 0.22736 0.259547 +0.287947 0.316347 0.361787 0.42048 0.48296 0.520211 0.539789 0.561263 +0.583368 0.610526 0.635789 0.658526 0.678105 0.698316 0.724842 0.737474 +0.748211 0.762737 0.779158 0.792421 0.801263 0.806316 0.812632 0.818316 +0.821474 0.829053 0.835368 0.834737 0.836 0.839789 0.839158 0.841684 +0.848632 0.844842 0.844211 0.849895 0.851158 0.856211 0.849895 0.848632 +0.854316 0.851158 0.853053 0.854947 0.855579 0.853053 0.845474 0.846737 +0.853053 0.850526 0.850526 0.845474 0.839789 0.840421 0.833474 0.816421 +0.798105 0.778526 0.753263 0.728 0.708421 0.690105 0.666737 0.657895 +0.669895 0.675579 0.654737 0.687579 0.779158 0.846105 0.885895 0.913053 +0.932 0.913684 0.841053 0.767158 0.724842 0.705263 0.695789 0.681895 +0.682526 0.704632 0.744421 0.743158 0.620632 0.501263 0.416693 0.490533 +0.542316 0.589684 0.621895 0.622526 0.610526 0.591579 0.566947 0.540421 +0.513895 0.48296 0.4432 0.422373 0.407227 0.399653 0.40344 0.399653 +0.39776 0.405333 0.399653 0.376933 0.365573 0.359893 0.361787 0.358 +0.348533 0.33528 0.31824 0.304987 0.297413 0.297413 0.293627 0.28984 +0.27848 0.274693 0.263333 0.253867 0.26144 0.274693 0.265227 0.263333 +0.246293 0.225467 0.000946667 0.00088 0.0009 0.000946667 0.216 0.236827 +0.253867 0.253867 0.25576 0.248187 0.248187 0.25576 0.253867 0.253867 +0.25576 0.263333 0.257653 0.240613 0.240613 0.25008 0.26712 0.25008 +0.234933 0.246293 0.240613 0.229253 0.229253 0.231147 0.229253 0.231147 +0.236827 0.23304 0.225467 0.229253 0.23304 0.234933 0.23304 0.229253 +0.000993333 0.000986667 0.22168 0.00098 0.00096 0.00098 0.000973333 0.000986667 +0.00098 0.219787 0.00096 0.000933333 0.000966667 0.000973333 0.00094 0.000953333 +0.00096 0.000966667 0.000986667 0.000973333 0.000986667 0.216 0.217893 0.000986667 +0.000966667 0.000953333 0.000973333 0.000993333 0.217893 0.000993333 0.000986667 0.223573 +0.216 0.000993333 0.000986667 0.223573 0.217893 0.00098 0.000993333 0.000993333 +0.22168 0.22736 0.22736 0.229253 0.231147 0.236827 0.23304 0.22168 +0.225467 0.234933 0.240613 0.246293 0.25008 0.265227 0.26712 0.25576 +0.25576 0.263333 0.265227 0.276587 0.28416 0.282267 0.29552 0.310667 +0.31824 0.33528 0.35232 0.390187 0.456453 0.513895 0.554947 0.614316 +0.681895 0.753263 0.822105 0.880211 0.935158 0.977474 0.997633 1.01069 +1.01624 1.01461 1.00514 0.982286 0.917474 0.830947 0.742526 0.666105 +0.599158 0.542947 0.49432 0.407227 0.348533 0.310667 0.3012 0.28416 +0.265227 0.253867 0.263333 0.259547 0.25008 0.26144 0.26144 0.257653 +0.25576 0.253867 0.251973 0.26144 0.25008 0.251973 0.253867 0.26144 +0.251973 0.242507 0.251973 0.26144 0.263333 0.257653 0.270907 0.282267 +0.282267 0.280373 0.276587 0.293627 0.32392 0.35232 0.405333 0.507579 +0.590947 0.732421 0.914316 1.02408 1.04106 0.992735 0.854947 0.702105 +0.567579 0.43752 0.30688 0.259547 0.000746667 0.00072 0.00072 0.000766667 +0.00078 0.000793333 0.000853333 0.000866667 0.00088 0.000933333 0.223573 0.26144 +0.358 0.525263 0.647158 0.799368 0.955368 1.02637 1.02637 0.950316 +0.780421 0.626947 0.524632 0.40912 0.337173 0.314453 0.299307 0.280373 +0.276587 0.2728 0.270907 0.270907 0.26144 0.25576 0.248187 0.246293 +0.23872 0.234933 0.236827 0.242507 0.2444 0.248187 0.25576 0.253867 +0.25576 0.257653 0.253867 0.25008 0.25008 0.253867 0.25008 0.251973 +0.251973 0.25008 0.246293 0.259547 0.265227 0.265227 0.2728 0.280373 +0.28984 0.316347 0.359893 0.40912 0.498107 0.546105 0.608632 0.685053 +0.770947 0.859368 0.944632 1.00286 1.03257 1.04661 1.05216 1.04563 +1.02376 0.991755 0.926947 0.844211 0.767158 0.697053 0.633895 0.584 +0.548 0.520842 0.492427 0.43752 0.393973 0.359893 0.333387 0.308773 +0.297413 0.28984 0.287947 0.276587 0.269013 0.263333 0.26144 0.26144 +0.253867 0.2444 0.240613 0.236827 0.23872 0.23304 0.231147 0.229253 +0.219787 0.22168 0.231147 0.231147 0.22168 0.216 0.223573 0.000993333 +0.00094 0.00098 0.000993333 0.216 0.216 0.000993333 0.000986667 0.000973333 +0.000953333 0.000986667 0.223573 0.216 0.000946667 0.000946667 0.00098 0.00098 +0.000953333 0.00098 0.225467 0.217893 0.000966667 0.00096 0.000946667 0.000953333 +0.000946667 0.000966667 0.00094 0.000933333 0.000986667 0.000986667 0.00094 0.000953333 +0.00098 0.216 0.00098 0.00098 0.000986667 0.000966667 0.00096 0.000946667 +0.00094 0.000986667 0.000986667 0.217893 0.216 0.00098 0.217893 0.223573 +0.217893 0.216 0.217893 0.219787 0.225467 0.219787 0.229253 0.231147 +0.225467 0.23872 0.236827 0.22736 0.22736 0.231147 0.229253 0.231147 +0.23304 0.236827 0.242507 0.242507 0.236827 0.240613 0.248187 0.257653 +0.25576 0.240613 0.248187 0.26144 0.263333 0.257653 0.25008 0.259547 +0.259547 0.25576 0.259547 0.257653 0.2444 0.236827 0.236827 0.216 +0.00094 0.000913333 0.219787 0.240613 0.257653 0.274693 0.280373 0.286053 +0.310667 0.350427 0.376933 0.395867 0.429947 0.4716 0.506947 0.510105 +0.517684 0.528421 0.543579 0.557474 0.565684 0.575158 0.587158 0.595368 +0.602316 0.614316 0.623158 0.625053 0.628211 0.634526 0.638947 0.645263 +0.648421 0.650947 0.658526 0.662947 0.661684 0.668 0.668632 0.676842 +0.681895 0.68 0.687579 0.693895 0.698947 0.706526 0.712211 0.722947 +0.730526 0.731158 0.739368 0.743789 0.745053 0.757053 0.768421 0.777895 +0.795579 0.812 0.818947 0.823368 0.825263 0.818947 0.807579 0.803158 +0.800632 0.782947 0.746316 0.746316 0.8 0.861895 0.893474 0.880211 +0.833474 0.776632 0.725474 0.700842 0.696421 0.699579 0.706526 0.716 +0.726737 0.722947 0.685053 0.589684 0.46024 0.322027 0.27848 0.27848 +0.30688 0.354213 0.382613 0.36936 0.34096 0.310667 0.28984 0.26712 +0.259547 0.251973 0.257653 0.26712 0.270907 0.26712 0.269013 0.28416 +0.287947 0.28984 0.291733 0.274693 0.26712 0.270907 0.282267 0.2728 +0.269013 0.270907 0.265227 0.259547 0.257653 0.253867 0.242507 0.248187 +0.251973 0.246293 0.23872 0.231147 0.225467 0.236827 0.234933 0.00098 +0.000893333 0.00086 0.000846667 0.00084 0.000973333 0.236827 0.240613 0.25008 +0.248187 0.242507 0.246293 0.236827 0.22736 0.2444 0.248187 0.246293 +0.23872 0.246293 0.240613 0.23304 0.240613 0.23872 0.248187 0.2444 +0.223573 0.231147 0.236827 0.234933 0.229253 0.231147 0.229253 0.234933 +0.231147 0.225467 0.217893 0.217893 0.22736 0.219787 0.219787 0.223573 +0.216 0.000986667 0.217893 0.000993333 0.000973333 0.000966667 0.000966667 0.000953333 +0.000946667 0.000953333 0.000953333 0.000933333 0.000953333 0.000966667 0.000953333 0.000953333 +0.000933333 0.00094 0.000966667 0.00094 0.000933333 0.000993333 0.219787 0.217893 +0.000993333 0.00098 0.000966667 0.216 0.216 0.000993333 0.000993333 0.000973333 +0.000986667 0.216 0.219787 0.223573 0.22168 0.217893 0.217893 0.217893 +0.23304 0.23304 0.23304 0.229253 0.234933 0.240613 0.240613 0.23304 +0.229253 0.242507 0.248187 0.2444 0.248187 0.25576 0.269013 0.276587 +0.274693 0.276587 0.276587 0.293627 0.30688 0.322027 0.344747 0.365573 +0.407227 0.469707 0.517053 0.56 0.62 0.692 0.762105 0.831579 +0.897263 0.950316 0.987184 1.00351 1.01527 1.01624 1.01265 0.998939 +0.968 0.907368 0.834105 0.753895 0.671158 0.593474 0.534737 0.48864 +0.405333 0.342853 0.3012 0.276587 0.26712 0.25576 0.257653 0.257653 +0.259547 0.251973 0.246293 0.251973 0.25008 0.25576 0.253867 0.259547 +0.25008 0.242507 0.248187 0.251973 0.246293 0.248187 0.253867 0.253867 +0.246293 0.246293 0.25008 0.242507 0.259547 0.26712 0.26712 0.280373 +0.287947 0.291733 0.297413 0.314453 0.348533 0.40912 0.513263 0.599158 +0.738737 0.914947 1.02212 1.0391 0.98849 0.840421 0.689474 0.561895 +0.416693 0.3012 0.259547 0.223573 0.000733333 0.000733333 0.000733333 0.00076 +0.00076 0.000806667 0.00084 0.000866667 0.00088 0.0009 0.00094 0.000986667 +0.242507 0.337173 0.520211 0.638316 0.787368 0.947789 1.0218 1.02506 +0.958526 0.788 0.631368 0.529684 0.424267 0.344747 0.310667 0.3012 +0.293627 0.287947 0.280373 0.274693 0.259547 0.259547 0.248187 0.240613 +0.23872 0.242507 0.23872 0.248187 0.251973 0.248187 0.257653 0.251973 +0.25576 0.251973 0.246293 0.2444 0.246293 0.257653 0.251973 0.253867 +0.246293 0.25008 0.251973 0.259547 0.26144 0.26144 0.26144 0.257653 +0.265227 0.276587 0.282267 0.29552 0.314453 0.342853 0.39776 0.490533 +0.541684 0.602947 0.676842 0.765263 0.856211 0.933263 0.993388 1.02571 +1.04596 1.05249 1.04465 1.02473 0.997633 0.943368 0.862526 0.784842 +0.712842 0.652211 0.603579 0.563789 0.530316 0.505053 0.45456 0.401547 +0.36936 0.344747 0.320133 0.299307 0.286053 0.287947 0.282267 0.2728 +0.265227 0.259547 0.251973 0.253867 0.251973 0.242507 0.236827 0.236827 +0.234933 0.236827 0.242507 0.240613 0.229253 0.22168 0.225467 0.22168 +0.217893 0.223573 0.216 0.219787 0.223573 0.000986667 0.00096 0.000993333 +0.000993333 0.000986667 0.219787 0.000986667 0.000946667 0.00098 0.216 0.217893 +0.216 0.217893 0.225467 0.217893 0.00094 0.000953333 0.000966667 0.000986667 +0.000966667 0.00096 0.000953333 0.00098 0.216 0.000993333 0.000986667 0.00098 +0.000986667 0.216 0.000986667 0.000973333 0.00098 0.000966667 0.000966667 0.00096 +0.00094 0.000966667 0.000973333 0.000973333 0.000966667 0.000973333 0.216 0.000986667 +0.000973333 0.000986667 0.219787 0.223573 0.22168 0.219787 0.000993333 0.216 +0.219787 0.231147 0.231147 0.229253 0.22168 0.217893 0.22736 0.234933 +0.231147 0.223573 0.231147 0.242507 0.23872 0.240613 0.246293 0.25008 +0.240613 0.234933 0.246293 0.257653 0.253867 0.2444 0.246293 0.253867 +0.251973 0.257653 0.259547 0.25008 0.253867 0.26712 0.265227 0.25008 +0.000986667 0.00092 0.000926667 0.000933333 0.00098 0.217893 0.223573 0.23304 +0.2444 0.259547 0.263333 0.276587 0.276587 0.29552 0.297413 0.293627 +0.3012 0.31256 0.31824 0.320133 0.322027 0.339067 0.361787 0.356107 +0.361787 0.3864 0.390187 0.38072 0.3864 0.393973 0.40344 0.4148 +0.40912 0.42048 0.441307 0.433733 0.418587 0.43184 0.439413 0.46024 +0.458347 0.446987 0.46592 0.475387 0.484853 0.481067 0.47728 0.498107 +0.500632 0.501263 0.505053 0.504421 0.508211 0.517053 0.523368 0.537895 +0.566947 0.597895 0.633263 0.677474 0.718526 0.752632 0.778526 0.790526 +0.786737 0.762737 0.717895 0.682526 0.662316 0.642737 0.617474 0.583368 +0.542947 0.513895 0.490533 0.467813 0.464027 0.481067 0.500632 0.510737 +0.522105 0.516421 0.456453 0.325813 0.26144 0.2728 0.263333 0.265227 +0.274693 0.282267 0.28984 0.27848 0.26712 0.248187 0.2444 0.234933 +0.22736 0.22736 0.234933 0.2444 0.251973 0.2444 0.240613 0.248187 +0.2444 0.246293 0.25576 0.25008 0.242507 0.25008 0.251973 0.2444 +0.23872 0.240613 0.242507 0.23872 0.23304 0.236827 0.219787 0.219787 +0.234933 0.23304 0.223573 0.00098 0.000926667 0.000933333 0.000886667 0.000806667 +0.00084 0.0009 0.000946667 0.00096 0.22736 0.25008 0.234933 0.23872 +0.242507 0.246293 0.23304 0.225467 0.225467 0.234933 0.236827 0.231147 +0.229253 0.23304 0.23304 0.234933 0.240613 0.236827 0.23872 0.242507 +0.229253 0.216 0.219787 0.22736 0.22168 0.216 0.223573 0.225467 +0.22168 0.223573 0.217893 0.217893 0.219787 0.000993333 0.000993333 0.219787 +0.219787 0.00098 0.000986667 0.216 0.219787 0.000953333 0.000953333 0.000993333 +0.00098 0.000953333 0.000966667 0.000953333 0.000966667 0.000953333 0.000933333 0.00096 +0.000953333 0.00094 0.000986667 0.00096 0.00094 0.00098 0.000993333 0.00098 +0.000993333 0.000973333 0.000966667 0.216 0.216 0.219787 0.225467 0.216 +0.000993333 0.216 0.217893 0.22168 0.22168 0.231147 0.223573 0.22168 +0.234933 0.236827 0.242507 0.246293 0.251973 0.246293 0.2444 0.25008 +0.25008 0.25576 0.265227 0.257653 0.257653 0.265227 0.280373 0.297413 +0.304987 0.310667 0.31256 0.337173 0.361787 0.40344 0.47728 0.523368 +0.571368 0.630105 0.699579 0.774105 0.847368 0.920632 0.975579 0.998612 +1.01363 1.02212 1.0218 1.01331 0.994041 0.942737 0.872632 0.802526 +0.726105 0.656632 0.596 0.541053 0.496213 0.399653 0.34096 0.316347 +0.293627 0.270907 0.263333 0.26144 0.25576 0.251973 0.25008 0.248187 +0.251973 0.251973 0.242507 0.246293 0.240613 0.242507 0.2444 0.253867 +0.253867 0.25008 0.2444 0.240613 0.242507 0.2444 0.25576 0.251973 +0.246293 0.251973 0.263333 0.246293 0.263333 0.274693 0.270907 0.287947 +0.293627 0.29552 0.316347 0.34664 0.412907 0.524632 0.613053 0.752 +0.925053 1.02212 1.03388 0.981959 0.822737 0.673053 0.552421 0.412907 +0.293627 0.248187 0.219787 0.000953333 0.000786667 0.000773333 0.000766667 0.00076 +0.00076 0.000786667 0.000773333 0.00082 0.000866667 0.000893333 0.000906667 0.000906667 +0.217893 0.259547 0.344747 0.517053 0.633263 0.777895 0.933895 1.01918 +1.02767 0.959789 0.782316 0.625053 0.521474 0.405333 0.344747 0.31824 +0.304987 0.29552 0.282267 0.270907 0.265227 0.26712 0.2444 0.23872 +0.25008 0.251973 0.23872 0.2444 0.248187 0.248187 0.25008 0.246293 +0.240613 0.240613 0.25008 0.25008 0.251973 0.253867 0.246293 0.253867 +0.253867 0.253867 0.251973 0.26144 0.26712 0.26144 0.25576 0.253867 +0.259547 0.265227 0.270907 0.280373 0.27848 0.274693 0.286053 0.30688 +0.342853 0.395867 0.469707 0.534737 0.597263 0.664842 0.745684 0.838526 +0.927579 0.98849 1.01461 1.0329 1.04367 1.04367 1.03061 1.00645 +0.966737 0.894105 0.818316 0.745684 0.68 0.624421 0.578947 0.539789 +0.510105 0.462133 0.412907 0.373147 0.34096 0.327707 0.31824 0.299307 +0.28984 0.286053 0.276587 0.2728 0.263333 0.251973 0.251973 0.253867 +0.25008 0.246293 0.248187 0.240613 0.231147 0.229253 0.23304 0.242507 +0.23872 0.225467 0.22168 0.22168 0.223573 0.217893 0.216 0.225467 +0.22168 0.000986667 0.217893 0.216 0.217893 0.217893 0.217893 0.000993333 +0.217893 0.216 0.000966667 0.000993333 0.000973333 0.000966667 0.000993333 0.000993333 +0.000966667 0.00094 0.00096 0.000986667 0.219787 0.219787 0.000973333 0.000973333 +0.000986667 0.217893 0.216 0.00098 0.000953333 0.00096 0.00098 0.000946667 +0.000926667 0.000953333 0.216 0.000973333 0.000986667 0.217893 0.000986667 0.00096 +0.217893 0.217893 0.000993333 0.000993333 0.000966667 0.000993333 0.000973333 0.000993333 +0.22736 0.22736 0.219787 0.22736 0.217893 0.00098 0.22168 0.231147 +0.22168 0.000993333 0.22736 0.2444 0.23872 0.229253 0.240613 0.236827 +0.225467 0.236827 0.25008 0.240613 0.23304 0.240613 0.251973 0.2444 +0.242507 0.25008 0.253867 0.25008 0.257653 0.26712 0.265227 0.263333 +0.251973 0.240613 0.22736 0.000973333 0.00092 0.000913333 0.000913333 0.000926667 +0.216 0.217893 0.219787 0.223573 0.231147 0.257653 0.2444 0.234933 +0.25008 0.263333 0.274693 0.269013 0.26712 0.282267 0.286053 0.276587 +0.286053 0.297413 0.287947 0.27848 0.28984 0.3012 0.3012 0.30688 +0.291733 0.299307 0.316347 0.31256 0.31256 0.31256 0.304987 0.320133 +0.314453 0.304987 0.308773 0.299307 0.297413 0.276587 0.269013 0.280373 +0.265227 0.265227 0.282267 0.265227 0.263333 0.269013 0.270907 0.291733 +0.31824 0.33528 0.373147 0.445093 0.508842 0.534737 0.554947 0.561895 +0.561263 0.542316 0.514526 0.47728 0.4432 0.412907 0.384507 0.350427 +0.314453 0.3012 0.286053 0.269013 0.270907 0.27848 0.280373 0.280373 +0.297413 0.28984 0.251973 0.22168 0.223573 0.2444 0.242507 0.248187 +0.25576 0.253867 0.263333 0.263333 0.257653 0.2444 0.253867 0.251973 +0.242507 0.236827 0.231147 0.231147 0.242507 0.236827 0.23304 0.229253 +0.229253 0.23304 0.2444 0.248187 0.229253 0.23304 0.240613 0.231147 +0.22736 0.23304 0.229253 0.225467 0.223573 0.216 0.00096 0.00098 +0.000993333 0.000946667 0.000886667 0.000833333 0.000806667 0.000833333 0.00086 0.0009 +0.00096 0.000986667 0.22736 0.22736 0.22736 0.248187 0.231147 0.217893 +0.229253 0.242507 0.22736 0.231147 0.23304 0.229253 0.231147 0.231147 +0.22168 0.225467 0.236827 0.236827 0.23872 0.240613 0.236827 0.236827 +0.236827 0.217893 0.00098 0.000986667 0.000953333 0.00096 0.216 0.216 +0.22168 0.22736 0.219787 0.22168 0.219787 0.219787 0.217893 0.216 +0.000986667 0.000946667 0.000926667 0.000973333 0.000993333 0.000933333 0.00094 0.000993333 +0.219787 0.000986667 0.00098 0.216 0.000993333 0.000966667 0.000966667 0.000946667 +0.000926667 0.000933333 0.000973333 0.000986667 0.216 0.000993333 0.000973333 0.216 +0.219787 0.216 0.00098 0.000993333 0.216 0.229253 0.234933 0.23304 +0.22736 0.22168 0.22736 0.23304 0.23304 0.242507 0.229253 0.225467 +0.236827 0.236827 0.2444 0.251973 0.265227 0.259547 0.257653 0.263333 +0.2728 0.27848 0.286053 0.287947 0.293627 0.30688 0.325813 0.348533 +0.36368 0.384507 0.422373 0.492427 0.530316 0.578316 0.641474 0.715368 +0.796842 0.874526 0.943368 0.989469 1.00873 1.02343 1.02931 1.02539 +1.01331 0.996 0.955368 0.877684 0.788632 0.696421 0.619368 0.566947 +0.523368 0.473493 0.407227 0.34096 0.299307 0.282267 0.276587 0.270907 +0.26712 0.253867 0.25008 0.251973 0.25008 0.2444 0.248187 0.251973 +0.25008 0.246293 0.23872 0.240613 0.23872 0.242507 0.246293 0.2444 +0.246293 0.25008 0.242507 0.2444 0.2444 0.23304 0.2444 0.246293 +0.23872 0.240613 0.251973 0.251973 0.257653 0.270907 0.276587 0.293627 +0.30688 0.327707 0.35232 0.405333 0.516421 0.623158 0.773474 0.937684 +1.02408 1.03094 0.965474 0.805684 0.656 0.541053 0.395867 0.27848 +0.236827 0.000986667 0.0009 0.00088 0.000773333 0.000766667 0.000773333 0.000766667 +0.000753333 0.000753333 0.000766667 0.00078 0.000846667 0.000893333 0.000913333 0.000913333 +0.000933333 0.000973333 0.23872 0.32392 0.511368 0.624421 0.765895 0.921895 +1.0169 1.02604 0.952842 0.775368 0.618105 0.523368 0.422373 0.350427 +0.322027 0.310667 0.299307 0.28416 0.270907 0.263333 0.25576 0.2444 +0.242507 0.236827 0.23304 0.236827 0.242507 0.25008 0.246293 0.248187 +0.2444 0.246293 0.251973 0.251973 0.25008 0.248187 0.2444 0.25008 +0.253867 0.2444 0.2444 0.257653 0.259547 0.25576 0.253867 0.25008 +0.253867 0.265227 0.269013 0.265227 0.259547 0.253867 0.259547 0.270907 +0.280373 0.287947 0.29552 0.3296 0.382613 0.46024 0.527789 0.585895 +0.65979 0.733053 0.807579 0.882737 0.956632 1.00318 1.02833 1.04139 +1.044 1.03714 1.01657 0.987184 0.926316 0.851158 0.776 0.705895 +0.645263 0.597263 0.556842 0.524632 0.5 0.450773 0.405333 0.36368 +0.337173 0.31824 0.308773 0.299307 0.28984 0.28984 0.276587 0.26712 +0.269013 0.270907 0.263333 0.257653 0.251973 0.248187 0.25008 0.248187 +0.234933 0.225467 0.223573 0.22736 0.22736 0.22736 0.225467 0.234933 +0.234933 0.22168 0.225467 0.231147 0.223573 0.216 0.223573 0.22736 +0.229253 0.216 0.000946667 0.00096 0.000973333 0.000973333 0.000986667 0.000973333 +0.00096 0.00096 0.000986667 0.217893 0.217893 0.217893 0.00098 0.000973333 +0.000953333 0.00096 0.000973333 0.000966667 0.000946667 0.00096 0.00096 0.000946667 +0.000966667 0.216 0.219787 0.000973333 0.00098 0.216 0.000973333 0.000946667 +0.000993333 0.000966667 0.000946667 0.000973333 0.000973333 0.216 0.22736 0.229253 +0.225467 0.217893 0.000986667 0.219787 0.219787 0.00098 0.000973333 0.000986667 +0.000966667 0.00096 0.219787 0.23304 0.223573 0.223573 0.236827 0.22736 +0.225467 0.234933 0.240613 0.22736 0.225467 0.248187 0.25008 0.236827 +0.240613 0.246293 0.25008 0.253867 0.26144 0.26712 0.26144 0.257653 +0.251973 0.259547 0.257653 0.257653 0.242507 0.229253 0.000973333 0.000913333 +0.0009 0.000853333 0.00088 0.000893333 0.000993333 0.242507 0.229253 0.22168 +0.22168 0.236827 0.246293 0.242507 0.240613 0.248187 0.248187 0.25008 +0.251973 0.257653 0.246293 0.2444 0.251973 0.26712 0.263333 0.251973 +0.23872 0.259547 0.269013 0.251973 0.248187 0.246293 0.246293 0.257653 +0.25576 0.26144 0.25576 0.2444 0.248187 0.234933 0.242507 0.253867 +0.240613 0.2444 0.26144 0.251973 0.251973 0.26144 0.269013 0.270907 +0.280373 0.280373 0.287947 0.308773 0.32392 0.32392 0.320133 0.314453 +0.331493 0.310667 0.293627 0.293627 0.29552 0.29552 0.30688 0.299307 +0.280373 0.282267 0.274693 0.257653 0.25576 0.26712 0.26712 0.257653 +0.270907 0.26144 0.231147 0.22736 0.242507 0.248187 0.240613 0.240613 +0.246293 0.253867 0.26712 0.26712 0.253867 0.246293 0.265227 0.259547 +0.25008 0.2444 0.236827 0.234933 0.246293 0.236827 0.231147 0.23872 +0.236827 0.240613 0.248187 0.251973 0.231147 0.22736 0.223573 0.223573 +0.22168 0.229253 0.22736 0.22168 0.00098 0.00094 0.000933333 0.000926667 +0.00088 0.000833333 0.000806667 0.000806667 0.00084 0.00092 0.217893 0.223573 +0.219787 0.000986667 0.229253 0.23304 0.216 0.223573 0.22736 0.223573 +0.229253 0.225467 0.223573 0.22168 0.229253 0.22736 0.23304 0.231147 +0.219787 0.217893 0.231147 0.225467 0.223573 0.225467 0.231147 0.23304 +0.234933 0.223573 0.217893 0.216 0.000973333 0.000993333 0.22168 0.000993333 +0.217893 0.22168 0.000993333 0.000966667 0.000973333 0.216 0.00098 0.216 +0.219787 0.000993333 0.000953333 0.00096 0.000973333 0.000946667 0.000926667 0.000926667 +0.00096 0.000993333 0.00098 0.217893 0.216 0.000993333 0.219787 0.216 +0.000946667 0.000946667 0.000993333 0.219787 0.225467 0.223573 0.00096 0.000986667 +0.219787 0.217893 0.216 0.000993333 0.225467 0.236827 0.234933 0.242507 +0.242507 0.231147 0.229253 0.236827 0.2444 0.251973 0.248187 0.25008 +0.251973 0.25008 0.25008 0.257653 0.26712 0.265227 0.27848 0.28416 +0.3012 0.320133 0.325813 0.339067 0.348533 0.365573 0.411013 0.469707 +0.514526 0.550526 0.601053 0.666737 0.740632 0.824 0.905474 0.975579 +1.00645 1.02539 1.03453 1.03551 1.02702 1.01069 0.986204 0.928842 +0.856842 0.788632 0.712211 0.635789 0.565684 0.507579 0.416693 0.361787 +0.325813 0.3012 0.291733 0.2728 0.26144 0.259547 0.257653 0.259547 +0.25576 0.259547 0.25008 0.248187 0.248187 0.240613 0.242507 0.242507 +0.246293 0.2444 0.236827 0.236827 0.236827 0.2444 0.25008 0.234933 +0.23304 0.236827 0.236827 0.240613 0.25008 0.246293 0.248187 0.248187 +0.248187 0.240613 0.242507 0.251973 0.257653 0.26712 0.282267 0.291733 +0.31256 0.359893 0.428053 0.518947 0.613053 0.769684 0.950947 1.02767 +1.02767 0.954737 0.788632 0.642737 0.532211 0.382613 0.282267 0.229253 +0.00092 0.000853333 0.000833333 0.00082 0.000773333 0.000793333 0.000793333 0.00076 +0.00078 0.0008 0.00078 0.000773333 0.000773333 0.00084 0.000913333 0.000913333 +0.000886667 0.0009 0.000966667 0.231147 0.320133 0.509474 0.616211 0.752632 +0.913684 1.01461 1.02441 0.952842 0.774105 0.621263 0.522737 0.412907 +0.348533 0.325813 0.30688 0.28984 0.27848 0.276587 0.2728 0.248187 +0.231147 0.23872 0.248187 0.2444 0.242507 0.251973 0.246293 0.246293 +0.2444 0.246293 0.248187 0.2444 0.248187 0.248187 0.23872 0.246293 +0.25008 0.2444 0.2444 0.246293 0.240613 0.246293 0.248187 0.248187 +0.246293 0.25576 0.251973 0.242507 0.25008 0.25576 0.263333 0.269013 +0.274693 0.274693 0.269013 0.276587 0.27848 0.293627 0.32392 0.365573 +0.446987 0.518947 0.561895 0.619368 0.689474 0.770947 0.852421 0.927579 +0.989796 1.01951 1.03682 1.04367 1.04073 1.02571 1.00188 0.960421 +0.892842 0.824 0.752632 0.688211 0.633895 0.584632 0.547368 0.515158 +0.469707 0.42616 0.384507 0.356107 0.342853 0.32392 0.304987 0.299307 +0.3012 0.291733 0.280373 0.276587 0.263333 0.26144 0.263333 0.251973 +0.242507 0.23872 0.240613 0.240613 0.23872 0.234933 0.236827 0.242507 +0.242507 0.234933 0.231147 0.23304 0.219787 0.000993333 0.223573 0.219787 +0.000986667 0.000993333 0.000966667 0.000986667 0.22168 0.219787 0.000986667 0.000966667 +0.000953333 0.000966667 0.22168 0.22736 0.219787 0.000986667 0.00098 0.00094 +0.000946667 0.000966667 0.00096 0.000973333 0.000953333 0.00094 0.000973333 0.00098 +0.000993333 0.000973333 0.000953333 0.000953333 0.000973333 0.000973333 0.00098 0.000973333 +0.00098 0.000973333 0.000946667 0.000946667 0.000953333 0.216 0.225467 0.223573 +0.000986667 0.217893 0.000986667 0.00098 0.000986667 0.00098 0.00098 0.000946667 +0.00098 0.225467 0.22168 0.223573 0.22736 0.234933 0.229253 0.219787 +0.22736 0.225467 0.231147 0.229253 0.234933 0.23872 0.22736 0.234933 +0.240613 0.240613 0.23872 0.2444 0.265227 0.269013 0.26144 0.251973 +0.240613 0.242507 0.246293 0.25576 0.25576 0.248187 0.231147 0.22736 +0.00094 0.000853333 0.00086 0.00086 0.000933333 0.00094 0.000926667 0.000926667 +0.000946667 0.000993333 0.216 0.000986667 0.217893 0.22168 0.219787 0.217893 +0.225467 0.231147 0.000993333 0.000973333 0.219787 0.234933 0.229253 0.223573 +0.23304 0.25576 0.248187 0.231147 0.231147 0.234933 0.246293 0.248187 +0.23872 0.251973 0.25576 0.259547 0.26712 0.253867 0.25576 0.257653 +0.251973 0.25576 0.26144 0.259547 0.26144 0.26712 0.265227 0.257653 +0.259547 0.26712 0.287947 0.3012 0.28984 0.274693 0.26144 0.259547 +0.28416 0.2728 0.26712 0.26712 0.265227 0.257653 0.269013 0.259547 +0.25008 0.257653 0.25576 0.248187 0.25576 0.26144 0.25576 0.25008 +0.257653 0.25008 0.236827 0.23872 0.248187 0.257653 0.25008 0.246293 +0.257653 0.265227 0.270907 0.265227 0.25576 0.25576 0.263333 0.25576 +0.248187 0.240613 0.23304 0.246293 0.246293 0.242507 0.240613 0.236827 +0.23304 0.23872 0.240613 0.240613 0.22736 0.22168 0.229253 0.225467 +0.225467 0.231147 0.236827 0.219787 0.000966667 0.000946667 0.000893333 0.000846667 +0.000866667 0.000913333 0.000933333 0.000926667 0.000946667 0.217893 0.23304 0.229253 +0.231147 0.231147 0.23304 0.225467 0.00098 0.217893 0.23872 0.231147 +0.231147 0.229253 0.231147 0.219787 0.216 0.217893 0.22168 0.216 +0.000973333 0.216 0.223573 0.217893 0.000993333 0.219787 0.22168 0.223573 +0.223573 0.22168 0.216 0.22168 0.219787 0.000986667 0.000993333 0.000973333 +0.000953333 0.217893 0.217893 0.000933333 0.000953333 0.217893 0.00098 0.219787 +0.223573 0.00098 0.00098 0.000966667 0.000973333 0.000973333 0.000933333 0.000933333 +0.000966667 0.00098 0.000973333 0.000986667 0.00096 0.000973333 0.217893 0.223573 +0.219787 0.00098 0.219787 0.22168 0.229253 0.231147 0.217893 0.223573 +0.223573 0.22736 0.217893 0.000993333 0.23304 0.23872 0.23872 0.246293 +0.248187 0.246293 0.242507 0.246293 0.26144 0.26712 0.269013 0.274693 +0.269013 0.269013 0.269013 0.28416 0.29552 0.297413 0.316347 0.327707 +0.344747 0.371253 0.39776 0.452667 0.504421 0.530316 0.573895 0.629474 +0.698316 0.779789 0.863158 0.940842 0.994041 1.0218 1.04041 1.04759 +1.04465 1.03159 1.00873 0.981959 0.916211 0.830316 0.748211 0.674316 +0.609263 0.563789 0.520842 0.446987 0.373147 0.31824 0.282267 0.27848 +0.269013 0.259547 0.26712 0.265227 0.253867 0.25576 0.25008 0.25576 +0.251973 0.246293 0.248187 0.248187 0.246293 0.236827 0.240613 0.23304 +0.23304 0.242507 0.23872 0.231147 0.22736 0.240613 0.251973 0.242507 +0.236827 0.234933 0.242507 0.242507 0.242507 0.25008 0.253867 0.253867 +0.2444 0.248187 0.251973 0.26144 0.269013 0.276587 0.291733 0.316347 +0.35232 0.42048 0.524632 0.615579 0.767789 0.949053 1.02833 1.02441 +0.938947 0.776 0.632632 0.524632 0.382613 0.27848 0.23872 0.000986667 +0.0009 0.000826667 0.000833333 0.000853333 0.000806667 0.000806667 0.000793333 0.000773333 +0.0008 0.000773333 0.000753333 0.00076 0.000773333 0.000813333 0.00088 0.00088 +0.000913333 0.000933333 0.000906667 0.000933333 0.22736 0.316347 0.505053 0.605474 +0.74 0.903579 1.00808 1.0218 0.954737 0.774105 0.616842 0.518316 +0.411013 0.354213 0.322027 0.304987 0.299307 0.286053 0.26712 0.25008 +0.248187 0.242507 0.246293 0.248187 0.246293 0.248187 0.23872 0.2444 +0.248187 0.25008 0.2444 0.242507 0.25008 0.246293 0.236827 0.234933 +0.240613 0.236827 0.23872 0.240613 0.23304 0.236827 0.2444 0.248187 +0.246293 0.242507 0.240613 0.2444 0.251973 0.26144 0.263333 0.26144 +0.263333 0.263333 0.257653 0.269013 0.270907 0.270907 0.280373 0.280373 +0.287947 0.314453 0.34096 0.393973 0.486747 0.536 0.586526 0.655368 +0.741263 0.827789 0.909263 0.98098 1.01037 1.02996 1.04367 1.04596 +1.03714 1.01984 0.993388 0.943368 0.875789 0.806947 0.74 0.675579 +0.620632 0.575158 0.537263 0.507579 0.46024 0.407227 0.371253 0.358 +0.34096 0.31256 0.293627 0.291733 0.287947 0.280373 0.270907 0.265227 +0.270907 0.269013 0.263333 0.25576 0.253867 0.25576 0.248187 0.234933 +0.236827 0.23872 0.22736 0.231147 0.231147 0.23304 0.225467 0.223573 +0.219787 0.216 0.000993333 0.000993333 0.223573 0.217893 0.00098 0.00098 +0.00098 0.22168 0.23872 0.234933 0.22168 0.00098 0.00098 0.00096 +0.216 0.00098 0.00096 0.216 0.000986667 0.00096 0.000986667 0.217893 +0.216 0.00098 0.000966667 0.000986667 0.000993333 0.00098 0.216 0.219787 +0.00098 0.000973333 0.000966667 0.000946667 0.00096 0.216 0.000993333 0.000986667 +0.00098 0.216 0.216 0.000973333 0.000973333 0.219787 0.000986667 0.000953333 +0.219787 0.236827 0.22736 0.219787 0.223573 0.22168 0.000993333 0.22168 +0.223573 0.22168 0.22168 0.231147 0.23304 0.223573 0.216 0.229253 +0.229253 0.234933 0.242507 0.2444 0.253867 0.25008 0.242507 0.236827 +0.236827 0.236827 0.240613 0.23304 0.23304 0.240613 0.229253 0.22736 +0.22168 0.217893 0.000966667 0.000926667 0.0009 0.000813333 0.000766667 0.00078 +0.000826667 0.000906667 0.000886667 0.000926667 0.000946667 0.000946667 0.000986667 0.216 +0.217893 0.22168 0.000973333 0.000973333 0.000986667 0.217893 0.217893 0.217893 +0.231147 0.248187 0.2444 0.23872 0.240613 0.248187 0.253867 0.25008 +0.25008 0.26144 0.257653 0.257653 0.263333 0.257653 0.26144 0.253867 +0.25008 0.25576 0.259547 0.263333 0.251973 0.253867 0.253867 0.257653 +0.263333 0.269013 0.28416 0.276587 0.269013 0.26712 0.251973 0.2444 +0.257653 0.253867 0.26144 0.257653 0.25008 0.240613 0.25008 0.2444 +0.240613 0.25008 0.2444 0.2444 0.257653 0.251973 0.248187 0.23872 +0.246293 0.23872 0.22736 0.231147 0.242507 0.25576 0.248187 0.248187 +0.265227 0.26712 0.270907 0.269013 0.265227 0.259547 0.25576 0.251973 +0.248187 0.240613 0.231147 0.2444 0.246293 0.2444 0.240613 0.23304 +0.23304 0.240613 0.234933 0.225467 0.000973333 0.000966667 0.217893 0.22736 +0.000993333 0.000986667 0.22168 0.000946667 0.000953333 0.000973333 0.0009 0.00088 +0.000966667 0.234933 0.236827 0.22736 0.231147 0.229253 0.22736 0.229253 +0.234933 0.23872 0.229253 0.22168 0.216 0.229253 0.248187 0.23304 +0.229253 0.23304 0.234933 0.219787 0.000993333 0.217893 0.22168 0.217893 +0.000966667 0.000993333 0.223573 0.219787 0.000986667 0.22168 0.22168 0.217893 +0.219787 0.00098 0.000966667 0.219787 0.219787 0.000973333 0.000986667 0.216 +0.000973333 0.216 0.22168 0.00096 0.000946667 0.000986667 0.000966667 0.000986667 +0.223573 0.000973333 0.000986667 0.216 0.000973333 0.000986667 0.000966667 0.000966667 +0.000993333 0.000993333 0.00098 0.000966667 0.00094 0.000946667 0.000953333 0.000986667 +0.22168 0.217893 0.217893 0.22736 0.225467 0.223573 0.234933 0.23872 +0.236827 0.240613 0.229253 0.217893 0.231147 0.236827 0.248187 0.25576 +0.26144 0.26712 0.26712 0.259547 0.26712 0.2728 0.27848 0.297413 +0.299307 0.304987 0.314453 0.337173 0.34664 0.354213 0.393973 0.435627 +0.484853 0.521474 0.557474 0.610526 0.674947 0.745684 0.824 0.902316 +0.976842 1.01298 1.03747 1.0502 1.05282 1.04629 1.03061 1.00645 +0.966737 0.889053 0.810105 0.74 0.667368 0.589684 0.531579 0.492427 +0.4148 0.373147 0.337173 0.297413 0.280373 0.27848 0.26144 0.259547 +0.26144 0.246293 0.251973 0.257653 0.246293 0.248187 0.248187 0.246293 +0.242507 0.240613 0.246293 0.246293 0.2444 0.236827 0.23872 0.23872 +0.234933 0.2444 0.2444 0.231147 0.229253 0.23304 0.23872 0.246293 +0.23872 0.240613 0.25008 0.251973 0.248187 0.251973 0.253867 0.25576 +0.242507 0.25008 0.25576 0.26144 0.276587 0.28984 0.31256 0.35232 +0.433733 0.527158 0.625684 0.774737 0.951579 1.02865 1.0218 0.928842 +0.762737 0.621895 0.517053 0.359893 0.274693 0.225467 0.00092 0.00088 +0.000873333 0.00086 0.000873333 0.000873333 0.00076 0.000813333 0.00082 0.000806667 +0.0008 0.000786667 0.000806667 0.000806667 0.000793333 0.00074 0.000766667 0.000846667 +0.0009 0.000913333 0.000873333 0.00088 0.000886667 0.000966667 0.304987 0.498107 +0.594737 0.725474 0.887158 1.00547 1.02539 0.957895 0.776 0.618105 +0.519579 0.416693 0.35232 0.325813 0.3012 0.280373 0.270907 0.26712 +0.26144 0.242507 0.246293 0.257653 0.25576 0.246293 0.242507 0.248187 +0.248187 0.2444 0.23872 0.23872 0.242507 0.242507 0.23872 0.22736 +0.22736 0.22736 0.22736 0.23872 0.236827 0.242507 0.246293 0.248187 +0.242507 0.234933 0.23304 0.2444 0.25008 0.251973 0.259547 0.25008 +0.251973 0.257653 0.25576 0.263333 0.270907 0.269013 0.269013 0.257653 +0.25576 0.26712 0.26712 0.270907 0.291733 0.314453 0.36368 0.452667 +0.523368 0.575789 0.640842 0.719789 0.798105 0.870737 0.950947 1.00024 +1.02343 1.03976 1.04857 1.04596 1.0342 1.01396 0.988163 0.934526 +0.865053 0.794316 0.725474 0.663579 0.608632 0.561263 0.525895 0.500632 +0.439413 0.384507 0.354213 0.344747 0.3296 0.314453 0.308773 0.3012 +0.303093 0.293627 0.276587 0.263333 0.259547 0.259547 0.248187 0.2444 +0.251973 0.246293 0.234933 0.23304 0.242507 0.240613 0.22736 0.23304 +0.229253 0.217893 0.223573 0.229253 0.234933 0.229253 0.219787 0.225467 +0.231147 0.234933 0.236827 0.223573 0.219787 0.22168 0.22168 0.22168 +0.219787 0.000973333 0.000966667 0.216 0.217893 0.219787 0.22168 0.225467 +0.225467 0.223573 0.217893 0.216 0.000986667 0.000966667 0.000973333 0.216 +0.000966667 0.000966667 0.217893 0.217893 0.000993333 0.216 0.00098 0.000973333 +0.000973333 0.000953333 0.00098 0.000973333 0.000986667 0.217893 0.000986667 0.000966667 +0.000973333 0.225467 0.229253 0.000973333 0.000986667 0.217893 0.223573 0.223573 +0.217893 0.22168 0.217893 0.219787 0.223573 0.225467 0.216 0.000986667 +0.000993333 0.22736 0.234933 0.23872 0.229253 0.219787 0.000993333 0.000993333 +0.225467 0.236827 0.236827 0.217893 0.216 0.229253 0.225467 0.223573 +0.225467 0.223573 0.216 0.219787 0.22168 0.000913333 0.000813333 0.000806667 +0.000833333 0.00086 0.00086 0.000913333 0.000926667 0.000933333 0.000966667 0.000973333 +0.000993333 0.000966667 0.00096 0.22168 0.23304 0.234933 0.219787 0.000993333 +0.225467 0.246293 0.246293 0.234933 0.229253 0.236827 0.234933 0.240613 +0.25008 0.251973 0.246293 0.248187 0.251973 0.253867 0.265227 0.25576 +0.25008 0.25576 0.259547 0.259547 0.246293 0.2444 0.23872 0.25576 +0.251973 0.2444 0.25008 0.248187 0.248187 0.25576 0.248187 0.251973 +0.257653 0.246293 0.246293 0.251973 0.251973 0.23872 0.2444 0.236827 +0.2444 0.253867 0.248187 0.25008 0.246293 0.23872 0.23872 0.22736 +0.236827 0.23304 0.216 0.22168 0.229253 0.242507 0.240613 0.240613 +0.25576 0.26144 0.265227 0.26712 0.259547 0.251973 0.253867 0.25008 +0.236827 0.246293 0.229253 0.236827 0.236827 0.23872 0.231147 0.223573 +0.22736 0.242507 0.242507 0.225467 0.000973333 0.000946667 0.217893 0.217893 +0.000913333 0.00088 0.0009 0.000893333 0.000953333 0.00096 0.00098 0.217893 +0.225467 0.236827 0.253867 0.246293 0.236827 0.231147 0.231147 0.234933 +0.242507 0.246293 0.231147 0.22736 0.22736 0.223573 0.234933 0.23872 +0.236827 0.234933 0.234933 0.231147 0.225467 0.225467 0.217893 0.219787 +0.22736 0.219787 0.219787 0.22168 0.223573 0.219787 0.219787 0.217893 +0.22168 0.000986667 0.00098 0.216 0.217893 0.00098 0.000986667 0.219787 +0.000986667 0.000986667 0.22168 0.000986667 0.000953333 0.000966667 0.000966667 0.00098 +0.22168 0.216 0.216 0.22168 0.000986667 0.000973333 0.000966667 0.00096 +0.216 0.219787 0.217893 0.217893 0.000966667 0.00096 0.00098 0.000986667 +0.22168 0.223573 0.22736 0.231147 0.223573 0.219787 0.234933 0.2444 +0.248187 0.253867 0.246293 0.23872 0.246293 0.246293 0.257653 0.269013 +0.269013 0.280373 0.280373 0.274693 0.28984 0.3012 0.31256 0.331493 +0.339067 0.358 0.388293 0.43184 0.48296 0.515789 0.550526 0.597895 +0.655368 0.724842 0.798105 0.875789 0.951579 0.999918 1.02702 1.04433 +1.05347 1.0538 1.04302 1.02082 0.992735 0.935789 0.859368 0.783579 +0.705263 0.632 0.575789 0.534737 0.496213 0.3864 0.320133 0.30688 +0.291733 0.276587 0.27848 0.265227 0.257653 0.26712 0.259547 0.25008 +0.253867 0.25008 0.248187 0.248187 0.242507 0.246293 0.2444 0.2444 +0.242507 0.240613 0.248187 0.246293 0.2444 0.240613 0.23872 0.2444 +0.236827 0.23872 0.240613 0.231147 0.234933 0.236827 0.234933 0.229253 +0.229253 0.2444 0.2444 0.2444 0.248187 0.251973 0.248187 0.259547 +0.263333 0.26712 0.276587 0.276587 0.28416 0.314453 0.36368 0.43184 +0.527789 0.625684 0.778526 0.954105 1.02735 1.01788 0.913053 0.745684 +0.609263 0.512632 0.358 0.270907 0.219787 0.00092 0.000866667 0.000846667 +0.000853333 0.00088 0.00088 0.000853333 0.000813333 0.000826667 0.000813333 0.000826667 +0.000826667 0.000826667 0.000806667 0.000766667 0.000746667 0.000746667 0.00074 0.000766667 +0.000806667 0.000873333 0.00092 0.0009 0.00088 0.00088 0.217893 0.32392 +0.490533 0.584632 0.717263 0.877684 1.00188 1.02212 0.954105 0.770947 +0.610526 0.517053 0.4148 0.354213 0.325813 0.297413 0.28416 0.280373 +0.26712 0.25576 0.251973 0.248187 0.253867 0.248187 0.240613 0.240613 +0.234933 0.236827 0.240613 0.2444 0.23872 0.236827 0.234933 0.236827 +0.23304 0.231147 0.234933 0.23872 0.236827 0.23872 0.23872 0.234933 +0.229253 0.229253 0.234933 0.242507 0.25008 0.25576 0.259547 0.248187 +0.248187 0.259547 0.25008 0.25008 0.26144 0.265227 0.263333 0.246293 +0.2444 0.253867 0.253867 0.259547 0.265227 0.274693 0.276587 0.287947 +0.30688 0.354213 0.424267 0.510105 0.555579 0.608632 0.683789 0.767789 +0.844842 0.919368 0.983918 1.01298 1.03094 1.04237 1.04759 1.044 +1.02898 1.00841 0.984245 0.927579 0.858737 0.783579 0.712211 0.651579 +0.59979 0.556842 0.521474 0.492427 0.43184 0.393973 0.367467 0.339067 +0.33528 0.32392 0.297413 0.28416 0.286053 0.282267 0.269013 0.263333 +0.265227 0.259547 0.25576 0.25576 0.25576 0.248187 0.236827 0.234933 +0.236827 0.240613 0.2444 0.240613 0.236827 0.23304 0.23304 0.234933 +0.236827 0.234933 0.219787 0.22168 0.234933 0.234933 0.223573 0.225467 +0.22168 0.217893 0.216 0.216 0.22168 0.22168 0.223573 0.22168 +0.225467 0.22168 0.217893 0.000986667 0.00096 0.00098 0.00098 0.000993333 +0.000973333 0.000973333 0.219787 0.000986667 0.00098 0.00098 0.00096 0.000973333 +0.00098 0.000966667 0.000966667 0.00094 0.000966667 0.000973333 0.000986667 0.000966667 +0.000953333 0.00096 0.00098 0.00098 0.000966667 0.219787 0.22736 0.217893 +0.00096 0.000993333 0.216 0.217893 0.000986667 0.000986667 0.216 0.000993333 +0.000986667 0.000986667 0.000986667 0.231147 0.219787 0.000953333 0.000933333 0.00096 +0.000993333 0.225467 0.22736 0.219787 0.225467 0.229253 0.22736 0.231147 +0.223573 0.219787 0.229253 0.246293 0.246293 0.22168 0.216 0.216 +0.00098 0.000946667 0.00088 0.000873333 0.000873333 0.000913333 0.000906667 0.000946667 +0.00098 0.00092 0.00094 0.216 0.231147 0.231147 0.217893 0.000986667 +0.234933 0.253867 0.246293 0.22736 0.223573 0.234933 0.234933 0.23872 +0.246293 0.236827 0.23304 0.23872 0.236827 0.242507 0.253867 0.248187 +0.2444 0.251973 0.251973 0.251973 0.234933 0.229253 0.22736 0.242507 +0.231147 0.231147 0.242507 0.25008 0.248187 0.246293 0.246293 0.25008 +0.253867 0.246293 0.23872 0.248187 0.25008 0.240613 0.246293 0.2444 +0.253867 0.263333 0.2444 0.240613 0.242507 0.240613 0.246293 0.23872 +0.248187 0.240613 0.22168 0.225467 0.231147 0.240613 0.240613 0.236827 +0.242507 0.246293 0.23872 0.246293 0.248187 0.2444 0.242507 0.246293 +0.236827 0.242507 0.223573 0.229253 0.236827 0.229253 0.219787 0.216 +0.000986667 0.229253 0.23304 0.22168 0.217893 0.00098 0.00096 0.000913333 +0.00086 0.000826667 0.00092 0.000966667 0.217893 0.225467 0.229253 0.22168 +0.22168 0.229253 0.234933 0.229253 0.216 0.223573 0.23304 0.242507 +0.257653 0.251973 0.236827 0.236827 0.236827 0.217893 0.219787 0.242507 +0.242507 0.236827 0.236827 0.236827 0.217893 0.229253 0.231147 0.23304 +0.23872 0.225467 0.000993333 0.219787 0.23304 0.223573 0.217893 0.219787 +0.223573 0.000993333 0.217893 0.22168 0.000986667 0.000966667 0.000966667 0.000973333 +0.217893 0.219787 0.22168 0.217893 0.216 0.216 0.000993333 0.216 +0.000993333 0.216 0.22168 0.23304 0.219787 0.000986667 0.000986667 0.22168 +0.22736 0.229253 0.231147 0.234933 0.229253 0.22736 0.225467 0.22736 +0.236827 0.23304 0.234933 0.229253 0.225467 0.231147 0.25008 0.25576 +0.257653 0.259547 0.25576 0.26144 0.270907 0.270907 0.282267 0.29552 +0.299307 0.314453 0.327707 0.31824 0.333387 0.361787 0.384507 0.422373 +0.467813 0.510737 0.544842 0.585895 0.642737 0.709684 0.780421 0.857474 +0.937053 0.991429 1.0182 1.0391 1.05118 1.0538 1.04498 1.028 +1.0058 0.970526 0.892842 0.812632 0.740632 0.666737 0.604842 0.554316 +0.510737 0.43752 0.388293 0.344747 0.303093 0.286053 0.26144 0.265227 +0.269013 0.259547 0.257653 0.259547 0.257653 0.257653 0.25576 0.248187 +0.23872 0.236827 0.2444 0.242507 0.2444 0.25008 0.240613 0.242507 +0.248187 0.242507 0.248187 0.25008 0.2444 0.2444 0.2444 0.23872 +0.23304 0.231147 0.240613 0.23304 0.231147 0.231147 0.23872 0.240613 +0.23872 0.2444 0.25008 0.248187 0.251973 0.25576 0.25008 0.26144 +0.263333 0.263333 0.28416 0.291733 0.303093 0.350427 0.439413 0.534105 +0.633895 0.786737 0.959789 1.02506 1.01037 0.901684 0.735579 0.596632 +0.500632 0.337173 0.265227 0.225467 0.0009 0.000833333 0.000866667 0.000866667 +0.00086 0.00086 0.00084 0.000806667 0.000826667 0.00076 0.00076 0.0008 +0.000786667 0.0008 0.000773333 0.00078 0.0008 0.00078 0.00074 0.000713333 +0.000773333 0.00086 0.00092 0.000913333 0.0009 0.000873333 0.000853333 0.219787 +0.304987 0.464027 0.577053 0.702105 0.861895 0.996 1.01853 0.949684 +0.769684 0.614316 0.520842 0.43184 0.358 0.310667 0.28984 0.287947 +0.269013 0.25576 0.25008 0.25008 0.259547 0.25576 0.246293 0.246293 +0.2444 0.240613 0.246293 0.246293 0.242507 0.236827 0.23872 0.2444 +0.23304 0.229253 0.236827 0.234933 0.231147 0.23304 0.231147 0.23304 +0.236827 0.234933 0.242507 0.253867 0.25008 0.246293 0.2444 0.23872 +0.242507 0.248187 0.246293 0.242507 0.246293 0.248187 0.242507 0.23872 +0.246293 0.253867 0.259547 0.257653 0.253867 0.257653 0.259547 0.259547 +0.26144 0.265227 0.28984 0.31256 0.342853 0.39776 0.486747 0.537895 +0.591579 0.653474 0.726105 0.802526 0.866947 0.931368 0.988163 1.01494 +1.02996 1.04139 1.04824 1.04563 1.03355 1.01298 0.983918 0.92379 +0.853053 0.780421 0.709684 0.647158 0.594737 0.551789 0.517684 0.479173 +0.433733 0.393973 0.359893 0.34096 0.333387 0.32392 0.304987 0.299307 +0.293627 0.286053 0.282267 0.276587 0.263333 0.26144 0.269013 0.259547 +0.259547 0.26144 0.257653 0.246293 0.23872 0.240613 0.2444 0.248187 +0.248187 0.23304 0.225467 0.234933 0.240613 0.23304 0.223573 0.22736 +0.225467 0.22168 0.219787 0.216 0.223573 0.223573 0.217893 0.217893 +0.223573 0.217893 0.00098 0.00098 0.216 0.216 0.00096 0.00098 +0.000986667 0.000986667 0.000993333 0.00098 0.00098 0.000953333 0.00094 0.00096 +0.00096 0.000973333 0.00096 0.000933333 0.000933333 0.000913333 0.000946667 0.000953333 +0.000933333 0.000913333 0.00094 0.00098 0.000953333 0.00096 0.000973333 0.00096 +0.00096 0.00098 0.000993333 0.000973333 0.000953333 0.000946667 0.00098 0.219787 +0.00098 0.00098 0.000993333 0.217893 0.000973333 0.000946667 0.00094 0.000993333 +0.223573 0.225467 0.223573 0.229253 0.23304 0.225467 0.223573 0.22736 +0.229253 0.229253 0.236827 0.253867 0.236827 0.219787 0.23304 0.248187 +0.253867 0.229253 0.000993333 0.00096 0.0009 0.0009 0.000853333 0.0009 +0.00092 0.000893333 0.000933333 0.00098 0.219787 0.219787 0.000993333 0.223573 +0.240613 0.248187 0.234933 0.225467 0.229253 0.22736 0.219787 0.223573 +0.229253 0.223573 0.217893 0.219787 0.219787 0.229253 0.242507 0.240613 +0.242507 0.23872 0.23304 0.23304 0.225467 0.22736 0.231147 0.23304 +0.22168 0.236827 0.251973 0.253867 0.25008 0.248187 0.248187 0.246293 +0.242507 0.236827 0.23304 0.240613 0.242507 0.2444 0.253867 0.246293 +0.25576 0.259547 0.234933 0.23304 0.242507 0.2444 0.242507 0.240613 +0.251973 0.246293 0.225467 0.22736 0.236827 0.236827 0.231147 0.23304 +0.23872 0.23872 0.229253 0.236827 0.2444 0.236827 0.229253 0.234933 +0.225467 0.22736 0.219787 0.22168 0.22736 0.223573 0.22736 0.217893 +0.216 0.231147 0.231147 0.217893 0.000986667 0.000913333 0.0009 0.000913333 +0.00088 0.00094 0.22168 0.22168 0.219787 0.22736 0.229253 0.229253 +0.225467 0.219787 0.22168 0.00098 0.000973333 0.22736 0.246293 0.25008 +0.248187 0.240613 0.234933 0.23872 0.236827 0.229253 0.219787 0.22736 +0.231147 0.229253 0.22736 0.234933 0.225467 0.22736 0.23872 0.23872 +0.23872 0.23304 0.22168 0.22168 0.231147 0.229253 0.223573 0.219787 +0.219787 0.000986667 0.223573 0.219787 0.000986667 0.00098 0.000966667 0.216 +0.225467 0.219787 0.22168 0.223573 0.229253 0.225467 0.225467 0.219787 +0.223573 0.219787 0.225467 0.23304 0.231147 0.22736 0.223573 0.229253 +0.236827 0.231147 0.231147 0.23872 0.242507 0.240613 0.23872 0.23872 +0.25008 0.253867 0.25576 0.25008 0.2444 0.257653 0.270907 0.26712 +0.26712 0.276587 0.282267 0.28984 0.3012 0.310667 0.331493 0.339067 +0.348533 0.37504 0.399653 0.418587 0.46592 0.513263 0.545474 0.586526 +0.637053 0.696421 0.770316 0.845474 0.92 0.984898 1.01233 1.03388 +1.05086 1.0551 1.04759 1.03257 1.00906 0.978737 0.909895 0.839158 +0.772211 0.700211 0.624421 0.565684 0.525895 0.464027 0.388293 0.350427 +0.308773 0.28984 0.28984 0.276587 0.265227 0.259547 0.25576 0.251973 +0.253867 0.253867 0.248187 0.253867 0.257653 0.25576 0.25008 0.248187 +0.242507 0.234933 0.23872 0.234933 0.240613 0.248187 0.2444 0.240613 +0.240613 0.240613 0.234933 0.248187 0.246293 0.242507 0.25008 0.248187 +0.242507 0.234933 0.23872 0.240613 0.234933 0.231147 0.23304 0.2444 +0.251973 0.2444 0.246293 0.251973 0.246293 0.251973 0.265227 0.276587 +0.2728 0.2728 0.28984 0.304987 0.342853 0.42616 0.534105 0.642737 +0.798737 0.969263 1.02571 1.00482 0.882105 0.717895 0.588421 0.496213 +0.3296 0.25008 0.217893 0.00094 0.00086 0.000813333 0.000846667 0.000873333 +0.00082 0.000786667 0.000766667 0.000753333 0.00078 0.00076 0.00078 0.000793333 +0.000766667 0.000786667 0.000813333 0.00082 0.000773333 0.000753333 0.000773333 0.000753333 +0.000746667 0.000753333 0.000813333 0.000866667 0.000913333 0.00088 0.000826667 0.000853333 +0.000966667 0.299307 0.456453 0.569474 0.689474 0.848632 0.990122 1.01559 +0.955368 0.778526 0.619368 0.522105 0.42048 0.34664 0.316347 0.3012 +0.276587 0.270907 0.2728 0.274693 0.26712 0.259547 0.251973 0.248187 +0.2444 0.23872 0.2444 0.242507 0.240613 0.236827 0.234933 0.234933 +0.223573 0.223573 0.23304 0.231147 0.236827 0.234933 0.234933 0.23304 +0.23872 0.240613 0.246293 0.248187 0.23872 0.234933 0.236827 0.23872 +0.240613 0.234933 0.231147 0.23872 0.23872 0.231147 0.2444 0.25008 +0.25008 0.251973 0.25008 0.248187 0.25008 0.25576 0.25576 0.26144 +0.257653 0.251973 0.253867 0.25576 0.26144 0.2728 0.297413 0.322027 +0.36368 0.43184 0.516421 0.561263 0.604842 0.662947 0.733684 0.809474 +0.878947 0.939579 0.990776 1.01918 1.04237 1.05314 1.05412 1.04629 +1.03257 1.01069 0.982286 0.924421 0.856211 0.784211 0.716 0.652211 +0.598526 0.553684 0.520211 0.48864 0.435627 0.401547 0.36936 0.356107 +0.344747 0.331493 0.31824 0.308773 0.287947 0.28984 0.291733 0.282267 +0.280373 0.274693 0.265227 0.26144 0.259547 0.257653 0.251973 0.248187 +0.240613 0.234933 0.246293 0.25008 0.242507 0.242507 0.23872 0.240613 +0.23304 0.217893 0.000993333 0.000993333 0.22168 0.223573 0.22736 0.231147 +0.23304 0.22168 0.000973333 0.000986667 0.000993333 0.00096 0.00098 0.000993333 +0.000993333 0.219787 0.000993333 0.000973333 0.000973333 0.000933333 0.000926667 0.00096 +0.00096 0.00096 0.000966667 0.000946667 0.000933333 0.000913333 0.000933333 0.00094 +0.000933333 0.00092 0.000953333 0.000966667 0.000966667 0.000933333 0.000913333 0.000953333 +0.00098 0.00098 0.00096 0.000973333 0.000993333 0.00094 0.00094 0.216 +0.216 0.217893 0.22736 0.000993333 0.00098 0.000986667 0.000993333 0.225467 +0.229253 0.22168 0.217893 0.223573 0.23304 0.223573 0.219787 0.22168 +0.23304 0.231147 0.23872 0.257653 0.236827 0.22736 0.240613 0.251973 +0.257653 0.236827 0.231147 0.225467 0.22168 0.000986667 0.000926667 0.000906667 +0.00086 0.00088 0.000913333 0.000946667 0.000973333 0.000953333 0.00096 0.000986667 +0.217893 0.219787 0.00098 0.000966667 0.000993333 0.000986667 0.000993333 0.22168 +0.22168 0.000993333 0.00098 0.000966667 0.00098 0.22736 0.23872 0.234933 +0.23304 0.229253 0.231147 0.23304 0.22168 0.223573 0.22736 0.231147 +0.22736 0.2444 0.248187 0.25008 0.242507 0.2444 0.25008 0.248187 +0.242507 0.236827 0.23304 0.23872 0.23872 0.242507 0.25008 0.236827 +0.25008 0.248187 0.225467 0.23304 0.242507 0.234933 0.231147 0.225467 +0.236827 0.246293 0.231147 0.23304 0.240613 0.231147 0.223573 0.225467 +0.23872 0.242507 0.231147 0.242507 0.2444 0.234933 0.216 0.223573 +0.216 0.219787 0.00098 0.000986667 0.000993333 0.22736 0.223573 0.000986667 +0.000986667 0.22736 0.219787 0.000946667 0.00092 0.000906667 0.000946667 0.000986667 +0.219787 0.223573 0.231147 0.225467 0.000986667 0.219787 0.219787 0.000993333 +0.216 0.000986667 0.217893 0.219787 0.216 0.223573 0.242507 0.240613 +0.234933 0.236827 0.242507 0.23304 0.229253 0.236827 0.231147 0.225467 +0.223573 0.225467 0.22168 0.22736 0.23304 0.225467 0.234933 0.229253 +0.23304 0.22736 0.22168 0.223573 0.223573 0.22168 0.223573 0.225467 +0.22736 0.229253 0.236827 0.22736 0.225467 0.22168 0.217893 0.22736 +0.229253 0.217893 0.217893 0.229253 0.231147 0.229253 0.23304 0.229253 +0.234933 0.23304 0.223573 0.223573 0.240613 0.242507 0.23872 0.2444 +0.242507 0.240613 0.234933 0.248187 0.257653 0.251973 0.251973 0.25576 +0.26712 0.27848 0.280373 0.27848 0.274693 0.28984 0.3012 0.299307 +0.308773 0.320133 0.333387 0.348533 0.354213 0.373147 0.407227 0.429947 +0.479173 0.520842 0.548632 0.586526 0.638316 0.698947 0.767789 0.842316 +0.914947 0.978737 1.00939 1.03322 1.04759 1.05412 1.05184 1.04139 +1.02539 0.998939 0.940211 0.853684 0.769053 0.693895 0.629474 0.575789 +0.537263 0.501895 0.405333 0.358 0.3296 0.28984 0.269013 0.274693 +0.263333 0.257653 0.253867 0.248187 0.25576 0.251973 0.253867 0.2444 +0.2444 0.251973 0.246293 0.253867 0.257653 0.251973 0.248187 0.248187 +0.248187 0.248187 0.25008 0.234933 0.23304 0.246293 0.242507 0.242507 +0.240613 0.23872 0.22736 0.236827 0.240613 0.240613 0.248187 0.25008 +0.248187 0.2444 0.240613 0.236827 0.236827 0.234933 0.234933 0.236827 +0.246293 0.248187 0.251973 0.251973 0.251973 0.25576 0.263333 0.27848 +0.282267 0.291733 0.320133 0.35232 0.429947 0.531579 0.638947 0.805053 +0.977474 1.02669 0.998286 0.863158 0.701474 0.577053 0.481067 0.327707 +0.246293 0.00094 0.000873333 0.000866667 0.000866667 0.000866667 0.00086 0.000853333 +0.000793333 0.00074 0.000726667 0.000746667 0.000806667 0.000793333 0.000766667 0.000766667 +0.000786667 0.000786667 0.0008 0.000806667 0.000766667 0.000773333 0.000793333 0.000786667 +0.000713333 0.000686667 0.000733333 0.000793333 0.00088 0.0009 0.000886667 0.000866667 +0.000866667 0.219787 0.303093 0.4432 0.558737 0.674947 0.830947 0.983265 +1.01624 0.960421 0.782316 0.625053 0.529684 0.43752 0.359893 0.320133 +0.299307 0.291733 0.27848 0.274693 0.269013 0.253867 0.246293 0.246293 +0.246293 0.2444 0.248187 0.240613 0.229253 0.223573 0.229253 0.22736 +0.22168 0.231147 0.240613 0.23872 0.234933 0.234933 0.23304 0.23304 +0.240613 0.23872 0.236827 0.236827 0.231147 0.234933 0.236827 0.231147 +0.22736 0.23304 0.229253 0.23304 0.236827 0.242507 0.25576 0.246293 +0.242507 0.25008 0.25008 0.25576 0.253867 0.25008 0.251973 0.257653 +0.248187 0.23304 0.2444 0.25576 0.248187 0.248187 0.25008 0.26144 +0.270907 0.27848 0.303093 0.34096 0.384507 0.45456 0.520842 0.566947 +0.620632 0.667368 0.730526 0.814526 0.901684 0.970526 1.00057 1.02147 +1.03812 1.04922 1.05347 1.05184 1.03878 1.01886 0.991429 0.936421 +0.863789 0.791158 0.723579 0.660421 0.606737 0.562526 0.530316 0.505053 +0.456453 0.42048 0.39208 0.365573 0.348533 0.337173 0.32392 0.303093 +0.297413 0.291733 0.282267 0.27848 0.274693 0.269013 0.265227 0.263333 +0.259547 0.263333 0.259547 0.25008 0.242507 0.2444 0.246293 0.242507 +0.234933 0.223573 0.22168 0.231147 0.223573 0.225467 0.23304 0.229253 +0.22736 0.223573 0.000993333 0.000993333 0.217893 0.219787 0.22736 0.22168 +0.223573 0.217893 0.00098 0.000986667 0.000966667 0.000946667 0.000966667 0.000953333 +0.00096 0.000986667 0.000966667 0.000953333 0.000926667 0.000926667 0.000946667 0.00092 +0.000933333 0.000973333 0.000946667 0.00092 0.000953333 0.000946667 0.000946667 0.00098 +0.000966667 0.000966667 0.000966667 0.216 0.22168 0.000973333 0.000966667 0.000986667 +0.216 0.22736 0.225467 0.219787 0.217893 0.217893 0.22736 0.225467 +0.217893 0.217893 0.22168 0.217893 0.219787 0.217893 0.22168 0.219787 +0.234933 0.236827 0.242507 0.246293 0.231147 0.23304 0.234933 0.240613 +0.2444 0.236827 0.242507 0.242507 0.242507 0.23304 0.225467 0.219787 +0.00094 0.000953333 0.000906667 0.000893333 0.000893333 0.00088 0.000893333 0.000946667 +0.000986667 0.000973333 0.000926667 0.000946667 0.216 0.223573 0.22736 0.217893 +0.000986667 0.217893 0.223573 0.22168 0.000993333 0.223573 0.225467 0.219787 +0.223573 0.225467 0.231147 0.231147 0.217893 0.22168 0.229253 0.231147 +0.236827 0.251973 0.248187 0.2444 0.23872 0.240613 0.23872 0.23304 +0.23304 0.240613 0.242507 0.242507 0.23872 0.23872 0.242507 0.236827 +0.25008 0.242507 0.22736 0.246293 0.246293 0.231147 0.225467 0.223573 +0.22736 0.236827 0.22736 0.223573 0.234933 0.23304 0.22736 0.22736 +0.229253 0.23304 0.223573 0.231147 0.23872 0.234933 0.216 0.217893 +0.000973333 0.216 0.000986667 0.00098 0.000986667 0.000986667 0.00098 0.000946667 +0.00094 0.000953333 0.000933333 0.000933333 0.00096 0.000986667 0.22736 0.219787 +0.223573 0.217893 0.231147 0.240613 0.22736 0.225467 0.217893 0.000993333 +0.217893 0.000973333 0.000986667 0.22736 0.223573 0.223573 0.231147 0.225467 +0.22168 0.234933 0.236827 0.231147 0.234933 0.23304 0.22736 0.22168 +0.231147 0.22736 0.225467 0.229253 0.23304 0.22736 0.236827 0.22736 +0.223573 0.225467 0.229253 0.231147 0.219787 0.22168 0.223573 0.22168 +0.229253 0.234933 0.234933 0.231147 0.234933 0.229253 0.22168 0.231147 +0.231147 0.229253 0.234933 0.240613 0.23872 0.240613 0.234933 0.22736 +0.234933 0.248187 0.23872 0.234933 0.246293 0.25576 0.26144 0.265227 +0.259547 0.257653 0.25576 0.26144 0.276587 0.270907 0.269013 0.2728 +0.282267 0.291733 0.299307 0.31256 0.320133 0.339067 0.344747 0.354213 +0.376933 0.39208 0.418587 0.458347 0.5 0.522105 0.554316 0.594105 +0.647789 0.711579 0.776 0.845474 0.914947 0.976842 1.0058 1.02996 +1.04661 1.05282 1.05118 1.04302 1.02441 1.0022 0.970526 0.904842 +0.834737 0.760211 0.669263 0.584632 0.529684 0.48296 0.412907 0.35232 +0.325813 0.3012 0.270907 0.269013 0.263333 0.251973 0.253867 0.265227 +0.265227 0.259547 0.253867 0.248187 0.253867 0.248187 0.251973 0.248187 +0.236827 0.23872 0.240613 0.25008 0.265227 0.25008 0.246293 0.253867 +0.253867 0.251973 0.25576 0.240613 0.23304 0.240613 0.23872 0.240613 +0.23872 0.240613 0.23304 0.23304 0.234933 0.23872 0.240613 0.240613 +0.240613 0.2444 0.2444 0.234933 0.23872 0.236827 0.242507 0.248187 +0.242507 0.242507 0.257653 0.25576 0.253867 0.26712 0.280373 0.28984 +0.28984 0.3012 0.350427 0.43752 0.532211 0.637053 0.8 0.974947 +1.02343 0.99502 0.849263 0.686947 0.565053 0.46024 0.327707 0.25008 +0.00096 0.000846667 0.0008 0.00084 0.000873333 0.00088 0.00084 0.000786667 +0.000753333 0.00074 0.00076 0.000786667 0.000793333 0.000766667 0.00076 0.000766667 +0.000766667 0.000773333 0.000806667 0.000806667 0.000813333 0.00084 0.00084 0.000806667 +0.000793333 0.00076 0.000746667 0.000753333 0.000793333 0.00088 0.000933333 0.000906667 +0.00082 0.000813333 0.00098 0.287947 0.42048 0.549263 0.66421 0.822105 +0.981959 1.0169 0.967368 0.794316 0.635158 0.529684 0.43184 0.354213 +0.310667 0.297413 0.293627 0.286053 0.280373 0.257653 0.242507 0.251973 +0.248187 0.2444 0.234933 0.229253 0.22736 0.225467 0.23872 0.240613 +0.229253 0.234933 0.2444 0.234933 0.23304 0.236827 0.231147 0.231147 +0.23872 0.229253 0.22736 0.23304 0.223573 0.229253 0.236827 0.229253 +0.229253 0.23872 0.23304 0.234933 0.240613 0.251973 0.25008 0.234933 +0.23872 0.246293 0.25008 0.248187 0.2444 0.242507 0.23872 0.23872 +0.2444 0.246293 0.253867 0.25576 0.25008 0.2444 0.251973 0.248187 +0.242507 0.253867 0.259547 0.263333 0.27848 0.291733 0.314453 0.354213 +0.411013 0.456453 0.512 0.561895 0.630105 0.700842 0.765263 0.832842 +0.896 0.950947 0.994041 1.0218 1.04269 1.05543 1.05967 1.05543 +1.04269 1.0231 0.996 0.947789 0.878947 0.809474 0.745053 0.68 +0.618737 0.577684 0.541684 0.512632 0.481067 0.43752 0.40344 0.373147 +0.34096 0.325813 0.322027 0.31824 0.310667 0.30688 0.299307 0.28984 +0.282267 0.274693 0.263333 0.257653 0.259547 0.25576 0.25008 0.2444 +0.242507 0.23872 0.236827 0.242507 0.240613 0.240613 0.240613 0.236827 +0.23304 0.231147 0.234933 0.22736 0.225467 0.23304 0.229253 0.216 +0.217893 0.217893 0.000993333 0.000986667 0.216 0.217893 0.000993333 0.00096 +0.00098 0.22168 0.000986667 0.00096 0.000953333 0.000973333 0.00098 0.000946667 +0.000993333 0.22168 0.000946667 0.000926667 0.000933333 0.00098 0.000993333 0.00096 +0.00096 0.000973333 0.000973333 0.000986667 0.000973333 0.000986667 0.22168 0.00098 +0.000993333 0.225467 0.223573 0.223573 0.000986667 0.000993333 0.229253 0.223573 +0.000986667 0.217893 0.22168 0.217893 0.00098 0.000986667 0.219787 0.234933 +0.248187 0.242507 0.2444 0.22736 0.223573 0.234933 0.236827 0.234933 +0.22736 0.231147 0.2444 0.23872 0.242507 0.229253 0.236827 0.23304 +0.223573 0.223573 0.000993333 0.000993333 0.00094 0.000886667 0.000866667 0.000906667 +0.000953333 0.00096 0.000933333 0.00098 0.223573 0.225467 0.231147 0.219787 +0.000993333 0.000986667 0.22168 0.22168 0.000993333 0.219787 0.216 0.00098 +0.22168 0.22736 0.234933 0.22736 0.000986667 0.229253 0.236827 0.22736 +0.240613 0.251973 0.2444 0.2444 0.23872 0.248187 0.23872 0.225467 +0.225467 0.248187 0.25008 0.246293 0.2444 0.236827 0.234933 0.23304 +0.25008 0.242507 0.236827 0.246293 0.23872 0.229253 0.225467 0.219787 +0.22736 0.236827 0.22736 0.22168 0.229253 0.229253 0.229253 0.223573 +0.225467 0.240613 0.231147 0.229253 0.22736 0.22168 0.217893 0.219787 +0.00098 0.217893 0.225467 0.216 0.000946667 0.000913333 0.00092 0.00092 +0.000906667 0.000926667 0.217893 0.229253 0.216 0.216 0.22168 0.216 +0.22168 0.217893 0.225467 0.23304 0.225467 0.219787 0.217893 0.22168 +0.22736 0.216 0.22168 0.229253 0.229253 0.225467 0.223573 0.225467 +0.231147 0.236827 0.23304 0.231147 0.236827 0.22736 0.225467 0.22736 +0.23304 0.234933 0.234933 0.225467 0.23304 0.22736 0.231147 0.23304 +0.223573 0.231147 0.23304 0.231147 0.217893 0.225467 0.231147 0.231147 +0.234933 0.231147 0.22736 0.223573 0.23872 0.234933 0.229253 0.231147 +0.234933 0.23872 0.242507 0.25008 0.251973 0.25576 0.242507 0.231147 +0.242507 0.265227 0.257653 0.251973 0.259547 0.269013 0.280373 0.276587 +0.27848 0.28416 0.28416 0.28416 0.293627 0.303093 0.30688 0.310667 +0.308773 0.31824 0.342853 0.359893 0.388293 0.42048 0.441307 0.4716 +0.512 0.537263 0.570737 0.611789 0.662947 0.726105 0.789263 0.857474 +0.92821 0.985224 1.01102 1.0329 1.04531 1.04955 1.04596 1.03878 +1.02702 1.00547 0.976211 0.910526 0.835368 0.763368 0.695158 0.632632 +0.581474 0.532842 0.462133 0.358 0.314453 0.297413 0.286053 0.274693 +0.274693 0.274693 0.26712 0.265227 0.263333 0.257653 0.246293 0.2444 +0.25008 0.251973 0.246293 0.25576 0.259547 0.2444 0.242507 0.251973 +0.25576 0.25008 0.229253 0.229253 0.253867 0.25008 0.2444 0.246293 +0.25008 0.240613 0.2444 0.242507 0.23304 0.240613 0.242507 0.246293 +0.236827 0.242507 0.2444 0.23872 0.23872 0.236827 0.231147 0.23872 +0.234933 0.23872 0.240613 0.231147 0.23872 0.248187 0.246293 0.246293 +0.240613 0.242507 0.251973 0.251973 0.25576 0.270907 0.287947 0.304987 +0.327707 0.359893 0.43752 0.533474 0.636421 0.8 0.975579 1.02049 +0.985878 0.834105 0.675579 0.556842 0.439413 0.308773 0.2444 0.000966667 +0.000893333 0.000846667 0.000826667 0.00086 0.000866667 0.000846667 0.000793333 0.000733333 +0.000726667 0.000733333 0.000746667 0.00078 0.00076 0.000773333 0.000813333 0.0008 +0.000786667 0.000826667 0.000846667 0.000846667 0.00084 0.00084 0.000846667 0.000833333 +0.000826667 0.000786667 0.000693333 0.000653333 0.000713333 0.000806667 0.00088 0.000893333 +0.00086 0.00082 0.00084 0.216 0.293627 0.418587 0.548 0.65979 +0.814526 0.976211 1.01461 0.965474 0.794947 0.632632 0.529684 0.429947 +0.356107 0.331493 0.327707 0.303093 0.27848 0.26144 0.25008 0.242507 +0.23872 0.23872 0.23304 0.23872 0.248187 0.242507 0.240613 0.240613 +0.236827 0.23872 0.236827 0.223573 0.225467 0.22736 0.223573 0.223573 +0.229253 0.22736 0.225467 0.23304 0.236827 0.234933 0.229253 0.22736 +0.231147 0.236827 0.231147 0.231147 0.236827 0.248187 0.236827 0.22168 +0.234933 0.246293 0.248187 0.240613 0.23872 0.240613 0.234933 0.22736 +0.234933 0.242507 0.248187 0.248187 0.251973 0.25008 0.248187 0.242507 +0.25008 0.248187 0.246293 0.2444 0.253867 0.263333 0.263333 0.269013 +0.276587 0.286053 0.303093 0.331493 0.40344 0.500632 0.536 0.577684 +0.623789 0.670526 0.737474 0.819579 0.898526 0.970526 1.00351 1.02604 +1.04367 1.05543 1.06 1.05706 1.04531 1.03061 1.00612 0.968632 +0.901053 0.832211 0.762737 0.699579 0.645895 0.594737 0.556211 0.525895 +0.49432 0.445093 0.42048 0.405333 0.384507 0.36368 0.34096 0.322027 +0.308773 0.3012 0.293627 0.282267 0.280373 0.280373 0.27848 0.269013 +0.26712 0.257653 0.248187 0.25008 0.259547 0.259547 0.253867 0.25008 +0.25008 0.2444 0.25008 0.236827 0.229253 0.23872 0.234933 0.219787 +0.217893 0.22736 0.22736 0.223573 0.219787 0.000993333 0.000993333 0.000986667 +0.22168 0.219787 0.000986667 0.217893 0.219787 0.22168 0.000993333 0.217893 +0.22736 0.223573 0.217893 0.000993333 0.000973333 0.219787 0.217893 0.000966667 +0.000973333 0.00098 0.216 0.000986667 0.000953333 0.217893 0.225467 0.000993333 +0.217893 0.219787 0.22736 0.22168 0.000986667 0.217893 0.225467 0.22168 +0.219787 0.217893 0.22168 0.229253 0.219787 0.22168 0.225467 0.246293 +0.251973 0.242507 0.234933 0.216 0.22168 0.236827 0.240613 0.236827 +0.22736 0.225467 0.223573 0.219787 0.23304 0.234933 0.234933 0.223573 +0.225467 0.231147 0.236827 0.242507 0.225467 0.000966667 0.000926667 0.000953333 +0.000953333 0.00094 0.000913333 0.00096 0.000986667 0.219787 0.229253 0.000993333 +0.00098 0.000966667 0.219787 0.22168 0.000993333 0.219787 0.000993333 0.000973333 +0.217893 0.229253 0.242507 0.225467 0.000973333 0.225467 0.234933 0.22736 +0.246293 0.248187 0.236827 0.23304 0.22736 0.242507 0.242507 0.234933 +0.23304 0.246293 0.2444 0.2444 0.242507 0.23304 0.23304 0.231147 +0.248187 0.251973 0.246293 0.2444 0.236827 0.236827 0.22736 0.217893 +0.223573 0.231147 0.22736 0.216 0.22736 0.231147 0.234933 0.225467 +0.225467 0.240613 0.229253 0.22736 0.229253 0.229253 0.217893 0.216 +0.216 0.225467 0.000986667 0.00094 0.000913333 0.000886667 0.00096 0.000953333 +0.00096 0.000993333 0.23304 0.23304 0.22736 0.223573 0.217893 0.000993333 +0.219787 0.223573 0.22168 0.229253 0.231147 0.217893 0.22168 0.225467 +0.231147 0.225467 0.23304 0.2444 0.23304 0.225467 0.22168 0.231147 +0.2444 0.23872 0.242507 0.240613 0.23872 0.22168 0.229253 0.229253 +0.234933 0.242507 0.246293 0.236827 0.229253 0.225467 0.23304 0.231147 +0.22736 0.240613 0.23304 0.22736 0.219787 0.22736 0.234933 0.236827 +0.248187 0.242507 0.234933 0.229253 0.246293 0.246293 0.242507 0.231147 +0.23304 0.242507 0.242507 0.259547 0.263333 0.263333 0.26712 0.26144 +0.263333 0.27848 0.286053 0.28416 0.286053 0.293627 0.3012 0.297413 +0.299307 0.314453 0.31824 0.320133 0.333387 0.35232 0.367467 0.384507 +0.395867 0.4148 0.450773 0.498107 0.524632 0.554947 0.589053 0.632 +0.688842 0.753895 0.819579 0.882105 0.944632 0.994694 1.01657 1.03453 +1.04857 1.05249 1.04955 1.04139 1.02278 0.999918 0.968 0.915579 +0.855579 0.781053 0.706526 0.636421 0.579579 0.534737 0.48296 0.399653 +0.361787 0.322027 0.28984 0.274693 0.263333 0.265227 0.259547 0.257653 +0.26144 0.263333 0.259547 0.257653 0.26144 0.263333 0.263333 0.25576 +0.246293 0.2444 0.23872 0.242507 0.2444 0.23872 0.23872 0.242507 +0.251973 0.251973 0.23872 0.23872 0.248187 0.246293 0.242507 0.246293 +0.240613 0.23304 0.234933 0.234933 0.231147 0.231147 0.234933 0.242507 +0.234933 0.234933 0.2444 0.242507 0.234933 0.23872 0.23872 0.234933 +0.23304 0.236827 0.236827 0.236827 0.246293 0.251973 0.25008 0.242507 +0.23872 0.25008 0.253867 0.25576 0.269013 0.286053 0.299307 0.314453 +0.361787 0.464027 0.546105 0.645263 0.802526 0.976211 1.0182 0.982286 +0.823368 0.667368 0.555579 0.441307 0.308773 0.236827 0.00094 0.000846667 +0.00084 0.000873333 0.00086 0.00088 0.000846667 0.000766667 0.000733333 0.00074 +0.000773333 0.00078 0.000773333 0.000786667 0.000786667 0.00082 0.000813333 0.000826667 +0.00082 0.0008 0.000793333 0.000793333 0.000766667 0.000773333 0.000826667 0.000846667 +0.000786667 0.000766667 0.000713333 0.000713333 0.000713333 0.000733333 0.0008 0.00086 +0.000906667 0.000873333 0.0008 0.000846667 0.000993333 0.274693 0.411013 0.546105 +0.652211 0.802526 0.958526 1.00776 0.967368 0.799368 0.633895 0.529684 +0.450773 0.378827 0.331493 0.297413 0.276587 0.270907 0.263333 0.25576 +0.25008 0.25008 0.251973 0.253867 0.253867 0.240613 0.23304 0.23304 +0.23304 0.236827 0.229253 0.22168 0.223573 0.219787 0.223573 0.22736 +0.231147 0.23872 0.23304 0.234933 0.236827 0.23304 0.225467 0.225467 +0.229253 0.231147 0.22736 0.229253 0.231147 0.231147 0.22736 0.229253 +0.236827 0.240613 0.23872 0.23872 0.236827 0.229253 0.225467 0.229253 +0.236827 0.248187 0.25008 0.248187 0.248187 0.248187 0.2444 0.2444 +0.248187 0.2444 0.248187 0.246293 0.242507 0.242507 0.2444 0.25008 +0.248187 0.246293 0.251973 0.253867 0.269013 0.297413 0.31824 0.34664 +0.382613 0.441307 0.518316 0.571368 0.632 0.700842 0.764 0.827158 +0.899158 0.965474 1.00122 1.02506 1.04139 1.05478 1.05967 1.05869 +1.05151 1.03322 1.01069 0.984245 0.930737 0.861895 0.794316 0.731158 +0.676211 0.625684 0.585263 0.553053 0.524 0.501895 0.452667 0.4148 +0.3864 0.37504 0.359893 0.33528 0.31824 0.31824 0.314453 0.291733 +0.282267 0.28416 0.280373 0.28416 0.28416 0.274693 0.259547 0.26144 +0.270907 0.26144 0.25576 0.25008 0.23872 0.2444 0.25008 0.240613 +0.231147 0.23304 0.236827 0.236827 0.22736 0.22168 0.22736 0.229253 +0.234933 0.000993333 0.000993333 0.219787 0.225467 0.225467 0.000993333 0.223573 +0.22168 0.225467 0.22168 0.219787 0.219787 0.223573 0.22168 0.22736 +0.219787 0.216 0.223573 0.000993333 0.219787 0.22168 0.22168 0.229253 +0.234933 0.225467 0.225467 0.219787 0.00098 0.217893 0.22168 0.22168 +0.231147 0.223573 0.217893 0.229253 0.22736 0.223573 0.231147 0.246293 +0.240613 0.234933 0.217893 0.00098 0.219787 0.231147 0.236827 0.236827 +0.22736 0.223573 0.217893 0.22168 0.23304 0.23872 0.23304 0.22168 +0.22168 0.223573 0.240613 0.251973 0.23304 0.219787 0.225467 0.23872 +0.223573 0.000966667 0.000913333 0.000913333 0.000893333 0.0009 0.00096 0.000953333 +0.000946667 0.000953333 0.219787 0.00098 0.000966667 0.000993333 0.00096 0.00096 +0.22168 0.225467 0.231147 0.225467 0.000993333 0.225467 0.234933 0.236827 +0.246293 0.240613 0.234933 0.223573 0.219787 0.236827 0.242507 0.236827 +0.23872 0.2444 0.234933 0.23872 0.23872 0.229253 0.23304 0.234933 +0.246293 0.2444 0.23872 0.240613 0.236827 0.242507 0.234933 0.223573 +0.22736 0.23304 0.22736 0.00098 0.225467 0.229253 0.22736 0.229253 +0.22736 0.229253 0.216 0.225467 0.231147 0.234933 0.22736 0.217893 +0.000986667 0.000946667 0.00092 0.00092 0.000953333 0.000973333 0.217893 0.216 +0.223573 0.225467 0.22736 0.22736 0.229253 0.223573 0.216 0.00098 +0.217893 0.223573 0.22168 0.231147 0.240613 0.231147 0.236827 0.236827 +0.240613 0.23872 0.23872 0.246293 0.23304 0.231147 0.231147 0.23872 +0.2444 0.23872 0.242507 0.23872 0.240613 0.22736 0.229253 0.23304 +0.229253 0.2444 0.248187 0.25008 0.236827 0.234933 0.242507 0.2444 +0.23304 0.242507 0.236827 0.240613 0.231147 0.236827 0.246293 0.248187 +0.25576 0.257653 0.251973 0.2444 0.251973 0.263333 0.26712 0.248187 +0.25008 0.25576 0.251973 0.274693 0.27848 0.276587 0.291733 0.299307 +0.27848 0.282267 0.310667 0.316347 0.322027 0.331493 0.33528 0.344747 +0.350427 0.36368 0.376933 0.388293 0.42048 0.456453 0.5 0.520842 +0.547368 0.577053 0.614316 0.666105 0.728632 0.785474 0.848 0.912421 +0.972421 1.00449 1.02735 1.04008 1.04988 1.05478 1.0489 1.03551 +1.02016 0.996653 0.962316 0.903579 0.828421 0.762105 0.707789 0.655368 +0.603579 0.548632 0.502526 0.4148 0.356107 0.320133 0.28984 0.270907 +0.269013 0.265227 0.265227 0.26144 0.253867 0.259547 0.26144 0.25576 +0.251973 0.25576 0.248187 0.2444 0.251973 0.251973 0.25576 0.257653 +0.251973 0.25008 0.242507 0.242507 0.240613 0.242507 0.242507 0.2444 +0.23872 0.234933 0.236827 0.234933 0.23304 0.231147 0.240613 0.246293 +0.236827 0.23304 0.234933 0.240613 0.242507 0.234933 0.234933 0.234933 +0.23304 0.229253 0.231147 0.240613 0.231147 0.240613 0.251973 0.23872 +0.23304 0.240613 0.23872 0.23872 0.2444 0.253867 0.259547 0.253867 +0.25008 0.25576 0.26144 0.2728 0.280373 0.29552 0.322027 0.365573 +0.452667 0.548632 0.666105 0.826526 0.981306 1.01559 0.968632 0.806947 +0.654105 0.548632 0.44888 0.32392 0.246293 0.000946667 0.000853333 0.000833333 +0.000853333 0.000886667 0.000853333 0.000826667 0.000773333 0.00072 0.000713333 0.000753333 +0.000786667 0.00076 0.00076 0.000786667 0.000813333 0.000806667 0.000793333 0.000813333 +0.000793333 0.00078 0.00076 0.000786667 0.000806667 0.00082 0.000826667 0.0008 +0.000786667 0.000793333 0.000786667 0.00074 0.000686667 0.000693333 0.00074 0.000793333 +0.00086 0.00086 0.000853333 0.000806667 0.00084 0.000986667 0.286053 0.42048 +0.537895 0.638316 0.784211 0.945263 1.00645 0.970526 0.798737 0.632 +0.534737 0.44888 0.36936 0.333387 0.303093 0.28416 0.274693 0.265227 +0.251973 0.253867 0.253867 0.25576 0.2444 0.234933 0.236827 0.231147 +0.22736 0.231147 0.229253 0.22736 0.229253 0.23304 0.234933 0.231147 +0.231147 0.231147 0.225467 0.223573 0.231147 0.231147 0.22736 0.219787 +0.22168 0.217893 0.000986667 0.223573 0.229253 0.225467 0.225467 0.229253 +0.236827 0.2444 0.23872 0.229253 0.22736 0.23872 0.23872 0.234933 +0.234933 0.23872 0.242507 0.234933 0.236827 0.2444 0.246293 0.248187 +0.242507 0.23304 0.236827 0.23872 0.23872 0.234933 0.236827 0.240613 +0.234933 0.246293 0.25576 0.251973 0.248187 0.248187 0.251973 0.25576 +0.2728 0.282267 0.310667 0.342853 0.401547 0.49432 0.529053 0.575789 +0.635158 0.695158 0.757684 0.823368 0.885263 0.945895 0.992735 1.01788 +1.03714 1.04857 1.0551 1.05543 1.04955 1.0391 1.02082 0.999265 +0.968 0.911158 0.848 0.786737 0.726105 0.668 0.618737 0.578947 +0.548 0.520211 0.501895 0.452667 0.411013 0.395867 0.378827 0.358 +0.34664 0.339067 0.327707 0.316347 0.304987 0.29552 0.28984 0.287947 +0.280373 0.26712 0.263333 0.26144 0.259547 0.259547 0.259547 0.259547 +0.25576 0.253867 0.25576 0.25008 0.23872 0.225467 0.234933 0.246293 +0.229253 0.217893 0.229253 0.234933 0.236827 0.229253 0.229253 0.229253 +0.223573 0.229253 0.225467 0.225467 0.231147 0.22736 0.231147 0.231147 +0.219787 0.223573 0.22736 0.217893 0.229253 0.22168 0.225467 0.236827 +0.23872 0.22168 0.00098 0.217893 0.225467 0.22736 0.217893 0.223573 +0.22736 0.000986667 0.000986667 0.217893 0.225467 0.229253 0.23304 0.231147 +0.223573 0.23304 0.223573 0.216 0.22168 0.231147 0.23872 0.236827 +0.23304 0.225467 0.225467 0.2444 0.2444 0.23304 0.22736 0.231147 +0.229253 0.223573 0.234933 0.242507 0.23304 0.22736 0.240613 0.257653 +0.246293 0.225467 0.219787 0.219787 0.00094 0.000926667 0.000906667 0.000893333 +0.000913333 0.000913333 0.000933333 0.00092 0.00096 0.216 0.000966667 0.000953333 +0.000986667 0.217893 0.223573 0.217893 0.000993333 0.231147 0.240613 0.234933 +0.23304 0.23304 0.236827 0.216 0.219787 0.240613 0.242507 0.231147 +0.234933 0.23872 0.234933 0.23872 0.229253 0.225467 0.229253 0.231147 +0.240613 0.234933 0.234933 0.234933 0.22736 0.240613 0.240613 0.225467 +0.22168 0.234933 0.234933 0.00098 0.217893 0.217893 0.22736 0.234933 +0.229253 0.225467 0.219787 0.22736 0.219787 0.22736 0.217893 0.00096 +0.00092 0.0009 0.00092 0.00098 0.22168 0.225467 0.22736 0.219787 +0.219787 0.219787 0.225467 0.23304 0.23304 0.223573 0.000993333 0.216 +0.223573 0.229253 0.22168 0.225467 0.234933 0.22736 0.231147 0.23872 +0.248187 0.253867 0.234933 0.23304 0.23304 0.229253 0.234933 0.2444 +0.2444 0.23872 0.2444 0.234933 0.236827 0.236827 0.231147 0.23872 +0.242507 0.25576 0.251973 0.248187 0.23872 0.246293 0.251973 0.251973 +0.25008 0.2444 0.246293 0.246293 0.240613 0.248187 0.257653 0.26144 +0.26144 0.265227 0.265227 0.25576 0.25576 0.269013 0.286053 0.280373 +0.27848 0.276587 0.286053 0.29552 0.304987 0.303093 0.308773 0.333387 +0.32392 0.322027 0.34664 0.354213 0.36936 0.393973 0.401547 0.435627 +0.464027 0.496213 0.517053 0.539158 0.571368 0.612421 0.657895 0.710316 +0.768421 0.829053 0.886526 0.949053 0.994041 1.01559 1.0342 1.04792 +1.0538 1.05347 1.04596 1.02931 1.00906 0.982939 0.931368 0.871368 +0.815158 0.754526 0.697053 0.636421 0.574526 0.530316 0.503158 0.44888 +0.388293 0.333387 0.297413 0.274693 0.263333 0.263333 0.26144 0.25576 +0.253867 0.253867 0.257653 0.25576 0.253867 0.257653 0.257653 0.2444 +0.25008 0.251973 0.248187 0.248187 0.246293 0.248187 0.25008 0.248187 +0.242507 0.23872 0.23872 0.23872 0.23872 0.234933 0.23304 0.236827 +0.236827 0.22736 0.229253 0.231147 0.22736 0.22168 0.229253 0.229253 +0.225467 0.231147 0.234933 0.236827 0.25008 0.2444 0.234933 0.234933 +0.242507 0.23872 0.229253 0.23872 0.242507 0.236827 0.248187 0.240613 +0.229253 0.23304 0.25008 0.246293 0.246293 0.251973 0.26144 0.270907 +0.263333 0.26712 0.282267 0.297413 0.30688 0.325813 0.373147 0.46592 +0.546105 0.657895 0.834737 0.989469 1.01461 0.953474 0.789263 0.638947 +0.538526 0.43184 0.320133 0.25008 0.000946667 0.000846667 0.000806667 0.00086 +0.0009 0.000893333 0.000826667 0.00074 0.000713333 0.000706667 0.000733333 0.0008 +0.00082 0.000786667 0.000753333 0.000793333 0.000746667 0.000753333 0.000773333 0.000793333 +0.0008 0.000806667 0.000813333 0.000833333 0.00082 0.0008 0.000766667 0.00076 +0.0008 0.000806667 0.000773333 0.00074 0.000713333 0.000706667 0.000686667 0.000713333 +0.000793333 0.000846667 0.00088 0.00086 0.00082 0.00088 0.22168 0.28416 +0.401547 0.532842 0.628211 0.769053 0.929474 1.00482 0.972421 0.804421 +0.640842 0.538526 0.464027 0.37504 0.32392 0.297413 0.282267 0.270907 +0.26144 0.26144 0.253867 0.251973 0.248187 0.242507 0.23872 0.23304 +0.22736 0.234933 0.229253 0.223573 0.229253 0.23304 0.229253 0.23304 +0.229253 0.217893 0.22736 0.229253 0.217893 0.219787 0.219787 0.00098 +0.216 0.217893 0.216 0.231147 0.229253 0.223573 0.22168 0.216 +0.223573 0.234933 0.23304 0.22168 0.22736 0.234933 0.22736 0.225467 +0.225467 0.229253 0.231147 0.231147 0.240613 0.240613 0.231147 0.225467 +0.23304 0.234933 0.236827 0.23872 0.234933 0.23304 0.236827 0.242507 +0.240613 0.240613 0.240613 0.2444 0.248187 0.25008 0.25008 0.246293 +0.25008 0.257653 0.263333 0.259547 0.26712 0.28416 0.304987 0.35232 +0.4148 0.498107 0.529053 0.563789 0.611789 0.668 0.732421 0.798737 +0.868211 0.935158 0.983265 1.00318 1.01984 1.03714 1.04694 1.05216 +1.05347 1.0502 1.03845 1.0231 1.00122 0.963579 0.901684 0.840421 +0.781684 0.719789 0.666105 0.617474 0.575789 0.546105 0.523368 0.505684 +0.464027 0.422373 0.399653 0.38072 0.358 0.350427 0.342853 0.33528 +0.320133 0.3012 0.29552 0.297413 0.303093 0.29552 0.282267 0.28984 +0.28416 0.274693 0.276587 0.265227 0.248187 0.23872 0.248187 0.25576 +0.236827 0.231147 0.248187 0.25008 0.25008 0.246293 0.242507 0.23872 +0.23304 0.236827 0.23872 0.246293 0.240613 0.23872 0.23304 0.219787 +0.22168 0.240613 0.229253 0.22736 0.229253 0.225467 0.23304 0.23304 +0.22736 0.22168 0.22168 0.223573 0.23304 0.231147 0.22168 0.231147 +0.223573 0.000973333 0.000993333 0.000993333 0.225467 0.22736 0.231147 0.219787 +0.22168 0.23304 0.22168 0.22168 0.231147 0.242507 0.240613 0.23872 +0.23872 0.23304 0.229253 0.23872 0.236827 0.223573 0.000993333 0.229253 +0.231147 0.229253 0.236827 0.231147 0.22736 0.225467 0.246293 0.253867 +0.242507 0.246293 0.248187 0.246293 0.229253 0.223573 0.000973333 0.000926667 +0.0009 0.000873333 0.000886667 0.0009 0.000933333 0.00098 0.00098 0.00096 +0.000986667 0.223573 0.223573 0.000993333 0.217893 0.22736 0.225467 0.225467 +0.229253 0.231147 0.234933 0.223573 0.23304 0.236827 0.229253 0.22736 +0.23304 0.242507 0.23872 0.236827 0.223573 0.225467 0.231147 0.236827 +0.23872 0.231147 0.240613 0.234933 0.223573 0.2444 0.240613 0.216 +0.00098 0.22736 0.225467 0.000973333 0.217893 0.225467 0.22736 0.23304 +0.225467 0.225467 0.217893 0.000993333 0.000946667 0.000946667 0.00094 0.000906667 +0.00094 0.00098 0.223573 0.223573 0.219787 0.216 0.229253 0.22168 +0.216 0.219787 0.223573 0.229253 0.225467 0.219787 0.000986667 0.223573 +0.231147 0.229253 0.231147 0.229253 0.234933 0.229253 0.22736 0.242507 +0.240613 0.2444 0.22736 0.236827 0.2444 0.231147 0.236827 0.25008 +0.246293 0.242507 0.248187 0.2444 0.242507 0.2444 0.23304 0.242507 +0.248187 0.257653 0.263333 0.251973 0.251973 0.25576 0.259547 0.265227 +0.25576 0.251973 0.251973 0.25008 0.25008 0.25576 0.25576 0.269013 +0.274693 0.287947 0.28416 0.280373 0.27848 0.286053 0.297413 0.304987 +0.3012 0.304987 0.327707 0.33528 0.350427 0.35232 0.359893 0.382613 +0.395867 0.412907 0.435627 0.46024 0.498107 0.520842 0.544842 0.577684 +0.614947 0.654105 0.705895 0.761474 0.824 0.886526 0.943368 0.986857 +1.01004 1.02735 1.04041 1.05053 1.0538 1.04824 1.03878 1.02473 +1.00482 0.973053 0.907368 0.840421 0.769684 0.704 0.649053 0.602947 +0.561895 0.527789 0.498107 0.4148 0.350427 0.31824 0.293627 0.276587 +0.274693 0.263333 0.25576 0.259547 0.25576 0.257653 0.257653 0.259547 +0.253867 0.248187 0.251973 0.251973 0.248187 0.253867 0.25008 0.240613 +0.246293 0.2444 0.229253 0.23304 0.246293 0.248187 0.234933 0.23304 +0.23872 0.23304 0.23304 0.23872 0.236827 0.23304 0.22736 0.229253 +0.229253 0.223573 0.225467 0.22736 0.23304 0.229253 0.23304 0.229253 +0.22168 0.231147 0.231147 0.229253 0.240613 0.240613 0.23872 0.231147 +0.22736 0.240613 0.231147 0.234933 0.246293 0.25008 0.248187 0.246293 +0.246293 0.246293 0.2444 0.242507 0.2444 0.251973 0.26144 0.265227 +0.265227 0.276587 0.297413 0.322027 0.33528 0.37504 0.48864 0.563789 +0.676211 0.836632 0.989143 1.01331 0.940842 0.770947 0.624421 0.525263 +0.407227 0.308773 0.242507 0.000946667 0.000853333 0.0008 0.000833333 0.000873333 +0.00086 0.000833333 0.000766667 0.000693333 0.000693333 0.00072 0.000746667 0.000793333 +0.000806667 0.000826667 0.000813333 0.000786667 0.00076 0.00078 0.000773333 0.000766667 +0.0008 0.000806667 0.00082 0.000806667 0.000753333 0.000753333 0.000773333 0.000786667 +0.000793333 0.000766667 0.000766667 0.00078 0.000766667 0.00072 0.000693333 0.000686667 +0.000706667 0.000766667 0.000813333 0.000853333 0.00084 0.000826667 0.00092 0.219787 +0.28416 0.40344 0.524 0.614316 0.750737 0.919368 1.00188 0.976211 +0.818316 0.657263 0.551789 0.469707 0.37504 0.325813 0.299307 0.291733 +0.282267 0.270907 0.253867 0.2444 0.240613 0.23872 0.23304 0.22168 +0.229253 0.236827 0.229253 0.22736 0.22736 0.223573 0.229253 0.231147 +0.219787 0.000993333 0.219787 0.219787 0.000986667 0.219787 0.223573 0.217893 +0.225467 0.223573 0.216 0.225467 0.22168 0.000986667 0.000986667 0.000986667 +0.219787 0.22168 0.219787 0.217893 0.223573 0.229253 0.219787 0.000986667 +0.216 0.22736 0.229253 0.225467 0.223573 0.225467 0.223573 0.225467 +0.236827 0.229253 0.229253 0.242507 0.234933 0.23304 0.231147 0.229253 +0.234933 0.242507 0.25008 0.246293 0.234933 0.236827 0.248187 0.25008 +0.25008 0.25008 0.251973 0.251973 0.253867 0.251973 0.257653 0.265227 +0.274693 0.287947 0.303093 0.325813 0.378827 0.450773 0.512 0.546737 +0.599158 0.660421 0.715368 0.764632 0.814526 0.878316 0.933895 0.983265 +1.01037 1.03094 1.04465 1.05641 1.07217 1.05902 1.05184 1.04237 +1.02506 0.999265 0.960421 0.901684 0.839158 0.777263 0.722316 0.671789 +0.621895 0.580842 0.551158 0.529684 0.510105 0.484853 0.446987 0.428053 +0.40344 0.37504 0.371253 0.367467 0.361787 0.34096 0.327707 0.325813 +0.316347 0.299307 0.291733 0.280373 0.269013 0.276587 0.282267 0.269013 +0.26144 0.25576 0.25576 0.25576 0.263333 0.259547 0.25576 0.253867 +0.257653 0.248187 0.246293 0.26144 0.253867 0.242507 0.231147 0.22168 +0.236827 0.242507 0.223573 0.229253 0.231147 0.234933 0.242507 0.231147 +0.231147 0.234933 0.23872 0.231147 0.23304 0.23304 0.23304 0.246293 +0.22736 0.22168 0.000986667 0.000986667 0.22168 0.22736 0.23304 0.223573 +0.225467 0.219787 0.216 0.231147 0.2444 0.246293 0.234933 0.22736 +0.22736 0.229253 0.231147 0.234933 0.22736 0.217893 0.22168 0.23872 +0.2444 0.2444 0.240613 0.225467 0.22736 0.23304 0.25008 0.246293 +0.2444 0.253867 0.25576 0.248187 0.236827 0.23304 0.22168 0.22168 +0.216 0.00094 0.000906667 0.000893333 0.000906667 0.00092 0.00092 0.000953333 +0.223573 0.22736 0.00098 0.000966667 0.000986667 0.217893 0.219787 0.223573 +0.23304 0.236827 0.229253 0.229253 0.240613 0.23304 0.229253 0.22736 +0.231147 0.23872 0.23872 0.236827 0.223573 0.225467 0.229253 0.23872 +0.23304 0.23304 0.2444 0.236827 0.229253 0.242507 0.22736 0.00098 +0.216 0.231147 0.217893 0.00094 0.22168 0.22168 0.219787 0.217893 +0.000966667 0.000953333 0.000926667 0.000953333 0.00094 0.000953333 0.00098 0.000973333 +0.219787 0.22736 0.22736 0.225467 0.229253 0.219787 0.22736 0.225467 +0.216 0.216 0.22736 0.231147 0.223573 0.225467 0.219787 0.22736 +0.234933 0.23304 0.236827 0.234933 0.234933 0.242507 0.242507 0.253867 +0.246293 0.240613 0.234933 0.2444 0.246293 0.240613 0.246293 0.251973 +0.25008 0.251973 0.25576 0.257653 0.257653 0.259547 0.253867 0.25576 +0.257653 0.26144 0.270907 0.2728 0.26712 0.265227 0.274693 0.27848 +0.270907 0.265227 0.265227 0.265227 0.2728 0.282267 0.27848 0.287947 +0.29552 0.303093 0.30688 0.314453 0.310667 0.32392 0.337173 0.348533 +0.354213 0.365573 0.388293 0.40912 0.429947 0.450773 0.484853 0.512 +0.535368 0.56 0.590947 0.630105 0.669895 0.714737 0.770947 0.828421 +0.885895 0.939579 0.985551 1.01004 1.03224 1.04596 1.05282 1.05576 +1.05249 1.04139 1.02996 1.01396 0.988163 0.940842 0.879579 0.819579 +0.764632 0.697684 0.627579 0.577053 0.533474 0.498107 0.429947 0.378827 +0.337173 0.30688 0.286053 0.270907 0.26144 0.257653 0.246293 0.251973 +0.259547 0.257653 0.251973 0.257653 0.25576 0.25576 0.253867 0.259547 +0.251973 0.253867 0.251973 0.25008 0.253867 0.246293 0.242507 0.23872 +0.23872 0.240613 0.23304 0.234933 0.2444 0.242507 0.229253 0.234933 +0.23872 0.234933 0.225467 0.22736 0.234933 0.231147 0.23304 0.23872 +0.236827 0.229253 0.219787 0.223573 0.22736 0.223573 0.22736 0.225467 +0.225467 0.219787 0.225467 0.229253 0.23304 0.234933 0.242507 0.23872 +0.217893 0.223573 0.22736 0.225467 0.236827 0.246293 0.242507 0.2444 +0.25008 0.25576 0.25576 0.2444 0.246293 0.257653 0.26712 0.270907 +0.269013 0.280373 0.297413 0.339067 0.390187 0.48296 0.566316 0.693895 +0.865684 0.996 1.01004 0.927579 0.757684 0.614316 0.519579 0.393973 +0.299307 0.234933 0.00092 0.000853333 0.00082 0.00082 0.00086 0.000846667 +0.000773333 0.000726667 0.000713333 0.000733333 0.000746667 0.000766667 0.000806667 0.000806667 +0.00078 0.000813333 0.000846667 0.0008 0.000746667 0.000746667 0.00074 0.000746667 +0.000766667 0.0008 0.00082 0.000793333 0.000773333 0.00078 0.000786667 0.000786667 +0.0008 0.000786667 0.000766667 0.00078 0.000786667 0.00074 0.000706667 0.000686667 +0.000673333 0.000686667 0.000746667 0.000853333 0.00086 0.000846667 0.00088 0.000913333 +0.223573 0.274693 0.3864 0.517684 0.598526 0.734316 0.902947 0.998939 +0.983918 0.840421 0.678105 0.561263 0.486747 0.384507 0.3296 0.3012 +0.27848 0.269013 0.259547 0.2444 0.236827 0.23872 0.234933 0.225467 +0.229253 0.234933 0.22736 0.22736 0.22736 0.225467 0.225467 0.000986667 +0.00098 0.216 0.219787 0.217893 0.219787 0.22168 0.000993333 0.216 +0.219787 0.216 0.00096 0.000986667 0.000993333 0.000973333 0.00098 0.219787 +0.22168 0.219787 0.219787 0.219787 0.217893 0.217893 0.216 0.216 +0.216 0.219787 0.231147 0.23304 0.22168 0.219787 0.225467 0.22736 +0.231147 0.225467 0.225467 0.22736 0.223573 0.229253 0.23304 0.23872 +0.246293 0.251973 0.253867 0.242507 0.231147 0.23304 0.242507 0.246293 +0.2444 0.248187 0.25576 0.251973 0.236827 0.231147 0.23872 0.25008 +0.253867 0.25008 0.25008 0.253867 0.265227 0.274693 0.29552 0.322027 +0.367467 0.43752 0.496213 0.525263 0.558105 0.606737 0.657895 0.718526 +0.786737 0.844842 0.898526 0.958526 0.996653 1.01853 1.03812 1.05412 +1.07674 1.08587 1.06609 1.05347 1.0391 1.01918 0.998286 0.967368 +0.910526 0.851158 0.796842 0.745053 0.694526 0.645895 0.608 0.574526 +0.545474 0.524632 0.508842 0.492427 0.46024 0.43184 0.4148 0.39208 +0.373147 0.354213 0.337173 0.320133 0.314453 0.3296 0.322027 0.299307 +0.299307 0.28984 0.2728 0.280373 0.280373 0.274693 0.270907 0.27848 +0.2728 0.25576 0.253867 0.26144 0.265227 0.253867 0.236827 0.23872 +0.25008 0.23872 0.234933 0.242507 0.240613 0.251973 0.248187 0.23872 +0.240613 0.2444 0.246293 0.240613 0.234933 0.22736 0.23872 0.23872 +0.22736 0.229253 0.00098 0.216 0.223573 0.23304 0.236827 0.234933 +0.23304 0.22168 0.22736 0.240613 0.2444 0.242507 0.234933 0.229253 +0.231147 0.22736 0.23304 0.2444 0.23304 0.223573 0.236827 0.253867 +0.246293 0.242507 0.240613 0.229253 0.236827 0.2444 0.25576 0.251973 +0.248187 0.251973 0.248187 0.234933 0.231147 0.231147 0.225467 0.231147 +0.231147 0.22736 0.219787 0.000973333 0.000966667 0.000913333 0.000873333 0.000913333 +0.000993333 0.000986667 0.00096 0.00098 0.000966667 0.000966667 0.000986667 0.000993333 +0.22736 0.23872 0.223573 0.22168 0.236827 0.23304 0.234933 0.231147 +0.229253 0.225467 0.23304 0.240613 0.229253 0.229253 0.223573 0.23304 +0.23304 0.231147 0.2444 0.231147 0.225467 0.236827 0.219787 0.000973333 +0.000993333 0.23304 0.223573 0.00096 0.217893 0.000973333 0.00096 0.000973333 +0.000906667 0.000886667 0.000913333 0.000986667 0.225467 0.22736 0.23304 0.229253 +0.22736 0.22168 0.223573 0.225467 0.225467 0.22168 0.236827 0.231147 +0.219787 0.223573 0.23304 0.23304 0.234933 0.246293 0.234933 0.23304 +0.2444 0.240613 0.234933 0.240613 0.251973 0.253867 0.253867 0.26144 +0.25008 0.251973 0.253867 0.25008 0.248187 0.25576 0.25008 0.240613 +0.248187 0.26144 0.270907 0.269013 0.269013 0.270907 0.269013 0.263333 +0.270907 0.270907 0.282267 0.28984 0.280373 0.280373 0.291733 0.304987 +0.304987 0.299307 0.29552 0.297413 0.299307 0.308773 0.322027 0.33528 +0.34096 0.344747 0.35232 0.37504 0.38072 0.393973 0.416693 0.446987 +0.48864 0.510737 0.525895 0.549263 0.577684 0.610526 0.647789 0.693263 +0.749474 0.8 0.852421 0.909895 0.959158 0.991102 1.01331 1.03094 +1.04465 1.0538 1.05576 1.05314 1.04629 1.03355 1.0169 0.99502 +0.956632 0.897895 0.849895 0.793053 0.722316 0.660421 0.607368 0.563158 +0.533474 0.5 0.40344 0.350427 0.310667 0.291733 0.28416 0.2728 +0.26712 0.259547 0.253867 0.253867 0.248187 0.236827 0.234933 0.251973 +0.26144 0.25576 0.25576 0.251973 0.246293 0.251973 0.257653 0.25576 +0.248187 0.251973 0.248187 0.2444 0.251973 0.242507 0.236827 0.23872 +0.2444 0.242507 0.236827 0.231147 0.231147 0.23872 0.2444 0.242507 +0.23304 0.229253 0.22736 0.22736 0.229253 0.229253 0.225467 0.22736 +0.234933 0.23304 0.229253 0.23304 0.223573 0.000993333 0.216 0.000986667 +0.216 0.219787 0.22168 0.217893 0.217893 0.225467 0.22736 0.229253 +0.223573 0.22168 0.22168 0.22168 0.22736 0.23872 0.242507 0.242507 +0.23872 0.2444 0.26144 0.259547 0.257653 0.270907 0.274693 0.28984 +0.3012 0.310667 0.3296 0.390187 0.507579 0.578947 0.699579 0.873263 +1.0022 1.00939 0.910526 0.741263 0.605474 0.515158 0.378827 0.28984 +0.240613 0.000953333 0.000866667 0.000846667 0.000853333 0.000826667 0.0008 0.000773333 +0.000713333 0.000673333 0.000706667 0.000773333 0.000846667 0.000806667 0.000773333 0.000806667 +0.000813333 0.000786667 0.000806667 0.000826667 0.000746667 0.00074 0.000746667 0.000773333 +0.000773333 0.00078 0.0008 0.000826667 0.00082 0.000813333 0.000806667 0.000773333 +0.000786667 0.000766667 0.000753333 0.000773333 0.000793333 0.000773333 0.000726667 0.0007 +0.00068 0.000693333 0.00072 0.00078 0.00082 0.000866667 0.000873333 0.00086 +0.000946667 0.219787 0.280373 0.3864 0.513263 0.591579 0.721053 0.889684 +0.996327 0.98849 0.850526 0.681263 0.563158 0.490533 0.384507 0.31824 +0.28416 0.274693 0.265227 0.25008 0.236827 0.231147 0.229253 0.22736 +0.225467 0.225467 0.223573 0.229253 0.231147 0.217893 0.000966667 0.00096 +0.00098 0.000986667 0.00098 0.00096 0.00098 0.217893 0.000973333 0.000953333 +0.000953333 0.000966667 0.000973333 0.00096 0.000993333 0.216 0.217893 0.217893 +0.000986667 0.00098 0.217893 0.000993333 0.00098 0.00098 0.216 0.22168 +0.225467 0.223573 0.22736 0.22168 0.000986667 0.22736 0.229253 0.22168 +0.229253 0.229253 0.223573 0.229253 0.23304 0.234933 0.236827 0.240613 +0.246293 0.251973 0.248187 0.240613 0.23872 0.236827 0.246293 0.242507 +0.236827 0.23872 0.23872 0.229253 0.231147 0.234933 0.236827 0.240613 +0.234933 0.236827 0.251973 0.246293 0.2444 0.234933 0.236827 0.246293 +0.259547 0.2728 0.28416 0.304987 0.325813 0.367467 0.422373 0.501895 +0.538526 0.575789 0.62 0.680632 0.740632 0.796842 0.847368 0.906105 +0.973684 1.00547 1.02376 1.03682 1.05053 1.06 1.07978 1.06761 +1.05543 1.04498 1.03029 1.01102 0.985551 0.938947 0.888421 0.834105 +0.779789 0.733053 0.683789 0.638316 0.606737 0.577053 0.551158 0.527158 +0.508842 0.48296 0.445093 0.412907 0.40344 0.388293 0.371253 0.35232 +0.342853 0.33528 0.316347 0.31256 0.31256 0.310667 0.304987 0.3012 +0.28984 0.282267 0.274693 0.274693 0.280373 0.269013 0.251973 0.26144 +0.26144 0.257653 0.26144 0.263333 0.26144 0.265227 0.259547 0.253867 +0.257653 0.25576 0.253867 0.253867 0.23872 0.231147 0.246293 0.234933 +0.22736 0.229253 0.216 0.231147 0.23872 0.248187 0.246293 0.248187 +0.242507 0.23304 0.246293 0.251973 0.246293 0.23872 0.23872 0.248187 +0.2444 0.229253 0.242507 0.253867 0.23872 0.223573 0.236827 0.25008 +0.240613 0.23872 0.242507 0.23304 0.23872 0.2444 0.25576 0.257653 +0.246293 0.242507 0.240613 0.234933 0.234933 0.234933 0.229253 0.236827 +0.23872 0.240613 0.231147 0.219787 0.225467 0.217893 0.000966667 0.00096 +0.00098 0.00096 0.00096 0.216 0.00098 0.000973333 0.216 0.217893 +0.229253 0.236827 0.000993333 0.000993333 0.23304 0.23304 0.234933 0.23304 +0.23304 0.229253 0.234933 0.240613 0.23304 0.231147 0.217893 0.23304 +0.236827 0.225467 0.236827 0.22168 0.000993333 0.22736 0.22168 0.00098 +0.000993333 0.236827 0.22736 0.000946667 0.000946667 0.000913333 0.000913333 0.000966667 +0.000946667 0.000946667 0.216 0.229253 0.23304 0.2444 0.253867 0.240613 +0.231147 0.234933 0.240613 0.23872 0.23304 0.22736 0.23872 0.242507 +0.242507 0.242507 0.25008 0.25008 0.2444 0.257653 0.259547 0.25008 +0.253867 0.2444 0.246293 0.263333 0.270907 0.269013 0.270907 0.26712 +0.253867 0.26712 0.2728 0.257653 0.263333 0.280373 0.269013 0.25576 +0.26712 0.27848 0.28416 0.280373 0.280373 0.282267 0.28416 0.287947 +0.291733 0.291733 0.29552 0.316347 0.303093 0.297413 0.308773 0.325813 +0.337173 0.34096 0.356107 0.365573 0.365573 0.367467 0.3864 0.412907 +0.429947 0.456453 0.48864 0.511368 0.526526 0.546105 0.572 0.606737 +0.647158 0.690105 0.734316 0.783579 0.834105 0.889053 0.935789 0.980653 +1.00286 1.02147 1.03649 1.04792 1.05576 1.05837 1.05771 1.04988 +1.03845 1.02147 0.994367 0.954105 0.899158 0.849263 0.794316 0.733053 +0.671789 0.618737 0.582737 0.545474 0.506316 0.43184 0.37504 0.344747 +0.320133 0.28984 0.270907 0.263333 0.248187 0.25008 0.259547 0.25576 +0.259547 0.257653 0.246293 0.251973 0.251973 0.246293 0.2444 0.251973 +0.251973 0.248187 0.25576 0.25008 0.257653 0.25576 0.251973 0.257653 +0.251973 0.248187 0.2444 0.236827 0.23872 0.240613 0.240613 0.23304 +0.246293 0.240613 0.231147 0.231147 0.22736 0.23304 0.23872 0.231147 +0.229253 0.22736 0.229253 0.229253 0.225467 0.219787 0.216 0.217893 +0.22168 0.22168 0.225467 0.234933 0.225467 0.217893 0.22168 0.00098 +0.216 0.223573 0.22736 0.219787 0.217893 0.225467 0.223573 0.219787 +0.217893 0.219787 0.22168 0.219787 0.223573 0.223573 0.231147 0.23872 +0.246293 0.248187 0.25008 0.259547 0.265227 0.276587 0.286053 0.303093 +0.314453 0.342853 0.407227 0.512632 0.593474 0.722316 0.888421 1.00449 +1.00873 0.900421 0.726105 0.592211 0.505684 0.376933 0.293627 0.22736 +0.0009 0.000886667 0.00088 0.00088 0.000893333 0.000846667 0.000753333 0.000713333 +0.00068 0.00066 0.0007 0.000793333 0.000886667 0.000846667 0.00076 0.00078 +0.00084 0.000813333 0.000773333 0.0008 0.000753333 0.00076 0.000773333 0.00078 +0.000786667 0.000773333 0.000773333 0.000793333 0.000806667 0.000813333 0.000793333 0.000766667 +0.00076 0.000753333 0.000753333 0.000793333 0.000793333 0.00076 0.00074 0.00074 +0.000713333 0.000713333 0.000673333 0.000666667 0.00076 0.000873333 0.000893333 0.000893333 +0.00096 0.000986667 0.234933 0.293627 0.388293 0.507579 0.580842 0.710316 +0.875789 0.991102 0.984898 0.847368 0.681895 0.558105 0.4716 0.367467 +0.31824 0.287947 0.26712 0.25576 0.240613 0.23304 0.23304 0.23304 +0.229253 0.229253 0.223573 0.22168 0.000993333 0.000953333 0.00096 0.000993333 +0.000973333 0.000946667 0.000953333 0.00096 0.000966667 0.00098 0.00096 0.00096 +0.000993333 0.00096 0.000946667 0.00096 0.216 0.216 0.000986667 0.00096 +0.00098 0.000973333 0.000966667 0.00098 0.000986667 0.219787 0.22168 0.00098 +0.00098 0.217893 0.225467 0.22168 0.217893 0.223573 0.22736 0.223573 +0.223573 0.223573 0.217893 0.236827 0.246293 0.240613 0.234933 0.23304 +0.23872 0.246293 0.246293 0.246293 0.242507 0.229253 0.234933 0.242507 +0.23872 0.234933 0.223573 0.219787 0.22168 0.231147 0.236827 0.242507 +0.240613 0.234933 0.236827 0.23304 0.236827 0.242507 0.236827 0.242507 +0.2444 0.236827 0.23872 0.251973 0.246293 0.257653 0.270907 0.280373 +0.304987 0.331493 0.371253 0.44888 0.512 0.539158 0.568842 0.617474 +0.687579 0.755158 0.806316 0.853684 0.913053 0.969895 0.998612 1.0182 +1.03551 1.05086 1.06304 1.08587 1.08891 1.06304 1.05151 1.03976 +1.02473 1.0058 0.980327 0.928842 0.885895 0.834737 0.783579 0.733684 +0.686947 0.648421 0.608632 0.575158 0.553053 0.529053 0.511368 0.49432 +0.450773 0.424267 0.401547 0.38072 0.371253 0.373147 0.36368 0.339067 +0.331493 0.3296 0.316347 0.31256 0.310667 0.287947 0.28984 0.29552 +0.287947 0.282267 0.286053 0.286053 0.287947 0.287947 0.280373 0.282267 +0.27848 0.269013 0.263333 0.269013 0.259547 0.259547 0.26712 0.248187 +0.248187 0.240613 0.234933 0.25008 0.253867 0.251973 0.2444 0.25008 +0.25008 0.2444 0.25576 0.259547 0.257653 0.248187 0.2444 0.25576 +0.25576 0.234933 0.248187 0.251973 0.242507 0.234933 0.2444 0.2444 +0.246293 0.25008 0.2444 0.234933 0.236827 0.2444 0.26144 0.259547 +0.242507 0.236827 0.22736 0.225467 0.234933 0.240613 0.242507 0.246293 +0.240613 0.236827 0.22736 0.231147 0.240613 0.23304 0.22736 0.225467 +0.22736 0.000993333 0.000953333 0.000953333 0.00092 0.000946667 0.22168 0.217893 +0.22168 0.216 0.000946667 0.000966667 0.225467 0.22736 0.223573 0.223573 +0.229253 0.23304 0.242507 0.240613 0.23304 0.229253 0.22168 0.229253 +0.22736 0.217893 0.23304 0.225467 0.000973333 0.000986667 0.000986667 0.216 +0.000993333 0.231147 0.22736 0.000953333 0.000933333 0.00094 0.00096 0.22736 +0.23304 0.23304 0.240613 0.23872 0.23872 0.251973 0.25576 0.246293 +0.242507 0.251973 0.253867 0.246293 0.2444 0.23872 0.242507 0.26144 +0.26144 0.26144 0.26712 0.2728 0.269013 0.27848 0.282267 0.26144 +0.25576 0.257653 0.270907 0.28416 0.282267 0.280373 0.27848 0.280373 +0.276587 0.286053 0.286053 0.274693 0.287947 0.29552 0.286053 0.282267 +0.293627 0.297413 0.304987 0.299307 0.297413 0.308773 0.322027 0.320133 +0.325813 0.333387 0.34664 0.367467 0.358 0.356107 0.367467 0.382613 +0.395867 0.4148 0.44888 0.479173 0.496213 0.511368 0.532211 0.553053 +0.579579 0.614947 0.650316 0.688842 0.734316 0.781053 0.828421 0.882737 +0.936421 0.982286 1.00155 1.01951 1.03355 1.04433 1.05282 1.05576 +1.05314 1.04955 1.044 1.03388 1.01951 1.00286 0.979368 0.929474 +0.873895 0.808842 0.731789 0.666737 0.618105 0.581474 0.543579 0.507579 +0.439413 0.3864 0.35232 0.31256 0.28984 0.269013 0.259547 0.263333 +0.25576 0.251973 0.253867 0.25008 0.236827 0.242507 0.25008 0.248187 +0.251973 0.26144 0.253867 0.25576 0.25008 0.248187 0.240613 0.242507 +0.25008 0.25576 0.257653 0.2444 0.246293 0.25008 0.248187 0.2444 +0.242507 0.240613 0.240613 0.240613 0.240613 0.234933 0.231147 0.229253 +0.23872 0.234933 0.219787 0.219787 0.223573 0.225467 0.231147 0.22736 +0.22736 0.22736 0.223573 0.22168 0.217893 0.219787 0.22168 0.217893 +0.216 0.000986667 0.000993333 0.225467 0.22168 0.225467 0.223573 0.217893 +0.217893 0.216 0.223573 0.22168 0.217893 0.22168 0.225467 0.231147 +0.23304 0.231147 0.22168 0.217893 0.223573 0.22736 0.23304 0.229253 +0.236827 0.25008 0.25008 0.251973 0.26712 0.280373 0.299307 0.322027 +0.34664 0.412907 0.513895 0.592211 0.730526 0.905474 1.00776 1.00351 +0.887789 0.718526 0.589684 0.504421 0.356107 0.27848 0.231147 0.000933333 +0.000853333 0.000886667 0.00092 0.000886667 0.00082 0.000793333 0.000733333 0.000673333 +0.000673333 0.000686667 0.000753333 0.000833333 0.00086 0.000853333 0.000813333 0.000786667 +0.000806667 0.000853333 0.000846667 0.000806667 0.000766667 0.00078 0.000766667 0.000753333 +0.000766667 0.000786667 0.00078 0.000786667 0.000793333 0.00082 0.000813333 0.000813333 +0.000786667 0.000793333 0.000773333 0.000773333 0.000793333 0.00076 0.000766667 0.00078 +0.000766667 0.000753333 0.00072 0.0007 0.000726667 0.000826667 0.000913333 0.000973333 +0.216 0.223573 0.242507 0.251973 0.287947 0.378827 0.501895 0.570737 +0.688842 0.856211 0.985878 0.985878 0.852421 0.677474 0.552421 0.467813 +0.37504 0.316347 0.282267 0.269013 0.25576 0.246293 0.23304 0.22168 +0.22736 0.225467 0.000986667 0.000966667 0.00098 0.00098 0.000986667 0.216 +0.00098 0.000966667 0.00098 0.000966667 0.000946667 0.00098 0.000993333 0.000986667 +0.000986667 0.000953333 0.000946667 0.000993333 0.219787 0.216 0.000986667 0.000973333 +0.000973333 0.00096 0.000973333 0.000986667 0.00096 0.216 0.217893 0.000986667 +0.00098 0.216 0.22168 0.22168 0.219787 0.22168 0.225467 0.216 +0.223573 0.234933 0.229253 0.234933 0.23304 0.229253 0.234933 0.242507 +0.23872 0.229253 0.225467 0.231147 0.231147 0.229253 0.236827 0.234933 +0.23304 0.229253 0.225467 0.229253 0.22736 0.225467 0.229253 0.234933 +0.23872 0.236827 0.23872 0.236827 0.231147 0.23872 0.2444 0.246293 +0.246293 0.23304 0.229253 0.231147 0.229253 0.240613 0.25008 0.253867 +0.253867 0.251973 0.25008 0.26144 0.276587 0.29552 0.32392 0.36936 +0.441307 0.512 0.545474 0.580842 0.626316 0.679368 0.738737 0.794316 +0.846737 0.902947 0.955368 0.993714 1.01788 1.03192 1.04335 1.05478 +1.07217 1.08739 1.08282 1.06 1.05053 1.03878 1.0231 1.00612 +0.984898 0.943368 0.893474 0.845474 0.799368 0.750737 0.705263 0.662316 +0.622526 0.587158 0.561263 0.536632 0.515789 0.505053 0.481067 0.450773 +0.43184 0.411013 0.39208 0.376933 0.354213 0.348533 0.361787 0.350427 +0.331493 0.322027 0.316347 0.32392 0.322027 0.314453 0.308773 0.303093 +0.299307 0.291733 0.286053 0.27848 0.286053 0.286053 0.280373 0.276587 +0.274693 0.265227 0.265227 0.2728 0.274693 0.269013 0.257653 0.259547 +0.25576 0.259547 0.265227 0.269013 0.270907 0.259547 0.257653 0.26144 +0.257653 0.25008 0.26144 0.257653 0.23872 0.2444 0.259547 0.253867 +0.259547 0.270907 0.25008 0.23872 0.240613 0.253867 0.270907 0.25576 +0.251973 0.2444 0.231147 0.231147 0.23872 0.242507 0.253867 0.253867 +0.2444 0.236827 0.234933 0.25008 0.246293 0.236827 0.236827 0.2444 +0.251973 0.246293 0.231147 0.225467 0.00098 0.000973333 0.219787 0.000973333 +0.216 0.216 0.216 0.219787 0.22736 0.223573 0.219787 0.219787 +0.225467 0.231147 0.240613 0.23872 0.22736 0.229253 0.231147 0.231147 +0.223573 0.223573 0.246293 0.231147 0.000986667 0.000986667 0.22168 0.22168 +0.000986667 0.22168 0.22736 0.00098 0.217893 0.236827 0.2444 0.257653 +0.26144 0.259547 0.253867 0.251973 0.263333 0.269013 0.26712 0.257653 +0.251973 0.257653 0.265227 0.26144 0.257653 0.253867 0.26144 0.280373 +0.270907 0.265227 0.282267 0.28984 0.293627 0.297413 0.291733 0.265227 +0.259547 0.280373 0.3012 0.3012 0.29552 0.3012 0.29552 0.29552 +0.3012 0.304987 0.30688 0.299307 0.314453 0.31256 0.304987 0.31256 +0.331493 0.33528 0.348533 0.339067 0.34664 0.365573 0.382613 0.384507 +0.3864 0.407227 0.424267 0.456453 0.469707 0.490533 0.508211 0.524 +0.541684 0.565053 0.595368 0.625053 0.662316 0.704632 0.748211 0.796211 +0.846737 0.896 0.940842 0.982286 1.00286 1.02114 1.03518 1.04824 +1.05706 1.06761 1.06 1.05347 1.04727 1.0378 1.02441 1.00873 +0.985878 0.945895 0.899158 0.854947 0.805684 0.754526 0.699579 0.650316 +0.604842 0.555579 0.511368 0.445093 0.388293 0.348533 0.304987 0.280373 +0.26712 0.2728 0.265227 0.251973 0.253867 0.25008 0.240613 0.2444 +0.242507 0.242507 0.248187 0.246293 0.23304 0.236827 0.242507 0.240613 +0.248187 0.253867 0.251973 0.251973 0.246293 0.2444 0.240613 0.23872 +0.23872 0.240613 0.248187 0.248187 0.240613 0.2444 0.248187 0.236827 +0.234933 0.234933 0.236827 0.240613 0.240613 0.236827 0.229253 0.234933 +0.236827 0.223573 0.000986667 0.216 0.22736 0.229253 0.225467 0.22736 +0.22736 0.223573 0.22168 0.223573 0.223573 0.22168 0.22736 0.223573 +0.216 0.22168 0.219787 0.000986667 0.000993333 0.22168 0.22736 0.22168 +0.000993333 0.000993333 0.223573 0.22168 0.219787 0.216 0.22168 0.23304 +0.229253 0.22736 0.22168 0.000993333 0.219787 0.231147 0.248187 0.248187 +0.240613 0.246293 0.257653 0.263333 0.276587 0.29552 0.310667 0.34096 +0.416693 0.518316 0.595368 0.724842 0.905474 1.00906 1.00122 0.873263 +0.705263 0.584 0.509474 0.37504 0.282267 0.231147 0.000933333 0.000913333 +0.000906667 0.000926667 0.000933333 0.000893333 0.000806667 0.000726667 0.000713333 0.000673333 +0.000733333 0.0008 0.0008 0.000833333 0.000846667 0.000833333 0.00084 0.000846667 +0.000833333 0.000826667 0.000846667 0.00082 0.000766667 0.000773333 0.000773333 0.00078 +0.000786667 0.0008 0.000793333 0.000786667 0.0008 0.000786667 0.000793333 0.000793333 +0.0008 0.000826667 0.000773333 0.000753333 0.0008 0.000806667 0.000826667 0.00082 +0.000826667 0.0008 0.00076 0.0007 0.000653333 0.000726667 0.00086 0.217893 +0.242507 0.265227 0.28416 0.287947 0.286053 0.297413 0.373147 0.479173 +0.557474 0.676842 0.839158 0.98098 0.985224 0.854947 0.681895 0.559368 +0.481067 0.373147 0.314453 0.291733 0.26712 0.248187 0.231147 0.219787 +0.217893 0.225467 0.22168 0.225467 0.22736 0.217893 0.217893 0.219787 +0.217893 0.000973333 0.00098 0.00098 0.000993333 0.217893 0.00098 0.000986667 +0.000973333 0.000953333 0.000973333 0.219787 0.216 0.000986667 0.000973333 0.000973333 +0.000973333 0.000966667 0.000986667 0.000973333 0.00096 0.219787 0.217893 0.216 +0.216 0.22168 0.223573 0.22168 0.216 0.217893 0.22736 0.219787 +0.229253 0.234933 0.223573 0.223573 0.223573 0.217893 0.217893 0.225467 +0.223573 0.217893 0.22168 0.22168 0.225467 0.231147 0.231147 0.229253 +0.23304 0.229253 0.229253 0.234933 0.231147 0.225467 0.23304 0.229253 +0.22736 0.231147 0.234933 0.2444 0.246293 0.23872 0.229253 0.223573 +0.234933 0.23304 0.23872 0.2444 0.242507 0.236827 0.231147 0.23304 +0.234933 0.23872 0.242507 0.242507 0.236827 0.23872 0.236827 0.23304 +0.242507 0.280373 0.314453 0.339067 0.378827 0.441307 0.509474 0.536632 +0.568842 0.614316 0.665474 0.724842 0.782947 0.830947 0.883368 0.932632 +0.976842 1.00318 1.02441 1.03812 1.04629 1.05314 1.06 1.09043 +1.095 1.06304 1.05053 1.04367 1.03224 1.01461 0.993388 0.961053 +0.916211 0.866316 0.817684 0.770947 0.726737 0.688842 0.653474 0.621895 +0.592211 0.564421 0.548632 0.529684 0.508211 0.501895 0.492427 0.45456 +0.433733 0.418587 0.393973 0.39776 0.3864 0.367467 0.350427 0.344747 +0.339067 0.333387 0.325813 0.31256 0.320133 0.320133 0.310667 0.30688 +0.3012 0.291733 0.297413 0.297413 0.303093 0.299307 0.297413 0.293627 +0.280373 0.286053 0.291733 0.286053 0.282267 0.280373 0.276587 0.276587 +0.259547 0.26712 0.291733 0.2728 0.251973 0.263333 0.270907 0.276587 +0.276587 0.276587 0.270907 0.269013 0.25576 0.269013 0.286053 0.265227 +0.269013 0.26712 0.257653 0.251973 0.253867 0.257653 0.2728 0.269013 +0.263333 0.257653 0.253867 0.26144 0.251973 0.253867 0.257653 0.259547 +0.265227 0.270907 0.265227 0.263333 0.2444 0.231147 0.234933 0.22736 +0.234933 0.22736 0.22168 0.22736 0.236827 0.231147 0.225467 0.225467 +0.236827 0.240613 0.242507 0.23872 0.234933 0.242507 0.2444 0.248187 +0.242507 0.248187 0.265227 0.236827 0.223573 0.23304 0.229253 0.219787 +0.000993333 0.231147 0.242507 0.234933 0.25008 0.259547 0.259547 0.2728 +0.280373 0.276587 0.26712 0.265227 0.27848 0.28984 0.286053 0.274693 +0.26712 0.274693 0.287947 0.28416 0.286053 0.287947 0.28984 0.293627 +0.291733 0.28416 0.299307 0.310667 0.31256 0.310667 0.304987 0.293627 +0.299307 0.304987 0.31824 0.32392 0.325813 0.327707 0.32392 0.327707 +0.34096 0.354213 0.36368 0.348533 0.354213 0.36368 0.365573 0.376933 +0.393973 0.411013 0.43184 0.439413 0.458347 0.486747 0.506947 0.520842 +0.534737 0.552421 0.574526 0.601053 0.626947 0.655368 0.694526 0.736211 +0.779789 0.822737 0.868842 0.915579 0.962316 0.991102 1.00971 1.02735 +1.04204 1.05282 1.05771 1.06304 1.06304 1.05771 1.05184 1.04335 +1.02865 1.01429 0.996653 0.962316 0.914316 0.872 0.820211 0.768421 +0.715368 0.661684 0.619368 0.584 0.553053 0.520842 0.48864 0.418587 +0.365573 0.308773 0.286053 0.274693 0.26712 0.25576 0.242507 0.2444 +0.246293 0.253867 0.25008 0.2444 0.248187 0.240613 0.234933 0.240613 +0.242507 0.240613 0.231147 0.234933 0.242507 0.2444 0.25008 0.242507 +0.234933 0.236827 0.240613 0.248187 0.251973 0.251973 0.2444 0.242507 +0.234933 0.231147 0.23304 0.240613 0.240613 0.240613 0.248187 0.242507 +0.234933 0.231147 0.22168 0.23304 0.23872 0.23872 0.23304 0.234933 +0.240613 0.22168 0.217893 0.217893 0.22168 0.219787 0.219787 0.225467 +0.225467 0.219787 0.22168 0.22736 0.231147 0.219787 0.216 0.229253 +0.223573 0.219787 0.225467 0.22168 0.217893 0.223573 0.22736 0.217893 +0.000986667 0.217893 0.22168 0.219787 0.225467 0.223573 0.22736 0.229253 +0.22736 0.225467 0.231147 0.225467 0.225467 0.23304 0.246293 0.25008 +0.248187 0.248187 0.25576 0.2728 0.287947 0.314453 0.354213 0.4148 +0.520211 0.601053 0.733684 0.905474 1.00678 0.995347 0.865684 0.701474 +0.584632 0.513895 0.412907 0.32392 0.28416 0.297413 0.316347 0.322027 +0.31824 0.28416 0.23304 0.0009 0.000786667 0.000713333 0.0007 0.000733333 +0.000793333 0.000866667 0.000866667 0.00084 0.000853333 0.000833333 0.00084 0.000866667 +0.00088 0.000853333 0.000833333 0.00082 0.000786667 0.0008 0.000806667 0.0008 +0.00078 0.000766667 0.00078 0.0008 0.000813333 0.000766667 0.000766667 0.0008 +0.00084 0.000853333 0.000826667 0.000833333 0.000826667 0.000806667 0.000813333 0.0008 +0.000813333 0.000793333 0.00076 0.000686667 0.00066 0.0007 0.00086 0.2728 +0.36368 0.4432 0.498107 0.505053 0.469707 0.356107 0.308773 0.356107 +0.46592 0.549263 0.658526 0.824 0.972421 0.984571 0.860632 0.692 +0.570737 0.501895 0.38072 0.32392 0.28984 0.270907 0.26144 0.23872 +0.23304 0.240613 0.236827 0.231147 0.22736 0.223573 0.225467 0.223573 +0.216 0.000993333 0.217893 0.219787 0.223573 0.000993333 0.00096 0.000986667 +0.00098 0.00096 0.00098 0.22168 0.217893 0.000986667 0.217893 0.216 +0.000993333 0.00096 0.00098 0.216 0.216 0.223573 0.217893 0.216 +0.219787 0.22168 0.22168 0.22168 0.000993333 0.219787 0.217893 0.219787 +0.229253 0.223573 0.000966667 0.000973333 0.219787 0.000993333 0.216 0.217893 +0.000986667 0.22168 0.231147 0.229253 0.22736 0.225467 0.225467 0.234933 +0.23872 0.234933 0.231147 0.236827 0.234933 0.229253 0.234933 0.234933 +0.23872 0.240613 0.231147 0.231147 0.229253 0.22168 0.225467 0.229253 +0.234933 0.23304 0.234933 0.23872 0.242507 0.231147 0.229253 0.229253 +0.225467 0.223573 0.231147 0.23304 0.23304 0.234933 0.22736 0.00098 +0.216 0.240613 0.25008 0.248187 0.253867 0.265227 0.269013 0.27848 +0.308773 0.354213 0.412907 0.498107 0.532842 0.563789 0.603579 0.641474 +0.687579 0.752 0.810105 0.858105 0.895368 0.92821 0.969895 1.00024 +1.02147 1.03224 1.04073 1.0538 1.07826 1.09652 1.08891 1.06913 +1.05869 1.04988 1.03355 1.01918 1.00547 0.986204 0.956632 0.919368 +0.873263 0.833474 0.798105 0.753895 0.709684 0.679368 0.645895 0.619368 +0.595368 0.570737 0.550526 0.538526 0.524 0.509474 0.486747 0.462133 +0.441307 0.429947 0.411013 0.39776 0.39208 0.3864 0.37504 0.365573 +0.35232 0.344747 0.35232 0.34096 0.33528 0.33528 0.337173 0.325813 +0.308773 0.31824 0.325813 0.314453 0.310667 0.30688 0.3012 0.297413 +0.28416 0.297413 0.308773 0.297413 0.28416 0.293627 0.291733 0.293627 +0.3012 0.29552 0.293627 0.291733 0.27848 0.28984 0.3012 0.28984 +0.297413 0.287947 0.28416 0.274693 0.276587 0.286053 0.293627 0.282267 +0.280373 0.2728 0.274693 0.276587 0.270907 0.274693 0.280373 0.282267 +0.28416 0.29552 0.291733 0.28416 0.265227 0.26712 0.276587 0.270907 +0.276587 0.257653 0.23872 0.240613 0.251973 0.25008 0.246293 0.246293 +0.25008 0.259547 0.257653 0.248187 0.251973 0.25576 0.259547 0.26712 +0.253867 0.248187 0.26144 0.242507 0.236827 0.242507 0.246293 0.246293 +0.248187 0.269013 0.28416 0.2728 0.26712 0.26712 0.274693 0.287947 +0.293627 0.297413 0.287947 0.27848 0.29552 0.304987 0.3012 0.3012 +0.29552 0.29552 0.304987 0.30688 0.316347 0.31256 0.31824 0.325813 +0.3296 0.322027 0.333387 0.34096 0.337173 0.33528 0.342853 0.35232 +0.359893 0.350427 0.361787 0.373147 0.378827 0.384507 0.384507 0.395867 +0.411013 0.428053 0.45456 0.458347 0.467813 0.500632 0.512 0.523368 +0.538526 0.554947 0.576421 0.599158 0.623789 0.652842 0.685053 0.722316 +0.760842 0.799368 0.843579 0.882737 0.920632 0.959158 0.990449 1.00873 +1.02539 1.0378 1.04759 1.05641 1.06913 1.06456 1.05869 1.05771 +1.05282 1.04269 1.02833 1.01233 0.992082 0.961053 0.920632 0.872632 +0.816421 0.772842 0.733684 0.68 0.628842 0.596 0.558737 0.524 +0.48864 0.40912 0.365573 0.337173 0.31256 0.282267 0.274693 0.257653 +0.236827 0.23872 0.2444 0.242507 0.25008 0.246293 0.240613 0.240613 +0.242507 0.248187 0.246293 0.242507 0.2444 0.236827 0.231147 0.231147 +0.23872 0.246293 0.23872 0.234933 0.2444 0.240613 0.23872 0.242507 +0.236827 0.240613 0.25008 0.242507 0.240613 0.23872 0.242507 0.242507 +0.240613 0.234933 0.23304 0.231147 0.23872 0.231147 0.231147 0.23304 +0.234933 0.236827 0.231147 0.23304 0.234933 0.22736 0.225467 0.23872 +0.23872 0.223573 0.219787 0.22736 0.223573 0.217893 0.217893 0.217893 +0.225467 0.217893 0.217893 0.22168 0.216 0.219787 0.225467 0.229253 +0.229253 0.22168 0.223573 0.223573 0.219787 0.225467 0.229253 0.22168 +0.000993333 0.22168 0.223573 0.217893 0.217893 0.22736 0.23304 0.229253 +0.236827 0.23872 0.231147 0.23304 0.234933 0.2444 0.25576 0.263333 +0.26712 0.263333 0.269013 0.28984 0.304987 0.33528 0.42048 0.515789 +0.601684 0.748842 0.92379 1.00906 0.990449 0.846737 0.685053 0.574526 +0.514526 0.439413 0.37504 0.36936 0.467813 0.551158 0.598526 0.609895 +0.589684 0.544211 0.479173 0.30688 0.000886667 0.000766667 0.000813333 0.000833333 +0.000873333 0.00088 0.00088 0.00086 0.000853333 0.000853333 0.000866667 0.00086 +0.00086 0.00086 0.000846667 0.000846667 0.000766667 0.000766667 0.000773333 0.000766667 +0.000766667 0.000766667 0.000773333 0.00078 0.000793333 0.000786667 0.000806667 0.00082 +0.000813333 0.000813333 0.00084 0.00082 0.000773333 0.000786667 0.00078 0.000773333 +0.000766667 0.000773333 0.000786667 0.000753333 0.00074 0.000806667 0.27848 0.505053 +0.580842 0.649053 0.694526 0.699579 0.673684 0.596 0.507579 0.384507 +0.401547 0.48296 0.546737 0.650947 0.810737 0.962947 0.986531 0.877053 +0.709684 0.578316 0.500632 0.378827 0.320133 0.293627 0.2728 0.259547 +0.253867 0.242507 0.229253 0.22736 0.225467 0.231147 0.231147 0.231147 +0.225467 0.00098 0.000993333 0.22168 0.000993333 0.216 0.216 0.216 +0.219787 0.217893 0.22168 0.225467 0.219787 0.000986667 0.000986667 0.000993333 +0.216 0.000966667 0.000986667 0.22168 0.219787 0.216 0.223573 0.219787 +0.000986667 0.000973333 0.000986667 0.217893 0.216 0.22168 0.219787 0.22168 +0.219787 0.000986667 0.000973333 0.000986667 0.22168 0.219787 0.225467 0.22736 +0.22168 0.223573 0.231147 0.236827 0.236827 0.234933 0.234933 0.23304 +0.229253 0.225467 0.23304 0.2444 0.248187 0.242507 0.234933 0.229253 +0.231147 0.23304 0.231147 0.23304 0.225467 0.22168 0.22736 0.22736 +0.23304 0.2444 0.240613 0.23872 0.229253 0.22168 0.229253 0.23872 +0.234933 0.231147 0.231147 0.217893 0.000986667 0.219787 0.223573 0.22736 +0.23304 0.236827 0.236827 0.223573 0.217893 0.216 0.00098 0.22168 +0.229253 0.231147 0.251973 0.26712 0.282267 0.304987 0.337173 0.382613 +0.450773 0.517684 0.550526 0.584632 0.610526 0.634526 0.675579 0.735579 +0.797474 0.838526 0.873263 0.921263 0.966105 0.993388 1.00939 1.02212 +1.03649 1.04694 1.0502 1.0551 1.07674 1.08435 1.0813 1.06761 +1.0551 1.04694 1.03322 1.0169 0.999918 0.981959 0.945895 0.916211 +0.878947 0.836 0.801263 0.766526 0.730526 0.695789 0.663579 0.635789 +0.609895 0.592211 0.572632 0.555579 0.541053 0.527158 0.512632 0.505053 +0.479173 0.46592 0.462133 0.4432 0.42048 0.407227 0.401547 0.382613 +0.373147 0.382613 0.382613 0.36936 0.359893 0.350427 0.348533 0.34664 +0.34096 0.35232 0.339067 0.32392 0.32392 0.333387 0.3296 0.327707 +0.325813 0.320133 0.32392 0.316347 0.31256 0.331493 0.327707 0.31256 +0.31824 0.30688 0.304987 0.303093 0.308773 0.32392 0.32392 0.304987 +0.308773 0.3012 0.303093 0.299307 0.287947 0.291733 0.310667 0.316347 +0.31824 0.316347 0.297413 0.291733 0.293627 0.310667 0.314453 0.30688 +0.304987 0.286053 0.274693 0.269013 0.270907 0.270907 0.263333 0.26144 +0.257653 0.269013 0.27848 0.269013 0.265227 0.269013 0.282267 0.286053 +0.26144 0.25008 0.259547 0.25576 0.253867 0.26144 0.28416 0.299307 +0.293627 0.3012 0.316347 0.303093 0.29552 0.3012 0.308773 0.316347 +0.325813 0.325813 0.314453 0.322027 0.33528 0.333387 0.333387 0.342853 +0.348533 0.339067 0.34096 0.348533 0.356107 0.36368 0.367467 0.371253 +0.376933 0.384507 0.39208 0.401547 0.401547 0.407227 0.422373 0.441307 +0.456453 0.46024 0.48296 0.501895 0.511368 0.521474 0.534737 0.549263 +0.564421 0.578316 0.602947 0.624421 0.646526 0.677474 0.705895 0.736842 +0.770947 0.803789 0.841684 0.881474 0.917474 0.954737 0.985551 1.00449 +1.01984 1.03094 1.04302 1.05086 1.05804 1.07522 1.0813 1.07674 +1.06304 1.05445 1.04629 1.03714 1.02376 1.00645 0.985224 0.949684 +0.916842 0.880211 0.829684 0.776 0.721684 0.669263 0.629474 0.585263 +0.544842 0.522737 0.505684 0.439413 0.373147 0.344747 0.310667 0.274693 +0.25576 0.240613 0.23872 0.246293 0.242507 0.23304 0.234933 0.225467 +0.219787 0.234933 0.2444 0.242507 0.248187 0.2444 0.246293 0.236827 +0.231147 0.2444 0.242507 0.23872 0.240613 0.234933 0.23304 0.234933 +0.242507 0.251973 0.2444 0.236827 0.240613 0.242507 0.23304 0.240613 +0.242507 0.242507 0.240613 0.234933 0.236827 0.236827 0.236827 0.23872 +0.23304 0.223573 0.23304 0.231147 0.23872 0.23304 0.229253 0.231147 +0.22736 0.229253 0.23304 0.236827 0.240613 0.231147 0.223573 0.236827 +0.231147 0.216 0.219787 0.231147 0.231147 0.219787 0.000993333 0.216 +0.223573 0.225467 0.219787 0.216 0.00096 0.216 0.234933 0.23304 +0.22168 0.219787 0.22736 0.229253 0.22168 0.223573 0.22736 0.22168 +0.217893 0.216 0.229253 0.22736 0.216 0.219787 0.23304 0.234933 +0.23304 0.234933 0.223573 0.22736 0.2444 0.23872 0.246293 0.265227 +0.270907 0.276587 0.297413 0.32392 0.359893 0.429947 0.527158 0.609263 +0.752 0.935789 1.01461 0.988163 0.831579 0.671789 0.568842 0.510737 +0.464027 0.467813 0.506316 0.56 0.664842 0.779158 0.851158 0.872632 +0.842316 0.769684 0.668 0.540421 0.316347 0.00096 0.00094 0.000946667 +0.000946667 0.0009 0.00088 0.000886667 0.000866667 0.000873333 0.000846667 0.000826667 +0.00082 0.00084 0.000826667 0.00084 0.00074 0.000746667 0.00074 0.00074 +0.00076 0.000766667 0.000746667 0.00074 0.000753333 0.000746667 0.000773333 0.000773333 +0.00076 0.000773333 0.00078 0.00074 0.000746667 0.00076 0.000773333 0.00078 +0.00078 0.000786667 0.000813333 0.000813333 0.000846667 0.229253 0.508211 0.670526 +0.803158 0.890947 0.942105 0.953474 0.926947 0.841684 0.699579 0.572632 +0.513263 0.479173 0.490533 0.538526 0.637053 0.798105 0.957895 0.990776 +0.891579 0.715368 0.576421 0.498107 0.378827 0.31256 0.282267 0.270907 +0.263333 0.248187 0.242507 0.23872 0.231147 0.229253 0.229253 0.22736 +0.219787 0.00098 0.216 0.217893 0.216 0.225467 0.22168 0.000993333 +0.000993333 0.00098 0.00098 0.000986667 0.000986667 0.000966667 0.000946667 0.00098 +0.000993333 0.00098 0.219787 0.22736 0.217893 0.00098 0.217893 0.217893 +0.000966667 0.00096 0.000986667 0.000986667 0.216 0.000993333 0.216 0.00098 +0.000966667 0.216 0.216 0.22168 0.22736 0.225467 0.22168 0.223573 +0.225467 0.231147 0.231147 0.236827 0.23304 0.231147 0.229253 0.225467 +0.229253 0.23304 0.23304 0.240613 0.240613 0.236827 0.231147 0.22736 +0.231147 0.234933 0.236827 0.234933 0.231147 0.231147 0.22736 0.217893 +0.217893 0.23304 0.234933 0.240613 0.236827 0.225467 0.22168 0.234933 +0.234933 0.22736 0.234933 0.229253 0.223573 0.219787 0.217893 0.229253 +0.229253 0.23304 0.23872 0.23304 0.225467 0.219787 0.217893 0.22168 +0.219787 0.219787 0.231147 0.229253 0.223573 0.231147 0.229253 0.234933 +0.25576 0.280373 0.299307 0.3296 0.36368 0.384507 0.42616 0.503158 +0.537263 0.560632 0.586526 0.628842 0.674947 0.719158 0.760211 0.799368 +0.835368 0.875789 0.92 0.957263 0.992082 1.01461 1.02996 1.04171 +1.05478 1.06609 1.07522 1.09043 1.09195 1.07674 1.06456 1.06 +1.05412 1.04237 1.03257 1.01886 1.00351 0.987837 0.966737 0.934526 +0.902316 0.873895 0.841053 0.808211 0.779158 0.744421 0.712842 0.689474 +0.662947 0.642105 0.623158 0.606737 0.585895 0.565053 0.553684 0.542316 +0.531579 0.522737 0.513263 0.504421 0.492427 0.4716 0.46592 0.446987 +0.4432 0.446987 0.42048 0.395867 0.399653 0.40912 0.401547 0.39776 +0.384507 0.37504 0.376933 0.36936 0.376933 0.395867 0.37504 0.356107 +0.359893 0.356107 0.348533 0.342853 0.35232 0.371253 0.361787 0.33528 +0.339067 0.344747 0.34664 0.331493 0.325813 0.339067 0.356107 0.348533 +0.348533 0.348533 0.327707 0.32392 0.33528 0.34664 0.348533 0.344747 +0.337173 0.320133 0.31824 0.31824 0.32392 0.31824 0.30688 0.303093 +0.291733 0.28984 0.29552 0.286053 0.287947 0.29552 0.3012 0.299307 +0.282267 0.28416 0.299307 0.297413 0.308773 0.316347 0.331493 0.337173 +0.34096 0.342853 0.348533 0.344747 0.344747 0.35232 0.356107 0.359893 +0.371253 0.376933 0.38072 0.38072 0.395867 0.412907 0.42048 0.42048 +0.418587 0.42616 0.441307 0.450773 0.458347 0.481067 0.49432 0.502526 +0.510737 0.519579 0.525895 0.535368 0.546105 0.559368 0.574526 0.589684 +0.606105 0.624421 0.648421 0.671789 0.699579 0.729895 0.764632 0.797474 +0.824632 0.852421 0.888421 0.919368 0.948421 0.981306 0.996 1.00971 +1.02278 1.03192 1.04204 1.05249 1.05739 1.07217 1.08891 1.09956 +1.09348 1.06152 1.05412 1.04367 1.03453 1.0218 1.00351 0.98849 +0.962947 0.930737 0.899789 0.854947 0.808211 0.769684 0.714105 0.661684 +0.630105 0.600421 0.563789 0.525263 0.481067 0.40912 0.359893 0.310667 +0.280373 0.270907 0.263333 0.246293 0.231147 0.225467 0.22168 0.223573 +0.217893 0.22168 0.225467 0.225467 0.225467 0.225467 0.22736 0.225467 +0.22736 0.229253 0.236827 0.2444 0.240613 0.236827 0.2444 0.23872 +0.22736 0.229253 0.229253 0.229253 0.23872 0.242507 0.246293 0.242507 +0.23872 0.2444 0.236827 0.234933 0.251973 0.251973 0.23872 0.236827 +0.240613 0.234933 0.229253 0.22736 0.236827 0.23872 0.231147 0.236827 +0.23304 0.219787 0.219787 0.223573 0.223573 0.22736 0.234933 0.23872 +0.231147 0.223573 0.22168 0.231147 0.236827 0.23304 0.229253 0.231147 +0.225467 0.216 0.225467 0.225467 0.223573 0.22168 0.217893 0.216 +0.216 0.219787 0.217893 0.216 0.000986667 0.000993333 0.22736 0.22736 +0.217893 0.216 0.22736 0.229253 0.217893 0.22168 0.225467 0.217893 +0.219787 0.217893 0.22736 0.234933 0.236827 0.236827 0.23304 0.229253 +0.229253 0.234933 0.231147 0.236827 0.246293 0.242507 0.2444 0.263333 +0.269013 0.28416 0.31256 0.342853 0.429947 0.537263 0.632632 0.773474 +0.949684 1.01592 0.985224 0.824632 0.663579 0.560632 0.510105 0.481067 +0.515158 0.573895 0.657895 0.761474 0.889053 0.987837 1.01363 1.0169 +1.00514 0.974316 0.866947 0.682526 0.506947 0.282267 0.229253 0.22168 +0.216 0.000933333 0.000893333 0.00092 0.000926667 0.00092 0.000873333 0.000833333 +0.000833333 0.00086 0.000826667 0.000793333 0.00078 0.000746667 0.000746667 0.000786667 +0.0008 0.00078 0.000753333 0.000753333 0.00074 0.000733333 0.000766667 0.00076 +0.000793333 0.00082 0.000773333 0.00078 0.000786667 0.000806667 0.000866667 0.00086 +0.000813333 0.000793333 0.000826667 0.000853333 0.00092 0.325813 0.611789 0.844842 +0.981959 1.01069 1.02571 1.0329 1.02996 1.00416 0.917474 0.775368 +0.658526 0.571368 0.515158 0.503158 0.536632 0.630105 0.786737 0.949684 +0.993388 0.896632 0.718526 0.589053 0.510737 0.384507 0.322027 0.3012 +0.286053 0.26712 0.248187 0.236827 0.234933 0.23304 0.225467 0.22168 +0.217893 0.217893 0.22168 0.219787 0.219787 0.217893 0.000966667 0.00096 +0.000966667 0.000953333 0.00096 0.000993333 0.000986667 0.000973333 0.000966667 0.000986667 +0.00098 0.000973333 0.219787 0.217893 0.00098 0.219787 0.217893 0.00098 +0.000953333 0.000993333 0.219787 0.216 0.000986667 0.000966667 0.000973333 0.00098 +0.219787 0.225467 0.217893 0.219787 0.22736 0.225467 0.000986667 0.216 +0.000993333 0.223573 0.231147 0.22736 0.225467 0.225467 0.225467 0.22736 +0.23872 0.234933 0.22736 0.231147 0.229253 0.231147 0.23304 0.23304 +0.231147 0.236827 0.23304 0.22168 0.219787 0.223573 0.217893 0.219787 +0.229253 0.231147 0.219787 0.00098 0.22168 0.225467 0.231147 0.236827 +0.236827 0.22736 0.22736 0.23304 0.22736 0.229253 0.22736 0.223573 +0.22736 0.225467 0.22168 0.22736 0.223573 0.223573 0.23304 0.22736 +0.225467 0.219787 0.000993333 0.00098 0.000986667 0.000986667 0.217893 0.223573 +0.22736 0.22168 0.22168 0.225467 0.236827 0.236827 0.242507 0.263333 +0.28416 0.299307 0.322027 0.361787 0.42048 0.473493 0.513895 0.537263 +0.554947 0.587789 0.629474 0.663579 0.712211 0.776 0.822105 0.853053 +0.887789 0.914947 0.944 0.983265 1.00188 1.01363 1.02735 1.04106 +1.0489 1.0551 1.06 1.06609 1.06609 1.07369 1.06761 1.05641 +1.05282 1.04792 1.04041 1.03257 1.02473 1.01167 0.999918 0.987184 +0.972421 0.947789 0.916842 0.892211 0.866947 0.839158 0.812632 0.788 +0.762737 0.736842 0.710947 0.689474 0.668 0.648421 0.633263 0.611789 +0.601053 0.590316 0.577053 0.561895 0.554947 0.548 0.542316 0.535368 +0.522737 0.515158 0.513263 0.509474 0.512632 0.511368 0.501263 0.486747 +0.47728 0.464027 0.44888 0.4432 0.452667 0.46024 0.433733 0.411013 +0.416693 0.418587 0.416693 0.405333 0.399653 0.412907 0.422373 0.407227 +0.407227 0.412907 0.393973 0.388293 0.395867 0.401547 0.40344 0.405333 +0.39776 0.3864 0.3864 0.388293 0.395867 0.395867 0.384507 0.384507 +0.376933 0.365573 0.356107 0.342853 0.34096 0.337173 0.344747 0.354213 +0.359893 0.376933 0.399653 0.40344 0.399653 0.40912 0.418587 0.42616 +0.429947 0.433733 0.445093 0.456453 0.464027 0.481067 0.490533 0.48864 +0.506316 0.517053 0.520211 0.520842 0.534737 0.549263 0.556211 0.561263 +0.571368 0.582737 0.598526 0.611158 0.625053 0.641474 0.659158 0.679368 +0.702105 0.721684 0.741263 0.764632 0.790526 0.814526 0.842947 0.868211 +0.896632 0.920632 0.948421 0.973684 0.990449 1.00416 1.0182 1.02898 +1.03682 1.04465 1.05314 1.06304 1.07522 1.08891 1.09195 1.09652 +1.09043 1.05902 1.05445 1.05053 1.04041 1.02963 1.01722 1.00547 +0.990449 0.957263 0.912421 0.872 0.832842 0.781684 0.735579 0.701474 +0.674316 0.652842 0.625684 0.584 0.549263 0.526526 0.48864 0.407227 +0.371253 0.3296 0.297413 0.269013 0.251973 0.236827 0.219787 0.00098 +0.000953333 0.000953333 0.000946667 0.000993333 0.216 0.000993333 0.216 0.000986667 +0.000986667 0.216 0.000993333 0.000993333 0.22168 0.231147 0.225467 0.223573 +0.225467 0.000986667 0.225467 0.240613 0.236827 0.236827 0.236827 0.229253 +0.22168 0.223573 0.22736 0.234933 0.23872 0.236827 0.236827 0.234933 +0.234933 0.240613 0.23872 0.236827 0.242507 0.240613 0.23872 0.23304 +0.236827 0.23872 0.236827 0.229253 0.219787 0.22736 0.234933 0.240613 +0.242507 0.229253 0.219787 0.000993333 0.219787 0.22168 0.22168 0.223573 +0.229253 0.22736 0.22168 0.223573 0.231147 0.225467 0.229253 0.231147 +0.22168 0.216 0.216 0.217893 0.216 0.22168 0.22168 0.219787 +0.216 0.217893 0.217893 0.000993333 0.000993333 0.216 0.000986667 0.216 +0.217893 0.216 0.217893 0.22168 0.216 0.217893 0.223573 0.216 +0.216 0.216 0.219787 0.22736 0.229253 0.240613 0.240613 0.231147 +0.236827 0.234933 0.23872 0.246293 0.246293 0.25008 0.253867 0.257653 +0.27848 0.308773 0.354213 0.43184 0.535368 0.641474 0.798737 0.965474 +1.01722 0.98 0.812632 0.657895 0.558105 0.508211 0.49432 0.529053 +0.610526 0.737474 0.863789 0.966737 1.01494 1.03976 1.04759 1.04433 +1.03616 1.0231 0.985878 0.794316 0.558737 0.322027 0.242507 0.223573 +0.000973333 0.00096 0.000926667 0.000906667 0.00092 0.00092 0.0009 0.000873333 +0.000846667 0.000833333 0.00086 0.00084 0.0008 0.000766667 0.000773333 0.00078 +0.00078 0.00076 0.000746667 0.000746667 0.000753333 0.000773333 0.000766667 0.000753333 +0.000786667 0.000813333 0.000786667 0.0008 0.000826667 0.000833333 0.000846667 0.00086 +0.000846667 0.000833333 0.00084 0.000873333 0.000973333 0.40344 0.681263 0.937053 +1.02114 1.03453 1.03878 1.04302 1.04563 1.04041 1.02212 0.981959 +0.873895 0.738737 0.612421 0.531579 0.506316 0.537895 0.626316 0.778526 +0.948421 0.996 0.909895 0.747579 0.612421 0.515158 0.393973 0.339067 +0.30688 0.28416 0.25576 0.240613 0.2444 0.240613 0.22736 0.219787 +0.217893 0.217893 0.22736 0.225467 0.000993333 0.000966667 0.000973333 0.219787 +0.000993333 0.000966667 0.000993333 0.000993333 0.000973333 0.000973333 0.000966667 0.00098 +0.00098 0.00098 0.000993333 0.000986667 0.000966667 0.000986667 0.000993333 0.000966667 +0.000966667 0.217893 0.216 0.216 0.00098 0.00098 0.000986667 0.00098 +0.000986667 0.219787 0.216 0.000993333 0.219787 0.219787 0.000986667 0.219787 +0.225467 0.223573 0.223573 0.000993333 0.22168 0.229253 0.223573 0.219787 +0.223573 0.225467 0.22736 0.23304 0.23304 0.22736 0.23304 0.225467 +0.217893 0.223573 0.231147 0.229253 0.22736 0.225467 0.217893 0.22168 +0.219787 0.219787 0.000993333 0.000986667 0.22168 0.225467 0.231147 0.236827 +0.23872 0.229253 0.229253 0.23304 0.225467 0.223573 0.225467 0.22168 +0.223573 0.219787 0.000993333 0.217893 0.217893 0.219787 0.223573 0.225467 +0.229253 0.219787 0.00098 0.000986667 0.00098 0.000953333 0.00098 0.219787 +0.000993333 0.000966667 0.000966667 0.00098 0.00098 0.000926667 0.000906667 0.000933333 +0.000966667 0.22168 0.234933 0.23872 0.246293 0.248187 0.2728 0.28416 +0.286053 0.325813 0.365573 0.395867 0.467813 0.525895 0.553684 0.569474 +0.586526 0.605474 0.634526 0.686316 0.733684 0.765263 0.799368 0.843579 +0.882105 0.921895 0.955368 0.977474 0.991429 1.00678 1.01592 1.02212 +1.03224 1.044 1.04955 1.05412 1.05804 1.06 1.07065 1.07369 +1.08282 1.07065 1.05739 1.05282 1.05118 1.04857 1.0391 1.02833 +1.01918 1.01167 1.00188 0.990449 0.976211 0.955368 0.933263 0.909895 +0.892842 0.868211 0.848632 0.825895 0.810737 0.793684 0.777263 0.760842 +0.741263 0.726105 0.710947 0.698947 0.692 0.680632 0.665474 0.653474 +0.640842 0.628842 0.616842 0.611789 0.607368 0.602947 0.588421 0.578316 +0.573895 0.569474 0.564421 0.56 0.554947 0.553684 0.552421 0.548 +0.547368 0.546105 0.540421 0.537263 0.537263 0.535368 0.533474 0.535368 +0.536 0.532211 0.531579 0.530316 0.534737 0.537263 0.532211 0.535368 +0.535368 0.533474 0.530947 0.529053 0.527158 0.528421 0.534737 0.539789 +0.546105 0.554316 0.563158 0.562526 0.565684 0.575158 0.584632 0.592211 +0.594737 0.604211 0.616211 0.626947 0.639579 0.654737 0.666105 0.674316 +0.695789 0.714105 0.726105 0.74 0.763368 0.784211 0.799368 0.817684 +0.840421 0.859368 0.875789 0.897895 0.915579 0.937684 0.957263 0.979368 +0.989469 0.999592 1.00906 1.02016 1.02833 1.03616 1.04498 1.04988 +1.05445 1.05837 1.06609 1.06913 1.07217 1.08739 1.08587 1.06761 +1.05706 1.0538 1.04727 1.04073 1.0329 1.0218 1.00645 0.994041 +0.982612 0.953474 0.923158 0.900421 0.868842 0.824632 0.786105 0.752632 +0.714105 0.662947 0.615579 0.585263 0.552421 0.519579 0.49432 0.458347 +0.441307 0.42616 0.388293 0.325813 0.280373 0.26144 0.240613 0.22736 +0.225467 0.219787 0.00098 0.000973333 0.00098 0.000946667 0.000933333 0.00094 +0.000926667 0.000926667 0.00096 0.217893 0.000993333 0.000973333 0.000953333 0.000933333 +0.216 0.22736 0.22168 0.000986667 0.000993333 0.000993333 0.000993333 0.22168 +0.23304 0.217893 0.219787 0.23304 0.225467 0.231147 0.225467 0.22736 +0.231147 0.22736 0.22736 0.22736 0.22736 0.231147 0.229253 0.231147 +0.240613 0.234933 0.23304 0.236827 0.231147 0.22168 0.23304 0.234933 +0.229253 0.231147 0.229253 0.22736 0.219787 0.217893 0.22736 0.23304 +0.225467 0.22736 0.229253 0.219787 0.217893 0.216 0.22168 0.217893 +0.216 0.216 0.000973333 0.000993333 0.223573 0.225467 0.225467 0.22736 +0.22168 0.219787 0.216 0.000993333 0.000966667 0.00098 0.00096 0.000986667 +0.22168 0.000993333 0.217893 0.216 0.00098 0.000993333 0.216 0.000993333 +0.000993333 0.00098 0.000986667 0.223573 0.219787 0.217893 0.22168 0.000993333 +0.000986667 0.217893 0.217893 0.219787 0.219787 0.22736 0.23872 0.23872 +0.2444 0.248187 0.248187 0.253867 0.26144 0.26712 0.26712 0.274693 +0.308773 0.350427 0.4432 0.538526 0.641474 0.803158 0.981959 1.02049 +0.970526 0.795579 0.647789 0.553684 0.505053 0.496213 0.541053 0.635789 +0.769684 0.918105 1.00416 1.03518 1.04922 1.05184 1.05151 1.04661 +1.04335 1.0378 1.01135 0.848 0.584632 0.339067 0.2444 0.219787 +0.00096 0.00098 0.000966667 0.00094 0.00092 0.00092 0.0009 0.000866667 +0.000846667 0.00082 0.000833333 0.000846667 0.00082 0.000793333 0.0008 0.000806667 +0.000786667 0.000773333 0.000793333 0.000786667 0.000773333 0.000766667 0.000733333 0.00072 +0.000746667 0.000773333 0.00078 0.000786667 0.00082 0.000826667 0.000806667 0.000833333 +0.000846667 0.000826667 0.000813333 0.000846667 0.216 0.424267 0.695789 0.962947 +1.03518 1.04237 1.04041 1.04139 1.04335 1.04694 1.04498 1.03453 +1.00841 0.924421 0.771579 0.632632 0.543579 0.511368 0.538526 0.623158 +0.772842 0.942105 0.998612 0.933263 0.765263 0.611789 0.516421 0.411013 +0.34096 0.30688 0.280373 0.259547 0.23872 0.23304 0.229253 0.229253 +0.22736 0.223573 0.22736 0.229253 0.22168 0.219787 0.219787 0.22168 +0.219787 0.00098 0.000973333 0.000973333 0.000986667 0.000986667 0.000966667 0.000993333 +0.216 0.000966667 0.000966667 0.000973333 0.000953333 0.00096 0.000973333 0.00096 +0.216 0.216 0.000973333 0.000993333 0.000986667 0.000973333 0.00096 0.000953333 +0.000966667 0.000993333 0.000973333 0.000993333 0.216 0.216 0.000993333 0.22168 +0.22736 0.217893 0.000993333 0.000986667 0.216 0.219787 0.000993333 0.216 +0.000993333 0.217893 0.22168 0.229253 0.225467 0.22168 0.225467 0.217893 +0.217893 0.219787 0.225467 0.229253 0.22736 0.216 0.217893 0.219787 +0.216 0.22168 0.225467 0.223573 0.217893 0.216 0.223573 0.219787 +0.216 0.219787 0.22736 0.231147 0.223573 0.216 0.219787 0.216 +0.217893 0.219787 0.22168 0.219787 0.225467 0.219787 0.00098 0.000993333 +0.00098 0.000953333 0.000966667 0.000986667 0.22168 0.22736 0.22736 0.000973333 +0.000926667 0.00092 0.00094 0.000953333 0.00094 0.00094 0.000933333 0.000933333 +0.00096 0.000993333 0.000986667 0.000966667 0.000933333 0.000946667 0.216 0.216 +0.000993333 0.22168 0.223573 0.223573 0.240613 0.26712 0.287947 0.293627 +0.297413 0.316347 0.358 0.424267 0.48864 0.506947 0.522737 0.553684 +0.588421 0.623789 0.650316 0.676842 0.712842 0.753895 0.780421 0.8 +0.830316 0.879579 0.918105 0.934526 0.952211 0.98 0.99502 1.00743 +1.01853 1.02865 1.03584 1.04008 1.04727 1.05641 1.06304 1.06609 +1.07369 1.08739 1.09043 1.07978 1.07674 1.08435 1.06761 1.05935 +1.05739 1.04955 1.04269 1.03714 1.03584 1.02963 1.02473 1.01853 +1.01298 1.0071 0.997959 0.992408 0.989469 0.982286 0.968632 0.956 +0.942105 0.927579 0.914947 0.906105 0.896632 0.884632 0.866316 0.855579 +0.845474 0.833474 0.822737 0.815158 0.807579 0.803789 0.794947 0.787368 +0.788 0.784842 0.774737 0.772211 0.772211 0.765895 0.762105 0.764632 +0.764632 0.757053 0.757053 0.757684 0.762105 0.764632 0.759579 0.762105 +0.764632 0.769053 0.769053 0.772842 0.779158 0.785474 0.792421 0.798105 +0.806316 0.813895 0.820211 0.825895 0.836632 0.851158 0.861263 0.872 +0.885263 0.897895 0.910526 0.924421 0.939579 0.954737 0.970526 0.981306 +0.990122 0.998612 1.0058 1.01102 1.01918 1.02506 1.03127 1.03714 +1.04073 1.04596 1.04824 1.05151 1.05445 1.05804 1.06 1.06152 +1.06 1.06761 1.06456 1.06456 1.05869 1.05706 1.05576 1.05118 +1.04465 1.03976 1.03355 1.02016 1.00678 0.998286 0.986204 0.962947 +0.938947 0.915579 0.878947 0.848 0.823368 0.789895 0.744421 0.708421 +0.688211 0.66421 0.633895 0.617474 0.590947 0.558105 0.532842 0.514526 +0.47728 0.401547 0.34096 0.314453 0.282267 0.251973 0.253867 0.242507 +0.240613 0.236827 0.22736 0.22168 0.000966667 0.00096 0.000953333 0.000933333 +0.000946667 0.00094 0.0009 0.000913333 0.000966667 0.00096 0.00096 0.000966667 +0.000946667 0.000926667 0.000946667 0.000993333 0.000986667 0.000986667 0.00096 0.000946667 +0.000973333 0.22736 0.219787 0.00098 0.000993333 0.216 0.216 0.22736 +0.23304 0.217893 0.000973333 0.229253 0.229253 0.22736 0.219787 0.225467 +0.23304 0.223573 0.22736 0.225467 0.22168 0.225467 0.231147 0.229253 +0.23304 0.225467 0.22168 0.231147 0.236827 0.223573 0.225467 0.231147 +0.223573 0.225467 0.223573 0.223573 0.219787 0.000986667 0.000993333 0.22168 +0.00096 0.000966667 0.000993333 0.22168 0.229253 0.22168 0.231147 0.225467 +0.000993333 0.216 0.000973333 0.217893 0.216 0.000993333 0.000993333 0.219787 +0.22168 0.223573 0.229253 0.22168 0.00096 0.216 0.00098 0.000966667 +0.217893 0.216 0.000986667 0.216 0.000993333 0.000973333 0.217893 0.225467 +0.000993333 0.00098 0.216 0.219787 0.22168 0.219787 0.225467 0.000993333 +0.00098 0.219787 0.22168 0.219787 0.22168 0.225467 0.231147 0.23304 +0.236827 0.253867 0.257653 0.253867 0.26712 0.280373 0.28984 0.320133 +0.37504 0.464027 0.546105 0.650316 0.812632 0.980653 1.01559 0.956 +0.778526 0.632 0.544842 0.503158 0.502526 0.548 0.651579 0.796842 +0.943368 1.01788 1.04433 1.05249 1.05216 1.04857 1.04824 1.04694 +1.04792 1.04498 1.01527 0.842947 0.580211 0.337173 0.236827 0.00098 +0.000946667 0.000953333 0.000953333 0.000926667 0.000906667 0.00092 0.000913333 0.000853333 +0.0008 0.000806667 0.000813333 0.00082 0.000853333 0.00084 0.000846667 0.000846667 +0.00082 0.000813333 0.000806667 0.000773333 0.000766667 0.00076 0.000746667 0.00076 +0.00074 0.000753333 0.00076 0.00078 0.000806667 0.000793333 0.000793333 0.00082 +0.000806667 0.000826667 0.000866667 0.000906667 0.223573 0.399653 0.672421 0.947158 +1.03649 1.04759 1.04433 1.04073 1.0391 1.04335 1.04531 1.04596 +1.04073 1.01624 0.942737 0.790526 0.647158 0.549263 0.513263 0.536632 +0.611789 0.757684 0.934526 1.00057 0.939579 0.770316 0.620632 0.525895 +0.422373 0.34664 0.3012 0.270907 0.248187 0.240613 0.242507 0.2444 +0.23872 0.22736 0.22736 0.22736 0.225467 0.225467 0.217893 0.217893 +0.000993333 0.00098 0.000986667 0.219787 0.219787 0.00098 0.000993333 0.216 +0.000953333 0.000953333 0.00098 0.000973333 0.000973333 0.00098 0.00096 0.000973333 +0.00098 0.000966667 0.000986667 0.219787 0.000986667 0.00098 0.000966667 0.00098 +0.216 0.217893 0.000966667 0.000966667 0.000973333 0.000986667 0.00098 0.000993333 +0.217893 0.000986667 0.219787 0.22168 0.219787 0.216 0.000986667 0.00098 +0.00098 0.216 0.217893 0.217893 0.216 0.216 0.216 0.216 +0.22168 0.216 0.217893 0.223573 0.216 0.000993333 0.216 0.217893 +0.223573 0.225467 0.225467 0.00098 0.000986667 0.223573 0.22736 0.217893 +0.000973333 0.216 0.000986667 0.000986667 0.217893 0.217893 0.22736 0.225467 +0.217893 0.00098 0.000986667 0.223573 0.229253 0.217893 0.000973333 0.00098 +0.00096 0.00096 0.000966667 0.000986667 0.229253 0.231147 0.22168 0.00098 +0.000933333 0.00094 0.000933333 0.00092 0.000913333 0.000946667 0.000966667 0.000973333 +0.000986667 0.000986667 0.000966667 0.00092 0.00086 0.00092 0.00096 0.00094 +0.000926667 0.000926667 0.00094 0.000993333 0.219787 0.000986667 0.216 0.000973333 +0.000926667 0.000953333 0.216 0.229253 0.248187 0.25008 0.26144 0.286053 +0.31824 0.34096 0.35232 0.401547 0.464027 0.513895 0.528421 0.535368 +0.554316 0.594105 0.625684 0.638316 0.650947 0.681895 0.721053 0.755789 +0.785474 0.819579 0.849895 0.866947 0.883368 0.906105 0.936421 0.961684 +0.981306 0.991755 0.998286 1.00482 1.01559 1.02865 1.03355 1.03878 +1.04367 1.04563 1.04694 1.05184 1.05673 1.05869 1.07369 1.07674 +1.08739 1.08891 1.08587 1.09804 1.11173 1.10413 1.09348 1.08739 +1.07978 1.06456 1.06 1.06 1.05869 1.05608 1.05053 1.04857 +1.04596 1.04171 1.03878 1.03747 1.03649 1.03682 1.03061 1.02539 +1.02669 1.02473 1.02049 1.02147 1.02343 1.02049 1.0182 1.01951 +1.01951 1.01559 1.01624 1.01592 1.01559 1.01494 1.01429 1.01559 +1.01853 1.01984 1.01918 1.02278 1.02637 1.02833 1.02996 1.03094 +1.03453 1.03486 1.03486 1.03649 1.04041 1.04302 1.044 1.04661 +1.05086 1.05347 1.05608 1.05837 1.05837 1.05967 1.07826 1.07369 +1.07674 1.08282 1.08282 1.07369 1.07217 1.06609 1.06304 1.05935 +1.0551 1.0538 1.04824 1.03976 1.0329 1.02767 1.02278 1.01592 +1.00873 1.00286 0.990776 0.983265 0.966737 0.942737 0.925053 0.901684 +0.873263 0.858737 0.837895 0.793684 0.745684 0.718526 0.688842 0.661053 +0.640842 0.620632 0.592842 0.570105 0.552421 0.530316 0.500632 0.450773 +0.42616 0.40912 0.384507 0.365573 0.339067 0.314453 0.282267 0.263333 +0.251973 0.246293 0.223573 0.219787 0.000993333 0.00096 0.000986667 0.000986667 +0.000933333 0.000953333 0.000946667 0.000986667 0.000966667 0.000913333 0.000913333 0.0009 +0.000913333 0.000926667 0.000913333 0.00094 0.216 0.000993333 0.00096 0.00096 +0.000973333 0.000933333 0.00096 0.216 0.219787 0.22168 0.000973333 0.000933333 +0.000933333 0.000993333 0.219787 0.217893 0.216 0.000993333 0.216 0.216 +0.219787 0.000973333 0.000966667 0.229253 0.23304 0.225467 0.00098 0.217893 +0.22736 0.22736 0.231147 0.231147 0.223573 0.219787 0.217893 0.223573 +0.225467 0.229253 0.225467 0.225467 0.23304 0.225467 0.219787 0.223573 +0.223573 0.217893 0.217893 0.22168 0.217893 0.216 0.223573 0.217893 +0.000986667 0.00098 0.00096 0.000993333 0.22168 0.223573 0.225467 0.219787 +0.217893 0.219787 0.216 0.219787 0.223573 0.000993333 0.000986667 0.217893 +0.216 0.216 0.223573 0.219787 0.00098 0.216 0.22168 0.000973333 +0.000986667 0.217893 0.217893 0.217893 0.217893 0.00096 0.000986667 0.219787 +0.000993333 0.000993333 0.216 0.000993333 0.217893 0.217893 0.22736 0.22168 +0.000993333 0.223573 0.225467 0.223573 0.225467 0.229253 0.229253 0.234933 +0.23872 0.25576 0.265227 0.26712 0.280373 0.297413 0.31824 0.376933 +0.501263 0.568842 0.673684 0.832842 0.990449 1.0169 0.940211 0.760211 +0.615579 0.534105 0.48864 0.496213 0.553053 0.662947 0.814526 0.963579 +1.02506 1.05053 1.05543 1.05412 1.05053 1.04531 1.04498 1.04694 +1.05086 1.04759 1.00645 0.803789 0.549895 0.310667 0.229253 0.000966667 +0.000946667 0.000953333 0.000946667 0.0009 0.00084 0.00082 0.00086 0.000833333 +0.000786667 0.000746667 0.000773333 0.000786667 0.00084 0.000813333 0.00082 0.000826667 +0.000826667 0.000826667 0.000813333 0.000786667 0.000793333 0.0008 0.00078 0.000773333 +0.000753333 0.00074 0.000746667 0.000773333 0.000766667 0.00076 0.0008 0.0008 +0.000813333 0.000853333 0.0009 0.000946667 0.22168 0.344747 0.620632 0.897263 +1.02963 1.05118 1.0502 1.04465 1.0391 1.03714 1.0391 1.04269 +1.04563 1.04335 1.0218 0.952842 0.801895 0.658526 0.555579 0.513263 +0.531579 0.605474 0.749474 0.925684 1.0009 0.950947 0.789895 0.644632 +0.545474 0.4432 0.34096 0.3012 0.28416 0.26712 0.259547 0.251973 +0.236827 0.234933 0.242507 0.236827 0.229253 0.22168 0.216 0.216 +0.000993333 0.000986667 0.217893 0.219787 0.000986667 0.00098 0.000973333 0.000986667 +0.000986667 0.217893 0.229253 0.225467 0.000993333 0.00096 0.00096 0.000933333 +0.00094 0.000986667 0.22168 0.217893 0.000973333 0.000993333 0.000986667 0.00098 +0.00098 0.000986667 0.000946667 0.000946667 0.00098 0.216 0.000986667 0.000986667 +0.000993333 0.216 0.225467 0.22736 0.22736 0.217893 0.00098 0.000953333 +0.000986667 0.22168 0.000993333 0.000993333 0.217893 0.00098 0.00098 0.216 +0.219787 0.219787 0.223573 0.22168 0.000993333 0.219787 0.217893 0.216 +0.219787 0.219787 0.217893 0.217893 0.223573 0.22168 0.216 0.000986667 +0.216 0.216 0.000986667 0.217893 0.223573 0.223573 0.217893 0.217893 +0.216 0.217893 0.22168 0.225467 0.217893 0.217893 0.219787 0.219787 +0.216 0.217893 0.219787 0.22168 0.219787 0.000966667 0.00098 0.00098 +0.000953333 0.00098 0.00098 0.000953333 0.000993333 0.00098 0.000993333 0.000993333 +0.000966667 0.000966667 0.00096 0.000926667 0.00094 0.217893 0.000993333 0.00094 +0.000906667 0.000933333 0.000966667 0.000986667 0.000993333 0.00096 0.000993333 0.00098 +0.000933333 0.00094 0.000926667 0.000973333 0.216 0.000993333 0.216 0.223573 +0.22736 0.223573 0.223573 0.2444 0.253867 0.26712 0.276587 0.27848 +0.3012 0.331493 0.34664 0.356107 0.36936 0.401547 0.475387 0.513895 +0.527158 0.548632 0.570105 0.585263 0.596632 0.609263 0.638316 0.665474 +0.692632 0.716 0.727368 0.741263 0.772211 0.811368 0.839789 0.860632 +0.872632 0.885263 0.896 0.918105 0.934526 0.946526 0.962947 0.980653 +0.989796 0.992735 1.00024 1.01135 1.0182 1.02408 1.02963 1.03322 +1.03551 1.03682 1.04073 1.044 1.04857 1.05249 1.05216 1.05412 +1.05478 1.05543 1.05869 1.05935 1.06152 1.07522 1.06456 1.06304 +1.07217 1.06913 1.06 1.07369 1.07522 1.06609 1.06304 1.07522 +1.06761 1.05837 1.05935 1.05739 1.05673 1.05739 1.05837 1.05935 +1.06304 1.06152 1.06456 1.07065 1.05935 1.05902 1.05837 1.05478 +1.05576 1.05445 1.05086 1.0489 1.04792 1.04694 1.04139 1.03714 +1.03453 1.0342 1.03551 1.0329 1.02637 1.02212 1.01755 1.00678 +1.0009 0.996327 0.98751 0.973684 0.966737 0.966737 0.962947 0.947789 +0.935789 0.928842 0.902316 0.868211 0.837263 0.811368 0.796211 0.781684 +0.767789 0.748842 0.721053 0.705895 0.685684 0.655368 0.633895 0.609263 +0.585263 0.576421 0.568211 0.541053 0.506947 0.467813 0.435627 0.40344 +0.388293 0.36368 0.344747 0.32392 0.3012 0.270907 0.26144 0.257653 +0.240613 0.2444 0.25008 0.23872 0.240613 0.23872 0.219787 0.000946667 +0.00098 0.229253 0.216 0.000973333 0.00098 0.00096 0.000973333 0.000986667 +0.00094 0.000946667 0.000953333 0.000946667 0.000953333 0.000906667 0.000926667 0.00094 +0.000953333 0.000953333 0.000946667 0.000953333 0.000993333 0.00098 0.000926667 0.000973333 +0.219787 0.217893 0.223573 0.225467 0.219787 0.216 0.000973333 0.000953333 +0.000993333 0.229253 0.225467 0.223573 0.000986667 0.000966667 0.000993333 0.219787 +0.219787 0.219787 0.216 0.219787 0.223573 0.22168 0.22168 0.223573 +0.22736 0.23304 0.234933 0.22736 0.219787 0.231147 0.229253 0.225467 +0.223573 0.219787 0.225467 0.231147 0.229253 0.225467 0.22168 0.225467 +0.22168 0.000993333 0.216 0.223573 0.22168 0.223573 0.229253 0.217893 +0.216 0.219787 0.000986667 0.219787 0.22168 0.217893 0.216 0.000986667 +0.217893 0.217893 0.216 0.217893 0.22168 0.22736 0.223573 0.217893 +0.216 0.219787 0.223573 0.223573 0.216 0.000973333 0.000973333 0.000986667 +0.22168 0.216 0.223573 0.223573 0.22168 0.216 0.000986667 0.00098 +0.00098 0.219787 0.217893 0.000993333 0.217893 0.217893 0.223573 0.22168 +0.22168 0.22736 0.22736 0.229253 0.229253 0.23872 0.246293 0.2444 +0.248187 0.259547 0.269013 0.28416 0.3012 0.322027 0.37504 0.504421 +0.587789 0.704632 0.862526 0.998612 1.01788 0.933895 0.752632 0.610526 +0.525895 0.479173 0.501263 0.556842 0.670526 0.823368 0.972421 1.028 +1.05053 1.05478 1.05151 1.04759 1.04531 1.04596 1.04922 1.05184 +1.0538 1.04465 0.987184 0.743789 0.510105 0.270907 0.223573 0.000966667 +0.00094 0.000926667 0.0009 0.000893333 0.000873333 0.0008 0.0008 0.000813333 +0.0008 0.000773333 0.000793333 0.000766667 0.000846667 0.000826667 0.000846667 0.00086 +0.00084 0.00082 0.000826667 0.000826667 0.000806667 0.000786667 0.00076 0.000766667 +0.000766667 0.000766667 0.000746667 0.000746667 0.000733333 0.00074 0.000773333 0.00078 +0.000793333 0.000826667 0.000846667 0.00092 0.00098 0.29552 0.570105 0.841053 +1.02082 1.05249 1.05445 1.05053 1.04204 1.0329 1.02571 1.02767 +1.03943 1.0489 1.04857 1.02702 0.967368 0.813895 0.664842 0.559368 +0.513895 0.525895 0.593474 0.736842 0.920632 1.00351 0.978105 0.836 +0.679368 0.561895 0.473493 0.367467 0.31824 0.291733 0.2728 0.257653 +0.240613 0.240613 0.242507 0.234933 0.229253 0.219787 0.219787 0.217893 +0.000986667 0.216 0.216 0.000993333 0.216 0.223573 0.225467 0.223573 +0.23304 0.22168 0.22168 0.216 0.00096 0.00096 0.000973333 0.000966667 +0.00098 0.216 0.217893 0.219787 0.00098 0.00098 0.000986667 0.000973333 +0.00098 0.000993333 0.000973333 0.000986667 0.000993333 0.217893 0.217893 0.000973333 +0.216 0.225467 0.22736 0.22168 0.000993333 0.00098 0.00098 0.00098 +0.000993333 0.216 0.217893 0.22168 0.223573 0.216 0.217893 0.219787 +0.22168 0.229253 0.223573 0.22168 0.216 0.216 0.22168 0.219787 +0.223573 0.225467 0.22168 0.22736 0.225467 0.216 0.00098 0.219787 +0.22168 0.225467 0.225467 0.229253 0.234933 0.229253 0.217893 0.216 +0.22168 0.229253 0.234933 0.22736 0.217893 0.229253 0.22736 0.223573 +0.22736 0.223573 0.22736 0.225467 0.000993333 0.000993333 0.217893 0.216 +0.217893 0.216 0.000993333 0.217893 0.225467 0.217893 0.225467 0.22168 +0.00098 0.000966667 0.000933333 0.00092 0.000993333 0.223573 0.00098 0.000966667 +0.000953333 0.000993333 0.22168 0.000993333 0.000966667 0.000966667 0.000966667 0.000953333 +0.000986667 0.000973333 0.00096 0.000993333 0.217893 0.000986667 0.216 0.223573 +0.217893 0.000973333 0.216 0.229253 0.22168 0.216 0.216 0.229253 +0.23872 0.236827 0.22736 0.229253 0.231147 0.22736 0.25576 0.280373 +0.276587 0.286053 0.304987 0.333387 0.348533 0.358 0.382613 0.418587 +0.462133 0.490533 0.48864 0.500632 0.519579 0.549895 0.575789 0.590316 +0.595368 0.604211 0.609895 0.626947 0.638316 0.645263 0.661684 0.689474 +0.707158 0.707158 0.724842 0.751368 0.767158 0.786737 0.804421 0.815789 +0.823368 0.835368 0.848 0.859368 0.874526 0.887158 0.898526 0.910526 +0.910526 0.916842 0.933895 0.935158 0.933895 0.942105 0.951579 0.961684 +0.966105 0.967368 0.967368 0.971789 0.968632 0.958526 0.956 0.967368 +0.969263 0.968 0.967368 0.964211 0.971158 0.978105 0.978105 0.976211 +0.970526 0.962316 0.964211 0.968632 0.961684 0.952842 0.941474 0.925053 +0.920632 0.922526 0.918105 0.909895 0.903579 0.896 0.874526 0.856211 +0.842947 0.836 0.834737 0.829684 0.808211 0.789263 0.770316 0.741895 +0.722947 0.710947 0.686947 0.662316 0.662316 0.671158 0.669895 0.652842 +0.641474 0.639579 0.614947 0.584 0.560632 0.542947 0.537263 0.527789 +0.519579 0.510737 0.492427 0.481067 0.45456 0.411013 0.367467 0.344747 +0.327707 0.32392 0.322027 0.31256 0.27848 0.246293 0.25576 0.246293 +0.242507 0.246293 0.242507 0.234933 0.225467 0.225467 0.234933 0.242507 +0.22736 0.223573 0.22168 0.216 0.229253 0.229253 0.00098 0.000966667 +0.000986667 0.223573 0.225467 0.216 0.216 0.217893 0.00096 0.000953333 +0.000926667 0.000926667 0.000973333 0.000966667 0.000986667 0.000966667 0.000953333 0.000966667 +0.000986667 0.000986667 0.000986667 0.00098 0.217893 0.216 0.000986667 0.219787 +0.225467 0.229253 0.223573 0.22168 0.217893 0.225467 0.22736 0.219787 +0.223573 0.22736 0.223573 0.216 0.22168 0.223573 0.225467 0.231147 +0.219787 0.22168 0.217893 0.223573 0.236827 0.23304 0.234933 0.231147 +0.225467 0.22736 0.234933 0.23304 0.231147 0.2444 0.242507 0.229253 +0.22168 0.217893 0.225467 0.2444 0.236827 0.231147 0.22736 0.22736 +0.22168 0.217893 0.22736 0.229253 0.229253 0.22736 0.219787 0.217893 +0.22168 0.234933 0.22168 0.22168 0.22168 0.225467 0.225467 0.216 +0.22168 0.00098 0.216 0.219787 0.216 0.229253 0.229253 0.217893 +0.216 0.22736 0.229253 0.223573 0.229253 0.223573 0.000973333 0.000993333 +0.223573 0.000993333 0.219787 0.229253 0.225467 0.22168 0.225467 0.000993333 +0.217893 0.229253 0.22736 0.223573 0.223573 0.22736 0.223573 0.22168 +0.225467 0.225467 0.231147 0.23304 0.234933 0.248187 0.25576 0.257653 +0.25576 0.269013 0.282267 0.303093 0.331493 0.3864 0.506316 0.591579 +0.721684 0.889684 1.00678 1.01657 0.920632 0.741263 0.604211 0.526526 +0.4716 0.498107 0.56 0.670526 0.827158 0.979368 1.02931 1.05086 +1.05282 1.04171 1.02898 1.02604 1.0342 1.04563 1.05314 1.05543 +1.05576 1.04073 0.943368 0.674316 0.433733 0.25008 0.22168 0.00096 +0.000906667 0.000873333 0.000833333 0.000806667 0.000813333 0.00082 0.000826667 0.00082 +0.0008 0.000813333 0.00082 0.00082 0.000906667 0.000833333 0.000826667 0.00082 +0.000786667 0.000806667 0.000806667 0.000813333 0.0008 0.00078 0.00078 0.000793333 +0.00076 0.000733333 0.000733333 0.000746667 0.000733333 0.000726667 0.00076 0.00078 +0.000786667 0.000833333 0.000886667 0.000933333 0.000966667 0.27848 0.527789 0.776632 +1.00286 1.05086 1.05771 1.05445 1.04302 1.02637 1.00318 0.991755 +1.00873 1.0378 1.05347 1.05412 1.03127 0.968 0.812632 0.660421 +0.551789 0.510737 0.526526 0.592842 0.732421 0.914316 1.01069 0.993714 +0.858105 0.702105 0.583368 0.500632 0.376933 0.322027 0.28984 0.2728 +0.257653 0.2444 0.240613 0.234933 0.234933 0.22736 0.22736 0.23304 +0.229253 0.22168 0.223573 0.225467 0.22168 0.22168 0.219787 0.22736 +0.23304 0.223573 0.000993333 0.000986667 0.217893 0.217893 0.216 0.217893 +0.219787 0.216 0.219787 0.223573 0.219787 0.216 0.216 0.216 +0.217893 0.223573 0.000993333 0.00098 0.000993333 0.216 0.216 0.216 +0.223573 0.231147 0.22736 0.000993333 0.000966667 0.216 0.223573 0.219787 +0.22168 0.223573 0.22736 0.229253 0.225467 0.22168 0.229253 0.229253 +0.229253 0.225467 0.219787 0.22736 0.225467 0.225467 0.229253 0.22736 +0.223573 0.223573 0.22168 0.22736 0.22736 0.225467 0.22736 0.23872 +0.236827 0.231147 0.225467 0.22168 0.225467 0.231147 0.23304 0.229253 +0.22736 0.231147 0.23304 0.229253 0.22736 0.236827 0.23304 0.22736 +0.225467 0.223573 0.22736 0.225467 0.22168 0.229253 0.22736 0.216 +0.219787 0.00098 0.216 0.219787 0.22168 0.23304 0.23304 0.223573 +0.217893 0.217893 0.000966667 0.000993333 0.22168 0.22168 0.000966667 0.000953333 +0.000966667 0.216 0.223573 0.22168 0.216 0.000993333 0.00096 0.00096 +0.00098 0.000973333 0.000966667 0.000993333 0.217893 0.217893 0.22736 0.231147 +0.216 0.000966667 0.22168 0.229253 0.22168 0.00098 0.217893 0.229253 +0.225467 0.22168 0.225467 0.219787 0.216 0.216 0.23304 0.234933 +0.231147 0.217893 0.223573 0.2444 0.234933 0.23872 0.23872 0.248187 +0.265227 0.2728 0.26712 0.263333 0.28416 0.304987 0.331493 0.350427 +0.35232 0.35232 0.344747 0.36368 0.382613 0.388293 0.405333 0.45456 +0.479173 0.4716 0.5 0.508211 0.516421 0.528421 0.537263 0.543579 +0.548 0.557474 0.566947 0.575158 0.585895 0.593474 0.603579 0.616842 +0.614316 0.618737 0.632632 0.633263 0.632632 0.640211 0.653474 0.666105 +0.669263 0.671158 0.671789 0.671158 0.66421 0.652842 0.646526 0.657895 +0.662947 0.668 0.672421 0.672421 0.68 0.686316 0.682526 0.677474 +0.670526 0.659158 0.662316 0.668632 0.662947 0.654737 0.645895 0.629474 +0.621895 0.626947 0.627579 0.619368 0.616211 0.607368 0.591579 0.580842 +0.568211 0.559368 0.558737 0.553684 0.534737 0.522105 0.512632 0.49432 +0.473493 0.44888 0.4148 0.39776 0.405333 0.424267 0.4148 0.388293 +0.376933 0.382613 0.358 0.327707 0.304987 0.304987 0.303093 0.291733 +0.280373 0.2728 0.270907 0.274693 0.2728 0.253867 0.234933 0.231147 +0.23872 0.2444 0.242507 0.240613 0.231147 0.000993333 0.23304 0.23304 +0.229253 0.236827 0.234933 0.22168 0.219787 0.223573 0.229253 0.22736 +0.225467 0.223573 0.219787 0.217893 0.231147 0.22736 0.000986667 0.000993333 +0.000993333 0.000993333 0.223573 0.217893 0.217893 0.223573 0.000973333 0.00094 +0.000953333 0.000953333 0.217893 0.219787 0.223573 0.216 0.00096 0.000993333 +0.217893 0.217893 0.223573 0.22168 0.225467 0.229253 0.22736 0.225467 +0.223573 0.23304 0.225467 0.225467 0.223573 0.229253 0.234933 0.236827 +0.23304 0.225467 0.225467 0.22736 0.23304 0.236827 0.23304 0.234933 +0.22736 0.225467 0.229253 0.22736 0.236827 0.23872 0.23872 0.234933 +0.229253 0.229253 0.23304 0.23304 0.231147 0.236827 0.242507 0.23304 +0.229253 0.22736 0.23304 0.2444 0.234933 0.22736 0.225467 0.22736 +0.231147 0.225467 0.231147 0.22168 0.219787 0.231147 0.225467 0.22168 +0.223573 0.229253 0.225467 0.231147 0.22736 0.22736 0.225467 0.219787 +0.229253 0.22168 0.223573 0.225467 0.217893 0.229253 0.229253 0.219787 +0.216 0.219787 0.223573 0.217893 0.229253 0.234933 0.219787 0.216 +0.223573 0.219787 0.223573 0.23304 0.22736 0.219787 0.231147 0.229253 +0.231147 0.234933 0.234933 0.234933 0.225467 0.229253 0.23304 0.23304 +0.240613 0.236827 0.240613 0.242507 0.248187 0.253867 0.253867 0.26712 +0.269013 0.282267 0.303093 0.337173 0.40344 0.518947 0.604842 0.731789 +0.901684 1.01265 1.01429 0.900421 0.722947 0.594737 0.522105 0.481067 +0.505053 0.568211 0.683789 0.832842 0.977474 1.02996 1.0502 1.04988 +1.02833 0.987184 0.932632 0.945263 0.998286 1.0329 1.05216 1.05641 +1.05412 1.02931 0.879579 0.606105 0.356107 0.240613 0.000986667 0.000953333 +0.000886667 0.00086 0.00088 0.000826667 0.000786667 0.000786667 0.0008 0.000806667 +0.00082 0.000826667 0.000833333 0.00084 0.000506667 0.000873333 0.00078 0.000773333 +0.00082 0.000826667 0.0008 0.000773333 0.00078 0.000793333 0.000793333 0.000793333 +0.00074 0.00072 0.000753333 0.00076 0.000753333 0.000733333 0.000773333 0.000773333 +0.000793333 0.000813333 0.000833333 0.00086 0.00096 0.259547 0.475387 0.713474 +0.980327 1.04727 1.05935 1.05151 1.03355 0.995673 0.906737 0.837263 +0.867579 0.982286 1.03649 1.05608 1.05282 1.02735 0.959789 0.808211 +0.657895 0.555579 0.512632 0.522737 0.587158 0.720421 0.904842 1.00971 +0.999592 0.885263 0.729895 0.600421 0.507579 0.382613 0.31824 0.28984 +0.269013 0.257653 0.253867 0.2444 0.240613 0.240613 0.23872 0.2444 +0.23304 0.219787 0.231147 0.234933 0.219787 0.219787 0.22736 0.236827 +0.234933 0.22736 0.225467 0.22736 0.223573 0.22168 0.217893 0.000993333 +0.223573 0.225467 0.22736 0.229253 0.22736 0.225467 0.223573 0.217893 +0.22168 0.22168 0.000973333 0.000973333 0.217893 0.22168 0.223573 0.217893 +0.223573 0.223573 0.219787 0.216 0.217893 0.223573 0.22736 0.216 +0.219787 0.223573 0.225467 0.229253 0.23304 0.22736 0.225467 0.22168 +0.225467 0.231147 0.223573 0.225467 0.22736 0.23304 0.231147 0.22168 +0.217893 0.223573 0.22736 0.23304 0.234933 0.22736 0.234933 0.240613 +0.229253 0.22736 0.231147 0.223573 0.219787 0.236827 0.23872 0.231147 +0.23872 0.23872 0.223573 0.223573 0.234933 0.231147 0.231147 0.231147 +0.229253 0.234933 0.242507 0.234933 0.22168 0.22736 0.225467 0.219787 +0.225467 0.216 0.22168 0.223573 0.22168 0.234933 0.223573 0.000993333 +0.000993333 0.000973333 0.000973333 0.223573 0.22736 0.217893 0.00098 0.000966667 +0.000973333 0.216 0.216 0.000986667 0.217893 0.000993333 0.00096 0.000973333 +0.000973333 0.000973333 0.000973333 0.000966667 0.000966667 0.216 0.225467 0.223573 +0.000966667 0.00098 0.22168 0.225467 0.216 0.000973333 0.217893 0.225467 +0.225467 0.217893 0.22168 0.00098 0.000973333 0.22168 0.23304 0.22168 +0.219787 0.000993333 0.223573 0.22168 0.219787 0.223573 0.217893 0.000993333 +0.22168 0.229253 0.223573 0.219787 0.231147 0.223573 0.236827 0.253867 +0.248187 0.23872 0.229253 0.240613 0.25008 0.248187 0.23872 0.25008 +0.26144 0.265227 0.28416 0.282267 0.28416 0.29552 0.29552 0.297413 +0.3012 0.316347 0.327707 0.333387 0.34096 0.34096 0.342853 0.361787 +0.356107 0.356107 0.365573 0.371253 0.376933 0.38072 0.395867 0.418587 +0.422373 0.4148 0.40344 0.39776 0.388293 0.378827 0.371253 0.376933 +0.38072 0.395867 0.422373 0.428053 0.418587 0.42616 0.424267 0.418587 +0.416693 0.405333 0.4148 0.422373 0.405333 0.407227 0.407227 0.38072 +0.36368 0.367467 0.365573 0.354213 0.356107 0.350427 0.34096 0.33528 +0.31256 0.3012 0.308773 0.299307 0.2728 0.257653 0.251973 0.23872 +0.242507 0.248187 0.242507 0.23872 0.2444 0.251973 0.242507 0.23872 +0.23872 0.242507 0.240613 0.22736 0.23304 0.236827 0.23304 0.231147 +0.234933 0.229253 0.225467 0.229253 0.23304 0.225467 0.219787 0.000993333 +0.219787 0.229253 0.22736 0.22168 0.219787 0.000986667 0.236827 0.234933 +0.231147 0.23304 0.225467 0.000993333 0.217893 0.229253 0.22168 0.217893 +0.217893 0.223573 0.229253 0.225467 0.22168 0.22168 0.216 0.000986667 +0.000973333 0.00098 0.219787 0.000993333 0.00098 0.217893 0.000993333 0.000973333 +0.000993333 0.217893 0.219787 0.216 0.22168 0.217893 0.000986667 0.225467 +0.219787 0.000986667 0.216 0.219787 0.219787 0.23304 0.234933 0.22736 +0.229253 0.234933 0.23304 0.231147 0.223573 0.000993333 0.223573 0.2444 +0.248187 0.23304 0.23304 0.231147 0.23304 0.229253 0.231147 0.23872 +0.236827 0.242507 0.2444 0.231147 0.229253 0.23304 0.23872 0.236827 +0.234933 0.23872 0.23304 0.229253 0.229253 0.23304 0.240613 0.242507 +0.231147 0.229253 0.23304 0.236827 0.23304 0.231147 0.231147 0.236827 +0.23304 0.22168 0.23304 0.223573 0.22168 0.234933 0.23304 0.217893 +0.22736 0.223573 0.22168 0.22736 0.231147 0.23304 0.219787 0.219787 +0.22736 0.229253 0.23304 0.229253 0.22168 0.22736 0.229253 0.22736 +0.22168 0.000993333 0.219787 0.217893 0.225467 0.231147 0.223573 0.225467 +0.223573 0.219787 0.223573 0.234933 0.23304 0.22168 0.223573 0.23304 +0.23872 0.242507 0.236827 0.231147 0.231147 0.236827 0.240613 0.242507 +0.236827 0.234933 0.248187 0.25576 0.26144 0.265227 0.26712 0.276587 +0.280373 0.297413 0.331493 0.39208 0.515158 0.613684 0.754526 0.920632 +1.0169 1.01135 0.884 0.705895 0.586526 0.518947 0.469707 0.504421 +0.570737 0.690105 0.843579 0.983592 1.03127 1.0502 1.05216 1.02637 +0.937053 0.781053 0.697684 0.733053 0.86 0.990122 1.03649 1.05412 +1.05151 1.01331 0.817684 0.554947 0.30688 0.23304 0.000953333 0.000913333 +0.000893333 0.000833333 0.000846667 0.000846667 0.00084 0.000826667 0.00082 0.000833333 +0.000833333 0.00086 0.000866667 0.000506667 0.000506667 0.000886667 0.000853333 0.000833333 +0.000846667 0.000813333 0.000806667 0.000793333 0.000786667 0.000773333 0.00078 0.000806667 +0.000793333 0.0008 0.0008 0.000813333 0.000793333 0.000786667 0.000786667 0.00078 +0.000786667 0.00076 0.0008 0.000853333 0.000946667 0.242507 0.4148 0.674947 +0.951579 1.04237 1.05706 1.04335 1.0009 0.870737 0.709684 0.615579 +0.638316 0.787368 0.979368 1.03976 1.05445 1.0502 1.02539 0.961053 +0.805053 0.653474 0.551158 0.512632 0.522737 0.580211 0.709053 0.896632 +1.01167 1.00645 0.906105 0.743158 0.602947 0.508211 0.378827 0.314453 +0.286053 0.274693 0.269013 0.259547 0.25008 0.25008 0.246293 0.234933 +0.234933 0.242507 0.2444 0.23872 0.23872 0.2444 0.242507 0.242507 +0.223573 0.000993333 0.22736 0.225467 0.217893 0.22168 0.229253 0.225467 +0.223573 0.223573 0.22736 0.22736 0.225467 0.219787 0.000993333 0.000986667 +0.216 0.219787 0.00098 0.00098 0.217893 0.223573 0.223573 0.216 +0.217893 0.219787 0.217893 0.22168 0.22168 0.22168 0.219787 0.217893 +0.217893 0.219787 0.225467 0.22736 0.231147 0.22736 0.223573 0.216 +0.22168 0.225467 0.223573 0.225467 0.229253 0.23304 0.223573 0.217893 +0.223573 0.231147 0.236827 0.234933 0.23304 0.23304 0.236827 0.22168 +0.22168 0.231147 0.23872 0.23304 0.229253 0.240613 0.236827 0.225467 +0.229253 0.22736 0.223573 0.229253 0.236827 0.225467 0.23304 0.225467 +0.219787 0.231147 0.234933 0.231147 0.225467 0.229253 0.225467 0.229253 +0.234933 0.231147 0.223573 0.217893 0.22736 0.22736 0.000986667 0.216 +0.000993333 0.000953333 0.216 0.223573 0.22736 0.22168 0.219787 0.219787 +0.219787 0.000986667 0.00094 0.000953333 0.000986667 0.000966667 0.00094 0.00096 +0.000966667 0.000966667 0.000973333 0.000953333 0.000933333 0.000986667 0.000993333 0.00098 +0.00096 0.000993333 0.000993333 0.000973333 0.000966667 0.000966667 0.217893 0.225467 +0.219787 0.00098 0.000966667 0.000986667 0.216 0.225467 0.225467 0.000993333 +0.000953333 0.000993333 0.223573 0.000986667 0.217893 0.22168 0.217893 0.216 +0.216 0.000973333 0.00098 0.216 0.000993333 0.000946667 0.216 0.223573 +0.000993333 0.219787 0.217893 0.22736 0.229253 0.236827 0.229253 0.223573 +0.217893 0.219787 0.236827 0.236827 0.23872 0.22736 0.223573 0.225467 +0.236827 0.2444 0.242507 0.240613 0.25008 0.246293 0.23872 0.242507 +0.236827 0.2444 0.2444 0.23872 0.2444 0.2444 0.242507 0.246293 +0.246293 0.231147 0.217893 0.22168 0.229253 0.231147 0.236827 0.236827 +0.23872 0.251973 0.26712 0.259547 0.242507 0.25576 0.257653 0.257653 +0.263333 0.251973 0.265227 0.270907 0.25576 0.257653 0.253867 0.248187 +0.23872 0.231147 0.223573 0.22736 0.240613 0.240613 0.234933 0.23872 +0.23304 0.225467 0.234933 0.234933 0.223573 0.000986667 0.000973333 0.000946667 +0.00094 0.000986667 0.00098 0.000946667 0.000973333 0.223573 0.225467 0.225467 +0.217893 0.22168 0.22168 0.000986667 0.00098 0.217893 0.000953333 0.000973333 +0.219787 0.225467 0.219787 0.219787 0.219787 0.219787 0.000973333 0.000993333 +0.216 0.231147 0.229253 0.219787 0.217893 0.000993333 0.22736 0.229253 +0.223573 0.22168 0.216 0.000986667 0.216 0.22736 0.22168 0.216 +0.00096 0.217893 0.223573 0.219787 0.00098 0.000986667 0.216 0.000966667 +0.00098 0.219787 0.223573 0.217893 0.000973333 0.00098 0.225467 0.217893 +0.216 0.217893 0.219787 0.000986667 0.217893 0.22168 0.219787 0.217893 +0.217893 0.000993333 0.000973333 0.217893 0.000993333 0.231147 0.229253 0.22168 +0.229253 0.22736 0.22736 0.22168 0.219787 0.217893 0.225467 0.240613 +0.240613 0.231147 0.223573 0.225467 0.23304 0.234933 0.236827 0.236827 +0.23872 0.242507 0.240613 0.234933 0.23304 0.236827 0.234933 0.23304 +0.234933 0.236827 0.223573 0.219787 0.23304 0.236827 0.236827 0.23304 +0.22736 0.22168 0.229253 0.236827 0.225467 0.22736 0.225467 0.23304 +0.23304 0.22736 0.23304 0.231147 0.229253 0.236827 0.22736 0.22168 +0.229253 0.225467 0.225467 0.22736 0.219787 0.23304 0.223573 0.216 +0.22168 0.217893 0.225467 0.236827 0.223573 0.223573 0.225467 0.231147 +0.223573 0.217893 0.223573 0.22168 0.22736 0.229253 0.22736 0.225467 +0.231147 0.229253 0.22736 0.231147 0.229253 0.22168 0.225467 0.231147 +0.23872 0.2444 0.236827 0.229253 0.231147 0.2444 0.246293 0.240613 +0.242507 0.242507 0.246293 0.25576 0.269013 0.274693 0.28416 0.28984 +0.31256 0.34096 0.40344 0.513895 0.603579 0.752 0.932 1.02114 +1.00873 0.872 0.694526 0.573895 0.514526 0.48296 0.508842 0.576421 +0.699579 0.852421 0.985224 1.03224 1.05184 1.05314 1.03943 0.975579 +0.760211 0.580842 0.514526 0.554316 0.683158 0.871368 1.00743 1.04563 +1.04824 1.00253 0.779789 0.530316 0.286053 0.22168 0.000946667 0.000886667 +0.000906667 0.000873333 0.00084 0.000833333 0.000846667 0.00084 0.000826667 0.00086 +0.000866667 0.000846667 0.00086 0.000506667 0.000506667 0.000506667 0.000933333 0.00086 +0.000806667 0.000786667 0.000833333 0.00082 0.000766667 0.00076 0.000806667 0.000826667 +0.000813333 0.000806667 0.000806667 0.0008 0.00078 0.000786667 0.000786667 0.000806667 +0.000806667 0.000813333 0.000866667 0.000886667 0.0009 0.219787 0.3864 0.662316 +0.940842 1.0391 1.05445 1.02767 0.912421 0.704632 0.553053 0.439413 +0.450773 0.597895 0.824 1.00253 1.04269 1.05086 1.04824 1.02441 +0.956632 0.808842 0.662947 0.561895 0.511368 0.517053 0.575789 0.701474 +0.887158 1.01069 1.01233 0.915579 0.745053 0.608 0.512632 0.38072 +0.325813 0.3012 0.286053 0.2728 0.265227 0.25576 0.257653 0.251973 +0.25008 0.253867 0.2444 0.23872 0.234933 0.23872 0.231147 0.22736 +0.22168 0.22168 0.234933 0.236827 0.231147 0.229253 0.234933 0.231147 +0.219787 0.219787 0.22168 0.217893 0.00098 0.000986667 0.216 0.000993333 +0.000986667 0.217893 0.000993333 0.216 0.223573 0.219787 0.22168 0.219787 +0.216 0.216 0.219787 0.217893 0.216 0.219787 0.231147 0.231147 +0.22168 0.223573 0.231147 0.22736 0.22168 0.223573 0.22168 0.219787 +0.22168 0.223573 0.223573 0.225467 0.231147 0.225467 0.219787 0.219787 +0.223573 0.231147 0.231147 0.22736 0.223573 0.22168 0.22736 0.22168 +0.234933 0.23872 0.23872 0.234933 0.23304 0.23304 0.234933 0.229253 +0.22168 0.216 0.223573 0.234933 0.229253 0.225467 0.225467 0.000993333 +0.217893 0.22736 0.223573 0.225467 0.22736 0.225467 0.22168 0.229253 +0.229253 0.229253 0.219787 0.216 0.229253 0.223573 0.217893 0.216 +0.000966667 0.000986667 0.219787 0.225467 0.231147 0.000993333 0.000986667 0.216 +0.223573 0.000973333 0.00094 0.000986667 0.000986667 0.000973333 0.00096 0.00098 +0.000966667 0.000973333 0.00096 0.000933333 0.000953333 0.216 0.217893 0.000953333 +0.00096 0.000966667 0.00096 0.000953333 0.000953333 0.00098 0.22168 0.216 +0.000953333 0.00094 0.000966667 0.000986667 0.217893 0.217893 0.217893 0.00098 +0.00092 0.000966667 0.223573 0.216 0.00098 0.000986667 0.000993333 0.22168 +0.217893 0.00098 0.000986667 0.22168 0.216 0.000953333 0.000986667 0.000973333 +0.000946667 0.00098 0.216 0.219787 0.216 0.22168 0.225467 0.225467 +0.216 0.219787 0.22736 0.236827 0.236827 0.217893 0.000953333 0.000973333 +0.000986667 0.000993333 0.00098 0.000993333 0.22168 0.217893 0.216 0.217893 +0.000973333 0.217893 0.223573 0.217893 0.225467 0.225467 0.217893 0.216 +0.000973333 0.00094 0.000946667 0.00096 0.216 0.217893 0.229253 0.22736 +0.229253 0.234933 0.23872 0.225467 0.22168 0.23304 0.229253 0.231147 +0.23304 0.22168 0.236827 0.234933 0.225467 0.225467 0.225467 0.225467 +0.219787 0.217893 0.000993333 0.219787 0.234933 0.223573 0.000973333 0.219787 +0.216 0.000953333 0.216 0.216 0.000993333 0.217893 0.216 0.000993333 +0.000966667 0.000986667 0.000986667 0.000953333 0.000986667 0.000986667 0.000973333 0.000993333 +0.00094 0.00096 0.000993333 0.000973333 0.000946667 0.000953333 0.000966667 0.000973333 +0.219787 0.216 0.216 0.219787 0.225467 0.217893 0.000966667 0.000986667 +0.225467 0.22168 0.225467 0.217893 0.223573 0.000986667 0.219787 0.223573 +0.000993333 0.000973333 0.217893 0.216 0.000966667 0.219787 0.217893 0.00098 +0.000946667 0.000993333 0.216 0.000993333 0.000966667 0.000973333 0.00098 0.000946667 +0.000966667 0.000993333 0.219787 0.223573 0.000993333 0.000966667 0.223573 0.22736 +0.216 0.000993333 0.219787 0.216 0.00098 0.216 0.216 0.000986667 +0.219787 0.217893 0.000966667 0.000993333 0.00098 0.22168 0.217893 0.00098 +0.219787 0.225467 0.22736 0.22168 0.219787 0.22736 0.229253 0.229253 +0.229253 0.223573 0.219787 0.223573 0.22736 0.23304 0.236827 0.231147 +0.236827 0.234933 0.231147 0.23304 0.231147 0.23872 0.23872 0.231147 +0.236827 0.229253 0.22168 0.219787 0.22736 0.231147 0.229253 0.22736 +0.223573 0.231147 0.234933 0.231147 0.216 0.217893 0.223573 0.223573 +0.231147 0.234933 0.231147 0.223573 0.22736 0.22736 0.219787 0.217893 +0.225467 0.223573 0.219787 0.22168 0.22736 0.229253 0.22168 0.000993333 +0.216 0.219787 0.22736 0.234933 0.225467 0.000986667 0.217893 0.223573 +0.223573 0.223573 0.225467 0.217893 0.22736 0.229253 0.225467 0.22168 +0.229253 0.234933 0.240613 0.240613 0.23304 0.225467 0.236827 0.23304 +0.231147 0.236827 0.23872 0.242507 0.236827 0.240613 0.248187 0.242507 +0.240613 0.248187 0.257653 0.26144 0.2728 0.28984 0.299307 0.31256 +0.354213 0.439413 0.529053 0.616842 0.757053 0.937053 1.02082 1.00384 +0.857474 0.678737 0.568842 0.509474 0.46024 0.510737 0.583368 0.709684 +0.866947 0.993061 1.03747 1.05282 1.05543 1.04922 1.01396 0.858105 +0.62 0.439413 0.339067 0.422373 0.564421 0.751368 0.971158 1.03682 +1.044 0.997306 0.767158 0.521474 0.27848 0.217893 0.000933333 0.000866667 +0.000853333 0.00086 0.000873333 0.00088 0.00086 0.00086 0.00084 0.000853333 +0.00088 0.00084 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.0009 +0.000833333 0.000806667 0.000826667 0.000806667 0.0008 0.0008 0.000806667 0.000793333 +0.00078 0.000806667 0.000806667 0.000806667 0.000826667 0.00086 0.00086 0.00084 +0.000846667 0.000866667 0.000886667 0.000833333 0.000826667 0.000933333 0.365573 0.65979 +0.938316 1.03714 1.05053 1.00841 0.817053 0.589053 0.435627 0.322027 +0.30688 0.492427 0.693895 0.930105 1.01984 1.04237 1.04988 1.04759 +1.02604 0.962316 0.812 0.66421 0.556842 0.508211 0.516421 0.573263 +0.696421 0.882737 1.01004 1.01592 0.927579 0.761474 0.618105 0.517053 +0.395867 0.333387 0.308773 0.293627 0.28416 0.26712 0.26144 0.257653 +0.25008 0.242507 0.23872 0.236827 0.231147 0.231147 0.234933 0.234933 +0.236827 0.231147 0.234933 0.23304 0.234933 0.223573 0.22168 0.223573 +0.000993333 0.000986667 0.00098 0.00098 0.00098 0.216 0.000993333 0.00098 +0.000993333 0.223573 0.217893 0.219787 0.223573 0.216 0.000986667 0.216 +0.216 0.219787 0.217893 0.217893 0.22168 0.22736 0.234933 0.225467 +0.22168 0.22168 0.223573 0.223573 0.216 0.22168 0.22736 0.22168 +0.22168 0.225467 0.223573 0.22168 0.22736 0.22168 0.219787 0.22168 +0.219787 0.219787 0.225467 0.22168 0.22168 0.22168 0.22736 0.234933 +0.240613 0.225467 0.216 0.225467 0.22736 0.22168 0.231147 0.236827 +0.225467 0.22168 0.225467 0.22168 0.217893 0.217893 0.000973333 0.216 +0.234933 0.234933 0.225467 0.22168 0.22168 0.22168 0.219787 0.22168 +0.22168 0.23304 0.225467 0.22168 0.225467 0.216 0.219787 0.219787 +0.000993333 0.22168 0.223573 0.216 0.000993333 0.000953333 0.000953333 0.000986667 +0.22168 0.000966667 0.00096 0.216 0.000973333 0.000973333 0.000966667 0.000973333 +0.00096 0.00096 0.000946667 0.00092 0.00096 0.000993333 0.00096 0.000926667 +0.000926667 0.00098 0.000946667 0.00094 0.00094 0.000953333 0.000986667 0.00096 +0.000933333 0.00094 0.000973333 0.000966667 0.000993333 0.217893 0.000993333 0.000986667 +0.000953333 0.000973333 0.217893 0.219787 0.219787 0.22168 0.000993333 0.22736 +0.219787 0.00098 0.000966667 0.223573 0.219787 0.219787 0.22168 0.000966667 +0.00094 0.00098 0.219787 0.219787 0.000966667 0.000946667 0.000953333 0.000986667 +0.000966667 0.000993333 0.000986667 0.223573 0.229253 0.216 0.000966667 0.000973333 +0.000993333 0.22168 0.22168 0.216 0.000993333 0.000986667 0.000973333 0.00094 +0.000913333 0.00094 0.00096 0.000926667 0.000946667 0.000953333 0.000946667 0.000933333 +0.000946667 0.00096 0.00098 0.22168 0.22736 0.219787 0.223573 0.22168 +0.223573 0.22736 0.22736 0.000986667 0.00096 0.000993333 0.22168 0.22736 +0.22736 0.219787 0.234933 0.22736 0.22168 0.223573 0.229253 0.22736 +0.000993333 0.219787 0.000986667 0.000973333 0.000993333 0.00098 0.000953333 0.00098 +0.000973333 0.00096 0.217893 0.219787 0.219787 0.23304 0.236827 0.231147 +0.000993333 0.00098 0.217893 0.217893 0.216 0.000986667 0.00092 0.000906667 +0.000893333 0.000926667 0.000986667 0.000933333 0.000926667 0.00096 0.000953333 0.00096 +0.000993333 0.000966667 0.000953333 0.000986667 0.219787 0.000993333 0.000953333 0.217893 +0.219787 0.00098 0.000986667 0.000986667 0.00098 0.000986667 0.217893 0.22168 +0.000953333 0.000966667 0.225467 0.22168 0.000946667 0.00098 0.00098 0.000946667 +0.000926667 0.00098 0.000966667 0.000973333 0.000986667 0.000973333 0.000973333 0.000933333 +0.00094 0.00096 0.000986667 0.223573 0.219787 0.000953333 0.216 0.231147 +0.219787 0.000986667 0.217893 0.00098 0.000966667 0.216 0.22168 0.217893 +0.22736 0.22168 0.00096 0.000953333 0.000993333 0.22168 0.216 0.00098 +0.00098 0.22168 0.229253 0.223573 0.217893 0.225467 0.225467 0.219787 +0.22736 0.22736 0.22168 0.223573 0.22168 0.223573 0.229253 0.231147 +0.236827 0.234933 0.234933 0.23304 0.229253 0.229253 0.23304 0.225467 +0.236827 0.231147 0.216 0.22168 0.223573 0.22168 0.219787 0.219787 +0.22168 0.234933 0.234933 0.219787 0.00098 0.217893 0.223573 0.216 +0.223573 0.231147 0.22168 0.219787 0.225467 0.22736 0.219787 0.219787 +0.22168 0.22168 0.000993333 0.216 0.231147 0.22736 0.219787 0.216 +0.216 0.217893 0.223573 0.225467 0.225467 0.00098 0.000973333 0.000993333 +0.216 0.225467 0.219787 0.216 0.231147 0.22736 0.217893 0.219787 +0.219787 0.216 0.22168 0.23304 0.234933 0.223573 0.234933 0.23872 +0.234933 0.23872 0.236827 0.248187 0.23872 0.231147 0.246293 0.25576 +0.25008 0.251973 0.270907 0.2728 0.280373 0.297413 0.320133 0.354213 +0.441307 0.543579 0.639579 0.776632 0.950316 1.02376 0.998939 0.840421 +0.667368 0.558737 0.505684 0.467813 0.513263 0.587789 0.714105 0.873895 +0.996 1.03845 1.05608 1.05673 1.04955 1.03094 0.964842 0.746316 +0.537263 0.35232 0.31256 0.344747 0.509474 0.691368 0.937684 1.03159 +1.04171 0.995347 0.765895 0.518947 0.269013 0.22168 0.000966667 0.000893333 +0.000866667 0.000866667 0.000853333 0.000866667 0.00086 0.00088 0.00086 0.00086 +0.00088 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000906667 0.0008 0.0008 0.000833333 0.00084 0.000806667 0.0008 0.0008 +0.000806667 0.000813333 0.000813333 0.000826667 0.000846667 0.000853333 0.000853333 0.000853333 +0.000873333 0.000866667 0.00084 0.000846667 0.0009 0.00098 0.361787 0.651579 +0.930737 1.03584 1.04661 1.00057 0.788632 0.554316 0.36368 0.303093 +0.29552 0.382613 0.604211 0.827789 0.982286 1.02114 1.04139 1.05184 +1.04857 1.02473 0.962316 0.816421 0.665474 0.561263 0.510737 0.513895 +0.569474 0.686316 0.873263 1.0071 1.01657 0.935789 0.769053 0.62 +0.517053 0.399653 0.34096 0.308773 0.287947 0.276587 0.253867 0.2444 +0.248187 0.248187 0.246293 0.2444 0.23872 0.240613 0.234933 0.231147 +0.225467 0.219787 0.225467 0.22168 0.22168 0.219787 0.216 0.219787 +0.216 0.00098 0.000966667 0.00098 0.000993333 0.00098 0.000973333 0.000986667 +0.223573 0.223573 0.217893 0.216 0.000993333 0.000973333 0.00098 0.22168 +0.223573 0.219787 0.217893 0.22168 0.231147 0.231147 0.231147 0.22168 +0.219787 0.225467 0.22736 0.225467 0.217893 0.225467 0.223573 0.217893 +0.22168 0.22736 0.223573 0.22168 0.216 0.000993333 0.216 0.219787 +0.216 0.000993333 0.22168 0.219787 0.22168 0.22168 0.22736 0.236827 +0.223573 0.216 0.217893 0.223573 0.22168 0.217893 0.23304 0.23304 +0.223573 0.229253 0.22168 0.000986667 0.216 0.217893 0.000993333 0.225467 +0.234933 0.225467 0.217893 0.219787 0.225467 0.217893 0.219787 0.219787 +0.22168 0.22168 0.219787 0.216 0.217893 0.000993333 0.22168 0.219787 +0.217893 0.223573 0.000993333 0.00096 0.000933333 0.000953333 0.00098 0.000986667 +0.217893 0.00096 0.000953333 0.000953333 0.000953333 0.000993333 0.22168 0.00098 +0.000953333 0.00096 0.00096 0.00098 0.000973333 0.000946667 0.00094 0.00094 +0.000953333 0.00098 0.000953333 0.000926667 0.00094 0.000953333 0.00096 0.00094 +0.000946667 0.00094 0.00096 0.00096 0.22168 0.223573 0.000973333 0.00096 +0.00098 0.000993333 0.000986667 0.22168 0.229253 0.219787 0.000973333 0.22168 +0.219787 0.000953333 0.00094 0.000993333 0.219787 0.225467 0.000986667 0.000933333 +0.000946667 0.216 0.22736 0.22736 0.000993333 0.00094 0.000946667 0.000953333 +0.000986667 0.219787 0.000986667 0.000986667 0.000966667 0.000933333 0.00094 0.000973333 +0.00098 0.22168 0.000986667 0.00098 0.000993333 0.000993333 0.000946667 0.000926667 +0.000893333 0.000906667 0.000906667 0.00086 0.000886667 0.000933333 0.000906667 0.0009 +0.000946667 0.000953333 0.000973333 0.216 0.000993333 0.000966667 0.219787 0.000986667 +0.000973333 0.217893 0.229253 0.000993333 0.00096 0.00098 0.231147 0.231147 +0.225467 0.223573 0.225467 0.00098 0.00098 0.216 0.219787 0.219787 +0.000973333 0.000966667 0.00094 0.000933333 0.000986667 0.216 0.217893 0.225467 +0.223573 0.217893 0.217893 0.223573 0.217893 0.22168 0.229253 0.217893 +0.000973333 0.216 0.000986667 0.216 0.225467 0.000993333 0.00094 0.0009 +0.000893333 0.000933333 0.000966667 0.000926667 0.000913333 0.000953333 0.00096 0.00092 +0.00096 0.000953333 0.000966667 0.000953333 0.00096 0.00096 0.00094 0.000973333 +0.000973333 0.000946667 0.00096 0.00094 0.00096 0.000966667 0.217893 0.216 +0.000946667 0.000946667 0.219787 0.219787 0.00096 0.000973333 0.000953333 0.00092 +0.00094 0.000966667 0.000926667 0.00096 0.22168 0.000993333 0.000993333 0.000986667 +0.00094 0.000926667 0.000973333 0.000993333 0.000993333 0.00098 0.217893 0.229253 +0.000986667 0.000973333 0.000993333 0.000973333 0.216 0.22168 0.219787 0.219787 +0.22168 0.219787 0.00094 0.00094 0.000993333 0.000993333 0.22168 0.216 +0.00098 0.000986667 0.217893 0.219787 0.22168 0.223573 0.223573 0.217893 +0.223573 0.231147 0.23304 0.225467 0.223573 0.223573 0.22168 0.223573 +0.22736 0.231147 0.229253 0.225467 0.229253 0.22736 0.234933 0.23304 +0.229253 0.225467 0.223573 0.229253 0.223573 0.225467 0.219787 0.00098 +0.000993333 0.231147 0.231147 0.223573 0.000993333 0.22168 0.223573 0.217893 +0.216 0.22168 0.216 0.216 0.223573 0.225467 0.22168 0.216 +0.217893 0.216 0.217893 0.000986667 0.225467 0.22736 0.22168 0.22168 +0.000993333 0.000993333 0.22168 0.225467 0.22736 0.22168 0.00098 0.00098 +0.216 0.22168 0.216 0.000986667 0.22736 0.229253 0.22168 0.22736 +0.22168 0.000993333 0.000993333 0.219787 0.22736 0.22168 0.22168 0.231147 +0.234933 0.236827 0.22736 0.23872 0.242507 0.242507 0.242507 0.25008 +0.263333 0.269013 0.27848 0.287947 0.297413 0.316347 0.348533 0.433733 +0.543579 0.655368 0.801895 0.969263 1.02539 0.993061 0.823368 0.653474 +0.549895 0.500632 0.464027 0.514526 0.591579 0.720421 0.880842 0.999592 +1.03878 1.05282 1.05412 1.04204 1.01592 0.966105 0.826526 0.630737 +0.44888 0.325813 0.3296 0.36936 0.524 0.716632 0.958526 1.03388 +1.04008 0.98751 0.745053 0.509474 0.263333 0.000993333 0.000946667 0.000913333 +0.000906667 0.000913333 0.000893333 0.00088 0.000866667 0.000873333 0.000846667 0.000866667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000873333 0.000786667 0.000826667 0.00084 0.00082 0.00082 0.000793333 +0.000793333 0.000806667 0.00082 0.00082 0.000813333 0.000826667 0.00084 0.000846667 +0.00086 0.00088 0.000913333 0.00094 0.000933333 0.00094 0.3296 0.620632 +0.894737 1.02571 1.04237 1.00841 0.836632 0.605474 0.44888 0.339067 +0.30688 0.327707 0.525895 0.690737 0.844842 0.951579 1.00841 1.0391 +1.05412 1.05151 1.02898 0.970526 0.812 0.662947 0.555579 0.501263 +0.506947 0.56 0.677474 0.851789 0.992082 1.01265 0.935789 0.760842 +0.613684 0.518947 0.395867 0.333387 0.299307 0.280373 0.274693 0.26144 +0.248187 0.25008 0.246293 0.234933 0.234933 0.234933 0.223573 0.22168 +0.223573 0.22168 0.22736 0.22736 0.216 0.216 0.219787 0.000986667 +0.000993333 0.000993333 0.000993333 0.216 0.219787 0.22168 0.223573 0.000986667 +0.216 0.000993333 0.216 0.217893 0.217893 0.223573 0.22736 0.22736 +0.216 0.216 0.000993333 0.22736 0.229253 0.223573 0.225467 0.217893 +0.000986667 0.22168 0.223573 0.22736 0.22168 0.216 0.219787 0.22168 +0.225467 0.219787 0.216 0.000986667 0.000966667 0.000986667 0.000993333 0.217893 +0.000986667 0.000993333 0.217893 0.219787 0.219787 0.217893 0.219787 0.22736 +0.000973333 0.000966667 0.22168 0.225467 0.219787 0.22168 0.229253 0.22736 +0.223573 0.225467 0.223573 0.229253 0.225467 0.22168 0.22736 0.223573 +0.219787 0.219787 0.217893 0.219787 0.219787 0.217893 0.219787 0.217893 +0.00098 0.000973333 0.000993333 0.000993333 0.000986667 0.216 0.000993333 0.216 +0.217893 0.217893 0.000986667 0.000946667 0.000953333 0.000993333 0.217893 0.000973333 +0.000973333 0.00098 0.216 0.000953333 0.000966667 0.22168 0.219787 0.00098 +0.000973333 0.00098 0.000966667 0.217893 0.216 0.000933333 0.000926667 0.000933333 +0.00094 0.000933333 0.00094 0.000913333 0.00092 0.000946667 0.00094 0.00094 +0.000946667 0.000946667 0.00092 0.00094 0.217893 0.217893 0.000946667 0.0009 +0.000953333 0.00098 0.000966667 0.219787 0.225467 0.000986667 0.000966667 0.00098 +0.000973333 0.000946667 0.000966667 0.000973333 0.00098 0.219787 0.000986667 0.00096 +0.000973333 0.22168 0.225467 0.225467 0.219787 0.000973333 0.000946667 0.000966667 +0.223573 0.225467 0.000993333 0.000986667 0.000946667 0.00092 0.000946667 0.00096 +0.00094 0.00094 0.000906667 0.000933333 0.000933333 0.0009 0.000873333 0.0009 +0.000873333 0.000873333 0.000853333 0.000866667 0.000906667 0.000946667 0.00094 0.000933333 +0.000966667 0.000966667 0.000926667 0.000946667 0.000966667 0.000953333 0.000993333 0.00096 +0.000946667 0.00098 0.000986667 0.000933333 0.00094 0.00098 0.000993333 0.000973333 +0.000966667 0.000966667 0.00098 0.000946667 0.000946667 0.000986667 0.223573 0.229253 +0.223573 0.00098 0.000946667 0.000966667 0.223573 0.22168 0.223573 0.229253 +0.22168 0.000973333 0.000973333 0.000986667 0.217893 0.223573 0.217893 0.000946667 +0.000966667 0.22168 0.217893 0.217893 0.225467 0.216 0.00096 0.00096 +0.000946667 0.00096 0.000966667 0.000933333 0.00092 0.000933333 0.000953333 0.000906667 +0.00092 0.00094 0.000946667 0.00096 0.00092 0.00092 0.000933333 0.000946667 +0.000966667 0.00092 0.000946667 0.000933333 0.00094 0.000946667 0.000926667 0.00098 +0.00094 0.000933333 0.000966667 0.216 0.000946667 0.00096 0.000953333 0.00092 +0.000933333 0.000933333 0.00092 0.00096 0.216 0.000986667 0.216 0.000986667 +0.00094 0.00092 0.000973333 0.00098 0.00098 0.000966667 0.216 0.229253 +0.216 0.00098 0.216 0.000986667 0.22168 0.22168 0.000993333 0.000993333 +0.000993333 0.216 0.000966667 0.000966667 0.217893 0.000986667 0.223573 0.217893 +0.216 0.000993333 0.216 0.216 0.22168 0.223573 0.219787 0.000986667 +0.217893 0.234933 0.234933 0.22736 0.225467 0.22168 0.217893 0.219787 +0.219787 0.223573 0.22736 0.22736 0.22736 0.231147 0.23872 0.2444 +0.23304 0.219787 0.225467 0.229253 0.225467 0.229253 0.223573 0.000986667 +0.000986667 0.22736 0.23304 0.219787 0.223573 0.217893 0.223573 0.216 +0.00098 0.217893 0.000993333 0.217893 0.22168 0.000993333 0.000993333 0.223573 +0.219787 0.000986667 0.217893 0.000986667 0.217893 0.22168 0.223573 0.231147 +0.000986667 0.000973333 0.225467 0.225467 0.22168 0.217893 0.216 0.000986667 +0.217893 0.225467 0.217893 0.000986667 0.223573 0.22736 0.219787 0.229253 +0.225467 0.22168 0.22736 0.225467 0.219787 0.22736 0.231147 0.229253 +0.23304 0.231147 0.225467 0.234933 0.240613 0.248187 0.25008 0.253867 +0.265227 0.270907 0.280373 0.29552 0.322027 0.359893 0.441307 0.541684 +0.656632 0.818947 0.982939 1.02767 0.98849 0.807579 0.637684 0.542316 +0.492427 0.445093 0.512 0.595368 0.726105 0.882737 1.00057 1.04073 +1.05249 1.04792 1.02343 0.976842 0.873895 0.763368 0.638316 0.515158 +0.371253 0.390187 0.441307 0.517684 0.623789 0.822105 0.999918 1.04335 +1.03551 0.950316 0.690737 0.452667 0.248187 0.000986667 0.00094 0.000946667 +0.000933333 0.000926667 0.0009 0.000866667 0.00086 0.000886667 0.00086 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000846667 0.000773333 0.000813333 0.00084 0.00082 0.000793333 +0.000813333 0.00084 0.00082 0.0008 0.000833333 0.000846667 0.00082 0.00082 +0.00088 0.000946667 0.000973333 0.000953333 0.000926667 0.00096 0.29552 0.564421 +0.813263 1.00188 1.04008 1.02506 0.932 0.738737 0.594105 0.520211 +0.456453 0.367467 0.37504 0.536632 0.650316 0.757684 0.868211 0.983265 +1.0329 1.05412 1.05151 1.02735 0.961053 0.805053 0.652842 0.548 +0.502526 0.505684 0.551158 0.652211 0.822105 0.985878 1.01037 0.92821 +0.761474 0.613684 0.518316 0.407227 0.331493 0.297413 0.287947 0.2728 +0.248187 0.240613 0.236827 0.23304 0.23872 0.240613 0.22736 0.229253 +0.229253 0.225467 0.219787 0.225467 0.22168 0.219787 0.22168 0.000986667 +0.00098 0.000993333 0.22168 0.223573 0.219787 0.225467 0.223573 0.216 +0.000993333 0.000993333 0.000993333 0.216 0.219787 0.22736 0.229253 0.22168 +0.22168 0.219787 0.219787 0.22168 0.22168 0.219787 0.217893 0.000993333 +0.216 0.216 0.216 0.217893 0.217893 0.216 0.223573 0.217893 +0.000986667 0.000993333 0.216 0.00098 0.00096 0.00098 0.219787 0.217893 +0.216 0.217893 0.223573 0.223573 0.22168 0.219787 0.216 0.217893 +0.00098 0.000986667 0.225467 0.22736 0.22168 0.225467 0.225467 0.225467 +0.223573 0.225467 0.22736 0.23304 0.223573 0.223573 0.22736 0.216 +0.000993333 0.217893 0.00098 0.00098 0.000973333 0.217893 0.22168 0.000986667 +0.00098 0.219787 0.223573 0.000993333 0.000986667 0.00098 0.000966667 0.216 +0.216 0.219787 0.217893 0.000973333 0.000993333 0.217893 0.000986667 0.00096 +0.000953333 0.219787 0.217893 0.000953333 0.000966667 0.00098 0.000973333 0.00096 +0.00096 0.000953333 0.000946667 0.000986667 0.00098 0.000926667 0.00088 0.000906667 +0.00092 0.000933333 0.000933333 0.00092 0.00092 0.000953333 0.00094 0.000933333 +0.000933333 0.00096 0.00094 0.000926667 0.00098 0.000993333 0.00094 0.000893333 +0.000933333 0.000966667 0.000973333 0.000986667 0.00098 0.000953333 0.000946667 0.000966667 +0.000946667 0.000973333 0.216 0.00096 0.000966667 0.219787 0.000993333 0.00098 +0.217893 0.225467 0.216 0.000993333 0.000966667 0.000966667 0.00094 0.000986667 +0.223573 0.000993333 0.000986667 0.000973333 0.000946667 0.00094 0.000926667 0.000926667 +0.000946667 0.00094 0.000906667 0.00092 0.00088 0.000826667 0.00082 0.00086 +0.00088 0.00086 0.000826667 0.000893333 0.000966667 0.000973333 0.000946667 0.00098 +0.219787 0.000986667 0.00092 0.000953333 0.00096 0.000913333 0.00096 0.00094 +0.0009 0.000906667 0.00088 0.000853333 0.000906667 0.000966667 0.000946667 0.00092 +0.000933333 0.000966667 0.216 0.00098 0.000953333 0.216 0.234933 0.231147 +0.219787 0.000993333 0.000986667 0.000973333 0.219787 0.219787 0.22168 0.22168 +0.000993333 0.00094 0.000953333 0.000993333 0.219787 0.23304 0.219787 0.000953333 +0.00098 0.225467 0.225467 0.22168 0.219787 0.00098 0.00096 0.000993333 +0.00098 0.00096 0.000986667 0.217893 0.000966667 0.00096 0.000906667 0.000873333 +0.000886667 0.000866667 0.000913333 0.000926667 0.000926667 0.00092 0.00092 0.000933333 +0.000933333 0.000906667 0.00094 0.00094 0.00094 0.000926667 0.000873333 0.00094 +0.000973333 0.000926667 0.000953333 0.216 0.00092 0.000926667 0.000966667 0.000953333 +0.000926667 0.000906667 0.000933333 0.00094 0.000973333 0.000966667 0.000973333 0.00098 +0.00094 0.000926667 0.000946667 0.00096 0.00098 0.000953333 0.000973333 0.22736 +0.223573 0.000966667 0.000966667 0.00098 0.000993333 0.219787 0.00098 0.216 +0.217893 0.000986667 0.216 0.000993333 0.217893 0.217893 0.219787 0.216 +0.216 0.000993333 0.217893 0.217893 0.219787 0.225467 0.217893 0.000986667 +0.219787 0.23304 0.23304 0.22168 0.22168 0.219787 0.22168 0.223573 +0.22168 0.223573 0.223573 0.22736 0.225467 0.22736 0.23304 0.236827 +0.231147 0.225467 0.229253 0.231147 0.231147 0.229253 0.22168 0.00098 +0.22168 0.22736 0.225467 0.223573 0.229253 0.225467 0.22168 0.216 +0.000986667 0.216 0.219787 0.000986667 0.219787 0.219787 0.216 0.223573 +0.223573 0.216 0.217893 0.000986667 0.219787 0.223573 0.22168 0.231147 +0.216 0.00096 0.22168 0.229253 0.22168 0.000986667 0.000993333 0.000986667 +0.000993333 0.22736 0.22736 0.000993333 0.22168 0.225467 0.217893 0.219787 +0.22168 0.219787 0.231147 0.229253 0.22168 0.229253 0.231147 0.23304 +0.23872 0.231147 0.23304 0.246293 0.25008 0.25008 0.251973 0.263333 +0.269013 0.27848 0.299307 0.31256 0.350427 0.446987 0.546105 0.660421 +0.823368 0.988163 1.02735 0.983918 0.799368 0.630105 0.534105 0.479173 +0.46024 0.510737 0.587158 0.721684 0.884632 1.00351 1.04139 1.0538 +1.0489 1.01167 0.903579 0.757684 0.646526 0.563158 0.47728 0.40344 +0.519579 0.590947 0.636421 0.697684 0.813895 0.966737 1.0329 1.04727 +1.01265 0.855579 0.607368 0.350427 0.217893 0.000946667 0.00096 0.00096 +0.00094 0.000933333 0.0009 0.00086 0.00086 0.000873333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00086 0.000833333 0.000793333 0.000806667 0.00082 0.000826667 +0.000846667 0.000826667 0.0008 0.00082 0.00082 0.000786667 0.000793333 0.000833333 +0.000886667 0.000913333 0.000946667 0.000993333 0.219787 0.216 0.257653 0.500632 +0.700842 0.928842 1.02212 1.03747 1.00939 0.920632 0.798737 0.715368 +0.657263 0.566316 0.40344 0.34664 0.475387 0.551158 0.637053 0.774737 +0.949684 1.03029 1.05282 1.04955 1.02637 0.959789 0.799368 0.647158 +0.546105 0.49432 0.48864 0.543579 0.650316 0.823368 0.986204 1.01135 +0.930105 0.758947 0.614316 0.518316 0.401547 0.327707 0.293627 0.274693 +0.26144 0.248187 0.242507 0.2444 0.248187 0.23872 0.23304 0.23304 +0.231147 0.225467 0.219787 0.223573 0.22736 0.225467 0.22168 0.216 +0.000993333 0.216 0.22168 0.225467 0.22168 0.216 0.223573 0.217893 +0.00098 0.217893 0.216 0.000993333 0.219787 0.219787 0.219787 0.216 +0.219787 0.225467 0.219787 0.217893 0.219787 0.219787 0.219787 0.219787 +0.00098 0.000993333 0.216 0.000993333 0.217893 0.219787 0.219787 0.000993333 +0.00098 0.000986667 0.217893 0.000993333 0.00098 0.217893 0.225467 0.225467 +0.219787 0.000993333 0.22168 0.223573 0.219787 0.217893 0.000986667 0.217893 +0.223573 0.219787 0.223573 0.22736 0.225467 0.223573 0.22168 0.229253 +0.225467 0.217893 0.216 0.22168 0.22168 0.225467 0.219787 0.00098 +0.216 0.216 0.00096 0.000966667 0.000973333 0.216 0.219787 0.000993333 +0.217893 0.219787 0.217893 0.00098 0.00096 0.000926667 0.000926667 0.00098 +0.219787 0.223573 0.216 0.00098 0.000986667 0.000993333 0.000973333 0.000986667 +0.000986667 0.217893 0.000973333 0.000953333 0.000973333 0.000966667 0.000946667 0.000946667 +0.00092 0.000946667 0.00096 0.000966667 0.000946667 0.000926667 0.000893333 0.000913333 +0.00098 0.00094 0.000913333 0.00094 0.000953333 0.00096 0.000933333 0.00092 +0.000926667 0.000966667 0.00098 0.00098 0.000986667 0.000973333 0.00094 0.000926667 +0.000973333 0.00096 0.000953333 0.000946667 0.000933333 0.000933333 0.000946667 0.000973333 +0.0009 0.000933333 0.219787 0.000986667 0.000973333 0.000986667 0.000973333 0.00096 +0.219787 0.219787 0.000953333 0.000953333 0.000933333 0.00096 0.00098 0.217893 +0.216 0.000973333 0.000986667 0.000973333 0.000946667 0.000913333 0.000906667 0.00092 +0.000953333 0.000933333 0.000906667 0.00088 0.000846667 0.000813333 0.000833333 0.00088 +0.00092 0.00094 0.000886667 0.000926667 0.000993333 0.00096 0.000926667 0.00094 +0.000966667 0.000946667 0.000906667 0.000933333 0.000913333 0.000886667 0.000933333 0.000926667 +0.0009 0.000906667 0.000893333 0.000886667 0.000933333 0.000973333 0.000993333 0.000966667 +0.000946667 0.00098 0.216 0.000973333 0.00096 0.000986667 0.223573 0.000993333 +0.00098 0.000993333 0.00098 0.000973333 0.000993333 0.219787 0.216 0.000986667 +0.000973333 0.000946667 0.000953333 0.000993333 0.216 0.219787 0.225467 0.000986667 +0.217893 0.217893 0.219787 0.217893 0.216 0.216 0.000993333 0.216 +0.00096 0.000993333 0.000986667 0.216 0.217893 0.00096 0.000926667 0.0009 +0.0009 0.000853333 0.000893333 0.000946667 0.00092 0.000913333 0.00088 0.000926667 +0.000913333 0.00092 0.000946667 0.000933333 0.000933333 0.000906667 0.000886667 0.000946667 +0.00098 0.000926667 0.000966667 0.000993333 0.000926667 0.000933333 0.000986667 0.00096 +0.000906667 0.000933333 0.000953333 0.00094 0.00098 0.00098 0.000966667 0.000986667 +0.000953333 0.000933333 0.00094 0.000966667 0.000986667 0.00096 0.000953333 0.217893 +0.217893 0.000926667 0.00096 0.00098 0.00096 0.00098 0.00098 0.22168 +0.217893 0.000986667 0.217893 0.000993333 0.00096 0.000973333 0.216 0.22168 +0.22168 0.216 0.000993333 0.219787 0.223573 0.22168 0.000993333 0.00098 +0.000993333 0.225467 0.22736 0.22168 0.00098 0.000973333 0.219787 0.22168 +0.216 0.22168 0.223573 0.225467 0.22168 0.22168 0.22736 0.22736 +0.22736 0.225467 0.225467 0.22736 0.22736 0.225467 0.219787 0.000993333 +0.223573 0.225467 0.225467 0.223573 0.22736 0.22736 0.225467 0.22168 +0.22168 0.22168 0.22736 0.000993333 0.000993333 0.219787 0.217893 0.217893 +0.219787 0.22168 0.223573 0.216 0.217893 0.217893 0.216 0.225467 +0.219787 0.000986667 0.219787 0.229253 0.22736 0.216 0.000986667 0.000993333 +0.219787 0.225467 0.225467 0.223573 0.22168 0.225467 0.231147 0.22168 +0.216 0.22168 0.229253 0.22736 0.22168 0.229253 0.234933 0.231147 +0.23872 0.236827 0.234933 0.242507 0.251973 0.263333 0.259547 0.2728 +0.286053 0.29552 0.32392 0.367467 0.450773 0.554947 0.672421 0.835368 +0.989469 1.02278 0.966105 0.782316 0.621895 0.527158 0.458347 0.450773 +0.510105 0.582105 0.715368 0.882105 1.0009 1.04106 1.05118 1.04629 +1.01396 0.887789 0.698316 0.563158 0.479173 0.37504 0.350427 0.521474 +0.676842 0.808211 0.873263 0.92821 0.993388 1.03192 1.04661 1.02506 +0.935158 0.717263 0.516421 0.269013 0.000986667 0.00096 0.00096 0.00094 +0.000906667 0.000893333 0.000913333 0.000906667 0.000886667 0.000886667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00088 0.00084 0.00084 0.000813333 0.00082 +0.000813333 0.0008 0.000793333 0.000813333 0.000806667 0.000813333 0.000866667 0.000893333 +0.000913333 0.00094 0.000973333 0.216 0.000986667 0.00096 0.22736 0.344747 +0.575158 0.776632 0.956 1.02082 1.03453 1.01951 0.991429 0.952842 +0.892842 0.752632 0.561263 0.350427 0.303093 0.35232 0.462133 0.582105 +0.756421 0.953474 1.03355 1.05282 1.04922 1.02571 0.952842 0.784211 +0.627579 0.534105 0.484853 0.501263 0.549263 0.654737 0.824 0.985878 +1.01069 0.936421 0.766526 0.616842 0.518947 0.401547 0.331493 0.297413 +0.280373 0.270907 0.259547 0.251973 0.251973 0.242507 0.236827 0.240613 +0.236827 0.225467 0.22736 0.225467 0.219787 0.22168 0.223573 0.219787 +0.22168 0.22736 0.223573 0.225467 0.225467 0.225467 0.223573 0.000986667 +0.000993333 0.223573 0.22168 0.225467 0.223573 0.217893 0.000973333 0.000973333 +0.000966667 0.217893 0.22736 0.223573 0.217893 0.000993333 0.22168 0.22168 +0.000986667 0.217893 0.216 0.216 0.219787 0.216 0.00098 0.216 +0.000993333 0.000986667 0.000993333 0.216 0.217893 0.225467 0.223573 0.219787 +0.000986667 0.000966667 0.000993333 0.219787 0.000993333 0.00098 0.216 0.219787 +0.225467 0.219787 0.225467 0.225467 0.219787 0.217893 0.217893 0.219787 +0.22168 0.217893 0.000986667 0.216 0.22736 0.217893 0.000966667 0.00098 +0.000993333 0.216 0.000993333 0.216 0.219787 0.219787 0.22168 0.223573 +0.223573 0.00098 0.00096 0.000973333 0.000953333 0.000933333 0.00096 0.000986667 +0.219787 0.000993333 0.000953333 0.00098 0.000973333 0.000986667 0.000986667 0.000993333 +0.000986667 0.000973333 0.000953333 0.00098 0.00098 0.000946667 0.000953333 0.000946667 +0.00094 0.000953333 0.00098 0.000973333 0.000946667 0.00094 0.000913333 0.00094 +0.000966667 0.000926667 0.000886667 0.000926667 0.000953333 0.00094 0.00092 0.000926667 +0.000953333 0.000966667 0.000973333 0.000993333 0.000966667 0.000926667 0.00092 0.000973333 +0.000966667 0.000926667 0.0009 0.000946667 0.000953333 0.000946667 0.000993333 0.000973333 +0.0009 0.00096 0.22168 0.22168 0.000993333 0.000973333 0.000953333 0.000946667 +0.216 0.000986667 0.000926667 0.000926667 0.00092 0.000953333 0.000986667 0.217893 +0.000993333 0.00096 0.000946667 0.000946667 0.000946667 0.000906667 0.000893333 0.000933333 +0.00094 0.000873333 0.00088 0.00088 0.000886667 0.00086 0.000873333 0.000926667 +0.000966667 0.00096 0.000913333 0.000933333 0.000946667 0.000933333 0.000913333 0.000906667 +0.000906667 0.000893333 0.00088 0.000906667 0.000873333 0.00088 0.000946667 0.00094 +0.000953333 0.000973333 0.00096 0.000926667 0.000946667 0.000953333 0.217893 0.216 +0.00096 0.00096 0.00096 0.000953333 0.00096 0.000993333 0.000986667 0.000966667 +0.000953333 0.000973333 0.00098 0.00098 0.00096 0.00096 0.000973333 0.000993333 +0.000966667 0.000953333 0.000966667 0.000986667 0.000986667 0.000993333 0.219787 0.217893 +0.223573 0.00098 0.000973333 0.216 0.217893 0.225467 0.219787 0.000993333 +0.00096 0.000966667 0.216 0.00098 0.000973333 0.00098 0.000966667 0.000953333 +0.000933333 0.000893333 0.000913333 0.00094 0.00092 0.000873333 0.00086 0.000886667 +0.000906667 0.00092 0.00092 0.000926667 0.0009 0.000906667 0.000906667 0.000926667 +0.000966667 0.00092 0.00096 0.000973333 0.000933333 0.000933333 0.00098 0.00094 +0.0009 0.00094 0.000966667 0.000946667 0.000973333 0.00096 0.000946667 0.00098 +0.000966667 0.000933333 0.000946667 0.000966667 0.00096 0.000966667 0.000933333 0.000946667 +0.00096 0.00092 0.000946667 0.000973333 0.00094 0.000973333 0.00098 0.000993333 +0.000973333 0.000973333 0.216 0.000973333 0.000953333 0.000986667 0.22168 0.216 +0.216 0.000973333 0.000986667 0.219787 0.225467 0.216 0.000973333 0.00098 +0.000986667 0.217893 0.000993333 0.219787 0.217893 0.00098 0.217893 0.223573 +0.219787 0.22168 0.22168 0.223573 0.216 0.000993333 0.223573 0.225467 +0.225467 0.22736 0.22168 0.217893 0.219787 0.217893 0.22168 0.223573 +0.225467 0.219787 0.223573 0.225467 0.223573 0.22736 0.219787 0.219787 +0.22736 0.225467 0.22168 0.217893 0.216 0.000993333 0.219787 0.219787 +0.216 0.219787 0.223573 0.225467 0.225467 0.216 0.216 0.219787 +0.000993333 0.219787 0.217893 0.219787 0.223573 0.223573 0.223573 0.000986667 +0.22168 0.219787 0.000986667 0.217893 0.219787 0.219787 0.23304 0.234933 +0.225467 0.22736 0.22736 0.225467 0.219787 0.22168 0.23304 0.240613 +0.240613 0.2444 0.25008 0.251973 0.253867 0.265227 0.270907 0.28416 +0.304987 0.31824 0.36368 0.45456 0.552421 0.681895 0.854947 0.991755 +1.01461 0.938316 0.761474 0.610526 0.524632 0.45456 0.4432 0.508211 +0.577053 0.702737 0.872 1.00122 1.03943 1.05086 1.04661 1.012 +0.889684 0.693263 0.536 0.36936 0.3012 0.28416 0.36368 0.585895 +0.803789 0.964211 1.00384 1.01984 1.03388 1.03486 1.01004 0.926947 +0.758947 0.568842 0.322027 0.000993333 0.00096 0.00096 0.00094 0.00092 +0.000893333 0.00086 0.000853333 0.000886667 0.0009 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000906667 0.00082 0.000773333 0.000786667 +0.000793333 0.0008 0.000813333 0.000833333 0.00086 0.00086 0.000873333 0.000893333 +0.00092 0.00092 0.000893333 0.000913333 0.00094 0.000933333 0.00098 0.251973 +0.428053 0.610526 0.784842 0.932 1.0022 1.02441 1.02637 1.01918 +0.995347 0.865684 0.642105 0.46024 0.322027 0.304987 0.308773 0.407227 +0.582105 0.769053 0.964211 1.03453 1.05314 1.04792 1.01918 0.932632 +0.764 0.615579 0.529684 0.48864 0.498107 0.547368 0.652211 0.819579 +0.985551 1.01363 0.947158 0.772211 0.614316 0.517053 0.40344 0.333387 +0.304987 0.293627 0.28416 0.270907 0.259547 0.248187 0.240613 0.240613 +0.234933 0.223573 0.229253 0.231147 0.22168 0.225467 0.23304 0.225467 +0.223573 0.225467 0.219787 0.223573 0.22168 0.219787 0.22168 0.216 +0.216 0.219787 0.219787 0.22168 0.000993333 0.216 0.00098 0.00098 +0.00098 0.219787 0.225467 0.225467 0.22168 0.000973333 0.219787 0.22736 +0.217893 0.217893 0.217893 0.223573 0.219787 0.00098 0.000966667 0.000966667 +0.216 0.217893 0.000993333 0.217893 0.223573 0.22168 0.000993333 0.000993333 +0.00096 0.00096 0.000973333 0.00098 0.000966667 0.000986667 0.223573 0.22168 +0.219787 0.22736 0.225467 0.219787 0.217893 0.000986667 0.000986667 0.000993333 +0.217893 0.216 0.000966667 0.000986667 0.22736 0.000986667 0.000966667 0.000993333 +0.000986667 0.217893 0.223573 0.219787 0.219787 0.00098 0.216 0.219787 +0.00098 0.00094 0.00092 0.000946667 0.000946667 0.000946667 0.000986667 0.000986667 +0.00098 0.00094 0.00094 0.000986667 0.000986667 0.000986667 0.216 0.00098 +0.000953333 0.000926667 0.00094 0.000986667 0.000966667 0.000946667 0.000966667 0.00098 +0.000953333 0.000946667 0.000986667 0.000966667 0.00094 0.000933333 0.000946667 0.00094 +0.000926667 0.00092 0.000913333 0.00094 0.00098 0.000926667 0.000906667 0.000933333 +0.000966667 0.000953333 0.000946667 0.00094 0.000933333 0.000886667 0.000913333 0.000946667 +0.00096 0.000893333 0.0009 0.00096 0.000953333 0.000953333 0.00098 0.000946667 +0.000933333 0.000993333 0.216 0.000993333 0.00098 0.00096 0.00092 0.000913333 +0.00098 0.000946667 0.00094 0.000946667 0.00094 0.000913333 0.000973333 0.217893 +0.00098 0.000933333 0.0009 0.00092 0.00092 0.0009 0.000893333 0.00092 +0.000893333 0.000853333 0.000893333 0.000933333 0.000913333 0.000893333 0.000913333 0.000946667 +0.000946667 0.0009 0.00086 0.000913333 0.000926667 0.0009 0.000886667 0.000906667 +0.000933333 0.000933333 0.000906667 0.000933333 0.0009 0.000913333 0.000946667 0.000933333 +0.000953333 0.00098 0.00096 0.00092 0.000926667 0.000933333 0.000986667 0.000986667 +0.000966667 0.000966667 0.000973333 0.000953333 0.000966667 0.000993333 0.216 0.00096 +0.00092 0.000966667 0.000973333 0.000953333 0.000933333 0.000933333 0.000953333 0.00096 +0.000953333 0.000946667 0.000953333 0.000946667 0.000973333 0.000993333 0.217893 0.219787 +0.219787 0.000966667 0.000973333 0.000993333 0.22168 0.217893 0.219787 0.000966667 +0.000933333 0.00098 0.217893 0.000986667 0.00096 0.000993333 0.000973333 0.000933333 +0.000946667 0.00092 0.00096 0.000966667 0.00092 0.000913333 0.000866667 0.000873333 +0.0009 0.000886667 0.00088 0.00092 0.0009 0.00092 0.000926667 0.00088 +0.00094 0.000933333 0.000933333 0.000933333 0.000946667 0.000953333 0.000953333 0.00094 +0.0009 0.000926667 0.00094 0.000946667 0.000933333 0.00094 0.00094 0.00096 +0.00096 0.000933333 0.000933333 0.000933333 0.00096 0.000966667 0.000933333 0.00092 +0.000946667 0.00094 0.000946667 0.000966667 0.000966667 0.00098 0.00098 0.000973333 +0.000966667 0.00098 0.000993333 0.00096 0.00094 0.00098 0.217893 0.000986667 +0.000993333 0.000973333 0.000986667 0.000993333 0.223573 0.217893 0.000993333 0.000993333 +0.000973333 0.000993333 0.217893 0.22736 0.22168 0.216 0.216 0.219787 +0.22168 0.217893 0.223573 0.219787 0.000986667 0.000993333 0.000993333 0.219787 +0.217893 0.22736 0.225467 0.219787 0.216 0.00098 0.22168 0.229253 +0.223573 0.217893 0.216 0.219787 0.22168 0.223573 0.217893 0.217893 +0.22168 0.225467 0.22168 0.000993333 0.000993333 0.22168 0.219787 0.217893 +0.217893 0.000993333 0.216 0.223573 0.229253 0.225467 0.225467 0.219787 +0.000986667 0.22168 0.223573 0.217893 0.217893 0.22736 0.229253 0.000986667 +0.216 0.22168 0.00098 0.000986667 0.22168 0.219787 0.22168 0.229253 +0.23304 0.23304 0.231147 0.231147 0.229253 0.22168 0.22168 0.234933 +0.242507 0.248187 0.263333 0.265227 0.257653 0.274693 0.28416 0.293627 +0.3296 0.365573 0.46592 0.554947 0.673053 0.855579 0.998612 1.01396 +0.917474 0.744421 0.601053 0.520842 0.458347 0.456453 0.510737 0.576421 +0.705263 0.870105 0.999592 1.04204 1.05314 1.04531 1.01233 0.895368 +0.698947 0.539158 0.367467 0.269013 0.246293 0.253867 0.34664 0.578316 +0.787368 0.937684 0.989143 0.998612 0.993714 0.952211 0.852421 0.714737 +0.565684 0.35232 0.000946667 0.000886667 0.000886667 0.000913333 0.000933333 0.00092 +0.000886667 0.000866667 0.000853333 0.000826667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000853333 0.000766667 0.000786667 +0.000833333 0.00084 0.00084 0.00084 0.000833333 0.000833333 0.00084 0.000866667 +0.00088 0.000886667 0.000866667 0.00092 0.00094 0.000886667 0.00092 0.216 +0.2728 0.43752 0.584632 0.716632 0.836632 0.926947 0.968 0.969263 +0.92821 0.803789 0.617474 0.456453 0.320133 0.27848 0.265227 0.286053 +0.424267 0.594105 0.783579 0.977474 1.0378 1.05314 1.04563 1.01624 +0.921263 0.752632 0.611158 0.526526 0.481067 0.496213 0.541053 0.642105 +0.818947 0.98751 1.01559 0.946526 0.765263 0.610526 0.517053 0.4148 +0.350427 0.316347 0.297413 0.276587 0.26144 0.246293 0.240613 0.236827 +0.234933 0.236827 0.23872 0.234933 0.22736 0.225467 0.22736 0.229253 +0.22168 0.219787 0.217893 0.223573 0.216 0.000986667 0.225467 0.223573 +0.000993333 0.000973333 0.000986667 0.219787 0.000986667 0.217893 0.217893 0.217893 +0.22168 0.223573 0.219787 0.223573 0.225467 0.217893 0.223573 0.219787 +0.216 0.216 0.219787 0.223573 0.216 0.000993333 0.000966667 0.000973333 +0.22168 0.223573 0.217893 0.217893 0.225467 0.22736 0.217893 0.000986667 +0.000973333 0.00098 0.000986667 0.000993333 0.217893 0.217893 0.219787 0.000993333 +0.22168 0.229253 0.219787 0.219787 0.217893 0.00098 0.000986667 0.216 +0.22168 0.000993333 0.00098 0.00098 0.000993333 0.000973333 0.000986667 0.000993333 +0.000993333 0.225467 0.223573 0.217893 0.00098 0.00096 0.000993333 0.000993333 +0.000973333 0.000946667 0.000946667 0.000966667 0.00096 0.00098 0.217893 0.000986667 +0.00096 0.000946667 0.000993333 0.22168 0.216 0.00096 0.00098 0.000973333 +0.000946667 0.000946667 0.000966667 0.000986667 0.000966667 0.000966667 0.000966667 0.216 +0.000973333 0.000966667 0.00098 0.000953333 0.00094 0.000926667 0.00096 0.000933333 +0.000913333 0.000933333 0.00094 0.000946667 0.000946667 0.00094 0.000933333 0.00096 +0.00096 0.000953333 0.000926667 0.000926667 0.000933333 0.000906667 0.0009 0.00094 +0.000966667 0.000926667 0.00094 0.000966667 0.00096 0.000953333 0.000926667 0.000886667 +0.000906667 0.00096 0.00096 0.000953333 0.000926667 0.000906667 0.000873333 0.000913333 +0.000973333 0.00094 0.00098 0.00096 0.000926667 0.00092 0.000973333 0.000953333 +0.00096 0.000906667 0.000846667 0.00088 0.000866667 0.000866667 0.00088 0.0009 +0.000893333 0.000866667 0.000906667 0.000906667 0.000913333 0.00092 0.000926667 0.000926667 +0.000906667 0.00088 0.000886667 0.000926667 0.000926667 0.000913333 0.00092 0.00094 +0.000953333 0.000953333 0.000926667 0.000946667 0.000946667 0.00094 0.00094 0.000933333 +0.00094 0.000966667 0.000933333 0.000893333 0.00092 0.000953333 0.000986667 0.000973333 +0.00098 0.000993333 0.000986667 0.000953333 0.000953333 0.000973333 0.000966667 0.000933333 +0.00092 0.000993333 0.216 0.000966667 0.000933333 0.00096 0.000953333 0.00094 +0.000973333 0.00096 0.000906667 0.00092 0.00098 0.000986667 0.000986667 0.000973333 +0.00096 0.000926667 0.00094 0.000973333 0.217893 0.22168 0.00098 0.000953333 +0.000926667 0.000986667 0.000973333 0.000986667 0.000973333 0.00098 0.000953333 0.00094 +0.00094 0.00094 0.000973333 0.217893 0.000946667 0.00092 0.0009 0.00092 +0.00094 0.000906667 0.000886667 0.000873333 0.000853333 0.00092 0.00094 0.000886667 +0.00094 0.00096 0.0009 0.00092 0.000946667 0.00094 0.000933333 0.000933333 +0.000926667 0.000926667 0.00096 0.00094 0.00092 0.00094 0.000966667 0.00096 +0.000953333 0.000933333 0.000946667 0.00094 0.000953333 0.000966667 0.00094 0.00094 +0.00096 0.000973333 0.000946667 0.00094 0.00098 0.000986667 0.000986667 0.000986667 +0.216 0.000993333 0.00098 0.000973333 0.000953333 0.000993333 0.22168 0.000993333 +0.219787 0.000993333 0.000993333 0.000993333 0.216 0.000993333 0.000986667 0.217893 +0.000986667 0.000986667 0.000993333 0.22168 0.217893 0.217893 0.00098 0.000966667 +0.000973333 0.000993333 0.22168 0.217893 0.00098 0.217893 0.216 0.217893 +0.000993333 0.22168 0.229253 0.229253 0.223573 0.000986667 0.216 0.225467 +0.223573 0.219787 0.000986667 0.00098 0.22168 0.223573 0.22168 0.216 +0.000986667 0.216 0.225467 0.223573 0.216 0.219787 0.219787 0.000993333 +0.217893 0.000973333 0.000966667 0.223573 0.225467 0.219787 0.22736 0.216 +0.216 0.22168 0.223573 0.223573 0.216 0.223573 0.22168 0.216 +0.219787 0.22736 0.22168 0.216 0.225467 0.22736 0.22168 0.223573 +0.229253 0.234933 0.236827 0.23872 0.234933 0.23304 0.22736 0.229253 +0.2444 0.251973 0.25576 0.263333 0.270907 0.28416 0.303093 0.325813 +0.371253 0.46592 0.561263 0.683789 0.858105 0.998612 1.01624 0.913053 +0.736842 0.610526 0.527789 0.46024 0.450773 0.510737 0.578947 0.704632 +0.873263 0.999592 1.04008 1.0538 1.04955 1.01559 0.894737 0.701474 +0.542947 0.358 0.2728 0.25576 0.23304 0.231147 0.280373 0.506316 +0.635789 0.74 0.794316 0.805684 0.780421 0.716632 0.62 0.517684 +0.316347 0.000886667 0.000786667 0.000826667 0.00086 0.00088 0.00092 0.000926667 +0.000893333 0.00088 0.000893333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000873333 0.00082 +0.00084 0.000813333 0.000833333 0.00082 0.0008 0.000833333 0.00084 0.000833333 +0.000866667 0.0009 0.0009 0.000933333 0.000906667 0.000873333 0.000893333 0.000926667 +0.00098 0.234933 0.348533 0.520211 0.59979 0.672421 0.717895 0.725474 +0.688842 0.608 0.508842 0.327707 0.276587 0.263333 0.26144 0.263333 +0.29552 0.45456 0.611789 0.796842 0.981959 1.03878 1.05347 1.04531 +1.01233 0.916842 0.750737 0.606737 0.524 0.479173 0.486747 0.537895 +0.642105 0.816421 0.985224 1.012 0.940842 0.767789 0.618105 0.523368 +0.418587 0.34664 0.304987 0.286053 0.274693 0.25576 0.248187 0.248187 +0.246293 0.2444 0.236827 0.23304 0.22736 0.223573 0.223573 0.223573 +0.22168 0.223573 0.219787 0.000986667 0.216 0.22168 0.223573 0.219787 +0.00098 0.00098 0.219787 0.22168 0.219787 0.22168 0.219787 0.22168 +0.219787 0.217893 0.219787 0.22168 0.22168 0.22168 0.000993333 0.22168 +0.217893 0.217893 0.000993333 0.216 0.216 0.22168 0.217893 0.000986667 +0.216 0.216 0.000986667 0.000986667 0.219787 0.219787 0.000986667 0.00098 +0.00098 0.000993333 0.00098 0.217893 0.217893 0.00098 0.000973333 0.000986667 +0.225467 0.223573 0.216 0.216 0.000993333 0.216 0.000993333 0.000993333 +0.216 0.219787 0.216 0.000986667 0.00098 0.216 0.216 0.000993333 +0.216 0.217893 0.000986667 0.000993333 0.000986667 0.00098 0.000966667 0.000953333 +0.000966667 0.000946667 0.00094 0.000966667 0.000993333 0.216 0.000993333 0.000966667 +0.000933333 0.000953333 0.223573 0.22168 0.000966667 0.000933333 0.000966667 0.00096 +0.00096 0.000966667 0.000986667 0.000966667 0.000966667 0.000946667 0.000933333 0.00098 +0.000986667 0.00098 0.00096 0.000933333 0.000946667 0.000966667 0.000946667 0.00092 +0.000926667 0.000913333 0.000906667 0.00092 0.000926667 0.000953333 0.000946667 0.000926667 +0.00094 0.000946667 0.000926667 0.000926667 0.000933333 0.000906667 0.000893333 0.000933333 +0.000946667 0.00096 0.00096 0.000953333 0.000946667 0.00094 0.000893333 0.00086 +0.000926667 0.000953333 0.00094 0.00092 0.00088 0.00088 0.00088 0.000953333 +0.000966667 0.000946667 0.00098 0.000933333 0.00092 0.000926667 0.000926667 0.000893333 +0.000926667 0.000866667 0.000813333 0.000846667 0.000833333 0.000826667 0.00086 0.000926667 +0.000906667 0.0009 0.000933333 0.000946667 0.000906667 0.0009 0.00094 0.000933333 +0.0009 0.00088 0.0009 0.00094 0.00096 0.00098 0.000973333 0.000953333 +0.000953333 0.00094 0.00092 0.000926667 0.000913333 0.000946667 0.00096 0.000933333 +0.000933333 0.000953333 0.00094 0.0009 0.000933333 0.000966667 0.00098 0.000986667 +0.000986667 0.00096 0.000953333 0.000953333 0.000966667 0.00096 0.000953333 0.000953333 +0.000966667 0.216 0.00098 0.000973333 0.000933333 0.000933333 0.00096 0.00098 +0.000973333 0.00096 0.00092 0.000893333 0.00096 0.000986667 0.00098 0.000933333 +0.000946667 0.000913333 0.000913333 0.000966667 0.000973333 0.000966667 0.000953333 0.00096 +0.000933333 0.000953333 0.000926667 0.000986667 0.000986667 0.000953333 0.000953333 0.00094 +0.00094 0.00094 0.00096 0.216 0.00094 0.000933333 0.000913333 0.000946667 +0.00094 0.000926667 0.000873333 0.000846667 0.000866667 0.000906667 0.000933333 0.00088 +0.00094 0.00092 0.000866667 0.000913333 0.00094 0.000933333 0.0009 0.000926667 +0.000913333 0.00094 0.000953333 0.000946667 0.00092 0.000933333 0.000946667 0.000953333 +0.00096 0.00094 0.000953333 0.000926667 0.000926667 0.000966667 0.00094 0.00094 +0.00096 0.000973333 0.000953333 0.000933333 0.00098 0.000966667 0.000986667 0.000986667 +0.000993333 0.000986667 0.000933333 0.000933333 0.000946667 0.216 0.219787 0.00098 +0.000993333 0.000993333 0.000986667 0.000993333 0.216 0.219787 0.217893 0.219787 +0.216 0.000993333 0.216 0.00098 0.216 0.22168 0.216 0.000973333 +0.000966667 0.217893 0.22168 0.00098 0.000986667 0.217893 0.219787 0.219787 +0.219787 0.217893 0.219787 0.22736 0.216 0.00098 0.000993333 0.22168 +0.22736 0.217893 0.000993333 0.216 0.219787 0.219787 0.219787 0.217893 +0.00098 0.219787 0.225467 0.231147 0.219787 0.217893 0.22168 0.000973333 +0.000986667 0.216 0.000966667 0.216 0.217893 0.216 0.225467 0.217893 +0.216 0.223573 0.22168 0.223573 0.22168 0.22168 0.223573 0.219787 +0.219787 0.22168 0.217893 0.22736 0.22736 0.217893 0.216 0.223573 +0.23304 0.236827 0.236827 0.229253 0.229253 0.23872 0.242507 0.240613 +0.253867 0.26144 0.263333 0.2728 0.287947 0.30688 0.331493 0.37504 +0.481067 0.570105 0.694526 0.868842 1.00384 1.01592 0.907368 0.723579 +0.597895 0.529684 0.473493 0.456453 0.513263 0.586526 0.716 0.880842 +1.00188 1.03812 1.05118 1.04922 1.01429 0.898526 0.708421 0.543579 +0.373147 0.263333 0.225467 0.22736 0.216 0.000953333 0.22736 0.325813 +0.464027 0.530316 0.561895 0.568842 0.547368 0.510737 0.378827 0.242507 +0.000846667 0.00078 0.000766667 0.000786667 0.000826667 0.00088 0.000906667 0.000873333 +0.000913333 0.000893333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000873333 +0.0008 0.0008 0.000813333 0.000826667 0.00082 0.000826667 0.00082 0.000826667 +0.000853333 0.000853333 0.000846667 0.00084 0.000833333 0.00088 0.000886667 0.000886667 +0.00092 0.000933333 0.219787 0.270907 0.34664 0.428053 0.47728 0.484853 +0.445093 0.367467 0.282267 0.231147 0.234933 0.246293 0.242507 0.246293 +0.257653 0.308773 0.475387 0.617474 0.807579 0.985878 1.03943 1.05347 +1.04465 1.01396 0.918737 0.750105 0.606737 0.524 0.48296 0.490533 +0.532211 0.633895 0.808211 0.982612 1.01102 0.943368 0.775368 0.620632 +0.521474 0.4148 0.34096 0.3012 0.28416 0.26712 0.25576 0.251973 +0.246293 0.240613 0.23872 0.23304 0.225467 0.234933 0.236827 0.223573 +0.216 0.223573 0.22168 0.217893 0.225467 0.225467 0.219787 0.216 +0.000993333 0.225467 0.22736 0.217893 0.00098 0.216 0.000993333 0.216 +0.219787 0.217893 0.22168 0.219787 0.216 0.217893 0.217893 0.22168 +0.217893 0.217893 0.00098 0.216 0.217893 0.216 0.00098 0.00098 +0.00096 0.00096 0.000986667 0.216 0.217893 0.000986667 0.000986667 0.217893 +0.216 0.000973333 0.000973333 0.000986667 0.000986667 0.000986667 0.000993333 0.219787 +0.22168 0.217893 0.000986667 0.217893 0.225467 0.219787 0.000986667 0.000973333 +0.216 0.229253 0.22168 0.000986667 0.00098 0.219787 0.219787 0.000993333 +0.000993333 0.000986667 0.000953333 0.00096 0.000986667 0.000993333 0.000946667 0.000933333 +0.000966667 0.000966667 0.000953333 0.00098 0.000993333 0.217893 0.217893 0.000966667 +0.00094 0.00096 0.217893 0.00098 0.000946667 0.00096 0.000966667 0.000946667 +0.000973333 0.00098 0.000966667 0.000933333 0.000953333 0.000933333 0.000953333 0.000993333 +0.217893 0.00098 0.00094 0.00096 0.00096 0.000953333 0.000946667 0.00094 +0.000926667 0.00088 0.0009 0.000953333 0.000946667 0.00094 0.000926667 0.00092 +0.00094 0.000926667 0.0009 0.000946667 0.000926667 0.000906667 0.00094 0.000933333 +0.000926667 0.000933333 0.00092 0.00092 0.000946667 0.00092 0.000893333 0.0009 +0.000946667 0.00094 0.000906667 0.000886667 0.000893333 0.000913333 0.00092 0.000973333 +0.00094 0.000926667 0.000946667 0.000913333 0.00086 0.00086 0.00088 0.000866667 +0.000846667 0.00082 0.00082 0.000833333 0.00082 0.000846667 0.00092 0.000966667 +0.000946667 0.000926667 0.000966667 0.000953333 0.000886667 0.000893333 0.000946667 0.00094 +0.000893333 0.000873333 0.0009 0.00096 0.000966667 0.000993333 0.00098 0.000953333 +0.00094 0.000926667 0.000893333 0.000913333 0.00092 0.000946667 0.000966667 0.000946667 +0.000913333 0.000933333 0.000926667 0.000926667 0.000933333 0.000946667 0.000966667 0.000966667 +0.000953333 0.00092 0.00094 0.000933333 0.000946667 0.000953333 0.000973333 0.000986667 +0.00098 0.00098 0.000946667 0.000953333 0.000933333 0.000933333 0.000986667 0.22168 +0.00098 0.000926667 0.000913333 0.0009 0.000953333 0.00098 0.00096 0.00092 +0.00094 0.00094 0.000946667 0.00096 0.000946667 0.00094 0.000953333 0.000966667 +0.000933333 0.000913333 0.000933333 0.000966667 0.00094 0.000926667 0.000946667 0.000946667 +0.00094 0.000926667 0.00096 0.000986667 0.000953333 0.00094 0.000946667 0.00094 +0.000926667 0.000946667 0.000906667 0.0009 0.000926667 0.00092 0.000913333 0.000886667 +0.00086 0.000906667 0.000873333 0.000913333 0.000933333 0.00094 0.00092 0.000906667 +0.000913333 0.00094 0.000946667 0.00094 0.000906667 0.0009 0.00092 0.000953333 +0.000953333 0.000946667 0.000946667 0.000926667 0.000926667 0.000946667 0.000933333 0.00094 +0.000973333 0.000973333 0.000986667 0.00098 0.000973333 0.00094 0.00096 0.217893 +0.22168 0.000973333 0.00094 0.000946667 0.000946667 0.00098 0.216 0.00098 +0.216 0.216 0.000973333 0.000973333 0.217893 0.225467 0.223573 0.219787 +0.000986667 0.00098 0.216 0.00096 0.00098 0.223573 0.22168 0.000986667 +0.000973333 0.22168 0.219787 0.000973333 0.219787 0.219787 0.217893 0.217893 +0.223573 0.000993333 0.000993333 0.219787 0.000993333 0.000986667 0.217893 0.223573 +0.223573 0.225467 0.216 0.225467 0.225467 0.217893 0.216 0.216 +0.00098 0.000986667 0.223573 0.231147 0.22168 0.216 0.219787 0.000986667 +0.000993333 0.219787 0.217893 0.000993333 0.000986667 0.000993333 0.219787 0.000986667 +0.000993333 0.22168 0.225467 0.229253 0.219787 0.217893 0.216 0.217893 +0.219787 0.217893 0.000986667 0.219787 0.229253 0.22168 0.22168 0.22736 +0.231147 0.23304 0.23304 0.229253 0.234933 0.246293 0.251973 0.251973 +0.257653 0.263333 0.274693 0.28416 0.303093 0.34096 0.384507 0.48864 +0.572 0.707158 0.885263 1.00776 1.01461 0.902316 0.710316 0.580842 +0.517053 0.464027 0.46592 0.516421 0.589053 0.724842 0.892842 1.0058 +1.04204 1.05053 1.04629 1.01461 0.896 0.707158 0.550526 0.365573 +0.2728 0.2444 0.223573 0.216 0.000966667 0.000946667 0.216 0.248187 +0.276587 0.308773 0.339067 0.354213 0.320133 0.265227 0.217893 0.000886667 +0.0008 0.000766667 0.000746667 0.000766667 0.000806667 0.000833333 0.000846667 0.000833333 +0.000866667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000866667 0.00078 0.0008 0.000806667 0.000793333 0.00078 0.000793333 0.000826667 +0.000846667 0.000846667 0.000866667 0.000873333 0.0009 0.000893333 0.000886667 0.00088 +0.00088 0.000893333 0.000926667 0.00098 0.223573 0.225467 0.22736 0.23304 +0.22168 0.000946667 0.00092 0.000926667 0.000946667 0.00098 0.219787 0.231147 +0.242507 0.257653 0.310667 0.48864 0.628842 0.813895 0.988816 1.04171 +1.05347 1.04563 1.01527 0.920632 0.747579 0.603579 0.523368 0.475387 +0.4716 0.525895 0.628842 0.805053 0.978737 1.00971 0.945895 0.774737 +0.617474 0.518316 0.40344 0.333387 0.304987 0.287947 0.269013 0.26144 +0.257653 0.2444 0.23872 0.236827 0.236827 0.23872 0.23872 0.225467 +0.216 0.219787 0.22168 0.22736 0.22736 0.22736 0.229253 0.219787 +0.219787 0.225467 0.223573 0.217893 0.000966667 0.000993333 0.217893 0.22168 +0.223573 0.217893 0.223573 0.000993333 0.000986667 0.217893 0.217893 0.216 +0.000993333 0.217893 0.000993333 0.000986667 0.000993333 0.000986667 0.00098 0.000973333 +0.000953333 0.00096 0.219787 0.219787 0.219787 0.217893 0.000966667 0.217893 +0.000986667 0.000966667 0.000986667 0.216 0.219787 0.216 0.217893 0.22168 +0.217893 0.000993333 0.000993333 0.223573 0.22736 0.217893 0.000973333 0.00098 +0.223573 0.225467 0.216 0.000973333 0.00098 0.22168 0.217893 0.00094 +0.00096 0.00098 0.000946667 0.000953333 0.00098 0.000986667 0.00096 0.000973333 +0.000993333 0.000986667 0.000973333 0.000973333 0.00098 0.216 0.000946667 0.000906667 +0.00096 0.00098 0.00098 0.000946667 0.00096 0.000986667 0.00094 0.00094 +0.000966667 0.00096 0.00094 0.000913333 0.00092 0.00094 0.00096 0.000993333 +0.00098 0.000946667 0.000926667 0.00094 0.00094 0.00096 0.000926667 0.00094 +0.000933333 0.000906667 0.00094 0.000953333 0.000953333 0.000926667 0.000906667 0.000933333 +0.00096 0.000906667 0.000913333 0.000933333 0.000893333 0.000906667 0.00098 0.000966667 +0.000913333 0.00092 0.0009 0.000913333 0.0009 0.00088 0.000893333 0.000926667 +0.00096 0.00092 0.0009 0.000906667 0.000906667 0.000913333 0.00092 0.000946667 +0.0009 0.00088 0.000886667 0.00086 0.00082 0.000826667 0.000853333 0.000833333 +0.000806667 0.000813333 0.000866667 0.000873333 0.00088 0.000926667 0.00098 0.219787 +0.000973333 0.00094 0.00096 0.000933333 0.000893333 0.000893333 0.000906667 0.0009 +0.00088 0.000906667 0.000933333 0.00094 0.00094 0.00096 0.000973333 0.000946667 +0.000926667 0.000926667 0.000926667 0.000906667 0.000913333 0.00096 0.000966667 0.000946667 +0.000913333 0.000926667 0.000926667 0.000933333 0.000946667 0.000953333 0.00096 0.000966667 +0.00094 0.000933333 0.00096 0.000946667 0.000926667 0.00096 0.219787 0.000953333 +0.000953333 0.216 0.00094 0.00092 0.000926667 0.00094 0.000973333 0.000966667 +0.00094 0.00092 0.000906667 0.000926667 0.00096 0.000973333 0.000926667 0.000893333 +0.000933333 0.000946667 0.000953333 0.000926667 0.00094 0.000953333 0.00098 0.00094 +0.000893333 0.00092 0.000913333 0.000933333 0.000926667 0.000906667 0.000946667 0.000946667 +0.00094 0.000926667 0.000946667 0.00098 0.000946667 0.000913333 0.00094 0.000953333 +0.000946667 0.000946667 0.000946667 0.000953333 0.00098 0.00096 0.00094 0.000906667 +0.000846667 0.000886667 0.0009 0.000906667 0.000906667 0.00092 0.000913333 0.000906667 +0.0009 0.000906667 0.0009 0.000926667 0.000873333 0.000886667 0.000926667 0.000946667 +0.00094 0.000946667 0.000953333 0.000946667 0.000946667 0.000933333 0.000926667 0.000953333 +0.00098 0.000966667 0.000966667 0.00096 0.000966667 0.000926667 0.000933333 0.216 +0.22168 0.000973333 0.000973333 0.00098 0.000966667 0.000953333 0.00096 0.00098 +0.000993333 0.217893 0.000993333 0.000966667 0.216 0.22168 0.22168 0.217893 +0.000986667 0.000953333 0.00096 0.000953333 0.000986667 0.219787 0.216 0.000993333 +0.00098 0.000993333 0.000993333 0.000993333 0.219787 0.216 0.00098 0.000993333 +0.231147 0.22168 0.216 0.217893 0.000993333 0.216 0.217893 0.22168 +0.216 0.223573 0.000993333 0.217893 0.225467 0.217893 0.219787 0.22168 +0.217893 0.000986667 0.000993333 0.223573 0.22168 0.225467 0.225467 0.216 +0.000986667 0.000986667 0.216 0.22168 0.000993333 0.216 0.000993333 0.000973333 +0.000973333 0.00098 0.223573 0.229253 0.22168 0.217893 0.000993333 0.22168 +0.225467 0.219787 0.000993333 0.217893 0.225467 0.225467 0.229253 0.231147 +0.23304 0.23304 0.23304 0.240613 0.242507 0.25008 0.259547 0.26144 +0.26712 0.270907 0.287947 0.303093 0.32392 0.388293 0.504421 0.582105 +0.714105 0.890947 1.01135 1.00939 0.887789 0.701474 0.575789 0.506947 +0.446987 0.464027 0.520842 0.601684 0.74 0.905474 1.00971 1.04237 +1.05216 1.04629 1.01037 0.890947 0.706526 0.552421 0.382613 0.265227 +0.23872 0.231147 0.219787 0.000993333 0.000966667 0.000973333 0.000973333 0.217893 +0.234933 0.251973 0.248187 0.25008 0.240613 0.000953333 0.000873333 0.000866667 +0.000866667 0.000846667 0.000813333 0.000793333 0.000833333 0.00084 0.000846667 0.000846667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000833333 0.000826667 0.000746667 0.000753333 0.0008 0.000826667 0.00082 0.00084 +0.000873333 0.000893333 0.000886667 0.00088 0.00088 0.00086 0.00086 0.00084 +0.000846667 0.000866667 0.000893333 0.000926667 0.000946667 0.0009 0.000893333 0.000906667 +0.000846667 0.000853333 0.0009 0.000886667 0.000893333 0.000926667 0.000973333 0.217893 +0.229253 0.236827 0.251973 0.320133 0.500632 0.632632 0.822105 0.991102 +1.04171 1.05314 1.04596 1.01429 0.913684 0.743789 0.602947 0.521474 +0.464027 0.473493 0.530947 0.628842 0.796211 0.974316 1.01037 0.944 +0.769053 0.613053 0.517684 0.40912 0.34664 0.316347 0.28984 0.276587 +0.26144 0.248187 0.246293 0.251973 0.246293 0.23304 0.231147 0.229253 +0.22168 0.219787 0.223573 0.231147 0.23304 0.231147 0.225467 0.219787 +0.217893 0.216 0.000993333 0.216 0.000986667 0.217893 0.219787 0.223573 +0.223573 0.223573 0.219787 0.000986667 0.216 0.000993333 0.000993333 0.216 +0.000993333 0.00098 0.00098 0.00098 0.000993333 0.000993333 0.217893 0.000953333 +0.00096 0.217893 0.225467 0.22168 0.22736 0.217893 0.00098 0.000986667 +0.00098 0.00098 0.000986667 0.216 0.223573 0.000986667 0.216 0.225467 +0.000993333 0.000993333 0.219787 0.225467 0.216 0.00098 0.000966667 0.000993333 +0.000993333 0.00098 0.00098 0.00098 0.217893 0.22168 0.000986667 0.000946667 +0.000966667 0.000973333 0.000953333 0.000966667 0.000993333 0.216 0.000986667 0.000986667 +0.00098 0.00096 0.000993333 0.000993333 0.000973333 0.000973333 0.00092 0.000926667 +0.000993333 0.00098 0.000933333 0.000933333 0.00098 0.000966667 0.000926667 0.000933333 +0.00096 0.000946667 0.00092 0.0009 0.000913333 0.000946667 0.000973333 0.000953333 +0.000953333 0.00094 0.00094 0.000913333 0.000946667 0.000946667 0.000933333 0.000953333 +0.00092 0.000926667 0.000946667 0.000933333 0.000926667 0.000913333 0.000913333 0.00096 +0.000946667 0.000913333 0.000926667 0.000926667 0.000873333 0.0009 0.00096 0.000933333 +0.000913333 0.000926667 0.00092 0.000913333 0.000893333 0.00088 0.000866667 0.0009 +0.000946667 0.000946667 0.000893333 0.000873333 0.0009 0.000893333 0.000926667 0.00094 +0.000846667 0.000866667 0.000853333 0.000806667 0.000813333 0.000833333 0.000833333 0.00084 +0.00086 0.00086 0.000913333 0.00092 0.000926667 0.00094 0.000973333 0.217893 +0.000966667 0.000933333 0.000926667 0.00092 0.000886667 0.000886667 0.000886667 0.000906667 +0.000913333 0.000933333 0.000953333 0.00094 0.00092 0.00094 0.000966667 0.00094 +0.000946667 0.000946667 0.00094 0.00092 0.000906667 0.000953333 0.000973333 0.00096 +0.00094 0.00096 0.000946667 0.000946667 0.000966667 0.00098 0.00096 0.000966667 +0.00096 0.00094 0.000953333 0.000966667 0.00096 0.00098 0.217893 0.000926667 +0.00092 0.000973333 0.000913333 0.00088 0.0009 0.000893333 0.0009 0.000933333 +0.000933333 0.00094 0.00092 0.000906667 0.000946667 0.000953333 0.00092 0.000893333 +0.000946667 0.00094 0.000913333 0.0009 0.000953333 0.000973333 0.000966667 0.000933333 +0.00088 0.0009 0.000893333 0.000933333 0.000946667 0.000953333 0.00094 0.0009 +0.000906667 0.000913333 0.000926667 0.000993333 0.000973333 0.00094 0.000933333 0.000933333 +0.000946667 0.000966667 0.000966667 0.000966667 0.000966667 0.000973333 0.000926667 0.00094 +0.000886667 0.00092 0.000926667 0.000906667 0.000886667 0.000893333 0.000913333 0.000906667 +0.000873333 0.00086 0.00088 0.000906667 0.00088 0.00088 0.000926667 0.000926667 +0.00094 0.000966667 0.000966667 0.00094 0.00096 0.00094 0.000953333 0.000966667 +0.00096 0.00098 0.000966667 0.000946667 0.000946667 0.000933333 0.000926667 0.000973333 +0.216 0.00098 0.000993333 0.216 0.00098 0.000953333 0.000966667 0.216 +0.00098 0.000993333 0.00098 0.000973333 0.22168 0.225467 0.229253 0.22168 +0.00098 0.000966667 0.000966667 0.000946667 0.000966667 0.00098 0.000973333 0.000993333 +0.219787 0.000986667 0.000966667 0.217893 0.216 0.00098 0.000966667 0.00098 +0.22736 0.229253 0.22168 0.216 0.000986667 0.217893 0.216 0.223573 +0.216 0.000993333 0.000993333 0.216 0.223573 0.225467 0.22168 0.219787 +0.217893 0.000986667 0.000986667 0.217893 0.223573 0.229253 0.22736 0.22168 +0.000993333 0.00096 0.00098 0.217893 0.000993333 0.216 0.216 0.000986667 +0.216 0.216 0.000993333 0.22168 0.223573 0.22168 0.217893 0.217893 +0.225467 0.217893 0.219787 0.225467 0.225467 0.229253 0.231147 0.223573 +0.229253 0.240613 0.2444 0.2444 0.248187 0.259547 0.263333 0.2728 +0.282267 0.287947 0.304987 0.327707 0.384507 0.509474 0.596632 0.733053 +0.905474 1.01135 1.00482 0.873895 0.690737 0.565684 0.503158 0.45456 +0.462133 0.518316 0.603579 0.750737 0.921263 1.01363 1.04367 1.05151 +1.04531 1.00776 0.882105 0.701474 0.550526 0.384507 0.269013 0.23304 +0.223573 0.219787 0.217893 0.000993333 0.000973333 0.000986667 0.000993333 0.000993333 +0.217893 0.223573 0.000993333 0.00098 0.00098 0.000933333 0.00086 0.000846667 +0.00086 0.000853333 0.000826667 0.000813333 0.000826667 0.00088 0.000893333 0.000886667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00086 0.000826667 0.000793333 0.00082 0.00082 0.000833333 0.000853333 +0.000866667 0.000873333 0.00086 0.00086 0.00086 0.00086 0.000846667 0.000813333 +0.000853333 0.000873333 0.000873333 0.000906667 0.00092 0.000866667 0.000833333 0.000846667 +0.00084 0.000873333 0.000886667 0.00088 0.000893333 0.0009 0.000933333 0.000946667 +0.00098 0.223573 0.2444 0.269013 0.325813 0.510105 0.638947 0.822105 +0.989143 1.03976 1.05118 1.04269 1.01167 0.916842 0.750737 0.606737 +0.523368 0.481067 0.48864 0.529053 0.622526 0.792421 0.971158 1.00906 +0.943368 0.774737 0.623789 0.520211 0.411013 0.34664 0.310667 0.28984 +0.265227 0.25576 0.25576 0.2444 0.23872 0.236827 0.234933 0.231147 +0.22736 0.23304 0.236827 0.234933 0.23304 0.231147 0.217893 0.216 +0.000986667 0.000973333 0.00098 0.000993333 0.216 0.223573 0.219787 0.219787 +0.225467 0.22168 0.216 0.216 0.000993333 0.000993333 0.219787 0.22168 +0.000986667 0.000993333 0.217893 0.000986667 0.000993333 0.216 0.000993333 0.000966667 +0.000986667 0.223573 0.22168 0.217893 0.219787 0.00098 0.000966667 0.000986667 +0.000993333 0.000986667 0.000986667 0.217893 0.225467 0.000993333 0.216 0.216 +0.000986667 0.219787 0.22168 0.216 0.00098 0.00098 0.00098 0.217893 +0.000986667 0.00098 0.216 0.00098 0.000973333 0.000946667 0.000926667 0.000966667 +0.000973333 0.000953333 0.00096 0.000973333 0.00098 0.219787 0.219787 0.00098 +0.000946667 0.000966667 0.217893 0.000986667 0.00096 0.00094 0.000926667 0.00096 +0.000986667 0.000953333 0.00092 0.00096 0.00096 0.00096 0.00094 0.000926667 +0.00094 0.000946667 0.00094 0.00094 0.000953333 0.000973333 0.000993333 0.000953333 +0.000926667 0.000946667 0.000966667 0.000973333 0.000953333 0.00092 0.000973333 0.00098 +0.000933333 0.00094 0.00094 0.000913333 0.0009 0.000906667 0.000953333 0.000986667 +0.000926667 0.0009 0.000933333 0.00094 0.000906667 0.000926667 0.000933333 0.000913333 +0.000886667 0.000886667 0.000913333 0.000886667 0.000873333 0.000866667 0.000853333 0.0009 +0.000946667 0.0009 0.00086 0.000866667 0.000873333 0.000873333 0.000913333 0.00088 +0.000833333 0.000873333 0.000853333 0.00082 0.00086 0.000873333 0.000886667 0.000913333 +0.0009 0.0009 0.00094 0.000913333 0.000913333 0.00094 0.000953333 0.000946667 +0.000926667 0.0009 0.000893333 0.000893333 0.000873333 0.0009 0.000913333 0.00092 +0.00092 0.00094 0.000933333 0.00092 0.000933333 0.00092 0.000913333 0.000913333 +0.00094 0.000953333 0.00094 0.000913333 0.000933333 0.000926667 0.000933333 0.000953333 +0.00096 0.00096 0.000933333 0.000953333 0.000973333 0.000986667 0.00096 0.00096 +0.00096 0.000953333 0.000946667 0.00096 0.000966667 0.000986667 0.000966667 0.000906667 +0.000906667 0.00094 0.000906667 0.00088 0.00088 0.000873333 0.000886667 0.00094 +0.000933333 0.000946667 0.0009 0.0009 0.000933333 0.00094 0.000933333 0.000913333 +0.000926667 0.000926667 0.0009 0.0009 0.00094 0.00094 0.00096 0.00094 +0.00088 0.000886667 0.000906667 0.000946667 0.000946667 0.00094 0.000926667 0.0009 +0.00092 0.000933333 0.000946667 0.219787 0.000986667 0.000946667 0.00094 0.000946667 +0.00096 0.000986667 0.000966667 0.000933333 0.000966667 0.000953333 0.00092 0.000933333 +0.000933333 0.00096 0.000946667 0.000926667 0.000913333 0.000913333 0.000913333 0.000913333 +0.00088 0.000873333 0.000886667 0.0009 0.00088 0.00088 0.000913333 0.000933333 +0.00094 0.000953333 0.000953333 0.000946667 0.000946667 0.00092 0.00096 0.000966667 +0.00094 0.00098 0.00096 0.000933333 0.00094 0.000946667 0.000946667 0.000966667 +0.000986667 0.000986667 0.00098 0.000973333 0.00098 0.000953333 0.000993333 0.217893 +0.00096 0.000973333 0.000953333 0.000953333 0.217893 0.219787 0.223573 0.219787 +0.000986667 0.00098 0.216 0.216 0.216 0.00096 0.00096 0.000993333 +0.223573 0.000986667 0.00096 0.000973333 0.216 0.22168 0.00098 0.00098 +0.00098 0.22168 0.223573 0.000993333 0.000986667 0.217893 0.217893 0.216 +0.217893 0.216 0.219787 0.000973333 0.000993333 0.229253 0.217893 0.219787 +0.000993333 0.000986667 0.00098 0.000986667 0.219787 0.22736 0.223573 0.223573 +0.22168 0.000986667 0.000993333 0.216 0.000986667 0.216 0.000993333 0.000993333 +0.22736 0.22736 0.216 0.000993333 0.219787 0.217893 0.219787 0.22168 +0.223573 0.000993333 0.216 0.229253 0.229253 0.229253 0.231147 0.22736 +0.23304 0.2444 0.248187 0.253867 0.257653 0.257653 0.265227 0.280373 +0.299307 0.314453 0.333387 0.384507 0.511368 0.609263 0.752632 0.924421 +1.01494 1.00286 0.864421 0.681263 0.56 0.501263 0.44888 0.475387 +0.524 0.606105 0.755158 0.928842 1.01722 1.04498 1.05053 1.04335 +1.00612 0.873895 0.692632 0.548632 0.382613 0.274693 0.234933 0.00098 +0.000986667 0.000986667 0.000973333 0.00096 0.000946667 0.000966667 0.000986667 0.219787 +0.000986667 0.000966667 0.000953333 0.000966667 0.000926667 0.000906667 0.00088 0.000873333 +0.000853333 0.000833333 0.000833333 0.000833333 0.000833333 0.000866667 0.000886667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000853333 0.00084 0.000813333 0.00082 0.000833333 0.000846667 +0.000866667 0.00086 0.00088 0.0009 0.000853333 0.000853333 0.00084 0.000846667 +0.000853333 0.000833333 0.000853333 0.000873333 0.000873333 0.000853333 0.000846667 0.000873333 +0.000853333 0.00084 0.000846667 0.00088 0.000886667 0.000886667 0.000926667 0.00096 +0.000993333 0.217893 0.234933 0.248187 0.26144 0.327707 0.509474 0.640211 +0.818947 0.986857 1.0391 1.05118 1.044 1.01592 0.92379 0.748842 +0.604842 0.525895 0.48296 0.473493 0.527789 0.62 0.789263 0.969263 +1.00939 0.952842 0.782947 0.619368 0.517684 0.405333 0.339067 0.308773 +0.282267 0.269013 0.265227 0.253867 0.240613 0.23872 0.240613 0.234933 +0.236827 0.23872 0.234933 0.22736 0.223573 0.219787 0.000986667 0.000986667 +0.216 0.216 0.000993333 0.216 0.22168 0.22736 0.216 0.000986667 +0.217893 0.217893 0.22168 0.217893 0.000986667 0.219787 0.225467 0.217893 +0.219787 0.223573 0.217893 0.216 0.000986667 0.000966667 0.000986667 0.216 +0.000993333 0.219787 0.22168 0.216 0.000973333 0.000973333 0.000973333 0.000993333 +0.217893 0.216 0.000993333 0.217893 0.22168 0.000986667 0.000986667 0.00098 +0.00098 0.217893 0.000993333 0.00098 0.000966667 0.000986667 0.216 0.216 +0.000966667 0.000973333 0.000986667 0.000966667 0.000966667 0.000946667 0.000953333 0.000986667 +0.000993333 0.000973333 0.000973333 0.000973333 0.00096 0.000993333 0.219787 0.000973333 +0.000966667 0.217893 0.216 0.000973333 0.000946667 0.000913333 0.00094 0.000953333 +0.00094 0.000926667 0.000933333 0.00094 0.000953333 0.00096 0.000953333 0.000953333 +0.000966667 0.000946667 0.00094 0.00096 0.000946667 0.00096 0.00098 0.000946667 +0.000926667 0.000946667 0.000966667 0.000973333 0.000926667 0.000913333 0.000973333 0.000993333 +0.000933333 0.000926667 0.00094 0.000933333 0.000933333 0.000926667 0.000966667 0.00098 +0.0009 0.00092 0.000966667 0.000913333 0.000913333 0.000893333 0.00088 0.000893333 +0.000886667 0.000893333 0.000906667 0.000886667 0.000866667 0.000833333 0.000873333 0.000946667 +0.000913333 0.000866667 0.000826667 0.00084 0.000853333 0.00086 0.000853333 0.00086 +0.000853333 0.000886667 0.000886667 0.000866667 0.0009 0.000926667 0.000926667 0.000893333 +0.000893333 0.000926667 0.000926667 0.0009 0.000933333 0.000953333 0.000926667 0.000886667 +0.000873333 0.0009 0.000906667 0.000873333 0.000853333 0.0009 0.000926667 0.000913333 +0.0009 0.00094 0.00092 0.000906667 0.00094 0.000946667 0.0009 0.00088 +0.00094 0.00094 0.000906667 0.0009 0.00094 0.00094 0.000946667 0.000946667 +0.000946667 0.00098 0.00094 0.000926667 0.00096 0.000973333 0.000946667 0.000966667 +0.000946667 0.000926667 0.000953333 0.000946667 0.000946667 0.000946667 0.000946667 0.0009 +0.0009 0.00094 0.000906667 0.000886667 0.000893333 0.0009 0.00092 0.000953333 +0.00092 0.00092 0.000906667 0.0009 0.00092 0.000913333 0.000906667 0.000913333 +0.000926667 0.000906667 0.000886667 0.000893333 0.00092 0.000946667 0.00098 0.000966667 +0.000886667 0.000873333 0.00088 0.0009 0.000926667 0.000946667 0.000933333 0.0009 +0.000906667 0.000906667 0.000953333 0.000993333 0.00096 0.000913333 0.000946667 0.000953333 +0.00096 0.000986667 0.00094 0.000926667 0.000953333 0.00094 0.0009 0.000946667 +0.000953333 0.000966667 0.00096 0.00094 0.00094 0.000926667 0.0009 0.0009 +0.000873333 0.000866667 0.000873333 0.00088 0.000886667 0.000873333 0.0009 0.000913333 +0.000926667 0.00092 0.000933333 0.00092 0.0009 0.00092 0.000946667 0.000946667 +0.00094 0.000966667 0.00096 0.000946667 0.00094 0.000933333 0.000953333 0.000966667 +0.000986667 0.000993333 0.000973333 0.00096 0.000953333 0.000926667 0.000973333 0.216 +0.000966667 0.000966667 0.000953333 0.00094 0.00098 0.000986667 0.217893 0.217893 +0.000986667 0.000986667 0.000986667 0.219787 0.217893 0.00096 0.000953333 0.000986667 +0.216 0.000986667 0.000953333 0.000973333 0.219787 0.223573 0.223573 0.216 +0.000966667 0.216 0.22168 0.00098 0.00098 0.000993333 0.217893 0.000993333 +0.000993333 0.000973333 0.219787 0.000986667 0.000966667 0.223573 0.217893 0.216 +0.000993333 0.216 0.000993333 0.000986667 0.22168 0.219787 0.219787 0.225467 +0.229253 0.223573 0.223573 0.217893 0.216 0.217893 0.216 0.000986667 +0.22168 0.223573 0.223573 0.217893 0.223573 0.217893 0.000986667 0.223573 +0.22736 0.216 0.000993333 0.231147 0.236827 0.225467 0.225467 0.234933 +0.242507 0.251973 0.25008 0.25576 0.26144 0.270907 0.276587 0.28984 +0.310667 0.333387 0.393973 0.512632 0.614947 0.769684 0.938316 1.01494 +0.998612 0.853053 0.674947 0.554316 0.49432 0.458347 0.479173 0.527158 +0.618737 0.765263 0.931368 1.0182 1.04661 1.05249 1.04204 0.999918 +0.861895 0.681895 0.542316 0.384507 0.276587 0.242507 0.225467 0.000953333 +0.000953333 0.00098 0.000973333 0.00094 0.000913333 0.000933333 0.000953333 0.00096 +0.00096 0.00094 0.0009 0.00094 0.000913333 0.000873333 0.000853333 0.000853333 +0.000846667 0.000853333 0.000833333 0.000833333 0.000853333 0.000893333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000866667 0.00084 0.00082 0.00086 0.00088 +0.000873333 0.00086 0.000886667 0.000893333 0.000853333 0.00084 0.000813333 0.000826667 +0.000793333 0.0008 0.000846667 0.000866667 0.0009 0.000893333 0.00088 0.000846667 +0.0008 0.000826667 0.000846667 0.000873333 0.000906667 0.00092 0.000926667 0.00096 +0.00096 0.000953333 0.000986667 0.219787 0.23304 0.251973 0.34096 0.510105 +0.635789 0.818947 0.986531 1.04008 1.05445 1.04661 1.01494 0.917474 +0.746947 0.605474 0.525263 0.475387 0.4716 0.524 0.621263 0.791158 +0.969263 1.01102 0.952842 0.777263 0.618737 0.516421 0.395867 0.337173 +0.304987 0.286053 0.2728 0.269013 0.253867 0.2444 0.253867 0.242507 +0.229253 0.23304 0.22736 0.223573 0.22168 0.216 0.217893 0.231147 +0.231147 0.22168 0.217893 0.219787 0.223573 0.22168 0.000986667 0.216 +0.22168 0.219787 0.22168 0.217893 0.216 0.225467 0.223573 0.22168 +0.225467 0.217893 0.00098 0.000993333 0.000993333 0.000966667 0.000993333 0.219787 +0.216 0.219787 0.216 0.000973333 0.000973333 0.00098 0.00098 0.216 +0.22168 0.216 0.00098 0.216 0.000993333 0.00098 0.00098 0.00098 +0.000993333 0.22168 0.22168 0.000973333 0.00098 0.22168 0.219787 0.000986667 +0.000946667 0.000973333 0.000973333 0.000986667 0.000966667 0.00096 0.000986667 0.000993333 +0.000966667 0.00098 0.00098 0.00096 0.00096 0.000973333 0.216 0.00098 +0.000973333 0.216 0.000973333 0.000973333 0.00094 0.000913333 0.00096 0.00096 +0.00092 0.000953333 0.00096 0.000906667 0.000933333 0.00096 0.00098 0.00098 +0.000973333 0.000933333 0.000953333 0.000966667 0.00096 0.00096 0.000953333 0.00094 +0.00094 0.00096 0.00094 0.00094 0.000933333 0.000926667 0.000953333 0.000946667 +0.00092 0.000926667 0.000966667 0.000966667 0.000906667 0.000886667 0.00094 0.000926667 +0.000913333 0.00094 0.000926667 0.00086 0.00088 0.000886667 0.000873333 0.000893333 +0.000913333 0.000893333 0.0009 0.000886667 0.00086 0.000826667 0.000886667 0.000913333 +0.000906667 0.00086 0.00082 0.00086 0.00084 0.000853333 0.000866667 0.000846667 +0.000873333 0.000913333 0.000886667 0.000893333 0.00096 0.00094 0.000906667 0.000866667 +0.000893333 0.000913333 0.000913333 0.000913333 0.000913333 0.000926667 0.000913333 0.000906667 +0.000873333 0.000886667 0.000913333 0.000866667 0.000846667 0.000913333 0.00092 0.000906667 +0.0009 0.000946667 0.000906667 0.000893333 0.00092 0.000953333 0.000906667 0.000893333 +0.000933333 0.00094 0.000906667 0.000906667 0.000906667 0.00094 0.000966667 0.00092 +0.000926667 0.000926667 0.000946667 0.000946667 0.000933333 0.00094 0.000953333 0.00098 +0.000933333 0.00092 0.00096 0.00096 0.000926667 0.000933333 0.00094 0.00092 +0.00092 0.000946667 0.000906667 0.00086 0.000886667 0.000906667 0.000933333 0.000953333 +0.000906667 0.000906667 0.0009 0.000906667 0.000913333 0.00092 0.0009 0.0009 +0.000933333 0.000926667 0.000893333 0.000906667 0.00092 0.000933333 0.000973333 0.000953333 +0.000873333 0.000886667 0.000886667 0.000933333 0.00094 0.000966667 0.00096 0.000906667 +0.000893333 0.000926667 0.00096 0.000986667 0.00096 0.0009 0.000953333 0.00094 +0.00096 0.000993333 0.000946667 0.0009 0.00092 0.000926667 0.000913333 0.00096 +0.000953333 0.000933333 0.000946667 0.000933333 0.00096 0.000946667 0.000933333 0.000926667 +0.000886667 0.00088 0.000886667 0.000906667 0.000886667 0.000853333 0.000853333 0.000873333 +0.0009 0.000906667 0.00094 0.000906667 0.00088 0.00094 0.000926667 0.000946667 +0.000966667 0.00096 0.00096 0.000953333 0.000946667 0.000933333 0.000933333 0.000953333 +0.000993333 0.000993333 0.000973333 0.000953333 0.00094 0.00094 0.00098 0.000986667 +0.000973333 0.000973333 0.000986667 0.00096 0.000946667 0.000966667 0.000986667 0.216 +0.000953333 0.000953333 0.000986667 0.219787 0.000993333 0.000973333 0.00098 0.219787 +0.000973333 0.00098 0.000953333 0.000973333 0.216 0.000993333 0.219787 0.216 +0.000986667 0.219787 0.217893 0.00098 0.00098 0.000986667 0.217893 0.223573 +0.219787 0.000973333 0.216 0.217893 0.000993333 0.223573 0.22168 0.000993333 +0.217893 0.217893 0.000993333 0.000986667 0.229253 0.225467 0.217893 0.217893 +0.225467 0.231147 0.229253 0.22168 0.22168 0.225467 0.219787 0.219787 +0.000993333 0.216 0.217893 0.219787 0.219787 0.219787 0.216 0.225467 +0.22736 0.219787 0.219787 0.223573 0.23304 0.229253 0.22736 0.236827 +0.242507 0.253867 0.263333 0.26144 0.26144 0.27848 0.297413 0.316347 +0.342853 0.395867 0.516421 0.616211 0.774105 0.949684 1.01755 0.993714 +0.842316 0.665474 0.548 0.490533 0.452667 0.48296 0.534737 0.626316 +0.777263 0.945263 1.02049 1.04563 1.05184 1.04073 0.996 0.848632 +0.669895 0.530947 0.365573 0.2728 0.248187 0.23304 0.000993333 0.000946667 +0.00094 0.000946667 0.000953333 0.000966667 0.000926667 0.000893333 0.0009 0.000906667 +0.00092 0.000933333 0.000893333 0.000893333 0.000906667 0.000886667 0.000846667 0.00082 +0.000793333 0.000833333 0.000853333 0.000846667 0.000853333 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000866667 0.000826667 0.000853333 0.000826667 +0.000846667 0.000886667 0.0009 0.000873333 0.00086 0.000826667 0.000793333 0.0008 +0.000813333 0.000853333 0.00088 0.000886667 0.000913333 0.000866667 0.000833333 0.00082 +0.000826667 0.000853333 0.00084 0.000853333 0.000906667 0.000913333 0.0009 0.00092 +0.00092 0.00094 0.000946667 0.000966667 0.223573 0.234933 0.257653 0.322027 +0.509474 0.638947 0.817684 0.985878 1.04008 1.05347 1.04563 1.01494 +0.917474 0.749474 0.608 0.525263 0.473493 0.473493 0.529684 0.624421 +0.789895 0.966105 1.01037 0.954737 0.788 0.628211 0.520842 0.411013 +0.350427 0.31256 0.287947 0.274693 0.26144 0.25576 0.248187 0.23872 +0.229253 0.234933 0.231147 0.234933 0.231147 0.22736 0.229253 0.236827 +0.231147 0.22168 0.000993333 0.000986667 0.22168 0.223573 0.225467 0.231147 +0.23304 0.223573 0.223573 0.22168 0.219787 0.219787 0.223573 0.225467 +0.22168 0.000993333 0.00098 0.000986667 0.216 0.217893 0.219787 0.22168 +0.22168 0.217893 0.00098 0.000966667 0.00096 0.000986667 0.000993333 0.216 +0.217893 0.00098 0.000993333 0.000986667 0.000973333 0.000986667 0.000993333 0.22168 +0.223573 0.223573 0.22168 0.000986667 0.000993333 0.216 0.216 0.000973333 +0.000946667 0.000973333 0.000993333 0.219787 0.000973333 0.000993333 0.219787 0.000966667 +0.00094 0.000993333 0.216 0.00098 0.000966667 0.00096 0.000966667 0.000973333 +0.000966667 0.00098 0.000966667 0.000953333 0.00092 0.00092 0.000973333 0.000966667 +0.000946667 0.000966667 0.000966667 0.00094 0.000946667 0.000966667 0.216 0.00098 +0.000933333 0.000913333 0.000946667 0.000966667 0.000953333 0.000933333 0.000933333 0.000926667 +0.000933333 0.000953333 0.00096 0.000953333 0.000946667 0.000933333 0.000913333 0.000906667 +0.000926667 0.000973333 0.000973333 0.000946667 0.00088 0.000913333 0.000933333 0.000906667 +0.000893333 0.00092 0.000866667 0.00084 0.0009 0.000906667 0.000913333 0.000906667 +0.000926667 0.000926667 0.000893333 0.00088 0.000846667 0.000833333 0.0009 0.0009 +0.00086 0.00084 0.000846667 0.00084 0.000853333 0.0009 0.000893333 0.000873333 +0.00092 0.000913333 0.000886667 0.000913333 0.000946667 0.00094 0.000886667 0.000853333 +0.00092 0.000906667 0.00088 0.000886667 0.000913333 0.000926667 0.000906667 0.000893333 +0.000873333 0.00086 0.000913333 0.00088 0.000886667 0.000906667 0.000906667 0.000913333 +0.000906667 0.00092 0.000893333 0.000906667 0.000926667 0.00096 0.000933333 0.000926667 +0.000953333 0.000933333 0.000893333 0.000906667 0.000926667 0.000933333 0.000946667 0.00094 +0.000926667 0.000893333 0.000926667 0.000946667 0.00092 0.0009 0.00092 0.000946667 +0.000906667 0.000913333 0.000946667 0.000973333 0.00096 0.000933333 0.000913333 0.000886667 +0.000933333 0.00096 0.000893333 0.00086 0.0009 0.000893333 0.000913333 0.000933333 +0.000926667 0.000906667 0.000866667 0.000866667 0.000926667 0.00094 0.00092 0.0009 +0.000926667 0.00094 0.0009 0.000893333 0.0009 0.00088 0.00092 0.00094 +0.000906667 0.0009 0.0009 0.000946667 0.000946667 0.000946667 0.00094 0.000906667 +0.000933333 0.00096 0.00096 0.000973333 0.00094 0.0009 0.000926667 0.000913333 +0.00096 0.000986667 0.000926667 0.000886667 0.000906667 0.00092 0.000926667 0.000946667 +0.000946667 0.000906667 0.00094 0.000953333 0.000973333 0.00096 0.00098 0.000953333 +0.000933333 0.000926667 0.000913333 0.000933333 0.0009 0.000886667 0.000833333 0.000833333 +0.00086 0.000893333 0.000933333 0.000893333 0.000866667 0.000933333 0.000913333 0.000946667 +0.000973333 0.000953333 0.000933333 0.000933333 0.000946667 0.00092 0.000926667 0.000953333 +0.000986667 0.000986667 0.000973333 0.00094 0.000933333 0.000946667 0.000966667 0.000993333 +0.000973333 0.000966667 0.216 0.216 0.00098 0.00098 0.000993333 0.217893 +0.000973333 0.000946667 0.00098 0.216 0.000966667 0.00098 0.00098 0.219787 +0.000986667 0.00098 0.000966667 0.00096 0.000966667 0.000966667 0.216 0.000993333 +0.000993333 0.22168 0.216 0.000966667 0.000986667 0.216 0.219787 0.22168 +0.219787 0.219787 0.216 0.219787 0.217893 0.000993333 0.217893 0.219787 +0.22168 0.22168 0.000986667 0.000993333 0.223573 0.225467 0.219787 0.216 +0.223573 0.225467 0.229253 0.22168 0.225467 0.22736 0.219787 0.223573 +0.22168 0.217893 0.22168 0.22168 0.216 0.219787 0.219787 0.22168 +0.223573 0.22736 0.225467 0.22736 0.234933 0.236827 0.236827 0.240613 +0.2444 0.257653 0.269013 0.2728 0.270907 0.291733 0.314453 0.344747 +0.416693 0.527789 0.632 0.784211 0.954105 1.01853 0.991755 0.829053 +0.657263 0.546105 0.484853 0.456453 0.498107 0.543579 0.642737 0.794316 +0.952211 1.02278 1.04661 1.05086 1.03845 0.989469 0.834105 0.657895 +0.527789 0.356107 0.26144 0.234933 0.217893 0.000986667 0.000973333 0.000933333 +0.00096 0.000973333 0.00094 0.00094 0.000913333 0.00088 0.000873333 0.000873333 +0.000906667 0.000906667 0.000893333 0.0009 0.000873333 0.000886667 0.000853333 0.000826667 +0.0008 0.000793333 0.000806667 0.00088 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000866667 0.000826667 0.000846667 +0.00092 0.00092 0.00088 0.000853333 0.00082 0.000786667 0.000786667 0.000786667 +0.000833333 0.00084 0.000853333 0.00088 0.000866667 0.000826667 0.00084 0.000853333 +0.000826667 0.000813333 0.000813333 0.000826667 0.000866667 0.0009 0.000913333 0.000913333 +0.000893333 0.000893333 0.000913333 0.00094 0.000973333 0.000993333 0.225467 0.25576 +0.333387 0.511368 0.638316 0.813895 0.982612 1.03682 1.0538 1.04563 +1.01559 0.926316 0.758316 0.613053 0.527789 0.47728 0.479173 0.530316 +0.623158 0.788632 0.966737 1.01298 0.969895 0.801895 0.632632 0.525263 +0.418587 0.344747 0.31256 0.286053 0.265227 0.259547 0.251973 0.251973 +0.240613 0.231147 0.23872 0.23872 0.231147 0.23872 0.236827 0.23304 +0.223573 0.219787 0.219787 0.223573 0.22736 0.23304 0.234933 0.23304 +0.23304 0.223573 0.22168 0.219787 0.225467 0.22168 0.225467 0.225467 +0.000993333 0.000966667 0.000973333 0.00098 0.000993333 0.219787 0.217893 0.217893 +0.000986667 0.000973333 0.000986667 0.000966667 0.000993333 0.219787 0.000993333 0.000986667 +0.216 0.216 0.216 0.00096 0.00096 0.219787 0.22168 0.22168 +0.219787 0.22168 0.22168 0.217893 0.216 0.00098 0.00096 0.000946667 +0.000946667 0.000966667 0.216 0.217893 0.000986667 0.000993333 0.00098 0.000946667 +0.000966667 0.000993333 0.000993333 0.000986667 0.00098 0.000966667 0.000973333 0.000986667 +0.000973333 0.00096 0.000973333 0.000946667 0.00094 0.000953333 0.000953333 0.000926667 +0.000966667 0.00098 0.000953333 0.000946667 0.000933333 0.000953333 0.216 0.000973333 +0.000913333 0.000913333 0.000966667 0.000966667 0.00094 0.000913333 0.00094 0.000946667 +0.00092 0.000953333 0.00096 0.000933333 0.00092 0.000906667 0.000886667 0.000906667 +0.000933333 0.000953333 0.000953333 0.000926667 0.000913333 0.000973333 0.000953333 0.000886667 +0.0009 0.0009 0.000846667 0.000873333 0.0009 0.00092 0.000933333 0.0009 +0.000926667 0.00092 0.000886667 0.00088 0.00082 0.000866667 0.000926667 0.000853333 +0.00084 0.00084 0.00084 0.000853333 0.000866667 0.000893333 0.000913333 0.00092 +0.000933333 0.00092 0.000906667 0.000893333 0.000893333 0.000926667 0.000886667 0.000873333 +0.00092 0.000886667 0.000866667 0.000886667 0.000933333 0.000946667 0.00092 0.000906667 +0.000866667 0.000846667 0.000906667 0.000873333 0.00088 0.000906667 0.00088 0.0009 +0.00092 0.000906667 0.00088 0.000926667 0.000926667 0.000946667 0.000913333 0.00094 +0.00094 0.0009 0.000853333 0.000913333 0.000953333 0.00094 0.00092 0.000933333 +0.00094 0.0009 0.000886667 0.000906667 0.000913333 0.000906667 0.000906667 0.000913333 +0.00092 0.00092 0.000953333 0.000986667 0.000966667 0.000933333 0.000906667 0.000906667 +0.000926667 0.00094 0.000913333 0.0009 0.000893333 0.000873333 0.000893333 0.000893333 +0.000913333 0.000906667 0.000853333 0.000866667 0.000926667 0.000953333 0.000946667 0.00092 +0.000913333 0.000926667 0.0009 0.000886667 0.000886667 0.000886667 0.000913333 0.000946667 +0.000906667 0.000913333 0.0009 0.000953333 0.000953333 0.00096 0.000913333 0.000886667 +0.000933333 0.000933333 0.000953333 0.000966667 0.000953333 0.000926667 0.00092 0.00094 +0.00098 0.000986667 0.00094 0.000906667 0.000906667 0.000926667 0.000913333 0.000913333 +0.00094 0.00092 0.00096 0.000986667 0.00096 0.000966667 0.000953333 0.000933333 +0.000933333 0.00094 0.000906667 0.00092 0.000913333 0.000906667 0.000873333 0.000873333 +0.000853333 0.000846667 0.000906667 0.0009 0.00088 0.00092 0.00092 0.00092 +0.000946667 0.000933333 0.000946667 0.000953333 0.000966667 0.000933333 0.00092 0.000953333 +0.000973333 0.00098 0.00098 0.000946667 0.000946667 0.000946667 0.000946667 0.216 +0.000966667 0.00096 0.000986667 0.219787 0.000986667 0.00098 0.00098 0.216 +0.217893 0.000973333 0.00096 0.216 0.00096 0.000973333 0.000993333 0.00098 +0.216 0.216 0.000993333 0.000966667 0.000946667 0.00098 0.217893 0.000986667 +0.000993333 0.22168 0.219787 0.000993333 0.00098 0.000986667 0.216 0.225467 +0.22168 0.225467 0.217893 0.000993333 0.217893 0.000966667 0.216 0.22168 +0.217893 0.22168 0.216 0.219787 0.225467 0.223573 0.217893 0.216 +0.217893 0.219787 0.22736 0.223573 0.22168 0.22168 0.000993333 0.22168 +0.231147 0.229253 0.22736 0.219787 0.000993333 0.22736 0.229253 0.223573 +0.22168 0.219787 0.231147 0.242507 0.2444 0.246293 0.240613 0.2444 +0.246293 0.251973 0.269013 0.280373 0.291733 0.31256 0.344747 0.422373 +0.529053 0.634526 0.795579 0.968 1.01951 0.987837 0.823368 0.649053 +0.541053 0.48864 0.458347 0.501895 0.554947 0.657895 0.811368 0.968 +1.02767 1.0489 1.05086 1.03518 0.984571 0.824 0.647158 0.518316 +0.354213 0.269013 0.231147 0.000993333 0.00094 0.00094 0.00096 0.000926667 +0.000933333 0.000993333 0.00096 0.00094 0.000906667 0.000893333 0.000866667 0.00086 +0.00086 0.00088 0.0009 0.0009 0.000853333 0.000853333 0.000846667 0.00082 +0.000813333 0.0008 0.000793333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000946667 0.000913333 +0.0009 0.000853333 0.00084 0.000826667 0.00078 0.0008 0.00078 0.000773333 +0.000833333 0.00084 0.000873333 0.00088 0.000846667 0.00082 0.000813333 0.00082 +0.00084 0.000826667 0.000826667 0.000853333 0.000866667 0.000873333 0.0009 0.000893333 +0.00086 0.00086 0.0009 0.00094 0.000946667 0.000966667 0.217893 0.23304 +0.26144 0.333387 0.508842 0.631368 0.807579 0.980327 1.03714 1.05184 +1.04694 1.01951 0.933263 0.764 0.616842 0.529053 0.4716 0.4716 +0.529053 0.628211 0.793684 0.969263 1.01559 0.968 0.789263 0.630105 +0.525895 0.412907 0.34096 0.304987 0.282267 0.2728 0.2728 0.265227 +0.248187 0.23872 0.23872 0.242507 0.234933 0.23872 0.234933 0.234933 +0.223573 0.22168 0.22736 0.229253 0.229253 0.23304 0.23304 0.22736 +0.22168 0.22168 0.219787 0.223573 0.231147 0.22168 0.216 0.00098 +0.000966667 0.000973333 0.000986667 0.000986667 0.216 0.000993333 0.217893 0.223573 +0.000986667 0.000973333 0.000986667 0.00098 0.000993333 0.000986667 0.000993333 0.000986667 +0.000993333 0.219787 0.000986667 0.00096 0.000993333 0.22736 0.217893 0.219787 +0.22168 0.22168 0.00098 0.000986667 0.00098 0.00096 0.000933333 0.00096 +0.00098 0.000966667 0.000986667 0.00098 0.000986667 0.000973333 0.000953333 0.00096 +0.00096 0.000973333 0.00098 0.216 0.00098 0.000966667 0.000973333 0.000986667 +0.000986667 0.00096 0.00096 0.000946667 0.000973333 0.216 0.00096 0.000926667 +0.216 0.000973333 0.000946667 0.000926667 0.00092 0.000946667 0.000973333 0.000953333 +0.00092 0.000926667 0.00096 0.000973333 0.00096 0.000933333 0.000926667 0.000946667 +0.000946667 0.000953333 0.00094 0.000913333 0.000906667 0.00092 0.000926667 0.000913333 +0.000926667 0.000933333 0.00092 0.000913333 0.000933333 0.000973333 0.000926667 0.000893333 +0.00092 0.0009 0.000866667 0.0009 0.000906667 0.00092 0.000926667 0.0009 +0.000906667 0.000886667 0.000886667 0.000846667 0.000806667 0.000886667 0.000893333 0.000853333 +0.000826667 0.000833333 0.00088 0.00088 0.0009 0.00094 0.000906667 0.000913333 +0.000953333 0.000913333 0.000926667 0.00092 0.000893333 0.000913333 0.000893333 0.000873333 +0.0009 0.000846667 0.00086 0.0009 0.000966667 0.000933333 0.000906667 0.0009 +0.000866667 0.00088 0.000913333 0.000873333 0.0009 0.000926667 0.0009 0.000893333 +0.000926667 0.00092 0.0009 0.000933333 0.000946667 0.000953333 0.00088 0.000906667 +0.000946667 0.0009 0.000866667 0.000906667 0.00094 0.000933333 0.00092 0.00092 +0.000906667 0.000906667 0.000893333 0.000886667 0.000906667 0.000906667 0.000926667 0.000906667 +0.000893333 0.000933333 0.000966667 0.000953333 0.000933333 0.00092 0.000926667 0.00092 +0.0009 0.000906667 0.000913333 0.000913333 0.000886667 0.000873333 0.000906667 0.000926667 +0.000913333 0.000893333 0.000886667 0.000893333 0.00094 0.000906667 0.0009 0.000926667 +0.000913333 0.000913333 0.0009 0.0009 0.0009 0.000913333 0.000946667 0.000946667 +0.000906667 0.00092 0.000946667 0.00096 0.000933333 0.00094 0.000913333 0.000906667 +0.00092 0.000926667 0.000946667 0.000973333 0.000953333 0.000913333 0.00094 0.00096 +0.00096 0.000946667 0.000946667 0.00092 0.0009 0.000933333 0.000926667 0.000926667 +0.00092 0.000913333 0.00094 0.000973333 0.00094 0.00096 0.000926667 0.000926667 +0.00094 0.000946667 0.000913333 0.000926667 0.000946667 0.00094 0.000906667 0.0009 +0.000913333 0.00088 0.0009 0.000926667 0.0009 0.000906667 0.0009 0.00088 +0.000913333 0.00092 0.000926667 0.000946667 0.000966667 0.000933333 0.000906667 0.00092 +0.00094 0.000973333 0.000953333 0.000966667 0.00096 0.000946667 0.00094 0.000993333 +0.000973333 0.00096 0.000973333 0.00098 0.000973333 0.00098 0.000966667 0.000966667 +0.000973333 0.000973333 0.000966667 0.000986667 0.000966667 0.00096 0.00098 0.00098 +0.000986667 0.216 0.219787 0.00098 0.000953333 0.000986667 0.217893 0.00098 +0.00098 0.000993333 0.217893 0.216 0.000973333 0.000986667 0.22168 0.219787 +0.216 0.216 0.000986667 0.000993333 0.219787 0.000986667 0.217893 0.216 +0.000993333 0.216 0.000986667 0.22168 0.225467 0.225467 0.219787 0.000973333 +0.000973333 0.219787 0.231147 0.231147 0.22168 0.217893 0.00098 0.217893 +0.231147 0.242507 0.234933 0.229253 0.22168 0.223573 0.225467 0.229253 +0.23304 0.225467 0.229253 0.236827 0.2444 0.242507 0.2444 0.253867 +0.259547 0.263333 0.2728 0.297413 0.316347 0.34096 0.416693 0.534105 +0.641474 0.8 0.971789 1.02114 0.983265 0.809474 0.643368 0.541053 +0.486747 0.46592 0.509474 0.561895 0.670526 0.829053 0.980653 1.03192 +1.05086 1.05249 1.0342 0.970526 0.803158 0.635158 0.513895 0.339067 +0.265227 0.234933 0.216 0.000953333 0.00096 0.000966667 0.00096 0.000926667 +0.000886667 0.00094 0.000933333 0.00092 0.000893333 0.000873333 0.000893333 0.000893333 +0.000833333 0.000826667 0.000873333 0.000913333 0.00088 0.00084 0.000826667 0.000813333 +0.000806667 0.000813333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00094 +0.000866667 0.00084 0.000853333 0.000806667 0.0008 0.000826667 0.000793333 0.000813333 +0.00084 0.00084 0.00086 0.000826667 0.00082 0.000806667 0.000813333 0.000833333 +0.00084 0.000833333 0.000813333 0.000846667 0.000853333 0.000846667 0.000846667 0.000846667 +0.00088 0.0009 0.000913333 0.00094 0.000926667 0.000946667 0.000986667 0.217893 +0.236827 0.26144 0.327707 0.504421 0.624421 0.796842 0.973053 1.03355 +1.05216 1.04727 1.02049 0.940842 0.775368 0.624421 0.530316 0.4716 +0.469707 0.531579 0.626947 0.785474 0.962316 1.01004 0.957895 0.795579 +0.637053 0.525263 0.407227 0.344747 0.314453 0.293627 0.282267 0.269013 +0.259547 0.248187 0.242507 0.2444 0.240613 0.2444 0.23872 0.22736 +0.223573 0.229253 0.229253 0.231147 0.229253 0.23304 0.225467 0.223573 +0.217893 0.217893 0.219787 0.225467 0.223573 0.000986667 0.000966667 0.000986667 +0.00098 0.000993333 0.217893 0.219787 0.223573 0.217893 0.219787 0.223573 +0.000986667 0.00098 0.000993333 0.000973333 0.000973333 0.000993333 0.219787 0.219787 +0.219787 0.216 0.00098 0.000993333 0.22168 0.217893 0.000986667 0.216 +0.22168 0.000993333 0.000966667 0.000986667 0.00098 0.000966667 0.00096 0.000986667 +0.000986667 0.00096 0.000966667 0.216 0.000993333 0.00096 0.00096 0.00096 +0.000973333 0.000973333 0.000966667 0.000993333 0.000966667 0.000966667 0.000966667 0.000986667 +0.22168 0.000986667 0.00096 0.000966667 0.000986667 0.217893 0.000946667 0.000953333 +0.000986667 0.00094 0.000933333 0.00094 0.000946667 0.000946667 0.000946667 0.000933333 +0.000926667 0.00094 0.000933333 0.000926667 0.00096 0.000946667 0.000906667 0.000926667 +0.000966667 0.000946667 0.000906667 0.000906667 0.00092 0.000933333 0.000953333 0.00092 +0.000906667 0.000946667 0.00092 0.00088 0.000933333 0.000926667 0.0009 0.0009 +0.000926667 0.0009 0.000893333 0.00092 0.000906667 0.000906667 0.0009 0.0009 +0.000906667 0.000866667 0.00086 0.000833333 0.000813333 0.000873333 0.0009 0.000846667 +0.00084 0.000866667 0.0009 0.00094 0.00096 0.000966667 0.000913333 0.000906667 +0.000933333 0.0009 0.000893333 0.000886667 0.000926667 0.000913333 0.00088 0.000906667 +0.0009 0.000833333 0.00088 0.000906667 0.000946667 0.000886667 0.0009 0.000893333 +0.00086 0.000893333 0.000906667 0.000873333 0.000906667 0.000926667 0.000893333 0.000906667 +0.0009 0.000893333 0.000913333 0.000933333 0.000953333 0.000946667 0.000886667 0.000913333 +0.000933333 0.000906667 0.000866667 0.000893333 0.000926667 0.00092 0.00092 0.000933333 +0.000893333 0.000906667 0.000906667 0.000933333 0.000893333 0.000913333 0.000953333 0.000926667 +0.000906667 0.000926667 0.00094 0.000926667 0.000906667 0.000906667 0.00092 0.000886667 +0.000886667 0.0009 0.000913333 0.000893333 0.0009 0.000906667 0.00094 0.00094 +0.000913333 0.000886667 0.000886667 0.000906667 0.000906667 0.00086 0.00086 0.000926667 +0.00092 0.000933333 0.000906667 0.000913333 0.0009 0.00092 0.000933333 0.00094 +0.0009 0.000906667 0.000926667 0.000926667 0.000893333 0.0009 0.000933333 0.000926667 +0.00092 0.00094 0.00094 0.000973333 0.000966667 0.000913333 0.000946667 0.00094 +0.0009 0.000906667 0.00092 0.000933333 0.00094 0.00096 0.000946667 0.000973333 +0.00096 0.000913333 0.00092 0.000966667 0.000953333 0.000946667 0.000926667 0.000953333 +0.000953333 0.000933333 0.0009 0.00092 0.00094 0.00094 0.00092 0.00092 +0.00096 0.000913333 0.000906667 0.000933333 0.0009 0.000926667 0.000913333 0.000866667 +0.000886667 0.00092 0.000913333 0.00092 0.000946667 0.00094 0.0009 0.000913333 +0.000946667 0.000966667 0.000946667 0.00096 0.000926667 0.000913333 0.00094 0.000973333 +0.000966667 0.000973333 0.00098 0.000946667 0.000953333 0.00098 0.000953333 0.00098 +0.00098 0.000966667 0.00096 0.000946667 0.000973333 0.000966667 0.000953333 0.00096 +0.000966667 0.000953333 0.000993333 0.000993333 0.000973333 0.000973333 0.00098 0.000986667 +0.216 0.000986667 0.217893 0.217893 0.00098 0.000986667 0.223573 0.216 +0.216 0.22168 0.000973333 0.00098 0.000993333 0.216 0.22168 0.217893 +0.000993333 0.000986667 0.00098 0.217893 0.217893 0.219787 0.225467 0.216 +0.217893 0.219787 0.223573 0.223573 0.217893 0.219787 0.000993333 0.00098 +0.219787 0.23872 0.236827 0.23872 0.231147 0.223573 0.219787 0.231147 +0.23872 0.231147 0.231147 0.242507 0.2444 0.246293 0.253867 0.26144 +0.2728 0.28416 0.28416 0.310667 0.35232 0.416693 0.527158 0.641474 +0.808211 0.977474 1.01886 0.978105 0.804421 0.640211 0.536632 0.479173 +0.475387 0.515158 0.572 0.682526 0.841684 0.987184 1.03453 1.05086 +1.05053 1.02963 0.958526 0.784842 0.62 0.505684 0.33528 0.259547 +0.23872 0.219787 0.000946667 0.000926667 0.00094 0.000973333 0.000973333 0.000933333 +0.000886667 0.0009 0.0009 0.000906667 0.000913333 0.00088 0.00086 0.00088 +0.00088 0.000866667 0.000866667 0.000913333 0.000906667 0.00086 0.000813333 0.000826667 +0.000813333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000913333 0.000853333 0.000833333 0.000806667 0.000826667 0.000813333 0.00076 0.000773333 +0.0008 0.000826667 0.000826667 0.000833333 0.000846667 0.00084 0.000833333 0.00082 +0.000826667 0.000813333 0.000813333 0.00084 0.000853333 0.000833333 0.000826667 0.000866667 +0.000886667 0.000893333 0.000893333 0.000926667 0.00092 0.000933333 0.000966667 0.216 +0.22168 0.236827 0.26144 0.320133 0.486747 0.612421 0.786737 0.968632 +1.03322 1.05118 1.04857 1.02441 0.947158 0.777895 0.631368 0.537263 +0.479173 0.473493 0.529053 0.621895 0.783579 0.962316 1.012 0.967368 +0.801895 0.638947 0.530316 0.422373 0.348533 0.314453 0.297413 0.276587 +0.263333 0.259547 0.248187 0.240613 0.2444 0.25576 0.236827 0.223573 +0.229253 0.229253 0.229253 0.23872 0.234933 0.225467 0.217893 0.217893 +0.000993333 0.219787 0.223573 0.22736 0.22168 0.216 0.000986667 0.216 +0.216 0.00098 0.217893 0.22168 0.223573 0.225467 0.22168 0.217893 +0.000973333 0.000993333 0.216 0.00098 0.217893 0.223573 0.219787 0.217893 +0.216 0.000993333 0.000966667 0.000993333 0.225467 0.216 0.00098 0.00098 +0.000986667 0.000966667 0.000986667 0.219787 0.00098 0.000946667 0.000946667 0.000973333 +0.000993333 0.00096 0.00096 0.217893 0.00098 0.000966667 0.00098 0.000966667 +0.00098 0.00096 0.000966667 0.000986667 0.00096 0.000953333 0.00094 0.000986667 +0.22168 0.000986667 0.000953333 0.000966667 0.000993333 0.00098 0.00096 0.00098 +0.000966667 0.000946667 0.00094 0.00096 0.000966667 0.00096 0.000926667 0.00092 +0.000946667 0.000973333 0.00094 0.000933333 0.00096 0.000953333 0.000926667 0.000913333 +0.000926667 0.000913333 0.000886667 0.000886667 0.00092 0.000933333 0.000946667 0.000913333 +0.00092 0.000946667 0.000913333 0.000906667 0.00094 0.00092 0.000893333 0.0009 +0.000913333 0.00088 0.000906667 0.000926667 0.000913333 0.000886667 0.00088 0.00092 +0.00086 0.000826667 0.00086 0.000813333 0.000833333 0.000906667 0.000893333 0.000893333 +0.000866667 0.000873333 0.000933333 0.000946667 0.000953333 0.000926667 0.000893333 0.00094 +0.000913333 0.000866667 0.000906667 0.000893333 0.00092 0.0009 0.000893333 0.000913333 +0.000906667 0.000886667 0.000926667 0.0009 0.0009 0.00086 0.000906667 0.000886667 +0.000866667 0.000926667 0.00092 0.00088 0.000893333 0.0009 0.000886667 0.000933333 +0.000906667 0.00088 0.000913333 0.000946667 0.000926667 0.000906667 0.000886667 0.000933333 +0.000913333 0.000873333 0.00088 0.000913333 0.000933333 0.0009 0.000906667 0.000926667 +0.000873333 0.00086 0.00092 0.00094 0.000906667 0.000906667 0.00094 0.000913333 +0.000913333 0.000913333 0.000906667 0.000893333 0.000893333 0.00088 0.000873333 0.000886667 +0.000913333 0.00092 0.000906667 0.00088 0.0009 0.000926667 0.000926667 0.0009 +0.000886667 0.000873333 0.000886667 0.000886667 0.00092 0.000933333 0.0009 0.000926667 +0.000933333 0.000926667 0.0009 0.000906667 0.000926667 0.000933333 0.000953333 0.00094 +0.0009 0.00088 0.000906667 0.00092 0.000893333 0.000926667 0.00098 0.000946667 +0.000913333 0.000933333 0.00096 0.00096 0.00096 0.000946667 0.000953333 0.00094 +0.00092 0.00094 0.00092 0.000953333 0.00096 0.000933333 0.000946667 0.000966667 +0.000993333 0.000966667 0.000913333 0.000966667 0.000986667 0.00094 0.000926667 0.00096 +0.000953333 0.000913333 0.000906667 0.0009 0.000926667 0.00094 0.00094 0.000933333 +0.000953333 0.000913333 0.00092 0.000953333 0.000913333 0.000933333 0.000933333 0.000886667 +0.000906667 0.00094 0.000933333 0.00092 0.000926667 0.00094 0.000893333 0.000893333 +0.000926667 0.000933333 0.000953333 0.00098 0.00092 0.00088 0.000926667 0.00094 +0.000953333 0.000953333 0.000966667 0.000953333 0.000946667 0.000966667 0.000933333 0.000973333 +0.000993333 0.000993333 0.00098 0.000933333 0.000973333 0.000973333 0.00094 0.000953333 +0.000966667 0.000926667 0.00096 0.00098 0.00098 0.000986667 0.00098 0.00098 +0.217893 0.217893 0.217893 0.219787 0.219787 0.00098 0.000993333 0.216 +0.217893 0.219787 0.000986667 0.000993333 0.217893 0.216 0.223573 0.000993333 +0.000993333 0.000973333 0.000993333 0.219787 0.219787 0.216 0.223573 0.22168 +0.225467 0.229253 0.217893 0.216 0.22168 0.216 0.219787 0.216 +0.22168 0.234933 0.236827 0.22736 0.231147 0.229253 0.219787 0.231147 +0.242507 0.236827 0.236827 0.248187 0.246293 0.251973 0.26144 0.276587 +0.282267 0.3012 0.31256 0.34096 0.429947 0.534105 0.638947 0.807579 +0.981633 1.01722 0.967368 0.788632 0.630737 0.537895 0.47728 0.4716 +0.522105 0.585895 0.702737 0.861263 0.994694 1.03812 1.05184 1.04955 +1.02637 0.943368 0.764632 0.604842 0.492427 0.31256 0.25576 0.229253 +0.216 0.00098 0.00096 0.000966667 0.000946667 0.000946667 0.00096 0.000933333 +0.00088 0.000873333 0.000886667 0.000886667 0.0009 0.000893333 0.000866667 0.000866667 +0.00088 0.000893333 0.00088 0.000913333 0.000926667 0.0009 0.00084 0.000833333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.0009 0.000806667 0.00078 0.000793333 0.000793333 0.00078 0.000793333 +0.00082 0.00084 0.000826667 0.000826667 0.000833333 0.000826667 0.000813333 0.000813333 +0.000826667 0.00082 0.000826667 0.00084 0.000826667 0.000813333 0.000833333 0.00088 +0.000853333 0.00086 0.000866667 0.000913333 0.00092 0.000933333 0.00096 0.000973333 +0.00096 0.000993333 0.229253 0.248187 0.316347 0.48296 0.606737 0.779158 +0.959789 1.03159 1.05216 1.04955 1.02539 0.954105 0.791158 0.640211 +0.539789 0.479173 0.467813 0.530316 0.630105 0.795579 0.968 1.01363 +0.971158 0.807579 0.644632 0.528421 0.40912 0.342853 0.31824 0.297413 +0.280373 0.270907 0.257653 0.257653 0.25008 0.23872 0.231147 0.234933 +0.234933 0.23304 0.236827 0.236827 0.225467 0.000986667 0.217893 0.217893 +0.22168 0.22736 0.231147 0.23304 0.229253 0.216 0.000986667 0.217893 +0.22168 0.216 0.219787 0.216 0.223573 0.22168 0.000993333 0.000973333 +0.000966667 0.000986667 0.00098 0.000993333 0.223573 0.219787 0.219787 0.22168 +0.216 0.000986667 0.217893 0.22168 0.216 0.000986667 0.00098 0.000966667 +0.00098 0.000986667 0.22168 0.219787 0.000966667 0.000946667 0.000966667 0.000973333 +0.00098 0.00098 0.00098 0.000993333 0.000953333 0.000953333 0.00098 0.00098 +0.000966667 0.000966667 0.000986667 0.000966667 0.000973333 0.00096 0.00096 0.216 +0.000993333 0.000966667 0.000946667 0.000986667 0.219787 0.000953333 0.00096 0.000966667 +0.00094 0.00092 0.00092 0.000966667 0.000953333 0.00094 0.00092 0.000933333 +0.00098 0.00098 0.00094 0.000953333 0.00096 0.00094 0.00094 0.000933333 +0.00092 0.00092 0.000893333 0.000893333 0.000926667 0.000946667 0.000953333 0.000926667 +0.000933333 0.000926667 0.000893333 0.00092 0.00096 0.000926667 0.0009 0.000913333 +0.0009 0.000866667 0.00088 0.000886667 0.000873333 0.000906667 0.000893333 0.000886667 +0.00086 0.000846667 0.00082 0.00084 0.000906667 0.00094 0.000933333 0.000933333 +0.000913333 0.0009 0.000906667 0.00094 0.000966667 0.00094 0.00092 0.000933333 +0.000893333 0.000893333 0.00092 0.0009 0.000913333 0.000893333 0.00086 0.00092 +0.000933333 0.000906667 0.000933333 0.000926667 0.000906667 0.000873333 0.000913333 0.000886667 +0.00088 0.00094 0.000926667 0.00088 0.000893333 0.0009 0.00092 0.00096 +0.000933333 0.000913333 0.000913333 0.00094 0.00094 0.00088 0.0009 0.000953333 +0.000886667 0.000853333 0.000893333 0.000933333 0.000933333 0.000906667 0.0009 0.000873333 +0.000853333 0.000893333 0.000913333 0.000926667 0.000906667 0.00092 0.000926667 0.000893333 +0.0009 0.000893333 0.000893333 0.000906667 0.000906667 0.000893333 0.0009 0.00092 +0.00092 0.00092 0.0009 0.00084 0.000886667 0.00092 0.0009 0.000886667 +0.000886667 0.0009 0.0009 0.000886667 0.00092 0.00096 0.000933333 0.000933333 +0.000933333 0.000926667 0.0009 0.000933333 0.000926667 0.00092 0.000953333 0.00096 +0.000926667 0.000893333 0.00092 0.000893333 0.000906667 0.000933333 0.000973333 0.000933333 +0.000886667 0.000906667 0.000953333 0.000966667 0.000973333 0.000973333 0.000946667 0.00094 +0.000953333 0.00096 0.000946667 0.000966667 0.00092 0.000906667 0.00094 0.000953333 +0.219787 0.00098 0.000893333 0.00094 0.000966667 0.000926667 0.000946667 0.000946667 +0.000926667 0.00092 0.00094 0.000933333 0.00094 0.000966667 0.000973333 0.000953333 +0.000946667 0.000946667 0.00094 0.000966667 0.00092 0.000906667 0.000926667 0.000913333 +0.00092 0.00096 0.000966667 0.000946667 0.000913333 0.00092 0.000886667 0.000886667 +0.00092 0.000906667 0.000953333 0.000986667 0.00094 0.00092 0.000913333 0.000933333 +0.00096 0.000933333 0.000946667 0.00096 0.000933333 0.000933333 0.000926667 0.00096 +0.000966667 0.00096 0.000966667 0.00096 0.000986667 0.000986667 0.000946667 0.000926667 +0.000953333 0.00094 0.00096 0.000986667 0.00098 0.00098 0.00096 0.000986667 +0.000986667 0.217893 0.000993333 0.217893 0.225467 0.000993333 0.00096 0.000986667 +0.217893 0.219787 0.000986667 0.22168 0.223573 0.22168 0.223573 0.217893 +0.000993333 0.000966667 0.000986667 0.223573 0.225467 0.22168 0.000986667 0.216 +0.217893 0.23304 0.22736 0.225467 0.225467 0.217893 0.219787 0.22168 +0.231147 0.23872 0.236827 0.22168 0.22736 0.231147 0.225467 0.231147 +0.236827 0.242507 0.2444 0.248187 0.251973 0.253867 0.263333 0.282267 +0.29552 0.31824 0.359893 0.45456 0.548632 0.659158 0.819579 0.981633 +1.01755 0.960421 0.780421 0.626947 0.530947 0.484853 0.475387 0.517684 +0.587789 0.717895 0.882737 1.00318 1.04139 1.05314 1.05086 1.02114 +0.926316 0.746947 0.589684 0.464027 0.310667 0.25008 0.22736 0.000973333 +0.000946667 0.000926667 0.000953333 0.000993333 0.00098 0.000953333 0.00094 0.000906667 +0.00086 0.000853333 0.00086 0.000866667 0.000846667 0.000853333 0.000873333 0.000886667 +0.00088 0.000886667 0.000866667 0.000893333 0.000906667 0.000906667 0.00088 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00088 0.00076 0.00076 0.0008 0.000786667 0.000806667 +0.00082 0.00084 0.00084 0.000833333 0.000813333 0.00082 0.000826667 0.000813333 +0.0008 0.000813333 0.000826667 0.00082 0.00082 0.000833333 0.00086 0.00084 +0.000826667 0.000853333 0.000873333 0.0009 0.000873333 0.000906667 0.00094 0.000926667 +0.000913333 0.000953333 0.217893 0.240613 0.26144 0.31256 0.462133 0.593474 +0.763368 0.950316 1.02963 1.05314 1.05053 1.028 0.964211 0.802526 +0.645263 0.542947 0.490533 0.48864 0.536632 0.633895 0.797474 0.972421 +1.01461 0.973053 0.810105 0.644 0.528421 0.411013 0.344747 0.322027 +0.308773 0.28416 0.26712 0.270907 0.25008 0.240613 0.240613 0.236827 +0.236827 0.240613 0.236827 0.22736 0.216 0.000993333 0.217893 0.225467 +0.231147 0.229253 0.225467 0.22736 0.225467 0.223573 0.219787 0.22168 +0.22168 0.000993333 0.000993333 0.000986667 0.217893 0.22168 0.000986667 0.00096 +0.000986667 0.000973333 0.00098 0.223573 0.223573 0.22168 0.223573 0.223573 +0.00098 0.000973333 0.219787 0.216 0.000953333 0.000946667 0.000973333 0.000993333 +0.000993333 0.217893 0.22168 0.000986667 0.000966667 0.00096 0.00098 0.000986667 +0.00098 0.216 0.000986667 0.00098 0.000966667 0.000966667 0.000993333 0.000973333 +0.00094 0.000966667 0.000966667 0.000953333 0.000986667 0.000973333 0.000993333 0.000973333 +0.000926667 0.000953333 0.000953333 0.000986667 0.000986667 0.000933333 0.000953333 0.000946667 +0.000926667 0.000906667 0.000946667 0.00098 0.000966667 0.000946667 0.000946667 0.00096 +0.00098 0.000966667 0.000953333 0.000953333 0.000926667 0.000946667 0.000953333 0.00096 +0.00092 0.0009 0.000893333 0.000906667 0.000933333 0.000946667 0.000946667 0.000933333 +0.000946667 0.00092 0.000913333 0.000953333 0.00094 0.000913333 0.000906667 0.000913333 +0.000873333 0.00084 0.00084 0.000833333 0.000853333 0.000906667 0.0009 0.000906667 +0.000893333 0.00088 0.000846667 0.000886667 0.00098 0.000973333 0.000913333 0.00092 +0.00092 0.00092 0.0009 0.000946667 0.00098 0.000933333 0.00092 0.000946667 +0.000886667 0.000893333 0.00092 0.00092 0.0009 0.000886667 0.000906667 0.000953333 +0.000913333 0.000893333 0.00092 0.000933333 0.000906667 0.0009 0.000933333 0.00092 +0.000886667 0.000913333 0.000893333 0.00088 0.0009 0.000886667 0.000926667 0.000933333 +0.000926667 0.000926667 0.000913333 0.00092 0.000913333 0.000886667 0.00092 0.000946667 +0.000873333 0.000853333 0.000866667 0.000893333 0.00094 0.000933333 0.0009 0.00086 +0.000846667 0.00088 0.00092 0.00092 0.000893333 0.00094 0.000946667 0.000873333 +0.00088 0.000913333 0.000933333 0.000953333 0.00094 0.000906667 0.000913333 0.000933333 +0.000926667 0.000906667 0.00088 0.000853333 0.000886667 0.00092 0.0009 0.000893333 +0.000926667 0.000926667 0.0009 0.0009 0.00094 0.000933333 0.000926667 0.000933333 +0.000933333 0.000913333 0.0009 0.000926667 0.00092 0.00092 0.00098 0.00096 +0.000933333 0.0009 0.0009 0.00088 0.00092 0.000966667 0.000966667 0.000933333 +0.0009 0.0009 0.00094 0.000966667 0.000973333 0.000946667 0.000933333 0.000953333 +0.000913333 0.000926667 0.000973333 0.000946667 0.00092 0.00088 0.00092 0.000946667 +0.000993333 0.216 0.00092 0.000926667 0.000953333 0.000966667 0.000973333 0.00092 +0.0009 0.000926667 0.00096 0.000953333 0.00094 0.000973333 0.00098 0.00096 +0.000953333 0.00096 0.000946667 0.000973333 0.000953333 0.000926667 0.000946667 0.000933333 +0.000933333 0.00096 0.00098 0.000953333 0.00092 0.000933333 0.00092 0.00088 +0.000906667 0.000886667 0.00092 0.000953333 0.000933333 0.00094 0.0009 0.00092 +0.000953333 0.000913333 0.00092 0.000946667 0.000926667 0.000926667 0.000946667 0.000966667 +0.000953333 0.000913333 0.00094 0.000966667 0.00098 0.000993333 0.00098 0.00094 +0.00094 0.00094 0.00094 0.00098 0.000993333 0.00098 0.00098 0.000993333 +0.000986667 0.217893 0.000993333 0.217893 0.229253 0.22736 0.00098 0.000966667 +0.000973333 0.000993333 0.000986667 0.000986667 0.219787 0.219787 0.000993333 0.223573 +0.223573 0.000973333 0.00098 0.223573 0.225467 0.223573 0.000986667 0.000986667 +0.22168 0.22736 0.22736 0.229253 0.229253 0.22168 0.225467 0.23304 +0.234933 0.234933 0.234933 0.229253 0.231147 0.229253 0.229253 0.236827 +0.23304 0.242507 0.253867 0.259547 0.259547 0.270907 0.27848 0.297413 +0.316347 0.356107 0.462133 0.565684 0.687579 0.841684 0.989143 1.01592 +0.950947 0.776632 0.621263 0.532211 0.492427 0.490533 0.524632 0.591579 +0.726105 0.894737 1.00841 1.04531 1.05478 1.04922 1.01722 0.914316 +0.729895 0.574526 0.433733 0.299307 0.248187 0.23872 0.225467 0.00096 +0.00094 0.00094 0.000966667 0.000966667 0.000946667 0.000946667 0.000906667 0.000886667 +0.000846667 0.000853333 0.00086 0.00084 0.00084 0.000833333 0.00082 0.000853333 +0.00088 0.00088 0.00084 0.00086 0.000913333 0.0009 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000826667 0.000746667 0.00078 0.000773333 0.00082 +0.00082 0.000853333 0.000866667 0.00084 0.000813333 0.000806667 0.000806667 0.000806667 +0.00082 0.000833333 0.000813333 0.000793333 0.000833333 0.000873333 0.000866667 0.00084 +0.00084 0.000846667 0.000846667 0.00086 0.000866667 0.000906667 0.000926667 0.00094 +0.00092 0.00094 0.000966667 0.216 0.22736 0.251973 0.299307 0.441307 +0.587789 0.757053 0.945263 1.02735 1.0502 1.05151 1.03224 0.976211 +0.808842 0.650316 0.546737 0.49432 0.484853 0.536632 0.638316 0.802526 +0.973053 1.01527 0.976842 0.813263 0.647158 0.527789 0.40912 0.350427 +0.320133 0.293627 0.282267 0.274693 0.263333 0.26144 0.251973 0.240613 +0.234933 0.234933 0.23304 0.22736 0.225467 0.223573 0.22168 0.23304 +0.22736 0.22736 0.23304 0.229253 0.231147 0.225467 0.22736 0.219787 +0.000993333 0.000993333 0.219787 0.000993333 0.00098 0.000993333 0.00098 0.00098 +0.217893 0.000993333 0.219787 0.22736 0.223573 0.217893 0.217893 0.000986667 +0.00096 0.000986667 0.22736 0.216 0.00096 0.000953333 0.000993333 0.000986667 +0.000966667 0.000993333 0.00098 0.00098 0.216 0.00098 0.00098 0.000966667 +0.00098 0.000993333 0.00096 0.00098 0.000973333 0.00096 0.216 0.000973333 +0.000946667 0.00096 0.000953333 0.00096 0.00098 0.000973333 0.000986667 0.000933333 +0.00092 0.000953333 0.000973333 0.000973333 0.000933333 0.000926667 0.000946667 0.00096 +0.00092 0.000913333 0.00098 0.000986667 0.000953333 0.000946667 0.00096 0.00098 +0.00098 0.00096 0.000973333 0.000953333 0.00092 0.00094 0.000946667 0.000933333 +0.000913333 0.0009 0.000926667 0.000973333 0.000946667 0.000926667 0.000953333 0.000933333 +0.000933333 0.00092 0.000906667 0.000953333 0.000946667 0.0009 0.000906667 0.000873333 +0.000833333 0.00084 0.000846667 0.000866667 0.000853333 0.000873333 0.000913333 0.000906667 +0.0009 0.0009 0.000886667 0.000926667 0.00096 0.000913333 0.000913333 0.000933333 +0.000933333 0.00092 0.000913333 0.000946667 0.000933333 0.00092 0.000953333 0.000933333 +0.000866667 0.00092 0.000926667 0.000933333 0.00094 0.000926667 0.000906667 0.000933333 +0.000886667 0.000906667 0.000933333 0.000926667 0.000886667 0.00092 0.00094 0.00092 +0.0009 0.000913333 0.000873333 0.000886667 0.00092 0.000866667 0.000893333 0.000906667 +0.000913333 0.000893333 0.000893333 0.00092 0.00092 0.000913333 0.00094 0.000906667 +0.000866667 0.000866667 0.00086 0.000893333 0.000926667 0.000913333 0.000906667 0.00086 +0.000846667 0.00086 0.000906667 0.000906667 0.000886667 0.000926667 0.000913333 0.000873333 +0.000906667 0.000913333 0.000946667 0.000953333 0.000926667 0.0009 0.00088 0.000906667 +0.000926667 0.0009 0.00088 0.000873333 0.00092 0.000953333 0.00092 0.000933333 +0.000946667 0.000926667 0.0009 0.00092 0.00094 0.000926667 0.000893333 0.000906667 +0.000933333 0.000913333 0.000893333 0.000893333 0.00092 0.000953333 0.000986667 0.00096 +0.000933333 0.000906667 0.000893333 0.00088 0.000913333 0.00096 0.000953333 0.000893333 +0.000906667 0.000933333 0.000946667 0.000986667 0.00098 0.00094 0.000933333 0.000953333 +0.00092 0.00092 0.000953333 0.00094 0.000933333 0.0009 0.000946667 0.000946667 +0.000946667 0.000986667 0.000946667 0.000933333 0.000966667 0.000973333 0.00096 0.00092 +0.000906667 0.00094 0.000953333 0.000933333 0.000913333 0.000926667 0.00096 0.000953333 +0.000946667 0.000953333 0.000953333 0.00098 0.000993333 0.000966667 0.000933333 0.000926667 +0.00094 0.00096 0.000966667 0.000946667 0.000926667 0.000933333 0.000953333 0.0009 +0.000893333 0.0009 0.000913333 0.000933333 0.000933333 0.000926667 0.000906667 0.00092 +0.000966667 0.000933333 0.000913333 0.000913333 0.000913333 0.000913333 0.00094 0.000973333 +0.000966667 0.000913333 0.000913333 0.000953333 0.000953333 0.000986667 0.219787 0.000973333 +0.000946667 0.00096 0.000966667 0.00096 0.000993333 0.00098 0.000986667 0.217893 +0.000986667 0.000973333 0.000986667 0.22168 0.22168 0.229253 0.219787 0.000993333 +0.216 0.000986667 0.000993333 0.000973333 0.000973333 0.217893 0.000986667 0.217893 +0.217893 0.000966667 0.000973333 0.223573 0.229253 0.225467 0.219787 0.216 +0.22168 0.219787 0.229253 0.231147 0.229253 0.223573 0.225467 0.231147 +0.234933 0.23304 0.23872 0.2444 0.240613 0.23304 0.236827 0.2444 +0.242507 0.246293 0.263333 0.269013 0.274693 0.28984 0.3012 0.322027 +0.367467 0.479173 0.570737 0.703368 0.868842 0.996653 1.01624 0.942737 +0.763368 0.618105 0.531579 0.48296 0.486747 0.527158 0.605474 0.736211 +0.907368 1.01298 1.04596 1.05641 1.05086 1.01265 0.893474 0.713474 +0.562526 0.412907 0.29552 0.251973 0.231147 0.216 0.00098 0.000973333 +0.000966667 0.000946667 0.000926667 0.00092 0.000913333 0.00092 0.000886667 0.000873333 +0.000846667 0.000873333 0.000873333 0.000826667 0.000813333 0.000833333 0.000846667 0.00084 +0.00086 0.000866667 0.000846667 0.000833333 0.000886667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.00084 0.000766667 0.000786667 0.000853333 +0.00086 0.000853333 0.000813333 0.00078 0.000793333 0.000806667 0.0008 0.00084 +0.000866667 0.000846667 0.000806667 0.00082 0.00082 0.000826667 0.00084 0.00084 +0.000813333 0.000826667 0.000846667 0.000846667 0.00088 0.0009 0.000913333 0.000933333 +0.00092 0.000913333 0.000926667 0.000953333 0.000986667 0.23304 0.251973 0.303093 +0.439413 0.582737 0.749474 0.933263 1.02539 1.05216 1.05347 1.03682 +0.981959 0.815789 0.651579 0.543579 0.498107 0.492427 0.537895 0.641474 +0.806316 0.972421 1.01429 0.977474 0.812632 0.642737 0.529053 0.416693 +0.344747 0.322027 0.30688 0.286053 0.270907 0.265227 0.259547 0.2444 +0.23304 0.234933 0.234933 0.231147 0.229253 0.231147 0.231147 0.236827 +0.23304 0.236827 0.231147 0.231147 0.22736 0.223573 0.22168 0.217893 +0.219787 0.219787 0.216 0.000993333 0.000993333 0.000993333 0.000993333 0.00098 +0.000993333 0.216 0.219787 0.223573 0.219787 0.216 0.000986667 0.000966667 +0.000993333 0.217893 0.219787 0.000986667 0.000993333 0.216 0.00098 0.000973333 +0.00098 0.00098 0.000986667 0.217893 0.000986667 0.000966667 0.00098 0.00098 +0.000993333 0.00098 0.000953333 0.00096 0.000973333 0.00098 0.000993333 0.00098 +0.00096 0.000933333 0.00092 0.000953333 0.000966667 0.000986667 0.000953333 0.000906667 +0.000933333 0.000966667 0.00098 0.000926667 0.000926667 0.000953333 0.000946667 0.00096 +0.00092 0.00094 0.00098 0.000966667 0.000926667 0.00092 0.00094 0.000946667 +0.000946667 0.00096 0.00096 0.00094 0.000913333 0.000906667 0.000933333 0.000926667 +0.000926667 0.000926667 0.000946667 0.00098 0.000953333 0.00094 0.000946667 0.00092 +0.000913333 0.00088 0.000873333 0.00092 0.00092 0.000893333 0.0009 0.00086 +0.000813333 0.00086 0.000866667 0.000873333 0.000886667 0.000893333 0.000933333 0.000913333 +0.000893333 0.0009 0.000906667 0.000933333 0.00094 0.000906667 0.00094 0.00094 +0.00092 0.000933333 0.00092 0.00094 0.000913333 0.000913333 0.000946667 0.00092 +0.000886667 0.00094 0.000953333 0.000946667 0.000966667 0.000933333 0.000886667 0.000913333 +0.000886667 0.000926667 0.00096 0.000953333 0.000906667 0.00092 0.0009 0.000893333 +0.000886667 0.000906667 0.000886667 0.000913333 0.000913333 0.00088 0.000906667 0.000886667 +0.00088 0.000853333 0.000866667 0.000906667 0.0009 0.000886667 0.00092 0.000906667 +0.00086 0.00088 0.000893333 0.0009 0.0009 0.000893333 0.0009 0.000853333 +0.000846667 0.000846667 0.000893333 0.000926667 0.000906667 0.00092 0.0009 0.000886667 +0.000933333 0.00092 0.000906667 0.000906667 0.000906667 0.00088 0.000866667 0.0009 +0.00092 0.000913333 0.000886667 0.000906667 0.000946667 0.00094 0.00094 0.00094 +0.000933333 0.000926667 0.00092 0.000913333 0.00092 0.00092 0.00088 0.000906667 +0.000946667 0.000946667 0.000926667 0.000926667 0.00096 0.000953333 0.000953333 0.00096 +0.000953333 0.000906667 0.00092 0.000906667 0.0009 0.00094 0.000933333 0.0009 +0.000933333 0.000953333 0.000966667 0.00098 0.000966667 0.000953333 0.0009 0.00096 +0.00096 0.000933333 0.000953333 0.000933333 0.000953333 0.000906667 0.000953333 0.00096 +0.000933333 0.000946667 0.000933333 0.000946667 0.000973333 0.000986667 0.00098 0.000953333 +0.000906667 0.00094 0.000933333 0.000906667 0.000893333 0.00092 0.00096 0.000946667 +0.00096 0.000966667 0.000953333 0.000953333 0.00098 0.00096 0.000926667 0.00092 +0.000926667 0.00098 0.000973333 0.00096 0.00096 0.00094 0.00096 0.000933333 +0.000933333 0.000933333 0.000906667 0.000913333 0.000933333 0.000906667 0.00092 0.00094 +0.000953333 0.000933333 0.0009 0.0009 0.000893333 0.000893333 0.000913333 0.000933333 +0.000973333 0.000946667 0.00094 0.000946667 0.000933333 0.00096 0.00098 0.000953333 +0.00094 0.000953333 0.000986667 0.000973333 0.00098 0.000986667 0.00096 0.000966667 +0.000993333 0.00096 0.000953333 0.216 0.00098 0.219787 0.217893 0.000993333 +0.22736 0.219787 0.223573 0.000986667 0.000953333 0.000986667 0.000966667 0.000973333 +0.000986667 0.000993333 0.000986667 0.22168 0.219787 0.219787 0.22736 0.229253 +0.223573 0.22736 0.229253 0.22736 0.223573 0.22168 0.225467 0.229253 +0.236827 0.231147 0.236827 0.246293 0.246293 0.242507 0.248187 0.25576 +0.248187 0.259547 0.274693 0.276587 0.280373 0.304987 0.325813 0.367467 +0.486747 0.575158 0.714737 0.883368 1.0009 1.01527 0.933895 0.758316 +0.613053 0.526526 0.48296 0.486747 0.530316 0.613684 0.755158 0.920632 +1.01624 1.04857 1.05478 1.04661 1.00743 0.877684 0.697053 0.554316 +0.40344 0.28416 0.2444 0.223573 0.217893 0.000966667 0.000953333 0.00098 +0.00098 0.000926667 0.000873333 0.000886667 0.0009 0.000906667 0.000886667 0.000873333 +0.000853333 0.000853333 0.00088 0.000853333 0.000826667 0.000806667 0.000826667 0.00086 +0.00086 0.000826667 0.000866667 0.000853333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00086 0.000793333 0.000813333 +0.000806667 0.00082 0.000813333 0.000813333 0.000826667 0.000806667 0.000786667 0.000833333 +0.000846667 0.00082 0.000806667 0.000806667 0.000806667 0.000806667 0.000826667 0.000826667 +0.00082 0.000833333 0.000853333 0.000866667 0.000866667 0.000866667 0.000893333 0.0009 +0.0009 0.00092 0.00094 0.000946667 0.000933333 0.000966667 0.217893 0.251973 +0.3012 0.429947 0.577684 0.742526 0.930737 1.02343 1.05118 1.05543 +1.0378 0.983592 0.820211 0.657263 0.550526 0.49432 0.481067 0.541684 +0.645263 0.806316 0.974947 1.01461 0.976211 0.817053 0.649684 0.529684 +0.4148 0.35232 0.314453 0.299307 0.28416 0.282267 0.26712 0.257653 +0.251973 0.2444 0.236827 0.229253 0.23304 0.240613 0.240613 0.23872 +0.240613 0.234933 0.225467 0.225467 0.229253 0.225467 0.22168 0.219787 +0.219787 0.216 0.000986667 0.217893 0.217893 0.229253 0.219787 0.000986667 +0.000993333 0.217893 0.216 0.223573 0.223573 0.216 0.000966667 0.000966667 +0.219787 0.22168 0.000986667 0.00098 0.217893 0.00098 0.000973333 0.217893 +0.000986667 0.000973333 0.00098 0.00098 0.000966667 0.000973333 0.000973333 0.00098 +0.000986667 0.000973333 0.000973333 0.00096 0.00098 0.216 0.000993333 0.000986667 +0.00096 0.00092 0.000933333 0.000973333 0.000973333 0.000966667 0.000946667 0.000926667 +0.000946667 0.000966667 0.000946667 0.000886667 0.000933333 0.000973333 0.000966667 0.000953333 +0.000953333 0.216 0.000973333 0.000933333 0.000933333 0.00094 0.000926667 0.000913333 +0.00092 0.00096 0.000953333 0.000933333 0.0009 0.000906667 0.000946667 0.000966667 +0.000946667 0.000926667 0.000953333 0.000946667 0.000946667 0.000933333 0.000893333 0.000873333 +0.000893333 0.000886667 0.000893333 0.000906667 0.000893333 0.000866667 0.00088 0.000866667 +0.00084 0.00088 0.000873333 0.0009 0.00094 0.000966667 0.000973333 0.000933333 +0.000906667 0.000886667 0.000886667 0.00094 0.000933333 0.000906667 0.0009 0.00092 +0.00092 0.000926667 0.000966667 0.00096 0.000913333 0.000926667 0.00096 0.000906667 +0.000906667 0.00094 0.000953333 0.000953333 0.000973333 0.000933333 0.000933333 0.00094 +0.0009 0.000933333 0.000993333 0.000953333 0.000906667 0.00092 0.000893333 0.0009 +0.000893333 0.000913333 0.000906667 0.00092 0.000893333 0.000906667 0.000926667 0.00088 +0.00086 0.00086 0.0009 0.000926667 0.000913333 0.00086 0.000913333 0.0009 +0.000846667 0.00088 0.000886667 0.00088 0.0009 0.000906667 0.000913333 0.000873333 +0.000853333 0.00086 0.000946667 0.000933333 0.000926667 0.00092 0.000906667 0.00088 +0.0009 0.000893333 0.00088 0.000873333 0.000866667 0.000893333 0.000906667 0.000906667 +0.000886667 0.000893333 0.000913333 0.00092 0.000933333 0.000933333 0.00094 0.000933333 +0.00092 0.000926667 0.000946667 0.000913333 0.000893333 0.000913333 0.0009 0.000913333 +0.000953333 0.000926667 0.000946667 0.000953333 0.000973333 0.000913333 0.000913333 0.000953333 +0.000926667 0.000906667 0.000926667 0.000906667 0.000906667 0.000953333 0.00096 0.000953333 +0.000966667 0.000966667 0.000946667 0.000966667 0.000966667 0.000953333 0.000886667 0.000946667 +0.000986667 0.000946667 0.00096 0.000966667 0.000953333 0.000926667 0.000933333 0.000973333 +0.00092 0.00094 0.00092 0.000926667 0.00096 0.000993333 0.000966667 0.00096 +0.000933333 0.000933333 0.00092 0.000906667 0.000893333 0.00092 0.000946667 0.000926667 +0.000953333 0.000966667 0.000946667 0.000926667 0.00096 0.000973333 0.00094 0.000933333 +0.000953333 0.000986667 0.000966667 0.00094 0.000953333 0.00094 0.00098 0.00098 +0.000973333 0.000946667 0.00092 0.000933333 0.000946667 0.00092 0.000913333 0.00094 +0.00092 0.000913333 0.000913333 0.000913333 0.000913333 0.0009 0.000906667 0.000933333 +0.00096 0.000966667 0.000946667 0.000933333 0.00092 0.000966667 0.00096 0.000933333 +0.000933333 0.000953333 0.00096 0.000973333 0.000986667 0.000993333 0.000953333 0.000913333 +0.00096 0.00096 0.000953333 0.217893 0.216 0.000993333 0.22168 0.000986667 +0.00098 0.00098 0.22168 0.225467 0.000973333 0.000986667 0.00098 0.00098 +0.000986667 0.000993333 0.216 0.219787 0.216 0.22168 0.22736 0.229253 +0.225467 0.229253 0.229253 0.229253 0.223573 0.22168 0.22736 0.229253 +0.236827 0.23872 0.23872 0.242507 0.248187 0.2444 0.25008 0.259547 +0.25576 0.26712 0.287947 0.287947 0.291733 0.322027 0.361787 0.458347 +0.570105 0.714737 0.890947 1.00547 1.01298 0.922526 0.747579 0.608632 +0.529053 0.479173 0.490533 0.537263 0.622526 0.767789 0.936421 1.02147 +1.04988 1.05576 1.044 0.999918 0.859368 0.681263 0.542947 0.39208 +0.28984 0.2444 0.223573 0.000973333 0.000986667 0.000986667 0.000926667 0.000933333 +0.00094 0.000886667 0.000886667 0.000893333 0.000906667 0.000893333 0.00088 0.000873333 +0.000866667 0.000846667 0.000893333 0.000893333 0.000853333 0.000833333 0.000826667 0.000853333 +0.000853333 0.00082 0.000833333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000866667 0.000786667 +0.000806667 0.00086 0.000866667 0.000826667 0.000793333 0.000806667 0.000826667 0.000826667 +0.0008 0.0008 0.00082 0.00082 0.000826667 0.000826667 0.000813333 0.000833333 +0.000853333 0.00086 0.000833333 0.000833333 0.000866667 0.00088 0.00088 0.00086 +0.000886667 0.000906667 0.000886667 0.000906667 0.000926667 0.00094 0.00096 0.22736 +0.251973 0.299307 0.433733 0.574526 0.733053 0.921263 1.02114 1.0502 +1.05347 1.0378 0.988816 0.832842 0.663579 0.549263 0.49432 0.484853 +0.539789 0.647789 0.813263 0.977474 1.0169 0.980327 0.815789 0.647789 +0.535368 0.42048 0.342853 0.31824 0.3012 0.291733 0.27848 0.2728 +0.265227 0.25008 0.236827 0.23304 0.23872 0.240613 0.242507 0.240613 +0.23304 0.231147 0.229253 0.229253 0.22168 0.22168 0.22168 0.219787 +0.216 0.217893 0.219787 0.217893 0.22736 0.223573 0.000986667 0.216 +0.216 0.216 0.000993333 0.22168 0.22168 0.000973333 0.000973333 0.216 +0.219787 0.000986667 0.000953333 0.216 0.217893 0.000966667 0.00098 0.00098 +0.000966667 0.000973333 0.00096 0.000953333 0.00098 0.000986667 0.00096 0.000966667 +0.000953333 0.000966667 0.00098 0.00096 0.00098 0.000973333 0.000966667 0.000986667 +0.000973333 0.00096 0.000973333 0.000986667 0.000953333 0.00094 0.000953333 0.000953333 +0.000973333 0.000973333 0.00094 0.00096 0.000966667 0.00096 0.00096 0.000933333 +0.00098 0.000993333 0.000933333 0.00092 0.000953333 0.000966667 0.000926667 0.0009 +0.00092 0.000966667 0.000973333 0.000933333 0.0009 0.000933333 0.000966667 0.00096 +0.000933333 0.000933333 0.00096 0.000953333 0.000933333 0.0009 0.00084 0.000873333 +0.0009 0.00092 0.000913333 0.000893333 0.00086 0.00086 0.000886667 0.00088 +0.000866667 0.000906667 0.00092 0.00096 0.000946667 0.00098 0.000953333 0.00094 +0.000913333 0.00086 0.000886667 0.00096 0.000906667 0.000893333 0.000913333 0.000906667 +0.000906667 0.00094 0.000993333 0.000953333 0.000893333 0.000926667 0.00096 0.000906667 +0.000913333 0.00094 0.000926667 0.000926667 0.000946667 0.000926667 0.00096 0.000953333 +0.00092 0.000933333 0.000953333 0.00092 0.000926667 0.000946667 0.0009 0.000873333 +0.000886667 0.000913333 0.0009 0.0009 0.000873333 0.000893333 0.000913333 0.000873333 +0.000853333 0.000906667 0.00094 0.000953333 0.000933333 0.00086 0.000873333 0.00086 +0.000853333 0.00088 0.000873333 0.000886667 0.00094 0.00092 0.000926667 0.00088 +0.000893333 0.000913333 0.00096 0.000906667 0.000886667 0.0009 0.000893333 0.000866667 +0.000873333 0.000886667 0.000926667 0.000906667 0.000893333 0.000926667 0.000926667 0.00092 +0.000886667 0.000866667 0.0009 0.00092 0.00094 0.00094 0.000946667 0.00092 +0.00092 0.00092 0.00096 0.00092 0.0009 0.000906667 0.000893333 0.00092 +0.000953333 0.000933333 0.00092 0.000933333 0.000953333 0.0009 0.000906667 0.000946667 +0.000913333 0.000906667 0.000926667 0.000906667 0.00092 0.00096 0.00098 0.000986667 +0.000966667 0.000966667 0.00092 0.000953333 0.000953333 0.000973333 0.000913333 0.00096 +0.000986667 0.000946667 0.00098 0.000973333 0.000953333 0.000946667 0.000933333 0.00096 +0.000933333 0.000953333 0.000933333 0.00092 0.000933333 0.00096 0.00094 0.00096 +0.00094 0.000926667 0.000926667 0.000926667 0.000906667 0.00092 0.00094 0.000906667 +0.00094 0.00096 0.000953333 0.000933333 0.000953333 0.00098 0.000953333 0.00094 +0.000966667 0.00098 0.000966667 0.00094 0.000946667 0.000946667 0.000946667 0.000966667 +0.000973333 0.000946667 0.000946667 0.00096 0.00096 0.00094 0.000933333 0.000953333 +0.000933333 0.00092 0.000926667 0.000886667 0.000913333 0.000893333 0.000893333 0.000926667 +0.000953333 0.000953333 0.00096 0.000953333 0.00094 0.00094 0.00096 0.000946667 +0.000926667 0.00094 0.00094 0.00096 0.000973333 0.00098 0.000986667 0.00094 +0.000953333 0.000953333 0.000966667 0.000993333 0.000993333 0.000973333 0.217893 0.216 +0.000966667 0.000986667 0.22168 0.22736 0.22168 0.000993333 0.000993333 0.000986667 +0.217893 0.000986667 0.216 0.216 0.216 0.216 0.22736 0.225467 +0.225467 0.219787 0.22736 0.231147 0.22736 0.219787 0.231147 0.23304 +0.23304 0.236827 0.240613 0.23872 0.242507 0.253867 0.251973 0.263333 +0.26712 0.274693 0.28984 0.3012 0.327707 0.37504 0.486747 0.565053 +0.700842 0.887158 1.0058 1.012 0.914947 0.739368 0.604211 0.525895 +0.481067 0.492427 0.536632 0.635158 0.785474 0.951579 1.02604 1.04988 +1.05412 1.04106 0.992408 0.841053 0.667368 0.538526 0.390187 0.2728 +0.23872 0.216 0.00096 0.000953333 0.00098 0.22168 0.000946667 0.000886667 +0.000913333 0.0009 0.000866667 0.00086 0.000893333 0.0009 0.000893333 0.000846667 +0.00084 0.00086 0.00088 0.0009 0.000853333 0.000833333 0.000833333 0.000853333 +0.00088 0.000873333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000893333 +0.000826667 0.00086 0.00084 0.000813333 0.000806667 0.000813333 0.000813333 0.000793333 +0.000806667 0.000826667 0.000853333 0.00084 0.000813333 0.000813333 0.00082 0.000806667 +0.000826667 0.000846667 0.000833333 0.000813333 0.000846667 0.00088 0.000846667 0.00084 +0.000886667 0.000893333 0.000866667 0.000906667 0.000926667 0.000946667 0.000953333 0.000986667 +0.225467 0.242507 0.282267 0.4148 0.566947 0.728632 0.914947 1.01853 +1.04857 1.05412 1.04008 0.990449 0.836632 0.666105 0.548 0.48296 +0.48296 0.544211 0.652842 0.817684 0.978737 1.01461 0.978105 0.826526 +0.671158 0.548632 0.43752 0.350427 0.31256 0.303093 0.29552 0.280373 +0.265227 0.25576 0.242507 0.246293 0.236827 0.23872 0.242507 0.2444 +0.229253 0.231147 0.23872 0.23872 0.22736 0.22168 0.223573 0.22168 +0.223573 0.223573 0.216 0.216 0.216 0.000986667 0.217893 0.22168 +0.219787 0.00098 0.216 0.22736 0.217893 0.000993333 0.217893 0.216 +0.217893 0.00098 0.000953333 0.000986667 0.000986667 0.000973333 0.000986667 0.000966667 +0.000993333 0.219787 0.00098 0.000973333 0.00098 0.000986667 0.00098 0.00096 +0.000953333 0.00096 0.000966667 0.000993333 0.000986667 0.00096 0.00098 0.216 +0.000973333 0.000973333 0.000973333 0.000973333 0.000946667 0.000946667 0.00098 0.000973333 +0.000966667 0.000953333 0.000966667 0.000993333 0.000966667 0.00096 0.00096 0.00094 +0.000993333 0.000953333 0.00092 0.000913333 0.00094 0.00094 0.000906667 0.000893333 +0.000913333 0.00092 0.00096 0.00094 0.000913333 0.000946667 0.00094 0.00094 +0.000926667 0.000926667 0.000933333 0.0009 0.000913333 0.00088 0.00086 0.000866667 +0.000893333 0.00094 0.000906667 0.000893333 0.000866667 0.000913333 0.000926667 0.000906667 +0.00092 0.000933333 0.000953333 0.000966667 0.000913333 0.000946667 0.00094 0.000926667 +0.000886667 0.000866667 0.00092 0.000953333 0.000906667 0.00092 0.000946667 0.00092 +0.00094 0.00094 0.000973333 0.000946667 0.0009 0.000913333 0.00094 0.000906667 +0.000926667 0.000933333 0.000873333 0.000886667 0.00092 0.00092 0.000933333 0.000946667 +0.000913333 0.000933333 0.00094 0.00094 0.000953333 0.000926667 0.000893333 0.00088 +0.0009 0.000886667 0.00088 0.000873333 0.00088 0.0009 0.0009 0.000886667 +0.000846667 0.0009 0.000926667 0.00094 0.000933333 0.000886667 0.000906667 0.00088 +0.000866667 0.000886667 0.000873333 0.0009 0.000933333 0.000913333 0.000913333 0.00086 +0.0009 0.00092 0.000946667 0.000873333 0.000893333 0.00088 0.000873333 0.00088 +0.0009 0.0009 0.00094 0.000946667 0.000926667 0.00092 0.00088 0.000913333 +0.000906667 0.000886667 0.000893333 0.00092 0.000953333 0.00092 0.000906667 0.0009 +0.000906667 0.000906667 0.00096 0.000913333 0.000886667 0.000926667 0.000906667 0.0009 +0.000953333 0.000933333 0.000926667 0.00092 0.000946667 0.000926667 0.000906667 0.000913333 +0.000933333 0.00092 0.000926667 0.000913333 0.000926667 0.000953333 0.000986667 0.00098 +0.000966667 0.000953333 0.0009 0.000953333 0.00096 0.00096 0.000946667 0.000973333 +0.000966667 0.000926667 0.000953333 0.000966667 0.000966667 0.00094 0.000926667 0.000953333 +0.00094 0.000953333 0.00094 0.000926667 0.00094 0.00098 0.00096 0.00094 +0.00092 0.00092 0.000946667 0.000953333 0.00094 0.00094 0.00094 0.00092 +0.000913333 0.00094 0.000953333 0.00096 0.000973333 0.216 0.000953333 0.000926667 +0.000953333 0.000966667 0.00098 0.000966667 0.00098 0.000953333 0.000906667 0.000926667 +0.000953333 0.000933333 0.000933333 0.000966667 0.00098 0.00098 0.00098 0.000966667 +0.00096 0.000933333 0.000953333 0.000913333 0.00092 0.000913333 0.00088 0.000906667 +0.00094 0.000946667 0.000933333 0.00092 0.000933333 0.000933333 0.000966667 0.000946667 +0.00092 0.000926667 0.00094 0.000953333 0.000966667 0.000973333 0.000966667 0.00098 +0.000986667 0.00096 0.00096 0.00096 0.000973333 0.00096 0.000966667 0.000986667 +0.00098 0.000993333 0.22168 0.219787 0.223573 0.219787 0.22168 0.217893 +0.217893 0.217893 0.216 0.000993333 0.000993333 0.000986667 0.217893 0.219787 +0.223573 0.223573 0.223573 0.22736 0.234933 0.22168 0.225467 0.229253 +0.240613 0.242507 0.2444 0.2444 0.248187 0.253867 0.263333 0.265227 +0.280373 0.287947 0.3012 0.325813 0.39776 0.512632 0.598526 0.724842 +0.888421 1.00416 1.01004 0.909895 0.734316 0.597263 0.522105 0.47728 +0.490533 0.545474 0.645263 0.799368 0.964211 1.02996 1.05216 1.0538 +1.03812 0.986531 0.824 0.650316 0.527158 0.37504 0.276587 0.23304 +0.000993333 0.000966667 0.000953333 0.000953333 0.000953333 0.000966667 0.000946667 0.000886667 +0.00088 0.000893333 0.000853333 0.000846667 0.000866667 0.000873333 0.000866667 0.000846667 +0.000826667 0.000866667 0.000886667 0.00088 0.00088 0.00084 0.000806667 0.000833333 +0.000866667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000906667 0.000813333 0.000793333 0.000806667 0.000813333 0.00082 0.000813333 0.000806667 +0.00084 0.00084 0.000833333 0.00082 0.0008 0.00082 0.000813333 0.000793333 +0.0008 0.0008 0.0008 0.000806667 0.000846667 0.00086 0.00086 0.000846667 +0.000853333 0.000873333 0.000886667 0.000886667 0.000886667 0.00092 0.00094 0.00096 +0.000966667 0.00098 0.231147 0.286053 0.412907 0.564421 0.720421 0.909895 +1.01853 1.0489 1.05314 1.0391 0.992735 0.841053 0.666737 0.554947 +0.5 0.484853 0.543579 0.654737 0.817684 0.98 1.01722 0.987837 +0.850526 0.683158 0.548 0.433733 0.35232 0.3296 0.310667 0.291733 +0.282267 0.26144 0.263333 0.257653 0.242507 0.240613 0.246293 0.242507 +0.23304 0.236827 0.2444 0.236827 0.231147 0.22168 0.22736 0.229253 +0.229253 0.223573 0.216 0.217893 0.216 0.216 0.22168 0.223573 +0.22168 0.22168 0.225467 0.216 0.00098 0.000993333 0.216 0.000993333 +0.00098 0.000966667 0.00098 0.000993333 0.216 0.216 0.000973333 0.00096 +0.000986667 0.000973333 0.000973333 0.000986667 0.00098 0.00098 0.000986667 0.000966667 +0.00098 0.000986667 0.000993333 0.216 0.000973333 0.000986667 0.216 0.000973333 +0.000966667 0.00098 0.000973333 0.000966667 0.000966667 0.000953333 0.000986667 0.000993333 +0.000966667 0.000953333 0.000986667 0.000993333 0.00098 0.000946667 0.000933333 0.000973333 +0.000973333 0.00092 0.000913333 0.000906667 0.000946667 0.000933333 0.000906667 0.000933333 +0.000913333 0.000906667 0.000953333 0.00094 0.000946667 0.000953333 0.000926667 0.000913333 +0.000913333 0.000933333 0.000913333 0.000853333 0.000866667 0.00088 0.000846667 0.00086 +0.000886667 0.000946667 0.00094 0.000913333 0.000893333 0.000926667 0.00094 0.00092 +0.000946667 0.00096 0.000946667 0.000953333 0.000926667 0.000933333 0.000926667 0.000906667 +0.000873333 0.00088 0.000966667 0.000973333 0.00092 0.000926667 0.00094 0.000926667 +0.000946667 0.000933333 0.00094 0.000913333 0.00094 0.000946667 0.000933333 0.000913333 +0.00094 0.00092 0.00088 0.00092 0.00094 0.000933333 0.000906667 0.000893333 +0.000913333 0.000953333 0.000946667 0.000946667 0.000933333 0.00094 0.00094 0.000933333 +0.0009 0.0009 0.000913333 0.0009 0.000886667 0.000913333 0.000886667 0.0009 +0.00088 0.00092 0.000906667 0.000893333 0.000906667 0.0009 0.000933333 0.000886667 +0.000893333 0.000913333 0.0009 0.0009 0.00092 0.000893333 0.000886667 0.000833333 +0.000866667 0.000866667 0.000926667 0.000886667 0.00092 0.000893333 0.000873333 0.000906667 +0.000926667 0.0009 0.000933333 0.00096 0.000926667 0.000913333 0.00086 0.000893333 +0.000913333 0.0009 0.000886667 0.0009 0.00092 0.0009 0.000926667 0.000913333 +0.00092 0.000906667 0.00092 0.00088 0.000886667 0.000926667 0.0009 0.0009 +0.00094 0.00092 0.000933333 0.00092 0.00094 0.00094 0.000926667 0.00092 +0.000933333 0.000926667 0.000913333 0.000906667 0.000906667 0.000933333 0.000966667 0.000953333 +0.000966667 0.000946667 0.000913333 0.000973333 0.000973333 0.00096 0.000946667 0.000953333 +0.00096 0.00092 0.00094 0.000986667 0.00098 0.000946667 0.000926667 0.00094 +0.000946667 0.000946667 0.00096 0.000926667 0.00092 0.000973333 0.000986667 0.00096 +0.000926667 0.000926667 0.000966667 0.000993333 0.00096 0.000926667 0.000946667 0.000953333 +0.0009 0.000906667 0.000946667 0.000946667 0.000973333 0.216 0.00096 0.00094 +0.000953333 0.000953333 0.00098 0.00098 0.000986667 0.000973333 0.000913333 0.000933333 +0.000946667 0.00092 0.000913333 0.00098 0.000993333 0.000986667 0.219787 0.00096 +0.000966667 0.000933333 0.000966667 0.000986667 0.00094 0.000946667 0.000913333 0.000906667 +0.000933333 0.00094 0.000926667 0.00092 0.000926667 0.000933333 0.000946667 0.000933333 +0.000913333 0.000906667 0.000913333 0.00096 0.000966667 0.000993333 0.000986667 0.000966667 +0.00096 0.000933333 0.00094 0.000986667 0.217893 0.000966667 0.000953333 0.00096 +0.000966667 0.216 0.225467 0.219787 0.000986667 0.000993333 0.225467 0.229253 +0.216 0.22168 0.223573 0.217893 0.217893 0.216 0.000993333 0.22168 +0.223573 0.229253 0.229253 0.22168 0.225467 0.23872 0.231147 0.23872 +0.240613 0.2444 0.240613 0.251973 0.25576 0.257653 0.26712 0.282267 +0.286053 0.303093 0.337173 0.388293 0.513263 0.619368 0.764 0.918737 +1.00841 1.00873 0.902947 0.729895 0.597263 0.520842 0.456453 0.492427 +0.551158 0.660421 0.818316 0.978737 1.03355 1.05282 1.05282 1.03486 +0.98098 0.812632 0.640842 0.517684 0.35232 0.269013 0.231147 0.000993333 +0.000966667 0.000966667 0.00098 0.000993333 0.000933333 0.000913333 0.000906667 0.000886667 +0.000893333 0.000893333 0.000873333 0.000853333 0.000853333 0.000853333 0.000833333 0.000853333 +0.00084 0.000833333 0.00086 0.000866667 0.000886667 0.000853333 0.000833333 0.000866667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000866667 0.00082 0.000813333 0.00082 0.000833333 0.000793333 0.000813333 +0.000833333 0.000806667 0.000813333 0.000826667 0.000826667 0.000826667 0.000793333 0.000786667 +0.0008 0.000793333 0.000833333 0.00084 0.00084 0.00084 0.000853333 0.000833333 +0.000833333 0.00086 0.000866667 0.00086 0.00088 0.00092 0.00094 0.000933333 +0.00094 0.000973333 0.219787 0.234933 0.276587 0.405333 0.56 0.719158 +0.908 1.01624 1.04857 1.05314 1.04041 0.99502 0.849263 0.682526 +0.561895 0.500632 0.47728 0.543579 0.656 0.818947 0.98098 1.02016 +0.991429 0.849895 0.672421 0.546105 0.43752 0.36368 0.325813 0.308773 +0.293627 0.280373 0.2728 0.26144 0.259547 0.257653 0.248187 0.2444 +0.23872 0.236827 0.231147 0.231147 0.234933 0.22736 0.234933 0.22736 +0.223573 0.223573 0.22168 0.223573 0.225467 0.22168 0.219787 0.216 +0.219787 0.22736 0.223573 0.000986667 0.000986667 0.219787 0.00098 0.000973333 +0.000966667 0.00096 0.00098 0.219787 0.22168 0.000986667 0.00096 0.00098 +0.000993333 0.000953333 0.000966667 0.000973333 0.000973333 0.00098 0.000973333 0.00098 +0.00098 0.000993333 0.217893 0.000986667 0.000973333 0.216 0.000993333 0.00096 +0.000986667 0.00098 0.000953333 0.000953333 0.000973333 0.000946667 0.000966667 0.217893 +0.000966667 0.00096 0.217893 0.000993333 0.000993333 0.00094 0.000946667 0.000973333 +0.000933333 0.000906667 0.000906667 0.000933333 0.00094 0.000933333 0.000953333 0.000946667 +0.00092 0.000946667 0.000946667 0.000933333 0.000966667 0.000946667 0.00092 0.000886667 +0.000886667 0.00092 0.000893333 0.000853333 0.000846667 0.000886667 0.000913333 0.000893333 +0.000933333 0.00094 0.000966667 0.000933333 0.00092 0.00094 0.000933333 0.000926667 +0.000953333 0.00096 0.000946667 0.00094 0.000933333 0.000893333 0.000906667 0.000873333 +0.000873333 0.000933333 0.000986667 0.00094 0.000926667 0.000946667 0.00092 0.00092 +0.000946667 0.00094 0.000933333 0.00092 0.000966667 0.000946667 0.0009 0.0009 +0.00094 0.000926667 0.000913333 0.000946667 0.000926667 0.00092 0.00092 0.0009 +0.000906667 0.000966667 0.000926667 0.000906667 0.000913333 0.00094 0.000953333 0.000933333 +0.000906667 0.000906667 0.000913333 0.00088 0.000873333 0.000906667 0.000893333 0.000926667 +0.000893333 0.00092 0.000906667 0.000873333 0.00092 0.00092 0.00092 0.000906667 +0.00092 0.000913333 0.000906667 0.000926667 0.00092 0.0009 0.000866667 0.000846667 +0.000833333 0.00084 0.00092 0.000926667 0.00094 0.000906667 0.00092 0.000926667 +0.00094 0.000926667 0.00098 0.000966667 0.000933333 0.00092 0.000873333 0.00088 +0.000886667 0.0009 0.000886667 0.0009 0.000913333 0.000886667 0.000926667 0.00094 +0.000933333 0.000906667 0.000913333 0.000886667 0.0009 0.000933333 0.000906667 0.000913333 +0.00096 0.000933333 0.000913333 0.00092 0.000973333 0.000953333 0.000913333 0.000926667 +0.00092 0.00092 0.000913333 0.00092 0.000893333 0.000933333 0.00096 0.000966667 +0.00096 0.00094 0.000913333 0.000966667 0.00098 0.000986667 0.00096 0.00092 +0.00096 0.000926667 0.000926667 0.000973333 0.000966667 0.000946667 0.00094 0.000946667 +0.000926667 0.000966667 0.000993333 0.000946667 0.000913333 0.00094 0.000966667 0.000966667 +0.000933333 0.000906667 0.000946667 0.000993333 0.000973333 0.000926667 0.000946667 0.00098 +0.000926667 0.000893333 0.000926667 0.00092 0.00094 0.000986667 0.00096 0.000933333 +0.00096 0.000973333 0.00096 0.00098 0.000993333 0.000973333 0.000953333 0.000953333 +0.00094 0.00094 0.000926667 0.00094 0.00096 0.00098 0.223573 0.00096 +0.00098 0.00096 0.00096 0.000993333 0.000946667 0.000966667 0.00096 0.00094 +0.000953333 0.00096 0.00096 0.00094 0.00094 0.000926667 0.000926667 0.00094 +0.000946667 0.000933333 0.0009 0.000953333 0.000966667 0.000986667 0.000993333 0.000973333 +0.000953333 0.00094 0.00096 0.000986667 0.219787 0.219787 0.000973333 0.000966667 +0.000986667 0.216 0.217893 0.225467 0.217893 0.00098 0.225467 0.223573 +0.217893 0.223573 0.234933 0.223573 0.217893 0.22168 0.219787 0.217893 +0.225467 0.231147 0.234933 0.225467 0.217893 0.234933 0.242507 0.23872 +0.2444 0.23872 0.2444 0.251973 0.265227 0.265227 0.280373 0.28984 +0.3012 0.331493 0.395867 0.511368 0.608632 0.769053 0.940211 1.01461 +1.00482 0.891579 0.722947 0.591579 0.515789 0.467813 0.498107 0.558105 +0.672421 0.835368 0.985551 1.03486 1.05347 1.05282 1.03355 0.969895 +0.798737 0.632 0.510105 0.342853 0.257653 0.225467 0.216 0.216 +0.000966667 0.000946667 0.00096 0.000966667 0.000926667 0.0009 0.00088 0.00088 +0.0009 0.000906667 0.0009 0.000833333 0.000826667 0.000866667 0.000846667 0.000833333 +0.00084 0.00084 0.000853333 0.000866667 0.000873333 0.000846667 0.000826667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000893333 0.000806667 0.000813333 0.000806667 0.000793333 0.000826667 +0.00082 0.000813333 0.000826667 0.000813333 0.000786667 0.000793333 0.0008 0.000786667 +0.000786667 0.000833333 0.000846667 0.00082 0.00082 0.000826667 0.000833333 0.00086 +0.000873333 0.000846667 0.000866667 0.000873333 0.000886667 0.00092 0.00092 0.000933333 +0.000946667 0.000966667 0.000973333 0.000993333 0.23304 0.286053 0.405333 0.561263 +0.714105 0.900421 1.01559 1.04727 1.05282 1.04139 0.99698 0.858737 +0.688842 0.566316 0.500632 0.486747 0.546737 0.657895 0.820211 0.98098 +1.01984 0.989143 0.842316 0.677474 0.554316 0.445093 0.35232 0.322027 +0.30688 0.299307 0.27848 0.269013 0.2728 0.269013 0.253867 0.25008 +0.23872 0.229253 0.219787 0.22736 0.234933 0.242507 0.23872 0.225467 +0.217893 0.223573 0.225467 0.225467 0.22168 0.22168 0.22736 0.00098 +0.00098 0.22168 0.216 0.000993333 0.223573 0.219787 0.000966667 0.000993333 +0.216 0.000993333 0.00098 0.00098 0.000993333 0.000973333 0.00096 0.000993333 +0.217893 0.000966667 0.000973333 0.000986667 0.217893 0.216 0.000966667 0.00096 +0.00096 0.000986667 0.000993333 0.000986667 0.00096 0.000966667 0.00096 0.000973333 +0.219787 0.00098 0.000953333 0.00096 0.000973333 0.00096 0.000973333 0.217893 +0.00096 0.000953333 0.000993333 0.216 0.000973333 0.000933333 0.00096 0.000946667 +0.000913333 0.000933333 0.000946667 0.00094 0.000913333 0.00092 0.00098 0.000953333 +0.00092 0.000926667 0.000906667 0.000946667 0.000973333 0.000913333 0.000893333 0.000873333 +0.00088 0.000913333 0.000906667 0.00088 0.000866667 0.0009 0.00092 0.000926667 +0.00096 0.000953333 0.00096 0.000946667 0.000933333 0.00094 0.000926667 0.000926667 +0.000926667 0.000933333 0.00092 0.0009 0.000906667 0.000873333 0.0009 0.000886667 +0.0009 0.000966667 0.000973333 0.000926667 0.000946667 0.000946667 0.000913333 0.000933333 +0.000946667 0.000946667 0.000933333 0.000933333 0.00094 0.000946667 0.000866667 0.00086 +0.00094 0.00094 0.00092 0.00094 0.000926667 0.00092 0.00096 0.000926667 +0.000946667 0.000966667 0.00092 0.000906667 0.000926667 0.000926667 0.00094 0.000913333 +0.000913333 0.000893333 0.000886667 0.000866667 0.000913333 0.000913333 0.0009 0.000913333 +0.0009 0.000926667 0.000913333 0.000886667 0.000913333 0.000906667 0.000906667 0.000906667 +0.000906667 0.000886667 0.000866667 0.000906667 0.000926667 0.000933333 0.000886667 0.000873333 +0.000853333 0.00088 0.00092 0.00092 0.000926667 0.000893333 0.000913333 0.000906667 +0.000906667 0.000926667 0.000973333 0.000933333 0.000893333 0.000933333 0.0009 0.000906667 +0.0009 0.0009 0.0009 0.00092 0.000913333 0.00088 0.000926667 0.000926667 +0.00092 0.0009 0.00092 0.000886667 0.00088 0.000926667 0.00092 0.000906667 +0.000973333 0.000933333 0.0009 0.000926667 0.000986667 0.000966667 0.000913333 0.000926667 +0.000913333 0.000933333 0.000926667 0.00094 0.000906667 0.00092 0.000933333 0.000966667 +0.00096 0.000953333 0.000926667 0.000966667 0.216 0.000973333 0.00092 0.00092 +0.000966667 0.000926667 0.000953333 0.00098 0.000953333 0.000946667 0.000966667 0.00096 +0.000926667 0.000953333 0.000986667 0.000946667 0.000933333 0.000946667 0.00096 0.000966667 +0.000946667 0.000913333 0.00094 0.000973333 0.00096 0.000926667 0.000953333 0.000986667 +0.000953333 0.000893333 0.000933333 0.00092 0.000933333 0.000966667 0.00096 0.000926667 +0.000946667 0.000966667 0.000966667 0.00098 0.216 0.000993333 0.000973333 0.00096 +0.00096 0.000966667 0.000966667 0.000926667 0.000933333 0.00098 0.217893 0.00098 +0.00098 0.000966667 0.000933333 0.00096 0.00096 0.00096 0.00096 0.00096 +0.00098 0.00096 0.00096 0.00096 0.00096 0.000946667 0.000933333 0.000946667 +0.00096 0.000946667 0.0009 0.000926667 0.000966667 0.000953333 0.00094 0.00098 +0.00098 0.00096 0.000953333 0.000966667 0.000966667 0.219787 0.216 0.000973333 +0.216 0.22168 0.219787 0.217893 0.219787 0.000986667 0.22168 0.223573 +0.219787 0.22736 0.231147 0.225467 0.219787 0.223573 0.223573 0.219787 +0.223573 0.229253 0.22736 0.231147 0.223573 0.234933 0.2444 0.2444 +0.246293 0.248187 0.251973 0.263333 0.269013 0.27848 0.291733 0.3012 +0.327707 0.39208 0.510105 0.606105 0.762105 0.935158 1.01265 1.00024 +0.880842 0.712211 0.583368 0.512 0.458347 0.505053 0.572 0.687579 +0.846105 0.990776 1.03878 1.05249 1.05053 1.02996 0.964842 0.784211 +0.616211 0.506947 0.331493 0.253867 0.22736 0.000993333 0.000973333 0.000993333 +0.000973333 0.000946667 0.000926667 0.000886667 0.00092 0.00092 0.000886667 0.000886667 +0.00086 0.000833333 0.000886667 0.00086 0.000846667 0.000873333 0.00086 0.00084 +0.00082 0.000833333 0.000873333 0.000853333 0.000853333 0.000893333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00088 0.00082 0.000793333 0.000813333 0.00082 +0.000813333 0.000813333 0.000793333 0.000793333 0.000773333 0.000793333 0.0008 0.000793333 +0.0008 0.000833333 0.000806667 0.0008 0.000833333 0.00082 0.00084 0.00086 +0.000853333 0.000853333 0.000886667 0.000873333 0.00088 0.00088 0.000906667 0.000926667 +0.000933333 0.000953333 0.000986667 0.219787 0.219787 0.234933 0.276587 0.40344 +0.556842 0.709053 0.895368 1.01298 1.04759 1.05249 1.04106 0.999918 +0.865053 0.696421 0.571368 0.505684 0.490533 0.544211 0.657895 0.822105 +0.978737 1.01788 0.989796 0.854316 0.688211 0.553053 0.43184 0.356107 +0.337173 0.32392 0.303093 0.28984 0.27848 0.2728 0.265227 0.259547 +0.2444 0.236827 0.231147 0.229253 0.23304 0.234933 0.23304 0.229253 +0.22168 0.223573 0.22168 0.22168 0.217893 0.22736 0.225467 0.000986667 +0.216 0.219787 0.216 0.217893 0.223573 0.000986667 0.00096 0.216 +0.223573 0.22168 0.217893 0.216 0.216 0.000993333 0.00098 0.000986667 +0.00098 0.216 0.000986667 0.000986667 0.000993333 0.000973333 0.000946667 0.000953333 +0.000966667 0.00098 0.000973333 0.000973333 0.000973333 0.00098 0.000966667 0.00096 +0.00098 0.216 0.00098 0.00098 0.000973333 0.00096 0.00098 0.000973333 +0.00096 0.000966667 0.00098 0.000966667 0.000926667 0.00094 0.000953333 0.000926667 +0.000913333 0.00094 0.00096 0.000933333 0.000906667 0.000933333 0.000973333 0.000933333 +0.000913333 0.000893333 0.00088 0.000926667 0.000946667 0.0009 0.000873333 0.00088 +0.000886667 0.0009 0.000926667 0.000893333 0.00088 0.000893333 0.000926667 0.000993333 +0.000993333 0.000946667 0.000933333 0.000933333 0.000946667 0.00094 0.00092 0.0009 +0.000933333 0.00094 0.000913333 0.000906667 0.000906667 0.000913333 0.000913333 0.000913333 +0.000893333 0.000966667 0.000973333 0.000933333 0.000946667 0.000933333 0.000886667 0.000926667 +0.000953333 0.000953333 0.00094 0.00094 0.000926667 0.000926667 0.000866667 0.000893333 +0.000946667 0.000933333 0.00096 0.00096 0.000933333 0.000926667 0.00096 0.00094 +0.000973333 0.00096 0.000933333 0.00094 0.000933333 0.000913333 0.000906667 0.000886667 +0.000926667 0.000913333 0.000906667 0.000873333 0.000926667 0.000933333 0.000926667 0.000913333 +0.000933333 0.00094 0.000926667 0.0009 0.0009 0.000873333 0.000893333 0.0009 +0.000906667 0.000886667 0.000873333 0.000893333 0.00094 0.000946667 0.000886667 0.000893333 +0.000886667 0.000926667 0.00092 0.000906667 0.000913333 0.000886667 0.0009 0.000926667 +0.000906667 0.000913333 0.000953333 0.000926667 0.000906667 0.000913333 0.000893333 0.000933333 +0.000926667 0.0009 0.000913333 0.00092 0.000913333 0.0009 0.000913333 0.000893333 +0.000886667 0.0009 0.000913333 0.000886667 0.00086 0.000913333 0.000913333 0.00092 +0.00096 0.000913333 0.000906667 0.000933333 0.000966667 0.000973333 0.00092 0.00092 +0.000913333 0.000913333 0.000926667 0.000946667 0.000913333 0.000906667 0.000946667 0.000953333 +0.000933333 0.000946667 0.000913333 0.00094 0.217893 0.000953333 0.000913333 0.000933333 +0.00098 0.00094 0.000953333 0.000966667 0.000973333 0.000933333 0.00094 0.00096 +0.000953333 0.000953333 0.000973333 0.00094 0.000933333 0.000953333 0.000973333 0.000986667 +0.00096 0.000913333 0.00094 0.000973333 0.000933333 0.000933333 0.000946667 0.000966667 +0.00096 0.00092 0.000946667 0.000946667 0.000946667 0.000966667 0.000986667 0.000933333 +0.000933333 0.00094 0.000953333 0.00096 0.000973333 0.000973333 0.00098 0.00098 +0.000993333 0.000973333 0.000973333 0.000953333 0.000966667 0.000986667 0.00098 0.00098 +0.00096 0.000966667 0.000946667 0.000946667 0.00098 0.000966667 0.00096 0.000953333 +0.000973333 0.000953333 0.000966667 0.000973333 0.000953333 0.000953333 0.000953333 0.000973333 +0.000953333 0.00092 0.00092 0.00092 0.00092 0.000933333 0.000946667 0.000966667 +0.000973333 0.00096 0.000933333 0.000953333 0.000973333 0.00098 0.217893 0.000966667 +0.000953333 0.000993333 0.000993333 0.217893 0.219787 0.22168 0.22736 0.223573 +0.219787 0.22736 0.22736 0.22736 0.22168 0.22168 0.223573 0.22168 +0.223573 0.231147 0.22736 0.236827 0.234933 0.23304 0.248187 0.253867 +0.251973 0.26144 0.263333 0.263333 0.27848 0.291733 0.308773 0.339067 +0.388293 0.510737 0.607368 0.758316 0.933895 1.01331 0.99698 0.867579 +0.700842 0.575789 0.504421 0.456453 0.510737 0.582105 0.705895 0.864421 +0.995347 1.03845 1.05347 1.05249 1.02669 0.947158 0.773474 0.607368 +0.484853 0.320133 0.251973 0.22736 0.000993333 0.00098 0.00096 0.000953333 +0.000953333 0.00094 0.0009 0.000846667 0.0009 0.000926667 0.0009 0.000886667 +0.000886667 0.000853333 0.000846667 0.000846667 0.000853333 0.000853333 0.000866667 0.000853333 +0.000813333 0.00082 0.000866667 0.000873333 0.000846667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000886667 0.0008 0.000806667 0.000793333 +0.000833333 0.000793333 0.00078 0.00082 0.000793333 0.0008 0.0008 0.0008 +0.000813333 0.000833333 0.00082 0.00082 0.000833333 0.00084 0.00086 0.00082 +0.000833333 0.000873333 0.00086 0.000833333 0.000873333 0.000866667 0.000893333 0.00092 +0.00092 0.000973333 0.000973333 0.000973333 0.00098 0.216 0.223573 0.274693 +0.395867 0.553053 0.702105 0.893474 1.01363 1.04629 1.05282 1.04335 +1.00253 0.873263 0.700211 0.572632 0.504421 0.486747 0.548 0.661684 +0.819579 0.978105 1.01951 0.991429 0.852421 0.681263 0.548632 0.43752 +0.36936 0.34664 0.325813 0.308773 0.29552 0.280373 0.270907 0.26712 +0.253867 0.2444 0.2444 0.246293 0.23872 0.229253 0.225467 0.225467 +0.223573 0.22168 0.22168 0.219787 0.22736 0.22736 0.217893 0.22168 +0.225467 0.216 0.216 0.219787 0.000993333 0.00098 0.216 0.217893 +0.216 0.22168 0.231147 0.219787 0.000986667 0.217893 0.216 0.000986667 +0.000986667 0.219787 0.00098 0.000986667 0.000966667 0.00094 0.00096 0.00098 +0.00098 0.00098 0.00098 0.000986667 0.22168 0.216 0.000973333 0.000966667 +0.000993333 0.219787 0.00098 0.00096 0.00096 0.000986667 0.000973333 0.000933333 +0.000973333 0.000986667 0.000946667 0.00092 0.000913333 0.00096 0.00096 0.00094 +0.00092 0.000946667 0.000946667 0.000913333 0.000913333 0.000946667 0.000946667 0.000926667 +0.000926667 0.0009 0.000886667 0.000893333 0.00092 0.000906667 0.000853333 0.00088 +0.000906667 0.00092 0.000926667 0.00092 0.000906667 0.000926667 0.000966667 0.217893 +0.00098 0.000933333 0.000913333 0.00092 0.000966667 0.000953333 0.00092 0.000893333 +0.000926667 0.00096 0.000933333 0.00092 0.000913333 0.00094 0.00092 0.000913333 +0.000906667 0.00096 0.000966667 0.00094 0.000933333 0.000926667 0.00092 0.000933333 +0.000946667 0.000953333 0.000933333 0.000913333 0.000926667 0.000926667 0.000913333 0.000933333 +0.00094 0.000933333 0.00096 0.000953333 0.000913333 0.000933333 0.000933333 0.000913333 +0.000953333 0.000946667 0.000933333 0.00092 0.000913333 0.000906667 0.000906667 0.0009 +0.00092 0.000933333 0.000946667 0.000913333 0.000966667 0.000966667 0.000953333 0.0009 +0.000906667 0.00094 0.000913333 0.00088 0.000906667 0.000886667 0.000886667 0.0009 +0.000913333 0.000906667 0.00092 0.000933333 0.00094 0.00092 0.00086 0.000906667 +0.000913333 0.000926667 0.000926667 0.000933333 0.000906667 0.00088 0.00092 0.000953333 +0.000913333 0.000893333 0.00094 0.000926667 0.00092 0.000893333 0.000886667 0.000953333 +0.00094 0.0009 0.000913333 0.00092 0.000933333 0.000906667 0.0009 0.00088 +0.000866667 0.0009 0.000913333 0.000913333 0.000893333 0.000913333 0.000926667 0.00094 +0.00094 0.0009 0.00092 0.00096 0.00098 0.000973333 0.000926667 0.00092 +0.000933333 0.0009 0.000933333 0.000946667 0.000926667 0.000886667 0.000946667 0.000933333 +0.000906667 0.00092 0.000893333 0.000933333 0.219787 0.000953333 0.000946667 0.000946667 +0.000986667 0.000986667 0.000946667 0.00092 0.000946667 0.00094 0.000933333 0.000966667 +0.000953333 0.000966667 0.00096 0.000946667 0.000953333 0.000953333 0.00096 0.000986667 +0.00098 0.00092 0.000933333 0.000993333 0.00096 0.000966667 0.000953333 0.00094 +0.000966667 0.000946667 0.00094 0.000953333 0.000953333 0.000946667 0.000986667 0.000946667 +0.000926667 0.000926667 0.000946667 0.000926667 0.00094 0.00096 0.00098 0.000973333 +0.217893 0.217893 0.000966667 0.000946667 0.000966667 0.00098 0.000986667 0.000993333 +0.00096 0.000966667 0.00098 0.000966667 0.000973333 0.000966667 0.000946667 0.00094 +0.000966667 0.00096 0.00098 0.000986667 0.000953333 0.00096 0.000986667 0.000986667 +0.00096 0.000926667 0.000926667 0.00092 0.000913333 0.000933333 0.000973333 0.000966667 +0.00096 0.00098 0.00096 0.000973333 0.216 0.000966667 0.00098 0.00096 +0.000913333 0.216 0.217893 0.216 0.217893 0.225467 0.22736 0.223573 +0.225467 0.225467 0.22168 0.217893 0.219787 0.22736 0.225467 0.223573 +0.229253 0.234933 0.240613 0.234933 0.236827 0.240613 0.251973 0.25576 +0.253867 0.259547 0.270907 0.274693 0.297413 0.316347 0.331493 0.393973 +0.517684 0.616842 0.770947 0.938947 1.01167 0.993714 0.86 0.694526 +0.568842 0.501263 0.464027 0.513263 0.587158 0.717895 0.880842 1.0009 +1.04171 1.05314 1.05086 1.02441 0.933895 0.755158 0.593474 0.46592 +0.31256 0.25008 0.225467 0.216 0.00098 0.000973333 0.000973333 0.00096 +0.000933333 0.000906667 0.000886667 0.00086 0.000853333 0.000893333 0.000873333 0.000853333 +0.0009 0.000893333 0.000866667 0.000846667 0.00084 0.000846667 0.000846667 0.00086 +0.00084 0.000846667 0.000833333 0.000866667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000866667 0.000813333 0.000813333 +0.000826667 0.000813333 0.00084 0.000833333 0.000786667 0.0008 0.000833333 0.000826667 +0.00082 0.000813333 0.000813333 0.000813333 0.00082 0.00084 0.000826667 0.000813333 +0.00086 0.00086 0.000846667 0.00086 0.000866667 0.000853333 0.000886667 0.0009 +0.00092 0.000946667 0.000933333 0.00094 0.00096 0.000973333 0.000993333 0.229253 +0.26712 0.38072 0.549895 0.700211 0.886526 1.00939 1.04596 1.05445 +1.04498 1.00482 0.874526 0.706526 0.577684 0.509474 0.498107 0.547368 +0.659158 0.821474 0.98098 1.01755 0.989796 0.851789 0.68 0.546105 +0.439413 0.37504 0.350427 0.333387 0.30688 0.28984 0.276587 0.2728 +0.263333 0.259547 0.25576 0.251973 0.236827 0.229253 0.22736 0.229253 +0.225467 0.223573 0.217893 0.219787 0.223573 0.217893 0.22736 0.234933 +0.225467 0.217893 0.217893 0.216 0.216 0.22736 0.234933 0.22736 +0.22168 0.22736 0.225467 0.000993333 0.000973333 0.216 0.22168 0.000986667 +0.000973333 0.000966667 0.00098 0.00098 0.000973333 0.000966667 0.000986667 0.000986667 +0.000993333 0.216 0.217893 0.216 0.00098 0.00094 0.00098 0.216 +0.216 0.217893 0.00096 0.000953333 0.000953333 0.00096 0.000926667 0.00094 +0.217893 0.000993333 0.000946667 0.000906667 0.000933333 0.00096 0.000933333 0.00094 +0.000953333 0.000953333 0.000913333 0.000913333 0.000933333 0.000933333 0.000906667 0.000933333 +0.00092 0.00088 0.000886667 0.0009 0.00092 0.000893333 0.000873333 0.000926667 +0.00094 0.00094 0.00094 0.00096 0.00096 0.00094 0.000966667 0.000966667 +0.00096 0.000933333 0.000906667 0.000893333 0.000926667 0.000933333 0.0009 0.000893333 +0.00092 0.00094 0.000946667 0.000933333 0.00094 0.00094 0.00092 0.000913333 +0.000913333 0.000953333 0.00096 0.000946667 0.00094 0.0009 0.000926667 0.000933333 +0.000933333 0.000926667 0.000926667 0.0009 0.000926667 0.000906667 0.000926667 0.00096 +0.000946667 0.00092 0.000946667 0.00094 0.000933333 0.000913333 0.0009 0.00092 +0.000966667 0.000953333 0.000946667 0.000933333 0.000926667 0.000933333 0.000933333 0.00092 +0.000946667 0.00096 0.00098 0.000926667 0.000946667 0.00094 0.000926667 0.000873333 +0.00088 0.000926667 0.0009 0.000886667 0.000933333 0.000906667 0.0009 0.00092 +0.00092 0.00092 0.000946667 0.000946667 0.00092 0.000906667 0.000866667 0.000933333 +0.000913333 0.000906667 0.000926667 0.000926667 0.0009 0.00088 0.000953333 0.000966667 +0.000913333 0.000906667 0.000946667 0.000926667 0.000926667 0.000886667 0.0009 0.000953333 +0.00092 0.000906667 0.000926667 0.000933333 0.00094 0.000926667 0.00092 0.0009 +0.000893333 0.000906667 0.000933333 0.000933333 0.000886667 0.000946667 0.00094 0.000933333 +0.000953333 0.000926667 0.000933333 0.000953333 0.000966667 0.000953333 0.0009 0.000933333 +0.000946667 0.000926667 0.000933333 0.000933333 0.000906667 0.0009 0.00094 0.00094 +0.00092 0.000933333 0.00092 0.00096 0.216 0.000953333 0.000933333 0.00094 +0.00096 0.000986667 0.00096 0.000906667 0.000926667 0.00094 0.000966667 0.000993333 +0.000966667 0.00094 0.000933333 0.00096 0.00098 0.00096 0.00094 0.000953333 +0.00098 0.000953333 0.00096 0.216 0.00096 0.000946667 0.000946667 0.000933333 +0.00098 0.00096 0.00094 0.00098 0.00098 0.000953333 0.000993333 0.000953333 +0.000926667 0.000926667 0.00094 0.00092 0.000933333 0.000966667 0.000986667 0.000966667 +0.000993333 0.000993333 0.000953333 0.000933333 0.00096 0.00096 0.000973333 0.000986667 +0.00098 0.000973333 0.000986667 0.000973333 0.00096 0.00096 0.000933333 0.00096 +0.000953333 0.00094 0.000953333 0.00098 0.00096 0.00098 0.000986667 0.000966667 +0.00096 0.00098 0.00096 0.00094 0.000926667 0.00094 0.000973333 0.00096 +0.000946667 0.000966667 0.00098 0.00096 0.000966667 0.00098 0.000993333 0.219787 +0.000953333 0.00098 0.223573 0.000993333 0.216 0.219787 0.216 0.219787 +0.229253 0.22736 0.225467 0.217893 0.000993333 0.22736 0.231147 0.22736 +0.229253 0.23872 0.242507 0.236827 0.234933 0.251973 0.25008 0.257653 +0.26712 0.274693 0.274693 0.287947 0.310667 0.356107 0.40912 0.520842 +0.631368 0.790526 0.953474 1.01331 0.989469 0.852421 0.685684 0.564421 +0.500632 0.452667 0.517684 0.597263 0.729263 0.892842 1.0058 1.04335 +1.05347 1.04857 1.01755 0.918737 0.739368 0.584 0.441307 0.28416 +0.242507 0.234933 0.217893 0.000993333 0.216 0.00096 0.00094 0.00092 +0.000886667 0.000893333 0.000886667 0.000866667 0.000846667 0.00088 0.000873333 0.000846667 +0.000873333 0.00088 0.00088 0.000886667 0.000853333 0.000833333 0.000833333 0.000833333 +0.00082 0.000826667 0.00084 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000873333 0.00084 +0.00082 0.000813333 0.000826667 0.000806667 0.000826667 0.000833333 0.000833333 0.000833333 +0.0008 0.000793333 0.000793333 0.000806667 0.000833333 0.00084 0.00084 0.000826667 +0.000833333 0.000826667 0.000873333 0.000873333 0.000853333 0.000846667 0.000873333 0.000906667 +0.000886667 0.000906667 0.000926667 0.000966667 0.000946667 0.000953333 0.000946667 0.000986667 +0.223573 0.265227 0.38072 0.542316 0.690737 0.875789 1.00743 1.04727 +1.0551 1.04531 1.00645 0.885263 0.714105 0.580842 0.508842 0.5 +0.548632 0.662947 0.823368 0.978105 1.01494 0.989143 0.850526 0.674316 +0.546105 0.445093 0.373147 0.34664 0.325813 0.308773 0.29552 0.282267 +0.26712 0.263333 0.259547 0.25008 0.240613 0.23304 0.23304 0.236827 +0.225467 0.225467 0.217893 0.223573 0.219787 0.216 0.234933 0.23304 +0.229253 0.231147 0.223573 0.219787 0.219787 0.229253 0.23304 0.22736 +0.23304 0.23304 0.217893 0.000993333 0.216 0.22168 0.216 0.216 +0.216 0.00098 0.000973333 0.00098 0.00098 0.00096 0.000993333 0.216 +0.217893 0.000993333 0.217893 0.217893 0.000966667 0.000953333 0.000986667 0.000993333 +0.216 0.216 0.00096 0.00094 0.000946667 0.000926667 0.000933333 0.000973333 +0.000986667 0.000966667 0.00094 0.000926667 0.000946667 0.000946667 0.000933333 0.000933333 +0.000966667 0.000946667 0.0009 0.00094 0.000933333 0.000906667 0.000913333 0.00094 +0.000913333 0.00088 0.0009 0.00094 0.000926667 0.000913333 0.000946667 0.000946667 +0.00096 0.00096 0.000953333 0.000953333 0.000973333 0.00094 0.00096 0.000953333 +0.00096 0.00096 0.0009 0.00088 0.000893333 0.000913333 0.000913333 0.000893333 +0.000913333 0.000946667 0.000973333 0.000946667 0.000966667 0.000933333 0.000913333 0.000906667 +0.000926667 0.00094 0.000933333 0.000973333 0.000953333 0.000886667 0.000913333 0.000926667 +0.000913333 0.00092 0.000926667 0.000913333 0.000926667 0.000893333 0.000926667 0.00094 +0.000933333 0.000906667 0.000946667 0.0009 0.000906667 0.000933333 0.000906667 0.000933333 +0.00096 0.00094 0.00094 0.000933333 0.00096 0.000973333 0.000946667 0.00094 +0.000973333 0.000973333 0.000953333 0.000913333 0.000913333 0.000886667 0.000873333 0.000846667 +0.0009 0.000913333 0.00092 0.00092 0.000946667 0.00092 0.000926667 0.00094 +0.00094 0.00094 0.00096 0.000953333 0.000946667 0.000913333 0.000893333 0.000926667 +0.0009 0.000913333 0.000933333 0.000906667 0.000893333 0.000893333 0.000953333 0.000953333 +0.00094 0.000973333 0.00096 0.000946667 0.000933333 0.00092 0.0009 0.000926667 +0.0009 0.0009 0.000946667 0.000946667 0.00094 0.000913333 0.000933333 0.000926667 +0.0009 0.0009 0.000953333 0.000953333 0.0009 0.00096 0.000946667 0.00092 +0.000926667 0.000926667 0.00094 0.00096 0.000953333 0.00092 0.000893333 0.00094 +0.000973333 0.000966667 0.000946667 0.000926667 0.0009 0.000906667 0.000946667 0.00094 +0.000913333 0.000946667 0.000933333 0.000933333 0.000973333 0.00096 0.00092 0.000933333 +0.000953333 0.00096 0.000953333 0.00092 0.000933333 0.000933333 0.000946667 0.000986667 +0.000966667 0.000933333 0.000913333 0.000953333 0.00096 0.000966667 0.00094 0.000933333 +0.000966667 0.00096 0.00096 0.000986667 0.000953333 0.00094 0.00094 0.000926667 +0.000966667 0.000946667 0.00094 0.000986667 0.217893 0.000973333 0.000986667 0.000973333 +0.000946667 0.00094 0.000953333 0.000946667 0.00094 0.00096 0.000973333 0.00096 +0.000993333 0.216 0.000966667 0.00096 0.000966667 0.000946667 0.00098 0.000993333 +0.000986667 0.000973333 0.00096 0.000933333 0.000946667 0.00098 0.000953333 0.000966667 +0.000966667 0.00094 0.000926667 0.00098 0.00096 0.000973333 0.000993333 0.216 +0.000966667 0.216 0.000993333 0.000973333 0.00096 0.00096 0.00096 0.000953333 +0.000953333 0.000953333 0.000946667 0.000926667 0.00094 0.000966667 0.216 0.217893 +0.216 0.00098 0.22168 0.219787 0.00098 0.22168 0.223573 0.223573 +0.231147 0.229253 0.225467 0.22168 0.219787 0.225467 0.234933 0.236827 +0.240613 0.236827 0.236827 0.236827 0.248187 0.257653 0.259547 0.265227 +0.282267 0.28416 0.293627 0.30688 0.342853 0.411013 0.534737 0.644632 +0.803789 0.967368 1.01657 0.987184 0.836632 0.673684 0.554316 0.486747 +0.4716 0.522737 0.604211 0.739368 0.904842 1.01069 1.04531 1.05543 +1.04727 1.01233 0.899789 0.716632 0.566316 0.424267 0.291733 0.234933 +0.216 0.225467 0.000993333 0.000986667 0.219787 0.000926667 0.000886667 0.00092 +0.000893333 0.0009 0.000893333 0.00086 0.000846667 0.000866667 0.00086 0.00086 +0.000886667 0.000866667 0.000853333 0.000866667 0.00086 0.000846667 0.00082 0.00084 +0.000826667 0.000806667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000886667 +0.000853333 0.000833333 0.0008 0.000826667 0.000866667 0.000813333 0.000813333 0.00082 +0.0008 0.000813333 0.000813333 0.00084 0.00084 0.00084 0.00084 0.000806667 +0.000786667 0.000833333 0.000866667 0.00084 0.00084 0.000853333 0.000866667 0.000866667 +0.00088 0.000886667 0.000906667 0.000933333 0.000926667 0.00094 0.000933333 0.217893 +0.223573 0.225467 0.257653 0.361787 0.537895 0.683789 0.872 1.00547 +1.04498 1.05347 1.04694 1.01004 0.890947 0.716632 0.582737 0.514526 +0.503789 0.549263 0.657895 0.817053 0.970526 1.01363 0.98849 0.849263 +0.682526 0.554947 0.462133 0.399653 0.373147 0.331493 0.303093 0.287947 +0.274693 0.269013 0.257653 0.257653 0.25576 0.240613 0.234933 0.231147 +0.229253 0.229253 0.23304 0.23304 0.225467 0.22736 0.231147 0.231147 +0.22736 0.225467 0.22736 0.22168 0.225467 0.234933 0.22736 0.223573 +0.231147 0.22736 0.000993333 0.219787 0.22168 0.217893 0.219787 0.000993333 +0.000993333 0.219787 0.000986667 0.00098 0.000953333 0.000966667 0.000986667 0.216 +0.000993333 0.216 0.000993333 0.000966667 0.000986667 0.000986667 0.000973333 0.000973333 +0.000953333 0.00096 0.000966667 0.000953333 0.000946667 0.000913333 0.00094 0.000953333 +0.00096 0.000966667 0.000953333 0.000933333 0.00094 0.00094 0.000953333 0.00094 +0.000946667 0.0009 0.0009 0.000946667 0.000913333 0.000906667 0.000913333 0.000913333 +0.000913333 0.00092 0.000933333 0.000933333 0.00092 0.000933333 0.000973333 0.000953333 +0.00096 0.00096 0.00094 0.000933333 0.000946667 0.000953333 0.00094 0.000926667 +0.000933333 0.00094 0.000913333 0.000926667 0.000906667 0.000893333 0.000913333 0.000913333 +0.000933333 0.000966667 0.000966667 0.000933333 0.00094 0.000933333 0.000926667 0.00092 +0.00092 0.000933333 0.000933333 0.00096 0.000946667 0.000913333 0.000913333 0.000933333 +0.000926667 0.000946667 0.00094 0.000953333 0.000926667 0.000906667 0.000926667 0.00094 +0.00092 0.000913333 0.00092 0.000893333 0.000933333 0.000946667 0.000913333 0.000933333 +0.00096 0.00094 0.00094 0.000946667 0.000966667 0.000946667 0.000933333 0.000953333 +0.000953333 0.000926667 0.00092 0.000906667 0.000926667 0.000906667 0.00088 0.00086 +0.000906667 0.000946667 0.000946667 0.000946667 0.00096 0.000946667 0.000946667 0.000953333 +0.000953333 0.000933333 0.000933333 0.000926667 0.00096 0.000926667 0.00088 0.000893333 +0.000873333 0.000933333 0.00094 0.0009 0.0009 0.000886667 0.000933333 0.00094 +0.00094 0.00098 0.000946667 0.000926667 0.000933333 0.00092 0.000906667 0.000933333 +0.000893333 0.0009 0.00094 0.00096 0.00092 0.000893333 0.000933333 0.000933333 +0.00092 0.000906667 0.00092 0.00092 0.000886667 0.000946667 0.000933333 0.00094 +0.000913333 0.00088 0.000933333 0.000986667 0.00096 0.000933333 0.000933333 0.00096 +0.00096 0.000946667 0.000933333 0.000933333 0.00092 0.000906667 0.000946667 0.00094 +0.000933333 0.00098 0.000966667 0.00092 0.000946667 0.000946667 0.000933333 0.00094 +0.00096 0.000946667 0.000946667 0.000933333 0.000946667 0.000946667 0.00094 0.000946667 +0.00094 0.000953333 0.000926667 0.000946667 0.000926667 0.000933333 0.000933333 0.000926667 +0.00096 0.000953333 0.000946667 0.000973333 0.000973333 0.000953333 0.000953333 0.000926667 +0.00094 0.000933333 0.000946667 0.00098 0.000993333 0.000966667 0.000973333 0.00098 +0.00096 0.00096 0.00094 0.000966667 0.000946667 0.000946667 0.000946667 0.000986667 +0.216 0.216 0.216 0.00098 0.000953333 0.000953333 0.00096 0.000986667 +0.217893 0.216 0.00096 0.00092 0.00094 0.000986667 0.000953333 0.000946667 +0.000966667 0.000973333 0.00094 0.000973333 0.000973333 0.000993333 0.000993333 0.217893 +0.217893 0.000993333 0.00098 0.000966667 0.000973333 0.00098 0.000986667 0.216 +0.000973333 0.000966667 0.000973333 0.00096 0.00094 0.000946667 0.000973333 0.000993333 +0.219787 0.00098 0.000993333 0.223573 0.217893 0.223573 0.229253 0.223573 +0.23304 0.22736 0.229253 0.22168 0.229253 0.23304 0.23304 0.240613 +0.246293 0.246293 0.240613 0.236827 0.248187 0.263333 0.270907 0.27848 +0.28984 0.297413 0.31256 0.348533 0.40912 0.528421 0.654105 0.824 +0.974316 1.01396 0.98098 0.829684 0.666105 0.548632 0.4716 0.46592 +0.527158 0.614947 0.757684 0.917474 1.01429 1.04759 1.05412 1.04629 +1.00678 0.881474 0.705263 0.554947 0.395867 0.280373 0.240613 0.219787 +0.00096 0.000993333 0.223573 0.000993333 0.000966667 0.0009 0.000873333 0.000906667 +0.0009 0.0009 0.00088 0.000886667 0.0009 0.00088 0.000846667 0.000846667 +0.000866667 0.000866667 0.00086 0.000846667 0.000853333 0.00088 0.000866667 0.00084 +0.000853333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000906667 0.00086 0.000786667 0.000833333 0.000853333 0.000806667 0.000826667 0.000813333 +0.000826667 0.00082 0.000833333 0.000853333 0.00082 0.0008 0.000793333 0.000813333 +0.000813333 0.000833333 0.00082 0.000806667 0.00084 0.000833333 0.000846667 0.000853333 +0.000873333 0.000873333 0.00088 0.0009 0.00092 0.00092 0.00094 0.00098 +0.000986667 0.225467 0.225467 0.25576 0.361787 0.534105 0.677474 0.861263 +1.00122 1.04204 1.05314 1.04727 1.01135 0.896632 0.724842 0.587158 +0.516421 0.504421 0.546737 0.655368 0.813895 0.964211 1.01037 0.990776 +0.865053 0.704632 0.581474 0.519579 0.464027 0.399653 0.34096 0.303093 +0.293627 0.282267 0.2728 0.269013 0.26144 0.253867 0.242507 0.240613 +0.242507 0.234933 0.240613 0.23304 0.22736 0.231147 0.234933 0.231147 +0.219787 0.223573 0.229253 0.229253 0.234933 0.23304 0.23304 0.231147 +0.22168 0.22168 0.000993333 0.219787 0.223573 0.219787 0.223573 0.000986667 +0.217893 0.217893 0.216 0.000986667 0.000986667 0.217893 0.000986667 0.216 +0.00098 0.000986667 0.00098 0.000966667 0.000966667 0.00096 0.00096 0.000966667 +0.000933333 0.000933333 0.00096 0.000966667 0.000933333 0.000906667 0.000933333 0.000953333 +0.000966667 0.000973333 0.00096 0.000946667 0.00094 0.00094 0.00096 0.000953333 +0.000906667 0.000886667 0.00092 0.000926667 0.000886667 0.000906667 0.000926667 0.000913333 +0.00092 0.000946667 0.000973333 0.000953333 0.00094 0.00098 0.000993333 0.000973333 +0.00096 0.000953333 0.000946667 0.00094 0.000946667 0.00096 0.000933333 0.000906667 +0.00092 0.000893333 0.000933333 0.00096 0.000913333 0.000893333 0.000913333 0.000946667 +0.00096 0.000973333 0.00094 0.000933333 0.00094 0.000946667 0.000933333 0.000926667 +0.000913333 0.000926667 0.000946667 0.000953333 0.000933333 0.00094 0.0009 0.00094 +0.000973333 0.000973333 0.000946667 0.000926667 0.000926667 0.00094 0.000933333 0.00094 +0.000926667 0.000946667 0.00092 0.000913333 0.000953333 0.00094 0.000933333 0.00094 +0.00096 0.00096 0.00096 0.00096 0.000946667 0.000926667 0.000933333 0.00094 +0.000933333 0.00092 0.000926667 0.000906667 0.000926667 0.000946667 0.0009 0.0009 +0.000946667 0.000966667 0.00094 0.000906667 0.000946667 0.00094 0.00094 0.000953333 +0.00096 0.00092 0.00092 0.000926667 0.000966667 0.000926667 0.0009 0.000913333 +0.000893333 0.000926667 0.000953333 0.000926667 0.000906667 0.000893333 0.00096 0.000966667 +0.000926667 0.000933333 0.000926667 0.000933333 0.000926667 0.0009 0.000926667 0.00096 +0.000906667 0.000886667 0.000913333 0.00094 0.000913333 0.000886667 0.000913333 0.000913333 +0.000946667 0.000926667 0.00092 0.00092 0.00088 0.000926667 0.000926667 0.000953333 +0.000953333 0.00092 0.000926667 0.000973333 0.00096 0.00094 0.00094 0.00094 +0.00094 0.000926667 0.000933333 0.000946667 0.000946667 0.000906667 0.00094 0.000946667 +0.000946667 0.000993333 0.000966667 0.0009 0.000933333 0.000966667 0.00096 0.000946667 +0.000953333 0.000973333 0.000973333 0.00096 0.000946667 0.000966667 0.00096 0.000933333 +0.000933333 0.000946667 0.000933333 0.000973333 0.000953333 0.000926667 0.000933333 0.00092 +0.000946667 0.000953333 0.00094 0.00096 0.00098 0.000946667 0.000953333 0.00092 +0.000926667 0.000946667 0.000946667 0.00096 0.000993333 0.000966667 0.000946667 0.000966667 +0.000973333 0.000973333 0.00094 0.000973333 0.000986667 0.00096 0.000946667 0.00098 +0.00098 0.000973333 0.000973333 0.000993333 0.00096 0.00096 0.000933333 0.00096 +0.22168 0.22736 0.00098 0.000953333 0.000946667 0.000966667 0.000933333 0.000906667 +0.00094 0.000986667 0.00096 0.000973333 0.00096 0.00098 0.000993333 0.000973333 +0.216 0.219787 0.216 0.000986667 0.000993333 0.000993333 0.000986667 0.216 +0.217893 0.00096 0.000973333 0.216 0.000966667 0.000966667 0.000966667 0.000966667 +0.000993333 0.000973333 0.000986667 0.223573 0.223573 0.216 0.225467 0.223573 +0.231147 0.23304 0.231147 0.22736 0.229253 0.236827 0.246293 0.246293 +0.246293 0.2444 0.248187 0.246293 0.253867 0.269013 0.280373 0.291733 +0.299307 0.316347 0.354213 0.435627 0.539789 0.655368 0.825263 0.981959 +1.01265 0.971789 0.813895 0.654105 0.544211 0.475387 0.462133 0.530316 +0.625053 0.770316 0.937053 1.02016 1.04824 1.05478 1.044 1.00122 +0.863789 0.684421 0.546737 0.384507 0.269013 0.23872 0.223573 0.000973333 +0.000946667 0.000953333 0.000993333 0.00096 0.000893333 0.0009 0.000913333 0.0009 +0.000866667 0.000873333 0.000853333 0.000846667 0.00088 0.0009 0.000866667 0.000846667 +0.000826667 0.00082 0.00084 0.00086 0.00084 0.000853333 0.00088 0.000846667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000873333 0.000873333 0.0008 0.000806667 0.000833333 0.000826667 0.000806667 +0.00082 0.00082 0.00082 0.00082 0.0008 0.000793333 0.0008 0.000833333 +0.000793333 0.000793333 0.000793333 0.000826667 0.00084 0.00084 0.000866667 0.00088 +0.000893333 0.000886667 0.000886667 0.000886667 0.000906667 0.000886667 0.000933333 0.000966667 +0.000993333 0.223573 0.217893 0.23304 0.263333 0.350427 0.529684 0.666737 +0.848632 0.996 1.04041 1.05347 1.0489 1.01396 0.902947 0.728632 +0.590316 0.517684 0.503789 0.546737 0.649684 0.804421 0.959789 1.01429 +0.999265 0.892211 0.755158 0.65979 0.600421 0.554947 0.502526 0.390187 +0.3296 0.3012 0.291733 0.282267 0.2728 0.265227 0.25576 0.25576 +0.2444 0.23872 0.240613 0.240613 0.2444 0.23872 0.236827 0.229253 +0.223573 0.23304 0.23304 0.229253 0.22736 0.219787 0.22736 0.229253 +0.223573 0.223573 0.219787 0.219787 0.216 0.22168 0.22168 0.217893 +0.22168 0.219787 0.223573 0.219787 0.217893 0.217893 0.000966667 0.217893 +0.000993333 0.000973333 0.00096 0.000973333 0.000973333 0.000966667 0.00094 0.000946667 +0.000953333 0.000953333 0.000933333 0.000953333 0.00094 0.000946667 0.000966667 0.000993333 +0.000966667 0.000946667 0.00096 0.000966667 0.000946667 0.00094 0.000946667 0.000933333 +0.000893333 0.000933333 0.000946667 0.000906667 0.000893333 0.00092 0.000926667 0.00094 +0.00094 0.000966667 0.00098 0.000953333 0.00094 0.000973333 0.216 0.000993333 +0.000946667 0.00094 0.000926667 0.000906667 0.000913333 0.000926667 0.000926667 0.000926667 +0.000886667 0.00088 0.00094 0.000946667 0.000906667 0.000886667 0.000926667 0.00096 +0.000973333 0.000953333 0.000933333 0.000933333 0.000966667 0.000946667 0.000926667 0.000926667 +0.000946667 0.000946667 0.000966667 0.000933333 0.000913333 0.000906667 0.000913333 0.000953333 +0.000973333 0.00096 0.000933333 0.00094 0.000953333 0.00094 0.000933333 0.000906667 +0.000893333 0.000953333 0.000926667 0.000933333 0.000973333 0.000946667 0.000946667 0.000946667 +0.000973333 0.000953333 0.000926667 0.00092 0.000946667 0.000946667 0.000913333 0.0009 +0.000913333 0.00092 0.000906667 0.000906667 0.00094 0.00094 0.000906667 0.000946667 +0.216 0.000986667 0.00092 0.000913333 0.000933333 0.00094 0.000926667 0.000926667 +0.000933333 0.000906667 0.000926667 0.00094 0.00098 0.000953333 0.000926667 0.000926667 +0.0009 0.00094 0.000973333 0.000953333 0.000893333 0.000893333 0.000966667 0.000986667 +0.000913333 0.000926667 0.000933333 0.000946667 0.000946667 0.000926667 0.000926667 0.000946667 +0.00092 0.0009 0.00092 0.000946667 0.00094 0.0009 0.000906667 0.000913333 +0.000933333 0.000913333 0.00092 0.000933333 0.00088 0.00092 0.00092 0.000933333 +0.000966667 0.00096 0.000926667 0.000946667 0.000966667 0.000953333 0.00092 0.00094 +0.00096 0.000953333 0.000933333 0.000953333 0.000946667 0.000913333 0.000933333 0.000966667 +0.000953333 0.000953333 0.000926667 0.0009 0.000953333 0.000993333 0.000953333 0.00094 +0.000953333 0.00098 0.00096 0.000946667 0.000926667 0.00096 0.00096 0.000933333 +0.000933333 0.00094 0.000926667 0.000953333 0.000973333 0.000953333 0.00096 0.000933333 +0.000966667 0.000973333 0.000973333 0.000966667 0.000966667 0.00094 0.000946667 0.000946667 +0.00096 0.00096 0.000913333 0.000946667 0.000993333 0.000986667 0.000966667 0.000973333 +0.000986667 0.000986667 0.000953333 0.00096 0.00098 0.000966667 0.000966667 0.00098 +0.000966667 0.00098 0.000966667 0.000993333 0.000986667 0.00096 0.000933333 0.00096 +0.219787 0.231147 0.217893 0.216 0.00098 0.000993333 0.000946667 0.00092 +0.000933333 0.000993333 0.000993333 0.00096 0.000966667 0.000993333 0.216 0.000993333 +0.216 0.000993333 0.217893 0.217893 0.216 0.000993333 0.00098 0.00098 +0.219787 0.217893 0.00096 0.000986667 0.216 0.00098 0.000973333 0.00096 +0.000973333 0.000966667 0.000966667 0.216 0.216 0.000993333 0.000993333 0.22736 +0.23304 0.236827 0.23872 0.229253 0.23872 0.236827 0.253867 0.257653 +0.248187 0.253867 0.25008 0.257653 0.2728 0.280373 0.291733 0.30688 +0.32392 0.356107 0.44888 0.554947 0.680632 0.841053 0.983265 1.01167 +0.958526 0.798105 0.640842 0.535368 0.4716 0.481067 0.539789 0.633263 +0.785474 0.949053 1.02441 1.05086 1.05478 1.04073 0.99502 0.849895 +0.668632 0.530947 0.373147 0.269013 0.231147 0.219787 0.00098 0.000926667 +0.000933333 0.000953333 0.000953333 0.000913333 0.000906667 0.0009 0.00088 0.00088 +0.000873333 0.000853333 0.000873333 0.000826667 0.000806667 0.000886667 0.000873333 0.00084 +0.000846667 0.000853333 0.000846667 0.00084 0.00082 0.0008 0.000846667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00092 0.000873333 0.000813333 0.000833333 0.000806667 0.000813333 +0.000833333 0.000826667 0.0008 0.00078 0.000786667 0.000786667 0.0008 0.000806667 +0.000786667 0.000806667 0.000813333 0.000853333 0.000833333 0.00084 0.000886667 0.00086 +0.000873333 0.00088 0.000873333 0.000886667 0.00092 0.000893333 0.00092 0.00096 +0.000993333 0.000966667 0.000986667 0.22736 0.223573 0.259547 0.354213 0.519579 +0.655368 0.844211 0.99502 1.04106 1.05478 1.04759 1.01461 0.909895 +0.736211 0.590947 0.516421 0.500632 0.540421 0.647789 0.803158 0.956632 +1.01624 1.01069 0.959789 0.882737 0.823368 0.749474 0.649684 0.555579 +0.469707 0.36368 0.314453 0.297413 0.287947 0.2728 0.265227 0.265227 +0.253867 0.25008 0.242507 0.246293 0.25008 0.2444 0.236827 0.23304 +0.23304 0.23304 0.23304 0.23304 0.22168 0.225467 0.229253 0.223573 +0.217893 0.219787 0.22736 0.225467 0.223573 0.000993333 0.000986667 0.219787 +0.217893 0.216 0.217893 0.22168 0.22168 0.219787 0.219787 0.225467 +0.216 0.000986667 0.000973333 0.216 0.00098 0.00098 0.000946667 0.00096 +0.000966667 0.000966667 0.00096 0.000966667 0.00096 0.00098 0.000973333 0.000993333 +0.00096 0.000926667 0.000926667 0.000966667 0.00094 0.000933333 0.000953333 0.000913333 +0.000906667 0.00094 0.00092 0.000913333 0.00094 0.000946667 0.000906667 0.000946667 +0.00098 0.000993333 0.000966667 0.00092 0.000893333 0.000946667 0.000973333 0.000966667 +0.000966667 0.000913333 0.000886667 0.000913333 0.000926667 0.000933333 0.000946667 0.000933333 +0.000893333 0.0009 0.000946667 0.000926667 0.00092 0.0009 0.000933333 0.000946667 +0.00096 0.000966667 0.000906667 0.000906667 0.000953333 0.000946667 0.000926667 0.000953333 +0.000966667 0.00096 0.000953333 0.000913333 0.000906667 0.000926667 0.00096 0.000953333 +0.000933333 0.000966667 0.000926667 0.000926667 0.00094 0.00094 0.000933333 0.0009 +0.000913333 0.000953333 0.000946667 0.00098 0.000966667 0.00092 0.00092 0.000933333 +0.00096 0.000933333 0.000886667 0.000893333 0.000953333 0.00096 0.00092 0.000926667 +0.000926667 0.000926667 0.000906667 0.0009 0.000966667 0.00096 0.00094 0.00098 +0.216 0.000993333 0.00092 0.00092 0.000933333 0.000926667 0.000926667 0.000893333 +0.000913333 0.00092 0.00094 0.000913333 0.00096 0.000946667 0.000926667 0.00092 +0.000913333 0.00096 0.000966667 0.000933333 0.00092 0.000926667 0.00096 0.000953333 +0.000893333 0.00094 0.00094 0.000946667 0.00094 0.00092 0.000913333 0.000926667 +0.00092 0.00094 0.000933333 0.00096 0.00096 0.000926667 0.00094 0.00094 +0.000913333 0.000906667 0.000926667 0.000933333 0.000886667 0.000906667 0.000933333 0.000926667 +0.000966667 0.00096 0.000926667 0.000933333 0.000966667 0.000966667 0.000933333 0.000966667 +0.00098 0.000966667 0.000946667 0.000946667 0.00094 0.00094 0.00094 0.00096 +0.00096 0.000966667 0.00094 0.00092 0.00096 0.000973333 0.000933333 0.00092 +0.000946667 0.216 0.00096 0.000926667 0.00092 0.000953333 0.000946667 0.00094 +0.000933333 0.000933333 0.000926667 0.00094 0.00098 0.000966667 0.000973333 0.000933333 +0.000953333 0.00098 0.00098 0.000966667 0.00096 0.000953333 0.000946667 0.000953333 +0.000973333 0.00096 0.00092 0.00094 0.00098 0.00098 0.000966667 0.000986667 +0.00098 0.000966667 0.000953333 0.000946667 0.00098 0.000993333 0.000993333 0.00098 +0.00098 0.000993333 0.000986667 0.00098 0.000973333 0.00094 0.00094 0.000973333 +0.219787 0.229253 0.225467 0.225467 0.216 0.219787 0.00098 0.000953333 +0.000953333 0.000986667 0.000986667 0.000953333 0.000973333 0.22168 0.217893 0.216 +0.219787 0.000993333 0.000986667 0.00098 0.000993333 0.000973333 0.000973333 0.000986667 +0.223573 0.23304 0.216 0.000993333 0.219787 0.223573 0.22168 0.000986667 +0.000986667 0.216 0.00094 0.000986667 0.223573 0.219787 0.216 0.217893 +0.242507 0.242507 0.234933 0.240613 0.240613 0.2444 0.248187 0.259547 +0.257653 0.263333 0.265227 0.26712 0.28984 0.304987 0.310667 0.325813 +0.359893 0.452667 0.556842 0.694526 0.865053 0.992082 1.00939 0.948421 +0.783579 0.630105 0.527789 0.45456 0.48296 0.547368 0.653474 0.803158 +0.960421 1.02604 1.04922 1.0538 1.03878 0.990122 0.833474 0.657263 +0.522737 0.34096 0.265227 0.234933 0.217893 0.216 0.000986667 0.000933333 +0.000913333 0.000933333 0.0009 0.00088 0.000886667 0.000893333 0.00086 0.000866667 +0.00086 0.000853333 0.00086 0.000866667 0.000846667 0.000886667 0.00088 0.000806667 +0.00082 0.000853333 0.000846667 0.000833333 0.00086 0.000826667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.0009 0.0008 0.000786667 0.000806667 +0.000833333 0.00082 0.00078 0.00076 0.000773333 0.000806667 0.0008 0.000806667 +0.000826667 0.000846667 0.000813333 0.00082 0.000813333 0.00084 0.00088 0.00082 +0.000833333 0.00088 0.0009 0.0009 0.000906667 0.000906667 0.000893333 0.000933333 +0.000973333 0.00094 0.00096 0.000973333 0.219787 0.231147 0.25576 0.33528 +0.517053 0.654737 0.838526 0.993388 1.0391 1.05216 1.04759 1.01853 +0.916211 0.740632 0.596632 0.518947 0.501895 0.541684 0.640842 0.787368 +0.947158 1.01951 1.0329 1.02147 1.00482 0.974947 0.874526 0.74 +0.611789 0.515158 0.376933 0.325813 0.304987 0.286053 0.274693 0.274693 +0.270907 0.265227 0.25008 0.2444 0.248187 0.2444 0.2444 0.2444 +0.23304 0.231147 0.234933 0.234933 0.225467 0.229253 0.22736 0.225467 +0.22168 0.223573 0.225467 0.223573 0.22168 0.000993333 0.223573 0.223573 +0.216 0.217893 0.219787 0.22736 0.217893 0.216 0.22168 0.216 +0.00098 0.000973333 0.216 0.22168 0.000973333 0.000966667 0.000946667 0.000953333 +0.000946667 0.000973333 0.000986667 0.000966667 0.000966667 0.000986667 0.000966667 0.000986667 +0.000966667 0.000926667 0.000913333 0.000933333 0.000906667 0.000933333 0.00094 0.000906667 +0.000913333 0.000933333 0.00094 0.00096 0.000966667 0.000933333 0.000913333 0.000966667 +0.000993333 0.00098 0.000953333 0.000926667 0.000913333 0.00094 0.00094 0.000933333 +0.000966667 0.000906667 0.000893333 0.000946667 0.000946667 0.000933333 0.000973333 0.000953333 +0.000886667 0.000893333 0.000926667 0.000913333 0.000926667 0.000926667 0.00094 0.00096 +0.00098 0.000966667 0.000926667 0.000933333 0.000926667 0.000933333 0.000933333 0.00096 +0.00096 0.00096 0.000913333 0.000926667 0.00096 0.00096 0.000973333 0.000973333 +0.00094 0.000946667 0.000913333 0.00092 0.000926667 0.00096 0.000953333 0.000933333 +0.000926667 0.000933333 0.00094 0.00096 0.000933333 0.000906667 0.0009 0.000946667 +0.00096 0.000933333 0.000906667 0.000906667 0.000946667 0.000966667 0.000953333 0.000953333 +0.000933333 0.000946667 0.00094 0.000913333 0.000973333 0.000973333 0.00094 0.000953333 +0.000986667 0.000986667 0.000926667 0.00092 0.00092 0.00092 0.00092 0.000926667 +0.000953333 0.000946667 0.000933333 0.00092 0.000953333 0.000933333 0.000926667 0.000926667 +0.000926667 0.000953333 0.00094 0.00094 0.000946667 0.000953333 0.000946667 0.000926667 +0.000913333 0.000946667 0.00094 0.000926667 0.00092 0.000933333 0.000946667 0.00094 +0.00094 0.000946667 0.000933333 0.00096 0.000953333 0.00092 0.000933333 0.00094 +0.000933333 0.000933333 0.000933333 0.00094 0.0009 0.000886667 0.000906667 0.000913333 +0.000926667 0.00094 0.000913333 0.000946667 0.000973333 0.000966667 0.000926667 0.000933333 +0.000953333 0.000953333 0.00096 0.000966667 0.000933333 0.000913333 0.000946667 0.000933333 +0.00094 0.000966667 0.000953333 0.000926667 0.00094 0.00096 0.000953333 0.000926667 +0.000933333 0.000986667 0.00096 0.00094 0.000946667 0.000926667 0.00096 0.000953333 +0.000946667 0.00094 0.00094 0.000926667 0.000973333 0.00098 0.000973333 0.000953333 +0.000946667 0.000966667 0.000953333 0.000953333 0.000966667 0.000966667 0.00094 0.00094 +0.000953333 0.000973333 0.000946667 0.00094 0.00096 0.00098 0.000966667 0.000973333 +0.00098 0.000966667 0.000953333 0.000953333 0.000966667 0.216 0.000986667 0.000953333 +0.000993333 0.216 0.000993333 0.000966667 0.00096 0.000953333 0.00096 0.00096 +0.000993333 0.22168 0.225467 0.219787 0.000986667 0.219787 0.000993333 0.000973333 +0.000953333 0.000973333 0.000993333 0.000973333 0.000966667 0.000993333 0.219787 0.22168 +0.219787 0.000986667 0.216 0.000986667 0.216 0.000986667 0.000966667 0.000986667 +0.22168 0.231147 0.219787 0.219787 0.229253 0.22736 0.216 0.223573 +0.219787 0.225467 0.000993333 0.000973333 0.229253 0.219787 0.000993333 0.22736 +0.234933 0.248187 0.23872 0.240613 0.242507 0.236827 0.25008 0.25576 +0.270907 0.2728 0.276587 0.287947 0.310667 0.356107 0.376933 0.393973 +0.47728 0.565684 0.701474 0.877053 0.997633 1.00971 0.931368 0.766526 +0.618737 0.526526 0.458347 0.479173 0.555579 0.672421 0.827789 0.978737 +1.02898 1.0489 1.05314 1.03616 0.982286 0.817684 0.644 0.515789 +0.342853 0.25576 0.229253 0.000993333 0.00096 0.00096 0.000946667 0.000906667 +0.00092 0.00094 0.000886667 0.00086 0.00086 0.000853333 0.00086 0.000873333 +0.000873333 0.000873333 0.000826667 0.00084 0.000866667 0.00086 0.000853333 0.000833333 +0.00082 0.000833333 0.000813333 0.000813333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000846667 0.00078 0.000773333 +0.000806667 0.0008 0.000773333 0.000793333 0.000813333 0.00082 0.000806667 0.000813333 +0.000813333 0.0008 0.000786667 0.000793333 0.000806667 0.000826667 0.000853333 0.00084 +0.000866667 0.00088 0.000893333 0.0009 0.000873333 0.000886667 0.00092 0.000913333 +0.00092 0.00094 0.00092 0.000946667 0.217893 0.216 0.229253 0.259547 +0.337173 0.512 0.648421 0.833474 0.989796 1.03845 1.05347 1.0489 +1.0182 0.924421 0.748211 0.602947 0.522105 0.496213 0.532842 0.624421 +0.767789 0.924421 1.01624 1.04694 1.05086 1.04563 1.0218 0.956632 +0.805053 0.643368 0.525263 0.40912 0.339067 0.314453 0.293627 0.27848 +0.276587 0.282267 0.270907 0.257653 0.246293 0.2444 0.2444 0.240613 +0.23872 0.236827 0.23872 0.234933 0.234933 0.231147 0.223573 0.231147 +0.231147 0.219787 0.216 0.223573 0.217893 0.223573 0.22736 0.219787 +0.22168 0.22168 0.229253 0.225467 0.000986667 0.000986667 0.217893 0.00098 +0.00096 0.000993333 0.225467 0.223573 0.000973333 0.000966667 0.000966667 0.00096 +0.00096 0.000986667 0.000986667 0.000966667 0.000966667 0.000966667 0.00098 0.000973333 +0.000933333 0.000906667 0.000906667 0.000906667 0.000913333 0.00096 0.00094 0.000913333 +0.000933333 0.000946667 0.00098 0.000986667 0.000953333 0.00092 0.000933333 0.00098 +0.00098 0.000946667 0.000933333 0.00094 0.00094 0.000953333 0.00094 0.000926667 +0.00094 0.00092 0.00094 0.00096 0.000946667 0.000946667 0.000966667 0.00094 +0.000873333 0.000913333 0.00094 0.00092 0.000933333 0.000933333 0.00094 0.00094 +0.00096 0.000946667 0.00096 0.000966667 0.000933333 0.000913333 0.000933333 0.000933333 +0.00096 0.000966667 0.000926667 0.00094 0.000966667 0.000933333 0.00096 0.000966667 +0.000953333 0.00094 0.000933333 0.00096 0.000933333 0.000966667 0.00094 0.000946667 +0.00096 0.000946667 0.000926667 0.00094 0.00092 0.000893333 0.000913333 0.000946667 +0.000946667 0.000946667 0.000933333 0.000913333 0.000953333 0.00096 0.000966667 0.00094 +0.00094 0.000966667 0.00092 0.000906667 0.000966667 0.000966667 0.000933333 0.000953333 +0.000993333 0.000966667 0.000913333 0.000926667 0.000933333 0.000933333 0.000906667 0.000953333 +0.000986667 0.000946667 0.000946667 0.000973333 0.000966667 0.000906667 0.00092 0.00094 +0.00096 0.00094 0.000946667 0.000953333 0.00094 0.00094 0.000966667 0.000953333 +0.000933333 0.00096 0.000966667 0.000933333 0.000913333 0.000933333 0.00094 0.000933333 +0.000913333 0.00092 0.00094 0.00096 0.00094 0.00092 0.0009 0.000933333 +0.00096 0.00092 0.000933333 0.000933333 0.000906667 0.00088 0.000893333 0.000913333 +0.000926667 0.000946667 0.000913333 0.000953333 0.216 0.00098 0.00094 0.000933333 +0.000953333 0.00094 0.00094 0.000966667 0.00094 0.000926667 0.00096 0.00094 +0.000933333 0.00094 0.00094 0.000933333 0.000933333 0.000973333 0.000966667 0.000933333 +0.000946667 0.00098 0.00096 0.000946667 0.000946667 0.000946667 0.000973333 0.00096 +0.00094 0.000953333 0.000946667 0.00092 0.000946667 0.000986667 0.000973333 0.00098 +0.00096 0.000966667 0.000953333 0.00094 0.000973333 0.00096 0.000953333 0.000953333 +0.000946667 0.000953333 0.00094 0.000953333 0.000966667 0.000986667 0.000973333 0.000953333 +0.000966667 0.000993333 0.00098 0.000953333 0.000953333 0.000993333 0.216 0.000973333 +0.216 0.000993333 0.00098 0.000973333 0.000986667 0.000966667 0.000966667 0.000953333 +0.00098 0.225467 0.22736 0.22168 0.219787 0.217893 0.000993333 0.000993333 +0.00098 0.00098 0.000993333 0.000966667 0.000973333 0.00098 0.216 0.223573 +0.225467 0.000993333 0.217893 0.216 0.216 0.219787 0.216 0.216 +0.217893 0.229253 0.225467 0.216 0.22168 0.231147 0.22168 0.229253 +0.231147 0.219787 0.22736 0.225467 0.231147 0.23304 0.217893 0.22736 +0.242507 0.240613 0.2444 0.240613 0.246293 0.2444 0.253867 0.269013 +0.280373 0.293627 0.297413 0.331493 0.40344 0.509474 0.543579 0.565053 +0.617474 0.733053 0.891579 1.00057 1.00645 0.92 0.748842 0.606105 +0.523368 0.473493 0.505684 0.567579 0.688842 0.851158 0.988816 1.03486 +1.05151 1.05053 1.03094 0.966737 0.797474 0.628211 0.507579 0.3296 +0.251973 0.234933 0.216 0.000966667 0.000966667 0.000946667 0.000886667 0.00086 +0.00084 0.00088 0.000873333 0.000886667 0.000893333 0.000866667 0.000873333 0.00086 +0.000846667 0.000866667 0.00088 0.000846667 0.000846667 0.00084 0.00082 0.00082 +0.000826667 0.00082 0.00084 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000846667 0.000773333 +0.00078 0.00076 0.000793333 0.000833333 0.000806667 0.00078 0.000793333 0.000813333 +0.000786667 0.0008 0.000806667 0.000806667 0.000813333 0.0008 0.000833333 0.000873333 +0.00086 0.00084 0.000866667 0.000873333 0.000866667 0.000866667 0.00088 0.00088 +0.000893333 0.000906667 0.000913333 0.000933333 0.000946667 0.000953333 0.219787 0.231147 +0.253867 0.331493 0.512 0.642737 0.821474 0.986204 1.03812 1.05216 +1.0502 1.02147 0.925053 0.754526 0.609895 0.527158 0.496213 0.526526 +0.605474 0.738105 0.896632 1.00939 1.04955 1.07217 1.06456 1.04204 +0.989469 0.836 0.668 0.542316 0.441307 0.365573 0.320133 0.3012 +0.291733 0.291733 0.286053 0.270907 0.257653 0.25576 0.246293 0.242507 +0.242507 0.23872 0.234933 0.242507 0.2444 0.23872 0.236827 0.234933 +0.223573 0.223573 0.22736 0.223573 0.219787 0.229253 0.219787 0.223573 +0.231147 0.223573 0.22168 0.216 0.217893 0.216 0.000993333 0.000973333 +0.000973333 0.225467 0.231147 0.223573 0.000986667 0.00096 0.00096 0.000973333 +0.000993333 0.216 0.000973333 0.00098 0.000986667 0.000993333 0.00098 0.00092 +0.000866667 0.000913333 0.000946667 0.000953333 0.000986667 0.00098 0.000926667 0.000953333 +0.000986667 0.000973333 0.000966667 0.000966667 0.000953333 0.000933333 0.000946667 0.000966667 +0.000973333 0.000946667 0.000933333 0.00094 0.00094 0.00094 0.00094 0.000933333 +0.000926667 0.00094 0.00096 0.000973333 0.000946667 0.000946667 0.00094 0.000906667 +0.0009 0.00096 0.00096 0.000926667 0.000933333 0.000946667 0.000946667 0.000933333 +0.000933333 0.000926667 0.000953333 0.000966667 0.000926667 0.0009 0.00092 0.00094 +0.00098 0.000966667 0.00094 0.000946667 0.000933333 0.00092 0.000946667 0.00096 +0.217893 0.00094 0.00094 0.000966667 0.000946667 0.000926667 0.000933333 0.000946667 +0.00094 0.000946667 0.000933333 0.000933333 0.000893333 0.00088 0.00092 0.00092 +0.000913333 0.000933333 0.00092 0.000926667 0.00096 0.000953333 0.000966667 0.00098 +0.000986667 0.000973333 0.0009 0.000906667 0.00096 0.000933333 0.00094 0.00096 +0.00098 0.000946667 0.00092 0.000933333 0.00094 0.000906667 0.00092 0.000973333 +0.000966667 0.000946667 0.00096 0.00096 0.00096 0.000933333 0.000913333 0.000926667 +0.000946667 0.00096 0.00096 0.00094 0.00092 0.000926667 0.000986667 0.00098 +0.000946667 0.000986667 0.216 0.000946667 0.000926667 0.00094 0.000926667 0.000906667 +0.000913333 0.000913333 0.000946667 0.216 0.000973333 0.000926667 0.000913333 0.00096 +0.000966667 0.000926667 0.000933333 0.000946667 0.000926667 0.000906667 0.000926667 0.00094 +0.00098 0.000966667 0.000926667 0.000933333 0.000993333 0.000993333 0.000926667 0.000933333 +0.000953333 0.000953333 0.0009 0.00092 0.000953333 0.000973333 0.00098 0.000933333 +0.000946667 0.000966667 0.00098 0.000933333 0.000913333 0.000946667 0.00096 0.00094 +0.000946667 0.000993333 0.000986667 0.00096 0.000953333 0.000946667 0.000966667 0.000953333 +0.000933333 0.000946667 0.000953333 0.00094 0.00096 0.00098 0.00096 0.000973333 +0.000966667 0.000966667 0.000973333 0.000933333 0.000953333 0.000953333 0.000953333 0.00096 +0.000946667 0.000946667 0.000933333 0.00094 0.000993333 0.00098 0.00098 0.00094 +0.000946667 0.000993333 0.000986667 0.000953333 0.000953333 0.000966667 0.000986667 0.000993333 +0.000993333 0.000993333 0.00098 0.00098 0.000973333 0.00096 0.000973333 0.00098 +0.00098 0.223573 0.231147 0.225467 0.219787 0.216 0.216 0.216 +0.000986667 0.000993333 0.219787 0.000993333 0.000986667 0.000993333 0.217893 0.219787 +0.225467 0.219787 0.000993333 0.216 0.22168 0.22168 0.225467 0.217893 +0.216 0.229253 0.22736 0.219787 0.000993333 0.229253 0.231147 0.22736 +0.23304 0.231147 0.231147 0.23304 0.23872 0.246293 0.242507 0.234933 +0.242507 0.25008 0.2444 0.251973 0.25576 0.251973 0.269013 0.282267 +0.303093 0.322027 0.344747 0.435627 0.560632 0.670526 0.746947 0.781053 +0.836 0.945895 1.00906 1.00122 0.894105 0.730526 0.595368 0.515158 +0.47728 0.510105 0.585895 0.714737 0.872 0.996 1.0378 1.05216 +1.05184 1.02735 0.953474 0.774737 0.608632 0.486747 0.316347 0.259547 +0.22736 0.217893 0.000986667 0.000946667 0.00094 0.000926667 0.000906667 0.00088 +0.000846667 0.000853333 0.000833333 0.00082 0.000866667 0.00086 0.000886667 0.00088 +0.00086 0.000833333 0.00084 0.000826667 0.000833333 0.00086 0.00082 0.000806667 +0.000826667 0.000826667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000833333 +0.0008 0.000786667 0.000813333 0.000786667 0.00078 0.00078 0.00078 0.000786667 +0.000773333 0.000806667 0.000806667 0.0008 0.000806667 0.000826667 0.000846667 0.000853333 +0.000826667 0.00082 0.000846667 0.00086 0.00086 0.000826667 0.00084 0.000873333 +0.00088 0.000886667 0.00092 0.00094 0.000926667 0.000946667 0.00098 0.000993333 +0.231147 0.263333 0.325813 0.503789 0.632 0.813263 0.983918 1.0378 +1.0551 1.05053 1.02245 0.935158 0.767158 0.623789 0.532211 0.5 +0.515789 0.585263 0.708421 0.865053 0.997633 1.04563 1.07065 1.08282 +1.05053 1.00318 0.868842 0.700842 0.572 0.486747 0.38072 0.34096 +0.314453 0.3012 0.291733 0.27848 0.274693 0.263333 0.25008 0.253867 +0.251973 0.242507 0.242507 0.251973 0.2444 0.2444 0.240613 0.231147 +0.229253 0.234933 0.234933 0.229253 0.229253 0.22736 0.22168 0.225467 +0.225467 0.22168 0.22168 0.216 0.22168 0.216 0.216 0.000973333 +0.219787 0.231147 0.22168 0.219787 0.00098 0.00096 0.000966667 0.000986667 +0.000993333 0.000986667 0.00098 0.000973333 0.000973333 0.000986667 0.000946667 0.0009 +0.00092 0.00096 0.000966667 0.000993333 0.000993333 0.000933333 0.000926667 0.000993333 +0.00098 0.00094 0.000946667 0.00096 0.000946667 0.000946667 0.000953333 0.00094 +0.000946667 0.000933333 0.00094 0.00094 0.000946667 0.000913333 0.00092 0.000926667 +0.000933333 0.000966667 0.00096 0.00094 0.000933333 0.00094 0.000933333 0.00092 +0.000946667 0.000966667 0.000953333 0.000933333 0.000926667 0.00094 0.00094 0.000953333 +0.00094 0.000926667 0.00096 0.000966667 0.000933333 0.00092 0.000926667 0.00098 +0.00098 0.00096 0.00094 0.000966667 0.00096 0.000953333 0.000973333 0.000973333 +0.219787 0.000933333 0.000933333 0.00094 0.000926667 0.000933333 0.000946667 0.000906667 +0.000906667 0.00094 0.000926667 0.000926667 0.000893333 0.000926667 0.00098 0.00094 +0.00092 0.000926667 0.000913333 0.000953333 0.000966667 0.000946667 0.000966667 0.000966667 +0.00098 0.00094 0.000913333 0.00092 0.00094 0.000913333 0.000953333 0.000973333 +0.000966667 0.000933333 0.000926667 0.000913333 0.00092 0.00094 0.000946667 0.000966667 +0.000933333 0.00094 0.000953333 0.000953333 0.000946667 0.000953333 0.000913333 0.000893333 +0.000933333 0.000973333 0.000966667 0.00092 0.0009 0.00092 0.000973333 0.217893 +0.000966667 0.000973333 0.000986667 0.000966667 0.00096 0.000973333 0.000906667 0.000933333 +0.000953333 0.000933333 0.00094 0.216 0.00098 0.000933333 0.00094 0.000973333 +0.00094 0.00094 0.000926667 0.00094 0.000933333 0.000926667 0.00094 0.000946667 +0.000966667 0.00096 0.00094 0.00094 0.00098 0.000986667 0.000933333 0.000926667 +0.000933333 0.000926667 0.000906667 0.000926667 0.000973333 0.000966667 0.000953333 0.000906667 +0.00094 0.00098 0.00098 0.00092 0.000926667 0.000986667 0.000986667 0.00094 +0.000933333 0.000993333 0.000993333 0.00096 0.00094 0.000933333 0.000933333 0.00092 +0.00094 0.000946667 0.000946667 0.000946667 0.000973333 0.000986667 0.00096 0.000946667 +0.00094 0.00092 0.000966667 0.000953333 0.00094 0.00096 0.000966667 0.000986667 +0.000966667 0.000946667 0.000946667 0.00092 0.00098 0.000986667 0.00098 0.00096 +0.000946667 0.000986667 0.00098 0.000953333 0.000966667 0.00096 0.000953333 0.000966667 +0.00098 0.217893 0.000986667 0.000973333 0.000966667 0.000973333 0.000986667 0.00098 +0.000953333 0.00098 0.231147 0.229253 0.216 0.000993333 0.22168 0.217893 +0.000993333 0.216 0.225467 0.225467 0.217893 0.000986667 0.217893 0.217893 +0.219787 0.22168 0.216 0.217893 0.22736 0.22168 0.229253 0.229253 +0.22168 0.225467 0.223573 0.217893 0.000986667 0.219787 0.231147 0.231147 +0.23872 0.23304 0.234933 0.23872 0.242507 0.253867 0.25008 0.253867 +0.251973 0.251973 0.253867 0.259547 0.274693 0.270907 0.280373 0.304987 +0.3296 0.3864 0.486747 0.580211 0.731158 0.890316 0.976842 0.992735 +1.01004 1.02408 0.997306 0.868211 0.704 0.577684 0.512 0.48296 +0.515789 0.593474 0.729263 0.897263 1.00416 1.03943 1.05216 1.05086 +1.02441 0.938316 0.763368 0.596632 0.456453 0.299307 0.240613 0.234933 +0.219787 0.000973333 0.00096 0.000933333 0.00088 0.000886667 0.000906667 0.00086 +0.000833333 0.000866667 0.000853333 0.000806667 0.000826667 0.00084 0.000846667 0.00086 +0.00084 0.000833333 0.000833333 0.0008 0.000773333 0.000826667 0.000846667 0.000793333 +0.00082 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000833333 0.000813333 0.000766667 0.000786667 0.000813333 0.000786667 0.000766667 0.000773333 +0.00076 0.00078 0.000793333 0.000806667 0.000813333 0.000846667 0.00084 0.000806667 +0.00082 0.00084 0.000833333 0.000853333 0.000846667 0.000846667 0.000853333 0.000826667 +0.000873333 0.00094 0.000933333 0.00092 0.000926667 0.00094 0.000933333 0.000986667 +0.22168 0.23304 0.253867 0.32392 0.503789 0.625053 0.806316 0.981959 +1.03616 1.05314 1.05282 1.02506 0.945263 0.785474 0.633263 0.536 +0.48864 0.505684 0.563789 0.674316 0.822737 0.976842 1.03584 1.06913 +1.10413 1.05804 1.01984 0.92 0.752 0.611789 0.522105 0.433733 +0.367467 0.32392 0.29552 0.28416 0.28416 0.2728 0.265227 0.270907 +0.263333 0.253867 0.257653 0.251973 0.2444 0.240613 0.234933 0.23872 +0.240613 0.23304 0.229253 0.234933 0.236827 0.225467 0.223573 0.22736 +0.225467 0.225467 0.219787 0.217893 0.219787 0.223573 0.22168 0.217893 +0.229253 0.217893 0.000993333 0.00098 0.00098 0.00096 0.00098 0.00098 +0.000966667 0.000953333 0.000986667 0.000986667 0.00098 0.000953333 0.000913333 0.000913333 +0.000953333 0.000993333 0.00098 0.216 0.000986667 0.000926667 0.00092 0.00098 +0.000953333 0.000926667 0.00096 0.00098 0.000966667 0.00096 0.00096 0.00094 +0.00094 0.00094 0.000946667 0.00094 0.000946667 0.00092 0.000913333 0.000926667 +0.000953333 0.00098 0.000986667 0.00094 0.00094 0.000953333 0.000933333 0.00094 +0.000966667 0.00096 0.000933333 0.00092 0.000933333 0.00094 0.000926667 0.000946667 +0.000933333 0.00094 0.00098 0.000966667 0.00094 0.00094 0.00094 0.00098 +0.000993333 0.000973333 0.000946667 0.00098 0.000966667 0.000973333 0.000966667 0.000986667 +0.000966667 0.000926667 0.00094 0.000953333 0.00094 0.000933333 0.000933333 0.0009 +0.00092 0.000946667 0.00094 0.000926667 0.000906667 0.000953333 0.000973333 0.000973333 +0.000973333 0.00094 0.000933333 0.000966667 0.000966667 0.000953333 0.000946667 0.000926667 +0.000966667 0.000946667 0.000926667 0.000946667 0.00096 0.000946667 0.000973333 0.000966667 +0.000966667 0.000933333 0.0009 0.000906667 0.000953333 0.000973333 0.000953333 0.000966667 +0.000946667 0.00094 0.00094 0.000953333 0.00096 0.00098 0.000913333 0.000893333 +0.00094 0.000973333 0.00098 0.00094 0.00092 0.000926667 0.00098 0.223573 +0.00098 0.00096 0.000986667 0.000993333 0.000966667 0.00096 0.00092 0.000926667 +0.000953333 0.000966667 0.000966667 0.000966667 0.000966667 0.00094 0.000926667 0.000946667 +0.000913333 0.00094 0.00094 0.00094 0.000953333 0.000906667 0.00094 0.000953333 +0.000973333 0.000973333 0.000953333 0.00094 0.000986667 0.000986667 0.00094 0.000926667 +0.000946667 0.00092 0.000906667 0.000953333 0.000966667 0.000946667 0.000953333 0.000933333 +0.00094 0.000986667 0.000966667 0.000946667 0.00094 0.216 0.217893 0.00094 +0.00092 0.216 0.000993333 0.00094 0.000906667 0.000926667 0.000933333 0.000933333 +0.000946667 0.000973333 0.000973333 0.000966667 0.00096 0.000973333 0.000973333 0.00094 +0.000926667 0.00092 0.000986667 0.000986667 0.000953333 0.00098 0.000966667 0.00098 +0.000966667 0.00094 0.000966667 0.000926667 0.00096 0.000973333 0.000973333 0.000993333 +0.000973333 0.000966667 0.00098 0.000973333 0.000973333 0.00096 0.000966667 0.00098 +0.000986667 0.216 0.000986667 0.216 0.00098 0.000986667 0.000993333 0.000966667 +0.00096 0.00096 0.229253 0.229253 0.217893 0.219787 0.219787 0.217893 +0.000986667 0.000993333 0.223573 0.22736 0.223573 0.216 0.217893 0.22168 +0.217893 0.217893 0.217893 0.22168 0.229253 0.22736 0.22736 0.223573 +0.225467 0.225467 0.225467 0.219787 0.217893 0.219787 0.23872 0.234933 +0.240613 0.23872 0.229253 0.2444 0.248187 0.25008 0.25008 0.257653 +0.259547 0.263333 0.269013 0.27848 0.28416 0.29552 0.304987 0.348533 +0.429947 0.522737 0.621263 0.770947 0.943368 1.0231 1.04596 1.0489 +1.03453 0.986531 0.834737 0.677474 0.566316 0.502526 0.469707 0.526526 +0.610526 0.750737 0.909263 1.01004 1.044 1.05216 1.04857 1.01951 +0.925053 0.743789 0.581474 0.441307 0.291733 0.242507 0.219787 0.000966667 +0.00098 0.000966667 0.00092 0.00088 0.000853333 0.000853333 0.00088 0.00086 +0.00082 0.000833333 0.000853333 0.0008 0.000773333 0.00084 0.00086 0.000833333 +0.000833333 0.00082 0.00084 0.000833333 0.000793333 0.000813333 0.000853333 0.00082 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000873333 0.000846667 0.00076 0.000773333 0.00076 0.00076 0.00074 +0.00076 0.000773333 0.0008 0.000826667 0.0008 0.000813333 0.0008 0.000766667 +0.000806667 0.000826667 0.000806667 0.000833333 0.00084 0.00084 0.000826667 0.000846667 +0.000926667 0.00092 0.0009 0.000926667 0.00092 0.0009 0.000933333 0.00098 +0.000973333 0.000993333 0.22736 0.257653 0.31824 0.48296 0.621263 0.8 +0.974316 1.03453 1.05445 1.05151 1.028 0.958526 0.794947 0.639579 +0.539158 0.486747 0.492427 0.542316 0.631368 0.771579 0.931368 1.02278 +1.05869 1.11478 1.09956 1.03812 0.971789 0.820211 0.678105 0.571368 +0.501895 0.384507 0.3296 0.308773 0.291733 0.280373 0.276587 0.276587 +0.270907 0.2728 0.26712 0.25008 0.246293 0.234933 0.23872 0.248187 +0.2444 0.234933 0.23304 0.23304 0.231147 0.223573 0.229253 0.231147 +0.229253 0.223573 0.219787 0.225467 0.22736 0.223573 0.217893 0.231147 +0.22736 0.000986667 0.000993333 0.000966667 0.000953333 0.00096 0.00098 0.000986667 +0.00098 0.00096 0.00098 0.000993333 0.216 0.00096 0.000926667 0.00094 +0.00098 0.000973333 0.000973333 0.000993333 0.000973333 0.000953333 0.000966667 0.00098 +0.000953333 0.00096 0.00098 0.000973333 0.000966667 0.000973333 0.00096 0.00096 +0.000953333 0.000953333 0.00096 0.000933333 0.00092 0.00092 0.000913333 0.000933333 +0.000953333 0.000966667 0.00098 0.000953333 0.000946667 0.00094 0.000906667 0.00092 +0.000966667 0.000946667 0.000913333 0.0009 0.000953333 0.00096 0.00096 0.00098 +0.00094 0.000953333 0.000946667 0.000953333 0.00098 0.000986667 0.00098 0.000986667 +0.217893 0.000973333 0.000953333 0.00098 0.000953333 0.000953333 0.000953333 0.000986667 +0.000946667 0.000913333 0.000946667 0.000966667 0.000946667 0.000953333 0.000953333 0.000946667 +0.000946667 0.000946667 0.00096 0.000933333 0.000926667 0.00096 0.000973333 0.000986667 +0.00098 0.00094 0.000926667 0.000966667 0.000986667 0.000953333 0.000926667 0.00094 +0.000966667 0.00092 0.000906667 0.00096 0.00098 0.000966667 0.000966667 0.000953333 +0.000973333 0.000946667 0.0009 0.00092 0.000966667 0.000946667 0.000933333 0.000946667 +0.000926667 0.000933333 0.00094 0.000966667 0.000953333 0.00098 0.00096 0.00094 +0.000953333 0.000973333 0.00096 0.00094 0.000953333 0.000953333 0.000986667 0.000986667 +0.00094 0.00094 0.000986667 0.00098 0.000953333 0.00096 0.000926667 0.000933333 +0.00096 0.000973333 0.000953333 0.00094 0.000973333 0.00096 0.000906667 0.00092 +0.000926667 0.000946667 0.000946667 0.000966667 0.000953333 0.00092 0.000926667 0.00096 +0.00098 0.00096 0.000946667 0.000933333 0.217893 0.216 0.000926667 0.000926667 +0.00094 0.00094 0.000926667 0.000946667 0.00094 0.00094 0.00094 0.00094 +0.000946667 0.00098 0.000946667 0.00094 0.000926667 0.00098 0.216 0.000953333 +0.000933333 0.000986667 0.00098 0.00094 0.000913333 0.000933333 0.000946667 0.000953333 +0.00096 0.000966667 0.000986667 0.00096 0.000933333 0.000953333 0.000986667 0.000966667 +0.000946667 0.00094 0.00098 0.000986667 0.000973333 0.000993333 0.000966667 0.000953333 +0.000953333 0.000926667 0.00098 0.00094 0.00094 0.000946667 0.000966667 0.216 +0.000986667 0.000966667 0.000986667 0.000986667 0.000973333 0.000926667 0.000953333 0.216 +0.000993333 0.216 0.000993333 0.000986667 0.216 0.00098 0.000986667 0.00098 +0.000966667 0.000973333 0.23304 0.22736 0.000986667 0.217893 0.217893 0.22168 +0.000993333 0.217893 0.225467 0.225467 0.219787 0.000993333 0.223573 0.225467 +0.219787 0.22168 0.22168 0.223573 0.22168 0.223573 0.231147 0.22736 +0.225467 0.225467 0.229253 0.229253 0.23304 0.234933 0.234933 0.236827 +0.234933 0.240613 0.242507 0.2444 0.248187 0.242507 0.25576 0.270907 +0.265227 0.27848 0.282267 0.28984 0.303093 0.32392 0.371253 0.464027 +0.555579 0.663579 0.822737 0.986857 1.04465 1.09652 1.06456 1.03159 +0.961053 0.794947 0.644 0.542316 0.5 0.48296 0.530947 0.628842 +0.774737 0.932 1.01559 1.04498 1.0538 1.04759 1.01331 0.904842 +0.726105 0.569474 0.407227 0.28416 0.2444 0.216 0.000966667 0.000933333 +0.000946667 0.00096 0.000886667 0.00088 0.000886667 0.000866667 0.000846667 0.000833333 +0.00084 0.000833333 0.000826667 0.000826667 0.000793333 0.000786667 0.000846667 0.000833333 +0.000846667 0.000833333 0.000833333 0.000846667 0.000813333 0.00084 0.000853333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000826667 0.000746667 0.00076 0.000766667 0.00074 +0.000753333 0.000766667 0.000793333 0.000786667 0.000773333 0.00078 0.000773333 0.000773333 +0.000806667 0.000793333 0.000793333 0.000826667 0.000833333 0.000826667 0.000846667 0.000886667 +0.00088 0.000866667 0.00092 0.000913333 0.000893333 0.000893333 0.00092 0.00094 +0.00096 0.000973333 0.000966667 0.22736 0.253867 0.303093 0.475387 0.611789 +0.790526 0.969263 1.03127 1.05314 1.0538 1.02931 0.966737 0.805684 +0.649684 0.541684 0.484853 0.467813 0.520211 0.587789 0.714737 0.877684 +1.00416 1.05347 1.11934 1.12847 1.0551 1.00906 0.904211 0.758316 +0.628842 0.531579 0.43752 0.36368 0.316347 0.299307 0.293627 0.28416 +0.280373 0.282267 0.269013 0.263333 0.253867 0.2444 0.248187 0.25008 +0.248187 0.23872 0.236827 0.242507 0.231147 0.223573 0.229253 0.234933 +0.231147 0.229253 0.231147 0.231147 0.22736 0.00098 0.000993333 0.229253 +0.223573 0.217893 0.000993333 0.000946667 0.00096 0.00096 0.00098 0.000993333 +0.000966667 0.000946667 0.000993333 0.225467 0.217893 0.000973333 0.000946667 0.000973333 +0.000993333 0.00098 0.000986667 0.000993333 0.000946667 0.00096 0.000986667 0.000973333 +0.000986667 0.000993333 0.00096 0.000933333 0.000926667 0.000953333 0.00096 0.000973333 +0.000946667 0.000946667 0.00094 0.000926667 0.000926667 0.000953333 0.000926667 0.000933333 +0.000946667 0.00094 0.00096 0.000966667 0.00096 0.000913333 0.0009 0.000933333 +0.000966667 0.000946667 0.000926667 0.000926667 0.000966667 0.00096 0.000986667 0.000973333 +0.000953333 0.00096 0.00094 0.000966667 0.000986667 0.000993333 0.000986667 0.216 +0.000993333 0.000973333 0.000953333 0.000966667 0.000946667 0.000933333 0.000946667 0.000966667 +0.000926667 0.00092 0.000946667 0.000946667 0.000926667 0.00096 0.00096 0.000953333 +0.000953333 0.000946667 0.00098 0.000946667 0.00094 0.00096 0.000986667 0.000973333 +0.00096 0.000926667 0.000906667 0.000946667 0.00096 0.000946667 0.000926667 0.000953333 +0.000946667 0.000893333 0.00094 0.000993333 0.216 0.000966667 0.000973333 0.000953333 +0.00096 0.000946667 0.000926667 0.000953333 0.00096 0.00094 0.000946667 0.000953333 +0.000926667 0.000913333 0.000946667 0.000966667 0.000926667 0.000946667 0.000966667 0.000953333 +0.00096 0.000946667 0.000926667 0.000933333 0.000966667 0.00098 0.000986667 0.000953333 +0.000926667 0.000953333 0.000993333 0.000966667 0.000946667 0.00098 0.000953333 0.00092 +0.000953333 0.000946667 0.000946667 0.00096 0.000986667 0.00096 0.000926667 0.00096 +0.000953333 0.000966667 0.000946667 0.000973333 0.00094 0.000933333 0.00092 0.000933333 +0.00096 0.000953333 0.00094 0.00094 0.000993333 0.217893 0.000933333 0.000926667 +0.000946667 0.000953333 0.00094 0.000953333 0.00096 0.000953333 0.000946667 0.00094 +0.000946667 0.00098 0.000946667 0.000933333 0.00094 0.000986667 0.000993333 0.00094 +0.000946667 0.000986667 0.000973333 0.000946667 0.000946667 0.000946667 0.000946667 0.000966667 +0.000953333 0.000953333 0.000966667 0.000946667 0.000946667 0.000966667 0.000993333 0.00096 +0.00094 0.00096 0.00096 0.000966667 0.000966667 0.000993333 0.000966667 0.000966667 +0.000973333 0.00094 0.000973333 0.000946667 0.00094 0.000946667 0.000966667 0.216 +0.000973333 0.00096 0.000993333 0.216 0.000993333 0.000953333 0.00096 0.219787 +0.000986667 0.216 0.217893 0.000973333 0.219787 0.219787 0.216 0.00098 +0.000966667 0.000966667 0.225467 0.22736 0.219787 0.22168 0.217893 0.219787 +0.217893 0.217893 0.22168 0.219787 0.225467 0.219787 0.22736 0.234933 +0.223573 0.229253 0.22736 0.223573 0.225467 0.231147 0.229253 0.22736 +0.231147 0.234933 0.231147 0.240613 0.246293 0.242507 0.234933 0.23872 +0.240613 0.242507 0.251973 0.253867 0.253867 0.253867 0.265227 0.274693 +0.2728 0.282267 0.297413 0.310667 0.344747 0.4148 0.512632 0.594737 +0.720421 0.877684 1.00645 1.06456 1.14825 1.07674 1.0218 0.917474 +0.752 0.613053 0.529053 0.469707 0.473493 0.539789 0.642105 0.796211 +0.949684 1.02245 1.04824 1.05216 1.04367 1.00678 0.887789 0.707789 +0.554316 0.390187 0.269013 0.225467 0.223573 0.000973333 0.00094 0.00092 +0.000913333 0.000906667 0.000873333 0.000886667 0.00086 0.000853333 0.000853333 0.000813333 +0.000846667 0.00082 0.000806667 0.000846667 0.00088 0.000793333 0.000846667 0.000853333 +0.0008 0.000806667 0.000826667 0.000853333 0.000846667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000846667 0.00076 0.000773333 0.000766667 +0.00076 0.000773333 0.00078 0.00078 0.00078 0.000766667 0.00076 0.000773333 +0.000773333 0.000753333 0.000793333 0.000826667 0.000826667 0.00084 0.000853333 0.00082 +0.000833333 0.00088 0.000906667 0.000873333 0.0009 0.000906667 0.000906667 0.000913333 +0.00094 0.000953333 0.00096 0.22168 0.231147 0.246293 0.299307 0.467813 +0.606105 0.781053 0.960421 1.03029 1.05184 1.05216 1.03224 0.977474 +0.816421 0.656 0.547368 0.48296 0.44888 0.492427 0.549263 0.65979 +0.819579 0.98 1.03878 1.10413 1.15738 1.11478 1.03878 0.981306 +0.841684 0.693263 0.575789 0.503158 0.395867 0.35232 0.32392 0.303093 +0.297413 0.282267 0.269013 0.2728 0.265227 0.259547 0.251973 0.25008 +0.251973 0.240613 0.242507 0.248187 0.23872 0.23304 0.229253 0.234933 +0.234933 0.236827 0.22736 0.22168 0.219787 0.000986667 0.22168 0.223573 +0.219787 0.000993333 0.00098 0.000973333 0.217893 0.000993333 0.000986667 0.000973333 +0.000966667 0.000966667 0.22736 0.23304 0.217893 0.000986667 0.000973333 0.217893 +0.216 0.216 0.219787 0.000993333 0.000953333 0.000953333 0.00098 0.00098 +0.217893 0.00098 0.000946667 0.000946667 0.000933333 0.00094 0.000973333 0.00096 +0.000926667 0.000926667 0.000933333 0.000926667 0.000946667 0.000973333 0.000966667 0.000953333 +0.000926667 0.00092 0.000946667 0.00096 0.000933333 0.000913333 0.000933333 0.00096 +0.000966667 0.000953333 0.000946667 0.000953333 0.00096 0.000973333 0.219787 0.000966667 +0.00098 0.000973333 0.000953333 0.00098 0.000973333 0.000953333 0.00096 0.000966667 +0.000973333 0.000966667 0.000953333 0.000953333 0.000953333 0.000953333 0.00096 0.00096 +0.000913333 0.000933333 0.000953333 0.00094 0.00094 0.00096 0.000946667 0.000986667 +0.217893 0.000966667 0.000973333 0.00092 0.000933333 0.000953333 0.000966667 0.00094 +0.00094 0.000926667 0.000926667 0.00094 0.000926667 0.00094 0.00096 0.00096 +0.000933333 0.00092 0.00098 0.000993333 0.000973333 0.000953333 0.000953333 0.000953333 +0.000953333 0.000953333 0.000946667 0.000933333 0.000926667 0.000946667 0.00098 0.000973333 +0.000953333 0.00094 0.000953333 0.00096 0.000946667 0.000953333 0.000946667 0.00094 +0.000966667 0.000946667 0.00092 0.000933333 0.000973333 0.000986667 0.000973333 0.000953333 +0.000946667 0.000986667 0.217893 0.00098 0.000953333 0.000966667 0.00094 0.00092 +0.000946667 0.000933333 0.00094 0.000993333 0.217893 0.000953333 0.00094 0.000973333 +0.000973333 0.000986667 0.000966667 0.00096 0.000953333 0.000913333 0.000906667 0.00094 +0.000966667 0.216 0.00096 0.000933333 0.00098 0.000993333 0.000953333 0.000946667 +0.000953333 0.00098 0.00094 0.000966667 0.000973333 0.000973333 0.000973333 0.000973333 +0.000966667 0.000973333 0.00094 0.000933333 0.00094 0.00096 0.00098 0.000946667 +0.000953333 0.000993333 0.000966667 0.000926667 0.000926667 0.00094 0.00094 0.00096 +0.000953333 0.000966667 0.000946667 0.00094 0.00094 0.000973333 0.000993333 0.000973333 +0.00094 0.000953333 0.00096 0.000973333 0.00096 0.000966667 0.00096 0.000986667 +0.000986667 0.00096 0.000973333 0.000946667 0.000953333 0.000953333 0.000953333 0.00098 +0.00096 0.000966667 0.000993333 0.219787 0.225467 0.000993333 0.00098 0.216 +0.000973333 0.000986667 0.22168 0.000986667 0.217893 0.223573 0.216 0.000986667 +0.000993333 0.00098 0.000993333 0.223573 0.22736 0.225467 0.22168 0.219787 +0.217893 0.00098 0.219787 0.216 0.229253 0.229253 0.225467 0.229253 +0.225467 0.225467 0.234933 0.231147 0.22168 0.22736 0.225467 0.231147 +0.236827 0.25008 0.242507 0.240613 0.248187 0.242507 0.23872 0.25008 +0.248187 0.240613 0.248187 0.251973 0.26144 0.26144 0.274693 0.286053 +0.291733 0.297413 0.320133 0.367467 0.462133 0.553053 0.657263 0.798737 +0.952211 1.03192 1.11934 1.16651 1.06304 1.00482 0.870737 0.705263 +0.577684 0.512 0.469707 0.479173 0.546105 0.656632 0.814526 0.966737 +1.02441 1.04727 1.05249 1.03845 0.994367 0.859368 0.683158 0.541053 +0.365573 0.26144 0.23304 0.000973333 0.000966667 0.000926667 0.000886667 0.000893333 +0.0009 0.00086 0.000853333 0.000873333 0.000826667 0.000793333 0.000846667 0.000853333 +0.000833333 0.000853333 0.000853333 0.000826667 0.000866667 0.000853333 0.000846667 0.000873333 +0.000853333 0.000826667 0.00082 0.000853333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000866667 0.000813333 0.000793333 +0.000793333 0.0008 0.000786667 0.000766667 0.000753333 0.000753333 0.00078 0.000773333 +0.000753333 0.000766667 0.000813333 0.000806667 0.0008 0.000833333 0.00082 0.000806667 +0.000826667 0.000833333 0.00084 0.000873333 0.000906667 0.0009 0.000926667 0.000913333 +0.000933333 0.000913333 0.000953333 0.000986667 0.217893 0.231147 0.246293 0.297413 +0.452667 0.600421 0.774105 0.949053 1.02441 1.05053 1.05347 1.03388 +0.981633 0.826526 0.667368 0.550526 0.49432 0.441307 0.44888 0.517053 +0.604211 0.748842 0.914947 1.01624 1.05837 1.14825 1.16043 1.06609 +1.01722 0.918737 0.766526 0.635789 0.543579 0.464027 0.371253 0.33528 +0.320133 0.293627 0.28416 0.27848 0.270907 0.2728 0.259547 0.253867 +0.257653 0.248187 0.2444 0.240613 0.240613 0.242507 0.23872 0.240613 +0.234933 0.225467 0.223573 0.22736 0.219787 0.225467 0.231147 0.219787 +0.219787 0.000993333 0.217893 0.000993333 0.22168 0.219787 0.216 0.000966667 +0.000993333 0.219787 0.236827 0.225467 0.00098 0.000966667 0.000993333 0.219787 +0.22168 0.219787 0.000993333 0.000966667 0.000966667 0.00098 0.000986667 0.000973333 +0.000993333 0.000966667 0.000946667 0.000953333 0.000966667 0.000993333 0.219787 0.000946667 +0.000926667 0.000946667 0.00096 0.000953333 0.000966667 0.000953333 0.000973333 0.000973333 +0.000926667 0.00092 0.000946667 0.000953333 0.00094 0.000933333 0.00096 0.00096 +0.00096 0.000946667 0.00096 0.000953333 0.00096 0.00098 0.216 0.00098 +0.217893 0.000973333 0.000966667 0.00096 0.00096 0.000953333 0.000946667 0.000946667 +0.000953333 0.000946667 0.00096 0.000946667 0.000953333 0.00098 0.00098 0.00096 +0.00092 0.000946667 0.00096 0.000946667 0.00096 0.000966667 0.00096 0.22168 +0.216 0.000973333 0.000966667 0.000926667 0.00096 0.000953333 0.000946667 0.000946667 +0.000953333 0.00094 0.00094 0.000953333 0.00094 0.000973333 0.000953333 0.00098 +0.000973333 0.000946667 0.000966667 0.000953333 0.00096 0.000953333 0.000966667 0.000933333 +0.00094 0.00094 0.000946667 0.00094 0.000953333 0.00096 0.000986667 0.000953333 +0.000946667 0.00094 0.00096 0.000946667 0.000946667 0.00096 0.00094 0.00094 +0.000966667 0.000953333 0.000933333 0.00096 0.000986667 0.000993333 0.000966667 0.00098 +0.000986667 0.000966667 0.000986667 0.000986667 0.00096 0.000953333 0.000926667 0.00092 +0.00092 0.00094 0.000966667 0.000986667 0.219787 0.000973333 0.00092 0.000973333 +0.00098 0.000986667 0.000993333 0.000993333 0.00096 0.00094 0.000913333 0.00096 +0.216 0.000993333 0.000973333 0.000966667 0.216 0.219787 0.000966667 0.00094 +0.000953333 0.000986667 0.000926667 0.000946667 0.00098 0.000966667 0.000986667 0.000953333 +0.00096 0.000973333 0.000953333 0.000966667 0.000946667 0.000953333 0.00096 0.000946667 +0.000953333 0.000973333 0.00096 0.000953333 0.00094 0.00096 0.000953333 0.000966667 +0.000966667 0.000973333 0.000946667 0.000953333 0.000966667 0.00098 0.000973333 0.000973333 +0.000946667 0.00094 0.000953333 0.000973333 0.000973333 0.000966667 0.00096 0.000973333 +0.00098 0.000966667 0.000986667 0.000953333 0.000933333 0.000953333 0.00096 0.000966667 +0.00096 0.216 0.216 0.217893 0.22168 0.000986667 0.000973333 0.000973333 +0.000973333 0.000986667 0.000993333 0.000993333 0.217893 0.225467 0.219787 0.00098 +0.219787 0.219787 0.000986667 0.219787 0.22736 0.22736 0.22168 0.22168 +0.223573 0.216 0.22168 0.22168 0.219787 0.231147 0.229253 0.223573 +0.231147 0.22736 0.23304 0.231147 0.225467 0.229253 0.229253 0.234933 +0.2444 0.242507 0.240613 0.242507 0.240613 0.25008 0.251973 0.25576 +0.253867 0.25008 0.253867 0.265227 0.269013 0.269013 0.282267 0.303093 +0.322027 0.337173 0.405333 0.512 0.595368 0.724842 0.875158 1.00253 +1.05706 1.17412 1.15434 1.04563 0.982286 0.815158 0.656 0.543579 +0.47728 0.450773 0.502526 0.561895 0.676211 0.833474 0.98 1.02996 +1.04824 1.04759 1.02996 0.979368 0.822737 0.652842 0.520842 0.331493 +0.248187 0.000993333 0.000973333 0.00096 0.00094 0.000893333 0.000846667 0.00084 +0.00084 0.00084 0.000853333 0.000853333 0.00084 0.00082 0.000846667 0.000853333 +0.00086 0.000866667 0.00088 0.000846667 0.00086 0.0009 0.000886667 0.000846667 +0.000826667 0.000846667 0.00088 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00092 0.000873333 +0.0008 0.000786667 0.000766667 0.00074 0.00074 0.0008 0.000813333 0.000773333 +0.000793333 0.000793333 0.00078 0.000793333 0.0008 0.0008 0.000806667 0.000813333 +0.0008 0.000813333 0.0008 0.000846667 0.000873333 0.000866667 0.00088 0.000873333 +0.000866667 0.000886667 0.00094 0.00096 0.000966667 0.217893 0.229253 0.234933 +0.286053 0.446987 0.590316 0.757053 0.930105 1.01853 1.04792 1.05151 +1.03322 0.984898 0.837895 0.679368 0.561895 0.5 0.428053 0.412907 +0.46024 0.550526 0.678737 0.830316 0.957263 1.02147 1.07978 1.17716 +1.14673 1.04498 0.98751 0.858105 0.717263 0.594105 0.515158 0.42616 +0.361787 0.3296 0.308773 0.28984 0.27848 0.27848 0.269013 0.26712 +0.2728 0.259547 0.2444 0.248187 0.25008 0.2444 0.242507 0.248187 +0.234933 0.223573 0.229253 0.225467 0.22736 0.236827 0.225467 0.000993333 +0.00098 0.00098 0.000993333 0.216 0.217893 0.216 0.219787 0.217893 +0.223573 0.23304 0.23304 0.217893 0.000973333 0.00098 0.217893 0.22168 +0.22168 0.22168 0.000966667 0.000953333 0.00096 0.216 0.217893 0.000973333 +0.000993333 0.00098 0.00094 0.000946667 0.000986667 0.216 0.00098 0.000946667 +0.000953333 0.00096 0.000953333 0.00094 0.00096 0.000946667 0.00096 0.000986667 +0.000946667 0.000946667 0.000953333 0.000953333 0.00096 0.000966667 0.000953333 0.000973333 +0.000966667 0.000973333 0.000966667 0.000973333 0.00096 0.000973333 0.000966667 0.00098 +0.000993333 0.00098 0.000953333 0.000913333 0.000946667 0.000966667 0.000953333 0.000973333 +0.000946667 0.000946667 0.000966667 0.00096 0.000966667 0.000986667 0.00098 0.000953333 +0.000926667 0.000986667 0.216 0.000946667 0.000973333 0.000966667 0.000973333 0.216 +0.000946667 0.000973333 0.000946667 0.000926667 0.000966667 0.000986667 0.000973333 0.00096 +0.000966667 0.00094 0.000953333 0.000966667 0.000973333 0.000973333 0.00096 0.219787 +0.00098 0.000966667 0.00096 0.000953333 0.00096 0.00096 0.00096 0.00094 +0.000933333 0.00094 0.000933333 0.00094 0.000986667 0.000973333 0.000993333 0.000966667 +0.000946667 0.000933333 0.00096 0.000953333 0.00094 0.000946667 0.000926667 0.00094 +0.00096 0.000946667 0.000946667 0.000973333 0.00098 0.00098 0.000973333 0.219787 +0.216 0.000953333 0.000986667 0.00096 0.000953333 0.00096 0.000953333 0.000946667 +0.00096 0.000966667 0.000993333 0.00098 0.216 0.000973333 0.000933333 0.000953333 +0.00098 0.000966667 0.00098 0.000986667 0.000953333 0.000953333 0.000946667 0.000973333 +0.216 0.216 0.00096 0.000966667 0.000993333 0.217893 0.000966667 0.00096 +0.000953333 0.000953333 0.000933333 0.000946667 0.000973333 0.00096 0.000993333 0.000946667 +0.000953333 0.000986667 0.000953333 0.000966667 0.00096 0.000973333 0.000973333 0.000946667 +0.000973333 0.000966667 0.00096 0.000966667 0.00094 0.00096 0.000946667 0.000966667 +0.000986667 0.000973333 0.000926667 0.000973333 0.000993333 0.000973333 0.00094 0.00098 +0.000973333 0.00094 0.00094 0.00094 0.000966667 0.00098 0.000966667 0.00096 +0.00098 0.000986667 0.000993333 0.000966667 0.00092 0.000953333 0.000966667 0.00098 +0.00098 0.223573 0.219787 0.216 0.00098 0.000986667 0.00098 0.000973333 +0.000986667 0.216 0.216 0.217893 0.217893 0.22736 0.22736 0.000993333 +0.219787 0.216 0.000993333 0.219787 0.229253 0.223573 0.22168 0.223573 +0.225467 0.225467 0.229253 0.23304 0.22168 0.225467 0.231147 0.229253 +0.229253 0.229253 0.23872 0.234933 0.23304 0.236827 0.242507 0.234933 +0.2444 0.240613 0.23304 0.242507 0.251973 0.25576 0.259547 0.257653 +0.25576 0.26712 0.2728 0.280373 0.282267 0.28416 0.31256 0.333387 +0.376933 0.467813 0.553053 0.657263 0.799368 0.954105 1.03192 1.11173 +1.17869 1.11478 1.02473 0.919368 0.748211 0.604211 0.516421 0.4432 +0.441307 0.506316 0.579579 0.702737 0.857474 0.98849 1.03192 1.04824 +1.04302 1.01265 0.935789 0.777895 0.616211 0.492427 0.299307 0.225467 +0.000973333 0.000966667 0.00094 0.000886667 0.000866667 0.00086 0.00084 0.000833333 +0.000833333 0.00082 0.000866667 0.000846667 0.000853333 0.00088 0.000873333 0.000873333 +0.00088 0.000853333 0.000866667 0.00086 0.000853333 0.000886667 0.0009 0.00088 +0.000826667 0.000806667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00096 +0.000873333 0.000766667 0.00078 0.00078 0.000806667 0.000826667 0.0008 0.00078 +0.000793333 0.000766667 0.000786667 0.00084 0.000806667 0.00076 0.00078 0.000786667 +0.0008 0.00082 0.000786667 0.00082 0.000833333 0.000813333 0.00084 0.000833333 +0.000846667 0.000893333 0.000886667 0.0009 0.000933333 0.00094 0.00096 0.219787 +0.242507 0.287947 0.418587 0.576421 0.733684 0.901684 1.00906 1.04335 +1.04988 1.03486 0.989143 0.853684 0.693263 0.561895 0.48864 0.42048 +0.388293 0.3864 0.496213 0.584 0.688211 0.813263 0.961684 1.0391 +1.14521 1.17716 1.09348 1.02604 0.946526 0.796211 0.664842 0.569474 +0.510105 0.42048 0.348533 0.316347 0.3012 0.287947 0.28416 0.287947 +0.282267 0.269013 0.26144 0.257653 0.253867 0.253867 0.246293 0.242507 +0.23304 0.236827 0.229253 0.22736 0.234933 0.229253 0.219787 0.216 +0.217893 0.00098 0.217893 0.22168 0.225467 0.22736 0.225467 0.223573 +0.234933 0.240613 0.22168 0.00098 0.000973333 0.216 0.223573 0.223573 +0.216 0.000973333 0.00096 0.000966667 0.000986667 0.219787 0.217893 0.000986667 +0.216 0.217893 0.00096 0.000973333 0.217893 0.219787 0.00096 0.00094 +0.000973333 0.000966667 0.00094 0.00094 0.000953333 0.00094 0.000966667 0.000953333 +0.00094 0.00096 0.00096 0.000926667 0.00096 0.000973333 0.000993333 0.000993333 +0.000986667 0.000993333 0.000993333 0.000986667 0.00096 0.000973333 0.00096 0.217893 +0.000993333 0.000973333 0.000946667 0.000906667 0.000946667 0.000986667 0.00098 0.000993333 +0.000953333 0.000946667 0.00096 0.000953333 0.000973333 0.000986667 0.216 0.00098 +0.000953333 0.216 0.00098 0.000946667 0.00098 0.000973333 0.00096 0.00094 +0.000906667 0.00096 0.000953333 0.000946667 0.000973333 0.217893 0.000986667 0.00096 +0.00096 0.00094 0.00098 0.219787 0.219787 0.000966667 0.00098 0.216 +0.00096 0.000946667 0.000946667 0.000926667 0.000946667 0.000973333 0.00098 0.00098 +0.000973333 0.000966667 0.000946667 0.000973333 0.000986667 0.000973333 0.216 0.000986667 +0.000973333 0.000946667 0.216 0.00098 0.000933333 0.00094 0.000933333 0.000953333 +0.000973333 0.000953333 0.00096 0.000986667 0.00098 0.000973333 0.000973333 0.217893 +0.000966667 0.00096 0.000986667 0.00096 0.000973333 0.000986667 0.00096 0.000926667 +0.00098 0.000993333 0.000973333 0.000946667 0.00098 0.000953333 0.00094 0.000953333 +0.000953333 0.000986667 0.000993333 0.00098 0.000966667 0.000973333 0.00096 0.00096 +0.000993333 0.219787 0.000973333 0.000953333 0.00098 0.000993333 0.000953333 0.00096 +0.000966667 0.000966667 0.00094 0.00096 0.00098 0.000953333 0.000986667 0.000946667 +0.00094 0.216 0.000973333 0.00098 0.00096 0.000986667 0.00098 0.000973333 +0.00098 0.00096 0.000966667 0.000946667 0.00092 0.00096 0.000953333 0.00096 +0.000986667 0.000973333 0.000946667 0.000986667 0.000986667 0.000946667 0.000933333 0.00098 +0.000993333 0.000966667 0.000966667 0.000966667 0.000986667 0.00098 0.000973333 0.000946667 +0.000993333 0.219787 0.216 0.000993333 0.000953333 0.000966667 0.000966667 0.000986667 +0.000993333 0.223573 0.217893 0.219787 0.000993333 0.000993333 0.000973333 0.00098 +0.000993333 0.000993333 0.219787 0.225467 0.217893 0.219787 0.225467 0.219787 +0.223573 0.217893 0.000986667 0.216 0.229253 0.22736 0.22168 0.225467 +0.22168 0.225467 0.229253 0.23304 0.229253 0.225467 0.225467 0.231147 +0.22736 0.231147 0.246293 0.248187 0.23872 0.23304 0.242507 0.242507 +0.240613 0.2444 0.2444 0.248187 0.25576 0.257653 0.265227 0.274693 +0.274693 0.276587 0.286053 0.29552 0.308773 0.327707 0.367467 0.446987 +0.534737 0.622526 0.742526 0.882737 1.00286 1.05935 1.17716 1.13456 +1.04596 0.990776 0.846737 0.68 0.549895 0.452667 0.412907 0.422373 +0.507579 0.589684 0.724842 0.881474 0.996653 1.03584 1.04335 1.02833 +0.988163 0.868211 0.719158 0.575158 0.42048 0.263333 0.219787 0.000953333 +0.000906667 0.000906667 0.000913333 0.000853333 0.000866667 0.00088 0.000853333 0.000853333 +0.000866667 0.00084 0.000866667 0.000886667 0.00086 0.000893333 0.000886667 0.000866667 +0.000866667 0.000873333 0.00084 0.00084 0.00084 0.000826667 0.000866667 0.000886667 +0.000866667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000893333 0.00084 0.000826667 0.000833333 0.000793333 0.000786667 0.000806667 +0.000786667 0.000786667 0.000833333 0.00082 0.000786667 0.000746667 0.00076 0.000786667 +0.000806667 0.000793333 0.0008 0.000826667 0.000786667 0.0008 0.00082 0.000833333 +0.00086 0.000873333 0.000853333 0.000893333 0.000893333 0.000853333 0.000906667 0.000986667 +0.216 0.223573 0.269013 0.382613 0.554316 0.700842 0.866316 0.994694 +1.03584 1.0489 1.03714 0.994041 0.865053 0.693263 0.561895 0.481067 +0.407227 0.358 0.30688 0.316347 0.40344 0.547368 0.686947 0.862526 +1.0022 1.05804 1.17716 1.1589 1.05216 1.00122 0.896632 0.776 +0.668 0.569474 0.501895 0.40344 0.350427 0.320133 0.30688 0.299307 +0.287947 0.28984 0.282267 0.26144 0.257653 0.25576 0.2444 0.234933 +0.234933 0.234933 0.23304 0.236827 0.236827 0.223573 0.22168 0.225467 +0.217893 0.216 0.229253 0.234933 0.23872 0.236827 0.225467 0.22736 +0.240613 0.240613 0.219787 0.000966667 0.000993333 0.229253 0.22736 0.219787 +0.216 0.000973333 0.00098 0.000973333 0.217893 0.219787 0.00098 0.000993333 +0.00098 0.216 0.000986667 0.000993333 0.219787 0.217893 0.00096 0.000966667 +0.000986667 0.00098 0.000926667 0.000953333 0.000986667 0.000993333 0.00098 0.00094 +0.000946667 0.000973333 0.000946667 0.000926667 0.000973333 0.217893 0.217893 0.000973333 +0.00098 0.000993333 0.000993333 0.000973333 0.000946667 0.000953333 0.000966667 0.219787 +0.00096 0.000933333 0.000933333 0.000933333 0.00096 0.000993333 0.000986667 0.00098 +0.000973333 0.000966667 0.00098 0.000953333 0.000993333 0.000993333 0.217893 0.000973333 +0.000953333 0.00098 0.000966667 0.000986667 0.000986667 0.000973333 0.000953333 0.000913333 +0.000933333 0.000953333 0.000946667 0.00096 0.000973333 0.216 0.000986667 0.000973333 +0.00096 0.000953333 0.000993333 0.216 0.000993333 0.216 0.000986667 0.00096 +0.000933333 0.000946667 0.000946667 0.00094 0.000966667 0.000973333 0.000973333 0.000973333 +0.000973333 0.000953333 0.00096 0.000993333 0.000986667 0.000966667 0.000973333 0.000973333 +0.000973333 0.00096 0.216 0.000973333 0.000926667 0.000953333 0.000946667 0.00098 +0.216 0.00098 0.000966667 0.216 0.000986667 0.00096 0.000953333 0.000953333 +0.00094 0.00098 0.216 0.00098 0.216 0.000993333 0.000973333 0.000953333 +0.000986667 0.216 0.000966667 0.00094 0.00098 0.00096 0.00094 0.000953333 +0.00096 0.000986667 0.217893 0.216 0.000973333 0.000993333 0.00096 0.00098 +0.216 0.219787 0.000986667 0.000953333 0.00098 0.000993333 0.000953333 0.000946667 +0.000953333 0.000973333 0.00096 0.000953333 0.217893 0.000946667 0.00096 0.000946667 +0.000946667 0.217893 0.00098 0.000986667 0.00096 0.00096 0.000986667 0.000993333 +0.000973333 0.000953333 0.000973333 0.000953333 0.000926667 0.000966667 0.000986667 0.000973333 +0.00098 0.00098 0.000973333 0.00098 0.00096 0.000946667 0.000966667 0.216 +0.217893 0.00098 0.216 0.216 0.217893 0.000986667 0.000973333 0.000953333 +0.000993333 0.217893 0.000986667 0.000986667 0.000993333 0.000986667 0.000973333 0.000986667 +0.000993333 0.219787 0.000993333 0.219787 0.219787 0.216 0.00096 0.000973333 +0.000986667 0.00098 0.22168 0.22736 0.217893 0.000986667 0.217893 0.223573 +0.231147 0.225467 0.219787 0.000986667 0.229253 0.234933 0.22736 0.23304 +0.231147 0.219787 0.223573 0.234933 0.236827 0.22736 0.229253 0.23304 +0.231147 0.236827 0.25008 0.253867 0.248187 0.240613 0.2444 0.251973 +0.248187 0.25008 0.259547 0.259547 0.259547 0.26712 0.2728 0.282267 +0.291733 0.29552 0.310667 0.32392 0.358 0.43184 0.525263 0.601684 +0.710316 0.846105 0.976842 1.03747 1.13608 1.17412 1.05608 0.999265 +0.894105 0.755158 0.609263 0.502526 0.373147 0.354213 0.39776 0.501263 +0.589684 0.736842 0.895368 0.998939 1.03094 1.02963 1.0009 0.913684 +0.780421 0.640211 0.524 0.350427 0.234933 0.000926667 0.000906667 0.000933333 +0.000926667 0.000893333 0.0009 0.000886667 0.000873333 0.000886667 0.000886667 0.000886667 +0.000886667 0.000833333 0.00082 0.000893333 0.000866667 0.000873333 0.000873333 0.000826667 +0.000813333 0.000846667 0.000846667 0.000833333 0.00084 0.000826667 0.000833333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 \ No newline at end of file diff --git a/examples/advanced/medical_linac/Launches/dicom/2.g4dcmb b/examples/advanced/medical_linac/Launches/dicom/2.g4dcmb new file mode 100755 index 0000000000..96d93acbb3 Binary files /dev/null and b/examples/advanced/medical_linac/Launches/dicom/2.g4dcmb differ diff --git a/examples/advanced/medical_linac/Launches/dicom/3.dcm b/examples/advanced/medical_linac/Launches/dicom/3.dcm new file mode 100755 index 0000000000..e62dcab4de Binary files /dev/null and b/examples/advanced/medical_linac/Launches/dicom/3.dcm differ diff --git a/examples/advanced/medical_linac/Launches/dicom/3.g4dcm b/examples/advanced/medical_linac/Launches/dicom/3.g4dcm new file mode 100755 index 0000000000..a33d0369cb --- /dev/null +++ b/examples/advanced/medical_linac/Launches/dicom/3.g4dcm @@ -0,0 +1,33293 @@ +7 +0 Water +1 Air +2 G4_B-100_BONE +3 LungInhale +4 AdiposeTissue +5 Breast +6 TrabecularBone +512 512 1 +-196 196 +-196 196 +90 95 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 4 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 4 4 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 3 1 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 5 5 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 5 5 6 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 5 6 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 4 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 4 4 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 4 3 3 1 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 4 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 4 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 3 3 4 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 1 1 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 1 1 1 3 3 3 1 1 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 1 1 3 1 3 3 1 1 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 4 4 4 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 4 4 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 3 3 3 3 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 3 3 3 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 3 3 3 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 1 3 1 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 3 3 3 1 1 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 3 3 3 3 3 3 3 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 3 3 1 1 1 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 1 1 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 1 1 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 3 3 3 3 1 1 3 3 3 1 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 5 5 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 6 6 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 3 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 5 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 1 1 1 1 1 3 4 4 4 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 5 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 3 3 3 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 5 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 5 5 5 6 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 6 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 4 4 3 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 5 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 4 4 4 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 6 6 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 6 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 6 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 5 5 5 5 6 6 5 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 5 5 5 6 6 5 5 5 5 5 5 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 5 5 5 6 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 4 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 5 5 6 6 6 6 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 5 5 5 6 6 6 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 1 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 3 3 3 3 1 1 1 1 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 3 3 1 1 3 1 1 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 3 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 1 1 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 3 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 3 3 3 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 3 3 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 +1 1 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 3 3 3 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 3 3 1 1 3 1 1 3 3 1 1 1 1 1 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +3 3 4 4 4 4 4 4 4 4 3 3 3 1 1 1 3 4 4 4 4 3 3 3 3 3 3 3 1 1 3 3 1 1 1 3 1 1 1 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 +4 4 4 4 4 4 4 3 3 3 1 1 1 1 1 3 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 4 4 4 5 5 5 5 5 4 4 4 4 4 3 3 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 3 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 4 4 5 5 5 5 5 5 4 4 4 4 3 3 3 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 +4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 +3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 4 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 3 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 3 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 3 1 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 +3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 4 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 +3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 4 4 4 4 4 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 3 3 3 3 1 1 +4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 5 5 5 4 4 4 4 5 5 5 5 4 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 3 1 1 1 1 1 1 3 3 1 3 3 1 1 3 3 +4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 +5 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 +4 4 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 +4 4 4 4 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 +3 4 4 4 4 4 5 5 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 5 5 5 4 4 4 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 +3 3 3 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 3 3 3 1 1 1 3 1 1 1 1 3 3 1 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 +3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 +3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 1 1 3 3 1 1 1 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 +4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 +4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 +4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 +5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 3 1 1 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 +5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 +4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 +4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 +4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 +3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 +3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 +1 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 3 3 3 3 1 1 1 1 3 1 1 3 1 1 1 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 3 3 3 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 +1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 1 1 1 3 3 1 1 1 1 3 3 3 3 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 +1 1 1 1 3 3 3 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 +1 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 3 1 1 1 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 +1 1 1 1 1 1 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 +1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 +1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 3 3 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 1 1 3 3 1 1 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 +1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 3 1 3 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 +1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 1 1 3 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 3 +1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 3 1 +1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 1 1 1 3 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 1 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 1 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 1 1 3 1 3 1 1 1 1 1 1 3 3 3 1 1 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 1 3 3 3 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 1 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 3 3 3 1 3 3 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 3 3 3 1 1 3 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 1 1 1 1 1 1 3 3 3 1 3 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 3 3 3 3 3 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 1 1 3 1 1 1 3 3 3 3 3 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 3 3 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 1 1 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 1 1 1 1 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 1 3 1 1 3 3 3 3 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 3 3 3 1 1 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 1 1 1 3 3 1 3 1 1 1 1 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 3 3 3 3 3 3 3 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 1 3 3 1 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 5 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 3 1 1 1 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 3 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 3 3 1 3 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 3 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 3 3 3 3 3 1 1 1 3 1 1 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 3 1 1 1 1 3 1 1 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 1 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 1 1 1 1 3 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 3 1 1 1 1 1 1 3 1 1 1 3 3 1 1 1 3 3 3 3 1 1 1 3 3 3 3 3 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 1 3 3 1 3 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 3 1 3 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 3 3 3 3 1 1 1 3 3 3 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 3 1 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 1 1 1 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 4 4 5 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 5 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 3 3 3 1 3 1 3 3 3 1 1 3 3 3 3 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 4 4 4 3 3 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 3 3 1 1 1 3 3 3 1 1 1 1 1 3 3 3 3 3 3 1 1 1 3 3 3 1 1 3 3 3 3 3 3 1 1 3 1 3 1 1 1 3 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 1 1 3 1 1 3 3 1 1 1 1 1 3 3 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 4 4 3 3 3 4 4 4 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 4 4 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 3 3 1 3 1 1 1 1 1 3 3 1 3 3 3 3 3 1 3 3 3 1 1 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 1 3 3 3 3 1 1 1 3 3 3 3 3 3 1 1 3 3 3 1 3 3 3 3 3 3 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 5 4 4 4 3 3 3 4 4 4 5 5 5 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 4 4 3 3 3 3 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 1 1 1 3 3 3 1 3 3 3 3 3 3 1 1 3 3 3 1 3 3 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 1 3 3 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 3 1 3 3 3 1 1 3 3 1 3 3 3 1 1 3 3 3 3 3 1 1 3 3 3 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 3 3 1 3 3 3 3 1 1 3 3 1 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 3 3 3 3 3 3 1 1 3 3 1 3 3 3 3 3 3 3 1 1 1 3 3 1 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 5 4 4 4 3 3 3 3 4 4 4 5 5 5 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 4 4 3 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 1 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 1 1 3 1 3 3 3 1 1 3 3 3 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 1 1 3 3 3 3 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 1 1 3 3 3 1 1 3 3 1 3 3 3 3 1 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 3 1 3 3 3 1 3 3 3 3 1 1 1 3 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 1 1 3 3 3 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 5 5 5 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 5 5 5 4 4 4 4 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 1 1 3 3 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 3 3 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 3 3 1 3 1 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 3 1 1 3 3 3 1 3 3 1 1 1 3 1 1 1 1 1 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 1 1 1 1 1 1 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 1 3 1 1 3 3 1 1 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 4 5 5 5 5 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 5 5 5 4 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 3 3 1 1 1 3 3 3 1 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 1 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 1 1 3 1 1 3 3 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4 4 5 5 5 5 4 4 4 4 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 3 3 1 1 3 3 1 1 3 3 3 3 3 1 1 3 1 3 1 1 3 3 1 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 1 1 3 1 1 3 1 1 1 1 3 3 3 1 3 3 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 3 3 3 1 1 3 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 3 3 3 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 1 3 1 1 3 3 1 3 1 3 3 1 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 4 4 5 5 5 5 5 5 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 5 5 5 4 4 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 3 3 3 1 3 1 1 1 3 3 3 1 1 1 3 3 3 1 1 3 1 1 3 1 1 3 3 3 1 1 3 3 1 3 3 3 1 1 1 1 3 3 3 3 1 1 1 3 3 3 3 3 3 1 3 3 3 1 1 1 3 3 1 3 3 1 1 1 3 1 3 3 3 1 1 1 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 3 1 1 3 3 3 1 1 3 3 1 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 1 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 4 4 4 5 5 5 4 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 1 1 3 1 1 1 1 3 1 1 1 3 3 3 1 1 1 1 3 3 3 1 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 3 1 3 3 1 1 1 1 3 3 3 3 3 1 1 3 3 1 1 1 1 3 3 3 3 1 1 3 3 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 1 3 1 1 1 3 1 3 3 1 3 3 1 3 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 1 1 3 1 3 3 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 3 3 1 1 1 1 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 1 1 3 3 3 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 3 1 3 3 1 1 3 1 3 3 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 3 3 3 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 3 3 1 1 1 1 3 3 1 1 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 1 1 1 1 1 3 1 1 3 3 1 3 3 3 1 1 1 3 3 3 3 1 1 1 3 1 1 1 3 1 3 3 3 3 1 1 3 3 3 3 3 1 1 1 3 3 3 1 1 3 3 3 1 1 1 1 3 1 1 3 3 3 3 3 3 3 1 1 3 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 3 3 1 3 3 1 1 1 3 3 3 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 1 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 1 1 1 1 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 1 1 3 3 3 1 1 1 3 3 3 3 3 1 1 3 3 3 3 1 1 3 3 3 1 1 1 3 3 1 1 3 1 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 3 3 3 1 1 1 3 3 3 3 1 1 3 3 3 3 3 1 1 3 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 1 1 3 3 1 1 3 1 1 3 1 1 1 1 1 3 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 1 1 1 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 1 1 1 3 3 3 3 1 1 1 1 3 3 3 3 1 3 3 3 1 3 3 3 3 1 3 1 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 1 1 3 3 3 3 3 1 1 1 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 3 1 1 1 3 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 3 1 1 3 1 1 1 1 3 1 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 1 1 3 3 3 3 3 3 3 3 1 1 1 3 3 1 3 3 3 3 1 1 1 3 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 1 1 3 1 1 1 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 3 3 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 3 3 1 3 1 1 1 3 3 3 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 3 3 3 3 3 3 3 3 1 1 1 3 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 3 1 1 3 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 3 1 3 1 1 1 1 3 1 1 3 3 3 3 3 3 3 1 3 1 3 3 3 1 1 1 1 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 1 1 1 3 3 1 1 1 3 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 1 3 1 1 3 3 3 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 1 3 1 1 1 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 3 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 3 1 1 1 3 3 3 1 1 1 3 3 3 1 1 1 3 3 3 1 1 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 1 3 1 1 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 1 1 1 3 3 3 3 1 1 3 3 1 1 1 1 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 1 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 1 3 3 3 1 1 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 1 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 1 1 3 3 3 3 1 3 3 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 1 1 1 3 1 1 3 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 3 1 1 1 1 1 3 3 3 1 1 1 3 3 3 1 3 3 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 4 4 4 4 4 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 1 3 3 3 1 1 1 3 3 3 3 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 1 1 1 1 1 1 1 3 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 3 1 3 3 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 1 3 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 3 3 1 1 1 1 3 3 1 1 1 3 1 1 1 3 1 1 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 1 1 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 3 1 3 1 1 3 1 1 1 1 1 1 3 3 1 3 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 3 3 1 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 3 1 3 1 1 1 1 3 1 1 3 1 1 3 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 3 3 1 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 3 1 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 3 3 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 1 3 1 1 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 3 3 3 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 1 3 1 1 1 1 3 1 1 1 1 3 3 3 3 3 1 1 1 3 3 3 3 3 1 1 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 1 3 1 1 1 1 1 3 1 1 3 1 1 1 1 1 3 3 1 1 1 1 1 3 3 3 3 3 1 1 1 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 3 3 3 3 1 1 3 1 1 1 1 1 1 1 3 1 1 3 3 1 3 3 1 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 6 6 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 3 1 1 1 3 3 1 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 1 1 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 3 4 4 4 4 5 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 5 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 1 1 1 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 6 5 5 4 4 4 4 4 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 4 5 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 3 1 1 3 1 1 1 1 3 1 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 3 4 4 4 5 5 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 3 3 1 1 1 1 3 1 1 3 1 1 3 1 3 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 5 5 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 3 4 4 4 4 5 5 6 6 6 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 3 3 3 1 3 3 3 3 1 1 1 3 3 3 3 1 1 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 3 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 3 1 1 3 3 3 1 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 4 4 4 4 5 6 6 6 5 5 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 1 3 1 1 1 1 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3 3 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 3 3 3 3 3 1 1 3 3 1 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 6 6 6 5 4 4 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 4 4 4 4 5 6 6 6 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 1 3 3 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 3 3 1 1 1 1 1 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 6 6 6 5 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 5 6 6 6 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 1 1 1 1 1 1 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 3 1 3 1 1 1 1 3 3 3 1 1 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 5 5 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00078 0.00074 0.000746667 0.000753333 0.00074 0.00076 0.000773333 +0.00076 0.00074 0.00074 0.000753333 0.000733333 0.000713333 0.000726667 0.000753333 +0.000753333 0.000753333 0.000746667 0.000733333 0.000733333 0.000733333 0.000746667 0.000706667 +0.000693333 0.000726667 0.000733333 0.000733333 0.000706667 0.0007 0.000713333 0.000713333 +0.000726667 0.000733333 0.000733333 0.000726667 0.00072 0.00072 0.000746667 0.000753333 +0.000713333 0.0007 0.000713333 0.000726667 0.00074 0.000726667 0.000713333 0.00072 +0.00072 0.00072 0.000706667 0.000713333 0.00072 0.000706667 0.000713333 0.000733333 +0.000733333 0.0007 0.000713333 0.000726667 0.000726667 0.000693333 0.00068 0.000733333 +0.000726667 0.0007 0.0007 0.000713333 0.000693333 0.00066 0.000706667 0.000713333 +0.0007 0.000686667 0.0007 0.0007 0.000693333 0.000693333 0.000686667 0.000693333 +0.000706667 0.000706667 0.000693333 0.000693333 0.00068 0.000673333 0.0007 0.000693333 +0.000686667 0.000686667 0.000693333 0.000686667 0.000673333 0.0007 0.0007 0.00068 +0.000666667 0.00068 0.0007 0.00066 0.000673333 0.0007 0.000693333 0.000706667 +0.000686667 0.000686667 0.000686667 0.000653333 0.000646667 0.000646667 0.000673333 0.000693333 +0.000706667 0.000693333 0.00068 0.000686667 0.0007 0.00068 0.000666667 0.000693333 +0.0007 0.000686667 0.00068 0.000686667 0.000693333 0.00066 0.000673333 0.000686667 +0.000686667 0.0007 0.000686667 0.0007 0.00072 0.000726667 0.0007 0.00068 +0.000673333 0.0007 0.000686667 0.000673333 0.000706667 0.00072 0.000713333 0.000673333 +0.000686667 0.000706667 0.0007 0.0007 0.000693333 0.0007 0.000693333 0.000693333 +0.00068 0.00068 0.00068 0.0007 0.000713333 0.0007 0.00068 0.000686667 +0.000693333 0.000686667 0.000673333 0.0007 0.00068 0.000673333 0.000673333 0.00068 +0.0007 0.0007 0.000686667 0.00066 0.000673333 0.00068 0.0007 0.00068 +0.00066 0.000693333 0.0007 0.000686667 0.00068 0.000653333 0.000673333 0.000673333 +0.00066 0.000686667 0.000706667 0.000686667 0.000686667 0.00066 0.00068 0.000686667 +0.000686667 0.000673333 0.00068 0.000686667 0.000686667 0.00068 0.00068 0.000673333 +0.000666667 0.000686667 0.000693333 0.000706667 0.00072 0.0007 0.000646667 0.000666667 +0.000686667 0.000666667 0.00066 0.000686667 0.000726667 0.00072 0.000706667 0.000673333 +0.000673333 0.00066 0.000693333 0.000706667 0.00068 0.000653333 0.000686667 0.0007 +0.000706667 0.000706667 0.00068 0.000673333 0.00068 0.000693333 0.000713333 0.0007 +0.00068 0.000666667 0.00068 0.000713333 0.000693333 0.000673333 0.000713333 0.000693333 +0.000673333 0.000693333 0.0007 0.000706667 0.000686667 0.0007 0.000706667 0.000693333 +0.0007 0.000726667 0.000713333 0.00068 0.000693333 0.0007 0.000693333 0.00072 +0.00072 0.000706667 0.000706667 0.000686667 0.00066 0.000673333 0.000693333 0.00068 +0.000706667 0.000693333 0.000693333 0.000693333 0.000686667 0.000686667 0.000706667 0.000706667 +0.000706667 0.000726667 0.000713333 0.00068 0.000706667 0.000706667 0.000706667 0.000686667 +0.000713333 0.000726667 0.000706667 0.000686667 0.000713333 0.000706667 0.000693333 0.000686667 +0.000713333 0.000706667 0.000693333 0.000673333 0.000686667 0.000693333 0.000686667 0.0007 +0.0007 0.0007 0.00066 0.000653333 0.000666667 0.00068 0.0007 0.000666667 +0.000686667 0.000686667 0.000653333 0.00066 0.000693333 0.00068 0.000666667 0.00066 +0.000673333 0.000673333 0.000673333 0.000673333 0.000673333 0.000673333 0.000673333 0.000706667 +0.000673333 0.000666667 0.0007 0.000686667 0.000673333 0.000693333 0.000706667 0.00068 +0.000673333 0.000693333 0.000686667 0.00068 0.000666667 0.000686667 0.000686667 0.00066 +0.000673333 0.00072 0.000733333 0.00068 0.00068 0.000693333 0.000686667 0.000693333 +0.000706667 0.0007 0.0007 0.000673333 0.0007 0.000706667 0.00068 0.0007 +0.00068 0.000706667 0.0007 0.0007 0.0007 0.000713333 0.000706667 0.000686667 +0.000706667 0.000726667 0.000713333 0.000713333 0.000746667 0.000733333 0.000693333 0.000693333 +0.000706667 0.000726667 0.000726667 0.0007 0.000726667 0.000726667 0.00072 0.000706667 +0.000693333 0.000726667 0.00074 0.00072 0.000726667 0.000753333 0.000753333 0.00072 +0.0007 0.000726667 0.000706667 0.00072 0.000753333 0.00076 0.00074 0.000726667 +0.000746667 0.000706667 0.000713333 0.000753333 0.000753333 0.000753333 0.000766667 0.000746667 +0.000766667 0.000753333 0.000766667 0.000773333 0.00078 0.00074 0.00078 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 +0.00076 0.000773333 0.000726667 0.000706667 0.000746667 0.000753333 0.00074 0.000753333 +0.000766667 0.000746667 0.00074 0.000753333 0.000733333 0.00074 0.00072 0.000733333 +0.00074 0.00074 0.00076 0.000753333 0.000753333 0.000733333 0.000746667 0.000746667 +0.000713333 0.000706667 0.000726667 0.000733333 0.00072 0.000713333 0.000706667 0.000693333 +0.000706667 0.000713333 0.00074 0.000746667 0.000706667 0.0007 0.00072 0.000766667 +0.000753333 0.000713333 0.0007 0.000693333 0.00072 0.000726667 0.00072 0.000726667 +0.000733333 0.000706667 0.000713333 0.00072 0.000713333 0.000706667 0.000706667 0.00072 +0.00072 0.000713333 0.000686667 0.000706667 0.000753333 0.00074 0.000686667 0.000693333 +0.00072 0.00072 0.000693333 0.00072 0.00072 0.000673333 0.00068 0.0007 +0.00072 0.0007 0.000686667 0.000686667 0.000686667 0.000706667 0.000686667 0.000666667 +0.000693333 0.000706667 0.0007 0.000693333 0.00068 0.00068 0.000693333 0.000686667 +0.000686667 0.000686667 0.0007 0.000693333 0.000673333 0.000666667 0.0007 0.000706667 +0.000686667 0.00068 0.000693333 0.000673333 0.000666667 0.000666667 0.000686667 0.000693333 +0.00066 0.000673333 0.00068 0.000673333 0.000673333 0.000646667 0.000666667 0.000673333 +0.0007 0.000713333 0.00068 0.000686667 0.000706667 0.000693333 0.000666667 0.00068 +0.0007 0.000686667 0.0007 0.0007 0.000686667 0.000666667 0.000686667 0.000706667 +0.000706667 0.0007 0.000686667 0.000693333 0.0007 0.0007 0.00072 0.0007 +0.00068 0.0007 0.000693333 0.00068 0.000693333 0.0007 0.000706667 0.00068 +0.000666667 0.000693333 0.000693333 0.0007 0.00068 0.000673333 0.000686667 0.000686667 +0.000686667 0.000666667 0.000673333 0.000686667 0.00072 0.000713333 0.00068 0.000673333 +0.000693333 0.000693333 0.00068 0.000693333 0.0007 0.00068 0.000666667 0.000673333 +0.000713333 0.000713333 0.0007 0.00066 0.000673333 0.000686667 0.000713333 0.000673333 +0.000653333 0.000686667 0.00068 0.000686667 0.000706667 0.000666667 0.00068 0.000666667 +0.000666667 0.000686667 0.000693333 0.000666667 0.000693333 0.00068 0.000666667 0.00068 +0.00068 0.00068 0.000673333 0.000686667 0.000666667 0.00066 0.000686667 0.000666667 +0.00066 0.000693333 0.00068 0.0007 0.000733333 0.0007 0.000653333 0.000673333 +0.000686667 0.000673333 0.000653333 0.000673333 0.00072 0.000706667 0.0007 0.000673333 +0.000666667 0.000673333 0.00068 0.000686667 0.000666667 0.00064 0.000686667 0.0007 +0.000693333 0.0007 0.000673333 0.000686667 0.000693333 0.000706667 0.000706667 0.000706667 +0.000686667 0.000673333 0.000693333 0.000706667 0.00068 0.000686667 0.0007 0.000686667 +0.000686667 0.000693333 0.000686667 0.0007 0.000706667 0.000713333 0.000713333 0.00072 +0.000693333 0.000706667 0.000726667 0.000686667 0.000666667 0.000686667 0.000706667 0.000713333 +0.000706667 0.000713333 0.00074 0.0007 0.000673333 0.000686667 0.000693333 0.000693333 +0.000706667 0.0007 0.000693333 0.00068 0.000686667 0.000673333 0.000693333 0.000693333 +0.000713333 0.000733333 0.000706667 0.000666667 0.00072 0.0007 0.000673333 0.0007 +0.000733333 0.000693333 0.000673333 0.000693333 0.00072 0.0007 0.000706667 0.0007 +0.000686667 0.000686667 0.00068 0.000673333 0.000673333 0.000673333 0.000693333 0.0007 +0.000693333 0.000706667 0.000673333 0.000653333 0.000653333 0.000693333 0.00068 0.00066 +0.0007 0.000686667 0.00066 0.00068 0.000693333 0.000666667 0.000653333 0.000666667 +0.000686667 0.00068 0.000666667 0.000666667 0.000673333 0.00066 0.00068 0.000693333 +0.00066 0.000666667 0.000686667 0.000673333 0.00068 0.000706667 0.000693333 0.000673333 +0.000666667 0.00068 0.000693333 0.00068 0.000673333 0.000706667 0.00068 0.000653333 +0.00068 0.000713333 0.0007 0.0007 0.000706667 0.000673333 0.000666667 0.000693333 +0.00072 0.000713333 0.000686667 0.00068 0.000713333 0.000693333 0.000693333 0.000686667 +0.000666667 0.000713333 0.000706667 0.000713333 0.000706667 0.000706667 0.000726667 0.000713333 +0.000733333 0.000706667 0.000693333 0.000726667 0.000746667 0.00072 0.00068 0.000713333 +0.000726667 0.000726667 0.00072 0.000713333 0.000733333 0.00074 0.00072 0.0007 +0.000706667 0.00074 0.000746667 0.000713333 0.000713333 0.000766667 0.000746667 0.000726667 +0.000706667 0.000726667 0.000706667 0.00074 0.000746667 0.000733333 0.000733333 0.000733333 +0.00076 0.000713333 0.00072 0.00076 0.000773333 0.000753333 0.00076 0.00074 +0.000766667 0.00076 0.00076 0.000753333 0.000733333 0.000753333 0.00078 0.000793333 +0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00076 0.000766667 +0.00074 0.000733333 0.000753333 0.000733333 0.000726667 0.000746667 0.000746667 0.00074 +0.000753333 0.000753333 0.00074 0.000753333 0.000733333 0.000733333 0.00074 0.000733333 +0.00072 0.00072 0.000726667 0.000733333 0.000753333 0.00074 0.000733333 0.000733333 +0.000753333 0.000713333 0.000713333 0.000713333 0.000726667 0.000733333 0.00072 0.000706667 +0.000706667 0.0007 0.00072 0.000733333 0.000713333 0.000713333 0.000713333 0.000733333 +0.000753333 0.000733333 0.00072 0.000713333 0.0007 0.000706667 0.000726667 0.000726667 +0.00074 0.00072 0.000706667 0.000693333 0.000706667 0.000713333 0.000713333 0.000713333 +0.000713333 0.000713333 0.000713333 0.000706667 0.000733333 0.00072 0.000706667 0.000693333 +0.000686667 0.000713333 0.000706667 0.000726667 0.00072 0.000706667 0.000673333 0.000666667 +0.000713333 0.0007 0.000686667 0.000686667 0.00068 0.0007 0.000686667 0.000673333 +0.000673333 0.00068 0.0007 0.000706667 0.000706667 0.0007 0.000686667 0.000686667 +0.00068 0.000686667 0.0007 0.000693333 0.000686667 0.000666667 0.000673333 0.000673333 +0.00068 0.000686667 0.00066 0.000673333 0.00068 0.000673333 0.000686667 0.000673333 +0.000673333 0.000673333 0.000673333 0.0007 0.000693333 0.000666667 0.000653333 0.000646667 +0.000693333 0.00072 0.00068 0.00068 0.0007 0.000706667 0.0007 0.00068 +0.000693333 0.00068 0.000693333 0.0007 0.000673333 0.00068 0.000693333 0.0007 +0.00072 0.000686667 0.000686667 0.000706667 0.000706667 0.00068 0.000706667 0.000733333 +0.000693333 0.00068 0.000686667 0.000686667 0.000693333 0.000666667 0.0007 0.000706667 +0.00068 0.000673333 0.000666667 0.000693333 0.0007 0.000686667 0.000673333 0.000686667 +0.000706667 0.00066 0.000653333 0.000666667 0.000706667 0.00072 0.00068 0.000673333 +0.000673333 0.000706667 0.000673333 0.000653333 0.0007 0.000706667 0.00066 0.000666667 +0.0007 0.000693333 0.000693333 0.000673333 0.00068 0.000673333 0.00068 0.00068 +0.00068 0.000693333 0.000686667 0.000686667 0.000713333 0.00068 0.0007 0.000693333 +0.000666667 0.000673333 0.000686667 0.000653333 0.000693333 0.000706667 0.000666667 0.000673333 +0.000686667 0.000693333 0.000693333 0.0007 0.000686667 0.000653333 0.000693333 0.00068 +0.000646667 0.00068 0.00068 0.000693333 0.000713333 0.000693333 0.00068 0.000686667 +0.00068 0.00068 0.000666667 0.00066 0.00072 0.00072 0.000693333 0.00068 +0.000673333 0.000686667 0.000693333 0.00068 0.000666667 0.00064 0.000666667 0.000713333 +0.0007 0.000693333 0.000673333 0.000666667 0.000666667 0.000713333 0.000713333 0.000693333 +0.00068 0.000666667 0.000673333 0.0007 0.0007 0.0007 0.0007 0.0007 +0.000686667 0.000673333 0.000686667 0.000693333 0.0007 0.000706667 0.000713333 0.000706667 +0.000686667 0.000713333 0.000726667 0.000693333 0.000673333 0.000686667 0.0007 0.000713333 +0.000713333 0.000706667 0.000713333 0.000713333 0.00068 0.000686667 0.00068 0.0007 +0.000706667 0.00072 0.0007 0.00068 0.00068 0.000666667 0.000686667 0.00068 +0.00072 0.000733333 0.000686667 0.000693333 0.000726667 0.00068 0.00068 0.000713333 +0.00072 0.000686667 0.000686667 0.000713333 0.000693333 0.000686667 0.000733333 0.000713333 +0.000673333 0.0007 0.000686667 0.000673333 0.0007 0.000666667 0.0007 0.000693333 +0.000693333 0.00072 0.00068 0.000673333 0.000673333 0.000693333 0.000686667 0.000673333 +0.00068 0.00066 0.00066 0.000673333 0.000673333 0.00066 0.00064 0.00068 +0.00068 0.000666667 0.000673333 0.000673333 0.000673333 0.00066 0.00068 0.000673333 +0.000653333 0.000673333 0.00068 0.000686667 0.000693333 0.000693333 0.0007 0.000666667 +0.000653333 0.00068 0.000706667 0.000673333 0.000666667 0.0007 0.000673333 0.000666667 +0.000706667 0.000706667 0.000693333 0.000706667 0.000706667 0.00066 0.000673333 0.000706667 +0.000713333 0.00072 0.000706667 0.0007 0.000693333 0.000673333 0.0007 0.00068 +0.00068 0.000713333 0.0007 0.000706667 0.000693333 0.000706667 0.000733333 0.000733333 +0.000733333 0.000686667 0.000706667 0.00074 0.000733333 0.00072 0.000693333 0.000706667 +0.00074 0.00072 0.000713333 0.000726667 0.000713333 0.000726667 0.0007 0.000706667 +0.000726667 0.000746667 0.00072 0.000706667 0.000733333 0.000766667 0.000733333 0.000706667 +0.000713333 0.000733333 0.00074 0.000726667 0.00072 0.00074 0.00074 0.000746667 +0.000733333 0.00072 0.000746667 0.00076 0.000766667 0.00074 0.000753333 0.00074 +0.000766667 0.000766667 0.000746667 0.000753333 0.000753333 0.000773333 0.000733333 0.000753333 +0.000733333 0.00078 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 0.000753333 0.000746667 +0.000746667 0.00074 0.00074 0.00076 0.00074 0.00072 0.00074 0.000733333 +0.000726667 0.00074 0.000746667 0.000746667 0.000746667 0.000733333 0.000746667 0.000746667 +0.00072 0.00072 0.000726667 0.000726667 0.000733333 0.000746667 0.00074 0.000726667 +0.00076 0.000733333 0.000713333 0.00072 0.000726667 0.000733333 0.000726667 0.000733333 +0.000713333 0.0007 0.000693333 0.000706667 0.000713333 0.000713333 0.00074 0.000713333 +0.00072 0.000733333 0.000726667 0.000733333 0.000713333 0.000693333 0.000706667 0.00072 +0.00072 0.00072 0.000706667 0.0007 0.0007 0.000706667 0.00072 0.00072 +0.000713333 0.0007 0.00072 0.000726667 0.000726667 0.000706667 0.0007 0.000713333 +0.000706667 0.000686667 0.000706667 0.000733333 0.0007 0.00072 0.000706667 0.000673333 +0.000686667 0.000706667 0.000706667 0.000693333 0.00068 0.000686667 0.000686667 0.000706667 +0.000693333 0.00068 0.000693333 0.000693333 0.00072 0.00072 0.000686667 0.0007 +0.000693333 0.000673333 0.00068 0.0007 0.000686667 0.000653333 0.000666667 0.000666667 +0.00068 0.000706667 0.000666667 0.000666667 0.000673333 0.000686667 0.0007 0.00068 +0.000686667 0.000693333 0.000673333 0.000686667 0.000686667 0.000666667 0.00066 0.00066 +0.000686667 0.000713333 0.00068 0.000673333 0.000686667 0.000706667 0.0007 0.00068 +0.000706667 0.000686667 0.000686667 0.000693333 0.00068 0.000686667 0.000706667 0.000693333 +0.000706667 0.0007 0.0007 0.000706667 0.00072 0.000693333 0.00068 0.000713333 +0.000693333 0.000693333 0.00068 0.00068 0.000713333 0.000673333 0.00068 0.000706667 +0.000693333 0.000686667 0.00068 0.000686667 0.000713333 0.000706667 0.00068 0.00066 +0.000706667 0.00068 0.00066 0.00066 0.000686667 0.000726667 0.0007 0.00068 +0.00068 0.000706667 0.00068 0.000666667 0.00068 0.0007 0.000666667 0.000646667 +0.000686667 0.00068 0.000693333 0.000686667 0.000706667 0.00068 0.000653333 0.000673333 +0.000693333 0.000693333 0.000693333 0.000666667 0.00068 0.000693333 0.000693333 0.000713333 +0.000686667 0.000666667 0.000693333 0.000666667 0.000673333 0.0007 0.000673333 0.00068 +0.000673333 0.000693333 0.000706667 0.000686667 0.0007 0.000673333 0.000673333 0.000693333 +0.000653333 0.00066 0.000693333 0.000693333 0.000693333 0.000686667 0.000693333 0.000693333 +0.0007 0.00068 0.00066 0.00066 0.000706667 0.000713333 0.0007 0.000666667 +0.000673333 0.0007 0.0007 0.000706667 0.000686667 0.000646667 0.00066 0.000713333 +0.0007 0.000693333 0.000673333 0.00066 0.00066 0.000706667 0.000726667 0.000693333 +0.000666667 0.000666667 0.000666667 0.000693333 0.000706667 0.000686667 0.0007 0.000713333 +0.00068 0.00068 0.000693333 0.0007 0.000686667 0.000693333 0.000706667 0.00068 +0.000686667 0.000733333 0.00072 0.00068 0.00068 0.000686667 0.000686667 0.000713333 +0.000713333 0.000686667 0.000686667 0.000706667 0.000686667 0.00068 0.00068 0.0007 +0.000693333 0.000713333 0.000693333 0.0007 0.0007 0.000673333 0.000686667 0.000673333 +0.000726667 0.000726667 0.000693333 0.000706667 0.000706667 0.000653333 0.000686667 0.0007 +0.000706667 0.000706667 0.00072 0.00072 0.00068 0.000686667 0.000706667 0.000706667 +0.000686667 0.0007 0.000673333 0.000673333 0.000713333 0.00068 0.000693333 0.000693333 +0.000686667 0.0007 0.000686667 0.000673333 0.000666667 0.000706667 0.000713333 0.0007 +0.000686667 0.000666667 0.000666667 0.000673333 0.000666667 0.000673333 0.00066 0.000666667 +0.000673333 0.000653333 0.00066 0.000666667 0.000673333 0.00068 0.000686667 0.000646667 +0.000633333 0.00068 0.000693333 0.000686667 0.000686667 0.0007 0.000713333 0.000646667 +0.000646667 0.000706667 0.000706667 0.000666667 0.000673333 0.00068 0.00066 0.000673333 +0.000706667 0.000706667 0.000706667 0.000713333 0.00068 0.000666667 0.000693333 0.000706667 +0.00072 0.00072 0.0007 0.000706667 0.00068 0.00068 0.000693333 0.00068 +0.000693333 0.00072 0.000713333 0.00068 0.000693333 0.0007 0.000706667 0.000713333 +0.000713333 0.000706667 0.000726667 0.000713333 0.000706667 0.000726667 0.0007 0.000713333 +0.000746667 0.000713333 0.000713333 0.00072 0.0007 0.000713333 0.000693333 0.00072 +0.00074 0.000733333 0.000713333 0.00074 0.00076 0.00072 0.00072 0.000706667 +0.00072 0.00074 0.000746667 0.000706667 0.000746667 0.000733333 0.00074 0.00076 +0.00072 0.000746667 0.000766667 0.000746667 0.00074 0.000746667 0.00076 0.000746667 +0.00074 0.000746667 0.000753333 0.000773333 0.00076 0.000746667 0.000726667 0.000753333 +0.000753333 0.000746667 0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000766667 0.00076 0.00076 0.000753333 +0.000753333 0.000746667 0.000726667 0.000733333 0.00074 0.000733333 0.000733333 0.000726667 +0.00072 0.000733333 0.000753333 0.000753333 0.000746667 0.000733333 0.000726667 0.00074 +0.000726667 0.00074 0.000733333 0.000726667 0.000726667 0.000733333 0.000733333 0.00072 +0.000753333 0.000746667 0.000713333 0.000726667 0.000726667 0.00072 0.00072 0.000733333 +0.000713333 0.0007 0.0007 0.0007 0.000706667 0.000686667 0.000726667 0.00074 +0.000713333 0.00072 0.000713333 0.000713333 0.00072 0.000706667 0.0007 0.000706667 +0.0007 0.000713333 0.000713333 0.00072 0.00072 0.000686667 0.000713333 0.000726667 +0.000706667 0.000706667 0.00072 0.00074 0.00072 0.000726667 0.00072 0.000713333 +0.000713333 0.000686667 0.0007 0.000713333 0.000693333 0.000713333 0.000706667 0.000706667 +0.000693333 0.000693333 0.000693333 0.000706667 0.0007 0.000673333 0.000666667 0.0007 +0.000713333 0.000686667 0.00068 0.000673333 0.0007 0.00072 0.0007 0.000693333 +0.0007 0.000686667 0.000673333 0.00068 0.00068 0.000653333 0.000653333 0.00068 +0.000693333 0.000693333 0.000673333 0.00068 0.00066 0.000673333 0.000693333 0.000693333 +0.000686667 0.00068 0.000673333 0.00066 0.000673333 0.000666667 0.000653333 0.00068 +0.000673333 0.000686667 0.00072 0.0007 0.000673333 0.000686667 0.000693333 0.00068 +0.000693333 0.0007 0.00068 0.000686667 0.0007 0.000686667 0.000686667 0.000686667 +0.000686667 0.0007 0.000713333 0.0007 0.000686667 0.000706667 0.00068 0.0007 +0.000693333 0.00068 0.000693333 0.00068 0.000706667 0.000693333 0.00068 0.000686667 +0.00068 0.000686667 0.000686667 0.00068 0.000686667 0.000686667 0.000693333 0.00066 +0.00068 0.0007 0.000686667 0.000666667 0.000666667 0.000706667 0.000706667 0.000673333 +0.000686667 0.000706667 0.000686667 0.000673333 0.000673333 0.00068 0.000673333 0.000646667 +0.000666667 0.000693333 0.0007 0.00068 0.000713333 0.000693333 0.000666667 0.00068 +0.00068 0.000693333 0.000706667 0.000666667 0.000666667 0.000693333 0.00068 0.0007 +0.000693333 0.00068 0.000693333 0.000693333 0.000666667 0.000673333 0.000673333 0.000693333 +0.000666667 0.00068 0.000713333 0.000693333 0.000693333 0.000666667 0.000653333 0.000686667 +0.000673333 0.000666667 0.0007 0.000673333 0.000666667 0.00068 0.000673333 0.000686667 +0.000693333 0.000673333 0.00066 0.00068 0.0007 0.0007 0.000693333 0.00066 +0.000666667 0.000686667 0.000693333 0.000706667 0.0007 0.000653333 0.00066 0.000686667 +0.00068 0.000693333 0.000693333 0.000673333 0.000673333 0.000693333 0.00072 0.000713333 +0.00068 0.00066 0.000673333 0.000686667 0.000706667 0.000686667 0.0007 0.000706667 +0.000673333 0.000686667 0.000686667 0.000686667 0.000693333 0.000693333 0.000693333 0.00068 +0.000693333 0.000746667 0.000713333 0.00068 0.00068 0.000686667 0.000706667 0.000733333 +0.000706667 0.000686667 0.000693333 0.000693333 0.000693333 0.000706667 0.000693333 0.0007 +0.000693333 0.00072 0.0007 0.000713333 0.0007 0.000686667 0.000686667 0.000693333 +0.000713333 0.000713333 0.000713333 0.000686667 0.000686667 0.000666667 0.000686667 0.00068 +0.0007 0.00072 0.000713333 0.000713333 0.0007 0.000693333 0.000693333 0.000726667 +0.000733333 0.000686667 0.000666667 0.000686667 0.00072 0.000706667 0.000693333 0.000693333 +0.000693333 0.000666667 0.000693333 0.000673333 0.000666667 0.000706667 0.0007 0.000693333 +0.000686667 0.000666667 0.000666667 0.00068 0.00066 0.00066 0.000666667 0.000666667 +0.000673333 0.000666667 0.000653333 0.000666667 0.000666667 0.00068 0.00068 0.000613333 +0.000626667 0.000686667 0.000693333 0.00068 0.0007 0.000713333 0.00068 0.00064 +0.00068 0.0007 0.00068 0.00066 0.000693333 0.000673333 0.00066 0.00068 +0.000693333 0.0007 0.000686667 0.000706667 0.000686667 0.00068 0.00068 0.000686667 +0.000713333 0.000706667 0.000686667 0.0007 0.00068 0.0007 0.000693333 0.00068 +0.000706667 0.00072 0.00072 0.000686667 0.000686667 0.000686667 0.0007 0.000726667 +0.00072 0.00072 0.000713333 0.000693333 0.000706667 0.00072 0.000706667 0.00072 +0.000726667 0.000713333 0.000713333 0.0007 0.0007 0.000706667 0.000706667 0.000726667 +0.000733333 0.00072 0.000726667 0.000753333 0.000733333 0.00068 0.000733333 0.000733333 +0.000726667 0.00072 0.00072 0.000733333 0.00076 0.000733333 0.00074 0.000733333 +0.000726667 0.00076 0.000746667 0.000726667 0.00074 0.00078 0.000746667 0.000733333 +0.000713333 0.000753333 0.000773333 0.000773333 0.000746667 0.00076 0.00074 0.000746667 +0.00076 0.000746667 0.00076 0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000746667 0.000746667 0.000746667 0.000746667 0.000753333 +0.000766667 0.00076 0.00076 0.000746667 0.000733333 0.000733333 0.00074 0.000746667 +0.00074 0.000726667 0.00074 0.00074 0.000733333 0.00074 0.000713333 0.000733333 +0.000726667 0.000726667 0.000726667 0.000713333 0.000706667 0.00072 0.000733333 0.00072 +0.000746667 0.000753333 0.000733333 0.00072 0.000726667 0.000733333 0.000726667 0.00072 +0.000706667 0.0007 0.000713333 0.000706667 0.000686667 0.000673333 0.000693333 0.000726667 +0.000726667 0.000726667 0.00072 0.000693333 0.000706667 0.000726667 0.00074 0.00072 +0.0007 0.000713333 0.000706667 0.000713333 0.000733333 0.000713333 0.0007 0.00072 +0.00072 0.000706667 0.000706667 0.00072 0.00072 0.000733333 0.00072 0.000706667 +0.0007 0.00068 0.00072 0.000706667 0.000686667 0.000693333 0.000693333 0.000713333 +0.0007 0.000706667 0.0007 0.0007 0.00072 0.000693333 0.000673333 0.000686667 +0.000693333 0.00068 0.000666667 0.000673333 0.000686667 0.000706667 0.000706667 0.000693333 +0.0007 0.000686667 0.0007 0.000686667 0.00066 0.000673333 0.00066 0.00066 +0.000706667 0.0007 0.00068 0.00068 0.000666667 0.00066 0.000666667 0.000686667 +0.000686667 0.00066 0.000686667 0.000666667 0.000666667 0.000686667 0.000666667 0.00068 +0.000673333 0.000666667 0.000713333 0.000706667 0.000686667 0.000666667 0.00068 0.000693333 +0.000673333 0.000693333 0.000693333 0.00066 0.000673333 0.000686667 0.000686667 0.000693333 +0.000673333 0.0007 0.00072 0.000713333 0.000686667 0.0007 0.000693333 0.000693333 +0.000693333 0.000666667 0.000693333 0.000673333 0.000673333 0.000706667 0.000693333 0.000686667 +0.000673333 0.000686667 0.000686667 0.000666667 0.00068 0.000686667 0.000693333 0.00068 +0.000666667 0.000686667 0.000673333 0.000666667 0.00066 0.000693333 0.000713333 0.000686667 +0.00068 0.000686667 0.00068 0.000666667 0.000686667 0.000686667 0.00068 0.00066 +0.000673333 0.000693333 0.000706667 0.000693333 0.0007 0.00068 0.000673333 0.000673333 +0.000666667 0.000693333 0.000706667 0.00068 0.000673333 0.000693333 0.00068 0.0007 +0.000686667 0.000673333 0.000686667 0.000686667 0.000653333 0.000666667 0.000666667 0.000686667 +0.000673333 0.00066 0.000693333 0.0007 0.0007 0.000673333 0.000666667 0.000686667 +0.00068 0.000686667 0.000693333 0.000653333 0.000666667 0.00066 0.00068 0.000706667 +0.000686667 0.000673333 0.00066 0.000653333 0.00068 0.000706667 0.0007 0.000666667 +0.00066 0.000666667 0.000693333 0.000706667 0.000693333 0.00066 0.00066 0.000666667 +0.000653333 0.000686667 0.000693333 0.000673333 0.000673333 0.00068 0.000693333 0.00072 +0.000713333 0.000666667 0.00068 0.00068 0.000693333 0.0007 0.000686667 0.0007 +0.000666667 0.00068 0.000686667 0.000686667 0.000706667 0.000706667 0.00068 0.00068 +0.0007 0.000726667 0.000713333 0.000693333 0.00068 0.0007 0.000733333 0.000733333 +0.0007 0.00068 0.00068 0.00068 0.0007 0.000726667 0.0007 0.000706667 +0.0007 0.00072 0.000693333 0.000706667 0.000693333 0.000706667 0.000686667 0.000693333 +0.000706667 0.000706667 0.0007 0.000686667 0.000713333 0.000693333 0.000693333 0.000686667 +0.000713333 0.0007 0.000686667 0.000713333 0.000693333 0.000673333 0.0007 0.00074 +0.000726667 0.000686667 0.000666667 0.0007 0.000706667 0.0007 0.000706667 0.000673333 +0.00068 0.000666667 0.000693333 0.000686667 0.000693333 0.0007 0.000673333 0.000673333 +0.000686667 0.000666667 0.00066 0.000673333 0.00066 0.00066 0.000673333 0.000686667 +0.000673333 0.00068 0.00066 0.000666667 0.00066 0.000666667 0.000673333 0.00062 +0.00066 0.000693333 0.000686667 0.000693333 0.000706667 0.000693333 0.000626667 0.000653333 +0.000693333 0.000666667 0.000646667 0.00066 0.000686667 0.00066 0.000666667 0.000706667 +0.000706667 0.000686667 0.000673333 0.000693333 0.000693333 0.000673333 0.000686667 0.00068 +0.0007 0.000693333 0.0007 0.0007 0.000686667 0.0007 0.000686667 0.0007 +0.000713333 0.0007 0.000706667 0.00068 0.000673333 0.000693333 0.00072 0.00074 +0.00072 0.000706667 0.000686667 0.0007 0.00072 0.000726667 0.000706667 0.0007 +0.00072 0.00074 0.000713333 0.000706667 0.0007 0.0007 0.00072 0.0007 +0.000726667 0.000733333 0.000746667 0.000733333 0.00072 0.000686667 0.000726667 0.000733333 +0.00072 0.000706667 0.000726667 0.000753333 0.00074 0.000753333 0.000726667 0.000713333 +0.000753333 0.000753333 0.000713333 0.000746667 0.000773333 0.000786667 0.00072 0.000713333 +0.00072 0.000766667 0.00076 0.000753333 0.00076 0.00078 0.000733333 0.000726667 +0.00076 0.000773333 0.000746667 0.000733333 0.00076 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000746667 0.000746667 0.000726667 0.000733333 0.000753333 0.000753333 0.000733333 +0.000753333 0.00076 0.000773333 0.00076 0.000733333 0.000726667 0.000713333 0.00076 +0.000753333 0.000726667 0.000733333 0.000726667 0.000713333 0.000726667 0.000713333 0.00074 +0.000733333 0.000726667 0.00074 0.000746667 0.000733333 0.000706667 0.000713333 0.00072 +0.000726667 0.00074 0.000746667 0.000726667 0.000726667 0.000726667 0.00074 0.000726667 +0.000706667 0.0007 0.000686667 0.000706667 0.0007 0.000693333 0.0007 0.000693333 +0.000713333 0.000713333 0.000733333 0.000713333 0.0007 0.000706667 0.00074 0.000746667 +0.000726667 0.000713333 0.000706667 0.000706667 0.000693333 0.00072 0.00072 0.000713333 +0.000706667 0.000693333 0.000693333 0.0007 0.000706667 0.000726667 0.00072 0.00072 +0.000713333 0.000686667 0.00072 0.0007 0.000686667 0.00068 0.000673333 0.000706667 +0.000706667 0.00072 0.000713333 0.000706667 0.000706667 0.000686667 0.00068 0.000673333 +0.000673333 0.000673333 0.00068 0.000686667 0.000673333 0.000673333 0.000686667 0.000686667 +0.000706667 0.000673333 0.00068 0.000706667 0.000673333 0.000666667 0.000666667 0.00068 +0.000686667 0.000693333 0.0007 0.00068 0.00066 0.00066 0.00066 0.000666667 +0.00068 0.00068 0.000686667 0.000686667 0.00068 0.000666667 0.00068 0.00068 +0.000673333 0.000673333 0.000693333 0.000693333 0.000693333 0.000673333 0.000666667 0.0007 +0.000686667 0.0007 0.0007 0.00066 0.000666667 0.000693333 0.000706667 0.000693333 +0.00066 0.000686667 0.000706667 0.00072 0.000706667 0.000713333 0.00072 0.000693333 +0.000713333 0.000686667 0.00068 0.000673333 0.000666667 0.0007 0.000693333 0.000693333 +0.00068 0.0007 0.000693333 0.000666667 0.00066 0.000686667 0.000693333 0.000693333 +0.000666667 0.00068 0.000666667 0.000666667 0.000666667 0.00068 0.000693333 0.000686667 +0.000686667 0.00068 0.000706667 0.000693333 0.000693333 0.000706667 0.000686667 0.00066 +0.000686667 0.000686667 0.0007 0.0007 0.00068 0.000673333 0.000673333 0.000666667 +0.000666667 0.00068 0.000693333 0.0007 0.000686667 0.000673333 0.000673333 0.000693333 +0.00068 0.00068 0.000686667 0.000686667 0.000666667 0.00068 0.000666667 0.000673333 +0.000673333 0.000653333 0.000673333 0.00068 0.0007 0.000693333 0.00068 0.000673333 +0.00068 0.000693333 0.00068 0.000646667 0.000693333 0.00068 0.000673333 0.000706667 +0.000673333 0.000686667 0.00068 0.00064 0.00068 0.000706667 0.000686667 0.000646667 +0.00066 0.000666667 0.000693333 0.000706667 0.00068 0.000673333 0.00068 0.000673333 +0.000666667 0.00068 0.000693333 0.000673333 0.000666667 0.000686667 0.000693333 0.00072 +0.00072 0.000673333 0.000686667 0.000686667 0.00068 0.000686667 0.00068 0.0007 +0.0007 0.00068 0.00068 0.000686667 0.000706667 0.000713333 0.000693333 0.00068 +0.000706667 0.000713333 0.000706667 0.000693333 0.00068 0.000693333 0.0007 0.000693333 +0.000693333 0.000693333 0.00068 0.00068 0.0007 0.00072 0.000706667 0.0007 +0.000706667 0.00072 0.000693333 0.0007 0.000686667 0.000706667 0.000673333 0.000706667 +0.00072 0.000686667 0.00066 0.000706667 0.000726667 0.000693333 0.000693333 0.0007 +0.000713333 0.000693333 0.00072 0.00072 0.00066 0.000666667 0.000713333 0.000726667 +0.000706667 0.000693333 0.00068 0.000693333 0.000693333 0.0007 0.00072 0.00066 +0.00066 0.000666667 0.00068 0.000706667 0.00072 0.000693333 0.00066 0.000653333 +0.000686667 0.00066 0.000653333 0.000673333 0.000666667 0.000666667 0.00068 0.000693333 +0.00068 0.000673333 0.00066 0.00066 0.000666667 0.000666667 0.000673333 0.000646667 +0.000673333 0.00068 0.000686667 0.0007 0.0007 0.000686667 0.000626667 0.000653333 +0.000686667 0.00066 0.000646667 0.00068 0.000673333 0.00066 0.000673333 0.000706667 +0.0007 0.000686667 0.000693333 0.00068 0.000673333 0.000673333 0.000686667 0.000686667 +0.000706667 0.000666667 0.000686667 0.000713333 0.000706667 0.000686667 0.00068 0.000713333 +0.000693333 0.0007 0.0007 0.00068 0.000693333 0.00072 0.00072 0.000726667 +0.00072 0.000706667 0.00068 0.0007 0.00072 0.00072 0.000693333 0.000693333 +0.00072 0.000753333 0.00074 0.00072 0.000686667 0.000693333 0.000713333 0.000693333 +0.000726667 0.00074 0.000746667 0.00072 0.000726667 0.000713333 0.000706667 0.000733333 +0.000706667 0.000733333 0.000753333 0.00074 0.00074 0.000753333 0.000706667 0.000726667 +0.000773333 0.00072 0.00072 0.00078 0.000766667 0.000746667 0.000693333 0.00072 +0.00074 0.00072 0.00076 0.000773333 0.00076 0.00074 0.000746667 0.000746667 +0.00076 0.00076 0.000733333 0.000746667 0.00076 0.000766667 0.000773333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000773333 0.000733333 0.00072 0.00072 0.000726667 0.00072 0.00074 0.00076 +0.000753333 0.00074 0.000733333 0.000753333 0.000753333 0.000753333 0.0007 0.00072 +0.00076 0.000746667 0.000706667 0.000726667 0.00074 0.00072 0.000706667 0.000733333 +0.00074 0.000726667 0.000733333 0.00076 0.00074 0.000713333 0.000706667 0.0007 +0.0007 0.00072 0.000726667 0.000726667 0.000726667 0.00072 0.000733333 0.00074 +0.00072 0.000713333 0.000686667 0.000693333 0.000706667 0.000713333 0.000713333 0.000693333 +0.000706667 0.000686667 0.000706667 0.000733333 0.00072 0.000693333 0.000706667 0.000733333 +0.000746667 0.000726667 0.0007 0.000706667 0.000686667 0.0007 0.00072 0.000726667 +0.000713333 0.000693333 0.000713333 0.000713333 0.0007 0.000693333 0.000706667 0.000726667 +0.00072 0.00072 0.000726667 0.000706667 0.0007 0.00068 0.000686667 0.000693333 +0.0007 0.000706667 0.000713333 0.000706667 0.0007 0.00068 0.00068 0.00068 +0.000673333 0.000673333 0.00068 0.000693333 0.000673333 0.00066 0.00066 0.000686667 +0.0007 0.000673333 0.000673333 0.000686667 0.000706667 0.000686667 0.000653333 0.00068 +0.000693333 0.00068 0.000693333 0.000686667 0.000666667 0.000646667 0.000646667 0.000653333 +0.000653333 0.00068 0.000673333 0.000686667 0.00068 0.000653333 0.000673333 0.000686667 +0.00066 0.000673333 0.0007 0.000693333 0.00068 0.00068 0.000686667 0.000686667 +0.0007 0.000706667 0.0007 0.00068 0.00068 0.000686667 0.000686667 0.000686667 +0.000686667 0.00068 0.000693333 0.000726667 0.000713333 0.000706667 0.000726667 0.000693333 +0.0007 0.0007 0.000693333 0.00068 0.000666667 0.000693333 0.000686667 0.000686667 +0.000686667 0.000693333 0.000686667 0.00068 0.00068 0.000673333 0.00068 0.000686667 +0.00068 0.000686667 0.00068 0.000673333 0.00066 0.000653333 0.00068 0.000686667 +0.0007 0.000686667 0.000713333 0.000706667 0.000686667 0.000693333 0.000686667 0.000653333 +0.00068 0.000693333 0.0007 0.000673333 0.00066 0.000686667 0.000686667 0.000693333 +0.000686667 0.000666667 0.00068 0.000693333 0.000693333 0.000666667 0.000646667 0.000673333 +0.000673333 0.000693333 0.0007 0.000693333 0.00068 0.000666667 0.00066 0.000673333 +0.00068 0.000653333 0.00068 0.000673333 0.000686667 0.0007 0.000693333 0.000686667 +0.000693333 0.00068 0.000666667 0.00066 0.0007 0.0007 0.000673333 0.00068 +0.00068 0.000686667 0.000686667 0.000653333 0.000686667 0.0007 0.00068 0.000666667 +0.00066 0.000673333 0.00068 0.0007 0.000686667 0.000673333 0.000693333 0.000686667 +0.000693333 0.000693333 0.00068 0.000666667 0.000666667 0.00068 0.0007 0.000713333 +0.000713333 0.00068 0.000686667 0.0007 0.000686667 0.000673333 0.00068 0.000706667 +0.000726667 0.000693333 0.00068 0.000673333 0.000686667 0.000693333 0.0007 0.000686667 +0.0007 0.000726667 0.000693333 0.00068 0.000713333 0.0007 0.000686667 0.00068 +0.0007 0.000713333 0.000693333 0.000673333 0.0007 0.00072 0.0007 0.000686667 +0.000706667 0.00072 0.000693333 0.000706667 0.000693333 0.000686667 0.000673333 0.000733333 +0.000713333 0.000673333 0.000673333 0.000726667 0.000713333 0.000673333 0.0007 0.000713333 +0.000693333 0.0007 0.00074 0.000706667 0.000653333 0.00068 0.000726667 0.00072 +0.000706667 0.000693333 0.000693333 0.000693333 0.000693333 0.000693333 0.00072 0.00068 +0.000646667 0.000666667 0.000673333 0.000693333 0.00072 0.000706667 0.00066 0.000646667 +0.000693333 0.00066 0.000653333 0.000666667 0.000673333 0.00068 0.000686667 0.00068 +0.000686667 0.000673333 0.000666667 0.00066 0.00066 0.00066 0.000653333 0.000673333 +0.000673333 0.000666667 0.000686667 0.000686667 0.0007 0.000693333 0.000646667 0.00066 +0.000666667 0.000666667 0.00066 0.00068 0.000666667 0.00068 0.00068 0.00068 +0.000673333 0.000693333 0.0007 0.000673333 0.00068 0.000686667 0.000693333 0.0007 +0.000686667 0.00066 0.000693333 0.000686667 0.000693333 0.000686667 0.0007 0.0007 +0.000686667 0.000706667 0.000693333 0.000693333 0.000726667 0.00072 0.00072 0.00072 +0.000733333 0.00072 0.0007 0.000713333 0.000713333 0.000693333 0.000693333 0.000713333 +0.00072 0.000753333 0.00074 0.000713333 0.000693333 0.0007 0.000733333 0.000726667 +0.000733333 0.000726667 0.000706667 0.000713333 0.000726667 0.000733333 0.000693333 0.000726667 +0.000726667 0.00074 0.000733333 0.000746667 0.000746667 0.000726667 0.000706667 0.00076 +0.00076 0.000713333 0.000753333 0.000773333 0.000726667 0.00072 0.000713333 0.00072 +0.00074 0.000706667 0.000773333 0.000766667 0.00074 0.000746667 0.000753333 0.000733333 +0.000753333 0.00074 0.000726667 0.00076 0.000753333 0.000746667 0.000766667 0.000753333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000766667 +0.00076 0.00074 0.000733333 0.00074 0.000733333 0.00072 0.00072 0.00072 +0.00076 0.000753333 0.00072 0.000733333 0.000753333 0.00076 0.000746667 0.000733333 +0.000733333 0.000753333 0.000726667 0.0007 0.000733333 0.000746667 0.000726667 0.00072 +0.000706667 0.000726667 0.000733333 0.000746667 0.000733333 0.000706667 0.000726667 0.00074 +0.000713333 0.0007 0.000693333 0.000713333 0.000733333 0.00074 0.000726667 0.000733333 +0.000746667 0.000733333 0.000726667 0.000713333 0.000693333 0.000706667 0.000713333 0.000706667 +0.000706667 0.000686667 0.000686667 0.00072 0.000726667 0.000706667 0.00072 0.000713333 +0.00072 0.000733333 0.000726667 0.000706667 0.000686667 0.000686667 0.000693333 0.000726667 +0.000726667 0.000713333 0.000726667 0.000713333 0.000713333 0.000693333 0.0007 0.00072 +0.000706667 0.000733333 0.000733333 0.000713333 0.000713333 0.00068 0.0007 0.000693333 +0.000686667 0.000693333 0.000693333 0.0007 0.000686667 0.000686667 0.000693333 0.000706667 +0.000686667 0.00066 0.000666667 0.000686667 0.000686667 0.00068 0.000673333 0.0007 +0.000693333 0.000673333 0.000693333 0.000686667 0.0007 0.000693333 0.00066 0.000666667 +0.000673333 0.00068 0.000673333 0.000673333 0.000686667 0.000673333 0.000673333 0.00066 +0.00064 0.00066 0.00066 0.000673333 0.000686667 0.00068 0.00068 0.000673333 +0.000673333 0.00068 0.000693333 0.000693333 0.00068 0.000693333 0.000713333 0.000693333 +0.000686667 0.000673333 0.000686667 0.000693333 0.000693333 0.0007 0.000666667 0.000666667 +0.000706667 0.000686667 0.000673333 0.0007 0.000713333 0.000693333 0.00072 0.000693333 +0.000693333 0.0007 0.000706667 0.000693333 0.000666667 0.000673333 0.0007 0.000693333 +0.00068 0.00068 0.000693333 0.000693333 0.0007 0.000686667 0.000673333 0.00068 +0.000686667 0.00068 0.000693333 0.000686667 0.000666667 0.000646667 0.000686667 0.00068 +0.000693333 0.0007 0.000713333 0.000693333 0.000673333 0.000686667 0.0007 0.00066 +0.000666667 0.000693333 0.000706667 0.000673333 0.00066 0.000713333 0.00068 0.00068 +0.000686667 0.000666667 0.000666667 0.000673333 0.00068 0.000693333 0.00066 0.000666667 +0.00068 0.00068 0.000686667 0.000686667 0.000673333 0.000673333 0.000653333 0.000673333 +0.00068 0.000666667 0.000693333 0.00068 0.00068 0.000693333 0.00068 0.00068 +0.00068 0.00068 0.000673333 0.000653333 0.00068 0.000706667 0.00068 0.00066 +0.000666667 0.00068 0.000673333 0.00066 0.000706667 0.0007 0.000686667 0.000673333 +0.00066 0.000673333 0.000686667 0.000693333 0.000673333 0.000653333 0.00068 0.0007 +0.000686667 0.000693333 0.00068 0.000666667 0.000673333 0.000666667 0.0007 0.000693333 +0.0007 0.00068 0.000673333 0.0007 0.000673333 0.000666667 0.00068 0.000706667 +0.000693333 0.0007 0.000693333 0.000673333 0.000693333 0.000686667 0.000693333 0.000673333 +0.000686667 0.000726667 0.000686667 0.000673333 0.000713333 0.000693333 0.000706667 0.000706667 +0.000693333 0.000713333 0.000686667 0.00066 0.0007 0.00072 0.000706667 0.000693333 +0.000706667 0.000706667 0.000686667 0.000706667 0.000686667 0.000673333 0.0007 0.000726667 +0.0007 0.000693333 0.000706667 0.00072 0.000693333 0.000693333 0.000706667 0.000693333 +0.000686667 0.000726667 0.000726667 0.000686667 0.000673333 0.000693333 0.00072 0.000713333 +0.000693333 0.00068 0.0007 0.0007 0.000686667 0.000686667 0.000713333 0.0007 +0.00066 0.000666667 0.00068 0.000686667 0.000706667 0.0007 0.000646667 0.000673333 +0.00068 0.000653333 0.00066 0.000666667 0.00068 0.00068 0.00068 0.000666667 +0.0007 0.000673333 0.000673333 0.00066 0.00066 0.00066 0.000613333 0.00066 +0.00068 0.00068 0.00068 0.000666667 0.000706667 0.00068 0.000666667 0.000666667 +0.00066 0.000666667 0.00066 0.000673333 0.000693333 0.000693333 0.0007 0.000686667 +0.00068 0.00068 0.00068 0.00068 0.000686667 0.000713333 0.0007 0.000686667 +0.00066 0.000686667 0.000706667 0.00068 0.00068 0.000686667 0.000693333 0.0007 +0.000693333 0.000706667 0.0007 0.000713333 0.000713333 0.000693333 0.000706667 0.000726667 +0.000746667 0.000726667 0.0007 0.000706667 0.000693333 0.000686667 0.000713333 0.000713333 +0.00072 0.000746667 0.00072 0.000706667 0.0007 0.000726667 0.00074 0.000733333 +0.000726667 0.000713333 0.000706667 0.000726667 0.000713333 0.000726667 0.000693333 0.000733333 +0.000726667 0.000713333 0.00074 0.000766667 0.000733333 0.000713333 0.000713333 0.000746667 +0.000766667 0.00076 0.000746667 0.00072 0.00072 0.00074 0.000733333 0.000706667 +0.000733333 0.00074 0.00076 0.00076 0.000753333 0.000746667 0.000746667 0.000733333 +0.000746667 0.00074 0.00074 0.000766667 0.000753333 0.000733333 0.00074 0.000753333 +0.00078 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000753333 0.000733333 +0.000733333 0.000753333 0.000766667 0.000746667 0.000733333 0.00074 0.000733333 0.000706667 +0.000713333 0.000746667 0.000753333 0.000726667 0.000733333 0.000733333 0.000766667 0.0008 +0.000733333 0.00072 0.000733333 0.000713333 0.00072 0.000726667 0.000726667 0.000733333 +0.0007 0.000713333 0.000746667 0.000733333 0.00072 0.000706667 0.000706667 0.00074 +0.000753333 0.000713333 0.000686667 0.000706667 0.00072 0.000746667 0.000746667 0.0007 +0.00072 0.000726667 0.000746667 0.000746667 0.000693333 0.000693333 0.000706667 0.000713333 +0.000713333 0.000693333 0.0007 0.000706667 0.000713333 0.0007 0.000713333 0.00072 +0.000713333 0.0007 0.000726667 0.000726667 0.0007 0.0007 0.000686667 0.000713333 +0.000726667 0.000726667 0.00072 0.0007 0.000713333 0.000713333 0.000706667 0.00072 +0.000693333 0.000713333 0.000733333 0.000713333 0.0007 0.00068 0.000706667 0.000706667 +0.000693333 0.00068 0.000686667 0.0007 0.0007 0.000693333 0.00068 0.000693333 +0.000686667 0.000666667 0.000666667 0.000666667 0.00068 0.0007 0.000693333 0.000706667 +0.000693333 0.0007 0.0007 0.000686667 0.00068 0.000673333 0.000686667 0.00068 +0.000673333 0.000686667 0.000686667 0.00068 0.00068 0.000673333 0.000693333 0.000673333 +0.000653333 0.000666667 0.000666667 0.000666667 0.000686667 0.0007 0.00068 0.00066 +0.000666667 0.000686667 0.000686667 0.000686667 0.000686667 0.000693333 0.000693333 0.000693333 +0.00068 0.000653333 0.000686667 0.0007 0.000686667 0.000686667 0.000693333 0.000673333 +0.00068 0.00068 0.00068 0.000673333 0.0007 0.000713333 0.000713333 0.000686667 +0.000693333 0.000706667 0.000693333 0.000706667 0.000686667 0.000666667 0.0007 0.000713333 +0.000693333 0.000666667 0.0007 0.000713333 0.0007 0.000693333 0.00068 0.000666667 +0.00068 0.000673333 0.000693333 0.000693333 0.000673333 0.00066 0.000673333 0.000666667 +0.000673333 0.000693333 0.000686667 0.000686667 0.000666667 0.000673333 0.000713333 0.000673333 +0.00066 0.000693333 0.000686667 0.000673333 0.000673333 0.000693333 0.00068 0.000666667 +0.000666667 0.00068 0.00068 0.00066 0.000666667 0.0007 0.00068 0.0007 +0.000706667 0.000653333 0.000653333 0.000693333 0.00068 0.00068 0.00068 0.000653333 +0.000686667 0.00068 0.00068 0.000686667 0.000686667 0.000686667 0.000686667 0.000666667 +0.000653333 0.000686667 0.0007 0.00066 0.000673333 0.000706667 0.000686667 0.000686667 +0.000686667 0.00068 0.000673333 0.000653333 0.000706667 0.00072 0.000693333 0.000653333 +0.000646667 0.000673333 0.000693333 0.000693333 0.000666667 0.000666667 0.00068 0.000706667 +0.000693333 0.000673333 0.000686667 0.00068 0.000673333 0.000666667 0.000686667 0.0007 +0.000713333 0.000686667 0.000673333 0.000686667 0.000673333 0.00068 0.000693333 0.0007 +0.000686667 0.0007 0.000706667 0.000686667 0.000706667 0.000693333 0.000693333 0.000686667 +0.000706667 0.00072 0.0007 0.00068 0.000706667 0.000686667 0.000726667 0.000706667 +0.000693333 0.000693333 0.000693333 0.000666667 0.000706667 0.000706667 0.0007 0.000706667 +0.000713333 0.000686667 0.000686667 0.0007 0.000673333 0.000686667 0.000706667 0.000686667 +0.0007 0.000686667 0.000686667 0.000693333 0.000693333 0.000713333 0.000713333 0.0007 +0.0007 0.000706667 0.000713333 0.000686667 0.000673333 0.000673333 0.00072 0.00072 +0.00068 0.000666667 0.0007 0.00072 0.000693333 0.000686667 0.000713333 0.000693333 +0.00068 0.00066 0.000673333 0.000706667 0.000686667 0.000686667 0.000653333 0.000686667 +0.000666667 0.000673333 0.000673333 0.000653333 0.00068 0.000686667 0.000666667 0.000666667 +0.0007 0.000673333 0.000646667 0.00066 0.000653333 0.000646667 0.000606667 0.000653333 +0.00068 0.000666667 0.00066 0.000693333 0.0007 0.000666667 0.000673333 0.00068 +0.000673333 0.00066 0.000653333 0.000666667 0.000693333 0.00068 0.0007 0.000686667 +0.000686667 0.00068 0.00068 0.00068 0.000686667 0.00072 0.000686667 0.000673333 +0.000666667 0.0007 0.000693333 0.00068 0.000686667 0.00068 0.0007 0.000706667 +0.0007 0.000693333 0.000713333 0.000706667 0.000693333 0.000693333 0.000706667 0.00072 +0.00074 0.000733333 0.000706667 0.0007 0.000673333 0.000686667 0.000733333 0.000693333 +0.000726667 0.000733333 0.0007 0.000693333 0.000706667 0.000733333 0.000713333 0.00072 +0.00072 0.000733333 0.000726667 0.00072 0.000693333 0.000706667 0.0007 0.000733333 +0.000733333 0.00072 0.00076 0.00076 0.00072 0.000693333 0.000726667 0.000766667 +0.000766667 0.00074 0.000726667 0.00072 0.00074 0.000733333 0.000733333 0.000706667 +0.000746667 0.000753333 0.000766667 0.000793333 0.000753333 0.00072 0.00074 0.000746667 +0.00072 0.000753333 0.000773333 0.000746667 0.00072 0.000733333 0.00076 0.000753333 +0.000746667 0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000766667 0.00076 0.000733333 +0.000713333 0.00074 0.00074 0.00074 0.00076 0.00074 0.000733333 0.000726667 +0.000713333 0.000713333 0.00076 0.000726667 0.00072 0.000733333 0.00072 0.000773333 +0.000773333 0.000746667 0.00072 0.000706667 0.00072 0.000726667 0.000726667 0.00072 +0.000733333 0.00072 0.00072 0.00072 0.000726667 0.00074 0.000726667 0.0007 +0.00074 0.000746667 0.000713333 0.000713333 0.000706667 0.0007 0.00074 0.000726667 +0.0007 0.000713333 0.000706667 0.000733333 0.000713333 0.000706667 0.0007 0.000686667 +0.000713333 0.00072 0.000713333 0.000713333 0.000706667 0.0007 0.000686667 0.000706667 +0.00072 0.0007 0.0007 0.000713333 0.00072 0.000713333 0.000693333 0.000686667 +0.000706667 0.00072 0.00072 0.000706667 0.0007 0.000706667 0.000706667 0.000693333 +0.000673333 0.000713333 0.00072 0.000713333 0.000706667 0.0007 0.000706667 0.000706667 +0.000686667 0.00068 0.000693333 0.000686667 0.0007 0.000693333 0.000686667 0.00068 +0.000686667 0.00068 0.00068 0.000673333 0.000666667 0.00068 0.0007 0.000706667 +0.0007 0.000706667 0.000693333 0.00068 0.000673333 0.000666667 0.000686667 0.000686667 +0.000686667 0.000693333 0.000686667 0.000686667 0.000673333 0.000666667 0.00068 0.000693333 +0.00066 0.000653333 0.000673333 0.00066 0.000653333 0.000686667 0.000693333 0.000673333 +0.00066 0.00068 0.000686667 0.000693333 0.0007 0.000693333 0.000673333 0.00068 +0.000686667 0.00066 0.000686667 0.000706667 0.0007 0.00068 0.00068 0.0007 +0.00066 0.000666667 0.000686667 0.000686667 0.0007 0.000713333 0.000713333 0.000686667 +0.00068 0.000713333 0.000673333 0.000693333 0.000686667 0.000673333 0.000693333 0.000693333 +0.000693333 0.000666667 0.000693333 0.000706667 0.000686667 0.000686667 0.00068 0.000686667 +0.00068 0.000673333 0.000666667 0.000673333 0.000666667 0.000673333 0.000673333 0.00066 +0.00068 0.000686667 0.00068 0.000686667 0.000673333 0.000693333 0.000713333 0.000686667 +0.00066 0.00068 0.000673333 0.000693333 0.00068 0.000686667 0.00068 0.000686667 +0.000666667 0.000673333 0.000686667 0.00068 0.000673333 0.00068 0.00068 0.000693333 +0.0007 0.000673333 0.000653333 0.000693333 0.000693333 0.00068 0.000673333 0.000653333 +0.000673333 0.000666667 0.000666667 0.00068 0.000686667 0.00068 0.000686667 0.00066 +0.00066 0.000673333 0.000686667 0.00066 0.000666667 0.0007 0.000686667 0.000686667 +0.00068 0.000673333 0.000673333 0.000653333 0.000686667 0.000733333 0.000706667 0.000646667 +0.00066 0.00068 0.0007 0.000713333 0.00068 0.000666667 0.000673333 0.000713333 +0.000706667 0.00068 0.000686667 0.000686667 0.00068 0.00068 0.000693333 0.000686667 +0.000686667 0.000686667 0.000666667 0.00068 0.000686667 0.000686667 0.000693333 0.0007 +0.0007 0.000686667 0.00068 0.0007 0.0007 0.000673333 0.000693333 0.000686667 +0.000713333 0.000713333 0.000686667 0.00068 0.000706667 0.0007 0.000726667 0.000706667 +0.000693333 0.0007 0.000693333 0.000673333 0.0007 0.0007 0.000693333 0.000693333 +0.000693333 0.000686667 0.000686667 0.00068 0.000686667 0.000706667 0.000693333 0.0007 +0.00072 0.0007 0.00068 0.000673333 0.000693333 0.000693333 0.000706667 0.00074 +0.000706667 0.00068 0.00072 0.000693333 0.000666667 0.000666667 0.00072 0.00072 +0.000686667 0.00068 0.000706667 0.00072 0.000706667 0.000686667 0.000686667 0.000673333 +0.000686667 0.000666667 0.00068 0.000706667 0.00066 0.000673333 0.00068 0.000686667 +0.000673333 0.000673333 0.000673333 0.000673333 0.000673333 0.0007 0.00068 0.000673333 +0.0007 0.000673333 0.000653333 0.000666667 0.00066 0.000626667 0.00064 0.000666667 +0.000666667 0.00066 0.00066 0.0007 0.000673333 0.000646667 0.000673333 0.000693333 +0.00068 0.000646667 0.00068 0.000686667 0.000666667 0.00066 0.00068 0.000686667 +0.000693333 0.00068 0.00068 0.00068 0.0007 0.0007 0.00068 0.00068 +0.000686667 0.000706667 0.000673333 0.00068 0.000693333 0.000693333 0.0007 0.000686667 +0.000713333 0.000693333 0.0007 0.000686667 0.0007 0.000706667 0.000706667 0.000713333 +0.00072 0.00072 0.000706667 0.000693333 0.000673333 0.000726667 0.00074 0.000713333 +0.00074 0.00072 0.000693333 0.0007 0.00072 0.000713333 0.000693333 0.000693333 +0.000733333 0.000746667 0.000733333 0.0007 0.0007 0.0007 0.00072 0.00072 +0.000746667 0.00074 0.000753333 0.00074 0.000706667 0.000693333 0.00078 0.00078 +0.000726667 0.0007 0.00072 0.00076 0.000746667 0.00072 0.000746667 0.000733333 +0.000753333 0.00078 0.00076 0.000773333 0.000713333 0.000713333 0.000753333 0.000746667 +0.000726667 0.00078 0.000753333 0.000713333 0.000726667 0.000753333 0.000766667 0.000746667 +0.000746667 0.000766667 0.000786667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000746667 0.000733333 0.00074 0.000773333 +0.00074 0.000713333 0.000713333 0.000726667 0.00078 0.000753333 0.000713333 0.000726667 +0.000746667 0.000733333 0.000733333 0.000706667 0.000726667 0.00074 0.000713333 0.000706667 +0.000726667 0.000766667 0.000753333 0.00072 0.000713333 0.000726667 0.00074 0.000726667 +0.000733333 0.00074 0.00072 0.000726667 0.000726667 0.000733333 0.000753333 0.000713333 +0.000713333 0.00074 0.00072 0.000713333 0.000713333 0.000693333 0.000713333 0.00074 +0.000713333 0.000726667 0.00072 0.00072 0.000713333 0.00072 0.000726667 0.0007 +0.000693333 0.000713333 0.000726667 0.000706667 0.000706667 0.000713333 0.000693333 0.000686667 +0.000713333 0.000706667 0.0007 0.0007 0.000733333 0.000726667 0.000713333 0.00068 +0.000686667 0.00072 0.00072 0.000726667 0.0007 0.000673333 0.000686667 0.000673333 +0.00068 0.000713333 0.000706667 0.000706667 0.000713333 0.000706667 0.0007 0.0007 +0.000686667 0.000693333 0.000713333 0.000673333 0.000666667 0.00068 0.000686667 0.00068 +0.000686667 0.000693333 0.000686667 0.000693333 0.00068 0.00066 0.000673333 0.000686667 +0.000673333 0.00068 0.000686667 0.000706667 0.000686667 0.00068 0.000693333 0.000673333 +0.000686667 0.000693333 0.000686667 0.000673333 0.0007 0.00068 0.000653333 0.000666667 +0.000653333 0.000646667 0.000666667 0.000666667 0.00066 0.000673333 0.000693333 0.000693333 +0.000666667 0.00068 0.000673333 0.000673333 0.000706667 0.00072 0.000686667 0.00066 +0.000673333 0.000673333 0.000666667 0.000693333 0.000713333 0.000706667 0.00068 0.000693333 +0.0007 0.00068 0.000666667 0.000673333 0.000706667 0.000686667 0.000693333 0.000706667 +0.00068 0.000706667 0.000686667 0.00068 0.000686667 0.000693333 0.000706667 0.000686667 +0.000673333 0.00066 0.00068 0.000693333 0.000693333 0.000686667 0.000673333 0.000693333 +0.0007 0.000693333 0.000673333 0.000673333 0.00066 0.000666667 0.000673333 0.00068 +0.000686667 0.000686667 0.00068 0.000686667 0.00068 0.000693333 0.000713333 0.000686667 +0.00066 0.00066 0.00068 0.000706667 0.000686667 0.0007 0.000693333 0.000686667 +0.000666667 0.000673333 0.000666667 0.00068 0.000686667 0.000666667 0.00068 0.000673333 +0.000666667 0.000673333 0.00068 0.000673333 0.00068 0.00068 0.000673333 0.000686667 +0.000686667 0.00066 0.00068 0.000693333 0.00068 0.00068 0.000686667 0.00066 +0.000666667 0.000686667 0.00068 0.00066 0.00066 0.00068 0.000693333 0.000686667 +0.000673333 0.000666667 0.00066 0.000653333 0.000686667 0.000726667 0.0007 0.000673333 +0.000653333 0.000666667 0.000693333 0.000713333 0.000693333 0.000666667 0.000666667 0.0007 +0.0007 0.0007 0.00068 0.00068 0.000686667 0.000686667 0.000693333 0.00068 +0.000666667 0.000693333 0.000693333 0.000686667 0.000686667 0.00068 0.00068 0.000713333 +0.0007 0.000653333 0.00068 0.0007 0.0007 0.00068 0.000673333 0.000653333 +0.0007 0.000706667 0.00068 0.000666667 0.000706667 0.000706667 0.000706667 0.000693333 +0.000686667 0.000693333 0.000706667 0.000673333 0.000686667 0.000713333 0.000706667 0.000666667 +0.000686667 0.0007 0.00068 0.00068 0.000706667 0.000693333 0.000693333 0.000713333 +0.000706667 0.000693333 0.0007 0.0007 0.000686667 0.000673333 0.000706667 0.000726667 +0.000686667 0.000706667 0.00072 0.00068 0.000673333 0.00068 0.000713333 0.000693333 +0.000686667 0.000686667 0.00068 0.000693333 0.00072 0.000706667 0.000666667 0.000666667 +0.00068 0.00068 0.000706667 0.000686667 0.00066 0.000673333 0.000686667 0.000693333 +0.00068 0.000646667 0.000666667 0.000686667 0.00066 0.000686667 0.00068 0.00068 +0.000686667 0.000673333 0.00068 0.000666667 0.00066 0.00064 0.00068 0.000666667 +0.000646667 0.000673333 0.00068 0.00068 0.000653333 0.000646667 0.000686667 0.0007 +0.000673333 0.000666667 0.000686667 0.000666667 0.000653333 0.000686667 0.000686667 0.000706667 +0.000693333 0.000673333 0.000673333 0.000673333 0.0007 0.000673333 0.000673333 0.000673333 +0.000693333 0.0007 0.000673333 0.000693333 0.000706667 0.0007 0.000693333 0.000693333 +0.000733333 0.0007 0.00068 0.00068 0.0007 0.00072 0.000706667 0.000733333 +0.000713333 0.0007 0.000713333 0.00068 0.000666667 0.000733333 0.000726667 0.00072 +0.00072 0.000706667 0.0007 0.000726667 0.000726667 0.000693333 0.000693333 0.0007 +0.000746667 0.000733333 0.000706667 0.000706667 0.000706667 0.0007 0.000726667 0.000726667 +0.000766667 0.000726667 0.000713333 0.00072 0.000706667 0.000746667 0.00078 0.000726667 +0.000706667 0.000706667 0.000726667 0.00074 0.00072 0.000733333 0.00076 0.00076 +0.00076 0.00078 0.00074 0.00074 0.000706667 0.000733333 0.00074 0.00072 +0.000733333 0.000766667 0.000726667 0.00074 0.000746667 0.00074 0.000746667 0.000766667 +0.00076 0.000746667 0.000753333 0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000806667 0.000766667 0.00072 0.000726667 0.00072 0.00074 +0.000753333 0.00076 0.000746667 0.000713333 0.00072 0.000746667 0.000726667 0.000713333 +0.00076 0.00076 0.000726667 0.0007 0.000726667 0.00072 0.000726667 0.000726667 +0.000713333 0.000726667 0.000746667 0.000753333 0.00074 0.000706667 0.000706667 0.000726667 +0.000733333 0.00072 0.000713333 0.000726667 0.000713333 0.000693333 0.00072 0.00074 +0.000733333 0.000713333 0.000713333 0.00072 0.00072 0.000713333 0.000706667 0.000713333 +0.000713333 0.00072 0.000726667 0.000733333 0.000713333 0.000693333 0.000726667 0.00074 +0.000713333 0.000713333 0.000726667 0.000693333 0.000693333 0.000706667 0.0007 0.000686667 +0.000693333 0.000706667 0.000713333 0.00068 0.000686667 0.00072 0.00074 0.000706667 +0.000673333 0.0007 0.000713333 0.00072 0.000713333 0.0007 0.000693333 0.000666667 +0.000686667 0.000713333 0.0007 0.00068 0.000693333 0.0007 0.000713333 0.000713333 +0.000706667 0.0007 0.000706667 0.000693333 0.00066 0.00066 0.000686667 0.00068 +0.000673333 0.00068 0.000686667 0.00068 0.000686667 0.000693333 0.000673333 0.000673333 +0.00066 0.000686667 0.000693333 0.0007 0.00068 0.000686667 0.000706667 0.000686667 +0.000666667 0.00068 0.000693333 0.000673333 0.000693333 0.000686667 0.000666667 0.000633333 +0.00064 0.000673333 0.000666667 0.00068 0.000693333 0.00068 0.00068 0.00068 +0.000666667 0.000666667 0.000666667 0.000666667 0.0007 0.00072 0.000713333 0.000666667 +0.000646667 0.000666667 0.000666667 0.000686667 0.0007 0.000713333 0.0007 0.000673333 +0.00068 0.000693333 0.00068 0.00066 0.000673333 0.000686667 0.000693333 0.00072 +0.0007 0.000693333 0.000706667 0.000706667 0.000693333 0.00068 0.000693333 0.000693333 +0.000686667 0.00066 0.00068 0.000693333 0.0007 0.0007 0.000686667 0.000686667 +0.0007 0.000706667 0.000673333 0.000686667 0.000686667 0.000626667 0.00066 0.000693333 +0.000693333 0.0007 0.00068 0.000686667 0.000686667 0.0007 0.000713333 0.0007 +0.000653333 0.000646667 0.000673333 0.000693333 0.000673333 0.000686667 0.000693333 0.000693333 +0.000673333 0.000666667 0.000653333 0.000673333 0.0007 0.000673333 0.000666667 0.000666667 +0.000666667 0.00068 0.000686667 0.00068 0.000666667 0.000673333 0.00068 0.0007 +0.000693333 0.000646667 0.000673333 0.000693333 0.000673333 0.000673333 0.000693333 0.00066 +0.000653333 0.000693333 0.000686667 0.000666667 0.000653333 0.00068 0.00068 0.000693333 +0.00068 0.000673333 0.000653333 0.000633333 0.000686667 0.0007 0.000686667 0.00068 +0.000653333 0.000666667 0.000673333 0.00068 0.00068 0.000666667 0.00066 0.000693333 +0.000686667 0.0007 0.000686667 0.000686667 0.00068 0.000666667 0.00068 0.000673333 +0.00068 0.0007 0.0007 0.0007 0.000686667 0.000686667 0.00068 0.000706667 +0.000693333 0.000653333 0.00068 0.000693333 0.000706667 0.000693333 0.00066 0.000646667 +0.000713333 0.000726667 0.00068 0.000686667 0.0007 0.000706667 0.0007 0.000693333 +0.000693333 0.000693333 0.000713333 0.000686667 0.000693333 0.000713333 0.000693333 0.000673333 +0.0007 0.000706667 0.000686667 0.0007 0.000713333 0.000673333 0.0007 0.000706667 +0.00068 0.000686667 0.0007 0.000713333 0.0007 0.000686667 0.00072 0.000706667 +0.000673333 0.000733333 0.000706667 0.000666667 0.000673333 0.0007 0.000706667 0.000686667 +0.000693333 0.000686667 0.000653333 0.000673333 0.00072 0.00074 0.000673333 0.000666667 +0.000666667 0.00068 0.00072 0.000666667 0.000666667 0.000673333 0.000686667 0.000713333 +0.000673333 0.000653333 0.00068 0.0007 0.00068 0.00068 0.000673333 0.000666667 +0.000666667 0.000673333 0.00068 0.000646667 0.000646667 0.000653333 0.000686667 0.000666667 +0.000653333 0.000686667 0.000686667 0.000653333 0.000653333 0.000673333 0.000693333 0.00068 +0.00068 0.00068 0.000673333 0.00066 0.00066 0.000693333 0.000686667 0.0007 +0.000673333 0.000666667 0.000666667 0.000686667 0.0007 0.000673333 0.00068 0.00068 +0.00068 0.000686667 0.00068 0.0007 0.00068 0.000693333 0.0007 0.000726667 +0.00072 0.00068 0.00068 0.000693333 0.0007 0.000713333 0.000706667 0.000713333 +0.000706667 0.000706667 0.000726667 0.000686667 0.000686667 0.000733333 0.00072 0.000726667 +0.0007 0.0007 0.000706667 0.000733333 0.000713333 0.000686667 0.000706667 0.0007 +0.000733333 0.000706667 0.0007 0.00072 0.000726667 0.000686667 0.000706667 0.000746667 +0.000773333 0.000713333 0.000693333 0.000713333 0.000733333 0.00076 0.000713333 0.000686667 +0.000733333 0.00074 0.00074 0.000713333 0.000713333 0.000746667 0.000773333 0.000773333 +0.00074 0.000746667 0.000726667 0.00074 0.00076 0.00074 0.000706667 0.000713333 +0.00074 0.000753333 0.000733333 0.000746667 0.000726667 0.00076 0.000786667 0.000766667 +0.000753333 0.00076 0.000766667 0.00074 0.00076 0.000786667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00076 0.00074 0.00076 0.00076 0.000746667 0.00074 0.000713333 +0.000726667 0.000746667 0.000766667 0.000753333 0.000726667 0.000713333 0.000726667 0.000733333 +0.000733333 0.00074 0.00074 0.000726667 0.000733333 0.000726667 0.00072 0.000726667 +0.000726667 0.000713333 0.00072 0.00074 0.00074 0.000726667 0.000706667 0.000706667 +0.000726667 0.000733333 0.00072 0.000713333 0.000713333 0.000706667 0.000713333 0.000726667 +0.00074 0.000713333 0.0007 0.00072 0.000746667 0.000726667 0.00072 0.00072 +0.0007 0.0007 0.000706667 0.000726667 0.000726667 0.000686667 0.000673333 0.00072 +0.000733333 0.00072 0.000726667 0.000706667 0.000693333 0.0007 0.000706667 0.0007 +0.000686667 0.0007 0.00072 0.0007 0.00068 0.000693333 0.000726667 0.000726667 +0.0007 0.000686667 0.000706667 0.000706667 0.0007 0.00072 0.000733333 0.0007 +0.00068 0.000693333 0.000693333 0.00068 0.00068 0.000686667 0.00072 0.00072 +0.000693333 0.0007 0.00068 0.000706667 0.000686667 0.000673333 0.000673333 0.000666667 +0.000673333 0.000666667 0.000686667 0.00068 0.000673333 0.000693333 0.000693333 0.0007 +0.000686667 0.000673333 0.000686667 0.00066 0.000653333 0.00068 0.000706667 0.000693333 +0.000666667 0.000673333 0.00068 0.000673333 0.000673333 0.000673333 0.000693333 0.000653333 +0.000633333 0.00066 0.000666667 0.000693333 0.000686667 0.000693333 0.0007 0.00068 +0.00068 0.000653333 0.00066 0.000666667 0.00068 0.000693333 0.000706667 0.00068 +0.000653333 0.000666667 0.000686667 0.00068 0.000686667 0.000693333 0.0007 0.000673333 +0.000673333 0.000686667 0.000713333 0.000686667 0.000653333 0.000673333 0.0007 0.000733333 +0.000726667 0.000693333 0.000693333 0.000706667 0.000713333 0.00068 0.00066 0.000673333 +0.000693333 0.000673333 0.000666667 0.000686667 0.000686667 0.000686667 0.000693333 0.000693333 +0.00068 0.0007 0.00068 0.000686667 0.00068 0.000633333 0.00066 0.000686667 +0.000686667 0.0007 0.00068 0.000693333 0.000693333 0.000686667 0.000713333 0.0007 +0.000653333 0.000646667 0.00068 0.000686667 0.000666667 0.000686667 0.000686667 0.000706667 +0.000686667 0.000646667 0.000653333 0.00068 0.0007 0.00068 0.000666667 0.000666667 +0.000673333 0.000686667 0.000686667 0.000673333 0.00066 0.00066 0.00068 0.00068 +0.000673333 0.00066 0.000666667 0.000673333 0.00068 0.00066 0.000693333 0.00066 +0.000646667 0.000673333 0.000693333 0.000653333 0.00064 0.00068 0.000666667 0.00068 +0.000693333 0.000693333 0.00066 0.00066 0.000673333 0.000693333 0.00068 0.000673333 +0.000653333 0.000673333 0.000666667 0.000673333 0.000666667 0.000673333 0.000673333 0.000693333 +0.000666667 0.000666667 0.000686667 0.000693333 0.000673333 0.00066 0.000686667 0.000666667 +0.000693333 0.000686667 0.00068 0.0007 0.000666667 0.000693333 0.0007 0.000693333 +0.000686667 0.00068 0.000673333 0.000686667 0.000713333 0.00068 0.000653333 0.00066 +0.000726667 0.000713333 0.0007 0.000706667 0.000706667 0.000706667 0.000706667 0.000686667 +0.0007 0.000706667 0.000706667 0.000686667 0.000706667 0.000713333 0.0007 0.0007 +0.000706667 0.0007 0.000693333 0.0007 0.000693333 0.000686667 0.000706667 0.000693333 +0.00068 0.000693333 0.00068 0.000706667 0.000713333 0.0007 0.0007 0.0007 +0.000706667 0.00074 0.000686667 0.000673333 0.000686667 0.000706667 0.00068 0.000713333 +0.000693333 0.000673333 0.00066 0.000673333 0.000713333 0.000733333 0.00068 0.000666667 +0.00066 0.000673333 0.000713333 0.000666667 0.000673333 0.00068 0.00068 0.0007 +0.00066 0.000646667 0.000673333 0.000693333 0.0007 0.000666667 0.00068 0.000686667 +0.000673333 0.000686667 0.00066 0.000646667 0.000646667 0.000646667 0.000666667 0.00068 +0.000673333 0.00066 0.00068 0.000653333 0.00064 0.00068 0.000673333 0.00068 +0.000686667 0.000673333 0.00066 0.000673333 0.000666667 0.00068 0.000686667 0.000686667 +0.00066 0.00066 0.00066 0.000686667 0.000693333 0.00068 0.000686667 0.000686667 +0.000693333 0.00068 0.000686667 0.000686667 0.000673333 0.000706667 0.0007 0.000733333 +0.0007 0.00066 0.00068 0.0007 0.000706667 0.000706667 0.000713333 0.000706667 +0.000706667 0.000706667 0.0007 0.000686667 0.0007 0.000706667 0.000726667 0.00072 +0.000693333 0.000713333 0.000713333 0.000713333 0.0007 0.000713333 0.000726667 0.000693333 +0.000713333 0.00072 0.000706667 0.000713333 0.0007 0.0007 0.000726667 0.00076 +0.000746667 0.000726667 0.000706667 0.000713333 0.000733333 0.000726667 0.0007 0.000733333 +0.000733333 0.000733333 0.00074 0.000726667 0.000733333 0.000773333 0.000773333 0.000766667 +0.000713333 0.000733333 0.000733333 0.00074 0.000773333 0.000726667 0.00072 0.00074 +0.00074 0.000713333 0.00072 0.000713333 0.00074 0.00078 0.000786667 0.000753333 +0.00076 0.00076 0.000766667 0.00074 0.000766667 0.000766667 0.00076 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00076 0.000753333 0.000706667 0.000713333 0.000753333 0.000753333 0.00076 0.000753333 +0.000726667 0.00072 0.000706667 0.00074 0.000766667 0.00074 0.000706667 0.000733333 +0.000733333 0.000733333 0.000733333 0.000733333 0.00074 0.000746667 0.000726667 0.000713333 +0.000726667 0.000713333 0.000713333 0.000713333 0.00072 0.000733333 0.00074 0.000726667 +0.000726667 0.000713333 0.000726667 0.00072 0.0007 0.00072 0.00072 0.000706667 +0.000726667 0.000726667 0.00072 0.0007 0.000726667 0.000726667 0.000726667 0.000733333 +0.00072 0.00072 0.0007 0.000706667 0.00072 0.000713333 0.00068 0.000686667 +0.000726667 0.000726667 0.00072 0.000706667 0.000693333 0.000686667 0.0007 0.000706667 +0.000693333 0.0007 0.000706667 0.0007 0.0007 0.000706667 0.000693333 0.000686667 +0.000713333 0.000706667 0.000713333 0.000713333 0.000693333 0.0007 0.00072 0.000733333 +0.000713333 0.0007 0.000686667 0.000666667 0.000686667 0.000693333 0.000706667 0.000693333 +0.000693333 0.0007 0.000686667 0.000693333 0.000686667 0.000706667 0.000706667 0.000673333 +0.000673333 0.000653333 0.00068 0.000693333 0.000673333 0.000673333 0.000673333 0.000693333 +0.000706667 0.000666667 0.000666667 0.00066 0.00066 0.00068 0.0007 0.0007 +0.000673333 0.000666667 0.000666667 0.00068 0.000673333 0.00068 0.0007 0.000686667 +0.00066 0.000646667 0.000653333 0.000693333 0.00068 0.000686667 0.000706667 0.000706667 +0.000706667 0.000646667 0.00066 0.000666667 0.00066 0.000686667 0.0007 0.0007 +0.00068 0.000673333 0.000686667 0.000673333 0.00068 0.000706667 0.000713333 0.000686667 +0.00068 0.000686667 0.000713333 0.0007 0.000673333 0.000673333 0.000686667 0.000733333 +0.000733333 0.000693333 0.000693333 0.000693333 0.000713333 0.000706667 0.000666667 0.00066 +0.000706667 0.0007 0.000673333 0.00068 0.000693333 0.00068 0.00068 0.000686667 +0.000686667 0.000693333 0.000693333 0.000673333 0.000666667 0.000653333 0.00066 0.000666667 +0.00068 0.000693333 0.000673333 0.00068 0.0007 0.000673333 0.0007 0.000713333 +0.000673333 0.000646667 0.00068 0.000693333 0.00068 0.000693333 0.000693333 0.0007 +0.0007 0.000666667 0.000673333 0.000673333 0.0007 0.0007 0.00068 0.000686667 +0.00068 0.000666667 0.00068 0.00068 0.000653333 0.000666667 0.00066 0.000666667 +0.00068 0.000666667 0.000673333 0.000666667 0.000666667 0.00066 0.00068 0.000673333 +0.000653333 0.00066 0.000686667 0.000666667 0.000646667 0.000666667 0.000666667 0.000673333 +0.000673333 0.000686667 0.000666667 0.000693333 0.000686667 0.000693333 0.000693333 0.000666667 +0.000666667 0.000666667 0.000666667 0.000686667 0.000693333 0.000666667 0.00068 0.000713333 +0.000673333 0.000653333 0.000666667 0.000693333 0.00068 0.000666667 0.000693333 0.000673333 +0.000693333 0.000686667 0.000673333 0.000686667 0.000666667 0.000686667 0.0007 0.000673333 +0.000666667 0.000673333 0.000673333 0.0007 0.000713333 0.000666667 0.00066 0.000693333 +0.000706667 0.000693333 0.0007 0.000713333 0.000726667 0.000726667 0.000706667 0.00068 +0.000686667 0.000693333 0.000693333 0.00068 0.000693333 0.000726667 0.00072 0.000713333 +0.000706667 0.0007 0.000686667 0.000673333 0.000666667 0.000693333 0.000706667 0.000686667 +0.000693333 0.0007 0.000673333 0.00072 0.000713333 0.000693333 0.000673333 0.00068 +0.000733333 0.000726667 0.000686667 0.00068 0.000686667 0.000706667 0.000673333 0.00072 +0.000693333 0.000673333 0.00068 0.000693333 0.000706667 0.000693333 0.0007 0.00068 +0.00066 0.00068 0.000693333 0.000686667 0.000686667 0.000686667 0.00068 0.000686667 +0.000666667 0.00066 0.00068 0.000673333 0.000686667 0.00066 0.00068 0.000706667 +0.0007 0.0007 0.000673333 0.000666667 0.00064 0.000633333 0.00068 0.000693333 +0.000673333 0.000633333 0.000666667 0.000673333 0.000626667 0.000666667 0.00068 0.000693333 +0.00068 0.000673333 0.000673333 0.00064 0.00066 0.000673333 0.000693333 0.000666667 +0.000666667 0.000666667 0.00066 0.000686667 0.00068 0.00068 0.000686667 0.00068 +0.000686667 0.000693333 0.0007 0.000673333 0.000693333 0.00072 0.000706667 0.000713333 +0.000686667 0.000666667 0.00068 0.000693333 0.000713333 0.000713333 0.000713333 0.000686667 +0.0007 0.000713333 0.000693333 0.000706667 0.000693333 0.0007 0.000746667 0.000706667 +0.000693333 0.000713333 0.00072 0.000706667 0.000706667 0.00072 0.00072 0.000713333 +0.000713333 0.000713333 0.00068 0.000693333 0.0007 0.000726667 0.000726667 0.00074 +0.000753333 0.000746667 0.0007 0.00072 0.000713333 0.000693333 0.00072 0.00076 +0.000733333 0.000726667 0.000726667 0.000733333 0.000753333 0.000766667 0.00076 0.000733333 +0.000726667 0.000746667 0.000746667 0.000726667 0.000746667 0.000713333 0.000746667 0.000746667 +0.00072 0.000706667 0.000733333 0.00074 0.000766667 0.000766667 0.000786667 0.000746667 +0.000753333 0.000746667 0.000746667 0.000766667 0.00076 0.000726667 0.000746667 0.000793333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000746667 +0.00072 0.000733333 0.000733333 0.00072 0.000726667 0.000726667 0.000746667 0.00076 +0.000746667 0.000733333 0.00072 0.000706667 0.000726667 0.000753333 0.000733333 0.000726667 +0.000713333 0.000733333 0.000746667 0.000733333 0.00072 0.000733333 0.000726667 0.000726667 +0.000733333 0.00072 0.00072 0.00072 0.00074 0.000733333 0.000713333 0.000726667 +0.00074 0.00072 0.000706667 0.000706667 0.000706667 0.00072 0.00072 0.000713333 +0.00072 0.000726667 0.000726667 0.000706667 0.000713333 0.000726667 0.000733333 0.000726667 +0.00072 0.000726667 0.000713333 0.000706667 0.0007 0.00072 0.000726667 0.000706667 +0.000693333 0.000706667 0.00072 0.0007 0.000706667 0.0007 0.000706667 0.000706667 +0.000706667 0.000706667 0.000706667 0.000706667 0.0007 0.00072 0.000706667 0.000673333 +0.00068 0.000706667 0.000706667 0.000713333 0.000713333 0.0007 0.000666667 0.000693333 +0.000733333 0.000733333 0.000713333 0.00066 0.000646667 0.000693333 0.000706667 0.00068 +0.000693333 0.00072 0.00072 0.000686667 0.000666667 0.00068 0.000693333 0.000713333 +0.00068 0.00064 0.00066 0.000693333 0.000693333 0.00068 0.000673333 0.000673333 +0.000686667 0.000693333 0.00068 0.000673333 0.000666667 0.00066 0.00068 0.0007 +0.00068 0.000646667 0.00066 0.000686667 0.00068 0.00068 0.00068 0.000686667 +0.00068 0.00066 0.00066 0.000673333 0.00068 0.000686667 0.000693333 0.000713333 +0.000726667 0.000666667 0.000646667 0.000673333 0.00066 0.00068 0.000686667 0.000693333 +0.0007 0.00068 0.000673333 0.000666667 0.000666667 0.00068 0.000713333 0.000706667 +0.000673333 0.00068 0.0007 0.0007 0.00068 0.000686667 0.000673333 0.000686667 +0.00072 0.000693333 0.000693333 0.000693333 0.00068 0.0007 0.000686667 0.000673333 +0.000693333 0.000706667 0.00068 0.00068 0.000686667 0.000686667 0.00068 0.00068 +0.000693333 0.0007 0.000686667 0.000653333 0.000673333 0.00066 0.00066 0.00066 +0.00066 0.0007 0.0007 0.000653333 0.000693333 0.00068 0.000673333 0.0007 +0.000686667 0.00064 0.000646667 0.00068 0.00068 0.000686667 0.000693333 0.00068 +0.0007 0.000686667 0.00068 0.000646667 0.00068 0.0007 0.000686667 0.000693333 +0.000673333 0.00064 0.000666667 0.000686667 0.000666667 0.000666667 0.00066 0.000673333 +0.000693333 0.00066 0.000673333 0.000666667 0.00066 0.000653333 0.00068 0.000666667 +0.00066 0.000673333 0.000673333 0.000666667 0.00066 0.000673333 0.000673333 0.000686667 +0.00066 0.000673333 0.000666667 0.00068 0.0007 0.0007 0.000693333 0.00066 +0.000653333 0.00066 0.000666667 0.000686667 0.0007 0.000673333 0.00066 0.000706667 +0.0007 0.00066 0.00068 0.0007 0.000693333 0.000673333 0.00068 0.00068 +0.000693333 0.0007 0.00068 0.000666667 0.00068 0.000693333 0.000693333 0.000693333 +0.000673333 0.000646667 0.00068 0.000726667 0.000713333 0.00066 0.000673333 0.000693333 +0.000706667 0.000686667 0.00068 0.000686667 0.000726667 0.000726667 0.0007 0.00068 +0.000686667 0.00068 0.000713333 0.0007 0.000693333 0.00072 0.00072 0.000706667 +0.000706667 0.0007 0.00068 0.000686667 0.000673333 0.000693333 0.000693333 0.000693333 +0.000706667 0.000693333 0.000686667 0.00074 0.000713333 0.000706667 0.000686667 0.000666667 +0.000726667 0.0007 0.000686667 0.00068 0.000673333 0.000713333 0.000686667 0.0007 +0.000693333 0.00068 0.000673333 0.000693333 0.000686667 0.00068 0.0007 0.000693333 +0.000673333 0.00068 0.000686667 0.0007 0.000693333 0.000673333 0.00066 0.00066 +0.00068 0.000686667 0.00068 0.000653333 0.00066 0.000666667 0.00068 0.000706667 +0.000693333 0.000673333 0.000673333 0.000653333 0.000633333 0.000653333 0.000686667 0.000686667 +0.000653333 0.00064 0.00066 0.000666667 0.00062 0.000666667 0.000693333 0.000673333 +0.000673333 0.000686667 0.00066 0.000626667 0.000666667 0.000673333 0.00068 0.00066 +0.000686667 0.000673333 0.000666667 0.000686667 0.00068 0.000693333 0.000693333 0.000686667 +0.000686667 0.000686667 0.00068 0.000673333 0.0007 0.000693333 0.0007 0.000693333 +0.0007 0.00068 0.000686667 0.0007 0.00072 0.000726667 0.0007 0.000686667 +0.0007 0.000713333 0.0007 0.000733333 0.0007 0.000706667 0.00074 0.000686667 +0.0007 0.000713333 0.00072 0.000693333 0.00072 0.00072 0.000706667 0.00072 +0.000706667 0.000706667 0.00068 0.000693333 0.000726667 0.000726667 0.0007 0.000733333 +0.000766667 0.000726667 0.000706667 0.000726667 0.000693333 0.000693333 0.000733333 0.00076 +0.000746667 0.000733333 0.00074 0.000746667 0.000746667 0.000733333 0.000733333 0.000726667 +0.00074 0.00072 0.000733333 0.000726667 0.000733333 0.00074 0.000733333 0.000706667 +0.00072 0.00074 0.000753333 0.000746667 0.00076 0.00076 0.00078 0.000753333 +0.000766667 0.00076 0.00076 0.000753333 0.000726667 0.000726667 0.000746667 0.000773333 +0.000793333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 0.000746667 +0.000713333 0.000706667 0.00072 0.000746667 0.000726667 0.000706667 0.00072 0.000726667 +0.00074 0.000753333 0.000753333 0.000746667 0.00072 0.000726667 0.000733333 0.000726667 +0.00072 0.000733333 0.00072 0.000733333 0.00072 0.000726667 0.000726667 0.000713333 +0.00072 0.000726667 0.000733333 0.00072 0.00074 0.00074 0.000713333 0.0007 +0.000713333 0.000733333 0.000733333 0.000706667 0.000693333 0.000713333 0.00072 0.00072 +0.000713333 0.0007 0.0007 0.000713333 0.00074 0.000726667 0.00072 0.00072 +0.000713333 0.000713333 0.00072 0.000726667 0.0007 0.0007 0.000713333 0.00072 +0.000706667 0.000693333 0.000713333 0.000713333 0.000726667 0.000733333 0.000713333 0.000693333 +0.0007 0.000706667 0.000706667 0.000706667 0.0007 0.000706667 0.00072 0.000706667 +0.000666667 0.000673333 0.000686667 0.000706667 0.000713333 0.000693333 0.000666667 0.000673333 +0.000726667 0.00074 0.000726667 0.0007 0.00064 0.000666667 0.000693333 0.000686667 +0.000693333 0.0007 0.000713333 0.00068 0.000673333 0.000666667 0.00066 0.0007 +0.0007 0.00068 0.00066 0.000666667 0.000713333 0.000706667 0.000673333 0.000666667 +0.000666667 0.00068 0.000673333 0.00068 0.000686667 0.000666667 0.000653333 0.00068 +0.0007 0.000666667 0.000653333 0.000686667 0.000686667 0.000673333 0.000646667 0.000673333 +0.000686667 0.000666667 0.00068 0.00066 0.00068 0.000693333 0.00068 0.000693333 +0.000713333 0.0007 0.000646667 0.00066 0.000666667 0.00068 0.00066 0.000666667 +0.000706667 0.000706667 0.000693333 0.000686667 0.00068 0.000646667 0.000673333 0.0007 +0.0007 0.000693333 0.000686667 0.000713333 0.00068 0.000686667 0.000693333 0.000666667 +0.000686667 0.0007 0.000693333 0.0007 0.00068 0.0007 0.000706667 0.0007 +0.000693333 0.0007 0.00068 0.000686667 0.000706667 0.000693333 0.000686667 0.00068 +0.000686667 0.000706667 0.000693333 0.00066 0.000673333 0.000673333 0.00066 0.000666667 +0.00064 0.000693333 0.000713333 0.000646667 0.000666667 0.00068 0.000673333 0.00068 +0.0007 0.000666667 0.000646667 0.000666667 0.000666667 0.00066 0.000693333 0.000673333 +0.000693333 0.000686667 0.00066 0.00064 0.000653333 0.000673333 0.00068 0.0007 +0.000673333 0.00064 0.00068 0.000693333 0.000673333 0.000666667 0.000686667 0.000686667 +0.000693333 0.000666667 0.000666667 0.000666667 0.000673333 0.000653333 0.000693333 0.000673333 +0.00066 0.000673333 0.000673333 0.000673333 0.000653333 0.00068 0.000673333 0.00068 +0.000673333 0.000693333 0.00066 0.000646667 0.000686667 0.0007 0.000686667 0.00066 +0.000633333 0.000653333 0.00068 0.000666667 0.000686667 0.000706667 0.000673333 0.000693333 +0.000693333 0.000666667 0.000693333 0.0007 0.000693333 0.000673333 0.000666667 0.00068 +0.0007 0.000693333 0.00068 0.000686667 0.000673333 0.000673333 0.000673333 0.0007 +0.00068 0.00064 0.000673333 0.000726667 0.000706667 0.000666667 0.000646667 0.000673333 +0.000726667 0.000693333 0.000673333 0.00068 0.000713333 0.000706667 0.000693333 0.000686667 +0.0007 0.000686667 0.000713333 0.0007 0.000706667 0.00072 0.000686667 0.0007 +0.000706667 0.00068 0.00066 0.000686667 0.000693333 0.0007 0.0007 0.000693333 +0.00068 0.00066 0.000693333 0.000726667 0.000706667 0.00072 0.000713333 0.00068 +0.000693333 0.0007 0.000686667 0.000673333 0.0007 0.000726667 0.000686667 0.000693333 +0.000686667 0.000693333 0.00068 0.000693333 0.000693333 0.000673333 0.000686667 0.000686667 +0.000693333 0.000686667 0.00068 0.000693333 0.000693333 0.000673333 0.00064 0.00064 +0.000666667 0.000693333 0.000673333 0.000666667 0.000666667 0.000686667 0.000686667 0.000686667 +0.00068 0.000666667 0.00066 0.00064 0.00066 0.000666667 0.00068 0.00068 +0.000646667 0.00066 0.000653333 0.000646667 0.000653333 0.000666667 0.000673333 0.00066 +0.000686667 0.000686667 0.00064 0.000646667 0.000686667 0.000673333 0.00064 0.00066 +0.000693333 0.000693333 0.000686667 0.000666667 0.00066 0.000686667 0.0007 0.000706667 +0.000673333 0.000666667 0.00068 0.000686667 0.000693333 0.0007 0.0007 0.000673333 +0.000693333 0.00068 0.000693333 0.000726667 0.000713333 0.000713333 0.000706667 0.000713333 +0.000706667 0.000706667 0.000713333 0.000726667 0.0007 0.000706667 0.0007 0.000686667 +0.000713333 0.00072 0.000706667 0.0007 0.00072 0.000713333 0.0007 0.000706667 +0.00068 0.0007 0.000706667 0.000706667 0.00074 0.00072 0.000713333 0.000733333 +0.000753333 0.00072 0.000726667 0.000713333 0.000706667 0.00074 0.00074 0.00074 +0.000746667 0.000746667 0.00076 0.000753333 0.00074 0.000706667 0.000726667 0.000726667 +0.00072 0.000693333 0.00076 0.00076 0.000746667 0.000753333 0.00072 0.0007 +0.00074 0.000746667 0.00074 0.00076 0.000753333 0.00076 0.000766667 0.000753333 +0.00076 0.000753333 0.00074 0.000726667 0.000733333 0.000746667 0.000753333 0.000773333 +0.000753333 0.000753333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000786667 0.000786667 0.000766667 +0.000726667 0.000726667 0.0007 0.00072 0.000746667 0.00072 0.00072 0.000706667 +0.000713333 0.000746667 0.00076 0.000766667 0.000746667 0.000726667 0.00072 0.000713333 +0.00072 0.00074 0.00072 0.000726667 0.00072 0.000726667 0.000726667 0.000706667 +0.000706667 0.000713333 0.000726667 0.000706667 0.000726667 0.000733333 0.000726667 0.000726667 +0.000706667 0.0007 0.00074 0.00074 0.0007 0.000693333 0.0007 0.000713333 +0.000713333 0.000713333 0.0007 0.000706667 0.000726667 0.000726667 0.00072 0.000706667 +0.000713333 0.000713333 0.000726667 0.000733333 0.000706667 0.0007 0.0007 0.00068 +0.000706667 0.000733333 0.000726667 0.000706667 0.000713333 0.000726667 0.000713333 0.000686667 +0.0007 0.000706667 0.0007 0.000693333 0.000706667 0.000713333 0.000713333 0.000713333 +0.000706667 0.000706667 0.00068 0.00068 0.000673333 0.000686667 0.0007 0.000686667 +0.0007 0.000706667 0.0007 0.000706667 0.000686667 0.000686667 0.000673333 0.000673333 +0.000693333 0.000686667 0.0007 0.000666667 0.00068 0.000673333 0.000666667 0.00068 +0.00068 0.000706667 0.000673333 0.000646667 0.000686667 0.00072 0.00068 0.000653333 +0.000673333 0.000686667 0.000666667 0.000686667 0.000713333 0.000686667 0.000653333 0.000653333 +0.00068 0.000693333 0.00066 0.000653333 0.000666667 0.000673333 0.00066 0.000673333 +0.000673333 0.000673333 0.00066 0.000653333 0.000686667 0.0007 0.0007 0.000693333 +0.00068 0.0007 0.0007 0.000666667 0.00066 0.00068 0.000666667 0.000666667 +0.000706667 0.000713333 0.000713333 0.00072 0.000693333 0.00066 0.00066 0.00068 +0.0007 0.0007 0.000686667 0.0007 0.000706667 0.000686667 0.000686667 0.000673333 +0.00068 0.000686667 0.000686667 0.0007 0.000673333 0.000686667 0.000713333 0.000713333 +0.000686667 0.0007 0.000673333 0.00068 0.0007 0.000693333 0.000673333 0.00068 +0.000686667 0.000693333 0.000693333 0.000693333 0.000693333 0.000666667 0.00066 0.000673333 +0.000666667 0.000673333 0.000686667 0.000673333 0.000666667 0.000686667 0.000686667 0.000686667 +0.000693333 0.00068 0.00066 0.000666667 0.00068 0.00066 0.000686667 0.00068 +0.000693333 0.000686667 0.00066 0.00066 0.000653333 0.000673333 0.000673333 0.00068 +0.000686667 0.00064 0.000686667 0.000686667 0.00066 0.00066 0.000686667 0.000686667 +0.00068 0.000673333 0.000666667 0.00068 0.000693333 0.000653333 0.000666667 0.00066 +0.000653333 0.00066 0.000686667 0.0007 0.000653333 0.00066 0.000686667 0.000673333 +0.00066 0.000713333 0.00064 0.00064 0.000686667 0.000673333 0.00068 0.000673333 +0.000646667 0.00066 0.00068 0.000666667 0.000673333 0.000686667 0.000693333 0.0007 +0.000673333 0.000673333 0.000686667 0.000673333 0.000706667 0.000673333 0.00066 0.000673333 +0.000706667 0.000686667 0.00068 0.000706667 0.000693333 0.000686667 0.000673333 0.00068 +0.000666667 0.000653333 0.00068 0.000706667 0.000726667 0.00068 0.000646667 0.000686667 +0.000733333 0.000693333 0.000673333 0.000693333 0.000706667 0.00068 0.0007 0.000713333 +0.000693333 0.000693333 0.000693333 0.00068 0.00072 0.00072 0.000673333 0.000706667 +0.000713333 0.0007 0.00066 0.000686667 0.000706667 0.000706667 0.000693333 0.000686667 +0.000686667 0.000666667 0.00068 0.000706667 0.000686667 0.000706667 0.000706667 0.000693333 +0.000686667 0.000693333 0.00068 0.00068 0.000733333 0.000706667 0.000666667 0.0007 +0.000673333 0.000686667 0.00068 0.000706667 0.000706667 0.000666667 0.000666667 0.000666667 +0.0007 0.000693333 0.00068 0.000673333 0.000686667 0.000666667 0.00066 0.000673333 +0.000666667 0.000686667 0.000686667 0.000686667 0.000666667 0.000673333 0.000693333 0.000693333 +0.0007 0.00068 0.00064 0.000653333 0.00068 0.000666667 0.000673333 0.00066 +0.00066 0.000666667 0.000646667 0.000653333 0.000686667 0.00066 0.000646667 0.000666667 +0.00068 0.00066 0.00064 0.00066 0.000673333 0.000666667 0.000633333 0.000673333 +0.0007 0.000693333 0.00068 0.000653333 0.000646667 0.000673333 0.0007 0.000693333 +0.00066 0.00068 0.000673333 0.000686667 0.0007 0.0007 0.000686667 0.000673333 +0.00068 0.000686667 0.000693333 0.000733333 0.000706667 0.000713333 0.00072 0.0007 +0.000706667 0.000713333 0.000726667 0.00072 0.000713333 0.000713333 0.00068 0.0007 +0.000706667 0.000706667 0.000713333 0.00072 0.00072 0.00072 0.000706667 0.000686667 +0.00066 0.0007 0.000733333 0.000726667 0.00074 0.000726667 0.000726667 0.000713333 +0.000733333 0.000726667 0.00072 0.000726667 0.000746667 0.000746667 0.00074 0.000726667 +0.00074 0.000733333 0.00074 0.000733333 0.000726667 0.000713333 0.00074 0.00072 +0.0007 0.00072 0.000773333 0.000766667 0.000733333 0.00074 0.00072 0.000713333 +0.000746667 0.000746667 0.000753333 0.00078 0.000746667 0.000773333 0.000773333 0.00074 +0.000733333 0.000733333 0.000713333 0.000733333 0.000766667 0.000766667 0.00078 0.000746667 +0.00072 0.00076 0.000786667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.00074 0.000733333 0.000753333 0.000766667 +0.000766667 0.000766667 0.000733333 0.000713333 0.00074 0.000733333 0.000733333 0.000733333 +0.000706667 0.000726667 0.00076 0.000766667 0.000753333 0.00074 0.000713333 0.0007 +0.000706667 0.00072 0.00072 0.000726667 0.000713333 0.00072 0.00072 0.00072 +0.000733333 0.000706667 0.000693333 0.000706667 0.00072 0.000733333 0.000713333 0.000713333 +0.000733333 0.000713333 0.000713333 0.000733333 0.000746667 0.000726667 0.0007 0.0007 +0.000706667 0.000726667 0.000706667 0.0007 0.000713333 0.00072 0.000733333 0.000726667 +0.00072 0.000706667 0.0007 0.000726667 0.000726667 0.0007 0.0007 0.000693333 +0.00068 0.00072 0.00074 0.000713333 0.0007 0.000693333 0.000706667 0.000713333 +0.0007 0.000706667 0.0007 0.0007 0.000693333 0.000706667 0.00072 0.000693333 +0.0007 0.000726667 0.000693333 0.00068 0.00068 0.000673333 0.000686667 0.0007 +0.000686667 0.00068 0.000693333 0.0007 0.000713333 0.000706667 0.000673333 0.00066 +0.00068 0.000686667 0.0007 0.000673333 0.000673333 0.000666667 0.000673333 0.000686667 +0.000686667 0.000686667 0.00068 0.000686667 0.00066 0.00068 0.0007 0.00066 +0.000666667 0.00068 0.000666667 0.00068 0.000713333 0.0007 0.000666667 0.000653333 +0.00066 0.000686667 0.000673333 0.000633333 0.000673333 0.00068 0.00068 0.000673333 +0.000666667 0.000686667 0.00066 0.000646667 0.000666667 0.000686667 0.000713333 0.000706667 +0.000686667 0.0007 0.000713333 0.000693333 0.000673333 0.000666667 0.000666667 0.00068 +0.0007 0.0007 0.000713333 0.00072 0.000713333 0.000686667 0.00066 0.00068 +0.000673333 0.000653333 0.000686667 0.0007 0.000706667 0.000693333 0.000666667 0.000666667 +0.000686667 0.000706667 0.000686667 0.000693333 0.00068 0.00066 0.000713333 0.000706667 +0.00068 0.0007 0.000686667 0.000673333 0.000686667 0.00068 0.000666667 0.000666667 +0.000673333 0.00068 0.000686667 0.0007 0.00072 0.000693333 0.000646667 0.000666667 +0.000673333 0.00066 0.00068 0.000693333 0.00068 0.000686667 0.00068 0.00068 +0.000686667 0.00068 0.000673333 0.000673333 0.000693333 0.00068 0.000673333 0.00068 +0.000666667 0.000686667 0.000673333 0.000666667 0.000666667 0.00068 0.00068 0.000673333 +0.0007 0.000646667 0.00066 0.000673333 0.00066 0.00066 0.000666667 0.000673333 +0.00068 0.000673333 0.000673333 0.00068 0.000693333 0.000666667 0.000666667 0.000653333 +0.00064 0.00066 0.00068 0.000693333 0.000666667 0.00066 0.000686667 0.000693333 +0.000666667 0.0007 0.00066 0.000653333 0.000673333 0.000653333 0.00066 0.00068 +0.000666667 0.00068 0.000686667 0.000673333 0.000686667 0.000666667 0.000686667 0.00072 +0.000693333 0.00068 0.000673333 0.000673333 0.000706667 0.00066 0.000653333 0.000673333 +0.0007 0.000693333 0.00068 0.000686667 0.0007 0.0007 0.00068 0.0007 +0.000686667 0.000653333 0.000666667 0.000713333 0.000726667 0.000686667 0.000666667 0.000706667 +0.00072 0.00068 0.00066 0.000686667 0.000706667 0.00068 0.000693333 0.000706667 +0.000693333 0.0007 0.000686667 0.000673333 0.000726667 0.000726667 0.000686667 0.00068 +0.0007 0.000706667 0.000673333 0.000686667 0.000713333 0.0007 0.000686667 0.000693333 +0.000693333 0.000673333 0.000673333 0.000693333 0.000693333 0.0007 0.000713333 0.00072 +0.000713333 0.000673333 0.000666667 0.000693333 0.00072 0.000693333 0.000666667 0.0007 +0.000673333 0.000673333 0.000686667 0.000713333 0.0007 0.00066 0.00066 0.000666667 +0.0007 0.000693333 0.000673333 0.000673333 0.000686667 0.000653333 0.000666667 0.000693333 +0.000673333 0.000673333 0.000693333 0.0007 0.000653333 0.000646667 0.00068 0.000713333 +0.000693333 0.000673333 0.000653333 0.000666667 0.000666667 0.000673333 0.000686667 0.000653333 +0.000666667 0.000666667 0.000666667 0.000666667 0.000673333 0.000646667 0.00064 0.000673333 +0.000673333 0.000646667 0.000673333 0.00068 0.000673333 0.00066 0.00066 0.000686667 +0.0007 0.000686667 0.000666667 0.000666667 0.000666667 0.000686667 0.000686667 0.000666667 +0.000673333 0.00068 0.00066 0.000686667 0.000693333 0.000673333 0.0007 0.000706667 +0.00068 0.000713333 0.000706667 0.000706667 0.000713333 0.00072 0.00072 0.000706667 +0.000706667 0.000706667 0.000733333 0.000733333 0.000733333 0.000706667 0.00068 0.000706667 +0.000693333 0.000706667 0.000713333 0.00072 0.000733333 0.000733333 0.000713333 0.000686667 +0.000686667 0.000713333 0.00072 0.000713333 0.000733333 0.00074 0.000726667 0.000693333 +0.00072 0.000726667 0.000706667 0.00074 0.000746667 0.000726667 0.00074 0.000726667 +0.000726667 0.000713333 0.000733333 0.00074 0.000713333 0.00072 0.000726667 0.000706667 +0.0007 0.000753333 0.000746667 0.000753333 0.00072 0.000726667 0.000733333 0.000746667 +0.000753333 0.000753333 0.00076 0.00076 0.00074 0.000766667 0.00076 0.000733333 +0.00072 0.00072 0.000726667 0.000746667 0.000766667 0.000773333 0.00078 0.000733333 +0.000733333 0.000766667 0.000746667 0.00078 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000773333 0.00072 0.000706667 0.000713333 0.000753333 +0.000773333 0.000766667 0.00076 0.000753333 0.00074 0.000726667 0.000726667 0.000726667 +0.000726667 0.000726667 0.000726667 0.00072 0.000733333 0.000753333 0.00074 0.000713333 +0.000713333 0.000706667 0.0007 0.000713333 0.000713333 0.000713333 0.00072 0.000726667 +0.000733333 0.000746667 0.00072 0.000706667 0.000713333 0.000713333 0.00072 0.000706667 +0.000713333 0.000733333 0.000733333 0.000713333 0.000726667 0.000733333 0.000726667 0.00072 +0.0007 0.00072 0.00072 0.000706667 0.000726667 0.000706667 0.000713333 0.000713333 +0.000713333 0.000693333 0.0007 0.000713333 0.00072 0.000726667 0.000713333 0.000713333 +0.000686667 0.000686667 0.000706667 0.000713333 0.00072 0.000706667 0.0007 0.000713333 +0.000706667 0.0007 0.000693333 0.000706667 0.0007 0.000686667 0.00072 0.00072 +0.000706667 0.000693333 0.000693333 0.000706667 0.000693333 0.000673333 0.00066 0.000686667 +0.000713333 0.000686667 0.00068 0.000673333 0.000693333 0.0007 0.000693333 0.000686667 +0.000666667 0.000686667 0.000693333 0.000693333 0.00068 0.00068 0.000686667 0.000666667 +0.000686667 0.000693333 0.00068 0.0007 0.000673333 0.000653333 0.000686667 0.00068 +0.000653333 0.00064 0.000646667 0.000686667 0.000713333 0.000693333 0.000666667 0.00066 +0.000666667 0.00068 0.000686667 0.00064 0.000653333 0.000673333 0.000673333 0.000653333 +0.000666667 0.000686667 0.000686667 0.000673333 0.000653333 0.00066 0.000693333 0.000706667 +0.000693333 0.000706667 0.000693333 0.00068 0.000693333 0.000673333 0.00068 0.000686667 +0.00068 0.000673333 0.000706667 0.000713333 0.00072 0.000706667 0.000666667 0.000686667 +0.00068 0.000646667 0.00066 0.000693333 0.000706667 0.000686667 0.000673333 0.00066 +0.000673333 0.000713333 0.00068 0.00068 0.000686667 0.000693333 0.000706667 0.0007 +0.00068 0.00068 0.00068 0.00068 0.00068 0.000686667 0.000673333 0.000673333 +0.000666667 0.000666667 0.000693333 0.00068 0.0007 0.000706667 0.00066 0.000666667 +0.00068 0.000666667 0.0007 0.000686667 0.000666667 0.000686667 0.000693333 0.00068 +0.000686667 0.000686667 0.000673333 0.000673333 0.0007 0.00068 0.00068 0.000673333 +0.00066 0.00068 0.000673333 0.00066 0.00066 0.000666667 0.00068 0.00068 +0.0007 0.000666667 0.000653333 0.000686667 0.00068 0.000653333 0.000653333 0.00068 +0.000673333 0.000673333 0.00068 0.00066 0.00068 0.000673333 0.00068 0.00066 +0.000626667 0.000666667 0.000686667 0.00068 0.00068 0.000666667 0.000673333 0.0007 +0.00066 0.000686667 0.000686667 0.000666667 0.000673333 0.00068 0.000673333 0.000686667 +0.000673333 0.000686667 0.0007 0.00068 0.00068 0.000666667 0.000686667 0.00072 +0.000706667 0.000686667 0.000673333 0.000686667 0.000706667 0.00066 0.000686667 0.000686667 +0.000693333 0.000706667 0.00068 0.000666667 0.000673333 0.000686667 0.000693333 0.000713333 +0.0007 0.00064 0.000653333 0.00072 0.000686667 0.000673333 0.000686667 0.000706667 +0.000706667 0.000666667 0.00066 0.000686667 0.000713333 0.000693333 0.000686667 0.000693333 +0.000693333 0.000706667 0.0007 0.000686667 0.00072 0.000713333 0.00066 0.000673333 +0.000706667 0.0007 0.00068 0.000686667 0.000713333 0.000693333 0.000686667 0.000713333 +0.000686667 0.000666667 0.00068 0.00068 0.0007 0.000706667 0.00072 0.000746667 +0.00072 0.00066 0.00066 0.0007 0.000706667 0.000686667 0.000693333 0.0007 +0.0007 0.00068 0.00068 0.0007 0.000693333 0.000666667 0.000666667 0.00068 +0.000693333 0.000686667 0.000673333 0.00068 0.000693333 0.00066 0.000666667 0.000673333 +0.000666667 0.00066 0.000693333 0.000693333 0.000653333 0.000653333 0.00068 0.0007 +0.000666667 0.00066 0.000673333 0.00066 0.00066 0.000686667 0.000693333 0.000646667 +0.000653333 0.00068 0.000673333 0.000646667 0.000646667 0.000653333 0.00064 0.00068 +0.000666667 0.000646667 0.00068 0.000693333 0.000666667 0.00066 0.00068 0.000673333 +0.000686667 0.000686667 0.00068 0.000666667 0.00068 0.000686667 0.000673333 0.00068 +0.000686667 0.00066 0.00066 0.000686667 0.000693333 0.00068 0.000706667 0.0007 +0.000686667 0.000726667 0.000713333 0.000693333 0.00072 0.000713333 0.00072 0.000713333 +0.000693333 0.00072 0.000733333 0.00072 0.000706667 0.00068 0.000686667 0.000706667 +0.0007 0.000713333 0.000733333 0.000726667 0.00072 0.000713333 0.0007 0.0007 +0.000706667 0.000713333 0.000706667 0.00072 0.000753333 0.000746667 0.000713333 0.0007 +0.000726667 0.000726667 0.000693333 0.000733333 0.000726667 0.00072 0.00072 0.000693333 +0.000726667 0.00074 0.000773333 0.000746667 0.000713333 0.000713333 0.0007 0.000706667 +0.00072 0.000753333 0.000726667 0.000746667 0.000726667 0.00074 0.00076 0.000753333 +0.00074 0.000753333 0.000746667 0.000753333 0.00074 0.00074 0.000746667 0.000753333 +0.000726667 0.000733333 0.000766667 0.000753333 0.000766667 0.000773333 0.000753333 0.000746667 +0.000753333 0.000733333 0.000753333 0.00078 0.000766667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00076 0.00076 0.000746667 0.000726667 0.000726667 0.000726667 +0.000726667 0.000746667 0.000746667 0.000753333 0.00074 0.000733333 0.00074 0.000726667 +0.000733333 0.000733333 0.00072 0.000713333 0.000713333 0.000733333 0.00074 0.000726667 +0.000726667 0.000733333 0.000713333 0.000693333 0.000713333 0.00072 0.00072 0.000706667 +0.000713333 0.000746667 0.000746667 0.00072 0.000726667 0.000713333 0.0007 0.000726667 +0.00072 0.000713333 0.00074 0.000733333 0.0007 0.000693333 0.00072 0.00074 +0.000726667 0.000713333 0.000706667 0.000713333 0.000726667 0.000713333 0.0007 0.000706667 +0.000706667 0.0007 0.00072 0.00072 0.000706667 0.00072 0.000726667 0.000726667 +0.0007 0.00068 0.000673333 0.00068 0.000706667 0.00072 0.0007 0.000693333 +0.000706667 0.000713333 0.00068 0.0007 0.00072 0.000713333 0.0007 0.0007 +0.000733333 0.000713333 0.000693333 0.0007 0.000686667 0.000693333 0.000666667 0.000666667 +0.000686667 0.00068 0.00068 0.000673333 0.000693333 0.0007 0.0007 0.000706667 +0.00068 0.0007 0.00068 0.000706667 0.000693333 0.000686667 0.000686667 0.00064 +0.00066 0.0007 0.0007 0.000666667 0.000666667 0.000673333 0.000666667 0.00068 +0.00068 0.00066 0.00064 0.00068 0.000706667 0.000686667 0.00068 0.000673333 +0.000686667 0.000673333 0.000666667 0.00066 0.000626667 0.00064 0.000666667 0.00066 +0.000666667 0.000666667 0.000686667 0.00068 0.000666667 0.000653333 0.000666667 0.000706667 +0.000693333 0.000686667 0.00068 0.000646667 0.000666667 0.00068 0.0007 0.000693333 +0.00066 0.000666667 0.000686667 0.000693333 0.000713333 0.00072 0.000686667 0.000686667 +0.000673333 0.000686667 0.000666667 0.00068 0.000706667 0.000686667 0.00068 0.000666667 +0.000666667 0.000693333 0.000686667 0.000666667 0.000686667 0.000713333 0.000693333 0.00068 +0.000686667 0.00066 0.000673333 0.000673333 0.000693333 0.000706667 0.000686667 0.000666667 +0.000653333 0.00066 0.000686667 0.000666667 0.000686667 0.00072 0.0007 0.00066 +0.00066 0.000666667 0.00072 0.000693333 0.000653333 0.00068 0.000686667 0.000686667 +0.000693333 0.000673333 0.00066 0.000666667 0.000686667 0.000666667 0.000673333 0.00068 +0.000666667 0.00068 0.000673333 0.000653333 0.00066 0.000653333 0.000673333 0.000693333 +0.0007 0.000673333 0.000646667 0.00068 0.00068 0.00066 0.00064 0.000666667 +0.000673333 0.00066 0.000673333 0.000666667 0.000666667 0.00068 0.000666667 0.00068 +0.00066 0.000653333 0.000673333 0.00068 0.00068 0.000646667 0.00066 0.000686667 +0.000666667 0.000673333 0.00066 0.00066 0.000693333 0.000686667 0.000673333 0.00068 +0.000666667 0.000666667 0.000693333 0.00068 0.000653333 0.00066 0.00068 0.000693333 +0.00068 0.00068 0.00068 0.000693333 0.0007 0.000673333 0.000686667 0.00066 +0.0007 0.000706667 0.000653333 0.00066 0.000673333 0.000686667 0.0007 0.00072 +0.000686667 0.00066 0.000686667 0.0007 0.000666667 0.00068 0.000686667 0.0007 +0.000686667 0.000666667 0.000686667 0.0007 0.000713333 0.000686667 0.000686667 0.000693333 +0.00068 0.000693333 0.000706667 0.0007 0.00072 0.0007 0.00066 0.000673333 +0.000713333 0.000693333 0.00068 0.000706667 0.00072 0.000693333 0.0007 0.000686667 +0.000666667 0.000673333 0.000706667 0.00068 0.000686667 0.000706667 0.00072 0.00072 +0.000706667 0.000673333 0.00066 0.000693333 0.000706667 0.000673333 0.000686667 0.000693333 +0.000713333 0.000713333 0.000673333 0.000686667 0.00068 0.000686667 0.000673333 0.000673333 +0.000686667 0.000686667 0.000693333 0.000686667 0.000693333 0.000653333 0.000653333 0.000666667 +0.00066 0.00068 0.000693333 0.000666667 0.00068 0.000686667 0.00068 0.00068 +0.000686667 0.000673333 0.00066 0.000633333 0.00066 0.000693333 0.000673333 0.00066 +0.000666667 0.000693333 0.00066 0.000653333 0.000646667 0.00066 0.000653333 0.000666667 +0.000653333 0.000653333 0.00068 0.000686667 0.00066 0.000633333 0.000673333 0.00068 +0.00068 0.00068 0.000686667 0.000666667 0.000666667 0.00068 0.000666667 0.000693333 +0.00068 0.00066 0.000666667 0.000686667 0.000686667 0.00068 0.00068 0.000666667 +0.000693333 0.000733333 0.0007 0.000693333 0.000713333 0.00072 0.000713333 0.000686667 +0.000693333 0.000746667 0.000733333 0.000726667 0.000713333 0.000673333 0.00068 0.0007 +0.000713333 0.00072 0.00074 0.00072 0.000706667 0.000706667 0.000713333 0.000726667 +0.000693333 0.000713333 0.000726667 0.00076 0.00074 0.000726667 0.000713333 0.0007 +0.000726667 0.00074 0.000726667 0.00072 0.000726667 0.00074 0.000713333 0.000706667 +0.000726667 0.000766667 0.000746667 0.00072 0.00072 0.000706667 0.000706667 0.00074 +0.000746667 0.000726667 0.000726667 0.000753333 0.00074 0.000746667 0.00076 0.00072 +0.000726667 0.00076 0.00074 0.000746667 0.00074 0.000733333 0.000746667 0.000753333 +0.000746667 0.00076 0.000766667 0.00076 0.00078 0.000766667 0.000753333 0.000746667 +0.000726667 0.000753333 0.0008 0.000753333 0.00072 0.000746667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000773333 0.00074 0.000733333 0.000746667 0.000746667 0.00076 0.000753333 +0.00072 0.000693333 0.000706667 0.000733333 0.00074 0.000746667 0.00074 0.000726667 +0.000726667 0.000733333 0.00072 0.00072 0.000726667 0.000726667 0.0007 0.000713333 +0.00074 0.000753333 0.000746667 0.000693333 0.0007 0.00072 0.000706667 0.00072 +0.000706667 0.000693333 0.00072 0.000726667 0.000746667 0.00074 0.000706667 0.000706667 +0.00072 0.00072 0.00072 0.000713333 0.000706667 0.0007 0.000713333 0.000713333 +0.000726667 0.000706667 0.00068 0.000713333 0.000733333 0.00072 0.0007 0.000706667 +0.000713333 0.000706667 0.000706667 0.000726667 0.000706667 0.000706667 0.000713333 0.00072 +0.000726667 0.000713333 0.0007 0.000693333 0.000686667 0.000713333 0.000726667 0.000693333 +0.000693333 0.000713333 0.000686667 0.000693333 0.00072 0.000726667 0.0007 0.000666667 +0.000706667 0.000733333 0.00072 0.00068 0.00068 0.000693333 0.000693333 0.000686667 +0.000666667 0.000666667 0.00068 0.000693333 0.000706667 0.000706667 0.0007 0.000686667 +0.000686667 0.000686667 0.000673333 0.0007 0.000693333 0.000686667 0.00068 0.000653333 +0.000646667 0.00066 0.000706667 0.000693333 0.00068 0.000686667 0.000666667 0.000693333 +0.000686667 0.000673333 0.000673333 0.000666667 0.00068 0.000673333 0.000693333 0.000673333 +0.00068 0.00068 0.00066 0.000666667 0.000633333 0.000633333 0.000646667 0.000673333 +0.000693333 0.000686667 0.000686667 0.000673333 0.000666667 0.000673333 0.000666667 0.000693333 +0.000706667 0.000686667 0.00068 0.000653333 0.000653333 0.000673333 0.0007 0.000693333 +0.000686667 0.00068 0.000673333 0.00068 0.000686667 0.00072 0.0007 0.000666667 +0.00066 0.000686667 0.000686667 0.000673333 0.000686667 0.000666667 0.000673333 0.00068 +0.000673333 0.000693333 0.000686667 0.000673333 0.000693333 0.000686667 0.00068 0.000693333 +0.0007 0.00068 0.00068 0.000666667 0.000693333 0.000713333 0.000693333 0.00066 +0.00066 0.000673333 0.000673333 0.000673333 0.0007 0.000726667 0.000706667 0.00066 +0.000646667 0.00066 0.000686667 0.000706667 0.000673333 0.000673333 0.000673333 0.00068 +0.000686667 0.000666667 0.000653333 0.000666667 0.00068 0.000653333 0.000666667 0.000686667 +0.000673333 0.000673333 0.000686667 0.00066 0.000653333 0.00068 0.000686667 0.00068 +0.000706667 0.00068 0.000646667 0.000666667 0.00068 0.000666667 0.00064 0.000653333 +0.00068 0.000673333 0.000666667 0.000666667 0.000666667 0.000666667 0.000653333 0.00068 +0.000666667 0.000653333 0.000666667 0.000673333 0.000673333 0.000666667 0.00068 0.00068 +0.00068 0.00068 0.000653333 0.000646667 0.000706667 0.000666667 0.00066 0.00066 +0.000646667 0.000666667 0.00068 0.000666667 0.000666667 0.000673333 0.000686667 0.000693333 +0.000666667 0.000673333 0.000686667 0.00068 0.00068 0.00068 0.000666667 0.000646667 +0.0007 0.000693333 0.000653333 0.000666667 0.00066 0.000686667 0.000706667 0.00072 +0.00068 0.000686667 0.000713333 0.000686667 0.000666667 0.00068 0.00068 0.000706667 +0.000713333 0.000666667 0.000686667 0.000693333 0.0007 0.0007 0.000686667 0.000706667 +0.00068 0.00068 0.000693333 0.0007 0.000706667 0.00068 0.00066 0.000686667 +0.000706667 0.0007 0.000693333 0.0007 0.0007 0.000706667 0.000706667 0.00066 +0.000673333 0.00068 0.00072 0.0007 0.0007 0.0007 0.0007 0.0007 +0.000693333 0.000673333 0.000653333 0.000686667 0.000713333 0.000666667 0.00068 0.000706667 +0.000713333 0.000693333 0.000686667 0.00068 0.000673333 0.000686667 0.000686667 0.000673333 +0.000686667 0.000686667 0.000686667 0.000686667 0.000686667 0.000666667 0.000666667 0.000653333 +0.000673333 0.000693333 0.000673333 0.00066 0.00072 0.00072 0.00068 0.000666667 +0.0007 0.000673333 0.000633333 0.000633333 0.00068 0.000673333 0.00066 0.000666667 +0.000666667 0.000646667 0.000653333 0.000666667 0.00066 0.000646667 0.000666667 0.00066 +0.00064 0.00064 0.000666667 0.0007 0.00068 0.00064 0.00068 0.000686667 +0.000646667 0.000673333 0.000693333 0.000673333 0.00066 0.00066 0.000666667 0.000686667 +0.00068 0.000686667 0.00068 0.000693333 0.00068 0.00068 0.00068 0.000686667 +0.000706667 0.000726667 0.000713333 0.000666667 0.00068 0.000713333 0.000686667 0.000686667 +0.000713333 0.00072 0.000706667 0.000733333 0.000726667 0.00068 0.000673333 0.000693333 +0.00072 0.000733333 0.000726667 0.00072 0.000713333 0.00072 0.000713333 0.000706667 +0.00068 0.00072 0.000746667 0.000746667 0.000713333 0.00072 0.000713333 0.000706667 +0.000706667 0.00074 0.000746667 0.000726667 0.00074 0.000733333 0.0007 0.000726667 +0.00074 0.00076 0.000706667 0.000706667 0.000733333 0.000713333 0.00074 0.000766667 +0.000726667 0.000726667 0.000773333 0.000753333 0.00074 0.000726667 0.000746667 0.000713333 +0.00074 0.000753333 0.000746667 0.00074 0.00074 0.000726667 0.000773333 0.000746667 +0.00074 0.000753333 0.00076 0.000766667 0.000766667 0.00076 0.00076 0.000733333 +0.00074 0.0008 0.000766667 0.000713333 0.00072 0.000753333 0.000766667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00076 0.000753333 0.000766667 0.00074 0.000726667 0.00074 0.00074 0.000753333 +0.000766667 0.000733333 0.000706667 0.0007 0.0007 0.00074 0.00074 0.00072 +0.00072 0.000726667 0.000726667 0.000726667 0.000726667 0.000753333 0.00072 0.000706667 +0.000713333 0.000713333 0.00074 0.000726667 0.000713333 0.00072 0.0007 0.000706667 +0.000726667 0.000706667 0.0007 0.000706667 0.000713333 0.000733333 0.00072 0.000713333 +0.00072 0.000713333 0.000706667 0.0007 0.000713333 0.000726667 0.000713333 0.000693333 +0.000706667 0.000693333 0.000673333 0.000706667 0.000733333 0.000726667 0.00072 0.000713333 +0.000713333 0.000693333 0.000693333 0.000706667 0.000706667 0.00072 0.000713333 0.0007 +0.000726667 0.000746667 0.000726667 0.00072 0.000706667 0.0007 0.00072 0.000706667 +0.000706667 0.000713333 0.000693333 0.000693333 0.000693333 0.000713333 0.00072 0.000706667 +0.000693333 0.0007 0.000726667 0.000713333 0.000686667 0.000673333 0.000686667 0.00072 +0.0007 0.00066 0.000646667 0.000666667 0.000693333 0.0007 0.000693333 0.000686667 +0.000686667 0.00066 0.000666667 0.000693333 0.000666667 0.000666667 0.000673333 0.000686667 +0.00068 0.000653333 0.00068 0.000706667 0.0007 0.00068 0.000666667 0.000706667 +0.0007 0.00066 0.00068 0.000673333 0.00066 0.000666667 0.000686667 0.000686667 +0.00066 0.00066 0.000666667 0.00066 0.000646667 0.000646667 0.00066 0.000666667 +0.000673333 0.000706667 0.000706667 0.000673333 0.000673333 0.00068 0.000666667 0.00068 +0.000706667 0.0007 0.000706667 0.000686667 0.00068 0.00068 0.000686667 0.00068 +0.000693333 0.000686667 0.00066 0.00068 0.000673333 0.000706667 0.00072 0.000673333 +0.00068 0.00068 0.00068 0.000693333 0.000693333 0.000686667 0.000666667 0.000693333 +0.00068 0.000673333 0.000686667 0.000673333 0.000686667 0.000673333 0.00066 0.000686667 +0.000713333 0.000706667 0.000706667 0.000673333 0.00068 0.000693333 0.0007 0.000653333 +0.000673333 0.000693333 0.000666667 0.000666667 0.00068 0.000713333 0.000706667 0.000673333 +0.000666667 0.00064 0.000653333 0.000706667 0.000706667 0.000673333 0.000666667 0.00066 +0.000673333 0.000666667 0.000653333 0.00066 0.00068 0.000666667 0.00066 0.000693333 +0.000686667 0.000666667 0.00068 0.000666667 0.000653333 0.00068 0.00068 0.000666667 +0.000706667 0.000666667 0.000633333 0.000673333 0.000686667 0.000686667 0.00066 0.00064 +0.00068 0.000693333 0.00068 0.000653333 0.000666667 0.00068 0.000666667 0.00068 +0.00066 0.000646667 0.00068 0.000646667 0.000666667 0.000686667 0.00068 0.000673333 +0.00068 0.000673333 0.00066 0.000666667 0.0007 0.000693333 0.00068 0.000646667 +0.00064 0.00066 0.000673333 0.00068 0.00068 0.000686667 0.000686667 0.000673333 +0.00066 0.000673333 0.000693333 0.000693333 0.00068 0.00068 0.000686667 0.00066 +0.000686667 0.000686667 0.00068 0.000686667 0.000653333 0.000673333 0.000693333 0.0007 +0.00068 0.000673333 0.000693333 0.000686667 0.000666667 0.00068 0.000693333 0.000726667 +0.000726667 0.000673333 0.000686667 0.000686667 0.000706667 0.000713333 0.000686667 0.0007 +0.00068 0.00068 0.000686667 0.0007 0.0007 0.00066 0.000653333 0.000693333 +0.000706667 0.000693333 0.000706667 0.000693333 0.000686667 0.000693333 0.000706667 0.000666667 +0.000666667 0.000673333 0.000706667 0.000713333 0.000726667 0.000693333 0.000666667 0.000686667 +0.000686667 0.00068 0.000673333 0.000706667 0.000686667 0.00066 0.000673333 0.0007 +0.0007 0.000673333 0.000686667 0.000686667 0.00068 0.000673333 0.000693333 0.0007 +0.00068 0.000673333 0.000666667 0.0007 0.000673333 0.00068 0.00068 0.00066 +0.000693333 0.000693333 0.000673333 0.000653333 0.000706667 0.000713333 0.000686667 0.000673333 +0.000673333 0.000666667 0.000626667 0.000646667 0.000686667 0.000666667 0.00068 0.000693333 +0.000673333 0.000646667 0.00066 0.00066 0.00064 0.00064 0.000673333 0.00066 +0.000626667 0.000626667 0.000673333 0.000693333 0.000686667 0.00066 0.000686667 0.000673333 +0.000646667 0.00068 0.000686667 0.000673333 0.000653333 0.00066 0.00068 0.000666667 +0.00068 0.000686667 0.000686667 0.000686667 0.000686667 0.000686667 0.00068 0.000713333 +0.000733333 0.000733333 0.0007 0.000666667 0.00068 0.00068 0.000673333 0.00072 +0.000706667 0.000693333 0.000706667 0.000726667 0.000706667 0.000686667 0.000693333 0.000706667 +0.00072 0.00072 0.000713333 0.00074 0.00072 0.000706667 0.000693333 0.000686667 +0.000693333 0.000713333 0.000746667 0.000706667 0.00072 0.000713333 0.000706667 0.00072 +0.000713333 0.000733333 0.00074 0.000713333 0.000733333 0.0007 0.0007 0.000726667 +0.000733333 0.000733333 0.000726667 0.000746667 0.000746667 0.00072 0.00074 0.000733333 +0.000726667 0.000753333 0.000766667 0.000726667 0.000746667 0.000713333 0.000726667 0.00072 +0.000753333 0.000753333 0.000746667 0.000746667 0.000726667 0.000726667 0.00076 0.00072 +0.000746667 0.00076 0.000753333 0.00076 0.000733333 0.000726667 0.000746667 0.000766667 +0.000793333 0.000773333 0.000713333 0.000726667 0.00076 0.00076 0.00074 0.00074 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00072 +0.000726667 0.00074 0.00076 0.000733333 0.000726667 0.000733333 0.000746667 0.000746667 +0.000746667 0.000753333 0.000746667 0.000726667 0.000686667 0.00072 0.00074 0.00072 +0.00072 0.000726667 0.000733333 0.00072 0.000713333 0.000733333 0.000746667 0.000726667 +0.000713333 0.000713333 0.00072 0.000726667 0.000726667 0.00072 0.000726667 0.0007 +0.000706667 0.000733333 0.00074 0.000706667 0.000686667 0.000706667 0.0007 0.0007 +0.000733333 0.000733333 0.000706667 0.000706667 0.000713333 0.00072 0.00072 0.000706667 +0.000706667 0.000686667 0.00068 0.0007 0.00072 0.000706667 0.000726667 0.000726667 +0.000713333 0.000706667 0.000693333 0.000693333 0.000693333 0.0007 0.000713333 0.0007 +0.000693333 0.000726667 0.000726667 0.00072 0.000713333 0.0007 0.000706667 0.000706667 +0.000713333 0.000713333 0.0007 0.000693333 0.00068 0.0007 0.000706667 0.000726667 +0.000706667 0.000686667 0.000713333 0.000713333 0.000693333 0.00066 0.00068 0.0007 +0.000713333 0.0007 0.00066 0.000653333 0.000653333 0.000686667 0.0007 0.00068 +0.0007 0.000673333 0.00066 0.00068 0.000673333 0.000673333 0.00066 0.000713333 +0.000713333 0.000673333 0.00066 0.00068 0.00068 0.00068 0.000666667 0.00068 +0.000693333 0.000673333 0.000666667 0.000673333 0.00064 0.00066 0.000673333 0.000693333 +0.000673333 0.000633333 0.000646667 0.000646667 0.000673333 0.00066 0.000666667 0.00068 +0.000666667 0.000686667 0.000713333 0.0007 0.000686667 0.000686667 0.000666667 0.000673333 +0.000706667 0.0007 0.000693333 0.000686667 0.000673333 0.000666667 0.00068 0.00068 +0.000693333 0.0007 0.000673333 0.000673333 0.00068 0.0007 0.000713333 0.000686667 +0.000706667 0.000693333 0.000673333 0.00068 0.0007 0.000713333 0.00066 0.000693333 +0.0007 0.000666667 0.00068 0.000686667 0.00068 0.000673333 0.00068 0.000686667 +0.0007 0.0007 0.000713333 0.00068 0.000653333 0.000673333 0.0007 0.000686667 +0.000673333 0.00068 0.000686667 0.000673333 0.00066 0.0007 0.0007 0.000673333 +0.00068 0.000646667 0.000653333 0.000693333 0.0007 0.00068 0.000673333 0.000666667 +0.000673333 0.000693333 0.00066 0.00066 0.00068 0.000686667 0.00066 0.000686667 +0.000673333 0.00066 0.000673333 0.000653333 0.00066 0.000666667 0.000673333 0.00068 +0.000693333 0.000673333 0.00064 0.00066 0.000686667 0.00068 0.00066 0.000646667 +0.000673333 0.00068 0.00068 0.000653333 0.000673333 0.000693333 0.000686667 0.00068 +0.00066 0.00066 0.00068 0.000646667 0.00066 0.000666667 0.000653333 0.000686667 +0.000673333 0.000673333 0.000673333 0.000653333 0.00068 0.000713333 0.0007 0.000646667 +0.00064 0.000653333 0.00066 0.000673333 0.000673333 0.00068 0.000693333 0.000666667 +0.00068 0.00068 0.000666667 0.000706667 0.0007 0.000666667 0.000706667 0.000666667 +0.00068 0.000693333 0.000686667 0.000693333 0.00066 0.000673333 0.000673333 0.000693333 +0.00068 0.000646667 0.0007 0.000706667 0.000666667 0.00068 0.000713333 0.00072 +0.0007 0.00068 0.00068 0.000673333 0.000686667 0.00072 0.000706667 0.00068 +0.000666667 0.0007 0.00068 0.000686667 0.000706667 0.00068 0.000666667 0.000693333 +0.000713333 0.000693333 0.0007 0.0007 0.000686667 0.000686667 0.0007 0.000666667 +0.000653333 0.000666667 0.0007 0.000706667 0.000726667 0.000686667 0.000673333 0.000673333 +0.000686667 0.00068 0.0007 0.00072 0.00068 0.000666667 0.000673333 0.000666667 +0.000686667 0.000673333 0.00068 0.00068 0.000673333 0.00066 0.00068 0.000706667 +0.00068 0.00066 0.000673333 0.000706667 0.00068 0.000666667 0.00068 0.00066 +0.000693333 0.000686667 0.00068 0.00066 0.00068 0.0007 0.000706667 0.000673333 +0.000646667 0.000673333 0.00064 0.000646667 0.00068 0.000686667 0.000706667 0.0007 +0.000673333 0.000666667 0.00066 0.00064 0.000613333 0.00064 0.000666667 0.000646667 +0.00062 0.00064 0.000693333 0.00068 0.000673333 0.000686667 0.000673333 0.00066 +0.000653333 0.000666667 0.000686667 0.00068 0.000653333 0.00066 0.000686667 0.000673333 +0.00068 0.00068 0.000686667 0.00068 0.000666667 0.00068 0.000673333 0.000713333 +0.000726667 0.000706667 0.0007 0.0007 0.00068 0.000673333 0.000693333 0.000706667 +0.0007 0.0007 0.00072 0.000706667 0.000686667 0.000713333 0.000726667 0.000726667 +0.000706667 0.0007 0.00072 0.00072 0.0007 0.000706667 0.0007 0.000726667 +0.000706667 0.0007 0.000733333 0.00072 0.000746667 0.000686667 0.00072 0.000733333 +0.00072 0.00074 0.00072 0.0007 0.000713333 0.0007 0.000706667 0.000733333 +0.000726667 0.00072 0.000773333 0.000753333 0.000733333 0.000713333 0.00072 0.00072 +0.00076 0.00074 0.00072 0.00072 0.00074 0.000713333 0.000726667 0.00074 +0.00076 0.000746667 0.00076 0.000733333 0.000726667 0.00074 0.000746667 0.000733333 +0.00076 0.00074 0.000733333 0.00076 0.000726667 0.000746667 0.000766667 0.000793333 +0.000773333 0.00072 0.00072 0.000773333 0.000766667 0.000746667 0.000753333 0.000746667 +0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 0.000733333 +0.000726667 0.000733333 0.000733333 0.000746667 0.000753333 0.000733333 0.00074 0.00076 +0.000753333 0.00076 0.00074 0.000746667 0.00072 0.000713333 0.00072 0.000713333 +0.00072 0.000733333 0.000733333 0.000713333 0.000713333 0.000713333 0.000726667 0.00074 +0.000733333 0.00074 0.00072 0.000693333 0.000713333 0.0007 0.000706667 0.000713333 +0.000706667 0.000713333 0.000733333 0.000733333 0.000726667 0.000726667 0.000686667 0.00068 +0.000713333 0.000733333 0.000726667 0.00072 0.0007 0.000713333 0.000713333 0.00072 +0.000726667 0.00072 0.0007 0.00068 0.0007 0.000686667 0.000693333 0.000713333 +0.000713333 0.000726667 0.00072 0.000706667 0.0007 0.000686667 0.0007 0.000706667 +0.000693333 0.0007 0.000706667 0.000706667 0.000706667 0.000706667 0.00072 0.00072 +0.000726667 0.000706667 0.0007 0.0007 0.000686667 0.000693333 0.00068 0.000713333 +0.00072 0.000693333 0.000686667 0.000706667 0.0007 0.00068 0.000706667 0.0007 +0.000693333 0.000713333 0.000693333 0.00068 0.000653333 0.000673333 0.000706667 0.0007 +0.000686667 0.000686667 0.00068 0.000673333 0.000666667 0.000673333 0.000673333 0.000686667 +0.000693333 0.000686667 0.000666667 0.00068 0.000673333 0.000673333 0.000666667 0.00066 +0.000666667 0.0007 0.0007 0.000686667 0.000653333 0.00066 0.000666667 0.000686667 +0.00068 0.000646667 0.000653333 0.000626667 0.000673333 0.000686667 0.00066 0.00066 +0.000686667 0.000693333 0.0007 0.000713333 0.000706667 0.0007 0.00068 0.00064 +0.00066 0.000673333 0.00068 0.000686667 0.00068 0.00066 0.00066 0.000686667 +0.000686667 0.000706667 0.0007 0.000666667 0.000666667 0.000666667 0.0007 0.00072 +0.000706667 0.000693333 0.000673333 0.000666667 0.000686667 0.0007 0.000673333 0.00068 +0.000713333 0.000673333 0.000666667 0.0007 0.000686667 0.000666667 0.000693333 0.000706667 +0.00068 0.000673333 0.000706667 0.000693333 0.000646667 0.000653333 0.00068 0.000706667 +0.00066 0.000653333 0.0007 0.000693333 0.00066 0.00068 0.000693333 0.000673333 +0.000666667 0.000653333 0.00066 0.00068 0.000693333 0.000693333 0.000686667 0.000693333 +0.00068 0.0007 0.000666667 0.000653333 0.000673333 0.000666667 0.000666667 0.00068 +0.00066 0.00066 0.000673333 0.000653333 0.000653333 0.00066 0.000673333 0.000673333 +0.00068 0.00068 0.00066 0.00066 0.000666667 0.000666667 0.00066 0.00066 +0.000686667 0.00066 0.000666667 0.000653333 0.00066 0.000693333 0.000686667 0.000673333 +0.000646667 0.000653333 0.000673333 0.000686667 0.000666667 0.000646667 0.000673333 0.000686667 +0.00068 0.00068 0.000673333 0.00064 0.000693333 0.000713333 0.000693333 0.000666667 +0.00064 0.000653333 0.000673333 0.00066 0.00064 0.00068 0.000713333 0.000713333 +0.000693333 0.000673333 0.00066 0.0007 0.000693333 0.000666667 0.000686667 0.000673333 +0.0007 0.000686667 0.000673333 0.000686667 0.000666667 0.00068 0.000693333 0.0007 +0.000666667 0.00064 0.0007 0.0007 0.00066 0.000673333 0.000706667 0.000713333 +0.000693333 0.000673333 0.00068 0.000686667 0.00068 0.0007 0.000726667 0.0007 +0.00068 0.000706667 0.000673333 0.000673333 0.000713333 0.0007 0.000686667 0.000686667 +0.000693333 0.000693333 0.000693333 0.000713333 0.000693333 0.000673333 0.0007 0.000666667 +0.00066 0.000686667 0.000706667 0.000693333 0.000706667 0.000706667 0.000693333 0.00066 +0.000673333 0.000686667 0.000726667 0.000713333 0.000686667 0.0007 0.000673333 0.00066 +0.0007 0.0007 0.00068 0.000673333 0.000666667 0.000653333 0.000673333 0.0007 +0.000686667 0.000673333 0.000686667 0.000686667 0.000666667 0.000686667 0.000666667 0.00066 +0.000673333 0.000686667 0.000666667 0.000666667 0.000686667 0.000706667 0.000713333 0.00066 +0.000646667 0.000673333 0.000646667 0.000666667 0.000693333 0.0007 0.000686667 0.00068 +0.00066 0.000673333 0.000666667 0.00064 0.00064 0.000653333 0.00064 0.000626667 +0.000633333 0.00066 0.00068 0.000666667 0.000673333 0.000686667 0.000666667 0.00064 +0.000653333 0.00066 0.000693333 0.00068 0.000666667 0.000666667 0.00068 0.0007 +0.0007 0.000693333 0.000693333 0.00066 0.00066 0.00068 0.000693333 0.00072 +0.000713333 0.000686667 0.000713333 0.000713333 0.000673333 0.00068 0.0007 0.000693333 +0.000713333 0.000726667 0.0007 0.000686667 0.000713333 0.000733333 0.000713333 0.000693333 +0.000693333 0.00072 0.000733333 0.000693333 0.000693333 0.0007 0.000713333 0.000726667 +0.000713333 0.000713333 0.00074 0.000746667 0.000733333 0.000706667 0.000733333 0.000726667 +0.000713333 0.000726667 0.000706667 0.0007 0.000713333 0.000713333 0.000733333 0.00074 +0.000733333 0.00072 0.00076 0.000726667 0.000726667 0.000726667 0.000733333 0.00074 +0.000753333 0.000713333 0.000713333 0.00072 0.000713333 0.00072 0.000733333 0.00074 +0.000746667 0.000753333 0.00076 0.000733333 0.000733333 0.000746667 0.000733333 0.00076 +0.00076 0.000733333 0.000733333 0.00074 0.000746667 0.000786667 0.000766667 0.000753333 +0.000733333 0.000746667 0.00076 0.000753333 0.00074 0.00076 0.00076 0.00076 +0.00074 0.0007 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000766667 0.000733333 0.00076 +0.000766667 0.00074 0.00074 0.00074 0.00074 0.00074 0.000713333 0.000733333 +0.000746667 0.000753333 0.00076 0.00076 0.000733333 0.000713333 0.000706667 0.000706667 +0.00072 0.00074 0.000746667 0.000726667 0.00072 0.000726667 0.000706667 0.000713333 +0.00074 0.000746667 0.00074 0.000713333 0.000713333 0.000713333 0.0007 0.0007 +0.00072 0.000706667 0.000713333 0.00072 0.000726667 0.00074 0.000706667 0.000693333 +0.000686667 0.000706667 0.000726667 0.00072 0.000693333 0.000706667 0.000713333 0.000713333 +0.000713333 0.00072 0.000713333 0.000706667 0.0007 0.000673333 0.00068 0.000686667 +0.0007 0.000713333 0.00072 0.00072 0.00072 0.000693333 0.000693333 0.000693333 +0.000713333 0.0007 0.000693333 0.0007 0.000693333 0.000693333 0.000713333 0.000713333 +0.000713333 0.000713333 0.00072 0.000713333 0.000713333 0.0007 0.00068 0.000693333 +0.000706667 0.000713333 0.000686667 0.0007 0.0007 0.0007 0.000713333 0.000686667 +0.000686667 0.000693333 0.000693333 0.000706667 0.000693333 0.000666667 0.000673333 0.000693333 +0.00068 0.000666667 0.00068 0.000673333 0.000646667 0.000646667 0.000686667 0.00068 +0.00068 0.000686667 0.0007 0.000693333 0.00068 0.00068 0.000666667 0.000653333 +0.000626667 0.00068 0.000713333 0.000693333 0.000673333 0.000646667 0.000646667 0.000653333 +0.000666667 0.00068 0.000673333 0.000633333 0.00064 0.000673333 0.00066 0.00064 +0.000686667 0.00072 0.000686667 0.0007 0.000693333 0.000686667 0.000693333 0.00066 +0.000626667 0.00066 0.00068 0.000713333 0.000706667 0.000666667 0.000653333 0.000666667 +0.00068 0.0007 0.000706667 0.00068 0.000666667 0.000653333 0.000673333 0.000706667 +0.000686667 0.000686667 0.00068 0.000666667 0.000673333 0.000686667 0.00068 0.00068 +0.000713333 0.000706667 0.00068 0.00068 0.0007 0.00068 0.000686667 0.0007 +0.000686667 0.00066 0.00068 0.0007 0.00068 0.000673333 0.00068 0.000693333 +0.00066 0.000646667 0.000693333 0.000713333 0.00068 0.00066 0.00068 0.00068 +0.000653333 0.000666667 0.000653333 0.00068 0.0007 0.000693333 0.000673333 0.000693333 +0.000686667 0.000686667 0.000666667 0.000646667 0.00066 0.000646667 0.000653333 0.000666667 +0.000666667 0.000666667 0.00066 0.000666667 0.00064 0.00066 0.000686667 0.000673333 +0.000673333 0.000673333 0.000666667 0.000673333 0.00066 0.000666667 0.000673333 0.000666667 +0.00068 0.000673333 0.000666667 0.000653333 0.000666667 0.000706667 0.00068 0.000673333 +0.000646667 0.00064 0.000673333 0.000693333 0.000666667 0.000646667 0.00068 0.000686667 +0.000693333 0.0007 0.00068 0.000646667 0.00068 0.00068 0.000666667 0.000693333 +0.000666667 0.000666667 0.00068 0.000653333 0.00064 0.000693333 0.000713333 0.000706667 +0.000693333 0.000673333 0.00066 0.000686667 0.000693333 0.000673333 0.000673333 0.00068 +0.000713333 0.00068 0.000673333 0.000686667 0.00066 0.000686667 0.000706667 0.0007 +0.000673333 0.000666667 0.000693333 0.0007 0.00068 0.00068 0.0007 0.0007 +0.0007 0.000693333 0.000686667 0.000693333 0.000693333 0.000693333 0.000706667 0.000706667 +0.000686667 0.0007 0.000666667 0.00068 0.000713333 0.00068 0.000686667 0.00068 +0.000673333 0.000686667 0.0007 0.000706667 0.000693333 0.00068 0.0007 0.000666667 +0.000666667 0.000693333 0.000706667 0.000686667 0.000693333 0.000706667 0.000706667 0.000666667 +0.00066 0.00068 0.00072 0.000693333 0.000686667 0.000693333 0.000666667 0.00068 +0.0007 0.000686667 0.000693333 0.000673333 0.000666667 0.00066 0.000686667 0.000693333 +0.00068 0.000673333 0.00068 0.000666667 0.00066 0.000693333 0.000653333 0.00066 +0.000686667 0.000673333 0.000653333 0.000673333 0.000713333 0.0007 0.000693333 0.00068 +0.000686667 0.00066 0.000646667 0.000686667 0.000686667 0.000693333 0.000686667 0.000673333 +0.000646667 0.00066 0.000666667 0.00066 0.00066 0.000653333 0.000633333 0.000613333 +0.000633333 0.00066 0.00066 0.000666667 0.00068 0.0007 0.000653333 0.00064 +0.000666667 0.000653333 0.000666667 0.000666667 0.00068 0.00066 0.00068 0.000706667 +0.000686667 0.000686667 0.00068 0.000666667 0.000673333 0.00068 0.000706667 0.00072 +0.0007 0.000673333 0.000693333 0.000686667 0.00068 0.000693333 0.000693333 0.000706667 +0.000733333 0.00072 0.000693333 0.000693333 0.000726667 0.000706667 0.00068 0.000693333 +0.000713333 0.00072 0.000706667 0.000686667 0.000726667 0.000706667 0.000706667 0.000706667 +0.000706667 0.00074 0.000746667 0.000733333 0.00072 0.000746667 0.000746667 0.000726667 +0.000706667 0.000713333 0.000726667 0.0007 0.000686667 0.000746667 0.000746667 0.000733333 +0.00074 0.000713333 0.000726667 0.00072 0.00074 0.000753333 0.000733333 0.00074 +0.00072 0.000713333 0.00072 0.00072 0.00072 0.000746667 0.000713333 0.000733333 +0.000733333 0.000726667 0.000746667 0.000746667 0.000726667 0.000753333 0.00076 0.000766667 +0.00074 0.00074 0.000726667 0.00076 0.000766667 0.00076 0.00072 0.000746667 +0.00076 0.000766667 0.000746667 0.00072 0.00074 0.000746667 0.000746667 0.00076 +0.000726667 0.00072 0.000746667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.00076 0.000746667 0.000746667 0.000753333 +0.000753333 0.000746667 0.000746667 0.00074 0.00072 0.000733333 0.000726667 0.00074 +0.000733333 0.00072 0.00074 0.000753333 0.000746667 0.00074 0.000733333 0.00072 +0.000706667 0.0007 0.00072 0.000746667 0.00074 0.00072 0.000713333 0.0007 +0.000706667 0.000733333 0.000726667 0.000726667 0.000746667 0.000746667 0.000726667 0.000693333 +0.000693333 0.00068 0.0007 0.00072 0.000713333 0.000733333 0.000726667 0.000706667 +0.000706667 0.000693333 0.000713333 0.000726667 0.000713333 0.0007 0.0007 0.00072 +0.00072 0.000713333 0.000713333 0.000726667 0.00072 0.00068 0.000686667 0.000693333 +0.000693333 0.000693333 0.000713333 0.000726667 0.000726667 0.000706667 0.0007 0.00068 +0.000706667 0.000706667 0.000686667 0.000706667 0.0007 0.000686667 0.000693333 0.000693333 +0.000693333 0.000693333 0.000726667 0.000726667 0.000733333 0.000713333 0.000686667 0.000686667 +0.00068 0.0007 0.000706667 0.0007 0.00068 0.0007 0.00072 0.000693333 +0.00068 0.00068 0.000693333 0.000706667 0.0007 0.00066 0.000653333 0.000666667 +0.000673333 0.000666667 0.000666667 0.000666667 0.00066 0.000653333 0.000666667 0.000666667 +0.000686667 0.000686667 0.000693333 0.000686667 0.000673333 0.000686667 0.000686667 0.000673333 +0.000646667 0.000646667 0.000673333 0.000673333 0.00068 0.00066 0.00066 0.000646667 +0.00064 0.000666667 0.00066 0.00066 0.000646667 0.00064 0.000646667 0.00064 +0.00066 0.000693333 0.0007 0.0007 0.0007 0.00068 0.000686667 0.000686667 +0.00066 0.000673333 0.000673333 0.0007 0.000706667 0.000686667 0.000673333 0.000673333 +0.000673333 0.00068 0.0007 0.000693333 0.00068 0.000666667 0.00066 0.000673333 +0.000693333 0.000693333 0.000686667 0.00068 0.00066 0.00068 0.000693333 0.000673333 +0.000686667 0.00072 0.000706667 0.00068 0.000686667 0.000693333 0.000686667 0.000673333 +0.000673333 0.000673333 0.000653333 0.00068 0.000706667 0.000693333 0.000693333 0.000686667 +0.00068 0.00068 0.000686667 0.000713333 0.000686667 0.00066 0.000673333 0.000686667 +0.000666667 0.000666667 0.000653333 0.00066 0.0007 0.000693333 0.000666667 0.00068 +0.000706667 0.00068 0.000666667 0.000646667 0.00066 0.00066 0.00064 0.00066 +0.000686667 0.00068 0.000666667 0.00066 0.000633333 0.000646667 0.000693333 0.000686667 +0.000673333 0.000673333 0.00066 0.000673333 0.000666667 0.000653333 0.000673333 0.000673333 +0.00066 0.00066 0.000673333 0.00066 0.000653333 0.000686667 0.000673333 0.000673333 +0.000666667 0.00064 0.00066 0.00068 0.000666667 0.000666667 0.000666667 0.000673333 +0.000686667 0.000693333 0.00068 0.000666667 0.000666667 0.00066 0.000653333 0.000686667 +0.000673333 0.000666667 0.000666667 0.000653333 0.000653333 0.00068 0.000686667 0.000673333 +0.00068 0.000686667 0.00068 0.00068 0.0007 0.000673333 0.00068 0.00068 +0.000706667 0.000693333 0.00068 0.000666667 0.000653333 0.000686667 0.000706667 0.000713333 +0.000693333 0.000653333 0.000666667 0.000706667 0.000693333 0.000666667 0.000693333 0.0007 +0.0007 0.000713333 0.000706667 0.000693333 0.0007 0.000693333 0.000706667 0.0007 +0.000686667 0.00072 0.000693333 0.000693333 0.000686667 0.00068 0.000673333 0.000666667 +0.000686667 0.000673333 0.00068 0.000693333 0.00068 0.000706667 0.0007 0.000653333 +0.000653333 0.000693333 0.0007 0.0007 0.000706667 0.000686667 0.0007 0.000673333 +0.000666667 0.00068 0.000713333 0.000686667 0.00068 0.000653333 0.000673333 0.000693333 +0.000686667 0.000673333 0.000693333 0.000686667 0.000686667 0.00068 0.0007 0.000686667 +0.000666667 0.00068 0.000686667 0.00066 0.000666667 0.000693333 0.000666667 0.000686667 +0.000693333 0.00066 0.000646667 0.000693333 0.0007 0.000673333 0.000673333 0.0007 +0.000693333 0.00064 0.000666667 0.000693333 0.00066 0.000686667 0.000706667 0.000673333 +0.00066 0.000653333 0.000666667 0.000653333 0.000653333 0.000646667 0.00062 0.000606667 +0.000633333 0.00064 0.000646667 0.000666667 0.000693333 0.000706667 0.00066 0.000666667 +0.000673333 0.000653333 0.000646667 0.000673333 0.00068 0.00066 0.000666667 0.000693333 +0.000666667 0.00066 0.00066 0.00068 0.00068 0.00068 0.00072 0.000713333 +0.0007 0.00068 0.000686667 0.00068 0.00068 0.0007 0.000713333 0.00072 +0.00072 0.0007 0.0007 0.000713333 0.00072 0.000673333 0.000693333 0.00072 +0.000726667 0.000706667 0.000686667 0.000706667 0.000713333 0.000706667 0.0007 0.0007 +0.000713333 0.000726667 0.000733333 0.000733333 0.00072 0.000753333 0.00074 0.00072 +0.000706667 0.00072 0.000733333 0.000693333 0.000713333 0.00078 0.000746667 0.00072 +0.000713333 0.000706667 0.000753333 0.000746667 0.00072 0.000746667 0.000726667 0.000726667 +0.00072 0.000733333 0.000726667 0.000726667 0.00074 0.00074 0.000706667 0.000733333 +0.000733333 0.00072 0.000753333 0.000766667 0.000733333 0.000773333 0.000786667 0.00074 +0.000726667 0.000753333 0.000753333 0.00076 0.00074 0.000733333 0.000746667 0.000753333 +0.00076 0.000746667 0.000733333 0.000746667 0.000746667 0.000733333 0.000733333 0.000733333 +0.000733333 0.000766667 0.000753333 0.000753333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000726667 0.000713333 0.000733333 0.000746667 0.000746667 +0.000733333 0.000733333 0.000746667 0.00076 0.00074 0.000733333 0.000726667 0.000746667 +0.000753333 0.000726667 0.000733333 0.000733333 0.000713333 0.00072 0.000733333 0.000746667 +0.000746667 0.00072 0.000686667 0.0007 0.000726667 0.000713333 0.000713333 0.000713333 +0.0007 0.000713333 0.000706667 0.000713333 0.000746667 0.000746667 0.000726667 0.000713333 +0.000713333 0.000686667 0.0007 0.000726667 0.000706667 0.000713333 0.00072 0.000706667 +0.00072 0.0007 0.000706667 0.00072 0.000713333 0.000713333 0.000713333 0.00072 +0.000726667 0.000713333 0.000686667 0.0007 0.000733333 0.000726667 0.000706667 0.0007 +0.000706667 0.000686667 0.0007 0.000713333 0.000713333 0.000713333 0.000713333 0.0007 +0.0007 0.000713333 0.000673333 0.000686667 0.0007 0.000686667 0.000693333 0.000693333 +0.000673333 0.00066 0.0007 0.00072 0.00072 0.00072 0.000713333 0.0007 +0.000693333 0.000686667 0.000706667 0.00072 0.000686667 0.000673333 0.000686667 0.000713333 +0.000713333 0.00068 0.000693333 0.000713333 0.000693333 0.00066 0.000673333 0.000673333 +0.000646667 0.00066 0.000673333 0.000673333 0.00066 0.000653333 0.000666667 0.00068 +0.00068 0.000673333 0.000673333 0.00068 0.00068 0.000686667 0.0007 0.00068 +0.000673333 0.00066 0.00064 0.000646667 0.00066 0.000666667 0.000693333 0.00068 +0.00064 0.000653333 0.000646667 0.00066 0.000666667 0.000653333 0.000646667 0.000646667 +0.00064 0.000653333 0.000686667 0.000686667 0.0007 0.0007 0.000686667 0.000686667 +0.00068 0.000686667 0.000693333 0.00068 0.0007 0.000686667 0.000693333 0.000686667 +0.00068 0.000666667 0.000666667 0.000693333 0.00068 0.00068 0.00068 0.000653333 +0.000686667 0.000706667 0.00068 0.000693333 0.000653333 0.000653333 0.000686667 0.00068 +0.00066 0.000686667 0.000713333 0.0007 0.00068 0.000693333 0.000706667 0.0007 +0.000673333 0.000686667 0.00066 0.000673333 0.000693333 0.00068 0.000693333 0.000686667 +0.00068 0.00068 0.000673333 0.0007 0.000686667 0.000666667 0.000673333 0.000666667 +0.000673333 0.00066 0.000653333 0.000653333 0.00068 0.000713333 0.00068 0.000666667 +0.000693333 0.000706667 0.00068 0.00066 0.000653333 0.000666667 0.000646667 0.000666667 +0.000673333 0.00068 0.000686667 0.000666667 0.000633333 0.00064 0.000673333 0.000713333 +0.0007 0.000673333 0.00066 0.000673333 0.00068 0.000653333 0.00066 0.00066 +0.00066 0.000653333 0.000666667 0.000653333 0.000633333 0.000646667 0.000673333 0.000673333 +0.000653333 0.000646667 0.000653333 0.00066 0.00068 0.000673333 0.000653333 0.00066 +0.000666667 0.000673333 0.000693333 0.000666667 0.00068 0.000686667 0.000653333 0.00066 +0.000653333 0.00066 0.000686667 0.000673333 0.00064 0.00066 0.000686667 0.000666667 +0.000666667 0.000693333 0.0007 0.00068 0.000673333 0.000653333 0.00068 0.00068 +0.0007 0.000706667 0.000666667 0.00066 0.000673333 0.000693333 0.000686667 0.000713333 +0.000706667 0.00066 0.000666667 0.000686667 0.00068 0.00066 0.000693333 0.0007 +0.000686667 0.000713333 0.000713333 0.0007 0.000693333 0.000673333 0.000693333 0.000693333 +0.00068 0.0007 0.000706667 0.0007 0.00068 0.000686667 0.000673333 0.000666667 +0.000686667 0.000666667 0.000666667 0.0007 0.0007 0.000713333 0.000693333 0.000653333 +0.00066 0.000686667 0.000693333 0.000693333 0.000693333 0.000686667 0.000693333 0.00068 +0.00066 0.000693333 0.00072 0.000686667 0.000686667 0.000666667 0.000673333 0.0007 +0.000686667 0.000673333 0.00068 0.00068 0.000693333 0.0007 0.000706667 0.000686667 +0.00066 0.00068 0.0007 0.000653333 0.000653333 0.00068 0.000693333 0.000713333 +0.00068 0.000646667 0.000666667 0.000713333 0.0007 0.00068 0.000666667 0.00068 +0.000673333 0.00064 0.00068 0.000686667 0.000673333 0.000686667 0.000693333 0.000646667 +0.000653333 0.000673333 0.00066 0.000646667 0.000653333 0.000666667 0.000633333 0.00062 +0.00064 0.000633333 0.000653333 0.000673333 0.00068 0.000666667 0.000653333 0.000673333 +0.000666667 0.00066 0.000653333 0.000666667 0.000686667 0.00068 0.000666667 0.000673333 +0.00068 0.000673333 0.00068 0.00068 0.000666667 0.000686667 0.000713333 0.0007 +0.0007 0.000706667 0.00068 0.000686667 0.000686667 0.000706667 0.00072 0.000713333 +0.000706667 0.000693333 0.000706667 0.000706667 0.000706667 0.000693333 0.000726667 0.00072 +0.000706667 0.0007 0.0007 0.000733333 0.000686667 0.000686667 0.00072 0.000726667 +0.00074 0.000713333 0.00072 0.000726667 0.000726667 0.00074 0.0007 0.000693333 +0.000726667 0.00074 0.000726667 0.000706667 0.00074 0.000773333 0.000733333 0.000706667 +0.00068 0.00072 0.000746667 0.000753333 0.000713333 0.000733333 0.000733333 0.00072 +0.00072 0.000706667 0.00072 0.000753333 0.000733333 0.000726667 0.000726667 0.000726667 +0.00074 0.000733333 0.000746667 0.000766667 0.000746667 0.000773333 0.000746667 0.000726667 +0.000753333 0.000766667 0.000733333 0.000733333 0.000746667 0.00076 0.00076 0.000733333 +0.000753333 0.000746667 0.000753333 0.000766667 0.000733333 0.00074 0.00074 0.00074 +0.00076 0.00078 0.00074 0.00074 0.000746667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000766667 0.000713333 0.000706667 0.000733333 0.000733333 0.000746667 +0.000733333 0.000733333 0.000733333 0.000733333 0.00074 0.00074 0.000726667 0.00074 +0.000746667 0.00072 0.000726667 0.000746667 0.000733333 0.00072 0.000713333 0.000726667 +0.00074 0.000746667 0.00074 0.000706667 0.000713333 0.00072 0.0007 0.000706667 +0.0007 0.000713333 0.000726667 0.00072 0.00072 0.000726667 0.00072 0.000733333 +0.00074 0.0007 0.000706667 0.00072 0.000713333 0.0007 0.000686667 0.0007 +0.000706667 0.000693333 0.000706667 0.00072 0.000706667 0.000706667 0.000726667 0.00072 +0.000706667 0.000713333 0.000693333 0.00068 0.000706667 0.000733333 0.000733333 0.000693333 +0.000713333 0.000686667 0.000673333 0.000686667 0.00068 0.0007 0.00072 0.000713333 +0.0007 0.000713333 0.000693333 0.00066 0.00068 0.00068 0.000713333 0.000706667 +0.000686667 0.000666667 0.000693333 0.00072 0.000706667 0.000706667 0.000733333 0.000726667 +0.00072 0.0007 0.000693333 0.000706667 0.00072 0.000693333 0.000653333 0.000666667 +0.0007 0.000713333 0.000693333 0.000693333 0.0007 0.00068 0.00068 0.000693333 +0.00068 0.00066 0.000666667 0.000673333 0.000666667 0.000646667 0.00066 0.000693333 +0.00068 0.000666667 0.000666667 0.000693333 0.000693333 0.000673333 0.000693333 0.000673333 +0.00068 0.000686667 0.00066 0.00066 0.000646667 0.000646667 0.000666667 0.000693333 +0.00068 0.000653333 0.00064 0.00066 0.000673333 0.000666667 0.000666667 0.000666667 +0.000646667 0.00064 0.000653333 0.000666667 0.00068 0.0007 0.0007 0.000686667 +0.00066 0.000673333 0.000713333 0.0007 0.000686667 0.000693333 0.000706667 0.000673333 +0.000666667 0.000673333 0.000646667 0.000666667 0.000686667 0.00068 0.000686667 0.000666667 +0.00066 0.000686667 0.000693333 0.000693333 0.00068 0.000666667 0.000686667 0.0007 +0.000666667 0.00066 0.0007 0.000706667 0.000706667 0.000693333 0.0007 0.000693333 +0.000686667 0.000686667 0.000666667 0.000693333 0.000686667 0.000673333 0.000686667 0.000713333 +0.0007 0.00066 0.00066 0.000693333 0.0007 0.00068 0.000666667 0.000673333 +0.000693333 0.000666667 0.00066 0.000653333 0.000653333 0.000706667 0.0007 0.00068 +0.000673333 0.0007 0.000706667 0.00068 0.000646667 0.000653333 0.000646667 0.00066 +0.000673333 0.000686667 0.000693333 0.00068 0.00064 0.00064 0.00066 0.000693333 +0.000693333 0.00068 0.00066 0.000653333 0.000686667 0.000673333 0.000666667 0.000646667 +0.000646667 0.00068 0.000693333 0.000666667 0.000626667 0.000626667 0.000673333 0.00068 +0.000653333 0.00066 0.000666667 0.000653333 0.000673333 0.00068 0.000666667 0.00068 +0.000646667 0.000673333 0.000713333 0.00066 0.000686667 0.000693333 0.000653333 0.00066 +0.000666667 0.000653333 0.000686667 0.000666667 0.000633333 0.000666667 0.000686667 0.00068 +0.000686667 0.00068 0.000693333 0.00068 0.00068 0.00066 0.000686667 0.000666667 +0.0007 0.0007 0.000666667 0.00068 0.000673333 0.00068 0.00068 0.000713333 +0.000706667 0.000673333 0.00068 0.00068 0.000666667 0.000666667 0.000686667 0.000693333 +0.000686667 0.000686667 0.0007 0.000706667 0.0007 0.000693333 0.000693333 0.000693333 +0.00068 0.00066 0.000686667 0.00072 0.0007 0.000693333 0.000673333 0.000693333 +0.000693333 0.000653333 0.00068 0.0007 0.000706667 0.000693333 0.00068 0.000666667 +0.00066 0.000673333 0.0007 0.000693333 0.00068 0.000693333 0.00068 0.00066 +0.000653333 0.0007 0.000706667 0.00066 0.000693333 0.00068 0.000666667 0.0007 +0.000693333 0.000673333 0.000673333 0.000673333 0.00068 0.00068 0.0007 0.000693333 +0.000666667 0.000686667 0.0007 0.000646667 0.00064 0.00066 0.000693333 0.000693333 +0.000666667 0.000653333 0.00068 0.0007 0.0007 0.0007 0.000673333 0.000666667 +0.00066 0.000673333 0.000666667 0.000666667 0.000693333 0.000693333 0.000666667 0.000646667 +0.00066 0.000686667 0.00066 0.000646667 0.00066 0.000673333 0.000646667 0.000633333 +0.00064 0.000646667 0.000653333 0.000666667 0.000666667 0.00064 0.00064 0.000666667 +0.000666667 0.000666667 0.00066 0.00066 0.000706667 0.000686667 0.000653333 0.000666667 +0.00068 0.000693333 0.000686667 0.000666667 0.000673333 0.000713333 0.0007 0.000686667 +0.0007 0.000693333 0.000673333 0.00068 0.000686667 0.0007 0.000693333 0.000706667 +0.000713333 0.000706667 0.0007 0.000693333 0.000706667 0.000753333 0.00072 0.0007 +0.00068 0.0007 0.00072 0.00072 0.000686667 0.000706667 0.00072 0.000733333 +0.00072 0.000706667 0.00074 0.000726667 0.000733333 0.000713333 0.000686667 0.000713333 +0.00074 0.000733333 0.000713333 0.000726667 0.00074 0.000733333 0.000713333 0.000693333 +0.000706667 0.00074 0.000726667 0.00074 0.00072 0.000733333 0.000733333 0.000706667 +0.000706667 0.0007 0.000733333 0.000746667 0.000733333 0.000733333 0.00074 0.000726667 +0.000753333 0.000733333 0.00074 0.000766667 0.000753333 0.000753333 0.000746667 0.000753333 +0.000753333 0.000713333 0.000726667 0.000746667 0.000766667 0.000746667 0.00072 0.000733333 +0.00076 0.000746667 0.000766667 0.000753333 0.000733333 0.00076 0.000753333 0.00076 +0.000766667 0.000726667 0.000713333 0.000753333 0.00078 0.000786667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00078 0.00076 0.000753333 0.000726667 0.000733333 0.00072 0.000733333 +0.00074 0.000746667 0.000753333 0.000726667 0.00072 0.000733333 0.000733333 0.000726667 +0.00074 0.000726667 0.00072 0.000713333 0.000733333 0.000753333 0.000746667 0.000733333 +0.000726667 0.000713333 0.000726667 0.00074 0.000726667 0.00072 0.00072 0.0007 +0.0007 0.000706667 0.000726667 0.000726667 0.0007 0.000706667 0.000726667 0.000726667 +0.000726667 0.0007 0.000706667 0.000713333 0.00072 0.000733333 0.000706667 0.0007 +0.0007 0.000673333 0.000686667 0.0007 0.000713333 0.000693333 0.000713333 0.000726667 +0.000706667 0.00072 0.000713333 0.000706667 0.0007 0.0007 0.00072 0.0007 +0.000713333 0.00072 0.0007 0.000693333 0.000673333 0.000666667 0.000686667 0.000706667 +0.000713333 0.000713333 0.000713333 0.0007 0.0007 0.00068 0.000693333 0.000713333 +0.000706667 0.000686667 0.00068 0.000706667 0.000713333 0.00068 0.000686667 0.000693333 +0.000713333 0.000713333 0.000706667 0.0007 0.000713333 0.00072 0.000693333 0.00066 +0.00066 0.000693333 0.0007 0.0007 0.000686667 0.000686667 0.00068 0.000686667 +0.000686667 0.000693333 0.00068 0.000653333 0.00066 0.000666667 0.000666667 0.000673333 +0.000653333 0.000673333 0.00066 0.000666667 0.000686667 0.000673333 0.000673333 0.000666667 +0.000693333 0.0007 0.00068 0.000666667 0.000646667 0.000653333 0.00064 0.000646667 +0.000673333 0.000673333 0.000646667 0.000653333 0.000673333 0.000673333 0.000693333 0.00068 +0.00066 0.000653333 0.000646667 0.00066 0.000653333 0.000673333 0.0007 0.000693333 +0.00066 0.000673333 0.000693333 0.000706667 0.000686667 0.00068 0.000693333 0.000673333 +0.000646667 0.000686667 0.00068 0.000673333 0.000693333 0.00068 0.000686667 0.000706667 +0.000673333 0.00068 0.000693333 0.000666667 0.000673333 0.00068 0.000693333 0.0007 +0.00068 0.000673333 0.000666667 0.000693333 0.00072 0.00072 0.000693333 0.000673333 +0.000673333 0.000673333 0.000673333 0.000686667 0.0007 0.000673333 0.000666667 0.0007 +0.000713333 0.000673333 0.00066 0.00068 0.000706667 0.000686667 0.000673333 0.00068 +0.000693333 0.00068 0.00066 0.000646667 0.00064 0.00068 0.000706667 0.000673333 +0.00066 0.00068 0.0007 0.000713333 0.000673333 0.000653333 0.00066 0.00066 +0.00068 0.000673333 0.000666667 0.000673333 0.000666667 0.000653333 0.000666667 0.000673333 +0.000666667 0.00068 0.000673333 0.000653333 0.000686667 0.000686667 0.00068 0.000653333 +0.000633333 0.000673333 0.0007 0.000693333 0.000646667 0.00064 0.00066 0.000666667 +0.000666667 0.000653333 0.00066 0.000673333 0.000673333 0.000673333 0.000686667 0.000673333 +0.000653333 0.000653333 0.000693333 0.000673333 0.00068 0.000673333 0.00066 0.00068 +0.00068 0.000653333 0.000686667 0.000673333 0.000646667 0.000673333 0.000693333 0.000693333 +0.000686667 0.00068 0.00068 0.000666667 0.00068 0.000686667 0.000673333 0.000653333 +0.000686667 0.000693333 0.000686667 0.000693333 0.000666667 0.000673333 0.000686667 0.000706667 +0.000686667 0.00066 0.000686667 0.000693333 0.000673333 0.000666667 0.00068 0.0007 +0.0007 0.00068 0.0007 0.00072 0.000706667 0.000706667 0.000713333 0.000706667 +0.000693333 0.00064 0.000666667 0.00072 0.0007 0.0007 0.00068 0.000713333 +0.000693333 0.000653333 0.000693333 0.0007 0.000686667 0.0007 0.00068 0.000666667 +0.000646667 0.00068 0.0007 0.000693333 0.000693333 0.000713333 0.00068 0.000646667 +0.000673333 0.000713333 0.000666667 0.000686667 0.000693333 0.00068 0.000673333 0.0007 +0.000693333 0.000666667 0.00066 0.000673333 0.000666667 0.000686667 0.0007 0.000673333 +0.000686667 0.000706667 0.000686667 0.000666667 0.00066 0.000666667 0.000686667 0.000686667 +0.000666667 0.00066 0.000686667 0.000686667 0.000686667 0.000666667 0.00066 0.000666667 +0.000653333 0.000686667 0.00066 0.000666667 0.000693333 0.00068 0.00066 0.000673333 +0.00068 0.00068 0.000646667 0.000653333 0.000673333 0.000653333 0.00064 0.000633333 +0.000626667 0.000633333 0.00064 0.000666667 0.000673333 0.000653333 0.000653333 0.00066 +0.00066 0.000646667 0.000653333 0.000666667 0.000706667 0.00068 0.000646667 0.000653333 +0.000673333 0.000693333 0.00068 0.00066 0.000693333 0.000713333 0.000693333 0.0007 +0.000706667 0.000686667 0.000693333 0.000673333 0.000686667 0.00068 0.000693333 0.0007 +0.000713333 0.000713333 0.000686667 0.0007 0.000726667 0.000753333 0.000706667 0.0007 +0.00068 0.00072 0.000706667 0.000693333 0.00072 0.00072 0.00072 0.000713333 +0.0007 0.000713333 0.00074 0.00072 0.00072 0.0007 0.000733333 0.00074 +0.00072 0.000713333 0.000726667 0.000753333 0.000713333 0.000693333 0.00072 0.000713333 +0.00074 0.00074 0.00072 0.000733333 0.000746667 0.00074 0.00072 0.00068 +0.00072 0.00072 0.00074 0.00074 0.000733333 0.000733333 0.000733333 0.00072 +0.00076 0.000746667 0.000753333 0.00074 0.000733333 0.000766667 0.000773333 0.000753333 +0.000726667 0.000706667 0.000753333 0.000746667 0.00074 0.00072 0.000726667 0.000753333 +0.000753333 0.000766667 0.000773333 0.00076 0.000766667 0.000766667 0.00076 0.00074 +0.00072 0.000726667 0.000726667 0.000793333 0.000786667 0.00076 0.00078 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000753333 0.00076 0.00076 0.000766667 0.00074 0.000746667 0.00074 0.000733333 +0.000746667 0.000753333 0.000746667 0.000733333 0.00072 0.00072 0.000726667 0.000726667 +0.000733333 0.000726667 0.000746667 0.000713333 0.0007 0.00072 0.000733333 0.000726667 +0.000733333 0.000733333 0.00072 0.000746667 0.00074 0.000726667 0.00072 0.000706667 +0.000713333 0.000726667 0.000706667 0.000706667 0.0007 0.000706667 0.00072 0.000726667 +0.000706667 0.000686667 0.0007 0.000706667 0.000713333 0.000746667 0.00074 0.00072 +0.000706667 0.000686667 0.000686667 0.000686667 0.0007 0.000693333 0.000686667 0.00072 +0.000733333 0.000726667 0.000706667 0.00072 0.00072 0.00068 0.0007 0.000706667 +0.000706667 0.000706667 0.000706667 0.000706667 0.000713333 0.000686667 0.00068 0.00068 +0.0007 0.00072 0.000713333 0.000706667 0.000713333 0.0007 0.000686667 0.000693333 +0.000713333 0.000713333 0.00068 0.00068 0.0007 0.000693333 0.00068 0.00068 +0.000673333 0.000686667 0.0007 0.00072 0.000713333 0.000706667 0.000693333 0.000686667 +0.00068 0.000653333 0.000666667 0.0007 0.000706667 0.0007 0.000686667 0.000673333 +0.00066 0.00068 0.00068 0.000653333 0.000646667 0.00066 0.000686667 0.00066 +0.000626667 0.00066 0.00066 0.00066 0.00068 0.000693333 0.00066 0.00066 +0.0007 0.000693333 0.000673333 0.000666667 0.000653333 0.00066 0.000646667 0.000633333 +0.00064 0.000666667 0.00066 0.00066 0.000666667 0.00068 0.0007 0.000686667 +0.00068 0.000666667 0.000653333 0.000653333 0.000646667 0.000653333 0.00068 0.000673333 +0.00068 0.000693333 0.00068 0.000686667 0.000686667 0.000693333 0.000693333 0.00066 +0.00064 0.000673333 0.0007 0.000693333 0.000686667 0.000686667 0.000693333 0.000713333 +0.000693333 0.000673333 0.000686667 0.000646667 0.000646667 0.00068 0.0007 0.000686667 +0.000693333 0.000686667 0.000666667 0.000673333 0.000693333 0.0007 0.00068 0.000693333 +0.000686667 0.000673333 0.00068 0.000666667 0.00068 0.000693333 0.00068 0.000693333 +0.000693333 0.00068 0.000673333 0.000673333 0.000706667 0.000693333 0.000673333 0.000673333 +0.000693333 0.000686667 0.000653333 0.000633333 0.00062 0.00066 0.000713333 0.00068 +0.000666667 0.000666667 0.000666667 0.000706667 0.0007 0.000666667 0.00066 0.00066 +0.000686667 0.000686667 0.00066 0.000653333 0.000666667 0.00066 0.000666667 0.00068 +0.000686667 0.00066 0.000653333 0.00066 0.000693333 0.000686667 0.000673333 0.00066 +0.000633333 0.000646667 0.000686667 0.000693333 0.000646667 0.00064 0.000653333 0.000653333 +0.000666667 0.000633333 0.00064 0.000666667 0.00068 0.000673333 0.000673333 0.00068 +0.000673333 0.00064 0.00066 0.000666667 0.000666667 0.000673333 0.000666667 0.00066 +0.000666667 0.000666667 0.000686667 0.000666667 0.000646667 0.000673333 0.000686667 0.00066 +0.00068 0.000693333 0.000693333 0.000693333 0.00068 0.000666667 0.000666667 0.000666667 +0.000686667 0.000686667 0.000706667 0.0007 0.00068 0.000686667 0.000666667 0.00068 +0.00068 0.000646667 0.000686667 0.00072 0.000686667 0.000666667 0.00068 0.0007 +0.000706667 0.000693333 0.000713333 0.000726667 0.000693333 0.000693333 0.00072 0.000726667 +0.0007 0.000653333 0.00068 0.000713333 0.00068 0.000693333 0.000673333 0.00068 +0.00068 0.000666667 0.0007 0.000693333 0.000686667 0.000713333 0.00068 0.000673333 +0.000653333 0.000673333 0.0007 0.0007 0.0007 0.000693333 0.000686667 0.00066 +0.0007 0.000713333 0.00066 0.000706667 0.00068 0.000686667 0.0007 0.000693333 +0.000673333 0.000686667 0.000686667 0.00068 0.00066 0.000686667 0.000693333 0.000666667 +0.000686667 0.000686667 0.00066 0.000666667 0.000673333 0.000666667 0.000693333 0.000693333 +0.00066 0.000666667 0.000706667 0.0007 0.000673333 0.00066 0.000666667 0.00066 +0.000653333 0.00068 0.00068 0.000666667 0.000673333 0.000673333 0.000653333 0.000666667 +0.00068 0.00066 0.000653333 0.000673333 0.00068 0.00064 0.000646667 0.000653333 +0.00062 0.000633333 0.000646667 0.000653333 0.00064 0.000633333 0.000673333 0.000673333 +0.000653333 0.000646667 0.00066 0.00068 0.000673333 0.000666667 0.000653333 0.000653333 +0.000666667 0.00068 0.000673333 0.000673333 0.00072 0.000686667 0.000673333 0.0007 +0.000706667 0.000693333 0.000706667 0.000686667 0.000686667 0.000673333 0.0007 0.000706667 +0.000706667 0.000686667 0.000686667 0.000733333 0.00072 0.00072 0.00072 0.000706667 +0.000686667 0.000706667 0.000693333 0.00068 0.000733333 0.000713333 0.000726667 0.000713333 +0.000713333 0.000733333 0.000713333 0.000713333 0.000713333 0.00072 0.000746667 0.000733333 +0.00072 0.000713333 0.00074 0.000753333 0.000706667 0.000693333 0.000733333 0.00074 +0.00074 0.000713333 0.000726667 0.000726667 0.000753333 0.00072 0.000706667 0.000706667 +0.00072 0.00072 0.000753333 0.000746667 0.000733333 0.00074 0.00074 0.00072 +0.00074 0.00076 0.000746667 0.00072 0.00074 0.00076 0.000746667 0.000726667 +0.000733333 0.00074 0.000766667 0.000746667 0.000726667 0.000726667 0.000753333 0.00076 +0.000746667 0.000773333 0.00076 0.00076 0.000766667 0.000753333 0.000746667 0.00072 +0.000733333 0.000753333 0.000766667 0.0008 0.00078 0.00074 0.00076 0.000746667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000773333 +0.000726667 0.00074 0.000753333 0.00074 0.00074 0.00074 0.000733333 0.000733333 +0.000746667 0.000746667 0.00074 0.00074 0.000733333 0.000726667 0.000706667 0.00072 +0.00074 0.000726667 0.000726667 0.000726667 0.00072 0.000706667 0.000713333 0.000706667 +0.000713333 0.000733333 0.000733333 0.000726667 0.00074 0.000726667 0.000733333 0.00072 +0.0007 0.00072 0.000706667 0.000693333 0.000733333 0.00074 0.000706667 0.0007 +0.000706667 0.000706667 0.00072 0.000713333 0.000706667 0.000706667 0.000713333 0.00072 +0.000726667 0.000726667 0.0007 0.000673333 0.000673333 0.000706667 0.000706667 0.000693333 +0.000713333 0.00072 0.0007 0.000706667 0.000726667 0.000693333 0.000673333 0.000693333 +0.000706667 0.0007 0.000693333 0.000693333 0.0007 0.00072 0.0007 0.000686667 +0.000693333 0.0007 0.00068 0.000693333 0.0007 0.000706667 0.000706667 0.000693333 +0.0007 0.000713333 0.00072 0.00068 0.00068 0.000693333 0.000713333 0.00072 +0.000673333 0.000666667 0.000666667 0.000693333 0.000706667 0.000706667 0.0007 0.000693333 +0.0007 0.00066 0.00066 0.000673333 0.000686667 0.00072 0.000713333 0.000693333 +0.00064 0.000646667 0.000653333 0.00066 0.000666667 0.00066 0.00068 0.000673333 +0.00066 0.000646667 0.000673333 0.000666667 0.000666667 0.000686667 0.000686667 0.00068 +0.000693333 0.00068 0.000673333 0.000686667 0.000673333 0.000666667 0.000653333 0.000646667 +0.00064 0.00064 0.000646667 0.000666667 0.000673333 0.00068 0.000666667 0.00068 +0.000686667 0.000686667 0.00066 0.000646667 0.000673333 0.000673333 0.00066 0.000653333 +0.000666667 0.0007 0.000693333 0.00068 0.000693333 0.000706667 0.000713333 0.00068 +0.00064 0.00066 0.000693333 0.000686667 0.00068 0.000666667 0.000686667 0.000693333 +0.000693333 0.000673333 0.000693333 0.000666667 0.00064 0.000673333 0.000686667 0.00066 +0.000686667 0.0007 0.0007 0.000693333 0.00066 0.000673333 0.00068 0.000693333 +0.0007 0.000693333 0.000686667 0.000666667 0.00068 0.000686667 0.000686667 0.000693333 +0.00068 0.00068 0.000666667 0.000686667 0.000693333 0.0007 0.00068 0.000673333 +0.000706667 0.0007 0.000666667 0.00066 0.000633333 0.000626667 0.00068 0.000693333 +0.000686667 0.000673333 0.00066 0.000666667 0.000693333 0.000673333 0.000653333 0.00066 +0.000686667 0.00068 0.00068 0.00066 0.00064 0.00064 0.00066 0.000666667 +0.000686667 0.000666667 0.000646667 0.00066 0.00068 0.000686667 0.000673333 0.00066 +0.000653333 0.000646667 0.00066 0.000686667 0.00066 0.000633333 0.00066 0.000673333 +0.000646667 0.000646667 0.000646667 0.00064 0.00068 0.00068 0.000653333 0.000666667 +0.00068 0.00066 0.000666667 0.000666667 0.000666667 0.000673333 0.000653333 0.000646667 +0.00068 0.00068 0.00068 0.000646667 0.00064 0.00068 0.00068 0.000653333 +0.00068 0.00068 0.0007 0.000706667 0.000673333 0.00068 0.000686667 0.000666667 +0.000686667 0.000686667 0.000693333 0.000713333 0.0007 0.000686667 0.000666667 0.000686667 +0.000686667 0.00064 0.000693333 0.000733333 0.000686667 0.000666667 0.000686667 0.000706667 +0.0007 0.0007 0.00072 0.00072 0.000693333 0.000693333 0.000706667 0.000706667 +0.0007 0.000653333 0.000693333 0.00072 0.000686667 0.000693333 0.000673333 0.000666667 +0.00068 0.000693333 0.0007 0.000693333 0.000686667 0.000693333 0.00068 0.000686667 +0.000673333 0.00066 0.000686667 0.000706667 0.000693333 0.000666667 0.000666667 0.000673333 +0.000693333 0.000713333 0.00068 0.0007 0.000686667 0.000706667 0.0007 0.000673333 +0.000653333 0.000713333 0.000706667 0.000686667 0.00066 0.000666667 0.000706667 0.000686667 +0.000673333 0.000673333 0.00066 0.00066 0.000673333 0.000673333 0.0007 0.00068 +0.000653333 0.000686667 0.000726667 0.000693333 0.000653333 0.000666667 0.00066 0.00064 +0.000666667 0.000693333 0.000686667 0.000673333 0.00068 0.00068 0.000646667 0.000653333 +0.00068 0.000666667 0.000673333 0.000686667 0.000666667 0.00064 0.000646667 0.000653333 +0.000626667 0.00064 0.00066 0.000646667 0.000613333 0.00062 0.00066 0.000673333 +0.000666667 0.000666667 0.000673333 0.000666667 0.00064 0.00068 0.000686667 0.00066 +0.000673333 0.00068 0.000673333 0.000693333 0.000713333 0.000653333 0.000666667 0.0007 +0.000693333 0.000693333 0.0007 0.000693333 0.00068 0.000686667 0.000706667 0.000706667 +0.000693333 0.000693333 0.00072 0.000726667 0.0007 0.000726667 0.000733333 0.000686667 +0.000666667 0.000686667 0.0007 0.000706667 0.00072 0.000706667 0.000733333 0.000733333 +0.000726667 0.0007 0.000686667 0.000733333 0.00074 0.000733333 0.000706667 0.000713333 +0.000746667 0.000726667 0.000733333 0.000726667 0.000713333 0.000713333 0.000746667 0.00072 +0.000713333 0.000726667 0.000746667 0.000726667 0.00072 0.000693333 0.000713333 0.000733333 +0.000713333 0.000733333 0.00076 0.000753333 0.000746667 0.00074 0.000733333 0.00074 +0.00074 0.000726667 0.000726667 0.000746667 0.000766667 0.000726667 0.00072 0.000733333 +0.000746667 0.000746667 0.000766667 0.000753333 0.00074 0.00076 0.00076 0.000753333 +0.000746667 0.000746667 0.000753333 0.00076 0.000746667 0.00074 0.00074 0.000746667 +0.000766667 0.000786667 0.000786667 0.000746667 0.000746667 0.000746667 0.000753333 0.00076 +0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00076 0.000753333 +0.000746667 0.000746667 0.00074 0.000733333 0.000753333 0.000746667 0.000733333 0.000733333 +0.000726667 0.000713333 0.000753333 0.000773333 0.000753333 0.000726667 0.0007 0.0007 +0.000733333 0.00074 0.000726667 0.00074 0.000746667 0.000706667 0.000713333 0.00072 +0.000726667 0.000706667 0.000706667 0.00072 0.00072 0.00072 0.000713333 0.00074 +0.000733333 0.000713333 0.00072 0.0007 0.000706667 0.000733333 0.00072 0.000706667 +0.000706667 0.000706667 0.000713333 0.00072 0.000706667 0.0007 0.000693333 0.0007 +0.000713333 0.000753333 0.000733333 0.000713333 0.000666667 0.000686667 0.0007 0.000693333 +0.000686667 0.000686667 0.0007 0.0007 0.000713333 0.00072 0.000693333 0.000666667 +0.000673333 0.0007 0.000713333 0.000713333 0.000693333 0.000686667 0.000686667 0.00068 +0.0007 0.000693333 0.000673333 0.000686667 0.0007 0.000713333 0.000713333 0.000693333 +0.000693333 0.000706667 0.00072 0.000706667 0.000693333 0.00068 0.000693333 0.000726667 +0.000713333 0.000686667 0.000666667 0.000666667 0.000673333 0.000706667 0.000713333 0.000693333 +0.0007 0.000686667 0.000693333 0.000673333 0.00066 0.000673333 0.0007 0.000713333 +0.000673333 0.000653333 0.000653333 0.000646667 0.00066 0.000693333 0.000686667 0.000666667 +0.000673333 0.000646667 0.000653333 0.000646667 0.00064 0.00066 0.000666667 0.000686667 +0.0007 0.000686667 0.000666667 0.00068 0.00068 0.000653333 0.000646667 0.00064 +0.000653333 0.000646667 0.000646667 0.00066 0.000666667 0.000686667 0.000666667 0.000673333 +0.000693333 0.0007 0.00068 0.000646667 0.000673333 0.000666667 0.00066 0.00068 +0.000673333 0.000686667 0.0007 0.000686667 0.000686667 0.0007 0.000713333 0.0007 +0.000666667 0.000666667 0.00068 0.000666667 0.000666667 0.00066 0.000686667 0.000673333 +0.000693333 0.00068 0.00068 0.000693333 0.000653333 0.00064 0.000666667 0.000673333 +0.00068 0.000686667 0.000706667 0.000726667 0.000666667 0.00066 0.000706667 0.000693333 +0.00068 0.000693333 0.000686667 0.000693333 0.000693333 0.0007 0.00068 0.00068 +0.000706667 0.00068 0.000653333 0.00066 0.000673333 0.0007 0.0007 0.000673333 +0.000706667 0.000686667 0.00068 0.000666667 0.000646667 0.000633333 0.000653333 0.00068 +0.000686667 0.00068 0.000673333 0.000673333 0.000686667 0.000653333 0.00066 0.00066 +0.00066 0.00066 0.000666667 0.000686667 0.000646667 0.000626667 0.000666667 0.000666667 +0.00068 0.000693333 0.000673333 0.000653333 0.00066 0.000673333 0.000673333 0.00066 +0.00064 0.00064 0.000653333 0.000693333 0.00068 0.000626667 0.000633333 0.000673333 +0.00066 0.000653333 0.000666667 0.000653333 0.00066 0.000673333 0.000673333 0.000666667 +0.000666667 0.00068 0.00068 0.00066 0.000673333 0.000673333 0.000666667 0.000653333 +0.000673333 0.000673333 0.000666667 0.000653333 0.00064 0.000666667 0.000686667 0.000673333 +0.00068 0.00066 0.000693333 0.000686667 0.000653333 0.000686667 0.000693333 0.00066 +0.000706667 0.000673333 0.000633333 0.0007 0.0007 0.00068 0.000673333 0.000693333 +0.00068 0.000666667 0.00072 0.00072 0.000666667 0.00066 0.000693333 0.000706667 +0.000693333 0.000686667 0.000706667 0.000713333 0.0007 0.000693333 0.00068 0.000666667 +0.000686667 0.000653333 0.000686667 0.000713333 0.000693333 0.000693333 0.000693333 0.000686667 +0.00068 0.000693333 0.000706667 0.000706667 0.000673333 0.000666667 0.00068 0.00068 +0.000666667 0.000673333 0.00068 0.000693333 0.000693333 0.000673333 0.000653333 0.00068 +0.0007 0.0007 0.0007 0.000673333 0.000693333 0.00072 0.000693333 0.00068 +0.000653333 0.0007 0.0007 0.000693333 0.000653333 0.000653333 0.000693333 0.000686667 +0.000673333 0.000686667 0.00066 0.000666667 0.000666667 0.000686667 0.000686667 0.000666667 +0.00068 0.000713333 0.000706667 0.000673333 0.00066 0.000686667 0.00066 0.00064 +0.000693333 0.0007 0.00068 0.000673333 0.000693333 0.000673333 0.00064 0.000673333 +0.00068 0.000673333 0.000686667 0.00068 0.000646667 0.000646667 0.000653333 0.000646667 +0.00066 0.00066 0.000646667 0.000633333 0.00062 0.000633333 0.000646667 0.00066 +0.00068 0.000673333 0.000673333 0.000646667 0.00064 0.000693333 0.00068 0.000653333 +0.000666667 0.000666667 0.000666667 0.0007 0.000686667 0.000666667 0.000693333 0.0007 +0.0007 0.000706667 0.000693333 0.00068 0.00068 0.000706667 0.0007 0.0007 +0.000693333 0.00072 0.00072 0.0007 0.00072 0.000726667 0.000706667 0.00068 +0.000666667 0.00068 0.000713333 0.000713333 0.000713333 0.000713333 0.000726667 0.000726667 +0.0007 0.00068 0.00072 0.000753333 0.000733333 0.000726667 0.000693333 0.000733333 +0.00074 0.00074 0.000746667 0.000706667 0.0007 0.00072 0.000726667 0.000726667 +0.000726667 0.000733333 0.00074 0.000726667 0.000726667 0.00072 0.000726667 0.000726667 +0.000706667 0.000753333 0.000746667 0.00076 0.000746667 0.00072 0.000726667 0.00074 +0.000713333 0.000733333 0.000753333 0.00076 0.00074 0.000713333 0.000726667 0.00076 +0.000746667 0.000726667 0.000726667 0.000746667 0.000773333 0.000773333 0.00074 0.000753333 +0.000753333 0.000753333 0.000766667 0.000746667 0.00072 0.000733333 0.00076 0.000766667 +0.000766667 0.00076 0.000733333 0.000713333 0.000746667 0.000733333 0.000733333 0.000753333 +0.000766667 0.00074 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000726667 0.000706667 0.00072 +0.000733333 0.000746667 0.000753333 0.000753333 0.000733333 0.00074 0.00074 0.00074 +0.00074 0.000733333 0.000726667 0.000733333 0.000753333 0.00074 0.000726667 0.000713333 +0.000713333 0.00072 0.000713333 0.000726667 0.000746667 0.000733333 0.000726667 0.00072 +0.000733333 0.000713333 0.0007 0.000706667 0.000706667 0.000726667 0.000713333 0.000713333 +0.000746667 0.000733333 0.00074 0.00074 0.000693333 0.000693333 0.000713333 0.00072 +0.00072 0.000713333 0.000706667 0.000706667 0.000706667 0.0007 0.000706667 0.0007 +0.000693333 0.000693333 0.000713333 0.000746667 0.00072 0.0007 0.000686667 0.000686667 +0.00068 0.00066 0.00066 0.000673333 0.000693333 0.000713333 0.00072 0.000686667 +0.000666667 0.00068 0.000706667 0.00072 0.000706667 0.000693333 0.000686667 0.000686667 +0.000686667 0.0007 0.000713333 0.000706667 0.000686667 0.0007 0.0007 0.0007 +0.0007 0.000713333 0.000693333 0.00068 0.000713333 0.000713333 0.000693333 0.000686667 +0.00072 0.00072 0.0007 0.000673333 0.000666667 0.000673333 0.000686667 0.0007 +0.000686667 0.000693333 0.0007 0.000686667 0.00068 0.000653333 0.000666667 0.000673333 +0.00068 0.000666667 0.00066 0.00066 0.000646667 0.00068 0.0007 0.000686667 +0.000673333 0.000653333 0.000666667 0.00066 0.00064 0.00064 0.000653333 0.000673333 +0.000686667 0.000686667 0.000666667 0.000673333 0.000686667 0.000666667 0.00064 0.000633333 +0.000646667 0.000653333 0.000666667 0.000653333 0.00066 0.000673333 0.000673333 0.000686667 +0.00068 0.000673333 0.000666667 0.00068 0.000686667 0.000646667 0.000653333 0.000686667 +0.000686667 0.000653333 0.00066 0.000693333 0.0007 0.000693333 0.000686667 0.000706667 +0.000693333 0.00066 0.000666667 0.000666667 0.00066 0.000673333 0.00068 0.000666667 +0.0007 0.0007 0.000673333 0.000706667 0.000686667 0.000653333 0.00066 0.000673333 +0.000673333 0.000666667 0.000673333 0.000713333 0.000686667 0.000653333 0.000686667 0.000706667 +0.00068 0.00068 0.0007 0.000706667 0.00068 0.0007 0.000686667 0.000646667 +0.0007 0.000713333 0.000666667 0.000633333 0.00066 0.000706667 0.000713333 0.00068 +0.000686667 0.000693333 0.000686667 0.000666667 0.00066 0.000666667 0.000666667 0.000666667 +0.000673333 0.00068 0.00066 0.00068 0.0007 0.000653333 0.00066 0.000666667 +0.000666667 0.000666667 0.000666667 0.000693333 0.000666667 0.000646667 0.000666667 0.000653333 +0.00068 0.00068 0.000673333 0.000666667 0.000666667 0.000666667 0.000673333 0.000666667 +0.000626667 0.000626667 0.000646667 0.000686667 0.000686667 0.000646667 0.000626667 0.000646667 +0.000666667 0.00066 0.000653333 0.000666667 0.000666667 0.00066 0.000686667 0.000666667 +0.000673333 0.000666667 0.000666667 0.000653333 0.000673333 0.000693333 0.000686667 0.000666667 +0.000646667 0.000673333 0.000673333 0.00066 0.00066 0.000653333 0.00068 0.000686667 +0.000686667 0.000666667 0.0007 0.00068 0.000666667 0.000693333 0.000686667 0.00068 +0.00072 0.00068 0.000626667 0.000673333 0.00068 0.000673333 0.00068 0.000693333 +0.00068 0.000673333 0.000713333 0.0007 0.000666667 0.000653333 0.000673333 0.000706667 +0.000713333 0.0007 0.000706667 0.000706667 0.000706667 0.000713333 0.000693333 0.00066 +0.00068 0.000693333 0.0007 0.0007 0.000693333 0.00068 0.000693333 0.0007 +0.00068 0.000673333 0.000706667 0.000713333 0.000673333 0.00068 0.000666667 0.000666667 +0.000673333 0.0007 0.0007 0.000666667 0.000673333 0.000673333 0.000653333 0.000706667 +0.000706667 0.0007 0.000686667 0.000666667 0.000693333 0.0007 0.000693333 0.000686667 +0.000666667 0.00068 0.000706667 0.000693333 0.00066 0.000666667 0.00066 0.00066 +0.000693333 0.000686667 0.00066 0.000686667 0.000673333 0.000673333 0.000666667 0.00066 +0.000693333 0.00072 0.0007 0.00068 0.000673333 0.00068 0.000653333 0.000653333 +0.000686667 0.0007 0.000686667 0.00068 0.000693333 0.000646667 0.000633333 0.0007 +0.00068 0.000673333 0.000673333 0.00066 0.000626667 0.00066 0.00066 0.000646667 +0.00068 0.000653333 0.00062 0.00062 0.00062 0.00064 0.000646667 0.000653333 +0.000693333 0.000693333 0.00068 0.000646667 0.000653333 0.000673333 0.000673333 0.00066 +0.000646667 0.000646667 0.000673333 0.000693333 0.000666667 0.000693333 0.000706667 0.000693333 +0.000713333 0.000706667 0.000686667 0.00068 0.000706667 0.000706667 0.0007 0.000686667 +0.000693333 0.00072 0.000706667 0.000713333 0.000726667 0.000713333 0.0007 0.0007 +0.00066 0.00068 0.0007 0.000706667 0.000713333 0.00072 0.000713333 0.00072 +0.000686667 0.000713333 0.000753333 0.000733333 0.00072 0.000706667 0.00072 0.00074 +0.000733333 0.000753333 0.00074 0.000706667 0.000686667 0.000686667 0.000713333 0.000766667 +0.000746667 0.00072 0.00072 0.000726667 0.000733333 0.000746667 0.000733333 0.00072 +0.000713333 0.000733333 0.000733333 0.000746667 0.000726667 0.000713333 0.000726667 0.000733333 +0.00074 0.00078 0.000746667 0.000713333 0.000693333 0.000746667 0.000766667 0.000753333 +0.00072 0.00072 0.000733333 0.000766667 0.000766667 0.000753333 0.000746667 0.000753333 +0.00076 0.000773333 0.000773333 0.000726667 0.000726667 0.000753333 0.000753333 0.000766667 +0.00076 0.00072 0.00072 0.000746667 0.00076 0.000726667 0.000726667 0.000766667 +0.000746667 0.000753333 0.000773333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000786667 0.00074 0.000726667 0.000726667 +0.000726667 0.00072 0.000746667 0.000746667 0.000733333 0.000726667 0.000726667 0.000726667 +0.000733333 0.00076 0.000753333 0.000726667 0.000733333 0.00074 0.000733333 0.000733333 +0.000726667 0.000713333 0.000713333 0.000713333 0.000726667 0.000733333 0.00074 0.000726667 +0.00072 0.00072 0.000713333 0.00072 0.0007 0.0007 0.00072 0.000713333 +0.000733333 0.000733333 0.000733333 0.000753333 0.00072 0.0007 0.000706667 0.000713333 +0.000713333 0.000726667 0.000726667 0.000713333 0.000713333 0.0007 0.000706667 0.0007 +0.000686667 0.00068 0.000673333 0.000706667 0.000713333 0.000713333 0.000726667 0.00072 +0.000686667 0.00068 0.00066 0.00066 0.00068 0.000693333 0.0007 0.000686667 +0.000693333 0.0007 0.000693333 0.000693333 0.000686667 0.0007 0.0007 0.000693333 +0.0007 0.000693333 0.000686667 0.000706667 0.000706667 0.0007 0.00068 0.000693333 +0.000693333 0.000726667 0.000706667 0.00068 0.000693333 0.00072 0.000733333 0.0007 +0.0007 0.0007 0.000706667 0.000693333 0.000673333 0.000666667 0.00066 0.000686667 +0.00068 0.000693333 0.000686667 0.000673333 0.000693333 0.000673333 0.00068 0.00066 +0.00066 0.000653333 0.000633333 0.000666667 0.00068 0.00068 0.000666667 0.000693333 +0.000686667 0.000686667 0.000673333 0.00066 0.000666667 0.00064 0.000646667 0.000673333 +0.00066 0.000646667 0.00066 0.00066 0.000673333 0.000666667 0.00066 0.000646667 +0.000633333 0.000653333 0.000666667 0.000686667 0.000686667 0.000666667 0.000673333 0.000693333 +0.000686667 0.00068 0.000673333 0.0007 0.00068 0.00064 0.00066 0.000686667 +0.0007 0.000666667 0.00066 0.000693333 0.000713333 0.000693333 0.000666667 0.000706667 +0.00072 0.000686667 0.000666667 0.000673333 0.000673333 0.000673333 0.000673333 0.000646667 +0.00068 0.0007 0.000686667 0.000706667 0.000673333 0.00066 0.000666667 0.000673333 +0.000673333 0.000673333 0.000646667 0.000666667 0.000706667 0.00068 0.00068 0.000713333 +0.000686667 0.00068 0.000693333 0.000706667 0.0007 0.0007 0.000686667 0.000653333 +0.000673333 0.000726667 0.000706667 0.000646667 0.000653333 0.000693333 0.0007 0.00068 +0.00068 0.00072 0.0007 0.000666667 0.000666667 0.000686667 0.00068 0.000653333 +0.000633333 0.00066 0.000666667 0.000666667 0.000686667 0.000673333 0.000646667 0.000653333 +0.00068 0.000686667 0.000673333 0.000673333 0.00066 0.00066 0.000653333 0.000653333 +0.00068 0.00068 0.00066 0.00066 0.00066 0.00066 0.00066 0.00068 +0.000633333 0.000626667 0.000653333 0.00068 0.000693333 0.000686667 0.00064 0.000633333 +0.000653333 0.00066 0.00064 0.000646667 0.000666667 0.000666667 0.000673333 0.00066 +0.000666667 0.000653333 0.000673333 0.00068 0.000666667 0.000686667 0.000686667 0.000666667 +0.00066 0.000666667 0.000673333 0.000653333 0.000653333 0.000666667 0.000673333 0.000666667 +0.0007 0.000673333 0.000693333 0.000686667 0.000673333 0.00068 0.00068 0.000673333 +0.0007 0.000693333 0.000646667 0.000653333 0.000673333 0.000686667 0.000673333 0.000686667 +0.000686667 0.000673333 0.000706667 0.000706667 0.00068 0.000653333 0.000666667 0.000693333 +0.000713333 0.0007 0.00072 0.000693333 0.000693333 0.000726667 0.000706667 0.000673333 +0.000666667 0.000686667 0.000706667 0.0007 0.000693333 0.000673333 0.00068 0.000686667 +0.000673333 0.000693333 0.0007 0.0007 0.000686667 0.000686667 0.000646667 0.000646667 +0.000693333 0.000706667 0.000706667 0.00068 0.00066 0.000633333 0.00066 0.000713333 +0.0007 0.00068 0.00068 0.000666667 0.000693333 0.00068 0.000693333 0.00068 +0.000666667 0.000686667 0.0007 0.000686667 0.000673333 0.000693333 0.000666667 0.000653333 +0.000686667 0.000673333 0.000653333 0.000693333 0.00068 0.000673333 0.00068 0.000653333 +0.000666667 0.000713333 0.000706667 0.000686667 0.000673333 0.000673333 0.000653333 0.000666667 +0.000666667 0.000693333 0.000693333 0.000673333 0.00068 0.00064 0.00064 0.0007 +0.000673333 0.00068 0.00066 0.00064 0.00064 0.000673333 0.00066 0.000653333 +0.000673333 0.000653333 0.00064 0.000626667 0.00062 0.000633333 0.00064 0.000666667 +0.0007 0.000686667 0.00068 0.000666667 0.00064 0.00064 0.00066 0.000653333 +0.00064 0.00064 0.0007 0.000686667 0.000673333 0.00072 0.000706667 0.00068 +0.0007 0.000706667 0.000693333 0.000693333 0.000693333 0.00072 0.000706667 0.00068 +0.000673333 0.000706667 0.00072 0.00074 0.000713333 0.000686667 0.000693333 0.000693333 +0.00068 0.0007 0.000706667 0.00072 0.000726667 0.000706667 0.000693333 0.000713333 +0.00072 0.000746667 0.000726667 0.000713333 0.00072 0.00072 0.000726667 0.000733333 +0.000746667 0.00076 0.000733333 0.00072 0.000693333 0.000693333 0.000726667 0.000753333 +0.000726667 0.000726667 0.00072 0.00074 0.000726667 0.00074 0.00072 0.000726667 +0.00074 0.000726667 0.000746667 0.00072 0.0007 0.000726667 0.000746667 0.00076 +0.00076 0.000726667 0.0007 0.000706667 0.000713333 0.000793333 0.000746667 0.00074 +0.000713333 0.000706667 0.00076 0.000773333 0.00074 0.00076 0.00076 0.00076 +0.000773333 0.00076 0.000753333 0.000733333 0.000746667 0.00072 0.00072 0.000766667 +0.000753333 0.000706667 0.00074 0.00076 0.000746667 0.000753333 0.00076 0.000786667 +0.000773333 0.00076 0.00072 0.000733333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00078 0.000786667 0.000773333 0.000746667 0.000766667 +0.000766667 0.000726667 0.00072 0.000726667 0.000733333 0.00074 0.00074 0.000733333 +0.00072 0.00072 0.000746667 0.000753333 0.000746667 0.000726667 0.000713333 0.000726667 +0.00074 0.00074 0.00074 0.00072 0.000693333 0.000706667 0.000726667 0.000733333 +0.000733333 0.000713333 0.00072 0.000726667 0.000713333 0.000693333 0.000706667 0.00072 +0.000706667 0.000706667 0.000726667 0.00074 0.000746667 0.00074 0.00072 0.000706667 +0.000706667 0.000706667 0.000713333 0.000726667 0.00072 0.000706667 0.000713333 0.000706667 +0.0007 0.000706667 0.000666667 0.000673333 0.000693333 0.000706667 0.000713333 0.00074 +0.000713333 0.000693333 0.000686667 0.00068 0.000686667 0.000686667 0.000693333 0.000686667 +0.00068 0.000693333 0.000693333 0.000693333 0.000686667 0.000686667 0.000693333 0.0007 +0.000713333 0.0007 0.000673333 0.00068 0.0007 0.000706667 0.000673333 0.00068 +0.000686667 0.000706667 0.000713333 0.000706667 0.0007 0.000693333 0.000713333 0.00072 +0.000713333 0.000686667 0.00068 0.0007 0.000693333 0.000686667 0.00066 0.000673333 +0.00068 0.000686667 0.00068 0.000673333 0.000693333 0.000673333 0.00068 0.00068 +0.00068 0.000666667 0.000646667 0.00062 0.000666667 0.000693333 0.00066 0.000686667 +0.000693333 0.0007 0.00068 0.000653333 0.00066 0.000653333 0.000646667 0.000653333 +0.000666667 0.000653333 0.000653333 0.000646667 0.000653333 0.000653333 0.000653333 0.000673333 +0.000653333 0.000653333 0.00066 0.00068 0.000686667 0.000673333 0.000673333 0.000673333 +0.000686667 0.0007 0.000686667 0.000693333 0.000673333 0.000653333 0.000666667 0.00068 +0.00068 0.000673333 0.00068 0.000686667 0.000693333 0.000686667 0.000653333 0.00066 +0.0007 0.000693333 0.000666667 0.000693333 0.000706667 0.00068 0.000666667 0.000653333 +0.00064 0.000673333 0.0007 0.000706667 0.00068 0.00064 0.000653333 0.000686667 +0.000686667 0.0007 0.000666667 0.000646667 0.000686667 0.000686667 0.000686667 0.000713333 +0.0007 0.000686667 0.00068 0.0007 0.00072 0.0007 0.000693333 0.000686667 +0.00066 0.0007 0.000713333 0.000693333 0.000646667 0.000653333 0.00068 0.00068 +0.000673333 0.000706667 0.000693333 0.00066 0.00066 0.000686667 0.000693333 0.000673333 +0.00064 0.000646667 0.00066 0.000653333 0.00068 0.000693333 0.00066 0.00064 +0.000673333 0.000693333 0.000666667 0.00066 0.00066 0.000653333 0.000646667 0.000646667 +0.000653333 0.000693333 0.00068 0.00066 0.00066 0.000666667 0.000646667 0.000653333 +0.00064 0.000646667 0.000673333 0.0007 0.00068 0.00066 0.000646667 0.00064 +0.000646667 0.00066 0.00066 0.00062 0.000646667 0.00068 0.000673333 0.000653333 +0.000653333 0.00066 0.000666667 0.000686667 0.00066 0.00068 0.000673333 0.000673333 +0.000673333 0.00066 0.000666667 0.000673333 0.00066 0.000646667 0.000646667 0.000666667 +0.00072 0.00068 0.00068 0.0007 0.000673333 0.000673333 0.000673333 0.000653333 +0.000693333 0.0007 0.000673333 0.000673333 0.000686667 0.000706667 0.000673333 0.000666667 +0.00068 0.00068 0.0007 0.000706667 0.000686667 0.00068 0.000686667 0.000686667 +0.0007 0.000686667 0.0007 0.00068 0.000686667 0.00072 0.000693333 0.00068 +0.00068 0.00068 0.000693333 0.00068 0.000706667 0.00068 0.000693333 0.00068 +0.00066 0.000706667 0.0007 0.0007 0.000693333 0.000686667 0.00066 0.000653333 +0.000686667 0.000693333 0.0007 0.000686667 0.000666667 0.00064 0.000673333 0.0007 +0.00068 0.000673333 0.00068 0.000666667 0.0007 0.00068 0.00068 0.000673333 +0.000666667 0.0007 0.000693333 0.000673333 0.00068 0.000706667 0.000686667 0.000646667 +0.000653333 0.000653333 0.000666667 0.000693333 0.000673333 0.000693333 0.000686667 0.000653333 +0.00068 0.00072 0.000706667 0.000673333 0.000673333 0.000673333 0.000653333 0.000673333 +0.000673333 0.00068 0.000686667 0.00068 0.000653333 0.000653333 0.000673333 0.00068 +0.00068 0.000673333 0.00066 0.000633333 0.00066 0.00068 0.00066 0.00066 +0.00066 0.000673333 0.000653333 0.00064 0.00064 0.000626667 0.00062 0.000686667 +0.00068 0.00068 0.000666667 0.000666667 0.000653333 0.000626667 0.000666667 0.000666667 +0.000646667 0.000653333 0.000693333 0.000686667 0.0007 0.000713333 0.000686667 0.00068 +0.0007 0.000713333 0.000706667 0.000693333 0.0007 0.000713333 0.000686667 0.000686667 +0.0007 0.000713333 0.000733333 0.000733333 0.000686667 0.000673333 0.000693333 0.000686667 +0.0007 0.000713333 0.000746667 0.000733333 0.000713333 0.000686667 0.000686667 0.000713333 +0.000746667 0.000733333 0.000686667 0.000713333 0.000726667 0.000726667 0.000713333 0.00072 +0.00076 0.00074 0.000726667 0.000733333 0.00072 0.000726667 0.00074 0.00072 +0.00074 0.000733333 0.000733333 0.00072 0.00072 0.000753333 0.000746667 0.000733333 +0.000746667 0.000726667 0.00074 0.000713333 0.000713333 0.000746667 0.00074 0.000726667 +0.00072 0.000706667 0.000733333 0.000726667 0.000753333 0.000773333 0.000713333 0.000746667 +0.00074 0.000726667 0.000746667 0.000733333 0.000726667 0.00076 0.00076 0.00076 +0.00074 0.000726667 0.00076 0.000773333 0.000746667 0.000706667 0.000733333 0.00076 +0.00074 0.00074 0.000766667 0.000733333 0.000746667 0.000786667 0.000753333 0.000766667 +0.00076 0.000746667 0.00072 0.000753333 0.00078 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000773333 0.00074 0.000746667 0.000753333 0.000753333 0.000766667 +0.000773333 0.000746667 0.00074 0.000733333 0.000713333 0.000733333 0.00076 0.000746667 +0.000733333 0.000713333 0.0007 0.000726667 0.000746667 0.000733333 0.000713333 0.000706667 +0.00072 0.00074 0.000733333 0.000733333 0.00072 0.0007 0.000706667 0.000713333 +0.000733333 0.00072 0.000706667 0.000713333 0.000713333 0.000706667 0.000706667 0.000713333 +0.000706667 0.000686667 0.000706667 0.000713333 0.000726667 0.000753333 0.000746667 0.00072 +0.000706667 0.0007 0.000693333 0.00072 0.000733333 0.000706667 0.000693333 0.000706667 +0.000713333 0.000713333 0.000693333 0.000673333 0.000693333 0.000693333 0.00068 0.000713333 +0.000733333 0.0007 0.000673333 0.000693333 0.000713333 0.000713333 0.000686667 0.000686667 +0.000693333 0.00068 0.00068 0.0007 0.000693333 0.000693333 0.0007 0.000706667 +0.000713333 0.000706667 0.000686667 0.00068 0.00068 0.000686667 0.000693333 0.000686667 +0.000686667 0.000686667 0.000706667 0.000733333 0.000713333 0.00068 0.000673333 0.0007 +0.000706667 0.000693333 0.0007 0.000686667 0.000693333 0.00068 0.000673333 0.000693333 +0.000693333 0.00068 0.000686667 0.000686667 0.00068 0.000673333 0.00066 0.00068 +0.000673333 0.000666667 0.000673333 0.00064 0.00064 0.00066 0.000673333 0.000686667 +0.000686667 0.000686667 0.00068 0.000686667 0.00066 0.000653333 0.00066 0.000653333 +0.00066 0.00066 0.00066 0.000646667 0.000646667 0.00064 0.00064 0.000673333 +0.00068 0.000673333 0.00066 0.000666667 0.000653333 0.000666667 0.00068 0.000653333 +0.000673333 0.000686667 0.000706667 0.000693333 0.00068 0.000686667 0.000673333 0.000673333 +0.000666667 0.000673333 0.00068 0.000686667 0.00068 0.000686667 0.00068 0.000666667 +0.00068 0.000666667 0.00066 0.000693333 0.0007 0.000686667 0.00068 0.00068 +0.000653333 0.000666667 0.000693333 0.0007 0.000693333 0.000673333 0.000666667 0.00066 +0.000673333 0.000693333 0.00068 0.00066 0.000686667 0.0007 0.000686667 0.0007 +0.00072 0.000693333 0.00068 0.000693333 0.000693333 0.00068 0.000693333 0.000706667 +0.000673333 0.000673333 0.000686667 0.0007 0.000673333 0.000646667 0.000666667 0.000693333 +0.000686667 0.00068 0.000673333 0.000673333 0.000653333 0.00068 0.0007 0.000686667 +0.00068 0.000666667 0.00066 0.000653333 0.000666667 0.000673333 0.000666667 0.00066 +0.00066 0.000686667 0.000666667 0.000666667 0.000673333 0.000646667 0.000633333 0.000646667 +0.00064 0.000666667 0.000673333 0.000686667 0.000686667 0.000666667 0.00066 0.000653333 +0.000633333 0.000633333 0.00064 0.000693333 0.000673333 0.000646667 0.000666667 0.000653333 +0.00064 0.00066 0.000653333 0.000626667 0.000633333 0.00066 0.00068 0.00066 +0.000653333 0.000666667 0.00068 0.00066 0.000646667 0.000653333 0.000666667 0.000666667 +0.000653333 0.00066 0.00066 0.00068 0.000686667 0.000646667 0.000633333 0.000653333 +0.000726667 0.000686667 0.000666667 0.000686667 0.000666667 0.00068 0.000686667 0.00066 +0.000686667 0.00068 0.00068 0.00068 0.00068 0.000693333 0.00068 0.000673333 +0.000666667 0.00068 0.000693333 0.0007 0.000686667 0.0007 0.000706667 0.000686667 +0.000693333 0.000693333 0.00068 0.0007 0.000693333 0.0007 0.000673333 0.000686667 +0.000693333 0.00068 0.000673333 0.000673333 0.0007 0.0007 0.000726667 0.000693333 +0.000673333 0.0007 0.0007 0.0007 0.00068 0.00068 0.000666667 0.00068 +0.00068 0.000686667 0.000693333 0.000673333 0.000666667 0.00066 0.000686667 0.0007 +0.00068 0.000673333 0.00068 0.00066 0.0007 0.000686667 0.00066 0.000666667 +0.000686667 0.000713333 0.000693333 0.00066 0.000673333 0.000686667 0.00068 0.00066 +0.000646667 0.00064 0.000666667 0.000693333 0.00068 0.000706667 0.000673333 0.000653333 +0.000713333 0.000713333 0.000706667 0.000686667 0.00068 0.000653333 0.000626667 0.000673333 +0.000686667 0.000673333 0.00068 0.000686667 0.000653333 0.00066 0.000673333 0.00066 +0.000686667 0.000666667 0.00064 0.000626667 0.000673333 0.000673333 0.000646667 0.000666667 +0.000673333 0.000666667 0.000646667 0.000653333 0.000666667 0.000613333 0.000626667 0.000686667 +0.000673333 0.000673333 0.000633333 0.00066 0.00066 0.000626667 0.000666667 0.000673333 +0.000653333 0.000673333 0.00068 0.00068 0.000686667 0.000686667 0.000673333 0.00068 +0.000713333 0.000713333 0.000693333 0.000706667 0.00072 0.000693333 0.000673333 0.000693333 +0.000726667 0.000733333 0.000726667 0.000693333 0.000673333 0.000686667 0.000706667 0.0007 +0.000713333 0.000726667 0.000746667 0.000693333 0.0007 0.0007 0.000713333 0.00074 +0.00072 0.000693333 0.0007 0.00072 0.000733333 0.00072 0.00072 0.00074 +0.00074 0.000726667 0.00074 0.000733333 0.00074 0.00072 0.00072 0.000726667 +0.000746667 0.00072 0.000726667 0.000726667 0.000733333 0.000746667 0.00076 0.000726667 +0.000706667 0.000706667 0.00074 0.00072 0.000733333 0.000746667 0.000713333 0.000713333 +0.00074 0.000746667 0.000753333 0.000726667 0.000753333 0.00074 0.000746667 0.000753333 +0.00076 0.00074 0.000726667 0.000726667 0.00076 0.000753333 0.000746667 0.000733333 +0.000733333 0.000766667 0.000786667 0.00078 0.00074 0.000726667 0.000733333 0.00074 +0.000753333 0.000766667 0.000753333 0.00074 0.00076 0.000773333 0.000733333 0.000766667 +0.00074 0.00074 0.000753333 0.000793333 0.000766667 0.000773333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00078 0.000773333 0.00076 0.00074 0.000733333 0.00076 0.00078 +0.000773333 0.00076 0.000753333 0.000753333 0.000726667 0.00072 0.000746667 0.000746667 +0.00074 0.000746667 0.00072 0.000706667 0.000713333 0.00072 0.000726667 0.000713333 +0.000693333 0.000713333 0.000706667 0.00074 0.000753333 0.000733333 0.00072 0.000713333 +0.00072 0.000713333 0.000713333 0.000713333 0.000713333 0.000706667 0.000713333 0.000713333 +0.00072 0.000706667 0.0007 0.0007 0.000706667 0.000713333 0.000733333 0.000733333 +0.000726667 0.000726667 0.000706667 0.000693333 0.00072 0.000726667 0.000706667 0.000693333 +0.000693333 0.0007 0.000713333 0.00072 0.000713333 0.000706667 0.000686667 0.000686667 +0.000706667 0.000713333 0.000693333 0.000686667 0.000693333 0.000713333 0.000693333 0.000666667 +0.000706667 0.0007 0.000673333 0.000673333 0.000686667 0.000686667 0.000713333 0.00072 +0.0007 0.000706667 0.000693333 0.000693333 0.000693333 0.000673333 0.000686667 0.00068 +0.000673333 0.000686667 0.0007 0.000726667 0.00072 0.000693333 0.000666667 0.000693333 +0.0007 0.000686667 0.000706667 0.000713333 0.000686667 0.000666667 0.000673333 0.000693333 +0.000693333 0.000686667 0.000693333 0.000686667 0.00068 0.00068 0.000666667 0.000666667 +0.000666667 0.000666667 0.000666667 0.00068 0.000673333 0.00064 0.00066 0.000653333 +0.000686667 0.000706667 0.000673333 0.00068 0.000673333 0.000653333 0.000673333 0.000673333 +0.00064 0.000633333 0.00064 0.000653333 0.00064 0.000633333 0.00066 0.000666667 +0.00068 0.000673333 0.000686667 0.00068 0.00064 0.000653333 0.000673333 0.00066 +0.00066 0.00066 0.000686667 0.000686667 0.00068 0.0007 0.000686667 0.000666667 +0.00066 0.000673333 0.00068 0.00068 0.00068 0.00068 0.000706667 0.000706667 +0.000693333 0.000673333 0.000646667 0.000653333 0.000673333 0.0007 0.000686667 0.00068 +0.000666667 0.000666667 0.000666667 0.000686667 0.0007 0.000693333 0.000686667 0.000646667 +0.000653333 0.000686667 0.00068 0.000653333 0.000666667 0.000706667 0.00068 0.000693333 +0.00072 0.0007 0.000673333 0.000686667 0.000673333 0.000673333 0.000706667 0.000713333 +0.0007 0.000673333 0.00068 0.00068 0.000673333 0.000673333 0.000666667 0.00068 +0.000693333 0.000686667 0.00068 0.000686667 0.00066 0.00066 0.00068 0.000693333 +0.000693333 0.000673333 0.000673333 0.00068 0.000666667 0.00066 0.000666667 0.000646667 +0.00066 0.000686667 0.00068 0.000693333 0.00068 0.00064 0.000633333 0.00066 +0.00066 0.000646667 0.000646667 0.000693333 0.000693333 0.000666667 0.000666667 0.000686667 +0.00066 0.000633333 0.000613333 0.00066 0.00068 0.000666667 0.00066 0.00066 +0.00066 0.00066 0.000653333 0.00064 0.00064 0.000666667 0.000686667 0.00066 +0.00064 0.00066 0.000686667 0.000666667 0.000653333 0.000633333 0.000666667 0.000673333 +0.00064 0.000666667 0.00066 0.00066 0.00068 0.000653333 0.000646667 0.00064 +0.0007 0.000686667 0.00066 0.00066 0.00068 0.000686667 0.00068 0.00068 +0.0007 0.00068 0.000673333 0.00066 0.000666667 0.00068 0.000673333 0.000673333 +0.00066 0.000666667 0.000686667 0.0007 0.0007 0.000706667 0.000686667 0.00068 +0.000693333 0.000686667 0.000686667 0.0007 0.000686667 0.000693333 0.00068 0.000693333 +0.000693333 0.000686667 0.000673333 0.00068 0.00068 0.00068 0.000726667 0.0007 +0.00068 0.000693333 0.000706667 0.000693333 0.00066 0.000686667 0.000673333 0.000693333 +0.000706667 0.000706667 0.000686667 0.000673333 0.000686667 0.00066 0.000693333 0.0007 +0.000673333 0.000673333 0.000673333 0.00068 0.0007 0.000693333 0.000666667 0.000646667 +0.000713333 0.000733333 0.000686667 0.000646667 0.000666667 0.000673333 0.000666667 0.000666667 +0.000666667 0.00064 0.00066 0.000686667 0.000693333 0.000686667 0.000653333 0.000673333 +0.000706667 0.000686667 0.0007 0.0007 0.000693333 0.000633333 0.00064 0.000673333 +0.000686667 0.000673333 0.000673333 0.000686667 0.000666667 0.000666667 0.000666667 0.000666667 +0.000673333 0.000646667 0.00064 0.00066 0.000693333 0.000666667 0.000653333 0.00066 +0.000673333 0.00064 0.000633333 0.000653333 0.000653333 0.000626667 0.00064 0.000673333 +0.000686667 0.000653333 0.000626667 0.000646667 0.000646667 0.00064 0.000666667 0.00066 +0.00066 0.000686667 0.000673333 0.00068 0.00068 0.000686667 0.000693333 0.000693333 +0.000713333 0.000693333 0.00068 0.000706667 0.000713333 0.00068 0.000686667 0.000706667 +0.00074 0.000733333 0.0007 0.000686667 0.0007 0.000693333 0.0007 0.000713333 +0.000706667 0.000713333 0.000706667 0.000686667 0.0007 0.000713333 0.000726667 0.00074 +0.00072 0.000706667 0.00068 0.0007 0.000733333 0.000733333 0.000753333 0.000746667 +0.000733333 0.00072 0.000733333 0.000726667 0.000726667 0.0007 0.00072 0.00074 +0.000753333 0.00072 0.000733333 0.00072 0.00072 0.00072 0.00074 0.000693333 +0.0007 0.000713333 0.000733333 0.000733333 0.000726667 0.00072 0.00072 0.000733333 +0.000753333 0.000746667 0.000746667 0.00074 0.000733333 0.00074 0.000773333 0.000753333 +0.00074 0.000726667 0.00072 0.00076 0.00078 0.000733333 0.00074 0.000766667 +0.000786667 0.000773333 0.00074 0.000753333 0.00074 0.00076 0.000753333 0.000746667 +0.000746667 0.000726667 0.00074 0.000773333 0.000773333 0.00074 0.000746667 0.00076 +0.000726667 0.000733333 0.000766667 0.000753333 0.000733333 0.00078 0.000773333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000766667 0.00074 0.000733333 0.000753333 0.000766667 0.000753333 0.00072 0.000726667 +0.000733333 0.000746667 0.000733333 0.000753333 0.00076 0.00074 0.000733333 0.00072 +0.000726667 0.00076 0.00076 0.000733333 0.000713333 0.0007 0.000713333 0.000733333 +0.00072 0.000706667 0.0007 0.000726667 0.000733333 0.00074 0.000733333 0.000726667 +0.00072 0.00072 0.000713333 0.00072 0.000733333 0.000713333 0.000706667 0.000706667 +0.0007 0.00072 0.000733333 0.000713333 0.000713333 0.000693333 0.0007 0.000693333 +0.000713333 0.00074 0.000746667 0.00072 0.0007 0.000706667 0.000733333 0.000706667 +0.000693333 0.000693333 0.000706667 0.000726667 0.00072 0.0007 0.000693333 0.0007 +0.0007 0.0007 0.0007 0.00072 0.000706667 0.000686667 0.000686667 0.00066 +0.000693333 0.000713333 0.000693333 0.000686667 0.00068 0.000666667 0.000673333 0.000693333 +0.000693333 0.000713333 0.000706667 0.0007 0.00072 0.000706667 0.000686667 0.000673333 +0.000666667 0.00068 0.00068 0.000706667 0.000713333 0.000706667 0.0007 0.00068 +0.000686667 0.000693333 0.000666667 0.0007 0.000713333 0.00068 0.000673333 0.000673333 +0.000673333 0.00068 0.00068 0.0007 0.000693333 0.000673333 0.000673333 0.000673333 +0.00066 0.00066 0.000666667 0.00068 0.000693333 0.00066 0.000666667 0.000646667 +0.000653333 0.000713333 0.000686667 0.000653333 0.000666667 0.000666667 0.000673333 0.000666667 +0.00066 0.000646667 0.000633333 0.000653333 0.000646667 0.000633333 0.00064 0.00066 +0.00068 0.000666667 0.0007 0.000693333 0.000666667 0.00066 0.000653333 0.00068 +0.00068 0.000666667 0.000666667 0.00068 0.000686667 0.0007 0.000706667 0.000686667 +0.000673333 0.00066 0.000666667 0.000653333 0.000666667 0.000673333 0.0007 0.000713333 +0.0007 0.0007 0.000673333 0.000646667 0.000646667 0.00068 0.000693333 0.000673333 +0.000673333 0.00066 0.000646667 0.000666667 0.000693333 0.0007 0.00068 0.000653333 +0.000666667 0.00068 0.000686667 0.000673333 0.000646667 0.00068 0.000673333 0.00068 +0.000686667 0.0007 0.0007 0.000666667 0.000666667 0.000666667 0.000693333 0.00072 +0.000693333 0.000666667 0.000686667 0.000693333 0.00066 0.000653333 0.000666667 0.00066 +0.000666667 0.000693333 0.0007 0.00068 0.000646667 0.00064 0.00066 0.000666667 +0.000706667 0.000693333 0.00068 0.00068 0.00066 0.000666667 0.000673333 0.00064 +0.000653333 0.000673333 0.000686667 0.000693333 0.00068 0.00066 0.000633333 0.00064 +0.00066 0.00066 0.000633333 0.000666667 0.000686667 0.00068 0.000666667 0.00068 +0.00066 0.00064 0.00062 0.000626667 0.000646667 0.000666667 0.00068 0.000673333 +0.000653333 0.00066 0.000666667 0.00064 0.000633333 0.00068 0.000693333 0.000666667 +0.000646667 0.00064 0.00068 0.000673333 0.000653333 0.000646667 0.00068 0.000693333 +0.000653333 0.000673333 0.000686667 0.000686667 0.00068 0.000646667 0.000653333 0.000653333 +0.0007 0.000686667 0.00066 0.000666667 0.000686667 0.00068 0.00068 0.000693333 +0.000713333 0.00068 0.000666667 0.00066 0.00066 0.00068 0.000686667 0.00068 +0.000666667 0.00066 0.000666667 0.000693333 0.000713333 0.000706667 0.000693333 0.000693333 +0.000693333 0.000693333 0.0007 0.0007 0.00068 0.000713333 0.0007 0.000686667 +0.00068 0.000666667 0.000686667 0.000693333 0.00068 0.000666667 0.000686667 0.000666667 +0.000673333 0.000693333 0.000706667 0.00068 0.000673333 0.000693333 0.000686667 0.000686667 +0.000706667 0.000686667 0.00068 0.000686667 0.000666667 0.00066 0.00072 0.000693333 +0.00066 0.000686667 0.000666667 0.00066 0.00072 0.00072 0.000673333 0.00066 +0.00074 0.00072 0.00066 0.00066 0.000673333 0.000686667 0.00068 0.000686667 +0.000673333 0.000646667 0.00068 0.000686667 0.000686667 0.00068 0.00066 0.000693333 +0.000693333 0.000673333 0.000693333 0.000686667 0.000673333 0.000646667 0.000673333 0.000686667 +0.00068 0.000673333 0.00068 0.000673333 0.000666667 0.00066 0.000666667 0.000686667 +0.000666667 0.000653333 0.00066 0.000673333 0.000666667 0.000673333 0.000673333 0.000653333 +0.000666667 0.000646667 0.000653333 0.000653333 0.000633333 0.000646667 0.000646667 0.00066 +0.000673333 0.00064 0.000633333 0.00064 0.000666667 0.000666667 0.00064 0.000646667 +0.00068 0.0007 0.000646667 0.00068 0.0007 0.0007 0.000713333 0.0007 +0.000686667 0.000686667 0.0007 0.000693333 0.000693333 0.000686667 0.0007 0.000726667 +0.000733333 0.000706667 0.000693333 0.000713333 0.000686667 0.00068 0.000713333 0.000733333 +0.000693333 0.00068 0.000693333 0.000706667 0.000706667 0.000726667 0.000713333 0.000733333 +0.000746667 0.000706667 0.00066 0.000693333 0.00074 0.000746667 0.000746667 0.000726667 +0.000746667 0.000746667 0.000713333 0.00072 0.000713333 0.000686667 0.00074 0.000753333 +0.000726667 0.000733333 0.000733333 0.0007 0.000713333 0.000726667 0.000713333 0.000706667 +0.00072 0.00072 0.000733333 0.000753333 0.00072 0.000726667 0.000726667 0.000706667 +0.00074 0.000733333 0.000746667 0.000746667 0.00074 0.00076 0.00076 0.000733333 +0.000746667 0.00074 0.00074 0.000753333 0.000726667 0.000753333 0.00078 0.000786667 +0.00078 0.000746667 0.00072 0.00074 0.00076 0.00076 0.000733333 0.000726667 +0.000726667 0.000733333 0.000766667 0.00078 0.000753333 0.000733333 0.000746667 0.00074 +0.000753333 0.00076 0.00074 0.000726667 0.000746667 0.000773333 0.000753333 0.00074 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000773333 0.00072 0.00072 0.000733333 0.00076 0.000766667 0.000753333 0.00074 +0.000713333 0.00074 0.000733333 0.00072 0.000753333 0.000753333 0.000726667 0.0007 +0.00072 0.000733333 0.000753333 0.000753333 0.00074 0.000733333 0.0007 0.0007 +0.000733333 0.00074 0.000713333 0.000713333 0.0007 0.000713333 0.000733333 0.000733333 +0.000726667 0.000733333 0.00072 0.00072 0.00074 0.000726667 0.000713333 0.000713333 +0.000706667 0.000686667 0.000706667 0.00072 0.000706667 0.0007 0.000713333 0.0007 +0.000706667 0.000713333 0.000706667 0.000713333 0.000733333 0.00072 0.000713333 0.000706667 +0.000693333 0.000706667 0.0007 0.000706667 0.000706667 0.000693333 0.000706667 0.000706667 +0.000713333 0.000686667 0.00068 0.000693333 0.00072 0.000713333 0.000693333 0.00068 +0.000673333 0.000706667 0.000713333 0.000713333 0.000706667 0.00068 0.000666667 0.000666667 +0.000666667 0.000686667 0.000693333 0.000713333 0.000713333 0.000713333 0.000713333 0.000693333 +0.00068 0.000673333 0.000686667 0.000693333 0.000686667 0.00068 0.00072 0.000706667 +0.00068 0.000693333 0.000673333 0.000666667 0.000686667 0.000686667 0.000673333 0.000673333 +0.000673333 0.000673333 0.000673333 0.000693333 0.0007 0.000673333 0.000666667 0.000666667 +0.00066 0.000646667 0.000653333 0.00068 0.00068 0.000673333 0.000666667 0.000653333 +0.000646667 0.000666667 0.0007 0.00068 0.000653333 0.000653333 0.00068 0.00066 +0.00066 0.00066 0.000653333 0.000633333 0.000633333 0.00064 0.00064 0.000633333 +0.000653333 0.000673333 0.000693333 0.000693333 0.000693333 0.000686667 0.000653333 0.000686667 +0.00068 0.000666667 0.000646667 0.000666667 0.000693333 0.0007 0.000713333 0.00068 +0.000693333 0.000693333 0.000666667 0.00066 0.000653333 0.000666667 0.00068 0.0007 +0.000706667 0.00072 0.0007 0.000673333 0.000646667 0.000653333 0.000686667 0.000686667 +0.000686667 0.000673333 0.00066 0.00066 0.000686667 0.000693333 0.00066 0.000653333 +0.000666667 0.000686667 0.000693333 0.000686667 0.000653333 0.00066 0.000686667 0.000693333 +0.000666667 0.00068 0.0007 0.00066 0.00064 0.000653333 0.000673333 0.000726667 +0.000713333 0.00068 0.000673333 0.0007 0.000673333 0.00066 0.000673333 0.00066 +0.000653333 0.0007 0.00072 0.00068 0.00064 0.00062 0.000646667 0.00064 +0.000673333 0.0007 0.000693333 0.000673333 0.000673333 0.000666667 0.000673333 0.000653333 +0.00064 0.000666667 0.00068 0.000666667 0.000673333 0.000666667 0.00064 0.000646667 +0.00066 0.00066 0.000626667 0.000646667 0.00068 0.000686667 0.00068 0.000666667 +0.000646667 0.00066 0.000633333 0.00066 0.000653333 0.000626667 0.00068 0.00068 +0.000653333 0.000666667 0.000646667 0.000626667 0.000646667 0.00066 0.000673333 0.000686667 +0.000646667 0.000646667 0.000686667 0.000666667 0.000653333 0.000653333 0.000673333 0.000686667 +0.000653333 0.000673333 0.000693333 0.00068 0.00068 0.00064 0.000653333 0.000673333 +0.0007 0.000673333 0.000646667 0.000686667 0.000686667 0.000666667 0.00068 0.000693333 +0.000706667 0.00068 0.000653333 0.00066 0.000673333 0.00068 0.000693333 0.000686667 +0.000673333 0.000666667 0.000666667 0.00068 0.000686667 0.000693333 0.000706667 0.00068 +0.00068 0.000706667 0.000706667 0.000706667 0.000686667 0.000713333 0.000706667 0.00068 +0.00066 0.000653333 0.000693333 0.000713333 0.000693333 0.000666667 0.00066 0.00066 +0.0007 0.000713333 0.000706667 0.000673333 0.000666667 0.000666667 0.000693333 0.000706667 +0.0007 0.000673333 0.000686667 0.00068 0.000646667 0.000673333 0.000753333 0.000706667 +0.000653333 0.000693333 0.00066 0.00066 0.000726667 0.0007 0.000673333 0.000686667 +0.00074 0.0007 0.00066 0.00068 0.00068 0.00068 0.0007 0.000673333 +0.000653333 0.000666667 0.0007 0.00066 0.00068 0.000673333 0.000666667 0.000686667 +0.000686667 0.00068 0.0007 0.000693333 0.00066 0.00066 0.00068 0.000666667 +0.00068 0.000673333 0.000673333 0.000666667 0.00066 0.00066 0.000666667 0.000693333 +0.00066 0.000646667 0.000673333 0.000653333 0.000653333 0.00068 0.00068 0.000653333 +0.000653333 0.00066 0.000693333 0.000673333 0.000633333 0.00066 0.000666667 0.000673333 +0.000633333 0.000626667 0.000633333 0.000653333 0.000686667 0.00068 0.000646667 0.000646667 +0.000693333 0.000673333 0.00064 0.000686667 0.000713333 0.000713333 0.000713333 0.00068 +0.00066 0.000686667 0.0007 0.000693333 0.000693333 0.000686667 0.000706667 0.000726667 +0.000713333 0.0007 0.000706667 0.000693333 0.000686667 0.000693333 0.00072 0.000726667 +0.000693333 0.0007 0.000706667 0.00072 0.000733333 0.00074 0.000706667 0.000746667 +0.00074 0.00068 0.000686667 0.00072 0.000746667 0.00074 0.000713333 0.000726667 +0.000746667 0.000726667 0.0007 0.00072 0.00072 0.00072 0.000746667 0.000733333 +0.00072 0.000746667 0.000713333 0.000713333 0.000726667 0.000726667 0.00074 0.000726667 +0.000713333 0.000733333 0.00074 0.000746667 0.00072 0.00074 0.000726667 0.000706667 +0.00074 0.00074 0.000753333 0.000766667 0.000773333 0.000753333 0.00074 0.000746667 +0.000746667 0.000753333 0.000746667 0.000726667 0.000733333 0.0008 0.000766667 0.000753333 +0.000753333 0.00076 0.000726667 0.000746667 0.000753333 0.000706667 0.000693333 0.00072 +0.00074 0.000753333 0.000753333 0.000733333 0.000733333 0.000746667 0.000753333 0.000766667 +0.00078 0.00074 0.000753333 0.00078 0.000766667 0.000733333 0.000726667 0.000746667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00076 +0.00076 0.00076 0.000746667 0.000726667 0.000733333 0.000746667 0.000746667 0.000766667 +0.00074 0.000726667 0.000746667 0.00074 0.000746667 0.000746667 0.000726667 0.000706667 +0.00072 0.000706667 0.000726667 0.000746667 0.000713333 0.00074 0.00074 0.000706667 +0.00072 0.000733333 0.000746667 0.00074 0.0007 0.000693333 0.000706667 0.00072 +0.00072 0.00072 0.00072 0.00072 0.000726667 0.000706667 0.000706667 0.0007 +0.00072 0.000713333 0.000686667 0.000706667 0.000713333 0.0007 0.000706667 0.00072 +0.000726667 0.00072 0.000693333 0.00068 0.00072 0.00072 0.00072 0.00072 +0.0007 0.000713333 0.000706667 0.000706667 0.000713333 0.000713333 0.000706667 0.0007 +0.0007 0.000693333 0.000693333 0.000686667 0.000693333 0.000706667 0.000693333 0.000693333 +0.00068 0.000693333 0.000686667 0.000693333 0.000726667 0.000713333 0.000706667 0.00068 +0.000666667 0.000673333 0.00068 0.000693333 0.000693333 0.0007 0.000713333 0.0007 +0.0007 0.000693333 0.000693333 0.000686667 0.00068 0.000673333 0.0007 0.00072 +0.000706667 0.000693333 0.000693333 0.000673333 0.000666667 0.000673333 0.000666667 0.00068 +0.000666667 0.00066 0.000673333 0.000686667 0.000693333 0.000693333 0.000673333 0.00066 +0.000666667 0.000653333 0.000653333 0.00068 0.00068 0.000686667 0.00066 0.00064 +0.00066 0.000646667 0.00066 0.000686667 0.000666667 0.00066 0.00066 0.00066 +0.000666667 0.000666667 0.00068 0.000646667 0.00064 0.000646667 0.000653333 0.000646667 +0.000633333 0.000666667 0.00068 0.000686667 0.0007 0.000673333 0.000646667 0.000666667 +0.000666667 0.00066 0.00064 0.00064 0.00068 0.000686667 0.0007 0.00068 +0.000686667 0.0007 0.00068 0.000666667 0.000646667 0.000673333 0.000673333 0.00066 +0.000673333 0.000706667 0.000713333 0.000693333 0.000666667 0.000646667 0.000666667 0.000686667 +0.000686667 0.000693333 0.000686667 0.000693333 0.000686667 0.00068 0.00066 0.000653333 +0.00064 0.00068 0.000706667 0.000693333 0.000666667 0.00066 0.000693333 0.00068 +0.000666667 0.000686667 0.000693333 0.000686667 0.000653333 0.00066 0.000673333 0.000693333 +0.00072 0.0007 0.00068 0.000686667 0.00068 0.000666667 0.00068 0.00068 +0.000673333 0.000693333 0.000706667 0.0007 0.000673333 0.00062 0.000653333 0.000653333 +0.000653333 0.00068 0.0007 0.00068 0.00068 0.00066 0.00068 0.00068 +0.00064 0.000653333 0.00066 0.000653333 0.000673333 0.000653333 0.00064 0.000646667 +0.00066 0.00066 0.000633333 0.000633333 0.00066 0.00068 0.000693333 0.00068 +0.000673333 0.000666667 0.000633333 0.000666667 0.00068 0.00062 0.00064 0.000673333 +0.000673333 0.000693333 0.000646667 0.000626667 0.00066 0.000653333 0.000653333 0.00068 +0.000646667 0.000653333 0.000693333 0.000666667 0.000646667 0.000646667 0.00066 0.000686667 +0.000673333 0.000666667 0.00068 0.000646667 0.000666667 0.00066 0.00066 0.00068 +0.000706667 0.000693333 0.000646667 0.000686667 0.000686667 0.000646667 0.000686667 0.0007 +0.000693333 0.000686667 0.000646667 0.000666667 0.000673333 0.000686667 0.0007 0.0007 +0.000666667 0.00066 0.000673333 0.000666667 0.000666667 0.000693333 0.0007 0.000666667 +0.00066 0.000686667 0.0007 0.00072 0.000706667 0.000693333 0.0007 0.000686667 +0.000666667 0.000666667 0.00068 0.0007 0.000686667 0.00066 0.000686667 0.000686667 +0.0007 0.0007 0.000706667 0.000673333 0.00066 0.000673333 0.000693333 0.0007 +0.000693333 0.0007 0.000706667 0.000666667 0.00066 0.000673333 0.00074 0.000706667 +0.000673333 0.00068 0.00066 0.00068 0.0007 0.000666667 0.000673333 0.000686667 +0.000733333 0.000713333 0.00066 0.00068 0.00068 0.000673333 0.0007 0.00066 +0.000653333 0.000713333 0.000686667 0.00064 0.000666667 0.000646667 0.000673333 0.000713333 +0.000686667 0.00068 0.000693333 0.000686667 0.00066 0.000666667 0.00068 0.000673333 +0.00068 0.000666667 0.000653333 0.000646667 0.000666667 0.00066 0.000673333 0.0007 +0.000653333 0.00064 0.00066 0.000653333 0.000666667 0.00068 0.000673333 0.00068 +0.00066 0.000653333 0.000686667 0.000653333 0.000646667 0.000686667 0.00068 0.000646667 +0.0006 0.000633333 0.000646667 0.000666667 0.00068 0.00068 0.00064 0.00064 +0.00068 0.000666667 0.000686667 0.000693333 0.00068 0.000686667 0.000693333 0.000686667 +0.00066 0.00066 0.000693333 0.000713333 0.0007 0.000693333 0.000686667 0.000713333 +0.000706667 0.0007 0.00068 0.000673333 0.000733333 0.000726667 0.000713333 0.000713333 +0.000713333 0.000713333 0.00072 0.000733333 0.000746667 0.000733333 0.00072 0.00072 +0.000686667 0.00068 0.000726667 0.000733333 0.000753333 0.00074 0.000713333 0.000733333 +0.0007 0.000706667 0.00072 0.000733333 0.00074 0.000746667 0.000726667 0.000713333 +0.00072 0.000746667 0.000713333 0.000726667 0.000726667 0.000746667 0.000746667 0.000733333 +0.00074 0.000746667 0.00072 0.000726667 0.000726667 0.000733333 0.000733333 0.00072 +0.00074 0.00078 0.000773333 0.000773333 0.000753333 0.000733333 0.000746667 0.000753333 +0.000726667 0.00076 0.000726667 0.000733333 0.000773333 0.00078 0.000746667 0.000753333 +0.00074 0.000753333 0.00074 0.00076 0.0007 0.000713333 0.000733333 0.000746667 +0.00074 0.000753333 0.00074 0.000706667 0.000753333 0.00076 0.000773333 0.000786667 +0.000773333 0.000746667 0.000773333 0.000773333 0.000726667 0.00072 0.000753333 0.000753333 +0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000753333 0.000726667 +0.000733333 0.00076 0.000766667 0.000746667 0.00074 0.000753333 0.000746667 0.000733333 +0.000746667 0.000746667 0.000733333 0.00074 0.000733333 0.000746667 0.000746667 0.000733333 +0.000733333 0.000713333 0.000706667 0.000733333 0.000706667 0.000706667 0.000733333 0.00074 +0.00074 0.000713333 0.00072 0.00074 0.000746667 0.00072 0.000693333 0.00068 +0.00068 0.000706667 0.000733333 0.000726667 0.00072 0.000713333 0.000713333 0.000706667 +0.000706667 0.000726667 0.000713333 0.00068 0.000686667 0.000706667 0.000706667 0.00072 +0.000713333 0.0007 0.0007 0.000706667 0.00072 0.000706667 0.000713333 0.000713333 +0.0007 0.000713333 0.000713333 0.00072 0.00072 0.000713333 0.000713333 0.000706667 +0.0007 0.000693333 0.000706667 0.0007 0.000686667 0.000693333 0.000673333 0.00068 +0.000693333 0.0007 0.00068 0.000666667 0.00068 0.000713333 0.000726667 0.000706667 +0.000686667 0.0007 0.000686667 0.00068 0.000673333 0.000686667 0.000713333 0.0007 +0.0007 0.000706667 0.000706667 0.000693333 0.000666667 0.000686667 0.000686667 0.00068 +0.000693333 0.000713333 0.000726667 0.0007 0.000666667 0.00066 0.000673333 0.00068 +0.00066 0.000653333 0.000673333 0.00068 0.000673333 0.000706667 0.00068 0.000646667 +0.000633333 0.00066 0.000666667 0.000673333 0.000666667 0.00068 0.000673333 0.000653333 +0.000646667 0.000646667 0.000653333 0.000673333 0.000666667 0.000686667 0.000666667 0.00066 +0.00066 0.000653333 0.000673333 0.00066 0.00066 0.00066 0.000653333 0.000653333 +0.000653333 0.00066 0.000646667 0.000673333 0.000673333 0.00066 0.000666667 0.000666667 +0.00066 0.000666667 0.000666667 0.00068 0.000673333 0.00066 0.00068 0.000706667 +0.0007 0.00068 0.000686667 0.00068 0.000666667 0.000686667 0.000693333 0.00066 +0.000646667 0.000666667 0.000713333 0.000706667 0.00068 0.000666667 0.000673333 0.00068 +0.000666667 0.00068 0.0007 0.000706667 0.00068 0.000673333 0.000673333 0.000646667 +0.000646667 0.000653333 0.000686667 0.0007 0.000666667 0.00068 0.000713333 0.00068 +0.00066 0.00068 0.00068 0.000686667 0.00068 0.00068 0.000673333 0.00066 +0.000693333 0.000706667 0.000706667 0.000713333 0.0007 0.000673333 0.00068 0.000686667 +0.000693333 0.00068 0.000666667 0.000686667 0.000693333 0.000646667 0.000646667 0.00066 +0.00066 0.00066 0.000673333 0.000686667 0.00068 0.00066 0.00068 0.000693333 +0.000646667 0.000673333 0.000673333 0.00064 0.00066 0.000653333 0.000646667 0.00066 +0.00068 0.000686667 0.000673333 0.000633333 0.000653333 0.00068 0.000673333 0.00068 +0.000673333 0.000646667 0.000626667 0.000653333 0.00068 0.00066 0.00064 0.000646667 +0.000693333 0.000706667 0.000653333 0.00062 0.00064 0.00068 0.000673333 0.000673333 +0.000653333 0.00066 0.000693333 0.000673333 0.00066 0.000653333 0.00066 0.00068 +0.00066 0.000646667 0.000673333 0.000653333 0.000673333 0.000673333 0.00066 0.000666667 +0.000693333 0.000706667 0.000673333 0.000686667 0.00068 0.00064 0.00068 0.000706667 +0.0007 0.000693333 0.000673333 0.00068 0.000646667 0.00068 0.000713333 0.000713333 +0.000673333 0.000646667 0.00066 0.000666667 0.000666667 0.00068 0.000693333 0.000686667 +0.00066 0.000666667 0.000706667 0.000706667 0.000706667 0.000686667 0.000686667 0.000686667 +0.000673333 0.000666667 0.00068 0.000693333 0.000666667 0.000673333 0.000706667 0.0007 +0.000693333 0.000693333 0.000713333 0.00068 0.000666667 0.00068 0.000693333 0.00068 +0.000686667 0.00072 0.000713333 0.00068 0.000673333 0.00068 0.00072 0.000706667 +0.000706667 0.000666667 0.00066 0.000693333 0.000673333 0.000673333 0.000673333 0.0007 +0.00072 0.000693333 0.000653333 0.000673333 0.000673333 0.000673333 0.000693333 0.000653333 +0.000653333 0.0007 0.000693333 0.00066 0.00066 0.00064 0.000686667 0.000726667 +0.000666667 0.00066 0.0007 0.000693333 0.000646667 0.000646667 0.00068 0.000706667 +0.000693333 0.00066 0.000653333 0.000666667 0.000666667 0.000646667 0.000686667 0.000686667 +0.00066 0.00066 0.000646667 0.00066 0.000666667 0.000646667 0.00066 0.000686667 +0.000666667 0.00066 0.000673333 0.000633333 0.00066 0.00068 0.000686667 0.000613333 +0.000593333 0.000653333 0.000666667 0.00066 0.00066 0.000673333 0.000633333 0.000653333 +0.000666667 0.000666667 0.000706667 0.000686667 0.000673333 0.000693333 0.0007 0.000686667 +0.000653333 0.000673333 0.000706667 0.000706667 0.000693333 0.0007 0.0007 0.000713333 +0.000706667 0.000686667 0.00066 0.0007 0.000746667 0.000713333 0.000713333 0.000733333 +0.000726667 0.000693333 0.000713333 0.000746667 0.000733333 0.00072 0.000706667 0.000673333 +0.00068 0.00074 0.00074 0.000733333 0.00076 0.00074 0.00072 0.000706667 +0.0007 0.000726667 0.000726667 0.00072 0.00076 0.000726667 0.000706667 0.000713333 +0.000726667 0.000726667 0.000733333 0.000726667 0.000733333 0.000746667 0.000733333 0.000746667 +0.000753333 0.000733333 0.00074 0.00076 0.00074 0.00072 0.00072 0.000733333 +0.00076 0.000786667 0.000766667 0.000746667 0.000733333 0.000726667 0.000746667 0.000746667 +0.000733333 0.000753333 0.000733333 0.000753333 0.000753333 0.000746667 0.000753333 0.000746667 +0.000733333 0.000766667 0.00078 0.00074 0.000713333 0.000753333 0.00074 0.000726667 +0.000726667 0.000753333 0.00074 0.000753333 0.00076 0.00074 0.000773333 0.000766667 +0.00078 0.00078 0.00076 0.000733333 0.000746667 0.000753333 0.00076 0.00076 +0.00076 0.00074 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000806667 0.000766667 0.00074 +0.000726667 0.00074 0.00076 0.000773333 0.000766667 0.000766667 0.000753333 0.000726667 +0.00074 0.00076 0.000733333 0.00072 0.000706667 0.000706667 0.000726667 0.00074 +0.00076 0.00074 0.000713333 0.00072 0.00072 0.00072 0.000713333 0.00072 +0.00072 0.000706667 0.000706667 0.000706667 0.000726667 0.000733333 0.00072 0.00072 +0.000706667 0.000706667 0.000706667 0.0007 0.00072 0.000726667 0.000706667 0.000713333 +0.000706667 0.0007 0.000726667 0.0007 0.000673333 0.0007 0.000706667 0.000706667 +0.0007 0.000693333 0.000693333 0.0007 0.000706667 0.0007 0.000726667 0.00072 +0.0007 0.000686667 0.000693333 0.00072 0.000726667 0.000726667 0.00072 0.000706667 +0.000693333 0.000686667 0.0007 0.000706667 0.000713333 0.000693333 0.000666667 0.000666667 +0.000686667 0.0007 0.000693333 0.000686667 0.000673333 0.00068 0.000713333 0.000706667 +0.000693333 0.000686667 0.000693333 0.000706667 0.0007 0.000666667 0.000673333 0.0007 +0.0007 0.000686667 0.0007 0.000713333 0.000666667 0.000686667 0.000713333 0.000686667 +0.00066 0.000666667 0.000713333 0.00072 0.000706667 0.000666667 0.00068 0.00068 +0.00066 0.000646667 0.00066 0.00068 0.000666667 0.000673333 0.00068 0.000673333 +0.000646667 0.000646667 0.00068 0.00066 0.00066 0.000673333 0.00068 0.000686667 +0.00066 0.00062 0.000646667 0.000673333 0.000673333 0.00068 0.000666667 0.000666667 +0.000653333 0.000646667 0.000633333 0.000653333 0.000673333 0.000673333 0.000666667 0.000653333 +0.00068 0.000666667 0.000646667 0.000673333 0.00064 0.000653333 0.000693333 0.000693333 +0.00068 0.000673333 0.000673333 0.000686667 0.000693333 0.000653333 0.000633333 0.000686667 +0.000713333 0.000693333 0.000666667 0.000666667 0.000673333 0.00068 0.000686667 0.000686667 +0.00066 0.000653333 0.00068 0.000693333 0.000673333 0.000686667 0.000693333 0.000673333 +0.000666667 0.000673333 0.000686667 0.000693333 0.000673333 0.000686667 0.000693333 0.000673333 +0.000666667 0.000653333 0.000646667 0.000693333 0.00068 0.000673333 0.0007 0.000713333 +0.000673333 0.00066 0.000666667 0.00068 0.00068 0.000673333 0.000686667 0.000686667 +0.000693333 0.000673333 0.000686667 0.00072 0.00072 0.000686667 0.00068 0.000666667 +0.000686667 0.000686667 0.00068 0.000693333 0.000673333 0.00066 0.00066 0.000666667 +0.00066 0.000646667 0.00066 0.00068 0.000666667 0.000666667 0.00068 0.0007 +0.000653333 0.000653333 0.000686667 0.000666667 0.00064 0.000646667 0.000646667 0.000666667 +0.000693333 0.000693333 0.000686667 0.000666667 0.00066 0.000666667 0.000653333 0.000673333 +0.00066 0.00064 0.000633333 0.000646667 0.000673333 0.000666667 0.000666667 0.00066 +0.000673333 0.00068 0.00066 0.000633333 0.000633333 0.000666667 0.000686667 0.00068 +0.000653333 0.000666667 0.000693333 0.000693333 0.000673333 0.000653333 0.000666667 0.000686667 +0.000653333 0.00064 0.000673333 0.000673333 0.00066 0.000646667 0.000653333 0.000653333 +0.00068 0.0007 0.000666667 0.00068 0.00068 0.000646667 0.00066 0.000693333 +0.000706667 0.000693333 0.000673333 0.000686667 0.000646667 0.00068 0.000706667 0.000706667 +0.00068 0.00064 0.00066 0.000673333 0.00064 0.00066 0.0007 0.00072 +0.00066 0.000666667 0.00072 0.000706667 0.000713333 0.000673333 0.00066 0.00068 +0.00068 0.000673333 0.000693333 0.000706667 0.00066 0.00068 0.000686667 0.00068 +0.000693333 0.000706667 0.000706667 0.00068 0.000686667 0.000673333 0.0007 0.000706667 +0.000686667 0.000706667 0.000726667 0.000693333 0.00066 0.000693333 0.000713333 0.000693333 +0.0007 0.000666667 0.000686667 0.0007 0.000686667 0.00068 0.00066 0.000706667 +0.000706667 0.000666667 0.000666667 0.0007 0.000673333 0.000673333 0.000686667 0.000653333 +0.000646667 0.000693333 0.000713333 0.00068 0.00066 0.00064 0.000693333 0.00072 +0.000666667 0.000666667 0.0007 0.00068 0.000646667 0.000653333 0.000686667 0.00072 +0.000686667 0.00066 0.00066 0.00068 0.000646667 0.000666667 0.0007 0.000673333 +0.00066 0.000666667 0.00066 0.00068 0.00068 0.000666667 0.000673333 0.00068 +0.000673333 0.000673333 0.00066 0.00064 0.000666667 0.000673333 0.000653333 0.00062 +0.000633333 0.000646667 0.000646667 0.000666667 0.000673333 0.000673333 0.000653333 0.000666667 +0.000653333 0.00068 0.0007 0.00068 0.000686667 0.0007 0.000693333 0.000666667 +0.00068 0.0007 0.0007 0.000693333 0.00068 0.000706667 0.000726667 0.0007 +0.000686667 0.000686667 0.00068 0.000713333 0.00072 0.000726667 0.00072 0.00072 +0.000713333 0.000686667 0.000706667 0.00074 0.000726667 0.000726667 0.000693333 0.00068 +0.00072 0.000746667 0.00072 0.000733333 0.00074 0.00072 0.000706667 0.0007 +0.00072 0.00074 0.00072 0.000726667 0.000753333 0.000706667 0.00072 0.00074 +0.000726667 0.000713333 0.000746667 0.000726667 0.000726667 0.000746667 0.000746667 0.000746667 +0.000726667 0.00072 0.000766667 0.000746667 0.00074 0.000746667 0.00074 0.000733333 +0.000753333 0.000753333 0.00072 0.000746667 0.000746667 0.000733333 0.000733333 0.000753333 +0.000746667 0.000753333 0.000746667 0.00076 0.00076 0.00076 0.000746667 0.000753333 +0.000766667 0.000786667 0.00074 0.000726667 0.000753333 0.00074 0.000726667 0.00074 +0.000746667 0.000753333 0.000753333 0.0008 0.000766667 0.00074 0.00078 0.00078 +0.000786667 0.00074 0.000686667 0.000726667 0.000766667 0.000746667 0.00076 0.000766667 +0.00076 0.000746667 0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000766667 0.000773333 0.00078 0.000766667 +0.000733333 0.000753333 0.00074 0.000733333 0.000766667 0.000773333 0.00076 0.000753333 +0.00074 0.00074 0.00074 0.000733333 0.00072 0.00072 0.000713333 0.000713333 +0.000726667 0.000726667 0.00074 0.000746667 0.00072 0.000726667 0.000726667 0.00072 +0.000706667 0.0007 0.000706667 0.000713333 0.000726667 0.00072 0.000693333 0.00072 +0.000746667 0.000746667 0.000713333 0.00068 0.000693333 0.00072 0.000706667 0.000693333 +0.000706667 0.000706667 0.000726667 0.000733333 0.000693333 0.000686667 0.000706667 0.0007 +0.000686667 0.000686667 0.000686667 0.000693333 0.000693333 0.000693333 0.00072 0.000726667 +0.000706667 0.000693333 0.000686667 0.000686667 0.0007 0.000726667 0.000733333 0.000713333 +0.0007 0.000693333 0.000686667 0.000693333 0.00072 0.00072 0.000693333 0.00068 +0.000673333 0.000693333 0.000686667 0.00068 0.00068 0.000686667 0.000693333 0.0007 +0.0007 0.000673333 0.00068 0.00072 0.000726667 0.000686667 0.000666667 0.000673333 +0.000706667 0.0007 0.000693333 0.0007 0.00068 0.000693333 0.0007 0.000693333 +0.000673333 0.00066 0.000673333 0.00068 0.000693333 0.000693333 0.000693333 0.00068 +0.000666667 0.00066 0.00066 0.000673333 0.00068 0.000666667 0.00066 0.00068 +0.000673333 0.00066 0.00066 0.000653333 0.00066 0.000666667 0.000673333 0.000693333 +0.00068 0.00064 0.000633333 0.000646667 0.00066 0.000686667 0.00068 0.00064 +0.000646667 0.000653333 0.00062 0.00064 0.00066 0.00068 0.000673333 0.00066 +0.000673333 0.000653333 0.00066 0.00068 0.00066 0.000653333 0.00068 0.000673333 +0.00066 0.000653333 0.000653333 0.00066 0.000693333 0.00068 0.000653333 0.000653333 +0.00068 0.0007 0.00066 0.00068 0.000686667 0.000666667 0.000666667 0.000686667 +0.000686667 0.00068 0.000673333 0.000673333 0.000666667 0.000686667 0.000693333 0.00066 +0.000673333 0.000673333 0.00066 0.00066 0.000666667 0.000693333 0.000693333 0.000686667 +0.000686667 0.000666667 0.000646667 0.000673333 0.00068 0.000673333 0.000673333 0.0007 +0.0007 0.000666667 0.00066 0.00068 0.000686667 0.000646667 0.000666667 0.0007 +0.00072 0.0007 0.000653333 0.000666667 0.00072 0.000713333 0.000686667 0.00066 +0.000666667 0.000693333 0.0007 0.000693333 0.000673333 0.000646667 0.00066 0.00068 +0.000653333 0.00064 0.000646667 0.000666667 0.000686667 0.00068 0.000673333 0.0007 +0.000666667 0.000646667 0.000686667 0.000686667 0.000653333 0.00062 0.00064 0.000646667 +0.000666667 0.00068 0.000673333 0.000666667 0.00066 0.000653333 0.000653333 0.000673333 +0.000666667 0.000646667 0.000633333 0.000626667 0.000666667 0.00066 0.000673333 0.000673333 +0.000666667 0.00066 0.00066 0.000653333 0.00066 0.000666667 0.000666667 0.000666667 +0.00064 0.000653333 0.0007 0.000706667 0.000666667 0.000646667 0.000666667 0.00068 +0.000666667 0.000666667 0.000666667 0.00066 0.000666667 0.000646667 0.00064 0.00066 +0.000673333 0.000673333 0.000653333 0.000686667 0.00068 0.000673333 0.000673333 0.00068 +0.000706667 0.000673333 0.000653333 0.000686667 0.000666667 0.000686667 0.000686667 0.0007 +0.000693333 0.00064 0.000666667 0.000686667 0.000653333 0.000673333 0.000706667 0.000713333 +0.00066 0.000666667 0.000706667 0.000686667 0.000713333 0.000673333 0.000653333 0.00068 +0.00068 0.000686667 0.0007 0.000693333 0.000653333 0.00068 0.000666667 0.000673333 +0.000706667 0.000693333 0.00068 0.000673333 0.000673333 0.000673333 0.000713333 0.00072 +0.00068 0.00068 0.000733333 0.000693333 0.000686667 0.000713333 0.000706667 0.000666667 +0.000666667 0.00066 0.0007 0.0007 0.0007 0.000686667 0.00066 0.000686667 +0.00068 0.00066 0.00068 0.0007 0.000666667 0.000686667 0.00068 0.00066 +0.000686667 0.000713333 0.000693333 0.000673333 0.000653333 0.000653333 0.000686667 0.000686667 +0.00068 0.000706667 0.0007 0.00066 0.000673333 0.00068 0.0007 0.000713333 +0.000686667 0.000653333 0.00064 0.000646667 0.000646667 0.000693333 0.00068 0.000653333 +0.000673333 0.000673333 0.000666667 0.00068 0.0007 0.00068 0.000666667 0.000666667 +0.000666667 0.00068 0.000633333 0.000633333 0.00068 0.000666667 0.000633333 0.000646667 +0.000626667 0.000626667 0.00064 0.000673333 0.000666667 0.000653333 0.000666667 0.000666667 +0.00066 0.00068 0.000693333 0.00068 0.000673333 0.00068 0.000673333 0.000686667 +0.0007 0.000686667 0.00068 0.000686667 0.000673333 0.000713333 0.000706667 0.00068 +0.000693333 0.000693333 0.0007 0.000693333 0.000706667 0.000746667 0.00072 0.0007 +0.0007 0.000713333 0.000726667 0.000733333 0.00074 0.000733333 0.000706667 0.000693333 +0.00072 0.00074 0.00072 0.000713333 0.000706667 0.000713333 0.000713333 0.00072 +0.00074 0.00072 0.000726667 0.000733333 0.000726667 0.000713333 0.000726667 0.00074 +0.00072 0.0007 0.00074 0.00074 0.00072 0.000726667 0.00074 0.000733333 +0.000726667 0.000733333 0.000753333 0.00074 0.000753333 0.000753333 0.00076 0.000753333 +0.000726667 0.000713333 0.000746667 0.000733333 0.000726667 0.000713333 0.00072 0.000753333 +0.000766667 0.000766667 0.00076 0.000746667 0.000733333 0.00074 0.000753333 0.000753333 +0.000766667 0.000753333 0.000726667 0.00076 0.000746667 0.000733333 0.000726667 0.00076 +0.000773333 0.00076 0.000753333 0.000773333 0.00076 0.000746667 0.000773333 0.000766667 +0.000746667 0.00072 0.00072 0.000746667 0.000766667 0.000753333 0.000773333 0.00076 +0.00076 0.000753333 0.00074 0.00076 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000766667 0.000746667 0.000746667 0.000753333 0.00076 +0.000753333 0.000773333 0.000753333 0.00072 0.000726667 0.000753333 0.000753333 0.000766667 +0.000766667 0.00074 0.000713333 0.000726667 0.00074 0.00074 0.000726667 0.000713333 +0.00072 0.000713333 0.00072 0.00074 0.00074 0.000726667 0.000726667 0.000733333 +0.00072 0.000706667 0.00072 0.000713333 0.000713333 0.000726667 0.000713333 0.000693333 +0.000706667 0.000733333 0.00074 0.000706667 0.00068 0.0007 0.000713333 0.000686667 +0.000693333 0.000713333 0.000706667 0.00072 0.00072 0.000713333 0.000713333 0.000726667 +0.000713333 0.000686667 0.00066 0.000686667 0.000706667 0.000693333 0.000706667 0.000713333 +0.000706667 0.000713333 0.000713333 0.000706667 0.000693333 0.000693333 0.000706667 0.000713333 +0.000726667 0.00072 0.000693333 0.000686667 0.00068 0.0007 0.000713333 0.0007 +0.000693333 0.000686667 0.00068 0.00068 0.00068 0.0007 0.000686667 0.000673333 +0.000693333 0.00068 0.000666667 0.000706667 0.00072 0.0007 0.000693333 0.000673333 +0.00068 0.0007 0.000706667 0.000693333 0.00068 0.000693333 0.000686667 0.00068 +0.000673333 0.000693333 0.000686667 0.00066 0.00066 0.000666667 0.000686667 0.000693333 +0.000693333 0.000686667 0.000693333 0.000666667 0.000673333 0.00066 0.000646667 0.00066 +0.000673333 0.00068 0.00066 0.00066 0.000666667 0.000666667 0.000666667 0.000693333 +0.000686667 0.000673333 0.000646667 0.000626667 0.000633333 0.000646667 0.000686667 0.000666667 +0.000646667 0.00066 0.000626667 0.00062 0.000646667 0.00068 0.000673333 0.00068 +0.000686667 0.000666667 0.00068 0.000666667 0.000673333 0.000673333 0.00066 0.000646667 +0.000653333 0.000653333 0.00066 0.000666667 0.00068 0.000693333 0.000706667 0.000673333 +0.000633333 0.00066 0.000666667 0.000693333 0.0007 0.00068 0.000673333 0.000673333 +0.000693333 0.0007 0.00068 0.000666667 0.00068 0.000686667 0.000686667 0.00068 +0.00068 0.00068 0.000673333 0.00066 0.00066 0.000673333 0.000686667 0.000686667 +0.00068 0.0007 0.000666667 0.000666667 0.000666667 0.000673333 0.000673333 0.00068 +0.000686667 0.000693333 0.000686667 0.000686667 0.000693333 0.000666667 0.00066 0.000686667 +0.000726667 0.000733333 0.000673333 0.00064 0.000686667 0.000713333 0.000713333 0.00068 +0.000666667 0.00068 0.0007 0.000693333 0.000693333 0.000666667 0.00064 0.000666667 +0.000666667 0.000666667 0.000666667 0.000673333 0.000686667 0.000673333 0.00066 0.00066 +0.000666667 0.000666667 0.000686667 0.000686667 0.000673333 0.000653333 0.000646667 0.000633333 +0.000646667 0.000666667 0.000653333 0.000646667 0.000653333 0.000673333 0.00066 0.000633333 +0.000653333 0.000633333 0.000626667 0.000626667 0.000666667 0.00066 0.00066 0.000646667 +0.00066 0.00068 0.000653333 0.000633333 0.00066 0.00066 0.000666667 0.000666667 +0.000653333 0.000653333 0.000673333 0.00068 0.00066 0.000653333 0.000653333 0.000673333 +0.000673333 0.00068 0.000686667 0.000666667 0.00068 0.00066 0.00064 0.000653333 +0.000666667 0.00066 0.000633333 0.000693333 0.0007 0.00068 0.000673333 0.000666667 +0.000686667 0.00068 0.00066 0.00068 0.000673333 0.000686667 0.000693333 0.000706667 +0.00068 0.000646667 0.000666667 0.00068 0.000673333 0.0007 0.000713333 0.0007 +0.000666667 0.000673333 0.00068 0.000686667 0.0007 0.000693333 0.000673333 0.000666667 +0.00068 0.00068 0.000713333 0.000706667 0.000666667 0.00068 0.000673333 0.000693333 +0.0007 0.000693333 0.00068 0.00066 0.000653333 0.000686667 0.00072 0.000713333 +0.00068 0.000693333 0.000726667 0.000673333 0.000706667 0.000733333 0.000693333 0.00068 +0.000666667 0.000653333 0.000713333 0.000686667 0.00068 0.000686667 0.00068 0.00068 +0.000686667 0.000666667 0.000673333 0.00068 0.000673333 0.00072 0.00066 0.00066 +0.000686667 0.000693333 0.00068 0.000666667 0.000653333 0.000686667 0.00068 0.000666667 +0.000686667 0.00072 0.000686667 0.000653333 0.000686667 0.000686667 0.000686667 0.000693333 +0.000693333 0.000646667 0.000626667 0.000653333 0.00068 0.0007 0.000653333 0.00066 +0.00068 0.00068 0.000666667 0.00066 0.000686667 0.000686667 0.000666667 0.000646667 +0.00066 0.00068 0.000633333 0.000633333 0.000673333 0.000673333 0.000653333 0.00066 +0.000626667 0.000633333 0.00064 0.000673333 0.00066 0.000633333 0.000666667 0.000673333 +0.000666667 0.00068 0.000686667 0.0007 0.00068 0.000673333 0.000673333 0.000686667 +0.000693333 0.00068 0.000673333 0.0007 0.000693333 0.000706667 0.00068 0.0007 +0.000706667 0.00068 0.000693333 0.000706667 0.000726667 0.000746667 0.000706667 0.000706667 +0.00072 0.00074 0.00072 0.000733333 0.000746667 0.000726667 0.000713333 0.000693333 +0.000713333 0.00074 0.000733333 0.000686667 0.000706667 0.000733333 0.00074 0.00074 +0.000726667 0.000713333 0.000733333 0.00072 0.000713333 0.00072 0.000713333 0.000733333 +0.00072 0.00072 0.000746667 0.000746667 0.00072 0.000733333 0.000753333 0.000733333 +0.000726667 0.000726667 0.000746667 0.000773333 0.000746667 0.00072 0.000753333 0.000733333 +0.000713333 0.000746667 0.00076 0.000706667 0.000726667 0.000713333 0.00074 0.000753333 +0.00076 0.00076 0.000753333 0.000726667 0.000746667 0.00076 0.00074 0.000726667 +0.000746667 0.000753333 0.000773333 0.000766667 0.000713333 0.000746667 0.000746667 0.000753333 +0.000733333 0.000753333 0.00076 0.000753333 0.000746667 0.000733333 0.000746667 0.000746667 +0.000726667 0.000746667 0.000766667 0.000766667 0.00076 0.000753333 0.00076 0.000733333 +0.000726667 0.000733333 0.000746667 0.000746667 0.000726667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000773333 0.000746667 0.000746667 0.000746667 0.000766667 0.000746667 +0.000753333 0.000766667 0.000786667 0.000766667 0.000746667 0.00074 0.00074 0.00072 +0.000746667 0.00076 0.000746667 0.000733333 0.000726667 0.000726667 0.000733333 0.00072 +0.000733333 0.000753333 0.000733333 0.000713333 0.000733333 0.00074 0.000713333 0.00074 +0.00074 0.000713333 0.000726667 0.000733333 0.000713333 0.000713333 0.000706667 0.000693333 +0.000686667 0.000706667 0.000726667 0.000733333 0.000713333 0.000706667 0.00072 0.0007 +0.000693333 0.00072 0.000706667 0.000693333 0.000706667 0.000706667 0.00072 0.00074 +0.00074 0.000713333 0.000686667 0.00068 0.0007 0.0007 0.000706667 0.0007 +0.0007 0.000706667 0.00072 0.000726667 0.00072 0.000693333 0.00068 0.000693333 +0.000706667 0.000706667 0.000713333 0.000706667 0.0007 0.000693333 0.000686667 0.00068 +0.000693333 0.0007 0.000693333 0.0007 0.000693333 0.000693333 0.0007 0.000693333 +0.000693333 0.00068 0.000653333 0.000673333 0.000686667 0.000713333 0.000693333 0.00068 +0.00068 0.000686667 0.000693333 0.00068 0.00068 0.000706667 0.000706667 0.000713333 +0.000673333 0.00068 0.000686667 0.00068 0.00066 0.000646667 0.000666667 0.000686667 +0.00068 0.000666667 0.000686667 0.000693333 0.000686667 0.000653333 0.000633333 0.000626667 +0.000653333 0.000673333 0.000666667 0.000666667 0.00066 0.000653333 0.00066 0.0007 +0.000686667 0.000666667 0.000653333 0.000646667 0.000646667 0.000626667 0.000653333 0.00066 +0.000666667 0.00066 0.000653333 0.00064 0.00062 0.000646667 0.000666667 0.000693333 +0.00068 0.000673333 0.000693333 0.000666667 0.00068 0.00068 0.000666667 0.000653333 +0.000673333 0.00068 0.000666667 0.000653333 0.00066 0.00068 0.000713333 0.000693333 +0.000633333 0.00064 0.000673333 0.00068 0.00066 0.00068 0.000693333 0.000673333 +0.000673333 0.00068 0.00068 0.000666667 0.00068 0.000686667 0.000686667 0.0007 +0.000673333 0.00066 0.000686667 0.00068 0.00068 0.000653333 0.000673333 0.000673333 +0.00066 0.000686667 0.00068 0.000666667 0.000666667 0.000666667 0.000666667 0.000673333 +0.00068 0.000693333 0.000706667 0.000706667 0.000706667 0.00068 0.000673333 0.00068 +0.0007 0.000706667 0.0007 0.000686667 0.00068 0.00068 0.000706667 0.000713333 +0.000673333 0.000653333 0.000673333 0.000706667 0.00072 0.000686667 0.00064 0.000646667 +0.000666667 0.000673333 0.000686667 0.000686667 0.00066 0.00066 0.00066 0.000633333 +0.000653333 0.00066 0.000666667 0.000666667 0.000686667 0.000686667 0.000653333 0.00064 +0.000646667 0.000646667 0.000653333 0.00066 0.000653333 0.0007 0.00068 0.000613333 +0.000646667 0.000633333 0.000633333 0.000633333 0.00066 0.000673333 0.000673333 0.000633333 +0.000653333 0.000693333 0.00066 0.00064 0.000653333 0.000653333 0.000666667 0.000666667 +0.000666667 0.000673333 0.000666667 0.000653333 0.000666667 0.00066 0.000653333 0.000666667 +0.000666667 0.00068 0.000686667 0.00068 0.000686667 0.00068 0.00066 0.00064 +0.000666667 0.000673333 0.00066 0.00068 0.000673333 0.00066 0.000666667 0.00068 +0.000666667 0.00066 0.000666667 0.00068 0.000653333 0.00068 0.0007 0.000686667 +0.000673333 0.00068 0.000693333 0.00068 0.000673333 0.00068 0.000706667 0.000706667 +0.000673333 0.000686667 0.000673333 0.000666667 0.0007 0.0007 0.00068 0.000666667 +0.000673333 0.000646667 0.0007 0.000706667 0.000666667 0.000666667 0.00066 0.000693333 +0.000693333 0.000706667 0.00068 0.000653333 0.00068 0.0007 0.000706667 0.000706667 +0.00068 0.0007 0.000693333 0.000673333 0.000713333 0.00074 0.00072 0.0007 +0.000653333 0.000646667 0.0007 0.000693333 0.000673333 0.000673333 0.0007 0.000693333 +0.000706667 0.00068 0.000673333 0.000666667 0.000666667 0.00072 0.00068 0.000666667 +0.000666667 0.00068 0.000693333 0.000673333 0.000666667 0.00072 0.0007 0.00064 +0.000666667 0.00068 0.00068 0.000666667 0.000686667 0.00068 0.000686667 0.000693333 +0.00068 0.00064 0.000646667 0.000673333 0.00068 0.000686667 0.000673333 0.000666667 +0.000666667 0.000666667 0.00066 0.000666667 0.000666667 0.000673333 0.00068 0.00064 +0.000646667 0.000673333 0.000666667 0.000673333 0.00068 0.000673333 0.00066 0.00064 +0.000646667 0.000633333 0.000633333 0.000666667 0.000653333 0.000653333 0.00068 0.000666667 +0.000666667 0.000693333 0.00068 0.000693333 0.000686667 0.000673333 0.00066 0.000686667 +0.0007 0.000666667 0.000673333 0.000693333 0.000693333 0.000686667 0.000713333 0.000713333 +0.000686667 0.000693333 0.000713333 0.000726667 0.000733333 0.00072 0.0007 0.000706667 +0.000726667 0.00072 0.000713333 0.000733333 0.00074 0.000706667 0.000706667 0.000693333 +0.00072 0.000753333 0.000733333 0.000693333 0.000726667 0.00074 0.000733333 0.000726667 +0.000713333 0.00074 0.00074 0.000713333 0.00072 0.00074 0.0007 0.000713333 +0.000726667 0.000766667 0.000753333 0.00072 0.000713333 0.000753333 0.000766667 0.00072 +0.00072 0.000753333 0.00076 0.000766667 0.000726667 0.00072 0.000706667 0.000686667 +0.000733333 0.000753333 0.000753333 0.000726667 0.00074 0.000726667 0.00074 0.00074 +0.000753333 0.000746667 0.00076 0.000753333 0.000773333 0.000753333 0.000733333 0.00074 +0.000746667 0.000766667 0.000766667 0.000726667 0.000726667 0.00076 0.000753333 0.000733333 +0.000733333 0.000766667 0.000773333 0.000773333 0.000733333 0.000706667 0.000706667 0.000726667 +0.000713333 0.000766667 0.00078 0.000753333 0.00074 0.000726667 0.000726667 0.000733333 +0.000706667 0.000733333 0.00074 0.000733333 0.000733333 0.000773333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00076 0.00074 0.000733333 0.000733333 0.000766667 0.000753333 +0.000746667 0.000746667 0.00076 0.000766667 0.000766667 0.000746667 0.00074 0.000726667 +0.00072 0.000733333 0.000753333 0.000753333 0.000746667 0.000726667 0.000706667 0.00072 +0.000726667 0.00074 0.000753333 0.000733333 0.000706667 0.000713333 0.000713333 0.000726667 +0.000753333 0.000746667 0.000713333 0.000713333 0.00072 0.000726667 0.000713333 0.0007 +0.000706667 0.0007 0.000693333 0.0007 0.00074 0.000746667 0.000726667 0.0007 +0.000686667 0.00072 0.000726667 0.000706667 0.000693333 0.000693333 0.0007 0.00072 +0.000733333 0.00072 0.000726667 0.00072 0.000693333 0.000693333 0.000713333 0.000713333 +0.0007 0.000686667 0.0007 0.0007 0.000706667 0.000706667 0.0007 0.000686667 +0.000693333 0.000693333 0.000686667 0.000693333 0.00072 0.000713333 0.000693333 0.00068 +0.000686667 0.0007 0.0007 0.000686667 0.000673333 0.000693333 0.000706667 0.000706667 +0.0007 0.00068 0.000653333 0.000666667 0.000673333 0.0007 0.000713333 0.000686667 +0.00068 0.000686667 0.000706667 0.000693333 0.000686667 0.000693333 0.000693333 0.0007 +0.000706667 0.000693333 0.00068 0.000673333 0.000673333 0.000673333 0.000653333 0.00066 +0.000646667 0.00066 0.000666667 0.000686667 0.000693333 0.000686667 0.00066 0.000606667 +0.000633333 0.000666667 0.000673333 0.000666667 0.000646667 0.00064 0.000653333 0.000673333 +0.00068 0.000666667 0.000653333 0.000673333 0.00066 0.000646667 0.00064 0.000626667 +0.000653333 0.000653333 0.00066 0.000653333 0.00064 0.00062 0.00064 0.000686667 +0.000673333 0.000693333 0.00068 0.000653333 0.000673333 0.000693333 0.000686667 0.00066 +0.000646667 0.000673333 0.00068 0.000653333 0.00064 0.000666667 0.00066 0.000673333 +0.00068 0.000666667 0.00068 0.00068 0.000646667 0.00066 0.000686667 0.00068 +0.000673333 0.000653333 0.00068 0.00068 0.000686667 0.00068 0.000673333 0.0007 +0.000686667 0.000653333 0.00064 0.00066 0.000693333 0.0007 0.000673333 0.00066 +0.000653333 0.00066 0.000686667 0.000686667 0.000686667 0.000673333 0.000653333 0.000666667 +0.000666667 0.000666667 0.000686667 0.0007 0.000713333 0.000693333 0.000673333 0.00068 +0.00068 0.000693333 0.000693333 0.0007 0.000713333 0.000686667 0.000673333 0.0007 +0.000693333 0.000666667 0.00066 0.000686667 0.0007 0.0007 0.000673333 0.00066 +0.000666667 0.00064 0.00066 0.000686667 0.000673333 0.000646667 0.000653333 0.000673333 +0.00066 0.00064 0.00064 0.000653333 0.000673333 0.000686667 0.000653333 0.000653333 +0.000653333 0.000653333 0.00066 0.000673333 0.000653333 0.000673333 0.0007 0.00064 +0.000646667 0.000626667 0.000626667 0.00064 0.000646667 0.000646667 0.000646667 0.000653333 +0.000653333 0.000673333 0.00066 0.000653333 0.00068 0.00066 0.000646667 0.000666667 +0.000673333 0.00066 0.000673333 0.000686667 0.000686667 0.000653333 0.00064 0.000673333 +0.000666667 0.000673333 0.00068 0.000666667 0.000666667 0.00068 0.000666667 0.000653333 +0.00068 0.00068 0.000666667 0.00068 0.000666667 0.000686667 0.00068 0.00068 +0.00064 0.00064 0.000673333 0.000686667 0.000646667 0.000693333 0.000706667 0.000693333 +0.0007 0.000666667 0.000686667 0.00068 0.000666667 0.000686667 0.000693333 0.000686667 +0.000666667 0.000706667 0.00068 0.000653333 0.000706667 0.000693333 0.00068 0.000673333 +0.000666667 0.000653333 0.0007 0.00068 0.000666667 0.00068 0.000666667 0.00068 +0.000693333 0.000706667 0.00066 0.00066 0.000693333 0.000673333 0.000673333 0.000713333 +0.000706667 0.000713333 0.000686667 0.000693333 0.000726667 0.000733333 0.000713333 0.000706667 +0.000653333 0.000666667 0.00068 0.000673333 0.00068 0.00068 0.000713333 0.0007 +0.000693333 0.00068 0.00068 0.000646667 0.000666667 0.000706667 0.000686667 0.000653333 +0.00066 0.000686667 0.0007 0.00068 0.00066 0.000726667 0.000706667 0.00064 +0.000666667 0.00068 0.0007 0.000693333 0.000673333 0.000673333 0.000693333 0.00068 +0.000666667 0.000673333 0.00066 0.000673333 0.00068 0.000693333 0.000686667 0.000666667 +0.000646667 0.000653333 0.000653333 0.00066 0.000666667 0.000666667 0.00068 0.000633333 +0.00064 0.000666667 0.000693333 0.000686667 0.00066 0.000673333 0.00066 0.000633333 +0.00066 0.000633333 0.000633333 0.000633333 0.000633333 0.000666667 0.000673333 0.000673333 +0.00068 0.000706667 0.000686667 0.00068 0.00066 0.00064 0.000646667 0.000693333 +0.000713333 0.000666667 0.000673333 0.00068 0.000693333 0.000706667 0.00074 0.000693333 +0.000666667 0.000706667 0.000726667 0.000726667 0.000706667 0.000713333 0.000733333 0.000713333 +0.00072 0.000706667 0.00072 0.000733333 0.000726667 0.000706667 0.000713333 0.000706667 +0.000726667 0.000753333 0.00072 0.0007 0.000726667 0.00072 0.00072 0.000733333 +0.000733333 0.000753333 0.000733333 0.000713333 0.000726667 0.000746667 0.000713333 0.0007 +0.00074 0.000766667 0.000713333 0.000733333 0.000746667 0.000746667 0.00074 0.000713333 +0.00072 0.000746667 0.000766667 0.000766667 0.000726667 0.000713333 0.000693333 0.00072 +0.000746667 0.00072 0.000753333 0.000753333 0.000726667 0.00072 0.00074 0.000753333 +0.000753333 0.000746667 0.000773333 0.000766667 0.000733333 0.000713333 0.00074 0.00076 +0.000753333 0.000746667 0.000726667 0.000733333 0.000773333 0.000753333 0.000726667 0.000726667 +0.00074 0.000746667 0.00076 0.000753333 0.00072 0.000713333 0.00072 0.00076 +0.000773333 0.00076 0.00074 0.000733333 0.00072 0.000713333 0.000733333 0.000766667 +0.000753333 0.000746667 0.000726667 0.000753333 0.000753333 0.000746667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000773333 0.000726667 0.00072 0.000746667 0.000746667 0.000746667 0.00074 +0.00076 0.000753333 0.00074 0.000746667 0.000766667 0.00076 0.000753333 0.000746667 +0.000726667 0.000713333 0.000713333 0.000726667 0.000753333 0.00076 0.000733333 0.00072 +0.000726667 0.000726667 0.000746667 0.000753333 0.000726667 0.0007 0.000706667 0.00072 +0.000726667 0.00074 0.000726667 0.000706667 0.000706667 0.000726667 0.000733333 0.00072 +0.000726667 0.00072 0.000713333 0.000693333 0.0007 0.000733333 0.000733333 0.00072 +0.000693333 0.000693333 0.0007 0.0007 0.000713333 0.000713333 0.000693333 0.000693333 +0.00072 0.00072 0.00072 0.00074 0.000726667 0.0007 0.00068 0.000686667 +0.0007 0.000686667 0.00068 0.000686667 0.0007 0.00072 0.000713333 0.000693333 +0.000706667 0.000693333 0.000693333 0.0007 0.0007 0.000706667 0.000706667 0.0007 +0.000693333 0.000686667 0.0007 0.000693333 0.00068 0.000706667 0.000706667 0.000686667 +0.00068 0.000693333 0.000686667 0.000686667 0.00068 0.000686667 0.000706667 0.0007 +0.000666667 0.000673333 0.000706667 0.000713333 0.000706667 0.000693333 0.00068 0.000666667 +0.000686667 0.0007 0.000693333 0.000666667 0.000666667 0.000686667 0.00066 0.00066 +0.000646667 0.000666667 0.000673333 0.000653333 0.000653333 0.000673333 0.000673333 0.000646667 +0.000646667 0.00064 0.00066 0.00068 0.000653333 0.000633333 0.00066 0.000653333 +0.000653333 0.000666667 0.00066 0.00068 0.00066 0.000666667 0.000653333 0.000646667 +0.000653333 0.000646667 0.000646667 0.00066 0.000666667 0.00064 0.000653333 0.000666667 +0.00068 0.000693333 0.000666667 0.000653333 0.000653333 0.000693333 0.000693333 0.00068 +0.000646667 0.000653333 0.00068 0.000673333 0.000666667 0.00066 0.000653333 0.000653333 +0.000673333 0.000673333 0.00068 0.00068 0.000666667 0.00066 0.00066 0.00068 +0.000673333 0.00066 0.00066 0.0007 0.000693333 0.000673333 0.000673333 0.000673333 +0.000693333 0.00068 0.00064 0.000646667 0.00068 0.000733333 0.0007 0.00068 +0.000666667 0.00066 0.000673333 0.00068 0.000686667 0.00068 0.000653333 0.000646667 +0.000666667 0.000653333 0.00068 0.000693333 0.000686667 0.000706667 0.000693333 0.000666667 +0.000686667 0.000726667 0.0007 0.00068 0.000713333 0.000706667 0.000686667 0.000686667 +0.00068 0.000686667 0.000686667 0.000666667 0.000673333 0.00068 0.00068 0.000673333 +0.000653333 0.000646667 0.000646667 0.000653333 0.000673333 0.000666667 0.00066 0.000686667 +0.00066 0.000653333 0.00064 0.000633333 0.000666667 0.000693333 0.000653333 0.000646667 +0.000646667 0.000646667 0.00066 0.000673333 0.00064 0.00064 0.0007 0.000673333 +0.000653333 0.00062 0.000593333 0.000646667 0.00066 0.000646667 0.000626667 0.00064 +0.00066 0.000673333 0.000666667 0.000673333 0.0007 0.000673333 0.00066 0.00068 +0.00066 0.00066 0.000666667 0.000686667 0.000693333 0.000673333 0.00066 0.00068 +0.00068 0.00066 0.00068 0.000666667 0.000666667 0.000693333 0.000673333 0.00066 +0.000693333 0.000673333 0.000653333 0.000693333 0.000686667 0.0007 0.00068 0.000666667 +0.000653333 0.000666667 0.000673333 0.000673333 0.00066 0.0007 0.000713333 0.000693333 +0.00068 0.00066 0.000673333 0.000673333 0.00066 0.000706667 0.000693333 0.000673333 +0.00068 0.000686667 0.000673333 0.000673333 0.000713333 0.00068 0.00068 0.000673333 +0.000646667 0.000673333 0.0007 0.00066 0.000686667 0.0007 0.00068 0.000693333 +0.0007 0.0007 0.000673333 0.000666667 0.000673333 0.000673333 0.000666667 0.000686667 +0.0007 0.000733333 0.000713333 0.000693333 0.000726667 0.00072 0.000673333 0.000693333 +0.000693333 0.000713333 0.000686667 0.000646667 0.000666667 0.000686667 0.00072 0.000693333 +0.000673333 0.000693333 0.000693333 0.000646667 0.0007 0.000706667 0.00066 0.00066 +0.000673333 0.0007 0.000693333 0.000666667 0.000666667 0.000693333 0.000686667 0.00066 +0.000686667 0.0007 0.0007 0.000686667 0.00068 0.000693333 0.000673333 0.00066 +0.000673333 0.000686667 0.00068 0.00068 0.000706667 0.00068 0.000673333 0.00068 +0.00066 0.000646667 0.00064 0.00068 0.000693333 0.00068 0.00066 0.00064 +0.000633333 0.000646667 0.000686667 0.0007 0.000653333 0.000686667 0.000666667 0.00066 +0.000673333 0.000646667 0.000646667 0.000633333 0.00064 0.00066 0.000653333 0.000673333 +0.000706667 0.000706667 0.00068 0.000653333 0.000646667 0.000626667 0.000666667 0.000713333 +0.000726667 0.00068 0.00068 0.000673333 0.00072 0.000726667 0.000706667 0.00068 +0.0007 0.000733333 0.00072 0.0007 0.000686667 0.00072 0.000733333 0.000706667 +0.00074 0.000733333 0.00074 0.00072 0.000686667 0.0007 0.000726667 0.000726667 +0.000713333 0.0007 0.000706667 0.000713333 0.000713333 0.00072 0.00074 0.000733333 +0.000733333 0.000746667 0.000733333 0.000706667 0.000726667 0.00074 0.000726667 0.000733333 +0.000726667 0.00072 0.00072 0.00076 0.000753333 0.000726667 0.00074 0.000733333 +0.00072 0.00074 0.00074 0.000746667 0.000733333 0.000713333 0.000726667 0.000753333 +0.000726667 0.000733333 0.000766667 0.000746667 0.00072 0.000753333 0.000746667 0.000746667 +0.000753333 0.000746667 0.000733333 0.000733333 0.000713333 0.000726667 0.000746667 0.000753333 +0.000753333 0.00074 0.000733333 0.000753333 0.00074 0.000733333 0.00074 0.000733333 +0.00072 0.000726667 0.000726667 0.000726667 0.00074 0.00074 0.000746667 0.000773333 +0.000746667 0.000726667 0.000746667 0.000733333 0.00072 0.000726667 0.00074 0.000753333 +0.000753333 0.000766667 0.000753333 0.000746667 0.0007 0.00074 0.000773333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00078 0.000766667 0.000766667 0.000733333 0.000733333 0.000746667 0.000746667 0.000746667 +0.000746667 0.000746667 0.000733333 0.00074 0.000746667 0.000746667 0.00074 0.00074 +0.000753333 0.000753333 0.00074 0.000726667 0.00072 0.000746667 0.000746667 0.000733333 +0.000726667 0.00072 0.000713333 0.000726667 0.000746667 0.000746667 0.000713333 0.00072 +0.000713333 0.000713333 0.00074 0.000746667 0.000713333 0.000693333 0.000713333 0.000713333 +0.00072 0.00072 0.00072 0.000726667 0.00072 0.0007 0.0007 0.00072 +0.00072 0.000713333 0.000706667 0.000686667 0.000693333 0.0007 0.000686667 0.000693333 +0.000693333 0.000693333 0.000706667 0.000726667 0.00072 0.000713333 0.000706667 0.000686667 +0.000686667 0.000686667 0.00068 0.000693333 0.0007 0.000706667 0.000713333 0.000706667 +0.000713333 0.000693333 0.00068 0.000706667 0.0007 0.000693333 0.0007 0.000706667 +0.000713333 0.0007 0.000686667 0.00068 0.00068 0.000706667 0.00072 0.000693333 +0.00068 0.00068 0.000693333 0.000693333 0.000686667 0.000693333 0.000686667 0.000693333 +0.000666667 0.00068 0.000686667 0.000706667 0.000706667 0.0007 0.000686667 0.000673333 +0.000666667 0.000686667 0.000693333 0.00068 0.000666667 0.000686667 0.00068 0.00066 +0.000653333 0.000653333 0.00066 0.000646667 0.000633333 0.000653333 0.000653333 0.000666667 +0.00066 0.000653333 0.000673333 0.000686667 0.000666667 0.000646667 0.000673333 0.00064 +0.00062 0.000653333 0.000673333 0.00068 0.00066 0.000673333 0.000653333 0.000653333 +0.000673333 0.000666667 0.000646667 0.000646667 0.000673333 0.00066 0.000666667 0.00066 +0.000666667 0.000666667 0.000653333 0.000653333 0.000646667 0.000666667 0.000673333 0.0007 +0.000706667 0.000673333 0.000673333 0.00068 0.000673333 0.000666667 0.000686667 0.000666667 +0.000653333 0.000653333 0.00068 0.000693333 0.000686667 0.000673333 0.00066 0.000666667 +0.000666667 0.000673333 0.000653333 0.00068 0.000693333 0.000673333 0.000673333 0.00066 +0.000666667 0.000693333 0.00068 0.000673333 0.00068 0.000686667 0.000693333 0.000706667 +0.000686667 0.00068 0.000673333 0.000653333 0.000666667 0.000686667 0.000686667 0.000673333 +0.000673333 0.000653333 0.00068 0.000713333 0.0007 0.00072 0.000706667 0.00068 +0.000673333 0.000713333 0.00072 0.000686667 0.000693333 0.0007 0.000713333 0.000713333 +0.000673333 0.000653333 0.000666667 0.00068 0.000693333 0.000666667 0.00068 0.000673333 +0.000646667 0.000646667 0.000646667 0.00064 0.000666667 0.00068 0.00068 0.000686667 +0.000653333 0.000646667 0.00064 0.000633333 0.00066 0.00068 0.00066 0.000646667 +0.00064 0.00064 0.000646667 0.000673333 0.000653333 0.000626667 0.000673333 0.000673333 +0.000666667 0.000653333 0.0006 0.000626667 0.000653333 0.00066 0.000653333 0.000633333 +0.000633333 0.000666667 0.000673333 0.00068 0.000693333 0.00066 0.000666667 0.000693333 +0.00066 0.00068 0.000673333 0.000666667 0.000686667 0.000686667 0.00068 0.000686667 +0.000666667 0.00066 0.00068 0.000673333 0.00068 0.000713333 0.000686667 0.000666667 +0.000693333 0.00068 0.00066 0.00068 0.000666667 0.000686667 0.000666667 0.000666667 +0.000686667 0.00068 0.000673333 0.000666667 0.00066 0.000673333 0.000693333 0.00068 +0.000666667 0.000686667 0.000693333 0.000686667 0.000666667 0.000686667 0.000693333 0.000693333 +0.00068 0.00068 0.000666667 0.000686667 0.0007 0.000666667 0.000666667 0.00068 +0.000673333 0.00068 0.00068 0.000646667 0.000686667 0.000693333 0.000686667 0.000706667 +0.0007 0.000693333 0.000686667 0.00066 0.000653333 0.000673333 0.000673333 0.000666667 +0.000693333 0.00074 0.00072 0.000693333 0.000726667 0.000713333 0.000686667 0.000713333 +0.00072 0.000746667 0.00068 0.00064 0.00066 0.000686667 0.000686667 0.000666667 +0.000666667 0.000706667 0.000693333 0.000646667 0.000713333 0.0007 0.000646667 0.00064 +0.000693333 0.0007 0.00066 0.000673333 0.000693333 0.000686667 0.00066 0.000666667 +0.000693333 0.0007 0.000673333 0.00068 0.0007 0.000713333 0.000666667 0.000666667 +0.000673333 0.000666667 0.0007 0.000706667 0.000706667 0.00066 0.000673333 0.000693333 +0.000666667 0.000633333 0.00066 0.000706667 0.000673333 0.00066 0.000646667 0.000666667 +0.00064 0.00064 0.0007 0.000733333 0.00066 0.00066 0.000673333 0.000686667 +0.000673333 0.00066 0.000666667 0.000646667 0.00064 0.000633333 0.000646667 0.00068 +0.000713333 0.000693333 0.000653333 0.000626667 0.00064 0.000653333 0.000693333 0.000713333 +0.000726667 0.000713333 0.00068 0.0007 0.000726667 0.000706667 0.000673333 0.000693333 +0.00072 0.000726667 0.00072 0.000713333 0.000706667 0.000733333 0.000733333 0.000733333 +0.000733333 0.00074 0.000733333 0.000686667 0.000666667 0.00072 0.000733333 0.000733333 +0.000706667 0.0007 0.000733333 0.000726667 0.00072 0.000726667 0.000746667 0.000733333 +0.00074 0.00074 0.000733333 0.000713333 0.00072 0.000726667 0.000713333 0.000713333 +0.00072 0.000726667 0.000753333 0.000733333 0.000726667 0.000733333 0.000746667 0.00074 +0.000733333 0.00074 0.000726667 0.000753333 0.000746667 0.00072 0.00074 0.00074 +0.000726667 0.00074 0.000733333 0.000733333 0.00072 0.00074 0.000753333 0.000746667 +0.000746667 0.00074 0.000706667 0.000753333 0.000753333 0.000753333 0.000733333 0.000733333 +0.00074 0.000753333 0.000753333 0.00074 0.00072 0.000753333 0.000733333 0.000726667 +0.000726667 0.0007 0.00072 0.00076 0.00074 0.000746667 0.000746667 0.000753333 +0.000733333 0.000733333 0.000753333 0.000726667 0.00072 0.00074 0.000753333 0.000753333 +0.00076 0.000773333 0.000753333 0.000726667 0.000713333 0.000786667 0.0008 0.000773333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00078 +0.000753333 0.000746667 0.000773333 0.00076 0.000733333 0.00072 0.000726667 0.00074 +0.00076 0.00076 0.000753333 0.000746667 0.00074 0.000726667 0.00072 0.000726667 +0.00074 0.000753333 0.000766667 0.000753333 0.00074 0.00074 0.000726667 0.000726667 +0.000753333 0.000726667 0.000713333 0.000706667 0.0007 0.000713333 0.00072 0.000733333 +0.000733333 0.000713333 0.00072 0.00074 0.00074 0.000706667 0.000693333 0.000693333 +0.000706667 0.000713333 0.0007 0.000706667 0.000726667 0.000733333 0.00072 0.000713333 +0.000693333 0.00072 0.000726667 0.000713333 0.000706667 0.000693333 0.0007 0.0007 +0.0007 0.000693333 0.000686667 0.000713333 0.000706667 0.0007 0.000726667 0.000726667 +0.000693333 0.000673333 0.000666667 0.00068 0.000706667 0.0007 0.000713333 0.000706667 +0.000706667 0.0007 0.000686667 0.000686667 0.000686667 0.00068 0.00068 0.000693333 +0.000713333 0.00072 0.000693333 0.000693333 0.000693333 0.000693333 0.000693333 0.000693333 +0.000706667 0.000686667 0.000693333 0.000706667 0.000693333 0.0007 0.000686667 0.000686667 +0.000693333 0.000706667 0.0007 0.000693333 0.000706667 0.000733333 0.000713333 0.000673333 +0.000646667 0.000686667 0.000693333 0.000686667 0.000673333 0.000666667 0.000686667 0.000666667 +0.000653333 0.000646667 0.000666667 0.000646667 0.000633333 0.000653333 0.000646667 0.000666667 +0.000666667 0.000653333 0.00066 0.000673333 0.000673333 0.000673333 0.000673333 0.000646667 +0.000626667 0.000653333 0.000666667 0.000666667 0.00064 0.000646667 0.00066 0.000653333 +0.00066 0.000666667 0.00066 0.000653333 0.00068 0.000686667 0.00066 0.000646667 +0.00066 0.00066 0.00066 0.000666667 0.00066 0.00064 0.00064 0.00068 +0.00072 0.0007 0.000673333 0.000673333 0.000673333 0.00066 0.00068 0.00068 +0.000666667 0.000646667 0.000646667 0.00068 0.000693333 0.000673333 0.000673333 0.000673333 +0.000653333 0.000666667 0.00068 0.000666667 0.000646667 0.000666667 0.00066 0.000653333 +0.000646667 0.000673333 0.000693333 0.000693333 0.000686667 0.00066 0.000686667 0.000706667 +0.000686667 0.00068 0.000666667 0.000653333 0.00066 0.000693333 0.000713333 0.000713333 +0.000686667 0.00066 0.000666667 0.0007 0.0007 0.0007 0.0007 0.00068 +0.000666667 0.000693333 0.000713333 0.000693333 0.000666667 0.00068 0.0007 0.000706667 +0.000706667 0.00066 0.00064 0.000673333 0.000706667 0.000686667 0.00068 0.000686667 +0.000673333 0.000646667 0.00064 0.000653333 0.00066 0.000646667 0.000666667 0.000693333 +0.000686667 0.000633333 0.00064 0.000666667 0.00066 0.000686667 0.000673333 0.000646667 +0.000653333 0.00066 0.000646667 0.000646667 0.000673333 0.000646667 0.000673333 0.00066 +0.00064 0.00068 0.000646667 0.000626667 0.00064 0.000666667 0.000673333 0.000646667 +0.000646667 0.00066 0.00066 0.00068 0.000666667 0.000653333 0.000673333 0.000686667 +0.000646667 0.000666667 0.000673333 0.00066 0.000673333 0.000686667 0.000686667 0.000693333 +0.000666667 0.000673333 0.000693333 0.000673333 0.000666667 0.0007 0.000706667 0.0007 +0.0007 0.000666667 0.00066 0.000693333 0.000693333 0.00068 0.00066 0.00068 +0.0007 0.00068 0.000693333 0.000693333 0.000653333 0.000686667 0.00068 0.000673333 +0.0007 0.000693333 0.00068 0.0007 0.000673333 0.000666667 0.0007 0.000713333 +0.00068 0.00068 0.000666667 0.000686667 0.0007 0.000646667 0.000653333 0.000686667 +0.000693333 0.000693333 0.00068 0.00064 0.000666667 0.00068 0.000706667 0.0007 +0.000693333 0.000686667 0.000673333 0.00066 0.00066 0.000673333 0.000673333 0.00068 +0.0007 0.000726667 0.000713333 0.000706667 0.000733333 0.0007 0.000686667 0.000706667 +0.000706667 0.00074 0.000693333 0.000666667 0.000673333 0.000693333 0.000686667 0.000673333 +0.000673333 0.000706667 0.000686667 0.000686667 0.0007 0.00066 0.00066 0.000626667 +0.000673333 0.000706667 0.00066 0.00066 0.00068 0.000706667 0.000673333 0.000673333 +0.000713333 0.000706667 0.00066 0.000673333 0.000686667 0.000693333 0.000673333 0.000673333 +0.000673333 0.00064 0.000713333 0.000726667 0.000693333 0.000673333 0.0007 0.000686667 +0.00066 0.000633333 0.00068 0.000706667 0.00066 0.00066 0.000653333 0.000673333 +0.000666667 0.000653333 0.000713333 0.000713333 0.000666667 0.000653333 0.00068 0.000673333 +0.000673333 0.00068 0.00066 0.000646667 0.000633333 0.000633333 0.000653333 0.0007 +0.0007 0.000666667 0.000646667 0.000633333 0.000626667 0.00066 0.000686667 0.000693333 +0.000706667 0.000713333 0.000693333 0.000733333 0.00072 0.000693333 0.0007 0.000733333 +0.000706667 0.000706667 0.000726667 0.00072 0.0007 0.0007 0.000733333 0.00074 +0.00072 0.000726667 0.000713333 0.000686667 0.0007 0.000726667 0.000733333 0.000746667 +0.00072 0.000733333 0.000746667 0.00072 0.0007 0.000713333 0.000746667 0.00074 +0.000746667 0.00072 0.000713333 0.000713333 0.000713333 0.00072 0.000706667 0.000726667 +0.000733333 0.000753333 0.000746667 0.000706667 0.00074 0.000746667 0.000753333 0.000726667 +0.000746667 0.000753333 0.00074 0.00076 0.00074 0.00072 0.00072 0.000726667 +0.00074 0.00072 0.0007 0.000733333 0.000726667 0.000733333 0.00076 0.000726667 +0.000713333 0.000726667 0.00074 0.00078 0.00074 0.00074 0.000726667 0.00074 +0.00076 0.000753333 0.000746667 0.000733333 0.000726667 0.000753333 0.000733333 0.00074 +0.000686667 0.000666667 0.00076 0.000773333 0.000733333 0.000746667 0.000733333 0.000713333 +0.00072 0.000726667 0.00076 0.000746667 0.00076 0.00076 0.000746667 0.00074 +0.000733333 0.000733333 0.000726667 0.000726667 0.000753333 0.000786667 0.000733333 0.000713333 +0.000766667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.0008 0.000766667 +0.000766667 0.000753333 0.000746667 0.000753333 0.000766667 0.000766667 0.00074 0.000713333 +0.00072 0.00074 0.00074 0.000753333 0.000766667 0.000746667 0.000726667 0.000726667 +0.000733333 0.00072 0.000733333 0.000733333 0.000733333 0.000746667 0.000746667 0.000733333 +0.000753333 0.000746667 0.000733333 0.00074 0.000726667 0.0007 0.0007 0.000706667 +0.00072 0.000726667 0.000713333 0.000713333 0.000726667 0.000733333 0.00074 0.000726667 +0.000713333 0.000713333 0.000706667 0.000693333 0.0007 0.000726667 0.000733333 0.00072 +0.000693333 0.000706667 0.000713333 0.000713333 0.000733333 0.000726667 0.000713333 0.000706667 +0.000713333 0.0007 0.000673333 0.00068 0.000706667 0.000713333 0.00072 0.00074 +0.00072 0.000693333 0.00068 0.000673333 0.00068 0.000693333 0.0007 0.000713333 +0.00072 0.000686667 0.000686667 0.000686667 0.000706667 0.000693333 0.000653333 0.000673333 +0.000686667 0.00072 0.00072 0.0007 0.0007 0.000713333 0.000686667 0.000686667 +0.000693333 0.000686667 0.00068 0.000693333 0.000713333 0.0007 0.000686667 0.000686667 +0.000706667 0.00072 0.0007 0.000686667 0.0007 0.000726667 0.00072 0.000706667 +0.000666667 0.00066 0.00068 0.000693333 0.000693333 0.000673333 0.000686667 0.000666667 +0.000653333 0.000646667 0.000666667 0.000653333 0.000626667 0.00064 0.000646667 0.000673333 +0.000673333 0.000653333 0.000646667 0.00064 0.000646667 0.000666667 0.000673333 0.00066 +0.000653333 0.000653333 0.000666667 0.000666667 0.00064 0.000613333 0.00064 0.000646667 +0.000646667 0.000646667 0.00066 0.00066 0.00066 0.000673333 0.000653333 0.000666667 +0.000653333 0.00066 0.00068 0.000673333 0.00068 0.000653333 0.00064 0.000646667 +0.000673333 0.000686667 0.000706667 0.000686667 0.000666667 0.000646667 0.000633333 0.000673333 +0.0007 0.00068 0.000626667 0.000646667 0.00068 0.00068 0.000686667 0.00068 +0.00066 0.00066 0.000693333 0.000713333 0.000666667 0.000653333 0.000633333 0.000653333 +0.000646667 0.00064 0.00068 0.00068 0.000673333 0.000686667 0.0007 0.000686667 +0.000686667 0.00068 0.000673333 0.00066 0.00066 0.00068 0.00068 0.000713333 +0.000706667 0.000686667 0.000653333 0.0007 0.000713333 0.000693333 0.000693333 0.00066 +0.000666667 0.0007 0.000713333 0.000693333 0.000666667 0.00068 0.00068 0.000673333 +0.0007 0.0007 0.00068 0.000673333 0.00068 0.00068 0.000666667 0.000693333 +0.000693333 0.000653333 0.000646667 0.000686667 0.000686667 0.000653333 0.00064 0.000673333 +0.000706667 0.000666667 0.00064 0.000646667 0.000653333 0.000693333 0.00068 0.000653333 +0.00066 0.00068 0.000666667 0.00064 0.00066 0.000653333 0.000673333 0.000673333 +0.000646667 0.000673333 0.000666667 0.000646667 0.00064 0.000653333 0.000653333 0.00066 +0.00066 0.000653333 0.00064 0.00066 0.00066 0.00066 0.00068 0.0007 +0.000666667 0.000666667 0.00066 0.00066 0.00066 0.000673333 0.000686667 0.000706667 +0.00068 0.00068 0.000686667 0.00066 0.000646667 0.000693333 0.00072 0.000693333 +0.000686667 0.00068 0.00068 0.000713333 0.000733333 0.000686667 0.00068 0.000693333 +0.000693333 0.000686667 0.000686667 0.000693333 0.000673333 0.000713333 0.000693333 0.000686667 +0.00072 0.00066 0.00066 0.0007 0.000666667 0.000673333 0.000706667 0.00072 +0.000686667 0.000673333 0.000646667 0.000686667 0.000706667 0.00066 0.00066 0.000693333 +0.00068 0.000686667 0.000673333 0.000646667 0.000666667 0.000686667 0.0007 0.000713333 +0.000693333 0.000686667 0.000666667 0.000686667 0.000673333 0.00066 0.000686667 0.0007 +0.0007 0.000706667 0.0007 0.000713333 0.000733333 0.000713333 0.0007 0.00068 +0.00068 0.000713333 0.000693333 0.000693333 0.0007 0.000686667 0.000686667 0.000693333 +0.000693333 0.00072 0.0007 0.000686667 0.000673333 0.00066 0.00068 0.000653333 +0.000686667 0.000713333 0.000673333 0.000646667 0.000673333 0.000713333 0.000686667 0.00068 +0.000706667 0.000706667 0.000666667 0.00066 0.00068 0.000666667 0.00066 0.000686667 +0.00068 0.000673333 0.000713333 0.00072 0.000686667 0.00068 0.000686667 0.00066 +0.00066 0.00066 0.000673333 0.000666667 0.000686667 0.00068 0.000653333 0.00066 +0.000673333 0.00066 0.000686667 0.000666667 0.000673333 0.00066 0.000666667 0.000673333 +0.000686667 0.00068 0.00064 0.000646667 0.000633333 0.000633333 0.00068 0.000713333 +0.000666667 0.000653333 0.000646667 0.00062 0.000626667 0.00066 0.00068 0.000673333 +0.000713333 0.000733333 0.000713333 0.000713333 0.000706667 0.0007 0.000693333 0.0007 +0.000693333 0.0007 0.000713333 0.000686667 0.000693333 0.0007 0.000746667 0.00072 +0.000706667 0.00074 0.000733333 0.000713333 0.000713333 0.000733333 0.000746667 0.000746667 +0.000726667 0.000726667 0.000726667 0.000706667 0.00068 0.00072 0.00076 0.00074 +0.000713333 0.000706667 0.00072 0.00072 0.000713333 0.00074 0.000733333 0.00074 +0.000726667 0.00074 0.000746667 0.00074 0.00074 0.00074 0.00074 0.000726667 +0.000733333 0.00074 0.000746667 0.000726667 0.00072 0.000733333 0.000733333 0.00072 +0.00072 0.000706667 0.000726667 0.00074 0.000733333 0.00074 0.000726667 0.0007 +0.000726667 0.00076 0.000766667 0.00074 0.000726667 0.00076 0.000733333 0.000746667 +0.00076 0.000733333 0.000733333 0.00074 0.000733333 0.00074 0.000713333 0.0007 +0.000686667 0.000726667 0.000766667 0.000753333 0.000733333 0.000753333 0.000733333 0.000713333 +0.00074 0.000746667 0.00074 0.000733333 0.00076 0.00074 0.00072 0.000713333 +0.000726667 0.00074 0.000746667 0.000746667 0.00076 0.000753333 0.000726667 0.00074 +0.00076 0.000766667 0.000506667 0.000506667 0.000506667 0.000766667 0.00076 0.000753333 +0.000753333 0.000766667 0.000746667 0.000746667 0.00074 0.000746667 0.000753333 0.00076 +0.000753333 0.000726667 0.0007 0.00072 0.000746667 0.000746667 0.00074 0.000746667 +0.00076 0.000726667 0.00072 0.000726667 0.00072 0.000713333 0.000726667 0.000733333 +0.00074 0.000746667 0.000753333 0.000746667 0.00076 0.00074 0.000726667 0.00072 +0.000713333 0.00072 0.000713333 0.000713333 0.000706667 0.0007 0.000726667 0.000746667 +0.000733333 0.000713333 0.000713333 0.0007 0.0007 0.000706667 0.0007 0.00072 +0.00072 0.000713333 0.000706667 0.000693333 0.000713333 0.000733333 0.00072 0.000713333 +0.000706667 0.0007 0.000686667 0.000673333 0.000693333 0.0007 0.0007 0.000706667 +0.00072 0.000726667 0.000706667 0.000693333 0.000686667 0.0007 0.0007 0.000693333 +0.00072 0.000713333 0.000693333 0.000693333 0.0007 0.0007 0.0007 0.000673333 +0.000673333 0.00068 0.0007 0.00068 0.000686667 0.000726667 0.000713333 0.000693333 +0.000673333 0.000666667 0.00068 0.00068 0.0007 0.000686667 0.0007 0.000686667 +0.000686667 0.000706667 0.000693333 0.000686667 0.000706667 0.000713333 0.000706667 0.000713333 +0.000713333 0.000673333 0.000646667 0.000666667 0.00068 0.000686667 0.0007 0.000673333 +0.000666667 0.00066 0.00066 0.000646667 0.00064 0.000626667 0.000653333 0.000666667 +0.000666667 0.000673333 0.000673333 0.00064 0.000633333 0.000646667 0.000666667 0.000673333 +0.000673333 0.000653333 0.00064 0.00066 0.000646667 0.00062 0.00062 0.000633333 +0.000653333 0.00066 0.000666667 0.000673333 0.00066 0.00066 0.000646667 0.000666667 +0.000666667 0.000666667 0.00066 0.000673333 0.000686667 0.00068 0.00066 0.000653333 +0.00064 0.000666667 0.000706667 0.000693333 0.000673333 0.000673333 0.00064 0.000646667 +0.000673333 0.0007 0.000666667 0.00064 0.00066 0.00066 0.000666667 0.000666667 +0.000666667 0.00068 0.000686667 0.000713333 0.000733333 0.000693333 0.000626667 0.00064 +0.000666667 0.00066 0.000666667 0.000693333 0.000673333 0.000673333 0.000686667 0.00068 +0.00066 0.000673333 0.000713333 0.000693333 0.000673333 0.000666667 0.000646667 0.000673333 +0.000706667 0.000713333 0.000653333 0.000686667 0.000733333 0.000713333 0.0007 0.000666667 +0.00066 0.000693333 0.000726667 0.000686667 0.000666667 0.000706667 0.000693333 0.00068 +0.000693333 0.000686667 0.000693333 0.000686667 0.000673333 0.00066 0.00066 0.00068 +0.000686667 0.000666667 0.000646667 0.000666667 0.000693333 0.000686667 0.00066 0.000646667 +0.00068 0.000673333 0.000653333 0.000633333 0.000633333 0.000666667 0.0007 0.000666667 +0.00066 0.000666667 0.000666667 0.00066 0.00066 0.000633333 0.00064 0.000646667 +0.000653333 0.00066 0.00064 0.000666667 0.000666667 0.000653333 0.00064 0.000646667 +0.000653333 0.000666667 0.000653333 0.000646667 0.000666667 0.00068 0.00066 0.000693333 +0.00068 0.00068 0.000673333 0.000646667 0.000646667 0.000666667 0.000673333 0.000706667 +0.00068 0.000673333 0.000686667 0.000666667 0.000646667 0.000693333 0.000706667 0.000673333 +0.00066 0.000666667 0.000693333 0.000733333 0.000733333 0.000686667 0.00068 0.000706667 +0.000706667 0.000686667 0.000666667 0.000686667 0.0007 0.000733333 0.000713333 0.0007 +0.000706667 0.000673333 0.000686667 0.000686667 0.000666667 0.000673333 0.000706667 0.000726667 +0.0007 0.00068 0.00064 0.00066 0.000686667 0.000666667 0.000673333 0.000686667 +0.000666667 0.00068 0.00066 0.00066 0.000666667 0.00066 0.0007 0.000733333 +0.0007 0.000666667 0.000666667 0.0007 0.00068 0.00066 0.000693333 0.00072 +0.000713333 0.000686667 0.000686667 0.000706667 0.000726667 0.00072 0.0007 0.000673333 +0.000693333 0.000713333 0.000686667 0.0007 0.000713333 0.000686667 0.00068 0.000706667 +0.000693333 0.000706667 0.000706667 0.000673333 0.000673333 0.00068 0.000693333 0.000693333 +0.000733333 0.000706667 0.000686667 0.000666667 0.000666667 0.0007 0.000686667 0.000693333 +0.000686667 0.00068 0.00066 0.00066 0.00068 0.00066 0.000673333 0.000706667 +0.0007 0.0007 0.000706667 0.000686667 0.000673333 0.000673333 0.000666667 0.000673333 +0.000673333 0.00068 0.000673333 0.00066 0.000693333 0.000666667 0.00066 0.00066 +0.000686667 0.000693333 0.00064 0.000626667 0.000693333 0.000686667 0.000653333 0.00068 +0.000693333 0.00068 0.000653333 0.00064 0.000626667 0.000653333 0.0007 0.000673333 +0.00064 0.000633333 0.00064 0.000646667 0.000673333 0.000686667 0.00068 0.000686667 +0.00072 0.00074 0.000733333 0.000713333 0.000693333 0.000673333 0.000673333 0.000673333 +0.000706667 0.0007 0.0007 0.000706667 0.00074 0.00074 0.000746667 0.00072 +0.00072 0.000726667 0.0007 0.0007 0.000726667 0.000746667 0.00074 0.000706667 +0.00072 0.00072 0.0007 0.0007 0.0007 0.000733333 0.00074 0.000733333 +0.00072 0.000733333 0.00074 0.000726667 0.000726667 0.00076 0.000733333 0.000726667 +0.000726667 0.00074 0.000746667 0.00074 0.000713333 0.000726667 0.000733333 0.000746667 +0.000733333 0.0007 0.000706667 0.000706667 0.00074 0.00074 0.000733333 0.000713333 +0.00068 0.000693333 0.000733333 0.00074 0.00076 0.000726667 0.00072 0.000746667 +0.000753333 0.000753333 0.000746667 0.00074 0.00076 0.000753333 0.00074 0.000733333 +0.000733333 0.000726667 0.00074 0.000753333 0.00074 0.000713333 0.000686667 0.000693333 +0.000766667 0.000766667 0.00072 0.000733333 0.00074 0.00074 0.00074 0.000746667 +0.000713333 0.000706667 0.000726667 0.000733333 0.000746667 0.000726667 0.000726667 0.000726667 +0.00076 0.00076 0.00076 0.00072 0.00072 0.000746667 0.00078 0.000773333 +0.00076 0.00074 0.00076 0.000506667 0.000506667 0.000786667 0.00074 0.000746667 +0.00076 0.00076 0.000766667 0.000766667 0.000753333 0.00072 0.000726667 0.00076 +0.000766667 0.000753333 0.000726667 0.00072 0.00072 0.000726667 0.000726667 0.00074 +0.000753333 0.000733333 0.000733333 0.00074 0.00074 0.000733333 0.000726667 0.000733333 +0.000726667 0.00072 0.000726667 0.00074 0.00076 0.000753333 0.00074 0.000746667 +0.00074 0.000726667 0.00072 0.000713333 0.000713333 0.000693333 0.00068 0.000713333 +0.000733333 0.00072 0.000726667 0.000706667 0.000706667 0.000706667 0.000686667 0.000706667 +0.0007 0.000706667 0.000726667 0.00072 0.000706667 0.000713333 0.00072 0.000726667 +0.000726667 0.000706667 0.000693333 0.000686667 0.000713333 0.000693333 0.000686667 0.0007 +0.000693333 0.000686667 0.000713333 0.000706667 0.000706667 0.000706667 0.000713333 0.000693333 +0.000693333 0.000713333 0.00072 0.000726667 0.0007 0.000693333 0.000713333 0.000686667 +0.00068 0.00068 0.000673333 0.00066 0.000666667 0.0007 0.000713333 0.00072 +0.0007 0.000666667 0.00066 0.000693333 0.000713333 0.000693333 0.000693333 0.00068 +0.00068 0.000686667 0.000686667 0.000673333 0.000686667 0.000693333 0.0007 0.000706667 +0.000726667 0.000693333 0.00066 0.00066 0.00066 0.000666667 0.000686667 0.00068 +0.00068 0.000686667 0.00068 0.000653333 0.000646667 0.00064 0.00064 0.00064 +0.000646667 0.000686667 0.000673333 0.00064 0.000646667 0.000666667 0.000653333 0.000626667 +0.000673333 0.000673333 0.00064 0.000626667 0.000646667 0.000666667 0.000633333 0.0006 +0.000626667 0.000673333 0.000673333 0.000673333 0.00068 0.000666667 0.000673333 0.000673333 +0.00066 0.000673333 0.000666667 0.000653333 0.000653333 0.00068 0.00068 0.000653333 +0.000653333 0.000646667 0.000653333 0.000693333 0.000706667 0.000713333 0.000673333 0.00064 +0.00066 0.000666667 0.000686667 0.00066 0.000653333 0.00066 0.000646667 0.000653333 +0.00066 0.000673333 0.000673333 0.0007 0.00072 0.000713333 0.00068 0.000646667 +0.000666667 0.00068 0.000653333 0.000666667 0.000693333 0.000673333 0.00068 0.000693333 +0.000673333 0.00066 0.0007 0.000713333 0.00068 0.00066 0.000646667 0.000653333 +0.000686667 0.000713333 0.000693333 0.000673333 0.00068 0.000693333 0.0007 0.000693333 +0.00068 0.000686667 0.00072 0.000706667 0.00066 0.00066 0.00068 0.000706667 +0.0007 0.00068 0.000686667 0.0007 0.000693333 0.000686667 0.00066 0.00066 +0.000673333 0.000686667 0.000653333 0.000646667 0.000686667 0.000706667 0.000693333 0.00064 +0.00064 0.000653333 0.000653333 0.000646667 0.00064 0.000646667 0.000673333 0.000666667 +0.000666667 0.000666667 0.000666667 0.00066 0.00068 0.00066 0.000653333 0.00064 +0.000646667 0.000646667 0.000626667 0.000646667 0.000666667 0.00066 0.000633333 0.00064 +0.000653333 0.000666667 0.00066 0.000653333 0.00066 0.000673333 0.00068 0.000686667 +0.00068 0.000673333 0.00068 0.00066 0.000633333 0.00066 0.000653333 0.000693333 +0.00068 0.000673333 0.000686667 0.00068 0.000673333 0.000673333 0.0007 0.0007 +0.000673333 0.00066 0.00066 0.00072 0.000733333 0.000693333 0.000666667 0.000693333 +0.000733333 0.000706667 0.0007 0.0007 0.000686667 0.000713333 0.000713333 0.000693333 +0.0007 0.000693333 0.0007 0.0007 0.00068 0.00068 0.000726667 0.00074 +0.00072 0.000713333 0.000666667 0.00064 0.00068 0.00068 0.00068 0.000693333 +0.00068 0.00066 0.000666667 0.000686667 0.000666667 0.000653333 0.000686667 0.000706667 +0.000693333 0.000673333 0.000646667 0.000693333 0.000686667 0.000673333 0.0007 0.00072 +0.000733333 0.00068 0.000673333 0.000733333 0.000733333 0.0007 0.000693333 0.00068 +0.000726667 0.000713333 0.000686667 0.000686667 0.00072 0.000693333 0.000673333 0.00068 +0.000693333 0.000686667 0.00068 0.000693333 0.000693333 0.000693333 0.000673333 0.000713333 +0.000753333 0.000706667 0.000686667 0.000693333 0.000686667 0.000673333 0.000673333 0.000693333 +0.000686667 0.000666667 0.00068 0.0007 0.000686667 0.000673333 0.000686667 0.000693333 +0.000686667 0.000706667 0.000693333 0.000673333 0.000666667 0.000673333 0.00068 0.000673333 +0.00068 0.000693333 0.000673333 0.000666667 0.000693333 0.000693333 0.000686667 0.000686667 +0.0007 0.000706667 0.00062 0.000626667 0.000713333 0.000693333 0.000666667 0.000666667 +0.000686667 0.000686667 0.00066 0.00064 0.00066 0.000693333 0.000686667 0.00064 +0.000646667 0.000646667 0.000666667 0.000666667 0.000673333 0.000673333 0.000693333 0.0007 +0.000706667 0.000726667 0.00074 0.000713333 0.000673333 0.000666667 0.000666667 0.000713333 +0.00074 0.000706667 0.000706667 0.000746667 0.000733333 0.000706667 0.000713333 0.00074 +0.000726667 0.0007 0.000673333 0.000706667 0.000733333 0.000733333 0.000706667 0.000693333 +0.000706667 0.000706667 0.000706667 0.000733333 0.000726667 0.0007 0.00072 0.00074 +0.00074 0.000753333 0.000733333 0.000713333 0.00074 0.000753333 0.000706667 0.00072 +0.000733333 0.00072 0.00072 0.00072 0.000713333 0.000733333 0.000753333 0.000753333 +0.000713333 0.000693333 0.0007 0.00076 0.00076 0.000706667 0.000706667 0.000706667 +0.00068 0.000706667 0.000746667 0.000753333 0.000753333 0.00072 0.000753333 0.000766667 +0.00074 0.00072 0.000726667 0.000753333 0.000753333 0.000733333 0.00074 0.00072 +0.00074 0.000753333 0.00078 0.000753333 0.000713333 0.000693333 0.00072 0.000753333 +0.00076 0.000693333 0.00068 0.00072 0.00072 0.000726667 0.00074 0.000706667 +0.00068 0.00074 0.000773333 0.000753333 0.00074 0.000726667 0.000746667 0.000753333 +0.000773333 0.000746667 0.000733333 0.00072 0.000746667 0.000766667 0.000766667 0.000753333 +0.000746667 0.000733333 0.00074 0.000506667 0.000806667 0.000786667 0.000773333 0.000773333 +0.00078 0.000766667 0.000766667 0.00078 0.00076 0.000746667 0.000746667 0.00074 +0.000733333 0.000746667 0.00076 0.000753333 0.000733333 0.000733333 0.000733333 0.000733333 +0.000713333 0.000706667 0.000733333 0.000733333 0.00074 0.00074 0.000733333 0.00072 +0.000726667 0.000733333 0.00072 0.00072 0.00072 0.00074 0.000746667 0.00074 +0.000746667 0.000746667 0.000726667 0.000713333 0.00072 0.00072 0.0007 0.000693333 +0.000713333 0.000713333 0.00072 0.000713333 0.000713333 0.000713333 0.000706667 0.0007 +0.000686667 0.0007 0.00072 0.000713333 0.0007 0.000713333 0.000726667 0.00072 +0.000733333 0.00074 0.000713333 0.000673333 0.0007 0.000693333 0.000686667 0.000686667 +0.000673333 0.000666667 0.000706667 0.00072 0.00072 0.000706667 0.000686667 0.0007 +0.000706667 0.000706667 0.0007 0.000713333 0.000726667 0.000726667 0.0007 0.000673333 +0.000686667 0.000693333 0.0007 0.00068 0.000686667 0.000666667 0.000673333 0.000693333 +0.000706667 0.000706667 0.000666667 0.000673333 0.000686667 0.000693333 0.00068 0.000686667 +0.0007 0.0007 0.000686667 0.00066 0.00068 0.000693333 0.0007 0.000693333 +0.000713333 0.000693333 0.00068 0.000686667 0.000673333 0.000666667 0.000646667 0.000653333 +0.000666667 0.000693333 0.000693333 0.000666667 0.00066 0.00064 0.000646667 0.00064 +0.000626667 0.00066 0.000653333 0.000646667 0.00064 0.00066 0.000653333 0.00062 +0.000646667 0.000666667 0.00066 0.00064 0.00064 0.000686667 0.000666667 0.000613333 +0.0006 0.000646667 0.000653333 0.000666667 0.00068 0.00066 0.000666667 0.00068 +0.000666667 0.000666667 0.000693333 0.000673333 0.000633333 0.00066 0.000686667 0.000666667 +0.000666667 0.00066 0.000646667 0.00066 0.0007 0.00072 0.000706667 0.000666667 +0.00066 0.000653333 0.000673333 0.000666667 0.000666667 0.00068 0.000653333 0.00066 +0.00068 0.00066 0.000673333 0.000693333 0.000673333 0.000686667 0.000713333 0.0007 +0.00068 0.000666667 0.00066 0.000646667 0.000666667 0.000666667 0.000673333 0.000686667 +0.000706667 0.000686667 0.000673333 0.00068 0.000686667 0.000666667 0.00066 0.000673333 +0.00068 0.00068 0.000713333 0.000686667 0.00068 0.000666667 0.000693333 0.000713333 +0.0007 0.000673333 0.0007 0.00074 0.000713333 0.000673333 0.00068 0.0007 +0.000706667 0.000693333 0.000686667 0.000713333 0.000686667 0.000686667 0.000666667 0.000653333 +0.00066 0.000673333 0.000666667 0.00066 0.0007 0.00072 0.00072 0.000666667 +0.000653333 0.00064 0.00064 0.00066 0.000646667 0.000646667 0.00066 0.000653333 +0.000666667 0.000673333 0.00066 0.000633333 0.000673333 0.00068 0.000673333 0.000666667 +0.000633333 0.000646667 0.000646667 0.000646667 0.000653333 0.000653333 0.000646667 0.000633333 +0.00064 0.000646667 0.000646667 0.000673333 0.000646667 0.00066 0.000693333 0.000673333 +0.000686667 0.000686667 0.00068 0.000686667 0.000653333 0.000653333 0.000666667 0.000673333 +0.00066 0.000673333 0.00068 0.000673333 0.00068 0.00066 0.000686667 0.000713333 +0.000686667 0.000673333 0.000646667 0.000706667 0.000753333 0.000706667 0.000673333 0.00068 +0.0007 0.000713333 0.000733333 0.000713333 0.000666667 0.000713333 0.00072 0.0007 +0.0007 0.000693333 0.000693333 0.000693333 0.000686667 0.000686667 0.000733333 0.00074 +0.00072 0.00072 0.000693333 0.00068 0.000686667 0.000693333 0.000673333 0.000693333 +0.000693333 0.000666667 0.00066 0.000693333 0.000666667 0.000673333 0.000686667 0.000666667 +0.00068 0.000693333 0.000653333 0.000666667 0.00068 0.00068 0.0007 0.00072 +0.000713333 0.000686667 0.0007 0.00072 0.000713333 0.0007 0.000686667 0.0007 +0.000746667 0.00072 0.000693333 0.000666667 0.000706667 0.0007 0.000693333 0.000686667 +0.00068 0.00066 0.000646667 0.000693333 0.000733333 0.00072 0.000673333 0.000713333 +0.000733333 0.000693333 0.0007 0.000693333 0.0007 0.00068 0.000693333 0.000693333 +0.00068 0.00068 0.000686667 0.000693333 0.00068 0.000673333 0.000686667 0.000673333 +0.00068 0.000726667 0.000693333 0.000673333 0.000673333 0.000693333 0.000686667 0.000673333 +0.000673333 0.000673333 0.000646667 0.000686667 0.00072 0.000706667 0.000693333 0.000693333 +0.000693333 0.00068 0.000646667 0.00066 0.00068 0.000686667 0.000673333 0.00066 +0.00068 0.000673333 0.000653333 0.00066 0.000693333 0.000713333 0.000653333 0.000633333 +0.00066 0.00066 0.000686667 0.000653333 0.00066 0.000666667 0.00068 0.0007 +0.000693333 0.00072 0.000726667 0.00068 0.000666667 0.0007 0.000706667 0.00072 +0.00072 0.0007 0.00074 0.00074 0.0007 0.000693333 0.000713333 0.000733333 +0.000706667 0.00068 0.0007 0.00074 0.000726667 0.0007 0.0007 0.000706667 +0.000706667 0.000726667 0.000733333 0.000746667 0.000726667 0.0007 0.000733333 0.00074 +0.00072 0.00072 0.000713333 0.00072 0.00072 0.000713333 0.0007 0.000713333 +0.00072 0.00072 0.00072 0.000706667 0.000713333 0.000746667 0.00076 0.0007 +0.000686667 0.00072 0.00074 0.00078 0.000726667 0.000693333 0.000693333 0.000706667 +0.00072 0.00074 0.000746667 0.000746667 0.000733333 0.000733333 0.000746667 0.000733333 +0.000726667 0.000713333 0.000733333 0.000733333 0.000726667 0.000753333 0.000753333 0.00074 +0.000766667 0.000753333 0.00074 0.000713333 0.00068 0.00072 0.00076 0.000753333 +0.0007 0.000693333 0.0007 0.000713333 0.000706667 0.000746667 0.000726667 0.000693333 +0.00074 0.000786667 0.000746667 0.000706667 0.000713333 0.000733333 0.000766667 0.00076 +0.00076 0.00074 0.000726667 0.000726667 0.000766667 0.00074 0.00074 0.00074 +0.000746667 0.000713333 0.000733333 0.000753333 0.000753333 0.000766667 0.00078 0.000766667 +0.00076 0.000746667 0.000746667 0.000753333 0.000773333 0.000773333 0.00078 0.000766667 +0.000746667 0.000733333 0.000726667 0.00074 0.000746667 0.000746667 0.00074 0.000733333 +0.000726667 0.000713333 0.00074 0.000746667 0.00074 0.00074 0.00074 0.000713333 +0.000706667 0.000726667 0.000726667 0.000713333 0.0007 0.000713333 0.000726667 0.000733333 +0.00074 0.000746667 0.000746667 0.00074 0.000726667 0.000713333 0.000713333 0.00072 +0.000726667 0.000713333 0.000706667 0.000686667 0.000706667 0.00072 0.000726667 0.000706667 +0.000686667 0.000693333 0.000713333 0.0007 0.000686667 0.000693333 0.000706667 0.000706667 +0.0007 0.000713333 0.000726667 0.000706667 0.000706667 0.0007 0.000713333 0.000706667 +0.00068 0.00066 0.000666667 0.0007 0.00074 0.000726667 0.0007 0.000686667 +0.000706667 0.0007 0.00068 0.000686667 0.0007 0.000733333 0.000713333 0.00068 +0.000686667 0.000686667 0.00072 0.0007 0.0007 0.00068 0.000673333 0.000673333 +0.000673333 0.000686667 0.000686667 0.000686667 0.00066 0.000666667 0.000666667 0.000693333 +0.0007 0.000706667 0.0007 0.00068 0.00068 0.0007 0.000693333 0.0007 +0.0007 0.000673333 0.00068 0.000666667 0.00068 0.000686667 0.000653333 0.00064 +0.000653333 0.000686667 0.000686667 0.00066 0.00066 0.000646667 0.000653333 0.000646667 +0.00064 0.000653333 0.000646667 0.000653333 0.000666667 0.000653333 0.000633333 0.000646667 +0.000653333 0.00064 0.000633333 0.000626667 0.000626667 0.000666667 0.000673333 0.00066 +0.000653333 0.00064 0.000653333 0.00064 0.000673333 0.000653333 0.000653333 0.000673333 +0.000673333 0.00066 0.000673333 0.00068 0.000666667 0.000653333 0.00066 0.000693333 +0.000686667 0.000666667 0.000666667 0.000633333 0.000666667 0.000713333 0.000706667 0.00068 +0.00068 0.000693333 0.000666667 0.000666667 0.00068 0.000673333 0.000653333 0.000653333 +0.000673333 0.000666667 0.000653333 0.000666667 0.00068 0.00068 0.000686667 0.000686667 +0.000686667 0.000673333 0.000673333 0.000666667 0.00066 0.000653333 0.000673333 0.00068 +0.0007 0.0007 0.000673333 0.000666667 0.000686667 0.000706667 0.000693333 0.000686667 +0.000693333 0.000673333 0.000693333 0.000686667 0.000686667 0.000686667 0.000686667 0.000693333 +0.0007 0.000673333 0.00068 0.000726667 0.00074 0.000733333 0.00072 0.0007 +0.0007 0.000686667 0.000686667 0.00072 0.000693333 0.000686667 0.000673333 0.000653333 +0.000646667 0.000653333 0.00068 0.000666667 0.000666667 0.0007 0.000706667 0.000686667 +0.000686667 0.000653333 0.000626667 0.000646667 0.000633333 0.000653333 0.000686667 0.000653333 +0.000626667 0.000653333 0.00068 0.00066 0.00066 0.00066 0.000653333 0.000666667 +0.000633333 0.000626667 0.000646667 0.000653333 0.000653333 0.000653333 0.000666667 0.00066 +0.000633333 0.000626667 0.00064 0.000673333 0.00064 0.000646667 0.000666667 0.000666667 +0.000706667 0.0007 0.000673333 0.00068 0.000653333 0.000666667 0.000693333 0.000693333 +0.000653333 0.000646667 0.00068 0.000686667 0.000686667 0.000673333 0.00068 0.00068 +0.00066 0.000686667 0.00066 0.000686667 0.00074 0.000713333 0.000706667 0.000686667 +0.000686667 0.000713333 0.00072 0.000693333 0.000673333 0.000713333 0.000726667 0.00072 +0.000706667 0.000673333 0.0007 0.0007 0.0007 0.0007 0.000713333 0.00072 +0.000706667 0.000713333 0.0007 0.0007 0.000693333 0.000706667 0.000706667 0.000693333 +0.000686667 0.000666667 0.000653333 0.00068 0.00068 0.000673333 0.000686667 0.000673333 +0.000686667 0.0007 0.000693333 0.00066 0.00066 0.00068 0.000693333 0.000706667 +0.000693333 0.00068 0.00072 0.00072 0.00068 0.000693333 0.000686667 0.000686667 +0.000733333 0.000733333 0.000706667 0.00068 0.000706667 0.000686667 0.000673333 0.000713333 +0.000686667 0.000666667 0.000673333 0.000686667 0.000706667 0.000726667 0.00072 0.000733333 +0.000693333 0.000693333 0.00072 0.00072 0.000706667 0.000713333 0.000733333 0.000693333 +0.000666667 0.0007 0.00068 0.000666667 0.0007 0.000713333 0.000686667 0.000673333 +0.000693333 0.00072 0.000686667 0.00066 0.0007 0.000706667 0.000693333 0.000653333 +0.000673333 0.000666667 0.000653333 0.000713333 0.000726667 0.000686667 0.00068 0.000686667 +0.00068 0.000666667 0.000686667 0.000673333 0.00064 0.000666667 0.0007 0.00068 +0.000666667 0.000653333 0.000666667 0.000666667 0.0007 0.000693333 0.00064 0.00066 +0.000673333 0.000653333 0.000673333 0.000686667 0.000673333 0.000673333 0.00068 0.0007 +0.000666667 0.00072 0.000733333 0.000693333 0.000693333 0.000706667 0.000693333 0.000673333 +0.000706667 0.00074 0.00074 0.0007 0.000693333 0.000706667 0.000713333 0.00072 +0.000693333 0.000686667 0.000726667 0.000753333 0.00072 0.00068 0.000726667 0.000733333 +0.000726667 0.00074 0.00074 0.00072 0.000706667 0.0007 0.00072 0.000726667 +0.0007 0.000693333 0.00072 0.000693333 0.000673333 0.000706667 0.000706667 0.000706667 +0.00072 0.00072 0.00072 0.00072 0.00074 0.000753333 0.00074 0.000686667 +0.000693333 0.000733333 0.000733333 0.000733333 0.0007 0.000693333 0.000706667 0.000726667 +0.00074 0.000733333 0.000733333 0.00074 0.000733333 0.00074 0.000706667 0.000733333 +0.000733333 0.000733333 0.000733333 0.000706667 0.000733333 0.000746667 0.000746667 0.000753333 +0.00074 0.000706667 0.000733333 0.00074 0.0007 0.00074 0.000733333 0.000713333 +0.000706667 0.000726667 0.00072 0.000706667 0.000706667 0.00072 0.000726667 0.00074 +0.000753333 0.000753333 0.000733333 0.000733333 0.000746667 0.00076 0.000746667 0.00074 +0.00074 0.000733333 0.0007 0.000706667 0.00072 0.00072 0.00074 0.000733333 +0.00072 0.000706667 0.000713333 0.000766667 0.000733333 0.000753333 0.000753333 0.00074 +0.000753333 0.000753333 0.00072 0.00072 0.000746667 0.000753333 0.000746667 0.000753333 +0.000773333 0.00078 0.000746667 0.000733333 0.000746667 0.00076 0.000753333 0.00074 +0.000733333 0.00074 0.000726667 0.000713333 0.000733333 0.00074 0.000753333 0.000746667 +0.000733333 0.000733333 0.000726667 0.000713333 0.000706667 0.000706667 0.000693333 0.000706667 +0.00072 0.00072 0.000733333 0.00074 0.000753333 0.000733333 0.0007 0.000706667 +0.000713333 0.000726667 0.000733333 0.000706667 0.0007 0.000706667 0.00072 0.00072 +0.0007 0.000686667 0.000693333 0.0007 0.0007 0.000706667 0.0007 0.000706667 +0.000713333 0.000693333 0.000693333 0.0007 0.00072 0.000693333 0.0007 0.000726667 +0.00072 0.0007 0.00068 0.000673333 0.00072 0.000713333 0.000686667 0.000693333 +0.000726667 0.00072 0.00068 0.000693333 0.000673333 0.00068 0.000706667 0.000706667 +0.000706667 0.000686667 0.000686667 0.000686667 0.000706667 0.0007 0.000693333 0.000686667 +0.000693333 0.00068 0.000686667 0.000693333 0.000673333 0.00066 0.000653333 0.000673333 +0.000706667 0.000706667 0.000686667 0.0007 0.000713333 0.000686667 0.000673333 0.000693333 +0.0007 0.00068 0.00068 0.000653333 0.000666667 0.000686667 0.00068 0.00066 +0.00066 0.000666667 0.000666667 0.000653333 0.00066 0.00066 0.000646667 0.00064 +0.000646667 0.00066 0.000646667 0.00064 0.000653333 0.00068 0.00066 0.000646667 +0.000633333 0.00064 0.000633333 0.00062 0.000633333 0.000626667 0.000626667 0.000653333 +0.000693333 0.000673333 0.000666667 0.000646667 0.000646667 0.000653333 0.00066 0.000686667 +0.000693333 0.000666667 0.000646667 0.000653333 0.000673333 0.000666667 0.00064 0.000673333 +0.00068 0.00066 0.000666667 0.000653333 0.00064 0.00068 0.000706667 0.000686667 +0.000693333 0.0007 0.000693333 0.00068 0.000686667 0.000673333 0.000673333 0.000673333 +0.000666667 0.000686667 0.000673333 0.00064 0.00066 0.00068 0.00068 0.000673333 +0.000666667 0.00068 0.000686667 0.00068 0.000673333 0.00066 0.000673333 0.0007 +0.0007 0.000673333 0.00068 0.00068 0.000686667 0.000693333 0.000706667 0.000706667 +0.000706667 0.000673333 0.000673333 0.000666667 0.00068 0.000706667 0.000713333 0.000686667 +0.000693333 0.000673333 0.00068 0.0007 0.000706667 0.000733333 0.000726667 0.000706667 +0.0007 0.000713333 0.0007 0.000693333 0.00072 0.0007 0.00068 0.000673333 +0.00066 0.00064 0.000666667 0.000653333 0.000646667 0.00068 0.000686667 0.00068 +0.000693333 0.000666667 0.000646667 0.000646667 0.000626667 0.000626667 0.00068 0.00068 +0.000626667 0.00064 0.000693333 0.000693333 0.000673333 0.000666667 0.00066 0.000653333 +0.00064 0.000633333 0.000646667 0.000646667 0.00064 0.000633333 0.000653333 0.00068 +0.000653333 0.00064 0.00066 0.000673333 0.00066 0.000653333 0.000633333 0.00066 +0.000713333 0.000706667 0.00066 0.000653333 0.000653333 0.00068 0.00068 0.000686667 +0.000673333 0.000673333 0.000693333 0.000666667 0.000673333 0.00068 0.0007 0.000686667 +0.000666667 0.000693333 0.000686667 0.00068 0.000713333 0.000713333 0.0007 0.00068 +0.000706667 0.0007 0.000693333 0.000693333 0.000686667 0.00072 0.000753333 0.000726667 +0.000713333 0.000666667 0.000686667 0.000726667 0.000726667 0.000726667 0.000713333 0.000706667 +0.000706667 0.000706667 0.000693333 0.000693333 0.000686667 0.000706667 0.000733333 0.000713333 +0.0007 0.000693333 0.00068 0.000673333 0.00068 0.00068 0.000666667 0.000686667 +0.00068 0.00068 0.000693333 0.000666667 0.000666667 0.000706667 0.0007 0.000693333 +0.0007 0.00068 0.000706667 0.000713333 0.000686667 0.000686667 0.00068 0.00072 +0.00072 0.000693333 0.0007 0.000706667 0.00072 0.00068 0.000646667 0.0007 +0.000706667 0.000706667 0.00068 0.00066 0.00068 0.0007 0.00074 0.00074 +0.000686667 0.0007 0.000726667 0.000746667 0.00074 0.000733333 0.000726667 0.0007 +0.0007 0.000686667 0.000673333 0.000666667 0.000713333 0.00074 0.0007 0.00068 +0.000713333 0.000713333 0.00068 0.000686667 0.000706667 0.000713333 0.000686667 0.000633333 +0.00066 0.00068 0.0007 0.00072 0.000706667 0.00068 0.000673333 0.000693333 +0.0007 0.00068 0.000686667 0.00068 0.000646667 0.000666667 0.000706667 0.0007 +0.00066 0.000646667 0.000673333 0.00068 0.0007 0.00068 0.00066 0.000686667 +0.000673333 0.000666667 0.000666667 0.000686667 0.000666667 0.000673333 0.0007 0.000693333 +0.000673333 0.000713333 0.000733333 0.00072 0.000693333 0.000666667 0.00068 0.00068 +0.00074 0.000726667 0.000693333 0.000693333 0.00072 0.000726667 0.0007 0.000713333 +0.0007 0.000706667 0.000753333 0.000746667 0.00068 0.000693333 0.000733333 0.00074 +0.000726667 0.000726667 0.000713333 0.000686667 0.000693333 0.000686667 0.000713333 0.00074 +0.000713333 0.000713333 0.00072 0.00068 0.00068 0.000713333 0.000726667 0.000733333 +0.000733333 0.000726667 0.000726667 0.000746667 0.000746667 0.0007 0.000713333 0.000726667 +0.00072 0.000726667 0.000713333 0.00072 0.000713333 0.0007 0.000706667 0.000733333 +0.000733333 0.00072 0.000766667 0.00076 0.000726667 0.000726667 0.000706667 0.000746667 +0.00074 0.000733333 0.000733333 0.000733333 0.000733333 0.000746667 0.000733333 0.00072 +0.000706667 0.000733333 0.000766667 0.00074 0.000726667 0.00072 0.00068 0.000706667 +0.000706667 0.00072 0.000733333 0.00072 0.00072 0.000733333 0.000766667 0.00074 +0.000733333 0.000773333 0.00076 0.00074 0.000753333 0.000746667 0.000706667 0.000686667 +0.0007 0.000713333 0.000693333 0.000686667 0.000693333 0.000726667 0.00076 0.000753333 +0.00074 0.000746667 0.000746667 0.00076 0.000746667 0.000733333 0.000746667 0.000746667 +0.00076 0.000773333 0.000746667 0.00072 0.000726667 0.000733333 0.00072 0.000713333 +0.000733333 0.00076 0.00076 0.000733333 0.000726667 0.000746667 0.00076 0.000753333 +0.000726667 0.00074 0.00074 0.0007 0.0007 0.000733333 0.000746667 0.000753333 +0.00076 0.000733333 0.00072 0.000733333 0.000706667 0.000713333 0.00072 0.000713333 +0.000706667 0.000726667 0.000726667 0.000713333 0.00074 0.000746667 0.000726667 0.000706667 +0.000686667 0.000693333 0.000733333 0.00074 0.000713333 0.000706667 0.000706667 0.000733333 +0.00074 0.000693333 0.00068 0.000693333 0.00068 0.000686667 0.000706667 0.000726667 +0.00074 0.000706667 0.0007 0.000693333 0.000686667 0.000686667 0.000693333 0.000733333 +0.00072 0.0007 0.000706667 0.000686667 0.000706667 0.0007 0.000686667 0.000686667 +0.000706667 0.000733333 0.000706667 0.0007 0.0007 0.000673333 0.000673333 0.000706667 +0.00072 0.00072 0.000706667 0.00068 0.000686667 0.000693333 0.000706667 0.000693333 +0.000686667 0.00068 0.000686667 0.000693333 0.00068 0.000686667 0.000673333 0.000653333 +0.00068 0.000706667 0.00068 0.0007 0.00072 0.0007 0.000666667 0.00068 +0.000673333 0.000673333 0.000686667 0.000673333 0.000673333 0.00068 0.000673333 0.000666667 +0.00066 0.00066 0.000646667 0.00064 0.00064 0.000646667 0.00066 0.000646667 +0.000653333 0.000653333 0.00066 0.000666667 0.000653333 0.000646667 0.000666667 0.000653333 +0.000633333 0.00064 0.000646667 0.000653333 0.000646667 0.00062 0.00062 0.00064 +0.000673333 0.00068 0.000693333 0.000673333 0.000653333 0.000646667 0.00064 0.000673333 +0.000693333 0.000686667 0.00066 0.000646667 0.000673333 0.000673333 0.000673333 0.00068 +0.000673333 0.000653333 0.000653333 0.000653333 0.00064 0.00064 0.000673333 0.000693333 +0.000693333 0.000693333 0.000686667 0.00068 0.000673333 0.000666667 0.000673333 0.000686667 +0.000666667 0.000686667 0.000686667 0.000666667 0.000646667 0.000666667 0.000666667 0.000686667 +0.000693333 0.000693333 0.000686667 0.000673333 0.00066 0.000646667 0.000666667 0.000686667 +0.000706667 0.000713333 0.000693333 0.000686667 0.000693333 0.000686667 0.000693333 0.00072 +0.00072 0.000693333 0.00068 0.00068 0.0007 0.000706667 0.000693333 0.0007 +0.0007 0.00068 0.000686667 0.000706667 0.000713333 0.000713333 0.0007 0.000706667 +0.000706667 0.000713333 0.0007 0.000673333 0.000693333 0.000693333 0.000693333 0.000686667 +0.00068 0.00066 0.00066 0.000646667 0.00064 0.000673333 0.00068 0.00068 +0.000693333 0.00068 0.000653333 0.000653333 0.00064 0.000606667 0.00064 0.000693333 +0.000673333 0.000646667 0.000646667 0.000673333 0.000686667 0.000693333 0.00068 0.000653333 +0.000653333 0.000653333 0.000633333 0.000626667 0.000633333 0.000626667 0.00064 0.00066 +0.000653333 0.000666667 0.000673333 0.00068 0.000666667 0.00066 0.000646667 0.00064 +0.0007 0.000726667 0.000666667 0.000653333 0.00066 0.00068 0.000673333 0.000673333 +0.00068 0.0007 0.000706667 0.00066 0.000666667 0.000666667 0.000706667 0.000713333 +0.000673333 0.000673333 0.00068 0.000673333 0.000733333 0.000733333 0.000673333 0.000686667 +0.00072 0.0007 0.000693333 0.0007 0.0007 0.000733333 0.00076 0.000706667 +0.000706667 0.000673333 0.000666667 0.000713333 0.000726667 0.000713333 0.000713333 0.000706667 +0.000686667 0.0007 0.0007 0.000713333 0.000686667 0.00068 0.00072 0.000706667 +0.0007 0.000706667 0.0007 0.000706667 0.000713333 0.000706667 0.00068 0.000686667 +0.000673333 0.000686667 0.000693333 0.000673333 0.00068 0.0007 0.000706667 0.000686667 +0.0007 0.000693333 0.0007 0.00072 0.0007 0.000686667 0.000686667 0.000746667 +0.000706667 0.000666667 0.000693333 0.000726667 0.000733333 0.0007 0.000673333 0.000693333 +0.000713333 0.00072 0.000673333 0.000686667 0.000693333 0.000686667 0.000733333 0.00074 +0.0007 0.000706667 0.000726667 0.00076 0.000746667 0.000733333 0.000726667 0.000733333 +0.000706667 0.000673333 0.000686667 0.00068 0.0007 0.000726667 0.000713333 0.0007 +0.000726667 0.00072 0.0007 0.0007 0.0007 0.0007 0.000693333 0.00066 +0.000686667 0.000686667 0.000713333 0.000713333 0.000686667 0.000666667 0.00068 0.000713333 +0.000726667 0.000693333 0.000693333 0.0007 0.000686667 0.000673333 0.000693333 0.00072 +0.000673333 0.00066 0.000673333 0.000706667 0.000706667 0.000666667 0.000666667 0.000666667 +0.00066 0.00068 0.000666667 0.000666667 0.000653333 0.000666667 0.00068 0.00068 +0.000693333 0.000686667 0.0007 0.000706667 0.00068 0.00068 0.0007 0.000713333 +0.000726667 0.000693333 0.000686667 0.00072 0.00074 0.00074 0.000706667 0.000706667 +0.000706667 0.000706667 0.000733333 0.00072 0.000673333 0.000706667 0.00072 0.00072 +0.000706667 0.000713333 0.000706667 0.000673333 0.000686667 0.000693333 0.000706667 0.000733333 +0.000733333 0.00074 0.00072 0.000706667 0.000693333 0.000713333 0.00074 0.000726667 +0.000713333 0.000733333 0.000726667 0.00074 0.00072 0.000666667 0.00072 0.000733333 +0.000706667 0.000726667 0.00074 0.000733333 0.000713333 0.000706667 0.0007 0.000706667 +0.000733333 0.000753333 0.00078 0.000746667 0.000706667 0.000726667 0.000726667 0.000746667 +0.000746667 0.00072 0.000733333 0.000746667 0.00074 0.000726667 0.0007 0.000706667 +0.00072 0.000753333 0.000746667 0.00074 0.00074 0.000693333 0.00068 0.0007 +0.000706667 0.000733333 0.000726667 0.000726667 0.000733333 0.000726667 0.000713333 0.000686667 +0.000713333 0.000753333 0.000746667 0.000746667 0.000746667 0.000706667 0.000666667 0.000673333 +0.00072 0.00074 0.00072 0.000713333 0.000726667 0.00074 0.00076 0.00078 +0.00076 0.00074 0.00074 0.00074 0.000773333 0.000726667 0.00074 0.000746667 +0.000726667 0.000733333 0.000766667 0.000766667 0.000753333 0.000733333 0.000706667 0.000713333 +0.000733333 0.00074 0.000753333 0.00074 0.000713333 0.00072 0.00072 0.00074 +0.000746667 0.000746667 0.000753333 0.00074 0.000713333 0.0007 0.000726667 0.000733333 +0.000746667 0.000753333 0.000726667 0.00074 0.000726667 0.000713333 0.000726667 0.000733333 +0.000726667 0.000726667 0.00072 0.000706667 0.000726667 0.00072 0.00074 0.000746667 +0.000706667 0.000686667 0.0007 0.00072 0.000706667 0.000706667 0.000706667 0.000713333 +0.00072 0.000713333 0.000713333 0.000713333 0.0007 0.000673333 0.000686667 0.000693333 +0.000713333 0.000713333 0.000726667 0.00072 0.00068 0.00068 0.0007 0.000733333 +0.000733333 0.000706667 0.000706667 0.0007 0.000686667 0.000706667 0.000713333 0.000693333 +0.0007 0.000686667 0.0007 0.0007 0.0007 0.000706667 0.00068 0.000673333 +0.000693333 0.00072 0.00074 0.000726667 0.000686667 0.000686667 0.000706667 0.0007 +0.000693333 0.00068 0.000673333 0.000693333 0.0007 0.000693333 0.000686667 0.00068 +0.000666667 0.000673333 0.00068 0.00068 0.0007 0.000693333 0.000673333 0.000693333 +0.0007 0.000693333 0.000686667 0.00066 0.000666667 0.000686667 0.000646667 0.000666667 +0.000666667 0.00066 0.00064 0.000633333 0.000646667 0.00064 0.000666667 0.00066 +0.000653333 0.00064 0.000633333 0.00064 0.000673333 0.00066 0.00066 0.00064 +0.000633333 0.000646667 0.000626667 0.000646667 0.000653333 0.000633333 0.000633333 0.000653333 +0.000653333 0.00066 0.000653333 0.000666667 0.000673333 0.000693333 0.000666667 0.00064 +0.000673333 0.00066 0.000646667 0.000653333 0.00068 0.000673333 0.00068 0.000686667 +0.000693333 0.000686667 0.00066 0.00066 0.00064 0.000633333 0.000666667 0.000706667 +0.0007 0.000686667 0.000693333 0.000686667 0.000666667 0.000646667 0.000653333 0.000686667 +0.000686667 0.000666667 0.000666667 0.000673333 0.000673333 0.00068 0.000653333 0.000673333 +0.00072 0.00072 0.000686667 0.000686667 0.000673333 0.00064 0.000646667 0.00066 +0.000713333 0.00074 0.0007 0.000673333 0.000686667 0.000706667 0.000706667 0.0007 +0.0007 0.000726667 0.000726667 0.000706667 0.000713333 0.000713333 0.00068 0.00068 +0.000706667 0.000686667 0.000673333 0.000713333 0.00074 0.000713333 0.000686667 0.000693333 +0.000713333 0.000706667 0.0007 0.000693333 0.000686667 0.00068 0.000693333 0.0007 +0.000693333 0.000666667 0.000693333 0.000686667 0.00064 0.000653333 0.00068 0.000673333 +0.000706667 0.000706667 0.000646667 0.000646667 0.000666667 0.000633333 0.00064 0.00068 +0.000693333 0.00066 0.000626667 0.000646667 0.000673333 0.0007 0.000693333 0.000666667 +0.00064 0.000646667 0.000653333 0.000633333 0.00064 0.00064 0.000633333 0.00062 +0.00064 0.000666667 0.000666667 0.00068 0.00066 0.00066 0.000673333 0.00064 +0.000673333 0.000713333 0.000693333 0.000686667 0.000666667 0.00068 0.000686667 0.000673333 +0.00066 0.00068 0.000713333 0.000693333 0.000673333 0.00066 0.000693333 0.00072 +0.0007 0.000666667 0.000646667 0.000666667 0.00074 0.000753333 0.0007 0.0007 +0.000706667 0.000693333 0.0007 0.000693333 0.000706667 0.000753333 0.00074 0.0007 +0.000713333 0.000693333 0.000673333 0.000673333 0.000686667 0.000693333 0.000733333 0.000733333 +0.0007 0.000713333 0.000713333 0.000733333 0.000693333 0.000666667 0.000706667 0.000713333 +0.000706667 0.000726667 0.000693333 0.00072 0.00074 0.000726667 0.000706667 0.000713333 +0.0007 0.00072 0.000713333 0.000686667 0.000686667 0.000673333 0.000693333 0.000686667 +0.000686667 0.000693333 0.000713333 0.00074 0.000706667 0.00068 0.000686667 0.000713333 +0.000686667 0.00068 0.000726667 0.000733333 0.00072 0.000706667 0.0007 0.000706667 +0.000713333 0.0007 0.000693333 0.000713333 0.000686667 0.000686667 0.000733333 0.000713333 +0.000706667 0.000733333 0.000746667 0.000753333 0.000753333 0.00076 0.00074 0.000706667 +0.000706667 0.000713333 0.000706667 0.000693333 0.000713333 0.00072 0.0007 0.0007 +0.00072 0.000726667 0.000726667 0.000686667 0.000686667 0.00072 0.000686667 0.0007 +0.000706667 0.000673333 0.000726667 0.00072 0.000686667 0.000673333 0.000706667 0.000733333 +0.000746667 0.0007 0.000673333 0.000706667 0.00072 0.000686667 0.000693333 0.00072 +0.000693333 0.000673333 0.000686667 0.00074 0.000713333 0.000666667 0.00066 0.00066 +0.000686667 0.00068 0.00066 0.000666667 0.00068 0.000666667 0.000653333 0.000666667 +0.000693333 0.000673333 0.00068 0.000693333 0.000673333 0.0007 0.000726667 0.000706667 +0.000693333 0.000706667 0.000686667 0.0007 0.000726667 0.00074 0.000693333 0.000686667 +0.00072 0.000693333 0.000686667 0.0007 0.000706667 0.0007 0.0007 0.000713333 +0.000706667 0.000713333 0.000706667 0.000686667 0.0007 0.0007 0.0007 0.00072 +0.000726667 0.000733333 0.000726667 0.000713333 0.00068 0.000713333 0.000726667 0.000693333 +0.000693333 0.000733333 0.000733333 0.000733333 0.000713333 0.000713333 0.000726667 0.000726667 +0.00072 0.000733333 0.000726667 0.00072 0.000706667 0.00068 0.000693333 0.00074 +0.00076 0.000746667 0.000733333 0.000733333 0.000726667 0.000706667 0.000706667 0.000733333 +0.00074 0.00072 0.000726667 0.000726667 0.000706667 0.000706667 0.000726667 0.000733333 +0.000726667 0.000726667 0.000733333 0.000753333 0.000693333 0.00068 0.00068 0.000693333 +0.00072 0.00074 0.00072 0.000713333 0.000713333 0.0007 0.000693333 0.000706667 +0.00072 0.000733333 0.000753333 0.000746667 0.000713333 0.0007 0.000686667 0.000713333 +0.000746667 0.00072 0.00072 0.000753333 0.00074 0.000726667 0.000726667 0.000773333 +0.000753333 0.000726667 0.000733333 0.00076 0.00076 0.00076 0.00076 0.000753333 +0.000733333 0.000713333 0.000713333 0.00074 0.00076 0.00076 0.00074 0.000713333 +0.00072 0.000713333 0.000726667 0.000746667 0.000746667 0.000726667 0.00072 0.00072 +0.00072 0.00072 0.000726667 0.000746667 0.000753333 0.00072 0.000733333 0.000733333 +0.00072 0.000746667 0.00074 0.000733333 0.000726667 0.000733333 0.00072 0.000713333 +0.000733333 0.000733333 0.000733333 0.000726667 0.00072 0.000706667 0.00072 0.000753333 +0.000733333 0.00072 0.000713333 0.000713333 0.000713333 0.000706667 0.000693333 0.0007 +0.00068 0.000686667 0.000706667 0.000726667 0.000746667 0.000726667 0.000706667 0.000686667 +0.00068 0.000713333 0.000713333 0.000713333 0.0007 0.000686667 0.0007 0.000706667 +0.0007 0.000706667 0.0007 0.0007 0.000706667 0.0007 0.00072 0.0007 +0.000713333 0.000686667 0.000686667 0.000693333 0.000686667 0.000706667 0.0007 0.00068 +0.00068 0.0007 0.000706667 0.000713333 0.0007 0.000693333 0.000706667 0.000706667 +0.000706667 0.0007 0.000673333 0.000686667 0.000693333 0.000693333 0.000686667 0.000693333 +0.000686667 0.000686667 0.00068 0.000673333 0.000686667 0.000673333 0.00068 0.000686667 +0.000673333 0.0007 0.000686667 0.000666667 0.000666667 0.000686667 0.000666667 0.000673333 +0.00068 0.000653333 0.00064 0.000646667 0.00066 0.000653333 0.000646667 0.00066 +0.000666667 0.00066 0.000653333 0.00062 0.00062 0.000653333 0.000673333 0.00066 +0.000626667 0.00062 0.000633333 0.000653333 0.000653333 0.00064 0.000633333 0.000666667 +0.00068 0.000673333 0.00064 0.000633333 0.00064 0.00068 0.000693333 0.00068 +0.000686667 0.00066 0.000633333 0.000626667 0.000653333 0.00068 0.000686667 0.000673333 +0.00068 0.000693333 0.000686667 0.000666667 0.000653333 0.000646667 0.000646667 0.00068 +0.0007 0.000686667 0.0007 0.000706667 0.000693333 0.00066 0.000646667 0.000686667 +0.000693333 0.000666667 0.00066 0.000666667 0.000686667 0.0007 0.000673333 0.00066 +0.000686667 0.000706667 0.000693333 0.000706667 0.0007 0.000673333 0.00066 0.000666667 +0.0007 0.000733333 0.000713333 0.000693333 0.000706667 0.000713333 0.000693333 0.000673333 +0.00068 0.000713333 0.000753333 0.000726667 0.0007 0.000726667 0.000706667 0.000686667 +0.0007 0.0007 0.00068 0.000693333 0.000733333 0.00074 0.00072 0.000693333 +0.000713333 0.000713333 0.000713333 0.0007 0.0007 0.0007 0.000686667 0.000686667 +0.000693333 0.00068 0.000693333 0.000693333 0.000653333 0.00064 0.000666667 0.00066 +0.000693333 0.000706667 0.000666667 0.000653333 0.000653333 0.000666667 0.000653333 0.00066 +0.00068 0.000673333 0.000646667 0.00066 0.000673333 0.0007 0.00068 0.00066 +0.000633333 0.000626667 0.000673333 0.00068 0.000646667 0.000646667 0.000653333 0.00064 +0.00064 0.000666667 0.00068 0.00068 0.000666667 0.000666667 0.000653333 0.000653333 +0.000673333 0.000693333 0.000686667 0.000706667 0.000666667 0.000666667 0.000686667 0.0007 +0.00068 0.00066 0.000693333 0.000713333 0.000713333 0.000673333 0.000673333 0.000706667 +0.00072 0.000686667 0.00066 0.000666667 0.000713333 0.00074 0.00072 0.00072 +0.000713333 0.000693333 0.00068 0.000686667 0.0007 0.000733333 0.000753333 0.000706667 +0.0007 0.0007 0.000686667 0.00068 0.000666667 0.000693333 0.00074 0.000733333 +0.000706667 0.000706667 0.000713333 0.000726667 0.000706667 0.000686667 0.0007 0.000713333 +0.0007 0.00072 0.000706667 0.000733333 0.00076 0.000733333 0.000713333 0.000713333 +0.000706667 0.000726667 0.000733333 0.000733333 0.000713333 0.000693333 0.000706667 0.0007 +0.000686667 0.0007 0.00072 0.000733333 0.000693333 0.0007 0.000713333 0.000706667 +0.00066 0.000673333 0.000726667 0.00072 0.000706667 0.000693333 0.00072 0.00072 +0.000706667 0.0007 0.0007 0.000713333 0.000686667 0.000726667 0.000753333 0.000726667 +0.000733333 0.000753333 0.000733333 0.000733333 0.000753333 0.00076 0.00072 0.0007 +0.00072 0.00076 0.000746667 0.000706667 0.000733333 0.000713333 0.000673333 0.000726667 +0.000726667 0.000713333 0.000726667 0.0007 0.0007 0.000726667 0.00068 0.000713333 +0.000706667 0.000686667 0.000733333 0.00072 0.000693333 0.0007 0.00074 0.000746667 +0.000733333 0.0007 0.000666667 0.000693333 0.000733333 0.000693333 0.000686667 0.0007 +0.0007 0.00068 0.000713333 0.000753333 0.000706667 0.000653333 0.00066 0.000673333 +0.000686667 0.000666667 0.000666667 0.000706667 0.000693333 0.00066 0.00064 0.000653333 +0.000673333 0.00066 0.000666667 0.000686667 0.000686667 0.000693333 0.000713333 0.000706667 +0.0007 0.000706667 0.000673333 0.00068 0.00072 0.000726667 0.000686667 0.000673333 +0.000726667 0.000693333 0.000686667 0.00072 0.000713333 0.000693333 0.000686667 0.000706667 +0.000693333 0.00068 0.000706667 0.000706667 0.00072 0.000706667 0.000686667 0.000726667 +0.000746667 0.00072 0.000726667 0.000706667 0.00068 0.0007 0.000713333 0.0007 +0.000713333 0.000726667 0.000726667 0.00072 0.000706667 0.000713333 0.00072 0.000733333 +0.00072 0.00072 0.000713333 0.0007 0.00068 0.000686667 0.000733333 0.000753333 +0.00072 0.000713333 0.000713333 0.000733333 0.000726667 0.0007 0.00072 0.000733333 +0.00074 0.000746667 0.000726667 0.000693333 0.0007 0.000733333 0.000753333 0.000726667 +0.000706667 0.000713333 0.000733333 0.000726667 0.00068 0.000686667 0.000706667 0.000733333 +0.000726667 0.000706667 0.000713333 0.000706667 0.000693333 0.000693333 0.00072 0.000746667 +0.00074 0.000733333 0.00072 0.000693333 0.0007 0.000706667 0.0007 0.000713333 +0.000733333 0.000733333 0.00072 0.00074 0.00072 0.000733333 0.000726667 0.000746667 +0.00072 0.000733333 0.00074 0.000746667 0.00072 0.000726667 0.000746667 0.000753333 +0.000753333 0.000746667 0.00072 0.000706667 0.0007 0.00072 0.000746667 0.000733333 +0.000726667 0.00072 0.000713333 0.00072 0.000726667 0.000733333 0.00074 0.000753333 +0.000733333 0.000713333 0.000706667 0.0007 0.000713333 0.000746667 0.00074 0.00074 +0.000726667 0.000726667 0.000733333 0.000733333 0.000733333 0.00074 0.00074 0.0007 +0.000693333 0.000706667 0.00072 0.000733333 0.000726667 0.00072 0.000726667 0.000733333 +0.00072 0.000713333 0.000713333 0.00072 0.00072 0.00072 0.000713333 0.000713333 +0.000706667 0.000686667 0.000673333 0.000686667 0.00072 0.00072 0.00072 0.000726667 +0.0007 0.0007 0.000706667 0.000706667 0.000706667 0.000693333 0.000686667 0.000706667 +0.00068 0.00068 0.000706667 0.000713333 0.000713333 0.0007 0.000706667 0.0007 +0.000713333 0.000706667 0.000686667 0.00068 0.00068 0.000686667 0.000686667 0.0007 +0.0007 0.00068 0.000666667 0.000666667 0.000686667 0.000713333 0.000713333 0.0007 +0.0007 0.000713333 0.000726667 0.000726667 0.000706667 0.000666667 0.000673333 0.000686667 +0.000693333 0.0007 0.0007 0.00068 0.000673333 0.000653333 0.00068 0.000686667 +0.00066 0.000666667 0.000686667 0.00068 0.000686667 0.000666667 0.000666667 0.000693333 +0.000686667 0.000653333 0.00064 0.000646667 0.000646667 0.00064 0.00064 0.000673333 +0.000653333 0.000646667 0.000653333 0.00066 0.000653333 0.000633333 0.00064 0.000653333 +0.00066 0.0006 0.000613333 0.000646667 0.000646667 0.000626667 0.000633333 0.000653333 +0.000693333 0.000706667 0.000673333 0.00064 0.000626667 0.00064 0.000666667 0.000693333 +0.000693333 0.00068 0.000666667 0.000646667 0.000653333 0.000686667 0.00068 0.000673333 +0.000686667 0.00068 0.000686667 0.00068 0.00066 0.000666667 0.000653333 0.00064 +0.000666667 0.000686667 0.000686667 0.000686667 0.000686667 0.0007 0.00068 0.000673333 +0.000686667 0.0007 0.000686667 0.000653333 0.000673333 0.0007 0.000706667 0.000686667 +0.000686667 0.00068 0.000673333 0.0007 0.000726667 0.000713333 0.000666667 0.000666667 +0.000686667 0.00072 0.00076 0.00074 0.000726667 0.000713333 0.000706667 0.00068 +0.000693333 0.000713333 0.00074 0.000726667 0.000686667 0.0007 0.00072 0.000713333 +0.000706667 0.000726667 0.000726667 0.000693333 0.000706667 0.000733333 0.000726667 0.000693333 +0.0007 0.000713333 0.000726667 0.000706667 0.00072 0.000726667 0.000706667 0.0007 +0.000686667 0.000686667 0.000673333 0.000673333 0.000666667 0.00066 0.00066 0.000633333 +0.000666667 0.000706667 0.000693333 0.00066 0.000646667 0.000666667 0.000666667 0.00066 +0.000673333 0.000693333 0.00068 0.00066 0.000653333 0.000666667 0.00068 0.000653333 +0.00064 0.000646667 0.000673333 0.000686667 0.000653333 0.000633333 0.000646667 0.000653333 +0.000626667 0.000653333 0.000686667 0.0007 0.000686667 0.000666667 0.000653333 0.00066 +0.000673333 0.000693333 0.000666667 0.00068 0.00068 0.000673333 0.000686667 0.000706667 +0.0007 0.000673333 0.0007 0.00074 0.00074 0.000673333 0.000653333 0.000693333 +0.0007 0.00068 0.000673333 0.000666667 0.000706667 0.000726667 0.000686667 0.00072 +0.000733333 0.000706667 0.00068 0.000706667 0.0007 0.00072 0.000753333 0.0007 +0.0007 0.000706667 0.000693333 0.000686667 0.000673333 0.000706667 0.00076 0.00072 +0.00068 0.000713333 0.00072 0.000733333 0.000706667 0.000706667 0.000706667 0.000706667 +0.000693333 0.000706667 0.000726667 0.000726667 0.00076 0.000746667 0.000713333 0.000693333 +0.000706667 0.000753333 0.00074 0.00072 0.000713333 0.000746667 0.000746667 0.000726667 +0.00072 0.00072 0.0007 0.000706667 0.000673333 0.000686667 0.000726667 0.00072 +0.0007 0.0007 0.00072 0.000726667 0.0007 0.000693333 0.000733333 0.00072 +0.0007 0.000706667 0.000706667 0.000726667 0.000713333 0.00074 0.000753333 0.000733333 +0.00074 0.000733333 0.00072 0.000733333 0.000746667 0.000746667 0.000733333 0.00072 +0.00074 0.000773333 0.000766667 0.000746667 0.000753333 0.00072 0.0007 0.000733333 +0.00074 0.000726667 0.000726667 0.00072 0.00072 0.000713333 0.000693333 0.00072 +0.000713333 0.000726667 0.00074 0.00072 0.00072 0.000713333 0.000746667 0.00072 +0.00072 0.000713333 0.000706667 0.0007 0.00072 0.000706667 0.000673333 0.00066 +0.0007 0.000706667 0.00076 0.000746667 0.000673333 0.000666667 0.000673333 0.00066 +0.000666667 0.00066 0.000706667 0.000706667 0.000666667 0.000653333 0.00066 0.000666667 +0.000653333 0.000646667 0.000666667 0.000673333 0.000686667 0.0007 0.000726667 0.000726667 +0.00068 0.00068 0.000686667 0.000693333 0.000706667 0.00072 0.000673333 0.00066 +0.000693333 0.000686667 0.000686667 0.000713333 0.0007 0.000693333 0.000706667 0.0007 +0.000686667 0.000686667 0.00072 0.000706667 0.0007 0.00068 0.00068 0.000713333 +0.00074 0.000726667 0.00072 0.000686667 0.00068 0.000706667 0.000726667 0.00072 +0.000726667 0.000733333 0.000706667 0.0007 0.000706667 0.000713333 0.00072 0.000733333 +0.000706667 0.0007 0.000686667 0.00068 0.000706667 0.000726667 0.000726667 0.000713333 +0.000693333 0.000713333 0.000753333 0.00074 0.000693333 0.0007 0.000726667 0.00074 +0.000753333 0.000726667 0.000706667 0.000706667 0.000733333 0.00074 0.000733333 0.000706667 +0.0007 0.00072 0.000733333 0.000726667 0.00068 0.00068 0.00072 0.000733333 +0.000713333 0.000706667 0.00072 0.000713333 0.000686667 0.000713333 0.000746667 0.000746667 +0.00072 0.000673333 0.00066 0.000686667 0.000713333 0.00072 0.000726667 0.000713333 +0.00072 0.00074 0.00074 0.000746667 0.00072 0.00072 0.00072 0.000713333 +0.000726667 0.00076 0.00076 0.00074 0.000753333 0.000733333 0.00074 0.000753333 +0.000746667 0.000753333 0.000766667 0.000746667 0.00072 0.000706667 0.000713333 0.000713333 +0.00072 0.000713333 0.000726667 0.000726667 0.000706667 0.000713333 0.00072 0.000746667 +0.00076 0.000733333 0.000733333 0.00072 0.000686667 0.0007 0.000713333 0.0007 +0.000726667 0.000726667 0.000693333 0.000733333 0.00074 0.000733333 0.000753333 0.00074 +0.00072 0.000706667 0.000713333 0.000726667 0.000733333 0.000726667 0.000726667 0.00072 +0.00072 0.000726667 0.000713333 0.00072 0.000713333 0.000713333 0.000733333 0.000733333 +0.000706667 0.0007 0.000686667 0.000686667 0.000686667 0.000673333 0.00068 0.000706667 +0.000726667 0.000706667 0.000706667 0.000713333 0.000713333 0.000693333 0.000686667 0.000706667 +0.0007 0.000673333 0.000686667 0.000713333 0.00072 0.000713333 0.000713333 0.000693333 +0.000693333 0.000713333 0.000706667 0.000693333 0.000693333 0.000686667 0.00068 0.000686667 +0.0007 0.00068 0.000673333 0.00066 0.000653333 0.000686667 0.000686667 0.000693333 +0.000693333 0.000693333 0.0007 0.00074 0.000753333 0.000706667 0.000673333 0.000693333 +0.000693333 0.000706667 0.000706667 0.0007 0.00068 0.00066 0.000673333 0.000673333 +0.000666667 0.00066 0.00068 0.000693333 0.000686667 0.000666667 0.000646667 0.000653333 +0.00068 0.000666667 0.00066 0.00066 0.000653333 0.000633333 0.000606667 0.000646667 +0.000653333 0.000633333 0.000633333 0.00066 0.000673333 0.00066 0.00062 0.00062 +0.000673333 0.000653333 0.000653333 0.000633333 0.000626667 0.00064 0.00064 0.00064 +0.000666667 0.000686667 0.000673333 0.00068 0.00068 0.000646667 0.000646667 0.00068 +0.00066 0.000646667 0.000673333 0.000693333 0.00066 0.00066 0.000666667 0.000666667 +0.00068 0.000686667 0.000686667 0.000666667 0.00068 0.000693333 0.000686667 0.000666667 +0.00064 0.000666667 0.000673333 0.000686667 0.000673333 0.000706667 0.000726667 0.000686667 +0.000653333 0.0007 0.000713333 0.00068 0.00066 0.00068 0.000726667 0.000726667 +0.0007 0.00068 0.000673333 0.000673333 0.00072 0.000746667 0.00072 0.000693333 +0.00066 0.000673333 0.00074 0.00076 0.000733333 0.000733333 0.00074 0.000693333 +0.000686667 0.000713333 0.000733333 0.000733333 0.000706667 0.000693333 0.000706667 0.000713333 +0.000713333 0.000733333 0.000733333 0.0007 0.000693333 0.000713333 0.000726667 0.000713333 +0.00068 0.000693333 0.000733333 0.000713333 0.000713333 0.00072 0.000706667 0.000726667 +0.00072 0.00068 0.000666667 0.000686667 0.000693333 0.00068 0.0007 0.000666667 +0.000653333 0.000686667 0.0007 0.000686667 0.00068 0.000646667 0.000653333 0.00068 +0.00068 0.00068 0.00066 0.000646667 0.000653333 0.00066 0.000693333 0.000666667 +0.000653333 0.000673333 0.000666667 0.000673333 0.000666667 0.000666667 0.000653333 0.000653333 +0.000653333 0.000646667 0.000666667 0.0007 0.00068 0.000666667 0.000666667 0.00068 +0.000693333 0.000713333 0.00066 0.000666667 0.000693333 0.000686667 0.000686667 0.00068 +0.000693333 0.000706667 0.000706667 0.000713333 0.00072 0.00068 0.000673333 0.000686667 +0.0007 0.000693333 0.000673333 0.00068 0.00072 0.00072 0.000686667 0.000713333 +0.00072 0.000706667 0.000693333 0.0007 0.000706667 0.000713333 0.000726667 0.000706667 +0.000713333 0.00072 0.00072 0.00068 0.00066 0.000706667 0.00076 0.00072 +0.000693333 0.0007 0.000713333 0.000746667 0.000713333 0.0007 0.000726667 0.0007 +0.000673333 0.000693333 0.000726667 0.000706667 0.000753333 0.00076 0.00072 0.000686667 +0.0007 0.00076 0.000746667 0.000726667 0.000733333 0.00076 0.000746667 0.000733333 +0.000773333 0.000766667 0.000733333 0.000713333 0.000673333 0.00068 0.000746667 0.00072 +0.000686667 0.000733333 0.000746667 0.000733333 0.000693333 0.00068 0.00072 0.00072 +0.000726667 0.000706667 0.00072 0.000746667 0.00074 0.00074 0.000746667 0.000746667 +0.000733333 0.00072 0.000746667 0.000753333 0.00074 0.000753333 0.000746667 0.000733333 +0.000733333 0.00078 0.000806667 0.00078 0.000746667 0.00074 0.00074 0.000746667 +0.00074 0.00074 0.000713333 0.000726667 0.000733333 0.000713333 0.00072 0.000733333 +0.000733333 0.000753333 0.000726667 0.000733333 0.000733333 0.000726667 0.000726667 0.000693333 +0.000713333 0.000733333 0.000726667 0.000713333 0.00072 0.000733333 0.000693333 0.000666667 +0.000706667 0.000746667 0.000753333 0.000706667 0.00066 0.000693333 0.000673333 0.00066 +0.00066 0.0007 0.000713333 0.000673333 0.00066 0.000666667 0.000686667 0.00066 +0.00062 0.00066 0.000666667 0.00066 0.000693333 0.000713333 0.000726667 0.000673333 +0.00066 0.0007 0.0007 0.00068 0.00068 0.000673333 0.000666667 0.000666667 +0.000693333 0.000686667 0.000686667 0.0007 0.000713333 0.000706667 0.00072 0.000686667 +0.000706667 0.000726667 0.000726667 0.000673333 0.000646667 0.00068 0.000693333 0.000706667 +0.00072 0.000713333 0.000693333 0.000713333 0.000713333 0.000706667 0.00074 0.00072 +0.00072 0.00072 0.000693333 0.0007 0.00072 0.00072 0.000713333 0.00072 +0.0007 0.00068 0.000693333 0.000733333 0.000746667 0.00072 0.0007 0.000706667 +0.000706667 0.000726667 0.000733333 0.000706667 0.0007 0.000706667 0.000713333 0.000746667 +0.000733333 0.000706667 0.000706667 0.000713333 0.00072 0.000706667 0.000713333 0.000706667 +0.0007 0.00074 0.000746667 0.000713333 0.000686667 0.0007 0.000713333 0.000693333 +0.000706667 0.000713333 0.000693333 0.0007 0.000713333 0.000726667 0.0007 0.000706667 +0.0007 0.00068 0.000693333 0.000726667 0.00072 0.000713333 0.00072 0.000713333 +0.000713333 0.00074 0.00076 0.00074 0.000706667 0.000706667 0.00074 0.000746667 +0.00074 0.000746667 0.000753333 0.000733333 0.000753333 0.000753333 0.000733333 0.000746667 +0.000746667 0.000746667 0.000766667 0.000766667 0.00076 0.00076 0.000726667 0.000706667 +0.000706667 0.000713333 0.000726667 0.000746667 0.00072 0.000713333 0.000726667 0.000726667 +0.000706667 0.00072 0.000713333 0.000746667 0.00072 0.000693333 0.000713333 0.000713333 +0.000713333 0.000726667 0.0007 0.0007 0.000706667 0.000713333 0.00072 0.000733333 +0.000733333 0.000733333 0.00074 0.000726667 0.000706667 0.00072 0.000726667 0.000706667 +0.000706667 0.000726667 0.000726667 0.000713333 0.000713333 0.000713333 0.00072 0.000713333 +0.000693333 0.000693333 0.000713333 0.00072 0.000706667 0.000693333 0.000686667 0.00068 +0.0007 0.000713333 0.000706667 0.000693333 0.000706667 0.000713333 0.000713333 0.000693333 +0.000693333 0.000693333 0.000673333 0.00068 0.000713333 0.00072 0.000713333 0.0007 +0.00068 0.00068 0.00072 0.000726667 0.000713333 0.000706667 0.000693333 0.000686667 +0.000686667 0.00068 0.000686667 0.000693333 0.00068 0.000673333 0.000673333 0.00068 +0.000693333 0.000666667 0.00068 0.000686667 0.00072 0.00074 0.000706667 0.000693333 +0.000693333 0.0007 0.0007 0.000726667 0.00072 0.000693333 0.000686667 0.00066 +0.00066 0.00066 0.000666667 0.00068 0.000686667 0.000673333 0.00066 0.000646667 +0.00066 0.000666667 0.000646667 0.00064 0.00066 0.00066 0.00064 0.000646667 +0.00064 0.000633333 0.000633333 0.00064 0.000646667 0.000653333 0.00064 0.000626667 +0.000626667 0.000646667 0.000693333 0.000666667 0.000633333 0.00064 0.000666667 0.00066 +0.000666667 0.000653333 0.000653333 0.000673333 0.000686667 0.000666667 0.00068 0.000673333 +0.000666667 0.000653333 0.000666667 0.00068 0.00066 0.00066 0.000673333 0.000673333 +0.000666667 0.000686667 0.000693333 0.000666667 0.000666667 0.000673333 0.000693333 0.000693333 +0.00066 0.000653333 0.000666667 0.00068 0.000693333 0.000706667 0.000733333 0.000773333 +0.00078 0.000786667 0.00082 0.000813333 0.000766667 0.0007 0.000726667 0.00076 +0.000706667 0.000693333 0.00072 0.000686667 0.000686667 0.000733333 0.000746667 0.000713333 +0.000686667 0.00068 0.000693333 0.000706667 0.000706667 0.000733333 0.00074 0.000713333 +0.00068 0.000686667 0.0007 0.000733333 0.000733333 0.000726667 0.000713333 0.000706667 +0.000713333 0.000733333 0.00072 0.00072 0.000706667 0.00072 0.000726667 0.00072 +0.000713333 0.000706667 0.000713333 0.0007 0.000693333 0.00072 0.000693333 0.0007 +0.000753333 0.000706667 0.000653333 0.00068 0.000693333 0.000653333 0.000693333 0.000706667 +0.000686667 0.000673333 0.00068 0.00068 0.000693333 0.00068 0.000666667 0.000646667 +0.00068 0.00068 0.00066 0.00068 0.000666667 0.000673333 0.000686667 0.00066 +0.000653333 0.000666667 0.000673333 0.000686667 0.000693333 0.000713333 0.000666667 0.000646667 +0.000666667 0.000673333 0.000653333 0.000693333 0.000686667 0.00066 0.00066 0.000693333 +0.00072 0.000726667 0.000673333 0.000666667 0.000686667 0.0007 0.00072 0.00068 +0.0007 0.000726667 0.000706667 0.000673333 0.00068 0.0007 0.0007 0.0007 +0.0007 0.000713333 0.00068 0.000693333 0.000726667 0.000726667 0.000693333 0.000706667 +0.000686667 0.000706667 0.000706667 0.0007 0.000713333 0.000713333 0.000726667 0.000726667 +0.000706667 0.0007 0.000713333 0.000686667 0.000646667 0.000706667 0.000753333 0.000713333 +0.0007 0.000706667 0.000726667 0.00074 0.000706667 0.000726667 0.00076 0.00072 +0.000653333 0.000686667 0.000726667 0.000706667 0.000753333 0.00076 0.000686667 0.000693333 +0.000733333 0.00074 0.00074 0.000746667 0.000753333 0.00076 0.00074 0.000733333 +0.000786667 0.00078 0.00078 0.00076 0.0007 0.000706667 0.00076 0.000706667 +0.000666667 0.000733333 0.000753333 0.000733333 0.000713333 0.000693333 0.000693333 0.000713333 +0.000733333 0.000713333 0.00072 0.000746667 0.000746667 0.000753333 0.000753333 0.000733333 +0.00072 0.000733333 0.000766667 0.000773333 0.000746667 0.000746667 0.000746667 0.000746667 +0.00074 0.000766667 0.000813333 0.000806667 0.00078 0.000773333 0.000746667 0.00076 +0.00078 0.000773333 0.000726667 0.000726667 0.00074 0.00072 0.000746667 0.00074 +0.00074 0.000753333 0.00072 0.000733333 0.000753333 0.000726667 0.000706667 0.000706667 +0.000713333 0.000726667 0.00074 0.00072 0.000726667 0.000746667 0.000726667 0.000686667 +0.000706667 0.00076 0.00072 0.00068 0.000686667 0.000726667 0.00068 0.000646667 +0.000653333 0.000713333 0.000693333 0.000673333 0.000693333 0.00068 0.000673333 0.00064 +0.000626667 0.00066 0.00064 0.000653333 0.0007 0.0007 0.000646667 0.000626667 +0.000666667 0.000693333 0.00068 0.000666667 0.00066 0.000666667 0.0007 0.000693333 +0.0007 0.000693333 0.000673333 0.000706667 0.00072 0.000706667 0.0007 0.000686667 +0.0007 0.000713333 0.000693333 0.000666667 0.00068 0.000713333 0.000706667 0.000693333 +0.00072 0.0007 0.000693333 0.000746667 0.00074 0.000713333 0.000713333 0.000686667 +0.000686667 0.000693333 0.000686667 0.0007 0.0007 0.000713333 0.000733333 0.000726667 +0.0007 0.000693333 0.000733333 0.000733333 0.0007 0.000686667 0.000693333 0.0007 +0.000706667 0.0007 0.00068 0.000713333 0.00074 0.0007 0.000706667 0.000726667 +0.0007 0.000713333 0.00072 0.000706667 0.000713333 0.00068 0.000706667 0.00072 +0.000726667 0.000753333 0.000726667 0.000706667 0.000693333 0.000686667 0.000673333 0.00066 +0.000686667 0.000686667 0.000693333 0.000713333 0.000713333 0.000693333 0.000673333 0.000726667 +0.000733333 0.000713333 0.000706667 0.000713333 0.000706667 0.000706667 0.000733333 0.000753333 +0.000753333 0.000726667 0.00072 0.000713333 0.000746667 0.000766667 0.0008 0.000753333 +0.000713333 0.000726667 0.000753333 0.00074 0.000706667 0.000733333 0.000733333 0.00072 +0.000746667 0.000733333 0.000733333 0.000746667 0.000746667 0.00076 0.000753333 0.000733333 +0.000726667 0.000706667 0.0007 0.00072 0.000726667 0.000713333 0.000713333 0.00072 +0.000686667 0.000706667 0.000726667 0.000726667 0.000733333 0.000713333 0.000706667 0.000733333 +0.000733333 0.000706667 0.0007 0.0007 0.0007 0.00072 0.000706667 0.000686667 +0.000693333 0.000713333 0.000733333 0.000733333 0.000706667 0.000706667 0.00072 0.00072 +0.000726667 0.000726667 0.000726667 0.000713333 0.000693333 0.0007 0.000713333 0.000706667 +0.000706667 0.0007 0.000686667 0.000693333 0.00072 0.000713333 0.0007 0.000686667 +0.00068 0.000693333 0.000713333 0.0007 0.000693333 0.000693333 0.00072 0.00072 +0.0007 0.00068 0.000686667 0.000686667 0.0007 0.000706667 0.000706667 0.000713333 +0.000706667 0.00068 0.000673333 0.000706667 0.000713333 0.000713333 0.000686667 0.000693333 +0.0007 0.000693333 0.000686667 0.000673333 0.000686667 0.00068 0.00068 0.000673333 +0.000673333 0.000673333 0.000693333 0.000693333 0.00068 0.000693333 0.000713333 0.000713333 +0.000706667 0.000693333 0.000693333 0.00072 0.000713333 0.000713333 0.000706667 0.000686667 +0.000666667 0.000653333 0.000653333 0.00066 0.00068 0.000666667 0.00066 0.000673333 +0.00066 0.00066 0.000666667 0.00064 0.000633333 0.00064 0.000666667 0.000673333 +0.00064 0.00062 0.00062 0.000633333 0.000633333 0.00064 0.00064 0.000646667 +0.00062 0.00062 0.00066 0.000673333 0.000666667 0.000666667 0.00066 0.000666667 +0.000686667 0.000673333 0.000653333 0.000673333 0.00066 0.00068 0.000686667 0.00066 +0.00066 0.00068 0.000686667 0.00068 0.000666667 0.00066 0.00068 0.000693333 +0.0007 0.000686667 0.000673333 0.000693333 0.000686667 0.000666667 0.00068 0.000693333 +0.000686667 0.000686667 0.000693333 0.000686667 0.000733333 0.000833333 0.0009 0.225467 +0.26144 0.26144 0.246293 0.23872 0.22736 0.00092 0.000793333 0.000773333 +0.000733333 0.000713333 0.000746667 0.000726667 0.000693333 0.0007 0.000726667 0.00072 +0.00072 0.000693333 0.000713333 0.000726667 0.000693333 0.000706667 0.000726667 0.000753333 +0.000706667 0.00068 0.000666667 0.0007 0.000726667 0.000733333 0.000733333 0.00072 +0.00072 0.000726667 0.000706667 0.000706667 0.000713333 0.00074 0.000733333 0.000726667 +0.00074 0.000746667 0.000726667 0.000706667 0.0007 0.00072 0.000713333 0.0007 +0.000726667 0.000733333 0.000686667 0.000666667 0.00068 0.000646667 0.00066 0.0007 +0.00072 0.0007 0.000686667 0.00068 0.000666667 0.00068 0.00068 0.00064 +0.00068 0.000693333 0.000673333 0.000686667 0.00068 0.0007 0.000713333 0.000686667 +0.00066 0.000666667 0.00068 0.00068 0.00068 0.000706667 0.000706667 0.00066 +0.00066 0.0007 0.000673333 0.000693333 0.00072 0.000673333 0.000653333 0.000686667 +0.000713333 0.00072 0.000686667 0.000673333 0.00068 0.000693333 0.000706667 0.000673333 +0.00068 0.000726667 0.000726667 0.000686667 0.000693333 0.000706667 0.000686667 0.000706667 +0.000706667 0.000706667 0.0007 0.0007 0.00072 0.00074 0.000713333 0.000706667 +0.0007 0.000693333 0.00072 0.000713333 0.000693333 0.000706667 0.00072 0.000726667 +0.000713333 0.0007 0.000713333 0.00068 0.00064 0.000713333 0.000753333 0.000706667 +0.000693333 0.000713333 0.00074 0.000726667 0.0007 0.000726667 0.00074 0.00074 +0.000693333 0.0007 0.00072 0.000713333 0.000733333 0.00074 0.0007 0.000726667 +0.00076 0.000733333 0.000726667 0.000746667 0.000746667 0.000773333 0.000766667 0.000746667 +0.000773333 0.000773333 0.000773333 0.00076 0.000733333 0.00076 0.00078 0.000726667 +0.000706667 0.00074 0.000726667 0.000726667 0.000706667 0.00072 0.00072 0.000706667 +0.000713333 0.000713333 0.000706667 0.000713333 0.000746667 0.00078 0.000773333 0.000746667 +0.000733333 0.000753333 0.00078 0.000766667 0.000753333 0.00076 0.000753333 0.000773333 +0.000773333 0.000786667 0.000793333 0.000793333 0.000793333 0.000786667 0.000773333 0.00078 +0.000806667 0.000793333 0.000766667 0.000746667 0.000733333 0.000733333 0.000746667 0.000746667 +0.000766667 0.00076 0.00074 0.00076 0.000753333 0.000726667 0.000706667 0.000746667 +0.00074 0.000726667 0.00074 0.00074 0.00072 0.000746667 0.000726667 0.00068 +0.000713333 0.000766667 0.000713333 0.00068 0.0007 0.00072 0.000693333 0.000666667 +0.000686667 0.0007 0.000693333 0.00066 0.000686667 0.000686667 0.000653333 0.00062 +0.000606667 0.000613333 0.00062 0.000666667 0.000686667 0.00068 0.000633333 0.00064 +0.000666667 0.000666667 0.000686667 0.000693333 0.00068 0.000686667 0.000713333 0.000693333 +0.0007 0.000693333 0.00066 0.000686667 0.000693333 0.000693333 0.0007 0.0007 +0.000693333 0.000693333 0.0007 0.000686667 0.000693333 0.0007 0.00068 0.000666667 +0.0007 0.00072 0.000706667 0.000713333 0.000706667 0.000686667 0.0007 0.0007 +0.000693333 0.000693333 0.000693333 0.000706667 0.000706667 0.000706667 0.000726667 0.000693333 +0.000686667 0.0007 0.000746667 0.000706667 0.000693333 0.0007 0.0007 0.000686667 +0.000666667 0.000666667 0.000693333 0.000733333 0.000713333 0.00066 0.00068 0.000713333 +0.000706667 0.00074 0.00072 0.000686667 0.0007 0.000706667 0.00074 0.00074 +0.000713333 0.000713333 0.000713333 0.00074 0.000686667 0.000666667 0.00068 0.000673333 +0.000686667 0.000693333 0.000713333 0.00072 0.000686667 0.0007 0.000713333 0.000726667 +0.000706667 0.0007 0.000713333 0.00074 0.000726667 0.000733333 0.000746667 0.000753333 +0.00074 0.0007 0.000726667 0.000753333 0.00076 0.000753333 0.000753333 0.00074 +0.000733333 0.000733333 0.000753333 0.000746667 0.00072 0.00072 0.000746667 0.00074 +0.000733333 0.000746667 0.000733333 0.00072 0.00072 0.000726667 0.000733333 0.000753333 +0.00076 0.000733333 0.000733333 0.000713333 0.000713333 0.000726667 0.000693333 0.000706667 +0.000713333 0.000713333 0.000726667 0.000706667 0.0007 0.000713333 0.000706667 0.000713333 +0.000733333 0.00072 0.0007 0.0007 0.000706667 0.000726667 0.000726667 0.000693333 +0.000686667 0.0007 0.0007 0.000713333 0.0007 0.0007 0.000706667 0.000713333 +0.00072 0.000713333 0.00074 0.00074 0.00072 0.0007 0.000693333 0.000693333 +0.000706667 0.000713333 0.00068 0.000686667 0.000693333 0.0007 0.000706667 0.0007 +0.000693333 0.000693333 0.000706667 0.000706667 0.000706667 0.000686667 0.000686667 0.000706667 +0.000713333 0.00068 0.000686667 0.000693333 0.000686667 0.000686667 0.000693333 0.000706667 +0.00072 0.000693333 0.00068 0.000673333 0.000693333 0.000726667 0.000686667 0.00068 +0.000693333 0.000706667 0.000693333 0.000666667 0.000666667 0.000673333 0.000673333 0.000673333 +0.00066 0.00066 0.000686667 0.000693333 0.000693333 0.000673333 0.000673333 0.000693333 +0.000713333 0.000713333 0.000706667 0.000713333 0.000686667 0.0007 0.000726667 0.000713333 +0.000693333 0.000673333 0.000646667 0.000646667 0.00066 0.00066 0.000646667 0.000673333 +0.00066 0.000646667 0.000666667 0.000673333 0.000673333 0.00064 0.000646667 0.000653333 +0.00062 0.00062 0.000646667 0.000653333 0.000633333 0.000626667 0.000613333 0.000626667 +0.00062 0.000653333 0.000653333 0.000653333 0.000653333 0.000673333 0.000666667 0.000633333 +0.00066 0.00068 0.000686667 0.000686667 0.000673333 0.000673333 0.00068 0.000666667 +0.000673333 0.000693333 0.00068 0.00068 0.000693333 0.000673333 0.000653333 0.000666667 +0.000713333 0.0007 0.00068 0.000693333 0.0007 0.000706667 0.000686667 0.000673333 +0.0007 0.000726667 0.000733333 0.000793333 0.000933333 0.246293 0.2728 0.28416 +0.293627 0.293627 0.28416 0.28416 0.291733 0.280373 0.229253 0.000873333 +0.000773333 0.000733333 0.000733333 0.000753333 0.00074 0.000713333 0.0007 0.000706667 +0.000706667 0.000706667 0.00072 0.000726667 0.00072 0.000706667 0.000713333 0.000733333 +0.000733333 0.000706667 0.000693333 0.000686667 0.000706667 0.000706667 0.000713333 0.00072 +0.00072 0.000733333 0.00074 0.000706667 0.0007 0.000726667 0.000766667 0.000753333 +0.000726667 0.000726667 0.00074 0.00072 0.00068 0.000686667 0.000706667 0.000706667 +0.000693333 0.00072 0.000733333 0.0007 0.0007 0.00068 0.000673333 0.000686667 +0.000693333 0.00072 0.000713333 0.000693333 0.000666667 0.000673333 0.00068 0.000673333 +0.000686667 0.000706667 0.000673333 0.000673333 0.0007 0.000726667 0.000733333 0.000693333 +0.000653333 0.000666667 0.000673333 0.000693333 0.000693333 0.000693333 0.00072 0.000686667 +0.000666667 0.000726667 0.000706667 0.000713333 0.000733333 0.000686667 0.00068 0.000693333 +0.00072 0.00076 0.000726667 0.00072 0.000713333 0.000686667 0.00072 0.000693333 +0.000666667 0.00072 0.000726667 0.000686667 0.0007 0.000713333 0.000673333 0.000686667 +0.000706667 0.00072 0.000706667 0.0007 0.000726667 0.000746667 0.000706667 0.000713333 +0.000726667 0.00068 0.00072 0.000733333 0.000693333 0.000713333 0.00072 0.000706667 +0.000713333 0.000713333 0.000726667 0.000693333 0.00064 0.000726667 0.00076 0.000726667 +0.000706667 0.000706667 0.000713333 0.000726667 0.00072 0.00072 0.000713333 0.00074 +0.00072 0.000706667 0.000726667 0.000726667 0.000733333 0.000713333 0.00072 0.00074 +0.00074 0.000726667 0.000733333 0.000733333 0.000733333 0.00078 0.000773333 0.00076 +0.00076 0.000786667 0.000786667 0.000753333 0.000753333 0.000793333 0.000773333 0.00074 +0.000773333 0.000773333 0.000733333 0.000733333 0.00072 0.000746667 0.000733333 0.000706667 +0.000706667 0.000706667 0.00072 0.00074 0.000766667 0.000786667 0.000766667 0.000766667 +0.000766667 0.000766667 0.000786667 0.000786667 0.000766667 0.00078 0.00078 0.00078 +0.00078 0.000806667 0.000793333 0.0008 0.000806667 0.00078 0.000793333 0.0008 +0.000806667 0.000793333 0.000793333 0.000793333 0.00078 0.000766667 0.000753333 0.00076 +0.00078 0.000746667 0.00076 0.000773333 0.000746667 0.00074 0.00074 0.000773333 +0.000733333 0.00072 0.000733333 0.000746667 0.000726667 0.000686667 0.00068 0.000713333 +0.00074 0.000753333 0.0007 0.000686667 0.000713333 0.000726667 0.00072 0.000686667 +0.000693333 0.000693333 0.000673333 0.00064 0.000673333 0.0007 0.000653333 0.000613333 +0.00058 0.00058 0.00062 0.000666667 0.000666667 0.00066 0.00066 0.000673333 +0.000666667 0.000666667 0.000693333 0.000693333 0.00068 0.00068 0.000693333 0.00068 +0.000693333 0.0007 0.000666667 0.000653333 0.000673333 0.000686667 0.0007 0.00068 +0.000673333 0.000686667 0.0007 0.000686667 0.000686667 0.000706667 0.000673333 0.00066 +0.000706667 0.000713333 0.000686667 0.000693333 0.000686667 0.000673333 0.0007 0.000686667 +0.000666667 0.0007 0.0007 0.0007 0.00068 0.00068 0.000673333 0.00068 +0.000693333 0.000693333 0.0007 0.0007 0.000713333 0.000686667 0.00068 0.000673333 +0.000673333 0.000706667 0.00074 0.000713333 0.000673333 0.000666667 0.000693333 0.000726667 +0.00072 0.000726667 0.000706667 0.0007 0.000726667 0.000753333 0.00074 0.00072 +0.000686667 0.000706667 0.000733333 0.000726667 0.00068 0.000693333 0.000686667 0.0007 +0.000693333 0.000706667 0.000733333 0.000713333 0.000706667 0.000733333 0.000726667 0.000706667 +0.000713333 0.00072 0.000726667 0.000726667 0.00072 0.000746667 0.000733333 0.000726667 +0.00074 0.000733333 0.000753333 0.00074 0.000726667 0.000713333 0.00072 0.00074 +0.000733333 0.000726667 0.000746667 0.00072 0.000746667 0.000726667 0.000726667 0.00074 +0.000713333 0.000713333 0.000746667 0.000733333 0.000726667 0.000733333 0.0007 0.000706667 +0.00074 0.000726667 0.000746667 0.000746667 0.00072 0.000713333 0.000713333 0.00072 +0.000733333 0.000733333 0.000706667 0.000706667 0.000713333 0.000706667 0.0007 0.000693333 +0.000713333 0.000733333 0.00072 0.0007 0.0007 0.0007 0.00072 0.000733333 +0.000713333 0.0007 0.000693333 0.000706667 0.0007 0.0007 0.0007 0.000706667 +0.000693333 0.000673333 0.000706667 0.000726667 0.000733333 0.00072 0.000706667 0.0007 +0.000693333 0.000706667 0.0007 0.0007 0.000706667 0.000686667 0.000673333 0.000693333 +0.000693333 0.000686667 0.000693333 0.000706667 0.000706667 0.0007 0.000693333 0.000706667 +0.00072 0.000693333 0.00068 0.000666667 0.00068 0.000686667 0.000673333 0.000686667 +0.000706667 0.000706667 0.000693333 0.00066 0.00068 0.000706667 0.000693333 0.000693333 +0.000693333 0.000706667 0.000713333 0.000693333 0.000666667 0.00066 0.000666667 0.00068 +0.000666667 0.000646667 0.000673333 0.00068 0.00068 0.00068 0.000673333 0.000666667 +0.000673333 0.00068 0.000706667 0.00072 0.000693333 0.000693333 0.0007 0.000713333 +0.000726667 0.000706667 0.00068 0.000666667 0.000666667 0.00066 0.000646667 0.000646667 +0.00064 0.000626667 0.00064 0.000673333 0.00068 0.000666667 0.000673333 0.00068 +0.000633333 0.000613333 0.00064 0.000653333 0.000646667 0.000646667 0.00062 0.000626667 +0.00062 0.000653333 0.000653333 0.00066 0.00066 0.000673333 0.000673333 0.000646667 +0.00062 0.000626667 0.00068 0.000713333 0.000693333 0.00068 0.00066 0.000666667 +0.000693333 0.000706667 0.000693333 0.000666667 0.0007 0.00072 0.00068 0.000666667 +0.000673333 0.000666667 0.000686667 0.000686667 0.000686667 0.00072 0.000693333 0.000673333 +0.000693333 0.00074 0.000846667 0.22736 0.276587 0.280373 0.259547 0.23304 +0.00094 0.000913333 0.000953333 0.225467 0.25576 0.29552 0.287947 0.234933 +0.0009 0.00078 0.000733333 0.00074 0.00074 0.00076 0.000733333 0.000686667 +0.000693333 0.00074 0.000726667 0.000706667 0.000706667 0.000713333 0.000713333 0.0007 +0.00074 0.00074 0.000726667 0.000713333 0.0007 0.000693333 0.000693333 0.0007 +0.0007 0.000726667 0.000773333 0.000753333 0.000706667 0.000686667 0.000733333 0.00076 +0.000746667 0.000753333 0.00074 0.00074 0.000726667 0.000706667 0.000693333 0.0007 +0.000693333 0.000693333 0.00074 0.000733333 0.000713333 0.0007 0.000673333 0.000686667 +0.000706667 0.000726667 0.00072 0.0007 0.000686667 0.000693333 0.000686667 0.00068 +0.000693333 0.0007 0.000693333 0.000693333 0.0007 0.000713333 0.000753333 0.000733333 +0.000666667 0.00066 0.000673333 0.000686667 0.000693333 0.000706667 0.000726667 0.000713333 +0.000693333 0.000726667 0.000733333 0.000726667 0.00072 0.00068 0.0007 0.000713333 +0.000726667 0.000753333 0.000726667 0.000746667 0.000753333 0.0007 0.000733333 0.000726667 +0.000706667 0.000746667 0.000746667 0.000713333 0.00072 0.00076 0.00072 0.000693333 +0.000726667 0.00074 0.00072 0.000686667 0.00072 0.00074 0.0007 0.000706667 +0.0007 0.000686667 0.000713333 0.000733333 0.000706667 0.00072 0.000733333 0.000713333 +0.000726667 0.000733333 0.000733333 0.000706667 0.000653333 0.00072 0.00076 0.00074 +0.00072 0.00072 0.000726667 0.000726667 0.000733333 0.000713333 0.00072 0.000746667 +0.000726667 0.00072 0.00074 0.00074 0.000746667 0.000713333 0.000726667 0.00074 +0.00074 0.000746667 0.000733333 0.000726667 0.00074 0.000766667 0.000766667 0.00078 +0.000793333 0.00078 0.000773333 0.000753333 0.000753333 0.000793333 0.000773333 0.000746667 +0.000806667 0.000793333 0.00076 0.00078 0.000766667 0.000766667 0.000753333 0.000726667 +0.000713333 0.000726667 0.000753333 0.00076 0.00076 0.00078 0.00076 0.00078 +0.000773333 0.00078 0.000793333 0.000813333 0.0008 0.000806667 0.000813333 0.000793333 +0.000786667 0.000793333 0.00078 0.000813333 0.000826667 0.000793333 0.000806667 0.00082 +0.000826667 0.00082 0.00082 0.000806667 0.000806667 0.000806667 0.000793333 0.000766667 +0.000746667 0.000726667 0.00076 0.00078 0.00074 0.000746667 0.000773333 0.00076 +0.000706667 0.000726667 0.000726667 0.000733333 0.00072 0.000666667 0.000693333 0.000766667 +0.000766667 0.000706667 0.000673333 0.00068 0.00072 0.000733333 0.000706667 0.00068 +0.0007 0.000686667 0.00066 0.000646667 0.00068 0.0007 0.000633333 0.00062 +0.000606667 0.000593333 0.000606667 0.000633333 0.000646667 0.000653333 0.00066 0.000666667 +0.00066 0.000673333 0.00068 0.00066 0.000653333 0.000653333 0.000666667 0.000673333 +0.00068 0.000693333 0.000653333 0.000633333 0.000686667 0.00068 0.000666667 0.00066 +0.00066 0.000673333 0.00068 0.000686667 0.00068 0.000673333 0.00066 0.000653333 +0.00068 0.000686667 0.000673333 0.000666667 0.000666667 0.00066 0.00068 0.000666667 +0.00066 0.000706667 0.0007 0.000673333 0.000686667 0.000686667 0.000686667 0.0007 +0.000673333 0.00068 0.000693333 0.000693333 0.00068 0.00066 0.000693333 0.000693333 +0.000693333 0.00072 0.000726667 0.0007 0.000706667 0.000713333 0.000713333 0.000713333 +0.0007 0.000693333 0.000706667 0.000726667 0.00072 0.000713333 0.000693333 0.0007 +0.0007 0.000726667 0.00072 0.00068 0.000693333 0.000713333 0.000686667 0.000706667 +0.0007 0.000706667 0.00072 0.000726667 0.00074 0.000713333 0.000706667 0.00072 +0.00072 0.00072 0.000713333 0.000713333 0.000726667 0.000733333 0.0007 0.000693333 +0.00074 0.00074 0.000733333 0.000713333 0.000726667 0.000726667 0.000733333 0.00072 +0.00072 0.00072 0.00072 0.000693333 0.00074 0.000766667 0.000746667 0.00074 +0.000733333 0.000706667 0.000706667 0.000733333 0.00074 0.000733333 0.000733333 0.000706667 +0.000706667 0.000706667 0.000706667 0.000726667 0.000733333 0.0007 0.0007 0.0007 +0.00072 0.000733333 0.000726667 0.000713333 0.00072 0.000713333 0.0007 0.0007 +0.000713333 0.000733333 0.00074 0.00072 0.0007 0.00068 0.0007 0.000726667 +0.000726667 0.000713333 0.0007 0.000713333 0.0007 0.000693333 0.0007 0.000713333 +0.000706667 0.00068 0.000686667 0.000693333 0.00068 0.000693333 0.00072 0.000726667 +0.0007 0.000706667 0.000706667 0.000706667 0.000713333 0.000693333 0.00066 0.000673333 +0.000693333 0.000693333 0.0007 0.0007 0.00068 0.000673333 0.000693333 0.00072 +0.000726667 0.0007 0.000693333 0.00068 0.000673333 0.00068 0.000673333 0.000673333 +0.0007 0.000713333 0.000693333 0.00066 0.00068 0.000686667 0.000666667 0.00068 +0.00068 0.000693333 0.000706667 0.000713333 0.0007 0.000686667 0.000646667 0.00066 +0.000673333 0.000673333 0.00068 0.000686667 0.00068 0.000673333 0.00068 0.00068 +0.00066 0.000646667 0.00068 0.0007 0.000693333 0.00068 0.000673333 0.00068 +0.0007 0.000693333 0.000686667 0.000693333 0.000693333 0.000666667 0.000666667 0.000653333 +0.000653333 0.00064 0.000626667 0.000646667 0.000646667 0.000646667 0.00066 0.00068 +0.000666667 0.00066 0.000653333 0.00064 0.00064 0.000646667 0.00064 0.000633333 +0.000653333 0.00066 0.000646667 0.000646667 0.00066 0.000693333 0.00068 0.00068 +0.00066 0.000626667 0.00064 0.000686667 0.000713333 0.00068 0.000673333 0.000686667 +0.000706667 0.0007 0.000706667 0.000686667 0.00068 0.000706667 0.000726667 0.000713333 +0.000693333 0.00068 0.00068 0.0007 0.0007 0.000706667 0.000713333 0.00072 +0.000753333 0.000866667 0.23304 0.282267 0.280373 0.229253 0.000886667 0.000806667 +0.000753333 0.00074 0.000766667 0.000813333 0.000913333 0.240613 0.280373 0.280373 +0.23304 0.000886667 0.000773333 0.000733333 0.000726667 0.000726667 0.000733333 0.00074 +0.0007 0.000713333 0.00074 0.000753333 0.00072 0.000713333 0.00072 0.000693333 +0.000726667 0.000746667 0.000733333 0.000726667 0.000726667 0.000713333 0.000713333 0.000713333 +0.000693333 0.000686667 0.00074 0.000773333 0.00074 0.000686667 0.000706667 0.000746667 +0.00078 0.000766667 0.000753333 0.000753333 0.000753333 0.00074 0.00072 0.000706667 +0.0007 0.000686667 0.000726667 0.00076 0.000733333 0.000706667 0.000686667 0.000693333 +0.000726667 0.000746667 0.000733333 0.00072 0.000693333 0.000706667 0.0007 0.000673333 +0.000693333 0.000706667 0.000713333 0.000733333 0.000713333 0.00068 0.000706667 0.00074 +0.0007 0.00068 0.000693333 0.000706667 0.00068 0.00068 0.000713333 0.000726667 +0.000693333 0.00068 0.000713333 0.000733333 0.000733333 0.000693333 0.000706667 0.00072 +0.000726667 0.00074 0.000726667 0.000746667 0.00076 0.00072 0.000713333 0.0007 +0.0007 0.000746667 0.000773333 0.000726667 0.000706667 0.000746667 0.00074 0.000753333 +0.00078 0.00076 0.00076 0.000713333 0.000706667 0.000746667 0.000746667 0.00074 +0.0007 0.000686667 0.000726667 0.00074 0.00072 0.000713333 0.000726667 0.00072 +0.000733333 0.00072 0.000713333 0.000706667 0.000693333 0.00074 0.00076 0.00074 +0.000713333 0.00072 0.000733333 0.000753333 0.000753333 0.000733333 0.00074 0.000733333 +0.000733333 0.000726667 0.000746667 0.000753333 0.000746667 0.000733333 0.00074 0.000773333 +0.000773333 0.000753333 0.00074 0.000746667 0.000753333 0.00078 0.00076 0.000766667 +0.000806667 0.0008 0.000753333 0.000726667 0.00076 0.0008 0.000773333 0.000773333 +0.000846667 0.0008 0.000766667 0.000813333 0.00082 0.000806667 0.000773333 0.000753333 +0.000753333 0.000786667 0.00078 0.000746667 0.00076 0.0008 0.000793333 0.0008 +0.00078 0.000793333 0.000813333 0.000806667 0.00082 0.000826667 0.00082 0.0008 +0.000833333 0.00084 0.000806667 0.000813333 0.000826667 0.000826667 0.000846667 0.000846667 +0.00084 0.00082 0.000826667 0.000833333 0.00084 0.000833333 0.000826667 0.0008 +0.000766667 0.00076 0.000766667 0.000766667 0.000746667 0.00074 0.000753333 0.00072 +0.000726667 0.000753333 0.000713333 0.000733333 0.00072 0.000686667 0.000726667 0.000766667 +0.000733333 0.000666667 0.000666667 0.000673333 0.0007 0.000693333 0.000686667 0.000713333 +0.000686667 0.000646667 0.000646667 0.00066 0.000673333 0.00066 0.00062 0.000633333 +0.000633333 0.000586667 0.000593333 0.000633333 0.00066 0.000653333 0.00066 0.00064 +0.000646667 0.000673333 0.000673333 0.000646667 0.000646667 0.000633333 0.000633333 0.000673333 +0.00066 0.000666667 0.00064 0.000633333 0.000653333 0.00066 0.000653333 0.000653333 +0.00066 0.000646667 0.000673333 0.00068 0.000666667 0.000673333 0.000646667 0.00064 +0.00066 0.000693333 0.00068 0.000673333 0.000686667 0.000666667 0.00068 0.00068 +0.000686667 0.000706667 0.0007 0.000693333 0.000693333 0.000666667 0.00068 0.0007 +0.00068 0.000713333 0.000726667 0.000693333 0.00068 0.000686667 0.000706667 0.000693333 +0.000693333 0.000693333 0.000686667 0.000713333 0.00072 0.000693333 0.0007 0.000713333 +0.000706667 0.000706667 0.000726667 0.000726667 0.000713333 0.000706667 0.00072 0.00072 +0.00072 0.0007 0.000666667 0.000686667 0.000693333 0.0007 0.0007 0.000693333 +0.00068 0.00068 0.000693333 0.000726667 0.00072 0.000686667 0.00072 0.00072 +0.000706667 0.0007 0.000706667 0.000706667 0.0007 0.000693333 0.0007 0.000706667 +0.00072 0.000726667 0.000713333 0.000733333 0.00074 0.000746667 0.00072 0.000693333 +0.000713333 0.0007 0.000693333 0.000726667 0.00072 0.000746667 0.00076 0.00074 +0.00074 0.00074 0.000706667 0.000713333 0.00074 0.000726667 0.000733333 0.00074 +0.00072 0.00072 0.0007 0.00068 0.000706667 0.000713333 0.000706667 0.000706667 +0.0007 0.000686667 0.0007 0.000713333 0.0007 0.000706667 0.00072 0.0007 +0.000686667 0.000693333 0.00072 0.000713333 0.00072 0.000713333 0.000693333 0.0007 +0.0007 0.000706667 0.000726667 0.000726667 0.0007 0.000693333 0.000693333 0.000713333 +0.00072 0.00072 0.00072 0.000706667 0.000666667 0.000666667 0.000693333 0.0007 +0.000706667 0.000693333 0.00068 0.000686667 0.000686667 0.00068 0.00068 0.00068 +0.000686667 0.000686667 0.000686667 0.000693333 0.000686667 0.000686667 0.000693333 0.000713333 +0.0007 0.000673333 0.000706667 0.00072 0.00068 0.000686667 0.000693333 0.000686667 +0.000686667 0.000693333 0.000693333 0.00066 0.000673333 0.00068 0.000666667 0.000673333 +0.000666667 0.000653333 0.000673333 0.000693333 0.0007 0.000693333 0.000653333 0.000646667 +0.000653333 0.000686667 0.000673333 0.000673333 0.000693333 0.000686667 0.00068 0.0007 +0.000706667 0.00068 0.000673333 0.00068 0.00068 0.000693333 0.000686667 0.000666667 +0.000653333 0.000666667 0.00068 0.0007 0.000673333 0.00066 0.00066 0.000646667 +0.000673333 0.000686667 0.000666667 0.000626667 0.000633333 0.000653333 0.000666667 0.00064 +0.000633333 0.00068 0.000693333 0.00066 0.00066 0.00064 0.000633333 0.00062 +0.000653333 0.000646667 0.00064 0.00064 0.000666667 0.000673333 0.000673333 0.00068 +0.000673333 0.000666667 0.000686667 0.000686667 0.000686667 0.000653333 0.000666667 0.000686667 +0.000693333 0.000686667 0.000693333 0.0007 0.000686667 0.000686667 0.000706667 0.000693333 +0.0007 0.000726667 0.000706667 0.0007 0.00072 0.000713333 0.000733333 0.00078 +0.00092 0.251973 0.282267 0.26144 0.216 0.000853333 0.000773333 0.000746667 +0.000746667 0.000746667 0.000746667 0.000753333 0.00078 0.000893333 0.242507 0.286053 +0.270907 0.000993333 0.00082 0.00076 0.00076 0.00072 0.00072 0.000746667 +0.00074 0.000693333 0.000706667 0.000753333 0.00078 0.00074 0.00072 0.00072 +0.000693333 0.00074 0.000746667 0.000733333 0.000726667 0.000726667 0.00072 0.000706667 +0.000726667 0.000686667 0.000706667 0.000753333 0.000773333 0.00072 0.000726667 0.000746667 +0.00074 0.000746667 0.00076 0.000773333 0.000753333 0.000753333 0.00076 0.000733333 +0.000733333 0.000693333 0.000713333 0.000766667 0.000753333 0.000726667 0.000713333 0.00072 +0.00072 0.00072 0.00074 0.000726667 0.0007 0.000693333 0.000706667 0.000693333 +0.000693333 0.000706667 0.0007 0.000713333 0.00072 0.000706667 0.000693333 0.00072 +0.000733333 0.00074 0.000733333 0.000746667 0.000693333 0.00066 0.000693333 0.000713333 +0.0007 0.000686667 0.000693333 0.000733333 0.000766667 0.00072 0.000726667 0.00074 +0.000726667 0.00074 0.000746667 0.000753333 0.000753333 0.000733333 0.000726667 0.000733333 +0.000713333 0.00076 0.000773333 0.000713333 0.000726667 0.000746667 0.000726667 0.00076 +0.000766667 0.000753333 0.00074 0.00072 0.000726667 0.000753333 0.000773333 0.00078 +0.00074 0.000713333 0.00076 0.00078 0.00074 0.000726667 0.000726667 0.000713333 +0.00072 0.000726667 0.000713333 0.000706667 0.000726667 0.000766667 0.000753333 0.000713333 +0.000713333 0.000713333 0.000726667 0.000766667 0.000766667 0.000766667 0.000753333 0.000733333 +0.000746667 0.00074 0.00076 0.000773333 0.000753333 0.000733333 0.000746667 0.000766667 +0.00078 0.000766667 0.00076 0.000773333 0.00076 0.00078 0.000766667 0.00078 +0.000813333 0.000813333 0.000766667 0.000753333 0.0008 0.00082 0.000806667 0.00082 +0.000873333 0.00084 0.000813333 0.00086 0.00088 0.00088 0.00084 0.000826667 +0.000886667 0.0009 0.000853333 0.000833333 0.000833333 0.000866667 0.00088 0.000853333 +0.000853333 0.000853333 0.000873333 0.000853333 0.00086 0.000853333 0.000853333 0.000853333 +0.000873333 0.000893333 0.000873333 0.00086 0.000833333 0.000853333 0.000886667 0.00088 +0.000833333 0.000826667 0.000833333 0.000846667 0.000833333 0.000813333 0.000826667 0.000806667 +0.000806667 0.000813333 0.000773333 0.000726667 0.00072 0.000746667 0.00074 0.000726667 +0.00076 0.000733333 0.0007 0.0007 0.00068 0.000706667 0.000766667 0.000753333 +0.000706667 0.000666667 0.000686667 0.000713333 0.000693333 0.00066 0.00068 0.00072 +0.000673333 0.000653333 0.00068 0.000693333 0.000673333 0.00068 0.000673333 0.00066 +0.000633333 0.0006 0.000606667 0.000613333 0.00064 0.000653333 0.000653333 0.000633333 +0.00064 0.000653333 0.000646667 0.000633333 0.000646667 0.00062 0.000613333 0.000646667 +0.000633333 0.000653333 0.000653333 0.000626667 0.00064 0.000666667 0.000653333 0.00066 +0.00066 0.000653333 0.000666667 0.000693333 0.000673333 0.000666667 0.00064 0.00062 +0.000666667 0.000686667 0.000673333 0.000706667 0.000706667 0.000666667 0.00068 0.000693333 +0.000686667 0.000706667 0.000713333 0.000706667 0.00068 0.00066 0.000686667 0.000706667 +0.0007 0.000713333 0.00072 0.000706667 0.000693333 0.000686667 0.000693333 0.000673333 +0.00068 0.000686667 0.0007 0.000746667 0.00072 0.000686667 0.000706667 0.0007 +0.000693333 0.00072 0.00072 0.000706667 0.00072 0.000706667 0.000733333 0.000713333 +0.000686667 0.000673333 0.000673333 0.0007 0.000673333 0.00068 0.000693333 0.000686667 +0.00068 0.00068 0.0007 0.000706667 0.000686667 0.000673333 0.000686667 0.000686667 +0.0007 0.000706667 0.000713333 0.0007 0.00068 0.000706667 0.000726667 0.000713333 +0.000706667 0.000713333 0.00072 0.000773333 0.000746667 0.000726667 0.000673333 0.000666667 +0.000706667 0.000713333 0.00072 0.00074 0.000713333 0.000706667 0.000733333 0.00076 +0.000766667 0.00074 0.000733333 0.00072 0.00072 0.000726667 0.000726667 0.000753333 +0.000766667 0.000753333 0.000733333 0.000706667 0.000706667 0.00072 0.000733333 0.00072 +0.00072 0.000706667 0.00068 0.000693333 0.000706667 0.00072 0.00072 0.000706667 +0.000693333 0.00068 0.000686667 0.00068 0.000686667 0.0007 0.000706667 0.000686667 +0.000673333 0.000686667 0.000726667 0.000746667 0.000726667 0.000713333 0.000686667 0.00068 +0.000693333 0.0007 0.000713333 0.000733333 0.000713333 0.000706667 0.000706667 0.000686667 +0.000686667 0.000686667 0.00068 0.00068 0.00068 0.000666667 0.00068 0.00068 +0.000673333 0.000686667 0.00068 0.000673333 0.00066 0.00068 0.000693333 0.000706667 +0.000706667 0.000666667 0.00068 0.000713333 0.0007 0.000706667 0.000693333 0.00068 +0.00068 0.000686667 0.000693333 0.000673333 0.000673333 0.000666667 0.00068 0.000666667 +0.00068 0.00068 0.000666667 0.00066 0.000673333 0.000673333 0.000673333 0.000673333 +0.000653333 0.00066 0.000646667 0.000646667 0.000653333 0.000666667 0.000666667 0.000686667 +0.000706667 0.000713333 0.000706667 0.000693333 0.000673333 0.0007 0.00072 0.000686667 +0.000653333 0.000653333 0.000673333 0.000686667 0.000666667 0.00066 0.00066 0.00064 +0.000646667 0.000646667 0.000666667 0.000653333 0.000613333 0.000626667 0.000653333 0.00064 +0.000633333 0.000653333 0.000673333 0.000653333 0.000673333 0.00068 0.000646667 0.000646667 +0.000673333 0.00066 0.000653333 0.000653333 0.000666667 0.000686667 0.000693333 0.00068 +0.000653333 0.000653333 0.000693333 0.000706667 0.000686667 0.000666667 0.000666667 0.000686667 +0.000673333 0.000653333 0.00068 0.000706667 0.000726667 0.000726667 0.000693333 0.00068 +0.00068 0.000726667 0.00072 0.000706667 0.000733333 0.00074 0.000806667 0.000953333 +0.25576 0.291733 0.26144 0.000953333 0.000826667 0.000786667 0.000773333 0.000753333 +0.000746667 0.000766667 0.000766667 0.000753333 0.000726667 0.00076 0.000946667 0.269013 +0.291733 0.248187 0.000893333 0.000773333 0.000746667 0.000753333 0.000746667 0.000733333 +0.00074 0.00072 0.0007 0.000713333 0.00076 0.00074 0.000733333 0.000746667 +0.00072 0.00072 0.000733333 0.00074 0.000753333 0.000746667 0.000746667 0.000713333 +0.00072 0.00072 0.0007 0.000726667 0.000766667 0.00076 0.000733333 0.000753333 +0.000733333 0.000746667 0.00076 0.0008 0.000786667 0.000773333 0.000773333 0.000746667 +0.00076 0.000733333 0.000706667 0.000726667 0.000766667 0.000746667 0.000726667 0.000726667 +0.00072 0.0007 0.0007 0.000706667 0.000733333 0.000713333 0.00072 0.00072 +0.0007 0.000706667 0.000693333 0.000686667 0.000706667 0.000733333 0.00074 0.00072 +0.00072 0.00074 0.000713333 0.00074 0.000706667 0.00068 0.00072 0.0007 +0.00072 0.000733333 0.00072 0.00074 0.00074 0.000693333 0.00072 0.000746667 +0.00072 0.000713333 0.000733333 0.000766667 0.00076 0.000726667 0.00074 0.000766667 +0.00074 0.000773333 0.000793333 0.000726667 0.00072 0.00076 0.000746667 0.000753333 +0.000766667 0.000773333 0.000753333 0.000746667 0.000766667 0.00076 0.000766667 0.000786667 +0.00076 0.00074 0.000766667 0.000766667 0.000746667 0.00074 0.00076 0.000766667 +0.00078 0.000766667 0.000746667 0.000726667 0.000726667 0.00078 0.000773333 0.00072 +0.000733333 0.00074 0.000746667 0.000773333 0.00076 0.000753333 0.000766667 0.00076 +0.000766667 0.00078 0.00078 0.000773333 0.000773333 0.000786667 0.000786667 0.0008 +0.000833333 0.000813333 0.000813333 0.00084 0.00084 0.000826667 0.000833333 0.000886667 +0.000893333 0.000886667 0.000873333 0.000893333 0.000946667 0.00098 0.000986667 0.219787 +0.234933 0.23304 0.23304 0.248187 0.25576 0.26144 0.25008 0.251973 +0.270907 0.26712 0.265227 0.265227 0.259547 0.259547 0.259547 0.251973 +0.25576 0.265227 0.26144 0.251973 0.248187 0.242507 0.242507 0.240613 +0.236827 0.22736 0.229253 0.23304 0.217893 0.216 0.216 0.000966667 +0.000906667 0.000893333 0.00088 0.00086 0.000793333 0.0008 0.000853333 0.000806667 +0.0008 0.000806667 0.0008 0.00074 0.0007 0.000746667 0.000753333 0.000726667 +0.00076 0.000713333 0.0007 0.00068 0.000686667 0.000753333 0.0008 0.000733333 +0.000686667 0.000686667 0.0007 0.000733333 0.000706667 0.000673333 0.000706667 0.000753333 +0.000746667 0.000786667 0.000826667 0.000846667 0.000833333 0.000853333 0.000846667 0.000766667 +0.000686667 0.000646667 0.0006 0.000566667 0.00058 0.000626667 0.00064 0.00062 +0.000633333 0.000646667 0.00064 0.000633333 0.000633333 0.000613333 0.000626667 0.000646667 +0.00064 0.000653333 0.000666667 0.00064 0.000653333 0.00066 0.000653333 0.000673333 +0.000666667 0.000646667 0.00066 0.000686667 0.000673333 0.000653333 0.000653333 0.00066 +0.000666667 0.00068 0.00068 0.000706667 0.000706667 0.00068 0.00068 0.000686667 +0.000693333 0.0007 0.000706667 0.00068 0.000666667 0.000673333 0.000686667 0.000706667 +0.00072 0.000713333 0.000706667 0.000693333 0.00068 0.000653333 0.000666667 0.000666667 +0.00068 0.0007 0.000713333 0.00072 0.000693333 0.00068 0.000686667 0.000666667 +0.000686667 0.000706667 0.000693333 0.000726667 0.000726667 0.000693333 0.000686667 0.00066 +0.000666667 0.0007 0.000713333 0.000686667 0.00066 0.000693333 0.000693333 0.000693333 +0.000693333 0.0007 0.000693333 0.00068 0.000686667 0.000686667 0.0007 0.0007 +0.0007 0.000713333 0.0007 0.00068 0.000686667 0.000713333 0.000713333 0.0007 +0.000686667 0.000706667 0.000726667 0.000753333 0.000713333 0.000706667 0.000673333 0.000686667 +0.000713333 0.000733333 0.000746667 0.000713333 0.00072 0.00072 0.000706667 0.000706667 +0.00074 0.00074 0.000733333 0.000733333 0.00072 0.0007 0.000713333 0.00072 +0.00074 0.00074 0.00072 0.000726667 0.00074 0.000733333 0.000733333 0.000706667 +0.000713333 0.00072 0.0007 0.000693333 0.000706667 0.00072 0.000713333 0.00072 +0.00074 0.000733333 0.000706667 0.0007 0.000693333 0.000693333 0.000706667 0.000706667 +0.000693333 0.000686667 0.0007 0.000713333 0.00072 0.000733333 0.000713333 0.0007 +0.000686667 0.000673333 0.00068 0.0007 0.0007 0.000693333 0.0007 0.000706667 +0.000693333 0.000693333 0.0007 0.0007 0.0007 0.000666667 0.00066 0.000673333 +0.000666667 0.000686667 0.000706667 0.000686667 0.000666667 0.00066 0.00066 0.000693333 +0.0007 0.000673333 0.000673333 0.000673333 0.000686667 0.000713333 0.000686667 0.000666667 +0.00068 0.000706667 0.000693333 0.000673333 0.000686667 0.000666667 0.000673333 0.00066 +0.00066 0.000693333 0.00068 0.00066 0.000666667 0.000653333 0.000653333 0.000666667 +0.000666667 0.00066 0.000666667 0.000653333 0.000646667 0.00064 0.000646667 0.000653333 +0.000646667 0.000686667 0.00072 0.0007 0.00068 0.000686667 0.000693333 0.000686667 +0.00068 0.000673333 0.000673333 0.000666667 0.00066 0.000666667 0.00066 0.00066 +0.000646667 0.000606667 0.000613333 0.000646667 0.000646667 0.000633333 0.000626667 0.000613333 +0.000626667 0.000646667 0.000653333 0.000653333 0.000646667 0.000666667 0.000666667 0.000673333 +0.000666667 0.00066 0.000666667 0.000673333 0.000693333 0.0007 0.000726667 0.000713333 +0.0007 0.0007 0.000686667 0.000666667 0.00066 0.000693333 0.000713333 0.00072 +0.00068 0.000653333 0.000666667 0.000686667 0.000733333 0.000746667 0.00072 0.000713333 +0.00072 0.000713333 0.00072 0.00072 0.000746667 0.000853333 0.225467 0.27848 +0.28416 0.248187 0.000946667 0.00082 0.000766667 0.000773333 0.00078 0.00076 +0.000753333 0.00076 0.000786667 0.00078 0.000746667 0.00074 0.00082 0.225467 +0.286053 0.27848 0.223573 0.00084 0.000746667 0.00074 0.000773333 0.000753333 +0.000746667 0.000746667 0.000733333 0.0007 0.000706667 0.000733333 0.000753333 0.000773333 +0.000746667 0.00072 0.000726667 0.00074 0.00076 0.00078 0.00078 0.000733333 +0.000713333 0.000733333 0.000713333 0.000713333 0.00076 0.000773333 0.000746667 0.000773333 +0.00078 0.00078 0.000766667 0.000786667 0.00082 0.000806667 0.000793333 0.000766667 +0.000753333 0.000733333 0.000706667 0.00072 0.000753333 0.000753333 0.000753333 0.000733333 +0.000746667 0.00076 0.000753333 0.00072 0.000713333 0.000713333 0.000706667 0.000693333 +0.000706667 0.000733333 0.000726667 0.0007 0.000713333 0.00074 0.000733333 0.00074 +0.00072 0.000693333 0.000686667 0.00072 0.000713333 0.00072 0.000733333 0.00072 +0.000726667 0.000706667 0.00072 0.000753333 0.00074 0.0007 0.000713333 0.000773333 +0.00076 0.000726667 0.000713333 0.00076 0.000773333 0.000733333 0.000753333 0.00078 +0.000766667 0.000766667 0.00078 0.00074 0.000693333 0.00074 0.000766667 0.000766667 +0.000786667 0.000773333 0.000753333 0.00078 0.000786667 0.000786667 0.00078 0.000786667 +0.000766667 0.00078 0.00078 0.00076 0.00078 0.000786667 0.000786667 0.0008 +0.000813333 0.000793333 0.0008 0.00078 0.000793333 0.00086 0.000866667 0.000806667 +0.000813333 0.000813333 0.000813333 0.00084 0.0008 0.000793333 0.000853333 0.000853333 +0.00086 0.000886667 0.000926667 0.000933333 0.000953333 0.000993333 0.000973333 0.219787 +0.234933 0.231147 0.23872 0.251973 0.253867 0.25008 0.25576 0.2728 +0.270907 0.2728 0.28416 0.28984 0.304987 0.314453 0.314453 0.320133 +0.339067 0.339067 0.337173 0.350427 0.371253 0.382613 0.371253 0.365573 +0.365573 0.365573 0.373147 0.367467 0.371253 0.371253 0.361787 0.359893 +0.376933 0.388293 0.376933 0.358 0.348533 0.350427 0.344747 0.34096 +0.34096 0.33528 0.337173 0.339067 0.333387 0.325813 0.31256 0.29552 +0.280373 0.2728 0.248187 0.236827 0.216 0.000946667 0.00092 0.000906667 +0.000873333 0.000846667 0.000846667 0.000806667 0.000773333 0.000766667 0.000746667 0.00074 +0.00074 0.000733333 0.000746667 0.000706667 0.000693333 0.000746667 0.000753333 0.00072 +0.000673333 0.000686667 0.00072 0.000753333 0.000746667 0.000733333 0.00082 0.0009 +0.000946667 0.22168 0.236827 0.246293 0.248187 0.257653 0.25576 0.234933 +0.000973333 0.000833333 0.000666667 0.000546667 0.000566667 0.00062 0.000626667 0.000633333 +0.00064 0.000646667 0.000633333 0.00062 0.000606667 0.000606667 0.00062 0.00064 +0.00064 0.000653333 0.00066 0.00064 0.000646667 0.00066 0.00066 0.00066 +0.000673333 0.00066 0.000666667 0.000686667 0.00066 0.000646667 0.000653333 0.000653333 +0.00066 0.00068 0.000686667 0.000673333 0.000706667 0.00068 0.000653333 0.000693333 +0.000693333 0.000693333 0.000673333 0.00066 0.00066 0.00066 0.00068 0.000693333 +0.000706667 0.00072 0.000686667 0.000646667 0.000646667 0.000653333 0.000666667 0.000666667 +0.000666667 0.0007 0.000686667 0.00068 0.000666667 0.00066 0.00068 0.00068 +0.00068 0.000706667 0.00072 0.000726667 0.00068 0.00066 0.000653333 0.00066 +0.0007 0.0007 0.000693333 0.00068 0.00068 0.0007 0.000693333 0.00068 +0.000673333 0.000673333 0.0007 0.000706667 0.000693333 0.000693333 0.000713333 0.0007 +0.000673333 0.0007 0.000693333 0.00068 0.000713333 0.000706667 0.000693333 0.000693333 +0.000673333 0.000713333 0.00072 0.000706667 0.000686667 0.000706667 0.000686667 0.000706667 +0.00072 0.00072 0.000726667 0.000713333 0.00072 0.000746667 0.00074 0.000693333 +0.00068 0.000713333 0.000726667 0.000713333 0.00072 0.000713333 0.0007 0.0007 +0.000713333 0.00072 0.000726667 0.000713333 0.000733333 0.000733333 0.000726667 0.000713333 +0.000726667 0.000733333 0.000713333 0.000706667 0.0007 0.000693333 0.000693333 0.000713333 +0.000713333 0.000733333 0.00074 0.00072 0.000713333 0.000706667 0.000706667 0.000706667 +0.000693333 0.000686667 0.000706667 0.000713333 0.0007 0.000706667 0.000706667 0.000726667 +0.000726667 0.0007 0.000693333 0.0007 0.0007 0.0007 0.0007 0.000713333 +0.000706667 0.0007 0.000686667 0.000693333 0.000706667 0.000693333 0.000666667 0.000653333 +0.000646667 0.000666667 0.0007 0.000693333 0.000693333 0.000693333 0.000666667 0.000666667 +0.000693333 0.000673333 0.000686667 0.000666667 0.000653333 0.000686667 0.000693333 0.00068 +0.000666667 0.000686667 0.000686667 0.000686667 0.0007 0.0007 0.000693333 0.000686667 +0.000666667 0.000653333 0.000673333 0.000693333 0.000693333 0.000673333 0.00066 0.000646667 +0.000633333 0.00064 0.000653333 0.000653333 0.00066 0.000646667 0.000646667 0.00064 +0.000626667 0.00064 0.00066 0.000666667 0.000673333 0.000693333 0.000693333 0.000666667 +0.000666667 0.000673333 0.00068 0.000673333 0.00066 0.000673333 0.00066 0.000653333 +0.000646667 0.000626667 0.000626667 0.000613333 0.000646667 0.00066 0.00064 0.000613333 +0.0006 0.00064 0.00064 0.000666667 0.00064 0.00062 0.000653333 0.000653333 +0.000646667 0.00064 0.00064 0.000666667 0.00068 0.000666667 0.000693333 0.000706667 +0.000746667 0.000753333 0.00072 0.0007 0.00068 0.000693333 0.00074 0.00074 +0.000713333 0.000706667 0.0007 0.000686667 0.000686667 0.000706667 0.000726667 0.00074 +0.00074 0.000726667 0.000746667 0.00078 0.000866667 0.236827 0.28984 0.297413 +0.253867 0.000926667 0.000826667 0.000786667 0.00076 0.000773333 0.000786667 0.000773333 +0.00076 0.000746667 0.000773333 0.000786667 0.00078 0.000773333 0.00078 0.000906667 +0.248187 0.286053 0.265227 0.000966667 0.00082 0.000753333 0.000753333 0.000766667 +0.000773333 0.000773333 0.000766667 0.000746667 0.00072 0.000706667 0.00072 0.000753333 +0.000766667 0.000753333 0.000746667 0.000753333 0.000753333 0.00076 0.000773333 0.00078 +0.00074 0.000753333 0.000726667 0.000726667 0.000766667 0.000806667 0.000786667 0.000793333 +0.0008 0.000773333 0.000793333 0.000793333 0.000786667 0.0008 0.000813333 0.000806667 +0.00078 0.000766667 0.000733333 0.000733333 0.000753333 0.000753333 0.00076 0.000733333 +0.00072 0.000746667 0.0008 0.000766667 0.00072 0.000686667 0.000686667 0.000686667 +0.00068 0.000733333 0.000766667 0.000733333 0.000733333 0.000766667 0.000733333 0.000753333 +0.00076 0.000726667 0.0007 0.00074 0.000746667 0.00074 0.000746667 0.000733333 +0.000746667 0.000713333 0.000686667 0.000746667 0.000793333 0.000766667 0.000733333 0.000786667 +0.0008 0.00078 0.000753333 0.000766667 0.000773333 0.000753333 0.00078 0.0008 +0.000793333 0.0008 0.000806667 0.000793333 0.000753333 0.00078 0.00078 0.000806667 +0.000833333 0.000806667 0.000786667 0.000813333 0.000833333 0.000846667 0.00084 0.000866667 +0.00084 0.000873333 0.0009 0.00088 0.0009 0.00094 0.000953333 0.000953333 +0.00096 0.00096 0.217893 0.000993333 0.000993333 0.242507 0.242507 0.229253 +0.2444 0.248187 0.251973 0.26144 0.26144 0.253867 0.265227 0.265227 +0.2728 0.2728 0.28984 0.304987 0.30688 0.310667 0.31256 0.32392 +0.325813 0.32392 0.33528 0.33528 0.327707 0.331493 0.339067 0.356107 +0.359893 0.36368 0.367467 0.36368 0.358 0.36936 0.36936 0.361787 +0.367467 0.36368 0.358 0.36936 0.39776 0.40912 0.39776 0.388293 +0.376933 0.378827 0.3864 0.378827 0.388293 0.395867 0.3864 0.382613 +0.401547 0.401547 0.393973 0.378827 0.371253 0.38072 0.378827 0.378827 +0.384507 0.388293 0.3864 0.384507 0.39208 0.393973 0.38072 0.365573 +0.359893 0.361787 0.344747 0.3296 0.320133 0.303093 0.280373 0.2728 +0.263333 0.2444 0.223573 0.000973333 0.000913333 0.000826667 0.00078 0.000773333 +0.000733333 0.000746667 0.000746667 0.000693333 0.000686667 0.00072 0.00072 0.000726667 +0.0007 0.00074 0.0008 0.000813333 0.000866667 0.000946667 0.22736 0.248187 +0.251973 0.25008 0.251973 0.2444 0.236827 0.23872 0.25008 0.269013 +0.2728 0.251973 0.00092 0.000686667 0.000606667 0.000613333 0.000626667 0.00064 +0.00064 0.000613333 0.000613333 0.0006 0.000613333 0.000633333 0.000606667 0.00062 +0.00066 0.00066 0.000673333 0.000653333 0.000646667 0.000653333 0.000646667 0.000653333 +0.000666667 0.000666667 0.000653333 0.000646667 0.00064 0.00064 0.000653333 0.00062 +0.000626667 0.00066 0.000666667 0.000666667 0.000673333 0.000646667 0.00066 0.000686667 +0.000673333 0.000666667 0.00066 0.000666667 0.00066 0.000653333 0.000673333 0.000686667 +0.00068 0.000673333 0.00066 0.000613333 0.000633333 0.000666667 0.000673333 0.000653333 +0.00066 0.00068 0.00066 0.000686667 0.00068 0.000666667 0.000673333 0.000686667 +0.0007 0.000733333 0.000706667 0.000666667 0.000646667 0.000666667 0.000686667 0.0007 +0.000686667 0.000673333 0.00068 0.0007 0.000713333 0.000693333 0.0007 0.00068 +0.000653333 0.000666667 0.000706667 0.000706667 0.00068 0.00068 0.000693333 0.000686667 +0.000673333 0.0007 0.000693333 0.000706667 0.000713333 0.000693333 0.000706667 0.000713333 +0.000693333 0.000706667 0.000686667 0.000686667 0.000713333 0.00074 0.000713333 0.000713333 +0.00072 0.000706667 0.000726667 0.000753333 0.00072 0.000726667 0.000746667 0.000733333 +0.0007 0.000686667 0.000713333 0.000706667 0.000693333 0.00072 0.000713333 0.000706667 +0.000693333 0.000686667 0.0007 0.0007 0.000726667 0.000726667 0.000713333 0.000706667 +0.00072 0.00072 0.000713333 0.000713333 0.000706667 0.000686667 0.00068 0.000693333 +0.000666667 0.000673333 0.000706667 0.000713333 0.0007 0.0007 0.000706667 0.000693333 +0.000693333 0.000686667 0.0007 0.000713333 0.000713333 0.000693333 0.000666667 0.000686667 +0.00072 0.000733333 0.000733333 0.000706667 0.000686667 0.000693333 0.0007 0.000706667 +0.000706667 0.00072 0.000713333 0.0007 0.000713333 0.000713333 0.000693333 0.00068 +0.00066 0.000646667 0.000653333 0.00066 0.000666667 0.000686667 0.000693333 0.000666667 +0.000673333 0.00068 0.000693333 0.000686667 0.000666667 0.000673333 0.00068 0.000666667 +0.000666667 0.000673333 0.000646667 0.000646667 0.000673333 0.000693333 0.000693333 0.000706667 +0.000706667 0.000673333 0.000653333 0.000666667 0.000693333 0.000693333 0.00068 0.000673333 +0.00066 0.000646667 0.000646667 0.000646667 0.000666667 0.00066 0.000646667 0.000633333 +0.000633333 0.000633333 0.000613333 0.000613333 0.00064 0.00066 0.000673333 0.00066 +0.000653333 0.000646667 0.000646667 0.00064 0.000646667 0.000666667 0.000666667 0.000666667 +0.000653333 0.000633333 0.000626667 0.0006 0.000606667 0.00064 0.000633333 0.000633333 +0.00064 0.000613333 0.000613333 0.00064 0.000653333 0.00064 0.000633333 0.000653333 +0.000653333 0.000653333 0.000653333 0.00066 0.00066 0.00066 0.000646667 0.000666667 +0.000733333 0.000753333 0.00074 0.00072 0.000726667 0.000726667 0.000746667 0.00076 +0.000733333 0.00074 0.000746667 0.000753333 0.000726667 0.000686667 0.0007 0.000753333 +0.00076 0.000753333 0.000833333 0.217893 0.269013 0.29552 0.276587 0.23304 +0.000926667 0.000853333 0.000813333 0.00078 0.00078 0.00078 0.000793333 0.000793333 +0.00078 0.00076 0.00078 0.000793333 0.0008 0.000786667 0.000793333 0.00086 +0.22168 0.27848 0.287947 0.246293 0.000946667 0.000833333 0.000773333 0.000766667 +0.000753333 0.000753333 0.00076 0.00078 0.00076 0.000726667 0.00072 0.000726667 +0.000733333 0.00074 0.00076 0.0008 0.000773333 0.000746667 0.000766667 0.000813333 +0.00078 0.000766667 0.000786667 0.000766667 0.000786667 0.000813333 0.0008 0.000786667 +0.000806667 0.000786667 0.0008 0.000826667 0.00082 0.000813333 0.000826667 0.00084 +0.000833333 0.000813333 0.000786667 0.000746667 0.000733333 0.00074 0.000746667 0.00076 +0.000733333 0.00072 0.000766667 0.0008 0.00078 0.000733333 0.000733333 0.00076 +0.00072 0.00072 0.0008 0.000793333 0.000766667 0.0008 0.00078 0.000793333 +0.000806667 0.000793333 0.00078 0.0008 0.000806667 0.000793333 0.000813333 0.000786667 +0.00082 0.000846667 0.000786667 0.000806667 0.000886667 0.000886667 0.000833333 0.000853333 +0.000886667 0.0009 0.000893333 0.000893333 0.000873333 0.00088 0.000906667 0.00092 +0.00092 0.000933333 0.00098 0.000993333 0.000966667 0.000986667 0.000993333 0.223573 +0.234933 0.231147 0.223573 0.231147 0.246293 0.26144 0.26712 0.280373 +0.2728 0.2728 0.286053 0.282267 0.282267 0.293627 0.30688 0.308773 +0.304987 0.30688 0.320133 0.31256 0.308773 0.33528 0.331493 0.31256 +0.331493 0.333387 0.327707 0.337173 0.34664 0.337173 0.33528 0.327707 +0.331493 0.327707 0.331493 0.342853 0.348533 0.354213 0.354213 0.354213 +0.339067 0.331493 0.33528 0.3296 0.333387 0.33528 0.339067 0.350427 +0.356107 0.350427 0.348533 0.34096 0.331493 0.339067 0.342853 0.337173 +0.339067 0.33528 0.333387 0.337173 0.354213 0.342853 0.33528 0.342853 +0.34096 0.34096 0.350427 0.342853 0.344747 0.34664 0.34096 0.342853 +0.344747 0.325813 0.327707 0.337173 0.337173 0.34096 0.344747 0.350427 +0.350427 0.350427 0.350427 0.342853 0.34664 0.348533 0.350427 0.348533 +0.34664 0.358 0.356107 0.344747 0.358 0.36368 0.354213 0.350427 +0.354213 0.344747 0.32392 0.304987 0.280373 0.242507 0.000993333 0.000933333 +0.000886667 0.000826667 0.000753333 0.000706667 0.000746667 0.000766667 0.000773333 0.000806667 +0.00084 0.000913333 0.00096 0.000966667 0.234933 0.259547 0.248187 0.234933 +0.000993333 0.000913333 0.00086 0.000793333 0.000786667 0.000793333 0.000813333 0.000886667 +0.000993333 0.251973 0.257653 0.000973333 0.00074 0.000606667 0.000613333 0.000653333 +0.00062 0.0006 0.00062 0.000613333 0.000626667 0.00066 0.000653333 0.000633333 +0.000653333 0.00066 0.000666667 0.00064 0.000606667 0.000613333 0.000626667 0.000646667 +0.000666667 0.000653333 0.000633333 0.00062 0.000646667 0.000653333 0.000653333 0.00062 +0.000633333 0.000666667 0.00066 0.000653333 0.00066 0.00066 0.000666667 0.000646667 +0.00064 0.000646667 0.00064 0.00066 0.000666667 0.000666667 0.00068 0.00068 +0.000666667 0.00066 0.000653333 0.00064 0.000673333 0.000693333 0.00068 0.000666667 +0.000666667 0.000666667 0.000693333 0.00072 0.000706667 0.000673333 0.000686667 0.000713333 +0.000726667 0.00072 0.000673333 0.00068 0.000693333 0.0007 0.0007 0.000693333 +0.000686667 0.000686667 0.000673333 0.0007 0.000713333 0.00068 0.00068 0.000686667 +0.000686667 0.000693333 0.0007 0.000706667 0.000686667 0.000666667 0.000693333 0.000713333 +0.00072 0.000713333 0.000686667 0.0007 0.000706667 0.00072 0.00072 0.00072 +0.000713333 0.00068 0.0007 0.000726667 0.00074 0.00074 0.000726667 0.00072 +0.000733333 0.00076 0.00076 0.000746667 0.00074 0.000726667 0.00072 0.000733333 +0.00074 0.000726667 0.000713333 0.000706667 0.00068 0.000686667 0.0007 0.000686667 +0.00068 0.0007 0.000693333 0.000673333 0.00068 0.000706667 0.000733333 0.000733333 +0.000733333 0.000713333 0.00072 0.000713333 0.0007 0.0007 0.0007 0.000713333 +0.0007 0.000693333 0.000693333 0.000693333 0.000673333 0.00068 0.0007 0.000693333 +0.000686667 0.00068 0.00068 0.000686667 0.0007 0.000713333 0.000693333 0.000646667 +0.000666667 0.000686667 0.000693333 0.000713333 0.0007 0.000693333 0.000686667 0.0007 +0.0007 0.000693333 0.000713333 0.0007 0.000693333 0.000713333 0.000693333 0.000706667 +0.0007 0.000686667 0.00068 0.000666667 0.000673333 0.000666667 0.00068 0.00068 +0.00068 0.000653333 0.000653333 0.000666667 0.000666667 0.000673333 0.00068 0.000673333 +0.000673333 0.000686667 0.00066 0.000653333 0.00066 0.000666667 0.000653333 0.00066 +0.000686667 0.000693333 0.000686667 0.000646667 0.000646667 0.00066 0.000673333 0.000686667 +0.000666667 0.000673333 0.000673333 0.000673333 0.00066 0.000673333 0.000666667 0.00064 +0.00064 0.000653333 0.000633333 0.000613333 0.00062 0.00062 0.00062 0.000646667 +0.00066 0.000653333 0.00064 0.00062 0.000626667 0.000653333 0.00066 0.000653333 +0.000633333 0.000633333 0.000626667 0.0006 0.000593333 0.000613333 0.000613333 0.000606667 +0.000626667 0.00064 0.00064 0.000626667 0.000633333 0.00066 0.00064 0.00064 +0.000653333 0.000673333 0.000693333 0.000686667 0.000673333 0.00068 0.00066 0.00068 +0.000706667 0.0007 0.000706667 0.000713333 0.00072 0.00072 0.000726667 0.00072 +0.000733333 0.000746667 0.000746667 0.00076 0.00076 0.00074 0.00074 0.00074 +0.000773333 0.00088 0.236827 0.297413 0.31824 0.274693 0.000993333 0.00086 +0.00084 0.000833333 0.00082 0.000806667 0.000786667 0.000786667 0.000786667 0.000806667 +0.0008 0.000773333 0.000766667 0.0008 0.000833333 0.000793333 0.00076 0.000813333 +0.000953333 0.259547 0.29552 0.28984 0.251973 0.00098 0.00086 0.0008 +0.000786667 0.000773333 0.000773333 0.000773333 0.000773333 0.000773333 0.000793333 0.000773333 +0.000753333 0.000753333 0.000793333 0.00084 0.00084 0.000833333 0.00082 0.000846667 +0.000846667 0.000833333 0.000846667 0.00084 0.00084 0.00088 0.0009 0.000886667 +0.000913333 0.000926667 0.000913333 0.00092 0.000913333 0.000913333 0.000926667 0.000926667 +0.000926667 0.000933333 0.000933333 0.0009 0.0009 0.000906667 0.0009 0.00094 +0.000906667 0.000873333 0.000893333 0.000933333 0.000966667 0.00096 0.000933333 0.00094 +0.000913333 0.000906667 0.000966667 0.216 0.00098 0.219787 0.219787 0.223573 +0.229253 0.223573 0.231147 0.23872 0.23304 0.23304 0.25008 0.246293 +0.246293 0.26144 0.253867 0.25008 0.269013 0.270907 0.26712 0.276587 +0.276587 0.27848 0.282267 0.286053 0.280373 0.280373 0.291733 0.29552 +0.299307 0.293627 0.303093 0.316347 0.310667 0.320133 0.320133 0.314453 +0.3296 0.337173 0.3296 0.333387 0.33528 0.339067 0.34664 0.348533 +0.331493 0.337173 0.34664 0.33528 0.337173 0.35232 0.359893 0.358 +0.342853 0.322027 0.325813 0.314453 0.303093 0.331493 0.322027 0.299307 +0.322027 0.331493 0.32392 0.331493 0.3296 0.320133 0.32392 0.31256 +0.314453 0.327707 0.331493 0.32392 0.327707 0.32392 0.320133 0.3296 +0.320133 0.308773 0.30688 0.308773 0.308773 0.299307 0.304987 0.304987 +0.28984 0.276587 0.27848 0.293627 0.28984 0.286053 0.29552 0.303093 +0.304987 0.293627 0.297413 0.3012 0.297413 0.280373 0.286053 0.3012 +0.303093 0.314453 0.322027 0.320133 0.327707 0.339067 0.344747 0.35232 +0.348533 0.339067 0.344747 0.365573 0.38072 0.37504 0.378827 0.382613 +0.376933 0.36936 0.358 0.344747 0.333387 0.322027 0.325813 0.3296 +0.333387 0.339067 0.325813 0.316347 0.3296 0.337173 0.331493 0.331493 +0.344747 0.358 0.358 0.34664 0.342853 0.339067 0.316347 0.297413 +0.28984 0.25576 0.216 0.00098 0.223573 0.225467 0.219787 0.219787 +0.23872 0.246293 0.236827 0.229253 0.231147 0.223573 0.00092 0.000806667 +0.000753333 0.00072 0.000666667 0.00066 0.000673333 0.000666667 0.000653333 0.000666667 +0.000733333 0.000873333 0.236827 0.253867 0.00094 0.000733333 0.00066 0.00066 +0.000626667 0.00062 0.00064 0.000633333 0.000626667 0.000646667 0.000646667 0.000633333 +0.000626667 0.000633333 0.000646667 0.000633333 0.000606667 0.00062 0.000653333 0.00064 +0.00068 0.000666667 0.00062 0.00064 0.000653333 0.000653333 0.000653333 0.000633333 +0.00064 0.00066 0.00066 0.000666667 0.000673333 0.000673333 0.000626667 0.00062 +0.000626667 0.000626667 0.000666667 0.000673333 0.00068 0.00068 0.0007 0.00068 +0.00066 0.000686667 0.0007 0.0007 0.00072 0.000686667 0.000686667 0.000693333 +0.00068 0.00068 0.000713333 0.000726667 0.000706667 0.000686667 0.000706667 0.000706667 +0.000693333 0.000686667 0.000693333 0.000726667 0.00072 0.000693333 0.000666667 0.00068 +0.000686667 0.0007 0.00068 0.000706667 0.000693333 0.000653333 0.00068 0.000713333 +0.00072 0.0007 0.0007 0.0007 0.000693333 0.0007 0.000733333 0.00072 +0.0007 0.000693333 0.000686667 0.000713333 0.000746667 0.000733333 0.000693333 0.000706667 +0.000706667 0.000706667 0.000733333 0.000733333 0.00072 0.000693333 0.00072 0.00074 +0.000753333 0.000753333 0.000706667 0.000673333 0.000753333 0.000726667 0.000726667 0.00074 +0.000726667 0.00074 0.000733333 0.000706667 0.000713333 0.00072 0.00072 0.0007 +0.000673333 0.000686667 0.00072 0.000693333 0.000666667 0.00068 0.000693333 0.000713333 +0.00072 0.000713333 0.000726667 0.000713333 0.000706667 0.000693333 0.000693333 0.0007 +0.00072 0.000746667 0.000713333 0.000693333 0.000686667 0.00068 0.000693333 0.000713333 +0.000706667 0.000686667 0.000666667 0.000666667 0.000673333 0.000686667 0.000706667 0.0007 +0.000693333 0.00068 0.000646667 0.000666667 0.000706667 0.00072 0.000706667 0.000686667 +0.00068 0.00068 0.000693333 0.00068 0.00066 0.00068 0.000693333 0.000693333 +0.000686667 0.00068 0.000686667 0.000673333 0.000666667 0.00066 0.000653333 0.000673333 +0.000693333 0.000673333 0.000666667 0.000653333 0.000653333 0.00066 0.000673333 0.000673333 +0.00068 0.000673333 0.000666667 0.00068 0.00068 0.000666667 0.00064 0.000633333 +0.000653333 0.000666667 0.000673333 0.000673333 0.000653333 0.000646667 0.000666667 0.000673333 +0.00066 0.000666667 0.000673333 0.000646667 0.000633333 0.000646667 0.000666667 0.000646667 +0.00064 0.00066 0.000646667 0.000633333 0.000633333 0.00062 0.000586667 0.0006 +0.00064 0.000646667 0.000646667 0.000633333 0.00062 0.000613333 0.000633333 0.000653333 +0.000626667 0.000626667 0.000633333 0.000613333 0.000593333 0.0006 0.000613333 0.0006 +0.000586667 0.000613333 0.00064 0.00064 0.00064 0.000653333 0.000653333 0.000626667 +0.00062 0.000653333 0.00068 0.000686667 0.00068 0.000653333 0.000646667 0.0007 +0.0007 0.000673333 0.00068 0.000713333 0.000733333 0.00072 0.0007 0.000693333 +0.000706667 0.000726667 0.000726667 0.00072 0.000726667 0.000766667 0.000786667 0.000766667 +0.000853333 0.25008 0.314453 0.30688 0.257653 0.000966667 0.000866667 0.00082 +0.000833333 0.000826667 0.000813333 0.000853333 0.000846667 0.000806667 0.0008 0.000833333 +0.00084 0.000813333 0.00078 0.000806667 0.00084 0.00084 0.0008 0.000806667 +0.000866667 0.000986667 0.270907 0.308773 0.303093 0.274693 0.23872 0.000973333 +0.00094 0.00094 0.0009 0.000886667 0.00088 0.000873333 0.000926667 0.000966667 +0.000993333 0.000986667 0.000966667 0.000993333 0.23304 0.240613 0.240613 0.240613 +0.248187 0.246293 0.25008 0.25576 0.25576 0.26712 0.280373 0.276587 +0.274693 0.282267 0.287947 0.29552 0.293627 0.28984 0.297413 0.3012 +0.287947 0.287947 0.287947 0.291733 0.299307 0.299307 0.293627 0.299307 +0.303093 0.297413 0.29552 0.297413 0.3012 0.299307 0.293627 0.291733 +0.291733 0.29552 0.310667 0.31824 0.320133 0.331493 0.327707 0.325813 +0.327707 0.320133 0.325813 0.34096 0.33528 0.3296 0.342853 0.344747 +0.33528 0.34664 0.350427 0.34096 0.35232 0.34096 0.331493 0.34664 +0.342853 0.339067 0.344747 0.344747 0.33528 0.337173 0.350427 0.348533 +0.342853 0.325813 0.316347 0.3296 0.3296 0.333387 0.337173 0.32392 +0.33528 0.358 0.358 0.350427 0.344747 0.33528 0.333387 0.331493 +0.316347 0.325813 0.337173 0.32392 0.3296 0.337173 0.333387 0.337173 +0.327707 0.299307 0.29552 0.287947 0.27848 0.30688 0.297413 0.28416 +0.30688 0.314453 0.3012 0.308773 0.308773 0.303093 0.303093 0.287947 +0.28984 0.3012 0.303093 0.287947 0.274693 0.257653 0.259547 0.280373 +0.270907 0.263333 0.269013 0.269013 0.263333 0.25008 0.26712 0.263333 +0.25576 0.2444 0.248187 0.276587 0.282267 0.282267 0.3012 0.314453 +0.320133 0.325813 0.34664 0.371253 0.378827 0.40344 0.445093 0.467813 +0.492427 0.511368 0.522737 0.531579 0.541684 0.558105 0.570105 0.577053 +0.580842 0.585263 0.589053 0.597895 0.606105 0.606105 0.606737 0.604211 +0.600421 0.592842 0.584 0.579579 0.573895 0.565053 0.553053 0.546737 +0.540421 0.527158 0.512632 0.503158 0.47728 0.439413 0.40912 0.382613 +0.350427 0.33528 0.337173 0.3296 0.325813 0.348533 0.350427 0.342853 +0.342853 0.327707 0.308773 0.310667 0.303093 0.286053 0.265227 0.25008 +0.253867 0.2444 0.217893 0.00092 0.000846667 0.0008 0.000753333 0.000686667 +0.000666667 0.000673333 0.000646667 0.00066 0.000653333 0.000626667 0.000646667 0.00068 +0.00068 0.000706667 0.00086 0.225467 0.234933 0.000953333 0.00076 0.00064 +0.000626667 0.000613333 0.000633333 0.000633333 0.00062 0.000646667 0.00064 0.000613333 +0.000646667 0.000653333 0.00066 0.000666667 0.00064 0.000653333 0.000653333 0.00064 +0.000653333 0.000653333 0.000646667 0.000646667 0.000666667 0.00068 0.00068 0.00064 +0.000606667 0.00066 0.000693333 0.000693333 0.00068 0.000653333 0.000633333 0.000646667 +0.000646667 0.000666667 0.0007 0.000706667 0.00072 0.000706667 0.0007 0.000686667 +0.000673333 0.000713333 0.000713333 0.000693333 0.000706667 0.00068 0.00068 0.000693333 +0.0007 0.000706667 0.000693333 0.000713333 0.000706667 0.000693333 0.000686667 0.000673333 +0.000666667 0.000686667 0.00072 0.00072 0.0007 0.00066 0.000646667 0.000666667 +0.00068 0.000706667 0.0007 0.000686667 0.00068 0.000693333 0.00072 0.000713333 +0.000673333 0.00068 0.000693333 0.000693333 0.00072 0.0007 0.0007 0.000706667 +0.0007 0.000693333 0.000706667 0.000726667 0.00072 0.00068 0.000673333 0.000686667 +0.000713333 0.00072 0.000713333 0.000693333 0.000726667 0.00072 0.000746667 0.000766667 +0.00074 0.000726667 0.00072 0.00072 0.000733333 0.000726667 0.000706667 0.000733333 +0.00072 0.0007 0.000706667 0.000706667 0.000726667 0.00074 0.000726667 0.000713333 +0.0007 0.000693333 0.00072 0.000713333 0.000686667 0.000706667 0.0007 0.000693333 +0.000686667 0.000686667 0.000706667 0.0007 0.000733333 0.000726667 0.0007 0.000673333 +0.00068 0.000726667 0.000726667 0.00072 0.0007 0.000693333 0.000693333 0.000713333 +0.00072 0.000713333 0.0007 0.000686667 0.0007 0.000686667 0.000673333 0.000706667 +0.000706667 0.000693333 0.000673333 0.000666667 0.000673333 0.000693333 0.000706667 0.0007 +0.000686667 0.000673333 0.00068 0.000686667 0.000673333 0.000686667 0.000686667 0.000693333 +0.000693333 0.000673333 0.000666667 0.000666667 0.000666667 0.00066 0.000646667 0.00064 +0.00066 0.000666667 0.000686667 0.00068 0.00066 0.000646667 0.000653333 0.000653333 +0.00068 0.00068 0.000653333 0.00066 0.000693333 0.0007 0.00066 0.00064 +0.000633333 0.00064 0.00064 0.000653333 0.000673333 0.000653333 0.00064 0.000633333 +0.00064 0.000653333 0.000686667 0.000673333 0.00064 0.000633333 0.000633333 0.00064 +0.000653333 0.00066 0.00064 0.000626667 0.000633333 0.000633333 0.000613333 0.0006 +0.000613333 0.000626667 0.000606667 0.000626667 0.000633333 0.000613333 0.000593333 0.000586667 +0.000606667 0.000646667 0.00064 0.000633333 0.000606667 0.000593333 0.0006 0.000613333 +0.0006 0.000593333 0.000586667 0.00062 0.000646667 0.000653333 0.000653333 0.00064 +0.000633333 0.00064 0.000653333 0.00066 0.00068 0.000666667 0.000653333 0.000653333 +0.000653333 0.000666667 0.00068 0.000673333 0.000706667 0.000726667 0.00072 0.00072 +0.000726667 0.00072 0.00072 0.000713333 0.00072 0.000746667 0.000786667 0.0009 +0.25576 0.316347 0.303093 0.236827 0.0009 0.000853333 0.00084 0.000813333 +0.00078 0.0008 0.0008 0.00082 0.000873333 0.000853333 0.00084 0.00086 +0.000866667 0.000873333 0.00084 0.000813333 0.000826667 0.000886667 0.0009 0.00086 +0.00084 0.000913333 0.225467 0.269013 0.308773 0.31824 0.316347 0.303093 +0.291733 0.293627 0.299307 0.297413 0.297413 0.291733 0.297413 0.320133 +0.327707 0.3296 0.32392 0.327707 0.33528 0.344747 0.348533 0.35232 +0.356107 0.350427 0.344747 0.34664 0.350427 0.348533 0.356107 0.359893 +0.350427 0.350427 0.358 0.373147 0.378827 0.36936 0.365573 0.359893 +0.354213 0.356107 0.35232 0.344747 0.356107 0.361787 0.348533 0.350427 +0.359893 0.359893 0.35232 0.342853 0.333387 0.3296 0.327707 0.325813 +0.32392 0.327707 0.339067 0.34664 0.350427 0.35232 0.35232 0.354213 +0.348533 0.342853 0.342853 0.35232 0.354213 0.342853 0.342853 0.342853 +0.342853 0.350427 0.350427 0.337173 0.34664 0.327707 0.310667 0.322027 +0.320133 0.322027 0.32392 0.325813 0.320133 0.320133 0.33528 0.327707 +0.32392 0.31256 0.299307 0.310667 0.314453 0.320133 0.3296 0.316347 +0.320133 0.333387 0.325813 0.310667 0.316347 0.32392 0.320133 0.314453 +0.303093 0.310667 0.31256 0.3012 0.303093 0.28984 0.274693 0.280373 +0.299307 0.29552 0.28984 0.28984 0.286053 0.304987 0.293627 0.282267 +0.282267 0.2728 0.257653 0.263333 0.265227 0.265227 0.253867 0.25008 +0.251973 0.2444 0.248187 0.242507 0.225467 0.219787 0.231147 0.242507 +0.231147 0.231147 0.23872 0.246293 0.257653 0.265227 0.291733 0.303093 +0.320133 0.333387 0.361787 0.40912 0.44888 0.486747 0.512 0.527789 +0.545474 0.567579 0.589053 0.609895 0.625053 0.650316 0.674947 0.692632 +0.710947 0.728 0.746316 0.762105 0.775368 0.793053 0.809474 0.820211 +0.825263 0.830947 0.834105 0.842947 0.848632 0.851158 0.851789 0.848 +0.844211 0.836 0.827158 0.826526 0.823368 0.813895 0.799368 0.789263 +0.777263 0.757684 0.740632 0.726105 0.702737 0.670526 0.644632 0.616842 +0.580211 0.551158 0.531579 0.510737 0.4716 0.433733 0.393973 0.371253 +0.354213 0.344747 0.34664 0.34664 0.320133 0.287947 0.2444 0.000966667 +0.000933333 0.000913333 0.000826667 0.000746667 0.000726667 0.000693333 0.000713333 0.000686667 +0.00066 0.00066 0.00068 0.000673333 0.000633333 0.000646667 0.00068 0.0007 +0.000666667 0.000666667 0.000693333 0.000813333 0.229253 0.25008 0.00088 0.000686667 +0.000646667 0.00062 0.00064 0.000653333 0.00064 0.000666667 0.000666667 0.000653333 +0.000653333 0.000666667 0.00066 0.00064 0.00062 0.000633333 0.00064 0.000646667 +0.000653333 0.00066 0.000653333 0.000646667 0.00068 0.000686667 0.00066 0.000606667 +0.000606667 0.00068 0.000706667 0.000686667 0.000666667 0.00066 0.00066 0.000673333 +0.000686667 0.000693333 0.000713333 0.00072 0.000726667 0.0007 0.000686667 0.000693333 +0.000686667 0.000706667 0.0007 0.000666667 0.000693333 0.00068 0.000666667 0.00068 +0.00068 0.000686667 0.000693333 0.00072 0.000706667 0.000673333 0.000666667 0.00068 +0.000693333 0.000693333 0.000713333 0.000686667 0.000653333 0.00064 0.000666667 0.000686667 +0.00068 0.000713333 0.0007 0.000686667 0.0007 0.000713333 0.000706667 0.000686667 +0.000666667 0.000693333 0.000686667 0.000693333 0.00072 0.00068 0.000686667 0.000706667 +0.000713333 0.000693333 0.00072 0.000706667 0.000693333 0.000686667 0.000693333 0.0007 +0.00074 0.000746667 0.000733333 0.000713333 0.00074 0.000733333 0.000733333 0.000713333 +0.000706667 0.000733333 0.000753333 0.000746667 0.000706667 0.000733333 0.000713333 0.000726667 +0.000733333 0.000706667 0.0007 0.00072 0.000726667 0.000726667 0.000733333 0.000726667 +0.000713333 0.000706667 0.0007 0.0007 0.00068 0.000686667 0.0007 0.000706667 +0.0007 0.00068 0.00068 0.000673333 0.0007 0.000726667 0.000706667 0.000693333 +0.00068 0.000673333 0.00068 0.000713333 0.000713333 0.00072 0.000713333 0.000686667 +0.000693333 0.0007 0.000713333 0.000706667 0.000706667 0.00072 0.0007 0.0007 +0.0007 0.000686667 0.0007 0.000706667 0.00068 0.000666667 0.000666667 0.0007 +0.000713333 0.00068 0.000693333 0.000693333 0.000693333 0.000706667 0.000673333 0.000673333 +0.000693333 0.000686667 0.00068 0.000673333 0.000673333 0.000673333 0.000673333 0.000653333 +0.000646667 0.00064 0.000653333 0.000673333 0.00068 0.000666667 0.00064 0.00062 +0.00066 0.000673333 0.00066 0.000646667 0.000653333 0.00068 0.000693333 0.000693333 +0.000653333 0.00064 0.00064 0.000653333 0.000666667 0.00064 0.000633333 0.000626667 +0.00064 0.000646667 0.00066 0.000693333 0.00068 0.000653333 0.00062 0.00062 +0.000646667 0.000653333 0.000633333 0.00064 0.00066 0.00064 0.00064 0.000613333 +0.000613333 0.00062 0.000593333 0.000586667 0.000613333 0.000626667 0.00062 0.000573333 +0.000546667 0.000573333 0.00058 0.000606667 0.0006 0.0006 0.000613333 0.000613333 +0.000613333 0.00062 0.00058 0.00058 0.000633333 0.000653333 0.000633333 0.000633333 +0.00064 0.000666667 0.000666667 0.000653333 0.00066 0.000666667 0.000686667 0.000646667 +0.00062 0.00064 0.00066 0.000666667 0.000673333 0.000686667 0.000693333 0.000686667 +0.000713333 0.000733333 0.0007 0.000686667 0.000706667 0.00074 0.00084 0.248187 +0.316347 0.303093 0.229253 0.00088 0.000813333 0.000806667 0.000793333 0.00078 +0.000773333 0.00076 0.000766667 0.00078 0.000806667 0.00082 0.00084 0.00084 +0.000853333 0.000893333 0.00088 0.000853333 0.00086 0.0009 0.000973333 0.000986667 +0.00096 0.000973333 0.223573 0.25008 0.287947 0.31256 0.33528 0.35232 +0.365573 0.38072 0.393973 0.39776 0.39776 0.3864 0.38072 0.3864 +0.388293 0.382613 0.382613 0.371253 0.36936 0.384507 0.388293 0.376933 +0.365573 0.358 0.348533 0.344747 0.350427 0.348533 0.34664 0.354213 +0.344747 0.33528 0.34096 0.348533 0.350427 0.34096 0.337173 0.337173 +0.331493 0.337173 0.339067 0.32392 0.327707 0.33528 0.327707 0.33528 +0.333387 0.320133 0.310667 0.308773 0.31256 0.31256 0.308773 0.304987 +0.303093 0.299307 0.308773 0.32392 0.31824 0.29552 0.291733 0.314453 +0.3296 0.316347 0.310667 0.320133 0.327707 0.314453 0.30688 0.31256 +0.310667 0.30688 0.297413 0.293627 0.310667 0.304987 0.293627 0.293627 +0.29552 0.299307 0.297413 0.303093 0.299307 0.28416 0.282267 0.286053 +0.3012 0.310667 0.304987 0.304987 0.30688 0.308773 0.310667 0.287947 +0.28416 0.282267 0.265227 0.248187 0.257653 0.270907 0.259547 0.25008 +0.240613 0.248187 0.2444 0.234933 0.23304 0.223573 0.217893 0.000993333 +0.234933 0.23872 0.231147 0.236827 0.23872 0.25008 0.236827 0.229253 +0.225467 0.217893 0.00098 0.216 0.216 0.000986667 0.000973333 0.000993333 +0.217893 0.216 0.22736 0.23304 0.225467 0.236827 0.257653 0.2728 +0.280373 0.30688 0.337173 0.371253 0.42048 0.481067 0.514526 0.535368 +0.559368 0.583368 0.611789 0.640211 0.667368 0.695158 0.722947 0.749474 +0.776632 0.802526 0.826526 0.848632 0.861895 0.879579 0.896632 0.911789 +0.924421 0.932632 0.944632 0.950947 0.954105 0.960421 0.969263 0.976842 +0.977474 0.978105 0.976842 0.98098 0.981306 0.981959 0.982286 0.980653 +0.978737 0.976842 0.973684 0.974316 0.975579 0.974947 0.970526 0.966105 +0.959158 0.950316 0.942737 0.935789 0.926947 0.906105 0.884632 0.861895 +0.829684 0.795579 0.764632 0.728632 0.685684 0.638316 0.593474 0.555579 +0.520842 0.484853 0.441307 0.399653 0.350427 0.310667 0.26712 0.223573 +0.000906667 0.000826667 0.00078 0.000746667 0.000726667 0.000686667 0.000693333 0.0007 +0.000686667 0.0007 0.000693333 0.000646667 0.000633333 0.000673333 0.0007 0.00068 +0.00066 0.00068 0.000673333 0.000726667 0.000953333 0.251973 0.217893 0.00076 +0.00064 0.000626667 0.000633333 0.00062 0.000626667 0.000633333 0.00064 0.00064 +0.00062 0.000646667 0.000653333 0.000633333 0.00064 0.00066 0.000666667 0.000666667 +0.000686667 0.000673333 0.00064 0.000653333 0.00066 0.000653333 0.00064 0.000626667 +0.00064 0.000686667 0.000693333 0.000673333 0.000673333 0.000673333 0.000666667 0.000673333 +0.00068 0.000693333 0.000713333 0.0007 0.000686667 0.00068 0.000686667 0.000686667 +0.000686667 0.0007 0.0007 0.00066 0.00068 0.000666667 0.000653333 0.000666667 +0.000653333 0.000686667 0.000706667 0.000706667 0.000693333 0.000673333 0.000673333 0.000686667 +0.000693333 0.000673333 0.000686667 0.000653333 0.000646667 0.000673333 0.000686667 0.0007 +0.000693333 0.000713333 0.000706667 0.0007 0.000706667 0.000693333 0.000686667 0.00068 +0.00068 0.000686667 0.000686667 0.000693333 0.000673333 0.000666667 0.000693333 0.0007 +0.00072 0.000706667 0.000713333 0.000693333 0.0007 0.000713333 0.00072 0.00072 +0.00074 0.000733333 0.000733333 0.000726667 0.000713333 0.0007 0.0007 0.000693333 +0.0007 0.0007 0.000713333 0.000713333 0.000693333 0.000726667 0.000726667 0.000726667 +0.00072 0.000713333 0.000726667 0.000733333 0.0007 0.00068 0.000713333 0.00074 +0.000746667 0.000733333 0.00072 0.000706667 0.000686667 0.000686667 0.00068 0.000693333 +0.000726667 0.000713333 0.0007 0.000686667 0.000666667 0.000693333 0.00072 0.000713333 +0.0007 0.000686667 0.000666667 0.000666667 0.000666667 0.000706667 0.000713333 0.000693333 +0.000686667 0.000686667 0.000693333 0.0007 0.000706667 0.000706667 0.0007 0.00068 +0.00068 0.0007 0.000706667 0.0007 0.000713333 0.000706667 0.000673333 0.00066 +0.000673333 0.00068 0.0007 0.0007 0.00068 0.000693333 0.000666667 0.000653333 +0.000686667 0.0007 0.000693333 0.000686667 0.00068 0.000673333 0.000673333 0.000673333 +0.000666667 0.000646667 0.00064 0.000646667 0.000673333 0.000706667 0.000693333 0.00064 +0.000646667 0.00066 0.00064 0.000626667 0.00064 0.000653333 0.00066 0.00068 +0.000686667 0.000653333 0.00064 0.000646667 0.000653333 0.000646667 0.000646667 0.000633333 +0.00064 0.000646667 0.00064 0.000633333 0.000646667 0.000666667 0.00064 0.000613333 +0.000633333 0.000653333 0.00064 0.000653333 0.00066 0.000633333 0.00062 0.000606667 +0.000606667 0.000626667 0.0006 0.000586667 0.000586667 0.000606667 0.000626667 0.000606667 +0.0006 0.000566667 0.00054 0.000546667 0.000566667 0.00056 0.00056 0.000586667 +0.000626667 0.000633333 0.000606667 0.00058 0.000606667 0.000626667 0.000626667 0.00062 +0.000606667 0.000626667 0.00064 0.000653333 0.00064 0.00066 0.0007 0.000673333 +0.000633333 0.000626667 0.000626667 0.000646667 0.00064 0.000633333 0.000653333 0.000673333 +0.0007 0.000706667 0.0007 0.000693333 0.000733333 0.000833333 0.231147 0.3012 +0.293627 0.223573 0.00086 0.000833333 0.000806667 0.00076 0.00076 0.00078 +0.000786667 0.000766667 0.000793333 0.00084 0.000846667 0.00084 0.000866667 0.0009 +0.000933333 0.00098 0.22168 0.23304 0.23872 0.248187 0.265227 0.274693 +0.280373 0.276587 0.280373 0.287947 0.299307 0.325813 0.34096 0.35232 +0.367467 0.38072 0.378827 0.37504 0.378827 0.373147 0.359893 0.359893 +0.36368 0.358 0.35232 0.34096 0.337173 0.34096 0.339067 0.316347 +0.304987 0.304987 0.310667 0.30688 0.299307 0.303093 0.31256 0.308773 +0.297413 0.291733 0.293627 0.280373 0.274693 0.265227 0.270907 0.28984 +0.287947 0.286053 0.28984 0.28416 0.280373 0.27848 0.276587 0.280373 +0.26712 0.2444 0.23872 0.248187 0.265227 0.269013 0.26144 0.257653 +0.25576 0.2444 0.246293 0.265227 0.259547 0.234933 0.22168 0.234933 +0.265227 0.26144 0.246293 0.25008 0.25576 0.248187 0.242507 0.253867 +0.23872 0.22168 0.217893 0.22168 0.2444 0.25008 0.240613 0.240613 +0.2444 0.23872 0.236827 0.242507 0.23872 0.000993333 0.000966667 0.216 +0.23304 0.248187 0.240613 0.234933 0.23872 0.242507 0.23304 0.000993333 +0.216 0.000973333 0.000946667 0.00094 0.00094 0.00096 0.00096 0.000946667 +0.000926667 0.000926667 0.000933333 0.000906667 0.000913333 0.000906667 0.0009 0.0009 +0.00094 0.000966667 0.000933333 0.000946667 0.000946667 0.000966667 0.000926667 0.00092 +0.000953333 0.000946667 0.000946667 0.000986667 0.000986667 0.000986667 0.219787 0.23304 +0.236827 0.251973 0.276587 0.304987 0.33528 0.3864 0.456453 0.509474 +0.530947 0.561263 0.590947 0.622526 0.652211 0.692 0.728 0.758316 +0.788 0.815789 0.846105 0.871368 0.890316 0.908 0.924421 0.939579 +0.953474 0.964211 0.970526 0.973684 0.976211 0.981306 0.981959 0.983592 +0.983265 0.984245 0.986531 0.984245 0.982612 0.982612 0.984245 0.985878 +0.984898 0.982939 0.980653 0.981633 0.982939 0.982612 0.980653 0.98 +0.982612 0.984898 0.985224 0.985551 0.985224 0.984898 0.982612 0.982286 +0.982939 0.983592 0.983918 0.984898 0.987837 0.98849 0.98751 0.985878 +0.980327 0.967368 0.956 0.938947 0.911789 0.873895 0.830316 0.777263 +0.722316 0.673684 0.628842 0.579579 0.527789 0.473493 0.40912 0.348533 +0.270907 0.219787 0.00096 0.000886667 0.0008 0.00072 0.000666667 0.0007 +0.000733333 0.00072 0.000693333 0.00066 0.00066 0.0007 0.0007 0.000673333 +0.00068 0.00068 0.000673333 0.000713333 0.00082 0.217893 0.234933 0.000826667 +0.000633333 0.000633333 0.00064 0.000633333 0.000633333 0.00062 0.000653333 0.000666667 +0.00066 0.000666667 0.000673333 0.00066 0.00068 0.000686667 0.000666667 0.00066 +0.000666667 0.00066 0.000653333 0.00066 0.000653333 0.00068 0.000686667 0.00068 +0.00066 0.000653333 0.00068 0.000666667 0.000673333 0.00066 0.00064 0.00066 +0.000673333 0.000666667 0.000686667 0.00068 0.000686667 0.000693333 0.000686667 0.000686667 +0.000673333 0.000693333 0.0007 0.000666667 0.000686667 0.000673333 0.00064 0.00066 +0.00068 0.00068 0.000673333 0.000673333 0.000673333 0.000666667 0.000673333 0.000673333 +0.00066 0.000646667 0.00068 0.000693333 0.0007 0.000693333 0.000686667 0.000706667 +0.000726667 0.00072 0.000713333 0.000693333 0.000653333 0.000646667 0.000666667 0.00068 +0.00068 0.000693333 0.000706667 0.0007 0.00068 0.000713333 0.000706667 0.000686667 +0.000686667 0.000666667 0.0007 0.00072 0.0007 0.000713333 0.00072 0.00072 +0.000706667 0.0007 0.000713333 0.000713333 0.000693333 0.000713333 0.000726667 0.000706667 +0.000706667 0.000706667 0.0007 0.000686667 0.000726667 0.000726667 0.00072 0.000726667 +0.000713333 0.000706667 0.000733333 0.000746667 0.00072 0.000706667 0.00068 0.00068 +0.0007 0.000706667 0.000726667 0.000733333 0.000706667 0.00068 0.000686667 0.000686667 +0.0007 0.000706667 0.000693333 0.000693333 0.000673333 0.000666667 0.000686667 0.000686667 +0.000686667 0.000706667 0.000706667 0.000686667 0.000673333 0.000673333 0.000666667 0.000666667 +0.000666667 0.000673333 0.000673333 0.00068 0.0007 0.000713333 0.0007 0.0007 +0.000686667 0.0007 0.000693333 0.000673333 0.000693333 0.000693333 0.000686667 0.00068 +0.000666667 0.000673333 0.000693333 0.0007 0.000693333 0.00068 0.00068 0.000666667 +0.00066 0.000666667 0.000673333 0.00068 0.000686667 0.00068 0.000673333 0.00068 +0.000666667 0.000646667 0.00064 0.00064 0.000633333 0.000666667 0.000666667 0.00066 +0.000686667 0.00068 0.000626667 0.0006 0.000626667 0.000653333 0.000646667 0.00064 +0.00066 0.00068 0.000673333 0.00066 0.000646667 0.000633333 0.00064 0.000626667 +0.00064 0.000653333 0.00066 0.00062 0.000613333 0.000633333 0.00064 0.000626667 +0.00064 0.000633333 0.000626667 0.00064 0.00064 0.00062 0.0006 0.000586667 +0.000586667 0.000593333 0.000586667 0.000606667 0.000613333 0.000613333 0.000613333 0.000593333 +0.000613333 0.000613333 0.000586667 0.000573333 0.000586667 0.00058 0.000533333 0.00054 +0.00058 0.000606667 0.00062 0.00062 0.000626667 0.00062 0.000626667 0.000633333 +0.00064 0.000626667 0.000613333 0.000613333 0.000606667 0.00064 0.000666667 0.000666667 +0.00064 0.00064 0.000633333 0.000653333 0.00066 0.00064 0.000646667 0.000673333 +0.000673333 0.000673333 0.0007 0.000773333 0.000893333 0.251973 0.308773 0.297413 +0.225467 0.00082 0.000753333 0.000773333 0.000806667 0.000806667 0.00082 0.00084 +0.00088 0.0009 0.000953333 0.225467 0.240613 0.240613 0.234933 0.251973 +0.265227 0.263333 0.27848 0.303093 0.316347 0.322027 0.31256 0.291733 +0.291733 0.308773 0.322027 0.316347 0.316347 0.333387 0.344747 0.350427 +0.358 0.361787 0.350427 0.344747 0.36368 0.371253 0.36368 0.35232 +0.350427 0.350427 0.337173 0.331493 0.333387 0.325813 0.310667 0.287947 +0.280373 0.280373 0.27848 0.2728 0.257653 0.257653 0.26712 0.269013 +0.265227 0.257653 0.257653 0.240613 0.22736 0.22168 0.219787 0.231147 +0.231147 0.22168 0.225467 0.23304 0.231147 0.22168 0.000986667 0.000986667 +0.000966667 0.00094 0.00092 0.000906667 0.000953333 0.000966667 0.000953333 0.00094 +0.000926667 0.000886667 0.000886667 0.00092 0.000906667 0.000893333 0.0009 0.000886667 +0.00092 0.00094 0.000913333 0.000913333 0.000906667 0.000873333 0.000873333 0.000913333 +0.00092 0.000866667 0.000846667 0.00088 0.00094 0.00094 0.0009 0.000913333 +0.000946667 0.000926667 0.0009 0.000926667 0.00094 0.000893333 0.0009 0.0009 +0.000926667 0.000966667 0.000933333 0.00092 0.00094 0.000966667 0.000933333 0.000886667 +0.000933333 0.000906667 0.000886667 0.000913333 0.00092 0.000926667 0.00094 0.00092 +0.00092 0.000913333 0.000926667 0.000933333 0.000953333 0.00092 0.0009 0.000913333 +0.00094 0.000966667 0.000946667 0.000953333 0.000966667 0.000986667 0.00098 0.000966667 +0.217893 0.231147 0.23872 0.25576 0.26144 0.280373 0.320133 0.373147 +0.428053 0.5 0.529053 0.562526 0.596632 0.638316 0.685053 0.724842 +0.757053 0.793053 0.827158 0.855579 0.876421 0.907368 0.929474 0.944 +0.956 0.964211 0.973684 0.978737 0.98 0.980653 0.978737 0.976211 +0.977474 0.98 0.978105 0.971789 0.969895 0.972421 0.969895 0.967368 +0.964842 0.964211 0.964842 0.959158 0.954737 0.957895 0.960421 0.961684 +0.961053 0.957263 0.950947 0.954737 0.961053 0.956632 0.949684 0.952842 +0.961053 0.969263 0.973684 0.972421 0.967368 0.960421 0.954105 0.954737 +0.959158 0.961684 0.962947 0.966105 0.970526 0.978737 0.983918 0.984245 +0.983592 0.984245 0.984571 0.985551 0.987184 0.985878 0.98 0.954105 +0.925053 0.896632 0.856842 0.800632 0.734316 0.669895 0.613053 0.558737 +0.505053 0.399653 0.333387 0.27848 0.229253 0.000873333 0.000786667 0.000766667 +0.000766667 0.00074 0.00072 0.00068 0.000673333 0.0007 0.0007 0.000673333 +0.000673333 0.000653333 0.00066 0.000713333 0.00076 0.000946667 0.248187 0.000953333 +0.000733333 0.000673333 0.000653333 0.00066 0.00066 0.000666667 0.000673333 0.000686667 +0.00068 0.000666667 0.00068 0.000673333 0.00068 0.000673333 0.000646667 0.000653333 +0.000653333 0.000666667 0.00068 0.00066 0.00066 0.000673333 0.00068 0.00068 +0.000646667 0.000653333 0.000673333 0.000653333 0.000646667 0.00064 0.000653333 0.00066 +0.000666667 0.00066 0.00068 0.000693333 0.0007 0.000686667 0.000666667 0.000673333 +0.000673333 0.000693333 0.000686667 0.00066 0.000666667 0.000666667 0.000646667 0.000666667 +0.000666667 0.000646667 0.00066 0.000673333 0.000666667 0.000646667 0.000673333 0.000686667 +0.000673333 0.000673333 0.0007 0.0007 0.00068 0.000706667 0.000713333 0.000713333 +0.000713333 0.000706667 0.0007 0.000706667 0.000673333 0.000693333 0.000706667 0.0007 +0.00072 0.000713333 0.0007 0.000706667 0.000726667 0.000726667 0.00068 0.000686667 +0.0007 0.0007 0.00072 0.00072 0.0007 0.000693333 0.0007 0.000726667 +0.000706667 0.000713333 0.000706667 0.000706667 0.000713333 0.00072 0.00072 0.00072 +0.000713333 0.00072 0.000713333 0.000726667 0.00072 0.000726667 0.000713333 0.000726667 +0.000746667 0.000726667 0.0007 0.000706667 0.000713333 0.00074 0.000733333 0.000706667 +0.000673333 0.000673333 0.0007 0.000746667 0.000746667 0.0007 0.00068 0.000686667 +0.0007 0.000713333 0.0007 0.000706667 0.0007 0.000693333 0.000673333 0.00066 +0.000666667 0.000686667 0.0007 0.0007 0.000686667 0.000686667 0.000666667 0.00066 +0.000666667 0.00066 0.000666667 0.00068 0.000673333 0.00068 0.00066 0.000673333 +0.0007 0.000706667 0.000693333 0.00068 0.00068 0.000673333 0.000666667 0.000673333 +0.00068 0.000666667 0.000673333 0.000673333 0.000686667 0.000693333 0.0007 0.0007 +0.00068 0.000653333 0.00066 0.000673333 0.000666667 0.00066 0.00066 0.000666667 +0.00068 0.00066 0.000653333 0.00066 0.000653333 0.00066 0.000653333 0.000626667 +0.000653333 0.000666667 0.000653333 0.00062 0.000613333 0.00062 0.000626667 0.00064 +0.000653333 0.000653333 0.000653333 0.000673333 0.00066 0.00062 0.000606667 0.000613333 +0.000633333 0.00064 0.00064 0.000633333 0.00064 0.00064 0.000626667 0.000633333 +0.00066 0.000646667 0.000613333 0.000626667 0.000626667 0.00062 0.00062 0.000593333 +0.000606667 0.000573333 0.00056 0.00058 0.0006 0.000613333 0.0006 0.000586667 +0.000586667 0.000593333 0.0006 0.00058 0.000593333 0.00062 0.000606667 0.000586667 +0.000566667 0.000566667 0.000593333 0.000626667 0.00064 0.00062 0.00062 0.000626667 +0.00066 0.00066 0.000653333 0.00064 0.000633333 0.000666667 0.00066 0.000646667 +0.00064 0.00066 0.00064 0.00062 0.000646667 0.00066 0.000653333 0.000666667 +0.000686667 0.000713333 0.000813333 0.000966667 0.265227 0.316347 0.308773 0.236827 +0.000873333 0.000826667 0.00082 0.000806667 0.000846667 0.00092 0.000966667 0.225467 +0.2444 0.26144 0.27848 0.276587 0.26712 0.274693 0.286053 0.299307 +0.310667 0.31824 0.34096 0.371253 0.393973 0.4148 0.422373 0.429947 +0.44888 0.47728 0.502526 0.512632 0.520211 0.527789 0.534105 0.537895 +0.542316 0.546737 0.551789 0.554947 0.558105 0.565053 0.563789 0.555579 +0.552421 0.552421 0.545474 0.540421 0.536 0.529684 0.519579 0.506316 +0.486747 0.46024 0.433733 0.412907 0.3864 0.359893 0.350427 0.34664 +0.337173 0.316347 0.304987 0.286053 0.259547 0.242507 0.231147 0.23304 +0.231147 0.22168 0.216 0.216 0.216 0.000986667 0.00094 0.00092 +0.00092 0.000913333 0.0009 0.000886667 0.0009 0.0009 0.000873333 0.000866667 +0.000873333 0.000886667 0.00088 0.000893333 0.000866667 0.000846667 0.000893333 0.0009 +0.000886667 0.000886667 0.000866667 0.000893333 0.000893333 0.000846667 0.000833333 0.000853333 +0.000913333 0.0009 0.000866667 0.000873333 0.00092 0.00094 0.0009 0.0009 +0.000926667 0.00092 0.000913333 0.00094 0.000946667 0.00092 0.00096 0.000973333 +0.000953333 0.00098 0.00098 0.000966667 0.00098 0.000993333 0.000966667 0.000913333 +0.00096 0.000953333 0.00092 0.000933333 0.000966667 0.000973333 0.000973333 0.00096 +0.00096 0.00096 0.000973333 0.00098 0.216 0.000986667 0.00098 0.216 +0.229253 0.231147 0.229253 0.23872 0.246293 0.25008 0.269013 0.27848 +0.3012 0.339067 0.3864 0.446987 0.503158 0.532211 0.573895 0.622526 +0.666105 0.714737 0.760211 0.799368 0.833474 0.866947 0.901684 0.925684 +0.938316 0.953474 0.969263 0.974947 0.974947 0.981959 0.984245 0.982612 +0.98098 0.978737 0.975579 0.966105 0.959789 0.961053 0.953474 0.945263 +0.945895 0.947158 0.947158 0.944 0.941474 0.941474 0.940211 0.940842 +0.940211 0.940842 0.940842 0.935789 0.932632 0.939579 0.944632 0.943368 +0.944 0.939579 0.933895 0.936421 0.942737 0.938947 0.937053 0.942105 +0.946526 0.950316 0.955368 0.954105 0.948421 0.944 0.940842 0.942737 +0.944632 0.945895 0.945263 0.943368 0.945263 0.955368 0.958526 0.956632 +0.958526 0.960421 0.959789 0.965474 0.978105 0.987184 0.98751 0.983265 +0.981959 0.981959 0.974316 0.957263 0.932632 0.894105 0.838526 0.769684 +0.696421 0.627579 0.560632 0.502526 0.384507 0.29552 0.242507 0.000986667 +0.00092 0.00084 0.000753333 0.000693333 0.0007 0.000733333 0.000706667 0.000673333 +0.000646667 0.000673333 0.00072 0.000733333 0.00076 0.0009 0.2444 0.23872 +0.00082 0.000666667 0.000653333 0.00066 0.000666667 0.000673333 0.000666667 0.000673333 +0.000686667 0.000653333 0.000666667 0.000666667 0.000646667 0.000653333 0.000646667 0.000646667 +0.000653333 0.000673333 0.000673333 0.000666667 0.00066 0.000633333 0.000646667 0.000673333 +0.000653333 0.000653333 0.000653333 0.000633333 0.000653333 0.000673333 0.000646667 0.000646667 +0.000653333 0.00066 0.0007 0.0007 0.000673333 0.000653333 0.000653333 0.000673333 +0.000673333 0.000673333 0.00066 0.00066 0.00068 0.000693333 0.000673333 0.000666667 +0.000666667 0.000673333 0.0007 0.000713333 0.000686667 0.000653333 0.000693333 0.000706667 +0.000713333 0.0007 0.000693333 0.000673333 0.000686667 0.000726667 0.00072 0.000693333 +0.000693333 0.000713333 0.000706667 0.000706667 0.0007 0.00072 0.000673333 0.000673333 +0.0007 0.000706667 0.00072 0.00072 0.000713333 0.000706667 0.000706667 0.00072 +0.000706667 0.000713333 0.000713333 0.00072 0.000713333 0.0007 0.000706667 0.000726667 +0.000726667 0.000733333 0.000713333 0.000726667 0.000733333 0.00074 0.00072 0.000713333 +0.0007 0.000726667 0.00076 0.000773333 0.000686667 0.00072 0.000726667 0.0007 +0.000713333 0.000746667 0.000713333 0.000686667 0.0007 0.0007 0.000726667 0.000733333 +0.000726667 0.000706667 0.00068 0.00068 0.00072 0.000733333 0.000713333 0.000706667 +0.000693333 0.0007 0.00072 0.000726667 0.000713333 0.000713333 0.000713333 0.000686667 +0.000686667 0.00068 0.00068 0.000693333 0.000693333 0.0007 0.000706667 0.0007 +0.00068 0.00066 0.00066 0.000673333 0.00068 0.000686667 0.000673333 0.00066 +0.00066 0.00066 0.000673333 0.00068 0.00068 0.00068 0.000666667 0.000673333 +0.000686667 0.00068 0.000686667 0.000686667 0.000673333 0.00068 0.000666667 0.000666667 +0.000686667 0.000686667 0.000666667 0.00066 0.000666667 0.00066 0.000653333 0.000653333 +0.000673333 0.00068 0.000666667 0.00066 0.00066 0.00068 0.000693333 0.000653333 +0.000653333 0.000646667 0.000646667 0.000666667 0.000673333 0.00064 0.000606667 0.000613333 +0.000633333 0.00064 0.00062 0.000633333 0.00064 0.000633333 0.000626667 0.000626667 +0.00062 0.000633333 0.000626667 0.00062 0.000646667 0.000633333 0.000593333 0.000606667 +0.000633333 0.000633333 0.000626667 0.00064 0.00062 0.000606667 0.0006 0.0006 +0.000606667 0.000586667 0.00058 0.000566667 0.000553333 0.000593333 0.0006 0.00058 +0.00058 0.00058 0.000586667 0.000573333 0.000566667 0.00058 0.000593333 0.000606667 +0.0006 0.000593333 0.000586667 0.000593333 0.00062 0.00062 0.000606667 0.000606667 +0.000626667 0.000646667 0.000646667 0.000633333 0.00066 0.00068 0.00066 0.000653333 +0.000666667 0.00068 0.00066 0.000633333 0.000633333 0.00064 0.000666667 0.000726667 +0.000833333 0.000953333 0.248187 0.293627 0.31256 0.286053 0.23304 0.000953333 +0.000946667 0.219787 0.23304 0.23872 0.23872 0.246293 0.26712 0.293627 +0.31256 0.34096 0.373147 0.382613 0.393973 0.441307 0.500632 0.518316 +0.539158 0.562526 0.585895 0.607368 0.627579 0.646526 0.66421 0.681895 +0.700842 0.714105 0.724842 0.741895 0.754526 0.762737 0.772842 0.783579 +0.789263 0.789263 0.793053 0.796842 0.796842 0.802526 0.803789 0.796211 +0.789895 0.788632 0.784211 0.777895 0.769684 0.759579 0.743789 0.724842 +0.707158 0.690105 0.673684 0.659158 0.644632 0.628211 0.614947 0.601684 +0.585895 0.564421 0.542947 0.524 0.502526 0.445093 0.39776 0.36936 +0.342853 0.314453 0.287947 0.269013 0.259547 0.257653 0.2444 0.23304 +0.229253 0.225467 0.000993333 0.000966667 0.000966667 0.000973333 0.00094 0.000926667 +0.000926667 0.000946667 0.000946667 0.00096 0.000953333 0.00092 0.000933333 0.000966667 +0.000973333 0.00094 0.000913333 0.000946667 0.00098 0.000973333 0.00094 0.000926667 +0.00096 0.00096 0.00092 0.000933333 0.000986667 0.22168 0.000986667 0.000973333 +0.225467 0.219787 0.000993333 0.22168 0.22168 0.000993333 0.223573 0.23304 +0.22168 0.22168 0.229253 0.231147 0.236827 0.23872 0.23304 0.223573 +0.234933 0.231147 0.229253 0.23304 0.234933 0.234933 0.240613 0.2444 +0.248187 0.25008 0.251973 0.248187 0.251973 0.253867 0.26144 0.2728 +0.297413 0.303093 0.310667 0.348533 0.390187 0.429947 0.49432 0.523368 +0.551789 0.587789 0.630737 0.673053 0.714105 0.758947 0.807579 0.853053 +0.887158 0.919368 0.944632 0.958526 0.964211 0.969263 0.977474 0.978737 +0.972421 0.971789 0.973684 0.966737 0.961053 0.960421 0.957895 0.956632 +0.953474 0.948421 0.944632 0.939579 0.935789 0.935789 0.930737 0.926947 +0.929474 0.933895 0.935158 0.933895 0.931368 0.928842 0.929474 0.930737 +0.928842 0.932 0.933263 0.928842 0.927579 0.934526 0.940211 0.941474 +0.942105 0.939579 0.935789 0.934526 0.935789 0.933263 0.935158 0.938947 +0.938316 0.937684 0.939579 0.938316 0.936421 0.937053 0.937053 0.939579 +0.940842 0.942105 0.940211 0.936421 0.938947 0.948421 0.945263 0.940211 +0.940211 0.940842 0.944 0.947789 0.957895 0.968 0.964211 0.958526 +0.960421 0.967368 0.972421 0.978737 0.983592 0.984571 0.974947 0.945263 +0.906105 0.850526 0.772842 0.686947 0.603579 0.533474 0.4432 0.350427 +0.29552 0.25008 0.00094 0.000806667 0.000766667 0.00074 0.000726667 0.000686667 +0.00068 0.00072 0.000746667 0.00074 0.00074 0.000806667 0.231147 0.26144 +0.00088 0.000673333 0.00066 0.000646667 0.00064 0.000653333 0.000666667 0.00068 +0.000673333 0.000646667 0.000646667 0.000653333 0.00064 0.000666667 0.00066 0.00064 +0.00066 0.000673333 0.000673333 0.00066 0.00064 0.00064 0.000673333 0.00066 +0.000653333 0.00064 0.00064 0.000653333 0.00068 0.000673333 0.000626667 0.000626667 +0.00066 0.000666667 0.000693333 0.000686667 0.000673333 0.000666667 0.000686667 0.0007 +0.000673333 0.000666667 0.00068 0.000693333 0.000713333 0.000726667 0.000686667 0.000666667 +0.00068 0.000693333 0.00072 0.000706667 0.000666667 0.00066 0.00072 0.00072 +0.000686667 0.000666667 0.000666667 0.00068 0.000693333 0.00068 0.000673333 0.000673333 +0.00068 0.000686667 0.000686667 0.000686667 0.0007 0.000686667 0.00068 0.000706667 +0.000726667 0.000726667 0.000753333 0.000713333 0.00068 0.000706667 0.000713333 0.000686667 +0.000693333 0.00072 0.000713333 0.00072 0.0007 0.000713333 0.00072 0.0007 +0.000706667 0.00074 0.00074 0.000753333 0.00074 0.00072 0.0007 0.000706667 +0.000713333 0.00076 0.000766667 0.000746667 0.000713333 0.000713333 0.000733333 0.00072 +0.000686667 0.000713333 0.000726667 0.000726667 0.000713333 0.000713333 0.000706667 0.000693333 +0.000726667 0.00074 0.000713333 0.00068 0.00066 0.000673333 0.000686667 0.000713333 +0.000706667 0.000706667 0.000713333 0.000706667 0.000693333 0.000686667 0.000693333 0.000686667 +0.000693333 0.000673333 0.000686667 0.000713333 0.0007 0.00068 0.000686667 0.000713333 +0.0007 0.00068 0.00068 0.000673333 0.000673333 0.0007 0.0007 0.00068 +0.00066 0.000653333 0.00066 0.000673333 0.000686667 0.000673333 0.00066 0.000666667 +0.00068 0.00068 0.000666667 0.000686667 0.000693333 0.000686667 0.000673333 0.000653333 +0.00066 0.000693333 0.00068 0.000653333 0.000646667 0.00066 0.000666667 0.000666667 +0.000673333 0.000673333 0.000673333 0.00066 0.000646667 0.00066 0.000666667 0.000666667 +0.00066 0.000646667 0.000633333 0.000646667 0.000686667 0.000693333 0.000666667 0.00064 +0.000633333 0.000646667 0.000646667 0.00064 0.00064 0.000653333 0.000646667 0.000633333 +0.00062 0.000626667 0.000626667 0.000626667 0.00064 0.000646667 0.000613333 0.0006 +0.000613333 0.0006 0.000606667 0.000633333 0.000626667 0.000593333 0.000573333 0.00058 +0.00058 0.000573333 0.000573333 0.000566667 0.00056 0.000573333 0.00058 0.00058 +0.00058 0.000566667 0.000566667 0.000566667 0.000566667 0.00056 0.000573333 0.000573333 +0.000586667 0.000586667 0.000573333 0.000566667 0.000573333 0.0006 0.0006 0.00058 +0.000573333 0.0006 0.000613333 0.000593333 0.00062 0.000646667 0.0006 0.0006 +0.00064 0.000673333 0.000693333 0.000706667 0.00074 0.000813333 0.000906667 0.216 +0.259547 0.297413 0.31824 0.30688 0.28416 0.25008 0.23872 0.26144 +0.276587 0.274693 0.28984 0.331493 0.38072 0.424267 0.473493 0.512632 +0.539789 0.573895 0.608632 0.638947 0.668 0.703368 0.736211 0.764632 +0.793053 0.821474 0.844211 0.865684 0.884 0.897263 0.909895 0.922526 +0.936421 0.945895 0.947789 0.951579 0.956632 0.957895 0.963579 0.969263 +0.972421 0.971789 0.968 0.969263 0.972421 0.972421 0.971789 0.969895 +0.966105 0.964842 0.964211 0.962947 0.959158 0.956632 0.950316 0.938316 +0.926947 0.919368 0.908 0.896632 0.886526 0.875789 0.863789 0.848632 +0.832842 0.810737 0.779789 0.750105 0.722316 0.687579 0.655368 0.627579 +0.602947 0.577053 0.552421 0.532842 0.514526 0.5 0.45456 0.412907 +0.390187 0.373147 0.344747 0.31824 0.303093 0.29552 0.280373 0.269013 +0.259547 0.25576 0.257653 0.26712 0.26712 0.259547 0.259547 0.26712 +0.270907 0.26712 0.263333 0.276587 0.287947 0.287947 0.27848 0.276587 +0.286053 0.28984 0.28416 0.286053 0.29552 0.308773 0.304987 0.299307 +0.31256 0.308773 0.30688 0.322027 0.325813 0.32392 0.325813 0.333387 +0.3296 0.32392 0.327707 0.333387 0.344747 0.348533 0.34096 0.3296 +0.344747 0.34096 0.339067 0.348533 0.342853 0.337173 0.348533 0.361787 +0.373147 0.3864 0.390187 0.401547 0.4148 0.42616 0.462133 0.496213 +0.517684 0.535368 0.553684 0.587158 0.624421 0.658526 0.695789 0.737474 +0.775368 0.814526 0.856211 0.886526 0.911158 0.935158 0.953474 0.963579 +0.969895 0.973684 0.974947 0.969895 0.958526 0.955368 0.957263 0.950947 +0.944632 0.945263 0.943368 0.937684 0.937053 0.935789 0.932632 0.937053 +0.936421 0.932 0.930737 0.933895 0.933263 0.933895 0.930737 0.925053 +0.928842 0.936421 0.936421 0.935789 0.936421 0.935789 0.933895 0.930105 +0.92821 0.932 0.933895 0.931368 0.932632 0.937684 0.938947 0.941474 +0.944 0.941474 0.939579 0.938316 0.937053 0.935158 0.934526 0.934526 +0.933895 0.933895 0.935158 0.934526 0.935789 0.935158 0.935789 0.939579 +0.942737 0.944 0.944 0.940842 0.943368 0.948421 0.942737 0.937053 +0.934526 0.933263 0.938947 0.942737 0.945895 0.947789 0.942737 0.940842 +0.944632 0.950316 0.950947 0.955368 0.965474 0.976842 0.981633 0.982286 +0.984245 0.978737 0.949053 0.897895 0.825263 0.739368 0.645895 0.566316 +0.505053 0.390187 0.304987 0.231147 0.0009 0.00078 0.000733333 0.000726667 +0.000713333 0.00072 0.000726667 0.00072 0.000706667 0.00076 0.219787 0.27848 +0.000993333 0.000706667 0.000626667 0.000626667 0.000633333 0.000646667 0.00068 0.00066 +0.00064 0.000633333 0.000633333 0.00066 0.000646667 0.000653333 0.000646667 0.000653333 +0.00068 0.000666667 0.000646667 0.000633333 0.00064 0.000673333 0.000693333 0.000666667 +0.000646667 0.000633333 0.00066 0.00066 0.000666667 0.000633333 0.000646667 0.00068 +0.000686667 0.000686667 0.00068 0.000673333 0.000686667 0.000693333 0.000713333 0.000693333 +0.00066 0.000706667 0.000706667 0.000673333 0.000693333 0.000686667 0.000666667 0.000686667 +0.00068 0.000666667 0.00068 0.00066 0.00066 0.000686667 0.000693333 0.000673333 +0.000653333 0.00066 0.00068 0.000686667 0.00068 0.000666667 0.000673333 0.000686667 +0.000693333 0.00068 0.000693333 0.000713333 0.0007 0.000706667 0.000726667 0.000733333 +0.000733333 0.000706667 0.000706667 0.000706667 0.000706667 0.000706667 0.000706667 0.000706667 +0.000733333 0.000733333 0.000733333 0.000726667 0.000693333 0.000693333 0.000706667 0.000726667 +0.000766667 0.000766667 0.000726667 0.000693333 0.00068 0.000693333 0.0007 0.000733333 +0.000753333 0.000753333 0.000733333 0.000713333 0.000726667 0.00072 0.000706667 0.000726667 +0.00072 0.000706667 0.0007 0.00072 0.000713333 0.000713333 0.000713333 0.0007 +0.000693333 0.000706667 0.00072 0.00072 0.000713333 0.000686667 0.00066 0.00068 +0.0007 0.000713333 0.00072 0.0007 0.000693333 0.000673333 0.000673333 0.000673333 +0.000673333 0.000653333 0.00068 0.000713333 0.000713333 0.000686667 0.000666667 0.000666667 +0.00068 0.000693333 0.0007 0.000673333 0.000673333 0.000686667 0.000693333 0.000686667 +0.000686667 0.000686667 0.00068 0.000666667 0.00068 0.0007 0.000706667 0.00068 +0.000666667 0.000673333 0.000653333 0.000646667 0.00066 0.000673333 0.000673333 0.000666667 +0.000653333 0.000653333 0.00066 0.000666667 0.000653333 0.000626667 0.000646667 0.000666667 +0.000673333 0.000666667 0.00068 0.00064 0.00064 0.000653333 0.00064 0.000633333 +0.00066 0.000653333 0.000633333 0.000606667 0.000633333 0.000653333 0.000646667 0.000646667 +0.000633333 0.000613333 0.000626667 0.000646667 0.00066 0.000653333 0.000633333 0.00062 +0.000626667 0.00064 0.000626667 0.000613333 0.000626667 0.000626667 0.00062 0.000606667 +0.000606667 0.00058 0.000586667 0.000606667 0.000613333 0.000613333 0.000586667 0.000593333 +0.000593333 0.00056 0.00056 0.000553333 0.000566667 0.000566667 0.000546667 0.000553333 +0.000553333 0.000553333 0.00054 0.000553333 0.000566667 0.00058 0.000586667 0.000586667 +0.0006 0.000606667 0.000586667 0.00058 0.000573333 0.000566667 0.000593333 0.0006 +0.000593333 0.000606667 0.000606667 0.000613333 0.000626667 0.000626667 0.0006 0.000613333 +0.000646667 0.0007 0.000766667 0.000893333 0.229253 0.276587 0.308773 0.31824 +0.322027 0.32392 0.316347 0.293627 0.287947 0.303093 0.331493 0.393973 +0.467813 0.511368 0.541053 0.582105 0.626947 0.673053 0.716 0.755789 +0.796211 0.833474 0.866316 0.896 0.92 0.941474 0.957895 0.969263 +0.98 0.983592 0.983918 0.986204 0.990776 0.991429 0.990449 0.991102 +0.992408 0.992408 0.990776 0.989469 0.988816 0.986204 0.982286 0.981959 +0.983592 0.984571 0.982286 0.983265 0.988163 0.98751 0.984571 0.981959 +0.982939 0.984245 0.984898 0.985551 0.987184 0.987184 0.986204 0.985224 +0.984898 0.984571 0.984571 0.984571 0.984898 0.984571 0.983918 0.983265 +0.982612 0.980327 0.964842 0.946526 0.932632 0.914316 0.894105 0.872 +0.848632 0.822105 0.794316 0.767158 0.738105 0.714105 0.688842 0.66421 +0.642105 0.623158 0.605474 0.589684 0.575789 0.563789 0.550526 0.537895 +0.527158 0.520211 0.518947 0.519579 0.515789 0.512 0.512632 0.513895 +0.513263 0.512632 0.508211 0.511368 0.516421 0.519579 0.521474 0.521474 +0.524 0.528421 0.530316 0.531579 0.534105 0.539789 0.541053 0.542316 +0.545474 0.542316 0.544842 0.554316 0.558737 0.560632 0.565053 0.570105 +0.570105 0.565684 0.567579 0.567579 0.567579 0.571368 0.570737 0.565053 +0.567579 0.568211 0.566947 0.570105 0.571368 0.570737 0.575789 0.585895 +0.594105 0.600421 0.606737 0.617474 0.629474 0.642105 0.666737 0.692 +0.720421 0.747579 0.775368 0.811368 0.843579 0.871368 0.897263 0.92 +0.937684 0.951579 0.961053 0.961684 0.961684 0.963579 0.962947 0.956632 +0.950316 0.947158 0.946526 0.942105 0.931368 0.932632 0.938947 0.934526 +0.932 0.936421 0.935158 0.932632 0.937684 0.938316 0.933895 0.935789 +0.934526 0.931368 0.929474 0.933263 0.936421 0.936421 0.933895 0.929474 +0.933895 0.938316 0.933895 0.934526 0.937053 0.940211 0.940211 0.937053 +0.936421 0.939579 0.941474 0.938316 0.938316 0.939579 0.937684 0.938947 +0.940842 0.938947 0.937053 0.938316 0.939579 0.940842 0.940211 0.938316 +0.935158 0.937053 0.940842 0.940211 0.935789 0.934526 0.936421 0.940842 +0.942105 0.944632 0.946526 0.945263 0.948421 0.949053 0.942105 0.940211 +0.936421 0.933895 0.937053 0.937684 0.937053 0.938947 0.935158 0.936421 +0.942105 0.941474 0.940842 0.947158 0.956 0.961053 0.959789 0.959789 +0.968632 0.98098 0.984571 0.982612 0.967368 0.928842 0.861895 0.773474 +0.677474 0.589684 0.518947 0.399653 0.293627 0.217893 0.000873333 0.00082 +0.000766667 0.000713333 0.000706667 0.000713333 0.000706667 0.00076 0.00096 0.269013 +0.236827 0.000746667 0.000613333 0.000633333 0.000653333 0.000673333 0.00068 0.00062 +0.000606667 0.000633333 0.00064 0.00066 0.000646667 0.000646667 0.000673333 0.000693333 +0.0007 0.000653333 0.000633333 0.000653333 0.000666667 0.000673333 0.000686667 0.00068 +0.000653333 0.00064 0.000646667 0.000646667 0.000653333 0.00066 0.000673333 0.000686667 +0.00068 0.000653333 0.00064 0.000686667 0.000693333 0.00068 0.00068 0.00068 +0.000686667 0.000713333 0.000666667 0.00064 0.00066 0.000673333 0.0007 0.0007 +0.000673333 0.000666667 0.000673333 0.000673333 0.000686667 0.000666667 0.000653333 0.000686667 +0.0007 0.000706667 0.0007 0.0007 0.000706667 0.0007 0.0007 0.000693333 +0.000706667 0.000693333 0.00068 0.000693333 0.00068 0.0007 0.00068 0.000693333 +0.000706667 0.000686667 0.000693333 0.000713333 0.00072 0.0007 0.000713333 0.000706667 +0.0007 0.000726667 0.000746667 0.000726667 0.000693333 0.000653333 0.0007 0.000773333 +0.000773333 0.000706667 0.000653333 0.000633333 0.000686667 0.000733333 0.000726667 0.00072 +0.00072 0.0007 0.000706667 0.00072 0.00068 0.0007 0.00072 0.000726667 +0.000713333 0.0007 0.000706667 0.000713333 0.000726667 0.000706667 0.000693333 0.000706667 +0.000706667 0.000693333 0.0007 0.000686667 0.0007 0.000726667 0.000713333 0.000706667 +0.00068 0.000673333 0.000693333 0.000713333 0.000713333 0.000693333 0.0007 0.000673333 +0.000646667 0.000653333 0.000673333 0.000686667 0.00068 0.00068 0.000673333 0.000646667 +0.000646667 0.000666667 0.00066 0.00066 0.00066 0.00066 0.000646667 0.000653333 +0.000666667 0.00068 0.00068 0.00066 0.000646667 0.00066 0.000686667 0.000693333 +0.00068 0.000673333 0.00066 0.000653333 0.000646667 0.000653333 0.00066 0.00068 +0.000666667 0.00064 0.000633333 0.000633333 0.00064 0.000633333 0.000633333 0.00062 +0.00062 0.000646667 0.00064 0.00062 0.00062 0.000653333 0.000646667 0.000613333 +0.00066 0.00066 0.000633333 0.000606667 0.000626667 0.000626667 0.0006 0.000593333 +0.000613333 0.000606667 0.000613333 0.00062 0.000626667 0.00064 0.00062 0.000593333 +0.0006 0.000626667 0.000633333 0.000633333 0.00064 0.00062 0.0006 0.000606667 +0.000606667 0.00058 0.000586667 0.0006 0.000593333 0.000586667 0.000606667 0.00062 +0.000593333 0.000586667 0.000593333 0.000573333 0.000566667 0.000586667 0.00058 0.000566667 +0.000553333 0.000573333 0.00056 0.00054 0.00054 0.000566667 0.000593333 0.000593333 +0.000606667 0.000626667 0.000633333 0.000633333 0.00064 0.000606667 0.000586667 0.0006 +0.000613333 0.000626667 0.000633333 0.000646667 0.000686667 0.00068 0.0007 0.000766667 +0.000866667 0.219787 0.259547 0.29552 0.32392 0.348533 0.36368 0.361787 +0.348533 0.359893 0.3864 0.429947 0.500632 0.536 0.577684 0.631368 +0.688842 0.743158 0.795579 0.844842 0.884632 0.916842 0.944 0.966105 +0.981306 0.984571 0.986531 0.991755 0.994367 0.993061 0.991429 0.990122 +0.989796 0.98751 0.983918 0.98098 0.983592 0.985551 0.982286 0.980653 +0.981306 0.978737 0.969263 0.964842 0.966737 0.963579 0.954105 0.949684 +0.950947 0.951579 0.947158 0.951579 0.961053 0.961053 0.956632 0.950947 +0.949684 0.952211 0.954105 0.957263 0.964842 0.966737 0.960421 0.957263 +0.957895 0.958526 0.959789 0.964211 0.970526 0.972421 0.976211 0.982939 +0.98751 0.990449 0.987837 0.983265 0.981959 0.984571 0.985878 0.984245 +0.978737 0.968 0.957895 0.946526 0.932 0.919368 0.907368 0.892842 +0.875158 0.859368 0.845474 0.831579 0.815789 0.8 0.783579 0.767158 +0.750737 0.737474 0.731158 0.728632 0.721684 0.718526 0.717895 0.716 +0.716 0.717895 0.714737 0.714737 0.718526 0.723579 0.729263 0.727368 +0.729263 0.733053 0.735579 0.739368 0.741895 0.750737 0.752 0.752632 +0.756421 0.755789 0.757053 0.765263 0.767789 0.771579 0.777895 0.783579 +0.782947 0.777895 0.780421 0.780421 0.774737 0.777263 0.779789 0.776 +0.774105 0.772842 0.772211 0.774737 0.777263 0.779158 0.787368 0.798105 +0.804421 0.813895 0.823368 0.834737 0.846737 0.855579 0.875158 0.896 +0.911789 0.921263 0.931368 0.946526 0.956 0.959158 0.961684 0.964211 +0.965474 0.965474 0.962947 0.954737 0.945895 0.943368 0.942737 0.937684 +0.935789 0.933263 0.933263 0.935158 0.930737 0.933895 0.938947 0.937053 +0.936421 0.937684 0.936421 0.934526 0.941474 0.943368 0.937684 0.935789 +0.933895 0.932632 0.927579 0.932 0.936421 0.930737 0.927579 0.930737 +0.935158 0.933895 0.928842 0.930105 0.932 0.934526 0.938316 0.940211 +0.942105 0.945895 0.947789 0.947158 0.946526 0.942737 0.939579 0.937684 +0.937053 0.935789 0.935789 0.936421 0.939579 0.943368 0.947158 0.947158 +0.945263 0.945263 0.944632 0.942105 0.936421 0.937684 0.940211 0.940211 +0.940211 0.943368 0.945895 0.946526 0.950947 0.945895 0.941474 0.943368 +0.941474 0.938947 0.937053 0.934526 0.932632 0.933895 0.934526 0.937053 +0.939579 0.936421 0.939579 0.948421 0.954737 0.953474 0.949684 0.945895 +0.944 0.950947 0.962947 0.976211 0.983592 0.984245 0.979368 0.945263 +0.888421 0.805684 0.705263 0.605474 0.520211 0.39208 0.28416 0.229253 +0.000906667 0.00078 0.000733333 0.00072 0.000726667 0.000773333 0.000893333 0.25008 +0.257653 0.000866667 0.000693333 0.000653333 0.000666667 0.000686667 0.00066 0.00062 +0.00062 0.00068 0.000666667 0.000666667 0.000673333 0.000666667 0.0007 0.000693333 +0.000666667 0.000653333 0.000666667 0.000666667 0.000666667 0.000673333 0.00068 0.000686667 +0.00066 0.000633333 0.00064 0.000646667 0.00068 0.000686667 0.00066 0.00064 +0.00064 0.000633333 0.000673333 0.000713333 0.0007 0.000666667 0.00068 0.00072 +0.000706667 0.00068 0.000666667 0.00066 0.0007 0.0007 0.000713333 0.000693333 +0.00068 0.00068 0.000693333 0.000686667 0.000653333 0.000653333 0.000693333 0.000726667 +0.00072 0.000693333 0.000686667 0.000693333 0.000693333 0.000693333 0.00068 0.000673333 +0.000693333 0.000686667 0.000666667 0.00068 0.00072 0.000713333 0.000666667 0.000686667 +0.0007 0.000706667 0.000713333 0.000713333 0.000726667 0.000733333 0.00072 0.00068 +0.0007 0.000733333 0.00072 0.000693333 0.0007 0.000693333 0.00074 0.00074 +0.000693333 0.000673333 0.000666667 0.000673333 0.000726667 0.00074 0.000713333 0.0007 +0.00072 0.000713333 0.000726667 0.000726667 0.000693333 0.000673333 0.000693333 0.000733333 +0.0007 0.000686667 0.0007 0.0007 0.000686667 0.0007 0.0007 0.00068 +0.000686667 0.000706667 0.000706667 0.000686667 0.000673333 0.000673333 0.0007 0.00072 +0.0007 0.000686667 0.00068 0.00068 0.000693333 0.000706667 0.000713333 0.0007 +0.000673333 0.00066 0.000673333 0.000666667 0.00066 0.000673333 0.00068 0.000666667 +0.00066 0.000646667 0.000646667 0.000646667 0.00066 0.000673333 0.000673333 0.000666667 +0.000666667 0.000646667 0.000653333 0.00068 0.000653333 0.000633333 0.000653333 0.000653333 +0.000673333 0.00068 0.000673333 0.000673333 0.000653333 0.00066 0.000646667 0.000653333 +0.000653333 0.000653333 0.00064 0.000633333 0.00064 0.000633333 0.000626667 0.00064 +0.00064 0.00064 0.00062 0.0006 0.00058 0.000613333 0.000646667 0.000613333 +0.000633333 0.00064 0.00064 0.000633333 0.00062 0.000626667 0.00062 0.000606667 +0.000613333 0.0006 0.0006 0.000613333 0.000606667 0.000606667 0.000613333 0.000626667 +0.000613333 0.0006 0.000593333 0.000613333 0.00064 0.000646667 0.000626667 0.000626667 +0.00064 0.00062 0.000613333 0.000613333 0.000606667 0.000586667 0.000593333 0.0006 +0.0006 0.000613333 0.000626667 0.0006 0.000613333 0.0006 0.00058 0.00058 +0.00058 0.000573333 0.000593333 0.000593333 0.000593333 0.0006 0.000606667 0.00062 +0.000646667 0.00064 0.000633333 0.000633333 0.000653333 0.000653333 0.000646667 0.000626667 +0.000606667 0.000613333 0.00062 0.00066 0.000713333 0.0008 0.000953333 0.246293 +0.28416 0.314453 0.331493 0.337173 0.34664 0.373147 0.40344 0.43184 +0.503158 0.551158 0.604211 0.659158 0.716 0.772842 0.830947 0.887158 +0.929474 0.958526 0.978105 0.986857 0.991429 0.991755 0.991755 0.990776 +0.986857 0.981959 0.977474 0.98 0.979368 0.973053 0.968632 0.965474 +0.963579 0.960421 0.954105 0.947789 0.949684 0.956 0.954737 0.954737 +0.957263 0.954737 0.945263 0.940842 0.940211 0.941474 0.939579 0.935158 +0.933895 0.933263 0.931368 0.932632 0.939579 0.942105 0.939579 0.934526 +0.929474 0.926316 0.92821 0.932632 0.938947 0.940842 0.935789 0.933263 +0.932632 0.931368 0.929474 0.929474 0.934526 0.942105 0.949684 0.961684 +0.969895 0.970526 0.968 0.965474 0.966105 0.974316 0.983592 0.987837 +0.985224 0.983592 0.983265 0.981959 0.98 0.976211 0.974947 0.971789 +0.966105 0.964842 0.964842 0.963579 0.960421 0.953474 0.946526 0.938316 +0.933895 0.927579 0.922526 0.922526 0.918105 0.916211 0.916211 0.913053 +0.911158 0.914947 0.913684 0.913053 0.913684 0.914316 0.918105 0.918737 +0.921263 0.921263 0.919368 0.919368 0.919368 0.927579 0.928842 0.925053 +0.929474 0.928842 0.928842 0.933263 0.930105 0.930105 0.933895 0.939579 +0.941474 0.937684 0.937053 0.936421 0.933263 0.933263 0.933263 0.930737 +0.92821 0.925684 0.926947 0.930105 0.930105 0.932 0.937684 0.942105 +0.942737 0.949684 0.954737 0.957263 0.962947 0.959158 0.963579 0.968632 +0.968 0.963579 0.958526 0.958526 0.958526 0.956 0.952842 0.950947 +0.948421 0.948421 0.949053 0.945263 0.938947 0.938947 0.941474 0.942105 +0.944 0.940842 0.937053 0.937684 0.935789 0.937684 0.940842 0.939579 +0.938947 0.940211 0.940211 0.938947 0.942737 0.942737 0.938316 0.937684 +0.937053 0.935789 0.932632 0.933263 0.937684 0.932632 0.928842 0.933263 +0.938947 0.934526 0.933895 0.937053 0.935789 0.935158 0.938316 0.942105 +0.944 0.946526 0.949684 0.951579 0.952842 0.949684 0.944632 0.940211 +0.940211 0.938947 0.937053 0.938947 0.943368 0.946526 0.946526 0.946526 +0.950947 0.952211 0.950316 0.948421 0.945895 0.945263 0.945263 0.945895 +0.944632 0.946526 0.947789 0.947789 0.949053 0.945263 0.943368 0.942105 +0.943368 0.943368 0.939579 0.935158 0.933263 0.935789 0.940211 0.942105 +0.939579 0.936421 0.940211 0.944632 0.943368 0.942105 0.945895 0.944 +0.936421 0.937684 0.945263 0.956 0.962316 0.966737 0.979368 0.983918 +0.982286 0.959789 0.899789 0.811368 0.704632 0.59979 0.515158 0.388293 +0.287947 0.217893 0.00088 0.000806667 0.00078 0.00076 0.000826667 0.2444 +0.282267 0.219787 0.00076 0.00066 0.00064 0.00064 0.000633333 0.000646667 +0.00068 0.000693333 0.000666667 0.00068 0.00068 0.00068 0.000693333 0.00068 +0.000653333 0.00066 0.000666667 0.000666667 0.000673333 0.000673333 0.00068 0.00068 +0.000646667 0.000633333 0.000653333 0.000666667 0.00068 0.000666667 0.000626667 0.00064 +0.00066 0.000686667 0.000706667 0.000706667 0.000693333 0.000686667 0.0007 0.000693333 +0.000653333 0.000673333 0.000693333 0.000693333 0.000713333 0.000686667 0.000686667 0.000686667 +0.00068 0.000653333 0.000673333 0.00066 0.000646667 0.000693333 0.000713333 0.000693333 +0.000693333 0.000686667 0.0007 0.00068 0.00066 0.000673333 0.00068 0.000666667 +0.000666667 0.000666667 0.00068 0.000686667 0.000713333 0.0007 0.00068 0.000706667 +0.000706667 0.00072 0.000713333 0.000713333 0.000713333 0.000706667 0.00068 0.000666667 +0.000693333 0.0007 0.000686667 0.000693333 0.000713333 0.000706667 0.000706667 0.000693333 +0.000693333 0.000686667 0.000693333 0.000693333 0.0007 0.0007 0.000713333 0.000713333 +0.000726667 0.000693333 0.000686667 0.00068 0.00072 0.000693333 0.000666667 0.000693333 +0.000706667 0.0007 0.0007 0.00072 0.000686667 0.000673333 0.000693333 0.00068 +0.000673333 0.0007 0.000706667 0.00068 0.00066 0.00064 0.00066 0.000666667 +0.000673333 0.000706667 0.0007 0.00068 0.00068 0.000673333 0.000666667 0.0007 +0.000706667 0.000713333 0.000686667 0.000666667 0.000673333 0.000666667 0.000666667 0.00066 +0.000673333 0.000653333 0.00064 0.000633333 0.000633333 0.000653333 0.00068 0.000693333 +0.000686667 0.000653333 0.000626667 0.00066 0.00068 0.000686667 0.00068 0.000653333 +0.000653333 0.000666667 0.00066 0.000673333 0.000666667 0.000693333 0.000686667 0.00066 +0.000646667 0.000633333 0.00064 0.000666667 0.000666667 0.00064 0.00064 0.000633333 +0.000646667 0.000666667 0.00064 0.000613333 0.000606667 0.00062 0.000633333 0.00062 +0.000613333 0.000606667 0.000626667 0.000646667 0.00064 0.000633333 0.000633333 0.000646667 +0.000646667 0.00062 0.000606667 0.000606667 0.000626667 0.000606667 0.0006 0.000633333 +0.00064 0.000613333 0.000593333 0.0006 0.000586667 0.000606667 0.000633333 0.00064 +0.000633333 0.000633333 0.000646667 0.000613333 0.000613333 0.000593333 0.000593333 0.0006 +0.000593333 0.000593333 0.000613333 0.000593333 0.000606667 0.000626667 0.0006 0.000573333 +0.000553333 0.000533333 0.000546667 0.00056 0.000593333 0.000653333 0.00064 0.000646667 +0.000666667 0.000666667 0.00066 0.00064 0.000653333 0.00066 0.000666667 0.00066 +0.00066 0.000666667 0.0007 0.00082 0.000973333 0.251973 0.29552 0.322027 +0.337173 0.331493 0.331493 0.36936 0.452667 0.525895 0.574526 0.628211 +0.698316 0.774737 0.844211 0.904211 0.945263 0.969263 0.985551 0.993061 +0.994694 0.995347 0.993388 0.98849 0.982612 0.975579 0.971789 0.968632 +0.960421 0.951579 0.950316 0.952842 0.949684 0.945263 0.947158 0.945895 +0.942105 0.939579 0.936421 0.932632 0.932 0.935789 0.939579 0.941474 +0.944 0.943368 0.939579 0.937053 0.935158 0.933895 0.934526 0.933895 +0.936421 0.937684 0.938947 0.939579 0.940842 0.941474 0.940842 0.940842 +0.938316 0.935158 0.932 0.933895 0.937684 0.935789 0.930105 0.928842 +0.929474 0.930737 0.933263 0.933263 0.931368 0.935158 0.940842 0.956 +0.962316 0.952842 0.946526 0.948421 0.952211 0.959158 0.970526 0.977474 +0.973684 0.972421 0.976211 0.976842 0.969895 0.962947 0.962316 0.959789 +0.956 0.958526 0.964211 0.968632 0.973684 0.974947 0.973053 0.968632 +0.971789 0.973053 0.969263 0.970526 0.971789 0.973053 0.976211 0.976211 +0.971158 0.972421 0.973684 0.977474 0.98098 0.977474 0.975579 0.973053 +0.973053 0.973684 0.971789 0.969263 0.963579 0.963579 0.966105 0.963579 +0.964842 0.962316 0.961684 0.966105 0.961684 0.959789 0.963579 0.969263 +0.971789 0.967368 0.963579 0.962947 0.965474 0.969263 0.967368 0.968632 +0.967368 0.964211 0.963579 0.965474 0.966105 0.966737 0.968 0.968632 +0.966105 0.967368 0.967368 0.964211 0.965474 0.960421 0.959789 0.958526 +0.955368 0.951579 0.947158 0.945263 0.944 0.945895 0.947158 0.946526 +0.944 0.945895 0.949684 0.949684 0.947789 0.947789 0.949684 0.950316 +0.949053 0.945895 0.943368 0.944 0.945263 0.947158 0.949684 0.952842 +0.951579 0.951579 0.949684 0.949053 0.951579 0.948421 0.944632 0.947158 +0.945263 0.945895 0.946526 0.944 0.946526 0.942105 0.939579 0.944632 +0.949053 0.942737 0.943368 0.944 0.940211 0.939579 0.942105 0.945263 +0.945263 0.947158 0.948421 0.950316 0.951579 0.950316 0.948421 0.946526 +0.946526 0.943368 0.942105 0.944632 0.944632 0.944632 0.945895 0.945895 +0.950947 0.952211 0.950316 0.950316 0.952211 0.952842 0.952211 0.954105 +0.955368 0.957263 0.955368 0.954105 0.952842 0.949684 0.949684 0.949684 +0.952211 0.950947 0.947158 0.942737 0.939579 0.938947 0.940211 0.940211 +0.937684 0.936421 0.937684 0.938316 0.935789 0.935158 0.938316 0.937053 +0.935789 0.938316 0.940842 0.944632 0.945263 0.947158 0.956 0.969263 +0.981306 0.987184 0.984898 0.961684 0.900421 0.802526 0.692632 0.590947 +0.510105 0.365573 0.28416 0.22736 0.000893333 0.000773333 0.000813333 0.22736 +0.28416 0.251973 0.000833333 0.000666667 0.00062 0.000613333 0.000646667 0.0007 +0.0007 0.000673333 0.00068 0.000686667 0.000686667 0.000686667 0.000686667 0.000666667 +0.00066 0.000646667 0.000646667 0.000666667 0.00068 0.000673333 0.000653333 0.00066 +0.000646667 0.000633333 0.000653333 0.000646667 0.00066 0.00066 0.00064 0.000653333 +0.00068 0.000693333 0.000686667 0.000686667 0.0007 0.000693333 0.000673333 0.000666667 +0.000673333 0.000693333 0.000686667 0.00066 0.00068 0.00068 0.00068 0.00068 +0.000673333 0.000653333 0.000666667 0.000666667 0.000686667 0.000686667 0.000673333 0.000666667 +0.000693333 0.000686667 0.000686667 0.000653333 0.000633333 0.00066 0.00066 0.00068 +0.00068 0.000673333 0.00068 0.000673333 0.000693333 0.00068 0.00068 0.000706667 +0.000693333 0.000686667 0.000666667 0.000686667 0.000686667 0.000666667 0.00068 0.000673333 +0.00066 0.0007 0.000706667 0.0007 0.0007 0.000673333 0.00068 0.000726667 +0.000726667 0.0007 0.000706667 0.000686667 0.000693333 0.000713333 0.000706667 0.000713333 +0.000713333 0.000686667 0.000686667 0.000686667 0.00072 0.00072 0.00068 0.000653333 +0.000666667 0.000666667 0.000693333 0.00072 0.000713333 0.000713333 0.0007 0.000686667 +0.00068 0.00068 0.000686667 0.000673333 0.00066 0.000646667 0.00066 0.000653333 +0.000633333 0.000653333 0.000666667 0.000693333 0.0007 0.000666667 0.000653333 0.000686667 +0.000693333 0.0007 0.000713333 0.000706667 0.000693333 0.000673333 0.000673333 0.000686667 +0.0007 0.000693333 0.000686667 0.000673333 0.00066 0.00066 0.000666667 0.00068 +0.000693333 0.000686667 0.000653333 0.00064 0.00066 0.000673333 0.000673333 0.000666667 +0.00068 0.000666667 0.00064 0.000653333 0.00066 0.00068 0.000693333 0.000686667 +0.000666667 0.000646667 0.000646667 0.000666667 0.000673333 0.00068 0.00068 0.000646667 +0.000653333 0.00066 0.00064 0.00064 0.000646667 0.000646667 0.000626667 0.000606667 +0.000613333 0.000606667 0.0006 0.000626667 0.00064 0.000633333 0.000606667 0.000633333 +0.000653333 0.000646667 0.00064 0.000613333 0.00062 0.000626667 0.000606667 0.00062 +0.000633333 0.00064 0.000626667 0.00062 0.000593333 0.00058 0.000586667 0.000626667 +0.000613333 0.000606667 0.000633333 0.00062 0.0006 0.000566667 0.000573333 0.000606667 +0.0006 0.00058 0.000586667 0.00058 0.000586667 0.000613333 0.000606667 0.000613333 +0.000593333 0.000573333 0.00056 0.000533333 0.00056 0.000613333 0.000633333 0.00064 +0.00064 0.000653333 0.00068 0.00068 0.000673333 0.000686667 0.000713333 0.000686667 +0.0007 0.000826667 0.216 0.269013 0.327707 0.358 0.35232 0.34664 +0.371253 0.441307 0.517053 0.571368 0.641474 0.724211 0.803789 0.871368 +0.925053 0.963579 0.983592 0.990776 0.992408 0.991755 0.991429 0.987837 +0.983265 0.980653 0.976211 0.966105 0.954737 0.948421 0.945263 0.943368 +0.943368 0.942737 0.943368 0.945263 0.945895 0.942737 0.941474 0.941474 +0.938316 0.936421 0.936421 0.935789 0.932632 0.933263 0.940211 0.944 +0.944632 0.946526 0.946526 0.944 0.941474 0.942105 0.944632 0.944632 +0.945263 0.945895 0.947789 0.948421 0.946526 0.945895 0.947789 0.950316 +0.950947 0.949053 0.947158 0.945263 0.942737 0.940211 0.939579 0.940842 +0.940842 0.941474 0.941474 0.942737 0.945263 0.949053 0.954737 0.968632 +0.973053 0.957263 0.944632 0.944632 0.947158 0.951579 0.956632 0.956632 +0.954105 0.956 0.959789 0.962316 0.963579 0.961053 0.959789 0.957895 +0.949053 0.945895 0.946526 0.948421 0.950947 0.952211 0.949684 0.946526 +0.949053 0.950316 0.946526 0.945895 0.949684 0.952842 0.957263 0.957263 +0.953474 0.956 0.962947 0.979368 0.986204 0.978105 0.966737 0.960421 +0.954737 0.952211 0.953474 0.952842 0.949684 0.944632 0.944632 0.944 +0.942105 0.942105 0.943368 0.945895 0.943368 0.940211 0.946526 0.951579 +0.953474 0.950947 0.947789 0.944632 0.946526 0.950947 0.951579 0.954105 +0.955368 0.951579 0.947789 0.951579 0.954737 0.953474 0.951579 0.953474 +0.949684 0.951579 0.953474 0.951579 0.949684 0.947158 0.947789 0.945895 +0.945895 0.946526 0.944632 0.946526 0.948421 0.951579 0.950947 0.953474 +0.952842 0.952842 0.957263 0.957263 0.953474 0.952842 0.954737 0.951579 +0.949684 0.948421 0.951579 0.954737 0.958526 0.960421 0.958526 0.961053 +0.960421 0.959158 0.953474 0.952211 0.955368 0.953474 0.949684 0.952842 +0.952211 0.952211 0.952842 0.952842 0.955368 0.954105 0.953474 0.957895 +0.959158 0.953474 0.953474 0.950316 0.944632 0.945895 0.949053 0.950947 +0.948421 0.946526 0.946526 0.948421 0.950316 0.951579 0.951579 0.948421 +0.945263 0.946526 0.950316 0.951579 0.947158 0.948421 0.951579 0.951579 +0.953474 0.949684 0.945895 0.948421 0.954737 0.956632 0.957895 0.959158 +0.961053 0.961684 0.958526 0.958526 0.957895 0.955368 0.954105 0.957263 +0.961053 0.960421 0.954105 0.950947 0.947158 0.940842 0.939579 0.938947 +0.937684 0.939579 0.938316 0.935158 0.937053 0.938947 0.935789 0.935789 +0.940211 0.940842 0.938947 0.940842 0.940211 0.943368 0.945895 0.951579 +0.961684 0.978105 0.983592 0.985224 0.981959 0.949684 0.882737 0.785474 +0.670526 0.568842 0.48296 0.344747 0.257653 0.000933333 0.000846667 0.000926667 +0.263333 0.27848 0.000966667 0.000733333 0.000633333 0.000646667 0.00068 0.00068 +0.000686667 0.00068 0.000673333 0.00066 0.000666667 0.000673333 0.000653333 0.000653333 +0.000646667 0.000646667 0.00068 0.0007 0.000686667 0.000653333 0.00064 0.000673333 +0.000673333 0.000633333 0.000646667 0.000653333 0.000653333 0.000686667 0.00068 0.00066 +0.000653333 0.000666667 0.000686667 0.000706667 0.000713333 0.000686667 0.00064 0.000673333 +0.000713333 0.000726667 0.000686667 0.00064 0.000666667 0.0007 0.000693333 0.000686667 +0.00066 0.00066 0.00068 0.000693333 0.00068 0.00066 0.000666667 0.000666667 +0.000673333 0.00066 0.000673333 0.000666667 0.000673333 0.00068 0.00068 0.000706667 +0.000713333 0.000686667 0.000673333 0.00068 0.000733333 0.000713333 0.000693333 0.000713333 +0.0007 0.00066 0.000666667 0.000686667 0.000693333 0.000693333 0.000693333 0.000706667 +0.000713333 0.00072 0.00072 0.00072 0.000713333 0.0007 0.0007 0.000726667 +0.00072 0.000713333 0.000706667 0.00072 0.00074 0.000713333 0.0007 0.000713333 +0.000706667 0.0007 0.0007 0.000686667 0.00072 0.000733333 0.000733333 0.000733333 +0.0007 0.00068 0.00068 0.000686667 0.0007 0.000733333 0.00074 0.000706667 +0.000693333 0.000706667 0.000706667 0.000713333 0.000693333 0.00068 0.000693333 0.000706667 +0.00068 0.000653333 0.000633333 0.000653333 0.000686667 0.000693333 0.000673333 0.000686667 +0.00068 0.000666667 0.000666667 0.00068 0.000693333 0.000693333 0.000686667 0.0007 +0.0007 0.0007 0.000706667 0.000686667 0.000686667 0.000686667 0.000686667 0.000686667 +0.000706667 0.00072 0.000706667 0.0007 0.000686667 0.000686667 0.0007 0.00068 +0.0007 0.000706667 0.000693333 0.00068 0.000666667 0.000666667 0.000706667 0.0007 +0.000686667 0.000673333 0.000673333 0.000646667 0.00066 0.0007 0.0007 0.000686667 +0.00068 0.000693333 0.000666667 0.00066 0.00068 0.000673333 0.000646667 0.00062 +0.000626667 0.00062 0.000633333 0.000646667 0.000653333 0.000646667 0.000613333 0.000626667 +0.000633333 0.000626667 0.000646667 0.000633333 0.000633333 0.000626667 0.000613333 0.000633333 +0.00064 0.000633333 0.000646667 0.000646667 0.00062 0.000606667 0.000586667 0.000613333 +0.00062 0.000606667 0.000633333 0.00062 0.0006 0.00058 0.000593333 0.0006 +0.000613333 0.000626667 0.000606667 0.00058 0.000573333 0.000573333 0.000593333 0.00062 +0.000633333 0.00062 0.00062 0.0006 0.000613333 0.00062 0.000613333 0.000626667 +0.000633333 0.000646667 0.000666667 0.000686667 0.00068 0.000706667 0.000786667 0.000853333 +0.00096 0.253867 0.303093 0.34096 0.359893 0.371253 0.40344 0.5 +0.554316 0.630737 0.720421 0.806316 0.878316 0.935789 0.974316 0.986857 +0.987837 0.988163 0.986531 0.98 0.971789 0.969895 0.968 0.962947 +0.957263 0.954737 0.950947 0.946526 0.942737 0.941474 0.942105 0.942105 +0.943368 0.944632 0.942737 0.943368 0.947158 0.947789 0.945263 0.945263 +0.944632 0.942737 0.942105 0.942737 0.944632 0.942105 0.945263 0.950316 +0.950316 0.949684 0.951579 0.952211 0.950316 0.949053 0.950947 0.951579 +0.949684 0.949053 0.947789 0.947789 0.947158 0.949053 0.951579 0.954105 +0.956632 0.956 0.953474 0.950316 0.945895 0.942105 0.942105 0.946526 +0.948421 0.947158 0.945895 0.945895 0.949684 0.958526 0.969895 0.978737 +0.976211 0.962316 0.949684 0.949684 0.950947 0.950316 0.950947 0.950316 +0.950947 0.952842 0.953474 0.951579 0.954105 0.957263 0.962947 0.968632 +0.960421 0.950316 0.947158 0.943368 0.938947 0.937684 0.936421 0.932632 +0.933263 0.936421 0.933895 0.932 0.934526 0.935789 0.940211 0.940842 +0.942737 0.949684 0.962947 0.980653 0.983592 0.968 0.951579 0.949684 +0.947158 0.940211 0.937684 0.937684 0.939579 0.939579 0.937053 0.936421 +0.935789 0.935789 0.939579 0.938947 0.936421 0.935789 0.940842 0.943368 +0.940842 0.938316 0.940211 0.938316 0.937684 0.941474 0.939579 0.939579 +0.944632 0.946526 0.944632 0.949684 0.950316 0.948421 0.948421 0.949684 +0.944 0.944632 0.947158 0.946526 0.947158 0.945263 0.947158 0.946526 +0.947158 0.950947 0.949684 0.952211 0.956632 0.960421 0.959789 0.964842 +0.966105 0.961684 0.965474 0.965474 0.957263 0.957895 0.960421 0.953474 +0.951579 0.951579 0.957263 0.961053 0.961053 0.962316 0.960421 0.957895 +0.956632 0.956 0.950947 0.949053 0.950947 0.950316 0.948421 0.952211 +0.952211 0.952211 0.954737 0.957263 0.962316 0.966737 0.968632 0.969263 +0.967368 0.965474 0.967368 0.961684 0.959789 0.962947 0.964211 0.959789 +0.953474 0.950947 0.950947 0.949684 0.951579 0.953474 0.954105 0.949053 +0.946526 0.949684 0.955368 0.954105 0.950316 0.952211 0.950947 0.950947 +0.952211 0.949684 0.947789 0.950316 0.953474 0.955368 0.960421 0.959158 +0.954737 0.954737 0.956 0.954737 0.954737 0.954105 0.953474 0.957895 +0.963579 0.963579 0.959158 0.960421 0.958526 0.952211 0.949684 0.945263 +0.943368 0.944 0.941474 0.936421 0.937684 0.939579 0.937053 0.938316 +0.943368 0.939579 0.937053 0.940211 0.940842 0.938947 0.935789 0.938316 +0.947789 0.957895 0.964842 0.973684 0.982286 0.985224 0.978737 0.940211 +0.860632 0.757053 0.640842 0.542316 0.435627 0.308773 0.22168 0.000926667 +0.246293 0.29552 0.257653 0.000846667 0.000693333 0.000666667 0.000666667 0.000666667 +0.0007 0.00068 0.000646667 0.000673333 0.000693333 0.00068 0.000673333 0.00068 +0.000686667 0.0007 0.00072 0.000706667 0.000673333 0.000653333 0.000673333 0.000713333 +0.00068 0.00064 0.000666667 0.00068 0.00068 0.0007 0.00068 0.000633333 +0.000646667 0.00068 0.0007 0.000693333 0.000686667 0.00068 0.00066 0.000686667 +0.000693333 0.000693333 0.00068 0.000673333 0.00068 0.000673333 0.000666667 0.000666667 +0.00066 0.000653333 0.000693333 0.0007 0.000666667 0.000673333 0.000686667 0.000673333 +0.000673333 0.000673333 0.000693333 0.00068 0.00068 0.000706667 0.0007 0.000693333 +0.00068 0.000666667 0.000666667 0.00068 0.000746667 0.000726667 0.00068 0.00068 +0.000666667 0.000673333 0.000706667 0.000686667 0.000706667 0.000713333 0.000693333 0.00072 +0.000733333 0.000693333 0.00068 0.000706667 0.000686667 0.000693333 0.000686667 0.00068 +0.000693333 0.0007 0.000706667 0.00072 0.000713333 0.000693333 0.000693333 0.000693333 +0.00068 0.000706667 0.000706667 0.0007 0.000726667 0.00072 0.000713333 0.00072 +0.00074 0.00072 0.000693333 0.000693333 0.000693333 0.000686667 0.000713333 0.00072 +0.000713333 0.0007 0.000713333 0.000713333 0.000693333 0.00068 0.000686667 0.0007 +0.000693333 0.00068 0.000666667 0.00066 0.00068 0.000693333 0.000686667 0.000693333 +0.0007 0.000706667 0.000666667 0.000653333 0.000666667 0.00068 0.000666667 0.000666667 +0.000666667 0.000666667 0.000673333 0.000666667 0.00066 0.00066 0.00068 0.00066 +0.000646667 0.000666667 0.000686667 0.000706667 0.00068 0.000673333 0.0007 0.000673333 +0.000666667 0.000686667 0.000706667 0.000706667 0.0007 0.000686667 0.000693333 0.000693333 +0.0007 0.000686667 0.000693333 0.00066 0.000646667 0.00066 0.000673333 0.000673333 +0.000673333 0.000693333 0.00068 0.00066 0.000673333 0.00068 0.000686667 0.00066 +0.000646667 0.00062 0.000606667 0.000633333 0.000646667 0.000653333 0.00062 0.00064 +0.000646667 0.00064 0.00064 0.000646667 0.000653333 0.000633333 0.000633333 0.00064 +0.000626667 0.000626667 0.000633333 0.000646667 0.00064 0.000626667 0.000633333 0.000633333 +0.000613333 0.000613333 0.000626667 0.000626667 0.000606667 0.000573333 0.000573333 0.0006 +0.00062 0.000633333 0.00062 0.000613333 0.000613333 0.00058 0.000566667 0.0006 +0.000613333 0.00062 0.00062 0.00064 0.000693333 0.0007 0.000686667 0.000686667 +0.0007 0.00072 0.000746667 0.000786667 0.000833333 0.000913333 0.231147 0.269013 +0.316347 0.342853 0.354213 0.382613 0.441307 0.514526 0.579579 0.671789 +0.769053 0.855579 0.927579 0.974947 0.990122 0.992408 0.988816 0.982286 +0.970526 0.962947 0.958526 0.952842 0.951579 0.950316 0.947789 0.944632 +0.940842 0.940211 0.938947 0.939579 0.942105 0.942737 0.943368 0.945263 +0.945263 0.944632 0.943368 0.944632 0.947789 0.954105 0.957895 0.957895 +0.955368 0.952842 0.948421 0.949053 0.952842 0.953474 0.950947 0.953474 +0.955368 0.954105 0.954105 0.959789 0.965474 0.966105 0.964842 0.965474 +0.966105 0.968 0.967368 0.965474 0.962316 0.961684 0.962947 0.964211 +0.964211 0.962316 0.959158 0.954737 0.952211 0.951579 0.949053 0.947158 +0.952211 0.954737 0.954737 0.953474 0.954105 0.960421 0.971789 0.974947 +0.972421 0.966105 0.959158 0.955368 0.952211 0.950947 0.952211 0.950947 +0.950316 0.952211 0.952211 0.949684 0.950947 0.953474 0.961053 0.975579 +0.976842 0.966737 0.957895 0.950947 0.944 0.939579 0.938947 0.936421 +0.935158 0.937684 0.933895 0.932632 0.933895 0.934526 0.940211 0.943368 +0.948421 0.956 0.966737 0.973053 0.969263 0.958526 0.951579 0.950947 +0.950947 0.946526 0.942737 0.938316 0.938947 0.942105 0.941474 0.941474 +0.939579 0.937053 0.941474 0.942105 0.940842 0.941474 0.945263 0.946526 +0.941474 0.939579 0.942737 0.942737 0.940842 0.942737 0.940211 0.939579 +0.942737 0.946526 0.947158 0.950947 0.949053 0.949053 0.953474 0.955368 +0.949053 0.948421 0.948421 0.949684 0.952211 0.950947 0.952842 0.953474 +0.955368 0.961053 0.964842 0.964211 0.966105 0.969263 0.969895 0.968632 +0.967368 0.966737 0.968 0.966105 0.960421 0.962947 0.964842 0.959789 +0.956632 0.956632 0.960421 0.960421 0.957895 0.959158 0.959158 0.958526 +0.957263 0.957895 0.956632 0.956 0.955368 0.958526 0.962947 0.963579 +0.964842 0.973053 0.978737 0.981633 0.984571 0.986531 0.987837 0.98849 +0.986531 0.986204 0.987837 0.986857 0.990122 0.992735 0.993061 0.98849 +0.982939 0.978737 0.968 0.961684 0.959158 0.958526 0.956632 0.955368 +0.955368 0.958526 0.963579 0.964211 0.961053 0.957895 0.954737 0.954737 +0.954737 0.952211 0.950316 0.949684 0.947158 0.946526 0.950316 0.950316 +0.948421 0.952211 0.956632 0.957263 0.956 0.954737 0.954105 0.959789 +0.968632 0.969263 0.963579 0.964842 0.964211 0.964211 0.963579 0.956632 +0.955368 0.952842 0.947789 0.942737 0.940842 0.940211 0.939579 0.942737 +0.944632 0.943368 0.942105 0.944 0.945263 0.940211 0.935158 0.936421 +0.940842 0.944 0.950947 0.956632 0.963579 0.975579 0.980653 0.980653 +0.966737 0.92379 0.837263 0.721684 0.612421 0.520842 0.367467 0.274693 +0.265227 0.297413 0.304987 0.231147 0.000793333 0.000686667 0.000653333 0.000673333 +0.000706667 0.000673333 0.000666667 0.0007 0.000706667 0.0007 0.000693333 0.000693333 +0.000726667 0.000746667 0.000706667 0.000693333 0.000693333 0.000693333 0.00072 0.000713333 +0.00068 0.000666667 0.0007 0.000706667 0.000693333 0.000666667 0.000646667 0.000653333 +0.000673333 0.000673333 0.000673333 0.000646667 0.000646667 0.000706667 0.000706667 0.00068 +0.000646667 0.000666667 0.000693333 0.000673333 0.000646667 0.00064 0.000673333 0.000693333 +0.000673333 0.00066 0.0007 0.000686667 0.00066 0.000653333 0.00066 0.000673333 +0.00066 0.000673333 0.000686667 0.000673333 0.00068 0.000686667 0.000673333 0.000666667 +0.000653333 0.000646667 0.000666667 0.000666667 0.000693333 0.00068 0.00064 0.00064 +0.000673333 0.00068 0.000693333 0.000713333 0.00074 0.00072 0.000713333 0.000713333 +0.000706667 0.000686667 0.000686667 0.000713333 0.000686667 0.0007 0.000693333 0.000666667 +0.000686667 0.000726667 0.00072 0.000706667 0.000686667 0.000693333 0.0007 0.000713333 +0.000713333 0.00072 0.000693333 0.0007 0.000706667 0.000713333 0.000713333 0.000706667 +0.0007 0.0007 0.000693333 0.0007 0.000706667 0.000686667 0.000673333 0.0007 +0.000706667 0.000706667 0.000713333 0.00072 0.00072 0.000706667 0.0007 0.000693333 +0.000686667 0.000673333 0.000686667 0.000693333 0.000693333 0.000686667 0.000666667 0.00066 +0.00068 0.0007 0.0007 0.000686667 0.000686667 0.000686667 0.00068 0.000666667 +0.000666667 0.00066 0.000666667 0.000666667 0.000646667 0.00066 0.000693333 0.000693333 +0.00066 0.00064 0.00064 0.000666667 0.000666667 0.000646667 0.000673333 0.000673333 +0.000666667 0.00066 0.000653333 0.000666667 0.000686667 0.00068 0.00068 0.000666667 +0.000673333 0.00068 0.000686667 0.000673333 0.000646667 0.000646667 0.000666667 0.000653333 +0.000653333 0.000673333 0.000666667 0.000653333 0.000666667 0.000666667 0.000673333 0.000666667 +0.000673333 0.000646667 0.00062 0.000613333 0.000613333 0.000626667 0.000613333 0.00062 +0.00062 0.000613333 0.000626667 0.000626667 0.00064 0.000633333 0.000626667 0.00062 +0.000633333 0.000646667 0.000646667 0.000653333 0.000633333 0.000626667 0.000633333 0.000633333 +0.000633333 0.000653333 0.000646667 0.000626667 0.00064 0.00062 0.000606667 0.000573333 +0.000586667 0.000613333 0.000613333 0.000626667 0.00064 0.000613333 0.00058 0.000586667 +0.000633333 0.0007 0.000726667 0.00078 0.000866667 0.00088 0.000893333 0.000906667 +0.00092 0.000973333 0.225467 0.246293 0.269013 0.297413 0.31824 0.331493 +0.348533 0.376933 0.446987 0.536632 0.611158 0.705263 0.813263 0.902947 +0.959789 0.984245 0.989469 0.987837 0.982612 0.974947 0.965474 0.956632 +0.952211 0.948421 0.944 0.943368 0.944632 0.945895 0.945263 0.944 +0.943368 0.941474 0.940211 0.944 0.948421 0.948421 0.947158 0.948421 +0.947789 0.945895 0.947789 0.949684 0.950316 0.957263 0.961684 0.959789 +0.959789 0.960421 0.958526 0.959789 0.964211 0.971158 0.971789 0.971158 +0.976842 0.979368 0.976842 0.978737 0.984245 0.987837 0.988163 0.989143 +0.989143 0.98849 0.988163 0.987184 0.984898 0.983918 0.983918 0.982939 +0.981959 0.980653 0.974947 0.968 0.963579 0.962316 0.960421 0.957895 +0.957895 0.957263 0.957263 0.956632 0.954737 0.955368 0.961053 0.963579 +0.964211 0.966737 0.967368 0.962947 0.955368 0.950316 0.950947 0.954737 +0.952211 0.950947 0.952211 0.949053 0.950316 0.956 0.958526 0.969263 +0.979368 0.978105 0.972421 0.966737 0.958526 0.951579 0.950947 0.950316 +0.949053 0.951579 0.947158 0.945263 0.947158 0.949684 0.956 0.958526 +0.958526 0.956 0.957263 0.954737 0.952211 0.952211 0.955368 0.960421 +0.959158 0.952211 0.944 0.937684 0.938316 0.938316 0.938947 0.942105 +0.942737 0.942105 0.946526 0.947789 0.947158 0.948421 0.949053 0.948421 +0.946526 0.945895 0.944632 0.944632 0.944 0.945895 0.945895 0.944632 +0.942105 0.945263 0.945895 0.947789 0.950316 0.955368 0.962947 0.964842 +0.957895 0.956632 0.952842 0.952842 0.956 0.957263 0.959158 0.961053 +0.964211 0.972421 0.978105 0.975579 0.973684 0.971789 0.973053 0.973053 +0.972421 0.978105 0.980653 0.979368 0.977474 0.98 0.979368 0.975579 +0.971789 0.971789 0.970526 0.966737 0.962947 0.966737 0.970526 0.974947 +0.977474 0.981306 0.982286 0.984245 0.984245 0.985551 0.989143 0.989143 +0.990122 0.995347 0.998939 0.999918 1.0009 1.0009 1.00253 1.00449 +1.00286 1.00286 1.00645 1.012 1.01951 1.0231 1.02506 1.02245 +1.01624 1.00873 0.99698 0.989143 0.982286 0.976842 0.970526 0.969895 +0.971158 0.975579 0.982286 0.984898 0.982286 0.978105 0.976842 0.974947 +0.973053 0.968 0.960421 0.957895 0.952842 0.948421 0.950316 0.952211 +0.955368 0.961684 0.968632 0.973053 0.969263 0.964842 0.962316 0.964211 +0.971158 0.968632 0.957895 0.954105 0.956 0.959158 0.959789 0.959789 +0.961684 0.960421 0.956632 0.954105 0.952211 0.946526 0.941474 0.944 +0.945263 0.947158 0.949053 0.948421 0.947158 0.942737 0.940211 0.937053 +0.935789 0.938947 0.944 0.944 0.945895 0.952842 0.956 0.962316 +0.975579 0.979368 0.960421 0.899158 0.800632 0.677474 0.565053 0.479173 +0.350427 0.31256 0.327707 0.303093 0.219787 0.000773333 0.000673333 0.00064 +0.000653333 0.000686667 0.000693333 0.000693333 0.000693333 0.000693333 0.000693333 0.0007 +0.000733333 0.00072 0.00068 0.0007 0.000726667 0.0007 0.000686667 0.000693333 +0.000693333 0.00068 0.0007 0.00072 0.000673333 0.00064 0.000686667 0.00068 +0.00064 0.000633333 0.00066 0.00068 0.000693333 0.000713333 0.000673333 0.00064 +0.00066 0.000693333 0.00068 0.000633333 0.00062 0.000653333 0.0007 0.000693333 +0.000673333 0.000653333 0.000673333 0.00066 0.00064 0.000646667 0.000673333 0.00068 +0.000666667 0.000666667 0.000673333 0.000686667 0.000693333 0.000673333 0.00066 0.00068 +0.000686667 0.000673333 0.000673333 0.000666667 0.00068 0.000666667 0.00066 0.000666667 +0.00068 0.00068 0.000706667 0.00074 0.00074 0.000706667 0.0007 0.000686667 +0.000706667 0.0007 0.000686667 0.000693333 0.000673333 0.000706667 0.000713333 0.000693333 +0.0007 0.00072 0.0007 0.000686667 0.000693333 0.000713333 0.00072 0.000733333 +0.000713333 0.0007 0.000686667 0.000726667 0.000693333 0.000686667 0.000713333 0.000726667 +0.000693333 0.00068 0.000686667 0.000693333 0.0007 0.000706667 0.000693333 0.000686667 +0.00068 0.00068 0.00068 0.0007 0.000733333 0.00072 0.000713333 0.000706667 +0.000706667 0.000686667 0.000686667 0.000686667 0.0007 0.000706667 0.000686667 0.00066 +0.00066 0.000666667 0.00068 0.000706667 0.000693333 0.000673333 0.000673333 0.00068 +0.00068 0.000673333 0.000686667 0.00068 0.000653333 0.00064 0.00066 0.000686667 +0.000693333 0.000686667 0.000666667 0.00066 0.000666667 0.000646667 0.000653333 0.00066 +0.000666667 0.000673333 0.000666667 0.000653333 0.000666667 0.00066 0.00066 0.00068 +0.000673333 0.000653333 0.000673333 0.00068 0.00066 0.000653333 0.000686667 0.000673333 +0.00066 0.000666667 0.000666667 0.000653333 0.00066 0.00066 0.00066 0.000666667 +0.000666667 0.00064 0.000646667 0.000653333 0.00064 0.000653333 0.00064 0.000646667 +0.000633333 0.000626667 0.000633333 0.00064 0.00064 0.000626667 0.00062 0.000606667 +0.000613333 0.000646667 0.000646667 0.000633333 0.000626667 0.000613333 0.000613333 0.000606667 +0.000606667 0.000633333 0.000653333 0.000626667 0.000606667 0.00062 0.000633333 0.000633333 +0.000613333 0.000606667 0.000606667 0.00062 0.0006 0.0006 0.000646667 0.00072 +0.0008 0.00092 0.219787 0.2444 0.26144 0.26712 0.270907 0.27848 +0.286053 0.293627 0.293627 0.291733 0.303093 0.31256 0.31824 0.35232 +0.450773 0.537895 0.62 0.728632 0.834105 0.921263 0.98098 0.996653 +0.996653 0.98849 0.977474 0.962316 0.952842 0.949684 0.947789 0.944632 +0.944632 0.942737 0.943368 0.944632 0.943368 0.945263 0.947789 0.947158 +0.946526 0.946526 0.949053 0.954105 0.957263 0.957895 0.956632 0.957263 +0.958526 0.959158 0.962316 0.962947 0.962316 0.966737 0.973053 0.974947 +0.975579 0.98 0.983265 0.985551 0.988163 0.991102 0.992082 0.991755 +0.993714 0.99698 0.996653 0.99502 0.996 0.997959 0.997959 0.999918 +0.999918 0.999918 0.999918 0.998286 0.996 0.99502 0.993714 0.992408 +0.992735 0.991755 0.987837 0.983592 0.981306 0.976842 0.971158 0.967368 +0.964211 0.961684 0.958526 0.957263 0.955368 0.956 0.959789 0.960421 +0.960421 0.962947 0.965474 0.966105 0.964211 0.958526 0.954737 0.961053 +0.965474 0.966737 0.971158 0.968632 0.962316 0.966105 0.968 0.972421 +0.98098 0.983592 0.984571 0.985224 0.982612 0.977474 0.974947 0.973053 +0.969895 0.968 0.964842 0.963579 0.971158 0.974316 0.973053 0.964842 +0.958526 0.948421 0.942105 0.940211 0.940842 0.944 0.947789 0.953474 +0.955368 0.949684 0.942105 0.937053 0.938316 0.939579 0.940842 0.945895 +0.949053 0.945895 0.945263 0.946526 0.945263 0.948421 0.949684 0.947789 +0.947789 0.950316 0.949053 0.948421 0.946526 0.948421 0.949684 0.949053 +0.948421 0.952842 0.954105 0.955368 0.957895 0.962947 0.970526 0.968632 +0.964842 0.965474 0.957263 0.954737 0.960421 0.966737 0.970526 0.973053 +0.976211 0.981306 0.985224 0.983918 0.984245 0.984571 0.98751 0.991102 +0.992735 0.996 0.998612 0.997306 0.996327 0.996 0.994694 0.992408 +0.990776 0.990776 0.98849 0.983918 0.98 0.980327 0.982939 0.986204 +0.990449 0.995673 0.998286 1.0009 1.00253 1.00384 1.00678 1.00808 +1.00841 1.01069 1.01331 1.01396 1.01363 1.01167 1.01461 1.01722 +1.01494 1.01527 1.01918 1.02669 1.03322 1.03584 1.03845 1.03845 +1.03714 1.0329 1.02212 1.01102 0.999265 0.993714 0.990122 0.990122 +0.990122 0.991755 0.995673 0.998939 0.997306 0.995673 0.995673 0.994041 +0.991102 0.987184 0.982939 0.98098 0.973684 0.971158 0.972421 0.969895 +0.971158 0.977474 0.983918 0.985551 0.982286 0.980327 0.978105 0.974316 +0.971158 0.964211 0.954105 0.946526 0.945263 0.945263 0.945895 0.950316 +0.953474 0.955368 0.957895 0.962316 0.961684 0.955368 0.949684 0.949053 +0.947158 0.947789 0.950947 0.950316 0.948421 0.945895 0.944632 0.940842 +0.937684 0.938316 0.937684 0.937684 0.938947 0.936421 0.938316 0.947789 +0.957263 0.964211 0.974947 0.974316 0.938947 0.854316 0.740632 0.628842 +0.535368 0.416693 0.358 0.35232 0.30688 0.225467 0.000806667 0.000686667 +0.000646667 0.000693333 0.0007 0.000673333 0.000686667 0.000686667 0.000693333 0.000706667 +0.000713333 0.0007 0.000693333 0.000706667 0.000713333 0.000673333 0.000653333 0.00068 +0.00068 0.000646667 0.000653333 0.000673333 0.00066 0.000673333 0.00068 0.00062 +0.000606667 0.00066 0.0007 0.000686667 0.000666667 0.00068 0.00066 0.000646667 +0.00068 0.000673333 0.00064 0.00064 0.000666667 0.000673333 0.000673333 0.000653333 +0.000653333 0.000653333 0.000673333 0.000666667 0.00066 0.00068 0.00068 0.000686667 +0.000686667 0.00068 0.000673333 0.00068 0.000666667 0.000666667 0.000686667 0.000706667 +0.0007 0.000666667 0.000653333 0.000673333 0.000666667 0.000673333 0.000666667 0.000646667 +0.00066 0.000706667 0.000726667 0.000713333 0.000713333 0.00068 0.00066 0.000673333 +0.000693333 0.000666667 0.000673333 0.000673333 0.00068 0.000713333 0.00072 0.000686667 +0.00068 0.000686667 0.000686667 0.0007 0.00072 0.000726667 0.000726667 0.000706667 +0.000686667 0.0007 0.000706667 0.000726667 0.00072 0.0007 0.000713333 0.000733333 +0.000726667 0.000713333 0.0007 0.000693333 0.000693333 0.000693333 0.000706667 0.000713333 +0.000706667 0.000686667 0.000673333 0.000673333 0.000673333 0.00068 0.000686667 0.000706667 +0.000706667 0.000693333 0.000693333 0.000686667 0.000686667 0.000686667 0.000693333 0.000693333 +0.000666667 0.000646667 0.000653333 0.00068 0.00068 0.000666667 0.000666667 0.00066 +0.000653333 0.00066 0.000666667 0.000686667 0.000686667 0.000653333 0.000653333 0.000666667 +0.000666667 0.000666667 0.000673333 0.00068 0.00068 0.000653333 0.000646667 0.000646667 +0.000653333 0.000673333 0.000673333 0.000666667 0.00066 0.000653333 0.000633333 0.00066 +0.000673333 0.000646667 0.00066 0.000653333 0.00066 0.000666667 0.000686667 0.00068 +0.00066 0.000673333 0.000653333 0.000633333 0.00066 0.000673333 0.00066 0.000653333 +0.00066 0.000633333 0.000626667 0.00064 0.000646667 0.000653333 0.000613333 0.000626667 +0.000626667 0.000633333 0.000653333 0.000653333 0.000633333 0.00062 0.000626667 0.000626667 +0.00062 0.000633333 0.000633333 0.000626667 0.00062 0.000633333 0.00064 0.00062 +0.0006 0.000606667 0.00062 0.00062 0.000613333 0.0006 0.000606667 0.000626667 +0.000626667 0.00062 0.0006 0.000633333 0.000646667 0.000726667 0.000906667 0.23304 +0.257653 0.257653 0.248187 0.263333 0.265227 0.26144 0.257653 0.26144 +0.259547 0.25576 0.251973 0.25008 0.270907 0.314453 0.399653 0.529684 +0.623789 0.734947 0.844842 0.930105 0.98098 0.993061 0.993714 0.991102 +0.984571 0.969263 0.952211 0.944 0.943368 0.946526 0.945263 0.941474 +0.938316 0.937684 0.940842 0.945263 0.948421 0.950316 0.950947 0.950316 +0.950947 0.955368 0.961053 0.964211 0.966105 0.970526 0.972421 0.973684 +0.978105 0.978737 0.979368 0.981959 0.985551 0.988816 0.991755 0.995347 +0.997633 0.997959 0.999592 1.0009 1.00253 1.00318 1.00449 1.00482 +1.00384 1.00351 1.00514 1.0058 1.00547 1.00514 1.00416 1.00384 +1.00449 1.00384 1.00286 1.00188 1.00122 1.00122 0.999592 0.997306 +0.99698 0.996 0.994041 0.992408 0.989469 0.986204 0.984245 0.981959 +0.98 0.977474 0.970526 0.963579 0.959789 0.957895 0.960421 0.961053 +0.959789 0.961684 0.963579 0.965474 0.964842 0.964211 0.964211 0.969895 +0.977474 0.98098 0.986531 0.990122 0.987837 0.987837 0.98849 0.98751 +0.990122 0.991755 0.991755 0.992082 0.991102 0.987837 0.987184 0.985878 +0.983265 0.98098 0.978105 0.976842 0.983592 0.986857 0.985551 0.979368 +0.969263 0.956 0.944 0.941474 0.941474 0.943368 0.943368 0.945895 +0.946526 0.944632 0.944 0.940842 0.939579 0.940211 0.942737 0.948421 +0.951579 0.949053 0.945895 0.947158 0.946526 0.949053 0.951579 0.950947 +0.949684 0.950316 0.948421 0.947789 0.945263 0.945895 0.949053 0.951579 +0.953474 0.956632 0.957895 0.961053 0.963579 0.966105 0.974316 0.976211 +0.977474 0.980653 0.974947 0.975579 0.98 0.983265 0.987184 0.988816 +0.990122 0.992408 0.996 0.996653 0.998612 1.0022 1.00808 1.01069 +1.01135 1.01396 1.01494 1.01298 1.012 1.01102 1.00873 1.0071 +1.00645 1.00384 1.0009 0.99698 0.994367 0.994694 0.995347 0.995347 +0.997633 1.00188 1.00384 1.00678 1.00841 1.012 1.01527 1.01722 +1.01918 1.02082 1.0218 1.02278 1.0218 1.01984 1.0218 1.0218 +1.02147 1.02376 1.02408 1.02604 1.02931 1.03029 1.03029 1.03127 +1.0342 1.03355 1.02735 1.01984 1.01233 1.00939 1.00612 1.00547 +1.00416 1.00416 1.00514 1.00645 1.00612 1.00547 1.00547 1.00449 +1.0022 0.999918 0.997633 0.996 0.993714 0.993061 0.991429 0.989796 +0.989469 0.993061 0.996327 0.99502 0.991429 0.990449 0.989143 0.984571 +0.977474 0.971789 0.966105 0.958526 0.951579 0.947158 0.940842 0.941474 +0.940842 0.940842 0.946526 0.952211 0.955368 0.958526 0.959158 0.956632 +0.951579 0.948421 0.950316 0.947158 0.943368 0.944632 0.944632 0.942737 +0.937684 0.933895 0.932632 0.934526 0.935789 0.931368 0.930737 0.942105 +0.947789 0.945895 0.951579 0.966737 0.973053 0.956 0.904842 0.811368 +0.692 0.575789 0.5 0.40344 0.359893 0.316347 0.246293 0.00086 +0.000706667 0.000686667 0.0007 0.00068 0.000673333 0.0007 0.00072 0.000706667 +0.000693333 0.00072 0.000713333 0.000686667 0.00068 0.000653333 0.000673333 0.000713333 +0.000686667 0.00066 0.000673333 0.00068 0.000686667 0.000673333 0.000653333 0.000633333 +0.000653333 0.000693333 0.00068 0.000673333 0.00066 0.000686667 0.0007 0.00068 +0.00066 0.000653333 0.00066 0.000666667 0.000673333 0.00064 0.00066 0.00068 +0.00068 0.000686667 0.0007 0.00068 0.00066 0.000666667 0.000666667 0.00068 +0.000686667 0.000653333 0.00066 0.000673333 0.000673333 0.000666667 0.00066 0.000666667 +0.000653333 0.00064 0.00066 0.00068 0.000673333 0.000673333 0.000666667 0.000653333 +0.000693333 0.000733333 0.000706667 0.0007 0.0007 0.00066 0.000686667 0.000706667 +0.00068 0.000666667 0.00068 0.000693333 0.000713333 0.00072 0.000706667 0.00064 +0.000646667 0.00068 0.000713333 0.00072 0.0007 0.000666667 0.00068 0.000686667 +0.0007 0.000713333 0.00068 0.000686667 0.000693333 0.0007 0.000706667 0.000713333 +0.000706667 0.000726667 0.000733333 0.000713333 0.000706667 0.0007 0.000693333 0.000713333 +0.000733333 0.00074 0.000726667 0.000706667 0.000686667 0.00068 0.00068 0.000693333 +0.0007 0.0007 0.000693333 0.00068 0.000706667 0.000706667 0.000706667 0.0007 +0.000693333 0.000693333 0.000686667 0.00068 0.000686667 0.000686667 0.00068 0.000686667 +0.000693333 0.00068 0.00066 0.00066 0.000693333 0.000706667 0.000693333 0.0007 +0.000686667 0.000673333 0.000673333 0.000673333 0.00068 0.00066 0.000666667 0.000673333 +0.000653333 0.000646667 0.000646667 0.000673333 0.000686667 0.000693333 0.00066 0.000653333 +0.000653333 0.00066 0.00066 0.000673333 0.000653333 0.00064 0.000653333 0.00066 +0.000673333 0.00068 0.000653333 0.00064 0.00066 0.00066 0.000646667 0.00064 +0.000646667 0.00064 0.000626667 0.000633333 0.000626667 0.000626667 0.000606667 0.000606667 +0.00058 0.00058 0.000626667 0.000633333 0.00062 0.000613333 0.000626667 0.000633333 +0.000626667 0.000633333 0.000633333 0.000633333 0.00064 0.00064 0.00064 0.000653333 +0.00064 0.00064 0.000633333 0.000626667 0.000613333 0.000633333 0.000633333 0.000613333 +0.000633333 0.000646667 0.000653333 0.000686667 0.00082 0.231147 0.2728 0.259547 +0.234933 0.000986667 0.000913333 0.000906667 0.000886667 0.000886667 0.000873333 0.000866667 +0.000866667 0.000906667 0.22736 0.280373 0.37504 0.516421 0.607368 0.724842 +0.841053 0.932632 0.985551 0.993388 0.990122 0.982939 0.972421 0.964842 +0.957263 0.947789 0.940842 0.941474 0.944632 0.945263 0.943368 0.942737 +0.939579 0.939579 0.944 0.949684 0.955368 0.956 0.955368 0.957263 +0.961053 0.966737 0.971158 0.971158 0.972421 0.980327 0.985224 0.98751 +0.989143 0.990776 0.993061 0.996653 1.00024 1.00351 1.00612 1.00776 +1.00971 1.01004 1.01069 1.01069 1.01069 1.01069 1.00971 1.00939 +1.00743 1.00547 1.00449 1.00482 1.00612 1.00678 1.0058 1.00449 +1.00351 1.00253 1.0022 1.0022 1.0022 1.00253 1.00155 0.998612 +0.99698 0.99502 0.992735 0.991102 0.989796 0.98849 0.987837 0.986857 +0.984245 0.982939 0.981306 0.978105 0.973684 0.969895 0.967368 0.967368 +0.964842 0.966737 0.972421 0.973684 0.972421 0.972421 0.977474 0.982612 +0.986531 0.98849 0.993388 1.00122 1.00449 1.00482 1.00547 1.00482 +1.00612 1.00645 1.00384 1.0022 0.999918 0.99698 0.995673 0.996327 +0.994041 0.991755 0.992082 0.990122 0.992082 0.994367 0.993714 0.990449 +0.986531 0.981306 0.966737 0.957895 0.954737 0.952842 0.949684 0.947158 +0.945263 0.941474 0.941474 0.940842 0.939579 0.938947 0.943368 0.952211 +0.955368 0.954737 0.952842 0.954737 0.956 0.957263 0.958526 0.957263 +0.956 0.952842 0.945895 0.945263 0.944 0.944632 0.948421 0.954105 +0.959158 0.963579 0.966105 0.972421 0.976842 0.976211 0.982939 0.987837 +0.990122 0.993388 0.992408 0.994694 0.99698 0.99698 1.00057 1.00384 +1.00612 1.00808 1.012 1.01363 1.01559 1.01755 1.02278 1.02571 +1.02506 1.02604 1.02604 1.02376 1.02376 1.02212 1.0169 1.01233 +1.01135 1.00743 1.00384 1.00286 1.00122 1.00286 1.00482 1.00318 +1.00188 1.00482 1.00678 1.01102 1.01363 1.01755 1.02016 1.02147 +1.02376 1.02571 1.02669 1.02669 1.02539 1.02376 1.02473 1.02343 +1.02473 1.02735 1.02637 1.02637 1.02637 1.02506 1.02571 1.02833 +1.02931 1.02702 1.02539 1.0218 1.02016 1.01918 1.01527 1.01429 +1.01167 1.01102 1.01167 1.01135 1.01004 1.00906 1.00841 1.00776 +1.00645 1.0058 1.00384 1.00449 1.00547 1.00514 1.0022 1.00155 +1.00188 1.00351 1.00449 1.00286 1.00057 1.00057 0.998939 0.994041 +0.989143 0.986531 0.982939 0.977474 0.968632 0.960421 0.954105 0.950316 +0.945895 0.943368 0.944632 0.947158 0.947789 0.949684 0.954105 0.957895 +0.959789 0.957895 0.954737 0.948421 0.943368 0.943368 0.944 0.943368 +0.938316 0.932632 0.932 0.935158 0.933263 0.930105 0.930737 0.937684 +0.942737 0.940842 0.938316 0.944 0.955368 0.971789 0.975579 0.942737 +0.860632 0.743158 0.621895 0.529684 0.445093 0.388293 0.333387 0.257653 +0.000926667 0.000766667 0.000726667 0.000713333 0.000693333 0.000713333 0.000713333 0.00072 +0.000733333 0.00072 0.000693333 0.000666667 0.000686667 0.0007 0.0007 0.000706667 +0.0007 0.000706667 0.000713333 0.00072 0.000693333 0.000653333 0.00068 0.000686667 +0.000666667 0.000666667 0.000666667 0.000686667 0.000686667 0.000693333 0.000693333 0.000653333 +0.00066 0.00068 0.000666667 0.00064 0.000653333 0.000653333 0.000686667 0.000686667 +0.000673333 0.000666667 0.000673333 0.000673333 0.00066 0.00066 0.000666667 0.000673333 +0.000666667 0.000653333 0.000666667 0.000686667 0.000686667 0.00066 0.00064 0.000666667 +0.000673333 0.000666667 0.000686667 0.000706667 0.000693333 0.00068 0.0007 0.000706667 +0.000726667 0.000733333 0.000693333 0.000693333 0.000706667 0.000686667 0.00072 0.0007 +0.000673333 0.000686667 0.000693333 0.000713333 0.000713333 0.000686667 0.00068 0.000646667 +0.000673333 0.0007 0.000693333 0.000686667 0.000673333 0.000653333 0.000686667 0.000713333 +0.00072 0.000693333 0.000686667 0.000693333 0.000733333 0.000726667 0.000713333 0.0007 +0.000693333 0.000706667 0.00072 0.000713333 0.000713333 0.000726667 0.0007 0.000686667 +0.000706667 0.000713333 0.00072 0.000726667 0.000713333 0.000693333 0.000686667 0.000673333 +0.000673333 0.0007 0.000706667 0.0007 0.000706667 0.0007 0.000706667 0.000706667 +0.0007 0.000693333 0.000686667 0.000686667 0.000686667 0.000686667 0.00068 0.00068 +0.0007 0.000693333 0.000673333 0.00066 0.000653333 0.00066 0.000673333 0.000686667 +0.000693333 0.000693333 0.000706667 0.000693333 0.000686667 0.000673333 0.00068 0.0007 +0.000673333 0.000646667 0.000633333 0.000646667 0.00068 0.000686667 0.000666667 0.000653333 +0.00066 0.00066 0.000653333 0.000666667 0.000646667 0.000626667 0.00064 0.000646667 +0.00066 0.000686667 0.00068 0.000666667 0.00066 0.00066 0.000653333 0.000666667 +0.00068 0.00066 0.000653333 0.00066 0.000646667 0.000633333 0.000646667 0.000653333 +0.00062 0.000593333 0.000606667 0.000606667 0.00062 0.000626667 0.000633333 0.000626667 +0.00062 0.000633333 0.000633333 0.000626667 0.00064 0.00064 0.00066 0.000653333 +0.000646667 0.000666667 0.000666667 0.000646667 0.00062 0.000633333 0.00066 0.000646667 +0.00066 0.000653333 0.000673333 0.000826667 0.23872 0.28416 0.248187 0.00088 +0.000753333 0.000686667 0.000706667 0.000726667 0.000713333 0.00072 0.000726667 0.000793333 +0.00088 0.231147 0.322027 0.4716 0.577053 0.695789 0.822105 0.922526 +0.98 0.991755 0.990122 0.981633 0.967368 0.952842 0.946526 0.944 +0.941474 0.940211 0.941474 0.945263 0.949053 0.947789 0.944 0.943368 +0.946526 0.950316 0.951579 0.954737 0.958526 0.959158 0.959158 0.964211 +0.969895 0.974316 0.977474 0.980653 0.984571 0.98849 0.993061 0.996653 +0.999265 1.00253 1.00514 1.00743 1.00841 1.00808 1.01069 1.01135 +1.01102 1.01102 1.01233 1.01233 1.01135 1.01233 1.01167 1.00906 +1.00645 1.00449 1.00351 1.00286 1.0058 1.00743 1.00645 1.00678 +1.00743 1.00873 1.01037 1.01102 1.01004 1.00971 1.00808 1.00351 +0.999592 0.998939 0.995673 0.992408 0.992735 0.991755 0.990122 0.989469 +0.987184 0.985551 0.98849 0.991102 0.991102 0.990449 0.98849 0.98849 +0.986204 0.984898 0.986531 0.986204 0.985878 0.985551 0.986531 0.989143 +0.994041 0.997959 1.00188 1.00776 1.01331 1.01657 1.01853 1.01853 +1.01984 1.02049 1.01722 1.01494 1.01265 1.00841 1.00514 1.00612 +1.00416 1.00122 1.00286 1.0022 1.00122 0.999592 0.998612 0.999592 +1.00057 0.997959 0.989143 0.983265 0.978737 0.970526 0.964211 0.959158 +0.958526 0.951579 0.947158 0.946526 0.945263 0.944632 0.947789 0.955368 +0.957263 0.956 0.954737 0.956 0.957263 0.956632 0.956632 0.952211 +0.950316 0.949053 0.946526 0.949684 0.951579 0.955368 0.960421 0.963579 +0.973053 0.98098 0.982286 0.985224 0.98751 0.985224 0.987837 0.993714 +1.00024 1.00808 1.01331 1.02147 1.03029 1.03029 1.02506 1.02147 +1.02278 1.02506 1.02571 1.02669 1.02865 1.02669 1.02996 1.03224 +1.03127 1.03094 1.02931 1.02669 1.02669 1.02473 1.01984 1.01331 +1.012 1.00971 1.00678 1.00482 1.00286 1.00416 1.0071 1.00873 +1.00971 1.01069 1.01102 1.01527 1.01853 1.02147 1.0231 1.02441 +1.02637 1.02702 1.02702 1.02637 1.02441 1.02506 1.02604 1.02473 +1.02637 1.02833 1.02865 1.02833 1.02604 1.02376 1.02702 1.03029 +1.02898 1.02604 1.02735 1.02473 1.02278 1.02049 1.0182 1.0169 +1.01592 1.01755 1.01657 1.01429 1.01265 1.012 1.01135 1.00906 +1.00678 1.00482 1.00253 1.00482 1.00808 1.00678 1.00416 1.00449 +1.00482 1.00547 1.0058 1.00547 1.00645 1.0071 1.00482 1.00253 +1.00155 0.999265 0.993388 0.988163 0.982286 0.976211 0.976842 0.976211 +0.971158 0.964211 0.958526 0.957895 0.954105 0.945263 0.945263 0.951579 +0.958526 0.959158 0.957263 0.955368 0.952842 0.947158 0.944632 0.944 +0.942737 0.935789 0.933263 0.933263 0.930737 0.930737 0.935158 0.938316 +0.940842 0.941474 0.940211 0.936421 0.940842 0.952842 0.968632 0.976211 +0.960421 0.900421 0.794316 0.669895 0.561263 0.490533 0.39208 0.342853 +0.287947 0.000993333 0.000786667 0.000713333 0.00072 0.00072 0.0007 0.00072 +0.00074 0.000693333 0.000653333 0.000666667 0.000693333 0.000706667 0.000686667 0.000686667 +0.0007 0.000686667 0.000673333 0.000673333 0.000633333 0.000646667 0.000693333 0.000653333 +0.000626667 0.00066 0.000693333 0.000686667 0.000673333 0.00068 0.000666667 0.000653333 +0.00066 0.00066 0.00064 0.000626667 0.000666667 0.00068 0.000706667 0.0007 +0.000666667 0.000666667 0.00068 0.00068 0.000673333 0.000666667 0.000666667 0.000686667 +0.00068 0.000673333 0.000673333 0.00068 0.00068 0.000673333 0.00066 0.00068 +0.000686667 0.000666667 0.000666667 0.0007 0.00068 0.000673333 0.0007 0.0007 +0.000693333 0.000686667 0.000653333 0.000666667 0.000693333 0.000666667 0.000653333 0.00066 +0.00068 0.000686667 0.00068 0.00068 0.000666667 0.000653333 0.000686667 0.0007 +0.000686667 0.00066 0.00066 0.000666667 0.000686667 0.000693333 0.000693333 0.00072 +0.00072 0.0007 0.000746667 0.000746667 0.000713333 0.000733333 0.000726667 0.000706667 +0.000693333 0.000693333 0.000686667 0.00068 0.000693333 0.000713333 0.000713333 0.000713333 +0.000706667 0.000693333 0.000686667 0.000693333 0.000706667 0.00072 0.00072 0.00068 +0.000673333 0.000686667 0.00068 0.0007 0.000706667 0.000693333 0.0007 0.000693333 +0.000693333 0.000693333 0.00068 0.000673333 0.000673333 0.000673333 0.000686667 0.000673333 +0.000666667 0.000673333 0.00068 0.000686667 0.000666667 0.000646667 0.000646667 0.000653333 +0.000666667 0.000673333 0.000673333 0.000673333 0.000693333 0.000673333 0.000673333 0.0007 +0.0007 0.00068 0.000666667 0.00066 0.00068 0.00068 0.00066 0.000653333 +0.000666667 0.00068 0.000673333 0.00066 0.000646667 0.000633333 0.000653333 0.000646667 +0.00064 0.000646667 0.00066 0.00066 0.00066 0.000666667 0.000653333 0.00066 +0.00068 0.000673333 0.00066 0.000653333 0.00066 0.000653333 0.00066 0.00068 +0.000646667 0.000646667 0.000653333 0.000646667 0.000633333 0.000626667 0.00064 0.000646667 +0.00062 0.00062 0.00062 0.00062 0.000613333 0.00062 0.00064 0.000633333 +0.00062 0.000633333 0.00064 0.00064 0.00066 0.00066 0.000666667 0.00066 +0.00068 0.00068 0.00078 0.22736 0.274693 0.23304 0.000806667 0.000653333 +0.00064 0.000646667 0.00068 0.000686667 0.00068 0.000686667 0.00074 0.000873333 +0.253867 0.39208 0.542947 0.653474 0.780421 0.895368 0.971789 0.991102 +0.989469 0.980653 0.962316 0.952211 0.944632 0.940842 0.942737 0.940842 +0.939579 0.940842 0.945895 0.952211 0.956 0.955368 0.950316 0.947158 +0.950316 0.952842 0.955368 0.959158 0.961053 0.963579 0.968 0.973053 +0.978737 0.983265 0.986531 0.992082 0.997306 1.00024 1.00188 1.00449 +1.00743 1.00971 1.01102 1.01102 1.00971 1.00906 1.00939 1.01135 +1.01167 1.01069 1.00873 1.0071 1.00743 1.00939 1.01004 1.00906 +1.00776 1.00776 1.00906 1.01167 1.01494 1.01755 1.01624 1.01559 +1.01722 1.01853 1.01951 1.02016 1.01984 1.02016 1.01624 1.01037 +1.0071 1.00678 1.00351 0.998612 0.996653 0.99502 0.993714 0.993388 +0.992082 0.990776 0.991755 0.995673 0.996653 0.996653 0.997959 1.0009 +1.0009 0.997633 0.995347 0.993714 0.993061 0.991429 0.990776 0.991102 +0.993388 1.00024 1.00776 1.01363 1.01886 1.0231 1.02604 1.02637 +1.02637 1.02898 1.02669 1.02441 1.0231 1.01918 1.01527 1.01363 +1.01298 1.01069 1.01069 1.01069 1.00808 1.0022 0.999265 1.00449 +1.01004 1.00939 1.00188 0.99502 0.988816 0.984245 0.981306 0.980653 +0.982939 0.979368 0.973684 0.967368 0.964842 0.964211 0.961053 0.961684 +0.963579 0.961053 0.956632 0.955368 0.953474 0.949053 0.950947 0.950316 +0.948421 0.950947 0.952842 0.959158 0.966105 0.971789 0.976842 0.98 +0.983918 0.98849 0.98849 0.988163 0.987837 0.984571 0.984571 0.989796 +1.00188 1.01918 1.03649 1.05608 1.12543 1.12239 1.05543 1.03943 +1.0342 1.03355 1.03127 1.03159 1.03257 1.02898 1.03094 1.03257 +1.03159 1.0329 1.03159 1.02833 1.02833 1.02702 1.02278 1.01722 +1.01624 1.01298 1.01004 1.00776 1.00743 1.00841 1.00906 1.01102 +1.01298 1.01429 1.01559 1.01918 1.02278 1.02473 1.02473 1.02637 +1.02702 1.02767 1.02702 1.02441 1.02212 1.02408 1.02408 1.02212 +1.02278 1.02539 1.02539 1.02408 1.0218 1.0218 1.02376 1.02702 +1.02473 1.0231 1.02539 1.02408 1.02278 1.0218 1.01984 1.0169 +1.01853 1.02147 1.0182 1.01624 1.01527 1.01527 1.01429 1.012 +1.00971 1.0071 1.0058 1.00678 1.00808 1.0071 1.00645 1.00547 +1.00416 1.00416 1.00416 1.00514 1.00873 1.00971 1.00678 1.00449 +1.00482 1.00449 1.0022 0.995673 0.98849 0.985878 0.988163 0.989796 +0.989143 0.986531 0.981959 0.978105 0.968632 0.957895 0.955368 0.954737 +0.954105 0.953474 0.954737 0.957895 0.959789 0.957263 0.950947 0.945263 +0.945895 0.942737 0.938316 0.937684 0.934526 0.933895 0.938947 0.938316 +0.941474 0.944632 0.942737 0.937053 0.935789 0.940842 0.949053 0.958526 +0.973053 0.971789 0.928842 0.835368 0.706526 0.585895 0.506316 0.401547 +0.34096 0.282267 0.000966667 0.000773333 0.0007 0.000706667 0.0007 0.000686667 +0.0007 0.00068 0.000666667 0.000666667 0.00068 0.000686667 0.000686667 0.0007 +0.000713333 0.000653333 0.000633333 0.000653333 0.000666667 0.00068 0.000686667 0.000653333 +0.000646667 0.00072 0.000726667 0.00068 0.000686667 0.0007 0.000706667 0.000686667 +0.00066 0.000653333 0.000653333 0.000666667 0.000693333 0.000713333 0.000706667 0.00068 +0.000673333 0.00068 0.000666667 0.00066 0.000673333 0.000646667 0.000653333 0.000693333 +0.000693333 0.000666667 0.000646667 0.000653333 0.00066 0.000693333 0.00068 0.000686667 +0.000673333 0.00066 0.000673333 0.000693333 0.00068 0.000686667 0.000686667 0.000666667 +0.00066 0.00066 0.000646667 0.000666667 0.000666667 0.000646667 0.00068 0.000706667 +0.000706667 0.00068 0.000653333 0.000653333 0.000693333 0.000706667 0.0007 0.0007 +0.00068 0.000673333 0.000713333 0.0007 0.000706667 0.000706667 0.00068 0.000706667 +0.00072 0.000713333 0.000746667 0.000733333 0.000693333 0.000693333 0.0007 0.0007 +0.000693333 0.00068 0.000673333 0.000666667 0.000666667 0.00066 0.00068 0.000693333 +0.0007 0.0007 0.00068 0.000673333 0.000666667 0.00068 0.000706667 0.000686667 +0.00068 0.000693333 0.000673333 0.000653333 0.00066 0.00068 0.0007 0.0007 +0.000686667 0.000693333 0.000693333 0.000666667 0.000673333 0.00068 0.000693333 0.00068 +0.00066 0.000653333 0.00066 0.00066 0.000673333 0.00068 0.00068 0.000666667 +0.000666667 0.000666667 0.000653333 0.000653333 0.000673333 0.000666667 0.00066 0.00068 +0.000686667 0.00068 0.000686667 0.000686667 0.000693333 0.000686667 0.00068 0.00066 +0.00066 0.000686667 0.000693333 0.0007 0.000686667 0.00066 0.000666667 0.000673333 +0.000673333 0.000666667 0.000646667 0.000646667 0.00068 0.0007 0.000686667 0.000653333 +0.000653333 0.00066 0.00066 0.000633333 0.00064 0.00066 0.00066 0.000646667 +0.000633333 0.000646667 0.000673333 0.000673333 0.00064 0.000606667 0.000626667 0.000646667 +0.000666667 0.000646667 0.000626667 0.000646667 0.00064 0.00064 0.00066 0.000666667 +0.000653333 0.000633333 0.000633333 0.000646667 0.00068 0.00068 0.00068 0.000686667 +0.000693333 0.00072 0.000973333 0.27848 0.246293 0.000793333 0.000626667 0.000626667 +0.000646667 0.00066 0.000706667 0.000713333 0.000733333 0.00082 0.217893 0.316347 +0.49432 0.599158 0.733053 0.864421 0.956632 0.989143 0.991755 0.984245 +0.971158 0.955368 0.946526 0.945895 0.945895 0.949053 0.954105 0.954737 +0.951579 0.949684 0.952211 0.953474 0.952842 0.952211 0.951579 0.951579 +0.954737 0.958526 0.963579 0.969895 0.973053 0.977474 0.981959 0.984898 +0.987837 0.992408 0.997633 1.00253 1.00547 1.00743 1.00906 1.01004 +1.01069 1.01069 1.01233 1.01331 1.01102 1.01004 1.01004 1.01069 +1.012 1.01037 1.00906 1.00906 1.00971 1.01069 1.01265 1.01461 +1.01788 1.01886 1.01984 1.02147 1.02245 1.02441 1.02604 1.02539 +1.02376 1.02408 1.02376 1.02343 1.02343 1.02376 1.02376 1.01984 +1.01396 1.01069 1.00776 1.00188 0.998286 0.996653 0.996327 0.995347 +0.996327 0.996 0.994367 0.994367 0.994041 0.994041 0.996 1.00057 +1.00286 1.0009 0.998939 0.996653 0.995347 0.994367 0.992408 0.992735 +0.996 1.00416 1.01363 1.02114 1.02571 1.02833 1.03029 1.03192 +1.03094 1.0329 1.03061 1.02669 1.02735 1.02702 1.02441 1.02082 +1.02082 1.01984 1.01755 1.01494 1.00971 1.00253 0.998612 1.0058 +1.012 1.00776 1.00057 0.994041 0.988816 0.985551 0.983918 0.986204 +0.992082 0.997306 1.00351 1.00776 1.00873 1.0022 0.992408 0.986857 +0.983265 0.979368 0.971789 0.968632 0.966105 0.960421 0.962316 0.965474 +0.968 0.972421 0.972421 0.979368 0.985551 0.987184 0.990449 0.991429 +0.991429 0.990776 0.985878 0.983918 0.981633 0.974947 0.974947 0.983592 +1.0022 1.02996 1.05673 1.14369 1.19847 1.16195 1.06609 1.044 +1.03584 1.03453 1.03322 1.0329 1.03322 1.02996 1.03029 1.03159 +1.03192 1.03322 1.03224 1.02931 1.02898 1.02735 1.02278 1.01788 +1.0169 1.01429 1.01102 1.00776 1.00841 1.00971 1.00939 1.00939 +1.01037 1.01331 1.01592 1.01918 1.02245 1.02473 1.02343 1.02376 +1.02441 1.02604 1.02571 1.0231 1.02147 1.02278 1.02147 1.01918 +1.01984 1.0218 1.02376 1.02245 1.02082 1.02049 1.0218 1.02343 +1.02114 1.02082 1.02082 1.01951 1.02082 1.02114 1.01951 1.01755 +1.02049 1.02049 1.01657 1.01592 1.01429 1.01461 1.01265 1.01167 +1.01167 1.00808 1.00678 1.00645 1.0058 1.00514 1.00645 1.0058 +1.0058 1.00514 1.00514 1.0071 1.00873 1.00808 1.00416 1.00122 +1.00155 1.00318 1.00286 0.998612 0.994694 0.991429 0.990449 0.994041 +0.997959 0.997959 0.994694 0.990776 0.984898 0.981633 0.979368 0.973053 +0.967368 0.962947 0.956632 0.954737 0.958526 0.962947 0.961684 0.954105 +0.949684 0.948421 0.942105 0.936421 0.934526 0.933263 0.935158 0.936421 +0.940842 0.942737 0.939579 0.937684 0.939579 0.939579 0.935158 0.937684 +0.951579 0.968632 0.972421 0.945263 0.865684 0.742526 0.616211 0.517684 +0.3864 0.3296 0.282267 0.000986667 0.000793333 0.000726667 0.00072 0.000693333 +0.000686667 0.000713333 0.00072 0.000693333 0.00068 0.000733333 0.000733333 0.000693333 +0.000686667 0.000666667 0.000666667 0.000693333 0.000706667 0.000686667 0.000686667 0.000673333 +0.000686667 0.000693333 0.000673333 0.000686667 0.000713333 0.000706667 0.000693333 0.000666667 +0.000653333 0.00066 0.000666667 0.00068 0.0007 0.000693333 0.00066 0.000653333 +0.000673333 0.000666667 0.000653333 0.00066 0.000686667 0.000673333 0.000673333 0.000693333 +0.000673333 0.00066 0.000646667 0.000673333 0.0007 0.000706667 0.000686667 0.000693333 +0.000673333 0.000653333 0.000686667 0.0007 0.00068 0.000666667 0.00066 0.000666667 +0.00068 0.000673333 0.000666667 0.000686667 0.000673333 0.00068 0.000726667 0.000713333 +0.000686667 0.000673333 0.00068 0.000693333 0.000746667 0.00072 0.00068 0.00068 +0.000686667 0.000706667 0.000713333 0.000706667 0.000693333 0.0007 0.000686667 0.00072 +0.000746667 0.00074 0.00072 0.00068 0.00072 0.000713333 0.000706667 0.0007 +0.000713333 0.0007 0.0007 0.00068 0.000673333 0.00066 0.00066 0.000666667 +0.000666667 0.000693333 0.000693333 0.0007 0.000693333 0.000673333 0.000673333 0.000673333 +0.000673333 0.000693333 0.000706667 0.00068 0.000653333 0.00066 0.000673333 0.000706667 +0.000706667 0.000693333 0.0007 0.000693333 0.00068 0.00068 0.000693333 0.000693333 +0.000693333 0.00068 0.000666667 0.00066 0.000653333 0.000666667 0.00068 0.000686667 +0.000686667 0.00068 0.00066 0.00066 0.000666667 0.000673333 0.000666667 0.000673333 +0.000666667 0.000653333 0.000666667 0.000666667 0.000666667 0.000666667 0.00068 0.00066 +0.000666667 0.000673333 0.000653333 0.000673333 0.000693333 0.000666667 0.00066 0.000673333 +0.00068 0.000693333 0.000666667 0.000633333 0.00064 0.000653333 0.00066 0.000673333 +0.000666667 0.000646667 0.00064 0.000626667 0.000606667 0.000606667 0.000626667 0.000626667 +0.00062 0.000633333 0.000646667 0.00066 0.000646667 0.000633333 0.000633333 0.000626667 +0.000633333 0.000653333 0.000633333 0.000633333 0.000646667 0.000666667 0.000666667 0.000666667 +0.000673333 0.000673333 0.000633333 0.000626667 0.000646667 0.00066 0.000646667 0.000666667 +0.000706667 0.00084 0.251973 0.26712 0.000893333 0.00066 0.000593333 0.000626667 +0.000666667 0.000693333 0.000733333 0.000746667 0.000813333 0.240613 0.39208 0.548632 +0.671158 0.808211 0.919368 0.982286 0.992735 0.987837 0.976842 0.965474 +0.958526 0.949053 0.946526 0.948421 0.952842 0.959158 0.964211 0.968 +0.963579 0.957263 0.955368 0.954105 0.954105 0.957263 0.963579 0.968 +0.968632 0.975579 0.983592 0.98751 0.989469 0.991429 0.99502 0.997959 +1.00024 1.0022 1.00449 1.0071 1.00906 1.00971 1.01037 1.01167 +1.01167 1.01102 1.01102 1.01135 1.012 1.012 1.01004 1.01069 +1.01363 1.01396 1.01363 1.01559 1.01624 1.01657 1.01951 1.02147 +1.0231 1.02376 1.02473 1.02604 1.02506 1.02441 1.02604 1.028 +1.02669 1.02571 1.02571 1.02702 1.02669 1.02473 1.02506 1.02343 +1.01755 1.01135 1.0071 1.00253 0.997633 0.997306 0.997959 0.997306 +0.997633 0.997959 0.99502 0.991755 0.990776 0.992408 0.994041 0.996653 +0.998939 0.996327 0.993714 0.990776 0.989469 0.989796 0.990122 0.992735 +0.998286 1.00776 1.0169 1.02212 1.02506 1.02865 1.03061 1.0329 +1.03192 1.03192 1.03094 1.02702 1.02637 1.02637 1.02441 1.0231 +1.0231 1.02147 1.0182 1.01461 1.00906 1.00286 1.00057 1.0071 +1.01102 1.0022 0.990449 0.983918 0.978105 0.977474 0.976211 0.980327 +0.990776 1.01396 1.05053 1.19542 1.26846 1.17716 1.0551 1.03355 +1.0169 1.00678 1.00024 0.99698 0.993714 0.990449 0.990776 0.991429 +0.993714 0.999265 0.999918 1.00384 1.01004 1.01037 1.01037 1.00612 +1.00253 0.995347 0.983592 0.981633 0.982939 0.975579 0.972421 0.982612 +1.00514 1.04237 1.11934 1.16195 1.14369 1.0813 1.04955 1.03943 +1.03322 1.03355 1.03453 1.03453 1.0329 1.02833 1.02767 1.02963 +1.03127 1.03192 1.02996 1.02767 1.028 1.02637 1.0218 1.01853 +1.01755 1.01559 1.01396 1.00939 1.00808 1.00971 1.01102 1.01298 +1.01331 1.01624 1.01853 1.02147 1.02441 1.02669 1.02571 1.02571 +1.02571 1.02702 1.02506 1.02114 1.02016 1.02212 1.01951 1.01886 +1.01853 1.01886 1.02082 1.02016 1.01788 1.01788 1.02049 1.02114 +1.0182 1.01788 1.01853 1.01886 1.0182 1.01788 1.0182 1.01722 +1.01788 1.01788 1.01559 1.01331 1.01102 1.012 1.01069 1.00808 +1.00678 1.00449 1.00351 1.00318 1.0022 1.00188 1.00253 1.00253 +1.00384 1.00384 1.0058 1.00743 1.00645 1.00449 1.00057 0.998612 +0.999265 0.999918 0.999918 0.998286 0.996327 0.990122 0.986531 0.993061 +0.999592 1.00122 1.0009 0.999265 0.996 0.993714 0.991102 0.987837 +0.986204 0.981633 0.970526 0.962947 0.961053 0.962947 0.966737 0.963579 +0.956632 0.953474 0.947789 0.938947 0.935158 0.934526 0.933263 0.937684 +0.940211 0.939579 0.937684 0.938947 0.942105 0.939579 0.932 0.935158 +0.943368 0.952211 0.966105 0.978105 0.961684 0.896 0.781053 0.644 +0.529053 0.405333 0.337173 0.286053 0.223573 0.000833333 0.00074 0.0007 +0.00068 0.00072 0.000713333 0.000693333 0.000706667 0.000726667 0.000713333 0.00066 +0.00066 0.00068 0.000666667 0.00068 0.000686667 0.00068 0.00068 0.000653333 +0.000653333 0.000633333 0.00066 0.0007 0.000693333 0.000646667 0.00064 0.000646667 +0.000633333 0.000653333 0.000653333 0.000673333 0.000673333 0.000646667 0.000653333 0.00066 +0.00064 0.000646667 0.000673333 0.000666667 0.000653333 0.000666667 0.000666667 0.000666667 +0.000666667 0.000673333 0.000673333 0.000686667 0.0007 0.000673333 0.000646667 0.000666667 +0.00066 0.000653333 0.000693333 0.00068 0.00068 0.000673333 0.00064 0.000673333 +0.00066 0.00064 0.00066 0.000686667 0.000693333 0.000706667 0.0007 0.000673333 +0.00068 0.00068 0.00072 0.000733333 0.00072 0.000693333 0.00068 0.000693333 +0.0007 0.0007 0.000693333 0.000706667 0.000706667 0.000733333 0.00076 0.000753333 +0.000733333 0.0007 0.000686667 0.0007 0.000713333 0.000693333 0.000706667 0.000706667 +0.000686667 0.000693333 0.000706667 0.000706667 0.0007 0.000673333 0.000653333 0.00066 +0.000653333 0.00066 0.000666667 0.000686667 0.000693333 0.000693333 0.000706667 0.000693333 +0.000666667 0.000673333 0.000686667 0.000693333 0.000693333 0.000686667 0.00068 0.00068 +0.00068 0.000693333 0.0007 0.000713333 0.00072 0.00068 0.000686667 0.000693333 +0.00068 0.000686667 0.0007 0.0007 0.00068 0.000653333 0.00066 0.000666667 +0.00068 0.0007 0.000693333 0.000673333 0.000653333 0.000633333 0.000633333 0.000653333 +0.000653333 0.000633333 0.000646667 0.00064 0.000646667 0.000666667 0.000673333 0.000653333 +0.00064 0.000646667 0.000633333 0.00064 0.000646667 0.000646667 0.000646667 0.000653333 +0.00066 0.000666667 0.00066 0.000646667 0.000633333 0.000633333 0.000646667 0.00066 +0.000666667 0.000653333 0.00064 0.000646667 0.000633333 0.000613333 0.000613333 0.000613333 +0.0006 0.000606667 0.00062 0.000626667 0.00062 0.00062 0.00062 0.000626667 +0.000633333 0.000633333 0.000633333 0.00064 0.000633333 0.00066 0.00068 0.00066 +0.000653333 0.00068 0.000646667 0.000626667 0.00064 0.000673333 0.00066 0.00066 +0.00072 0.000973333 0.276587 0.22736 0.000746667 0.00064 0.000626667 0.00066 +0.000693333 0.000746667 0.00086 0.000993333 0.28416 0.467813 0.595368 0.733684 +0.868211 0.961053 0.98849 0.988163 0.980653 0.966737 0.960421 0.961684 +0.958526 0.949053 0.947158 0.950947 0.957263 0.960421 0.961053 0.964211 +0.964842 0.963579 0.962947 0.964842 0.972421 0.981306 0.986204 0.988816 +0.988163 0.989143 0.994367 0.999265 1.00188 1.00318 1.00547 1.00776 +1.00906 1.01004 1.00971 1.01004 1.01102 1.01037 1.01004 1.00971 +1.01069 1.01167 1.01135 1.01069 1.01233 1.01363 1.01233 1.01298 +1.01722 1.02147 1.02343 1.02506 1.02539 1.02376 1.02408 1.02539 +1.02571 1.02571 1.02571 1.02669 1.02604 1.02441 1.02473 1.02637 +1.02637 1.02571 1.02604 1.02767 1.02833 1.02735 1.028 1.02669 +1.02212 1.01527 1.01004 1.00612 1.00122 0.998939 0.998612 0.997306 +0.99698 0.996327 0.996327 0.994694 0.993714 0.994367 0.994367 0.99502 +0.996653 0.995673 0.993714 0.990776 0.98751 0.988163 0.990122 0.994367 +0.999592 1.00743 1.01657 1.02147 1.02245 1.02441 1.02604 1.02963 +1.03029 1.02865 1.02767 1.02473 1.02343 1.0231 1.02082 1.02049 +1.0231 1.02376 1.02082 1.01886 1.01429 1.00808 1.00645 1.01004 +1.01037 0.997306 0.982286 0.967368 0.957895 0.954737 0.954105 0.961684 +0.983918 1.02343 1.20912 1.54844 1.70516 1.62908 1.45866 1.27759 +1.12695 1.05837 1.05576 1.05347 1.04824 1.04269 1.04139 1.04041 +1.04335 1.04988 1.04955 1.05576 1.1026 1.11021 1.07826 1.05249 +1.04139 1.02278 0.995673 0.982939 0.981306 0.978105 0.975579 0.978737 +0.996327 1.03551 1.1026 1.12239 1.07826 1.05086 1.03943 1.03322 +1.02963 1.03029 1.03159 1.03388 1.03224 1.02604 1.02669 1.02898 +1.03061 1.03094 1.03094 1.028 1.02702 1.028 1.02343 1.02049 +1.01788 1.01461 1.01233 1.00873 1.00808 1.00906 1.01135 1.01396 +1.01429 1.01592 1.01951 1.02212 1.02376 1.02539 1.02571 1.02441 +1.02473 1.02571 1.02441 1.02049 1.01918 1.02212 1.02049 1.01886 +1.01853 1.01951 1.01788 1.01559 1.01363 1.01494 1.01755 1.01755 +1.01657 1.01559 1.0169 1.0182 1.01722 1.01592 1.01461 1.01331 +1.012 1.01233 1.012 1.00906 1.00678 1.00808 1.0071 1.00384 +1.00188 1.00024 0.999592 0.998939 0.997959 0.997633 0.997306 0.998939 +0.999592 0.998612 0.999918 0.999918 0.999265 0.998286 0.997633 0.997633 +0.997633 0.998612 0.997959 0.998612 0.99698 0.988816 0.985224 0.992082 +0.996327 0.998286 1.00057 1.0009 1.00122 1.00122 1.00024 0.998286 +0.997959 0.994694 0.988816 0.984571 0.98098 0.973684 0.971158 0.970526 +0.962947 0.959789 0.959158 0.952842 0.947789 0.942105 0.937053 0.938947 +0.940842 0.938316 0.938947 0.938947 0.939579 0.940842 0.942737 0.946526 +0.951579 0.954737 0.959158 0.968 0.978737 0.971158 0.92 0.812 +0.668 0.546105 0.43184 0.333387 0.28416 0.234933 0.000866667 0.00072 +0.000693333 0.00072 0.000726667 0.00072 0.000713333 0.000713333 0.000706667 0.000673333 +0.000673333 0.000666667 0.000653333 0.00068 0.000693333 0.000693333 0.00068 0.000626667 +0.00064 0.00068 0.000706667 0.000693333 0.00066 0.00064 0.000673333 0.00068 +0.000653333 0.000666667 0.00066 0.000673333 0.000673333 0.00066 0.00066 0.000646667 +0.000626667 0.000666667 0.00068 0.000666667 0.00066 0.00066 0.00066 0.00068 +0.000686667 0.00068 0.000673333 0.000666667 0.000673333 0.000673333 0.00066 0.000666667 +0.00068 0.000666667 0.000686667 0.000666667 0.000666667 0.000666667 0.00064 0.000653333 +0.00066 0.000666667 0.000686667 0.000706667 0.0007 0.000693333 0.000666667 0.000673333 +0.000693333 0.000706667 0.00076 0.000726667 0.000693333 0.000686667 0.000706667 0.00072 +0.000706667 0.000686667 0.000706667 0.000726667 0.000746667 0.000746667 0.000746667 0.000706667 +0.00066 0.00068 0.00072 0.00074 0.000713333 0.000713333 0.000726667 0.00072 +0.0007 0.000693333 0.000713333 0.00072 0.000713333 0.000713333 0.000706667 0.0007 +0.0007 0.0007 0.00068 0.000673333 0.00066 0.00068 0.000706667 0.000706667 +0.000693333 0.000686667 0.00068 0.000673333 0.000693333 0.0007 0.000686667 0.000686667 +0.000666667 0.000673333 0.00068 0.00068 0.0007 0.000693333 0.000693333 0.00068 +0.000673333 0.000686667 0.0007 0.000713333 0.000706667 0.000686667 0.000673333 0.000666667 +0.000646667 0.00066 0.000693333 0.0007 0.000693333 0.00068 0.000653333 0.000653333 +0.00066 0.000666667 0.00066 0.000646667 0.000666667 0.000673333 0.00068 0.000666667 +0.00066 0.000666667 0.00068 0.00068 0.000666667 0.00066 0.000646667 0.00066 +0.000666667 0.000673333 0.000673333 0.000653333 0.000666667 0.000673333 0.000686667 0.000666667 +0.000653333 0.000646667 0.00066 0.000673333 0.000653333 0.000633333 0.000646667 0.000646667 +0.00062 0.00062 0.000633333 0.000653333 0.000646667 0.000613333 0.0006 0.0006 +0.00062 0.000626667 0.000626667 0.000633333 0.000633333 0.00066 0.00068 0.000666667 +0.000666667 0.000666667 0.000666667 0.00066 0.00066 0.000666667 0.000686667 0.000713333 +0.000813333 0.2444 0.26712 0.000886667 0.000673333 0.000613333 0.000633333 0.000693333 +0.000753333 0.00088 0.246293 0.361787 0.528421 0.650316 0.798105 0.921895 +0.983265 0.989469 0.982286 0.966105 0.954737 0.952211 0.956632 0.959789 +0.953474 0.947158 0.950947 0.955368 0.958526 0.959158 0.957895 0.960421 +0.968632 0.978737 0.982612 0.985878 0.990449 0.996 0.998612 1.00024 +1.00122 1.0009 1.00253 1.00482 1.00841 1.00873 1.00906 1.00939 +1.01233 1.01331 1.01265 1.01298 1.01265 1.01233 1.01233 1.01167 +1.01102 1.01135 1.01233 1.01331 1.01657 1.01918 1.01984 1.02049 +1.02343 1.02539 1.02669 1.02833 1.02931 1.02669 1.02506 1.02506 +1.02604 1.02637 1.02604 1.02539 1.02441 1.02408 1.02571 1.02637 +1.02767 1.02767 1.02702 1.02735 1.02865 1.02898 1.028 1.02669 +1.02343 1.01788 1.01298 1.01004 1.00482 1.00024 0.997306 0.996653 +0.997633 0.99698 0.994694 0.991102 0.988816 0.990449 0.992408 0.991429 +0.991429 0.992408 0.992408 0.991755 0.990449 0.991755 0.993714 0.997306 +1.00253 1.00743 1.01527 1.02114 1.02408 1.02702 1.02767 1.02702 +1.02833 1.02767 1.02735 1.02343 1.02049 1.02114 1.02082 1.01853 +1.02082 1.02539 1.02473 1.02408 1.0218 1.01559 1.01135 1.01102 +1.0058 0.993714 0.979368 0.959158 0.947789 0.940211 0.937053 0.948421 +0.983265 1.03355 1.24716 1.46627 1.53322 1.518 1.45105 1.32324 +1.20912 1.14369 1.15282 1.17108 1.17869 1.17564 1.16651 1.16043 +1.17108 1.17564 1.14369 1.16043 1.23346 1.26998 1.25477 1.21673 +1.1939 1.12847 1.04171 1.01331 0.995347 0.985878 0.983265 0.976842 +0.984571 1.01167 1.04204 1.0538 1.0502 1.04073 1.03388 1.03159 +1.03061 1.03224 1.03257 1.03257 1.03127 1.02604 1.02702 1.02996 +1.02996 1.03061 1.03061 1.02735 1.02669 1.02898 1.02343 1.01984 +1.01592 1.01135 1.00906 1.00808 1.00906 1.00971 1.01265 1.01494 +1.01527 1.01657 1.01918 1.02147 1.02343 1.02376 1.02473 1.02376 +1.02376 1.02441 1.0218 1.01984 1.01984 1.02016 1.01722 1.01722 +1.01853 1.01755 1.01559 1.01298 1.01069 1.01102 1.01265 1.01298 +1.01461 1.01494 1.01494 1.01527 1.01298 1.01102 1.00841 1.0071 +1.00449 1.00351 1.00286 1.0022 1.00188 1.0022 0.999918 0.997959 +0.996 0.99502 0.994694 0.99502 0.993061 0.991102 0.990776 0.994041 +0.992735 0.988163 0.986531 0.984571 0.984571 0.986204 0.98751 0.98849 +0.989796 0.993388 0.994041 0.99698 0.996327 0.990449 0.988816 0.993061 +0.99502 0.995347 0.994694 0.996 0.999592 1.00122 0.999918 1.0009 +1.0022 1.00057 0.997633 0.995673 0.992082 0.98751 0.982939 0.980653 +0.970526 0.963579 0.963579 0.963579 0.959158 0.952842 0.947158 0.940842 +0.940211 0.942105 0.940211 0.939579 0.938947 0.941474 0.945263 0.950316 +0.956 0.951579 0.946526 0.947158 0.953474 0.969263 0.974947 0.933895 +0.827789 0.688842 0.562526 0.43184 0.333387 0.299307 0.234933 0.00082 +0.00072 0.00074 0.00074 0.0007 0.000693333 0.000706667 0.000693333 0.000693333 +0.000666667 0.000666667 0.00068 0.000693333 0.000693333 0.000673333 0.000653333 0.00064 +0.000646667 0.000646667 0.000653333 0.00064 0.00062 0.00066 0.00068 0.00066 +0.00062 0.000633333 0.000646667 0.000653333 0.000653333 0.00064 0.00064 0.000633333 +0.000626667 0.000666667 0.000673333 0.000673333 0.00066 0.000653333 0.000693333 0.000686667 +0.000673333 0.00066 0.00066 0.00066 0.00066 0.000666667 0.00066 0.00066 +0.00066 0.000653333 0.000686667 0.00066 0.000646667 0.00066 0.000653333 0.00066 +0.00068 0.00068 0.000693333 0.000693333 0.000686667 0.000706667 0.000693333 0.000713333 +0.000726667 0.000706667 0.000713333 0.0007 0.000706667 0.000713333 0.000726667 0.000706667 +0.00066 0.00066 0.000693333 0.00072 0.00074 0.000706667 0.000686667 0.00068 +0.000693333 0.000733333 0.00074 0.000726667 0.000686667 0.0007 0.000733333 0.000726667 +0.000706667 0.000713333 0.00072 0.0007 0.000693333 0.000713333 0.000726667 0.000713333 +0.000713333 0.000726667 0.000726667 0.000706667 0.00068 0.000666667 0.000673333 0.000686667 +0.000686667 0.000673333 0.00068 0.00068 0.00068 0.00068 0.000666667 0.000686667 +0.000706667 0.000686667 0.000666667 0.00066 0.000673333 0.000686667 0.000693333 0.000673333 +0.000673333 0.000686667 0.000693333 0.000693333 0.00068 0.0007 0.0007 0.000693333 +0.000673333 0.000666667 0.000673333 0.000673333 0.000686667 0.0007 0.000693333 0.000673333 +0.000673333 0.00066 0.000646667 0.000673333 0.000673333 0.00066 0.00064 0.000633333 +0.000653333 0.000653333 0.000646667 0.000653333 0.00066 0.000666667 0.000646667 0.00064 +0.00066 0.000653333 0.000633333 0.000626667 0.00064 0.000666667 0.000666667 0.000666667 +0.00066 0.00064 0.000626667 0.000633333 0.000646667 0.00062 0.000633333 0.000646667 +0.000626667 0.000626667 0.00062 0.000633333 0.000653333 0.000653333 0.000633333 0.00062 +0.000633333 0.000633333 0.00062 0.000626667 0.00064 0.000646667 0.000646667 0.00066 +0.00068 0.000673333 0.000673333 0.000706667 0.000686667 0.000673333 0.000686667 0.00074 +0.000926667 0.274693 0.248187 0.00078 0.00064 0.000626667 0.00066 0.000726667 +0.000866667 0.270907 0.40912 0.554947 0.692 0.843579 0.954105 0.989796 +0.988163 0.975579 0.956632 0.946526 0.946526 0.947789 0.946526 0.944632 +0.945895 0.950947 0.959158 0.962316 0.962947 0.966105 0.971789 0.980327 +0.987184 0.993388 0.996 0.997959 1.00122 1.00416 1.00514 1.00612 +1.00612 1.00547 1.00645 1.00808 1.00906 1.00971 1.00971 1.01004 +1.01037 1.01102 1.012 1.01233 1.01167 1.01135 1.01265 1.01429 +1.01527 1.01592 1.0169 1.01755 1.02016 1.0231 1.02604 1.02735 +1.02735 1.02669 1.02637 1.02604 1.02702 1.02669 1.02604 1.02376 +1.02278 1.02343 1.02441 1.02441 1.02343 1.02245 1.02212 1.02245 +1.02376 1.02669 1.02702 1.02637 1.02506 1.02473 1.02408 1.0231 +1.02212 1.01918 1.01298 1.01037 1.00841 1.00188 0.996327 0.99502 +0.995347 0.993061 0.990122 0.985878 0.975579 0.974316 0.981959 0.983265 +0.983265 0.984245 0.985224 0.985878 0.98751 0.992735 0.996653 0.999265 +1.00449 1.00939 1.01592 1.02082 1.02539 1.03322 1.03812 1.03682 +1.03551 1.03061 1.02702 1.02212 1.01755 1.0169 1.01886 1.01755 +1.0182 1.0218 1.02376 1.0231 1.0218 1.0169 1.012 1.0058 +0.995347 0.987837 0.978737 0.963579 0.950316 0.942105 0.942105 0.957895 +0.993061 1.04171 1.14673 1.14217 1.07978 1.06 1.06152 1.05478 +1.05053 1.04237 1.04171 1.04498 1.05184 1.05706 1.0551 1.05445 +1.05804 1.05608 1.04824 1.0489 1.05576 1.05902 1.06761 1.06456 +1.09195 1.11782 1.08739 1.05673 1.0378 1.01102 0.992735 0.983265 +0.981959 0.991102 1.00776 1.02212 1.03029 1.02963 1.02865 1.03029 +1.03061 1.03192 1.03159 1.03029 1.02996 1.02833 1.02865 1.02963 +1.03029 1.02865 1.028 1.02637 1.02735 1.02865 1.02245 1.01886 +1.01527 1.012 1.00841 1.00906 1.01102 1.01265 1.01494 1.01624 +1.01755 1.01918 1.02147 1.02278 1.02441 1.02408 1.02441 1.02473 +1.02637 1.02865 1.0231 1.0182 1.01853 1.01788 1.01657 1.01755 +1.01984 1.0182 1.01624 1.01298 1.01004 1.01102 1.01331 1.01331 +1.01494 1.01592 1.01461 1.01233 1.01037 1.00743 1.00384 1.0022 +0.998939 0.99502 0.993714 0.993388 0.993714 0.993714 0.990449 0.987837 +0.986531 0.985878 0.986531 0.986531 0.981633 0.973053 0.966737 0.964211 +0.956632 0.944 0.937684 0.935789 0.938316 0.942737 0.950316 0.959789 +0.971789 0.982286 0.986531 0.992082 0.993061 0.991429 0.992735 0.996 +0.998286 0.996653 0.993061 0.994694 0.998612 0.998286 0.99698 0.998612 +0.999265 0.997959 0.997306 0.998286 0.997959 0.995673 0.991755 0.988163 +0.983265 0.976842 0.972421 0.971158 0.964842 0.959158 0.961684 0.956632 +0.954105 0.953474 0.950947 0.949053 0.949053 0.948421 0.950947 0.956632 +0.958526 0.948421 0.935789 0.935789 0.938947 0.948421 0.969895 0.976211 +0.938947 0.846737 0.710947 0.573263 0.445093 0.33528 0.291733 0.23872 +0.000886667 0.000766667 0.000753333 0.000726667 0.000713333 0.000706667 0.00072 0.0007 +0.000686667 0.000713333 0.000713333 0.000686667 0.00068 0.00068 0.00068 0.00066 +0.000653333 0.000653333 0.00066 0.000666667 0.000653333 0.000693333 0.0007 0.000673333 +0.000666667 0.000666667 0.000673333 0.00068 0.00068 0.000653333 0.000666667 0.000666667 +0.000653333 0.000666667 0.00064 0.000646667 0.000653333 0.000673333 0.000686667 0.000653333 +0.000646667 0.000646667 0.00066 0.000666667 0.00066 0.000626667 0.000626667 0.000646667 +0.00064 0.000626667 0.000666667 0.000653333 0.00066 0.000666667 0.000646667 0.000666667 +0.000686667 0.000673333 0.000673333 0.000673333 0.000693333 0.000746667 0.000713333 0.000693333 +0.000686667 0.00068 0.0007 0.000713333 0.000706667 0.000693333 0.000693333 0.000673333 +0.00066 0.0007 0.000726667 0.000733333 0.000713333 0.000686667 0.0007 0.000706667 +0.00072 0.000726667 0.000726667 0.000706667 0.000706667 0.000693333 0.000693333 0.000686667 +0.000686667 0.000713333 0.000726667 0.000693333 0.000693333 0.000693333 0.0007 0.000693333 +0.000686667 0.000693333 0.000693333 0.000706667 0.000706667 0.000686667 0.000673333 0.00068 +0.000673333 0.000666667 0.000673333 0.000673333 0.000673333 0.000673333 0.000653333 0.00066 +0.000686667 0.0007 0.0007 0.00068 0.000666667 0.00066 0.000666667 0.000673333 +0.000686667 0.000693333 0.00068 0.000666667 0.00066 0.000686667 0.00068 0.00066 +0.00066 0.000666667 0.000686667 0.000673333 0.000666667 0.000673333 0.000673333 0.000686667 +0.000686667 0.00064 0.000646667 0.000666667 0.000666667 0.000666667 0.00066 0.00064 +0.000633333 0.000653333 0.000646667 0.00062 0.000626667 0.000653333 0.000646667 0.000626667 +0.000653333 0.000653333 0.00064 0.00062 0.000626667 0.000633333 0.00064 0.000653333 +0.000686667 0.000693333 0.000686667 0.000646667 0.000633333 0.000626667 0.00062 0.00062 +0.000593333 0.000606667 0.000606667 0.00062 0.000626667 0.000626667 0.00064 0.000646667 +0.000633333 0.000633333 0.00062 0.000633333 0.000653333 0.000653333 0.000626667 0.00064 +0.000666667 0.000646667 0.000653333 0.000693333 0.000686667 0.000693333 0.000693333 0.00076 +0.219787 0.28416 0.223573 0.00072 0.000633333 0.000653333 0.00074 0.000866667 +0.263333 0.45456 0.589684 0.734947 0.880211 0.973684 0.991429 0.984571 +0.964842 0.949053 0.942105 0.943368 0.949053 0.945895 0.942105 0.944632 +0.954737 0.962947 0.968632 0.971789 0.979368 0.984245 0.989796 0.994694 +0.999592 1.00351 1.00449 1.0058 1.00841 1.00841 1.00841 1.01037 +1.01004 1.00971 1.01069 1.01167 1.01167 1.01102 1.01037 1.01167 +1.01167 1.01037 1.01135 1.01233 1.01298 1.01331 1.01429 1.01527 +1.01788 1.02082 1.02278 1.0231 1.02408 1.02604 1.02865 1.03061 +1.02996 1.02963 1.02963 1.02767 1.02669 1.02604 1.02408 1.02049 +1.01886 1.01951 1.02278 1.02343 1.02245 1.02114 1.01853 1.01853 +1.01951 1.02212 1.02441 1.02473 1.02473 1.02343 1.02245 1.02245 +1.0218 1.01951 1.01429 1.00873 1.00612 1.00286 0.997633 0.994041 +0.994041 0.992082 0.988816 0.984898 0.973053 0.960421 0.966105 0.976211 +0.981306 0.982612 0.982286 0.980327 0.978105 0.984245 0.993714 1.00155 +1.0071 1.012 1.01722 1.02376 1.02963 1.04008 1.05184 1.05902 +1.05184 1.03322 1.02343 1.01886 1.01331 1.01037 1.01298 1.01527 +1.01722 1.02114 1.02278 1.0231 1.02147 1.01624 1.01298 1.00482 +0.993061 0.985878 0.980327 0.972421 0.963579 0.952842 0.955368 0.985224 +1.01494 1.04563 1.05184 1.03388 1.02049 1.01592 1.01722 1.01657 +1.01755 1.01331 1.01135 1.01494 1.01984 1.02114 1.01722 1.01592 +1.01853 1.02114 1.01918 1.02049 1.0231 1.02114 1.02114 1.02147 +1.02506 1.03453 1.04269 1.05608 1.05967 1.03976 1.00906 0.989796 +0.981959 0.982612 0.992735 1.00514 1.01918 1.02441 1.02669 1.03159 +1.03159 1.03127 1.03224 1.03127 1.02996 1.02996 1.03029 1.03127 +1.03224 1.02996 1.02931 1.02702 1.02767 1.02669 1.02114 1.01755 +1.01527 1.01135 1.0071 1.00743 1.00939 1.012 1.01429 1.01527 +1.0169 1.01853 1.02278 1.0231 1.02212 1.02245 1.02441 1.02931 +1.03878 1.04204 1.03192 1.02147 1.01886 1.01886 1.02016 1.02376 +1.02245 1.01886 1.01657 1.01461 1.01396 1.01429 1.01396 1.01429 +1.01559 1.01461 1.01167 1.00841 1.00678 1.00384 1.0009 0.998286 +0.993388 0.98751 0.985878 0.984571 0.984571 0.984571 0.98 0.969895 +0.962947 0.956632 0.950316 0.941474 0.922526 0.899789 0.877684 0.855579 +0.834105 0.815158 0.806316 0.807579 0.820211 0.837263 0.854316 0.873263 +0.892211 0.907368 0.926947 0.949684 0.964211 0.979368 0.98751 0.991429 +0.993714 0.992735 0.993388 0.996653 0.998286 0.99698 0.99698 0.998612 +0.99698 0.99502 0.996 0.998286 0.999592 0.998612 0.997306 0.994694 +0.992408 0.989469 0.984898 0.981306 0.974316 0.969263 0.972421 0.972421 +0.972421 0.974316 0.971158 0.966737 0.962316 0.958526 0.960421 0.961053 +0.955368 0.948421 0.938316 0.933895 0.936421 0.940842 0.951579 0.968 +0.975579 0.948421 0.864421 0.726105 0.576421 0.445093 0.348533 0.310667 +0.25576 0.00092 0.000826667 0.000793333 0.000733333 0.000733333 0.000746667 0.00074 +0.00074 0.000726667 0.0007 0.000693333 0.00072 0.00074 0.0007 0.00068 +0.0007 0.000706667 0.0007 0.000713333 0.000673333 0.000673333 0.0007 0.000706667 +0.000686667 0.00068 0.000666667 0.00068 0.000686667 0.00066 0.00068 0.000686667 +0.000673333 0.000686667 0.000673333 0.000693333 0.000706667 0.000686667 0.000673333 0.00066 +0.000686667 0.000693333 0.000686667 0.000693333 0.0007 0.000673333 0.000653333 0.000673333 +0.00066 0.000646667 0.00068 0.000686667 0.000693333 0.0007 0.000706667 0.000706667 +0.000713333 0.00068 0.000686667 0.000713333 0.0007 0.000706667 0.00068 0.000653333 +0.000673333 0.0007 0.000713333 0.000693333 0.00066 0.000673333 0.000706667 0.00072 +0.000746667 0.000733333 0.000686667 0.000686667 0.00068 0.000693333 0.000713333 0.000693333 +0.000693333 0.0007 0.00072 0.00072 0.000733333 0.00074 0.00072 0.000686667 +0.00068 0.000686667 0.0007 0.000706667 0.000706667 0.0007 0.0007 0.000706667 +0.000686667 0.00068 0.000673333 0.000686667 0.00072 0.000726667 0.000706667 0.000693333 +0.000686667 0.000666667 0.000666667 0.000686667 0.000673333 0.00068 0.000673333 0.000673333 +0.000673333 0.000673333 0.000666667 0.000693333 0.000706667 0.000693333 0.000666667 0.000653333 +0.000666667 0.000693333 0.00068 0.00068 0.000673333 0.00068 0.00068 0.000686667 +0.000673333 0.00066 0.000666667 0.000666667 0.000666667 0.000666667 0.000646667 0.000666667 +0.000673333 0.00066 0.00066 0.000666667 0.000653333 0.00066 0.00066 0.000646667 +0.00064 0.000673333 0.000673333 0.000646667 0.000646667 0.00066 0.000666667 0.000646667 +0.00064 0.00066 0.00068 0.000673333 0.00066 0.00066 0.000673333 0.000686667 +0.00068 0.000673333 0.000713333 0.000713333 0.0007 0.000686667 0.000666667 0.000646667 +0.000633333 0.000653333 0.000633333 0.000633333 0.00064 0.000646667 0.000633333 0.00062 +0.000626667 0.000626667 0.000633333 0.000626667 0.00064 0.000673333 0.00066 0.000633333 +0.000653333 0.000626667 0.00062 0.000633333 0.000653333 0.00068 0.000693333 0.000806667 +0.248187 0.27848 0.000893333 0.00068 0.00066 0.00074 0.000906667 0.282267 +0.492427 0.620632 0.776632 0.915579 0.985224 0.990776 0.981306 0.958526 +0.942105 0.938947 0.942105 0.947158 0.949684 0.947158 0.949684 0.958526 +0.968632 0.976211 0.982286 0.986531 0.992735 0.999592 1.00449 1.0058 +1.00645 1.00743 1.00808 1.00971 1.01135 1.01037 1.01135 1.01265 +1.01233 1.01233 1.01331 1.01363 1.01233 1.01037 1.01069 1.01037 +1.01004 1.01135 1.01298 1.01429 1.01657 1.01853 1.01886 1.01951 +1.02114 1.02212 1.0231 1.02506 1.02539 1.02604 1.02702 1.028 +1.02833 1.02702 1.02669 1.02637 1.02571 1.0231 1.01984 1.01396 +1.01233 1.01592 1.02082 1.02278 1.02049 1.0182 1.01755 1.01853 +1.01951 1.02049 1.0218 1.02343 1.02343 1.02278 1.02114 1.02082 +1.02016 1.01755 1.01527 1.00939 1.00351 1.00122 0.998939 0.996 +0.994041 0.993061 0.989796 0.984898 0.98098 0.971158 0.968 0.974947 +0.982286 0.984571 0.983918 0.982939 0.98 0.98098 0.989143 0.997959 +1.00449 1.00939 1.01429 1.02016 1.02604 1.03682 1.0551 1.08891 +1.0551 1.02963 1.01853 1.01788 1.01233 1.00939 1.012 1.01363 +1.01494 1.01918 1.02212 1.02278 1.0231 1.01788 1.01331 1.00743 +0.99698 0.991755 0.986857 0.980327 0.973684 0.964842 0.979368 1.00971 +1.03812 1.04596 1.03845 1.02441 1.01624 1.01331 1.01592 1.01461 +1.01135 1.00776 1.00939 1.0169 1.01984 1.01527 1.01102 1.00808 +1.00645 1.00971 1.012 1.01331 1.01624 1.01429 1.01069 1.01135 +1.01461 1.0231 1.028 1.03616 1.04857 1.05184 1.03094 1.00416 +0.986531 0.981959 0.989796 1.00057 1.01331 1.02016 1.02539 1.03257 +1.03224 1.02963 1.03127 1.03127 1.02865 1.02702 1.02833 1.02963 +1.03061 1.02898 1.028 1.02539 1.02539 1.0231 1.0169 1.01363 +1.01069 1.0071 1.00482 1.0058 1.0071 1.00971 1.01265 1.01461 +1.01527 1.01657 1.02049 1.0218 1.01984 1.02016 1.02441 1.03649 +1.05249 1.05608 1.04596 1.03388 1.02343 1.0182 1.02212 1.02767 +1.02245 1.01853 1.01624 1.01494 1.01853 1.0182 1.01363 1.01363 +1.01527 1.01331 1.00906 1.00645 1.00482 1.00188 0.998286 0.994041 +0.98849 0.982286 0.980327 0.976842 0.974316 0.965474 0.948421 0.926947 +0.906105 0.887158 0.865053 0.840421 0.806316 0.768421 0.729263 0.690105 +0.659158 0.634526 0.618737 0.617474 0.634526 0.665474 0.689474 0.697053 +0.701474 0.717895 0.747579 0.779789 0.813895 0.856211 0.897895 0.92821 +0.952842 0.971789 0.986204 0.994694 0.996327 0.996 0.997306 0.998286 +0.997306 0.997306 0.996327 0.996 0.99698 0.996327 0.997633 0.999918 +0.999592 0.996327 0.993061 0.989796 0.985551 0.982286 0.978737 0.98 +0.981959 0.982286 0.982286 0.982286 0.976211 0.968 0.964211 0.961053 +0.952211 0.950947 0.946526 0.937053 0.935789 0.935789 0.935789 0.947158 +0.964211 0.976842 0.957263 0.873263 0.726105 0.579579 0.462133 0.350427 +0.314453 0.26144 0.000953333 0.000813333 0.000746667 0.000773333 0.000786667 0.000773333 +0.00076 0.000733333 0.000726667 0.000746667 0.00076 0.000746667 0.00072 0.00072 +0.000713333 0.000706667 0.000706667 0.000726667 0.000673333 0.00068 0.000733333 0.000706667 +0.000686667 0.000666667 0.000646667 0.000666667 0.000666667 0.000666667 0.000673333 0.000666667 +0.00066 0.00068 0.000693333 0.000693333 0.000686667 0.000666667 0.00066 0.000673333 +0.0007 0.000686667 0.000653333 0.000653333 0.000673333 0.000666667 0.000653333 0.000666667 +0.000653333 0.000666667 0.00072 0.000726667 0.000713333 0.000713333 0.000713333 0.0007 +0.000706667 0.000726667 0.00074 0.000733333 0.0007 0.000693333 0.000693333 0.000693333 +0.000726667 0.000713333 0.0007 0.000693333 0.000686667 0.00072 0.00076 0.000753333 +0.00072 0.00066 0.000646667 0.0007 0.000706667 0.0007 0.000693333 0.00068 +0.000686667 0.000713333 0.000733333 0.000726667 0.0007 0.0007 0.000733333 0.00074 +0.000733333 0.0007 0.000693333 0.000706667 0.000713333 0.0007 0.000693333 0.000706667 +0.000713333 0.0007 0.000686667 0.00068 0.0007 0.000726667 0.00072 0.000706667 +0.0007 0.000686667 0.000673333 0.00068 0.000686667 0.00068 0.000673333 0.000686667 +0.000693333 0.000686667 0.00066 0.000673333 0.000693333 0.0007 0.00072 0.000693333 +0.000666667 0.000666667 0.000666667 0.000686667 0.00068 0.000693333 0.000706667 0.000706667 +0.000706667 0.000693333 0.000686667 0.00068 0.000686667 0.000693333 0.00068 0.000666667 +0.000653333 0.000686667 0.00068 0.00068 0.00068 0.00068 0.00066 0.000633333 +0.00066 0.00068 0.000673333 0.000673333 0.000673333 0.000653333 0.00066 0.00066 +0.000653333 0.000666667 0.000673333 0.000666667 0.000653333 0.00064 0.000666667 0.00068 +0.000673333 0.00066 0.000666667 0.000673333 0.000693333 0.000706667 0.0007 0.00066 +0.00064 0.00066 0.000653333 0.000653333 0.000633333 0.000653333 0.00066 0.000653333 +0.000653333 0.000653333 0.000666667 0.000666667 0.00066 0.000666667 0.000673333 0.000686667 +0.000686667 0.000673333 0.00068 0.000666667 0.000666667 0.000693333 0.000706667 0.00088 +0.270907 0.263333 0.000813333 0.00068 0.00072 0.0009 0.297413 0.507579 +0.642737 0.807579 0.938947 0.991102 0.992408 0.980327 0.959789 0.945895 +0.940211 0.942737 0.948421 0.953474 0.951579 0.954105 0.962947 0.972421 +0.979368 0.984898 0.992735 0.999918 1.00318 1.0058 1.00939 1.01069 +1.01004 1.00939 1.01069 1.01069 1.01004 1.01102 1.01135 1.01135 +1.01135 1.01037 1.00971 1.01069 1.01069 1.01037 1.01265 1.01363 +1.01396 1.01527 1.01722 1.02016 1.0218 1.02212 1.0218 1.02147 +1.02212 1.02278 1.02245 1.02245 1.0218 1.02212 1.02376 1.02376 +1.02343 1.02278 1.02212 1.0218 1.02343 1.0218 1.01788 1.01331 +1.01298 1.01592 1.01886 1.02114 1.02016 1.01722 1.01722 1.01984 +1.02016 1.01853 1.01951 1.02082 1.02114 1.01918 1.01886 1.01755 +1.01624 1.01461 1.01265 1.00808 1.0022 0.999592 0.998612 0.996653 +0.994694 0.991429 0.98849 0.984571 0.980653 0.976211 0.973684 0.976211 +0.98 0.981959 0.982612 0.981633 0.980327 0.980327 0.985878 0.992408 +0.998939 1.00514 1.01037 1.01886 1.02506 1.03192 1.04465 1.05184 +1.04302 1.02376 1.01592 1.01592 1.01265 1.01004 1.01396 1.01722 +1.01624 1.01755 1.02016 1.02147 1.02147 1.01592 1.01037 1.0071 +0.999918 0.996 0.991429 0.982612 0.972421 0.974316 0.999265 1.03355 +1.0489 1.04465 1.03649 1.02898 1.02441 1.02245 1.02539 1.02571 +1.0231 1.01984 1.02278 1.02898 1.02865 1.02408 1.0218 1.02016 +1.01722 1.0169 1.0182 1.02114 1.02571 1.02441 1.02049 1.02147 +1.02506 1.02996 1.03094 1.0329 1.0391 1.05347 1.05053 1.0218 +0.993714 0.985224 0.988816 0.994694 1.00449 1.01331 1.02049 1.02702 +1.028 1.02571 1.02767 1.02898 1.02833 1.02735 1.02833 1.02931 +1.02963 1.02898 1.02767 1.02441 1.02376 1.02082 1.01559 1.01167 +1.00841 1.00645 1.00514 1.0058 1.00776 1.01135 1.01527 1.0182 +1.01984 1.02016 1.02147 1.02114 1.01918 1.0182 1.0218 1.03355 +1.04922 1.05086 1.04433 1.03682 1.028 1.02343 1.02506 1.02604 +1.02212 1.02049 1.01592 1.01755 1.02212 1.02016 1.01592 1.01494 +1.01429 1.01233 1.00841 1.00514 1.00057 0.99698 0.993714 0.988163 +0.982286 0.974947 0.967368 0.952211 0.933895 0.904842 0.868211 0.827158 +0.791789 0.757053 0.719158 0.681263 0.642105 0.602947 0.565684 0.536632 +0.517053 0.5 0.464027 0.467813 0.500632 0.527789 0.542947 0.533474 +0.523368 0.529053 0.546737 0.567579 0.594105 0.636421 0.688211 0.740632 +0.794947 0.849263 0.903579 0.949684 0.979368 0.990122 0.996 0.99698 +0.999592 1.0022 1.00057 0.997959 0.996327 0.995347 0.996653 1.00024 +1.00188 0.999918 0.999265 0.998612 0.99502 0.990776 0.986531 0.986204 +0.986204 0.984245 0.984571 0.985878 0.984571 0.980653 0.974316 0.968 +0.960421 0.956632 0.950947 0.941474 0.937684 0.935158 0.930737 0.937053 +0.948421 0.965474 0.980653 0.962316 0.872632 0.726105 0.582737 0.46592 +0.359893 0.32392 0.25576 0.000893333 0.000773333 0.000773333 0.000786667 0.000753333 +0.00074 0.000746667 0.00074 0.000753333 0.000726667 0.000726667 0.00074 0.000693333 +0.000673333 0.000706667 0.000693333 0.00072 0.0007 0.000686667 0.000713333 0.0007 +0.0007 0.0007 0.000686667 0.00068 0.000673333 0.000673333 0.00068 0.000673333 +0.000686667 0.000706667 0.0007 0.000686667 0.000673333 0.000693333 0.000706667 0.000686667 +0.000693333 0.000686667 0.000653333 0.000653333 0.00068 0.000693333 0.000686667 0.000686667 +0.000686667 0.00072 0.000746667 0.000713333 0.000706667 0.000693333 0.000693333 0.00072 +0.000753333 0.000746667 0.000713333 0.000693333 0.0007 0.000706667 0.000706667 0.000713333 +0.00072 0.000726667 0.00074 0.000766667 0.000766667 0.000746667 0.000733333 0.0007 +0.000686667 0.000713333 0.000733333 0.00076 0.00074 0.000713333 0.00072 0.000726667 +0.000733333 0.000753333 0.00074 0.000713333 0.000693333 0.000686667 0.000686667 0.000713333 +0.000733333 0.00072 0.000733333 0.000733333 0.000726667 0.000693333 0.000686667 0.000706667 +0.000713333 0.000726667 0.00074 0.00072 0.000686667 0.000673333 0.000693333 0.00072 +0.000706667 0.0007 0.0007 0.000686667 0.000693333 0.0007 0.000673333 0.000666667 +0.000686667 0.0007 0.00068 0.00068 0.00068 0.000686667 0.00072 0.000733333 +0.000713333 0.000686667 0.000673333 0.000666667 0.000646667 0.000666667 0.0007 0.000706667 +0.000693333 0.000686667 0.000706667 0.0007 0.000693333 0.000706667 0.0007 0.000686667 +0.00068 0.00068 0.000666667 0.00066 0.000673333 0.000686667 0.0007 0.000653333 +0.000646667 0.00066 0.00064 0.000646667 0.000673333 0.000653333 0.00066 0.00066 +0.000666667 0.000666667 0.000666667 0.000653333 0.00064 0.00064 0.000653333 0.00066 +0.000653333 0.00066 0.000653333 0.000646667 0.000666667 0.000673333 0.00068 0.00068 +0.000646667 0.000633333 0.000626667 0.00064 0.000633333 0.00062 0.00064 0.00064 +0.000646667 0.000653333 0.000653333 0.000653333 0.00068 0.000673333 0.000666667 0.00068 +0.000693333 0.0007 0.000733333 0.0007 0.000693333 0.000713333 0.000753333 0.00098 +0.28416 0.229253 0.00074 0.000733333 0.000893333 0.3012 0.518316 0.659158 +0.827789 0.951579 0.990449 0.989796 0.98 0.958526 0.946526 0.944 +0.947158 0.949053 0.949684 0.952842 0.956 0.964842 0.978105 0.984898 +0.991102 0.996 1.00024 1.00384 1.0058 1.00678 1.00808 1.00939 +1.01069 1.01135 1.01135 1.01167 1.01069 1.012 1.012 1.01069 +1.01037 1.00939 1.00906 1.00873 1.00808 1.00873 1.01135 1.01331 +1.01559 1.01722 1.01788 1.02016 1.02212 1.02212 1.02016 1.01886 +1.01886 1.01853 1.0182 1.01853 1.01984 1.01951 1.02082 1.02147 +1.02212 1.02147 1.02049 1.01918 1.01886 1.01984 1.02016 1.01918 +1.01886 1.02016 1.02147 1.02114 1.02049 1.01951 1.01918 1.02016 +1.01984 1.01984 1.01918 1.01951 1.01984 1.01592 1.01265 1.01167 +1.01167 1.01102 1.00678 1.00122 0.997306 0.996327 0.998286 0.998612 +0.995673 0.990122 0.986204 0.983265 0.978737 0.976842 0.976211 0.974947 +0.972421 0.973053 0.975579 0.971158 0.967368 0.966105 0.977474 0.987184 +0.995673 1.00253 1.00841 1.01592 1.02245 1.02571 1.03094 1.03486 +1.03257 1.02343 1.01918 1.02016 1.01624 1.01135 1.01298 1.01657 +1.0169 1.01755 1.01886 1.01984 1.02049 1.01461 1.00743 1.00612 +1.00024 0.993388 0.98751 0.98 0.968632 0.986857 1.02539 1.05576 +1.05771 1.05249 1.04727 1.04465 1.04759 1.04955 1.05249 1.05478 +1.05445 1.05478 1.05902 1.06 1.06 1.06609 1.07674 1.07978 +1.06913 1.05967 1.05543 1.05184 1.05184 1.0489 1.04824 1.0502 +1.04824 1.04465 1.04531 1.04922 1.05216 1.05902 1.05837 1.02898 +0.996327 0.986857 0.986531 0.988816 0.997959 1.00547 1.01429 1.02343 +1.02571 1.02506 1.02767 1.02996 1.02865 1.02898 1.03029 1.03094 +1.03061 1.03159 1.03061 1.02571 1.02408 1.02147 1.01624 1.01135 +1.00906 1.00678 1.00514 1.00482 1.00808 1.01396 1.01918 1.02245 +1.02473 1.02539 1.02637 1.02506 1.02376 1.02082 1.02049 1.02539 +1.03224 1.03224 1.02931 1.02833 1.02767 1.02702 1.02571 1.02278 +1.02147 1.02114 1.01788 1.02049 1.02245 1.01918 1.01722 1.01559 +1.01167 1.00906 1.0058 1.00024 0.99502 0.992082 0.98751 0.978105 +0.957263 0.935158 0.903579 0.858737 0.812632 0.760211 0.707789 0.662316 +0.628842 0.594105 0.558737 0.530947 0.507579 0.456453 0.399653 0.373147 +0.350427 0.3296 0.331493 0.342853 0.359893 0.411013 0.43184 0.399653 +0.373147 0.36368 0.36936 0.371253 0.382613 0.43752 0.505053 0.536632 +0.577684 0.632632 0.697053 0.769053 0.842947 0.910526 0.960421 0.984898 +0.996 1.00122 1.00155 1.00024 0.999918 0.999592 0.998286 0.998939 +1.0009 1.0009 1.0009 0.999592 0.998286 0.99698 0.996 0.995347 +0.992408 0.989469 0.987184 0.984898 0.985878 0.985551 0.982939 0.98 +0.975579 0.968632 0.958526 0.948421 0.942737 0.940211 0.935158 0.935158 +0.941474 0.951579 0.968 0.979368 0.956632 0.869474 0.727368 0.578316 +0.458347 0.361787 0.31824 0.253867 0.000893333 0.000793333 0.000793333 0.000786667 +0.000793333 0.00078 0.000726667 0.00072 0.000706667 0.00072 0.00072 0.000666667 +0.00068 0.000713333 0.0007 0.000733333 0.000733333 0.000686667 0.0007 0.000706667 +0.000693333 0.00068 0.000673333 0.00068 0.000686667 0.000686667 0.000706667 0.0007 +0.0007 0.00068 0.000666667 0.000686667 0.000686667 0.000686667 0.000713333 0.000693333 +0.000693333 0.000686667 0.000666667 0.000686667 0.000706667 0.000706667 0.0007 0.00072 +0.000713333 0.000713333 0.000706667 0.000686667 0.000706667 0.000726667 0.000746667 0.000746667 +0.00072 0.000686667 0.000686667 0.000706667 0.00072 0.000706667 0.000706667 0.000686667 +0.0007 0.00074 0.000753333 0.00076 0.00072 0.000693333 0.000666667 0.000666667 +0.000713333 0.00074 0.000733333 0.000733333 0.000726667 0.000713333 0.000713333 0.00072 +0.00074 0.000733333 0.000706667 0.000706667 0.0007 0.000706667 0.000686667 0.00068 +0.00068 0.00068 0.000686667 0.000693333 0.000706667 0.000693333 0.00068 0.000673333 +0.000653333 0.00068 0.00072 0.000726667 0.000693333 0.00066 0.000666667 0.000673333 +0.0007 0.000713333 0.000693333 0.00068 0.000666667 0.00068 0.000686667 0.000666667 +0.000666667 0.000673333 0.000666667 0.000673333 0.00068 0.000666667 0.000673333 0.000686667 +0.000686667 0.0007 0.0007 0.00068 0.000646667 0.000633333 0.000653333 0.00068 +0.00068 0.000666667 0.000673333 0.00066 0.000653333 0.000666667 0.00066 0.00066 +0.000673333 0.00068 0.000653333 0.00064 0.000646667 0.00066 0.000693333 0.00068 +0.000666667 0.000646667 0.00064 0.00062 0.00066 0.000653333 0.000646667 0.000653333 +0.000666667 0.00068 0.00066 0.000653333 0.000646667 0.00064 0.000646667 0.00064 +0.000646667 0.00064 0.00062 0.000613333 0.000633333 0.000626667 0.000626667 0.000633333 +0.000613333 0.000633333 0.000626667 0.000613333 0.0006 0.0006 0.000613333 0.00062 +0.000613333 0.000626667 0.000633333 0.000633333 0.00064 0.000646667 0.000653333 0.000666667 +0.000666667 0.000653333 0.000706667 0.0007 0.00072 0.00074 0.000826667 0.251973 +0.293627 0.000953333 0.000713333 0.000866667 0.314453 0.530947 0.679368 0.847368 +0.964211 0.990776 0.985878 0.970526 0.952842 0.943368 0.938947 0.939579 +0.947789 0.955368 0.957895 0.962947 0.971158 0.982286 0.990122 0.997306 +1.00253 1.00514 1.00482 1.00416 1.00612 1.00873 1.01167 1.01167 +1.01265 1.01363 1.01298 1.01135 1.01233 1.01135 1.01135 1.01069 +1.00776 1.00776 1.00906 1.00873 1.00776 1.00939 1.01069 1.01135 +1.01265 1.01298 1.01331 1.01363 1.01461 1.01722 1.0182 1.01788 +1.01788 1.01657 1.01559 1.01624 1.01722 1.01886 1.02049 1.02114 +1.02016 1.02049 1.02082 1.01984 1.01918 1.01984 1.02082 1.01984 +1.02016 1.02082 1.02245 1.02212 1.02049 1.02049 1.02114 1.02082 +1.02016 1.01886 1.01722 1.01624 1.0169 1.01494 1.01069 1.00743 +1.00678 1.00612 1.00253 0.997306 0.993061 0.990449 0.993388 0.997633 +0.99698 0.990449 0.983918 0.978105 0.970526 0.968 0.969263 0.969895 +0.967368 0.964842 0.966737 0.968 0.968632 0.966737 0.967368 0.980327 +0.990122 0.997959 1.00253 1.00841 1.01559 1.0182 1.02016 1.02212 +1.02212 1.01886 1.01755 1.01984 1.01951 1.01461 1.01298 1.01429 +1.01527 1.01527 1.01429 1.01298 1.01429 1.01135 1.0058 1.0058 +1.00057 0.989143 0.980327 0.971789 0.971789 1.0022 1.05478 1.17108 +1.16651 1.16043 1.15738 1.15586 1.17108 1.18477 1.18629 1.16651 +1.13912 1.14217 1.16043 1.15738 1.1726 1.19999 1.21064 1.22433 +1.23042 1.23194 1.19238 1.12543 1.07369 1.05576 1.05771 1.06456 +1.05445 1.0489 1.05478 1.07826 1.07978 1.05706 1.04727 1.0231 +0.996327 0.987837 0.986204 0.988163 0.997959 1.00351 1.01265 1.02147 +1.02473 1.02571 1.02996 1.0329 1.03159 1.03061 1.03094 1.03094 +1.03159 1.03127 1.02996 1.02571 1.02408 1.02147 1.01429 1.00971 +1.00841 1.00808 1.00645 1.00678 1.01102 1.01657 1.02016 1.02376 +1.02669 1.02702 1.02833 1.02637 1.02702 1.02571 1.02212 1.02114 +1.0218 1.01984 1.02049 1.02212 1.02114 1.02114 1.0231 1.02147 +1.0218 1.02114 1.01788 1.01853 1.01853 1.01559 1.01396 1.01069 +1.00612 1.00155 0.997306 0.991429 0.984245 0.972421 0.947158 0.909895 +0.863158 0.812 0.752632 0.690737 0.635789 0.583368 0.546105 0.522737 +0.506316 0.473493 0.422373 0.3864 0.358 0.327707 0.310667 0.308773 +0.299307 0.299307 0.314453 0.316347 0.3296 0.36936 0.359893 0.3296 +0.327707 0.322027 0.308773 0.297413 0.29552 0.31256 0.322027 0.33528 +0.378827 0.4432 0.510737 0.553684 0.622526 0.707789 0.794316 0.877053 +0.947158 0.984245 0.990449 0.993061 0.996653 0.998939 1.00024 1.00122 +1.00122 1.00122 0.999265 0.998286 0.999918 1.00155 1.00384 1.00351 +1.00057 0.997633 0.992408 0.987184 0.987837 0.987837 0.986531 0.987184 +0.985878 0.981959 0.974947 0.963579 0.952842 0.951579 0.945895 0.938947 +0.944 0.947158 0.951579 0.966105 0.98098 0.961684 0.872 0.721684 +0.572632 0.446987 0.361787 0.327707 0.253867 0.000913333 0.000873333 0.000873333 +0.00082 0.0008 0.000766667 0.00074 0.000753333 0.000793333 0.000766667 0.000706667 +0.000726667 0.000753333 0.000746667 0.00076 0.000753333 0.000706667 0.000726667 0.00072 +0.000706667 0.00066 0.000646667 0.00068 0.000686667 0.00068 0.000693333 0.00068 +0.000666667 0.000653333 0.000653333 0.000693333 0.000706667 0.000693333 0.000693333 0.00068 +0.0007 0.000706667 0.000686667 0.0007 0.0007 0.000693333 0.000693333 0.000713333 +0.000693333 0.000693333 0.000713333 0.000693333 0.0007 0.000713333 0.00072 0.000693333 +0.00066 0.00068 0.0007 0.000713333 0.000706667 0.0007 0.0007 0.000693333 +0.000726667 0.000726667 0.000713333 0.000706667 0.00068 0.00068 0.00068 0.0007 +0.000713333 0.000706667 0.000713333 0.000706667 0.0007 0.00072 0.000713333 0.000706667 +0.000713333 0.0007 0.0007 0.000726667 0.0007 0.000713333 0.0007 0.0007 +0.0007 0.00068 0.000673333 0.000666667 0.00068 0.000693333 0.000693333 0.00068 +0.000666667 0.000666667 0.00068 0.00068 0.000686667 0.000673333 0.000686667 0.00066 +0.000673333 0.000693333 0.000673333 0.000666667 0.00068 0.000666667 0.00068 0.00068 +0.000666667 0.000666667 0.000646667 0.000653333 0.000666667 0.00068 0.000686667 0.000673333 +0.000653333 0.000673333 0.000686667 0.000693333 0.0007 0.000673333 0.000653333 0.000666667 +0.00068 0.000666667 0.00068 0.00068 0.00068 0.000673333 0.00066 0.00066 +0.000673333 0.00068 0.00066 0.000653333 0.000653333 0.000653333 0.00066 0.000646667 +0.00066 0.000673333 0.00068 0.00064 0.000653333 0.000646667 0.000633333 0.000633333 +0.000646667 0.000666667 0.000666667 0.000653333 0.00066 0.00066 0.000653333 0.00064 +0.000646667 0.00066 0.000646667 0.000626667 0.000613333 0.000626667 0.000646667 0.00064 +0.000613333 0.000626667 0.00064 0.00064 0.000633333 0.000606667 0.0006 0.000626667 +0.000646667 0.00064 0.000646667 0.000653333 0.00068 0.00066 0.000653333 0.00066 +0.00066 0.00066 0.00068 0.00068 0.000713333 0.000746667 0.0009 0.276587 +0.280373 0.000933333 0.000913333 0.31256 0.534105 0.692 0.861263 0.972421 +0.992408 0.983592 0.966105 0.951579 0.942737 0.940842 0.940842 0.940842 +0.950316 0.962316 0.972421 0.981306 0.98751 0.993714 0.999265 1.00482 +1.00808 1.00808 1.00743 1.00678 1.00808 1.01037 1.012 1.01265 +1.01396 1.01331 1.01233 1.012 1.01233 1.01102 1.01004 1.01069 +1.01069 1.01069 1.00971 1.00743 1.00743 1.00873 1.00873 1.00743 +1.0071 1.0071 1.0058 1.0058 1.00841 1.01167 1.01265 1.01265 +1.01429 1.01363 1.01331 1.01494 1.01559 1.01592 1.01722 1.01788 +1.01755 1.01722 1.01918 1.02082 1.02082 1.01951 1.01984 1.01722 +1.01624 1.01886 1.02016 1.02082 1.02082 1.02082 1.02147 1.02114 +1.02114 1.02016 1.01788 1.01527 1.01331 1.01265 1.01102 1.00808 +1.00416 1.00057 0.996653 0.990776 0.984898 0.980653 0.981959 0.98751 +0.991102 0.989143 0.984245 0.977474 0.969263 0.962947 0.961684 0.966737 +0.971789 0.971158 0.972421 0.972421 0.972421 0.973053 0.969895 0.973684 +0.982612 0.989469 0.995347 1.00188 1.01004 1.01461 1.01624 1.01722 +1.01592 1.01559 1.01624 1.01657 1.0169 1.01429 1.01135 1.012 +1.01298 1.01331 1.01102 1.0071 1.00873 1.00939 1.00645 1.00416 +0.997959 0.984898 0.968632 0.964842 0.975579 1.00906 1.09195 1.24868 +1.27759 1.2852 1.26542 1.21977 1.17564 1.13608 1.095 1.05706 +1.04922 1.04792 1.04922 1.04922 1.05249 1.05347 1.05151 1.05347 +1.05543 1.05608 1.0502 1.03878 1.028 1.0218 1.02376 1.02833 +1.02571 1.02637 1.03322 1.04139 1.04204 1.0329 1.02343 1.01135 +0.996327 0.988816 0.986531 0.988816 0.996653 1.00318 1.012 1.01788 +1.01984 1.02147 1.02833 1.03192 1.03159 1.03192 1.03029 1.02898 +1.02996 1.02865 1.028 1.02212 1.01886 1.01494 1.01037 1.00841 +1.00873 1.00841 1.00808 1.00743 1.01102 1.01624 1.0218 1.02506 +1.02473 1.02408 1.02702 1.02539 1.02604 1.02604 1.0231 1.01984 +1.0169 1.01233 1.01331 1.01461 1.012 1.01396 1.01788 1.01624 +1.01494 1.01298 1.01167 1.01135 1.00939 1.00743 1.00416 0.997306 +0.990449 0.981306 0.960421 0.934526 0.901053 0.858105 0.807579 0.751368 +0.691368 0.630737 0.576421 0.536 0.503789 0.43184 0.401547 0.39208 +0.36936 0.359893 0.358 0.359893 0.358 0.327707 0.30688 0.303093 +0.3012 0.304987 0.304987 0.303093 0.32392 0.342853 0.32392 0.308773 +0.316347 0.299307 0.280373 0.287947 0.287947 0.286053 0.282267 0.28984 +0.308773 0.31824 0.3296 0.359893 0.441307 0.521474 0.582105 0.669895 +0.778526 0.878316 0.939579 0.973053 0.986531 0.992735 0.997633 1.00057 +1.00122 1.00188 1.00188 1.0022 1.00318 1.00449 1.00743 1.00743 +1.00612 1.00384 0.999592 0.996327 0.994041 0.993388 0.994694 0.99502 +0.993388 0.989796 0.986531 0.98098 0.966105 0.957895 0.957895 0.949053 +0.942737 0.940211 0.942105 0.951579 0.969263 0.981633 0.959789 0.865053 +0.710316 0.558105 0.418587 0.358 0.3296 0.259547 0.00096 0.00086 +0.0008 0.0008 0.000793333 0.000766667 0.000786667 0.000793333 0.00076 0.000726667 +0.00076 0.000786667 0.000786667 0.000766667 0.000773333 0.000753333 0.000753333 0.000753333 +0.00072 0.000686667 0.00068 0.000706667 0.000686667 0.000673333 0.0007 0.000693333 +0.0007 0.000693333 0.000693333 0.000726667 0.00072 0.0007 0.00072 0.00072 +0.00072 0.00072 0.000693333 0.000693333 0.0007 0.000706667 0.000706667 0.000693333 +0.000686667 0.00072 0.000746667 0.000726667 0.000706667 0.000686667 0.000713333 0.00072 +0.000706667 0.000713333 0.000706667 0.000693333 0.0007 0.000706667 0.000713333 0.000733333 +0.000733333 0.000713333 0.000686667 0.000693333 0.00072 0.000726667 0.00072 0.000713333 +0.000693333 0.000693333 0.00072 0.000733333 0.000753333 0.000753333 0.000733333 0.000706667 +0.00072 0.00074 0.000746667 0.00074 0.00068 0.0007 0.000693333 0.000706667 +0.000733333 0.000713333 0.000706667 0.00072 0.000706667 0.000686667 0.000693333 0.000713333 +0.000726667 0.00072 0.0007 0.00068 0.000686667 0.000693333 0.000693333 0.000673333 +0.000673333 0.000686667 0.00068 0.000653333 0.00066 0.000673333 0.000693333 0.000706667 +0.000713333 0.000706667 0.000686667 0.000673333 0.000673333 0.000686667 0.0007 0.000693333 +0.00068 0.00068 0.000673333 0.00066 0.000673333 0.00068 0.000673333 0.000673333 +0.000666667 0.000666667 0.000666667 0.000686667 0.000693333 0.000706667 0.000686667 0.00066 +0.000673333 0.00068 0.000666667 0.000653333 0.000653333 0.00066 0.000673333 0.000653333 +0.00064 0.00066 0.000686667 0.00068 0.000666667 0.000653333 0.00066 0.000653333 +0.00064 0.000653333 0.00066 0.00066 0.00066 0.000673333 0.00068 0.00066 +0.000653333 0.00066 0.000673333 0.00068 0.000653333 0.000633333 0.000653333 0.000666667 +0.00064 0.000653333 0.000646667 0.00066 0.00068 0.000673333 0.00064 0.000633333 +0.00064 0.00066 0.000633333 0.000646667 0.00068 0.000693333 0.000686667 0.00066 +0.000666667 0.000693333 0.000693333 0.000693333 0.00072 0.000773333 0.219787 0.287947 +0.25008 0.000993333 0.325813 0.539158 0.697684 0.868211 0.976842 0.991755 +0.982939 0.962316 0.947789 0.941474 0.939579 0.940211 0.943368 0.950316 +0.961684 0.976842 0.983592 0.988816 0.996 1.00286 1.0071 1.00906 +1.00939 1.00906 1.00971 1.01069 1.01167 1.01233 1.01167 1.01135 +1.01298 1.01331 1.01363 1.01331 1.012 1.01298 1.01363 1.01331 +1.01331 1.01298 1.01037 1.0071 1.00547 1.00416 1.00351 1.00253 +1.00155 1.00188 1.00286 1.00384 1.0058 1.00678 1.0071 1.0058 +1.00547 1.00612 1.00612 1.00776 1.00971 1.01135 1.012 1.01331 +1.01461 1.01494 1.01657 1.01918 1.02049 1.01886 1.01722 1.01788 +1.0169 1.01657 1.01624 1.01592 1.01657 1.0169 1.01722 1.01527 +1.01592 1.01624 1.01559 1.01396 1.01069 1.00743 1.0071 1.00514 +1.00024 0.995347 0.990449 0.983265 0.973684 0.963579 0.959789 0.962947 +0.970526 0.978105 0.981306 0.978737 0.973053 0.966105 0.966737 0.974947 +0.980327 0.981633 0.982939 0.981959 0.975579 0.973053 0.971789 0.974316 +0.98098 0.983592 0.989469 0.995673 1.00188 1.00612 1.00939 1.01298 +1.01298 1.01265 1.01624 1.01657 1.01527 1.01135 1.00743 1.00776 +1.00776 1.00612 1.00384 0.999592 1.0009 1.00547 1.00384 0.999265 +0.990449 0.977474 0.965474 0.969263 0.982286 1.00906 1.05576 1.1726 +1.18325 1.15586 1.10869 1.05314 1.03551 1.02343 1.01396 1.00678 +1.00547 1.00612 1.00547 1.00449 1.00514 1.00318 1.00024 1.00122 +1.0009 1.00057 0.997633 0.99502 0.992735 0.989796 0.98751 0.990449 +0.991429 0.996 1.00024 1.00155 1.00384 1.00514 1.00416 0.999265 +0.992082 0.986857 0.984898 0.986531 0.991102 0.996653 1.00547 1.00971 +1.01069 1.01527 1.02245 1.02637 1.02473 1.02376 1.02147 1.01918 +1.01788 1.01951 1.01918 1.01461 1.01233 1.01135 1.01265 1.01265 +1.01167 1.00612 1.0009 1.0009 1.00612 1.01559 1.02245 1.01984 +1.01527 1.01559 1.0218 1.02441 1.02376 1.02114 1.01984 1.01722 +1.01102 1.00416 1.00253 1.00351 1.00384 1.00743 1.00841 1.0071 +1.00416 1.00155 1.00057 0.997633 0.991102 0.983918 0.967368 0.938316 +0.906105 0.865053 0.815789 0.765263 0.709684 0.657263 0.614947 0.572 +0.534105 0.502526 0.439413 0.405333 0.373147 0.342853 0.354213 0.365573 +0.331493 0.310667 0.333387 0.365573 0.39208 0.373147 0.339067 0.320133 +0.31824 0.314453 0.297413 0.297413 0.31824 0.320133 0.308773 0.31256 +0.310667 0.28416 0.274693 0.282267 0.274693 0.263333 0.265227 0.274693 +0.280373 0.280373 0.280373 0.28984 0.308773 0.331493 0.388293 0.502526 +0.576421 0.685684 0.796842 0.879579 0.935158 0.971158 0.985551 0.991429 +0.995347 0.999265 1.0022 1.00318 1.00253 1.00482 1.00678 1.00743 +1.00612 1.00514 1.0058 1.00416 0.999918 1.00024 1.00351 1.00351 +1.0022 1.00057 0.996327 0.990122 0.982939 0.971789 0.968 0.958526 +0.945263 0.939579 0.940842 0.944 0.951579 0.968632 0.981306 0.955368 +0.853684 0.689474 0.542316 0.4148 0.367467 0.320133 0.2444 0.00092 +0.000833333 0.000806667 0.00078 0.000773333 0.00078 0.00078 0.00078 0.00076 +0.00076 0.000766667 0.000753333 0.000753333 0.000753333 0.00072 0.00072 0.000706667 +0.00072 0.000713333 0.000693333 0.0007 0.000686667 0.000693333 0.000713333 0.000713333 +0.000733333 0.000706667 0.000693333 0.000713333 0.0007 0.000713333 0.000733333 0.00072 +0.00072 0.000713333 0.000693333 0.000713333 0.000726667 0.000726667 0.000713333 0.0007 +0.00072 0.000746667 0.000753333 0.000733333 0.000713333 0.00072 0.00074 0.000746667 +0.000726667 0.000713333 0.000706667 0.000713333 0.000733333 0.000746667 0.000766667 0.000746667 +0.000706667 0.000733333 0.000733333 0.00072 0.000733333 0.000713333 0.000713333 0.000693333 +0.000693333 0.000726667 0.000753333 0.000766667 0.00076 0.000726667 0.000713333 0.00072 +0.000746667 0.00074 0.00072 0.000706667 0.00068 0.000673333 0.00068 0.000673333 +0.000686667 0.0007 0.000686667 0.0007 0.000706667 0.0007 0.000666667 0.00068 +0.000706667 0.000713333 0.000713333 0.000693333 0.0007 0.0007 0.000693333 0.000693333 +0.000673333 0.00068 0.000686667 0.000666667 0.00066 0.000646667 0.000653333 0.00066 +0.000666667 0.000686667 0.000693333 0.00068 0.000666667 0.000673333 0.000693333 0.00068 +0.000673333 0.00066 0.000673333 0.000666667 0.000666667 0.000646667 0.00064 0.000653333 +0.00066 0.000653333 0.000646667 0.000653333 0.000653333 0.000666667 0.000666667 0.000653333 +0.00066 0.00068 0.000673333 0.00066 0.00064 0.000646667 0.000673333 0.00068 +0.000653333 0.000653333 0.000646667 0.00064 0.000653333 0.00066 0.000666667 0.00066 +0.000633333 0.000646667 0.00064 0.000626667 0.000633333 0.000653333 0.00066 0.00064 +0.000633333 0.000626667 0.000626667 0.000646667 0.00064 0.000633333 0.000646667 0.000653333 +0.000653333 0.000653333 0.00066 0.00064 0.000653333 0.000673333 0.000666667 0.000653333 +0.00066 0.000646667 0.000626667 0.000633333 0.00064 0.000653333 0.00068 0.00068 +0.000693333 0.0007 0.000686667 0.0007 0.00074 0.000853333 0.25576 0.286053 +0.246293 0.304987 0.527158 0.690105 0.865684 0.972421 0.990449 0.982286 +0.962316 0.949053 0.940842 0.937684 0.938316 0.942737 0.950947 0.968 +0.983265 0.989143 0.991755 0.997633 1.00384 1.00776 1.01004 1.01069 +1.00971 1.00906 1.01037 1.01233 1.01363 1.01363 1.01298 1.01298 +1.01233 1.01265 1.01461 1.01559 1.01396 1.01461 1.01461 1.01331 +1.01233 1.01069 1.00873 1.00645 1.00547 1.00384 1.00253 1.00155 +1.0009 1.00122 1.0022 1.00286 1.0022 0.998939 0.99698 0.996327 +0.995347 0.99698 0.998612 0.998286 0.998286 1.0009 1.00514 1.0071 +1.00841 1.00906 1.00971 1.01135 1.01233 1.012 1.012 1.01363 +1.01461 1.01331 1.01265 1.01233 1.01102 1.01037 1.01037 1.01004 +1.00971 1.00906 1.00939 1.00939 1.00808 1.0058 1.00416 1.0022 +0.997306 0.992082 0.985551 0.974316 0.956632 0.945263 0.937684 0.935158 +0.938316 0.949053 0.962947 0.969263 0.968632 0.969263 0.978737 0.987184 +0.988816 0.986531 0.985878 0.983265 0.973053 0.964211 0.961684 0.966105 +0.978737 0.981633 0.983592 0.988163 0.992735 0.996653 1.00057 1.00612 +1.01069 1.012 1.01331 1.01429 1.01331 1.00873 1.00155 0.999265 +0.999265 0.996327 0.99698 0.996 0.997959 1.0022 1.00188 0.996653 +0.98849 0.978105 0.973684 0.978737 0.987184 1.00351 1.02963 1.04433 +1.03714 1.02114 1.01004 0.999592 0.988163 0.983265 0.98098 0.974316 +0.976842 0.98098 0.982286 0.98098 0.979368 0.981959 0.983265 0.985551 +0.983265 0.981633 0.977474 0.974316 0.978737 0.981306 0.98 0.981306 +0.981959 0.986857 0.990449 0.989143 0.988163 0.992408 0.99502 0.993714 +0.991429 0.98751 0.984898 0.984245 0.98849 0.994694 1.00318 1.00743 +1.00482 1.00612 1.01167 1.01396 1.01233 1.01037 1.00776 1.00612 +1.00612 1.00906 1.01102 1.01069 1.01037 1.01069 1.01429 1.01951 +1.02049 1.01069 0.996653 0.993714 1.00384 1.01886 1.02278 1.01331 +1.00678 1.01069 1.01657 1.01951 1.01918 1.0169 1.01788 1.01429 +1.00449 0.994367 0.98849 0.988163 0.992082 0.996327 0.995673 0.991755 +0.985224 0.974947 0.954737 0.922526 0.881474 0.842316 0.796842 0.752 +0.710947 0.665474 0.618105 0.573263 0.534737 0.512 0.486747 0.43752 +0.411013 0.393973 0.388293 0.382613 0.367467 0.356107 0.378827 0.39208 +0.350427 0.31824 0.32392 0.3296 0.378827 0.407227 0.378827 0.34664 +0.337173 0.32392 0.3012 0.299307 0.314453 0.31824 0.308773 0.3012 +0.29552 0.28416 0.286053 0.280373 0.274693 0.274693 0.270907 0.263333 +0.263333 0.270907 0.276587 0.274693 0.27848 0.28984 0.310667 0.339067 +0.40912 0.529053 0.62 0.709053 0.791158 0.866316 0.923158 0.962947 +0.983265 0.990776 0.994694 0.997633 0.999592 1.00351 1.0058 1.00612 +1.00514 1.00547 1.00743 1.00645 1.00449 1.00482 1.00841 1.01265 +1.01396 1.01331 1.00743 0.999918 0.993061 0.985878 0.977474 0.969895 +0.959789 0.950316 0.944632 0.946526 0.947158 0.955368 0.972421 0.98098 +0.950947 0.837895 0.669263 0.528421 0.395867 0.350427 0.314453 0.251973 +0.000913333 0.000813333 0.0008 0.000793333 0.000793333 0.000813333 0.000813333 0.000766667 +0.000773333 0.00078 0.000753333 0.000773333 0.000746667 0.000706667 0.000706667 0.000706667 +0.00074 0.00074 0.000706667 0.000693333 0.0007 0.00072 0.000706667 0.000693333 +0.000726667 0.000706667 0.00068 0.000706667 0.0007 0.000713333 0.000713333 0.00068 +0.0007 0.0007 0.00068 0.000693333 0.000693333 0.000673333 0.000686667 0.000713333 +0.00074 0.000733333 0.000726667 0.000713333 0.00072 0.000713333 0.000706667 0.000686667 +0.00068 0.0007 0.000733333 0.000733333 0.000733333 0.00072 0.000713333 0.000726667 +0.000726667 0.00074 0.000726667 0.000706667 0.000693333 0.000713333 0.000706667 0.000726667 +0.000746667 0.00076 0.00074 0.0007 0.000693333 0.00072 0.000753333 0.000746667 +0.00072 0.000706667 0.00072 0.000713333 0.00072 0.0007 0.000706667 0.000693333 +0.000686667 0.0007 0.000693333 0.000686667 0.000673333 0.000693333 0.0007 0.000693333 +0.000673333 0.00068 0.00068 0.000686667 0.0007 0.000686667 0.000673333 0.000673333 +0.00066 0.000653333 0.000653333 0.000673333 0.000686667 0.00068 0.00066 0.000633333 +0.000633333 0.000646667 0.000666667 0.000673333 0.000666667 0.000666667 0.000686667 0.000693333 +0.000673333 0.000653333 0.00066 0.00068 0.000693333 0.000686667 0.000666667 0.00064 +0.000653333 0.000673333 0.000673333 0.000666667 0.000666667 0.000666667 0.000666667 0.00068 +0.00068 0.000673333 0.000666667 0.00066 0.000646667 0.000646667 0.000653333 0.000653333 +0.000633333 0.000646667 0.000646667 0.000626667 0.000626667 0.000626667 0.000646667 0.00066 +0.000653333 0.000653333 0.000633333 0.000626667 0.000626667 0.00064 0.000673333 0.000653333 +0.000653333 0.00064 0.00062 0.000626667 0.000626667 0.000633333 0.000633333 0.00064 +0.00062 0.000633333 0.00064 0.000626667 0.000613333 0.000633333 0.00062 0.00062 +0.000666667 0.00066 0.000626667 0.000626667 0.000633333 0.000626667 0.000653333 0.00066 +0.0007 0.00072 0.000693333 0.000693333 0.000766667 0.216 0.28984 0.286053 +0.31256 0.516421 0.676842 0.86 0.974947 0.98849 0.978105 0.960421 +0.950947 0.945895 0.938316 0.936421 0.940211 0.951579 0.968 0.984898 +0.99502 0.998612 0.999592 1.00449 1.00906 1.01135 1.012 1.01102 +1.01004 1.01037 1.01102 1.012 1.01331 1.01527 1.01624 1.01527 +1.01592 1.01657 1.0169 1.0169 1.0169 1.01624 1.01363 1.012 +1.012 1.01037 1.00743 1.00482 1.00416 1.00253 1.00122 1.00024 +0.999265 0.997306 0.995347 0.993061 0.988163 0.983265 0.980653 0.978737 +0.978105 0.98 0.981959 0.983918 0.985551 0.987184 0.989469 0.991429 +0.993388 0.996 0.99698 0.998939 0.999265 0.998939 1.00057 1.0022 +1.00351 1.0022 1.00155 1.00253 1.00253 1.0022 1.00188 1.00286 +1.00351 1.0022 1.00188 1.00286 1.00286 0.999918 0.997633 0.995673 +0.991755 0.987184 0.981633 0.972421 0.958526 0.947158 0.937053 0.932632 +0.932632 0.936421 0.946526 0.954105 0.954737 0.964211 0.984571 0.99698 +0.997633 0.987837 0.98098 0.976211 0.963579 0.951579 0.946526 0.944632 +0.954105 0.962947 0.968 0.973053 0.98098 0.988163 0.993714 0.997959 +1.00351 1.00645 1.0071 1.00645 1.00416 1.00188 0.99698 0.991429 +0.991102 0.990776 0.993061 0.996327 0.997959 0.998939 0.994367 0.986857 +0.981633 0.975579 0.973053 0.975579 0.982939 0.989143 0.995673 0.997633 +0.992408 0.981633 0.968 0.963579 0.956632 0.956 0.959158 0.957895 +0.961053 0.964211 0.969263 0.969263 0.966737 0.973684 0.978105 0.982286 +0.981306 0.976842 0.974947 0.977474 0.981633 0.986204 0.986857 0.98849 +0.993061 0.996653 1.00024 0.999592 0.997306 0.997959 1.00057 1.00351 +1.00482 1.00188 0.998286 0.994694 0.996653 1.00188 1.00841 1.01167 +1.00547 1.00351 1.00645 1.00482 1.0022 1.00024 0.998612 0.998939 +0.999592 1.00057 1.00286 1.00449 1.00482 1.00351 1.00645 1.01592 +1.02376 1.0169 1.00122 0.995347 1.00351 1.01592 1.01886 1.01102 +1.0071 1.01167 1.01331 1.01233 1.01363 1.01429 1.01788 1.01592 +1.00384 0.986857 0.964211 0.951579 0.949053 0.940211 0.920632 0.890947 +0.853053 0.811368 0.765895 0.716632 0.666105 0.626947 0.587789 0.552421 +0.530947 0.516421 0.503158 0.452667 0.42048 0.4148 0.390187 0.367467 +0.371253 0.373147 0.38072 0.38072 0.376933 0.384507 0.395867 0.384507 +0.344747 0.32392 0.31824 0.3012 0.359893 0.424267 0.401547 0.359893 +0.337173 0.325813 0.304987 0.304987 0.31256 0.314453 0.30688 0.29552 +0.287947 0.287947 0.297413 0.282267 0.276587 0.27848 0.263333 0.253867 +0.259547 0.270907 0.28416 0.28416 0.287947 0.29552 0.304987 0.322027 +0.342853 0.407227 0.508842 0.549895 0.601053 0.675579 0.762737 0.849895 +0.92 0.962316 0.982286 0.989143 0.99502 1.00024 1.00286 1.00253 +1.00318 1.00384 1.00612 1.00678 1.00873 1.01037 1.01461 1.0231 +1.02865 1.02767 1.02245 1.01331 1.00482 0.996653 0.988816 0.984245 +0.974947 0.959789 0.949053 0.949053 0.947158 0.947789 0.957895 0.980327 +0.987184 0.947158 0.813263 0.639579 0.507579 0.37504 0.359893 0.32392 +0.248187 0.000893333 0.000833333 0.0008 0.000806667 0.000826667 0.000833333 0.000786667 +0.000773333 0.00078 0.000773333 0.00078 0.000766667 0.000753333 0.000746667 0.000746667 +0.000753333 0.00076 0.00072 0.000706667 0.00072 0.00072 0.000693333 0.000693333 +0.000726667 0.000713333 0.000686667 0.00074 0.000733333 0.000706667 0.000726667 0.000713333 +0.000706667 0.0007 0.000686667 0.00068 0.000686667 0.0007 0.00072 0.000706667 +0.0007 0.000686667 0.000686667 0.000706667 0.0007 0.000693333 0.000693333 0.000686667 +0.000713333 0.000733333 0.000753333 0.000746667 0.00072 0.0007 0.000693333 0.000746667 +0.00076 0.00072 0.000713333 0.000706667 0.0007 0.00074 0.000746667 0.000753333 +0.000733333 0.000713333 0.000706667 0.000706667 0.00072 0.000753333 0.000746667 0.000713333 +0.000706667 0.000706667 0.000733333 0.000733333 0.000706667 0.0007 0.0007 0.000713333 +0.0007 0.0007 0.000693333 0.00068 0.000666667 0.000666667 0.00068 0.0007 +0.000686667 0.00068 0.000673333 0.00068 0.000686667 0.00068 0.000686667 0.00068 +0.000673333 0.000666667 0.00066 0.000646667 0.000653333 0.000673333 0.000686667 0.000666667 +0.000653333 0.00066 0.00066 0.000653333 0.000646667 0.00066 0.000666667 0.000673333 +0.000666667 0.000653333 0.000673333 0.00068 0.000693333 0.000706667 0.000706667 0.00068 +0.000653333 0.000673333 0.000673333 0.00068 0.0007 0.000686667 0.000666667 0.00066 +0.00066 0.000673333 0.000673333 0.000653333 0.00064 0.00064 0.000653333 0.000653333 +0.000613333 0.000626667 0.000646667 0.000633333 0.000646667 0.000646667 0.00064 0.00064 +0.000646667 0.000653333 0.000626667 0.000613333 0.0006 0.0006 0.000633333 0.00064 +0.000633333 0.000613333 0.0006 0.000606667 0.000613333 0.000606667 0.000606667 0.000613333 +0.000606667 0.000626667 0.00064 0.000633333 0.000646667 0.000646667 0.000626667 0.00062 +0.000633333 0.00064 0.000653333 0.000653333 0.000653333 0.000626667 0.000626667 0.00064 +0.00068 0.0007 0.000706667 0.000746667 0.000906667 0.26712 0.303093 0.320133 +0.507579 0.663579 0.847368 0.972421 0.992735 0.982286 0.958526 0.945263 +0.944 0.944 0.940211 0.940842 0.952211 0.972421 0.987184 0.995347 +1.00155 1.00416 1.00547 1.00743 1.00971 1.01135 1.01298 1.01233 +1.01167 1.01298 1.01461 1.01592 1.01722 1.01886 1.01984 1.02016 +1.01984 1.01984 1.01853 1.01755 1.0169 1.01429 1.01135 1.00906 +1.00743 1.00514 1.00122 0.997633 0.994367 0.991102 0.990122 0.987837 +0.984571 0.980653 0.972421 0.962947 0.949684 0.937684 0.930105 0.924421 +0.921895 0.92 0.92379 0.933895 0.940842 0.944632 0.949684 0.956632 +0.963579 0.972421 0.978105 0.98098 0.983592 0.985551 0.987837 0.990122 +0.991755 0.991429 0.989469 0.991102 0.993061 0.993714 0.993388 0.994367 +0.996 0.996653 0.995347 0.996327 0.997633 0.995673 0.992735 0.990122 +0.987837 0.985878 0.982612 0.978105 0.969895 0.964842 0.958526 0.952842 +0.950947 0.950316 0.952211 0.956632 0.957895 0.963579 0.982286 0.994694 +0.99698 0.985878 0.967368 0.958526 0.954737 0.949053 0.945895 0.936421 +0.933895 0.940211 0.947789 0.952842 0.959158 0.972421 0.981959 0.987184 +0.993061 0.995673 0.996327 0.996653 0.993714 0.989796 0.985224 0.981306 +0.982939 0.986857 0.990449 0.991429 0.987837 0.984898 0.978737 0.965474 +0.961053 0.959789 0.961053 0.962947 0.969263 0.971789 0.968632 0.960421 +0.959158 0.955368 0.950316 0.950316 0.947158 0.945895 0.950316 0.952842 +0.959158 0.961053 0.965474 0.968632 0.970526 0.979368 0.981959 0.985224 +0.984898 0.981306 0.983592 0.98751 0.990122 0.995347 0.996653 0.998939 +1.00416 1.00678 1.00906 1.01037 1.00971 1.01265 1.01494 1.01722 +1.01886 1.01722 1.01429 1.01135 1.012 1.01429 1.01755 1.0169 +1.01363 1.012 1.012 1.01004 1.00645 1.00351 1.00253 1.00024 +0.999265 0.999265 0.997633 0.999265 0.999592 0.998286 0.999592 1.00678 +1.01592 1.01494 1.00449 1.0009 1.00351 1.0071 1.00906 1.00514 +1.00155 1.00351 1.00286 1.0009 1.00286 1.00449 1.00776 1.01004 +1.00547 0.982286 0.909895 0.852421 0.806947 0.764 0.724842 0.680632 +0.635158 0.595368 0.564421 0.539158 0.513895 0.504421 0.498107 0.452667 +0.418587 0.412907 0.4148 0.39776 0.399653 0.399653 0.365573 0.350427 +0.356107 0.356107 0.359893 0.350427 0.350427 0.376933 0.388293 0.36368 +0.322027 0.31256 0.31824 0.320133 0.373147 0.43184 0.424267 0.36936 +0.333387 0.333387 0.322027 0.32392 0.320133 0.308773 0.303093 0.293627 +0.27848 0.27848 0.304987 0.29552 0.286053 0.276587 0.251973 0.25576 +0.270907 0.282267 0.29552 0.3012 0.299307 0.291733 0.291733 0.308773 +0.33528 0.371253 0.407227 0.42616 0.45456 0.516421 0.573263 0.657895 +0.757684 0.851158 0.922526 0.965474 0.984245 0.992408 0.996653 0.997306 +0.998939 1.0009 1.00318 1.00514 1.00939 1.01461 1.02082 1.03192 +1.03943 1.03747 1.03224 1.02669 1.01853 1.00939 1.0009 0.993061 +0.984245 0.972421 0.959789 0.950947 0.944632 0.945895 0.955368 0.977474 +0.989143 0.986857 0.92821 0.782316 0.605474 0.47728 0.373147 0.36368 +0.325813 0.23872 0.00088 0.000826667 0.00082 0.00084 0.000866667 0.00082 +0.000766667 0.000786667 0.00078 0.000773333 0.000813333 0.000806667 0.000793333 0.000773333 +0.00076 0.000766667 0.000766667 0.00076 0.000753333 0.00072 0.000706667 0.00072 +0.000766667 0.000753333 0.000733333 0.000766667 0.00076 0.000713333 0.000726667 0.000733333 +0.00072 0.0007 0.000693333 0.000706667 0.000733333 0.000746667 0.000713333 0.000686667 +0.000693333 0.000693333 0.000713333 0.000733333 0.000713333 0.000713333 0.000746667 0.00076 +0.000746667 0.00074 0.00074 0.000713333 0.000706667 0.000726667 0.00074 0.000746667 +0.000753333 0.000733333 0.000726667 0.000726667 0.000726667 0.00074 0.00074 0.000726667 +0.000733333 0.00076 0.00078 0.000766667 0.000733333 0.00074 0.000726667 0.000726667 +0.000726667 0.000713333 0.00072 0.000733333 0.000686667 0.000686667 0.000673333 0.000693333 +0.0007 0.000706667 0.0007 0.000693333 0.00068 0.000686667 0.00068 0.000693333 +0.000693333 0.0007 0.000686667 0.00068 0.000686667 0.00068 0.0007 0.0007 +0.000706667 0.000706667 0.000686667 0.00068 0.000653333 0.000653333 0.00068 0.000693333 +0.000693333 0.000693333 0.000693333 0.00068 0.000653333 0.000666667 0.000666667 0.000666667 +0.000666667 0.000653333 0.000666667 0.000673333 0.000666667 0.000693333 0.0007 0.000686667 +0.000666667 0.00066 0.000646667 0.00064 0.00066 0.000673333 0.000673333 0.00066 +0.000633333 0.000646667 0.00066 0.000653333 0.000653333 0.000646667 0.000653333 0.000653333 +0.000633333 0.00064 0.00064 0.000633333 0.000633333 0.00064 0.00064 0.000646667 +0.000626667 0.000626667 0.000626667 0.000626667 0.000606667 0.0006 0.00062 0.000613333 +0.00062 0.00064 0.000633333 0.000626667 0.000633333 0.000606667 0.000613333 0.00062 +0.000606667 0.00062 0.000626667 0.000633333 0.000653333 0.000646667 0.00066 0.00068 +0.000673333 0.000633333 0.000633333 0.00066 0.000686667 0.000686667 0.00066 0.000653333 +0.000686667 0.000693333 0.000713333 0.000846667 0.253867 0.308773 0.32392 0.475387 +0.640842 0.834737 0.964842 0.990449 0.984245 0.966105 0.947158 0.940211 +0.940842 0.942105 0.945895 0.956 0.973684 0.988163 0.998612 1.00416 +1.00678 1.00906 1.00939 1.00939 1.01167 1.01233 1.01265 1.01331 +1.01396 1.01559 1.01722 1.01918 1.02114 1.02245 1.0218 1.02212 +1.0218 1.02016 1.0182 1.01722 1.01494 1.01069 1.0058 1.00155 +0.99698 0.992082 0.986531 0.98098 0.971789 0.961053 0.952211 0.942105 +0.933263 0.925684 0.911789 0.894105 0.875789 0.859368 0.844211 0.833474 +0.824 0.815789 0.815789 0.823368 0.827789 0.828421 0.832211 0.844842 +0.86 0.875789 0.887789 0.899789 0.914316 0.929474 0.939579 0.949053 +0.959789 0.968632 0.973684 0.977474 0.980653 0.983265 0.983918 0.984571 +0.985551 0.98751 0.987837 0.985878 0.988163 0.991755 0.990449 0.98751 +0.985878 0.983918 0.981959 0.980327 0.974947 0.969895 0.969895 0.969263 +0.968632 0.968632 0.967368 0.968 0.971158 0.971158 0.977474 0.985224 +0.989469 0.983918 0.966105 0.955368 0.954105 0.950947 0.950316 0.945895 +0.934526 0.932 0.934526 0.939579 0.944 0.951579 0.959158 0.967368 +0.979368 0.983265 0.984898 0.988163 0.986204 0.975579 0.958526 0.949053 +0.952842 0.964211 0.977474 0.98 0.969263 0.962316 0.959158 0.952211 +0.949684 0.952211 0.954737 0.957263 0.960421 0.961053 0.955368 0.949053 +0.950316 0.950947 0.947158 0.948421 0.950947 0.949684 0.949684 0.948421 +0.952842 0.954737 0.960421 0.969895 0.977474 0.984898 0.987837 0.991429 +0.992082 0.991429 0.993714 0.997306 1.00155 1.00514 1.00808 1.01102 +1.01363 1.01429 1.01592 1.01951 1.01886 1.02114 1.01984 1.01657 +1.01788 1.01951 1.0182 1.0169 1.01984 1.0218 1.0218 1.02049 +1.02114 1.02278 1.0218 1.02082 1.01853 1.01559 1.01494 1.01265 +1.01037 1.00808 1.00318 1.00286 1.00286 1.0022 1.00188 1.00318 +1.0071 1.0071 1.00286 1.0009 0.996653 0.994041 0.994367 0.990122 +0.985878 0.986204 0.985224 0.985224 0.988163 0.98751 0.987837 0.992408 +0.99698 0.967368 0.848 0.733053 0.649684 0.596 0.565684 0.536632 +0.512632 0.48296 0.450773 0.44888 0.429947 0.458347 0.510737 0.514526 +0.490533 0.433733 0.39208 0.382613 0.405333 0.412907 0.382613 0.36368 +0.358 0.344747 0.333387 0.314453 0.316347 0.34664 0.3864 0.39776 +0.361787 0.337173 0.33528 0.348533 0.393973 0.445093 0.47728 0.446987 +0.39776 0.376933 0.356107 0.354213 0.34664 0.31824 0.3012 0.28984 +0.269013 0.26712 0.29552 0.30688 0.310667 0.28984 0.263333 0.274693 +0.3012 0.30688 0.304987 0.308773 0.3012 0.29552 0.299307 0.31256 +0.344747 0.373147 0.38072 0.367467 0.365573 0.3864 0.428053 0.507579 +0.569474 0.662947 0.774737 0.876421 0.941474 0.973053 0.985878 0.993388 +0.997633 0.999265 1.00122 1.00514 1.00939 1.01592 1.02767 1.0391 +1.04465 1.04106 1.03714 1.03714 1.0329 1.0231 1.01167 1.00253 +0.99502 0.986857 0.974947 0.959158 0.946526 0.945895 0.954105 0.966737 +0.980327 0.98849 0.984571 0.905474 0.74 0.573895 0.429947 0.361787 +0.367467 0.30688 0.219787 0.00086 0.000826667 0.00086 0.00088 0.000833333 +0.000786667 0.00078 0.000793333 0.000813333 0.000833333 0.000806667 0.000786667 0.000773333 +0.00076 0.00074 0.000746667 0.000753333 0.000753333 0.000746667 0.000733333 0.00074 +0.00076 0.000746667 0.00072 0.00074 0.00074 0.0007 0.000713333 0.00072 +0.000713333 0.0007 0.000713333 0.000733333 0.000746667 0.00072 0.00068 0.0007 +0.000733333 0.000733333 0.000726667 0.00074 0.000733333 0.00076 0.000793333 0.00076 +0.000706667 0.000733333 0.00074 0.00072 0.000726667 0.000746667 0.000746667 0.00072 +0.000713333 0.000706667 0.000706667 0.00074 0.00076 0.00074 0.00074 0.000746667 +0.00078 0.000786667 0.000766667 0.000733333 0.000733333 0.000753333 0.000773333 0.00074 +0.000733333 0.00074 0.000726667 0.000746667 0.000706667 0.000706667 0.000673333 0.000673333 +0.000693333 0.0007 0.000713333 0.000726667 0.0007 0.0007 0.00072 0.000706667 +0.000686667 0.000713333 0.000713333 0.000693333 0.0007 0.000693333 0.000693333 0.00068 +0.000693333 0.000713333 0.000706667 0.000706667 0.0007 0.000666667 0.000646667 0.00066 +0.000673333 0.000693333 0.000693333 0.0007 0.000673333 0.00066 0.00064 0.000653333 +0.000673333 0.000653333 0.000653333 0.00066 0.00066 0.00066 0.00066 0.000666667 +0.000673333 0.000653333 0.000653333 0.00066 0.00066 0.00064 0.000653333 0.000666667 +0.00066 0.000666667 0.000666667 0.00066 0.000633333 0.000626667 0.000633333 0.000653333 +0.000633333 0.00062 0.000626667 0.000633333 0.000633333 0.000613333 0.0006 0.000633333 +0.000633333 0.00064 0.000646667 0.000646667 0.000626667 0.000626667 0.000646667 0.00062 +0.0006 0.000633333 0.000653333 0.00066 0.000646667 0.000626667 0.00062 0.000626667 +0.000606667 0.000633333 0.00064 0.000633333 0.00064 0.00064 0.000626667 0.00066 +0.000686667 0.00068 0.00066 0.00064 0.00064 0.000686667 0.000693333 0.000686667 +0.0007 0.0007 0.000786667 0.225467 0.303093 0.333387 0.44888 0.613053 +0.806316 0.954737 0.990122 0.982939 0.966105 0.949684 0.938947 0.938316 +0.940842 0.947789 0.961684 0.98098 0.990122 0.997633 1.00384 1.00678 +1.00841 1.01135 1.01135 1.01102 1.012 1.012 1.01429 1.01592 +1.0169 1.01886 1.02114 1.02245 1.0231 1.02441 1.02441 1.0231 +1.02212 1.02082 1.01951 1.01592 1.01167 1.00743 1.00057 0.992735 +0.983918 0.967368 0.945895 0.921895 0.900421 0.879579 0.860632 0.843579 +0.829053 0.818316 0.805053 0.786105 0.767789 0.750105 0.729263 0.710947 +0.696421 0.685053 0.676211 0.673053 0.669895 0.662947 0.659158 0.662947 +0.674316 0.685684 0.694526 0.704632 0.722947 0.746947 0.767158 0.781684 +0.8 0.820211 0.837263 0.848 0.855579 0.863789 0.874526 0.885895 +0.891579 0.897895 0.906105 0.911158 0.92379 0.944 0.948421 0.940842 +0.936421 0.930105 0.92379 0.921263 0.921263 0.923158 0.929474 0.935158 +0.937053 0.940211 0.942105 0.942105 0.944 0.945895 0.949684 0.957895 +0.962947 0.958526 0.944 0.934526 0.932632 0.92821 0.925053 0.918737 +0.906737 0.899158 0.898526 0.901053 0.907368 0.908632 0.906737 0.907368 +0.914316 0.926316 0.938316 0.952211 0.954105 0.944 0.933263 0.925684 +0.922526 0.930737 0.944 0.952842 0.951579 0.949053 0.950316 0.947789 +0.947158 0.950947 0.952842 0.950316 0.953474 0.954737 0.951579 0.945263 +0.944 0.947789 0.945895 0.943368 0.945895 0.947158 0.948421 0.948421 +0.954105 0.955368 0.962947 0.978737 0.983265 0.988816 0.994367 0.999918 +1.00057 1.00155 1.00384 1.00743 1.01298 1.01363 1.01331 1.01396 +1.0169 1.01886 1.02016 1.0218 1.02082 1.0218 1.02016 1.01624 +1.01918 1.02408 1.02506 1.02506 1.02702 1.02767 1.02669 1.02539 +1.02506 1.02865 1.03192 1.03127 1.03094 1.028 1.02735 1.02669 +1.02473 1.02049 1.0169 1.0169 1.01363 1.012 1.00971 1.00645 +1.00514 1.00253 0.999918 0.997306 0.990776 0.985551 0.985224 0.982286 +0.978105 0.978737 0.977474 0.978737 0.980653 0.976842 0.973684 0.980327 +0.986204 0.957263 0.841684 0.717263 0.623789 0.569474 0.541684 0.517053 +0.501263 0.45456 0.40912 0.407227 0.401547 0.435627 0.510105 0.527158 +0.508211 0.43184 0.373147 0.371253 0.407227 0.428053 0.43184 0.418587 +0.384507 0.348533 0.322027 0.3012 0.308773 0.33528 0.376933 0.395867 +0.367467 0.3296 0.3296 0.350427 0.376933 0.42048 0.48864 0.508211 +0.504421 0.47728 0.435627 0.418587 0.411013 0.359893 0.316347 0.291733 +0.27848 0.276587 0.28416 0.310667 0.34096 0.325813 0.303093 0.304987 +0.316347 0.308773 0.286053 0.28416 0.286053 0.293627 0.30688 0.322027 +0.344747 0.36936 0.37504 0.36368 0.354213 0.356107 0.356107 0.367467 +0.40912 0.510105 0.590947 0.709684 0.829684 0.910526 0.956632 0.985224 +0.996653 0.999918 1.00155 1.00449 1.00776 1.01657 1.03094 1.04204 +1.04531 1.04269 1.03878 1.03812 1.03845 1.03355 1.02343 1.01494 +1.00678 0.997306 0.98751 0.976842 0.962316 0.949053 0.946526 0.953474 +0.964211 0.98098 0.989143 0.977474 0.873263 0.700211 0.544842 0.39776 +0.36368 0.358 0.28416 0.000973333 0.0009 0.000906667 0.000873333 0.000833333 +0.000793333 0.000813333 0.00084 0.000846667 0.00084 0.000806667 0.000766667 0.000766667 +0.000766667 0.00076 0.000746667 0.000753333 0.000753333 0.000766667 0.00074 0.00072 +0.000746667 0.000733333 0.000713333 0.000733333 0.00074 0.000706667 0.000706667 0.00072 +0.000713333 0.000713333 0.000706667 0.0007 0.000726667 0.000713333 0.000713333 0.000726667 +0.00074 0.000726667 0.000713333 0.00076 0.00076 0.000753333 0.000746667 0.000693333 +0.0007 0.000753333 0.000766667 0.00076 0.000753333 0.00072 0.00074 0.000733333 +0.000726667 0.000726667 0.00072 0.000746667 0.000746667 0.000733333 0.00074 0.00076 +0.000766667 0.000733333 0.000726667 0.000733333 0.000746667 0.000766667 0.000766667 0.00072 +0.00072 0.000726667 0.000726667 0.000753333 0.0007 0.000713333 0.000686667 0.00068 +0.000686667 0.000673333 0.00068 0.000706667 0.000706667 0.000706667 0.0007 0.000693333 +0.00068 0.000706667 0.000693333 0.000673333 0.00068 0.000686667 0.00068 0.000673333 +0.000673333 0.00068 0.000666667 0.00068 0.000693333 0.0007 0.00068 0.000673333 +0.000666667 0.00068 0.000693333 0.0007 0.000693333 0.000673333 0.000653333 0.00066 +0.00068 0.00066 0.00066 0.00068 0.000666667 0.000653333 0.000653333 0.000673333 +0.00066 0.000653333 0.000653333 0.00066 0.000673333 0.000653333 0.00064 0.000626667 +0.000626667 0.000653333 0.000666667 0.00066 0.00064 0.00062 0.000613333 0.000653333 +0.000653333 0.000633333 0.000633333 0.00062 0.00062 0.000626667 0.000613333 0.000586667 +0.000586667 0.00062 0.00064 0.00064 0.000626667 0.000613333 0.000633333 0.000633333 +0.000626667 0.0006 0.000606667 0.00062 0.000626667 0.000626667 0.000633333 0.000613333 +0.000593333 0.000613333 0.00064 0.000633333 0.00064 0.00064 0.000626667 0.000646667 +0.000666667 0.00066 0.000673333 0.00066 0.00064 0.000646667 0.000666667 0.00068 +0.000706667 0.00074 0.00094 0.28416 0.325813 0.407227 0.584 0.776 +0.937684 0.990122 0.984571 0.964211 0.950947 0.942737 0.938316 0.939579 +0.947789 0.965474 0.983592 0.994041 1.00024 1.00482 1.00776 1.00841 +1.00939 1.01102 1.012 1.01298 1.01396 1.01494 1.01853 1.02114 +1.0231 1.02441 1.02441 1.02506 1.02669 1.028 1.02669 1.02441 +1.02245 1.01951 1.01429 1.00906 1.00482 0.998612 0.990122 0.977474 +0.947158 0.906105 0.865684 0.830316 0.794316 0.760211 0.733053 0.710316 +0.691368 0.676842 0.666105 0.653474 0.642737 0.633895 0.615579 0.591579 +0.575158 0.566947 0.558737 0.551789 0.543579 0.532211 0.525263 0.524 +0.525895 0.527158 0.529684 0.532211 0.538526 0.552421 0.568842 0.578947 +0.587158 0.596632 0.607368 0.618737 0.625684 0.634526 0.647158 0.666737 +0.683789 0.690105 0.702105 0.718526 0.746316 0.782316 0.791789 0.783579 +0.778526 0.773474 0.769053 0.767158 0.772211 0.782316 0.794316 0.804421 +0.806947 0.810105 0.815158 0.815789 0.814526 0.820842 0.833474 0.844842 +0.839158 0.827158 0.817053 0.804421 0.796842 0.793684 0.786105 0.774737 +0.758947 0.749474 0.750737 0.754526 0.762737 0.762737 0.751368 0.745053 +0.753263 0.770947 0.793684 0.817684 0.834737 0.849263 0.863789 0.877684 +0.890316 0.904842 0.921263 0.933263 0.940211 0.942737 0.946526 0.947789 +0.942105 0.942737 0.945895 0.944632 0.945895 0.950947 0.951579 0.948421 +0.942737 0.942737 0.944 0.944632 0.944 0.940842 0.945895 0.952211 +0.962947 0.967368 0.972421 0.982939 0.988163 0.995347 1.00122 1.00612 +1.00776 1.00645 1.00776 1.00939 1.01233 1.01429 1.01429 1.01494 +1.01951 1.02473 1.02571 1.02376 1.02082 1.02245 1.02441 1.02376 +1.02604 1.02931 1.02931 1.03094 1.03355 1.0342 1.03322 1.03224 +1.03029 1.03159 1.03518 1.03486 1.03453 1.0329 1.03388 1.03584 +1.03453 1.03159 1.02963 1.02865 1.02539 1.0218 1.01853 1.01559 +1.012 1.00612 1.00122 0.995347 0.989796 0.985224 0.982612 0.982612 +0.982939 0.984898 0.983918 0.981959 0.981306 0.976842 0.975579 0.980327 +0.984245 0.966105 0.892211 0.794316 0.704632 0.641474 0.600421 0.566316 +0.545474 0.521474 0.48864 0.446987 0.40912 0.40912 0.462133 0.47728 +0.424267 0.373147 0.356107 0.376933 0.405333 0.42616 0.450773 0.479173 +0.4716 0.42048 0.361787 0.310667 0.308773 0.3296 0.342853 0.33528 +0.31256 0.3012 0.316347 0.325813 0.32392 0.342853 0.393973 0.44888 +0.490533 0.512632 0.516421 0.513263 0.511368 0.46592 0.382613 0.327707 +0.3012 0.299307 0.287947 0.30688 0.35232 0.35232 0.33528 0.31256 +0.304987 0.29552 0.276587 0.274693 0.28416 0.286053 0.29552 0.3296 +0.354213 0.365573 0.36936 0.359893 0.344747 0.339067 0.333387 0.333387 +0.33528 0.356107 0.439413 0.549895 0.663579 0.789895 0.890947 0.954105 +0.987184 0.998286 1.00122 1.00155 1.00612 1.01755 1.03127 1.04237 +1.04596 1.04465 1.0391 1.03322 1.03388 1.03747 1.03518 1.02767 +1.01624 1.00514 0.997959 0.990122 0.981959 0.961684 0.949053 0.949053 +0.954105 0.963579 0.980653 0.989469 0.964842 0.841684 0.663579 0.520211 +0.382613 0.365573 0.344747 0.2728 0.000986667 0.000893333 0.000873333 0.000853333 +0.00082 0.000813333 0.00082 0.000826667 0.000806667 0.000813333 0.000793333 0.000793333 +0.000813333 0.0008 0.000753333 0.00076 0.00078 0.000766667 0.000726667 0.000713333 +0.00078 0.00076 0.000733333 0.000753333 0.000746667 0.000726667 0.000746667 0.000766667 +0.000733333 0.00072 0.000706667 0.00072 0.000753333 0.000766667 0.00076 0.00076 +0.000753333 0.000733333 0.000733333 0.000766667 0.00076 0.00074 0.000753333 0.00074 +0.000726667 0.000753333 0.000753333 0.000733333 0.000693333 0.000706667 0.000753333 0.000733333 +0.00072 0.000713333 0.000693333 0.00072 0.00074 0.000753333 0.000753333 0.000746667 +0.000726667 0.000706667 0.00072 0.000746667 0.00076 0.000746667 0.000726667 0.000713333 +0.00072 0.000733333 0.000726667 0.000753333 0.00066 0.000666667 0.000686667 0.00068 +0.00068 0.000673333 0.00066 0.00066 0.000666667 0.00068 0.000666667 0.000673333 +0.00066 0.000673333 0.00066 0.000646667 0.000646667 0.000646667 0.000653333 0.00066 +0.000666667 0.000686667 0.00066 0.00066 0.00066 0.000653333 0.000666667 0.00068 +0.00068 0.000673333 0.000666667 0.000666667 0.00068 0.00068 0.000673333 0.00066 +0.000666667 0.000666667 0.000653333 0.000653333 0.000633333 0.000626667 0.000633333 0.000646667 +0.000646667 0.000653333 0.00066 0.00066 0.00066 0.00066 0.000653333 0.000626667 +0.00062 0.00064 0.000646667 0.000633333 0.000626667 0.000633333 0.000626667 0.00062 +0.000606667 0.000606667 0.000633333 0.00062 0.00062 0.000633333 0.000633333 0.00062 +0.0006 0.0006 0.000613333 0.000626667 0.000626667 0.000606667 0.000606667 0.000606667 +0.00062 0.0006 0.000586667 0.000586667 0.00058 0.000586667 0.000606667 0.000606667 +0.0006 0.00062 0.00062 0.000626667 0.000653333 0.00066 0.00064 0.00066 +0.000666667 0.000646667 0.00064 0.000633333 0.00064 0.000646667 0.000673333 0.000686667 +0.00072 0.00086 0.257653 0.31824 0.37504 0.548 0.735579 0.916842 +0.987837 0.984898 0.962947 0.949053 0.945263 0.944 0.947158 0.954105 +0.969895 0.985878 0.996 1.00318 1.00547 1.0071 1.00841 1.00939 +1.012 1.01461 1.01624 1.01886 1.02212 1.02408 1.02441 1.02604 +1.02833 1.028 1.02735 1.02898 1.03224 1.03388 1.03192 1.02571 +1.02049 1.0169 1.01004 1.00155 0.994041 0.983592 0.957263 0.916211 +0.867579 0.814526 0.764632 0.723579 0.682526 0.644632 0.614947 0.590316 +0.571368 0.556211 0.547368 0.540421 0.536632 0.535368 0.527158 0.512632 +0.501263 0.479173 0.462133 0.45456 0.439413 0.412907 0.39776 0.399653 +0.4148 0.416693 0.42048 0.42616 0.433733 0.445093 0.462133 0.46592 +0.458347 0.452667 0.456453 0.464027 0.46592 0.4716 0.48864 0.505053 +0.514526 0.517053 0.524 0.537895 0.561895 0.592842 0.598526 0.592842 +0.590947 0.589053 0.590316 0.592211 0.599158 0.611158 0.619368 0.623158 +0.621895 0.620632 0.623158 0.621263 0.615579 0.621263 0.635789 0.648421 +0.639579 0.621263 0.611789 0.597895 0.586526 0.582737 0.580211 0.575158 +0.562526 0.554316 0.555579 0.558737 0.561263 0.567579 0.565053 0.558737 +0.563158 0.574526 0.592842 0.615579 0.641474 0.679368 0.725474 0.779789 +0.837263 0.880211 0.908 0.922526 0.932632 0.937053 0.938947 0.943368 +0.940211 0.935789 0.938316 0.938947 0.939579 0.945895 0.945895 0.944 +0.942737 0.942737 0.940211 0.943368 0.949053 0.952842 0.961053 0.965474 +0.971789 0.980327 0.984245 0.991429 0.998286 1.00384 1.00384 1.00547 +1.00906 1.0071 1.0071 1.00776 1.01167 1.01592 1.01853 1.02278 +1.02702 1.02931 1.02996 1.02833 1.02637 1.02833 1.03029 1.02931 +1.03094 1.03257 1.03029 1.03061 1.03486 1.03486 1.03257 1.03224 +1.03094 1.03159 1.03388 1.03322 1.03127 1.03061 1.03388 1.03747 +1.03714 1.03518 1.03486 1.03453 1.03127 1.02767 1.02441 1.02278 +1.01951 1.01527 1.01037 1.00122 0.993388 0.988163 0.982612 0.981306 +0.981959 0.985224 0.985224 0.984898 0.985878 0.984571 0.984245 0.984898 +0.985551 0.979368 0.944 0.882737 0.813895 0.762105 0.718526 0.677474 +0.655368 0.630105 0.596 0.556211 0.520211 0.503789 0.501263 0.467813 +0.407227 0.36936 0.361787 0.399653 0.433733 0.42616 0.416693 0.4432 +0.47728 0.48296 0.4432 0.359893 0.3296 0.333387 0.3296 0.31256 +0.304987 0.3012 0.308773 0.304987 0.304987 0.314453 0.325813 0.350427 +0.40344 0.504421 0.525895 0.530947 0.535368 0.521474 0.503789 0.45456 +0.37504 0.32392 0.30688 0.322027 0.359893 0.35232 0.31824 0.287947 +0.280373 0.286053 0.286053 0.28416 0.28984 0.287947 0.3012 0.337173 +0.36368 0.378827 0.376933 0.358 0.348533 0.342853 0.32392 0.320133 +0.320133 0.320133 0.339067 0.40344 0.524 0.630737 0.768421 0.878947 +0.948421 0.98751 0.999918 1.00318 1.00743 1.0182 1.03061 1.04008 +1.044 1.04433 1.04041 1.03584 1.03453 1.03714 1.04139 1.04073 +1.02996 1.01657 1.00776 0.999918 0.991429 0.981633 0.963579 0.950316 +0.946526 0.949053 0.962316 0.983918 0.989796 0.944632 0.799368 0.618737 +0.486747 0.361787 0.361787 0.331493 0.2444 0.0009 0.000873333 0.00086 +0.000826667 0.00082 0.000833333 0.000826667 0.00082 0.000813333 0.000786667 0.000786667 +0.000806667 0.000786667 0.00074 0.000746667 0.000773333 0.000753333 0.000746667 0.000766667 +0.00078 0.000766667 0.000753333 0.00076 0.00076 0.000746667 0.00076 0.00076 +0.000746667 0.000726667 0.000733333 0.000766667 0.00078 0.000766667 0.000746667 0.000746667 +0.00076 0.00074 0.000753333 0.00076 0.00074 0.000746667 0.000773333 0.00076 +0.000746667 0.00076 0.000753333 0.000726667 0.00072 0.00074 0.000766667 0.00074 +0.000713333 0.000726667 0.00074 0.000766667 0.000773333 0.000746667 0.000726667 0.000733333 +0.000746667 0.000726667 0.000726667 0.000753333 0.000753333 0.00074 0.00074 0.000746667 +0.000753333 0.00076 0.000733333 0.000746667 0.000673333 0.00068 0.00068 0.000666667 +0.000673333 0.00068 0.000666667 0.000666667 0.000673333 0.000653333 0.000633333 0.000646667 +0.000666667 0.00068 0.00066 0.00066 0.000666667 0.000653333 0.000633333 0.000646667 +0.000646667 0.000673333 0.000686667 0.000673333 0.00068 0.000673333 0.000653333 0.000673333 +0.00068 0.000666667 0.000673333 0.000673333 0.000653333 0.000633333 0.000653333 0.000666667 +0.000673333 0.00068 0.00066 0.000646667 0.00062 0.000613333 0.00062 0.000606667 +0.000626667 0.000646667 0.00066 0.000673333 0.000666667 0.000666667 0.000666667 0.000653333 +0.000646667 0.00066 0.000666667 0.000653333 0.000626667 0.000633333 0.000646667 0.000653333 +0.000626667 0.0006 0.000613333 0.000606667 0.000626667 0.00064 0.000633333 0.000633333 +0.000646667 0.000626667 0.0006 0.000613333 0.000613333 0.000613333 0.000626667 0.00062 +0.000606667 0.000606667 0.000626667 0.00062 0.00062 0.00062 0.000606667 0.000593333 +0.0006 0.00062 0.00062 0.000606667 0.000633333 0.000653333 0.000646667 0.000686667 +0.000673333 0.000646667 0.000653333 0.000653333 0.00064 0.000653333 0.00068 0.00074 +0.000846667 0.234933 0.299307 0.34664 0.517053 0.688842 0.882105 0.984245 +0.990122 0.971158 0.946526 0.942737 0.945895 0.948421 0.960421 0.976211 +0.989796 0.999918 1.00449 1.0071 1.00971 1.01135 1.01037 1.01069 +1.01429 1.01853 1.02212 1.02637 1.02963 1.03094 1.03127 1.03257 +1.03224 1.02931 1.02898 1.03127 1.03388 1.03518 1.0329 1.02637 +1.01853 1.01298 1.00612 0.99502 0.977474 0.933263 0.875789 0.816421 +0.760211 0.708421 0.662316 0.620632 0.581474 0.548632 0.524 0.506316 +0.481067 0.452667 0.445093 0.4432 0.43752 0.439413 0.439413 0.428053 +0.416693 0.40344 0.401547 0.405333 0.393973 0.367467 0.35232 0.350427 +0.376933 0.388293 0.384507 0.3864 0.401547 0.429947 0.429947 0.39776 +0.382613 0.3864 0.39776 0.393973 0.373147 0.373147 0.390187 0.395867 +0.401547 0.407227 0.39776 0.40344 0.44888 0.49432 0.475387 0.458347 +0.469707 0.4716 0.46592 0.462133 0.47728 0.501895 0.503158 0.501263 +0.5 0.49432 0.48864 0.486747 0.469707 0.464027 0.479173 0.498107 +0.49432 0.464027 0.446987 0.422373 0.40344 0.39776 0.395867 0.39776 +0.393973 0.39776 0.418587 0.433733 0.418587 0.42616 0.435627 0.418587 +0.412907 0.4148 0.43184 0.481067 0.518947 0.561895 0.618105 0.695158 +0.794947 0.872632 0.913684 0.927579 0.937053 0.940211 0.933895 0.935789 +0.939579 0.937684 0.938316 0.937053 0.937053 0.942737 0.947789 0.942737 +0.941474 0.948421 0.947789 0.949684 0.957895 0.964842 0.974316 0.98 +0.982612 0.988816 0.99698 1.00514 1.00873 1.00971 1.00482 1.00482 +1.01004 1.01004 1.01037 1.01559 1.02278 1.02865 1.02963 1.03192 +1.0342 1.0329 1.03192 1.03029 1.03061 1.0329 1.03616 1.03486 +1.03388 1.03551 1.03453 1.03322 1.03453 1.03453 1.03388 1.03322 +1.03224 1.0329 1.03453 1.0342 1.03159 1.03029 1.03257 1.03453 +1.03453 1.03322 1.03584 1.03649 1.0342 1.03192 1.028 1.02702 +1.02604 1.02343 1.02082 1.01494 1.00743 0.999918 0.992082 0.983918 +0.980653 0.982286 0.983592 0.986857 0.990449 0.993388 0.994694 0.992735 +0.98751 0.984245 0.975579 0.940842 0.903579 0.878316 0.851158 0.821474 +0.804421 0.784842 0.752 0.705263 0.657895 0.613684 0.580211 0.552421 +0.520211 0.486747 0.46024 0.479173 0.501263 0.492427 0.4432 0.40344 +0.411013 0.467813 0.503789 0.464027 0.407227 0.373147 0.34664 0.32392 +0.316347 0.30688 0.297413 0.3012 0.327707 0.339067 0.344747 0.361787 +0.405333 0.4716 0.48864 0.479173 0.490533 0.505053 0.520842 0.534105 +0.515158 0.43184 0.36368 0.350427 0.359893 0.339067 0.293627 0.270907 +0.274693 0.286053 0.291733 0.299307 0.314453 0.32392 0.3296 0.34664 +0.365573 0.376933 0.365573 0.344747 0.344747 0.342853 0.3296 0.320133 +0.31824 0.322027 0.322027 0.325813 0.38072 0.516421 0.62 0.746947 +0.86 0.943368 0.989469 1.00449 1.01233 1.02245 1.0329 1.0378 +1.04204 1.04302 1.04171 1.04171 1.03878 1.03616 1.04008 1.04694 +1.04465 1.02996 1.01592 1.00743 1.00188 0.992408 0.980327 0.961053 +0.950316 0.948421 0.956 0.972421 0.986531 0.986204 0.914947 0.749474 +0.578947 0.441307 0.365573 0.36368 0.310667 0.236827 0.00092 0.000853333 +0.000813333 0.00082 0.000833333 0.000813333 0.00082 0.0008 0.000773333 0.00078 +0.000786667 0.000773333 0.000733333 0.00074 0.00076 0.000773333 0.000773333 0.000773333 +0.000753333 0.00074 0.000753333 0.000773333 0.000753333 0.00072 0.000733333 0.000746667 +0.00074 0.00074 0.000746667 0.000753333 0.000753333 0.00074 0.000733333 0.000773333 +0.0008 0.00074 0.00074 0.00076 0.00074 0.00076 0.000773333 0.000753333 +0.000746667 0.000766667 0.00076 0.000766667 0.000746667 0.00072 0.000746667 0.000766667 +0.000766667 0.000786667 0.000786667 0.000753333 0.000726667 0.000726667 0.000726667 0.00074 +0.00076 0.000733333 0.000733333 0.000746667 0.00074 0.000746667 0.000753333 0.00076 +0.000773333 0.00074 0.000713333 0.000726667 0.000693333 0.0007 0.0007 0.000673333 +0.000666667 0.00068 0.000673333 0.000693333 0.000713333 0.0007 0.000646667 0.00064 +0.00066 0.000666667 0.00068 0.00068 0.000673333 0.00068 0.000653333 0.000653333 +0.000666667 0.000666667 0.000666667 0.000666667 0.000666667 0.000673333 0.000673333 0.000653333 +0.000646667 0.00064 0.00066 0.00068 0.000666667 0.00064 0.000646667 0.000646667 +0.00064 0.00066 0.00066 0.00066 0.000666667 0.000653333 0.00064 0.000626667 +0.00064 0.000666667 0.000673333 0.00066 0.00066 0.000666667 0.00068 0.000673333 +0.000653333 0.00066 0.00068 0.00068 0.000666667 0.000653333 0.00064 0.000653333 +0.000686667 0.000666667 0.000646667 0.000626667 0.00062 0.000626667 0.000626667 0.00062 +0.00064 0.000633333 0.000613333 0.00064 0.000633333 0.000613333 0.000626667 0.00064 +0.00062 0.0006 0.00062 0.00062 0.00062 0.00064 0.00062 0.000606667 +0.000593333 0.000606667 0.000626667 0.000613333 0.000613333 0.000626667 0.000633333 0.00068 +0.000673333 0.000646667 0.00066 0.000673333 0.00066 0.00066 0.00068 0.0008 +0.23304 0.308773 0.348533 0.473493 0.636421 0.842316 0.977474 0.992735 +0.980653 0.955368 0.945895 0.949053 0.954105 0.960421 0.977474 0.990449 +1.0009 1.00547 1.00678 1.00776 1.01037 1.01265 1.01331 1.01527 +1.02016 1.02473 1.028 1.03322 1.03943 1.04302 1.04367 1.04171 +1.03747 1.0329 1.03061 1.03061 1.03192 1.03192 1.02898 1.02441 +1.01722 1.00776 0.994041 0.966737 0.915579 0.851789 0.773474 0.705895 +0.652211 0.604842 0.562526 0.526526 0.501263 0.456453 0.412907 0.384507 +0.373147 0.37504 0.378827 0.376933 0.38072 0.384507 0.384507 0.378827 +0.378827 0.3864 0.401547 0.40344 0.382613 0.356107 0.34096 0.34096 +0.37504 0.393973 0.365573 0.359893 0.39208 0.4432 0.428053 0.36936 +0.356107 0.367467 0.382613 0.384507 0.36368 0.365573 0.39776 0.418587 +0.4148 0.411013 0.378827 0.356107 0.399653 0.429947 0.40344 0.382613 +0.3864 0.390187 0.376933 0.36936 0.38072 0.39776 0.3864 0.382613 +0.405333 0.405333 0.39208 0.39208 0.36936 0.348533 0.356107 0.365573 +0.38072 0.371253 0.344747 0.3296 0.327707 0.333387 0.325813 0.322027 +0.337173 0.358 0.388293 0.416693 0.395867 0.37504 0.371253 0.350427 +0.333387 0.333387 0.34664 0.39208 0.48296 0.546105 0.608632 0.688842 +0.800632 0.888421 0.926947 0.930105 0.933263 0.941474 0.938316 0.934526 +0.935158 0.937684 0.943368 0.946526 0.944 0.946526 0.954105 0.952211 +0.949053 0.955368 0.956 0.959158 0.964842 0.968632 0.976842 0.984898 +0.992082 0.999265 1.00547 1.01135 1.01233 1.01102 1.00547 1.00612 +1.01363 1.01722 1.02212 1.02865 1.03257 1.03486 1.03551 1.03486 +1.0378 1.03616 1.03355 1.03127 1.03094 1.0329 1.03616 1.03649 +1.03551 1.03584 1.03747 1.03649 1.03714 1.0378 1.03812 1.0378 +1.03616 1.03584 1.03551 1.03682 1.03551 1.03355 1.0342 1.03257 +1.03159 1.03094 1.03257 1.03322 1.03453 1.0342 1.03127 1.03029 +1.02931 1.02571 1.02539 1.02473 1.02049 1.01527 1.00906 0.998939 +0.992735 0.988163 0.983918 0.985878 0.98849 0.992082 0.996653 0.997306 +0.991429 0.987184 0.982939 0.964842 0.947789 0.940842 0.932 0.924421 +0.915579 0.901053 0.883368 0.855579 0.820211 0.773474 0.727368 0.682526 +0.632632 0.596 0.577684 0.557474 0.544211 0.532211 0.508211 0.46592 +0.452667 0.481067 0.508211 0.498107 0.42616 0.371253 0.34664 0.32392 +0.30688 0.303093 0.3012 0.314453 0.36368 0.407227 0.42048 0.411013 +0.399653 0.393973 0.36936 0.34664 0.35232 0.3864 0.452667 0.520211 +0.546737 0.540421 0.518316 0.47728 0.395867 0.333387 0.28984 0.276587 +0.27848 0.280373 0.28416 0.31256 0.344747 0.36368 0.37504 0.367467 +0.36368 0.359893 0.34664 0.3296 0.327707 0.337173 0.33528 0.325813 +0.31824 0.320133 0.316347 0.30688 0.3296 0.405333 0.517684 0.606105 +0.728632 0.848632 0.947789 0.999592 1.02016 1.03094 1.03486 1.03486 +1.03976 1.04171 1.04106 1.04237 1.03943 1.03551 1.03355 1.03943 +1.04792 1.04433 1.02963 1.01494 1.00873 1.0022 0.991102 0.978105 +0.962947 0.956 0.955368 0.959789 0.976842 0.990122 0.98098 0.877053 +0.704632 0.550526 0.40912 0.361787 0.358 0.297413 0.223573 0.000893333 +0.000833333 0.000793333 0.00082 0.000806667 0.000786667 0.000806667 0.0008 0.000793333 +0.000766667 0.000753333 0.00074 0.00076 0.000793333 0.000766667 0.00076 0.00076 +0.00076 0.000733333 0.000733333 0.00076 0.00076 0.00072 0.000733333 0.000766667 +0.000753333 0.000753333 0.000753333 0.00074 0.000746667 0.00074 0.000733333 0.000766667 +0.000773333 0.00072 0.000746667 0.00078 0.000766667 0.00076 0.000773333 0.000733333 +0.00074 0.000773333 0.000766667 0.000746667 0.00072 0.00074 0.00078 0.000793333 +0.000793333 0.000773333 0.00074 0.000706667 0.000726667 0.00076 0.000746667 0.00074 +0.000766667 0.000746667 0.00074 0.00076 0.00076 0.000773333 0.000753333 0.000766667 +0.000753333 0.000726667 0.00072 0.000753333 0.000673333 0.00068 0.000693333 0.00068 +0.00068 0.000673333 0.000666667 0.000686667 0.0007 0.000713333 0.00072 0.000706667 +0.000686667 0.000666667 0.000653333 0.000666667 0.000666667 0.000686667 0.00068 0.00066 +0.00066 0.000666667 0.000653333 0.000646667 0.000646667 0.000653333 0.000673333 0.000673333 +0.000653333 0.000653333 0.000666667 0.000666667 0.000666667 0.000673333 0.000693333 0.000686667 +0.000646667 0.000633333 0.00066 0.000666667 0.00068 0.000693333 0.000693333 0.000666667 +0.000646667 0.00066 0.000666667 0.000653333 0.00064 0.00064 0.00066 0.000653333 +0.000613333 0.000626667 0.00066 0.000653333 0.000653333 0.00066 0.000646667 0.00062 +0.000633333 0.000633333 0.000646667 0.000653333 0.000633333 0.00062 0.000633333 0.00062 +0.000646667 0.000653333 0.00064 0.000653333 0.000653333 0.000646667 0.00064 0.000626667 +0.0006 0.0006 0.000613333 0.000613333 0.000606667 0.0006 0.000626667 0.000633333 +0.000626667 0.00064 0.000646667 0.00064 0.000626667 0.000653333 0.000673333 0.000693333 +0.000673333 0.00066 0.000686667 0.000706667 0.000713333 0.000733333 0.000806667 0.223573 +0.3012 0.356107 0.43184 0.585263 0.783579 0.946526 0.991429 0.984571 +0.958526 0.944632 0.945895 0.953474 0.966105 0.980653 0.990776 1.00188 +1.00939 1.01102 1.01004 1.01037 1.01233 1.01461 1.0182 1.02376 +1.02865 1.03127 1.03388 1.04204 1.05445 1.05967 1.05543 1.04922 +1.04498 1.03747 1.03192 1.03127 1.02963 1.02735 1.02408 1.01918 +1.01037 0.992408 0.947789 0.880842 0.815789 0.746947 0.669895 0.605474 +0.559368 0.522105 0.475387 0.40912 0.378827 0.371253 0.350427 0.342853 +0.356107 0.376933 0.371253 0.348533 0.350427 0.358 0.361787 0.359893 +0.356107 0.365573 0.390187 0.40344 0.40344 0.39208 0.376933 0.384507 +0.412907 0.393973 0.339067 0.3296 0.365573 0.416693 0.395867 0.344747 +0.34096 0.359893 0.39208 0.40912 0.39208 0.384507 0.407227 0.42048 +0.405333 0.390187 0.361787 0.350427 0.388293 0.407227 0.388293 0.378827 +0.359893 0.348533 0.344747 0.350427 0.367467 0.378827 0.36936 0.359893 +0.390187 0.4148 0.407227 0.39208 0.359893 0.333387 0.348533 0.376933 +0.390187 0.356107 0.314453 0.314453 0.322027 0.327707 0.31256 0.310667 +0.33528 0.34096 0.35232 0.390187 0.388293 0.358 0.342853 0.339067 +0.327707 0.327707 0.337173 0.378827 0.47728 0.544842 0.609895 0.696421 +0.812 0.901684 0.935158 0.934526 0.934526 0.942737 0.947158 0.943368 +0.939579 0.942737 0.952211 0.957895 0.958526 0.956 0.960421 0.965474 +0.969895 0.974316 0.972421 0.972421 0.978105 0.984245 0.990449 0.995673 +1.00155 1.00547 1.00841 1.01298 1.01396 1.01298 1.01037 1.01102 +1.01984 1.02767 1.03355 1.03682 1.0378 1.03812 1.03551 1.03224 +1.03355 1.03322 1.03322 1.03518 1.03486 1.03551 1.03584 1.03649 +1.03845 1.03943 1.04073 1.04041 1.04073 1.04008 1.03845 1.03943 +1.03976 1.03812 1.03812 1.03976 1.04008 1.03878 1.0378 1.03551 +1.03486 1.0342 1.03355 1.0342 1.03486 1.03388 1.03322 1.03322 +1.03322 1.03127 1.03127 1.0329 1.03127 1.028 1.02473 1.01853 +1.01233 1.00286 0.994694 0.989796 0.984245 0.983592 0.989796 0.99502 +0.992408 0.987184 0.982286 0.971789 0.961053 0.956632 0.954105 0.956632 +0.954105 0.948421 0.942105 0.935789 0.921895 0.896 0.866947 0.825263 +0.779789 0.746947 0.717895 0.676211 0.637053 0.602947 0.571368 0.557474 +0.553684 0.551158 0.548 0.513263 0.412907 0.350427 0.339067 0.31256 +0.28984 0.304987 0.310667 0.314453 0.365573 0.433733 0.429947 0.382613 +0.358 0.34096 0.316347 0.3012 0.31256 0.337173 0.356107 0.416693 +0.511368 0.569474 0.615579 0.584 0.502526 0.34096 0.287947 0.282267 +0.276587 0.274693 0.28416 0.308773 0.34096 0.388293 0.42616 0.40912 +0.38072 0.359893 0.333387 0.31256 0.316347 0.34096 0.34096 0.32392 +0.310667 0.30688 0.30688 0.304987 0.314453 0.354213 0.412907 0.513263 +0.602316 0.733053 0.874526 0.984571 1.01984 1.03388 1.03486 1.03322 +1.0342 1.03682 1.03747 1.0391 1.03812 1.03224 1.02506 1.02669 +1.03878 1.04988 1.04531 1.028 1.01527 1.01004 1.0022 0.989796 +0.979368 0.962947 0.954105 0.952211 0.961053 0.981959 0.989796 0.966105 +0.839158 0.658526 0.516421 0.367467 0.354213 0.350427 0.286053 0.00098 +0.00086 0.000813333 0.00084 0.000826667 0.0008 0.000833333 0.000806667 0.000793333 +0.000786667 0.000773333 0.000766667 0.000773333 0.00078 0.000746667 0.000753333 0.000773333 +0.00078 0.000746667 0.00074 0.000766667 0.000766667 0.00072 0.000726667 0.000753333 +0.000726667 0.000733333 0.000733333 0.00076 0.000766667 0.00072 0.000713333 0.00074 +0.000746667 0.000726667 0.000733333 0.000746667 0.00076 0.000773333 0.000753333 0.000726667 +0.000753333 0.000766667 0.000746667 0.000746667 0.000766667 0.000793333 0.000793333 0.000773333 +0.00076 0.000733333 0.000713333 0.00072 0.000753333 0.000766667 0.000753333 0.00074 +0.000753333 0.000753333 0.00076 0.00078 0.000773333 0.00076 0.000733333 0.000733333 +0.000753333 0.000753333 0.000753333 0.000746667 0.000686667 0.00068 0.00068 0.000693333 +0.000693333 0.000673333 0.000666667 0.00068 0.000686667 0.000673333 0.000686667 0.000693333 +0.0007 0.0007 0.000666667 0.000646667 0.00066 0.000673333 0.000693333 0.000693333 +0.00068 0.00068 0.00068 0.000673333 0.00066 0.000666667 0.000666667 0.000673333 +0.00068 0.000673333 0.000673333 0.000686667 0.000693333 0.000666667 0.00066 0.000693333 +0.00068 0.000646667 0.00066 0.000646667 0.000646667 0.00064 0.00066 0.00066 +0.000633333 0.00062 0.000613333 0.00062 0.00064 0.000646667 0.000633333 0.000633333 +0.000626667 0.00064 0.000646667 0.00064 0.000646667 0.00066 0.00068 0.00066 +0.000646667 0.00064 0.000646667 0.000646667 0.000646667 0.000653333 0.000653333 0.00062 +0.000613333 0.000626667 0.000633333 0.00066 0.00064 0.000613333 0.00064 0.00066 +0.000646667 0.000633333 0.000633333 0.000626667 0.000633333 0.00062 0.000613333 0.00062 +0.000646667 0.000666667 0.00068 0.000673333 0.000646667 0.000666667 0.00068 0.0007 +0.000706667 0.000693333 0.000713333 0.000726667 0.000753333 0.000833333 0.22736 0.303093 +0.344747 0.39208 0.542316 0.720421 0.911158 0.989469 0.98849 0.968632 +0.945895 0.943368 0.950316 0.958526 0.973684 0.988816 1.00253 1.01004 +1.01135 1.01102 1.01135 1.01233 1.01429 1.01853 1.02473 1.03159 +1.03453 1.0342 1.03682 1.04922 1.06304 1.05739 1.04759 1.04531 +1.04922 1.04269 1.03224 1.02833 1.02539 1.0231 1.01853 1.00939 +0.991102 0.940842 0.861263 0.779158 0.699579 0.626947 0.565684 0.520842 +0.481067 0.429947 0.393973 0.367467 0.361787 0.359893 0.33528 0.325813 +0.361787 0.39208 0.36368 0.322027 0.32392 0.348533 0.356107 0.35232 +0.350427 0.350427 0.361787 0.388293 0.422373 0.441307 0.452667 0.48296 +0.48864 0.40912 0.339067 0.331493 0.36368 0.39776 0.36936 0.339067 +0.348533 0.405333 0.45456 0.44888 0.4148 0.39776 0.40344 0.399653 +0.382613 0.36936 0.356107 0.36368 0.401547 0.395867 0.361787 0.359893 +0.358 0.344747 0.337173 0.337173 0.348533 0.356107 0.358 0.365573 +0.40912 0.424267 0.399653 0.376933 0.354213 0.350427 0.373147 0.40344 +0.399653 0.34096 0.28416 0.28984 0.31256 0.331493 0.325813 0.322027 +0.331493 0.316347 0.31256 0.350427 0.373147 0.35232 0.331493 0.333387 +0.325813 0.327707 0.337173 0.371253 0.46024 0.530947 0.585895 0.669895 +0.784842 0.884632 0.930737 0.939579 0.942737 0.944632 0.947158 0.952842 +0.957895 0.965474 0.974316 0.977474 0.975579 0.973684 0.974316 0.976211 +0.978105 0.982286 0.987184 0.991429 0.994367 0.997633 1.00286 1.00645 +1.00939 1.01069 1.01102 1.012 1.01298 1.01755 1.0231 1.02571 +1.02931 1.0342 1.03682 1.03714 1.03714 1.03747 1.03518 1.03029 +1.03094 1.03322 1.03518 1.03878 1.03976 1.04073 1.04073 1.04237 +1.04563 1.04531 1.04269 1.04139 1.04204 1.04073 1.0391 1.04106 +1.04269 1.04041 1.03878 1.04008 1.03976 1.0391 1.04106 1.04041 +1.03878 1.03649 1.03518 1.03682 1.0378 1.03649 1.03682 1.03747 +1.03649 1.03518 1.03453 1.03551 1.03649 1.03714 1.03682 1.03127 +1.02669 1.01951 1.012 1.00253 0.990122 0.985224 0.98751 0.993388 +0.995673 0.993061 0.987837 0.981306 0.970526 0.958526 0.950947 0.950316 +0.950947 0.955368 0.956632 0.964211 0.964842 0.952842 0.938316 0.914947 +0.897263 0.884632 0.861263 0.822737 0.778526 0.738105 0.707789 0.695789 +0.681263 0.670526 0.661684 0.602316 0.525263 0.439413 0.36936 0.32392 +0.314453 0.33528 0.33528 0.31824 0.344747 0.384507 0.365573 0.333387 +0.33528 0.325813 0.303093 0.291733 0.3012 0.31824 0.327707 0.34664 +0.40912 0.541684 0.631368 0.617474 0.522105 0.36368 0.303093 0.28416 +0.27848 0.282267 0.286053 0.29552 0.31824 0.390187 0.46024 0.47728 +0.441307 0.382613 0.3296 0.297413 0.30688 0.325813 0.316347 0.29552 +0.28984 0.297413 0.304987 0.316347 0.31824 0.331493 0.356107 0.405333 +0.521474 0.627579 0.775368 0.921895 1.00155 1.02408 1.02963 1.02833 +1.02735 1.03094 1.03388 1.03714 1.03682 1.02833 1.02016 1.01886 +1.02604 1.04269 1.05347 1.04596 1.02833 1.01624 1.00971 1.00057 +0.98751 0.969263 0.955368 0.950947 0.950947 0.967368 0.986531 0.993061 +0.943368 0.786105 0.604211 0.46024 0.354213 0.371253 0.34664 0.25008 +0.0009 0.000846667 0.00084 0.000826667 0.000846667 0.000866667 0.000806667 0.000786667 +0.000806667 0.000793333 0.00076 0.00076 0.000766667 0.000753333 0.000773333 0.0008 +0.000773333 0.000726667 0.000733333 0.00076 0.000773333 0.00074 0.00074 0.00074 +0.000726667 0.00076 0.00074 0.000746667 0.000746667 0.00072 0.000713333 0.00074 +0.000753333 0.000733333 0.000713333 0.000713333 0.00076 0.000773333 0.00076 0.000746667 +0.000733333 0.000733333 0.00076 0.000786667 0.00078 0.000773333 0.00076 0.00074 +0.00074 0.000746667 0.000746667 0.00076 0.00076 0.000746667 0.000726667 0.000733333 +0.00076 0.000793333 0.000786667 0.000773333 0.00076 0.000746667 0.000746667 0.00074 +0.000766667 0.000753333 0.00074 0.000733333 0.000693333 0.000686667 0.000666667 0.000666667 +0.000673333 0.00066 0.000686667 0.0007 0.000693333 0.000693333 0.000673333 0.000653333 +0.00066 0.00068 0.00068 0.000673333 0.00066 0.000666667 0.000666667 0.00066 +0.000653333 0.000666667 0.000666667 0.00068 0.000673333 0.00068 0.000666667 0.000653333 +0.000653333 0.000666667 0.000653333 0.000646667 0.000686667 0.00068 0.000633333 0.00066 +0.000666667 0.00066 0.00068 0.000666667 0.000653333 0.000633333 0.000633333 0.000646667 +0.00064 0.00064 0.00064 0.000626667 0.000653333 0.00068 0.000673333 0.000653333 +0.000646667 0.00066 0.000653333 0.000653333 0.000646667 0.000653333 0.000673333 0.00066 +0.000653333 0.000653333 0.000673333 0.000666667 0.000653333 0.00064 0.000646667 0.00064 +0.000633333 0.000606667 0.000606667 0.00066 0.000666667 0.00064 0.000646667 0.00066 +0.000673333 0.00068 0.000666667 0.000646667 0.00064 0.000646667 0.000653333 0.000646667 +0.000653333 0.00068 0.0007 0.00072 0.000713333 0.0007 0.000686667 0.000686667 +0.000693333 0.0007 0.000713333 0.000733333 0.0008 0.216 0.29552 0.342853 +0.361787 0.505053 0.657263 0.861895 0.983918 0.992408 0.979368 0.955368 +0.944 0.945895 0.956 0.971158 0.985878 0.997633 1.00906 1.01265 +1.012 1.01069 1.01069 1.01429 1.01984 1.02539 1.02996 1.03355 +1.03551 1.03551 1.0391 1.04922 1.05086 1.04204 1.03616 1.04204 +1.05184 1.04465 1.03094 1.02506 1.02245 1.01951 1.01167 0.994041 +0.942105 0.851789 0.754526 0.662316 0.581474 0.522737 0.473493 0.42616 +0.395867 0.37504 0.36936 0.361787 0.36368 0.365573 0.344747 0.331493 +0.359893 0.367467 0.33528 0.310667 0.31824 0.348533 0.365573 0.350427 +0.342853 0.350427 0.354213 0.36368 0.40344 0.43184 0.46024 0.503158 +0.504421 0.435627 0.36936 0.34664 0.359893 0.37504 0.356107 0.354213 +0.42048 0.509474 0.510105 0.43752 0.376933 0.36368 0.373147 0.382613 +0.37504 0.361787 0.350427 0.3864 0.42616 0.388293 0.342853 0.34096 +0.35232 0.35232 0.34096 0.32392 0.322027 0.320133 0.331493 0.39776 +0.46024 0.40344 0.34664 0.34096 0.337173 0.344747 0.36936 0.382613 +0.378827 0.33528 0.2728 0.259547 0.287947 0.333387 0.361787 0.348533 +0.316347 0.29552 0.29552 0.31824 0.344747 0.331493 0.308773 0.316347 +0.310667 0.316347 0.33528 0.367467 0.43752 0.512 0.554316 0.625053 +0.734947 0.844842 0.911789 0.934526 0.943368 0.945895 0.949053 0.962316 +0.976842 0.986204 0.991755 0.991429 0.986531 0.984571 0.982612 0.984245 +0.986857 0.990449 0.994694 0.999918 1.0022 1.00482 1.00776 1.01102 +1.01363 1.01298 1.01298 1.01233 1.01592 1.02539 1.03584 1.04106 +1.03812 1.03518 1.03584 1.03714 1.03649 1.03649 1.03486 1.03061 +1.03355 1.0378 1.04008 1.04139 1.04237 1.04335 1.044 1.04498 +1.04563 1.04531 1.044 1.04204 1.04139 1.04139 1.03976 1.04073 +1.04269 1.04008 1.03943 1.04269 1.04073 1.03943 1.04204 1.04073 +1.03878 1.0378 1.03649 1.03682 1.03878 1.03714 1.03878 1.03943 +1.03878 1.03845 1.03682 1.03551 1.03812 1.04171 1.04204 1.03812 +1.03616 1.03257 1.02702 1.0182 1.00743 1.00122 0.997633 0.997959 +1.00253 1.00351 0.997959 0.991755 0.984898 0.969895 0.954737 0.945263 +0.942737 0.947789 0.952842 0.968 0.978105 0.980653 0.976211 0.962316 +0.961684 0.962947 0.950316 0.923158 0.890947 0.866316 0.853053 0.842316 +0.820211 0.805053 0.799368 0.734316 0.628842 0.549263 0.492427 0.39776 +0.361787 0.35232 0.331493 0.31256 0.327707 0.35232 0.348533 0.3296 +0.32392 0.314453 0.303093 0.308773 0.308773 0.308773 0.322027 0.34664 +0.37504 0.486747 0.547368 0.548 0.508211 0.412907 0.337173 0.28984 +0.286053 0.293627 0.28984 0.293627 0.31256 0.354213 0.412907 0.484853 +0.496213 0.42616 0.34096 0.310667 0.316347 0.30688 0.297413 0.28984 +0.282267 0.287947 0.308773 0.339067 0.337173 0.322027 0.33528 0.367467 +0.439413 0.544211 0.661053 0.813263 0.947789 1.00449 1.02082 1.02343 +1.02408 1.028 1.03127 1.03322 1.03388 1.02637 1.01788 1.01461 +1.01559 1.02833 1.04792 1.05641 1.04433 1.02604 1.01461 1.00678 +0.99502 0.982286 0.968 0.954105 0.946526 0.959158 0.979368 0.991102 +0.986204 0.897895 0.721684 0.555579 0.395867 0.344747 0.361787 0.3012 +0.000993333 0.00088 0.000866667 0.000853333 0.000846667 0.00086 0.00082 0.0008 +0.000813333 0.000793333 0.000766667 0.000753333 0.00076 0.00076 0.000766667 0.00078 +0.000746667 0.000706667 0.00074 0.00076 0.000766667 0.000753333 0.00076 0.000773333 +0.000773333 0.000793333 0.000746667 0.00074 0.00074 0.000746667 0.000753333 0.000773333 +0.000773333 0.000753333 0.000746667 0.00076 0.000793333 0.000786667 0.00076 0.000726667 +0.000733333 0.00076 0.000773333 0.00076 0.00074 0.000733333 0.00072 0.000726667 +0.000753333 0.000746667 0.00074 0.00074 0.000746667 0.00076 0.000753333 0.000766667 +0.000786667 0.000793333 0.00078 0.000773333 0.00076 0.000746667 0.000773333 0.00076 +0.00074 0.000746667 0.000766667 0.000773333 0.0007 0.000686667 0.00068 0.000666667 +0.000646667 0.000633333 0.000646667 0.000673333 0.00068 0.000686667 0.00068 0.000673333 +0.000653333 0.00064 0.000646667 0.000646667 0.000653333 0.000666667 0.000693333 0.000666667 +0.000626667 0.000633333 0.00064 0.000666667 0.00068 0.000673333 0.000666667 0.00066 +0.000666667 0.000666667 0.000673333 0.00066 0.00066 0.000673333 0.000666667 0.000673333 +0.00066 0.000653333 0.00068 0.000693333 0.000693333 0.00068 0.000686667 0.000693333 +0.000673333 0.000666667 0.000673333 0.000686667 0.000673333 0.000686667 0.000706667 0.000686667 +0.00066 0.00066 0.00066 0.000653333 0.000653333 0.000653333 0.00064 0.00062 +0.00062 0.00064 0.000673333 0.00068 0.00068 0.000666667 0.000646667 0.00064 +0.000666667 0.00066 0.00062 0.000633333 0.000653333 0.000646667 0.00066 0.000653333 +0.00066 0.00068 0.000693333 0.000693333 0.00068 0.00068 0.00068 0.000673333 +0.00068 0.00068 0.000673333 0.000686667 0.000706667 0.00072 0.00072 0.0007 +0.000693333 0.0007 0.000733333 0.000786667 0.000946667 0.27848 0.3296 0.337173 +0.428053 0.597263 0.794316 0.959158 0.995673 0.983265 0.959158 0.947158 +0.947158 0.954105 0.962947 0.981959 0.99698 1.00971 1.01657 1.01592 +1.01396 1.01331 1.01657 1.02245 1.02898 1.03192 1.03224 1.0329 +1.03486 1.03649 1.04106 1.04661 1.04106 1.03322 1.03453 1.04824 +1.05837 1.04367 1.02767 1.02278 1.02016 1.01167 0.99502 0.955368 +0.866947 0.752632 0.640211 0.552421 0.49432 0.416693 0.39776 0.39776 +0.388293 0.367467 0.358 0.348533 0.354213 0.371253 0.371253 0.36368 +0.354213 0.33528 0.316347 0.31256 0.314453 0.327707 0.348533 0.34096 +0.327707 0.331493 0.337173 0.337173 0.356107 0.365573 0.371253 0.407227 +0.439413 0.4432 0.418587 0.376933 0.354213 0.34664 0.34664 0.39776 +0.511368 0.541684 0.511368 0.393973 0.333387 0.3296 0.342853 0.356107 +0.356107 0.350427 0.354213 0.399653 0.42616 0.36368 0.325813 0.33528 +0.35232 0.359893 0.354213 0.33528 0.310667 0.29552 0.32392 0.445093 +0.502526 0.382613 0.304987 0.310667 0.30688 0.310667 0.316347 0.32392 +0.34664 0.339067 0.282267 0.259547 0.282267 0.310667 0.337173 0.333387 +0.3012 0.287947 0.286053 0.287947 0.30688 0.299307 0.282267 0.3012 +0.30688 0.310667 0.322027 0.34664 0.39208 0.46024 0.520842 0.582737 +0.685684 0.8 0.887158 0.930737 0.944632 0.950316 0.957263 0.968 +0.979368 0.987184 0.99698 0.998939 0.991102 0.985551 0.989143 0.995673 +0.999265 1.00024 0.999592 1.00122 1.00514 1.01069 1.01265 1.012 +1.01396 1.01396 1.01494 1.01788 1.02441 1.03159 1.03943 1.04498 +1.04335 1.0378 1.0378 1.03976 1.03812 1.0378 1.03584 1.03355 +1.03616 1.0391 1.04073 1.04171 1.04269 1.04171 1.04367 1.04563 +1.04498 1.04335 1.04302 1.04204 1.04204 1.04269 1.04041 1.03878 +1.04008 1.03943 1.03976 1.04302 1.04106 1.04106 1.04367 1.04041 +1.03845 1.03943 1.03943 1.03812 1.0378 1.03649 1.03747 1.03878 +1.03976 1.03943 1.03747 1.03747 1.04073 1.04433 1.044 1.04106 +1.04171 1.04139 1.03845 1.03224 1.02539 1.02147 1.01429 1.00808 +1.01037 1.01429 1.00873 1.0022 0.99502 0.986857 0.978105 0.961684 +0.952842 0.946526 0.945895 0.961053 0.978737 0.989469 0.992408 0.988816 +0.987184 0.984245 0.971789 0.949684 0.937053 0.933895 0.933263 0.926947 +0.909895 0.899789 0.894105 0.841684 0.747579 0.660421 0.590316 0.532842 +0.4716 0.39776 0.344747 0.320133 0.33528 0.348533 0.34096 0.32392 +0.316347 0.31824 0.320133 0.320133 0.320133 0.30688 0.314453 0.333387 +0.354213 0.399653 0.43752 0.433733 0.441307 0.428053 0.373147 0.32392 +0.308773 0.30688 0.299307 0.3012 0.31256 0.31824 0.339067 0.4148 +0.48864 0.462133 0.367467 0.3296 0.322027 0.29552 0.28416 0.280373 +0.274693 0.280373 0.316347 0.356107 0.354213 0.333387 0.339067 0.361787 +0.38072 0.462133 0.560632 0.682526 0.827158 0.954105 1.00612 1.02114 +1.02376 1.02408 1.02571 1.02506 1.02571 1.02245 1.01494 1.00971 +1.00808 1.01592 1.0342 1.05053 1.0538 1.04041 1.02114 1.01069 +1.00253 0.991102 0.98 0.962947 0.950947 0.954105 0.963579 0.980327 +0.990449 0.974316 0.845474 0.657895 0.508842 0.339067 0.34664 0.344747 +0.263333 0.000933333 0.000866667 0.00086 0.000833333 0.000846667 0.000806667 0.000793333 +0.000806667 0.00078 0.000766667 0.000766667 0.00076 0.00076 0.00076 0.000773333 +0.00078 0.000773333 0.00078 0.00078 0.000766667 0.000766667 0.000806667 0.000806667 +0.000773333 0.000746667 0.00072 0.000733333 0.000753333 0.000746667 0.000773333 0.000786667 +0.000766667 0.000766667 0.000793333 0.000786667 0.000773333 0.00076 0.000733333 0.000733333 +0.000793333 0.000786667 0.000753333 0.00074 0.00074 0.000733333 0.000746667 0.000766667 +0.000746667 0.000726667 0.000733333 0.00076 0.000766667 0.000786667 0.000773333 0.000726667 +0.000726667 0.00074 0.00074 0.00076 0.000766667 0.000726667 0.00074 0.00074 +0.000726667 0.000766667 0.00078 0.000746667 0.000686667 0.00068 0.0007 0.000693333 +0.000673333 0.000673333 0.000653333 0.000626667 0.00064 0.00068 0.000686667 0.00068 +0.000686667 0.000673333 0.00066 0.00066 0.00066 0.000673333 0.000693333 0.0007 +0.000686667 0.000673333 0.000666667 0.00066 0.00066 0.000666667 0.00068 0.00068 +0.00068 0.000666667 0.000666667 0.00068 0.000693333 0.00068 0.00066 0.000686667 +0.000693333 0.00066 0.000653333 0.00066 0.00068 0.000673333 0.000686667 0.000706667 +0.0007 0.000673333 0.000666667 0.000673333 0.000673333 0.000666667 0.00068 0.0007 +0.00068 0.00066 0.000646667 0.000653333 0.00064 0.000633333 0.000633333 0.000633333 +0.000633333 0.000646667 0.00066 0.00066 0.000666667 0.000693333 0.0007 0.000673333 +0.000673333 0.000673333 0.00066 0.000666667 0.000673333 0.00064 0.000653333 0.000653333 +0.000646667 0.000653333 0.000673333 0.00068 0.000686667 0.0007 0.000706667 0.000686667 +0.000686667 0.000706667 0.000706667 0.000686667 0.00068 0.000706667 0.000733333 0.000726667 +0.000713333 0.00074 0.000786667 0.000926667 0.269013 0.320133 0.32392 0.359893 +0.537895 0.722947 0.914316 0.992082 0.990776 0.969263 0.949053 0.946526 +0.950316 0.959789 0.978105 0.994041 1.0071 1.01461 1.01886 1.01853 +1.0182 1.0231 1.02833 1.03127 1.03453 1.03551 1.03355 1.03257 +1.03584 1.03845 1.04171 1.04629 1.04335 1.0378 1.04335 1.05902 +1.06913 1.04041 1.0231 1.01853 1.01363 1.00024 0.967368 0.886526 +0.770316 0.641474 0.542947 0.462133 0.39208 0.367467 0.378827 0.405333 +0.39208 0.365573 0.361787 0.354213 0.359893 0.39776 0.4148 0.378827 +0.331493 0.304987 0.30688 0.31256 0.31824 0.325813 0.3296 0.331493 +0.3296 0.320133 0.325813 0.325813 0.316347 0.320133 0.314453 0.322027 +0.358 0.399653 0.439413 0.445093 0.405333 0.361787 0.36368 0.441307 +0.517684 0.518947 0.445093 0.354213 0.325813 0.327707 0.339067 0.350427 +0.358 0.373147 0.39776 0.422373 0.39776 0.337173 0.316347 0.327707 +0.354213 0.3864 0.40912 0.39208 0.342853 0.303093 0.33528 0.441307 +0.456453 0.339067 0.286053 0.304987 0.304987 0.291733 0.276587 0.293627 +0.337173 0.33528 0.291733 0.2728 0.2728 0.270907 0.286053 0.304987 +0.3012 0.291733 0.27848 0.2728 0.286053 0.28984 0.263333 0.26712 +0.28984 0.304987 0.310667 0.325813 0.354213 0.401547 0.498107 0.561263 +0.658526 0.770316 0.874526 0.938316 0.954105 0.959789 0.968 0.973684 +0.980653 0.986204 0.995673 0.999592 0.993061 0.990776 0.997959 1.00253 +1.00318 1.00318 1.0058 1.00841 1.00906 1.01135 1.01461 1.01363 +1.01494 1.01559 1.02114 1.028 1.03551 1.03714 1.03845 1.04139 +1.04171 1.03943 1.04106 1.04106 1.0378 1.03747 1.03682 1.03682 +1.03878 1.04008 1.04139 1.04041 1.04237 1.04171 1.04171 1.044 +1.044 1.04171 1.04073 1.04139 1.04041 1.04139 1.04106 1.04106 +1.04106 1.0391 1.03878 1.04106 1.04073 1.04237 1.04433 1.04204 +1.04073 1.04171 1.04237 1.04041 1.03943 1.03845 1.03812 1.0391 +1.04073 1.03943 1.03943 1.04041 1.044 1.04498 1.04269 1.04139 +1.044 1.044 1.04269 1.03812 1.03257 1.03192 1.02539 1.0169 +1.01886 1.02343 1.01788 1.00841 1.00188 0.998939 0.994367 0.987184 +0.98 0.962947 0.956632 0.962316 0.978105 0.990776 0.995673 0.998612 +0.99698 0.987184 0.970526 0.952842 0.954105 0.961053 0.962316 0.956 +0.948421 0.944 0.936421 0.907368 0.853053 0.788632 0.718526 0.642105 +0.573895 0.523368 0.452667 0.378827 0.365573 0.358 0.33528 0.322027 +0.31824 0.3296 0.331493 0.322027 0.322027 0.31824 0.316347 0.316347 +0.339067 0.36936 0.359893 0.337173 0.35232 0.367467 0.358 0.331493 +0.303093 0.28984 0.286053 0.293627 0.308773 0.316347 0.320133 0.361787 +0.456453 0.496213 0.42048 0.342853 0.303093 0.274693 0.270907 0.270907 +0.269013 0.280373 0.31824 0.350427 0.36936 0.36936 0.356107 0.359893 +0.36368 0.38072 0.473493 0.560632 0.676211 0.828421 0.962947 1.00906 +1.02114 1.0218 1.02049 1.01886 1.01886 1.0169 1.01069 1.00482 +1.00449 1.01004 1.02082 1.03551 1.05282 1.05641 1.03812 1.01853 +1.00808 0.998939 0.988816 0.980653 0.961053 0.949684 0.952211 0.963579 +0.984571 0.992082 0.940842 0.779158 0.593474 0.424267 0.33528 0.356107 +0.316347 0.231147 0.000886667 0.000853333 0.00082 0.000846667 0.000813333 0.0008 +0.000813333 0.00076 0.000746667 0.00076 0.000753333 0.000746667 0.000766667 0.00078 +0.00078 0.000753333 0.00076 0.000793333 0.000793333 0.000766667 0.000793333 0.000773333 +0.000726667 0.000726667 0.000733333 0.000766667 0.000753333 0.000733333 0.00074 0.000766667 +0.00076 0.000766667 0.00078 0.000766667 0.000746667 0.000753333 0.000773333 0.00078 +0.000786667 0.00076 0.00076 0.000773333 0.000773333 0.000786667 0.000793333 0.000766667 +0.00074 0.00076 0.0008 0.0008 0.000766667 0.000746667 0.000746667 0.00072 +0.000746667 0.00078 0.00076 0.000753333 0.00076 0.000726667 0.000753333 0.000773333 +0.000773333 0.000773333 0.000753333 0.00072 0.000686667 0.000693333 0.000706667 0.0007 +0.000706667 0.000713333 0.0007 0.000673333 0.000666667 0.000693333 0.0007 0.0007 +0.000706667 0.000686667 0.000693333 0.000693333 0.000686667 0.00068 0.000673333 0.000673333 +0.000693333 0.000693333 0.0007 0.000693333 0.000673333 0.00066 0.00068 0.0007 +0.000686667 0.00068 0.000673333 0.000666667 0.00068 0.000693333 0.000666667 0.000673333 +0.0007 0.000693333 0.000673333 0.000673333 0.000686667 0.000673333 0.000633333 0.00066 +0.000666667 0.000653333 0.00066 0.000666667 0.000653333 0.000633333 0.000653333 0.00068 +0.000706667 0.0007 0.000686667 0.00068 0.000673333 0.000673333 0.000653333 0.000653333 +0.000653333 0.00066 0.000653333 0.00066 0.00064 0.00066 0.000686667 0.000693333 +0.000706667 0.00068 0.000646667 0.000686667 0.0007 0.000686667 0.000686667 0.000653333 +0.00064 0.000653333 0.000673333 0.000686667 0.00068 0.00068 0.00068 0.0007 +0.000706667 0.000713333 0.00072 0.000726667 0.000706667 0.000693333 0.000713333 0.000706667 +0.000706667 0.00076 0.0009 0.259547 0.31824 0.316347 0.314453 0.479173 +0.645895 0.851789 0.982939 0.993061 0.976842 0.953474 0.944632 0.946526 +0.953474 0.968632 0.988163 1.00449 1.01396 1.01788 1.01918 1.02147 +1.03551 1.04955 1.04531 1.03551 1.03388 1.03584 1.03486 1.03355 +1.03616 1.04204 1.04727 1.05118 1.05249 1.05118 1.05935 1.09804 +1.05771 1.03453 1.02114 1.01429 1.00384 0.982612 0.907368 0.789895 +0.650947 0.539158 0.45456 0.405333 0.38072 0.361787 0.388293 0.456453 +0.433733 0.354213 0.337173 0.34664 0.373147 0.435627 0.464027 0.388293 +0.314453 0.287947 0.291733 0.29552 0.308773 0.320133 0.325813 0.331493 +0.33528 0.331493 0.337173 0.333387 0.304987 0.299307 0.303093 0.29552 +0.310667 0.348533 0.42616 0.49432 0.458347 0.40912 0.42048 0.458347 +0.458347 0.412907 0.365573 0.331493 0.314453 0.314453 0.337173 0.356107 +0.367467 0.390187 0.422373 0.42048 0.36368 0.32392 0.3296 0.342853 +0.365573 0.412907 0.462133 0.462133 0.42616 0.390187 0.40344 0.428053 +0.371253 0.297413 0.286053 0.310667 0.31824 0.297413 0.291733 0.325813 +0.350427 0.31824 0.28416 0.280373 0.269013 0.253867 0.2728 0.30688 +0.297413 0.274693 0.26712 0.280373 0.291733 0.274693 0.234933 0.231147 +0.248187 0.27848 0.314453 0.359893 0.388293 0.395867 0.452667 0.539789 +0.632632 0.745684 0.863789 0.942737 0.964842 0.969895 0.971789 0.974316 +0.982286 0.990449 0.998939 1.00253 1.00155 1.00253 1.00384 1.00122 +1.00286 1.00841 1.01592 1.01918 1.01494 1.01233 1.01363 1.01527 +1.0182 1.02082 1.02865 1.03453 1.04008 1.04008 1.03976 1.04008 +1.03812 1.03845 1.044 1.04335 1.03878 1.03878 1.0378 1.03812 +1.04073 1.04302 1.044 1.04269 1.044 1.04465 1.04269 1.04204 +1.04302 1.04204 1.04073 1.04008 1.03845 1.03943 1.03845 1.04171 +1.04465 1.04139 1.04171 1.04269 1.04073 1.04367 1.04531 1.04302 +1.04106 1.04041 1.04269 1.04139 1.04237 1.04204 1.03976 1.04073 +1.04106 1.03976 1.04106 1.04073 1.044 1.04563 1.04171 1.04106 +1.04498 1.04465 1.04237 1.03845 1.03649 1.03616 1.03029 1.02441 +1.02473 1.02931 1.02376 1.01069 1.00449 1.00514 1.00416 1.00057 +0.996 0.986857 0.981306 0.973684 0.979368 0.984245 0.986857 0.996327 +0.999592 0.991755 0.98 0.967368 0.969263 0.968632 0.962316 0.954105 +0.952211 0.953474 0.952842 0.942105 0.920632 0.884632 0.830947 0.764632 +0.693895 0.621895 0.550526 0.498107 0.43184 0.388293 0.356107 0.339067 +0.333387 0.34096 0.333387 0.333387 0.34096 0.34664 0.331493 0.320133 +0.342853 0.350427 0.320133 0.3012 0.30688 0.31256 0.31256 0.28984 +0.276587 0.27848 0.28416 0.297413 0.31256 0.316347 0.31824 0.33528 +0.399653 0.47728 0.458347 0.356107 0.287947 0.270907 0.276587 0.270907 +0.274693 0.299307 0.33528 0.356107 0.36936 0.36936 0.34664 0.339067 +0.34096 0.34096 0.365573 0.441307 0.546105 0.674316 0.837263 0.971789 +1.01331 1.02376 1.02147 1.01755 1.01559 1.01331 1.00841 1.00253 +1.00155 1.00514 1.01069 1.02212 1.04237 1.07674 1.05869 1.0329 +1.01461 1.00743 0.998612 0.989469 0.973684 0.952211 0.948421 0.954105 +0.970526 0.989796 0.985878 0.889053 0.704 0.535368 0.365573 0.337173 +0.350427 0.293627 0.000986667 0.00086 0.0008 0.000846667 0.000826667 0.0008 +0.000826667 0.000786667 0.000753333 0.00076 0.00074 0.000746667 0.000753333 0.000766667 +0.00078 0.00076 0.000753333 0.000786667 0.000753333 0.000713333 0.00074 0.000733333 +0.000726667 0.000733333 0.000746667 0.000753333 0.000726667 0.000713333 0.000726667 0.00078 +0.000753333 0.000726667 0.000746667 0.00076 0.00078 0.00078 0.00076 0.000753333 +0.00074 0.000746667 0.00076 0.000766667 0.000773333 0.000766667 0.00076 0.00076 +0.00076 0.000773333 0.00078 0.00076 0.000726667 0.000726667 0.000753333 0.00076 +0.000746667 0.000753333 0.00074 0.000733333 0.000746667 0.000746667 0.000766667 0.000766667 +0.000773333 0.000773333 0.000766667 0.000746667 0.000693333 0.000713333 0.000706667 0.000693333 +0.0007 0.000713333 0.00072 0.000713333 0.00072 0.000713333 0.000693333 0.000686667 +0.0007 0.000673333 0.000686667 0.000713333 0.000706667 0.000706667 0.0007 0.000693333 +0.000673333 0.000653333 0.000666667 0.000693333 0.000693333 0.000673333 0.000653333 0.000666667 +0.00066 0.000646667 0.000666667 0.000686667 0.00068 0.000686667 0.000673333 0.00066 +0.000673333 0.000686667 0.000673333 0.000673333 0.000693333 0.000686667 0.000673333 0.000673333 +0.000666667 0.00064 0.000666667 0.0007 0.0007 0.00068 0.000666667 0.00066 +0.00068 0.000713333 0.000713333 0.0007 0.000693333 0.0007 0.000686667 0.00068 +0.000673333 0.000673333 0.00066 0.000653333 0.000646667 0.000653333 0.000666667 0.000666667 +0.000686667 0.00068 0.00066 0.000673333 0.000693333 0.000686667 0.000713333 0.0007 +0.000686667 0.000673333 0.00068 0.000706667 0.000706667 0.000706667 0.0007 0.0007 +0.000706667 0.000726667 0.00072 0.00072 0.000726667 0.000726667 0.000733333 0.00072 +0.00072 0.000826667 0.240613 0.310667 0.31824 0.30688 0.39208 0.577684 +0.779789 0.953474 0.99502 0.983918 0.956 0.943368 0.944632 0.949053 +0.962316 0.984898 1.00122 1.01167 1.01657 1.02016 1.02278 1.03714 +1.07217 1.1026 1.05216 1.0391 1.03453 1.0329 1.0329 1.0342 +1.03714 1.04531 1.05053 1.05053 1.05478 1.07826 1.12695 1.11021 +1.04727 1.02441 1.01331 1.00612 0.991102 0.931368 0.808842 0.66421 +0.543579 0.441307 0.390187 0.384507 0.376933 0.373147 0.422373 0.507579 +0.492427 0.361787 0.314453 0.316347 0.354213 0.446987 0.5 0.407227 +0.299307 0.282267 0.286053 0.28416 0.3012 0.31824 0.322027 0.325813 +0.333387 0.344747 0.356107 0.348533 0.31824 0.3012 0.299307 0.299307 +0.304987 0.337173 0.424267 0.473493 0.424267 0.407227 0.450773 0.4716 +0.42616 0.393973 0.376933 0.342853 0.32392 0.325813 0.331493 0.3296 +0.337173 0.356107 0.376933 0.3864 0.35232 0.327707 0.337173 0.350427 +0.35232 0.367467 0.393973 0.412907 0.435627 0.446987 0.456453 0.435627 +0.344747 0.291733 0.303093 0.30688 0.304987 0.308773 0.34664 0.376933 +0.348533 0.282267 0.253867 0.259547 0.259547 0.25576 0.270907 0.293627 +0.269013 0.236827 0.242507 0.286053 0.310667 0.265227 0.219787 0.22736 +0.2444 0.265227 0.30688 0.365573 0.393973 0.367467 0.371253 0.5 +0.594105 0.722947 0.861895 0.945263 0.966737 0.970526 0.977474 0.983918 +0.987837 0.994694 1.00416 1.01037 1.01069 1.00873 1.00841 1.00645 +1.00939 1.01461 1.02049 1.02376 1.01918 1.0182 1.01951 1.02147 +1.02473 1.02898 1.03486 1.03682 1.0391 1.03976 1.04008 1.0391 +1.03649 1.03682 1.04302 1.04531 1.04073 1.04041 1.04008 1.0391 +1.03976 1.04269 1.04596 1.044 1.04302 1.04204 1.04073 1.04269 +1.04433 1.04237 1.04041 1.04008 1.04041 1.04204 1.04008 1.04335 +1.04792 1.04433 1.044 1.044 1.04041 1.04237 1.04498 1.04367 +1.04237 1.04139 1.04237 1.04171 1.04367 1.04269 1.04171 1.044 +1.04367 1.04204 1.04073 1.03943 1.04302 1.04498 1.04171 1.04073 +1.04367 1.04335 1.04204 1.04041 1.0391 1.0378 1.03257 1.02931 +1.02963 1.0329 1.028 1.0169 1.01135 1.01167 1.01037 1.00873 +1.00841 1.00351 0.997959 0.989143 0.982612 0.98 0.980653 0.989143 +0.996653 0.99698 0.990449 0.983918 0.979368 0.968 0.957895 0.950947 +0.951579 0.954105 0.958526 0.955368 0.947789 0.933263 0.901053 0.860632 +0.809474 0.734316 0.644632 0.573895 0.528421 0.498107 0.452667 0.40912 +0.373147 0.356107 0.34096 0.350427 0.354213 0.356107 0.339067 0.32392 +0.331493 0.322027 0.310667 0.31256 0.291733 0.286053 0.28416 0.269013 +0.265227 0.274693 0.293627 0.310667 0.31256 0.299307 0.303093 0.314453 +0.348533 0.411013 0.439413 0.3864 0.320133 0.297413 0.276587 0.259547 +0.280373 0.34096 0.378827 0.358 0.331493 0.325813 0.31824 0.30688 +0.310667 0.320133 0.32392 0.33528 0.412907 0.540421 0.672421 0.842316 +0.982939 1.01886 1.02506 1.0218 1.01788 1.01233 1.00514 0.998939 +0.998286 1.00057 1.00384 1.01135 1.02637 1.05151 1.09956 1.05641 +1.02931 1.01429 1.00482 0.994694 0.984571 0.965474 0.951579 0.952842 +0.961053 0.981633 0.992082 0.966105 0.825895 0.633263 0.484853 0.339067 +0.348533 0.342853 0.26712 0.00096 0.000866667 0.00086 0.000846667 0.0008 +0.00082 0.000786667 0.000766667 0.00076 0.00074 0.000753333 0.000753333 0.00076 +0.000786667 0.00078 0.000753333 0.00076 0.000746667 0.000706667 0.00074 0.000746667 +0.000746667 0.00076 0.000773333 0.00076 0.00074 0.00074 0.000746667 0.00078 +0.00074 0.000706667 0.00074 0.000773333 0.000793333 0.000746667 0.0007 0.00072 +0.000753333 0.000766667 0.000766667 0.000766667 0.000753333 0.000753333 0.000773333 0.000786667 +0.000766667 0.000753333 0.000746667 0.000733333 0.000726667 0.000746667 0.000766667 0.000733333 +0.000706667 0.00072 0.000753333 0.00076 0.000766667 0.000753333 0.00076 0.000746667 +0.000753333 0.00076 0.000746667 0.000766667 0.000693333 0.0007 0.000693333 0.00068 +0.00068 0.00068 0.000686667 0.000693333 0.000693333 0.000693333 0.0007 0.00068 +0.000686667 0.000693333 0.000686667 0.0007 0.000693333 0.000686667 0.0007 0.000713333 +0.000713333 0.00068 0.000653333 0.000673333 0.000666667 0.000693333 0.0007 0.000693333 +0.00068 0.000666667 0.00066 0.000673333 0.000686667 0.000693333 0.000686667 0.00068 +0.000673333 0.000686667 0.000686667 0.00068 0.000693333 0.000686667 0.00068 0.000693333 +0.000693333 0.00066 0.00066 0.00068 0.000706667 0.00072 0.00072 0.00068 +0.00066 0.000666667 0.000686667 0.0007 0.00068 0.000686667 0.000673333 0.000666667 +0.00066 0.000666667 0.000673333 0.000673333 0.000666667 0.000673333 0.000673333 0.000673333 +0.000666667 0.000673333 0.000686667 0.000693333 0.000706667 0.0007 0.000706667 0.000706667 +0.00072 0.000726667 0.00072 0.000713333 0.000713333 0.000713333 0.000686667 0.000686667 +0.0007 0.000726667 0.000733333 0.00074 0.000753333 0.000733333 0.000726667 0.000726667 +0.000793333 0.219787 0.293627 0.303093 0.287947 0.339067 0.523368 0.695789 +0.898526 0.991755 0.991755 0.974316 0.950316 0.940842 0.945895 0.957263 +0.98 0.996 1.00873 1.01429 1.0182 1.02343 1.03845 1.08891 +1.15738 1.09652 1.04596 1.03584 1.03453 1.03486 1.03714 1.03714 +1.03616 1.04367 1.04857 1.04792 1.05608 1.12086 1.15434 1.06609 +1.03224 1.01396 1.00384 0.992735 0.945263 0.823368 0.671158 0.547368 +0.441307 0.373147 0.358 0.358 0.361787 0.373147 0.401547 0.46592 +0.456453 0.361787 0.304987 0.293627 0.316347 0.401547 0.5 0.445093 +0.327707 0.297413 0.28984 0.286053 0.291733 0.308773 0.314453 0.320133 +0.325813 0.331493 0.344747 0.356107 0.3296 0.303093 0.303093 0.297413 +0.31256 0.358 0.422373 0.42048 0.36368 0.36936 0.411013 0.435627 +0.429947 0.452667 0.464027 0.405333 0.36368 0.36368 0.348533 0.320133 +0.314453 0.322027 0.337173 0.354213 0.348533 0.333387 0.337173 0.33528 +0.325813 0.316347 0.308773 0.310667 0.348533 0.384507 0.42616 0.446987 +0.37504 0.32392 0.327707 0.308773 0.303093 0.3296 0.361787 0.35232 +0.3012 0.257653 0.240613 0.236827 0.248187 0.253867 0.263333 0.269013 +0.257653 0.25008 0.26712 0.291733 0.291733 0.253867 0.217893 0.225467 +0.25576 0.263333 0.251973 0.276587 0.31256 0.31256 0.333387 0.458347 +0.580842 0.724842 0.878316 0.954105 0.968 0.975579 0.987184 0.996 +0.998612 1.00155 1.00645 1.01167 1.01233 1.01135 1.01298 1.01527 +1.01853 1.01984 1.01984 1.02049 1.0182 1.01951 1.02441 1.02833 +1.03159 1.03453 1.03714 1.03714 1.03812 1.03943 1.04073 1.04171 +1.04204 1.0391 1.04106 1.04335 1.0391 1.0378 1.04106 1.04171 +1.04041 1.04171 1.04596 1.04433 1.04433 1.04269 1.0391 1.04237 +1.04596 1.04367 1.04237 1.04204 1.04269 1.044 1.04302 1.044 +1.04596 1.04302 1.04237 1.04269 1.04171 1.044 1.044 1.04269 +1.04269 1.04269 1.04171 1.04171 1.04433 1.04237 1.04269 1.04531 +1.04531 1.044 1.04171 1.03878 1.04171 1.04302 1.04041 1.04237 +1.04563 1.04269 1.04171 1.04106 1.04073 1.03812 1.03224 1.03192 +1.03584 1.03976 1.0342 1.02539 1.02278 1.02114 1.01853 1.01918 +1.01984 1.01624 1.01167 1.00253 0.991755 0.984898 0.984571 0.990122 +0.997306 1.0009 0.998612 0.992082 0.983918 0.975579 0.962947 0.956 +0.960421 0.959789 0.961053 0.957263 0.956 0.952842 0.935789 0.914316 +0.884 0.826526 0.747579 0.668632 0.601684 0.558737 0.542947 0.523368 +0.467813 0.399653 0.371253 0.359893 0.359893 0.358 0.34664 0.333387 +0.325813 0.316347 0.31824 0.314453 0.293627 0.276587 0.265227 0.26712 +0.269013 0.276587 0.287947 0.3012 0.291733 0.280373 0.28984 0.310667 +0.34096 0.359893 0.382613 0.39208 0.356107 0.308773 0.269013 0.26144 +0.310667 0.37504 0.388293 0.333387 0.28984 0.291733 0.297413 0.3012 +0.31256 0.314453 0.30688 0.31256 0.339067 0.405333 0.536 0.673053 +0.851158 0.985551 1.01918 1.02833 1.02408 1.01429 1.00384 0.997633 +0.996653 0.998286 1.00024 1.00514 1.01265 1.02865 1.05771 1.11173 +1.0502 1.02343 1.01037 1.00024 0.990776 0.980653 0.961053 0.954105 +0.954737 0.968 0.986531 0.991102 0.929474 0.756421 0.575789 0.42048 +0.3296 0.34096 0.316347 0.246293 0.000913333 0.000853333 0.000826667 0.00078 +0.000806667 0.000786667 0.00074 0.000746667 0.000733333 0.000746667 0.00078 0.00078 +0.000786667 0.000753333 0.000733333 0.000726667 0.00072 0.000713333 0.00074 0.000753333 +0.000746667 0.00074 0.000773333 0.00076 0.000733333 0.000726667 0.000746667 0.000773333 +0.00076 0.00076 0.000766667 0.000773333 0.00078 0.000753333 0.000733333 0.00074 +0.00076 0.000753333 0.00074 0.000753333 0.000766667 0.000786667 0.000793333 0.00076 +0.00074 0.000733333 0.000726667 0.000733333 0.00074 0.000753333 0.00074 0.000726667 +0.000733333 0.000753333 0.00076 0.000753333 0.000766667 0.000766667 0.00076 0.000766667 +0.000773333 0.00078 0.000786667 0.000806667 0.000693333 0.00068 0.000686667 0.000686667 +0.000686667 0.00068 0.000673333 0.000666667 0.000653333 0.00068 0.0007 0.0007 +0.0007 0.0007 0.0007 0.000686667 0.000673333 0.000666667 0.00068 0.00068 +0.000706667 0.00072 0.000706667 0.0007 0.00068 0.000693333 0.0007 0.000706667 +0.000713333 0.000713333 0.000706667 0.000686667 0.000673333 0.000693333 0.0007 0.0007 +0.000693333 0.00068 0.000673333 0.000666667 0.000686667 0.000686667 0.000673333 0.000686667 +0.000693333 0.00068 0.00068 0.00068 0.000673333 0.000673333 0.0007 0.0007 +0.00068 0.00068 0.00068 0.000673333 0.000673333 0.000693333 0.0007 0.000686667 +0.000666667 0.000666667 0.000673333 0.00068 0.0007 0.000706667 0.000686667 0.0007 +0.000686667 0.000693333 0.0007 0.000706667 0.0007 0.0007 0.00072 0.000713333 +0.000693333 0.000726667 0.000733333 0.00074 0.000746667 0.00074 0.00072 0.00072 +0.000726667 0.00074 0.000733333 0.000733333 0.000733333 0.00074 0.000746667 0.00076 +0.000946667 0.287947 0.31256 0.2728 0.28984 0.43752 0.615579 0.824632 +0.976211 0.994367 0.981959 0.963579 0.948421 0.941474 0.948421 0.967368 +0.990122 1.00482 1.01167 1.01494 1.02049 1.0378 1.13152 1.23803 +1.16956 1.05673 1.04041 1.03518 1.03616 1.03943 1.04204 1.03812 +1.0329 1.0391 1.0489 1.05771 1.09804 1.12695 1.08282 1.04041 +1.0182 1.00678 0.995673 0.951579 0.825895 0.664842 0.541053 0.43752 +0.371253 0.348533 0.34096 0.339067 0.35232 0.356107 0.342853 0.35232 +0.36936 0.350427 0.31824 0.29552 0.297413 0.337173 0.433733 0.44888 +0.359893 0.308773 0.291733 0.291733 0.308773 0.320133 0.310667 0.303093 +0.314453 0.32392 0.331493 0.35232 0.337173 0.308773 0.310667 0.314453 +0.314453 0.33528 0.365573 0.359893 0.333387 0.34096 0.36368 0.37504 +0.3864 0.416693 0.4432 0.40912 0.376933 0.371253 0.350427 0.314453 +0.297413 0.3012 0.314453 0.322027 0.31824 0.320133 0.327707 0.325813 +0.314453 0.308773 0.297413 0.293627 0.303093 0.320133 0.371253 0.439413 +0.429947 0.384507 0.354213 0.31256 0.303093 0.314453 0.322027 0.3012 +0.269013 0.251973 0.25008 0.25576 0.265227 0.265227 0.26712 0.280373 +0.29552 0.327707 0.34664 0.320133 0.2728 0.240613 0.219787 0.219787 +0.246293 0.257653 0.240613 0.246293 0.282267 0.30688 0.358 0.500632 +0.605474 0.764 0.910526 0.968632 0.98098 0.988163 0.994694 0.999592 +1.00351 1.00776 1.01069 1.01298 1.01527 1.01559 1.01722 1.0218 +1.02473 1.02441 1.02114 1.02016 1.01951 1.01951 1.0218 1.02702 +1.03192 1.03649 1.03878 1.03878 1.03976 1.04073 1.03943 1.04008 +1.04367 1.044 1.04367 1.04367 1.0391 1.0378 1.04106 1.04204 +1.04171 1.04204 1.04498 1.04433 1.04531 1.044 1.03943 1.04041 +1.044 1.04498 1.04531 1.04498 1.044 1.04433 1.044 1.04269 +1.04335 1.04204 1.04302 1.04302 1.04269 1.04596 1.044 1.04302 +1.04367 1.04204 1.03976 1.04073 1.044 1.04237 1.044 1.04596 +1.04596 1.04629 1.04269 1.03943 1.04008 1.04073 1.03943 1.04171 +1.04433 1.04367 1.04139 1.04008 1.04008 1.03682 1.03322 1.03388 +1.03714 1.04269 1.04008 1.03388 1.03192 1.02963 1.02865 1.02996 +1.02898 1.02571 1.01951 1.01004 1.0009 0.99502 0.994367 0.998286 +1.00449 1.00482 1.00188 0.996 0.989469 0.987184 0.982286 0.974947 +0.971158 0.967368 0.966105 0.959158 0.957263 0.958526 0.951579 0.940842 +0.92379 0.891579 0.841053 0.770316 0.690737 0.633895 0.618737 0.594737 +0.529684 0.439413 0.382613 0.35232 0.354213 0.344747 0.327707 0.3296 +0.33528 0.325813 0.322027 0.304987 0.287947 0.280373 0.26144 0.259547 +0.263333 0.265227 0.270907 0.270907 0.265227 0.265227 0.274693 0.303093 +0.327707 0.320133 0.3296 0.365573 0.34664 0.287947 0.265227 0.297413 +0.34664 0.373147 0.35232 0.304987 0.274693 0.274693 0.28984 0.316347 +0.34096 0.325813 0.304987 0.310667 0.327707 0.348533 0.418587 0.534737 +0.668632 0.847368 0.986531 1.02343 1.03094 1.02245 1.00939 0.999918 +0.995347 0.996327 0.999592 1.00253 1.00449 1.01135 1.03322 1.07978 +1.10565 1.04073 1.0169 1.00612 0.998286 0.990122 0.978737 0.962947 +0.952842 0.955368 0.975579 0.990122 0.984898 0.875789 0.684421 0.529053 +0.354213 0.325813 0.34664 0.3012 0.223573 0.000853333 0.000833333 0.000793333 +0.000826667 0.000806667 0.000746667 0.00076 0.00076 0.000773333 0.000786667 0.000773333 +0.000773333 0.00076 0.00076 0.000753333 0.000766667 0.000746667 0.000753333 0.00076 +0.00074 0.000713333 0.000746667 0.00074 0.000706667 0.000726667 0.000773333 0.000786667 +0.000753333 0.00074 0.000733333 0.000706667 0.000753333 0.000766667 0.00074 0.000733333 +0.00074 0.00076 0.000733333 0.00076 0.000786667 0.00078 0.000753333 0.000726667 +0.00072 0.000726667 0.00074 0.000746667 0.000753333 0.000733333 0.000733333 0.00076 +0.000753333 0.00074 0.000713333 0.000713333 0.000746667 0.000746667 0.000746667 0.000773333 +0.000766667 0.000766667 0.00078 0.000773333 0.0007 0.000673333 0.000673333 0.00068 +0.000686667 0.000693333 0.000693333 0.000673333 0.000653333 0.000666667 0.00068 0.00068 +0.0007 0.0007 0.000706667 0.000706667 0.0007 0.0007 0.0007 0.000686667 +0.000693333 0.000713333 0.00072 0.000713333 0.000693333 0.0007 0.000693333 0.000686667 +0.0007 0.000693333 0.000693333 0.0007 0.000686667 0.000686667 0.000693333 0.000686667 +0.000686667 0.000706667 0.000706667 0.000686667 0.0007 0.000706667 0.00068 0.000686667 +0.0007 0.000693333 0.00068 0.000686667 0.00068 0.000673333 0.00068 0.000686667 +0.000666667 0.000693333 0.000713333 0.000686667 0.000693333 0.0007 0.000713333 0.00072 +0.0007 0.000713333 0.000713333 0.000693333 0.000686667 0.000706667 0.000713333 0.0007 +0.000693333 0.000693333 0.0007 0.000706667 0.000693333 0.00068 0.000706667 0.00072 +0.000693333 0.00072 0.000733333 0.00072 0.000713333 0.00074 0.000753333 0.000746667 +0.00074 0.00074 0.00074 0.000746667 0.00072 0.000726667 0.000786667 0.000906667 +0.265227 0.31824 0.299307 0.286053 0.371253 0.548632 0.736842 0.930737 +0.993714 0.986857 0.968 0.957263 0.949053 0.946526 0.957895 0.981633 +0.998939 1.01004 1.01331 1.0169 1.02931 1.09195 1.29128 1.28215 +1.12543 1.04759 1.03845 1.04008 1.04694 1.04792 1.03976 1.03192 +1.03029 1.03584 1.04694 1.06609 1.10413 1.06609 1.04041 1.02082 +1.00873 0.999592 0.960421 0.825895 0.656632 0.530316 0.416693 0.359893 +0.339067 0.33528 0.33528 0.337173 0.354213 0.350427 0.31824 0.308773 +0.320133 0.3296 0.322027 0.304987 0.286053 0.293627 0.365573 0.422373 +0.38072 0.339067 0.320133 0.322027 0.339067 0.33528 0.310667 0.29552 +0.303093 0.320133 0.333387 0.342853 0.331493 0.310667 0.31256 0.316347 +0.303093 0.297413 0.310667 0.316347 0.310667 0.31824 0.327707 0.32392 +0.322027 0.331493 0.344747 0.333387 0.325813 0.337173 0.325813 0.29552 +0.28416 0.29552 0.308773 0.3012 0.291733 0.293627 0.30688 0.31824 +0.3012 0.28984 0.287947 0.287947 0.293627 0.30688 0.35232 0.429947 +0.456453 0.416693 0.361787 0.31256 0.287947 0.291733 0.297413 0.274693 +0.251973 0.246293 0.25576 0.28416 0.3012 0.304987 0.32392 0.348533 +0.358 0.358 0.35232 0.333387 0.286053 0.25576 0.251973 0.274693 +0.28984 0.282267 0.28416 0.303093 0.331493 0.354213 0.4148 0.539158 +0.673053 0.832211 0.949684 0.986531 0.991429 0.995347 0.998939 1.00384 +1.00743 1.01069 1.012 1.01461 1.02082 1.0231 1.02408 1.02637 +1.02637 1.02408 1.02016 1.01951 1.02212 1.02408 1.02278 1.02669 +1.03159 1.03649 1.03878 1.03878 1.04139 1.04171 1.03976 1.03943 +1.04237 1.04269 1.04335 1.04498 1.04139 1.04041 1.04302 1.04302 +1.04139 1.04041 1.044 1.04269 1.04302 1.04302 1.04204 1.044 +1.04531 1.04498 1.04661 1.04563 1.04367 1.044 1.04465 1.044 +1.044 1.04269 1.04465 1.04335 1.04269 1.04563 1.04335 1.04335 +1.04531 1.044 1.03845 1.03747 1.04171 1.04041 1.044 1.04498 +1.04433 1.04531 1.04269 1.04139 1.04204 1.04237 1.04139 1.04204 +1.04237 1.04269 1.04204 1.04073 1.0391 1.03486 1.03518 1.03747 +1.03812 1.04041 1.03943 1.03714 1.03551 1.0342 1.03322 1.03453 +1.03551 1.03355 1.02735 1.01918 1.01135 1.00678 1.00547 1.00743 +1.01135 1.01167 1.00873 1.00286 0.99698 0.997306 0.997306 0.992082 +0.984571 0.98098 0.978105 0.971158 0.969263 0.966105 0.964842 0.962947 +0.953474 0.934526 0.907368 0.856842 0.784211 0.722947 0.703368 0.671158 +0.568211 0.45456 0.365573 0.337173 0.3296 0.31824 0.304987 0.316347 +0.34096 0.359893 0.34664 0.30688 0.280373 0.269013 0.263333 0.26144 +0.263333 0.269013 0.270907 0.276587 0.27848 0.269013 0.26712 0.28984 +0.299307 0.28984 0.28984 0.314453 0.316347 0.282267 0.286053 0.322027 +0.344747 0.333387 0.314453 0.291733 0.276587 0.28416 0.293627 0.3296 +0.371253 0.354213 0.320133 0.314453 0.327707 0.339067 0.359893 0.412907 +0.529053 0.665474 0.846105 0.988163 1.02931 1.03584 1.0218 1.00482 +0.99502 0.994041 0.997959 0.999265 1.00057 1.00449 1.01494 1.04465 +1.13152 1.08282 1.03061 1.012 1.0058 0.998286 0.986204 0.973053 +0.956 0.947789 0.958526 0.979368 0.991755 0.961684 0.803158 0.611789 +0.456453 0.333387 0.337173 0.339067 0.270907 0.0009 0.000853333 0.000806667 +0.000813333 0.000833333 0.00078 0.000793333 0.000806667 0.00078 0.000753333 0.00074 +0.00076 0.00076 0.000773333 0.000766667 0.000753333 0.000746667 0.000746667 0.00076 +0.000733333 0.000693333 0.000733333 0.00074 0.00074 0.000746667 0.000766667 0.000753333 +0.000713333 0.000713333 0.0007 0.000706667 0.000753333 0.00076 0.00074 0.000733333 +0.000773333 0.000793333 0.000766667 0.00078 0.000786667 0.00078 0.00076 0.00076 +0.000753333 0.00076 0.000766667 0.000753333 0.000746667 0.000746667 0.000753333 0.00074 +0.000726667 0.000733333 0.000746667 0.00076 0.00078 0.000806667 0.00078 0.000773333 +0.000773333 0.000773333 0.000786667 0.000753333 0.000726667 0.00072 0.00072 0.0007 +0.000686667 0.000713333 0.000706667 0.000693333 0.000706667 0.000713333 0.000713333 0.00068 +0.00068 0.000693333 0.000706667 0.0007 0.000706667 0.000713333 0.000713333 0.0007 +0.0007 0.000706667 0.000693333 0.000706667 0.000713333 0.000693333 0.000706667 0.000706667 +0.0007 0.000693333 0.000666667 0.000673333 0.0007 0.000706667 0.000713333 0.0007 +0.00068 0.000686667 0.0007 0.0007 0.000713333 0.00072 0.00068 0.00068 +0.000686667 0.00068 0.0007 0.000713333 0.000706667 0.00072 0.000733333 0.00074 +0.00072 0.000713333 0.00072 0.000713333 0.000733333 0.000726667 0.000706667 0.00072 +0.0007 0.000673333 0.00068 0.000686667 0.000686667 0.000673333 0.00068 0.000693333 +0.000706667 0.000693333 0.000693333 0.000706667 0.000686667 0.000686667 0.000693333 0.000693333 +0.000686667 0.000693333 0.000726667 0.000733333 0.000693333 0.000666667 0.0007 0.000733333 +0.00074 0.00072 0.000713333 0.000733333 0.000746667 0.00076 0.000846667 0.246293 +0.310667 0.30688 0.28416 0.32392 0.48864 0.645263 0.857474 0.984571 +0.989796 0.969895 0.952842 0.951579 0.951579 0.955368 0.972421 0.991102 +1.00547 1.01167 1.01461 1.02212 1.0489 1.24259 1.34606 1.22433 +1.06609 1.04302 1.04073 1.0489 1.06456 1.05804 1.03845 1.028 +1.02833 1.03094 1.03714 1.04563 1.04694 1.03747 1.0231 1.012 +1.00024 0.960421 0.826526 0.652842 0.524632 0.405333 0.359893 0.34096 +0.3296 0.325813 0.325813 0.333387 0.358 0.359893 0.316347 0.291733 +0.299307 0.310667 0.316347 0.310667 0.293627 0.28984 0.327707 0.38072 +0.37504 0.361787 0.348533 0.356107 0.361787 0.3296 0.3012 0.297413 +0.3012 0.310667 0.327707 0.333387 0.322027 0.304987 0.310667 0.308773 +0.293627 0.287947 0.28416 0.293627 0.299307 0.3012 0.310667 0.303093 +0.286053 0.29552 0.308773 0.3012 0.310667 0.337173 0.310667 0.28416 +0.280373 0.293627 0.303093 0.291733 0.286053 0.293627 0.304987 0.31824 +0.304987 0.27848 0.269013 0.2728 0.282267 0.29552 0.327707 0.40344 +0.458347 0.424267 0.354213 0.30688 0.274693 0.280373 0.3012 0.274693 +0.248187 0.248187 0.265227 0.29552 0.325813 0.337173 0.331493 0.32392 +0.314453 0.286053 0.280373 0.293627 0.280373 0.28984 0.34664 0.393973 +0.350427 0.269013 0.26144 0.286053 0.303093 0.361787 0.512 0.633895 +0.788 0.911158 0.983918 0.999918 1.0022 1.00416 1.0071 1.00939 +1.01102 1.01461 1.0182 1.01951 1.0231 1.02702 1.02833 1.02767 +1.02441 1.02278 1.01951 1.01853 1.02343 1.02767 1.02963 1.0342 +1.03649 1.0378 1.0391 1.03976 1.04106 1.04171 1.03943 1.04139 +1.04531 1.04302 1.04139 1.04269 1.04073 1.04041 1.04204 1.04204 +1.04008 1.04073 1.04269 1.04106 1.04302 1.04269 1.04237 1.04596 +1.04629 1.04433 1.04661 1.04596 1.04367 1.04367 1.04302 1.04302 +1.04302 1.04302 1.044 1.04204 1.04269 1.04433 1.04302 1.04367 +1.04531 1.04498 1.04073 1.03812 1.04171 1.04041 1.04367 1.04237 +1.04106 1.04237 1.04106 1.04171 1.04302 1.04335 1.04335 1.044 +1.044 1.04237 1.04008 1.0391 1.0391 1.03616 1.03584 1.03812 +1.04073 1.04041 1.03747 1.03616 1.03616 1.03714 1.03616 1.03584 +1.03486 1.03257 1.03029 1.028 1.02441 1.01853 1.01624 1.01592 +1.01755 1.01886 1.01886 1.01494 1.01069 1.00906 1.00678 1.00384 +0.999592 0.996 0.992408 0.989796 0.986531 0.982286 0.98098 0.981959 +0.976842 0.962947 0.946526 0.913053 0.858105 0.805053 0.788 0.746316 +0.610526 0.48296 0.373147 0.34664 0.322027 0.304987 0.303093 0.322027 +0.36368 0.401547 0.371253 0.316347 0.28984 0.2728 0.26144 0.269013 +0.27848 0.2728 0.2728 0.286053 0.297413 0.286053 0.286053 0.293627 +0.286053 0.2728 0.26712 0.27848 0.297413 0.293627 0.304987 0.322027 +0.322027 0.304987 0.291733 0.282267 0.287947 0.297413 0.297413 0.32392 +0.365573 0.358 0.325813 0.31824 0.327707 0.331493 0.34664 0.367467 +0.407227 0.526526 0.66421 0.847368 0.991755 1.03584 1.0391 1.01853 +1.00122 0.996653 0.997633 0.998286 0.999918 1.00318 1.00743 1.02408 +1.06152 1.16195 1.05576 1.02114 1.00873 1.00351 0.992735 0.98098 +0.962316 0.946526 0.947158 0.961684 0.984898 0.989796 0.909263 0.725474 +0.551789 0.384507 0.316347 0.344747 0.33528 0.240613 0.000893333 0.000806667 +0.0008 0.00084 0.000813333 0.000813333 0.000793333 0.00074 0.00074 0.000766667 +0.000786667 0.000766667 0.00076 0.000746667 0.00074 0.00074 0.000766667 0.000773333 +0.000726667 0.000713333 0.000753333 0.00078 0.000766667 0.000726667 0.000733333 0.000726667 +0.000726667 0.000746667 0.00076 0.00076 0.000766667 0.000766667 0.000746667 0.000753333 +0.00078 0.00078 0.00076 0.000746667 0.000753333 0.000773333 0.000786667 0.000773333 +0.000766667 0.000766667 0.000766667 0.000753333 0.000746667 0.000766667 0.00076 0.000746667 +0.000753333 0.000786667 0.000806667 0.000806667 0.000793333 0.000793333 0.000773333 0.000786667 +0.0008 0.00078 0.00078 0.00076 0.000693333 0.000706667 0.00074 0.00074 +0.000713333 0.000726667 0.000713333 0.000693333 0.0007 0.000726667 0.000726667 0.0007 +0.000693333 0.000686667 0.000686667 0.0007 0.000693333 0.000693333 0.0007 0.00072 +0.000706667 0.000693333 0.00068 0.00068 0.000693333 0.000686667 0.000693333 0.000713333 +0.000713333 0.000713333 0.0007 0.000686667 0.000686667 0.000686667 0.0007 0.000713333 +0.000726667 0.00072 0.00068 0.000686667 0.000713333 0.00072 0.000706667 0.00072 +0.000713333 0.000713333 0.00072 0.000713333 0.000706667 0.00072 0.000733333 0.00074 +0.00074 0.000733333 0.000713333 0.000693333 0.0007 0.000713333 0.000706667 0.000706667 +0.0007 0.00068 0.000686667 0.00068 0.000693333 0.000706667 0.0007 0.000686667 +0.000693333 0.0007 0.000713333 0.000713333 0.0007 0.0007 0.000706667 0.000706667 +0.00072 0.00072 0.00074 0.000753333 0.000733333 0.000693333 0.000693333 0.00072 +0.00074 0.000753333 0.000753333 0.000733333 0.000726667 0.000786667 0.216 0.29552 +0.308773 0.282267 0.299307 0.388293 0.565684 0.764632 0.948421 0.994367 +0.981633 0.955368 0.942737 0.945263 0.951579 0.966737 0.985224 0.999265 +1.00939 1.01233 1.01494 1.028 1.09804 1.30954 1.30954 1.18782 +1.07522 1.05053 1.05347 1.06913 1.09195 1.05608 1.03551 1.02767 +1.02833 1.028 1.02865 1.02996 1.02898 1.02376 1.01592 1.00384 +0.964211 0.827158 0.651579 0.525263 0.407227 0.354213 0.34096 0.337173 +0.333387 0.320133 0.31256 0.3296 0.356107 0.371253 0.333387 0.29552 +0.293627 0.293627 0.29552 0.308773 0.30688 0.293627 0.308773 0.3296 +0.3296 0.331493 0.320133 0.333387 0.348533 0.316347 0.29552 0.304987 +0.316347 0.320133 0.333387 0.3296 0.316347 0.316347 0.325813 0.30688 +0.282267 0.274693 0.2728 0.28416 0.29552 0.30688 0.333387 0.322027 +0.287947 0.28984 0.303093 0.32392 0.39776 0.428053 0.34096 0.28984 +0.287947 0.28984 0.293627 0.291733 0.28984 0.310667 0.3296 0.3296 +0.314453 0.299307 0.282267 0.27848 0.276587 0.287947 0.31824 0.388293 +0.464027 0.435627 0.344747 0.299307 0.274693 0.287947 0.303093 0.2728 +0.251973 0.265227 0.297413 0.320133 0.325813 0.30688 0.282267 0.280373 +0.2728 0.240613 0.240613 0.259547 0.274693 0.297413 0.35232 0.411013 +0.36368 0.25008 0.219787 0.236827 0.269013 0.429947 0.600421 0.770947 +0.906105 0.973684 0.995347 1.0058 1.01069 1.01461 1.01624 1.01494 +1.01624 1.0182 1.0231 1.02473 1.02506 1.02669 1.02898 1.02604 +1.02082 1.02049 1.02147 1.02245 1.02767 1.03061 1.03224 1.03682 +1.03976 1.04041 1.04171 1.04171 1.04041 1.03845 1.03878 1.04106 +1.04596 1.04596 1.04367 1.04269 1.04171 1.04204 1.04367 1.04367 +1.04237 1.04367 1.04335 1.04171 1.04531 1.044 1.04204 1.04367 +1.04498 1.04531 1.04792 1.04596 1.04596 1.04465 1.04269 1.04269 +1.04335 1.04335 1.04335 1.04139 1.04204 1.04367 1.04171 1.04302 +1.044 1.04367 1.04171 1.0391 1.04335 1.04302 1.04335 1.04237 +1.04302 1.04302 1.04171 1.04204 1.04302 1.04335 1.04335 1.04498 +1.04465 1.04204 1.03943 1.03878 1.03943 1.0391 1.03812 1.0378 +1.04008 1.03943 1.03682 1.03518 1.03584 1.03812 1.03812 1.03747 +1.03486 1.03127 1.02996 1.03029 1.03192 1.02767 1.02376 1.02245 +1.02278 1.02343 1.02441 1.02212 1.02016 1.01886 1.01396 1.01069 +1.01102 1.00939 1.00612 1.00384 0.998939 0.99502 0.993714 0.991755 +0.987837 0.985224 0.978737 0.954105 0.917474 0.876421 0.858105 0.809474 +0.664842 0.530316 0.42616 0.382613 0.342853 0.31824 0.32392 0.344747 +0.371253 0.38072 0.33528 0.303093 0.297413 0.282267 0.26712 0.282267 +0.299307 0.28984 0.27848 0.287947 0.286053 0.293627 0.31256 0.310667 +0.287947 0.265227 0.259547 0.263333 0.27848 0.287947 0.29552 0.308773 +0.31256 0.299307 0.282267 0.291733 0.29552 0.287947 0.280373 0.29552 +0.342853 0.350427 0.327707 0.32392 0.331493 0.337173 0.344747 0.348533 +0.350427 0.393973 0.527789 0.662947 0.844842 0.99502 1.04008 1.03616 +1.01331 1.00155 0.999918 1.00122 1.00057 0.999918 1.0009 1.01069 +1.03845 1.14673 1.15738 1.03976 1.01298 1.00873 1.0009 0.987837 +0.974947 0.952842 0.943368 0.956 0.974947 0.990122 0.98 0.850526 +0.653474 0.505053 0.337173 0.327707 0.354213 0.299307 0.000993333 0.000846667 +0.000813333 0.000806667 0.000786667 0.0008 0.0008 0.00076 0.00076 0.000766667 +0.000766667 0.00078 0.000753333 0.000753333 0.00076 0.000746667 0.000746667 0.000753333 +0.000726667 0.000733333 0.000793333 0.000773333 0.000746667 0.00072 0.00074 0.000746667 +0.000726667 0.00076 0.000773333 0.00076 0.000773333 0.000793333 0.000766667 0.00076 +0.000806667 0.00078 0.00076 0.000753333 0.000766667 0.000766667 0.00076 0.000766667 +0.000786667 0.000786667 0.000766667 0.000753333 0.000753333 0.000753333 0.000746667 0.00076 +0.000773333 0.000793333 0.000786667 0.000766667 0.000733333 0.000733333 0.000766667 0.000773333 +0.000766667 0.000746667 0.00076 0.000766667 0.0007 0.00068 0.00068 0.0007 +0.00072 0.000726667 0.00072 0.000706667 0.000693333 0.000686667 0.000693333 0.000693333 +0.0007 0.000713333 0.0007 0.0007 0.0007 0.000673333 0.000673333 0.0007 +0.00072 0.000706667 0.0007 0.000693333 0.00068 0.00068 0.000686667 0.000693333 +0.000706667 0.000713333 0.000706667 0.000713333 0.00072 0.0007 0.000686667 0.000693333 +0.000726667 0.000733333 0.00072 0.000713333 0.000713333 0.000706667 0.0007 0.000713333 +0.000726667 0.000726667 0.00072 0.0007 0.000693333 0.000693333 0.000693333 0.0007 +0.000686667 0.000693333 0.00072 0.000706667 0.0007 0.000713333 0.0007 0.000693333 +0.0007 0.000706667 0.000713333 0.0007 0.000693333 0.0007 0.000726667 0.00072 +0.000706667 0.0007 0.000706667 0.000726667 0.00074 0.00074 0.00072 0.000733333 +0.00072 0.000726667 0.000733333 0.00074 0.00074 0.00074 0.000753333 0.000733333 +0.000733333 0.000766667 0.00078 0.000766667 0.00078 0.000913333 0.269013 0.303093 +0.26712 0.274693 0.337173 0.508211 0.673684 0.882737 0.989796 0.990776 +0.967368 0.949053 0.943368 0.945263 0.952211 0.973053 0.990449 1.00449 +1.01233 1.01363 1.01624 1.03649 1.14977 1.2639 1.22433 1.20151 +1.17412 1.13152 1.15586 1.16043 1.07522 1.044 1.03192 1.02735 +1.02767 1.02833 1.028 1.02669 1.02245 1.01559 1.00351 0.958526 +0.818947 0.646526 0.524 0.429947 0.378827 0.350427 0.348533 0.342853 +0.333387 0.32392 0.325813 0.354213 0.376933 0.39208 0.376933 0.3296 +0.299307 0.282267 0.27848 0.28984 0.3012 0.291733 0.293627 0.299307 +0.299307 0.3012 0.280373 0.28416 0.308773 0.3012 0.29552 0.3012 +0.304987 0.314453 0.322027 0.3296 0.325813 0.33528 0.34664 0.31824 +0.280373 0.26712 0.2728 0.28416 0.297413 0.327707 0.36368 0.344747 +0.29552 0.28416 0.3012 0.348533 0.433733 0.452667 0.34664 0.293627 +0.293627 0.293627 0.293627 0.299307 0.29552 0.304987 0.327707 0.331493 +0.331493 0.32392 0.322027 0.325813 0.320133 0.327707 0.358 0.411013 +0.481067 0.44888 0.34664 0.3012 0.30688 0.337173 0.3296 0.293627 +0.28416 0.32392 0.350427 0.333387 0.29552 0.269013 0.27848 0.293627 +0.269013 0.223573 0.223573 0.242507 0.253867 0.259547 0.26144 0.303093 +0.32392 0.27848 0.25008 0.2728 0.37504 0.558737 0.721684 0.887158 +0.982286 1.0009 1.00645 1.012 1.01886 1.02114 1.01984 1.02016 +1.02343 1.02343 1.02278 1.02473 1.02604 1.02669 1.02767 1.02571 +1.02049 1.0182 1.02212 1.02767 1.03127 1.03322 1.03453 1.03551 +1.03812 1.0378 1.0378 1.04073 1.04171 1.0391 1.0391 1.04106 +1.04433 1.04629 1.04433 1.044 1.04237 1.04139 1.04433 1.04596 +1.04596 1.04531 1.04465 1.04335 1.04596 1.04531 1.04335 1.044 +1.04563 1.04596 1.04759 1.04727 1.04661 1.04269 1.04073 1.04237 +1.044 1.04204 1.04204 1.04302 1.04367 1.04433 1.03976 1.04008 +1.04269 1.04269 1.04171 1.04106 1.04204 1.04139 1.04237 1.044 +1.04465 1.04237 1.04204 1.04237 1.04237 1.04302 1.04237 1.04465 +1.04433 1.04204 1.04041 1.03878 1.03747 1.03845 1.03845 1.03845 +1.03845 1.03714 1.03812 1.03845 1.03878 1.04008 1.03943 1.03616 +1.0342 1.0342 1.03388 1.03257 1.03192 1.02931 1.02441 1.02212 +1.02539 1.02931 1.02963 1.02702 1.02571 1.02441 1.0218 1.01788 +1.01853 1.01918 1.0169 1.01396 1.01004 1.00776 1.00743 1.00482 +1.0009 1.00057 0.996653 0.986857 0.969263 0.937684 0.914316 0.859368 +0.728 0.588421 0.506947 0.42048 0.365573 0.33528 0.339067 0.34096 +0.339067 0.327707 0.293627 0.274693 0.280373 0.280373 0.276587 0.28984 +0.303093 0.303093 0.299307 0.3012 0.3012 0.310667 0.33528 0.344747 +0.320133 0.28416 0.269013 0.263333 0.270907 0.28416 0.29552 0.304987 +0.3012 0.280373 0.269013 0.27848 0.282267 0.2728 0.263333 0.276587 +0.322027 0.344747 0.339067 0.339067 0.34096 0.34096 0.333387 0.327707 +0.34096 0.358 0.405333 0.527789 0.66421 0.853053 1.00286 1.04302 +1.03355 1.01461 1.00612 1.00351 0.999265 0.99698 0.997633 1.00449 +1.01984 1.05673 1.20151 1.09195 1.02506 1.01233 1.00743 0.995347 +0.983265 0.965474 0.950316 0.956632 0.964842 0.980327 0.990122 0.947158 +0.778526 0.585895 0.416693 0.310667 0.327707 0.337173 0.269013 0.00092 +0.00084 0.000813333 0.000786667 0.000786667 0.000813333 0.000793333 0.0008 0.00078 +0.00076 0.000786667 0.000773333 0.000773333 0.00076 0.000726667 0.000733333 0.000733333 +0.000726667 0.000733333 0.00076 0.000753333 0.000733333 0.000746667 0.000753333 0.000746667 +0.000746667 0.00076 0.000773333 0.00074 0.000753333 0.000766667 0.000746667 0.00074 +0.000766667 0.000766667 0.000753333 0.000766667 0.000753333 0.00074 0.000766667 0.00078 +0.000786667 0.000786667 0.000773333 0.000733333 0.000726667 0.000733333 0.000753333 0.000773333 +0.000786667 0.000773333 0.000746667 0.000753333 0.000746667 0.000733333 0.00076 0.000746667 +0.000746667 0.000773333 0.00078 0.000786667 0.000713333 0.000713333 0.000693333 0.00068 +0.0007 0.000713333 0.000726667 0.000726667 0.00072 0.0007 0.00068 0.00068 +0.000673333 0.00068 0.0007 0.000713333 0.00072 0.000706667 0.000686667 0.000666667 +0.000686667 0.000713333 0.000706667 0.000706667 0.000706667 0.000706667 0.0007 0.000706667 +0.000713333 0.000706667 0.000693333 0.000693333 0.000706667 0.000713333 0.000713333 0.000713333 +0.000706667 0.000693333 0.0007 0.000706667 0.000706667 0.000726667 0.00072 0.0007 +0.000693333 0.0007 0.0007 0.000713333 0.000733333 0.00072 0.000706667 0.0007 +0.00068 0.00068 0.000706667 0.0007 0.0007 0.000713333 0.0007 0.000673333 +0.00068 0.000706667 0.000713333 0.000726667 0.000733333 0.000706667 0.000726667 0.000733333 +0.000713333 0.000713333 0.000726667 0.000726667 0.000726667 0.000733333 0.00074 0.000746667 +0.00074 0.000733333 0.000713333 0.000726667 0.000733333 0.000733333 0.000746667 0.00074 +0.00074 0.000766667 0.000773333 0.000766667 0.000873333 0.26144 0.316347 0.280373 +0.242507 0.293627 0.428053 0.596 0.798105 0.961053 0.994367 0.98098 +0.952211 0.941474 0.942737 0.948421 0.962316 0.982939 0.994367 1.00547 +1.01265 1.01461 1.01951 1.04433 1.14825 1.1726 1.14977 1.24564 +1.32172 1.30802 1.30041 1.23194 1.06609 1.03714 1.03061 1.02767 +1.02702 1.02604 1.02441 1.02278 1.0169 1.0009 0.947158 0.808842 +0.638316 0.516421 0.405333 0.37504 0.358 0.342853 0.344747 0.342853 +0.337173 0.333387 0.34664 0.367467 0.388293 0.42048 0.445093 0.388293 +0.31256 0.287947 0.27848 0.282267 0.29552 0.29552 0.28984 0.282267 +0.286053 0.282267 0.26712 0.265227 0.27848 0.28984 0.28984 0.29552 +0.3012 0.30688 0.314453 0.325813 0.331493 0.35232 0.350427 0.308773 +0.282267 0.276587 0.28984 0.291733 0.293627 0.320133 0.350427 0.327707 +0.3012 0.287947 0.297413 0.320133 0.34096 0.342853 0.308773 0.293627 +0.29552 0.297413 0.291733 0.293627 0.30688 0.31256 0.316347 0.314453 +0.31824 0.337173 0.376933 0.3864 0.36936 0.371253 0.384507 0.416693 +0.5 0.502526 0.39776 0.358 0.445093 0.503789 0.44888 0.371253 +0.356107 0.361787 0.342853 0.287947 0.25576 0.259547 0.26144 0.269013 +0.246293 0.000986667 0.219787 0.23304 0.23304 0.246293 0.251973 0.257653 +0.28984 0.293627 0.282267 0.34664 0.532842 0.682526 0.844211 0.958526 +0.998612 1.01461 1.01984 1.01984 1.01918 1.02016 1.02245 1.02506 +1.028 1.02735 1.02473 1.02376 1.02539 1.02833 1.02669 1.02539 +1.02245 1.02147 1.02735 1.03355 1.0342 1.03551 1.03812 1.04041 +1.04139 1.03976 1.03812 1.04008 1.04237 1.03976 1.03845 1.04008 +1.04367 1.04498 1.04269 1.044 1.04433 1.04269 1.044 1.04727 +1.04694 1.04433 1.04596 1.04661 1.04694 1.04596 1.044 1.04302 +1.04498 1.04433 1.044 1.04531 1.04465 1.04237 1.04041 1.04106 +1.04139 1.04008 1.04041 1.04073 1.04204 1.04302 1.04139 1.04139 +1.04237 1.04335 1.04269 1.04171 1.04139 1.04041 1.04041 1.04335 +1.044 1.04106 1.04139 1.04106 1.04139 1.04269 1.04269 1.04563 +1.04367 1.04008 1.04073 1.04041 1.0391 1.03747 1.03682 1.0391 +1.03878 1.03747 1.0391 1.03812 1.03714 1.03649 1.03518 1.03355 +1.0329 1.03616 1.03714 1.03355 1.02898 1.02702 1.02539 1.02376 +1.02833 1.03192 1.03061 1.02898 1.02996 1.02931 1.02735 1.02473 +1.02473 1.02571 1.02376 1.02016 1.01886 1.01722 1.01559 1.01298 +1.012 1.01135 1.00678 0.999918 0.991102 0.981959 0.963579 0.911158 +0.798105 0.656632 0.551789 0.469707 0.384507 0.350427 0.333387 0.32392 +0.31824 0.308773 0.287947 0.2728 0.280373 0.286053 0.28984 0.293627 +0.297413 0.316347 0.32392 0.31256 0.30688 0.320133 0.348533 0.401547 +0.43184 0.38072 0.314453 0.282267 0.282267 0.287947 0.297413 0.3012 +0.29552 0.274693 0.263333 0.26712 0.270907 0.265227 0.263333 0.2728 +0.299307 0.327707 0.344747 0.342853 0.34096 0.344747 0.337173 0.327707 +0.342853 0.35232 0.36368 0.418587 0.536 0.674947 0.871368 1.01363 +1.05086 1.04008 1.0169 1.00547 0.999918 0.997633 0.99698 1.00122 +1.00841 1.03094 1.13912 1.20455 1.0502 1.0182 1.01037 1.00155 +0.989796 0.981306 0.961684 0.954737 0.958526 0.964211 0.982286 0.985224 +0.894737 0.698316 0.528421 0.356107 0.316347 0.34096 0.31256 0.223573 +0.000866667 0.000806667 0.00078 0.000806667 0.00082 0.00078 0.00076 0.000786667 +0.0008 0.000813333 0.00078 0.00076 0.000746667 0.000733333 0.000726667 0.000733333 +0.000726667 0.000726667 0.000753333 0.000753333 0.00076 0.000766667 0.000766667 0.000746667 +0.000733333 0.00076 0.00076 0.000753333 0.000746667 0.000746667 0.00072 0.000733333 +0.000753333 0.00076 0.000746667 0.00076 0.000753333 0.00076 0.000773333 0.000766667 +0.000746667 0.000746667 0.00074 0.000706667 0.000713333 0.000753333 0.00078 0.000786667 +0.00078 0.00076 0.00074 0.000766667 0.000766667 0.000753333 0.000773333 0.00076 +0.00076 0.000773333 0.000773333 0.00078 0.00072 0.000713333 0.00072 0.00072 +0.0007 0.0007 0.000713333 0.000713333 0.000713333 0.000733333 0.00072 0.000713333 +0.000713333 0.000693333 0.00068 0.000686667 0.000706667 0.000726667 0.000733333 0.00072 +0.000693333 0.000706667 0.000706667 0.0007 0.000706667 0.00072 0.000713333 0.00072 +0.00074 0.000726667 0.000706667 0.0007 0.000686667 0.000686667 0.0007 0.000706667 +0.00072 0.000706667 0.000686667 0.000673333 0.000673333 0.000713333 0.000733333 0.00072 +0.000706667 0.000693333 0.000693333 0.000706667 0.000726667 0.000733333 0.000753333 0.00074 +0.000706667 0.000713333 0.00072 0.00072 0.000713333 0.0007 0.00072 0.000713333 +0.000706667 0.000713333 0.000706667 0.0007 0.000713333 0.00072 0.00072 0.000726667 +0.00072 0.0007 0.00072 0.00074 0.00072 0.00072 0.000733333 0.000766667 +0.000786667 0.00078 0.00076 0.000746667 0.00074 0.000733333 0.00076 0.00076 +0.00076 0.00078 0.000793333 0.000853333 0.240613 0.31256 0.304987 0.257653 +0.280373 0.36368 0.535368 0.713474 0.908 0.991429 0.990122 0.964211 +0.943368 0.938316 0.941474 0.953474 0.976842 0.992408 1.0009 1.00645 +1.01037 1.01331 1.02343 1.04922 1.13152 1.14065 1.14065 1.27303 +1.42671 1.46627 1.3628 1.18477 1.05216 1.03355 1.02931 1.02767 +1.02637 1.02506 1.0218 1.01494 0.998939 0.935158 0.790526 0.626947 +0.514526 0.399653 0.358 0.34664 0.33528 0.325813 0.3296 0.333387 +0.327707 0.322027 0.325813 0.325813 0.331493 0.376933 0.452667 0.42616 +0.32392 0.274693 0.26712 0.2728 0.286053 0.287947 0.280373 0.276587 +0.269013 0.269013 0.265227 0.269013 0.276587 0.280373 0.28416 0.293627 +0.308773 0.310667 0.304987 0.310667 0.34096 0.371253 0.34096 0.297413 +0.28416 0.282267 0.30688 0.316347 0.3012 0.299307 0.310667 0.3012 +0.293627 0.299307 0.304987 0.30688 0.293627 0.28984 0.282267 0.280373 +0.291733 0.29552 0.287947 0.291733 0.308773 0.316347 0.308773 0.3012 +0.308773 0.35232 0.407227 0.382613 0.327707 0.32392 0.33528 0.367467 +0.492427 0.543579 0.544211 0.557474 0.611158 0.606737 0.534105 0.46024 +0.43752 0.40344 0.331493 0.257653 0.240613 0.248187 0.225467 0.216 +0.229253 0.000986667 0.000966667 0.229253 0.251973 0.286053 0.314453 0.297413 +0.29552 0.297413 0.327707 0.513895 0.661053 0.822737 0.940842 0.993061 +1.00841 1.01951 1.02571 1.02637 1.02114 1.01788 1.02441 1.03029 +1.03094 1.03029 1.02865 1.02767 1.02604 1.02506 1.02376 1.0218 +1.0218 1.02506 1.03159 1.03518 1.03682 1.03845 1.03845 1.04008 +1.04204 1.04204 1.04106 1.04106 1.04269 1.04171 1.03976 1.04073 +1.04433 1.04563 1.04269 1.04171 1.04269 1.04367 1.04661 1.04694 +1.04531 1.04269 1.04531 1.04955 1.0502 1.04988 1.04759 1.04498 +1.04563 1.04498 1.04531 1.04433 1.04302 1.044 1.04433 1.04171 +1.03976 1.04041 1.04008 1.0391 1.04073 1.04171 1.04171 1.04367 +1.04204 1.04171 1.04171 1.04106 1.04204 1.04204 1.04139 1.044 +1.04302 1.03943 1.04237 1.04171 1.04106 1.04335 1.04335 1.04367 +1.04041 1.03747 1.0378 1.0391 1.04073 1.03878 1.03747 1.03943 +1.03943 1.04106 1.04237 1.0378 1.03649 1.03518 1.03257 1.03127 +1.03192 1.03355 1.03322 1.03127 1.02833 1.02865 1.02833 1.028 +1.02963 1.03029 1.03061 1.02963 1.03094 1.02963 1.028 1.02865 +1.02767 1.02702 1.02539 1.02376 1.0231 1.02343 1.02049 1.01755 +1.0182 1.01624 1.01298 1.00808 1.00122 0.997633 0.991429 0.962316 +0.870105 0.741263 0.620632 0.524 0.422373 0.356107 0.325813 0.331493 +0.33528 0.3296 0.316347 0.308773 0.3012 0.287947 0.287947 0.286053 +0.287947 0.308773 0.303093 0.28984 0.297413 0.314453 0.337173 0.43184 +0.517053 0.508842 0.405333 0.331493 0.308773 0.299307 0.286053 0.274693 +0.274693 0.26712 0.269013 0.2728 0.270907 0.269013 0.26712 0.280373 +0.299307 0.320133 0.337173 0.33528 0.339067 0.36936 0.361787 0.333387 +0.3296 0.337173 0.354213 0.371253 0.42048 0.536 0.683158 0.894105 +1.03029 1.07217 1.03845 1.012 1.00253 0.999918 0.998286 0.999592 +1.00416 1.01363 1.04988 1.21368 1.15738 1.03551 1.01461 1.00776 +0.997633 0.989469 0.976211 0.958526 0.953474 0.951579 0.964842 0.986531 +0.970526 0.829053 0.628211 0.486747 0.331493 0.31824 0.33528 0.280373 +0.000973333 0.000813333 0.000746667 0.000793333 0.000786667 0.000733333 0.00072 0.000753333 +0.00078 0.00078 0.000746667 0.000753333 0.000746667 0.000753333 0.000753333 0.000746667 +0.000746667 0.00076 0.000786667 0.00078 0.000753333 0.000753333 0.000733333 0.000706667 +0.0007 0.00074 0.00076 0.000733333 0.000733333 0.000753333 0.000733333 0.000746667 +0.000773333 0.000766667 0.000773333 0.000806667 0.0008 0.000773333 0.000766667 0.00076 +0.00074 0.000726667 0.000726667 0.000753333 0.00078 0.000773333 0.000753333 0.00076 +0.000766667 0.000746667 0.00074 0.000753333 0.000746667 0.00076 0.000773333 0.000766667 +0.000766667 0.00076 0.00076 0.000766667 0.000733333 0.000713333 0.000713333 0.000726667 +0.000713333 0.000706667 0.000706667 0.000706667 0.0007 0.000706667 0.000706667 0.0007 +0.000706667 0.000713333 0.00072 0.000706667 0.000686667 0.000686667 0.0007 0.00072 +0.00074 0.000746667 0.00072 0.0007 0.0007 0.000706667 0.0007 0.0007 +0.00072 0.00072 0.0007 0.0007 0.00068 0.000673333 0.00068 0.000686667 +0.0007 0.00072 0.00072 0.0007 0.00068 0.000686667 0.000693333 0.0007 +0.00072 0.00072 0.000713333 0.000693333 0.000673333 0.000686667 0.000726667 0.000733333 +0.00072 0.00072 0.000726667 0.000726667 0.00072 0.000706667 0.00072 0.000713333 +0.00072 0.000733333 0.000733333 0.00072 0.0007 0.000693333 0.00072 0.000746667 +0.00074 0.000706667 0.0007 0.000726667 0.000733333 0.00074 0.000746667 0.00078 +0.000786667 0.00078 0.000786667 0.00078 0.000766667 0.000746667 0.000766667 0.00078 +0.00078 0.000786667 0.000793333 0.000966667 0.29552 0.31256 0.25576 0.246293 +0.314453 0.458347 0.620632 0.829684 0.976842 0.995347 0.981959 0.956 +0.944632 0.941474 0.948421 0.966737 0.987184 0.997633 1.00449 1.00873 +1.01069 1.01298 1.02506 1.04988 1.12999 1.19542 1.19694 1.26846 +1.44192 1.49062 1.28368 1.06 1.03976 1.0329 1.02963 1.02767 +1.02604 1.02082 1.01265 0.994041 0.922526 0.777895 0.616211 0.509474 +0.401547 0.354213 0.339067 0.356107 0.365573 0.35232 0.337173 0.331493 +0.327707 0.316347 0.3012 0.291733 0.29552 0.320133 0.39776 0.4148 +0.337173 0.280373 0.26144 0.265227 0.270907 0.26712 0.26712 0.26712 +0.26712 0.269013 0.263333 0.265227 0.276587 0.282267 0.28416 0.303093 +0.322027 0.314453 0.304987 0.304987 0.348533 0.390187 0.342853 0.310667 +0.316347 0.325813 0.354213 0.378827 0.350427 0.308773 0.3012 0.299307 +0.29552 0.322027 0.354213 0.350427 0.320133 0.303093 0.286053 0.276587 +0.287947 0.29552 0.293627 0.287947 0.297413 0.31256 0.308773 0.299307 +0.316347 0.354213 0.37504 0.325813 0.276587 0.274693 0.291733 0.342853 +0.506316 0.605474 0.663579 0.692632 0.709053 0.640842 0.536 0.458347 +0.42616 0.405333 0.373147 0.34664 0.337173 0.303093 0.25008 0.219787 +0.22736 0.22736 0.225467 0.253867 0.287947 0.308773 0.310667 0.280373 +0.270907 0.303093 0.484853 0.639579 0.813263 0.928842 0.986531 1.00939 +1.02212 1.02833 1.028 1.02637 1.02376 1.02147 1.02539 1.03192 +1.03257 1.03094 1.02604 1.02539 1.02767 1.02343 1.01951 1.0182 +1.02049 1.02833 1.03551 1.03976 1.03976 1.04073 1.04008 1.03976 +1.04106 1.04237 1.04171 1.04106 1.04204 1.04335 1.04204 1.04204 +1.04596 1.04563 1.04335 1.04269 1.04171 1.04237 1.04465 1.04694 +1.04596 1.04531 1.04759 1.04759 1.04727 1.0489 1.0489 1.04759 +1.04759 1.04531 1.04465 1.04498 1.04302 1.04302 1.04563 1.04367 +1.04073 1.04139 1.04073 1.04139 1.04269 1.04204 1.04171 1.04269 +1.04106 1.04106 1.04106 1.04008 1.04073 1.04269 1.04302 1.044 +1.04335 1.03943 1.04269 1.04237 1.04073 1.04237 1.04302 1.04204 +1.03878 1.03812 1.03747 1.03714 1.0378 1.03486 1.03714 1.03878 +1.03845 1.04171 1.04106 1.03682 1.03649 1.03682 1.03518 1.0329 +1.03192 1.03224 1.03029 1.02898 1.02865 1.02996 1.02833 1.02767 +1.02865 1.02963 1.03127 1.03322 1.03388 1.03094 1.02833 1.02963 +1.02865 1.02637 1.02506 1.02637 1.02506 1.02669 1.02506 1.02343 +1.02278 1.01853 1.0182 1.01429 1.00971 1.00808 1.00384 0.988816 +0.933895 0.834105 0.700211 0.568211 0.4716 0.371253 0.34096 0.342853 +0.348533 0.35232 0.34096 0.34664 0.337173 0.3012 0.28984 0.286053 +0.291733 0.291733 0.282267 0.286053 0.304987 0.320133 0.34096 0.439413 +0.532211 0.534737 0.473493 0.390187 0.361787 0.3296 0.287947 0.2728 +0.26712 0.26712 0.2728 0.274693 0.270907 0.26144 0.26712 0.293627 +0.310667 0.31824 0.32392 0.333387 0.36368 0.401547 0.39776 0.342853 +0.310667 0.316347 0.331493 0.342853 0.361787 0.42048 0.544211 0.706526 +0.935789 1.0489 1.06152 1.02963 1.00873 1.00155 1.00024 0.998939 +1.00024 1.00678 1.02767 1.1163 1.22586 1.06913 1.02408 1.01331 +1.00547 0.995673 0.984898 0.970526 0.954737 0.945263 0.954105 0.978105 +0.989796 0.938316 0.755789 0.570105 0.40912 0.31256 0.3296 0.331493 +0.269013 0.000933333 0.00078 0.00078 0.00078 0.00078 0.000773333 0.000753333 +0.00074 0.000746667 0.000766667 0.000786667 0.00078 0.000766667 0.000753333 0.000753333 +0.00076 0.000786667 0.00078 0.000746667 0.00072 0.000746667 0.00074 0.00074 +0.00074 0.00074 0.000746667 0.00074 0.00076 0.00076 0.000733333 0.000753333 +0.000786667 0.000793333 0.000786667 0.000773333 0.000753333 0.00074 0.000753333 0.000753333 +0.00076 0.000766667 0.000766667 0.000786667 0.000766667 0.000746667 0.000746667 0.000766667 +0.00078 0.000766667 0.000766667 0.000746667 0.000746667 0.000753333 0.000753333 0.00074 +0.000753333 0.000753333 0.000746667 0.000746667 0.00074 0.000706667 0.0007 0.000706667 +0.000693333 0.000706667 0.000706667 0.000686667 0.0007 0.0007 0.0007 0.000693333 +0.00068 0.00068 0.000706667 0.000726667 0.000713333 0.000713333 0.000693333 0.000673333 +0.000686667 0.00072 0.000733333 0.00072 0.000706667 0.0007 0.000673333 0.00068 +0.0007 0.0007 0.000706667 0.000713333 0.0007 0.000693333 0.000693333 0.00068 +0.00068 0.00072 0.00074 0.00072 0.000713333 0.00072 0.00072 0.000706667 +0.000693333 0.000713333 0.000713333 0.00072 0.000706667 0.000686667 0.0007 0.000706667 +0.000706667 0.00072 0.00072 0.000713333 0.000706667 0.00072 0.000726667 0.0007 +0.00068 0.000706667 0.000713333 0.000713333 0.000713333 0.0007 0.000706667 0.000726667 +0.00074 0.000733333 0.000726667 0.000746667 0.000726667 0.00072 0.000726667 0.000766667 +0.000773333 0.00076 0.00076 0.00078 0.000793333 0.000793333 0.00078 0.000773333 +0.000773333 0.000793333 0.000866667 0.25576 0.310667 0.270907 0.234933 0.265227 +0.356107 0.534105 0.717895 0.918737 0.993388 0.988163 0.962947 0.946526 +0.944632 0.944632 0.954737 0.979368 0.994041 1.0022 1.00776 1.01069 +1.01135 1.01461 1.02571 1.044 1.09195 1.2289 1.28215 1.29585 +1.4191 1.41758 1.16956 1.04335 1.03682 1.03845 1.03649 1.03224 +1.02539 1.01363 0.992408 0.919368 0.774105 0.616842 0.514526 0.412907 +0.365573 0.344747 0.337173 0.361787 0.3864 0.384507 0.365573 0.35232 +0.34096 0.322027 0.299307 0.29552 0.303093 0.304987 0.365573 0.405333 +0.348533 0.287947 0.269013 0.265227 0.265227 0.263333 0.257653 0.259547 +0.26144 0.274693 0.270907 0.26144 0.269013 0.27848 0.282267 0.293627 +0.310667 0.31824 0.322027 0.316347 0.344747 0.38072 0.339067 0.31256 +0.322027 0.3296 0.371253 0.411013 0.39208 0.348533 0.32392 0.304987 +0.29552 0.344747 0.39776 0.36936 0.325813 0.30688 0.28984 0.276587 +0.286053 0.299307 0.299307 0.29552 0.297413 0.325813 0.331493 0.32392 +0.327707 0.34096 0.331493 0.3012 0.274693 0.265227 0.293627 0.382613 +0.531579 0.635158 0.681263 0.663579 0.624421 0.549895 0.452667 0.361787 +0.325813 0.32392 0.361787 0.429947 0.47728 0.445093 0.365573 0.303093 +0.280373 0.286053 0.286053 0.29552 0.28984 0.2728 0.26144 0.234933 +0.259547 0.429947 0.613053 0.788632 0.92 0.981306 0.998612 1.01527 +1.02865 1.03486 1.0329 1.02963 1.02931 1.02898 1.02767 1.02833 +1.028 1.02735 1.0231 1.0218 1.02343 1.02016 1.01788 1.01951 +1.02637 1.03453 1.04041 1.04106 1.0391 1.03845 1.03943 1.03976 +1.04106 1.04335 1.04171 1.04139 1.04106 1.04041 1.04073 1.04237 +1.04727 1.04857 1.04629 1.04596 1.04531 1.04335 1.044 1.04596 +1.04661 1.04792 1.04922 1.04792 1.04596 1.04498 1.04531 1.04596 +1.04661 1.04531 1.04498 1.04694 1.04563 1.04204 1.044 1.04465 +1.04204 1.04106 1.04008 1.04073 1.04204 1.04171 1.04106 1.04171 +1.04139 1.04139 1.04041 1.03976 1.03976 1.04106 1.04204 1.04171 +1.04171 1.04073 1.04367 1.04237 1.04171 1.04204 1.04106 1.03976 +1.03812 1.04106 1.0391 1.03682 1.03747 1.0342 1.03518 1.03616 +1.03812 1.04008 1.03649 1.03486 1.03682 1.03616 1.03551 1.03551 +1.03322 1.03159 1.02996 1.02833 1.02735 1.02669 1.02735 1.02865 +1.02963 1.03029 1.02963 1.03257 1.03388 1.03127 1.02898 1.02996 +1.03061 1.02767 1.02637 1.02702 1.02506 1.02637 1.02539 1.02702 +1.02539 1.0218 1.02212 1.02049 1.01951 1.01788 1.01298 1.00155 +0.982286 0.905474 0.767158 0.621895 0.524 0.4148 0.354213 0.325813 +0.327707 0.33528 0.32392 0.337173 0.339067 0.316347 0.29552 0.28984 +0.297413 0.29552 0.293627 0.304987 0.314453 0.320133 0.37504 0.516421 +0.595368 0.597895 0.521474 0.4148 0.384507 0.337173 0.282267 0.269013 +0.276587 0.27848 0.270907 0.269013 0.265227 0.25008 0.259547 0.291733 +0.30688 0.303093 0.304987 0.333387 0.3864 0.439413 0.42616 0.34664 +0.303093 0.314453 0.337173 0.350427 0.359893 0.365573 0.433733 0.564421 +0.748842 0.98098 1.05314 1.05086 1.02049 1.00286 1.00122 0.999265 +0.996653 1.00155 1.01396 1.04563 1.19542 1.19694 1.04596 1.01853 +1.00939 1.00024 0.990122 0.98 0.962316 0.945895 0.947789 0.964842 +0.986857 0.986531 0.877053 0.682526 0.529053 0.361787 0.31256 0.337173 +0.325813 0.251973 0.00088 0.00084 0.000826667 0.000813333 0.000806667 0.000786667 +0.000786667 0.000806667 0.000806667 0.000813333 0.000806667 0.000793333 0.00078 0.000773333 +0.000786667 0.00078 0.000766667 0.000746667 0.000733333 0.000753333 0.00074 0.000733333 +0.00072 0.000733333 0.000753333 0.000766667 0.000773333 0.000753333 0.000726667 0.000766667 +0.00078 0.000766667 0.00076 0.00076 0.00076 0.00076 0.000766667 0.00076 +0.000773333 0.000753333 0.000753333 0.000733333 0.000726667 0.000733333 0.000726667 0.00074 +0.00076 0.000766667 0.000766667 0.000746667 0.00076 0.000766667 0.000733333 0.00072 +0.00074 0.000753333 0.000753333 0.000753333 0.000733333 0.000706667 0.000706667 0.00072 +0.000706667 0.000706667 0.0007 0.000686667 0.0007 0.00072 0.00072 0.000713333 +0.000713333 0.000713333 0.0007 0.000706667 0.000713333 0.00072 0.00072 0.000706667 +0.00068 0.00068 0.0007 0.0007 0.000706667 0.000706667 0.000693333 0.0007 +0.000693333 0.0007 0.000713333 0.000706667 0.000726667 0.000733333 0.000733333 0.000713333 +0.0007 0.000713333 0.000733333 0.00072 0.0007 0.000706667 0.000713333 0.00072 +0.000706667 0.000706667 0.000693333 0.000693333 0.000713333 0.000713333 0.000713333 0.000733333 +0.000733333 0.000726667 0.00072 0.000733333 0.000733333 0.00074 0.00072 0.000693333 +0.0007 0.000713333 0.000713333 0.00072 0.000726667 0.000706667 0.0007 0.000706667 +0.00072 0.000713333 0.00072 0.000746667 0.000753333 0.00074 0.000733333 0.000753333 +0.000766667 0.00078 0.00078 0.000786667 0.000786667 0.00078 0.000786667 0.000786667 +0.000786667 0.00084 0.223573 0.304987 0.297413 0.23304 0.246293 0.303093 +0.446987 0.616842 0.825895 0.975579 0.993714 0.979368 0.954105 0.945895 +0.944 0.947789 0.967368 0.98849 1.00122 1.00776 1.01037 1.01135 +1.01265 1.01592 1.02441 1.03453 1.04629 1.16499 1.30954 1.33693 +1.41606 1.35671 1.1026 1.04237 1.04433 1.04955 1.04563 1.0342 +1.01755 0.992735 0.919368 0.777895 0.622526 0.521474 0.450773 0.399653 +0.365573 0.344747 0.33528 0.35232 0.373147 0.378827 0.373147 0.373147 +0.344747 0.310667 0.297413 0.299307 0.299307 0.291733 0.327707 0.38072 +0.358 0.304987 0.276587 0.270907 0.274693 0.26712 0.257653 0.26144 +0.270907 0.280373 0.286053 0.276587 0.270907 0.274693 0.280373 0.27848 +0.282267 0.287947 0.308773 0.3296 0.373147 0.399653 0.337173 0.29552 +0.303093 0.303093 0.31824 0.359893 0.388293 0.3864 0.358 0.3296 +0.316347 0.344747 0.373147 0.342853 0.303093 0.293627 0.293627 0.280373 +0.274693 0.28984 0.30688 0.310667 0.30688 0.331493 0.359893 0.356107 +0.3296 0.308773 0.3012 0.282267 0.270907 0.269013 0.3296 0.46592 +0.547368 0.592211 0.572632 0.522105 0.473493 0.401547 0.34096 0.297413 +0.270907 0.259547 0.287947 0.34096 0.399653 0.450773 0.45456 0.411013 +0.371253 0.337173 0.304987 0.28416 0.23872 0.000986667 0.223573 0.23872 +0.36936 0.589053 0.769684 0.901684 0.973053 0.998286 1.01233 1.02245 +1.03029 1.03453 1.03649 1.03518 1.03584 1.03551 1.0329 1.02996 +1.02637 1.02571 1.02604 1.02506 1.02376 1.02016 1.02016 1.02441 +1.0342 1.04367 1.04302 1.04008 1.03878 1.0378 1.03747 1.03812 +1.04106 1.04237 1.03878 1.03976 1.04237 1.04139 1.04237 1.04302 +1.04465 1.04694 1.04596 1.04596 1.04759 1.04629 1.04531 1.04498 +1.04531 1.04792 1.04857 1.04857 1.04694 1.04531 1.04498 1.04596 +1.04563 1.04498 1.04531 1.04727 1.04629 1.04302 1.044 1.04367 +1.04171 1.04139 1.04073 1.04073 1.04106 1.04106 1.03943 1.04041 +1.04073 1.03878 1.03616 1.0391 1.04008 1.03976 1.04204 1.04106 +1.04008 1.04106 1.04171 1.03976 1.04269 1.04302 1.04106 1.03943 +1.03616 1.03878 1.03714 1.03747 1.0378 1.03584 1.03682 1.03714 +1.03976 1.03976 1.0342 1.03355 1.03616 1.03486 1.03322 1.03355 +1.03192 1.02865 1.02963 1.03029 1.02931 1.028 1.02996 1.03094 +1.03127 1.03159 1.03159 1.03388 1.03322 1.03094 1.02996 1.03159 +1.03355 1.03159 1.03029 1.02865 1.02637 1.02669 1.02735 1.02702 +1.02473 1.02343 1.02441 1.02408 1.02376 1.0218 1.0182 1.01167 +0.999592 0.952211 0.834105 0.698947 0.580211 0.503789 0.40344 0.337173 +0.327707 0.322027 0.308773 0.316347 0.327707 0.316347 0.291733 0.287947 +0.30688 0.308773 0.297413 0.299307 0.299307 0.303093 0.384507 0.566947 +0.701474 0.687579 0.544842 0.376933 0.356107 0.342853 0.28984 0.265227 +0.274693 0.280373 0.265227 0.263333 0.269013 0.259547 0.265227 0.282267 +0.286053 0.28416 0.29552 0.3296 0.416693 0.496213 0.433733 0.3296 +0.29552 0.31256 0.344747 0.354213 0.34664 0.344747 0.373147 0.475387 +0.591579 0.794316 1.00155 1.05706 1.03943 1.01004 1.00188 1.0009 +0.997959 0.998939 1.00514 1.02376 1.09195 1.24868 1.11934 1.02833 +1.01298 1.00612 0.99502 0.984245 0.972421 0.954105 0.944632 0.955368 +0.975579 0.990449 0.965474 0.816421 0.626316 0.481067 0.320133 0.3012 +0.337173 0.314453 0.216 0.000833333 0.000806667 0.000793333 0.000806667 0.00082 +0.0008 0.0008 0.000786667 0.0008 0.00078 0.00078 0.000766667 0.000766667 +0.000773333 0.00076 0.000773333 0.000773333 0.000766667 0.000746667 0.000726667 0.00074 +0.000746667 0.00076 0.00076 0.000746667 0.00076 0.000746667 0.000746667 0.000773333 +0.000766667 0.000746667 0.000773333 0.0008 0.000766667 0.000766667 0.000786667 0.000766667 +0.000753333 0.00076 0.00076 0.00076 0.00074 0.000746667 0.00074 0.000753333 +0.00076 0.000746667 0.000753333 0.000766667 0.000773333 0.000753333 0.000733333 0.000726667 +0.00076 0.00078 0.00078 0.000766667 0.000713333 0.000726667 0.00072 0.000733333 +0.000726667 0.000726667 0.000706667 0.000693333 0.000706667 0.000713333 0.000693333 0.000686667 +0.00068 0.0007 0.000706667 0.0007 0.000686667 0.000686667 0.000686667 0.0007 +0.000706667 0.000706667 0.000713333 0.000713333 0.000706667 0.000693333 0.000693333 0.000713333 +0.0007 0.000713333 0.000713333 0.000686667 0.0007 0.00072 0.000733333 0.000733333 +0.00072 0.00072 0.000733333 0.000733333 0.000713333 0.0007 0.00072 0.000713333 +0.000713333 0.00072 0.00072 0.000706667 0.000693333 0.000693333 0.0007 0.00074 +0.000753333 0.000746667 0.000713333 0.000686667 0.000693333 0.000733333 0.000733333 0.000706667 +0.00072 0.000726667 0.00072 0.000726667 0.00074 0.000733333 0.000726667 0.000733333 +0.00074 0.000726667 0.000713333 0.000726667 0.000726667 0.000733333 0.00074 0.000766667 +0.000766667 0.000773333 0.000766667 0.000766667 0.000773333 0.000766667 0.00076 0.000773333 +0.000793333 0.000906667 0.270907 0.320133 0.259547 0.22168 0.274693 0.365573 +0.540421 0.727368 0.921895 0.992408 0.987184 0.963579 0.947789 0.943368 +0.944 0.956 0.98098 0.995347 1.00547 1.01037 1.01037 1.01069 +1.01233 1.01363 1.02049 1.02604 1.02898 1.05804 1.22129 1.27911 +1.36889 1.32019 1.10717 1.05314 1.05673 1.05706 1.04465 1.01984 +0.986531 0.900421 0.770316 0.625053 0.524632 0.469707 0.456453 0.422373 +0.378827 0.354213 0.350427 0.359893 0.359893 0.344747 0.35232 0.36368 +0.3296 0.28984 0.28416 0.287947 0.282267 0.282267 0.32392 0.376933 +0.356107 0.30688 0.280373 0.287947 0.30688 0.293627 0.270907 0.265227 +0.269013 0.276587 0.27848 0.280373 0.280373 0.282267 0.28416 0.27848 +0.2728 0.2728 0.291733 0.3296 0.388293 0.416693 0.34664 0.286053 +0.286053 0.287947 0.299307 0.327707 0.371253 0.3864 0.35232 0.327707 +0.32392 0.327707 0.342853 0.348533 0.31824 0.297413 0.297413 0.3012 +0.304987 0.31824 0.3296 0.33528 0.359893 0.37504 0.35232 0.3296 +0.299307 0.274693 0.274693 0.269013 0.2728 0.30688 0.399653 0.505053 +0.522737 0.512632 0.428053 0.354213 0.34664 0.3296 0.297413 0.270907 +0.25576 0.23872 0.23872 0.240613 0.25008 0.299307 0.348533 0.350427 +0.331493 0.299307 0.282267 0.2728 0.225467 0.000973333 0.234933 0.344747 +0.569474 0.753895 0.897263 0.966737 0.997306 1.01559 1.02441 1.02865 +1.03159 1.03551 1.03812 1.03551 1.03518 1.03649 1.03649 1.03355 +1.02833 1.02408 1.02408 1.02408 1.02278 1.0231 1.02441 1.02898 +1.03682 1.04367 1.04269 1.03878 1.03812 1.03649 1.03518 1.03551 +1.0378 1.04073 1.03845 1.04008 1.04531 1.04531 1.04335 1.04335 +1.04531 1.04661 1.044 1.04367 1.04792 1.04857 1.04661 1.04694 +1.04661 1.04727 1.04694 1.04694 1.04465 1.04433 1.04531 1.04661 +1.04629 1.04531 1.04433 1.04335 1.04302 1.04335 1.04335 1.044 +1.04237 1.04106 1.04139 1.04465 1.04302 1.04041 1.0391 1.03976 +1.04073 1.03943 1.03584 1.0378 1.03976 1.04073 1.04269 1.04041 +1.03845 1.04106 1.04106 1.0391 1.04204 1.04237 1.04073 1.0391 +1.03714 1.03747 1.03486 1.03682 1.03747 1.03649 1.03747 1.03812 +1.04008 1.03714 1.0342 1.03616 1.03616 1.03388 1.03159 1.03127 +1.03061 1.02669 1.02735 1.03061 1.02963 1.03061 1.03094 1.03094 +1.03192 1.03192 1.03224 1.0342 1.03453 1.03257 1.03257 1.0342 +1.0342 1.03257 1.03159 1.02996 1.02931 1.03029 1.02865 1.02604 +1.02571 1.02669 1.02865 1.02931 1.02539 1.0218 1.01984 1.0169 +1.00939 0.984571 0.902947 0.786737 0.659158 0.566947 0.508211 0.399653 +0.35232 0.327707 0.320133 0.325813 0.327707 0.316347 0.293627 0.297413 +0.310667 0.310667 0.3012 0.297413 0.291733 0.28984 0.367467 0.582105 +0.736211 0.697053 0.533474 0.344747 0.339067 0.344747 0.303093 0.282267 +0.286053 0.27848 0.274693 0.276587 0.26712 0.269013 0.286053 0.282267 +0.269013 0.2728 0.293627 0.333387 0.4432 0.507579 0.439413 0.333387 +0.308773 0.322027 0.34664 0.344747 0.337173 0.344747 0.359893 0.393973 +0.504421 0.630737 0.854316 1.02506 1.05706 1.02767 1.00547 1.00155 +0.998939 0.997959 0.998939 1.00743 1.03812 1.18782 1.21825 1.04792 +1.01755 1.00971 1.00122 0.990122 0.980327 0.962316 0.944632 0.946526 +0.960421 0.982939 0.989796 0.928842 0.754526 0.567579 0.390187 0.291733 +0.31256 0.350427 0.270907 0.000906667 0.000833333 0.0008 0.000813333 0.00082 +0.00078 0.000773333 0.000786667 0.000806667 0.000766667 0.000773333 0.000753333 0.000753333 +0.000793333 0.00078 0.000773333 0.000746667 0.000733333 0.000726667 0.000733333 0.00076 +0.00078 0.000766667 0.000746667 0.000753333 0.000773333 0.000766667 0.000753333 0.000766667 +0.000766667 0.00076 0.00078 0.00078 0.000746667 0.00074 0.000733333 0.000733333 +0.000746667 0.000773333 0.000766667 0.000753333 0.000746667 0.000753333 0.000753333 0.000766667 +0.00076 0.00076 0.00078 0.00076 0.00076 0.000766667 0.000773333 0.000773333 +0.000793333 0.000813333 0.000793333 0.000773333 0.000693333 0.0007 0.0007 0.00072 +0.000726667 0.000733333 0.000726667 0.000693333 0.000686667 0.000706667 0.000713333 0.000706667 +0.0007 0.0007 0.000706667 0.0007 0.000693333 0.0007 0.00072 0.000713333 +0.000686667 0.000693333 0.00072 0.000733333 0.000726667 0.000726667 0.000706667 0.0007 +0.000686667 0.000706667 0.000733333 0.000713333 0.00068 0.0007 0.000693333 0.0007 +0.000713333 0.000713333 0.000733333 0.000746667 0.000746667 0.000733333 0.000746667 0.000753333 +0.000713333 0.000713333 0.00074 0.00074 0.000726667 0.00072 0.0007 0.000713333 +0.00072 0.00074 0.000733333 0.000713333 0.0007 0.00072 0.000726667 0.000713333 +0.000713333 0.000726667 0.000713333 0.00072 0.000726667 0.00072 0.00072 0.00072 +0.000726667 0.00072 0.000733333 0.000753333 0.00074 0.000733333 0.000733333 0.000753333 +0.00076 0.00076 0.000746667 0.00074 0.00074 0.000753333 0.00076 0.000773333 +0.00082 0.22168 0.30688 0.31256 0.246293 0.25008 0.316347 0.456453 +0.627579 0.841684 0.982612 0.994041 0.977474 0.954737 0.945895 0.942737 +0.946526 0.964842 0.987837 1.00024 1.00678 1.00971 1.01037 1.01167 +1.01167 1.012 1.01788 1.02082 1.02082 1.03388 1.05576 1.095 +1.2152 1.26237 1.14217 1.08435 1.08891 1.05412 1.02245 0.977474 +0.869474 0.734316 0.607368 0.525263 0.45456 0.424267 0.429947 0.412907 +0.371253 0.339067 0.348533 0.38072 0.358 0.30688 0.31256 0.337173 +0.325813 0.291733 0.27848 0.286053 0.28984 0.29552 0.33528 0.376933 +0.344747 0.29552 0.28416 0.30688 0.32392 0.293627 0.269013 0.26712 +0.276587 0.27848 0.280373 0.282267 0.28416 0.287947 0.29552 0.287947 +0.282267 0.286053 0.28984 0.31824 0.365573 0.411013 0.373147 0.29552 +0.274693 0.293627 0.322027 0.35232 0.388293 0.371253 0.316347 0.29552 +0.29552 0.28984 0.327707 0.367467 0.34096 0.3012 0.282267 0.297413 +0.327707 0.365573 0.39776 0.424267 0.462133 0.428053 0.339067 0.299307 +0.29552 0.28416 0.28984 0.293627 0.31256 0.382613 0.462133 0.49432 +0.4716 0.411013 0.34096 0.32392 0.3296 0.3012 0.276587 0.2728 +0.269013 0.2444 0.225467 0.219787 0.000966667 0.00098 0.23304 0.234933 +0.236827 0.253867 0.263333 0.274693 0.240613 0.225467 0.308773 0.544842 +0.733684 0.891579 0.966105 0.994367 1.01396 1.02571 1.02865 1.02898 +1.02963 1.03486 1.0378 1.03257 1.03061 1.03388 1.03486 1.03453 +1.03094 1.02408 1.02016 1.0182 1.01722 1.02147 1.02669 1.03355 +1.04073 1.04106 1.03943 1.03518 1.03322 1.03192 1.03355 1.03616 +1.03845 1.04171 1.04041 1.04171 1.04629 1.04727 1.044 1.04171 +1.04465 1.04824 1.04596 1.04433 1.04727 1.04596 1.04465 1.04727 +1.04922 1.0489 1.04792 1.04792 1.04498 1.04171 1.04237 1.044 +1.04531 1.04694 1.04596 1.04269 1.04139 1.04237 1.04237 1.04237 +1.04139 1.04041 1.04073 1.04629 1.04531 1.04106 1.03943 1.03845 +1.03943 1.04073 1.0391 1.0378 1.03714 1.03976 1.04204 1.04008 +1.0378 1.04008 1.04073 1.03845 1.04041 1.04139 1.03845 1.03551 +1.03747 1.03943 1.03649 1.03584 1.03584 1.03714 1.03616 1.0378 +1.0391 1.03388 1.03257 1.03649 1.03518 1.03257 1.03127 1.03127 +1.03159 1.028 1.02735 1.028 1.02767 1.03192 1.03192 1.03127 +1.03257 1.03257 1.03127 1.03192 1.03453 1.03453 1.03486 1.03714 +1.03453 1.03224 1.03192 1.03029 1.03192 1.0329 1.02833 1.02604 +1.02767 1.02735 1.02996 1.03127 1.028 1.02441 1.02212 1.01951 +1.01494 1.00155 0.966737 0.872 0.754526 0.645895 0.554947 0.469707 +0.371253 0.331493 0.31824 0.32392 0.322027 0.316347 0.316347 0.320133 +0.314453 0.303093 0.304987 0.304987 0.308773 0.314453 0.378827 0.556211 +0.654105 0.607368 0.490533 0.350427 0.34096 0.3296 0.3012 0.293627 +0.28984 0.28984 0.282267 0.274693 0.265227 0.27848 0.299307 0.28984 +0.265227 0.274693 0.297413 0.339067 0.416693 0.456453 0.405333 0.356107 +0.344747 0.342853 0.344747 0.339067 0.337173 0.34096 0.35232 0.36936 +0.416693 0.528421 0.679368 0.918105 1.04302 1.04988 1.01755 1.00253 +0.995673 0.992408 0.992408 0.99698 1.01494 1.06609 1.24868 1.12695 +1.02898 1.01331 1.00612 0.994694 0.981959 0.966737 0.949684 0.942737 +0.947789 0.963579 0.985878 0.983918 0.883368 0.685053 0.520211 0.342853 +0.28984 0.337173 0.322027 0.236827 0.000886667 0.000813333 0.0008 0.000826667 +0.000806667 0.000793333 0.000806667 0.00082 0.000773333 0.000766667 0.000746667 0.000746667 +0.00078 0.000786667 0.000773333 0.000746667 0.000753333 0.000753333 0.00074 0.00074 +0.000733333 0.000733333 0.000733333 0.00076 0.00076 0.000746667 0.00074 0.000753333 +0.00076 0.000753333 0.000753333 0.00076 0.000766667 0.000753333 0.000753333 0.000753333 +0.000746667 0.000773333 0.000786667 0.000766667 0.000733333 0.00074 0.00074 0.000753333 +0.000746667 0.00076 0.000733333 0.00072 0.000746667 0.000746667 0.00074 0.00074 +0.000766667 0.00078 0.000786667 0.000766667 0.00072 0.000713333 0.000693333 0.000693333 +0.0007 0.000733333 0.000753333 0.00074 0.000713333 0.000713333 0.000726667 0.000726667 +0.000706667 0.000706667 0.00072 0.00072 0.00072 0.00072 0.000726667 0.00072 +0.000706667 0.0007 0.000706667 0.00072 0.00074 0.000773333 0.00076 0.000733333 +0.0007 0.000686667 0.000706667 0.000726667 0.000713333 0.000726667 0.000713333 0.0007 +0.0007 0.0007 0.000706667 0.000726667 0.000733333 0.000726667 0.000733333 0.000753333 +0.00074 0.000733333 0.000746667 0.000746667 0.00074 0.00076 0.00076 0.00076 +0.000746667 0.000746667 0.000753333 0.00076 0.00074 0.00074 0.00074 0.00072 +0.000713333 0.00072 0.000726667 0.000733333 0.000726667 0.000713333 0.000713333 0.000713333 +0.000713333 0.000706667 0.000713333 0.000753333 0.000746667 0.000753333 0.000746667 0.000733333 +0.000746667 0.00076 0.000753333 0.000766667 0.000766667 0.00078 0.000786667 0.0008 +0.000913333 0.27848 0.325813 0.274693 0.2444 0.303093 0.384507 0.541684 +0.732421 0.929474 0.99502 0.988163 0.962316 0.945895 0.944632 0.949053 +0.959158 0.979368 0.994694 1.00514 1.01004 1.01102 1.01167 1.012 +1.01069 1.01069 1.01429 1.01559 1.01396 1.0182 1.02669 1.03518 +1.05673 1.14065 1.12543 1.10565 1.06456 1.02506 0.957263 0.836 +0.704632 0.578316 0.504421 0.439413 0.399653 0.36936 0.36368 0.361787 +0.344747 0.32392 0.34096 0.38072 0.34664 0.291733 0.297413 0.31256 +0.31824 0.30688 0.3012 0.308773 0.310667 0.320133 0.350427 0.38072 +0.339067 0.293627 0.29552 0.308773 0.30688 0.27848 0.263333 0.26712 +0.276587 0.282267 0.287947 0.286053 0.27848 0.287947 0.31256 0.314453 +0.308773 0.303093 0.287947 0.293627 0.322027 0.38072 0.390187 0.331493 +0.308773 0.34664 0.376933 0.3864 0.393973 0.361787 0.30688 0.287947 +0.28984 0.28416 0.308773 0.342853 0.339067 0.30688 0.27848 0.282267 +0.31256 0.354213 0.412907 0.479173 0.507579 0.445093 0.342853 0.32392 +0.33528 0.331493 0.327707 0.325813 0.358 0.42616 0.44888 0.42048 +0.407227 0.367467 0.304987 0.29552 0.31256 0.30688 0.304987 0.30688 +0.297413 0.274693 0.25008 0.217893 0.00094 0.00094 0.22168 0.219787 +0.000986667 0.219787 0.000986667 0.217893 0.22736 0.27848 0.515158 0.696421 +0.870737 0.958526 0.992735 1.012 1.02408 1.02865 1.02996 1.02833 +1.02963 1.03322 1.03453 1.03029 1.028 1.03094 1.02963 1.02669 +1.02376 1.01918 1.01363 1.01004 1.01265 1.02016 1.02833 1.0342 +1.03976 1.03812 1.03649 1.03388 1.03224 1.03127 1.03192 1.03649 +1.04008 1.04335 1.04302 1.04171 1.04465 1.04727 1.04694 1.04465 +1.04661 1.04661 1.04629 1.04531 1.04596 1.044 1.044 1.04727 +1.04792 1.04727 1.04694 1.04857 1.04629 1.04204 1.04106 1.04041 +1.04204 1.04433 1.04302 1.04269 1.04335 1.044 1.04433 1.04269 +1.04073 1.04204 1.04171 1.044 1.04302 1.04106 1.03976 1.03878 +1.03812 1.04008 1.04106 1.04302 1.03976 1.04041 1.04237 1.04204 +1.03976 1.03943 1.04139 1.03943 1.04008 1.03976 1.03584 1.0342 +1.03616 1.03812 1.0378 1.03682 1.03486 1.03682 1.03486 1.03584 +1.03682 1.03257 1.0329 1.03584 1.0342 1.03159 1.03257 1.0329 +1.03159 1.02996 1.03094 1.02963 1.02931 1.03355 1.03486 1.03322 +1.03192 1.03224 1.03453 1.03551 1.03682 1.03584 1.03584 1.03616 +1.03486 1.0342 1.03388 1.03355 1.03518 1.03518 1.03094 1.02865 +1.028 1.028 1.02898 1.02604 1.02571 1.02702 1.02604 1.02278 +1.01918 1.01298 0.995347 0.943368 0.849263 0.729263 0.610526 0.523368 +0.40912 0.333387 0.316347 0.325813 0.322027 0.314453 0.31256 0.314453 +0.304987 0.293627 0.293627 0.299307 0.316347 0.34096 0.39776 0.511368 +0.540421 0.514526 0.42048 0.34096 0.30688 0.293627 0.291733 0.286053 +0.286053 0.28984 0.280373 0.26712 0.269013 0.282267 0.299307 0.293627 +0.274693 0.274693 0.29552 0.33528 0.376933 0.371253 0.34664 0.358 +0.365573 0.350427 0.33528 0.333387 0.331493 0.331493 0.331493 0.348533 +0.376933 0.445093 0.557474 0.733684 0.98 1.05608 1.04335 1.01069 +0.996327 0.990776 0.990449 0.99502 1.00318 1.03355 1.18021 1.2152 +1.04824 1.01755 1.00776 0.997633 0.984898 0.970526 0.957895 0.947789 +0.943368 0.949053 0.971789 0.987184 0.964211 0.816421 0.613053 0.46592 +0.322027 0.322027 0.350427 0.28416 0.000926667 0.000813333 0.000826667 0.000866667 +0.00084 0.0008 0.000806667 0.000826667 0.000793333 0.0008 0.000766667 0.000746667 +0.000793333 0.000793333 0.000786667 0.000786667 0.0008 0.00076 0.000713333 0.000726667 +0.000746667 0.00076 0.00076 0.000766667 0.00076 0.000766667 0.000773333 0.000786667 +0.00078 0.000753333 0.000753333 0.000766667 0.000746667 0.00074 0.000726667 0.00072 +0.000746667 0.000786667 0.0008 0.00074 0.000726667 0.000746667 0.000746667 0.000753333 +0.00074 0.000726667 0.000713333 0.00074 0.00076 0.000753333 0.000733333 0.00074 +0.000746667 0.000746667 0.000766667 0.000733333 0.000726667 0.000733333 0.00072 0.000713333 +0.000706667 0.000706667 0.000713333 0.00072 0.00072 0.000726667 0.000726667 0.00072 +0.000726667 0.000706667 0.000706667 0.000726667 0.000746667 0.000746667 0.000733333 0.000726667 +0.000726667 0.000733333 0.000713333 0.0007 0.00072 0.000753333 0.000753333 0.000746667 +0.000746667 0.00072 0.000713333 0.000693333 0.000686667 0.000713333 0.00072 0.00072 +0.000726667 0.000713333 0.000713333 0.000713333 0.00072 0.000706667 0.0007 0.000733333 +0.00074 0.00074 0.000753333 0.000726667 0.000706667 0.000726667 0.00074 0.00074 +0.00074 0.000746667 0.000746667 0.000726667 0.0007 0.000713333 0.000726667 0.000726667 +0.00072 0.0007 0.0007 0.00072 0.000753333 0.000753333 0.000753333 0.00074 +0.000726667 0.00072 0.000713333 0.000733333 0.000733333 0.000746667 0.000746667 0.000746667 +0.000766667 0.000773333 0.000753333 0.000766667 0.000786667 0.0008 0.000806667 0.00086 +0.234933 0.320133 0.314453 0.259547 0.276587 0.34096 0.469707 0.628211 +0.841684 0.981633 0.994041 0.980327 0.952842 0.942737 0.944632 0.953474 +0.969895 0.986857 0.999265 1.00645 1.00873 1.01069 1.01298 1.01167 +1.00743 1.00612 1.00906 1.01102 1.01004 1.01037 1.01298 1.02016 +1.0342 1.05249 1.0813 1.06152 1.02408 0.940211 0.798105 0.667368 +0.563789 0.496213 0.4148 0.395867 0.373147 0.35232 0.33528 0.331493 +0.3296 0.31824 0.342853 0.36936 0.327707 0.293627 0.299307 0.303093 +0.303093 0.308773 0.325813 0.331493 0.32392 0.304987 0.316347 0.348533 +0.325813 0.297413 0.297413 0.29552 0.297413 0.28416 0.270907 0.2728 +0.276587 0.28416 0.287947 0.276587 0.274693 0.28984 0.32392 0.333387 +0.31824 0.3012 0.297413 0.299307 0.314453 0.361787 0.395867 0.359893 +0.348533 0.412907 0.43184 0.390187 0.358 0.337173 0.30688 0.287947 +0.29552 0.29552 0.3012 0.30688 0.308773 0.3012 0.282267 0.280373 +0.304987 0.331493 0.348533 0.3864 0.4432 0.422373 0.358 0.339067 +0.34096 0.337173 0.320133 0.320133 0.36936 0.401547 0.382613 0.359893 +0.35232 0.32392 0.282267 0.263333 0.280373 0.291733 0.28984 0.286053 +0.282267 0.287947 0.276587 0.22736 0.00094 0.000933333 0.000973333 0.217893 +0.000986667 0.00094 0.000853333 0.00082 0.22168 0.43184 0.646526 0.839789 +0.950947 0.990776 1.01167 1.02408 1.02767 1.02996 1.03192 1.03159 +1.0329 1.0329 1.03029 1.02571 1.02114 1.02049 1.01755 1.01527 +1.01494 1.01429 1.012 1.00776 1.01037 1.02016 1.02931 1.03322 +1.03714 1.03616 1.03518 1.0342 1.03224 1.03355 1.03616 1.03943 +1.04008 1.04498 1.04629 1.04367 1.04629 1.0489 1.04922 1.0489 +1.04988 1.0489 1.04727 1.04629 1.04727 1.04563 1.04661 1.04922 +1.04727 1.04563 1.04661 1.04694 1.04596 1.04661 1.04596 1.04237 +1.04139 1.04237 1.04073 1.04269 1.044 1.044 1.04465 1.044 +1.04269 1.04269 1.04204 1.04302 1.04269 1.04237 1.04008 1.04008 +1.03845 1.03943 1.04171 1.04531 1.04367 1.04269 1.04367 1.04171 +1.04041 1.04008 1.04041 1.03976 1.04041 1.03714 1.0342 1.03551 +1.03682 1.03584 1.03682 1.03878 1.03714 1.03714 1.03584 1.03388 +1.0329 1.03061 1.03224 1.03355 1.03192 1.03094 1.03257 1.03518 +1.0342 1.03159 1.03224 1.03257 1.03486 1.03845 1.03812 1.03616 +1.03355 1.03388 1.03747 1.03943 1.03878 1.03812 1.03845 1.03649 +1.03682 1.03714 1.03616 1.0378 1.04008 1.03845 1.03388 1.03061 +1.028 1.02996 1.03061 1.02473 1.02376 1.02833 1.02833 1.02343 +1.02082 1.01984 1.00841 0.98849 0.926947 0.817684 0.693263 0.582105 +0.486747 0.354213 0.333387 0.34096 0.337173 0.32392 0.310667 0.304987 +0.3012 0.304987 0.316347 0.33528 0.350427 0.354213 0.376933 0.4148 +0.411013 0.411013 0.424267 0.35232 0.280373 0.27848 0.287947 0.276587 +0.26712 0.276587 0.269013 0.26712 0.270907 0.274693 0.28416 0.287947 +0.2728 0.26144 0.291733 0.350427 0.359893 0.32392 0.310667 0.342853 +0.358 0.337173 0.33528 0.339067 0.331493 0.331493 0.33528 0.350427 +0.367467 0.39776 0.490533 0.587789 0.797474 1.01527 1.0813 1.03224 +1.00188 0.994041 0.992408 0.993388 0.999265 1.01657 1.06609 1.22433 +1.09956 1.02735 1.01102 1.00155 0.989143 0.979368 0.967368 0.957263 +0.945895 0.944632 0.959158 0.980653 0.987837 0.930105 0.746316 0.563158 +0.40344 0.320133 0.33528 0.31824 0.240613 0.000886667 0.00084 0.00086 +0.00084 0.000793333 0.000813333 0.00084 0.0008 0.000793333 0.000753333 0.000733333 +0.000766667 0.00078 0.000786667 0.000766667 0.000753333 0.00074 0.000746667 0.000766667 +0.000766667 0.00074 0.00074 0.000733333 0.000753333 0.00076 0.000773333 0.000766667 +0.000753333 0.000766667 0.000773333 0.000766667 0.000753333 0.000733333 0.00072 0.00074 +0.000773333 0.000786667 0.000766667 0.00074 0.00076 0.00076 0.00076 0.00076 +0.000753333 0.000766667 0.000773333 0.000773333 0.000773333 0.000766667 0.000753333 0.000766667 +0.00076 0.000746667 0.000733333 0.000733333 0.000706667 0.000706667 0.000713333 0.00072 +0.000733333 0.000733333 0.000726667 0.000713333 0.000706667 0.00072 0.000726667 0.00072 +0.00072 0.00072 0.00072 0.00072 0.000733333 0.00074 0.00074 0.000733333 +0.000733333 0.000726667 0.000706667 0.000693333 0.000693333 0.00072 0.000713333 0.00068 +0.0007 0.000713333 0.00072 0.000713333 0.000686667 0.00068 0.000693333 0.0007 +0.0007 0.000706667 0.000726667 0.00072 0.00072 0.000706667 0.00068 0.000706667 +0.00074 0.000726667 0.00072 0.0007 0.00068 0.000693333 0.000713333 0.000713333 +0.0007 0.000713333 0.000733333 0.000746667 0.000733333 0.000733333 0.00074 0.000726667 +0.000733333 0.000733333 0.00072 0.000706667 0.000726667 0.000706667 0.000733333 0.00076 +0.00076 0.00074 0.00072 0.00074 0.000746667 0.00076 0.000746667 0.00076 +0.00078 0.0008 0.000773333 0.000773333 0.000773333 0.000786667 0.000813333 0.000973333 +0.291733 0.331493 0.276587 0.26144 0.316347 0.382613 0.546105 0.742526 +0.935789 0.994041 0.987837 0.969895 0.949053 0.942737 0.946526 0.960421 +0.978737 0.990449 1.00057 1.00612 1.0071 1.00939 1.01069 1.00873 +1.00678 1.00384 1.00449 1.00645 1.00645 1.00808 1.01004 1.01363 +1.02245 1.03616 1.04269 1.01396 0.910526 0.758947 0.629474 0.537263 +0.47728 0.43752 0.411013 0.3864 0.367467 0.354213 0.337173 0.325813 +0.320133 0.308773 0.32392 0.34096 0.31824 0.3012 0.299307 0.291733 +0.287947 0.293627 0.308773 0.310667 0.297413 0.276587 0.276587 0.29552 +0.29552 0.293627 0.291733 0.276587 0.28984 0.28984 0.270907 0.269013 +0.280373 0.28984 0.297413 0.287947 0.287947 0.310667 0.32392 0.310667 +0.297413 0.293627 0.3012 0.308773 0.322027 0.361787 0.40912 0.40344 +0.39208 0.456453 0.46024 0.38072 0.325813 0.303093 0.299307 0.3012 +0.314453 0.31256 0.29552 0.293627 0.287947 0.280373 0.280373 0.28984 +0.297413 0.304987 0.304987 0.30688 0.361787 0.40912 0.371253 0.31824 +0.3012 0.299307 0.299307 0.31256 0.35232 0.354213 0.344747 0.331493 +0.31824 0.30688 0.28416 0.26144 0.263333 0.263333 0.253867 0.251973 +0.25576 0.263333 0.270907 0.26144 0.248187 0.234933 0.00098 0.00094 +0.000913333 0.00082 0.000773333 0.000826667 0.339067 0.594105 0.788632 0.925053 +0.985224 1.0071 1.02376 1.02637 1.02702 1.02898 1.03192 1.03388 +1.03355 1.03061 1.02408 1.01918 1.01461 1.01331 1.012 1.01069 +1.01102 1.01331 1.01592 1.01461 1.0169 1.02376 1.03159 1.03486 +1.03584 1.03518 1.03518 1.03616 1.03584 1.0391 1.04204 1.04335 +1.04237 1.04792 1.04824 1.044 1.04694 1.05086 1.04922 1.04988 +1.05086 1.0489 1.04792 1.04661 1.04629 1.04694 1.04694 1.04792 +1.04857 1.04727 1.04563 1.04531 1.04302 1.04433 1.04727 1.04596 +1.04367 1.04563 1.04531 1.04596 1.04694 1.04727 1.04531 1.044 +1.04433 1.04302 1.04171 1.04367 1.04302 1.04204 1.04106 1.04139 +1.03747 1.03714 1.04008 1.04335 1.04433 1.04433 1.04335 1.04106 +1.04041 1.03943 1.0378 1.03943 1.04041 1.03584 1.0342 1.03453 +1.03551 1.03453 1.0342 1.03682 1.03747 1.03714 1.03616 1.03355 +1.03257 1.02996 1.03159 1.03192 1.03094 1.0329 1.0329 1.03453 +1.03518 1.0342 1.03322 1.0329 1.03616 1.03976 1.0391 1.03812 +1.03714 1.03812 1.04073 1.04106 1.0378 1.03714 1.03878 1.0378 +1.03714 1.03551 1.03584 1.0391 1.04106 1.03878 1.03518 1.0329 +1.02931 1.03029 1.02963 1.02637 1.02767 1.03029 1.02963 1.02506 +1.02343 1.02278 1.0169 1.00743 0.983265 0.904211 0.797474 0.674947 +0.555579 0.439413 0.361787 0.342853 0.331493 0.32392 0.31824 0.322027 +0.325813 0.325813 0.339067 0.36368 0.37504 0.35232 0.348533 0.361787 +0.33528 0.34096 0.399653 0.388293 0.3296 0.3012 0.287947 0.280373 +0.276587 0.265227 0.265227 0.265227 0.265227 0.26144 0.263333 0.280373 +0.269013 0.269013 0.31824 0.356107 0.33528 0.299307 0.299307 0.33528 +0.34096 0.322027 0.325813 0.337173 0.325813 0.327707 0.33528 0.34664 +0.361787 0.376933 0.416693 0.510105 0.634526 0.884 1.04857 1.06304 +1.01886 0.997959 0.993388 0.992082 0.996653 1.00743 1.03682 1.15434 +1.15738 1.04073 1.01396 1.00286 0.992408 0.982286 0.971158 0.964211 +0.953474 0.943368 0.952842 0.971158 0.989469 0.98849 0.881474 0.676842 +0.519579 0.35232 0.310667 0.327707 0.304987 0.219787 0.00084 0.00082 +0.0008 0.000753333 0.000793333 0.000826667 0.00076 0.00076 0.000753333 0.000726667 +0.00076 0.000766667 0.00078 0.000753333 0.000733333 0.000726667 0.000746667 0.00076 +0.00076 0.000726667 0.000726667 0.00072 0.000733333 0.00072 0.00072 0.000733333 +0.00074 0.000766667 0.000766667 0.00078 0.000773333 0.000766667 0.000753333 0.000766667 +0.00076 0.00074 0.000733333 0.000746667 0.00074 0.000733333 0.00074 0.00074 +0.000733333 0.000753333 0.000753333 0.00076 0.00076 0.000753333 0.000753333 0.000746667 +0.000746667 0.000726667 0.000706667 0.00074 0.000733333 0.000706667 0.000706667 0.000706667 +0.00072 0.000726667 0.00074 0.00074 0.000733333 0.000726667 0.000706667 0.0007 +0.000686667 0.000693333 0.000726667 0.00074 0.000726667 0.00072 0.00072 0.0007 +0.000713333 0.000713333 0.00068 0.000686667 0.000686667 0.000706667 0.000726667 0.000706667 +0.00068 0.000693333 0.000713333 0.000726667 0.000726667 0.00072 0.0007 0.000686667 +0.000673333 0.000673333 0.000706667 0.000733333 0.000733333 0.00074 0.000706667 0.000693333 +0.000706667 0.000726667 0.000726667 0.00072 0.000713333 0.00072 0.000733333 0.00072 +0.000713333 0.000713333 0.00072 0.000726667 0.000726667 0.00074 0.000746667 0.000726667 +0.000713333 0.000733333 0.00074 0.000726667 0.000753333 0.0007 0.0007 0.000733333 +0.000746667 0.000726667 0.000726667 0.000726667 0.00074 0.000766667 0.000766667 0.00076 +0.000786667 0.000806667 0.000806667 0.000806667 0.000793333 0.000793333 0.00086 0.251973 +0.331493 0.30688 0.251973 0.282267 0.337173 0.464027 0.638316 0.858737 +0.987837 0.994694 0.979368 0.959789 0.947158 0.943368 0.949684 0.967368 +0.983592 0.994367 1.00253 1.00678 1.00743 1.00808 1.00906 1.00743 +1.00416 1.00253 1.0022 1.00188 1.0022 1.00416 1.0071 1.01069 +1.01429 1.00873 0.980327 0.861895 0.710947 0.588421 0.514526 0.439413 +0.429947 0.4432 0.416693 0.376933 0.354213 0.342853 0.337173 0.331493 +0.322027 0.31256 0.31256 0.316347 0.3012 0.293627 0.286053 0.282267 +0.282267 0.28416 0.280373 0.274693 0.270907 0.265227 0.269013 0.28416 +0.291733 0.304987 0.297413 0.2728 0.282267 0.287947 0.27848 0.276587 +0.280373 0.28984 0.299307 0.297413 0.293627 0.32392 0.333387 0.297413 +0.27848 0.27848 0.286053 0.286053 0.29552 0.32392 0.37504 0.428053 +0.473493 0.514526 0.507579 0.399653 0.31256 0.297413 0.308773 0.32392 +0.342853 0.339067 0.31824 0.310667 0.299307 0.286053 0.287947 0.303093 +0.3012 0.28984 0.28984 0.287947 0.33528 0.405333 0.3864 0.310667 +0.28416 0.276587 0.291733 0.308773 0.325813 0.333387 0.34096 0.342853 +0.31256 0.28416 0.269013 0.263333 0.269013 0.270907 0.265227 0.25576 +0.251973 0.248187 0.25008 0.276587 0.314453 0.320133 0.265227 0.000966667 +0.000826667 0.000686667 0.000706667 0.265227 0.556211 0.750105 0.899158 0.973684 +0.999918 1.01624 1.02441 1.02637 1.02637 1.02898 1.02931 1.02963 +1.02702 1.02441 1.01788 1.01233 1.01167 1.01559 1.0182 1.0169 +1.01363 1.01657 1.02147 1.0231 1.028 1.0329 1.03714 1.04041 +1.03943 1.03747 1.03584 1.03714 1.03747 1.04073 1.04498 1.04498 +1.04465 1.04857 1.04922 1.04694 1.04922 1.05086 1.0489 1.04759 +1.04922 1.0489 1.04857 1.04727 1.04596 1.04531 1.04498 1.04596 +1.04824 1.04792 1.04531 1.04563 1.04204 1.04204 1.04531 1.04465 +1.04335 1.04596 1.04596 1.04433 1.04563 1.0489 1.04629 1.044 +1.04367 1.04204 1.04302 1.04335 1.04204 1.03976 1.03845 1.04073 +1.0391 1.03943 1.04041 1.04073 1.04204 1.04302 1.04171 1.04139 +1.04106 1.03845 1.03453 1.03584 1.03845 1.0342 1.03224 1.03388 +1.03551 1.03388 1.0342 1.03518 1.03518 1.03453 1.03257 1.03192 +1.03224 1.02996 1.0329 1.03257 1.03257 1.03355 1.03224 1.03192 +1.03224 1.03453 1.03584 1.03551 1.03714 1.03878 1.03812 1.03878 +1.03878 1.03943 1.04073 1.04237 1.04008 1.03845 1.0391 1.03747 +1.03714 1.03812 1.03943 1.04041 1.03976 1.03747 1.03551 1.03649 +1.03486 1.03159 1.02833 1.02833 1.03192 1.03127 1.02931 1.02735 +1.02735 1.02604 1.02408 1.01918 1.00318 0.971158 0.890316 0.776632 +0.642105 0.528421 0.407227 0.344747 0.322027 0.320133 0.327707 0.344747 +0.358 0.339067 0.327707 0.34664 0.361787 0.354213 0.35232 0.348533 +0.310667 0.299307 0.358 0.4148 0.39208 0.337173 0.308773 0.303093 +0.29552 0.270907 0.265227 0.274693 0.265227 0.248187 0.253867 0.2728 +0.280373 0.299307 0.342853 0.354213 0.32392 0.293627 0.299307 0.331493 +0.342853 0.316347 0.310667 0.320133 0.320133 0.322027 0.32392 0.342853 +0.361787 0.361787 0.38072 0.435627 0.536 0.707789 0.981306 1.08435 +1.04563 1.00906 0.997633 0.996653 0.996 0.998939 1.01657 1.05576 +1.15282 1.0538 1.0182 1.00351 0.993714 0.984245 0.974316 0.970526 +0.962947 0.949053 0.950316 0.965474 0.985224 0.996653 0.973684 0.816421 +0.615579 0.46592 0.33528 0.320133 0.337173 0.274693 0.00094 0.000866667 +0.00084 0.00076 0.00076 0.0008 0.000773333 0.00078 0.000773333 0.000726667 +0.000746667 0.000773333 0.00076 0.000766667 0.000773333 0.000753333 0.00076 0.000786667 +0.000766667 0.000746667 0.00074 0.000733333 0.00074 0.000726667 0.000746667 0.000753333 +0.00072 0.000726667 0.000713333 0.000746667 0.000753333 0.000753333 0.00074 0.00074 +0.000746667 0.000753333 0.000746667 0.00072 0.000726667 0.000733333 0.000746667 0.000746667 +0.00074 0.000746667 0.000753333 0.00074 0.000733333 0.00074 0.00076 0.00074 +0.00072 0.000693333 0.000686667 0.00074 0.00074 0.000733333 0.00072 0.00072 +0.00072 0.000713333 0.000706667 0.00072 0.00074 0.000753333 0.00074 0.000726667 +0.0007 0.00068 0.000673333 0.000686667 0.000726667 0.00074 0.000733333 0.00072 +0.000713333 0.000713333 0.000713333 0.000726667 0.00072 0.00072 0.000746667 0.00074 +0.000733333 0.000726667 0.00072 0.00074 0.00074 0.00072 0.000713333 0.000713333 +0.000706667 0.000686667 0.000686667 0.0007 0.000713333 0.000733333 0.000733333 0.000713333 +0.000706667 0.0007 0.000693333 0.000706667 0.000706667 0.00072 0.00074 0.000726667 +0.000713333 0.0007 0.000706667 0.00072 0.00072 0.00072 0.00074 0.000746667 +0.000726667 0.00072 0.000706667 0.000706667 0.00074 0.000713333 0.000706667 0.000726667 +0.00072 0.000713333 0.00072 0.000746667 0.000766667 0.00078 0.000773333 0.000786667 +0.000793333 0.000786667 0.000786667 0.000793333 0.000786667 0.00082 0.000986667 0.303093 +0.322027 0.257653 0.248187 0.314453 0.390187 0.552421 0.752632 0.941474 +0.994367 0.986857 0.966105 0.952842 0.948421 0.947789 0.959158 0.979368 +0.988816 0.997959 1.00449 1.00873 1.00906 1.00808 1.00906 1.00678 +1.0022 0.999592 0.997633 0.997633 0.999265 0.999918 0.998939 0.998612 +0.98849 0.920632 0.794316 0.659158 0.553053 0.481067 0.422373 0.411013 +0.428053 0.450773 0.428053 0.384507 0.348533 0.3296 0.3296 0.333387 +0.322027 0.308773 0.30688 0.310667 0.299307 0.293627 0.28416 0.276587 +0.27848 0.27848 0.274693 0.265227 0.26144 0.257653 0.26144 0.27848 +0.303093 0.333387 0.316347 0.2728 0.270907 0.286053 0.28416 0.280373 +0.282267 0.282267 0.286053 0.28416 0.28984 0.3296 0.34096 0.310667 +0.28416 0.274693 0.276587 0.2728 0.280373 0.297413 0.3296 0.407227 +0.515158 0.555579 0.537895 0.43184 0.327707 0.33528 0.356107 0.350427 +0.337173 0.32392 0.325813 0.320133 0.303093 0.287947 0.287947 0.304987 +0.297413 0.28416 0.286053 0.291733 0.32392 0.395867 0.401547 0.331493 +0.293627 0.286053 0.3012 0.31824 0.322027 0.325813 0.356107 0.390187 +0.339067 0.276587 0.280373 0.3012 0.3012 0.29552 0.3012 0.28984 +0.26712 0.259547 0.251973 0.2444 0.26712 0.28984 0.259547 0.00098 +0.000826667 0.000653333 0.00086 0.513263 0.709684 0.876421 0.961053 0.993061 +1.01135 1.02049 1.02147 1.02441 1.02637 1.02702 1.02571 1.02441 +1.0218 1.02016 1.01527 1.01298 1.01722 1.02212 1.02343 1.02245 +1.01951 1.02082 1.02376 1.02637 1.03355 1.03714 1.0391 1.04139 +1.04204 1.04204 1.03943 1.03943 1.04041 1.04269 1.04498 1.04629 +1.04629 1.0489 1.04922 1.04824 1.05086 1.05086 1.04824 1.04629 +1.0502 1.05118 1.05086 1.05053 1.04824 1.04531 1.04629 1.04629 +1.04629 1.04465 1.04367 1.04661 1.04563 1.04531 1.044 1.04269 +1.04335 1.04596 1.04596 1.04465 1.044 1.04498 1.04237 1.04073 +1.04106 1.0391 1.04204 1.04106 1.04204 1.04335 1.03976 1.03845 +1.03878 1.04237 1.04269 1.04073 1.04041 1.04139 1.04139 1.04106 +1.04106 1.04073 1.0342 1.03127 1.03486 1.0329 1.03127 1.03355 +1.03682 1.03518 1.03616 1.03649 1.03486 1.03224 1.03061 1.03355 +1.03355 1.02996 1.03257 1.03192 1.03192 1.03159 1.03355 1.0342 +1.03322 1.03388 1.03355 1.0342 1.03747 1.03878 1.03682 1.03845 +1.03878 1.03812 1.03878 1.04041 1.04335 1.04367 1.04073 1.03682 +1.03584 1.04008 1.04237 1.04237 1.04073 1.03714 1.03616 1.0378 +1.03747 1.03388 1.02898 1.03029 1.03322 1.03224 1.02996 1.02833 +1.028 1.028 1.02865 1.02343 1.01396 0.998939 0.958526 0.859368 +0.724211 0.584632 0.47728 0.365573 0.325813 0.320133 0.33528 0.348533 +0.354213 0.34664 0.331493 0.33528 0.344747 0.34664 0.361787 0.344747 +0.297413 0.28416 0.339067 0.40912 0.401547 0.367467 0.342853 0.32392 +0.3012 0.276587 0.265227 0.280373 0.270907 0.25576 0.259547 0.27848 +0.293627 0.316347 0.348533 0.342853 0.303093 0.28984 0.3012 0.333387 +0.344747 0.314453 0.29552 0.316347 0.331493 0.3296 0.3296 0.350427 +0.367467 0.356107 0.365573 0.395867 0.473493 0.580842 0.797474 1.01951 +1.08435 1.03257 1.00514 0.997633 0.994367 0.99502 1.00678 1.03682 +1.1163 1.08282 1.02702 1.00547 0.995347 0.986204 0.978105 0.972421 +0.969895 0.956632 0.949053 0.956 0.969895 0.984571 0.989469 0.932 +0.755158 0.568842 0.40912 0.304987 0.3296 0.331493 0.251973 0.000913333 +0.000853333 0.000793333 0.000793333 0.000826667 0.000813333 0.000826667 0.000793333 0.000773333 +0.00078 0.000813333 0.000806667 0.000773333 0.000773333 0.00074 0.000753333 0.000773333 +0.000766667 0.00074 0.00076 0.00076 0.00074 0.000753333 0.00078 0.00074 +0.000726667 0.000733333 0.000706667 0.000726667 0.000726667 0.000726667 0.000713333 0.000713333 +0.000746667 0.000773333 0.000726667 0.00072 0.000733333 0.00074 0.00076 0.000766667 +0.00074 0.000733333 0.000726667 0.000706667 0.0007 0.000706667 0.000746667 0.000753333 +0.00074 0.00072 0.000733333 0.00076 0.000733333 0.00074 0.000726667 0.000726667 +0.000733333 0.000726667 0.000713333 0.000726667 0.00072 0.0007 0.000713333 0.000733333 +0.00074 0.000733333 0.00072 0.000686667 0.0007 0.000733333 0.000746667 0.000766667 +0.000773333 0.00074 0.00072 0.00074 0.000733333 0.000726667 0.000726667 0.000726667 +0.000726667 0.000733333 0.00072 0.000733333 0.000746667 0.000713333 0.000706667 0.000713333 +0.00072 0.00072 0.00072 0.00072 0.000706667 0.000706667 0.0007 0.000693333 +0.00072 0.00072 0.0007 0.000693333 0.000686667 0.000693333 0.000713333 0.000733333 +0.000746667 0.000733333 0.00072 0.000713333 0.000726667 0.0007 0.0007 0.000713333 +0.00072 0.000713333 0.000713333 0.000693333 0.00072 0.000693333 0.000713333 0.000753333 +0.000753333 0.000733333 0.00072 0.000713333 0.000733333 0.00074 0.000753333 0.000786667 +0.000786667 0.00078 0.00078 0.000793333 0.000826667 0.000913333 0.26712 0.331493 +0.286053 0.23872 0.27848 0.35232 0.500632 0.655368 0.870737 0.985551 +0.990776 0.976842 0.957895 0.949684 0.947789 0.951579 0.966105 0.983265 +0.993714 1.00351 1.00808 1.00808 1.00808 1.00873 1.00939 1.00547 +1.00024 0.997959 0.995673 0.994694 0.994694 0.993714 0.986857 0.961053 +0.879579 0.745684 0.615579 0.527789 0.446987 0.39776 0.393973 0.395867 +0.4148 0.45456 0.452667 0.411013 0.361787 0.327707 0.32392 0.322027 +0.31824 0.303093 0.297413 0.30688 0.303093 0.303093 0.303093 0.28984 +0.282267 0.276587 0.269013 0.26144 0.26144 0.257653 0.257653 0.2728 +0.291733 0.322027 0.31824 0.28416 0.2728 0.286053 0.29552 0.291733 +0.27848 0.269013 0.265227 0.269013 0.287947 0.316347 0.31824 0.30688 +0.291733 0.280373 0.27848 0.27848 0.28416 0.28984 0.30688 0.384507 +0.524632 0.587789 0.569474 0.486747 0.36368 0.36368 0.358 0.325813 +0.297413 0.287947 0.3012 0.30688 0.299307 0.28984 0.297413 0.308773 +0.28984 0.274693 0.28984 0.308773 0.32392 0.371253 0.388293 0.34664 +0.303093 0.29552 0.304987 0.320133 0.327707 0.32392 0.367467 0.43752 +0.405333 0.361787 0.37504 0.382613 0.359893 0.33528 0.3296 0.310667 +0.286053 0.274693 0.263333 0.234933 0.22168 0.22736 0.000993333 0.000893333 +0.0008 0.000753333 0.401547 0.669895 0.851158 0.945263 0.989143 1.0058 +1.01494 1.01951 1.01853 1.0218 1.02441 1.02441 1.0231 1.02212 +1.01984 1.01853 1.01755 1.01886 1.02343 1.02833 1.02735 1.0218 +1.01755 1.02049 1.02539 1.02931 1.03616 1.03976 1.03976 1.04041 +1.04106 1.04171 1.04204 1.04335 1.04465 1.04596 1.04661 1.04727 +1.04727 1.05118 1.05184 1.04955 1.0489 1.04922 1.04759 1.04694 +1.05086 1.05053 1.04857 1.04955 1.04792 1.04694 1.0489 1.04792 +1.04694 1.04563 1.044 1.04661 1.04694 1.04629 1.044 1.04269 +1.04335 1.04596 1.04563 1.044 1.04302 1.04563 1.04302 1.04139 +1.04171 1.04008 1.04073 1.03943 1.04106 1.04433 1.04269 1.04041 +1.03943 1.04139 1.04237 1.04204 1.04041 1.0391 1.04139 1.04204 +1.04139 1.04073 1.03649 1.03518 1.03453 1.03224 1.03127 1.03322 +1.03747 1.03584 1.03486 1.03486 1.03453 1.03127 1.02996 1.0342 +1.03388 1.03127 1.03486 1.03322 1.03192 1.03257 1.03518 1.03714 +1.03812 1.03714 1.03486 1.03355 1.03682 1.03845 1.03551 1.0378 +1.03845 1.0391 1.04106 1.04008 1.04302 1.044 1.04204 1.0391 +1.03714 1.04139 1.04433 1.04302 1.04106 1.04139 1.04269 1.04139 +1.03845 1.03388 1.03029 1.03257 1.03453 1.0342 1.0329 1.03029 +1.02833 1.02767 1.02637 1.02278 1.02016 1.01265 0.990776 0.913053 +0.788632 0.650316 0.535368 0.418587 0.348533 0.331493 0.34096 0.350427 +0.35232 0.359893 0.359893 0.354213 0.344747 0.350427 0.365573 0.344747 +0.3012 0.28984 0.356107 0.40912 0.376933 0.34664 0.339067 0.32392 +0.303093 0.28984 0.274693 0.276587 0.280373 0.282267 0.286053 0.286053 +0.303093 0.3296 0.342853 0.320133 0.291733 0.286053 0.308773 0.327707 +0.339067 0.314453 0.28984 0.31256 0.34096 0.333387 0.3296 0.34664 +0.356107 0.35232 0.350427 0.367467 0.405333 0.507579 0.633895 0.890947 +1.05086 1.05935 1.01984 0.998939 0.993061 0.994367 1.00449 1.02735 +1.06761 1.11326 1.03976 1.00971 0.996327 0.987837 0.980653 0.974316 +0.973053 0.965474 0.953474 0.948421 0.952842 0.965474 0.984245 0.985224 +0.889684 0.690105 0.527158 0.348533 0.308773 0.34096 0.304987 0.216 +0.000873333 0.00084 0.000833333 0.00082 0.0008 0.000813333 0.000806667 0.000806667 +0.00082 0.000833333 0.00082 0.000793333 0.00078 0.000746667 0.00076 0.00078 +0.000746667 0.00072 0.000726667 0.00072 0.000726667 0.00076 0.000766667 0.00074 +0.00076 0.000786667 0.000766667 0.00078 0.00076 0.000746667 0.000733333 0.000746667 +0.000753333 0.000766667 0.000746667 0.000753333 0.000773333 0.00076 0.00074 0.000753333 +0.000733333 0.00072 0.000726667 0.000733333 0.00072 0.000726667 0.00076 0.000766667 +0.000753333 0.000746667 0.000746667 0.000753333 0.000726667 0.00074 0.000746667 0.00072 +0.000726667 0.00072 0.000713333 0.00074 0.000733333 0.000706667 0.000686667 0.0007 +0.00072 0.000726667 0.00072 0.000726667 0.000706667 0.000686667 0.000693333 0.000713333 +0.00074 0.000746667 0.000733333 0.000726667 0.00072 0.000706667 0.000706667 0.0007 +0.000713333 0.000733333 0.000706667 0.000706667 0.000733333 0.000733333 0.00072 0.00072 +0.00072 0.0007 0.000706667 0.00074 0.00074 0.000726667 0.000706667 0.00068 +0.000693333 0.00072 0.000726667 0.000733333 0.00072 0.000713333 0.000726667 0.000726667 +0.000726667 0.000733333 0.000733333 0.00072 0.000726667 0.000726667 0.000713333 0.000706667 +0.000706667 0.000713333 0.000726667 0.000713333 0.00076 0.000753333 0.00072 0.00074 +0.00074 0.000746667 0.00074 0.00074 0.000733333 0.000726667 0.000733333 0.00076 +0.000786667 0.000813333 0.000813333 0.000813333 0.000893333 0.242507 0.320133 0.31256 +0.240613 0.25008 0.31824 0.40344 0.565053 0.772842 0.955368 0.994367 +0.984571 0.964842 0.952211 0.945895 0.945263 0.954105 0.974316 0.986204 +0.996 1.00482 1.00873 1.00776 1.0071 1.00743 1.0071 1.00188 +0.997959 0.996653 0.99502 0.994367 0.992735 0.983918 0.942105 0.854947 +0.721684 0.589053 0.506947 0.40912 0.371253 0.373147 0.36936 0.35232 +0.37504 0.46024 0.498107 0.44888 0.38072 0.333387 0.31256 0.304987 +0.304987 0.297413 0.287947 0.29552 0.291733 0.293627 0.3012 0.304987 +0.304987 0.286053 0.270907 0.263333 0.26144 0.25576 0.25576 0.263333 +0.274693 0.3012 0.31256 0.299307 0.287947 0.287947 0.293627 0.287947 +0.2728 0.26712 0.265227 0.27848 0.30688 0.314453 0.308773 0.31256 +0.304987 0.29552 0.286053 0.280373 0.287947 0.291733 0.310667 0.390187 +0.538526 0.62 0.607368 0.518947 0.373147 0.322027 0.30688 0.299307 +0.287947 0.29552 0.308773 0.320133 0.299307 0.286053 0.299307 0.303093 +0.291733 0.282267 0.29552 0.325813 0.342853 0.354213 0.354213 0.333387 +0.314453 0.325813 0.3296 0.325813 0.325813 0.33528 0.390187 0.486747 +0.500632 0.484853 0.479173 0.422373 0.367467 0.3296 0.304987 0.274693 +0.259547 0.263333 0.257653 0.23872 0.23304 0.242507 0.229253 0.00094 +0.000893333 0.32392 0.616211 0.830947 0.938316 0.981959 1.00057 1.01135 +1.01527 1.01722 1.0169 1.01886 1.02016 1.01984 1.02049 1.02245 +1.02114 1.02082 1.02114 1.02376 1.02637 1.02767 1.02833 1.02278 +1.01657 1.01984 1.02669 1.03192 1.03747 1.03943 1.03943 1.0391 +1.04008 1.03976 1.04269 1.04596 1.04694 1.04759 1.04824 1.04824 +1.04661 1.04857 1.05151 1.05249 1.05086 1.0502 1.04857 1.04563 +1.04661 1.04792 1.04824 1.04824 1.04629 1.04727 1.04988 1.0489 +1.04857 1.04824 1.04629 1.044 1.04269 1.04302 1.04531 1.04531 +1.044 1.04563 1.04433 1.04204 1.03943 1.04335 1.044 1.04237 +1.03976 1.04008 1.04237 1.04106 1.04106 1.04237 1.044 1.04237 +1.04073 1.04106 1.04269 1.04531 1.04302 1.04008 1.04269 1.04335 +1.04106 1.03616 1.0329 1.03453 1.03551 1.03486 1.03127 1.03061 +1.03322 1.03224 1.03192 1.03192 1.0329 1.03094 1.03159 1.03388 +1.03224 1.03192 1.03453 1.0342 1.03355 1.03355 1.03388 1.03584 +1.0378 1.0391 1.04041 1.03812 1.03943 1.03943 1.03616 1.03747 +1.0391 1.04008 1.04269 1.04139 1.04204 1.04302 1.04204 1.04041 +1.04008 1.04335 1.04465 1.04204 1.03845 1.04106 1.04531 1.04335 +1.03845 1.03388 1.0329 1.03551 1.03518 1.03486 1.0342 1.03094 +1.02767 1.02735 1.02506 1.02441 1.02441 1.01951 1.00416 0.956632 +0.849895 0.721684 0.593474 0.502526 0.382613 0.348533 0.354213 0.373147 +0.395867 0.40912 0.399653 0.38072 0.365573 0.39208 0.4148 0.361787 +0.303093 0.30688 0.371253 0.4148 0.358 0.308773 0.297413 0.304987 +0.314453 0.3012 0.282267 0.26712 0.276587 0.297413 0.308773 0.310667 +0.314453 0.33528 0.327707 0.303093 0.287947 0.276587 0.293627 0.322027 +0.320133 0.316347 0.30688 0.316347 0.34664 0.354213 0.348533 0.350427 +0.344747 0.337173 0.3296 0.339067 0.367467 0.424267 0.530947 0.708421 +0.985224 1.08435 1.04563 1.01004 0.99502 0.994367 1.00318 1.01951 +1.04824 1.10717 1.05249 1.0169 0.998939 0.990776 0.982939 0.976211 +0.974316 0.973053 0.965474 0.952211 0.948421 0.954737 0.969895 0.986857 +0.973053 0.831579 0.634526 0.49432 0.32392 0.320133 0.339067 0.2728 +0.00094 0.000846667 0.000806667 0.0008 0.000806667 0.000813333 0.0008 0.000773333 +0.000773333 0.000786667 0.000806667 0.0008 0.0008 0.00078 0.00078 0.000786667 +0.000753333 0.000733333 0.000746667 0.000726667 0.000706667 0.00072 0.000746667 0.00076 +0.0008 0.000786667 0.00076 0.000753333 0.00076 0.000733333 0.000726667 0.000733333 +0.000773333 0.000786667 0.000773333 0.000786667 0.0008 0.00076 0.000733333 0.000753333 +0.000746667 0.000753333 0.000746667 0.000733333 0.000733333 0.000753333 0.000766667 0.00076 +0.000733333 0.000726667 0.00072 0.000726667 0.00072 0.00072 0.00074 0.00072 +0.000726667 0.000733333 0.00072 0.000733333 0.00074 0.000733333 0.000733333 0.00072 +0.000713333 0.00072 0.0007 0.00072 0.000726667 0.000726667 0.00072 0.00072 +0.000693333 0.000693333 0.0007 0.000713333 0.00072 0.000726667 0.000726667 0.000726667 +0.0007 0.0007 0.0007 0.0007 0.00072 0.000726667 0.000713333 0.000726667 +0.000706667 0.000693333 0.0007 0.000706667 0.000726667 0.00072 0.000733333 0.00074 +0.000733333 0.000726667 0.000726667 0.000726667 0.000726667 0.00072 0.000726667 0.000726667 +0.000733333 0.000733333 0.000733333 0.00074 0.000733333 0.000733333 0.000726667 0.00072 +0.000713333 0.00072 0.000726667 0.000733333 0.000746667 0.000753333 0.000726667 0.00076 +0.00076 0.000726667 0.00072 0.00076 0.000793333 0.00078 0.000773333 0.000773333 +0.00078 0.0008 0.000813333 0.00084 0.000953333 0.28416 0.325813 0.259547 +0.217893 0.27848 0.348533 0.501895 0.662316 0.880211 0.987837 0.989469 +0.972421 0.954105 0.948421 0.946526 0.950316 0.964842 0.982286 0.989143 +0.998286 1.00514 1.00678 1.0058 1.00612 1.00678 1.00482 0.998939 +0.99502 0.99502 0.99502 0.992735 0.983918 0.939579 0.846737 0.714737 +0.582737 0.498107 0.395867 0.36936 0.36368 0.365573 0.350427 0.327707 +0.367467 0.490533 0.512 0.452667 0.373147 0.327707 0.30688 0.299307 +0.29552 0.291733 0.28416 0.286053 0.282267 0.280373 0.28416 0.297413 +0.314453 0.3012 0.27848 0.26712 0.26144 0.25576 0.253867 0.257653 +0.26712 0.293627 0.31256 0.303093 0.299307 0.31824 0.31256 0.286053 +0.270907 0.270907 0.28416 0.30688 0.316347 0.314453 0.327707 0.327707 +0.304987 0.291733 0.280373 0.282267 0.286053 0.299307 0.3296 0.412907 +0.553684 0.649684 0.644 0.540421 0.36936 0.287947 0.280373 0.29552 +0.303093 0.304987 0.327707 0.348533 0.31824 0.3012 0.31824 0.310667 +0.293627 0.29552 0.297413 0.320133 0.342853 0.344747 0.339067 0.331493 +0.354213 0.401547 0.393973 0.356107 0.361787 0.3864 0.412907 0.445093 +0.44888 0.464027 0.452667 0.371253 0.322027 0.3012 0.27848 0.248187 +0.240613 0.265227 0.2728 0.263333 0.257653 0.248187 0.23304 0.00094 +0.231147 0.532211 0.764632 0.921263 0.977474 0.994694 1.00514 1.01233 +1.01559 1.01755 1.0169 1.0182 1.01788 1.01559 1.01624 1.01788 +1.01853 1.02049 1.0218 1.02473 1.02833 1.02865 1.02669 1.0231 +1.0182 1.01853 1.02441 1.03061 1.03518 1.03649 1.03584 1.03747 +1.04269 1.04171 1.04335 1.04759 1.04727 1.04727 1.04824 1.0489 +1.04727 1.04694 1.04727 1.0489 1.05086 1.05118 1.05086 1.04792 +1.04563 1.04531 1.04596 1.04792 1.04727 1.04694 1.04661 1.04661 +1.04922 1.04824 1.04694 1.04498 1.04302 1.04106 1.04269 1.04335 +1.04269 1.04498 1.04367 1.04367 1.04237 1.04302 1.04302 1.04139 +1.04041 1.04335 1.04531 1.04302 1.04367 1.04302 1.04302 1.04237 +1.04073 1.04106 1.044 1.04759 1.04302 1.03976 1.04269 1.04171 +1.03845 1.03388 1.03061 1.03029 1.0329 1.03322 1.03061 1.0329 +1.03257 1.03127 1.0329 1.03159 1.02963 1.02865 1.03127 1.03094 +1.02996 1.03257 1.03518 1.03584 1.03453 1.0329 1.03192 1.03453 +1.03616 1.03747 1.03845 1.03551 1.03845 1.0391 1.03682 1.03616 +1.03878 1.04171 1.04335 1.04302 1.04465 1.04531 1.04367 1.04204 +1.04335 1.04465 1.04204 1.03976 1.03878 1.03976 1.04269 1.04335 +1.0391 1.03616 1.0378 1.03812 1.03812 1.03682 1.03551 1.0329 +1.02767 1.02637 1.02735 1.02865 1.02833 1.02278 1.01298 0.988163 +0.908 0.787368 0.654737 0.544842 0.435627 0.365573 0.361787 0.378827 +0.40912 0.416693 0.395867 0.38072 0.376933 0.40912 0.418587 0.356107 +0.316347 0.320133 0.367467 0.388293 0.342853 0.291733 0.26712 0.282267 +0.322027 0.325813 0.28984 0.2728 0.280373 0.3012 0.322027 0.333387 +0.3296 0.32392 0.31824 0.310667 0.299307 0.287947 0.291733 0.3012 +0.29552 0.310667 0.31824 0.31824 0.342853 0.373147 0.376933 0.36368 +0.344747 0.34096 0.342853 0.356107 0.371253 0.38072 0.44888 0.573263 +0.805684 1.02539 1.08587 1.03094 1.00318 0.999592 1.00384 1.01265 +1.03388 1.06152 1.06152 1.02931 1.00449 0.994367 0.984898 0.976211 +0.971158 0.973053 0.976842 0.965474 0.947789 0.940842 0.947789 0.969263 +0.987184 0.941474 0.766526 0.577684 0.401547 0.310667 0.34664 0.337173 +0.2444 0.000866667 0.0008 0.000826667 0.00084 0.000826667 0.000786667 0.00076 +0.000773333 0.0008 0.00082 0.00082 0.000813333 0.0008 0.00078 0.0008 +0.000773333 0.000753333 0.000766667 0.000746667 0.000733333 0.00076 0.000766667 0.00078 +0.000786667 0.000753333 0.000726667 0.000713333 0.00072 0.000733333 0.00072 0.000733333 +0.000753333 0.00076 0.000746667 0.000753333 0.000753333 0.00072 0.000713333 0.000746667 +0.000753333 0.000746667 0.000746667 0.000726667 0.000753333 0.000766667 0.00076 0.00076 +0.000726667 0.0007 0.000706667 0.000733333 0.00072 0.000713333 0.000706667 0.000706667 +0.0007 0.000706667 0.000713333 0.000713333 0.000733333 0.00074 0.000766667 0.00076 +0.00074 0.000726667 0.000726667 0.000713333 0.000706667 0.000706667 0.000726667 0.00076 +0.00074 0.000726667 0.000706667 0.000686667 0.000686667 0.0007 0.00072 0.000753333 +0.00076 0.000726667 0.0007 0.000713333 0.000733333 0.00072 0.000693333 0.000713333 +0.00072 0.0007 0.000706667 0.000713333 0.00072 0.000713333 0.000706667 0.000706667 +0.000733333 0.00074 0.000746667 0.00072 0.00072 0.000693333 0.000686667 0.0007 +0.00074 0.00074 0.000726667 0.000706667 0.000706667 0.000726667 0.000726667 0.000733333 +0.000733333 0.000733333 0.000733333 0.000733333 0.000753333 0.000733333 0.000706667 0.000746667 +0.000766667 0.00076 0.00076 0.000766667 0.00078 0.000773333 0.0008 0.00082 +0.000806667 0.00078 0.000793333 0.000893333 0.251973 0.325813 0.304987 0.234933 +0.2444 0.320133 0.40912 0.573895 0.780421 0.958526 0.992082 0.980327 +0.957895 0.947158 0.945895 0.949053 0.959789 0.978737 0.987184 0.993061 +1.0009 1.00808 1.00776 1.00645 1.00678 1.00547 1.00122 0.997633 +0.994694 0.994041 0.993714 0.985224 0.945895 0.854316 0.721053 0.587789 +0.503789 0.40912 0.371253 0.36368 0.371253 0.373147 0.344747 0.320133 +0.36936 0.481067 0.492427 0.401547 0.34664 0.320133 0.316347 0.30688 +0.299307 0.297413 0.297413 0.293627 0.27848 0.2728 0.280373 0.28984 +0.310667 0.31256 0.291733 0.276587 0.276587 0.282267 0.282267 0.282267 +0.28416 0.303093 0.32392 0.310667 0.303093 0.325813 0.322027 0.297413 +0.293627 0.291733 0.293627 0.308773 0.322027 0.339067 0.356107 0.333387 +0.297413 0.280373 0.276587 0.280373 0.280373 0.28984 0.32392 0.4148 +0.559368 0.65979 0.651579 0.539158 0.356107 0.291733 0.287947 0.303093 +0.32392 0.325813 0.3296 0.344747 0.31824 0.320133 0.342853 0.320133 +0.29552 0.293627 0.28984 0.30688 0.32392 0.3296 0.337173 0.333387 +0.356107 0.401547 0.388293 0.34664 0.356107 0.37504 0.376933 0.367467 +0.354213 0.388293 0.382613 0.31256 0.286053 0.286053 0.265227 0.263333 +0.304987 0.339067 0.320133 0.29552 0.26144 0.23304 0.000986667 0.000893333 +0.316347 0.624421 0.853053 0.962316 0.990122 1.00253 1.00873 1.01527 +1.01886 1.01886 1.01853 1.0182 1.01755 1.01363 1.01363 1.01559 +1.0169 1.01788 1.01918 1.0218 1.02702 1.02767 1.02604 1.02408 +1.02049 1.02016 1.02539 1.02996 1.03322 1.0342 1.03551 1.0391 +1.04465 1.044 1.04433 1.04857 1.04857 1.04857 1.05053 1.05086 +1.04857 1.04792 1.04857 1.04922 1.04955 1.04955 1.0489 1.04792 +1.04792 1.04596 1.04433 1.04661 1.0489 1.04988 1.04727 1.04433 +1.04531 1.04498 1.04563 1.04629 1.04661 1.04498 1.04335 1.04171 +1.04237 1.04465 1.04302 1.044 1.04465 1.04367 1.04237 1.04041 +1.04106 1.04498 1.04727 1.04367 1.04465 1.04367 1.04139 1.04204 +1.04204 1.04204 1.04335 1.04498 1.04041 1.04008 1.04139 1.04008 +1.03649 1.03355 1.0329 1.02833 1.02898 1.03192 1.03029 1.03029 +1.03257 1.03355 1.03355 1.03192 1.02865 1.02767 1.03159 1.03127 +1.03061 1.03257 1.03584 1.03584 1.03518 1.03453 1.03322 1.03486 +1.0378 1.03976 1.03812 1.03486 1.03714 1.03518 1.03453 1.03518 +1.03845 1.04302 1.04465 1.04629 1.04792 1.04857 1.04824 1.04531 +1.04498 1.04465 1.04008 1.03714 1.03976 1.04106 1.04073 1.04269 +1.03845 1.03649 1.03976 1.04041 1.04041 1.03976 1.03747 1.03616 +1.03192 1.02702 1.02735 1.02865 1.02865 1.02539 1.01951 1.00351 +0.956632 0.846737 0.716 0.591579 0.5 0.378827 0.356107 0.359893 +0.36368 0.354213 0.34664 0.348533 0.356107 0.378827 0.359893 0.327707 +0.322027 0.344747 0.373147 0.358 0.31256 0.286053 0.26712 0.28416 +0.31824 0.327707 0.291733 0.269013 0.286053 0.3012 0.322027 0.36936 +0.365573 0.331493 0.331493 0.34096 0.322027 0.3012 0.293627 0.291733 +0.291733 0.30688 0.314453 0.320133 0.342853 0.3864 0.395867 0.367467 +0.348533 0.354213 0.358 0.36368 0.365573 0.361787 0.395867 0.503158 +0.642105 0.914316 1.05412 1.0551 1.02082 1.00808 1.0071 1.00906 +1.02376 1.0502 1.07369 1.04204 1.012 0.998286 0.98849 0.980327 +0.970526 0.971789 0.98098 0.975579 0.957895 0.941474 0.938947 0.950947 +0.980653 0.984898 0.892842 0.700211 0.528421 0.339067 0.31824 0.344747 +0.3012 0.000993333 0.000846667 0.000833333 0.000846667 0.000826667 0.000806667 0.0008 +0.00082 0.000833333 0.000846667 0.00082 0.000793333 0.00078 0.00078 0.000766667 +0.00076 0.000746667 0.000773333 0.000766667 0.00078 0.000786667 0.000766667 0.000773333 +0.000773333 0.000746667 0.000733333 0.00072 0.000733333 0.000746667 0.000746667 0.000753333 +0.000773333 0.000746667 0.000726667 0.00072 0.000733333 0.000706667 0.000713333 0.000753333 +0.00076 0.000766667 0.000786667 0.000773333 0.000753333 0.00076 0.00076 0.00076 +0.000746667 0.000726667 0.000746667 0.000773333 0.000726667 0.000746667 0.00074 0.00074 +0.000726667 0.000726667 0.00072 0.000713333 0.000713333 0.0007 0.000726667 0.00074 +0.000733333 0.000726667 0.000726667 0.00072 0.00072 0.000713333 0.000713333 0.000726667 +0.00072 0.000726667 0.000746667 0.000746667 0.00072 0.0007 0.000686667 0.000706667 +0.00074 0.000733333 0.00072 0.000726667 0.000726667 0.000713333 0.000693333 0.0007 +0.000733333 0.000726667 0.000713333 0.00072 0.000726667 0.000733333 0.000726667 0.00068 +0.000673333 0.000706667 0.000733333 0.000726667 0.00072 0.000706667 0.00068 0.000666667 +0.000693333 0.00072 0.000733333 0.000726667 0.00072 0.000713333 0.000706667 0.00072 +0.000726667 0.000746667 0.00074 0.000713333 0.000746667 0.000753333 0.00072 0.000733333 +0.00074 0.00076 0.000753333 0.00074 0.00076 0.000753333 0.000766667 0.000793333 +0.0008 0.0008 0.00082 0.000993333 0.3012 0.327707 0.257653 0.23304 +0.291733 0.35232 0.509474 0.678737 0.890316 0.988163 0.986857 0.968 +0.953474 0.946526 0.945895 0.952211 0.968632 0.985224 0.990776 0.996327 +1.00416 1.00776 1.0071 1.0071 1.00743 1.00351 0.997959 0.99502 +0.992735 0.990776 0.985224 0.951579 0.870737 0.74 0.598526 0.503789 +0.399653 0.388293 0.384507 0.371253 0.367467 0.371253 0.34664 0.327707 +0.367467 0.424267 0.405333 0.354213 0.325813 0.314453 0.31824 0.314453 +0.304987 0.308773 0.32392 0.31256 0.286053 0.276587 0.276587 0.280373 +0.299307 0.320133 0.31824 0.29552 0.282267 0.291733 0.299307 0.316347 +0.3296 0.34096 0.365573 0.350427 0.320133 0.320133 0.310667 0.303093 +0.31824 0.322027 0.322027 0.337173 0.36936 0.382613 0.367467 0.333387 +0.299307 0.287947 0.286053 0.286053 0.276587 0.2728 0.293627 0.384507 +0.556211 0.663579 0.642737 0.518947 0.320133 0.282267 0.291733 0.3012 +0.314453 0.320133 0.314453 0.316347 0.303093 0.322027 0.342853 0.31824 +0.282267 0.287947 0.287947 0.3012 0.30688 0.30688 0.314453 0.314453 +0.310667 0.331493 0.327707 0.299307 0.31824 0.344747 0.348533 0.356107 +0.359893 0.36936 0.354213 0.303093 0.287947 0.293627 0.310667 0.359893 +0.424267 0.405333 0.325813 0.28416 0.248187 0.225467 0.225467 0.26712 +0.522737 0.728632 0.911789 0.987837 1.00416 1.01004 1.01396 1.01886 +1.02082 1.01918 1.01722 1.01494 1.01722 1.01527 1.01135 1.012 +1.01331 1.01363 1.01657 1.01886 1.02245 1.02376 1.02343 1.02408 +1.02212 1.02016 1.02506 1.03094 1.03518 1.03812 1.03976 1.04106 +1.04498 1.04433 1.04433 1.04727 1.0489 1.04857 1.04759 1.0489 +1.04824 1.04955 1.05118 1.05151 1.04988 1.04792 1.04824 1.04596 +1.04759 1.04694 1.04661 1.04759 1.04988 1.05086 1.04922 1.04759 +1.04629 1.04563 1.04433 1.044 1.04433 1.04727 1.04596 1.04302 +1.04335 1.04465 1.044 1.04433 1.04433 1.04139 1.04041 1.04106 +1.04106 1.04335 1.04498 1.04433 1.044 1.04367 1.04302 1.04335 +1.04237 1.04433 1.04367 1.04237 1.03878 1.04073 1.04106 1.03878 +1.03518 1.03224 1.03322 1.02963 1.03127 1.03127 1.028 1.03061 +1.03094 1.03224 1.03224 1.03094 1.02865 1.02963 1.03224 1.03322 +1.03453 1.03551 1.03682 1.03714 1.03584 1.03551 1.03486 1.03518 +1.03747 1.04008 1.03845 1.03747 1.03976 1.03682 1.03486 1.03616 +1.03714 1.04008 1.044 1.04824 1.04759 1.04922 1.05118 1.04727 +1.04367 1.04204 1.03812 1.03584 1.0391 1.0391 1.03845 1.03845 +1.03649 1.03845 1.04073 1.04106 1.03976 1.03878 1.03714 1.03584 +1.03453 1.03224 1.03029 1.02898 1.02833 1.02767 1.02473 1.01363 +0.987184 0.900421 0.776 0.638947 0.524 0.39776 0.35232 0.34664 +0.339067 0.331493 0.325813 0.327707 0.339067 0.350427 0.3296 0.320133 +0.32392 0.35232 0.367467 0.31824 0.286053 0.28416 0.280373 0.286053 +0.29552 0.310667 0.299307 0.280373 0.280373 0.28984 0.333387 0.416693 +0.416693 0.35232 0.331493 0.331493 0.31256 0.297413 0.291733 0.287947 +0.287947 0.29552 0.308773 0.327707 0.354213 0.384507 0.376933 0.348533 +0.342853 0.339067 0.325813 0.327707 0.342853 0.344747 0.359893 0.412907 +0.537263 0.737474 0.997959 1.07978 1.04204 1.01624 1.00971 1.00971 +1.01918 1.04204 1.06304 1.04988 1.01853 0.998612 0.990449 0.983592 +0.970526 0.964211 0.976211 0.98 0.970526 0.952842 0.941474 0.942737 +0.962947 0.986531 0.975579 0.838526 0.632 0.462133 0.32392 0.337173 +0.34664 0.26144 0.0009 0.000813333 0.00082 0.00082 0.000813333 0.000813333 +0.000806667 0.00078 0.000806667 0.000806667 0.000766667 0.000766667 0.000766667 0.000753333 +0.000746667 0.000773333 0.000793333 0.000766667 0.00078 0.00078 0.000766667 0.000773333 +0.00078 0.000753333 0.000753333 0.000746667 0.000746667 0.000773333 0.000766667 0.000773333 +0.000766667 0.000726667 0.000726667 0.00076 0.00078 0.000726667 0.00074 0.000773333 +0.000766667 0.00078 0.00078 0.000753333 0.000746667 0.00078 0.000773333 0.00078 +0.00078 0.000753333 0.000753333 0.00076 0.000726667 0.000713333 0.000726667 0.000746667 +0.000746667 0.000733333 0.000733333 0.000733333 0.000733333 0.000713333 0.000713333 0.00072 +0.000733333 0.000733333 0.000726667 0.00072 0.00072 0.00072 0.000726667 0.00074 +0.000733333 0.0007 0.0007 0.000733333 0.000746667 0.00076 0.00074 0.000713333 +0.000686667 0.000686667 0.000706667 0.00074 0.000733333 0.000726667 0.0007 0.000693333 +0.000706667 0.000693333 0.000693333 0.000713333 0.000706667 0.000713333 0.000713333 0.0007 +0.00068 0.000673333 0.0007 0.00072 0.000726667 0.000733333 0.000733333 0.000713333 +0.0007 0.000706667 0.000713333 0.000726667 0.000733333 0.000726667 0.000713333 0.000726667 +0.000713333 0.000713333 0.000733333 0.000713333 0.00072 0.000746667 0.000733333 0.000746667 +0.000753333 0.000753333 0.000753333 0.000746667 0.000766667 0.00078 0.000793333 0.000806667 +0.0008 0.000813333 0.000893333 0.263333 0.339067 0.297413 0.225467 0.25008 +0.32392 0.40912 0.581474 0.793053 0.962947 0.990776 0.974947 0.957895 +0.951579 0.945895 0.949684 0.961684 0.98098 0.990122 0.993061 1.00024 +1.00612 1.00808 1.00678 1.00547 1.00514 1.00057 0.99698 0.994694 +0.989796 0.984898 0.961684 0.890947 0.771579 0.626316 0.515158 0.39776 +0.36368 0.371253 0.376933 0.367467 0.359893 0.354213 0.342853 0.33528 +0.358 0.376933 0.359893 0.333387 0.314453 0.314453 0.32392 0.31824 +0.30688 0.31256 0.325813 0.31256 0.286053 0.274693 0.276587 0.28416 +0.293627 0.314453 0.33528 0.320133 0.293627 0.28416 0.297413 0.331493 +0.365573 0.384507 0.4148 0.399653 0.34096 0.308773 0.29552 0.291733 +0.299307 0.320133 0.348533 0.376933 0.39208 0.373147 0.342853 0.31824 +0.3012 0.291733 0.287947 0.276587 0.270907 0.26712 0.28416 0.36936 +0.553053 0.662947 0.635789 0.511368 0.320133 0.28984 0.299307 0.29552 +0.28416 0.293627 0.297413 0.297413 0.293627 0.31256 0.344747 0.327707 +0.29552 0.291733 0.293627 0.287947 0.293627 0.297413 0.304987 0.299307 +0.291733 0.297413 0.30688 0.293627 0.308773 0.339067 0.344747 0.35232 +0.358 0.35232 0.337173 0.327707 0.339067 0.373147 0.435627 0.4716 +0.452667 0.358 0.26712 0.253867 0.259547 0.2444 0.253867 0.393973 +0.617474 0.823368 0.960421 1.0022 1.01331 1.01592 1.01951 1.02016 +1.01918 1.01886 1.01886 1.01429 1.01494 1.01527 1.01265 1.01135 +1.01102 1.01069 1.01363 1.01722 1.01886 1.02114 1.02016 1.01951 +1.02016 1.01951 1.02506 1.03257 1.03812 1.04335 1.04498 1.04367 +1.04531 1.04563 1.04563 1.04792 1.04988 1.04792 1.04563 1.04727 +1.04694 1.04922 1.0489 1.0502 1.0502 1.04824 1.0489 1.04596 +1.04727 1.04531 1.04531 1.04727 1.04955 1.0502 1.0489 1.04955 +1.05086 1.0489 1.04531 1.04237 1.04204 1.04563 1.04629 1.04498 +1.04465 1.04465 1.04335 1.04237 1.04367 1.04204 1.04073 1.03976 +1.04204 1.04367 1.04237 1.04171 1.04139 1.04008 1.04367 1.044 +1.04237 1.04433 1.04498 1.04367 1.03845 1.04041 1.04008 1.03551 +1.03257 1.02865 1.02898 1.02767 1.03061 1.03094 1.03061 1.0342 +1.03127 1.03192 1.03192 1.03029 1.02931 1.03322 1.03453 1.03518 +1.03616 1.03878 1.0391 1.0378 1.03616 1.03518 1.03518 1.03486 +1.03518 1.03682 1.03616 1.03714 1.04008 1.03845 1.0378 1.04073 +1.04073 1.04106 1.04367 1.04629 1.04694 1.0489 1.04922 1.04531 +1.04204 1.03976 1.03649 1.03812 1.04171 1.04073 1.03943 1.03584 +1.03616 1.04106 1.04008 1.04171 1.04139 1.0391 1.03714 1.0342 +1.0342 1.03453 1.03159 1.02963 1.02931 1.03061 1.02865 1.02245 +1.00416 0.949053 0.832842 0.690105 0.558105 0.441307 0.356107 0.34664 +0.34096 0.337173 0.33528 0.337173 0.34096 0.34096 0.325813 0.320133 +0.3296 0.337173 0.3296 0.287947 0.27848 0.287947 0.286053 0.280373 +0.27848 0.291733 0.297413 0.291733 0.291733 0.308773 0.39208 0.486747 +0.452667 0.350427 0.30688 0.29552 0.28416 0.287947 0.287947 0.280373 +0.2728 0.28416 0.308773 0.337173 0.365573 0.36368 0.339067 0.31824 +0.310667 0.3012 0.303093 0.320133 0.33528 0.339067 0.34664 0.373147 +0.456453 0.598526 0.854947 1.03714 1.05771 1.02898 1.01396 1.01135 +1.01592 1.0342 1.05118 1.04727 1.02245 0.999918 0.990776 0.985551 +0.973684 0.960421 0.971789 0.981959 0.978737 0.962947 0.946526 0.942737 +0.951579 0.974947 0.988163 0.940842 0.765263 0.573895 0.40912 0.333387 +0.350427 0.314453 0.225467 0.000846667 0.000826667 0.0008 0.000793333 0.000813333 +0.00082 0.000793333 0.000806667 0.000806667 0.000806667 0.000793333 0.000786667 0.00078 +0.00078 0.000786667 0.000793333 0.00078 0.000786667 0.000766667 0.00076 0.000773333 +0.000773333 0.000766667 0.000746667 0.000753333 0.000766667 0.00076 0.000753333 0.000766667 +0.000746667 0.000733333 0.00076 0.000793333 0.00076 0.000726667 0.000746667 0.000766667 +0.000753333 0.000746667 0.00074 0.000726667 0.000753333 0.00076 0.000753333 0.000766667 +0.000746667 0.000733333 0.00076 0.000773333 0.000746667 0.000713333 0.0007 0.000726667 +0.000726667 0.000693333 0.000693333 0.000713333 0.000726667 0.00074 0.000733333 0.00072 +0.000713333 0.00072 0.000706667 0.00072 0.000733333 0.000726667 0.00072 0.000726667 +0.000733333 0.00072 0.000713333 0.000706667 0.000686667 0.000713333 0.000726667 0.000733333 +0.00072 0.0007 0.000693333 0.000706667 0.000713333 0.00072 0.000713333 0.00072 +0.00072 0.000706667 0.000693333 0.000713333 0.00072 0.000733333 0.00074 0.000726667 +0.000726667 0.000713333 0.000713333 0.000713333 0.000706667 0.000726667 0.000746667 0.000746667 +0.000746667 0.000733333 0.000733333 0.000733333 0.000733333 0.000733333 0.000733333 0.00076 +0.000746667 0.000726667 0.000726667 0.000706667 0.000693333 0.000733333 0.000746667 0.00076 +0.00076 0.00076 0.000773333 0.000766667 0.0008 0.0008 0.000806667 0.000826667 +0.000826667 0.000833333 0.00098 0.303093 0.331493 0.253867 0.231147 0.29552 +0.36368 0.515158 0.688842 0.899789 0.989796 0.985878 0.961053 0.949053 +0.947789 0.946526 0.955368 0.974316 0.989469 0.996327 0.997959 1.00286 +1.00514 1.0071 1.00547 1.00449 1.00286 0.997633 0.996 0.993061 +0.986857 0.974947 0.916211 0.801895 0.657263 0.534737 0.416693 0.36936 +0.361787 0.354213 0.348533 0.342853 0.3296 0.31824 0.322027 0.3296 +0.34096 0.350427 0.34664 0.348533 0.34096 0.331493 0.331493 0.316347 +0.299307 0.303093 0.31824 0.314453 0.297413 0.287947 0.280373 0.286053 +0.293627 0.316347 0.356107 0.35232 0.299307 0.27848 0.286053 0.31256 +0.337173 0.376933 0.450773 0.458347 0.361787 0.293627 0.287947 0.287947 +0.286053 0.297413 0.327707 0.35232 0.34664 0.32392 0.303093 0.297413 +0.297413 0.303093 0.299307 0.280373 0.274693 0.286053 0.303093 0.38072 +0.555579 0.659158 0.628211 0.511368 0.33528 0.322027 0.337173 0.331493 +0.308773 0.303093 0.30688 0.29552 0.28416 0.3012 0.333387 0.333387 +0.31256 0.308773 0.304987 0.291733 0.310667 0.34096 0.33528 0.304987 +0.29552 0.30688 0.31256 0.297413 0.314453 0.34664 0.356107 0.35232 +0.34096 0.339067 0.36368 0.416693 0.456453 0.450773 0.44888 0.412907 +0.361787 0.310667 0.269013 0.2728 0.293627 0.27848 0.31256 0.520842 +0.706526 0.896632 0.989469 1.01102 1.01559 1.01722 1.02147 1.02049 +1.01886 1.01853 1.02082 1.01984 1.01722 1.01461 1.01037 1.00906 +1.00743 1.00743 1.01004 1.01429 1.01755 1.0182 1.01722 1.0169 +1.01788 1.01853 1.02735 1.03747 1.04237 1.04629 1.0489 1.04563 +1.04563 1.04629 1.04596 1.0489 1.0502 1.04988 1.04727 1.04727 +1.04694 1.0489 1.04824 1.04759 1.04792 1.04759 1.04857 1.04596 +1.04824 1.04629 1.04531 1.04433 1.04531 1.04824 1.04759 1.04759 +1.04824 1.04922 1.04792 1.04629 1.04531 1.04596 1.04465 1.04367 +1.04531 1.04727 1.044 1.04171 1.04237 1.04465 1.04498 1.04008 +1.04008 1.04335 1.04335 1.04106 1.04106 1.03943 1.04073 1.04139 +1.04171 1.04237 1.044 1.044 1.03943 1.04041 1.0391 1.03486 +1.03029 1.028 1.03029 1.02767 1.028 1.02833 1.02931 1.0329 +1.03127 1.03127 1.03029 1.03094 1.03127 1.03453 1.0342 1.03453 +1.03388 1.03682 1.03812 1.03714 1.03551 1.03616 1.03747 1.03486 +1.03486 1.03584 1.03649 1.03616 1.03649 1.03616 1.03878 1.04531 +1.04629 1.04629 1.04759 1.04661 1.04792 1.0502 1.04694 1.04335 +1.04139 1.03878 1.0391 1.04302 1.04498 1.04335 1.04204 1.03878 +1.03812 1.03976 1.03878 1.04106 1.04269 1.04106 1.03845 1.03486 +1.03453 1.03486 1.03159 1.02865 1.02996 1.03159 1.03094 1.02833 +1.01624 0.985878 0.890316 0.750737 0.607368 0.505053 0.371253 0.34664 +0.342853 0.331493 0.342853 0.356107 0.354213 0.350427 0.33528 0.32392 +0.31824 0.303093 0.291733 0.2728 0.26712 0.28984 0.297413 0.303093 +0.28416 0.270907 0.2728 0.269013 0.2728 0.3296 0.475387 0.529053 +0.5 0.356107 0.29552 0.28416 0.27848 0.282267 0.286053 0.27848 +0.2728 0.280373 0.297413 0.3296 0.35232 0.33528 0.299307 0.291733 +0.29552 0.3012 0.31256 0.327707 0.331493 0.3296 0.342853 0.356107 +0.401547 0.520211 0.694526 0.964211 1.05249 1.04465 1.02082 1.01331 +1.01527 1.028 1.04073 1.04106 1.02702 1.0058 0.993061 0.986857 +0.976842 0.962947 0.966737 0.977474 0.978105 0.969895 0.954737 0.944632 +0.944632 0.953474 0.979368 0.983918 0.892842 0.695789 0.524632 0.342853 +0.320133 0.348533 0.27848 0.000906667 0.000833333 0.0008 0.0008 0.000826667 +0.000826667 0.000793333 0.000813333 0.000813333 0.00082 0.000813333 0.000813333 0.000806667 +0.000786667 0.0008 0.000786667 0.000766667 0.000766667 0.000746667 0.00074 0.000773333 +0.000773333 0.00076 0.000746667 0.00076 0.000766667 0.00076 0.000773333 0.000773333 +0.000793333 0.000786667 0.00076 0.000766667 0.000746667 0.000726667 0.000746667 0.00076 +0.000746667 0.00072 0.00072 0.000733333 0.000746667 0.000753333 0.000733333 0.000733333 +0.000733333 0.000733333 0.000746667 0.00076 0.000733333 0.000733333 0.000746667 0.000753333 +0.00074 0.00072 0.0007 0.000673333 0.000686667 0.000726667 0.000733333 0.000733333 +0.000726667 0.000733333 0.000713333 0.000706667 0.000726667 0.00072 0.000713333 0.000726667 +0.00074 0.00072 0.00072 0.000726667 0.000706667 0.000693333 0.000693333 0.000693333 +0.0007 0.00072 0.00072 0.00072 0.000713333 0.000706667 0.000713333 0.00072 +0.000726667 0.00074 0.000726667 0.000713333 0.000706667 0.000713333 0.000733333 0.00074 +0.000733333 0.00072 0.00072 0.000733333 0.000713333 0.000726667 0.000733333 0.00074 +0.000733333 0.000733333 0.000746667 0.00076 0.000746667 0.00072 0.00072 0.000726667 +0.00072 0.000746667 0.000773333 0.000753333 0.000733333 0.00074 0.000753333 0.000773333 +0.000773333 0.000766667 0.000766667 0.000746667 0.000773333 0.000786667 0.000793333 0.00082 +0.00084 0.000893333 0.26144 0.337173 0.29552 0.22736 0.259547 0.33528 +0.428053 0.590316 0.804421 0.969263 0.991755 0.976842 0.954105 0.947789 +0.947158 0.952842 0.968632 0.984245 0.99502 0.999918 1.00122 1.00318 +1.00449 1.00482 1.00286 1.00318 0.999592 0.99502 0.994041 0.988163 +0.978737 0.936421 0.834105 0.690105 0.556211 0.429947 0.356107 0.35232 +0.35232 0.327707 0.308773 0.304987 0.303093 0.299307 0.304987 0.316347 +0.327707 0.333387 0.354213 0.393973 0.390187 0.354213 0.331493 0.303093 +0.291733 0.297413 0.314453 0.325813 0.325813 0.30688 0.291733 0.286053 +0.286053 0.297413 0.35232 0.371253 0.32392 0.29552 0.293627 0.299307 +0.30688 0.354213 0.481067 0.512 0.424267 0.308773 0.28416 0.28984 +0.287947 0.287947 0.303093 0.308773 0.293627 0.286053 0.282267 0.28984 +0.29552 0.299307 0.322027 0.339067 0.356107 0.395867 0.416693 0.475387 +0.576421 0.65979 0.619368 0.509474 0.348533 0.3296 0.337173 0.331493 +0.32392 0.314453 0.310667 0.304987 0.291733 0.3012 0.33528 0.342853 +0.316347 0.325813 0.344747 0.358 0.416693 0.445093 0.37504 0.308773 +0.3012 0.31824 0.322027 0.320133 0.35232 0.378827 0.38072 0.359893 +0.34664 0.37504 0.446987 0.505053 0.49432 0.39776 0.33528 0.310667 +0.303093 0.299307 0.299307 0.30688 0.304987 0.308773 0.416693 0.593474 +0.789895 0.949684 1.00057 1.01429 1.01788 1.02016 1.02506 1.02637 +1.02473 1.02245 1.02245 1.02343 1.0218 1.0182 1.01135 1.00808 +1.00612 1.00547 1.0058 1.00743 1.01069 1.01135 1.01037 1.012 +1.01494 1.01853 1.02963 1.04106 1.04596 1.04694 1.04955 1.04727 +1.04498 1.04629 1.04563 1.04661 1.04824 1.05086 1.0489 1.04694 +1.04629 1.04759 1.04857 1.04857 1.04661 1.04596 1.04857 1.04694 +1.0489 1.04727 1.04629 1.04498 1.04531 1.04694 1.04661 1.04563 +1.04531 1.04792 1.0489 1.04694 1.04694 1.04629 1.04433 1.04237 +1.04335 1.04955 1.04661 1.04269 1.04008 1.04139 1.04433 1.04073 +1.04073 1.04302 1.04302 1.04139 1.04302 1.04237 1.04139 1.04073 +1.04204 1.04269 1.04237 1.04008 1.03878 1.03976 1.03747 1.03257 +1.02931 1.02996 1.03094 1.02996 1.03094 1.03029 1.02931 1.02865 +1.02735 1.02963 1.03127 1.03029 1.03094 1.03518 1.03453 1.03486 +1.03453 1.03551 1.03616 1.03649 1.03551 1.03616 1.03616 1.03551 +1.03649 1.03518 1.03649 1.03649 1.03649 1.03682 1.03943 1.04498 +1.04661 1.04694 1.04824 1.04727 1.04661 1.04727 1.04498 1.04335 +1.04237 1.04041 1.04204 1.04531 1.04563 1.04531 1.04498 1.04367 +1.04204 1.04073 1.04237 1.04302 1.04204 1.04171 1.0391 1.03682 +1.03551 1.0342 1.0329 1.03094 1.03224 1.03192 1.03224 1.03224 +1.02571 1.00514 0.942105 0.810105 0.66421 0.542316 0.411013 0.34664 +0.34096 0.3296 0.34096 0.359893 0.365573 0.35232 0.333387 0.316347 +0.30688 0.28416 0.269013 0.265227 0.269013 0.287947 0.3012 0.310667 +0.293627 0.274693 0.265227 0.246293 0.259547 0.344747 0.517053 0.56 +0.510105 0.350427 0.291733 0.282267 0.274693 0.2728 0.280373 0.286053 +0.28416 0.27848 0.28984 0.320133 0.327707 0.304987 0.276587 0.274693 +0.29552 0.320133 0.327707 0.333387 0.33528 0.325813 0.33528 0.342853 +0.36936 0.445093 0.575789 0.805053 1.01396 1.0502 1.03127 1.0182 +1.01853 1.02539 1.03453 1.03616 1.02735 1.00873 0.99698 0.989143 +0.975579 0.961053 0.958526 0.966737 0.973684 0.974947 0.964211 0.949684 +0.944 0.945895 0.961053 0.984571 0.970526 0.828421 0.626316 0.473493 +0.337173 0.35232 0.331493 0.234933 0.000893333 0.000826667 0.000813333 0.000806667 +0.0008 0.000773333 0.00082 0.000806667 0.000806667 0.000793333 0.0008 0.000806667 +0.00076 0.000773333 0.000766667 0.000753333 0.000773333 0.00078 0.00078 0.000786667 +0.000773333 0.000753333 0.000746667 0.000753333 0.000733333 0.000733333 0.000753333 0.000773333 +0.000773333 0.000766667 0.00074 0.000753333 0.000746667 0.000746667 0.00074 0.000753333 +0.000733333 0.00072 0.000753333 0.000766667 0.000733333 0.000713333 0.000713333 0.00072 +0.000746667 0.000746667 0.00072 0.000726667 0.000713333 0.000706667 0.000726667 0.000746667 +0.00074 0.000746667 0.00074 0.000733333 0.000733333 0.00072 0.000713333 0.000733333 +0.000733333 0.00074 0.000726667 0.00072 0.000726667 0.000706667 0.00068 0.000693333 +0.000713333 0.00072 0.00072 0.000713333 0.000706667 0.000713333 0.00072 0.000713333 +0.00068 0.000693333 0.00072 0.000726667 0.00072 0.000713333 0.000713333 0.000713333 +0.0007 0.000713333 0.000713333 0.000726667 0.000726667 0.0007 0.0007 0.000713333 +0.00072 0.000713333 0.000706667 0.00072 0.000706667 0.000713333 0.000713333 0.000713333 +0.0007 0.000693333 0.000706667 0.00072 0.000733333 0.00072 0.000726667 0.000726667 +0.0007 0.000713333 0.000746667 0.000773333 0.000753333 0.000746667 0.000753333 0.000753333 +0.000746667 0.000746667 0.000773333 0.000753333 0.000746667 0.00074 0.000766667 0.000813333 +0.00086 0.00098 0.297413 0.325813 0.257653 0.242507 0.299307 0.354213 +0.515789 0.694526 0.905474 0.991429 0.986857 0.962947 0.947158 0.945263 +0.947158 0.959158 0.979368 0.990776 0.999265 1.00318 1.00384 1.00482 +1.00645 1.00351 1.00188 1.0009 0.996327 0.993388 0.991102 0.983592 +0.957263 0.873895 0.732421 0.587158 0.475387 0.361787 0.34096 0.344747 +0.339067 0.314453 0.29552 0.28984 0.293627 0.297413 0.304987 0.316347 +0.31824 0.320133 0.358 0.39776 0.37504 0.3296 0.308773 0.299307 +0.291733 0.28984 0.299307 0.32392 0.327707 0.304987 0.299307 0.297413 +0.28984 0.29552 0.33528 0.376933 0.359893 0.32392 0.303093 0.303093 +0.30688 0.34664 0.490533 0.535368 0.503789 0.342853 0.276587 0.274693 +0.280373 0.280373 0.29552 0.314453 0.299307 0.286053 0.303093 0.316347 +0.316347 0.31824 0.34096 0.378827 0.44888 0.523368 0.557474 0.582737 +0.632632 0.665474 0.604211 0.492427 0.333387 0.316347 0.314453 0.299307 +0.291733 0.299307 0.304987 0.3012 0.297413 0.30688 0.320133 0.333387 +0.327707 0.34096 0.358 0.390187 0.467813 0.473493 0.38072 0.308773 +0.28984 0.30688 0.331493 0.37504 0.42048 0.422373 0.401547 0.376933 +0.39776 0.467813 0.505684 0.481067 0.395867 0.31824 0.28416 0.286053 +0.297413 0.31824 0.344747 0.34096 0.316347 0.342853 0.513895 0.668632 +0.861895 0.983265 1.00514 1.012 1.01853 1.02506 1.03094 1.03322 +1.03159 1.03094 1.03127 1.03061 1.02702 1.02376 1.01886 1.01657 +1.01233 1.00678 1.00024 0.997306 0.998612 1.00188 1.00514 1.00971 +1.0169 1.02539 1.0378 1.04433 1.04563 1.04563 1.04792 1.04759 +1.04302 1.04596 1.0489 1.04792 1.04629 1.04922 1.04922 1.04661 +1.04824 1.04955 1.04922 1.04922 1.04596 1.04629 1.04792 1.04433 +1.04661 1.04694 1.04727 1.04694 1.04531 1.04596 1.04563 1.04661 +1.04531 1.04629 1.04727 1.04498 1.04433 1.04563 1.04596 1.04596 +1.04465 1.04661 1.04465 1.04465 1.04171 1.0391 1.04106 1.04008 +1.04237 1.04302 1.04237 1.04171 1.04335 1.04367 1.044 1.04139 +1.04106 1.04269 1.04204 1.0378 1.03747 1.0378 1.03518 1.03127 +1.02931 1.02931 1.02898 1.02996 1.03094 1.03061 1.03192 1.02931 +1.02735 1.02833 1.03257 1.03192 1.03257 1.03584 1.03551 1.03616 +1.03551 1.03551 1.03649 1.03616 1.03551 1.03518 1.03518 1.03649 +1.03747 1.03518 1.03584 1.03714 1.03845 1.04041 1.04237 1.04596 +1.04563 1.044 1.04727 1.04727 1.04629 1.044 1.04302 1.04465 +1.04498 1.04563 1.04596 1.04629 1.04661 1.04629 1.04531 1.04498 +1.044 1.04302 1.04531 1.04498 1.04335 1.04204 1.03878 1.03812 +1.03845 1.03584 1.0329 1.03192 1.03159 1.03029 1.03159 1.03322 +1.03029 1.01722 0.981959 0.868211 0.721053 0.581474 0.481067 0.376933 +0.35232 0.358 0.36936 0.376933 0.367467 0.34096 0.325813 0.327707 +0.31824 0.28984 0.2728 0.274693 0.287947 0.3012 0.31256 0.331493 +0.333387 0.31256 0.280373 0.257653 0.269013 0.36936 0.539158 0.576421 +0.509474 0.331493 0.27848 0.269013 0.270907 0.270907 0.274693 0.287947 +0.286053 0.274693 0.28416 0.303093 0.299307 0.28984 0.286053 0.286053 +0.304987 0.34096 0.354213 0.342853 0.34096 0.3296 0.325813 0.33528 +0.344747 0.3864 0.508211 0.66421 0.915579 1.02931 1.03551 1.02245 +1.02245 1.02571 1.03127 1.03061 1.02473 1.00939 0.998939 0.992408 +0.980653 0.964842 0.959158 0.962316 0.968 0.971158 0.968 0.959158 +0.949684 0.944 0.945895 0.970526 0.98751 0.935789 0.760842 0.572 +0.412907 0.337173 0.35232 0.287947 0.000973333 0.00082 0.000793333 0.000813333 +0.00084 0.00082 0.000826667 0.0008 0.000786667 0.000766667 0.000766667 0.000746667 +0.00074 0.000753333 0.000766667 0.00078 0.000773333 0.000766667 0.000773333 0.000786667 +0.000766667 0.000733333 0.000753333 0.00076 0.000746667 0.000753333 0.000793333 0.00078 +0.000746667 0.000733333 0.000726667 0.000726667 0.000713333 0.000713333 0.000726667 0.000746667 +0.00074 0.000773333 0.000793333 0.00078 0.000746667 0.00074 0.000746667 0.000746667 +0.000753333 0.000726667 0.000713333 0.000746667 0.00074 0.00074 0.00072 0.000713333 +0.00072 0.00074 0.00074 0.000746667 0.000746667 0.00074 0.00072 0.00072 +0.0007 0.000706667 0.0007 0.0007 0.000713333 0.000726667 0.000713333 0.000706667 +0.000693333 0.0007 0.000706667 0.000713333 0.000726667 0.00072 0.000726667 0.00074 +0.000713333 0.000693333 0.000693333 0.000686667 0.000673333 0.000686667 0.0007 0.00072 +0.000713333 0.000706667 0.000666667 0.000673333 0.000713333 0.000713333 0.00072 0.000733333 +0.000733333 0.000713333 0.000693333 0.0007 0.000693333 0.000693333 0.0007 0.000713333 +0.000706667 0.0007 0.000726667 0.000726667 0.000706667 0.000706667 0.000706667 0.000726667 +0.000733333 0.000713333 0.000726667 0.00074 0.000733333 0.000733333 0.000746667 0.000753333 +0.00076 0.000753333 0.00078 0.00078 0.000793333 0.0008 0.00078 0.00082 +0.0009 0.257653 0.325813 0.291733 0.234933 0.269013 0.32392 0.416693 +0.598526 0.815789 0.974947 0.994367 0.982612 0.957895 0.944632 0.942737 +0.947158 0.964211 0.982286 0.99502 1.00318 1.00416 1.00384 1.0058 +1.00416 1.00155 1.0009 0.998612 0.995347 0.993061 0.987184 0.969263 +0.907368 0.779158 0.628211 0.515158 0.384507 0.34096 0.337173 0.33528 +0.325813 0.308773 0.29552 0.291733 0.297413 0.3012 0.303093 0.30688 +0.303093 0.30688 0.3296 0.344747 0.325813 0.299307 0.297413 0.293627 +0.291733 0.291733 0.30688 0.333387 0.34096 0.325813 0.322027 0.30688 +0.291733 0.29552 0.32392 0.36936 0.393973 0.359893 0.316347 0.304987 +0.308773 0.348533 0.498107 0.561263 0.544211 0.411013 0.293627 0.276587 +0.274693 0.265227 0.280373 0.308773 0.310667 0.31256 0.327707 0.333387 +0.331493 0.337173 0.33528 0.342853 0.407227 0.525263 0.604842 0.671789 +0.705263 0.681263 0.592842 0.467813 0.31824 0.30688 0.325813 0.32392 +0.308773 0.30688 0.316347 0.31824 0.31256 0.3012 0.310667 0.320133 +0.3296 0.34096 0.34096 0.34664 0.38072 0.39208 0.354213 0.314453 +0.28416 0.293627 0.38072 0.501263 0.518316 0.505053 0.46024 0.458347 +0.501895 0.508842 0.47728 0.382613 0.327707 0.31824 0.314453 0.310667 +0.31256 0.359893 0.39776 0.37504 0.354213 0.405333 0.560632 0.745684 +0.921263 0.995673 1.00971 1.01135 1.01657 1.02376 1.03094 1.0342 +1.03486 1.03584 1.03551 1.03355 1.02898 1.02441 1.02147 1.01918 +1.01624 1.00939 1.00155 0.996 0.993388 0.99502 1.00155 1.01102 +1.02147 1.03127 1.04204 1.04531 1.04596 1.04661 1.04694 1.04629 +1.04237 1.04367 1.04727 1.04563 1.04335 1.04792 1.04922 1.04498 +1.04792 1.05053 1.05053 1.0502 1.04792 1.04759 1.04727 1.04302 +1.04563 1.04661 1.04694 1.04727 1.04498 1.04563 1.04433 1.04465 +1.04465 1.04563 1.04857 1.04792 1.044 1.04335 1.044 1.04661 +1.04531 1.04563 1.04433 1.04596 1.04465 1.04139 1.03845 1.03878 +1.04302 1.04139 1.04106 1.04171 1.04139 1.04302 1.04629 1.04302 +1.04139 1.04041 1.0378 1.03616 1.0378 1.03551 1.03029 1.02833 +1.02931 1.02898 1.02702 1.02702 1.02735 1.02637 1.028 1.02996 +1.03094 1.03192 1.03257 1.03127 1.03192 1.03518 1.03714 1.03551 +1.03616 1.03747 1.03518 1.03518 1.03518 1.03486 1.03616 1.0378 +1.03682 1.03551 1.03649 1.03649 1.03845 1.04204 1.04563 1.04922 +1.04629 1.04367 1.04596 1.04531 1.04367 1.04171 1.04302 1.04629 +1.04694 1.04759 1.04759 1.04661 1.04498 1.044 1.04269 1.04237 +1.04302 1.04269 1.04269 1.04302 1.044 1.04302 1.03943 1.03845 +1.03976 1.03812 1.03551 1.03388 1.03224 1.03127 1.03061 1.03159 +1.03061 1.02212 0.996653 0.918105 0.781684 0.635158 0.532211 0.445093 +0.393973 0.390187 0.393973 0.382613 0.35232 0.3296 0.3296 0.342853 +0.333387 0.304987 0.29552 0.297413 0.310667 0.3296 0.361787 0.388293 +0.405333 0.39776 0.359893 0.3296 0.320133 0.422373 0.556842 0.574526 +0.490533 0.31256 0.26712 0.265227 0.269013 0.2728 0.276587 0.27848 +0.274693 0.269013 0.27848 0.287947 0.293627 0.303093 0.304987 0.297413 +0.314453 0.359893 0.373147 0.34096 0.320133 0.31256 0.316347 0.337173 +0.34664 0.365573 0.433733 0.568842 0.778526 0.985551 1.02669 1.02114 +1.02016 1.02539 1.02898 1.028 1.02278 1.00873 0.997633 0.994367 +0.985878 0.974316 0.964211 0.959789 0.962316 0.968632 0.973053 0.969895 +0.954737 0.942737 0.938316 0.952842 0.981959 0.984245 0.885895 0.686316 +0.522737 0.359893 0.35232 0.339067 0.25576 0.000866667 0.0008 0.000826667 +0.000853333 0.000846667 0.00084 0.00082 0.000793333 0.000773333 0.000793333 0.00078 +0.000766667 0.000766667 0.000773333 0.00078 0.000753333 0.000746667 0.000753333 0.000753333 +0.00076 0.000773333 0.00076 0.00076 0.00074 0.000746667 0.000793333 0.000766667 +0.000733333 0.000733333 0.000753333 0.000726667 0.000713333 0.000733333 0.00074 0.00074 +0.00072 0.000726667 0.000753333 0.000766667 0.000766667 0.00078 0.000773333 0.000746667 +0.000766667 0.00076 0.000766667 0.000786667 0.00074 0.00076 0.000746667 0.000733333 +0.00074 0.000746667 0.00074 0.00072 0.0007 0.00072 0.000746667 0.00076 +0.00074 0.000726667 0.000726667 0.000713333 0.000693333 0.000713333 0.00074 0.00074 +0.000726667 0.00072 0.000713333 0.00072 0.000726667 0.00072 0.000726667 0.000726667 +0.00072 0.0007 0.000713333 0.00072 0.000693333 0.000693333 0.000693333 0.0007 +0.000706667 0.000733333 0.000726667 0.000706667 0.0007 0.000686667 0.00068 0.000706667 +0.000726667 0.000726667 0.00072 0.000706667 0.000673333 0.000673333 0.000706667 0.000733333 +0.000726667 0.00072 0.00074 0.000746667 0.000706667 0.0007 0.000693333 0.0007 +0.00072 0.000726667 0.000753333 0.000746667 0.000726667 0.000726667 0.00074 0.000753333 +0.000773333 0.000793333 0.000813333 0.00078 0.0008 0.00082 0.0008 0.000866667 +0.223573 0.303093 0.320133 0.26144 0.253867 0.303093 0.354213 0.522737 +0.713474 0.92 0.991755 0.986531 0.968632 0.952211 0.945895 0.944632 +0.951579 0.969895 0.985878 0.998612 1.00514 1.00384 1.00318 1.00253 +1.00122 1.0009 0.999918 0.997306 0.994041 0.990449 0.980653 0.932632 +0.822737 0.668632 0.541053 0.42048 0.348533 0.331493 0.327707 0.322027 +0.310667 0.29552 0.291733 0.29552 0.29552 0.299307 0.303093 0.30688 +0.304987 0.299307 0.3012 0.314453 0.314453 0.303093 0.299307 0.304987 +0.3012 0.3012 0.322027 0.339067 0.348533 0.342853 0.344747 0.3296 +0.30688 0.29552 0.304987 0.350427 0.418587 0.399653 0.322027 0.293627 +0.299307 0.348533 0.501263 0.585263 0.592842 0.5 0.314453 0.287947 +0.282267 0.2728 0.280373 0.3012 0.320133 0.32392 0.308773 0.303093 +0.308773 0.30688 0.308773 0.316347 0.339067 0.441307 0.556211 0.649684 +0.711579 0.691368 0.59979 0.496213 0.3296 0.299307 0.31256 0.32392 +0.322027 0.333387 0.342853 0.337173 0.320133 0.304987 0.316347 0.325813 +0.325813 0.32392 0.314453 0.316347 0.3296 0.344747 0.34096 0.308773 +0.293627 0.325813 0.502526 0.573263 0.587158 0.563789 0.539158 0.532842 +0.527158 0.492427 0.39776 0.34096 0.314453 0.320133 0.34096 0.371253 +0.39208 0.42616 0.422373 0.365573 0.373147 0.503789 0.626316 0.822105 +0.969895 1.00253 1.01167 1.01624 1.02016 1.0231 1.028 1.03029 +1.03061 1.03224 1.03192 1.02833 1.02506 1.02049 1.01657 1.01167 +1.01102 1.00906 1.00547 1.00514 1.00286 0.999918 1.0022 1.00971 +1.01984 1.02931 1.0391 1.04433 1.04563 1.04629 1.044 1.04498 +1.04269 1.04073 1.04367 1.044 1.04302 1.04661 1.04792 1.04498 +1.04727 1.04857 1.04824 1.04857 1.04661 1.04629 1.04694 1.04563 +1.04727 1.04596 1.04498 1.04629 1.04694 1.04727 1.04433 1.04465 +1.04596 1.04661 1.04759 1.04792 1.04661 1.04629 1.044 1.04367 +1.04302 1.04596 1.04498 1.044 1.044 1.04367 1.04008 1.0391 +1.04465 1.044 1.04041 1.0391 1.03812 1.04073 1.04498 1.04335 +1.04335 1.04008 1.03518 1.03388 1.03551 1.03257 1.02767 1.02669 +1.02767 1.028 1.02767 1.02735 1.02767 1.02865 1.02865 1.028 +1.02931 1.03192 1.0342 1.03159 1.02931 1.03192 1.0378 1.03616 +1.03616 1.0378 1.03584 1.03551 1.03453 1.03453 1.03714 1.03747 +1.03551 1.0378 1.0391 1.03812 1.04008 1.04433 1.04694 1.0489 +1.04661 1.04563 1.04367 1.04041 1.04041 1.04237 1.04596 1.04694 +1.04727 1.04857 1.04661 1.044 1.04269 1.04302 1.04335 1.04367 +1.04433 1.04269 1.04041 1.03976 1.04106 1.04204 1.04106 1.04073 +1.04008 1.03812 1.03518 1.03094 1.03061 1.03192 1.03094 1.03061 +1.03029 1.02506 1.00808 0.962947 0.843579 0.701474 0.581474 0.506947 +0.416693 0.382613 0.373147 0.35232 0.325813 0.303093 0.299307 0.325813 +0.342853 0.331493 0.316347 0.31256 0.322027 0.337173 0.356107 0.378827 +0.393973 0.43752 0.458347 0.439413 0.433733 0.512 0.575158 0.561895 +0.433733 0.29552 0.2728 0.274693 0.270907 0.280373 0.28984 0.270907 +0.26144 0.26712 0.280373 0.28984 0.297413 0.304987 0.304987 0.287947 +0.308773 0.365573 0.376933 0.331493 0.30688 0.322027 0.34096 0.34664 +0.350427 0.359893 0.395867 0.514526 0.666737 0.889053 1.00351 1.01363 +1.012 1.01951 1.02376 1.0231 1.0182 1.0058 0.996 0.99502 +0.989469 0.979368 0.965474 0.956632 0.959158 0.965474 0.970526 0.969895 +0.959158 0.949053 0.940211 0.942737 0.963579 0.984245 0.965474 0.820842 +0.618737 0.462133 0.35232 0.36368 0.32392 0.23304 0.0009 0.000866667 +0.00086 0.000846667 0.000853333 0.00082 0.000793333 0.000793333 0.00082 0.000806667 +0.000773333 0.00076 0.000773333 0.00076 0.000746667 0.000753333 0.00076 0.000726667 +0.000733333 0.000746667 0.000753333 0.000766667 0.00076 0.000753333 0.000726667 0.000713333 +0.000726667 0.000746667 0.000746667 0.000733333 0.000746667 0.000746667 0.00074 0.000733333 +0.0007 0.000726667 0.000753333 0.000746667 0.00074 0.000726667 0.000733333 0.000746667 +0.000773333 0.0008 0.0008 0.00078 0.000713333 0.00072 0.00072 0.00072 +0.000733333 0.000733333 0.000733333 0.000726667 0.000706667 0.000686667 0.0007 0.00074 +0.00074 0.00074 0.00076 0.00074 0.000713333 0.000706667 0.000713333 0.00072 +0.00072 0.000733333 0.000733333 0.000733333 0.000746667 0.000733333 0.000733333 0.000733333 +0.000733333 0.00072 0.000726667 0.000733333 0.000726667 0.000733333 0.000733333 0.000726667 +0.000706667 0.000706667 0.000733333 0.00074 0.00074 0.000726667 0.000693333 0.00068 +0.00068 0.000693333 0.000713333 0.000753333 0.000726667 0.000693333 0.0007 0.0007 +0.000706667 0.000706667 0.00072 0.000726667 0.000713333 0.0007 0.000713333 0.00072 +0.000713333 0.000706667 0.00074 0.00074 0.000753333 0.000786667 0.000806667 0.000786667 +0.00076 0.000766667 0.000806667 0.000793333 0.0008 0.000813333 0.00082 0.00092 +0.270907 0.34096 0.299307 0.2444 0.27848 0.327707 0.43184 0.612421 +0.834105 0.980327 0.989143 0.971789 0.955368 0.946526 0.943368 0.945263 +0.957895 0.98 0.992735 1.00351 1.00449 1.00286 1.00416 1.00286 +1.00057 0.999592 0.99698 0.995347 0.992408 0.985878 0.957895 0.867579 +0.717895 0.571368 0.456453 0.359893 0.325813 0.314453 0.31256 0.314453 +0.30688 0.293627 0.293627 0.299307 0.297413 0.293627 0.29552 0.303093 +0.310667 0.30688 0.29552 0.30688 0.31824 0.31256 0.308773 0.320133 +0.327707 0.3296 0.333387 0.32392 0.31256 0.314453 0.32392 0.316347 +0.310667 0.303093 0.310667 0.339067 0.40344 0.401547 0.32392 0.291733 +0.297413 0.322027 0.452667 0.584 0.620632 0.527158 0.339067 0.29552 +0.293627 0.282267 0.287947 0.31256 0.320133 0.303093 0.286053 0.280373 +0.282267 0.286053 0.28984 0.297413 0.31256 0.354213 0.46024 0.541684 +0.616842 0.657263 0.615579 0.520211 0.354213 0.3012 0.30688 0.314453 +0.308773 0.32392 0.358 0.359893 0.3296 0.322027 0.339067 0.34096 +0.322027 0.30688 0.3012 0.304987 0.31824 0.333387 0.339067 0.31824 +0.314453 0.401547 0.566316 0.666105 0.683158 0.650947 0.585263 0.529684 +0.49432 0.422373 0.37504 0.354213 0.322027 0.310667 0.361787 0.433733 +0.475387 0.46024 0.416693 0.371253 0.40912 0.548 0.704632 0.890316 +0.993714 1.01037 1.01657 1.0231 1.02702 1.02865 1.03061 1.03094 +1.02833 1.02702 1.02669 1.02114 1.01592 1.01461 1.01331 1.00776 +1.00612 1.00906 1.01233 1.01788 1.01918 1.01559 1.01004 1.00841 +1.01265 1.02147 1.0329 1.04106 1.04367 1.04498 1.04367 1.04465 +1.04204 1.04073 1.04465 1.044 1.04498 1.04629 1.04661 1.04531 +1.04694 1.04629 1.04629 1.04857 1.04727 1.04596 1.04792 1.04759 +1.04759 1.04792 1.04465 1.04498 1.04661 1.04694 1.04335 1.04269 +1.04433 1.04629 1.04661 1.04563 1.04563 1.04661 1.04531 1.04498 +1.04335 1.04596 1.04596 1.04433 1.04335 1.04367 1.04073 1.03976 +1.04335 1.04433 1.04302 1.04106 1.03845 1.04073 1.04269 1.03845 +1.04106 1.03976 1.03649 1.03355 1.03094 1.02833 1.02571 1.02669 +1.02833 1.02865 1.02865 1.02767 1.02735 1.03127 1.03257 1.03192 +1.03127 1.03192 1.03322 1.03355 1.03029 1.03192 1.03682 1.03584 +1.03616 1.03714 1.03616 1.03714 1.0378 1.03584 1.03584 1.03747 +1.03682 1.03812 1.03976 1.03943 1.04237 1.04596 1.04596 1.04531 +1.04563 1.04629 1.04302 1.0391 1.03943 1.04465 1.04955 1.04922 +1.04727 1.04661 1.04498 1.04302 1.04269 1.04302 1.04302 1.04302 +1.04433 1.04302 1.04171 1.04171 1.04008 1.04073 1.04237 1.04171 +1.03878 1.03682 1.03518 1.03192 1.03029 1.03159 1.03159 1.03061 +1.03029 1.02963 1.02049 0.991429 0.895368 0.762105 0.632632 0.528421 +0.405333 0.35232 0.344747 0.3296 0.308773 0.28984 0.291733 0.320133 +0.3296 0.314453 0.299307 0.299307 0.308773 0.308773 0.30688 0.304987 +0.310667 0.348533 0.393973 0.401547 0.441307 0.529684 0.577684 0.543579 +0.39208 0.28984 0.282267 0.28416 0.282267 0.282267 0.274693 0.265227 +0.274693 0.280373 0.280373 0.28416 0.28984 0.29552 0.297413 0.287947 +0.310667 0.36368 0.361787 0.322027 0.31824 0.359893 0.395867 0.378827 +0.36368 0.361787 0.384507 0.458347 0.579579 0.774105 0.955368 1.00384 +1.0058 1.01265 1.01755 1.01755 1.01396 1.00416 0.99502 0.992735 +0.990122 0.982939 0.969895 0.959789 0.954737 0.958526 0.964211 0.969263 +0.964211 0.956 0.944632 0.938947 0.947158 0.970526 0.985551 0.930737 +0.748211 0.56 0.395867 0.358 0.367467 0.286053 0.000946667 0.000846667 +0.000833333 0.000853333 0.000873333 0.00082 0.00082 0.000833333 0.000853333 0.000826667 +0.000773333 0.000753333 0.00078 0.000793333 0.0008 0.000806667 0.000813333 0.00078 +0.00078 0.000773333 0.000766667 0.00074 0.000726667 0.000706667 0.00068 0.000713333 +0.00074 0.000733333 0.000733333 0.00074 0.000766667 0.000766667 0.00076 0.000746667 +0.00074 0.000773333 0.000766667 0.00074 0.00072 0.000733333 0.000773333 0.000793333 +0.00078 0.00078 0.000766667 0.000753333 0.000706667 0.000713333 0.000713333 0.000726667 +0.00072 0.0007 0.000713333 0.00072 0.000733333 0.000733333 0.000713333 0.000713333 +0.000706667 0.000706667 0.00072 0.00072 0.00072 0.000726667 0.000726667 0.00072 +0.000706667 0.000706667 0.00072 0.00072 0.00074 0.00074 0.000726667 0.000713333 +0.000706667 0.000713333 0.000713333 0.000713333 0.00072 0.000733333 0.000733333 0.000733333 +0.00072 0.000726667 0.000726667 0.000713333 0.00072 0.000726667 0.000733333 0.000733333 +0.0007 0.00068 0.000666667 0.000706667 0.000746667 0.00074 0.000733333 0.000713333 +0.0007 0.0007 0.0007 0.000726667 0.00074 0.000733333 0.000726667 0.00074 +0.000746667 0.00074 0.000753333 0.000753333 0.000753333 0.000773333 0.000793333 0.000793333 +0.000766667 0.000753333 0.00078 0.00078 0.000793333 0.000833333 0.00086 0.219787 +0.314453 0.339067 0.265227 0.2444 0.299307 0.365573 0.534737 0.730526 +0.932632 0.991429 0.98 0.952842 0.944632 0.943368 0.943368 0.952211 +0.968632 0.985224 0.998939 1.0071 1.0058 1.00286 1.00318 1.00188 +0.998612 0.996 0.993714 0.992735 0.988816 0.974947 0.907368 0.770947 +0.611789 0.502526 0.378827 0.354213 0.337173 0.314453 0.303093 0.304987 +0.304987 0.29552 0.293627 0.3012 0.303093 0.297413 0.291733 0.29552 +0.303093 0.297413 0.299307 0.308773 0.316347 0.310667 0.304987 0.337173 +0.378827 0.371253 0.34096 0.308773 0.28984 0.29552 0.293627 0.297413 +0.299307 0.299307 0.310667 0.331493 0.378827 0.401547 0.344747 0.30688 +0.303093 0.299307 0.376933 0.548 0.614947 0.549895 0.3864 0.310667 +0.30688 0.29552 0.28984 0.303093 0.3012 0.293627 0.282267 0.2728 +0.276587 0.282267 0.287947 0.286053 0.31256 0.354213 0.365573 0.3864 +0.509474 0.583368 0.613053 0.553053 0.416693 0.3296 0.322027 0.320133 +0.304987 0.297413 0.331493 0.373147 0.376933 0.361787 0.361787 0.35232 +0.325813 0.304987 0.3012 0.299307 0.308773 0.32392 0.337173 0.342853 +0.361787 0.513895 0.655368 0.769684 0.775368 0.692 0.559368 0.42048 +0.356107 0.354213 0.371253 0.376933 0.356107 0.32392 0.350427 0.4148 +0.446987 0.416693 0.401547 0.412907 0.49432 0.606737 0.787368 0.947158 +1.00482 1.01657 1.02114 1.02539 1.02898 1.03224 1.0342 1.03551 +1.03518 1.02996 1.028 1.02278 1.0169 1.01657 1.01755 1.01429 +1.01265 1.01592 1.01918 1.02506 1.02931 1.03029 1.0218 1.01167 +1.00873 1.01527 1.02702 1.03682 1.04008 1.04367 1.044 1.04433 +1.04269 1.04237 1.04727 1.04433 1.044 1.04465 1.04465 1.044 +1.04596 1.04661 1.04433 1.04531 1.04727 1.04824 1.04759 1.04563 +1.04367 1.04531 1.04498 1.044 1.04531 1.04857 1.04596 1.04367 +1.04269 1.04335 1.04596 1.04563 1.04433 1.04367 1.044 1.04596 +1.04531 1.04596 1.04596 1.04433 1.04171 1.04237 1.04237 1.04269 +1.04367 1.04433 1.04335 1.04335 1.04041 1.04171 1.04106 1.03682 +1.03845 1.03682 1.03453 1.0329 1.03094 1.02767 1.02539 1.02637 +1.02767 1.02963 1.02963 1.02669 1.02767 1.03257 1.03192 1.03388 +1.03649 1.03453 1.03486 1.03616 1.03224 1.03453 1.03453 1.03257 +1.03584 1.03551 1.03322 1.03584 1.03812 1.0391 1.03584 1.03747 +1.03845 1.03845 1.04008 1.04237 1.04465 1.04629 1.04629 1.04531 +1.04367 1.044 1.04465 1.044 1.04171 1.044 1.04922 1.04955 +1.04596 1.04367 1.04269 1.04335 1.044 1.04335 1.04335 1.04433 +1.04335 1.04269 1.04237 1.04269 1.04073 1.03943 1.04139 1.04204 +1.04106 1.03976 1.03747 1.03355 1.03127 1.03192 1.03388 1.03061 +1.02865 1.02963 1.02506 1.00318 0.935789 0.813263 0.673684 0.542316 +0.40912 0.35232 0.33528 0.31256 0.299307 0.304987 0.310667 0.308773 +0.297413 0.282267 0.274693 0.276587 0.280373 0.2728 0.263333 0.26144 +0.26144 0.274693 0.291733 0.297413 0.34664 0.503158 0.545474 0.515158 +0.36368 0.293627 0.297413 0.303093 0.297413 0.28416 0.26712 0.263333 +0.291733 0.297413 0.28416 0.280373 0.28416 0.299307 0.314453 0.31824 +0.34096 0.376933 0.34664 0.314453 0.32392 0.356107 0.388293 0.388293 +0.376933 0.371253 0.376933 0.411013 0.519579 0.665474 0.861263 0.983592 +0.998612 1.00384 1.00971 1.01135 1.01004 1.00155 0.991755 0.988163 +0.987837 0.984898 0.977474 0.966105 0.959158 0.957263 0.961684 0.967368 +0.967368 0.959789 0.949684 0.940842 0.942105 0.955368 0.980653 0.982612 +0.877053 0.676211 0.514526 0.358 0.371253 0.327707 0.231147 0.000846667 +0.000826667 0.000873333 0.00088 0.000806667 0.000806667 0.00082 0.000846667 0.00084 +0.00078 0.000753333 0.000793333 0.000806667 0.000806667 0.000793333 0.00078 0.00078 +0.0008 0.000793333 0.000773333 0.000753333 0.000746667 0.000753333 0.000746667 0.000746667 +0.000766667 0.000766667 0.000733333 0.00074 0.00076 0.000773333 0.000753333 0.000733333 +0.000726667 0.000746667 0.000746667 0.000733333 0.000746667 0.000786667 0.0008 0.000773333 +0.00072 0.000713333 0.000733333 0.000753333 0.000693333 0.0007 0.000706667 0.00074 +0.000726667 0.000706667 0.0007 0.000713333 0.00072 0.000733333 0.000746667 0.000746667 +0.000726667 0.000726667 0.00072 0.000726667 0.0007 0.000706667 0.00072 0.00072 +0.000706667 0.000693333 0.000693333 0.000693333 0.0007 0.000713333 0.00072 0.00074 +0.000733333 0.000713333 0.000693333 0.000693333 0.000713333 0.000726667 0.000713333 0.0007 +0.0007 0.000726667 0.00074 0.000713333 0.00072 0.000706667 0.00072 0.000746667 +0.00072 0.00072 0.000726667 0.000706667 0.000713333 0.00072 0.000726667 0.000726667 +0.000726667 0.000713333 0.000706667 0.000726667 0.00074 0.000726667 0.000713333 0.00072 +0.00074 0.000726667 0.00074 0.000746667 0.00074 0.00074 0.00076 0.000766667 +0.00076 0.000753333 0.000773333 0.00078 0.0008 0.000846667 0.000893333 0.259547 +0.344747 0.308773 0.242507 0.269013 0.333387 0.46024 0.628842 0.849895 +0.983265 0.986204 0.961684 0.944 0.939579 0.940842 0.946526 0.959789 +0.980327 0.992082 1.00188 1.00678 1.00547 1.00384 1.00318 0.999592 +0.995347 0.991755 0.991755 0.991102 0.982612 0.936421 0.823368 0.663579 +0.532211 0.401547 0.354213 0.361787 0.365573 0.35232 0.337173 0.32392 +0.310667 0.29552 0.28984 0.308773 0.320133 0.303093 0.297413 0.293627 +0.29552 0.297413 0.299307 0.3012 0.308773 0.310667 0.310667 0.35232 +0.418587 0.405333 0.342853 0.29552 0.27848 0.286053 0.286053 0.29552 +0.29552 0.291733 0.297413 0.310667 0.359893 0.405333 0.376933 0.322027 +0.29552 0.291733 0.331493 0.505684 0.587789 0.570105 0.45456 0.3296 +0.314453 0.310667 0.293627 0.280373 0.276587 0.28416 0.28416 0.276587 +0.286053 0.30688 0.304987 0.3012 0.322027 0.337173 0.31824 0.299307 +0.359893 0.503789 0.563158 0.565684 0.506947 0.38072 0.325813 0.310667 +0.297413 0.27848 0.28416 0.35232 0.433733 0.424267 0.378827 0.350427 +0.325813 0.316347 0.31824 0.316347 0.314453 0.316347 0.32392 0.342853 +0.40912 0.569474 0.741263 0.837895 0.796842 0.650316 0.502526 0.331493 +0.31824 0.331493 0.359893 0.371253 0.36368 0.344747 0.34096 0.378827 +0.39776 0.393973 0.407227 0.452667 0.532211 0.672421 0.862526 0.983592 +1.01069 1.0218 1.02539 1.02702 1.03061 1.03486 1.0391 1.04171 +1.04367 1.04008 1.03812 1.0342 1.02898 1.02996 1.03029 1.02865 +1.02735 1.02669 1.02506 1.02996 1.03616 1.03943 1.03224 1.02114 +1.01167 1.01004 1.01886 1.03094 1.03649 1.03943 1.04041 1.04041 +1.04367 1.04433 1.04824 1.04596 1.04367 1.04335 1.04433 1.04433 +1.04498 1.04661 1.04498 1.04433 1.04629 1.04661 1.04531 1.04531 +1.04335 1.04465 1.04465 1.04269 1.04367 1.0489 1.0489 1.04661 +1.04498 1.04335 1.04367 1.04433 1.04433 1.04465 1.044 1.04563 +1.04498 1.04433 1.04596 1.044 1.04106 1.04171 1.04465 1.04433 +1.04433 1.04433 1.04139 1.04041 1.03812 1.04139 1.04106 1.03649 +1.03616 1.0329 1.03127 1.03094 1.03257 1.03159 1.028 1.02735 +1.02735 1.02833 1.02898 1.02702 1.02898 1.03388 1.03224 1.03127 +1.03453 1.03388 1.0342 1.03747 1.03584 1.03453 1.03355 1.03355 +1.03518 1.03322 1.03159 1.0342 1.03551 1.0391 1.03943 1.04041 +1.04171 1.04041 1.04008 1.04302 1.044 1.04367 1.04498 1.04531 +1.04269 1.04302 1.04465 1.04465 1.04498 1.04629 1.04792 1.04629 +1.044 1.04367 1.04302 1.04531 1.04465 1.04269 1.04335 1.04302 +1.04204 1.04302 1.04139 1.04008 1.04008 1.03845 1.0378 1.03976 +1.04139 1.04106 1.03812 1.03388 1.03094 1.03159 1.03192 1.02996 +1.028 1.02702 1.02212 1.00482 0.958526 0.850526 0.702737 0.555579 +0.418587 0.339067 0.31824 0.30688 0.303093 0.31256 0.30688 0.286053 +0.2728 0.26712 0.265227 0.26712 0.265227 0.257653 0.242507 0.246293 +0.253867 0.265227 0.269013 0.276587 0.314453 0.428053 0.506947 0.46592 +0.348533 0.299307 0.297413 0.310667 0.304987 0.293627 0.28984 0.282267 +0.308773 0.310667 0.282267 0.27848 0.27848 0.286053 0.308773 0.339067 +0.3864 0.407227 0.35232 0.310667 0.316347 0.325813 0.34664 0.371253 +0.371253 0.354213 0.35232 0.38072 0.462133 0.581474 0.760842 0.92821 +0.989796 0.998286 1.00155 1.00384 1.00449 0.998939 0.989469 0.983918 +0.980653 0.978737 0.973684 0.967368 0.964842 0.962316 0.962947 0.964842 +0.971158 0.971158 0.961053 0.949053 0.943368 0.945895 0.963579 0.985878 +0.962947 0.810737 0.604211 0.422373 0.348533 0.358 0.291733 0.00098 +0.000866667 0.000873333 0.00088 0.00084 0.00084 0.000833333 0.000833333 0.00082 +0.000786667 0.00076 0.000793333 0.00078 0.000773333 0.0008 0.000786667 0.00078 +0.000773333 0.000746667 0.000753333 0.000746667 0.000746667 0.00076 0.000746667 0.00074 +0.000773333 0.000753333 0.00074 0.000746667 0.000766667 0.000746667 0.000726667 0.000706667 +0.000713333 0.00074 0.000746667 0.00076 0.000786667 0.0008 0.000753333 0.00072 +0.0007 0.00074 0.00076 0.000773333 0.000706667 0.0007 0.000693333 0.00072 +0.00072 0.000713333 0.000713333 0.000726667 0.00072 0.000706667 0.000706667 0.00072 +0.000733333 0.000746667 0.000733333 0.000733333 0.000713333 0.000706667 0.0007 0.000693333 +0.000706667 0.000713333 0.00072 0.000726667 0.0007 0.000686667 0.00068 0.0007 +0.00072 0.000726667 0.000706667 0.0007 0.0007 0.0007 0.000693333 0.0007 +0.000686667 0.0007 0.00072 0.00072 0.00072 0.000706667 0.000693333 0.000713333 +0.000713333 0.000706667 0.000733333 0.000733333 0.00074 0.000726667 0.00072 0.00072 +0.000733333 0.000726667 0.00072 0.000733333 0.00074 0.000713333 0.000686667 0.0007 +0.000733333 0.000746667 0.000753333 0.000753333 0.000746667 0.000753333 0.00078 0.000773333 +0.00076 0.00076 0.000773333 0.0008 0.000806667 0.000853333 0.000973333 0.299307 +0.339067 0.265227 0.2444 0.30688 0.3864 0.549895 0.748211 0.943368 +0.991755 0.976842 0.952211 0.944 0.940842 0.941474 0.954105 0.969895 +0.985551 0.997633 1.00514 1.0071 1.00351 1.00318 1.00057 0.996327 +0.992408 0.989143 0.989143 0.987184 0.964211 0.877053 0.725474 0.573895 +0.46024 0.36936 0.354213 0.350427 0.348533 0.35232 0.350427 0.344747 +0.331493 0.310667 0.297413 0.31824 0.33528 0.310667 0.28984 0.28984 +0.3012 0.297413 0.3012 0.297413 0.304987 0.320133 0.325813 0.358 +0.405333 0.388293 0.325813 0.287947 0.286053 0.28416 0.282267 0.297413 +0.29552 0.286053 0.28984 0.293627 0.322027 0.36936 0.38072 0.33528 +0.299307 0.299307 0.32392 0.46024 0.577053 0.59979 0.518316 0.35232 +0.304987 0.310667 0.30688 0.293627 0.276587 0.2728 0.27848 0.274693 +0.297413 0.327707 0.32392 0.320133 0.320133 0.299307 0.270907 0.26144 +0.293627 0.359893 0.462133 0.527158 0.524632 0.452667 0.359893 0.322027 +0.303093 0.291733 0.282267 0.34664 0.4716 0.473493 0.378827 0.32392 +0.303093 0.299307 0.30688 0.327707 0.337173 0.333387 0.331493 0.34664 +0.475387 0.623789 0.791158 0.856842 0.767789 0.589684 0.40344 0.327707 +0.337173 0.342853 0.356107 0.354213 0.361787 0.376933 0.38072 0.382613 +0.39776 0.405333 0.42048 0.48296 0.573895 0.741895 0.921895 0.998612 +1.01657 1.02767 1.03224 1.03192 1.03453 1.03976 1.04661 1.04955 +1.05086 1.04792 1.04629 1.04465 1.03878 1.03878 1.04041 1.0391 +1.03714 1.03453 1.03094 1.03388 1.03878 1.03943 1.03518 1.028 +1.01951 1.01265 1.01592 1.02539 1.03159 1.03616 1.03845 1.0378 +1.04139 1.04367 1.04759 1.04661 1.04465 1.04498 1.04465 1.04498 +1.04367 1.04335 1.04596 1.04727 1.04694 1.04563 1.04367 1.04433 +1.04433 1.04694 1.04661 1.04465 1.04465 1.04661 1.04792 1.04531 +1.04367 1.04596 1.04596 1.04498 1.04629 1.04727 1.04302 1.04367 +1.04367 1.04269 1.044 1.04367 1.04335 1.04171 1.04335 1.04367 +1.04498 1.04335 1.03976 1.03943 1.03682 1.03845 1.03845 1.03224 +1.03094 1.02898 1.02833 1.028 1.03029 1.03192 1.028 1.02702 +1.028 1.02735 1.02931 1.02898 1.02931 1.03224 1.03322 1.03192 +1.03388 1.03551 1.03355 1.03486 1.03518 1.03584 1.03355 1.03453 +1.03812 1.03518 1.03257 1.0342 1.03616 1.03714 1.04008 1.04171 +1.04302 1.04302 1.04269 1.04367 1.04367 1.04302 1.04335 1.04433 +1.04367 1.04563 1.04498 1.04237 1.04498 1.04563 1.04531 1.04433 +1.04531 1.04531 1.04465 1.04661 1.04335 1.04465 1.04465 1.04237 +1.04204 1.04269 1.04171 1.0378 1.03878 1.04041 1.03845 1.03747 +1.03845 1.03943 1.03682 1.03224 1.03127 1.03159 1.02996 1.02767 +1.02604 1.02669 1.0231 1.00743 0.974316 0.881474 0.733684 0.575158 +0.433733 0.316347 0.29552 0.299307 0.28984 0.286053 0.28984 0.286053 +0.276587 0.270907 0.265227 0.26712 0.2728 0.26712 0.257653 0.26144 +0.270907 0.276587 0.28416 0.28416 0.310667 0.378827 0.433733 0.40912 +0.339067 0.299307 0.28984 0.3012 0.291733 0.28416 0.28984 0.286053 +0.303093 0.314453 0.28984 0.286053 0.282267 0.27848 0.287947 0.327707 +0.3864 0.40344 0.354213 0.308773 0.314453 0.325813 0.34096 0.354213 +0.359893 0.348533 0.35232 0.36368 0.405333 0.527158 0.672421 0.854316 +0.969263 0.994041 0.99698 0.998939 1.0009 0.999918 0.991755 0.98098 +0.966737 0.965474 0.966737 0.965474 0.962316 0.957895 0.959789 0.966105 +0.969263 0.974947 0.965474 0.953474 0.948421 0.945895 0.954105 0.978105 +0.987837 0.925684 0.732421 0.544842 0.390187 0.37504 0.354213 0.263333 +0.000913333 0.000886667 0.00088 0.00084 0.000853333 0.00084 0.000826667 0.000806667 +0.000766667 0.000773333 0.00082 0.000806667 0.000826667 0.000826667 0.000793333 0.00078 +0.000753333 0.000726667 0.000753333 0.00078 0.000786667 0.000786667 0.000746667 0.000773333 +0.00078 0.00078 0.000753333 0.000746667 0.000753333 0.000746667 0.00074 0.000733333 +0.000746667 0.00076 0.00076 0.00076 0.00074 0.000726667 0.000733333 0.000753333 +0.00076 0.00078 0.000766667 0.000746667 0.000713333 0.000713333 0.000706667 0.000726667 +0.000726667 0.000733333 0.000726667 0.000733333 0.000733333 0.000726667 0.000706667 0.000686667 +0.0007 0.000733333 0.000733333 0.00074 0.00074 0.000746667 0.000733333 0.0007 +0.000693333 0.000706667 0.000726667 0.000753333 0.00074 0.000733333 0.000706667 0.000693333 +0.000693333 0.0007 0.0007 0.000706667 0.0007 0.0007 0.000693333 0.0007 +0.000706667 0.0007 0.000686667 0.000713333 0.000726667 0.00072 0.000706667 0.000713333 +0.000726667 0.000706667 0.000706667 0.0007 0.000713333 0.000726667 0.000733333 0.00074 +0.000746667 0.00074 0.0007 0.000706667 0.000726667 0.000746667 0.00072 0.000713333 +0.000726667 0.000746667 0.000766667 0.000766667 0.000753333 0.00074 0.000773333 0.000793333 +0.000786667 0.000793333 0.000793333 0.000813333 0.000806667 0.000886667 0.25576 0.337173 +0.314453 0.242507 0.26144 0.333387 0.48864 0.649684 0.867579 0.986531 +0.986531 0.961684 0.947789 0.944 0.942737 0.947158 0.961053 0.977474 +0.991755 1.00286 1.0071 1.0071 1.00351 1.0022 0.998939 0.993714 +0.989469 0.988163 0.989796 0.982612 0.92379 0.793684 0.628842 0.508842 +0.384507 0.354213 0.344747 0.33528 0.316347 0.310667 0.316347 0.33528 +0.34664 0.331493 0.308773 0.31256 0.331493 0.322027 0.297413 0.29552 +0.30688 0.314453 0.314453 0.308773 0.322027 0.331493 0.3296 0.339067 +0.361787 0.34664 0.303093 0.282267 0.286053 0.28984 0.293627 0.3012 +0.291733 0.280373 0.282267 0.28416 0.29552 0.327707 0.371253 0.359893 +0.320133 0.30688 0.320133 0.4432 0.584 0.649053 0.578947 0.428053 +0.304987 0.293627 0.3012 0.304987 0.299307 0.299307 0.293627 0.29552 +0.320133 0.34096 0.3296 0.316347 0.299307 0.27848 0.263333 0.257653 +0.287947 0.30688 0.34096 0.43184 0.500632 0.458347 0.37504 0.33528 +0.322027 0.322027 0.327707 0.40344 0.519579 0.519579 0.40912 0.320133 +0.293627 0.28984 0.29552 0.320133 0.342853 0.35232 0.356107 0.378827 +0.522737 0.662316 0.798105 0.828421 0.712211 0.544842 0.371253 0.331493 +0.342853 0.344747 0.34664 0.348533 0.358 0.382613 0.405333 0.405333 +0.405333 0.411013 0.429947 0.509474 0.625053 0.813895 0.974316 1.012 +1.02212 1.02865 1.03355 1.03486 1.03747 1.04335 1.0502 1.0538 +1.0551 1.05314 1.05053 1.0502 1.04498 1.04237 1.04433 1.04498 +1.04465 1.04237 1.03486 1.03355 1.03845 1.0391 1.03616 1.03159 +1.02702 1.02082 1.02016 1.02604 1.03094 1.03453 1.03747 1.03812 +1.03976 1.04204 1.04531 1.04629 1.04629 1.04727 1.04433 1.04335 +1.04367 1.04171 1.04269 1.04465 1.04531 1.04596 1.04465 1.044 +1.04302 1.04498 1.04465 1.04367 1.04563 1.04661 1.04694 1.04531 +1.04465 1.04661 1.04694 1.04596 1.04629 1.04792 1.04335 1.04237 +1.04335 1.04367 1.04367 1.04367 1.04465 1.04139 1.03943 1.04008 +1.04335 1.04171 1.03812 1.03812 1.03714 1.03812 1.03682 1.02931 +1.02833 1.02767 1.02702 1.02735 1.028 1.02963 1.028 1.02833 +1.02963 1.02865 1.02931 1.03159 1.03094 1.02996 1.03127 1.0329 +1.0329 1.03518 1.03355 1.03159 1.0329 1.03616 1.03551 1.03584 +1.03649 1.03388 1.0342 1.03714 1.03976 1.03845 1.03943 1.04073 +1.04204 1.04237 1.044 1.04433 1.044 1.044 1.04465 1.04531 +1.04563 1.04727 1.04433 1.04269 1.04433 1.04465 1.04237 1.04237 +1.04498 1.04629 1.04759 1.04596 1.04204 1.04563 1.04629 1.04498 +1.04302 1.04073 1.04008 1.03878 1.04139 1.044 1.04269 1.03943 +1.0378 1.0378 1.03551 1.0329 1.03224 1.03127 1.02898 1.02702 +1.02539 1.02473 1.02147 1.01135 0.987184 0.908632 0.756421 0.586526 +0.435627 0.308773 0.276587 0.276587 0.263333 0.253867 0.2728 0.297413 +0.297413 0.286053 0.28416 0.282267 0.280373 0.2728 0.269013 0.276587 +0.291733 0.303093 0.303093 0.29552 0.30688 0.344747 0.373147 0.361787 +0.316347 0.28984 0.291733 0.287947 0.276587 0.286053 0.297413 0.29552 +0.30688 0.333387 0.33528 0.322027 0.304987 0.28984 0.293627 0.31256 +0.356107 0.39208 0.36368 0.320133 0.320133 0.333387 0.331493 0.34096 +0.359893 0.35232 0.348533 0.342853 0.36368 0.47728 0.599158 0.774105 +0.922526 0.983918 0.992082 0.995347 0.997306 0.998612 0.993388 0.984245 +0.974947 0.967368 0.964842 0.962316 0.964842 0.954737 0.954105 0.961684 +0.963579 0.967368 0.961053 0.951579 0.949684 0.945895 0.947789 0.960421 +0.981959 0.980327 0.861263 0.660421 0.510737 0.384507 0.382613 0.316347 +0.219787 0.000913333 0.000893333 0.000833333 0.00082 0.000806667 0.000833333 0.000846667 +0.000813333 0.000806667 0.00082 0.0008 0.00082 0.000806667 0.000753333 0.000753333 +0.000753333 0.000773333 0.000773333 0.000773333 0.000786667 0.00078 0.00076 0.000773333 +0.000793333 0.00078 0.000746667 0.00076 0.00078 0.000786667 0.000773333 0.00076 +0.00078 0.000773333 0.000753333 0.000753333 0.00074 0.000733333 0.000746667 0.000753333 +0.000733333 0.000726667 0.000726667 0.000733333 0.000733333 0.000713333 0.00072 0.000726667 +0.00072 0.000733333 0.000726667 0.00072 0.000726667 0.00074 0.000726667 0.000713333 +0.000713333 0.00072 0.000713333 0.00074 0.00074 0.00074 0.00076 0.000753333 +0.00074 0.000726667 0.000726667 0.000733333 0.000733333 0.00074 0.000733333 0.000726667 +0.00072 0.000686667 0.000693333 0.000673333 0.000673333 0.000693333 0.0007 0.000706667 +0.000713333 0.0007 0.000693333 0.0007 0.000706667 0.0007 0.000706667 0.000713333 +0.000706667 0.000706667 0.000713333 0.00072 0.0007 0.000693333 0.000706667 0.000713333 +0.000733333 0.000753333 0.000726667 0.0007 0.000706667 0.00072 0.000706667 0.0007 +0.00072 0.00074 0.000746667 0.00076 0.000766667 0.000753333 0.000773333 0.00078 +0.000793333 0.000806667 0.000813333 0.000833333 0.000833333 0.000973333 0.303093 0.34664 +0.287947 0.25576 0.310667 0.399653 0.563158 0.769684 0.952211 0.990122 +0.972421 0.947789 0.943368 0.942737 0.945263 0.956632 0.969895 0.983265 +0.996653 1.00547 1.00873 1.00678 1.00318 1.00155 0.997633 0.994041 +0.989796 0.989143 0.988816 0.963579 0.86 0.697684 0.549263 0.411013 +0.350427 0.34096 0.339067 0.344747 0.325813 0.297413 0.299307 0.32392 +0.344747 0.344747 0.33528 0.327707 0.34664 0.339067 0.31256 0.320133 +0.342853 0.373147 0.378827 0.382613 0.39776 0.384507 0.354213 0.333387 +0.33528 0.325813 0.30688 0.293627 0.28984 0.291733 0.297413 0.30688 +0.28416 0.274693 0.287947 0.293627 0.28984 0.3012 0.350427 0.37504 +0.333387 0.299307 0.303093 0.40912 0.577053 0.694526 0.662947 0.532842 +0.35232 0.286053 0.28416 0.30688 0.320133 0.327707 0.322027 0.32392 +0.34664 0.344747 0.320133 0.299307 0.28416 0.276587 0.274693 0.2728 +0.287947 0.31256 0.331493 0.36368 0.405333 0.395867 0.354213 0.342853 +0.331493 0.333387 0.36368 0.481067 0.553053 0.548632 0.4432 0.325813 +0.3012 0.299307 0.304987 0.316347 0.3296 0.354213 0.378827 0.433733 +0.549263 0.669263 0.758947 0.752632 0.633895 0.507579 0.36936 0.333387 +0.350427 0.35232 0.348533 0.359893 0.382613 0.4148 0.467813 0.475387 +0.4432 0.433733 0.46024 0.542316 0.692632 0.880211 0.994367 1.01853 +1.02571 1.02931 1.0329 1.03714 1.03878 1.044 1.05053 1.05282 +1.05412 1.05478 1.05216 1.0502 1.04727 1.044 1.04465 1.04727 +1.05151 1.05086 1.04139 1.03518 1.03584 1.03747 1.03584 1.03355 +1.03159 1.02735 1.02539 1.02735 1.03029 1.03224 1.03322 1.03616 +1.03943 1.04335 1.04367 1.04465 1.04498 1.04694 1.04629 1.04335 +1.04335 1.04433 1.04498 1.04465 1.04367 1.04433 1.04498 1.04498 +1.04302 1.04563 1.04302 1.03943 1.04204 1.04596 1.04596 1.04498 +1.04498 1.04433 1.04498 1.04465 1.04269 1.04531 1.04302 1.04367 +1.04367 1.04465 1.04531 1.04335 1.04367 1.04335 1.04204 1.03976 +1.03943 1.03878 1.03584 1.03486 1.03616 1.03812 1.03714 1.03192 +1.03094 1.02898 1.02833 1.02833 1.02604 1.02735 1.02767 1.02865 +1.02996 1.02833 1.02931 1.03192 1.03127 1.03192 1.03159 1.03094 +1.03127 1.03224 1.03322 1.03322 1.03388 1.03486 1.03518 1.03747 +1.03747 1.03355 1.03192 1.03682 1.04237 1.04433 1.04465 1.04335 +1.04106 1.03976 1.044 1.04498 1.04596 1.04661 1.04596 1.04433 +1.04367 1.04367 1.04073 1.04237 1.04531 1.04661 1.04367 1.04269 +1.04433 1.04433 1.04759 1.04596 1.04367 1.04465 1.04204 1.04171 +1.04171 1.04041 1.04106 1.04073 1.04269 1.04367 1.04335 1.04139 +1.04073 1.0391 1.03649 1.03649 1.0342 1.03029 1.02865 1.02898 +1.02767 1.02441 1.02049 1.01298 0.994694 0.929474 0.770947 0.590316 +0.424267 0.3012 0.274693 0.270907 0.259547 0.2444 0.257653 0.287947 +0.303093 0.299307 0.291733 0.28416 0.26144 0.26712 0.28416 0.30688 +0.322027 0.3012 0.29552 0.29552 0.3012 0.3296 0.344747 0.337173 +0.30688 0.28984 0.28984 0.28416 0.280373 0.297413 0.316347 0.304987 +0.303093 0.339067 0.401547 0.418587 0.36368 0.314453 0.304987 0.303093 +0.325813 0.3864 0.39776 0.356107 0.33528 0.33528 0.32392 0.333387 +0.35232 0.344747 0.34096 0.342853 0.359893 0.4148 0.541053 0.698316 +0.867579 0.961053 0.987184 0.993061 0.993061 0.994694 0.993714 0.988816 +0.982939 0.971789 0.964842 0.964842 0.969895 0.961684 0.956632 0.959158 +0.962947 0.966737 0.966737 0.957895 0.950316 0.946526 0.944 0.947158 +0.961684 0.982612 0.949053 0.793684 0.597263 0.446987 0.388293 0.36368 +0.26712 0.000946667 0.000893333 0.00086 0.000846667 0.000846667 0.000866667 0.000886667 +0.000833333 0.0008 0.00078 0.00078 0.000806667 0.0008 0.00078 0.00076 +0.000753333 0.000773333 0.000766667 0.00076 0.00078 0.00078 0.00076 0.00074 +0.000753333 0.00074 0.00074 0.00076 0.000766667 0.000753333 0.000713333 0.00072 +0.000766667 0.000766667 0.000746667 0.00078 0.000773333 0.000733333 0.00072 0.000726667 +0.000726667 0.000733333 0.000746667 0.000753333 0.000733333 0.00072 0.00072 0.00072 +0.00072 0.000726667 0.000726667 0.00072 0.00072 0.00074 0.00072 0.000713333 +0.00072 0.000726667 0.000713333 0.000726667 0.00074 0.00074 0.000733333 0.000733333 +0.00072 0.000733333 0.00074 0.00074 0.000726667 0.000713333 0.0007 0.0007 +0.00072 0.000713333 0.000726667 0.0007 0.00068 0.000706667 0.0007 0.000693333 +0.00072 0.00072 0.00072 0.00072 0.0007 0.000686667 0.000693333 0.0007 +0.00072 0.000713333 0.000706667 0.000713333 0.000706667 0.000693333 0.000713333 0.000706667 +0.000713333 0.000726667 0.000733333 0.00074 0.000746667 0.000733333 0.0007 0.000686667 +0.000706667 0.000733333 0.000753333 0.000773333 0.000773333 0.00076 0.000766667 0.000766667 +0.000786667 0.000806667 0.0008 0.000813333 0.000873333 0.25008 0.33528 0.322027 +0.259547 0.276587 0.354213 0.506316 0.665474 0.882737 0.985551 0.982286 +0.955368 0.940211 0.938947 0.943368 0.948421 0.957895 0.971789 0.987837 +1.00024 1.00612 1.00841 1.00416 1.00253 1.00024 0.995673 0.991429 +0.989143 0.989796 0.983918 0.92379 0.776 0.603579 0.48296 0.36368 +0.333387 0.31824 0.327707 0.356107 0.342853 0.308773 0.304987 0.320133 +0.331493 0.34096 0.356107 0.373147 0.39208 0.388293 0.373147 0.393973 +0.456453 0.492427 0.48296 0.475387 0.462133 0.424267 0.36368 0.325813 +0.314453 0.314453 0.3012 0.291733 0.291733 0.29552 0.308773 0.304987 +0.293627 0.287947 0.29552 0.291733 0.286053 0.293627 0.337173 0.36368 +0.322027 0.286053 0.276587 0.327707 0.529053 0.66421 0.699579 0.597263 +0.464027 0.316347 0.286053 0.299307 0.316347 0.35232 0.373147 0.361787 +0.34096 0.31824 0.293627 0.280373 0.280373 0.276587 0.2728 0.28416 +0.299307 0.327707 0.342853 0.34096 0.350427 0.344747 0.33528 0.339067 +0.33528 0.331493 0.371253 0.505053 0.577684 0.581474 0.502526 0.34664 +0.31256 0.303093 0.31256 0.333387 0.342853 0.354213 0.378827 0.458347 +0.549263 0.634526 0.685684 0.661053 0.568842 0.4716 0.376933 0.34096 +0.358 0.378827 0.376933 0.39208 0.412907 0.429947 0.48864 0.509474 +0.47728 0.441307 0.475387 0.578316 0.760211 0.932632 1.00351 1.02082 +1.028 1.03192 1.03518 1.04041 1.04269 1.04563 1.05118 1.05282 +1.05086 1.05249 1.05314 1.05118 1.04988 1.04759 1.04727 1.05086 +1.0551 1.05478 1.04661 1.03747 1.03257 1.03224 1.03257 1.03159 +1.03355 1.03257 1.02963 1.028 1.02931 1.03127 1.03159 1.03453 +1.03943 1.04367 1.04498 1.04465 1.04335 1.04498 1.04792 1.04563 +1.04433 1.04498 1.04498 1.04465 1.04531 1.04531 1.044 1.04596 +1.04531 1.04727 1.04498 1.04041 1.04237 1.04531 1.04563 1.04498 +1.04367 1.04335 1.04367 1.04204 1.04139 1.04498 1.04335 1.04498 +1.04433 1.04269 1.04302 1.04237 1.04269 1.04204 1.04302 1.04073 +1.03943 1.03943 1.03747 1.03453 1.03486 1.03584 1.03486 1.03192 +1.02996 1.02702 1.028 1.028 1.02735 1.02702 1.02637 1.02669 +1.02898 1.02898 1.02963 1.03159 1.03061 1.0329 1.03388 1.03257 +1.03094 1.03029 1.03322 1.03649 1.03649 1.03486 1.03388 1.03551 +1.03551 1.0342 1.0342 1.03682 1.04106 1.04629 1.04824 1.04727 +1.04171 1.0391 1.04367 1.04661 1.04857 1.04857 1.0489 1.04563 +1.044 1.04335 1.04073 1.04171 1.044 1.04629 1.04531 1.04531 +1.04596 1.04563 1.04596 1.04335 1.04367 1.04237 1.0391 1.04008 +1.04041 1.04204 1.04367 1.04269 1.04139 1.04171 1.04171 1.04008 +1.04171 1.04171 1.03878 1.03616 1.03159 1.02996 1.02996 1.02931 +1.02637 1.02278 1.01984 1.012 0.99698 0.944 0.789895 0.601053 +0.4148 0.282267 0.2728 0.286053 0.291733 0.27848 0.2728 0.29552 +0.333387 0.337173 0.30688 0.274693 0.25576 0.269013 0.287947 0.30688 +0.310667 0.29552 0.3012 0.297413 0.29552 0.314453 0.327707 0.339067 +0.322027 0.293627 0.28416 0.276587 0.280373 0.310667 0.316347 0.29552 +0.282267 0.310667 0.40912 0.475387 0.4148 0.331493 0.314453 0.30688 +0.31256 0.384507 0.435627 0.399653 0.356107 0.3296 0.31824 0.325813 +0.333387 0.327707 0.33528 0.344747 0.354213 0.376933 0.5 0.628211 +0.805053 0.928842 0.979368 0.989469 0.991429 0.992082 0.993388 0.989796 +0.985224 0.976842 0.969263 0.968632 0.969263 0.963579 0.958526 0.954737 +0.961053 0.968632 0.971789 0.965474 0.952842 0.945895 0.945263 0.944 +0.951579 0.973053 0.983265 0.908 0.716632 0.539789 0.40912 0.390187 +0.322027 0.23304 0.000926667 0.00092 0.0009 0.000866667 0.00086 0.00086 +0.00082 0.000806667 0.0008 0.000753333 0.00078 0.000806667 0.0008 0.000786667 +0.00076 0.00074 0.000733333 0.000753333 0.000786667 0.000766667 0.000733333 0.00074 +0.000766667 0.000766667 0.000753333 0.000773333 0.000746667 0.000713333 0.000713333 0.000726667 +0.000733333 0.00074 0.000746667 0.00078 0.00076 0.00072 0.000726667 0.000746667 +0.00076 0.000753333 0.00074 0.00074 0.00072 0.00074 0.00074 0.000733333 +0.000746667 0.00076 0.000746667 0.000726667 0.00072 0.000733333 0.00072 0.000713333 +0.000713333 0.000713333 0.000706667 0.00072 0.00074 0.00076 0.000753333 0.00072 +0.000706667 0.000713333 0.000733333 0.00074 0.000726667 0.000726667 0.000726667 0.00072 +0.00074 0.000733333 0.000733333 0.00074 0.000726667 0.00074 0.000746667 0.00072 +0.000726667 0.000726667 0.000706667 0.00072 0.000726667 0.000713333 0.000706667 0.00068 +0.000706667 0.00072 0.00072 0.00072 0.000713333 0.000713333 0.000733333 0.00072 +0.000713333 0.00072 0.000713333 0.0007 0.00072 0.000733333 0.00072 0.000713333 +0.00072 0.000713333 0.000733333 0.00076 0.000766667 0.00076 0.00078 0.00078 +0.000773333 0.000786667 0.0008 0.00082 0.00094 0.293627 0.344747 0.287947 +0.25008 0.303093 0.40912 0.575789 0.787368 0.963579 0.989143 0.968632 +0.947158 0.938947 0.937684 0.945263 0.956 0.964842 0.978105 0.992082 +1.00253 1.0071 1.00808 1.00318 1.0009 0.996327 0.991429 0.98849 +0.988163 0.98751 0.970526 0.872 0.692 0.534105 0.39208 0.342853 +0.320133 0.308773 0.325813 0.350427 0.350427 0.31824 0.304987 0.308773 +0.31256 0.32392 0.34664 0.37504 0.3864 0.38072 0.382613 0.424267 +0.48864 0.490533 0.45456 0.424267 0.39776 0.371253 0.339067 0.322027 +0.31256 0.304987 0.286053 0.28416 0.29552 0.32392 0.31824 0.293627 +0.297413 0.303093 0.299307 0.293627 0.29552 0.304987 0.339067 0.358 +0.31824 0.28416 0.2728 0.286053 0.416693 0.566947 0.638316 0.613684 +0.528421 0.390187 0.316347 0.299307 0.316347 0.376933 0.40912 0.37504 +0.32392 0.28984 0.280373 0.276587 0.286053 0.282267 0.274693 0.27848 +0.3012 0.325813 0.34096 0.3296 0.322027 0.320133 0.31256 0.32392 +0.333387 0.339067 0.367467 0.496213 0.585263 0.611789 0.532211 0.390187 +0.342853 0.33528 0.339067 0.348533 0.354213 0.359893 0.382613 0.45456 +0.524632 0.573263 0.601684 0.577053 0.523368 0.458347 0.418587 0.395867 +0.388293 0.411013 0.43184 0.43184 0.428053 0.4148 0.435627 0.492427 +0.490533 0.46592 0.508842 0.621895 0.817684 0.971789 1.01167 1.02441 +1.02898 1.03224 1.03486 1.04008 1.04563 1.04922 1.05216 1.05151 +1.04694 1.04792 1.05216 1.05151 1.04955 1.04955 1.05086 1.05412 +1.05902 1.05935 1.05118 1.04139 1.03388 1.03192 1.03322 1.03159 +1.0329 1.03159 1.03029 1.02963 1.02963 1.03127 1.03159 1.03388 +1.03649 1.03943 1.04302 1.044 1.04335 1.04433 1.04563 1.04563 +1.04563 1.04531 1.04367 1.04139 1.04433 1.04596 1.04302 1.04465 +1.04563 1.04531 1.04269 1.04269 1.04661 1.04824 1.04596 1.04498 +1.044 1.044 1.04433 1.04335 1.04269 1.04792 1.04563 1.04531 +1.04727 1.04465 1.04106 1.04041 1.04269 1.03943 1.03845 1.03878 +1.0391 1.03976 1.03747 1.03453 1.03388 1.03322 1.03061 1.02996 +1.02898 1.02539 1.02669 1.02506 1.028 1.03029 1.02833 1.02604 +1.028 1.03094 1.03029 1.03224 1.03159 1.03159 1.03388 1.03486 +1.03388 1.03224 1.03257 1.03453 1.0378 1.03616 1.03453 1.03518 +1.03616 1.03518 1.03747 1.04139 1.04171 1.044 1.04563 1.04596 +1.04531 1.044 1.04596 1.04629 1.04694 1.04694 1.04727 1.04465 +1.04563 1.04531 1.04367 1.04367 1.04433 1.04596 1.04661 1.04629 +1.04629 1.04759 1.04465 1.04073 1.04041 1.03943 1.0391 1.04106 +1.04106 1.04237 1.04465 1.04335 1.04106 1.04139 1.04237 1.04139 +1.04073 1.04139 1.0391 1.0342 1.03061 1.02931 1.03061 1.03159 +1.02898 1.0231 1.01722 1.01004 0.996653 0.947158 0.805053 0.623158 +0.458347 0.287947 0.26144 0.26712 0.28416 0.28984 0.291733 0.322027 +0.378827 0.382613 0.320133 0.282267 0.28416 0.291733 0.293627 0.299307 +0.297413 0.3012 0.322027 0.316347 0.30688 0.310667 0.32392 0.350427 +0.331493 0.287947 0.269013 0.26712 0.276587 0.291733 0.287947 0.282267 +0.28416 0.3012 0.361787 0.42616 0.39208 0.3296 0.31824 0.310667 +0.314453 0.38072 0.4432 0.407227 0.35232 0.320133 0.314453 0.325813 +0.322027 0.31824 0.3296 0.34096 0.348533 0.359893 0.433733 0.570105 +0.738105 0.889684 0.959789 0.983918 0.988816 0.989469 0.992408 0.991102 +0.988816 0.981633 0.973684 0.969895 0.972421 0.967368 0.962947 0.956 +0.954737 0.960421 0.964842 0.968 0.959158 0.947789 0.949053 0.949053 +0.950316 0.959158 0.981633 0.972421 0.843579 0.638947 0.5 0.395867 +0.36936 0.282267 0.000973333 0.00092 0.000906667 0.000853333 0.00084 0.00084 +0.000813333 0.000813333 0.000813333 0.000786667 0.000786667 0.00078 0.00078 0.000793333 +0.00078 0.000746667 0.000733333 0.000753333 0.000773333 0.000773333 0.00078 0.00078 +0.000766667 0.00076 0.000773333 0.00076 0.000726667 0.00072 0.00076 0.000766667 +0.000753333 0.000733333 0.000726667 0.000733333 0.000733333 0.000733333 0.00074 0.000746667 +0.000733333 0.000706667 0.000693333 0.000713333 0.00074 0.00074 0.00072 0.000706667 +0.00072 0.000746667 0.000753333 0.000746667 0.00074 0.000733333 0.000726667 0.000706667 +0.000706667 0.000713333 0.000706667 0.000726667 0.000733333 0.000746667 0.000746667 0.000733333 +0.00072 0.00072 0.000733333 0.000733333 0.00072 0.00072 0.00074 0.000733333 +0.000746667 0.000746667 0.000726667 0.00072 0.00068 0.000673333 0.000706667 0.000713333 +0.00072 0.000713333 0.000693333 0.0007 0.000713333 0.00072 0.00072 0.000693333 +0.0007 0.000706667 0.000706667 0.000713333 0.000693333 0.0007 0.00072 0.00072 +0.000713333 0.00072 0.000726667 0.000713333 0.000706667 0.000726667 0.000706667 0.00072 +0.000753333 0.000746667 0.00074 0.000746667 0.000713333 0.00072 0.00076 0.000813333 +0.0008 0.000793333 0.000786667 0.00084 0.234933 0.331493 0.322027 0.251973 +0.259547 0.339067 0.512632 0.684421 0.897895 0.990122 0.983265 0.959158 +0.945895 0.940211 0.941474 0.950316 0.960421 0.971789 0.984245 0.996 +1.00351 1.0071 1.00612 1.00318 1.0009 0.994367 0.987837 0.986204 +0.987837 0.984898 0.942105 0.805053 0.611789 0.46592 0.36368 0.33528 +0.30688 0.304987 0.322027 0.356107 0.378827 0.34096 0.304987 0.304987 +0.30688 0.31256 0.327707 0.339067 0.333387 0.327707 0.337173 0.37504 +0.39776 0.37504 0.342853 0.314453 0.3012 0.303093 0.31256 0.320133 +0.320133 0.303093 0.286053 0.286053 0.303093 0.325813 0.31256 0.282267 +0.286053 0.28416 0.282267 0.274693 0.280373 0.303093 0.331493 0.34664 +0.31824 0.291733 0.28984 0.29552 0.3296 0.446987 0.539158 0.563158 +0.530316 0.439413 0.356107 0.331493 0.36368 0.424267 0.416693 0.361787 +0.322027 0.29552 0.27848 0.270907 0.276587 0.28416 0.280373 0.28416 +0.303093 0.339067 0.36368 0.333387 0.314453 0.31256 0.304987 0.310667 +0.325813 0.34096 0.358 0.456453 0.577053 0.627579 0.558737 0.458347 +0.401547 0.382613 0.373147 0.358 0.34664 0.373147 0.412907 0.456453 +0.500632 0.520842 0.529684 0.515158 0.473493 0.435627 0.441307 0.464027 +0.4716 0.48296 0.500632 0.481067 0.44888 0.428053 0.42616 0.473493 +0.501263 0.501895 0.540421 0.679368 0.870737 0.990122 1.01624 1.02539 +1.02996 1.03453 1.03584 1.03943 1.04629 1.04955 1.05151 1.05216 +1.04857 1.04694 1.0489 1.04792 1.04694 1.0502 1.05412 1.05641 +1.05935 1.06761 1.05347 1.04433 1.0378 1.03388 1.03322 1.03127 +1.03192 1.03159 1.03257 1.03355 1.03355 1.03355 1.03257 1.03257 +1.03453 1.03845 1.04269 1.04335 1.04335 1.04433 1.04465 1.04335 +1.04269 1.04465 1.04563 1.04269 1.04269 1.04498 1.04302 1.044 +1.04563 1.04596 1.04302 1.04269 1.04465 1.04498 1.04335 1.044 +1.04237 1.04237 1.044 1.04498 1.04237 1.04629 1.04563 1.04498 +1.04792 1.04596 1.04171 1.0378 1.03943 1.0391 1.03714 1.0378 +1.03714 1.03584 1.03486 1.03453 1.03682 1.0329 1.02767 1.02669 +1.02669 1.02571 1.028 1.02637 1.02865 1.02963 1.028 1.02669 +1.028 1.03224 1.0329 1.0329 1.03159 1.03029 1.03257 1.03486 +1.03453 1.03355 1.03322 1.03061 1.03584 1.03649 1.0342 1.03714 +1.0391 1.03714 1.04073 1.04596 1.04531 1.04531 1.04204 1.04269 +1.04694 1.04694 1.04824 1.04857 1.04759 1.04727 1.04498 1.04367 +1.04563 1.04563 1.04727 1.0489 1.04857 1.04792 1.04596 1.04465 +1.04694 1.04629 1.04237 1.04041 1.03812 1.03812 1.03878 1.03845 +1.03878 1.04106 1.04269 1.04302 1.04106 1.04106 1.04171 1.03943 +1.04041 1.04335 1.03943 1.03388 1.03127 1.028 1.02898 1.03127 +1.03029 1.02571 1.02016 1.01233 0.996653 0.940211 0.805684 0.636421 +0.502526 0.31824 0.263333 0.248187 0.253867 0.259547 0.270907 0.308773 +0.37504 0.373147 0.31256 0.293627 0.293627 0.304987 0.28984 0.282267 +0.291733 0.316347 0.33528 0.316347 0.297413 0.3012 0.34096 0.37504 +0.34096 0.291733 0.2728 0.265227 0.2728 0.274693 0.282267 0.291733 +0.291733 0.28984 0.320133 0.36368 0.361787 0.32392 0.303093 0.304987 +0.32392 0.382613 0.43752 0.39776 0.348533 0.32392 0.308773 0.31824 +0.31824 0.325813 0.344747 0.350427 0.35232 0.361787 0.399653 0.527158 +0.676211 0.846105 0.937684 0.971789 0.983918 0.986857 0.991102 0.992082 +0.990449 0.981959 0.974947 0.972421 0.972421 0.969263 0.966105 0.958526 +0.949684 0.955368 0.961684 0.968 0.963579 0.949684 0.950947 0.954105 +0.952211 0.952842 0.971789 0.985551 0.939579 0.768421 0.574526 0.435627 +0.395867 0.344747 0.236827 0.000913333 0.000893333 0.00086 0.000846667 0.000866667 +0.000846667 0.00084 0.00084 0.00082 0.000793333 0.00078 0.000773333 0.00078 +0.00076 0.000753333 0.000753333 0.00078 0.000793333 0.000793333 0.00076 0.000753333 +0.000726667 0.000713333 0.00072 0.000733333 0.000733333 0.000733333 0.000766667 0.000793333 +0.00078 0.00074 0.000753333 0.00076 0.000753333 0.000753333 0.00076 0.000733333 +0.00072 0.000726667 0.000726667 0.00074 0.000746667 0.00074 0.000726667 0.000733333 +0.000726667 0.000713333 0.000713333 0.000726667 0.000733333 0.000733333 0.000753333 0.00076 +0.000713333 0.0007 0.000706667 0.000713333 0.00072 0.00072 0.000726667 0.00072 +0.000713333 0.000726667 0.000746667 0.00074 0.000726667 0.00072 0.000706667 0.0007 +0.000713333 0.000726667 0.000726667 0.000733333 0.0007 0.00066 0.00068 0.000686667 +0.000713333 0.000746667 0.000733333 0.00072 0.000713333 0.000706667 0.0007 0.000693333 +0.000706667 0.00072 0.000733333 0.000726667 0.000706667 0.000693333 0.000706667 0.000713333 +0.000706667 0.00072 0.000733333 0.000733333 0.000733333 0.000746667 0.000726667 0.000713333 +0.000746667 0.000726667 0.00072 0.000753333 0.000746667 0.000733333 0.000733333 0.00076 +0.000773333 0.000806667 0.00082 0.000933333 0.286053 0.342853 0.28416 0.246293 +0.303093 0.42048 0.593474 0.808211 0.971158 0.989796 0.969263 0.951579 +0.944632 0.939579 0.945263 0.955368 0.962947 0.976211 0.98849 0.998286 +1.00482 1.00612 1.00547 1.00188 0.997306 0.990776 0.986531 0.98751 +0.988816 0.98 0.901053 0.726737 0.546737 0.399653 0.356107 0.34096 +0.322027 0.314453 0.316347 0.359893 0.40344 0.367467 0.320133 0.310667 +0.304987 0.314453 0.331493 0.327707 0.308773 0.304987 0.320133 0.34096 +0.331493 0.308773 0.29552 0.280373 0.274693 0.276587 0.282267 0.299307 +0.310667 0.3012 0.286053 0.282267 0.280373 0.28984 0.286053 0.280373 +0.276587 0.276587 0.276587 0.269013 0.269013 0.28416 0.3012 0.314453 +0.310667 0.304987 0.308773 0.31256 0.316347 0.354213 0.43184 0.496213 +0.475387 0.40912 0.376933 0.393973 0.45456 0.481067 0.422373 0.356107 +0.333387 0.304987 0.282267 0.282267 0.28416 0.280373 0.280373 0.286053 +0.303093 0.348533 0.384507 0.35232 0.316347 0.316347 0.314453 0.31824 +0.31824 0.322027 0.333387 0.4148 0.559368 0.631368 0.578947 0.503158 +0.445093 0.395867 0.37504 0.378827 0.3864 0.42048 0.458347 0.46592 +0.458347 0.469707 0.462133 0.445093 0.422373 0.39776 0.401547 0.435627 +0.464027 0.486747 0.501895 0.498107 0.481067 0.462133 0.452667 0.484853 +0.503789 0.510737 0.571368 0.732421 0.913053 0.998612 1.01755 1.02441 +1.02898 1.03486 1.03682 1.04041 1.0489 1.05118 1.05053 1.05118 +1.04955 1.04694 1.04661 1.04563 1.04694 1.05347 1.06304 1.06 +1.05478 1.05641 1.05249 1.04465 1.04041 1.03649 1.03257 1.02963 +1.03159 1.0329 1.03257 1.03453 1.03551 1.03551 1.0342 1.03322 +1.03453 1.03878 1.04335 1.044 1.04367 1.04465 1.04498 1.04335 +1.04204 1.04269 1.04531 1.04433 1.04367 1.04531 1.04465 1.04302 +1.044 1.0489 1.04857 1.04596 1.04433 1.04302 1.04171 1.04335 +1.04106 1.04041 1.04302 1.04433 1.04335 1.04563 1.04531 1.04531 +1.04661 1.04335 1.04171 1.0378 1.03682 1.03878 1.0391 1.03714 +1.03486 1.03355 1.0329 1.0329 1.03584 1.03322 1.02702 1.02604 +1.02669 1.02604 1.02735 1.02735 1.02963 1.02865 1.02735 1.02865 +1.03159 1.03355 1.0342 1.03355 1.03159 1.02931 1.03159 1.03453 +1.03257 1.03355 1.03518 1.03192 1.03551 1.03649 1.03551 1.0378 +1.04041 1.04008 1.04498 1.04727 1.04433 1.04531 1.04269 1.04302 +1.04694 1.04531 1.04563 1.04661 1.04857 1.04988 1.04563 1.04596 +1.04759 1.04857 1.05053 1.0502 1.0489 1.04694 1.04433 1.04498 +1.04759 1.04335 1.03878 1.03943 1.03943 1.04106 1.04106 1.03878 +1.03845 1.03845 1.03812 1.04073 1.04302 1.04367 1.04139 1.03812 +1.03845 1.04041 1.0378 1.03518 1.03224 1.02833 1.02767 1.02833 +1.02833 1.02735 1.0231 1.01592 0.999918 0.941474 0.803789 0.636421 +0.500632 0.304987 0.25576 0.248187 0.248187 0.257653 0.270907 0.293627 +0.348533 0.36368 0.32392 0.308773 0.297413 0.287947 0.28416 0.270907 +0.293627 0.327707 0.3296 0.297413 0.282267 0.287947 0.333387 0.384507 +0.361787 0.308773 0.28416 0.280373 0.280373 0.276587 0.282267 0.286053 +0.286053 0.29552 0.322027 0.337173 0.33528 0.31824 0.304987 0.308773 +0.3296 0.382613 0.445093 0.40912 0.358 0.327707 0.299307 0.30688 +0.331493 0.34664 0.359893 0.358 0.350427 0.361787 0.39208 0.503158 +0.624421 0.796211 0.911158 0.957895 0.979368 0.985224 0.990122 0.992408 +0.992408 0.982939 0.975579 0.974947 0.972421 0.966105 0.959789 0.953474 +0.947789 0.952842 0.960421 0.966737 0.969263 0.956 0.950316 0.954737 +0.952211 0.947158 0.960421 0.981306 0.982939 0.889053 0.688842 0.522105 +0.401547 0.37504 0.28984 0.223573 0.000933333 0.000886667 0.00088 0.000873333 +0.000853333 0.00084 0.000833333 0.000806667 0.000793333 0.00082 0.0008 0.000786667 +0.000753333 0.000746667 0.000753333 0.00076 0.000766667 0.000746667 0.0007 0.000686667 +0.000693333 0.000713333 0.000766667 0.00078 0.00076 0.000753333 0.000766667 0.00076 +0.00076 0.000766667 0.00078 0.000773333 0.000766667 0.00078 0.000766667 0.000753333 +0.000766667 0.000793333 0.000786667 0.000773333 0.000726667 0.000706667 0.0007 0.00072 +0.000733333 0.000746667 0.000726667 0.00072 0.000706667 0.000706667 0.00072 0.00076 +0.000753333 0.00072 0.00072 0.000706667 0.000706667 0.000713333 0.000706667 0.000706667 +0.000706667 0.000713333 0.000706667 0.000726667 0.00074 0.000733333 0.00072 0.000706667 +0.0007 0.000693333 0.000693333 0.00072 0.000733333 0.000713333 0.000706667 0.0007 +0.0007 0.00072 0.00072 0.000713333 0.000726667 0.000713333 0.000706667 0.000693333 +0.00068 0.000693333 0.000706667 0.00072 0.00072 0.000726667 0.000726667 0.00072 +0.000706667 0.00072 0.00074 0.000726667 0.00072 0.000753333 0.000753333 0.00074 +0.00076 0.000733333 0.000726667 0.000753333 0.000766667 0.000766667 0.000766667 0.000786667 +0.00078 0.000806667 0.000853333 0.240613 0.33528 0.327707 0.263333 0.282267 +0.361787 0.522105 0.704 0.913684 0.988816 0.980327 0.954737 0.944632 +0.942105 0.940842 0.947158 0.955368 0.966105 0.983592 0.995347 1.00318 +1.00547 1.00449 1.00351 1.0009 0.994694 0.988163 0.986857 0.988163 +0.986531 0.958526 0.848 0.652842 0.503789 0.371253 0.342853 0.33528 +0.339067 0.34096 0.354213 0.39208 0.428053 0.39208 0.348533 0.320133 +0.31824 0.327707 0.3296 0.314453 0.297413 0.3012 0.327707 0.331493 +0.3012 0.286053 0.287947 0.287947 0.282267 0.274693 0.280373 0.280373 +0.28984 0.293627 0.287947 0.274693 0.2728 0.276587 0.287947 0.286053 +0.280373 0.286053 0.291733 0.287947 0.282267 0.280373 0.28984 0.303093 +0.31256 0.310667 0.31256 0.316347 0.314453 0.322027 0.350427 0.382613 +0.39776 0.395867 0.411013 0.445093 0.475387 0.44888 0.390187 0.361787 +0.35232 0.32392 0.297413 0.29552 0.28984 0.280373 0.287947 0.287947 +0.293627 0.322027 0.365573 0.359893 0.325813 0.31824 0.322027 0.325813 +0.31824 0.31256 0.316347 0.365573 0.526526 0.611789 0.585895 0.510737 +0.45456 0.390187 0.358 0.405333 0.486747 0.510105 0.513263 0.500632 +0.4432 0.412907 0.393973 0.384507 0.38072 0.365573 0.367467 0.388293 +0.411013 0.429947 0.46024 0.481067 0.492427 0.48296 0.467813 0.479173 +0.500632 0.515789 0.602947 0.783579 0.949684 1.00482 1.01984 1.02833 +1.0329 1.03551 1.03714 1.04171 1.04955 1.05216 1.04988 1.0489 +1.04857 1.04824 1.04759 1.04694 1.04955 1.0551 1.06456 1.07065 +1.0538 1.05216 1.05314 1.04857 1.04367 1.03812 1.03322 1.03029 +1.03192 1.0342 1.03388 1.03322 1.03322 1.03518 1.03486 1.0342 +1.0342 1.03551 1.04171 1.04302 1.04237 1.04302 1.04433 1.04465 +1.044 1.04335 1.04433 1.04563 1.04433 1.04433 1.04465 1.04302 +1.04269 1.04759 1.04727 1.04498 1.04498 1.04531 1.04139 1.04106 +1.04008 1.03943 1.04335 1.04335 1.04139 1.04498 1.04531 1.04237 +1.04302 1.04073 1.04139 1.04008 1.03845 1.03845 1.03812 1.03616 +1.03551 1.0342 1.0329 1.03029 1.03224 1.03127 1.02735 1.02669 +1.02604 1.02702 1.02702 1.02637 1.03029 1.03061 1.03029 1.03029 +1.03159 1.0329 1.0342 1.03192 1.03159 1.02996 1.0329 1.03486 +1.03061 1.03159 1.03453 1.0342 1.03551 1.03486 1.0378 1.04171 +1.04237 1.04335 1.0489 1.04922 1.04269 1.04237 1.04302 1.04433 +1.04694 1.04694 1.04531 1.04367 1.04629 1.04563 1.04563 1.04857 +1.04727 1.04694 1.04857 1.04727 1.04629 1.04498 1.04367 1.04596 +1.04531 1.03812 1.0378 1.0391 1.04008 1.04171 1.04171 1.03943 +1.03976 1.03878 1.03682 1.0378 1.04171 1.04269 1.04204 1.04106 +1.0391 1.03682 1.03714 1.03584 1.03094 1.02996 1.02898 1.02669 +1.02669 1.02571 1.02212 1.01722 1.0022 0.947158 0.806947 0.633263 +0.490533 0.303093 0.2444 0.23304 0.248187 0.269013 0.27848 0.282267 +0.31256 0.376933 0.373147 0.327707 0.29552 0.27848 0.282267 0.282267 +0.297413 0.316347 0.310667 0.286053 0.280373 0.291733 0.325813 0.37504 +0.361787 0.327707 0.310667 0.29552 0.287947 0.282267 0.286053 0.286053 +0.287947 0.304987 0.32392 0.339067 0.344747 0.3296 0.31256 0.303093 +0.325813 0.399653 0.48296 0.46024 0.4148 0.371253 0.331493 0.33528 +0.359893 0.361787 0.35232 0.34664 0.348533 0.36368 0.39776 0.469707 +0.575158 0.735579 0.878947 0.947158 0.974316 0.983918 0.991102 0.993714 +0.994041 0.986531 0.978105 0.975579 0.973053 0.964211 0.954737 0.952211 +0.947158 0.948421 0.955368 0.966105 0.974316 0.964211 0.954105 0.955368 +0.954105 0.944 0.950947 0.966737 0.984898 0.968 0.820842 0.614316 +0.479173 0.39208 0.339067 0.25576 0.000966667 0.000893333 0.00086 0.00084 +0.000833333 0.000833333 0.00082 0.000786667 0.000786667 0.00078 0.000773333 0.0008 +0.000793333 0.000793333 0.0008 0.00076 0.000773333 0.000766667 0.00072 0.00072 +0.000726667 0.00076 0.000793333 0.00076 0.00072 0.00074 0.000766667 0.000746667 +0.000746667 0.000753333 0.000753333 0.00074 0.000753333 0.00076 0.000773333 0.000773333 +0.00078 0.000773333 0.000766667 0.000753333 0.000746667 0.000726667 0.00072 0.000713333 +0.000706667 0.000726667 0.000746667 0.000753333 0.000746667 0.000726667 0.0007 0.000686667 +0.000706667 0.0007 0.0007 0.000713333 0.00072 0.00072 0.000726667 0.000726667 +0.000733333 0.000706667 0.000686667 0.0007 0.00074 0.00074 0.000713333 0.0007 +0.000713333 0.000713333 0.000693333 0.0007 0.000713333 0.000706667 0.00072 0.00072 +0.0007 0.0007 0.000693333 0.000686667 0.000693333 0.000706667 0.00072 0.000713333 +0.000706667 0.0007 0.0007 0.00068 0.00068 0.0007 0.000706667 0.000733333 +0.000733333 0.0007 0.000713333 0.000713333 0.000713333 0.000746667 0.000766667 0.000766667 +0.00076 0.000746667 0.000766667 0.000786667 0.000753333 0.000733333 0.00076 0.0008 +0.000826667 0.000826667 0.000933333 0.28984 0.34664 0.28984 0.26712 0.325813 +0.43752 0.605474 0.827158 0.978105 0.985224 0.961684 0.947158 0.942105 +0.942105 0.945263 0.952211 0.957263 0.969263 0.987184 0.998939 1.00547 +1.00514 1.00253 1.0009 0.997633 0.991102 0.986857 0.986204 0.986857 +0.978737 0.923158 0.781684 0.592842 0.446987 0.359893 0.3296 0.320133 +0.33528 0.371253 0.411013 0.42048 0.424267 0.418587 0.38072 0.342853 +0.333387 0.331493 0.316347 0.303093 0.3012 0.32392 0.359893 0.339067 +0.29552 0.280373 0.276587 0.291733 0.29552 0.280373 0.274693 0.27848 +0.274693 0.27848 0.274693 0.270907 0.2728 0.2728 0.274693 0.28416 +0.286053 0.286053 0.28984 0.293627 0.287947 0.287947 0.291733 0.299307 +0.31256 0.31256 0.30688 0.297413 0.28416 0.291733 0.308773 0.337173 +0.378827 0.428053 0.42616 0.39776 0.382613 0.348533 0.31824 0.322027 +0.337173 0.3296 0.303093 0.291733 0.28984 0.297413 0.3012 0.308773 +0.304987 0.303093 0.314453 0.325813 0.31824 0.31824 0.327707 0.325813 +0.314453 0.30688 0.3012 0.322027 0.4716 0.573895 0.578947 0.513895 +0.458347 0.411013 0.36936 0.450773 0.536 0.541684 0.519579 0.503158 +0.445093 0.388293 0.356107 0.35232 0.356107 0.356107 0.365573 0.384507 +0.4148 0.424267 0.435627 0.45456 0.481067 0.498107 0.490533 0.486747 +0.492427 0.525263 0.638947 0.825895 0.968632 1.00351 1.0169 1.02833 +1.03486 1.03845 1.04041 1.04269 1.04792 1.04988 1.04792 1.04498 +1.04563 1.04629 1.04563 1.04563 1.05053 1.05641 1.05902 1.07369 +1.05935 1.0538 1.05216 1.0489 1.04531 1.03943 1.03518 1.0329 +1.03192 1.03453 1.03584 1.03486 1.03257 1.0342 1.03355 1.03322 +1.03355 1.03355 1.04171 1.04563 1.04302 1.04269 1.04433 1.04531 +1.04563 1.04433 1.04367 1.04498 1.04465 1.04302 1.04302 1.044 +1.04367 1.04498 1.044 1.04139 1.04171 1.04596 1.04367 1.04204 +1.04237 1.04106 1.04367 1.04367 1.04139 1.04661 1.04629 1.03878 +1.0391 1.03943 1.04073 1.04008 1.0378 1.03682 1.03584 1.03584 +1.03747 1.03584 1.03224 1.02833 1.03029 1.02963 1.02604 1.02637 +1.02473 1.02637 1.02637 1.02539 1.02996 1.03094 1.03192 1.03127 +1.02996 1.03257 1.03453 1.03159 1.03061 1.03061 1.0342 1.03486 +1.03192 1.03159 1.03224 1.03518 1.03584 1.03551 1.04073 1.04465 +1.04629 1.04629 1.04759 1.04922 1.04661 1.04531 1.04498 1.044 +1.04563 1.04792 1.04563 1.04694 1.04922 1.04302 1.04367 1.04792 +1.04596 1.04465 1.04792 1.04792 1.04629 1.04531 1.04433 1.04596 +1.04171 1.03584 1.03812 1.04008 1.04204 1.04237 1.03976 1.0378 +1.03878 1.03943 1.03976 1.04008 1.04106 1.03878 1.04008 1.04269 +1.04106 1.03812 1.03486 1.03322 1.03127 1.03127 1.02996 1.02735 +1.02571 1.02441 1.02212 1.01918 1.00253 0.944 0.804421 0.630737 +0.486747 0.314453 0.259547 0.22736 0.236827 0.26712 0.269013 0.253867 +0.28984 0.3864 0.40344 0.320133 0.27848 0.270907 0.282267 0.293627 +0.29552 0.299307 0.297413 0.280373 0.2728 0.28984 0.3296 0.365573 +0.344747 0.3296 0.331493 0.3012 0.280373 0.276587 0.27848 0.280373 +0.286053 0.297413 0.30688 0.344747 0.365573 0.331493 0.314453 0.320133 +0.350427 0.428053 0.503158 0.49432 0.450773 0.4148 0.382613 0.367467 +0.348533 0.342853 0.34096 0.358 0.367467 0.373147 0.395867 0.4432 +0.539158 0.681895 0.842947 0.933263 0.967368 0.981633 0.989796 0.993714 +0.993714 0.988163 0.980327 0.98 0.978105 0.968632 0.956 0.950316 +0.947158 0.947158 0.952211 0.959158 0.965474 0.964211 0.957263 0.957263 +0.961053 0.952842 0.950947 0.952211 0.968632 0.984571 0.920632 0.733053 +0.554316 0.433733 0.376933 0.304987 0.219787 0.000893333 0.000866667 0.000866667 +0.000853333 0.000846667 0.00084 0.000793333 0.000793333 0.00078 0.000773333 0.000833333 +0.000846667 0.000833333 0.000806667 0.000766667 0.00076 0.000773333 0.000766667 0.000773333 +0.00076 0.000746667 0.000766667 0.00076 0.00074 0.000746667 0.000746667 0.000733333 +0.00074 0.000766667 0.000753333 0.00076 0.000746667 0.00076 0.000733333 0.000733333 +0.000726667 0.000713333 0.000753333 0.00078 0.000726667 0.000733333 0.00074 0.00074 +0.000713333 0.000693333 0.000706667 0.000713333 0.000726667 0.000733333 0.000733333 0.000733333 +0.000726667 0.000706667 0.000686667 0.000686667 0.000713333 0.00072 0.00072 0.00074 +0.000746667 0.00072 0.000706667 0.000706667 0.000713333 0.000726667 0.000713333 0.000713333 +0.000726667 0.000726667 0.000713333 0.0007 0.000706667 0.000706667 0.000686667 0.000693333 +0.000686667 0.000686667 0.0007 0.000713333 0.000686667 0.00068 0.0007 0.000706667 +0.000713333 0.00072 0.000713333 0.000706667 0.000706667 0.000693333 0.000666667 0.000706667 +0.000733333 0.00072 0.000726667 0.000726667 0.00072 0.000726667 0.000733333 0.000733333 +0.000746667 0.00074 0.000753333 0.000786667 0.00078 0.000766667 0.000773333 0.000786667 +0.000793333 0.000833333 0.236827 0.33528 0.333387 0.26712 0.286053 0.36368 +0.530947 0.725474 0.933263 0.991755 0.976211 0.952842 0.944632 0.940842 +0.943368 0.950316 0.957895 0.963579 0.977474 0.990776 1.00155 1.00482 +1.00318 1.0022 1.0009 0.995673 0.989796 0.987184 0.986531 0.984898 +0.963579 0.880842 0.710947 0.541053 0.40344 0.358 0.344747 0.333387 +0.339067 0.36936 0.390187 0.373147 0.358 0.367467 0.367467 0.350427 +0.331493 0.316347 0.3012 0.299307 0.3012 0.350427 0.395867 0.361787 +0.31824 0.303093 0.28984 0.291733 0.303093 0.293627 0.282267 0.286053 +0.287947 0.270907 0.269013 0.276587 0.274693 0.269013 0.265227 0.269013 +0.28416 0.293627 0.299307 0.304987 0.299307 0.299307 0.299307 0.291733 +0.299307 0.316347 0.320133 0.29552 0.280373 0.291733 0.304987 0.325813 +0.39208 0.46592 0.4148 0.322027 0.29552 0.291733 0.29552 0.297413 +0.314453 0.316347 0.299307 0.28416 0.28984 0.30688 0.325813 0.3296 +0.31256 0.29552 0.291733 0.299307 0.304987 0.310667 0.31824 0.31824 +0.314453 0.299307 0.28984 0.29552 0.390187 0.533474 0.563789 0.530316 +0.517053 0.515158 0.504421 0.527789 0.575789 0.553684 0.502526 0.446987 +0.4148 0.384507 0.365573 0.373147 0.36936 0.36368 0.36936 0.378827 +0.40912 0.43184 0.433733 0.433733 0.44888 0.479173 0.505053 0.510737 +0.512 0.547368 0.676842 0.853684 0.974316 1.00384 1.01755 1.02702 +1.03192 1.03682 1.04171 1.04204 1.04367 1.04759 1.04857 1.04563 +1.04498 1.04661 1.04759 1.0489 1.05347 1.05869 1.05869 1.06304 +1.05804 1.05314 1.05184 1.04824 1.04596 1.04204 1.03714 1.03355 +1.03029 1.03257 1.03453 1.03616 1.03486 1.03649 1.03649 1.03257 +1.03257 1.0342 1.03943 1.04302 1.04106 1.04073 1.044 1.04433 +1.04563 1.04694 1.04629 1.04563 1.04302 1.04171 1.04171 1.04237 +1.04302 1.04531 1.04563 1.04269 1.04204 1.04465 1.04335 1.04171 +1.04171 1.04204 1.04269 1.04041 1.04106 1.04727 1.04531 1.03845 +1.0391 1.04073 1.04204 1.03943 1.03747 1.03682 1.03518 1.03584 +1.03584 1.03518 1.03061 1.02702 1.02931 1.02931 1.02767 1.028 +1.02735 1.02865 1.03061 1.02865 1.02833 1.02898 1.03257 1.03257 +1.02963 1.03061 1.03257 1.03192 1.03192 1.03224 1.03616 1.03486 +1.03257 1.03127 1.03159 1.03584 1.03616 1.0391 1.04531 1.04465 +1.04465 1.04759 1.04824 1.04759 1.04727 1.04792 1.04955 1.04694 +1.04596 1.04824 1.04727 1.04824 1.0502 1.04727 1.04727 1.04694 +1.04596 1.04661 1.04857 1.04759 1.04629 1.04498 1.04465 1.04465 +1.04041 1.03747 1.0391 1.03943 1.03976 1.04041 1.04008 1.04073 +1.03878 1.03714 1.03943 1.04106 1.03845 1.03649 1.03845 1.04008 +1.04073 1.03845 1.03518 1.0342 1.03355 1.03094 1.02865 1.02833 +1.02571 1.02604 1.02571 1.02278 1.00645 0.947789 0.800632 0.623158 +0.47728 0.322027 0.291733 0.265227 0.269013 0.297413 0.282267 0.246293 +0.2728 0.39208 0.412907 0.308773 0.265227 0.274693 0.287947 0.293627 +0.308773 0.310667 0.30688 0.28416 0.263333 0.28416 0.31824 0.33528 +0.31824 0.299307 0.308773 0.304987 0.280373 0.27848 0.276587 0.274693 +0.282267 0.291733 0.303093 0.344747 0.376933 0.344747 0.322027 0.33528 +0.376933 0.462133 0.503158 0.452667 0.399653 0.3864 0.378827 0.38072 +0.361787 0.344747 0.339067 0.35232 0.367467 0.39208 0.4148 0.422373 +0.506947 0.621895 0.791789 0.912421 0.959789 0.978105 0.986531 0.990776 +0.990776 0.98751 0.982612 0.983265 0.981633 0.969895 0.958526 0.950947 +0.948421 0.949684 0.951579 0.956 0.962947 0.963579 0.961053 0.961053 +0.966737 0.960421 0.951579 0.944632 0.951579 0.980653 0.978737 0.86 +0.659158 0.515789 0.416693 0.367467 0.26712 0.00096 0.000926667 0.000906667 +0.000873333 0.000866667 0.000853333 0.00082 0.000826667 0.000806667 0.000793333 0.000813333 +0.000786667 0.000773333 0.00076 0.00076 0.00078 0.00078 0.000773333 0.00078 +0.00078 0.000786667 0.00078 0.000773333 0.000753333 0.00074 0.000733333 0.00074 +0.00078 0.00078 0.000773333 0.000753333 0.000733333 0.00076 0.000746667 0.000746667 +0.000746667 0.000753333 0.000746667 0.000746667 0.00072 0.00072 0.000726667 0.00072 +0.000726667 0.00072 0.000726667 0.00072 0.000713333 0.000713333 0.000726667 0.00074 +0.00076 0.00076 0.000733333 0.0007 0.000693333 0.000693333 0.000686667 0.0007 +0.000726667 0.000733333 0.000733333 0.000713333 0.0007 0.0007 0.000706667 0.000713333 +0.000733333 0.00074 0.000733333 0.00072 0.00072 0.000726667 0.0007 0.000706667 +0.000706667 0.000693333 0.0007 0.000713333 0.000713333 0.0007 0.000706667 0.000713333 +0.0007 0.000706667 0.0007 0.000713333 0.000733333 0.000733333 0.000706667 0.000693333 +0.00072 0.000713333 0.000726667 0.000753333 0.00074 0.00072 0.00074 0.00074 +0.00076 0.000753333 0.000733333 0.00078 0.0008 0.0008 0.000786667 0.000806667 +0.000813333 0.0009 0.276587 0.339067 0.291733 0.253867 0.316347 0.456453 +0.624421 0.849263 0.985551 0.98849 0.964211 0.950947 0.945263 0.942737 +0.949053 0.957263 0.964842 0.973053 0.984571 0.99698 1.00547 1.00449 +1.00188 1.00286 1.00024 0.995673 0.990776 0.98751 0.985224 0.978105 +0.938947 0.829053 0.645895 0.505053 0.373147 0.359893 0.361787 0.33528 +0.327707 0.331493 0.316347 0.293627 0.293627 0.304987 0.331493 0.33528 +0.322027 0.308773 0.30688 0.303093 0.310667 0.359893 0.40912 0.388293 +0.348533 0.327707 0.31256 0.297413 0.297413 0.29552 0.286053 0.28984 +0.291733 0.270907 0.259547 0.265227 0.269013 0.263333 0.25576 0.25008 +0.27848 0.31256 0.32392 0.32392 0.304987 0.299307 0.303093 0.29552 +0.297413 0.322027 0.333387 0.304987 0.28416 0.291733 0.308773 0.359893 +0.467813 0.509474 0.42616 0.316347 0.282267 0.280373 0.291733 0.297413 +0.304987 0.30688 0.286053 0.27848 0.287947 0.303093 0.325813 0.33528 +0.308773 0.28984 0.293627 0.299307 0.304987 0.308773 0.31256 0.316347 +0.304987 0.29552 0.28984 0.299307 0.35232 0.502526 0.554947 0.585263 +0.613053 0.62 0.593474 0.582105 0.582737 0.539789 0.479173 0.4148 +0.407227 0.439413 0.439413 0.428053 0.39776 0.37504 0.36936 0.36936 +0.39776 0.435627 0.428053 0.424267 0.441307 0.473493 0.505684 0.515158 +0.520211 0.566947 0.707158 0.875158 0.981959 1.00971 1.02278 1.02865 +1.03257 1.03616 1.04139 1.04302 1.04204 1.04498 1.04629 1.04498 +1.04465 1.04727 1.05053 1.05282 1.05445 1.05673 1.05706 1.05869 +1.05673 1.05282 1.05445 1.05086 1.04727 1.04531 1.04139 1.03714 +1.03355 1.03355 1.03388 1.03486 1.0329 1.03551 1.0391 1.03518 +1.03322 1.03453 1.03486 1.0391 1.03943 1.03976 1.04433 1.04237 +1.04302 1.04759 1.04792 1.04531 1.04237 1.04237 1.04335 1.04237 +1.04139 1.04433 1.04465 1.04204 1.04237 1.04335 1.04204 1.04106 +1.04041 1.04171 1.04269 1.03714 1.03845 1.04563 1.04302 1.03943 +1.04204 1.04139 1.04106 1.03878 1.0391 1.03943 1.03649 1.03682 +1.03355 1.03257 1.03029 1.02898 1.028 1.02702 1.02996 1.02833 +1.02669 1.02865 1.03159 1.03094 1.03061 1.02865 1.03094 1.03322 +1.03192 1.03224 1.03322 1.03224 1.03127 1.03224 1.03616 1.03551 +1.03453 1.0329 1.03388 1.04073 1.04106 1.04204 1.04465 1.04302 +1.04269 1.04433 1.04531 1.04629 1.04661 1.04792 1.04988 1.04955 +1.04824 1.04727 1.04824 1.0502 1.04759 1.04824 1.04857 1.04661 +1.04661 1.04824 1.04792 1.04465 1.04367 1.04465 1.04563 1.04171 +1.03682 1.03649 1.0391 1.04073 1.04008 1.03878 1.0391 1.04106 +1.0391 1.03616 1.03878 1.03976 1.03714 1.03812 1.03943 1.03747 +1.03747 1.03747 1.03649 1.03518 1.0329 1.03127 1.02865 1.02767 +1.02669 1.02735 1.02669 1.02278 1.00808 0.953474 0.798105 0.612421 +0.456453 0.310667 0.293627 0.303093 0.32392 0.322027 0.286053 0.251973 +0.26712 0.384507 0.4148 0.314453 0.276587 0.28984 0.30688 0.31256 +0.331493 0.337173 0.327707 0.3012 0.282267 0.293627 0.299307 0.293627 +0.291733 0.28416 0.28984 0.304987 0.29552 0.287947 0.282267 0.287947 +0.293627 0.293627 0.29552 0.333387 0.388293 0.378827 0.34664 0.356107 +0.422373 0.496213 0.467813 0.365573 0.314453 0.32392 0.348533 0.367467 +0.365573 0.34664 0.339067 0.348533 0.365573 0.405333 0.424267 0.399653 +0.4432 0.565684 0.728 0.880842 0.950947 0.974947 0.983918 0.989143 +0.989143 0.98751 0.986857 0.986857 0.985551 0.971158 0.956632 0.950947 +0.949053 0.951579 0.952842 0.957895 0.966737 0.966737 0.968 0.970526 +0.975579 0.968632 0.954737 0.947158 0.945895 0.967368 0.986531 0.950316 +0.785474 0.585895 0.464027 0.399653 0.325813 0.229253 0.000933333 0.000913333 +0.000873333 0.000866667 0.00086 0.00082 0.0008 0.000766667 0.00076 0.000773333 +0.00074 0.000733333 0.00076 0.00078 0.00078 0.000766667 0.000773333 0.00078 +0.000793333 0.000813333 0.0008 0.00076 0.000733333 0.000753333 0.000766667 0.000773333 +0.000773333 0.000753333 0.00074 0.000713333 0.00072 0.00076 0.000766667 0.00076 +0.000766667 0.00076 0.000733333 0.000726667 0.00074 0.00074 0.000746667 0.000733333 +0.000713333 0.000726667 0.000733333 0.000726667 0.000726667 0.000726667 0.000726667 0.000713333 +0.00072 0.00074 0.000753333 0.000746667 0.000733333 0.000726667 0.000726667 0.00072 +0.0007 0.0007 0.000713333 0.000733333 0.00074 0.000733333 0.000713333 0.000706667 +0.000706667 0.000726667 0.000746667 0.00074 0.00074 0.00074 0.000726667 0.000726667 +0.00072 0.0007 0.0007 0.0007 0.000693333 0.000693333 0.000713333 0.000733333 +0.000726667 0.000706667 0.000686667 0.000686667 0.0007 0.00072 0.000713333 0.0007 +0.00072 0.00072 0.000713333 0.00074 0.00072 0.000726667 0.000766667 0.000766667 +0.000753333 0.000753333 0.000733333 0.000753333 0.000786667 0.000793333 0.000786667 0.000806667 +0.00084 0.231147 0.3296 0.337173 0.259547 0.257653 0.358 0.548632 +0.748211 0.944632 0.993061 0.98 0.956 0.949053 0.943368 0.947158 +0.957263 0.964842 0.972421 0.979368 0.987837 1.00057 1.0058 1.00318 +1.00188 1.0009 0.997959 0.99502 0.988816 0.984571 0.980327 0.962316 +0.908632 0.772842 0.589684 0.4432 0.36368 0.371253 0.365573 0.316347 +0.297413 0.3012 0.28984 0.287947 0.291733 0.293627 0.310667 0.30688 +0.293627 0.29552 0.30688 0.310667 0.314453 0.350427 0.390187 0.412907 +0.40344 0.37504 0.350427 0.316347 0.297413 0.28984 0.269013 0.269013 +0.269013 0.26144 0.253867 0.248187 0.259547 0.269013 0.26144 0.259547 +0.29552 0.342853 0.367467 0.373147 0.34096 0.310667 0.297413 0.286053 +0.287947 0.304987 0.320133 0.308773 0.287947 0.293627 0.339067 0.46024 +0.536 0.534105 0.435627 0.327707 0.29552 0.280373 0.28416 0.282267 +0.293627 0.297413 0.28984 0.27848 0.282267 0.29552 0.322027 0.339067 +0.320133 0.316347 0.320133 0.310667 0.314453 0.325813 0.331493 0.322027 +0.29552 0.280373 0.291733 0.308773 0.339067 0.418587 0.527789 0.594737 +0.645895 0.647158 0.606105 0.567579 0.540421 0.511368 0.475387 0.42048 +0.42048 0.47728 0.498107 0.47728 0.43752 0.40344 0.37504 0.373147 +0.390187 0.416693 0.418587 0.43184 0.48296 0.498107 0.496213 0.49432 +0.511368 0.577684 0.728 0.892211 0.986857 1.01461 1.02669 1.02865 +1.0329 1.0378 1.04139 1.04465 1.04367 1.04498 1.04498 1.04367 +1.04302 1.04465 1.0489 1.05347 1.0538 1.05412 1.05576 1.05804 +1.05902 1.05478 1.0538 1.05053 1.04694 1.04596 1.04302 1.04008 +1.03845 1.03649 1.03518 1.03486 1.03388 1.03584 1.03878 1.03551 +1.03388 1.03388 1.03388 1.03812 1.04008 1.03845 1.04139 1.04237 +1.04204 1.04531 1.04629 1.04498 1.04433 1.04302 1.04335 1.04465 +1.04335 1.04335 1.04367 1.04106 1.04106 1.04204 1.04106 1.03976 +1.04073 1.04237 1.04596 1.04073 1.0391 1.04596 1.044 1.03976 +1.04498 1.04367 1.04041 1.0378 1.0378 1.0378 1.03355 1.03355 +1.03127 1.03061 1.028 1.02833 1.028 1.02506 1.02865 1.02702 +1.02376 1.02735 1.03159 1.03127 1.03192 1.03094 1.02996 1.03127 +1.03159 1.03257 1.03388 1.03551 1.03257 1.03192 1.03388 1.0342 +1.03616 1.03812 1.0391 1.04302 1.04465 1.04661 1.04563 1.04465 +1.04727 1.04531 1.04204 1.04433 1.04857 1.04922 1.0489 1.0489 +1.05053 1.04759 1.04857 1.05118 1.04727 1.04792 1.04857 1.04629 +1.04465 1.04596 1.04694 1.04302 1.04106 1.04367 1.04498 1.04073 +1.03649 1.03518 1.03812 1.04073 1.04171 1.04106 1.0378 1.03584 +1.03616 1.03747 1.04106 1.0378 1.03616 1.0391 1.03878 1.0378 +1.03714 1.03714 1.03682 1.03486 1.03257 1.03224 1.02865 1.02604 +1.02571 1.02604 1.02571 1.0231 1.00873 0.953474 0.792421 0.604842 +0.4432 0.3012 0.282267 0.303093 0.333387 0.304987 0.248187 0.234933 +0.280373 0.42048 0.46592 0.34664 0.299307 0.325813 0.365573 0.365573 +0.359893 0.34096 0.316347 0.30688 0.297413 0.291733 0.28984 0.2728 +0.280373 0.293627 0.28984 0.30688 0.31256 0.3012 0.297413 0.3012 +0.31824 0.304987 0.299307 0.322027 0.36368 0.3864 0.388293 0.429947 +0.490533 0.486747 0.393973 0.31256 0.29552 0.308773 0.34096 0.350427 +0.34096 0.3296 0.327707 0.350427 0.384507 0.424267 0.42616 0.3864 +0.401547 0.526526 0.666105 0.841053 0.939579 0.969263 0.981306 0.986857 +0.988816 0.98849 0.989143 0.990122 0.990449 0.981306 0.961684 0.952211 +0.951579 0.951579 0.952842 0.954737 0.962947 0.968632 0.969895 0.974316 +0.98 0.978105 0.964842 0.954105 0.947158 0.955368 0.978737 0.983592 +0.896632 0.692 0.525263 0.422373 0.367467 0.26144 0.000926667 0.000893333 +0.000866667 0.000873333 0.000866667 0.000846667 0.000813333 0.000786667 0.00078 0.00078 +0.000773333 0.00078 0.000786667 0.000773333 0.000773333 0.000793333 0.000813333 0.000786667 +0.000766667 0.000753333 0.000746667 0.000726667 0.00078 0.000826667 0.000786667 0.00074 +0.00072 0.000726667 0.000726667 0.000753333 0.00078 0.000786667 0.000766667 0.000746667 +0.00072 0.000693333 0.00072 0.000766667 0.000726667 0.000733333 0.000733333 0.000733333 +0.00072 0.00072 0.000713333 0.00072 0.000726667 0.00072 0.00072 0.000733333 +0.000726667 0.000726667 0.000726667 0.00072 0.000713333 0.000726667 0.000746667 0.000753333 +0.00074 0.000713333 0.000713333 0.000706667 0.00072 0.000733333 0.00074 0.000746667 +0.00074 0.000726667 0.000733333 0.000733333 0.000726667 0.00074 0.00074 0.000726667 +0.000733333 0.00072 0.000726667 0.000726667 0.000706667 0.0007 0.0007 0.000706667 +0.000713333 0.000706667 0.000713333 0.000726667 0.000706667 0.000706667 0.000706667 0.000686667 +0.000713333 0.000726667 0.0007 0.000713333 0.000713333 0.00072 0.000733333 0.000733333 +0.00074 0.000766667 0.00076 0.00076 0.000753333 0.000753333 0.00078 0.000826667 +0.000926667 0.282267 0.354213 0.310667 0.263333 0.303093 0.469707 0.647789 +0.867579 0.98751 0.990776 0.976842 0.957895 0.949053 0.945895 0.956 +0.966737 0.970526 0.976842 0.980327 0.98849 1.0009 1.00351 1.00188 +1.00155 0.997633 0.995673 0.992735 0.987184 0.981959 0.971158 0.945263 +0.873895 0.720421 0.551789 0.407227 0.354213 0.35232 0.34096 0.308773 +0.29552 0.303093 0.297413 0.291733 0.287947 0.293627 0.299307 0.287947 +0.27848 0.27848 0.29552 0.28984 0.293627 0.325813 0.37504 0.452667 +0.508842 0.512 0.475387 0.384507 0.32392 0.28984 0.25576 0.251973 +0.257653 0.259547 0.259547 0.251973 0.259547 0.274693 0.274693 0.287947 +0.344747 0.407227 0.46024 0.486747 0.46592 0.4148 0.36368 0.316347 +0.293627 0.293627 0.308773 0.304987 0.28984 0.308773 0.39776 0.519579 +0.554316 0.524632 0.418587 0.34096 0.310667 0.3012 0.293627 0.286053 +0.28416 0.28416 0.28416 0.28416 0.286053 0.304987 0.34096 0.36368 +0.34096 0.34096 0.348533 0.31824 0.308773 0.316347 0.325813 0.320133 +0.308773 0.3012 0.287947 0.282267 0.28416 0.31824 0.4148 0.512632 +0.544211 0.549895 0.537895 0.515158 0.490533 0.4716 0.458347 0.422373 +0.40344 0.411013 0.424267 0.422373 0.412907 0.405333 0.382613 0.378827 +0.393973 0.411013 0.43184 0.47728 0.508842 0.503789 0.46592 0.464027 +0.510105 0.587789 0.745053 0.902316 0.98751 1.01429 1.02735 1.02931 +1.03224 1.0378 1.04041 1.04335 1.04367 1.04498 1.04629 1.04629 +1.04531 1.04531 1.04922 1.05347 1.05445 1.05445 1.05543 1.05445 +1.05543 1.0538 1.05347 1.05249 1.0489 1.04563 1.04335 1.04008 +1.03878 1.0378 1.03649 1.03943 1.03976 1.03943 1.03845 1.03518 +1.03388 1.03486 1.03747 1.03943 1.03943 1.03845 1.04073 1.04139 +1.04041 1.04171 1.044 1.04661 1.04792 1.044 1.04269 1.04531 +1.04531 1.04367 1.04465 1.04171 1.04171 1.04335 1.04139 1.03845 +1.04106 1.04237 1.04629 1.04335 1.03943 1.04237 1.04237 1.03845 +1.04335 1.04302 1.03976 1.03649 1.03388 1.03453 1.03257 1.02931 +1.02735 1.03029 1.02702 1.02735 1.02898 1.02506 1.02539 1.02571 +1.02408 1.02865 1.03094 1.02898 1.03094 1.03159 1.02963 1.02865 +1.02963 1.03127 1.03192 1.0329 1.03322 1.03518 1.03551 1.03714 +1.03943 1.04302 1.044 1.04433 1.04433 1.04694 1.04857 1.04727 +1.04596 1.04629 1.04661 1.04596 1.04629 1.04759 1.04694 1.04629 +1.04922 1.04792 1.04694 1.04759 1.04727 1.04988 1.0489 1.04596 +1.044 1.04367 1.04335 1.04171 1.04171 1.04335 1.04204 1.03812 +1.03714 1.0378 1.04106 1.04269 1.03976 1.03845 1.03747 1.03584 +1.03551 1.03747 1.04041 1.03845 1.03551 1.03486 1.03486 1.03616 +1.03747 1.03845 1.03845 1.03747 1.03355 1.02996 1.02637 1.02735 +1.02865 1.02702 1.02473 1.02212 1.00906 0.950947 0.784842 0.596 +0.42048 0.293627 0.282267 0.291733 0.31256 0.293627 0.23872 0.217893 +0.26712 0.479173 0.530316 0.422373 0.3296 0.35232 0.390187 0.382613 +0.342853 0.3012 0.287947 0.291733 0.28984 0.274693 0.2728 0.27848 +0.28984 0.28984 0.28984 0.304987 0.308773 0.297413 0.299307 0.327707 +0.358 0.34096 0.31824 0.316347 0.32392 0.365573 0.446987 0.517684 +0.517053 0.428053 0.325813 0.3012 0.310667 0.303093 0.325813 0.333387 +0.325813 0.327707 0.314453 0.342853 0.401547 0.429947 0.412907 0.384507 +0.38072 0.486747 0.608 0.789263 0.924421 0.966105 0.980327 0.985878 +0.991102 0.991755 0.990776 0.992082 0.991429 0.984898 0.969263 0.959158 +0.961053 0.956 0.954105 0.954105 0.956 0.966105 0.969263 0.978737 +0.983918 0.983265 0.973684 0.959158 0.949053 0.951579 0.964842 0.984898 +0.968632 0.816421 0.606737 0.475387 0.401547 0.320133 0.234933 0.000926667 +0.000893333 0.000886667 0.000873333 0.000846667 0.000846667 0.00084 0.00082 0.000813333 +0.00082 0.000826667 0.000806667 0.000793333 0.0008 0.0008 0.000793333 0.000753333 +0.00074 0.00074 0.000753333 0.000766667 0.0008 0.000786667 0.00074 0.00072 +0.000726667 0.000733333 0.00076 0.00078 0.000773333 0.00074 0.000726667 0.000733333 +0.00074 0.000746667 0.000773333 0.00078 0.000733333 0.00074 0.000733333 0.00072 +0.000713333 0.00072 0.000706667 0.000713333 0.000706667 0.000713333 0.000706667 0.00072 +0.00072 0.000713333 0.000726667 0.00072 0.000706667 0.000693333 0.0007 0.0007 +0.000713333 0.000733333 0.000726667 0.0007 0.000693333 0.0007 0.000713333 0.00072 +0.000726667 0.00072 0.000726667 0.000733333 0.000726667 0.000733333 0.00074 0.000713333 +0.000713333 0.000706667 0.000726667 0.000726667 0.00072 0.000713333 0.0007 0.000693333 +0.000706667 0.000713333 0.000706667 0.000726667 0.000726667 0.000733333 0.00074 0.000726667 +0.000713333 0.000713333 0.000706667 0.000726667 0.00074 0.000733333 0.000746667 0.00076 +0.00076 0.000746667 0.000746667 0.00076 0.000766667 0.000766667 0.000786667 0.00084 +0.22168 0.32392 0.342853 0.2728 0.274693 0.365573 0.557474 0.767789 +0.952842 0.992408 0.985224 0.981306 0.970526 0.959158 0.957263 0.966105 +0.975579 0.981633 0.985224 0.986531 0.992735 0.999918 1.00057 1.00024 +0.99698 0.992408 0.992082 0.990122 0.984898 0.977474 0.961053 0.926947 +0.839789 0.68 0.530316 0.393973 0.344747 0.333387 0.33528 0.325813 +0.308773 0.308773 0.30688 0.29552 0.291733 0.291733 0.287947 0.287947 +0.282267 0.274693 0.276587 0.274693 0.282267 0.30688 0.354213 0.43752 +0.524 0.565684 0.566316 0.529684 0.46024 0.356107 0.286053 0.26712 +0.270907 0.27848 0.265227 0.263333 0.269013 0.27848 0.280373 0.303093 +0.36936 0.45456 0.518316 0.548 0.563158 0.555579 0.531579 0.479173 +0.378827 0.33528 0.325813 0.31256 0.291733 0.303093 0.382613 0.48864 +0.502526 0.418587 0.358 0.342853 0.325813 0.303093 0.297413 0.29552 +0.3012 0.299307 0.29552 0.293627 0.287947 0.299307 0.34096 0.358 +0.327707 0.32392 0.344747 0.339067 0.322027 0.322027 0.31824 0.310667 +0.322027 0.325813 0.286053 0.253867 0.251973 0.27848 0.320133 0.354213 +0.38072 0.4148 0.467813 0.473493 0.43184 0.4148 0.418587 0.407227 +0.390187 0.37504 0.371253 0.367467 0.367467 0.376933 0.38072 0.39208 +0.4148 0.422373 0.44888 0.503158 0.508842 0.492427 0.46024 0.464027 +0.509474 0.595368 0.757053 0.909263 0.988816 1.01363 1.02539 1.02898 +1.03224 1.03714 1.03976 1.04269 1.044 1.04433 1.04661 1.04857 +1.04988 1.05053 1.05086 1.05249 1.05347 1.05347 1.05445 1.05314 +1.0538 1.05282 1.05347 1.05412 1.04857 1.04498 1.04563 1.04041 +1.03845 1.0391 1.03682 1.04008 1.04008 1.0391 1.03714 1.03551 +1.03551 1.03682 1.03878 1.0391 1.03976 1.03976 1.04139 1.04041 +1.03747 1.03812 1.04041 1.04335 1.04629 1.04465 1.04302 1.04433 +1.04302 1.04302 1.04629 1.04335 1.04204 1.04433 1.04433 1.04171 +1.04269 1.04237 1.04531 1.044 1.04041 1.04237 1.04433 1.0391 +1.0391 1.03878 1.0378 1.03518 1.0329 1.03355 1.03518 1.03094 +1.02473 1.02735 1.02735 1.02833 1.02996 1.028 1.02735 1.02539 +1.02473 1.02963 1.03029 1.02767 1.02996 1.03192 1.03159 1.02963 +1.02833 1.03159 1.03518 1.03388 1.0329 1.03714 1.03714 1.03976 +1.04269 1.04433 1.04498 1.04759 1.04727 1.04563 1.04661 1.04694 +1.044 1.04498 1.04727 1.04727 1.04596 1.04465 1.04302 1.04465 +1.04792 1.04857 1.04759 1.04531 1.04465 1.04629 1.04629 1.04661 +1.04498 1.044 1.04302 1.04204 1.04335 1.04204 1.03845 1.03551 +1.03616 1.03812 1.04041 1.04073 1.03812 1.0378 1.03812 1.04073 +1.04302 1.03943 1.03714 1.03682 1.03649 1.03388 1.03388 1.03486 +1.03584 1.0378 1.03878 1.03747 1.03453 1.03094 1.02767 1.02669 +1.02865 1.02833 1.02637 1.0218 1.0071 0.939579 0.769684 0.585895 +0.411013 0.3012 0.291733 0.287947 0.304987 0.299307 0.253867 0.231147 +0.293627 0.518947 0.572632 0.510105 0.382613 0.356107 0.348533 0.344747 +0.32392 0.28984 0.286053 0.27848 0.274693 0.270907 0.270907 0.280373 +0.293627 0.28984 0.27848 0.286053 0.29552 0.297413 0.314453 0.361787 +0.395867 0.361787 0.333387 0.327707 0.327707 0.344747 0.46024 0.537895 +0.524 0.40912 0.3296 0.31824 0.320133 0.3012 0.299307 0.310667 +0.308773 0.31824 0.314453 0.356107 0.4432 0.45456 0.395867 0.371253 +0.367467 0.429947 0.565053 0.734947 0.894737 0.959789 0.977474 0.983592 +0.989796 0.992408 0.990776 0.991429 0.992408 0.987184 0.974947 0.966737 +0.969895 0.961053 0.952842 0.952211 0.952211 0.961053 0.969263 0.983265 +0.991755 0.990449 0.981306 0.964211 0.949053 0.945263 0.950316 0.973684 +0.986857 0.921263 0.729895 0.546105 0.441307 0.376933 0.274693 0.000946667 +0.000866667 0.00086 0.000866667 0.000853333 0.00086 0.000846667 0.000826667 0.000833333 +0.000826667 0.000826667 0.00084 0.000826667 0.000773333 0.000733333 0.000733333 0.000753333 +0.000766667 0.000766667 0.000766667 0.000773333 0.000766667 0.000753333 0.000746667 0.000773333 +0.0008 0.000806667 0.0008 0.00078 0.000766667 0.000753333 0.000766667 0.000786667 +0.00078 0.000773333 0.000753333 0.000726667 0.000726667 0.000733333 0.000733333 0.000733333 +0.00072 0.000726667 0.000726667 0.00072 0.0007 0.000706667 0.000706667 0.000713333 +0.000726667 0.00072 0.000713333 0.000713333 0.000726667 0.000706667 0.000693333 0.000686667 +0.000693333 0.0007 0.0007 0.0007 0.0007 0.0007 0.00072 0.000693333 +0.000686667 0.000693333 0.0007 0.000733333 0.00074 0.000746667 0.00076 0.00074 +0.000693333 0.000693333 0.000726667 0.00072 0.000713333 0.000706667 0.0007 0.00068 +0.0007 0.000713333 0.000693333 0.000686667 0.0007 0.000706667 0.00074 0.000733333 +0.000746667 0.00074 0.000713333 0.000706667 0.000713333 0.000713333 0.000746667 0.000773333 +0.000773333 0.000746667 0.00074 0.000746667 0.000753333 0.000773333 0.00082 0.000913333 +0.2728 0.358 0.316347 0.26144 0.31256 0.481067 0.656632 0.882737 +0.987837 0.986204 0.978105 0.978105 0.969895 0.964211 0.968632 0.979368 +0.98751 0.994041 0.998286 0.998286 1.00057 1.00122 0.999918 0.998939 +0.993714 0.989796 0.990449 0.98751 0.981306 0.969263 0.947789 0.905474 +0.806316 0.648421 0.518316 0.399653 0.359893 0.344747 0.359893 0.36368 +0.327707 0.310667 0.308773 0.299307 0.28984 0.287947 0.28416 0.29552 +0.287947 0.280373 0.27848 0.269013 0.27848 0.29552 0.333387 0.373147 +0.46592 0.541053 0.580842 0.582105 0.549895 0.49432 0.373147 0.320133 +0.30688 0.3012 0.276587 0.26712 0.27848 0.293627 0.29552 0.320133 +0.376933 0.452667 0.522105 0.566947 0.608632 0.636421 0.635158 0.596632 +0.544842 0.505684 0.4432 0.388293 0.342853 0.316347 0.33528 0.36936 +0.365573 0.325813 0.31256 0.327707 0.34096 0.325813 0.303093 0.3012 +0.304987 0.304987 0.303093 0.297413 0.291733 0.3012 0.337173 0.35232 +0.322027 0.31256 0.333387 0.339067 0.327707 0.333387 0.339067 0.331493 +0.3296 0.31824 0.280373 0.269013 0.276587 0.28984 0.30688 0.320133 +0.327707 0.337173 0.371253 0.405333 0.390187 0.371253 0.382613 0.388293 +0.3864 0.39208 0.378827 0.365573 0.358 0.354213 0.36368 0.393973 +0.422373 0.435627 0.4716 0.506947 0.500632 0.4716 0.467813 0.481067 +0.514526 0.602947 0.765895 0.915579 0.991429 1.01363 1.02245 1.02735 +1.0329 1.03747 1.03976 1.04335 1.04661 1.04661 1.04596 1.04694 +1.05118 1.05282 1.05086 1.04988 1.05282 1.05412 1.0551 1.05543 +1.05576 1.05412 1.05086 1.05118 1.04759 1.04498 1.04661 1.04204 +1.03878 1.03976 1.03943 1.04106 1.03878 1.0378 1.03747 1.0378 +1.0378 1.03812 1.0391 1.03845 1.04073 1.03976 1.04008 1.04139 +1.04041 1.04139 1.04106 1.04139 1.044 1.04563 1.044 1.044 +1.04139 1.04106 1.04498 1.04433 1.04335 1.04531 1.04433 1.04204 +1.04269 1.04139 1.04465 1.04367 1.04139 1.044 1.04531 1.03943 +1.03812 1.03812 1.0378 1.03486 1.03453 1.03257 1.03322 1.03486 +1.028 1.02702 1.02735 1.028 1.02702 1.028 1.03061 1.028 +1.028 1.02996 1.03029 1.03192 1.03224 1.03159 1.03224 1.0329 +1.03159 1.03061 1.0329 1.03486 1.03616 1.0391 1.03747 1.04139 +1.04498 1.044 1.04563 1.04922 1.04955 1.04661 1.04661 1.04596 +1.04563 1.04759 1.04759 1.04727 1.04792 1.04531 1.04269 1.04433 +1.04465 1.04596 1.04759 1.04727 1.04629 1.04498 1.04433 1.04531 +1.04563 1.04465 1.04498 1.04302 1.04204 1.03976 1.03584 1.03355 +1.03518 1.03714 1.03747 1.03714 1.03649 1.03747 1.0378 1.04073 +1.04433 1.04073 1.03616 1.03584 1.03714 1.03551 1.03616 1.03714 +1.0378 1.0378 1.03747 1.03486 1.03192 1.03159 1.03029 1.02735 +1.02833 1.02931 1.02767 1.02408 1.00612 0.929474 0.756421 0.578947 +0.407227 0.303093 0.3012 0.30688 0.31824 0.32392 0.28984 0.265227 +0.342853 0.522737 0.560632 0.510105 0.384507 0.3296 0.314453 0.314453 +0.310667 0.3012 0.297413 0.286053 0.265227 0.263333 0.27848 0.29552 +0.30688 0.297413 0.280373 0.282267 0.29552 0.30688 0.32392 0.384507 +0.429947 0.378827 0.331493 0.327707 0.33528 0.38072 0.496213 0.527789 +0.503789 0.399653 0.367467 0.359893 0.35232 0.3296 0.304987 0.29552 +0.29552 0.30688 0.325813 0.37504 0.450773 0.445093 0.37504 0.358 +0.367467 0.399653 0.531579 0.684421 0.861895 0.959789 0.981633 0.985224 +0.987184 0.988816 0.987184 0.988163 0.993388 0.988816 0.980327 0.971789 +0.974316 0.962947 0.954737 0.951579 0.952211 0.957263 0.965474 0.983265 +0.996327 0.997633 0.986857 0.970526 0.953474 0.944 0.941474 0.954737 +0.982939 0.978737 0.849895 0.635789 0.502526 0.412907 0.331493 0.22736 +0.0009 0.000846667 0.000846667 0.00082 0.0008 0.000786667 0.000793333 0.00082 +0.000826667 0.000833333 0.000846667 0.000826667 0.000793333 0.00076 0.000766667 0.00078 +0.000786667 0.000773333 0.000733333 0.000726667 0.000733333 0.000733333 0.000733333 0.000726667 +0.00074 0.000753333 0.000773333 0.000786667 0.000773333 0.00076 0.000766667 0.000773333 +0.00074 0.000726667 0.000733333 0.00076 0.00074 0.00074 0.000726667 0.000713333 +0.000706667 0.00072 0.000726667 0.000733333 0.00072 0.00072 0.000713333 0.000713333 +0.000733333 0.000753333 0.00074 0.000726667 0.000753333 0.000746667 0.000726667 0.000713333 +0.000726667 0.000746667 0.000726667 0.000706667 0.0007 0.000693333 0.000706667 0.000706667 +0.000713333 0.000706667 0.0007 0.0007 0.00068 0.000673333 0.000706667 0.000746667 +0.000706667 0.000686667 0.000693333 0.0007 0.000706667 0.000713333 0.000713333 0.000693333 +0.0007 0.000713333 0.000706667 0.000713333 0.000706667 0.000686667 0.000713333 0.000706667 +0.00072 0.00074 0.000726667 0.00072 0.000713333 0.000713333 0.00074 0.000753333 +0.000746667 0.00076 0.000773333 0.00078 0.000786667 0.000786667 0.00082 0.219787 +0.327707 0.365573 0.28984 0.27848 0.378827 0.563158 0.777263 0.962947 +0.991102 0.974316 0.961684 0.962316 0.961053 0.964842 0.978105 0.988816 +0.999265 1.00612 1.00971 1.01102 1.00939 1.00514 1.00155 0.998939 +0.992082 0.98849 0.988816 0.984245 0.973053 0.956 0.930737 0.876421 +0.758947 0.606105 0.500632 0.395867 0.37504 0.365573 0.388293 0.401547 +0.365573 0.337173 0.33528 0.31824 0.293627 0.287947 0.299307 0.310667 +0.28984 0.282267 0.276587 0.274693 0.287947 0.314453 0.325813 0.322027 +0.34664 0.424267 0.508842 0.534105 0.541053 0.517053 0.4432 0.376933 +0.342853 0.320133 0.3012 0.28984 0.291733 0.31256 0.3296 0.348533 +0.384507 0.42616 0.49432 0.534737 0.582737 0.632632 0.665474 0.662316 +0.634526 0.593474 0.553053 0.512632 0.435627 0.361787 0.331493 0.3296 +0.32392 0.3012 0.29552 0.314453 0.356107 0.354213 0.322027 0.299307 +0.286053 0.291733 0.29552 0.3012 0.31256 0.325813 0.348533 0.39208 +0.43184 0.433733 0.384507 0.344747 0.331493 0.333387 0.354213 0.35232 +0.34096 0.325813 0.297413 0.293627 0.293627 0.28416 0.28984 0.320133 +0.34664 0.33528 0.320133 0.342853 0.359893 0.34664 0.359893 0.373147 +0.376933 0.390187 0.378827 0.36936 0.38072 0.388293 0.393973 0.42048 +0.435627 0.441307 0.48864 0.506947 0.475387 0.452667 0.467813 0.492427 +0.523368 0.614947 0.774737 0.918737 0.989469 1.01102 1.02278 1.02996 +1.03551 1.04041 1.04237 1.044 1.04629 1.04661 1.04629 1.04727 +1.05151 1.05216 1.0502 1.04824 1.05216 1.0538 1.05216 1.0551 +1.05641 1.05445 1.05118 1.05053 1.0489 1.04498 1.04433 1.04237 +1.0391 1.03878 1.0391 1.04106 1.04041 1.03976 1.04041 1.04073 +1.03878 1.03878 1.03878 1.03845 1.04041 1.03976 1.04139 1.04269 +1.04465 1.04498 1.044 1.04335 1.04367 1.04596 1.04433 1.044 +1.04465 1.04367 1.04531 1.04433 1.04335 1.04661 1.04498 1.04367 +1.04237 1.04008 1.04335 1.04237 1.04008 1.04204 1.04302 1.03943 +1.03943 1.03845 1.03649 1.03388 1.03551 1.03453 1.03224 1.0329 +1.02898 1.02669 1.02637 1.02669 1.02637 1.028 1.03094 1.02702 +1.02767 1.03322 1.03584 1.03714 1.03486 1.03094 1.03322 1.03518 +1.03518 1.03584 1.03192 1.03518 1.04073 1.04367 1.04073 1.04367 +1.04661 1.04367 1.04563 1.04792 1.04596 1.04596 1.04824 1.04596 +1.04498 1.04824 1.04922 1.04824 1.04661 1.04433 1.04563 1.044 +1.04204 1.04367 1.04433 1.04596 1.04759 1.04661 1.04433 1.04335 +1.04498 1.04465 1.04367 1.04302 1.04204 1.04041 1.03584 1.0329 +1.03518 1.03845 1.0378 1.03649 1.03584 1.03616 1.03649 1.0378 +1.04008 1.03747 1.03453 1.03486 1.03682 1.03616 1.03812 1.0378 +1.0378 1.03714 1.03584 1.0342 1.03094 1.02898 1.02963 1.02833 +1.02931 1.02996 1.02767 1.02376 1.00449 0.924421 0.748842 0.573895 +0.401547 0.293627 0.282267 0.282267 0.29552 0.32392 0.316347 0.291733 +0.36368 0.504421 0.510737 0.439413 0.359893 0.320133 0.316347 0.304987 +0.293627 0.287947 0.293627 0.293627 0.274693 0.265227 0.28416 0.316347 +0.325813 0.299307 0.282267 0.29552 0.30688 0.303093 0.33528 0.424267 +0.475387 0.407227 0.34096 0.344747 0.390187 0.458347 0.506316 0.505684 +0.439413 0.38072 0.36936 0.36936 0.36936 0.354213 0.320133 0.304987 +0.303093 0.314453 0.342853 0.36936 0.388293 0.376933 0.354213 0.367467 +0.38072 0.388293 0.505053 0.637684 0.822737 0.945895 0.981633 0.986531 +0.986857 0.986857 0.985551 0.988816 0.99502 0.991755 0.984898 0.975579 +0.974947 0.966105 0.960421 0.961684 0.957895 0.958526 0.963579 0.980653 +0.99502 1.00024 0.990122 0.974947 0.961684 0.949684 0.942737 0.950947 +0.974316 0.989143 0.940842 0.750105 0.556211 0.433733 0.376933 0.280373 +0.000966667 0.00086 0.000833333 0.0008 0.000773333 0.000773333 0.000773333 0.000806667 +0.0008 0.000806667 0.000826667 0.0008 0.000786667 0.0008 0.00082 0.000786667 +0.000786667 0.000786667 0.000766667 0.000773333 0.000773333 0.00076 0.00072 0.000693333 +0.000693333 0.000733333 0.000793333 0.000793333 0.000766667 0.00076 0.000746667 0.00076 +0.000766667 0.000766667 0.000786667 0.00076 0.000753333 0.000773333 0.00078 0.000753333 +0.000733333 0.000713333 0.000713333 0.000733333 0.000713333 0.00072 0.00072 0.000713333 +0.000713333 0.00072 0.00072 0.000706667 0.00072 0.000733333 0.000726667 0.000713333 +0.000733333 0.00076 0.000753333 0.00074 0.000726667 0.000706667 0.0007 0.000706667 +0.00072 0.00072 0.00072 0.000726667 0.000713333 0.000686667 0.000686667 0.000706667 +0.0007 0.000693333 0.0007 0.000706667 0.000713333 0.000706667 0.000706667 0.000693333 +0.0007 0.000713333 0.000706667 0.000713333 0.000706667 0.000706667 0.00072 0.000713333 +0.000706667 0.000713333 0.00072 0.000726667 0.000733333 0.00072 0.000746667 0.000766667 +0.000746667 0.000753333 0.000746667 0.000773333 0.000813333 0.000826667 0.000886667 0.263333 +0.361787 0.3296 0.26144 0.310667 0.49432 0.662316 0.886526 0.988163 +0.982286 0.959789 0.949684 0.950316 0.959158 0.973684 0.986857 0.999592 +1.00906 1.01135 1.01233 1.01331 1.01167 1.00743 1.00384 1.00024 +0.993061 0.987837 0.986531 0.981306 0.966105 0.944632 0.914947 0.841053 +0.697053 0.551158 0.433733 0.373147 0.361787 0.36936 0.395867 0.42048 +0.411013 0.384507 0.367467 0.331493 0.303093 0.299307 0.314453 0.314453 +0.287947 0.280373 0.274693 0.276587 0.291733 0.31256 0.316347 0.29552 +0.287947 0.304987 0.342853 0.382613 0.422373 0.428053 0.395867 0.36368 +0.337173 0.31256 0.299307 0.3012 0.322027 0.34096 0.344747 0.344747 +0.359893 0.388293 0.435627 0.486747 0.518316 0.553053 0.586526 0.604211 +0.611789 0.606737 0.585895 0.553053 0.515158 0.435627 0.359893 0.325813 +0.30688 0.28984 0.282267 0.303093 0.34664 0.348533 0.327707 0.310667 +0.299307 0.29552 0.3012 0.310667 0.325813 0.333387 0.350427 0.4148 +0.519579 0.552421 0.516421 0.40344 0.350427 0.344747 0.350427 0.339067 +0.331493 0.3296 0.322027 0.314453 0.31824 0.30688 0.299307 0.3296 +0.354213 0.33528 0.310667 0.320133 0.356107 0.373147 0.373147 0.367467 +0.361787 0.36368 0.361787 0.36368 0.401547 0.48864 0.525263 0.523368 +0.490533 0.445093 0.47728 0.490533 0.46024 0.452667 0.462133 0.48864 +0.531579 0.628842 0.788632 0.92379 0.985878 1.00612 1.02114 1.03029 +1.0342 1.04041 1.04302 1.04335 1.04661 1.04661 1.04629 1.04694 +1.04922 1.0502 1.05118 1.05151 1.05314 1.0538 1.05184 1.0538 +1.05543 1.0538 1.05249 1.05412 1.05249 1.04792 1.04596 1.044 +1.04106 1.04041 1.03976 1.04073 1.04204 1.04237 1.04237 1.04106 +1.03845 1.03976 1.0391 1.03943 1.04041 1.03976 1.04106 1.04041 +1.04204 1.04237 1.04465 1.04563 1.04302 1.04498 1.04433 1.04367 +1.04563 1.04531 1.04563 1.04465 1.04139 1.04433 1.04433 1.044 +1.04139 1.03976 1.04367 1.04269 1.03976 1.03976 1.04008 1.03976 +1.0391 1.03812 1.0342 1.03192 1.0342 1.03714 1.0342 1.02931 +1.02669 1.02637 1.02669 1.02767 1.02767 1.02767 1.02898 1.02637 +1.02735 1.03388 1.0378 1.03845 1.0342 1.03127 1.03812 1.03845 +1.03584 1.03747 1.03453 1.03747 1.04335 1.04596 1.04335 1.04629 +1.04792 1.04563 1.04694 1.04727 1.04433 1.04367 1.04661 1.04759 +1.04694 1.04531 1.04596 1.04596 1.044 1.04237 1.04629 1.04596 +1.04465 1.04629 1.04498 1.04563 1.04759 1.04759 1.04694 1.04433 +1.04335 1.04335 1.04204 1.04106 1.04139 1.03878 1.03453 1.03322 +1.03616 1.03943 1.0391 1.03812 1.03812 1.03714 1.03714 1.03714 +1.03649 1.03682 1.03551 1.03551 1.03649 1.03649 1.03812 1.03682 +1.03518 1.03616 1.0342 1.03388 1.02996 1.02833 1.03061 1.03029 +1.02767 1.028 1.02898 1.02473 1.00318 0.916842 0.741263 0.572 +0.405333 0.299307 0.282267 0.274693 0.274693 0.287947 0.297413 0.291733 +0.354213 0.439413 0.412907 0.354213 0.333387 0.327707 0.325813 0.314453 +0.3012 0.29552 0.29552 0.28416 0.274693 0.26712 0.276587 0.308773 +0.34664 0.33528 0.308773 0.314453 0.30688 0.293627 0.359893 0.5 +0.515789 0.458347 0.40344 0.428053 0.473493 0.48296 0.452667 0.405333 +0.358 0.333387 0.33528 0.348533 0.358 0.350427 0.333387 0.320133 +0.31256 0.31824 0.3296 0.339067 0.33528 0.33528 0.34664 0.371253 +0.382613 0.388293 0.473493 0.597895 0.776 0.918737 0.973684 0.983918 +0.986204 0.986531 0.985224 0.990449 0.997959 0.997306 0.991102 0.981306 +0.974947 0.971789 0.969895 0.971158 0.968 0.961684 0.961684 0.974947 +0.987184 0.993388 0.986204 0.973684 0.966105 0.958526 0.949684 0.949053 +0.961053 0.984245 0.983592 0.863158 0.647158 0.505684 0.405333 0.333387 +0.23304 0.000906667 0.0009 0.000873333 0.000826667 0.00082 0.000826667 0.00082 +0.000806667 0.000813333 0.00082 0.00078 0.00074 0.00076 0.000793333 0.000766667 +0.00078 0.000786667 0.00078 0.00078 0.000766667 0.000746667 0.000766667 0.000773333 +0.000773333 0.00078 0.000793333 0.000773333 0.00076 0.000773333 0.000753333 0.000753333 +0.000753333 0.000746667 0.000746667 0.000726667 0.0007 0.000726667 0.000753333 0.000753333 +0.00074 0.000726667 0.00072 0.000726667 0.000706667 0.0007 0.000713333 0.000726667 +0.000733333 0.00072 0.00072 0.00072 0.00072 0.000706667 0.0007 0.000693333 +0.000713333 0.000713333 0.000706667 0.000706667 0.000713333 0.000713333 0.0007 0.000706667 +0.000713333 0.0007 0.00068 0.000693333 0.00072 0.000726667 0.000726667 0.00072 +0.000706667 0.000693333 0.0007 0.000726667 0.000733333 0.000733333 0.000726667 0.000713333 +0.00068 0.000693333 0.000693333 0.000686667 0.000693333 0.000693333 0.000706667 0.00072 +0.000726667 0.000733333 0.000733333 0.00072 0.000733333 0.00072 0.000733333 0.00076 +0.000773333 0.000786667 0.000753333 0.000746667 0.000793333 0.000833333 0.00098 0.31824 +0.373147 0.29552 0.259547 0.358 0.558105 0.774105 0.962947 0.989796 +0.968632 0.952211 0.945263 0.947789 0.964842 0.984571 0.997959 1.00939 +1.01396 1.01396 1.01396 1.01298 1.01069 1.00808 1.0058 1.00286 +0.996327 0.98849 0.982939 0.971158 0.955368 0.937053 0.897263 0.797474 +0.637053 0.510737 0.390187 0.348533 0.337173 0.342853 0.36368 0.39776 +0.424267 0.428053 0.384507 0.331493 0.31824 0.325813 0.327707 0.31256 +0.293627 0.2728 0.26712 0.26712 0.2728 0.28416 0.291733 0.276587 +0.265227 0.274693 0.28984 0.291733 0.3012 0.308773 0.322027 0.3296 +0.316347 0.310667 0.30688 0.32392 0.34664 0.34096 0.320133 0.314453 +0.337173 0.376933 0.399653 0.390187 0.3864 0.42616 0.467813 0.490533 +0.511368 0.528421 0.539789 0.545474 0.530947 0.484853 0.390187 0.34096 +0.310667 0.29552 0.28416 0.299307 0.325813 0.314453 0.30688 0.31824 +0.31256 0.299307 0.30688 0.31824 0.31256 0.320133 0.339067 0.367467 +0.481067 0.537895 0.528421 0.44888 0.371253 0.350427 0.344747 0.342853 +0.33528 0.32392 0.320133 0.32392 0.339067 0.371253 0.393973 0.39208 +0.365573 0.342853 0.3296 0.32392 0.361787 0.416693 0.411013 0.365573 +0.350427 0.348533 0.348533 0.35232 0.376933 0.479173 0.546105 0.566316 +0.534737 0.508842 0.506947 0.49432 0.475387 0.481067 0.492427 0.504421 +0.538526 0.642105 0.797474 0.925053 0.983265 1.00351 1.02016 1.03061 +1.03388 1.03714 1.04008 1.04106 1.04596 1.04857 1.04792 1.04727 +1.04792 1.04922 1.05151 1.0538 1.05478 1.0551 1.0538 1.05282 +1.05347 1.05314 1.05282 1.05445 1.05151 1.0489 1.04694 1.04498 +1.04269 1.04171 1.04041 1.04008 1.03976 1.04106 1.04335 1.04237 +1.0391 1.04008 1.0391 1.03976 1.04106 1.0378 1.0378 1.0391 +1.04139 1.04106 1.04302 1.04531 1.04269 1.04433 1.04531 1.04433 +1.04367 1.044 1.04661 1.04759 1.04237 1.04237 1.04433 1.04531 +1.04237 1.04204 1.04563 1.04139 1.04041 1.04302 1.03976 1.03878 +1.03845 1.03845 1.03616 1.03518 1.03551 1.03551 1.03388 1.02865 +1.02441 1.02441 1.02735 1.02669 1.02506 1.02604 1.02898 1.02865 +1.03061 1.03453 1.03551 1.03812 1.03551 1.0342 1.04008 1.04106 +1.03812 1.03812 1.03714 1.03976 1.04139 1.04302 1.04269 1.04661 +1.04531 1.044 1.04629 1.04661 1.04465 1.044 1.04465 1.0489 +1.04922 1.04629 1.04563 1.04465 1.04302 1.04367 1.04727 1.04694 +1.04596 1.04759 1.04792 1.04563 1.044 1.04531 1.04596 1.04335 +1.04237 1.04204 1.04041 1.04073 1.03943 1.03453 1.03322 1.03551 +1.03812 1.03878 1.03812 1.04008 1.0391 1.0378 1.03878 1.03812 +1.03649 1.03616 1.03518 1.0329 1.03388 1.03518 1.03714 1.03584 +1.0329 1.03388 1.0329 1.03094 1.02996 1.02996 1.03127 1.0329 +1.02865 1.02669 1.02767 1.02539 1.00155 0.906737 0.734316 0.572632 +0.424267 0.310667 0.286053 0.291733 0.299307 0.293627 0.308773 0.316347 +0.339067 0.367467 0.339067 0.320133 0.314453 0.31824 0.344747 0.350427 +0.322027 0.31256 0.299307 0.280373 0.2728 0.27848 0.2728 0.297413 +0.356107 0.376933 0.361787 0.35232 0.3296 0.316347 0.405333 0.523368 +0.541684 0.515789 0.503789 0.506316 0.496213 0.43184 0.36936 0.33528 +0.316347 0.299307 0.316347 0.344747 0.348533 0.344747 0.34664 0.34096 +0.337173 0.339067 0.337173 0.333387 0.333387 0.342853 0.361787 0.38072 +0.378827 0.38072 0.441307 0.565053 0.733684 0.896 0.974316 0.986204 +0.985878 0.984898 0.983918 0.989143 0.99698 0.998286 0.996 0.986204 +0.98098 0.976842 0.973684 0.974947 0.975579 0.970526 0.966105 0.972421 +0.980327 0.984571 0.981306 0.966737 0.964211 0.961684 0.953474 0.948421 +0.950947 0.970526 0.988816 0.950947 0.766526 0.563158 0.446987 0.384507 +0.27848 0.00098 0.000933333 0.00088 0.000853333 0.000853333 0.000853333 0.00086 +0.000833333 0.000833333 0.000846667 0.0008 0.00076 0.000766667 0.000773333 0.000786667 +0.000806667 0.000766667 0.000746667 0.000746667 0.00074 0.000746667 0.000793333 0.0008 +0.000766667 0.000746667 0.000746667 0.000746667 0.000746667 0.00076 0.00076 0.000753333 +0.000733333 0.0007 0.00072 0.000733333 0.000726667 0.000713333 0.000726667 0.000733333 +0.000713333 0.000726667 0.000753333 0.00076 0.000746667 0.000733333 0.000706667 0.00072 +0.000726667 0.000713333 0.000726667 0.00074 0.000733333 0.000726667 0.000713333 0.000706667 +0.000713333 0.000706667 0.000706667 0.000713333 0.000726667 0.000726667 0.000713333 0.000706667 +0.000713333 0.00072 0.000693333 0.00068 0.000693333 0.0007 0.000706667 0.00072 +0.000746667 0.00072 0.000706667 0.000713333 0.00072 0.000706667 0.000706667 0.000713333 +0.0007 0.000713333 0.00072 0.0007 0.000686667 0.000686667 0.000686667 0.000713333 +0.00072 0.000726667 0.000733333 0.00074 0.000753333 0.000746667 0.000753333 0.00074 +0.00076 0.000786667 0.00078 0.00078 0.000806667 0.000873333 0.251973 0.354213 +0.34096 0.259547 0.27848 0.456453 0.651579 0.879579 0.989143 0.982612 +0.959158 0.951579 0.949053 0.956632 0.976842 0.992735 1.00612 1.01331 +1.01461 1.01559 1.01624 1.01363 1.01167 1.00906 1.00612 1.0022 +0.996 0.989469 0.981633 0.959158 0.940211 0.923158 0.873895 0.752 +0.588421 0.464027 0.37504 0.342853 0.32392 0.316347 0.322027 0.34096 +0.376933 0.411013 0.36936 0.31824 0.322027 0.339067 0.3296 0.3012 +0.28416 0.270907 0.26712 0.269013 0.269013 0.274693 0.28416 0.2728 +0.26144 0.276587 0.286053 0.280373 0.274693 0.280373 0.3012 0.327707 +0.322027 0.314453 0.316347 0.333387 0.34096 0.310667 0.28416 0.287947 +0.325813 0.359893 0.356107 0.327707 0.314453 0.348533 0.358 0.34096 +0.354213 0.382613 0.433733 0.506947 0.518316 0.473493 0.384507 0.342853 +0.320133 0.303093 0.29552 0.31256 0.322027 0.303093 0.299307 0.310667 +0.316347 0.310667 0.308773 0.31256 0.316347 0.31824 0.32392 0.320133 +0.339067 0.40344 0.435627 0.40344 0.359893 0.342853 0.348533 0.354213 +0.359893 0.35232 0.337173 0.325813 0.327707 0.382613 0.479173 0.505053 +0.44888 0.390187 0.37504 0.359893 0.361787 0.399653 0.405333 0.365573 +0.348533 0.354213 0.354213 0.35232 0.35232 0.376933 0.464027 0.520842 +0.527789 0.524632 0.525263 0.511368 0.490533 0.490533 0.49432 0.501263 +0.534105 0.635789 0.789263 0.915579 0.981306 1.00416 1.02049 1.03029 +1.03518 1.03682 1.0391 1.0391 1.04106 1.04661 1.04955 1.0489 +1.04857 1.04922 1.04955 1.05053 1.05184 1.05314 1.05216 1.05282 +1.05412 1.05412 1.05184 1.05118 1.0502 1.04694 1.04433 1.04661 +1.044 1.04171 1.04073 1.04073 1.03878 1.03943 1.04367 1.04367 +1.04139 1.04073 1.03878 1.03878 1.04171 1.03878 1.03747 1.03976 +1.04302 1.04335 1.04171 1.04465 1.04465 1.04335 1.04335 1.04367 +1.04106 1.04171 1.04694 1.04759 1.04237 1.04008 1.04041 1.04335 +1.04237 1.04237 1.04563 1.04139 1.03943 1.04204 1.0378 1.0378 +1.03976 1.04073 1.03616 1.03518 1.03682 1.03388 1.03127 1.02996 +1.02735 1.02539 1.02865 1.02735 1.02473 1.02571 1.02898 1.02996 +1.03486 1.03747 1.03747 1.03976 1.03518 1.03649 1.04269 1.04139 +1.04139 1.04139 1.04008 1.04139 1.04139 1.04204 1.04335 1.04727 +1.04433 1.04204 1.04498 1.04661 1.04563 1.04433 1.04596 1.04857 +1.04563 1.04531 1.04694 1.04759 1.04661 1.04727 1.04759 1.04531 +1.04433 1.044 1.04727 1.04629 1.04269 1.04498 1.04335 1.04041 +1.04302 1.04204 1.04237 1.04367 1.04008 1.03094 1.02931 1.03551 +1.0391 1.03943 1.03747 1.03845 1.03747 1.03682 1.03747 1.03976 +1.0391 1.03682 1.0342 1.0329 1.03257 1.03518 1.03616 1.0342 +1.03257 1.03322 1.0329 1.02963 1.02996 1.03192 1.03029 1.03159 +1.03029 1.02702 1.02539 1.02114 0.99698 0.896632 0.729895 0.575789 +0.4432 0.325813 0.297413 0.320133 0.32392 0.31256 0.34096 0.356107 +0.348533 0.327707 0.304987 0.30688 0.310667 0.320133 0.371253 0.38072 +0.3296 0.287947 0.276587 0.26712 0.276587 0.286053 0.280373 0.308773 +0.354213 0.36368 0.365573 0.378827 0.354213 0.348533 0.4716 0.548 +0.561895 0.534105 0.506947 0.467813 0.418587 0.371253 0.325813 0.308773 +0.303093 0.29552 0.325813 0.365573 0.34664 0.331493 0.337173 0.342853 +0.365573 0.390187 0.3864 0.378827 0.390187 0.401547 0.3864 0.371253 +0.361787 0.36368 0.399653 0.532842 0.687579 0.862526 0.962316 0.985878 +0.985551 0.985224 0.987184 0.991102 0.997959 0.999592 0.998939 0.990776 +0.984571 0.980653 0.976211 0.975579 0.976842 0.976842 0.974316 0.976211 +0.976211 0.978737 0.971789 0.959158 0.958526 0.963579 0.959158 0.950947 +0.947789 0.957263 0.98098 0.983265 0.870105 0.652211 0.504421 0.412907 +0.327707 0.225467 0.00092 0.000866667 0.000853333 0.000853333 0.000826667 0.000813333 +0.000826667 0.000826667 0.000826667 0.000813333 0.000813333 0.00082 0.000786667 0.000773333 +0.000766667 0.000753333 0.000753333 0.00076 0.00076 0.000753333 0.000753333 0.000746667 +0.000726667 0.00074 0.000773333 0.00076 0.000733333 0.000726667 0.000733333 0.000726667 +0.000726667 0.00076 0.000766667 0.000753333 0.00074 0.00074 0.000746667 0.000746667 +0.000713333 0.000706667 0.000726667 0.000746667 0.000766667 0.000766667 0.000733333 0.000706667 +0.000693333 0.00068 0.0007 0.000713333 0.000713333 0.000706667 0.000713333 0.000726667 +0.000713333 0.0007 0.000706667 0.000713333 0.000713333 0.00072 0.00072 0.000706667 +0.000713333 0.000726667 0.000713333 0.000706667 0.00072 0.000706667 0.000693333 0.0007 +0.000713333 0.000713333 0.000706667 0.000706667 0.00072 0.00072 0.000693333 0.00068 +0.00068 0.000693333 0.000713333 0.000713333 0.00072 0.000706667 0.000686667 0.0007 +0.00072 0.000733333 0.00074 0.000733333 0.000753333 0.00076 0.000766667 0.000773333 +0.000766667 0.000773333 0.00076 0.00078 0.000813333 0.000966667 0.308773 0.371253 +0.304987 0.25576 0.327707 0.542316 0.762105 0.957895 0.990776 0.968632 +0.951579 0.952211 0.956 0.969263 0.986531 1.00188 1.01265 1.01527 +1.01527 1.01624 1.01429 1.01331 1.012 1.01102 1.00776 1.00351 +0.997959 0.991755 0.981633 0.954737 0.935158 0.913053 0.846105 0.706526 +0.552421 0.424267 0.365573 0.337173 0.31824 0.314453 0.31824 0.310667 +0.327707 0.371253 0.358 0.316347 0.31256 0.314453 0.299307 0.287947 +0.280373 0.282267 0.280373 0.282267 0.276587 0.274693 0.27848 0.276587 +0.2728 0.27848 0.293627 0.297413 0.291733 0.297413 0.316347 0.337173 +0.333387 0.31824 0.308773 0.322027 0.327707 0.304987 0.286053 0.297413 +0.322027 0.33528 0.337173 0.322027 0.31824 0.344747 0.342853 0.314453 +0.303093 0.308773 0.342853 0.43752 0.503158 0.462133 0.36936 0.327707 +0.316347 0.297413 0.287947 0.304987 0.316347 0.31256 0.316347 0.308773 +0.316347 0.325813 0.31256 0.304987 0.303093 0.30688 0.31256 0.308773 +0.304987 0.31824 0.333387 0.342853 0.348533 0.361787 0.361787 0.356107 +0.367467 0.3864 0.388293 0.367467 0.339067 0.34664 0.445093 0.527789 +0.527789 0.4716 0.399653 0.382613 0.36936 0.36368 0.378827 0.365573 +0.34664 0.331493 0.34664 0.359893 0.350427 0.342853 0.358 0.40912 +0.462133 0.48296 0.510105 0.520211 0.502526 0.467813 0.456453 0.45456 +0.515789 0.621895 0.776 0.904211 0.978105 1.00286 1.01918 1.02669 +1.03322 1.03518 1.0378 1.04106 1.04106 1.04335 1.04727 1.04988 +1.0489 1.04922 1.05053 1.05347 1.05216 1.05216 1.05347 1.05576 +1.05543 1.05412 1.05216 1.05086 1.04955 1.04563 1.04367 1.04792 +1.04563 1.04335 1.04498 1.04465 1.04073 1.03845 1.0391 1.04008 +1.04204 1.04269 1.04139 1.04106 1.04335 1.04269 1.04171 1.04106 +1.04237 1.04433 1.04204 1.04433 1.04727 1.04269 1.04171 1.04465 +1.04269 1.04269 1.04596 1.04596 1.04433 1.04269 1.03878 1.04204 +1.04269 1.04139 1.04498 1.04596 1.04106 1.03943 1.03714 1.0378 +1.03943 1.03976 1.03486 1.03355 1.03584 1.03322 1.02833 1.02669 +1.02702 1.02735 1.02963 1.02996 1.02833 1.03224 1.03518 1.03094 +1.03322 1.0378 1.03976 1.04204 1.03682 1.0378 1.04302 1.04269 +1.04465 1.04237 1.0391 1.03976 1.04073 1.04237 1.04335 1.04596 +1.04531 1.04498 1.04661 1.04694 1.04465 1.04302 1.04661 1.04759 +1.04367 1.04367 1.04498 1.04824 1.0489 1.04792 1.04629 1.044 +1.04531 1.04596 1.04661 1.04367 1.04073 1.04465 1.04335 1.04204 +1.04433 1.04171 1.04106 1.04302 1.04139 1.03551 1.03322 1.03649 +1.03682 1.03649 1.03551 1.03747 1.03878 1.03878 1.03812 1.0391 +1.0391 1.03649 1.03616 1.0342 1.03322 1.03453 1.03518 1.03159 +1.03061 1.03224 1.03159 1.03029 1.03159 1.03257 1.03029 1.02865 +1.02963 1.02898 1.02637 1.01755 0.991102 0.887789 0.727368 0.578316 +0.446987 0.325813 0.325813 0.378827 0.36936 0.320133 0.325813 0.342853 +0.34664 0.32392 0.29552 0.293627 0.3012 0.32392 0.373147 0.361787 +0.30688 0.282267 0.2728 0.276587 0.299307 0.303093 0.297413 0.316347 +0.339067 0.320133 0.3296 0.376933 0.38072 0.422373 0.534105 0.581474 +0.565684 0.517053 0.424267 0.356107 0.33528 0.342853 0.331493 0.314453 +0.31256 0.31256 0.337173 0.367467 0.337173 0.316347 0.3296 0.354213 +0.376933 0.407227 0.4148 0.4148 0.445093 0.48296 0.424267 0.356107 +0.348533 0.365573 0.384507 0.508842 0.642105 0.820842 0.942105 0.981633 +0.985224 0.985224 0.989796 0.996327 0.999592 0.998612 0.997306 0.991429 +0.98751 0.986204 0.982612 0.978737 0.978737 0.980653 0.981959 0.981633 +0.978105 0.976842 0.971158 0.959158 0.959158 0.967368 0.966737 0.957895 +0.951579 0.951579 0.964842 0.985551 0.947158 0.763368 0.559368 0.424267 +0.36936 0.270907 0.00098 0.00092 0.000906667 0.00086 0.000806667 0.0008 +0.000806667 0.00082 0.00084 0.000813333 0.000793333 0.000766667 0.000746667 0.000746667 +0.000753333 0.00078 0.000793333 0.000766667 0.000746667 0.00074 0.00074 0.000746667 +0.000753333 0.000766667 0.000773333 0.00076 0.000726667 0.00072 0.000753333 0.00078 +0.0008 0.000786667 0.00076 0.000746667 0.0007 0.0007 0.00072 0.000733333 +0.000733333 0.000746667 0.000726667 0.00072 0.00072 0.00072 0.00072 0.000706667 +0.000713333 0.000706667 0.000713333 0.00072 0.0007 0.000686667 0.0007 0.00072 +0.000706667 0.000713333 0.000733333 0.000726667 0.00072 0.00072 0.00072 0.0007 +0.0007 0.00072 0.000726667 0.000706667 0.000713333 0.000713333 0.000693333 0.0007 +0.000713333 0.000713333 0.000686667 0.00068 0.000686667 0.00072 0.00072 0.000726667 +0.000713333 0.00068 0.00068 0.000693333 0.000713333 0.000733333 0.000726667 0.000726667 +0.000726667 0.00072 0.00072 0.00072 0.000746667 0.00076 0.000766667 0.00076 +0.000773333 0.000773333 0.000753333 0.000773333 0.000853333 0.248187 0.354213 0.358 +0.28416 0.29552 0.43184 0.628842 0.863789 0.985878 0.982612 0.955368 +0.947158 0.953474 0.959789 0.978105 0.994367 1.00841 1.01494 1.01624 +1.01592 1.01429 1.01298 1.01298 1.01363 1.01461 1.01298 1.01167 +1.0071 0.997633 0.982286 0.954105 0.931368 0.899789 0.814526 0.666105 +0.527789 0.39776 0.34096 0.327707 0.325813 0.33528 0.34664 0.325813 +0.327707 0.36936 0.38072 0.350427 0.325813 0.310667 0.303093 0.3012 +0.303093 0.31256 0.308773 0.293627 0.29552 0.293627 0.310667 0.303093 +0.269013 0.263333 0.280373 0.299307 0.316347 0.32392 0.33528 0.33528 +0.327707 0.316347 0.310667 0.322027 0.339067 0.325813 0.310667 0.322027 +0.350427 0.376933 0.376933 0.33528 0.314453 0.3296 0.339067 0.310667 +0.291733 0.29552 0.337173 0.393973 0.43752 0.441307 0.376933 0.322027 +0.304987 0.286053 0.2728 0.282267 0.299307 0.310667 0.310667 0.316347 +0.327707 0.327707 0.31824 0.310667 0.30688 0.30688 0.31824 0.320133 +0.310667 0.31256 0.31824 0.325813 0.344747 0.37504 0.38072 0.361787 +0.354213 0.382613 0.39776 0.38072 0.367467 0.348533 0.378827 0.503789 +0.534105 0.500632 0.395867 0.376933 0.384507 0.37504 0.378827 0.367467 +0.35232 0.359893 0.373147 0.378827 0.36936 0.37504 0.405333 0.441307 +0.4432 0.405333 0.433733 0.512 0.513263 0.484853 0.450773 0.445093 +0.503789 0.606737 0.764632 0.897895 0.976842 1.00286 1.01951 1.02539 +1.02931 1.03355 1.03812 1.04237 1.044 1.04367 1.04563 1.04857 +1.04792 1.04727 1.04792 1.05314 1.05282 1.05086 1.05118 1.0538 +1.05249 1.05151 1.05151 1.05118 1.04824 1.04629 1.04465 1.04596 +1.04531 1.044 1.04694 1.04661 1.04335 1.04139 1.03878 1.03976 +1.04367 1.044 1.04204 1.0391 1.04041 1.04171 1.04171 1.04106 +1.04139 1.04302 1.04269 1.04498 1.04727 1.04171 1.04171 1.04498 +1.044 1.04498 1.04498 1.04367 1.04498 1.04433 1.03976 1.04204 +1.04563 1.04367 1.04335 1.04694 1.04302 1.04139 1.03943 1.03878 +1.03845 1.0378 1.03388 1.03192 1.0329 1.02996 1.02833 1.02735 +1.02735 1.02767 1.02735 1.02865 1.03029 1.03355 1.03714 1.03388 +1.03355 1.03812 1.04106 1.04139 1.03878 1.04171 1.04237 1.04302 +1.04596 1.04106 1.04073 1.04041 1.0391 1.04171 1.04237 1.04302 +1.04433 1.04629 1.04857 1.0489 1.04433 1.04171 1.04661 1.04661 +1.04531 1.04433 1.04498 1.04922 1.0489 1.04629 1.04596 1.04465 +1.04727 1.04955 1.04694 1.04269 1.04041 1.03943 1.04073 1.04563 +1.04727 1.04204 1.03943 1.03943 1.03845 1.03649 1.0391 1.04139 +1.03845 1.03649 1.03584 1.03453 1.03747 1.03812 1.03682 1.03812 +1.03616 1.03486 1.03551 1.03453 1.03355 1.03584 1.03616 1.03322 +1.0329 1.03127 1.02931 1.03127 1.03388 1.03257 1.02931 1.02767 +1.02865 1.02898 1.02539 1.01527 0.986857 0.880842 0.731158 0.592211 +0.48296 0.342853 0.339067 0.39776 0.40344 0.359893 0.34096 0.34096 +0.339067 0.325813 0.303093 0.293627 0.291733 0.322027 0.35232 0.325813 +0.3012 0.299307 0.28416 0.286053 0.310667 0.32392 0.316347 0.320133 +0.33528 0.31824 0.322027 0.37504 0.43752 0.517684 0.582105 0.591579 +0.530316 0.4148 0.33528 0.314453 0.31824 0.339067 0.342853 0.3296 +0.32392 0.3296 0.344747 0.350427 0.333387 0.308773 0.327707 0.358 +0.371253 0.373147 0.382613 0.3864 0.416693 0.490533 0.456453 0.37504 +0.359893 0.373147 0.3864 0.481067 0.600421 0.772842 0.918105 0.977474 +0.985224 0.983265 0.985551 0.994041 0.997306 0.995673 0.994694 0.992082 +0.989469 0.989796 0.987837 0.985224 0.985878 0.986531 0.986204 0.986857 +0.981959 0.980653 0.981633 0.975579 0.964842 0.968 0.969263 0.960421 +0.953474 0.949684 0.955368 0.978105 0.981633 0.869474 0.647158 0.484853 +0.382613 0.32392 0.22736 0.0009 0.000886667 0.000846667 0.000793333 0.000806667 +0.000826667 0.000826667 0.000833333 0.000806667 0.00076 0.000753333 0.000773333 0.0008 +0.000766667 0.000773333 0.000793333 0.000746667 0.00074 0.00078 0.000793333 0.000766667 +0.000753333 0.000733333 0.00072 0.00074 0.000753333 0.000753333 0.000786667 0.000773333 +0.000766667 0.000733333 0.00072 0.000733333 0.000713333 0.0007 0.000693333 0.000686667 +0.000706667 0.000733333 0.000726667 0.00072 0.000726667 0.000733333 0.00072 0.000706667 +0.00072 0.000713333 0.00072 0.000733333 0.000733333 0.000713333 0.00072 0.000726667 +0.0007 0.0007 0.000726667 0.00074 0.000746667 0.000733333 0.000733333 0.000733333 +0.00072 0.000706667 0.000713333 0.0007 0.000706667 0.000713333 0.000706667 0.000693333 +0.000706667 0.000733333 0.000706667 0.00068 0.000686667 0.0007 0.000706667 0.00072 +0.000746667 0.000733333 0.000726667 0.00072 0.000706667 0.0007 0.000706667 0.0007 +0.000713333 0.000726667 0.000706667 0.000706667 0.000733333 0.000733333 0.000753333 0.000753333 +0.000766667 0.0008 0.000766667 0.00078 0.0009 0.28984 0.365573 0.316347 +0.276587 0.339067 0.530947 0.740632 0.945895 0.987837 0.964842 0.945895 +0.945895 0.954737 0.966737 0.986531 1.00188 1.01265 1.01624 1.01559 +1.01624 1.01396 1.01331 1.01559 1.01951 1.02376 1.02539 1.02767 +1.02343 1.00547 0.982286 0.953474 0.926316 0.877684 0.773474 0.621895 +0.508842 0.39208 0.342853 0.3296 0.3296 0.34096 0.358 0.34096 +0.348533 0.378827 0.38072 0.36936 0.35232 0.333387 0.314453 0.303093 +0.316347 0.34096 0.337173 0.308773 0.304987 0.316347 0.356107 0.34096 +0.282267 0.26144 0.274693 0.31256 0.337173 0.337173 0.331493 0.314453 +0.3012 0.3012 0.308773 0.327707 0.354213 0.359893 0.356107 0.367467 +0.435627 0.501263 0.435627 0.33528 0.304987 0.327707 0.34664 0.308773 +0.287947 0.310667 0.350427 0.35232 0.348533 0.376933 0.38072 0.344747 +0.310667 0.291733 0.27848 0.27848 0.28984 0.293627 0.299307 0.32392 +0.356107 0.365573 0.337173 0.310667 0.304987 0.314453 0.34096 0.344747 +0.320133 0.31256 0.320133 0.32392 0.33528 0.361787 0.37504 0.36936 +0.350427 0.344747 0.354213 0.358 0.358 0.354213 0.34664 0.393973 +0.48296 0.473493 0.40344 0.390187 0.401547 0.390187 0.376933 0.367467 +0.388293 0.4148 0.42048 0.433733 0.46592 0.517053 0.537263 0.524 +0.464027 0.378827 0.37504 0.46024 0.498107 0.481067 0.46592 0.46024 +0.498107 0.590947 0.754526 0.893474 0.977474 1.00514 1.01951 1.02473 +1.02833 1.03224 1.03845 1.04269 1.04531 1.04596 1.04563 1.04694 +1.04824 1.04792 1.04661 1.05086 1.05282 1.05184 1.04955 1.0502 +1.05118 1.0502 1.05053 1.0502 1.04857 1.04792 1.04727 1.04596 +1.044 1.04367 1.04596 1.04563 1.04302 1.04139 1.04041 1.04171 +1.04237 1.04139 1.04106 1.03812 1.04041 1.04237 1.03976 1.0378 +1.04073 1.04465 1.04433 1.04531 1.04661 1.044 1.04269 1.04335 +1.04269 1.04531 1.04629 1.04629 1.04498 1.04433 1.04106 1.04106 +1.04531 1.04367 1.04204 1.04465 1.04204 1.04204 1.04106 1.03943 +1.03845 1.0391 1.03551 1.03192 1.03224 1.02833 1.02963 1.03159 +1.02865 1.02865 1.02865 1.02996 1.03388 1.03551 1.03682 1.03747 +1.03845 1.04041 1.04335 1.04139 1.03714 1.04171 1.04269 1.04335 +1.04498 1.04139 1.04531 1.04367 1.04204 1.04237 1.04302 1.044 +1.044 1.04531 1.04824 1.04922 1.04629 1.044 1.04596 1.04563 +1.04694 1.044 1.04498 1.04955 1.04857 1.04694 1.04727 1.04694 +1.04759 1.04759 1.04531 1.04498 1.04563 1.04106 1.04041 1.04563 +1.04433 1.04073 1.0391 1.03943 1.03714 1.0342 1.03584 1.03812 +1.03616 1.03878 1.03943 1.0342 1.03159 1.03388 1.03584 1.03453 +1.03388 1.03453 1.03551 1.03453 1.03257 1.03453 1.03551 1.03584 +1.03486 1.03192 1.03061 1.0329 1.0329 1.03029 1.02898 1.02833 +1.02735 1.02898 1.02441 1.01037 0.98098 0.876421 0.738737 0.610526 +0.515158 0.382613 0.344747 0.36368 0.367467 0.356107 0.367467 0.373147 +0.34664 0.316347 0.304987 0.293627 0.28984 0.32392 0.34096 0.314453 +0.331493 0.342853 0.299307 0.287947 0.331493 0.34664 0.333387 0.325813 +0.327707 0.33528 0.34096 0.395867 0.511368 0.572 0.607368 0.561895 +0.433733 0.304987 0.286053 0.29552 0.308773 0.322027 0.333387 0.3296 +0.314453 0.320133 0.339067 0.344747 0.32392 0.30688 0.31824 0.354213 +0.378827 0.361787 0.344747 0.350427 0.361787 0.416693 0.428053 0.3864 +0.376933 0.378827 0.376933 0.43184 0.56 0.722316 0.884632 0.968632 +0.984245 0.982286 0.981633 0.989796 0.99698 0.99698 0.994367 0.994367 +0.992082 0.990449 0.992408 0.991102 0.991755 0.991755 0.989469 0.992082 +0.990449 0.989796 0.991755 0.990122 0.978737 0.966737 0.966737 0.961684 +0.959158 0.953474 0.952842 0.965474 0.983592 0.947158 0.764 0.553684 +0.416693 0.361787 0.259547 0.00092 0.00088 0.00086 0.000826667 0.000833333 +0.00082 0.000793333 0.00078 0.000786667 0.000793333 0.000766667 0.000786667 0.0008 +0.000766667 0.000766667 0.00076 0.000733333 0.000726667 0.000746667 0.00074 0.000726667 +0.00074 0.000766667 0.000766667 0.000786667 0.000793333 0.000766667 0.00072 0.000706667 +0.00074 0.000746667 0.000746667 0.000753333 0.000726667 0.00072 0.000713333 0.000693333 +0.000686667 0.000706667 0.000706667 0.00072 0.000746667 0.000773333 0.000766667 0.00074 +0.000726667 0.000713333 0.00072 0.000726667 0.000713333 0.00072 0.00074 0.000746667 +0.00072 0.0007 0.000693333 0.0007 0.00072 0.000706667 0.000706667 0.000733333 +0.000726667 0.00072 0.00072 0.000713333 0.000726667 0.00074 0.000726667 0.0007 +0.000693333 0.000726667 0.00072 0.000693333 0.0007 0.000713333 0.000733333 0.000713333 +0.000706667 0.000713333 0.00072 0.000726667 0.000706667 0.0007 0.000693333 0.000686667 +0.0007 0.000713333 0.0007 0.000713333 0.00072 0.00072 0.00074 0.000746667 +0.00074 0.000786667 0.000786667 0.000813333 0.219787 0.33528 0.359893 0.287947 +0.291733 0.411013 0.611158 0.849263 0.985224 0.982612 0.952211 0.944 +0.949053 0.958526 0.976211 0.992082 1.00678 1.01624 1.01657 1.01461 +1.01527 1.01363 1.01559 1.02212 1.03029 1.03682 1.04106 1.04302 +1.0391 1.01657 0.983265 0.948421 0.916211 0.849263 0.724211 0.577684 +0.486747 0.407227 0.376933 0.354213 0.337173 0.33528 0.339067 0.34096 +0.367467 0.384507 0.354213 0.333387 0.34096 0.327707 0.29552 0.27848 +0.287947 0.31256 0.34096 0.34096 0.31824 0.3012 0.325813 0.316347 +0.28416 0.270907 0.274693 0.320133 0.36368 0.342853 0.30688 0.287947 +0.280373 0.28984 0.308773 0.333387 0.36936 0.38072 0.36368 0.3864 +0.498107 0.517053 0.4148 0.299307 0.297413 0.337173 0.34664 0.3012 +0.28416 0.31256 0.337173 0.325813 0.310667 0.333387 0.37504 0.371253 +0.33528 0.304987 0.286053 0.282267 0.28416 0.293627 0.30688 0.34096 +0.418587 0.464027 0.407227 0.333387 0.3012 0.297413 0.3296 0.358 +0.35232 0.33528 0.320133 0.31256 0.325813 0.342853 0.358 0.36368 +0.35232 0.331493 0.33528 0.350427 0.34664 0.333387 0.3296 0.34096 +0.382613 0.411013 0.39208 0.38072 0.39208 0.393973 0.393973 0.405333 +0.42048 0.4432 0.4716 0.508211 0.544842 0.586526 0.575158 0.515789 +0.40912 0.361787 0.365573 0.42048 0.43752 0.429947 0.4432 0.467813 +0.502526 0.581474 0.749474 0.894105 0.974316 1.00286 1.01559 1.02114 +1.02702 1.03224 1.03878 1.04237 1.04433 1.04596 1.04661 1.04727 +1.04857 1.04857 1.04824 1.05118 1.0538 1.0551 1.05314 1.04955 +1.04922 1.04955 1.05053 1.05086 1.04955 1.04922 1.04792 1.04596 +1.04367 1.044 1.04367 1.044 1.04204 1.03976 1.04204 1.04269 +1.04106 1.04106 1.04204 1.03943 1.03878 1.04171 1.03976 1.03812 +1.04073 1.04367 1.04367 1.04465 1.04596 1.04563 1.04367 1.04302 +1.04269 1.04498 1.04629 1.04759 1.04498 1.04335 1.04106 1.04041 +1.04335 1.04171 1.04171 1.04531 1.04204 1.03976 1.03943 1.04073 +1.0378 1.03486 1.0342 1.0329 1.0329 1.02865 1.02931 1.03029 +1.02833 1.02996 1.03127 1.03355 1.03649 1.03747 1.03682 1.03714 +1.04041 1.04302 1.04335 1.04008 1.03682 1.03878 1.04073 1.04269 +1.04269 1.04204 1.04596 1.04498 1.04531 1.044 1.04367 1.04498 +1.04433 1.04302 1.04498 1.04498 1.04433 1.04596 1.04792 1.04727 +1.04531 1.04302 1.04596 1.04694 1.04465 1.04563 1.04596 1.04727 +1.04694 1.04661 1.04563 1.04694 1.04661 1.04335 1.04335 1.04498 +1.03878 1.03649 1.0378 1.03845 1.03878 1.03714 1.03649 1.03649 +1.03486 1.03649 1.03714 1.03747 1.03355 1.03224 1.0329 1.03159 +1.03388 1.03682 1.0342 1.0342 1.03257 1.03127 1.03257 1.0329 +1.03355 1.0342 1.03355 1.0342 1.03061 1.02833 1.02833 1.02702 +1.02604 1.02669 1.02278 1.00645 0.970526 0.874526 0.750737 0.625684 +0.525895 0.411013 0.35232 0.344747 0.354213 0.365573 0.401547 0.42048 +0.378827 0.31824 0.287947 0.291733 0.31256 0.34096 0.348533 0.3296 +0.348533 0.35232 0.31256 0.320133 0.344747 0.35232 0.333387 0.31824 +0.32392 0.339067 0.35232 0.43752 0.546105 0.604842 0.592842 0.515158 +0.337173 0.26712 0.2728 0.28416 0.286053 0.28984 0.3012 0.314453 +0.320133 0.322027 0.34096 0.34096 0.31824 0.314453 0.31256 0.337173 +0.390187 0.373147 0.325813 0.337173 0.348533 0.361787 0.38072 0.37504 +0.37504 0.376933 0.378827 0.412907 0.531579 0.68 0.855579 0.959158 +0.983592 0.981959 0.981633 0.98751 0.996327 0.999918 0.996653 0.997306 +0.99698 0.995347 0.997306 0.99698 0.996653 0.995673 0.994694 0.997633 +1.00122 1.00449 1.00514 1.00122 0.987184 0.969895 0.966737 0.962316 +0.960421 0.956 0.951579 0.957895 0.979368 0.982939 0.872 0.646526 +0.496213 0.393973 0.314453 0.236827 0.000953333 0.0009 0.000833333 0.00082 +0.00078 0.000766667 0.000786667 0.000806667 0.00078 0.000753333 0.00078 0.000793333 +0.00078 0.000786667 0.00078 0.00074 0.000746667 0.000746667 0.00074 0.000733333 +0.000766667 0.000793333 0.000773333 0.000766667 0.00076 0.00072 0.00072 0.000746667 +0.000766667 0.00076 0.000746667 0.000746667 0.00072 0.00072 0.00072 0.000713333 +0.000713333 0.000713333 0.000706667 0.000713333 0.000733333 0.000746667 0.00074 0.000733333 +0.000753333 0.000753333 0.000746667 0.00074 0.000726667 0.000733333 0.000733333 0.00072 +0.000713333 0.00072 0.000713333 0.000713333 0.000713333 0.0007 0.0007 0.0007 +0.000673333 0.000686667 0.000726667 0.000733333 0.000726667 0.00074 0.000733333 0.000713333 +0.000693333 0.00072 0.00074 0.000713333 0.000706667 0.00072 0.000733333 0.000713333 +0.0007 0.0007 0.000706667 0.000713333 0.00072 0.00072 0.00074 0.000733333 +0.000746667 0.000753333 0.000706667 0.000706667 0.000706667 0.000713333 0.000746667 0.000786667 +0.000766667 0.000793333 0.000806667 0.00088 0.274693 0.36936 0.3296 0.2728 +0.333387 0.520211 0.719789 0.938316 0.992408 0.973053 0.946526 0.945895 +0.952211 0.966737 0.984898 0.997959 1.01037 1.0169 1.0169 1.01559 +1.01592 1.01494 1.02147 1.03257 1.04335 1.05118 1.05478 1.05314 +1.05216 1.0342 0.990776 0.944632 0.901053 0.813263 0.671158 0.541684 +0.464027 0.424267 0.411013 0.38072 0.354213 0.342853 0.34096 0.34096 +0.359893 0.378827 0.339067 0.30688 0.303093 0.297413 0.27848 0.274693 +0.274693 0.297413 0.361787 0.390187 0.337173 0.293627 0.29552 0.28984 +0.27848 0.276587 0.274693 0.3296 0.40912 0.373147 0.29552 0.2728 +0.276587 0.3012 0.3296 0.350427 0.356107 0.34096 0.32392 0.354213 +0.44888 0.456453 0.344747 0.28416 0.304987 0.342853 0.333387 0.293627 +0.28984 0.314453 0.31256 0.314453 0.314453 0.327707 0.350427 0.378827 +0.358 0.314453 0.299307 0.3012 0.303093 0.3012 0.303093 0.331493 +0.418587 0.475387 0.418587 0.344747 0.30688 0.293627 0.297413 0.3296 +0.373147 0.390187 0.371253 0.356107 0.36368 0.37504 0.36936 0.356107 +0.356107 0.348533 0.342853 0.344747 0.35232 0.34664 0.339067 0.331493 +0.350427 0.36936 0.365573 0.359893 0.361787 0.38072 0.407227 0.435627 +0.439413 0.46024 0.490533 0.512 0.546737 0.565053 0.525263 0.418587 +0.361787 0.37504 0.399653 0.418587 0.422373 0.42616 0.4432 0.467813 +0.505684 0.578316 0.741263 0.887158 0.962316 0.994694 1.01069 1.01886 +1.02506 1.03061 1.03616 1.04139 1.04433 1.04727 1.04857 1.04824 +1.04824 1.04759 1.04759 1.05249 1.0538 1.05347 1.05478 1.05347 +1.05118 1.0502 1.0502 1.05184 1.0502 1.04824 1.04694 1.04596 +1.04433 1.04465 1.04269 1.04237 1.04269 1.04139 1.04269 1.04139 +1.04269 1.04367 1.04269 1.04041 1.0391 1.04171 1.04106 1.0391 +1.0391 1.04171 1.04433 1.04596 1.0489 1.04922 1.04596 1.04563 +1.04531 1.04335 1.04302 1.04465 1.04204 1.04106 1.04237 1.04204 +1.04269 1.04204 1.04204 1.04596 1.04204 1.03943 1.03747 1.04008 +1.03943 1.03388 1.03355 1.03453 1.03224 1.02637 1.02833 1.03061 +1.02898 1.03224 1.03551 1.03649 1.03649 1.03682 1.03714 1.03812 +1.04204 1.04433 1.04269 1.03976 1.03943 1.03714 1.0378 1.04041 +1.04171 1.04237 1.04269 1.04139 1.04302 1.04335 1.04465 1.04465 +1.04596 1.04531 1.04498 1.04335 1.04237 1.04465 1.04792 1.04955 +1.04596 1.044 1.04694 1.04563 1.04302 1.04465 1.044 1.04465 +1.04465 1.04433 1.04498 1.04563 1.04367 1.04367 1.04465 1.04367 +1.0391 1.03845 1.04008 1.03976 1.04073 1.04073 1.03878 1.03812 +1.03616 1.03355 1.03388 1.03616 1.03714 1.03649 1.03453 1.03224 +1.03388 1.03551 1.0329 1.03453 1.03322 1.0329 1.0342 1.03192 +1.03224 1.0342 1.03551 1.0329 1.02931 1.02963 1.02996 1.02767 +1.02539 1.02376 1.01984 1.00057 0.957263 0.872632 0.762737 0.637684 +0.529053 0.40912 0.35232 0.35232 0.382613 0.407227 0.456453 0.473493 +0.424267 0.34664 0.303093 0.316347 0.331493 0.342853 0.359893 0.344747 +0.3296 0.325813 0.314453 0.31824 0.320133 0.31256 0.316347 0.322027 +0.34096 0.36368 0.39208 0.503158 0.566316 0.589684 0.542947 0.428053 +0.32392 0.291733 0.291733 0.291733 0.291733 0.291733 0.28984 0.291733 +0.30688 0.322027 0.333387 0.337173 0.327707 0.3296 0.32392 0.337173 +0.376933 0.361787 0.314453 0.31256 0.333387 0.339067 0.359893 0.36368 +0.354213 0.361787 0.3864 0.418587 0.517053 0.647158 0.830316 0.949684 +0.983265 0.981306 0.980327 0.986857 0.994367 1.0009 0.998939 0.997633 +0.998939 0.998939 1.0009 1.00024 0.999918 1.00057 1.0022 1.00645 +1.01069 1.01461 1.01102 1.00188 0.98849 0.970526 0.963579 0.961053 +0.961053 0.959789 0.950947 0.950316 0.964842 0.985878 0.945895 0.755789 +0.556842 0.42616 0.358 0.26144 0.000953333 0.0009 0.00084 0.000826667 +0.000826667 0.00082 0.000793333 0.000766667 0.00076 0.000773333 0.0008 0.000786667 +0.000753333 0.000793333 0.000786667 0.000746667 0.00076 0.000786667 0.000793333 0.00078 +0.000766667 0.000746667 0.000693333 0.000686667 0.000713333 0.00072 0.00074 0.000733333 +0.000726667 0.00072 0.000706667 0.000726667 0.000726667 0.000726667 0.000726667 0.000726667 +0.000726667 0.00074 0.000726667 0.000713333 0.000726667 0.00074 0.000726667 0.000706667 +0.000713333 0.000726667 0.00072 0.00072 0.00074 0.00074 0.000726667 0.000693333 +0.00068 0.000693333 0.000706667 0.000713333 0.000733333 0.00072 0.000706667 0.00072 +0.000706667 0.00068 0.000686667 0.000713333 0.000713333 0.000706667 0.000726667 0.00074 +0.000713333 0.00072 0.00074 0.000706667 0.0007 0.000726667 0.000733333 0.00072 +0.00072 0.000726667 0.00072 0.000713333 0.000726667 0.000733333 0.000733333 0.000733333 +0.000746667 0.000773333 0.000773333 0.00076 0.000733333 0.000713333 0.00072 0.000753333 +0.000793333 0.000846667 0.000846667 0.00098 0.32392 0.36368 0.286053 0.270907 +0.39776 0.59979 0.834105 0.985878 0.989796 0.962316 0.945263 0.950947 +0.956632 0.973684 0.991102 1.00449 1.01461 1.01722 1.01722 1.01657 +1.01527 1.01853 1.03322 1.04759 1.05771 1.07978 1.07674 1.05869 +1.07826 1.05673 1.0058 0.945895 0.883368 0.780421 0.633263 0.518316 +0.43752 0.40912 0.39208 0.367467 0.35232 0.350427 0.344747 0.33528 +0.344747 0.367467 0.342853 0.3012 0.282267 0.2728 0.270907 0.27848 +0.291733 0.337173 0.40912 0.416693 0.348533 0.3012 0.293627 0.28416 +0.274693 0.2728 0.27848 0.342853 0.452667 0.412907 0.31256 0.282267 +0.286053 0.316347 0.34096 0.33528 0.325813 0.310667 0.303093 0.3296 +0.384507 0.384507 0.310667 0.28416 0.308773 0.348533 0.325813 0.28416 +0.28984 0.308773 0.31824 0.31824 0.320133 0.3296 0.3296 0.356107 +0.36936 0.331493 0.304987 0.31256 0.31824 0.314453 0.31256 0.331493 +0.382613 0.405333 0.378827 0.344747 0.316347 0.31824 0.322027 0.342853 +0.388293 0.42048 0.412907 0.407227 0.435627 0.464027 0.422373 0.356107 +0.331493 0.344747 0.342853 0.331493 0.342853 0.37504 0.401547 0.39208 +0.36936 0.359893 0.367467 0.371253 0.358 0.359893 0.382613 0.412907 +0.42048 0.428053 0.429947 0.452667 0.502526 0.501895 0.433733 0.37504 +0.361787 0.388293 0.416693 0.435627 0.458347 0.469707 0.4716 0.4716 +0.49432 0.554316 0.704 0.86 0.944632 0.98849 1.00743 1.01853 +1.02408 1.02963 1.0342 1.04041 1.044 1.04629 1.04857 1.04792 +1.04824 1.04955 1.04988 1.05412 1.05412 1.0502 1.05118 1.05216 +1.05053 1.04922 1.04988 1.05151 1.04955 1.04661 1.04694 1.04727 +1.04465 1.04465 1.04465 1.04367 1.04367 1.04139 1.04367 1.04106 +1.04139 1.044 1.04335 1.04335 1.04269 1.04367 1.04335 1.04073 +1.04008 1.04171 1.04563 1.04498 1.04531 1.04727 1.04465 1.04465 +1.04629 1.04433 1.04335 1.04531 1.044 1.04204 1.04269 1.04204 +1.04335 1.04433 1.04237 1.04367 1.03976 1.03976 1.03878 1.03976 +1.04041 1.03812 1.03682 1.03584 1.0342 1.02898 1.02702 1.02963 +1.03061 1.03355 1.03453 1.03747 1.0378 1.03976 1.0391 1.0391 +1.04302 1.04367 1.04171 1.04139 1.04106 1.03714 1.03747 1.04073 +1.044 1.04531 1.04204 1.04041 1.04139 1.04367 1.04661 1.04596 +1.04694 1.04857 1.04759 1.04335 1.04367 1.04433 1.04531 1.04824 +1.04824 1.04563 1.04563 1.04465 1.04171 1.04335 1.04531 1.04759 +1.04629 1.044 1.04563 1.04727 1.04335 1.04269 1.04106 1.03878 +1.0391 1.04237 1.04335 1.04269 1.04204 1.04139 1.0391 1.03747 +1.03682 1.03453 1.03224 1.03257 1.03355 1.0342 1.03453 1.03584 +1.03551 1.03388 1.03355 1.03453 1.0342 1.03616 1.03518 1.03224 +1.03584 1.03714 1.03584 1.03355 1.02963 1.02996 1.03094 1.02931 +1.02473 1.02114 1.0169 0.997306 0.951579 0.873263 0.764632 0.632 +0.520842 0.388293 0.339067 0.350427 0.395867 0.446987 0.506947 0.517684 +0.502526 0.42616 0.371253 0.34664 0.320133 0.310667 0.34664 0.354213 +0.320133 0.303093 0.310667 0.30688 0.29552 0.28984 0.320133 0.356107 +0.378827 0.405333 0.462133 0.532211 0.567579 0.544211 0.458347 0.337173 +0.303093 0.29552 0.303093 0.310667 0.31824 0.30688 0.287947 0.282267 +0.287947 0.299307 0.31256 0.331493 0.339067 0.33528 0.333387 0.358 +0.388293 0.36368 0.31256 0.303093 0.32392 0.337173 0.361787 0.359893 +0.342853 0.358 0.384507 0.4148 0.508211 0.621895 0.807579 0.942105 +0.983592 0.981959 0.978105 0.986857 0.994694 1.00057 0.999592 0.994694 +0.995347 0.997959 1.0022 1.00286 1.00384 1.0058 1.0071 1.012 +1.01559 1.0169 1.00808 0.996327 0.988163 0.976211 0.963579 0.960421 +0.959789 0.961684 0.954105 0.949053 0.956 0.980653 0.981633 0.858737 +0.641474 0.501895 0.390187 0.3012 0.217893 0.00094 0.000893333 0.000853333 +0.00084 0.00082 0.0008 0.0008 0.0008 0.000813333 0.0008 0.000753333 +0.00074 0.000773333 0.000766667 0.000753333 0.00076 0.000766667 0.000766667 0.00074 +0.000733333 0.000733333 0.000726667 0.00074 0.00076 0.00076 0.000733333 0.000726667 +0.000733333 0.000753333 0.000733333 0.000726667 0.000753333 0.00074 0.000733333 0.000733333 +0.000733333 0.000753333 0.000746667 0.000726667 0.000706667 0.0007 0.00072 0.000733333 +0.00072 0.000733333 0.00072 0.000706667 0.00072 0.000726667 0.00074 0.000733333 +0.00072 0.00072 0.00072 0.0007 0.000713333 0.00072 0.0007 0.000713333 +0.000746667 0.000746667 0.000713333 0.0007 0.000693333 0.000673333 0.000693333 0.00072 +0.00072 0.000713333 0.00072 0.000706667 0.000693333 0.0007 0.000713333 0.00072 +0.000713333 0.000713333 0.000726667 0.000733333 0.000753333 0.000753333 0.000746667 0.000733333 +0.000706667 0.000726667 0.000733333 0.000746667 0.000773333 0.000773333 0.000746667 0.00074 +0.00078 0.00082 0.000873333 0.25576 0.354213 0.333387 0.26712 0.3012 +0.506316 0.698316 0.921263 0.991429 0.979368 0.953474 0.947158 0.952842 +0.959158 0.981306 0.996327 1.00743 1.01494 1.01722 1.01722 1.01592 +1.01592 1.02376 1.04563 1.06304 1.1026 1.11326 1.08435 1.05967 +1.10108 1.11021 1.01722 0.941474 0.861263 0.746316 0.601684 0.500632 +0.40344 0.38072 0.36368 0.34096 0.337173 0.354213 0.34664 0.3296 +0.327707 0.342853 0.33528 0.31256 0.293627 0.27848 0.276587 0.28416 +0.339067 0.407227 0.412907 0.371253 0.34664 0.339067 0.325813 0.304987 +0.286053 0.276587 0.28416 0.356107 0.467813 0.42616 0.322027 0.286053 +0.282267 0.3012 0.310667 0.3012 0.29552 0.297413 0.304987 0.327707 +0.37504 0.373147 0.320133 0.286053 0.308773 0.342853 0.32392 0.293627 +0.297413 0.314453 0.331493 0.33528 0.31824 0.322027 0.322027 0.3296 +0.365573 0.354213 0.31824 0.316347 0.34096 0.356107 0.337173 0.342853 +0.378827 0.36936 0.356107 0.344747 0.314453 0.320133 0.34664 0.371253 +0.39208 0.39208 0.37504 0.38072 0.428053 0.505053 0.502526 0.40344 +0.327707 0.320133 0.34664 0.34664 0.342853 0.384507 0.4716 0.481067 +0.416693 0.384507 0.3864 0.388293 0.373147 0.354213 0.365573 0.39776 +0.393973 0.371253 0.365573 0.393973 0.450773 0.4432 0.393973 0.371253 +0.365573 0.371253 0.3864 0.411013 0.456453 0.47728 0.464027 0.452667 +0.4432 0.508211 0.636421 0.815158 0.925684 0.981633 1.00188 1.01592 +1.02343 1.02931 1.03616 1.04269 1.04531 1.04498 1.04792 1.04792 +1.04792 1.04955 1.04922 1.0489 1.05053 1.04955 1.04792 1.04922 +1.04988 1.04857 1.04955 1.05053 1.0489 1.04857 1.04988 1.04824 +1.04596 1.04498 1.04629 1.04694 1.04629 1.044 1.04661 1.04367 +1.04008 1.044 1.04269 1.04106 1.04139 1.04269 1.044 1.04237 +1.04335 1.04465 1.04629 1.044 1.04367 1.04727 1.04629 1.04465 +1.04629 1.04596 1.04596 1.04759 1.04694 1.04433 1.04204 1.04171 +1.04433 1.04433 1.04106 1.04171 1.03943 1.03812 1.04008 1.04106 +1.04106 1.03943 1.03812 1.0342 1.03224 1.03094 1.02865 1.03094 +1.0342 1.03649 1.03518 1.03714 1.03845 1.04008 1.04041 1.03943 +1.04335 1.04433 1.04269 1.04335 1.04335 1.03943 1.03976 1.04106 +1.04302 1.04531 1.04269 1.04171 1.04367 1.04433 1.04563 1.04531 +1.04694 1.04661 1.044 1.04335 1.04661 1.04596 1.04465 1.04661 +1.0489 1.04727 1.04563 1.04465 1.04237 1.04237 1.04433 1.04661 +1.04465 1.04302 1.04596 1.04661 1.04367 1.04465 1.04237 1.03878 +1.03845 1.04237 1.04465 1.04498 1.04204 1.04008 1.03812 1.03551 +1.03518 1.03388 1.03224 1.03192 1.03322 1.03322 1.0342 1.03682 +1.03584 1.0342 1.0342 1.0329 1.03388 1.03453 1.03192 1.03029 +1.03518 1.03649 1.03355 1.03388 1.03355 1.03061 1.02898 1.028 +1.02571 1.01984 1.01135 0.991755 0.949684 0.876421 0.751368 0.602316 +0.501263 0.365573 0.325813 0.344747 0.424267 0.518316 0.570105 0.590316 +0.566947 0.524632 0.458347 0.371253 0.310667 0.297413 0.333387 0.34664 +0.3296 0.316347 0.320133 0.31256 0.303093 0.303093 0.34096 0.412907 +0.456453 0.473493 0.510737 0.546737 0.548632 0.496213 0.35232 0.308773 +0.28416 0.274693 0.28984 0.310667 0.331493 0.32392 0.3012 0.291733 +0.29552 0.299307 0.3012 0.310667 0.327707 0.325813 0.32392 0.354213 +0.390187 0.371253 0.31824 0.303093 0.322027 0.342853 0.361787 0.358 +0.34664 0.365573 0.388293 0.416693 0.505684 0.614947 0.796842 0.936421 +0.983592 0.985224 0.980327 0.98751 0.996 1.00155 1.0022 0.996327 +0.996 1.00057 1.00612 1.00743 1.00743 1.00906 1.01004 1.01363 +1.01494 1.01331 1.00645 1.00024 0.995347 0.985224 0.968632 0.960421 +0.957263 0.957263 0.952211 0.947158 0.947789 0.967368 0.985224 0.933263 +0.741263 0.549895 0.435627 0.354213 0.26144 0.00096 0.000886667 0.00084 +0.000833333 0.000826667 0.00084 0.00082 0.0008 0.0008 0.00078 0.00076 +0.000786667 0.00082 0.00078 0.000746667 0.00074 0.000753333 0.000726667 0.000733333 +0.000766667 0.000773333 0.000766667 0.00076 0.00074 0.000753333 0.000746667 0.000746667 +0.000773333 0.000766667 0.000733333 0.00072 0.000753333 0.00076 0.000746667 0.000726667 +0.000706667 0.000713333 0.000726667 0.00074 0.00074 0.000713333 0.0007 0.000713333 +0.000726667 0.00074 0.000733333 0.000713333 0.0007 0.0007 0.000713333 0.00072 +0.00074 0.00074 0.000746667 0.000733333 0.000726667 0.000733333 0.00072 0.0007 +0.000713333 0.00072 0.000726667 0.000726667 0.000726667 0.000706667 0.0007 0.000706667 +0.0007 0.000693333 0.000706667 0.000733333 0.000726667 0.000706667 0.000706667 0.000706667 +0.0007 0.000693333 0.000706667 0.000706667 0.00072 0.000746667 0.00074 0.000726667 +0.00072 0.000733333 0.00072 0.000706667 0.00072 0.00074 0.000753333 0.000773333 +0.000766667 0.000793333 0.000953333 0.303093 0.34664 0.287947 0.26712 0.36368 +0.576421 0.808211 0.975579 0.986204 0.962947 0.950947 0.949053 0.952211 +0.964211 0.986857 1.0009 1.01004 1.01461 1.01657 1.01657 1.0169 +1.02082 1.03584 1.06 1.11326 1.12086 1.10108 1.06152 1.05543 +1.09195 1.12695 1.01886 0.925684 0.828421 0.702105 0.566316 0.458347 +0.38072 0.361787 0.34664 0.33528 0.34096 0.354213 0.344747 0.31824 +0.316347 0.320133 0.32392 0.31824 0.29552 0.286053 0.28416 0.320133 +0.4148 0.467813 0.373147 0.293627 0.310667 0.34096 0.36368 0.348533 +0.308773 0.286053 0.28416 0.344747 0.441307 0.405333 0.32392 0.28984 +0.287947 0.293627 0.28416 0.282267 0.286053 0.297413 0.32392 0.350427 +0.358 0.354213 0.339067 0.303093 0.30688 0.325813 0.308773 0.297413 +0.320133 0.322027 0.33528 0.34096 0.325813 0.3296 0.34664 0.333387 +0.350427 0.356107 0.34096 0.356107 0.405333 0.4148 0.354213 0.337173 +0.359893 0.348533 0.33528 0.337173 0.314453 0.31256 0.33528 0.34096 +0.35232 0.35232 0.3296 0.333387 0.356107 0.43752 0.4716 0.411013 +0.344747 0.327707 0.356107 0.371253 0.344747 0.35232 0.439413 0.490533 +0.452667 0.418587 0.428053 0.4432 0.424267 0.39208 0.384507 0.3864 +0.373147 0.354213 0.342853 0.382613 0.452667 0.456453 0.407227 0.38072 +0.361787 0.348533 0.348533 0.361787 0.3864 0.411013 0.405333 0.401547 +0.399653 0.433733 0.575158 0.761474 0.902947 0.967368 0.995673 1.01233 +1.02212 1.02963 1.03812 1.04629 1.04792 1.04661 1.04759 1.04759 +1.04727 1.0489 1.04988 1.04792 1.04922 1.05118 1.05118 1.05118 +1.05184 1.04922 1.04792 1.04857 1.0502 1.05314 1.05216 1.04727 +1.04498 1.04204 1.044 1.04563 1.04661 1.04629 1.04759 1.04498 +1.04041 1.04465 1.04237 1.03845 1.03878 1.04106 1.04563 1.04465 +1.04302 1.04335 1.04694 1.04563 1.04498 1.04824 1.04759 1.04498 +1.04531 1.04302 1.04531 1.04857 1.04629 1.04302 1.04171 1.04237 +1.044 1.044 1.04106 1.04041 1.04139 1.0391 1.03943 1.04139 +1.04139 1.03682 1.03616 1.03486 1.02931 1.02702 1.02996 1.03355 +1.03388 1.03747 1.03878 1.03943 1.03845 1.03976 1.04073 1.03943 +1.04139 1.04269 1.04106 1.04302 1.04433 1.04041 1.03976 1.04204 +1.04335 1.04269 1.04204 1.04302 1.04498 1.04367 1.04335 1.04367 +1.04596 1.04498 1.04041 1.04073 1.04367 1.044 1.04596 1.04922 +1.04857 1.04694 1.04727 1.04596 1.044 1.04302 1.04498 1.04596 +1.04171 1.04073 1.04498 1.04498 1.04171 1.04237 1.04465 1.044 +1.04367 1.04433 1.04596 1.04629 1.04204 1.03714 1.03551 1.03453 +1.03257 1.02931 1.02996 1.03355 1.03355 1.03453 1.03616 1.03551 +1.03388 1.03355 1.0329 1.03224 1.03322 1.03388 1.0329 1.03159 +1.03159 1.03257 1.03061 1.03127 1.0329 1.03127 1.03061 1.02963 +1.02767 1.02114 1.00776 0.989469 0.950947 0.868842 0.724842 0.570737 +0.4432 0.333387 0.314453 0.384507 0.521474 0.608 0.686316 0.703368 +0.658526 0.582737 0.513895 0.42048 0.358 0.331493 0.331493 0.327707 +0.33528 0.34664 0.331493 0.322027 0.316347 0.333387 0.382613 0.46592 +0.503158 0.506316 0.530316 0.550526 0.517684 0.3864 0.304987 0.3012 +0.291733 0.28416 0.28984 0.293627 0.314453 0.344747 0.348533 0.32392 +0.304987 0.297413 0.293627 0.299307 0.316347 0.32392 0.31824 0.344747 +0.365573 0.34664 0.320133 0.31256 0.325813 0.350427 0.356107 0.342853 +0.339067 0.36368 0.390187 0.4148 0.502526 0.613684 0.798737 0.935789 +0.983592 0.986204 0.982286 0.989469 0.999918 1.00416 1.00384 0.998939 +0.996653 1.00286 1.01004 1.01102 1.00873 1.00808 1.00841 1.01102 +1.01069 1.01102 1.00906 1.0071 1.00188 0.990776 0.971789 0.961684 +0.958526 0.959158 0.956632 0.952211 0.949053 0.954105 0.978105 0.976211 +0.848632 0.633263 0.492427 0.37504 0.287947 0.000973333 0.000893333 0.00088 +0.000866667 0.000853333 0.000826667 0.000786667 0.000773333 0.0008 0.000806667 0.0008 +0.000813333 0.0008 0.000746667 0.00072 0.000733333 0.000766667 0.000733333 0.000746667 +0.000786667 0.000753333 0.000746667 0.00074 0.00074 0.000773333 0.000773333 0.000766667 +0.00076 0.00072 0.0007 0.000713333 0.0007 0.000713333 0.000726667 0.000733333 +0.00072 0.000706667 0.000693333 0.000706667 0.00072 0.000726667 0.00072 0.0007 +0.0007 0.0007 0.000693333 0.000693333 0.000686667 0.000686667 0.000693333 0.000686667 +0.000706667 0.0007 0.000706667 0.000706667 0.000706667 0.00072 0.00074 0.00072 +0.000693333 0.000693333 0.000693333 0.000706667 0.00072 0.000726667 0.000706667 0.000706667 +0.000713333 0.000706667 0.0007 0.00072 0.000726667 0.000706667 0.000713333 0.000726667 +0.000713333 0.0007 0.000686667 0.000673333 0.000686667 0.000706667 0.000726667 0.000733333 +0.00074 0.00074 0.00074 0.000733333 0.000733333 0.000733333 0.000753333 0.00078 +0.000773333 0.000826667 0.25008 0.344747 0.322027 0.257653 0.282267 0.46592 +0.671158 0.904211 0.991102 0.981306 0.957895 0.949684 0.947789 0.953474 +0.974316 0.993388 1.00645 1.01494 1.01788 1.01918 1.0182 1.01951 +1.02833 1.04988 1.12695 1.15586 1.12239 1.06456 1.05086 1.04922 +1.08739 1.14217 1.01853 0.907368 0.794947 0.657895 0.534105 0.422373 +0.371253 0.356107 0.35232 0.35232 0.358 0.354213 0.33528 0.308773 +0.3012 0.316347 0.325813 0.337173 0.320133 0.308773 0.322027 0.365573 +0.439413 0.429947 0.31824 0.265227 0.270907 0.297413 0.34664 0.35232 +0.314453 0.28416 0.280373 0.325813 0.376933 0.354213 0.322027 0.297413 +0.286053 0.274693 0.263333 0.263333 0.269013 0.293627 0.327707 0.348533 +0.32392 0.31256 0.331493 0.31824 0.29552 0.303093 0.297413 0.287947 +0.31824 0.344747 0.365573 0.376933 0.358 0.359893 0.399653 0.39208 +0.359893 0.356107 0.34664 0.356107 0.395867 0.395867 0.35232 0.33528 +0.344747 0.333387 0.333387 0.337173 0.32392 0.314453 0.31824 0.314453 +0.33528 0.348533 0.327707 0.322027 0.333387 0.356107 0.388293 0.378827 +0.350427 0.3296 0.34096 0.35232 0.342853 0.3296 0.36368 0.4148 +0.424267 0.416693 0.435627 0.469707 0.467813 0.464027 0.467813 0.416693 +0.367467 0.373147 0.37504 0.38072 0.446987 0.506316 0.498107 0.429947 +0.365573 0.342853 0.356107 0.367467 0.359893 0.373147 0.384507 0.388293 +0.38072 0.3864 0.529684 0.704 0.870105 0.951579 0.989469 1.00939 +1.02506 1.03486 1.04073 1.04661 1.04694 1.04563 1.04694 1.04792 +1.04727 1.04824 1.05053 1.04988 1.0489 1.05216 1.05282 1.05118 +1.05086 1.04922 1.04727 1.04727 1.04922 1.05216 1.05086 1.04857 +1.04727 1.04465 1.044 1.04531 1.04531 1.04367 1.04498 1.04433 +1.03943 1.04171 1.044 1.04204 1.04106 1.04008 1.04563 1.04824 +1.04498 1.04204 1.044 1.04596 1.04694 1.04922 1.04792 1.04498 +1.04759 1.04269 1.04139 1.04498 1.04433 1.04302 1.04237 1.04204 +1.04367 1.04531 1.04171 1.03747 1.03976 1.03812 1.03812 1.04041 +1.04073 1.0342 1.0329 1.03486 1.02931 1.02833 1.03322 1.03682 +1.03551 1.03551 1.03551 1.0378 1.0391 1.04204 1.04269 1.04073 +1.044 1.04465 1.04073 1.04008 1.04106 1.0391 1.03747 1.04139 +1.04465 1.04237 1.04106 1.04171 1.04335 1.04433 1.04204 1.04139 +1.04433 1.04531 1.044 1.044 1.04465 1.04335 1.04531 1.0502 +1.04727 1.04335 1.04465 1.04661 1.04596 1.04367 1.04531 1.04727 +1.04498 1.04204 1.04269 1.04433 1.04171 1.04106 1.04269 1.04563 +1.04694 1.04596 1.04759 1.04759 1.04433 1.03845 1.03486 1.03551 +1.03159 1.02604 1.028 1.03388 1.0342 1.0329 1.03486 1.03616 +1.03518 1.03355 1.03224 1.03388 1.03518 1.03453 1.03388 1.03486 +1.03127 1.03029 1.03127 1.03094 1.03029 1.02996 1.03061 1.02963 +1.02669 1.02114 1.00678 0.990122 0.949684 0.839158 0.68 0.543579 +0.399653 0.30688 0.339067 0.510105 0.621895 0.740632 0.806316 0.795579 +0.722316 0.621263 0.533474 0.462133 0.411013 0.376933 0.342853 0.3296 +0.34664 0.36368 0.344747 0.331493 0.34664 0.382613 0.42048 0.462133 +0.479173 0.500632 0.530947 0.532842 0.462133 0.337173 0.3012 0.304987 +0.304987 0.293627 0.28416 0.280373 0.297413 0.325813 0.350427 0.34664 +0.31824 0.304987 0.299307 0.299307 0.31256 0.34096 0.350427 0.344747 +0.333387 0.31256 0.3012 0.310667 0.337173 0.371253 0.36936 0.354213 +0.354213 0.378827 0.393973 0.4148 0.496213 0.597895 0.784842 0.933263 +0.981633 0.985878 0.983265 0.992735 1.00482 1.0071 1.00384 0.999592 +0.996327 1.00024 1.01102 1.01298 1.01037 1.00873 1.00873 1.01102 +1.01069 1.01069 1.00939 1.00743 1.00318 0.992735 0.976842 0.961684 +0.957895 0.956632 0.952842 0.951579 0.950947 0.948421 0.963579 0.984245 +0.929474 0.731789 0.538526 0.3864 0.31256 0.229253 0.000906667 0.000866667 +0.000826667 0.00082 0.00082 0.000806667 0.000833333 0.000853333 0.000826667 0.000786667 +0.000773333 0.000746667 0.000753333 0.000773333 0.000773333 0.00078 0.00074 0.00074 +0.00074 0.00072 0.000753333 0.000766667 0.000773333 0.000753333 0.000706667 0.000706667 +0.00072 0.000753333 0.000766667 0.000766667 0.00072 0.000673333 0.000673333 0.000693333 +0.000733333 0.000726667 0.00072 0.00074 0.000726667 0.000713333 0.0007 0.000693333 +0.000706667 0.0007 0.000686667 0.000686667 0.000693333 0.0007 0.000713333 0.000693333 +0.000693333 0.0007 0.0007 0.000693333 0.00068 0.000693333 0.000733333 0.000726667 +0.0007 0.0007 0.000693333 0.000686667 0.00068 0.000693333 0.000686667 0.000713333 +0.000726667 0.000733333 0.000733333 0.000726667 0.000726667 0.000706667 0.0007 0.000706667 +0.000706667 0.000686667 0.00068 0.000693333 0.0007 0.000713333 0.000713333 0.000713333 +0.000713333 0.00072 0.00074 0.000753333 0.00076 0.000753333 0.000753333 0.000793333 +0.00082 0.000926667 0.293627 0.350427 0.287947 0.257653 0.333387 0.549263 +0.777263 0.968 0.990776 0.971158 0.956 0.949053 0.945895 0.959158 +0.983592 1.00057 1.01167 1.01755 1.01951 1.02049 1.01918 1.02343 +1.03649 1.06609 1.1726 1.16956 1.10108 1.05184 1.04106 1.04269 +1.10869 1.17108 1.01494 0.886526 0.760211 0.617474 0.507579 0.39776 +0.365573 0.36368 0.36936 0.367467 0.354213 0.339067 0.325813 0.303093 +0.293627 0.30688 0.31824 0.342853 0.36368 0.365573 0.36368 0.373147 +0.38072 0.33528 0.280373 0.269013 0.26712 0.2728 0.30688 0.333387 +0.316347 0.297413 0.297413 0.322027 0.3296 0.304987 0.304987 0.297413 +0.28416 0.276587 0.27848 0.280373 0.274693 0.280373 0.30688 0.310667 +0.287947 0.28416 0.31256 0.30688 0.3012 0.310667 0.308773 0.299307 +0.30688 0.337173 0.378827 0.38072 0.35232 0.350427 0.401547 0.42048 +0.38072 0.354213 0.342853 0.3296 0.337173 0.361787 0.358 0.344747 +0.34664 0.339067 0.339067 0.34096 0.333387 0.322027 0.308773 0.31256 +0.327707 0.339067 0.322027 0.314453 0.32392 0.34664 0.365573 0.359893 +0.34096 0.325813 0.3296 0.325813 0.320133 0.31824 0.33528 0.359893 +0.37504 0.38072 0.393973 0.42048 0.429947 0.43752 0.48296 0.486747 +0.435627 0.4148 0.40344 0.393973 0.458347 0.524632 0.530316 0.511368 +0.4716 0.42616 0.39776 0.36936 0.342853 0.358 0.39776 0.40912 +0.371253 0.34096 0.458347 0.638316 0.825895 0.935789 0.984571 1.00678 +1.02571 1.03616 1.04171 1.04661 1.04596 1.04465 1.04531 1.04792 +1.0489 1.04922 1.0502 1.0502 1.0489 1.0502 1.05216 1.05086 +1.05086 1.05086 1.04955 1.04857 1.04824 1.04857 1.04792 1.04857 +1.04857 1.04727 1.04498 1.04563 1.04629 1.04465 1.04465 1.04465 +1.04237 1.04335 1.04563 1.04596 1.04367 1.03976 1.04335 1.04727 +1.04531 1.044 1.04335 1.04465 1.04694 1.04955 1.04727 1.04531 +1.04955 1.04498 1.04237 1.04498 1.044 1.04433 1.04302 1.04073 +1.04302 1.04759 1.04727 1.04237 1.03976 1.03682 1.03649 1.0391 +1.04008 1.03616 1.03322 1.03094 1.02539 1.02735 1.0342 1.03878 +1.04041 1.03943 1.03486 1.03747 1.0391 1.04041 1.04171 1.04139 +1.04661 1.04759 1.04367 1.04237 1.04106 1.0391 1.03747 1.04106 +1.04433 1.04302 1.04302 1.04204 1.04204 1.04531 1.04237 1.04106 +1.04269 1.04204 1.04465 1.04563 1.04727 1.04629 1.04563 1.0489 +1.04661 1.044 1.04302 1.04629 1.04792 1.04335 1.04335 1.04531 +1.04727 1.04498 1.04269 1.04106 1.03976 1.04204 1.04302 1.04367 +1.04531 1.04629 1.04792 1.04531 1.04465 1.04237 1.03682 1.03322 +1.02996 1.02931 1.03322 1.03649 1.03649 1.03518 1.03649 1.03584 +1.03616 1.03518 1.03355 1.03453 1.03518 1.03322 1.03192 1.03518 +1.03388 1.03224 1.0329 1.03029 1.02963 1.02963 1.02898 1.02604 +1.0218 1.01657 1.00482 0.98751 0.926947 0.789895 0.628211 0.516421 +0.388293 0.354213 0.4716 0.596 0.734316 0.850526 0.884 0.834105 +0.729263 0.618105 0.534737 0.475387 0.433733 0.3864 0.34096 0.337173 +0.359893 0.359893 0.342853 0.34096 0.393973 0.435627 0.4432 0.43184 +0.418587 0.456453 0.513895 0.510105 0.42048 0.34664 0.320133 0.314453 +0.322027 0.31824 0.304987 0.28416 0.282267 0.28984 0.31824 0.344747 +0.33528 0.31824 0.314453 0.31256 0.322027 0.35232 0.376933 0.342853 +0.316347 0.31256 0.30688 0.320133 0.34664 0.376933 0.388293 0.382613 +0.378827 0.393973 0.40912 0.418587 0.47728 0.575158 0.753895 0.914947 +0.974316 0.983918 0.984245 0.997306 1.01396 1.0169 1.01167 1.00547 +1.00155 1.00122 1.00841 1.01265 1.01004 1.01004 1.01233 1.01396 +1.01331 1.012 1.00971 1.00808 1.00612 0.999918 0.987184 0.971158 +0.957263 0.954737 0.952842 0.949684 0.951579 0.948421 0.952211 0.977474 +0.972421 0.832211 0.611789 0.45456 0.350427 0.263333 0.00092 0.000853333 +0.0008 0.000806667 0.00084 0.000833333 0.000833333 0.00082 0.00078 0.000753333 +0.000773333 0.0008 0.000813333 0.000813333 0.000793333 0.000753333 0.00074 0.000753333 +0.000753333 0.00074 0.00076 0.000753333 0.000733333 0.000713333 0.0007 0.00074 +0.00076 0.00078 0.0008 0.00078 0.000753333 0.00074 0.000713333 0.0007 +0.0007 0.0007 0.0007 0.00072 0.000746667 0.000753333 0.000733333 0.000713333 +0.0007 0.000693333 0.000693333 0.00068 0.000686667 0.0007 0.000706667 0.0007 +0.00068 0.000693333 0.00072 0.000726667 0.000706667 0.000693333 0.00072 0.00072 +0.000693333 0.000673333 0.000693333 0.000713333 0.00072 0.000726667 0.000706667 0.000693333 +0.000686667 0.000713333 0.000726667 0.000713333 0.00074 0.00074 0.00072 0.00072 +0.000713333 0.0007 0.000693333 0.000706667 0.00072 0.000746667 0.000766667 0.000746667 +0.000726667 0.00072 0.000733333 0.000753333 0.000766667 0.00076 0.00076 0.0008 +0.000853333 0.234933 0.33528 0.325813 0.248187 0.26144 0.412907 0.633895 +0.877053 0.990122 0.983265 0.955368 0.947158 0.944 0.945895 0.968632 +0.990449 1.0058 1.01429 1.01755 1.01918 1.02082 1.02049 1.02898 +1.04596 1.11326 1.18934 1.14825 1.06304 1.044 1.03486 1.03976 +1.12847 1.16803 1.00514 0.859368 0.725474 0.580211 0.46024 0.384507 +0.376933 0.373147 0.365573 0.35232 0.333387 0.325813 0.325813 0.303093 +0.291733 0.293627 0.316347 0.348533 0.365573 0.350427 0.331493 0.337173 +0.339067 0.308773 0.286053 0.27848 0.276587 0.282267 0.28984 0.31824 +0.314453 0.303093 0.30688 0.31256 0.297413 0.286053 0.297413 0.308773 +0.30688 0.308773 0.303093 0.29552 0.28984 0.282267 0.28416 0.286053 +0.28416 0.28984 0.304987 0.303093 0.29552 0.314453 0.31824 0.3012 +0.3012 0.327707 0.358 0.350427 0.331493 0.333387 0.359893 0.382613 +0.361787 0.356107 0.348533 0.327707 0.337173 0.365573 0.38072 0.358 +0.344747 0.33528 0.339067 0.339067 0.33528 0.339067 0.34664 0.339067 +0.325813 0.325813 0.327707 0.308773 0.308773 0.339067 0.371253 0.361787 +0.342853 0.34664 0.348533 0.33528 0.32392 0.339067 0.367467 0.384507 +0.36936 0.359893 0.37504 0.405333 0.416693 0.395867 0.422373 0.503789 +0.506316 0.44888 0.40912 0.405333 0.456453 0.498107 0.48296 0.496213 +0.506947 0.504421 0.458347 0.395867 0.376933 0.39208 0.42616 0.429947 +0.382613 0.359893 0.435627 0.601684 0.792421 0.92379 0.980327 0.999918 +1.01755 1.03094 1.04139 1.04759 1.0502 1.04759 1.04531 1.04694 +1.04857 1.05053 1.05118 1.05184 1.05184 1.0502 1.05086 1.0502 +1.0502 1.05151 1.0489 1.04694 1.04759 1.04759 1.04759 1.04857 +1.04694 1.04661 1.04498 1.04498 1.04629 1.04596 1.04531 1.04269 +1.04269 1.04335 1.04563 1.04727 1.04433 1.04171 1.04367 1.04498 +1.044 1.04596 1.04629 1.04563 1.04629 1.04792 1.04824 1.04629 +1.04759 1.04563 1.04596 1.04661 1.04335 1.04596 1.04433 1.04041 +1.04008 1.04237 1.04498 1.04465 1.04139 1.04106 1.04041 1.03943 +1.03878 1.03551 1.0329 1.03127 1.02735 1.028 1.03224 1.03616 +1.03845 1.03976 1.0378 1.04008 1.03976 1.03943 1.04335 1.044 +1.04531 1.04367 1.04204 1.04433 1.044 1.04106 1.03878 1.04204 +1.04433 1.04139 1.04106 1.04269 1.04106 1.04367 1.04237 1.04302 +1.04204 1.04041 1.04563 1.044 1.04531 1.04694 1.04465 1.04629 +1.04498 1.04465 1.04269 1.04498 1.04792 1.04563 1.04465 1.04465 +1.04531 1.04335 1.044 1.04073 1.04041 1.04367 1.04433 1.04139 +1.04171 1.0489 1.04955 1.04433 1.04367 1.04302 1.0391 1.03224 +1.02865 1.03192 1.03682 1.03551 1.03257 1.0342 1.03388 1.0329 +1.03355 1.0342 1.03551 1.03551 1.0342 1.03257 1.03355 1.03453 +1.0342 1.0342 1.0342 1.03061 1.02898 1.03061 1.02865 1.02669 +1.02212 1.01429 1.00155 0.982286 0.891579 0.732421 0.580842 0.4716 +0.390187 0.45456 0.550526 0.668632 0.799368 0.892211 0.893474 0.806316 +0.677474 0.570105 0.510737 0.441307 0.401547 0.359893 0.325813 0.3296 +0.34096 0.342853 0.367467 0.407227 0.46024 0.479173 0.452667 0.40912 +0.3864 0.42048 0.49432 0.505053 0.43752 0.359893 0.32392 0.310667 +0.316347 0.327707 0.31824 0.293627 0.28416 0.28416 0.299307 0.327707 +0.33528 0.322027 0.31256 0.316347 0.337173 0.367467 0.40912 0.388293 +0.348533 0.34096 0.34664 0.36368 0.37504 0.371253 0.378827 0.390187 +0.390187 0.39776 0.42048 0.428053 0.464027 0.559368 0.729263 0.899158 +0.973053 0.984571 0.98751 1.00449 1.02539 1.03029 1.02343 1.01265 +1.00743 1.00449 1.00612 1.01069 1.01102 1.01167 1.01396 1.01624 +1.01527 1.01461 1.01396 1.01298 1.01135 1.00612 0.995673 0.978737 +0.959158 0.957263 0.959158 0.953474 0.952842 0.949684 0.944632 0.960421 +0.982286 0.916842 0.710947 0.527158 0.39776 0.31256 0.216 0.00088 +0.00084 0.000826667 0.000826667 0.00078 0.000746667 0.00074 0.000746667 0.000786667 +0.000806667 0.0008 0.000773333 0.000766667 0.000786667 0.000753333 0.000753333 0.000773333 +0.00078 0.000773333 0.000753333 0.000753333 0.00076 0.000753333 0.000773333 0.00078 +0.000766667 0.00076 0.000746667 0.000733333 0.00072 0.000726667 0.000726667 0.00072 +0.00072 0.000726667 0.0007 0.000673333 0.000693333 0.000706667 0.000713333 0.000733333 +0.00074 0.000733333 0.00074 0.000706667 0.000693333 0.0007 0.000686667 0.000706667 +0.000706667 0.0007 0.000713333 0.00072 0.000693333 0.00068 0.00072 0.000733333 +0.000726667 0.000706667 0.000693333 0.000693333 0.000713333 0.00072 0.00072 0.00072 +0.0007 0.000706667 0.000686667 0.000686667 0.000706667 0.000706667 0.00072 0.00074 +0.000753333 0.000753333 0.000706667 0.0007 0.000726667 0.000726667 0.00074 0.000753333 +0.000746667 0.000746667 0.00076 0.000786667 0.000766667 0.00076 0.00076 0.0008 +0.000893333 0.27848 0.348533 0.293627 0.240613 0.293627 0.517053 0.732421 +0.947158 0.992082 0.972421 0.950947 0.946526 0.942105 0.949684 0.976211 +0.994694 1.00841 1.01592 1.01788 1.02114 1.0231 1.02441 1.03682 +1.05739 1.1589 1.18934 1.1163 1.05249 1.03845 1.03224 1.04302 +1.13152 1.11934 0.990449 0.831579 0.695789 0.555579 0.43184 0.376933 +0.373147 0.371253 0.35232 0.333387 0.316347 0.314453 0.314453 0.303093 +0.299307 0.3012 0.337173 0.354213 0.337173 0.308773 0.3012 0.314453 +0.327707 0.303093 0.28984 0.293627 0.297413 0.28984 0.286053 0.293627 +0.293627 0.293627 0.299307 0.29552 0.286053 0.291733 0.30688 0.316347 +0.31256 0.322027 0.31824 0.303093 0.299307 0.29552 0.291733 0.291733 +0.3012 0.314453 0.314453 0.304987 0.310667 0.325813 0.3296 0.314453 +0.314453 0.3296 0.342853 0.34096 0.3296 0.322027 0.3296 0.339067 +0.337173 0.34664 0.350427 0.333387 0.339067 0.361787 0.384507 0.373147 +0.344747 0.34096 0.348533 0.367467 0.361787 0.365573 0.388293 0.382613 +0.354213 0.339067 0.33528 0.322027 0.314453 0.333387 0.361787 0.358 +0.342853 0.34664 0.358 0.358 0.34664 0.365573 0.388293 0.399653 +0.388293 0.36368 0.373147 0.401547 0.416693 0.390187 0.38072 0.445093 +0.484853 0.42616 0.393973 0.407227 0.44888 0.433733 0.373147 0.38072 +0.42616 0.4716 0.500632 0.504421 0.503158 0.48864 0.475387 0.464027 +0.428053 0.433733 0.508211 0.606105 0.770947 0.904211 0.964842 0.993388 +1.01265 1.02963 1.04204 1.04824 1.05053 1.04759 1.04498 1.04759 +1.04988 1.05151 1.05151 1.05249 1.05412 1.05151 1.05053 1.04988 +1.04824 1.04955 1.04922 1.04824 1.04955 1.05086 1.05053 1.04988 +1.04629 1.04694 1.04661 1.04498 1.04498 1.04563 1.04694 1.04498 +1.04335 1.04269 1.04531 1.04857 1.04563 1.04335 1.04498 1.04531 +1.04531 1.04792 1.04857 1.04596 1.04531 1.04563 1.04661 1.04629 +1.04563 1.04367 1.04759 1.04824 1.04302 1.044 1.04171 1.04106 +1.04139 1.04008 1.03878 1.04073 1.04041 1.03943 1.0391 1.03812 +1.0378 1.0342 1.03159 1.02898 1.02767 1.03061 1.03388 1.03682 +1.0342 1.03747 1.03976 1.04237 1.04106 1.03878 1.04237 1.044 +1.04531 1.04008 1.04041 1.044 1.04335 1.04073 1.04008 1.04302 +1.04465 1.04073 1.04073 1.044 1.04139 1.03976 1.04106 1.04269 +1.04106 1.04204 1.04661 1.04302 1.04335 1.04694 1.04465 1.044 +1.04367 1.04367 1.04269 1.04367 1.04596 1.04563 1.04433 1.04465 +1.04237 1.04204 1.044 1.04106 1.04171 1.04335 1.044 1.04171 +1.04269 1.04824 1.04792 1.04531 1.04498 1.04204 1.03845 1.03518 +1.03388 1.03518 1.03714 1.03649 1.0342 1.0329 1.03486 1.03616 +1.0342 1.03127 1.03257 1.03584 1.03682 1.03518 1.0342 1.03551 +1.03518 1.0342 1.03453 1.03257 1.03061 1.03257 1.02996 1.02735 +1.0218 1.01167 0.997306 0.966737 0.844842 0.671158 0.544211 0.43752 +0.40344 0.508842 0.590316 0.699579 0.803789 0.854316 0.812632 0.700211 +0.580211 0.506316 0.4432 0.399653 0.358 0.339067 0.322027 0.322027 +0.31824 0.339067 0.424267 0.49432 0.49432 0.467813 0.439413 0.401547 +0.393973 0.411013 0.44888 0.479173 0.42616 0.348533 0.314453 0.3012 +0.299307 0.325813 0.3296 0.304987 0.314453 0.31256 0.303093 0.308773 +0.320133 0.31824 0.31256 0.32392 0.35232 0.399653 0.490533 0.511368 +0.5 0.464027 0.439413 0.422373 0.399653 0.371253 0.371253 0.388293 +0.390187 0.395867 0.424267 0.435627 0.458347 0.544211 0.703368 0.880211 +0.963579 0.980653 0.987837 1.01167 1.03584 1.04008 1.03224 1.02049 +1.01396 1.00906 1.0071 1.00971 1.01265 1.01298 1.01298 1.01657 +1.01722 1.01624 1.01722 1.01624 1.01298 1.00906 1.0022 0.986204 +0.967368 0.959789 0.959158 0.954737 0.955368 0.954105 0.946526 0.954737 +0.982612 0.968632 0.806947 0.590947 0.46024 0.365573 0.26144 0.000913333 +0.00082 0.000793333 0.000806667 0.000793333 0.00078 0.00078 0.00078 0.000793333 +0.000766667 0.000753333 0.00076 0.000793333 0.000806667 0.00078 0.00076 0.00074 +0.000733333 0.00076 0.000773333 0.000773333 0.00078 0.000793333 0.000786667 0.00076 +0.000733333 0.00074 0.000726667 0.00074 0.00072 0.000713333 0.0007 0.00068 +0.000686667 0.000706667 0.000713333 0.000713333 0.000706667 0.000706667 0.000693333 0.000706667 +0.000726667 0.000726667 0.00074 0.00072 0.000706667 0.000713333 0.000686667 0.000693333 +0.000706667 0.000686667 0.000706667 0.00072 0.000713333 0.000693333 0.000706667 0.00072 +0.00074 0.000733333 0.000733333 0.00072 0.000706667 0.0007 0.0007 0.00072 +0.00072 0.000713333 0.00072 0.000726667 0.00072 0.0007 0.0007 0.00072 +0.00074 0.000766667 0.000746667 0.00074 0.00074 0.000713333 0.000706667 0.00072 +0.00072 0.000746667 0.000766667 0.00078 0.000773333 0.000766667 0.00076 0.00078 +0.000973333 0.308773 0.320133 0.248187 0.25008 0.359893 0.592211 0.834105 +0.983918 0.986204 0.959158 0.949684 0.947158 0.944 0.957895 0.984571 +1.0009 1.01167 1.01592 1.0182 1.0218 1.02473 1.03029 1.0489 +1.12391 1.21673 1.20303 1.10108 1.04661 1.03322 1.03192 1.05151 +1.14977 1.05902 0.962947 0.802526 0.667368 0.537895 0.424267 0.373147 +0.361787 0.350427 0.327707 0.31256 0.304987 0.31256 0.308773 0.30688 +0.303093 0.322027 0.356107 0.344747 0.304987 0.286053 0.291733 0.308773 +0.320133 0.31256 0.29552 0.299307 0.314453 0.304987 0.29552 0.291733 +0.291733 0.29552 0.310667 0.3012 0.28416 0.286053 0.30688 0.320133 +0.32392 0.33528 0.34664 0.356107 0.34664 0.325813 0.320133 0.31824 +0.31824 0.31824 0.31824 0.31256 0.3296 0.358 0.350427 0.33528 +0.339067 0.348533 0.350427 0.34664 0.331493 0.320133 0.32392 0.327707 +0.337173 0.34664 0.348533 0.342853 0.34664 0.35232 0.359893 0.361787 +0.348533 0.339067 0.354213 0.37504 0.38072 0.376933 0.384507 0.376933 +0.359893 0.348533 0.35232 0.337173 0.3296 0.331493 0.34664 0.348533 +0.34096 0.354213 0.359893 0.358 0.361787 0.37504 0.371253 0.367467 +0.393973 0.412907 0.39776 0.395867 0.3864 0.365573 0.350427 0.384507 +0.433733 0.399653 0.356107 0.371253 0.429947 0.42616 0.378827 0.36368 +0.371253 0.40344 0.46592 0.506947 0.510737 0.501263 0.47728 0.473493 +0.445093 0.424267 0.464027 0.553053 0.697053 0.847368 0.934526 0.984898 +1.00808 1.02833 1.044 1.04955 1.04988 1.04792 1.04792 1.04955 +1.0502 1.05151 1.05184 1.05184 1.0502 1.04955 1.05053 1.05249 +1.05118 1.04988 1.05151 1.05216 1.04955 1.04824 1.0502 1.04955 +1.04694 1.04759 1.04759 1.04563 1.04759 1.04661 1.04792 1.04955 +1.04694 1.04498 1.04727 1.04857 1.04629 1.04433 1.04563 1.04661 +1.04727 1.04661 1.04629 1.04367 1.04596 1.04661 1.044 1.04531 +1.04759 1.04433 1.04563 1.04694 1.04433 1.04433 1.04139 1.04139 +1.04204 1.04237 1.04041 1.04106 1.04171 1.03714 1.03747 1.03714 +1.03486 1.03192 1.02931 1.02637 1.02604 1.02931 1.03355 1.03747 +1.03616 1.03845 1.03812 1.04204 1.04237 1.03976 1.04041 1.04008 +1.04465 1.04237 1.04106 1.04269 1.03812 1.03551 1.03812 1.04073 +1.04106 1.04008 1.04073 1.04269 1.04269 1.03976 1.04204 1.04237 +1.04139 1.044 1.04433 1.04465 1.04465 1.04563 1.04498 1.044 +1.04302 1.04302 1.04498 1.04498 1.04465 1.04531 1.04498 1.04465 +1.04367 1.04531 1.04367 1.04106 1.04302 1.04335 1.04335 1.04237 +1.04498 1.04694 1.04563 1.04629 1.04596 1.04171 1.03714 1.03551 +1.0378 1.0391 1.0378 1.03682 1.03649 1.03453 1.03257 1.03551 +1.03682 1.03224 1.03061 1.03257 1.03518 1.03616 1.03453 1.03616 +1.03747 1.0329 1.03159 1.03322 1.03224 1.03257 1.03159 1.028 +1.01951 1.00612 0.989143 0.928842 0.784842 0.619368 0.517684 0.416693 +0.42048 0.515158 0.589053 0.679368 0.746947 0.745684 0.673684 0.572632 +0.473493 0.371253 0.3864 0.384507 0.342853 0.325813 0.310667 0.303093 +0.337173 0.424267 0.510737 0.523368 0.505684 0.464027 0.433733 0.407227 +0.405333 0.399653 0.407227 0.422373 0.3864 0.339067 0.308773 0.297413 +0.310667 0.344747 0.333387 0.310667 0.327707 0.325813 0.308773 0.3012 +0.30688 0.31824 0.33528 0.359893 0.424267 0.515789 0.576421 0.614947 +0.607368 0.570105 0.527789 0.473493 0.399653 0.358 0.348533 0.373147 +0.384507 0.401547 0.43184 0.43752 0.450773 0.530947 0.677474 0.856211 +0.950947 0.974316 0.988816 1.01918 1.04139 1.04661 1.04269 1.03159 +1.02082 1.01233 1.00841 1.00906 1.012 1.01298 1.01265 1.01527 +1.01624 1.01396 1.01461 1.01559 1.01494 1.01363 1.00841 0.994041 +0.978737 0.968632 0.963579 0.957263 0.955368 0.955368 0.949053 0.953474 +0.980653 0.988816 0.900421 0.681895 0.521474 0.407227 0.28984 0.000926667 +0.000786667 0.000766667 0.000806667 0.00082 0.0008 0.000773333 0.000786667 0.000786667 +0.000746667 0.00076 0.00078 0.000773333 0.00074 0.00072 0.000733333 0.00076 +0.0008 0.000806667 0.0008 0.00078 0.000773333 0.000753333 0.00072 0.000713333 +0.000726667 0.000766667 0.00078 0.00076 0.000726667 0.000733333 0.000746667 0.00072 +0.000693333 0.00068 0.000693333 0.0007 0.000706667 0.000706667 0.000713333 0.00072 +0.00072 0.0007 0.000706667 0.0007 0.00068 0.000706667 0.000713333 0.000706667 +0.000713333 0.000686667 0.000693333 0.00072 0.000726667 0.000706667 0.000693333 0.000713333 +0.00072 0.000706667 0.000706667 0.000693333 0.000693333 0.000686667 0.000673333 0.000686667 +0.000686667 0.000693333 0.000706667 0.000713333 0.00074 0.00074 0.00072 0.000706667 +0.000706667 0.00072 0.000733333 0.00074 0.00074 0.000733333 0.000733333 0.00074 +0.00072 0.000726667 0.00074 0.00074 0.000746667 0.00076 0.000766667 0.000853333 +0.25576 0.325813 0.282267 0.223573 0.263333 0.475387 0.688842 0.919368 +0.990449 0.973684 0.948421 0.947789 0.945263 0.945895 0.966737 0.990122 +1.00612 1.01494 1.01788 1.01951 1.02212 1.02571 1.03812 1.07826 +1.2076 1.27455 1.22129 1.1026 1.04629 1.03355 1.03486 1.06913 +1.17108 1.04498 0.925053 0.768421 0.638316 0.526526 0.424267 0.37504 +0.359893 0.344747 0.325813 0.316347 0.310667 0.308773 0.304987 0.310667 +0.316347 0.327707 0.33528 0.320133 0.286053 0.27848 0.282267 0.299307 +0.310667 0.308773 0.29552 0.291733 0.303093 0.31256 0.30688 0.31256 +0.31256 0.310667 0.31256 0.303093 0.28984 0.28984 0.31256 0.327707 +0.33528 0.358 0.378827 0.412907 0.407227 0.373147 0.356107 0.348533 +0.342853 0.333387 0.314453 0.316347 0.34096 0.367467 0.36368 0.354213 +0.354213 0.367467 0.378827 0.371253 0.350427 0.337173 0.33528 0.337173 +0.339067 0.339067 0.342853 0.34664 0.350427 0.348533 0.348533 0.348533 +0.354213 0.344747 0.342853 0.358 0.37504 0.38072 0.371253 0.361787 +0.365573 0.373147 0.36368 0.356107 0.35232 0.344747 0.348533 0.35232 +0.358 0.365573 0.36936 0.367467 0.38072 0.399653 0.390187 0.382613 +0.405333 0.424267 0.42048 0.399653 0.358 0.344747 0.342853 0.358 +0.407227 0.39208 0.34096 0.34096 0.382613 0.405333 0.384507 0.376933 +0.382613 0.39776 0.412907 0.429947 0.450773 0.4432 0.422373 0.422373 +0.401547 0.367467 0.358 0.467813 0.609263 0.779789 0.901053 0.968 +1.00024 1.02376 1.04139 1.04857 1.04955 1.0489 1.04922 1.0502 +1.04922 1.04988 1.05053 1.05053 1.0489 1.04759 1.04857 1.05118 +1.05216 1.05118 1.05184 1.05249 1.04792 1.04563 1.04857 1.04857 +1.04824 1.04824 1.04661 1.04563 1.04857 1.04824 1.04661 1.04759 +1.04694 1.04661 1.04824 1.04759 1.04531 1.044 1.044 1.04596 +1.04759 1.04531 1.04694 1.04335 1.044 1.04661 1.04433 1.04433 +1.04694 1.04465 1.04433 1.04531 1.04335 1.04237 1.04139 1.03976 +1.03714 1.04041 1.04171 1.04073 1.04041 1.03747 1.03845 1.03616 +1.03159 1.02865 1.02669 1.02702 1.02833 1.03257 1.03551 1.03551 +1.03518 1.03878 1.03616 1.04106 1.04139 1.03943 1.03976 1.03976 +1.04465 1.04596 1.04302 1.04335 1.0391 1.03584 1.03812 1.03943 +1.03943 1.03812 1.0391 1.04041 1.04269 1.04204 1.04269 1.04171 +1.04302 1.04629 1.04367 1.044 1.04433 1.04465 1.044 1.04498 +1.044 1.044 1.04661 1.04661 1.04367 1.04465 1.04531 1.04204 +1.04433 1.04563 1.04171 1.04204 1.04433 1.04563 1.04531 1.04335 +1.044 1.04563 1.04661 1.04661 1.04465 1.04073 1.03682 1.03551 +1.03747 1.03812 1.03649 1.03649 1.03682 1.03518 1.0329 1.03257 +1.03388 1.03159 1.03127 1.0329 1.03355 1.03486 1.03649 1.03584 +1.03682 1.03453 1.03159 1.03257 1.03257 1.03127 1.03094 1.02833 +1.01951 1.00253 0.975579 0.874526 0.715368 0.582105 0.502526 0.390187 +0.405333 0.504421 0.56 0.614947 0.643368 0.614316 0.544842 0.450773 +0.34096 0.30688 0.342853 0.382613 0.34096 0.303093 0.293627 0.310667 +0.40344 0.513895 0.532842 0.526526 0.517684 0.498107 0.42616 0.384507 +0.371253 0.358 0.37504 0.388293 0.36936 0.337173 0.30688 0.304987 +0.34664 0.358 0.304987 0.286053 0.327707 0.33528 0.316347 0.29552 +0.291733 0.308773 0.356107 0.42616 0.520211 0.590947 0.663579 0.700211 +0.672421 0.606737 0.538526 0.464027 0.38072 0.348533 0.333387 0.365573 +0.407227 0.439413 0.45456 0.441307 0.452667 0.524 0.659158 0.838526 +0.942737 0.971789 0.997306 1.03453 1.0502 1.05086 1.05118 1.04237 +1.02735 1.01461 1.01069 1.01037 1.01298 1.01363 1.01396 1.01559 +1.01657 1.01363 1.01461 1.01624 1.01592 1.01624 1.012 0.999918 +0.984571 0.975579 0.967368 0.961053 0.954737 0.952842 0.946526 0.947789 +0.970526 0.990776 0.964842 0.779158 0.569474 0.4432 0.342853 0.229253 +0.000826667 0.000806667 0.000833333 0.0008 0.000766667 0.000766667 0.000806667 0.0008 +0.00076 0.00074 0.00074 0.000753333 0.000746667 0.000753333 0.000766667 0.000813333 +0.00084 0.0008 0.000753333 0.000726667 0.000746667 0.00074 0.00072 0.00074 +0.00076 0.00076 0.00074 0.00072 0.000693333 0.00072 0.000726667 0.000713333 +0.0007 0.000713333 0.000693333 0.00068 0.00068 0.000693333 0.000686667 0.000686667 +0.000713333 0.000726667 0.000733333 0.000726667 0.0007 0.000706667 0.00072 0.000713333 +0.000713333 0.000706667 0.0007 0.00072 0.000746667 0.000733333 0.000693333 0.000686667 +0.000686667 0.00068 0.000686667 0.000673333 0.000666667 0.00068 0.000686667 0.000706667 +0.000713333 0.000713333 0.0007 0.00068 0.000686667 0.000713333 0.00072 0.00072 +0.000733333 0.000726667 0.000733333 0.00074 0.000746667 0.00074 0.000746667 0.00076 +0.00074 0.000746667 0.00074 0.000733333 0.000753333 0.000766667 0.00076 0.000933333 +0.304987 0.32392 0.25008 0.229253 0.310667 0.553684 0.792421 0.972421 +0.984898 0.957263 0.944632 0.947158 0.945263 0.950947 0.979368 0.995673 +1.00873 1.01592 1.02016 1.02147 1.02212 1.02735 1.04465 1.13304 +1.26085 1.29128 1.20151 1.07065 1.04171 1.03192 1.03878 1.10108 +1.1589 1.02506 0.875158 0.710316 0.587158 0.510737 0.433733 0.39208 +0.378827 0.36368 0.34664 0.327707 0.322027 0.310667 0.299307 0.304987 +0.310667 0.30688 0.310667 0.304987 0.28416 0.2728 0.274693 0.28984 +0.303093 0.3012 0.299307 0.299307 0.303093 0.308773 0.30688 0.320133 +0.333387 0.331493 0.316347 0.30688 0.303093 0.308773 0.331493 0.34096 +0.339067 0.34664 0.365573 0.40912 0.446987 0.435627 0.39776 0.365573 +0.361787 0.35232 0.33528 0.33528 0.361787 0.382613 0.373147 0.358 +0.354213 0.373147 0.382613 0.376933 0.36368 0.35232 0.348533 0.348533 +0.344747 0.342853 0.34096 0.350427 0.344747 0.342853 0.344747 0.342853 +0.344747 0.337173 0.337173 0.34664 0.367467 0.378827 0.365573 0.354213 +0.356107 0.358 0.358 0.354213 0.354213 0.348533 0.350427 0.359893 +0.358 0.358 0.358 0.36368 0.38072 0.40912 0.435627 0.46024 +0.46024 0.429947 0.422373 0.399653 0.358 0.358 0.359893 0.359893 +0.3864 0.382613 0.35232 0.34096 0.356107 0.367467 0.36936 0.37504 +0.40912 0.44888 0.428053 0.401547 0.411013 0.407227 0.376933 0.378827 +0.367467 0.35232 0.342853 0.39208 0.545474 0.704632 0.851158 0.937684 +0.990776 1.0182 1.03682 1.04596 1.05053 1.0489 1.04759 1.0489 +1.04955 1.0489 1.04759 1.04955 1.05184 1.04955 1.04759 1.04922 +1.04988 1.04988 1.0502 1.05086 1.04857 1.04563 1.04694 1.04629 +1.04596 1.04694 1.04596 1.04596 1.0489 1.04857 1.04661 1.04596 +1.04596 1.04563 1.04563 1.04596 1.04694 1.04694 1.044 1.04302 +1.04465 1.04629 1.0489 1.04629 1.04367 1.04629 1.04661 1.04498 +1.04661 1.04498 1.04465 1.04694 1.04335 1.04073 1.04139 1.04073 +1.03649 1.0391 1.04041 1.03976 1.03812 1.03616 1.03714 1.03355 +1.02931 1.02702 1.02506 1.028 1.03094 1.03518 1.03682 1.03486 +1.03714 1.04139 1.03943 1.04302 1.04204 1.04302 1.04302 1.04335 +1.04433 1.04661 1.04563 1.04302 1.04237 1.04041 1.03714 1.0378 +1.04041 1.0378 1.0391 1.04302 1.04302 1.04269 1.04367 1.04302 +1.04433 1.04661 1.04498 1.04335 1.044 1.04498 1.04433 1.04433 +1.04629 1.04629 1.04759 1.04661 1.04531 1.04661 1.04433 1.04073 +1.04433 1.044 1.04204 1.04498 1.04531 1.04531 1.04531 1.04563 +1.04498 1.04661 1.04857 1.04988 1.0489 1.04302 1.03584 1.0342 +1.03747 1.03649 1.03584 1.03649 1.03551 1.03388 1.03388 1.03388 +1.03159 1.03061 1.0329 1.03486 1.03551 1.03486 1.03584 1.03551 +1.03649 1.03616 1.03224 1.03061 1.03224 1.03127 1.02963 1.02376 +1.01233 0.994041 0.940211 0.810737 0.652211 0.545474 0.456453 0.371253 +0.390187 0.47728 0.525263 0.542947 0.544842 0.515789 0.407227 0.327707 +0.299307 0.293627 0.333387 0.376933 0.344747 0.299307 0.3012 0.34664 +0.452667 0.511368 0.505684 0.501895 0.514526 0.49432 0.39208 0.35232 +0.337173 0.32392 0.33528 0.344747 0.342853 0.33528 0.322027 0.327707 +0.348533 0.33528 0.28984 0.28984 0.331493 0.342853 0.32392 0.30688 +0.310667 0.327707 0.378827 0.46592 0.532211 0.586526 0.631368 0.649684 +0.616842 0.553053 0.501263 0.412907 0.367467 0.350427 0.331493 0.361787 +0.428053 0.46592 0.44888 0.429947 0.450773 0.515158 0.633895 0.813895 +0.928842 0.971158 1.00971 1.0551 1.06609 1.05314 1.05445 1.0489 +1.03616 1.02147 1.01494 1.01265 1.012 1.01331 1.01429 1.01559 +1.01853 1.01788 1.01788 1.01657 1.01592 1.01559 1.01396 1.00645 +0.993061 0.981959 0.969263 0.961053 0.954105 0.954105 0.952842 0.950316 +0.960421 0.980653 0.981633 0.861263 0.642105 0.506947 0.39776 0.28984 +0.000926667 0.000846667 0.000853333 0.00082 0.000813333 0.000826667 0.000813333 0.000793333 +0.00076 0.000733333 0.000726667 0.000753333 0.000766667 0.00076 0.00076 0.000773333 +0.000773333 0.000746667 0.000753333 0.000726667 0.000746667 0.000753333 0.000753333 0.00076 +0.000733333 0.000733333 0.00074 0.00074 0.000686667 0.000693333 0.000706667 0.000706667 +0.0007 0.00072 0.000706667 0.000693333 0.0007 0.000706667 0.000706667 0.0007 +0.0007 0.000713333 0.000706667 0.000706667 0.000726667 0.00074 0.000726667 0.000706667 +0.0007 0.000686667 0.000673333 0.000673333 0.0007 0.000733333 0.000713333 0.000693333 +0.000686667 0.000693333 0.000726667 0.000706667 0.000686667 0.000713333 0.000713333 0.000693333 +0.000686667 0.0007 0.00072 0.00072 0.000686667 0.000686667 0.000713333 0.00072 +0.00074 0.00074 0.00074 0.00076 0.000773333 0.000753333 0.00076 0.00076 +0.00074 0.000746667 0.000746667 0.000733333 0.000753333 0.000793333 0.000826667 0.242507 +0.33528 0.297413 0.22736 0.253867 0.411013 0.640842 0.884632 0.986531 +0.972421 0.948421 0.943368 0.947158 0.946526 0.962947 0.988816 1.0022 +1.01233 1.0169 1.02016 1.02114 1.0218 1.03061 1.05314 1.18173 +1.29128 1.26998 1.13608 1.04661 1.03061 1.02735 1.04106 1.11173 +1.1163 1.00253 0.812632 0.634526 0.530947 0.469707 0.418587 0.393973 +0.384507 0.371253 0.356107 0.342853 0.339067 0.325813 0.314453 0.31824 +0.30688 0.28984 0.29552 0.299307 0.28416 0.282267 0.28984 0.3012 +0.308773 0.310667 0.30688 0.310667 0.310667 0.310667 0.308773 0.31824 +0.342853 0.350427 0.322027 0.30688 0.30688 0.322027 0.34664 0.358 +0.348533 0.348533 0.356107 0.38072 0.435627 0.486747 0.464027 0.39776 +0.365573 0.35232 0.344747 0.354213 0.361787 0.382613 0.378827 0.36368 +0.36368 0.378827 0.37504 0.36368 0.361787 0.350427 0.350427 0.348533 +0.354213 0.34664 0.34096 0.348533 0.344747 0.33528 0.339067 0.34096 +0.337173 0.337173 0.33528 0.33528 0.342853 0.358 0.356107 0.339067 +0.35232 0.359893 0.354213 0.339067 0.337173 0.34096 0.34664 0.354213 +0.34664 0.34664 0.33528 0.33528 0.34096 0.361787 0.416693 0.496213 +0.507579 0.464027 0.422373 0.393973 0.371253 0.371253 0.36936 0.36936 +0.384507 0.382613 0.359893 0.358 0.35232 0.35232 0.361787 0.356107 +0.382613 0.446987 0.439413 0.39208 0.39208 0.399653 0.376933 0.358 +0.358 0.354213 0.344747 0.359893 0.500632 0.633895 0.798105 0.908 +0.98 1.01037 1.03159 1.04335 1.0502 1.05282 1.0502 1.05053 +1.0538 1.05118 1.04759 1.04922 1.05249 1.05282 1.05184 1.05249 +1.05249 1.05118 1.04955 1.05086 1.05184 1.04824 1.04759 1.04694 +1.04629 1.04661 1.04465 1.04629 1.0489 1.04955 1.0489 1.04792 +1.04563 1.04498 1.04367 1.04531 1.04596 1.04629 1.04596 1.044 +1.04465 1.04629 1.04531 1.04759 1.04596 1.044 1.04596 1.04661 +1.04661 1.04367 1.04204 1.04563 1.04498 1.04498 1.04139 1.03845 +1.03714 1.0391 1.03976 1.03812 1.03714 1.03388 1.03159 1.02898 +1.02637 1.02637 1.02637 1.02898 1.02963 1.0329 1.03616 1.0342 +1.03812 1.04106 1.04008 1.04531 1.04269 1.04433 1.04269 1.04465 +1.04433 1.04335 1.04465 1.04171 1.04139 1.04171 1.03943 1.03812 +1.04041 1.0391 1.04073 1.04629 1.04335 1.04302 1.044 1.044 +1.044 1.04335 1.04498 1.04531 1.04498 1.04433 1.044 1.04237 +1.04335 1.04498 1.04694 1.04629 1.04727 1.04857 1.04302 1.04106 +1.04629 1.04465 1.04367 1.04563 1.04563 1.04531 1.04498 1.04531 +1.04629 1.0489 1.04792 1.04988 1.0502 1.04433 1.03649 1.0342 +1.03682 1.0378 1.03812 1.03584 1.03453 1.03257 1.03257 1.0329 +1.03257 1.03159 1.02996 1.03094 1.03355 1.0329 1.03453 1.03551 +1.03682 1.03584 1.03257 1.03127 1.03355 1.03388 1.03127 1.02082 +1.00547 0.982286 0.889053 0.744421 0.608 0.521474 0.405333 0.367467 +0.401547 0.44888 0.47728 0.47728 0.46024 0.393973 0.331493 0.297413 +0.280373 0.28984 0.32392 0.356107 0.33528 0.31256 0.32392 0.38072 +0.45456 0.452667 0.433733 0.458347 0.500632 0.452667 0.365573 0.32392 +0.31256 0.3012 0.3012 0.3012 0.30688 0.316347 0.32392 0.32392 +0.31824 0.303093 0.30688 0.327707 0.348533 0.348533 0.339067 0.331493 +0.337173 0.358 0.401547 0.452667 0.502526 0.518316 0.527158 0.537895 +0.527158 0.456453 0.38072 0.37504 0.378827 0.373147 0.35232 0.371253 +0.445093 0.469707 0.43752 0.42616 0.445093 0.508211 0.610526 0.788 +0.916842 0.974316 1.02245 1.09956 1.09195 1.05608 1.05837 1.05837 +1.04824 1.02963 1.01657 1.01135 1.01069 1.01298 1.01559 1.01494 +1.01722 1.01722 1.01624 1.0169 1.01788 1.0182 1.01559 1.01102 +1.00122 0.987837 0.975579 0.964842 0.956632 0.954737 0.952842 0.947789 +0.946526 0.961684 0.983265 0.930737 0.735579 0.547368 0.43184 0.33528 +0.22168 0.000866667 0.00086 0.000826667 0.0008 0.00078 0.00078 0.000793333 +0.0008 0.0008 0.000793333 0.00078 0.000773333 0.00074 0.00074 0.000746667 +0.000733333 0.00072 0.00072 0.000726667 0.00074 0.000753333 0.000753333 0.00076 +0.000746667 0.00076 0.00076 0.000733333 0.000713333 0.00072 0.00072 0.000726667 +0.000726667 0.00072 0.0007 0.000693333 0.0007 0.000706667 0.000693333 0.000693333 +0.000713333 0.000726667 0.000713333 0.00068 0.0007 0.0007 0.0007 0.000713333 +0.000726667 0.000706667 0.000686667 0.000666667 0.000673333 0.000686667 0.00068 0.000686667 +0.000726667 0.000733333 0.00074 0.000713333 0.0007 0.000706667 0.000706667 0.000693333 +0.0007 0.000713333 0.000726667 0.000753333 0.00074 0.000726667 0.00074 0.000733333 +0.000733333 0.000726667 0.000706667 0.000713333 0.000753333 0.00078 0.000773333 0.000773333 +0.00074 0.000713333 0.00072 0.000726667 0.00076 0.00082 0.000946667 0.293627 +0.33528 0.26144 0.225467 0.291733 0.521474 0.739368 0.949684 0.987184 +0.962316 0.945263 0.944632 0.944632 0.946526 0.972421 0.994694 1.00645 +1.01494 1.01951 1.02245 1.0218 1.02408 1.03584 1.06913 1.22738 +1.31715 1.24868 1.0813 1.0329 1.0182 1.02082 1.04171 1.09956 +1.05641 0.971158 0.743789 0.572632 0.498107 0.43184 0.395867 0.378827 +0.378827 0.373147 0.361787 0.358 0.358 0.34664 0.333387 0.337173 +0.32392 0.31256 0.310667 0.304987 0.28984 0.287947 0.29552 0.31256 +0.31824 0.316347 0.31256 0.31256 0.314453 0.316347 0.316347 0.320133 +0.350427 0.371253 0.34664 0.325813 0.31824 0.322027 0.342853 0.373147 +0.373147 0.359893 0.354213 0.359893 0.390187 0.469707 0.498107 0.418587 +0.35232 0.337173 0.333387 0.33528 0.331493 0.354213 0.36936 0.367467 +0.371253 0.395867 0.39776 0.36936 0.35232 0.342853 0.331493 0.333387 +0.354213 0.35232 0.337173 0.333387 0.333387 0.337173 0.342853 0.337173 +0.339067 0.337173 0.339067 0.32392 0.314453 0.34096 0.354213 0.34664 +0.350427 0.348533 0.33528 0.32392 0.327707 0.331493 0.344747 0.36368 +0.35232 0.35232 0.34096 0.32392 0.325813 0.3296 0.365573 0.441307 +0.507579 0.486747 0.42048 0.39776 0.378827 0.36368 0.35232 0.371253 +0.401547 0.382613 0.359893 0.376933 0.359893 0.34664 0.354213 0.342853 +0.344747 0.38072 0.395867 0.3864 0.39776 0.407227 0.393973 0.365573 +0.358 0.361787 0.34664 0.34664 0.433733 0.580211 0.740632 0.872632 +0.957895 1.00155 1.02539 1.03812 1.04694 1.05347 1.05184 1.0502 +1.05282 1.05216 1.05118 1.04955 1.05086 1.05184 1.05184 1.05282 +1.05314 1.05151 1.04988 1.05151 1.05282 1.05151 1.0502 1.04857 +1.04727 1.04857 1.04727 1.04792 1.04759 1.04792 1.0502 1.04857 +1.04661 1.04661 1.04433 1.04465 1.04498 1.04465 1.04531 1.04498 +1.044 1.04433 1.04269 1.04661 1.04498 1.04237 1.04661 1.04857 +1.04759 1.04335 1.04106 1.04335 1.04335 1.04531 1.04171 1.0378 +1.03812 1.0391 1.04106 1.03747 1.03453 1.03224 1.02669 1.02408 +1.02408 1.02604 1.02441 1.02539 1.02735 1.02898 1.03453 1.03616 +1.04041 1.04073 1.03747 1.04335 1.04139 1.04139 1.03682 1.04269 +1.04629 1.04171 1.03943 1.0391 1.03976 1.04073 1.04302 1.04073 +1.0391 1.03845 1.04008 1.04531 1.044 1.04335 1.044 1.04531 +1.04596 1.04433 1.044 1.04596 1.04563 1.04433 1.044 1.04237 +1.04367 1.04335 1.04498 1.04727 1.04759 1.04661 1.04433 1.04367 +1.04563 1.044 1.04367 1.04367 1.04433 1.04498 1.04596 1.04661 +1.04824 1.05118 1.04988 1.04922 1.04727 1.04204 1.03616 1.03355 +1.03518 1.03714 1.0391 1.03747 1.03551 1.03322 1.0329 1.03322 +1.03551 1.03518 1.03127 1.03061 1.03322 1.03388 1.03584 1.03551 +1.03518 1.0342 1.03355 1.03355 1.03388 1.03486 1.02931 1.0169 +0.998939 0.949684 0.824 0.677474 0.573263 0.508842 0.39776 0.378827 +0.40344 0.411013 0.412907 0.405333 0.395867 0.358 0.3296 0.3012 +0.28416 0.303093 0.322027 0.3296 0.310667 0.304987 0.342853 0.401547 +0.428053 0.428053 0.456453 0.481067 0.46024 0.395867 0.337173 0.308773 +0.304987 0.29552 0.286053 0.286053 0.286053 0.304987 0.32392 0.325813 +0.310667 0.308773 0.339067 0.36936 0.365573 0.348533 0.354213 0.34664 +0.344747 0.36936 0.39208 0.393973 0.39776 0.393973 0.39208 0.428053 +0.4432 0.373147 0.3296 0.34664 0.36936 0.388293 0.39208 0.405333 +0.46592 0.479173 0.439413 0.428053 0.4432 0.506316 0.597263 0.768421 +0.908 0.981633 1.03616 1.14673 1.10108 1.05804 1.07522 1.09195 +1.06 1.04041 1.02212 1.01461 1.01331 1.01298 1.01429 1.01429 +1.01527 1.01624 1.01559 1.01657 1.01722 1.01657 1.01429 1.01233 +1.00906 0.996327 0.985224 0.974316 0.958526 0.952211 0.949684 0.947789 +0.944 0.951579 0.977474 0.968632 0.829684 0.614947 0.484853 0.3864 +0.26712 0.000826667 0.000773333 0.000766667 0.000773333 0.00078 0.000806667 0.00084 +0.00082 0.000806667 0.000793333 0.000786667 0.000773333 0.000753333 0.000753333 0.000766667 +0.000766667 0.000726667 0.000726667 0.00074 0.00074 0.00076 0.00078 0.000773333 +0.000746667 0.000746667 0.00074 0.00072 0.000733333 0.00074 0.000726667 0.000713333 +0.000706667 0.00072 0.000706667 0.000693333 0.000686667 0.0007 0.000706667 0.000706667 +0.000706667 0.000726667 0.000746667 0.00072 0.000706667 0.000706667 0.000706667 0.000726667 +0.000733333 0.00072 0.000726667 0.000726667 0.000713333 0.000713333 0.000706667 0.000686667 +0.0007 0.000713333 0.000706667 0.000713333 0.000706667 0.000706667 0.000713333 0.000686667 +0.00068 0.0007 0.0007 0.00074 0.00074 0.0007 0.000713333 0.00074 +0.000733333 0.000726667 0.000713333 0.0007 0.00074 0.000766667 0.000753333 0.00078 +0.000773333 0.00076 0.00076 0.000773333 0.000793333 0.00086 0.23872 0.32392 +0.3012 0.236827 0.251973 0.371253 0.595368 0.835368 0.982939 0.982286 +0.952842 0.947158 0.947158 0.944 0.952211 0.981306 0.998286 1.00971 +1.01624 1.02049 1.02245 1.02147 1.02571 1.04106 1.11782 1.26846 +1.32932 1.22433 1.05347 1.02114 1.00678 1.01298 1.04237 1.09804 +1.03812 0.901684 0.674316 0.532842 0.458347 0.428053 0.39776 0.37504 +0.371253 0.367467 0.348533 0.34096 0.348533 0.344747 0.337173 0.34096 +0.342853 0.337173 0.337173 0.325813 0.310667 0.3012 0.297413 0.304987 +0.314453 0.322027 0.320133 0.31824 0.31824 0.322027 0.32392 0.320133 +0.34096 0.365573 0.344747 0.320133 0.31824 0.325813 0.34096 0.354213 +0.35232 0.33528 0.32392 0.327707 0.342853 0.40912 0.475387 0.424267 +0.342853 0.316347 0.32392 0.31824 0.320133 0.33528 0.34664 0.344747 +0.342853 0.367467 0.393973 0.38072 0.359893 0.342853 0.32392 0.320133 +0.331493 0.339067 0.325813 0.314453 0.325813 0.344747 0.354213 0.35232 +0.339067 0.327707 0.325813 0.320133 0.308773 0.322027 0.356107 0.359893 +0.358 0.348533 0.32392 0.31824 0.325813 0.327707 0.339067 0.36936 +0.356107 0.344747 0.342853 0.339067 0.342853 0.342853 0.34096 0.382613 +0.475387 0.479173 0.407227 0.37504 0.358 0.35232 0.348533 0.388293 +0.435627 0.393973 0.371253 0.388293 0.36368 0.342853 0.348533 0.358 +0.350427 0.348533 0.36936 0.367467 0.371253 0.39208 0.40344 0.39208 +0.378827 0.378827 0.365573 0.358 0.407227 0.536632 0.675579 0.824 +0.925684 0.989469 1.01657 1.02898 1.04008 1.04857 1.04922 1.04727 +1.04922 1.05086 1.05151 1.0502 1.05184 1.05249 1.05314 1.05184 +1.05314 1.05151 1.0489 1.05184 1.05216 1.0502 1.04824 1.04694 +1.04727 1.05053 1.0502 1.0502 1.04792 1.04792 1.04955 1.04857 +1.04661 1.04694 1.04498 1.04629 1.04792 1.04792 1.04563 1.04269 +1.04008 1.04269 1.04563 1.04759 1.04531 1.04465 1.04824 1.04824 +1.04727 1.04433 1.04171 1.04335 1.04073 1.04465 1.04563 1.04269 +1.04106 1.03747 1.03878 1.0342 1.02767 1.02702 1.02506 1.02376 +1.02212 1.02473 1.02343 1.02441 1.02833 1.03257 1.0391 1.04106 +1.04433 1.04269 1.03682 1.03878 1.0391 1.04171 1.0378 1.04302 +1.04629 1.04335 1.03812 1.03649 1.03812 1.03878 1.04106 1.04139 +1.04041 1.03943 1.04073 1.04367 1.04465 1.04563 1.04498 1.04498 +1.04465 1.04596 1.04465 1.04335 1.04204 1.04335 1.04335 1.04335 +1.044 1.04335 1.04335 1.04596 1.04531 1.04237 1.04269 1.044 +1.04367 1.04465 1.04531 1.04237 1.04204 1.044 1.04629 1.0489 +1.04988 1.04955 1.04988 1.04955 1.04531 1.04008 1.03388 1.03257 +1.0342 1.03551 1.0378 1.03747 1.03551 1.03486 1.03518 1.0342 +1.03486 1.03616 1.03518 1.0342 1.03584 1.03845 1.03845 1.03518 +1.03127 1.03127 1.03224 1.03257 1.03388 1.03257 1.02278 1.0071 +0.984245 0.897263 0.755158 0.621263 0.538526 0.46592 0.3864 0.373147 +0.36936 0.36936 0.376933 0.36936 0.371253 0.359893 0.331493 0.30688 +0.3012 0.322027 0.3296 0.320133 0.3012 0.308773 0.344747 0.378827 +0.399653 0.446987 0.505684 0.503158 0.441307 0.37504 0.33528 0.314453 +0.3012 0.28416 0.2728 0.274693 0.27848 0.29552 0.322027 0.33528 +0.325813 0.337173 0.361787 0.36368 0.339067 0.314453 0.32392 0.325813 +0.35232 0.39208 0.384507 0.354213 0.34096 0.327707 0.339067 0.39776 +0.429947 0.378827 0.33528 0.337173 0.35232 0.36936 0.393973 0.43184 +0.48864 0.500632 0.464027 0.439413 0.439413 0.502526 0.582105 0.746947 +0.897895 0.985224 1.04661 1.17869 1.10108 1.05641 1.0813 1.11934 +1.11173 1.05282 1.03029 1.01853 1.01592 1.01429 1.01298 1.01494 +1.0169 1.01788 1.01592 1.01429 1.01494 1.01657 1.01494 1.01494 +1.01624 1.00645 0.990776 0.976211 0.959789 0.953474 0.950316 0.949684 +0.945263 0.945895 0.962947 0.981306 0.909263 0.700842 0.525895 0.4148 +0.31824 0.000926667 0.00078 0.000786667 0.000826667 0.00084 0.00084 0.000833333 +0.0008 0.000786667 0.000773333 0.000766667 0.000773333 0.000766667 0.00076 0.000766667 +0.00076 0.000746667 0.000766667 0.000766667 0.00076 0.00078 0.00078 0.00076 +0.000726667 0.000733333 0.00074 0.00076 0.0007 0.000706667 0.000726667 0.00074 +0.000733333 0.000733333 0.00072 0.000706667 0.000693333 0.000686667 0.000706667 0.00072 +0.000706667 0.000693333 0.0007 0.0007 0.000693333 0.000713333 0.00074 0.000746667 +0.000733333 0.000726667 0.000713333 0.0007 0.000693333 0.000706667 0.000733333 0.000733333 +0.000713333 0.000706667 0.000693333 0.00068 0.00068 0.0007 0.000726667 0.00072 +0.000693333 0.0007 0.0007 0.00072 0.00074 0.000713333 0.0007 0.00074 +0.000733333 0.000733333 0.00074 0.00072 0.00076 0.000786667 0.000786667 0.000793333 +0.000766667 0.000753333 0.000786667 0.000813333 0.000846667 0.000946667 0.287947 0.33528 +0.257653 0.223573 0.282267 0.48864 0.688211 0.916211 0.98849 0.969263 +0.943368 0.944 0.945263 0.945895 0.961053 0.985878 1.00155 1.01298 +1.0182 1.02049 1.02147 1.02114 1.02539 1.04498 1.16956 1.32172 +1.3415 1.19694 1.04269 1.01004 0.998939 1.00971 1.04335 1.08282 +1.01429 0.824 0.612421 0.507579 0.439413 0.428053 0.39776 0.367467 +0.358 0.356107 0.339067 0.325813 0.327707 0.3296 0.34096 0.359893 +0.371253 0.359893 0.348533 0.348533 0.337173 0.327707 0.320133 0.320133 +0.31824 0.32392 0.325813 0.31824 0.31824 0.32392 0.320133 0.308773 +0.32392 0.348533 0.3296 0.30688 0.322027 0.344747 0.339067 0.322027 +0.316347 0.30688 0.291733 0.28984 0.303093 0.371253 0.46024 0.44888 +0.358 0.314453 0.31256 0.314453 0.32392 0.344747 0.356107 0.348533 +0.3296 0.32392 0.367467 0.416693 0.395867 0.344747 0.322027 0.32392 +0.3296 0.333387 0.320133 0.308773 0.30688 0.3296 0.359893 0.354213 +0.325813 0.316347 0.314453 0.314453 0.310667 0.325813 0.358 0.373147 +0.359893 0.34096 0.322027 0.310667 0.308773 0.3012 0.322027 0.358 +0.342853 0.325813 0.322027 0.325813 0.339067 0.337173 0.3296 0.34096 +0.428053 0.464027 0.40344 0.350427 0.3296 0.33528 0.344747 0.407227 +0.473493 0.43184 0.39208 0.38072 0.361787 0.348533 0.35232 0.359893 +0.350427 0.348533 0.36368 0.365573 0.359893 0.36936 0.382613 0.390187 +0.388293 0.38072 0.378827 0.38072 0.399653 0.507579 0.623789 0.784842 +0.909263 0.982612 1.00906 1.02408 1.03682 1.04629 1.0502 1.0502 +1.04955 1.0502 1.05249 1.05282 1.05314 1.05282 1.0538 1.05216 +1.05314 1.05184 1.04857 1.0502 1.05184 1.05086 1.04792 1.04629 +1.04727 1.04955 1.04988 1.04955 1.0489 1.04792 1.04955 1.04857 +1.04661 1.04694 1.04629 1.04727 1.04857 1.04922 1.04694 1.04269 +1.04106 1.04302 1.04531 1.04531 1.04302 1.04302 1.04531 1.04629 +1.04596 1.04563 1.04433 1.044 1.04171 1.04335 1.04563 1.04498 +1.04269 1.03584 1.0342 1.03094 1.02539 1.02473 1.02571 1.028 +1.02473 1.02473 1.0231 1.02735 1.0342 1.03878 1.044 1.04498 +1.04465 1.04171 1.03682 1.03551 1.03486 1.0391 1.03649 1.03845 +1.03976 1.04139 1.03845 1.0342 1.03453 1.03747 1.03878 1.04106 +1.04237 1.04335 1.04465 1.04302 1.04269 1.044 1.04563 1.044 +1.04171 1.04465 1.04498 1.04367 1.04073 1.04073 1.04302 1.04498 +1.04367 1.04498 1.04498 1.04498 1.04498 1.04465 1.04335 1.04204 +1.04302 1.04498 1.04661 1.044 1.04073 1.04237 1.04596 1.04727 +1.04727 1.04596 1.04857 1.04922 1.04661 1.04106 1.03453 1.03257 +1.0329 1.03388 1.03518 1.03551 1.03518 1.03486 1.03518 1.0342 +1.03355 1.03453 1.03518 1.0342 1.03518 1.03747 1.03714 1.0329 +1.03127 1.03257 1.03159 1.03159 1.03224 1.02898 1.01853 0.998612 +0.949053 0.830947 0.687579 0.584632 0.517053 0.399653 0.358 0.371253 +0.354213 0.342853 0.348533 0.348533 0.36368 0.36368 0.337173 0.322027 +0.322027 0.32392 0.32392 0.310667 0.303093 0.322027 0.348533 0.36936 +0.40344 0.47728 0.517684 0.518316 0.502526 0.441307 0.382613 0.333387 +0.3012 0.280373 0.26144 0.259547 0.26712 0.293627 0.331493 0.361787 +0.36936 0.371253 0.37504 0.344747 0.308773 0.293627 0.304987 0.320133 +0.378827 0.411013 0.361787 0.333387 0.331493 0.325813 0.33528 0.393973 +0.428053 0.3864 0.339067 0.32392 0.337173 0.34664 0.36368 0.435627 +0.500632 0.501263 0.4716 0.43752 0.42616 0.48864 0.570105 0.726737 +0.885895 0.987837 1.05706 1.20303 1.07826 1.04857 1.07217 1.14977 +1.16956 1.08282 1.03551 1.0182 1.01624 1.01722 1.01494 1.01657 +1.01722 1.01559 1.01494 1.01429 1.01592 1.0169 1.01429 1.01429 +1.0182 1.01265 0.999592 0.986857 0.973053 0.960421 0.953474 0.949053 +0.944632 0.943368 0.955368 0.982939 0.964842 0.796211 0.581474 0.452667 +0.361787 0.240613 0.000833333 0.000786667 0.000806667 0.00082 0.000806667 0.000793333 +0.000806667 0.000826667 0.00082 0.000786667 0.000766667 0.000766667 0.00076 0.000766667 +0.000766667 0.000766667 0.00078 0.000746667 0.0007 0.0007 0.00072 0.000713333 +0.000726667 0.000753333 0.000773333 0.000786667 0.000726667 0.0007 0.000693333 0.00072 +0.000733333 0.000746667 0.00074 0.00072 0.000713333 0.000706667 0.000706667 0.000693333 +0.000686667 0.00068 0.000686667 0.000693333 0.00068 0.000693333 0.000726667 0.000726667 +0.000706667 0.000706667 0.00072 0.000713333 0.000686667 0.00068 0.0007 0.000693333 +0.000686667 0.0007 0.000726667 0.000706667 0.000713333 0.000706667 0.000686667 0.000673333 +0.00066 0.00068 0.000706667 0.00072 0.00074 0.00072 0.000693333 0.000706667 +0.000693333 0.000713333 0.000753333 0.000733333 0.000733333 0.000766667 0.000773333 0.00078 +0.00076 0.000753333 0.00078 0.000806667 0.000853333 0.229253 0.3296 0.325813 +0.234933 0.240613 0.333387 0.551789 0.783579 0.967368 0.983918 0.956 +0.940842 0.944 0.946526 0.949053 0.967368 0.989796 1.00416 1.01396 +1.01886 1.02114 1.02114 1.02082 1.02604 1.04955 1.22281 1.37345 +1.34606 1.16043 1.03257 1.00188 0.995347 1.01102 1.04563 1.05347 +0.982286 0.752 0.571368 0.481067 0.42048 0.40912 0.388293 0.36936 +0.371253 0.36936 0.348533 0.339067 0.33528 0.32392 0.339067 0.367467 +0.384507 0.38072 0.365573 0.356107 0.356107 0.350427 0.339067 0.3296 +0.322027 0.32392 0.325813 0.32392 0.327707 0.325813 0.316347 0.303093 +0.320133 0.348533 0.325813 0.316347 0.33528 0.350427 0.322027 0.28984 +0.28416 0.287947 0.282267 0.282267 0.287947 0.331493 0.435627 0.445093 +0.354213 0.314453 0.308773 0.308773 0.310667 0.33528 0.356107 0.350427 +0.327707 0.31824 0.356107 0.416693 0.418587 0.37504 0.34664 0.348533 +0.348533 0.35232 0.35232 0.331493 0.314453 0.31256 0.3296 0.348533 +0.325813 0.31256 0.304987 0.3012 0.308773 0.339067 0.395867 0.401547 +0.37504 0.34096 0.320133 0.303093 0.287947 0.291733 0.31824 0.358 +0.337173 0.310667 0.30688 0.29552 0.30688 0.320133 0.320133 0.333387 +0.388293 0.435627 0.39208 0.348533 0.331493 0.342853 0.373147 0.424267 +0.44888 0.429947 0.384507 0.348533 0.344747 0.344747 0.337173 0.34664 +0.34664 0.337173 0.356107 0.37504 0.37504 0.367467 0.36936 0.38072 +0.395867 0.412907 0.44888 0.452667 0.424267 0.479173 0.581474 0.744421 +0.896 0.977474 1.00547 1.02278 1.03551 1.04367 1.05053 1.05151 +1.04988 1.05053 1.05249 1.05314 1.05314 1.05347 1.05314 1.05118 +1.05216 1.05282 1.0502 1.04792 1.05086 1.05282 1.05184 1.04955 +1.04922 1.04955 1.05053 1.0502 1.04727 1.04661 1.04857 1.04694 +1.04629 1.04727 1.04563 1.04629 1.04661 1.04727 1.04465 1.04269 +1.04139 1.04171 1.04269 1.04302 1.04367 1.04335 1.044 1.044 +1.04563 1.04727 1.04694 1.04498 1.04335 1.04302 1.04335 1.04269 +1.04041 1.0342 1.03029 1.02865 1.02735 1.02669 1.028 1.03029 +1.02898 1.02604 1.02571 1.03322 1.04302 1.04498 1.04596 1.04531 +1.044 1.04106 1.03878 1.03812 1.03322 1.03453 1.03192 1.03355 +1.03486 1.03845 1.03649 1.03453 1.03486 1.03682 1.03747 1.0391 +1.04041 1.04302 1.04531 1.04498 1.04367 1.04269 1.04596 1.04531 +1.04335 1.044 1.04367 1.04367 1.04106 1.0378 1.04073 1.04433 +1.04335 1.04498 1.04433 1.04269 1.04269 1.04498 1.04465 1.04335 +1.04465 1.04498 1.04629 1.04563 1.04139 1.04269 1.04661 1.04759 +1.04792 1.04563 1.04596 1.04759 1.04727 1.04204 1.03616 1.03388 +1.03322 1.03388 1.0329 1.0329 1.0342 1.03192 1.03355 1.03584 +1.03388 1.0342 1.03551 1.03649 1.03812 1.03616 1.03355 1.03159 +1.0329 1.03388 1.03224 1.03224 1.02963 1.02278 1.01102 0.987184 +0.902947 0.766526 0.635158 0.556211 0.501263 0.376933 0.35232 0.367467 +0.350427 0.344747 0.35232 0.35232 0.36936 0.367467 0.348533 0.348533 +0.35232 0.33528 0.31256 0.297413 0.308773 0.32392 0.354213 0.395867 +0.445093 0.509474 0.548 0.571368 0.563158 0.527158 0.452667 0.376933 +0.34096 0.308773 0.280373 0.270907 0.276587 0.304987 0.354213 0.390187 +0.390187 0.390187 0.390187 0.356107 0.339067 0.327707 0.331493 0.361787 +0.411013 0.40344 0.342853 0.32392 0.33528 0.33528 0.331493 0.37504 +0.399653 0.36936 0.337173 0.31824 0.331493 0.348533 0.3864 0.47728 +0.504421 0.4716 0.43752 0.416693 0.411013 0.469707 0.56 0.709053 +0.873263 0.989796 1.08282 1.22586 1.07217 1.04204 1.05673 1.15586 +1.20151 1.13304 1.04302 1.01918 1.01527 1.01788 1.01624 1.01657 +1.01853 1.0169 1.01592 1.01461 1.01429 1.01396 1.01167 1.01331 +1.01853 1.01657 1.00939 0.996653 0.983918 0.969895 0.959789 0.952211 +0.948421 0.945895 0.947789 0.969895 0.980653 0.877053 0.668 0.522105 +0.428053 0.299307 0.000866667 0.000726667 0.000733333 0.000773333 0.000786667 0.000806667 +0.000826667 0.000826667 0.000806667 0.00078 0.00076 0.000773333 0.00078 0.000786667 +0.00076 0.000746667 0.000766667 0.00074 0.000713333 0.00072 0.000733333 0.00072 +0.000746667 0.000766667 0.00076 0.00076 0.00074 0.00072 0.000706667 0.0007 +0.000686667 0.000693333 0.000713333 0.000706667 0.000693333 0.000693333 0.0007 0.000686667 +0.00068 0.000693333 0.0007 0.000706667 0.0007 0.00068 0.00068 0.000693333 +0.00068 0.00068 0.000693333 0.0007 0.000686667 0.00068 0.000686667 0.0007 +0.000686667 0.000666667 0.00068 0.000693333 0.000706667 0.00072 0.000713333 0.000693333 +0.00066 0.000646667 0.00066 0.00068 0.000713333 0.000733333 0.000726667 0.000726667 +0.00072 0.000726667 0.000733333 0.000733333 0.000746667 0.000766667 0.000753333 0.00074 +0.000753333 0.00076 0.000766667 0.0008 0.000886667 0.26712 0.337173 0.280373 +0.000993333 0.265227 0.428053 0.635789 0.875158 0.985878 0.974947 0.946526 +0.940211 0.947158 0.951579 0.952211 0.969895 0.992408 1.00678 1.01429 +1.01853 1.02016 1.01984 1.01984 1.02571 1.05249 1.26846 1.41301 +1.3278 1.10869 1.02343 0.999265 0.999592 1.02082 1.05216 1.04041 +0.918737 0.686947 0.541053 0.46592 0.424267 0.411013 0.393973 0.384507 +0.388293 0.38072 0.356107 0.350427 0.35232 0.344747 0.348533 0.356107 +0.36936 0.373147 0.356107 0.34664 0.348533 0.354213 0.350427 0.339067 +0.322027 0.31824 0.31824 0.32392 0.3296 0.32392 0.31256 0.297413 +0.320133 0.350427 0.337173 0.327707 0.320133 0.31824 0.297413 0.269013 +0.274693 0.297413 0.297413 0.286053 0.27848 0.303093 0.37504 0.399653 +0.34096 0.316347 0.320133 0.304987 0.291733 0.299307 0.320133 0.331493 +0.325813 0.333387 0.354213 0.371253 0.378827 0.384507 0.388293 0.3864 +0.376933 0.378827 0.37504 0.342853 0.314453 0.28984 0.30688 0.358 +0.371253 0.342853 0.31256 0.297413 0.308773 0.350427 0.424267 0.43752 +0.405333 0.358 0.322027 0.297413 0.282267 0.28416 0.31256 0.358 +0.331493 0.30688 0.303093 0.297413 0.304987 0.325813 0.339067 0.34096 +0.361787 0.407227 0.384507 0.344747 0.339067 0.367467 0.407227 0.412907 +0.384507 0.376933 0.356107 0.32392 0.314453 0.316347 0.320133 0.325813 +0.331493 0.339067 0.350427 0.365573 0.36936 0.36936 0.371253 0.388293 +0.407227 0.441307 0.504421 0.510737 0.458347 0.464027 0.548632 0.698947 +0.870737 0.966105 1.00057 1.01755 1.0329 1.04237 1.04988 1.05086 +1.04922 1.04988 1.05086 1.05184 1.05314 1.05282 1.05151 1.04955 +1.05086 1.05445 1.05184 1.04661 1.04759 1.05184 1.05347 1.05412 +1.05216 1.04988 1.04988 1.05086 1.04759 1.04563 1.04727 1.04661 +1.04727 1.04955 1.04727 1.04531 1.04661 1.04727 1.04465 1.04204 +1.0378 1.03616 1.04008 1.04367 1.04465 1.04465 1.04596 1.04335 +1.04465 1.04759 1.04629 1.04531 1.04204 1.04008 1.03976 1.03845 +1.03616 1.03192 1.028 1.02735 1.02767 1.02767 1.02931 1.02996 +1.02833 1.028 1.02865 1.03584 1.04759 1.0502 1.04824 1.044 +1.04302 1.04008 1.03845 1.03845 1.03355 1.03453 1.03355 1.0342 +1.03388 1.03486 1.0342 1.03584 1.03682 1.03616 1.03453 1.03649 +1.03812 1.04008 1.04269 1.04302 1.04269 1.044 1.04694 1.044 +1.04302 1.04269 1.04106 1.04335 1.04237 1.0378 1.04008 1.04237 +1.04106 1.04335 1.04465 1.04171 1.04073 1.04269 1.04433 1.04531 +1.04498 1.04531 1.04563 1.04531 1.04433 1.04433 1.04596 1.04759 +1.0502 1.04759 1.044 1.04465 1.04498 1.04139 1.03616 1.0342 +1.03616 1.03453 1.03224 1.03257 1.03159 1.03094 1.03257 1.03518 +1.03453 1.03355 1.03388 1.03551 1.03845 1.03682 1.03388 1.03322 +1.03192 1.03192 1.0329 1.03061 1.02506 1.01527 0.999918 0.961053 +0.854316 0.723579 0.618105 0.546737 0.467813 0.38072 0.382613 0.3864 +0.359893 0.354213 0.361787 0.35232 0.367467 0.37504 0.373147 0.361787 +0.356107 0.342853 0.31824 0.303093 0.303093 0.308773 0.337173 0.4148 +0.510737 0.561895 0.624421 0.656632 0.635789 0.581474 0.523368 0.467813 +0.416693 0.367467 0.331493 0.327707 0.325813 0.333387 0.384507 0.422373 +0.42048 0.435627 0.433733 0.390187 0.36936 0.367467 0.367467 0.39208 +0.40344 0.378827 0.348533 0.3296 0.331493 0.337173 0.333387 0.356107 +0.376933 0.348533 0.33528 0.322027 0.331493 0.365573 0.44888 0.507579 +0.490533 0.422373 0.39776 0.40344 0.424267 0.469707 0.549895 0.688211 +0.857474 0.990122 1.09652 1.21673 1.05706 1.03551 1.04955 1.14065 +1.21673 1.18325 1.05314 1.02278 1.01331 1.01363 1.01396 1.01559 +1.01886 1.01788 1.01527 1.01363 1.01298 1.01265 1.012 1.01396 +1.0182 1.01853 1.01363 1.00188 0.990122 0.980653 0.966105 0.957263 +0.954105 0.949053 0.942737 0.956632 0.982612 0.941474 0.762105 0.568842 +0.469707 0.359893 0.216 0.000786667 0.000793333 0.0008 0.000793333 0.000793333 +0.0008 0.000806667 0.00078 0.000753333 0.00076 0.000786667 0.000786667 0.000773333 +0.000733333 0.00072 0.000733333 0.000746667 0.000773333 0.000773333 0.00076 0.000753333 +0.000753333 0.00074 0.000713333 0.000713333 0.000693333 0.0007 0.0007 0.000693333 +0.00068 0.000673333 0.000693333 0.000693333 0.0007 0.000706667 0.000706667 0.000686667 +0.000686667 0.000706667 0.000706667 0.000693333 0.0007 0.000706667 0.000686667 0.000673333 +0.00068 0.00068 0.000693333 0.000713333 0.000706667 0.000686667 0.000693333 0.000726667 +0.00074 0.000713333 0.000706667 0.000693333 0.000673333 0.000686667 0.0007 0.00072 +0.000726667 0.00072 0.000693333 0.000673333 0.000686667 0.000713333 0.000713333 0.000706667 +0.000733333 0.000753333 0.00074 0.000726667 0.000746667 0.000773333 0.000766667 0.000746667 +0.000753333 0.00076 0.000753333 0.000806667 0.219787 0.31824 0.32392 0.231147 +0.000953333 0.29552 0.521474 0.731789 0.945263 0.989143 0.965474 0.942737 +0.940842 0.950316 0.956 0.957895 0.977474 0.996653 1.00971 1.01657 +1.01984 1.01984 1.0182 1.01853 1.02278 1.05086 1.29737 1.43127 +1.28976 1.05739 1.01624 1.00057 1.0071 1.03094 1.05608 1.02637 +0.86 0.635789 0.516421 0.450773 0.433733 0.42616 0.401547 0.37504 +0.36936 0.36936 0.348533 0.34664 0.358 0.36368 0.358 0.344747 +0.344747 0.33528 0.333387 0.33528 0.333387 0.337173 0.342853 0.348533 +0.339067 0.33528 0.322027 0.320133 0.325813 0.31256 0.29552 0.28416 +0.316347 0.350427 0.337173 0.31824 0.28984 0.27848 0.274693 0.26144 +0.2728 0.299307 0.297413 0.27848 0.270907 0.280373 0.35232 0.388293 +0.342853 0.303093 0.297413 0.287947 0.286053 0.28416 0.291733 0.31824 +0.344747 0.358 0.365573 0.359893 0.339067 0.337173 0.367467 0.393973 +0.411013 0.407227 0.373147 0.327707 0.291733 0.286053 0.308773 0.367467 +0.416693 0.395867 0.344747 0.32392 0.331493 0.378827 0.446987 0.4432 +0.388293 0.3296 0.299307 0.286053 0.276587 0.276587 0.3012 0.339067 +0.3296 0.29552 0.28984 0.28984 0.299307 0.32392 0.331493 0.327707 +0.350427 0.429947 0.40912 0.333387 0.33528 0.354213 0.376933 0.373147 +0.337173 0.32392 0.337173 0.32392 0.303093 0.297413 0.30688 0.314453 +0.316347 0.327707 0.34664 0.358 0.348533 0.348533 0.36936 0.39208 +0.399653 0.418587 0.503789 0.529684 0.501263 0.473493 0.533474 0.668 +0.854316 0.959158 0.993714 1.01069 1.02996 1.04171 1.0489 1.05184 +1.05086 1.05086 1.05086 1.05118 1.05184 1.05151 1.05053 1.0489 +1.04988 1.0538 1.05314 1.05086 1.04988 1.05053 1.05151 1.05314 +1.05151 1.04955 1.04922 1.05086 1.04857 1.04661 1.04727 1.04727 +1.04629 1.05086 1.04824 1.04335 1.04433 1.04596 1.04596 1.04433 +1.0391 1.03584 1.03943 1.044 1.04237 1.04139 1.04465 1.04367 +1.04367 1.04629 1.04596 1.04824 1.04367 1.0378 1.03584 1.03159 +1.03192 1.03127 1.02702 1.02669 1.02735 1.02865 1.03192 1.03127 +1.028 1.02833 1.02931 1.03453 1.04335 1.04727 1.04629 1.04106 +1.03976 1.0378 1.03649 1.03486 1.03224 1.03453 1.0342 1.03486 +1.03355 1.03127 1.03159 1.03322 1.03584 1.03518 1.03322 1.03584 +1.03714 1.04073 1.04269 1.04041 1.04008 1.044 1.04727 1.04433 +1.04204 1.04269 1.04237 1.04498 1.04335 1.03943 1.044 1.04433 +1.04171 1.04204 1.04433 1.04433 1.04433 1.044 1.044 1.044 +1.044 1.04694 1.04759 1.04596 1.04694 1.04824 1.04727 1.04727 +1.04857 1.04824 1.04498 1.04171 1.04237 1.04139 1.03649 1.03453 +1.03453 1.03322 1.0329 1.0329 1.03224 1.03518 1.03682 1.03551 +1.03551 1.03584 1.03486 1.03355 1.03453 1.03453 1.03453 1.03518 +1.03322 1.03094 1.03159 1.02931 1.0218 1.00776 0.985224 0.911158 +0.791158 0.673684 0.594105 0.529053 0.412907 0.358 0.376933 0.393973 +0.39776 0.395867 0.3864 0.365573 0.382613 0.390187 0.376933 0.350427 +0.327707 0.314453 0.3012 0.304987 0.29552 0.282267 0.303093 0.4148 +0.553684 0.643368 0.707789 0.720421 0.677474 0.615579 0.566316 0.536632 +0.511368 0.46592 0.416693 0.399653 0.411013 0.418587 0.428053 0.452667 +0.48864 0.484853 0.42616 0.371253 0.359893 0.356107 0.359893 0.371253 +0.361787 0.34664 0.348533 0.33528 0.32392 0.331493 0.322027 0.337173 +0.36368 0.337173 0.3296 0.333387 0.339067 0.388293 0.490533 0.503789 +0.429947 0.3864 0.388293 0.39776 0.422373 0.46024 0.537895 0.667368 +0.838526 0.98849 1.09956 1.20912 1.05249 1.02996 1.04073 1.11021 +1.22129 1.21064 1.06913 1.02767 1.01559 1.01559 1.01461 1.01461 +1.01624 1.01461 1.01135 1.01167 1.01331 1.012 1.012 1.01396 +1.01657 1.01755 1.01657 1.00841 1.00057 0.988816 0.971789 0.958526 +0.956 0.953474 0.947789 0.953474 0.979368 0.974316 0.841684 0.625053 +0.500632 0.395867 0.263333 0.000866667 0.000853333 0.000846667 0.000833333 0.00082 +0.00082 0.000826667 0.0008 0.000786667 0.000786667 0.00078 0.00076 0.00074 +0.000753333 0.00078 0.000773333 0.000766667 0.000773333 0.00074 0.000726667 0.00072 +0.00072 0.000713333 0.000733333 0.00074 0.0007 0.0007 0.000686667 0.00068 +0.0007 0.000713333 0.000706667 0.000693333 0.0007 0.0007 0.000713333 0.000706667 +0.000686667 0.000673333 0.000673333 0.00066 0.00068 0.000713333 0.00072 0.000706667 +0.000706667 0.000693333 0.00068 0.000713333 0.000713333 0.000693333 0.000693333 0.000693333 +0.000726667 0.00072 0.000713333 0.00072 0.000713333 0.000706667 0.0007 0.000693333 +0.000706667 0.000713333 0.000713333 0.000693333 0.000693333 0.00072 0.00072 0.000693333 +0.000686667 0.000706667 0.000713333 0.000726667 0.000766667 0.000793333 0.000786667 0.00078 +0.00076 0.000773333 0.000773333 0.000873333 0.265227 0.337173 0.286053 0.000973333 +0.23304 0.36368 0.587789 0.825263 0.982612 0.985551 0.957895 0.944 +0.948421 0.957263 0.962316 0.967368 0.983918 1.0009 1.01167 1.0169 +1.02016 1.0182 1.01755 1.01853 1.02082 1.0489 1.30954 1.43432 +1.23955 1.04237 1.00906 1.0022 1.01331 1.03878 1.05771 1.012 +0.811368 0.602947 0.508211 0.45456 0.439413 0.412907 0.38072 0.361787 +0.356107 0.356107 0.350427 0.350427 0.350427 0.348533 0.333387 0.32392 +0.31824 0.303093 0.308773 0.31824 0.31824 0.314453 0.314453 0.32392 +0.333387 0.34664 0.339067 0.339067 0.348533 0.333387 0.299307 0.287947 +0.3296 0.356107 0.33528 0.299307 0.27848 0.280373 0.270907 0.263333 +0.2728 0.303093 0.297413 0.274693 0.269013 0.28416 0.350427 0.390187 +0.35232 0.310667 0.29552 0.291733 0.286053 0.287947 0.297413 0.314453 +0.34664 0.384507 0.399653 0.37504 0.3296 0.308773 0.30688 0.3296 +0.388293 0.43184 0.390187 0.3296 0.299307 0.299307 0.30688 0.34096 +0.424267 0.4716 0.40912 0.339067 0.35232 0.405333 0.43752 0.393973 +0.3296 0.291733 0.280373 0.282267 0.27848 0.280373 0.28984 0.3296 +0.3296 0.29552 0.29552 0.297413 0.29552 0.303093 0.297413 0.303093 +0.33528 0.439413 0.43184 0.356107 0.320133 0.299307 0.31256 0.333387 +0.314453 0.29552 0.308773 0.308773 0.29552 0.291733 0.299307 0.314453 +0.303093 0.30688 0.342853 0.359893 0.348533 0.342853 0.358 0.36936 +0.376933 0.39208 0.503789 0.550526 0.513263 0.48296 0.530947 0.636421 +0.815789 0.931368 0.98 1.00122 1.02767 1.04073 1.04727 1.05151 +1.04988 1.04955 1.05053 1.05151 1.0538 1.05249 1.05184 1.05216 +1.05053 1.05249 1.05216 1.05151 1.05151 1.05053 1.05053 1.05216 +1.05053 1.05086 1.05053 1.05151 1.04988 1.04857 1.04922 1.04824 +1.04465 1.04824 1.04857 1.04465 1.044 1.04498 1.04563 1.04498 +1.04139 1.03845 1.03682 1.04041 1.03976 1.03943 1.04041 1.04041 +1.04106 1.04465 1.044 1.04531 1.04204 1.0342 1.03224 1.02833 +1.02963 1.03094 1.02898 1.02865 1.02931 1.03127 1.0329 1.03224 +1.03029 1.02833 1.02637 1.028 1.03551 1.03976 1.04171 1.03845 +1.03453 1.03224 1.03518 1.03486 1.03355 1.03551 1.03355 1.03616 +1.03747 1.03322 1.03127 1.03094 1.0342 1.03322 1.0342 1.03878 +1.03584 1.03976 1.04302 1.04008 1.03845 1.03878 1.04269 1.04531 +1.04335 1.044 1.04367 1.044 1.04367 1.04335 1.04596 1.04531 +1.04269 1.04106 1.044 1.04498 1.044 1.044 1.04498 1.04204 +1.04237 1.04629 1.04792 1.04563 1.04629 1.0489 1.04857 1.04922 +1.04596 1.04531 1.04629 1.04237 1.04139 1.04204 1.03976 1.03747 +1.0329 1.03257 1.03355 1.03257 1.03486 1.0378 1.03812 1.03551 +1.03486 1.03649 1.03845 1.03812 1.03551 1.03322 1.03192 1.03257 +1.03388 1.03257 1.02735 1.02245 1.01396 0.997306 0.948421 0.848632 +0.733053 0.640211 0.578316 0.509474 0.37504 0.339067 0.34096 0.354213 +0.4148 0.473493 0.43752 0.40912 0.429947 0.416693 0.382613 0.34664 +0.314453 0.293627 0.287947 0.304987 0.314453 0.308773 0.337173 0.496213 +0.611158 0.717895 0.755158 0.721053 0.652842 0.594737 0.563158 0.543579 +0.524632 0.510737 0.506947 0.501263 0.48296 0.46024 0.43184 0.42616 +0.473493 0.473493 0.395867 0.3296 0.325813 0.337173 0.342853 0.344747 +0.331493 0.327707 0.339067 0.327707 0.314453 0.31824 0.314453 0.327707 +0.35232 0.33528 0.325813 0.339067 0.350427 0.40912 0.49432 0.458347 +0.373147 0.359893 0.378827 0.39208 0.418587 0.450773 0.526526 0.644 +0.813895 0.981959 1.08739 1.22433 1.05608 1.02473 1.03061 1.07065 +1.21673 1.23194 1.10413 1.03551 1.01918 1.01722 1.01624 1.01396 +1.01657 1.0169 1.01429 1.01265 1.01331 1.01167 1.01265 1.01624 +1.01788 1.01951 1.01918 1.01102 1.00547 0.995673 0.981633 0.963579 +0.958526 0.961053 0.954105 0.948421 0.964842 0.982286 0.910526 0.705263 +0.533474 0.435627 0.316347 0.00092 0.0008 0.000813333 0.000833333 0.000833333 +0.00082 0.000806667 0.000766667 0.000753333 0.00076 0.000766667 0.000793333 0.000766667 +0.000766667 0.000793333 0.000773333 0.000773333 0.000746667 0.00072 0.000726667 0.000733333 +0.000726667 0.000713333 0.000726667 0.000733333 0.00072 0.00074 0.000726667 0.000706667 +0.00072 0.000713333 0.0007 0.0007 0.000706667 0.000686667 0.000706667 0.000726667 +0.000713333 0.00068 0.000666667 0.000653333 0.000666667 0.000693333 0.00072 0.000713333 +0.00072 0.00072 0.000693333 0.0007 0.00072 0.000706667 0.00068 0.00068 +0.000713333 0.00072 0.0007 0.000706667 0.000713333 0.000713333 0.000706667 0.000706667 +0.00072 0.00072 0.0007 0.000693333 0.00068 0.000693333 0.000726667 0.00074 +0.00074 0.000726667 0.00072 0.0007 0.000713333 0.000753333 0.0008 0.0008 +0.00076 0.000766667 0.00078 0.00096 0.3012 0.322027 0.242507 0.000946667 +0.270907 0.467813 0.671789 0.906105 0.991429 0.980653 0.950316 0.944 +0.951579 0.955368 0.959158 0.971789 0.988163 1.00351 1.012 1.01657 +1.01853 1.0169 1.0182 1.01984 1.02082 1.04563 1.30346 1.42975 +1.19999 1.03159 1.0058 1.00547 1.02016 1.04465 1.05412 0.992408 +0.762105 0.575789 0.501895 0.44888 0.435627 0.399653 0.371253 0.371253 +0.36368 0.358 0.361787 0.359893 0.348533 0.3296 0.310667 0.303093 +0.303093 0.287947 0.293627 0.3012 0.30688 0.297413 0.29552 0.297413 +0.304987 0.316347 0.322027 0.333387 0.350427 0.356107 0.34096 0.337173 +0.365573 0.393973 0.354213 0.29552 0.282267 0.287947 0.287947 0.286053 +0.287947 0.303093 0.293627 0.26712 0.246293 0.276587 0.342853 0.371253 +0.342853 0.308773 0.308773 0.3296 0.322027 0.304987 0.299307 0.297413 +0.31256 0.371253 0.418587 0.378827 0.32392 0.303093 0.299307 0.310667 +0.373147 0.456453 0.43184 0.356107 0.316347 0.310667 0.30688 0.32392 +0.405333 0.501263 0.492427 0.418587 0.418587 0.456453 0.433733 0.356107 +0.303093 0.291733 0.287947 0.287947 0.29552 0.297413 0.293627 0.331493 +0.344747 0.314453 0.29552 0.297413 0.30688 0.304987 0.286053 0.291733 +0.32392 0.39776 0.412907 0.358 0.297413 0.270907 0.28984 0.322027 +0.327707 0.304987 0.293627 0.293627 0.29552 0.297413 0.303093 0.314453 +0.299307 0.297413 0.331493 0.356107 0.358 0.350427 0.348533 0.342853 +0.350427 0.384507 0.517684 0.572 0.522105 0.492427 0.519579 0.588421 +0.743158 0.877684 0.944632 0.985878 1.01657 1.03551 1.04433 1.04988 +1.0502 1.0489 1.05184 1.05184 1.05282 1.05412 1.0538 1.05347 +1.05216 1.05314 1.05282 1.05053 1.05184 1.05216 1.05053 1.05118 +1.04922 1.04988 1.04857 1.04988 1.05151 1.04955 1.04988 1.0502 +1.04563 1.04596 1.04727 1.04563 1.04433 1.04433 1.04465 1.04433 +1.04008 1.03812 1.03682 1.03845 1.03943 1.04008 1.03976 1.03943 +1.03845 1.04269 1.04204 1.04073 1.03714 1.02996 1.02865 1.02931 +1.02996 1.03257 1.03388 1.03355 1.03322 1.03355 1.03388 1.0329 +1.03029 1.02702 1.02441 1.0218 1.02571 1.03355 1.03714 1.03453 +1.0329 1.03192 1.03453 1.03584 1.03551 1.03649 1.03551 1.0391 +1.04204 1.03812 1.03518 1.0342 1.03551 1.0342 1.03616 1.03976 +1.03551 1.03845 1.04139 1.04171 1.04008 1.03943 1.04106 1.04269 +1.04302 1.04465 1.04269 1.04171 1.04139 1.04563 1.04661 1.04433 +1.04171 1.04204 1.04694 1.04629 1.04269 1.04433 1.04629 1.044 +1.04302 1.04465 1.04629 1.04596 1.04857 1.04955 1.04922 1.04955 +1.044 1.04106 1.04433 1.04335 1.04139 1.04171 1.03943 1.03714 +1.03551 1.03616 1.03551 1.03551 1.0391 1.0378 1.03616 1.03714 +1.0378 1.03649 1.03714 1.03812 1.03518 1.03159 1.03224 1.0329 +1.03355 1.03388 1.02931 1.01853 1.00514 0.982939 0.896632 0.782316 +0.686316 0.622526 0.566947 0.484853 0.35232 0.32392 0.325813 0.342853 +0.435627 0.509474 0.486747 0.44888 0.441307 0.4148 0.388293 0.35232 +0.31256 0.304987 0.31256 0.327707 0.34096 0.359893 0.450773 0.554316 +0.652211 0.722316 0.716 0.644632 0.561895 0.514526 0.500632 0.475387 +0.456453 0.481067 0.508211 0.500632 0.452667 0.407227 0.367467 0.367467 +0.405333 0.42616 0.405333 0.36936 0.342853 0.337173 0.34096 0.34096 +0.3296 0.320133 0.325813 0.316347 0.30688 0.320133 0.333387 0.337173 +0.342853 0.33528 0.320133 0.325813 0.358 0.43752 0.490533 0.42048 +0.354213 0.350427 0.373147 0.393973 0.418587 0.46024 0.520211 0.622526 +0.786105 0.964211 1.06913 1.24564 1.05935 1.01886 1.01918 1.05151 +1.21368 1.27911 1.15586 1.04041 1.01624 1.012 1.01527 1.01657 +1.0169 1.0169 1.01461 1.01233 1.01265 1.01298 1.01363 1.01722 +1.01657 1.0169 1.01722 1.01135 1.01004 1.00416 0.990449 0.973053 +0.956632 0.956632 0.952842 0.946526 0.956 0.981959 0.962947 0.798105 +0.588421 0.479173 0.36936 0.231147 0.000806667 0.00078 0.000773333 0.00076 +0.000773333 0.000793333 0.000786667 0.00078 0.0008 0.000833333 0.000833333 0.000806667 +0.000773333 0.000753333 0.00074 0.00076 0.000766667 0.00076 0.000746667 0.000746667 +0.000746667 0.000746667 0.000746667 0.000726667 0.000686667 0.000713333 0.00074 0.000733333 +0.000733333 0.000733333 0.00072 0.000726667 0.000726667 0.000693333 0.000673333 0.000693333 +0.0007 0.0007 0.000706667 0.000706667 0.000693333 0.000686667 0.0007 0.0007 +0.000686667 0.0007 0.0007 0.000693333 0.000726667 0.00072 0.000686667 0.000673333 +0.000693333 0.00072 0.00072 0.000693333 0.000693333 0.00072 0.000713333 0.0007 +0.000713333 0.000713333 0.000706667 0.000706667 0.0007 0.00068 0.000706667 0.00072 +0.00072 0.000726667 0.00074 0.00072 0.000706667 0.000733333 0.000766667 0.00078 +0.000753333 0.00076 0.000846667 0.25008 0.327707 0.291733 0.000973333 0.216 +0.331493 0.543579 0.765895 0.963579 0.990449 0.965474 0.945263 0.945263 +0.954105 0.952211 0.954105 0.969895 0.989143 1.00449 1.01331 1.01722 +1.01755 1.0169 1.0169 1.01755 1.01788 1.03812 1.26998 1.41301 +1.16956 1.02669 1.00612 1.01004 1.028 1.0489 1.04596 0.959158 +0.717263 0.555579 0.486747 0.4432 0.441307 0.412907 0.382613 0.373147 +0.356107 0.350427 0.35232 0.350427 0.339067 0.314453 0.299307 0.297413 +0.304987 0.297413 0.287947 0.291733 0.3012 0.293627 0.28416 0.282267 +0.27848 0.280373 0.286053 0.291733 0.30688 0.320133 0.333387 0.361787 +0.4148 0.458347 0.39776 0.308773 0.276587 0.270907 0.28984 0.314453 +0.3296 0.327707 0.293627 0.2728 0.253867 0.280373 0.342853 0.378827 +0.350427 0.30688 0.299307 0.33528 0.34664 0.3296 0.31256 0.28984 +0.28416 0.3296 0.407227 0.399653 0.348533 0.322027 0.331493 0.344747 +0.367467 0.42048 0.433733 0.38072 0.32392 0.299307 0.3012 0.316347 +0.34096 0.39776 0.464027 0.505684 0.518316 0.515158 0.464027 0.359893 +0.303093 0.293627 0.299307 0.303093 0.314453 0.316347 0.29552 0.31256 +0.339067 0.32392 0.291733 0.3012 0.32392 0.33528 0.31256 0.282267 +0.29552 0.344747 0.359893 0.327707 0.28416 0.265227 0.286053 0.30688 +0.322027 0.327707 0.310667 0.293627 0.293627 0.304987 0.310667 0.3296 +0.32392 0.308773 0.32392 0.35232 0.373147 0.361787 0.354213 0.344747 +0.344747 0.39776 0.528421 0.571368 0.529053 0.5 0.479173 0.534737 +0.669263 0.819579 0.911789 0.961053 1.00253 1.02735 1.03976 1.04661 +1.05118 1.04955 1.05086 1.05086 1.0489 1.05249 1.05412 1.05282 +1.05347 1.05543 1.05576 1.05249 1.05216 1.05249 1.05053 1.05086 +1.05053 1.04988 1.04694 1.04694 1.04955 1.04727 1.04694 1.04857 +1.04694 1.04694 1.04922 1.04629 1.044 1.04498 1.04335 1.04335 +1.03878 1.03649 1.0378 1.04106 1.04106 1.04041 1.03747 1.03943 +1.0391 1.04073 1.03943 1.03682 1.03322 1.02735 1.02571 1.02898 +1.03061 1.0329 1.03584 1.03812 1.0378 1.03486 1.03584 1.03388 +1.02898 1.02506 1.02408 1.0218 1.02278 1.03094 1.0378 1.03584 +1.03355 1.03518 1.03649 1.03649 1.03551 1.03682 1.03812 1.04139 +1.04465 1.04106 1.03812 1.03845 1.03714 1.03584 1.03878 1.03943 +1.03812 1.0391 1.03616 1.03747 1.03878 1.04008 1.04237 1.0391 +1.03878 1.04302 1.04237 1.04367 1.04204 1.04367 1.04694 1.04629 +1.04302 1.04171 1.04629 1.04629 1.04237 1.04269 1.04367 1.04563 +1.04563 1.04367 1.04335 1.04498 1.04857 1.0489 1.04922 1.0489 +1.04694 1.04498 1.04498 1.04367 1.04139 1.04106 1.03878 1.03649 +1.0391 1.03976 1.03714 1.04008 1.04237 1.04008 1.0378 1.03747 +1.04008 1.03943 1.03584 1.03388 1.03355 1.03224 1.03257 1.03388 +1.03061 1.02931 1.02637 1.01657 0.998286 0.937684 0.827158 0.724211 +0.660421 0.615579 0.551158 0.435627 0.331493 0.322027 0.333387 0.384507 +0.48864 0.515789 0.501263 0.45456 0.4148 0.39208 0.37504 0.339067 +0.303093 0.30688 0.3296 0.35232 0.378827 0.429947 0.516421 0.580211 +0.638316 0.649684 0.603579 0.530947 0.428053 0.359893 0.35232 0.356107 +0.36368 0.416693 0.479173 0.42616 0.36936 0.356107 0.327707 0.337173 +0.36936 0.376933 0.367467 0.39776 0.40344 0.36936 0.350427 0.33528 +0.322027 0.32392 0.31824 0.316347 0.316347 0.32392 0.3296 0.33528 +0.344747 0.350427 0.33528 0.331493 0.378827 0.46592 0.481067 0.4148 +0.376933 0.390187 0.42616 0.43752 0.435627 0.462133 0.513263 0.601053 +0.756421 0.942105 1.05673 1.24411 1.05869 1.01461 1.01233 1.04269 +1.19086 1.3065 1.19542 1.04531 1.01951 1.01363 1.0169 1.01886 +1.01624 1.0169 1.01722 1.01331 1.012 1.01265 1.01363 1.01527 +1.01429 1.01494 1.01755 1.01461 1.01233 1.00906 0.996653 0.980327 +0.954737 0.951579 0.953474 0.951579 0.956 0.976842 0.982286 0.875158 +0.657263 0.514526 0.412907 0.27848 0.000873333 0.00078 0.000726667 0.000713333 +0.000746667 0.000793333 0.0008 0.000773333 0.00078 0.000786667 0.000773333 0.00076 +0.00076 0.00076 0.000753333 0.000746667 0.000746667 0.000746667 0.00074 0.00074 +0.000733333 0.00076 0.000773333 0.000753333 0.000733333 0.000726667 0.000726667 0.000706667 +0.000693333 0.00072 0.000733333 0.00074 0.00076 0.00074 0.00072 0.0007 +0.000686667 0.000686667 0.0007 0.000706667 0.000706667 0.000693333 0.0007 0.000693333 +0.000686667 0.000686667 0.000693333 0.000666667 0.000686667 0.000713333 0.0007 0.000666667 +0.000673333 0.000713333 0.000733333 0.000713333 0.00068 0.000686667 0.000693333 0.00068 +0.000686667 0.0007 0.000706667 0.00072 0.000733333 0.00072 0.00072 0.000726667 +0.00072 0.0007 0.000713333 0.000726667 0.00074 0.00076 0.000773333 0.000786667 +0.000786667 0.000793333 0.000946667 0.291733 0.316347 0.23872 0.000933333 0.253867 +0.418587 0.620632 0.856842 0.986204 0.981306 0.953474 0.943368 0.945895 +0.952842 0.951579 0.955368 0.973684 0.991102 1.00547 1.01298 1.0169 +1.01624 1.01657 1.01559 1.01363 1.01363 1.02931 1.2152 1.37649 +1.14065 1.02408 1.00841 1.01527 1.03486 1.05282 1.03943 0.92821 +0.692 0.543579 0.4716 0.428053 0.42616 0.429947 0.4148 0.376933 +0.339067 0.3296 0.339067 0.348533 0.339067 0.31256 0.291733 0.286053 +0.297413 0.299307 0.293627 0.3012 0.303093 0.3012 0.29552 0.291733 +0.286053 0.274693 0.2728 0.27848 0.29552 0.299307 0.299307 0.331493 +0.422373 0.506947 0.458347 0.33528 0.286053 0.274693 0.28416 0.314453 +0.365573 0.384507 0.350427 0.293627 0.2728 0.28984 0.36368 0.407227 +0.367467 0.310667 0.291733 0.308773 0.337173 0.36936 0.376933 0.339067 +0.29552 0.310667 0.3864 0.428053 0.378827 0.344747 0.348533 0.350427 +0.3296 0.344747 0.40912 0.4148 0.344747 0.293627 0.287947 0.304987 +0.304987 0.31824 0.39776 0.511368 0.546105 0.534105 0.46592 0.365573 +0.310667 0.308773 0.32392 0.32392 0.322027 0.32392 0.303093 0.28984 +0.320133 0.333387 0.31256 0.299307 0.308773 0.337173 0.342853 0.31824 +0.297413 0.30688 0.325813 0.310667 0.299307 0.297413 0.297413 0.293627 +0.30688 0.34096 0.33528 0.308773 0.297413 0.299307 0.31256 0.34664 +0.376933 0.36368 0.34664 0.382613 0.4148 0.3864 0.36368 0.35232 +0.350427 0.407227 0.510737 0.534105 0.515158 0.452667 0.3864 0.479173 +0.598526 0.745684 0.870105 0.936421 0.992735 1.02147 1.03649 1.04335 +1.04824 1.04922 1.05053 1.05249 1.0489 1.04922 1.05282 1.05412 +1.05478 1.05543 1.05576 1.05347 1.05118 1.05151 1.0489 1.05053 +1.05314 1.05282 1.04988 1.04792 1.0489 1.04727 1.04661 1.04759 +1.04694 1.04531 1.04857 1.04694 1.04269 1.04433 1.04335 1.04204 +1.03878 1.0378 1.03845 1.03976 1.04008 1.03845 1.03486 1.03845 +1.04008 1.03747 1.03388 1.03224 1.03094 1.02833 1.02735 1.03127 +1.03486 1.03584 1.03486 1.03682 1.03845 1.0378 1.04008 1.03551 +1.03029 1.02506 1.028 1.03061 1.03029 1.03453 1.03976 1.0378 +1.03616 1.03845 1.04041 1.03943 1.03714 1.0391 1.03976 1.04008 +1.04335 1.03943 1.03812 1.0391 1.03747 1.03682 1.04008 1.04008 +1.04139 1.04269 1.03518 1.03453 1.03682 1.03943 1.04204 1.03845 +1.03845 1.04269 1.04335 1.04302 1.04269 1.04335 1.04498 1.04498 +1.04498 1.04204 1.04367 1.04531 1.04204 1.04171 1.04204 1.04531 +1.04563 1.04335 1.04139 1.044 1.04661 1.04531 1.04727 1.04596 +1.04498 1.04661 1.04596 1.04335 1.04073 1.04106 1.03943 1.03682 +1.03976 1.04073 1.04041 1.04171 1.04106 1.04106 1.04139 1.03714 +1.03714 1.03976 1.03616 1.03159 1.0342 1.03486 1.03257 1.03127 +1.02898 1.02473 1.01918 1.00776 0.975579 0.864421 0.751368 0.683789 +0.649684 0.604842 0.533474 0.39776 0.325813 0.3296 0.350427 0.4432 +0.518947 0.519579 0.490533 0.4148 0.376933 0.373147 0.350427 0.3296 +0.31824 0.316347 0.339067 0.36936 0.40344 0.458347 0.514526 0.547368 +0.563789 0.547368 0.504421 0.388293 0.3296 0.322027 0.327707 0.339067 +0.350427 0.38072 0.422373 0.378827 0.333387 0.33528 0.322027 0.322027 +0.342853 0.35232 0.331493 0.36936 0.4148 0.37504 0.34096 0.3296 +0.322027 0.320133 0.314453 0.320133 0.32392 0.322027 0.320133 0.327707 +0.331493 0.333387 0.34096 0.339067 0.40344 0.504421 0.501895 0.441307 +0.43184 0.456453 0.49432 0.484853 0.456453 0.46592 0.505684 0.577053 +0.718526 0.906737 1.04955 1.24868 1.06 1.01363 1.00743 1.03192 +1.14217 1.30041 1.22586 1.05249 1.02408 1.01624 1.0169 1.02082 +1.01722 1.01722 1.01886 1.01429 1.01037 1.00971 1.01233 1.01429 +1.01494 1.01657 1.01951 1.01494 1.00743 1.00449 0.998939 0.984898 +0.962316 0.954105 0.954737 0.956632 0.959789 0.975579 0.987184 0.939579 +0.742526 0.553684 0.445093 0.316347 0.000926667 0.000806667 0.000793333 0.000786667 +0.000806667 0.000813333 0.000793333 0.00076 0.000746667 0.000733333 0.00072 0.00074 +0.000746667 0.000773333 0.000773333 0.000733333 0.00072 0.000726667 0.000746667 0.000753333 +0.000746667 0.000753333 0.000746667 0.000713333 0.00072 0.000713333 0.00072 0.000713333 +0.000693333 0.0007 0.000686667 0.000693333 0.000713333 0.00072 0.000746667 0.00074 +0.000726667 0.00072 0.000693333 0.00068 0.00068 0.000666667 0.00068 0.000686667 +0.000706667 0.000713333 0.000713333 0.00068 0.000673333 0.000713333 0.000726667 0.000686667 +0.00066 0.000653333 0.000686667 0.00072 0.00072 0.000706667 0.00072 0.000693333 +0.000673333 0.000686667 0.000713333 0.000693333 0.000706667 0.000713333 0.000693333 0.000713333 +0.00072 0.000713333 0.000713333 0.00074 0.000746667 0.00076 0.00078 0.000786667 +0.000786667 0.00086 0.25008 0.320133 0.2728 0.000893333 0.00094 0.303093 +0.515158 0.711579 0.929474 0.98751 0.965474 0.947789 0.944632 0.947158 +0.948421 0.945895 0.955368 0.978737 0.993714 1.00645 1.012 1.01363 +1.01363 1.01396 1.01265 1.01037 1.01069 1.02343 1.16651 1.32932 +1.11173 1.02539 1.01461 1.02376 1.04008 1.05118 1.02604 0.895368 +0.670526 0.530947 0.446987 0.40344 0.39776 0.411013 0.42048 0.393973 +0.34096 0.316347 0.322027 0.3296 0.32392 0.304987 0.28984 0.282267 +0.286053 0.293627 0.28984 0.286053 0.28984 0.30688 0.314453 0.314453 +0.30688 0.280373 0.269013 0.291733 0.31256 0.303093 0.293627 0.308773 +0.412907 0.518947 0.505684 0.36368 0.3012 0.3012 0.293627 0.303093 +0.37504 0.418587 0.373147 0.30688 0.280373 0.291733 0.354213 0.401547 +0.36368 0.31256 0.303093 0.31256 0.3296 0.376933 0.418587 0.418587 +0.373147 0.3296 0.359893 0.429947 0.416693 0.376933 0.354213 0.32392 +0.291733 0.304987 0.39776 0.456453 0.378827 0.3012 0.28416 0.291733 +0.3012 0.333387 0.4148 0.503789 0.529684 0.529053 0.4716 0.388293 +0.348533 0.331493 0.337173 0.33528 0.320133 0.30688 0.29552 0.291733 +0.310667 0.339067 0.320133 0.297413 0.287947 0.297413 0.344747 0.384507 +0.354213 0.304987 0.316347 0.325813 0.333387 0.327707 0.327707 0.316347 +0.316347 0.333387 0.339067 0.325813 0.308773 0.299307 0.30688 0.33528 +0.4148 0.469707 0.43752 0.43184 0.43752 0.39208 0.35232 0.342853 +0.348533 0.378827 0.424267 0.46024 0.464027 0.405333 0.35232 0.393973 +0.531579 0.666737 0.822105 0.911158 0.982286 1.01559 1.03486 1.04302 +1.04465 1.04661 1.0489 1.05086 1.05086 1.04988 1.05151 1.05412 +1.05347 1.05314 1.05216 1.05282 1.05249 1.05118 1.04955 1.0489 +1.05086 1.05151 1.04955 1.04824 1.0489 1.04824 1.04792 1.0489 +1.04857 1.04367 1.04596 1.04857 1.04498 1.04367 1.04465 1.04302 +1.04008 1.03943 1.03878 1.03878 1.03943 1.03943 1.03453 1.03453 +1.03747 1.03584 1.03159 1.02996 1.02931 1.02865 1.02898 1.03355 +1.03943 1.04041 1.03616 1.03551 1.03682 1.03812 1.04106 1.0391 +1.03649 1.03094 1.03453 1.03747 1.03747 1.04269 1.04335 1.0391 +1.04073 1.04106 1.04204 1.04073 1.03714 1.04008 1.04204 1.04008 +1.04106 1.03682 1.03747 1.03943 1.03878 1.04008 1.04106 1.03845 +1.03976 1.04335 1.03747 1.0342 1.03649 1.04041 1.04073 1.0391 +1.03943 1.04073 1.04106 1.04008 1.04171 1.04498 1.04498 1.04204 +1.04465 1.04531 1.04498 1.04465 1.04335 1.04596 1.04694 1.04596 +1.04335 1.04302 1.04563 1.04727 1.04661 1.04629 1.04792 1.04596 +1.044 1.04661 1.04694 1.044 1.04302 1.04335 1.04106 1.03747 +1.03878 1.04073 1.04139 1.04073 1.04171 1.04237 1.04171 1.03747 +1.03551 1.03649 1.03584 1.03388 1.03453 1.0342 1.03257 1.03094 +1.02963 1.02245 1.01102 0.987837 0.901684 0.780421 0.698316 0.66421 +0.638947 0.578947 0.506316 0.39208 0.342853 0.342853 0.395867 0.505053 +0.529684 0.520211 0.486747 0.39208 0.358 0.358 0.342853 0.331493 +0.33528 0.342853 0.356107 0.373147 0.393973 0.4148 0.445093 0.47728 +0.46024 0.424267 0.388293 0.337173 0.316347 0.31824 0.3296 0.34096 +0.35232 0.359893 0.365573 0.34096 0.325813 0.339067 0.33528 0.314453 +0.32392 0.337173 0.322027 0.34096 0.384507 0.356107 0.320133 0.310667 +0.308773 0.30688 0.31256 0.33528 0.337173 0.325813 0.320133 0.32392 +0.316347 0.308773 0.31824 0.333387 0.411013 0.504421 0.496213 0.435627 +0.422373 0.445093 0.475387 0.456453 0.42616 0.439413 0.490533 0.554316 +0.680632 0.870105 1.04041 1.24411 1.05902 1.012 1.00449 1.02571 +1.10869 1.30498 1.26237 1.05641 1.02278 1.01494 1.01559 1.02016 +1.01788 1.01624 1.0169 1.012 1.00971 1.01102 1.01461 1.0169 +1.01624 1.01559 1.01592 1.01429 1.00776 1.00547 1.00286 0.991755 +0.972421 0.952211 0.952211 0.956 0.956 0.964842 0.982939 0.974316 +0.825263 0.610526 0.501895 0.373147 0.23872 0.000886667 0.00084 0.000813333 +0.00078 0.000773333 0.00078 0.000766667 0.000766667 0.000773333 0.000773333 0.000773333 +0.000746667 0.000746667 0.000746667 0.000746667 0.000773333 0.00078 0.000773333 0.000753333 +0.00074 0.000726667 0.00072 0.000733333 0.0007 0.0007 0.00072 0.00072 +0.000713333 0.000726667 0.000706667 0.0007 0.000706667 0.0007 0.000713333 0.000726667 +0.000726667 0.000746667 0.000733333 0.00072 0.000713333 0.000693333 0.000713333 0.000713333 +0.00072 0.000706667 0.000706667 0.000713333 0.00068 0.00066 0.000693333 0.000693333 +0.000666667 0.000653333 0.00066 0.00068 0.0007 0.000706667 0.000726667 0.000733333 +0.0007 0.0007 0.000706667 0.0007 0.000706667 0.00072 0.000726667 0.000713333 +0.000726667 0.000733333 0.000733333 0.000766667 0.00076 0.00076 0.0008 0.000793333 +0.00078 0.000933333 0.28984 0.31824 0.236827 0.00086 0.23304 0.365573 +0.573263 0.803789 0.973053 0.982939 0.955368 0.946526 0.949053 0.948421 +0.945895 0.944 0.954105 0.98 0.993714 1.00384 1.00873 1.01167 +1.01233 1.01233 1.01004 1.00743 1.00645 1.01788 1.12999 1.29737 +1.11021 1.03192 1.02441 1.0342 1.04596 1.04237 1.0009 0.842316 +0.640211 0.517684 0.429947 0.390187 0.378827 0.37504 0.384507 0.395867 +0.36368 0.325813 0.314453 0.30688 0.303093 0.291733 0.282267 0.280373 +0.280373 0.291733 0.299307 0.286053 0.280373 0.29552 0.320133 0.34096 +0.361787 0.33528 0.303093 0.32392 0.325813 0.30688 0.304987 0.308773 +0.384507 0.513263 0.512 0.39208 0.314453 0.314453 0.314453 0.32392 +0.39776 0.405333 0.331493 0.291733 0.280373 0.286053 0.325813 0.376933 +0.361787 0.325813 0.316347 0.320133 0.325813 0.339067 0.367467 0.412907 +0.435627 0.39776 0.376933 0.43752 0.467813 0.42048 0.365573 0.316347 +0.287947 0.303093 0.359893 0.422373 0.38072 0.304987 0.27848 0.28416 +0.31824 0.395867 0.4716 0.48296 0.501895 0.524 0.519579 0.48864 +0.424267 0.373147 0.342853 0.322027 0.310667 0.28984 0.297413 0.31824 +0.354213 0.393973 0.359893 0.316347 0.28984 0.286053 0.325813 0.40912 +0.450773 0.401547 0.378827 0.37504 0.365573 0.365573 0.36368 0.354213 +0.327707 0.322027 0.327707 0.320133 0.304987 0.28984 0.293627 0.322027 +0.452667 0.527158 0.517684 0.484853 0.42616 0.378827 0.33528 0.333387 +0.348533 0.342853 0.354213 0.382613 0.405333 0.401547 0.373147 0.371253 +0.47728 0.600421 0.772211 0.885263 0.963579 1.01004 1.0329 1.04171 +1.04269 1.044 1.04727 1.04824 1.05086 1.05184 1.05282 1.05347 +1.05216 1.05216 1.04988 1.05184 1.05184 1.05151 1.05249 1.04988 +1.05086 1.05249 1.04857 1.04727 1.0489 1.04727 1.04727 1.04857 +1.0502 1.04792 1.04792 1.04988 1.04955 1.04727 1.04629 1.04465 +1.04041 1.03878 1.0391 1.03976 1.03878 1.04073 1.03682 1.03192 +1.03192 1.0329 1.03192 1.02865 1.028 1.02996 1.03029 1.03584 +1.04073 1.04237 1.04008 1.03812 1.03812 1.03976 1.04269 1.04204 +1.04302 1.03943 1.04041 1.0391 1.03747 1.04433 1.04531 1.03943 +1.04237 1.04139 1.04139 1.04008 1.03584 1.03845 1.04269 1.04041 +1.04041 1.03747 1.03682 1.0391 1.03812 1.04106 1.04237 1.04073 +1.04041 1.04073 1.04041 1.0378 1.03747 1.03943 1.04073 1.04073 +1.03976 1.03845 1.03943 1.04204 1.044 1.04792 1.0489 1.04433 +1.04204 1.04465 1.04759 1.04629 1.044 1.04824 1.05086 1.0489 +1.04335 1.04269 1.0489 1.05086 1.04694 1.04629 1.04629 1.04433 +1.04465 1.04694 1.04727 1.04531 1.04302 1.04073 1.03878 1.03878 +1.03976 1.04171 1.04237 1.04106 1.04171 1.04106 1.03845 1.0378 +1.03714 1.03682 1.03747 1.03551 1.03322 1.03322 1.03257 1.03159 +1.02669 1.0169 0.999592 0.942105 0.824 0.719789 0.674947 0.657895 +0.621263 0.539789 0.422373 0.37504 0.37504 0.399653 0.475387 0.519579 +0.524632 0.529053 0.513263 0.411013 0.34664 0.331493 0.339067 0.344747 +0.358 0.373147 0.36936 0.37504 0.382613 0.376933 0.365573 0.371253 +0.35232 0.34096 0.36936 0.354213 0.322027 0.314453 0.316347 0.32392 +0.339067 0.350427 0.34664 0.310667 0.308773 0.348533 0.35232 0.322027 +0.314453 0.32392 0.31824 0.3296 0.365573 0.342853 0.31256 0.308773 +0.314453 0.322027 0.325813 0.337173 0.342853 0.339067 0.3296 0.320133 +0.322027 0.314453 0.31824 0.344747 0.401547 0.433733 0.40912 0.378827 +0.376933 0.38072 0.393973 0.395867 0.395867 0.424267 0.48864 0.543579 +0.652842 0.836 1.02996 1.24107 1.07217 1.01298 0.999592 1.0169 +1.06456 1.30194 1.30498 1.08435 1.02637 1.01624 1.01657 1.0182 +1.01592 1.01429 1.01592 1.01527 1.01298 1.01004 1.012 1.01657 +1.01592 1.01396 1.01527 1.01657 1.01004 1.0071 1.00612 0.996327 +0.980327 0.955368 0.952842 0.956632 0.950947 0.948421 0.966105 0.982286 +0.896632 0.688211 0.530947 0.422373 0.291733 0.00092 0.00082 0.000766667 +0.00072 0.000733333 0.000773333 0.00082 0.000806667 0.00078 0.000773333 0.000766667 +0.000773333 0.000773333 0.000753333 0.000753333 0.000773333 0.000746667 0.000706667 0.0007 +0.000726667 0.000733333 0.00076 0.000766667 0.00074 0.00072 0.000713333 0.000706667 +0.000706667 0.000713333 0.000706667 0.000706667 0.000733333 0.000726667 0.00074 0.000726667 +0.000693333 0.00068 0.000693333 0.000706667 0.000713333 0.000713333 0.000713333 0.00072 +0.00072 0.000693333 0.000686667 0.000706667 0.0007 0.00066 0.00068 0.000693333 +0.0007 0.000713333 0.0007 0.000693333 0.000686667 0.000666667 0.000673333 0.000706667 +0.0007 0.00072 0.000733333 0.000726667 0.00072 0.000733333 0.00074 0.00072 +0.000726667 0.000753333 0.000726667 0.000753333 0.00076 0.000746667 0.000773333 0.000793333 +0.000846667 0.242507 0.31256 0.270907 0.0009 0.000873333 0.2728 0.46592 +0.656 0.889053 0.987184 0.974316 0.947158 0.946526 0.954105 0.950316 +0.945895 0.945263 0.957263 0.981959 0.993061 1.00188 1.00776 1.00939 +1.01135 1.01037 1.00873 1.00547 1.00286 1.01331 1.08587 1.27303 +1.12239 1.03943 1.03322 1.04204 1.04759 1.02735 0.954105 0.780421 +0.611158 0.511368 0.422373 0.382613 0.36368 0.354213 0.356107 0.378827 +0.376933 0.358 0.33528 0.316347 0.303093 0.286053 0.2728 0.2728 +0.276587 0.280373 0.3012 0.303093 0.287947 0.28416 0.29552 0.333387 +0.40344 0.424267 0.384507 0.36368 0.33528 0.30688 0.303093 0.30688 +0.34664 0.45456 0.506316 0.42616 0.325813 0.327707 0.358 0.390187 +0.435627 0.39208 0.3012 0.27848 0.282267 0.276587 0.299307 0.35232 +0.354213 0.327707 0.316347 0.310667 0.310667 0.31256 0.314453 0.34096 +0.39776 0.441307 0.452667 0.502526 0.520842 0.504421 0.42048 0.333387 +0.28984 0.299307 0.316347 0.344747 0.36368 0.34664 0.325813 0.327707 +0.382613 0.446987 0.462133 0.429947 0.456453 0.527158 0.541053 0.510105 +0.428053 0.367467 0.333387 0.316347 0.308773 0.3012 0.308773 0.342853 +0.42048 0.48296 0.424267 0.342853 0.30688 0.287947 0.299307 0.373147 +0.464027 0.469707 0.428053 0.388293 0.359893 0.356107 0.356107 0.367467 +0.365573 0.356107 0.337173 0.314453 0.30688 0.297413 0.291733 0.333387 +0.49432 0.538526 0.524632 0.505053 0.42616 0.359893 0.36368 0.395867 +0.378827 0.348533 0.371253 0.38072 0.378827 0.39776 0.39776 0.384507 +0.433733 0.552421 0.724842 0.858105 0.943368 1.00253 1.02669 1.03812 +1.04171 1.04237 1.04563 1.04988 1.05282 1.05347 1.05412 1.05314 +1.05249 1.0538 1.05216 1.05249 1.05184 1.05086 1.05249 1.04955 +1.04955 1.05151 1.04955 1.04727 1.0489 1.04824 1.04824 1.04922 +1.04988 1.04857 1.04792 1.04694 1.04792 1.04694 1.04531 1.04335 +1.04041 1.04008 1.03976 1.03976 1.03747 1.03812 1.03649 1.02963 +1.02767 1.02898 1.03029 1.028 1.02996 1.03159 1.03061 1.03747 +1.04302 1.04367 1.04171 1.04106 1.04106 1.04139 1.04531 1.044 +1.044 1.04204 1.04335 1.04106 1.03878 1.04139 1.04041 1.03584 +1.04106 1.04171 1.04008 1.03878 1.03649 1.0391 1.04171 1.04041 +1.03943 1.03616 1.03616 1.03845 1.03747 1.03943 1.04073 1.04106 +1.04269 1.03943 1.03845 1.03943 1.03943 1.04139 1.04237 1.04171 +1.04008 1.03845 1.03747 1.03878 1.04073 1.04465 1.04661 1.04596 +1.04465 1.04465 1.04629 1.04596 1.044 1.04596 1.04727 1.04824 +1.04563 1.04302 1.04727 1.0502 1.04792 1.04629 1.04302 1.04171 +1.04433 1.04498 1.04727 1.04727 1.04302 1.03976 1.0391 1.04139 +1.04106 1.04106 1.04139 1.04073 1.04204 1.04139 1.03812 1.0391 +1.03878 1.0378 1.03616 1.03224 1.03127 1.03322 1.03192 1.02996 +1.02049 1.00449 0.970526 0.869474 0.757684 0.690737 0.667368 0.645263 +0.587789 0.505053 0.373147 0.36368 0.40344 0.450773 0.507579 0.524 +0.533474 0.548632 0.522737 0.424267 0.36936 0.33528 0.331493 0.34664 +0.365573 0.388293 0.3864 0.37504 0.367467 0.36368 0.342853 0.333387 +0.325813 0.320133 0.344747 0.356107 0.327707 0.314453 0.310667 0.31824 +0.331493 0.339067 0.33528 0.320133 0.316347 0.34664 0.348533 0.320133 +0.308773 0.310667 0.31256 0.333387 0.36368 0.348533 0.314453 0.30688 +0.320133 0.350427 0.358 0.33528 0.325813 0.331493 0.337173 0.3296 +0.339067 0.34096 0.331493 0.34664 0.37504 0.36368 0.348533 0.35232 +0.358 0.35232 0.354213 0.36368 0.390187 0.424267 0.479173 0.531579 +0.621895 0.796211 1.01722 1.25172 1.11326 1.0182 0.997959 1.00743 +1.0489 1.27607 1.33845 1.12847 1.02898 1.01559 1.01592 1.01527 +1.01657 1.01624 1.01559 1.01657 1.01298 1.00841 1.01069 1.01624 +1.01461 1.01298 1.01494 1.01592 1.01069 1.00873 1.00939 1.00024 +0.984571 0.960421 0.953474 0.953474 0.950947 0.944 0.955368 0.981306 +0.949684 0.773474 0.573895 0.458347 0.331493 0.219787 0.000853333 0.000786667 +0.000753333 0.000746667 0.00076 0.0008 0.00078 0.000766667 0.00078 0.000773333 +0.000773333 0.00076 0.000706667 0.0007 0.000726667 0.00072 0.0007 0.000713333 +0.000733333 0.000733333 0.00074 0.00072 0.000726667 0.000713333 0.000706667 0.000706667 +0.000733333 0.000753333 0.000746667 0.00072 0.000713333 0.000706667 0.000713333 0.00074 +0.00074 0.000706667 0.000706667 0.000706667 0.000686667 0.000673333 0.000673333 0.000686667 +0.000713333 0.000726667 0.000726667 0.000733333 0.000726667 0.000693333 0.000673333 0.000686667 +0.000693333 0.0007 0.000693333 0.0007 0.000706667 0.000693333 0.00068 0.000686667 +0.00068 0.000706667 0.000706667 0.000713333 0.000713333 0.000726667 0.00076 0.000753333 +0.00076 0.00078 0.000746667 0.000726667 0.00074 0.000746667 0.00076 0.000793333 +0.000953333 0.293627 0.31824 0.236827 0.00084 0.00094 0.310667 0.535368 +0.748211 0.952211 0.989796 0.967368 0.945895 0.947789 0.952842 0.944632 +0.940211 0.946526 0.962316 0.982612 0.992082 1.00024 1.0058 1.00678 +1.00971 1.00939 1.0058 1.00024 0.997306 1.00841 1.0538 1.23042 +1.12847 1.04498 1.04073 1.04563 1.04335 1.00808 0.887158 0.719158 +0.579579 0.496213 0.401547 0.361787 0.337173 0.327707 0.325813 0.333387 +0.34664 0.356107 0.354213 0.34096 0.31824 0.293627 0.276587 0.282267 +0.293627 0.28984 0.291733 0.304987 0.30688 0.291733 0.282267 0.30688 +0.37504 0.441307 0.428053 0.376933 0.348533 0.32392 0.299307 0.28984 +0.303093 0.367467 0.4716 0.450773 0.354213 0.34096 0.384507 0.42048 +0.4432 0.382613 0.291733 0.257653 0.263333 0.269013 0.28984 0.31824 +0.325813 0.322027 0.31824 0.314453 0.3012 0.303093 0.308773 0.322027 +0.365573 0.428053 0.473493 0.513263 0.539789 0.541684 0.510105 0.39776 +0.325813 0.316347 0.316347 0.320133 0.342853 0.359893 0.367467 0.376933 +0.40344 0.416693 0.378827 0.344747 0.378827 0.513263 0.541684 0.496213 +0.37504 0.3296 0.320133 0.31256 0.31256 0.316347 0.320133 0.342853 +0.382613 0.42616 0.384507 0.325813 0.297413 0.28984 0.303093 0.34096 +0.3864 0.393973 0.361787 0.33528 0.314453 0.314453 0.31256 0.333387 +0.367467 0.405333 0.401547 0.356107 0.322027 0.30688 0.30688 0.359893 +0.511368 0.534737 0.502526 0.464027 0.39208 0.37504 0.481067 0.514526 +0.47728 0.40912 0.39208 0.371253 0.354213 0.38072 0.40344 0.40344 +0.428053 0.529053 0.692 0.832842 0.918105 0.992082 1.02082 1.0342 +1.03976 1.04302 1.04759 1.05249 1.05445 1.05314 1.05216 1.05412 +1.05347 1.05151 1.05086 1.05184 1.05445 1.05314 1.05282 1.05118 +1.04955 1.05053 1.04955 1.04759 1.04727 1.04824 1.0502 1.05053 +1.04922 1.04661 1.04727 1.04727 1.04531 1.04563 1.04433 1.04269 +1.04171 1.03976 1.03812 1.03878 1.03878 1.03518 1.03322 1.03029 +1.02669 1.02571 1.02833 1.02963 1.03159 1.0329 1.03159 1.03845 +1.04629 1.04792 1.04433 1.04269 1.04433 1.04171 1.04465 1.04498 +1.04498 1.04171 1.04041 1.03943 1.04041 1.04139 1.03878 1.03453 +1.0391 1.04073 1.03812 1.03812 1.03486 1.03943 1.04008 1.0378 +1.03943 1.03682 1.03682 1.03812 1.03551 1.0391 1.04139 1.03943 +1.04269 1.04073 1.03878 1.03878 1.0391 1.04008 1.04041 1.03943 +1.03943 1.04041 1.03943 1.0391 1.03976 1.04204 1.04433 1.04465 +1.04694 1.04661 1.04498 1.04335 1.04367 1.04596 1.04498 1.04792 +1.04759 1.04335 1.04531 1.04727 1.04727 1.04759 1.04204 1.04204 +1.04302 1.04204 1.04302 1.04433 1.04302 1.04237 1.04237 1.04367 +1.04171 1.04041 1.03943 1.03976 1.04139 1.04041 1.03812 1.03812 +1.03878 1.03682 1.03486 1.03127 1.03029 1.03322 1.03061 1.02473 +1.01331 0.98751 0.905474 0.794947 0.708421 0.671158 0.655368 0.618105 +0.551789 0.45456 0.365573 0.382613 0.456453 0.505684 0.532842 0.559368 +0.578316 0.568211 0.522105 0.467813 0.439413 0.378827 0.348533 0.35232 +0.356107 0.36936 0.373147 0.365573 0.358 0.350427 0.344747 0.33528 +0.3296 0.322027 0.325813 0.33528 0.32392 0.308773 0.310667 0.316347 +0.331493 0.339067 0.327707 0.316347 0.31824 0.34096 0.337173 0.31256 +0.30688 0.3012 0.297413 0.310667 0.34096 0.348533 0.327707 0.3012 +0.297413 0.344747 0.36936 0.344747 0.331493 0.337173 0.337173 0.327707 +0.34096 0.348533 0.342853 0.348533 0.35232 0.333387 0.3296 0.342853 +0.36368 0.36936 0.36936 0.373147 0.388293 0.411013 0.450773 0.514526 +0.595368 0.764632 1.00612 1.24564 1.13456 1.02212 0.998939 1.00612 +1.04237 1.23346 1.32628 1.14065 1.02931 1.01592 1.01853 1.0182 +1.01886 1.01886 1.01494 1.01461 1.012 1.00971 1.01233 1.01624 +1.01461 1.01396 1.01559 1.01592 1.01167 1.00873 1.01004 1.00482 +0.990776 0.969263 0.959158 0.953474 0.952842 0.947789 0.950947 0.976211 +0.978737 0.850526 0.633263 0.501263 0.367467 0.257653 0.0009 0.00084 +0.000793333 0.000786667 0.000786667 0.000793333 0.00078 0.000786667 0.000773333 0.00076 +0.000733333 0.00072 0.000726667 0.00072 0.00072 0.00072 0.000746667 0.00074 +0.00072 0.000706667 0.0007 0.000686667 0.000726667 0.00072 0.00072 0.000706667 +0.00072 0.000746667 0.000746667 0.00072 0.0007 0.000686667 0.000673333 0.000673333 +0.000713333 0.00072 0.000706667 0.00072 0.000713333 0.0007 0.000686667 0.000686667 +0.0007 0.000713333 0.000713333 0.000713333 0.000733333 0.000733333 0.000706667 0.000693333 +0.000693333 0.0007 0.000686667 0.000673333 0.000693333 0.000733333 0.000733333 0.000706667 +0.0007 0.000706667 0.000706667 0.00072 0.00072 0.000706667 0.000733333 0.000746667 +0.000766667 0.0008 0.000773333 0.00074 0.00076 0.000786667 0.0008 0.000873333 +0.251973 0.320133 0.287947 0.000966667 0.000866667 0.236827 0.388293 0.602947 +0.839158 0.984898 0.985878 0.956632 0.944632 0.952211 0.954105 0.944632 +0.940211 0.949053 0.964211 0.981306 0.990122 0.997959 1.00122 1.00286 +1.00645 1.0071 1.00318 0.996653 0.993714 1.00318 1.03812 1.14521 +1.10717 1.0502 1.0489 1.04922 1.03551 0.985551 0.825263 0.66421 +0.548 0.452667 0.378827 0.344747 0.320133 0.310667 0.293627 0.293627 +0.308773 0.32392 0.342853 0.367467 0.36936 0.331493 0.3012 0.297413 +0.310667 0.308773 0.297413 0.304987 0.314453 0.322027 0.32392 0.320133 +0.348533 0.422373 0.411013 0.339067 0.327707 0.3296 0.31256 0.299307 +0.299307 0.33528 0.43184 0.469707 0.405333 0.361787 0.365573 0.3864 +0.407227 0.36936 0.29552 0.274693 0.270907 0.270907 0.274693 0.280373 +0.291733 0.322027 0.33528 0.327707 0.310667 0.31256 0.31824 0.33528 +0.36936 0.416693 0.43184 0.441307 0.49432 0.529053 0.535368 0.501263 +0.401547 0.371253 0.358 0.34096 0.3296 0.342853 0.361787 0.354213 +0.342853 0.344747 0.33528 0.308773 0.322027 0.462133 0.530947 0.503158 +0.388293 0.34664 0.327707 0.31256 0.31824 0.32392 0.325813 0.322027 +0.31824 0.327707 0.314453 0.293627 0.287947 0.299307 0.322027 0.333387 +0.331493 0.325813 0.303093 0.286053 0.297413 0.299307 0.3012 0.320133 +0.354213 0.42616 0.486747 0.46592 0.384507 0.34096 0.339067 0.384507 +0.520211 0.536 0.475387 0.399653 0.36368 0.435627 0.525895 0.546105 +0.521474 0.4432 0.36368 0.344747 0.34664 0.371253 0.405333 0.42616 +0.4432 0.528421 0.683789 0.825263 0.911789 0.986204 1.01657 1.03094 +1.03747 1.04367 1.04988 1.05412 1.05576 1.05282 1.05086 1.05445 +1.05347 1.05216 1.05151 1.05053 1.0538 1.0538 1.05151 1.05249 +1.05151 1.04988 1.04857 1.04792 1.0489 1.0489 1.05086 1.05086 +1.04824 1.044 1.04629 1.0489 1.04563 1.04498 1.04596 1.04204 +1.04041 1.03845 1.03682 1.03812 1.03976 1.03322 1.02865 1.02865 +1.02702 1.02441 1.02931 1.03257 1.03192 1.03584 1.03682 1.04008 +1.04335 1.04498 1.04465 1.04171 1.04367 1.04302 1.04335 1.04269 +1.04694 1.044 1.03812 1.03714 1.03845 1.0391 1.0391 1.03747 +1.03976 1.04073 1.03747 1.03714 1.03322 1.03976 1.03878 1.03486 +1.03714 1.03551 1.03649 1.03714 1.03224 1.03584 1.04204 1.04008 +1.04139 1.04106 1.04106 1.04073 1.0391 1.03747 1.0391 1.03845 +1.0378 1.04073 1.03943 1.04171 1.04237 1.04204 1.04204 1.04367 +1.04694 1.04629 1.04563 1.04367 1.044 1.04694 1.04661 1.0489 +1.04792 1.044 1.04531 1.04531 1.04727 1.04792 1.04596 1.04563 +1.04204 1.04041 1.04139 1.04171 1.04269 1.044 1.04367 1.04433 +1.04531 1.04433 1.04073 1.04073 1.04204 1.04171 1.03943 1.03845 +1.04008 1.03747 1.03322 1.03029 1.02898 1.03094 1.02571 1.01429 +0.997959 0.944 0.835368 0.741895 0.685684 0.65979 0.633895 0.581474 +0.527789 0.464027 0.401547 0.446987 0.518316 0.538526 0.561263 0.595368 +0.603579 0.570105 0.536 0.519579 0.49432 0.405333 0.36936 0.36368 +0.361787 0.36368 0.35232 0.350427 0.373147 0.36368 0.34096 0.339067 +0.333387 0.320133 0.325813 0.337173 0.337173 0.322027 0.322027 0.32392 +0.337173 0.354213 0.348533 0.3296 0.3296 0.344747 0.33528 0.31824 +0.31256 0.308773 0.29552 0.293627 0.31256 0.33528 0.34664 0.320133 +0.29552 0.322027 0.348533 0.339067 0.350427 0.361787 0.348533 0.325813 +0.327707 0.34096 0.342853 0.34664 0.337173 0.322027 0.33528 0.358 +0.373147 0.384507 0.395867 0.390187 0.382613 0.399653 0.43184 0.503789 +0.574526 0.731789 0.989796 1.21825 1.16651 1.02898 1.00057 1.00188 +1.03355 1.18934 1.31259 1.16499 1.0342 1.0169 1.01722 1.01722 +1.0169 1.01853 1.01559 1.01494 1.01363 1.01298 1.01429 1.01527 +1.01461 1.01527 1.01755 1.0182 1.01298 1.00776 1.00939 1.0071 +0.99502 0.980327 0.966737 0.955368 0.954105 0.950947 0.945263 0.963579 +0.982939 0.912421 0.708421 0.536 0.4148 0.29552 0.000953333 0.00086 +0.000826667 0.000806667 0.000806667 0.000786667 0.000786667 0.00078 0.00074 0.00076 +0.000733333 0.00072 0.000773333 0.000793333 0.000766667 0.00074 0.00074 0.000693333 +0.000693333 0.0007 0.000706667 0.0007 0.000713333 0.000706667 0.000713333 0.000693333 +0.000666667 0.000693333 0.000713333 0.000706667 0.0007 0.000706667 0.000713333 0.000693333 +0.0007 0.000713333 0.000693333 0.000693333 0.000706667 0.000713333 0.00072 0.00072 +0.000726667 0.000713333 0.00068 0.000666667 0.00068 0.000706667 0.000706667 0.000686667 +0.000706667 0.000733333 0.000706667 0.00068 0.000666667 0.000686667 0.0007 0.000693333 +0.000706667 0.0007 0.000686667 0.000713333 0.000733333 0.000726667 0.000726667 0.000726667 +0.00074 0.00078 0.000766667 0.00076 0.000773333 0.000826667 0.000853333 0.216 +0.299307 0.310667 0.23304 0.000853333 0.00092 0.291733 0.502526 0.686947 +0.916842 0.992082 0.978105 0.949684 0.947158 0.954737 0.954737 0.946526 +0.943368 0.953474 0.969895 0.982939 0.989796 0.99502 0.995673 0.999265 +1.00384 1.00547 1.00155 0.994694 0.993388 1.0022 1.02637 1.06304 +1.08282 1.05314 1.05184 1.04792 1.02278 0.937684 0.762737 0.611158 +0.515789 0.405333 0.354213 0.320133 0.310667 0.310667 0.293627 0.280373 +0.28984 0.30688 0.337173 0.384507 0.40912 0.373147 0.32392 0.304987 +0.314453 0.325813 0.316347 0.304987 0.303093 0.333387 0.371253 0.3864 +0.39208 0.422373 0.38072 0.303093 0.291733 0.304987 0.30688 0.304987 +0.299307 0.316347 0.382613 0.46592 0.44888 0.373147 0.333387 0.34096 +0.37504 0.37504 0.325813 0.293627 0.286053 0.276587 0.27848 0.27848 +0.286053 0.31256 0.33528 0.344747 0.333387 0.31824 0.31256 0.31824 +0.339067 0.367467 0.354213 0.331493 0.344747 0.435627 0.515158 0.520842 +0.498107 0.456453 0.4148 0.359893 0.33528 0.359893 0.371253 0.331493 +0.30688 0.322027 0.33528 0.310667 0.299307 0.395867 0.512632 0.506316 +0.40912 0.356107 0.337173 0.32392 0.322027 0.337173 0.339067 0.32392 +0.303093 0.304987 0.297413 0.28416 0.27848 0.287947 0.316347 0.320133 +0.303093 0.304987 0.291733 0.297413 0.331493 0.320133 0.31824 0.322027 +0.327707 0.37504 0.469707 0.511368 0.473493 0.388293 0.359893 0.40912 +0.524 0.529684 0.452667 0.367467 0.34664 0.422373 0.501895 0.513895 +0.500632 0.405333 0.339067 0.350427 0.384507 0.390187 0.40344 0.435627 +0.462133 0.534737 0.685053 0.829053 0.92 0.984571 1.01233 1.02735 +1.03518 1.04237 1.04824 1.05184 1.05478 1.05478 1.05445 1.05543 +1.05314 1.05445 1.05478 1.05086 1.05086 1.05151 1.0489 1.0502 +1.05086 1.05184 1.05053 1.0502 1.05184 1.05053 1.05118 1.05118 +1.04857 1.04563 1.04433 1.04563 1.04465 1.044 1.04563 1.04237 +1.04041 1.04073 1.03845 1.03682 1.03845 1.03355 1.02637 1.02604 +1.02604 1.02376 1.02996 1.03551 1.03551 1.0391 1.04106 1.04433 +1.04335 1.04269 1.04498 1.04106 1.03976 1.04237 1.04335 1.04073 +1.04498 1.04269 1.03682 1.0391 1.04041 1.03616 1.03682 1.03976 +1.04073 1.03976 1.03714 1.03878 1.03388 1.0391 1.03812 1.0378 +1.03878 1.03486 1.03551 1.03682 1.0329 1.03388 1.03845 1.03976 +1.03878 1.03747 1.0391 1.03976 1.0378 1.03584 1.03943 1.0378 +1.0391 1.04302 1.03878 1.04106 1.04302 1.04041 1.04008 1.04335 +1.04596 1.04433 1.04727 1.04759 1.04661 1.04596 1.04563 1.04759 +1.04596 1.044 1.04531 1.04596 1.04759 1.04531 1.04824 1.04857 +1.044 1.04139 1.04073 1.03976 1.04139 1.04269 1.04073 1.04171 +1.04563 1.04727 1.04335 1.04008 1.04041 1.04073 1.04008 1.03812 +1.04041 1.03976 1.0342 1.02865 1.02604 1.02506 1.01657 1.0022 +0.974947 0.878316 0.765895 0.702105 0.674947 0.648421 0.604842 0.541053 +0.510105 0.508211 0.506947 0.517684 0.538526 0.553684 0.569474 0.587789 +0.585895 0.569474 0.554947 0.527789 0.475387 0.401547 0.376933 0.365573 +0.358 0.359893 0.358 0.354213 0.378827 0.3864 0.361787 0.344747 +0.33528 0.3296 0.3296 0.339067 0.344747 0.337173 0.337173 0.350427 +0.36368 0.367467 0.356107 0.339067 0.3296 0.3296 0.327707 0.3296 +0.333387 0.327707 0.30688 0.28416 0.286053 0.310667 0.350427 0.356107 +0.33528 0.34664 0.358 0.342853 0.342853 0.342853 0.33528 0.325813 +0.327707 0.333387 0.337173 0.34096 0.344747 0.348533 0.376933 0.40912 +0.393973 0.390187 0.40344 0.40912 0.39776 0.401547 0.428053 0.479173 +0.548 0.692632 0.957895 1.16803 1.18021 1.03551 1.00384 1.00024 +1.02669 1.15586 1.31259 1.1939 1.0378 1.01657 1.01527 1.01494 +1.01592 1.01984 1.01886 1.01592 1.01494 1.01592 1.0169 1.01624 +1.01527 1.01657 1.01624 1.01559 1.01233 1.00841 1.01135 1.01037 +0.999265 0.985878 0.968632 0.954105 0.950947 0.949684 0.943368 0.955368 +0.982612 0.956632 0.788632 0.585895 0.456453 0.33528 0.231147 0.00086 +0.000826667 0.000806667 0.000786667 0.000746667 0.000746667 0.00074 0.00074 0.000786667 +0.0008 0.00078 0.000793333 0.0008 0.00076 0.00074 0.000733333 0.000706667 +0.000713333 0.00072 0.000706667 0.0007 0.000706667 0.000686667 0.0007 0.000693333 +0.000666667 0.00066 0.000686667 0.000713333 0.000713333 0.000706667 0.000733333 0.000726667 +0.000726667 0.00072 0.000706667 0.000693333 0.000686667 0.000693333 0.0007 0.0007 +0.000706667 0.000713333 0.00072 0.000726667 0.00072 0.000706667 0.000686667 0.000673333 +0.000686667 0.0007 0.000706667 0.000693333 0.000693333 0.0007 0.000706667 0.000693333 +0.0007 0.00072 0.000713333 0.000706667 0.00074 0.00076 0.000766667 0.000753333 +0.000753333 0.000766667 0.000766667 0.00076 0.000766667 0.0008 0.00088 0.25008 +0.31824 0.274693 0.000926667 0.00082 0.00098 0.342853 0.554316 0.775368 +0.966105 0.98751 0.962316 0.946526 0.950947 0.956 0.952842 0.947789 +0.944 0.954105 0.970526 0.982286 0.988816 0.991755 0.992408 0.996327 +1.00057 1.00155 1.00024 0.995673 0.994694 1.00253 1.01853 1.04727 +1.06152 1.05216 1.04661 1.03584 0.998939 0.871368 0.696421 0.561895 +0.46592 0.373147 0.327707 0.29552 0.28984 0.297413 0.297413 0.287947 +0.293627 0.320133 0.331493 0.344747 0.35232 0.348533 0.34096 0.3296 +0.3296 0.35232 0.356107 0.3296 0.3012 0.314453 0.356107 0.393973 +0.42048 0.42616 0.36936 0.304987 0.28416 0.28416 0.28984 0.28984 +0.291733 0.297413 0.325813 0.4148 0.450773 0.382613 0.325813 0.320133 +0.361787 0.384507 0.34096 0.29552 0.28984 0.286053 0.287947 0.274693 +0.270907 0.29552 0.3296 0.359893 0.34664 0.314453 0.303093 0.31824 +0.33528 0.3296 0.308773 0.299307 0.303093 0.331493 0.42616 0.514526 +0.532211 0.524 0.469707 0.373147 0.348533 0.3864 0.40344 0.350427 +0.320133 0.331493 0.350427 0.348533 0.333387 0.399653 0.509474 0.512 +0.42616 0.34664 0.320133 0.320133 0.31256 0.314453 0.316347 0.310667 +0.29552 0.287947 0.28984 0.270907 0.265227 0.27848 0.291733 0.303093 +0.28984 0.276587 0.287947 0.337173 0.395867 0.359893 0.327707 0.314453 +0.30688 0.316347 0.38072 0.503789 0.521474 0.481067 0.39208 0.412907 +0.510105 0.509474 0.4148 0.344747 0.32392 0.350427 0.36368 0.38072 +0.388293 0.371253 0.348533 0.376933 0.418587 0.399653 0.39208 0.416693 +0.456453 0.536 0.682526 0.830947 0.924421 0.980653 1.00384 1.01951 +1.03094 1.04237 1.04727 1.0502 1.05118 1.05216 1.05347 1.0538 +1.05314 1.05445 1.05412 1.05086 1.04922 1.04955 1.04955 1.0502 +1.05086 1.0538 1.05249 1.05184 1.05184 1.04955 1.0502 1.04922 +1.04922 1.04988 1.04727 1.04563 1.04629 1.04629 1.04596 1.04335 +1.04237 1.044 1.03943 1.03551 1.03616 1.0342 1.02865 1.02702 +1.02506 1.02441 1.03094 1.03649 1.03845 1.04237 1.04498 1.04531 +1.04563 1.04367 1.04433 1.04106 1.03682 1.03976 1.04139 1.04139 +1.04563 1.04269 1.03714 1.04008 1.04237 1.03747 1.03649 1.04008 +1.04008 1.03943 1.03714 1.03747 1.03616 1.03943 1.03616 1.03878 +1.04106 1.0378 1.0378 1.03551 1.03355 1.03649 1.03747 1.03714 +1.03584 1.0342 1.03682 1.03812 1.0378 1.03943 1.04171 1.0391 +1.04073 1.04367 1.04106 1.04204 1.04302 1.04106 1.04073 1.04269 +1.04237 1.04302 1.04596 1.0489 1.04792 1.04465 1.04531 1.04727 +1.04563 1.04433 1.04629 1.04563 1.044 1.04433 1.04694 1.04727 +1.04596 1.044 1.04204 1.04106 1.04335 1.04237 1.03976 1.04139 +1.04237 1.04433 1.04596 1.04367 1.04106 1.0378 1.03747 1.03812 +1.03812 1.03682 1.03551 1.03257 1.02669 1.01918 1.00841 0.986531 +0.907368 0.795579 0.713474 0.678737 0.663579 0.633263 0.577053 0.520211 +0.505053 0.519579 0.526526 0.517053 0.513895 0.540421 0.571368 0.578947 +0.574526 0.575789 0.554947 0.506947 0.418587 0.39208 0.38072 0.367467 +0.350427 0.350427 0.36936 0.367467 0.367467 0.390187 0.388293 0.361787 +0.342853 0.333387 0.331493 0.3296 0.33528 0.34664 0.348533 0.342853 +0.34096 0.333387 0.3296 0.325813 0.31256 0.3012 0.303093 0.348533 +0.388293 0.378827 0.339067 0.310667 0.293627 0.303093 0.359893 0.388293 +0.37504 0.371253 0.359893 0.33528 0.31824 0.314453 0.31824 0.316347 +0.331493 0.348533 0.359893 0.37504 0.39208 0.399653 0.42616 0.446987 +0.433733 0.42048 0.407227 0.40344 0.39208 0.401547 0.429947 0.46592 +0.529053 0.655368 0.907368 1.07522 1.17108 1.04106 1.01037 1.0058 +1.02604 1.12695 1.29737 1.20151 1.03976 1.01755 1.01559 1.01494 +1.01624 1.01788 1.01788 1.01527 1.01494 1.01494 1.01657 1.01527 +1.01298 1.01429 1.01396 1.01527 1.01592 1.01135 1.01233 1.01265 +1.00286 0.988816 0.968632 0.952211 0.948421 0.950947 0.944632 0.948421 +0.974316 0.98098 0.865053 0.654105 0.510737 0.378827 0.269013 0.000873333 +0.0008 0.00078 0.00074 0.00074 0.000786667 0.000806667 0.000813333 0.000813333 +0.000773333 0.000773333 0.000806667 0.0008 0.000766667 0.00074 0.000733333 0.000726667 +0.000733333 0.000726667 0.00072 0.00074 0.00072 0.000706667 0.00072 0.000726667 +0.000706667 0.000673333 0.000673333 0.000693333 0.000713333 0.00072 0.000726667 0.000733333 +0.00072 0.000706667 0.000726667 0.000726667 0.000686667 0.000693333 0.000713333 0.0007 +0.0007 0.0007 0.000713333 0.000726667 0.000713333 0.000713333 0.000726667 0.00072 +0.000693333 0.000713333 0.000706667 0.000673333 0.00068 0.0007 0.000726667 0.000713333 +0.00072 0.000726667 0.000706667 0.000686667 0.000713333 0.00076 0.00076 0.000746667 +0.000746667 0.00076 0.00078 0.000786667 0.000786667 0.000833333 0.000993333 0.287947 +0.304987 0.229253 0.00086 0.000873333 0.259547 0.43752 0.626947 0.858737 +0.984245 0.975579 0.947158 0.944 0.949053 0.951579 0.950316 0.949684 +0.950316 0.960421 0.975579 0.981633 0.984571 0.984898 0.987184 0.991429 +0.995347 0.997959 0.997959 0.995347 0.993388 0.999592 1.01167 1.03224 +1.04661 1.04106 1.03192 1.01396 0.949053 0.793684 0.632 0.522105 +0.418587 0.359893 0.320133 0.3012 0.297413 0.297413 0.30688 0.320133 +0.331493 0.337173 0.31256 0.297413 0.303093 0.320133 0.34096 0.34664 +0.34096 0.358 0.390187 0.378827 0.33528 0.314453 0.327707 0.354213 +0.390187 0.42048 0.378827 0.316347 0.287947 0.28984 0.299307 0.291733 +0.287947 0.286053 0.297413 0.371253 0.44888 0.407227 0.337173 0.325813 +0.359893 0.382613 0.359893 0.3296 0.316347 0.308773 0.303093 0.280373 +0.26712 0.286053 0.333387 0.378827 0.359893 0.314453 0.304987 0.31256 +0.320133 0.31256 0.299307 0.297413 0.303093 0.320133 0.38072 0.46592 +0.519579 0.537895 0.518947 0.446987 0.382613 0.399653 0.429947 0.37504 +0.33528 0.331493 0.34664 0.36936 0.401547 0.475387 0.520842 0.515789 +0.429947 0.339067 0.31256 0.31256 0.3012 0.286053 0.280373 0.28416 +0.287947 0.282267 0.286053 0.274693 0.263333 0.276587 0.287947 0.291733 +0.28984 0.287947 0.303093 0.365573 0.422373 0.388293 0.33528 0.322027 +0.320133 0.320133 0.34096 0.445093 0.525895 0.530316 0.473493 0.39776 +0.464027 0.4716 0.3864 0.331493 0.322027 0.322027 0.322027 0.339067 +0.34664 0.367467 0.382613 0.4148 0.433733 0.395867 0.3864 0.40344 +0.452667 0.533474 0.676211 0.839158 0.931368 0.974316 0.997633 1.012 +1.02473 1.03812 1.04433 1.04857 1.05086 1.05184 1.05184 1.05282 +1.05249 1.05184 1.05314 1.05314 1.05151 1.05053 1.05086 1.05216 +1.05118 1.0538 1.05347 1.05282 1.05216 1.04857 1.0489 1.04955 +1.0502 1.05151 1.04988 1.04824 1.04759 1.04694 1.04367 1.04204 +1.04204 1.04302 1.03976 1.03551 1.03551 1.03257 1.02702 1.02833 +1.02539 1.02408 1.02963 1.03453 1.03714 1.04237 1.04531 1.04204 +1.04498 1.04302 1.04041 1.03943 1.03682 1.03812 1.03649 1.03812 +1.04302 1.04139 1.03714 1.03943 1.04269 1.03943 1.03714 1.0378 +1.03812 1.03943 1.03812 1.03518 1.0342 1.03943 1.03682 1.0378 +1.03812 1.0391 1.03943 1.03486 1.03388 1.03812 1.03812 1.03584 +1.03518 1.03682 1.0391 1.03943 1.03878 1.04269 1.04302 1.04204 +1.044 1.04041 1.04171 1.04367 1.04269 1.04269 1.04269 1.04335 +1.04433 1.04563 1.04433 1.04694 1.04727 1.04531 1.04824 1.04759 +1.04629 1.04694 1.04824 1.04563 1.04139 1.04531 1.04694 1.04531 +1.04498 1.04367 1.04302 1.04335 1.04367 1.04302 1.04106 1.04171 +1.04041 1.03976 1.04269 1.044 1.04335 1.04041 1.03812 1.03812 +1.03584 1.0329 1.03224 1.03192 1.02735 1.0169 0.997306 0.935158 +0.820842 0.729263 0.685684 0.666105 0.649684 0.614947 0.56 0.509474 +0.48864 0.505684 0.510105 0.501895 0.501263 0.525263 0.544842 0.546105 +0.554947 0.561263 0.534737 0.473493 0.39208 0.384507 0.390187 0.38072 +0.358 0.350427 0.365573 0.36936 0.36368 0.371253 0.3864 0.36936 +0.34664 0.339067 0.344747 0.339067 0.331493 0.339067 0.348533 0.333387 +0.322027 0.310667 0.314453 0.331493 0.325813 0.308773 0.31824 0.376933 +0.42616 0.411013 0.365573 0.331493 0.32392 0.3296 0.39208 0.46592 +0.475387 0.429947 0.373147 0.337173 0.31824 0.320133 0.322027 0.314453 +0.3296 0.376933 0.407227 0.40344 0.40344 0.395867 0.40912 0.416693 +0.412907 0.407227 0.388293 0.37504 0.361787 0.371253 0.411013 0.452667 +0.518316 0.627579 0.858105 1.0391 1.1513 1.04955 1.0169 1.00776 +1.0218 1.08739 1.28368 1.21977 1.04465 1.01951 1.01592 1.01396 +1.01657 1.01624 1.0169 1.01494 1.01331 1.01298 1.01331 1.01298 +1.012 1.01527 1.01592 1.01559 1.0169 1.01037 1.00971 1.012 +1.00678 0.99698 0.98098 0.957895 0.948421 0.950947 0.945263 0.942737 +0.965474 0.986204 0.930105 0.733053 0.544211 0.407227 0.308773 0.00096 +0.00082 0.000806667 0.000753333 0.00074 0.000773333 0.0008 0.00082 0.000786667 +0.00076 0.000773333 0.0008 0.00078 0.000746667 0.000746667 0.000733333 0.000746667 +0.000733333 0.000726667 0.000746667 0.00076 0.000706667 0.000713333 0.00072 0.00074 +0.000733333 0.00072 0.000706667 0.0007 0.000693333 0.000686667 0.000686667 0.000693333 +0.0007 0.000693333 0.00072 0.000753333 0.000733333 0.000713333 0.000726667 0.000713333 +0.000713333 0.000713333 0.000706667 0.000693333 0.000686667 0.0007 0.00072 0.0007 +0.000706667 0.00074 0.00076 0.00072 0.000693333 0.000693333 0.000686667 0.000693333 +0.000713333 0.000733333 0.000706667 0.000706667 0.000726667 0.000753333 0.00074 0.000713333 +0.000706667 0.00072 0.000766667 0.0008 0.000826667 0.00092 0.26712 0.32392 +0.274693 0.00092 0.000833333 0.000933333 0.30688 0.519579 0.710947 0.923158 +0.983918 0.960421 0.944 0.945263 0.945895 0.943368 0.942737 0.948421 +0.956632 0.967368 0.980653 0.982939 0.98098 0.980653 0.983918 0.985878 +0.989796 0.994367 0.996653 0.99502 0.990776 0.99502 1.00449 1.01461 +1.02604 1.02376 1.00906 0.978105 0.863158 0.713474 0.580842 0.5 +0.39776 0.350427 0.316347 0.308773 0.310667 0.304987 0.322027 0.35232 +0.34664 0.320133 0.287947 0.280373 0.303093 0.337173 0.36368 0.344747 +0.320133 0.331493 0.373147 0.401547 0.36936 0.327707 0.32392 0.3296 +0.350427 0.393973 0.382613 0.331493 0.314453 0.325813 0.3296 0.32392 +0.304987 0.28984 0.299307 0.358 0.456453 0.446987 0.356107 0.327707 +0.350427 0.399653 0.43184 0.418587 0.36936 0.331493 0.31824 0.286053 +0.270907 0.276587 0.32392 0.384507 0.38072 0.327707 0.30688 0.303093 +0.303093 0.3012 0.299307 0.297413 0.31256 0.344747 0.3864 0.39776 +0.418587 0.506316 0.535368 0.524 0.458347 0.40912 0.433733 0.405333 +0.356107 0.333387 0.32392 0.339067 0.395867 0.49432 0.519579 0.504421 +0.40344 0.331493 0.31256 0.303093 0.29552 0.28984 0.28984 0.280373 +0.280373 0.28416 0.28416 0.28416 0.274693 0.26712 0.276587 0.27848 +0.28984 0.3012 0.308773 0.325813 0.356107 0.354213 0.331493 0.325813 +0.344747 0.34096 0.327707 0.356107 0.473493 0.537263 0.519579 0.412907 +0.416693 0.424267 0.358 0.320133 0.322027 0.3296 0.356107 0.388293 +0.39208 0.433733 0.452667 0.456453 0.44888 0.412907 0.39208 0.405333 +0.4432 0.510737 0.636421 0.824632 0.933263 0.962316 0.988163 1.00384 +1.01788 1.03192 1.04171 1.04661 1.04955 1.05151 1.05216 1.05314 +1.05184 1.0502 1.05249 1.0538 1.05282 1.05184 1.05086 1.05282 +1.05118 1.05282 1.05412 1.05347 1.05412 1.0489 1.04857 1.05184 +1.05086 1.0489 1.04629 1.04792 1.04727 1.04596 1.04302 1.04171 +1.04269 1.04008 1.0378 1.03518 1.03616 1.03127 1.02441 1.02604 +1.02473 1.02376 1.028 1.03192 1.03355 1.0391 1.04367 1.04073 +1.04269 1.04171 1.0391 1.03747 1.03616 1.03845 1.03747 1.03976 +1.04171 1.0391 1.03486 1.03747 1.04139 1.0391 1.0378 1.0378 +1.03747 1.03682 1.03616 1.03616 1.03486 1.03682 1.03682 1.03812 +1.03616 1.04008 1.04041 1.03551 1.0378 1.03845 1.03714 1.03616 +1.0378 1.03976 1.04106 1.04073 1.04073 1.04531 1.04302 1.04367 +1.04498 1.04041 1.04302 1.04302 1.04269 1.044 1.04498 1.044 +1.04596 1.04694 1.044 1.04596 1.04727 1.04694 1.04922 1.04759 +1.04661 1.04694 1.04922 1.04792 1.04237 1.04563 1.04727 1.04335 +1.04237 1.04335 1.04367 1.04302 1.04204 1.04302 1.04171 1.04041 +1.04041 1.04106 1.04237 1.04204 1.04237 1.04139 1.03943 1.03584 +1.03486 1.03322 1.02996 1.02506 1.02082 1.00808 0.964211 0.848632 +0.744421 0.693263 0.673684 0.661684 0.635789 0.585895 0.529684 0.46592 +0.441307 0.467813 0.504421 0.513895 0.517053 0.506316 0.450773 0.44888 +0.511368 0.531579 0.524632 0.490533 0.401547 0.37504 0.37504 0.376933 +0.36936 0.359893 0.354213 0.35232 0.34096 0.33528 0.358 0.36936 +0.354213 0.339067 0.339067 0.34096 0.337173 0.34096 0.339067 0.3296 +0.339067 0.331493 0.31824 0.316347 0.32392 0.337173 0.356107 0.382613 +0.388293 0.354213 0.316347 0.299307 0.297413 0.322027 0.416693 0.529684 +0.558105 0.531579 0.486747 0.42616 0.39776 0.399653 0.39776 0.371253 +0.359893 0.39208 0.405333 0.378827 0.36936 0.36936 0.37504 0.361787 +0.350427 0.359893 0.365573 0.371253 0.36368 0.36368 0.399653 0.429947 +0.503158 0.602316 0.813895 1.01363 1.10565 1.05314 1.02016 1.00514 +1.01527 1.05837 1.27607 1.24107 1.04988 1.02212 1.01755 1.01331 +1.01592 1.01592 1.01624 1.01592 1.01298 1.01363 1.01461 1.01527 +1.01396 1.01494 1.01624 1.01363 1.01396 1.00906 1.00416 1.00776 +1.00873 1.00253 0.988163 0.968632 0.955368 0.950947 0.946526 0.942737 +0.957263 0.981959 0.964211 0.806316 0.593474 0.46024 0.359893 0.2444 +0.000886667 0.00084 0.00078 0.000726667 0.0007 0.000726667 0.000773333 0.000773333 +0.000773333 0.000786667 0.00076 0.000733333 0.000726667 0.000713333 0.00072 0.000773333 +0.00078 0.00074 0.000713333 0.000726667 0.000733333 0.000726667 0.000706667 0.000706667 +0.000706667 0.0007 0.0007 0.0007 0.000693333 0.000706667 0.0007 0.00068 +0.000673333 0.000673333 0.000673333 0.000693333 0.0007 0.000693333 0.000693333 0.000693333 +0.0007 0.000706667 0.000706667 0.000706667 0.000713333 0.000726667 0.000733333 0.00072 +0.000706667 0.000706667 0.00072 0.000726667 0.000733333 0.000733333 0.000706667 0.00068 +0.000686667 0.000706667 0.000706667 0.00072 0.000726667 0.000733333 0.00074 0.000746667 +0.000766667 0.000766667 0.000786667 0.00082 0.000866667 0.22168 0.310667 0.320133 +0.229253 0.000833333 0.000833333 0.22736 0.373147 0.576421 0.799368 0.965474 +0.978737 0.951579 0.944632 0.947789 0.946526 0.942737 0.942737 0.951579 +0.964211 0.974316 0.983592 0.985224 0.981306 0.980327 0.983918 0.983918 +0.985878 0.992735 0.995347 0.994041 0.98849 0.989469 0.999265 1.00482 +1.00873 1.0058 0.984898 0.906737 0.776632 0.644 0.544842 0.473493 +0.401547 0.354213 0.320133 0.320133 0.327707 0.322027 0.333387 0.344747 +0.32392 0.299307 0.286053 0.28984 0.314453 0.358 0.367467 0.327707 +0.303093 0.314453 0.356107 0.393973 0.390187 0.358 0.337173 0.32392 +0.339067 0.376933 0.367467 0.339067 0.339067 0.35232 0.344747 0.333387 +0.316347 0.303093 0.314453 0.384507 0.510737 0.515789 0.395867 0.32392 +0.33528 0.418587 0.496213 0.456453 0.354213 0.308773 0.297413 0.287947 +0.286053 0.28984 0.314453 0.378827 0.433733 0.393973 0.333387 0.31256 +0.303093 0.29552 0.303093 0.322027 0.33528 0.350427 0.361787 0.359893 +0.356107 0.42048 0.520842 0.544211 0.518947 0.456453 0.428053 0.4148 +0.384507 0.34664 0.316347 0.320133 0.36368 0.42616 0.492427 0.4716 +0.3864 0.333387 0.314453 0.310667 0.303093 0.297413 0.29552 0.287947 +0.282267 0.276587 0.280373 0.274693 0.276587 0.28416 0.286053 0.291733 +0.303093 0.308773 0.30688 0.303093 0.30688 0.30688 0.291733 0.29552 +0.32392 0.33528 0.314453 0.31256 0.382613 0.515789 0.536 0.46592 +0.384507 0.38072 0.33528 0.30688 0.320133 0.354213 0.40912 0.4716 +0.486747 0.503158 0.492427 0.456453 0.435627 0.412907 0.393973 0.40344 +0.42048 0.445093 0.563158 0.757684 0.909895 0.940211 0.964842 0.990776 +1.00906 1.02539 1.03682 1.04302 1.04596 1.04792 1.04922 1.04988 +1.05053 1.05118 1.05086 1.05151 1.05249 1.05216 1.05086 1.05151 +1.04955 1.05184 1.0538 1.05314 1.05543 1.05086 1.04661 1.0489 +1.04955 1.04857 1.04629 1.04629 1.04563 1.04433 1.04531 1.04498 +1.044 1.03976 1.0391 1.03649 1.03584 1.03127 1.02506 1.02571 +1.02539 1.02408 1.02669 1.02996 1.02996 1.03355 1.04008 1.03943 +1.03943 1.03812 1.0378 1.03649 1.03453 1.03714 1.03812 1.03943 +1.03976 1.0391 1.03486 1.0378 1.04139 1.03812 1.03812 1.03943 +1.04008 1.03845 1.03486 1.03551 1.03682 1.03551 1.03486 1.03682 +1.03584 1.03812 1.03878 1.03584 1.03878 1.03845 1.03616 1.03747 +1.04073 1.03943 1.04008 1.04139 1.04367 1.04694 1.04335 1.044 +1.04498 1.04465 1.04596 1.04171 1.04237 1.04498 1.04727 1.04433 +1.04367 1.04465 1.04302 1.04531 1.04824 1.04759 1.04792 1.04727 +1.04531 1.04465 1.04629 1.04792 1.04629 1.04661 1.04563 1.04204 +1.04204 1.04433 1.04629 1.04367 1.04237 1.04531 1.04367 1.04106 +1.04269 1.04367 1.04335 1.04073 1.03845 1.03943 1.0378 1.03388 +1.03322 1.03355 1.02898 1.02212 1.01233 0.984898 0.883368 0.767789 +0.703368 0.684421 0.678105 0.654737 0.599158 0.537895 0.48864 0.405333 +0.401547 0.45456 0.512632 0.529684 0.514526 0.429947 0.350427 0.367467 +0.439413 0.520842 0.542947 0.510105 0.40912 0.38072 0.38072 0.365573 +0.356107 0.365573 0.367467 0.359893 0.34096 0.327707 0.339067 0.359893 +0.367467 0.354213 0.34664 0.34096 0.333387 0.33528 0.3296 0.3296 +0.354213 0.356107 0.34096 0.322027 0.316347 0.342853 0.350427 0.339067 +0.325813 0.303093 0.276587 0.259547 0.263333 0.293627 0.399653 0.547368 +0.612421 0.594105 0.554316 0.531579 0.513263 0.505684 0.49432 0.446987 +0.40912 0.405333 0.39776 0.36368 0.342853 0.339067 0.350427 0.358 +0.35232 0.358 0.358 0.356107 0.359893 0.382613 0.422373 0.435627 +0.486747 0.573263 0.753263 0.977474 1.05053 1.05249 1.02408 1.00678 +1.01331 1.05249 1.25781 1.25324 1.05347 1.02278 1.01755 1.01298 +1.01331 1.01429 1.01527 1.01657 1.0169 1.01624 1.01657 1.01624 +1.01331 1.012 1.01363 1.01396 1.01396 1.01037 1.00351 1.0071 +1.00841 1.00449 0.992735 0.977474 0.963579 0.955368 0.949684 0.942105 +0.943368 0.968632 0.981633 0.878947 0.663579 0.515158 0.393973 0.28416 +0.00098 0.000873333 0.0008 0.00076 0.00074 0.000746667 0.000746667 0.000733333 +0.00074 0.00078 0.00076 0.00076 0.000766667 0.000733333 0.000726667 0.000746667 +0.00074 0.000706667 0.00068 0.000693333 0.000733333 0.000733333 0.000706667 0.000693333 +0.000693333 0.000693333 0.000673333 0.000673333 0.000666667 0.000686667 0.0007 0.0007 +0.00072 0.000726667 0.000706667 0.000693333 0.000706667 0.000706667 0.0007 0.000706667 +0.00072 0.00072 0.000713333 0.00072 0.000713333 0.000706667 0.000713333 0.000726667 +0.000713333 0.00068 0.000686667 0.000713333 0.0007 0.000706667 0.000713333 0.000713333 +0.000713333 0.000726667 0.000733333 0.00074 0.000726667 0.000726667 0.000733333 0.000733333 +0.000766667 0.0008 0.000813333 0.000813333 0.0009 0.259547 0.331493 0.287947 +0.00092 0.000826667 0.000873333 0.257653 0.46592 0.652842 0.881474 0.984571 +0.969895 0.947789 0.944 0.945895 0.944 0.941474 0.945263 0.957263 +0.970526 0.979368 0.983918 0.983592 0.98 0.98 0.982286 0.981959 +0.984571 0.991429 0.996 0.994367 0.98751 0.983265 0.991755 0.99698 +0.996653 0.988816 0.944 0.844211 0.710316 0.594105 0.517684 0.445093 +0.39776 0.358 0.32392 0.333387 0.367467 0.382613 0.365573 0.337173 +0.3012 0.291733 0.299307 0.308773 0.31824 0.33528 0.339067 0.31824 +0.291733 0.3012 0.337173 0.359893 0.384507 0.418587 0.4148 0.367467 +0.365573 0.3864 0.358 0.331493 0.32392 0.325813 0.327707 0.3296 +0.322027 0.325813 0.350427 0.422373 0.530947 0.544842 0.46024 0.34096 +0.339067 0.412907 0.46592 0.395867 0.308773 0.280373 0.27848 0.28984 +0.293627 0.303093 0.308773 0.358 0.467813 0.48296 0.399653 0.331493 +0.303093 0.3012 0.320133 0.34096 0.34664 0.33528 0.322027 0.320133 +0.331493 0.358 0.429947 0.503789 0.510737 0.502526 0.479173 0.44888 +0.401547 0.367467 0.348533 0.348533 0.356107 0.376933 0.433733 0.43184 +0.36936 0.3296 0.314453 0.316347 0.308773 0.291733 0.287947 0.28984 +0.291733 0.286053 0.28416 0.276587 0.274693 0.274693 0.286053 0.304987 +0.304987 0.3012 0.304987 0.310667 0.316347 0.31256 0.30688 0.293627 +0.30688 0.316347 0.299307 0.29552 0.325813 0.450773 0.536632 0.518316 +0.407227 0.36368 0.3296 0.3296 0.38072 0.407227 0.433733 0.490533 +0.5 0.47728 0.42048 0.37504 0.36936 0.376933 0.382613 0.38072 +0.384507 0.40344 0.492427 0.649684 0.834105 0.906105 0.937684 0.976211 +0.996653 1.01396 1.028 1.0391 1.04531 1.04629 1.04694 1.04824 +1.04955 1.05118 1.05184 1.05282 1.05216 1.05151 1.05151 1.0502 +1.04988 1.05151 1.05216 1.05118 1.05282 1.05086 1.04694 1.04792 +1.04792 1.04759 1.04824 1.04694 1.04661 1.04465 1.04596 1.04563 +1.04367 1.0391 1.0378 1.03453 1.0342 1.03388 1.02604 1.0231 +1.02278 1.0218 1.02441 1.02767 1.02865 1.03029 1.03518 1.0378 +1.03747 1.03551 1.03486 1.03616 1.03486 1.03682 1.0391 1.03845 +1.03812 1.03878 1.03649 1.03845 1.04204 1.03812 1.03943 1.04041 +1.03976 1.04008 1.03714 1.03453 1.03682 1.03714 1.03649 1.03714 +1.03486 1.03747 1.03649 1.03616 1.03943 1.03976 1.03453 1.03584 +1.0391 1.03812 1.03878 1.04073 1.04433 1.04563 1.04106 1.04302 +1.04433 1.04596 1.04661 1.04204 1.04302 1.04531 1.04759 1.04531 +1.04531 1.04596 1.044 1.04596 1.04922 1.04661 1.04596 1.04531 +1.04269 1.044 1.04531 1.04629 1.04629 1.04596 1.04269 1.04302 +1.04531 1.044 1.044 1.04335 1.04269 1.04465 1.04367 1.04302 +1.04433 1.04367 1.04171 1.03812 1.03486 1.03682 1.03747 1.03192 +1.02898 1.028 1.02506 1.01755 0.992735 0.908 0.795579 0.719789 +0.691368 0.683789 0.674947 0.626316 0.546105 0.48296 0.44888 0.439413 +0.446987 0.502526 0.533474 0.536632 0.492427 0.35232 0.3012 0.33528 +0.422373 0.531579 0.56 0.522105 0.464027 0.43184 0.416693 0.384507 +0.342853 0.344747 0.378827 0.388293 0.365573 0.34096 0.33528 0.34664 +0.36936 0.36936 0.36368 0.36368 0.35232 0.339067 0.327707 0.34096 +0.365573 0.367467 0.344747 0.327707 0.322027 0.325813 0.327707 0.314453 +0.3012 0.297413 0.287947 0.270907 0.263333 0.287947 0.384507 0.533474 +0.599158 0.587789 0.556211 0.543579 0.519579 0.49432 0.464027 0.433733 +0.401547 0.390187 0.38072 0.354213 0.333387 0.327707 0.337173 0.350427 +0.361787 0.365573 0.36936 0.373147 0.395867 0.43184 0.456453 0.445093 +0.473493 0.548 0.699579 0.911789 1.02898 1.04955 1.03061 1.01167 +1.01331 1.04922 1.24716 1.25781 1.05184 1.01788 1.01233 1.01069 +1.012 1.01722 1.01788 1.01624 1.01722 1.0182 1.01592 1.01461 +1.01429 1.01331 1.01429 1.01592 1.01624 1.01331 1.00514 1.00743 +1.01102 1.00808 0.998286 0.980327 0.960421 0.953474 0.949053 0.945263 +0.942737 0.962947 0.986531 0.935789 0.74 0.546105 0.407227 0.31824 +0.225467 0.000873333 0.0008 0.000773333 0.000786667 0.00078 0.00074 0.000713333 +0.000726667 0.000773333 0.000786667 0.0008 0.000773333 0.000733333 0.0007 0.000686667 +0.0007 0.000713333 0.000706667 0.000706667 0.0007 0.000713333 0.000706667 0.000713333 +0.0007 0.000713333 0.00072 0.000726667 0.000713333 0.0007 0.000693333 0.000693333 +0.0007 0.0007 0.000713333 0.00072 0.000733333 0.000746667 0.000713333 0.0007 +0.000706667 0.0007 0.0007 0.000693333 0.00068 0.000686667 0.000706667 0.000726667 +0.000726667 0.000706667 0.000713333 0.000746667 0.000733333 0.000733333 0.000726667 0.000713333 +0.00072 0.000733333 0.00074 0.000746667 0.000753333 0.00076 0.000766667 0.000766667 +0.00074 0.000733333 0.00076 0.000786667 0.000986667 0.3012 0.325813 0.248187 +0.00086 0.000846667 0.000946667 0.303093 0.534105 0.740632 0.941474 0.985878 +0.960421 0.945263 0.947158 0.944632 0.938947 0.939579 0.945895 0.959158 +0.972421 0.98098 0.982286 0.98 0.976842 0.980653 0.983265 0.982939 +0.983592 0.989143 0.992735 0.993061 0.988816 0.982286 0.985224 0.989469 +0.986204 0.962316 0.895368 0.784842 0.656632 0.556842 0.492427 0.407227 +0.371253 0.34664 0.325813 0.339067 0.407227 0.452667 0.399653 0.320133 +0.297413 0.308773 0.31256 0.303093 0.287947 0.287947 0.310667 0.320133 +0.291733 0.28984 0.3012 0.31824 0.358 0.435627 0.46592 0.418587 +0.40344 0.401547 0.36368 0.3296 0.31256 0.304987 0.314453 0.327707 +0.33528 0.359893 0.393973 0.42616 0.504421 0.518316 0.450773 0.36368 +0.354213 0.40344 0.42048 0.350427 0.291733 0.27848 0.276587 0.28984 +0.291733 0.29552 0.303093 0.325813 0.416693 0.496213 0.445093 0.350427 +0.299307 0.299307 0.316347 0.33528 0.337173 0.320133 0.310667 0.308773 +0.31256 0.320133 0.34664 0.373147 0.411013 0.473493 0.510105 0.506947 +0.445093 0.395867 0.378827 0.361787 0.350427 0.359893 0.388293 0.3864 +0.356107 0.325813 0.31256 0.314453 0.3012 0.28984 0.293627 0.303093 +0.299307 0.291733 0.286053 0.2728 0.26712 0.269013 0.28416 0.310667 +0.308773 0.304987 0.310667 0.314453 0.327707 0.3296 0.320133 0.3012 +0.286053 0.293627 0.291733 0.28984 0.3012 0.367467 0.515789 0.539789 +0.48296 0.38072 0.361787 0.416693 0.49432 0.492427 0.462133 0.435627 +0.393973 0.36368 0.331493 0.32392 0.333387 0.35232 0.35232 0.350427 +0.36936 0.36368 0.390187 0.546105 0.706526 0.837263 0.906105 0.948421 +0.981306 1.00188 1.0182 1.03355 1.04302 1.04498 1.04596 1.04759 +1.04857 1.04857 1.05282 1.05249 1.0502 1.05118 1.05184 1.04955 +1.0489 1.04922 1.04988 1.0502 1.0502 1.04824 1.04596 1.04694 +1.04824 1.04563 1.04531 1.04465 1.04596 1.04531 1.04465 1.04171 +1.04204 1.0391 1.03584 1.03159 1.03192 1.0342 1.02506 1.01918 +1.02082 1.0218 1.02278 1.02376 1.02571 1.02931 1.03159 1.03518 +1.03845 1.0378 1.03322 1.0342 1.03388 1.03486 1.03812 1.0391 +1.03943 1.04008 1.0378 1.03845 1.04237 1.03649 1.03943 1.04106 +1.03845 1.03943 1.03976 1.03551 1.03714 1.03812 1.03812 1.03518 +1.03257 1.03388 1.03486 1.03649 1.04171 1.04106 1.03453 1.03682 +1.0391 1.0391 1.03845 1.04041 1.04367 1.04367 1.04041 1.04269 +1.04302 1.04302 1.04465 1.04367 1.044 1.04433 1.04694 1.04498 +1.04694 1.04727 1.04531 1.04694 1.04792 1.04531 1.04498 1.04596 +1.04302 1.04302 1.04661 1.04988 1.04824 1.04792 1.04531 1.04367 +1.04433 1.04139 1.04204 1.04465 1.04531 1.04465 1.04498 1.04433 +1.04269 1.04106 1.04008 1.03812 1.03453 1.03388 1.03388 1.02931 +1.02571 1.02376 1.01951 1.00188 0.935158 0.817684 0.740632 0.707158 +0.691368 0.675579 0.642105 0.575789 0.501895 0.401547 0.450773 0.518947 +0.534105 0.545474 0.56 0.544842 0.469707 0.331493 0.30688 0.356107 +0.469707 0.538526 0.560632 0.545474 0.518947 0.479173 0.435627 0.407227 +0.371253 0.354213 0.373147 0.384507 0.36936 0.35232 0.34096 0.354213 +0.36936 0.359893 0.34664 0.359893 0.358 0.34664 0.325813 0.33528 +0.35232 0.35232 0.333387 0.325813 0.3296 0.316347 0.308773 0.308773 +0.314453 0.322027 0.314453 0.299307 0.29552 0.31824 0.39776 0.509474 +0.534737 0.513263 0.492427 0.501263 0.45456 0.384507 0.36368 0.356107 +0.34664 0.348533 0.34664 0.339067 0.327707 0.322027 0.33528 0.350427 +0.361787 0.37504 0.390187 0.39776 0.407227 0.4148 0.416693 0.42048 +0.450773 0.528421 0.656632 0.858105 1.01004 1.04596 1.03486 1.01592 +1.01559 1.04988 1.24564 1.25933 1.04988 1.01461 1.00873 1.01037 +1.01102 1.01722 1.01755 1.01461 1.01396 1.01461 1.01396 1.01363 +1.01396 1.01363 1.01396 1.01527 1.01657 1.01461 1.0058 1.00547 +1.01135 1.01004 1.00057 0.98098 0.956 0.950316 0.950947 0.950316 +0.948421 0.957895 0.982612 0.969895 0.813263 0.596 0.445093 0.358 +0.259547 0.000906667 0.000806667 0.00076 0.000773333 0.000786667 0.000753333 0.00076 +0.000773333 0.00078 0.000766667 0.000753333 0.000726667 0.0007 0.00068 0.000706667 +0.000733333 0.000733333 0.000693333 0.000706667 0.00074 0.000733333 0.000713333 0.0007 +0.000686667 0.0007 0.0007 0.000713333 0.000733333 0.000726667 0.00072 0.00072 +0.0007 0.000686667 0.0007 0.0007 0.000686667 0.000706667 0.00072 0.000713333 +0.00072 0.000726667 0.000726667 0.00072 0.000693333 0.00068 0.000693333 0.000713333 +0.000746667 0.000733333 0.000713333 0.000733333 0.000733333 0.000726667 0.000733333 0.00072 +0.000713333 0.00072 0.00074 0.00074 0.000706667 0.000706667 0.000746667 0.000786667 +0.000773333 0.000746667 0.000766667 0.000833333 0.2444 0.320133 0.287947 0.00096 +0.00084 0.0009 0.234933 0.38072 0.598526 0.825895 0.974947 0.98 +0.950947 0.944 0.948421 0.944 0.938316 0.941474 0.951579 0.965474 +0.976211 0.98 0.978105 0.974316 0.977474 0.982612 0.986204 0.986204 +0.985551 0.988816 0.990122 0.990776 0.989143 0.984571 0.983592 0.984571 +0.978105 0.932632 0.847368 0.728632 0.611789 0.529053 0.44888 0.384507 +0.344747 0.327707 0.316347 0.327707 0.390187 0.446987 0.382613 0.31256 +0.31256 0.32392 0.316347 0.293627 0.282267 0.274693 0.29552 0.31256 +0.29552 0.287947 0.3012 0.316347 0.344747 0.382613 0.401547 0.407227 +0.435627 0.422373 0.37504 0.3296 0.30688 0.3012 0.314453 0.32392 +0.339067 0.36368 0.371253 0.367467 0.3864 0.428053 0.40912 0.36936 +0.356107 0.39776 0.42048 0.356107 0.29552 0.280373 0.274693 0.286053 +0.291733 0.308773 0.322027 0.322027 0.356107 0.446987 0.458347 0.37504 +0.31256 0.293627 0.299307 0.33528 0.371253 0.361787 0.337173 0.333387 +0.322027 0.308773 0.314453 0.3296 0.34096 0.39776 0.498107 0.517053 +0.505684 0.481067 0.4432 0.393973 0.36368 0.361787 0.367467 0.36368 +0.34664 0.33528 0.333387 0.33528 0.316347 0.3012 0.297413 0.310667 +0.30688 0.297413 0.286053 0.286053 0.28984 0.28416 0.276587 0.28984 +0.297413 0.304987 0.320133 0.331493 0.339067 0.322027 0.31256 0.32392 +0.310667 0.3012 0.297413 0.299307 0.297413 0.322027 0.4432 0.532842 +0.520842 0.424267 0.428053 0.508211 0.520211 0.510105 0.462133 0.373147 +0.316347 0.304987 0.316347 0.32392 0.33528 0.33528 0.333387 0.34664 +0.361787 0.356107 0.361787 0.439413 0.566316 0.702105 0.816421 0.893474 +0.946526 0.986204 1.00449 1.02376 1.03812 1.044 1.04661 1.04759 +1.04922 1.04694 1.05118 1.05118 1.0502 1.05053 1.0502 1.0502 +1.04857 1.04857 1.05086 1.05184 1.05086 1.0489 1.04922 1.04759 +1.0502 1.04824 1.04433 1.04433 1.04727 1.04727 1.04433 1.04139 +1.04139 1.0391 1.03518 1.03192 1.02996 1.03159 1.02637 1.02114 +1.02376 1.02441 1.02506 1.02637 1.02767 1.03192 1.03159 1.03192 +1.03649 1.03878 1.03486 1.03453 1.03192 1.03224 1.03518 1.03812 +1.03976 1.03943 1.04008 1.04008 1.04302 1.03845 1.03976 1.04073 +1.03878 1.03943 1.03976 1.03584 1.03812 1.0391 1.03747 1.03551 +1.03355 1.03486 1.0342 1.03518 1.03845 1.03812 1.0342 1.0378 +1.03878 1.03812 1.03976 1.04204 1.04302 1.04302 1.04269 1.04367 +1.04302 1.04237 1.044 1.04465 1.04596 1.04335 1.04465 1.04531 +1.04498 1.044 1.04563 1.04824 1.04727 1.04465 1.04465 1.04531 +1.04433 1.04335 1.04563 1.0502 1.04824 1.04596 1.04596 1.04433 +1.04269 1.04204 1.044 1.04498 1.044 1.044 1.04563 1.04596 +1.04204 1.03747 1.03747 1.0391 1.03714 1.03388 1.02931 1.02702 +1.02506 1.02049 1.00808 0.962316 0.849263 0.752632 0.716632 0.702737 +0.688211 0.661053 0.602947 0.532211 0.44888 0.435627 0.522105 0.574526 +0.576421 0.565053 0.560632 0.539789 0.496213 0.416693 0.42048 0.46592 +0.512 0.530316 0.553684 0.573895 0.551789 0.517053 0.498107 0.458347 +0.433733 0.412907 0.390187 0.3864 0.378827 0.361787 0.350427 0.361787 +0.36368 0.35232 0.331493 0.333387 0.348533 0.350427 0.333387 0.32392 +0.327707 0.325813 0.314453 0.310667 0.320133 0.32392 0.331493 0.3296 +0.3296 0.339067 0.325813 0.314453 0.325813 0.344747 0.378827 0.428053 +0.424267 0.367467 0.359893 0.39776 0.40344 0.348533 0.31824 0.314453 +0.30688 0.314453 0.327707 0.322027 0.314453 0.316347 0.3296 0.359893 +0.388293 0.412907 0.40912 0.384507 0.365573 0.359893 0.36368 0.39208 +0.435627 0.510737 0.609895 0.8 0.990122 1.04204 1.03943 1.02016 +1.01592 1.04694 1.23803 1.26998 1.05151 1.01755 1.01069 1.012 +1.01102 1.01298 1.01461 1.01429 1.01396 1.01363 1.01331 1.01135 +1.01298 1.01363 1.01363 1.01527 1.01624 1.01657 1.00873 1.0022 +1.0071 1.00971 1.00351 0.986204 0.964842 0.956632 0.954737 0.948421 +0.944632 0.947789 0.970526 0.983265 0.883368 0.665474 0.506947 0.3864 +0.30688 0.217893 0.00086 0.000813333 0.000793333 0.000786667 0.000773333 0.000766667 +0.00076 0.000753333 0.000726667 0.000726667 0.000733333 0.00074 0.00074 0.00076 +0.000766667 0.00072 0.0007 0.000713333 0.000733333 0.000733333 0.000733333 0.0007 +0.0007 0.000706667 0.000706667 0.000706667 0.000706667 0.000706667 0.00072 0.000733333 +0.00072 0.000706667 0.000713333 0.000706667 0.00068 0.000686667 0.000713333 0.0007 +0.000686667 0.000713333 0.00072 0.000733333 0.000733333 0.000713333 0.000693333 0.000693333 +0.000713333 0.000713333 0.000706667 0.000706667 0.00072 0.000726667 0.00074 0.000753333 +0.000726667 0.000713333 0.000746667 0.000766667 0.000746667 0.000733333 0.00074 0.00078 +0.00078 0.000753333 0.000806667 0.00096 0.286053 0.322027 0.251973 0.000866667 +0.000826667 0.000893333 0.26144 0.490533 0.678737 0.903579 0.987837 0.971789 +0.948421 0.945895 0.944632 0.939579 0.937684 0.945263 0.960421 0.974316 +0.982286 0.981959 0.973053 0.969263 0.975579 0.982612 0.987184 0.98849 +0.990122 0.992082 0.992082 0.991102 0.988816 0.985224 0.981633 0.980327 +0.965474 0.912421 0.814526 0.688211 0.577684 0.508211 0.418587 0.367467 +0.333387 0.316347 0.31824 0.325813 0.344747 0.36936 0.337173 0.303093 +0.30688 0.310667 0.314453 0.308773 0.297413 0.280373 0.291733 0.308773 +0.29552 0.28984 0.297413 0.310667 0.31256 0.32392 0.34096 0.39208 +0.464027 0.445093 0.36368 0.30688 0.299307 0.314453 0.32392 0.331493 +0.33528 0.325813 0.31256 0.310667 0.32392 0.358 0.36936 0.361787 +0.354213 0.3864 0.416693 0.371253 0.304987 0.280373 0.287947 0.308773 +0.333387 0.354213 0.344747 0.32392 0.333387 0.395867 0.4148 0.365573 +0.32392 0.31256 0.327707 0.378827 0.452667 0.4432 0.378827 0.35232 +0.339067 0.316347 0.308773 0.322027 0.33528 0.37504 0.441307 0.48296 +0.490533 0.500632 0.481067 0.43184 0.39208 0.376933 0.378827 0.356107 +0.320133 0.316347 0.333387 0.34664 0.33528 0.304987 0.303093 0.31256 +0.310667 0.291733 0.27848 0.297413 0.303093 0.27848 0.265227 0.28416 +0.299307 0.297413 0.320133 0.337173 0.358 0.342853 0.325813 0.342853 +0.342853 0.316347 0.304987 0.29552 0.304987 0.316347 0.365573 0.503158 +0.528421 0.501895 0.502526 0.517684 0.503789 0.458347 0.395867 0.339067 +0.308773 0.31824 0.331493 0.333387 0.325813 0.331493 0.33528 0.356107 +0.384507 0.361787 0.350427 0.359893 0.433733 0.548 0.649684 0.772211 +0.878947 0.946526 0.986857 1.00906 1.02604 1.03649 1.04269 1.04596 +1.0489 1.04824 1.0502 1.05053 1.04824 1.04792 1.04824 1.04922 +1.04792 1.04727 1.05118 1.05347 1.05184 1.04922 1.05053 1.04759 +1.0502 1.05118 1.04596 1.04498 1.04824 1.04824 1.04465 1.04302 +1.04073 1.0378 1.03388 1.03224 1.02865 1.028 1.028 1.02376 +1.02506 1.02604 1.028 1.02996 1.02963 1.03224 1.03159 1.0329 +1.03355 1.03584 1.03551 1.0378 1.03355 1.03257 1.03486 1.03747 +1.03845 1.03845 1.04139 1.04106 1.04269 1.04367 1.04073 1.03747 +1.04008 1.04269 1.04139 1.03486 1.03682 1.03845 1.03649 1.03616 +1.03616 1.03584 1.03649 1.03616 1.03682 1.03682 1.03616 1.03682 +1.03551 1.03714 1.04008 1.04269 1.04269 1.04269 1.04596 1.04563 +1.04498 1.04433 1.04465 1.04596 1.04727 1.04629 1.044 1.04498 +1.04596 1.04498 1.04465 1.04596 1.04498 1.04367 1.04204 1.04041 +1.04171 1.04531 1.04465 1.04629 1.04596 1.04302 1.04465 1.04465 +1.04171 1.04531 1.04727 1.04433 1.04237 1.044 1.04433 1.044 +1.04204 1.03812 1.03714 1.0378 1.03649 1.03453 1.02865 1.02473 +1.01951 1.00808 0.981959 0.880211 0.777263 0.721684 0.708421 0.695158 +0.678737 0.638316 0.565053 0.510737 0.484853 0.521474 0.568842 0.585263 +0.549263 0.524 0.534105 0.544211 0.536 0.528421 0.518316 0.506316 +0.508842 0.515158 0.532211 0.553053 0.545474 0.530947 0.522737 0.511368 +0.507579 0.486747 0.418587 0.384507 0.378827 0.365573 0.354213 0.35232 +0.348533 0.34664 0.337173 0.3296 0.33528 0.35232 0.344747 0.325813 +0.31824 0.316347 0.303093 0.29552 0.293627 0.314453 0.371253 0.399653 +0.365573 0.342853 0.339067 0.33528 0.3296 0.333387 0.337173 0.359893 +0.36368 0.33528 0.333387 0.36368 0.40912 0.384507 0.337173 0.322027 +0.304987 0.28416 0.299307 0.32392 0.32392 0.325813 0.34664 0.384507 +0.435627 0.44888 0.40912 0.36936 0.35232 0.361787 0.37504 0.39208 +0.418587 0.490533 0.572 0.743158 0.950947 1.03257 1.044 1.028 +1.01853 1.04433 1.23651 1.26846 1.0489 1.01592 1.00971 1.01069 +1.01135 1.01167 1.01363 1.01363 1.01494 1.01494 1.01363 1.01298 +1.01298 1.01527 1.01527 1.01592 1.01624 1.01624 1.00841 0.999592 +1.00318 1.01069 1.00743 0.993061 0.971158 0.959158 0.956 0.946526 +0.938947 0.941474 0.960421 0.984245 0.935158 0.736842 0.539789 0.40912 +0.344747 0.25008 0.000906667 0.000853333 0.000793333 0.000726667 0.000733333 0.00074 +0.000733333 0.000746667 0.000746667 0.000753333 0.00076 0.000746667 0.00072 0.00072 +0.000733333 0.00074 0.000746667 0.00076 0.0007 0.000706667 0.000726667 0.000726667 +0.000733333 0.000746667 0.000733333 0.000713333 0.000693333 0.000686667 0.0007 0.000713333 +0.000693333 0.00068 0.000693333 0.000693333 0.00068 0.000673333 0.000713333 0.000733333 +0.0007 0.000686667 0.00068 0.00068 0.000706667 0.00072 0.00072 0.00072 +0.00072 0.00072 0.000713333 0.000713333 0.0007 0.0007 0.000726667 0.000753333 +0.000766667 0.000753333 0.000753333 0.000753333 0.000753333 0.000773333 0.000773333 0.000773333 +0.000786667 0.000766667 0.000813333 0.225467 0.304987 0.297413 0.000993333 0.000846667 +0.000866667 0.000933333 0.293627 0.541684 0.755789 0.951579 0.98751 0.963579 +0.950316 0.950947 0.945263 0.940211 0.943368 0.955368 0.976211 0.986204 +0.989143 0.984245 0.971789 0.967368 0.974316 0.982612 0.988163 0.991102 +0.993714 0.994041 0.992735 0.990449 0.986857 0.983592 0.981959 0.980327 +0.956 0.892211 0.780421 0.648421 0.546737 0.479173 0.412907 0.371253 +0.34096 0.322027 0.320133 0.31824 0.308773 0.31256 0.303093 0.293627 +0.3012 0.308773 0.320133 0.325813 0.316347 0.286053 0.282267 0.293627 +0.29552 0.293627 0.29552 0.299307 0.299307 0.303093 0.327707 0.399653 +0.48864 0.45456 0.348533 0.299307 0.30688 0.325813 0.325813 0.316347 +0.308773 0.29552 0.299307 0.304987 0.31256 0.31824 0.333387 0.342853 +0.344747 0.365573 0.405333 0.393973 0.327707 0.299307 0.325813 0.36368 +0.373147 0.354213 0.325813 0.303093 0.320133 0.358 0.36936 0.331493 +0.322027 0.3296 0.358 0.39208 0.428053 0.401547 0.344747 0.327707 +0.322027 0.320133 0.331493 0.365573 0.407227 0.43184 0.411013 0.378827 +0.376933 0.395867 0.407227 0.405333 0.388293 0.382613 0.384507 0.356107 +0.316347 0.3012 0.308773 0.31824 0.32392 0.310667 0.32392 0.344747 +0.322027 0.28416 0.276587 0.293627 0.29552 0.2728 0.26712 0.310667 +0.33528 0.32392 0.322027 0.331493 0.35232 0.376933 0.376933 0.367467 +0.348533 0.3296 0.304987 0.299307 0.31824 0.342853 0.35232 0.418587 +0.512 0.521474 0.515789 0.501895 0.42616 0.371253 0.33528 0.331493 +0.333387 0.327707 0.331493 0.325813 0.325813 0.325813 0.331493 0.35232 +0.373147 0.361787 0.36368 0.356107 0.35232 0.39208 0.506947 0.602316 +0.735579 0.854316 0.939579 0.98849 1.0071 1.02016 1.03322 1.04171 +1.04498 1.04792 1.04857 1.04824 1.04727 1.04694 1.04824 1.05053 +1.04759 1.04531 1.04661 1.05053 1.05118 1.04792 1.04824 1.04694 +1.04988 1.05151 1.04792 1.04596 1.04563 1.04759 1.04465 1.04204 +1.03976 1.03616 1.03257 1.03322 1.02996 1.02702 1.02735 1.02408 +1.02441 1.02931 1.03029 1.02735 1.02735 1.03094 1.03094 1.03453 +1.03518 1.03388 1.03322 1.0378 1.03486 1.0342 1.03649 1.03747 +1.03845 1.04073 1.03976 1.0378 1.04106 1.04563 1.04237 1.03551 +1.03943 1.04302 1.04139 1.03453 1.03714 1.03976 1.03682 1.03584 +1.03682 1.03551 1.03551 1.03649 1.03518 1.03584 1.03551 1.03649 +1.03584 1.03682 1.03878 1.04269 1.04302 1.04204 1.04531 1.04563 +1.04596 1.04465 1.044 1.04824 1.04727 1.04433 1.044 1.04563 +1.04727 1.04563 1.04433 1.04367 1.04171 1.04237 1.04106 1.0378 +1.04237 1.0489 1.04792 1.04727 1.04433 1.04171 1.04335 1.04335 +1.04171 1.04596 1.04433 1.04367 1.044 1.04694 1.04563 1.04139 +1.0391 1.03845 1.0378 1.03714 1.03486 1.03159 1.02702 1.02114 +1.01004 0.983918 0.901053 0.800632 0.74 0.718526 0.707158 0.690737 +0.664842 0.604211 0.527789 0.496213 0.503158 0.524632 0.542316 0.534105 +0.503789 0.45456 0.517684 0.568211 0.574526 0.549895 0.515789 0.452667 +0.43752 0.4716 0.486747 0.47728 0.475387 0.486747 0.48296 0.481067 +0.505684 0.498107 0.42048 0.384507 0.371253 0.36936 0.36368 0.359893 +0.35232 0.33528 0.33528 0.33528 0.33528 0.34096 0.342853 0.331493 +0.331493 0.310667 0.291733 0.297413 0.304987 0.3296 0.393973 0.428053 +0.3864 0.344747 0.337173 0.325813 0.31256 0.32392 0.34664 0.358 +0.354213 0.339067 0.327707 0.333387 0.384507 0.418587 0.373147 0.322027 +0.31256 0.297413 0.30688 0.331493 0.337173 0.337173 0.376933 0.469707 +0.514526 0.505053 0.439413 0.405333 0.382613 0.384507 0.39208 0.39776 +0.412907 0.458347 0.543579 0.692 0.896 1.01788 1.04498 1.03518 +1.02571 1.04367 1.22433 1.25477 1.04269 1.01135 1.00841 1.01004 +1.01396 1.01265 1.01396 1.01559 1.01592 1.01624 1.01592 1.01592 +1.01363 1.01396 1.01396 1.01461 1.01559 1.01527 1.01167 1.00057 +1.00188 1.00906 1.00873 0.997959 0.978737 0.959789 0.958526 0.952211 +0.942105 0.942105 0.954105 0.981959 0.972421 0.815789 0.590316 0.433733 +0.361787 0.270907 0.000893333 0.000806667 0.000746667 0.000726667 0.000746667 0.00074 +0.000713333 0.000733333 0.000733333 0.000753333 0.000766667 0.000766667 0.000753333 0.00074 +0.000733333 0.000746667 0.000753333 0.00076 0.0007 0.000706667 0.000713333 0.00072 +0.000693333 0.000693333 0.00072 0.000726667 0.00072 0.000726667 0.00072 0.00072 +0.0007 0.000673333 0.000666667 0.000673333 0.000693333 0.000693333 0.000706667 0.000753333 +0.000746667 0.000726667 0.000713333 0.000713333 0.000706667 0.000693333 0.000686667 0.000686667 +0.000693333 0.000706667 0.000733333 0.000733333 0.000713333 0.000713333 0.000726667 0.000726667 +0.00074 0.00074 0.00074 0.00076 0.00076 0.000786667 0.00078 0.000773333 +0.000793333 0.000793333 0.000873333 0.253867 0.314453 0.269013 0.0009 0.000806667 +0.000866667 0.217893 0.365573 0.603579 0.835368 0.979368 0.981959 0.958526 +0.951579 0.950316 0.945895 0.947158 0.955368 0.968632 0.986204 0.996 +0.995673 0.985551 0.973053 0.969895 0.973053 0.981959 0.987837 0.992735 +0.997633 0.996 0.991755 0.988163 0.983918 0.98098 0.98098 0.978737 +0.948421 0.873263 0.745684 0.611158 0.520842 0.446987 0.407227 0.378827 +0.35232 0.337173 0.331493 0.316347 0.3012 0.29552 0.29552 0.316347 +0.34664 0.342853 0.32392 0.31824 0.30688 0.287947 0.280373 0.27848 +0.282267 0.28416 0.28984 0.3012 0.31256 0.322027 0.35232 0.4148 +0.481067 0.446987 0.34664 0.304987 0.322027 0.337173 0.322027 0.31256 +0.303093 0.29552 0.297413 0.303093 0.314453 0.31256 0.316347 0.33528 +0.348533 0.36936 0.412907 0.429947 0.38072 0.34664 0.384507 0.416693 +0.376933 0.31824 0.299307 0.299307 0.30688 0.337173 0.350427 0.322027 +0.310667 0.333387 0.342853 0.350427 0.356107 0.337173 0.32392 0.32392 +0.325813 0.350427 0.39208 0.4432 0.481067 0.464027 0.3864 0.327707 +0.32392 0.327707 0.34664 0.365573 0.365573 0.365573 0.358 0.333387 +0.31256 0.308773 0.308773 0.308773 0.32392 0.354213 0.399653 0.40344 +0.35232 0.304987 0.28984 0.287947 0.28416 0.280373 0.28416 0.316347 +0.359893 0.359893 0.327707 0.314453 0.327707 0.382613 0.446987 0.445093 +0.38072 0.327707 0.29552 0.287947 0.297413 0.32392 0.33528 0.367467 +0.450773 0.506316 0.500632 0.435627 0.373147 0.331493 0.31824 0.34096 +0.342853 0.337173 0.33528 0.333387 0.33528 0.331493 0.342853 0.359893 +0.359893 0.367467 0.361787 0.359893 0.34664 0.333387 0.36368 0.45456 +0.563789 0.688842 0.821474 0.922526 0.982939 1.00286 1.01984 1.0329 +1.03943 1.04531 1.04694 1.04661 1.04661 1.04531 1.04563 1.04857 +1.04694 1.04465 1.04629 1.04824 1.05216 1.0502 1.0489 1.04857 +1.04824 1.04792 1.04857 1.04759 1.04433 1.04531 1.04237 1.03714 +1.03584 1.03584 1.0329 1.03127 1.03094 1.028 1.02571 1.02539 +1.02473 1.02996 1.03029 1.02767 1.02963 1.03322 1.03061 1.03355 +1.03649 1.03388 1.03094 1.03551 1.03551 1.03616 1.03812 1.03878 +1.03812 1.04171 1.04106 1.03878 1.04269 1.04367 1.04302 1.04008 +1.03976 1.04139 1.04106 1.03649 1.03943 1.0391 1.03714 1.03551 +1.03682 1.03616 1.03747 1.03584 1.03682 1.03518 1.0342 1.03714 +1.03616 1.03616 1.03812 1.044 1.04302 1.04302 1.04531 1.04465 +1.04433 1.04204 1.04302 1.0502 1.04857 1.04335 1.04367 1.044 +1.04759 1.04629 1.04335 1.04433 1.04302 1.04335 1.04171 1.03878 +1.04237 1.04727 1.04727 1.04824 1.04465 1.044 1.04465 1.04171 +1.04269 1.04465 1.04171 1.04465 1.04563 1.04661 1.04531 1.04106 +1.0391 1.03845 1.03518 1.03355 1.03127 1.02604 1.02278 1.01429 +0.990776 0.911158 0.810105 0.750105 0.728 0.720421 0.707158 0.685053 +0.636421 0.560632 0.498107 0.446987 0.452667 0.467813 0.479173 0.501895 +0.510737 0.508842 0.530947 0.563158 0.545474 0.506947 0.441307 0.390187 +0.378827 0.407227 0.40912 0.384507 0.38072 0.378827 0.378827 0.407227 +0.46024 0.467813 0.4148 0.39208 0.39776 0.399653 0.378827 0.376933 +0.367467 0.339067 0.337173 0.34096 0.339067 0.331493 0.327707 0.33528 +0.35232 0.34096 0.3012 0.293627 0.337173 0.39208 0.411013 0.384507 +0.331493 0.308773 0.31256 0.304987 0.304987 0.3296 0.354213 0.358 +0.350427 0.348533 0.33528 0.320133 0.342853 0.39776 0.3864 0.325813 +0.314453 0.325813 0.33528 0.325813 0.320133 0.354213 0.46024 0.524 +0.532211 0.509474 0.458347 0.429947 0.412907 0.395867 0.390187 0.393973 +0.412907 0.439413 0.521474 0.648421 0.848 1.00482 1.04433 1.04106 +1.03257 1.044 1.1939 1.22281 1.03845 1.00841 1.00841 1.00939 +1.01527 1.01298 1.012 1.01559 1.01624 1.01722 1.01592 1.01494 +1.01331 1.01396 1.01494 1.01461 1.01559 1.01592 1.01135 0.998612 +0.997959 1.0058 1.00971 1.00351 0.983918 0.957895 0.955368 0.954105 +0.942737 0.940211 0.949053 0.973684 0.986204 0.890316 0.658526 0.479173 +0.37504 0.308773 0.00096 0.00082 0.000753333 0.00074 0.00076 0.000753333 +0.00072 0.0007 0.000673333 0.0007 0.00074 0.00076 0.000746667 0.00076 +0.00076 0.000746667 0.00074 0.000733333 0.0007 0.000713333 0.00072 0.000726667 +0.000713333 0.0007 0.0007 0.000713333 0.00072 0.00072 0.00072 0.000706667 +0.0007 0.0007 0.000706667 0.000706667 0.000726667 0.000726667 0.0007 0.000693333 +0.000713333 0.000733333 0.000733333 0.000713333 0.0007 0.0007 0.000713333 0.000713333 +0.000706667 0.000713333 0.00072 0.000726667 0.000713333 0.00072 0.000726667 0.00072 +0.000733333 0.00074 0.000733333 0.000753333 0.000773333 0.000773333 0.000766667 0.000773333 +0.0008 0.000806667 0.000906667 0.270907 0.31824 0.25576 0.000873333 0.000826667 +0.000913333 0.25576 0.475387 0.678105 0.904211 0.985878 0.971789 0.954737 +0.953474 0.949053 0.942737 0.949684 0.962316 0.977474 0.990449 0.999592 +0.995673 0.983918 0.973053 0.971158 0.973684 0.98 0.983265 0.988816 +0.994367 0.994041 0.990122 0.985224 0.980653 0.978105 0.978737 0.974947 +0.940842 0.852421 0.713474 0.584 0.507579 0.43184 0.40912 0.395867 +0.36368 0.337173 0.32392 0.308773 0.308773 0.30688 0.308773 0.3296 +0.358 0.339067 0.303093 0.293627 0.28984 0.276587 0.269013 0.265227 +0.270907 0.280373 0.286053 0.303093 0.310667 0.32392 0.35232 0.390187 +0.445093 0.435627 0.348533 0.320133 0.344747 0.36368 0.344747 0.331493 +0.322027 0.30688 0.297413 0.299307 0.314453 0.31824 0.33528 0.365573 +0.378827 0.382613 0.424267 0.469707 0.4432 0.40912 0.435627 0.441307 +0.37504 0.320133 0.310667 0.3012 0.299307 0.31256 0.320133 0.308773 +0.304987 0.3296 0.339067 0.34096 0.348533 0.34664 0.339067 0.350427 +0.39776 0.462133 0.484853 0.462133 0.435627 0.407227 0.36368 0.331493 +0.325813 0.327707 0.339067 0.359893 0.35232 0.344747 0.3296 0.30688 +0.30688 0.327707 0.337173 0.339067 0.356107 0.411013 0.475387 0.462133 +0.367467 0.31256 0.28984 0.28416 0.27848 0.282267 0.30688 0.344747 +0.373147 0.350427 0.320133 0.303093 0.304987 0.350427 0.45456 0.508842 +0.5 0.4148 0.344747 0.303093 0.287947 0.293627 0.303093 0.31824 +0.367467 0.42616 0.422373 0.37504 0.33528 0.31256 0.308773 0.325813 +0.331493 0.337173 0.333387 0.342853 0.34096 0.333387 0.339067 0.365573 +0.382613 0.376933 0.361787 0.36936 0.344747 0.325813 0.33528 0.350427 +0.401547 0.529053 0.645895 0.786105 0.902316 0.975579 0.998286 1.01331 +1.028 1.0391 1.04367 1.04433 1.04465 1.04531 1.04498 1.04824 +1.04727 1.04531 1.04792 1.04694 1.04955 1.0502 1.04857 1.0502 +1.04857 1.04694 1.04792 1.04857 1.04563 1.04302 1.04106 1.03486 +1.0329 1.03682 1.03159 1.02506 1.028 1.02767 1.02376 1.028 +1.02702 1.028 1.03029 1.02996 1.03127 1.03192 1.03029 1.03257 +1.03584 1.0342 1.03159 1.03388 1.03453 1.0378 1.03812 1.03845 +1.03812 1.0391 1.04073 1.03943 1.04367 1.04237 1.04269 1.04465 +1.04237 1.04302 1.04106 1.0378 1.04139 1.03747 1.03584 1.03616 +1.03616 1.03714 1.03747 1.03584 1.03616 1.03486 1.03518 1.0378 +1.03486 1.03518 1.0391 1.044 1.04237 1.04433 1.04596 1.04563 +1.04335 1.04041 1.04237 1.04792 1.04857 1.04596 1.04498 1.04335 +1.04759 1.04792 1.04433 1.04531 1.04727 1.04629 1.04302 1.03976 +1.04367 1.04465 1.04629 1.04922 1.04727 1.04792 1.04661 1.04269 +1.04237 1.04269 1.04204 1.04269 1.04465 1.04465 1.04563 1.04433 +1.04171 1.03747 1.03322 1.03094 1.02604 1.01951 1.01494 0.996327 +0.927579 0.824 0.755158 0.733684 0.728 0.716632 0.700211 0.669263 +0.596632 0.518947 0.43752 0.40912 0.40912 0.4148 0.43184 0.502526 +0.525895 0.525263 0.523368 0.522105 0.481067 0.399653 0.37504 0.361787 +0.361787 0.371253 0.3864 0.39208 0.388293 0.367467 0.358 0.388293 +0.416693 0.446987 0.435627 0.40344 0.42048 0.42616 0.390187 0.384507 +0.371253 0.354213 0.356107 0.344747 0.34096 0.34664 0.348533 0.36368 +0.382613 0.356107 0.320133 0.327707 0.36936 0.3864 0.361787 0.32392 +0.297413 0.29552 0.304987 0.31256 0.31824 0.333387 0.359893 0.354213 +0.333387 0.33528 0.333387 0.322027 0.316347 0.36368 0.384507 0.339067 +0.31256 0.3296 0.359893 0.361787 0.371253 0.44888 0.519579 0.522737 +0.5 0.450773 0.428053 0.412907 0.40912 0.399653 0.384507 0.382613 +0.40344 0.435627 0.510737 0.619368 0.807579 0.987837 1.03584 1.04073 +1.03649 1.04759 1.19238 1.19999 1.0342 1.0071 1.00939 1.00939 +1.01331 1.01396 1.01135 1.01331 1.01429 1.01461 1.01298 1.01331 +1.01527 1.01657 1.01722 1.01527 1.01461 1.01363 1.00971 0.998939 +0.99698 1.00547 1.012 1.00808 0.991102 0.968 0.956632 0.954737 +0.947158 0.942105 0.949053 0.963579 0.985224 0.939579 0.731789 0.523368 +0.382613 0.358 0.253867 0.000913333 0.00082 0.00074 0.000753333 0.000753333 +0.000706667 0.000693333 0.000673333 0.000666667 0.00074 0.000766667 0.000713333 0.000706667 +0.00072 0.000733333 0.00074 0.000733333 0.000713333 0.00072 0.000706667 0.000706667 +0.00072 0.000733333 0.00072 0.000706667 0.000713333 0.000706667 0.0007 0.000693333 +0.0007 0.000706667 0.000706667 0.000706667 0.000706667 0.00072 0.00074 0.000713333 +0.0007 0.00072 0.00072 0.000706667 0.000706667 0.000713333 0.000726667 0.000726667 +0.000713333 0.000713333 0.00072 0.00072 0.00072 0.000706667 0.000706667 0.000706667 +0.000713333 0.000733333 0.000746667 0.000753333 0.00078 0.000773333 0.000766667 0.000766667 +0.000773333 0.000813333 0.00096 0.280373 0.310667 0.246293 0.000873333 0.000846667 +0.00096 0.3012 0.541053 0.759579 0.953474 0.986204 0.961053 0.947789 +0.950947 0.949053 0.945895 0.954105 0.968 0.975579 0.984245 0.989796 +0.984245 0.974947 0.971789 0.974947 0.981306 0.98 0.98098 0.984898 +0.985224 0.986204 0.985551 0.981959 0.98 0.979368 0.980653 0.974947 +0.935158 0.835368 0.690737 0.566947 0.5 0.424267 0.4148 0.42048 +0.393973 0.354213 0.327707 0.31824 0.32392 0.31256 0.304987 0.310667 +0.31824 0.314453 0.3012 0.28984 0.27848 0.270907 0.265227 0.274693 +0.286053 0.286053 0.286053 0.297413 0.314453 0.32392 0.333387 0.356107 +0.433733 0.450773 0.384507 0.376933 0.407227 0.39776 0.35232 0.325813 +0.31824 0.314453 0.31256 0.316347 0.314453 0.34096 0.367467 0.384507 +0.3864 0.39208 0.435627 0.48296 0.46592 0.416693 0.40344 0.393973 +0.36368 0.333387 0.320133 0.308773 0.304987 0.30688 0.30688 0.303093 +0.316347 0.339067 0.36936 0.378827 0.395867 0.399653 0.3864 0.424267 +0.498107 0.516421 0.501263 0.418587 0.382613 0.361787 0.339067 0.337173 +0.34664 0.339067 0.331493 0.350427 0.342853 0.333387 0.33528 0.32392 +0.322027 0.331493 0.33528 0.3296 0.342853 0.393973 0.479173 0.498107 +0.393973 0.3296 0.310667 0.293627 0.280373 0.28416 0.31824 0.361787 +0.359893 0.322027 0.310667 0.303093 0.304987 0.348533 0.424267 0.503158 +0.518316 0.511368 0.473493 0.393973 0.348533 0.327707 0.320133 0.31256 +0.327707 0.367467 0.371253 0.354213 0.337173 0.327707 0.337173 0.327707 +0.33528 0.3296 0.325813 0.331493 0.333387 0.331493 0.344747 0.390187 +0.411013 0.399653 0.371253 0.356107 0.350427 0.348533 0.34096 0.34096 +0.342853 0.376933 0.508842 0.609895 0.750105 0.882105 0.961684 0.991102 +1.01069 1.02702 1.03682 1.04139 1.04433 1.04498 1.04498 1.04727 +1.04727 1.04661 1.04792 1.04824 1.04759 1.0489 1.04988 1.04955 +1.0502 1.04955 1.04857 1.04857 1.04498 1.0391 1.03845 1.03518 +1.03094 1.03355 1.02898 1.0231 1.02637 1.02473 1.02278 1.02931 +1.02702 1.02669 1.03127 1.03094 1.03061 1.03029 1.02996 1.03192 +1.03453 1.03453 1.03355 1.03388 1.03453 1.03943 1.03812 1.03682 +1.03878 1.03943 1.04171 1.04106 1.044 1.04269 1.04106 1.04335 +1.04302 1.04498 1.04106 1.03584 1.04073 1.03812 1.03616 1.03551 +1.03518 1.03714 1.03878 1.03486 1.03322 1.03388 1.03616 1.03812 +1.03584 1.03486 1.03714 1.04106 1.04171 1.04498 1.04759 1.04792 +1.04367 1.04106 1.04367 1.04661 1.04694 1.04694 1.04629 1.04563 +1.04727 1.04792 1.04727 1.04661 1.04661 1.04563 1.04237 1.04073 +1.044 1.04563 1.04596 1.04727 1.04857 1.04922 1.04531 1.04335 +1.04335 1.04269 1.04269 1.03943 1.04302 1.04433 1.04367 1.04237 +1.03747 1.03159 1.02996 1.02898 1.0218 1.012 0.994694 0.932 +0.833474 0.766526 0.741263 0.735579 0.728 0.709684 0.683789 0.638316 +0.559368 0.481067 0.40912 0.390187 0.40344 0.424267 0.446987 0.5 +0.501263 0.46592 0.462133 0.475387 0.428053 0.378827 0.36368 0.350427 +0.36936 0.36936 0.37504 0.388293 0.401547 0.39776 0.36936 0.359893 +0.38072 0.416693 0.429947 0.422373 0.439413 0.44888 0.433733 0.435627 +0.40912 0.382613 0.373147 0.356107 0.34096 0.344747 0.367467 0.435627 +0.4716 0.405333 0.358 0.36368 0.36368 0.339067 0.316347 0.314453 +0.316347 0.308773 0.3012 0.316347 0.327707 0.337173 0.35232 0.342853 +0.331493 0.337173 0.350427 0.342853 0.314453 0.339067 0.367467 0.344747 +0.31256 0.322027 0.384507 0.441307 0.492427 0.520842 0.529684 0.506316 +0.43184 0.395867 0.388293 0.388293 0.393973 0.395867 0.39208 0.39208 +0.40912 0.43184 0.5 0.590316 0.767789 0.960421 1.02473 1.03845 +1.04073 1.05282 1.18325 1.15434 1.028 1.00612 1.00873 1.00971 +1.01135 1.012 1.00939 1.00906 1.01167 1.01559 1.01592 1.01527 +1.01592 1.0169 1.01624 1.01396 1.01363 1.01396 1.00971 0.999592 +0.995673 1.00286 1.01167 1.00971 0.997306 0.981306 0.962947 0.956 +0.949684 0.943368 0.944 0.954737 0.98 0.971158 0.813895 0.580211 +0.40344 0.365573 0.297413 0.216 0.00088 0.000786667 0.000793333 0.0008 +0.00076 0.000726667 0.000686667 0.000673333 0.000713333 0.00074 0.000726667 0.0007 +0.00072 0.000746667 0.000746667 0.000733333 0.000706667 0.000713333 0.000693333 0.000706667 +0.000713333 0.000733333 0.000726667 0.0007 0.0007 0.000706667 0.00072 0.00074 +0.000733333 0.000726667 0.000713333 0.000686667 0.000666667 0.000666667 0.000706667 0.00072 +0.000713333 0.000733333 0.00074 0.000726667 0.00072 0.000713333 0.0007 0.0007 +0.000693333 0.000713333 0.000713333 0.00072 0.000733333 0.000746667 0.00074 0.000733333 +0.000733333 0.000746667 0.000753333 0.00074 0.00076 0.000793333 0.0008 0.000806667 +0.000806667 0.000853333 0.216 0.282267 0.299307 0.231147 0.00086 0.000873333 +0.223573 0.359893 0.601684 0.836632 0.981306 0.984571 0.956632 0.944 +0.949053 0.945895 0.942737 0.952842 0.964842 0.965474 0.968632 0.975579 +0.969895 0.966737 0.968632 0.971158 0.982286 0.983918 0.982939 0.983918 +0.98 0.973684 0.973053 0.975579 0.98098 0.983918 0.983918 0.975579 +0.932632 0.825263 0.677474 0.556842 0.484853 0.412907 0.39776 0.418587 +0.4432 0.422373 0.365573 0.34664 0.344747 0.322027 0.3012 0.3012 +0.299307 0.3012 0.314453 0.30688 0.291733 0.286053 0.287947 0.28984 +0.287947 0.29552 0.308773 0.333387 0.354213 0.344747 0.325813 0.344747 +0.44888 0.500632 0.450773 0.43184 0.428053 0.399653 0.354213 0.331493 +0.320133 0.320133 0.322027 0.3296 0.356107 0.4148 0.416693 0.382613 +0.371253 0.40344 0.446987 0.4716 0.429947 0.354213 0.316347 0.32392 +0.34096 0.331493 0.316347 0.310667 0.310667 0.31824 0.310667 0.297413 +0.30688 0.327707 0.348533 0.358 0.371253 0.388293 0.418587 0.4716 +0.48296 0.456453 0.405333 0.358 0.361787 0.361787 0.34096 0.339067 +0.358 0.35232 0.331493 0.34096 0.34664 0.33528 0.333387 0.325813 +0.314453 0.331493 0.333387 0.30688 0.303093 0.337173 0.422373 0.501895 +0.44888 0.358 0.331493 0.30688 0.291733 0.297413 0.31824 0.34664 +0.333387 0.303093 0.310667 0.327707 0.350427 0.393973 0.412907 0.411013 +0.424267 0.445093 0.46592 0.473493 0.4432 0.378827 0.354213 0.34096 +0.322027 0.325813 0.33528 0.344747 0.337173 0.337173 0.350427 0.34664 +0.34664 0.34664 0.325813 0.316347 0.31824 0.339067 0.3864 0.43184 +0.43752 0.4148 0.36368 0.35232 0.365573 0.361787 0.344747 0.34664 +0.34664 0.354213 0.38072 0.475387 0.578947 0.720421 0.857474 0.945895 +0.989469 1.00906 1.02212 1.03322 1.04171 1.04237 1.04204 1.04531 +1.04596 1.04727 1.04792 1.04955 1.04792 1.04792 1.04857 1.04727 +1.05086 1.05184 1.04792 1.044 1.04106 1.0391 1.03747 1.03518 +1.02963 1.02833 1.02637 1.02376 1.02441 1.02343 1.02245 1.02702 +1.02604 1.02669 1.03224 1.03224 1.03159 1.03159 1.03192 1.0329 +1.03355 1.03486 1.03649 1.03486 1.03355 1.03845 1.0391 1.0378 +1.03943 1.0391 1.04073 1.04302 1.04563 1.04335 1.04171 1.04498 +1.04237 1.044 1.04302 1.03714 1.04008 1.04106 1.03747 1.03355 +1.03486 1.03845 1.03943 1.03584 1.03388 1.03518 1.03682 1.03551 +1.03616 1.03649 1.03714 1.03976 1.03943 1.04204 1.04367 1.04531 +1.04302 1.04204 1.04498 1.04857 1.04629 1.04433 1.044 1.04727 +1.04727 1.04694 1.04792 1.04661 1.04596 1.04302 1.04073 1.04008 +1.04073 1.04465 1.04498 1.04563 1.04792 1.04531 1.04335 1.04237 +1.04269 1.04073 1.04041 1.03943 1.04139 1.04237 1.0391 1.03224 +1.02637 1.02473 1.02376 1.02408 1.01788 0.996327 0.926947 0.832842 +0.777895 0.757053 0.742526 0.729895 0.719158 0.701474 0.655368 0.590316 +0.529684 0.4432 0.390187 0.384507 0.39776 0.418587 0.439413 0.469707 +0.424267 0.37504 0.401547 0.43184 0.399653 0.384507 0.37504 0.348533 +0.361787 0.373147 0.36936 0.37504 0.39208 0.395867 0.382613 0.36936 +0.382613 0.401547 0.416693 0.458347 0.505684 0.512 0.508211 0.508842 +0.505684 0.46592 0.399653 0.373147 0.35232 0.337173 0.367467 0.48864 +0.521474 0.492427 0.418587 0.384507 0.35232 0.331493 0.322027 0.31824 +0.310667 0.303093 0.30688 0.31824 0.31824 0.322027 0.34096 0.342853 +0.337173 0.359893 0.399653 0.382613 0.322027 0.331493 0.361787 0.348533 +0.32392 0.331493 0.395867 0.503789 0.529684 0.520842 0.503789 0.473493 +0.446987 0.40344 0.37504 0.378827 0.382613 0.37504 0.393973 0.4148 +0.42048 0.422373 0.4716 0.569474 0.74 0.933263 1.01461 1.03682 +1.04531 1.05804 1.1589 1.095 1.02212 1.00547 1.0058 1.00873 +1.01135 1.01102 1.01102 1.01037 1.01298 1.01722 1.01624 1.01429 +1.01461 1.01592 1.01396 1.012 1.01396 1.01559 1.012 1.0022 +0.99502 1.00318 1.01135 1.01037 1.00024 0.984245 0.965474 0.954737 +0.948421 0.946526 0.945263 0.951579 0.973684 0.983918 0.882737 0.650947 +0.46024 0.350427 0.325813 0.25008 0.00092 0.000846667 0.00084 0.000826667 +0.00082 0.000766667 0.000706667 0.00072 0.000713333 0.00074 0.000753333 0.000733333 +0.000733333 0.00072 0.000713333 0.00072 0.000726667 0.000733333 0.0007 0.000686667 +0.0007 0.000713333 0.00072 0.00072 0.000713333 0.000706667 0.0007 0.000706667 +0.00072 0.000713333 0.00072 0.00072 0.000713333 0.000693333 0.0007 0.0007 +0.0007 0.0007 0.00072 0.000733333 0.00072 0.000713333 0.00072 0.000726667 +0.00072 0.000713333 0.00072 0.0007 0.000713333 0.00074 0.000746667 0.00074 +0.000786667 0.0008 0.00078 0.00074 0.000726667 0.000753333 0.00078 0.000786667 +0.000806667 0.00084 0.000993333 0.287947 0.3012 0.231147 0.000866667 0.0009 +0.25008 0.458347 0.674947 0.902947 0.986204 0.976211 0.950316 0.945895 +0.952842 0.949053 0.945895 0.951579 0.957895 0.955368 0.954737 0.963579 +0.965474 0.966105 0.965474 0.966105 0.978737 0.985551 0.984898 0.983592 +0.976842 0.964842 0.966737 0.976842 0.982939 0.984571 0.984571 0.976211 +0.930105 0.818947 0.669263 0.550526 0.479173 0.418587 0.39776 0.416693 +0.469707 0.467813 0.40344 0.356107 0.342853 0.325813 0.299307 0.299307 +0.3012 0.299307 0.30688 0.303093 0.287947 0.297413 0.308773 0.308773 +0.3012 0.310667 0.327707 0.358 0.395867 0.390187 0.354213 0.371253 +0.47728 0.508211 0.467813 0.411013 0.382613 0.361787 0.33528 0.316347 +0.304987 0.31256 0.322027 0.350427 0.42048 0.46592 0.418587 0.365573 +0.36936 0.4148 0.46024 0.473493 0.40912 0.31256 0.282267 0.303093 +0.320133 0.310667 0.299307 0.29552 0.303093 0.303093 0.293627 0.28416 +0.286053 0.291733 0.3012 0.31256 0.316347 0.322027 0.376933 0.424267 +0.3864 0.350427 0.337173 0.34096 0.350427 0.36368 0.356107 0.34096 +0.34096 0.34096 0.339067 0.354213 0.371253 0.358 0.339067 0.327707 +0.316347 0.333387 0.350427 0.33528 0.32392 0.333387 0.371253 0.441307 +0.43752 0.359893 0.331493 0.316347 0.297413 0.308773 0.316347 0.316347 +0.31824 0.303093 0.304987 0.3296 0.367467 0.401547 0.39776 0.35232 +0.33528 0.337173 0.373147 0.450773 0.490533 0.42048 0.361787 0.344747 +0.322027 0.304987 0.325813 0.339067 0.3296 0.33528 0.34664 0.350427 +0.36368 0.356107 0.337173 0.339067 0.350427 0.371253 0.44888 0.47728 +0.446987 0.399653 0.344747 0.354213 0.361787 0.348533 0.33528 0.348533 +0.35232 0.365573 0.367467 0.3864 0.445093 0.552421 0.690105 0.834105 +0.932632 0.983265 0.999265 1.01559 1.02865 1.03453 1.03943 1.04433 +1.04531 1.04694 1.0489 1.05086 1.05053 1.05086 1.0489 1.04694 +1.04857 1.04922 1.04661 1.04139 1.03812 1.0378 1.03257 1.03094 +1.028 1.02408 1.02376 1.02245 1.02147 1.02278 1.0218 1.02441 +1.02571 1.02735 1.03159 1.0329 1.0329 1.03224 1.03257 1.03257 +1.03094 1.0329 1.03682 1.03518 1.0329 1.03682 1.0378 1.03714 +1.04171 1.04073 1.04008 1.044 1.04596 1.04237 1.04335 1.04629 +1.04237 1.04367 1.04433 1.04008 1.03976 1.04139 1.03845 1.03486 +1.03551 1.03943 1.0378 1.03388 1.03584 1.03616 1.03845 1.03486 +1.03322 1.03486 1.03747 1.0391 1.03845 1.04041 1.04106 1.04204 +1.04237 1.044 1.04629 1.04922 1.04727 1.04465 1.04433 1.04531 +1.04596 1.04629 1.04759 1.04824 1.04629 1.04269 1.03943 1.03943 +1.03943 1.04269 1.04367 1.04759 1.04922 1.04531 1.04204 1.03812 +1.03845 1.03845 1.0391 1.03682 1.03322 1.03159 1.02931 1.02571 +1.02408 1.02539 1.02343 1.0182 1.00155 0.940211 0.835368 0.774105 +0.764 0.757684 0.736842 0.717895 0.707789 0.681895 0.613053 0.540421 +0.505684 0.435627 0.393973 0.39208 0.384507 0.407227 0.445093 0.456453 +0.407227 0.36368 0.378827 0.399653 0.388293 0.3864 0.376933 0.350427 +0.350427 0.361787 0.359893 0.367467 0.39208 0.38072 0.378827 0.384507 +0.3864 0.393973 0.395867 0.43184 0.496213 0.507579 0.507579 0.506316 +0.506947 0.484853 0.401547 0.361787 0.36368 0.371253 0.395867 0.469707 +0.501263 0.456453 0.412907 0.40344 0.384507 0.36936 0.365573 0.36368 +0.344747 0.32392 0.322027 0.316347 0.31256 0.322027 0.342853 0.344747 +0.331493 0.34664 0.42048 0.422373 0.356107 0.348533 0.37504 0.359893 +0.320133 0.322027 0.371253 0.47728 0.512 0.456453 0.384507 0.3864 +0.424267 0.433733 0.39776 0.371253 0.36368 0.35232 0.365573 0.401547 +0.416693 0.416693 0.458347 0.561263 0.729895 0.920632 1.00841 1.03388 +1.04629 1.06913 1.13456 1.05445 1.01624 1.00547 1.00612 1.00873 +1.01167 1.01167 1.01363 1.01363 1.01363 1.01527 1.01363 1.01396 +1.01461 1.0169 1.01429 1.012 1.01429 1.01429 1.01331 1.00514 +0.996653 1.00514 1.01102 1.01069 1.00318 0.988163 0.969263 0.957895 +0.951579 0.950947 0.950947 0.949684 0.963579 0.984898 0.933895 0.725474 +0.518316 0.33528 0.331493 0.303093 0.223573 0.000866667 0.000806667 0.000786667 +0.000826667 0.000813333 0.000773333 0.00076 0.000726667 0.00074 0.00076 0.000706667 +0.000686667 0.000693333 0.000706667 0.00074 0.00072 0.000733333 0.000733333 0.00072 +0.0007 0.0007 0.000693333 0.000713333 0.00072 0.000713333 0.000713333 0.000706667 +0.00072 0.000713333 0.000713333 0.000726667 0.00074 0.000726667 0.000713333 0.00072 +0.000733333 0.000713333 0.000693333 0.0007 0.000713333 0.00072 0.000726667 0.000753333 +0.000746667 0.00072 0.00072 0.000713333 0.000713333 0.000726667 0.00072 0.000726667 +0.000753333 0.000773333 0.000773333 0.000753333 0.000733333 0.000766667 0.000786667 0.0008 +0.000793333 0.0008 0.00096 0.28984 0.308773 0.23872 0.0009 0.000953333 +0.29552 0.534105 0.755158 0.951579 0.983918 0.959158 0.945263 0.949053 +0.956 0.952842 0.953474 0.957895 0.956632 0.952842 0.953474 0.961053 +0.961053 0.957263 0.957895 0.962316 0.974316 0.983592 0.984245 0.982939 +0.976842 0.963579 0.967368 0.98 0.982286 0.98098 0.981306 0.974316 +0.926947 0.815158 0.668 0.550526 0.48296 0.433733 0.412907 0.39776 +0.405333 0.411013 0.393973 0.358 0.331493 0.314453 0.299307 0.3012 +0.308773 0.304987 0.299307 0.29552 0.29552 0.308773 0.314453 0.304987 +0.291733 0.304987 0.327707 0.371253 0.462133 0.511368 0.501263 0.469707 +0.506316 0.5 0.399653 0.344747 0.325813 0.31824 0.30688 0.297413 +0.31256 0.31824 0.327707 0.388293 0.47728 0.450773 0.36368 0.333387 +0.337173 0.371253 0.435627 0.47728 0.422373 0.327707 0.287947 0.30688 +0.3296 0.314453 0.304987 0.30688 0.30688 0.297413 0.287947 0.286053 +0.280373 0.28984 0.297413 0.304987 0.308773 0.322027 0.36936 0.382613 +0.337173 0.331493 0.339067 0.34664 0.356107 0.359893 0.358 0.35232 +0.339067 0.333387 0.35232 0.37504 0.38072 0.378827 0.359893 0.33528 +0.31824 0.31824 0.339067 0.358 0.356107 0.348533 0.344747 0.36936 +0.388293 0.35232 0.333387 0.3296 0.320133 0.333387 0.344747 0.327707 +0.32392 0.314453 0.308773 0.322027 0.339067 0.371253 0.361787 0.3296 +0.316347 0.30688 0.325813 0.378827 0.428053 0.418587 0.367467 0.337173 +0.31824 0.308773 0.320133 0.325813 0.322027 0.333387 0.339067 0.350427 +0.354213 0.38072 0.390187 0.384507 0.395867 0.433733 0.520211 0.524 +0.46024 0.395867 0.359893 0.359893 0.356107 0.342853 0.350427 0.359893 +0.356107 0.365573 0.36936 0.38072 0.36936 0.395867 0.532842 0.659158 +0.806947 0.915579 0.969895 0.994041 1.00971 1.01984 1.02931 1.03747 +1.04204 1.04563 1.0502 1.05118 1.05118 1.05216 1.04988 1.04759 +1.04792 1.04857 1.04629 1.04073 1.03453 1.0329 1.02735 1.02506 +1.02343 1.01951 1.01886 1.02082 1.02114 1.02245 1.02278 1.02376 +1.02571 1.02865 1.03127 1.03224 1.03355 1.03224 1.03257 1.03355 +1.03388 1.03257 1.03616 1.03747 1.03453 1.03714 1.03878 1.03714 +1.04073 1.03845 1.04041 1.04531 1.04759 1.04433 1.04465 1.04531 +1.04171 1.04563 1.04433 1.04041 1.03976 1.04041 1.0391 1.03747 +1.03682 1.04008 1.03878 1.03322 1.0342 1.0378 1.04041 1.03486 +1.03224 1.03224 1.03714 1.03747 1.03747 1.04139 1.04204 1.04139 +1.04073 1.04171 1.04629 1.04922 1.04857 1.04759 1.04824 1.04629 +1.04563 1.04629 1.04661 1.04792 1.04694 1.04433 1.04073 1.04008 +1.03976 1.04139 1.04302 1.04661 1.04824 1.04759 1.04302 1.03584 +1.03616 1.0391 1.0378 1.03061 1.02571 1.02278 1.02408 1.02963 +1.03257 1.02996 1.02376 1.00286 0.942737 0.846105 0.781053 0.761474 +0.755158 0.745053 0.729263 0.709684 0.689474 0.637684 0.566316 0.514526 +0.464027 0.42048 0.407227 0.405333 0.40344 0.446987 0.486747 0.445093 +0.399653 0.384507 0.390187 0.39208 0.39776 0.39776 0.376933 0.354213 +0.34664 0.354213 0.356107 0.371253 0.39776 0.38072 0.365573 0.373147 +0.384507 0.405333 0.395867 0.388293 0.405333 0.416693 0.418587 0.40912 +0.40344 0.407227 0.376933 0.350427 0.358 0.36936 0.393973 0.416693 +0.393973 0.34664 0.344747 0.384507 0.407227 0.40912 0.4148 0.43184 +0.411013 0.35232 0.31824 0.308773 0.331493 0.34664 0.344747 0.33528 +0.320133 0.342853 0.422373 0.439413 0.376933 0.350427 0.384507 0.3864 +0.34096 0.327707 0.358 0.40344 0.407227 0.354213 0.327707 0.333387 +0.382613 0.439413 0.43184 0.39208 0.38072 0.373147 0.371253 0.390187 +0.401547 0.418587 0.464027 0.56 0.731789 0.921263 1.00416 1.02865 +1.04204 1.05804 1.09652 1.04204 1.00939 1.00351 1.00678 1.01004 +1.01102 1.00971 1.012 1.01298 1.01233 1.01527 1.01331 1.01363 +1.01461 1.01722 1.01527 1.01331 1.01494 1.01592 1.01527 1.00678 +0.994041 1.00122 1.00939 1.01004 1.0058 0.992735 0.975579 0.962947 +0.956632 0.951579 0.951579 0.946526 0.954105 0.982286 0.971158 0.803789 +0.571368 0.348533 0.308773 0.3296 0.270907 0.000966667 0.000853333 0.000826667 +0.000833333 0.000813333 0.0008 0.00078 0.000733333 0.00072 0.00072 0.00068 +0.000693333 0.000713333 0.000726667 0.00076 0.000693333 0.000713333 0.00072 0.000706667 +0.0007 0.000713333 0.000713333 0.000713333 0.000726667 0.00074 0.000726667 0.000706667 +0.0007 0.000713333 0.00074 0.000733333 0.000726667 0.000706667 0.000693333 0.000686667 +0.000706667 0.000726667 0.00072 0.0007 0.00072 0.000733333 0.000713333 0.000706667 +0.000706667 0.0007 0.000713333 0.000726667 0.000713333 0.00072 0.000713333 0.000713333 +0.00072 0.00074 0.000773333 0.000773333 0.00078 0.00078 0.000773333 0.0008 +0.000813333 0.000826667 0.00098 0.291733 0.30688 0.236827 0.0009 0.219787 +0.358 0.592842 0.832842 0.982286 0.980653 0.950947 0.944 0.949684 +0.956 0.954105 0.959158 0.964211 0.957263 0.952211 0.954105 0.960421 +0.954737 0.950947 0.954737 0.960421 0.967368 0.976842 0.975579 0.977474 +0.974947 0.964842 0.973053 0.981959 0.981633 0.975579 0.974316 0.968632 +0.925053 0.820842 0.676842 0.552421 0.473493 0.42616 0.395867 0.358 +0.339067 0.358 0.384507 0.36368 0.331493 0.316347 0.30688 0.308773 +0.320133 0.320133 0.304987 0.304987 0.310667 0.314453 0.314453 0.3012 +0.293627 0.30688 0.32392 0.367467 0.486747 0.544842 0.560632 0.548 +0.532211 0.481067 0.356107 0.310667 0.299307 0.303093 0.303093 0.30688 +0.3296 0.337173 0.356107 0.446987 0.501263 0.411013 0.325813 0.31824 +0.320133 0.34664 0.433733 0.507579 0.48296 0.373147 0.322027 0.373147 +0.433733 0.39776 0.339067 0.31824 0.310667 0.30688 0.310667 0.310667 +0.303093 0.304987 0.299307 0.3012 0.31256 0.35232 0.399653 0.378827 +0.331493 0.322027 0.33528 0.344747 0.36936 0.399653 0.393973 0.36936 +0.34664 0.331493 0.35232 0.38072 0.40912 0.405333 0.371253 0.327707 +0.316347 0.320133 0.325813 0.339067 0.35232 0.34096 0.3296 0.337173 +0.34664 0.327707 0.325813 0.342853 0.35232 0.371253 0.399653 0.40344 +0.376933 0.337173 0.314453 0.322027 0.325813 0.339067 0.333387 0.316347 +0.291733 0.291733 0.320133 0.337173 0.350427 0.388293 0.373147 0.3296 +0.310667 0.30688 0.31824 0.320133 0.31824 0.339067 0.337173 0.339067 +0.33528 0.361787 0.390187 0.388293 0.39776 0.452667 0.541053 0.549263 +0.496213 0.411013 0.376933 0.359893 0.342853 0.339067 0.354213 0.367467 +0.378827 0.390187 0.3864 0.376933 0.367467 0.344747 0.3864 0.515158 +0.633263 0.785474 0.894737 0.962316 0.990449 1.0022 1.01265 1.02147 +1.02996 1.03976 1.04596 1.0489 1.05053 1.05151 1.04922 1.0489 +1.04759 1.04596 1.04237 1.03714 1.02996 1.02571 1.0218 1.01886 +1.01755 1.01494 1.01461 1.01886 1.02245 1.02408 1.02539 1.02637 +1.02963 1.03192 1.03192 1.03127 1.03322 1.03355 1.03453 1.03388 +1.03551 1.03616 1.03878 1.04008 1.03486 1.03682 1.03878 1.03812 +1.04008 1.03812 1.04073 1.04629 1.04661 1.044 1.04727 1.04694 +1.04367 1.04629 1.04335 1.04204 1.04204 1.04139 1.03812 1.03845 +1.03845 1.04041 1.04041 1.03388 1.03192 1.0378 1.0378 1.03192 +1.03061 1.0329 1.03486 1.0342 1.0378 1.03943 1.0391 1.03943 +1.03878 1.03812 1.04563 1.04857 1.04661 1.04661 1.04857 1.04824 +1.04759 1.04727 1.04531 1.04531 1.04531 1.04302 1.04139 1.03943 +1.0391 1.04269 1.04106 1.04302 1.04531 1.04596 1.04433 1.0391 +1.03682 1.03649 1.03518 1.03029 1.02637 1.02539 1.02865 1.03649 +1.03682 1.02767 1.00612 0.943368 0.841053 0.779158 0.759579 0.753895 +0.744421 0.736211 0.723579 0.697684 0.655368 0.584 0.536 0.516421 +0.45456 0.401547 0.412907 0.418587 0.43184 0.458347 0.473493 0.43752 +0.411013 0.395867 0.405333 0.418587 0.429947 0.405333 0.373147 0.361787 +0.356107 0.359893 0.376933 0.395867 0.411013 0.390187 0.371253 0.371253 +0.376933 0.40912 0.40344 0.376933 0.376933 0.373147 0.36936 0.359893 +0.348533 0.36368 0.358 0.337173 0.348533 0.350427 0.36368 0.38072 +0.361787 0.320133 0.314453 0.354213 0.378827 0.36936 0.371253 0.388293 +0.38072 0.34096 0.316347 0.308773 0.331493 0.333387 0.337173 0.342853 +0.337173 0.33528 0.367467 0.384507 0.356107 0.34664 0.3864 0.39208 +0.358 0.339067 0.34664 0.365573 0.34664 0.32392 0.331493 0.34096 +0.358 0.407227 0.452667 0.464027 0.456453 0.418587 0.388293 0.384507 +0.382613 0.416693 0.481067 0.567579 0.742526 0.923158 0.999918 1.02049 +1.0342 1.05053 1.05576 1.03061 1.00776 1.00351 1.0058 1.00939 +1.01069 1.00873 1.01004 1.01298 1.01298 1.01722 1.01396 1.01265 +1.01527 1.01559 1.01494 1.01657 1.01788 1.01592 1.01559 1.0058 +0.990449 0.997959 1.01037 1.01069 1.00645 0.99698 0.98098 0.962947 +0.957263 0.950316 0.949053 0.944 0.947158 0.974947 0.984571 0.871368 +0.638316 0.416693 0.28984 0.310667 0.30688 0.270907 0.225467 0.000873333 +0.000806667 0.00078 0.000746667 0.000753333 0.00072 0.0007 0.00072 0.000706667 +0.000693333 0.0007 0.000706667 0.000733333 0.000713333 0.00072 0.000713333 0.000693333 +0.000686667 0.000686667 0.0007 0.000713333 0.000726667 0.000746667 0.000753333 0.000733333 +0.000713333 0.000713333 0.000726667 0.000706667 0.000686667 0.000693333 0.000693333 0.00068 +0.00068 0.000706667 0.00072 0.0007 0.0007 0.00072 0.000713333 0.0007 +0.00072 0.00072 0.0007 0.000693333 0.0007 0.000706667 0.00072 0.000726667 +0.000746667 0.00076 0.00076 0.00076 0.00078 0.00078 0.00078 0.000793333 +0.0008 0.000813333 0.000946667 0.28416 0.316347 0.246293 0.000933333 0.248187 +0.433733 0.654105 0.894737 0.98751 0.971158 0.948421 0.947789 0.954737 +0.959158 0.957263 0.960421 0.961684 0.956 0.953474 0.957263 0.958526 +0.952211 0.949053 0.955368 0.958526 0.965474 0.968632 0.967368 0.967368 +0.968 0.964211 0.973053 0.981633 0.983918 0.982286 0.978737 0.968 +0.922526 0.824632 0.688211 0.558105 0.473493 0.416693 0.38072 0.350427 +0.354213 0.390187 0.40344 0.36936 0.348533 0.3296 0.310667 0.304987 +0.333387 0.348533 0.325813 0.308773 0.30688 0.310667 0.322027 0.31824 +0.310667 0.316347 0.325813 0.359893 0.43184 0.506316 0.544211 0.571368 +0.554947 0.498107 0.356107 0.303093 0.291733 0.299307 0.310667 0.325813 +0.331493 0.333387 0.359893 0.441307 0.46024 0.371253 0.325813 0.33528 +0.350427 0.376933 0.481067 0.532842 0.520211 0.418587 0.344747 0.388293 +0.467813 0.450773 0.36936 0.32392 0.310667 0.30688 0.314453 0.3296 +0.322027 0.31256 0.3012 0.30688 0.316347 0.356107 0.38072 0.358 +0.320133 0.303093 0.308773 0.339067 0.3864 0.445093 0.452667 0.399653 +0.350427 0.333387 0.344747 0.388293 0.46024 0.4716 0.40912 0.34664 +0.322027 0.325813 0.322027 0.339067 0.34096 0.325813 0.320133 0.31256 +0.308773 0.314453 0.333387 0.342853 0.34664 0.358 0.395867 0.456453 +0.473493 0.411013 0.342853 0.31824 0.333387 0.337173 0.32392 0.31256 +0.297413 0.303093 0.337173 0.34664 0.358 0.38072 0.373147 0.33528 +0.320133 0.31824 0.32392 0.325813 0.32392 0.331493 0.33528 0.331493 +0.3296 0.327707 0.350427 0.395867 0.401547 0.435627 0.531579 0.545474 +0.500632 0.411013 0.37504 0.359893 0.344747 0.337173 0.342853 0.36368 +0.395867 0.39776 0.376933 0.36368 0.37504 0.365573 0.361787 0.3864 +0.503158 0.608632 0.745053 0.863158 0.933895 0.978105 0.996 1.00514 +1.01396 1.02473 1.03159 1.03812 1.04269 1.04563 1.04596 1.04531 +1.04269 1.03976 1.03649 1.0329 1.02343 1.01722 1.01527 1.01298 +1.01265 1.01135 1.01233 1.0169 1.02212 1.02408 1.02539 1.02702 +1.03094 1.03192 1.03061 1.03094 1.03322 1.03486 1.03486 1.03159 +1.03192 1.03682 1.03812 1.04139 1.03747 1.03714 1.03812 1.03747 +1.0378 1.04106 1.04106 1.04302 1.04433 1.04106 1.04498 1.04759 +1.04629 1.04498 1.04269 1.04302 1.04237 1.04008 1.0378 1.0378 +1.03812 1.04008 1.04073 1.03714 1.03518 1.03649 1.0342 1.03029 +1.03127 1.03486 1.03192 1.03257 1.03714 1.03649 1.03682 1.0391 +1.04041 1.04041 1.04433 1.04596 1.04465 1.04661 1.04922 1.0489 +1.0489 1.04694 1.04237 1.04367 1.04465 1.04335 1.04106 1.03812 +1.03878 1.04237 1.04073 1.04106 1.04139 1.04335 1.044 1.04041 +1.03714 1.03127 1.02931 1.03029 1.02996 1.03355 1.03714 1.03943 +1.03388 1.00971 0.944 0.836 0.774737 0.755789 0.752632 0.748842 +0.742526 0.728632 0.710947 0.678737 0.616211 0.551789 0.530316 0.525263 +0.47728 0.40912 0.40912 0.411013 0.407227 0.401547 0.424267 0.45456 +0.446987 0.435627 0.446987 0.43184 0.43184 0.42048 0.38072 0.365573 +0.36936 0.36368 0.373147 0.388293 0.395867 0.395867 0.39208 0.382613 +0.37504 0.39776 0.39776 0.373147 0.361787 0.359893 0.361787 0.35232 +0.33528 0.350427 0.359893 0.339067 0.342853 0.344747 0.344747 0.350427 +0.350427 0.325813 0.310667 0.3296 0.337173 0.33528 0.331493 0.327707 +0.3296 0.325813 0.320133 0.310667 0.32392 0.3296 0.33528 0.339067 +0.34096 0.3296 0.3296 0.339067 0.34664 0.34664 0.367467 0.36368 +0.35232 0.348533 0.350427 0.356107 0.33528 0.32392 0.33528 0.350427 +0.356107 0.378827 0.43184 0.48296 0.48296 0.433733 0.40344 0.393973 +0.376933 0.40344 0.479173 0.574526 0.751368 0.921895 0.993714 1.01298 +1.02865 1.04498 1.04204 1.0169 1.00482 1.00547 1.0058 1.00841 +1.00939 1.00939 1.00971 1.01265 1.01265 1.0169 1.01624 1.01461 +1.0169 1.01559 1.01265 1.01494 1.01527 1.01494 1.01461 1.00514 +0.991102 0.996327 1.00906 1.01102 1.00776 0.998939 0.981306 0.962947 +0.963579 0.957895 0.949684 0.943368 0.941474 0.963579 0.986857 0.925684 +0.709053 0.509474 0.299307 0.276587 0.3012 0.308773 0.269013 0.000973333 +0.000853333 0.00086 0.000786667 0.00076 0.000726667 0.000726667 0.000733333 0.000706667 +0.00066 0.00068 0.000726667 0.000746667 0.00072 0.000726667 0.000726667 0.000733333 +0.00074 0.000733333 0.0007 0.0007 0.000713333 0.000713333 0.000713333 0.000706667 +0.000706667 0.0007 0.000706667 0.000713333 0.000706667 0.000726667 0.000733333 0.00072 +0.0007 0.000693333 0.000713333 0.000726667 0.000733333 0.000726667 0.00072 0.0007 +0.000726667 0.000733333 0.000726667 0.00072 0.00072 0.000733333 0.000733333 0.000726667 +0.000753333 0.00076 0.000753333 0.000746667 0.000773333 0.0008 0.000806667 0.0008 +0.00078 0.000793333 0.000906667 0.274693 0.32392 0.257653 0.216 0.28984 +0.514526 0.723579 0.941474 0.985878 0.959158 0.945263 0.947789 0.959789 +0.965474 0.961684 0.962316 0.959158 0.953474 0.954105 0.958526 0.958526 +0.952842 0.954737 0.960421 0.964211 0.964211 0.964211 0.964211 0.962947 +0.966105 0.966737 0.971789 0.980653 0.985551 0.986531 0.982286 0.969895 +0.92379 0.830947 0.697053 0.563789 0.473493 0.405333 0.382613 0.376933 +0.40912 0.424267 0.39208 0.367467 0.36936 0.350427 0.32392 0.308773 +0.33528 0.354213 0.337173 0.310667 0.299307 0.31256 0.331493 0.331493 +0.3296 0.339067 0.350427 0.378827 0.39776 0.390187 0.47728 0.538526 +0.542947 0.503158 0.390187 0.34096 0.333387 0.331493 0.342853 0.35232 +0.33528 0.316347 0.333387 0.38072 0.395867 0.342853 0.322027 0.34664 +0.38072 0.393973 0.435627 0.507579 0.513895 0.450773 0.356107 0.331493 +0.36936 0.382613 0.34096 0.314453 0.32392 0.320133 0.314453 0.310667 +0.316347 0.320133 0.308773 0.308773 0.30688 0.31824 0.333387 0.320133 +0.304987 0.3012 0.308773 0.333387 0.356107 0.393973 0.435627 0.450773 +0.40344 0.358 0.34664 0.36936 0.43752 0.48296 0.428053 0.358 +0.337173 0.33528 0.350427 0.378827 0.354213 0.322027 0.320133 0.320133 +0.322027 0.354213 0.36936 0.354213 0.342853 0.34096 0.367467 0.42616 +0.498107 0.513263 0.501263 0.4148 0.367467 0.35232 0.337173 0.316347 +0.310667 0.331493 0.361787 0.38072 0.399653 0.388293 0.365573 0.350427 +0.339067 0.337173 0.333387 0.3296 0.327707 0.322027 0.32392 0.33528 +0.34096 0.33528 0.358 0.39776 0.399653 0.412907 0.511368 0.519579 +0.450773 0.382613 0.361787 0.367467 0.371253 0.36936 0.38072 0.390187 +0.399653 0.382613 0.359893 0.356107 0.38072 0.39208 0.36936 0.37504 +0.3864 0.456453 0.56 0.681263 0.803158 0.897263 0.961053 0.987837 +0.997306 1.0058 1.012 1.01788 1.02376 1.03029 1.03486 1.03224 +1.02735 1.02539 1.0231 1.02049 1.01298 1.00678 1.00547 1.0058 +1.00743 1.0058 1.00906 1.01494 1.02049 1.02343 1.02473 1.02637 +1.03029 1.03094 1.03029 1.03094 1.03355 1.03453 1.03322 1.03257 +1.0329 1.03584 1.03551 1.03812 1.03845 1.03812 1.03943 1.04008 +1.03616 1.04008 1.04204 1.04237 1.04367 1.04139 1.04237 1.04465 +1.04759 1.04367 1.04237 1.04433 1.04237 1.03943 1.0391 1.03812 +1.03747 1.03943 1.04073 1.0378 1.0378 1.03747 1.03355 1.03257 +1.03159 1.03322 1.03029 1.03192 1.03355 1.03388 1.03551 1.03812 +1.04171 1.04269 1.04204 1.04171 1.04465 1.04792 1.04792 1.04629 +1.04596 1.04367 1.04171 1.04106 1.04139 1.04171 1.0391 1.03649 +1.03682 1.0378 1.03649 1.0342 1.0329 1.0342 1.03518 1.03388 +1.02963 1.02343 1.02408 1.03094 1.03551 1.04008 1.04204 1.03584 +1.00971 0.945895 0.839158 0.770316 0.755158 0.753895 0.750737 0.745053 +0.738105 0.727368 0.700842 0.645895 0.579579 0.542316 0.529684 0.524632 +0.498107 0.411013 0.399653 0.395867 0.373147 0.359893 0.39208 0.456453 +0.475387 0.464027 0.44888 0.40912 0.395867 0.411013 0.390187 0.365573 +0.367467 0.359893 0.358 0.359893 0.367467 0.384507 0.3864 0.376933 +0.37504 0.382613 0.384507 0.367467 0.354213 0.367467 0.37504 0.358 +0.33528 0.337173 0.356107 0.356107 0.344747 0.344747 0.344747 0.3296 +0.327707 0.32392 0.310667 0.327707 0.339067 0.339067 0.33528 0.320133 +0.322027 0.322027 0.32392 0.314453 0.316347 0.34664 0.361787 0.344747 +0.33528 0.3296 0.331493 0.348533 0.348533 0.34664 0.356107 0.348533 +0.348533 0.36368 0.371253 0.359893 0.325813 0.316347 0.32392 0.337173 +0.367467 0.393973 0.39776 0.4148 0.42616 0.435627 0.446987 0.43184 +0.390187 0.390187 0.462133 0.577684 0.763368 0.925053 0.98751 1.00286 +1.0182 1.03257 1.02735 1.00612 1.00024 1.00416 1.00612 1.01004 +1.01004 1.00971 1.00808 1.01233 1.01363 1.01624 1.01559 1.01265 +1.01527 1.01559 1.01331 1.01363 1.01396 1.01559 1.01527 1.00678 +0.993714 0.994694 1.0058 1.01004 1.00808 0.999592 0.982612 0.962316 +0.963579 0.959789 0.950947 0.944 0.941474 0.953474 0.983592 0.961684 +0.779158 0.557474 0.31824 0.234933 0.25576 0.28984 0.291733 0.26144 +0.22168 0.00092 0.00082 0.000766667 0.000733333 0.000733333 0.000706667 0.000713333 +0.000706667 0.00072 0.000713333 0.000726667 0.00072 0.000713333 0.000713333 0.000706667 +0.000726667 0.000753333 0.000746667 0.000753333 0.000733333 0.00072 0.000706667 0.0007 +0.0007 0.000673333 0.000673333 0.000713333 0.000733333 0.00072 0.000733333 0.000766667 +0.000733333 0.00072 0.000706667 0.000726667 0.000726667 0.0007 0.000726667 0.000713333 +0.000713333 0.000713333 0.000713333 0.00072 0.000706667 0.000713333 0.000733333 0.000733333 +0.000746667 0.00076 0.000753333 0.000746667 0.000753333 0.000773333 0.000786667 0.000793333 +0.000806667 0.000846667 0.000973333 0.297413 0.342853 0.26712 0.22736 0.333387 +0.562526 0.796842 0.974947 0.982612 0.952842 0.944632 0.949053 0.960421 +0.963579 0.961053 0.961684 0.956 0.953474 0.955368 0.962947 0.964842 +0.961684 0.966737 0.969895 0.973684 0.973684 0.973053 0.970526 0.964211 +0.963579 0.969263 0.978105 0.984245 0.986531 0.985551 0.98098 0.966105 +0.920632 0.827789 0.690105 0.56 0.475387 0.405333 0.395867 0.42048 +0.446987 0.424267 0.373147 0.36368 0.367467 0.34664 0.3296 0.31256 +0.314453 0.320133 0.316347 0.304987 0.3012 0.316347 0.337173 0.350427 +0.350427 0.354213 0.361787 0.378827 0.373147 0.348533 0.3864 0.484853 +0.518316 0.513895 0.475387 0.42048 0.388293 0.367467 0.367467 0.367467 +0.337173 0.31824 0.314453 0.34096 0.35232 0.32392 0.310667 0.3296 +0.354213 0.344747 0.342853 0.401547 0.498107 0.486747 0.376933 0.316347 +0.316347 0.320133 0.316347 0.3296 0.34096 0.322027 0.299307 0.29552 +0.31256 0.331493 0.331493 0.320133 0.308773 0.316347 0.32392 0.316347 +0.310667 0.314453 0.31824 0.32392 0.322027 0.333387 0.382613 0.464027 +0.458347 0.388293 0.350427 0.342853 0.36936 0.433733 0.433733 0.38072 +0.36368 0.358 0.37504 0.399653 0.36936 0.325813 0.322027 0.34096 +0.361787 0.390187 0.37504 0.350427 0.339067 0.337173 0.35232 0.358 +0.399653 0.507579 0.545474 0.532842 0.469707 0.371253 0.33528 0.316347 +0.320133 0.365573 0.405333 0.422373 0.422373 0.378827 0.348533 0.348533 +0.344747 0.344747 0.34664 0.342853 0.331493 0.331493 0.33528 0.344747 +0.34664 0.34096 0.344747 0.371253 0.382613 0.393973 0.48296 0.490533 +0.399653 0.361787 0.35232 0.36368 0.38072 0.4148 0.441307 0.412907 +0.3864 0.378827 0.36936 0.359893 0.388293 0.42616 0.39776 0.39208 +0.382613 0.36368 0.399653 0.518316 0.618737 0.737474 0.844211 0.919368 +0.963579 0.984571 0.994041 0.998612 1.00188 1.00547 1.00971 1.0071 +1.00416 1.00547 1.00384 1.00253 0.999918 0.996653 0.994367 0.996327 +1.00155 1.0009 1.00645 1.01363 1.01951 1.02473 1.02571 1.02441 +1.02963 1.03192 1.03127 1.03094 1.03257 1.03453 1.03388 1.03616 +1.03518 1.03355 1.03584 1.03747 1.03714 1.03812 1.03943 1.04139 +1.0378 1.03714 1.03878 1.04269 1.04269 1.04269 1.04269 1.04237 +1.04465 1.04204 1.04433 1.04531 1.04302 1.04041 1.03878 1.03714 +1.03878 1.04008 1.0378 1.03518 1.03616 1.03551 1.03453 1.03192 +1.03029 1.03029 1.02833 1.03094 1.03257 1.03257 1.0342 1.03551 +1.03976 1.04335 1.04302 1.04073 1.04465 1.04824 1.044 1.04041 +1.03976 1.03714 1.03812 1.03812 1.0342 1.03486 1.03453 1.03061 +1.03159 1.0329 1.03192 1.02604 1.02408 1.02343 1.02376 1.02571 +1.0231 1.02049 1.02506 1.03224 1.03747 1.04204 1.04139 1.01461 +0.934526 0.832211 0.777895 0.757684 0.756421 0.754526 0.749474 0.743789 +0.730526 0.713474 0.667368 0.590947 0.541053 0.517684 0.501263 0.505684 +0.501895 0.43184 0.393973 0.388293 0.373147 0.358 0.378827 0.42048 +0.452667 0.433733 0.395867 0.378827 0.39208 0.411013 0.393973 0.37504 +0.361787 0.35232 0.373147 0.373147 0.367467 0.38072 0.382613 0.36936 +0.36936 0.37504 0.373147 0.356107 0.34664 0.37504 0.399653 0.395867 +0.373147 0.342853 0.34096 0.358 0.358 0.34664 0.344747 0.33528 +0.31824 0.32392 0.32392 0.337173 0.344747 0.337173 0.333387 0.31824 +0.32392 0.331493 0.331493 0.314453 0.308773 0.344747 0.378827 0.36368 +0.344747 0.3296 0.337173 0.367467 0.373147 0.373147 0.376933 0.358 +0.33528 0.342853 0.359893 0.354213 0.322027 0.316347 0.337173 0.348533 +0.378827 0.411013 0.395867 0.376933 0.39208 0.433733 0.473493 0.450773 +0.401547 0.39208 0.473493 0.597263 0.790526 0.933263 0.980653 0.992735 +1.00514 1.01494 1.01102 1.00057 1.00122 1.00514 1.00547 1.00873 +1.01069 1.01331 1.012 1.01298 1.01363 1.01265 1.01298 1.01298 +1.01363 1.01429 1.01429 1.01396 1.01396 1.01592 1.01494 1.0071 +0.995673 0.993061 1.00253 1.00906 1.00873 1.00155 0.985224 0.966105 +0.960421 0.961053 0.956632 0.951579 0.947789 0.950947 0.978105 0.981959 +0.846737 0.611789 0.36368 0.223573 0.223573 0.259547 0.286053 0.299307 +0.270907 0.219787 0.00086 0.00076 0.000726667 0.000746667 0.000753333 0.00076 +0.00072 0.000706667 0.00068 0.000693333 0.000733333 0.000726667 0.00074 0.000733333 +0.000706667 0.0007 0.000693333 0.000706667 0.000706667 0.000713333 0.000726667 0.000746667 +0.00076 0.000726667 0.000693333 0.0007 0.000713333 0.000693333 0.000673333 0.000706667 +0.00072 0.00072 0.00072 0.000726667 0.000726667 0.000706667 0.000706667 0.000726667 +0.000706667 0.000693333 0.000706667 0.00072 0.000706667 0.0007 0.00072 0.000733333 +0.000733333 0.000773333 0.000786667 0.00076 0.000753333 0.000773333 0.000773333 0.000766667 +0.000773333 0.000806667 0.00096 0.304987 0.359893 0.28416 0.246293 0.388293 +0.622526 0.867579 0.986531 0.974947 0.949684 0.946526 0.954105 0.961053 +0.956632 0.955368 0.958526 0.955368 0.954105 0.959158 0.969263 0.974947 +0.976211 0.981633 0.981306 0.98098 0.98098 0.980653 0.976842 0.969263 +0.964842 0.968632 0.978105 0.984245 0.985878 0.984245 0.980327 0.966105 +0.919368 0.822737 0.680632 0.554316 0.469707 0.401547 0.4148 0.45456 +0.45456 0.405333 0.356107 0.33528 0.3296 0.32392 0.32392 0.31824 +0.30688 0.303093 0.30688 0.310667 0.304987 0.322027 0.356107 0.376933 +0.359893 0.337173 0.333387 0.342853 0.339067 0.33528 0.34664 0.39776 +0.48864 0.522737 0.527158 0.506316 0.43184 0.37504 0.350427 0.337173 +0.314453 0.304987 0.308773 0.325813 0.331493 0.310667 0.299307 0.304987 +0.310667 0.31256 0.322027 0.36936 0.47728 0.502526 0.39776 0.32392 +0.31824 0.34096 0.365573 0.393973 0.382613 0.333387 0.314453 0.304987 +0.308773 0.325813 0.35232 0.359893 0.34664 0.333387 0.327707 0.31824 +0.31824 0.316347 0.316347 0.314453 0.316347 0.327707 0.348533 0.393973 +0.428053 0.412907 0.38072 0.367467 0.382613 0.450773 0.501263 0.462133 +0.411013 0.38072 0.367467 0.367467 0.354213 0.33528 0.331493 0.337173 +0.354213 0.37504 0.339067 0.322027 0.331493 0.33528 0.344747 0.337173 +0.3296 0.382613 0.504421 0.535368 0.525895 0.458347 0.373147 0.34096 +0.344747 0.39208 0.45456 0.446987 0.40912 0.367467 0.344747 0.348533 +0.354213 0.34096 0.34664 0.348533 0.344747 0.348533 0.34096 0.34096 +0.339067 0.331493 0.327707 0.337173 0.356107 0.38072 0.439413 0.44888 +0.384507 0.365573 0.361787 0.358 0.373147 0.407227 0.435627 0.42048 +0.382613 0.3864 0.39776 0.378827 0.40912 0.46592 0.445093 0.412907 +0.38072 0.367467 0.367467 0.390187 0.484853 0.561263 0.655368 0.759579 +0.849895 0.916842 0.962316 0.98 0.982939 0.985224 0.988816 0.990122 +0.988163 0.987837 0.986857 0.987837 0.989143 0.989796 0.988816 0.989469 +0.996327 0.999265 1.00514 1.01135 1.01624 1.02408 1.02604 1.0231 +1.02898 1.03322 1.03257 1.03159 1.0329 1.03355 1.03322 1.03714 +1.03322 1.02963 1.03747 1.04041 1.03551 1.03845 1.0391 1.04008 +1.03943 1.03812 1.0378 1.04171 1.04041 1.04269 1.04465 1.04335 +1.04139 1.04171 1.04661 1.04531 1.04433 1.04302 1.0391 1.03747 +1.03943 1.03976 1.03584 1.03551 1.03551 1.03551 1.03355 1.02963 +1.02865 1.03029 1.02996 1.02996 1.03094 1.03224 1.03518 1.03616 +1.03845 1.04269 1.04237 1.04106 1.04498 1.04694 1.04367 1.03747 +1.0342 1.03061 1.02963 1.03094 1.03061 1.03159 1.02963 1.02669 +1.02963 1.02931 1.02571 1.02278 1.02114 1.01755 1.0182 1.0218 +1.02539 1.02604 1.02833 1.02996 1.03192 1.03649 1.02147 0.951579 +0.828421 0.770947 0.757684 0.755789 0.759579 0.757053 0.749474 0.741895 +0.717263 0.665474 0.590947 0.529684 0.504421 0.467813 0.424267 0.45456 +0.501895 0.496213 0.450773 0.412907 0.3864 0.371253 0.39208 0.39776 +0.399653 0.399653 0.382613 0.376933 0.39208 0.407227 0.401547 0.3864 +0.384507 0.38072 0.384507 0.384507 0.371253 0.371253 0.390187 0.378827 +0.367467 0.371253 0.373147 0.371253 0.358 0.361787 0.376933 0.395867 +0.395867 0.361787 0.33528 0.342853 0.348533 0.34096 0.344747 0.361787 +0.35232 0.339067 0.3296 0.33528 0.339067 0.33528 0.339067 0.32392 +0.3296 0.339067 0.33528 0.327707 0.327707 0.35232 0.371253 0.354213 +0.34096 0.34096 0.358 0.382613 0.384507 0.376933 0.36936 0.361787 +0.34664 0.33528 0.34096 0.339067 0.325813 0.320133 0.350427 0.36936 +0.38072 0.388293 0.378827 0.384507 0.399653 0.439413 0.467813 0.450773 +0.424267 0.412907 0.501263 0.619368 0.814526 0.939579 0.972421 0.982939 +0.992408 0.999265 0.997306 0.998286 1.00286 1.0058 1.00776 1.00939 +1.01167 1.01331 1.01331 1.01167 1.01135 1.01037 1.01298 1.01624 +1.01559 1.01527 1.01527 1.01396 1.01461 1.01657 1.01494 1.00841 +0.99698 0.989796 0.997959 1.00612 1.00873 1.00482 0.990449 0.975579 +0.969895 0.968 0.961053 0.950947 0.944 0.947158 0.969263 0.987184 +0.908 0.679368 0.462133 0.240613 0.000926667 0.000966667 0.23872 0.280373 +0.29552 0.26712 0.000993333 0.000846667 0.00074 0.000706667 0.000686667 0.0007 +0.000686667 0.0007 0.000693333 0.00076 0.00074 0.000726667 0.000726667 0.000726667 +0.000733333 0.000726667 0.00072 0.000726667 0.000706667 0.000693333 0.000693333 0.00068 +0.000706667 0.000733333 0.000713333 0.000706667 0.000733333 0.00074 0.000706667 0.000706667 +0.0007 0.000686667 0.00068 0.000686667 0.000713333 0.000733333 0.000726667 0.000733333 +0.000726667 0.000713333 0.000733333 0.000746667 0.000746667 0.000733333 0.000733333 0.000746667 +0.00074 0.000766667 0.000786667 0.000773333 0.00076 0.00078 0.000786667 0.000766667 +0.000766667 0.0008 0.00092 0.286053 0.34664 0.282267 0.263333 0.475387 +0.692632 0.925053 0.98849 0.963579 0.945895 0.945263 0.952211 0.954737 +0.950947 0.952842 0.957895 0.957263 0.958526 0.966105 0.98 0.985224 +0.98849 0.992408 0.990776 0.984898 0.983265 0.982286 0.981633 0.978737 +0.969895 0.969263 0.978737 0.985878 0.986857 0.986204 0.981633 0.964842 +0.918105 0.824632 0.683158 0.556842 0.4716 0.40344 0.40344 0.416693 +0.401547 0.373147 0.34664 0.327707 0.322027 0.31824 0.320133 0.320133 +0.31256 0.310667 0.30688 0.310667 0.31256 0.32392 0.358 0.388293 +0.36368 0.320133 0.308773 0.314453 0.320133 0.331493 0.333387 0.356107 +0.422373 0.512 0.546737 0.546737 0.513263 0.429947 0.358 0.320133 +0.304987 0.30688 0.308773 0.310667 0.322027 0.314453 0.304987 0.304987 +0.303093 0.30688 0.320133 0.354213 0.467813 0.511368 0.44888 0.365573 +0.367467 0.40912 0.433733 0.429947 0.40912 0.382613 0.356107 0.331493 +0.308773 0.297413 0.32392 0.37504 0.412907 0.418587 0.39776 0.36368 +0.339067 0.316347 0.316347 0.32392 0.34096 0.35232 0.350427 0.356107 +0.39208 0.445093 0.46024 0.445093 0.429947 0.4432 0.501895 0.500632 +0.424267 0.371253 0.342853 0.331493 0.322027 0.3296 0.344747 0.33528 +0.348533 0.35232 0.333387 0.327707 0.337173 0.339067 0.344747 0.339067 +0.331493 0.3296 0.359893 0.450773 0.521474 0.527789 0.501895 0.42048 +0.399653 0.452667 0.503158 0.469707 0.390187 0.359893 0.348533 0.344747 +0.34664 0.337173 0.34096 0.333387 0.339067 0.358 0.344747 0.34096 +0.34664 0.348533 0.331493 0.331493 0.34096 0.34096 0.388293 0.416693 +0.3864 0.38072 0.359893 0.35232 0.367467 0.39208 0.416693 0.42048 +0.388293 0.384507 0.399653 0.401547 0.42616 0.5 0.48864 0.42048 +0.37504 0.365573 0.365573 0.373147 0.388293 0.43184 0.513895 0.581474 +0.673684 0.781684 0.877053 0.932632 0.959158 0.969263 0.978737 0.983265 +0.978737 0.969263 0.968 0.973684 0.98098 0.983265 0.985224 0.986857 +0.992408 0.997633 1.00318 1.0071 1.01135 1.01951 1.02376 1.02212 +1.02702 1.03094 1.03192 1.03257 1.03518 1.03486 1.03159 1.03682 +1.03453 1.02931 1.03714 1.04073 1.0378 1.04106 1.03878 1.03812 +1.03976 1.03845 1.03845 1.04139 1.03943 1.04335 1.04629 1.04367 +1.04204 1.04433 1.04694 1.04367 1.04465 1.04433 1.03943 1.04073 +1.04041 1.0391 1.03682 1.03682 1.03584 1.03355 1.03061 1.028 +1.02898 1.03061 1.02767 1.02702 1.02996 1.03192 1.03355 1.03812 +1.04041 1.04367 1.04204 1.04139 1.04335 1.04204 1.04204 1.03747 +1.03355 1.03061 1.02735 1.02865 1.03127 1.03257 1.02996 1.02963 +1.03486 1.03127 1.0231 1.02408 1.0231 1.01592 1.01461 1.01984 +1.02833 1.03127 1.02833 1.02571 1.02669 1.02082 0.978105 0.855579 +0.784842 0.772842 0.770947 0.767789 0.777263 0.769684 0.753895 0.736842 +0.689474 0.605474 0.532842 0.505053 0.484853 0.44888 0.42616 0.429947 +0.48296 0.515158 0.510737 0.464027 0.416693 0.39208 0.405333 0.399653 +0.371253 0.3864 0.40344 0.395867 0.39776 0.40344 0.401547 0.39208 +0.405333 0.424267 0.4148 0.399653 0.399653 0.399653 0.40912 0.407227 +0.393973 0.405333 0.407227 0.399653 0.3864 0.373147 0.373147 0.388293 +0.39208 0.38072 0.354213 0.358 0.361787 0.348533 0.350427 0.365573 +0.365573 0.361787 0.361787 0.359893 0.361787 0.361787 0.35232 0.342853 +0.34664 0.344747 0.33528 0.337173 0.35232 0.378827 0.39208 0.36368 +0.344747 0.35232 0.36936 0.376933 0.373147 0.365573 0.350427 0.342853 +0.350427 0.348533 0.344747 0.342853 0.342853 0.333387 0.342853 0.35232 +0.356107 0.359893 0.361787 0.3864 0.412907 0.446987 0.4716 0.450773 +0.43184 0.424267 0.512 0.642737 0.834737 0.947158 0.969895 0.968632 +0.977474 0.986531 0.989796 0.997633 1.00384 1.00612 1.00906 1.00971 +1.00841 1.00743 1.00971 1.01069 1.01265 1.01363 1.01363 1.01559 +1.01396 1.01363 1.01722 1.0182 1.01853 1.01592 1.01461 1.01069 +0.997633 0.98849 0.994367 1.00416 1.00873 1.0071 0.996 0.984245 +0.980653 0.975579 0.963579 0.949053 0.942737 0.945263 0.962316 0.98751 +0.950316 0.746316 0.527789 0.282267 0.000906667 0.000886667 0.000926667 0.22736 +0.276587 0.299307 0.263333 0.00092 0.00076 0.000693333 0.000693333 0.000693333 +0.000726667 0.00074 0.000726667 0.000753333 0.000733333 0.000713333 0.0007 0.000686667 +0.000693333 0.000706667 0.000713333 0.00074 0.000726667 0.000706667 0.0007 0.000693333 +0.0007 0.000726667 0.000713333 0.00068 0.000693333 0.000706667 0.00072 0.000746667 +0.000733333 0.00072 0.000713333 0.000706667 0.000693333 0.000686667 0.000686667 0.000706667 +0.000726667 0.000746667 0.000766667 0.000766667 0.00078 0.00076 0.000733333 0.000746667 +0.000726667 0.000746667 0.000786667 0.0008 0.000786667 0.000786667 0.000786667 0.00074 +0.00074 0.000806667 0.00092 0.28416 0.356107 0.29552 0.297413 0.532211 +0.760842 0.960421 0.984571 0.955368 0.944632 0.948421 0.952842 0.951579 +0.950316 0.954737 0.957895 0.958526 0.963579 0.979368 0.988163 0.996 +1.00122 1.00253 0.998286 0.991102 0.989143 0.988816 0.988816 0.987184 +0.981959 0.978105 0.981306 0.98751 0.98849 0.986204 0.981633 0.964842 +0.916842 0.822737 0.678105 0.552421 0.473493 0.40912 0.395867 0.384507 +0.36936 0.358 0.34096 0.33528 0.33528 0.337173 0.344747 0.34096 +0.322027 0.31256 0.304987 0.304987 0.314453 0.322027 0.356107 0.405333 +0.395867 0.33528 0.308773 0.308773 0.32392 0.348533 0.34664 0.34664 +0.384507 0.47728 0.537895 0.571368 0.566947 0.533474 0.467813 0.365573 +0.327707 0.322027 0.310667 0.304987 0.316347 0.31256 0.299307 0.29552 +0.293627 0.3012 0.30688 0.342853 0.458347 0.515789 0.475387 0.393973 +0.39208 0.40912 0.401547 0.373147 0.358 0.359893 0.350427 0.331493 +0.316347 0.297413 0.299307 0.350427 0.433733 0.503789 0.490533 0.395867 +0.339067 0.327707 0.333387 0.342853 0.358 0.37504 0.40344 0.418587 +0.445093 0.490533 0.498107 0.458347 0.407227 0.376933 0.412907 0.450773 +0.39776 0.333387 0.314453 0.31824 0.32392 0.34096 0.361787 0.356107 +0.361787 0.358 0.350427 0.348533 0.350427 0.356107 0.358 0.348533 +0.344747 0.34664 0.327707 0.339067 0.429947 0.523368 0.543579 0.517684 +0.5 0.518947 0.524632 0.49432 0.40344 0.36368 0.348533 0.33528 +0.333387 0.34096 0.34096 0.331493 0.339067 0.350427 0.35232 0.371253 +0.359893 0.34096 0.32392 0.331493 0.33528 0.32392 0.350427 0.384507 +0.384507 0.39776 0.39208 0.376933 0.376933 0.405333 0.422373 0.418587 +0.3864 0.361787 0.37504 0.405333 0.44888 0.505684 0.503158 0.441307 +0.39776 0.395867 0.395867 0.38072 0.373147 0.37504 0.382613 0.439413 +0.525895 0.613053 0.723579 0.826526 0.908 0.952211 0.971158 0.98 +0.968632 0.959158 0.956632 0.959789 0.968632 0.979368 0.983265 0.983918 +0.989796 0.99502 1.00188 1.00645 1.01233 1.02016 1.02408 1.02343 +1.02147 1.02473 1.02898 1.03224 1.03584 1.03584 1.03224 1.03649 +1.03845 1.03388 1.03747 1.0391 1.03878 1.04106 1.0378 1.03747 +1.04073 1.03845 1.03812 1.04106 1.04073 1.04433 1.04629 1.04269 +1.04237 1.04465 1.04498 1.04302 1.04237 1.04171 1.0378 1.04041 +1.04139 1.03878 1.0391 1.03682 1.03518 1.03453 1.03061 1.02767 +1.03159 1.02996 1.02604 1.02571 1.02963 1.03029 1.02931 1.0329 +1.03551 1.0378 1.0391 1.04041 1.04041 1.03518 1.03453 1.03127 +1.03159 1.02898 1.028 1.02963 1.03061 1.02963 1.02898 1.02963 +1.03061 1.02898 1.02539 1.02343 1.01951 1.01461 1.01069 1.01331 +1.02212 1.02865 1.028 1.02278 1.01102 0.984571 0.889684 0.803789 +0.772842 0.772211 0.774737 0.766526 0.770316 0.753263 0.728632 0.696421 +0.62 0.541053 0.505684 0.484853 0.46592 0.4432 0.43752 0.44888 +0.4716 0.490533 0.469707 0.429947 0.4148 0.40344 0.40344 0.40344 +0.382613 0.38072 0.39776 0.412907 0.424267 0.424267 0.42048 0.40344 +0.4148 0.441307 0.433733 0.401547 0.401547 0.418587 0.424267 0.429947 +0.424267 0.42048 0.429947 0.418587 0.401547 0.3864 0.3864 0.39208 +0.399653 0.40344 0.393973 0.3864 0.382613 0.371253 0.365573 0.365573 +0.376933 0.378827 0.3864 0.395867 0.388293 0.38072 0.367467 0.361787 +0.361787 0.35232 0.34096 0.344747 0.38072 0.42048 0.42048 0.382613 +0.361787 0.354213 0.359893 0.36368 0.367467 0.36936 0.361787 0.348533 +0.34096 0.35232 0.371253 0.367467 0.356107 0.35232 0.34664 0.342853 +0.348533 0.365573 0.37504 0.39208 0.399653 0.42048 0.458347 0.46024 +0.445093 0.4432 0.525895 0.669895 0.853053 0.944632 0.961053 0.957895 +0.960421 0.980327 0.987184 0.99698 1.00384 1.00482 1.00678 1.0071 +1.0071 1.00645 1.01004 1.012 1.01233 1.01461 1.01331 1.01331 +1.01135 1.01331 1.01755 1.01755 1.01951 1.01657 1.01527 1.01037 +0.997306 0.986204 0.991755 1.00482 1.00971 1.0071 0.998939 0.98751 +0.985224 0.982939 0.970526 0.954737 0.945263 0.947789 0.957895 0.981959 +0.971789 0.807579 0.575789 0.34096 0.000986667 0.000906667 0.00092 0.00092 +0.22168 0.274693 0.287947 0.229253 0.000833333 0.000766667 0.000773333 0.00078 +0.000753333 0.000726667 0.000686667 0.000693333 0.000726667 0.00072 0.00072 0.0007 +0.000686667 0.000693333 0.000706667 0.000706667 0.000706667 0.000713333 0.00072 0.000726667 +0.000726667 0.000726667 0.00074 0.00074 0.000726667 0.000713333 0.000713333 0.000726667 +0.000713333 0.0007 0.000706667 0.000746667 0.000753333 0.00074 0.000746667 0.000733333 +0.00072 0.000713333 0.000726667 0.00072 0.00074 0.000753333 0.00076 0.00078 +0.00076 0.00076 0.000786667 0.000793333 0.000773333 0.00078 0.000773333 0.000746667 +0.000766667 0.000813333 0.000913333 0.286053 0.367467 0.31824 0.358 0.584632 +0.828421 0.981306 0.979368 0.947789 0.938947 0.947158 0.952211 0.950947 +0.954737 0.961053 0.961053 0.962316 0.973684 0.987184 0.995347 1.00155 +1.00776 1.00808 1.00449 1.00057 0.998939 0.999918 0.997306 0.99502 +0.990122 0.983265 0.981959 0.985551 0.987184 0.984898 0.98 0.966105 +0.920632 0.821474 0.673684 0.553053 0.475387 0.401547 0.382613 0.37504 +0.36368 0.356107 0.342853 0.337173 0.339067 0.339067 0.342853 0.339067 +0.327707 0.3296 0.327707 0.322027 0.310667 0.314453 0.342853 0.395867 +0.428053 0.390187 0.35232 0.339067 0.33528 0.339067 0.337173 0.33528 +0.36368 0.42616 0.510105 0.553684 0.588421 0.596632 0.561895 0.506947 +0.40912 0.350427 0.31824 0.303093 0.304987 0.3012 0.286053 0.28416 +0.293627 0.308773 0.31824 0.350427 0.456453 0.513895 0.467813 0.36368 +0.337173 0.331493 0.322027 0.31256 0.299307 0.30688 0.320133 0.310667 +0.310667 0.308773 0.30688 0.32392 0.356107 0.411013 0.428053 0.37504 +0.331493 0.327707 0.333387 0.34664 0.36368 0.384507 0.422373 0.452667 +0.46592 0.48296 0.456453 0.39208 0.35232 0.344747 0.359893 0.390187 +0.371253 0.331493 0.314453 0.31256 0.327707 0.356107 0.38072 0.3864 +0.40344 0.393973 0.371253 0.367467 0.388293 0.405333 0.405333 0.38072 +0.35232 0.342853 0.320133 0.308773 0.350427 0.48296 0.545474 0.553053 +0.547368 0.561895 0.544842 0.48864 0.3864 0.350427 0.337173 0.337173 +0.339067 0.34664 0.350427 0.34664 0.34096 0.337173 0.354213 0.393973 +0.378827 0.3296 0.331493 0.344747 0.348533 0.3296 0.337173 0.373147 +0.378827 0.39776 0.412907 0.39776 0.393973 0.42048 0.45456 0.446987 +0.422373 0.3864 0.36936 0.390187 0.462133 0.505684 0.484853 0.45456 +0.42616 0.40912 0.401547 0.388293 0.367467 0.36936 0.371253 0.371253 +0.399653 0.500632 0.572 0.672421 0.805053 0.904211 0.937684 0.954105 +0.952842 0.952211 0.957895 0.960421 0.964842 0.973053 0.98098 0.98098 +0.986204 0.990776 0.997959 1.0058 1.01037 1.0169 1.02016 1.02212 +1.02049 1.02212 1.02408 1.02865 1.03192 1.03355 1.03518 1.03518 +1.03682 1.03682 1.04008 1.03878 1.03812 1.04041 1.03714 1.03747 +1.04041 1.03976 1.03845 1.03943 1.04073 1.04139 1.04335 1.04139 +1.04269 1.044 1.04498 1.04498 1.04139 1.03943 1.03812 1.04041 +1.04008 1.03714 1.03943 1.03649 1.0342 1.03649 1.0342 1.03029 +1.03061 1.02963 1.02702 1.02996 1.03192 1.02898 1.02571 1.02571 +1.02865 1.03061 1.03322 1.03714 1.03714 1.03257 1.02931 1.028 +1.03061 1.02669 1.02669 1.03224 1.03224 1.02767 1.028 1.02833 +1.02637 1.02735 1.02604 1.01984 1.01592 1.01494 1.01004 1.01004 +1.01657 1.02473 1.02604 1.01265 0.983592 0.915579 0.839789 0.789895 +0.773474 0.771579 0.772842 0.760211 0.752 0.732421 0.695158 0.631368 +0.541684 0.49432 0.496213 0.473493 0.45456 0.458347 0.45456 0.464027 +0.4716 0.450773 0.411013 0.39776 0.4148 0.424267 0.40912 0.416693 +0.416693 0.40344 0.40344 0.424267 0.43184 0.42616 0.433733 0.433733 +0.439413 0.439413 0.428053 0.412907 0.405333 0.422373 0.428053 0.428053 +0.428053 0.418587 0.418587 0.411013 0.39776 0.3864 0.38072 0.390187 +0.42048 0.43184 0.4148 0.393973 0.38072 0.376933 0.384507 0.384507 +0.390187 0.401547 0.407227 0.40912 0.39208 0.37504 0.36936 0.376933 +0.382613 0.373147 0.367467 0.376933 0.4148 0.441307 0.411013 0.376933 +0.373147 0.36368 0.348533 0.35232 0.36368 0.365573 0.371253 0.382613 +0.36936 0.356107 0.378827 0.367467 0.350427 0.354213 0.371253 0.36368 +0.367467 0.382613 0.393973 0.401547 0.395867 0.40344 0.433733 0.45456 +0.462133 0.4716 0.545474 0.704 0.873895 0.940211 0.948421 0.949684 +0.957895 0.975579 0.986204 0.99698 1.0022 1.00351 1.00743 1.00873 +1.01004 1.00906 1.00939 1.01004 1.01037 1.012 1.01167 1.01363 +1.01233 1.01233 1.01592 1.01527 1.01788 1.0182 1.01722 1.012 +0.999265 0.985878 0.98849 1.00253 1.00645 1.0058 1.00384 0.993714 +0.989469 0.986857 0.978737 0.960421 0.944 0.945263 0.954737 0.976211 +0.983265 0.863158 0.626316 0.395867 0.231147 0.00094 0.000966667 0.000973333 +0.00094 0.240613 0.3012 0.28984 0.000986667 0.000793333 0.000766667 0.000766667 +0.000733333 0.000686667 0.000686667 0.00068 0.000713333 0.000713333 0.000733333 0.00074 +0.000726667 0.000733333 0.000726667 0.0007 0.000706667 0.000733333 0.000733333 0.000726667 +0.000726667 0.000713333 0.000726667 0.00074 0.00074 0.000726667 0.00074 0.000753333 +0.000746667 0.00072 0.000693333 0.0007 0.000713333 0.000713333 0.000713333 0.000733333 +0.000733333 0.00072 0.000726667 0.000726667 0.00072 0.000726667 0.000746667 0.000773333 +0.000766667 0.000766667 0.000766667 0.000766667 0.000766667 0.000753333 0.000746667 0.000773333 +0.0008 0.00082 0.000913333 0.286053 0.365573 0.327707 0.4148 0.640842 +0.885895 0.98751 0.971789 0.944632 0.940211 0.948421 0.950947 0.949684 +0.956 0.962947 0.964211 0.971789 0.985551 0.99698 1.00351 1.0071 +1.01069 1.01004 1.00743 1.00645 1.0058 1.00645 1.00318 1.00188 +0.996 0.986204 0.983592 0.985224 0.985224 0.982612 0.980327 0.969263 +0.921895 0.813263 0.65979 0.548 0.479173 0.401547 0.38072 0.376933 +0.361787 0.348533 0.339067 0.339067 0.339067 0.34096 0.34096 0.331493 +0.333387 0.337173 0.344747 0.342853 0.327707 0.322027 0.331493 0.359893 +0.416693 0.412907 0.373147 0.354213 0.337173 0.325813 0.32392 0.32392 +0.342853 0.37504 0.429947 0.508842 0.558737 0.612421 0.626947 0.585895 +0.531579 0.46024 0.371253 0.33528 0.310667 0.293627 0.286053 0.287947 +0.29552 0.316347 0.331493 0.359893 0.464027 0.523368 0.492427 0.361787 +0.320133 0.30688 0.3012 0.3012 0.29552 0.297413 0.29552 0.3012 +0.331493 0.354213 0.339067 0.31824 0.303093 0.30688 0.344747 0.36368 +0.337173 0.316347 0.31824 0.337173 0.356107 0.350427 0.354213 0.376933 +0.384507 0.4148 0.42048 0.36368 0.322027 0.316347 0.32392 0.337173 +0.342853 0.342853 0.331493 0.314453 0.31824 0.34096 0.388293 0.44888 +0.48864 0.45456 0.3864 0.359893 0.388293 0.405333 0.40912 0.399653 +0.361787 0.331493 0.314453 0.327707 0.36936 0.445093 0.510737 0.537895 +0.573895 0.604842 0.567579 0.479173 0.348533 0.331493 0.344747 0.34664 +0.344747 0.348533 0.376933 0.37504 0.348533 0.33528 0.365573 0.435627 +0.422373 0.361787 0.354213 0.354213 0.35232 0.34664 0.34664 0.36936 +0.36936 0.36936 0.39776 0.412907 0.422373 0.44888 0.479173 0.475387 +0.46592 0.44888 0.416693 0.39776 0.44888 0.501895 0.469707 0.433733 +0.40912 0.393973 0.393973 0.40344 0.401547 0.395867 0.384507 0.358 +0.34664 0.359893 0.450773 0.546105 0.679368 0.794947 0.830947 0.86 +0.888421 0.916842 0.944632 0.956632 0.960421 0.966737 0.973684 0.976842 +0.982612 0.986204 0.993061 1.00286 1.0058 1.01037 1.01363 1.01722 +1.01886 1.02049 1.02114 1.02735 1.03224 1.03061 1.03486 1.03518 +1.0329 1.03518 1.04139 1.03976 1.03845 1.04073 1.03714 1.03812 +1.04073 1.04073 1.0378 1.0391 1.03943 1.03878 1.04302 1.04204 +1.04433 1.04498 1.04629 1.04596 1.04008 1.03878 1.03878 1.0391 +1.03878 1.03714 1.03943 1.0342 1.0329 1.03486 1.03486 1.03192 +1.02898 1.03061 1.02571 1.03029 1.03159 1.02735 1.02473 1.02408 +1.02571 1.028 1.02865 1.02702 1.02669 1.02539 1.02376 1.02343 +1.02637 1.02278 1.02049 1.028 1.02963 1.02539 1.02539 1.02506 +1.02408 1.02506 1.02278 1.01722 1.01494 1.01298 1.01037 1.00939 +1.01494 1.01951 1.00939 0.985224 0.930105 0.876421 0.825263 0.781684 +0.764632 0.757684 0.753263 0.743158 0.729895 0.702737 0.639579 0.554947 +0.486747 0.44888 0.498107 0.49432 0.475387 0.490533 0.490533 0.46592 +0.450773 0.439413 0.428053 0.435627 0.43752 0.433733 0.416693 0.42048 +0.433733 0.439413 0.43184 0.433733 0.43752 0.422373 0.429947 0.441307 +0.435627 0.43752 0.428053 0.42616 0.412907 0.40912 0.40912 0.40912 +0.416693 0.416693 0.40912 0.40344 0.39208 0.3864 0.38072 0.376933 +0.39776 0.40912 0.412907 0.405333 0.393973 0.390187 0.405333 0.407227 +0.3864 0.39208 0.40912 0.405333 0.378827 0.361787 0.36936 0.384507 +0.39208 0.399653 0.40344 0.411013 0.424267 0.412907 0.371253 0.350427 +0.365573 0.371253 0.356107 0.356107 0.359893 0.356107 0.356107 0.37504 +0.365573 0.348533 0.348533 0.348533 0.361787 0.36936 0.378827 0.390187 +0.388293 0.388293 0.39208 0.401547 0.4148 0.43752 0.439413 0.445093 +0.458347 0.501263 0.577684 0.746316 0.892842 0.940211 0.942105 0.942737 +0.953474 0.973053 0.98751 0.999265 1.00351 1.00449 1.00841 1.00939 +1.00971 1.00873 1.00939 1.00906 1.00906 1.01069 1.00971 1.012 +1.012 1.01167 1.01559 1.01657 1.01722 1.0169 1.01559 1.01069 +0.999918 0.986857 0.98751 1.00024 1.00449 1.00449 1.00547 1.00024 +0.994367 0.989469 0.981306 0.961684 0.942737 0.944 0.955368 0.973684 +0.985551 0.906105 0.68 0.462133 0.251973 0.2444 0.293627 0.28984 +0.225467 0.000986667 0.27848 0.310667 0.2444 0.00082 0.00072 0.00072 +0.000733333 0.000706667 0.000726667 0.000733333 0.000713333 0.000706667 0.000713333 0.000733333 +0.000726667 0.000726667 0.00072 0.000686667 0.000686667 0.000706667 0.000713333 0.000706667 +0.000713333 0.000713333 0.0007 0.000726667 0.000733333 0.000706667 0.000686667 0.000713333 +0.00074 0.00074 0.000726667 0.000693333 0.000673333 0.000693333 0.00068 0.00068 +0.0007 0.000706667 0.000733333 0.00074 0.000746667 0.000746667 0.000766667 0.000766667 +0.000766667 0.000746667 0.000733333 0.000746667 0.000753333 0.000733333 0.000753333 0.000806667 +0.000813333 0.000806667 0.0009 0.286053 0.367467 0.337173 0.501263 0.706526 +0.933263 0.988163 0.960421 0.942737 0.944632 0.952842 0.953474 0.951579 +0.959789 0.966105 0.966105 0.978737 0.991102 1.00286 1.00906 1.012 +1.01363 1.012 1.00906 1.00873 1.00841 1.00971 1.0071 1.00645 +1.00188 0.990122 0.983265 0.982286 0.98098 0.978737 0.977474 0.965474 +0.912421 0.791789 0.635158 0.532842 0.469707 0.411013 0.384507 0.376933 +0.376933 0.373147 0.361787 0.34664 0.339067 0.34664 0.356107 0.348533 +0.342853 0.339067 0.350427 0.36936 0.358 0.33528 0.32392 0.348533 +0.39776 0.3864 0.34664 0.33528 0.333387 0.32392 0.32392 0.333387 +0.342853 0.358 0.388293 0.445093 0.517684 0.580842 0.640842 0.648421 +0.611789 0.555579 0.503158 0.411013 0.34096 0.30688 0.293627 0.29552 +0.303093 0.320133 0.331493 0.365573 0.486747 0.534737 0.508842 0.39776 +0.339067 0.30688 0.3012 0.31256 0.327707 0.325813 0.316347 0.327707 +0.39208 0.416693 0.36368 0.31824 0.310667 0.308773 0.322027 0.34096 +0.34096 0.3296 0.31824 0.333387 0.34096 0.322027 0.31824 0.3296 +0.339067 0.38072 0.40344 0.36936 0.339067 0.322027 0.314453 0.325813 +0.331493 0.342853 0.342853 0.33528 0.327707 0.342853 0.43752 0.527158 +0.533474 0.481067 0.367467 0.320133 0.320133 0.331493 0.342853 0.356107 +0.350427 0.331493 0.325813 0.348533 0.37504 0.395867 0.405333 0.45456 +0.547368 0.609895 0.577053 0.484853 0.354213 0.331493 0.34096 0.337173 +0.33528 0.350427 0.388293 0.390187 0.361787 0.354213 0.384507 0.445093 +0.4432 0.390187 0.358 0.35232 0.348533 0.34664 0.344747 0.348533 +0.350427 0.34664 0.38072 0.4432 0.48296 0.5 0.503158 0.48296 +0.45456 0.446987 0.445093 0.428053 0.446987 0.501895 0.486747 0.441307 +0.42616 0.42616 0.418587 0.43752 0.452667 0.433733 0.388293 0.358 +0.34096 0.333387 0.365573 0.462133 0.573895 0.647789 0.664842 0.702105 +0.760211 0.827158 0.889684 0.926316 0.945263 0.956632 0.964211 0.971789 +0.979368 0.982286 0.988163 0.99502 0.999265 1.00514 1.00971 1.01233 +1.01624 1.02016 1.02049 1.02473 1.03094 1.02865 1.03257 1.03486 +1.03224 1.03388 1.03976 1.04008 1.03812 1.03976 1.03845 1.03943 +1.04139 1.04237 1.03747 1.04008 1.0391 1.03812 1.04269 1.04171 +1.044 1.04629 1.04596 1.04433 1.04041 1.03878 1.03747 1.03845 +1.03976 1.0391 1.03878 1.03257 1.03322 1.03518 1.03388 1.03192 +1.03094 1.03061 1.02473 1.02506 1.02767 1.02637 1.02376 1.02376 +1.02114 1.02506 1.02571 1.02016 1.01984 1.0169 1.01461 1.01755 +1.01886 1.0182 1.02114 1.02637 1.02604 1.02506 1.02506 1.02278 +1.01951 1.01951 1.02049 1.01886 1.01461 1.01069 1.01037 1.01004 +1.01233 1.00449 0.981306 0.932632 0.886526 0.856842 0.819579 0.775368 +0.752 0.737474 0.724211 0.719789 0.709684 0.655368 0.568211 0.506316 +0.467813 0.48864 0.512632 0.513263 0.501263 0.486747 0.48296 0.462133 +0.4432 0.42616 0.435627 0.44888 0.439413 0.441307 0.439413 0.43184 +0.439413 0.46024 0.45456 0.42616 0.42048 0.422373 0.422373 0.424267 +0.4148 0.42616 0.42048 0.407227 0.40344 0.393973 0.384507 0.388293 +0.393973 0.405333 0.412907 0.407227 0.39776 0.388293 0.37504 0.37504 +0.38072 0.38072 0.40344 0.40912 0.399653 0.399653 0.40912 0.405333 +0.388293 0.384507 0.393973 0.393973 0.384507 0.37504 0.376933 0.384507 +0.388293 0.393973 0.39776 0.405333 0.40912 0.390187 0.359893 0.344747 +0.34664 0.371253 0.376933 0.373147 0.371253 0.359893 0.34664 0.339067 +0.34096 0.342853 0.34096 0.34664 0.373147 0.388293 0.376933 0.384507 +0.399653 0.401547 0.399653 0.40912 0.43184 0.467813 0.469707 0.46024 +0.46592 0.510737 0.609263 0.784842 0.902316 0.937053 0.943368 0.948421 +0.960421 0.977474 0.988163 0.998612 1.00449 1.00678 1.00808 1.00776 +1.00841 1.00776 1.01069 1.01069 1.01037 1.01102 1.01004 1.00971 +1.01102 1.01298 1.01624 1.0182 1.01722 1.01331 1.01037 1.00743 +1.00188 0.993714 0.991755 1.00122 1.00612 1.00482 1.00482 1.00384 +0.998286 0.989469 0.981959 0.964842 0.947158 0.942737 0.949053 0.965474 +0.982939 0.937053 0.737474 0.524 0.297413 0.310667 0.39208 0.378827 +0.263333 0.000926667 0.240613 0.310667 0.276587 0.00088 0.000733333 0.00072 +0.00074 0.00072 0.00072 0.000726667 0.000713333 0.00072 0.00072 0.000706667 +0.000706667 0.000713333 0.00072 0.000713333 0.0007 0.000706667 0.000706667 0.000706667 +0.000713333 0.000706667 0.0007 0.000726667 0.00074 0.000713333 0.00068 0.00068 +0.000693333 0.000713333 0.000713333 0.000673333 0.000693333 0.000713333 0.00072 0.000713333 +0.00072 0.000726667 0.000726667 0.000733333 0.000733333 0.000726667 0.000746667 0.000766667 +0.000793333 0.0008 0.00078 0.000773333 0.000753333 0.000726667 0.000726667 0.000766667 +0.0008 0.000826667 0.000933333 0.299307 0.376933 0.371253 0.545474 0.774737 +0.966105 0.985224 0.954737 0.945263 0.950947 0.953474 0.949053 0.947789 +0.959158 0.967368 0.973053 0.985551 0.99698 1.0071 1.01167 1.01331 +1.01429 1.01298 1.01069 1.00939 1.00939 1.01167 1.01102 1.01069 +1.00612 0.994694 0.982612 0.974316 0.973684 0.973053 0.973684 0.961053 +0.906105 0.779789 0.620632 0.517053 0.429947 0.39208 0.373147 0.367467 +0.3864 0.401547 0.3864 0.354213 0.34096 0.361787 0.39208 0.395867 +0.3864 0.378827 0.378827 0.40344 0.401547 0.361787 0.339067 0.358 +0.3864 0.359893 0.32392 0.31824 0.322027 0.320133 0.320133 0.33528 +0.354213 0.382613 0.4432 0.503158 0.524 0.569474 0.635789 0.670526 +0.659158 0.621895 0.571368 0.520211 0.42616 0.358 0.325813 0.31824 +0.31824 0.3296 0.34096 0.36936 0.498107 0.539789 0.516421 0.43184 +0.365573 0.320133 0.308773 0.32392 0.337173 0.348533 0.348533 0.365573 +0.422373 0.429947 0.36368 0.322027 0.31824 0.32392 0.320133 0.32392 +0.337173 0.34096 0.337173 0.342853 0.337173 0.322027 0.31824 0.325813 +0.34096 0.371253 0.373147 0.35232 0.344747 0.333387 0.316347 0.3296 +0.344747 0.358 0.361787 0.358 0.358 0.418587 0.537263 0.601684 +0.573263 0.484853 0.34664 0.304987 0.291733 0.303093 0.322027 0.322027 +0.325813 0.331493 0.325813 0.337173 0.344747 0.350427 0.34664 0.36368 +0.510737 0.596 0.585895 0.506316 0.378827 0.339067 0.33528 0.33528 +0.333387 0.342853 0.390187 0.39776 0.36936 0.361787 0.378827 0.399653 +0.388293 0.361787 0.342853 0.354213 0.365573 0.354213 0.348533 0.344747 +0.350427 0.348533 0.382613 0.473493 0.510737 0.509474 0.496213 0.450773 +0.411013 0.401547 0.422373 0.46024 0.500632 0.508842 0.502526 0.479173 +0.467813 0.467813 0.435627 0.416693 0.42616 0.411013 0.378827 0.37504 +0.359893 0.348533 0.365573 0.42048 0.504421 0.528421 0.532842 0.565684 +0.623789 0.701474 0.788632 0.859368 0.909263 0.936421 0.950316 0.962947 +0.967368 0.973684 0.983918 0.987184 0.990776 0.999918 1.00547 1.00612 +1.01298 1.01755 1.01918 1.02082 1.02637 1.02735 1.03061 1.03159 +1.02898 1.03518 1.03845 1.04139 1.04041 1.04008 1.04041 1.04041 +1.0391 1.04302 1.03976 1.04204 1.03878 1.04106 1.04269 1.0391 +1.044 1.04792 1.04531 1.04269 1.03976 1.03845 1.0378 1.04041 +1.03845 1.0378 1.03649 1.03257 1.03518 1.03518 1.0329 1.02996 +1.02865 1.02735 1.02473 1.02278 1.02376 1.02245 1.02049 1.02082 +1.01853 1.02082 1.01951 1.01918 1.02082 1.01722 1.01592 1.02016 +1.01984 1.02114 1.02865 1.03061 1.02539 1.02571 1.02702 1.0231 +1.01788 1.01788 1.01853 1.01984 1.01592 1.01233 1.01102 1.00808 +0.999265 0.973053 0.919368 0.882105 0.854316 0.842316 0.820211 0.782947 +0.760211 0.743158 0.722947 0.701474 0.663579 0.584 0.513263 0.479173 +0.500632 0.515158 0.526526 0.521474 0.48864 0.458347 0.46024 0.462133 +0.445093 0.433733 0.435627 0.450773 0.46592 0.456453 0.44888 0.450773 +0.450773 0.458347 0.452667 0.416693 0.399653 0.40912 0.40912 0.407227 +0.40912 0.418587 0.40344 0.384507 0.405333 0.407227 0.39208 0.378827 +0.373147 0.384507 0.39776 0.382613 0.376933 0.376933 0.359893 0.365573 +0.382613 0.378827 0.390187 0.401547 0.382613 0.378827 0.37504 0.361787 +0.371253 0.388293 0.393973 0.39208 0.390187 0.382613 0.367467 0.359893 +0.365573 0.365573 0.36936 0.376933 0.382613 0.373147 0.367467 0.356107 +0.344747 0.367467 0.376933 0.365573 0.36368 0.361787 0.356107 0.344747 +0.344747 0.34664 0.348533 0.350427 0.35232 0.376933 0.38072 0.371253 +0.378827 0.395867 0.40912 0.428053 0.446987 0.481067 0.498107 0.49432 +0.49432 0.522737 0.633895 0.801263 0.900421 0.938947 0.956 0.963579 +0.971789 0.981959 0.991102 0.997633 1.00155 1.0071 1.00873 1.00808 +1.00939 1.00645 1.00939 1.01233 1.012 1.012 1.01233 1.01167 +1.01102 1.01429 1.01624 1.01592 1.01461 1.01331 1.00873 1.00547 +1.00318 1.0009 0.997633 1.00057 1.00645 1.0071 1.00645 1.0058 +0.99698 0.982939 0.971158 0.964211 0.950947 0.938316 0.942105 0.959158 +0.983265 0.966105 0.794947 0.563158 0.339067 0.348533 0.446987 0.43752 +0.310667 0.00096 0.00098 0.297413 0.3012 0.000953333 0.00074 0.000726667 +0.000753333 0.000753333 0.000726667 0.000733333 0.000706667 0.000713333 0.000706667 0.000686667 +0.0007 0.000713333 0.00072 0.000706667 0.000706667 0.000693333 0.0007 0.000706667 +0.000706667 0.000713333 0.00072 0.00072 0.000726667 0.000733333 0.000726667 0.000713333 +0.0007 0.0007 0.000706667 0.000706667 0.000706667 0.000706667 0.00072 0.000726667 +0.000726667 0.000733333 0.000746667 0.000753333 0.000773333 0.000766667 0.000746667 0.000746667 +0.00076 0.00078 0.000786667 0.00076 0.000753333 0.000753333 0.00078 0.000806667 +0.000833333 0.000853333 0.000933333 0.304987 0.37504 0.40912 0.595368 0.837895 +0.984245 0.981959 0.950947 0.944 0.950947 0.952211 0.946526 0.945895 +0.957263 0.967368 0.978737 0.990776 1.00253 1.01102 1.01396 1.01429 +1.01461 1.01429 1.012 1.01069 1.00971 1.01135 1.01167 1.01167 +1.00873 1.00122 0.990776 0.982286 0.977474 0.971158 0.969263 0.957895 +0.902947 0.770947 0.611158 0.508211 0.40912 0.376933 0.356107 0.34664 +0.358 0.371253 0.378827 0.367467 0.350427 0.356107 0.373147 0.384507 +0.382613 0.3864 0.40912 0.446987 0.4432 0.411013 0.388293 0.3864 +0.393973 0.37504 0.34664 0.325813 0.325813 0.337173 0.348533 0.390187 +0.45456 0.506947 0.530316 0.542947 0.542316 0.56 0.602947 0.630105 +0.633263 0.631368 0.618737 0.584 0.532211 0.467813 0.3864 0.35232 +0.333387 0.3296 0.339067 0.365573 0.502526 0.542316 0.511368 0.422373 +0.378827 0.34664 0.331493 0.33528 0.337173 0.34096 0.358 0.40344 +0.467813 0.45456 0.388293 0.34096 0.322027 0.32392 0.327707 0.3296 +0.331493 0.339067 0.36368 0.365573 0.342853 0.32392 0.320133 0.3296 +0.350427 0.361787 0.356107 0.34664 0.33528 0.3296 0.325813 0.331493 +0.350427 0.361787 0.36368 0.367467 0.42048 0.517684 0.597895 0.657895 +0.595368 0.484853 0.35232 0.31824 0.303093 0.314453 0.320133 0.31824 +0.31256 0.316347 0.314453 0.322027 0.33528 0.333387 0.3296 0.34664 +0.469707 0.578316 0.598526 0.522105 0.401547 0.350427 0.344747 0.350427 +0.356107 0.36368 0.399653 0.399653 0.365573 0.354213 0.36936 0.367467 +0.337173 0.333387 0.34664 0.38072 0.399653 0.378827 0.356107 0.350427 +0.354213 0.359893 0.422373 0.506316 0.517053 0.503158 0.458347 0.418587 +0.405333 0.393973 0.412907 0.46592 0.513895 0.518947 0.500632 0.479173 +0.47728 0.4716 0.422373 0.38072 0.38072 0.384507 0.37504 0.38072 +0.365573 0.36368 0.378827 0.416693 0.428053 0.422373 0.424267 0.48296 +0.537263 0.596632 0.676842 0.762737 0.840421 0.890316 0.927579 0.953474 +0.959789 0.966105 0.977474 0.982286 0.984898 0.992735 0.998612 0.998286 +1.00514 1.01037 1.01494 1.01951 1.02408 1.02833 1.03029 1.02865 +1.03061 1.0342 1.03616 1.04106 1.04204 1.04139 1.04073 1.04073 +1.0378 1.04008 1.04171 1.04367 1.03747 1.04008 1.04367 1.04171 +1.04465 1.04694 1.04563 1.04269 1.03943 1.03747 1.03714 1.04041 +1.0378 1.03616 1.0342 1.03322 1.03812 1.03453 1.02898 1.02669 +1.02637 1.02441 1.02376 1.0218 1.02245 1.01984 1.01657 1.0169 +1.01886 1.01886 1.0182 1.02082 1.02245 1.02441 1.028 1.02931 +1.02604 1.028 1.03322 1.03192 1.02571 1.02376 1.02506 1.02245 +1.01788 1.01624 1.01624 1.01853 1.01886 1.01429 1.00514 0.993714 +0.968632 0.916842 0.872 0.846737 0.836 0.834737 0.825895 0.802526 +0.781684 0.754526 0.719789 0.662947 0.584 0.519579 0.484853 0.498107 +0.510737 0.514526 0.510105 0.508842 0.484853 0.456453 0.4716 0.484853 +0.481067 0.469707 0.46024 0.4716 0.496213 0.47728 0.44888 0.445093 +0.446987 0.433733 0.42616 0.407227 0.382613 0.38072 0.3864 0.399653 +0.411013 0.407227 0.37504 0.359893 0.401547 0.43184 0.411013 0.3864 +0.36368 0.359893 0.378827 0.367467 0.354213 0.367467 0.356107 0.356107 +0.378827 0.384507 0.3864 0.388293 0.371253 0.359893 0.35232 0.344747 +0.361787 0.365573 0.36368 0.36368 0.367467 0.361787 0.348533 0.344747 +0.348533 0.337173 0.337173 0.35232 0.373147 0.371253 0.354213 0.342853 +0.339067 0.348533 0.350427 0.354213 0.361787 0.36368 0.358 0.356107 +0.361787 0.356107 0.354213 0.35232 0.348533 0.359893 0.367467 0.367467 +0.37504 0.388293 0.418587 0.446987 0.452667 0.475387 0.492427 0.48296 +0.498107 0.539789 0.656 0.803789 0.896 0.944 0.966737 0.973053 +0.974316 0.982286 0.993714 0.999592 1.0009 1.00416 1.00645 1.00808 +1.01037 1.0071 1.01102 1.01396 1.01298 1.01135 1.01102 1.01004 +1.00873 1.01265 1.01657 1.01592 1.01396 1.01363 1.00939 1.00253 +1.0009 1.0009 0.998939 0.998939 1.00449 1.00841 1.00808 1.00678 +0.997959 0.978737 0.956 0.959158 0.955368 0.942737 0.945263 0.957895 +0.980327 0.980327 0.844842 0.610526 0.401547 0.354213 0.450773 0.484853 +0.37504 0.229253 0.000893333 0.265227 0.320133 0.242507 0.00084 0.000806667 +0.0008 0.0008 0.000746667 0.0007 0.0007 0.00072 0.00072 0.000706667 +0.000706667 0.00072 0.000726667 0.00072 0.00072 0.0007 0.000693333 0.0007 +0.000706667 0.000733333 0.000726667 0.000713333 0.000706667 0.000713333 0.000733333 0.00072 +0.0007 0.000686667 0.00072 0.000746667 0.000733333 0.000726667 0.00072 0.000726667 +0.000733333 0.00072 0.000713333 0.000726667 0.000766667 0.00078 0.00078 0.000766667 +0.00076 0.000766667 0.00076 0.000726667 0.000713333 0.00074 0.00078 0.000813333 +0.000853333 0.00088 0.217893 0.333387 0.384507 0.44888 0.644 0.887789 +0.989796 0.976211 0.949053 0.945263 0.952211 0.951579 0.946526 0.949053 +0.962947 0.975579 0.983918 0.99502 1.00612 1.01233 1.01429 1.01331 +1.01396 1.01494 1.01363 1.01363 1.01265 1.01233 1.01102 1.01069 +1.00939 1.00514 0.997959 0.990122 0.985224 0.978737 0.969895 0.954737 +0.896 0.758316 0.597895 0.502526 0.412907 0.388293 0.361787 0.34096 +0.339067 0.337173 0.34664 0.361787 0.361787 0.354213 0.348533 0.344747 +0.34096 0.356107 0.40344 0.42616 0.40344 0.395867 0.388293 0.3864 +0.407227 0.407227 0.371253 0.356107 0.388293 0.433733 0.462133 0.505053 +0.526526 0.537263 0.542947 0.532842 0.508211 0.501895 0.515789 0.530947 +0.541053 0.557474 0.583368 0.597895 0.581474 0.541684 0.501895 0.4148 +0.34664 0.31824 0.32392 0.361787 0.504421 0.542947 0.506316 0.401547 +0.38072 0.361787 0.34664 0.342853 0.333387 0.34096 0.38072 0.462133 +0.508211 0.475387 0.401547 0.367467 0.34664 0.342853 0.354213 0.34664 +0.331493 0.333387 0.36936 0.3864 0.38072 0.358 0.34664 0.34664 +0.339067 0.337173 0.359893 0.361787 0.333387 0.32392 0.3296 0.337173 +0.350427 0.358 0.373147 0.424267 0.505684 0.528421 0.561895 0.602316 +0.556211 0.446987 0.367467 0.3296 0.320133 0.322027 0.320133 0.31824 +0.310667 0.308773 0.320133 0.32392 0.325813 0.333387 0.325813 0.337173 +0.424267 0.553053 0.602316 0.543579 0.445093 0.382613 0.365573 0.361787 +0.367467 0.405333 0.45456 0.43184 0.358 0.33528 0.350427 0.359893 +0.348533 0.34096 0.358 0.388293 0.399653 0.376933 0.356107 0.361787 +0.36936 0.40344 0.504421 0.529053 0.518316 0.486747 0.433733 0.424267 +0.422373 0.428053 0.424267 0.428053 0.481067 0.512 0.486747 0.4432 +0.42616 0.42616 0.40344 0.371253 0.378827 0.384507 0.365573 0.384507 +0.37504 0.361787 0.395867 0.428053 0.407227 0.382613 0.3864 0.416693 +0.498107 0.536 0.585263 0.652842 0.740632 0.813895 0.876421 0.927579 +0.950316 0.955368 0.966105 0.974947 0.978105 0.981959 0.988816 0.989796 +0.99698 1.00057 1.0071 1.01624 1.02212 1.02604 1.02833 1.02767 +1.0329 1.03257 1.03224 1.04041 1.04237 1.04041 1.03943 1.04041 +1.0391 1.03747 1.04008 1.04269 1.0378 1.0391 1.04335 1.04204 +1.04629 1.04433 1.04433 1.04367 1.04041 1.03943 1.0378 1.03845 +1.03649 1.03616 1.03192 1.03224 1.03584 1.02963 1.02343 1.02408 +1.02278 1.02147 1.01984 1.0182 1.01657 1.01461 1.01102 1.012 +1.01461 1.01527 1.01918 1.0231 1.02441 1.02833 1.02963 1.02996 +1.02865 1.03192 1.03257 1.02898 1.028 1.02539 1.0218 1.0218 +1.02114 1.01853 1.01494 1.01396 1.012 1.00253 0.984571 0.950947 +0.905474 0.861895 0.833474 0.823368 0.827158 0.832211 0.823368 0.796842 +0.772842 0.733053 0.669895 0.589053 0.519579 0.48864 0.48864 0.498107 +0.503789 0.502526 0.47728 0.475387 0.48296 0.490533 0.501263 0.5 +0.496213 0.5 0.48864 0.486747 0.486747 0.45456 0.43752 0.424267 +0.412907 0.407227 0.393973 0.38072 0.361787 0.356107 0.376933 0.399653 +0.40912 0.407227 0.37504 0.358 0.378827 0.39776 0.393973 0.37504 +0.344747 0.33528 0.36936 0.376933 0.356107 0.359893 0.365573 0.36368 +0.376933 0.40344 0.399653 0.382613 0.36936 0.36936 0.384507 0.37504 +0.367467 0.344747 0.327707 0.333387 0.344747 0.339067 0.327707 0.344747 +0.361787 0.34664 0.331493 0.327707 0.34664 0.350427 0.337173 0.331493 +0.333387 0.344747 0.358 0.36936 0.361787 0.35232 0.339067 0.337173 +0.358 0.36936 0.367467 0.358 0.356107 0.358 0.356107 0.36936 +0.39208 0.401547 0.42048 0.441307 0.441307 0.462133 0.469707 0.46024 +0.490533 0.546737 0.661684 0.798105 0.892211 0.947789 0.967368 0.971789 +0.974316 0.982939 0.99502 1.00122 1.00318 1.00253 1.00449 1.00808 +1.01102 1.00743 1.01004 1.012 1.01265 1.01135 1.00808 1.00808 +1.00841 1.01167 1.01592 1.01788 1.01592 1.01396 1.00939 1.0022 +0.998612 0.997306 0.996327 0.996327 1.00122 1.00743 1.00906 1.00841 +1.00286 0.984898 0.957895 0.956632 0.956 0.942737 0.940842 0.951579 +0.973684 0.984898 0.892211 0.666737 0.47728 0.339067 0.416693 0.5 +0.429947 0.274693 0.000933333 0.25576 0.337173 0.274693 0.000853333 0.0008 +0.000786667 0.00076 0.000713333 0.000673333 0.0007 0.000706667 0.00072 0.000706667 +0.0007 0.0007 0.00072 0.000733333 0.000733333 0.000726667 0.000713333 0.000713333 +0.00072 0.000726667 0.000713333 0.000706667 0.000706667 0.0007 0.000706667 0.000713333 +0.000706667 0.00072 0.000726667 0.000733333 0.000746667 0.00074 0.000733333 0.000733333 +0.000726667 0.000713333 0.000706667 0.000706667 0.000706667 0.000733333 0.00076 0.000746667 +0.000753333 0.00076 0.000753333 0.000753333 0.000753333 0.00076 0.000793333 0.000806667 +0.000826667 0.000853333 0.231147 0.348533 0.393973 0.508842 0.702105 0.933895 +0.991755 0.968632 0.945895 0.944 0.951579 0.950947 0.950316 0.957263 +0.970526 0.981959 0.988163 0.999592 1.00939 1.01331 1.01461 1.01429 +1.01363 1.01298 1.01331 1.01396 1.012 1.01233 1.01233 1.01167 +1.00971 1.0058 1.00024 0.994041 0.989469 0.982286 0.971789 0.953474 +0.888421 0.740632 0.581474 0.492427 0.4148 0.40344 0.37504 0.344747 +0.337173 0.3296 0.325813 0.34096 0.358 0.365573 0.361787 0.34664 +0.337173 0.34664 0.371253 0.361787 0.327707 0.331493 0.344747 0.38072 +0.422373 0.407227 0.365573 0.36936 0.416693 0.458347 0.47728 0.503789 +0.508842 0.48296 0.479173 0.47728 0.418587 0.373147 0.373147 0.407227 +0.435627 0.46024 0.508211 0.548 0.578947 0.575158 0.551789 0.514526 +0.416693 0.34664 0.3296 0.361787 0.506316 0.552421 0.514526 0.399653 +0.36936 0.359893 0.354213 0.350427 0.3296 0.348533 0.429947 0.501895 +0.48864 0.411013 0.373147 0.378827 0.371253 0.354213 0.35232 0.339067 +0.325813 0.333387 0.371253 0.407227 0.407227 0.376933 0.35232 0.339067 +0.3296 0.34096 0.359893 0.354213 0.34096 0.34096 0.350427 0.35232 +0.36368 0.40344 0.48296 0.514526 0.517684 0.490533 0.46024 0.514526 +0.510737 0.418587 0.36368 0.33528 0.325813 0.339067 0.356107 0.359893 +0.34664 0.34096 0.337173 0.32392 0.31824 0.337173 0.331493 0.3296 +0.38072 0.523368 0.592842 0.565053 0.49432 0.405333 0.373147 0.350427 +0.34664 0.37504 0.450773 0.462133 0.367467 0.325813 0.342853 0.378827 +0.390187 0.37504 0.36936 0.37504 0.36936 0.356107 0.36368 0.384507 +0.412907 0.48296 0.536 0.556211 0.530316 0.501895 0.467813 0.458347 +0.445093 0.4432 0.433733 0.407227 0.422373 0.486747 0.4716 0.4148 +0.39208 0.3864 0.38072 0.36936 0.39208 0.40912 0.395867 0.411013 +0.40344 0.39208 0.4432 0.458347 0.40344 0.388293 0.411013 0.416693 +0.462133 0.502526 0.522737 0.561895 0.630737 0.710316 0.791158 0.868211 +0.914947 0.926947 0.939579 0.956 0.961684 0.969263 0.983265 0.986531 +0.990122 0.994041 1.0009 1.01037 1.0169 1.0218 1.02408 1.02571 +1.03159 1.03029 1.03192 1.04041 1.04139 1.0391 1.04041 1.04171 +1.03943 1.03682 1.04008 1.04008 1.0391 1.04008 1.04269 1.04041 +1.04498 1.04335 1.04335 1.044 1.03943 1.03845 1.03943 1.03649 +1.03486 1.03388 1.02931 1.03094 1.03224 1.02637 1.02212 1.02278 +1.01918 1.01788 1.01494 1.01102 1.00971 1.00678 1.00547 1.0058 +1.00776 1.01135 1.01755 1.02278 1.02702 1.03094 1.02898 1.02996 +1.03094 1.03388 1.03159 1.02735 1.03029 1.02898 1.02278 1.02082 +1.02049 1.02049 1.01298 1.0009 0.989143 0.966737 0.926947 0.893474 +0.860632 0.826526 0.804421 0.801263 0.808211 0.816421 0.803789 0.769684 +0.739368 0.682526 0.595368 0.522105 0.475387 0.469707 0.46592 0.456453 +0.467813 0.479173 0.479173 0.490533 0.498107 0.506316 0.508842 0.501263 +0.484853 0.48864 0.475387 0.462133 0.4432 0.412907 0.405333 0.393973 +0.378827 0.3864 0.384507 0.367467 0.358 0.35232 0.358 0.384507 +0.40912 0.411013 0.39208 0.36936 0.359893 0.35232 0.350427 0.348533 +0.337173 0.337173 0.36368 0.38072 0.356107 0.356107 0.354213 0.348533 +0.376933 0.43184 0.412907 0.36936 0.361787 0.382613 0.4148 0.411013 +0.376933 0.35232 0.344747 0.33528 0.33528 0.344747 0.34096 0.35232 +0.373147 0.356107 0.339067 0.322027 0.333387 0.34096 0.339067 0.342853 +0.339067 0.34096 0.365573 0.3864 0.35232 0.325813 0.325813 0.333387 +0.354213 0.36368 0.36936 0.36936 0.36936 0.365573 0.35232 0.365573 +0.39208 0.401547 0.412907 0.42616 0.435627 0.4432 0.439413 0.446987 +0.48296 0.541053 0.650947 0.792421 0.892211 0.948421 0.968 0.967368 +0.971789 0.984245 0.996327 1.0009 1.00482 1.00547 1.00612 1.00808 +1.00906 1.00449 1.00743 1.01037 1.01069 1.01331 1.01167 1.00971 +1.00939 1.01135 1.01429 1.01592 1.0169 1.01559 1.01331 1.00776 +0.999265 0.996 0.995347 0.996 1.00286 1.00906 1.00939 1.01037 +1.00776 0.990776 0.967368 0.957263 0.955368 0.942737 0.936421 0.947789 +0.969263 0.984898 0.930105 0.721684 0.515789 0.322027 0.371253 0.496213 +0.490533 0.367467 0.253867 0.259547 0.3296 0.282267 0.000833333 0.000733333 +0.00074 0.000786667 0.000786667 0.00074 0.000733333 0.000746667 0.000746667 0.00074 +0.000733333 0.00072 0.000726667 0.000726667 0.000713333 0.00072 0.000706667 0.000706667 +0.000693333 0.000686667 0.000706667 0.000713333 0.000713333 0.000706667 0.0007 0.00072 +0.000733333 0.000733333 0.000713333 0.000706667 0.00072 0.00072 0.000733333 0.000733333 +0.000733333 0.00072 0.00074 0.000733333 0.000733333 0.000733333 0.000753333 0.000753333 +0.000753333 0.000746667 0.000733333 0.00076 0.000786667 0.000793333 0.000813333 0.00082 +0.00084 0.00088 0.25008 0.358 0.390187 0.539158 0.764 0.966737 +0.990122 0.962947 0.947158 0.947789 0.954737 0.953474 0.955368 0.961053 +0.971158 0.983918 0.993061 1.00514 1.01363 1.01559 1.01527 1.01494 +1.01461 1.01265 1.01331 1.01331 1.01167 1.01135 1.01102 1.01102 +1.00939 1.0071 1.00318 0.999592 0.996327 0.98849 0.974316 0.947789 +0.876421 0.719789 0.565053 0.4716 0.412907 0.412907 0.388293 0.35232 +0.33528 0.32392 0.308773 0.31824 0.333387 0.350427 0.359893 0.344747 +0.33528 0.327707 0.33528 0.337173 0.3296 0.3296 0.354213 0.422373 +0.445093 0.395867 0.354213 0.36368 0.382613 0.376933 0.371253 0.39208 +0.393973 0.361787 0.38072 0.42616 0.399653 0.35232 0.3296 0.34664 +0.376933 0.393973 0.418587 0.48864 0.529684 0.554947 0.573263 0.567579 +0.536632 0.49432 0.40912 0.399653 0.517053 0.564421 0.523368 0.407227 +0.378827 0.371253 0.35232 0.337173 0.331493 0.3864 0.469707 0.46592 +0.390187 0.342853 0.348533 0.384507 0.382613 0.350427 0.342853 0.342853 +0.34096 0.354213 0.390187 0.412907 0.384507 0.35232 0.331493 0.31824 +0.3296 0.359893 0.37504 0.354213 0.34664 0.356107 0.37504 0.388293 +0.43184 0.516421 0.553684 0.541053 0.492427 0.390187 0.361787 0.416693 +0.458347 0.407227 0.356107 0.34096 0.333387 0.344747 0.371253 0.390187 +0.39776 0.395867 0.36368 0.327707 0.322027 0.333387 0.3296 0.3296 +0.358 0.490533 0.574526 0.577684 0.505053 0.390187 0.36368 0.34096 +0.327707 0.322027 0.373147 0.435627 0.393973 0.354213 0.36936 0.411013 +0.433733 0.4148 0.393973 0.367467 0.350427 0.359893 0.39776 0.446987 +0.510105 0.540421 0.574526 0.590316 0.568842 0.533474 0.516421 0.503158 +0.456453 0.435627 0.43752 0.416693 0.4148 0.473493 0.505684 0.46024 +0.416693 0.393973 0.37504 0.390187 0.433733 0.481067 0.46592 0.44888 +0.450773 0.473493 0.513263 0.509474 0.456453 0.44888 0.484853 0.46592 +0.445093 0.446987 0.467813 0.508211 0.543579 0.609263 0.695158 0.781684 +0.838526 0.863158 0.884 0.914947 0.935158 0.951579 0.971158 0.978105 +0.980653 0.98849 0.997306 1.00384 1.01233 1.01722 1.01951 1.02147 +1.02865 1.02898 1.03029 1.03682 1.0378 1.03714 1.04073 1.04139 +1.03649 1.03518 1.04106 1.0391 1.03976 1.04204 1.04139 1.03943 +1.04041 1.04106 1.04237 1.04367 1.03943 1.03845 1.0391 1.03388 +1.03453 1.03257 1.02735 1.03192 1.03192 1.02506 1.02147 1.0218 +1.01788 1.01396 1.00873 1.0058 1.00547 0.999592 1.00188 1.00253 +1.00318 1.00678 1.01233 1.01853 1.02343 1.02833 1.02931 1.03061 +1.0329 1.03453 1.03127 1.02767 1.03127 1.03029 1.02376 1.02212 +1.01984 1.01233 0.993061 0.960421 0.927579 0.901053 0.875158 0.855579 +0.838526 0.812 0.784842 0.782947 0.789895 0.791158 0.775368 0.738105 +0.691368 0.612421 0.530947 0.475387 0.439413 0.433733 0.429947 0.4432 +0.473493 0.496213 0.505684 0.515158 0.513263 0.505053 0.498107 0.481067 +0.462133 0.458347 0.446987 0.428053 0.4148 0.395867 0.407227 0.39776 +0.371253 0.365573 0.36368 0.356107 0.359893 0.36368 0.35232 0.359893 +0.393973 0.393973 0.37504 0.38072 0.388293 0.371253 0.34664 0.350427 +0.35232 0.354213 0.356107 0.36936 0.35232 0.35232 0.344747 0.342853 +0.382613 0.44888 0.4148 0.356107 0.348533 0.356107 0.371253 0.3864 +0.376933 0.356107 0.356107 0.356107 0.35232 0.371253 0.373147 0.37504 +0.373147 0.339067 0.322027 0.325813 0.359893 0.358 0.337173 0.350427 +0.350427 0.331493 0.339067 0.365573 0.33528 0.30688 0.31256 0.337173 +0.358 0.359893 0.365573 0.376933 0.39208 0.384507 0.354213 0.344747 +0.367467 0.39208 0.42048 0.42048 0.4148 0.416693 0.412907 0.42048 +0.464027 0.535368 0.642105 0.791789 0.898526 0.951579 0.968 0.966737 +0.973684 0.984898 0.996 0.999918 1.0022 1.00449 1.0058 1.00743 +1.00678 1.00416 1.00612 1.01037 1.01037 1.01298 1.01331 1.01167 +1.01102 1.012 1.01494 1.01592 1.0169 1.01527 1.01461 1.01233 +1.00286 0.999918 1.00318 1.00253 1.0071 1.01167 1.00906 1.00939 +1.00678 0.993061 0.973053 0.959789 0.959789 0.950947 0.941474 0.945263 +0.962947 0.981633 0.954737 0.769053 0.543579 0.325813 0.327707 0.44888 +0.508842 0.473493 0.348533 0.28416 0.310667 0.276587 0.00092 0.00078 +0.000773333 0.00076 0.000773333 0.000753333 0.000706667 0.000726667 0.00074 0.000733333 +0.000733333 0.000753333 0.00076 0.00074 0.00072 0.00072 0.000713333 0.000706667 +0.000686667 0.000673333 0.000686667 0.000706667 0.00072 0.000713333 0.000706667 0.00072 +0.00074 0.00074 0.000726667 0.000713333 0.000726667 0.000726667 0.000726667 0.00072 +0.000713333 0.000733333 0.00074 0.000733333 0.00072 0.000726667 0.000746667 0.000766667 +0.000753333 0.000706667 0.0007 0.00074 0.000773333 0.00078 0.000786667 0.0008 +0.000833333 0.000893333 0.2728 0.378827 0.42048 0.585263 0.825895 0.984245 +0.985551 0.955368 0.943368 0.947158 0.954737 0.956 0.959789 0.967368 +0.976842 0.98751 0.998939 1.00776 1.01396 1.01722 1.01657 1.0169 +1.01592 1.01363 1.01331 1.01298 1.01233 1.01102 1.00939 1.01037 +1.00971 1.00841 1.00645 1.0058 1.00482 0.999918 0.983592 0.945895 +0.868842 0.711579 0.559368 0.45456 0.395867 0.40344 0.39776 0.371253 +0.356107 0.34664 0.3296 0.325813 0.31256 0.30688 0.32392 0.350427 +0.344747 0.331493 0.33528 0.34664 0.337173 0.33528 0.36368 0.422373 +0.424267 0.388293 0.367467 0.367467 0.354213 0.322027 0.310667 0.327707 +0.34096 0.33528 0.36368 0.395867 0.376933 0.354213 0.339067 0.331493 +0.350427 0.38072 0.411013 0.428053 0.45456 0.507579 0.541684 0.572632 +0.589053 0.575789 0.536632 0.510737 0.543579 0.582105 0.541684 0.462133 +0.4148 0.38072 0.344747 0.333387 0.365573 0.441307 0.462133 0.388293 +0.339067 0.344747 0.36368 0.39776 0.384507 0.356107 0.358 0.36368 +0.367467 0.384507 0.411013 0.405333 0.365573 0.34096 0.32392 0.316347 +0.3296 0.37504 0.412907 0.384507 0.34664 0.34096 0.36368 0.428053 +0.516421 0.56 0.561895 0.512632 0.399653 0.35232 0.344747 0.36368 +0.411013 0.422373 0.399653 0.3864 0.365573 0.350427 0.354213 0.361787 +0.382613 0.40344 0.39208 0.361787 0.34096 0.333387 0.325813 0.337173 +0.371253 0.458347 0.554316 0.582737 0.520211 0.393973 0.34664 0.32392 +0.325813 0.316347 0.3296 0.395867 0.40912 0.378827 0.378827 0.422373 +0.462133 0.446987 0.412907 0.3864 0.359893 0.3864 0.469707 0.523368 +0.554316 0.570737 0.577684 0.583368 0.573263 0.549263 0.525895 0.506316 +0.458347 0.429947 0.43184 0.42616 0.45456 0.532211 0.584 0.556211 +0.506947 0.452667 0.435627 0.475387 0.508842 0.518947 0.506947 0.503158 +0.529684 0.563158 0.587158 0.577684 0.541684 0.520211 0.520842 0.506316 +0.473493 0.446987 0.439413 0.44888 0.5 0.542316 0.613053 0.688211 +0.742526 0.777895 0.806316 0.849895 0.890316 0.922526 0.944632 0.954737 +0.962947 0.98098 0.989796 0.995673 1.00286 1.00841 1.01233 1.01657 +1.0218 1.02539 1.02669 1.03094 1.03355 1.03518 1.03616 1.03714 +1.03616 1.03322 1.03878 1.03747 1.03976 1.04204 1.03845 1.03878 +1.03943 1.03943 1.04171 1.04433 1.04204 1.0391 1.03845 1.0329 +1.03584 1.03388 1.02865 1.03127 1.03159 1.02669 1.02473 1.02735 +1.02408 1.01429 1.00808 1.00482 1.00057 0.995673 1.0009 1.00449 +1.00384 1.00318 1.00743 1.01298 1.01494 1.01984 1.02473 1.02931 +1.03322 1.03322 1.03094 1.02833 1.02735 1.02637 1.02376 1.01984 +1.00743 0.982612 0.933263 0.892842 0.867579 0.849895 0.840421 0.833474 +0.819579 0.793684 0.769684 0.772842 0.778526 0.767789 0.735579 0.672421 +0.607368 0.548 0.498107 0.428053 0.4148 0.42048 0.435627 0.467813 +0.505053 0.515789 0.519579 0.520842 0.506947 0.473493 0.450773 0.43184 +0.433733 0.450773 0.42616 0.411013 0.416693 0.40344 0.42048 0.405333 +0.365573 0.356107 0.354213 0.35232 0.36368 0.373147 0.365573 0.35232 +0.378827 0.39776 0.388293 0.388293 0.388293 0.382613 0.367467 0.371253 +0.365573 0.356107 0.350427 0.358 0.359893 0.38072 0.378827 0.365573 +0.382613 0.416693 0.390187 0.356107 0.348533 0.33528 0.316347 0.34664 +0.399653 0.367467 0.33528 0.354213 0.384507 0.405333 0.388293 0.3864 +0.382613 0.342853 0.327707 0.373147 0.446987 0.429947 0.361787 0.348533 +0.342853 0.325813 0.322027 0.32392 0.310667 0.308773 0.322027 0.344747 +0.356107 0.342853 0.333387 0.350427 0.399653 0.40344 0.36936 0.36368 +0.38072 0.40344 0.428053 0.424267 0.407227 0.405333 0.411013 0.411013 +0.445093 0.527158 0.636421 0.794316 0.906737 0.959789 0.974316 0.970526 +0.978737 0.985878 0.994367 0.999592 1.00155 1.00188 1.00318 1.00678 +1.00678 1.00514 1.00645 1.00939 1.01037 1.01135 1.012 1.01167 +1.01135 1.01037 1.01429 1.01722 1.0169 1.01527 1.01429 1.01233 +1.00841 1.00776 1.00939 1.00384 1.00351 1.00939 1.00906 1.00808 +1.0058 0.99698 0.98098 0.962316 0.960421 0.952842 0.944632 0.941474 +0.954737 0.980327 0.971789 0.813263 0.577684 0.34096 0.263333 0.33528 +0.445093 0.502526 0.458347 0.36936 0.331493 0.270907 0.000933333 0.00078 +0.000726667 0.000706667 0.000726667 0.000726667 0.000706667 0.000693333 0.0007 0.000693333 +0.0007 0.000706667 0.000706667 0.000713333 0.00074 0.00076 0.000733333 0.000733333 +0.000726667 0.000706667 0.0007 0.000686667 0.000693333 0.000706667 0.000706667 0.000706667 +0.000726667 0.000733333 0.000746667 0.00074 0.00072 0.000713333 0.000726667 0.000726667 +0.000706667 0.000713333 0.000733333 0.000726667 0.000706667 0.000713333 0.000733333 0.00076 +0.00076 0.000733333 0.000733333 0.000746667 0.00076 0.000773333 0.000786667 0.000786667 +0.000826667 0.00092 0.29552 0.388293 0.456453 0.631368 0.875158 0.989469 +0.980327 0.951579 0.942737 0.947789 0.952211 0.952842 0.959158 0.971158 +0.982939 0.994694 1.00645 1.01233 1.01559 1.01657 1.01559 1.01559 +1.01559 1.01429 1.01233 1.01233 1.01363 1.01167 1.00841 1.00873 +1.00906 1.00971 1.01102 1.01363 1.01592 1.01624 0.99698 0.950316 +0.861895 0.707789 0.562526 0.462133 0.388293 0.38072 0.3864 0.393973 +0.388293 0.37504 0.35232 0.339067 0.320133 0.29552 0.310667 0.348533 +0.354213 0.354213 0.361787 0.361787 0.342853 0.337173 0.35232 0.378827 +0.376933 0.36936 0.36936 0.359893 0.34096 0.31824 0.31256 0.32392 +0.322027 0.32392 0.344747 0.367467 0.350427 0.344747 0.350427 0.348533 +0.358 0.373147 0.3864 0.3864 0.388293 0.40344 0.446987 0.510737 +0.553684 0.579579 0.565053 0.545474 0.568211 0.602316 0.573895 0.511368 +0.412907 0.36368 0.354213 0.37504 0.4148 0.441307 0.399653 0.333387 +0.32392 0.350427 0.384507 0.42616 0.407227 0.384507 0.36368 0.356107 +0.359893 0.388293 0.445093 0.464027 0.40344 0.34664 0.32392 0.314453 +0.314453 0.337173 0.365573 0.361787 0.339067 0.3296 0.371253 0.47728 +0.529053 0.542316 0.517053 0.418587 0.344747 0.348533 0.34664 0.350427 +0.395867 0.452667 0.484853 0.46592 0.40344 0.359893 0.358 0.361787 +0.371253 0.401547 0.428053 0.416693 0.395867 0.371253 0.35232 0.359893 +0.395867 0.441307 0.528421 0.572 0.539789 0.429947 0.339067 0.316347 +0.320133 0.327707 0.333387 0.376933 0.407227 0.38072 0.36936 0.39776 +0.450773 0.446987 0.40344 0.416693 0.4432 0.501895 0.536632 0.565053 +0.569474 0.552421 0.529684 0.520842 0.517684 0.513263 0.501895 0.464027 +0.433733 0.418587 0.42048 0.43184 0.505053 0.594105 0.702105 0.687579 +0.592842 0.539789 0.527158 0.528421 0.530316 0.527158 0.524 0.542316 +0.587789 0.633263 0.65979 0.645263 0.593474 0.545474 0.511368 0.49432 +0.473493 0.467813 0.458347 0.450773 0.479173 0.510737 0.553684 0.606737 +0.645895 0.681895 0.722316 0.778526 0.834737 0.876421 0.904842 0.926947 +0.944 0.962947 0.980327 0.988163 0.994367 1.00057 1.00612 1.00873 +1.01331 1.01886 1.02049 1.02278 1.02669 1.02996 1.03127 1.03127 +1.03355 1.03029 1.03355 1.03518 1.0378 1.03878 1.03747 1.03976 +1.03976 1.03845 1.0391 1.04335 1.04139 1.04008 1.04106 1.03649 +1.03649 1.03551 1.0329 1.03257 1.03486 1.03355 1.03486 1.03812 +1.03518 1.02604 1.0218 1.01461 1.00318 0.998286 1.00057 1.00449 +1.00155 0.998286 1.0009 1.00514 1.00482 1.00971 1.0169 1.02376 +1.03061 1.03257 1.02865 1.02702 1.02245 1.0182 1.01265 0.99502 +0.954105 0.893474 0.853684 0.839789 0.834105 0.819579 0.805684 0.805053 +0.794947 0.774737 0.759579 0.757684 0.739368 0.698316 0.645895 0.577684 +0.525895 0.501895 0.445093 0.401547 0.401547 0.43184 0.45456 0.48864 +0.505684 0.508842 0.505684 0.501263 0.464027 0.416693 0.412907 0.40344 +0.412907 0.456453 0.43752 0.393973 0.3864 0.382613 0.42048 0.411013 +0.365573 0.359893 0.354213 0.358 0.376933 0.388293 0.390187 0.371253 +0.37504 0.422373 0.435627 0.401547 0.36936 0.361787 0.36368 0.36368 +0.348533 0.34664 0.356107 0.378827 0.3864 0.399653 0.405333 0.401547 +0.395867 0.39208 0.36368 0.350427 0.35232 0.342853 0.320133 0.373147 +0.48296 0.418587 0.327707 0.32392 0.37504 0.445093 0.435627 0.376933 +0.348533 0.34664 0.36368 0.418587 0.47728 0.46024 0.395867 0.344747 +0.316347 0.31256 0.32392 0.32392 0.314453 0.314453 0.337173 0.36368 +0.354213 0.327707 0.31256 0.339067 0.429947 0.450773 0.393973 0.38072 +0.412907 0.433733 0.441307 0.458347 0.446987 0.416693 0.405333 0.412907 +0.439413 0.520842 0.635158 0.8 0.914316 0.963579 0.975579 0.971158 +0.978105 0.985878 0.994041 0.999918 1.00351 1.00318 1.00253 1.00678 +1.00645 1.0058 1.00906 1.01135 1.01037 1.01102 1.01233 1.01102 +1.01233 1.01102 1.01167 1.0169 1.01624 1.01592 1.01624 1.01298 +1.01004 1.01004 1.00841 1.00188 1.00057 1.0071 1.01004 1.00808 +1.00678 1.00318 0.987184 0.964211 0.956632 0.952211 0.949053 0.945263 +0.952842 0.977474 0.980327 0.852421 0.613684 0.365573 0.231147 0.246293 +0.337173 0.469707 0.504421 0.42048 0.31824 0.23304 0.00084 0.000753333 +0.00072 0.000726667 0.000746667 0.00074 0.000733333 0.000726667 0.000753333 0.000753333 +0.000733333 0.000713333 0.000693333 0.000693333 0.000713333 0.000733333 0.00072 0.000713333 +0.00074 0.000753333 0.000746667 0.000726667 0.000726667 0.000746667 0.000753333 0.00074 +0.000706667 0.000693333 0.000713333 0.000726667 0.000733333 0.000713333 0.00072 0.000746667 +0.000733333 0.000726667 0.000746667 0.000753333 0.000726667 0.000733333 0.000753333 0.00076 +0.000766667 0.000753333 0.000746667 0.000753333 0.00078 0.00078 0.00078 0.000793333 +0.000826667 0.000946667 0.31256 0.393973 0.5 0.675579 0.911789 0.989143 +0.970526 0.947158 0.944632 0.950316 0.955368 0.954105 0.962947 0.975579 +0.98751 1.00057 1.01004 1.01461 1.01624 1.01624 1.01559 1.01592 +1.01624 1.01494 1.01265 1.01167 1.012 1.01069 1.00841 1.00939 +1.01037 1.012 1.01722 1.02441 1.03029 1.03616 1.02016 0.966105 +0.852421 0.700842 0.565053 0.473493 0.388293 0.358 0.371253 0.407227 +0.399653 0.361787 0.33528 0.325813 0.31256 0.299307 0.308773 0.33528 +0.359893 0.39208 0.40344 0.38072 0.354213 0.337173 0.33528 0.34664 +0.356107 0.367467 0.37504 0.359893 0.339067 0.322027 0.32392 0.327707 +0.331493 0.327707 0.339067 0.35232 0.34664 0.339067 0.35232 0.378827 +0.3864 0.378827 0.358 0.354213 0.36368 0.382613 0.40344 0.43752 +0.501263 0.517684 0.517053 0.517053 0.549895 0.601053 0.595368 0.526526 +0.40912 0.354213 0.371253 0.407227 0.418587 0.39208 0.350427 0.322027 +0.32392 0.348533 0.411013 0.479173 0.46592 0.411013 0.359893 0.339067 +0.348533 0.39208 0.501263 0.527158 0.48864 0.37504 0.331493 0.30688 +0.29552 0.303093 0.31256 0.314453 0.320133 0.344747 0.416693 0.500632 +0.508211 0.492427 0.43752 0.361787 0.331493 0.344747 0.354213 0.35232 +0.367467 0.412907 0.467813 0.46592 0.40344 0.36368 0.367467 0.371253 +0.382613 0.40912 0.428053 0.43752 0.456453 0.450773 0.433733 0.458347 +0.496213 0.505053 0.528421 0.565053 0.554947 0.484853 0.361787 0.337173 +0.331493 0.339067 0.358 0.378827 0.39208 0.390187 0.395867 0.439413 +0.484853 0.469707 0.433733 0.490533 0.542316 0.587789 0.609895 0.594737 +0.554316 0.510737 0.441307 0.418587 0.43752 0.456453 0.46024 0.439413 +0.424267 0.411013 0.4148 0.435627 0.506316 0.594105 0.719158 0.753263 +0.676211 0.596632 0.558737 0.539789 0.525263 0.518316 0.529684 0.554947 +0.582105 0.607368 0.622526 0.613053 0.572 0.520211 0.445093 0.42048 +0.4148 0.418587 0.43184 0.462133 0.496213 0.5 0.510105 0.537895 +0.566316 0.596 0.642105 0.703368 0.759579 0.809474 0.844211 0.880842 +0.909263 0.939579 0.964842 0.98098 0.987837 0.995347 0.998939 1.00024 +1.00612 1.01004 1.01429 1.01624 1.01886 1.02049 1.02343 1.02408 +1.02637 1.02604 1.02735 1.03388 1.03453 1.0342 1.03616 1.03812 +1.03812 1.03714 1.03616 1.04041 1.04139 1.04041 1.04269 1.04106 +1.03812 1.03714 1.03747 1.03682 1.03943 1.0391 1.04302 1.04563 +1.04367 1.04073 1.04106 1.03518 1.0231 1.012 1.00743 1.00449 +0.996 0.992735 0.994367 0.997306 0.995673 0.998612 1.00776 1.01396 +1.01984 1.02539 1.02114 1.01624 1.01037 0.995673 0.973684 0.918737 +0.858737 0.819579 0.798105 0.797474 0.8 0.789895 0.775368 0.770947 +0.763368 0.745053 0.714737 0.681895 0.636421 0.580842 0.534737 0.501263 +0.45456 0.424267 0.40344 0.39208 0.39776 0.429947 0.450773 0.469707 +0.475387 0.456453 0.424267 0.424267 0.429947 0.40344 0.395867 0.418587 +0.433733 0.467813 0.456453 0.388293 0.356107 0.350427 0.411013 0.428053 +0.384507 0.367467 0.344747 0.34096 0.371253 0.393973 0.416693 0.407227 +0.388293 0.43752 0.492427 0.429947 0.36368 0.344747 0.35232 0.359893 +0.354213 0.35232 0.361787 0.37504 0.371253 0.361787 0.38072 0.418587 +0.4432 0.42616 0.3864 0.361787 0.358 0.350427 0.342853 0.416693 +0.512632 0.445093 0.331493 0.322027 0.359893 0.44888 0.4432 0.342853 +0.304987 0.320133 0.34664 0.378827 0.388293 0.371253 0.354213 0.34096 +0.320133 0.303093 0.308773 0.320133 0.31256 0.3012 0.322027 0.361787 +0.350427 0.331493 0.327707 0.358 0.446987 0.4716 0.39208 0.356107 +0.39208 0.43184 0.441307 0.469707 0.469707 0.43752 0.405333 0.412907 +0.445093 0.520842 0.633263 0.798737 0.918737 0.964211 0.972421 0.973684 +0.981633 0.988163 0.99502 0.999265 1.00286 1.00416 1.00351 1.0071 +1.00906 1.00808 1.00971 1.01135 1.01069 1.00873 1.01069 1.01004 +1.01167 1.01265 1.01233 1.01592 1.01461 1.01429 1.01722 1.01461 +1.01037 1.00971 1.01004 1.00612 1.00384 1.00678 1.01037 1.00939 +1.00841 1.0058 0.992082 0.971789 0.962316 0.957263 0.947789 0.942105 +0.947158 0.968 0.981633 0.886526 0.661684 0.450773 0.25576 0.223573 +0.270907 0.393973 0.45456 0.36368 0.251973 0.000906667 0.0008 0.000786667 +0.000786667 0.000766667 0.000713333 0.00068 0.000713333 0.00072 0.000733333 0.00074 +0.00074 0.00074 0.000733333 0.00074 0.000746667 0.000733333 0.00072 0.000713333 +0.000706667 0.000726667 0.00074 0.000713333 0.000726667 0.00074 0.000746667 0.000766667 +0.000753333 0.000726667 0.000706667 0.000713333 0.000726667 0.000726667 0.000706667 0.000733333 +0.000753333 0.000726667 0.000713333 0.00074 0.00074 0.000753333 0.000746667 0.00074 +0.00076 0.000753333 0.000746667 0.000753333 0.00078 0.000786667 0.000753333 0.00078 +0.000813333 0.000986667 0.331493 0.407227 0.525263 0.728632 0.943368 0.987837 +0.966105 0.949053 0.946526 0.951579 0.956 0.955368 0.964842 0.980653 +0.992408 1.00547 1.012 1.01527 1.01624 1.01494 1.01559 1.01592 +1.01559 1.01527 1.01363 1.01298 1.01265 1.01167 1.00971 1.00971 +1.01135 1.01657 1.02669 1.03714 1.04302 1.05086 1.044 0.989469 +0.847368 0.691368 0.562526 0.47728 0.39776 0.36368 0.36936 0.40344 +0.376933 0.333387 0.325813 0.320133 0.308773 0.30688 0.310667 0.316347 +0.33528 0.3864 0.422373 0.422373 0.405333 0.371253 0.348533 0.342853 +0.348533 0.376933 0.393973 0.378827 0.354213 0.337173 0.331493 0.327707 +0.339067 0.33528 0.32392 0.333387 0.350427 0.35232 0.356107 0.37504 +0.390187 0.399653 0.3864 0.367467 0.36368 0.390187 0.4148 0.42616 +0.441307 0.450773 0.456453 0.464027 0.518316 0.585895 0.606105 0.543579 +0.43184 0.36368 0.384507 0.401547 0.37504 0.344747 0.34096 0.34096 +0.34096 0.36368 0.435627 0.513895 0.512632 0.435627 0.359893 0.333387 +0.34096 0.38072 0.4716 0.518947 0.496213 0.390187 0.34096 0.31256 +0.310667 0.322027 0.322027 0.322027 0.3296 0.358 0.416693 0.458347 +0.452667 0.416693 0.373147 0.34096 0.342853 0.358 0.358 0.354213 +0.365573 0.395867 0.424267 0.411013 0.393973 0.388293 0.373147 0.361787 +0.359893 0.37504 0.384507 0.401547 0.452667 0.502526 0.527158 0.553053 +0.560632 0.549263 0.546105 0.561895 0.566947 0.526526 0.433733 0.367467 +0.344747 0.337173 0.361787 0.373147 0.371253 0.393973 0.456453 0.532842 +0.567579 0.551789 0.534105 0.554947 0.611158 0.663579 0.663579 0.596 +0.520842 0.4432 0.39208 0.378827 0.399653 0.439413 0.47728 0.469707 +0.458347 0.45456 0.469707 0.5 0.508842 0.539789 0.607368 0.663579 +0.647789 0.580842 0.536632 0.516421 0.508211 0.506316 0.511368 0.513263 +0.512 0.512632 0.524 0.532211 0.520842 0.481067 0.407227 0.395867 +0.395867 0.39776 0.42048 0.450773 0.48296 0.498107 0.469707 0.475387 +0.513263 0.536 0.572632 0.625684 0.673684 0.730526 0.774737 0.818947 +0.858737 0.907368 0.947158 0.970526 0.981633 0.987837 0.993061 0.993388 +0.997959 1.00155 1.00612 1.00808 1.00939 1.00939 1.01363 1.01527 +1.01657 1.01853 1.02114 1.02702 1.02637 1.02669 1.0329 1.03453 +1.03257 1.03518 1.03551 1.03976 1.04139 1.04041 1.04237 1.04237 +1.04008 1.03976 1.04106 1.04139 1.04367 1.04237 1.04727 1.05086 +1.04922 1.05086 1.05249 1.04988 1.04367 1.03061 1.0218 1.01037 +0.997633 0.994041 0.994041 0.996327 0.991429 0.988816 0.994694 0.997633 +0.999918 1.00351 0.997959 0.985551 0.965474 0.921263 0.866316 0.817053 +0.784211 0.772842 0.762105 0.762737 0.768421 0.765263 0.753263 0.734316 +0.704 0.666105 0.614316 0.561263 0.524632 0.501895 0.456453 0.411013 +0.401547 0.40912 0.388293 0.3864 0.382613 0.395867 0.39776 0.411013 +0.433733 0.435627 0.405333 0.4148 0.42616 0.418587 0.39208 0.407227 +0.428053 0.452667 0.44888 0.395867 0.36936 0.367467 0.40344 0.411013 +0.378827 0.376933 0.367467 0.361787 0.36936 0.378827 0.390187 0.395867 +0.384507 0.42616 0.503158 0.469707 0.39208 0.373147 0.373147 0.371253 +0.36368 0.359893 0.367467 0.371253 0.34664 0.32392 0.33528 0.384507 +0.446987 0.47728 0.452667 0.40912 0.373147 0.350427 0.34096 0.390187 +0.458347 0.39776 0.331493 0.327707 0.358 0.42616 0.40344 0.327707 +0.31256 0.303093 0.29552 0.316347 0.331493 0.339067 0.339067 0.34096 +0.337173 0.310667 0.30688 0.314453 0.299307 0.291733 0.322027 0.359893 +0.342853 0.331493 0.33528 0.359893 0.395867 0.39208 0.344747 0.322027 +0.356107 0.401547 0.40344 0.405333 0.411013 0.412907 0.412907 0.42616 +0.45456 0.525263 0.633263 0.791789 0.917474 0.966737 0.977474 0.981306 +0.985224 0.989469 0.995673 0.999918 1.0009 1.00155 1.00253 1.00678 +1.01135 1.01167 1.00906 1.00841 1.00971 1.00808 1.01135 1.01331 +1.01004 1.01102 1.01135 1.01494 1.01396 1.01167 1.01429 1.01494 +1.012 1.00939 1.00939 1.00743 1.00645 1.00906 1.01135 1.01265 +1.01265 1.00743 0.996 0.974947 0.961053 0.958526 0.947158 0.940211 +0.948421 0.965474 0.983265 0.913684 0.702105 0.508211 0.27848 0.236827 +0.282267 0.354213 0.371253 0.282267 0.00096 0.00086 0.00078 0.000753333 +0.000753333 0.000733333 0.000713333 0.000706667 0.00072 0.00074 0.000746667 0.000726667 +0.000726667 0.000726667 0.000713333 0.000733333 0.000733333 0.00072 0.000733333 0.000753333 +0.000733333 0.000733333 0.00074 0.000726667 0.000713333 0.0007 0.000673333 0.000706667 +0.000733333 0.000733333 0.000733333 0.000726667 0.00074 0.000746667 0.000726667 0.00072 +0.000746667 0.000733333 0.000706667 0.00072 0.000733333 0.00076 0.000766667 0.000753333 +0.00076 0.000753333 0.000766667 0.00078 0.000773333 0.000793333 0.000786667 0.000786667 +0.000813333 0.225467 0.350427 0.42048 0.557474 0.782947 0.969263 0.985878 +0.961053 0.946526 0.947158 0.954737 0.954105 0.956632 0.966105 0.982286 +0.994367 1.00547 1.01135 1.01527 1.01592 1.01624 1.01755 1.01755 +1.01592 1.01396 1.01298 1.01298 1.01298 1.01298 1.01167 1.01167 +1.01657 1.02376 1.03682 1.04792 1.05184 1.05706 1.05869 1.00776 +0.854316 0.686316 0.560632 0.475387 0.405333 0.393973 0.39776 0.40912 +0.371253 0.331493 0.320133 0.308773 0.303093 0.308773 0.314453 0.310667 +0.31824 0.350427 0.390187 0.43752 0.475387 0.47728 0.445093 0.395867 +0.373147 0.40344 0.429947 0.407227 0.365573 0.34664 0.344747 0.339067 +0.339067 0.325813 0.310667 0.320133 0.34664 0.359893 0.361787 0.367467 +0.376933 0.401547 0.42616 0.418587 0.388293 0.384507 0.39208 0.39776 +0.39776 0.399653 0.416693 0.428053 0.5 0.570737 0.616211 0.570105 +0.479173 0.37504 0.373147 0.36368 0.33528 0.322027 0.342853 0.350427 +0.34664 0.350427 0.401547 0.508211 0.514526 0.43752 0.36936 0.339067 +0.33528 0.348533 0.38072 0.422373 0.412907 0.378827 0.35232 0.339067 +0.354213 0.36368 0.350427 0.342853 0.339067 0.344747 0.36936 0.39208 +0.411013 0.3864 0.34096 0.327707 0.35232 0.36368 0.35232 0.36368 +0.38072 0.401547 0.40344 0.38072 0.373147 0.38072 0.36936 0.350427 +0.342853 0.354213 0.367467 0.373147 0.399653 0.490533 0.544211 0.566947 +0.551158 0.525263 0.511368 0.518316 0.540421 0.537895 0.501263 0.40344 +0.344747 0.333387 0.361787 0.37504 0.365573 0.4148 0.529053 0.637053 +0.712842 0.687579 0.635158 0.618105 0.62 0.624421 0.611789 0.551789 +0.469707 0.399653 0.390187 0.38072 0.384507 0.422373 0.467813 0.498107 +0.501895 0.506316 0.514526 0.517053 0.509474 0.503789 0.520842 0.560632 +0.567579 0.531579 0.502526 0.467813 0.45456 0.450773 0.439413 0.424267 +0.40912 0.416693 0.439413 0.458347 0.46592 0.473493 0.43752 0.390187 +0.3864 0.40344 0.399653 0.416693 0.428053 0.45456 0.462133 0.4432 +0.462133 0.498107 0.518316 0.556842 0.602947 0.655368 0.703368 0.748842 +0.804421 0.874526 0.929474 0.959789 0.977474 0.983918 0.988816 0.990122 +0.991755 0.991429 0.996653 0.998286 0.998286 1.00024 1.00318 1.00612 +1.00645 1.00612 1.01069 1.01363 1.01429 1.01657 1.02506 1.02571 +1.02245 1.02931 1.03355 1.03584 1.03518 1.03584 1.04171 1.03878 +1.0378 1.04106 1.04269 1.04269 1.04433 1.04531 1.05151 1.05478 +1.05249 1.05641 1.05771 1.05216 1.04792 1.04106 1.03224 1.0182 +1.00482 0.997633 0.99502 0.993061 0.985878 0.983918 0.983592 0.980653 +0.973684 0.962947 0.940842 0.902316 0.860632 0.815789 0.774105 0.749474 +0.743789 0.745684 0.748211 0.752632 0.751368 0.731789 0.696421 0.647789 +0.592842 0.544211 0.507579 0.446987 0.411013 0.424267 0.429947 0.399653 +0.37504 0.39776 0.401547 0.384507 0.35232 0.34664 0.358 0.37504 +0.412907 0.4432 0.429947 0.43752 0.43752 0.433733 0.411013 0.384507 +0.39208 0.418587 0.439413 0.411013 0.3864 0.373147 0.393973 0.395867 +0.36936 0.371253 0.36936 0.37504 0.3864 0.3864 0.373147 0.367467 +0.358 0.3864 0.473493 0.501263 0.458347 0.418587 0.39776 0.367467 +0.34664 0.35232 0.376933 0.3864 0.344747 0.32392 0.32392 0.34096 +0.40344 0.5 0.501895 0.4148 0.358 0.34664 0.33528 0.339067 +0.350427 0.322027 0.31256 0.3296 0.37504 0.42616 0.390187 0.327707 +0.320133 0.322027 0.322027 0.331493 0.327707 0.325813 0.3296 0.327707 +0.322027 0.320133 0.3296 0.325813 0.308773 0.31256 0.356107 0.38072 +0.331493 0.31256 0.325813 0.33528 0.34664 0.339067 0.31824 0.31256 +0.35232 0.401547 0.390187 0.367467 0.36936 0.373147 0.390187 0.428053 +0.462133 0.526526 0.636421 0.797474 0.92 0.965474 0.98 0.984571 +0.990122 0.992735 0.996 1.00122 1.00286 1.00286 1.0009 1.00286 +1.00873 1.01135 1.01069 1.01004 1.01069 1.00873 1.01004 1.01331 +1.01004 1.01004 1.01135 1.01527 1.01559 1.01429 1.01592 1.01559 +1.01233 1.00449 1.00024 0.999918 1.00449 1.01233 1.01396 1.01396 +1.01102 1.00449 0.996 0.980653 0.959158 0.959789 0.956 0.947789 +0.950316 0.962316 0.982612 0.937053 0.736842 0.525895 0.299307 0.276587 +0.331493 0.339067 0.297413 0.22736 0.000866667 0.000826667 0.0008 0.000793333 +0.00078 0.000746667 0.000746667 0.00074 0.000706667 0.00072 0.000733333 0.000746667 +0.000753333 0.000746667 0.00072 0.00072 0.000706667 0.00068 0.000693333 0.000713333 +0.000706667 0.0007 0.000726667 0.000733333 0.00074 0.000746667 0.000726667 0.000706667 +0.000713333 0.000713333 0.0007 0.000693333 0.000706667 0.000713333 0.000713333 0.000706667 +0.000746667 0.000766667 0.000773333 0.000753333 0.000753333 0.000766667 0.00076 0.000746667 +0.000733333 0.000753333 0.00078 0.000793333 0.000766667 0.00078 0.00082 0.00082 +0.000853333 0.251973 0.36368 0.429947 0.591579 0.828421 0.981306 0.982939 +0.954737 0.941474 0.945895 0.955368 0.953474 0.957895 0.968632 0.985224 +1.00024 1.0071 1.01069 1.01461 1.01429 1.01429 1.01624 1.01722 +1.0169 1.01624 1.01527 1.01331 1.01135 1.01102 1.01069 1.012 +1.01918 1.03029 1.04596 1.05673 1.05837 1.05902 1.06913 1.01918 +0.862526 0.681895 0.558105 0.473493 0.424267 0.439413 0.446987 0.422373 +0.37504 0.342853 0.331493 0.320133 0.310667 0.310667 0.31256 0.30688 +0.308773 0.3296 0.35232 0.40344 0.48864 0.524632 0.534737 0.518947 +0.501263 0.496213 0.501895 0.475387 0.40912 0.373147 0.359893 0.339067 +0.325813 0.322027 0.31824 0.322027 0.333387 0.344747 0.35232 0.36936 +0.376933 0.39776 0.452667 0.46024 0.42048 0.39208 0.365573 0.358 +0.36368 0.371253 0.382613 0.405333 0.475387 0.563789 0.626316 0.600421 +0.517684 0.39208 0.35232 0.337173 0.3296 0.331493 0.348533 0.36368 +0.359893 0.34664 0.371253 0.462133 0.46592 0.39776 0.361787 0.34096 +0.342853 0.358 0.36368 0.367467 0.358 0.35232 0.34664 0.344747 +0.35232 0.365573 0.365573 0.34664 0.327707 0.32392 0.331493 0.350427 +0.3864 0.378827 0.342853 0.337173 0.354213 0.361787 0.350427 0.358 +0.367467 0.384507 0.39208 0.36936 0.356107 0.35232 0.344747 0.333387 +0.344747 0.354213 0.36368 0.356107 0.361787 0.416693 0.506316 0.515158 +0.479173 0.411013 0.384507 0.395867 0.46592 0.508211 0.484853 0.40344 +0.356107 0.34664 0.356107 0.373147 0.39208 0.484853 0.586526 0.741263 +0.845474 0.806316 0.698316 0.62 0.565053 0.526526 0.514526 0.479173 +0.412907 0.384507 0.388293 0.388293 0.378827 0.39776 0.42616 0.462133 +0.484853 0.505053 0.515789 0.514526 0.505684 0.508211 0.513895 0.528421 +0.524 0.503789 0.46592 0.43184 0.418587 0.411013 0.411013 0.424267 +0.42048 0.418587 0.42048 0.40344 0.40912 0.452667 0.445093 0.37504 +0.34664 0.36936 0.365573 0.384507 0.405333 0.407227 0.42048 0.407227 +0.407227 0.416693 0.43752 0.503158 0.541684 0.585895 0.631368 0.68 +0.753263 0.841053 0.916211 0.962316 0.982939 0.986531 0.98849 0.991429 +0.992082 0.989143 0.990122 0.99502 0.992082 0.993714 0.994694 0.998612 +0.999592 0.996327 0.999265 0.999265 1.0009 1.00351 1.01167 1.01233 +1.00906 1.01624 1.02343 1.02669 1.02637 1.02833 1.03486 1.03388 +1.0342 1.03845 1.03878 1.03812 1.04237 1.04596 1.05151 1.05576 +1.05445 1.05739 1.05673 1.0502 1.04237 1.03976 1.03159 1.01788 +1.00743 0.996653 0.990122 0.983918 0.974316 0.968632 0.959158 0.945263 +0.920632 0.889053 0.853684 0.813895 0.773474 0.741263 0.726105 0.722947 +0.726737 0.729263 0.729263 0.715368 0.677474 0.627579 0.575158 0.525895 +0.481067 0.416693 0.371253 0.36368 0.361787 0.373147 0.382613 0.39208 +0.390187 0.399653 0.401547 0.373147 0.344747 0.339067 0.348533 0.365573 +0.405333 0.46024 0.452667 0.43184 0.424267 0.445093 0.467813 0.435627 +0.401547 0.401547 0.416693 0.407227 0.388293 0.373147 0.384507 0.395867 +0.36936 0.365573 0.354213 0.35232 0.358 0.36936 0.378827 0.3864 +0.373147 0.365573 0.4148 0.492427 0.500632 0.43184 0.39208 0.373147 +0.359893 0.38072 0.39776 0.384507 0.34096 0.333387 0.339067 0.327707 +0.35232 0.490533 0.507579 0.405333 0.342853 0.33528 0.320133 0.31824 +0.31824 0.29552 0.291733 0.34096 0.429947 0.456453 0.38072 0.327707 +0.320133 0.333387 0.358 0.37504 0.34664 0.320133 0.31824 0.322027 +0.316347 0.31256 0.320133 0.322027 0.310667 0.333387 0.411013 0.42616 +0.34664 0.310667 0.314453 0.304987 0.314453 0.331493 0.34096 0.339067 +0.348533 0.395867 0.405333 0.37504 0.365573 0.371253 0.39776 0.43752 +0.46592 0.527158 0.639579 0.803789 0.922526 0.962316 0.980327 0.990776 +0.996653 0.997306 0.997959 0.999592 1.00351 1.0058 1.00416 1.00318 +1.00808 1.00971 1.01069 1.01167 1.00971 1.00906 1.01004 1.01265 +1.01135 1.01265 1.01429 1.01559 1.01559 1.01331 1.01657 1.01722 +1.01461 1.0058 0.993714 0.989469 0.998286 1.01004 1.01331 1.01331 +1.00939 1.00416 0.999592 0.988816 0.970526 0.962316 0.955368 0.945895 +0.947158 0.957263 0.981633 0.959158 0.777895 0.553053 0.350427 0.327707 +0.342853 0.286053 0.225467 0.000933333 0.00086 0.00084 0.00088 0.000873333 +0.00086 0.00078 0.000726667 0.0007 0.000713333 0.000706667 0.000706667 0.000713333 +0.00074 0.00074 0.000726667 0.000733333 0.000733333 0.000733333 0.000726667 0.00074 +0.000733333 0.000706667 0.00072 0.00072 0.000706667 0.000713333 0.00072 0.0007 +0.000706667 0.000726667 0.000746667 0.00072 0.000706667 0.00072 0.00072 0.000706667 +0.000713333 0.00074 0.00074 0.000746667 0.00076 0.00076 0.00076 0.000753333 +0.000726667 0.000733333 0.000773333 0.000773333 0.00076 0.00076 0.000793333 0.000826667 +0.000886667 0.276587 0.37504 0.441307 0.626947 0.870105 0.984245 0.975579 +0.950316 0.941474 0.949684 0.957895 0.957895 0.958526 0.968 0.987184 +1.00253 1.00906 1.00939 1.01363 1.01396 1.01265 1.01592 1.0169 +1.01592 1.0169 1.0169 1.01396 1.01069 1.01004 1.01004 1.01233 +1.0218 1.0378 1.0551 1.06609 1.05804 1.05478 1.05673 1.02408 +0.875158 0.678737 0.550526 0.45456 0.42048 0.45456 0.467813 0.42048 +0.36936 0.348533 0.342853 0.331493 0.316347 0.303093 0.316347 0.320133 +0.320133 0.327707 0.339067 0.36936 0.43752 0.513263 0.549263 0.568842 +0.568842 0.560632 0.558105 0.549895 0.512632 0.418587 0.35232 0.327707 +0.33528 0.342853 0.34664 0.34096 0.331493 0.327707 0.333387 0.36936 +0.401547 0.428053 0.46024 0.435627 0.401547 0.39208 0.376933 0.376933 +0.376933 0.382613 0.395867 0.418587 0.48296 0.565053 0.650947 0.639579 +0.539789 0.39776 0.344747 0.342853 0.344747 0.35232 0.354213 0.354213 +0.348533 0.337173 0.361787 0.433733 0.42048 0.367467 0.348533 0.33528 +0.342853 0.35232 0.34664 0.339067 0.331493 0.327707 0.333387 0.339067 +0.342853 0.373147 0.378827 0.348533 0.327707 0.322027 0.32392 0.34096 +0.358 0.359893 0.339067 0.333387 0.348533 0.359893 0.361787 0.354213 +0.359893 0.371253 0.376933 0.361787 0.342853 0.337173 0.333387 0.33528 +0.348533 0.34664 0.337173 0.325813 0.3296 0.344747 0.39208 0.418587 +0.39776 0.35232 0.33528 0.333387 0.36368 0.418587 0.42048 0.384507 +0.365573 0.358 0.358 0.388293 0.43184 0.505053 0.600421 0.776 +0.889684 0.827789 0.672421 0.564421 0.512632 0.4432 0.411013 0.399653 +0.390187 0.38072 0.3864 0.39208 0.376933 0.382613 0.39208 0.39776 +0.42616 0.458347 0.503158 0.513895 0.518316 0.531579 0.527158 0.518947 +0.506947 0.475387 0.44888 0.418587 0.40344 0.411013 0.4148 0.44888 +0.45456 0.412907 0.39208 0.376933 0.390187 0.429947 0.429947 0.388293 +0.365573 0.371253 0.376933 0.418587 0.45456 0.42616 0.39208 0.36368 +0.371253 0.373147 0.390187 0.4148 0.46024 0.522105 0.567579 0.617474 +0.704 0.808842 0.906737 0.968 0.98751 0.991429 0.991755 0.994694 +0.995673 0.994694 0.993061 0.991429 0.989469 0.991755 0.993714 0.996327 +0.999592 0.998286 0.993388 0.988163 0.990776 0.992735 0.998939 0.999918 +0.997633 0.999592 1.00645 1.01331 1.01429 1.01527 1.02082 1.02506 +1.02833 1.03322 1.03322 1.03486 1.04237 1.04465 1.04727 1.05216 +1.05151 1.04759 1.04237 1.03682 1.02637 1.02376 1.01886 1.00873 +1.0022 0.990449 0.98 0.961684 0.942737 0.924421 0.902947 0.878316 +0.843579 0.805053 0.771579 0.746947 0.731158 0.717263 0.714105 0.705263 +0.694526 0.682526 0.653474 0.606105 0.544842 0.501895 0.43184 0.393973 +0.40344 0.401547 0.354213 0.339067 0.34096 0.350427 0.359893 0.399653 +0.422373 0.40912 0.371253 0.344747 0.34096 0.331493 0.339067 0.358 +0.382613 0.456453 0.475387 0.433733 0.411013 0.441307 0.502526 0.46592 +0.399653 0.382613 0.3864 0.388293 0.390187 0.373147 0.367467 0.37504 +0.35232 0.348533 0.35232 0.350427 0.33528 0.34664 0.376933 0.399653 +0.39776 0.38072 0.37504 0.43752 0.49432 0.439413 0.384507 0.390187 +0.399653 0.405333 0.393973 0.367467 0.337173 0.32392 0.3296 0.322027 +0.333387 0.464027 0.501895 0.39776 0.34096 0.322027 0.308773 0.308773 +0.316347 0.30688 0.29552 0.358 0.486747 0.49432 0.39776 0.361787 +0.348533 0.33528 0.348533 0.388293 0.3864 0.350427 0.3296 0.337173 +0.333387 0.32392 0.31824 0.322027 0.320133 0.367467 0.462133 0.458347 +0.371253 0.333387 0.320133 0.30688 0.310667 0.325813 0.34664 0.344747 +0.337173 0.388293 0.429947 0.388293 0.36936 0.407227 0.445093 0.452667 +0.46024 0.532211 0.646526 0.803789 0.922526 0.962947 0.984245 1.0009 +1.00416 1.00122 1.0009 1.00122 1.00188 1.00482 1.00808 1.0071 +1.01004 1.00906 1.0071 1.00939 1.00873 1.01004 1.01298 1.01363 +1.01135 1.01233 1.01494 1.01461 1.01559 1.01331 1.01461 1.0169 +1.01592 1.00939 0.994367 0.983918 0.992408 1.00645 1.01298 1.01461 +1.01135 1.00841 1.00449 0.991755 0.973684 0.962316 0.952211 0.946526 +0.945263 0.952842 0.980327 0.972421 0.817684 0.584632 0.395867 0.348533 +0.3296 0.26712 0.219787 0.000973333 0.00096 0.000893333 0.000886667 0.000886667 +0.000873333 0.000826667 0.000766667 0.000726667 0.000686667 0.000693333 0.000693333 0.000693333 +0.0007 0.000706667 0.000706667 0.000726667 0.00072 0.000726667 0.000726667 0.00072 +0.000726667 0.000733333 0.00074 0.000746667 0.00072 0.000706667 0.000706667 0.000693333 +0.000693333 0.0007 0.00072 0.000726667 0.000726667 0.000753333 0.000753333 0.00072 +0.00072 0.000713333 0.000706667 0.0007 0.00072 0.00072 0.000726667 0.000733333 +0.00074 0.00076 0.000806667 0.0008 0.000793333 0.000793333 0.000793333 0.000813333 +0.000906667 0.29552 0.384507 0.47728 0.665474 0.906105 0.985878 0.968 +0.949053 0.945263 0.952842 0.957263 0.957263 0.959158 0.970526 0.989469 +1.00384 1.00906 1.00841 1.01363 1.01657 1.01494 1.0169 1.0169 +1.01461 1.01624 1.01755 1.01494 1.01135 1.01004 1.01004 1.01396 +1.02539 1.04596 1.095 1.11021 1.05869 1.04955 1.04727 1.0218 +0.882105 0.678105 0.545474 0.4432 0.401547 0.416693 0.422373 0.388293 +0.350427 0.331493 0.33528 0.331493 0.316347 0.303093 0.320133 0.339067 +0.337173 0.342853 0.36368 0.382613 0.388293 0.42616 0.506947 0.549263 +0.584632 0.605474 0.630737 0.638947 0.584 0.502526 0.36368 0.331493 +0.34096 0.344747 0.344747 0.342853 0.339067 0.337173 0.34096 0.38072 +0.424267 0.456453 0.452667 0.39776 0.36936 0.3864 0.40912 0.424267 +0.416693 0.40912 0.407227 0.42616 0.484853 0.570737 0.676211 0.667368 +0.548632 0.411013 0.36368 0.358 0.350427 0.35232 0.358 0.356107 +0.348533 0.339067 0.36368 0.429947 0.424267 0.367467 0.34664 0.348533 +0.354213 0.339067 0.3296 0.327707 0.32392 0.325813 0.331493 0.337173 +0.35232 0.384507 0.388293 0.354213 0.3296 0.322027 0.32392 0.337173 +0.358 0.359893 0.33528 0.325813 0.350427 0.378827 0.36936 0.361787 +0.376933 0.378827 0.367467 0.356107 0.348533 0.350427 0.342853 0.337173 +0.34096 0.331493 0.310667 0.303093 0.322027 0.325813 0.348533 0.36936 +0.356107 0.325813 0.308773 0.31256 0.331493 0.36936 0.382613 0.365573 +0.35232 0.350427 0.37504 0.401547 0.4148 0.44888 0.557474 0.722947 +0.838526 0.774105 0.614947 0.512632 0.464027 0.428053 0.401547 0.399653 +0.390187 0.382613 0.373147 0.376933 0.376933 0.365573 0.36368 0.367467 +0.39208 0.428053 0.484853 0.520211 0.539789 0.553053 0.536632 0.511368 +0.484853 0.45456 0.445093 0.422373 0.412907 0.422373 0.42616 0.452667 +0.458347 0.395867 0.367467 0.365573 0.39208 0.4432 0.4432 0.407227 +0.388293 0.384507 0.395867 0.450773 0.481067 0.439413 0.39208 0.365573 +0.365573 0.37504 0.40344 0.39776 0.37504 0.422373 0.513895 0.557474 +0.647158 0.771579 0.892211 0.969263 0.990122 0.995673 0.998612 1.0009 +0.999592 1.0009 0.996 0.987837 0.991102 0.992735 0.999918 1.00286 +1.0022 1.00122 0.995347 0.988816 0.990122 0.988816 0.991102 0.990776 +0.986531 0.983918 0.991102 0.995673 0.994041 0.99502 1.00188 1.00971 +1.01722 1.0218 1.02376 1.03257 1.03812 1.03812 1.03812 1.03551 +1.02669 1.01102 0.998612 0.994367 0.991102 0.992735 0.991755 0.984898 +0.978737 0.956 0.925684 0.896 0.871368 0.838526 0.819579 0.8 +0.769684 0.741895 0.728632 0.726737 0.725474 0.716 0.698316 0.661684 +0.62 0.578947 0.532842 0.48296 0.37504 0.337173 0.36368 0.390187 +0.407227 0.393973 0.34096 0.32392 0.34096 0.36936 0.40344 0.43184 +0.422373 0.390187 0.34664 0.325813 0.322027 0.310667 0.316347 0.337173 +0.36936 0.46024 0.503158 0.446987 0.42048 0.467813 0.504421 0.4432 +0.376933 0.37504 0.378827 0.378827 0.38072 0.358 0.34096 0.356107 +0.344747 0.331493 0.34096 0.365573 0.356107 0.35232 0.36368 0.376933 +0.378827 0.3864 0.38072 0.4148 0.481067 0.47728 0.435627 0.435627 +0.424267 0.39208 0.36368 0.34664 0.34664 0.337173 0.331493 0.331493 +0.34664 0.433733 0.469707 0.371253 0.320133 0.308773 0.3012 0.30688 +0.31824 0.31824 0.314453 0.378827 0.500632 0.498107 0.42616 0.412907 +0.393973 0.358 0.344747 0.36368 0.384507 0.38072 0.35232 0.337173 +0.3296 0.337173 0.337173 0.333387 0.348533 0.422373 0.500632 0.435627 +0.350427 0.33528 0.322027 0.308773 0.308773 0.31256 0.32392 0.333387 +0.348533 0.40344 0.458347 0.429947 0.40912 0.439413 0.46024 0.452667 +0.462133 0.537895 0.653474 0.803158 0.916211 0.964842 0.991755 1.01233 +1.01494 1.01069 1.00808 1.0071 1.00416 1.00351 1.00808 1.00841 +1.00906 1.01037 1.00841 1.00873 1.00939 1.01069 1.01233 1.01298 +1.01167 1.00939 1.01429 1.01624 1.01624 1.01657 1.01494 1.01331 +1.01363 1.01102 0.999592 0.989143 0.995347 1.00776 1.01167 1.012 +1.01102 1.00808 1.0058 0.992735 0.976211 0.967368 0.956632 0.949053 +0.944632 0.949053 0.976211 0.980327 0.853053 0.620632 0.429947 0.348533 +0.327707 0.280373 0.240613 0.219787 0.225467 0.219787 0.217893 0.225467 +0.219787 0.00098 0.000866667 0.000773333 0.000713333 0.000713333 0.000713333 0.000706667 +0.000693333 0.000686667 0.0007 0.000713333 0.0007 0.0007 0.000713333 0.000713333 +0.000713333 0.000726667 0.00074 0.000746667 0.000733333 0.000733333 0.00074 0.000726667 +0.00072 0.000706667 0.000713333 0.000713333 0.000706667 0.000713333 0.00072 0.00072 +0.000726667 0.000706667 0.00074 0.000753333 0.000746667 0.000753333 0.000713333 0.00072 +0.000753333 0.000766667 0.000766667 0.000786667 0.000793333 0.000813333 0.000813333 0.000833333 +0.00096 0.316347 0.393973 0.511368 0.708421 0.933263 0.986857 0.964211 +0.947789 0.947158 0.952842 0.955368 0.958526 0.962947 0.976211 0.994041 +1.00808 1.01102 1.01037 1.01331 1.01755 1.01722 1.01657 1.01494 +1.01461 1.01559 1.01755 1.01527 1.01135 1.00971 1.01037 1.01722 +1.03061 1.05216 1.12543 1.12999 1.05641 1.04531 1.04302 1.0182 +0.884 0.676842 0.540421 0.435627 0.390187 0.390187 0.390187 0.367467 +0.348533 0.327707 0.31824 0.322027 0.31824 0.314453 0.331493 0.35232 +0.36936 0.382613 0.378827 0.359893 0.339067 0.348533 0.395867 0.481067 +0.532211 0.578316 0.640211 0.687579 0.661053 0.576421 0.490533 0.367467 +0.331493 0.327707 0.3296 0.331493 0.33528 0.344747 0.354213 0.382613 +0.43752 0.48296 0.46592 0.407227 0.373147 0.37504 0.395867 0.401547 +0.390187 0.384507 0.3864 0.416693 0.504421 0.582737 0.681895 0.662316 +0.546105 0.429947 0.371253 0.35232 0.344747 0.350427 0.36368 0.38072 +0.382613 0.388293 0.4148 0.456453 0.435627 0.361787 0.339067 0.342853 +0.350427 0.342853 0.339067 0.3296 0.31824 0.322027 0.325813 0.331493 +0.339067 0.358 0.350427 0.3296 0.325813 0.325813 0.32392 0.348533 +0.376933 0.36936 0.344747 0.331493 0.354213 0.39208 0.384507 0.373147 +0.382613 0.376933 0.35232 0.354213 0.36936 0.371253 0.348533 0.3296 +0.3296 0.3296 0.30688 0.310667 0.322027 0.325813 0.34664 0.348533 +0.331493 0.316347 0.303093 0.308773 0.322027 0.34096 0.356107 0.34664 +0.33528 0.350427 0.382613 0.399653 0.39208 0.39208 0.503789 0.618105 +0.711579 0.675579 0.565684 0.46592 0.42616 0.433733 0.4148 0.40344 +0.395867 0.39776 0.384507 0.365573 0.371253 0.359893 0.354213 0.378827 +0.42616 0.492427 0.524 0.552421 0.570105 0.570737 0.549895 0.525895 +0.506947 0.479173 0.464027 0.445093 0.452667 0.45456 0.441307 0.439413 +0.433733 0.401547 0.390187 0.382613 0.399653 0.456453 0.47728 0.43752 +0.42616 0.43184 0.46024 0.501895 0.500632 0.452667 0.412907 0.384507 +0.38072 0.399653 0.42616 0.401547 0.367467 0.37504 0.43184 0.512632 +0.600421 0.741263 0.882737 0.968632 0.993714 1.00188 1.00547 1.0071 +1.00416 1.00155 0.992082 0.983265 0.991429 0.997306 1.00482 1.00971 +1.00612 1.0022 1.00286 0.996653 0.995347 0.991102 0.989796 0.989469 +0.98098 0.970526 0.981306 0.976842 0.970526 0.975579 0.98 0.982612 +0.993714 1.00351 1.00906 1.0169 1.02049 1.01951 1.01788 1.0071 +0.985224 0.946526 0.918737 0.915579 0.92821 0.939579 0.938316 0.927579 +0.914947 0.893474 0.857474 0.827789 0.812 0.784211 0.773474 0.767789 +0.746947 0.726737 0.719158 0.716 0.701474 0.668632 0.621895 0.566947 +0.520842 0.4432 0.367467 0.354213 0.331493 0.33528 0.39208 0.411013 +0.399653 0.373147 0.327707 0.310667 0.3296 0.390187 0.45456 0.456453 +0.39776 0.367467 0.344747 0.325813 0.308773 0.299307 0.310667 0.32392 +0.38072 0.503789 0.520842 0.46592 0.428053 0.48864 0.501895 0.433733 +0.378827 0.3864 0.39776 0.382613 0.376933 0.358 0.333387 0.35232 +0.367467 0.356107 0.339067 0.367467 0.378827 0.371253 0.367467 0.365573 +0.365573 0.384507 0.411013 0.439413 0.492427 0.506947 0.507579 0.490533 +0.416693 0.359893 0.33528 0.34096 0.361787 0.365573 0.350427 0.344747 +0.34664 0.422373 0.464027 0.37504 0.30688 0.291733 0.293627 0.299307 +0.310667 0.325813 0.354213 0.439413 0.509474 0.501263 0.43752 0.40344 +0.376933 0.348533 0.3296 0.325813 0.337173 0.35232 0.344747 0.325813 +0.310667 0.327707 0.342853 0.337173 0.34664 0.416693 0.47728 0.395867 +0.316347 0.31256 0.325813 0.331493 0.322027 0.320133 0.325813 0.327707 +0.359893 0.42048 0.475387 0.48296 0.467813 0.445093 0.429947 0.43752 +0.46592 0.534737 0.650316 0.803158 0.911789 0.973053 1.00873 1.02735 +1.02408 1.01951 1.01527 1.00971 1.0058 1.00482 1.00873 1.01069 +1.00939 1.01004 1.012 1.01135 1.01135 1.01265 1.01298 1.01363 +1.01396 1.01004 1.01233 1.01722 1.01527 1.01624 1.0169 1.01363 +1.01559 1.01559 1.0058 0.995347 0.999592 1.00939 1.01135 1.01037 +1.00971 1.00939 1.00906 0.998286 0.981959 0.971789 0.956632 0.944632 +0.944 0.950947 0.973684 0.983918 0.879579 0.650316 0.445093 0.310667 +0.303093 0.274693 0.25008 0.2444 0.259547 0.263333 0.246293 0.25576 +0.257653 0.2444 0.000946667 0.0008 0.000733333 0.00074 0.00076 0.00074 +0.00072 0.000713333 0.00072 0.000733333 0.00072 0.000706667 0.000713333 0.000713333 +0.000713333 0.0007 0.00072 0.000733333 0.000726667 0.000733333 0.000726667 0.000726667 +0.00074 0.00074 0.000733333 0.00074 0.000733333 0.000713333 0.000713333 0.000726667 +0.000733333 0.000706667 0.000706667 0.000733333 0.000733333 0.000746667 0.000746667 0.000746667 +0.000786667 0.000806667 0.000773333 0.000773333 0.0008 0.00078 0.000773333 0.000793333 +0.00096 0.331493 0.40912 0.537895 0.753895 0.956 0.986531 0.962947 +0.945895 0.947158 0.953474 0.955368 0.957263 0.964842 0.98098 0.99698 +1.01004 1.012 1.01233 1.01331 1.01722 1.01918 1.0182 1.01624 +1.01559 1.01494 1.01592 1.01461 1.01167 1.00971 1.01135 1.02082 +1.03812 1.05935 1.12695 1.10717 1.0489 1.03943 1.04269 1.02082 +0.888421 0.675579 0.537263 0.441307 0.395867 0.382613 0.36368 0.339067 +0.339067 0.337173 0.331493 0.32392 0.322027 0.337173 0.365573 0.384507 +0.39208 0.382613 0.344747 0.327707 0.325813 0.33528 0.34664 0.365573 +0.407227 0.502526 0.564421 0.640842 0.68 0.648421 0.573895 0.501263 +0.373147 0.342853 0.350427 0.34096 0.33528 0.350427 0.36368 0.382613 +0.44888 0.507579 0.503789 0.43752 0.37504 0.348533 0.34664 0.344747 +0.34664 0.356107 0.371253 0.43752 0.520842 0.589053 0.647789 0.611789 +0.525895 0.439413 0.376933 0.344747 0.350427 0.356107 0.35232 0.367467 +0.3864 0.424267 0.458347 0.4716 0.4432 0.36368 0.33528 0.33528 +0.34096 0.344747 0.344747 0.331493 0.316347 0.316347 0.31824 0.32392 +0.333387 0.339067 0.322027 0.308773 0.32392 0.3296 0.327707 0.361787 +0.382613 0.367467 0.361787 0.34664 0.356107 0.40344 0.418587 0.393973 +0.38072 0.37504 0.367467 0.37504 0.384507 0.373147 0.342853 0.32392 +0.327707 0.322027 0.316347 0.325813 0.32392 0.3296 0.344747 0.344747 +0.320133 0.316347 0.31256 0.310667 0.30688 0.310667 0.3296 0.3296 +0.331493 0.348533 0.382613 0.4148 0.407227 0.393973 0.475387 0.565684 +0.610526 0.575158 0.515158 0.4432 0.411013 0.422373 0.407227 0.390187 +0.40912 0.428053 0.412907 0.384507 0.37504 0.371253 0.378827 0.4432 +0.529684 0.594105 0.634526 0.645263 0.638947 0.616211 0.584632 0.553684 +0.521474 0.49432 0.469707 0.462133 0.456453 0.445093 0.428053 0.424267 +0.40912 0.39208 0.39208 0.393973 0.435627 0.504421 0.519579 0.516421 +0.508211 0.506316 0.509474 0.509474 0.484853 0.445093 0.429947 0.424267 +0.43752 0.428053 0.416693 0.39208 0.378827 0.382613 0.39208 0.462133 +0.567579 0.712211 0.868842 0.965474 0.997306 1.0058 1.00808 1.00873 +1.00514 0.994367 0.976211 0.966105 0.990122 1.00286 1.01069 1.01494 +1.01167 1.00547 1.0071 1.00188 0.999592 0.996 0.993061 0.992082 +0.982612 0.968632 0.969263 0.954105 0.950947 0.948421 0.938947 0.931368 +0.939579 0.949053 0.942737 0.942105 0.954105 0.965474 0.982286 0.973684 +0.928842 0.887789 0.862526 0.865053 0.882105 0.896632 0.897895 0.890316 +0.878316 0.86 0.836632 0.809474 0.793053 0.770947 0.755158 0.733053 +0.702105 0.669895 0.647789 0.629474 0.602316 0.565684 0.526526 0.458347 +0.37504 0.322027 0.304987 0.342853 0.367467 0.388293 0.450773 0.4432 +0.416693 0.412907 0.3864 0.350427 0.359893 0.450773 0.508211 0.48864 +0.39208 0.361787 0.36936 0.36936 0.3296 0.29552 0.299307 0.33528 +0.4432 0.532842 0.544842 0.511368 0.467813 0.46024 0.464027 0.44888 +0.40344 0.390187 0.411013 0.401547 0.382613 0.37504 0.36368 0.35232 +0.361787 0.367467 0.344747 0.35232 0.373147 0.395867 0.405333 0.407227 +0.395867 0.405333 0.433733 0.467813 0.506316 0.518947 0.527789 0.508842 +0.418587 0.35232 0.337173 0.331493 0.342853 0.365573 0.36936 0.36368 +0.358 0.422373 0.490533 0.43184 0.34096 0.297413 0.293627 0.28984 +0.304987 0.36936 0.446987 0.509474 0.517053 0.469707 0.3864 0.348533 +0.327707 0.314453 0.314453 0.322027 0.31256 0.30688 0.31256 0.314453 +0.32392 0.32392 0.333387 0.34096 0.350427 0.39208 0.411013 0.35232 +0.316347 0.30688 0.325813 0.35232 0.359893 0.339067 0.320133 0.3296 +0.367467 0.4432 0.48864 0.492427 0.48296 0.452667 0.422373 0.422373 +0.46024 0.530316 0.642105 0.8 0.914947 0.989469 1.02865 1.03878 +1.02931 1.02539 1.02441 1.01755 1.01037 1.00678 1.00873 1.01135 +1.01037 1.00971 1.01167 1.01298 1.01363 1.01461 1.01494 1.01396 +1.01331 1.01037 1.01069 1.01527 1.01624 1.01788 1.01918 1.01624 +1.01657 1.01657 1.00645 0.995347 1.00057 1.01069 1.012 1.01135 +1.01037 1.01037 1.01167 1.0022 0.983918 0.970526 0.958526 0.947158 +0.948421 0.954105 0.969895 0.984571 0.901684 0.674316 0.469707 0.287947 +0.286053 0.286053 0.274693 0.270907 0.26144 0.253867 0.231147 0.23872 +0.26712 0.259547 0.234933 0.000873333 0.0007 0.000693333 0.0007 0.000713333 +0.00072 0.000713333 0.000713333 0.000726667 0.000733333 0.000726667 0.00072 0.00072 +0.000706667 0.0007 0.000713333 0.000733333 0.000733333 0.000726667 0.000726667 0.00072 +0.000726667 0.000733333 0.000726667 0.00072 0.00074 0.00074 0.00072 0.00072 +0.000733333 0.000726667 0.000693333 0.000686667 0.0007 0.00072 0.000746667 0.000746667 +0.000753333 0.00078 0.000786667 0.0008 0.000826667 0.000813333 0.0008 0.000813333 +0.216 0.337173 0.412907 0.562526 0.796842 0.971789 0.983265 0.958526 +0.946526 0.950947 0.957263 0.958526 0.957263 0.966105 0.984898 1.0009 +1.01102 1.01233 1.01331 1.01429 1.01624 1.01853 1.01788 1.01559 +1.01429 1.01494 1.01657 1.0169 1.01494 1.01167 1.01265 1.02278 +1.04204 1.0813 1.12543 1.0813 1.04433 1.0378 1.04792 1.02767 +0.894737 0.674316 0.534105 0.43752 0.390187 0.367467 0.34664 0.333387 +0.34664 0.350427 0.339067 0.331493 0.337173 0.367467 0.405333 0.412907 +0.393973 0.36368 0.3296 0.327707 0.337173 0.333387 0.331493 0.322027 +0.316347 0.354213 0.4432 0.541053 0.615579 0.656 0.642105 0.584632 +0.518316 0.428053 0.382613 0.358 0.35232 0.367467 0.367467 0.37504 +0.446987 0.513895 0.515789 0.45456 0.37504 0.354213 0.348533 0.34664 +0.342853 0.344747 0.371253 0.450773 0.520842 0.566316 0.584632 0.541684 +0.484853 0.43184 0.393973 0.367467 0.365573 0.361787 0.348533 0.354213 +0.365573 0.40344 0.428053 0.433733 0.439413 0.388293 0.350427 0.342853 +0.35232 0.361787 0.359893 0.34664 0.325813 0.316347 0.322027 0.331493 +0.337173 0.337173 0.320133 0.322027 0.3296 0.327707 0.333387 0.356107 +0.359893 0.34664 0.365573 0.36936 0.376933 0.43752 0.462133 0.412907 +0.38072 0.373147 0.367467 0.361787 0.354213 0.34096 0.333387 0.333387 +0.322027 0.308773 0.320133 0.33528 0.314453 0.31256 0.339067 0.348533 +0.320133 0.31256 0.322027 0.31256 0.303093 0.299307 0.303093 0.31256 +0.339067 0.384507 0.428053 0.45456 0.44888 0.458347 0.513263 0.548632 +0.543579 0.502526 0.441307 0.43184 0.401547 0.382613 0.39208 0.401547 +0.433733 0.45456 0.435627 0.407227 0.399653 0.40912 0.446987 0.525895 +0.611789 0.720421 0.781684 0.761474 0.700211 0.632632 0.576421 0.538526 +0.513263 0.49432 0.47728 0.464027 0.439413 0.418587 0.412907 0.428053 +0.42048 0.393973 0.395867 0.439413 0.508842 0.544211 0.56 0.550526 +0.530316 0.513895 0.506316 0.503158 0.479173 0.4716 0.479173 0.4716 +0.473493 0.43752 0.39776 0.378827 0.365573 0.36936 0.378827 0.439413 +0.544211 0.679368 0.853684 0.967368 0.999265 1.0058 1.00808 1.00808 +1.0009 0.985878 0.954737 0.949053 0.985551 1.00253 1.01233 1.01461 +1.01167 1.00645 1.00547 1.00514 1.00318 1.00024 0.994694 0.992082 +0.98751 0.979368 0.968632 0.947789 0.944 0.933895 0.917474 0.902947 +0.877684 0.834105 0.802526 0.804421 0.818947 0.844842 0.883368 0.891579 +0.871368 0.827789 0.788 0.786105 0.798737 0.815158 0.827789 0.824632 +0.817053 0.806316 0.794316 0.766526 0.735579 0.704632 0.672421 0.625684 +0.575158 0.530947 0.511368 0.508842 0.510737 0.511368 0.502526 0.450773 +0.37504 0.31824 0.31824 0.37504 0.43752 0.475387 0.505684 0.464027 +0.40912 0.42616 0.435627 0.44888 0.513263 0.550526 0.556211 0.519579 +0.39776 0.337173 0.34664 0.361787 0.344747 0.30688 0.299307 0.382613 +0.524 0.568211 0.555579 0.516421 0.492427 0.450773 0.42616 0.42048 +0.393973 0.378827 0.405333 0.42616 0.407227 0.395867 0.407227 0.38072 +0.35232 0.34664 0.348533 0.354213 0.365573 0.399653 0.418587 0.435627 +0.43184 0.428053 0.46024 0.505053 0.526526 0.531579 0.530316 0.505053 +0.395867 0.337173 0.339067 0.344747 0.342853 0.36368 0.388293 0.39208 +0.393973 0.445093 0.508211 0.48864 0.3864 0.325813 0.30688 0.308773 +0.350427 0.46592 0.512632 0.505053 0.462133 0.3864 0.331493 0.322027 +0.31824 0.30688 0.314453 0.31824 0.310667 0.304987 0.304987 0.31824 +0.342853 0.34664 0.34096 0.333387 0.359893 0.407227 0.39208 0.322027 +0.303093 0.314453 0.32392 0.333387 0.34664 0.333387 0.316347 0.331493 +0.37504 0.458347 0.496213 0.4716 0.441307 0.435627 0.439413 0.439413 +0.469707 0.532842 0.637684 0.786105 0.915579 1.00743 1.04563 1.04335 +1.0342 1.0329 1.03257 1.02408 1.01429 1.00841 1.00939 1.01233 +1.01167 1.01135 1.01233 1.012 1.01233 1.01102 1.01135 1.01461 +1.01494 1.01363 1.01363 1.01494 1.01527 1.0182 1.0182 1.01559 +1.0169 1.01592 1.0058 0.995347 1.00057 1.01135 1.01004 1.01069 +1.01167 1.01135 1.01298 1.00318 0.985551 0.973053 0.961053 0.947158 +0.947158 0.949053 0.962316 0.982612 0.923158 0.705895 0.505053 0.28416 +0.253867 0.253867 0.251973 0.257653 0.248187 0.225467 0.000966667 0.000966667 +0.246293 0.282267 0.26712 0.000933333 0.0007 0.000693333 0.0007 0.0007 +0.00072 0.00072 0.000706667 0.000706667 0.000706667 0.000713333 0.000713333 0.00072 +0.00072 0.000726667 0.000733333 0.000746667 0.000753333 0.000746667 0.00072 0.000713333 +0.0007 0.000693333 0.000713333 0.000706667 0.000706667 0.00072 0.000726667 0.000726667 +0.000733333 0.000733333 0.000713333 0.00072 0.00072 0.00072 0.00074 0.000753333 +0.000746667 0.00074 0.000766667 0.00078 0.000793333 0.000813333 0.000826667 0.00086 +0.242507 0.358 0.429947 0.592211 0.839158 0.982286 0.978737 0.953474 +0.945263 0.948421 0.957263 0.960421 0.960421 0.968 0.987837 1.00384 +1.01135 1.012 1.01298 1.01331 1.01461 1.01722 1.01624 1.01429 +1.01363 1.01559 1.01527 1.01722 1.01722 1.01429 1.01559 1.02539 +1.04465 1.09348 1.13304 1.07065 1.04106 1.03682 1.04922 1.02767 +0.892211 0.671158 0.532842 0.428053 0.37504 0.358 0.34664 0.344747 +0.367467 0.373147 0.373147 0.382613 0.401547 0.412907 0.405333 0.376933 +0.358 0.350427 0.3296 0.33528 0.344747 0.342853 0.33528 0.31824 +0.299307 0.303093 0.325813 0.405333 0.530947 0.606105 0.655368 0.653474 +0.602316 0.539789 0.481067 0.39776 0.365573 0.37504 0.373147 0.36936 +0.422373 0.513895 0.528421 0.492427 0.401547 0.373147 0.359893 0.356107 +0.34664 0.342853 0.367467 0.42616 0.498107 0.535368 0.542947 0.508211 +0.445093 0.40912 0.390187 0.390187 0.39208 0.378827 0.359893 0.36368 +0.358 0.36368 0.371253 0.390187 0.4148 0.395867 0.37504 0.36368 +0.359893 0.36368 0.356107 0.35232 0.344747 0.33528 0.34096 0.34664 +0.34664 0.34096 0.3296 0.34096 0.337173 0.314453 0.32392 0.348533 +0.337173 0.325813 0.356107 0.395867 0.464027 0.513895 0.504421 0.418587 +0.367467 0.35232 0.342853 0.322027 0.325813 0.3296 0.331493 0.33528 +0.331493 0.325813 0.325813 0.327707 0.303093 0.303093 0.316347 0.325813 +0.322027 0.31256 0.325813 0.333387 0.32392 0.316347 0.322027 0.35232 +0.401547 0.45456 0.48296 0.47728 0.473493 0.512 0.551158 0.567579 +0.546737 0.510105 0.481067 0.458347 0.405333 0.36936 0.384507 0.4148 +0.4432 0.46024 0.441307 0.424267 0.43752 0.467813 0.507579 0.553053 +0.637684 0.745053 0.813895 0.794947 0.709684 0.608632 0.529053 0.48296 +0.473493 0.4716 0.46024 0.441307 0.42048 0.418587 0.4148 0.428053 +0.441307 0.429947 0.4716 0.515789 0.537263 0.553053 0.555579 0.536 +0.505053 0.4432 0.418587 0.441307 0.43752 0.4716 0.486747 0.46592 +0.445093 0.40912 0.399653 0.388293 0.367467 0.36368 0.382613 0.43752 +0.527158 0.638316 0.816421 0.952211 0.997633 1.0071 1.00776 1.00351 +0.99698 0.989143 0.976842 0.966105 0.983918 0.996 1.00514 1.0071 +1.0058 1.00808 1.00776 1.00971 1.00253 1.00155 0.996 0.991755 +0.989469 0.981959 0.969895 0.951579 0.940842 0.932632 0.918737 0.885895 +0.814526 0.729263 0.704 0.731158 0.749474 0.771579 0.802526 0.820842 +0.827158 0.778526 0.701474 0.658526 0.645263 0.650316 0.657895 0.65979 +0.662947 0.656 0.652211 0.633263 0.606737 0.584 0.559368 0.527789 +0.46592 0.34664 0.293627 0.361787 0.48296 0.520211 0.502526 0.43184 +0.401547 0.36368 0.367467 0.4148 0.481067 0.513263 0.537263 0.515158 +0.40344 0.384507 0.399653 0.508211 0.594737 0.632632 0.606737 0.543579 +0.401547 0.30688 0.299307 0.31256 0.32392 0.337173 0.358 0.502526 +0.582105 0.611789 0.569474 0.511368 0.484853 0.486747 0.446987 0.3864 +0.373147 0.3864 0.422373 0.45456 0.433733 0.412907 0.433733 0.428053 +0.382613 0.348533 0.359893 0.37504 0.376933 0.3864 0.3864 0.388293 +0.395867 0.4148 0.503789 0.550526 0.572632 0.553684 0.521474 0.4716 +0.376933 0.316347 0.314453 0.348533 0.365573 0.382613 0.411013 0.418587 +0.4148 0.435627 0.505684 0.509474 0.424267 0.34664 0.354213 0.40344 +0.475387 0.520842 0.510105 0.401547 0.348533 0.359893 0.344747 0.32392 +0.316347 0.31256 0.322027 0.327707 0.32392 0.327707 0.325813 0.32392 +0.331493 0.34096 0.344747 0.34664 0.36936 0.412907 0.407227 0.337173 +0.3012 0.31256 0.344747 0.34664 0.339067 0.339067 0.333387 0.339067 +0.373147 0.456453 0.48296 0.45456 0.428053 0.416693 0.43184 0.446987 +0.475387 0.529053 0.629474 0.777895 0.932 1.03029 1.06304 1.04531 +1.03682 1.04465 1.04531 1.02898 1.01461 1.00971 1.01167 1.01363 +1.01069 1.00906 1.01298 1.01167 1.01069 1.00971 1.00841 1.01461 +1.01722 1.01396 1.01331 1.01494 1.01331 1.01592 1.01853 1.0169 +1.01853 1.01624 1.00416 0.995347 1.0022 1.01331 1.01298 1.01135 +1.01102 1.01037 1.01102 1.00449 0.989796 0.976211 0.961053 0.944632 +0.942737 0.944 0.958526 0.983265 0.942737 0.741263 0.520211 0.263333 +0.00094 0.000946667 0.000986667 0.225467 0.229253 0.225467 0.000966667 0.0009 +0.216 0.276587 0.27848 0.000953333 0.0007 0.000706667 0.000713333 0.000713333 +0.0007 0.00072 0.00072 0.000706667 0.000713333 0.00072 0.000713333 0.0007 +0.000706667 0.000706667 0.000713333 0.000726667 0.000726667 0.000733333 0.00072 0.00072 +0.000733333 0.000713333 0.000726667 0.000713333 0.000706667 0.00068 0.000693333 0.00072 +0.00074 0.000746667 0.000746667 0.00074 0.000713333 0.0007 0.000726667 0.000773333 +0.000773333 0.00076 0.000773333 0.000793333 0.0008 0.00082 0.000833333 0.00086 +0.248187 0.361787 0.441307 0.620632 0.873263 0.98751 0.978105 0.954737 +0.947789 0.947158 0.954105 0.958526 0.958526 0.970526 0.990776 1.00514 +1.01004 1.01069 1.01265 1.01298 1.01396 1.01592 1.01592 1.01527 +1.01461 1.01527 1.01396 1.01592 1.01592 1.01461 1.01722 1.02898 +1.0502 1.13152 1.16499 1.06609 1.03649 1.03453 1.04824 1.02376 +0.880842 0.662947 0.529684 0.429947 0.38072 0.371253 0.373147 0.384507 +0.39776 0.390187 0.39776 0.418587 0.43184 0.393973 0.356107 0.33528 +0.333387 0.34664 0.337173 0.33528 0.337173 0.325813 0.331493 0.333387 +0.322027 0.31256 0.30688 0.327707 0.4148 0.532211 0.613684 0.673684 +0.671158 0.623158 0.561895 0.505053 0.407227 0.378827 0.390187 0.388293 +0.422373 0.513895 0.539158 0.515789 0.43184 0.378827 0.36368 0.361787 +0.358 0.354213 0.365573 0.3864 0.416693 0.484853 0.506947 0.469707 +0.42616 0.40912 0.393973 0.40344 0.429947 0.422373 0.393973 0.382613 +0.36936 0.359893 0.354213 0.359893 0.378827 0.382613 0.384507 0.373147 +0.358 0.358 0.359893 0.371253 0.365573 0.350427 0.35232 0.358 +0.34664 0.348533 0.361787 0.36368 0.339067 0.31256 0.322027 0.333387 +0.327707 0.333387 0.359893 0.43184 0.518947 0.537263 0.502526 0.395867 +0.36368 0.358 0.350427 0.337173 0.342853 0.337173 0.333387 0.331493 +0.344747 0.356107 0.34096 0.32392 0.308773 0.308773 0.314453 0.322027 +0.325813 0.320133 0.3296 0.34096 0.356107 0.356107 0.39776 0.467813 +0.5 0.5 0.490533 0.467813 0.446987 0.506947 0.553684 0.588421 +0.596 0.573895 0.544842 0.513895 0.4716 0.45456 0.481067 0.505684 +0.504421 0.490533 0.46592 0.45456 0.45456 0.458347 0.479173 0.516421 +0.563789 0.626316 0.678105 0.692632 0.663579 0.600421 0.531579 0.498107 +0.49432 0.473493 0.4432 0.424267 0.424267 0.446987 0.46592 0.467813 +0.48864 0.505053 0.524 0.537263 0.527158 0.506316 0.48864 0.446987 +0.390187 0.34664 0.337173 0.36936 0.36368 0.39208 0.399653 0.407227 +0.428053 0.4148 0.411013 0.401547 0.384507 0.384507 0.390187 0.428053 +0.507579 0.594105 0.768421 0.92379 0.992082 1.00808 1.0058 0.999592 +0.997306 0.999265 0.99698 0.992408 0.991755 0.991429 0.997306 0.99698 +0.999592 1.01102 1.01396 1.01037 0.997959 1.00057 0.997959 0.991429 +0.98849 0.976842 0.962947 0.947158 0.929474 0.92379 0.923158 0.873263 +0.752 0.646526 0.613053 0.627579 0.640842 0.657263 0.679368 0.715368 +0.757053 0.745684 0.661053 0.574526 0.532842 0.522737 0.517684 0.521474 +0.534105 0.531579 0.534737 0.532842 0.524 0.519579 0.518947 0.510105 +0.456453 0.3864 0.367467 0.452667 0.517684 0.529053 0.45456 0.31824 +0.3296 0.359893 0.37504 0.407227 0.452667 0.515158 0.584 0.588421 +0.503158 0.405333 0.433733 0.553684 0.65979 0.688842 0.645895 0.552421 +0.361787 0.286053 0.308773 0.337173 0.34664 0.367467 0.46024 0.556211 +0.632 0.643368 0.579579 0.516421 0.49432 0.48864 0.46024 0.407227 +0.39208 0.39776 0.424267 0.456453 0.450773 0.428053 0.441307 0.45456 +0.433733 0.393973 0.38072 0.388293 0.384507 0.38072 0.38072 0.354213 +0.34664 0.433733 0.554316 0.633895 0.661053 0.618737 0.534105 0.428053 +0.382613 0.34096 0.31256 0.344747 0.395867 0.418587 0.429947 0.416693 +0.388293 0.376933 0.4432 0.506947 0.486747 0.422373 0.441307 0.503789 +0.522105 0.522105 0.464027 0.344747 0.304987 0.327707 0.34664 0.337173 +0.3296 0.325813 0.327707 0.33528 0.325813 0.337173 0.34096 0.327707 +0.31824 0.316347 0.3296 0.373147 0.393973 0.401547 0.395867 0.358 +0.322027 0.327707 0.39208 0.428053 0.36936 0.333387 0.337173 0.361787 +0.40912 0.479173 0.475387 0.439413 0.42616 0.42048 0.424267 0.43184 +0.464027 0.527158 0.624421 0.780421 0.968 1.05086 1.08739 1.04727 +1.044 1.06304 1.0813 1.03845 1.01559 1.00873 1.00873 1.01004 +1.00939 1.00841 1.01265 1.01461 1.01396 1.01265 1.00971 1.01069 +1.01331 1.012 1.01233 1.01624 1.01592 1.01461 1.01886 1.01853 +1.01624 1.01592 1.00482 0.995673 1.00351 1.01331 1.01494 1.01167 +1.01004 1.00939 1.00906 1.00547 0.992735 0.980327 0.968632 0.952211 +0.944632 0.941474 0.952211 0.981306 0.949684 0.762105 0.535368 0.276587 +0.00094 0.00094 0.216 0.000986667 0.216 0.217893 0.000986667 0.000953333 +0.219787 0.291733 0.28984 0.000946667 0.0007 0.0007 0.000706667 0.000686667 +0.00068 0.000706667 0.0007 0.000693333 0.00072 0.00076 0.000766667 0.00076 +0.000746667 0.000713333 0.000706667 0.00072 0.0007 0.000706667 0.000706667 0.0007 +0.000733333 0.000726667 0.000713333 0.000726667 0.00074 0.000726667 0.00072 0.000726667 +0.00072 0.00072 0.000733333 0.00072 0.000713333 0.000733333 0.000753333 0.000786667 +0.0008 0.00078 0.00078 0.00078 0.000786667 0.000813333 0.000833333 0.000886667 +0.2728 0.373147 0.473493 0.652842 0.897895 0.98849 0.973053 0.949684 +0.944632 0.948421 0.958526 0.961684 0.962947 0.976211 0.993714 1.00645 +1.00808 1.00743 1.01004 1.01265 1.01461 1.01624 1.01624 1.01624 +1.01559 1.01461 1.01461 1.01624 1.01461 1.01429 1.01853 1.03192 +1.05673 1.16956 1.18934 1.06913 1.03518 1.03486 1.04922 1.02245 +0.872 0.654105 0.525263 0.435627 0.395867 0.3864 0.384507 0.390187 +0.384507 0.36368 0.38072 0.40344 0.39208 0.34096 0.31824 0.314453 +0.325813 0.350427 0.342853 0.339067 0.3296 0.308773 0.31256 0.339067 +0.34096 0.320133 0.30688 0.316347 0.34664 0.439413 0.548632 0.635158 +0.687579 0.688842 0.656 0.598526 0.534105 0.467813 0.418587 0.418587 +0.441307 0.505684 0.536632 0.531579 0.4716 0.405333 0.382613 0.36936 +0.36368 0.354213 0.356107 0.36936 0.37504 0.382613 0.39208 0.37504 +0.376933 0.40344 0.42048 0.446987 0.4716 0.44888 0.4148 0.393973 +0.367467 0.348533 0.342853 0.34096 0.356107 0.361787 0.354213 0.348533 +0.354213 0.367467 0.382613 0.3864 0.378827 0.373147 0.367467 0.350427 +0.333387 0.34664 0.38072 0.376933 0.337173 0.322027 0.320133 0.322027 +0.327707 0.35232 0.40912 0.503789 0.532842 0.517053 0.428053 0.356107 +0.354213 0.358 0.358 0.367467 0.356107 0.327707 0.327707 0.327707 +0.331493 0.344747 0.348533 0.333387 0.320133 0.316347 0.32392 0.337173 +0.33528 0.3296 0.325813 0.348533 0.411013 0.473493 0.515158 0.527789 +0.513895 0.473493 0.43184 0.4148 0.407227 0.4432 0.504421 0.535368 +0.570105 0.579579 0.578947 0.572 0.575789 0.601684 0.619368 0.603579 +0.563158 0.523368 0.501263 0.458347 0.416693 0.384507 0.376933 0.3864 +0.40912 0.464027 0.514526 0.542947 0.564421 0.56 0.528421 0.510737 +0.508842 0.467813 0.43184 0.439413 0.481067 0.530316 0.546105 0.524632 +0.518947 0.520842 0.516421 0.506316 0.46024 0.390187 0.371253 0.37504 +0.361787 0.34096 0.322027 0.34664 0.34664 0.358 0.344747 0.337173 +0.376933 0.405333 0.441307 0.43752 0.42048 0.405333 0.407227 0.42048 +0.473493 0.566947 0.731789 0.896632 0.983265 1.00318 1.00449 1.00253 +1.0009 1.00514 1.00286 1.0009 1.00057 0.997959 0.997959 0.995673 +0.998286 1.00939 1.01527 1.00808 0.997306 1.00122 0.994694 0.988816 +0.985224 0.971789 0.959789 0.935158 0.911789 0.909263 0.917474 0.857474 +0.708421 0.584 0.527789 0.510105 0.517684 0.524632 0.526526 0.551789 +0.600421 0.642105 0.618737 0.549895 0.502526 0.450773 0.42616 0.441307 +0.48296 0.48864 0.504421 0.511368 0.507579 0.516421 0.534737 0.530947 +0.514526 0.515789 0.549263 0.585263 0.573895 0.542316 0.458347 0.287947 +0.265227 0.31256 0.359893 0.39776 0.450773 0.537263 0.642737 0.668632 +0.573263 0.511368 0.529053 0.623789 0.708421 0.736211 0.696421 0.568842 +0.359893 0.297413 0.331493 0.36936 0.390187 0.43752 0.526526 0.601684 +0.666105 0.659158 0.587158 0.533474 0.512 0.47728 0.450773 0.445093 +0.424267 0.40344 0.399653 0.4148 0.42048 0.411013 0.407227 0.416693 +0.433733 0.416693 0.388293 0.39776 0.411013 0.40912 0.416693 0.378827 +0.382613 0.530316 0.662316 0.767789 0.784842 0.711579 0.573895 0.44888 +0.407227 0.416693 0.39776 0.412907 0.445093 0.4432 0.435627 0.433733 +0.418587 0.405333 0.429947 0.502526 0.523368 0.527158 0.524 0.513895 +0.5 0.473493 0.411013 0.348533 0.325813 0.32392 0.331493 0.327707 +0.337173 0.344747 0.331493 0.316347 0.31256 0.339067 0.354213 0.337173 +0.33528 0.325813 0.339067 0.382613 0.390187 0.378827 0.373147 0.35232 +0.333387 0.333387 0.429947 0.508842 0.439413 0.344747 0.36368 0.418587 +0.46592 0.48296 0.462133 0.429947 0.42048 0.424267 0.435627 0.424267 +0.445093 0.521474 0.618737 0.788632 0.993714 1.09195 1.07978 1.04629 +1.05249 1.12999 1.13456 1.04433 1.01788 1.00906 1.00906 1.01069 +1.012 1.01069 1.01069 1.01265 1.01363 1.01331 1.01331 1.01233 +1.01298 1.01461 1.01624 1.01657 1.01624 1.01233 1.01592 1.01886 +1.01494 1.01494 1.00873 0.997633 1.00384 1.01102 1.01102 1.00906 +1.00939 1.01037 1.01004 1.00841 0.997306 0.983592 0.971158 0.951579 +0.938947 0.941474 0.952211 0.98 0.957895 0.786105 0.559368 0.308773 +0.22168 0.219787 0.234933 0.23304 0.231147 0.23304 0.23304 0.242507 +0.259547 0.29552 0.280373 0.000893333 0.00072 0.000706667 0.000713333 0.000706667 +0.0007 0.000713333 0.000693333 0.000693333 0.000706667 0.000713333 0.000726667 0.00074 +0.000726667 0.000706667 0.000713333 0.000726667 0.00072 0.000733333 0.00072 0.000706667 +0.00072 0.000726667 0.00072 0.000713333 0.000726667 0.000733333 0.00072 0.000713333 +0.000713333 0.00072 0.000746667 0.000733333 0.00072 0.00074 0.000746667 0.00076 +0.000773333 0.000773333 0.000793333 0.000806667 0.000793333 0.000806667 0.000813333 0.0009 +0.297413 0.384507 0.503158 0.685684 0.92 0.988816 0.969895 0.949684 +0.943368 0.948421 0.961053 0.964211 0.964211 0.979368 0.996 1.00841 +1.01004 1.00808 1.00841 1.01135 1.01461 1.01592 1.01527 1.01559 +1.01527 1.01396 1.01559 1.01722 1.01657 1.01722 1.01984 1.0342 +1.07217 1.19238 1.20303 1.0813 1.0391 1.0391 1.05347 1.02604 +0.871368 0.647158 0.518947 0.42048 0.382613 0.367467 0.356107 0.34664 +0.344747 0.34664 0.36368 0.373147 0.361787 0.333387 0.322027 0.314453 +0.322027 0.333387 0.331493 0.327707 0.320133 0.314453 0.3296 0.365573 +0.36368 0.331493 0.316347 0.314453 0.33528 0.40344 0.515789 0.589053 +0.654737 0.695158 0.719158 0.703368 0.644 0.571368 0.516421 0.48296 +0.4716 0.490533 0.530316 0.546737 0.510105 0.422373 0.378827 0.358 +0.356107 0.359893 0.367467 0.38072 0.371253 0.34664 0.33528 0.3296 +0.34096 0.371253 0.422373 0.475387 0.47728 0.43184 0.393973 0.373147 +0.350427 0.33528 0.333387 0.344747 0.36936 0.371253 0.344747 0.33528 +0.34096 0.34096 0.342853 0.342853 0.34096 0.35232 0.359893 0.348533 +0.337173 0.356107 0.382613 0.373147 0.337173 0.320133 0.314453 0.322027 +0.33528 0.38072 0.484853 0.527158 0.518947 0.439413 0.350427 0.327707 +0.33528 0.344747 0.35232 0.354213 0.348533 0.333387 0.31824 0.314453 +0.314453 0.325813 0.337173 0.337173 0.327707 0.314453 0.333387 0.35232 +0.34096 0.327707 0.350427 0.450773 0.528421 0.558737 0.562526 0.535368 +0.492427 0.418587 0.384507 0.3864 0.384507 0.388293 0.393973 0.416693 +0.473493 0.506947 0.535368 0.570105 0.631368 0.703368 0.722947 0.665474 +0.584 0.523368 0.481067 0.441307 0.399653 0.376933 0.35232 0.33528 +0.322027 0.331493 0.373147 0.433733 0.490533 0.505684 0.501895 0.498107 +0.486747 0.439413 0.42616 0.475387 0.534737 0.614316 0.623789 0.555579 +0.524632 0.511368 0.450773 0.411013 0.395867 0.36936 0.36368 0.382613 +0.382613 0.36936 0.358 0.367467 0.36936 0.365573 0.350427 0.337173 +0.354213 0.373147 0.441307 0.469707 0.458347 0.4148 0.412907 0.428053 +0.46592 0.556842 0.702105 0.866316 0.964211 0.993388 0.999918 1.00416 +1.00024 1.00188 1.00122 0.999265 1.00286 1.00384 1.00155 1.00057 +1.00057 1.00547 1.01004 1.00416 0.999918 1.0009 0.989469 0.984245 +0.971789 0.954737 0.948421 0.923158 0.899789 0.903579 0.914316 0.830316 +0.657263 0.538526 0.48296 0.42616 0.464027 0.5 0.473493 0.467813 +0.49432 0.524632 0.556211 0.554316 0.520842 0.462133 0.422373 0.43184 +0.46592 0.479173 0.501895 0.507579 0.506316 0.523368 0.555579 0.572 +0.568211 0.566316 0.613684 0.657263 0.614316 0.545474 0.514526 0.46024 +0.38072 0.36368 0.393973 0.441307 0.502526 0.574526 0.666105 0.666737 +0.608632 0.569474 0.590947 0.662947 0.719789 0.777263 0.762737 0.637684 +0.515789 0.433733 0.428053 0.441307 0.48296 0.521474 0.568211 0.632632 +0.679368 0.657263 0.590316 0.543579 0.517684 0.48296 0.433733 0.412907 +0.401547 0.401547 0.393973 0.3864 0.38072 0.37504 0.371253 0.388293 +0.412907 0.42616 0.422373 0.43752 0.458347 0.45456 0.456453 0.456453 +0.514526 0.623158 0.788632 0.901684 0.901684 0.803789 0.635158 0.534105 +0.522737 0.529053 0.533474 0.542947 0.549263 0.541684 0.534105 0.535368 +0.535368 0.529684 0.531579 0.546737 0.566316 0.572 0.549263 0.506316 +0.428053 0.4148 0.39208 0.36368 0.350427 0.339067 0.3296 0.322027 +0.32392 0.339067 0.331493 0.314453 0.31824 0.350427 0.361787 0.35232 +0.356107 0.337173 0.358 0.388293 0.361787 0.348533 0.354213 0.348533 +0.33528 0.331493 0.411013 0.512 0.496213 0.401547 0.424267 0.467813 +0.475387 0.46024 0.435627 0.42048 0.428053 0.428053 0.42048 0.407227 +0.429947 0.513895 0.612421 0.799368 1.00776 1.12086 1.06 1.04139 +1.05576 1.17716 1.15586 1.04269 1.01918 1.01135 1.01069 1.01102 +1.01135 1.01037 1.00906 1.01004 1.012 1.01363 1.01461 1.01429 +1.01559 1.0169 1.01722 1.01527 1.01494 1.01298 1.01592 1.0182 +1.01461 1.01298 1.00743 0.998286 1.00286 1.01069 1.01102 1.01102 +1.012 1.01135 1.012 1.01037 0.997306 0.982939 0.969263 0.952211 +0.942105 0.947158 0.957895 0.98098 0.971158 0.810105 0.574526 0.3296 +0.246293 0.253867 0.269013 0.27848 0.26712 0.265227 0.265227 0.259547 +0.26144 0.265227 0.234933 0.000826667 0.000713333 0.0007 0.00072 0.000733333 +0.000733333 0.000746667 0.000746667 0.000746667 0.000726667 0.000686667 0.000686667 0.000713333 +0.000713333 0.000713333 0.000726667 0.000733333 0.000726667 0.000746667 0.000753333 0.000746667 +0.000766667 0.000746667 0.000733333 0.00072 0.000706667 0.00072 0.000713333 0.000713333 +0.000713333 0.000706667 0.000713333 0.000726667 0.00072 0.00076 0.00078 0.000766667 +0.000773333 0.00078 0.000793333 0.000793333 0.00078 0.00078 0.000786667 0.000913333 +0.31256 0.378827 0.509474 0.712842 0.940211 0.989796 0.970526 0.954105 +0.947158 0.949053 0.959789 0.963579 0.961684 0.978737 0.996327 1.00808 +1.00971 1.00776 1.00776 1.01265 1.0169 1.01722 1.01527 1.01461 +1.01331 1.01298 1.01494 1.01494 1.01657 1.01918 1.02376 1.03976 +1.10413 1.21368 1.20912 1.08435 1.04237 1.04531 1.05771 1.02669 +0.869474 0.643368 0.513895 0.411013 0.361787 0.339067 0.325813 0.322027 +0.339067 0.35232 0.350427 0.342853 0.342853 0.33528 0.32392 0.316347 +0.31824 0.31824 0.314453 0.314453 0.322027 0.33528 0.356107 0.390187 +0.378827 0.333387 0.314453 0.320133 0.367467 0.462133 0.524 0.555579 +0.580211 0.616842 0.674316 0.709684 0.702105 0.661684 0.609895 0.567579 +0.534737 0.511368 0.533474 0.566316 0.535368 0.4432 0.365573 0.35232 +0.365573 0.39208 0.407227 0.40344 0.378827 0.342853 0.325813 0.316347 +0.325813 0.350427 0.411013 0.46024 0.439413 0.395867 0.36936 0.359893 +0.358 0.354213 0.35232 0.376933 0.429947 0.43752 0.388293 0.354213 +0.337173 0.33528 0.33528 0.3296 0.32392 0.32392 0.337173 0.350427 +0.35232 0.36368 0.376933 0.365573 0.333387 0.31824 0.314453 0.327707 +0.354213 0.424267 0.515789 0.524632 0.4716 0.373147 0.3296 0.32392 +0.337173 0.348533 0.34664 0.333387 0.327707 0.331493 0.322027 0.308773 +0.310667 0.331493 0.34096 0.331493 0.320133 0.314453 0.337173 0.356107 +0.34096 0.356107 0.464027 0.551158 0.599158 0.601053 0.565053 0.514526 +0.433733 0.399653 0.39776 0.399653 0.382613 0.36368 0.365573 0.365573 +0.356107 0.371253 0.424267 0.492427 0.551789 0.625053 0.647158 0.590947 +0.518947 0.435627 0.390187 0.399653 0.429947 0.429947 0.3864 0.354213 +0.350427 0.356107 0.373147 0.39776 0.42048 0.435627 0.456453 0.458347 +0.439413 0.4148 0.42048 0.473493 0.529053 0.599158 0.618737 0.556842 +0.525895 0.518316 0.469707 0.418587 0.407227 0.384507 0.358 0.365573 +0.378827 0.38072 0.395867 0.395867 0.376933 0.361787 0.365573 0.378827 +0.38072 0.384507 0.393973 0.407227 0.44888 0.424267 0.40912 0.428053 +0.46592 0.549263 0.678105 0.836632 0.939579 0.981959 0.990122 0.998612 +0.996327 0.996327 0.998612 0.996327 0.998612 1.00253 0.998612 0.998286 +0.99698 0.996653 0.998286 0.995673 0.996327 0.995347 0.985878 0.978737 +0.949684 0.929474 0.92 0.904211 0.899789 0.908632 0.914947 0.807579 +0.610526 0.515789 0.504421 0.48864 0.49432 0.511368 0.515789 0.506316 +0.452667 0.42616 0.506316 0.536632 0.542947 0.519579 0.4716 0.439413 +0.43184 0.4432 0.481067 0.48296 0.501263 0.516421 0.541684 0.581474 +0.608 0.616211 0.659158 0.693263 0.625684 0.520842 0.479173 0.506316 +0.490533 0.452667 0.428053 0.441307 0.503158 0.573263 0.644 0.617474 +0.584632 0.593474 0.635158 0.681895 0.716 0.785474 0.791789 0.695158 +0.577684 0.518947 0.508842 0.506947 0.522105 0.548632 0.586526 0.639579 +0.668 0.631368 0.565053 0.518947 0.496213 0.484853 0.458347 0.401547 +0.376933 0.390187 0.388293 0.371253 0.361787 0.348533 0.37504 0.450773 +0.503789 0.505684 0.498107 0.490533 0.504421 0.514526 0.519579 0.534737 +0.599158 0.729895 0.886526 0.973684 0.956632 0.858105 0.705895 0.630105 +0.632 0.643368 0.653474 0.662316 0.665474 0.660421 0.650316 0.641474 +0.635158 0.628211 0.625053 0.621263 0.608 0.585895 0.558105 0.518947 +0.48864 0.462133 0.4148 0.384507 0.371253 0.339067 0.322027 0.32392 +0.327707 0.325813 0.331493 0.331493 0.34664 0.373147 0.367467 0.350427 +0.356107 0.356107 0.384507 0.390187 0.359893 0.356107 0.356107 0.348533 +0.339067 0.3296 0.373147 0.475387 0.5 0.4432 0.44888 0.44888 +0.418587 0.42048 0.424267 0.40344 0.40344 0.412907 0.40344 0.39776 +0.43184 0.512632 0.609895 0.806316 1.01135 1.09348 1.05314 1.04237 +1.07369 1.21064 1.16956 1.03976 1.01527 1.01004 1.00971 1.00939 +1.01102 1.01102 1.00971 1.01167 1.01265 1.01494 1.01592 1.01396 +1.01559 1.01755 1.01592 1.01494 1.01755 1.01657 1.01657 1.01624 +1.012 1.01037 1.00612 1.00155 1.00678 1.01135 1.01135 1.01167 +1.01396 1.01265 1.01135 1.01102 0.998286 0.982612 0.970526 0.957263 +0.949684 0.951579 0.958526 0.981959 0.978105 0.828421 0.592211 0.371253 +0.287947 0.28416 0.291733 0.28416 0.26144 0.257653 0.26144 0.25576 +0.25576 0.242507 0.000986667 0.000846667 0.00072 0.000706667 0.000706667 0.0007 +0.000693333 0.0007 0.000713333 0.00074 0.00074 0.000726667 0.00072 0.000733333 +0.000733333 0.00074 0.00074 0.000746667 0.000726667 0.00072 0.000733333 0.000726667 +0.000726667 0.000733333 0.000726667 0.000753333 0.00074 0.00072 0.000753333 0.00076 +0.000766667 0.000733333 0.000693333 0.000693333 0.000713333 0.000746667 0.000766667 0.00076 +0.00076 0.000766667 0.00078 0.000793333 0.000786667 0.000786667 0.000806667 0.00098 +0.3296 0.38072 0.520211 0.738737 0.954737 0.988816 0.967368 0.952842 +0.945895 0.949053 0.959158 0.961684 0.961684 0.981633 0.998939 1.00906 +1.01167 1.00971 1.00841 1.01298 1.01755 1.0169 1.01363 1.01265 +1.01233 1.01461 1.01624 1.01429 1.01494 1.01755 1.02473 1.044 +1.13912 1.24259 1.20912 1.07217 1.04171 1.04955 1.07674 1.028 +0.867579 0.640211 0.508842 0.401547 0.356107 0.342853 0.333387 0.327707 +0.33528 0.337173 0.31824 0.30688 0.320133 0.331493 0.3296 0.32392 +0.320133 0.325813 0.325813 0.320133 0.3296 0.333387 0.348533 0.384507 +0.38072 0.339067 0.327707 0.358 0.435627 0.503789 0.510105 0.500632 +0.479173 0.508842 0.556211 0.613053 0.660421 0.685053 0.685684 0.666737 +0.629474 0.578316 0.572 0.598526 0.573263 0.504421 0.3864 0.378827 +0.401547 0.4148 0.405333 0.390187 0.371253 0.34096 0.31824 0.316347 +0.3296 0.367467 0.422373 0.429947 0.384507 0.350427 0.339067 0.350427 +0.373147 0.38072 0.376933 0.418587 0.500632 0.492427 0.424267 0.40912 +0.405333 0.395867 0.36936 0.344747 0.344747 0.342853 0.337173 0.344747 +0.356107 0.38072 0.416693 0.416693 0.382613 0.367467 0.36368 0.390187 +0.446987 0.510737 0.532211 0.506316 0.39208 0.344747 0.342853 0.34664 +0.348533 0.350427 0.344747 0.33528 0.3296 0.327707 0.325813 0.333387 +0.331493 0.359893 0.365573 0.331493 0.31256 0.31256 0.327707 0.359893 +0.39776 0.492427 0.554947 0.609895 0.62 0.577684 0.522737 0.450773 +0.395867 0.382613 0.382613 0.3864 0.376933 0.367467 0.358 0.342853 +0.327707 0.342853 0.371253 0.373147 0.395867 0.481067 0.513263 0.48864 +0.395867 0.356107 0.350427 0.350427 0.393973 0.424267 0.39776 0.36936 +0.36936 0.384507 0.3864 0.384507 0.395867 0.40344 0.439413 0.452667 +0.424267 0.412907 0.40912 0.4148 0.4432 0.505053 0.536 0.527158 +0.519579 0.534105 0.527158 0.513263 0.48864 0.429947 0.371253 0.356107 +0.359893 0.350427 0.367467 0.37504 0.365573 0.36936 0.382613 0.399653 +0.40344 0.39208 0.384507 0.378827 0.412907 0.422373 0.407227 0.416693 +0.462133 0.542947 0.654737 0.805053 0.913684 0.959789 0.977474 0.988163 +0.991755 0.992735 0.995673 0.993714 0.994041 0.999265 0.995673 0.993714 +0.992082 0.989469 0.988816 0.988163 0.986531 0.985224 0.974947 0.966105 +0.932632 0.908 0.902316 0.897895 0.907368 0.911789 0.901684 0.779158 +0.582105 0.508211 0.514526 0.517053 0.515158 0.520211 0.533474 0.531579 +0.501895 0.439413 0.46024 0.47728 0.510737 0.520842 0.504421 0.452667 +0.405333 0.405333 0.435627 0.45456 0.49432 0.47728 0.5 0.536 +0.585895 0.633895 0.709684 0.769053 0.712211 0.591579 0.518947 0.504421 +0.5 0.475387 0.418587 0.393973 0.4432 0.541053 0.618737 0.606737 +0.565053 0.572632 0.630105 0.686947 0.694526 0.719158 0.729895 0.66421 +0.563789 0.508842 0.49432 0.486747 0.508211 0.530947 0.565053 0.608 +0.624421 0.586526 0.523368 0.464027 0.44888 0.469707 0.479173 0.4432 +0.39776 0.384507 0.37504 0.365573 0.373147 0.388293 0.469707 0.528421 +0.548632 0.548632 0.536632 0.531579 0.542316 0.563158 0.570105 0.594737 +0.684421 0.819579 0.938947 0.98 0.933895 0.840421 0.739368 0.707158 +0.725474 0.743158 0.750737 0.745684 0.733053 0.726105 0.719158 0.702105 +0.685684 0.675579 0.66421 0.650316 0.618737 0.580211 0.556842 0.530947 +0.512632 0.500632 0.456453 0.42616 0.411013 0.382613 0.358 0.350427 +0.337173 0.314453 0.308773 0.3296 0.361787 0.399653 0.39208 0.356107 +0.359893 0.388293 0.42616 0.40912 0.371253 0.371253 0.36936 0.35232 +0.350427 0.358 0.393973 0.475387 0.506316 0.464027 0.412907 0.39208 +0.37504 0.373147 0.39208 0.39776 0.395867 0.39776 0.39208 0.393973 +0.42048 0.508211 0.608 0.806947 1.00939 1.06913 1.04922 1.04498 +1.10717 1.22281 1.16499 1.03878 1.01396 1.00841 1.00873 1.00939 +1.01004 1.01265 1.01331 1.01396 1.01396 1.01461 1.01657 1.01788 +1.01559 1.01429 1.01167 1.012 1.01624 1.01624 1.01527 1.01657 +1.01429 1.01363 1.00645 1.00188 1.00808 1.00971 1.00939 1.00939 +1.01331 1.01559 1.01331 1.012 1.00384 0.987837 0.973053 0.954737 +0.947158 0.949684 0.959158 0.983918 0.983265 0.844211 0.608632 0.4148 +0.339067 0.30688 0.265227 0.242507 0.23872 0.240613 0.248187 0.242507 +0.22736 0.000973333 0.000833333 0.000773333 0.00074 0.000753333 0.000746667 0.000726667 +0.000693333 0.0007 0.0007 0.000706667 0.0007 0.000706667 0.00072 0.00072 +0.000733333 0.00074 0.000753333 0.000766667 0.000746667 0.000726667 0.00072 0.000706667 +0.0007 0.00072 0.000726667 0.00072 0.000726667 0.000706667 0.00072 0.000746667 +0.000746667 0.000733333 0.000713333 0.000726667 0.000746667 0.000746667 0.000726667 0.000713333 +0.000746667 0.000753333 0.000773333 0.000813333 0.0008 0.000806667 0.00084 0.23304 +0.348533 0.39208 0.537895 0.765895 0.966105 0.986857 0.962316 0.948421 +0.943368 0.950316 0.961684 0.961053 0.963579 0.984245 1.00122 1.00939 +1.012 1.00939 1.00743 1.01102 1.01624 1.01592 1.012 1.01135 +1.01167 1.01559 1.01624 1.01592 1.01624 1.01755 1.02506 1.04629 +1.17108 1.27455 1.21216 1.06 1.0391 1.05118 1.12239 1.03878 +0.879579 0.646526 0.511368 0.401547 0.358 0.356107 0.350427 0.3296 +0.32392 0.320133 0.30688 0.293627 0.291733 0.3012 0.314453 0.32392 +0.34664 0.358 0.348533 0.327707 0.320133 0.30688 0.31824 0.359893 +0.367467 0.350427 0.365573 0.416693 0.475387 0.481067 0.424267 0.365573 +0.342853 0.358 0.416693 0.506947 0.561263 0.627579 0.678737 0.702737 +0.702737 0.664842 0.638947 0.644632 0.624421 0.554947 0.481067 0.418587 +0.411013 0.401547 0.376933 0.350427 0.34096 0.33528 0.333387 0.333387 +0.35232 0.412907 0.43184 0.38072 0.344747 0.33528 0.337173 0.35232 +0.36936 0.373147 0.378827 0.42616 0.5 0.4716 0.4148 0.462133 +0.524632 0.526526 0.462133 0.390187 0.376933 0.365573 0.350427 0.34664 +0.358 0.40912 0.481067 0.501895 0.492427 0.498107 0.507579 0.528421 +0.557474 0.577053 0.557474 0.48296 0.356107 0.333387 0.339067 0.339067 +0.325813 0.32392 0.344747 0.359893 0.348533 0.34096 0.331493 0.3296 +0.358 0.393973 0.37504 0.3296 0.314453 0.308773 0.325813 0.399653 +0.517053 0.578947 0.620632 0.623158 0.580842 0.521474 0.441307 0.382613 +0.373147 0.36368 0.350427 0.34664 0.350427 0.367467 0.344747 0.3296 +0.339067 0.350427 0.35232 0.34096 0.32392 0.339067 0.378827 0.3864 +0.35232 0.35232 0.36368 0.348533 0.358 0.382613 0.38072 0.37504 +0.373147 0.393973 0.401547 0.38072 0.388293 0.39208 0.45456 0.486747 +0.433733 0.407227 0.399653 0.38072 0.388293 0.416693 0.46592 0.48296 +0.490533 0.517684 0.538526 0.551789 0.547368 0.522105 0.475387 0.416693 +0.38072 0.348533 0.34096 0.35232 0.371253 0.38072 0.390187 0.390187 +0.393973 0.401547 0.412907 0.407227 0.393973 0.39776 0.399653 0.4148 +0.473493 0.543579 0.639579 0.782947 0.894105 0.942105 0.964842 0.979368 +0.982939 0.987184 0.990449 0.990122 0.993061 0.997959 0.996 0.993714 +0.986857 0.983918 0.983265 0.980653 0.976842 0.965474 0.941474 0.936421 +0.918737 0.892842 0.895368 0.906737 0.917474 0.911158 0.881474 0.758316 +0.570737 0.500632 0.508842 0.513263 0.518947 0.526526 0.541684 0.549895 +0.536 0.515158 0.502526 0.469707 0.446987 0.450773 0.450773 0.429947 +0.399653 0.384507 0.3864 0.395867 0.4148 0.348533 0.32392 0.390187 +0.508211 0.572 0.673053 0.776632 0.777895 0.690105 0.601053 0.553684 +0.530947 0.518316 0.501263 0.452667 0.467813 0.541684 0.624421 0.612421 +0.542316 0.528421 0.578316 0.638947 0.621895 0.592211 0.596632 0.575158 +0.517053 0.450773 0.435627 0.43184 0.46024 0.508842 0.540421 0.56 +0.557474 0.525895 0.467813 0.439413 0.456453 0.46024 0.433733 0.416693 +0.399653 0.390187 0.376933 0.373147 0.395867 0.445093 0.521474 0.558105 +0.572632 0.582105 0.573263 0.558737 0.569474 0.608 0.637684 0.679368 +0.776 0.887789 0.956 0.946526 0.866947 0.784842 0.733684 0.728 +0.746947 0.764632 0.766526 0.743789 0.710947 0.695158 0.686947 0.668 +0.649053 0.633263 0.616842 0.604842 0.579579 0.542947 0.526526 0.512632 +0.492427 0.462133 0.446987 0.456453 0.458347 0.4432 0.433733 0.405333 +0.34664 0.31256 0.304987 0.31256 0.327707 0.390187 0.439413 0.418587 +0.39208 0.39776 0.4148 0.40912 0.373147 0.34096 0.348533 0.361787 +0.376933 0.399653 0.42616 0.475387 0.505684 0.475387 0.40344 0.36936 +0.371253 0.36936 0.356107 0.365573 0.3864 0.393973 0.382613 0.384507 +0.4148 0.505684 0.609895 0.813895 1.00808 1.05641 1.04269 1.04041 +1.11326 1.24107 1.16956 1.0378 1.01429 1.00808 1.00678 1.00808 +1.00873 1.01135 1.01592 1.01592 1.01559 1.01461 1.01331 1.01527 +1.01429 1.01298 1.01265 1.01265 1.01396 1.01624 1.01722 1.01951 +1.0169 1.01396 1.00612 1.00286 1.00971 1.01167 1.01037 1.01167 +1.01396 1.01592 1.01429 1.012 1.00547 0.990449 0.975579 0.959789 +0.950316 0.948421 0.956632 0.981306 0.983592 0.853684 0.622526 0.462133 +0.373147 0.308773 0.246293 0.217893 0.216 0.00098 0.00096 0.000966667 +0.000913333 0.000833333 0.000746667 0.000706667 0.000713333 0.00072 0.000726667 0.000726667 +0.00072 0.000713333 0.000713333 0.000713333 0.00072 0.00072 0.00072 0.0007 +0.000693333 0.0007 0.0007 0.0007 0.0007 0.0007 0.000706667 0.000713333 +0.000733333 0.000746667 0.000746667 0.000726667 0.000726667 0.00072 0.0007 0.000686667 +0.00068 0.000686667 0.000693333 0.000706667 0.000733333 0.000753333 0.00076 0.00076 +0.000766667 0.000773333 0.000806667 0.00084 0.000813333 0.000806667 0.00086 0.253867 +0.358 0.3864 0.548632 0.784842 0.974947 0.987837 0.963579 0.949053 +0.945895 0.951579 0.960421 0.960421 0.964842 0.985224 1.00253 1.01004 +1.00939 1.00678 1.00482 1.00776 1.01494 1.01722 1.01494 1.01429 +1.01429 1.01657 1.01624 1.01559 1.01592 1.01722 1.02376 1.04531 +1.18477 1.30498 1.23042 1.06456 1.03878 1.05347 1.1726 1.05249 +0.894105 0.650947 0.512 0.405333 0.365573 0.376933 0.376933 0.34096 +0.320133 0.310667 0.303093 0.3012 0.287947 0.28416 0.29552 0.316347 +0.36368 0.382613 0.354213 0.322027 0.308773 0.299307 0.322027 0.361787 +0.356107 0.34096 0.376933 0.42616 0.446987 0.4148 0.356107 0.325813 +0.327707 0.331493 0.342853 0.37504 0.464027 0.542947 0.596 0.643368 +0.690737 0.698947 0.685684 0.683158 0.672421 0.623158 0.558737 0.507579 +0.429947 0.388293 0.359893 0.337173 0.331493 0.34096 0.350427 0.361787 +0.3864 0.446987 0.435627 0.378827 0.36368 0.359893 0.359893 0.361787 +0.356107 0.358 0.378827 0.4148 0.44888 0.418587 0.371253 0.42048 +0.536632 0.571368 0.531579 0.467813 0.393973 0.356107 0.34096 0.348533 +0.37504 0.40344 0.44888 0.48296 0.503158 0.513263 0.524 0.551789 +0.604842 0.643368 0.601053 0.506947 0.371253 0.344747 0.344747 0.339067 +0.316347 0.308773 0.348533 0.3864 0.373147 0.359893 0.34096 0.3296 +0.373147 0.40344 0.359893 0.32392 0.327707 0.331493 0.371253 0.500632 +0.566947 0.618105 0.618737 0.579579 0.528421 0.464027 0.39776 0.367467 +0.365573 0.361787 0.350427 0.339067 0.339067 0.348533 0.33528 0.34096 +0.359893 0.354213 0.34096 0.337173 0.32392 0.320133 0.34096 0.36368 +0.342853 0.342853 0.367467 0.371253 0.376933 0.38072 0.371253 0.382613 +0.390187 0.399653 0.40344 0.384507 0.384507 0.399653 0.484853 0.509474 +0.45456 0.405333 0.40344 0.3864 0.388293 0.40912 0.4148 0.42616 +0.429947 0.446987 0.500632 0.533474 0.561263 0.566947 0.547368 0.518316 +0.4716 0.40344 0.365573 0.365573 0.384507 0.393973 0.378827 0.354213 +0.3864 0.39776 0.433733 0.43184 0.40344 0.411013 0.412907 0.422373 +0.467813 0.543579 0.635158 0.773474 0.879579 0.925053 0.953474 0.962947 +0.968 0.98098 0.981959 0.982612 0.990776 0.997633 0.998286 0.994041 +0.982939 0.981959 0.973053 0.956632 0.954105 0.944 0.913684 0.903579 +0.900421 0.885895 0.885895 0.909895 0.922526 0.902947 0.866947 0.747579 +0.564421 0.486747 0.498107 0.501895 0.512 0.526526 0.536 0.537263 +0.538526 0.526526 0.513895 0.506947 0.464027 0.435627 0.422373 0.390187 +0.371253 0.354213 0.342853 0.350427 0.38072 0.314453 0.234933 0.26144 +0.339067 0.4716 0.563789 0.650947 0.682526 0.638316 0.576421 0.536632 +0.515789 0.512632 0.515789 0.511368 0.506947 0.542316 0.614316 0.606737 +0.539789 0.529684 0.565053 0.584 0.536 0.475387 0.48864 0.510737 +0.475387 0.407227 0.401547 0.42048 0.45456 0.503789 0.521474 0.517053 +0.501263 0.445093 0.401547 0.411013 0.452667 0.464027 0.39776 0.38072 +0.39776 0.407227 0.399653 0.393973 0.412907 0.467813 0.524632 0.551789 +0.561263 0.573263 0.572 0.561895 0.584632 0.648421 0.716 0.775368 +0.851789 0.919368 0.944 0.911158 0.822105 0.754526 0.729263 0.720421 +0.715368 0.715368 0.709053 0.675579 0.631368 0.602947 0.587158 0.569474 +0.551158 0.535368 0.522105 0.518947 0.508211 0.446987 0.4148 0.42048 +0.424267 0.411013 0.3864 0.412907 0.452667 0.458347 0.473493 0.475387 +0.411013 0.354213 0.3296 0.310667 0.31256 0.401547 0.5 0.484853 +0.418587 0.367467 0.342853 0.339067 0.34664 0.325813 0.3296 0.354213 +0.373147 0.378827 0.378827 0.393973 0.458347 0.496213 0.452667 0.39208 +0.371253 0.36368 0.344747 0.337173 0.350427 0.378827 0.393973 0.39776 +0.422373 0.508211 0.611789 0.812632 1.00482 1.05053 1.03649 1.03812 +1.12695 1.26237 1.17716 1.03714 1.012 1.00743 1.00808 1.01004 +1.012 1.01167 1.01331 1.01265 1.01298 1.01363 1.01363 1.01396 +1.01135 1.01461 1.01624 1.01592 1.01461 1.01396 1.01624 1.01788 +1.01657 1.01527 1.00678 1.00449 1.01135 1.01233 1.01037 1.01069 +1.01233 1.01331 1.01461 1.01363 1.0071 0.992408 0.975579 0.960421 +0.953474 0.947158 0.953474 0.974316 0.982286 0.862526 0.633263 0.502526 +0.388293 0.287947 0.000993333 0.000893333 0.000886667 0.000846667 0.000853333 0.000846667 +0.000826667 0.000786667 0.0008 0.00076 0.000713333 0.000706667 0.000706667 0.00072 +0.0007 0.000693333 0.000686667 0.000693333 0.000693333 0.0007 0.00072 0.00072 +0.000706667 0.0007 0.0007 0.000693333 0.000706667 0.000706667 0.000706667 0.000693333 +0.0007 0.000713333 0.000733333 0.000733333 0.000726667 0.000733333 0.000733333 0.000713333 +0.0007 0.000713333 0.000706667 0.000713333 0.000713333 0.00074 0.00078 0.000806667 +0.000806667 0.0008 0.00082 0.00082 0.000793333 0.000813333 0.000913333 0.28416 +0.365573 0.37504 0.557474 0.801895 0.980653 0.987184 0.961684 0.946526 +0.947158 0.955368 0.961684 0.961684 0.966737 0.985224 1.00318 1.01004 +1.00808 1.00612 1.00514 1.0071 1.01396 1.01755 1.01624 1.01494 +1.01494 1.01755 1.01722 1.01494 1.01494 1.01527 1.01984 1.03976 +1.17108 1.3278 1.2715 1.08891 1.04073 1.05543 1.20607 1.07522 +0.911789 0.660421 0.515789 0.40912 0.371253 0.378827 0.393973 0.376933 +0.344747 0.314453 0.308773 0.31256 0.297413 0.287947 0.299307 0.331493 +0.388293 0.405333 0.365573 0.33528 0.32392 0.322027 0.34096 0.354213 +0.331493 0.33528 0.388293 0.428053 0.422373 0.378827 0.327707 0.308773 +0.314453 0.31824 0.322027 0.337173 0.376933 0.456453 0.508211 0.537895 +0.597895 0.645263 0.669895 0.691368 0.705263 0.693263 0.653474 0.593474 +0.534737 0.47728 0.401547 0.361787 0.348533 0.344747 0.358 0.3864 +0.433733 0.47728 0.452667 0.40912 0.388293 0.365573 0.35232 0.35232 +0.35232 0.359893 0.373147 0.390187 0.411013 0.395867 0.348533 0.331493 +0.418587 0.515789 0.526526 0.506947 0.416693 0.359893 0.348533 0.358 +0.37504 0.373147 0.373147 0.39208 0.416693 0.424267 0.42616 0.48296 +0.563158 0.645263 0.626316 0.523368 0.395867 0.36368 0.359893 0.354213 +0.337173 0.325813 0.344747 0.376933 0.373147 0.361787 0.356107 0.37504 +0.433733 0.435627 0.36936 0.333387 0.342853 0.376933 0.467813 0.541053 +0.582105 0.582737 0.549895 0.514526 0.462133 0.399653 0.371253 0.358 +0.365573 0.367467 0.358 0.359893 0.356107 0.350427 0.344747 0.359893 +0.367467 0.365573 0.365573 0.359893 0.337173 0.316347 0.331493 0.365573 +0.350427 0.337173 0.348533 0.361787 0.37504 0.382613 0.36936 0.382613 +0.401547 0.393973 0.382613 0.376933 0.388293 0.411013 0.501895 0.519579 +0.47728 0.405333 0.399653 0.39208 0.393973 0.424267 0.40344 0.39208 +0.40344 0.405333 0.416693 0.481067 0.518316 0.546105 0.560632 0.556842 +0.536 0.506316 0.445093 0.407227 0.395867 0.390187 0.39208 0.36368 +0.38072 0.359893 0.390187 0.40912 0.407227 0.418587 0.4148 0.435627 +0.458347 0.540421 0.644 0.774105 0.866316 0.910526 0.942737 0.947789 +0.956 0.969895 0.964842 0.966737 0.98 0.985878 0.989796 0.988816 +0.984571 0.984245 0.971789 0.954105 0.952211 0.949684 0.923158 0.898526 +0.892842 0.889053 0.880842 0.904211 0.921263 0.899158 0.860632 0.738737 +0.556211 0.450773 0.445093 0.46024 0.498107 0.509474 0.515158 0.522105 +0.528421 0.522105 0.527789 0.534737 0.506316 0.484853 0.46592 0.39776 +0.367467 0.34096 0.31824 0.333387 0.388293 0.361787 0.286053 0.274693 +0.270907 0.31824 0.42616 0.514526 0.524632 0.502526 0.456453 0.418587 +0.388293 0.407227 0.458347 0.469707 0.441307 0.47728 0.544842 0.587789 +0.584632 0.581474 0.579579 0.549263 0.469707 0.367467 0.382613 0.445093 +0.446987 0.405333 0.395867 0.40912 0.43184 0.445093 0.464027 0.43752 +0.395867 0.378827 0.38072 0.39776 0.452667 0.473493 0.401547 0.371253 +0.401547 0.424267 0.428053 0.4148 0.43184 0.48296 0.517053 0.527158 +0.532842 0.556842 0.585263 0.612421 0.657263 0.723579 0.790526 0.837895 +0.865684 0.874526 0.860632 0.825895 0.769053 0.720421 0.697053 0.668 +0.633895 0.613684 0.604842 0.585895 0.556211 0.530316 0.512 0.490533 +0.433733 0.390187 0.37504 0.388293 0.40344 0.373147 0.344747 0.356107 +0.378827 0.393973 0.367467 0.367467 0.40344 0.42048 0.44888 0.502526 +0.504421 0.469707 0.416693 0.38072 0.3864 0.43752 0.467813 0.422373 +0.36368 0.333387 0.316347 0.30688 0.333387 0.35232 0.354213 0.361787 +0.348533 0.339067 0.337173 0.337173 0.399653 0.501263 0.503789 0.433733 +0.382613 0.361787 0.350427 0.354213 0.354213 0.35232 0.371253 0.399653 +0.422373 0.506316 0.612421 0.811368 1.00188 1.0489 1.03584 1.0391 +1.14977 1.28368 1.17412 1.03649 1.01331 1.00873 1.01037 1.01167 +1.012 1.01135 1.01037 1.01004 1.01396 1.01494 1.01592 1.0169 +1.01233 1.01461 1.0169 1.01527 1.01494 1.01265 1.01527 1.01755 +1.01624 1.01657 1.00743 1.00384 1.01069 1.01298 1.01233 1.01167 +1.01069 1.01167 1.01396 1.01396 1.00743 0.994367 0.976211 0.954105 +0.951579 0.949684 0.956 0.98 0.984898 0.876421 0.647158 0.504421 +0.371253 0.26144 0.000906667 0.00082 0.000826667 0.00082 0.00082 0.0008 +0.0008 0.000793333 0.000773333 0.000786667 0.000706667 0.000706667 0.000706667 0.00072 +0.00072 0.000726667 0.000733333 0.000713333 0.00068 0.000653333 0.000666667 0.000693333 +0.0007 0.000693333 0.0007 0.000706667 0.000713333 0.00072 0.000733333 0.000746667 +0.00074 0.000706667 0.000693333 0.000693333 0.0007 0.000713333 0.000713333 0.000693333 +0.0007 0.000726667 0.000746667 0.000766667 0.000753333 0.000766667 0.00078 0.000786667 +0.000806667 0.00082 0.000813333 0.00078 0.000766667 0.000813333 0.000986667 0.31256 +0.356107 0.367467 0.573263 0.820842 0.983592 0.985878 0.960421 0.946526 +0.946526 0.955368 0.961684 0.961684 0.965474 0.985551 1.00351 1.00939 +1.00906 1.00841 1.0058 1.00612 1.01135 1.01363 1.01363 1.01527 +1.01494 1.01722 1.0182 1.01559 1.01461 1.01461 1.01722 1.03159 +1.11934 1.33085 1.34302 1.15586 1.04857 1.05902 1.21673 1.10565 +0.926947 0.672421 0.523368 0.428053 0.38072 0.37504 0.382613 0.378827 +0.361787 0.339067 0.331493 0.32392 0.308773 0.310667 0.331493 0.382613 +0.45456 0.46592 0.401547 0.36368 0.359893 0.354213 0.358 0.350427 +0.3296 0.356107 0.399653 0.399653 0.373147 0.342853 0.32392 0.316347 +0.303093 0.304987 0.31824 0.331493 0.348533 0.3864 0.40912 0.422373 +0.504421 0.546105 0.588421 0.643368 0.699579 0.731158 0.733053 0.713474 +0.673684 0.618737 0.567579 0.525263 0.481067 0.412907 0.384507 0.395867 +0.44888 0.479173 0.433733 0.388293 0.367467 0.350427 0.337173 0.337173 +0.344747 0.358 0.367467 0.36936 0.3864 0.388293 0.35232 0.322027 +0.322027 0.37504 0.475387 0.502526 0.416693 0.354213 0.344747 0.344747 +0.34664 0.342853 0.339067 0.342853 0.348533 0.344747 0.34096 0.367467 +0.484853 0.559368 0.568211 0.507579 0.395867 0.365573 0.358 0.350427 +0.339067 0.33528 0.339067 0.348533 0.356107 0.356107 0.359893 0.395867 +0.433733 0.416693 0.365573 0.350427 0.38072 0.456453 0.523368 0.553053 +0.554947 0.527789 0.481067 0.416693 0.38072 0.359893 0.35232 0.356107 +0.361787 0.358 0.359893 0.373147 0.378827 0.38072 0.3864 0.395867 +0.399653 0.390187 0.367467 0.35232 0.337173 0.314453 0.3296 0.36368 +0.354213 0.337173 0.3296 0.320133 0.339067 0.359893 0.359893 0.367467 +0.384507 0.373147 0.356107 0.36368 0.390187 0.42048 0.500632 0.522737 +0.500632 0.424267 0.399653 0.3864 0.405333 0.446987 0.412907 0.376933 +0.411013 0.4432 0.433733 0.4432 0.44888 0.47728 0.508842 0.530947 +0.551158 0.549263 0.530316 0.502526 0.43184 0.407227 0.382613 0.37504 +0.365573 0.359893 0.358 0.38072 0.384507 0.39776 0.40344 0.441307 +0.452667 0.527158 0.639579 0.779158 0.866316 0.906105 0.932632 0.932632 +0.940842 0.950947 0.948421 0.957895 0.959789 0.957263 0.959789 0.962947 +0.970526 0.972421 0.970526 0.969895 0.971158 0.969263 0.945263 0.911158 +0.896632 0.898526 0.887789 0.893474 0.904211 0.894105 0.864421 0.752 +0.56 0.405333 0.373147 0.388293 0.446987 0.48296 0.503158 0.517684 +0.515789 0.510105 0.532211 0.554316 0.533474 0.517053 0.49432 0.429947 +0.4148 0.373147 0.327707 0.3296 0.356107 0.344747 0.320133 0.297413 +0.251973 0.2728 0.32392 0.354213 0.34664 0.316347 0.344747 0.35232 +0.358 0.401547 0.43752 0.422373 0.405333 0.43184 0.517053 0.59979 +0.657895 0.637684 0.560632 0.473493 0.361787 0.322027 0.34664 0.39208 +0.412907 0.418587 0.416693 0.39776 0.38072 0.373147 0.37504 0.373147 +0.34664 0.354213 0.3864 0.418587 0.464027 0.48296 0.401547 0.344747 +0.36936 0.401547 0.429947 0.43184 0.435627 0.46592 0.513895 0.542947 +0.569474 0.604211 0.654737 0.712211 0.762105 0.800632 0.826526 0.827158 +0.797474 0.754526 0.710947 0.669895 0.642105 0.621263 0.608 0.577684 +0.539158 0.518947 0.510737 0.506947 0.498107 0.469707 0.452667 0.42616 +0.378827 0.342853 0.33528 0.339067 0.37504 0.393973 0.388293 0.388293 +0.390187 0.405333 0.412907 0.407227 0.399653 0.38072 0.390187 0.458347 +0.513895 0.525263 0.516421 0.506947 0.503789 0.48864 0.424267 0.365573 +0.34096 0.331493 0.3296 0.327707 0.348533 0.382613 0.40912 0.405333 +0.356107 0.32392 0.320133 0.32392 0.348533 0.452667 0.517684 0.504421 +0.43184 0.382613 0.36368 0.371253 0.378827 0.361787 0.356107 0.388293 +0.43184 0.505684 0.608 0.811368 1.00024 1.04596 1.03486 1.03943 +1.16347 1.30498 1.16499 1.03257 1.01265 1.00939 1.00873 1.01167 +1.012 1.01233 1.01461 1.01331 1.01429 1.01657 1.01527 1.01429 +1.01135 1.01396 1.01722 1.01559 1.01624 1.01527 1.01429 1.01592 +1.01592 1.01429 1.00612 1.0058 1.01298 1.01461 1.01298 1.012 +1.01004 1.00939 1.00971 1.01037 1.00678 0.995673 0.979368 0.954105 +0.952842 0.953474 0.956632 0.982612 0.98751 0.882737 0.654105 0.498107 +0.361787 0.257653 0.0009 0.00084 0.000833333 0.000806667 0.00076 0.00074 +0.000786667 0.0008 0.000773333 0.000786667 0.00074 0.00072 0.000706667 0.000713333 +0.000713333 0.00072 0.00072 0.000713333 0.000706667 0.000686667 0.000686667 0.000693333 +0.000686667 0.000693333 0.000693333 0.000693333 0.000693333 0.000693333 0.0007 0.000713333 +0.000733333 0.00072 0.000713333 0.000706667 0.00072 0.000733333 0.000726667 0.000706667 +0.000693333 0.000693333 0.00072 0.00074 0.000753333 0.000766667 0.00078 0.000766667 +0.000773333 0.000813333 0.000826667 0.000806667 0.000786667 0.000846667 0.236827 0.3296 +0.32392 0.34664 0.585263 0.834737 0.984245 0.985224 0.964842 0.953474 +0.949684 0.956632 0.962947 0.959158 0.962947 0.986531 1.00384 1.00743 +1.00841 1.01037 1.00612 1.00514 1.00939 1.01037 1.01167 1.01461 +1.01461 1.01559 1.01788 1.01722 1.0169 1.01559 1.01657 1.02376 +1.05804 1.29889 1.39019 1.22281 1.05935 1.09043 1.23042 1.12239 +0.938316 0.68 0.526526 0.433733 0.39208 0.373147 0.365573 0.361787 +0.371253 0.38072 0.376933 0.34096 0.316347 0.320133 0.34096 0.405333 +0.501895 0.514526 0.498107 0.456453 0.435627 0.42048 0.407227 0.371253 +0.348533 0.367467 0.373147 0.344747 0.31824 0.304987 0.316347 0.32392 +0.304987 0.297413 0.30688 0.322027 0.342853 0.365573 0.371253 0.373147 +0.42616 0.492427 0.520842 0.577053 0.661053 0.730526 0.779158 0.810737 +0.804421 0.764 0.719158 0.674947 0.628842 0.584 0.546737 0.525263 +0.524 0.516421 0.475387 0.40344 0.359893 0.342853 0.33528 0.339067 +0.35232 0.36368 0.36368 0.359893 0.376933 0.399653 0.373147 0.339067 +0.322027 0.325813 0.39776 0.473493 0.42616 0.361787 0.342853 0.3296 +0.322027 0.320133 0.320133 0.325813 0.3296 0.327707 0.337173 0.361787 +0.378827 0.42048 0.43752 0.393973 0.371253 0.356107 0.339067 0.333387 +0.322027 0.325813 0.331493 0.333387 0.34096 0.34664 0.348533 0.367467 +0.361787 0.342853 0.339067 0.371253 0.441307 0.503158 0.520211 0.520211 +0.508842 0.47728 0.42048 0.373147 0.344747 0.34664 0.33528 0.333387 +0.34096 0.339067 0.35232 0.40344 0.456453 0.473493 0.456453 0.429947 +0.411013 0.395867 0.348533 0.31824 0.322027 0.325813 0.34096 0.36368 +0.361787 0.344747 0.325813 0.30688 0.325813 0.350427 0.36936 0.376933 +0.371253 0.359893 0.350427 0.354213 0.378827 0.407227 0.486747 0.531579 +0.525895 0.492427 0.435627 0.39776 0.39776 0.441307 0.424267 0.405333 +0.446987 0.484853 0.458347 0.424267 0.42048 0.4148 0.40912 0.435627 +0.506316 0.536632 0.547368 0.526526 0.46592 0.439413 0.399653 0.373147 +0.361787 0.35232 0.354213 0.36936 0.38072 0.39208 0.407227 0.43752 +0.435627 0.498107 0.599158 0.765263 0.871368 0.907368 0.924421 0.917474 +0.925684 0.933263 0.934526 0.945263 0.942105 0.936421 0.935789 0.937053 +0.947789 0.960421 0.971789 0.978737 0.978737 0.971158 0.951579 0.927579 +0.920632 0.921895 0.907368 0.897895 0.887789 0.885263 0.873263 0.786105 +0.595368 0.405333 0.337173 0.337173 0.39776 0.441307 0.473493 0.511368 +0.504421 0.475387 0.512 0.531579 0.544211 0.551789 0.521474 0.469707 +0.462133 0.43184 0.3864 0.358 0.342853 0.333387 0.333387 0.297413 +0.265227 0.286053 0.299307 0.310667 0.3296 0.339067 0.36936 0.36368 +0.39208 0.441307 0.435627 0.4432 0.498107 0.504421 0.530316 0.610526 +0.681895 0.653474 0.537895 0.333387 0.28416 0.322027 0.367467 0.382613 +0.399653 0.40912 0.401547 0.388293 0.36368 0.354213 0.354213 0.367467 +0.361787 0.354213 0.365573 0.393973 0.441307 0.481067 0.422373 0.34664 +0.342853 0.354213 0.388293 0.422373 0.44888 0.500632 0.543579 0.607368 +0.666737 0.712211 0.760842 0.814526 0.839789 0.827789 0.803158 0.767789 +0.712211 0.653474 0.608 0.577684 0.563158 0.562526 0.561895 0.537263 +0.507579 0.479173 0.45456 0.439413 0.418587 0.40344 0.40912 0.407227 +0.37504 0.35232 0.348533 0.356107 0.416693 0.479173 0.504421 0.515789 +0.522105 0.520842 0.518316 0.510737 0.47728 0.39776 0.36936 0.399653 +0.47728 0.526526 0.549263 0.554316 0.553684 0.536632 0.506947 0.4432 +0.399653 0.367467 0.356107 0.371253 0.40344 0.433733 0.439413 0.405333 +0.356107 0.331493 0.31824 0.325813 0.34664 0.399653 0.501895 0.516421 +0.4716 0.39776 0.378827 0.3864 0.390187 0.376933 0.371253 0.38072 +0.422373 0.508842 0.610526 0.810105 0.998286 1.03976 1.028 1.0378 +1.17869 1.30041 1.13152 1.028 1.01069 1.0071 1.0071 1.01298 +1.01461 1.01331 1.01592 1.01494 1.012 1.01396 1.01494 1.01494 +1.01265 1.01429 1.01657 1.01559 1.01559 1.01559 1.01559 1.01657 +1.01592 1.01265 1.00514 1.00776 1.01331 1.01494 1.01265 1.01102 +1.00971 1.0071 1.00776 1.01037 1.00776 0.99698 0.98 0.952842 +0.946526 0.947789 0.957263 0.984245 0.989796 0.884632 0.656 0.5 +0.365573 0.274693 0.000953333 0.000866667 0.000833333 0.000813333 0.00076 0.000746667 +0.000793333 0.0008 0.000773333 0.000766667 0.000713333 0.000713333 0.000713333 0.000713333 +0.0007 0.000706667 0.0007 0.000706667 0.00072 0.00072 0.00072 0.00072 +0.00072 0.000713333 0.0007 0.0007 0.0007 0.000706667 0.00072 0.000713333 +0.000713333 0.0007 0.000706667 0.00072 0.000713333 0.000693333 0.000713333 0.000733333 +0.00072 0.000713333 0.000713333 0.000713333 0.000753333 0.000753333 0.00074 0.000753333 +0.00076 0.000766667 0.0008 0.00082 0.000813333 0.000906667 0.282267 0.34664 +0.29552 0.333387 0.593474 0.845474 0.984245 0.983592 0.969263 0.961684 +0.955368 0.958526 0.962947 0.957895 0.964842 0.990122 1.0058 1.00743 +1.00841 1.01037 1.00547 1.00351 1.00841 1.01135 1.01331 1.01624 +1.01624 1.01559 1.01624 1.01755 1.0169 1.01429 1.01494 1.0182 +1.04465 1.24259 1.3841 1.25629 1.095 1.09956 1.20607 1.11782 +0.950947 0.692 0.535368 0.45456 0.418587 0.39208 0.36936 0.354213 +0.36936 0.401547 0.411013 0.371253 0.348533 0.35232 0.378827 0.44888 +0.506316 0.520842 0.529684 0.533474 0.529684 0.528421 0.525895 0.502526 +0.418587 0.36936 0.348533 0.322027 0.299307 0.297413 0.314453 0.31256 +0.299307 0.293627 0.293627 0.310667 0.337173 0.348533 0.350427 0.373147 +0.43184 0.492427 0.514526 0.560632 0.636421 0.717895 0.793684 0.853684 +0.868211 0.844842 0.821474 0.801263 0.768421 0.724842 0.680632 0.644632 +0.618737 0.592211 0.558105 0.518316 0.452667 0.39776 0.36936 0.365573 +0.378827 0.378827 0.361787 0.365573 0.40344 0.433733 0.399653 0.350427 +0.320133 0.316347 0.361787 0.445093 0.433733 0.390187 0.37504 0.34664 +0.327707 0.316347 0.31824 0.327707 0.331493 0.327707 0.356107 0.376933 +0.358 0.339067 0.333387 0.325813 0.344747 0.356107 0.337173 0.320133 +0.310667 0.310667 0.31256 0.314453 0.331493 0.34096 0.34096 0.361787 +0.34664 0.3296 0.35232 0.42048 0.505053 0.511368 0.492427 0.4432 +0.416693 0.40912 0.395867 0.36368 0.339067 0.331493 0.320133 0.32392 +0.32392 0.32392 0.34664 0.456453 0.527789 0.525263 0.48296 0.399653 +0.382613 0.405333 0.390187 0.35232 0.331493 0.342853 0.367467 0.365573 +0.348533 0.327707 0.320133 0.322027 0.337173 0.361787 0.395867 0.39208 +0.358 0.361787 0.37504 0.36368 0.359893 0.37504 0.45456 0.539158 +0.561895 0.541684 0.509474 0.4432 0.412907 0.433733 0.428053 0.428053 +0.44888 0.46592 0.435627 0.393973 0.388293 0.38072 0.38072 0.38072 +0.407227 0.475387 0.518947 0.523368 0.502526 0.458347 0.407227 0.378827 +0.371253 0.376933 0.371253 0.38072 0.3864 0.388293 0.418587 0.42616 +0.40912 0.439413 0.551789 0.728 0.868842 0.912421 0.923158 0.912421 +0.92 0.925053 0.925053 0.92821 0.925684 0.929474 0.938316 0.947789 +0.958526 0.976842 0.981306 0.982286 0.98 0.976842 0.971789 0.959789 +0.961684 0.957263 0.938947 0.931368 0.909895 0.896632 0.879579 0.820211 +0.666737 0.501895 0.325813 0.32392 0.365573 0.39776 0.439413 0.509474 +0.516421 0.490533 0.498107 0.505053 0.525263 0.558737 0.545474 0.504421 +0.458347 0.445093 0.439413 0.411013 0.358 0.331493 0.339067 0.314453 +0.286053 0.28416 0.28416 0.304987 0.358 0.40344 0.424267 0.395867 +0.407227 0.458347 0.452667 0.490533 0.520211 0.504421 0.524632 0.617474 +0.691368 0.690737 0.613053 0.506947 0.388293 0.38072 0.407227 0.405333 +0.412907 0.393973 0.359893 0.373147 0.371253 0.359893 0.35232 0.356107 +0.361787 0.348533 0.35232 0.373147 0.39776 0.429947 0.424267 0.37504 +0.356107 0.35232 0.359893 0.42048 0.507579 0.554316 0.620632 0.702105 +0.776632 0.834105 0.873263 0.899158 0.890316 0.845474 0.791158 0.739368 +0.681895 0.629474 0.598526 0.590316 0.585895 0.583368 0.568211 0.533474 +0.508842 0.501263 0.5 0.49432 0.467813 0.424267 0.4148 0.40344 +0.388293 0.384507 0.39208 0.429947 0.507579 0.541053 0.562526 0.584632 +0.597263 0.589053 0.570737 0.542316 0.501895 0.411013 0.38072 0.39208 +0.42048 0.503158 0.546105 0.566316 0.568842 0.572632 0.566316 0.546105 +0.523368 0.501263 0.464027 0.4716 0.490533 0.481067 0.42616 0.365573 +0.3296 0.33528 0.337173 0.339067 0.35232 0.367467 0.412907 0.475387 +0.446987 0.390187 0.367467 0.36936 0.38072 0.38072 0.390187 0.395867 +0.416693 0.508211 0.623158 0.822105 0.996653 1.0329 1.02245 1.03812 +1.20912 1.30802 1.10413 1.02604 1.01363 1.00808 1.00678 1.01167 +1.01135 1.01135 1.01461 1.01592 1.01363 1.01233 1.01298 1.01722 +1.01461 1.01429 1.01657 1.01527 1.01363 1.01624 1.01755 1.01951 +1.01527 1.00971 1.00449 1.00645 1.01037 1.01265 1.01363 1.01298 +1.01102 1.00841 1.00776 1.01069 1.00678 0.996 0.979368 0.952211 +0.943368 0.945263 0.961053 0.985551 0.991755 0.891579 0.656632 0.492427 +0.358 0.293627 0.225467 0.000913333 0.000866667 0.000833333 0.00082 0.00076 +0.000793333 0.00078 0.0007 0.000713333 0.000733333 0.00072 0.000713333 0.000713333 +0.000706667 0.000693333 0.000673333 0.000686667 0.000713333 0.000733333 0.00074 0.00072 +0.000706667 0.000713333 0.000713333 0.000726667 0.00072 0.000713333 0.000706667 0.000706667 +0.00072 0.000706667 0.000706667 0.000706667 0.000693333 0.00066 0.00068 0.000713333 +0.000713333 0.00072 0.00072 0.000726667 0.000753333 0.000766667 0.000766667 0.00078 +0.000786667 0.000786667 0.00078 0.000806667 0.000826667 0.000993333 0.314453 0.327707 +0.253867 0.3296 0.59979 0.853053 0.986857 0.985551 0.978737 0.971789 +0.958526 0.955368 0.959789 0.956632 0.966737 0.992082 1.00678 1.00808 +1.00939 1.01167 1.00776 1.00253 1.0071 1.01233 1.01429 1.01527 +1.0169 1.01592 1.01461 1.0169 1.01592 1.01331 1.01527 1.01527 +1.03127 1.16347 1.35367 1.28368 1.12086 1.07978 1.14369 1.08739 +0.968 0.714105 0.545474 0.45456 0.42048 0.393973 0.36936 0.359893 +0.365573 0.382613 0.405333 0.411013 0.4148 0.424267 0.452667 0.47728 +0.469707 0.479173 0.512632 0.539789 0.558737 0.579579 0.604211 0.596632 +0.545474 0.469707 0.376933 0.331493 0.31256 0.310667 0.316347 0.314453 +0.31824 0.308773 0.291733 0.308773 0.327707 0.32392 0.337173 0.37504 +0.42616 0.496213 0.524 0.566316 0.621895 0.690737 0.765895 0.831579 +0.861895 0.863158 0.867579 0.874526 0.850526 0.803158 0.761474 0.726737 +0.692 0.652211 0.617474 0.582737 0.546737 0.517053 0.486747 0.44888 +0.429947 0.40344 0.3864 0.40912 0.446987 0.462133 0.43184 0.378827 +0.344747 0.333387 0.354213 0.412907 0.4148 0.367467 0.36368 0.361787 +0.344747 0.333387 0.3296 0.34096 0.33528 0.325813 0.350427 0.36936 +0.350427 0.33528 0.327707 0.322027 0.325813 0.33528 0.339067 0.33528 +0.322027 0.314453 0.310667 0.310667 0.322027 0.333387 0.3296 0.339067 +0.342853 0.34664 0.376933 0.47728 0.525895 0.509474 0.433733 0.3864 +0.38072 0.384507 0.36936 0.337173 0.31824 0.31824 0.320133 0.322027 +0.31824 0.31824 0.356107 0.506316 0.553684 0.525895 0.418587 0.337173 +0.33528 0.382613 0.424267 0.399653 0.350427 0.354213 0.399653 0.376933 +0.331493 0.310667 0.327707 0.354213 0.376933 0.39208 0.405333 0.393973 +0.376933 0.39776 0.411013 0.38072 0.356107 0.358 0.441307 0.529053 +0.552421 0.561263 0.553053 0.520842 0.467813 0.44888 0.433733 0.424267 +0.42048 0.418587 0.395867 0.373147 0.37504 0.361787 0.376933 0.39208 +0.399653 0.418587 0.4716 0.505053 0.515158 0.508211 0.46592 0.42616 +0.422373 0.4432 0.422373 0.405333 0.382613 0.384507 0.407227 0.40912 +0.39208 0.407227 0.518316 0.681263 0.848 0.914316 0.923158 0.913684 +0.918105 0.921263 0.921263 0.92 0.926947 0.942105 0.963579 0.975579 +0.982612 0.98751 0.987184 0.991429 0.992735 0.99502 0.997959 0.991429 +0.991102 0.988816 0.980327 0.98 0.962316 0.937684 0.908632 0.863789 +0.762737 0.586526 0.40344 0.339067 0.344747 0.36936 0.42048 0.490533 +0.519579 0.514526 0.503158 0.492427 0.500632 0.530316 0.548632 0.531579 +0.49432 0.43752 0.433733 0.42616 0.371253 0.327707 0.327707 0.327707 +0.29552 0.276587 0.291733 0.325813 0.38072 0.445093 0.498107 0.48864 +0.475387 0.486747 0.475387 0.511368 0.532842 0.524632 0.561263 0.662316 +0.719789 0.717895 0.668632 0.576421 0.507579 0.418587 0.4148 0.43184 +0.428053 0.40912 0.367467 0.376933 0.376933 0.371253 0.356107 0.344747 +0.359893 0.356107 0.358 0.367467 0.361787 0.382613 0.418587 0.418587 +0.405333 0.39776 0.42048 0.510105 0.570737 0.645263 0.730526 0.818316 +0.884632 0.928842 0.951579 0.952211 0.920632 0.864421 0.798737 0.730526 +0.663579 0.614316 0.591579 0.589684 0.592211 0.580211 0.551789 0.514526 +0.47728 0.45456 0.464027 0.48864 0.467813 0.435627 0.43184 0.39776 +0.373147 0.393973 0.435627 0.492427 0.521474 0.541684 0.551158 0.562526 +0.562526 0.549263 0.534105 0.512 0.433733 0.36368 0.354213 0.365573 +0.384507 0.428053 0.505684 0.520211 0.522105 0.541053 0.566316 0.577053 +0.574526 0.563158 0.553684 0.549263 0.530947 0.486747 0.40912 0.36368 +0.31824 0.31256 0.33528 0.34664 0.339067 0.348533 0.38072 0.424267 +0.40344 0.367467 0.354213 0.34664 0.36936 0.39776 0.407227 0.407227 +0.429947 0.511368 0.630737 0.833474 1.00024 1.0342 1.02735 1.04498 +1.22586 1.29889 1.08282 1.02278 1.01429 1.01233 1.01037 1.01233 +1.00971 1.00971 1.01233 1.01461 1.01363 1.01265 1.01363 1.01788 +1.01788 1.01657 1.01788 1.0169 1.01331 1.01722 1.01657 1.01592 +1.01396 1.00808 1.00514 1.00906 1.01037 1.01167 1.01135 1.012 +1.01004 1.00645 1.00776 1.012 1.00906 0.99698 0.979368 0.952842 +0.945895 0.947789 0.961053 0.986531 0.991429 0.894737 0.661053 0.479173 +0.34664 0.30688 0.259547 0.00098 0.000866667 0.00082 0.0008 0.000753333 +0.000773333 0.0008 0.0007 0.00068 0.00074 0.000726667 0.000726667 0.00072 +0.000733333 0.000726667 0.000706667 0.000706667 0.000693333 0.000686667 0.0007 0.000706667 +0.000686667 0.0007 0.00072 0.000733333 0.000733333 0.00072 0.000706667 0.000706667 +0.000713333 0.000706667 0.000713333 0.000713333 0.000693333 0.000673333 0.0007 0.00072 +0.000726667 0.000733333 0.00072 0.000733333 0.00072 0.00074 0.000766667 0.000773333 +0.000766667 0.000773333 0.000773333 0.000826667 0.000913333 0.259547 0.342853 0.29552 +0.223573 0.337173 0.602947 0.852421 0.986531 0.985224 0.975579 0.972421 +0.962316 0.957895 0.961684 0.957263 0.968 0.992082 1.00678 1.00906 +1.00971 1.01265 1.00939 1.00155 1.00384 1.00906 1.012 1.01429 +1.01624 1.01722 1.01396 1.01657 1.01657 1.01233 1.01331 1.01135 +1.01788 1.05967 1.28976 1.30041 1.15586 1.08435 1.10717 1.05673 +0.973684 0.734316 0.555579 0.452667 0.411013 0.376933 0.354213 0.344747 +0.339067 0.356107 0.416693 0.462133 0.456453 0.456453 0.46024 0.428053 +0.378827 0.37504 0.412907 0.486747 0.518316 0.549263 0.601684 0.638947 +0.62 0.562526 0.505053 0.401547 0.339067 0.316347 0.316347 0.322027 +0.337173 0.325813 0.3012 0.303093 0.308773 0.31256 0.327707 0.371253 +0.43752 0.505684 0.528421 0.56 0.604842 0.663579 0.717895 0.753263 +0.769053 0.783579 0.819579 0.856211 0.839789 0.793053 0.755789 0.727368 +0.700211 0.665474 0.636421 0.613684 0.587789 0.56 0.533474 0.512632 +0.486747 0.446987 0.435627 0.456453 0.473493 0.473493 0.473493 0.441307 +0.3864 0.348533 0.34664 0.40912 0.42616 0.367467 0.354213 0.376933 +0.365573 0.337173 0.32392 0.331493 0.331493 0.333387 0.358 0.361787 +0.342853 0.342853 0.342853 0.339067 0.342853 0.348533 0.33528 0.325813 +0.32392 0.320133 0.31824 0.31256 0.304987 0.316347 0.314453 0.310667 +0.327707 0.348533 0.378827 0.502526 0.525263 0.464027 0.373147 0.36936 +0.388293 0.37504 0.339067 0.31256 0.314453 0.3296 0.339067 0.327707 +0.31256 0.3296 0.395867 0.524 0.557474 0.504421 0.35232 0.314453 +0.320133 0.348533 0.388293 0.395867 0.365573 0.356107 0.39776 0.373147 +0.327707 0.322027 0.354213 0.388293 0.411013 0.388293 0.37504 0.3864 +0.405333 0.4148 0.399653 0.384507 0.361787 0.373147 0.45456 0.506316 +0.5 0.508211 0.528421 0.527158 0.49432 0.450773 0.43184 0.416693 +0.399653 0.39776 0.36936 0.367467 0.384507 0.376933 0.39776 0.43184 +0.43752 0.43752 0.422373 0.42616 0.496213 0.511368 0.501263 0.46592 +0.46592 0.475387 0.458347 0.43752 0.405333 0.416693 0.424267 0.418587 +0.393973 0.399653 0.502526 0.647789 0.827158 0.913053 0.928842 0.922526 +0.918737 0.924421 0.926947 0.929474 0.949684 0.974316 0.984245 0.98849 +0.994367 0.997959 1.0009 1.0071 1.01167 1.01461 1.01722 1.01102 +1.00808 1.00808 1.00188 1.0009 0.992082 0.980327 0.958526 0.920632 +0.861263 0.717895 0.551158 0.39776 0.34096 0.361787 0.393973 0.435627 +0.506947 0.523368 0.520842 0.511368 0.503789 0.505684 0.527158 0.548632 +0.533474 0.48296 0.439413 0.441307 0.395867 0.36936 0.365573 0.33528 +0.297413 0.280373 0.304987 0.342853 0.371253 0.405333 0.48296 0.522105 +0.538526 0.530947 0.496213 0.512 0.546737 0.538526 0.542316 0.592211 +0.613053 0.590947 0.560632 0.528421 0.505053 0.46024 0.441307 0.450773 +0.475387 0.484853 0.429947 0.399653 0.36936 0.359893 0.359893 0.359893 +0.376933 0.371253 0.359893 0.354213 0.354213 0.384507 0.435627 0.47728 +0.48864 0.503789 0.528421 0.582105 0.655368 0.739368 0.825895 0.902947 +0.950316 0.977474 0.982286 0.970526 0.928842 0.855579 0.774737 0.698947 +0.626316 0.577053 0.553684 0.540421 0.537263 0.525263 0.508211 0.4716 +0.435627 0.405333 0.411013 0.446987 0.445093 0.428053 0.435627 0.39776 +0.358 0.371253 0.416693 0.475387 0.49432 0.492427 0.469707 0.46024 +0.439413 0.399653 0.382613 0.390187 0.37504 0.331493 0.32392 0.327707 +0.350427 0.39776 0.44888 0.441307 0.412907 0.439413 0.498107 0.520211 +0.541684 0.562526 0.572 0.570105 0.548632 0.506947 0.416693 0.36936 +0.3296 0.304987 0.310667 0.339067 0.359893 0.35232 0.359893 0.40344 +0.39776 0.36936 0.373147 0.382613 0.382613 0.388293 0.393973 0.405333 +0.441307 0.521474 0.646526 0.851789 1.00873 1.03976 1.03159 1.04955 +1.21977 1.25477 1.05706 1.01984 1.012 1.012 1.01233 1.01363 +1.01233 1.01102 1.00971 1.01331 1.01429 1.01429 1.0169 1.01788 +1.01755 1.01624 1.01657 1.01722 1.01396 1.0169 1.01755 1.01363 +1.01298 1.00808 1.00645 1.01167 1.012 1.01135 1.00971 1.00939 +1.00776 1.00514 1.00776 1.01429 1.01167 0.998939 0.980653 0.952842 +0.945263 0.949053 0.962947 0.988163 0.992408 0.892211 0.658526 0.456453 +0.322027 0.297413 0.265227 0.223573 0.000886667 0.000826667 0.000806667 0.000793333 +0.000773333 0.000793333 0.000753333 0.000693333 0.00072 0.000713333 0.000693333 0.000706667 +0.000713333 0.000713333 0.000726667 0.000753333 0.000726667 0.000693333 0.000706667 0.000713333 +0.000713333 0.000713333 0.000713333 0.00072 0.00072 0.000713333 0.000693333 0.000673333 +0.000686667 0.000713333 0.000733333 0.00074 0.00074 0.00072 0.00072 0.000726667 +0.000726667 0.000726667 0.000726667 0.000713333 0.00072 0.000726667 0.00076 0.000773333 +0.000766667 0.000766667 0.000753333 0.000786667 0.00094 0.28984 0.33528 0.26144 +0.216 0.354213 0.609263 0.854947 0.987184 0.984245 0.964211 0.961684 +0.957895 0.956 0.959158 0.956 0.968632 0.992082 1.00645 1.00906 +1.01004 1.01331 1.01102 1.00253 1.0009 1.00612 1.01135 1.01429 +1.01461 1.01657 1.01429 1.01624 1.01755 1.01233 1.01037 1.00906 +1.00939 1.03682 1.18021 1.27455 1.18021 1.10717 1.09652 1.04988 +0.975579 0.751368 0.566316 0.462133 0.407227 0.373147 0.356107 0.348533 +0.35232 0.395867 0.462133 0.467813 0.4148 0.399653 0.401547 0.365573 +0.342853 0.378827 0.411013 0.407227 0.407227 0.441307 0.515158 0.565053 +0.597263 0.597263 0.570105 0.532211 0.469707 0.388293 0.359893 0.35232 +0.35232 0.34664 0.337173 0.333387 0.33528 0.359893 0.390187 0.439413 +0.506316 0.536 0.567579 0.610526 0.656 0.688842 0.692 0.668632 +0.642737 0.634526 0.654737 0.68 0.678105 0.665474 0.656632 0.649684 +0.641474 0.630105 0.623789 0.611789 0.584 0.557474 0.537263 0.519579 +0.505053 0.475387 0.45456 0.46592 0.473493 0.4716 0.49432 0.481067 +0.42048 0.365573 0.339067 0.373147 0.416693 0.395867 0.359893 0.359893 +0.350427 0.32392 0.320133 0.327707 0.327707 0.339067 0.358 0.342853 +0.3296 0.34096 0.337173 0.339067 0.371253 0.39208 0.344747 0.308773 +0.308773 0.314453 0.308773 0.30688 0.3012 0.31256 0.314453 0.322027 +0.333387 0.354213 0.411013 0.512 0.513895 0.40344 0.33528 0.348533 +0.361787 0.344747 0.310667 0.31256 0.333387 0.34096 0.348533 0.350427 +0.342853 0.358 0.43184 0.526526 0.544842 0.469707 0.33528 0.322027 +0.331493 0.339067 0.35232 0.365573 0.367467 0.36936 0.399653 0.36936 +0.331493 0.34096 0.36368 0.378827 0.388293 0.371253 0.36936 0.395867 +0.401547 0.39776 0.384507 0.37504 0.37504 0.416693 0.498107 0.5 +0.424267 0.3864 0.40344 0.445093 0.441307 0.4432 0.40912 0.382613 +0.384507 0.38072 0.382613 0.38072 0.39208 0.3864 0.395867 0.435627 +0.4432 0.416693 0.393973 0.388293 0.456453 0.504421 0.49432 0.450773 +0.42616 0.42048 0.441307 0.439413 0.446987 0.462133 0.464027 0.441307 +0.405333 0.416693 0.501895 0.626947 0.809474 0.912421 0.935158 0.933895 +0.924421 0.935789 0.945263 0.956632 0.977474 0.988816 0.993388 0.997959 +1.00645 1.01298 1.01592 1.01984 1.02245 1.02702 1.02865 1.0231 +1.01984 1.02049 1.01788 1.01624 1.00906 1.00155 0.992735 0.972421 +0.937684 0.861263 0.711579 0.545474 0.3864 0.359893 0.376933 0.424267 +0.490533 0.519579 0.537895 0.541684 0.529053 0.49432 0.458347 0.517053 +0.541684 0.514526 0.469707 0.464027 0.428053 0.39776 0.365573 0.316347 +0.297413 0.29552 0.308773 0.358 0.390187 0.378827 0.40344 0.502526 +0.553684 0.578316 0.530316 0.511368 0.533474 0.522105 0.508842 0.519579 +0.506316 0.439413 0.40912 0.407227 0.429947 0.452667 0.462133 0.467813 +0.481067 0.490533 0.467813 0.441307 0.4148 0.390187 0.376933 0.371253 +0.412907 0.441307 0.401547 0.36368 0.367467 0.446987 0.513895 0.520842 +0.524 0.549895 0.590947 0.650316 0.724842 0.802526 0.874526 0.937053 +0.973684 0.985224 0.983265 0.951579 0.896 0.813263 0.721684 0.647789 +0.588421 0.546737 0.522105 0.504421 0.498107 0.462133 0.42616 0.418587 +0.418587 0.39776 0.395867 0.42616 0.450773 0.44888 0.44888 0.40912 +0.376933 0.36936 0.38072 0.405333 0.401547 0.401547 0.393973 0.371253 +0.350427 0.331493 0.325813 0.350427 0.36368 0.339067 0.3296 0.3296 +0.339067 0.384507 0.439413 0.412907 0.34664 0.344747 0.371253 0.39208 +0.433733 0.501895 0.520842 0.529684 0.536 0.530947 0.506316 0.416693 +0.34664 0.316347 0.310667 0.327707 0.378827 0.39208 0.378827 0.411013 +0.428053 0.4148 0.401547 0.401547 0.395867 0.384507 0.376933 0.39776 +0.452667 0.534105 0.668632 0.876421 1.01527 1.0391 1.03159 1.05053 +1.21216 1.21977 1.04824 1.01788 1.01265 1.01135 1.01037 1.01233 +1.01331 1.01363 1.01233 1.01461 1.01396 1.01363 1.01461 1.01461 +1.01363 1.01363 1.01624 1.01886 1.01527 1.01722 1.01951 1.01722 +1.01265 1.00678 1.00678 1.012 1.01298 1.01265 1.00971 1.00939 +1.0071 1.00482 1.00678 1.01233 1.01102 0.999265 0.981959 0.954737 +0.947789 0.950316 0.961684 0.986857 0.990776 0.879579 0.645895 0.422373 +0.28416 0.286053 0.280373 0.251973 0.00096 0.00086 0.00084 0.000786667 +0.00074 0.00074 0.000753333 0.000713333 0.000726667 0.000733333 0.000713333 0.000706667 +0.000726667 0.0007 0.000706667 0.000733333 0.000733333 0.000706667 0.0007 0.0007 +0.000693333 0.000706667 0.000726667 0.000733333 0.000733333 0.00072 0.000706667 0.000693333 +0.0007 0.000706667 0.000713333 0.000713333 0.000706667 0.000713333 0.00072 0.00072 +0.000713333 0.00072 0.000746667 0.000726667 0.000713333 0.00074 0.000746667 0.00076 +0.000773333 0.000786667 0.000786667 0.000813333 0.22168 0.310667 0.299307 0.219787 +0.00098 0.350427 0.609895 0.858105 0.987837 0.983918 0.960421 0.954737 +0.950316 0.953474 0.958526 0.954105 0.964211 0.989469 1.00155 1.00547 +1.00971 1.01298 1.01167 1.00547 1.00155 1.00514 1.012 1.01331 +1.01396 1.01494 1.01396 1.01461 1.01592 1.01233 1.00939 1.00873 +1.00776 1.02212 1.07217 1.23042 1.18477 1.10108 1.07065 1.04629 +0.98098 0.766526 0.578316 0.47728 0.4148 0.39208 0.388293 0.39776 +0.418587 0.433733 0.424267 0.388293 0.354213 0.350427 0.356107 0.342853 +0.358 0.416693 0.418587 0.36936 0.342853 0.35232 0.382613 0.452667 +0.516421 0.550526 0.576421 0.583368 0.565053 0.539158 0.520842 0.509474 +0.504421 0.501263 0.49432 0.481067 0.481067 0.507579 0.525895 0.545474 +0.575789 0.62 0.681263 0.741895 0.767789 0.753263 0.703368 0.640842 +0.585895 0.548 0.531579 0.521474 0.517684 0.522737 0.524632 0.531579 +0.539789 0.556842 0.577053 0.565684 0.540421 0.523368 0.515158 0.504421 +0.484853 0.46592 0.445093 0.4432 0.45456 0.456453 0.475387 0.47728 +0.42048 0.37504 0.354213 0.34664 0.378827 0.405333 0.38072 0.35232 +0.331493 0.316347 0.3296 0.344747 0.342853 0.342853 0.333387 0.31824 +0.322027 0.32392 0.31824 0.32392 0.361787 0.39776 0.356107 0.310667 +0.30688 0.30688 0.297413 0.29552 0.29552 0.30688 0.316347 0.333387 +0.359893 0.407227 0.48864 0.525263 0.508211 0.388293 0.3296 0.327707 +0.33528 0.320133 0.310667 0.339067 0.361787 0.34664 0.339067 0.361787 +0.36936 0.378827 0.446987 0.520842 0.527158 0.452667 0.34664 0.322027 +0.325813 0.325813 0.3296 0.339067 0.344747 0.395867 0.422373 0.365573 +0.337173 0.344747 0.371253 0.365573 0.348533 0.36936 0.401547 0.424267 +0.40344 0.390187 0.378827 0.36936 0.388293 0.462133 0.510105 0.501895 +0.429947 0.371253 0.344747 0.356107 0.388293 0.42616 0.411013 0.36368 +0.36936 0.388293 0.43752 0.42048 0.388293 0.384507 0.399653 0.412907 +0.40344 0.407227 0.373147 0.37504 0.435627 0.484853 0.484853 0.439413 +0.416693 0.395867 0.405333 0.416693 0.445093 0.47728 0.48296 0.435627 +0.40344 0.422373 0.498107 0.618105 0.807579 0.918105 0.939579 0.942737 +0.938947 0.954105 0.972421 0.983592 0.988816 0.996653 1.00547 1.01004 +1.01722 1.02376 1.02441 1.02539 1.02473 1.03094 1.03029 1.02539 +1.02539 1.02506 1.02473 1.02539 1.02016 1.01559 1.00808 0.994694 +0.983265 0.962947 0.886526 0.710947 0.541053 0.401547 0.365573 0.412907 +0.46592 0.510737 0.546105 0.566947 0.539789 0.496213 0.428053 0.462133 +0.521474 0.524632 0.501263 0.462133 0.428053 0.39208 0.354213 0.31824 +0.314453 0.30688 0.31256 0.344747 0.388293 0.382613 0.367467 0.43184 +0.527158 0.571368 0.549895 0.524632 0.526526 0.530316 0.537263 0.527158 +0.467813 0.388293 0.37504 0.36936 0.365573 0.38072 0.407227 0.422373 +0.412907 0.399653 0.401547 0.428053 0.439413 0.40912 0.382613 0.37504 +0.43752 0.509474 0.505053 0.43752 0.46024 0.539789 0.577684 0.554316 +0.539158 0.578316 0.632 0.686316 0.752632 0.820842 0.878316 0.932632 +0.966737 0.974947 0.959789 0.908 0.834737 0.752 0.663579 0.594105 +0.548632 0.517684 0.48864 0.464027 0.46024 0.411013 0.367467 0.365573 +0.378827 0.373147 0.37504 0.40344 0.469707 0.510737 0.510737 0.46024 +0.411013 0.39208 0.40344 0.405333 0.37504 0.376933 0.390187 0.37504 +0.350427 0.342853 0.342853 0.358 0.371253 0.348533 0.325813 0.32392 +0.333387 0.367467 0.42616 0.418587 0.342853 0.31824 0.337173 0.342853 +0.35232 0.373147 0.40912 0.43752 0.496213 0.531579 0.540421 0.513263 +0.435627 0.371253 0.344747 0.35232 0.399653 0.43184 0.435627 0.458347 +0.462133 0.44888 0.418587 0.399653 0.399653 0.407227 0.395867 0.388293 +0.452667 0.546737 0.686316 0.896632 1.0218 1.03649 1.03029 1.05282 +1.21064 1.18629 1.04106 1.01755 1.01527 1.01363 1.01069 1.01265 +1.01396 1.01298 1.01363 1.01527 1.01363 1.01298 1.01298 1.01363 +1.01527 1.01494 1.01527 1.0169 1.01461 1.01494 1.01559 1.01592 +1.01331 1.00743 1.00873 1.01233 1.01331 1.01527 1.01167 1.01037 +1.00776 1.00514 1.00776 1.01004 1.00939 0.997959 0.978737 0.953474 +0.947789 0.949053 0.957263 0.983592 0.987184 0.865053 0.629474 0.40344 +0.274693 0.28416 0.287947 0.265227 0.23304 0.000893333 0.000813333 0.000766667 +0.00074 0.000746667 0.000753333 0.000706667 0.000713333 0.00074 0.00074 0.000726667 +0.00074 0.00074 0.000733333 0.000733333 0.00072 0.00072 0.000706667 0.000693333 +0.000686667 0.000686667 0.00068 0.000686667 0.000686667 0.000713333 0.000746667 0.000766667 +0.000753333 0.00072 0.0007 0.000693333 0.000693333 0.000693333 0.0007 0.000686667 +0.000693333 0.000706667 0.00074 0.000746667 0.000746667 0.000753333 0.000766667 0.00076 +0.000746667 0.000773333 0.000826667 0.00092 0.269013 0.32392 0.26712 0.000953333 +0.216 0.34664 0.606105 0.854947 0.986531 0.981306 0.955368 0.949684 +0.944632 0.948421 0.957263 0.953474 0.962316 0.98751 0.997633 1.00286 +1.01102 1.01167 1.01004 1.00612 1.00122 1.00351 1.01004 1.01265 +1.01494 1.01494 1.01396 1.01363 1.01396 1.01298 1.00939 1.00808 +1.00808 1.01298 1.0391 1.15586 1.18629 1.09804 1.05739 1.044 +0.985551 0.784211 0.590947 0.486747 0.412907 0.395867 0.401547 0.42616 +0.435627 0.40344 0.358 0.34096 0.331493 0.325813 0.33528 0.350427 +0.382613 0.407227 0.37504 0.34096 0.331493 0.342853 0.348533 0.358 +0.384507 0.44888 0.518316 0.563158 0.599158 0.608632 0.597263 0.582737 +0.574526 0.567579 0.562526 0.560632 0.567579 0.585895 0.604842 0.628211 +0.668 0.736211 0.814526 0.851789 0.832211 0.767789 0.677474 0.598526 +0.543579 0.507579 0.4716 0.42616 0.422373 0.433733 0.40912 0.395867 +0.405333 0.4716 0.508842 0.48296 0.4432 0.450773 0.45456 0.418587 +0.40344 0.42048 0.422373 0.42048 0.44888 0.47728 0.486747 0.473493 +0.407227 0.367467 0.359893 0.342853 0.350427 0.393973 0.40344 0.36936 +0.33528 0.327707 0.354213 0.361787 0.350427 0.34096 0.322027 0.316347 +0.322027 0.310667 0.310667 0.32392 0.337173 0.358 0.342853 0.320133 +0.303093 0.297413 0.29552 0.293627 0.28984 0.3012 0.3012 0.331493 +0.388293 0.456453 0.502526 0.517053 0.502526 0.401547 0.350427 0.3296 +0.322027 0.32392 0.337173 0.371253 0.378827 0.34096 0.325813 0.33528 +0.34664 0.367467 0.435627 0.512632 0.518947 0.45456 0.350427 0.322027 +0.3296 0.327707 0.320133 0.31824 0.32392 0.3864 0.40912 0.348533 +0.32392 0.344747 0.37504 0.382613 0.36368 0.393973 0.42616 0.42048 +0.39776 0.388293 0.388293 0.40912 0.4432 0.503158 0.506316 0.45456 +0.43184 0.399653 0.354213 0.344747 0.358 0.384507 0.40912 0.384507 +0.382613 0.40912 0.5 0.473493 0.390187 0.382613 0.40912 0.39208 +0.378827 0.39776 0.399653 0.39208 0.42048 0.456453 0.473493 0.43752 +0.424267 0.422373 0.40344 0.411013 0.445093 0.490533 0.498107 0.433733 +0.401547 0.4148 0.496213 0.618105 0.811368 0.925053 0.944632 0.950316 +0.959789 0.975579 0.985551 0.991429 0.99698 1.00645 1.01624 1.02049 +1.02376 1.02735 1.02669 1.02702 1.02669 1.03127 1.02931 1.02735 +1.02702 1.02571 1.02669 1.02539 1.02278 1.01918 1.01592 1.00939 +1.00286 0.996 0.98098 0.885263 0.709684 0.545474 0.411013 0.405333 +0.462133 0.510105 0.544842 0.585263 0.564421 0.519579 0.475387 0.46592 +0.506316 0.515158 0.500632 0.458347 0.429947 0.416693 0.390187 0.371253 +0.358 0.3296 0.322027 0.327707 0.371253 0.376933 0.342853 0.382613 +0.490533 0.536632 0.534737 0.519579 0.515158 0.513263 0.504421 0.4432 +0.384507 0.390187 0.388293 0.38072 0.36368 0.35232 0.36936 0.382613 +0.3864 0.3864 0.373147 0.373147 0.384507 0.376933 0.361787 0.37504 +0.429947 0.504421 0.522105 0.517684 0.537895 0.609263 0.659158 0.621263 +0.573263 0.596 0.646526 0.692632 0.743789 0.794947 0.842947 0.888421 +0.915579 0.913684 0.886526 0.824 0.743158 0.663579 0.591579 0.534105 +0.5 0.44888 0.411013 0.42048 0.433733 0.382613 0.348533 0.34096 +0.348533 0.36936 0.395867 0.42616 0.484853 0.526526 0.526526 0.492427 +0.429947 0.40344 0.424267 0.429947 0.39776 0.376933 0.3864 0.3864 +0.36936 0.361787 0.358 0.356107 0.361787 0.34664 0.327707 0.325813 +0.34664 0.39208 0.469707 0.4716 0.373147 0.314453 0.32392 0.33528 +0.33528 0.325813 0.337173 0.348533 0.384507 0.48296 0.521474 0.527158 +0.518947 0.48864 0.422373 0.407227 0.464027 0.484853 0.44888 0.441307 +0.445093 0.439413 0.416693 0.401547 0.39208 0.39776 0.405333 0.395867 +0.445093 0.553053 0.707789 0.921895 1.028 1.03551 1.02898 1.05543 +1.22586 1.16956 1.03551 1.01722 1.01559 1.01363 1.01167 1.01102 +1.01037 1.01167 1.01429 1.01559 1.01559 1.01461 1.01298 1.01298 +1.01429 1.01461 1.01167 1.01429 1.01527 1.01559 1.01396 1.01363 +1.01102 1.0071 1.00971 1.01265 1.01363 1.01527 1.01363 1.012 +1.01135 1.00971 1.01037 1.01102 1.00743 0.994041 0.968632 0.946526 +0.944 0.949053 0.961684 0.984245 0.983592 0.846737 0.609263 0.38072 +0.26712 0.27848 0.29552 0.280373 0.257653 0.216 0.000853333 0.000813333 +0.000773333 0.000733333 0.00072 0.0007 0.000706667 0.000706667 0.000706667 0.000706667 +0.000726667 0.000726667 0.00072 0.000713333 0.000713333 0.000726667 0.00074 0.00072 +0.00072 0.000713333 0.000713333 0.0007 0.000686667 0.000693333 0.000706667 0.00072 +0.000733333 0.000713333 0.0007 0.000693333 0.000693333 0.000706667 0.000726667 0.000733333 +0.000733333 0.00072 0.000726667 0.000726667 0.000733333 0.00074 0.000746667 0.000753333 +0.000746667 0.00078 0.000866667 0.242507 0.31256 0.30688 0.234933 0.000906667 +0.000966667 0.339067 0.598526 0.845474 0.984898 0.982286 0.957263 0.947789 +0.944 0.949684 0.959789 0.955368 0.962947 0.986857 0.996 1.00122 +1.01102 1.01167 1.00939 1.00678 1.00253 1.00351 1.00808 1.01265 +1.01559 1.01363 1.01298 1.01102 1.01135 1.01331 1.00971 1.0071 +1.00808 1.00873 1.01853 1.0551 1.14521 1.08587 1.05086 1.0378 +0.988163 0.803789 0.609263 0.506947 0.42616 0.390187 0.382613 0.39776 +0.393973 0.361787 0.342853 0.354213 0.35232 0.33528 0.33528 0.348533 +0.384507 0.3864 0.342853 0.34096 0.350427 0.348533 0.33528 0.327707 +0.327707 0.344747 0.405333 0.522105 0.591579 0.618105 0.600421 0.578316 +0.564421 0.553053 0.550526 0.562526 0.585895 0.604842 0.618105 0.648421 +0.704632 0.780421 0.837895 0.834105 0.773474 0.678737 0.581474 0.518316 +0.467813 0.43184 0.418587 0.42616 0.46592 0.464027 0.412907 0.367467 +0.348533 0.384507 0.411013 0.376933 0.358 0.382613 0.3864 0.348533 +0.348533 0.36368 0.371253 0.39208 0.46592 0.529684 0.546737 0.514526 +0.422373 0.365573 0.348533 0.33528 0.33528 0.367467 0.378827 0.373147 +0.361787 0.36368 0.382613 0.36936 0.34664 0.3296 0.322027 0.32392 +0.32392 0.31256 0.32392 0.327707 0.322027 0.31824 0.314453 0.31824 +0.308773 0.297413 0.299307 0.297413 0.291733 0.297413 0.303093 0.358 +0.399653 0.405333 0.411013 0.462133 0.5 0.441307 0.38072 0.342853 +0.327707 0.331493 0.342853 0.38072 0.378827 0.337173 0.32392 0.327707 +0.327707 0.35232 0.399653 0.4716 0.508842 0.458347 0.36368 0.333387 +0.337173 0.339067 0.342853 0.331493 0.344747 0.378827 0.378827 0.325813 +0.322027 0.342853 0.36936 0.405333 0.418587 0.42616 0.405333 0.378827 +0.38072 0.40344 0.446987 0.479173 0.501895 0.514526 0.492427 0.388293 +0.388293 0.416693 0.39208 0.361787 0.35232 0.344747 0.36936 0.376933 +0.384507 0.422373 0.484853 0.49432 0.424267 0.40912 0.42616 0.407227 +0.390187 0.4148 0.39776 0.39208 0.418587 0.450773 0.490533 0.46024 +0.458347 0.458347 0.46024 0.450773 0.452667 0.47728 0.48864 0.44888 +0.412907 0.4148 0.500632 0.620632 0.813263 0.922526 0.947158 0.958526 +0.976842 0.984245 0.989469 0.997959 1.00776 1.01755 1.0218 1.02278 +1.02669 1.02702 1.02669 1.02669 1.02735 1.02865 1.02735 1.02898 +1.02735 1.02473 1.02571 1.02376 1.02376 1.02147 1.01984 1.0169 +1.01722 1.01331 0.999918 0.98 0.884 0.698947 0.524 0.411013 +0.458347 0.513895 0.535368 0.574526 0.592211 0.556842 0.508211 0.484853 +0.503158 0.492427 0.43752 0.424267 0.446987 0.464027 0.44888 0.422373 +0.422373 0.39776 0.34664 0.3296 0.34664 0.354213 0.31256 0.34664 +0.446987 0.509474 0.502526 0.45456 0.450773 0.446987 0.395867 0.344747 +0.354213 0.42048 0.416693 0.3864 0.36936 0.359893 0.361787 0.34664 +0.359893 0.40344 0.40344 0.365573 0.35232 0.358 0.356107 0.39208 +0.429947 0.46024 0.5 0.509474 0.533474 0.605474 0.683789 0.68 +0.616211 0.601053 0.630105 0.665474 0.699579 0.732421 0.770316 0.797474 +0.801895 0.788 0.753895 0.691368 0.617474 0.556842 0.512 0.439413 +0.390187 0.39208 0.382613 0.378827 0.388293 0.36936 0.356107 0.354213 +0.358 0.373147 0.395867 0.416693 0.43184 0.49432 0.498107 0.411013 +0.371253 0.367467 0.37504 0.388293 0.378827 0.373147 0.384507 0.393973 +0.36368 0.350427 0.358 0.354213 0.34096 0.344747 0.35232 0.344747 +0.33528 0.382613 0.501895 0.512632 0.435627 0.356107 0.331493 0.3296 +0.32392 0.316347 0.31824 0.322027 0.331493 0.373147 0.43184 0.481067 +0.513263 0.521474 0.517684 0.515158 0.510105 0.46592 0.393973 0.367467 +0.371253 0.388293 0.3864 0.378827 0.36936 0.365573 0.38072 0.399653 +0.462133 0.561263 0.729895 0.949053 1.03257 1.03649 1.0329 1.06304 +1.2289 1.14521 1.03192 1.01396 1.01135 1.01233 1.01233 1.012 +1.01135 1.01037 1.01461 1.01657 1.01559 1.01429 1.01167 1.01396 +1.01559 1.01527 1.01298 1.01461 1.01592 1.01527 1.01363 1.01331 +1.00841 1.00514 1.01037 1.01298 1.01592 1.01461 1.01298 1.01167 +1.01167 1.01363 1.01331 1.01233 1.00808 0.994367 0.968 0.945263 +0.943368 0.950316 0.964842 0.984571 0.976842 0.821474 0.587789 0.367467 +0.274693 0.286053 0.31824 0.304987 0.26712 0.23304 0.0009 0.000826667 +0.000813333 0.000733333 0.000713333 0.00074 0.000746667 0.000733333 0.000713333 0.0007 +0.000706667 0.000706667 0.000706667 0.0007 0.0007 0.000713333 0.000733333 0.00072 +0.00072 0.000733333 0.000733333 0.000733333 0.000713333 0.000713333 0.000686667 0.000673333 +0.0007 0.00072 0.000713333 0.000706667 0.000706667 0.00072 0.000713333 0.00072 +0.000706667 0.0007 0.00072 0.000726667 0.00074 0.000773333 0.000766667 0.00076 +0.000773333 0.000806667 0.00096 0.28416 0.31824 0.259547 0.00094 0.000873333 +0.000933333 0.32392 0.589053 0.836 0.984245 0.984245 0.960421 0.948421 +0.946526 0.954737 0.963579 0.960421 0.968 0.989469 0.998939 1.0009 +1.00906 1.01037 1.00841 1.00547 1.00155 1.00384 1.00906 1.01461 +1.01657 1.01265 1.012 1.00906 1.00841 1.012 1.00873 1.00514 +1.00678 1.00808 1.00906 1.02898 1.05576 1.05543 1.04237 1.02996 +0.989469 0.827158 0.632 0.517684 0.439413 0.399653 0.38072 0.371253 +0.36368 0.342853 0.331493 0.34664 0.359893 0.356107 0.34096 0.337173 +0.35232 0.356107 0.344747 0.36368 0.367467 0.34096 0.322027 0.31256 +0.314453 0.331493 0.401547 0.528421 0.583368 0.575158 0.532842 0.503158 +0.469707 0.439413 0.43184 0.484853 0.520842 0.527158 0.534737 0.577684 +0.638947 0.699579 0.731158 0.704 0.628211 0.548632 0.48864 0.412907 +0.393973 0.393973 0.416693 0.469707 0.505684 0.486747 0.424267 0.37504 +0.367467 0.401547 0.38072 0.344747 0.354213 0.39776 0.384507 0.33528 +0.337173 0.342853 0.325813 0.34096 0.429947 0.552421 0.59979 0.542316 +0.43752 0.371253 0.342853 0.331493 0.339067 0.354213 0.35232 0.373147 +0.384507 0.371253 0.371253 0.359893 0.354213 0.34096 0.33528 0.344747 +0.354213 0.358 0.378827 0.354213 0.31824 0.314453 0.316347 0.320133 +0.316347 0.31256 0.308773 0.299307 0.287947 0.293627 0.33528 0.378827 +0.373147 0.34664 0.33528 0.390187 0.5 0.484853 0.382613 0.333387 +0.325813 0.33528 0.348533 0.388293 0.384507 0.342853 0.333387 0.337173 +0.34664 0.367467 0.373147 0.407227 0.46592 0.452667 0.393973 0.359893 +0.342853 0.348533 0.361787 0.358 0.37504 0.401547 0.384507 0.339067 +0.337173 0.35232 0.393973 0.45456 0.456453 0.424267 0.388293 0.36368 +0.3864 0.441307 0.481067 0.48864 0.49432 0.510105 0.47728 0.36936 +0.356107 0.405333 0.39776 0.384507 0.37504 0.354213 0.34664 0.359893 +0.373147 0.390187 0.424267 0.429947 0.433733 0.416693 0.412907 0.4148 +0.42048 0.416693 0.40344 0.412907 0.445093 0.496213 0.518316 0.524 +0.529684 0.523368 0.510105 0.481067 0.445093 0.43752 0.450773 0.435627 +0.418587 0.43184 0.500632 0.631368 0.825263 0.92 0.947158 0.964842 +0.982612 0.986857 0.993388 1.00678 1.01886 1.02702 1.02539 1.02114 +1.02604 1.02669 1.028 1.02833 1.02767 1.02539 1.02539 1.02898 +1.02571 1.02343 1.02539 1.02506 1.02506 1.0231 1.02245 1.02082 +1.02147 1.02441 1.01559 1.0009 0.981633 0.86 0.637053 0.486747 +0.44888 0.515789 0.519579 0.514526 0.544211 0.555579 0.526526 0.506947 +0.503158 0.48864 0.435627 0.411013 0.452667 0.481067 0.464027 0.484853 +0.522737 0.506316 0.36368 0.308773 0.30688 0.314453 0.304987 0.342853 +0.4148 0.433733 0.407227 0.384507 0.401547 0.40344 0.36936 0.34664 +0.39208 0.479173 0.46024 0.390187 0.37504 0.384507 0.36936 0.333387 +0.3296 0.376933 0.407227 0.384507 0.361787 0.356107 0.348533 0.378827 +0.422373 0.428053 0.411013 0.4148 0.45456 0.522737 0.578947 0.611158 +0.589053 0.573895 0.584 0.599158 0.617474 0.637053 0.657895 0.661684 +0.647789 0.628842 0.59979 0.552421 0.506947 0.445093 0.401547 0.373147 +0.359893 0.376933 0.378827 0.371253 0.36936 0.350427 0.348533 0.350427 +0.359893 0.361787 0.354213 0.348533 0.35232 0.416693 0.44888 0.382613 +0.337173 0.337173 0.33528 0.34096 0.344747 0.344747 0.361787 0.388293 +0.367467 0.339067 0.34664 0.36368 0.354213 0.350427 0.348533 0.33528 +0.3296 0.37504 0.486747 0.496213 0.424267 0.37504 0.344747 0.327707 +0.327707 0.3296 0.320133 0.31256 0.308773 0.32392 0.350427 0.378827 +0.43752 0.501263 0.524632 0.539789 0.512632 0.395867 0.337173 0.327707 +0.322027 0.33528 0.356107 0.36936 0.356107 0.344747 0.37504 0.40912 +0.47728 0.570737 0.748211 0.962316 1.03355 1.03943 1.0391 1.10108 +1.21673 1.09043 1.02833 1.01494 1.01069 1.01167 1.01037 1.01265 +1.01461 1.01069 1.01135 1.01363 1.01363 1.01429 1.01331 1.01429 +1.01592 1.01559 1.01429 1.01429 1.01429 1.01461 1.01592 1.01592 +1.00808 1.00253 1.01004 1.01298 1.01429 1.01331 1.012 1.012 +1.01069 1.01167 1.01265 1.01233 1.00906 0.995347 0.969895 0.945895 +0.941474 0.949684 0.961684 0.985224 0.970526 0.800632 0.574526 0.378827 +0.297413 0.286053 0.31824 0.31824 0.276587 0.248187 0.000973333 0.00088 +0.000833333 0.000746667 0.000693333 0.000726667 0.00072 0.000733333 0.000733333 0.000733333 +0.000726667 0.00072 0.00072 0.000713333 0.00072 0.00072 0.00072 0.000713333 +0.000706667 0.000713333 0.000706667 0.0007 0.0007 0.000706667 0.0007 0.000673333 +0.00068 0.000693333 0.0007 0.00072 0.000733333 0.00072 0.00072 0.00072 +0.00072 0.000713333 0.000733333 0.000733333 0.000746667 0.00078 0.000773333 0.000766667 +0.000773333 0.000853333 0.242507 0.308773 0.287947 0.217893 0.000893333 0.000866667 +0.000913333 0.304987 0.577053 0.825895 0.984245 0.986204 0.961684 0.949684 +0.949684 0.956632 0.962316 0.959789 0.969895 0.991429 1.00286 1.00514 +1.01004 1.01102 1.00841 1.00449 0.999592 1.0022 1.00939 1.01429 +1.01396 1.01037 1.01037 1.01004 1.00971 1.01135 1.00939 1.00678 +1.0058 1.00645 1.00547 1.00939 1.02735 1.03714 1.03192 1.02473 +0.995347 0.859368 0.661053 0.526526 0.429947 0.39208 0.373147 0.371253 +0.36368 0.344747 0.327707 0.333387 0.356107 0.348533 0.333387 0.327707 +0.3296 0.339067 0.34664 0.358 0.348533 0.331493 0.331493 0.331493 +0.333387 0.376933 0.5 0.549895 0.555579 0.510737 0.399653 0.350427 +0.34664 0.342853 0.339067 0.376933 0.412907 0.393973 0.412907 0.513895 +0.565684 0.603579 0.614947 0.581474 0.524 0.446987 0.401547 0.388293 +0.395867 0.40912 0.43752 0.473493 0.486747 0.458347 0.416693 0.388293 +0.399653 0.416693 0.365573 0.3296 0.34664 0.39776 0.395867 0.365573 +0.378827 0.36936 0.327707 0.30688 0.342853 0.504421 0.558105 0.516421 +0.395867 0.358 0.34096 0.331493 0.333387 0.348533 0.350427 0.373147 +0.376933 0.350427 0.35232 0.365573 0.376933 0.376933 0.358 0.358 +0.367467 0.371253 0.405333 0.382613 0.32392 0.316347 0.33528 0.344747 +0.322027 0.310667 0.322027 0.320133 0.31824 0.327707 0.361787 0.356107 +0.3296 0.325813 0.3296 0.373147 0.498107 0.508211 0.422373 0.337173 +0.325813 0.34664 0.359893 0.393973 0.382613 0.339067 0.331493 0.34664 +0.38072 0.382613 0.35232 0.37504 0.418587 0.422373 0.390187 0.361787 +0.34664 0.34096 0.337173 0.33528 0.36368 0.401547 0.407227 0.36936 +0.358 0.382613 0.44888 0.492427 0.46024 0.401547 0.390187 0.39208 +0.422373 0.452667 0.439413 0.40344 0.412907 0.464027 0.44888 0.378827 +0.35232 0.37504 0.361787 0.36936 0.3864 0.388293 0.38072 0.373147 +0.35232 0.34096 0.359893 0.37504 0.37504 0.378827 0.36368 0.365573 +0.388293 0.399653 0.4148 0.462133 0.500632 0.514526 0.533474 0.547368 +0.553053 0.539158 0.518316 0.48864 0.45456 0.441307 0.435627 0.407227 +0.411013 0.441307 0.508211 0.65979 0.846105 0.917474 0.946526 0.968 +0.984571 0.991102 0.999265 1.01461 1.02376 1.02898 1.02604 1.02147 +1.02473 1.02833 1.02996 1.02865 1.02702 1.02376 1.02735 1.03127 +1.02506 1.02408 1.02539 1.02571 1.02441 1.02278 1.02539 1.02604 +1.02376 1.02702 1.02571 1.01657 1.00351 0.968 0.783579 0.571368 +0.473493 0.513263 0.510737 0.450773 0.48864 0.530947 0.539158 0.517684 +0.498107 0.479173 0.45456 0.411013 0.418587 0.4432 0.422373 0.4716 +0.558737 0.563158 0.452667 0.322027 0.3012 0.3012 0.310667 0.354213 +0.38072 0.365573 0.34664 0.350427 0.382613 0.393973 0.376933 0.390187 +0.467813 0.512 0.505684 0.428053 0.382613 0.39208 0.390187 0.359893 +0.32392 0.350427 0.39776 0.3864 0.350427 0.344747 0.344747 0.36368 +0.384507 0.384507 0.37504 0.378827 0.39776 0.418587 0.462133 0.516421 +0.525263 0.520842 0.524632 0.527789 0.534737 0.536632 0.537263 0.533474 +0.523368 0.516421 0.503158 0.429947 0.378827 0.37504 0.373147 0.365573 +0.376933 0.38072 0.367467 0.36368 0.35232 0.32392 0.331493 0.344747 +0.342853 0.337173 0.3296 0.32392 0.322027 0.3864 0.42616 0.405333 +0.36936 0.34096 0.322027 0.320133 0.327707 0.342853 0.359893 0.36936 +0.358 0.342853 0.339067 0.34664 0.356107 0.354213 0.337173 0.31824 +0.320133 0.36936 0.441307 0.407227 0.356107 0.356107 0.35232 0.342853 +0.3296 0.32392 0.31824 0.322027 0.320133 0.322027 0.320133 0.327707 +0.359893 0.395867 0.46024 0.519579 0.518947 0.42048 0.33528 0.320133 +0.316347 0.327707 0.344747 0.37504 0.38072 0.365573 0.382613 0.416693 +0.498107 0.582737 0.763368 0.969263 1.03127 1.04008 1.04465 1.13152 +1.19694 1.05347 1.02147 1.01461 1.012 1.01004 1.00906 1.01135 +1.01363 1.01331 1.01363 1.01429 1.01363 1.01559 1.01527 1.01461 +1.01396 1.01396 1.01592 1.01624 1.01461 1.01363 1.01592 1.01494 +1.00743 1.00155 1.00873 1.01167 1.01331 1.01363 1.01167 1.01167 +1.01167 1.01167 1.01233 1.01167 1.00645 0.992735 0.968 0.947789 +0.946526 0.953474 0.963579 0.984245 0.956 0.773474 0.563789 0.405333 +0.331493 0.293627 0.30688 0.316347 0.28984 0.2728 0.236827 0.00092 +0.000826667 0.000706667 0.00066 0.000673333 0.000693333 0.000706667 0.00072 0.000713333 +0.000706667 0.000693333 0.000686667 0.000706667 0.000726667 0.00072 0.000706667 0.0007 +0.0007 0.0007 0.000693333 0.0007 0.000693333 0.000693333 0.0007 0.000673333 +0.000653333 0.000666667 0.00068 0.000693333 0.000686667 0.000673333 0.000713333 0.000726667 +0.000733333 0.000753333 0.00076 0.000753333 0.000746667 0.00076 0.00076 0.00076 +0.000793333 0.000973333 0.28416 0.3012 0.240613 0.000913333 0.000873333 0.000866667 +0.000913333 0.303093 0.570737 0.816421 0.982939 0.988163 0.962947 0.949053 +0.948421 0.952842 0.958526 0.957895 0.969263 0.993714 1.00743 1.01004 +1.01233 1.01331 1.01135 1.00612 0.999592 1.0022 1.01004 1.01331 +1.01396 1.01102 1.00776 1.00873 1.01069 1.01004 1.00873 1.00776 +1.00678 1.0071 1.0058 1.00188 1.00547 1.01429 1.01722 1.01886 +0.998939 0.884 0.690105 0.541053 0.43184 0.390187 0.38072 0.382613 +0.371253 0.35232 0.34096 0.337173 0.34096 0.327707 0.325813 0.327707 +0.3296 0.342853 0.344747 0.337173 0.327707 0.3296 0.33528 0.342853 +0.36368 0.44888 0.533474 0.546105 0.507579 0.401547 0.339067 0.337173 +0.356107 0.37504 0.40344 0.433733 0.42048 0.382613 0.395867 0.479173 +0.523368 0.532211 0.528421 0.520842 0.504421 0.458347 0.422373 0.42048 +0.422373 0.412907 0.407227 0.411013 0.418587 0.43752 0.439413 0.411013 +0.388293 0.36936 0.33528 0.32392 0.331493 0.358 0.382613 0.40912 +0.418587 0.3864 0.337173 0.30688 0.308773 0.382613 0.48864 0.446987 +0.358 0.34096 0.333387 0.3296 0.33528 0.350427 0.361787 0.3864 +0.39208 0.373147 0.384507 0.401547 0.411013 0.412907 0.388293 0.36368 +0.344747 0.35232 0.373147 0.358 0.314453 0.310667 0.33528 0.342853 +0.32392 0.32392 0.33528 0.333387 0.348533 0.378827 0.36936 0.32392 +0.303093 0.322027 0.350427 0.373147 0.439413 0.475387 0.445093 0.376933 +0.367467 0.361787 0.356107 0.3864 0.382613 0.354213 0.35232 0.354213 +0.382613 0.382613 0.344747 0.361787 0.384507 0.376933 0.354213 0.35232 +0.350427 0.344747 0.33528 0.325813 0.339067 0.39776 0.43752 0.40912 +0.390187 0.412907 0.450773 0.45456 0.40912 0.376933 0.405333 0.429947 +0.446987 0.424267 0.388293 0.361787 0.382613 0.433733 0.418587 0.376933 +0.354213 0.356107 0.356107 0.358 0.367467 0.373147 0.378827 0.382613 +0.365573 0.3296 0.34664 0.354213 0.359893 0.367467 0.358 0.331493 +0.350427 0.36936 0.401547 0.45456 0.47728 0.475387 0.501263 0.513263 +0.515789 0.506947 0.5 0.496213 0.500632 0.4716 0.44888 0.424267 +0.42048 0.450773 0.544211 0.713474 0.864421 0.911789 0.945263 0.973684 +0.987837 0.997306 1.0058 1.01918 1.02473 1.02506 1.02506 1.0231 +1.0218 1.02865 1.03029 1.02735 1.028 1.02539 1.02996 1.03192 +1.02408 1.02473 1.02604 1.02571 1.02376 1.02343 1.02539 1.02833 +1.02604 1.02637 1.02963 1.02898 1.0169 0.999265 0.906105 0.693895 +0.535368 0.512632 0.507579 0.46024 0.464027 0.517053 0.549263 0.529684 +0.486747 0.446987 0.43752 0.411013 0.395867 0.412907 0.38072 0.388293 +0.525263 0.573895 0.536 0.422373 0.339067 0.316347 0.3296 0.36368 +0.354213 0.337173 0.33528 0.350427 0.388293 0.393973 0.39776 0.47728 +0.524632 0.514526 0.506316 0.473493 0.3864 0.37504 0.384507 0.38072 +0.337173 0.339067 0.407227 0.401547 0.33528 0.31824 0.34096 0.36936 +0.38072 0.367467 0.371253 0.376933 0.3864 0.390187 0.39776 0.446987 +0.481067 0.450773 0.42616 0.429947 0.43752 0.422373 0.40912 0.42048 +0.422373 0.429947 0.4148 0.36936 0.358 0.373147 0.371253 0.361787 +0.393973 0.405333 0.359893 0.333387 0.331493 0.32392 0.322027 0.331493 +0.33528 0.3296 0.327707 0.344747 0.36368 0.39776 0.36936 0.361787 +0.378827 0.367467 0.342853 0.331493 0.3296 0.344747 0.35232 0.337173 +0.32392 0.333387 0.331493 0.327707 0.339067 0.342853 0.327707 0.31824 +0.322027 0.371253 0.42048 0.37504 0.31824 0.316347 0.339067 0.373147 +0.361787 0.337173 0.32392 0.327707 0.331493 0.3296 0.31824 0.316347 +0.320133 0.33528 0.37504 0.498107 0.530316 0.496213 0.373147 0.333387 +0.327707 0.3296 0.350427 0.388293 0.40912 0.39776 0.39208 0.40344 +0.503158 0.598526 0.783579 0.98 1.03192 1.04008 1.04629 1.14369 +1.16651 1.04041 1.01363 1.012 1.01298 1.01233 1.01069 1.00906 +1.01004 1.01331 1.0169 1.01624 1.01527 1.01624 1.01592 1.01429 +1.01429 1.01396 1.01592 1.01657 1.01461 1.01167 1.01233 1.01102 +1.00776 1.00514 1.01037 1.01233 1.01167 1.01363 1.012 1.01102 +1.01233 1.01167 1.01135 1.01069 1.0058 0.989796 0.965474 0.949684 +0.952842 0.954105 0.966105 0.985878 0.942105 0.748211 0.552421 0.422373 +0.339067 0.297413 0.316347 0.31824 0.27848 0.2728 0.251973 0.00092 +0.000813333 0.000753333 0.000686667 0.000693333 0.000713333 0.000733333 0.000726667 0.000726667 +0.000726667 0.000713333 0.000693333 0.000686667 0.000666667 0.00068 0.000686667 0.00068 +0.000693333 0.00072 0.000726667 0.000726667 0.00072 0.000713333 0.000706667 0.000693333 +0.00068 0.00068 0.000673333 0.000666667 0.000673333 0.000673333 0.0007 0.000706667 +0.00072 0.00074 0.000753333 0.00076 0.000753333 0.000753333 0.000773333 0.000813333 +0.000953333 0.270907 0.310667 0.270907 0.000966667 0.00086 0.000853333 0.00084 +0.000906667 0.29552 0.558737 0.8 0.978737 0.989469 0.964842 0.955368 +0.952211 0.953474 0.960421 0.959789 0.971789 0.99502 1.00906 1.01102 +1.01331 1.01429 1.01298 1.00776 1.00057 1.00318 1.00939 1.012 +1.01429 1.01331 1.00906 1.00678 1.00873 1.00971 1.00808 1.0071 +1.00645 1.0058 1.00612 1.00122 0.99502 0.996327 1.00188 1.00776 +0.997959 0.906105 0.719789 0.560632 0.46024 0.39776 0.37504 0.361787 +0.358 0.358 0.359893 0.350427 0.342853 0.337173 0.339067 0.339067 +0.34664 0.361787 0.344747 0.322027 0.316347 0.325813 0.333387 0.34664 +0.411013 0.515789 0.546105 0.516421 0.40344 0.34096 0.331493 0.342853 +0.359893 0.382613 0.429947 0.450773 0.418587 0.38072 0.384507 0.416693 +0.446987 0.42616 0.40344 0.43184 0.473493 0.492427 0.490533 0.473493 +0.435627 0.401547 0.390187 0.39776 0.411013 0.429947 0.42048 0.378827 +0.342853 0.325813 0.314453 0.316347 0.33528 0.34664 0.365573 0.407227 +0.401547 0.358 0.333387 0.320133 0.325813 0.36368 0.42616 0.40344 +0.350427 0.337173 0.337173 0.337173 0.342853 0.365573 0.371253 0.388293 +0.40912 0.401547 0.42048 0.43752 0.435627 0.429947 0.399653 0.359893 +0.327707 0.337173 0.35232 0.337173 0.314453 0.31824 0.33528 0.339067 +0.32392 0.339067 0.35232 0.316347 0.322027 0.373147 0.356107 0.31256 +0.291733 0.316347 0.337173 0.354213 0.384507 0.39776 0.39776 0.37504 +0.393973 0.382613 0.365573 0.384507 0.38072 0.371253 0.376933 0.358 +0.356107 0.35232 0.337173 0.354213 0.367467 0.354213 0.339067 0.34096 +0.35232 0.359893 0.354213 0.337173 0.354213 0.43752 0.492427 0.45456 +0.42616 0.42616 0.42616 0.390187 0.367467 0.405333 0.452667 0.450773 +0.429947 0.390187 0.356107 0.356107 0.378827 0.411013 0.390187 0.36368 +0.358 0.354213 0.367467 0.367467 0.34664 0.342853 0.34664 0.36368 +0.39208 0.365573 0.344747 0.35232 0.38072 0.407227 0.39208 0.34664 +0.34664 0.36936 0.388293 0.422373 0.429947 0.412907 0.416693 0.445093 +0.469707 0.4716 0.458347 0.48296 0.504421 0.467813 0.445093 0.452667 +0.439413 0.512 0.626947 0.781684 0.878316 0.917474 0.951579 0.980653 +0.991102 1.00155 1.01298 1.02376 1.02571 1.0231 1.02637 1.02767 +1.02114 1.02669 1.03029 1.02833 1.03061 1.02833 1.02996 1.03127 +1.02376 1.02571 1.02833 1.02637 1.0231 1.02506 1.02539 1.02963 +1.028 1.02702 1.03127 1.03355 1.02604 1.00841 0.976211 0.821474 +0.609895 0.520842 0.513895 0.5 0.469707 0.508211 0.544211 0.534105 +0.496213 0.435627 0.4148 0.401547 0.3864 0.382613 0.359893 0.36936 +0.4148 0.500632 0.512632 0.4716 0.38072 0.34096 0.35232 0.382613 +0.358 0.339067 0.35232 0.371253 0.411013 0.399653 0.395867 0.515789 +0.546737 0.500632 0.467813 0.484853 0.412907 0.365573 0.367467 0.378827 +0.354213 0.342853 0.393973 0.411013 0.356107 0.32392 0.33528 0.361787 +0.373147 0.367467 0.373147 0.37504 0.378827 0.3864 0.3864 0.407227 +0.4432 0.395867 0.33528 0.33528 0.358 0.358 0.350427 0.37504 +0.401547 0.418587 0.399653 0.358 0.350427 0.371253 0.38072 0.36936 +0.39776 0.416693 0.37504 0.339067 0.333387 0.337173 0.331493 0.325813 +0.34664 0.344747 0.325813 0.3296 0.376933 0.418587 0.361787 0.3296 +0.359893 0.382613 0.36936 0.348533 0.3296 0.3296 0.342853 0.333387 +0.308773 0.31824 0.320133 0.322027 0.344747 0.34096 0.331493 0.33528 +0.34664 0.388293 0.418587 0.359893 0.314453 0.316347 0.325813 0.371253 +0.390187 0.36368 0.327707 0.314453 0.320133 0.331493 0.33528 0.331493 +0.316347 0.31256 0.33528 0.428053 0.523368 0.519579 0.422373 0.34096 +0.333387 0.331493 0.339067 0.365573 0.388293 0.384507 0.399653 0.412907 +0.503789 0.611158 0.809474 0.986204 1.03192 1.04204 1.0502 1.1589 +1.12999 1.03224 1.01265 1.01233 1.01167 1.01135 1.01265 1.01135 +1.00906 1.01233 1.0169 1.0169 1.01755 1.01592 1.01429 1.01265 +1.01461 1.01755 1.01494 1.01363 1.01527 1.01494 1.01298 1.00743 +1.00514 1.00743 1.012 1.01298 1.01004 1.012 1.01429 1.01396 +1.01233 1.01004 1.01135 1.01102 1.00482 0.985224 0.956632 0.947158 +0.950947 0.955368 0.971789 0.98849 0.926947 0.721053 0.539158 0.401547 +0.304987 0.2728 0.314453 0.31256 0.257653 0.246293 0.257653 0.22168 +0.000846667 0.0008 0.000753333 0.000726667 0.0007 0.000706667 0.00072 0.00072 +0.00072 0.00072 0.00072 0.00072 0.0007 0.00072 0.000726667 0.000706667 +0.0007 0.0007 0.0007 0.0007 0.00068 0.000686667 0.000686667 0.000653333 +0.000653333 0.00068 0.00068 0.000686667 0.000706667 0.000706667 0.0007 0.000686667 +0.000713333 0.000733333 0.000713333 0.000726667 0.00072 0.00074 0.00078 0.00094 +0.2728 0.31256 0.286053 0.225467 0.000913333 0.00086 0.000853333 0.00086 +0.00092 0.27848 0.540421 0.772842 0.964211 0.988816 0.969263 0.962947 +0.956 0.952211 0.960421 0.962316 0.976842 0.996653 1.00906 1.01102 +1.01167 1.01233 1.01233 1.00841 1.00286 1.00482 1.01037 1.01233 +1.01331 1.01298 1.01069 1.00547 1.00547 1.00906 1.00776 1.00743 +1.00808 1.0071 1.00645 1.00188 0.992735 0.98751 0.98751 0.992735 +0.992082 0.921263 0.746316 0.581474 0.49432 0.407227 0.37504 0.361787 +0.361787 0.36368 0.356107 0.34664 0.35232 0.356107 0.34664 0.333387 +0.34096 0.356107 0.348533 0.333387 0.327707 0.337173 0.354213 0.395867 +0.507579 0.548632 0.530316 0.43752 0.34664 0.322027 0.325813 0.331493 +0.337173 0.34664 0.365573 0.3864 0.388293 0.376933 0.38072 0.390187 +0.376933 0.34664 0.32392 0.33528 0.382613 0.441307 0.500632 0.503789 +0.475387 0.43752 0.424267 0.42048 0.395867 0.367467 0.350427 0.34096 +0.34096 0.350427 0.358 0.344747 0.34664 0.354213 0.373147 0.40344 +0.382613 0.342853 0.34096 0.333387 0.331493 0.358 0.395867 0.376933 +0.339067 0.333387 0.348533 0.35232 0.350427 0.371253 0.36936 0.36936 +0.38072 0.38072 0.411013 0.44888 0.45456 0.43184 0.388293 0.350427 +0.327707 0.339067 0.358 0.344747 0.333387 0.344747 0.356107 0.354213 +0.325813 0.333387 0.344747 0.316347 0.31824 0.348533 0.337173 0.304987 +0.291733 0.308773 0.31256 0.339067 0.373147 0.36936 0.359893 0.344747 +0.371253 0.3864 0.384507 0.401547 0.384507 0.365573 0.388293 0.36936 +0.34664 0.333387 0.33528 0.365573 0.37504 0.359893 0.337173 0.32392 +0.331493 0.344747 0.337173 0.3296 0.390187 0.507579 0.526526 0.508211 +0.4716 0.42048 0.39208 0.373147 0.376933 0.4148 0.43752 0.422373 +0.401547 0.371253 0.356107 0.359893 0.367467 0.371253 0.371253 0.361787 +0.367467 0.36936 0.39208 0.407227 0.388293 0.36368 0.359893 0.371253 +0.411013 0.428053 0.428053 0.42048 0.452667 0.452667 0.407227 0.373147 +0.36368 0.365573 0.376933 0.388293 0.395867 0.399653 0.407227 0.40912 +0.43184 0.4716 0.4716 0.475387 0.492427 0.446987 0.422373 0.45456 +0.513263 0.601684 0.739368 0.838526 0.887789 0.925684 0.961684 0.984571 +0.993714 1.0071 1.01984 1.0231 1.02408 1.02376 1.02604 1.02996 +1.02506 1.02571 1.02963 1.02996 1.03127 1.02767 1.02996 1.02931 +1.02571 1.028 1.03094 1.02767 1.02343 1.02637 1.02963 1.03257 +1.02898 1.02898 1.03192 1.03388 1.03224 1.01527 0.996653 0.917474 +0.700211 0.546105 0.529053 0.514526 0.48296 0.503789 0.531579 0.546105 +0.517684 0.445093 0.390187 0.376933 0.358 0.342853 0.350427 0.382613 +0.367467 0.358 0.38072 0.416693 0.401547 0.358 0.36368 0.399653 +0.373147 0.348533 0.38072 0.378827 0.390187 0.390187 0.416693 0.530316 +0.548 0.452667 0.429947 0.496213 0.456453 0.388293 0.359893 0.367467 +0.365573 0.354213 0.365573 0.39776 0.373147 0.342853 0.350427 0.342853 +0.337173 0.359893 0.382613 0.378827 0.378827 0.40344 0.39776 0.38072 +0.393973 0.373147 0.31824 0.310667 0.356107 0.361787 0.331493 0.34664 +0.40344 0.4432 0.416693 0.378827 0.36368 0.367467 0.39208 0.39208 +0.40344 0.40912 0.371253 0.350427 0.348533 0.337173 0.33528 0.331493 +0.337173 0.339067 0.325813 0.31824 0.348533 0.376933 0.339067 0.322027 +0.34096 0.371253 0.393973 0.37504 0.344747 0.3296 0.34664 0.35232 +0.333387 0.3296 0.31824 0.314453 0.333387 0.333387 0.342853 0.365573 +0.354213 0.36936 0.40344 0.361787 0.32392 0.342853 0.337173 0.331493 +0.350427 0.354213 0.331493 0.320133 0.322027 0.327707 0.339067 0.342853 +0.320133 0.31256 0.3296 0.376933 0.496213 0.520842 0.48296 0.371253 +0.327707 0.322027 0.32392 0.342853 0.37504 0.378827 0.39208 0.42048 +0.512 0.632 0.837263 0.991429 1.02996 1.044 1.06152 1.17108 +1.06609 1.02343 1.01265 1.01298 1.01135 1.00776 1.00939 1.01429 +1.01429 1.01298 1.01461 1.01298 1.01527 1.01494 1.01135 1.01167 +1.01494 1.01853 1.01722 1.01461 1.01657 1.01755 1.01298 1.00482 +1.00155 1.0071 1.01265 1.01265 1.01069 1.01102 1.01363 1.01559 +1.01298 1.00939 1.01037 1.01135 1.00482 0.984898 0.952211 0.944 +0.949684 0.958526 0.977474 0.987184 0.899158 0.686316 0.528421 0.378827 +0.26712 0.25008 0.310667 0.308773 0.257653 0.251973 0.270907 0.23872 +0.000833333 0.000746667 0.00076 0.000733333 0.00072 0.000706667 0.000713333 0.000713333 +0.000706667 0.0007 0.0007 0.00072 0.00072 0.000726667 0.00072 0.000706667 +0.000713333 0.0007 0.000706667 0.000713333 0.000693333 0.000693333 0.000666667 0.000633333 +0.000633333 0.000653333 0.000653333 0.000666667 0.000686667 0.0007 0.000733333 0.000713333 +0.000726667 0.000753333 0.000753333 0.000733333 0.000726667 0.000766667 0.00086 0.253867 +0.31824 0.297413 0.22736 0.00088 0.00084 0.000833333 0.000833333 0.00088 +0.000946667 0.270907 0.527158 0.750737 0.953474 0.98849 0.969895 0.964211 +0.956 0.950316 0.958526 0.961684 0.973053 0.993714 1.00743 1.01167 +1.01233 1.01331 1.01331 1.01004 1.0071 1.0071 1.01037 1.01037 +1.01102 1.01233 1.01265 1.00841 1.00678 1.00776 1.00416 1.00645 +1.00841 1.00873 1.00808 1.00351 0.99502 0.986857 0.982612 0.983265 +0.984245 0.929474 0.770316 0.598526 0.501895 0.4148 0.388293 0.37504 +0.365573 0.361787 0.359893 0.354213 0.36936 0.359893 0.337173 0.320133 +0.31824 0.3296 0.337173 0.333387 0.34096 0.359893 0.39776 0.498107 +0.553684 0.566316 0.509474 0.384507 0.34096 0.325813 0.322027 0.320133 +0.325813 0.331493 0.33528 0.34664 0.358 0.367467 0.393973 0.393973 +0.35232 0.325813 0.314453 0.310667 0.325813 0.36368 0.428053 0.492427 +0.508211 0.501895 0.458347 0.399653 0.35232 0.3296 0.3296 0.348533 +0.371253 0.393973 0.393973 0.356107 0.34664 0.36936 0.393973 0.399653 +0.36936 0.337173 0.342853 0.356107 0.348533 0.342853 0.344747 0.342853 +0.327707 0.320133 0.344747 0.367467 0.358 0.356107 0.356107 0.361787 +0.373147 0.367467 0.388293 0.428053 0.441307 0.4148 0.378827 0.34664 +0.327707 0.3296 0.339067 0.348533 0.354213 0.371253 0.376933 0.361787 +0.32392 0.3296 0.344747 0.3296 0.337173 0.327707 0.299307 0.297413 +0.304987 0.314453 0.314453 0.339067 0.367467 0.36368 0.367467 0.350427 +0.344747 0.35232 0.37504 0.407227 0.395867 0.361787 0.390187 0.37504 +0.34664 0.333387 0.35232 0.3864 0.388293 0.36368 0.344747 0.325813 +0.3296 0.327707 0.331493 0.361787 0.433733 0.530316 0.563789 0.546105 +0.506947 0.412907 0.382613 0.376933 0.371253 0.36936 0.361787 0.373147 +0.371253 0.350427 0.344747 0.361787 0.356107 0.342853 0.356107 0.361787 +0.367467 0.388293 0.416693 0.4432 0.467813 0.43184 0.395867 0.405333 +0.452667 0.509474 0.536632 0.539789 0.536632 0.515789 0.44888 0.412907 +0.390187 0.384507 0.384507 0.376933 0.39776 0.412907 0.4148 0.399653 +0.411013 0.467813 0.486747 0.484853 0.481067 0.43752 0.424267 0.512632 +0.602947 0.730526 0.832211 0.872632 0.891579 0.930737 0.970526 0.986857 +0.99698 1.01396 1.02245 1.02049 1.02278 1.02571 1.02441 1.02931 +1.02571 1.02506 1.02833 1.02996 1.02996 1.02735 1.03094 1.02963 +1.02735 1.02735 1.02963 1.02702 1.02604 1.028 1.03127 1.03322 +1.02931 1.02996 1.0329 1.03388 1.0342 1.02212 1.00678 0.972421 +0.788632 0.592842 0.544842 0.530947 0.511368 0.515158 0.529053 0.576421 +0.563158 0.48864 0.399653 0.388293 0.376933 0.359893 0.36368 0.376933 +0.350427 0.32392 0.314453 0.358 0.39776 0.3864 0.382613 0.40912 +0.384507 0.350427 0.384507 0.38072 0.373147 0.382613 0.43184 0.531579 +0.539158 0.439413 0.393973 0.452667 0.45456 0.39208 0.358 0.344747 +0.358 0.361787 0.356107 0.36936 0.356107 0.354213 0.361787 0.350427 +0.3296 0.34664 0.37504 0.3864 0.395867 0.418587 0.393973 0.361787 +0.371253 0.384507 0.35232 0.331493 0.36936 0.367467 0.3296 0.33528 +0.405333 0.458347 0.43184 0.416693 0.40912 0.401547 0.42048 0.424267 +0.405333 0.382613 0.344747 0.325813 0.337173 0.31824 0.31256 0.32392 +0.325813 0.3296 0.322027 0.327707 0.3296 0.322027 0.304987 0.308773 +0.322027 0.356107 0.4148 0.412907 0.378827 0.348533 0.348533 0.35232 +0.337173 0.325813 0.31824 0.310667 0.31824 0.31824 0.333387 0.367467 +0.35232 0.35232 0.376933 0.361787 0.344747 0.359893 0.344747 0.308773 +0.31824 0.350427 0.34096 0.3296 0.350427 0.35232 0.333387 0.333387 +0.3296 0.325813 0.34664 0.38072 0.450773 0.5 0.502526 0.452667 +0.376933 0.3296 0.322027 0.344747 0.36936 0.378827 0.395867 0.428053 +0.525263 0.666737 0.872 0.99502 1.02571 1.04629 1.09804 1.14673 +1.04563 1.01429 1.00873 1.01135 1.01167 1.00971 1.0071 1.00906 +1.01331 1.01363 1.01363 1.012 1.01461 1.01722 1.01429 1.01298 +1.01363 1.01592 1.01592 1.01461 1.01527 1.01527 1.01135 1.0058 +1.00449 1.00873 1.012 1.01167 1.01069 1.00939 1.012 1.01494 +1.01396 1.01135 1.01102 1.01037 1.00351 0.984245 0.949684 0.938947 +0.945263 0.957895 0.98098 0.984898 0.873895 0.657895 0.518316 0.365573 +0.240613 0.23304 0.304987 0.303093 0.251973 0.25576 0.274693 0.229253 +0.000786667 0.00072 0.000746667 0.000726667 0.000746667 0.00072 0.000713333 0.00072 +0.00072 0.000713333 0.000693333 0.000706667 0.000706667 0.00072 0.0007 0.000693333 +0.000693333 0.0007 0.000693333 0.000693333 0.000653333 0.00066 0.000666667 0.000673333 +0.000693333 0.000686667 0.00068 0.00068 0.00066 0.000673333 0.000706667 0.000713333 +0.000713333 0.00072 0.000746667 0.000746667 0.000733333 0.000793333 0.000973333 0.29552 +0.3012 0.236827 0.000893333 0.00082 0.000793333 0.000793333 0.000813333 0.000873333 +0.000933333 0.259547 0.511368 0.727368 0.944 0.990776 0.973053 0.962316 +0.956 0.950947 0.957895 0.966105 0.976211 0.993061 1.00678 1.01135 +1.012 1.01265 1.01363 1.01102 1.00939 1.00971 1.01167 1.00939 +1.00939 1.01233 1.01265 1.01069 1.00939 1.0071 1.00253 1.00384 +1.00514 1.0071 1.00808 1.00645 0.998939 0.989469 0.983918 0.978737 +0.973053 0.932 0.791789 0.618105 0.510737 0.424267 0.388293 0.36368 +0.34664 0.344747 0.350427 0.359893 0.367467 0.359893 0.34096 0.333387 +0.325813 0.331493 0.325813 0.327707 0.348533 0.38072 0.45456 0.533474 +0.568842 0.540421 0.446987 0.367467 0.35232 0.337173 0.31824 0.308773 +0.31824 0.327707 0.333387 0.337173 0.34096 0.35232 0.378827 0.37504 +0.339067 0.325813 0.31256 0.291733 0.303093 0.339067 0.37504 0.416693 +0.49432 0.513263 0.490533 0.395867 0.344747 0.339067 0.359893 0.39776 +0.40912 0.3864 0.350427 0.32392 0.331493 0.36368 0.38072 0.365573 +0.34096 0.325813 0.339067 0.37504 0.36368 0.327707 0.314453 0.314453 +0.320133 0.316347 0.344747 0.38072 0.36936 0.344747 0.342853 0.373147 +0.39776 0.388293 0.382613 0.384507 0.388293 0.388293 0.3864 0.36936 +0.344747 0.333387 0.331493 0.342853 0.358 0.36936 0.390187 0.384507 +0.342853 0.34096 0.344747 0.342853 0.358 0.325813 0.293627 0.297413 +0.31256 0.320133 0.32392 0.33528 0.34096 0.350427 0.36936 0.358 +0.327707 0.33528 0.342853 0.384507 0.40912 0.388293 0.401547 0.378827 +0.344747 0.34664 0.38072 0.407227 0.384507 0.356107 0.350427 0.344747 +0.361787 0.382613 0.43752 0.509474 0.544842 0.589684 0.611158 0.577053 +0.519579 0.422373 0.367467 0.348533 0.344747 0.34096 0.333387 0.339067 +0.35232 0.342853 0.339067 0.361787 0.356107 0.35232 0.354213 0.361787 +0.365573 0.371253 0.376933 0.390187 0.42616 0.43184 0.39776 0.390187 +0.441307 0.515789 0.546105 0.554947 0.553053 0.531579 0.508211 0.500632 +0.458347 0.4432 0.428053 0.418587 0.441307 0.446987 0.435627 0.43184 +0.462133 0.501263 0.496213 0.467813 0.45456 0.462133 0.521474 0.606105 +0.729263 0.836632 0.884632 0.894105 0.904211 0.937053 0.974947 0.986857 +1.00122 1.01918 1.02082 1.02082 1.02376 1.02604 1.02473 1.02833 +1.02571 1.02571 1.02702 1.028 1.02669 1.02669 1.02963 1.02931 +1.028 1.02637 1.02898 1.02735 1.02865 1.02767 1.02865 1.03257 +1.03127 1.03159 1.03453 1.03518 1.03388 1.02669 1.01298 0.990776 +0.860632 0.649684 0.558105 0.543579 0.530316 0.534105 0.544842 0.612421 +0.624421 0.536 0.46024 0.43184 0.405333 0.373147 0.359893 0.37504 +0.34664 0.316347 0.320133 0.33528 0.37504 0.39776 0.39776 0.4148 +0.40912 0.399653 0.407227 0.390187 0.390187 0.3864 0.422373 0.510105 +0.514526 0.446987 0.388293 0.428053 0.467813 0.411013 0.35232 0.325813 +0.339067 0.376933 0.38072 0.378827 0.361787 0.356107 0.348533 0.344747 +0.34664 0.365573 0.395867 0.429947 0.435627 0.428053 0.3864 0.361787 +0.371253 0.3864 0.36368 0.3296 0.333387 0.333387 0.320133 0.348533 +0.441307 0.500632 0.46024 0.429947 0.43184 0.424267 0.43752 0.458347 +0.4148 0.354213 0.325813 0.314453 0.32392 0.31824 0.308773 0.308773 +0.308773 0.310667 0.303093 0.30688 0.316347 0.322027 0.314453 0.31256 +0.314453 0.342853 0.395867 0.39776 0.378827 0.36368 0.339067 0.320133 +0.30688 0.310667 0.316347 0.316347 0.32392 0.32392 0.320133 0.3296 +0.327707 0.34664 0.36368 0.354213 0.34664 0.34664 0.33528 0.322027 +0.31824 0.35232 0.34096 0.322027 0.358 0.37504 0.337173 0.31256 +0.327707 0.34096 0.358 0.388293 0.429947 0.44888 0.469707 0.469707 +0.42048 0.359893 0.3296 0.333387 0.356107 0.38072 0.40912 0.446987 +0.540421 0.695789 0.896 0.998286 1.02441 1.0489 1.12086 1.10717 +1.03094 1.00873 1.00612 1.00808 1.00971 1.01037 1.00939 1.00808 +1.01004 1.01233 1.01429 1.01265 1.01429 1.0169 1.01559 1.01331 +1.01167 1.01363 1.01527 1.01559 1.01624 1.01396 1.00971 1.0071 +1.00841 1.01135 1.01135 1.01004 1.012 1.01037 1.012 1.01363 +1.01167 1.01167 1.01167 1.00841 0.996653 0.976842 0.949053 0.938947 +0.945895 0.964842 0.986857 0.982612 0.844842 0.628842 0.5 0.333387 +0.219787 0.22168 0.280373 0.28416 0.2444 0.253867 0.27848 0.225467 +0.000773333 0.000693333 0.00074 0.000746667 0.000746667 0.000726667 0.000733333 0.000733333 +0.000733333 0.000726667 0.0007 0.000693333 0.000693333 0.000713333 0.00072 0.000713333 +0.000706667 0.000686667 0.000686667 0.0007 0.000673333 0.000673333 0.000673333 0.000686667 +0.000693333 0.000666667 0.000673333 0.000693333 0.000693333 0.000693333 0.000673333 0.000686667 +0.000706667 0.0007 0.000733333 0.00076 0.00076 0.0008 0.23304 0.304987 +0.251973 0.000866667 0.0008 0.000813333 0.000826667 0.00082 0.000833333 0.000873333 +0.000926667 0.253867 0.48864 0.698947 0.927579 0.992408 0.979368 0.960421 +0.950947 0.947789 0.956 0.968632 0.980653 0.994694 1.00873 1.01265 +1.01167 1.01167 1.01331 1.01167 1.00776 1.00906 1.01363 1.01069 +1.00939 1.01135 1.01037 1.01004 1.01037 1.00776 1.00547 1.00449 +1.00449 1.00514 1.00514 1.00514 0.998939 0.991429 0.986204 0.979368 +0.966105 0.931368 0.808842 0.638316 0.517684 0.418587 0.39208 0.373147 +0.361787 0.358 0.356107 0.356107 0.36368 0.36936 0.354213 0.337173 +0.325813 0.325813 0.32392 0.34096 0.358 0.39208 0.505684 0.556842 +0.551158 0.496213 0.39208 0.359893 0.342853 0.325813 0.310667 0.310667 +0.31824 0.32392 0.325813 0.331493 0.337173 0.34096 0.350427 0.34664 +0.3296 0.320133 0.30688 0.291733 0.3012 0.33528 0.361787 0.367467 +0.40912 0.484853 0.504421 0.44888 0.39208 0.38072 0.40344 0.42616 +0.388293 0.333387 0.3012 0.29552 0.30688 0.325813 0.337173 0.34096 +0.3296 0.31824 0.333387 0.36936 0.373147 0.33528 0.31256 0.31256 +0.325813 0.327707 0.34096 0.37504 0.384507 0.36368 0.350427 0.367467 +0.39776 0.405333 0.390187 0.371253 0.356107 0.359893 0.3864 0.39776 +0.382613 0.359893 0.342853 0.342853 0.356107 0.358 0.384507 0.407227 +0.382613 0.359893 0.348533 0.356107 0.367467 0.331493 0.304987 0.308773 +0.310667 0.310667 0.331493 0.34096 0.316347 0.33528 0.34664 0.344747 +0.331493 0.34096 0.342853 0.382613 0.43184 0.43752 0.43184 0.390187 +0.36368 0.382613 0.40912 0.401547 0.37504 0.36368 0.384507 0.412907 +0.462133 0.520211 0.580211 0.656632 0.710316 0.722947 0.688842 0.611789 +0.535368 0.44888 0.36368 0.327707 0.327707 0.34096 0.339067 0.333387 +0.361787 0.37504 0.382613 0.40344 0.39776 0.388293 0.371253 0.361787 +0.35232 0.34096 0.337173 0.331493 0.350427 0.378827 0.36368 0.365573 +0.401547 0.456453 0.492427 0.48864 0.502526 0.498107 0.492427 0.5 +0.473493 0.469707 0.481067 0.484853 0.503158 0.508211 0.505684 0.507579 +0.515789 0.512 0.48864 0.456453 0.48864 0.541684 0.629474 0.738105 +0.834105 0.889684 0.904842 0.910526 0.916842 0.938947 0.976842 0.990449 +1.0058 1.01984 1.01951 1.02082 1.02245 1.02441 1.02376 1.02669 +1.028 1.02735 1.02506 1.02833 1.02604 1.028 1.02931 1.03029 +1.03224 1.02702 1.02898 1.02996 1.03094 1.02898 1.02865 1.03192 +1.03322 1.03322 1.03453 1.03584 1.03518 1.02963 1.01853 1.00024 +0.913684 0.710316 0.569474 0.537895 0.521474 0.527789 0.561263 0.642105 +0.681263 0.592842 0.512632 0.47728 0.412907 0.367467 0.356107 0.371253 +0.358 0.34664 0.333387 0.310667 0.34096 0.3864 0.405333 0.433733 +0.4432 0.464027 0.445093 0.395867 0.395867 0.39776 0.411013 0.450773 +0.429947 0.405333 0.39208 0.418587 0.473493 0.439413 0.365573 0.325813 +0.34664 0.45456 0.5 0.435627 0.36936 0.35232 0.331493 0.3296 +0.36368 0.40912 0.4432 0.484853 0.508211 0.500632 0.40912 0.37504 +0.365573 0.367467 0.35232 0.314453 0.297413 0.291733 0.314453 0.36936 +0.456453 0.511368 0.510105 0.48864 0.441307 0.399653 0.4148 0.456453 +0.42048 0.34664 0.31824 0.31824 0.32392 0.327707 0.333387 0.31256 +0.287947 0.293627 0.299307 0.30688 0.322027 0.331493 0.327707 0.320133 +0.325813 0.33528 0.350427 0.33528 0.327707 0.34096 0.325813 0.30688 +0.303093 0.310667 0.322027 0.32392 0.33528 0.331493 0.320133 0.322027 +0.320133 0.331493 0.34664 0.34664 0.344747 0.3296 0.30688 0.30688 +0.314453 0.339067 0.34096 0.31824 0.34096 0.361787 0.339067 0.322027 +0.333387 0.339067 0.359893 0.37504 0.378827 0.38072 0.399653 0.422373 +0.412907 0.373147 0.348533 0.342853 0.350427 0.36936 0.395867 0.445093 +0.555579 0.728 0.918105 1.00416 1.03061 1.05216 1.11782 1.05739 +1.01722 1.0071 1.00808 1.00743 1.00743 1.00906 1.01135 1.01167 +1.01069 1.00971 1.01396 1.01396 1.012 1.01233 1.01527 1.01559 +1.01396 1.01494 1.01461 1.01592 1.01788 1.01461 1.00743 1.0058 +1.01233 1.01396 1.012 1.00808 1.00906 1.00939 1.01004 1.012 +1.01102 1.01135 1.012 1.00873 0.992082 0.963579 0.947789 0.944632 +0.947789 0.969895 0.989796 0.969895 0.808842 0.599158 0.44888 0.297413 +0.00096 0.00096 0.253867 0.257653 0.234933 0.248187 0.265227 0.000973333 +0.000773333 0.000686667 0.000706667 0.00074 0.0007 0.000693333 0.0007 0.000713333 +0.00072 0.00074 0.00074 0.000713333 0.0007 0.000713333 0.00072 0.000726667 +0.00072 0.0007 0.0007 0.00072 0.000726667 0.000706667 0.000713333 0.000706667 +0.000686667 0.000673333 0.000653333 0.000653333 0.000686667 0.000686667 0.000653333 0.00066 +0.000673333 0.00068 0.000693333 0.000726667 0.000766667 0.000866667 0.265227 0.308773 +0.22168 0.000806667 0.000786667 0.000813333 0.000833333 0.0008 0.0008 0.000833333 +0.00088 0.234933 0.435627 0.669263 0.907368 0.992735 0.982939 0.961053 +0.949684 0.947158 0.954737 0.965474 0.978105 0.994367 1.00971 1.01429 +1.01298 1.01167 1.01167 1.01265 1.00873 1.00841 1.01461 1.01265 +1.01069 1.01004 1.00841 1.01004 1.01135 1.00808 1.00645 1.00547 +1.00645 1.00743 1.00547 1.00351 0.999592 0.995673 0.991102 0.984245 +0.966737 0.92821 0.821474 0.658526 0.530316 0.428053 0.401547 0.40344 +0.39776 0.3864 0.359893 0.354213 0.36936 0.390187 0.373147 0.348533 +0.331493 0.3296 0.327707 0.33528 0.356107 0.43184 0.527789 0.556842 +0.522105 0.424267 0.376933 0.358 0.331493 0.310667 0.3012 0.303093 +0.31256 0.325813 0.327707 0.325813 0.32392 0.33528 0.354213 0.356107 +0.337173 0.325813 0.32392 0.31256 0.3012 0.310667 0.333387 0.344747 +0.339067 0.37504 0.467813 0.505684 0.481067 0.429947 0.4148 0.411013 +0.36936 0.322027 0.31256 0.30688 0.314453 0.327707 0.327707 0.331493 +0.322027 0.316347 0.322027 0.344747 0.361787 0.342853 0.322027 0.31824 +0.327707 0.337173 0.365573 0.39208 0.39208 0.382613 0.38072 0.412907 +0.435627 0.422373 0.384507 0.361787 0.350427 0.339067 0.36936 0.412907 +0.416693 0.39208 0.361787 0.35232 0.359893 0.358 0.356107 0.401547 +0.441307 0.439413 0.405333 0.390187 0.384507 0.35232 0.35232 0.361787 +0.333387 0.310667 0.325813 0.325813 0.303093 0.316347 0.331493 0.34096 +0.350427 0.36936 0.376933 0.405333 0.45456 0.5 0.506316 0.475387 +0.428053 0.4148 0.390187 0.37504 0.376933 0.390187 0.452667 0.515789 +0.550526 0.616211 0.722316 0.830316 0.877053 0.839158 0.747579 0.641474 +0.550526 0.48296 0.39776 0.356107 0.344747 0.354213 0.36936 0.367467 +0.390187 0.412907 0.429947 0.45456 0.428053 0.401547 0.3864 0.35232 +0.337173 0.34096 0.34096 0.331493 0.354213 0.367467 0.356107 0.367467 +0.378827 0.3864 0.424267 0.43184 0.422373 0.4148 0.407227 0.4148 +0.405333 0.411013 0.44888 0.48296 0.518316 0.538526 0.533474 0.520211 +0.515158 0.49432 0.473493 0.509474 0.566316 0.661684 0.765895 0.850526 +0.895368 0.907368 0.908632 0.913053 0.918737 0.940211 0.976211 0.993714 +1.00906 1.01853 1.01951 1.02082 1.02245 1.02441 1.02408 1.02604 +1.02963 1.028 1.02506 1.03029 1.02865 1.02833 1.02996 1.03061 +1.03584 1.03029 1.02931 1.03192 1.03257 1.03094 1.03029 1.02963 +1.03192 1.03257 1.03388 1.03584 1.0378 1.03192 1.02245 1.00547 +0.950316 0.768421 0.590316 0.534737 0.515158 0.510737 0.542316 0.622526 +0.688842 0.632632 0.547368 0.515158 0.45456 0.38072 0.365573 0.356107 +0.350427 0.365573 0.350427 0.310667 0.333387 0.382613 0.418587 0.458347 +0.486747 0.506316 0.48296 0.435627 0.42616 0.42048 0.42048 0.43752 +0.40344 0.38072 0.3864 0.40344 0.433733 0.416693 0.3864 0.359893 +0.401547 0.541684 0.586526 0.524632 0.37504 0.339067 0.325813 0.32392 +0.37504 0.43752 0.464027 0.496213 0.522737 0.530947 0.462133 0.37504 +0.358 0.35232 0.327707 0.299307 0.28416 0.28984 0.33528 0.395867 +0.452667 0.501895 0.523368 0.530316 0.500632 0.401547 0.401547 0.439413 +0.39776 0.33528 0.314453 0.327707 0.337173 0.354213 0.361787 0.31824 +0.282267 0.291733 0.30688 0.320133 0.337173 0.342853 0.3296 0.314453 +0.308773 0.31824 0.325813 0.30688 0.291733 0.310667 0.327707 0.320133 +0.31256 0.308773 0.3296 0.348533 0.34664 0.33528 0.3296 0.339067 +0.331493 0.32392 0.32392 0.33528 0.356107 0.344747 0.308773 0.287947 +0.293627 0.31824 0.33528 0.325813 0.34096 0.36936 0.361787 0.344747 +0.34096 0.33528 0.34664 0.35232 0.348533 0.356107 0.371253 0.39208 +0.401547 0.367467 0.365573 0.382613 0.3864 0.37504 0.384507 0.46024 +0.580842 0.765895 0.942737 1.00906 1.0342 1.05543 1.09956 1.04302 +1.0071 1.00514 1.00939 1.00906 1.0071 1.0071 1.00906 1.01135 +1.012 1.01069 1.01233 1.01396 1.01298 1.012 1.01396 1.01396 +1.01429 1.0169 1.01494 1.01461 1.01722 1.01527 1.00743 1.0058 +1.01069 1.01233 1.01102 1.00645 1.00188 1.00449 1.00743 1.01135 +1.012 1.01004 1.01102 1.00841 0.990776 0.958526 0.944 0.946526 +0.949684 0.970526 0.987837 0.950947 0.772211 0.575158 0.429947 0.282267 +0.000913333 0.00088 0.22168 0.229253 0.22168 0.240613 0.2444 0.00088 +0.000746667 0.000733333 0.000726667 0.000753333 0.000706667 0.000713333 0.000713333 0.0007 +0.000686667 0.00072 0.000726667 0.000713333 0.0007 0.000713333 0.0007 0.000713333 +0.000713333 0.000706667 0.000713333 0.000726667 0.00072 0.00072 0.00072 0.000693333 +0.000673333 0.000686667 0.000673333 0.000653333 0.000673333 0.000686667 0.000713333 0.00072 +0.000693333 0.000693333 0.000693333 0.000693333 0.000733333 0.00092 0.287947 0.29552 +0.00096 0.000813333 0.000806667 0.00082 0.000826667 0.000806667 0.0008 0.00082 +0.000866667 0.216 0.3864 0.637053 0.882105 0.990122 0.983592 0.961684 +0.948421 0.945895 0.954737 0.966737 0.979368 0.993061 1.00808 1.01363 +1.012 1.01135 1.01135 1.01331 1.01135 1.00873 1.01396 1.01494 +1.01331 1.01135 1.00808 1.00873 1.01037 1.00743 1.0071 1.00678 +1.00645 1.00841 1.00612 1.00253 1.00057 0.998939 0.994041 0.989143 +0.975579 0.933895 0.832211 0.678737 0.549895 0.46592 0.424267 0.429947 +0.429947 0.412907 0.382613 0.371253 0.382613 0.412907 0.40344 0.367467 +0.342853 0.333387 0.325813 0.333387 0.393973 0.510105 0.543579 0.534105 +0.48864 0.3864 0.348533 0.33528 0.31256 0.304987 0.308773 0.31256 +0.320133 0.327707 0.322027 0.316347 0.316347 0.333387 0.36368 0.354213 +0.337173 0.337173 0.339067 0.32392 0.30688 0.304987 0.316347 0.32392 +0.30688 0.316347 0.40912 0.509474 0.501895 0.401547 0.36936 0.388293 +0.384507 0.35232 0.333387 0.31256 0.308773 0.327707 0.33528 0.33528 +0.325813 0.31824 0.31824 0.316347 0.325813 0.331493 0.333387 0.32392 +0.316347 0.325813 0.36936 0.393973 0.376933 0.36936 0.395867 0.46024 +0.484853 0.43752 0.376933 0.359893 0.356107 0.34096 0.350427 0.405333 +0.42616 0.39208 0.365573 0.359893 0.35232 0.337173 0.333387 0.39776 +0.492427 0.502526 0.429947 0.378827 0.376933 0.371253 0.376933 0.373147 +0.342853 0.316347 0.31824 0.320133 0.308773 0.322027 0.331493 0.34096 +0.37504 0.39776 0.395867 0.390187 0.40344 0.462133 0.521474 0.545474 +0.522105 0.439413 0.36936 0.359893 0.38072 0.429947 0.513895 0.560632 +0.613684 0.695789 0.810737 0.906737 0.92821 0.861895 0.750105 0.633895 +0.537263 0.45456 0.399653 0.367467 0.36368 0.388293 0.39208 0.388293 +0.401547 0.40344 0.405333 0.42048 0.416693 0.390187 0.359893 0.354213 +0.344747 0.359893 0.361787 0.34096 0.356107 0.36368 0.356107 0.365573 +0.358 0.359893 0.435627 0.47728 0.4432 0.405333 0.388293 0.401547 +0.405333 0.405333 0.42048 0.467813 0.525263 0.549263 0.537263 0.508842 +0.49432 0.500632 0.532842 0.601053 0.695158 0.799368 0.870737 0.905474 +0.914947 0.909263 0.904842 0.909263 0.918737 0.947158 0.979368 0.996653 +1.012 1.01722 1.01951 1.01951 1.0218 1.02506 1.02506 1.02669 +1.02931 1.02702 1.02637 1.03224 1.03029 1.02833 1.02963 1.03029 +1.03551 1.03322 1.02996 1.03192 1.03355 1.03322 1.03029 1.03061 +1.0342 1.03518 1.03584 1.03649 1.03616 1.03224 1.02473 1.00841 +0.974947 0.816421 0.616842 0.534105 0.513895 0.502526 0.507579 0.566316 +0.644 0.628842 0.558737 0.523368 0.490533 0.39776 0.365573 0.354213 +0.342853 0.36936 0.373147 0.350427 0.388293 0.456453 0.506947 0.525895 +0.534737 0.524 0.504421 0.48296 0.46592 0.42616 0.418587 0.445093 +0.43184 0.393973 0.388293 0.407227 0.422373 0.39776 0.3864 0.393973 +0.479173 0.608 0.687579 0.592842 0.43752 0.356107 0.339067 0.348533 +0.412907 0.484853 0.490533 0.475387 0.506316 0.530316 0.510105 0.42048 +0.354213 0.33528 0.320133 0.291733 0.286053 0.325813 0.39776 0.46592 +0.48864 0.479173 0.511368 0.547368 0.544211 0.501895 0.42616 0.42048 +0.37504 0.325813 0.331493 0.359893 0.373147 0.384507 0.365573 0.31256 +0.29552 0.303093 0.30688 0.310667 0.32392 0.32392 0.316347 0.308773 +0.29552 0.297413 0.31256 0.303093 0.287947 0.3012 0.31256 0.320133 +0.325813 0.339067 0.354213 0.356107 0.344747 0.34096 0.34664 0.358 +0.350427 0.327707 0.320133 0.327707 0.33528 0.333387 0.331493 0.320133 +0.297413 0.303093 0.32392 0.33528 0.371253 0.405333 0.384507 0.354213 +0.333387 0.33528 0.354213 0.348533 0.34096 0.356107 0.373147 0.3864 +0.399653 0.378827 0.38072 0.39776 0.40344 0.39776 0.40344 0.496213 +0.610526 0.801895 0.960421 1.01167 1.03584 1.05706 1.06 1.02767 +1.00253 1.00188 1.00547 1.00906 1.00808 1.00776 1.00776 1.00939 +1.01265 1.012 1.01135 1.01135 1.01265 1.01527 1.01494 1.01233 +1.01363 1.01722 1.0169 1.01429 1.01265 1.01069 1.00841 1.00841 +1.00841 1.00841 1.00873 1.00776 1.0022 1.00286 1.00612 1.01004 +1.01298 1.01069 1.00841 1.00384 0.987184 0.954737 0.940211 0.947158 +0.957263 0.977474 0.988816 0.926316 0.728632 0.549895 0.40912 0.26144 +0.00088 0.00086 0.000946667 0.219787 0.000986667 0.219787 0.217893 0.000853333 +0.00074 0.0007 0.000706667 0.000733333 0.00072 0.000726667 0.00074 0.000746667 +0.00074 0.000726667 0.000726667 0.000713333 0.00072 0.000713333 0.000686667 0.000693333 +0.000693333 0.000686667 0.00068 0.00068 0.000693333 0.0007 0.000713333 0.000693333 +0.00068 0.000693333 0.00068 0.000686667 0.000693333 0.00068 0.000693333 0.0007 +0.000693333 0.000693333 0.0007 0.000693333 0.000726667 0.000986667 0.314453 0.28416 +0.000906667 0.000806667 0.000793333 0.00078 0.000773333 0.000813333 0.000833333 0.00088 +0.000913333 0.217893 0.358 0.607368 0.854316 0.98751 0.984898 0.961053 +0.946526 0.944632 0.951579 0.964211 0.977474 0.991755 1.0071 1.01298 +1.01298 1.01363 1.01396 1.01396 1.01167 1.00873 1.01167 1.01461 +1.01494 1.012 1.00678 1.0058 1.0071 1.00678 1.00873 1.00841 +1.00645 1.00873 1.00776 1.00155 0.997959 0.996 0.992735 0.988816 +0.980653 0.943368 0.849895 0.702737 0.572 0.498107 0.435627 0.43184 +0.445093 0.462133 0.44888 0.42048 0.411013 0.4432 0.439413 0.388293 +0.35232 0.33528 0.339067 0.393973 0.501263 0.530947 0.520842 0.469707 +0.424267 0.395867 0.35232 0.32392 0.314453 0.31256 0.320133 0.327707 +0.327707 0.320133 0.320133 0.322027 0.322027 0.33528 0.356107 0.359893 +0.34664 0.35232 0.348533 0.333387 0.32392 0.31256 0.31256 0.310667 +0.304987 0.316347 0.367467 0.4716 0.492427 0.40912 0.348533 0.344747 +0.359893 0.348533 0.327707 0.308773 0.308773 0.322027 0.322027 0.32392 +0.325813 0.320133 0.322027 0.316347 0.314453 0.316347 0.331493 0.32392 +0.314453 0.320133 0.325813 0.342853 0.34664 0.350427 0.376933 0.422373 +0.45456 0.43752 0.40912 0.405333 0.39208 0.36368 0.361787 0.407227 +0.42616 0.395867 0.367467 0.359893 0.356107 0.350427 0.382613 0.498107 +0.527158 0.504421 0.3864 0.33528 0.342853 0.356107 0.361787 0.359893 +0.35232 0.333387 0.339067 0.34664 0.339067 0.358 0.367467 0.361787 +0.37504 0.371253 0.35232 0.333387 0.327707 0.361787 0.467813 0.546737 +0.560632 0.507579 0.39208 0.361787 0.395867 0.505053 0.557474 0.601684 +0.652211 0.729895 0.828421 0.889684 0.875789 0.793684 0.683158 0.579579 +0.501895 0.411013 0.39776 0.38072 0.390187 0.4148 0.395867 0.37504 +0.367467 0.39208 0.39776 0.378827 0.39208 0.390187 0.354213 0.35232 +0.367467 0.371253 0.384507 0.373147 0.378827 0.3864 0.378827 0.36368 +0.35232 0.38072 0.467813 0.510737 0.4716 0.4148 0.40344 0.418587 +0.43752 0.441307 0.445093 0.501263 0.536632 0.553684 0.534737 0.511368 +0.520842 0.565684 0.650947 0.750737 0.825895 0.886526 0.916842 0.927579 +0.930105 0.918105 0.909263 0.909895 0.918737 0.948421 0.981959 1.0009 +1.01298 1.01624 1.01722 1.0182 1.02082 1.02376 1.02506 1.02604 +1.02767 1.02441 1.028 1.0329 1.03029 1.02931 1.03029 1.03192 +1.03486 1.03551 1.03159 1.03094 1.03388 1.03486 1.03094 1.0342 +1.03682 1.03747 1.03616 1.03453 1.0342 1.03257 1.02669 1.00939 +0.982939 0.844211 0.640211 0.534737 0.512 0.506316 0.501263 0.530316 +0.593474 0.590947 0.532211 0.49432 0.452667 0.395867 0.367467 0.373147 +0.361787 0.367467 0.37504 0.407227 0.502526 0.548632 0.606105 0.641474 +0.612421 0.551158 0.516421 0.510737 0.501895 0.450773 0.433733 0.44888 +0.435627 0.405333 0.388293 0.40344 0.422373 0.418587 0.412907 0.428053 +0.510105 0.625684 0.717895 0.626316 0.503789 0.412907 0.382613 0.395867 +0.481067 0.520842 0.523368 0.511368 0.501895 0.509474 0.519579 0.503789 +0.40912 0.342853 0.33528 0.354213 0.411013 0.512632 0.549263 0.555579 +0.534737 0.501263 0.486747 0.532842 0.565684 0.552421 0.512 0.462133 +0.418587 0.37504 0.367467 0.373147 0.367467 0.3864 0.371253 0.327707 +0.308773 0.304987 0.287947 0.287947 0.304987 0.30688 0.293627 0.3012 +0.293627 0.27848 0.29552 0.303093 0.291733 0.297413 0.310667 0.32392 +0.34664 0.390187 0.418587 0.382613 0.350427 0.35232 0.36368 0.39208 +0.3864 0.354213 0.34096 0.337173 0.3296 0.333387 0.348533 0.344747 +0.320133 0.304987 0.31256 0.342853 0.424267 0.47728 0.42616 0.37504 +0.337173 0.331493 0.34664 0.344747 0.354213 0.365573 0.359893 0.367467 +0.390187 0.40344 0.412907 0.393973 0.37504 0.38072 0.42048 0.518316 +0.646526 0.839158 0.975579 1.01135 1.0329 1.05118 1.04171 1.00873 +0.999265 1.0022 1.00416 1.0071 1.00678 1.00971 1.01037 1.00743 +1.01037 1.01298 1.01265 1.01363 1.01298 1.01527 1.01657 1.01527 +1.01461 1.01461 1.01494 1.01527 1.012 1.0071 1.00678 1.01069 +1.01037 1.00808 1.00678 1.00678 1.00449 1.00318 1.00547 1.00808 +1.01135 1.01167 1.00743 0.999265 0.983592 0.956632 0.945263 0.950316 +0.961684 0.980653 0.98751 0.896 0.681895 0.525895 0.390187 0.25008 +0.000853333 0.000826667 0.00088 0.000966667 0.000933333 0.000866667 0.00084 0.000793333 +0.000773333 0.000733333 0.000693333 0.00074 0.000726667 0.000706667 0.000693333 0.000713333 +0.0007 0.000693333 0.00072 0.00072 0.000726667 0.000726667 0.00072 0.000726667 +0.000726667 0.000713333 0.000693333 0.00068 0.000686667 0.00068 0.000686667 0.000686667 +0.000673333 0.000673333 0.00066 0.000673333 0.000686667 0.000666667 0.00066 0.000666667 +0.0007 0.000713333 0.0007 0.000706667 0.000746667 0.22736 0.34096 0.29552 +0.00092 0.0008 0.0008 0.000786667 0.000793333 0.000853333 0.00096 0.236827 +0.240613 0.2444 0.337173 0.577053 0.819579 0.982612 0.98751 0.963579 +0.949053 0.945895 0.947789 0.961053 0.975579 0.991755 1.00808 1.012 +1.01233 1.012 1.01265 1.01363 1.01102 1.00808 1.00939 1.01429 +1.0169 1.01429 1.00939 1.00743 1.00678 1.00645 1.00776 1.00645 +1.00514 1.0071 1.00678 1.00122 0.995347 0.991755 0.988163 0.985878 +0.981633 0.952211 0.868842 0.727368 0.586526 0.502526 0.428053 0.418587 +0.439413 0.475387 0.481067 0.452667 0.433733 0.458347 0.467813 0.42616 +0.390187 0.37504 0.40912 0.501895 0.528421 0.517684 0.43752 0.359893 +0.37504 0.416693 0.399653 0.348533 0.327707 0.31824 0.322027 0.339067 +0.34664 0.34096 0.339067 0.333387 0.32392 0.325813 0.337173 0.354213 +0.35232 0.36368 0.365573 0.34664 0.325813 0.310667 0.304987 0.303093 +0.297413 0.30688 0.344747 0.416693 0.469707 0.43752 0.361787 0.322027 +0.320133 0.32392 0.316347 0.308773 0.322027 0.333387 0.32392 0.31256 +0.31824 0.31824 0.325813 0.325813 0.320133 0.320133 0.322027 0.310667 +0.308773 0.31256 0.30688 0.308773 0.322027 0.337173 0.356107 0.384507 +0.416693 0.435627 0.42616 0.416693 0.40344 0.39776 0.401547 0.418587 +0.43752 0.435627 0.412907 0.401547 0.40912 0.441307 0.520842 0.587158 +0.597895 0.527158 0.42048 0.378827 0.36936 0.36368 0.365573 0.359893 +0.348533 0.33528 0.337173 0.344747 0.34664 0.367467 0.36936 0.342853 +0.325813 0.308773 0.30688 0.316347 0.314453 0.327707 0.358 0.473493 +0.541053 0.529053 0.44888 0.40344 0.4716 0.553684 0.620632 0.662947 +0.698316 0.750737 0.792421 0.781053 0.731789 0.661053 0.578316 0.510737 +0.42616 0.40344 0.399653 0.384507 0.393973 0.40344 0.3864 0.365573 +0.371253 0.407227 0.418587 0.390187 0.393973 0.405333 0.37504 0.356107 +0.36936 0.36368 0.388293 0.422373 0.462133 0.458347 0.411013 0.371253 +0.359893 0.395867 0.486747 0.521474 0.505684 0.458347 0.43752 0.435627 +0.441307 0.458347 0.484853 0.518316 0.541684 0.549895 0.539789 0.549895 +0.607368 0.700211 0.794316 0.865053 0.896632 0.916211 0.925684 0.941474 +0.951579 0.940842 0.923158 0.909895 0.918105 0.944 0.98 1.00122 +1.01298 1.01755 1.01592 1.0169 1.02245 1.02408 1.02669 1.02669 +1.02441 1.0218 1.02571 1.03094 1.03029 1.03094 1.03061 1.03127 +1.03388 1.03453 1.03224 1.03061 1.0342 1.0378 1.0342 1.0342 +1.03486 1.03682 1.03453 1.03224 1.03584 1.03192 1.02571 1.00971 +0.983265 0.854947 0.653474 0.537263 0.510737 0.510105 0.501895 0.508842 +0.554947 0.56 0.512632 0.462133 0.43752 0.399653 0.371253 0.37504 +0.384507 0.388293 0.393973 0.452667 0.529053 0.598526 0.711579 0.780421 +0.722947 0.621895 0.573895 0.554947 0.534737 0.507579 0.481067 0.48296 +0.45456 0.40344 0.382613 0.39208 0.416693 0.439413 0.452667 0.473493 +0.512 0.578947 0.638316 0.577053 0.46592 0.407227 0.395867 0.445093 +0.524 0.554316 0.558737 0.568211 0.558105 0.520211 0.508211 0.512632 +0.504421 0.469707 0.47728 0.526526 0.599158 0.694526 0.733684 0.697684 +0.628842 0.569474 0.530947 0.521474 0.543579 0.565053 0.554947 0.533474 +0.505053 0.412907 0.358 0.33528 0.314453 0.3296 0.34096 0.33528 +0.327707 0.320133 0.299307 0.287947 0.29552 0.310667 0.28984 0.287947 +0.287947 0.282267 0.297413 0.314453 0.316347 0.308773 0.316347 0.333387 +0.359893 0.428053 0.481067 0.422373 0.356107 0.339067 0.358 0.40344 +0.40912 0.399653 0.4148 0.390187 0.348533 0.34664 0.361787 0.356107 +0.359893 0.358 0.361787 0.418587 0.503789 0.508211 0.441307 0.37504 +0.333387 0.331493 0.337173 0.331493 0.354213 0.376933 0.359893 0.350427 +0.367467 0.411013 0.446987 0.428053 0.395867 0.390187 0.439413 0.542316 +0.692 0.872632 0.981959 1.0071 1.02604 1.03943 1.01984 0.994694 +0.997306 1.00384 1.00514 1.00547 1.00449 1.00841 1.012 1.01037 +1.01233 1.01265 1.01363 1.01624 1.01527 1.01429 1.01461 1.01494 +1.01527 1.01396 1.01298 1.01461 1.01331 1.01037 1.00841 1.01004 +1.01069 1.00743 1.00416 1.00449 1.00416 1.00416 1.00743 1.00873 +1.00971 1.01102 1.00612 0.993714 0.976211 0.958526 0.950947 0.949684 +0.964842 0.985551 0.983265 0.858105 0.638947 0.505053 0.367467 0.234933 +0.000786667 0.000746667 0.000773333 0.00084 0.00084 0.00078 0.000786667 0.000793333 +0.000786667 0.000793333 0.00074 0.000693333 0.00072 0.000713333 0.00072 0.000726667 +0.0007 0.000693333 0.0007 0.000693333 0.000693333 0.000693333 0.000693333 0.000726667 +0.000713333 0.000706667 0.000713333 0.00072 0.00072 0.000693333 0.0007 0.000713333 +0.000706667 0.0007 0.000693333 0.000686667 0.000686667 0.000666667 0.00066 0.000666667 +0.00068 0.000706667 0.000713333 0.000726667 0.000806667 0.259547 0.390187 0.361787 +0.242507 0.00088 0.000826667 0.000806667 0.000833333 0.000953333 0.259547 0.293627 +0.297413 0.299307 0.358 0.555579 0.783579 0.971158 0.989796 0.966737 +0.950316 0.945263 0.945263 0.957895 0.976211 0.993388 1.00873 1.01167 +1.01167 1.00971 1.00906 1.01233 1.01167 1.00906 1.00776 1.01265 +1.01494 1.01331 1.01331 1.01167 1.00939 1.00743 1.00776 1.00645 +1.00612 1.0058 1.00547 1.00155 0.996653 0.990449 0.981633 0.978737 +0.98 0.958526 0.887789 0.749474 0.599158 0.508842 0.43752 0.42616 +0.424267 0.422373 0.40912 0.39776 0.388293 0.40344 0.429947 0.446987 +0.458347 0.492427 0.522737 0.538526 0.522105 0.445093 0.350427 0.325813 +0.342853 0.40912 0.44888 0.384507 0.31824 0.30688 0.316347 0.327707 +0.348533 0.371253 0.378827 0.342853 0.314453 0.320133 0.331493 0.34096 +0.337173 0.350427 0.356107 0.342853 0.31824 0.3012 0.29552 0.303093 +0.3012 0.31256 0.35232 0.382613 0.416693 0.40344 0.33528 0.30688 +0.30688 0.308773 0.310667 0.310667 0.31256 0.322027 0.322027 0.320133 +0.32392 0.32392 0.32392 0.322027 0.320133 0.310667 0.320133 0.31256 +0.304987 0.308773 0.310667 0.310667 0.308773 0.320133 0.348533 0.376933 +0.395867 0.411013 0.40912 0.395867 0.395867 0.42616 0.445093 0.4432 +0.45456 0.458347 0.46592 0.48864 0.512632 0.548632 0.626947 0.716632 +0.699579 0.589053 0.517053 0.479173 0.429947 0.388293 0.365573 0.356107 +0.3296 0.320133 0.31256 0.30688 0.31824 0.33528 0.327707 0.308773 +0.303093 0.291733 0.297413 0.31824 0.327707 0.337173 0.331493 0.367467 +0.508211 0.534105 0.505684 0.4716 0.542316 0.635158 0.710316 0.751368 +0.774105 0.777895 0.719789 0.618105 0.561895 0.544842 0.513263 0.441307 +0.412907 0.42048 0.405333 0.3864 0.37504 0.382613 0.378827 0.378827 +0.393973 0.412907 0.424267 0.418587 0.416693 0.412907 0.393973 0.373147 +0.365573 0.34664 0.359893 0.445093 0.520211 0.508211 0.422373 0.3864 +0.367467 0.384507 0.441307 0.512 0.523368 0.503158 0.4716 0.458347 +0.45456 0.500632 0.529053 0.569474 0.589684 0.594737 0.621895 0.676842 +0.762105 0.846737 0.891579 0.910526 0.917474 0.923158 0.92 0.926947 +0.941474 0.941474 0.922526 0.909263 0.921895 0.940211 0.974316 0.998286 +1.01167 1.01853 1.01722 1.0182 1.02376 1.02441 1.02539 1.02571 +1.02441 1.02571 1.02735 1.03029 1.03127 1.03127 1.03094 1.02996 +1.03388 1.03584 1.03518 1.03192 1.03355 1.03584 1.0342 1.03486 +1.03388 1.0378 1.03551 1.03388 1.03714 1.03192 1.02506 1.01004 +0.983265 0.861263 0.671158 0.543579 0.512632 0.510737 0.501263 0.49432 +0.527789 0.537895 0.505053 0.464027 0.445093 0.401547 0.37504 0.373147 +0.384507 0.405333 0.42048 0.462133 0.512 0.566316 0.681263 0.786737 +0.785474 0.722947 0.677474 0.645895 0.608 0.556842 0.510105 0.48296 +0.46024 0.40912 0.3864 0.405333 0.429947 0.435627 0.433733 0.43752 +0.450773 0.502526 0.524632 0.502526 0.399653 0.390187 0.39208 0.484853 +0.548632 0.563158 0.553053 0.592842 0.618737 0.56 0.513895 0.517053 +0.542947 0.572 0.602316 0.657895 0.758316 0.873263 0.905474 0.845474 +0.764632 0.712211 0.665474 0.601053 0.549895 0.537263 0.549895 0.555579 +0.523368 0.428053 0.33528 0.308773 0.303093 0.314453 0.308773 0.31256 +0.327707 0.331493 0.316347 0.308773 0.299307 0.299307 0.293627 0.29552 +0.3012 0.304987 0.304987 0.310667 0.327707 0.327707 0.31256 0.314453 +0.325813 0.407227 0.49432 0.429947 0.34664 0.322027 0.333387 0.371253 +0.390187 0.4148 0.48864 0.475387 0.40912 0.39208 0.424267 0.462133 +0.486747 0.496213 0.506947 0.532842 0.544211 0.513895 0.43752 0.384507 +0.342853 0.3296 0.337173 0.337173 0.359893 0.361787 0.358 0.371253 +0.38072 0.393973 0.424267 0.441307 0.424267 0.40912 0.464027 0.568842 +0.738105 0.907368 0.987837 1.00384 1.02016 1.02735 1.0022 0.989143 +0.998286 1.00318 1.00547 1.00808 1.0071 1.00776 1.01004 1.01102 +1.01396 1.01265 1.01167 1.01298 1.01396 1.01494 1.01494 1.01331 +1.01527 1.01722 1.01494 1.01363 1.00939 1.00873 1.01004 1.00841 +1.00906 1.00906 1.00743 1.00678 1.0058 1.00547 1.01004 1.01102 +1.00971 1.01037 1.00449 0.988816 0.968 0.958526 0.954737 0.951579 +0.969895 0.990122 0.973053 0.806947 0.594105 0.450773 0.325813 0.000973333 +0.00072 0.000693333 0.00072 0.000766667 0.000833333 0.00078 0.00076 0.0008 +0.000786667 0.00078 0.000726667 0.00068 0.000686667 0.000693333 0.000726667 0.00072 +0.0007 0.0007 0.000733333 0.000733333 0.00074 0.000713333 0.000713333 0.00072 +0.000686667 0.000673333 0.000673333 0.00068 0.000693333 0.000693333 0.000706667 0.00072 +0.000713333 0.000713333 0.00072 0.000726667 0.000713333 0.000686667 0.000693333 0.000693333 +0.000686667 0.0007 0.00074 0.000806667 0.000993333 0.32392 0.45456 0.469707 +0.348533 0.236827 0.000886667 0.000846667 0.000913333 0.257653 0.31256 0.3012 +0.293627 0.31824 0.38072 0.539158 0.743158 0.952842 0.991429 0.972421 +0.954105 0.946526 0.945895 0.956 0.974947 0.991429 1.00547 1.01069 +1.01135 1.00873 1.00612 1.00906 1.012 1.01037 1.00743 1.012 +1.01461 1.01167 1.01233 1.012 1.00873 1.00645 1.00547 1.00449 +1.0058 1.00645 1.00612 1.00416 1.0009 0.996327 0.985224 0.976842 +0.976211 0.965474 0.908632 0.777895 0.621263 0.516421 0.439413 0.424267 +0.407227 0.384507 0.359893 0.348533 0.348533 0.35232 0.36368 0.390187 +0.475387 0.534737 0.558737 0.536 0.46592 0.365573 0.342853 0.34096 +0.33528 0.376933 0.458347 0.43184 0.342853 0.31824 0.31824 0.31256 +0.32392 0.36368 0.3864 0.350427 0.310667 0.320133 0.342853 0.339067 +0.331493 0.327707 0.325813 0.34096 0.333387 0.310667 0.293627 0.291733 +0.293627 0.30688 0.325813 0.33528 0.378827 0.39208 0.31824 0.28984 +0.29552 0.29552 0.308773 0.31256 0.31256 0.322027 0.337173 0.325813 +0.31824 0.331493 0.333387 0.32392 0.308773 0.299307 0.31824 0.31824 +0.303093 0.30688 0.314453 0.327707 0.3296 0.327707 0.337173 0.356107 +0.371253 0.378827 0.393973 0.399653 0.405333 0.4432 0.479173 0.475387 +0.469707 0.479173 0.512632 0.549895 0.596 0.650316 0.729263 0.797474 +0.762105 0.647789 0.566316 0.525263 0.496213 0.429947 0.38072 0.356107 +0.337173 0.32392 0.316347 0.314453 0.32392 0.325813 0.32392 0.322027 +0.31824 0.308773 0.304987 0.31824 0.344747 0.36368 0.34664 0.34664 +0.446987 0.524 0.515158 0.514526 0.608632 0.736211 0.811368 0.848 +0.848632 0.794947 0.661684 0.523368 0.439413 0.48864 0.47728 0.418587 +0.40912 0.429947 0.43752 0.39208 0.36936 0.36936 0.37504 0.38072 +0.399653 0.422373 0.424267 0.43752 0.445093 0.416693 0.388293 0.384507 +0.373147 0.361787 0.350427 0.405333 0.505053 0.502526 0.422373 0.40344 +0.401547 0.388293 0.418587 0.5 0.535368 0.536632 0.510737 0.475387 +0.503789 0.549263 0.604211 0.660421 0.702105 0.733684 0.785474 0.840421 +0.888421 0.921895 0.926947 0.924421 0.925684 0.925053 0.916842 0.911158 +0.92 0.925053 0.916211 0.911789 0.927579 0.940211 0.976211 0.997959 +1.00971 1.01951 1.01853 1.01886 1.02571 1.02441 1.02408 1.02473 +1.02735 1.03061 1.02898 1.02963 1.0329 1.03029 1.03094 1.03127 +1.0329 1.03453 1.03518 1.03159 1.0329 1.03518 1.03486 1.03518 +1.03518 1.03812 1.03453 1.0342 1.03812 1.03486 1.02637 1.01102 +0.981959 0.864421 0.688211 0.558105 0.520211 0.508842 0.500632 0.481067 +0.503789 0.513895 0.48864 0.450773 0.45456 0.418587 0.390187 0.38072 +0.384507 0.39776 0.40912 0.428053 0.43752 0.486747 0.561895 0.660421 +0.741895 0.800632 0.809474 0.772211 0.717263 0.633263 0.537895 0.456453 +0.445093 0.422373 0.395867 0.405333 0.424267 0.412907 0.384507 0.367467 +0.367467 0.373147 0.393973 0.39776 0.401547 0.45456 0.48296 0.521474 +0.571368 0.585263 0.567579 0.604842 0.635158 0.581474 0.541684 0.546737 +0.574526 0.621263 0.683789 0.764632 0.86 0.941474 0.956 0.907368 +0.858737 0.848 0.835368 0.774105 0.668632 0.572 0.534105 0.527158 +0.507579 0.46024 0.395867 0.348533 0.331493 0.3296 0.322027 0.310667 +0.316347 0.31256 0.32392 0.348533 0.322027 0.30688 0.314453 0.320133 +0.314453 0.316347 0.314453 0.308773 0.297413 0.304987 0.310667 0.31256 +0.31824 0.3864 0.458347 0.390187 0.320133 0.308773 0.310667 0.3296 +0.36936 0.45456 0.523368 0.515789 0.469707 0.462133 0.5 0.517053 +0.527158 0.534737 0.546737 0.557474 0.550526 0.530316 0.513895 0.47728 +0.40344 0.373147 0.382613 0.395867 0.418587 0.411013 0.3864 0.378827 +0.3864 0.3864 0.384507 0.40344 0.412907 0.418587 0.498107 0.599158 +0.779789 0.933263 0.989796 1.00188 1.0169 1.01527 0.992735 0.990122 +1.00057 1.00286 1.00384 1.00873 1.01004 1.00906 1.00776 1.00776 +1.01265 1.01461 1.01363 1.01233 1.01363 1.01363 1.01461 1.01494 +1.01527 1.01657 1.01624 1.01396 1.00743 1.00743 1.01102 1.00906 +1.00873 1.00971 1.01004 1.01069 1.00939 1.00743 1.01004 1.012 +1.01004 1.00971 1.00122 0.984898 0.967368 0.959789 0.951579 0.950947 +0.974316 0.989143 0.940211 0.746316 0.553053 0.405333 0.28416 0.000946667 +0.000773333 0.000693333 0.000686667 0.000753333 0.000833333 0.000793333 0.000713333 0.000733333 +0.00076 0.00076 0.000726667 0.000686667 0.00068 0.000693333 0.000693333 0.000693333 +0.000693333 0.00072 0.000733333 0.000713333 0.000726667 0.000713333 0.000713333 0.000706667 +0.0007 0.0007 0.000693333 0.0007 0.000706667 0.000706667 0.000713333 0.000706667 +0.000693333 0.000693333 0.000693333 0.000706667 0.000693333 0.000673333 0.00068 0.0007 +0.000686667 0.0007 0.00074 0.000893333 0.274693 0.356107 0.446987 0.507579 +0.481067 0.354213 0.246293 0.000933333 0.00098 0.29552 0.320133 0.263333 +0.2444 0.287947 0.390187 0.527789 0.704 0.930105 0.993388 0.977474 +0.955368 0.946526 0.943368 0.951579 0.971789 0.98849 1.00384 1.01167 +1.01233 1.00971 1.00449 1.00612 1.01102 1.01102 1.00612 1.00808 +1.01298 1.01102 1.01069 1.01233 1.01004 1.00906 1.0071 1.00286 +1.00286 1.00449 1.00449 1.00286 0.998286 0.997306 0.993388 0.985224 +0.981633 0.975579 0.930737 0.814526 0.652211 0.530947 0.446987 0.416693 +0.399653 0.39208 0.373147 0.350427 0.342853 0.344747 0.34096 0.367467 +0.501263 0.551158 0.539789 0.473493 0.36936 0.337173 0.34664 0.34096 +0.333387 0.35232 0.422373 0.452667 0.390187 0.342853 0.325813 0.316347 +0.31824 0.342853 0.358 0.342853 0.320133 0.325813 0.342853 0.34096 +0.3296 0.322027 0.325813 0.34664 0.342853 0.322027 0.297413 0.287947 +0.28416 0.28984 0.299307 0.30688 0.373147 0.407227 0.337173 0.299307 +0.297413 0.286053 0.29552 0.304987 0.30688 0.327707 0.34096 0.32392 +0.316347 0.33528 0.348533 0.31824 0.297413 0.316347 0.33528 0.320133 +0.308773 0.310667 0.310667 0.327707 0.342853 0.344747 0.34664 0.36936 +0.390187 0.3864 0.382613 0.39776 0.429947 0.479173 0.509474 0.517053 +0.529684 0.562526 0.610526 0.662947 0.705263 0.733053 0.768421 0.783579 +0.740632 0.660421 0.594737 0.547368 0.511368 0.452667 0.3864 0.35232 +0.339067 0.325813 0.33528 0.354213 0.358 0.34096 0.33528 0.33528 +0.3296 0.308773 0.308773 0.316347 0.348533 0.388293 0.378827 0.344747 +0.388293 0.507579 0.526526 0.556842 0.689474 0.835368 0.906737 0.925684 +0.899789 0.802526 0.633895 0.502526 0.422373 0.464027 0.46024 0.42616 +0.40912 0.433733 0.464027 0.422373 0.365573 0.356107 0.376933 0.384507 +0.390187 0.424267 0.43184 0.43752 0.429947 0.422373 0.40344 0.395867 +0.40344 0.42616 0.441307 0.452667 0.479173 0.47728 0.43752 0.422373 +0.42616 0.439413 0.467813 0.490533 0.528421 0.563789 0.547368 0.520211 +0.552421 0.626316 0.687579 0.750737 0.821474 0.871368 0.908 0.928842 +0.933895 0.937684 0.935158 0.933263 0.932632 0.925684 0.920632 0.917474 +0.916842 0.916842 0.913053 0.909895 0.92 0.928842 0.968632 0.993061 +1.00678 1.01918 1.02082 1.02114 1.02735 1.02441 1.02473 1.02506 +1.02637 1.03094 1.02996 1.03224 1.03453 1.03127 1.03029 1.03322 +1.03159 1.03159 1.03355 1.03224 1.03355 1.03714 1.03682 1.03486 +1.03486 1.03649 1.03388 1.03486 1.03682 1.03322 1.02278 1.00776 +0.974947 0.856211 0.688211 0.565684 0.525263 0.501895 0.475387 0.456453 +0.46592 0.484853 0.45456 0.433733 0.46024 0.452667 0.411013 0.39776 +0.393973 0.39776 0.395867 0.399653 0.393973 0.439413 0.518947 0.578316 +0.688842 0.850526 0.925684 0.899789 0.837263 0.728632 0.590316 0.486747 +0.424267 0.411013 0.395867 0.39776 0.39208 0.382613 0.37504 0.371253 +0.356107 0.361787 0.39776 0.429947 0.475387 0.529053 0.556842 0.580842 +0.618737 0.652211 0.661684 0.68 0.658526 0.581474 0.545474 0.542316 +0.545474 0.563789 0.609263 0.698947 0.811368 0.904211 0.944 0.938947 +0.92821 0.938947 0.942737 0.907368 0.813895 0.678737 0.563789 0.48296 +0.40912 0.43752 0.45456 0.422373 0.382613 0.344747 0.33528 0.320133 +0.3012 0.304987 0.36368 0.416693 0.373147 0.339067 0.34096 0.331493 +0.31824 0.31256 0.308773 0.303093 0.286053 0.28416 0.3012 0.304987 +0.342853 0.407227 0.4148 0.34096 0.29552 0.291733 0.3012 0.316347 +0.344747 0.458347 0.533474 0.517053 0.44888 0.446987 0.469707 0.486747 +0.490533 0.501263 0.512632 0.508211 0.475387 0.5 0.520842 0.525263 +0.503158 0.456453 0.46024 0.47728 0.479173 0.446987 0.40344 0.36368 +0.356107 0.371253 0.38072 0.382613 0.390187 0.42048 0.515789 0.632632 +0.812 0.950316 0.990776 1.00351 1.01461 1.00122 0.983265 0.986857 +0.999592 1.00351 1.00482 1.00776 1.00873 1.01102 1.01069 1.00873 +1.012 1.01331 1.01298 1.01396 1.01363 1.01167 1.012 1.01592 +1.01592 1.01461 1.01461 1.01396 1.01102 1.00971 1.00939 1.00971 +1.01102 1.00971 1.00939 1.01363 1.01363 1.00873 1.00808 1.012 +1.01167 1.00514 0.992082 0.976211 0.966105 0.958526 0.945895 0.953474 +0.983265 0.989143 0.893474 0.68 0.523368 0.399653 0.26144 0.000826667 +0.00074 0.000706667 0.000726667 0.000726667 0.000766667 0.000786667 0.000726667 0.000713333 +0.00076 0.000766667 0.000753333 0.000726667 0.000726667 0.000713333 0.000713333 0.000706667 +0.0007 0.000706667 0.000693333 0.000666667 0.00068 0.000693333 0.0007 0.000686667 +0.000693333 0.0007 0.000713333 0.000726667 0.000693333 0.0007 0.000706667 0.000706667 +0.000713333 0.0007 0.000706667 0.0007 0.000706667 0.000713333 0.000686667 0.000693333 +0.000673333 0.000686667 0.00072 0.000913333 0.287947 0.31256 0.3296 0.428053 +0.503158 0.475387 0.365573 0.263333 0.246293 0.32392 0.304987 0.219787 +0.00094 0.246293 0.36936 0.513895 0.66421 0.896 0.991755 0.981633 +0.954105 0.945263 0.944 0.951579 0.970526 0.986857 1.0022 1.01037 +1.01102 1.00808 1.00318 1.0058 1.01167 1.01331 1.00514 1.00286 +1.00939 1.01102 1.00971 1.01004 1.00906 1.00776 1.0071 1.00286 +1.00024 1.00057 1.00286 1.00188 0.994694 0.993714 0.995673 0.991755 +0.986857 0.98 0.944632 0.848 0.686316 0.553053 0.47728 0.42048 +0.407227 0.407227 0.388293 0.356107 0.342853 0.34096 0.34664 0.39208 +0.506947 0.530947 0.48296 0.358 0.327707 0.337173 0.339067 0.325813 +0.32392 0.3296 0.371253 0.40912 0.378827 0.333387 0.31256 0.314453 +0.308773 0.31824 0.331493 0.339067 0.33528 0.33528 0.34664 0.350427 +0.339067 0.333387 0.331493 0.32392 0.316347 0.310667 0.29552 0.297413 +0.28984 0.28416 0.299307 0.314453 0.373147 0.411013 0.35232 0.320133 +0.304987 0.27848 0.286053 0.310667 0.31256 0.316347 0.3296 0.32392 +0.320133 0.3296 0.344747 0.3296 0.314453 0.325813 0.34664 0.339067 +0.325813 0.31824 0.320133 0.31824 0.322027 0.322027 0.33528 0.371253 +0.405333 0.416693 0.418587 0.424267 0.496213 0.532842 0.565053 0.604842 +0.653474 0.706526 0.754526 0.785474 0.793053 0.787368 0.779789 0.755158 +0.703368 0.644 0.592211 0.547368 0.505684 0.422373 0.356107 0.333387 +0.331493 0.31824 0.314453 0.35232 0.393973 0.39208 0.359893 0.325813 +0.320133 0.314453 0.308773 0.32392 0.378827 0.412907 0.384507 0.350427 +0.373147 0.48864 0.544211 0.628211 0.786737 0.921263 0.977474 0.979368 +0.931368 0.803158 0.615579 0.498107 0.450773 0.450773 0.435627 0.43184 +0.422373 0.435627 0.464027 0.456453 0.407227 0.384507 0.3864 0.393973 +0.3864 0.40344 0.428053 0.424267 0.42616 0.486747 0.508842 0.510105 +0.529053 0.545474 0.548 0.530316 0.510105 0.490533 0.445093 0.418587 +0.439413 0.479173 0.48864 0.45456 0.5 0.546105 0.570105 0.571368 +0.632632 0.725474 0.789263 0.852421 0.908632 0.937053 0.943368 0.940842 +0.938316 0.939579 0.936421 0.935789 0.938316 0.935158 0.931368 0.92821 +0.92379 0.917474 0.911158 0.908 0.910526 0.914316 0.943368 0.982939 +1.00057 1.01657 1.0218 1.02376 1.02702 1.02506 1.02506 1.02767 +1.02735 1.03094 1.03159 1.03518 1.03355 1.03159 1.03061 1.03453 +1.03224 1.03355 1.03486 1.03355 1.03388 1.03616 1.03714 1.03388 +1.03257 1.0329 1.03518 1.03682 1.03486 1.02963 1.01918 1.00318 +0.967368 0.844211 0.672421 0.558737 0.523368 0.498107 0.464027 0.450773 +0.458347 0.452667 0.418587 0.416693 0.441307 0.467813 0.446987 0.42616 +0.418587 0.40912 0.40344 0.39208 0.39776 0.496213 0.547368 0.586526 +0.710947 0.914947 0.994694 0.988163 0.943368 0.832211 0.66421 0.521474 +0.416693 0.39776 0.39208 0.388293 0.371253 0.358 0.373147 0.382613 +0.361787 0.378827 0.452667 0.508211 0.536632 0.584 0.629474 0.666105 +0.700842 0.736211 0.754526 0.752 0.685053 0.575789 0.516421 0.484853 +0.43184 0.4148 0.45456 0.540421 0.646526 0.767158 0.861895 0.927579 +0.968 0.984571 0.984245 0.956632 0.877684 0.746316 0.600421 0.479173 +0.348533 0.367467 0.428053 0.456453 0.452667 0.405333 0.35232 0.32392 +0.310667 0.32392 0.376933 0.42048 0.3864 0.34096 0.327707 0.320133 +0.31256 0.31256 0.316347 0.31256 0.30688 0.297413 0.29552 0.303093 +0.36936 0.429947 0.3864 0.333387 0.316347 0.287947 0.280373 0.303093 +0.320133 0.40344 0.511368 0.48864 0.39776 0.390187 0.390187 0.38072 +0.365573 0.367467 0.393973 0.39208 0.35232 0.361787 0.428053 0.503789 +0.49432 0.4432 0.433733 0.44888 0.469707 0.45456 0.40912 0.37504 +0.367467 0.36936 0.37504 0.382613 0.40912 0.456453 0.536632 0.668632 +0.846737 0.962947 0.989796 1.00188 1.00318 0.983265 0.972421 0.986531 +0.999265 1.00482 1.00743 1.01102 1.00906 1.00906 1.01233 1.01298 +1.01265 1.01102 1.01135 1.01331 1.01527 1.01331 1.01233 1.01461 +1.01527 1.01494 1.012 1.00906 1.01233 1.01363 1.01069 1.01167 +1.01494 1.01527 1.00939 1.01004 1.01135 1.00873 1.0071 1.00906 +1.01135 1.00253 0.986204 0.969263 0.964211 0.959158 0.946526 0.957895 +0.987184 0.984571 0.840421 0.617474 0.486747 0.36368 0.234933 0.000733333 +0.000706667 0.00074 0.0008 0.000773333 0.000753333 0.000806667 0.00078 0.000693333 +0.000706667 0.00072 0.00074 0.000753333 0.000726667 0.0007 0.000713333 0.000726667 +0.00072 0.00072 0.000706667 0.000693333 0.00072 0.000713333 0.000726667 0.000726667 +0.000726667 0.000706667 0.000693333 0.0007 0.000666667 0.000673333 0.000673333 0.00068 +0.00068 0.000666667 0.000686667 0.0007 0.00072 0.000726667 0.000706667 0.000726667 +0.00072 0.000726667 0.000733333 0.000966667 0.28984 0.253867 0.217893 0.280373 +0.401547 0.48296 0.458347 0.35232 0.293627 0.339067 0.299307 0.000946667 +0.00088 0.223573 0.342853 0.503789 0.633263 0.858737 0.98751 0.984898 +0.957263 0.943368 0.944 0.953474 0.968632 0.985224 1.00024 1.00906 +1.00939 1.00612 1.00416 1.0071 1.01167 1.01363 1.0058 1.0009 +1.00612 1.012 1.01069 1.00808 1.00776 1.00645 1.00776 1.00612 +1.0009 0.998939 1.00155 1.0009 0.994367 0.988816 0.989469 0.991429 +0.990449 0.983918 0.957895 0.877684 0.725474 0.577053 0.496213 0.418587 +0.39776 0.39208 0.378827 0.36368 0.358 0.361787 0.378827 0.42048 +0.48864 0.49432 0.39776 0.325813 0.322027 0.333387 0.331493 0.314453 +0.310667 0.314453 0.337173 0.36368 0.359893 0.331493 0.316347 0.310667 +0.303093 0.31256 0.325813 0.342853 0.342853 0.342853 0.350427 0.354213 +0.36936 0.36936 0.34096 0.31256 0.3012 0.304987 0.299307 0.293627 +0.287947 0.28416 0.291733 0.31256 0.36936 0.3864 0.337173 0.310667 +0.304987 0.291733 0.299307 0.327707 0.322027 0.314453 0.31824 0.31824 +0.31824 0.322027 0.339067 0.356107 0.344747 0.337173 0.358 0.36368 +0.339067 0.31824 0.3296 0.32392 0.30688 0.29552 0.297413 0.325813 +0.354213 0.393973 0.445093 0.502526 0.565684 0.642105 0.683158 0.732421 +0.785474 0.826526 0.851158 0.853684 0.835368 0.812 0.784842 0.736842 +0.669263 0.606105 0.558105 0.521474 0.458347 0.371253 0.325813 0.314453 +0.320133 0.320133 0.31824 0.331493 0.371253 0.39776 0.384507 0.33528 +0.310667 0.31256 0.32392 0.395867 0.496213 0.462133 0.37504 0.354213 +0.37504 0.467813 0.570105 0.714105 0.876421 0.976211 0.998286 0.994041 +0.940211 0.779789 0.585263 0.473493 0.458347 0.452667 0.416693 0.4148 +0.418587 0.422373 0.43184 0.456453 0.452667 0.43184 0.416693 0.393973 +0.39208 0.40912 0.43752 0.475387 0.518947 0.580211 0.626947 0.633895 +0.635158 0.616842 0.582737 0.537263 0.504421 0.4716 0.445093 0.439413 +0.456453 0.475387 0.450773 0.418587 0.4432 0.512632 0.563158 0.622526 +0.728 0.837263 0.911158 0.956632 0.968 0.964211 0.950947 0.938947 +0.938316 0.943368 0.944 0.945263 0.947158 0.945895 0.940211 0.941474 +0.940842 0.930737 0.916842 0.914316 0.908632 0.906737 0.924421 0.967368 +0.995673 1.01135 1.0218 1.02506 1.02637 1.02571 1.02441 1.02898 +1.02931 1.02996 1.02963 1.0329 1.03224 1.03127 1.03159 1.0342 +1.03061 1.03257 1.03322 1.03388 1.03486 1.03714 1.03682 1.03355 +1.03061 1.03029 1.03453 1.03747 1.03192 1.02571 1.0169 0.998939 +0.950316 0.815158 0.645895 0.548 0.522105 0.505053 0.479173 0.458347 +0.464027 0.43184 0.39776 0.407227 0.424267 0.469707 0.49432 0.46592 +0.429947 0.42048 0.411013 0.399653 0.44888 0.533474 0.575789 0.610526 +0.760842 0.974947 1.01755 1.01624 0.997959 0.916842 0.744421 0.558737 +0.422373 0.393973 0.388293 0.37504 0.365573 0.354213 0.37504 0.3864 +0.37504 0.40912 0.48864 0.532842 0.572632 0.628842 0.693895 0.752632 +0.803789 0.838526 0.841684 0.812632 0.729895 0.601684 0.508842 0.40912 +0.354213 0.31824 0.325813 0.40912 0.532211 0.626316 0.725474 0.830947 +0.923158 0.974947 0.981959 0.950316 0.873895 0.757684 0.626947 0.513895 +0.36368 0.348533 0.3864 0.43184 0.464027 0.446987 0.405333 0.37504 +0.365573 0.348533 0.34664 0.356107 0.350427 0.333387 0.331493 0.327707 +0.310667 0.304987 0.316347 0.322027 0.316347 0.308773 0.297413 0.337173 +0.422373 0.433733 0.356107 0.314453 0.31256 0.303093 0.280373 0.28984 +0.310667 0.38072 0.484853 0.429947 0.350427 0.359893 0.376933 0.36936 +0.339067 0.331493 0.359893 0.359893 0.333387 0.325813 0.354213 0.416693 +0.39776 0.359893 0.361787 0.373147 0.39208 0.42048 0.42048 0.411013 +0.39776 0.388293 0.393973 0.393973 0.433733 0.502526 0.566316 0.708421 +0.875789 0.966105 0.985551 0.993388 0.985224 0.962947 0.975579 0.993061 +1.00384 1.00645 1.0071 1.00971 1.00971 1.00743 1.00971 1.01331 +1.01461 1.01461 1.012 1.01167 1.01494 1.01527 1.01559 1.01559 +1.01461 1.01494 1.01102 1.00612 1.01233 1.01592 1.01265 1.01331 +1.01429 1.01494 1.01069 1.00939 1.01069 1.00939 1.01004 1.00939 +1.00808 0.999592 0.982612 0.965474 0.960421 0.956 0.950947 0.966737 +0.988816 0.962947 0.778526 0.562526 0.39776 0.299307 0.000946667 0.000753333 +0.00076 0.000766667 0.0008 0.0008 0.000746667 0.000786667 0.0008 0.000753333 +0.000726667 0.00072 0.000746667 0.000773333 0.000713333 0.000706667 0.00072 0.000706667 +0.000693333 0.000706667 0.000706667 0.000713333 0.000713333 0.000713333 0.000733333 0.000726667 +0.00074 0.00072 0.000706667 0.0007 0.0007 0.000706667 0.00068 0.000673333 +0.00068 0.000686667 0.000686667 0.000686667 0.000686667 0.00068 0.000686667 0.0007 +0.000706667 0.00072 0.000766667 0.229253 0.28984 0.223573 0.00086 0.000946667 +0.286053 0.411013 0.47728 0.42616 0.348533 0.354213 0.30688 0.000946667 +0.000846667 0.000966667 0.316347 0.4716 0.597263 0.819579 0.982286 0.989796 +0.965474 0.945263 0.945263 0.955368 0.969263 0.983918 0.998286 1.00906 +1.00841 1.00482 1.00645 1.00971 1.01233 1.01233 1.00645 0.998939 +1.00253 1.01135 1.01135 1.00776 1.00743 1.00808 1.00841 1.00841 +1.00449 1.00188 1.0022 1.00188 0.997306 0.988163 0.983918 0.986857 +0.989469 0.986857 0.967368 0.903579 0.764632 0.600421 0.505053 0.42048 +0.39776 0.395867 0.390187 0.378827 0.384507 0.393973 0.39208 0.399653 +0.428053 0.43184 0.388293 0.344747 0.32392 0.331493 0.34096 0.327707 +0.320133 0.322027 0.325813 0.34096 0.34664 0.327707 0.320133 0.31824 +0.314453 0.333387 0.34096 0.333387 0.33528 0.333387 0.320133 0.322027 +0.358 0.38072 0.350427 0.31824 0.303093 0.308773 0.310667 0.303093 +0.29552 0.291733 0.282267 0.297413 0.342853 0.350427 0.32392 0.304987 +0.299307 0.30688 0.327707 0.344747 0.32392 0.31256 0.314453 0.314453 +0.322027 0.331493 0.359893 0.382613 0.361787 0.348533 0.373147 0.367467 +0.339067 0.333387 0.358 0.350427 0.316347 0.299307 0.299307 0.316347 +0.333387 0.371253 0.435627 0.521474 0.621895 0.731789 0.783579 0.818947 +0.853684 0.873895 0.882105 0.871368 0.836632 0.793053 0.750105 0.683158 +0.602947 0.542947 0.506316 0.450773 0.382613 0.337173 0.314453 0.31256 +0.327707 0.337173 0.356107 0.376933 0.382613 0.36368 0.365573 0.350427 +0.316347 0.320133 0.365573 0.504421 0.553684 0.514526 0.376933 0.35232 +0.373147 0.473493 0.605474 0.774737 0.918105 0.990449 1.00547 0.993714 +0.914947 0.726737 0.545474 0.44888 0.441307 0.416693 0.399653 0.395867 +0.393973 0.390187 0.399653 0.416693 0.433733 0.44888 0.422373 0.405333 +0.4148 0.446987 0.505053 0.541053 0.613053 0.719789 0.764632 0.728 +0.666737 0.604211 0.554947 0.512632 0.450773 0.43184 0.452667 0.452667 +0.46592 0.473493 0.445093 0.428053 0.458347 0.505053 0.567579 0.688211 +0.834105 0.939579 0.991429 1.00188 0.998612 0.990449 0.975579 0.953474 +0.947158 0.957895 0.961684 0.962947 0.957895 0.947789 0.944 0.950947 +0.956 0.944632 0.926947 0.92379 0.913053 0.904211 0.911789 0.949053 +0.988816 1.00384 1.01853 1.028 1.02767 1.02637 1.02604 1.02898 +1.02865 1.02735 1.028 1.03192 1.03192 1.03192 1.03061 1.03257 +1.03029 1.03127 1.03257 1.03453 1.03584 1.03584 1.03649 1.03322 +1.02996 1.03224 1.03518 1.03649 1.03061 1.02114 1.00939 0.991429 +0.921895 0.773474 0.619368 0.541053 0.518316 0.506316 0.498107 0.492427 +0.4716 0.424267 0.407227 0.42616 0.435627 0.47728 0.510737 0.504421 +0.43752 0.401547 0.40344 0.433733 0.517684 0.570737 0.593474 0.610526 +0.760842 0.975579 1.01853 1.0231 1.01429 0.967368 0.813263 0.606105 +0.44888 0.390187 0.38072 0.350427 0.350427 0.356107 0.38072 0.390187 +0.39776 0.44888 0.503789 0.533474 0.577053 0.644 0.733684 0.818316 +0.884632 0.928842 0.933895 0.896632 0.815158 0.676842 0.539158 0.418587 +0.37504 0.34664 0.354213 0.418587 0.513895 0.571368 0.623789 0.694526 +0.798737 0.885263 0.918737 0.896 0.830947 0.740632 0.642105 0.546105 +0.456453 0.399653 0.376933 0.390187 0.405333 0.412907 0.424267 0.433733 +0.441307 0.40912 0.354213 0.320133 0.31824 0.3296 0.339067 0.337173 +0.31256 0.3012 0.30688 0.316347 0.32392 0.327707 0.333387 0.39776 +0.458347 0.412907 0.342853 0.31256 0.297413 0.303093 0.3012 0.299307 +0.31256 0.376933 0.4716 0.40912 0.3296 0.337173 0.376933 0.393973 +0.356107 0.327707 0.344747 0.342853 0.333387 0.3296 0.34096 0.376933 +0.359893 0.333387 0.3296 0.339067 0.350427 0.37504 0.384507 0.401547 +0.412907 0.405333 0.407227 0.39776 0.43184 0.510105 0.596632 0.748211 +0.895368 0.959789 0.978737 0.980653 0.957263 0.954105 0.981306 0.994694 +1.00449 1.00743 1.00743 1.00906 1.00841 1.00678 1.00906 1.01167 +1.01363 1.01722 1.01527 1.01265 1.01461 1.01527 1.01559 1.01657 +1.01461 1.01298 1.01004 1.00776 1.01135 1.01331 1.01102 1.01265 +1.01331 1.01167 1.012 1.01396 1.01298 1.01004 1.00939 1.00906 +1.00384 0.992408 0.974947 0.964211 0.959158 0.949053 0.954105 0.98 +0.989469 0.914947 0.703368 0.522737 0.350427 0.240613 0.000853333 0.000793333 +0.000786667 0.000773333 0.00078 0.000806667 0.000733333 0.000733333 0.0008 0.000813333 +0.000793333 0.000746667 0.00072 0.000733333 0.000726667 0.000726667 0.00074 0.000713333 +0.000706667 0.000713333 0.000713333 0.00072 0.000686667 0.000706667 0.000706667 0.000693333 +0.000686667 0.000666667 0.00066 0.00066 0.0007 0.000726667 0.000733333 0.00072 +0.000726667 0.000733333 0.000726667 0.000706667 0.000686667 0.000686667 0.000686667 0.000693333 +0.000686667 0.000693333 0.000786667 0.248187 0.280373 0.00094 0.000773333 0.000806667 +0.000993333 0.327707 0.42616 0.43184 0.367467 0.358 0.32392 0.22168 +0.000866667 0.000946667 0.30688 0.429947 0.556842 0.768421 0.962947 0.991102 +0.969263 0.946526 0.945895 0.956632 0.970526 0.984571 0.999265 1.00971 +1.01004 1.0071 1.00906 1.01167 1.01265 1.01331 1.00743 0.99698 +0.998286 1.0071 1.00971 1.00776 1.00743 1.00906 1.00873 1.00971 +1.00873 1.00645 1.0058 1.00449 1.0009 0.993714 0.984571 0.982612 +0.987184 0.988816 0.980327 0.930737 0.801263 0.628211 0.515158 0.42616 +0.405333 0.407227 0.39208 0.38072 0.401547 0.405333 0.376933 0.378827 +0.393973 0.401547 0.395867 0.358 0.322027 0.32392 0.342853 0.348533 +0.34096 0.331493 0.327707 0.344747 0.35232 0.333387 0.32392 0.33528 +0.348533 0.361787 0.34096 0.314453 0.327707 0.33528 0.314453 0.304987 +0.337173 0.378827 0.37504 0.339067 0.31256 0.304987 0.303093 0.3012 +0.308773 0.303093 0.291733 0.291733 0.316347 0.32392 0.31256 0.29552 +0.28984 0.308773 0.344747 0.34664 0.322027 0.314453 0.308773 0.316347 +0.327707 0.34664 0.382613 0.393973 0.378827 0.388293 0.39776 0.354213 +0.331493 0.34096 0.371253 0.376933 0.3296 0.30688 0.31824 0.339067 +0.365573 0.40912 0.498107 0.555579 0.644632 0.74 0.8 0.838526 +0.868211 0.878947 0.871368 0.842947 0.792421 0.728632 0.662316 0.592842 +0.531579 0.481067 0.411013 0.365573 0.331493 0.322027 0.320133 0.327707 +0.348533 0.373147 0.43184 0.47728 0.439413 0.367467 0.344747 0.344747 +0.33528 0.344747 0.395867 0.507579 0.548632 0.510105 0.373147 0.35232 +0.373147 0.49432 0.626947 0.796842 0.920632 0.989469 1.00449 0.984571 +0.860632 0.654105 0.508842 0.446987 0.428053 0.376933 0.367467 0.38072 +0.373147 0.367467 0.373147 0.382613 0.399653 0.412907 0.4148 0.416693 +0.45456 0.5 0.525895 0.569474 0.649053 0.755789 0.760211 0.676842 +0.603579 0.562526 0.539158 0.508842 0.450773 0.452667 0.47728 0.469707 +0.458347 0.45456 0.446987 0.446987 0.484853 0.528421 0.620632 0.781684 +0.926947 0.993388 1.01396 1.01853 1.0169 1.01004 0.994041 0.971789 +0.961053 0.974947 0.974947 0.971789 0.959789 0.945895 0.950947 0.959158 +0.959158 0.952842 0.939579 0.933895 0.923158 0.908 0.910526 0.934526 +0.980653 0.998612 1.01527 1.02833 1.02637 1.02571 1.02996 1.03192 +1.02996 1.02898 1.02931 1.03029 1.03127 1.0329 1.03127 1.03094 +1.03192 1.03094 1.03322 1.03453 1.03486 1.03518 1.03518 1.03388 +1.03355 1.03453 1.03551 1.0342 1.02963 1.01559 0.998939 0.981633 +0.894737 0.732421 0.587158 0.529053 0.524 0.533474 0.534105 0.518947 +0.484853 0.42616 0.441307 0.462133 0.452667 0.4716 0.512 0.524 +0.503158 0.416693 0.40912 0.503789 0.557474 0.597263 0.595368 0.577684 +0.679368 0.892211 0.999592 1.01951 1.01918 0.98751 0.861263 0.656 +0.496213 0.38072 0.376933 0.348533 0.350427 0.348533 0.354213 0.361787 +0.382613 0.439413 0.4716 0.505684 0.547368 0.625053 0.734947 0.844211 +0.92821 0.977474 0.982939 0.949053 0.877684 0.771579 0.632 0.517684 +0.422373 0.39776 0.424267 0.507579 0.566316 0.616842 0.619368 0.613053 +0.645895 0.722316 0.793684 0.801263 0.760842 0.696421 0.628842 0.568842 +0.530316 0.484853 0.3864 0.371253 0.376933 0.361787 0.378827 0.40344 +0.433733 0.458347 0.424267 0.365573 0.3296 0.327707 0.325813 0.32392 +0.310667 0.303093 0.310667 0.31824 0.32392 0.333387 0.365573 0.439413 +0.4432 0.356107 0.31824 0.322027 0.31256 0.30688 0.304987 0.3012 +0.310667 0.373147 0.45456 0.393973 0.32392 0.325813 0.354213 0.38072 +0.367467 0.348533 0.342853 0.337173 0.33528 0.333387 0.348533 0.367467 +0.350427 0.339067 0.333387 0.327707 0.331493 0.354213 0.365573 0.37504 +0.388293 0.39208 0.393973 0.388293 0.418587 0.517053 0.626947 0.780421 +0.904842 0.952211 0.962316 0.952842 0.940211 0.957263 0.985878 0.994694 +1.00286 1.00678 1.00743 1.01037 1.01037 1.00743 1.00971 1.01298 +1.01298 1.01527 1.01559 1.01429 1.01624 1.01494 1.01331 1.01494 +1.01233 1.00906 1.00776 1.00873 1.01135 1.01298 1.01004 1.01135 +1.01527 1.01363 1.01102 1.01102 1.012 1.01135 1.00776 1.0058 +0.998286 0.984571 0.968 0.966737 0.960421 0.945895 0.958526 0.987184 +0.981959 0.841684 0.622526 0.481067 0.3296 0.000973333 0.000806667 0.000833333 +0.000833333 0.000813333 0.00078 0.000813333 0.00078 0.000733333 0.00076 0.000793333 +0.0008 0.000766667 0.000726667 0.0007 0.000706667 0.000713333 0.00072 0.000706667 +0.000706667 0.000713333 0.000726667 0.000726667 0.00072 0.000733333 0.000726667 0.000713333 +0.000706667 0.000693333 0.00068 0.000666667 0.00068 0.000693333 0.0007 0.000693333 +0.000686667 0.000713333 0.000713333 0.000713333 0.000693333 0.000693333 0.000726667 0.00072 +0.000706667 0.000706667 0.00084 0.2728 0.276587 0.000866667 0.000726667 0.000733333 +0.000846667 0.242507 0.316347 0.358 0.33528 0.344747 0.327707 0.229253 +0.000873333 0.000933333 0.3012 0.399653 0.522737 0.714737 0.937053 0.991755 +0.974316 0.949684 0.945263 0.953474 0.964842 0.984571 0.999265 1.00906 +1.01037 1.00873 1.01167 1.01396 1.01363 1.01461 1.01037 0.999592 +0.997959 1.00547 1.00873 1.0071 1.0071 1.00873 1.00906 1.01037 +1.00906 1.00841 1.00776 1.00743 1.00384 0.999592 0.989469 0.983918 +0.986857 0.988816 0.984898 0.950947 0.837895 0.669895 0.537895 0.44888 +0.4148 0.40344 0.39208 0.38072 0.3864 0.37504 0.367467 0.382613 +0.38072 0.378827 0.376933 0.356107 0.342853 0.337173 0.348533 0.37504 +0.342853 0.320133 0.322027 0.333387 0.34096 0.339067 0.337173 0.35232 +0.388293 0.40912 0.395867 0.354213 0.34664 0.342853 0.32392 0.32392 +0.356107 0.405333 0.418587 0.390187 0.350427 0.322027 0.303093 0.291733 +0.303093 0.31256 0.3012 0.293627 0.30688 0.303093 0.28984 0.28416 +0.3012 0.33528 0.34664 0.32392 0.310667 0.310667 0.308773 0.32392 +0.34096 0.354213 0.390187 0.412907 0.39776 0.40912 0.418587 0.356107 +0.320133 0.32392 0.34096 0.371253 0.344747 0.322027 0.34096 0.382613 +0.428053 0.473493 0.530316 0.594737 0.662947 0.725474 0.776 0.809474 +0.832842 0.838526 0.815158 0.760842 0.691368 0.621895 0.563158 0.525263 +0.503789 0.452667 0.3864 0.339067 0.320133 0.320133 0.333387 0.350427 +0.359893 0.407227 0.506316 0.517053 0.435627 0.344747 0.327707 0.342853 +0.35232 0.361787 0.384507 0.422373 0.45456 0.4148 0.356107 0.358 +0.3864 0.508211 0.638316 0.797474 0.909263 0.982939 0.997633 0.950947 +0.785474 0.589684 0.475387 0.429947 0.407227 0.373147 0.371253 0.378827 +0.373147 0.36936 0.361787 0.373147 0.393973 0.411013 0.407227 0.418587 +0.456453 0.486747 0.508211 0.534737 0.571368 0.615579 0.608632 0.566316 +0.543579 0.539158 0.538526 0.524 0.501263 0.469707 0.481067 0.462133 +0.452667 0.46024 0.467813 0.475387 0.514526 0.576421 0.705263 0.867579 +0.981959 1.00971 1.02212 1.02376 1.02343 1.01788 1.00318 0.985224 +0.976842 0.982286 0.976211 0.973053 0.962947 0.954737 0.966737 0.973053 +0.966105 0.962316 0.959789 0.947789 0.934526 0.921895 0.925053 0.931368 +0.962316 0.992408 1.00873 1.02408 1.02376 1.02637 1.03322 1.03257 +1.02898 1.03061 1.02898 1.02931 1.03159 1.03453 1.03257 1.03094 +1.03029 1.02996 1.03616 1.03551 1.0329 1.03682 1.03453 1.03257 +1.03453 1.03388 1.03388 1.03192 1.02441 1.00906 0.989469 0.957895 +0.867579 0.696421 0.551789 0.508842 0.524 0.568211 0.582737 0.533474 +0.4716 0.416693 0.43752 0.458347 0.439413 0.43752 0.4716 0.520842 +0.529684 0.486747 0.486747 0.548632 0.597263 0.612421 0.585895 0.536 +0.563158 0.724842 0.914316 1.0058 1.0182 0.993061 0.897263 0.709053 +0.528421 0.393973 0.395867 0.3864 0.37504 0.35232 0.348533 0.350427 +0.359893 0.388293 0.39208 0.422373 0.503789 0.570105 0.683789 0.818316 +0.926947 0.981306 0.981959 0.942737 0.872 0.798105 0.724842 0.628842 +0.533474 0.45456 0.452667 0.515158 0.589053 0.654105 0.647158 0.602947 +0.558105 0.563789 0.624421 0.66421 0.65979 0.628211 0.586526 0.556842 +0.536 0.496213 0.399653 0.40912 0.418587 0.361787 0.325813 0.348533 +0.378827 0.428053 0.458347 0.429947 0.371253 0.331493 0.331493 0.331493 +0.322027 0.3012 0.293627 0.31256 0.320133 0.322027 0.35232 0.411013 +0.39208 0.308773 0.293627 0.314453 0.32392 0.325813 0.32392 0.308773 +0.303093 0.35232 0.412907 0.371253 0.31256 0.310667 0.34096 0.36936 +0.371253 0.365573 0.356107 0.354213 0.367467 0.358 0.35232 0.361787 +0.34664 0.339067 0.331493 0.325813 0.32392 0.344747 0.35232 0.367467 +0.38072 0.373147 0.37504 0.390187 0.42616 0.525263 0.650316 0.806316 +0.909263 0.946526 0.950947 0.938316 0.938316 0.964211 0.989143 0.997633 +1.00384 1.0058 1.00547 1.01102 1.01298 1.01004 1.01102 1.01331 +1.01233 1.01331 1.01363 1.01363 1.01559 1.01429 1.01331 1.01429 +1.01102 1.00873 1.00776 1.00743 1.01102 1.01396 1.01102 1.01102 +1.01592 1.01429 1.01069 1.00841 1.01102 1.01265 1.00971 1.00384 +0.993388 0.977474 0.961684 0.957895 0.956 0.950947 0.973053 0.990776 +0.949053 0.758947 0.553053 0.39776 0.287947 0.0009 0.000793333 0.000813333 +0.00082 0.00082 0.000766667 0.000746667 0.000766667 0.000746667 0.000726667 0.000746667 +0.00076 0.000766667 0.000746667 0.000706667 0.000726667 0.00072 0.000693333 0.000686667 +0.0007 0.000706667 0.00072 0.000713333 0.0007 0.0007 0.000706667 0.000693333 +0.00068 0.000673333 0.0007 0.000713333 0.000733333 0.00072 0.000726667 0.00072 +0.00072 0.000726667 0.000706667 0.0007 0.00068 0.000673333 0.000693333 0.000673333 +0.000666667 0.000686667 0.000853333 0.274693 0.26144 0.000826667 0.000733333 0.000746667 +0.000813333 0.000886667 0.219787 0.257653 0.2728 0.325813 0.3296 0.231147 +0.000866667 0.00094 0.297413 0.37504 0.48296 0.659158 0.898526 0.992408 +0.982939 0.957263 0.947789 0.952211 0.962947 0.982939 0.997306 1.00873 +1.01233 1.012 1.01298 1.01461 1.01331 1.01265 1.01167 1.00253 +0.996327 1.00351 1.00971 1.00906 1.00841 1.01004 1.01069 1.01102 +1.00873 1.00808 1.00678 1.0071 1.00645 1.00286 0.994367 0.988163 +0.989143 0.989796 0.986531 0.966737 0.874526 0.717263 0.571368 0.492427 +0.418587 0.39776 0.388293 0.382613 0.36936 0.361787 0.38072 0.39208 +0.37504 0.367467 0.367467 0.36936 0.378827 0.371253 0.376933 0.395867 +0.358 0.322027 0.325813 0.3296 0.325813 0.331493 0.3296 0.34096 +0.36368 0.388293 0.42048 0.412907 0.373147 0.339067 0.325813 0.348533 +0.393973 0.411013 0.411013 0.42048 0.395867 0.339067 0.310667 0.303093 +0.303093 0.304987 0.304987 0.303093 0.303093 0.299307 0.304987 0.293627 +0.310667 0.34096 0.333387 0.31824 0.3296 0.342853 0.33528 0.34096 +0.34096 0.337173 0.371253 0.428053 0.429947 0.429947 0.441307 0.38072 +0.32392 0.308773 0.310667 0.350427 0.356107 0.33528 0.354213 0.40912 +0.492427 0.518316 0.549895 0.604842 0.657895 0.703368 0.745053 0.767789 +0.767158 0.744421 0.697053 0.640211 0.595368 0.556211 0.521474 0.513263 +0.508842 0.46592 0.393973 0.350427 0.337173 0.331493 0.33528 0.342853 +0.34096 0.358 0.4432 0.48864 0.395867 0.322027 0.314453 0.34664 +0.359893 0.342853 0.342853 0.356107 0.35232 0.34664 0.350427 0.354213 +0.393973 0.531579 0.664842 0.801263 0.901053 0.974947 0.982939 0.891579 +0.707158 0.546737 0.462133 0.412907 0.378827 0.373147 0.39776 0.405333 +0.39208 0.37504 0.367467 0.388293 0.43184 0.452667 0.428053 0.39776 +0.418587 0.441307 0.45456 0.47728 0.490533 0.500632 0.513263 0.522105 +0.518316 0.512632 0.513895 0.527158 0.524 0.502526 0.48296 0.467813 +0.492427 0.503158 0.502526 0.512632 0.554947 0.644632 0.795579 0.935158 +0.995347 1.01494 1.02376 1.02376 1.02571 1.01984 1.00514 0.987837 +0.980653 0.98 0.974316 0.976211 0.970526 0.969895 0.980327 0.981633 +0.972421 0.974316 0.981306 0.971789 0.959158 0.944632 0.941474 0.936421 +0.947158 0.982286 0.997959 1.01331 1.0218 1.02931 1.03355 1.02963 +1.02669 1.03029 1.02898 1.02702 1.03127 1.03355 1.03094 1.03029 +1.03127 1.03029 1.03812 1.03616 1.03127 1.03551 1.03453 1.03192 +1.03388 1.0342 1.03257 1.02604 1.01527 0.998612 0.976211 0.933263 +0.838526 0.669895 0.533474 0.5 0.516421 0.563158 0.587158 0.530316 +0.456453 0.42048 0.441307 0.44888 0.418587 0.411013 0.4148 0.492427 +0.527789 0.527158 0.548632 0.608 0.637684 0.62 0.561263 0.5 +0.45456 0.554947 0.738105 0.952211 1.01037 0.993388 0.926947 0.770316 +0.577053 0.445093 0.418587 0.407227 0.390187 0.378827 0.371253 0.359893 +0.354213 0.35232 0.354213 0.373147 0.407227 0.5 0.577684 0.710947 +0.855579 0.938316 0.944 0.902947 0.833474 0.753895 0.711579 0.686947 +0.610526 0.529684 0.501895 0.502526 0.535368 0.577684 0.581474 0.559368 +0.513263 0.445093 0.490533 0.526526 0.544842 0.546105 0.533474 0.519579 +0.505684 0.4432 0.390187 0.40912 0.412907 0.361787 0.325813 0.337173 +0.356107 0.373147 0.401547 0.407227 0.3864 0.34664 0.333387 0.33528 +0.33528 0.308773 0.28984 0.303093 0.308773 0.31256 0.33528 0.39208 +0.382613 0.31256 0.287947 0.29552 0.310667 0.3296 0.337173 0.327707 +0.316347 0.339067 0.373147 0.34664 0.308773 0.304987 0.34096 0.36368 +0.358 0.356107 0.36368 0.367467 0.39776 0.399653 0.361787 0.33528 +0.320133 0.33528 0.34664 0.35232 0.356107 0.361787 0.348533 0.35232 +0.36936 0.365573 0.365573 0.3864 0.433733 0.532211 0.666105 0.825895 +0.918105 0.943368 0.940842 0.932 0.943368 0.973053 0.992082 1.00024 +1.0071 1.00808 1.0071 1.00906 1.01037 1.01167 1.01396 1.01331 +1.012 1.01363 1.01363 1.01265 1.01363 1.01559 1.01363 1.01135 +1.00971 1.01037 1.01135 1.01004 1.01167 1.01494 1.01363 1.01102 +1.01363 1.01265 1.012 1.01167 1.01102 1.01102 1.00841 0.999918 +0.984245 0.964842 0.956 0.947789 0.950316 0.963579 0.98751 0.989796 +0.885263 0.669263 0.503789 0.331493 0.236827 0.000826667 0.000786667 0.000786667 +0.000753333 0.000786667 0.000806667 0.000773333 0.000766667 0.00078 0.00074 0.000726667 +0.00072 0.000726667 0.000746667 0.000713333 0.00074 0.00074 0.00072 0.0007 +0.000706667 0.000706667 0.000713333 0.00072 0.000693333 0.0007 0.000686667 0.00068 +0.000666667 0.000673333 0.00068 0.000673333 0.000686667 0.0007 0.000706667 0.000706667 +0.000713333 0.0007 0.000693333 0.0007 0.0007 0.0007 0.000706667 0.000686667 +0.00068 0.00068 0.00086 0.274693 0.25576 0.000813333 0.000726667 0.000726667 +0.000753333 0.000773333 0.00084 0.000886667 0.000966667 0.293627 0.3296 0.23872 +0.00088 0.00098 0.304987 0.361787 0.42616 0.613684 0.854947 0.989796 +0.989469 0.962316 0.945895 0.946526 0.959158 0.980327 0.995347 1.00873 +1.01298 1.01298 1.01265 1.01363 1.01298 1.01167 1.01233 1.00482 +0.99698 1.00188 1.00971 1.01102 1.00906 1.00939 1.00971 1.01069 +1.01004 1.00939 1.00743 1.00612 1.00678 1.00612 0.998939 0.992082 +0.989469 0.989796 0.98751 0.978105 0.902947 0.759579 0.606105 0.510105 +0.42616 0.401547 0.40344 0.40344 0.388293 0.388293 0.401547 0.390187 +0.376933 0.384507 0.393973 0.382613 0.373147 0.378827 0.3864 0.384507 +0.358 0.3296 0.331493 0.348533 0.344747 0.34664 0.34096 0.337173 +0.342853 0.359893 0.393973 0.395867 0.361787 0.3296 0.325813 0.34664 +0.365573 0.34664 0.339067 0.382613 0.407227 0.36368 0.32392 0.314453 +0.310667 0.304987 0.314453 0.31824 0.31824 0.320133 0.32392 0.30688 +0.310667 0.320133 0.30688 0.310667 0.344747 0.361787 0.348533 0.342853 +0.339067 0.32392 0.331493 0.382613 0.428053 0.467813 0.490533 0.4148 +0.325813 0.31824 0.339067 0.36936 0.367467 0.333387 0.34664 0.429947 +0.515158 0.534737 0.554947 0.591579 0.635158 0.681263 0.709684 0.701474 +0.671158 0.624421 0.578947 0.564421 0.579579 0.563789 0.524 0.523368 +0.524632 0.496213 0.424267 0.371253 0.356107 0.358 0.35232 0.34096 +0.331493 0.31256 0.35232 0.412907 0.367467 0.32392 0.327707 0.37504 +0.3864 0.34096 0.320133 0.3296 0.331493 0.32392 0.33528 0.35232 +0.441307 0.566316 0.695789 0.816421 0.902316 0.952842 0.940211 0.832842 +0.655368 0.520842 0.429947 0.393973 0.376933 0.39208 0.4432 0.473493 +0.4432 0.40344 0.388293 0.418587 0.49432 0.509474 0.4716 0.40912 +0.405333 0.429947 0.435627 0.429947 0.43184 0.441307 0.484853 0.500632 +0.498107 0.473493 0.481067 0.512 0.524632 0.519579 0.508842 0.498107 +0.503158 0.503158 0.503789 0.522737 0.603579 0.733053 0.877053 0.971789 +0.996327 1.01135 1.0218 1.0218 1.02376 1.01755 1.00188 0.985551 +0.980653 0.974947 0.974316 0.981633 0.982286 0.983918 0.986531 0.985224 +0.981633 0.985551 0.991429 0.990449 0.986531 0.974316 0.963579 0.951579 +0.948421 0.968 0.987184 0.997306 1.00971 1.02539 1.03127 1.02669 +1.02604 1.02996 1.02963 1.02571 1.03061 1.03388 1.02898 1.03094 +1.03453 1.0329 1.03812 1.03518 1.03159 1.03518 1.03584 1.03159 +1.03127 1.03094 1.02473 1.01527 1.00482 0.985224 0.952211 0.915579 +0.808842 0.637053 0.522737 0.506316 0.528421 0.548632 0.545474 0.509474 +0.452667 0.433733 0.458347 0.464027 0.416693 0.411013 0.411013 0.43752 +0.502526 0.545474 0.601053 0.649053 0.660421 0.614947 0.532842 0.441307 +0.411013 0.475387 0.615579 0.844842 0.983592 0.987837 0.949684 0.836 +0.654105 0.517684 0.435627 0.418587 0.412907 0.42048 0.388293 0.348533 +0.35232 0.339067 0.342853 0.365573 0.367467 0.3864 0.458347 0.565053 +0.703368 0.815158 0.854316 0.836632 0.784842 0.706526 0.643368 0.625684 +0.602947 0.557474 0.529053 0.508842 0.490533 0.500632 0.503789 0.48864 +0.424267 0.376933 0.359893 0.36936 0.399653 0.43184 0.445093 0.435627 +0.42616 0.407227 0.38072 0.376933 0.359893 0.337173 0.34096 0.356107 +0.36936 0.36368 0.358 0.36368 0.390187 0.371253 0.32392 0.30688 +0.31256 0.31824 0.325813 0.33528 0.331493 0.314453 0.320133 0.365573 +0.37504 0.337173 0.310667 0.293627 0.299307 0.333387 0.350427 0.331493 +0.314453 0.337173 0.37504 0.348533 0.310667 0.308773 0.339067 0.35232 +0.342853 0.33528 0.35232 0.382613 0.412907 0.401547 0.36368 0.34664 +0.3296 0.327707 0.344747 0.371253 0.382613 0.365573 0.358 0.371253 +0.373147 0.36368 0.365573 0.384507 0.43184 0.534105 0.670526 0.834737 +0.925684 0.946526 0.937053 0.930737 0.950316 0.982612 0.996327 1.00024 +1.00645 1.00906 1.00971 1.00808 1.00743 1.01069 1.01429 1.01559 +1.01298 1.01331 1.01265 1.01135 1.01102 1.01298 1.01102 1.01037 +1.01069 1.012 1.01265 1.01298 1.012 1.012 1.01363 1.01265 +1.01396 1.012 1.012 1.01331 1.01037 1.00873 1.00612 0.992735 +0.971789 0.949053 0.947158 0.946526 0.954737 0.976211 0.992735 0.973684 +0.797474 0.580842 0.4148 0.291733 0.00094 0.000786667 0.000806667 0.000846667 +0.000806667 0.00078 0.00082 0.000793333 0.00074 0.00076 0.000766667 0.000753333 +0.00072 0.000693333 0.000713333 0.00074 0.00072 0.000733333 0.00074 0.000733333 +0.000726667 0.0007 0.000713333 0.00072 0.000713333 0.000713333 0.000706667 0.000706667 +0.000693333 0.0007 0.0007 0.00068 0.000666667 0.000693333 0.000693333 0.000686667 +0.000693333 0.000693333 0.000693333 0.0007 0.000706667 0.000693333 0.0007 0.000693333 +0.00068 0.000693333 0.000893333 0.287947 0.270907 0.000873333 0.000766667 0.00076 +0.00078 0.000773333 0.000786667 0.000793333 0.000873333 0.263333 0.30688 0.225467 +0.000866667 0.000986667 0.31256 0.34664 0.36368 0.569474 0.805684 0.982612 +0.994367 0.973053 0.947789 0.942737 0.954105 0.976211 0.993388 1.00743 +1.01135 1.01004 1.00906 1.01037 1.01102 1.01265 1.01331 1.00873 +1.00057 0.999918 1.00678 1.01037 1.00971 1.00743 1.00743 1.00808 +1.00808 1.00841 1.0058 1.00482 1.00645 1.00808 1.00188 0.993714 +0.989796 0.990122 0.989469 0.983918 0.928842 0.800632 0.641474 0.526526 +0.4432 0.416693 0.43752 0.446987 0.429947 0.4432 0.439413 0.401547 +0.378827 0.3864 0.390187 0.378827 0.359893 0.359893 0.354213 0.342853 +0.33528 0.3296 0.327707 0.34096 0.356107 0.365573 0.358 0.342853 +0.333387 0.339067 0.35232 0.34664 0.327707 0.320133 0.322027 0.32392 +0.31824 0.304987 0.304987 0.337173 0.388293 0.38072 0.33528 0.310667 +0.308773 0.310667 0.31824 0.34664 0.348533 0.3296 0.31256 0.30688 +0.31256 0.31824 0.304987 0.3012 0.320133 0.333387 0.3296 0.337173 +0.342853 0.3296 0.32392 0.342853 0.399653 0.501895 0.527158 0.486747 +0.354213 0.344747 0.373147 0.390187 0.36936 0.339067 0.348533 0.429947 +0.512632 0.524632 0.541684 0.577684 0.614316 0.643368 0.640211 0.611789 +0.581474 0.551789 0.541684 0.577053 0.620632 0.584632 0.521474 0.522737 +0.529684 0.504421 0.439413 0.38072 0.36368 0.40344 0.399653 0.348533 +0.322027 0.31256 0.344747 0.390187 0.354213 0.320133 0.331493 0.365573 +0.37504 0.337173 0.32392 0.32392 0.32392 0.320133 0.331493 0.373147 +0.510105 0.606105 0.727368 0.832842 0.885263 0.898526 0.870737 0.781684 +0.649684 0.530947 0.418587 0.3864 0.376933 0.393973 0.44888 0.500632 +0.5 0.462133 0.433733 0.4432 0.518316 0.540421 0.513895 0.473493 +0.479173 0.486747 0.46024 0.441307 0.435627 0.433733 0.450773 0.44888 +0.450773 0.475387 0.490533 0.501895 0.508211 0.515789 0.518316 0.503158 +0.473493 0.48296 0.507579 0.546737 0.665474 0.823368 0.929474 0.971789 +0.98849 1.00253 1.01265 1.01363 1.01592 1.00776 0.993061 0.984245 +0.982939 0.977474 0.980327 0.986531 0.990449 0.994694 0.995673 0.992735 +0.989796 0.99502 0.999265 1.0022 1.00384 0.994367 0.983918 0.974316 +0.964211 0.959158 0.975579 0.987837 0.997306 1.01331 1.02245 1.02343 +1.02702 1.02996 1.03061 1.02898 1.03192 1.03453 1.02931 1.03094 +1.03518 1.0342 1.03812 1.0342 1.0342 1.03551 1.03453 1.02931 +1.02539 1.02278 1.01265 0.999592 0.989143 0.966105 0.932 0.895368 +0.773474 0.595368 0.515158 0.527158 0.550526 0.537263 0.507579 0.46592 +0.4432 0.42616 0.450773 0.464027 0.42616 0.42048 0.4432 0.469707 +0.509474 0.559368 0.624421 0.666737 0.660421 0.595368 0.512 0.445093 +0.503158 0.539789 0.617474 0.767789 0.897895 0.957263 0.962316 0.890316 +0.735579 0.567579 0.44888 0.42048 0.43184 0.45456 0.418587 0.35232 +0.350427 0.337173 0.331493 0.354213 0.365573 0.365573 0.37504 0.441307 +0.553684 0.642105 0.705895 0.730526 0.709684 0.654105 0.597263 0.563789 +0.545474 0.530947 0.529053 0.517684 0.475387 0.43184 0.429947 0.429947 +0.39208 0.356107 0.339067 0.316347 0.31256 0.333387 0.35232 0.359893 +0.354213 0.356107 0.38072 0.395867 0.354213 0.32392 0.34096 0.356107 +0.348533 0.342853 0.354213 0.365573 0.388293 0.384507 0.342853 0.310667 +0.299307 0.314453 0.344747 0.348533 0.34664 0.33528 0.322027 0.337173 +0.333387 0.320133 0.322027 0.314453 0.316347 0.350427 0.367467 0.337173 +0.322027 0.342853 0.365573 0.358 0.333387 0.316347 0.32392 0.325813 +0.325813 0.34096 0.3864 0.429947 0.42048 0.376933 0.342853 0.34096 +0.344747 0.337173 0.344747 0.359893 0.371253 0.37504 0.382613 0.405333 +0.39208 0.36936 0.371253 0.393973 0.439413 0.539158 0.672421 0.834105 +0.92821 0.947789 0.938316 0.932632 0.953474 0.986204 0.999918 1.00188 +1.00449 1.0058 1.00841 1.00841 1.00971 1.01037 1.01069 1.01331 +1.01363 1.01298 1.01004 1.00906 1.01069 1.01298 1.01102 1.01102 +1.01331 1.01331 1.01298 1.01298 1.01135 1.01102 1.012 1.01298 +1.01527 1.01265 1.01069 1.01135 1.01102 1.00808 1.00122 0.984245 +0.961053 0.949053 0.943368 0.944632 0.959789 0.984898 0.98849 0.906105 +0.697053 0.515789 0.34096 0.253867 0.000886667 0.00078 0.000773333 0.00084 +0.00084 0.00076 0.000786667 0.000813333 0.00076 0.000753333 0.000753333 0.00074 +0.000733333 0.000706667 0.000693333 0.000706667 0.000693333 0.000686667 0.000686667 0.0007 +0.000706667 0.000706667 0.000706667 0.000713333 0.000726667 0.000726667 0.00072 0.00072 +0.000726667 0.00072 0.000713333 0.000706667 0.00068 0.00068 0.000693333 0.000693333 +0.00068 0.000666667 0.000666667 0.000706667 0.000726667 0.0007 0.0007 0.0007 +0.000693333 0.000706667 0.000893333 0.280373 0.270907 0.0009 0.000773333 0.00076 +0.00074 0.000746667 0.000753333 0.00078 0.000893333 0.269013 0.304987 0.22736 +0.00088 0.223573 0.31824 0.327707 0.30688 0.521474 0.745053 0.956632 +0.995673 0.98098 0.953474 0.944 0.950316 0.969263 0.990449 1.00514 +1.01102 1.01037 1.00873 1.00743 1.00906 1.012 1.01265 1.00939 +1.00155 0.996 0.999592 1.00645 1.00939 1.00776 1.00678 1.0058 +1.00482 1.00482 1.00318 1.00514 1.00776 1.00808 1.00351 0.99502 +0.989143 0.989143 0.990449 0.986857 0.952211 0.840421 0.684421 0.556211 +0.481067 0.429947 0.433733 0.439413 0.439413 0.450773 0.433733 0.390187 +0.365573 0.359893 0.354213 0.35232 0.350427 0.34664 0.339067 0.32392 +0.32392 0.32392 0.320133 0.30688 0.322027 0.339067 0.331493 0.3296 +0.333387 0.3296 0.333387 0.33528 0.32392 0.316347 0.31824 0.31256 +0.303093 0.304987 0.304987 0.310667 0.348533 0.361787 0.337173 0.314453 +0.310667 0.30688 0.316347 0.34664 0.3296 0.30688 0.304987 0.310667 +0.31824 0.32392 0.320133 0.31824 0.316347 0.31824 0.31824 0.32392 +0.32392 0.3296 0.34096 0.34664 0.38072 0.492427 0.537895 0.508842 +0.37504 0.34664 0.365573 0.365573 0.356107 0.35232 0.367467 0.422373 +0.490533 0.510737 0.536632 0.568211 0.584 0.590947 0.584632 0.572632 +0.556211 0.546105 0.575158 0.641474 0.665474 0.592842 0.516421 0.513895 +0.528421 0.506947 0.43184 0.405333 0.43752 0.4716 0.43184 0.359893 +0.325813 0.316347 0.327707 0.34096 0.327707 0.320133 0.316347 0.32392 +0.325813 0.322027 0.325813 0.3296 0.339067 0.348533 0.36368 0.429947 +0.539158 0.637684 0.752632 0.817053 0.811368 0.786105 0.752632 0.710316 +0.662947 0.574526 0.4716 0.405333 0.3864 0.3864 0.411013 0.456453 +0.48296 0.450773 0.428053 0.456453 0.540421 0.577684 0.537263 0.515789 +0.526526 0.527158 0.517053 0.501895 0.458347 0.433733 0.441307 0.441307 +0.46024 0.486747 0.498107 0.505053 0.503158 0.505053 0.516421 0.512 +0.504421 0.519579 0.558105 0.630737 0.764632 0.898526 0.956632 0.966105 +0.977474 0.990449 0.998939 0.998612 1.00122 0.995347 0.985224 0.982612 +0.981959 0.98 0.985878 0.992408 0.997633 1.00449 1.00678 1.00612 +1.00743 1.01363 1.01559 1.01494 1.01429 1.00482 0.992735 0.988816 +0.982286 0.960421 0.966737 0.982286 0.989143 0.998612 1.0058 1.01298 +1.02278 1.02735 1.02767 1.02963 1.02963 1.03192 1.03094 1.03192 +1.03486 1.0342 1.03682 1.03192 1.03355 1.03355 1.03029 1.02506 +1.01722 1.01102 0.998612 0.982939 0.964842 0.944632 0.921895 0.873895 +0.736211 0.576421 0.530947 0.545474 0.548632 0.520842 0.467813 0.439413 +0.422373 0.424267 0.435627 0.439413 0.428053 0.4716 0.516421 0.532842 +0.548632 0.578316 0.632 0.682526 0.673053 0.603579 0.532211 0.527158 +0.590947 0.628211 0.640211 0.702105 0.796211 0.889684 0.949053 0.919368 +0.790526 0.615579 0.48296 0.4148 0.433733 0.452667 0.428053 0.371253 +0.34664 0.333387 0.339067 0.354213 0.34664 0.34096 0.359893 0.388293 +0.4432 0.515789 0.561263 0.597263 0.606105 0.587158 0.558105 0.529684 +0.508211 0.48296 0.504421 0.512632 0.48296 0.416693 0.399653 0.418587 +0.401547 0.365573 0.356107 0.34096 0.31824 0.31824 0.31824 0.327707 +0.331493 0.327707 0.371253 0.424267 0.401547 0.35232 0.348533 0.342853 +0.322027 0.331493 0.36368 0.388293 0.393973 0.38072 0.358 0.3296 +0.30688 0.316347 0.344747 0.331493 0.31256 0.322027 0.342853 0.348533 +0.322027 0.297413 0.303093 0.322027 0.350427 0.373147 0.367467 0.342853 +0.337173 0.354213 0.34096 0.325813 0.333387 0.333387 0.337173 0.33528 +0.320133 0.333387 0.418587 0.48296 0.411013 0.333387 0.316347 0.3296 +0.34096 0.333387 0.361787 0.412907 0.43752 0.4148 0.418587 0.439413 +0.4148 0.378827 0.38072 0.405333 0.44888 0.542947 0.680632 0.840421 +0.926947 0.944 0.939579 0.937684 0.959789 0.987837 1.00024 1.00384 +1.00678 1.00514 1.00547 1.00645 1.01069 1.012 1.00906 1.01037 +1.01298 1.01429 1.012 1.01004 1.01069 1.01233 1.01037 1.01037 +1.012 1.01396 1.01363 1.012 1.00971 1.01004 1.01102 1.01265 +1.01429 1.01265 1.00873 1.00808 1.00873 1.00482 0.994694 0.975579 +0.954105 0.949684 0.945263 0.945263 0.968 0.990449 0.967368 0.807579 +0.598526 0.439413 0.299307 0.00098 0.00084 0.000826667 0.000786667 0.000793333 +0.000826667 0.000806667 0.00078 0.000786667 0.000766667 0.000766667 0.00076 0.000733333 +0.000733333 0.000693333 0.00064 0.000666667 0.000726667 0.00072 0.0007 0.0007 +0.0007 0.000693333 0.000693333 0.000686667 0.000693333 0.0007 0.000686667 0.00068 +0.000693333 0.000693333 0.00068 0.0007 0.000686667 0.000693333 0.000713333 0.000706667 +0.000693333 0.000693333 0.000673333 0.000686667 0.000693333 0.000686667 0.0007 0.000706667 +0.000746667 0.000753333 0.0009 0.26712 0.274693 0.000966667 0.000786667 0.00074 +0.000706667 0.000706667 0.00072 0.00076 0.000906667 0.280373 0.299307 0.216 +0.000866667 0.236827 0.32392 0.304987 0.270907 0.45456 0.681263 0.918105 +0.995673 0.984245 0.957895 0.947158 0.948421 0.962316 0.985224 1.0009 +1.00971 1.01069 1.01004 1.00743 1.00906 1.012 1.01102 1.00971 +1.00449 0.996653 0.997959 1.00612 1.01037 1.01004 1.00971 1.00776 +1.0058 1.00416 1.00155 1.00351 1.00743 1.0071 1.00482 0.998612 +0.991429 0.989143 0.991102 0.989796 0.969263 0.878316 0.731158 0.588421 +0.503158 0.42616 0.407227 0.418587 0.42616 0.418587 0.393973 0.371253 +0.361787 0.36368 0.35232 0.337173 0.327707 0.3296 0.320133 0.316347 +0.322027 0.32392 0.325813 0.31256 0.308773 0.322027 0.327707 0.342853 +0.35232 0.33528 0.3296 0.342853 0.33528 0.31824 0.303093 0.308773 +0.314453 0.316347 0.316347 0.3012 0.30688 0.325813 0.3296 0.314453 +0.314453 0.308773 0.320133 0.333387 0.308773 0.3012 0.31256 0.325813 +0.342853 0.344747 0.339067 0.337173 0.325813 0.31824 0.31256 0.314453 +0.31824 0.327707 0.34096 0.344747 0.354213 0.422373 0.512 0.506316 +0.39776 0.348533 0.34664 0.339067 0.344747 0.358 0.388293 0.452667 +0.506316 0.524 0.547368 0.563158 0.568211 0.578316 0.594737 0.611789 +0.607368 0.606737 0.655368 0.704632 0.671789 0.582105 0.518947 0.518316 +0.527789 0.502526 0.44888 0.44888 0.469707 0.445093 0.39208 0.358 +0.342853 0.32392 0.31256 0.310667 0.31824 0.33528 0.325813 0.316347 +0.322027 0.3296 0.331493 0.327707 0.34664 0.365573 0.39208 0.490533 +0.559368 0.661053 0.755158 0.753895 0.701474 0.651579 0.606737 0.594737 +0.635789 0.623158 0.523368 0.422373 0.412907 0.4148 0.412907 0.42048 +0.424267 0.399653 0.39208 0.445093 0.563158 0.613684 0.549895 0.510105 +0.524 0.537263 0.547368 0.537895 0.518316 0.506947 0.506947 0.503789 +0.508842 0.512632 0.508842 0.508211 0.502526 0.49432 0.513895 0.527158 +0.535368 0.563789 0.640211 0.753895 0.870737 0.947158 0.968632 0.968 +0.969895 0.981959 0.989143 0.984898 0.987184 0.990122 0.987184 0.985551 +0.985878 0.984898 0.990122 0.994694 1.00253 1.01331 1.03159 1.05837 +1.14673 1.14825 1.0813 1.03943 1.02082 1.00841 0.997633 0.996653 +0.988163 0.973053 0.969895 0.973684 0.980327 0.989469 0.992735 0.996 +1.0071 1.01494 1.0182 1.02473 1.02571 1.02996 1.03061 1.03061 +1.03224 1.03257 1.03192 1.02767 1.02996 1.028 1.02114 1.01363 +1.00286 0.99502 0.982612 0.959789 0.946526 0.933895 0.914947 0.850526 +0.697684 0.567579 0.532842 0.523368 0.524 0.513895 0.467813 0.433733 +0.416693 0.424267 0.422373 0.4432 0.473493 0.533474 0.577684 0.577053 +0.566316 0.579579 0.642105 0.713474 0.728632 0.690105 0.640842 0.642105 +0.684421 0.645263 0.584 0.597263 0.683158 0.806947 0.908 0.92821 +0.831579 0.666737 0.526526 0.445093 0.433733 0.422373 0.401547 0.36936 +0.344747 0.339067 0.356107 0.367467 0.34664 0.33528 0.365573 0.388293 +0.371253 0.37504 0.424267 0.481067 0.511368 0.522105 0.515789 0.484853 +0.452667 0.429947 0.433733 0.464027 0.45456 0.424267 0.411013 0.407227 +0.39208 0.371253 0.37504 0.378827 0.348533 0.331493 0.31824 0.31824 +0.348533 0.371253 0.388293 0.407227 0.435627 0.43752 0.40912 0.373147 +0.361787 0.373147 0.3864 0.384507 0.359893 0.337173 0.354213 0.361787 +0.34096 0.3296 0.354213 0.34096 0.304987 0.310667 0.333387 0.35232 +0.342853 0.325813 0.320133 0.337173 0.38072 0.378827 0.337173 0.33528 +0.356107 0.36368 0.342853 0.322027 0.325813 0.33528 0.34096 0.348533 +0.348533 0.342853 0.393973 0.46024 0.399653 0.327707 0.31824 0.34096 +0.365573 0.36368 0.39208 0.452667 0.490533 0.462133 0.450773 0.456453 +0.43184 0.399653 0.3864 0.40912 0.46024 0.548 0.690105 0.851789 +0.935789 0.950947 0.943368 0.942105 0.969263 0.989469 0.998612 1.0022 +1.00612 1.00678 1.00776 1.0058 1.00808 1.01135 1.01102 1.01167 +1.012 1.01233 1.01363 1.01461 1.01102 1.00743 1.00808 1.01037 +1.012 1.01265 1.01167 1.01167 1.01004 1.00939 1.01135 1.01298 +1.01233 1.01135 1.00841 1.00939 1.00776 0.99698 0.985878 0.968 +0.950947 0.947789 0.947789 0.959158 0.980327 0.985224 0.902947 0.701474 +0.525895 0.36936 0.270907 0.000953333 0.00086 0.00084 0.000833333 0.00078 +0.00078 0.000826667 0.0008 0.000746667 0.000733333 0.00074 0.00074 0.00072 +0.00072 0.000726667 0.00068 0.000666667 0.00072 0.000733333 0.000733333 0.000726667 +0.0007 0.0007 0.00072 0.000706667 0.000706667 0.000693333 0.000686667 0.00068 +0.000693333 0.00068 0.000666667 0.000686667 0.000686667 0.000686667 0.000706667 0.000693333 +0.000686667 0.000693333 0.00068 0.000693333 0.000706667 0.0007 0.0007 0.000693333 +0.000726667 0.000733333 0.000846667 0.240613 0.280373 0.2444 0.000886667 0.000766667 +0.00072 0.000706667 0.00074 0.000806667 0.216 0.28984 0.276587 0.000926667 +0.00088 0.253867 0.322027 0.280373 0.240613 0.371253 0.618105 0.863789 +0.989796 0.98751 0.962947 0.949684 0.949684 0.961053 0.982612 0.997959 +1.00873 1.01135 1.01135 1.00906 1.00873 1.01102 1.00939 1.00971 +1.0071 0.997633 0.995347 1.00416 1.01102 1.012 1.01167 1.01102 +1.00906 1.00776 1.00482 1.00286 1.00678 1.00612 1.00416 1.00057 +0.994041 0.989796 0.990449 0.990122 0.979368 0.913684 0.781053 0.628842 +0.521474 0.435627 0.40912 0.416693 0.418587 0.405333 0.376933 0.361787 +0.359893 0.359893 0.354213 0.339067 0.3296 0.325813 0.322027 0.322027 +0.331493 0.325813 0.322027 0.316347 0.310667 0.314453 0.3296 0.350427 +0.358 0.333387 0.316347 0.327707 0.331493 0.31824 0.3012 0.299307 +0.30688 0.316347 0.322027 0.303093 0.297413 0.316347 0.316347 0.314453 +0.32392 0.32392 0.33528 0.34096 0.308773 0.304987 0.316347 0.327707 +0.34664 0.34664 0.348533 0.350427 0.331493 0.32392 0.327707 0.32392 +0.333387 0.337173 0.337173 0.339067 0.344747 0.384507 0.475387 0.514526 +0.475387 0.37504 0.339067 0.339067 0.348533 0.36368 0.407227 0.498107 +0.535368 0.558105 0.578316 0.599158 0.610526 0.622526 0.656632 0.702105 +0.719158 0.714105 0.724211 0.700211 0.619368 0.548 0.522737 0.536 +0.526526 0.486747 0.464027 0.43752 0.405333 0.37504 0.35232 0.348533 +0.34096 0.327707 0.322027 0.325813 0.333387 0.331493 0.327707 0.322027 +0.31824 0.331493 0.339067 0.333387 0.331493 0.354213 0.407227 0.506316 +0.573263 0.688211 0.748211 0.675579 0.597263 0.547368 0.504421 0.48864 +0.577684 0.656632 0.566947 0.4432 0.4148 0.412907 0.399653 0.378827 +0.382613 0.393973 0.40344 0.458347 0.573895 0.633895 0.558105 0.473493 +0.467813 0.502526 0.524 0.532842 0.536 0.548 0.553053 0.541053 +0.524 0.506316 0.49432 0.496213 0.481067 0.47728 0.509474 0.535368 +0.561895 0.619368 0.734316 0.86 0.932 0.961684 0.968 0.969895 +0.974316 0.979368 0.985878 0.982286 0.985551 0.994041 0.992735 0.991429 +0.993388 0.993714 0.997633 1.00612 1.02278 1.0538 1.29889 1.61843 +1.78885 1.7569 1.59408 1.24411 1.03518 1.01331 1.00384 0.999592 +0.991755 0.986531 0.984245 0.974316 0.962947 0.976842 0.980653 0.983592 +0.992408 0.998286 1.00155 1.01167 1.01722 1.02082 1.02114 1.02343 +1.02669 1.02735 1.02376 1.01984 1.01886 1.01167 1.00318 0.995673 +0.983918 0.973684 0.959158 0.942737 0.936421 0.929474 0.908632 0.830316 +0.661053 0.542947 0.508842 0.475387 0.506947 0.515789 0.484853 0.441307 +0.422373 0.422373 0.456453 0.517053 0.548632 0.585263 0.604842 0.572 +0.536 0.557474 0.654737 0.753263 0.810105 0.833474 0.830947 0.800632 +0.709053 0.56 0.450773 0.46024 0.569474 0.718526 0.851789 0.921263 +0.866316 0.721684 0.568211 0.475387 0.429947 0.40344 0.39776 0.388293 +0.359893 0.339067 0.342853 0.35232 0.354213 0.361787 0.3864 0.367467 +0.33528 0.339067 0.358 0.373147 0.39208 0.418587 0.433733 0.40344 +0.395867 0.39776 0.39776 0.399653 0.405333 0.422373 0.445093 0.411013 +0.382613 0.38072 0.38072 0.38072 0.34664 0.327707 0.3296 0.333387 +0.361787 0.429947 0.43184 0.382613 0.40912 0.458347 0.462133 0.44888 +0.4432 0.429947 0.395867 0.358 0.327707 0.304987 0.325813 0.354213 +0.354213 0.367467 0.399653 0.382613 0.339067 0.31824 0.320133 0.322027 +0.32392 0.331493 0.342853 0.38072 0.418587 0.37504 0.314453 0.31824 +0.342853 0.34096 0.331493 0.3296 0.3296 0.342853 0.350427 0.344747 +0.350427 0.361787 0.384507 0.42048 0.382613 0.350427 0.361787 0.37504 +0.395867 0.401547 0.411013 0.42048 0.428053 0.422373 0.428053 0.424267 +0.418587 0.40344 0.3864 0.40344 0.469707 0.554316 0.698316 0.865053 +0.949684 0.964842 0.949684 0.941474 0.969895 0.990449 0.999265 1.00253 +1.00612 1.00873 1.00971 1.00743 1.00841 1.01102 1.01004 1.01265 +1.01331 1.01102 1.01069 1.01363 1.012 1.00939 1.00841 1.00906 +1.01135 1.01265 1.01069 1.01069 1.012 1.01069 1.00873 1.01069 +1.01331 1.012 1.01037 1.01069 1.00449 0.987184 0.966105 0.952842 +0.947158 0.945895 0.950316 0.973684 0.988816 0.953474 0.796842 0.603579 +0.473493 0.331493 0.23304 0.000933333 0.000886667 0.000793333 0.00082 0.000806667 +0.000726667 0.000766667 0.000806667 0.00076 0.000746667 0.000766667 0.000806667 0.000773333 +0.000713333 0.00072 0.00072 0.000706667 0.000693333 0.0007 0.000693333 0.000686667 +0.000686667 0.000693333 0.0007 0.000706667 0.000686667 0.00068 0.000706667 0.000706667 +0.00072 0.000713333 0.000713333 0.00072 0.000726667 0.000713333 0.000693333 0.000686667 +0.000673333 0.00068 0.00068 0.0007 0.000693333 0.000686667 0.00068 0.000666667 +0.000673333 0.00068 0.00076 0.00096 0.265227 0.2728 0.22736 0.0009 +0.00082 0.00078 0.000813333 0.000906667 0.242507 0.282267 0.246293 0.00088 +0.00092 0.270907 0.32392 0.26712 0.216 0.303093 0.562526 0.803789 +0.98 0.992082 0.972421 0.950947 0.946526 0.954737 0.977474 0.993388 +1.00678 1.012 1.01331 1.01069 1.00873 1.00971 1.01004 1.012 +1.01004 1.00057 0.991755 0.995347 1.00645 1.01037 1.01004 1.01135 +1.01069 1.01004 1.00776 1.00449 1.0058 1.0058 1.00449 1.0009 +0.996 0.992735 0.992082 0.991102 0.983918 0.941474 0.829053 0.675579 +0.548 0.462133 0.416693 0.399653 0.390187 0.39208 0.38072 0.36368 +0.356107 0.344747 0.350427 0.350427 0.337173 0.325813 0.331493 0.33528 +0.337173 0.32392 0.316347 0.31824 0.316347 0.316347 0.333387 0.365573 +0.358 0.320133 0.299307 0.303093 0.3012 0.303093 0.30688 0.31256 +0.31256 0.316347 0.327707 0.310667 0.303093 0.316347 0.325813 0.327707 +0.337173 0.34096 0.356107 0.359893 0.3296 0.320133 0.3296 0.3296 +0.32392 0.322027 0.344747 0.359893 0.344747 0.33528 0.331493 0.32392 +0.33528 0.344747 0.348533 0.35232 0.359893 0.38072 0.4432 0.522105 +0.525895 0.45456 0.38072 0.38072 0.40912 0.462133 0.518316 0.563158 +0.615579 0.642737 0.662316 0.684421 0.698316 0.729895 0.792421 0.851789 +0.858737 0.796211 0.713474 0.627579 0.554316 0.532842 0.549263 0.554947 +0.513263 0.458347 0.475387 0.42048 0.356107 0.350427 0.348533 0.339067 +0.337173 0.34096 0.333387 0.322027 0.320133 0.327707 0.322027 0.30688 +0.31256 0.327707 0.34096 0.331493 0.31256 0.34096 0.429947 0.515158 +0.592842 0.717895 0.729263 0.597263 0.506947 0.416693 0.348533 0.33528 +0.520211 0.651579 0.609895 0.502526 0.435627 0.416693 0.399653 0.382613 +0.3864 0.412907 0.43184 0.475387 0.549263 0.604842 0.565053 0.484853 +0.416693 0.416693 0.441307 0.467813 0.498107 0.518947 0.539789 0.543579 +0.521474 0.481067 0.44888 0.4432 0.4432 0.4716 0.510105 0.529684 +0.570737 0.683158 0.836 0.933263 0.960421 0.968 0.970526 0.972421 +0.979368 0.979368 0.985551 0.988163 0.993714 0.999592 0.99698 0.99698 +1.00024 1.00482 1.0182 1.04302 1.14825 1.39932 1.72799 2.00492 +2.09622 2.08709 1.99122 1.58495 1.08891 1.0231 1.00971 1.00351 +0.996327 0.993388 0.994041 0.983265 0.957895 0.952842 0.949684 0.961684 +0.977474 0.983592 0.987837 0.995347 1.00024 1.00514 1.00678 1.00873 +1.01233 1.01331 1.00678 1.00547 1.0022 0.991755 0.982286 0.969895 +0.947158 0.940211 0.937053 0.930105 0.930105 0.926316 0.908632 0.813895 +0.633263 0.524 0.492427 0.464027 0.498107 0.508842 0.48864 0.450773 +0.445093 0.48864 0.541684 0.59979 0.620632 0.603579 0.566316 0.520842 +0.47728 0.539158 0.671158 0.772211 0.841053 0.911158 0.955368 0.890316 +0.682526 0.473493 0.293627 0.291733 0.4716 0.633895 0.792421 0.906105 +0.889684 0.762105 0.589053 0.462133 0.407227 0.390187 0.407227 0.42616 +0.407227 0.36368 0.342853 0.34096 0.35232 0.36936 0.36936 0.32392 +0.30688 0.356107 0.384507 0.388293 0.39208 0.382613 0.359893 0.33528 +0.34664 0.36368 0.390187 0.39208 0.36936 0.371253 0.411013 0.399653 +0.378827 0.376933 0.373147 0.365573 0.342853 0.320133 0.331493 0.342853 +0.36368 0.433733 0.42616 0.35232 0.344747 0.36936 0.407227 0.469707 +0.498107 0.429947 0.356107 0.331493 0.331493 0.327707 0.320133 0.32392 +0.331493 0.36936 0.40912 0.382613 0.34096 0.322027 0.320133 0.310667 +0.31256 0.344747 0.384507 0.433733 0.435627 0.36368 0.331493 0.33528 +0.327707 0.308773 0.320133 0.32392 0.327707 0.35232 0.373147 0.358 +0.33528 0.33528 0.354213 0.388293 0.382613 0.384507 0.39208 0.384507 +0.39208 0.39776 0.40912 0.4148 0.422373 0.416693 0.39776 0.373147 +0.38072 0.393973 0.384507 0.3864 0.467813 0.56 0.710316 0.881474 +0.959789 0.969263 0.952842 0.949053 0.976211 0.991755 0.999265 1.00155 +1.00547 1.00808 1.00906 1.00971 1.01167 1.00939 1.00416 1.0071 +1.01167 1.01135 1.00906 1.00873 1.00906 1.01102 1.01037 1.00939 +1.01004 1.012 1.01069 1.01004 1.01135 1.01265 1.01069 1.01167 +1.01265 1.01167 1.01004 1.00612 0.99502 0.975579 0.949684 0.941474 +0.942105 0.949684 0.963579 0.984245 0.984898 0.882105 0.680632 0.529684 +0.411013 0.293627 0.000906667 0.000806667 0.00086 0.000806667 0.000786667 0.00082 +0.00076 0.00072 0.000753333 0.000773333 0.000766667 0.00074 0.00076 0.000806667 +0.00072 0.000706667 0.000733333 0.000746667 0.000713333 0.000726667 0.000713333 0.000713333 +0.000713333 0.000706667 0.000693333 0.000713333 0.00068 0.000686667 0.000693333 0.000686667 +0.000686667 0.000706667 0.00072 0.000706667 0.000726667 0.000713333 0.000693333 0.0007 +0.00072 0.00074 0.000726667 0.000713333 0.000706667 0.00072 0.000706667 0.000693333 +0.00068 0.000706667 0.000713333 0.000833333 0.223573 0.263333 0.251973 0.22736 +0.000966667 0.000926667 0.000973333 0.23304 0.265227 0.265227 0.216 0.000873333 +0.000986667 0.293627 0.322027 0.246293 0.000913333 0.246293 0.513895 0.736842 +0.948421 0.99502 0.981633 0.957263 0.947789 0.952842 0.969895 0.989469 +1.00449 1.01102 1.01265 1.01135 1.00906 1.00808 1.00873 1.01167 +1.01037 1.00449 0.993388 0.990449 1.00122 1.00906 1.01102 1.01265 +1.01331 1.01037 1.00776 1.0058 1.00514 1.00547 1.00449 0.999918 +0.994694 0.993388 0.993714 0.993061 0.987837 0.964211 0.876421 0.725474 +0.580211 0.498107 0.416693 0.388293 0.37504 0.38072 0.38072 0.365573 +0.354213 0.342853 0.348533 0.365573 0.365573 0.356107 0.350427 0.34096 +0.333387 0.327707 0.32392 0.337173 0.342853 0.34096 0.359893 0.3864 +0.36936 0.310667 0.287947 0.291733 0.291733 0.308773 0.34664 0.350427 +0.320133 0.316347 0.331493 0.322027 0.29552 0.303093 0.331493 0.325813 +0.331493 0.337173 0.339067 0.348533 0.34096 0.354213 0.365573 0.333387 +0.308773 0.310667 0.337173 0.365573 0.356107 0.327707 0.310667 0.297413 +0.3012 0.314453 0.325813 0.34664 0.36368 0.36368 0.395867 0.505684 +0.543579 0.544842 0.534105 0.540421 0.562526 0.598526 0.647158 0.696421 +0.731789 0.742526 0.744421 0.739368 0.747579 0.824632 0.927579 0.980327 +0.945895 0.796842 0.637053 0.544211 0.507579 0.524 0.566947 0.558105 +0.47728 0.399653 0.45456 0.42616 0.35232 0.339067 0.350427 0.373147 +0.390187 0.384507 0.359893 0.327707 0.310667 0.316347 0.314453 0.29552 +0.304987 0.320133 0.337173 0.354213 0.322027 0.34096 0.43752 0.514526 +0.595368 0.724842 0.703368 0.542947 0.367467 0.322027 0.303093 0.320133 +0.503158 0.645895 0.665474 0.571368 0.530947 0.505684 0.446987 0.422373 +0.435627 0.439413 0.424267 0.4432 0.501895 0.534737 0.541053 0.504421 +0.429947 0.411013 0.416693 0.412907 0.40912 0.433733 0.492427 0.521474 +0.523368 0.503158 0.47728 0.452667 0.43184 0.458347 0.498107 0.515789 +0.574526 0.741263 0.911789 0.972421 0.975579 0.971158 0.972421 0.978105 +0.981959 0.98098 0.986857 0.994041 1.00155 1.00449 1.00678 1.01494 +1.0231 1.03878 1.1376 1.34606 1.50431 1.65191 1.85428 2.02774 +2.046 2.04448 2.0247 1.7432 1.24716 1.03616 1.01559 1.01037 +1.00155 0.997306 0.998286 0.993061 0.980653 0.961053 0.941474 0.937684 +0.936421 0.943368 0.965474 0.98 0.98098 0.987184 0.991102 0.988816 +0.992082 0.992735 0.984898 0.986204 0.981306 0.963579 0.947789 0.933263 +0.918105 0.914947 0.917474 0.92 0.926316 0.926316 0.905474 0.789895 +0.601684 0.509474 0.496213 0.48296 0.469707 0.469707 0.45456 0.45456 +0.496213 0.541053 0.611158 0.647158 0.614947 0.553053 0.506947 0.4432 +0.424267 0.537263 0.678737 0.758316 0.786737 0.841684 0.914316 0.862526 +0.653474 0.462133 0.286053 0.236827 0.356107 0.572 0.744421 0.895368 +0.902316 0.769684 0.584632 0.446987 0.393973 0.365573 0.3864 0.43752 +0.43752 0.382613 0.354213 0.367467 0.371253 0.361787 0.337173 0.304987 +0.303093 0.36368 0.416693 0.446987 0.46592 0.456453 0.382613 0.32392 +0.320133 0.325813 0.35232 0.388293 0.38072 0.36368 0.367467 0.36936 +0.365573 0.356107 0.359893 0.371253 0.358 0.320133 0.316347 0.339067 +0.35232 0.384507 0.367467 0.327707 0.316347 0.322027 0.350427 0.42616 +0.490533 0.43184 0.33528 0.314453 0.320133 0.32392 0.316347 0.31256 +0.32392 0.354213 0.36368 0.333387 0.322027 0.322027 0.320133 0.314453 +0.322027 0.358 0.412907 0.46592 0.43184 0.342853 0.3296 0.348533 +0.331493 0.308773 0.32392 0.322027 0.314453 0.34096 0.37504 0.359893 +0.333387 0.320133 0.322027 0.34096 0.348533 0.388293 0.416693 0.405333 +0.384507 0.382613 0.433733 0.490533 0.496213 0.445093 0.39208 0.359893 +0.358 0.37504 0.390187 0.405333 0.467813 0.564421 0.730526 0.901053 +0.968 0.971789 0.956 0.962947 0.985551 0.996327 0.999265 0.999918 +1.00678 1.00906 1.00971 1.00939 1.01004 1.00808 1.00253 1.00449 +1.00808 1.01004 1.01102 1.01102 1.0071 1.0071 1.00939 1.01233 +1.01069 1.00971 1.00841 1.00971 1.00971 1.01037 1.01298 1.01461 +1.012 1.00743 1.00547 0.997959 0.981633 0.953474 0.945895 0.946526 +0.945263 0.955368 0.980653 0.98751 0.939579 0.767789 0.581474 0.469707 +0.34664 0.23872 0.000846667 0.000753333 0.000806667 0.000873333 0.00082 0.00078 +0.000773333 0.000766667 0.000713333 0.00072 0.00078 0.000766667 0.000693333 0.00078 +0.000786667 0.000726667 0.000693333 0.000726667 0.000733333 0.00072 0.000706667 0.000713333 +0.000713333 0.00072 0.00072 0.000713333 0.000693333 0.000713333 0.000726667 0.00072 +0.000713333 0.000726667 0.00072 0.0007 0.0007 0.000686667 0.00068 0.0007 +0.000706667 0.00068 0.00068 0.000673333 0.000686667 0.000706667 0.000713333 0.000686667 +0.000693333 0.00072 0.00072 0.00076 0.000906667 0.23304 0.251973 0.25008 +0.236827 0.22736 0.2444 0.259547 0.251973 0.22168 0.00086 0.000833333 +0.225467 0.30688 0.299307 0.22168 0.000906667 0.22736 0.429947 0.66421 +0.898526 0.992735 0.985878 0.961684 0.949684 0.951579 0.966105 0.985551 +1.00122 1.01037 1.012 1.01102 1.01004 1.00906 1.00841 1.01004 +1.01037 1.00808 0.999918 0.991102 0.997633 1.00743 1.01135 1.01363 +1.01363 1.00939 1.00678 1.00645 1.0058 1.00612 1.00514 1.00122 +0.994367 0.991429 0.991755 0.992408 0.98849 0.978737 0.916211 0.780421 +0.622526 0.516421 0.424267 0.393973 0.388293 0.393973 0.393973 0.378827 +0.36368 0.35232 0.361787 0.390187 0.407227 0.382613 0.359893 0.34664 +0.33528 0.333387 0.337173 0.34664 0.354213 0.344747 0.356107 0.38072 +0.36368 0.314453 0.29552 0.293627 0.291733 0.310667 0.35232 0.35232 +0.32392 0.325813 0.327707 0.310667 0.291733 0.3012 0.322027 0.322027 +0.32392 0.331493 0.3296 0.339067 0.371253 0.411013 0.429947 0.378827 +0.339067 0.333387 0.348533 0.373147 0.361787 0.32392 0.3012 0.29552 +0.293627 0.304987 0.32392 0.348533 0.361787 0.361787 0.38072 0.469707 +0.554947 0.631368 0.686947 0.704632 0.714105 0.74 0.769053 0.785474 +0.783579 0.766526 0.731158 0.681263 0.673053 0.798105 0.954737 0.997959 +0.952211 0.745053 0.561263 0.475387 0.433733 0.503158 0.547368 0.536 +0.446987 0.378827 0.401547 0.412907 0.378827 0.358 0.36936 0.4148 +0.44888 0.429947 0.38072 0.34096 0.310667 0.3012 0.304987 0.304987 +0.32392 0.327707 0.33528 0.36936 0.367467 0.373147 0.4148 0.486747 +0.575789 0.700211 0.675579 0.529053 0.350427 0.32392 0.359893 0.43752 +0.548 0.694526 0.783579 0.758316 0.711579 0.621895 0.530947 0.469707 +0.467813 0.456453 0.40912 0.407227 0.418587 0.452667 0.504421 0.5 +0.441307 0.411013 0.416693 0.412907 0.416693 0.44888 0.469707 0.48864 +0.510105 0.516421 0.514526 0.500632 0.467813 0.464027 0.479173 0.516421 +0.609895 0.807579 0.957895 0.985878 0.984245 0.976842 0.972421 0.976211 +0.980653 0.983918 0.988816 0.996 1.00612 1.01494 1.03029 1.07369 +1.27303 1.47692 1.67777 1.79646 1.77363 1.69908 1.69908 1.77972 +1.83146 1.90754 1.93949 1.71125 1.31563 1.05608 1.03127 1.02702 +1.01624 1.00906 1.00678 1.0022 0.994694 0.982612 0.962316 0.945895 +0.926947 0.919368 0.932 0.941474 0.942105 0.954105 0.957263 0.949684 +0.961053 0.962316 0.952211 0.956 0.945895 0.934526 0.930737 0.925684 +0.925684 0.921895 0.919368 0.922526 0.926316 0.924421 0.892211 0.755789 +0.570737 0.496213 0.48296 0.464027 0.441307 0.43184 0.441307 0.475387 +0.523368 0.573895 0.604842 0.583368 0.528421 0.458347 0.412907 0.399653 +0.424267 0.539158 0.678105 0.743158 0.703368 0.675579 0.760211 0.789263 +0.636421 0.496213 0.31256 0.240613 0.322027 0.545474 0.729263 0.896 +0.901684 0.766526 0.582737 0.452667 0.393973 0.36936 0.37504 0.42048 +0.458347 0.416693 0.390187 0.418587 0.412907 0.36368 0.31824 0.30688 +0.342853 0.39776 0.4432 0.508211 0.531579 0.529053 0.4716 0.36936 +0.344747 0.333387 0.34664 0.382613 0.399653 0.3864 0.367467 0.365573 +0.36368 0.337173 0.339067 0.371253 0.382613 0.342853 0.322027 0.344747 +0.34664 0.359893 0.354213 0.320133 0.316347 0.320133 0.331493 0.367467 +0.452667 0.452667 0.358 0.314453 0.31256 0.316347 0.310667 0.32392 +0.331493 0.337173 0.34664 0.333387 0.322027 0.30688 0.303093 0.310667 +0.320133 0.34096 0.393973 0.464027 0.43184 0.350427 0.327707 0.320133 +0.320133 0.325813 0.344747 0.354213 0.337173 0.32392 0.339067 0.339067 +0.333387 0.32392 0.32392 0.337173 0.339067 0.35232 0.37504 0.395867 +0.38072 0.38072 0.4148 0.45456 0.46024 0.424267 0.388293 0.38072 +0.382613 0.38072 0.3864 0.395867 0.464027 0.575158 0.753895 0.916211 +0.974947 0.974316 0.962947 0.974316 0.989469 0.997959 1.0009 1.0009 +1.00547 1.00743 1.00939 1.00939 1.00873 1.00841 1.0058 1.00873 +1.01037 1.00841 1.00906 1.01167 1.00906 1.0071 1.00873 1.01069 +1.00971 1.00906 1.0058 1.00645 1.00873 1.00873 1.01102 1.01494 +1.01396 1.00776 0.999592 0.986204 0.962316 0.944 0.941474 0.947158 +0.950316 0.965474 0.986857 0.978105 0.851158 0.646526 0.508842 0.399653 +0.287947 0.00092 0.000846667 0.000813333 0.00076 0.000813333 0.00084 0.000786667 +0.00076 0.000786667 0.00078 0.0007 0.000733333 0.000786667 0.000706667 0.000706667 +0.000793333 0.00074 0.000706667 0.000713333 0.00074 0.000713333 0.000706667 0.0007 +0.0007 0.0007 0.0007 0.0007 0.000686667 0.000693333 0.000693333 0.0007 +0.0007 0.000713333 0.000713333 0.000726667 0.000706667 0.000706667 0.000713333 0.000733333 +0.00074 0.000726667 0.00072 0.000686667 0.000673333 0.000666667 0.00068 0.000673333 +0.00068 0.0007 0.000706667 0.00072 0.000786667 0.000886667 0.000993333 0.234933 +0.242507 0.23872 0.242507 0.236827 0.000986667 0.00088 0.000813333 0.000873333 +0.253867 0.314453 0.270907 0.000966667 0.000906667 0.000986667 0.33528 0.589684 +0.830316 0.985551 0.991102 0.968 0.952211 0.949053 0.959789 0.981633 +0.997306 1.00906 1.012 1.00971 1.0071 1.00808 1.00776 1.00873 +1.01037 1.01167 1.00678 0.995347 0.99698 1.0071 1.00971 1.012 +1.01167 1.00873 1.00416 1.00188 1.00155 1.00449 1.00678 1.00384 +0.996327 0.991102 0.990449 0.993061 0.990449 0.983265 0.947158 0.838526 +0.679368 0.549895 0.46024 0.405333 0.393973 0.393973 0.382613 0.376933 +0.371253 0.36936 0.376933 0.401547 0.422373 0.39208 0.365573 0.358 +0.350427 0.34664 0.342853 0.333387 0.3296 0.327707 0.337173 0.348533 +0.33528 0.30688 0.30688 0.310667 0.30688 0.320133 0.348533 0.339067 +0.320133 0.325813 0.325813 0.31256 0.3012 0.304987 0.322027 0.331493 +0.32392 0.333387 0.344747 0.359893 0.388293 0.416693 0.43184 0.393973 +0.367467 0.36936 0.371253 0.373147 0.358 0.331493 0.316347 0.314453 +0.320133 0.325813 0.34664 0.38072 0.411013 0.46592 0.509474 0.536632 +0.594737 0.690105 0.779789 0.803789 0.786737 0.780421 0.771579 0.748842 +0.718526 0.676842 0.614947 0.553684 0.558105 0.719158 0.908 0.971158 +0.887158 0.673053 0.519579 0.433733 0.4148 0.45456 0.503789 0.486747 +0.43184 0.4148 0.39776 0.395867 0.405333 0.399653 0.407227 0.441307 +0.464027 0.424267 0.367467 0.3296 0.30688 0.304987 0.30688 0.31256 +0.342853 0.339067 0.34096 0.384507 0.412907 0.405333 0.393973 0.429947 +0.539789 0.635158 0.633263 0.548632 0.456453 0.424267 0.508842 0.565684 +0.644 0.774105 0.902947 0.954105 0.929474 0.788 0.607368 0.507579 +0.46592 0.481067 0.435627 0.411013 0.405333 0.40912 0.4432 0.46024 +0.441307 0.42048 0.422373 0.422373 0.435627 0.462133 0.446987 0.428053 +0.452667 0.510105 0.530316 0.525895 0.512 0.505053 0.505684 0.533474 +0.661684 0.874526 0.983918 0.990776 0.987184 0.981306 0.975579 0.975579 +0.983265 0.990449 0.99502 1.00024 1.00971 1.028 1.07522 1.39171 +1.77059 1.98209 1.95927 1.81015 1.70973 1.66256 1.58039 1.51192 +1.49974 1.61234 1.7782 1.68386 1.41301 1.21825 1.13152 1.10413 +1.04955 1.0329 1.02506 1.01559 1.0071 0.995673 0.985878 0.974316 +0.950947 0.932632 0.923158 0.920632 0.924421 0.931368 0.925053 0.916842 +0.924421 0.926947 0.928842 0.933895 0.929474 0.927579 0.937053 0.950947 +0.966105 0.961053 0.948421 0.936421 0.92821 0.926947 0.885895 0.729895 +0.549895 0.473493 0.44888 0.43184 0.43184 0.44888 0.498107 0.516421 +0.538526 0.553684 0.537263 0.5 0.4148 0.3864 0.388293 0.39208 +0.435627 0.543579 0.671158 0.729263 0.652842 0.556211 0.626316 0.735579 +0.656632 0.522737 0.36368 0.3012 0.37504 0.558105 0.738105 0.895368 +0.897263 0.770316 0.591579 0.452667 0.395867 0.382613 0.38072 0.418587 +0.479173 0.47728 0.505053 0.520842 0.479173 0.38072 0.33528 0.322027 +0.376933 0.435627 0.462133 0.525895 0.570105 0.572 0.520211 0.42616 +0.38072 0.367467 0.36936 0.373147 0.38072 0.36936 0.34664 0.354213 +0.365573 0.339067 0.31824 0.367467 0.422373 0.393973 0.337173 0.33528 +0.333387 0.359893 0.367467 0.327707 0.310667 0.314453 0.31824 0.327707 +0.401547 0.46024 0.407227 0.339067 0.3296 0.348533 0.339067 0.333387 +0.314453 0.299307 0.310667 0.33528 0.348533 0.337173 0.320133 0.308773 +0.304987 0.337173 0.40912 0.49432 0.467813 0.393973 0.371253 0.365573 +0.367467 0.365573 0.356107 0.35232 0.35232 0.337173 0.325813 0.31256 +0.32392 0.32392 0.333387 0.337173 0.325813 0.327707 0.34096 0.371253 +0.36936 0.384507 0.40344 0.395867 0.382613 0.36936 0.367467 0.393973 +0.407227 0.393973 0.36936 0.361787 0.464027 0.600421 0.794316 0.937053 +0.976842 0.975579 0.969263 0.981959 0.991755 0.99698 1.00188 1.00351 +1.00743 1.00873 1.00841 1.00971 1.01037 1.00971 1.00841 1.01004 +1.01037 1.00743 1.00776 1.00906 1.00971 1.01167 1.01167 1.00743 +1.00351 1.00743 1.00776 1.00547 1.00906 1.01167 1.01135 1.01135 +1.00971 1.00416 0.992408 0.970526 0.945895 0.941474 0.938316 0.942105 +0.956632 0.983265 0.987837 0.912421 0.728632 0.556211 0.43184 0.34096 +0.23872 0.00086 0.0008 0.000833333 0.00078 0.000746667 0.000786667 0.000806667 +0.000773333 0.00076 0.0008 0.000753333 0.00072 0.00076 0.000786667 0.000713333 +0.00072 0.000746667 0.000713333 0.00068 0.000746667 0.000746667 0.000753333 0.000733333 +0.00072 0.000686667 0.000666667 0.000693333 0.0007 0.000713333 0.000706667 0.000693333 +0.00068 0.00068 0.000686667 0.000706667 0.000693333 0.000706667 0.0007 0.000706667 +0.000733333 0.00074 0.000726667 0.000726667 0.000726667 0.000706667 0.000693333 0.000706667 +0.000693333 0.000706667 0.00072 0.000706667 0.000726667 0.000773333 0.00084 0.000906667 +0.000986667 0.000993333 0.00096 0.0009 0.00082 0.00078 0.00078 0.000926667 +0.27848 0.31256 0.248187 0.000946667 0.00094 0.216 0.280373 0.527158 +0.752632 0.960421 0.995673 0.978105 0.953474 0.943368 0.949053 0.972421 +0.991429 1.00514 1.01069 1.00612 1.0009 1.00416 1.00971 1.01037 +1.01037 1.01135 1.00906 0.998612 0.993061 1.00286 1.00906 1.01037 +1.012 1.00971 1.00514 1.0022 0.999918 1.0022 1.00514 1.00449 +0.999265 0.993714 0.991102 0.99502 0.994694 0.986204 0.962947 0.884632 +0.743789 0.59979 0.515789 0.441307 0.401547 0.393973 0.388293 0.3864 +0.382613 0.373147 0.367467 0.382613 0.401547 0.388293 0.36936 0.3864 +0.38072 0.358 0.34096 0.327707 0.32392 0.322027 0.333387 0.333387 +0.32392 0.308773 0.314453 0.320133 0.322027 0.337173 0.354213 0.344747 +0.327707 0.325813 0.337173 0.344747 0.348533 0.344747 0.331493 0.331493 +0.322027 0.325813 0.333387 0.342853 0.344747 0.34664 0.350427 0.342853 +0.34664 0.356107 0.354213 0.350427 0.348533 0.34664 0.333387 0.331493 +0.3296 0.327707 0.34096 0.384507 0.462133 0.529684 0.56 0.577053 +0.613053 0.672421 0.739368 0.755158 0.722947 0.686316 0.647158 0.606105 +0.570105 0.538526 0.501895 0.428053 0.507579 0.661684 0.830947 0.878947 +0.777263 0.594737 0.500632 0.4432 0.411013 0.395867 0.38072 0.365573 +0.382613 0.40912 0.39776 0.39208 0.40344 0.407227 0.428053 0.486747 +0.48864 0.401547 0.331493 0.322027 0.316347 0.3296 0.322027 0.314453 +0.31256 0.31824 0.331493 0.361787 0.3864 0.365573 0.34664 0.373147 +0.5 0.557474 0.574526 0.559368 0.529684 0.526526 0.590947 0.679368 +0.729895 0.787368 0.894737 0.982939 0.983918 0.848632 0.649684 0.524632 +0.469707 0.5 0.462133 0.429947 0.433733 0.42616 0.441307 0.452667 +0.435627 0.42616 0.433733 0.441307 0.452667 0.42616 0.401547 0.401547 +0.424267 0.498107 0.527789 0.529684 0.515789 0.512 0.523368 0.565053 +0.718526 0.920632 0.989469 0.989143 0.985551 0.983592 0.984245 0.984571 +0.990122 0.996327 1.00318 1.00906 1.01722 1.03943 1.18629 1.588 +1.95471 1.97753 1.77211 1.58039 1.5104 1.53626 1.53018 1.4754 +1.37802 1.35063 1.48605 1.56365 1.48301 1.37954 1.33237 1.30041 +1.22433 1.14369 1.08587 1.05412 1.03878 1.0231 1.00939 0.992735 +0.983592 0.964842 0.933895 0.919368 0.920632 0.925053 0.916842 0.906737 +0.907368 0.908 0.913053 0.921895 0.92379 0.935158 0.968 0.98751 +0.998286 0.996653 0.987184 0.969895 0.946526 0.934526 0.882737 0.706526 +0.539158 0.47728 0.433733 0.422373 0.446987 0.48296 0.517684 0.524632 +0.513263 0.498107 0.446987 0.401547 0.382613 0.376933 0.38072 0.390187 +0.452667 0.556211 0.661053 0.697053 0.618105 0.518316 0.565053 0.702737 +0.699579 0.580842 0.503158 0.446987 0.509474 0.600421 0.750737 0.863789 +0.863158 0.768421 0.609263 0.469707 0.390187 0.395867 0.429947 0.46024 +0.501263 0.539789 0.616842 0.633895 0.537263 0.399653 0.365573 0.34664 +0.36368 0.401547 0.42616 0.522737 0.589684 0.609895 0.554947 0.473493 +0.39776 0.388293 0.36936 0.337173 0.337173 0.322027 0.31256 0.34096 +0.37504 0.348533 0.3296 0.39776 0.484853 0.456453 0.378827 0.34664 +0.342853 0.348533 0.348533 0.333387 0.331493 0.34664 0.34664 0.342853 +0.358 0.40912 0.42048 0.371253 0.344747 0.361787 0.354213 0.34096 +0.327707 0.310667 0.31824 0.33528 0.342853 0.34664 0.33528 0.310667 +0.327707 0.388293 0.456453 0.490533 0.452667 0.399653 0.418587 0.486747 +0.484853 0.416693 0.36936 0.350427 0.339067 0.34664 0.359893 0.337173 +0.327707 0.322027 0.322027 0.31824 0.314453 0.32392 0.33528 0.37504 +0.376933 0.390187 0.401547 0.401547 0.411013 0.393973 0.36368 0.36936 +0.388293 0.393973 0.37504 0.361787 0.4716 0.630105 0.835368 0.955368 +0.98098 0.980653 0.974316 0.982939 0.994041 0.999265 1.00286 1.00318 +1.00841 1.01037 1.00939 1.00743 1.00678 1.00971 1.01102 1.01069 +1.00841 1.00645 1.00743 1.00906 1.01037 1.01167 1.01135 1.00776 +1.00122 1.00482 1.00776 1.00743 1.00939 1.01004 1.01069 1.01004 +1.00351 0.993388 0.981633 0.959789 0.942737 0.938947 0.941474 0.953474 +0.971789 0.986204 0.959789 0.806316 0.613053 0.502526 0.376933 0.2728 +0.000953333 0.000866667 0.000786667 0.00078 0.000793333 0.000766667 0.000753333 0.000766667 +0.000786667 0.00074 0.000733333 0.00076 0.000746667 0.000726667 0.000766667 0.00076 +0.00072 0.000726667 0.00076 0.00072 0.00068 0.000693333 0.000726667 0.000746667 +0.000746667 0.000713333 0.000706667 0.0007 0.0007 0.000706667 0.000713333 0.000733333 +0.000726667 0.000706667 0.000706667 0.000706667 0.0007 0.00072 0.000713333 0.000706667 +0.000706667 0.000686667 0.000666667 0.000686667 0.000706667 0.0007 0.000693333 0.000726667 +0.00072 0.000726667 0.00072 0.000693333 0.00072 0.000753333 0.000766667 0.000786667 +0.000833333 0.00086 0.000853333 0.00082 0.00078 0.000773333 0.000806667 0.000966667 +0.282267 0.286053 0.22168 0.000946667 0.000993333 0.231147 0.26712 0.45456 +0.673053 0.906737 0.994694 0.985878 0.960421 0.944632 0.945895 0.964842 +0.986857 1.00122 1.00776 1.00253 0.996 1.0009 1.00873 1.01004 +1.01004 1.00939 1.00873 1.00351 0.994367 0.998612 1.00841 1.01102 +1.012 1.01069 1.00808 1.00612 1.00449 1.00286 1.00384 1.00384 +1.00122 0.997306 0.994694 0.997959 0.999592 0.991102 0.973684 0.925053 +0.816421 0.664842 0.549263 0.479173 0.4148 0.399653 0.40344 0.412907 +0.424267 0.424267 0.405333 0.407227 0.418587 0.405333 0.395867 0.429947 +0.418587 0.36368 0.333387 0.32392 0.327707 0.327707 0.325813 0.32392 +0.31824 0.320133 0.331493 0.331493 0.331493 0.342853 0.339067 0.348533 +0.354213 0.33528 0.33528 0.361787 0.38072 0.356107 0.327707 0.32392 +0.34096 0.348533 0.331493 0.327707 0.322027 0.316347 0.3296 0.33528 +0.333387 0.337173 0.33528 0.333387 0.333387 0.34664 0.34664 0.339067 +0.325813 0.314453 0.33528 0.382613 0.46592 0.522105 0.544842 0.564421 +0.582737 0.606105 0.628842 0.619368 0.573895 0.532842 0.504421 0.446987 +0.405333 0.39776 0.3864 0.373147 0.467813 0.611789 0.745684 0.776 +0.669895 0.532842 0.446987 0.416693 0.3864 0.358 0.322027 0.31824 +0.348533 0.373147 0.38072 0.388293 0.384507 0.36936 0.411013 0.484853 +0.462133 0.36368 0.30688 0.308773 0.325813 0.339067 0.331493 0.308773 +0.297413 0.314453 0.325813 0.325813 0.337173 0.333387 0.31824 0.33528 +0.416693 0.503158 0.530947 0.556211 0.553684 0.570737 0.673684 0.757053 +0.730526 0.693895 0.743789 0.839158 0.856211 0.751368 0.606737 0.516421 +0.464027 0.498107 0.48296 0.456453 0.473493 0.467813 0.46592 0.4432 +0.416693 0.424267 0.439413 0.450773 0.45456 0.407227 0.3864 0.405333 +0.43184 0.47728 0.513895 0.519579 0.503158 0.5 0.524 0.592842 +0.774105 0.950316 0.988163 0.986531 0.984245 0.985551 0.989143 0.994041 +0.998939 1.00253 1.01102 1.02049 1.028 1.04629 1.22586 1.63669 +1.94405 1.88015 1.67169 1.54083 1.42671 1.37193 1.39019 1.39932 +1.32932 1.25477 1.24564 1.28976 1.31259 1.29281 1.2639 1.22281 +1.20455 1.2076 1.19847 1.19086 1.1726 1.13456 1.05216 1.01886 +1.00253 0.989469 0.961053 0.933895 0.923158 0.924421 0.914947 0.904842 +0.906105 0.906737 0.906737 0.916211 0.921895 0.949053 0.989796 1.00449 +1.01102 1.01004 1.00286 0.992408 0.971789 0.936421 0.859368 0.671789 +0.525263 0.469707 0.429947 0.422373 0.458347 0.49432 0.505053 0.49432 +0.43184 0.40912 0.407227 0.3864 0.38072 0.38072 0.38072 0.39776 +0.49432 0.574526 0.657263 0.666105 0.582737 0.492427 0.521474 0.639579 +0.690105 0.614316 0.553053 0.539158 0.578316 0.674316 0.776632 0.818316 +0.810105 0.754526 0.616211 0.47728 0.38072 0.418587 0.48864 0.501895 +0.505684 0.582737 0.723579 0.744421 0.605474 0.501895 0.435627 0.40912 +0.376933 0.36936 0.382613 0.508211 0.592211 0.637684 0.596 0.513895 +0.422373 0.405333 0.3864 0.356107 0.331493 0.299307 0.310667 0.350427 +0.36936 0.361787 0.39208 0.4716 0.501895 0.458347 0.416693 0.393973 +0.384507 0.367467 0.350427 0.350427 0.361787 0.365573 0.354213 0.344747 +0.331493 0.35232 0.37504 0.350427 0.3296 0.33528 0.337173 0.350427 +0.36936 0.358 0.344747 0.337173 0.327707 0.325813 0.322027 0.310667 +0.350427 0.433733 0.462133 0.433733 0.39776 0.354213 0.3864 0.473493 +0.475387 0.412907 0.38072 0.378827 0.354213 0.348533 0.356107 0.354213 +0.34096 0.3296 0.32392 0.308773 0.304987 0.325813 0.333387 0.354213 +0.371253 0.373147 0.388293 0.4148 0.446987 0.439413 0.405333 0.382613 +0.36368 0.361787 0.36936 0.39208 0.509474 0.664842 0.864421 0.962316 +0.983265 0.984898 0.981306 0.981633 0.991429 0.999592 1.00351 1.00384 +1.00678 1.00743 1.00841 1.00841 1.00841 1.00776 1.00743 1.01037 +1.012 1.01004 1.00678 1.00678 1.01102 1.01037 1.00776 1.0058 +1.00351 1.00776 1.00808 1.0071 1.01037 1.01037 1.00873 1.00547 +0.996327 0.983592 0.962947 0.949053 0.944 0.943368 0.947789 0.967368 +0.984571 0.972421 0.863789 0.676842 0.530947 0.416693 0.308773 0.216 +0.000873333 0.000873333 0.00082 0.000766667 0.00076 0.00076 0.00076 0.00074 +0.000793333 0.0008 0.000753333 0.000726667 0.00076 0.00072 0.000726667 0.000753333 +0.000746667 0.0007 0.000693333 0.000753333 0.000706667 0.00068 0.000673333 0.000673333 +0.000673333 0.000666667 0.0007 0.000713333 0.000713333 0.000666667 0.000666667 0.000706667 +0.00072 0.000733333 0.000733333 0.000726667 0.00074 0.00074 0.000746667 0.00074 +0.00072 0.000713333 0.0007 0.000686667 0.00068 0.00068 0.000686667 0.0007 +0.00068 0.000693333 0.0007 0.0007 0.000726667 0.000733333 0.000706667 0.00072 +0.000733333 0.000733333 0.000766667 0.000786667 0.00078 0.000793333 0.000886667 0.246293 +0.297413 0.265227 0.22168 0.236827 0.26144 0.274693 0.297413 0.395867 +0.598526 0.831579 0.984571 0.990449 0.965474 0.945263 0.945263 0.960421 +0.984245 0.999265 1.0071 1.00416 0.997959 1.0022 1.00776 1.00873 +1.01037 1.01102 1.00873 1.00547 0.998612 0.99698 1.00645 1.01233 +1.01135 1.00971 1.01037 1.00841 1.00841 1.00612 1.00645 1.00645 +1.00384 1.00024 0.998612 1.0009 1.00547 1.0022 0.988163 0.958526 +0.880211 0.736842 0.585895 0.503789 0.445093 0.42616 0.424267 0.42616 +0.43752 0.441307 0.429947 0.43184 0.43184 0.424267 0.424267 0.46592 +0.450773 0.37504 0.327707 0.32392 0.33528 0.333387 0.327707 0.322027 +0.320133 0.325813 0.333387 0.3296 0.327707 0.337173 0.327707 0.350427 +0.367467 0.34096 0.339067 0.350427 0.354213 0.3296 0.32392 0.344747 +0.36368 0.384507 0.378827 0.36368 0.34664 0.34096 0.358 0.359893 +0.348533 0.342853 0.344747 0.36936 0.37504 0.36936 0.367467 0.344747 +0.320133 0.32392 0.35232 0.39776 0.464027 0.500632 0.508842 0.518316 +0.515158 0.510105 0.513895 0.506316 0.42616 0.358 0.348533 0.34096 +0.325813 0.339067 0.356107 0.348533 0.42616 0.566947 0.663579 0.676842 +0.592211 0.505684 0.4148 0.373147 0.354213 0.344747 0.327707 0.327707 +0.337173 0.339067 0.35232 0.36936 0.365573 0.358 0.42048 0.481067 +0.4148 0.32392 0.3012 0.3012 0.316347 0.331493 0.331493 0.31824 +0.31824 0.3296 0.325813 0.31256 0.3296 0.337173 0.322027 0.322027 +0.356107 0.40912 0.501263 0.537263 0.546737 0.603579 0.741263 0.784842 +0.693895 0.604842 0.574526 0.601684 0.617474 0.577053 0.513895 0.435627 +0.433733 0.467813 0.46592 0.456453 0.484853 0.486747 0.4716 0.441307 +0.4148 0.428053 0.44888 0.446987 0.4432 0.42048 0.405333 0.4148 +0.446987 0.46592 0.496213 0.514526 0.508842 0.479173 0.506316 0.589053 +0.801895 0.962947 0.985551 0.985224 0.983265 0.986531 0.993388 1.00416 +1.01069 1.01363 1.02212 1.03029 1.03649 1.0538 1.31107 1.74472 +1.96079 1.8771 1.67321 1.50887 1.36432 1.26998 1.2502 1.26542 +1.23651 1.19694 1.14369 1.10717 1.12239 1.10565 1.07674 1.05739 +1.05412 1.06152 1.09043 1.11782 1.19238 1.26846 1.23194 1.09652 +1.03518 1.00808 0.987184 0.964842 0.943368 0.935158 0.920632 0.911789 +0.909263 0.906105 0.908632 0.915579 0.926947 0.966737 0.999918 1.01233 +1.012 1.01135 1.00776 1.00122 0.98 0.932 0.831579 0.635789 +0.510737 0.445093 0.42616 0.439413 0.473493 0.46592 0.435627 0.42616 +0.395867 0.390187 0.411013 0.399653 0.395867 0.38072 0.37504 0.40912 +0.503158 0.584 0.657263 0.648421 0.555579 0.446987 0.475387 0.568842 +0.631368 0.593474 0.555579 0.565684 0.644 0.765263 0.813263 0.788632 +0.777895 0.742526 0.618737 0.48296 0.36368 0.388293 0.44888 0.44888 +0.469707 0.572632 0.697684 0.722316 0.642737 0.576421 0.536632 0.512632 +0.4432 0.382613 0.3864 0.490533 0.583368 0.653474 0.637684 0.549263 +0.450773 0.411013 0.399653 0.395867 0.367467 0.331493 0.337173 0.354213 +0.38072 0.411013 0.469707 0.498107 0.433733 0.36936 0.365573 0.365573 +0.361787 0.358 0.34664 0.356107 0.361787 0.344747 0.31824 0.327707 +0.34096 0.358 0.36936 0.350427 0.325813 0.314453 0.320133 0.350427 +0.38072 0.373147 0.34096 0.32392 0.322027 0.32392 0.350427 0.384507 +0.43752 0.45456 0.401547 0.373147 0.382613 0.359893 0.35232 0.36936 +0.359893 0.348533 0.358 0.36936 0.373147 0.365573 0.348533 0.35232 +0.339067 0.31256 0.327707 0.333387 0.325813 0.331493 0.342853 0.354213 +0.3864 0.378827 0.378827 0.40912 0.4432 0.446987 0.424267 0.407227 +0.388293 0.36368 0.361787 0.405333 0.536632 0.718526 0.896632 0.969263 +0.984245 0.984245 0.982286 0.984245 0.993061 0.998286 1.00024 1.00416 +1.01037 1.00971 1.0071 1.00841 1.01069 1.00939 1.00776 1.00808 +1.01004 1.01233 1.01102 1.00743 1.00906 1.00841 1.00873 1.00678 +1.0022 1.0071 1.01135 1.0071 1.00808 1.01004 1.0071 0.999265 +0.984898 0.968632 0.952211 0.942105 0.942737 0.948421 0.960421 0.979368 +0.980653 0.906105 0.732421 0.562526 0.452667 0.36368 0.248187 0.00086 +0.000826667 0.000846667 0.000833333 0.000793333 0.000766667 0.000753333 0.000786667 0.00078 +0.000753333 0.00078 0.00078 0.00072 0.000706667 0.000726667 0.00074 0.000726667 +0.00074 0.000733333 0.000686667 0.000753333 0.00072 0.000733333 0.000733333 0.000706667 +0.000693333 0.000693333 0.000713333 0.000706667 0.0007 0.00068 0.00068 0.000673333 +0.000693333 0.000706667 0.000693333 0.00068 0.000686667 0.000693333 0.000713333 0.0007 +0.0007 0.000713333 0.000733333 0.000726667 0.000713333 0.0007 0.000706667 0.000706667 +0.000706667 0.00072 0.000733333 0.000726667 0.000726667 0.00074 0.00074 0.00076 +0.000746667 0.000726667 0.00072 0.00072 0.000753333 0.0008 0.000966667 0.270907 +0.287947 0.242507 0.23304 0.27848 0.3012 0.30688 0.3296 0.390187 +0.547368 0.751368 0.953474 0.993714 0.972421 0.947158 0.943368 0.951579 +0.974947 0.994367 1.00612 1.00743 1.00449 1.00678 1.00841 1.00808 +1.01069 1.01135 1.00808 1.00678 1.00351 0.999918 1.00449 1.01298 +1.01396 1.01102 1.01233 1.01167 1.01004 1.0071 1.0058 1.00678 +1.00416 1.0009 1.0022 1.00514 1.01233 1.01788 1.01135 0.989469 +0.931368 0.811368 0.642737 0.523368 0.462133 0.450773 0.43752 0.42048 +0.411013 0.407227 0.399653 0.39208 0.40344 0.4148 0.4148 0.456453 +0.469707 0.412907 0.359893 0.354213 0.359893 0.342853 0.3296 0.322027 +0.32392 0.33528 0.34096 0.331493 0.3296 0.342853 0.331493 0.331493 +0.350427 0.344747 0.339067 0.333387 0.33528 0.34096 0.36368 0.36936 +0.35232 0.373147 0.399653 0.401547 0.388293 0.36368 0.354213 0.35232 +0.354213 0.356107 0.373147 0.441307 0.46024 0.416693 0.3864 0.354213 +0.34096 0.342853 0.354213 0.3864 0.439413 0.44888 0.43184 0.411013 +0.384507 0.367467 0.373147 0.3864 0.356107 0.3296 0.344747 0.331493 +0.304987 0.314453 0.331493 0.337173 0.393973 0.526526 0.587158 0.596 +0.549895 0.501263 0.40344 0.354213 0.34664 0.342853 0.337173 0.3296 +0.316347 0.304987 0.325813 0.342853 0.337173 0.35232 0.418587 0.490533 +0.428053 0.337173 0.310667 0.310667 0.31256 0.331493 0.350427 0.3296 +0.320133 0.32392 0.31256 0.31824 0.35232 0.371253 0.359893 0.33528 +0.34664 0.388293 0.445093 0.504421 0.531579 0.642105 0.799368 0.818947 +0.722316 0.616842 0.519579 0.435627 0.456453 0.45456 0.429947 0.42048 +0.42616 0.43184 0.4148 0.42048 0.45456 0.44888 0.446987 0.445093 +0.429947 0.441307 0.475387 0.475387 0.44888 0.435627 0.42616 0.418587 +0.44888 0.473493 0.490533 0.514526 0.518947 0.49432 0.501263 0.582737 +0.806947 0.964842 0.982286 0.983918 0.984898 0.98849 0.995673 1.00841 +1.01984 1.02735 1.03551 1.04106 1.05478 1.2076 1.55452 1.88928 +1.8771 1.67929 1.48453 1.33085 1.21368 1.14521 1.13152 1.14369 +1.14217 1.12847 1.07978 1.05771 1.07217 1.05314 1.04335 1.04563 +1.04269 1.03976 1.0391 1.04073 1.05314 1.09956 1.16499 1.21064 +1.16651 1.04922 1.01298 0.990449 0.971789 0.950947 0.926316 0.917474 +0.910526 0.908 0.915579 0.918105 0.92821 0.964211 0.996327 1.01331 +1.012 1.01037 1.00776 0.998612 0.970526 0.930105 0.814526 0.613053 +0.506947 0.435627 0.422373 0.4432 0.45456 0.418587 0.3864 0.395867 +0.39208 0.388293 0.401547 0.40344 0.384507 0.365573 0.36936 0.401547 +0.490533 0.582737 0.657263 0.635158 0.539789 0.428053 0.433733 0.534105 +0.581474 0.553053 0.539789 0.599158 0.738737 0.858737 0.844211 0.780421 +0.767789 0.736211 0.625053 0.490533 0.34664 0.348533 0.378827 0.367467 +0.405333 0.521474 0.585895 0.613684 0.617474 0.613053 0.596 0.580842 +0.523368 0.401547 0.39208 0.46592 0.566316 0.65979 0.673053 0.589684 +0.498107 0.399653 0.393973 0.399653 0.382613 0.359893 0.36936 0.378827 +0.412907 0.43752 0.473493 0.45456 0.359893 0.314453 0.30688 0.31824 +0.320133 0.316347 0.320133 0.337173 0.35232 0.3296 0.314453 0.320133 +0.344747 0.35232 0.35232 0.358 0.354213 0.34096 0.344747 0.354213 +0.339067 0.325813 0.31824 0.32392 0.337173 0.35232 0.40344 0.486747 +0.514526 0.479173 0.365573 0.33528 0.356107 0.36368 0.36368 0.356107 +0.344747 0.331493 0.331493 0.333387 0.344747 0.356107 0.356107 0.356107 +0.339067 0.314453 0.31824 0.33528 0.36368 0.388293 0.384507 0.38072 +0.388293 0.393973 0.39208 0.412907 0.424267 0.416693 0.407227 0.393973 +0.3864 0.37504 0.376933 0.429947 0.574526 0.775368 0.928842 0.980653 +0.988163 0.985224 0.98098 0.984245 0.996 1.0022 1.00155 1.00351 +1.0071 1.00971 1.00971 1.01069 1.00873 1.00776 1.01102 1.01102 +1.00841 1.00873 1.01135 1.012 1.012 1.00678 1.00514 1.00449 +1.00286 1.00612 1.01069 1.00841 1.00808 1.00645 0.999592 0.989469 +0.972421 0.953474 0.944632 0.942737 0.945895 0.956 0.973684 0.981959 +0.933895 0.784211 0.607368 0.501895 0.3864 0.304987 0.217893 0.00084 +0.000786667 0.000806667 0.000826667 0.0008 0.0008 0.0008 0.000766667 0.000746667 +0.00072 0.000726667 0.000733333 0.000726667 0.000733333 0.00074 0.000766667 0.00074 +0.000706667 0.000746667 0.00074 0.000706667 0.0007 0.000726667 0.000726667 0.000713333 +0.000706667 0.000693333 0.00068 0.000693333 0.000713333 0.000726667 0.00074 0.00072 +0.000713333 0.00072 0.000693333 0.00068 0.000693333 0.000706667 0.000706667 0.00068 +0.00068 0.000706667 0.000713333 0.000693333 0.000693333 0.000686667 0.000693333 0.0007 +0.00072 0.00072 0.00074 0.000726667 0.0007 0.00072 0.000746667 0.000766667 +0.00076 0.000766667 0.000746667 0.00074 0.000773333 0.000886667 0.2444 0.286053 +0.26144 0.219787 0.246293 0.297413 0.293627 0.276587 0.308773 0.384507 +0.514526 0.668 0.892211 0.991755 0.982939 0.954737 0.943368 0.945263 +0.961684 0.986531 1.00122 1.00841 1.00939 1.01037 1.00939 1.00776 +1.00906 1.00971 1.00939 1.00971 1.00841 1.00384 1.00057 1.00776 +1.01461 1.01559 1.01461 1.01396 1.01298 1.00971 1.00776 1.00808 +1.00514 1.00122 1.00384 1.00776 1.01461 1.02735 1.03453 1.02245 +0.986857 0.885895 0.716 0.556211 0.473493 0.439413 0.429947 0.416693 +0.39776 0.382613 0.36936 0.365573 0.38072 0.39776 0.384507 0.405333 +0.445093 0.464027 0.458347 0.435627 0.42048 0.38072 0.339067 0.32392 +0.3296 0.34664 0.350427 0.331493 0.333387 0.34096 0.322027 0.310667 +0.327707 0.333387 0.339067 0.35232 0.367467 0.378827 0.39776 0.384507 +0.348533 0.337173 0.358 0.378827 0.399653 0.3864 0.367467 0.365573 +0.373147 0.38072 0.388293 0.439413 0.452667 0.411013 0.388293 0.36936 +0.356107 0.34664 0.354213 0.376933 0.405333 0.401547 0.376933 0.359893 +0.356107 0.354213 0.34096 0.339067 0.327707 0.331493 0.350427 0.333387 +0.320133 0.325813 0.333387 0.342853 0.373147 0.48296 0.539789 0.555579 +0.532211 0.48864 0.395867 0.378827 0.395867 0.371253 0.32392 0.31256 +0.316347 0.31256 0.327707 0.331493 0.320133 0.342853 0.382613 0.43184 +0.4148 0.356107 0.337173 0.322027 0.320133 0.354213 0.393973 0.358 +0.314453 0.304987 0.303093 0.331493 0.373147 0.399653 0.39776 0.36368 +0.36936 0.390187 0.40912 0.445093 0.530947 0.688842 0.853684 0.876421 +0.804421 0.675579 0.529684 0.390187 0.393973 0.395867 0.405333 0.42616 +0.416693 0.40344 0.3864 0.39776 0.422373 0.411013 0.40344 0.418587 +0.416693 0.43184 0.47728 0.503789 0.498107 0.462133 0.446987 0.428053 +0.446987 0.498107 0.503789 0.510737 0.517684 0.505053 0.508211 0.590947 +0.817053 0.969895 0.981633 0.982286 0.985551 0.990776 0.999265 1.01298 +1.02865 1.04596 1.06152 1.13912 1.35671 1.65038 1.8345 1.82689 +1.61995 1.38867 1.2502 1.14977 1.05935 1.0551 1.07369 1.07978 +1.08739 1.07217 1.05086 1.04563 1.0502 1.04857 1.04008 1.03322 +1.03061 1.02702 1.02441 1.02571 1.03453 1.03878 1.05053 1.13152 +1.24259 1.22129 1.05967 1.0231 0.993714 0.974947 0.944 0.924421 +0.914316 0.914947 0.917474 0.918105 0.926947 0.948421 0.979368 1.00122 +1.00612 1.00449 1.00057 0.988816 0.962316 0.932632 0.8 0.597895 +0.508211 0.450773 0.429947 0.428053 0.422373 0.388293 0.365573 0.388293 +0.3864 0.384507 0.3864 0.393973 0.371253 0.36368 0.382613 0.405333 +0.48296 0.584632 0.656 0.616211 0.527158 0.429947 0.433733 0.535368 +0.561895 0.529053 0.553053 0.684421 0.858737 0.938316 0.887789 0.809474 +0.774105 0.737474 0.631368 0.501895 0.350427 0.350427 0.36936 0.354213 +0.371253 0.424267 0.49432 0.540421 0.572632 0.561263 0.569474 0.610526 +0.569474 0.464027 0.401547 0.433733 0.541053 0.642105 0.681895 0.619368 +0.518316 0.40912 0.395867 0.412907 0.405333 0.399653 0.411013 0.411013 +0.412907 0.39208 0.401547 0.40344 0.35232 0.31824 0.291733 0.3012 +0.31824 0.31824 0.3296 0.34096 0.356107 0.333387 0.31256 0.314453 +0.333387 0.333387 0.33528 0.348533 0.361787 0.350427 0.358 0.373147 +0.339067 0.320133 0.322027 0.32392 0.33528 0.359893 0.395867 0.458347 +0.505684 0.458347 0.359893 0.337173 0.33528 0.34664 0.358 0.365573 +0.371253 0.356107 0.33528 0.322027 0.320133 0.339067 0.34664 0.348533 +0.333387 0.31256 0.31824 0.333387 0.382613 0.4148 0.390187 0.382613 +0.399653 0.424267 0.40912 0.40344 0.401547 0.390187 0.399653 0.390187 +0.365573 0.36368 0.378827 0.507579 0.652211 0.848632 0.957263 0.983592 +0.989143 0.98849 0.986204 0.988816 0.996653 1.0022 1.00449 1.00612 +1.0058 1.00514 1.00808 1.01069 1.00906 1.0071 1.00776 1.00841 +1.00971 1.00971 1.00808 1.00808 1.01167 1.00971 1.0058 1.00155 +1.00286 1.00873 1.01233 1.00743 1.00449 1.0009 0.989796 0.973053 +0.954105 0.948421 0.945895 0.941474 0.951579 0.976211 0.985224 0.953474 +0.830316 0.649684 0.519579 0.424267 0.34096 0.2444 0.000886667 0.00084 +0.000793333 0.00076 0.000793333 0.0008 0.000793333 0.000806667 0.000806667 0.00076 +0.000733333 0.000786667 0.00076 0.00074 0.000746667 0.00072 0.00072 0.00076 +0.000753333 0.00074 0.000753333 0.000706667 0.000693333 0.000713333 0.000713333 0.000706667 +0.0007 0.000693333 0.00068 0.000693333 0.000713333 0.000706667 0.000713333 0.000726667 +0.000706667 0.000713333 0.000686667 0.000673333 0.000666667 0.000686667 0.000706667 0.00068 +0.000693333 0.000706667 0.000693333 0.000693333 0.0007 0.0007 0.00072 0.00072 +0.000713333 0.000706667 0.000733333 0.00074 0.000706667 0.000693333 0.000706667 0.0007 +0.000713333 0.00072 0.000726667 0.00076 0.0008 0.000966667 0.276587 0.291733 +0.236827 0.000986667 0.269013 0.308773 0.26712 0.231147 0.26144 0.350427 +0.473493 0.597263 0.814526 0.980653 0.987837 0.962316 0.947789 0.944632 +0.954737 0.98 0.996 1.00547 1.00906 1.01037 1.00906 1.0071 +1.00841 1.01004 1.01135 1.01265 1.01135 1.00808 1.00286 1.00416 +1.01233 1.01592 1.01396 1.01265 1.01265 1.01069 1.01037 1.00971 +1.0071 1.00318 1.00449 1.012 1.01984 1.03061 1.04563 1.05412 +1.02865 0.960421 0.788 0.606105 0.508211 0.4432 0.428053 0.42616 +0.42048 0.401547 0.38072 0.376933 0.388293 0.401547 0.388293 0.3864 +0.424267 0.48296 0.506316 0.510105 0.507579 0.479173 0.416693 0.388293 +0.390187 0.388293 0.388293 0.371253 0.348533 0.342853 0.327707 0.32392 +0.3296 0.34096 0.36368 0.388293 0.395867 0.39208 0.395867 0.37504 +0.342853 0.331493 0.333387 0.35232 0.412907 0.43184 0.393973 0.373147 +0.373147 0.367467 0.350427 0.354213 0.36368 0.373147 0.390187 0.367467 +0.342853 0.33528 0.348533 0.38072 0.395867 0.371253 0.34664 0.342853 +0.348533 0.337173 0.325813 0.327707 0.322027 0.327707 0.333387 0.331493 +0.33528 0.34096 0.342853 0.356107 0.388293 0.469707 0.534105 0.546737 +0.512632 0.446987 0.40912 0.452667 0.500632 0.435627 0.342853 0.31256 +0.325813 0.348533 0.361787 0.337173 0.32392 0.348533 0.35232 0.36368 +0.367467 0.354213 0.34664 0.3296 0.320133 0.344747 0.40344 0.4148 +0.37504 0.342853 0.331493 0.344747 0.36368 0.376933 0.373147 0.361787 +0.38072 0.39208 0.382613 0.411013 0.549895 0.743789 0.910526 0.941474 +0.875789 0.714737 0.537895 0.411013 0.39776 0.388293 0.382613 0.393973 +0.393973 0.39208 0.388293 0.412907 0.433733 0.40912 0.399653 0.399653 +0.39776 0.40912 0.446987 0.513895 0.532842 0.510105 0.4716 0.452667 +0.46024 0.500632 0.500632 0.496213 0.505053 0.513263 0.524632 0.621895 +0.852421 0.977474 0.978737 0.980653 0.985551 0.993061 1.00547 1.02245 +1.04106 1.10108 1.27303 1.52105 1.80711 1.94101 1.80102 1.55148 +1.36432 1.23651 1.14673 1.05902 1.04269 1.03976 1.04955 1.05608 +1.07522 1.05543 1.04335 1.0391 1.03649 1.04335 1.04433 1.03029 +1.02376 1.02049 1.0231 1.0218 1.02767 1.03159 1.04139 1.05249 +1.11478 1.20303 1.22281 1.12999 1.03453 1.0022 0.973684 0.938316 +0.926316 0.925053 0.921895 0.923158 0.933263 0.942105 0.944 0.971789 +0.986204 0.985224 0.981633 0.971158 0.964842 0.937684 0.785474 0.583368 +0.508211 0.48296 0.4432 0.42048 0.4148 0.388293 0.36936 0.390187 +0.378827 0.365573 0.367467 0.384507 0.376933 0.373147 0.390187 0.401547 +0.479173 0.585895 0.644632 0.585895 0.504421 0.428053 0.458347 0.541684 +0.554947 0.527158 0.605474 0.796842 0.957263 0.990449 0.953474 0.869474 +0.801263 0.754526 0.653474 0.513895 0.358 0.33528 0.339067 0.33528 +0.342853 0.358 0.39208 0.512 0.549263 0.506316 0.490533 0.568842 +0.580211 0.509474 0.422373 0.412907 0.513895 0.611158 0.676211 0.648421 +0.548632 0.42616 0.388293 0.40912 0.422373 0.428053 0.42048 0.416693 +0.376933 0.33528 0.33528 0.34664 0.344747 0.339067 0.316347 0.308773 +0.31256 0.310667 0.33528 0.348533 0.365573 0.34664 0.310667 0.308773 +0.316347 0.327707 0.337173 0.34096 0.36368 0.371253 0.367467 0.361787 +0.333387 0.333387 0.350427 0.354213 0.356107 0.367467 0.36936 0.382613 +0.4432 0.458347 0.401547 0.359893 0.33528 0.333387 0.356107 0.395867 +0.42048 0.37504 0.34096 0.333387 0.3296 0.3296 0.325813 0.320133 +0.325813 0.327707 0.333387 0.348533 0.382613 0.384507 0.358 0.350427 +0.38072 0.4432 0.469707 0.4432 0.395867 0.373147 0.399653 0.411013 +0.39208 0.384507 0.446987 0.574526 0.748211 0.910526 0.98 0.989469 +0.990776 0.986857 0.987184 0.996 1.00188 1.00188 1.00122 1.00318 +1.0071 1.01004 1.00808 1.00612 1.00678 1.00776 1.00873 1.00841 +1.00873 1.00873 1.00841 1.00743 1.00808 1.00678 1.00678 1.0058 +1.0058 1.00612 1.00939 1.0058 0.997633 0.986857 0.974947 0.955368 +0.941474 0.944632 0.949053 0.950947 0.966105 0.984245 0.969263 0.86 +0.685053 0.542316 0.452667 0.373147 0.27848 0.00098 0.000833333 0.000786667 +0.0008 0.000806667 0.000833333 0.000813333 0.000786667 0.000806667 0.000846667 0.000866667 +0.000773333 0.000753333 0.000766667 0.0007 0.000686667 0.00072 0.000713333 0.000706667 +0.000713333 0.00072 0.00074 0.00074 0.000726667 0.00072 0.000693333 0.000693333 +0.000706667 0.000706667 0.000706667 0.00072 0.00074 0.000726667 0.000706667 0.000733333 +0.000726667 0.000713333 0.0007 0.000706667 0.000693333 0.000693333 0.000693333 0.00068 +0.000693333 0.00068 0.00066 0.000673333 0.0007 0.00072 0.000713333 0.00072 +0.000713333 0.000706667 0.000726667 0.000746667 0.000733333 0.000753333 0.000753333 0.00072 +0.000726667 0.00072 0.000726667 0.00076 0.000826667 0.231147 0.291733 0.2728 +0.000973333 0.000933333 0.276587 0.308773 0.23304 0.000913333 0.000966667 0.286053 +0.407227 0.541684 0.726737 0.937053 0.991755 0.98098 0.962316 0.949053 +0.950947 0.971789 0.991755 1.00384 1.00939 1.01037 1.00841 1.00743 +1.00906 1.01037 1.01102 1.012 1.01069 1.00971 1.0071 1.00482 +1.00873 1.01265 1.01363 1.01429 1.01363 1.01167 1.01102 1.00906 +1.00743 1.00514 1.00678 1.01788 1.02767 1.03159 1.04269 1.08282 +1.10108 1.0182 0.868842 0.674316 0.540421 0.467813 0.44888 0.456453 +0.469707 0.462133 0.422373 0.40344 0.4148 0.418587 0.40344 0.401547 +0.4148 0.446987 0.481067 0.504421 0.521474 0.530947 0.529684 0.526526 +0.524632 0.513263 0.504421 0.481067 0.43752 0.418587 0.412907 0.411013 +0.40344 0.399653 0.411013 0.412907 0.395867 0.390187 0.401547 0.384507 +0.34096 0.31824 0.31256 0.333387 0.4148 0.479173 0.42616 0.350427 +0.33528 0.33528 0.331493 0.325813 0.327707 0.359893 0.40912 0.393973 +0.350427 0.339067 0.354213 0.378827 0.382613 0.358 0.339067 0.331493 +0.333387 0.331493 0.327707 0.331493 0.331493 0.331493 0.3296 0.32392 +0.320133 0.3296 0.339067 0.356107 0.399653 0.500632 0.543579 0.534105 +0.458347 0.39208 0.412907 0.48864 0.503789 0.4432 0.365573 0.331493 +0.337173 0.373147 0.3864 0.354213 0.339067 0.350427 0.34096 0.344747 +0.34664 0.337173 0.337173 0.33528 0.320133 0.3296 0.373147 0.43752 +0.46592 0.49432 0.496213 0.43184 0.37504 0.344747 0.339067 0.348533 +0.376933 0.382613 0.371253 0.422373 0.578947 0.786737 0.940842 0.972421 +0.896 0.706526 0.534737 0.44888 0.433733 0.412907 0.401547 0.384507 +0.378827 0.384507 0.39208 0.422373 0.446987 0.412907 0.401547 0.39208 +0.39776 0.401547 0.42048 0.512632 0.564421 0.553684 0.506316 0.467813 +0.469707 0.475387 0.475387 0.492427 0.504421 0.524 0.551789 0.669895 +0.888421 0.976211 0.973684 0.981306 0.989143 0.999265 1.01265 1.03159 +1.05445 1.22281 1.54844 1.87406 1.95166 1.76298 1.50431 1.3278 +1.24716 1.17564 1.09043 1.04727 1.03682 1.03551 1.03943 1.04792 +1.05804 1.0502 1.04531 1.04629 1.03747 1.03812 1.04433 1.04073 +1.03486 1.02996 1.03388 1.02931 1.02735 1.02767 1.02865 1.02996 +1.0391 1.05641 1.16347 1.24259 1.20607 1.06152 1.01331 0.969895 +0.945895 0.932632 0.92379 0.92821 0.939579 0.945895 0.928842 0.930105 +0.943368 0.944 0.939579 0.942737 0.955368 0.929474 0.770316 0.570737 +0.502526 0.498107 0.47728 0.43752 0.4148 0.39208 0.373147 0.388293 +0.37504 0.348533 0.344747 0.358 0.36368 0.373147 0.382613 0.39776 +0.500632 0.592842 0.630105 0.555579 0.44888 0.40344 0.456453 0.534105 +0.548 0.540421 0.656 0.874526 0.994694 1.00841 0.996 0.928842 +0.841684 0.790526 0.683789 0.525895 0.371253 0.339067 0.325813 0.322027 +0.320133 0.333387 0.356107 0.464027 0.538526 0.520211 0.48296 0.541684 +0.575789 0.524 0.43752 0.428053 0.503158 0.577684 0.658526 0.666105 +0.579579 0.46024 0.361787 0.37504 0.411013 0.424267 0.42048 0.418587 +0.371253 0.32392 0.320133 0.322027 0.339067 0.344747 0.348533 0.33528 +0.314453 0.3012 0.314453 0.327707 0.34664 0.337173 0.32392 0.33528 +0.337173 0.32392 0.322027 0.33528 0.388293 0.407227 0.382613 0.358 +0.3296 0.333387 0.348533 0.36936 0.38072 0.38072 0.371253 0.361787 +0.395867 0.464027 0.446987 0.376933 0.350427 0.344747 0.354213 0.399653 +0.439413 0.405333 0.361787 0.342853 0.325813 0.3296 0.3296 0.316347 +0.32392 0.348533 0.344747 0.356107 0.36936 0.354213 0.339067 0.348533 +0.36936 0.424267 0.48864 0.484853 0.428053 0.399653 0.405333 0.39776 +0.390187 0.450773 0.551789 0.691368 0.849895 0.947789 0.981959 0.993714 +0.995673 0.989796 0.989796 0.995347 0.998939 1.0022 1.00351 1.00351 +1.00449 1.00776 1.00841 1.00873 1.00808 1.00645 1.00743 1.00841 +1.00939 1.00873 1.00645 1.00743 1.00873 1.00612 1.00482 1.00776 +1.00971 1.00743 1.00384 0.996327 0.986857 0.974947 0.959789 0.947158 +0.942105 0.945895 0.953474 0.965474 0.981306 0.976842 0.889684 0.722947 +0.564421 0.452667 0.399653 0.339067 0.240613 0.000906667 0.000846667 0.000826667 +0.000813333 0.000806667 0.00084 0.000826667 0.0008 0.0008 0.000766667 0.000766667 +0.00078 0.000746667 0.000733333 0.000746667 0.000713333 0.00072 0.000726667 0.00068 +0.000653333 0.000693333 0.000746667 0.000753333 0.000713333 0.000713333 0.000706667 0.000726667 +0.000726667 0.000733333 0.00072 0.000713333 0.00072 0.000706667 0.000693333 0.000726667 +0.000726667 0.000713333 0.00072 0.000726667 0.000726667 0.000706667 0.000686667 0.000673333 +0.000673333 0.00068 0.00068 0.00068 0.000713333 0.00072 0.000713333 0.000706667 +0.0007 0.0007 0.000713333 0.000713333 0.0007 0.000733333 0.00074 0.00074 +0.00074 0.000713333 0.00074 0.000766667 0.00086 0.251973 0.29552 0.248187 +0.000906667 0.000906667 0.282267 0.31256 0.217893 0.000833333 0.000846667 0.229253 +0.356107 0.505684 0.643368 0.871368 0.989796 0.990776 0.976211 0.954737 +0.947789 0.961053 0.984898 0.999918 1.00873 1.01069 1.00939 1.00873 +1.01004 1.01102 1.01265 1.01298 1.01102 1.01004 1.00906 1.00482 +1.00514 1.00906 1.01167 1.01298 1.01363 1.01135 1.01102 1.00971 +1.00743 1.0071 1.01069 1.02473 1.04204 1.04367 1.04531 1.06761 +1.1939 1.11326 0.978105 0.760842 0.587789 0.501895 0.45456 0.450773 +0.45456 0.4432 0.42048 0.418587 0.4432 0.439413 0.405333 0.399653 +0.412907 0.4432 0.456453 0.48296 0.514526 0.536632 0.549263 0.552421 +0.551158 0.542316 0.534737 0.531579 0.525895 0.517053 0.513263 0.514526 +0.506947 0.47728 0.452667 0.42048 0.393973 0.384507 0.418587 0.418587 +0.361787 0.316347 0.310667 0.325813 0.401547 0.503789 0.492427 0.373147 +0.32392 0.33528 0.34096 0.33528 0.333387 0.356107 0.4148 0.435627 +0.401547 0.371253 0.373147 0.36936 0.356107 0.342853 0.3296 0.327707 +0.327707 0.337173 0.339067 0.339067 0.348533 0.34664 0.350427 0.342853 +0.331493 0.331493 0.325813 0.344747 0.42048 0.517053 0.539158 0.503158 +0.40344 0.371253 0.395867 0.4432 0.422373 0.376933 0.34664 0.337173 +0.35232 0.361787 0.356107 0.339067 0.342853 0.35232 0.34664 0.354213 +0.358 0.3296 0.325813 0.342853 0.348533 0.34664 0.356107 0.39208 +0.428053 0.508842 0.540421 0.520211 0.429947 0.348533 0.333387 0.34096 +0.356107 0.354213 0.354213 0.429947 0.592211 0.774737 0.906737 0.938947 +0.851158 0.670526 0.545474 0.508842 0.47728 0.43752 0.407227 0.39776 +0.373147 0.367467 0.384507 0.416693 0.428053 0.405333 0.39776 0.393973 +0.390187 0.399653 0.40344 0.48864 0.571368 0.608632 0.56 0.508842 +0.486747 0.486747 0.502526 0.506316 0.503789 0.520842 0.572 0.721053 +0.911789 0.969263 0.971158 0.984571 0.994694 1.0058 1.01853 1.0378 +1.10108 1.37345 1.77059 1.97905 1.86037 1.553 1.29737 1.19238 +1.14065 1.07217 1.04922 1.04041 1.04041 1.04498 1.04106 1.03845 +1.04335 1.03714 1.03551 1.04433 1.04302 1.03812 1.03812 1.04008 +1.03943 1.03388 1.03355 1.02898 1.02898 1.02996 1.02245 1.01853 +1.02212 1.02865 1.04759 1.13456 1.28215 1.31867 1.13608 1.01167 +0.977474 0.951579 0.930105 0.932632 0.949684 0.959789 0.940211 0.92379 +0.918737 0.914316 0.918737 0.928842 0.941474 0.911158 0.750105 0.561895 +0.48864 0.47728 0.49432 0.490533 0.479173 0.44888 0.39776 0.378827 +0.371253 0.35232 0.350427 0.354213 0.356107 0.371253 0.382613 0.412907 +0.517053 0.603579 0.62 0.535368 0.412907 0.395867 0.4432 0.516421 +0.535368 0.549263 0.662947 0.875789 0.99698 1.01363 1.00318 0.935158 +0.853053 0.821474 0.707789 0.533474 0.3864 0.365573 0.339067 0.322027 +0.322027 0.327707 0.331493 0.411013 0.534737 0.565684 0.538526 0.542947 +0.575158 0.546737 0.473493 0.441307 0.475387 0.533474 0.613684 0.650947 +0.598526 0.507579 0.358 0.34664 0.39208 0.424267 0.433733 0.433733 +0.395867 0.356107 0.33528 0.337173 0.361787 0.350427 0.337173 0.339067 +0.333387 0.31256 0.316347 0.34664 0.36368 0.354213 0.337173 0.358 +0.376933 0.365573 0.382613 0.445093 0.503158 0.46592 0.38072 0.34096 +0.3296 0.339067 0.356107 0.373147 0.373147 0.361787 0.350427 0.36368 +0.390187 0.4716 0.47728 0.382613 0.342853 0.34664 0.348533 0.36936 +0.399653 0.395867 0.378827 0.350427 0.314453 0.30688 0.322027 0.3296 +0.34664 0.365573 0.359893 0.342853 0.342853 0.35232 0.36368 0.365573 +0.365573 0.399653 0.456453 0.462133 0.411013 0.39776 0.422373 0.424267 +0.439413 0.528421 0.652842 0.812632 0.932632 0.980653 0.986531 0.993061 +0.990776 0.989469 0.996653 0.999265 0.997959 0.998612 1.0009 1.00351 +1.00645 1.00612 1.00645 1.0071 1.00743 1.00841 1.00841 1.00612 +1.0071 1.00906 1.00841 1.00808 1.00808 1.00776 1.00808 1.00808 +1.00678 1.00416 0.998286 0.987837 0.973053 0.960421 0.956632 0.947158 +0.940842 0.947158 0.964211 0.98098 0.981306 0.920632 0.764 0.587789 +0.467813 0.384507 0.356107 0.28984 0.22736 0.000906667 0.000833333 0.000833333 +0.00082 0.00076 0.000786667 0.000833333 0.00078 0.00076 0.000773333 0.000726667 +0.00074 0.000773333 0.000726667 0.0007 0.000726667 0.0007 0.000686667 0.000713333 +0.000693333 0.000693333 0.000753333 0.000746667 0.000706667 0.000726667 0.000733333 0.000733333 +0.000733333 0.000726667 0.000713333 0.000706667 0.000706667 0.000713333 0.000706667 0.000693333 +0.000693333 0.000713333 0.000733333 0.000733333 0.000713333 0.000706667 0.000706667 0.000713333 +0.000706667 0.000713333 0.0007 0.00068 0.000693333 0.00068 0.000706667 0.00072 +0.000726667 0.000733333 0.000713333 0.0007 0.000693333 0.00072 0.000713333 0.000713333 +0.000726667 0.000713333 0.00074 0.00078 0.000906667 0.269013 0.297413 0.22736 +0.00086 0.000893333 0.280373 0.308773 0.000966667 0.000793333 0.000813333 0.000946667 +0.320133 0.462133 0.578947 0.790526 0.975579 0.996653 0.983265 0.957895 +0.945895 0.950947 0.973684 0.993714 1.0058 1.00971 1.00971 1.01004 +1.01004 1.01102 1.01396 1.01527 1.01331 1.01233 1.01233 1.00743 +1.00286 1.00482 1.00939 1.01135 1.01363 1.01233 1.01069 1.00971 +1.00939 1.00906 1.01461 1.03224 1.05608 1.06761 1.05445 1.05673 +1.16651 1.25172 1.04269 0.872 0.661053 0.534737 0.475387 0.441307 +0.4148 0.399653 0.395867 0.411013 0.429947 0.43184 0.40344 0.399653 +0.42616 0.4432 0.445093 0.467813 0.501263 0.506947 0.502526 0.49432 +0.496213 0.501263 0.506947 0.516421 0.518947 0.515158 0.509474 0.504421 +0.49432 0.486747 0.46592 0.405333 0.378827 0.36368 0.388293 0.416693 +0.395867 0.34096 0.322027 0.3296 0.367467 0.500632 0.525895 0.4716 +0.382613 0.367467 0.356107 0.348533 0.350427 0.367467 0.388293 0.42616 +0.42616 0.382613 0.36936 0.361787 0.342853 0.33528 0.327707 0.333387 +0.34096 0.344747 0.34664 0.337173 0.333387 0.33528 0.34664 0.356107 +0.36936 0.373147 0.371253 0.40344 0.484853 0.529684 0.524632 0.429947 +0.361787 0.365573 0.39208 0.412907 0.388293 0.34664 0.320133 0.32392 +0.34096 0.350427 0.344747 0.3296 0.33528 0.350427 0.361787 0.376933 +0.365573 0.33528 0.322027 0.348533 0.36368 0.36936 0.36368 0.348533 +0.333387 0.38072 0.48296 0.500632 0.428053 0.358 0.331493 0.32392 +0.325813 0.331493 0.34096 0.428053 0.578316 0.716 0.819579 0.849263 +0.770316 0.635158 0.553684 0.512632 0.452667 0.422373 0.393973 0.378827 +0.378827 0.373147 0.382613 0.39776 0.401547 0.384507 0.390187 0.388293 +0.37504 0.382613 0.390187 0.43752 0.535368 0.612421 0.625684 0.569474 +0.523368 0.510105 0.509474 0.501895 0.47728 0.508211 0.584632 0.771579 +0.937053 0.966737 0.971158 0.985878 0.997306 1.01037 1.02376 1.04498 +1.17869 1.52257 1.86189 1.88015 1.69755 1.47692 1.2715 1.12999 +1.05739 1.04367 1.03486 1.03355 1.03388 1.0391 1.04237 1.04367 +1.044 1.03453 1.03127 1.04073 1.04269 1.03714 1.03322 1.03682 +1.03551 1.02963 1.03094 1.0342 1.03812 1.03943 1.03061 1.0231 +1.02114 1.01886 1.03159 1.05053 1.11782 1.25629 1.33237 1.13912 +1.02212 0.986204 0.950947 0.949684 0.964842 0.970526 0.952211 0.934526 +0.924421 0.917474 0.925684 0.932632 0.931368 0.894105 0.737474 0.558737 +0.503158 0.48864 0.510737 0.554947 0.584632 0.544211 0.458347 0.384507 +0.3864 0.378827 0.373147 0.37504 0.371253 0.378827 0.3864 0.435627 +0.539789 0.616211 0.609895 0.529053 0.424267 0.416693 0.42616 0.484853 +0.517053 0.539158 0.621895 0.804421 0.964211 0.999592 0.978105 0.871368 +0.818947 0.813895 0.707789 0.543579 0.4148 0.373147 0.34096 0.32392 +0.322027 0.327707 0.333387 0.411013 0.545474 0.612421 0.583368 0.534737 +0.542316 0.534737 0.467813 0.422373 0.428053 0.475387 0.56 0.621263 +0.606737 0.528421 0.384507 0.333387 0.361787 0.40344 0.43184 0.450773 +0.445093 0.422373 0.38072 0.365573 0.40912 0.388293 0.34664 0.359893 +0.373147 0.359893 0.367467 0.40344 0.416693 0.407227 0.395867 0.424267 +0.462133 0.464027 0.504421 0.544211 0.560632 0.525895 0.467813 0.418587 +0.384507 0.37504 0.371253 0.354213 0.356107 0.373147 0.356107 0.356107 +0.378827 0.456453 0.496213 0.424267 0.373147 0.361787 0.34664 0.344747 +0.361787 0.36368 0.36936 0.36368 0.331493 0.316347 0.32392 0.342853 +0.358 0.361787 0.365573 0.359893 0.35232 0.348533 0.348533 0.359893 +0.371253 0.395867 0.44888 0.445093 0.395867 0.39208 0.4148 0.458347 +0.529053 0.633895 0.782947 0.902947 0.969263 0.98849 0.994367 0.997306 +0.989143 0.987837 0.996 1.0009 1.00057 0.998286 0.996327 0.996327 +1.00024 1.00645 1.00808 1.0071 1.00416 1.00645 1.01037 1.00939 +1.00776 1.0058 1.0071 1.01004 1.00971 1.0071 1.00612 1.00645 +1.00384 0.996327 0.989143 0.978105 0.961684 0.956 0.949684 0.944632 +0.945895 0.961684 0.98098 0.984898 0.938316 0.797474 0.623789 0.502526 +0.371253 0.342853 0.31824 0.251973 0.000953333 0.000913333 0.00084 0.00078 +0.000806667 0.000806667 0.00076 0.000793333 0.000786667 0.000766667 0.000786667 0.000766667 +0.000733333 0.000753333 0.00076 0.000706667 0.00072 0.000746667 0.000713333 0.000706667 +0.00072 0.0007 0.000726667 0.000766667 0.00072 0.000746667 0.000746667 0.000726667 +0.000713333 0.00072 0.000726667 0.000713333 0.0007 0.0007 0.0007 0.000686667 +0.000693333 0.0007 0.00072 0.000706667 0.000686667 0.00068 0.000706667 0.000726667 +0.000726667 0.00072 0.000706667 0.000686667 0.000686667 0.0007 0.00072 0.00072 +0.000726667 0.00074 0.000713333 0.0007 0.0007 0.000706667 0.000693333 0.000693333 +0.000713333 0.000726667 0.000753333 0.00078 0.000913333 0.27848 0.303093 0.225467 +0.000846667 0.000886667 0.26712 0.299307 0.00096 0.000786667 0.000766667 0.000826667 +0.259547 0.411013 0.530947 0.696421 0.916211 0.99502 0.989143 0.968632 +0.951579 0.948421 0.964211 0.986857 1.00155 1.00873 1.01102 1.01102 +1.01069 1.01102 1.01363 1.01461 1.01298 1.01167 1.01135 1.00808 +1.00024 0.996327 1.00286 1.0071 1.01135 1.01265 1.00873 1.00743 +1.01069 1.01233 1.01788 1.0378 1.1026 1.17412 1.11934 1.06456 +1.10565 1.24868 1.20455 0.990776 0.755789 0.584632 0.508842 0.45456 +0.405333 0.3864 0.390187 0.39776 0.40912 0.446987 0.469707 0.452667 +0.433733 0.40912 0.395867 0.424267 0.464027 0.44888 0.407227 0.371253 +0.373147 0.40344 0.43752 0.464027 0.4432 0.422373 0.416693 0.399653 +0.399653 0.439413 0.456453 0.407227 0.371253 0.337173 0.333387 0.361787 +0.378827 0.348533 0.31256 0.314453 0.34096 0.439413 0.526526 0.517053 +0.445093 0.395867 0.36368 0.350427 0.354213 0.361787 0.358 0.367467 +0.376933 0.359893 0.354213 0.350427 0.33528 0.327707 0.337173 0.348533 +0.34664 0.339067 0.331493 0.322027 0.316347 0.32392 0.333387 0.348533 +0.382613 0.42048 0.46592 0.49432 0.506316 0.522105 0.505053 0.393973 +0.350427 0.378827 0.411013 0.401547 0.388293 0.354213 0.327707 0.327707 +0.331493 0.339067 0.333387 0.331493 0.33528 0.339067 0.358 0.373147 +0.358 0.325813 0.327707 0.339067 0.348533 0.36368 0.358 0.34096 +0.325813 0.31824 0.348533 0.38072 0.382613 0.356107 0.33528 0.31824 +0.32392 0.3296 0.327707 0.412907 0.546105 0.642105 0.717263 0.731158 +0.671789 0.577684 0.522737 0.475387 0.42616 0.428053 0.407227 0.390187 +0.382613 0.382613 0.390187 0.382613 0.378827 0.378827 0.390187 0.378827 +0.359893 0.367467 0.39208 0.40912 0.467813 0.554947 0.625053 0.613053 +0.546737 0.505053 0.4716 0.464027 0.475387 0.511368 0.59979 0.810737 +0.951579 0.966105 0.975579 0.98751 0.997633 1.01331 1.02931 1.05314 +1.27303 1.65191 1.84058 1.71125 1.48453 1.31107 1.20151 1.11021 +1.05706 1.04433 1.03453 1.03159 1.02767 1.02702 1.03224 1.04073 +1.04302 1.03257 1.03127 1.03812 1.04041 1.03453 1.02898 1.03257 +1.03355 1.02865 1.03192 1.03714 1.03812 1.03747 1.03355 1.0329 +1.03845 1.0378 1.04465 1.04661 1.04204 1.07826 1.29433 1.36128 +1.22586 1.03551 0.98849 0.977474 0.98098 0.978737 0.960421 0.942105 +0.933263 0.92821 0.940211 0.940211 0.92379 0.884 0.735579 0.557474 +0.508211 0.503789 0.532211 0.625684 0.672421 0.584 0.484853 0.407227 +0.411013 0.40912 0.393973 0.388293 0.3864 0.38072 0.376933 0.467813 +0.570105 0.625684 0.592211 0.520211 0.433733 0.412907 0.411013 0.446987 +0.504421 0.518947 0.576421 0.721053 0.867579 0.911158 0.849263 0.768421 +0.762105 0.769684 0.678737 0.549263 0.467813 0.399653 0.361787 0.34096 +0.32392 0.327707 0.34664 0.433733 0.554947 0.647158 0.641474 0.553053 +0.507579 0.5 0.433733 0.40344 0.399653 0.399653 0.507579 0.568842 +0.584632 0.534105 0.4148 0.3296 0.3296 0.36368 0.40344 0.456453 +0.484853 0.475387 0.439413 0.4148 0.439413 0.435627 0.3864 0.382613 +0.390187 0.390187 0.411013 0.464027 0.462133 0.4148 0.405333 0.441307 +0.475387 0.4716 0.498107 0.525895 0.533474 0.516421 0.505684 0.501263 +0.464027 0.433733 0.416693 0.373147 0.344747 0.356107 0.354213 0.348533 +0.36936 0.428053 0.464027 0.439413 0.39776 0.376933 0.359893 0.356107 +0.359893 0.348533 0.359893 0.384507 0.384507 0.3864 0.373147 0.36936 +0.38072 0.361787 0.348533 0.361787 0.367467 0.361787 0.348533 0.348533 +0.36368 0.388293 0.441307 0.464027 0.441307 0.43752 0.43752 0.508211 +0.609895 0.766526 0.904211 0.973684 0.990449 0.993714 0.995347 0.994367 +0.989143 0.992735 0.998939 0.997306 0.990776 0.989796 0.995347 0.998286 +1.00188 1.00384 1.00482 1.00678 1.00776 1.00971 1.00906 1.00743 +1.00841 1.00841 1.0058 1.0058 1.00645 1.00743 1.00612 1.00024 +0.99502 0.98751 0.980653 0.963579 0.952842 0.953474 0.950316 0.950947 +0.959789 0.981306 0.986531 0.948421 0.823368 0.652842 0.518316 0.36936 +0.333387 0.322027 0.287947 0.229253 0.000913333 0.00084 0.00082 0.00078 +0.000766667 0.00082 0.000773333 0.00078 0.00078 0.000793333 0.000786667 0.000746667 +0.000733333 0.000746667 0.000746667 0.00074 0.000733333 0.00074 0.000733333 0.00072 +0.000713333 0.000726667 0.000686667 0.000706667 0.000686667 0.0007 0.00072 0.000726667 +0.00072 0.000733333 0.000746667 0.00072 0.000706667 0.00072 0.000746667 0.000746667 +0.00074 0.000733333 0.00072 0.000713333 0.0007 0.0007 0.000713333 0.000713333 +0.00072 0.0007 0.000706667 0.000693333 0.000706667 0.000726667 0.00072 0.0007 +0.0007 0.00072 0.0007 0.000713333 0.000726667 0.000726667 0.000713333 0.000693333 +0.000686667 0.000686667 0.000713333 0.00074 0.000853333 0.269013 0.308773 0.236827 +0.000893333 0.000933333 0.270907 0.291733 0.000986667 0.0008 0.00076 0.000753333 +0.000966667 0.359893 0.500632 0.611158 0.830947 0.984245 0.99502 0.982286 +0.960421 0.945895 0.952842 0.978737 0.994694 1.00612 1.01004 1.01069 +1.01102 1.01135 1.01233 1.01363 1.01461 1.01167 1.01037 1.01069 +1.00416 0.996653 0.999592 1.00351 1.0071 1.00939 1.0071 1.00612 +1.00873 1.01069 1.01527 1.03486 1.13152 1.28215 1.24716 1.11782 +1.06609 1.16499 1.29128 1.05673 0.884 0.657895 0.533474 0.473493 +0.418587 0.40344 0.407227 0.407227 0.43184 0.503158 0.520842 0.504421 +0.433733 0.393973 0.38072 0.411013 0.433733 0.412907 0.39776 0.371253 +0.365573 0.401547 0.439413 0.435627 0.388293 0.354213 0.35232 0.350427 +0.367467 0.42048 0.467813 0.42616 0.359893 0.333387 0.327707 0.327707 +0.337173 0.339067 0.32392 0.327707 0.35232 0.39208 0.501895 0.513263 +0.4432 0.37504 0.34664 0.34096 0.350427 0.348533 0.34664 0.339067 +0.342853 0.34664 0.339067 0.3296 0.333387 0.34096 0.35232 0.354213 +0.337173 0.327707 0.333387 0.333387 0.34664 0.36936 0.378827 0.38072 +0.411013 0.473493 0.505053 0.48864 0.456453 0.503158 0.498107 0.395867 +0.367467 0.40344 0.429947 0.388293 0.361787 0.35232 0.34096 0.331493 +0.333387 0.327707 0.316347 0.327707 0.348533 0.350427 0.344747 0.358 +0.354213 0.337173 0.337173 0.34096 0.348533 0.350427 0.337173 0.331493 +0.3296 0.316347 0.30688 0.3296 0.356107 0.35232 0.33528 0.31824 +0.327707 0.350427 0.348533 0.39208 0.510737 0.576421 0.622526 0.617474 +0.575158 0.515158 0.44888 0.43184 0.418587 0.424267 0.418587 0.395867 +0.390187 0.388293 0.38072 0.376933 0.371253 0.376933 0.376933 0.358 +0.348533 0.36368 0.3864 0.39208 0.412907 0.504421 0.566947 0.601053 +0.553684 0.484853 0.429947 0.435627 0.4716 0.515789 0.618737 0.836 +0.954105 0.963579 0.978105 0.98849 1.00057 1.0169 1.03257 1.05412 +1.34606 1.74929 1.76603 1.52105 1.3065 1.14217 1.05706 1.05249 +1.05902 1.08435 1.05771 1.04008 1.02702 1.02441 1.02049 1.02245 +1.03061 1.02833 1.02931 1.03486 1.03845 1.03649 1.03061 1.02931 +1.02996 1.02637 1.02604 1.03061 1.0329 1.0342 1.03029 1.03192 +1.04335 1.04465 1.04563 1.0378 1.03061 1.04563 1.12695 1.29128 +1.40693 1.29889 1.04661 1.0022 0.989469 0.984571 0.970526 0.949684 +0.935789 0.929474 0.941474 0.940211 0.922526 0.885263 0.741263 0.563158 +0.508211 0.49432 0.523368 0.606105 0.635158 0.554316 0.469707 0.42616 +0.418587 0.412907 0.399653 0.393973 0.39208 0.399653 0.416693 0.519579 +0.608 0.628211 0.559368 0.484853 0.411013 0.40344 0.4148 0.435627 +0.479173 0.492427 0.558105 0.695158 0.798737 0.791158 0.709053 0.675579 +0.721684 0.734947 0.656 0.544211 0.467813 0.412907 0.38072 0.365573 +0.35232 0.354213 0.36936 0.46024 0.568211 0.676842 0.703368 0.606737 +0.510105 0.441307 0.411013 0.418587 0.395867 0.36368 0.418587 0.518316 +0.548632 0.529684 0.441307 0.331493 0.320133 0.350427 0.37504 0.439413 +0.500632 0.500632 0.48296 0.458347 0.4432 0.441307 0.42048 0.411013 +0.39208 0.376933 0.376933 0.429947 0.446987 0.378827 0.35232 0.38072 +0.39776 0.36936 0.36936 0.388293 0.39776 0.422373 0.43184 0.428053 +0.411013 0.39776 0.405333 0.401547 0.371253 0.361787 0.348533 0.344747 +0.376933 0.393973 0.388293 0.393973 0.388293 0.36936 0.36936 0.36936 +0.365573 0.350427 0.344747 0.382613 0.42616 0.46024 0.469707 0.48864 +0.502526 0.44888 0.3864 0.36936 0.35232 0.342853 0.359893 0.38072 +0.40912 0.412907 0.422373 0.445093 0.435627 0.450773 0.505053 0.583368 +0.735579 0.890316 0.980327 0.995347 1.00122 1.00318 1.0009 0.992082 +0.984898 0.989469 0.996653 0.993714 0.986204 0.986857 0.992735 0.998939 +1.00482 1.00808 1.00808 1.00416 1.00482 1.01037 1.01004 1.00612 +1.0058 1.00906 1.00939 1.00808 1.00547 1.00482 1.0022 0.995673 +0.987184 0.974316 0.960421 0.952211 0.947789 0.948421 0.950947 0.966105 +0.981633 0.985551 0.959158 0.844211 0.669895 0.534105 0.395867 0.304987 +0.30688 0.31256 0.276587 0.225467 0.00088 0.000806667 0.000786667 0.00082 +0.0008 0.000806667 0.0008 0.0008 0.000773333 0.00076 0.00078 0.000726667 +0.0007 0.0007 0.00072 0.000746667 0.000766667 0.000753333 0.000733333 0.00072 +0.000706667 0.000726667 0.00074 0.00068 0.000686667 0.000686667 0.000706667 0.0007 +0.000706667 0.00072 0.000713333 0.0007 0.000726667 0.000726667 0.000713333 0.000706667 +0.000713333 0.00072 0.00072 0.000733333 0.000746667 0.00074 0.00072 0.00072 +0.000733333 0.00072 0.000713333 0.00072 0.00074 0.00074 0.000713333 0.0007 +0.000693333 0.000686667 0.000666667 0.0007 0.00074 0.00074 0.000733333 0.00072 +0.000706667 0.000693333 0.000733333 0.00074 0.000793333 0.242507 0.303093 0.269013 +0.229253 0.23872 0.28984 0.287947 0.000986667 0.000806667 0.00076 0.000753333 +0.000853333 0.291733 0.433733 0.544842 0.731789 0.941474 0.99698 0.98849 +0.967368 0.948421 0.947789 0.965474 0.986857 1.00155 1.00873 1.00939 +1.01037 1.01167 1.00939 1.00808 1.01102 1.01037 1.00808 1.012 +1.00939 1.00318 1.00122 1.00384 1.0071 1.00873 1.0071 1.00678 +1.00547 1.00873 1.01396 1.02931 1.12695 1.35215 1.37649 1.20455 +1.05967 1.07522 1.24716 1.23803 1.0009 0.755789 0.574526 0.501895 +0.44888 0.458347 0.479173 0.490533 0.509474 0.524632 0.530947 0.510737 +0.441307 0.39776 0.40344 0.43184 0.416693 0.382613 0.37504 0.367467 +0.38072 0.433733 0.433733 0.378827 0.348533 0.348533 0.344747 0.356107 +0.390187 0.429947 0.475387 0.445093 0.371253 0.342853 0.3296 0.314453 +0.310667 0.322027 0.325813 0.327707 0.34096 0.365573 0.47728 0.520211 +0.44888 0.34096 0.327707 0.33528 0.342853 0.342853 0.339067 0.344747 +0.348533 0.34096 0.322027 0.31824 0.34096 0.371253 0.382613 0.39208 +0.36936 0.350427 0.358 0.358 0.36368 0.378827 0.39776 0.433733 +0.48296 0.504421 0.484853 0.42048 0.401547 0.496213 0.505684 0.4148 +0.36936 0.382613 0.4148 0.373147 0.333387 0.327707 0.325813 0.320133 +0.325813 0.327707 0.333387 0.337173 0.350427 0.356107 0.348533 0.350427 +0.350427 0.34664 0.342853 0.34664 0.359893 0.350427 0.339067 0.331493 +0.327707 0.320133 0.31256 0.339067 0.35232 0.34664 0.333387 0.314453 +0.32392 0.36368 0.388293 0.405333 0.467813 0.527789 0.548632 0.540421 +0.520211 0.464027 0.412907 0.424267 0.412907 0.39208 0.38072 0.373147 +0.378827 0.393973 0.390187 0.378827 0.376933 0.37504 0.359893 0.34096 +0.34096 0.365573 0.376933 0.3864 0.40912 0.44888 0.504421 0.549895 +0.549895 0.5 0.43184 0.43752 0.458347 0.510737 0.639579 0.86 +0.955368 0.965474 0.979368 0.989143 1.00547 1.02245 1.03551 1.0538 +1.37497 1.77516 1.68842 1.36584 1.18629 1.06761 1.03518 1.02898 +1.04367 1.08739 1.10869 1.0502 1.02702 1.02278 1.01853 1.01722 +1.02833 1.03355 1.02996 1.03388 1.04073 1.03845 1.03616 1.03127 +1.02963 1.03061 1.03061 1.03192 1.03682 1.04008 1.03355 1.03127 +1.03322 1.03094 1.02767 1.02637 1.03029 1.04204 1.05706 1.15282 +1.27455 1.42062 1.33389 1.04661 1.00188 0.993388 0.983592 0.959789 +0.949053 0.942105 0.943368 0.941474 0.932 0.897895 0.752632 0.571368 +0.504421 0.452667 0.486747 0.533474 0.543579 0.518947 0.484853 0.43752 +0.407227 0.39776 0.399653 0.393973 0.378827 0.395867 0.469707 0.564421 +0.642105 0.614947 0.524 0.42616 0.40912 0.411013 0.4148 0.429947 +0.446987 0.46592 0.568842 0.717263 0.802526 0.759579 0.646526 0.632 +0.705263 0.720421 0.645895 0.532211 0.42048 0.38072 0.38072 0.382613 +0.395867 0.412907 0.422373 0.502526 0.589053 0.710947 0.769053 0.692 +0.553684 0.43752 0.39776 0.445093 0.418587 0.359893 0.371253 0.450773 +0.519579 0.521474 0.467813 0.365573 0.337173 0.356107 0.354213 0.401547 +0.48296 0.503789 0.501895 0.48296 0.441307 0.4148 0.412907 0.422373 +0.401547 0.367467 0.350427 0.384507 0.4148 0.367467 0.325813 0.339067 +0.354213 0.327707 0.322027 0.333387 0.327707 0.350427 0.361787 0.35232 +0.34664 0.356107 0.371253 0.376933 0.365573 0.356107 0.342853 0.34664 +0.376933 0.3864 0.354213 0.356107 0.36368 0.354213 0.361787 0.361787 +0.36368 0.36368 0.342853 0.36936 0.435627 0.469707 0.503158 0.539789 +0.575158 0.551789 0.500632 0.418587 0.365573 0.337173 0.356107 0.39776 +0.428053 0.42048 0.422373 0.45456 0.446987 0.452667 0.544211 0.690737 +0.867579 0.985878 1.00906 1.01102 1.00776 1.00482 1.00188 0.992408 +0.986531 0.991102 0.990449 0.982286 0.981959 0.991102 0.997306 1.0009 +1.00416 1.00547 1.00743 1.00612 1.00482 1.00547 1.00449 1.0071 +1.01069 1.01069 1.00808 1.00743 1.00547 0.999918 0.993714 0.985878 +0.974947 0.957263 0.946526 0.947158 0.949684 0.954737 0.963579 0.981959 +0.98751 0.964842 0.861895 0.697053 0.546737 0.405333 0.303093 0.276587 +0.299307 0.293627 0.26712 0.229253 0.00092 0.000806667 0.000773333 0.00082 +0.000806667 0.000773333 0.000766667 0.00078 0.000766667 0.000746667 0.000766667 0.00072 +0.000726667 0.000713333 0.00068 0.000713333 0.000746667 0.000746667 0.000733333 0.0007 +0.00072 0.00072 0.000746667 0.000746667 0.000706667 0.000713333 0.000713333 0.0007 +0.0007 0.000693333 0.000693333 0.000713333 0.000733333 0.000733333 0.000713333 0.0007 +0.000713333 0.000713333 0.000706667 0.00072 0.00072 0.000733333 0.00074 0.000746667 +0.000753333 0.00074 0.000733333 0.00072 0.00072 0.000713333 0.000713333 0.000726667 +0.00072 0.0007 0.0007 0.0007 0.0007 0.0007 0.000693333 0.000733333 +0.00076 0.000753333 0.00076 0.00076 0.000773333 0.000946667 0.274693 0.293627 +0.274693 0.270907 0.28416 0.257653 0.00094 0.000806667 0.00076 0.000773333 +0.000806667 0.234933 0.37504 0.498107 0.633895 0.862526 0.989469 0.994367 +0.978737 0.959158 0.949684 0.957263 0.978105 0.996 1.00841 1.00971 +1.01004 1.01102 1.00743 1.00351 1.0071 1.00808 1.00743 1.01037 +1.01298 1.00939 1.00449 1.00514 1.00971 1.01102 1.00841 1.0071 +1.00318 1.00547 1.01233 1.02473 1.08891 1.36128 1.48301 1.33541 +1.12543 1.05935 1.18325 1.30346 1.05902 0.877684 0.642105 0.524632 +0.4716 0.475387 0.498107 0.501263 0.506316 0.5 0.469707 0.4432 +0.40912 0.39208 0.4148 0.433733 0.412907 0.378827 0.37504 0.38072 +0.428053 0.462133 0.412907 0.348533 0.34664 0.359893 0.350427 0.361787 +0.3864 0.393973 0.422373 0.429947 0.378827 0.348533 0.3296 0.316347 +0.303093 0.299307 0.304987 0.314453 0.320133 0.342853 0.464027 0.531579 +0.5 0.359893 0.3296 0.3296 0.34096 0.358 0.358 0.35232 +0.350427 0.337173 0.325813 0.333387 0.342853 0.36368 0.382613 0.405333 +0.40344 0.3864 0.388293 0.376933 0.382613 0.395867 0.435627 0.496213 +0.506947 0.467813 0.395867 0.361787 0.395867 0.503789 0.506316 0.416693 +0.36936 0.382613 0.39776 0.37504 0.337173 0.320133 0.327707 0.34096 +0.342853 0.342853 0.34664 0.348533 0.35232 0.350427 0.348533 0.34664 +0.354213 0.378827 0.384507 0.36936 0.367467 0.359893 0.354213 0.356107 +0.36368 0.348533 0.33528 0.350427 0.35232 0.356107 0.342853 0.331493 +0.33528 0.359893 0.393973 0.411013 0.43752 0.498107 0.513263 0.523368 +0.513895 0.462133 0.422373 0.424267 0.40912 0.388293 0.367467 0.35232 +0.373147 0.401547 0.411013 0.395867 0.37504 0.361787 0.361787 0.35232 +0.350427 0.361787 0.367467 0.388293 0.407227 0.418587 0.418587 0.504421 +0.535368 0.508842 0.446987 0.44888 0.46024 0.510105 0.656632 0.880211 +0.960421 0.973053 0.984571 0.993388 1.012 1.02637 1.03224 1.05641 +1.43279 1.75233 1.61691 1.33693 1.15586 1.05576 1.0342 1.02343 +1.02604 1.03976 1.0502 1.05053 1.04073 1.03029 1.02637 1.02702 +1.0329 1.04335 1.0391 1.04008 1.04465 1.04073 1.03812 1.03159 +1.03029 1.03551 1.0378 1.03257 1.03486 1.04008 1.03518 1.02931 +1.03094 1.03322 1.02441 1.02571 1.03714 1.04596 1.05608 1.1163 +1.14825 1.33237 1.49214 1.22433 1.02147 0.999918 0.992082 0.973053 +0.961053 0.953474 0.945895 0.944 0.940211 0.909263 0.764 0.578947 +0.501263 0.433733 0.4432 0.484853 0.5 0.506316 0.490533 0.439413 +0.40344 0.395867 0.407227 0.39776 0.36936 0.37504 0.506316 0.617474 +0.666105 0.587789 0.5 0.4148 0.40344 0.390187 0.39776 0.441307 +0.462133 0.498107 0.590947 0.748842 0.825263 0.753895 0.616211 0.607368 +0.693895 0.709053 0.631368 0.515158 0.367467 0.342853 0.36936 0.411013 +0.433733 0.424267 0.422373 0.47728 0.574526 0.719158 0.818947 0.777263 +0.618105 0.486747 0.412907 0.462133 0.42048 0.356107 0.33528 0.36936 +0.44888 0.501263 0.47728 0.405333 0.350427 0.359893 0.376933 0.384507 +0.422373 0.46024 0.479173 0.479173 0.45456 0.428053 0.418587 0.418587 +0.3864 0.35232 0.344747 0.367467 0.393973 0.371253 0.337173 0.327707 +0.344747 0.331493 0.316347 0.33528 0.34096 0.337173 0.337173 0.342853 +0.342853 0.344747 0.361787 0.371253 0.367467 0.35232 0.331493 0.325813 +0.34096 0.34664 0.344747 0.36368 0.382613 0.36936 0.358 0.350427 +0.34664 0.348533 0.35232 0.36936 0.405333 0.424267 0.456453 0.527158 +0.575789 0.563158 0.515789 0.475387 0.422373 0.39208 0.401547 0.433733 +0.43752 0.412907 0.4148 0.462133 0.48864 0.520211 0.630105 0.817053 +0.977474 1.01788 1.02506 1.02473 1.01918 1.00971 0.999592 0.986204 +0.98 0.985551 0.984245 0.98 0.985551 0.993388 0.998612 1.00416 +1.00743 1.00612 1.00449 1.00514 1.0058 1.00482 1.00612 1.00776 +1.00873 1.00906 1.00776 1.00416 0.999592 0.992082 0.984245 0.971158 +0.954737 0.947158 0.945263 0.950316 0.952211 0.962947 0.982612 0.989469 +0.973053 0.876421 0.718526 0.566316 0.42048 0.304987 0.253867 0.26144 +0.293627 0.282267 0.25576 0.219787 0.00092 0.000833333 0.000773333 0.00078 +0.000786667 0.000746667 0.00074 0.000766667 0.00076 0.00076 0.000806667 0.00074 +0.000733333 0.00076 0.0007 0.000673333 0.000706667 0.00074 0.000746667 0.00072 +0.00074 0.000726667 0.000706667 0.000733333 0.000693333 0.000686667 0.000706667 0.00072 +0.000706667 0.000706667 0.000726667 0.00072 0.000713333 0.000733333 0.000733333 0.000733333 +0.000733333 0.000746667 0.000733333 0.00074 0.000733333 0.00074 0.00072 0.000706667 +0.000713333 0.00072 0.00072 0.0007 0.000693333 0.000693333 0.000706667 0.00074 +0.00074 0.000726667 0.00074 0.000713333 0.000713333 0.000706667 0.00068 0.000706667 +0.000753333 0.00076 0.000753333 0.000753333 0.000773333 0.000873333 0.23304 0.274693 +0.27848 0.269013 0.251973 0.216 0.00088 0.0008 0.00076 0.00076 +0.00078 0.00094 0.331493 0.435627 0.557474 0.758316 0.953474 0.997633 +0.986204 0.967368 0.952211 0.956 0.970526 0.989143 1.00351 1.01004 +1.01069 1.01037 1.00678 1.00318 1.00645 1.00808 1.00841 1.00971 +1.01233 1.01331 1.00808 1.00384 1.00906 1.012 1.01004 1.00971 +1.00743 1.00808 1.01265 1.01984 1.05282 1.31563 1.53474 1.46931 +1.23651 1.09348 1.13912 1.30041 1.23803 0.993061 0.736211 0.559368 +0.481067 0.445093 0.44888 0.445093 0.43752 0.401547 0.37504 0.373147 +0.38072 0.395867 0.418587 0.418587 0.3864 0.376933 0.3864 0.424267 +0.473493 0.456453 0.384507 0.348533 0.358 0.36936 0.365573 0.359893 +0.367467 0.371253 0.39776 0.411013 0.365573 0.322027 0.322027 0.32392 +0.316347 0.3012 0.29552 0.30688 0.314453 0.331493 0.422373 0.525263 +0.517053 0.40912 0.356107 0.354213 0.367467 0.38072 0.378827 0.36368 +0.354213 0.33528 0.333387 0.344747 0.339067 0.339067 0.358 0.36936 +0.382613 0.390187 0.382613 0.371253 0.3864 0.435627 0.506947 0.518947 +0.484853 0.39776 0.350427 0.342853 0.388293 0.481067 0.464027 0.378827 +0.358 0.37504 0.373147 0.36368 0.342853 0.33528 0.35232 0.399653 +0.405333 0.371253 0.350427 0.348533 0.35232 0.350427 0.356107 0.354213 +0.384507 0.439413 0.439413 0.3864 0.361787 0.376933 0.401547 0.399653 +0.371253 0.348533 0.34096 0.35232 0.365573 0.365573 0.35232 0.34664 +0.344747 0.348533 0.36936 0.378827 0.411013 0.467813 0.515158 0.553053 +0.541053 0.502526 0.435627 0.407227 0.399653 0.395867 0.376933 0.36368 +0.38072 0.411013 0.418587 0.399653 0.371253 0.36368 0.356107 0.356107 +0.373147 0.371253 0.37504 0.395867 0.40344 0.412907 0.411013 0.446987 +0.510105 0.510737 0.473493 0.46024 0.473493 0.514526 0.673053 0.895368 +0.966737 0.975579 0.986857 0.999918 1.01788 1.02735 1.02833 1.08739 +1.54691 1.72799 1.49974 1.28672 1.12239 1.0502 1.04498 1.0391 +1.03029 1.02931 1.03029 1.03943 1.05282 1.04596 1.03584 1.03616 +1.03486 1.04171 1.04465 1.04629 1.04531 1.04629 1.04661 1.03616 +1.03388 1.03584 1.0378 1.03388 1.03029 1.0329 1.0342 1.02702 +1.03094 1.0378 1.02865 1.03029 1.03878 1.04237 1.04661 1.05608 +1.07065 1.23346 1.48301 1.40693 1.05412 1.00645 0.996 0.983918 +0.971158 0.958526 0.944 0.937684 0.935789 0.911158 0.777263 0.588421 +0.503158 0.441307 0.439413 0.4432 0.446987 0.450773 0.4432 0.42616 +0.407227 0.412907 0.428053 0.428053 0.405333 0.401547 0.530947 0.654105 +0.663579 0.549263 0.424267 0.3864 0.378827 0.38072 0.390187 0.433733 +0.46024 0.503789 0.611789 0.773474 0.831579 0.729895 0.589053 0.597895 +0.690105 0.704632 0.622526 0.503789 0.344747 0.34096 0.365573 0.405333 +0.416693 0.378827 0.382613 0.418587 0.535368 0.684421 0.818316 0.819579 +0.682526 0.534105 0.47728 0.48864 0.422373 0.371253 0.34664 0.34096 +0.39208 0.462133 0.46024 0.399653 0.342853 0.339067 0.371253 0.367467 +0.367467 0.39208 0.435627 0.4716 0.492427 0.48864 0.456453 0.407227 +0.365573 0.333387 0.327707 0.337173 0.358 0.35232 0.354213 0.348533 +0.344747 0.344747 0.337173 0.356107 0.365573 0.348533 0.3296 0.337173 +0.34096 0.34664 0.35232 0.344747 0.350427 0.34664 0.339067 0.342853 +0.33528 0.32392 0.327707 0.35232 0.382613 0.393973 0.388293 0.376933 +0.34664 0.3296 0.34096 0.365573 0.382613 0.38072 0.39208 0.445093 +0.496213 0.490533 0.469707 0.469707 0.456453 0.43752 0.43184 0.445093 +0.4432 0.422373 0.42616 0.46024 0.504421 0.573895 0.744421 0.949053 +1.03061 1.04498 1.0342 1.02767 1.02245 1.01298 0.998939 0.982939 +0.974947 0.976211 0.971789 0.982286 0.996653 1.00286 1.00253 1.00318 +1.00449 1.0058 1.00808 1.00645 1.00384 1.00351 1.00645 1.00906 +1.0071 1.00514 1.00318 0.998286 0.994041 0.985878 0.970526 0.953474 +0.947789 0.949053 0.944632 0.950947 0.964842 0.981633 0.989143 0.979368 +0.890947 0.728 0.568842 0.439413 0.320133 0.251973 0.234933 0.257653 +0.280373 0.259547 0.236827 0.000993333 0.000906667 0.000833333 0.000786667 0.000766667 +0.00078 0.00076 0.00074 0.000753333 0.000753333 0.000753333 0.00078 0.000766667 +0.000733333 0.000733333 0.000753333 0.0007 0.000686667 0.000706667 0.000733333 0.000706667 +0.000726667 0.00074 0.000693333 0.000746667 0.000693333 0.000686667 0.000713333 0.000726667 +0.000706667 0.00072 0.00072 0.0007 0.0007 0.00072 0.00072 0.000713333 +0.000726667 0.00072 0.00072 0.00074 0.000726667 0.00072 0.000726667 0.000713333 +0.00072 0.000726667 0.00072 0.000713333 0.00072 0.000713333 0.000726667 0.000726667 +0.000726667 0.000726667 0.000746667 0.000733333 0.000746667 0.000753333 0.00072 0.000733333 +0.00074 0.00072 0.000733333 0.000726667 0.00074 0.00078 0.000873333 0.217893 +0.231147 0.223573 0.00098 0.0009 0.000833333 0.000793333 0.000766667 0.000786667 +0.00078 0.000846667 0.27848 0.399653 0.507579 0.649053 0.872632 0.990776 +0.991102 0.973053 0.954105 0.951579 0.959158 0.980653 0.995347 1.00743 +1.01069 1.01004 1.00808 1.00514 1.00678 1.00841 1.0071 1.00841 +1.01069 1.01298 1.01135 1.00514 1.00449 1.00808 1.01004 1.012 +1.01396 1.01429 1.01657 1.02016 1.04106 1.2289 1.52409 1.58191 +1.37954 1.16347 1.10717 1.24716 1.32932 1.05216 0.849263 0.615579 +0.509474 0.43752 0.416693 0.4148 0.40344 0.382613 0.38072 0.384507 +0.390187 0.401547 0.4148 0.407227 0.384507 0.384507 0.407227 0.450773 +0.47728 0.429947 0.36368 0.34664 0.359893 0.378827 0.38072 0.371253 +0.367467 0.36936 0.384507 0.401547 0.3864 0.339067 0.325813 0.327707 +0.342853 0.331493 0.308773 0.308773 0.320133 0.33528 0.390187 0.509474 +0.528421 0.496213 0.452667 0.429947 0.390187 0.37504 0.36936 0.358 +0.354213 0.344747 0.33528 0.333387 0.333387 0.3296 0.339067 0.350427 +0.367467 0.36368 0.348533 0.35232 0.365573 0.42048 0.504421 0.505684 +0.40912 0.34096 0.333387 0.333387 0.371253 0.43752 0.42048 0.359893 +0.354213 0.359893 0.348533 0.337173 0.337173 0.337173 0.358 0.401547 +0.407227 0.36936 0.348533 0.354213 0.356107 0.361787 0.361787 0.373147 +0.42048 0.469707 0.4432 0.382613 0.359893 0.393973 0.435627 0.412907 +0.356107 0.333387 0.325813 0.339067 0.36368 0.36936 0.35232 0.344747 +0.356107 0.36936 0.365573 0.359893 0.388293 0.452667 0.534105 0.581474 +0.561263 0.522737 0.467813 0.395867 0.388293 0.3864 0.382613 0.39776 +0.4148 0.418587 0.42048 0.405333 0.378827 0.373147 0.361787 0.356107 +0.376933 0.388293 0.39776 0.390187 0.393973 0.412907 0.412907 0.43184 +0.48864 0.506947 0.492427 0.458347 0.475387 0.529053 0.702105 0.911789 +0.968 0.973684 0.989469 1.00645 1.02147 1.02571 1.02669 1.11782 +1.57126 1.66256 1.37193 1.14521 1.04857 1.03682 1.04237 1.04302 +1.03192 1.02506 1.02637 1.03551 1.04792 1.04498 1.0342 1.03616 +1.03518 1.03812 1.04629 1.04857 1.04008 1.04269 1.0489 1.04204 +1.04139 1.0391 1.03747 1.0329 1.02735 1.03061 1.03714 1.03094 +1.03192 1.03584 1.03976 1.04465 1.03812 1.02833 1.02735 1.03355 +1.04596 1.15282 1.36432 1.46779 1.22129 1.02245 0.999918 0.992082 +0.984245 0.969263 0.944632 0.933895 0.92821 0.911789 0.798737 0.608 +0.508842 0.450773 0.435627 0.424267 0.424267 0.4148 0.422373 0.429947 +0.42048 0.422373 0.435627 0.43184 0.429947 0.45456 0.549895 0.640211 +0.616842 0.511368 0.384507 0.371253 0.367467 0.382613 0.3864 0.412907 +0.43752 0.508842 0.628842 0.774737 0.815158 0.708421 0.585263 0.604211 +0.688211 0.705263 0.626947 0.505684 0.350427 0.339067 0.35232 0.388293 +0.39776 0.36936 0.373147 0.399653 0.502526 0.618105 0.760842 0.802526 +0.723579 0.592211 0.520211 0.503789 0.43752 0.399653 0.390187 0.393973 +0.43752 0.475387 0.473493 0.422373 0.365573 0.333387 0.34664 0.34664 +0.337173 0.348533 0.395867 0.46592 0.507579 0.507579 0.473493 0.418587 +0.376933 0.342853 0.33528 0.339067 0.348533 0.34096 0.344747 0.34664 +0.342853 0.348533 0.356107 0.388293 0.399653 0.365573 0.33528 0.32392 +0.32392 0.316347 0.325813 0.331493 0.33528 0.337173 0.34096 0.34664 +0.34664 0.339067 0.34664 0.358 0.373147 0.38072 0.373147 0.361787 +0.356107 0.35232 0.356107 0.376933 0.395867 0.371253 0.342853 0.34664 +0.35232 0.367467 0.40344 0.435627 0.446987 0.42616 0.39208 0.395867 +0.405333 0.412907 0.43752 0.486747 0.540421 0.668632 0.874526 1.01918 +1.05608 1.0538 1.04629 1.0391 1.02996 1.01396 0.990776 0.976211 +0.98 0.982939 0.981633 0.989469 0.999918 1.00351 1.00449 1.00416 +1.00318 1.00449 1.00351 1.00449 1.0071 1.00873 1.00645 1.00612 +1.0058 1.00449 0.998939 0.991755 0.983592 0.971789 0.960421 0.947789 +0.944 0.949684 0.952842 0.965474 0.983918 0.990122 0.980653 0.894737 +0.738737 0.575789 0.43184 0.339067 0.270907 0.22736 0.23304 0.25576 +0.269013 0.25576 0.234933 0.22168 0.000933333 0.000846667 0.00078 0.000746667 +0.00076 0.000746667 0.000733333 0.000753333 0.000746667 0.000733333 0.000766667 0.000773333 +0.000746667 0.00074 0.000726667 0.000733333 0.00072 0.0007 0.000713333 0.0007 +0.0007 0.000746667 0.000706667 0.000733333 0.000706667 0.00072 0.000746667 0.000746667 +0.000726667 0.000733333 0.000726667 0.00072 0.000706667 0.000706667 0.000713333 0.00072 +0.00072 0.000706667 0.0007 0.000713333 0.000706667 0.000706667 0.000726667 0.000733333 +0.000713333 0.000713333 0.000706667 0.000706667 0.000713333 0.000706667 0.00072 0.000733333 +0.000706667 0.000693333 0.000713333 0.000726667 0.00074 0.000726667 0.000706667 0.00074 +0.00074 0.000733333 0.000753333 0.00076 0.000746667 0.000746667 0.000773333 0.000846667 +0.000873333 0.000866667 0.000853333 0.000813333 0.000806667 0.000793333 0.000786667 0.000806667 +0.00078 0.000773333 0.000986667 0.337173 0.445093 0.563789 0.764 0.956 +0.994367 0.982286 0.958526 0.949053 0.948421 0.964211 0.986857 1.00253 +1.01069 1.01135 1.01037 1.00776 1.00906 1.00939 1.0071 1.00808 +1.01069 1.01265 1.01167 1.00939 1.00416 1.00482 1.00906 1.012 +1.01494 1.01494 1.01624 1.01984 1.03127 1.12999 1.46018 1.6443 +1.5104 1.23651 1.07065 1.14825 1.31563 1.20303 0.962947 0.695158 +0.539789 0.456453 0.4148 0.407227 0.401547 0.388293 0.3864 0.401547 +0.416693 0.416693 0.401547 0.384507 0.388293 0.39776 0.42048 0.439413 +0.441307 0.39208 0.358 0.350427 0.348533 0.376933 0.399653 0.390187 +0.38072 0.367467 0.359893 0.378827 0.40344 0.38072 0.34096 0.339067 +0.33528 0.320133 0.3012 0.304987 0.327707 0.356107 0.40344 0.509474 +0.539789 0.522737 0.503789 0.469707 0.416693 0.378827 0.36368 0.356107 +0.365573 0.36368 0.348533 0.342853 0.342853 0.339067 0.333387 0.350427 +0.36936 0.350427 0.337173 0.354213 0.376933 0.429947 0.49432 0.473493 +0.367467 0.322027 0.32392 0.325813 0.361787 0.4148 0.405333 0.373147 +0.376933 0.367467 0.34096 0.34096 0.344747 0.34096 0.354213 0.37504 +0.378827 0.358 0.34664 0.365573 0.371253 0.365573 0.371253 0.395867 +0.4432 0.44888 0.40912 0.359893 0.342853 0.36936 0.393973 0.373147 +0.358 0.348533 0.3296 0.337173 0.367467 0.36936 0.35232 0.342853 +0.373147 0.39208 0.376933 0.37504 0.401547 0.44888 0.538526 0.572632 +0.555579 0.537895 0.510105 0.429947 0.395867 0.388293 0.384507 0.393973 +0.40344 0.4148 0.441307 0.424267 0.382613 0.376933 0.36936 0.35232 +0.36368 0.405333 0.4432 0.416693 0.39776 0.411013 0.405333 0.42616 +0.481067 0.505053 0.502526 0.481067 0.492427 0.550526 0.740632 0.931368 +0.968632 0.977474 0.995347 1.01135 1.0218 1.02506 1.02376 1.07674 +1.4754 1.55148 1.31563 1.07674 1.03388 1.02669 1.03192 1.0329 +1.02473 1.02278 1.02996 1.03388 1.03322 1.0342 1.0342 1.03649 +1.03453 1.03714 1.05184 1.05412 1.0391 1.03388 1.03649 1.03486 +1.03747 1.04008 1.04433 1.03584 1.02702 1.02963 1.03584 1.0329 +1.03127 1.0329 1.04237 1.0489 1.03714 1.01886 1.0169 1.02082 +1.03388 1.07369 1.21064 1.40236 1.36128 1.04661 1.00841 0.999265 +0.989469 0.978737 0.952211 0.942737 0.930737 0.916211 0.829684 0.643368 +0.525263 0.475387 0.435627 0.42048 0.418587 0.4148 0.40912 0.412907 +0.422373 0.422373 0.40912 0.39776 0.39776 0.479173 0.564421 0.610526 +0.557474 0.450773 0.382613 0.38072 0.36936 0.371253 0.393973 0.4148 +0.441307 0.520211 0.635789 0.748842 0.761474 0.65979 0.565053 0.594105 +0.671789 0.695789 0.635789 0.520211 0.361787 0.325813 0.33528 0.378827 +0.390187 0.365573 0.356107 0.382613 0.439413 0.548632 0.671789 0.740632 +0.706526 0.604211 0.513895 0.44888 0.401547 0.384507 0.395867 0.441307 +0.464027 0.446987 0.445093 0.428053 0.384507 0.350427 0.344747 0.34664 +0.333387 0.333387 0.356107 0.418587 0.47728 0.492427 0.475387 0.452667 +0.4148 0.36936 0.354213 0.35232 0.359893 0.371253 0.361787 0.358 +0.359893 0.356107 0.337173 0.354213 0.37504 0.365573 0.348533 0.354213 +0.354213 0.32392 0.325813 0.339067 0.325813 0.310667 0.32392 0.333387 +0.33528 0.33528 0.350427 0.38072 0.3864 0.378827 0.36936 0.356107 +0.344747 0.359893 0.371253 0.388293 0.411013 0.39208 0.350427 0.337173 +0.34664 0.358 0.365573 0.3864 0.411013 0.40912 0.39208 0.39208 +0.39776 0.399653 0.429947 0.506947 0.606737 0.803789 1.00384 1.10565 +1.08587 1.04661 1.04596 1.04433 1.03649 1.01722 0.990776 0.974947 +0.973053 0.98098 0.988163 0.998939 1.00743 1.00482 1.0009 0.999592 +1.00253 1.00645 1.00449 1.00449 1.00776 1.00939 1.00873 1.0071 +1.00057 0.995347 0.990776 0.984898 0.971158 0.952211 0.947158 0.948421 +0.948421 0.950316 0.961053 0.982286 0.993388 0.982939 0.900421 0.750737 +0.589053 0.464027 0.342853 0.297413 0.242507 0.225467 0.2444 0.269013 +0.28416 0.26144 0.229253 0.000946667 0.000833333 0.000773333 0.000773333 0.000726667 +0.000733333 0.000753333 0.000746667 0.00076 0.00076 0.000733333 0.00074 0.00076 +0.000746667 0.000753333 0.00074 0.000706667 0.000746667 0.00074 0.000706667 0.000706667 +0.00068 0.00072 0.000726667 0.0007 0.000713333 0.000733333 0.00074 0.00072 +0.000713333 0.000733333 0.000753333 0.000746667 0.000726667 0.00072 0.00074 0.000733333 +0.00072 0.000713333 0.000706667 0.00072 0.000726667 0.00074 0.000746667 0.000726667 +0.0007 0.00072 0.000726667 0.00072 0.00072 0.000693333 0.00072 0.00072 +0.000706667 0.000706667 0.000706667 0.0007 0.000706667 0.000686667 0.000686667 0.000713333 +0.000733333 0.000733333 0.000746667 0.000746667 0.00076 0.00078 0.000786667 0.000806667 +0.000806667 0.000806667 0.000793333 0.000786667 0.0008 0.0008 0.000813333 0.000813333 +0.00078 0.00078 0.00086 0.27848 0.399653 0.513263 0.656632 0.875158 +0.989469 0.989469 0.966737 0.949684 0.946526 0.954737 0.976842 0.99502 +1.00841 1.012 1.01135 1.00971 1.012 1.01167 1.00971 1.01102 +1.012 1.01298 1.01102 1.01069 1.0058 1.00318 1.0058 1.01004 +1.01494 1.01559 1.01429 1.01657 1.02376 1.05347 1.35063 1.63365 +1.59256 1.30954 1.07217 1.06456 1.22281 1.25629 1.02016 0.790526 +0.584 0.492427 0.43184 0.418587 0.40344 0.39208 0.38072 0.395867 +0.422373 0.418587 0.39776 0.39776 0.416693 0.418587 0.407227 0.40344 +0.42048 0.395867 0.365573 0.34664 0.339067 0.358 0.384507 0.390187 +0.38072 0.358 0.342853 0.348533 0.378827 0.3864 0.358 0.339067 +0.3296 0.316347 0.30688 0.314453 0.33528 0.373147 0.416693 0.501263 +0.529684 0.510737 0.43184 0.407227 0.405333 0.39776 0.382613 0.3864 +0.40344 0.382613 0.344747 0.337173 0.348533 0.361787 0.359893 0.359893 +0.36368 0.354213 0.358 0.39776 0.42616 0.424267 0.456453 0.46592 +0.39208 0.34096 0.333387 0.339067 0.373147 0.401547 0.390187 0.405333 +0.399653 0.358 0.339067 0.359893 0.371253 0.365573 0.36936 0.373147 +0.371253 0.36368 0.354213 0.367467 0.376933 0.373147 0.373147 0.393973 +0.405333 0.393973 0.38072 0.359893 0.348533 0.37504 0.371253 0.35232 +0.371253 0.37504 0.359893 0.358 0.371253 0.361787 0.35232 0.35232 +0.399653 0.458347 0.428053 0.40344 0.424267 0.462133 0.527158 0.538526 +0.537895 0.553684 0.539158 0.49432 0.416693 0.40344 0.390187 0.378827 +0.361787 0.371253 0.412907 0.42048 0.39208 0.376933 0.367467 0.359893 +0.356107 0.393973 0.462133 0.46024 0.40912 0.399653 0.405333 0.416693 +0.46592 0.503789 0.505053 0.503789 0.509474 0.563789 0.760211 0.938316 +0.968632 0.981633 0.998286 1.01396 1.02343 1.02376 1.02082 1.05837 +1.40541 1.45562 1.25781 1.06 1.04171 1.03682 1.03551 1.03616 +1.02898 1.02669 1.03061 1.03192 1.03257 1.03714 1.0391 1.04008 +1.03584 1.03551 1.05151 1.05706 1.03943 1.02996 1.03192 1.03649 +1.0391 1.03453 1.04171 1.04302 1.0378 1.03616 1.03976 1.04041 +1.03551 1.03094 1.03159 1.03388 1.02898 1.01788 1.01722 1.01951 +1.02767 1.04824 1.12543 1.31563 1.42975 1.14977 1.02376 1.00841 +0.993388 0.982612 0.960421 0.954105 0.937684 0.915579 0.854316 0.683789 +0.548632 0.503158 0.44888 0.43184 0.412907 0.401547 0.390187 0.382613 +0.399653 0.412907 0.39776 0.3864 0.388293 0.503158 0.580842 0.590947 +0.517053 0.399653 0.36936 0.376933 0.367467 0.36368 0.407227 0.43752 +0.456453 0.530947 0.634526 0.707789 0.678737 0.578316 0.518947 0.561895 +0.644 0.680632 0.640211 0.532211 0.359893 0.31256 0.337173 0.378827 +0.378827 0.361787 0.358 0.365573 0.395867 0.5 0.584 0.659158 +0.654737 0.581474 0.5 0.393973 0.365573 0.36368 0.382613 0.445093 +0.45456 0.39776 0.38072 0.3864 0.365573 0.34096 0.339067 0.342853 +0.34096 0.34664 0.342853 0.358 0.407227 0.446987 0.464027 0.462133 +0.43752 0.38072 0.34664 0.34664 0.36936 0.399653 0.376933 0.348533 +0.350427 0.350427 0.344747 0.34096 0.34664 0.342853 0.3296 0.333387 +0.337173 0.333387 0.35232 0.367467 0.348533 0.327707 0.32392 0.31824 +0.314453 0.333387 0.359893 0.384507 0.376933 0.367467 0.384507 0.401547 +0.40344 0.39776 0.373147 0.376933 0.39208 0.399653 0.382613 0.36936 +0.378827 0.38072 0.361787 0.359893 0.373147 0.382613 0.378827 0.390187 +0.411013 0.42616 0.458347 0.542316 0.697684 0.938316 1.08282 1.22129 +1.09043 1.04694 1.04955 1.04955 1.03812 1.012 0.986857 0.979368 +0.978105 0.986204 0.994041 1.00155 1.00547 1.00188 0.998939 1.00024 +1.00188 1.00449 1.00645 1.01004 1.00939 1.00776 1.00678 1.00384 +0.994367 0.988163 0.981959 0.968632 0.957895 0.947789 0.943368 0.944632 +0.950316 0.964211 0.982939 0.993061 0.988163 0.916211 0.763368 0.596 +0.469707 0.371253 0.31256 0.240613 0.00096 0.219787 0.25008 0.265227 +0.269013 0.242507 0.00096 0.00088 0.000793333 0.000746667 0.000786667 0.000786667 +0.00076 0.000766667 0.000766667 0.000753333 0.000753333 0.000746667 0.000726667 0.000746667 +0.000753333 0.00074 0.000733333 0.00072 0.000713333 0.000733333 0.00072 0.000713333 +0.00068 0.000666667 0.000726667 0.00074 0.000726667 0.000733333 0.000726667 0.000713333 +0.000713333 0.000733333 0.000746667 0.000733333 0.000713333 0.000713333 0.000726667 0.00072 +0.0007 0.0007 0.0007 0.000726667 0.000713333 0.000726667 0.00074 0.000726667 +0.000713333 0.000746667 0.000753333 0.000733333 0.000733333 0.000733333 0.00074 0.000726667 +0.000706667 0.000733333 0.000726667 0.000706667 0.000713333 0.00072 0.00074 0.000746667 +0.000733333 0.00072 0.000706667 0.00072 0.000753333 0.000786667 0.000786667 0.000773333 +0.00076 0.000753333 0.000773333 0.000806667 0.000813333 0.0008 0.00082 0.00084 +0.000806667 0.000786667 0.00082 0.229253 0.348533 0.44888 0.565053 0.764632 +0.953474 0.99502 0.981633 0.956 0.947158 0.952211 0.965474 0.985551 +1.00057 1.00841 1.01004 1.00971 1.012 1.01102 1.00906 1.01004 +1.01265 1.01265 1.01167 1.01167 1.00808 1.00286 0.999918 1.00384 +1.01265 1.01559 1.01461 1.01461 1.01951 1.03584 1.20607 1.55148 +1.64125 1.41606 1.14065 1.05771 1.1376 1.23042 1.0538 0.897895 +0.659158 0.527789 0.46592 0.435627 0.418587 0.401547 0.388293 0.395867 +0.412907 0.40912 0.411013 0.42048 0.42048 0.39776 0.373147 0.37504 +0.390187 0.388293 0.373147 0.358 0.35232 0.344747 0.359893 0.384507 +0.376933 0.348533 0.333387 0.33528 0.356107 0.36936 0.348533 0.337173 +0.331493 0.32392 0.322027 0.3296 0.342853 0.367467 0.376933 0.418587 +0.507579 0.505053 0.422373 0.38072 0.373147 0.378827 0.376933 0.38072 +0.388293 0.36936 0.342853 0.333387 0.339067 0.365573 0.393973 0.38072 +0.37504 0.39776 0.433733 0.47728 0.456453 0.390187 0.382613 0.433733 +0.4148 0.348533 0.331493 0.344747 0.373147 0.376933 0.378827 0.4148 +0.395867 0.342853 0.337173 0.358 0.38072 0.3864 0.384507 0.373147 +0.367467 0.376933 0.371253 0.37504 0.390187 0.38072 0.37504 0.378827 +0.361787 0.342853 0.348533 0.354213 0.371253 0.393973 0.382613 0.354213 +0.36368 0.36368 0.356107 0.361787 0.365573 0.356107 0.356107 0.36368 +0.424267 0.504421 0.48864 0.416693 0.42048 0.469707 0.512 0.503158 +0.509474 0.548632 0.565053 0.534737 0.473493 0.40912 0.378827 0.356107 +0.348533 0.35232 0.378827 0.40912 0.40344 0.388293 0.371253 0.376933 +0.382613 0.388293 0.44888 0.46592 0.40912 0.390187 0.405333 0.416693 +0.464027 0.505053 0.506947 0.508842 0.517684 0.577684 0.776 0.938947 +0.963579 0.978105 0.996327 1.01363 1.02082 1.0169 1.01788 1.07217 +1.40084 1.39323 1.19847 1.06609 1.05151 1.04531 1.03616 1.03584 +1.03388 1.03029 1.03127 1.03486 1.03976 1.04629 1.04335 1.04041 +1.0378 1.03584 1.04955 1.06152 1.04204 1.02702 1.03322 1.04596 +1.0538 1.04204 1.03486 1.04269 1.04661 1.04661 1.05053 1.04955 +1.03649 1.028 1.02702 1.03388 1.03388 1.02376 1.01984 1.02212 +1.02735 1.04237 1.09195 1.22586 1.42214 1.28824 1.03878 1.01298 +0.999592 0.98849 0.971158 0.963579 0.950947 0.920632 0.867579 0.709684 +0.563158 0.511368 0.486747 0.475387 0.42616 0.39776 0.390187 0.3864 +0.382613 0.399653 0.39208 0.39208 0.441307 0.536 0.596632 0.563789 +0.46024 0.365573 0.36368 0.371253 0.365573 0.361787 0.4148 0.464027 +0.486747 0.548632 0.627579 0.642737 0.589684 0.514526 0.46024 0.534105 +0.62 0.668 0.640842 0.547368 0.39208 0.316347 0.3296 0.359893 +0.354213 0.35232 0.350427 0.342853 0.36368 0.42048 0.523368 0.589053 +0.604842 0.565053 0.503158 0.390187 0.36368 0.388293 0.42616 0.4432 +0.4148 0.367467 0.367467 0.38072 0.378827 0.356107 0.348533 0.344747 +0.327707 0.331493 0.34664 0.342853 0.37504 0.439413 0.48296 0.484853 +0.462133 0.3864 0.331493 0.327707 0.38072 0.429947 0.39208 0.358 +0.350427 0.342853 0.337173 0.337173 0.339067 0.34096 0.331493 0.327707 +0.32392 0.316347 0.325813 0.356107 0.358 0.344747 0.339067 0.34664 +0.348533 0.371253 0.390187 0.365573 0.350427 0.358 0.3864 0.43184 +0.464027 0.428053 0.388293 0.39776 0.401547 0.393973 0.3864 0.373147 +0.37504 0.37504 0.378827 0.382613 0.395867 0.407227 0.395867 0.384507 +0.388293 0.40344 0.490533 0.608 0.825263 1.03355 1.26998 1.18021 +1.05216 1.04694 1.05771 1.07522 1.04988 1.01559 0.985224 0.975579 +0.98 0.991102 1.00122 1.00482 1.00416 0.999592 0.998286 1.00155 +1.00449 1.00612 1.00776 1.012 1.01037 1.00645 1.00188 0.995673 +0.986204 0.980327 0.969895 0.954105 0.949684 0.947789 0.946526 0.949053 +0.960421 0.982612 0.994367 0.994694 0.937053 0.781053 0.604842 0.46024 +0.35232 0.333387 0.259547 0.000906667 0.000866667 0.00096 0.2444 0.265227 +0.269013 0.240613 0.000946667 0.000866667 0.000786667 0.00074 0.000753333 0.000766667 +0.000766667 0.000766667 0.000773333 0.000766667 0.000753333 0.000746667 0.000726667 0.000726667 +0.000753333 0.000706667 0.000706667 0.000713333 0.000713333 0.000713333 0.000693333 0.000686667 +0.000706667 0.000693333 0.000706667 0.000713333 0.0007 0.0007 0.000706667 0.000713333 +0.000733333 0.000746667 0.000753333 0.000733333 0.000726667 0.000726667 0.000726667 0.000733333 +0.000746667 0.00076 0.000746667 0.000746667 0.00072 0.00072 0.000726667 0.000713333 +0.0007 0.00072 0.00072 0.000706667 0.000713333 0.00072 0.000713333 0.0007 +0.000686667 0.0007 0.000713333 0.000706667 0.000713333 0.000733333 0.000733333 0.00072 +0.000726667 0.000726667 0.00072 0.000713333 0.000733333 0.000766667 0.00078 0.00078 +0.000773333 0.000753333 0.000773333 0.000813333 0.000826667 0.0008 0.000806667 0.000806667 +0.00082 0.00082 0.0008 0.0009 0.27848 0.382613 0.504421 0.646526 +0.864421 0.988163 0.990776 0.966737 0.948421 0.947789 0.955368 0.974316 +0.992408 1.0058 1.01069 1.01037 1.01069 1.00906 1.00873 1.00906 +1.01135 1.01233 1.01265 1.012 1.01069 1.00547 0.997306 0.99698 +1.0058 1.01233 1.01461 1.01396 1.01592 1.02441 1.06 1.39932 +1.63517 1.53778 1.24564 1.07217 1.09195 1.19238 1.12847 0.988816 +0.755789 0.580211 0.507579 0.450773 0.422373 0.399653 0.405333 0.416693 +0.42048 0.42616 0.439413 0.418587 0.384507 0.359893 0.36936 0.376933 +0.359893 0.358 0.367467 0.367467 0.358 0.354213 0.361787 0.384507 +0.376933 0.356107 0.350427 0.337173 0.34664 0.348533 0.331493 0.331493 +0.337173 0.325813 0.331493 0.35232 0.358 0.35232 0.34096 0.399653 +0.503158 0.501895 0.4432 0.42048 0.399653 0.373147 0.361787 0.348533 +0.34664 0.350427 0.348533 0.339067 0.339067 0.36368 0.401547 0.4148 +0.418587 0.45456 0.47728 0.475387 0.424267 0.361787 0.354213 0.411013 +0.407227 0.350427 0.337173 0.359893 0.373147 0.371253 0.390187 0.40912 +0.37504 0.354213 0.367467 0.356107 0.35232 0.371253 0.39208 0.38072 +0.354213 0.36936 0.3864 0.388293 0.393973 0.37504 0.36368 0.361787 +0.350427 0.337173 0.331493 0.33528 0.361787 0.378827 0.373147 0.359893 +0.359893 0.359893 0.350427 0.35232 0.358 0.35232 0.365573 0.371253 +0.390187 0.4432 0.445093 0.424267 0.433733 0.462133 0.469707 0.43184 +0.462133 0.534105 0.580842 0.580211 0.527158 0.435627 0.373147 0.34664 +0.342853 0.348533 0.376933 0.418587 0.412907 0.401547 0.3864 0.38072 +0.378827 0.384507 0.439413 0.467813 0.412907 0.393973 0.4148 0.4432 +0.498107 0.507579 0.505684 0.505684 0.510737 0.579579 0.778526 0.936421 +0.960421 0.973684 0.995673 1.01396 1.02082 1.01592 1.01657 1.06913 +1.35824 1.29737 1.11478 1.05216 1.0391 1.03518 1.0342 1.03224 +1.03159 1.03257 1.03682 1.03616 1.03355 1.0391 1.03747 1.03682 +1.04073 1.03878 1.04661 1.05739 1.04335 1.02702 1.03224 1.04531 +1.05706 1.05282 1.03584 1.03453 1.0378 1.03518 1.03747 1.03812 +1.02735 1.02637 1.0378 1.04661 1.0391 1.028 1.02114 1.02082 +1.02669 1.04269 1.07978 1.1939 1.41301 1.36584 1.05053 1.01755 +1.00743 0.99502 0.981633 0.973053 0.963579 0.935789 0.889684 0.742526 +0.584 0.522105 0.513895 0.513895 0.475387 0.441307 0.428053 0.416693 +0.4148 0.428053 0.43752 0.44888 0.511368 0.579579 0.614316 0.544211 +0.401547 0.344747 0.359893 0.373147 0.3864 0.39776 0.422373 0.473493 +0.511368 0.556842 0.591579 0.568211 0.520211 0.4432 0.424267 0.515158 +0.600421 0.660421 0.641474 0.555579 0.416693 0.325813 0.316347 0.337173 +0.33528 0.327707 0.325813 0.320133 0.333387 0.358 0.43752 0.527789 +0.554316 0.536632 0.500632 0.416693 0.40344 0.450773 0.503789 0.458347 +0.376933 0.34096 0.354213 0.36936 0.390187 0.3864 0.35232 0.34096 +0.33528 0.327707 0.342853 0.333387 0.350427 0.422373 0.501263 0.506947 +0.5 0.4432 0.371253 0.342853 0.399653 0.47728 0.4432 0.393973 +0.371253 0.36368 0.37504 0.37504 0.359893 0.344747 0.33528 0.333387 +0.333387 0.3296 0.337173 0.376933 0.384507 0.348533 0.325813 0.342853 +0.361787 0.40912 0.42616 0.382613 0.356107 0.359893 0.365573 0.405333 +0.433733 0.395867 0.373147 0.405333 0.40344 0.401547 0.429947 0.42616 +0.384507 0.354213 0.350427 0.358 0.390187 0.42616 0.433733 0.4148 +0.405333 0.416693 0.526526 0.694526 0.960421 1.21825 1.33237 1.10717 +1.04629 1.05412 1.10108 1.11782 1.05249 1.01363 0.98751 0.983265 +0.98751 0.994694 0.999265 0.999918 1.00188 1.00286 1.00318 1.00188 +1.00384 1.0071 1.00939 1.01298 1.01167 1.00384 0.994041 0.986857 +0.981306 0.969895 0.956632 0.947789 0.947158 0.949684 0.950316 0.954737 +0.976842 0.993061 0.994694 0.952842 0.803789 0.617474 0.469707 0.3296 +0.322027 0.28984 0.000993333 0.00086 0.000873333 0.217893 0.257653 0.265227 +0.269013 0.248187 0.000933333 0.00082 0.00076 0.00074 0.000733333 0.000733333 +0.000733333 0.000733333 0.000733333 0.000733333 0.000753333 0.000766667 0.000753333 0.000746667 +0.000766667 0.000726667 0.000673333 0.000686667 0.000706667 0.000726667 0.000733333 0.000713333 +0.000706667 0.000706667 0.000733333 0.000726667 0.000713333 0.000706667 0.000693333 0.000693333 +0.000713333 0.000713333 0.000713333 0.0007 0.000706667 0.0007 0.000686667 0.0007 +0.000733333 0.000746667 0.000733333 0.000746667 0.000746667 0.00074 0.000753333 0.000733333 +0.000706667 0.000726667 0.00074 0.00074 0.00074 0.00074 0.00072 0.00072 +0.000713333 0.000713333 0.000706667 0.000706667 0.000713333 0.000713333 0.000713333 0.000693333 +0.000686667 0.000706667 0.000713333 0.000706667 0.000713333 0.000706667 0.000726667 0.000746667 +0.000766667 0.000766667 0.00078 0.000806667 0.000813333 0.0008 0.000793333 0.000793333 +0.000813333 0.000826667 0.000826667 0.000853333 0.23304 0.34664 0.4432 0.556842 +0.746316 0.942737 0.996 0.983265 0.955368 0.942737 0.945263 0.962316 +0.985878 1.00155 1.00939 1.01102 1.01004 1.00808 1.00873 1.01102 +1.012 1.01233 1.012 1.01233 1.01167 1.00971 1.00318 0.996 +1.00057 1.00939 1.01527 1.01527 1.01429 1.01788 1.03584 1.2076 +1.53778 1.61691 1.36432 1.10108 1.0551 1.14065 1.19086 1.0342 +0.861895 0.645895 0.529684 0.464027 0.422373 0.416693 0.42616 0.42616 +0.42048 0.422373 0.428053 0.399653 0.35232 0.348533 0.365573 0.371253 +0.354213 0.344747 0.354213 0.348533 0.339067 0.34664 0.356107 0.36936 +0.36936 0.373147 0.373147 0.350427 0.35232 0.350427 0.331493 0.3296 +0.33528 0.327707 0.327707 0.350427 0.36368 0.348533 0.354213 0.4432 +0.506947 0.458347 0.40344 0.4148 0.42616 0.405333 0.376933 0.354213 +0.348533 0.344747 0.331493 0.322027 0.33528 0.356107 0.376933 0.399653 +0.411013 0.435627 0.441307 0.401547 0.350427 0.331493 0.348533 0.407227 +0.416693 0.36936 0.34664 0.361787 0.38072 0.384507 0.412907 0.39776 +0.359893 0.38072 0.412907 0.384507 0.339067 0.339067 0.382613 0.40344 +0.361787 0.36368 0.384507 0.382613 0.390187 0.371253 0.354213 0.359893 +0.354213 0.344747 0.331493 0.331493 0.354213 0.361787 0.350427 0.35232 +0.373147 0.3864 0.359893 0.358 0.354213 0.359893 0.378827 0.382613 +0.3864 0.39776 0.42048 0.44888 0.473493 0.464027 0.418587 0.378827 +0.40344 0.510105 0.577053 0.613053 0.579579 0.512632 0.399653 0.365573 +0.354213 0.348533 0.378827 0.429947 0.405333 0.38072 0.382613 0.388293 +0.37504 0.371253 0.40344 0.456453 0.456453 0.428053 0.4432 0.47728 +0.509474 0.512 0.511368 0.503789 0.500632 0.569474 0.769684 0.932632 +0.962947 0.98 0.996653 1.01265 1.02114 1.01853 1.02473 1.13152 +1.33237 1.21368 1.05641 1.04073 1.03159 1.02963 1.03551 1.03616 +1.03355 1.03355 1.03747 1.03388 1.03159 1.03551 1.0342 1.03192 +1.03943 1.04237 1.04694 1.0489 1.03845 1.03192 1.03192 1.03714 +1.04465 1.04792 1.04041 1.03518 1.03257 1.02702 1.0218 1.02539 +1.02408 1.02996 1.04531 1.044 1.0342 1.0378 1.03159 1.02376 +1.03159 1.04857 1.06456 1.17869 1.34911 1.31259 1.05086 1.0169 +1.01037 0.999918 0.987184 0.976842 0.971789 0.949684 0.913684 0.777263 +0.599158 0.520211 0.512 0.519579 0.508211 0.501895 0.49432 0.479173 +0.48296 0.490533 0.490533 0.48864 0.515789 0.580842 0.609895 0.537895 +0.405333 0.348533 0.356107 0.36936 0.40344 0.45456 0.456453 0.501263 +0.525263 0.534105 0.529053 0.507579 0.435627 0.39776 0.422373 0.504421 +0.584 0.650947 0.638947 0.556842 0.428053 0.339067 0.314453 0.32392 +0.331493 0.31824 0.31256 0.316347 0.3296 0.325813 0.350427 0.435627 +0.500632 0.496213 0.46592 0.435627 0.4148 0.450773 0.506316 0.467813 +0.384507 0.348533 0.34664 0.359893 0.388293 0.401547 0.367467 0.342853 +0.34664 0.33528 0.3296 0.33528 0.337173 0.384507 0.46592 0.501895 +0.498107 0.47728 0.429947 0.382613 0.428053 0.519579 0.513895 0.450773 +0.388293 0.378827 0.390187 0.382613 0.358 0.34664 0.337173 0.331493 +0.33528 0.331493 0.344747 0.39208 0.428053 0.388293 0.348533 0.325813 +0.337173 0.395867 0.418587 0.37504 0.358 0.365573 0.384507 0.40344 +0.39208 0.378827 0.371253 0.401547 0.401547 0.40912 0.45456 0.452667 +0.395867 0.37504 0.367467 0.356107 0.37504 0.401547 0.422373 0.424267 +0.439413 0.501895 0.598526 0.819579 1.04171 1.3415 1.21216 1.04824 +1.04792 1.11326 1.2076 1.18934 1.05151 1.00384 0.981306 0.985878 +0.996653 1.00416 1.00416 1.0009 0.997306 0.997306 1.00253 1.00514 +1.00776 1.00906 1.01167 1.01004 1.0058 0.997959 0.98849 0.980327 +0.969263 0.959158 0.953474 0.946526 0.945263 0.949684 0.960421 0.973684 +0.988163 0.996 0.966737 0.827789 0.634526 0.48864 0.339067 0.316347 +0.297413 0.234933 0.00088 0.000866667 0.000906667 0.22168 0.259547 0.263333 +0.251973 0.23304 0.000893333 0.000793333 0.000746667 0.000733333 0.00074 0.000713333 +0.000713333 0.000726667 0.000746667 0.00072 0.00072 0.000753333 0.000766667 0.000766667 +0.000773333 0.00074 0.0007 0.000686667 0.000693333 0.00074 0.000753333 0.00076 +0.000726667 0.000713333 0.00074 0.000753333 0.000733333 0.00072 0.000713333 0.00072 +0.00072 0.000713333 0.0007 0.0007 0.000713333 0.000706667 0.000713333 0.0007 +0.0007 0.000713333 0.000706667 0.000713333 0.00072 0.00072 0.000726667 0.00072 +0.000706667 0.00072 0.00074 0.000726667 0.000726667 0.00074 0.000733333 0.000733333 +0.000726667 0.000726667 0.00072 0.000713333 0.000706667 0.000713333 0.000726667 0.000726667 +0.000706667 0.00072 0.00072 0.000713333 0.00072 0.000713333 0.00072 0.000726667 +0.000726667 0.000746667 0.00078 0.0008 0.000786667 0.000766667 0.000773333 0.000786667 +0.000793333 0.000793333 0.00078 0.000806667 0.000953333 0.299307 0.40912 0.501895 +0.624421 0.842316 0.984898 0.994041 0.976842 0.951579 0.943368 0.952842 +0.974947 0.993388 1.0058 1.01004 1.012 1.01135 1.01135 1.012 +1.01167 1.01102 1.01004 1.012 1.01167 1.01069 1.00808 0.999918 +0.998286 1.00547 1.01265 1.01494 1.01233 1.01461 1.02245 1.05412 +1.36432 1.61995 1.50431 1.19542 1.05184 1.07674 1.19694 1.09348 +0.967368 0.731158 0.565053 0.490533 0.433733 0.422373 0.4148 0.39776 +0.395867 0.40344 0.40912 0.395867 0.361787 0.348533 0.356107 0.367467 +0.356107 0.35232 0.36368 0.354213 0.339067 0.342853 0.342853 0.348533 +0.348533 0.390187 0.418587 0.373147 0.358 0.359893 0.337173 0.316347 +0.325813 0.34096 0.331493 0.339067 0.350427 0.344747 0.378827 0.492427 +0.511368 0.43752 0.36368 0.367467 0.405333 0.43184 0.40912 0.373147 +0.348533 0.333387 0.3296 0.337173 0.348533 0.356107 0.354213 0.358 +0.367467 0.378827 0.395867 0.358 0.320133 0.320133 0.337173 0.388293 +0.405333 0.371253 0.34664 0.35232 0.373147 0.393973 0.407227 0.373147 +0.359893 0.411013 0.4432 0.405333 0.35232 0.331493 0.36368 0.401547 +0.376933 0.367467 0.37504 0.373147 0.393973 0.38072 0.37504 0.390187 +0.376933 0.348533 0.337173 0.348533 0.3864 0.371253 0.342853 0.339067 +0.358 0.36936 0.354213 0.36368 0.359893 0.37504 0.384507 0.378827 +0.384507 0.407227 0.435627 0.469707 0.48296 0.435627 0.384507 0.365573 +0.38072 0.464027 0.548 0.611789 0.626316 0.575789 0.503158 0.390187 +0.36368 0.354213 0.378827 0.43184 0.399653 0.358 0.36936 0.388293 +0.38072 0.371253 0.37504 0.43184 0.48296 0.467813 0.4716 0.481067 +0.49432 0.503158 0.514526 0.508842 0.49432 0.569474 0.773474 0.933895 +0.962947 0.98098 0.998612 1.01233 1.01755 1.01755 1.04367 1.25933 +1.33541 1.18934 1.05086 1.03714 1.03943 1.03453 1.03453 1.04008 +1.03714 1.02931 1.02898 1.03127 1.03616 1.03943 1.03682 1.03322 +1.04139 1.04629 1.05216 1.04857 1.0391 1.04171 1.04073 1.03747 +1.03682 1.04237 1.044 1.03812 1.03616 1.03584 1.03094 1.03355 +1.03257 1.03355 1.04073 1.03714 1.04171 1.05347 1.04302 1.02669 +1.02833 1.03812 1.04269 1.09652 1.23498 1.27455 1.08435 1.0218 +1.01429 1.00743 0.994041 0.980653 0.971158 0.949053 0.919368 0.798737 +0.613053 0.520842 0.504421 0.506316 0.501895 0.486747 0.48864 0.48296 +0.475387 0.45456 0.4432 0.43752 0.5 0.565053 0.587789 0.524 +0.4148 0.378827 0.361787 0.367467 0.395867 0.456453 0.492427 0.517053 +0.520211 0.484853 0.435627 0.40344 0.36368 0.359893 0.395867 0.4716 +0.563158 0.629474 0.625053 0.556842 0.452667 0.365573 0.33528 0.339067 +0.339067 0.322027 0.320133 0.33528 0.339067 0.327707 0.331493 0.373147 +0.40344 0.412907 0.42616 0.416693 0.378827 0.384507 0.446987 0.433733 +0.395867 0.359893 0.342853 0.359893 0.382613 0.424267 0.418587 0.36936 +0.34664 0.339067 0.331493 0.333387 0.333387 0.34664 0.388293 0.4432 +0.4716 0.479173 0.46592 0.43752 0.469707 0.520842 0.506316 0.4148 +0.371253 0.358 0.358 0.34664 0.3296 0.320133 0.308773 0.30688 +0.320133 0.32392 0.337173 0.376933 0.412907 0.388293 0.358 0.33528 +0.34096 0.411013 0.43752 0.393973 0.371253 0.376933 0.395867 0.407227 +0.405333 0.424267 0.429947 0.428053 0.42616 0.424267 0.450773 0.446987 +0.411013 0.40344 0.411013 0.428053 0.43752 0.429947 0.42048 0.405333 +0.433733 0.529684 0.688842 0.961684 1.24411 1.34302 1.0813 1.03714 +1.05347 1.16499 1.25933 1.21064 1.04629 1.0009 0.98751 0.993388 +1.00057 1.00318 1.00384 1.00253 0.996653 0.99698 1.00253 1.00612 +1.00873 1.01037 1.01363 1.00906 0.99698 0.986531 0.98098 0.973053 +0.961684 0.950947 0.953474 0.949053 0.944632 0.954105 0.976211 0.990449 +0.996327 0.977474 0.851158 0.662947 0.506316 0.325813 0.304987 0.29552 +0.253867 0.00096 0.000846667 0.00084 0.000906667 0.22168 0.259547 0.265227 +0.240613 0.00096 0.000826667 0.00076 0.00076 0.000746667 0.00074 0.000733333 +0.000733333 0.000713333 0.000733333 0.00072 0.00068 0.000726667 0.000786667 0.000766667 +0.00078 0.000773333 0.00074 0.00072 0.000666667 0.000673333 0.00072 0.00072 +0.000706667 0.000686667 0.000673333 0.00072 0.000733333 0.00074 0.000726667 0.000733333 +0.000746667 0.000733333 0.000713333 0.000726667 0.000746667 0.000733333 0.000726667 0.00072 +0.00072 0.00072 0.000726667 0.00074 0.00074 0.000713333 0.000693333 0.000693333 +0.000706667 0.000733333 0.000746667 0.00074 0.00074 0.000726667 0.000713333 0.000726667 +0.00072 0.00072 0.000733333 0.000733333 0.00072 0.000713333 0.000713333 0.000713333 +0.000693333 0.0007 0.000706667 0.0007 0.000733333 0.000753333 0.000753333 0.00074 +0.000726667 0.000753333 0.000773333 0.00078 0.00076 0.000766667 0.00078 0.000793333 +0.000793333 0.000793333 0.00078 0.000793333 0.000893333 0.2444 0.350427 0.429947 +0.537895 0.713474 0.916211 0.992082 0.987184 0.963579 0.946526 0.948421 +0.958526 0.982286 0.997306 1.00612 1.01069 1.01331 1.01298 1.01298 +1.01233 1.01298 1.012 1.01265 1.01069 1.00873 1.01069 1.00743 +1.00122 1.00253 1.00808 1.01265 1.01298 1.01429 1.01722 1.02931 +1.14977 1.49822 1.59104 1.33693 1.07217 1.05314 1.13456 1.15586 +1.02049 0.832842 0.626316 0.522105 0.467813 0.43752 0.412907 0.382613 +0.37504 0.39208 0.405333 0.395867 0.36368 0.348533 0.361787 0.358 +0.344747 0.35232 0.367467 0.36936 0.359893 0.358 0.34664 0.35232 +0.34664 0.39776 0.44888 0.407227 0.36936 0.36368 0.333387 0.316347 +0.331493 0.344747 0.32392 0.32392 0.33528 0.356107 0.42616 0.506316 +0.503158 0.40912 0.348533 0.34096 0.371253 0.401547 0.40344 0.38072 +0.359893 0.350427 0.34664 0.350427 0.34664 0.342853 0.3296 0.32392 +0.34096 0.34664 0.36368 0.354213 0.339067 0.344747 0.350427 0.37504 +0.382613 0.36936 0.354213 0.365573 0.3864 0.401547 0.384507 0.35232 +0.38072 0.418587 0.4148 0.378827 0.35232 0.339067 0.350427 0.40344 +0.39776 0.376933 0.37504 0.39208 0.422373 0.412907 0.412907 0.416693 +0.38072 0.350427 0.34664 0.361787 0.38072 0.37504 0.348533 0.339067 +0.348533 0.350427 0.365573 0.378827 0.376933 0.3864 0.3864 0.378827 +0.382613 0.4148 0.467813 0.505053 0.508211 0.435627 0.376933 0.373147 +0.390187 0.42048 0.506316 0.579579 0.641474 0.633263 0.564421 0.48296 +0.388293 0.358 0.376933 0.439413 0.416693 0.376933 0.388293 0.393973 +0.38072 0.371253 0.37504 0.42616 0.481067 0.46592 0.46024 0.46024 +0.452667 0.46592 0.508842 0.518947 0.506316 0.570105 0.776632 0.933895 +0.961053 0.981959 1.00253 1.01494 1.01396 1.01624 1.07369 1.36889 +1.33998 1.16956 1.04759 1.03453 1.03714 1.0342 1.03322 1.03714 +1.03976 1.03127 1.02898 1.03388 1.03388 1.03224 1.03224 1.03747 +1.04661 1.04922 1.05151 1.04824 1.04073 1.04824 1.0538 1.04661 +1.03812 1.04433 1.04629 1.03747 1.03486 1.04367 1.04302 1.0378 +1.03257 1.03682 1.04596 1.04498 1.04857 1.0502 1.04073 1.028 +1.02604 1.03551 1.03976 1.07522 1.21825 1.36584 1.25933 1.03943 +1.02016 1.012 0.996653 0.982612 0.969263 0.942737 0.916842 0.812632 +0.628842 0.527158 0.506316 0.501895 0.48296 0.439413 0.433733 0.43752 +0.435627 0.395867 0.378827 0.395867 0.503789 0.572632 0.574526 0.506316 +0.395867 0.37504 0.359893 0.36936 0.382613 0.395867 0.481067 0.517053 +0.490533 0.405333 0.38072 0.35232 0.333387 0.342853 0.365573 0.429947 +0.542316 0.602316 0.601053 0.545474 0.441307 0.365573 0.35232 0.339067 +0.339067 0.339067 0.356107 0.36368 0.342853 0.339067 0.344747 0.358 +0.361787 0.365573 0.3864 0.378827 0.350427 0.36936 0.42616 0.42616 +0.401547 0.359893 0.33528 0.34096 0.358 0.405333 0.435627 0.390187 +0.356107 0.339067 0.339067 0.342853 0.35232 0.36368 0.359893 0.39208 +0.45456 0.49432 0.506316 0.5 0.49432 0.496213 0.418587 0.34096 +0.322027 0.320133 0.342853 0.348533 0.3296 0.327707 0.333387 0.32392 +0.316347 0.320133 0.333387 0.34664 0.358 0.350427 0.348533 0.356107 +0.373147 0.446987 0.490533 0.469707 0.45456 0.435627 0.422373 0.405333 +0.39776 0.4148 0.418587 0.40912 0.416693 0.439413 0.46592 0.456453 +0.429947 0.407227 0.40344 0.446987 0.467813 0.452667 0.43184 0.433733 +0.496213 0.586526 0.800632 1.0342 1.33693 1.22281 1.04563 1.04041 +1.1026 1.25324 1.32172 1.20607 1.03355 0.992735 0.992082 1.00122 +1.00547 1.00514 1.00188 0.997959 0.994041 0.998286 1.00449 1.00906 +1.01167 1.01004 1.01069 1.00318 0.98849 0.978105 0.973053 0.964842 +0.958526 0.953474 0.957263 0.952211 0.946526 0.962316 0.987837 1.00024 +0.987837 0.876421 0.683789 0.522105 0.337173 0.291733 0.28416 0.246293 +0.000966667 0.0009 0.00088 0.000886667 0.000906667 0.219787 0.270907 0.2728 +0.225467 0.0009 0.000813333 0.00076 0.000746667 0.000746667 0.00074 0.000753333 +0.00076 0.00074 0.000733333 0.000746667 0.0007 0.00066 0.000713333 0.000733333 +0.000773333 0.0008 0.000733333 0.000693333 0.000673333 0.00064 0.000673333 0.000713333 +0.000706667 0.000713333 0.000693333 0.000706667 0.00074 0.00074 0.000733333 0.000733333 +0.000733333 0.00072 0.000726667 0.00074 0.000733333 0.00072 0.000733333 0.000733333 +0.000733333 0.0007 0.000706667 0.000726667 0.000713333 0.0007 0.000693333 0.0007 +0.000706667 0.00072 0.000706667 0.000706667 0.000733333 0.000713333 0.000706667 0.000726667 +0.000733333 0.000713333 0.000726667 0.000726667 0.00072 0.00074 0.000746667 0.000733333 +0.000713333 0.00072 0.000726667 0.000733333 0.000746667 0.00074 0.000726667 0.000713333 +0.00072 0.000746667 0.000733333 0.00072 0.000726667 0.000753333 0.00078 0.000793333 +0.00078 0.000786667 0.000786667 0.00082 0.000873333 0.000946667 0.280373 0.3864 +0.479173 0.596632 0.800632 0.965474 0.994041 0.981959 0.957263 0.949684 +0.952842 0.968 0.987184 0.999265 1.00678 1.01069 1.01167 1.01298 +1.01429 1.01331 1.01233 1.01233 1.01004 1.00808 1.01233 1.01363 +1.00612 1.00057 1.00155 1.0058 1.01135 1.01429 1.01494 1.01788 +1.04139 1.27911 1.54844 1.4404 1.14977 1.0489 1.05869 1.1376 +1.04988 0.930737 0.705895 0.559368 0.49432 0.429947 0.401547 0.390187 +0.376933 0.376933 0.399653 0.395867 0.36936 0.358 0.359893 0.350427 +0.344747 0.348533 0.373147 0.388293 0.3864 0.393973 0.384507 0.36936 +0.354213 0.36936 0.412907 0.40912 0.382613 0.356107 0.327707 0.322027 +0.333387 0.3296 0.327707 0.331493 0.359893 0.407227 0.464027 0.496213 +0.46592 0.411013 0.36368 0.348533 0.356107 0.350427 0.365573 0.37504 +0.356107 0.342853 0.337173 0.34096 0.344747 0.33528 0.322027 0.316347 +0.327707 0.337173 0.358 0.358 0.339067 0.356107 0.373147 0.36368 +0.36936 0.365573 0.354213 0.361787 0.39776 0.418587 0.38072 0.367467 +0.4148 0.42616 0.382613 0.348533 0.34096 0.350427 0.37504 0.45456 +0.502526 0.456453 0.405333 0.424267 0.445093 0.428053 0.42048 0.395867 +0.359893 0.344747 0.348533 0.350427 0.34664 0.358 0.35232 0.34664 +0.359893 0.365573 0.395867 0.40912 0.39208 0.40344 0.40344 0.39208 +0.40344 0.445093 0.5 0.519579 0.521474 0.46592 0.3864 0.371253 +0.376933 0.371253 0.407227 0.531579 0.621895 0.666105 0.630737 0.558737 +0.501263 0.411013 0.40344 0.475387 0.464027 0.411013 0.412907 0.418587 +0.4148 0.42048 0.42048 0.445093 0.48296 0.464027 0.44888 0.43752 +0.4148 0.42616 0.490533 0.521474 0.522105 0.572632 0.770947 0.932 +0.959158 0.984571 1.0058 1.01429 1.01069 1.01559 1.11021 1.40845 +1.33693 1.14217 1.05053 1.04237 1.03649 1.03355 1.03453 1.02996 +1.03714 1.03878 1.03388 1.03486 1.03159 1.02996 1.0342 1.03845 +1.04073 1.044 1.04041 1.03878 1.03649 1.04204 1.05053 1.04824 +1.04139 1.04531 1.04269 1.03192 1.03061 1.04531 1.04629 1.03355 +1.02865 1.04237 1.05184 1.04465 1.03714 1.03486 1.03845 1.03845 +1.03584 1.04139 1.04465 1.11021 1.25477 1.43584 1.38867 1.05641 +1.02408 1.01494 0.997633 0.983918 0.968632 0.943368 0.916842 0.817053 +0.632632 0.527789 0.505684 0.501263 0.475387 0.44888 0.441307 0.424267 +0.42616 0.40344 0.384507 0.412907 0.520211 0.582737 0.564421 0.481067 +0.37504 0.358 0.358 0.378827 0.3864 0.3864 0.486747 0.505053 +0.412907 0.367467 0.376933 0.342853 0.3296 0.348533 0.36368 0.418587 +0.532211 0.585263 0.583368 0.536 0.42616 0.339067 0.32392 0.314453 +0.316347 0.3296 0.34096 0.356107 0.344747 0.34096 0.34664 0.358 +0.356107 0.337173 0.358 0.356107 0.34096 0.373147 0.407227 0.39776 +0.373147 0.356107 0.34096 0.34096 0.350427 0.376933 0.424267 0.401547 +0.354213 0.333387 0.35232 0.36936 0.395867 0.422373 0.401547 0.393973 +0.452667 0.502526 0.515158 0.504421 0.467813 0.452667 0.40344 0.350427 +0.325813 0.3296 0.36936 0.365573 0.327707 0.325813 0.342853 0.34096 +0.342853 0.36368 0.37504 0.359893 0.33528 0.320133 0.31256 0.35232 +0.4432 0.524632 0.541053 0.526526 0.508211 0.46024 0.422373 0.399653 +0.382613 0.382613 0.376933 0.359893 0.354213 0.40344 0.467813 0.46592 +0.441307 0.412907 0.390187 0.4148 0.4432 0.441307 0.43752 0.456453 +0.532842 0.676211 0.941474 1.20912 1.3278 1.09195 1.0342 1.044 +1.1589 1.33845 1.38715 1.20607 1.02669 0.991429 0.994367 1.00057 +1.00286 1.00384 1.00286 1.00155 1.00155 1.00416 1.00678 1.01004 +1.01233 1.01167 1.00645 0.993061 0.978737 0.971789 0.968632 0.958526 +0.959158 0.954737 0.952211 0.954105 0.964211 0.983918 0.996653 0.992408 +0.908 0.719789 0.537263 0.344747 0.28984 0.291733 0.26144 0.000946667 +0.000873333 0.00086 0.00086 0.000906667 0.000966667 0.242507 0.286053 0.270907 +0.00098 0.000853333 0.0008 0.00076 0.000746667 0.00074 0.000733333 0.000753333 +0.000746667 0.000726667 0.000733333 0.00074 0.000713333 0.000673333 0.000673333 0.000666667 +0.000706667 0.00078 0.000753333 0.000706667 0.000733333 0.000713333 0.000713333 0.000746667 +0.000733333 0.000713333 0.0007 0.000653333 0.00074 0.000746667 0.000746667 0.00074 +0.000726667 0.000733333 0.000753333 0.00074 0.000713333 0.000713333 0.000713333 0.00072 +0.000733333 0.00072 0.000726667 0.000733333 0.000713333 0.000706667 0.000713333 0.00072 +0.000713333 0.0007 0.000693333 0.000693333 0.00072 0.000706667 0.000706667 0.000733333 +0.000733333 0.000706667 0.00072 0.000706667 0.000713333 0.00074 0.000733333 0.000726667 +0.00072 0.00074 0.00076 0.000766667 0.000766667 0.000733333 0.00072 0.000726667 +0.00074 0.000753333 0.000726667 0.000726667 0.00074 0.00076 0.000773333 0.000773333 +0.00078 0.000786667 0.000786667 0.000813333 0.000846667 0.00088 0.217893 0.316347 +0.407227 0.513895 0.665474 0.876421 0.988816 0.992735 0.973684 0.952842 +0.948421 0.955368 0.974316 0.991429 1.00253 1.00939 1.012 1.01331 +1.01461 1.01298 1.01167 1.01167 1.012 1.012 1.01396 1.01494 +1.01069 1.00449 1.00057 0.998612 1.00057 1.00645 1.01004 1.01167 +1.01853 1.05869 1.37345 1.46323 1.23651 1.05249 1.04857 1.08739 +1.07369 0.997959 0.8 0.613053 0.512632 0.43184 0.401547 0.399653 +0.39208 0.376933 0.388293 0.39776 0.395867 0.384507 0.36368 0.354213 +0.354213 0.354213 0.3864 0.416693 0.4148 0.407227 0.39208 0.365573 +0.358 0.361787 0.36936 0.376933 0.378827 0.348533 0.325813 0.325813 +0.31824 0.322027 0.350427 0.367467 0.378827 0.40344 0.435627 0.439413 +0.429947 0.4148 0.39776 0.382613 0.35232 0.3296 0.3296 0.34096 +0.333387 0.314453 0.31256 0.331493 0.342853 0.331493 0.327707 0.333387 +0.327707 0.3296 0.350427 0.356107 0.344747 0.354213 0.393973 0.371253 +0.36368 0.367467 0.36368 0.373147 0.411013 0.435627 0.40344 0.40912 +0.445093 0.424267 0.373147 0.33528 0.320133 0.327707 0.365573 0.484853 +0.541053 0.536 0.501263 0.433733 0.390187 0.36936 0.36936 0.359893 +0.344747 0.337173 0.34664 0.35232 0.35232 0.356107 0.350427 0.354213 +0.371253 0.36936 0.40344 0.42048 0.407227 0.416693 0.4148 0.390187 +0.4148 0.4716 0.508842 0.525895 0.523368 0.452667 0.38072 0.38072 +0.382613 0.367467 0.373147 0.48296 0.587158 0.674947 0.684421 0.632632 +0.575158 0.537895 0.525895 0.536 0.524632 0.505684 0.503158 0.501263 +0.479173 0.481067 0.47728 0.458347 0.46024 0.458347 0.462133 0.441307 +0.40344 0.411013 0.445093 0.506316 0.527789 0.579579 0.772211 0.932632 +0.959158 0.986204 1.00645 1.01135 1.00841 1.02016 1.16195 1.44345 +1.36584 1.16956 1.05739 1.04661 1.04041 1.04008 1.04041 1.03257 +1.03551 1.0378 1.03355 1.03584 1.03845 1.03616 1.03584 1.03551 +1.03486 1.04204 1.03649 1.03127 1.02735 1.02898 1.03943 1.0489 +1.0489 1.04922 1.0378 1.02865 1.0342 1.04465 1.04008 1.02963 +1.03029 1.04433 1.04824 1.04008 1.03159 1.02702 1.0329 1.04139 +1.04008 1.04237 1.04596 1.09956 1.21977 1.39628 1.41149 1.07369 +1.02049 1.01396 1.0009 0.986531 0.966737 0.940842 0.918105 0.820842 +0.638947 0.533474 0.501263 0.473493 0.44888 0.46592 0.48296 0.429947 +0.401547 0.405333 0.416693 0.48864 0.553053 0.588421 0.554947 0.486747 +0.393973 0.36936 0.361787 0.36936 0.378827 0.42048 0.503158 0.469707 +0.36936 0.348533 0.38072 0.358 0.34664 0.361787 0.361787 0.4148 +0.525895 0.579579 0.578947 0.534737 0.439413 0.331493 0.303093 0.30688 +0.3012 0.303093 0.314453 0.339067 0.348533 0.333387 0.331493 0.344747 +0.34664 0.331493 0.354213 0.361787 0.342853 0.358 0.371253 0.365573 +0.348533 0.339067 0.3296 0.3296 0.339067 0.35232 0.412907 0.411013 +0.350427 0.3296 0.337173 0.35232 0.390187 0.40912 0.376933 0.36368 +0.416693 0.479173 0.504421 0.492427 0.475387 0.48296 0.446987 0.388293 +0.348533 0.35232 0.382613 0.367467 0.33528 0.3296 0.325813 0.322027 +0.331493 0.358 0.382613 0.376933 0.34664 0.34664 0.373147 0.439413 +0.524632 0.566316 0.559368 0.526526 0.492427 0.4148 0.390187 0.39208 +0.390187 0.38072 0.367467 0.356107 0.34664 0.399653 0.47728 0.473493 +0.428053 0.395867 0.390187 0.40912 0.418587 0.433733 0.458347 0.507579 +0.587789 0.782316 1.02408 1.3278 1.23194 1.04857 1.0378 1.05739 +1.23651 1.40388 1.37497 1.11478 1.0169 0.998286 1.00351 1.00678 +1.00547 1.00482 1.00318 1.00318 1.00678 1.00906 1.00939 1.00873 +1.00939 1.00678 0.998286 0.984571 0.971789 0.967368 0.956 0.950947 +0.961053 0.958526 0.955368 0.962316 0.982286 0.99502 0.997633 0.938316 +0.758947 0.566316 0.367467 0.28416 0.291733 0.270907 0.225467 0.000886667 +0.000873333 0.000893333 0.000886667 0.00094 0.23872 0.28416 0.291733 0.236827 +0.00086 0.000773333 0.000733333 0.000733333 0.000753333 0.00074 0.000733333 0.00074 +0.00074 0.000726667 0.000713333 0.000733333 0.000706667 0.000693333 0.0007 0.000653333 +0.00068 0.00078 0.000793333 0.000753333 0.000726667 0.000706667 0.000693333 0.000693333 +0.00072 0.000713333 0.000706667 0.0007 0.00074 0.000733333 0.000726667 0.000713333 +0.000706667 0.000733333 0.000746667 0.00074 0.000726667 0.000746667 0.000733333 0.000726667 +0.00074 0.000746667 0.000726667 0.00072 0.000706667 0.000726667 0.000733333 0.000726667 +0.000713333 0.000713333 0.00072 0.000733333 0.000746667 0.000726667 0.000713333 0.000713333 +0.0007 0.000713333 0.000726667 0.000713333 0.000733333 0.00074 0.000713333 0.000706667 +0.000726667 0.000753333 0.00076 0.000753333 0.00074 0.000706667 0.000706667 0.000726667 +0.00074 0.00074 0.000733333 0.000746667 0.000773333 0.00078 0.000786667 0.000766667 +0.00078 0.000786667 0.00078 0.000826667 0.000846667 0.000846667 0.000893333 0.257653 +0.365573 0.435627 0.556842 0.743789 0.935158 0.996 0.986857 0.962316 +0.948421 0.947789 0.957895 0.98 0.994041 1.00612 1.012 1.01135 +1.012 1.01037 1.00971 1.00873 1.00939 1.01167 1.01265 1.01331 +1.01331 1.01135 1.00743 0.999918 0.993061 0.994694 1.00188 1.00743 +1.01069 1.02767 1.1589 1.41149 1.35367 1.11782 1.05118 1.05869 +1.07978 1.02898 0.896632 0.685684 0.544842 0.473493 0.424267 0.411013 +0.407227 0.390187 0.39208 0.40912 0.424267 0.416693 0.388293 0.371253 +0.371253 0.37504 0.395867 0.43184 0.42616 0.390187 0.36368 0.354213 +0.356107 0.361787 0.348533 0.350427 0.365573 0.344747 0.322027 0.32392 +0.3296 0.339067 0.365573 0.37504 0.367467 0.382613 0.401547 0.395867 +0.36368 0.356107 0.388293 0.382613 0.342853 0.31824 0.308773 0.31824 +0.316347 0.310667 0.316347 0.325813 0.331493 0.32392 0.333387 0.33528 +0.32392 0.32392 0.348533 0.36368 0.356107 0.365573 0.405333 0.39208 +0.371253 0.390187 0.388293 0.393973 0.429947 0.433733 0.43184 0.479173 +0.49432 0.422373 0.36368 0.34096 0.32392 0.333387 0.384507 0.46592 +0.515789 0.527789 0.518947 0.445093 0.348533 0.333387 0.339067 0.348533 +0.342853 0.331493 0.339067 0.354213 0.376933 0.371253 0.342853 0.35232 +0.388293 0.405333 0.411013 0.40912 0.424267 0.428053 0.401547 0.39208 +0.429947 0.5 0.522737 0.542947 0.528421 0.441307 0.36936 0.38072 +0.376933 0.37504 0.38072 0.43752 0.546105 0.655368 0.712211 0.671158 +0.610526 0.589053 0.590316 0.597263 0.582105 0.553684 0.536 0.519579 +0.486747 0.46024 0.450773 0.428053 0.424267 0.43184 0.43752 0.42616 +0.405333 0.40912 0.411013 0.45456 0.510737 0.571368 0.770316 0.933263 +0.961053 0.989143 1.00776 1.01102 1.00808 1.02604 1.21673 1.45257 +1.31563 1.12543 1.05445 1.04433 1.04106 1.04204 1.03976 1.03551 +1.03551 1.03584 1.03649 1.03878 1.04041 1.03682 1.03061 1.02898 +1.03355 1.04433 1.04073 1.03322 1.02735 1.02669 1.03486 1.04629 +1.04727 1.04335 1.03094 1.028 1.0391 1.04465 1.03388 1.02506 +1.03159 1.04171 1.04008 1.03486 1.02963 1.02539 1.03094 1.04661 +1.04988 1.04792 1.04335 1.0502 1.11934 1.30498 1.40084 1.12543 +1.01722 1.0071 1.00024 0.987837 0.964211 0.938316 0.921263 0.836 +0.666737 0.549895 0.490533 0.450773 0.43752 0.44888 0.46592 0.429947 +0.390187 0.388293 0.4148 0.515789 0.579579 0.579579 0.527158 0.47728 +0.439413 0.407227 0.382613 0.373147 0.390187 0.464027 0.505053 0.429947 +0.358 0.36368 0.405333 0.37504 0.356107 0.356107 0.365573 0.4148 +0.518316 0.566316 0.570737 0.536632 0.458347 0.337173 0.308773 0.32392 +0.308773 0.3012 0.32392 0.333387 0.33528 0.327707 0.3296 0.32392 +0.325813 0.32392 0.342853 0.350427 0.331493 0.320133 0.333387 0.350427 +0.356107 0.342853 0.333387 0.34664 0.34096 0.34096 0.4148 0.418587 +0.34664 0.331493 0.33528 0.354213 0.361787 0.348533 0.320133 0.32392 +0.367467 0.411013 0.424267 0.42616 0.441307 0.481067 0.500632 0.458347 +0.4148 0.393973 0.378827 0.356107 0.339067 0.327707 0.32392 0.348533 +0.348533 0.356107 0.365573 0.388293 0.39208 0.418587 0.5 0.527158 +0.548 0.545474 0.513895 0.462133 0.416693 0.38072 0.358 0.35232 +0.350427 0.354213 0.354213 0.36368 0.39208 0.4432 0.496213 0.484853 +0.441307 0.40344 0.393973 0.393973 0.3864 0.407227 0.467813 0.541684 +0.671158 0.902947 1.11326 1.31411 1.10717 1.03453 1.03747 1.11021 +1.35063 1.48453 1.32628 1.04727 1.00906 1.00253 1.00351 1.00612 +1.00776 1.00841 1.00547 1.00286 1.00416 1.00547 1.00678 1.00808 +1.00678 0.999918 0.989469 0.98098 0.971789 0.962316 0.954737 0.953474 +0.956632 0.956 0.961053 0.980327 0.99502 0.999918 0.968 0.805053 +0.597895 0.411013 0.293627 0.286053 0.280373 0.225467 0.000913333 0.000886667 +0.000873333 0.0009 0.0009 0.00098 0.26712 0.308773 0.2728 0.000926667 +0.000766667 0.000786667 0.000766667 0.000753333 0.00078 0.000766667 0.000733333 0.000746667 +0.00074 0.00074 0.000726667 0.00074 0.00074 0.00072 0.00074 0.000706667 +0.000673333 0.000706667 0.000733333 0.000726667 0.000693333 0.000673333 0.000686667 0.000693333 +0.000726667 0.000753333 0.000733333 0.000726667 0.000706667 0.000706667 0.000706667 0.0007 +0.000713333 0.000733333 0.00074 0.000726667 0.00072 0.000726667 0.00072 0.00072 +0.000726667 0.000726667 0.00072 0.00072 0.000713333 0.000733333 0.000753333 0.000733333 +0.00072 0.000733333 0.00074 0.000733333 0.000746667 0.000746667 0.000753333 0.00074 +0.000713333 0.000713333 0.00072 0.00074 0.000766667 0.000753333 0.000726667 0.000733333 +0.000746667 0.00076 0.00074 0.00072 0.0007 0.000686667 0.000713333 0.000726667 +0.000726667 0.000713333 0.000733333 0.000773333 0.000773333 0.000766667 0.000786667 0.00078 +0.00078 0.000766667 0.00076 0.000826667 0.000846667 0.000826667 0.000833333 0.000966667 +0.30688 0.395867 0.492427 0.609263 0.812632 0.974316 0.995673 0.982286 +0.962316 0.951579 0.947789 0.958526 0.981959 0.999265 1.00939 1.00971 +1.01102 1.01167 1.01004 1.00841 1.00776 1.00906 1.00971 1.01102 +1.01233 1.01265 1.01102 1.00678 0.99698 0.989143 0.992408 0.999592 +1.00612 1.01363 1.04335 1.2715 1.42519 1.25781 1.06609 1.05445 +1.05771 1.044 0.98 0.779158 0.601053 0.515789 0.456453 0.42048 +0.412907 0.405333 0.399653 0.4148 0.446987 0.46592 0.450773 0.428053 +0.416693 0.411013 0.418587 0.450773 0.445093 0.40912 0.37504 0.354213 +0.348533 0.350427 0.34096 0.337173 0.34664 0.358 0.35232 0.342853 +0.348533 0.358 0.358 0.354213 0.359893 0.382613 0.3864 0.37504 +0.34096 0.3296 0.34664 0.34664 0.33528 0.322027 0.30688 0.299307 +0.304987 0.31256 0.333387 0.3296 0.320133 0.325813 0.34096 0.34096 +0.33528 0.333387 0.34096 0.354213 0.354213 0.358 0.39776 0.418587 +0.384507 0.373147 0.382613 0.418587 0.46024 0.45456 0.498107 0.521474 +0.510105 0.424267 0.36936 0.373147 0.371253 0.39208 0.433733 0.428053 +0.39776 0.428053 0.490533 0.450773 0.36368 0.333387 0.337173 0.34096 +0.331493 0.322027 0.3296 0.354213 0.39776 0.416693 0.36936 0.358 +0.429947 0.496213 0.456453 0.405333 0.439413 0.422373 0.3864 0.405333 +0.462133 0.503789 0.532842 0.565053 0.554947 0.498107 0.38072 0.36368 +0.367467 0.38072 0.393973 0.405333 0.479173 0.590947 0.706526 0.679368 +0.577684 0.546737 0.563789 0.590947 0.598526 0.578316 0.547368 0.518316 +0.4716 0.43752 0.4148 0.390187 0.401547 0.422373 0.424267 0.401547 +0.3864 0.40344 0.411013 0.445093 0.492427 0.556842 0.760211 0.931368 +0.965474 0.991429 1.00808 1.00971 1.00873 1.02669 1.18629 1.39475 +1.26085 1.07674 1.0489 1.04498 1.04237 1.0391 1.03388 1.03518 +1.03584 1.03649 1.04041 1.03747 1.03127 1.02963 1.02996 1.02735 +1.03094 1.03976 1.0391 1.03486 1.03257 1.03159 1.0342 1.04237 +1.04269 1.03649 1.02702 1.02637 1.03127 1.03682 1.03518 1.0329 +1.0378 1.03714 1.03257 1.03127 1.02931 1.03224 1.04335 1.05086 +1.04433 1.03878 1.03616 1.03616 1.05282 1.21673 1.37345 1.17716 +1.02082 1.00024 0.993388 0.983918 0.961053 0.937684 0.924421 0.851789 +0.693895 0.565053 0.498107 0.441307 0.428053 0.422373 0.429947 0.433733 +0.40344 0.382613 0.4148 0.531579 0.592211 0.555579 0.46024 0.395867 +0.412907 0.412907 0.405333 0.39776 0.429947 0.486747 0.479173 0.388293 +0.350427 0.38072 0.40912 0.384507 0.359893 0.365573 0.36936 0.42048 +0.519579 0.556211 0.561263 0.544842 0.498107 0.354213 0.30688 0.32392 +0.316347 0.304987 0.316347 0.32392 0.325813 0.331493 0.337173 0.325813 +0.322027 0.325813 0.350427 0.354213 0.3296 0.314453 0.316347 0.325813 +0.348533 0.337173 0.331493 0.348533 0.36368 0.3864 0.458347 0.445093 +0.358 0.333387 0.358 0.373147 0.348533 0.31824 0.308773 0.32392 +0.354213 0.382613 0.388293 0.376933 0.3864 0.433733 0.486747 0.492427 +0.47728 0.450773 0.418587 0.399653 0.384507 0.350427 0.359893 0.371253 +0.348533 0.350427 0.36368 0.446987 0.520211 0.526526 0.527158 0.522105 +0.512 0.469707 0.39776 0.358 0.348533 0.361787 0.356107 0.34096 +0.339067 0.344747 0.350427 0.358 0.393973 0.43752 0.439413 0.435627 +0.445093 0.429947 0.418587 0.411013 0.393973 0.40912 0.475387 0.574526 +0.758947 1.00057 1.26085 1.26085 1.05314 1.03159 1.04531 1.19542 +1.44649 1.48909 1.20151 1.02376 1.0071 1.01037 1.00906 1.00482 +1.00416 1.00351 1.00286 1.00514 1.00808 1.00873 1.00906 1.00808 +1.00318 0.99502 0.98751 0.982939 0.970526 0.956 0.956 0.959158 +0.956 0.959789 0.977474 0.991102 1.0009 0.985551 0.855579 0.642105 +0.44888 0.299307 0.291733 0.293627 0.25576 0.00094 0.000833333 0.00084 +0.000846667 0.000906667 0.000986667 0.25008 0.3012 0.291733 0.22736 0.000853333 +0.000746667 0.000786667 0.000813333 0.00078 0.000753333 0.000746667 0.000726667 0.00072 +0.000726667 0.00074 0.00072 0.000706667 0.000706667 0.000693333 0.000726667 0.00072 +0.0007 0.000666667 0.000673333 0.00072 0.000726667 0.000706667 0.0007 0.000706667 +0.000713333 0.000733333 0.000733333 0.000733333 0.00074 0.00076 0.000746667 0.000726667 +0.000733333 0.000733333 0.000733333 0.00072 0.00072 0.000726667 0.00072 0.000726667 +0.00072 0.00074 0.000733333 0.000733333 0.000706667 0.000706667 0.00074 0.00074 +0.000733333 0.000753333 0.000746667 0.000733333 0.000733333 0.00074 0.000733333 0.000726667 +0.000706667 0.000726667 0.000726667 0.00074 0.00074 0.000713333 0.000713333 0.00074 +0.00074 0.000746667 0.00072 0.000706667 0.000706667 0.000706667 0.00072 0.000733333 +0.00074 0.00072 0.000726667 0.00076 0.00076 0.000733333 0.00074 0.000766667 +0.000766667 0.00076 0.000766667 0.000813333 0.00084 0.00086 0.00084 0.000846667 +0.234933 0.344747 0.42616 0.520211 0.666105 0.872632 0.987837 0.993061 +0.980327 0.957895 0.947158 0.947789 0.959789 0.985551 1.0022 1.00841 +1.00971 1.01069 1.01037 1.00971 1.00841 1.00678 1.00841 1.01004 +1.00971 1.01102 1.012 1.01298 1.0071 0.994694 0.988816 0.989469 +0.997633 1.00547 1.01788 1.05902 1.32932 1.34758 1.1376 1.05151 +1.04955 1.04563 1.01069 0.880211 0.682526 0.551789 0.492427 0.424267 +0.411013 0.40344 0.390187 0.399653 0.446987 0.498107 0.506947 0.505053 +0.5 0.48864 0.496213 0.507579 0.504421 0.462133 0.411013 0.376933 +0.36368 0.358 0.354213 0.34664 0.359893 0.378827 0.371253 0.34664 +0.34096 0.342853 0.333387 0.339067 0.365573 0.37504 0.36368 0.359893 +0.34664 0.331493 0.33528 0.34096 0.34096 0.32392 0.314453 0.308773 +0.3296 0.350427 0.36368 0.34096 0.3296 0.34096 0.350427 0.365573 +0.36368 0.337173 0.327707 0.348533 0.348533 0.348533 0.39776 0.411013 +0.38072 0.354213 0.390187 0.44888 0.47728 0.501895 0.534737 0.548 +0.513895 0.422373 0.390187 0.405333 0.407227 0.42616 0.42616 0.384507 +0.34664 0.358 0.4148 0.435627 0.38072 0.339067 0.333387 0.33528 +0.325813 0.331493 0.350427 0.361787 0.3864 0.416693 0.407227 0.39776 +0.467813 0.519579 0.5 0.424267 0.439413 0.433733 0.429947 0.441307 +0.492427 0.514526 0.542947 0.583368 0.582737 0.527158 0.40912 0.358 +0.35232 0.36936 0.390187 0.373147 0.371253 0.524632 0.663579 0.676842 +0.552421 0.4716 0.492427 0.522105 0.547368 0.558105 0.557474 0.542316 +0.523368 0.510737 0.467813 0.40912 0.393973 0.393973 0.412907 0.411013 +0.40344 0.411013 0.42048 0.464027 0.49432 0.556842 0.757053 0.928842 +0.969263 0.994694 1.01069 1.01167 1.00971 1.02637 1.1513 1.34454 +1.28368 1.13608 1.05086 1.04269 1.03976 1.03518 1.03322 1.03943 +1.03943 1.03714 1.04008 1.03584 1.02898 1.03061 1.03486 1.03159 +1.03224 1.03616 1.03682 1.03747 1.04171 1.04106 1.04073 1.04465 +1.04269 1.03976 1.03616 1.0329 1.03094 1.03192 1.03649 1.04008 +1.04073 1.03322 1.02735 1.028 1.028 1.03649 1.04661 1.04008 +1.0342 1.04171 1.04335 1.03943 1.05118 1.20912 1.34606 1.16956 +1.02539 0.996653 0.984571 0.976842 0.961053 0.938947 0.925684 0.866947 +0.710947 0.571368 0.507579 0.45456 0.43752 0.42616 0.422373 0.43184 +0.416693 0.393973 0.446987 0.552421 0.590947 0.528421 0.393973 0.344747 +0.371253 0.38072 0.384507 0.412907 0.4716 0.481067 0.42048 0.344747 +0.337173 0.376933 0.401547 0.39208 0.388293 0.39776 0.378827 0.416693 +0.513895 0.541053 0.541053 0.530947 0.486747 0.36368 0.316347 0.3296 +0.333387 0.316347 0.308773 0.320133 0.331493 0.33528 0.333387 0.320133 +0.322027 0.327707 0.337173 0.354213 0.34096 0.342853 0.359893 0.371253 +0.384507 0.367467 0.34096 0.337173 0.36368 0.428053 0.464027 0.412907 +0.356107 0.34096 0.348533 0.361787 0.348533 0.32392 0.322027 0.333387 +0.367467 0.39776 0.411013 0.382613 0.356107 0.393973 0.458347 0.504421 +0.513263 0.503789 0.475387 0.446987 0.411013 0.37504 0.38072 0.388293 +0.388293 0.416693 0.458347 0.523368 0.561895 0.542316 0.503789 0.43184 +0.40344 0.3864 0.356107 0.337173 0.327707 0.337173 0.344747 0.350427 +0.356107 0.361787 0.367467 0.371253 0.37504 0.39208 0.376933 0.378827 +0.42048 0.439413 0.424267 0.422373 0.424267 0.450773 0.520211 0.634526 +0.858737 1.04759 1.28976 1.16043 1.03878 1.03518 1.09348 1.35671 +1.56061 1.42823 1.05739 1.00678 1.00155 1.00678 1.01102 1.00939 +1.00873 1.00743 1.00482 1.00482 1.0071 1.0071 1.00808 1.00808 +1.00351 0.99502 0.98751 0.98098 0.965474 0.956632 0.959789 0.958526 +0.952842 0.962316 0.986531 1.00155 0.996 0.902316 0.695789 0.512632 +0.322027 0.30688 0.299307 0.269013 0.219787 0.000926667 0.000886667 0.000866667 +0.000866667 0.000966667 0.25008 0.304987 0.308773 0.248187 0.0009 0.000813333 +0.000766667 0.00076 0.000733333 0.000733333 0.000746667 0.000726667 0.000713333 0.000706667 +0.000693333 0.000706667 0.00074 0.000693333 0.0007 0.000713333 0.00072 0.00072 +0.000753333 0.000726667 0.000693333 0.0007 0.000713333 0.0007 0.00072 0.000693333 +0.0007 0.00074 0.000746667 0.00074 0.00074 0.000753333 0.000733333 0.00072 +0.000733333 0.000733333 0.00074 0.00074 0.000733333 0.000713333 0.000706667 0.000733333 +0.000733333 0.00074 0.000726667 0.000726667 0.00072 0.000713333 0.000746667 0.000746667 +0.00072 0.000733333 0.000726667 0.00072 0.00072 0.00072 0.000713333 0.00072 +0.00072 0.000726667 0.000706667 0.00072 0.000726667 0.0007 0.000706667 0.000726667 +0.000733333 0.000733333 0.000713333 0.000713333 0.000713333 0.000713333 0.000713333 0.000726667 +0.00074 0.00074 0.000753333 0.000773333 0.00076 0.000726667 0.00072 0.000753333 +0.000766667 0.000773333 0.00078 0.0008 0.000813333 0.00084 0.000826667 0.000826667 +0.000933333 0.282267 0.393973 0.45456 0.554316 0.732421 0.92379 0.993714 +0.990776 0.971789 0.953474 0.947789 0.945895 0.964211 0.990122 1.00384 +1.00776 1.00873 1.00906 1.0071 1.00776 1.00776 1.00906 1.00645 +1.00286 1.00612 1.00939 1.01331 1.01331 1.00384 0.992408 0.984245 +0.986857 0.994367 0.998939 1.01461 1.10108 1.31867 1.22586 1.05902 +1.04759 1.04531 1.02898 0.971158 0.789263 0.618105 0.524 0.450773 +0.412907 0.40344 0.393973 0.3864 0.416693 0.467813 0.48864 0.479173 +0.47728 0.500632 0.507579 0.516421 0.520842 0.515158 0.501263 0.456453 +0.411013 0.388293 0.37504 0.36936 0.388293 0.395867 0.358 0.32392 +0.320133 0.322027 0.3296 0.356107 0.371253 0.356107 0.342853 0.34096 +0.348533 0.342853 0.33528 0.33528 0.3296 0.327707 0.32392 0.325813 +0.339067 0.371253 0.3864 0.36368 0.348533 0.356107 0.367467 0.399653 +0.399653 0.356107 0.331493 0.337173 0.34664 0.371253 0.399653 0.382613 +0.356107 0.365573 0.43752 0.492427 0.484853 0.529053 0.573263 0.561263 +0.512632 0.433733 0.39776 0.371253 0.36936 0.399653 0.399653 0.365573 +0.350427 0.34664 0.384507 0.416693 0.376933 0.33528 0.3296 0.331493 +0.331493 0.333387 0.350427 0.354213 0.356107 0.36936 0.39208 0.393973 +0.43184 0.490533 0.490533 0.469707 0.439413 0.452667 0.501895 0.492427 +0.506316 0.527158 0.551789 0.597263 0.608632 0.549895 0.433733 0.354213 +0.342853 0.359893 0.376933 0.350427 0.350427 0.479173 0.610526 0.657263 +0.555579 0.445093 0.416693 0.433733 0.467813 0.501263 0.520211 0.527789 +0.533474 0.532842 0.513895 0.48864 0.433733 0.39208 0.39208 0.40344 +0.39776 0.40344 0.424267 0.452667 0.48296 0.56 0.759579 0.92821 +0.973684 0.99698 1.00971 1.01004 1.00808 1.02898 1.1589 1.28063 +1.21673 1.13304 1.05151 1.03845 1.03453 1.03159 1.03388 1.03747 +1.03551 1.03747 1.03878 1.03551 1.03649 1.03812 1.03616 1.03616 +1.03845 1.03812 1.04204 1.04792 1.0489 1.04857 1.0502 1.05118 +1.04661 1.04433 1.04498 1.04335 1.04041 1.03551 1.03322 1.03518 +1.03878 1.03584 1.02669 1.02278 1.02735 1.03388 1.0329 1.02898 +1.03322 1.03453 1.03094 1.03551 1.05739 1.23955 1.31107 1.12847 +1.02833 0.998286 0.981306 0.973053 0.968 0.947789 0.930105 0.879579 +0.716632 0.561263 0.506316 0.473493 0.45456 0.43184 0.40912 0.40912 +0.416693 0.43752 0.506316 0.572 0.574526 0.501895 0.38072 0.342853 +0.361787 0.350427 0.350427 0.418587 0.492427 0.462133 0.39208 0.34664 +0.35232 0.39776 0.411013 0.384507 0.38072 0.399653 0.390187 0.4148 +0.492427 0.515158 0.515158 0.503789 0.429947 0.354213 0.31824 0.32392 +0.322027 0.320133 0.322027 0.331493 0.350427 0.35232 0.34096 0.325813 +0.327707 0.327707 0.327707 0.333387 0.333387 0.34664 0.36936 0.407227 +0.42048 0.39776 0.36936 0.361787 0.373147 0.45456 0.46024 0.367467 +0.339067 0.34096 0.331493 0.337173 0.35232 0.342853 0.342853 0.361787 +0.399653 0.445093 0.46592 0.412907 0.354213 0.361787 0.412907 0.496213 +0.525895 0.522105 0.506316 0.501263 0.481067 0.4716 0.479173 0.4716 +0.484853 0.505684 0.515789 0.527789 0.532211 0.498107 0.401547 0.350427 +0.34664 0.354213 0.339067 0.333387 0.339067 0.339067 0.331493 0.34096 +0.337173 0.344747 0.358 0.373147 0.388293 0.393973 0.38072 0.38072 +0.418587 0.43184 0.407227 0.390187 0.405333 0.467813 0.558737 0.722947 +0.969895 1.16956 1.26237 1.06456 1.03029 1.03812 1.18021 1.48453 +1.588 1.29128 1.0329 1.00906 1.0071 1.00612 1.00645 1.00514 +1.00678 1.00808 1.00776 1.00873 1.01037 1.00808 1.0058 1.00384 +1.0022 0.99502 0.986204 0.973684 0.957263 0.954105 0.957263 0.954737 +0.961684 0.980653 0.995347 1.00024 0.948421 0.761474 0.556842 0.35232 +0.308773 0.32392 0.2728 0.225467 0.000953333 0.000906667 0.0009 0.000933333 +0.000953333 0.234933 0.291733 0.322027 0.269013 0.00096 0.00082 0.000786667 +0.000746667 0.00072 0.0007 0.000706667 0.000746667 0.000746667 0.00072 0.000706667 +0.000713333 0.000713333 0.00076 0.000746667 0.000713333 0.000746667 0.000726667 0.000726667 +0.00074 0.000753333 0.000726667 0.000733333 0.00072 0.0007 0.00074 0.000726667 +0.000706667 0.000713333 0.000726667 0.00074 0.000746667 0.000733333 0.000713333 0.000713333 +0.000713333 0.00072 0.000746667 0.000746667 0.00072 0.000713333 0.000726667 0.000733333 +0.000733333 0.000726667 0.000713333 0.00072 0.000746667 0.000733333 0.000746667 0.00074 +0.00072 0.00072 0.000726667 0.00072 0.000726667 0.000706667 0.0007 0.000733333 +0.000733333 0.00072 0.000713333 0.000726667 0.00072 0.0007 0.0007 0.000693333 +0.0007 0.000726667 0.00072 0.000726667 0.000713333 0.00072 0.0007 0.00072 +0.00074 0.00074 0.00076 0.000773333 0.00076 0.000726667 0.00074 0.00076 +0.00076 0.000773333 0.000793333 0.000806667 0.000786667 0.000766667 0.000786667 0.000813333 +0.000853333 0.217893 0.31256 0.399653 0.484853 0.599158 0.794947 0.956 +0.99502 0.986857 0.966737 0.952211 0.944632 0.951579 0.976211 0.994694 +1.00384 1.00612 1.00841 1.00743 1.00743 1.00906 1.00971 1.00678 +1.00024 1.0022 1.00873 1.01331 1.01592 1.01069 1.00057 0.989143 +0.983592 0.983918 0.984898 0.986857 1.01657 1.1376 1.24107 1.11173 +1.04727 1.04269 1.0342 1.00416 0.895368 0.713474 0.573263 0.505053 +0.446987 0.424267 0.411013 0.39776 0.412907 0.43752 0.424267 0.39208 +0.393973 0.416693 0.428053 0.450773 0.501263 0.520211 0.529053 0.524 +0.510105 0.490533 0.450773 0.411013 0.40344 0.411013 0.367467 0.320133 +0.308773 0.316347 0.344747 0.38072 0.365573 0.34096 0.339067 0.342853 +0.348533 0.350427 0.34664 0.34096 0.327707 0.327707 0.322027 0.320133 +0.325813 0.35232 0.373147 0.35232 0.339067 0.35232 0.384507 0.405333 +0.405333 0.390187 0.361787 0.344747 0.365573 0.416693 0.43184 0.3864 +0.358 0.407227 0.502526 0.505684 0.513263 0.575789 0.608632 0.562526 +0.5 0.393973 0.358 0.3296 0.333387 0.367467 0.382613 0.358 +0.34664 0.356107 0.3864 0.40912 0.388293 0.354213 0.339067 0.337173 +0.325813 0.325813 0.331493 0.34664 0.354213 0.365573 0.38072 0.373147 +0.3864 0.39776 0.441307 0.492427 0.45456 0.467813 0.524 0.517684 +0.513895 0.530316 0.548 0.608632 0.638316 0.573263 0.467813 0.378827 +0.36936 0.38072 0.373147 0.34664 0.348533 0.418587 0.557474 0.623158 +0.555579 0.445093 0.401547 0.395867 0.40912 0.411013 0.424267 0.452667 +0.481067 0.498107 0.506316 0.512 0.48296 0.4148 0.40912 0.411013 +0.395867 0.395867 0.4148 0.43184 0.456453 0.553684 0.753263 0.925053 +0.973053 0.995673 1.00971 1.00939 1.00612 1.02767 1.1376 1.22129 +1.13304 1.0813 1.05053 1.03649 1.03127 1.03127 1.03551 1.03257 +1.02767 1.03257 1.03192 1.03192 1.03649 1.03616 1.0329 1.03747 +1.04041 1.0378 1.04596 1.05576 1.05347 1.05282 1.05543 1.0538 +1.05184 1.0489 1.05086 1.05086 1.04759 1.04433 1.03518 1.02996 +1.03486 1.03714 1.0329 1.02865 1.03159 1.02898 1.02114 1.02702 +1.03518 1.02963 1.02669 1.0378 1.06456 1.23955 1.3065 1.1163 +1.02669 0.998612 0.98 0.967368 0.969895 0.959789 0.942105 0.884632 +0.712211 0.551158 0.508211 0.47728 0.45456 0.435627 0.416693 0.407227 +0.416693 0.48296 0.535368 0.590316 0.565684 0.462133 0.3864 0.354213 +0.356107 0.356107 0.37504 0.445093 0.4716 0.412907 0.36936 0.359893 +0.37504 0.401547 0.412907 0.39208 0.36936 0.38072 0.429947 0.475387 +0.47728 0.47728 0.498107 0.467813 0.39776 0.327707 0.308773 0.316347 +0.322027 0.333387 0.333387 0.320133 0.331493 0.34664 0.344747 0.331493 +0.32392 0.333387 0.348533 0.342853 0.344747 0.350427 0.34664 0.361787 +0.382613 0.38072 0.382613 0.393973 0.412907 0.47728 0.456453 0.359893 +0.33528 0.34096 0.33528 0.331493 0.337173 0.34096 0.342853 0.359893 +0.388293 0.422373 0.4432 0.405333 0.36368 0.36936 0.401547 0.481067 +0.528421 0.532211 0.509474 0.486747 0.48296 0.505053 0.519579 0.517053 +0.522105 0.527158 0.515158 0.469707 0.412907 0.367467 0.339067 0.327707 +0.339067 0.354213 0.354213 0.354213 0.356107 0.354213 0.344747 0.342853 +0.34096 0.356107 0.356107 0.36368 0.38072 0.382613 0.384507 0.382613 +0.42616 0.4432 0.4148 0.407227 0.42616 0.505053 0.609263 0.821474 +1.02702 1.24107 1.16956 1.04302 1.03127 1.05347 1.30802 1.58039 +1.48605 1.08435 1.01494 1.01135 1.01363 1.01233 1.01069 1.0071 +1.00776 1.00808 1.00612 1.00514 1.00678 1.00678 1.00384 1.0009 +0.996327 0.986204 0.969263 0.959158 0.957895 0.960421 0.957895 0.952842 +0.972421 0.992735 1.00351 0.982612 0.828421 0.608632 0.405333 0.299307 +0.31824 0.31256 0.25008 0.000986667 0.00096 0.00094 0.000906667 0.000966667 +0.231147 0.2728 0.308773 0.28416 0.00098 0.00082 0.000746667 0.000753333 +0.000746667 0.00072 0.000713333 0.000706667 0.00072 0.000753333 0.000753333 0.000733333 +0.000753333 0.00074 0.000746667 0.000753333 0.000726667 0.000726667 0.00072 0.000713333 +0.000733333 0.00076 0.00076 0.000766667 0.000766667 0.000706667 0.00068 0.000693333 +0.000693333 0.00068 0.00072 0.00074 0.00074 0.00072 0.000706667 0.000706667 +0.0007 0.000706667 0.000726667 0.00072 0.0007 0.00072 0.00074 0.00074 +0.000726667 0.000726667 0.000706667 0.000713333 0.00074 0.000733333 0.000726667 0.000746667 +0.00074 0.000733333 0.00074 0.000726667 0.00072 0.000706667 0.000693333 0.00072 +0.00072 0.00072 0.000733333 0.000746667 0.000726667 0.000706667 0.000706667 0.000693333 +0.000693333 0.0007 0.000706667 0.000733333 0.000733333 0.00072 0.000693333 0.000726667 +0.000766667 0.00076 0.000746667 0.000746667 0.000753333 0.000746667 0.000773333 0.00076 +0.000733333 0.000766667 0.000793333 0.000813333 0.000793333 0.000766667 0.000793333 0.00082 +0.0008 0.000853333 0.234933 0.34096 0.418587 0.515789 0.649053 0.846737 +0.980327 0.993388 0.983592 0.966105 0.949684 0.946526 0.960421 0.983592 +0.994367 1.00057 1.00808 1.01004 1.00939 1.00971 1.01004 1.01069 +1.0058 1.00482 1.00841 1.012 1.01461 1.01429 1.01004 0.999918 +0.98849 0.980327 0.973053 0.971789 0.986531 1.02898 1.14217 1.14977 +1.05151 1.04073 1.03682 1.01984 0.976211 0.818316 0.645895 0.536632 +0.481067 0.43752 0.42616 0.422373 0.43184 0.429947 0.401547 0.384507 +0.382613 0.373147 0.358 0.36368 0.393973 0.44888 0.506316 0.534737 +0.564421 0.577684 0.563158 0.530316 0.508211 0.492427 0.429947 0.36936 +0.339067 0.342853 0.378827 0.401547 0.367467 0.358 0.36936 0.371253 +0.373147 0.38072 0.365573 0.342853 0.32392 0.322027 0.32392 0.322027 +0.327707 0.344747 0.35232 0.3296 0.325813 0.348533 0.361787 0.359893 +0.356107 0.37504 0.388293 0.39776 0.43184 0.504421 0.506947 0.441307 +0.435627 0.506947 0.536632 0.521474 0.544211 0.622526 0.628842 0.570737 +0.505053 0.371253 0.331493 0.322027 0.322027 0.337173 0.35232 0.339067 +0.34096 0.36936 0.401547 0.411013 0.412907 0.38072 0.350427 0.331493 +0.322027 0.333387 0.348533 0.36368 0.37504 0.388293 0.390187 0.382613 +0.384507 0.388293 0.428053 0.486747 0.469707 0.504421 0.551789 0.541684 +0.520842 0.519579 0.527789 0.601684 0.66421 0.605474 0.506947 0.412907 +0.39776 0.382613 0.36936 0.36368 0.365573 0.382613 0.516421 0.584632 +0.548 0.45456 0.42048 0.405333 0.401547 0.39776 0.399653 0.4148 +0.418587 0.399653 0.43184 0.498107 0.500632 0.46592 0.428053 0.40912 +0.39776 0.39208 0.40344 0.4148 0.441307 0.544842 0.749474 0.925684 +0.970526 0.995347 1.01135 1.01069 1.00612 1.02376 1.10869 1.20455 +1.11326 1.05771 1.05151 1.044 1.03551 1.03322 1.03518 1.03127 +1.02408 1.02669 1.02963 1.0329 1.03486 1.03224 1.0329 1.0378 +1.03714 1.03616 1.04367 1.05314 1.05608 1.05641 1.05739 1.05673 +1.05902 1.05804 1.05967 1.05967 1.05412 1.05576 1.04269 1.03094 +1.03518 1.04041 1.04008 1.03812 1.0342 1.02147 1.01886 1.0342 +1.04269 1.03388 1.03355 1.04824 1.07522 1.20912 1.27759 1.06 +1.01331 0.993388 0.975579 0.964842 0.969263 0.965474 0.953474 0.896632 +0.727368 0.558737 0.509474 0.475387 0.45456 0.445093 0.450773 0.469707 +0.484853 0.511368 0.547368 0.588421 0.554947 0.44888 0.39776 0.373147 +0.34664 0.371253 0.428053 0.464027 0.428053 0.38072 0.359893 0.373147 +0.378827 0.36936 0.39776 0.40912 0.388293 0.393973 0.469707 0.503789 +0.4432 0.405333 0.4432 0.4432 0.401547 0.337173 0.32392 0.34664 +0.358 0.367467 0.35232 0.320133 0.314453 0.33528 0.342853 0.333387 +0.310667 0.320133 0.344747 0.337173 0.331493 0.356107 0.358 0.354213 +0.367467 0.382613 0.371253 0.393973 0.44888 0.479173 0.445093 0.373147 +0.337173 0.339067 0.337173 0.32392 0.33528 0.354213 0.371253 0.388293 +0.390187 0.390187 0.405333 0.378827 0.337173 0.331493 0.36936 0.458347 +0.527158 0.550526 0.524632 0.446987 0.416693 0.446987 0.498107 0.502526 +0.519579 0.539789 0.518316 0.428053 0.356107 0.34096 0.339067 0.337173 +0.342853 0.337173 0.342853 0.350427 0.344747 0.361787 0.373147 0.356107 +0.354213 0.36936 0.378827 0.38072 0.37504 0.36936 0.373147 0.376933 +0.42048 0.433733 0.411013 0.43184 0.486747 0.548632 0.697053 0.940842 +1.1026 1.21368 1.05347 1.02376 1.03159 1.12695 1.45105 1.60778 +1.32932 1.03649 1.01004 1.01037 1.00939 1.00873 1.00873 1.00743 +1.01102 1.01363 1.01233 1.00743 1.00514 0.998612 0.993061 0.991102 +0.986204 0.974947 0.957263 0.952842 0.958526 0.958526 0.956632 0.964842 +0.987837 1.00155 0.993388 0.886526 0.671158 0.484853 0.308773 0.31824 +0.322027 0.27848 0.23304 0.217893 0.00098 0.00098 0.000986667 0.225467 +0.257653 0.293627 0.274693 0.217893 0.000826667 0.000773333 0.000766667 0.00076 +0.000766667 0.000746667 0.00072 0.00072 0.000733333 0.00076 0.000773333 0.000753333 +0.000733333 0.000726667 0.000726667 0.000726667 0.000706667 0.000713333 0.000726667 0.000713333 +0.000726667 0.00074 0.000746667 0.000746667 0.00076 0.000713333 0.000673333 0.00068 +0.000686667 0.000686667 0.0007 0.000726667 0.000733333 0.000733333 0.000733333 0.00074 +0.00074 0.000733333 0.000733333 0.00074 0.00074 0.000746667 0.000746667 0.000733333 +0.00074 0.00076 0.00074 0.000733333 0.000753333 0.000746667 0.000733333 0.000753333 +0.00074 0.00072 0.000733333 0.00072 0.00072 0.000726667 0.000713333 0.000706667 +0.0007 0.000713333 0.000726667 0.000726667 0.000706667 0.000706667 0.000713333 0.00072 +0.00072 0.000706667 0.000693333 0.000706667 0.00072 0.000713333 0.000713333 0.00076 +0.00078 0.000753333 0.00072 0.000726667 0.000773333 0.000786667 0.00078 0.000746667 +0.00074 0.000746667 0.000746667 0.000753333 0.000773333 0.000793333 0.000806667 0.000806667 +0.00078 0.000813333 0.000946667 0.280373 0.378827 0.4432 0.541684 0.705895 +0.896 0.98751 0.993061 0.982939 0.961053 0.947158 0.947789 0.962316 +0.982939 0.992408 1.00318 1.00873 1.00841 1.00939 1.01135 1.01298 +1.01167 1.01004 1.00873 1.00939 1.01298 1.01559 1.01494 1.00873 +0.997633 0.985224 0.974316 0.969895 0.973053 0.994367 1.04237 1.13912 +1.07065 1.04335 1.03649 1.02571 1.00253 0.914947 0.744421 0.589684 +0.508842 0.452667 0.43752 0.435627 0.43184 0.4148 0.395867 0.393973 +0.388293 0.36936 0.359893 0.361787 0.365573 0.37504 0.411013 0.509474 +0.573263 0.618105 0.612421 0.578316 0.551789 0.529053 0.506316 0.462133 +0.40912 0.39776 0.42616 0.422373 0.390187 0.40344 0.43184 0.428053 +0.42048 0.4148 0.378827 0.342853 0.32392 0.322027 0.3296 0.325813 +0.331493 0.34096 0.339067 0.32392 0.322027 0.339067 0.33528 0.333387 +0.339067 0.35232 0.38072 0.416693 0.462133 0.521474 0.537263 0.515158 +0.505684 0.524 0.538526 0.532842 0.586526 0.657895 0.641474 0.585895 +0.521474 0.399653 0.331493 0.314453 0.314453 0.333387 0.34096 0.33528 +0.339067 0.36936 0.405333 0.418587 0.43184 0.405333 0.371253 0.35232 +0.342853 0.354213 0.367467 0.3864 0.399653 0.39776 0.382613 0.39208 +0.405333 0.42616 0.475387 0.492427 0.486747 0.527158 0.577684 0.561263 +0.525263 0.512 0.514526 0.589053 0.678737 0.638947 0.526526 0.428053 +0.407227 0.378827 0.36368 0.376933 0.38072 0.39776 0.505684 0.561263 +0.536632 0.452667 0.428053 0.40912 0.38072 0.38072 0.39776 0.416693 +0.412907 0.393973 0.401547 0.439413 0.473493 0.486747 0.467813 0.424267 +0.399653 0.393973 0.388293 0.395867 0.43752 0.544842 0.752632 0.935158 +0.976842 0.994041 1.00841 1.01004 1.0058 1.02212 1.12239 1.25324 +1.16195 1.06304 1.05053 1.044 1.03747 1.03714 1.03616 1.03159 +1.02637 1.02931 1.03322 1.03845 1.04041 1.03649 1.03943 1.04433 +1.04171 1.04008 1.04498 1.04988 1.05249 1.0551 1.05967 1.06152 +1.06152 1.06609 1.08435 1.07674 1.05347 1.05314 1.04498 1.03518 +1.03943 1.04367 1.04041 1.04367 1.04269 1.02669 1.02376 1.03649 +1.04237 1.0329 1.03486 1.04792 1.0538 1.14369 1.2076 1.04237 +1.00253 0.988816 0.977474 0.971789 0.969895 0.962316 0.955368 0.913684 +0.763368 0.576421 0.506316 0.479173 0.48296 0.484853 0.500632 0.515789 +0.519579 0.522737 0.547368 0.572632 0.543579 0.473493 0.4148 0.38072 +0.358 0.416693 0.45456 0.422373 0.376933 0.371253 0.37504 0.36368 +0.373147 0.373147 0.376933 0.395867 0.399653 0.416693 0.46024 0.467813 +0.401547 0.371253 0.411013 0.418587 0.393973 0.36368 0.350427 0.365573 +0.365573 0.36936 0.358 0.327707 0.320133 0.348533 0.354213 0.339067 +0.333387 0.3296 0.35232 0.344747 0.327707 0.348533 0.359893 0.356107 +0.35232 0.354213 0.344747 0.36936 0.43752 0.46024 0.441307 0.40344 +0.35232 0.337173 0.34664 0.327707 0.327707 0.356107 0.39208 0.399653 +0.378827 0.378827 0.39776 0.384507 0.337173 0.333387 0.373147 0.445093 +0.517684 0.562526 0.544842 0.445093 0.361787 0.373147 0.412907 0.42048 +0.486747 0.541053 0.537263 0.48864 0.4148 0.38072 0.36368 0.367467 +0.361787 0.342853 0.331493 0.33528 0.327707 0.34664 0.365573 0.342853 +0.34664 0.373147 0.40344 0.412907 0.393973 0.388293 0.395867 0.407227 +0.44888 0.450773 0.42048 0.445093 0.510105 0.597895 0.800632 1.01527 +1.20607 1.1589 1.0378 1.02343 1.04367 1.25324 1.54539 1.49214 +1.11326 1.01755 1.01135 1.01331 1.01461 1.01265 1.00776 1.0058 +1.00678 1.00808 1.0071 1.00612 1.00449 0.995673 0.988163 0.986204 +0.98098 0.961053 0.946526 0.950947 0.960421 0.961053 0.964842 0.981306 +0.996327 0.998939 0.935158 0.744421 0.544842 0.342853 0.310667 0.33528 +0.30688 0.246293 0.225467 0.219787 0.216 0.219787 0.23304 0.25576 +0.276587 0.276587 0.229253 0.000893333 0.000806667 0.000786667 0.000793333 0.00078 +0.00076 0.00076 0.000753333 0.000753333 0.00074 0.00074 0.00074 0.00072 +0.0007 0.000706667 0.000706667 0.000726667 0.000713333 0.000706667 0.00072 0.000713333 +0.00072 0.000726667 0.000746667 0.00074 0.00076 0.00076 0.000733333 0.0007 +0.00068 0.000713333 0.00072 0.000713333 0.000713333 0.000726667 0.000733333 0.00074 +0.000733333 0.000713333 0.00072 0.000733333 0.00076 0.000766667 0.000733333 0.000713333 +0.000706667 0.000733333 0.000733333 0.000726667 0.000733333 0.000746667 0.000753333 0.000766667 +0.00074 0.000733333 0.000746667 0.000746667 0.00074 0.000753333 0.000746667 0.000746667 +0.000766667 0.000753333 0.00074 0.000706667 0.000726667 0.000753333 0.000766667 0.000766667 +0.00074 0.000733333 0.000713333 0.0007 0.000713333 0.0007 0.000706667 0.000746667 +0.000746667 0.00074 0.000726667 0.000733333 0.000753333 0.000746667 0.00076 0.000766667 +0.00078 0.000773333 0.000766667 0.000753333 0.00074 0.000766667 0.00078 0.000773333 +0.00076 0.0008 0.00088 0.22736 0.31256 0.39776 0.46024 0.571368 +0.749474 0.924421 0.993061 0.994041 0.981306 0.961684 0.947789 0.949053 +0.963579 0.982286 0.99502 1.00514 1.00743 1.00906 1.01135 1.01265 +1.01298 1.01298 1.01102 1.01037 1.01233 1.01363 1.01363 1.012 +1.00645 0.998612 0.987837 0.978737 0.968 0.970526 1.00547 1.05608 +1.11326 1.05282 1.03649 1.02669 1.01167 0.976842 0.843579 0.673053 +0.546737 0.479173 0.43184 0.418587 0.4148 0.401547 0.39208 0.378827 +0.367467 0.361787 0.36368 0.365573 0.367467 0.36936 0.401547 0.500632 +0.541053 0.556211 0.544842 0.530316 0.524632 0.508842 0.48296 0.458347 +0.446987 0.45456 0.46024 0.44888 0.4432 0.462133 0.49432 0.484853 +0.42616 0.373147 0.34664 0.333387 0.32392 0.325813 0.3296 0.32392 +0.320133 0.327707 0.331493 0.3296 0.339067 0.35232 0.339067 0.344747 +0.342853 0.333387 0.342853 0.3864 0.456453 0.518316 0.539789 0.529684 +0.507579 0.5 0.503789 0.536 0.625684 0.680632 0.649684 0.589053 +0.525895 0.44888 0.37504 0.337173 0.350427 0.356107 0.350427 0.342853 +0.337173 0.36936 0.405333 0.42048 0.428053 0.407227 0.388293 0.373147 +0.359893 0.35232 0.367467 0.382613 0.39776 0.39208 0.373147 0.382613 +0.411013 0.452667 0.501263 0.48296 0.46592 0.527789 0.586526 0.572 +0.529684 0.513895 0.517053 0.575158 0.674316 0.66421 0.551158 0.43752 +0.39776 0.37504 0.367467 0.382613 0.393973 0.40912 0.5 0.549895 +0.536632 0.44888 0.405333 0.384507 0.359893 0.371253 0.39208 0.412907 +0.40912 0.401547 0.40912 0.418587 0.412907 0.43752 0.48296 0.47728 +0.45456 0.439413 0.411013 0.405333 0.452667 0.555579 0.761474 0.940211 +0.984245 0.995673 1.00808 1.00971 1.00351 1.0182 1.09956 1.27303 +1.21977 1.10413 1.05478 1.04694 1.04106 1.04237 1.04335 1.04073 +1.03812 1.03551 1.0342 1.03943 1.04171 1.03747 1.04531 1.0538 +1.04792 1.04465 1.04694 1.04922 1.05053 1.05314 1.05804 1.05771 +1.05739 1.07065 1.09652 1.07978 1.05216 1.04661 1.04171 1.03616 +1.03682 1.03976 1.03878 1.04171 1.04367 1.0378 1.03224 1.03486 +1.04139 1.03812 1.03682 1.03976 1.04367 1.11326 1.17412 1.0378 +1.00318 0.98751 0.974947 0.974316 0.971158 0.963579 0.952211 0.922526 +0.798105 0.604842 0.513263 0.49432 0.504421 0.501895 0.5 0.506947 +0.508211 0.518316 0.554947 0.563789 0.525895 0.486747 0.441307 0.405333 +0.401547 0.456453 0.450773 0.3864 0.34664 0.36368 0.388293 0.373147 +0.382613 0.40912 0.399653 0.3864 0.412907 0.42616 0.418587 0.42616 +0.418587 0.3864 0.39776 0.40912 0.38072 0.382613 0.395867 0.378827 +0.36936 0.36936 0.35232 0.325813 0.325813 0.350427 0.354213 0.344747 +0.348533 0.35232 0.371253 0.382613 0.376933 0.36936 0.361787 0.354213 +0.348533 0.35232 0.348533 0.36936 0.416693 0.418587 0.407227 0.401547 +0.36368 0.34096 0.354213 0.34096 0.34096 0.365573 0.382613 0.365573 +0.35232 0.358 0.367467 0.356107 0.34096 0.365573 0.43184 0.458347 +0.49432 0.544211 0.555579 0.508211 0.390187 0.35232 0.361787 0.34664 +0.367467 0.5 0.518316 0.492427 0.462133 0.43752 0.412907 0.407227 +0.39776 0.373147 0.350427 0.331493 0.3296 0.350427 0.371253 0.36368 +0.361787 0.373147 0.395867 0.4148 0.39776 0.390187 0.42048 0.456453 +0.479173 0.4716 0.4432 0.46592 0.539158 0.683789 0.92 1.05771 +1.21368 1.07369 1.03257 1.0342 1.11326 1.43279 1.58343 1.31107 +1.03682 1.00971 1.00906 1.00971 1.01135 1.01135 1.00906 1.01037 +1.01167 1.01037 1.00645 1.00253 0.996 0.984571 0.981306 0.983265 +0.98 0.961053 0.945895 0.949684 0.957895 0.964842 0.981633 0.993061 +1.00253 0.979368 0.808842 0.595368 0.411013 0.325813 0.331493 0.327707 +0.27848 0.229253 0.229253 0.231147 0.23304 0.236827 0.259547 0.274693 +0.26144 0.225467 0.0009 0.00082 0.000786667 0.000746667 0.000753333 0.000766667 +0.00076 0.000746667 0.00074 0.00076 0.000746667 0.000746667 0.000746667 0.000726667 +0.00072 0.000733333 0.000726667 0.000746667 0.000746667 0.00074 0.000746667 0.000706667 +0.0007 0.000706667 0.000746667 0.000753333 0.00074 0.000746667 0.000733333 0.000713333 +0.000666667 0.000666667 0.000693333 0.000686667 0.000753333 0.00076 0.000753333 0.00074 +0.00072 0.000733333 0.00076 0.000766667 0.000753333 0.00076 0.000746667 0.000726667 +0.00072 0.000726667 0.000733333 0.00072 0.000726667 0.000726667 0.000726667 0.000726667 +0.000706667 0.000713333 0.000746667 0.00074 0.000713333 0.000726667 0.000726667 0.00074 +0.00076 0.000746667 0.000713333 0.000706667 0.000726667 0.000746667 0.00074 0.000733333 +0.00072 0.000733333 0.000733333 0.000726667 0.000713333 0.000706667 0.000726667 0.000733333 +0.000746667 0.00074 0.00074 0.000753333 0.000753333 0.000753333 0.00076 0.00076 +0.00076 0.00078 0.000813333 0.000806667 0.000786667 0.000786667 0.00076 0.000773333 +0.00078 0.000786667 0.000813333 0.000886667 0.23872 0.339067 0.40344 0.481067 +0.599158 0.786737 0.951579 0.997959 0.994694 0.982286 0.959789 0.947789 +0.950947 0.966105 0.985878 0.999918 1.0071 1.00939 1.00971 1.01037 +1.012 1.01265 1.01298 1.01167 1.01135 1.01233 1.01265 1.01298 +1.01069 1.00612 0.997306 0.986204 0.974316 0.962947 0.98 1.01788 +1.05706 1.07065 1.04465 1.03061 1.01788 0.99698 0.926947 0.776632 +0.616211 0.519579 0.458347 0.42616 0.422373 0.401547 0.388293 0.384507 +0.373147 0.365573 0.365573 0.36936 0.373147 0.390187 0.445093 0.505053 +0.505684 0.450773 0.40344 0.388293 0.405333 0.40344 0.3864 0.38072 +0.39776 0.42048 0.433733 0.458347 0.473493 0.467813 0.475387 0.484853 +0.42048 0.344747 0.320133 0.316347 0.320133 0.333387 0.337173 0.333387 +0.325813 0.320133 0.339067 0.344747 0.358 0.365573 0.34664 0.339067 +0.337173 0.325813 0.344747 0.412907 0.501263 0.513895 0.510105 0.5 +0.458347 0.429947 0.4432 0.546105 0.657263 0.698316 0.657263 0.575789 +0.510737 0.475387 0.452667 0.433733 0.441307 0.411013 0.36368 0.348533 +0.356107 0.3864 0.3864 0.382613 0.382613 0.371253 0.36368 0.342853 +0.339067 0.34664 0.359893 0.38072 0.3864 0.3864 0.395867 0.411013 +0.428053 0.464027 0.47728 0.439413 0.439413 0.522737 0.578947 0.567579 +0.518947 0.510105 0.524 0.553684 0.644 0.666737 0.571368 0.44888 +0.378827 0.359893 0.359893 0.36368 0.36936 0.37504 0.45456 0.538526 +0.544211 0.484853 0.395867 0.382613 0.3864 0.384507 0.393973 0.424267 +0.412907 0.388293 0.3864 0.384507 0.37504 0.39208 0.441307 0.501263 +0.518316 0.509474 0.464027 0.45456 0.492427 0.566947 0.765263 0.930737 +0.978737 0.995347 1.01004 1.01069 1.00482 1.01396 1.04857 1.16803 +1.17412 1.08587 1.04988 1.04824 1.0489 1.04792 1.04955 1.0489 +1.04629 1.03845 1.03127 1.03159 1.03486 1.0391 1.04661 1.05118 +1.04596 1.04465 1.04498 1.04988 1.05184 1.05314 1.05804 1.05837 +1.06 1.08282 1.08435 1.07674 1.05739 1.04955 1.04531 1.04139 +1.04073 1.03747 1.03747 1.04171 1.03976 1.04073 1.03616 1.0342 +1.04106 1.04008 1.03322 1.03224 1.04139 1.11021 1.16195 1.04008 +1.0071 0.992082 0.982612 0.98 0.971789 0.962316 0.945263 0.924421 +0.832842 0.646526 0.529684 0.496213 0.501263 0.486747 0.462133 0.46024 +0.45456 0.505684 0.558737 0.549895 0.492427 0.435627 0.433733 0.44888 +0.456453 0.452667 0.429947 0.39208 0.36368 0.356107 0.38072 0.382613 +0.393973 0.464027 0.462133 0.418587 0.445093 0.4148 0.361787 0.40912 +0.45456 0.38072 0.35232 0.39208 0.371253 0.36936 0.378827 0.371253 +0.373147 0.367467 0.361787 0.331493 0.32392 0.34664 0.342853 0.350427 +0.356107 0.373147 0.384507 0.393973 0.40344 0.39776 0.367467 0.350427 +0.344747 0.354213 0.359893 0.371253 0.395867 0.401547 0.382613 0.382613 +0.37504 0.337173 0.333387 0.327707 0.3296 0.359893 0.354213 0.33528 +0.342853 0.36368 0.359893 0.354213 0.376933 0.429947 0.481067 0.45456 +0.405333 0.481067 0.529684 0.530316 0.467813 0.376933 0.354213 0.34664 +0.344747 0.40912 0.44888 0.422373 0.424267 0.441307 0.433733 0.407227 +0.393973 0.384507 0.365573 0.354213 0.371253 0.3864 0.4148 0.441307 +0.450773 0.458347 0.46592 0.473493 0.452667 0.424267 0.428053 0.43752 +0.42616 0.43752 0.46024 0.514526 0.615579 0.814526 1.01396 1.1939 +1.17716 1.04694 1.03094 1.04857 1.25172 1.53018 1.45714 1.08587 +1.02049 1.01298 1.012 1.00906 1.00678 1.00514 1.00514 1.0071 +1.00841 1.01135 1.00971 1.00416 0.991755 0.980327 0.980327 0.977474 +0.961053 0.948421 0.947789 0.959158 0.967368 0.980653 0.99502 1.00188 +0.991429 0.877684 0.659158 0.48296 0.33528 0.331493 0.314453 0.28984 +0.251973 0.22736 0.236827 0.248187 0.253867 0.251973 0.26712 0.25008 +0.000986667 0.00086 0.000806667 0.000813333 0.000786667 0.00074 0.000746667 0.00078 +0.000773333 0.000753333 0.000746667 0.000786667 0.000786667 0.000766667 0.000746667 0.00074 +0.00072 0.00074 0.000733333 0.00072 0.000713333 0.000693333 0.00072 0.000726667 +0.0007 0.000686667 0.000713333 0.000733333 0.00072 0.00072 0.000706667 0.000706667 +0.000686667 0.00064 0.000666667 0.00072 0.000733333 0.000746667 0.000746667 0.000753333 +0.000753333 0.00076 0.00078 0.000773333 0.000753333 0.00076 0.000766667 0.000766667 +0.000753333 0.000753333 0.000753333 0.00074 0.000753333 0.000746667 0.000746667 0.000746667 +0.000733333 0.000726667 0.000753333 0.000746667 0.000726667 0.00074 0.000746667 0.00074 +0.00072 0.000713333 0.000693333 0.000713333 0.000753333 0.000753333 0.000733333 0.000706667 +0.00072 0.000726667 0.000726667 0.00072 0.000706667 0.000706667 0.000733333 0.00072 +0.000706667 0.00072 0.00072 0.000733333 0.000726667 0.00074 0.00074 0.000726667 +0.000726667 0.000753333 0.000793333 0.000813333 0.000793333 0.00076 0.00076 0.000773333 +0.000766667 0.000766667 0.00078 0.000833333 0.00092 0.263333 0.365573 0.411013 +0.505684 0.633263 0.822737 0.969895 0.999918 0.992735 0.976211 0.954737 +0.946526 0.952842 0.971158 0.989796 1.00188 1.00841 1.00841 1.00873 +1.01135 1.01396 1.01265 1.00873 1.00906 1.01135 1.01233 1.01396 +1.01265 1.01004 1.00449 0.996327 0.986857 0.976842 0.969263 0.988163 +1.02571 1.05771 1.05412 1.03518 1.02212 1.00743 0.981959 0.879579 +0.715368 0.570737 0.503158 0.4432 0.418587 0.39776 0.39208 0.395867 +0.38072 0.358 0.358 0.378827 0.399653 0.43184 0.458347 0.45456 +0.40912 0.359893 0.33528 0.3296 0.344747 0.356107 0.344747 0.34096 +0.354213 0.371253 0.399653 0.452667 0.4716 0.435627 0.40912 0.441307 +0.412907 0.34664 0.3296 0.33528 0.34096 0.337173 0.339067 0.3296 +0.3296 0.327707 0.337173 0.344747 0.344747 0.34096 0.325813 0.32392 +0.33528 0.350427 0.399653 0.490533 0.512 0.48296 0.429947 0.42616 +0.428053 0.411013 0.452667 0.576421 0.690105 0.721053 0.669263 0.561895 +0.456453 0.42048 0.44888 0.479173 0.496213 0.484853 0.441307 0.42048 +0.441307 0.429947 0.365573 0.348533 0.36368 0.36368 0.365573 0.350427 +0.33528 0.354213 0.367467 0.371253 0.382613 0.395867 0.4148 0.43184 +0.452667 0.469707 0.452667 0.428053 0.4716 0.534105 0.573895 0.558105 +0.504421 0.48864 0.520842 0.538526 0.611158 0.659158 0.586526 0.475387 +0.384507 0.37504 0.365573 0.356107 0.35232 0.367467 0.424267 0.512632 +0.539789 0.515789 0.43752 0.395867 0.39208 0.390187 0.39208 0.43184 +0.43184 0.390187 0.36368 0.359893 0.382613 0.407227 0.424267 0.46592 +0.508211 0.511368 0.48296 0.464027 0.498107 0.563789 0.753895 0.918105 +0.964842 0.990122 1.00612 1.00776 1.00645 1.01069 1.03584 1.11173 +1.14065 1.06304 1.04563 1.04204 1.04465 1.04498 1.04759 1.04661 +1.04237 1.03616 1.03159 1.02833 1.03192 1.03714 1.04008 1.04204 +1.04727 1.04792 1.04302 1.0502 1.05445 1.05706 1.07065 1.06 +1.05641 1.05576 1.05216 1.05706 1.05543 1.04727 1.04955 1.04759 +1.04531 1.03812 1.03616 1.04139 1.04008 1.04531 1.03976 1.0329 +1.03845 1.03714 1.03322 1.03812 1.04041 1.05902 1.12999 1.044 +1.012 1.00188 0.993061 0.984898 0.971789 0.959158 0.942105 0.926316 +0.858105 0.677474 0.538526 0.48296 0.467813 0.450773 0.422373 0.428053 +0.418587 0.490533 0.547368 0.532842 0.441307 0.399653 0.4148 0.450773 +0.473493 0.435627 0.405333 0.393973 0.373147 0.359893 0.367467 0.376933 +0.40912 0.492427 0.505684 0.46592 0.450773 0.416693 0.348533 0.373147 +0.435627 0.373147 0.316347 0.356107 0.38072 0.3864 0.39776 0.39208 +0.36368 0.339067 0.331493 0.327707 0.32392 0.337173 0.348533 0.359893 +0.38072 0.390187 0.39208 0.399653 0.4148 0.412907 0.378827 0.356107 +0.348533 0.344747 0.34096 0.34664 0.365573 0.395867 0.39208 0.378827 +0.373147 0.34096 0.32392 0.327707 0.342853 0.36368 0.348533 0.31824 +0.316347 0.333387 0.34096 0.358 0.407227 0.46592 0.473493 0.412907 +0.361787 0.39208 0.503158 0.541684 0.522105 0.433733 0.36936 0.358 +0.356107 0.36936 0.37504 0.37504 0.393973 0.418587 0.422373 0.422373 +0.422373 0.40912 0.3864 0.393973 0.4148 0.433733 0.479173 0.517684 +0.535368 0.539158 0.528421 0.516421 0.507579 0.48296 0.450773 0.43184 +0.405333 0.429947 0.496213 0.565684 0.721684 0.941474 1.05771 1.20151 +1.0813 1.03714 1.03943 1.12543 1.40084 1.518 1.23955 1.02996 +1.01004 1.00873 1.00873 1.00939 1.00873 1.00906 1.00971 1.01069 +1.00971 1.00678 1.00024 0.988816 0.978105 0.978105 0.982939 0.976842 +0.957895 0.949684 0.952842 0.962947 0.971789 0.985551 1.0009 0.999592 +0.930737 0.730526 0.531579 0.339067 0.322027 0.3296 0.303093 0.28984 +0.263333 0.236827 0.242507 0.25008 0.25008 0.2444 0.234933 0.000973333 +0.000893333 0.000833333 0.00078 0.000786667 0.000786667 0.000753333 0.00076 0.00078 +0.000773333 0.000753333 0.000733333 0.000733333 0.00074 0.000733333 0.00072 0.000753333 +0.000713333 0.000713333 0.000713333 0.0007 0.000726667 0.000713333 0.000693333 0.000746667 +0.000746667 0.000693333 0.00068 0.0007 0.00072 0.00074 0.000733333 0.000713333 +0.000706667 0.000686667 0.000686667 0.00072 0.000726667 0.00074 0.000753333 0.000753333 +0.000753333 0.00072 0.000726667 0.000746667 0.00074 0.000746667 0.000746667 0.000753333 +0.000753333 0.000746667 0.000746667 0.000733333 0.000733333 0.00074 0.000726667 0.000733333 +0.000726667 0.000713333 0.00072 0.00072 0.000733333 0.000733333 0.000733333 0.00074 +0.000746667 0.000753333 0.00074 0.000746667 0.000753333 0.000753333 0.000746667 0.000746667 +0.00076 0.00074 0.000726667 0.000713333 0.00072 0.000753333 0.00076 0.000746667 +0.000753333 0.000733333 0.000726667 0.00072 0.0007 0.000726667 0.000726667 0.000706667 +0.000706667 0.00074 0.000773333 0.000786667 0.000773333 0.000746667 0.00076 0.00076 +0.00074 0.000733333 0.00076 0.000806667 0.000813333 0.000933333 0.291733 0.37504 +0.42048 0.525263 0.661053 0.851158 0.981959 0.998286 0.990122 0.970526 +0.947158 0.944 0.954105 0.973684 0.988163 1.00024 1.00808 1.01069 +1.01265 1.01624 1.01461 1.00906 1.00743 1.00873 1.01135 1.01167 +1.01265 1.01037 1.00873 1.0058 0.999265 0.98849 0.978737 0.978737 +0.99698 1.03616 1.05902 1.04694 1.02702 1.01069 0.994367 0.946526 +0.822737 0.656632 0.535368 0.464027 0.422373 0.40912 0.399653 0.388293 +0.373147 0.36368 0.36936 0.388293 0.4148 0.43752 0.42048 0.38072 +0.354213 0.337173 0.3296 0.3296 0.339067 0.34096 0.34664 0.344747 +0.34664 0.358 0.401547 0.4716 0.484853 0.407227 0.376933 0.43752 +0.43184 0.358 0.344747 0.354213 0.361787 0.35232 0.337173 0.327707 +0.33528 0.339067 0.34664 0.34664 0.337173 0.327707 0.322027 0.31824 +0.331493 0.378827 0.475387 0.509474 0.481067 0.407227 0.378827 0.401547 +0.418587 0.40912 0.505684 0.62 0.723579 0.738737 0.668 0.549263 +0.42616 0.365573 0.38072 0.411013 0.45456 0.500632 0.496213 0.481067 +0.484853 0.445093 0.378827 0.36936 0.384507 0.38072 0.373147 0.37504 +0.373147 0.37504 0.388293 0.384507 0.3864 0.40912 0.435627 0.464027 +0.496213 0.490533 0.456453 0.48296 0.527789 0.557474 0.566947 0.545474 +0.498107 0.441307 0.496213 0.520842 0.578316 0.637053 0.589684 0.486747 +0.390187 0.390187 0.39208 0.39208 0.401547 0.395867 0.395867 0.44888 +0.520842 0.522105 0.4432 0.384507 0.382613 0.38072 0.382613 0.4148 +0.433733 0.395867 0.356107 0.361787 0.376933 0.395867 0.418587 0.4148 +0.422373 0.4716 0.467813 0.450773 0.49432 0.562526 0.747579 0.911158 +0.961684 0.98751 1.00253 1.00612 1.0058 1.00841 1.03453 1.13912 +1.1513 1.06 1.05216 1.04922 1.04465 1.04661 1.05412 1.05282 +1.04661 1.04302 1.04106 1.03812 1.03747 1.03616 1.03976 1.04269 +1.0502 1.04694 1.04008 1.04465 1.04759 1.05347 1.05576 1.05086 +1.0538 1.05576 1.04727 1.0489 1.04792 1.04531 1.05118 1.04727 +1.03812 1.03486 1.03747 1.03812 1.04139 1.05118 1.04661 1.03616 +1.03714 1.03682 1.03943 1.04629 1.03943 1.0502 1.12543 1.04922 +1.01592 1.00645 0.99502 0.984245 0.973684 0.966737 0.948421 0.926947 +0.877684 0.707158 0.548632 0.484853 0.450773 0.433733 0.405333 0.418587 +0.445093 0.517684 0.555579 0.530316 0.4432 0.382613 0.38072 0.40344 +0.446987 0.446987 0.399653 0.388293 0.382613 0.376933 0.367467 0.36936 +0.384507 0.4432 0.481067 0.43752 0.411013 0.401547 0.354213 0.342853 +0.36368 0.350427 0.31256 0.339067 0.395867 0.429947 0.450773 0.42616 +0.378827 0.350427 0.337173 0.339067 0.339067 0.35232 0.37504 0.382613 +0.382613 0.365573 0.36368 0.39208 0.390187 0.371253 0.36936 0.36936 +0.35232 0.339067 0.337173 0.333387 0.35232 0.388293 0.401547 0.384507 +0.384507 0.361787 0.325813 0.320133 0.33528 0.350427 0.339067 0.320133 +0.320133 0.339067 0.361787 0.384507 0.40912 0.435627 0.428053 0.367467 +0.327707 0.333387 0.405333 0.525895 0.543579 0.503789 0.388293 0.344747 +0.350427 0.350427 0.339067 0.34664 0.367467 0.378827 0.401547 0.473493 +0.503789 0.462133 0.43184 0.446987 0.473493 0.484853 0.501263 0.514526 +0.525895 0.524632 0.510737 0.496213 0.484853 0.469707 0.450773 0.4432 +0.445093 0.48864 0.546737 0.669895 0.856842 1.01853 1.16803 1.13912 +1.04335 1.03224 1.05086 1.25324 1.49214 1.38867 1.05576 1.0182 +1.01331 1.00971 1.00645 1.00808 1.00873 1.00939 1.00906 1.00939 +1.012 1.00873 0.997633 0.982939 0.978737 0.981633 0.976842 0.958526 +0.945263 0.947789 0.957895 0.974947 0.986857 0.996653 1.0009 0.962947 +0.796211 0.589053 0.411013 0.34664 0.359893 0.3296 0.291733 0.276587 +0.265227 0.236827 0.229253 0.231147 0.231147 0.225467 0.000966667 0.000873333 +0.000826667 0.00082 0.000766667 0.000746667 0.000766667 0.000746667 0.000753333 0.00076 +0.000726667 0.000733333 0.000753333 0.000726667 0.00074 0.000753333 0.000746667 0.000766667 +0.00074 0.000733333 0.00074 0.000726667 0.000733333 0.000753333 0.0007 0.000693333 +0.000733333 0.000726667 0.000726667 0.00072 0.000726667 0.000746667 0.000753333 0.000733333 +0.000733333 0.000706667 0.000693333 0.000693333 0.00074 0.000746667 0.000746667 0.000753333 +0.00076 0.000726667 0.00072 0.00074 0.000753333 0.000753333 0.000753333 0.000753333 +0.000746667 0.000733333 0.000726667 0.000726667 0.000746667 0.000753333 0.00074 0.000733333 +0.000746667 0.000733333 0.000713333 0.000706667 0.000726667 0.00072 0.000713333 0.000726667 +0.000733333 0.000746667 0.000746667 0.00076 0.00074 0.000713333 0.000726667 0.000733333 +0.00074 0.000706667 0.000706667 0.000713333 0.00072 0.000726667 0.00072 0.000733333 +0.000746667 0.000726667 0.000726667 0.00072 0.000713333 0.000726667 0.000733333 0.000713333 +0.000733333 0.000753333 0.000766667 0.00076 0.000766667 0.000786667 0.000786667 0.000766667 +0.000746667 0.00076 0.000753333 0.00078 0.000813333 0.000866667 0.22736 0.31824 +0.39208 0.44888 0.542316 0.692632 0.878947 0.986204 0.998612 0.987837 +0.964842 0.947789 0.948421 0.955368 0.969895 0.988163 1.0009 1.00808 +1.01102 1.01298 1.01363 1.00841 1.00449 1.00384 1.00547 1.00873 +1.01167 1.01004 1.00873 1.00776 1.00253 0.994367 0.983918 0.98 +0.982939 1.00841 1.04727 1.05739 1.04008 1.01951 1.00318 0.983918 +0.910526 0.766526 0.609263 0.515158 0.441307 0.40912 0.390187 0.371253 +0.367467 0.36936 0.378827 0.40344 0.416693 0.40912 0.38072 0.36368 +0.359893 0.348533 0.333387 0.33528 0.35232 0.358 0.356107 0.35232 +0.348533 0.373147 0.441307 0.498107 0.4716 0.390187 0.373147 0.43752 +0.446987 0.38072 0.344747 0.350427 0.376933 0.371253 0.342853 0.327707 +0.3296 0.344747 0.367467 0.373147 0.356107 0.333387 0.3296 0.35232 +0.39208 0.469707 0.510737 0.48864 0.405333 0.37504 0.38072 0.393973 +0.401547 0.42048 0.537263 0.662316 0.746316 0.738737 0.645263 0.527158 +0.4148 0.365573 0.350427 0.344747 0.36936 0.418587 0.439413 0.43752 +0.433733 0.407227 0.3864 0.388293 0.393973 0.38072 0.371253 0.376933 +0.388293 0.39776 0.411013 0.407227 0.407227 0.435627 0.512632 0.546737 +0.559368 0.539158 0.514526 0.530947 0.568842 0.575158 0.550526 0.519579 +0.46592 0.395867 0.412907 0.4716 0.528421 0.591579 0.578947 0.492427 +0.3864 0.37504 0.38072 0.405333 0.422373 0.39208 0.36936 0.395867 +0.505053 0.524632 0.452667 0.365573 0.36936 0.39208 0.40912 0.429947 +0.445093 0.412907 0.36368 0.365573 0.36936 0.38072 0.395867 0.384507 +0.390187 0.445093 0.4716 0.46024 0.496213 0.572 0.760842 0.913684 +0.961684 0.986531 1.0009 1.00776 1.00678 1.00873 1.03682 1.13608 +1.11173 1.05086 1.04922 1.05282 1.04922 1.05412 1.06 1.05412 +1.05118 1.05314 1.05249 1.04629 1.03551 1.03388 1.04073 1.04171 +1.04335 1.04073 1.03976 1.04041 1.044 1.05151 1.04531 1.03878 +1.04792 1.05576 1.05151 1.0502 1.0489 1.05184 1.05412 1.04727 +1.03355 1.03257 1.03878 1.03812 1.0391 1.04269 1.04367 1.03682 +1.03388 1.03714 1.04302 1.04694 1.04008 1.05151 1.13304 1.05576 +1.0231 1.01004 0.993061 0.980653 0.974947 0.974316 0.952211 0.926947 +0.900421 0.762105 0.579579 0.504421 0.458347 0.439413 0.43184 0.43752 +0.490533 0.541684 0.569474 0.537263 0.45456 0.388293 0.388293 0.393973 +0.412907 0.42616 0.40344 0.39776 0.405333 0.401547 0.401547 0.376933 +0.36368 0.39208 0.40344 0.382613 0.393973 0.39208 0.373147 0.337173 +0.31824 0.31824 0.314453 0.339067 0.36368 0.373147 0.388293 0.388293 +0.39208 0.38072 0.373147 0.367467 0.376933 0.407227 0.445093 0.429947 +0.393973 0.359893 0.356107 0.376933 0.358 0.339067 0.344747 0.36936 +0.350427 0.333387 0.32392 0.320133 0.34096 0.365573 0.388293 0.40344 +0.411013 0.384507 0.34664 0.327707 0.333387 0.342853 0.34096 0.339067 +0.339067 0.358 0.365573 0.365573 0.371253 0.39776 0.412907 0.365573 +0.333387 0.337173 0.36936 0.501895 0.544842 0.523368 0.405333 0.325813 +0.337173 0.34096 0.32392 0.316347 0.333387 0.348533 0.37504 0.46024 +0.511368 0.458347 0.401547 0.412907 0.445093 0.46592 0.452667 0.4432 +0.433733 0.422373 0.42616 0.429947 0.422373 0.424267 0.424267 0.42616 +0.450773 0.529684 0.642105 0.806316 0.982286 1.0813 1.2289 1.1026 +1.04073 1.0391 1.10413 1.37345 1.4617 1.17412 1.02278 1.01004 +1.01167 1.01004 1.00939 1.01135 1.01429 1.01396 1.01037 1.00612 +1.00547 0.999592 0.986857 0.976211 0.982286 0.985878 0.98 0.959158 +0.949684 0.954105 0.963579 0.980653 0.994041 1.00351 0.989469 0.863789 +0.650316 0.486747 0.348533 0.35232 0.342853 0.304987 0.274693 0.263333 +0.263333 0.23872 0.217893 0.000986667 0.000973333 0.00092 0.000853333 0.000806667 +0.000793333 0.000786667 0.000786667 0.000773333 0.00078 0.000773333 0.00078 0.0008 +0.00076 0.00074 0.00076 0.000766667 0.000746667 0.00074 0.000746667 0.00078 +0.000773333 0.000766667 0.000773333 0.000746667 0.000713333 0.000753333 0.000733333 0.000713333 +0.00074 0.000733333 0.000766667 0.000766667 0.000773333 0.000773333 0.000766667 0.00074 +0.00076 0.000726667 0.000686667 0.000686667 0.000746667 0.000746667 0.00074 0.000726667 +0.000713333 0.000706667 0.000713333 0.000746667 0.00076 0.00076 0.000753333 0.00076 +0.00076 0.000746667 0.000726667 0.000733333 0.00076 0.00076 0.00074 0.000753333 +0.000773333 0.000766667 0.00074 0.000733333 0.000753333 0.00074 0.00074 0.000746667 +0.000733333 0.000726667 0.000733333 0.000733333 0.00072 0.00072 0.000726667 0.000733333 +0.000726667 0.0007 0.000713333 0.000713333 0.000706667 0.00072 0.000706667 0.00072 +0.0007 0.000686667 0.000713333 0.00072 0.000713333 0.000733333 0.000733333 0.000726667 +0.000746667 0.000746667 0.000733333 0.00074 0.00074 0.000746667 0.00076 0.000753333 +0.000766667 0.000746667 0.000733333 0.00076 0.000786667 0.00084 0.00088 0.240613 +0.339067 0.42048 0.47728 0.561895 0.724211 0.904211 0.992735 1.00057 +0.987837 0.965474 0.951579 0.950316 0.956 0.973053 0.989469 1.0009 +1.0071 1.01004 1.012 1.00645 1.0009 0.998939 0.999265 1.00547 +1.01167 1.01167 1.00906 1.00808 1.00253 0.994694 0.984245 0.978105 +0.98 0.988816 1.01951 1.04955 1.05249 1.03453 1.01363 0.997959 +0.968632 0.872 0.721684 0.580842 0.500632 0.40912 0.3864 0.38072 +0.382613 0.382613 0.393973 0.405333 0.405333 0.39776 0.382613 0.371253 +0.36368 0.348533 0.33528 0.339067 0.361787 0.38072 0.36368 0.350427 +0.348533 0.399653 0.49432 0.507579 0.452667 0.37504 0.35232 0.3864 +0.407227 0.3864 0.35232 0.348533 0.38072 0.39208 0.358 0.337173 +0.339067 0.350427 0.36368 0.3864 0.405333 0.40912 0.428053 0.4716 +0.503789 0.524632 0.515158 0.43184 0.365573 0.365573 0.37504 0.390187 +0.390187 0.446987 0.570737 0.689474 0.745684 0.714737 0.608632 0.502526 +0.3864 0.359893 0.344747 0.339067 0.34664 0.359893 0.3864 0.411013 +0.411013 0.388293 0.367467 0.371253 0.36368 0.356107 0.358 0.365573 +0.378827 0.39776 0.407227 0.4148 0.429947 0.505053 0.578316 0.642737 +0.647789 0.611158 0.587789 0.593474 0.59979 0.572632 0.520842 0.467813 +0.43184 0.39776 0.422373 0.458347 0.501895 0.548632 0.563158 0.506947 +0.395867 0.361787 0.365573 0.405333 0.40912 0.376933 0.367467 0.384507 +0.469707 0.527158 0.512 0.40912 0.365573 0.382613 0.424267 0.481067 +0.508211 0.475387 0.382613 0.36368 0.36936 0.388293 0.390187 0.3864 +0.39776 0.428053 0.47728 0.47728 0.498107 0.584632 0.776632 0.914947 +0.960421 0.985224 1.00024 1.00743 1.00678 1.00873 1.03714 1.13456 +1.09956 1.04694 1.04563 1.0502 1.04922 1.05086 1.04661 1.0378 +1.04237 1.05053 1.05282 1.04367 1.03224 1.03584 1.0391 1.03584 +1.03584 1.03649 1.04171 1.04302 1.04629 1.04694 1.03355 1.02735 +1.0342 1.04204 1.04824 1.05347 1.05216 1.05445 1.05216 1.05118 +1.04073 1.03486 1.03616 1.03845 1.03747 1.03486 1.04204 1.04171 +1.03747 1.04073 1.04302 1.04433 1.04171 1.0489 1.09956 1.06 +1.03355 1.01494 0.996 0.983592 0.980327 0.977474 0.957895 0.928842 +0.918105 0.837263 0.654737 0.530947 0.479173 0.462133 0.484853 0.484853 +0.510737 0.544842 0.558737 0.544842 0.502526 0.412907 0.399653 0.40912 +0.39776 0.390187 0.388293 0.393973 0.407227 0.435627 0.445093 0.433733 +0.43184 0.424267 0.399653 0.405333 0.422373 0.416693 0.393973 0.36368 +0.3296 0.322027 0.32392 0.333387 0.339067 0.342853 0.344747 0.358 +0.36936 0.388293 0.3864 0.37504 0.401547 0.446987 0.475387 0.452667 +0.422373 0.388293 0.376933 0.376933 0.356107 0.35232 0.356107 0.367467 +0.365573 0.34664 0.331493 0.30688 0.32392 0.339067 0.361787 0.401547 +0.418587 0.399653 0.36368 0.348533 0.34664 0.358 0.359893 0.350427 +0.34664 0.358 0.348533 0.34096 0.350427 0.37504 0.390187 0.367467 +0.348533 0.339067 0.350427 0.445093 0.541684 0.556211 0.503789 0.38072 +0.34664 0.34664 0.333387 0.32392 0.316347 0.322027 0.327707 0.367467 +0.4148 0.382613 0.36368 0.361787 0.382613 0.418587 0.416693 0.401547 +0.390187 0.382613 0.401547 0.416693 0.411013 0.42048 0.433733 0.4432 +0.506316 0.59979 0.758947 0.922526 1.028 1.18325 1.18325 1.0538 +1.0378 1.05053 1.2289 1.4404 1.31411 1.04498 1.01298 1.01037 +1.00906 1.00873 1.00939 1.01102 1.012 1.012 1.01102 1.01069 +1.00612 0.993388 0.980327 0.974947 0.976842 0.974316 0.964842 0.953474 +0.954737 0.966105 0.98098 0.992082 1.00024 0.996653 0.917474 0.716632 +0.527789 0.354213 0.344747 0.356107 0.32392 0.287947 0.259547 0.23872 +0.23872 0.231147 0.216 0.000926667 0.000866667 0.00084 0.000793333 0.000793333 +0.000806667 0.000806667 0.000793333 0.000786667 0.000786667 0.000773333 0.000786667 0.000773333 +0.000753333 0.00072 0.000753333 0.00078 0.00078 0.000746667 0.000773333 0.00078 +0.000766667 0.000766667 0.000766667 0.000753333 0.000713333 0.000746667 0.000733333 0.00072 +0.000753333 0.000713333 0.000726667 0.000733333 0.00072 0.000726667 0.000726667 0.0007 +0.000706667 0.000726667 0.000733333 0.000726667 0.00074 0.000726667 0.000733333 0.000726667 +0.000733333 0.00072 0.000726667 0.000746667 0.00074 0.00074 0.000726667 0.000726667 +0.000733333 0.000733333 0.000726667 0.000733333 0.000746667 0.00074 0.000726667 0.00074 +0.000733333 0.00074 0.000753333 0.00076 0.00078 0.000773333 0.000746667 0.000746667 +0.000733333 0.00074 0.00074 0.000713333 0.000713333 0.000733333 0.000746667 0.000753333 +0.000726667 0.000713333 0.000726667 0.000706667 0.000693333 0.000713333 0.000746667 0.000766667 +0.000713333 0.000713333 0.000746667 0.00074 0.00072 0.000726667 0.00072 0.000726667 +0.000753333 0.000753333 0.000766667 0.00076 0.000713333 0.0007 0.000733333 0.00076 +0.000773333 0.000766667 0.000793333 0.000826667 0.000846667 0.00084 0.000826667 0.000906667 +0.26144 0.36936 0.429947 0.481067 0.581474 0.752 0.920632 0.994694 +0.998612 0.985551 0.970526 0.956632 0.952842 0.958526 0.972421 0.988163 +0.999918 1.00971 1.012 1.00808 1.00384 1.00155 0.999918 1.00351 +1.01004 1.01265 1.00841 1.00776 1.00449 0.997959 0.986204 0.976842 +0.980653 0.984898 0.998612 1.03061 1.05739 1.05543 1.03159 1.00939 +0.992408 0.946526 0.833474 0.679368 0.552421 0.458347 0.40344 0.39776 +0.399653 0.416693 0.429947 0.411013 0.3864 0.384507 0.367467 0.365573 +0.361787 0.344747 0.34096 0.350427 0.37504 0.38072 0.361787 0.35232 +0.37504 0.452667 0.516421 0.506316 0.42616 0.373147 0.35232 0.356107 +0.36936 0.367467 0.354213 0.356107 0.40912 0.445093 0.39776 0.356107 +0.354213 0.354213 0.356107 0.382613 0.456453 0.500632 0.507579 0.506947 +0.505053 0.518947 0.506316 0.416693 0.36936 0.361787 0.373147 0.378827 +0.371253 0.48864 0.601053 0.696421 0.716 0.655368 0.556842 0.45456 +0.384507 0.367467 0.354213 0.356107 0.356107 0.356107 0.37504 0.399653 +0.39776 0.37504 0.348533 0.34096 0.34664 0.344747 0.339067 0.34096 +0.356107 0.376933 0.3864 0.399653 0.428053 0.504421 0.566947 0.623158 +0.627579 0.609895 0.617474 0.628842 0.611789 0.56 0.484853 0.412907 +0.445093 0.446987 0.462133 0.475387 0.473493 0.518316 0.542316 0.508842 +0.40912 0.36368 0.378827 0.39208 0.39208 0.38072 0.382613 0.401547 +0.43752 0.509474 0.525895 0.498107 0.42616 0.411013 0.4148 0.492427 +0.544211 0.549263 0.48864 0.39208 0.37504 0.376933 0.384507 0.399653 +0.399653 0.4148 0.4716 0.501263 0.508842 0.602947 0.793684 0.918105 +0.959789 0.984571 0.999265 1.00547 1.00514 1.00645 1.03192 1.11782 +1.09043 1.04694 1.04857 1.05118 1.0489 1.04694 1.04335 1.03747 +1.04008 1.04531 1.04531 1.03845 1.03616 1.04237 1.04171 1.03714 +1.03714 1.04041 1.04563 1.04139 1.03878 1.04041 1.03355 1.02996 +1.02735 1.03192 1.04498 1.0489 1.04531 1.04727 1.04629 1.05216 +1.05184 1.04596 1.03878 1.03845 1.04269 1.044 1.05314 1.05282 +1.04465 1.04563 1.04237 1.04335 1.04204 1.04171 1.05804 1.05967 +1.04041 1.02245 1.00416 0.990122 0.984898 0.982612 0.968 0.936421 +0.927579 0.894737 0.743158 0.583368 0.517684 0.501263 0.506947 0.505053 +0.516421 0.527158 0.510737 0.507579 0.500632 0.43752 0.395867 0.39776 +0.390187 0.37504 0.378827 0.36936 0.40344 0.428053 0.435627 0.441307 +0.462133 0.441307 0.407227 0.418587 0.46024 0.464027 0.422373 0.371253 +0.331493 0.331493 0.337173 0.354213 0.35232 0.356107 0.358 0.354213 +0.361787 0.382613 0.373147 0.358 0.371253 0.405333 0.412907 0.395867 +0.411013 0.40912 0.390187 0.38072 0.36368 0.358 0.348533 0.365573 +0.371253 0.35232 0.342853 0.310667 0.31256 0.325813 0.354213 0.395867 +0.4432 0.458347 0.412907 0.36368 0.337173 0.342853 0.34664 0.3296 +0.325813 0.327707 0.320133 0.327707 0.356107 0.384507 0.384507 0.378827 +0.373147 0.361787 0.36368 0.422373 0.529684 0.572 0.536632 0.441307 +0.356107 0.337173 0.3296 0.3296 0.325813 0.322027 0.333387 0.339067 +0.339067 0.350427 0.36368 0.354213 0.359893 0.399653 0.411013 0.384507 +0.367467 0.37504 0.39208 0.40912 0.422373 0.439413 0.456453 0.501263 +0.570737 0.713474 0.875158 0.99698 1.05935 1.19086 1.09348 1.04008 +1.0378 1.08891 1.33541 1.37193 1.095 1.02147 1.01527 1.01429 +1.01265 1.01396 1.01396 1.01298 1.012 1.01004 1.00873 1.00678 +0.996327 0.982286 0.972421 0.978737 0.976211 0.965474 0.957895 0.952842 +0.954105 0.963579 0.982939 0.997306 0.999918 0.955368 0.784842 0.582105 +0.424267 0.358 0.35232 0.344747 0.308773 0.274693 0.2444 0.229253 +0.217893 0.00092 0.000893333 0.000826667 0.000766667 0.00078 0.000793333 0.0008 +0.000813333 0.000826667 0.000806667 0.000793333 0.00078 0.00076 0.00078 0.000786667 +0.000753333 0.000733333 0.000773333 0.000793333 0.00078 0.000766667 0.000773333 0.00078 +0.000746667 0.000746667 0.000773333 0.000773333 0.000726667 0.000746667 0.00072 0.000693333 +0.000733333 0.000706667 0.0007 0.000713333 0.000706667 0.000733333 0.000753333 0.000766667 +0.000753333 0.00074 0.00076 0.000753333 0.000753333 0.000733333 0.000753333 0.00076 +0.00076 0.000746667 0.000733333 0.00074 0.00074 0.000746667 0.000746667 0.000746667 +0.000746667 0.000773333 0.00078 0.00076 0.000766667 0.000753333 0.00072 0.00072 +0.0007 0.000713333 0.000753333 0.000753333 0.000746667 0.00076 0.000746667 0.000753333 +0.000753333 0.000753333 0.000753333 0.00074 0.00074 0.00074 0.000726667 0.000713333 +0.000706667 0.00072 0.000726667 0.0007 0.0007 0.00072 0.00074 0.00074 +0.000713333 0.00074 0.00076 0.000726667 0.00072 0.000733333 0.000726667 0.000713333 +0.000733333 0.00076 0.000773333 0.000746667 0.000706667 0.000713333 0.000713333 0.000726667 +0.000746667 0.000746667 0.000786667 0.000806667 0.000846667 0.000873333 0.00086 0.000886667 +0.000953333 0.282267 0.37504 0.412907 0.5 0.597263 0.763368 0.926947 +0.995347 0.998286 0.988163 0.971789 0.957263 0.954737 0.958526 0.973684 +0.989143 1.00253 1.00906 1.01069 1.01037 1.00971 1.00743 1.0058 +1.00743 1.00873 1.00645 1.00547 1.00384 1.00155 0.993388 0.983265 +0.985224 0.990776 0.993061 1.00776 1.04008 1.06609 1.04955 1.02376 +1.00514 0.984898 0.915579 0.784211 0.635789 0.530316 0.445093 0.405333 +0.40344 0.435627 0.44888 0.407227 0.382613 0.393973 0.37504 0.358 +0.359893 0.356107 0.359893 0.378827 0.384507 0.359893 0.34664 0.356107 +0.412907 0.513895 0.534737 0.503158 0.418587 0.3864 0.367467 0.359893 +0.361787 0.361787 0.365573 0.38072 0.439413 0.46592 0.405333 0.354213 +0.34664 0.356107 0.36368 0.399653 0.456453 0.469707 0.456453 0.43752 +0.445093 0.47728 0.435627 0.361787 0.33528 0.339067 0.371253 0.382613 +0.38072 0.517053 0.616211 0.674316 0.661684 0.583368 0.513263 0.4432 +0.399653 0.390187 0.36368 0.350427 0.35232 0.35232 0.373147 0.382613 +0.384507 0.378827 0.350427 0.337173 0.34096 0.348533 0.337173 0.350427 +0.367467 0.3864 0.39776 0.388293 0.367467 0.393973 0.45456 0.507579 +0.512632 0.525895 0.582737 0.626947 0.602316 0.534105 0.428053 0.393973 +0.45456 0.473493 0.450773 0.43184 0.407227 0.456453 0.517053 0.504421 +0.411013 0.384507 0.399653 0.39208 0.376933 0.373147 0.376933 0.399653 +0.40344 0.445093 0.520842 0.527158 0.501263 0.4432 0.416693 0.481067 +0.568211 0.629474 0.587158 0.519579 0.452667 0.405333 0.393973 0.401547 +0.39776 0.42048 0.462133 0.500632 0.521474 0.630737 0.817684 0.931368 +0.964842 0.985878 1.00057 1.00612 1.00351 1.00188 1.02376 1.08739 +1.07978 1.04727 1.04629 1.04727 1.0502 1.0489 1.05118 1.05184 +1.05118 1.0538 1.0538 1.04857 1.04629 1.04661 1.04302 1.03518 +1.03224 1.03584 1.04367 1.0391 1.0378 1.04335 1.04531 1.04563 +1.0329 1.0329 1.05184 1.05216 1.04335 1.04465 1.044 1.04694 +1.05184 1.05445 1.0502 1.04955 1.05608 1.05935 1.07369 1.05412 +1.04531 1.04694 1.04302 1.04563 1.04335 1.04073 1.05543 1.06152 +1.04269 1.02669 1.01167 0.995673 0.988163 0.98751 0.98 0.949684 +0.938947 0.921895 0.812 0.650316 0.554947 0.510737 0.49432 0.479173 +0.509474 0.510105 0.43752 0.40912 0.43752 0.43752 0.40912 0.405333 +0.39208 0.378827 0.376933 0.378827 0.3864 0.393973 0.395867 0.401547 +0.40912 0.412907 0.376933 0.390187 0.458347 0.486747 0.42048 0.348533 +0.3296 0.327707 0.358 0.388293 0.36936 0.354213 0.344747 0.344747 +0.361787 0.38072 0.354213 0.34096 0.354213 0.367467 0.354213 0.34664 +0.37504 0.412907 0.412907 0.395867 0.367467 0.34664 0.35232 0.376933 +0.37504 0.34664 0.356107 0.327707 0.316347 0.320133 0.33528 0.37504 +0.44888 0.506947 0.49432 0.401547 0.34664 0.33528 0.337173 0.344747 +0.344747 0.3296 0.31824 0.31824 0.359893 0.378827 0.356107 0.348533 +0.348533 0.344747 0.342853 0.36936 0.492427 0.549263 0.548 0.508842 +0.418587 0.367467 0.34096 0.34096 0.356107 0.34664 0.34096 0.344747 +0.34664 0.373147 0.384507 0.378827 0.382613 0.416693 0.44888 0.422373 +0.39776 0.39208 0.38072 0.393973 0.424267 0.429947 0.44888 0.532211 +0.660421 0.822105 0.964211 1.03649 1.14825 1.14825 1.05706 1.044 +1.05576 1.23498 1.39019 1.21216 1.03192 1.01167 1.01135 1.00939 +1.00939 1.01135 1.01167 1.01135 1.01233 1.01233 1.00841 0.999918 +0.985878 0.977474 0.974316 0.969895 0.962316 0.954105 0.950947 0.952842 +0.964211 0.981633 0.994367 1.00286 0.981633 0.836 0.628211 0.46024 +0.378827 0.382613 0.35232 0.31256 0.280373 0.246293 0.000973333 0.00096 +0.000946667 0.00084 0.000813333 0.000826667 0.0008 0.000786667 0.00078 0.000753333 +0.00078 0.000806667 0.00082 0.000806667 0.000773333 0.000733333 0.000746667 0.00076 +0.000746667 0.000706667 0.00072 0.000746667 0.000753333 0.000746667 0.000753333 0.00078 +0.000746667 0.000726667 0.000746667 0.000766667 0.00074 0.000746667 0.000753333 0.00072 +0.000726667 0.000713333 0.000733333 0.00076 0.00076 0.00078 0.000793333 0.000773333 +0.00078 0.000746667 0.00072 0.00072 0.000733333 0.000713333 0.000726667 0.00074 +0.00074 0.00074 0.000726667 0.000733333 0.000753333 0.000753333 0.00076 0.00076 +0.00074 0.000733333 0.000746667 0.000733333 0.000733333 0.000733333 0.000733333 0.000726667 +0.000726667 0.000746667 0.000773333 0.000746667 0.000726667 0.00074 0.00074 0.000753333 +0.000753333 0.000753333 0.00076 0.00078 0.00078 0.00076 0.000733333 0.000726667 +0.00074 0.000733333 0.00072 0.000706667 0.000733333 0.000753333 0.000746667 0.000726667 +0.00072 0.000733333 0.000726667 0.0007 0.000746667 0.000766667 0.000733333 0.000733333 +0.000766667 0.000786667 0.000773333 0.000733333 0.00072 0.00072 0.00068 0.000693333 +0.000726667 0.000733333 0.000753333 0.000753333 0.000793333 0.000833333 0.000846667 0.00086 +0.00086 0.000993333 0.304987 0.38072 0.422373 0.504421 0.604211 0.775368 +0.937684 0.997633 0.999918 0.986531 0.965474 0.954105 0.952842 0.957263 +0.972421 0.989469 1.00024 1.00873 1.012 1.01429 1.01363 1.01069 +1.0071 1.00384 1.00188 1.00351 1.00416 1.00416 0.999918 0.991102 +0.988816 0.994367 0.996327 0.99698 1.01363 1.044 1.05641 1.04106 +1.01559 0.997306 0.972421 0.882737 0.740632 0.600421 0.508842 0.42048 +0.411013 0.433733 0.435627 0.39776 0.382613 0.39776 0.401547 0.384507 +0.378827 0.38072 0.382613 0.3864 0.36936 0.344747 0.333387 0.359893 +0.484853 0.547368 0.539789 0.479173 0.416693 0.405333 0.378827 0.361787 +0.365573 0.37504 0.37504 0.388293 0.435627 0.441307 0.378827 0.344747 +0.342853 0.361787 0.399653 0.416693 0.407227 0.390187 0.388293 0.405333 +0.439413 0.428053 0.365573 0.32392 0.31256 0.320133 0.354213 0.378827 +0.40912 0.532211 0.609263 0.635158 0.59979 0.524 0.45456 0.422373 +0.384507 0.371253 0.367467 0.358 0.35232 0.358 0.373147 0.373147 +0.36936 0.367467 0.354213 0.34664 0.348533 0.350427 0.359893 0.36936 +0.378827 0.38072 0.38072 0.358 0.333387 0.339067 0.358 0.378827 +0.371253 0.428053 0.554947 0.617474 0.586526 0.508842 0.38072 0.361787 +0.40344 0.422373 0.395867 0.378827 0.36368 0.401547 0.49432 0.5 +0.428053 0.39208 0.388293 0.384507 0.367467 0.358 0.37504 0.39208 +0.378827 0.384507 0.492427 0.524 0.508842 0.467813 0.43184 0.462133 +0.559368 0.640211 0.628842 0.562526 0.512632 0.464027 0.433733 0.424267 +0.422373 0.44888 0.467813 0.48864 0.539158 0.676211 0.852421 0.944632 +0.969263 0.98751 1.00122 1.00612 1.00286 1.00188 1.0231 1.08282 +1.11021 1.05543 1.05086 1.05086 1.05576 1.05249 1.05445 1.05869 +1.06609 1.07369 1.07674 1.07217 1.05641 1.05086 1.04204 1.03061 +1.03159 1.0342 1.04073 1.04237 1.04792 1.04857 1.04139 1.03747 +1.02996 1.03322 1.05151 1.05412 1.04237 1.03943 1.04335 1.0489 +1.05445 1.05935 1.06 1.06761 1.06456 1.05837 1.05804 1.04792 +1.04433 1.04661 1.04302 1.04727 1.04531 1.04498 1.05837 1.07217 +1.04563 1.03061 1.02016 1.00057 0.98751 0.98849 0.983918 0.963579 +0.951579 0.937053 0.865053 0.706526 0.580211 0.516421 0.4716 0.458347 +0.510105 0.510737 0.43752 0.395867 0.405333 0.412907 0.412907 0.411013 +0.388293 0.37504 0.378827 0.38072 0.361787 0.36936 0.395867 0.39776 +0.399653 0.407227 0.40344 0.388293 0.424267 0.44888 0.401547 0.358 +0.34664 0.342853 0.38072 0.424267 0.384507 0.339067 0.322027 0.331493 +0.382613 0.411013 0.367467 0.344747 0.342853 0.339067 0.331493 0.327707 +0.339067 0.376933 0.401547 0.371253 0.342853 0.342853 0.361787 0.412907 +0.38072 0.331493 0.354213 0.34096 0.316347 0.310667 0.32392 0.373147 +0.458347 0.521474 0.526526 0.46592 0.376933 0.35232 0.34096 0.34664 +0.35232 0.337173 0.3296 0.342853 0.384507 0.3864 0.348533 0.35232 +0.35232 0.348533 0.348533 0.359893 0.441307 0.515158 0.530316 0.524 +0.47728 0.382613 0.339067 0.337173 0.35232 0.34664 0.33528 0.339067 +0.36368 0.388293 0.395867 0.39208 0.390187 0.412907 0.450773 0.44888 +0.439413 0.43752 0.407227 0.401547 0.422373 0.43184 0.505053 0.609263 +0.768421 0.905474 1.00482 1.06304 1.1376 1.05967 1.04498 1.04563 +1.14065 1.34302 1.28672 1.0502 1.01788 1.01396 1.01363 1.012 +1.012 1.01102 1.00971 1.00776 1.00841 1.00873 1.00188 0.988816 +0.978737 0.978105 0.978105 0.969263 0.959789 0.954105 0.947789 0.947789 +0.966737 0.986531 0.997306 0.990776 0.889053 0.687579 0.522105 0.395867 +0.40344 0.37504 0.31824 0.263333 0.234933 0.223573 0.000953333 0.000946667 +0.000926667 0.000846667 0.000806667 0.000813333 0.000806667 0.000806667 0.000793333 0.00076 +0.000753333 0.000733333 0.00076 0.000773333 0.000753333 0.00074 0.000753333 0.000766667 +0.000753333 0.000713333 0.000713333 0.000733333 0.000753333 0.000766667 0.00076 0.00076 +0.00076 0.000746667 0.00074 0.00076 0.000746667 0.000773333 0.00078 0.000753333 +0.000753333 0.000733333 0.000746667 0.000766667 0.00076 0.00074 0.000746667 0.000733333 +0.00074 0.000733333 0.000713333 0.000706667 0.000766667 0.00074 0.000733333 0.00074 +0.000733333 0.000713333 0.000713333 0.000713333 0.000726667 0.00074 0.00076 0.000766667 +0.000753333 0.000733333 0.000753333 0.000733333 0.000706667 0.00072 0.00072 0.000706667 +0.000706667 0.000726667 0.000753333 0.00074 0.000713333 0.000706667 0.000706667 0.00074 +0.000713333 0.0007 0.000706667 0.000746667 0.000753333 0.00072 0.0007 0.00072 +0.00072 0.000693333 0.0007 0.00072 0.000733333 0.00072 0.000726667 0.000713333 +0.000713333 0.00072 0.00072 0.000746667 0.000766667 0.00076 0.00074 0.000753333 +0.000786667 0.000786667 0.00076 0.000726667 0.000726667 0.000726667 0.000693333 0.00072 +0.000753333 0.000726667 0.00074 0.000766667 0.000786667 0.0008 0.00082 0.00082 +0.000846667 0.000893333 0.229253 0.31256 0.388293 0.411013 0.504421 0.613684 +0.788632 0.948421 1.0009 1.00057 0.985551 0.965474 0.953474 0.950316 +0.955368 0.976211 0.989469 0.999265 1.00743 1.01233 1.01461 1.01265 +1.00873 1.00286 0.997633 0.999265 1.00155 1.00416 1.00253 0.99502 +0.991429 0.994367 0.997959 0.996653 0.997306 1.01559 1.04433 1.05445 +1.03518 1.00971 0.993714 0.958526 0.851789 0.700211 0.568211 0.484853 +0.428053 0.43184 0.422373 0.395867 0.384507 0.40344 0.462133 0.48864 +0.446987 0.412907 0.405333 0.390187 0.356107 0.339067 0.348533 0.418587 +0.537263 0.579579 0.537263 0.435627 0.393973 0.411013 0.395867 0.367467 +0.361787 0.388293 0.39208 0.405333 0.45456 0.433733 0.36368 0.34664 +0.354213 0.38072 0.411013 0.395867 0.359893 0.34096 0.356107 0.405333 +0.43752 0.395867 0.344747 0.331493 0.31824 0.32392 0.354213 0.37504 +0.439413 0.537895 0.583368 0.581474 0.533474 0.4432 0.418587 0.40912 +0.371253 0.376933 0.382613 0.384507 0.358 0.350427 0.36936 0.37504 +0.367467 0.367467 0.373147 0.361787 0.344747 0.356107 0.38072 0.376933 +0.371253 0.378827 0.36368 0.342853 0.333387 0.339067 0.36936 0.378827 +0.34664 0.42048 0.559368 0.614947 0.570737 0.484853 0.36936 0.34664 +0.37504 0.378827 0.36368 0.37504 0.37504 0.399653 0.446987 0.462133 +0.441307 0.395867 0.36368 0.359893 0.36368 0.359893 0.3864 0.39208 +0.373147 0.378827 0.441307 0.48296 0.467813 0.481067 0.479173 0.501263 +0.538526 0.565053 0.550526 0.513895 0.467813 0.456453 0.450773 0.446987 +0.458347 0.475387 0.47728 0.49432 0.56 0.719789 0.878947 0.947158 +0.968632 0.988816 1.0009 1.00351 1.0022 1.00514 1.02376 1.06304 +1.1163 1.05739 1.05347 1.05543 1.05837 1.05641 1.05184 1.04857 +1.05282 1.05445 1.05086 1.05151 1.05249 1.05445 1.04955 1.04106 +1.04237 1.04041 1.04073 1.04563 1.05412 1.04433 1.02833 1.02343 +1.02506 1.03061 1.04335 1.05478 1.04955 1.04073 1.04433 1.05412 +1.05967 1.06456 1.05771 1.05543 1.0502 1.04596 1.04465 1.04041 +1.04367 1.04792 1.04335 1.04367 1.04171 1.04498 1.05967 1.06304 +1.04727 1.04041 1.03159 1.00645 0.991102 0.993388 0.993714 0.984898 +0.965474 0.945895 0.906105 0.766526 0.603579 0.527789 0.501263 0.49432 +0.519579 0.517053 0.452667 0.411013 0.40344 0.399653 0.401547 0.405333 +0.384507 0.376933 0.38072 0.378827 0.38072 0.399653 0.42048 0.405333 +0.38072 0.399653 0.422373 0.39776 0.39776 0.424267 0.393973 0.359893 +0.34664 0.356107 0.407227 0.412907 0.359893 0.333387 0.31824 0.34096 +0.401547 0.44888 0.395867 0.358 0.356107 0.333387 0.322027 0.325813 +0.333387 0.344747 0.359893 0.350427 0.333387 0.342853 0.373147 0.399653 +0.350427 0.31256 0.331493 0.327707 0.3012 0.3012 0.31824 0.361787 +0.44888 0.527158 0.561895 0.561263 0.530947 0.462133 0.36936 0.34664 +0.354213 0.348533 0.350427 0.36368 0.3864 0.384507 0.36368 0.350427 +0.34096 0.342853 0.356107 0.3864 0.458347 0.498107 0.505684 0.526526 +0.513263 0.405333 0.327707 0.327707 0.331493 0.33528 0.33528 0.337173 +0.354213 0.371253 0.365573 0.37504 0.38072 0.395867 0.439413 0.450773 +0.433733 0.42616 0.418587 0.4148 0.435627 0.498107 0.575789 0.727368 +0.871368 0.972421 1.03094 1.10869 1.08435 1.04661 1.04008 1.05641 +1.24564 1.30194 1.06761 1.01984 1.01265 1.01331 1.01396 1.01527 +1.0169 1.01461 1.01363 1.01331 1.01265 1.00776 0.994367 0.977474 +0.968632 0.968 0.961053 0.955368 0.954737 0.952842 0.952211 0.964211 +0.986531 0.998612 0.99502 0.925684 0.74 0.549263 0.399653 0.395867 +0.40344 0.339067 0.27848 0.25008 0.23304 0.000953333 0.000866667 0.000833333 +0.000806667 0.000813333 0.000786667 0.000766667 0.00078 0.000793333 0.000826667 0.000806667 +0.0008 0.000773333 0.00076 0.000766667 0.0008 0.000766667 0.000753333 0.000766667 +0.000766667 0.00074 0.000726667 0.0007 0.000706667 0.000733333 0.000766667 0.00076 +0.000726667 0.00076 0.000746667 0.000733333 0.00072 0.00076 0.00078 0.00078 +0.000773333 0.00076 0.000746667 0.000753333 0.00076 0.000746667 0.000753333 0.000766667 +0.000786667 0.00078 0.00076 0.000746667 0.00076 0.000766667 0.000746667 0.000753333 +0.000746667 0.00074 0.00074 0.000713333 0.00072 0.000733333 0.00074 0.00074 +0.000753333 0.00076 0.000773333 0.00076 0.00072 0.000753333 0.00076 0.000733333 +0.000726667 0.000733333 0.000753333 0.000733333 0.00072 0.000726667 0.000733333 0.00074 +0.00072 0.000706667 0.000726667 0.00074 0.000713333 0.000693333 0.000693333 0.000726667 +0.000713333 0.0007 0.000726667 0.000746667 0.000726667 0.000733333 0.000753333 0.000726667 +0.00072 0.00072 0.000726667 0.000726667 0.000713333 0.000693333 0.000733333 0.000746667 +0.000746667 0.000746667 0.00074 0.000726667 0.00074 0.000733333 0.000713333 0.00076 +0.000766667 0.00074 0.00074 0.000766667 0.000773333 0.000786667 0.00082 0.000813333 +0.000826667 0.000826667 0.000886667 0.240613 0.333387 0.384507 0.411013 0.510105 +0.625053 0.809474 0.966737 1.00449 0.999265 0.983592 0.963579 0.954105 +0.952842 0.962947 0.98 0.98849 0.998612 1.0071 1.01331 1.01429 +1.01102 1.00678 1.00024 0.998939 0.999592 1.00351 1.00678 1.00188 +0.995347 0.996327 1.00024 1.00057 0.995673 0.996327 1.01755 1.04792 +1.05445 1.02898 1.00351 0.98751 0.932632 0.810737 0.662947 0.546105 +0.469707 0.428053 0.42048 0.40912 0.407227 0.433733 0.507579 0.518947 +0.469707 0.407227 0.39776 0.3864 0.359893 0.34664 0.37504 0.473493 +0.545474 0.569474 0.529684 0.42616 0.36936 0.388293 0.401547 0.3864 +0.36936 0.3864 0.395867 0.416693 0.475387 0.4432 0.37504 0.376933 +0.3864 0.384507 0.390187 0.361787 0.331493 0.3296 0.350427 0.405333 +0.40912 0.358 0.333387 0.331493 0.32392 0.337173 0.37504 0.401547 +0.452667 0.527158 0.542947 0.522737 0.458347 0.382613 0.399653 0.411013 +0.371253 0.359893 0.39208 0.393973 0.358 0.344747 0.348533 0.359893 +0.354213 0.356107 0.373147 0.37504 0.356107 0.356107 0.388293 0.378827 +0.371253 0.382613 0.36368 0.344747 0.3296 0.337173 0.373147 0.373147 +0.354213 0.481067 0.581474 0.613684 0.556842 0.4716 0.378827 0.34664 +0.365573 0.376933 0.371253 0.401547 0.4148 0.416693 0.40344 0.407227 +0.44888 0.450773 0.399653 0.376933 0.36936 0.36936 0.384507 0.36936 +0.359893 0.388293 0.4432 0.446987 0.405333 0.445093 0.504421 0.531579 +0.542947 0.513263 0.481067 0.44888 0.43184 0.44888 0.435627 0.418587 +0.441307 0.456453 0.47728 0.512632 0.592842 0.760842 0.894105 0.940211 +0.966105 0.989796 0.999592 1.00547 1.00547 1.00514 1.01853 1.05282 +1.11021 1.0538 1.04661 1.05053 1.05576 1.05837 1.05216 1.04563 +1.04596 1.04922 1.04367 1.03584 1.03943 1.05086 1.0551 1.05445 +1.05347 1.04955 1.05347 1.06913 1.07978 1.04335 1.028 1.02735 +1.03061 1.03224 1.04465 1.07826 1.07978 1.04922 1.05053 1.06 +1.06 1.05478 1.0489 1.04433 1.04008 1.03845 1.04106 1.04204 +1.04367 1.04563 1.03943 1.03682 1.03845 1.04922 1.09652 1.06609 +1.04596 1.04727 1.04008 1.01135 0.998939 1.00514 1.01396 1.0058 +0.987184 0.960421 0.932632 0.833474 0.651579 0.544842 0.528421 0.533474 +0.532842 0.518316 0.484853 0.43752 0.4148 0.399653 0.390187 0.3864 +0.384507 0.384507 0.399653 0.445093 0.48296 0.469707 0.450773 0.399653 +0.373147 0.382613 0.407227 0.39776 0.390187 0.412907 0.3864 0.339067 +0.32392 0.365573 0.43184 0.40912 0.350427 0.325813 0.32392 0.34096 +0.40912 0.46592 0.43752 0.412907 0.401547 0.350427 0.32392 0.32392 +0.333387 0.337173 0.348533 0.33528 0.327707 0.342853 0.378827 0.390187 +0.34664 0.327707 0.325813 0.31824 0.310667 0.310667 0.316347 0.331493 +0.399653 0.517053 0.589053 0.657263 0.649053 0.550526 0.4148 0.359893 +0.359893 0.359893 0.361787 0.36936 0.36936 0.376933 0.367467 0.348533 +0.348533 0.36936 0.3864 0.4148 0.469707 0.473493 0.450773 0.511368 +0.527158 0.473493 0.365573 0.348533 0.348533 0.365573 0.367467 0.36368 +0.358 0.356107 0.34096 0.371253 0.399653 0.3864 0.418587 0.439413 +0.40344 0.378827 0.384507 0.40912 0.469707 0.549895 0.683789 0.839158 +0.944632 1.00841 1.05314 1.09804 1.05935 1.04922 1.05347 1.18021 +1.30802 1.16043 1.03127 1.01298 1.01069 1.00971 1.00776 1.00906 +1.01069 1.00939 1.01069 1.012 1.01167 0.999918 0.985878 0.978105 +0.977474 0.969263 0.956632 0.950316 0.948421 0.947789 0.956 0.977474 +0.994694 1.00057 0.958526 0.794316 0.598526 0.46592 0.416693 0.42616 +0.36368 0.2728 0.217893 0.000966667 0.000946667 0.000866667 0.000806667 0.000813333 +0.000826667 0.000806667 0.00076 0.000753333 0.000753333 0.000766667 0.000833333 0.00082 +0.000793333 0.000786667 0.000766667 0.00072 0.00074 0.000753333 0.00076 0.00078 +0.000766667 0.000746667 0.000713333 0.0007 0.000713333 0.000713333 0.000753333 0.000786667 +0.000766667 0.000766667 0.00078 0.000773333 0.00074 0.000753333 0.000793333 0.0008 +0.00074 0.000733333 0.00076 0.000746667 0.000766667 0.000773333 0.00076 0.000766667 +0.00078 0.000793333 0.00078 0.000766667 0.000733333 0.00074 0.000726667 0.000726667 +0.000726667 0.000753333 0.00076 0.000726667 0.00074 0.000746667 0.000733333 0.00074 +0.000733333 0.0007 0.000706667 0.0007 0.000693333 0.000726667 0.000726667 0.00072 +0.00074 0.000753333 0.000753333 0.000726667 0.00072 0.000733333 0.00072 0.00072 +0.00072 0.000733333 0.00074 0.000753333 0.000733333 0.000726667 0.000733333 0.00072 +0.00072 0.00072 0.000746667 0.000746667 0.000733333 0.000766667 0.00076 0.000726667 +0.00074 0.000753333 0.00074 0.00074 0.00072 0.00072 0.00074 0.000726667 +0.000713333 0.000713333 0.000726667 0.000713333 0.00072 0.000733333 0.00072 0.000746667 +0.000746667 0.000733333 0.000773333 0.00078 0.000786667 0.0008 0.000833333 0.000813333 +0.000793333 0.000786667 0.00082 0.000906667 0.253867 0.348533 0.39776 0.412907 +0.517684 0.649053 0.830316 0.971158 1.0009 0.99698 0.983592 0.966105 +0.954737 0.952842 0.961053 0.974316 0.98849 0.998939 1.00612 1.01135 +1.01135 1.00939 1.0058 1.00286 1.00253 1.00286 1.0071 1.00645 +0.999592 0.998286 1.00024 1.00024 0.99698 0.994694 0.998286 1.02049 +1.04792 1.04465 1.01788 0.99698 0.980327 0.902316 0.769684 0.628842 +0.529684 0.464027 0.43752 0.433733 0.43752 0.46592 0.504421 0.49432 +0.418587 0.3864 0.393973 0.390187 0.382613 0.395867 0.445093 0.503158 +0.517053 0.520842 0.505684 0.435627 0.378827 0.36936 0.393973 0.395867 +0.36368 0.350427 0.361787 0.395867 0.46592 0.456453 0.393973 0.3864 +0.38072 0.36936 0.36936 0.350427 0.327707 0.333387 0.361787 0.4148 +0.401547 0.348533 0.333387 0.333387 0.331493 0.3296 0.361787 0.405333 +0.475387 0.517684 0.510737 0.452667 0.390187 0.361787 0.367467 0.407227 +0.39208 0.344747 0.365573 0.393973 0.367467 0.354213 0.344747 0.342853 +0.34096 0.331493 0.348533 0.367467 0.365573 0.378827 0.42616 0.429947 +0.393973 0.373147 0.348533 0.337173 0.333387 0.342853 0.36936 0.36936 +0.395867 0.526526 0.606105 0.613684 0.548 0.46592 0.38072 0.34096 +0.34664 0.365573 0.378827 0.393973 0.40344 0.405333 0.3864 0.371253 +0.42616 0.486747 0.456453 0.407227 0.384507 0.393973 0.390187 0.361787 +0.354213 0.378827 0.43184 0.435627 0.390187 0.395867 0.469707 0.524632 +0.535368 0.48296 0.428053 0.42616 0.418587 0.4432 0.433733 0.418587 +0.433733 0.435627 0.473493 0.529053 0.637053 0.803789 0.912421 0.948421 +0.980653 0.99502 0.997633 1.00449 1.0058 1.00612 1.01755 1.04759 +1.11478 1.05739 1.04661 1.0502 1.05249 1.0502 1.0502 1.05412 +1.05053 1.04955 1.04824 1.03812 1.0342 1.04171 1.05151 1.05935 +1.07065 1.07674 1.12086 1.14065 1.0813 1.04041 1.02963 1.03094 +1.03682 1.03878 1.04727 1.07065 1.095 1.05902 1.06609 1.09348 +1.05967 1.05086 1.04171 1.03878 1.03943 1.04237 1.04857 1.05118 +1.04727 1.04596 1.0378 1.03616 1.04269 1.05837 1.12999 1.07522 +1.04759 1.04661 1.03486 1.01069 1.00547 1.02735 1.04596 1.03192 +1.00873 0.984245 0.947789 0.887789 0.736842 0.597263 0.562526 0.565053 +0.539158 0.510105 0.48864 0.458347 0.429947 0.399653 0.390187 0.3864 +0.390187 0.393973 0.422373 0.507579 0.528421 0.506316 0.456453 0.42616 +0.4148 0.399653 0.401547 0.399653 0.38072 0.384507 0.376933 0.35232 +0.33528 0.39776 0.479173 0.446987 0.371253 0.35232 0.36368 0.39776 +0.46024 0.481067 0.462133 0.4716 0.44888 0.373147 0.331493 0.325813 +0.3296 0.331493 0.333387 0.316347 0.310667 0.33528 0.3864 0.378827 +0.339067 0.3296 0.31256 0.31256 0.32392 0.31824 0.314453 0.3296 +0.37504 0.507579 0.602947 0.707158 0.724842 0.616842 0.509474 0.40912 +0.378827 0.365573 0.350427 0.33528 0.3296 0.337173 0.337173 0.33528 +0.358 0.373147 0.390187 0.40344 0.42616 0.429947 0.40344 0.464027 +0.527789 0.517684 0.433733 0.373147 0.365573 0.382613 0.371253 0.36368 +0.354213 0.358 0.359893 0.376933 0.4148 0.39776 0.416693 0.446987 +0.418587 0.388293 0.37504 0.424267 0.525895 0.644 0.8 0.910526 +0.981306 1.02735 1.05837 1.05608 1.05151 1.05216 1.11782 1.27911 +1.22738 1.04563 1.01984 1.01527 1.01265 1.012 1.01004 1.01167 +1.01069 1.01004 1.01167 1.00939 1.00155 0.985224 0.968 0.969263 +0.969895 0.962316 0.954737 0.951579 0.954737 0.967368 0.983592 0.993714 +1.0009 0.981959 0.837263 0.632 0.49432 0.40912 0.42048 0.384507 +0.299307 0.22736 0.000933333 0.000946667 0.000866667 0.000786667 0.00076 0.000713333 +0.000746667 0.000793333 0.00078 0.000793333 0.000786667 0.000753333 0.000793333 0.000806667 +0.00078 0.000773333 0.000773333 0.00074 0.00072 0.00072 0.00076 0.000786667 +0.000786667 0.00076 0.000753333 0.000753333 0.000773333 0.00078 0.000773333 0.000793333 +0.000786667 0.0008 0.0008 0.0008 0.00078 0.000726667 0.00074 0.000793333 +0.00076 0.000733333 0.000753333 0.000766667 0.00076 0.000746667 0.00074 0.000773333 +0.000786667 0.0008 0.000813333 0.000793333 0.000753333 0.00076 0.00074 0.000733333 +0.000733333 0.00076 0.00076 0.000733333 0.00074 0.00074 0.00074 0.00076 +0.000746667 0.000706667 0.000713333 0.000713333 0.000693333 0.0007 0.0007 0.000706667 +0.000733333 0.00074 0.000746667 0.000746667 0.000726667 0.000733333 0.00074 0.00072 +0.00072 0.000746667 0.00074 0.00074 0.000746667 0.00074 0.000706667 0.0007 +0.00074 0.000733333 0.00072 0.00072 0.00074 0.00076 0.00074 0.000726667 +0.000746667 0.000746667 0.000726667 0.000746667 0.000766667 0.000753333 0.000733333 0.000726667 +0.00074 0.000733333 0.00074 0.000733333 0.00074 0.00072 0.000693333 0.000706667 +0.000713333 0.00072 0.00076 0.00076 0.000766667 0.00078 0.000793333 0.000793333 +0.000806667 0.00084 0.000833333 0.000826667 0.000906667 0.269013 0.36368 0.39776 +0.43184 0.529684 0.649684 0.830316 0.975579 1.00416 0.997633 0.982939 +0.962947 0.954737 0.957263 0.962316 0.979368 0.990776 0.999265 1.00678 +1.01167 1.01298 1.01037 1.0071 1.00776 1.00612 1.00678 1.00743 +1.00351 0.998612 0.995673 0.995347 0.995673 0.994694 0.990449 0.99502 +1.0182 1.03714 1.02669 1.00384 0.990449 0.961053 0.865684 0.727368 +0.592211 0.510105 0.44888 0.441307 0.4432 0.456453 0.456453 0.42616 +0.39208 0.376933 0.37504 0.388293 0.42048 0.481067 0.508842 0.505684 +0.486747 0.473493 0.46024 0.428053 0.39776 0.373147 0.3864 0.405333 +0.378827 0.342853 0.35232 0.384507 0.445093 0.446987 0.39208 0.371253 +0.356107 0.356107 0.35232 0.337173 0.33528 0.348533 0.382613 0.424267 +0.412907 0.367467 0.350427 0.339067 0.333387 0.3296 0.34664 0.418587 +0.508842 0.515789 0.464027 0.38072 0.348533 0.350427 0.361787 0.395867 +0.411013 0.36936 0.359893 0.39208 0.399653 0.36368 0.339067 0.331493 +0.34096 0.337173 0.344747 0.361787 0.371253 0.424267 0.467813 0.4432 +0.384507 0.358 0.358 0.361787 0.358 0.359893 0.376933 0.378827 +0.44888 0.556842 0.623158 0.608632 0.535368 0.464027 0.40344 0.361787 +0.348533 0.36368 0.371253 0.371253 0.38072 0.395867 0.388293 0.36368 +0.390187 0.450773 0.439413 0.382613 0.373147 0.393973 0.384507 0.36368 +0.365573 0.390187 0.412907 0.418587 0.395867 0.365573 0.38072 0.462133 +0.512 0.464027 0.40912 0.40344 0.411013 0.456453 0.4716 0.456453 +0.45456 0.458347 0.503158 0.556211 0.688211 0.844211 0.92821 0.966105 +0.993714 1.0058 1.00384 1.00155 1.0009 1.00645 1.01592 1.03878 +1.11021 1.10565 1.05445 1.05118 1.04955 1.04335 1.04596 1.05347 +1.05151 1.05151 1.04988 1.04367 1.03584 1.03845 1.04792 1.05543 +1.0813 1.11934 1.14825 1.12086 1.05478 1.03845 1.03518 1.03747 +1.04106 1.04139 1.04302 1.04824 1.05869 1.08739 1.11021 1.09956 +1.05706 1.05184 1.04367 1.04073 1.044 1.04759 1.05118 1.05543 +1.05347 1.05086 1.04269 1.04269 1.04955 1.07674 1.12086 1.05837 +1.0489 1.04106 1.02114 1.00514 1.01886 1.06 1.09956 1.04139 +1.02016 0.996327 0.958526 0.923158 0.829684 0.686316 0.590947 0.554947 +0.524 0.486747 0.47728 0.467813 0.452667 0.416693 0.40344 0.401547 +0.39776 0.390187 0.412907 0.509474 0.536 0.505684 0.446987 0.43752 +0.458347 0.416693 0.390187 0.411013 0.3864 0.365573 0.361787 0.358 +0.367467 0.445093 0.504421 0.46024 0.382613 0.356107 0.39208 0.4716 +0.507579 0.46024 0.407227 0.43184 0.43184 0.38072 0.348533 0.33528 +0.32392 0.34096 0.342853 0.333387 0.331493 0.34096 0.36936 0.35232 +0.325813 0.337173 0.337173 0.322027 0.31824 0.316347 0.314453 0.322027 +0.35232 0.48296 0.597263 0.699579 0.723579 0.661684 0.571368 0.506947 +0.412907 0.367467 0.34664 0.33528 0.33528 0.342853 0.34664 0.35232 +0.359893 0.36368 0.361787 0.365573 0.38072 0.38072 0.361787 0.388293 +0.502526 0.522737 0.5 0.418587 0.39208 0.371253 0.356107 0.34664 +0.350427 0.36368 0.38072 0.38072 0.395867 0.407227 0.43752 0.458347 +0.446987 0.43184 0.424267 0.507579 0.609895 0.767789 0.894105 0.958526 +1.00122 1.03649 1.05151 1.04661 1.04563 1.05869 1.19999 1.22586 +1.05053 1.01722 1.01331 1.01135 1.00776 1.00873 1.012 1.01592 +1.01527 1.01592 1.01624 1.00971 0.994694 0.978737 0.968 0.970526 +0.970526 0.964211 0.956 0.950316 0.956632 0.975579 0.991429 0.999918 +0.988816 0.886526 0.689474 0.527789 0.424267 0.42048 0.37504 0.286053 +0.216 0.00086 0.0008 0.00086 0.000813333 0.000746667 0.00078 0.00076 +0.0008 0.00082 0.000773333 0.000766667 0.000766667 0.00072 0.000746667 0.000773333 +0.000786667 0.0008 0.000806667 0.000793333 0.000753333 0.000733333 0.00074 0.000773333 +0.000786667 0.0008 0.000806667 0.000773333 0.000746667 0.000753333 0.000753333 0.000766667 +0.00076 0.00076 0.000766667 0.000786667 0.0008 0.00076 0.00072 0.000773333 +0.000773333 0.00074 0.000733333 0.00076 0.00078 0.000766667 0.000773333 0.000806667 +0.00078 0.000746667 0.0008 0.00078 0.00074 0.000766667 0.000773333 0.000766667 +0.000773333 0.000793333 0.000773333 0.000753333 0.000753333 0.000726667 0.000726667 0.000753333 +0.000753333 0.000733333 0.000726667 0.000746667 0.000726667 0.000726667 0.000733333 0.000726667 +0.000713333 0.0007 0.000706667 0.00072 0.000726667 0.000746667 0.000746667 0.000726667 +0.000733333 0.000766667 0.000733333 0.000733333 0.000733333 0.000726667 0.0007 0.000713333 +0.00074 0.00072 0.000713333 0.000726667 0.000733333 0.000733333 0.000713333 0.000746667 +0.000746667 0.000713333 0.000726667 0.000753333 0.000753333 0.000733333 0.000746667 0.000766667 +0.000766667 0.000733333 0.000726667 0.000733333 0.000733333 0.000713333 0.000693333 0.000706667 +0.0007 0.000713333 0.000753333 0.00076 0.000766667 0.00076 0.000766667 0.000773333 +0.000786667 0.0008 0.000806667 0.000826667 0.00086 0.000973333 0.286053 0.36368 +0.40912 0.433733 0.518316 0.652842 0.849895 0.986204 1.00645 0.997306 +0.982286 0.964842 0.960421 0.958526 0.962316 0.978737 0.990122 1.00024 +1.00906 1.01429 1.01396 1.01069 1.00841 1.00743 1.00841 1.01004 +1.00645 1.00122 0.997306 0.995673 0.993714 0.991102 0.988163 0.986531 +0.994367 1.01233 1.02049 1.01069 0.996 0.983918 0.939579 0.830947 +0.683158 0.559368 0.492427 0.450773 0.439413 0.435627 0.424267 0.40344 +0.395867 0.382613 0.38072 0.411013 0.48296 0.518316 0.512 0.467813 +0.446987 0.446987 0.42616 0.390187 0.376933 0.36936 0.388293 0.40912 +0.39776 0.365573 0.361787 0.3864 0.441307 0.441307 0.3864 0.359893 +0.34096 0.342853 0.348533 0.344747 0.35232 0.367467 0.40344 0.428053 +0.395867 0.361787 0.354213 0.348533 0.337173 0.339067 0.350427 0.433733 +0.516421 0.510105 0.42616 0.359893 0.342853 0.356107 0.36368 0.373147 +0.390187 0.3864 0.36936 0.393973 0.424267 0.388293 0.342853 0.33528 +0.34664 0.350427 0.342853 0.365573 0.405333 0.456453 0.45456 0.401547 +0.373147 0.359893 0.367467 0.371253 0.36368 0.36368 0.376933 0.390187 +0.502526 0.585263 0.633895 0.593474 0.515789 0.44888 0.424267 0.3864 +0.365573 0.361787 0.367467 0.367467 0.38072 0.40344 0.39776 0.373147 +0.367467 0.411013 0.407227 0.37504 0.365573 0.373147 0.378827 0.359893 +0.371253 0.39776 0.388293 0.384507 0.393973 0.36936 0.358 0.416693 +0.507579 0.504421 0.44888 0.429947 0.4432 0.486747 0.503789 0.48296 +0.473493 0.505684 0.527158 0.593474 0.743158 0.878316 0.938316 0.980327 +1.00286 1.01886 1.01918 1.00286 0.99698 1.00841 1.0182 1.03094 +1.07217 1.16803 1.10565 1.05412 1.04824 1.04204 1.04661 1.05314 +1.05706 1.05902 1.05086 1.04563 1.04139 1.04629 1.05249 1.05608 +1.07978 1.10108 1.09652 1.07217 1.04824 1.03812 1.0391 1.04106 +1.04269 1.03943 1.03584 1.03943 1.0538 1.07978 1.08435 1.07522 +1.06761 1.05837 1.04955 1.04629 1.04922 1.05249 1.05282 1.05543 +1.05641 1.05347 1.04596 1.04922 1.05935 1.10413 1.08739 1.05053 +1.04759 1.03388 1.012 1.00873 1.03976 1.13152 1.05967 1.03388 +1.02278 1.00318 0.971158 0.936421 0.884 0.765895 0.625684 0.551158 +0.519579 0.498107 0.48864 0.475387 0.467813 0.441307 0.42048 0.40344 +0.39776 0.395867 0.416693 0.49432 0.510105 0.467813 0.424267 0.42048 +0.424267 0.388293 0.371253 0.405333 0.382613 0.34664 0.337173 0.34096 +0.38072 0.464027 0.490533 0.416693 0.359893 0.350427 0.390187 0.47728 +0.486747 0.39776 0.358 0.373147 0.39776 0.399653 0.373147 0.344747 +0.314453 0.320133 0.339067 0.33528 0.325813 0.32392 0.34664 0.34096 +0.337173 0.356107 0.367467 0.35232 0.333387 0.333387 0.33528 0.327707 +0.344747 0.456453 0.577053 0.653474 0.657895 0.640211 0.610526 0.56 +0.501263 0.382613 0.333387 0.3296 0.333387 0.358 0.358 0.35232 +0.354213 0.358 0.350427 0.359893 0.376933 0.361787 0.342853 0.358 +0.441307 0.521474 0.521474 0.481067 0.399653 0.35232 0.342853 0.33528 +0.344747 0.348533 0.361787 0.376933 0.382613 0.399653 0.435627 0.446987 +0.439413 0.450773 0.496213 0.570105 0.721684 0.870105 0.947789 0.989143 +1.02147 1.04237 1.04824 1.04988 1.0538 1.14521 1.22738 1.07217 +1.01951 1.01037 1.012 1.00906 1.0058 1.00906 1.01233 1.01102 +1.01037 1.01233 1.00939 0.997959 0.982286 0.971158 0.971789 0.971789 +0.973684 0.969895 0.960421 0.956632 0.974316 0.98849 0.99698 0.993061 +0.918105 0.734316 0.556211 0.452667 0.429947 0.388293 0.293627 0.225467 +0.000946667 0.000893333 0.000866667 0.000893333 0.00084 0.000793333 0.00078 0.00076 +0.000786667 0.00078 0.000733333 0.00074 0.000753333 0.000753333 0.000793333 0.000793333 +0.000766667 0.000773333 0.000773333 0.000766667 0.000746667 0.000733333 0.000733333 0.00078 +0.000793333 0.000793333 0.000806667 0.00078 0.000746667 0.00074 0.000733333 0.000746667 +0.00074 0.000746667 0.000733333 0.000746667 0.000773333 0.000766667 0.000733333 0.00076 +0.000793333 0.000766667 0.00076 0.000753333 0.00078 0.000786667 0.00076 0.000793333 +0.000786667 0.00074 0.000793333 0.000806667 0.00074 0.000753333 0.00076 0.000753333 +0.00076 0.000773333 0.000773333 0.00076 0.000753333 0.000746667 0.00076 0.000753333 +0.000753333 0.000753333 0.00074 0.00076 0.000746667 0.000733333 0.00074 0.00074 +0.000733333 0.00072 0.000733333 0.000753333 0.000753333 0.000746667 0.00072 0.00072 +0.000733333 0.000733333 0.000706667 0.000713333 0.00072 0.00072 0.000726667 0.000733333 +0.00074 0.000733333 0.00074 0.000753333 0.00074 0.00074 0.000746667 0.00076 +0.000733333 0.00072 0.000733333 0.00072 0.000713333 0.000713333 0.00074 0.000766667 +0.00076 0.00074 0.00074 0.00072 0.000713333 0.000713333 0.000713333 0.0007 +0.000693333 0.000746667 0.00076 0.000753333 0.000753333 0.000746667 0.000786667 0.000813333 +0.0008 0.00078 0.000786667 0.00082 0.000873333 0.000893333 0.216 0.293627 +0.378827 0.412907 0.42616 0.528421 0.68 0.873895 0.990449 1.0071 +0.99698 0.981959 0.965474 0.955368 0.954737 0.964211 0.980327 0.990122 +1.00024 1.00873 1.01265 1.01135 1.00808 1.00743 1.00873 1.01037 +1.00939 1.00678 1.00253 0.997306 0.994041 0.991755 0.988816 0.989143 +0.989796 0.993714 1.00645 1.01298 1.0022 0.988163 0.973053 0.908 +0.780421 0.637684 0.539789 0.501895 0.467813 0.43752 0.428053 0.422373 +0.40912 0.405333 0.418587 0.456453 0.5 0.510737 0.498107 0.418587 +0.393973 0.412907 0.4148 0.393973 0.373147 0.36936 0.38072 0.40344 +0.412907 0.388293 0.373147 0.382613 0.429947 0.441307 0.390187 0.361787 +0.348533 0.34664 0.36368 0.378827 0.376933 0.382613 0.412907 0.42048 +0.38072 0.348533 0.348533 0.33528 0.322027 0.337173 0.36936 0.462133 +0.514526 0.503789 0.418587 0.350427 0.337173 0.365573 0.38072 0.37504 +0.378827 0.384507 0.378827 0.40912 0.446987 0.399653 0.350427 0.342853 +0.35232 0.365573 0.376933 0.407227 0.452667 0.458347 0.418587 0.393973 +0.3864 0.373147 0.356107 0.350427 0.348533 0.361787 0.371253 0.40344 +0.524632 0.602316 0.626316 0.571368 0.496213 0.424267 0.4148 0.395867 +0.365573 0.358 0.36368 0.376933 0.405333 0.407227 0.393973 0.38072 +0.371253 0.388293 0.399653 0.388293 0.378827 0.378827 0.376933 0.35232 +0.36368 0.39208 0.371253 0.358 0.36936 0.36936 0.37504 0.4148 +0.49432 0.517053 0.505053 0.446987 0.422373 0.441307 0.46592 0.464027 +0.492427 0.522737 0.551158 0.641474 0.794316 0.901684 0.947158 0.984245 +1.00384 1.02082 1.02963 1.00906 0.99502 1.00906 1.02147 1.03029 +1.05118 1.15434 1.16499 1.0813 1.0551 1.04694 1.05282 1.05935 +1.07217 1.07978 1.05478 1.04922 1.04824 1.05086 1.05412 1.05935 +1.08435 1.06761 1.05445 1.04727 1.03551 1.02963 1.028 1.03322 +1.04073 1.03551 1.02735 1.03029 1.04367 1.0538 1.05967 1.09348 +1.10413 1.06304 1.05282 1.05216 1.05314 1.05771 1.05804 1.05576 +1.0551 1.0551 1.05184 1.0551 1.08739 1.11173 1.05804 1.04531 +1.04563 1.02996 1.01135 1.01984 1.05771 1.11478 1.04596 1.03159 +1.02767 1.01298 0.985224 0.952842 0.914947 0.828421 0.691368 0.582737 +0.532842 0.509474 0.501263 0.469707 0.450773 0.441307 0.435627 0.4148 +0.395867 0.407227 0.424267 0.43752 0.458347 0.439413 0.422373 0.39776 +0.37504 0.356107 0.36368 0.399653 0.38072 0.344747 0.339067 0.35232 +0.390187 0.47728 0.475387 0.376933 0.356107 0.36368 0.405333 0.450773 +0.424267 0.36936 0.354213 0.354213 0.382613 0.412907 0.393973 0.367467 +0.33528 0.316347 0.337173 0.342853 0.32392 0.314453 0.3296 0.333387 +0.337173 0.359893 0.37504 0.354213 0.333387 0.325813 0.325813 0.320133 +0.333387 0.43752 0.557474 0.598526 0.563789 0.551158 0.573263 0.578316 +0.544842 0.492427 0.393973 0.36368 0.36368 0.384507 0.39208 0.365573 +0.365573 0.367467 0.359893 0.367467 0.365573 0.344747 0.3296 0.358 +0.418587 0.503789 0.522737 0.507579 0.42616 0.38072 0.367467 0.359893 +0.348533 0.339067 0.350427 0.384507 0.40912 0.412907 0.422373 0.418587 +0.418587 0.456453 0.536 0.665474 0.826526 0.92821 0.976211 1.00122 +1.02637 1.04269 1.04988 1.0551 1.10108 1.20607 1.13152 1.03029 +1.01233 1.01396 1.01396 1.01298 1.01298 1.01331 1.01559 1.012 +1.012 1.01037 0.999265 0.984245 0.967368 0.960421 0.959789 0.955368 +0.954737 0.952211 0.946526 0.959158 0.986531 0.998939 0.999592 0.950947 +0.786105 0.597263 0.48864 0.441307 0.4148 0.308773 0.000973333 0.000873333 +0.000853333 0.0008 0.000806667 0.00084 0.000833333 0.000833333 0.000833333 0.000806667 +0.00078 0.000753333 0.000746667 0.000766667 0.000753333 0.000746667 0.000793333 0.0008 +0.000746667 0.000773333 0.00078 0.0008 0.000786667 0.000753333 0.000733333 0.00074 +0.000766667 0.000746667 0.00076 0.000726667 0.000726667 0.000746667 0.00076 0.000746667 +0.000726667 0.00076 0.000766667 0.00076 0.000806667 0.000826667 0.000753333 0.000773333 +0.000813333 0.0008 0.0008 0.000766667 0.00076 0.000793333 0.00078 0.00078 +0.00084 0.00082 0.000813333 0.000826667 0.00074 0.000746667 0.00074 0.000726667 +0.00074 0.000726667 0.000746667 0.000753333 0.000753333 0.00076 0.000766667 0.000746667 +0.000753333 0.000733333 0.00072 0.000733333 0.00072 0.000706667 0.000726667 0.000733333 +0.000726667 0.000706667 0.000726667 0.000753333 0.000733333 0.000726667 0.00072 0.000733333 +0.00072 0.000713333 0.000733333 0.000733333 0.000706667 0.000706667 0.00072 0.000713333 +0.0007 0.00072 0.000726667 0.000726667 0.00074 0.00074 0.000726667 0.000713333 +0.00072 0.000713333 0.000713333 0.0007 0.00072 0.000726667 0.00072 0.000753333 +0.000746667 0.000726667 0.000733333 0.00074 0.000746667 0.000726667 0.000713333 0.0007 +0.000726667 0.00076 0.000726667 0.00072 0.000733333 0.00074 0.000773333 0.000793333 +0.000806667 0.00082 0.000826667 0.00082 0.000826667 0.000833333 0.000886667 0.229253 +0.316347 0.39208 0.416693 0.44888 0.551789 0.705263 0.890316 0.996327 +1.00678 0.994694 0.98098 0.960421 0.954737 0.956632 0.963579 0.98 +0.990122 0.998612 1.00547 1.00873 1.01004 1.01069 1.00939 1.00808 +1.00939 1.00906 1.00514 0.999918 0.997633 0.99698 0.993061 0.991102 +0.991102 0.989143 0.993714 1.00482 1.00547 0.992082 0.981633 0.950947 +0.869474 0.738737 0.611158 0.532842 0.500632 0.445093 0.435627 0.445093 +0.44888 0.450773 0.445093 0.456453 0.44888 0.446987 0.452667 0.411013 +0.384507 0.395867 0.40912 0.401547 0.393973 0.382613 0.38072 0.390187 +0.40344 0.382613 0.361787 0.382613 0.452667 0.4716 0.411013 0.373147 +0.350427 0.342853 0.35232 0.376933 0.390187 0.388293 0.395867 0.399653 +0.37504 0.342853 0.339067 0.3296 0.320133 0.34664 0.401547 0.498107 +0.514526 0.501263 0.424267 0.361787 0.361787 0.38072 0.39208 0.373147 +0.371253 0.37504 0.378827 0.441307 0.506947 0.46592 0.367467 0.348533 +0.367467 0.390187 0.411013 0.42616 0.418587 0.40344 0.388293 0.384507 +0.38072 0.361787 0.35232 0.354213 0.354213 0.359893 0.373147 0.446987 +0.551158 0.609895 0.601684 0.542947 0.48296 0.412907 0.39776 0.393973 +0.378827 0.365573 0.365573 0.39776 0.429947 0.418587 0.39776 0.384507 +0.373147 0.3864 0.405333 0.399653 0.367467 0.356107 0.356107 0.35232 +0.365573 0.3864 0.371253 0.354213 0.359893 0.376933 0.395867 0.405333 +0.418587 0.490533 0.508842 0.46024 0.422373 0.418587 0.43184 0.467813 +0.508211 0.528421 0.566947 0.690105 0.835368 0.913684 0.951579 0.986204 +1.00155 1.01494 1.028 1.01886 1.00122 1.0071 1.0169 1.02539 +1.03747 1.0813 1.17869 1.14673 1.07826 1.05184 1.05673 1.06761 +1.06913 1.07674 1.05935 1.05673 1.05543 1.05673 1.06152 1.10565 +1.10717 1.05739 1.04106 1.02767 1.01755 1.01331 1.01167 1.01527 +1.01951 1.01788 1.01167 1.012 1.01918 1.03061 1.05118 1.13304 +1.17564 1.11934 1.07522 1.05935 1.05739 1.06304 1.06609 1.05739 +1.05673 1.05576 1.0538 1.05576 1.07217 1.08739 1.05216 1.04302 +1.04073 1.02604 1.01527 1.03192 1.08282 1.08435 1.04139 1.03029 +1.03224 1.02539 0.999918 0.972421 0.940842 0.884632 0.779158 0.654105 +0.566316 0.520842 0.503789 0.462133 0.43752 0.435627 0.450773 0.441307 +0.401547 0.3864 0.399653 0.4148 0.424267 0.428053 0.416693 0.38072 +0.354213 0.356107 0.384507 0.42616 0.405333 0.358 0.339067 0.348533 +0.388293 0.464027 0.456453 0.371253 0.36936 0.407227 0.44888 0.446987 +0.384507 0.356107 0.34664 0.339067 0.36936 0.412907 0.3864 0.359893 +0.348533 0.325813 0.327707 0.35232 0.337173 0.32392 0.320133 0.320133 +0.342853 0.373147 0.361787 0.33528 0.32392 0.316347 0.316347 0.31824 +0.33528 0.441307 0.554947 0.575158 0.512632 0.435627 0.49432 0.527158 +0.537895 0.522737 0.486747 0.433733 0.390187 0.373147 0.376933 0.365573 +0.371253 0.37504 0.373147 0.371253 0.356107 0.35232 0.361787 0.384507 +0.412907 0.46024 0.513263 0.518947 0.49432 0.4432 0.401547 0.38072 +0.367467 0.373147 0.38072 0.40344 0.435627 0.43752 0.422373 0.424267 +0.44888 0.523368 0.632632 0.790526 0.911158 0.968632 0.992408 1.00971 +1.02702 1.04269 1.05086 1.06 1.1376 1.12239 1.03551 1.01004 +1.01102 1.01135 1.012 1.01494 1.01527 1.01363 1.01429 1.01461 +1.01461 1.00612 0.991755 0.98098 0.974947 0.969263 0.963579 0.961053 +0.957263 0.952842 0.957263 0.979368 0.993714 0.998286 0.969895 0.816421 +0.618105 0.500632 0.429947 0.4148 0.342853 0.2444 0.000906667 0.000893333 +0.000906667 0.000866667 0.000833333 0.00082 0.000793333 0.000773333 0.00076 0.000753333 +0.00076 0.000766667 0.000753333 0.000793333 0.00078 0.000773333 0.0008 0.000813333 +0.000766667 0.000766667 0.000753333 0.00078 0.000766667 0.00072 0.000706667 0.0007 +0.000706667 0.000706667 0.000753333 0.000746667 0.000733333 0.000753333 0.000773333 0.00076 +0.00076 0.00078 0.000766667 0.000766667 0.000806667 0.000833333 0.0008 0.0008 +0.00082 0.000813333 0.0008 0.000793333 0.0008 0.0008 0.000786667 0.000793333 +0.00082 0.000853333 0.0009 0.000966667 0.000766667 0.00078 0.000766667 0.000746667 +0.00074 0.000713333 0.000733333 0.000746667 0.000726667 0.000746667 0.00076 0.000746667 +0.00074 0.000733333 0.00072 0.000726667 0.000726667 0.00074 0.000753333 0.00076 +0.000726667 0.000713333 0.000733333 0.00074 0.000713333 0.000713333 0.000726667 0.000726667 +0.000733333 0.000766667 0.00078 0.000753333 0.000726667 0.000753333 0.000746667 0.000706667 +0.000693333 0.000713333 0.000706667 0.000713333 0.000726667 0.00072 0.0007 0.000706667 +0.000713333 0.000693333 0.000706667 0.000706667 0.000706667 0.000706667 0.000706667 0.000726667 +0.000733333 0.000733333 0.00072 0.000726667 0.000713333 0.000693333 0.000706667 0.0007 +0.000706667 0.000726667 0.00072 0.00074 0.00076 0.00074 0.00074 0.00076 +0.000813333 0.000826667 0.00082 0.00078 0.00078 0.000786667 0.000833333 0.000873333 +0.225467 0.316347 0.3864 0.405333 0.462133 0.558105 0.716632 0.910526 +0.998939 1.00612 0.996 0.980327 0.962316 0.956632 0.954737 0.961684 +0.978105 0.988163 0.999592 1.00808 1.01102 1.01102 1.00873 1.00743 +1.00776 1.00808 1.00645 1.00286 1.00188 1.00286 0.999265 0.993388 +0.992082 0.989469 0.987184 0.991429 0.997633 0.992408 0.982286 0.967368 +0.932 0.838526 0.700211 0.576421 0.509474 0.456453 0.439413 0.450773 +0.46592 0.469707 0.43752 0.411013 0.393973 0.40912 0.4148 0.407227 +0.38072 0.37504 0.3864 0.395867 0.399653 0.40344 0.40912 0.405333 +0.411013 0.393973 0.36368 0.405333 0.512 0.524 0.44888 0.37504 +0.35232 0.348533 0.35232 0.36368 0.390187 0.3864 0.376933 0.3864 +0.3864 0.358 0.348533 0.342853 0.344747 0.354213 0.416693 0.501895 +0.518947 0.515158 0.462133 0.393973 0.37504 0.36368 0.365573 0.37504 +0.3864 0.39776 0.411013 0.500632 0.554316 0.551789 0.464027 0.367467 +0.376933 0.39208 0.39776 0.376933 0.36368 0.365573 0.38072 0.373147 +0.365573 0.373147 0.37504 0.367467 0.367467 0.371253 0.39776 0.506947 +0.577053 0.606737 0.563158 0.510105 0.467813 0.424267 0.393973 0.393973 +0.38072 0.36368 0.371253 0.393973 0.407227 0.395867 0.395867 0.388293 +0.37504 0.39776 0.433733 0.418587 0.373147 0.34096 0.33528 0.34096 +0.361787 0.373147 0.373147 0.356107 0.365573 0.393973 0.422373 0.42048 +0.395867 0.433733 0.500632 0.481067 0.445093 0.4432 0.464027 0.503789 +0.518947 0.534737 0.598526 0.743158 0.866947 0.917474 0.949053 0.985878 +1.0009 1.01233 1.0231 1.02669 1.01755 1.01069 1.012 1.01657 +1.02637 1.05151 1.16043 1.16956 1.09043 1.05151 1.05478 1.05935 +1.05771 1.05902 1.06456 1.08891 1.10108 1.11934 1.16956 1.20455 +1.12543 1.04433 1.02049 1.00841 1.00384 1.0022 1.00188 1.00253 +1.00122 1.00122 1.0009 1.00122 1.00253 1.00873 1.02506 1.05478 +1.2152 1.28215 1.18325 1.08739 1.06152 1.05935 1.06152 1.06304 +1.06152 1.05739 1.0551 1.05478 1.07674 1.07369 1.04727 1.04204 +1.03649 1.02114 1.02114 1.04759 1.09652 1.05967 1.04237 1.03127 +1.03714 1.03845 1.01461 0.983265 0.950947 0.920632 0.859368 0.755158 +0.645263 0.555579 0.512 0.48296 0.479173 0.46592 0.452667 0.473493 +0.433733 0.399653 0.405333 0.407227 0.4148 0.428053 0.428053 0.407227 +0.390187 0.399653 0.416693 0.43752 0.411013 0.376933 0.348533 0.358 +0.388293 0.441307 0.458347 0.405333 0.3864 0.422373 0.441307 0.418587 +0.376933 0.36936 0.367467 0.33528 0.358 0.393973 0.371253 0.35232 +0.344747 0.327707 0.32392 0.337173 0.348533 0.3296 0.31256 0.333387 +0.371253 0.38072 0.34664 0.322027 0.320133 0.316347 0.314453 0.322027 +0.348533 0.464027 0.563158 0.577053 0.502526 0.359893 0.358 0.399653 +0.467813 0.513263 0.513263 0.473493 0.399653 0.356107 0.34664 0.35232 +0.361787 0.35232 0.358 0.36368 0.356107 0.359893 0.373147 0.378827 +0.373147 0.40344 0.5 0.517053 0.503158 0.467813 0.441307 0.428053 +0.411013 0.407227 0.405333 0.40912 0.433733 0.445093 0.429947 0.4432 +0.515789 0.615579 0.771579 0.904842 0.973053 0.993714 1.0058 1.0169 +1.03322 1.04857 1.05771 1.11021 1.11021 1.03878 1.00939 1.00743 +1.01102 1.00776 1.00776 1.00939 1.01004 1.01004 1.00841 1.00939 +1.00612 0.992082 0.981306 0.976211 0.973684 0.968632 0.964211 0.960421 +0.959789 0.966737 0.983265 0.997633 1.00384 0.985878 0.861263 0.663579 +0.524 0.44888 0.428053 0.358 0.259547 0.00092 0.000846667 0.000806667 +0.000806667 0.000806667 0.0008 0.0008 0.0008 0.000806667 0.000833333 0.00084 +0.000846667 0.000853333 0.000806667 0.00078 0.000753333 0.00074 0.000746667 0.00076 +0.000746667 0.000746667 0.00074 0.000773333 0.00078 0.000746667 0.000753333 0.00076 +0.00076 0.000766667 0.000806667 0.000806667 0.000773333 0.000793333 0.000773333 0.000766667 +0.000773333 0.00076 0.00072 0.000726667 0.00074 0.00078 0.000773333 0.000793333 +0.000786667 0.000793333 0.000793333 0.00078 0.00082 0.000846667 0.000886667 0.000966667 +0.234933 0.28416 0.3296 0.378827 0.00074 0.000766667 0.00078 0.00078 +0.000753333 0.00074 0.000733333 0.000733333 0.000733333 0.00074 0.000733333 0.00072 +0.000706667 0.000693333 0.0007 0.000713333 0.000726667 0.00074 0.00074 0.000726667 +0.000726667 0.00074 0.000746667 0.000726667 0.000713333 0.000726667 0.000726667 0.000726667 +0.000746667 0.000766667 0.000746667 0.000733333 0.000753333 0.00076 0.000733333 0.000733333 +0.000733333 0.000733333 0.000733333 0.000733333 0.00074 0.000733333 0.00072 0.000713333 +0.000706667 0.0007 0.000726667 0.00074 0.000733333 0.000726667 0.000733333 0.000746667 +0.000733333 0.000726667 0.0007 0.0007 0.0007 0.0007 0.000706667 0.000693333 +0.000706667 0.000726667 0.000733333 0.00076 0.00076 0.000753333 0.00076 0.000773333 +0.000793333 0.000786667 0.00078 0.00078 0.000786667 0.000786667 0.000813333 0.000826667 +0.000866667 0.23872 0.325813 0.37504 0.390187 0.456453 0.569474 0.746316 +0.929474 1.00188 1.00678 0.993388 0.980327 0.966737 0.956632 0.952211 +0.960421 0.976842 0.990122 1.0009 1.00743 1.01135 1.00939 1.00873 +1.01004 1.01069 1.00939 1.00678 1.00514 1.00482 1.00318 0.996 +0.991755 0.990122 0.987184 0.987837 0.991755 0.991755 0.984898 0.970526 +0.954105 0.903579 0.791158 0.652211 0.546737 0.490533 0.441307 0.4432 +0.450773 0.44888 0.429947 0.40344 0.401547 0.407227 0.4148 0.401547 +0.37504 0.361787 0.373147 0.38072 0.388293 0.40912 0.43184 0.445093 +0.46024 0.462133 0.422373 0.445093 0.529684 0.544211 0.498107 0.40912 +0.39208 0.388293 0.3864 0.39776 0.418587 0.39776 0.367467 0.367467 +0.373147 0.36368 0.358 0.376933 0.393973 0.411013 0.46024 0.48864 +0.510105 0.533474 0.515158 0.424267 0.36368 0.34096 0.350427 0.376933 +0.407227 0.418587 0.416693 0.48864 0.572632 0.626316 0.559368 0.446987 +0.390187 0.382613 0.384507 0.371253 0.361787 0.36368 0.378827 0.37504 +0.361787 0.371253 0.384507 0.3864 0.376933 0.382613 0.456453 0.549263 +0.603579 0.590316 0.520842 0.433733 0.44888 0.462133 0.43752 0.412907 +0.378827 0.354213 0.371253 0.405333 0.39776 0.384507 0.390187 0.376933 +0.373147 0.405333 0.43184 0.422373 0.390187 0.365573 0.356107 0.348533 +0.339067 0.34096 0.359893 0.350427 0.367467 0.399653 0.428053 0.422373 +0.407227 0.405333 0.46024 0.47728 0.4432 0.46024 0.505684 0.522737 +0.530316 0.553053 0.652842 0.798737 0.892211 0.92379 0.954105 0.990776 +1.00449 1.01461 1.02049 1.02767 1.02963 1.01788 1.012 1.01069 +1.01722 1.0391 1.11478 1.1726 1.10717 1.05804 1.05543 1.05673 +1.05673 1.05771 1.06761 1.11934 1.16651 1.22433 1.26998 1.20303 +1.05086 1.02016 1.00547 0.999592 0.998939 1.00122 1.00253 1.00253 +0.999918 0.999918 1.00122 1.00024 0.997633 0.997633 1.00351 1.0182 +1.07522 1.32628 1.34758 1.18629 1.08282 1.05902 1.06 1.0813 +1.07978 1.05869 1.05771 1.05869 1.08282 1.05902 1.04302 1.04237 +1.0342 1.01853 1.02735 1.05902 1.08739 1.05249 1.04073 1.03616 +1.04269 1.04433 1.028 0.994367 0.961053 0.938947 0.909263 0.845474 +0.745053 0.627579 0.536 0.502526 0.5 0.48864 0.473493 0.492427 +0.486747 0.44888 0.422373 0.393973 0.390187 0.407227 0.42616 0.424267 +0.399653 0.401547 0.418587 0.4432 0.40912 0.36368 0.373147 0.39776 +0.407227 0.42048 0.456453 0.43752 0.39208 0.3864 0.390187 0.3864 +0.393973 0.399653 0.401547 0.358 0.34664 0.367467 0.365573 0.356107 +0.359893 0.344747 0.337173 0.356107 0.367467 0.35232 0.33528 0.390187 +0.424267 0.39776 0.354213 0.3296 0.3296 0.337173 0.333387 0.33528 +0.36368 0.496213 0.573895 0.579579 0.501263 0.342853 0.31256 0.320133 +0.350427 0.439413 0.481067 0.43752 0.390187 0.361787 0.33528 0.342853 +0.356107 0.33528 0.344747 0.358 0.359893 0.359893 0.359893 0.358 +0.350427 0.36936 0.5 0.508211 0.446987 0.43184 0.450773 0.456453 +0.429947 0.407227 0.407227 0.418587 0.435627 0.446987 0.458347 0.508211 +0.590947 0.744421 0.894105 0.974947 0.993061 1.00057 1.00906 1.02114 +1.03878 1.05282 1.09348 1.11173 1.04465 1.01135 1.00482 1.01233 +1.012 1.00776 1.00873 1.00971 1.01135 1.01331 1.01102 1.0071 +0.99698 0.985224 0.978737 0.971789 0.964211 0.957895 0.954105 0.949684 +0.958526 0.98 0.991429 1.00057 0.988816 0.883368 0.689474 0.538526 +0.46592 0.4432 0.37504 0.276587 0.217893 0.00096 0.000966667 0.000906667 +0.00088 0.000833333 0.000773333 0.000806667 0.000813333 0.000766667 0.000746667 0.000753333 +0.000753333 0.000753333 0.000766667 0.000766667 0.000726667 0.00072 0.00074 0.00078 +0.0008 0.00078 0.00074 0.00074 0.000733333 0.000713333 0.00072 0.000746667 +0.00074 0.000726667 0.000753333 0.00076 0.000726667 0.000726667 0.000726667 0.0007 +0.000726667 0.00076 0.000733333 0.000733333 0.00076 0.0008 0.000806667 0.00082 +0.000833333 0.000846667 0.000886667 0.000926667 0.217893 0.25576 0.31256 0.371253 +0.43752 0.505684 0.526526 0.541053 0.00074 0.000753333 0.00078 0.000793333 +0.00076 0.000746667 0.000766667 0.000766667 0.000753333 0.00076 0.000733333 0.000713333 +0.000713333 0.000706667 0.000693333 0.000706667 0.00072 0.00072 0.000706667 0.000706667 +0.00072 0.000733333 0.000733333 0.00072 0.000733333 0.000746667 0.000726667 0.000726667 +0.000746667 0.000753333 0.000733333 0.000733333 0.000733333 0.000706667 0.0007 0.000733333 +0.000726667 0.000726667 0.000733333 0.000726667 0.00072 0.00074 0.00072 0.0007 +0.0007 0.0007 0.000693333 0.000713333 0.00072 0.000713333 0.00072 0.00076 +0.000746667 0.000713333 0.00068 0.000686667 0.000706667 0.000726667 0.0007 0.00066 +0.000706667 0.00074 0.00072 0.000713333 0.000706667 0.000726667 0.00076 0.00076 +0.000753333 0.000766667 0.00078 0.00078 0.00078 0.000766667 0.000786667 0.000833333 +0.000853333 0.000933333 0.25008 0.325813 0.36936 0.393973 0.484853 0.589684 +0.767789 0.945895 1.00384 1.00253 0.990122 0.978737 0.962316 0.952211 +0.954737 0.964211 0.976211 0.987184 0.99698 1.00743 1.01102 1.00808 +1.00873 1.01135 1.01233 1.01069 1.00906 1.00678 1.00612 1.00057 +0.995673 0.991429 0.989796 0.98849 0.98849 0.989469 0.989143 0.98098 +0.961053 0.937684 0.872 0.752 0.616211 0.521474 0.450773 0.441307 +0.456453 0.452667 0.43752 0.43184 0.42616 0.4148 0.4148 0.407227 +0.3864 0.367467 0.367467 0.365573 0.373147 0.401547 0.4432 0.484853 +0.517684 0.536 0.527789 0.517684 0.534737 0.537263 0.510105 0.498107 +0.505053 0.512 0.511368 0.49432 0.439413 0.378827 0.348533 0.34664 +0.350427 0.36368 0.376933 0.393973 0.418587 0.467813 0.501263 0.46024 +0.473493 0.541684 0.544211 0.467813 0.367467 0.339067 0.339067 0.359893 +0.399653 0.40344 0.390187 0.411013 0.523368 0.600421 0.582105 0.505684 +0.399653 0.367467 0.361787 0.378827 0.3864 0.37504 0.382613 0.36936 +0.35232 0.354213 0.373147 0.39776 0.38072 0.399653 0.517684 0.588421 +0.612421 0.561263 0.46024 0.37504 0.401547 0.4432 0.4432 0.42616 +0.399653 0.388293 0.4148 0.452667 0.429947 0.411013 0.39208 0.361787 +0.359893 0.376933 0.39208 0.395867 0.38072 0.359893 0.35232 0.350427 +0.331493 0.331493 0.358 0.36936 0.37504 0.393973 0.401547 0.3864 +0.39776 0.393973 0.433733 0.479173 0.46592 0.484853 0.518316 0.541053 +0.551789 0.597263 0.721684 0.845474 0.907368 0.928842 0.961684 0.995673 +1.00678 1.01429 1.01853 1.02506 1.03159 1.0231 1.01069 1.00384 +1.00939 1.02702 1.05967 1.18173 1.16347 1.10869 1.05902 1.05445 +1.07826 1.09348 1.09195 1.14521 1.25933 1.34302 1.27455 1.05967 +1.01722 1.00384 1.00024 0.998939 1.00122 1.00776 1.01102 1.00612 +1.00155 1.00155 1.00351 1.0009 0.996327 0.994694 0.997633 1.00351 +1.02245 1.12999 1.40693 1.42975 1.24259 1.11021 1.09652 1.11478 +1.10717 1.06913 1.06 1.06 1.07674 1.05804 1.04433 1.04204 +1.02996 1.01592 1.03061 1.06304 1.05935 1.04727 1.04171 1.04335 +1.04694 1.04335 1.03682 1.01233 0.981633 0.947789 0.933263 0.899789 +0.819579 0.709684 0.589684 0.520211 0.502526 0.501263 0.503789 0.510737 +0.509474 0.496213 0.4716 0.433733 0.39208 0.373147 0.384507 0.39208 +0.37504 0.378827 0.42616 0.467813 0.43184 0.38072 0.399653 0.43184 +0.411013 0.39208 0.4148 0.412907 0.371253 0.356107 0.36936 0.36936 +0.390187 0.42616 0.445093 0.390187 0.342853 0.36368 0.36368 0.371253 +0.376933 0.358 0.34664 0.35232 0.382613 0.3864 0.40344 0.446987 +0.428053 0.382613 0.344747 0.331493 0.344747 0.358 0.356107 0.358 +0.40344 0.521474 0.594105 0.589684 0.511368 0.359893 0.314453 0.314453 +0.331493 0.38072 0.40912 0.412907 0.405333 0.373147 0.342853 0.34096 +0.350427 0.333387 0.333387 0.34664 0.344747 0.34096 0.333387 0.337173 +0.358 0.393973 0.506316 0.502526 0.405333 0.405333 0.42616 0.43752 +0.429947 0.42616 0.4432 0.44888 0.435627 0.445093 0.505684 0.577684 +0.715368 0.868842 0.966105 0.990449 0.993388 0.995347 1.00841 1.02865 +1.04531 1.05935 1.09043 1.04792 1.01559 1.00188 1.00678 1.01233 +1.01167 1.01102 1.012 1.012 1.01298 1.01461 1.01167 1.00318 +0.991429 0.985224 0.981306 0.971789 0.963579 0.961053 0.960421 0.965474 +0.981633 0.993061 1.0009 0.99502 0.911158 0.721684 0.547368 0.450773 +0.433733 0.38072 0.276587 0.00094 0.000826667 0.000826667 0.000853333 0.000826667 +0.0008 0.000766667 0.000706667 0.0008 0.000846667 0.00078 0.00074 0.00076 +0.000746667 0.000746667 0.00074 0.00076 0.000733333 0.00068 0.00068 0.00072 +0.00076 0.000753333 0.000726667 0.000753333 0.00074 0.000706667 0.000713333 0.000766667 +0.000766667 0.000753333 0.00076 0.000773333 0.000766667 0.000773333 0.0008 0.000773333 +0.00076 0.000806667 0.000826667 0.000806667 0.000813333 0.000853333 0.000853333 0.000893333 +0.000966667 0.22736 0.259547 0.31256 0.37504 0.44888 0.513263 0.540421 +0.561895 0.578316 0.589053 0.597895 0.000726667 0.000733333 0.000753333 0.000753333 +0.000753333 0.000746667 0.00074 0.00074 0.000713333 0.000726667 0.000733333 0.00072 +0.000746667 0.000753333 0.00074 0.00074 0.00076 0.00074 0.00072 0.0007 +0.00072 0.00072 0.00072 0.00074 0.000753333 0.000726667 0.00072 0.00074 +0.000746667 0.000753333 0.00074 0.00072 0.000706667 0.00072 0.00074 0.000733333 +0.000726667 0.000726667 0.000713333 0.000713333 0.000726667 0.000746667 0.000726667 0.000713333 +0.00072 0.00072 0.000713333 0.00074 0.000733333 0.00072 0.000726667 0.000746667 +0.00072 0.000693333 0.000693333 0.000713333 0.0007 0.000713333 0.000693333 0.000666667 +0.000706667 0.000733333 0.00072 0.000746667 0.000746667 0.00074 0.00074 0.00074 +0.000773333 0.00082 0.0008 0.000753333 0.000773333 0.0008 0.000826667 0.00082 +0.000813333 0.000813333 0.000893333 0.259547 0.342853 0.390187 0.416693 0.498107 +0.601684 0.790526 0.963579 1.00514 1.0009 0.988816 0.974947 0.954737 +0.948421 0.951579 0.960421 0.978105 0.98849 0.999918 1.0071 1.00645 +1.00612 1.00776 1.00971 1.00971 1.00939 1.00808 1.00678 1.00384 +1.00024 0.995673 0.992735 0.991102 0.989469 0.98751 0.988816 0.988816 +0.981633 0.962316 0.92821 0.849263 0.716632 0.585263 0.507579 0.445093 +0.44888 0.452667 0.446987 0.44888 0.450773 0.439413 0.416693 0.411013 +0.412907 0.40344 0.376933 0.359893 0.359893 0.390187 0.439413 0.498107 +0.532211 0.566947 0.578316 0.572 0.556211 0.532842 0.509474 0.502526 +0.512632 0.534105 0.537895 0.509474 0.43184 0.37504 0.358 0.348533 +0.34096 0.359893 0.393973 0.412907 0.44888 0.508842 0.506316 0.441307 +0.445093 0.531579 0.544211 0.479173 0.384507 0.35232 0.34664 0.36368 +0.38072 0.378827 0.373147 0.361787 0.399653 0.510105 0.530316 0.501895 +0.4148 0.361787 0.331493 0.348533 0.373147 0.37504 0.384507 0.37504 +0.356107 0.36368 0.382613 0.401547 0.39208 0.43184 0.534737 0.590316 +0.589053 0.526526 0.40344 0.36368 0.373147 0.40344 0.418587 0.418587 +0.399653 0.40344 0.49432 0.527789 0.498107 0.40912 0.38072 0.359893 +0.358 0.367467 0.365573 0.367467 0.36368 0.35232 0.35232 0.348533 +0.3296 0.3296 0.367467 0.384507 0.36936 0.37504 0.376933 0.361787 +0.367467 0.382613 0.428053 0.5 0.510105 0.521474 0.539789 0.556211 +0.584632 0.670526 0.791789 0.878947 0.915579 0.933263 0.968632 0.995673 +1.00612 1.01363 1.0182 1.02082 1.02604 1.02735 1.01265 1.00024 +1.00678 1.02408 1.0551 1.18782 1.20607 1.14977 1.09043 1.05869 +1.10565 1.1513 1.1726 1.25629 1.40693 1.39932 1.14673 1.02571 +1.0022 1.00155 1.0022 1.00188 1.00286 1.00743 1.00939 1.00351 +1.00188 1.00416 1.00416 1.0022 0.998612 0.996 0.99502 1.00024 +1.00547 1.02735 1.22129 1.55148 1.51953 1.28215 1.17564 1.12847 +1.07978 1.05902 1.05935 1.06304 1.09804 1.07065 1.04661 1.03976 +1.02702 1.01461 1.03029 1.05576 1.0502 1.04204 1.04041 1.04629 +1.04629 1.04073 1.04367 1.03518 1.0022 0.964842 0.943368 0.929474 +0.873895 0.792421 0.681263 0.573895 0.521474 0.520842 0.527158 0.531579 +0.539789 0.528421 0.512 0.479173 0.4148 0.38072 0.3864 0.393973 +0.384507 0.388293 0.4432 0.500632 0.47728 0.42616 0.422373 0.422373 +0.401547 0.39776 0.399653 0.3864 0.35232 0.339067 0.356107 0.358 +0.384507 0.458347 0.490533 0.424267 0.365573 0.367467 0.371253 0.378827 +0.399653 0.382613 0.358 0.36936 0.428053 0.46592 0.484853 0.47728 +0.39208 0.350427 0.333387 0.325813 0.342853 0.359893 0.35232 0.354213 +0.433733 0.542316 0.600421 0.585263 0.516421 0.390187 0.3296 0.331493 +0.348533 0.358 0.356107 0.3864 0.39776 0.358 0.33528 0.337173 +0.34096 0.34096 0.3296 0.34096 0.348533 0.342853 0.34664 0.34664 +0.365573 0.435627 0.512 0.490533 0.3864 0.390187 0.401547 0.416693 +0.43184 0.445093 0.475387 0.473493 0.446987 0.503158 0.578947 0.708421 +0.854316 0.955368 0.98751 0.989469 0.986531 0.99698 1.01918 1.0391 +1.05445 1.06761 1.04498 1.01559 1.00253 1.00547 1.00808 1.00776 +1.00841 1.01069 1.01233 1.01102 1.01037 1.00971 1.00318 0.992082 +0.985551 0.981633 0.971158 0.962947 0.962947 0.964211 0.966737 0.983265 +0.997633 1.00547 1.00122 0.938947 0.760842 0.577053 0.473493 0.445093 +0.411013 0.316347 0.22736 0.0009 0.00084 0.000793333 0.000833333 0.000833333 +0.0008 0.00074 0.000686667 0.00072 0.000766667 0.00074 0.000726667 0.000733333 +0.00072 0.000746667 0.000766667 0.000753333 0.00076 0.000753333 0.000726667 0.000726667 +0.000773333 0.000786667 0.00078 0.000793333 0.00078 0.000733333 0.0007 0.00074 +0.00076 0.000753333 0.000753333 0.00076 0.000773333 0.00076 0.000786667 0.000806667 +0.00078 0.000773333 0.000806667 0.000806667 0.000826667 0.000913333 0.00098 0.242507 +0.3012 0.382613 0.46592 0.516421 0.542947 0.566316 0.587158 0.601684 +0.610526 0.612421 0.612421 0.611789 0.00076 0.000766667 0.000773333 0.00076 +0.000766667 0.000746667 0.00072 0.00072 0.0007 0.000706667 0.000733333 0.000726667 +0.000713333 0.000733333 0.000733333 0.000746667 0.00074 0.000726667 0.000726667 0.000733333 +0.000746667 0.000726667 0.000713333 0.00074 0.000733333 0.000706667 0.000733333 0.000753333 +0.000733333 0.000746667 0.00072 0.000706667 0.00072 0.000746667 0.000726667 0.000726667 +0.000746667 0.000726667 0.0007 0.000726667 0.000746667 0.000726667 0.0007 0.000713333 +0.00072 0.000726667 0.000733333 0.00076 0.000746667 0.00074 0.00074 0.000733333 +0.000726667 0.00072 0.00072 0.000706667 0.00068 0.000686667 0.000686667 0.00066 +0.000686667 0.00072 0.000733333 0.000766667 0.000753333 0.000733333 0.00074 0.00076 +0.00076 0.00076 0.000746667 0.00076 0.000826667 0.000853333 0.00084 0.00082 +0.000806667 0.000793333 0.000833333 0.000973333 0.27848 0.350427 0.390187 0.401547 +0.501263 0.621263 0.821474 0.981306 1.00776 1.0009 0.98849 0.968 +0.950316 0.947789 0.952211 0.966737 0.982612 0.991429 1.0009 1.00514 +1.00514 1.00449 1.00547 1.00743 1.00939 1.00939 1.00776 1.00482 +1.00253 1.00057 0.994694 0.991429 0.991102 0.988163 0.985551 0.98751 +0.989469 0.983265 0.966105 0.923158 0.825263 0.689474 0.573263 0.507579 +0.4432 0.422373 0.433733 0.445093 0.467813 0.479173 0.4432 0.40344 +0.40344 0.40912 0.407227 0.3864 0.36936 0.36936 0.39208 0.435627 +0.510737 0.554947 0.582737 0.570737 0.534737 0.502526 0.450773 0.422373 +0.42616 0.47728 0.501895 0.445093 0.390187 0.37504 0.359893 0.36368 +0.361787 0.373147 0.40344 0.429947 0.490533 0.512632 0.486747 0.416693 +0.441307 0.517684 0.524632 0.462133 0.407227 0.382613 0.36368 0.358 +0.359893 0.367467 0.36368 0.35232 0.359893 0.424267 0.492427 0.484853 +0.441307 0.382613 0.342853 0.337173 0.348533 0.350427 0.365573 0.373147 +0.367467 0.373147 0.39776 0.418587 0.393973 0.424267 0.525895 0.570105 +0.556211 0.492427 0.373147 0.359893 0.373147 0.4148 0.441307 0.428053 +0.390187 0.401547 0.515158 0.564421 0.523368 0.395867 0.34664 0.348533 +0.367467 0.37504 0.367467 0.356107 0.367467 0.36936 0.371253 0.361787 +0.339067 0.331493 0.358 0.361787 0.358 0.367467 0.378827 0.367467 +0.365573 0.388293 0.433733 0.490533 0.518947 0.539158 0.550526 0.574526 +0.640842 0.748842 0.849263 0.902947 0.919368 0.940211 0.976842 0.996327 +1.0071 1.01624 1.01853 1.01722 1.02049 1.02539 1.01527 1.0022 +1.00645 1.02473 1.05445 1.16803 1.22281 1.19542 1.15738 1.12847 +1.1589 1.20912 1.28976 1.44649 1.53778 1.31107 1.04171 1.00743 +0.999918 1.00188 1.00416 1.00514 1.00384 1.00449 1.0058 1.00416 +1.00449 1.00416 1.00351 1.00188 0.998939 0.996327 0.994694 0.997306 +0.998939 1.00416 1.03616 1.3415 1.58952 1.4541 1.26846 1.1376 +1.06152 1.05804 1.05771 1.06304 1.12695 1.10869 1.05216 1.04237 +1.02865 1.01722 1.0329 1.05086 1.04204 1.03584 1.0378 1.03878 +1.03714 1.0342 1.04302 1.04759 1.02473 0.988816 0.950947 0.937053 +0.912421 0.870105 0.794316 0.669895 0.576421 0.554316 0.560632 0.576421 +0.579579 0.547368 0.517684 0.490533 0.445093 0.4148 0.405333 0.40912 +0.393973 0.390187 0.46024 0.512 0.501263 0.44888 0.424267 0.39776 +0.405333 0.407227 0.390187 0.382613 0.359893 0.33528 0.35232 0.356107 +0.373147 0.45456 0.492427 0.43184 0.36936 0.358 0.37504 0.3864 +0.40344 0.405333 0.38072 0.39776 0.446987 0.479173 0.48296 0.46592 +0.395867 0.34664 0.342853 0.342853 0.359893 0.359893 0.34664 0.348533 +0.456453 0.561263 0.592842 0.556211 0.512632 0.422373 0.34664 0.35232 +0.36368 0.342853 0.339067 0.358 0.36936 0.34664 0.3296 0.331493 +0.34096 0.337173 0.34096 0.348533 0.348533 0.358 0.36368 0.356107 +0.37504 0.467813 0.520842 0.500632 0.405333 0.39208 0.401547 0.418587 +0.429947 0.450773 0.48296 0.48864 0.506947 0.578316 0.712842 0.854316 +0.949684 0.986857 0.989796 0.985551 0.991102 1.01592 1.0391 1.04955 +1.05673 1.04465 1.01396 0.999265 1.00482 1.01037 1.01037 1.00776 +1.00841 1.01135 1.01102 1.01004 1.00971 1.00384 0.993061 0.983592 +0.977474 0.968 0.960421 0.959789 0.962316 0.965474 0.976211 0.990776 +1.00286 1.00155 0.952211 0.780421 0.589684 0.47728 0.43752 0.411013 +0.314453 0.225467 0.000886667 0.0009 0.000893333 0.000873333 0.000893333 0.000933333 +0.000886667 0.000813333 0.00078 0.000786667 0.000793333 0.000786667 0.000786667 0.00076 +0.000733333 0.000746667 0.000773333 0.000746667 0.000733333 0.000746667 0.000733333 0.000693333 +0.000726667 0.00076 0.00076 0.00076 0.000786667 0.00078 0.000726667 0.000746667 +0.000773333 0.000773333 0.00078 0.0008 0.000806667 0.000793333 0.000793333 0.0008 +0.000813333 0.000826667 0.00086 0.000913333 0.225467 0.286053 0.358 0.446987 +0.513895 0.546105 0.572632 0.590316 0.59979 0.604842 0.611789 0.613684 +0.611789 0.610526 0.606737 0.599158 0.000753333 0.00076 0.000753333 0.00076 +0.000786667 0.000773333 0.000746667 0.000753333 0.000746667 0.00074 0.000766667 0.000753333 +0.000726667 0.000746667 0.00076 0.000746667 0.000733333 0.000726667 0.00076 0.00076 +0.000746667 0.00074 0.000766667 0.000766667 0.000746667 0.000746667 0.000766667 0.000753333 +0.000746667 0.00074 0.00072 0.000726667 0.000746667 0.000746667 0.000726667 0.00074 +0.000753333 0.000726667 0.000726667 0.000733333 0.00072 0.000713333 0.000693333 0.000713333 +0.000726667 0.00072 0.000733333 0.000733333 0.00072 0.000733333 0.000733333 0.000726667 +0.000706667 0.0007 0.0007 0.000686667 0.000666667 0.000666667 0.000686667 0.00068 +0.000713333 0.00074 0.000733333 0.000733333 0.000713333 0.000713333 0.00072 0.00074 +0.00074 0.000726667 0.000753333 0.000793333 0.000826667 0.00082 0.000793333 0.000766667 +0.0008 0.000813333 0.00084 0.000886667 0.000973333 0.2728 0.354213 0.388293 +0.40912 0.513895 0.650316 0.853684 0.989469 1.00678 0.997959 0.983592 +0.964211 0.954737 0.952211 0.955368 0.969895 0.982939 0.992735 1.00057 +1.00514 1.00547 1.00318 1.00449 1.0058 1.00743 1.00808 1.00808 +1.00449 1.00188 0.99698 0.991429 0.989143 0.98849 0.986857 0.985224 +0.989469 0.992082 0.986857 0.969263 0.916211 0.810105 0.678105 0.572 +0.507579 0.4432 0.429947 0.445093 0.484853 0.503789 0.47728 0.416693 +0.390187 0.393973 0.407227 0.40912 0.388293 0.37504 0.390187 0.456453 +0.524 0.558737 0.554947 0.517053 0.46024 0.418587 0.40912 0.3864 +0.365573 0.395867 0.418587 0.3864 0.371253 0.373147 0.37504 0.37504 +0.3864 0.395867 0.401547 0.44888 0.503158 0.503158 0.435627 0.393973 +0.424267 0.498107 0.505053 0.43184 0.388293 0.373147 0.36936 0.371253 +0.378827 0.384507 0.365573 0.356107 0.376933 0.441307 0.490533 0.479173 +0.43184 0.378827 0.354213 0.342853 0.34096 0.34096 0.36368 0.378827 +0.376933 0.37504 0.393973 0.411013 0.39776 0.439413 0.525263 0.555579 +0.531579 0.439413 0.359893 0.348533 0.358 0.411013 0.452667 0.44888 +0.4148 0.4148 0.48296 0.529053 0.513895 0.40344 0.339067 0.348533 +0.384507 0.382613 0.354213 0.34096 0.354213 0.367467 0.3864 0.376933 +0.34664 0.342853 0.36936 0.36368 0.35232 0.359893 0.367467 0.36936 +0.373147 0.401547 0.429947 0.4716 0.529053 0.561263 0.572632 0.626316 +0.721684 0.815789 0.887789 0.915579 0.921895 0.944632 0.981959 0.999918 +1.00841 1.01396 1.01429 1.01233 1.01331 1.01722 1.01461 1.00482 +1.00547 1.02473 1.05282 1.14673 1.22738 1.23042 1.22281 1.21368 +1.22586 1.28672 1.39475 1.51344 1.4191 1.07674 1.01429 1.00155 +0.996653 0.998939 1.00122 1.00286 1.00253 1.00351 1.0058 1.00645 +1.00743 1.00482 1.00384 1.00188 0.997959 0.996327 0.994694 0.995673 +0.995673 0.997959 1.00514 1.05184 1.37193 1.48757 1.33998 1.17108 +1.09043 1.07065 1.05967 1.07065 1.12239 1.12695 1.07674 1.04661 +1.02473 1.01527 1.03159 1.04335 1.03584 1.03518 1.03943 1.03747 +1.02931 1.02637 1.03518 1.04041 1.03388 1.01363 0.982286 0.947789 +0.936421 0.923158 0.865684 0.751368 0.638947 0.572632 0.565053 0.587789 +0.572632 0.524 0.503789 0.48864 0.467813 0.445093 0.42616 0.407227 +0.40344 0.43752 0.521474 0.549895 0.521474 0.473493 0.428053 0.39208 +0.40912 0.40344 0.361787 0.367467 0.361787 0.33528 0.342853 0.344747 +0.361787 0.46024 0.49432 0.42616 0.36368 0.358 0.3864 0.399653 +0.412907 0.428053 0.416693 0.405333 0.407227 0.395867 0.390187 0.411013 +0.405333 0.371253 0.365573 0.356107 0.350427 0.34096 0.327707 0.356107 +0.503158 0.582105 0.581474 0.522737 0.498107 0.43752 0.344747 0.327707 +0.342853 0.33528 0.331493 0.350427 0.348533 0.34096 0.337173 0.325813 +0.337173 0.344747 0.356107 0.36368 0.361787 0.36368 0.38072 0.378827 +0.40912 0.5 0.529053 0.515789 0.45456 0.412907 0.407227 0.424267 +0.435627 0.445093 0.46024 0.507579 0.584632 0.717263 0.853053 0.947789 +0.984898 0.988163 0.984898 0.987837 1.01167 1.03812 1.04857 1.05086 +1.04171 1.01624 0.999592 1.00449 1.01037 1.01135 1.01167 1.00906 +1.00939 1.01331 1.01396 1.01265 1.00873 0.997633 0.986531 0.98098 +0.972421 0.963579 0.966105 0.969263 0.971158 0.981306 0.992408 1.00253 +1.00416 0.971158 0.815789 0.618105 0.48864 0.422373 0.422373 0.342853 +0.240613 0.000853333 0.00078 0.000813333 0.00082 0.00078 0.000766667 0.00076 +0.00072 0.0007 0.00068 0.000693333 0.00068 0.00068 0.000726667 0.000726667 +0.00072 0.00074 0.00078 0.000753333 0.00074 0.00076 0.000766667 0.000726667 +0.000726667 0.000766667 0.00078 0.000766667 0.000766667 0.000766667 0.000726667 0.000713333 +0.000733333 0.000733333 0.000746667 0.000766667 0.000753333 0.00076 0.000793333 0.000813333 +0.000866667 0.000966667 0.240613 0.293627 0.384507 0.492427 0.530316 0.563158 +0.589053 0.606105 0.616211 0.616842 0.613053 0.605474 0.603579 0.59979 +0.592842 0.581474 0.571368 0.563789 0.000773333 0.00078 0.00078 0.00076 +0.00078 0.00076 0.000746667 0.000746667 0.000766667 0.000753333 0.00076 0.00074 +0.000733333 0.00076 0.000773333 0.00078 0.000766667 0.000766667 0.000793333 0.000793333 +0.00078 0.00078 0.000786667 0.00076 0.000773333 0.0008 0.000786667 0.000786667 +0.000786667 0.000773333 0.000753333 0.000746667 0.00074 0.000733333 0.00074 0.00074 +0.000746667 0.000733333 0.00072 0.00072 0.000726667 0.000746667 0.000753333 0.00076 +0.000753333 0.00074 0.00076 0.000766667 0.000746667 0.00076 0.000766667 0.000753333 +0.000726667 0.000713333 0.0007 0.000686667 0.000653333 0.000653333 0.000686667 0.000706667 +0.000733333 0.000753333 0.000766667 0.000746667 0.00072 0.000726667 0.000726667 0.000733333 +0.00076 0.000786667 0.000786667 0.000786667 0.0008 0.000806667 0.000786667 0.000786667 +0.000813333 0.00082 0.00082 0.000846667 0.000866667 0.000986667 0.29552 0.37504 +0.407227 0.424267 0.529053 0.687579 0.892842 0.997959 1.00776 0.996 +0.981959 0.964842 0.956 0.951579 0.959158 0.973053 0.983265 0.993061 +1.00253 1.00678 1.00547 1.00416 1.00482 1.00678 1.00743 1.00808 +1.00612 1.00155 0.999918 0.996327 0.988816 0.98751 0.990122 0.989143 +0.987837 0.991429 0.992735 0.98849 0.974947 0.914316 0.804421 0.678105 +0.573263 0.510737 0.456453 0.458347 0.48296 0.506947 0.508211 0.475387 +0.435627 0.424267 0.439413 0.452667 0.439413 0.43752 0.484853 0.527789 +0.556842 0.559368 0.525895 0.450773 0.395867 0.39208 0.401547 0.399653 +0.376933 0.388293 0.40344 0.376933 0.359893 0.367467 0.373147 0.376933 +0.384507 0.418587 0.44888 0.500632 0.510737 0.48296 0.412907 0.36936 +0.356107 0.411013 0.46024 0.42048 0.3864 0.388293 0.388293 0.382613 +0.382613 0.384507 0.367467 0.367467 0.412907 0.481067 0.506316 0.498107 +0.428053 0.361787 0.34096 0.333387 0.333387 0.344747 0.365573 0.393973 +0.407227 0.388293 0.399653 0.416693 0.42616 0.49432 0.528421 0.536 +0.513263 0.4432 0.38072 0.35232 0.359893 0.388293 0.40344 0.43184 +0.422373 0.399653 0.39208 0.446987 0.479173 0.418587 0.361787 0.384507 +0.435627 0.407227 0.358 0.359893 0.37504 0.38072 0.407227 0.393973 +0.350427 0.350427 0.365573 0.359893 0.350427 0.367467 0.378827 0.365573 +0.384507 0.40344 0.412907 0.467813 0.544842 0.596 0.635158 0.718526 +0.815158 0.875789 0.910526 0.921263 0.92821 0.947789 0.982612 0.999592 +1.0058 1.00939 1.01135 1.01037 1.00841 1.00612 1.00645 1.00384 +1.0071 1.03061 1.05967 1.16347 1.23346 1.24564 1.24716 1.23194 +1.23955 1.31715 1.40236 1.35367 1.10413 1.01363 0.999918 0.998286 +0.994041 0.998939 0.998939 0.999918 1.00253 1.00514 1.00547 1.00482 +1.00645 1.00449 1.00351 1.0009 0.999918 0.996653 0.992408 0.994041 +0.993061 0.994694 0.999265 1.02114 1.1726 1.4191 1.34454 1.1589 +1.07217 1.06152 1.06304 1.06761 1.08435 1.13456 1.15434 1.05184 +1.01853 1.00873 1.02212 1.03257 1.02996 1.03159 1.03845 1.03518 +1.02473 1.02147 1.02473 1.02473 1.02767 1.03061 1.00971 0.98 +0.953474 0.944632 0.899158 0.806947 0.703368 0.609263 0.558737 0.559368 +0.540421 0.502526 0.490533 0.498107 0.4716 0.462133 0.458347 0.435627 +0.441307 0.501263 0.56 0.592211 0.544211 0.49432 0.433733 0.405333 +0.412907 0.39776 0.348533 0.34664 0.35232 0.333387 0.34096 0.344747 +0.373147 0.490533 0.510105 0.450773 0.395867 0.38072 0.39208 0.40344 +0.42048 0.467813 0.464027 0.411013 0.365573 0.348533 0.348533 0.367467 +0.393973 0.390187 0.38072 0.371253 0.34664 0.322027 0.320133 0.376933 +0.521474 0.582737 0.551158 0.47728 0.44888 0.43184 0.36368 0.33528 +0.34664 0.337173 0.322027 0.337173 0.33528 0.31824 0.32392 0.325813 +0.333387 0.350427 0.359893 0.373147 0.367467 0.365573 0.390187 0.40344 +0.441307 0.496213 0.513263 0.509474 0.46592 0.43184 0.4148 0.43184 +0.450773 0.446987 0.484853 0.568211 0.710316 0.849895 0.937053 0.981306 +0.987837 0.981633 0.978737 0.998286 1.02996 1.04335 1.04498 1.0391 +1.01788 1.00057 1.00188 1.00906 1.00873 1.01037 1.01298 1.01102 +1.01167 1.01527 1.01461 1.012 1.00122 0.989143 0.982286 0.974947 +0.967368 0.964842 0.968 0.973053 0.981633 0.993388 1.00449 1.00645 +0.983592 0.848632 0.652211 0.517053 0.428053 0.422373 0.373147 0.274693 +0.00098 0.00088 0.000793333 0.000806667 0.00084 0.000846667 0.000846667 0.000833333 +0.000793333 0.0008 0.0008 0.000793333 0.000766667 0.000706667 0.000706667 0.000726667 +0.000726667 0.00072 0.000753333 0.000753333 0.00072 0.00072 0.000753333 0.00072 +0.000726667 0.000766667 0.000766667 0.00078 0.000733333 0.00074 0.00074 0.00074 +0.000766667 0.000766667 0.00078 0.00082 0.000806667 0.000826667 0.0009 0.000993333 +0.251973 0.320133 0.405333 0.501263 0.539789 0.578947 0.601684 0.613684 +0.616842 0.619368 0.618737 0.611789 0.600421 0.586526 0.576421 0.561895 +0.543579 0.530947 0.520842 0.517684 0.00078 0.000766667 0.000766667 0.000746667 +0.000726667 0.000733333 0.000726667 0.0007 0.000706667 0.0007 0.000693333 0.0007 +0.000706667 0.000746667 0.000766667 0.000746667 0.000733333 0.000733333 0.00074 0.000726667 +0.000733333 0.00074 0.00074 0.000726667 0.00074 0.00076 0.000753333 0.000773333 +0.00076 0.00074 0.00074 0.00074 0.000733333 0.00072 0.000706667 0.00072 +0.000733333 0.00072 0.000693333 0.000706667 0.00072 0.000733333 0.000733333 0.00072 +0.000706667 0.000706667 0.000733333 0.000733333 0.00072 0.00074 0.000753333 0.000733333 +0.000733333 0.000713333 0.00068 0.000666667 0.000653333 0.00066 0.000666667 0.000686667 +0.00072 0.000726667 0.000746667 0.00072 0.000693333 0.0007 0.000713333 0.00072 +0.00074 0.00076 0.000733333 0.000733333 0.000766667 0.000773333 0.000753333 0.000753333 +0.000773333 0.000793333 0.0008 0.00082 0.000833333 0.000866667 0.217893 0.308773 +0.390187 0.418587 0.450773 0.558737 0.736211 0.928842 1.00318 1.00547 +0.992082 0.974316 0.959158 0.953474 0.955368 0.964211 0.976211 0.985551 +0.996327 1.00482 1.00612 1.00514 1.00612 1.00873 1.00841 1.00612 +1.0058 1.00253 1.00253 1.00122 0.995673 0.989469 0.989469 0.991755 +0.990449 0.989469 0.992082 0.994694 0.991102 0.975579 0.911789 0.804421 +0.677474 0.572632 0.510105 0.46592 0.456453 0.49432 0.516421 0.517053 +0.510105 0.505053 0.500632 0.49432 0.500632 0.522105 0.556211 0.568842 +0.547368 0.523368 0.501895 0.42616 0.3864 0.384507 0.395867 0.412907 +0.395867 0.382613 0.395867 0.38072 0.378827 0.382613 0.373147 0.367467 +0.367467 0.411013 0.48296 0.513895 0.502526 0.43752 0.39776 0.37504 +0.342853 0.367467 0.435627 0.4148 0.378827 0.3864 0.39776 0.393973 +0.384507 0.378827 0.378827 0.395867 0.473493 0.525263 0.536 0.519579 +0.456453 0.36936 0.337173 0.320133 0.322027 0.348533 0.367467 0.39208 +0.424267 0.416693 0.429947 0.4432 0.47728 0.517684 0.524 0.504421 +0.46024 0.45456 0.45456 0.40912 0.384507 0.378827 0.376933 0.401547 +0.401547 0.382613 0.376933 0.416693 0.469707 0.44888 0.39776 0.433733 +0.49432 0.433733 0.3864 0.412907 0.4148 0.39208 0.39776 0.378827 +0.356107 0.361787 0.354213 0.354213 0.354213 0.382613 0.39208 0.382613 +0.407227 0.40912 0.428053 0.503789 0.559368 0.626316 0.704 0.793684 +0.866316 0.904842 0.917474 0.921263 0.934526 0.954737 0.983592 0.996653 +1.0022 1.0058 1.00906 1.00971 1.00841 1.00155 0.998612 1.00024 +1.00971 1.03747 1.09348 1.18934 1.22129 1.23346 1.24107 1.21977 +1.23498 1.31563 1.35671 1.20607 1.03649 1.00155 0.997959 0.996327 +0.994041 0.998286 0.996 0.997306 1.00384 1.00612 1.00612 1.00645 +1.0071 1.00482 1.0058 1.00155 1.00057 0.997633 0.995673 0.996 +0.994041 0.995673 1.00057 1.0169 1.1026 1.37345 1.34911 1.16195 +1.05739 1.05543 1.05576 1.05935 1.09043 1.17412 1.21368 1.05282 +1.012 0.998612 1.00384 1.01657 1.02343 1.02702 1.03355 1.03159 +1.02016 1.0169 1.01592 1.01363 1.01722 1.02865 1.02963 1.00645 +0.978737 0.959789 0.940842 0.884632 0.796842 0.690105 0.592842 0.555579 +0.534105 0.503158 0.484853 0.503158 0.490533 0.458347 0.4716 0.475387 +0.481067 0.506947 0.563158 0.602947 0.554316 0.486747 0.416693 0.40344 +0.405333 0.395867 0.365573 0.356107 0.359893 0.344747 0.337173 0.337173 +0.388293 0.510737 0.525263 0.473493 0.40912 0.378827 0.384507 0.390187 +0.412907 0.452667 0.435627 0.378827 0.342853 0.33528 0.331493 0.342853 +0.36368 0.37504 0.371253 0.373147 0.356107 0.350427 0.358 0.424267 +0.532842 0.561895 0.514526 0.4148 0.418587 0.43184 0.405333 0.373147 +0.36368 0.34664 0.33528 0.34096 0.337173 0.320133 0.314453 0.344747 +0.354213 0.354213 0.35232 0.358 0.36936 0.390187 0.424267 0.441307 +0.469707 0.475387 0.4716 0.47728 0.464027 0.458347 0.445093 0.44888 +0.464027 0.5 0.557474 0.692 0.845474 0.937684 0.976842 0.986857 +0.983918 0.980653 0.990122 1.0169 1.0391 1.03976 1.03355 1.01788 +0.999918 0.999918 1.0071 1.00906 1.00873 1.01004 1.01135 1.00971 +1.01102 1.01167 1.00678 0.999918 0.98751 0.976842 0.971158 0.962947 +0.959158 0.959158 0.958526 0.968 0.986204 1.00024 1.00547 0.987837 +0.871368 0.678105 0.526526 0.435627 0.40912 0.350427 0.263333 0.000946667 +0.000866667 0.00086 0.00082 0.000826667 0.000853333 0.000873333 0.00088 0.000846667 +0.000806667 0.000786667 0.000786667 0.000826667 0.000833333 0.00078 0.00076 0.000766667 +0.000813333 0.00078 0.0008 0.000813333 0.000793333 0.000786667 0.00082 0.000793333 +0.00076 0.00078 0.000786667 0.000786667 0.000753333 0.00076 0.000786667 0.0008 +0.00082 0.00082 0.000813333 0.000873333 0.000886667 0.00094 0.242507 0.308773 +0.39776 0.505053 0.545474 0.576421 0.596 0.613684 0.621895 0.618105 +0.608 0.59979 0.590947 0.578947 0.563158 0.541684 0.526526 0.515158 +0.507579 0.508842 0.515158 0.528421 0.0008 0.000786667 0.0008 0.000806667 +0.00078 0.00078 0.00078 0.000746667 0.000733333 0.000733333 0.00072 0.00072 +0.000726667 0.000766667 0.00074 0.00072 0.00074 0.000746667 0.000733333 0.000726667 +0.000746667 0.000753333 0.000753333 0.00076 0.000746667 0.000766667 0.000786667 0.00078 +0.000746667 0.000726667 0.000726667 0.000726667 0.000733333 0.000713333 0.00072 0.000726667 +0.000733333 0.00074 0.000733333 0.00074 0.000726667 0.000746667 0.00074 0.000733333 +0.000726667 0.000733333 0.00074 0.000733333 0.00072 0.00074 0.000746667 0.000733333 +0.000713333 0.00068 0.00068 0.000693333 0.000693333 0.000673333 0.000693333 0.000713333 +0.000733333 0.00072 0.000706667 0.000706667 0.000713333 0.000713333 0.00074 0.000746667 +0.00076 0.000746667 0.000746667 0.000766667 0.000773333 0.000773333 0.000766667 0.00078 +0.00078 0.00078 0.000786667 0.000786667 0.000786667 0.000806667 0.00086 0.22736 +0.32392 0.405333 0.435627 0.496213 0.596632 0.782316 0.955368 1.00416 +1.00253 0.987837 0.973053 0.962316 0.959158 0.961053 0.966737 0.978105 +0.986204 0.996327 1.0022 1.00384 1.0058 1.01037 1.01037 1.00906 +1.00776 1.00482 1.00286 1.00482 1.00416 0.997633 0.990122 0.989796 +0.992082 0.991102 0.991429 0.993061 0.994041 0.991429 0.978737 0.918737 +0.808842 0.677474 0.568211 0.505684 0.45456 0.4716 0.510105 0.518947 +0.512 0.506316 0.492427 0.475387 0.505684 0.541684 0.573263 0.557474 +0.509474 0.47728 0.48864 0.435627 0.3864 0.378827 0.371253 0.3864 +0.390187 0.382613 0.393973 0.399653 0.405333 0.39776 0.367467 0.36368 +0.365573 0.40344 0.498107 0.512632 0.473493 0.40912 0.3864 0.376933 +0.365573 0.371253 0.418587 0.42048 0.36936 0.371253 0.3864 0.405333 +0.416693 0.405333 0.407227 0.446987 0.521474 0.565684 0.568842 0.537263 +0.481067 0.390187 0.365573 0.350427 0.350427 0.38072 0.401547 0.401547 +0.4148 0.405333 0.40344 0.4148 0.48296 0.519579 0.507579 0.429947 +0.36936 0.401547 0.445093 0.42616 0.384507 0.36368 0.36368 0.376933 +0.378827 0.376933 0.37504 0.411013 0.486747 0.510105 0.503158 0.501895 +0.504421 0.4432 0.39776 0.40912 0.405333 0.378827 0.365573 0.358 +0.376933 0.378827 0.350427 0.35232 0.378827 0.407227 0.393973 0.3864 +0.424267 0.43752 0.473493 0.524 0.584 0.669263 0.760842 0.833474 +0.884 0.913053 0.917474 0.92 0.934526 0.961684 0.983265 0.991102 +0.998286 1.00122 1.00188 1.00318 1.00384 0.998612 0.994367 0.99698 +1.01363 1.04661 1.12695 1.19999 1.1939 1.20151 1.21977 1.2289 +1.28672 1.38106 1.37802 1.16499 1.03322 1.00841 1.00318 0.99698 +0.995347 0.995347 0.994041 0.997959 1.00253 1.00449 1.00449 1.00482 +1.00482 1.00351 1.00612 1.0022 1.00155 0.998939 0.997306 0.996653 +0.996 1.00057 1.00612 1.02278 1.13456 1.40997 1.39628 1.21368 +1.08587 1.05837 1.0538 1.06456 1.12239 1.19847 1.24107 1.07369 +1.0169 0.994694 0.989469 1.00024 1.01624 1.02539 1.02735 1.02506 +1.0182 1.0169 1.012 1.00678 1.0071 1.01461 1.02898 1.02767 +1.00155 0.978737 0.962947 0.934526 0.873263 0.783579 0.679368 0.611789 +0.576421 0.532842 0.505684 0.508842 0.508842 0.48864 0.484853 0.505053 +0.505053 0.500632 0.548 0.610526 0.573895 0.498107 0.407227 0.399653 +0.40344 0.395867 0.378827 0.367467 0.359893 0.350427 0.337173 0.34096 +0.42048 0.533474 0.539158 0.48296 0.40912 0.3864 0.382613 0.405333 +0.429947 0.462133 0.429947 0.384507 0.359893 0.348533 0.34096 0.339067 +0.350427 0.376933 0.378827 0.373147 0.365573 0.371253 0.390187 0.47728 +0.536 0.536 0.469707 0.39208 0.401547 0.428053 0.429947 0.395867 +0.37504 0.359893 0.35232 0.350427 0.354213 0.34664 0.333387 0.354213 +0.378827 0.35232 0.33528 0.339067 0.361787 0.3864 0.405333 0.43752 +0.479173 0.46592 0.441307 0.45456 0.46024 0.456453 0.45456 0.452667 +0.49432 0.561895 0.685053 0.831579 0.937053 0.98098 0.986857 0.986531 +0.982612 0.990122 1.00906 1.02702 1.03551 1.02898 1.01559 1.0009 +0.996653 1.00384 1.00808 1.00906 1.01102 1.01004 1.00841 1.00612 +1.00808 1.00645 0.99698 0.988163 0.980653 0.969263 0.962947 0.961053 +0.957895 0.955368 0.963579 0.982939 0.996327 1.00514 0.993388 0.890947 +0.700211 0.540421 0.433733 0.412907 0.356107 0.263333 0.00092 0.000813333 +0.000793333 0.000793333 0.00078 0.00078 0.000766667 0.000766667 0.000753333 0.0007 +0.000686667 0.00068 0.000673333 0.000726667 0.00074 0.000706667 0.000653333 0.000626667 +0.00068 0.00066 0.00068 0.0007 0.000653333 0.000666667 0.000686667 0.000666667 +0.00066 0.000693333 0.000706667 0.000693333 0.000646667 0.000713333 0.00072 0.000686667 +0.000733333 0.000766667 0.000806667 0.00092 0.223573 0.280373 0.37504 0.498107 +0.542316 0.575158 0.600421 0.614316 0.613684 0.615579 0.617474 0.606105 +0.589684 0.572632 0.550526 0.530316 0.516421 0.508842 0.508211 0.515158 +0.528421 0.539789 0.548 0.561263 0.00078 0.00078 0.000786667 0.000793333 +0.00078 0.000786667 0.00078 0.000766667 0.00076 0.000753333 0.000746667 0.000753333 +0.00076 0.000746667 0.00072 0.000713333 0.000746667 0.00074 0.00072 0.00072 +0.000733333 0.000726667 0.000746667 0.000746667 0.000733333 0.000766667 0.00076 0.00074 +0.00072 0.000713333 0.00072 0.000746667 0.000733333 0.000713333 0.000726667 0.000726667 +0.000726667 0.000726667 0.000706667 0.000713333 0.000706667 0.00072 0.000733333 0.000706667 +0.00068 0.000713333 0.000753333 0.000746667 0.00074 0.00076 0.000773333 0.000733333 +0.0007 0.00068 0.000706667 0.000693333 0.00068 0.0007 0.00074 0.00074 +0.000713333 0.000693333 0.000706667 0.000713333 0.000706667 0.000693333 0.000726667 0.000726667 +0.00074 0.000753333 0.000746667 0.000746667 0.000773333 0.000793333 0.000786667 0.0008 +0.00082 0.000793333 0.000786667 0.000766667 0.000766667 0.000813333 0.000833333 0.0009 +0.236827 0.32392 0.390187 0.42048 0.508211 0.625684 0.821474 0.978737 +1.00612 1.0009 0.989143 0.974947 0.964211 0.964842 0.964211 0.967368 +0.978105 0.984898 0.993061 0.999265 1.00416 1.00808 1.012 1.00971 +1.00841 1.00612 1.00449 1.00514 1.00645 1.00482 0.996 0.989143 +0.98849 0.989143 0.989143 0.989796 0.993388 0.995347 0.990449 0.978105 +0.913684 0.798105 0.668 0.565053 0.506316 0.481067 0.505684 0.511368 +0.503158 0.48864 0.473493 0.47728 0.508211 0.528421 0.533474 0.508842 +0.42616 0.412907 0.48296 0.48864 0.429947 0.401547 0.378827 0.376933 +0.399653 0.418587 0.42616 0.422373 0.411013 0.382613 0.361787 0.371253 +0.399653 0.452667 0.504421 0.502526 0.422373 0.38072 0.378827 0.37504 +0.382613 0.384507 0.405333 0.418587 0.388293 0.371253 0.36936 0.390187 +0.416693 0.42616 0.435627 0.511368 0.571368 0.611789 0.597263 0.547368 +0.481067 0.39208 0.39208 0.40912 0.407227 0.418587 0.429947 0.407227 +0.38072 0.36368 0.356107 0.376933 0.469707 0.505684 0.456453 0.3864 +0.350427 0.36368 0.393973 0.412907 0.390187 0.35232 0.34096 0.348533 +0.359893 0.36936 0.367467 0.39208 0.5 0.537263 0.536 0.503789 +0.439413 0.40344 0.37504 0.371253 0.382613 0.371253 0.35232 0.356107 +0.382613 0.376933 0.354213 0.359893 0.388293 0.401547 0.388293 0.405333 +0.458347 0.47728 0.505684 0.549895 0.631368 0.734947 0.816421 0.865684 +0.901053 0.921263 0.92379 0.92821 0.945895 0.966105 0.978737 0.983265 +0.990122 0.996 0.996653 0.997306 0.997633 0.992408 0.98751 0.993388 +1.02049 1.06152 1.19238 1.23803 1.21064 1.18629 1.18173 1.24107 +1.36736 1.5317 1.52409 1.23194 1.03649 1.01494 1.00939 0.999918 +0.996653 0.994041 0.995347 1.00024 1.00188 1.00188 1.00286 1.00449 +1.00612 1.00612 1.0058 1.00155 1.0009 0.998939 0.99502 0.994041 +0.997633 1.00612 1.01886 1.05118 1.3065 1.50431 1.40236 1.20607 +1.07978 1.05608 1.05347 1.06152 1.10413 1.1589 1.21977 1.16195 +1.04106 1.00122 0.981959 0.985551 1.00318 1.02082 1.02637 1.02278 +1.01755 1.01363 1.00808 1.00253 1.00057 1.00286 1.01135 1.02571 +1.02114 0.998286 0.977474 0.958526 0.928842 0.870737 0.787368 0.710316 +0.665474 0.607368 0.552421 0.529053 0.522105 0.514526 0.509474 0.512 +0.503158 0.464027 0.526526 0.608632 0.587158 0.505684 0.424267 0.40344 +0.401547 0.395867 0.390187 0.3864 0.376933 0.361787 0.344747 0.350427 +0.46592 0.559368 0.552421 0.484853 0.42048 0.40912 0.405333 0.401547 +0.435627 0.492427 0.479173 0.422373 0.373147 0.359893 0.358 0.348533 +0.348533 0.361787 0.371253 0.365573 0.376933 0.3864 0.407227 0.490533 +0.530316 0.519579 0.441307 0.40344 0.39776 0.412907 0.446987 0.42616 +0.382613 0.361787 0.356107 0.359893 0.367467 0.36936 0.358 0.356107 +0.384507 0.373147 0.365573 0.36936 0.373147 0.382613 0.39776 0.452667 +0.496213 0.464027 0.43752 0.45456 0.46024 0.45456 0.46024 0.504421 +0.574526 0.701474 0.837895 0.931368 0.978105 0.989796 0.990449 0.988816 +0.994367 1.00939 1.02278 1.02865 1.02408 1.01069 1.00155 0.999592 +1.00318 1.00743 1.00841 1.00939 1.01102 1.01069 1.00906 1.00939 +1.01004 1.00286 0.990776 0.983265 0.976842 0.968 0.962947 0.962947 +0.962947 0.969263 0.985224 0.997306 1.00645 1.00155 0.921895 0.728632 +0.556842 0.46024 0.435627 0.395867 0.28984 0.216 0.0009 0.00084 +0.000826667 0.000833333 0.00084 0.000853333 0.000833333 0.000833333 0.0008 0.00076 +0.000773333 0.00076 0.00074 0.000766667 0.00078 0.000753333 0.000713333 0.000686667 +0.00072 0.00072 0.000726667 0.00076 0.00074 0.000753333 0.00076 0.000753333 +0.000753333 0.000793333 0.000806667 0.00078 0.000746667 0.000766667 0.00082 0.000826667 +0.000873333 0.000993333 0.248187 0.316347 0.4148 0.508842 0.546737 0.579579 +0.605474 0.619368 0.622526 0.625684 0.617474 0.604842 0.590947 0.566316 +0.539158 0.519579 0.506316 0.503158 0.508211 0.519579 0.532842 0.542316 +0.554947 0.563789 0.573263 0.586526 0.000773333 0.00078 0.00078 0.000786667 +0.00076 0.000753333 0.00076 0.00074 0.000733333 0.00072 0.000753333 0.000793333 +0.00078 0.00074 0.000733333 0.00076 0.000773333 0.00074 0.000733333 0.000733333 +0.000713333 0.000726667 0.00074 0.000733333 0.000746667 0.000746667 0.000733333 0.000726667 +0.0007 0.00068 0.000686667 0.000706667 0.00072 0.000726667 0.000753333 0.000746667 +0.000746667 0.00072 0.000713333 0.000733333 0.000713333 0.000713333 0.000726667 0.00072 +0.000693333 0.000726667 0.00074 0.00072 0.000733333 0.000753333 0.000733333 0.00072 +0.000706667 0.000666667 0.00068 0.00068 0.000686667 0.000693333 0.000693333 0.00068 +0.000666667 0.0007 0.000726667 0.00072 0.0007 0.000686667 0.00072 0.00072 +0.000726667 0.000726667 0.000706667 0.00072 0.000773333 0.000793333 0.000766667 0.000773333 +0.00076 0.000753333 0.00078 0.000786667 0.000806667 0.000846667 0.00084 0.000846667 +0.000893333 0.240613 0.331493 0.390187 0.422373 0.522105 0.667368 0.865684 +0.98849 1.00514 0.998286 0.984245 0.962947 0.959789 0.957895 0.958526 +0.968632 0.980653 0.986531 0.992408 0.997959 1.00384 1.01037 1.01069 +1.00776 1.0071 1.00514 1.00449 1.0058 1.00449 1.00057 0.993061 +0.987837 0.98751 0.987184 0.987837 0.991429 0.99502 0.99502 0.989143 +0.969895 0.899789 0.784211 0.656632 0.555579 0.508211 0.502526 0.505684 +0.504421 0.496213 0.48864 0.501895 0.514526 0.513895 0.502526 0.456453 +0.399653 0.384507 0.445093 0.49432 0.458347 0.40912 0.382613 0.373147 +0.399653 0.42616 0.44888 0.4716 0.445093 0.388293 0.371253 0.390187 +0.43752 0.5 0.506316 0.467813 0.390187 0.361787 0.365573 0.37504 +0.38072 0.373147 0.388293 0.399653 0.39208 0.376933 0.361787 0.36936 +0.399653 0.4148 0.47728 0.562526 0.642105 0.664842 0.624421 0.554947 +0.484853 0.3864 0.3864 0.429947 0.433733 0.411013 0.401547 0.3864 +0.36936 0.367467 0.384507 0.422373 0.492427 0.49432 0.416693 0.373147 +0.361787 0.358 0.382613 0.4148 0.39776 0.354213 0.33528 0.348533 +0.36936 0.378827 0.382613 0.39208 0.501263 0.553053 0.556211 0.501895 +0.373147 0.358 0.35232 0.348533 0.361787 0.36936 0.359893 0.36368 +0.371253 0.365573 0.361787 0.36368 0.393973 0.422373 0.412907 0.42048 +0.48864 0.514526 0.538526 0.587789 0.681263 0.793684 0.864421 0.898526 +0.921263 0.930737 0.931368 0.939579 0.958526 0.972421 0.978737 0.980653 +0.986857 0.992408 0.991755 0.990449 0.989796 0.982612 0.977474 0.99502 +1.03518 1.11934 1.19999 1.21825 1.18477 1.11934 1.10717 1.21216 +1.38715 1.58191 1.66256 1.4541 1.12086 1.02963 1.012 1.00318 +0.999918 0.995347 0.995347 0.999592 1.00351 1.00416 1.00482 1.00514 +1.00743 1.00971 1.00906 1.00547 1.00122 0.998612 0.998612 0.999265 +1.00416 1.03029 1.1376 1.37954 1.55452 1.51192 1.28063 1.1163 +1.05576 1.05086 1.05086 1.05118 1.05249 1.05739 1.10108 1.15434 +1.07978 1.0231 0.986531 0.979368 0.990449 1.00906 1.02539 1.02702 +1.02147 1.00971 1.00122 0.997306 0.995673 0.996 0.997306 1.01037 +1.02343 1.01886 0.999265 0.981633 0.961684 0.934526 0.884632 0.817684 +0.770316 0.707789 0.632 0.578316 0.549895 0.540421 0.527158 0.509474 +0.486747 0.462133 0.520211 0.601053 0.587789 0.507579 0.428053 0.40344 +0.401547 0.401547 0.399653 0.399653 0.393973 0.37504 0.35232 0.376933 +0.512 0.585263 0.558737 0.464027 0.399653 0.441307 0.456453 0.40344 +0.40344 0.473493 0.501895 0.464027 0.3864 0.358 0.356107 0.350427 +0.350427 0.348533 0.354213 0.361787 0.371253 0.3864 0.411013 0.462133 +0.510105 0.506316 0.42616 0.395867 0.39776 0.401547 0.433733 0.4148 +0.358 0.337173 0.348533 0.348533 0.35232 0.36368 0.367467 0.373147 +0.39208 0.395867 0.39208 0.3864 0.371253 0.36936 0.40344 0.48864 +0.506947 0.4716 0.452667 0.458347 0.452667 0.458347 0.506316 0.580211 +0.716 0.851158 0.937684 0.975579 0.987184 0.992735 0.993388 0.995347 +1.00743 1.01984 1.02082 1.01788 1.0071 0.996327 0.997959 1.00384 +1.00743 1.00841 1.00971 1.012 1.01102 1.01102 1.01233 1.012 +1.0058 0.993061 0.983592 0.977474 0.969263 0.961684 0.958526 0.957263 +0.966105 0.985224 0.998612 1.00645 1.00188 0.947158 0.764632 0.572632 +0.467813 0.446987 0.412907 0.316347 0.22736 0.0009 0.000886667 0.00086 +0.000833333 0.000833333 0.00086 0.000866667 0.000866667 0.000873333 0.000806667 0.000766667 +0.00076 0.000733333 0.00072 0.000753333 0.0008 0.0008 0.00078 0.000753333 +0.000746667 0.00076 0.000773333 0.0008 0.00078 0.000793333 0.000786667 0.00076 +0.000766667 0.00082 0.000826667 0.0008 0.000793333 0.0008 0.000873333 0.000953333 +0.240613 0.310667 0.39776 0.502526 0.542947 0.575789 0.595368 0.604842 +0.609895 0.609895 0.604211 0.596 0.578316 0.553053 0.527158 0.508842 +0.501895 0.506316 0.516421 0.532211 0.544842 0.550526 0.558105 0.566316 +0.578947 0.599158 0.623789 0.641474 0.000693333 0.000746667 0.000786667 0.000813333 +0.000806667 0.0008 0.000793333 0.0008 0.000773333 0.000766667 0.00078 0.000813333 +0.0008 0.000753333 0.000786667 0.000793333 0.00078 0.00076 0.000773333 0.000746667 +0.000746667 0.000753333 0.00074 0.00076 0.000793333 0.000786667 0.000766667 0.000733333 +0.000713333 0.00072 0.000713333 0.000726667 0.000726667 0.000733333 0.000733333 0.000726667 +0.000713333 0.000713333 0.000746667 0.000753333 0.00074 0.000733333 0.00074 0.00074 +0.00074 0.000766667 0.000773333 0.000766667 0.00076 0.000753333 0.000726667 0.00074 +0.0007 0.00066 0.000693333 0.000713333 0.0007 0.00068 0.000686667 0.000686667 +0.000693333 0.000713333 0.000726667 0.000726667 0.000713333 0.0007 0.000706667 0.0007 +0.0007 0.000713333 0.000733333 0.00076 0.000773333 0.000773333 0.000753333 0.000766667 +0.000766667 0.000773333 0.000813333 0.000813333 0.000813333 0.00082 0.000806667 0.0008 +0.000806667 0.000886667 0.259547 0.354213 0.399653 0.441307 0.548632 0.707158 +0.897263 0.993388 1.00416 0.996327 0.978105 0.957263 0.951579 0.950316 +0.955368 0.969895 0.982286 0.986857 0.992082 0.999918 1.0071 1.01069 +1.00873 1.00776 1.0058 1.0058 1.00547 1.00547 1.00384 0.998939 +0.990776 0.98751 0.986857 0.986857 0.987837 0.991102 0.994694 0.993714 +0.990122 0.974316 0.895368 0.770316 0.638947 0.545474 0.505053 0.501263 +0.505053 0.501895 0.500632 0.512 0.518947 0.506947 0.467813 0.424267 +0.401547 0.399653 0.407227 0.4432 0.456453 0.418587 0.38072 0.378827 +0.3864 0.399653 0.45456 0.525263 0.528421 0.47728 0.428053 0.439413 +0.490533 0.510737 0.501263 0.43184 0.376933 0.356107 0.354213 0.378827 +0.39208 0.388293 0.390187 0.401547 0.395867 0.388293 0.38072 0.38072 +0.388293 0.435627 0.533474 0.640211 0.717895 0.710947 0.638316 0.558737 +0.507579 0.418587 0.390187 0.42616 0.412907 0.371253 0.359893 0.358 +0.361787 0.36936 0.412907 0.462133 0.475387 0.462133 0.411013 0.373147 +0.358 0.361787 0.39208 0.416693 0.39776 0.358 0.359893 0.37504 +0.384507 0.393973 0.407227 0.40912 0.498107 0.557474 0.578316 0.524632 +0.39208 0.356107 0.35232 0.344747 0.354213 0.376933 0.384507 0.384507 +0.37504 0.371253 0.37504 0.390187 0.439413 0.502526 0.49432 0.473493 +0.514526 0.541684 0.566947 0.612421 0.718526 0.833474 0.892842 0.919368 +0.932 0.933895 0.935158 0.944 0.957895 0.970526 0.976211 0.976842 +0.985224 0.988163 0.985551 0.984898 0.982939 0.970526 0.974947 1.00612 +1.05151 1.13152 1.13608 1.13456 1.11326 1.05576 1.05608 1.16499 +1.34911 1.48909 1.62147 1.71429 1.56974 1.3065 1.07065 1.02898 +1.00906 1.0009 0.998612 0.997633 0.997633 0.999918 1.00449 1.00547 +1.00873 1.01233 1.01135 1.00678 1.0009 1.0009 1.00416 1.01722 +1.05771 1.38562 1.67016 1.74016 1.60169 1.37954 1.16499 1.06761 +1.05543 1.05053 1.04498 1.0391 1.03584 1.03878 1.04792 1.06456 +1.07674 1.04661 1.01004 0.986857 0.983592 0.993714 1.01135 1.02473 +1.02049 1.00514 0.999918 0.996327 0.992408 0.992408 0.994041 1.00188 +1.01494 1.02539 1.02147 1.00318 0.984898 0.969263 0.949053 0.906737 +0.865053 0.813895 0.736842 0.665474 0.601053 0.563158 0.533474 0.506316 +0.486747 0.484853 0.516421 0.577684 0.576421 0.513895 0.456453 0.429947 +0.42048 0.42616 0.424267 0.4148 0.395867 0.401547 0.4148 0.469707 +0.545474 0.611158 0.575789 0.479173 0.4148 0.469707 0.48296 0.40912 +0.371253 0.422373 0.496213 0.504421 0.446987 0.39208 0.382613 0.373147 +0.371253 0.367467 0.358 0.36936 0.378827 0.384507 0.405333 0.428053 +0.462133 0.464027 0.411013 0.378827 0.39776 0.4148 0.422373 0.40912 +0.36936 0.344747 0.348533 0.354213 0.358 0.365573 0.38072 0.393973 +0.399653 0.38072 0.367467 0.371253 0.36936 0.388293 0.452667 0.517053 +0.516421 0.48296 0.467813 0.46024 0.46024 0.508211 0.578947 0.712211 +0.858737 0.947789 0.980653 0.986204 0.989143 0.993061 0.998939 1.00645 +1.01363 1.0169 1.00841 1.00057 0.996653 0.996653 1.0022 1.00678 +1.00743 1.00645 1.00939 1.01167 1.00971 1.01037 1.00971 1.0058 +0.994694 0.981959 0.975579 0.969895 0.962316 0.956 0.953474 0.958526 +0.980653 0.996327 1.00645 1.00449 0.960421 0.8 0.606105 0.47728 +0.42048 0.407227 0.322027 0.229253 0.000873333 0.000813333 0.000833333 0.000813333 +0.00076 0.000746667 0.000773333 0.000773333 0.000773333 0.000753333 0.000686667 0.0007 +0.0007 0.000686667 0.00068 0.00068 0.00072 0.000733333 0.000713333 0.000686667 +0.000666667 0.00062 0.000626667 0.00066 0.000613333 0.000653333 0.000713333 0.000653333 +0.000626667 0.000706667 0.000726667 0.000733333 0.000766667 0.000846667 0.000986667 0.26712 +0.358 0.48864 0.538526 0.573263 0.598526 0.609895 0.611789 0.613053 +0.609895 0.599158 0.578947 0.557474 0.536 0.522105 0.519579 0.524632 +0.534737 0.544842 0.548632 0.549895 0.553684 0.563789 0.584632 0.606737 +0.636421 0.666737 0.687579 0.700211 0.00056 0.000606667 0.00066 0.000706667 +0.000733333 0.00074 0.000766667 0.000766667 0.00074 0.000733333 0.00076 0.0008 +0.00078 0.00078 0.000806667 0.000786667 0.000786667 0.000793333 0.00078 0.000766667 +0.00078 0.00076 0.000766667 0.000786667 0.000793333 0.0008 0.000766667 0.000726667 +0.00072 0.000733333 0.000733333 0.000733333 0.000726667 0.00072 0.00072 0.0007 +0.000686667 0.000693333 0.00072 0.00072 0.00072 0.000726667 0.000733333 0.00072 +0.000706667 0.000733333 0.000746667 0.000733333 0.000726667 0.000713333 0.000713333 0.000713333 +0.000693333 0.0007 0.000706667 0.000686667 0.000666667 0.000666667 0.000693333 0.000706667 +0.000706667 0.000726667 0.000746667 0.000753333 0.000726667 0.0007 0.000686667 0.000693333 +0.000713333 0.000733333 0.000766667 0.00076 0.00076 0.000766667 0.00076 0.00076 +0.000766667 0.000786667 0.000826667 0.000806667 0.000786667 0.000793333 0.000806667 0.000813333 +0.000833333 0.000846667 0.000973333 0.28416 0.36368 0.40344 0.462133 0.570105 +0.743789 0.92379 0.998612 1.00678 0.993388 0.973053 0.956 0.949684 +0.947789 0.955368 0.971789 0.980653 0.985551 0.992735 1.00057 1.00776 +1.00971 1.00939 1.00939 1.00841 1.00743 1.00678 1.00514 1.00155 +0.997959 0.990776 0.986857 0.985551 0.985224 0.986857 0.989796 0.993388 +0.995347 0.993061 0.971789 0.891579 0.765263 0.628211 0.535368 0.504421 +0.501263 0.503789 0.511368 0.526526 0.524632 0.501895 0.441307 0.401547 +0.399653 0.412907 0.393973 0.39776 0.439413 0.435627 0.412907 0.39776 +0.382613 0.36936 0.441307 0.540421 0.565684 0.537263 0.510737 0.506316 +0.516421 0.513263 0.4716 0.407227 0.376933 0.367467 0.365573 0.3864 +0.399653 0.384507 0.373147 0.382613 0.388293 0.38072 0.382613 0.382613 +0.39776 0.484853 0.591579 0.717263 0.769684 0.723579 0.623158 0.553053 +0.519579 0.462133 0.4148 0.424267 0.40344 0.365573 0.348533 0.344747 +0.356107 0.371253 0.40912 0.445093 0.418587 0.407227 0.40912 0.3864 +0.367467 0.384507 0.40912 0.405333 0.376933 0.36368 0.376933 0.384507 +0.38072 0.395867 0.42048 0.44888 0.510105 0.560632 0.602316 0.570105 +0.473493 0.36368 0.361787 0.367467 0.376933 0.405333 0.418587 0.40344 +0.384507 0.37504 0.384507 0.433733 0.504421 0.537895 0.548 0.538526 +0.542316 0.551789 0.571368 0.638316 0.764 0.866316 0.912421 0.930105 +0.931368 0.932632 0.942105 0.954737 0.959158 0.966105 0.969263 0.966737 +0.980327 0.983265 0.981633 0.983265 0.978105 0.966105 0.988816 1.028 +1.0551 1.07826 1.07065 1.06304 1.05869 1.04857 1.04988 1.10565 +1.27455 1.34606 1.40236 1.62147 1.77059 1.77363 1.66256 1.43432 +1.10565 1.02049 1.00384 0.997633 0.99502 0.997306 1.00351 1.00776 +1.01233 1.01363 1.00906 1.00416 1.00122 1.00612 1.02767 1.21064 +1.6306 1.85276 1.75994 1.54996 1.35671 1.25629 1.18021 1.10717 +1.06304 1.05869 1.05053 1.03649 1.02996 1.03616 1.04302 1.04302 +1.04433 1.04922 1.03747 1.01461 0.995673 0.986857 0.995347 1.01559 +1.02049 1.00678 0.998612 0.993714 0.988816 0.98751 0.990449 0.997633 +1.00678 1.01984 1.03159 1.03029 1.00873 0.986531 0.971789 0.952842 +0.929474 0.897895 0.844842 0.767158 0.66421 0.587158 0.546105 0.523368 +0.512 0.508842 0.520842 0.553684 0.551789 0.515158 0.500632 0.4716 +0.428053 0.429947 0.44888 0.428053 0.395867 0.412907 0.46592 0.498107 +0.527158 0.577684 0.558105 0.48296 0.45456 0.484853 0.44888 0.384507 +0.361787 0.378827 0.4432 0.509474 0.511368 0.456453 0.405333 0.384507 +0.378827 0.371253 0.361787 0.378827 0.40344 0.407227 0.407227 0.407227 +0.42048 0.42048 0.3864 0.365573 0.384507 0.40912 0.40912 0.407227 +0.38072 0.348533 0.350427 0.36368 0.365573 0.367467 0.37504 0.37504 +0.38072 0.361787 0.350427 0.371253 0.40344 0.452667 0.506316 0.524632 +0.512632 0.47728 0.45456 0.452667 0.511368 0.589684 0.717895 0.856842 +0.956632 0.989143 0.992408 0.990449 0.991755 0.997959 1.00547 1.01069 +1.01037 1.00678 0.997959 0.992408 0.994041 1.00024 1.00482 1.00612 +1.0058 1.00645 1.00841 1.00939 1.01102 1.01102 1.00514 0.995673 +0.984245 0.971789 0.967368 0.965474 0.960421 0.950947 0.954105 0.973684 +0.993061 1.00547 1.00743 0.978737 0.825263 0.630105 0.504421 0.405333 +0.378827 0.308773 0.223573 0.00088 0.000813333 0.00078 0.000773333 0.000766667 +0.000713333 0.00068 0.00072 0.000733333 0.000766667 0.000733333 0.0007 0.000726667 +0.000713333 0.00068 0.00068 0.00068 0.000713333 0.000706667 0.000693333 0.0007 +0.00072 0.000686667 0.000666667 0.00074 0.00068 0.0007 0.000806667 0.00076 +0.000726667 0.000786667 0.00086 0.000926667 0.231147 0.286053 0.384507 0.501263 +0.542947 0.582737 0.609263 0.621263 0.625684 0.623789 0.619368 0.608632 +0.589684 0.566947 0.539158 0.521474 0.517684 0.524632 0.534105 0.538526 +0.536 0.534737 0.537263 0.552421 0.581474 0.622526 0.666105 0.697053 +0.707789 0.703368 0.685053 0.640211 0.00058 0.000553333 0.000573333 0.00058 +0.00062 0.00068 0.00074 0.000766667 0.000733333 0.00074 0.000766667 0.00076 +0.00074 0.000766667 0.000793333 0.000786667 0.0008 0.00078 0.000766667 0.000786667 +0.000786667 0.00078 0.000793333 0.000793333 0.000786667 0.000793333 0.000786667 0.000766667 +0.000766667 0.000786667 0.000786667 0.00076 0.000753333 0.00074 0.000746667 0.00076 +0.000746667 0.000733333 0.00074 0.000733333 0.000733333 0.000746667 0.00072 0.000706667 +0.000706667 0.000726667 0.000726667 0.00072 0.000713333 0.000693333 0.0007 0.000733333 +0.000733333 0.000746667 0.000726667 0.000713333 0.00072 0.000706667 0.000726667 0.000753333 +0.000753333 0.000753333 0.00074 0.00072 0.000706667 0.000726667 0.000746667 0.00076 +0.000766667 0.000766667 0.000773333 0.000766667 0.000786667 0.000793333 0.00078 0.000766667 +0.000786667 0.000786667 0.000793333 0.000773333 0.000786667 0.000813333 0.00084 0.00086 +0.000853333 0.000833333 0.000886667 0.219787 0.28416 0.36368 0.401547 0.475387 +0.593474 0.774737 0.945263 1.00318 1.00449 0.990122 0.971789 0.958526 +0.953474 0.953474 0.962316 0.973684 0.98 0.984245 0.993061 1.00188 +1.00808 1.01037 1.01135 1.01037 1.00873 1.00841 1.00743 1.0058 +1.00188 0.998612 0.992082 0.985878 0.983265 0.984571 0.986531 0.991755 +0.996653 0.997633 0.993714 0.973053 0.892842 0.766526 0.635158 0.548 +0.508842 0.502526 0.516421 0.530947 0.524632 0.5 0.43184 0.405333 +0.42048 0.435627 0.4148 0.388293 0.411013 0.429947 0.416693 0.405333 +0.38072 0.373147 0.40344 0.505684 0.544211 0.546737 0.525895 0.512632 +0.518947 0.514526 0.469707 0.411013 0.376933 0.37504 0.3864 0.405333 +0.40344 0.371253 0.344747 0.365573 0.376933 0.36936 0.371253 0.384507 +0.445093 0.543579 0.660421 0.760211 0.763368 0.673053 0.566316 0.527789 +0.522737 0.501895 0.43184 0.39208 0.384507 0.376933 0.365573 0.367467 +0.39208 0.405333 0.411013 0.39776 0.371253 0.35232 0.384507 0.401547 +0.390187 0.401547 0.407227 0.384507 0.359893 0.359893 0.37504 0.373147 +0.36936 0.38072 0.407227 0.481067 0.521474 0.543579 0.596632 0.614947 +0.542947 0.42048 0.378827 0.388293 0.395867 0.418587 0.42048 0.405333 +0.395867 0.393973 0.412907 0.496213 0.533474 0.569474 0.595368 0.582737 +0.561895 0.557474 0.597263 0.702105 0.819579 0.892211 0.923158 0.930737 +0.932 0.938316 0.951579 0.964211 0.962316 0.959789 0.961684 0.967368 +0.978737 0.975579 0.974316 0.979368 0.973684 0.982286 1.01559 1.04824 +1.04759 1.04824 1.04694 1.04367 1.04531 1.04302 1.04727 1.06304 +1.19999 1.25933 1.22129 1.31867 1.45105 1.62908 1.86341 1.97905 +1.73255 1.24411 1.02539 1.00253 0.999592 0.999592 1.00286 1.00939 +1.01331 1.01069 1.0058 1.00384 1.0071 1.03812 1.31563 1.74929 +1.91667 1.68842 1.33693 1.17412 1.15738 1.19999 1.23346 1.16956 +1.0813 1.07674 1.05967 1.04073 1.02833 1.03224 1.03453 1.03061 +1.02898 1.0378 1.04433 1.04302 1.02898 1.00514 0.992082 1.00286 +1.01722 1.01265 1.00122 0.991429 0.986531 0.986204 0.987837 0.994041 +1.00188 1.01069 1.02702 1.04237 1.03518 1.01135 0.98849 0.969263 +0.956 0.941474 0.914316 0.858737 0.758316 0.658526 0.598526 0.572632 +0.555579 0.536632 0.532842 0.539789 0.527158 0.504421 0.5 0.498107 +0.44888 0.42048 0.450773 0.445093 0.401547 0.401547 0.4432 0.433733 +0.46024 0.520842 0.522737 0.484853 0.492427 0.481067 0.40344 0.367467 +0.371253 0.378827 0.411013 0.506316 0.533474 0.513895 0.441307 0.39776 +0.401547 0.395867 0.393973 0.416693 0.429947 0.422373 0.412907 0.401547 +0.40344 0.40344 0.373147 0.358 0.36368 0.390187 0.39776 0.399653 +0.38072 0.358 0.367467 0.373147 0.36936 0.373147 0.371253 0.361787 +0.371253 0.3864 0.36368 0.390187 0.456453 0.500632 0.508842 0.510105 +0.486747 0.467813 0.47728 0.521474 0.608 0.736842 0.860632 0.949684 +0.989143 0.997306 0.996 0.994041 0.996327 1.0022 1.00514 1.00449 +0.999918 0.996327 0.995347 0.994694 0.997959 1.00384 1.00547 1.00416 +1.00482 1.00906 1.01037 1.00939 1.00906 1.00514 0.996 0.985551 +0.974947 0.968 0.963579 0.956632 0.951579 0.954737 0.973684 0.990449 +1.00318 1.00547 0.983918 0.849895 0.653474 0.515158 0.424267 0.399653 +0.327707 0.236827 0.000873333 0.0008 0.0008 0.0008 0.000806667 0.0008 +0.00078 0.00078 0.000806667 0.00082 0.000786667 0.000753333 0.00074 0.000733333 +0.000733333 0.000733333 0.000726667 0.000733333 0.00076 0.00074 0.00074 0.00076 +0.0008 0.000753333 0.0007 0.000753333 0.00072 0.000706667 0.000793333 0.000833333 +0.00084 0.00092 0.229253 0.282267 0.37504 0.484853 0.539158 0.577053 +0.598526 0.611789 0.616842 0.616211 0.608632 0.596 0.584 0.566316 +0.542316 0.527789 0.518947 0.518316 0.525263 0.525263 0.522737 0.528421 +0.536632 0.563789 0.608632 0.654737 0.695789 0.724842 0.722947 0.689474 +0.640211 0.587789 0.533474 0.462133 0.000693333 0.000673333 0.0006 0.000573333 +0.000553333 0.00058 0.000606667 0.000633333 0.000713333 0.00076 0.000793333 0.000773333 +0.000806667 0.000833333 0.00082 0.00082 0.00082 0.000806667 0.00082 0.000813333 +0.000786667 0.0008 0.0008 0.000793333 0.000773333 0.000773333 0.00076 0.000733333 +0.000733333 0.000766667 0.000773333 0.000746667 0.00074 0.000753333 0.000766667 0.00078 +0.000773333 0.000766667 0.000773333 0.000766667 0.000753333 0.000746667 0.000733333 0.000726667 +0.000753333 0.000753333 0.000713333 0.000713333 0.000706667 0.000693333 0.000693333 0.000693333 +0.00066 0.00068 0.000666667 0.000646667 0.00066 0.000686667 0.000726667 0.00074 +0.00074 0.000733333 0.00072 0.000726667 0.00072 0.000766667 0.00078 0.000766667 +0.000753333 0.000746667 0.000766667 0.00078 0.00078 0.000746667 0.000733333 0.00074 +0.000766667 0.000773333 0.000793333 0.000786667 0.000793333 0.00082 0.00082 0.000826667 +0.000813333 0.000786667 0.0008 0.000853333 0.00096 0.287947 0.37504 0.42048 +0.508211 0.617474 0.803789 0.963579 1.0022 0.999265 0.985551 0.971158 +0.960421 0.953474 0.955368 0.964842 0.974316 0.98 0.985878 0.996 +1.00482 1.01004 1.01069 1.00971 1.00873 1.00743 1.00678 1.0058 +1.0022 1.00188 0.998286 0.991102 0.985878 0.983918 0.983265 0.986531 +0.993388 0.998612 0.998612 0.993388 0.974316 0.906105 0.794316 0.662316 +0.560632 0.515158 0.512632 0.520842 0.516421 0.496213 0.445093 0.422373 +0.424267 0.4432 0.4432 0.40912 0.40344 0.40344 0.401547 0.390187 +0.384507 0.395867 0.441307 0.496213 0.513263 0.512 0.481067 0.4432 +0.492427 0.508211 0.469707 0.412907 0.371253 0.367467 0.3864 0.407227 +0.416693 0.39208 0.367467 0.378827 0.399653 0.40344 0.401547 0.40912 +0.503789 0.593474 0.700842 0.752632 0.704632 0.589053 0.511368 0.508842 +0.521474 0.512 0.45456 0.393973 0.3864 0.39776 0.411013 0.412907 +0.412907 0.4148 0.39776 0.376933 0.371253 0.354213 0.373147 0.390187 +0.382613 0.3864 0.390187 0.382613 0.365573 0.36368 0.367467 0.376933 +0.384507 0.395867 0.43184 0.505053 0.516421 0.509474 0.562526 0.637053 +0.608 0.515789 0.40344 0.3864 0.407227 0.416693 0.418587 0.42616 +0.42048 0.424267 0.456453 0.512632 0.546105 0.582105 0.609263 0.591579 +0.565053 0.584 0.670526 0.786737 0.868211 0.908 0.92379 0.929474 +0.935158 0.948421 0.959158 0.962316 0.956632 0.952211 0.956632 0.966737 +0.973684 0.969895 0.971789 0.98 0.987837 1.01102 1.04465 1.05216 +1.04106 1.03976 1.03518 1.03159 1.03747 1.04041 1.04629 1.05967 +1.17564 1.25477 1.23346 1.24564 1.25324 1.27455 1.45562 1.81167 +2.07187 1.83602 1.29281 1.03257 1.00678 1.00024 1.00384 1.01167 +1.01331 1.00873 1.00514 1.00971 1.04531 1.40693 1.87863 1.98514 +1.68082 1.31107 1.10869 1.09195 1.16195 1.25781 1.3065 1.23498 +1.12695 1.08435 1.05935 1.04792 1.03584 1.02996 1.02604 1.02506 +1.02473 1.02996 1.0378 1.04498 1.04629 1.03518 1.01298 1.0022 +1.00873 1.01331 1.0058 0.994694 0.987837 0.985878 0.986204 0.989469 +0.996 1.00514 1.02016 1.03616 1.03943 1.03061 1.01298 0.990122 +0.973053 0.963579 0.949053 0.925053 0.868842 0.788 0.714105 0.665474 +0.633895 0.585895 0.545474 0.528421 0.517053 0.507579 0.503158 0.503158 +0.490533 0.46024 0.498107 0.503789 0.462133 0.429947 0.445093 0.422373 +0.416693 0.469707 0.503789 0.509474 0.515789 0.486747 0.411013 0.390187 +0.384507 0.3864 0.40912 0.48296 0.527158 0.537263 0.515789 0.4716 +0.452667 0.42616 0.40344 0.40912 0.407227 0.395867 0.399653 0.401547 +0.395867 0.3864 0.367467 0.361787 0.361787 0.376933 0.388293 0.390187 +0.390187 0.378827 0.376933 0.371253 0.36368 0.359893 0.367467 0.37504 +0.38072 0.39776 0.395867 0.428053 0.5 0.505053 0.498107 0.48296 +0.475387 0.508211 0.551789 0.637684 0.762105 0.869474 0.934526 0.974316 +0.98849 0.992408 0.992735 0.996 0.997306 0.999265 1.00024 0.997306 +0.993714 0.99502 0.997306 0.998939 1.0022 1.00482 1.00253 1.00188 +1.00416 1.00906 1.01069 1.01004 1.00547 0.996327 0.98751 0.978737 +0.966105 0.963579 0.960421 0.950316 0.951579 0.972421 0.991102 1.00318 +1.00841 0.989469 0.876421 0.685053 0.537263 0.450773 0.42048 0.359893 +0.259547 0.000933333 0.00086 0.000793333 0.0008 0.000853333 0.00088 0.00086 +0.0008 0.00078 0.000813333 0.000786667 0.00072 0.000726667 0.000746667 0.00074 +0.000753333 0.000746667 0.000706667 0.000706667 0.00074 0.000713333 0.000673333 0.000693333 +0.00072 0.000706667 0.000653333 0.00068 0.000673333 0.000706667 0.000813333 0.000906667 +0.000993333 0.257653 0.339067 0.44888 0.530947 0.566316 0.593474 0.608 +0.608 0.609895 0.608 0.602316 0.589684 0.572632 0.555579 0.544211 +0.538526 0.532211 0.525895 0.517684 0.508842 0.503158 0.517684 0.566947 +0.625684 0.681895 0.724211 0.733684 0.707789 0.658526 0.594105 0.533474 +0.450773 0.339067 0.287947 0.26144 0.000793333 0.000753333 0.000693333 0.000646667 +0.00062 0.000566667 0.000526667 0.000506667 0.00054 0.0006 0.00062 0.00068 +0.000766667 0.000786667 0.000793333 0.000793333 0.000793333 0.000826667 0.00082 0.0008 +0.000813333 0.000826667 0.0008 0.000793333 0.0008 0.0008 0.00078 0.000753333 +0.000733333 0.000713333 0.000726667 0.000733333 0.000733333 0.000753333 0.00076 0.000746667 +0.000733333 0.000733333 0.000746667 0.00074 0.00072 0.000726667 0.000726667 0.000726667 +0.000746667 0.00072 0.00068 0.000693333 0.000713333 0.000706667 0.000713333 0.000686667 +0.00064 0.00066 0.000633333 0.000613333 0.000633333 0.00068 0.000693333 0.00066 +0.000666667 0.000693333 0.000713333 0.00072 0.000706667 0.00072 0.00072 0.000706667 +0.000726667 0.000733333 0.000753333 0.000746667 0.000733333 0.00072 0.000746667 0.000773333 +0.000786667 0.000806667 0.00082 0.0008 0.0008 0.000813333 0.00078 0.000773333 +0.000766667 0.000766667 0.0008 0.00084 0.00086 0.216 0.31256 0.399653 +0.446987 0.520842 0.647789 0.837895 0.978737 1.00253 0.997306 0.985551 +0.972421 0.959789 0.956632 0.959158 0.965474 0.975579 0.981959 0.988163 +0.997959 1.0058 1.00841 1.00873 1.01037 1.00906 1.0058 1.00482 +1.00384 1.00155 1.00286 0.999265 0.990776 0.984571 0.982286 0.982939 +0.988163 0.995673 0.998612 0.997959 0.994041 0.983265 0.932 0.815789 +0.673053 0.568842 0.521474 0.511368 0.513263 0.508211 0.490533 0.44888 +0.424267 0.433733 0.445093 0.43752 0.416693 0.399653 0.39776 0.401547 +0.411013 0.45456 0.503158 0.504421 0.464027 0.416693 0.38072 0.37504 +0.452667 0.503158 0.458347 0.407227 0.38072 0.371253 0.373147 0.388293 +0.407227 0.39208 0.37504 0.388293 0.40344 0.412907 0.422373 0.446987 +0.532211 0.620632 0.689474 0.695789 0.622526 0.520842 0.43752 0.473493 +0.505684 0.505684 0.475387 0.435627 0.429947 0.44888 0.441307 0.40912 +0.378827 0.376933 0.376933 0.37504 0.373147 0.367467 0.367467 0.373147 +0.371253 0.373147 0.37504 0.373147 0.367467 0.37504 0.378827 0.378827 +0.384507 0.39776 0.48296 0.522105 0.506316 0.44888 0.520842 0.623789 +0.663579 0.590316 0.509474 0.4432 0.446987 0.4432 0.446987 0.462133 +0.45456 0.462133 0.500632 0.523368 0.546105 0.573263 0.599158 0.582105 +0.578947 0.647789 0.762737 0.856842 0.902947 0.922526 0.927579 0.931368 +0.942737 0.955368 0.957895 0.956632 0.951579 0.949684 0.958526 0.966737 +0.971789 0.973684 0.974316 0.98751 1.01298 1.04139 1.04955 1.03845 +1.03682 1.03486 1.02441 1.02408 1.03453 1.03878 1.04335 1.06152 +1.16043 1.25629 1.29281 1.30498 1.29433 1.25629 1.25629 1.4191 +1.8345 2.13578 1.92123 1.4541 1.08587 1.01984 1.0058 1.00971 +1.00971 1.01102 1.028 1.12239 1.4967 1.92427 2.10839 1.91514 +1.56822 1.33845 1.24107 1.22738 1.2852 1.39475 1.40693 1.31715 +1.24716 1.17716 1.11478 1.06761 1.04759 1.03322 1.02473 1.02343 +1.02506 1.02931 1.03551 1.03943 1.04367 1.04563 1.03812 1.02473 +1.01624 1.0169 1.01331 1.00416 0.993061 0.985551 0.982612 0.985878 +0.990122 1.00024 1.01853 1.03192 1.0329 1.0342 1.03453 1.02082 +0.999592 0.981633 0.961053 0.952842 0.938316 0.903579 0.851789 0.798105 +0.741895 0.668 0.597263 0.554316 0.529684 0.524 0.522105 0.518316 +0.522105 0.515789 0.516421 0.518316 0.508842 0.486747 0.46592 0.42616 +0.390187 0.401547 0.46024 0.514526 0.521474 0.49432 0.433733 0.399653 +0.384507 0.382613 0.382613 0.407227 0.48864 0.534737 0.558737 0.559368 +0.529684 0.450773 0.38072 0.36368 0.361787 0.3864 0.42048 0.428053 +0.407227 0.388293 0.378827 0.367467 0.367467 0.373147 0.39208 0.407227 +0.422373 0.422373 0.401547 0.38072 0.371253 0.367467 0.384507 0.407227 +0.405333 0.422373 0.441307 0.48296 0.505684 0.49432 0.4716 0.47728 +0.523368 0.587789 0.682526 0.794947 0.887158 0.935789 0.956632 0.975579 +0.985551 0.991429 0.995673 0.999918 0.997959 0.994694 0.99502 0.992735 +0.994367 0.997959 0.999918 1.00384 1.00351 1.0022 1.00351 1.00776 +1.00939 1.01102 1.012 1.00906 0.998612 0.985878 0.976842 0.968632 +0.960421 0.959158 0.954105 0.952211 0.967368 0.989469 1.00514 1.012 +0.997306 0.895368 0.709684 0.551158 0.464027 0.422373 0.356107 0.270907 +0.00096 0.000886667 0.0009 0.000833333 0.000793333 0.000813333 0.000846667 0.00084 +0.00076 0.00072 0.00078 0.000773333 0.0007 0.000693333 0.000713333 0.000693333 +0.000666667 0.000653333 0.000626667 0.000626667 0.00068 0.000666667 0.000646667 0.000666667 +0.0007 0.000733333 0.000706667 0.00074 0.00078 0.00084 0.000933333 0.231147 +0.304987 0.422373 0.520211 0.555579 0.587158 0.601684 0.606737 0.609895 +0.606737 0.605474 0.603579 0.590316 0.573263 0.561895 0.551158 0.539158 +0.530316 0.519579 0.502526 0.46592 0.47728 0.524632 0.596632 0.685684 +0.734947 0.729895 0.690105 0.626947 0.551789 0.481067 0.358 0.28416 +0.246293 0.251973 0.251973 0.234933 0.00078 0.000753333 0.000746667 0.00076 +0.000746667 0.00072 0.00064 0.000613333 0.00058 0.000533333 0.000533333 0.00056 +0.00062 0.00066 0.00074 0.000786667 0.000793333 0.000833333 0.000833333 0.00082 +0.000833333 0.000826667 0.000806667 0.000833333 0.00084 0.000813333 0.000786667 0.000773333 +0.00076 0.00074 0.000766667 0.00078 0.000793333 0.0008 0.000793333 0.00076 +0.000753333 0.000773333 0.00078 0.00078 0.000766667 0.000773333 0.00078 0.00076 +0.000746667 0.000726667 0.000686667 0.000693333 0.00072 0.000713333 0.000706667 0.000673333 +0.000633333 0.000666667 0.00066 0.000653333 0.00066 0.000673333 0.000686667 0.000673333 +0.000686667 0.000693333 0.0007 0.000693333 0.000706667 0.00072 0.00074 0.000733333 +0.000726667 0.00072 0.000726667 0.0007 0.0007 0.000733333 0.000766667 0.000786667 +0.000806667 0.000793333 0.0008 0.00078 0.000773333 0.000773333 0.000746667 0.000733333 +0.00074 0.00074 0.000773333 0.000826667 0.000846667 0.00088 0.231147 0.32392 +0.40912 0.458347 0.538526 0.68 0.867579 0.986531 1.00384 0.99698 +0.984571 0.970526 0.960421 0.958526 0.959789 0.966737 0.977474 0.982286 +0.987184 0.995347 1.00318 1.00678 1.00743 1.00808 1.0058 1.00384 +1.00384 1.00188 0.999592 1.0022 0.997959 0.990122 0.983265 0.979368 +0.982612 0.992735 0.998612 0.998612 0.997306 0.99502 0.985224 0.935158 +0.825263 0.686947 0.575789 0.523368 0.515789 0.518316 0.513895 0.501895 +0.481067 0.486747 0.492427 0.48864 0.475387 0.456453 0.43752 0.450773 +0.500632 0.512632 0.510737 0.479173 0.40912 0.37504 0.36368 0.371253 +0.44888 0.507579 0.484853 0.42616 0.40344 0.382613 0.37504 0.3864 +0.39208 0.382613 0.367467 0.376933 0.384507 0.39208 0.39776 0.44888 +0.539789 0.609263 0.637053 0.611789 0.548 0.467813 0.411013 0.452667 +0.481067 0.475387 0.462133 0.456453 0.475387 0.47728 0.429947 0.399653 +0.376933 0.36936 0.371253 0.38072 0.382613 0.36936 0.373147 0.378827 +0.37504 0.371253 0.367467 0.36368 0.361787 0.384507 0.39776 0.39208 +0.393973 0.43752 0.513895 0.527158 0.500632 0.42616 0.46592 0.573263 +0.662316 0.654105 0.584632 0.529053 0.500632 0.445093 0.428053 0.446987 +0.464027 0.486747 0.505684 0.526526 0.543579 0.565684 0.600421 0.617474 +0.662947 0.755789 0.846105 0.900421 0.922526 0.931368 0.932632 0.935789 +0.950947 0.956 0.952211 0.950947 0.947789 0.949053 0.957895 0.963579 +0.966105 0.979368 0.991755 1.01429 1.04041 1.04727 1.03714 1.02898 +1.03388 1.02571 1.01363 1.01951 1.03159 1.03812 1.04661 1.09043 +1.1939 1.28368 1.35215 1.37193 1.37497 1.39932 1.41149 1.41301 +1.60321 2.02013 2.26055 2.1373 1.78124 1.37345 1.06 1.03192 +1.0329 1.1026 1.43127 1.80407 2.0673 2.12969 1.99122 1.81624 +1.68538 1.60626 1.54235 1.48757 1.4617 1.52257 1.51953 1.43127 +1.3978 1.3278 1.23955 1.15586 1.05804 1.0391 1.02865 1.02669 +1.02996 1.03257 1.03682 1.04204 1.04335 1.04237 1.03943 1.03747 +1.03224 1.02931 1.02571 1.02082 1.00808 0.993061 0.98751 0.986204 +0.989469 0.995673 1.01429 1.028 1.02996 1.03061 1.03616 1.04073 +1.02865 1.00547 0.985551 0.971158 0.959158 0.947789 0.930105 0.895368 +0.837895 0.762737 0.686947 0.625053 0.573263 0.552421 0.553053 0.549263 +0.550526 0.534105 0.519579 0.520842 0.524632 0.518947 0.501263 0.44888 +0.4148 0.416693 0.484853 0.526526 0.517684 0.46592 0.433733 0.411013 +0.393973 0.393973 0.384507 0.378827 0.416693 0.508842 0.570737 0.621895 +0.584632 0.496213 0.395867 0.384507 0.388293 0.435627 0.475387 0.45456 +0.416693 0.407227 0.390187 0.37504 0.365573 0.361787 0.376933 0.393973 +0.412907 0.441307 0.4432 0.418587 0.399653 0.38072 0.3864 0.42048 +0.441307 0.458347 0.469707 0.486747 0.49432 0.46592 0.486747 0.531579 +0.611789 0.725474 0.829053 0.902316 0.942105 0.959158 0.968632 0.982286 +0.990122 0.994694 0.996 0.998612 0.99698 0.993061 0.993714 0.994041 +0.996653 0.999918 1.00286 1.00612 1.00416 1.00122 1.00482 1.01037 +1.01004 1.00939 1.00776 1.00057 0.988163 0.972421 0.964842 0.961684 +0.959158 0.958526 0.955368 0.970526 0.988816 1.0022 1.01069 1.00057 +0.913053 0.721684 0.555579 0.441307 0.401547 0.356107 0.26712 0.000953333 +0.000846667 0.00082 0.000826667 0.000773333 0.000713333 0.000666667 0.000693333 0.000733333 +0.000726667 0.000686667 0.0007 0.000693333 0.000666667 0.000613333 0.0006 0.000593333 +0.000593333 0.000593333 0.000613333 0.000653333 0.000686667 0.0007 0.000706667 0.000733333 +0.00078 0.000833333 0.000806667 0.00084 0.00088 0.000966667 0.2728 0.373147 +0.501263 0.549895 0.586526 0.603579 0.607368 0.608632 0.611158 0.614947 +0.611158 0.606737 0.601053 0.587158 0.564421 0.546737 0.529684 0.510737 +0.486747 0.4716 0.49432 0.527789 0.585895 0.651579 0.705263 0.716 +0.670526 0.597263 0.523368 0.416693 0.320133 0.269013 0.251973 0.242507 +0.23304 0.229253 0.229253 0.234933 0.000773333 0.00076 0.000753333 0.000733333 +0.000726667 0.000726667 0.000733333 0.000726667 0.000713333 0.00064 0.000586667 0.000546667 +0.000506667 0.000546667 0.000593333 0.00064 0.000706667 0.000766667 0.000813333 0.000813333 +0.000833333 0.000833333 0.000826667 0.000846667 0.00084 0.0008 0.000773333 0.00076 +0.00074 0.00074 0.00078 0.000793333 0.000793333 0.000773333 0.000753333 0.000733333 +0.00074 0.00076 0.000766667 0.00076 0.000766667 0.000773333 0.00076 0.000733333 +0.000726667 0.000733333 0.00074 0.00076 0.000773333 0.00074 0.00072 0.000686667 +0.000686667 0.000713333 0.000686667 0.000673333 0.00068 0.0007 0.0007 0.000686667 +0.000686667 0.000686667 0.0007 0.000686667 0.00066 0.00068 0.000686667 0.000673333 +0.00068 0.000686667 0.000726667 0.000753333 0.000793333 0.000786667 0.000786667 0.000786667 +0.000773333 0.000746667 0.000773333 0.00078 0.00076 0.000773333 0.00078 0.000766667 +0.000786667 0.000793333 0.000786667 0.000813333 0.000826667 0.00082 0.00088 0.236827 +0.33528 0.412907 0.462133 0.554947 0.709684 0.895368 0.993061 1.00547 +0.996327 0.984245 0.970526 0.959789 0.957895 0.958526 0.966105 0.975579 +0.98098 0.986857 0.996327 1.00416 1.00743 1.00906 1.00776 1.00547 +1.00514 1.00416 1.0022 1.0022 1.00482 1.00188 0.991755 0.981306 +0.977474 0.986204 0.994041 0.997959 0.999592 0.997633 0.994041 0.987184 +0.949684 0.846105 0.708421 0.596 0.540421 0.523368 0.518947 0.518316 +0.517053 0.518947 0.512 0.501263 0.5 0.492427 0.490533 0.513263 +0.536632 0.525263 0.47728 0.407227 0.373147 0.37504 0.388293 0.393973 +0.452667 0.513263 0.503789 0.43752 0.40912 0.393973 0.39208 0.395867 +0.382613 0.36936 0.359893 0.359893 0.371253 0.38072 0.40344 0.45456 +0.525895 0.568211 0.569474 0.530316 0.481067 0.433733 0.42048 0.45456 +0.475387 0.46024 0.433733 0.422373 0.446987 0.45456 0.433733 0.42048 +0.416693 0.405333 0.39208 0.384507 0.39208 0.376933 0.36936 0.367467 +0.371253 0.376933 0.371253 0.37504 0.378827 0.393973 0.428053 0.435627 +0.462133 0.515158 0.537263 0.525895 0.501895 0.45456 0.433733 0.522105 +0.606105 0.646526 0.616211 0.549895 0.486747 0.412907 0.399653 0.429947 +0.47728 0.492427 0.5 0.518316 0.545474 0.573895 0.623158 0.695158 +0.778526 0.849263 0.895368 0.92 0.934526 0.938947 0.938316 0.947158 +0.959158 0.955368 0.947789 0.943368 0.941474 0.952842 0.962316 0.964842 +0.978737 0.998612 1.02343 1.04269 1.04922 1.03845 1.02637 1.02571 +1.02996 1.01886 1.01102 1.02082 1.0329 1.04596 1.06304 1.16956 +1.28672 1.3628 1.44497 1.47996 1.47236 1.49214 1.54691 1.60169 +1.67473 1.88775 2.1799 2.33815 2.27424 2.00035 1.60474 1.30194 +1.28976 1.63973 2.06426 2.30924 2.31533 2.1723 1.99883 1.90145 +1.83146 1.75537 1.6869 1.623 1.58495 1.623 1.63365 1.56822 +1.53474 1.44649 1.32324 1.21673 1.09804 1.04661 1.03322 1.02865 +1.03192 1.03616 1.03845 1.04237 1.04237 1.0391 1.03714 1.03878 +1.03943 1.03943 1.03747 1.0342 1.02441 1.00841 0.998612 0.991755 +0.991102 0.996653 1.00808 1.02016 1.02245 1.02408 1.028 1.03714 +1.04367 1.03682 1.01984 1.00122 0.982939 0.968 0.960421 0.940211 +0.896632 0.842316 0.789895 0.734316 0.667368 0.614947 0.592842 0.585263 +0.583368 0.560632 0.537263 0.530316 0.532842 0.536632 0.522105 0.501895 +0.469707 0.467813 0.515158 0.542947 0.517053 0.43752 0.422373 0.422373 +0.407227 0.411013 0.42616 0.416693 0.407227 0.45456 0.539789 0.600421 +0.584 0.513263 0.441307 0.43752 0.46592 0.498107 0.49432 0.458347 +0.428053 0.401547 0.388293 0.378827 0.358 0.354213 0.37504 0.393973 +0.411013 0.46024 0.492427 0.47728 0.46592 0.464027 0.464027 0.492427 +0.506316 0.506316 0.503789 0.48864 0.486747 0.508842 0.558105 0.649684 +0.760842 0.859368 0.920632 0.949053 0.966737 0.98 0.983592 0.990449 +0.996653 0.998939 0.998286 0.997633 0.997633 0.99698 0.997633 0.996653 +0.997959 1.00188 1.00547 1.00514 1.00286 1.00286 1.0071 1.01037 +1.00971 1.00612 0.999265 0.990449 0.980653 0.967368 0.964211 0.957263 +0.953474 0.953474 0.961053 0.984245 0.997633 1.00482 0.99698 0.923158 +0.741263 0.560632 0.42616 0.36936 0.3296 0.257653 0.000926667 0.00082 +0.00074 0.00072 0.000726667 0.00072 0.000713333 0.000686667 0.000673333 0.000706667 +0.000733333 0.000726667 0.0007 0.000666667 0.000666667 0.000673333 0.000666667 0.000653333 +0.00068 0.00068 0.0007 0.000753333 0.000793333 0.0008 0.000806667 0.0008 +0.000813333 0.000846667 0.00086 0.000926667 0.25576 0.354213 0.492427 0.545474 +0.580211 0.603579 0.620632 0.625053 0.622526 0.615579 0.613684 0.618737 +0.615579 0.602316 0.583368 0.559368 0.530316 0.503789 0.4432 0.424267 +0.469707 0.530947 0.597895 0.661684 0.698316 0.688211 0.635158 0.563789 +0.490533 0.354213 0.257653 0.229253 0.22736 0.217893 0.000973333 0.217893 +0.000993333 0.000973333 0.00098 0.00098 0.000786667 0.000766667 0.00074 0.000726667 +0.000713333 0.00072 0.00074 0.000766667 0.000726667 0.000693333 0.000673333 0.000653333 +0.000606667 0.000573333 0.00056 0.00054 0.000533333 0.00058 0.00062 0.000686667 +0.000786667 0.000813333 0.000833333 0.000853333 0.00084 0.000806667 0.000773333 0.00078 +0.00078 0.00078 0.0008 0.000793333 0.000786667 0.000766667 0.00076 0.000766667 +0.000766667 0.00078 0.00076 0.00076 0.00078 0.000746667 0.0007 0.000686667 +0.0007 0.000733333 0.00076 0.000766667 0.000746667 0.000726667 0.00074 0.000713333 +0.00072 0.000726667 0.000673333 0.000666667 0.00068 0.000706667 0.000713333 0.000726667 +0.000753333 0.00076 0.00076 0.000713333 0.00066 0.000673333 0.00068 0.00068 +0.000706667 0.00072 0.00076 0.000786667 0.000793333 0.000766667 0.000753333 0.000753333 +0.000746667 0.000726667 0.000753333 0.00076 0.00074 0.00078 0.000793333 0.00078 +0.000793333 0.000826667 0.00082 0.000833333 0.000833333 0.000853333 0.000873333 0.000926667 +0.25008 0.348533 0.4148 0.5 0.580211 0.743789 0.921263 0.998286 +1.00547 0.995673 0.983918 0.966737 0.959789 0.960421 0.959789 0.968632 +0.977474 0.982612 0.98751 0.99502 1.00286 1.00645 1.00743 1.00678 +1.00645 1.00743 1.00612 1.00416 1.00547 1.00514 1.00188 0.991755 +0.980327 0.975579 0.983592 0.991429 0.99698 0.997633 0.996653 0.995347 +0.989469 0.957895 0.865053 0.736211 0.62 0.548632 0.520211 0.513895 +0.512 0.512632 0.501895 0.45456 0.4432 0.441307 0.47728 0.524 +0.546737 0.521474 0.446987 0.388293 0.371253 0.376933 0.401547 0.405333 +0.445093 0.511368 0.505684 0.42616 0.393973 0.395867 0.405333 0.399653 +0.388293 0.38072 0.37504 0.390187 0.401547 0.39776 0.407227 0.44888 +0.505684 0.520211 0.509474 0.446987 0.411013 0.411013 0.39208 0.411013 +0.4432 0.450773 0.429947 0.393973 0.401547 0.428053 0.43184 0.435627 +0.43752 0.44888 0.43752 0.40344 0.39776 0.38072 0.359893 0.356107 +0.371253 0.371253 0.361787 0.36936 0.36368 0.376933 0.424267 0.48296 +0.520842 0.541053 0.537895 0.513263 0.479173 0.441307 0.411013 0.467813 +0.546737 0.586526 0.589053 0.551158 0.496213 0.424267 0.42616 0.452667 +0.467813 0.481067 0.504421 0.530947 0.566947 0.605474 0.679368 0.786737 +0.868211 0.902947 0.920632 0.931368 0.944 0.950316 0.953474 0.961684 +0.960421 0.951579 0.944 0.943368 0.947789 0.960421 0.969263 0.980327 +1.00188 1.03355 1.04759 1.04629 1.04106 1.03159 1.0218 1.01788 +1.02049 1.01429 1.01265 1.02114 1.03453 1.05216 1.12999 1.28215 +1.43736 1.51344 1.58648 1.60321 1.56365 1.52561 1.57278 1.71125 +1.85124 1.97296 2.11143 2.18751 2.19512 2.1023 1.8558 1.55757 +1.53931 1.91362 2.25598 2.37619 2.32141 2.19664 2.10991 2.07187 +1.94101 1.7006 1.56061 1.52866 1.54083 1.588 1.623 1.62756 +1.64278 1.57887 1.40845 1.25477 1.12695 1.0502 1.03747 1.03322 +1.03388 1.03812 1.03943 1.04237 1.04139 1.03845 1.03584 1.03812 +1.03976 1.04269 1.044 1.04465 1.03845 1.02343 1.01102 1.00253 +0.997306 0.998286 1.00645 1.01429 1.01167 1.01331 1.01886 1.02637 +1.03682 1.04237 1.04204 1.03453 1.01494 0.996327 0.983265 0.964211 +0.940211 0.915579 0.891579 0.854316 0.790526 0.714105 0.652842 0.634526 +0.632 0.605474 0.570105 0.546737 0.540421 0.545474 0.544211 0.534737 +0.518316 0.508211 0.520842 0.536632 0.510105 0.429947 0.418587 0.44888 +0.469707 0.484853 0.48864 0.479173 0.46024 0.446987 0.505684 0.548632 +0.568211 0.553053 0.531579 0.523368 0.520211 0.504421 0.46024 0.42616 +0.40912 0.395867 0.393973 0.395867 0.39776 0.40912 0.42048 0.433733 +0.452667 0.502526 0.514526 0.508842 0.512632 0.524 0.524632 0.522105 +0.522105 0.518947 0.510737 0.507579 0.532842 0.602947 0.704632 0.809474 +0.888421 0.931368 0.954105 0.972421 0.984898 0.991755 0.996 0.999265 +1.0022 1.00351 1.00286 0.999265 0.999265 1.00024 0.999265 1.0009 +1.00286 1.00253 1.00416 1.0022 1.00188 1.00547 1.00971 1.01037 +1.0071 0.999918 0.986204 0.971789 0.958526 0.954105 0.951579 0.944 +0.947158 0.961053 0.981959 0.994367 1.00253 0.99698 0.926947 0.758947 +0.580211 0.445093 0.38072 0.342853 0.263333 0.00092 0.000826667 0.000793333 +0.000746667 0.00074 0.000726667 0.000733333 0.000753333 0.000746667 0.000733333 0.00072 +0.000733333 0.00074 0.00072 0.000713333 0.00068 0.000693333 0.0007 0.000693333 +0.0007 0.000706667 0.00072 0.000773333 0.0008 0.0008 0.00078 0.00078 +0.000806667 0.000853333 0.217893 0.316347 0.469707 0.537895 0.575789 0.602316 +0.613053 0.618105 0.621263 0.619368 0.615579 0.612421 0.608 0.603579 +0.593474 0.577053 0.556842 0.530316 0.506947 0.46592 0.473493 0.536 +0.604842 0.668632 0.695789 0.674947 0.614947 0.540421 0.435627 0.304987 +0.242507 0.22736 0.000973333 0.00096 0.000993333 0.000986667 0.217893 0.219787 +0.216 0.000993333 0.000973333 0.00096 0.000786667 0.00078 0.000786667 0.00078 +0.000766667 0.000773333 0.000793333 0.000786667 0.000753333 0.000726667 0.000733333 0.00074 +0.000746667 0.000726667 0.000693333 0.00064 0.00058 0.000533333 0.000506667 0.00054 +0.000606667 0.000653333 0.000733333 0.000786667 0.000813333 0.000793333 0.000793333 0.0008 +0.000813333 0.000793333 0.000793333 0.000806667 0.0008 0.000806667 0.0008 0.000786667 +0.000793333 0.000793333 0.000786667 0.000793333 0.0008 0.000733333 0.000693333 0.00072 +0.00076 0.00078 0.000753333 0.00074 0.0007 0.0007 0.000733333 0.000706667 +0.000713333 0.000706667 0.000673333 0.000666667 0.000686667 0.00072 0.000753333 0.000746667 +0.000726667 0.0007 0.000693333 0.000693333 0.000706667 0.00076 0.000773333 0.000766667 +0.000773333 0.000753333 0.000746667 0.000753333 0.000726667 0.0007 0.000713333 0.000726667 +0.00074 0.000733333 0.000766667 0.000773333 0.000746667 0.00076 0.00076 0.00076 +0.000786667 0.0008 0.000793333 0.000806667 0.00082 0.00082 0.000826667 0.000833333 +0.0009 0.25576 0.35232 0.428053 0.505684 0.593474 0.765263 0.936421 +1.0009 1.00482 0.996327 0.984245 0.972421 0.966105 0.959158 0.961684 +0.969895 0.976842 0.980653 0.984571 0.992408 0.999918 1.00384 1.00482 +1.00612 1.00841 1.00808 1.00612 1.00612 1.00612 1.00808 1.00253 +0.989143 0.974947 0.972421 0.980653 0.987837 0.995673 0.998286 0.99698 +0.994367 0.989469 0.967368 0.885263 0.760211 0.634526 0.550526 0.517684 +0.514526 0.513263 0.501895 0.46024 0.43752 0.43752 0.47728 0.519579 +0.525895 0.508211 0.469707 0.428053 0.40344 0.399653 0.412907 0.407227 +0.43752 0.511368 0.515158 0.469707 0.418587 0.40912 0.42048 0.4148 +0.3864 0.39208 0.395867 0.40344 0.424267 0.422373 0.424267 0.445093 +0.458347 0.45456 0.422373 0.39208 0.401547 0.422373 0.40912 0.40912 +0.428053 0.43752 0.428053 0.401547 0.405333 0.422373 0.405333 0.39776 +0.405333 0.418587 0.411013 0.3864 0.37504 0.373147 0.367467 0.373147 +0.390187 0.384507 0.36368 0.361787 0.359893 0.373147 0.428053 0.515789 +0.546105 0.532842 0.511368 0.479173 0.433733 0.399653 0.37504 0.412907 +0.508842 0.529053 0.541684 0.549895 0.530316 0.496213 0.479173 0.48296 +0.484853 0.509474 0.533474 0.570737 0.614316 0.678105 0.776632 0.866947 +0.910526 0.925684 0.934526 0.941474 0.956 0.961684 0.968632 0.965474 +0.951579 0.945263 0.949053 0.954737 0.964842 0.976211 0.984245 0.996653 +1.02637 1.05282 1.05216 1.04433 1.03845 1.03094 1.02245 1.01657 +1.01592 1.01233 1.01363 1.02278 1.04008 1.06913 1.2152 1.42214 +1.58039 1.62756 1.63212 1.59561 1.52409 1.4967 1.54083 1.68842 +1.91362 2.0597 2.10991 2.08404 2.04144 1.97601 1.83754 1.6306 +1.5743 1.80711 2.02926 2.13273 2.1373 2.081 2.04752 1.99883 +1.7782 1.44649 1.27607 1.24411 1.24259 1.26694 1.32476 1.3978 +1.52257 1.61995 1.52866 1.33693 1.16043 1.0538 1.04073 1.03747 +1.03322 1.03486 1.03682 1.03845 1.03878 1.04073 1.04237 1.04367 +1.044 1.04531 1.04727 1.04955 1.04531 1.03257 1.0218 1.01559 +1.00449 0.996653 1.00416 1.00939 1.00514 1.00449 1.01298 1.01951 +1.02571 1.03192 1.03943 1.044 1.04106 1.03159 1.01624 0.998286 +0.984571 0.968 0.951579 0.935158 0.900421 0.841684 0.770316 0.726737 +0.700211 0.662947 0.623789 0.588421 0.566947 0.565053 0.568211 0.570105 +0.551789 0.532842 0.531579 0.536 0.518947 0.481067 0.452667 0.486747 +0.513895 0.518947 0.510105 0.506316 0.503789 0.490533 0.500632 0.519579 +0.546105 0.565684 0.562526 0.548 0.523368 0.473493 0.428053 0.429947 +0.428053 0.424267 0.422373 0.42048 0.4432 0.469707 0.479173 0.501895 +0.513895 0.535368 0.554947 0.550526 0.548 0.548 0.537895 0.524632 +0.520211 0.518316 0.533474 0.579579 0.662316 0.769053 0.858105 0.907368 +0.937684 0.957895 0.974316 0.987184 0.995347 1.00024 1.00188 1.00253 +1.00286 1.00351 1.00122 0.999265 0.997633 0.995347 0.996 1.0009 +1.00318 1.00057 1.00057 1.00024 1.00188 1.00514 1.00678 1.00351 +0.995673 0.984898 0.969263 0.957895 0.951579 0.950316 0.947158 0.945263 +0.960421 0.984245 0.996653 1.00351 0.999592 0.942105 0.772842 0.590947 +0.467813 0.38072 0.34664 0.265227 0.000893333 0.000773333 0.000753333 0.000733333 +0.0007 0.000733333 0.000693333 0.000693333 0.0007 0.00074 0.000726667 0.000686667 +0.0007 0.00068 0.000693333 0.00068 0.000666667 0.000673333 0.0007 0.0007 +0.000733333 0.000733333 0.000746667 0.000773333 0.000793333 0.00078 0.00076 0.000793333 +0.00096 0.28984 0.40912 0.520211 0.570105 0.599158 0.610526 0.617474 +0.616842 0.613053 0.611158 0.609263 0.608 0.607368 0.599158 0.588421 +0.579579 0.579579 0.575789 0.567579 0.570105 0.592211 0.630105 0.676211 +0.696421 0.664842 0.596 0.517684 0.378827 0.287947 0.242507 0.217893 +0.000986667 0.219787 0.217893 0.00098 0.00098 0.216 0.000993333 0.000986667 +0.217893 0.000973333 0.00094 0.000933333 0.000766667 0.00078 0.000773333 0.000766667 +0.000746667 0.000786667 0.00078 0.000766667 0.00078 0.00076 0.000746667 0.000773333 +0.00078 0.000786667 0.000766667 0.000766667 0.000746667 0.00068 0.00062 0.000586667 +0.00054 0.000526667 0.000586667 0.000646667 0.000706667 0.00074 0.000773333 0.000793333 +0.0008 0.000793333 0.000786667 0.000786667 0.0008 0.000813333 0.0008 0.00078 +0.000793333 0.000793333 0.000793333 0.000786667 0.000793333 0.00074 0.000746667 0.00078 +0.000793333 0.000773333 0.000746667 0.00074 0.00072 0.000733333 0.000746667 0.0007 +0.00068 0.000693333 0.0007 0.00072 0.000733333 0.00076 0.000746667 0.000713333 +0.0007 0.000693333 0.0007 0.000706667 0.000726667 0.000773333 0.000753333 0.000726667 +0.000726667 0.0007 0.000706667 0.00072 0.000706667 0.00068 0.0007 0.00072 +0.000726667 0.000733333 0.000766667 0.000773333 0.00076 0.000773333 0.00078 0.000786667 +0.000813333 0.000793333 0.000786667 0.000826667 0.00084 0.00084 0.000826667 0.000846667 +0.00086 0.00096 0.270907 0.350427 0.42048 0.505053 0.602316 0.781684 +0.948421 1.00024 1.00286 0.994367 0.983265 0.968632 0.960421 0.959789 +0.961053 0.965474 0.972421 0.979368 0.984898 0.993714 1.00057 1.00482 +1.00645 1.00743 1.0071 1.0058 1.0058 1.00612 1.00743 1.0071 +0.999265 0.986531 0.972421 0.964211 0.972421 0.986857 0.994694 0.997306 +0.996653 0.995673 0.993388 0.975579 0.900421 0.778526 0.645895 0.558737 +0.529053 0.522737 0.517053 0.512632 0.504421 0.49432 0.506947 0.517684 +0.505684 0.473493 0.47728 0.4716 0.446987 0.433733 0.424267 0.407227 +0.446987 0.519579 0.539789 0.525895 0.501895 0.4716 0.469707 0.462133 +0.418587 0.395867 0.3864 0.382613 0.393973 0.411013 0.45456 0.479173 +0.435627 0.411013 0.40912 0.40344 0.405333 0.42616 0.439413 0.446987 +0.4432 0.429947 0.418587 0.401547 0.401547 0.422373 0.399653 0.38072 +0.3864 0.384507 0.38072 0.367467 0.361787 0.37504 0.393973 0.38072 +0.384507 0.39776 0.39208 0.378827 0.37504 0.416693 0.5 0.541684 +0.547368 0.506316 0.458347 0.43752 0.40912 0.384507 0.378827 0.424267 +0.490533 0.498107 0.501263 0.526526 0.544211 0.527158 0.514526 0.513895 +0.524 0.542316 0.565684 0.609895 0.686947 0.786105 0.873895 0.917474 +0.932 0.938316 0.944 0.954105 0.966105 0.959789 0.962316 0.961684 +0.958526 0.957263 0.962947 0.972421 0.980653 0.988163 0.997633 1.01559 +1.04335 1.05869 1.05412 1.0489 1.04041 1.02833 1.01918 1.01788 +1.01886 1.01559 1.01722 1.02702 1.04988 1.16651 1.35367 1.49518 +1.47083 1.35063 1.26085 1.19694 1.15434 1.19847 1.29737 1.4541 +1.73559 1.92884 1.98514 1.97449 1.94101 1.89232 1.81776 1.66864 +1.54844 1.62147 1.70516 1.74472 1.78733 1.81015 1.77363 1.61691 +1.33085 1.05706 1.03192 1.02539 1.02669 1.03029 1.03943 1.0502 +1.1376 1.35215 1.47692 1.4191 1.25324 1.09804 1.04759 1.04041 +1.03322 1.03224 1.03584 1.03682 1.03518 1.0391 1.04335 1.04269 +1.044 1.04922 1.0538 1.05706 1.05347 1.04106 1.02898 1.02343 +1.01265 1.0022 1.00645 1.01167 1.00873 1.01069 1.01461 1.01527 +1.01984 1.02441 1.02996 1.03616 1.04302 1.04694 1.04661 1.03878 +1.02441 1.00645 0.98849 0.978737 0.964211 0.942105 0.900421 0.854316 +0.808842 0.753895 0.702105 0.652842 0.614947 0.602316 0.600421 0.600421 +0.584632 0.566947 0.565684 0.568842 0.565053 0.542316 0.515158 0.512632 +0.531579 0.534737 0.515158 0.505684 0.503158 0.5 0.498107 0.506316 +0.523368 0.556842 0.567579 0.550526 0.530947 0.513263 0.501263 0.47728 +0.46024 0.446987 0.441307 0.44888 0.469707 0.5 0.511368 0.525895 +0.531579 0.540421 0.555579 0.554947 0.548 0.537895 0.520211 0.514526 +0.529684 0.566316 0.640211 0.739368 0.835368 0.905474 0.937053 0.945895 +0.962316 0.982286 0.989796 0.994367 0.999265 1.00155 1.00024 0.998612 +0.997306 0.996 0.993714 0.994041 0.993388 0.992408 0.995347 0.998286 +0.999265 0.999265 0.998939 0.999918 1.00286 1.00482 1.00482 0.997633 +0.985224 0.971789 0.966737 0.962947 0.954105 0.950947 0.946526 0.954105 +0.98 0.994367 1.00188 0.998939 0.949684 0.788 0.604842 0.475387 +0.367467 0.33528 0.276587 0.000933333 0.000766667 0.00074 0.00074 0.000733333 +0.000713333 0.000766667 0.000753333 0.000726667 0.000713333 0.000726667 0.000686667 0.00068 +0.0007 0.000666667 0.000713333 0.000726667 0.000713333 0.000746667 0.00078 0.000786667 +0.000793333 0.000786667 0.000766667 0.00074 0.000773333 0.000833333 0.000933333 0.26712 +0.390187 0.511368 0.557474 0.589684 0.611158 0.619368 0.622526 0.625684 +0.618105 0.609895 0.608 0.609263 0.606105 0.594105 0.589053 0.594737 +0.611789 0.626947 0.642737 0.667368 0.702105 0.724211 0.707158 0.656 +0.580211 0.505053 0.35232 0.25576 0.217893 0.217893 0.219787 0.216 +0.000966667 0.216 0.216 0.00094 0.000966667 0.000953333 0.000926667 0.000933333 +0.000953333 0.00098 0.000953333 0.00096 0.000773333 0.000766667 0.00078 0.000753333 +0.00076 0.000786667 0.00078 0.000766667 0.000786667 0.00076 0.000773333 0.000766667 +0.000753333 0.00076 0.00078 0.000793333 0.000786667 0.000766667 0.000753333 0.00074 +0.000653333 0.00062 0.000566667 0.000546667 0.00052 0.000533333 0.000613333 0.0007 +0.00076 0.000806667 0.000813333 0.000826667 0.000826667 0.00082 0.000813333 0.000813333 +0.000826667 0.000833333 0.000806667 0.000766667 0.000753333 0.000746667 0.000766667 0.00078 +0.000786667 0.00076 0.00076 0.00078 0.000766667 0.00076 0.00072 0.00068 +0.000706667 0.000746667 0.000726667 0.000693333 0.0007 0.000713333 0.000713333 0.000746667 +0.00078 0.00078 0.00076 0.00072 0.000706667 0.000726667 0.00068 0.00066 +0.00068 0.000686667 0.0007 0.00074 0.000733333 0.0007 0.000706667 0.000733333 +0.000733333 0.000726667 0.00076 0.000773333 0.000766667 0.000786667 0.0008 0.000793333 +0.0008 0.000786667 0.000793333 0.000806667 0.000826667 0.000826667 0.000833333 0.000853333 +0.00086 0.000893333 0.000966667 0.263333 0.361787 0.43752 0.514526 0.623158 +0.803158 0.957263 1.0009 1.00155 0.992408 0.98 0.962316 0.958526 +0.959789 0.958526 0.963579 0.974947 0.978737 0.984898 0.995347 1.00384 +1.0071 1.0071 1.00776 1.0071 1.00514 1.00449 1.0058 1.00449 +1.00384 0.998286 0.987837 0.976211 0.966737 0.970526 0.984245 0.993061 +0.998939 1.0009 1.00024 0.995673 0.98098 0.914316 0.800632 0.673053 +0.585263 0.551158 0.543579 0.543579 0.539789 0.527158 0.521474 0.518316 +0.500632 0.452667 0.452667 0.464027 0.479173 0.48864 0.45456 0.40912 +0.43184 0.509474 0.549895 0.561263 0.531579 0.508211 0.503789 0.502526 +0.469707 0.42616 0.401547 0.40344 0.401547 0.39208 0.435627 0.481067 +0.43184 0.393973 0.411013 0.429947 0.428053 0.439413 0.450773 0.456453 +0.46592 0.4432 0.424267 0.395867 0.395867 0.412907 0.401547 0.40344 +0.401547 0.390187 0.382613 0.378827 0.376933 0.3864 0.395867 0.37504 +0.36936 0.378827 0.388293 0.390187 0.422373 0.500632 0.538526 0.556211 +0.527158 0.475387 0.435627 0.42616 0.401547 0.378827 0.399653 0.45456 +0.486747 0.4716 0.473493 0.508842 0.530947 0.531579 0.524 0.529053 +0.548632 0.570737 0.608632 0.678105 0.784842 0.884 0.932 0.942737 +0.947158 0.949053 0.951579 0.961684 0.968632 0.961684 0.959789 0.962947 +0.971158 0.976211 0.980327 0.985224 0.991102 0.999265 1.00971 1.03029 +1.05576 1.06761 1.05445 1.04629 1.0342 1.02245 1.01853 1.02049 +1.02147 1.02343 1.03127 1.04269 1.1026 1.25324 1.33998 1.2639 +1.07674 1.02931 1.01135 1.00155 0.997633 1.01004 1.02767 1.05249 +1.28824 1.56517 1.74777 1.78885 1.7432 1.70364 1.67473 1.56517 +1.42062 1.40997 1.41758 1.41606 1.43279 1.40997 1.29128 1.0813 +1.02147 0.997306 0.997633 1.00024 1.00449 1.00906 1.01167 1.01265 +1.01918 1.04694 1.1939 1.34454 1.35519 1.24107 1.09043 1.04824 +1.03845 1.03616 1.04139 1.04269 1.03878 1.03714 1.04008 1.03845 +1.0391 1.04596 1.05249 1.05869 1.06 1.04857 1.03616 1.02898 +1.02343 1.01527 1.012 1.01233 1.00906 1.01004 1.01069 1.01331 +1.01624 1.01788 1.02212 1.02669 1.03518 1.04008 1.04661 1.05314 +1.05608 1.05249 1.03878 1.02212 1.00449 0.991755 0.976211 0.947789 +0.916211 0.868211 0.812632 0.762737 0.713474 0.683158 0.665474 0.653474 +0.641474 0.628211 0.622526 0.62 0.622526 0.606105 0.571368 0.548 +0.549895 0.552421 0.532842 0.515789 0.508211 0.505053 0.507579 0.513895 +0.536632 0.583368 0.590316 0.551789 0.531579 0.536 0.537895 0.513263 +0.48296 0.452667 0.441307 0.45456 0.46592 0.498107 0.522737 0.531579 +0.518947 0.509474 0.507579 0.508211 0.514526 0.522105 0.529053 0.562526 +0.630737 0.718526 0.810737 0.890947 0.940211 0.963579 0.971789 0.975579 +0.982939 0.992082 0.996653 0.995673 0.995673 0.997959 0.998286 0.995347 +0.989143 0.982939 0.984571 0.991429 0.996653 0.999918 1.00188 1.00122 +1.00188 1.00384 1.00384 1.00351 1.00514 1.00351 0.995673 0.984245 +0.969895 0.962947 0.962316 0.957263 0.947789 0.947158 0.955368 0.976211 +0.992735 1.00384 1.0009 0.957895 0.805684 0.617474 0.501263 0.393973 +0.339067 0.270907 0.000966667 0.000813333 0.000753333 0.000773333 0.000766667 0.000766667 +0.000733333 0.00074 0.00072 0.000693333 0.000693333 0.000713333 0.000673333 0.000686667 +0.00072 0.000693333 0.000753333 0.000786667 0.00078 0.000793333 0.000833333 0.0008 +0.00076 0.000746667 0.000773333 0.000793333 0.000926667 0.269013 0.378827 0.508211 +0.556842 0.589053 0.609263 0.617474 0.621895 0.624421 0.62 0.62 +0.609895 0.605474 0.603579 0.601053 0.599158 0.599158 0.610526 0.637053 +0.669895 0.705895 0.74 0.755789 0.734316 0.668632 0.580211 0.500632 +0.331493 0.25008 0.225467 0.219787 0.00098 0.00098 0.217893 0.223573 +0.217893 0.00098 0.00098 0.000973333 0.00098 0.000973333 0.000933333 0.000946667 +0.000953333 0.000966667 0.000966667 0.000966667 0.000793333 0.000786667 0.00078 0.000746667 +0.000766667 0.000793333 0.000786667 0.0008 0.0008 0.000793333 0.000793333 0.000786667 +0.000786667 0.000786667 0.0008 0.000793333 0.000786667 0.0008 0.000813333 0.0008 +0.000786667 0.000786667 0.000733333 0.000666667 0.000566667 0.000506667 0.000506667 0.000506667 +0.000566667 0.00064 0.00074 0.000813333 0.00084 0.000846667 0.000846667 0.000853333 +0.000873333 0.00086 0.000806667 0.000773333 0.000786667 0.0008 0.000773333 0.000746667 +0.000753333 0.000766667 0.00078 0.000766667 0.00074 0.000753333 0.000753333 0.000766667 +0.000766667 0.00074 0.0007 0.000693333 0.000726667 0.00076 0.000773333 0.00078 +0.00078 0.00074 0.000713333 0.000706667 0.000733333 0.000746667 0.000693333 0.000686667 +0.000713333 0.0007 0.0007 0.000706667 0.0007 0.00068 0.000693333 0.000733333 +0.00074 0.000733333 0.000753333 0.000746667 0.000746667 0.00076 0.000773333 0.000766667 +0.000786667 0.0008 0.000813333 0.000813333 0.000826667 0.000826667 0.000813333 0.00082 +0.00082 0.000813333 0.000813333 0.0009 0.26144 0.36368 0.4432 0.523368 +0.633895 0.813263 0.963579 1.0022 1.00286 0.992082 0.973053 0.957895 +0.959789 0.961053 0.961684 0.968 0.973684 0.980327 0.989469 0.997959 +1.0022 1.00514 1.00906 1.01037 1.00776 1.00547 1.00547 1.00384 +1.00318 1.00384 0.999265 0.989469 0.98 0.965474 0.966737 0.984245 +0.994041 1.00024 1.00155 0.999265 0.996327 0.984898 0.934526 0.845474 +0.745053 0.668 0.614947 0.584632 0.573895 0.561263 0.549895 0.539158 +0.517053 0.486747 0.464027 0.462133 0.484853 0.508211 0.503789 0.452667 +0.439413 0.501895 0.549263 0.574526 0.538526 0.492427 0.452667 0.464027 +0.469707 0.458347 0.433733 0.422373 0.416693 0.393973 0.42048 0.46592 +0.441307 0.407227 0.40912 0.429947 0.446987 0.446987 0.439413 0.4432 +0.484853 0.4716 0.429947 0.407227 0.395867 0.39776 0.40344 0.424267 +0.43752 0.4148 0.39208 0.395867 0.411013 0.40912 0.390187 0.371253 +0.361787 0.36368 0.378827 0.4148 0.473493 0.508842 0.525263 0.524 +0.492427 0.45456 0.4432 0.424267 0.401547 0.40344 0.44888 0.5 +0.498107 0.490533 0.508211 0.518947 0.531579 0.539789 0.536 0.545474 +0.577684 0.632632 0.712211 0.808211 0.901684 0.952211 0.962316 0.959158 +0.954737 0.954105 0.957895 0.968 0.971789 0.970526 0.968 0.972421 +0.98098 0.985224 0.989143 0.993061 0.999592 1.00873 1.02016 1.04171 +1.05837 1.05249 1.04269 1.03714 1.02702 1.02408 1.02669 1.02833 +1.02963 1.03845 1.05249 1.095 1.17869 1.18934 1.08739 1.03257 +1.01102 1.0022 0.996 0.990449 0.984245 0.984245 0.982286 0.986531 +1.01657 1.08739 1.35824 1.48149 1.46779 1.43279 1.40236 1.33237 +1.2289 1.18782 1.17869 1.16195 1.13304 1.05641 1.0231 0.994694 +0.987184 0.992082 1.00416 1.0058 1.00449 1.00678 1.00743 1.00645 +1.00482 1.01167 1.02963 1.06456 1.24107 1.32932 1.2502 1.11782 +1.05053 1.04139 1.04367 1.044 1.04335 1.04171 1.04302 1.04335 +1.044 1.04661 1.0489 1.05576 1.07065 1.05151 1.03649 1.02833 +1.02506 1.01918 1.01233 1.012 1.00776 1.00612 1.00678 1.0071 +1.00971 1.01331 1.01722 1.02114 1.02931 1.03322 1.03616 1.04269 +1.05151 1.07522 1.10565 1.10413 1.05935 1.04433 1.02473 1.00612 +0.990122 0.967368 0.926947 0.888421 0.842947 0.806316 0.772842 0.737474 +0.712842 0.691368 0.669895 0.656 0.650947 0.641474 0.626316 0.602316 +0.576421 0.567579 0.563158 0.546105 0.532211 0.528421 0.529684 0.532211 +0.557474 0.59979 0.596632 0.550526 0.524 0.531579 0.546737 0.538526 +0.520211 0.510105 0.506316 0.510105 0.514526 0.526526 0.543579 0.540421 +0.520211 0.503789 0.490533 0.507579 0.541684 0.585895 0.642737 0.716632 +0.805684 0.882105 0.927579 0.956 0.974316 0.982286 0.985878 0.987837 +0.991755 0.997633 0.999592 0.99698 0.996653 0.998286 0.998939 0.992735 +0.983592 0.977474 0.985551 0.994367 0.999592 1.00253 1.00188 1.0009 +1.00188 1.00318 1.00318 1.00384 1.0022 0.995347 0.982612 0.964842 +0.957895 0.956632 0.952211 0.946526 0.947158 0.961684 0.98098 0.994041 +1.00155 1.00286 0.968 0.820842 0.633895 0.503789 0.39208 0.359893 +0.27848 0.00098 0.000866667 0.0008 0.000766667 0.000766667 0.000753333 0.000753333 +0.000713333 0.000733333 0.000726667 0.000713333 0.000713333 0.000753333 0.000746667 0.00074 +0.00074 0.000746667 0.00082 0.00082 0.000793333 0.000766667 0.000766667 0.00076 +0.000726667 0.00074 0.00086 0.240613 0.354213 0.501263 0.549263 0.586526 +0.610526 0.619368 0.619368 0.618105 0.616842 0.611789 0.604842 0.604211 +0.600421 0.601684 0.606737 0.608632 0.619368 0.635789 0.666737 0.708421 +0.748842 0.763368 0.734316 0.662316 0.570737 0.47728 0.32392 0.251973 +0.225467 0.216 0.000986667 0.00098 0.000973333 0.000966667 0.00098 0.000986667 +0.219787 0.000953333 0.00096 0.00096 0.00096 0.00096 0.00094 0.000933333 +0.00094 0.00096 0.000953333 0.000973333 0.0008 0.000773333 0.000746667 0.000766667 +0.000786667 0.000793333 0.00082 0.000806667 0.0008 0.00082 0.000793333 0.000813333 +0.00082 0.000806667 0.0008 0.000813333 0.0008 0.000793333 0.000786667 0.00078 +0.000786667 0.000806667 0.0008 0.000753333 0.00072 0.00066 0.000586667 0.000513333 +0.000506667 0.000506667 0.00052 0.000606667 0.000706667 0.00078 0.000853333 0.000893333 +0.0009 0.00084 0.000806667 0.000833333 0.000853333 0.00082 0.000786667 0.0008 +0.000806667 0.000766667 0.000766667 0.000753333 0.00076 0.000773333 0.00076 0.000733333 +0.0007 0.000693333 0.000726667 0.000766667 0.0008 0.0008 0.00076 0.000746667 +0.00072 0.0007 0.000713333 0.000746667 0.000773333 0.000806667 0.000806667 0.000806667 +0.000806667 0.000773333 0.000753333 0.000733333 0.0007 0.000693333 0.000706667 0.000713333 +0.000733333 0.00074 0.000766667 0.00074 0.000733333 0.00074 0.00074 0.00074 +0.000773333 0.000786667 0.0008 0.000806667 0.000826667 0.000826667 0.00082 0.000833333 +0.00082 0.000826667 0.000853333 0.000853333 0.000933333 0.269013 0.36936 0.462133 +0.528421 0.639579 0.818947 0.965474 1.00155 1.00057 0.98849 0.968 +0.959789 0.962316 0.960421 0.958526 0.964842 0.973684 0.981959 0.986531 +0.990449 0.998286 1.00482 1.01037 1.01037 1.00743 1.00743 1.00841 +1.00841 1.00873 1.00776 1.00122 0.993061 0.982939 0.966737 0.967368 +0.980653 0.991102 0.999592 1.0009 1.00024 0.997959 0.990776 0.968632 +0.919368 0.854947 0.778526 0.704632 0.650947 0.614947 0.588421 0.573263 +0.558105 0.536 0.513263 0.502526 0.5 0.508842 0.512 0.49432 +0.469707 0.514526 0.560632 0.569474 0.535368 0.484853 0.412907 0.40344 +0.424267 0.452667 0.446987 0.428053 0.4148 0.407227 0.422373 0.441307 +0.435627 0.43184 0.429947 0.439413 0.4716 0.47728 0.44888 0.458347 +0.503158 0.496213 0.446987 0.416693 0.399653 0.401547 0.407227 0.424267 +0.458347 0.450773 0.416693 0.424267 0.433733 0.40912 0.39208 0.390187 +0.38072 0.373147 0.393973 0.441307 0.467813 0.44888 0.445093 0.46024 +0.4432 0.439413 0.439413 0.42616 0.422373 0.462133 0.511368 0.521474 +0.516421 0.518316 0.526526 0.525895 0.540421 0.569474 0.590316 0.625053 +0.681895 0.764632 0.855579 0.926947 0.966105 0.973053 0.973684 0.966737 +0.956 0.952842 0.962947 0.973684 0.976211 0.980327 0.981633 0.981959 +0.983918 0.986531 0.990122 0.995347 1.00678 1.01918 1.03192 1.04563 +1.04727 1.0378 1.03388 1.03518 1.03322 1.03649 1.03616 1.03551 +1.04073 1.05412 1.1163 1.16956 1.14521 1.04857 1.01722 1.00188 +0.999918 1.0009 0.999592 0.998612 0.994694 0.990122 0.98 0.967368 +0.976211 0.993061 1.03094 1.1026 1.17869 1.1939 1.17108 1.12695 +1.06609 1.0538 1.04792 1.03943 1.02931 1.01167 0.990449 0.982939 +0.98751 0.997959 1.00612 1.00514 1.00318 1.00318 1.00384 1.00286 +1.00155 1.00482 1.00808 1.01722 1.0489 1.24411 1.36736 1.29585 +1.14065 1.05706 1.04988 1.04465 1.04531 1.04465 1.04531 1.04596 +1.04759 1.04792 1.04922 1.05641 1.07826 1.0538 1.03584 1.02833 +1.02245 1.0169 1.00939 1.00612 1.00547 1.00286 1.00057 0.998286 +1.00057 1.00743 1.01265 1.01592 1.02343 1.03388 1.03845 1.04335 +1.04824 1.0538 1.06609 1.11782 1.17869 1.21064 1.19694 1.13608 +1.05837 1.03747 1.012 0.991429 0.964211 0.929474 0.894737 0.851789 +0.815789 0.780421 0.743789 0.717263 0.695158 0.683158 0.688842 0.684421 +0.652211 0.626316 0.619368 0.597895 0.570737 0.553684 0.544842 0.547368 +0.565053 0.582737 0.575158 0.551789 0.532211 0.531579 0.544842 0.556842 +0.558105 0.559368 0.570737 0.578316 0.573895 0.561895 0.547368 0.535368 +0.529684 0.536 0.563789 0.617474 0.686316 0.753263 0.821474 0.880842 +0.925684 0.956 0.969263 0.98 0.985224 0.989469 0.992082 0.993714 +0.997633 0.998286 0.995347 0.995673 0.997633 0.997306 0.992735 0.985878 +0.983265 0.986204 0.993061 0.997633 1.00122 1.00253 1.00155 1.00155 +1.00253 1.0022 1.00155 1.00057 0.993714 0.982286 0.964211 0.952211 +0.951579 0.952842 0.947158 0.942105 0.957263 0.981633 0.992735 1.00155 +0.998939 0.961684 0.824632 0.643368 0.515158 0.40344 0.361787 0.293627 +0.00096 0.00084 0.00082 0.000786667 0.00074 0.00074 0.000746667 0.000753333 +0.000726667 0.000713333 0.000726667 0.00072 0.000713333 0.000733333 0.00076 0.000773333 +0.000766667 0.00076 0.000793333 0.000766667 0.00072 0.000713333 0.000726667 0.00074 +0.000833333 0.00098 0.314453 0.458347 0.539789 0.582737 0.608 0.620632 +0.626947 0.626316 0.619368 0.609895 0.604842 0.596 0.587789 0.582105 +0.577684 0.591579 0.617474 0.639579 0.672421 0.709053 0.745053 0.758316 +0.729263 0.657263 0.566316 0.46592 0.31824 0.251973 0.231147 0.223573 +0.223573 0.22168 0.000986667 0.000953333 0.000953333 0.000966667 0.000953333 0.00096 +0.00098 0.00096 0.000973333 0.000986667 0.000966667 0.000973333 0.000966667 0.00094 +0.000953333 0.000953333 0.00094 0.000973333 0.000753333 0.000733333 0.000733333 0.000793333 +0.0008 0.00078 0.0008 0.00076 0.000786667 0.000813333 0.000813333 0.00082 +0.00082 0.000806667 0.000826667 0.00084 0.000826667 0.00082 0.000826667 0.000806667 +0.000806667 0.000813333 0.000813333 0.00078 0.00078 0.00078 0.00076 0.00072 +0.00066 0.000593333 0.000526667 0.000506667 0.000506667 0.000533333 0.000633333 0.00074 +0.000793333 0.000806667 0.000846667 0.000873333 0.000846667 0.000826667 0.000826667 0.000846667 +0.00082 0.0008 0.000813333 0.0008 0.00078 0.000766667 0.000726667 0.000733333 +0.000746667 0.000753333 0.000773333 0.00078 0.00076 0.00074 0.000733333 0.000753333 +0.000773333 0.0008 0.0008 0.0008 0.000786667 0.000813333 0.00082 0.0008 +0.000826667 0.000826667 0.000826667 0.000813333 0.000786667 0.00076 0.000733333 0.00072 +0.000726667 0.000713333 0.00074 0.000753333 0.00074 0.00076 0.000753333 0.000753333 +0.000773333 0.000773333 0.00074 0.000753333 0.000766667 0.00078 0.000793333 0.000813333 +0.000813333 0.00082 0.00086 0.000866667 0.000873333 0.000953333 0.276587 0.390187 +0.48296 0.530947 0.646526 0.827158 0.969263 1.00188 1.00122 0.989143 +0.972421 0.961684 0.957895 0.957263 0.959158 0.964842 0.971158 0.975579 +0.979368 0.986857 0.995347 1.00416 1.00971 1.00841 1.00612 1.00776 +1.00906 1.00873 1.00939 1.00743 1.0009 0.995347 0.984898 0.968632 +0.963579 0.974316 0.988816 0.998939 1.00188 1.00122 0.999592 0.994694 +0.986857 0.970526 0.932632 0.875789 0.808842 0.745684 0.689474 0.649684 +0.628842 0.599158 0.56 0.540421 0.531579 0.521474 0.515158 0.504421 +0.49432 0.522105 0.552421 0.542947 0.525895 0.507579 0.452667 0.4148 +0.416693 0.445093 0.446987 0.43752 0.435627 0.44888 0.446987 0.429947 +0.424267 0.428053 0.43184 0.4432 0.46024 0.458347 0.4432 0.456453 +0.484853 0.486747 0.47728 0.445093 0.429947 0.456453 0.45456 0.43184 +0.450773 0.479173 0.473493 0.469707 0.450773 0.4148 0.405333 0.405333 +0.399653 0.388293 0.393973 0.422373 0.42048 0.395867 0.407227 0.433733 +0.439413 0.462133 0.473493 0.484853 0.496213 0.506947 0.519579 0.526526 +0.528421 0.533474 0.536632 0.540421 0.572 0.630737 0.690737 0.766526 +0.841684 0.906105 0.953474 0.976211 0.981633 0.981633 0.977474 0.961053 +0.949684 0.954105 0.963579 0.973053 0.981633 0.987184 0.988163 0.988163 +0.989469 0.989796 0.989796 0.995673 1.00971 1.02376 1.03453 1.03714 +1.03355 1.03224 1.03224 1.03355 1.0378 1.044 1.04237 1.04563 +1.05445 1.1026 1.1726 1.15738 1.0502 1.01233 0.995673 0.993714 +0.99502 0.998286 0.999918 1.00416 1.00384 1.00351 0.996327 0.992082 +0.989143 0.984571 0.990776 1.01298 1.03257 1.044 1.04596 1.04302 +1.03714 1.0329 1.02669 1.01429 1.00155 0.989796 0.986531 0.992082 +0.995673 1.00188 1.00547 1.00612 1.00873 1.0071 1.00482 1.00122 +0.997633 1.00024 1.00286 1.00482 1.01918 1.06 1.28672 1.39171 +1.33845 1.21216 1.09804 1.05086 1.04563 1.04498 1.04857 1.04759 +1.04629 1.04792 1.05053 1.0551 1.06456 1.05151 1.03355 1.0231 +1.01853 1.01853 1.01527 1.00678 1.00188 0.997633 0.995347 0.997306 +0.998286 1.00318 1.00971 1.01527 1.02278 1.03388 1.04204 1.04824 +1.05086 1.05216 1.05543 1.05935 1.11173 1.19694 1.26085 1.29281 +1.30802 1.29128 1.22738 1.1376 1.05608 1.03159 1.00841 0.984898 +0.949684 0.905474 0.861895 0.833474 0.803789 0.780421 0.780421 0.793053 +0.781053 0.751368 0.728 0.690105 0.649053 0.620632 0.609895 0.613053 +0.620632 0.619368 0.612421 0.610526 0.597895 0.584632 0.589053 0.601684 +0.605474 0.612421 0.636421 0.649684 0.630105 0.601684 0.588421 0.595368 +0.625684 0.676842 0.74 0.805684 0.866947 0.910526 0.940211 0.960421 +0.969263 0.974316 0.981306 0.985551 0.989796 0.992735 0.994041 0.996327 +0.999592 0.997959 0.997306 0.998612 0.998939 0.994041 0.986531 0.984571 +0.989143 0.994694 0.997306 0.998286 1.00024 1.00122 1.00286 1.00416 +1.00351 1.00286 0.999265 0.991102 0.980653 0.963579 0.953474 0.948421 +0.947158 0.946526 0.944 0.952842 0.98 0.993388 1.00024 0.999918 +0.966105 0.823368 0.642737 0.515789 0.405333 0.35232 0.27848 0.000966667 +0.00082 0.000786667 0.000793333 0.00076 0.000706667 0.000706667 0.00072 0.000726667 +0.000733333 0.000706667 0.000726667 0.000753333 0.000793333 0.000833333 0.00084 0.000833333 +0.00078 0.000733333 0.000746667 0.00074 0.00074 0.00076 0.000806667 0.000913333 +0.270907 0.401547 0.521474 0.570105 0.601684 0.616842 0.626316 0.630105 +0.630105 0.628842 0.618105 0.603579 0.592211 0.579579 0.558737 0.541684 +0.545474 0.590316 0.654105 0.704632 0.746947 0.754526 0.716632 0.644 +0.556842 0.44888 0.31256 0.257653 0.2444 0.234933 0.229253 0.223573 +0.225467 0.22168 0.000993333 0.000966667 0.000953333 0.000966667 0.216 0.217893 +0.216 0.000986667 0.000986667 0.217893 0.000953333 0.000973333 0.000953333 0.00094 +0.000946667 0.000933333 0.0009 0.000893333 0.000753333 0.00074 0.000753333 0.00078 +0.000786667 0.000786667 0.000786667 0.000793333 0.000806667 0.00082 0.0008 0.000786667 +0.00078 0.000813333 0.000813333 0.000813333 0.000806667 0.00082 0.000813333 0.000806667 +0.000826667 0.00082 0.000813333 0.0008 0.000786667 0.000793333 0.000786667 0.000793333 +0.000793333 0.0008 0.00078 0.000713333 0.000613333 0.00054 0.000506667 0.000506667 +0.00056 0.000653333 0.000766667 0.000846667 0.000873333 0.00088 0.00086 0.000846667 +0.000833333 0.000826667 0.00082 0.000793333 0.00078 0.000766667 0.000746667 0.000733333 +0.000753333 0.000746667 0.000766667 0.00078 0.000793333 0.000793333 0.000793333 0.000806667 +0.000813333 0.00082 0.000793333 0.000786667 0.000793333 0.000806667 0.0008 0.000786667 +0.000806667 0.00082 0.000833333 0.000866667 0.00088 0.000853333 0.000806667 0.000766667 +0.00074 0.00074 0.000746667 0.000753333 0.000753333 0.000773333 0.00076 0.00076 +0.00078 0.00078 0.000746667 0.00076 0.000793333 0.000813333 0.000813333 0.000806667 +0.000813333 0.000806667 0.000826667 0.000833333 0.000833333 0.000846667 0.00094 0.28416 +0.405333 0.479173 0.529684 0.646526 0.824 0.964842 1.00155 1.00318 +0.989796 0.970526 0.957263 0.956 0.960421 0.962947 0.966105 0.971158 +0.972421 0.978105 0.984245 0.992408 1.00188 1.00743 1.00743 1.00873 +1.00873 1.00678 1.0058 1.00514 1.00514 1.0022 0.99698 0.986531 +0.973053 0.962947 0.967368 0.984245 0.995347 0.999918 0.999918 0.997633 +0.995347 0.991755 0.985551 0.970526 0.937053 0.892211 0.842316 0.794947 +0.753263 0.700211 0.640842 0.601053 0.576421 0.554316 0.535368 0.522105 +0.518316 0.529684 0.532842 0.512632 0.509474 0.513895 0.496213 0.452667 +0.44888 0.458347 0.458347 0.464027 0.5 0.512 0.505684 0.458347 +0.422373 0.416693 0.429947 0.446987 0.450773 0.433733 0.42616 0.43184 +0.44888 0.464027 0.48864 0.469707 0.450773 0.484853 0.486747 0.44888 +0.441307 0.475387 0.48864 0.475387 0.458347 0.452667 0.441307 0.412907 +0.39776 0.39776 0.40344 0.411013 0.399653 0.388293 0.407227 0.422373 +0.458347 0.508211 0.519579 0.534737 0.546105 0.537895 0.532842 0.540421 +0.543579 0.554316 0.578947 0.608 0.655368 0.725474 0.808842 0.895368 +0.953474 0.979368 0.986531 0.987837 0.986204 0.981306 0.964842 0.951579 +0.952842 0.963579 0.969895 0.98 0.987837 0.991755 0.991429 0.993714 +0.992735 0.990776 0.991755 0.998286 1.01135 1.02506 1.03192 1.02833 +1.02702 1.03029 1.03322 1.03322 1.03714 1.04465 1.05053 1.07369 +1.13152 1.19238 1.19847 1.07065 1.02212 0.996653 0.989796 0.988816 +0.991429 0.996327 0.998612 1.00416 1.00678 1.00645 1.00449 1.00547 +1.00318 0.99698 0.985551 0.984898 0.994041 1.00841 1.01853 1.02278 +1.02441 1.02343 1.01396 0.999918 0.988816 0.987837 0.99502 1.00155 +1.00253 1.0058 1.00547 1.00612 1.00776 1.00482 1.0022 0.998939 +0.995347 0.99698 1.00384 1.0071 1.01363 1.03159 1.08282 1.2852 +1.44192 1.40541 1.24564 1.10108 1.0538 1.04661 1.04759 1.04531 +1.04433 1.04563 1.04629 1.0489 1.05445 1.05216 1.0391 1.02506 +1.01624 1.01527 1.01363 1.00416 0.999592 0.997959 0.997306 1.00351 +1.00743 1.00743 1.01233 1.02016 1.02506 1.02833 1.03322 1.04041 +1.04727 1.05216 1.06609 1.09195 1.10565 1.13456 1.15434 1.18782 +1.25629 1.34758 1.42214 1.44953 1.44345 1.38562 1.29737 1.18934 +1.07522 1.03192 1.0009 0.977474 0.936421 0.898526 0.877684 0.884632 +0.882105 0.863158 0.841684 0.814526 0.781684 0.758947 0.748842 0.747579 +0.749474 0.745684 0.737474 0.731789 0.722316 0.708421 0.705263 0.714105 +0.723579 0.727368 0.742526 0.752632 0.736842 0.722316 0.734316 0.762105 +0.800632 0.848632 0.894105 0.932632 0.959789 0.970526 0.974316 0.982612 +0.985224 0.984898 0.988163 0.992082 0.994367 0.995673 0.997959 0.999592 +0.997959 0.99698 0.998612 0.997959 0.992735 0.987184 0.984898 0.990122 +0.995347 0.998939 0.998939 0.997959 0.998939 1.00057 1.00384 1.00449 +1.00318 0.999265 0.989143 0.974316 0.961053 0.957263 0.954737 0.947789 +0.943368 0.943368 0.954105 0.98 0.994041 1.00155 1.0009 0.966737 +0.829684 0.648421 0.515789 0.411013 0.361787 0.27848 0.000953333 0.00084 +0.000813333 0.000773333 0.00078 0.00076 0.000733333 0.00074 0.00074 0.000753333 +0.00076 0.000786667 0.000813333 0.000833333 0.00086 0.000846667 0.000793333 0.000766667 +0.000706667 0.000686667 0.00074 0.000773333 0.000786667 0.000866667 0.240613 0.344747 +0.48864 0.542316 0.585895 0.612421 0.623789 0.624421 0.624421 0.630105 +0.628842 0.621895 0.607368 0.590316 0.572632 0.554316 0.539158 0.541053 +0.583368 0.659158 0.726105 0.744421 0.709684 0.633895 0.547368 0.435627 +0.31256 0.26144 0.23872 0.231147 0.22736 0.225467 0.22168 0.219787 +0.22168 0.216 0.000993333 0.000993333 0.00098 0.00098 0.000973333 0.000986667 +0.00096 0.000906667 0.000933333 0.000946667 0.000926667 0.000926667 0.00094 0.000926667 +0.00092 0.000933333 0.000906667 0.000873333 0.000726667 0.000746667 0.000766667 0.000753333 +0.000773333 0.000766667 0.00076 0.000773333 0.00078 0.0008 0.0008 0.0008 +0.0008 0.000833333 0.000833333 0.00082 0.000826667 0.000833333 0.00082 0.000826667 +0.000853333 0.000853333 0.000826667 0.000826667 0.000813333 0.000813333 0.000806667 0.000813333 +0.0008 0.000813333 0.00082 0.00082 0.000806667 0.000733333 0.000633333 0.000566667 +0.000526667 0.000506667 0.000506667 0.000613333 0.000713333 0.0008 0.000866667 0.000906667 +0.000906667 0.0009 0.0009 0.00088 0.000873333 0.000853333 0.00082 0.000806667 +0.0008 0.0008 0.00082 0.000853333 0.000873333 0.000846667 0.00082 0.00082 +0.000806667 0.000793333 0.000773333 0.000793333 0.000806667 0.000806667 0.000793333 0.00078 +0.0008 0.0008 0.00082 0.000853333 0.000886667 0.0009 0.000886667 0.000866667 +0.000833333 0.000813333 0.000786667 0.000773333 0.000786667 0.000786667 0.00076 0.00076 +0.00078 0.00078 0.000766667 0.00078 0.0008 0.000793333 0.000786667 0.000793333 +0.000806667 0.000813333 0.00082 0.00082 0.000806667 0.000806667 0.000846667 0.000946667 +0.28416 0.388293 0.452667 0.521474 0.635158 0.812632 0.956 1.00057 +1.00155 0.988163 0.969263 0.952842 0.951579 0.957263 0.962947 0.968632 +0.972421 0.971789 0.973053 0.98098 0.989469 1.0009 1.0071 1.00841 +1.00939 1.00841 1.00547 1.00384 1.00449 1.0058 1.00351 0.998612 +0.990122 0.981959 0.967368 0.964842 0.980327 0.991429 0.996653 0.998286 +0.998939 0.99698 0.993388 0.989143 0.981959 0.960421 0.935158 0.910526 +0.880211 0.829684 0.758947 0.682526 0.623789 0.595368 0.576421 0.56 +0.552421 0.546105 0.529684 0.507579 0.500632 0.513263 0.510105 0.469707 +0.44888 0.446987 0.44888 0.464027 0.506316 0.527158 0.518947 0.4716 +0.43184 0.439413 0.441307 0.450773 0.45456 0.450773 0.450773 0.452667 +0.45456 0.467813 0.48296 0.467813 0.446987 0.46592 0.48864 0.46024 +0.4432 0.462133 0.46024 0.445093 0.43752 0.462133 0.467813 0.43184 +0.401547 0.401547 0.4148 0.42048 0.412907 0.412907 0.441307 0.486747 +0.517053 0.544211 0.551789 0.568211 0.597263 0.595368 0.585895 0.587789 +0.594737 0.616211 0.658526 0.710947 0.771579 0.842316 0.917474 0.973053 +0.98751 0.989143 0.989469 0.988163 0.983592 0.967368 0.954737 0.956632 +0.969263 0.982612 0.985878 0.98751 0.991429 0.993388 0.992735 0.993388 +0.989143 0.986857 0.990122 0.999592 1.01429 1.028 1.03094 1.02376 +1.02473 1.03029 1.03224 1.03322 1.0378 1.04629 1.05935 1.13912 +1.19542 1.2152 1.13456 1.04008 1.01135 0.995673 0.990122 0.991102 +0.996653 0.998612 0.996 0.999918 1.00384 1.00514 1.00482 1.00547 +1.00547 1.00155 0.992408 0.985551 0.985224 0.996 1.00873 1.01494 +1.02147 1.02408 1.01298 0.996653 0.987184 0.993714 1.00286 1.00547 +1.00318 1.00416 1.00384 1.00612 1.00645 1.0022 0.997633 0.994041 +0.991429 0.993061 1.00416 1.01102 1.01429 1.01624 1.03029 1.08891 +1.30802 1.42975 1.38106 1.2289 1.09956 1.0538 1.04792 1.04465 +1.04335 1.04171 1.03976 1.04335 1.04857 1.0502 1.04563 1.03224 +1.01429 1.00482 0.999918 0.99502 0.99698 1.0009 1.00384 1.01233 +1.02016 1.01951 1.0231 1.03029 1.03388 1.03322 1.0329 1.03551 +1.04171 1.04792 1.05739 1.11021 1.13912 1.12695 1.11021 1.11478 +1.14977 1.20151 1.26846 1.34606 1.43584 1.50279 1.54387 1.553 +1.53474 1.45714 1.33237 1.18325 1.05216 1.02049 0.994694 0.981306 +0.961684 0.943368 0.927579 0.914316 0.896632 0.882105 0.876421 0.877684 +0.878947 0.873263 0.862526 0.850526 0.840421 0.836 0.843579 0.853684 +0.861895 0.865053 0.867579 0.870737 0.869474 0.870105 0.884632 0.900421 +0.913684 0.932632 0.955368 0.976842 0.982612 0.983592 0.983265 0.988163 +0.992408 0.991429 0.993714 0.99698 0.99698 0.997633 0.999918 1.0009 +0.999265 0.998612 0.998286 0.993061 0.988816 0.989469 0.993714 0.998939 +1.00057 1.00122 1.00286 1.00188 1.00155 1.00384 1.00482 1.00351 +0.998612 0.986857 0.969895 0.954105 0.949684 0.952842 0.950947 0.944 +0.942105 0.952211 0.979368 0.995347 1.00416 1.00024 0.966737 0.831579 +0.654737 0.525895 0.42048 0.358 0.28416 0.00094 0.000813333 0.000793333 +0.000806667 0.00078 0.000773333 0.00076 0.00076 0.000766667 0.000766667 0.000786667 +0.0008 0.000833333 0.00082 0.00078 0.00078 0.000746667 0.000706667 0.000726667 +0.000693333 0.000666667 0.00074 0.00086 0.229253 0.32392 0.45456 0.534737 +0.572632 0.596 0.616842 0.628842 0.633895 0.630105 0.625684 0.625053 +0.623789 0.611789 0.587789 0.566947 0.555579 0.558737 0.585263 0.632 +0.687579 0.717263 0.693895 0.627579 0.546105 0.441307 0.322027 0.269013 +0.248187 0.2444 0.23304 0.225467 0.217893 0.000993333 0.216 0.22168 +0.225467 0.216 0.000966667 0.000986667 0.00098 0.000966667 0.00094 0.00096 +0.000986667 0.000953333 0.000953333 0.00098 0.000966667 0.000946667 0.00096 0.000946667 +0.00094 0.00094 0.000953333 0.00092 0.0007 0.000733333 0.00076 0.00074 +0.000733333 0.00072 0.000706667 0.000733333 0.000753333 0.000746667 0.000746667 0.000753333 +0.00076 0.00078 0.000793333 0.000786667 0.000786667 0.000786667 0.000786667 0.0008 +0.00084 0.000853333 0.000806667 0.0008 0.000826667 0.000846667 0.000866667 0.000886667 +0.000886667 0.000873333 0.000873333 0.000893333 0.000886667 0.000853333 0.00086 0.00086 +0.000813333 0.000726667 0.000633333 0.00058 0.000546667 0.000586667 0.000693333 0.00084 +0.000933333 0.22168 0.225467 0.216 0.000986667 0.000953333 0.000933333 0.000946667 +0.000913333 0.000873333 0.000886667 0.00088 0.000846667 0.00082 0.00084 0.000846667 +0.00082 0.000826667 0.00084 0.000846667 0.000833333 0.0008 0.000793333 0.000786667 +0.000773333 0.000753333 0.000766667 0.00078 0.0008 0.000833333 0.000826667 0.00086 +0.000873333 0.000833333 0.000786667 0.00076 0.00076 0.000753333 0.00074 0.000733333 +0.00076 0.00078 0.000766667 0.000793333 0.000813333 0.000793333 0.000786667 0.00082 +0.000826667 0.00082 0.00082 0.00082 0.000846667 0.00084 0.000853333 0.000873333 +0.000973333 0.280373 0.38072 0.445093 0.516421 0.626947 0.798737 0.946526 +0.998612 1.0009 0.990122 0.974316 0.955368 0.952211 0.958526 0.961684 +0.966737 0.964842 0.964211 0.966737 0.974316 0.987184 0.998939 1.00449 +1.00743 1.00743 1.00612 1.00351 1.00351 1.00514 1.0058 1.00547 +0.999592 0.992735 0.985224 0.974947 0.967368 0.98 0.989469 0.996653 +0.999592 0.998612 0.996653 0.99502 0.991429 0.985551 0.976842 0.964211 +0.948421 0.924421 0.878947 0.802526 0.724211 0.674316 0.640211 0.613053 +0.594737 0.575158 0.549895 0.525263 0.511368 0.521474 0.529684 0.508842 +0.47728 0.464027 0.452667 0.450773 0.490533 0.513263 0.508842 0.467813 +0.4432 0.456453 0.4716 0.464027 0.45456 0.456453 0.458347 0.458347 +0.481067 0.503158 0.500632 0.464027 0.43752 0.439413 0.473493 0.473493 +0.435627 0.441307 0.4432 0.435627 0.43752 0.46024 0.467813 0.450773 +0.43752 0.435627 0.441307 0.450773 0.484853 0.513263 0.530316 0.548 +0.562526 0.569474 0.566947 0.593474 0.654105 0.685684 0.668632 0.655368 +0.671789 0.708421 0.766526 0.835368 0.897263 0.948421 0.984571 0.994041 +0.996 0.994367 0.989143 0.984245 0.974947 0.963579 0.969263 0.974947 +0.982286 0.988163 0.990122 0.987837 0.989796 0.990449 0.990449 0.991102 +0.986204 0.986204 0.987837 0.99502 1.01233 1.02767 1.02702 1.01918 +1.02278 1.03127 1.03224 1.03682 1.04498 1.05706 1.12086 1.16956 +1.1513 1.10717 1.04694 1.02343 1.01233 1.00286 0.998612 1.0009 +1.00645 1.0071 1.00286 1.00318 1.00416 1.00776 1.00971 1.00743 +1.00645 1.00286 0.998939 0.994367 0.98751 0.993061 1.0022 1.01102 +1.02539 1.02669 1.01037 0.997306 0.990449 0.996327 1.00514 1.00776 +1.00482 1.0058 1.0058 1.00743 1.00743 1.00351 0.996 0.989796 +0.990449 0.996 1.00776 1.01363 1.01527 1.01363 1.01918 1.0342 +1.05739 1.20303 1.33085 1.30498 1.17716 1.07978 1.05543 1.0502 +1.04629 1.04204 1.0378 1.04008 1.04465 1.04596 1.04694 1.03518 +1.01135 0.994694 0.989796 0.988816 0.994041 1.00253 1.01037 1.01722 +1.02539 1.02637 1.028 1.03649 1.04106 1.04269 1.04465 1.04433 +1.04531 1.04629 1.05184 1.09043 1.14217 1.14369 1.13152 1.13456 +1.14065 1.12999 1.12086 1.13912 1.19999 1.27759 1.35671 1.42975 +1.51496 1.59408 1.62452 1.58495 1.50127 1.40693 1.30346 1.19238 +1.07065 1.04106 1.02376 1.00547 0.98751 0.972421 0.964211 0.961684 +0.959158 0.952211 0.940842 0.92821 0.914947 0.910526 0.916842 0.922526 +0.925684 0.930105 0.932 0.937684 0.945263 0.947789 0.952842 0.961684 +0.967368 0.976842 0.984245 0.987837 0.98849 0.990122 0.991102 0.994041 +0.996 0.995673 0.996653 0.998286 0.999592 1.0009 1.00155 1.00188 +1.00122 0.998939 0.994694 0.990776 0.992082 0.996 1.0009 1.00253 +1.00188 1.00286 1.00416 1.00416 1.00416 1.00416 1.00057 0.994367 +0.984245 0.968 0.961053 0.956 0.951579 0.952842 0.950316 0.949053 +0.959789 0.981633 0.994694 1.00449 1.00318 0.962947 0.824632 0.649053 +0.521474 0.422373 0.365573 0.274693 0.000946667 0.000833333 0.000793333 0.00078 +0.000786667 0.00078 0.000773333 0.00074 0.00078 0.00082 0.00084 0.000853333 +0.000826667 0.00082 0.000786667 0.000746667 0.000766667 0.000726667 0.000726667 0.000753333 +0.000773333 0.000833333 0.217893 0.31256 0.441307 0.524 0.562526 0.593474 +0.613053 0.623158 0.630105 0.633263 0.634526 0.635158 0.634526 0.625684 +0.606737 0.582737 0.561263 0.562526 0.591579 0.640211 0.687579 0.702105 +0.675579 0.614316 0.539789 0.43752 0.327707 0.280373 0.251973 0.23872 +0.229253 0.229253 0.22168 0.000993333 0.216 0.000973333 0.00098 0.216 +0.223573 0.22168 0.00096 0.000933333 0.000933333 0.000946667 0.000926667 0.000933333 +0.00096 0.00098 0.00094 0.000953333 0.000953333 0.000946667 0.000973333 0.000953333 +0.00096 0.000946667 0.000973333 0.000946667 0.00072 0.000746667 0.000766667 0.000746667 +0.00074 0.000726667 0.00074 0.00078 0.000793333 0.00078 0.000793333 0.0008 +0.000806667 0.000786667 0.000786667 0.00078 0.00078 0.000793333 0.000806667 0.00082 +0.000833333 0.000826667 0.000773333 0.000766667 0.000786667 0.000806667 0.000813333 0.00084 +0.00086 0.000866667 0.000873333 0.000886667 0.000866667 0.00088 0.00092 0.000926667 +0.000906667 0.00092 0.000906667 0.000866667 0.000813333 0.000766667 0.000806667 0.000893333 +0.216 0.265227 0.3012 0.314453 0.308773 0.282267 0.253867 0.23304 +0.00098 0.000913333 0.000906667 0.000886667 0.00084 0.000826667 0.00086 0.000846667 +0.000826667 0.000853333 0.000853333 0.00084 0.00082 0.0008 0.000773333 0.000773333 +0.000786667 0.00078 0.000773333 0.000773333 0.000766667 0.000773333 0.000773333 0.00082 +0.00086 0.00086 0.000826667 0.0008 0.000786667 0.000786667 0.000766667 0.00076 +0.000766667 0.000773333 0.00078 0.000793333 0.0008 0.000786667 0.000793333 0.00082 +0.00082 0.000806667 0.000786667 0.000786667 0.000806667 0.000793333 0.0008 0.00082 +0.00086 0.000953333 0.270907 0.371253 0.43184 0.510737 0.612421 0.785474 +0.942737 0.998612 1.00286 0.994367 0.981959 0.964842 0.959158 0.959158 +0.966737 0.967368 0.965474 0.968 0.968 0.973684 0.986204 0.99698 +1.00384 1.00776 1.00808 1.00678 1.00416 1.00318 1.00514 1.00808 +1.00678 1.00122 0.997959 0.992408 0.982286 0.971158 0.976211 0.985224 +0.993061 0.998612 1.00155 1.00024 0.99698 0.99502 0.992082 0.988163 +0.982286 0.974316 0.956632 0.917474 0.866316 0.813263 0.753895 0.698947 +0.658526 0.621895 0.587789 0.561895 0.543579 0.544842 0.551789 0.535368 +0.512632 0.490533 0.46024 0.45456 0.484853 0.504421 0.498107 0.469707 +0.452667 0.439413 0.450773 0.464027 0.464027 0.46592 0.467813 0.46592 +0.501895 0.528421 0.524632 0.498107 0.456453 0.4432 0.481067 0.510737 +0.492427 0.446987 0.446987 0.456453 0.464027 0.462133 0.458347 0.462133 +0.479173 0.503789 0.514526 0.524 0.544211 0.577053 0.601684 0.608 +0.607368 0.601684 0.604842 0.640211 0.700842 0.738105 0.733684 0.741895 +0.779789 0.830316 0.892211 0.949684 0.981959 0.993388 0.999265 1.0009 +1.00351 0.999918 0.993061 0.98751 0.98098 0.981306 0.986531 0.986204 +0.986531 0.98751 0.987184 0.986531 0.98849 0.989143 0.992408 0.991102 +0.989143 0.991102 0.992408 0.994367 1.01233 1.02767 1.02473 1.02049 +1.02637 1.03224 1.03551 1.04139 1.04922 1.08282 1.13304 1.12391 +1.05673 1.04171 1.02604 1.01722 1.01592 1.01233 1.01135 1.00971 +1.01135 1.01233 1.01037 1.01004 1.00449 1.00384 1.0071 1.00776 +1.00971 1.00678 1.00351 1.00122 0.992735 0.990122 0.996653 1.01102 +1.03649 1.03355 1.00906 0.997959 0.995347 1.00057 1.00547 1.0071 +1.00482 1.00808 1.00841 1.00645 1.00449 1.00318 0.998939 0.997959 +1.00351 1.00939 1.01494 1.01755 1.01788 1.01624 1.0169 1.02114 +1.02278 1.0342 1.06304 1.16956 1.18021 1.12999 1.05935 1.05118 +1.04988 1.04694 1.04204 1.04302 1.04661 1.04596 1.04824 1.03682 +1.00939 0.993061 0.987837 0.98849 0.996 1.00351 1.01069 1.01461 +1.0218 1.02604 1.02441 1.0329 1.03682 1.04041 1.04563 1.04988 +1.05445 1.05282 1.05151 1.06304 1.11478 1.14825 1.16499 1.15738 +1.12086 1.09348 1.06609 1.05967 1.08891 1.12391 1.14825 1.16043 +1.1939 1.25781 1.33693 1.41149 1.4754 1.54387 1.58952 1.60321 +1.5667 1.49822 1.40997 1.29889 1.18629 1.07826 1.04629 1.03322 +1.02147 1.01167 1.00122 0.992735 0.984571 0.979368 0.974947 0.975579 +0.98098 0.983265 0.982939 0.982286 0.982612 0.981633 0.983592 0.98751 +0.987837 0.989143 0.991429 0.992735 0.993714 0.994367 0.994694 0.996 +0.996327 0.996653 0.996653 0.997633 1.00155 1.00188 1.00188 1.00253 +0.998286 0.992735 0.990449 0.994041 0.998939 1.00155 1.00318 1.00286 +1.00318 1.00253 1.00188 1.00286 1.00351 0.998286 0.991102 0.981306 +0.961684 0.955368 0.960421 0.956632 0.950316 0.946526 0.950316 0.964211 +0.984571 0.99698 1.00188 0.998939 0.962316 0.820211 0.645895 0.521474 +0.412907 0.348533 0.265227 0.00088 0.000773333 0.000813333 0.000806667 0.000753333 +0.000786667 0.000806667 0.000826667 0.0008 0.000826667 0.000873333 0.00088 0.00086 +0.00082 0.000806667 0.000793333 0.000773333 0.00082 0.000793333 0.000813333 0.000893333 +0.23304 0.32392 0.428053 0.517684 0.555579 0.583368 0.603579 0.621263 +0.630105 0.634526 0.635789 0.634526 0.635158 0.634526 0.632 0.618105 +0.591579 0.577684 0.595368 0.642737 0.686316 0.700211 0.670526 0.604842 +0.531579 0.422373 0.322027 0.269013 0.23872 0.23872 0.231147 0.223573 +0.000986667 0.000986667 0.216 0.00098 0.00098 0.000966667 0.00096 0.000966667 +0.00098 0.216 0.000966667 0.00094 0.00094 0.000946667 0.000953333 0.000946667 +0.00094 0.000946667 0.000953333 0.000953333 0.00096 0.00094 0.000966667 0.000953333 +0.000946667 0.000953333 0.000973333 0.22168 0.000726667 0.00072 0.00072 0.000733333 +0.00074 0.000733333 0.000753333 0.000793333 0.000806667 0.00082 0.00082 0.000806667 +0.000793333 0.000793333 0.000806667 0.000813333 0.000826667 0.000826667 0.00086 0.00088 +0.000846667 0.00082 0.000813333 0.00082 0.000826667 0.000846667 0.00086 0.000853333 +0.000866667 0.000893333 0.000906667 0.00088 0.000866667 0.0009 0.000946667 0.00098 +0.22168 0.2444 0.28416 0.3296 0.382613 0.4432 0.500632 0.515158 +0.523368 0.533474 0.545474 0.553053 0.546737 0.528421 0.501263 0.411013 +0.314453 0.236827 0.000966667 0.000926667 0.000873333 0.000846667 0.00086 0.000866667 +0.000873333 0.000866667 0.00086 0.00084 0.00084 0.000833333 0.000826667 0.000813333 +0.000806667 0.000793333 0.000793333 0.00078 0.000746667 0.000766667 0.000773333 0.00078 +0.0008 0.00084 0.000853333 0.000833333 0.000806667 0.00078 0.00076 0.000733333 +0.000733333 0.000746667 0.000746667 0.000733333 0.000746667 0.000746667 0.000773333 0.000793333 +0.000773333 0.000766667 0.000746667 0.00076 0.000773333 0.000766667 0.00078 0.00078 +0.000813333 0.000853333 0.00092 0.26144 0.361787 0.422373 0.503158 0.605474 +0.775368 0.930105 0.995673 1.00384 0.997306 0.984898 0.968632 0.959789 +0.964842 0.968 0.965474 0.968 0.966105 0.967368 0.972421 0.983592 +0.994694 1.00416 1.00971 1.00971 1.00808 1.0058 1.0058 1.00743 +1.00939 1.00808 1.00547 1.00416 0.998286 0.98751 0.975579 0.968632 +0.981306 0.992082 1.00024 1.00384 1.00155 0.999265 0.997306 0.995673 +0.994367 0.990122 0.984571 0.971789 0.944632 0.914947 0.874526 0.824 +0.769053 0.710316 0.654737 0.610526 0.589053 0.587789 0.589684 0.573263 +0.548 0.526526 0.506947 0.501895 0.508211 0.508842 0.48864 0.473493 +0.475387 0.46024 0.46592 0.479173 0.48296 0.481067 0.479173 0.496213 +0.530316 0.565684 0.548 0.506947 0.4716 0.458347 0.5 0.538526 +0.535368 0.507579 0.504421 0.510105 0.514526 0.513895 0.516421 0.526526 +0.539158 0.551158 0.566316 0.585263 0.605474 0.642737 0.674947 0.672421 +0.663579 0.669263 0.687579 0.722316 0.762105 0.794316 0.820842 0.861895 +0.908 0.945895 0.981306 0.993714 0.999265 1.00253 1.00318 1.00612 +1.00808 1.00155 0.99502 0.991755 0.991102 0.993388 0.991755 0.989469 +0.987184 0.984898 0.985551 0.98751 0.988816 0.991102 0.994041 0.993388 +0.994041 0.996327 0.993714 0.994694 1.0169 1.03224 1.02637 1.02506 +1.03061 1.03388 1.04073 1.04531 1.05184 1.06304 1.05771 1.04629 +1.03192 1.02278 1.01527 1.01396 1.012 1.01004 1.01331 1.01233 +1.01135 1.00971 1.01135 1.01298 1.00514 1.00286 1.00253 1.00482 +1.00939 1.00906 1.00645 1.00645 1.0009 0.994367 0.998939 1.01559 +1.04596 1.04237 1.01363 1.00122 0.998286 1.00449 1.00645 1.00547 +1.00547 1.00873 1.0071 1.00449 1.0058 1.00776 1.00841 1.00743 +1.00939 1.01135 1.01429 1.01592 1.01331 1.00808 1.00612 1.00939 +1.00971 1.00873 1.01559 1.03551 1.09043 1.16803 1.10108 1.05184 +1.04727 1.04694 1.04694 1.04857 1.05086 1.05053 1.05053 1.03714 +1.00743 0.991755 0.986531 0.989469 0.996653 1.00024 1.00482 1.00612 +1.00873 1.01527 1.012 1.01624 1.02049 1.02408 1.03029 1.03616 +1.04498 1.05118 1.05249 1.05771 1.07826 1.10869 1.12543 1.1163 +1.08739 1.0813 1.06761 1.06609 1.07369 1.05902 1.05282 1.05086 +1.05216 1.05347 1.05641 1.08587 1.13912 1.21064 1.28824 1.37041 +1.42975 1.47692 1.49518 1.46931 1.44649 1.40541 1.34758 1.28063 +1.20912 1.14673 1.08891 1.05543 1.04433 1.03453 1.02637 1.0218 +1.02114 1.01951 1.01592 1.00939 1.00253 0.998939 0.997959 0.996653 +0.993061 0.992735 0.994694 0.995347 0.99502 0.994041 0.994041 0.995347 +0.998612 1.00024 0.998939 0.999918 1.00318 1.00416 1.00416 1.0022 +0.995347 0.991429 0.993714 0.998286 1.00057 1.00253 1.00384 1.00482 +1.00612 1.00351 1.00351 1.00351 0.998286 0.986531 0.974316 0.962316 +0.952842 0.954105 0.958526 0.955368 0.950316 0.950947 0.964211 0.984571 +0.997306 1.00384 0.996653 0.945263 0.805684 0.637053 0.518947 0.411013 +0.344747 0.26712 0.000906667 0.000813333 0.000786667 0.000806667 0.000813333 0.00078 +0.0008 0.000833333 0.000893333 0.00088 0.000893333 0.000886667 0.00088 0.00086 +0.00084 0.000846667 0.000826667 0.000826667 0.00086 0.000913333 0.240613 0.3296 +0.446987 0.526526 0.557474 0.580211 0.599158 0.614316 0.626947 0.637053 +0.638947 0.635789 0.633263 0.628211 0.617474 0.606737 0.614316 0.637053 +0.648421 0.662316 0.685684 0.693263 0.657263 0.591579 0.524 0.405333 +0.308773 0.265227 0.23872 0.234933 0.22168 0.000993333 0.216 0.22168 +0.217893 0.000966667 0.000986667 0.000986667 0.000953333 0.000953333 0.000973333 0.00096 +0.000966667 0.000986667 0.000973333 0.000966667 0.000986667 0.000973333 0.00096 0.000953333 +0.00096 0.00096 0.000953333 0.000973333 0.000973333 0.00094 0.00096 0.00096 +0.000933333 0.0009 0.000926667 0.000966667 0.000706667 0.000686667 0.00072 0.000753333 +0.000753333 0.000793333 0.000813333 0.00084 0.000853333 0.000853333 0.00084 0.000806667 +0.000786667 0.00078 0.000773333 0.00082 0.000833333 0.00084 0.000846667 0.000833333 +0.00082 0.00082 0.000833333 0.000833333 0.00084 0.000866667 0.00088 0.000913333 +0.000953333 0.000966667 0.00098 0.217893 0.231147 0.263333 0.320133 0.39208 +0.4716 0.522737 0.56 0.596632 0.628842 0.653474 0.671158 0.676842 +0.672421 0.669263 0.68 0.696421 0.693895 0.679368 0.658526 0.624421 +0.568842 0.490533 0.30688 0.217893 0.000873333 0.00082 0.00082 0.0008 +0.000793333 0.000766667 0.000746667 0.000746667 0.000766667 0.00076 0.00078 0.000793333 +0.000773333 0.000766667 0.000766667 0.000766667 0.000746667 0.00076 0.000766667 0.00076 +0.000773333 0.00082 0.00086 0.00086 0.000826667 0.000813333 0.000806667 0.000773333 +0.000766667 0.00078 0.000786667 0.00076 0.000766667 0.000766667 0.00078 0.000766667 +0.000746667 0.000766667 0.000773333 0.00078 0.00078 0.000773333 0.000786667 0.000793333 +0.000813333 0.000806667 0.000826667 0.00088 0.25576 0.35232 0.40912 0.502526 +0.595368 0.752 0.910526 0.991429 1.00416 0.998286 0.986857 0.974316 +0.964211 0.959789 0.957263 0.956632 0.953474 0.959789 0.966105 0.971158 +0.982286 0.993061 1.00351 1.00678 1.00743 1.0071 1.00678 1.00612 +1.0071 1.00841 1.00612 1.00482 1.00416 0.999265 0.989143 0.978737 +0.975579 0.981633 0.98849 0.99698 1.00057 1.00024 0.999918 0.999592 +0.999918 0.998612 0.994694 0.989796 0.976842 0.952211 0.932632 0.910526 +0.876421 0.825263 0.753263 0.677474 0.640211 0.635158 0.633263 0.623789 +0.612421 0.601684 0.580842 0.563158 0.546737 0.524 0.506947 0.5 +0.496213 0.498107 0.508211 0.505684 0.5 0.503158 0.510105 0.531579 +0.573263 0.587158 0.545474 0.503789 0.479173 0.481067 0.511368 0.553053 +0.565053 0.553053 0.553684 0.56 0.571368 0.583368 0.601684 0.626316 +0.641474 0.638947 0.644 0.663579 0.682526 0.709053 0.74 0.741263 +0.736211 0.755789 0.790526 0.832211 0.872 0.902316 0.935158 0.962316 +0.982612 0.993388 1.00253 1.00645 1.0058 1.0058 1.00514 1.00678 +1.00384 0.997306 0.99698 0.998612 0.998286 0.994367 0.990122 0.991102 +0.990122 0.987837 0.989469 0.991102 0.992082 0.996 0.99698 0.996 +0.99698 0.996 0.991755 0.996653 1.02245 1.03453 1.02637 1.02571 +1.03094 1.03551 1.04433 1.05282 1.05282 1.04269 1.02963 1.0169 +1.00776 1.0058 1.00318 1.00645 1.0071 1.00514 1.00678 1.00906 +1.01265 1.01037 1.01265 1.01298 1.00743 1.00547 1.00024 0.999592 +1.00318 1.00482 1.00449 1.00645 1.00449 0.999918 1.00514 1.0231 +1.04955 1.04531 1.0218 1.00776 1.00416 1.01037 1.01069 1.00776 +1.00612 1.00645 1.00416 1.00286 1.00743 1.012 1.01331 1.01004 +1.00808 1.01102 1.01396 1.01461 1.00971 1.00514 1.00514 1.00678 +1.00416 0.999592 1.00122 1.00906 1.03322 1.07978 1.11326 1.05902 +1.0489 1.04629 1.05053 1.05216 1.05543 1.06152 1.05412 1.02735 +0.99502 0.986204 0.989143 0.993714 0.997959 0.999918 1.0022 1.00514 +1.00612 1.01037 1.0071 1.00482 1.0071 1.00776 1.00971 1.01069 +1.01657 1.02898 1.0378 1.04367 1.04824 1.05445 1.05902 1.0813 +1.10717 1.12695 1.12239 1.1163 1.1026 1.06152 1.05118 1.04367 +1.04204 1.04008 1.03714 1.03584 1.0391 1.04531 1.05184 1.05837 +1.0813 1.14521 1.20455 1.21825 1.24411 1.28215 1.29585 1.27759 +1.25172 1.23194 1.20151 1.15434 1.10717 1.07065 1.05282 1.044 +1.04073 1.03747 1.03453 1.028 1.01918 1.01298 1.00906 1.00416 +0.998939 0.99698 0.996653 0.996 0.997306 0.998286 0.997633 0.999592 +1.00286 1.0022 1.00155 1.00384 1.00253 1.0009 1.00057 0.998286 +0.996653 0.998286 1.00122 1.00514 1.0058 1.00547 1.0058 1.00645 +1.00547 1.00318 1.00155 0.99502 0.981959 0.961053 0.950947 0.948421 +0.946526 0.946526 0.946526 0.948421 0.954105 0.968632 0.985224 0.998286 +1.0071 0.999592 0.944 0.791789 0.621895 0.518316 0.42048 0.339067 +0.259547 0.000946667 0.000826667 0.000826667 0.000846667 0.00086 0.000873333 0.00092 +0.00094 0.000906667 0.000933333 0.000886667 0.000886667 0.00086 0.000853333 0.00084 +0.000826667 0.000826667 0.000846667 0.00094 0.257653 0.342853 0.46592 0.527158 +0.557474 0.584 0.598526 0.607368 0.618105 0.628842 0.632632 0.634526 +0.631368 0.626316 0.621895 0.611789 0.59979 0.611158 0.65979 0.717895 +0.731158 0.702737 0.649053 0.583368 0.516421 0.39208 0.30688 0.26712 +0.236827 0.23304 0.216 0.216 0.217893 0.00098 0.000973333 0.000993333 +0.217893 0.000973333 0.000946667 0.00096 0.00094 0.000926667 0.00092 0.000913333 +0.000913333 0.000953333 0.00094 0.000926667 0.000953333 0.00094 0.00092 0.000926667 +0.00094 0.000953333 0.000926667 0.000926667 0.00094 0.000926667 0.000913333 0.000953333 +0.000953333 0.000906667 0.000913333 0.000926667 0.000806667 0.00082 0.000826667 0.00084 +0.000846667 0.00086 0.000866667 0.000846667 0.000853333 0.000853333 0.000853333 0.000826667 +0.0008 0.000786667 0.000793333 0.000813333 0.000813333 0.000813333 0.0008 0.000766667 +0.00076 0.000766667 0.00076 0.000766667 0.000806667 0.000826667 0.000873333 0.000946667 +0.219787 0.23872 0.287947 0.371253 0.46592 0.534105 0.585895 0.635789 +0.684421 0.724842 0.753263 0.768421 0.768421 0.758316 0.741263 0.718526 +0.696421 0.685053 0.690737 0.706526 0.707789 0.702105 0.708421 0.732421 +0.738737 0.678105 0.573263 0.464027 0.314453 0.234933 0.000933333 0.000846667 +0.000806667 0.00076 0.00076 0.000753333 0.000726667 0.000726667 0.000753333 0.000766667 +0.000773333 0.00078 0.000786667 0.000793333 0.0008 0.0008 0.000766667 0.000726667 +0.000713333 0.000733333 0.00076 0.000793333 0.000793333 0.000793333 0.00078 0.000766667 +0.000746667 0.00074 0.000733333 0.000733333 0.000773333 0.00076 0.000733333 0.00076 +0.000753333 0.000773333 0.00078 0.000773333 0.000793333 0.0008 0.000806667 0.0008 +0.000806667 0.000786667 0.000806667 0.000813333 0.000893333 0.26144 0.342853 0.412907 +0.501263 0.576421 0.724842 0.887789 0.985551 1.0022 0.999918 0.991755 +0.980327 0.961053 0.952211 0.950316 0.947789 0.950316 0.959789 0.964842 +0.969895 0.977474 0.988163 0.998939 1.0058 1.00808 1.00678 1.00547 +1.00514 1.0071 1.00645 1.00449 1.00253 1.00122 0.999592 0.994694 +0.989143 0.984571 0.983918 0.98849 0.995347 1.00024 1.0022 1.00253 +1.0022 1.00122 0.998939 0.996653 0.990449 0.980653 0.966105 0.954737 +0.938947 0.914316 0.865053 0.794316 0.739368 0.710947 0.693895 0.677474 +0.668 0.676211 0.676842 0.654737 0.606105 0.558105 0.535368 0.523368 +0.508842 0.504421 0.515158 0.520842 0.524632 0.534737 0.542947 0.556211 +0.576421 0.575789 0.535368 0.498107 0.490533 0.511368 0.536632 0.566316 +0.585895 0.606105 0.628842 0.638947 0.650947 0.665474 0.684421 0.710947 +0.730526 0.731158 0.734316 0.749474 0.767158 0.788632 0.812632 0.826526 +0.839158 0.863789 0.898526 0.932 0.956 0.974947 0.989143 0.998286 +1.00514 1.01037 1.01233 1.00906 1.0058 1.0058 1.00449 1.00318 +0.999918 1.00024 1.00253 1.00122 0.998612 0.993388 0.992408 0.995673 +0.995673 0.993714 0.993388 0.993061 0.993714 0.995347 0.995347 0.996653 +0.995347 0.992735 0.98751 0.997633 1.02473 1.03453 1.02669 1.02637 +1.03257 1.03714 1.04596 1.05804 1.04269 1.01886 1.01037 1.00155 +0.996327 0.997633 0.996327 0.997959 1.00286 1.00678 1.00482 1.00514 +1.01069 1.01265 1.01396 1.01298 1.00841 1.00514 1.0009 1.0009 +1.00286 1.00612 1.0058 1.00678 1.0058 1.0022 1.00939 1.03388 +1.05543 1.04857 1.03192 1.01788 1.01135 1.01429 1.00971 1.00678 +1.00612 1.00482 1.00416 1.00351 1.0071 1.01102 1.01331 1.01396 +1.012 1.01135 1.01298 1.01429 1.01069 1.00906 1.01037 1.00906 +0.999918 0.990122 0.993061 1.00057 1.012 1.03355 1.05608 1.09195 +1.0813 1.05706 1.05673 1.05967 1.095 1.08891 1.04204 1.00939 +0.98849 0.98849 0.993388 0.998612 1.00384 1.00155 0.998612 1.00155 +1.00351 1.00612 1.00645 1.00318 1.00416 1.00253 1.00024 0.99698 +0.997633 1.00351 1.012 1.02049 1.03029 1.04106 1.05151 1.06913 +1.11934 1.16195 1.18021 1.1726 1.15586 1.12999 1.08891 1.05314 +1.044 1.0378 1.03061 1.02604 1.02865 1.03257 1.03518 1.03747 +1.03747 1.04204 1.05053 1.05641 1.07522 1.11021 1.13608 1.15434 +1.16499 1.16347 1.14217 1.11021 1.07369 1.05673 1.05151 1.04629 +1.04498 1.04041 1.0378 1.0342 1.02571 1.01788 1.01363 1.00841 +1.00122 0.997959 0.997306 0.996653 0.998612 0.999592 0.998286 1.00188 +1.00449 1.00286 1.00188 1.00188 0.997959 0.99502 0.996 0.999592 +1.00384 1.00514 1.00645 1.00873 1.00971 1.00841 1.00678 1.0058 +1.00384 1.0009 0.991755 0.976842 0.955368 0.946526 0.947158 0.948421 +0.948421 0.949684 0.949684 0.961053 0.981306 0.991755 0.999265 1.00514 +0.997633 0.934526 0.782947 0.616842 0.513895 0.42048 0.331493 0.251973 +0.000906667 0.000853333 0.000813333 0.000793333 0.000833333 0.000886667 0.000893333 0.000973333 +0.000946667 0.000846667 0.000846667 0.00082 0.000826667 0.000826667 0.00082 0.000813333 +0.000866667 0.216 0.276587 0.371253 0.496213 0.537263 0.569474 0.590316 +0.600421 0.613684 0.623789 0.628842 0.630737 0.635789 0.637684 0.635789 +0.631368 0.627579 0.628842 0.638947 0.660421 0.698316 0.727368 0.717263 +0.656632 0.578947 0.509474 0.382613 0.30688 0.265227 0.2444 0.240613 +0.22168 0.22168 0.216 0.00096 0.000966667 0.000986667 0.00098 0.00098 +0.22168 0.223573 0.000993333 0.000973333 0.000973333 0.00098 0.000953333 0.000946667 +0.00094 0.000926667 0.000933333 0.000926667 0.000953333 0.00094 0.000946667 0.00096 +0.00094 0.00094 0.00096 0.000946667 0.00096 0.000953333 0.000926667 0.000946667 +0.00096 0.000946667 0.00094 0.00096 0.000846667 0.000846667 0.00082 0.000806667 +0.000786667 0.000806667 0.000793333 0.00076 0.000753333 0.000753333 0.00076 0.000733333 +0.0007 0.000713333 0.000733333 0.00074 0.000733333 0.000733333 0.000746667 0.000733333 +0.00072 0.000733333 0.00076 0.000813333 0.000893333 0.223573 0.280373 0.354213 +0.44888 0.529053 0.588421 0.653474 0.715368 0.770947 0.812 0.834737 +0.843579 0.839789 0.824632 0.804421 0.782947 0.761474 0.744421 0.729263 +0.717895 0.712211 0.710947 0.712211 0.705263 0.697684 0.704632 0.742526 +0.783579 0.760211 0.681263 0.608 0.552421 0.503158 0.378827 0.27848 +0.000966667 0.000806667 0.00076 0.000733333 0.000706667 0.000693333 0.0007 0.00068 +0.0007 0.000786667 0.00092 0.223573 0.242507 0.240613 0.000966667 0.000853333 +0.00078 0.00074 0.000726667 0.000753333 0.000793333 0.00082 0.000813333 0.000786667 +0.00076 0.00074 0.00074 0.00074 0.000766667 0.000753333 0.00074 0.000773333 +0.00078 0.000773333 0.000766667 0.00076 0.000766667 0.00078 0.000773333 0.000733333 +0.000746667 0.000753333 0.000766667 0.000786667 0.000786667 0.000893333 0.240613 0.314453 +0.388293 0.4716 0.559368 0.693895 0.852421 0.968632 0.999265 1.00155 +0.993388 0.981633 0.962316 0.952842 0.951579 0.949684 0.950316 0.956632 +0.963579 0.964842 0.972421 0.986204 0.997959 1.00514 1.00776 1.00873 +1.00841 1.00808 1.00971 1.00906 1.00645 1.00449 1.00482 1.00351 +1.00122 0.998286 0.993388 0.989796 0.992408 0.998286 1.00155 1.00351 +1.00351 1.00188 0.999265 0.996 0.993061 0.988816 0.985224 0.981633 +0.974316 0.964211 0.942105 0.906737 0.870105 0.837895 0.811368 0.779789 +0.755158 0.750105 0.744421 0.722316 0.68 0.640842 0.615579 0.596632 +0.573895 0.568842 0.569474 0.569474 0.576421 0.572632 0.557474 0.549263 +0.558737 0.582105 0.572632 0.539789 0.533474 0.554316 0.582737 0.59979 +0.619368 0.661053 0.699579 0.711579 0.715368 0.717895 0.724842 0.750105 +0.778526 0.786105 0.794316 0.812 0.840421 0.872 0.897895 0.918105 +0.935158 0.949053 0.967368 0.982939 0.992408 1.00318 1.01461 1.02278 +1.02604 1.0231 1.01429 1.00612 1.00416 1.0058 1.00384 1.00188 +1.00253 1.0058 1.00645 1.00318 1.00057 0.998612 0.999265 0.998939 +0.996653 0.995347 0.994041 0.993061 0.995347 0.994694 0.994367 0.994367 +0.991429 0.988816 0.984571 0.997306 1.02669 1.03845 1.0329 1.03224 +1.03976 1.04367 1.05151 1.05935 1.03584 1.012 1.00547 0.999265 +0.99698 0.997633 0.995347 0.993061 0.999265 1.01069 1.01135 1.00971 +1.00906 1.01037 1.01233 1.01037 1.00873 1.00416 0.999592 1.00057 +1.00155 1.00482 1.00612 1.00808 1.00743 1.00645 1.01265 1.03943 +1.05869 1.0502 1.03812 1.02865 1.02049 1.01429 1.00482 1.00286 +1.00253 0.999918 1.00122 1.00351 1.00841 1.00971 1.00971 1.01069 +1.01004 1.00873 1.00906 1.01233 1.01167 1.01102 1.01265 1.01037 +0.999265 0.991429 0.996653 1.00416 1.00971 1.01494 1.02767 1.04792 +1.06761 1.07217 1.06304 1.07369 1.06609 1.04237 1.01233 0.992408 +0.986531 0.992408 0.997633 1.00024 1.00351 1.0058 1.00253 1.00384 +1.00612 1.00808 1.00971 1.00841 1.00939 1.0071 1.00482 0.998939 +0.993061 0.993061 0.99502 0.999592 1.0071 1.01722 1.02963 1.04106 +1.05445 1.09956 1.1726 1.21825 1.23042 1.21825 1.18782 1.14217 +1.08587 1.05576 1.04498 1.03682 1.03486 1.03584 1.0329 1.03094 +1.02833 1.02931 1.03518 1.03943 1.04694 1.05706 1.07826 1.09043 +1.09195 1.09043 1.06609 1.05837 1.05576 1.05347 1.05478 1.05249 +1.04857 1.04204 1.03878 1.03486 1.02539 1.01657 1.01135 1.00808 +1.00351 1.0009 1.00122 1.0022 1.00188 1.00188 0.999918 0.998612 +0.999265 0.998286 0.996327 0.992082 0.98849 0.988163 0.992735 1.00057 +1.00482 1.00514 1.00547 1.00514 1.00678 1.00547 1.00286 1.0009 +0.99698 0.989796 0.975579 0.955368 0.952842 0.952842 0.949684 0.950316 +0.950316 0.957895 0.969895 0.986204 0.998939 1.00514 1.0058 0.993714 +0.920632 0.766526 0.604211 0.506947 0.40344 0.303093 0.00098 0.000846667 +0.00076 0.000773333 0.000826667 0.000826667 0.000873333 0.00092 0.00088 0.00088 +0.000846667 0.000786667 0.00076 0.000766667 0.000826667 0.00086 0.000913333 0.217893 +0.29552 0.416693 0.512632 0.549895 0.581474 0.599158 0.609263 0.617474 +0.625053 0.630737 0.635158 0.639579 0.636421 0.636421 0.639579 0.640842 +0.647158 0.666737 0.692632 0.716 0.717895 0.692 0.642737 0.573263 +0.505053 0.376933 0.3012 0.26144 0.246293 0.23304 0.219787 0.223573 +0.000986667 0.000986667 0.000993333 0.000973333 0.000973333 0.000986667 0.217893 0.000973333 +0.000973333 0.000973333 0.00096 0.000946667 0.00094 0.00096 0.000953333 0.000946667 +0.000946667 0.000933333 0.000933333 0.00092 0.000926667 0.00092 0.000946667 0.00098 +0.000946667 0.000926667 0.000953333 0.000946667 0.000966667 0.000946667 0.00094 0.000966667 +0.000993333 0.00096 0.00096 0.000986667 0.000813333 0.0008 0.000766667 0.000746667 +0.000746667 0.000753333 0.000753333 0.000733333 0.000726667 0.00072 0.000706667 0.000693333 +0.000673333 0.000686667 0.000713333 0.00072 0.000713333 0.000726667 0.00078 0.00082 +0.000866667 0.000953333 0.25008 0.31256 0.407227 0.514526 0.569474 0.636421 +0.709053 0.776 0.827789 0.860632 0.871368 0.861895 0.837263 0.803789 +0.767158 0.733684 0.702737 0.675579 0.656632 0.642737 0.635789 0.633895 +0.633895 0.641474 0.652842 0.667368 0.68 0.690737 0.699579 0.704632 +0.690737 0.642737 0.603579 0.604211 0.616842 0.614316 0.589053 0.548 +0.502526 0.371253 0.263333 0.00094 0.0008 0.00072 0.00072 0.000706667 +0.000753333 0.00098 0.291733 0.344747 0.390187 0.405333 0.38072 0.32392 +0.23872 0.00086 0.00076 0.000733333 0.000746667 0.000793333 0.0008 0.000793333 +0.000773333 0.000766667 0.000773333 0.000746667 0.000766667 0.000753333 0.000746667 0.00078 +0.00076 0.000753333 0.000766667 0.00076 0.00076 0.000766667 0.000753333 0.000733333 +0.000753333 0.00078 0.000766667 0.000766667 0.000766667 0.0008 0.000866667 0.223573 +0.30688 0.388293 0.452667 0.537895 0.659158 0.818947 0.949684 0.996327 +1.00286 0.99698 0.984898 0.967368 0.956 0.950947 0.947789 0.948421 +0.954105 0.959789 0.962947 0.969263 0.983265 0.993388 1.0022 1.00808 +1.00906 1.00841 1.00971 1.00939 1.00841 1.0071 1.00678 1.00514 +1.00384 1.00384 1.0022 0.997633 0.996653 0.997633 0.999592 1.00024 +1.00024 1.0022 1.00253 1.00057 0.997633 0.995673 0.994694 0.992082 +0.991102 0.990122 0.984245 0.968 0.950316 0.932632 0.914316 0.892842 +0.872632 0.849895 0.819579 0.789895 0.763368 0.737474 0.720421 0.705263 +0.685053 0.687579 0.678105 0.655368 0.647789 0.624421 0.590316 0.575158 +0.589053 0.625684 0.640211 0.631368 0.629474 0.640842 0.66421 0.687579 +0.702105 0.728632 0.760842 0.778526 0.782947 0.776632 0.777263 0.801895 +0.836 0.847368 0.856842 0.878316 0.909263 0.938316 0.956632 0.972421 +0.982286 0.98849 0.997633 1.01265 1.02833 1.03976 1.04563 1.04171 +1.0329 1.02343 1.01298 1.00678 1.00678 1.00873 1.0071 1.00416 +1.00514 1.00612 1.00482 1.00286 1.00155 0.999592 0.999265 0.99698 +0.995673 0.996327 0.993388 0.992408 0.993714 0.992735 0.995347 0.994694 +0.992735 0.990449 0.988163 0.99698 1.02245 1.04433 1.04563 1.04629 +1.05249 1.05478 1.05478 1.04563 1.0218 1.00612 1.00155 0.997633 +0.997306 0.998939 0.999265 0.994367 0.998286 1.00743 1.00906 1.01037 +1.0071 1.00449 1.00612 1.0071 1.00841 1.00286 0.996327 0.993061 +0.994041 0.998612 1.00188 1.00253 1.00318 1.00906 1.01755 1.04171 +1.05837 1.04988 1.044 1.03649 1.02637 1.01494 1.00449 1.00449 +1.0022 1.00024 1.00482 1.00678 1.00873 1.00971 1.00873 1.0071 +1.00547 1.00612 1.00906 1.01167 1.01298 1.01102 1.00939 1.00743 +1.00318 1.0009 1.00351 1.00743 1.01004 1.01167 1.012 1.02049 +1.02996 1.03584 1.03976 1.0378 1.02604 1.01135 1.00057 0.992735 +0.990776 0.999265 1.00514 1.00612 1.00678 1.00939 1.00612 1.0071 +1.01004 1.00971 1.00841 1.00808 1.00873 1.0071 1.00612 1.00318 +0.999265 0.998939 0.99698 0.99502 0.995673 0.996327 1.00122 1.01004 +1.0231 1.0391 1.05902 1.14825 1.22281 1.27607 1.3065 1.3065 +1.2639 1.20455 1.13304 1.07674 1.05412 1.04531 1.03845 1.03518 +1.03224 1.02963 1.03192 1.03616 1.04531 1.05576 1.05902 1.05673 +1.05314 1.05086 1.05086 1.05412 1.05706 1.05902 1.06152 1.05771 +1.05216 1.04824 1.04498 1.03714 1.02637 1.01951 1.01429 1.01167 +1.00841 1.00351 1.00122 1.00188 1.00318 1.00253 0.997306 0.994367 +0.99502 0.994041 0.98849 0.984898 0.987184 0.992735 0.99698 1.0009 +1.00351 1.00449 1.00286 1.00188 1.00416 1.00416 1.00024 0.995347 +0.984898 0.968632 0.957263 0.954105 0.957895 0.954737 0.947158 0.949684 +0.957895 0.974947 0.988816 0.998612 1.00416 1.00449 0.989143 0.902316 +0.745053 0.594105 0.501895 0.382613 0.303093 0.219787 0.000813333 0.000786667 +0.000806667 0.000806667 0.00086 0.000926667 0.00092 0.000906667 0.000873333 0.000853333 +0.000833333 0.000846667 0.000813333 0.00082 0.000946667 0.25576 0.337173 0.439413 +0.523368 0.565053 0.593474 0.610526 0.62 0.625684 0.628211 0.629474 +0.635158 0.637053 0.637053 0.645263 0.648421 0.651579 0.669895 0.693263 +0.719158 0.733684 0.728 0.689474 0.627579 0.556211 0.49432 0.376933 +0.3012 0.26712 0.248187 0.236827 0.236827 0.23304 0.22736 0.229253 +0.000993333 0.00098 0.00098 0.00098 0.000993333 0.000993333 0.22168 0.219787 +0.000993333 0.00098 0.000973333 0.000966667 0.000953333 0.000953333 0.00096 0.000973333 +0.000973333 0.000973333 0.00098 0.000966667 0.00096 0.00096 0.00096 0.000986667 +0.00098 0.00098 0.00098 0.000973333 0.00098 0.000966667 0.000933333 0.00098 +0.00098 0.00098 0.000966667 0.000993333 0.000813333 0.000806667 0.000773333 0.000786667 +0.000793333 0.00076 0.00076 0.000746667 0.00074 0.000726667 0.000726667 0.000753333 +0.00076 0.00074 0.000773333 0.0008 0.000833333 0.000946667 0.23304 0.286053 +0.361787 0.46024 0.529053 0.584632 0.655368 0.728 0.793684 0.842316 +0.866316 0.86 0.829684 0.788632 0.738105 0.686316 0.638947 0.597895 +0.563789 0.537895 0.517684 0.501895 0.48296 0.467813 0.46024 0.456453 +0.462133 0.475387 0.5 0.512632 0.530947 0.549895 0.565684 0.570737 +0.551789 0.517053 0.501263 0.517684 0.549895 0.587158 0.616211 0.630737 +0.626316 0.600421 0.556842 0.506947 0.376933 0.259547 0.000933333 0.000833333 +0.00086 0.26712 0.361787 0.395867 0.435627 0.44888 0.46024 0.458347 +0.382613 0.280373 0.000946667 0.00078 0.00074 0.000766667 0.00076 0.000773333 +0.00078 0.000773333 0.000773333 0.000753333 0.000746667 0.000726667 0.000726667 0.000753333 +0.00074 0.000726667 0.000746667 0.000773333 0.00076 0.000746667 0.00076 0.000753333 +0.00076 0.000786667 0.00078 0.000786667 0.00078 0.000773333 0.000813333 0.000906667 +0.22736 0.28416 0.359893 0.435627 0.527789 0.632632 0.786105 0.92379 +0.992082 1.00384 0.999918 0.989143 0.974316 0.957895 0.950947 0.947789 +0.949684 0.956 0.959158 0.961684 0.967368 0.98098 0.989469 0.997959 +1.00416 1.00678 1.00645 1.00678 1.00743 1.00776 1.00645 1.00514 +1.00351 1.00318 1.00155 1.00122 1.0009 0.999592 0.998286 0.997633 +0.99698 0.997959 0.999592 0.999592 0.999592 0.999918 0.999592 0.998939 +0.998612 0.997959 0.99698 0.992735 0.986531 0.979368 0.963579 0.948421 +0.937684 0.925684 0.908632 0.887158 0.865684 0.841684 0.821474 0.805684 +0.788632 0.787368 0.777263 0.752632 0.737474 0.714105 0.685053 0.672421 +0.686947 0.707158 0.716632 0.726737 0.732421 0.736842 0.758316 0.793684 +0.805684 0.808842 0.827158 0.851158 0.861263 0.861263 0.865053 0.878947 +0.901684 0.912421 0.920632 0.932 0.952211 0.974947 0.985224 0.995673 +1.01102 1.02931 1.04465 1.05935 1.08587 1.06304 1.05347 1.04237 +1.02996 1.01984 1.01363 1.01135 1.00841 1.00841 1.0071 1.00351 +1.00384 1.00547 1.00318 1.00155 1.0022 1.00057 0.997306 0.995347 +0.99502 0.992408 0.989143 0.990776 0.98849 0.98751 0.992408 0.992408 +0.992408 0.989796 0.989143 0.992735 1.00449 1.02931 1.04629 1.05804 +1.08587 1.05902 1.04237 1.02016 1.00416 1.00155 1.00253 1.00155 +1.00057 1.00286 1.00547 1.0022 1.00416 1.00776 1.00906 1.01265 +1.012 1.00841 1.00612 1.00678 1.01004 1.00547 0.999265 0.992408 +0.988816 0.993714 0.998939 0.998939 0.998286 1.00906 1.02604 1.05086 +1.06609 1.05249 1.05118 1.04498 1.03257 1.01592 1.0058 1.00514 +1.00253 1.00253 1.00776 1.00678 1.00514 1.00645 1.00906 1.00776 +1.00612 1.00612 1.00906 1.01069 1.01037 1.00841 1.00449 1.00286 +1.00384 1.00547 1.00645 1.00776 1.00841 1.00906 1.00743 1.00873 +1.00939 1.00939 1.01004 1.01004 1.00482 1.00122 1.00318 1.00024 +0.997633 1.00318 1.00645 1.00743 1.00776 1.01004 1.00906 1.00873 +1.01004 1.00971 1.01037 1.01004 1.01135 1.00971 1.00906 1.00971 +1.00873 1.00678 1.00547 1.00416 0.999592 0.993714 0.990122 0.991102 +0.996653 1.00743 1.02343 1.04465 1.08891 1.18782 1.29281 1.37345 +1.42671 1.44345 1.41301 1.36128 1.28215 1.18477 1.11173 1.06456 +1.05314 1.04465 1.03878 1.04008 1.04661 1.05478 1.05706 1.05347 +1.05118 1.05151 1.05771 1.08739 1.1026 1.09652 1.07369 1.06609 +1.05837 1.05314 1.04824 1.04041 1.03159 1.02376 1.01527 1.01069 +1.00743 1.0022 0.997959 0.996 0.998286 0.996653 0.993714 0.995673 +0.998612 0.994367 0.98751 0.986531 0.992082 0.999265 1.00188 1.00286 +1.00482 1.00678 1.00547 1.00482 1.00449 1.00024 0.990776 0.98 +0.959158 0.949684 0.951579 0.953474 0.953474 0.951579 0.947158 0.956632 +0.974947 0.98849 1.00024 1.00547 1.00155 0.981633 0.877684 0.719158 +0.574526 0.475387 0.361787 0.265227 0.00094 0.000853333 0.000773333 0.000746667 +0.00086 0.00088 0.000893333 0.000926667 0.000873333 0.00082 0.000806667 0.000806667 +0.000793333 0.000873333 0.00096 0.251973 0.35232 0.481067 0.537263 0.573263 +0.602316 0.618105 0.625053 0.632 0.634526 0.635789 0.636421 0.633895 +0.637053 0.644 0.649053 0.665474 0.685684 0.710947 0.738105 0.747579 +0.729263 0.678737 0.612421 0.544842 0.467813 0.361787 0.297413 0.269013 +0.251973 0.236827 0.22736 0.219787 0.219787 0.216 0.216 0.22168 +0.216 0.000973333 0.00096 0.000953333 0.00098 0.000973333 0.219787 0.216 +0.000986667 0.000993333 0.00098 0.00096 0.000966667 0.00096 0.00094 0.000926667 +0.000946667 0.00096 0.000966667 0.000953333 0.00096 0.000966667 0.000953333 0.000953333 +0.000986667 0.000973333 0.000993333 0.217893 0.000973333 0.000966667 0.000926667 0.00096 +0.000953333 0.00094 0.000933333 0.000926667 0.000766667 0.000786667 0.000786667 0.000793333 +0.000786667 0.000753333 0.00072 0.000726667 0.000726667 0.00072 0.000746667 0.00076 +0.000753333 0.00076 0.00082 0.00098 0.282267 0.384507 0.5 0.544842 +0.589053 0.633263 0.688211 0.753263 0.809474 0.836 0.828421 0.791789 +0.739368 0.681895 0.628211 0.579579 0.538526 0.506316 0.4432 0.384507 +0.342853 0.31256 0.297413 0.287947 0.286053 0.287947 0.286053 0.28416 +0.287947 0.286053 0.280373 0.280373 0.291733 0.308773 0.327707 0.342853 +0.350427 0.344747 0.354213 0.378827 0.412907 0.47728 0.520211 0.555579 +0.592842 0.624421 0.638316 0.630737 0.597263 0.546105 0.481067 0.344747 +0.270907 0.314453 0.407227 0.446987 0.441307 0.36936 0.350427 0.418587 +0.462133 0.433733 0.35232 0.259547 0.000926667 0.000846667 0.000813333 0.000793333 +0.000806667 0.000826667 0.00084 0.000806667 0.00076 0.000733333 0.000746667 0.000766667 +0.000726667 0.000726667 0.000746667 0.000733333 0.000746667 0.000733333 0.000746667 0.000753333 +0.00074 0.000746667 0.000766667 0.000786667 0.000766667 0.000766667 0.00078 0.00084 +0.000866667 0.000926667 0.259547 0.350427 0.42616 0.512632 0.603579 0.740632 +0.885263 0.981959 1.0009 0.999265 0.990122 0.976211 0.957263 0.948421 +0.945895 0.948421 0.950947 0.952211 0.957263 0.968 0.974316 0.981633 +0.991429 0.999265 1.0022 1.00384 1.00514 1.00645 1.0058 1.00547 +1.00318 1.00122 1.00188 1.00286 1.0022 1.00122 0.998612 0.997633 +0.99698 0.997306 0.998286 0.99698 0.99698 0.99698 0.997959 0.998939 +0.998939 0.998612 1.00057 1.0022 0.999918 0.996327 0.990776 0.984571 +0.980327 0.972421 0.962947 0.954105 0.945263 0.930737 0.916211 0.901053 +0.884632 0.876421 0.870737 0.859368 0.847368 0.831579 0.817684 0.812 +0.817684 0.822105 0.818316 0.818947 0.825263 0.835368 0.854316 0.880842 +0.890947 0.893474 0.901684 0.912421 0.919368 0.925684 0.933895 0.937053 +0.946526 0.954737 0.967368 0.982612 0.99698 1.01527 1.03388 1.0538 +1.1163 1.17716 1.18629 1.15738 1.09804 1.05412 1.04759 1.04367 +1.03551 1.02604 1.02016 1.01722 1.01265 1.01135 1.01004 1.00416 +1.00253 1.00122 0.999265 0.999592 0.999918 0.998939 0.996653 0.99698 +0.996327 0.991755 0.992082 0.992082 0.990122 0.991755 0.994041 0.992408 +0.992082 0.987184 0.989143 0.992735 0.995347 1.00416 1.01657 1.03127 +1.03486 1.02637 1.01429 1.00286 0.99698 0.999265 1.00024 1.00318 +1.00449 1.00678 1.00873 1.00514 1.00514 1.0058 1.0058 1.00971 +1.012 1.01135 1.00873 1.00873 1.01233 1.0071 1.00514 1.00024 +0.991755 0.994367 1.00155 1.00318 1.0022 1.012 1.03355 1.08587 +1.12695 1.06456 1.05935 1.0551 1.03943 1.01592 1.0058 1.00416 +1.00024 1.00057 1.00482 1.00678 1.00678 1.00612 1.00841 1.00873 +1.00743 1.00808 1.00939 1.01069 1.00645 1.00318 1.00286 1.00318 +1.0058 1.0071 1.00743 1.0071 1.00678 1.0058 1.0009 0.998286 +0.996653 0.998939 1.0009 1.00253 1.00057 0.997306 1.00024 1.00155 +1.0022 1.00612 1.00808 1.00841 1.00776 1.00906 1.00906 1.00939 +1.01167 1.01135 1.012 1.012 1.01331 1.01102 1.00873 1.00939 +1.00939 1.00906 1.01037 1.00971 1.00449 0.996653 0.992082 0.991755 +0.992082 0.994041 1.00057 1.01494 1.02996 1.04629 1.1026 1.2076 +1.32019 1.44192 1.5317 1.59256 1.588 1.53018 1.46475 1.39628 +1.33389 1.24868 1.16195 1.11021 1.09043 1.10413 1.10717 1.08587 +1.08282 1.09652 1.13912 1.1726 1.16347 1.14369 1.11934 1.11934 +1.10869 1.06609 1.05118 1.04367 1.03518 1.02408 1.01298 1.00547 +1.00122 0.997959 0.994041 0.991755 0.993061 0.994041 0.99698 1.0009 +1.0009 0.99698 0.995347 0.997633 1.00155 1.0058 1.0071 1.00547 +1.00645 1.00678 1.00514 1.00286 0.997633 0.989796 0.978105 0.962947 +0.959789 0.961053 0.959789 0.955368 0.952211 0.950947 0.956632 0.974316 +0.988163 0.997633 1.00351 1.00122 0.973053 0.858105 0.700211 0.567579 +0.469707 0.350427 0.257653 0.000893333 0.000786667 0.000773333 0.00076 0.000813333 +0.0009 0.000893333 0.00088 0.000866667 0.000866667 0.000853333 0.000853333 0.000926667 +0.231147 0.299307 0.401547 0.508211 0.549263 0.587158 0.612421 0.625053 +0.633895 0.637053 0.637684 0.643368 0.647158 0.643368 0.644 0.647158 +0.655368 0.671789 0.697053 0.727368 0.746316 0.747579 0.724211 0.667368 +0.596 0.529053 0.433733 0.34096 0.286053 0.265227 0.248187 0.23304 +0.22736 0.223573 0.219787 0.000986667 0.000993333 0.216 0.000966667 0.000993333 +0.000993333 0.000986667 0.00096 0.000933333 0.000966667 0.000953333 0.000966667 0.00098 +0.000966667 0.000946667 0.00094 0.000913333 0.000906667 0.00092 0.00092 0.00092 +0.000933333 0.000953333 0.000966667 0.00094 0.000913333 0.000893333 0.000913333 0.000926667 +0.00096 0.00092 0.00092 0.00094 0.00094 0.000933333 0.000926667 0.000913333 +0.00092 0.00092 0.000906667 0.0009 0.00078 0.00082 0.00084 0.000813333 +0.000806667 0.0008 0.000786667 0.000806667 0.00082 0.000826667 0.000846667 0.000866667 +0.00094 0.25008 0.339067 0.479173 0.546737 0.592842 0.623789 0.642737 +0.662316 0.699579 0.748842 0.777895 0.765895 0.717895 0.657895 0.598526 +0.549895 0.512 0.441307 0.365573 0.31824 0.282267 0.257653 0.2444 +0.234933 0.231147 0.229253 0.231147 0.23304 0.234933 0.234933 0.23872 +0.242507 0.23304 0.229253 0.22168 0.223573 0.231147 0.234933 0.23304 +0.240613 0.25008 0.263333 0.28416 0.30688 0.333387 0.373147 0.428053 +0.49432 0.528421 0.566316 0.606105 0.636421 0.647158 0.630737 0.588421 +0.536632 0.502526 0.5 0.509474 0.504421 0.411013 0.310667 0.316347 +0.39208 0.467813 0.49432 0.4432 0.34664 0.26144 0.00094 0.000813333 +0.000793333 0.000806667 0.00082 0.000813333 0.000793333 0.000786667 0.000786667 0.00078 +0.00074 0.000733333 0.000713333 0.0007 0.000713333 0.000713333 0.00074 0.000733333 +0.000713333 0.000713333 0.000746667 0.00074 0.000726667 0.00072 0.000726667 0.000766667 +0.0008 0.000833333 0.000866667 0.23304 0.310667 0.388293 0.49432 0.566316 +0.692 0.844842 0.960421 0.996327 0.999592 0.992735 0.98098 0.961053 +0.945895 0.942105 0.945263 0.946526 0.948421 0.958526 0.965474 0.971158 +0.980653 0.989469 0.997959 1.00351 1.00645 1.00808 1.0071 1.00612 +1.00482 1.00318 1.00188 1.00188 1.00057 1.00122 0.999918 0.997306 +0.994041 0.993061 0.994694 0.994694 0.995673 0.996327 0.997959 0.999918 +1.00057 1.0009 1.00286 1.00482 1.00547 1.00743 1.00906 1.00873 +1.00776 1.00776 1.00645 1.00384 1.0009 0.992082 0.983592 0.974316 +0.961053 0.949053 0.940211 0.934526 0.92821 0.919368 0.911789 0.907368 +0.908 0.907368 0.901053 0.897263 0.901053 0.909263 0.919368 0.931368 +0.939579 0.945263 0.949053 0.949053 0.954105 0.969895 0.982286 0.989143 +0.999918 1.01298 1.03061 1.0538 1.1376 1.22738 1.29281 1.31259 +1.2852 1.22586 1.1513 1.07826 1.05184 1.04433 1.04139 1.03878 +1.03224 1.02833 1.02245 1.01494 1.01037 1.01265 1.01102 1.00188 +0.997959 0.997633 0.995347 0.995673 0.997306 0.999918 0.999265 1.00057 +0.999265 0.99698 0.997959 0.996327 0.995673 0.998612 0.997959 0.995347 +0.993714 0.991755 0.995673 0.997306 0.997633 0.998612 1.0009 1.00416 +1.00286 1.0009 0.999918 0.997633 0.99502 0.99502 0.993061 0.996 +0.999918 1.00547 1.00678 1.00416 1.00482 1.00514 1.00318 1.00482 +1.0071 1.00645 1.00547 1.00776 1.01102 1.0058 1.00384 0.999918 +0.993388 0.993714 0.999265 1.00384 1.00514 1.01396 1.03682 1.12086 +1.18173 1.10869 1.10413 1.1163 1.0502 1.01918 1.0071 1.00122 +0.999592 1.0009 1.00384 1.00743 1.00808 1.00482 1.00645 1.00841 +1.00776 1.00906 1.00873 1.01102 1.0071 1.00351 1.00612 1.00841 +1.00971 1.00873 1.00841 1.00939 1.00906 1.00547 0.996327 0.993388 +0.994041 0.999592 1.0022 1.00449 1.00547 1.00122 1.00253 1.00547 +1.00482 1.00645 1.00873 1.01069 1.00906 1.00678 1.00776 1.0071 +1.00776 1.00841 1.0071 1.00776 1.00971 1.00873 1.00678 1.00841 +1.01004 1.00971 1.01167 1.01265 1.01135 1.00547 1.00057 1.00057 +1.00188 0.999592 0.997959 1.00482 1.01461 1.01984 1.02669 1.03682 +1.04955 1.10108 1.19542 1.31563 1.43432 1.51953 1.57735 1.60626 +1.61539 1.58343 1.53474 1.49214 1.43127 1.3841 1.33693 1.29128 +1.2715 1.26694 1.29128 1.30194 1.26998 1.23803 1.22281 1.21064 +1.17716 1.11173 1.05641 1.04531 1.03257 1.0182 1.00776 1.00155 +0.99698 0.993388 0.991429 0.991102 0.994041 0.999918 1.00776 1.00841 +1.0058 1.00318 1.00188 1.00318 1.00514 1.00612 1.0058 1.00514 +1.00645 1.00612 1.0022 0.99502 0.984898 0.974947 0.964842 0.962947 +0.966105 0.967368 0.961684 0.957895 0.956632 0.957895 0.978737 0.990449 +0.999265 1.00253 0.996653 0.954737 0.829684 0.674947 0.551789 0.439413 +0.322027 0.240613 0.000866667 0.000813333 0.000833333 0.000813333 0.000866667 0.00094 +0.000913333 0.00088 0.000906667 0.00088 0.000933333 0.229253 0.274693 0.348533 +0.456453 0.525895 0.566316 0.600421 0.619368 0.630737 0.637053 0.638947 +0.640211 0.644 0.645263 0.647158 0.650316 0.652211 0.661684 0.683158 +0.709684 0.733684 0.753263 0.750105 0.709684 0.644632 0.577684 0.517053 +0.4148 0.322027 0.270907 0.246293 0.234933 0.225467 0.22168 0.216 +0.000986667 0.217893 0.219787 0.000966667 0.00096 0.000986667 0.000946667 0.00096 +0.000966667 0.000946667 0.00096 0.000906667 0.000933333 0.000933333 0.00096 0.00098 +0.000986667 0.000966667 0.00094 0.000933333 0.000913333 0.000893333 0.000886667 0.000886667 +0.000913333 0.000933333 0.000946667 0.00092 0.000893333 0.000866667 0.000866667 0.0009 +0.000926667 0.000893333 0.000913333 0.00094 0.000953333 0.000973333 0.000946667 0.000933333 +0.000926667 0.00094 0.00094 0.000946667 0.00086 0.000853333 0.00086 0.00084 +0.000813333 0.000806667 0.000813333 0.000833333 0.000853333 0.0009 0.223573 0.297413 +0.411013 0.519579 0.571368 0.614947 0.637053 0.631368 0.608 0.599158 +0.635158 0.690737 0.709053 0.673053 0.613053 0.556842 0.514526 0.44888 +0.373147 0.31824 0.276587 0.253867 0.242507 0.229253 0.217893 0.216 +0.217893 0.216 0.000993333 0.219787 0.223573 0.223573 0.223573 0.22736 +0.223573 0.217893 0.000986667 0.00098 0.00098 0.217893 0.219787 0.000993333 +0.223573 0.231147 0.229253 0.231147 0.240613 0.251973 0.269013 0.297413 +0.325813 0.356107 0.416693 0.5 0.533474 0.577053 0.619368 0.645895 +0.647789 0.625684 0.600421 0.581474 0.565684 0.539158 0.48864 0.37504 +0.327707 0.356107 0.433733 0.492427 0.498107 0.445093 0.356107 0.265227 +0.000953333 0.00084 0.00082 0.00082 0.000846667 0.000866667 0.000846667 0.000833333 +0.000806667 0.000793333 0.000753333 0.000726667 0.000733333 0.000706667 0.000733333 0.00074 +0.000713333 0.000726667 0.000726667 0.000706667 0.0007 0.000713333 0.000706667 0.000726667 +0.000773333 0.00082 0.000813333 0.000853333 0.217893 0.286053 0.371253 0.456453 +0.537263 0.649053 0.794316 0.922526 0.988816 1.00024 0.996 0.985878 +0.967368 0.950947 0.945263 0.947158 0.945263 0.944 0.955368 0.965474 +0.970526 0.976211 0.984571 0.993388 1.0009 1.00547 1.00645 1.00547 +1.00645 1.00612 1.00384 1.00188 1.00155 1.00318 1.00449 1.0022 +0.997306 0.994694 0.992735 0.989796 0.992408 0.997306 1.00024 1.00286 +1.00188 1.00122 1.00188 1.00155 1.00482 1.01069 1.01624 1.0182 +1.01918 1.02702 1.03812 1.04563 1.04955 1.04629 1.03682 1.02865 +1.02278 1.01624 1.01102 1.00645 0.998939 0.990122 0.984898 0.981959 +0.979368 0.973684 0.971158 0.973053 0.978737 0.982286 0.985224 0.989796 +0.99502 1.00024 1.00482 1.012 1.02408 1.04171 1.06 1.1376 +1.21673 1.2852 1.35367 1.41758 1.44649 1.42366 1.35976 1.27303 +1.18629 1.10108 1.0551 1.04694 1.044 1.04237 1.03943 1.03486 +1.02963 1.02637 1.02212 1.01461 1.01037 1.01135 1.00678 0.99698 +0.992408 0.990122 0.989143 0.991102 0.996 0.998939 0.999265 0.999265 +0.998939 1.00122 1.0009 0.998939 0.998286 0.998612 0.998286 0.997959 +0.99698 0.997959 1.00188 1.00024 0.999592 0.998612 0.996327 0.994367 +0.993061 0.996 0.99698 0.996 0.995673 0.994694 0.992735 0.996 +0.997959 1.00384 1.0058 1.00351 1.00449 1.0058 1.00482 1.00547 +1.00645 1.00449 1.00318 1.00449 1.00645 1.00351 1.00384 1.0009 +0.996 0.994367 0.995673 0.999918 1.0009 1.00873 1.03159 1.11782 +1.19999 1.13912 1.18021 1.21977 1.05967 1.02049 1.0058 0.998286 +0.999592 1.00286 1.00547 1.00873 1.00906 1.00776 1.01004 1.01102 +1.00873 1.00776 1.0058 1.00873 1.00384 1.00253 1.0071 1.00971 +1.01004 1.00939 1.00939 1.00873 1.00776 1.00351 0.998286 1.0009 +1.00318 1.00449 1.00416 1.00286 1.00416 1.00286 1.00416 1.00612 +1.00449 1.00449 1.0071 1.00971 1.00906 1.00808 1.00906 1.00776 +1.00678 1.00841 1.00776 1.00939 1.01233 1.01331 1.01004 1.01004 +1.01102 1.00939 1.00873 1.00939 1.01069 1.00776 1.0058 1.00612 +1.00776 1.00906 1.0058 1.0071 1.01298 1.01429 1.01363 1.01559 +1.0182 1.02376 1.02833 1.03649 1.05118 1.095 1.17716 1.26694 +1.35367 1.42975 1.50583 1.588 1.6306 1.63669 1.62147 1.60169 +1.58648 1.56061 1.5317 1.49366 1.43736 1.38562 1.3415 1.28215 +1.20607 1.11934 1.05314 1.03682 1.0218 1.01069 1.00514 1.00286 +1.0009 0.994041 0.987184 0.989143 0.996 1.00318 1.00873 1.0071 +1.00645 1.0071 1.00514 1.00482 1.00612 1.00743 1.0071 1.00678 +1.0058 1.00286 0.994041 0.982286 0.968 0.960421 0.956 0.958526 +0.958526 0.958526 0.957263 0.959789 0.969895 0.981959 0.99502 1.00318 +1.00547 0.993061 0.930737 0.793053 0.637053 0.530947 0.418587 0.297413 +0.219787 0.000893333 0.00082 0.000866667 0.0009 0.0009 0.00098 0.217893 +0.000926667 0.000906667 0.216 0.248187 0.316347 0.412907 0.508842 0.546105 +0.580842 0.606737 0.621263 0.633895 0.637684 0.634526 0.635158 0.640211 +0.641474 0.644 0.647158 0.649684 0.661053 0.686316 0.715368 0.744421 +0.758316 0.734947 0.691368 0.632 0.563789 0.505053 0.3864 0.31256 +0.274693 0.246293 0.225467 0.219787 0.000986667 0.000973333 0.000986667 0.000986667 +0.000966667 0.000946667 0.000966667 0.00092 0.000906667 0.00094 0.000893333 0.000893333 +0.000913333 0.000886667 0.000913333 0.000893333 0.0009 0.000906667 0.000906667 0.00094 +0.000953333 0.000946667 0.0009 0.000893333 0.000913333 0.000893333 0.0009 0.000873333 +0.000893333 0.000926667 0.000926667 0.00092 0.000906667 0.000926667 0.0009 0.00088 +0.00092 0.000926667 0.000913333 0.000933333 0.000946667 0.00096 0.000946667 0.00096 +0.000946667 0.00092 0.00092 0.00092 0.000833333 0.000806667 0.000833333 0.00082 +0.0008 0.000806667 0.000886667 0.223573 0.282267 0.373147 0.498107 0.549895 +0.595368 0.623158 0.626316 0.606105 0.567579 0.527789 0.520211 0.575158 +0.652211 0.671789 0.621895 0.555579 0.506947 0.43184 0.359893 0.303093 +0.263333 0.246293 0.242507 0.234933 0.225467 0.223573 0.223573 0.22168 +0.223573 0.22168 0.219787 0.217893 0.22168 0.22168 0.223573 0.217893 +0.000966667 0.000953333 0.000966667 0.000973333 0.000973333 0.000966667 0.00096 0.00094 +0.000973333 0.000993333 0.000973333 0.000966667 0.216 0.219787 0.219787 0.231147 +0.240613 0.251973 0.282267 0.316347 0.356107 0.43184 0.513263 0.554316 +0.598526 0.637684 0.662947 0.670526 0.665474 0.647789 0.608632 0.555579 +0.503158 0.399653 0.356107 0.37504 0.433733 0.492427 0.500632 0.4432 +0.354213 0.269013 0.000973333 0.000866667 0.00086 0.000846667 0.000846667 0.000886667 +0.000906667 0.000886667 0.000866667 0.00084 0.000846667 0.00082 0.000793333 0.000786667 +0.000766667 0.000746667 0.000753333 0.000706667 0.000726667 0.00074 0.000726667 0.000753333 +0.000786667 0.00082 0.000853333 0.000866667 0.000893333 0.000966667 0.263333 0.344747 +0.42616 0.519579 0.604211 0.739368 0.880842 0.976842 0.998612 0.999592 +0.991102 0.975579 0.956 0.949053 0.944 0.939579 0.944 0.952211 +0.959158 0.961684 0.968 0.980327 0.987837 0.996 1.00253 1.00547 +1.00612 1.0058 1.00384 1.00286 1.00122 1.00057 1.00286 1.00253 +0.999592 0.997633 0.993388 0.986531 0.985551 0.991755 0.996 0.999592 +1.0009 1.00253 1.0022 1.00188 1.00645 1.01167 1.01592 1.01984 +1.0231 1.03224 1.04433 1.05445 1.09195 1.12847 1.11326 1.10717 +1.12239 1.14673 1.17869 1.20455 1.18934 1.14673 1.11782 1.11478 +1.10869 1.095 1.095 1.11173 1.15282 1.19542 1.23346 1.25781 +1.2852 1.32324 1.35824 1.39323 1.44497 1.49062 1.53474 1.553 +1.53931 1.49974 1.44345 1.38867 1.33085 1.2502 1.1589 1.08282 +1.0551 1.05086 1.04792 1.04596 1.04629 1.04465 1.04041 1.0378 +1.03453 1.02931 1.02408 1.0169 1.01004 1.00547 1.00188 0.996 +0.990776 0.990122 0.992408 0.995673 0.999592 0.999592 1.00057 1.00122 +1.00024 1.00253 1.0009 0.997633 0.997959 0.998612 0.999592 1.00024 +0.998286 0.998612 0.999918 0.998939 0.998286 0.997306 0.997306 0.995673 +0.99502 0.999265 1.00122 0.999592 1.00155 1.00122 1.00155 1.0022 +1.0022 1.00547 1.00449 1.00286 1.00253 1.00416 1.00384 1.00482 +1.00743 1.00416 1.00024 1.00057 1.00318 1.00351 1.00547 1.00743 +1.0022 0.997633 0.993388 0.992408 0.993388 1.00351 1.02833 1.12239 +1.23346 1.19086 1.26694 1.29737 1.05706 1.01396 0.998939 0.994041 +0.999592 1.00416 1.0071 1.00971 1.01037 1.00939 1.00971 1.00678 +1.0022 1.0009 1.00188 1.00776 1.00318 1.00514 1.00776 1.00906 +1.01004 1.00971 1.00939 1.00808 1.00776 1.00743 1.00286 1.00384 +1.00645 1.00743 1.00743 1.00514 1.00416 1.00253 1.00351 1.00645 +1.00645 1.00645 1.00776 1.00873 1.00939 1.00841 1.00939 1.00971 +1.00743 1.00939 1.01004 1.01037 1.01069 1.01069 1.00906 1.00939 +1.01135 1.01135 1.012 1.01167 1.01069 1.01037 1.01233 1.012 +1.01233 1.01559 1.01429 1.01102 1.01135 1.01167 1.01265 1.01363 +1.01429 1.01527 1.01494 1.01494 1.01788 1.02245 1.02473 1.02865 +1.03747 1.04955 1.07826 1.1726 1.27911 1.37497 1.45105 1.518 +1.58648 1.64125 1.64125 1.60778 1.54996 1.47388 1.37193 1.2502 +1.13152 1.05249 1.03388 1.02114 1.01265 1.01037 1.01004 1.01069 +1.01004 1.00024 0.988816 0.989469 0.995673 1.00057 1.00449 1.00547 +1.00645 1.0058 1.00514 1.00776 1.00808 1.00841 1.00776 1.00645 +1.00122 0.992735 0.981959 0.966737 0.962316 0.955368 0.949684 0.951579 +0.951579 0.952211 0.959789 0.975579 0.987837 0.997959 1.00384 1.00286 +0.985878 0.901053 0.755789 0.611158 0.514526 0.382613 0.28416 0.000953333 +0.000826667 0.000806667 0.000813333 0.000853333 0.000886667 0.000906667 0.00092 0.000926667 +0.00098 0.269013 0.354213 0.46592 0.529684 0.563158 0.593474 0.614947 +0.628842 0.637053 0.635789 0.638947 0.640842 0.636421 0.632 0.636421 +0.643368 0.652842 0.669895 0.692632 0.722316 0.753263 0.759579 0.731789 +0.681895 0.608632 0.541053 0.4716 0.365573 0.297413 0.263333 0.231147 +0.22736 0.22736 0.000993333 0.000986667 0.000966667 0.00098 0.000973333 0.000946667 +0.000953333 0.000953333 0.000953333 0.000913333 0.000906667 0.00094 0.000906667 0.0009 +0.000913333 0.000886667 0.0009 0.000933333 0.00094 0.00094 0.000906667 0.000933333 +0.000966667 0.000966667 0.000933333 0.0009 0.000946667 0.000926667 0.000926667 0.000933333 +0.000933333 0.00094 0.000933333 0.000946667 0.00094 0.000946667 0.000973333 0.000926667 +0.0009 0.00094 0.000933333 0.00094 0.000966667 0.000973333 0.00096 0.000966667 +0.00098 0.000966667 0.00096 0.000973333 0.000813333 0.000806667 0.000826667 0.000886667 +0.225467 0.287947 0.37504 0.498107 0.546105 0.588421 0.618105 0.629474 +0.616842 0.578947 0.530316 0.456453 0.365573 0.38072 0.532211 0.630105 +0.654105 0.594737 0.524 0.435627 0.356107 0.3012 0.25576 0.22736 +0.000993333 0.217893 0.217893 0.000966667 0.00094 0.000946667 0.000953333 0.00096 +0.000966667 0.00098 0.000993333 0.000986667 0.216 0.22168 0.22168 0.217893 +0.00098 0.00096 0.000953333 0.000966667 0.000966667 0.000946667 0.000926667 0.000906667 +0.00094 0.00094 0.000926667 0.000933333 0.000973333 0.000986667 0.000973333 0.00098 +0.000986667 0.216 0.225467 0.23304 0.253867 0.28984 0.3296 0.378827 +0.456453 0.522737 0.571368 0.623158 0.668632 0.698316 0.706526 0.691368 +0.649684 0.590947 0.527789 0.4432 0.3864 0.40912 0.46024 0.496213 +0.500632 0.45456 0.371253 0.282267 0.000993333 0.000866667 0.000833333 0.000886667 +0.00092 0.000933333 0.000946667 0.000986667 0.229253 0.23872 0.22168 0.00088 +0.000826667 0.000806667 0.000773333 0.000766667 0.000773333 0.000753333 0.000726667 0.00074 +0.000746667 0.000753333 0.00078 0.000793333 0.000793333 0.00078 0.000826667 0.22168 +0.31256 0.40344 0.502526 0.572632 0.693895 0.840421 0.959789 0.998612 +1.00286 0.992408 0.978737 0.959158 0.946526 0.941474 0.942737 0.946526 +0.952211 0.959789 0.966105 0.971158 0.975579 0.984245 0.994041 1.00155 +1.00318 1.00351 1.00351 1.00318 1.0009 0.999918 0.999592 0.998612 +0.996327 0.996 0.995347 0.991102 0.986531 0.98849 0.990776 0.992408 +0.994367 0.996653 0.999918 1.00384 1.00808 1.01331 1.01918 1.02343 +1.02604 1.03322 1.04106 1.04531 1.05347 1.06609 1.06 1.07065 +1.10565 1.14673 1.21216 1.29737 1.36736 1.40388 1.43127 1.47996 +1.52561 1.5743 1.62452 1.66408 1.69299 1.72342 1.73559 1.7219 +1.71125 1.71277 1.69755 1.67016 1.64278 1.60778 1.56213 1.49062 +1.39323 1.29281 1.19542 1.12695 1.08435 1.05771 1.05151 1.04857 +1.04955 1.05314 1.05412 1.0538 1.05412 1.04824 1.04008 1.03649 +1.03192 1.02604 1.01984 1.01265 1.00449 1.00122 1.0022 0.999265 +0.995673 0.996653 0.998286 1.0022 1.0022 1.00122 1.00318 1.00351 +1.00384 1.00351 1.00024 0.999592 1.00155 1.00057 1.00024 1.00122 +0.999918 0.999918 0.999265 0.997959 0.995673 0.995347 0.999265 0.998612 +0.997959 1.00155 1.00155 0.999918 1.00188 1.00057 1.00122 1.00188 +1.00155 1.00384 1.00351 1.00351 1.00416 1.00449 1.00253 1.00482 +1.00678 1.00253 0.999592 0.997306 0.999265 1.00384 1.00612 1.01037 +1.00743 1.00286 0.99698 0.991102 0.992082 1.00253 1.02833 1.14217 +1.28976 1.26085 1.33693 1.33541 1.05445 1.01135 0.996653 0.994694 +1.00188 1.00743 1.01004 1.01233 1.01233 1.01069 1.00645 1.00253 +0.997633 0.997633 0.998939 1.00351 1.00351 1.00841 1.01135 1.01265 +1.01331 1.01233 1.012 1.01069 1.00906 1.00873 1.0058 1.00449 +1.00743 1.00808 1.00971 1.00743 1.00612 1.0058 1.00514 1.00678 +1.00612 1.00482 1.0071 1.00906 1.01004 1.01004 1.01135 1.01167 +1.00776 1.00776 1.00808 1.00841 1.00873 1.00678 1.0071 1.00873 +1.01167 1.012 1.012 1.01396 1.01363 1.01233 1.01559 1.0169 +1.01461 1.01592 1.01657 1.01527 1.01527 1.01396 1.01331 1.01265 +1.01363 1.01429 1.01331 1.01233 1.01396 1.01918 1.01788 1.01494 +1.01657 1.02049 1.02212 1.02571 1.03388 1.04563 1.05478 1.07522 +1.14369 1.23803 1.29737 1.31107 1.30041 1.25324 1.16043 1.05837 +1.03616 1.02147 1.01624 1.01396 1.01167 1.012 1.01331 1.01363 +1.01265 1.00155 0.989796 0.990449 0.999918 1.00514 1.00841 1.01004 +1.00841 1.0058 1.00678 1.01004 1.01004 1.00841 1.00612 1.00024 +0.991102 0.980653 0.969895 0.966737 0.967368 0.961053 0.957895 0.956632 +0.956 0.960421 0.980653 0.994694 1.0022 1.0071 1.0022 0.976211 +0.867579 0.719789 0.586526 0.503789 0.36936 0.26144 0.00092 0.000826667 +0.00082 0.000846667 0.0009 0.00094 0.000993333 0.22736 0.257653 0.316347 +0.411013 0.513895 0.553684 0.584632 0.608 0.62 0.631368 0.639579 +0.641474 0.640842 0.637684 0.640211 0.644 0.645895 0.647158 0.658526 +0.678737 0.707789 0.736842 0.754526 0.748211 0.717263 0.65979 0.588421 +0.528421 0.43752 0.331493 0.274693 0.248187 0.231147 0.225467 0.00098 +0.000953333 0.000973333 0.000973333 0.000966667 0.00094 0.000946667 0.000966667 0.00096 +0.000966667 0.000966667 0.000986667 0.00098 0.00098 0.000973333 0.000953333 0.000946667 +0.000933333 0.000906667 0.0009 0.00094 0.000966667 0.000946667 0.000933333 0.000933333 +0.00096 0.000966667 0.000946667 0.0009 0.000913333 0.000906667 0.000873333 0.0009 +0.000926667 0.000933333 0.000926667 0.000933333 0.00096 0.00096 0.000966667 0.00094 +0.0009 0.00092 0.00092 0.000966667 0.000993333 0.22168 0.217893 0.000973333 +0.00098 0.000973333 0.00096 0.00096 0.000893333 0.00098 0.274693 0.36936 +0.5 0.547368 0.588421 0.62 0.632 0.62 0.589053 0.548 +0.502526 0.38072 0.287947 0.242507 0.27848 0.490533 0.612421 0.659158 +0.596632 0.513895 0.399653 0.322027 0.269013 0.240613 0.223573 0.000986667 +0.000953333 0.00096 0.000973333 0.000946667 0.000926667 0.000946667 0.00096 0.000953333 +0.000953333 0.000966667 0.000966667 0.00098 0.00098 0.000986667 0.00098 0.00098 +0.000973333 0.000953333 0.00092 0.00092 0.000926667 0.00092 0.000893333 0.000886667 +0.00094 0.000946667 0.000926667 0.000913333 0.00096 0.000973333 0.00094 0.00094 +0.000953333 0.000973333 0.217893 0.217893 0.22168 0.234933 0.242507 0.257653 +0.28984 0.3296 0.401547 0.503158 0.548632 0.600421 0.656 0.705263 +0.732421 0.727368 0.685053 0.623158 0.562526 0.513263 0.45456 0.4432 +0.47728 0.505684 0.505684 0.452667 0.358 0.26712 0.00096 0.000866667 +0.000853333 0.000906667 0.216 0.25008 0.31256 0.358 0.337173 0.286053 +0.229253 0.000893333 0.000833333 0.000813333 0.000793333 0.000773333 0.000753333 0.000766667 +0.00076 0.00076 0.000773333 0.000773333 0.00078 0.000786667 0.00078 0.000806667 +0.00098 0.29552 0.39208 0.48864 0.549263 0.652211 0.794316 0.924421 +0.990122 1.00057 0.994367 0.984245 0.968632 0.950947 0.940842 0.938947 +0.943368 0.950947 0.957895 0.961684 0.963579 0.968632 0.982939 0.991429 +0.997306 1.00253 1.00449 1.00351 1.00253 1.00057 0.998612 0.997306 +0.996653 0.997306 0.99698 0.996653 0.994367 0.992408 0.990776 0.991755 +0.993714 0.993388 0.994041 0.997306 1.00253 1.01004 1.02016 1.02833 +1.03159 1.03649 1.044 1.04629 1.04824 1.05445 1.05249 1.05151 +1.05641 1.05869 1.06456 1.09804 1.15738 1.21673 1.27759 1.34302 +1.40693 1.45105 1.49366 1.52561 1.52713 1.52409 1.52105 1.49974 +1.46931 1.44345 1.41758 1.39019 1.34758 1.30041 1.25477 1.19694 +1.14369 1.08739 1.0551 1.04955 1.04661 1.04531 1.04629 1.05216 +1.05967 1.07674 1.07065 1.06152 1.05706 1.04661 1.03682 1.03224 +1.02473 1.01592 1.00841 1.0009 0.993388 0.992408 0.997306 0.997959 +0.998612 0.998612 0.997959 0.999265 0.999592 0.999918 1.00024 1.00155 +1.00351 1.00286 0.999918 0.999918 1.0009 1.00188 1.00188 1.00057 +0.999592 0.998939 0.997306 0.997306 0.995347 0.996 0.998286 0.996327 +0.997633 0.998939 0.997959 1.0009 1.00188 0.999918 1.0009 1.00188 +1.00253 1.00514 1.00612 1.00482 1.0058 1.00612 1.00384 1.00678 +1.00678 1.00351 1.00155 0.995347 0.993061 0.999918 1.00514 1.00808 +1.00645 1.0058 1.0022 0.994041 0.990449 0.994694 1.02082 1.12086 +1.24716 1.20303 1.27911 1.29128 1.05282 1.01429 0.999918 1.00024 +1.00612 1.01069 1.01233 1.01331 1.01102 1.00743 1.00253 0.999918 +1.00057 1.00384 1.00057 1.00024 1.00351 1.00808 1.00971 1.01167 +1.01265 1.01037 1.00971 1.00808 1.00645 1.0071 1.00612 1.00547 +1.0071 1.00482 1.0058 1.00612 1.00449 1.00449 1.00678 1.00906 +1.00841 1.00743 1.00939 1.01037 1.00873 1.01037 1.01363 1.01461 +1.01167 1.01265 1.01265 1.01167 1.01069 1.01037 1.01135 1.01102 +1.01233 1.01331 1.01102 1.01069 1.01102 1.00939 1.01167 1.01461 +1.01461 1.01559 1.0169 1.01527 1.01494 1.01331 1.01135 1.01135 +1.01167 1.01429 1.01559 1.01494 1.01461 1.01657 1.01755 1.01755 +1.01722 1.01461 1.01331 1.01527 1.0169 1.02082 1.02147 1.01951 +1.02082 1.02735 1.03551 1.03714 1.03518 1.03094 1.02376 1.01559 +1.00645 1.00318 1.00612 1.00808 1.00873 1.01135 1.01396 1.01265 +1.00873 0.999592 0.992735 0.997306 1.00678 1.01004 1.01102 1.01135 +1.01037 1.00808 1.00743 1.0071 1.00678 1.00514 0.998939 0.987184 +0.978105 0.971789 0.968632 0.971158 0.969263 0.965474 0.962316 0.961684 +0.968632 0.981306 0.994367 1.0058 1.0071 0.99698 0.946526 0.827158 +0.678105 0.558105 0.469707 0.34664 0.2444 0.00088 0.000853333 0.000873333 +0.000953333 0.22168 0.240613 0.26712 0.314453 0.39776 0.503789 0.540421 +0.573263 0.604842 0.626947 0.635789 0.638316 0.641474 0.642105 0.638316 +0.641474 0.642737 0.640211 0.643368 0.654105 0.672421 0.692 0.719158 +0.743789 0.753895 0.738737 0.697684 0.632632 0.564421 0.505053 0.40344 +0.33528 0.291733 0.26144 0.236827 0.225467 0.22168 0.22168 0.216 +0.000993333 0.000993333 0.000993333 0.216 0.000973333 0.00098 0.219787 0.217893 +0.000973333 0.000993333 0.217893 0.00098 0.000973333 0.216 0.217893 0.000986667 +0.00096 0.00094 0.00092 0.000953333 0.216 0.216 0.000986667 0.00098 +0.000986667 0.217893 0.217893 0.00096 0.00096 0.00096 0.000926667 0.00092 +0.000946667 0.00096 0.000946667 0.00094 0.00096 0.000993333 0.000993333 0.000986667 +0.000966667 0.000966667 0.000926667 0.000946667 0.000993333 0.000986667 0.000986667 0.000946667 +0.000993333 0.000993333 0.000973333 0.00098 0.28416 0.411013 0.522737 0.573263 +0.608 0.626316 0.618737 0.589053 0.548632 0.503789 0.39208 0.308773 +0.246293 0.000966667 0.0009 0.000966667 0.36368 0.577053 0.666105 0.624421 +0.528421 0.399653 0.310667 0.265227 0.240613 0.229253 0.225467 0.217893 +0.00098 0.000986667 0.216 0.216 0.000986667 0.000986667 0.000993333 0.216 +0.000986667 0.00098 0.000993333 0.216 0.000993333 0.217893 0.216 0.000986667 +0.00098 0.000966667 0.00094 0.000953333 0.00096 0.00094 0.000926667 0.000953333 +0.000986667 0.00098 0.000966667 0.00096 0.000993333 0.000973333 0.000946667 0.000946667 +0.00096 0.000966667 0.000973333 0.000953333 0.000953333 0.000973333 0.000986667 0.000993333 +0.22736 0.240613 0.26144 0.297413 0.35232 0.429947 0.514526 0.566947 +0.626316 0.686947 0.728632 0.739368 0.714105 0.657263 0.590947 0.538526 +0.505684 0.49432 0.505684 0.509474 0.505684 0.464027 0.365573 0.276587 +0.225467 0.23872 0.31256 0.36936 0.433733 0.469707 0.4432 0.405333 +0.34664 0.270907 0.22736 0.00094 0.00086 0.00086 0.000826667 0.0008 +0.000793333 0.000766667 0.000753333 0.000746667 0.000753333 0.000773333 0.00078 0.000773333 +0.0008 0.00092 0.263333 0.350427 0.446987 0.526526 0.611158 0.747579 +0.892211 0.983918 1.00155 1.00122 0.993714 0.981959 0.962947 0.947789 +0.944632 0.945895 0.946526 0.951579 0.960421 0.964211 0.969263 0.977474 +0.986531 0.995347 1.00057 1.0022 1.00253 1.0022 1.00122 1.00057 +1.0009 1.00057 0.999918 0.999592 1.00122 1.00057 0.997633 0.995673 +0.99698 0.996 0.992408 0.98849 0.990122 0.998612 1.01069 1.02376 +1.03486 1.04465 1.05282 1.05804 1.06761 1.08587 1.07978 1.06456 +1.06304 1.06 1.05412 1.0489 1.05086 1.05804 1.08587 1.11782 +1.15434 1.14521 1.11173 1.10869 1.10717 1.10565 1.1376 1.15282 +1.12543 1.11021 1.12086 1.13456 1.11782 1.08587 1.05967 1.05445 +1.04988 1.04531 1.04531 1.0489 1.05314 1.05543 1.06 1.1026 +1.12695 1.12391 1.09956 1.06152 1.04922 1.03682 1.02637 1.02049 +1.01461 1.00743 1.00318 0.998612 0.992735 0.992408 0.997306 0.999592 +0.998612 0.997306 0.997306 0.99698 0.996327 0.997633 1.00024 1.0009 +1.00057 0.999918 0.999265 0.999592 0.999592 1.00188 1.00286 1.0022 +1.00155 1.00024 0.998286 0.997959 0.998612 0.999592 1.00057 0.998286 +0.999265 0.997633 0.99502 0.998286 0.999265 0.999592 1.00188 1.0022 +1.00253 1.00286 1.00351 1.00155 1.0022 1.00416 1.00514 1.00743 +1.0058 1.00057 0.998286 0.994367 0.992408 0.998286 1.00547 1.00743 +1.00384 1.00482 1.00482 1.00024 0.996327 0.99502 1.02212 1.14369 +1.22129 1.15586 1.22586 1.22433 1.04694 1.01429 1.00547 1.00612 +1.00939 1.01233 1.01233 1.012 1.0058 0.998612 0.99502 0.99698 +1.00155 1.00743 1.00449 0.999592 1.00122 1.00384 1.00482 1.00612 +1.00743 1.00678 1.00678 1.00645 1.00547 1.00645 1.0058 1.00416 +1.00645 1.00416 1.0058 1.00939 1.00906 1.00612 1.00776 1.01037 +1.01233 1.00971 1.00776 1.00808 1.00808 1.01167 1.01592 1.01494 +1.01233 1.01265 1.01396 1.01363 1.01396 1.01331 1.01363 1.01363 +1.01396 1.01559 1.01722 1.01592 1.01363 1.01298 1.01298 1.01461 +1.01559 1.01788 1.01984 1.01886 1.01886 1.01755 1.01657 1.0169 +1.01298 1.01363 1.01592 1.01396 1.01233 1.01363 1.01559 1.01657 +1.01461 1.01167 1.01167 1.01363 1.01461 1.01592 1.01527 1.01396 +1.01265 1.01363 1.01592 1.01559 1.01429 1.01331 1.01233 1.01069 +1.00776 1.00776 1.01004 1.00939 1.00873 1.00873 1.0071 1.00416 +1.00122 0.997306 0.99698 1.00318 1.00743 1.00906 1.00906 1.01037 +1.01167 1.01004 1.00743 1.00612 1.00449 0.997306 0.986857 0.978105 +0.978737 0.979368 0.970526 0.965474 0.962947 0.962947 0.968 0.981633 +0.991102 0.999265 1.00547 1.00449 0.98849 0.910526 0.773474 0.633895 +0.532211 0.4148 0.3012 0.22736 0.000913333 0.000913333 0.000973333 0.219787 +0.253867 0.308773 0.376933 0.464027 0.524 0.563158 0.597263 0.614316 +0.623158 0.632 0.641474 0.644632 0.644 0.644632 0.645263 0.642105 +0.647789 0.654105 0.657895 0.673684 0.701474 0.733053 0.753263 0.752632 +0.726737 0.674947 0.607368 0.541684 0.467813 0.361787 0.291733 0.26712 +0.25008 0.2444 0.240613 0.22168 0.000986667 0.000993333 0.000986667 0.216 +0.223573 0.216 0.000993333 0.216 0.000986667 0.000973333 0.000973333 0.000966667 +0.00094 0.00096 0.000973333 0.000933333 0.000913333 0.00096 0.000986667 0.000946667 +0.00094 0.000946667 0.000946667 0.000933333 0.000953333 0.000973333 0.000986667 0.000993333 +0.000986667 0.00098 0.217893 0.000986667 0.000986667 0.000993333 0.00098 0.000986667 +0.000966667 0.000966667 0.000933333 0.000926667 0.000953333 0.000966667 0.000973333 0.000986667 +0.00098 0.000966667 0.000926667 0.0009 0.000953333 0.000973333 0.000946667 0.000933333 +0.000966667 0.00098 0.000986667 0.216 0.542947 0.593474 0.623789 0.624421 +0.600421 0.558737 0.512632 0.412907 0.316347 0.251973 0.000993333 0.00094 +0.000886667 0.000833333 0.00084 0.240613 0.512632 0.648421 0.661053 0.558737 +0.418587 0.3012 0.246293 0.219787 0.00098 0.000986667 0.000986667 0.000973333 +0.000953333 0.000946667 0.000966667 0.000973333 0.000966667 0.00096 0.00096 0.00096 +0.000953333 0.000953333 0.00096 0.000966667 0.000966667 0.000973333 0.000973333 0.000973333 +0.000966667 0.000946667 0.000926667 0.00094 0.000953333 0.000933333 0.000913333 0.00094 +0.000953333 0.000926667 0.000926667 0.00094 0.000933333 0.00092 0.000913333 0.00092 +0.00094 0.000926667 0.000913333 0.0009 0.000913333 0.00092 0.000926667 0.000933333 +0.000966667 0.216 0.216 0.225467 0.2444 0.269013 0.30688 0.36936 +0.464027 0.536 0.598526 0.662316 0.713474 0.738105 0.725474 0.686947 +0.633263 0.580842 0.542316 0.524 0.527789 0.528421 0.518947 0.5 +0.418587 0.407227 0.475387 0.5 0.510105 0.518316 0.508211 0.484853 +0.456453 0.418587 0.361787 0.308773 0.263333 0.236827 0.216 0.00094 +0.000906667 0.000833333 0.00078 0.000746667 0.000766667 0.000766667 0.000773333 0.000766667 +0.00074 0.000733333 0.0008 0.219787 0.314453 0.411013 0.505684 0.578316 +0.703368 0.844842 0.957895 0.997633 1.00318 0.996327 0.986531 0.969895 +0.951579 0.944632 0.940842 0.944 0.953474 0.958526 0.957263 0.961053 +0.970526 0.981306 0.990122 0.998939 1.00253 1.0022 1.00155 1.00253 +1.00253 1.00057 1.00057 1.0009 1.00024 1.00155 1.00122 1.00024 +0.999265 0.997306 0.994694 0.98849 0.984571 0.98849 0.997959 1.00841 +1.02278 1.04008 1.05771 1.11934 1.16347 1.18021 1.18325 1.17108 +1.14521 1.11782 1.07369 1.05478 1.05151 1.05053 1.05249 1.05478 +1.05804 1.05216 1.04171 1.04139 1.04204 1.04367 1.05412 1.05771 +1.05216 1.04955 1.05118 1.05216 1.0502 1.04563 1.04302 1.04302 +1.04465 1.04531 1.04988 1.05804 1.11782 1.16651 1.20303 1.22586 +1.19847 1.15434 1.10565 1.05314 1.03616 1.02343 1.01331 1.00776 +1.00384 1.00253 1.00286 1.00286 1.00122 0.999918 0.999918 0.999918 +0.998286 0.99698 0.998612 0.998939 0.99698 0.997633 0.999265 0.999265 +0.999592 0.997959 0.999265 1.00188 1.00155 1.00351 1.00286 1.00122 +1.00351 1.00286 1.00155 1.00122 1.00122 1.00253 1.00318 1.00253 +1.00253 1.00057 0.998286 0.999592 0.997633 0.999918 1.00122 1.00253 +1.0022 1.0022 1.00155 1.00024 1.00351 1.00612 1.00776 1.00776 +1.00612 1.00024 0.997306 0.996653 0.99502 0.998612 1.00547 1.00808 +1.00416 1.00612 1.00547 1.00188 0.998939 0.996 1.02539 1.17108 +1.22281 1.16043 1.23651 1.20912 1.04008 1.00873 1.00678 1.00873 +1.01037 1.01298 1.01069 1.00678 1.0009 0.995347 0.995347 0.99698 +1.00188 1.00808 1.00776 1.00384 1.00188 1.00286 1.00514 1.0071 +1.00841 1.00808 1.00841 1.00678 1.00547 1.00743 1.00678 1.00612 +1.01037 1.01037 1.00906 1.00939 1.00971 1.00808 1.00841 1.00906 +1.01069 1.00841 1.0071 1.00906 1.00939 1.01102 1.01331 1.01233 +1.00971 1.00873 1.01167 1.01363 1.01331 1.01396 1.01396 1.01527 +1.01494 1.01461 1.0169 1.01722 1.01494 1.01494 1.01429 1.01461 +1.01298 1.01461 1.01755 1.01657 1.01755 1.01788 1.01527 1.01592 +1.01363 1.01331 1.01559 1.01265 1.01102 1.01331 1.01461 1.01429 +1.012 1.01102 1.01037 1.01233 1.01363 1.01331 1.01135 1.01004 +1.00873 1.01037 1.00971 1.00776 1.00939 1.01331 1.01396 1.01298 +1.01265 1.01233 1.01331 1.01135 1.00939 1.00841 1.00384 1.00188 +1.00188 1.00155 1.00188 1.00188 1.00318 1.00416 1.00547 1.00743 +1.00906 1.00743 1.00416 1.00122 0.994041 0.983592 0.972421 0.973684 +0.982612 0.983592 0.975579 0.963579 0.963579 0.974316 0.985551 0.995673 +1.00253 1.00645 1.0009 0.966737 0.864421 0.725474 0.592211 0.501895 +0.365573 0.270907 0.000973333 0.0009 0.00096 0.236827 0.269013 0.33528 +0.424267 0.510737 0.551158 0.584 0.608 0.626316 0.636421 0.635789 +0.636421 0.638947 0.642737 0.647789 0.649053 0.646526 0.649684 0.654737 +0.668 0.692 0.717895 0.744421 0.758316 0.745684 0.708421 0.649684 +0.583368 0.525895 0.43752 0.337173 0.291733 0.270907 0.240613 0.23304 +0.22736 0.22736 0.231147 0.219787 0.00098 0.00098 0.000986667 0.000986667 +0.217893 0.216 0.00098 0.00098 0.000973333 0.000966667 0.000973333 0.000953333 +0.00094 0.00096 0.000966667 0.000946667 0.000913333 0.000933333 0.00098 0.00096 +0.00094 0.000933333 0.000933333 0.000933333 0.000926667 0.000933333 0.00096 0.00098 +0.000993333 0.000973333 0.000973333 0.000973333 0.00096 0.00094 0.000926667 0.000993333 +0.00098 0.000973333 0.000953333 0.000926667 0.00094 0.00094 0.000926667 0.000926667 +0.00094 0.000966667 0.00098 0.000933333 0.000913333 0.00094 0.000946667 0.00094 +0.000946667 0.000946667 0.00098 0.00098 0.630105 0.620632 0.582105 0.533474 +0.456453 0.342853 0.269013 0.231147 0.000953333 0.0009 0.000893333 0.000866667 +0.000833333 0.00082 0.000873333 0.325813 0.584632 0.689474 0.621263 0.503789 +0.322027 0.251973 0.22736 0.225467 0.225467 0.22168 0.217893 0.216 +0.000986667 0.000973333 0.000986667 0.00098 0.000973333 0.000966667 0.000973333 0.000953333 +0.000953333 0.000953333 0.000946667 0.00096 0.000953333 0.000946667 0.00094 0.000946667 +0.00094 0.000913333 0.000893333 0.000893333 0.000886667 0.000873333 0.00086 0.000886667 +0.000913333 0.000886667 0.00088 0.000906667 0.000913333 0.000906667 0.000906667 0.000926667 +0.000933333 0.000926667 0.00094 0.00096 0.000953333 0.000953333 0.00096 0.00094 +0.00096 0.000986667 0.000966667 0.000966667 0.000993333 0.219787 0.229253 0.246293 +0.274693 0.32392 0.401547 0.505053 0.56 0.626947 0.688211 0.729263 +0.738105 0.714105 0.669895 0.619368 0.578316 0.554947 0.546105 0.544842 +0.538526 0.535368 0.546737 0.545474 0.541053 0.542316 0.535368 0.522737 +0.512632 0.503789 0.473493 0.446987 0.4148 0.37504 0.344747 0.316347 +0.282267 0.248187 0.000986667 0.000886667 0.000853333 0.00082 0.000806667 0.000806667 +0.000786667 0.000753333 0.000726667 0.000773333 0.00094 0.27848 0.367467 0.48296 +0.549895 0.645895 0.786737 0.919368 0.988163 0.999265 0.996327 0.98751 +0.970526 0.951579 0.938316 0.935158 0.940211 0.945895 0.949053 0.954105 +0.959158 0.962947 0.973684 0.986204 0.993061 0.997306 1.0009 1.00253 +1.00384 1.00384 1.00253 1.0022 1.00057 1.00057 1.00155 1.0022 +1.00351 1.0022 0.998939 0.993714 0.987184 0.985224 0.989796 0.996327 +1.00482 1.01755 1.03845 1.07065 1.16651 1.24564 1.29889 1.32476 +1.32324 1.27455 1.19999 1.15282 1.10108 1.06152 1.06456 1.05739 +1.05053 1.04465 1.04106 1.044 1.04302 1.04335 1.0502 1.05249 +1.0489 1.04661 1.04073 1.03812 1.0391 1.04139 1.04563 1.05282 +1.07369 1.11934 1.1726 1.23042 1.29281 1.3278 1.31563 1.26542 +1.17412 1.07674 1.04661 1.02996 1.01755 1.01167 1.0058 1.0022 +1.00384 1.0058 1.00482 1.00286 1.00318 1.00318 1.00253 1.00253 +1.00286 0.999918 0.999918 1.00155 1.0009 0.999592 0.997633 0.998286 +1.00122 1.00155 1.0022 1.00318 1.00188 1.00449 1.00416 1.00318 +1.00482 1.00318 1.00188 1.00286 1.00449 1.00514 1.00416 1.00318 +1.00155 1.00024 1.00318 1.00416 1.00253 1.00416 1.00482 1.00449 +1.00384 1.00318 0.999918 0.999592 1.00253 1.0058 1.00678 1.00678 +1.00482 1.00024 0.998286 0.997959 0.998612 1.00122 1.00122 0.998612 +0.997306 1.00351 1.00514 1.00253 0.999265 0.999592 1.03322 1.20151 +1.2289 1.16499 1.25172 1.24259 1.04171 1.0058 1.0071 1.01004 +1.01004 1.01102 1.00645 1.00057 0.999918 1.0009 1.00122 0.999592 +1.00351 1.00547 1.00514 1.0071 1.00808 1.00841 1.00906 1.00971 +1.01102 1.01037 1.00971 1.00873 1.00841 1.01102 1.00906 1.0071 +1.00906 1.01037 1.01037 1.01037 1.01004 1.00841 1.00776 1.01037 +1.01233 1.00971 1.01069 1.01233 1.01102 1.01167 1.01298 1.01494 +1.01461 1.012 1.012 1.01363 1.01396 1.0169 1.01788 1.01788 +1.01527 1.01135 1.012 1.01494 1.01527 1.01592 1.01559 1.0169 +1.01461 1.01331 1.01494 1.01363 1.01527 1.01592 1.01331 1.01363 +1.01461 1.01494 1.0182 1.0169 1.01396 1.01494 1.01429 1.01135 +1.01069 1.00808 1.00776 1.00841 1.00939 1.01037 1.01004 1.01069 +1.01167 1.01396 1.01233 1.00743 1.00743 1.01004 1.01233 1.012 +1.01167 1.01037 1.00873 1.0058 1.00547 1.00612 1.00416 1.00384 +1.00514 1.00841 1.00841 1.00906 1.00906 1.00841 1.00743 1.0071 +1.00612 1.00286 0.995347 0.986531 0.978105 0.968632 0.968 0.976842 +0.982286 0.981959 0.979368 0.973684 0.98 0.988816 0.997633 1.0022 +1.00286 0.990776 0.92821 0.805684 0.670526 0.561263 0.462133 0.320133 +0.246293 0.00096 0.000986667 0.2444 0.303093 0.378827 0.479173 0.530947 +0.565053 0.599158 0.625053 0.637053 0.639579 0.641474 0.639579 0.639579 +0.639579 0.638947 0.642105 0.648421 0.651579 0.659158 0.679368 0.700211 +0.730526 0.751368 0.752 0.730526 0.685684 0.618105 0.553053 0.501895 +0.39208 0.32392 0.280373 0.246293 0.240613 0.240613 0.225467 0.223573 +0.22736 0.22168 0.217893 0.219787 0.000993333 0.000973333 0.00098 0.000973333 +0.00098 0.000973333 0.216 0.000993333 0.000973333 0.00096 0.000986667 0.00098 +0.000953333 0.000966667 0.000973333 0.000953333 0.000933333 0.00094 0.000946667 0.00096 +0.000933333 0.000926667 0.000926667 0.000913333 0.00092 0.000946667 0.000966667 0.00096 +0.000973333 0.000986667 0.000986667 0.000973333 0.000966667 0.00096 0.000946667 0.00098 +0.219787 0.217893 0.000993333 0.000966667 0.000966667 0.000986667 0.000986667 0.000986667 +0.00096 0.000973333 0.223573 0.219787 0.000993333 0.00098 0.000993333 0.000986667 +0.000973333 0.000986667 0.216 0.217893 0.565684 0.511368 0.3864 0.280373 +0.223573 0.00092 0.00086 0.00086 0.000846667 0.00082 0.00082 0.000793333 +0.00078 0.0008 0.000926667 0.452667 0.649684 0.689474 0.565053 0.3864 +0.270907 0.23872 0.22736 0.225467 0.22168 0.216 0.216 0.216 +0.216 0.000966667 0.00096 0.000973333 0.000966667 0.00096 0.00094 0.000953333 +0.000953333 0.000953333 0.00096 0.000973333 0.000973333 0.00096 0.00096 0.00096 +0.000973333 0.000953333 0.000946667 0.000933333 0.000926667 0.000933333 0.00092 0.00094 +0.000946667 0.00092 0.000913333 0.000953333 0.00096 0.000953333 0.00096 0.000966667 +0.00096 0.00096 0.000986667 0.000993333 0.000966667 0.000946667 0.000953333 0.000946667 +0.000953333 0.000966667 0.000953333 0.000953333 0.00098 0.000986667 0.00098 0.000993333 +0.223573 0.240613 0.259547 0.286053 0.342853 0.43752 0.526526 0.590316 +0.654737 0.705263 0.732421 0.728632 0.697684 0.654737 0.613684 0.582105 +0.565684 0.561263 0.568211 0.577053 0.575158 0.564421 0.553053 0.545474 +0.537263 0.524 0.514526 0.506947 0.501895 0.496213 0.504421 0.507579 +0.49432 0.43752 0.367467 0.291733 0.23872 0.000973333 0.000866667 0.000826667 +0.000826667 0.0008 0.00074 0.000706667 0.000726667 0.000853333 0.236827 0.333387 +0.43184 0.516421 0.599158 0.733053 0.870105 0.968 0.99698 1.00122 +0.993061 0.980653 0.962316 0.946526 0.938947 0.941474 0.949053 0.954737 +0.956 0.956632 0.960421 0.969263 0.981306 0.990122 0.997959 1.0022 +1.00286 1.00514 1.00482 1.00253 1.0009 1.00188 1.0022 1.00122 +1.00188 1.00351 1.00155 0.998612 0.994367 0.989796 0.990449 0.994367 +0.99698 1.00057 1.01037 1.028 1.0502 1.14521 1.28368 1.39932 +1.48301 1.48909 1.43888 1.38258 1.31867 1.26846 1.23803 1.17716 +1.11326 1.07674 1.05739 1.05576 1.05314 1.05216 1.05184 1.05347 +1.05706 1.05869 1.05576 1.05673 1.08282 1.14673 1.20912 1.26998 +1.33389 1.37345 1.39628 1.39932 1.36584 1.29737 1.19999 1.10108 +1.04727 1.03061 1.01918 1.01037 1.00678 1.00808 1.00645 1.00449 +1.00482 1.00482 1.00449 1.00547 1.00678 1.00645 1.00482 1.00449 +1.00547 1.00286 1.00286 1.00514 1.00612 1.00612 1.00122 0.997633 +1.00024 1.00318 1.00514 1.00514 1.00514 1.00612 1.00547 1.00547 +1.00612 1.00482 1.00253 1.00384 1.00514 1.00482 1.00384 1.00155 +0.998286 0.997306 1.0022 1.0022 1.00122 1.00384 1.00482 1.00482 +1.00318 1.0022 0.998286 0.997633 1.00155 1.00384 1.00645 1.0071 +1.0058 1.00416 1.00318 1.0009 1.00155 1.00514 1.00318 0.99698 +0.994694 1.00286 1.00776 1.0058 1.0009 1.00384 1.04531 1.23042 +1.23042 1.16195 1.23651 1.28063 1.05249 1.00939 1.00971 1.012 +1.01102 1.01069 1.00645 0.999918 1.00188 1.00416 1.00449 1.0022 +1.00253 1.00416 1.00253 1.0071 1.00906 1.00841 1.00776 1.0071 +1.00776 1.00743 1.0058 1.00482 1.00743 1.01167 1.01037 1.00678 +1.00612 1.00612 1.00743 1.00906 1.00939 1.00743 1.00743 1.00971 +1.01167 1.00906 1.00939 1.012 1.01135 1.012 1.012 1.01461 +1.01592 1.01461 1.01331 1.01396 1.01298 1.01396 1.01461 1.01396 +1.01298 1.01102 1.01069 1.01559 1.01657 1.01624 1.01624 1.01657 +1.01722 1.01559 1.01592 1.01527 1.01624 1.0169 1.01559 1.01494 +1.01363 1.01298 1.01298 1.01102 1.00939 1.01135 1.01037 1.0071 +1.00547 1.00482 1.00351 1.00318 1.00057 1.00057 1.00514 1.01102 +1.01429 1.01429 1.01265 1.01102 1.00808 1.00971 1.012 1.01004 +1.012 1.01102 1.0071 1.00384 1.00514 1.00645 1.00743 1.00808 +1.00776 1.00808 1.01167 1.01233 1.01069 1.00841 1.00286 0.999918 +0.996327 0.990449 0.982612 0.971158 0.965474 0.966105 0.970526 0.973684 +0.974316 0.979368 0.984898 0.992735 1.00024 1.0058 1.00743 0.999265 +0.971789 0.876421 0.740632 0.614316 0.527789 0.418587 0.304987 0.240613 +0.229253 0.259547 0.333387 0.422373 0.510737 0.548632 0.581474 0.606105 +0.62 0.628842 0.637053 0.640842 0.642105 0.642105 0.640211 0.642105 +0.642737 0.648421 0.655368 0.666737 0.691368 0.719158 0.748842 0.761474 +0.750737 0.711579 0.649684 0.586526 0.527789 0.43752 0.34096 0.297413 +0.265227 0.246293 0.23872 0.229253 0.223573 0.231147 0.223573 0.217893 +0.22736 0.223573 0.217893 0.217893 0.000986667 0.000986667 0.00098 0.000953333 +0.000946667 0.000953333 0.000973333 0.00096 0.000946667 0.000946667 0.000986667 0.000986667 +0.00094 0.000913333 0.00094 0.000933333 0.000913333 0.000906667 0.0009 0.00094 +0.000913333 0.000906667 0.000933333 0.000893333 0.00088 0.000913333 0.00094 0.000926667 +0.000933333 0.00094 0.00096 0.000953333 0.000926667 0.00094 0.00094 0.000913333 +0.000946667 0.000953333 0.000966667 0.000953333 0.00092 0.000946667 0.000946667 0.000946667 +0.000953333 0.00094 0.00096 0.000966667 0.000966667 0.000986667 0.000966667 0.000966667 +0.000946667 0.00096 0.000973333 0.216 0.376933 0.280373 0.225467 0.000913333 +0.000873333 0.00086 0.00084 0.000846667 0.00086 0.00084 0.000813333 0.0008 +0.000786667 0.000786667 0.229253 0.535368 0.694526 0.662947 0.516421 0.320133 +0.257653 0.236827 0.225467 0.216 0.000993333 0.00098 0.000973333 0.000993333 +0.216 0.000973333 0.000966667 0.000973333 0.00098 0.00098 0.000966667 0.000966667 +0.000966667 0.000973333 0.000986667 0.000993333 0.000993333 0.000966667 0.00096 0.00096 +0.000973333 0.000946667 0.00094 0.000926667 0.000926667 0.000926667 0.000906667 0.00092 +0.000913333 0.0009 0.000906667 0.000946667 0.000946667 0.000933333 0.000933333 0.00094 +0.000933333 0.000953333 0.000946667 0.00092 0.00092 0.000906667 0.00092 0.000933333 +0.000926667 0.00094 0.00096 0.000946667 0.00094 0.000946667 0.000933333 0.00094 +0.000973333 0.217893 0.217893 0.22168 0.234933 0.25576 0.293627 0.371253 +0.484853 0.547368 0.610526 0.671789 0.715368 0.734947 0.726737 0.694526 +0.654737 0.616842 0.597263 0.591579 0.592211 0.592211 0.582737 0.576421 +0.566316 0.554947 0.542316 0.525263 0.506947 0.49432 0.524632 0.567579 +0.580842 0.571368 0.548 0.515158 0.4432 0.356107 0.274693 0.223573 +0.000946667 0.000906667 0.000846667 0.00076 0.0007 0.000726667 0.00078 0.000913333 +0.28416 0.384507 0.5 0.568211 0.677474 0.812632 0.935158 0.993714 +1.00253 0.998286 0.991429 0.98 0.956632 0.946526 0.947158 0.950947 +0.954737 0.956632 0.954737 0.956 0.963579 0.973684 0.984245 0.992082 +0.997306 0.999918 1.00286 1.00449 1.00253 1.0022 1.00286 1.00188 +0.999592 1.0009 1.00286 1.00384 1.00253 0.99698 0.993714 0.99698 +1.00024 1.0009 1.00024 1.00253 1.01135 1.03224 1.08739 1.27759 +1.4541 1.5667 1.623 1.62908 1.61387 1.59408 1.55148 1.47692 +1.4191 1.37193 1.30346 1.25933 1.22738 1.21216 1.2076 1.21977 +1.26542 1.33998 1.39932 1.42823 1.45714 1.49974 1.51648 1.49366 +1.45105 1.39171 1.31715 1.23651 1.14825 1.05804 1.04041 1.02767 +1.01918 1.01494 1.01265 1.01102 1.01102 1.00939 1.0071 1.00776 +1.00873 1.00873 1.00645 1.00678 1.00743 1.00645 1.00482 1.00482 +1.00449 1.00253 1.00449 1.00678 1.00873 1.00776 1.00384 1.00122 +1.0022 1.00286 1.0022 1.00318 1.00678 1.00776 1.00612 1.00645 +1.0058 1.00482 1.0022 1.0022 1.0022 1.0022 1.00253 1.00024 +0.997633 0.999918 1.00122 1.00057 1.00253 1.00384 1.00514 1.00351 +1.00155 1.00155 0.998612 1.00024 1.00253 1.00155 1.00122 1.00286 +1.0022 1.00547 1.00808 1.00612 1.00547 1.0071 1.00547 0.999592 +0.99502 1.0009 1.00808 1.00808 1.00253 1.01233 1.06609 1.25324 +1.22281 1.16195 1.22738 1.32019 1.11478 1.01853 1.01167 1.01102 +1.00743 1.0058 1.00482 1.0009 1.00318 1.00645 1.00873 1.0058 +1.00482 1.00612 1.00155 1.00612 1.00841 1.00808 1.00776 1.00678 +1.0071 1.00743 1.0071 1.00384 1.00253 1.00743 1.00808 1.00612 +1.00514 1.00678 1.00841 1.00743 1.00776 1.00678 1.00612 1.00645 +1.00776 1.00678 1.00971 1.01233 1.01265 1.01331 1.01429 1.01494 +1.01429 1.01429 1.01461 1.01494 1.01265 1.01102 1.01298 1.01396 +1.01396 1.01429 1.01298 1.01527 1.01624 1.01527 1.01559 1.01657 +1.01559 1.01624 1.01788 1.01624 1.01461 1.01494 1.01624 1.01657 +1.01429 1.01167 1.01102 1.00939 1.00939 1.01102 1.01069 1.00743 +1.00873 1.00743 1.00514 1.00318 0.998612 0.996 1.00057 1.00678 +1.01037 1.01167 1.012 1.00971 1.0058 1.00514 1.00547 1.00449 +1.00612 1.00514 1.00351 1.00416 1.0071 1.00906 1.00906 1.00971 +1.00776 1.00808 1.00939 1.00971 1.00873 1.00612 1.00024 0.994367 +0.987837 0.98098 0.973684 0.965474 0.958526 0.959158 0.959158 0.961684 +0.976842 0.987184 0.99502 1.00416 1.00841 1.00645 0.990122 0.921895 +0.806316 0.678737 0.570105 0.498107 0.38072 0.304987 0.269013 0.3012 +0.371253 0.473493 0.532842 0.567579 0.601053 0.621895 0.632 0.631368 +0.633263 0.634526 0.640211 0.642737 0.645263 0.642105 0.642737 0.644 +0.652211 0.676211 0.702737 0.734947 0.761474 0.764632 0.741263 0.688211 +0.622526 0.558737 0.503789 0.40344 0.333387 0.287947 0.265227 0.248187 +0.23872 0.225467 0.217893 0.219787 0.216 0.219787 0.00098 0.000953333 +0.000973333 0.00098 0.000953333 0.000973333 0.000973333 0.000953333 0.00098 0.000953333 +0.000946667 0.000933333 0.000966667 0.000946667 0.00092 0.00092 0.000966667 0.000966667 +0.000926667 0.00092 0.00094 0.00096 0.000953333 0.00094 0.00092 0.000953333 +0.000933333 0.000906667 0.00094 0.000906667 0.000893333 0.000913333 0.00094 0.000926667 +0.000933333 0.000933333 0.000953333 0.00098 0.000953333 0.000933333 0.00094 0.000953333 +0.00094 0.000946667 0.000966667 0.00098 0.000946667 0.000946667 0.000933333 0.000906667 +0.00092 0.00092 0.000933333 0.000953333 0.00094 0.000973333 0.00096 0.000926667 +0.000906667 0.000946667 0.00096 0.00098 0.22736 0.000946667 0.0009 0.000873333 +0.000866667 0.000846667 0.000833333 0.000833333 0.000826667 0.00082 0.000813333 0.000786667 +0.000753333 0.000793333 0.280373 0.575789 0.714737 0.633895 0.46592 0.3012 +0.259547 0.23872 0.229253 0.223573 0.223573 0.223573 0.219787 0.22168 +0.216 0.000993333 0.000993333 0.217893 0.216 0.216 0.000993333 0.000986667 +0.216 0.216 0.000993333 0.00098 0.000966667 0.000973333 0.00098 0.00096 +0.000946667 0.000913333 0.000926667 0.000926667 0.00092 0.000913333 0.00092 0.00094 +0.000926667 0.00092 0.000933333 0.000966667 0.00096 0.00094 0.000933333 0.000946667 +0.00096 0.000946667 0.00094 0.000906667 0.000906667 0.000906667 0.00094 0.000933333 +0.000913333 0.000933333 0.000953333 0.00092 0.000893333 0.000906667 0.000906667 0.00092 +0.00094 0.00094 0.00094 0.000946667 0.000966667 0.217893 0.217893 0.231147 +0.257653 0.310667 0.39776 0.508842 0.567579 0.631368 0.688842 0.728632 +0.74 0.726105 0.693895 0.661053 0.631368 0.611158 0.600421 0.594105 +0.589684 0.582105 0.571368 0.557474 0.539789 0.520211 0.538526 0.591579 +0.62 0.623789 0.617474 0.600421 0.575789 0.542316 0.503789 0.40344 +0.320133 0.27848 0.25576 0.225467 0.000933333 0.000873333 0.000853333 0.00086 +0.000966667 0.282267 0.371253 0.464027 0.537263 0.622526 0.750105 0.885263 +0.978737 1.00155 1.00351 0.996327 0.986204 0.970526 0.956632 0.950947 +0.952842 0.958526 0.954737 0.949053 0.952211 0.959158 0.965474 0.976842 +0.986204 0.992408 0.996327 1.00122 1.00384 1.0022 1.0009 1.00057 +1.00024 0.999265 1.00253 1.00384 1.00416 1.00122 0.997306 0.99698 +0.999592 1.00155 1.00351 0.999592 0.992082 0.99502 1.01494 1.05053 +1.19694 1.35367 1.49518 1.61387 1.71733 1.80254 1.8345 1.82689 +1.8208 1.79342 1.74016 1.70212 1.6869 1.67777 1.67321 1.68386 +1.7006 1.7432 1.7569 1.70516 1.62908 1.53778 1.43736 1.32476 +1.20303 1.09043 1.05053 1.03943 1.02996 1.02278 1.01755 1.01461 +1.01363 1.012 1.01135 1.01233 1.01331 1.01135 1.01037 1.01135 +1.01102 1.01135 1.00841 1.00645 1.00612 1.00514 1.00678 1.00743 +1.0058 1.00514 1.00678 1.00873 1.00971 1.00776 1.00612 1.00612 +1.00318 1.0022 1.00253 1.00351 1.00808 1.00776 1.00547 1.00514 +1.00318 1.0022 1.00155 1.00351 1.00416 1.00514 1.00514 1.00122 +1.00057 1.00449 1.00318 1.00286 1.00449 1.00547 1.0071 1.00514 +1.00286 1.00286 1.00122 0.999265 0.997959 0.993714 0.991755 0.995347 +0.999592 1.00514 1.0071 1.00678 1.00776 1.00776 1.00678 1.00482 +1.0009 1.00286 1.00841 1.01102 1.01167 1.0329 1.14673 1.23955 +1.17716 1.14065 1.18477 1.28976 1.17412 1.02931 1.012 1.00906 +1.00482 1.00384 1.00612 1.00612 1.01004 1.012 1.01037 1.00514 +1.00155 0.999918 0.998286 1.00612 1.01004 1.00808 1.0071 1.00645 +1.0071 1.00776 1.0071 1.00416 1.00122 1.00547 1.00841 1.00743 +1.0071 1.01037 1.01265 1.01102 1.00906 1.00645 1.00449 1.00416 +1.0071 1.00808 1.00939 1.012 1.01494 1.01559 1.01657 1.01657 +1.01624 1.0169 1.01624 1.01755 1.01559 1.01331 1.01429 1.01527 +1.01429 1.01363 1.01135 1.01363 1.01657 1.01461 1.01559 1.01918 +1.01722 1.01592 1.01722 1.01592 1.01527 1.01363 1.01396 1.01559 +1.01363 1.01298 1.01331 1.012 1.01331 1.01233 1.01298 1.01135 +1.01233 1.01331 1.01004 1.0071 1.00482 1.0022 1.00253 1.00612 +1.01004 1.01396 1.01429 1.01037 1.00514 1.00351 1.00612 1.00645 +1.00482 1.00351 1.00547 1.00743 1.00971 1.00971 1.00808 1.00678 +1.0071 1.00939 1.00939 1.00808 1.00351 0.996 0.991429 0.987184 +0.980327 0.968632 0.962947 0.957263 0.954737 0.959789 0.967368 0.981959 +0.993388 0.998939 1.00155 1.00351 0.996 0.956632 0.854947 0.724211 +0.604211 0.525263 0.43752 0.354213 0.314453 0.3296 0.405333 0.506316 +0.546105 0.585895 0.616211 0.632 0.637684 0.644 0.645263 0.642737 +0.643368 0.646526 0.647789 0.649053 0.651579 0.653474 0.663579 0.681263 +0.716 0.752632 0.767789 0.754526 0.714737 0.656632 0.588421 0.527158 +0.441307 0.34664 0.293627 0.274693 0.257653 0.242507 0.23872 0.22736 +0.22168 0.000986667 0.000973333 0.217893 0.22168 0.219787 0.00098 0.216 +0.000986667 0.217893 0.000986667 0.000953333 0.216 0.000986667 0.00098 0.00096 +0.00094 0.000906667 0.000926667 0.000926667 0.00092 0.00092 0.000946667 0.000973333 +0.000953333 0.000946667 0.000953333 0.00096 0.000953333 0.000933333 0.000913333 0.000926667 +0.000926667 0.000913333 0.000933333 0.000926667 0.0009 0.000886667 0.00092 0.000926667 +0.00092 0.000926667 0.000933333 0.000946667 0.000933333 0.00092 0.000913333 0.000946667 +0.000953333 0.000946667 0.000953333 0.000973333 0.000973333 0.00096 0.000953333 0.00096 +0.000966667 0.00096 0.00096 0.00098 0.000966667 0.216 0.219787 0.000993333 +0.00096 0.000953333 0.000973333 0.000986667 0.000886667 0.000866667 0.000846667 0.00084 +0.00082 0.000826667 0.000813333 0.0008 0.0008 0.000806667 0.000806667 0.000786667 +0.00078 0.000853333 0.325813 0.601053 0.720421 0.609895 0.4148 0.286053 +0.248187 0.229253 0.22168 0.216 0.000986667 0.000993333 0.000966667 0.000953333 +0.000953333 0.000966667 0.000986667 0.00096 0.000953333 0.000933333 0.000946667 0.00096 +0.00096 0.00096 0.000973333 0.000966667 0.000946667 0.000966667 0.00098 0.000966667 +0.000933333 0.0009 0.000913333 0.000913333 0.000913333 0.000913333 0.00092 0.00092 +0.000913333 0.000906667 0.000926667 0.00094 0.000926667 0.000906667 0.0009 0.000933333 +0.000926667 0.000906667 0.000906667 0.000893333 0.0009 0.000913333 0.000933333 0.000913333 +0.000893333 0.000913333 0.00094 0.00092 0.0009 0.0009 0.00092 0.000926667 +0.000933333 0.00092 0.000933333 0.00094 0.000953333 0.000986667 0.000953333 0.00096 +0.216 0.22736 0.246293 0.276587 0.342853 0.43184 0.523368 0.582105 +0.645895 0.698947 0.734316 0.742526 0.728 0.699579 0.66421 0.638947 +0.623789 0.614316 0.606105 0.599158 0.590947 0.578316 0.579579 0.597263 +0.606737 0.612421 0.621263 0.628842 0.628842 0.617474 0.592842 0.557474 +0.521474 0.501263 0.456453 0.39208 0.31824 0.253867 0.22736 0.000986667 +0.000933333 0.00098 0.263333 0.327707 0.422373 0.510737 0.569474 0.680632 +0.821474 0.942105 0.993388 1.00286 1.0022 0.993714 0.982939 0.970526 +0.959158 0.955368 0.954105 0.949053 0.947158 0.952211 0.956632 0.959789 +0.967368 0.976211 0.983265 0.989796 0.997306 1.00057 1.00057 1.0009 +1.00188 0.999918 0.998939 1.00155 1.00449 1.00482 1.00286 1.00155 +1.00155 1.00286 1.0058 1.00253 0.991429 0.983918 0.990122 1.00939 +1.02963 1.04922 1.11934 1.23498 1.36432 1.51192 1.64734 1.74929 +1.82385 1.86037 1.85732 1.83754 1.83146 1.82385 1.80407 1.75842 +1.70668 1.64278 1.54539 1.42062 1.29433 1.16956 1.06913 1.04824 +1.03551 1.02408 1.02016 1.01886 1.01624 1.01624 1.01657 1.01624 +1.01592 1.01363 1.01331 1.01396 1.01298 1.01298 1.01265 1.01167 +1.00971 1.00808 1.00678 1.00808 1.00808 1.0058 1.00482 1.00482 +1.0058 1.0071 1.00612 1.00612 1.00514 1.00482 1.00612 1.00514 +1.0022 1.00318 1.00318 1.00449 1.00776 1.00612 1.00547 1.00416 +1.00155 1.00024 1.0022 1.00449 1.00449 1.00645 1.00645 1.00253 +1.00318 1.00547 1.00253 1.0022 1.00286 1.0058 1.00939 1.0058 +1.00449 1.00416 1.00057 0.996327 0.989469 0.981959 0.977474 0.981959 +0.993061 1.00188 1.00253 1.00449 1.00678 1.00514 1.00384 1.00612 +1.00678 1.0058 1.00873 1.012 1.02114 1.05347 1.1939 1.21673 +1.15738 1.13608 1.1589 1.23955 1.21064 1.04367 1.01298 1.00514 +1.00286 1.00547 1.0058 1.00318 1.0071 1.00906 1.00743 1.00253 +0.99698 0.995673 0.996653 1.00612 1.01004 1.00776 1.00645 1.00645 +1.0071 1.0058 1.0058 1.00547 1.00286 1.00547 1.00971 1.00971 +1.00776 1.00743 1.00906 1.01037 1.01004 1.00808 1.00514 1.00351 +1.0071 1.00841 1.00873 1.00939 1.01298 1.01363 1.01331 1.01265 +1.01396 1.01527 1.01396 1.01722 1.01788 1.0169 1.01657 1.01624 +1.01494 1.01494 1.01265 1.01331 1.01527 1.01298 1.01331 1.01788 +1.01853 1.01624 1.01592 1.01559 1.01624 1.01559 1.01363 1.01429 +1.01037 1.00841 1.00841 1.01004 1.00873 1.01037 1.01069 1.01069 +1.01004 1.01233 1.01233 1.01069 1.01167 1.01004 1.00743 1.00808 +1.01102 1.01265 1.01069 1.00547 0.996327 0.99698 1.00351 1.0058 +1.00547 1.00678 1.00808 1.00906 1.00971 1.01004 1.01037 1.01004 +1.00939 1.01135 1.00808 1.0022 0.993061 0.983592 0.98098 0.979368 +0.971789 0.964842 0.961053 0.964211 0.976211 0.984898 0.991755 1.00057 +1.00384 1.00416 0.997959 0.976842 0.896 0.774737 0.649053 0.550526 +0.481067 0.39208 0.34096 0.36368 0.445093 0.518947 0.561263 0.594737 +0.62 0.637684 0.642105 0.642105 0.638947 0.636421 0.639579 0.639579 +0.639579 0.644 0.645895 0.650316 0.673053 0.702105 0.726105 0.752632 +0.761474 0.74 0.686316 0.616211 0.553053 0.503158 0.395867 0.320133 +0.274693 0.246293 0.242507 0.246293 0.23304 0.22168 0.216 0.000986667 +0.000966667 0.000933333 0.000926667 0.000953333 0.000966667 0.000953333 0.00092 0.000946667 +0.000926667 0.00096 0.00096 0.00092 0.000973333 0.22168 0.217893 0.217893 +0.000993333 0.000986667 0.216 0.000986667 0.000973333 0.000953333 0.00094 0.000946667 +0.00094 0.000946667 0.000913333 0.000906667 0.000913333 0.000906667 0.0009 0.000906667 +0.00092 0.000893333 0.000913333 0.00094 0.000933333 0.000913333 0.000913333 0.00094 +0.00094 0.000946667 0.000953333 0.000953333 0.00094 0.00096 0.000946667 0.00094 +0.000986667 0.00098 0.000973333 0.000966667 0.000966667 0.00098 0.000966667 0.000953333 +0.000953333 0.000973333 0.000966667 0.000973333 0.000966667 0.000993333 0.223573 0.219787 +0.000986667 0.00098 0.000993333 0.000993333 0.00092 0.000913333 0.00088 0.000873333 +0.000853333 0.000833333 0.000813333 0.000813333 0.00084 0.000826667 0.000793333 0.000806667 +0.000806667 0.00088 0.344747 0.613053 0.721684 0.596 0.384507 0.276587 +0.242507 0.231147 0.22736 0.223573 0.219787 0.217893 0.000986667 0.000986667 +0.216 0.000993333 0.000986667 0.000953333 0.000966667 0.00098 0.00098 0.00098 +0.00098 0.000986667 0.00098 0.000966667 0.000953333 0.000973333 0.000973333 0.000953333 +0.000926667 0.000886667 0.000893333 0.00088 0.000893333 0.000893333 0.000906667 0.000906667 +0.0009 0.00092 0.000953333 0.000933333 0.000913333 0.000906667 0.0009 0.000913333 +0.000906667 0.0009 0.000906667 0.000886667 0.0009 0.000906667 0.000913333 0.000893333 +0.000886667 0.000906667 0.000913333 0.000893333 0.000906667 0.000926667 0.000906667 0.000886667 +0.0009 0.000913333 0.000913333 0.000906667 0.000906667 0.00092 0.000906667 0.000913333 +0.000926667 0.000946667 0.000986667 0.225467 0.23872 0.25008 0.282267 0.35232 +0.458347 0.534737 0.590947 0.653474 0.701474 0.735579 0.744421 0.731158 +0.712211 0.681263 0.655368 0.637053 0.623158 0.614316 0.608 0.603579 +0.597263 0.597263 0.604842 0.614316 0.626316 0.635789 0.627579 0.596632 +0.568842 0.561895 0.556842 0.532211 0.504421 0.446987 0.390187 0.327707 +0.26144 0.217893 0.00098 0.240613 0.297413 0.376933 0.456453 0.534105 +0.623158 0.752 0.881474 0.973053 1.00057 1.00482 0.999265 0.992408 +0.982612 0.966105 0.956 0.954737 0.951579 0.947158 0.949053 0.950316 +0.956 0.961684 0.966105 0.974947 0.985224 0.993388 0.999592 1.0022 +1.0022 1.00286 1.0009 1.00122 1.0022 1.00449 1.00514 1.00449 +1.00449 1.00482 1.00612 1.00645 1.00286 0.997306 0.997959 1.00449 +1.012 1.01624 1.02082 1.02996 1.04008 1.05282 1.12086 1.20912 +1.27911 1.33085 1.35215 1.35367 1.34302 1.33693 1.32628 1.28824 +1.23498 1.17108 1.10565 1.05739 1.04498 1.03257 1.02539 1.02114 +1.01657 1.01233 1.01461 1.01853 1.01788 1.01657 1.01657 1.01624 +1.01429 1.012 1.01331 1.012 1.01069 1.00971 1.00841 1.00873 +1.00873 1.00678 1.0071 1.00971 1.00873 1.00743 1.00547 1.00612 +1.00743 1.0071 1.00514 1.00416 1.00351 1.00416 1.00743 1.00743 +1.00449 1.00482 1.00514 1.00645 1.00612 1.00514 1.00547 1.00449 +1.00253 1.00155 1.00449 1.0058 1.00286 1.00384 1.00286 0.998612 +1.0022 1.0022 0.998612 1.00057 0.997633 0.999918 1.00155 0.998286 +1.00057 1.00155 1.00024 0.997306 0.985224 0.972421 0.965474 0.969263 +0.989143 1.0009 1.00253 1.00384 1.00482 1.00253 0.999592 1.00155 +1.00514 1.00873 1.01167 1.01886 1.03943 1.11782 1.19542 1.17412 +1.13456 1.12543 1.13456 1.17869 1.19086 1.05249 1.01298 0.999265 +1.0009 1.00482 1.00351 1.0022 1.00678 1.00906 1.00776 1.00449 +0.99698 0.993388 0.996 1.00547 1.01004 1.00873 1.00743 1.00645 +1.00547 1.00384 1.00514 1.00482 1.00318 1.0058 1.012 1.01265 +1.00939 1.00743 1.00906 1.00906 1.01037 1.00906 1.0071 1.00645 +1.00873 1.00873 1.01167 1.01396 1.01298 1.01167 1.01331 1.01429 +1.01298 1.01461 1.01069 1.01233 1.01559 1.01527 1.01527 1.01657 +1.01755 1.0169 1.01559 1.01461 1.01559 1.01429 1.01233 1.01396 +1.01559 1.01527 1.01559 1.01592 1.01559 1.01363 1.01135 1.01233 +1.01004 1.00808 1.01004 1.01135 1.01037 1.00939 1.012 1.01167 +1.012 1.01298 1.012 1.01102 1.01037 1.00971 1.00743 1.00612 +1.0071 1.00482 1.00253 0.996 0.991755 0.994367 1.00122 1.00514 +1.00482 1.00514 1.00808 1.00906 1.00906 1.00808 1.00939 1.00873 +1.00482 1.00024 0.994041 0.984898 0.971789 0.966105 0.966737 0.964211 +0.961053 0.966105 0.976211 0.985878 0.995347 1.00384 1.00873 1.01004 +1.00351 0.986204 0.925053 0.822105 0.700211 0.592842 0.526526 0.46024 +0.411013 0.435627 0.501263 0.537895 0.580211 0.611789 0.628842 0.633895 +0.639579 0.645895 0.644 0.639579 0.635158 0.632632 0.635789 0.640211 +0.646526 0.657895 0.678105 0.707789 0.741895 0.764632 0.752 0.704 +0.646526 0.582105 0.520211 0.412907 0.333387 0.299307 0.26712 0.242507 +0.234933 0.22168 0.219787 0.229253 0.22168 0.223573 0.219787 0.000993333 +0.000986667 0.000993333 0.000986667 0.000993333 0.217893 0.217893 0.000966667 0.00096 +0.000946667 0.00094 0.000946667 0.000946667 0.000933333 0.000953333 0.00094 0.000933333 +0.000946667 0.000926667 0.000953333 0.000986667 0.000966667 0.00096 0.000946667 0.000953333 +0.000933333 0.000946667 0.000933333 0.00092 0.000946667 0.00094 0.000926667 0.000913333 +0.00092 0.000913333 0.00092 0.000933333 0.00096 0.000933333 0.000926667 0.000946667 +0.000966667 0.00096 0.00094 0.00096 0.00096 0.000973333 0.000953333 0.00094 +0.00098 0.000973333 0.000993333 0.217893 0.00098 0.00098 0.000993333 0.00098 +0.00094 0.000946667 0.000953333 0.000966667 0.000993333 0.000986667 0.217893 0.223573 +0.000993333 0.000973333 0.000986667 0.217893 0.000913333 0.000873333 0.000853333 0.000846667 +0.00082 0.000813333 0.000846667 0.000846667 0.00084 0.000813333 0.000793333 0.000826667 +0.000866667 0.000946667 0.348533 0.614947 0.726105 0.594737 0.371253 0.276587 +0.25008 0.240613 0.240613 0.23304 0.22736 0.223573 0.225467 0.225467 +0.000993333 0.000973333 0.000973333 0.00098 0.216 0.217893 0.00098 0.000966667 +0.000986667 0.000993333 0.00098 0.00096 0.000966667 0.000973333 0.00096 0.000933333 +0.000913333 0.0009 0.000906667 0.000913333 0.000906667 0.000906667 0.00094 0.00094 +0.00094 0.00096 0.000986667 0.000953333 0.00094 0.00094 0.000926667 0.000926667 +0.00094 0.00094 0.000933333 0.000933333 0.000913333 0.000906667 0.00092 0.000926667 +0.00094 0.000933333 0.00092 0.000906667 0.000906667 0.00092 0.000913333 0.000886667 +0.000893333 0.00092 0.00092 0.00092 0.000913333 0.00092 0.00094 0.00094 +0.000926667 0.000946667 0.000986667 0.00098 0.000966667 0.000973333 0.219787 0.236827 +0.263333 0.299307 0.361787 0.46024 0.536 0.590947 0.652211 0.702737 +0.737474 0.753263 0.745053 0.724211 0.697053 0.670526 0.648421 0.628842 +0.618105 0.608 0.602316 0.601053 0.607368 0.618737 0.608632 0.570105 +0.539158 0.540421 0.551158 0.529684 0.510737 0.519579 0.537263 0.536 +0.505053 0.401547 0.308773 0.253867 0.234933 0.263333 0.33528 0.412907 +0.501895 0.564421 0.675579 0.810105 0.926316 0.988816 1.0022 1.00351 +0.997633 0.989796 0.980327 0.967368 0.959158 0.949053 0.945263 0.947158 +0.951579 0.953474 0.952211 0.956 0.962316 0.971158 0.983265 0.990122 +0.994367 0.999265 1.00155 1.0009 1.00155 1.00253 1.0058 1.00514 +1.00351 1.00416 1.00547 1.00841 1.00939 1.00776 1.00808 1.01037 +1.01461 1.01527 1.01298 1.01429 1.01592 1.01592 1.01951 1.02343 +1.02767 1.03159 1.0342 1.03714 1.03878 1.03878 1.03878 1.03812 +1.03453 1.03029 1.02833 1.02604 1.0231 1.02245 1.02147 1.02049 +1.01657 1.01037 1.00906 1.01331 1.01559 1.01461 1.01494 1.01559 +1.01233 1.012 1.01265 1.01167 1.01265 1.01233 1.01037 1.01069 +1.012 1.01265 1.012 1.012 1.01004 1.00939 1.00776 1.00873 +1.00743 1.00612 1.00645 1.00678 1.00645 1.0071 1.00776 1.00743 +1.0071 1.0071 1.00743 1.00841 1.0071 1.00482 1.00514 1.00351 +1.00318 1.00253 1.00416 1.00384 1.00253 1.00416 1.00253 0.998939 +1.00253 0.999918 0.998286 0.999592 0.99698 0.998286 0.998939 0.998612 +1.00155 1.00188 1.00188 0.998939 0.985551 0.971158 0.962316 0.961684 +0.984571 0.999918 1.00514 1.00384 1.00514 1.00318 1.0009 1.00057 +1.00318 1.0071 1.01037 1.02735 1.07978 1.18934 1.17869 1.14369 +1.12239 1.13304 1.12999 1.12391 1.13608 1.05804 1.01853 0.997959 +0.999265 0.999918 0.998286 0.999918 1.00645 1.00939 1.00906 1.00449 +0.994367 0.986531 0.989469 1.00155 1.00776 1.00808 1.00678 1.00547 +1.00547 1.00514 1.00776 1.00873 1.00743 1.00612 1.00808 1.01004 +1.00939 1.00939 1.01135 1.01135 1.01004 1.01069 1.01102 1.00971 +1.01167 1.01069 1.01298 1.01363 1.01167 1.01233 1.01396 1.01592 +1.01396 1.01461 1.01069 1.00939 1.01233 1.012 1.01233 1.01494 +1.01722 1.01527 1.01461 1.01429 1.01494 1.01461 1.01004 1.01135 +1.01298 1.01265 1.01396 1.01363 1.01461 1.01331 1.01037 1.00743 +1.00776 1.00808 1.00939 1.00939 1.00971 1.01037 1.01135 1.01004 +1.01037 1.01135 1.00906 1.00939 1.00971 1.00939 1.00971 1.00612 +1.00318 0.999592 0.995673 0.99698 1.0009 1.00416 1.0071 1.01004 +1.00841 1.00906 1.00939 1.00841 1.00841 1.00547 1.00188 0.997959 +0.991102 0.983265 0.977474 0.966737 0.957895 0.960421 0.966105 0.968632 +0.971789 0.983265 0.994367 1.00286 1.00776 1.01167 1.00873 0.992082 +0.939579 0.840421 0.726737 0.625684 0.548 0.503789 0.473493 0.492427 +0.519579 0.554947 0.590947 0.620632 0.636421 0.649684 0.651579 0.647158 +0.643368 0.644 0.644632 0.643368 0.646526 0.650947 0.660421 0.680632 +0.710316 0.746316 0.767158 0.764632 0.738105 0.689474 0.618737 0.546105 +0.48864 0.395867 0.32392 0.274693 0.253867 0.246293 0.240613 0.231147 +0.22736 0.216 0.000953333 0.000946667 0.00094 0.000966667 0.000966667 0.00094 +0.00092 0.000926667 0.000946667 0.00094 0.000966667 0.216 0.000966667 0.000946667 +0.00096 0.00098 0.000986667 0.219787 0.000986667 0.00098 0.216 0.00098 +0.00098 0.00096 0.000933333 0.00096 0.000946667 0.000926667 0.000933333 0.000953333 +0.00094 0.000953333 0.00096 0.00096 0.000966667 0.000953333 0.00094 0.000946667 +0.000926667 0.00092 0.00094 0.000946667 0.00094 0.00094 0.00094 0.00094 +0.000966667 0.000993333 0.00094 0.000933333 0.000946667 0.000946667 0.000933333 0.000933333 +0.000973333 0.00098 0.000973333 0.000986667 0.216 0.216 0.000973333 0.000966667 +0.000973333 0.000986667 0.00096 0.000953333 0.000993333 0.000986667 0.000986667 0.217893 +0.22168 0.216 0.000993333 0.219787 0.00092 0.0009 0.000886667 0.000873333 +0.00088 0.00086 0.000846667 0.000846667 0.00084 0.00084 0.000826667 0.000866667 +0.000953333 0.000993333 0.3296 0.602947 0.725474 0.604211 0.37504 0.26144 +0.23872 0.234933 0.231147 0.22168 0.216 0.000993333 0.000993333 0.000966667 +0.000953333 0.000953333 0.000966667 0.000966667 0.00096 0.000953333 0.000946667 0.000946667 +0.000953333 0.000966667 0.000966667 0.000946667 0.000953333 0.00096 0.000953333 0.000933333 +0.0009 0.000886667 0.00088 0.000886667 0.000873333 0.000873333 0.000913333 0.00092 +0.00092 0.000946667 0.00096 0.000926667 0.00092 0.00094 0.000926667 0.000926667 +0.000946667 0.000946667 0.000933333 0.00092 0.00092 0.00094 0.000946667 0.000933333 +0.00094 0.000926667 0.00092 0.000933333 0.000906667 0.0009 0.000906667 0.0009 +0.000906667 0.000913333 0.000913333 0.000926667 0.000933333 0.000926667 0.00092 0.00092 +0.000933333 0.00094 0.000946667 0.00092 0.000913333 0.000926667 0.000933333 0.000993333 +0.223573 0.229253 0.236827 0.269013 0.303093 0.371253 0.479173 0.538526 +0.592842 0.653474 0.709684 0.750105 0.770947 0.764632 0.736842 0.704 +0.668 0.643368 0.625684 0.615579 0.610526 0.606105 0.596 0.568842 +0.541053 0.536 0.542947 0.515158 0.44888 0.492427 0.556211 0.603579 +0.597263 0.566947 0.523368 0.441307 0.333387 0.269013 0.265227 0.304987 +0.365573 0.44888 0.533474 0.613053 0.728632 0.856842 0.956632 0.99502 +1.00122 1.00024 0.99502 0.984898 0.973053 0.961053 0.953474 0.950947 +0.950316 0.949684 0.947158 0.949053 0.952211 0.954105 0.962316 0.971789 +0.982939 0.991102 0.998612 1.00318 1.00351 1.00416 1.00514 1.00678 +1.00776 1.00678 1.0058 1.00678 1.00873 1.01004 1.01167 1.01265 +1.01494 1.01494 1.01135 1.01004 1.01102 1.01233 1.01233 1.01363 +1.01527 1.01527 1.01592 1.01853 1.02082 1.02016 1.01918 1.01886 +1.01788 1.01984 1.01918 1.01559 1.01527 1.01722 1.01722 1.01559 +1.01396 1.01004 1.00482 1.00384 1.00906 1.01429 1.01527 1.01527 +1.01396 1.01429 1.01559 1.01461 1.01396 1.01265 1.01233 1.01069 +1.01004 1.01167 1.01167 1.01069 1.01069 1.00841 1.00743 1.00906 +1.00906 1.00971 1.00971 1.01069 1.00873 1.00841 1.00612 1.00547 +1.00612 1.00547 1.00514 1.00743 1.0071 1.00645 1.00482 1.00351 +1.00286 1.00351 1.00449 1.00482 1.00547 1.00678 1.00514 1.00514 +1.00645 1.00122 0.999918 1.00024 1.00057 1.00155 0.999918 1.00057 +1.00188 1.00057 0.999265 0.997306 0.988816 0.976211 0.956 0.947158 +0.963579 0.987837 0.998939 1.00286 1.00514 1.00547 1.00514 1.00416 +1.00253 1.00155 1.0071 1.03486 1.1513 1.23042 1.18021 1.15434 +1.1589 1.16956 1.1589 1.10717 1.08891 1.05706 1.02147 0.997633 +0.999918 1.00188 1.0009 1.00384 1.00808 1.00808 1.00776 1.00482 +0.992082 0.974947 0.971158 0.989469 1.0022 1.00841 1.00808 1.00776 +1.00906 1.00873 1.00906 1.01069 1.00873 1.00743 1.00971 1.01233 +1.01102 1.01037 1.01363 1.01363 1.01135 1.01037 1.01167 1.00841 +1.00776 1.00776 1.01004 1.01233 1.01102 1.01102 1.01396 1.0169 +1.01624 1.01657 1.01527 1.01265 1.01396 1.01494 1.01527 1.0169 +1.0182 1.01657 1.01592 1.01461 1.01363 1.01527 1.01396 1.01461 +1.01527 1.01624 1.01755 1.01624 1.01559 1.01298 1.01004 1.00808 +1.00808 1.01004 1.00841 1.01037 1.01167 1.01102 1.01004 1.00906 +1.01004 1.01135 1.012 1.01265 1.01167 1.00939 1.00645 1.00286 +1.00024 1.0009 1.00253 1.00449 1.00841 1.00873 1.00808 1.00776 +1.00971 1.00906 1.00612 1.00351 1.00318 0.999918 0.994694 0.985878 +0.973053 0.960421 0.954737 0.956 0.962316 0.972421 0.982286 0.990776 +0.99698 1.0022 1.00776 1.00808 1.00514 0.996327 0.961684 0.868211 +0.753895 0.644632 0.565053 0.521474 0.506947 0.517053 0.540421 0.573263 +0.605474 0.622526 0.634526 0.644632 0.647789 0.648421 0.645263 0.644632 +0.642737 0.642737 0.643368 0.650947 0.667368 0.694526 0.726737 0.760211 +0.776632 0.758947 0.710947 0.642105 0.571368 0.512 0.416693 0.333387 +0.293627 0.2728 0.259547 0.259547 0.253867 0.240613 0.23872 0.240613 +0.240613 0.246293 0.242507 0.225467 0.219787 0.231147 0.234933 0.225467 +0.217893 0.00098 0.00098 0.000966667 0.00096 0.000993333 0.00098 0.00092 +0.000933333 0.00096 0.00092 0.000953333 0.000946667 0.000913333 0.000933333 0.00092 +0.000946667 0.000953333 0.00092 0.00092 0.00092 0.000913333 0.000946667 0.000953333 +0.000933333 0.000946667 0.00096 0.000953333 0.000966667 0.000953333 0.000933333 0.000946667 +0.000966667 0.000933333 0.000946667 0.000973333 0.000946667 0.000946667 0.000966667 0.000966667 +0.00098 0.223573 0.219787 0.000986667 0.216 0.000993333 0.000966667 0.000973333 +0.00098 0.216 0.217893 0.217893 0.216 0.219787 0.219787 0.000973333 +0.000966667 0.000993333 0.00098 0.000946667 0.00096 0.000966667 0.000966667 0.000973333 +0.000993333 0.216 0.00098 0.000993333 0.00094 0.00094 0.00092 0.000913333 +0.000906667 0.00084 0.00082 0.000833333 0.000833333 0.000813333 0.000826667 0.000866667 +0.000913333 0.000933333 0.282267 0.577053 0.718526 0.624421 0.40344 0.257653 +0.234933 0.22736 0.219787 0.219787 0.217893 0.000993333 0.000993333 0.00096 +0.00096 0.00098 0.00098 0.000966667 0.000966667 0.000953333 0.000953333 0.00096 +0.000953333 0.000973333 0.000973333 0.00096 0.00096 0.000953333 0.000953333 0.000913333 +0.00088 0.00088 0.000886667 0.000893333 0.000913333 0.00092 0.000953333 0.000946667 +0.000926667 0.000926667 0.000926667 0.00092 0.000933333 0.000933333 0.000926667 0.000926667 +0.000933333 0.000933333 0.00092 0.000913333 0.000933333 0.000946667 0.000933333 0.000926667 +0.000933333 0.00092 0.000926667 0.000933333 0.000906667 0.000913333 0.000933333 0.00092 +0.000933333 0.00094 0.00094 0.000926667 0.000913333 0.000906667 0.0009 0.000906667 +0.000933333 0.000926667 0.00092 0.000906667 0.000926667 0.00094 0.00094 0.00096 +0.00098 0.00098 0.216 0.22168 0.236827 0.248187 0.282267 0.31256 +0.373147 0.46592 0.534105 0.596632 0.661053 0.718526 0.757053 0.772211 +0.762737 0.733684 0.704 0.675579 0.651579 0.626947 0.613053 0.602947 +0.589684 0.583368 0.582737 0.560632 0.527158 0.519579 0.556842 0.601053 +0.623158 0.630105 0.613684 0.579579 0.537895 0.48864 0.38072 0.31824 +0.3012 0.342853 0.4148 0.492427 0.549263 0.649684 0.775368 0.894737 +0.976842 0.996653 1.00188 0.999265 0.994367 0.989143 0.982612 0.971158 +0.959789 0.955368 0.954105 0.952842 0.952842 0.955368 0.960421 0.966105 +0.972421 0.980327 0.98849 0.998286 1.00449 1.00678 1.00645 1.00906 +1.01102 1.01102 1.00906 1.00841 1.00808 1.00906 1.00971 1.01069 +1.01135 1.01102 1.00906 1.0071 1.0071 1.0058 1.00514 1.00612 +1.00841 1.01037 1.01331 1.01494 1.01592 1.01592 1.01657 1.01559 +1.01559 1.0169 1.0169 1.01559 1.01657 1.0169 1.01461 1.01037 +1.00776 1.00906 1.0022 0.994367 0.997633 1.00449 1.00645 1.00939 +1.01265 1.01461 1.01592 1.01461 1.01331 1.01233 1.01069 1.01069 +1.01135 1.01102 1.01298 1.01102 1.00971 1.00906 1.00906 1.00873 +1.00841 1.00939 1.00939 1.00971 1.00971 1.00808 1.00514 1.0058 +1.00873 1.00776 1.00776 1.00873 1.0058 1.00678 1.00514 1.0022 +1.00057 1.00024 1.00057 1.0022 1.00449 1.00351 1.00188 1.00351 +1.00384 1.0009 1.00318 1.00286 1.00416 1.00449 1.00024 1.00024 +1.0022 1.00122 0.999918 0.998286 0.989469 0.971158 0.945263 0.933895 +0.939579 0.957263 0.982286 0.994694 1.0022 1.00384 1.00449 1.00351 +1.0009 0.99698 1.00776 1.05151 1.22281 1.26998 1.2289 1.19086 +1.19238 1.20151 1.20151 1.16195 1.14673 1.1026 1.02637 0.995673 +0.997306 1.00286 1.00384 1.00971 1.012 1.00906 1.00612 1.00188 +0.988163 0.963579 0.950316 0.968632 0.989796 1.00416 1.00808 1.00939 +1.01135 1.01167 1.01135 1.01233 1.00873 1.00873 1.01135 1.01265 +1.01037 1.00906 1.01135 1.01331 1.012 1.01004 1.01037 1.00776 +1.00743 1.00873 1.01102 1.01461 1.01298 1.01167 1.01331 1.01527 +1.01331 1.01167 1.01167 1.01004 1.01265 1.0169 1.01624 1.01461 +1.01624 1.0169 1.01722 1.01527 1.01592 1.01722 1.01624 1.0169 +1.01755 1.01853 1.01722 1.01363 1.01167 1.01265 1.01069 1.00971 +1.00678 1.00971 1.01004 1.01037 1.01233 1.01265 1.01331 1.01396 +1.01363 1.01265 1.01135 1.01004 1.01004 1.00514 1.00188 1.00286 +1.00547 1.00971 1.01298 1.01167 1.01167 1.01069 1.00873 1.00939 +1.01102 1.00776 1.00318 0.998286 0.992408 0.988163 0.981959 0.969263 +0.959158 0.956 0.963579 0.98 0.989143 0.994694 0.999592 1.00808 +1.012 1.01167 1.0071 0.990449 0.948421 0.879579 0.783579 0.674316 +0.590316 0.544211 0.530947 0.537895 0.56 0.597263 0.622526 0.635789 +0.643368 0.645263 0.645895 0.650947 0.652842 0.647158 0.645895 0.652211 +0.661684 0.670526 0.685684 0.714105 0.752 0.774737 0.771579 0.740632 +0.673053 0.597895 0.527789 0.42048 0.34096 0.282267 0.251973 0.2444 +0.225467 0.216 0.000993333 0.217893 0.217893 0.000973333 0.000933333 0.000973333 +0.000973333 0.000993333 0.22168 0.00096 0.000933333 0.000986667 0.000993333 0.000993333 +0.000986667 0.00096 0.000933333 0.00094 0.00094 0.000953333 0.000973333 0.000933333 +0.000933333 0.000986667 0.000973333 0.000993333 0.217893 0.00098 0.00096 0.000933333 +0.000953333 0.000973333 0.000966667 0.000953333 0.000933333 0.00096 0.000966667 0.00098 +0.000946667 0.000946667 0.000926667 0.0009 0.000926667 0.00092 0.000906667 0.000893333 +0.000926667 0.000913333 0.000906667 0.00096 0.000946667 0.000946667 0.00094 0.00096 +0.000973333 0.000973333 0.000993333 0.000993333 0.00098 0.000986667 0.00098 0.000993333 +0.000993333 0.00098 0.000973333 0.22168 0.219787 0.217893 0.22168 0.219787 +0.000986667 0.000973333 0.000993333 0.000973333 0.000973333 0.00098 0.219787 0.231147 +0.225467 0.217893 0.216 0.22168 0.000906667 0.000906667 0.000886667 0.000853333 +0.000833333 0.000826667 0.000806667 0.0008 0.000786667 0.00078 0.000833333 0.000853333 +0.000853333 0.00086 0.23872 0.542947 0.705263 0.654105 0.46592 0.26144 +0.23304 0.231147 0.22736 0.22168 0.216 0.000993333 0.000993333 0.00098 +0.000966667 0.00098 0.00098 0.00098 0.000973333 0.000946667 0.00094 0.00096 +0.000966667 0.000966667 0.000973333 0.000966667 0.000946667 0.00094 0.00094 0.000913333 +0.000893333 0.000886667 0.00088 0.0009 0.000926667 0.000946667 0.000946667 0.000946667 +0.000926667 0.000906667 0.0009 0.000913333 0.000906667 0.000886667 0.000913333 0.000906667 +0.0009 0.000886667 0.000873333 0.0009 0.00092 0.000906667 0.00092 0.00092 +0.000906667 0.000893333 0.000906667 0.0009 0.000893333 0.000933333 0.000926667 0.0009 +0.000906667 0.000913333 0.000913333 0.000893333 0.00088 0.0009 0.000926667 0.000953333 +0.000953333 0.00094 0.00094 0.00094 0.00094 0.00094 0.000913333 0.000933333 +0.000946667 0.000946667 0.000953333 0.000966667 0.00098 0.216 0.217893 0.234933 +0.2444 0.26712 0.297413 0.367467 0.46024 0.530316 0.588421 0.654105 +0.713474 0.753263 0.768421 0.767158 0.741263 0.702737 0.669895 0.647789 +0.632632 0.623158 0.616211 0.605474 0.593474 0.587789 0.592211 0.598526 +0.62 0.652842 0.661684 0.647158 0.620632 0.591579 0.553684 0.516421 +0.441307 0.367467 0.348533 0.36936 0.428053 0.518947 0.589053 0.693263 +0.818947 0.926947 0.986204 1.00057 1.00351 1.00253 0.998939 0.992735 +0.983592 0.973053 0.964842 0.958526 0.955368 0.955368 0.957263 0.962947 +0.966737 0.966105 0.970526 0.982939 0.992408 0.998286 1.00286 1.0058 +1.00971 1.01037 1.00906 1.00971 1.01004 1.00939 1.00841 1.00873 +1.00873 1.01037 1.012 1.01004 1.00906 1.00514 0.999265 0.996 +0.997633 1.00188 1.01004 1.01461 1.01559 1.01657 1.01722 1.0182 +1.01951 1.01853 1.01624 1.01527 1.01559 1.01429 1.01298 1.01069 +1.00808 1.01004 1.00449 0.99698 0.998939 1.0009 1.00253 1.0058 +1.01004 1.01331 1.01559 1.01527 1.01429 1.01527 1.01527 1.01396 +1.01363 1.01265 1.01363 1.01363 1.01135 1.00906 1.01135 1.01265 +1.01037 1.00873 1.00873 1.00939 1.00939 1.00939 1.00776 1.00873 +1.00841 1.00678 1.00776 1.0071 1.00384 1.00612 1.00547 1.00351 +1.00286 1.00351 1.00318 1.00482 1.00482 1.0022 1.0009 1.00384 +1.00351 1.0022 1.00449 1.00449 1.0058 1.00449 0.999918 0.999918 +1.00057 1.00122 1.00024 0.995347 0.984571 0.964842 0.947158 0.940842 +0.941474 0.943368 0.957263 0.981633 0.994041 1.00024 1.0009 0.998939 +0.99502 0.991102 1.00514 1.06761 1.29889 1.31867 1.29737 1.2715 +1.24716 1.23346 1.22738 1.23042 1.31867 1.32476 1.05935 1.00384 +0.990776 0.993714 0.995347 1.0022 1.0071 1.00678 1.00318 0.995673 +0.981633 0.962947 0.950316 0.954105 0.966737 0.987184 0.997959 1.00547 +1.00906 1.00971 1.01004 1.01167 1.00808 1.0058 1.0071 1.00906 +1.00971 1.01037 1.01298 1.01527 1.01363 1.01004 1.01037 1.00971 +1.01004 1.01167 1.01102 1.01265 1.01004 1.00547 1.00808 1.01135 +1.01037 1.00808 1.00971 1.00808 1.00841 1.01167 1.01167 1.01102 +1.01363 1.01298 1.01429 1.01657 1.01657 1.0169 1.01559 1.01624 +1.01657 1.01657 1.01527 1.01396 1.01167 1.01233 1.01331 1.00971 +1.00514 1.0071 1.00906 1.01004 1.01037 1.012 1.01331 1.01461 +1.01396 1.01037 1.00482 1.00351 1.00743 1.00808 1.0058 1.00873 +1.01069 1.01135 1.01298 1.01331 1.012 1.01004 1.00906 1.00939 +1.0071 1.0009 0.994694 0.989796 0.982939 0.973053 0.962316 0.962316 +0.966737 0.978105 0.988816 0.999265 1.00612 1.00939 1.00971 1.00906 +1.00384 0.989469 0.945263 0.858105 0.761474 0.674947 0.604842 0.559368 +0.549263 0.559368 0.582105 0.609895 0.630737 0.649053 0.657895 0.656632 +0.652842 0.652842 0.654737 0.660421 0.662947 0.65979 0.665474 0.686947 +0.715368 0.745053 0.770947 0.781684 0.762105 0.711579 0.640211 0.564421 +0.503158 0.382613 0.304987 0.26144 0.246293 0.236827 0.22168 0.22736 +0.229253 0.000993333 0.000926667 0.216 0.000993333 0.000933333 0.00092 0.000946667 +0.000926667 0.000913333 0.000946667 0.0009 0.00084 0.000873333 0.0009 0.00092 +0.000906667 0.000866667 0.00084 0.000846667 0.000873333 0.000886667 0.000866667 0.000853333 +0.000846667 0.000873333 0.000866667 0.000866667 0.000913333 0.000926667 0.000913333 0.000866667 +0.000866667 0.000886667 0.00094 0.00092 0.000906667 0.000913333 0.000933333 0.000966667 +0.00096 0.00096 0.000946667 0.000926667 0.000946667 0.000926667 0.000926667 0.0009 +0.000913333 0.000886667 0.000866667 0.000893333 0.00088 0.0009 0.0009 0.000926667 +0.000953333 0.00096 0.000953333 0.000986667 0.00098 0.00096 0.000946667 0.00094 +0.000973333 0.00098 0.000953333 0.000973333 0.000993333 0.22168 0.216 0.000986667 +0.000993333 0.000986667 0.216 0.000986667 0.217893 0.216 0.217893 0.23304 +0.234933 0.22736 0.217893 0.22736 0.0009 0.000886667 0.000873333 0.000853333 +0.00084 0.00084 0.000813333 0.000793333 0.000786667 0.000826667 0.00084 0.000846667 +0.000833333 0.000793333 0.000933333 0.503789 0.676211 0.683158 0.523368 0.282267 +0.23304 0.229253 0.22168 0.00098 0.000966667 0.00098 0.000986667 0.000973333 +0.00096 0.000973333 0.00098 0.000966667 0.000953333 0.000953333 0.000953333 0.00096 +0.000966667 0.000973333 0.00096 0.00094 0.000946667 0.000946667 0.00094 0.000926667 +0.0009 0.000893333 0.000886667 0.000906667 0.000913333 0.000926667 0.00092 0.000906667 +0.000906667 0.000906667 0.000906667 0.000906667 0.000893333 0.00088 0.000906667 0.0009 +0.0009 0.00088 0.00088 0.000906667 0.000906667 0.000873333 0.00088 0.00088 +0.000886667 0.0009 0.0009 0.0009 0.00088 0.00092 0.000913333 0.0009 +0.00092 0.00092 0.00092 0.000926667 0.00092 0.000933333 0.000946667 0.000953333 +0.00092 0.0009 0.000913333 0.000913333 0.000906667 0.000906667 0.000886667 0.000893333 +0.000906667 0.00092 0.00092 0.00092 0.000946667 0.00094 0.00094 0.00096 +0.000993333 0.000993333 0.225467 0.23304 0.269013 0.30688 0.356107 0.456453 +0.532842 0.590947 0.657895 0.717263 0.765895 0.775368 0.765895 0.736842 +0.704632 0.675579 0.650316 0.632632 0.624421 0.626316 0.626316 0.618737 +0.625684 0.647789 0.663579 0.669263 0.665474 0.657263 0.640211 0.611158 +0.577684 0.537263 0.484853 0.395867 0.371253 0.40912 0.496213 0.541053 +0.613684 0.724842 0.842947 0.937053 0.989143 1.00253 1.0058 1.00384 +0.999265 0.995347 0.98849 0.979368 0.969263 0.961684 0.953474 0.950947 +0.956632 0.964842 0.968 0.971158 0.977474 0.981633 0.985224 0.990449 +0.996653 1.00318 1.00678 1.0058 1.00841 1.00906 1.00841 1.00906 +1.00906 1.01037 1.01331 1.01265 1.01102 1.01037 1.00318 0.995673 +0.994367 0.996327 1.00286 1.00906 1.01135 1.01004 1.00971 1.01233 +1.01527 1.01461 1.01265 1.01298 1.01429 1.01265 1.012 1.01135 +1.012 1.01167 1.01004 1.00873 1.00841 1.00841 1.00906 1.00906 +1.00873 1.01102 1.01331 1.01363 1.01331 1.01429 1.01396 1.01167 +1.01037 1.01102 1.01069 1.01069 1.01102 1.00939 1.01069 1.01298 +1.01167 1.00906 1.01037 1.00971 1.00939 1.00939 1.00906 1.01102 +1.00873 1.00678 1.00906 1.0058 1.0058 1.00939 1.00873 1.00808 +1.00971 1.01135 1.01004 1.01004 1.0071 1.00384 1.00286 1.00514 +1.00384 1.00286 1.00351 1.00482 1.0071 1.00482 1.00057 0.997633 +0.999592 0.999918 0.994367 0.985878 0.975579 0.964211 0.957263 0.952842 +0.952842 0.951579 0.956 0.969895 0.983918 0.990122 0.991755 0.992735 +0.989143 0.987184 0.993388 1.03453 1.21368 1.31715 1.32628 1.34606 +1.33237 1.30194 1.2639 1.2852 1.43279 1.46018 1.16803 1.01135 +0.985551 0.984571 0.983918 0.988816 0.996327 1.00024 0.999592 0.993061 +0.985224 0.981633 0.980327 0.978105 0.973684 0.980653 0.985878 0.994041 +1.00057 1.00253 1.00384 1.00776 1.00808 1.0071 1.00645 1.00906 +1.00971 1.00776 1.00906 1.01331 1.01102 1.0071 1.00743 1.0071 +1.00678 1.00743 1.00678 1.00873 1.00873 1.00318 1.00547 1.01004 +1.01135 1.01004 1.01102 1.01069 1.00939 1.012 1.012 1.01135 +1.01265 1.012 1.01167 1.01298 1.01298 1.01331 1.01233 1.01233 +1.01135 1.00971 1.01265 1.01363 1.01233 1.01102 1.01135 1.01004 +1.00808 1.00808 1.00939 1.01037 1.01298 1.01233 1.01102 1.01069 +1.01135 1.00971 1.00482 1.00416 1.00808 1.01037 1.01037 1.00971 +1.01004 1.00939 1.00873 1.00841 1.00841 1.00645 1.00122 0.994694 +0.989143 0.985551 0.981959 0.976842 0.970526 0.962316 0.964842 0.978737 +0.987837 0.997306 1.00514 1.00808 1.01069 1.01167 1.0022 0.981633 +0.923158 0.842947 0.748211 0.656632 0.592842 0.562526 0.557474 0.570737 +0.595368 0.617474 0.634526 0.650316 0.662316 0.664842 0.665474 0.661684 +0.658526 0.661053 0.666105 0.671158 0.681895 0.700842 0.736211 0.773474 +0.791789 0.782316 0.738105 0.667368 0.590947 0.520211 0.418587 0.325813 +0.280373 0.263333 0.246293 0.231147 0.22736 0.229253 0.22168 0.231147 +0.236827 0.231147 0.216 0.217893 0.223573 0.000993333 0.00098 0.216 +0.00096 0.000986667 0.000993333 0.000973333 0.000933333 0.000953333 0.000973333 0.223573 +0.231147 0.216 0.000973333 0.000966667 0.000993333 0.22168 0.217893 0.000993333 +0.000966667 0.000933333 0.000913333 0.000926667 0.00094 0.00096 0.000953333 0.00092 +0.00088 0.0009 0.00096 0.00094 0.000893333 0.000873333 0.0009 0.000906667 +0.0009 0.000906667 0.00094 0.00092 0.000926667 0.00094 0.000933333 0.000913333 +0.00092 0.0009 0.0009 0.00088 0.00086 0.000873333 0.00088 0.0009 +0.00094 0.00096 0.00096 0.00096 0.00098 0.00098 0.00096 0.000926667 +0.00094 0.000966667 0.000953333 0.000953333 0.000973333 0.217893 0.219787 0.22168 +0.219787 0.219787 0.22168 0.219787 0.219787 0.225467 0.225467 0.225467 +0.225467 0.229253 0.22168 0.223573 0.00098 0.000946667 0.000906667 0.00088 +0.000866667 0.000853333 0.00084 0.000826667 0.00082 0.000833333 0.000833333 0.00082 +0.000786667 0.00074 0.000853333 0.39776 0.632 0.705895 0.576421 0.34664 +0.25008 0.229253 0.219787 0.000993333 0.216 0.22168 0.22168 0.000993333 +0.00098 0.000993333 0.000986667 0.000966667 0.000973333 0.00098 0.00098 0.000966667 +0.000966667 0.00098 0.00094 0.00092 0.000933333 0.000926667 0.000926667 0.00092 +0.0009 0.000886667 0.000893333 0.0009 0.000893333 0.000933333 0.000933333 0.0009 +0.000906667 0.000926667 0.000906667 0.000893333 0.000886667 0.000893333 0.000893333 0.000893333 +0.000913333 0.000913333 0.000893333 0.0009 0.000886667 0.000893333 0.000913333 0.000913333 +0.000926667 0.000906667 0.000913333 0.000926667 0.000893333 0.000886667 0.000906667 0.00088 +0.000893333 0.00088 0.000873333 0.000886667 0.0009 0.000893333 0.000893333 0.000906667 +0.000893333 0.000893333 0.000906667 0.0009 0.000906667 0.000906667 0.0009 0.000906667 +0.000913333 0.000906667 0.000913333 0.000926667 0.000953333 0.00096 0.000953333 0.000973333 +0.000966667 0.000973333 0.000966667 0.000993333 0.229253 0.2444 0.251973 0.2728 +0.303093 0.354213 0.446987 0.529053 0.589053 0.661053 0.719158 0.765263 +0.777895 0.770316 0.741263 0.707158 0.679368 0.662947 0.654737 0.645895 +0.644 0.646526 0.650947 0.658526 0.668632 0.674947 0.678105 0.666737 +0.648421 0.62 0.577053 0.532842 0.48864 0.412907 0.418587 0.462133 +0.506947 0.551789 0.632632 0.741263 0.851789 0.940211 0.989796 1.00253 +1.00547 1.00743 1.0058 0.998939 0.992408 0.985551 0.973684 0.959789 +0.954737 0.961684 0.969263 0.968 0.967368 0.968 0.969895 0.974947 +0.98098 0.988816 0.997306 1.00286 1.00482 1.00743 1.00939 1.00939 +1.00971 1.01069 1.01135 1.01167 1.01102 1.01396 1.01396 1.0071 +0.999592 0.995673 0.998286 1.00449 1.00808 1.00612 1.00514 1.00743 +1.00906 1.00906 1.01004 1.01331 1.01527 1.01624 1.01527 1.01559 +1.01592 1.01527 1.01527 1.01429 1.01102 1.01167 1.01265 1.01167 +1.01135 1.01102 1.01102 1.01037 1.01037 1.01135 1.01135 1.00971 +1.01069 1.01069 1.00971 1.00906 1.00873 1.01102 1.012 1.01069 +1.00776 1.00808 1.00971 1.01069 1.01069 1.00939 1.00808 1.00906 +1.00841 1.00939 1.01167 1.00743 1.00776 1.00743 1.00482 1.00482 +1.00678 1.0071 1.00743 1.00776 1.00482 1.00384 1.0058 1.00547 +1.00416 1.00416 1.00155 1.0022 1.00449 1.00384 0.999265 0.997306 +0.997959 0.99502 0.985224 0.974947 0.970526 0.969263 0.965474 0.959789 +0.959789 0.962316 0.966105 0.972421 0.977474 0.98098 0.982939 0.984898 +0.983592 0.985551 0.98751 1.00188 1.04824 1.19999 1.2852 1.34911 +1.36584 1.33237 1.25933 1.25629 1.33085 1.2715 1.05478 1.00514 +0.986531 0.984245 0.981306 0.986204 0.994041 0.998939 1.0022 1.00188 +1.00122 1.00155 1.00188 0.998612 0.994367 0.994041 0.993714 0.99502 +0.99698 0.998286 0.999265 1.0022 1.00449 1.00645 1.0071 1.0058 +1.00253 0.998612 1.00155 1.00547 1.00286 0.999918 1.00122 1.00188 +1.00416 1.00776 1.0058 1.00873 1.01135 1.00645 1.00678 1.01102 +1.01167 1.01102 1.01135 1.01135 1.01233 1.01429 1.01429 1.01233 +1.01331 1.01331 1.01102 1.012 1.01461 1.01429 1.01265 1.00971 +1.00939 1.00841 1.01004 1.01265 1.01069 1.01102 1.01135 1.01135 +1.01069 1.01037 1.01069 1.012 1.01331 1.01233 1.00939 1.00906 +1.01037 1.012 1.01037 1.0071 1.00808 1.01102 1.00939 1.00939 +1.01069 1.00939 1.00645 1.00547 1.00253 0.996327 0.988816 0.980653 +0.970526 0.968632 0.966105 0.963579 0.966737 0.977474 0.986531 0.994367 +1.00024 1.00612 1.01037 1.00743 0.996 0.968632 0.900421 0.808211 +0.719158 0.642105 0.585263 0.558737 0.560632 0.579579 0.602947 0.625684 +0.641474 0.649684 0.652211 0.657263 0.664842 0.666737 0.666737 0.667368 +0.668632 0.681263 0.699579 0.724211 0.755158 0.788632 0.794947 0.766526 +0.705895 0.628211 0.549263 0.467813 0.34664 0.2728 0.248187 0.234933 +0.22168 0.219787 0.000986667 0.000953333 0.000986667 0.00094 0.00094 0.000966667 +0.000966667 0.000946667 0.00094 0.000926667 0.00092 0.00092 0.000893333 0.000906667 +0.000873333 0.000893333 0.000913333 0.000886667 0.0009 0.000893333 0.000873333 0.000893333 +0.000953333 0.000953333 0.0009 0.00092 0.00092 0.000926667 0.000926667 0.000933333 +0.00094 0.000906667 0.000886667 0.000913333 0.000926667 0.00096 0.000966667 0.000966667 +0.000913333 0.000893333 0.000933333 0.000973333 0.000926667 0.000926667 0.000926667 0.000926667 +0.000926667 0.000953333 0.000966667 0.000966667 0.000946667 0.000953333 0.00096 0.000946667 +0.000933333 0.000926667 0.00094 0.000906667 0.000893333 0.0009 0.000893333 0.000886667 +0.00088 0.00092 0.000933333 0.0009 0.000906667 0.000946667 0.00092 0.000866667 +0.000906667 0.000946667 0.000913333 0.000893333 0.000926667 0.000933333 0.000946667 0.00098 +0.000966667 0.000946667 0.000953333 0.000973333 0.000966667 0.000953333 0.000973333 0.22168 +0.225467 0.22168 0.217893 0.219787 0.259547 0.22736 0.000973333 0.000933333 +0.000913333 0.0009 0.000873333 0.000853333 0.000886667 0.000893333 0.00088 0.000853333 +0.0008 0.00076 0.000866667 0.31256 0.577684 0.707789 0.638316 0.46024 +0.269013 0.23304 0.223573 0.217893 0.217893 0.217893 0.000993333 0.216 +0.000986667 0.00096 0.00096 0.000953333 0.00096 0.000966667 0.00096 0.000953333 +0.000966667 0.00098 0.000966667 0.00094 0.000946667 0.00094 0.000926667 0.000893333 +0.000886667 0.00088 0.0009 0.000913333 0.0009 0.000933333 0.000933333 0.000913333 +0.00092 0.000933333 0.000933333 0.000913333 0.000913333 0.00092 0.00092 0.000933333 +0.00096 0.000946667 0.000913333 0.00092 0.00092 0.000933333 0.00096 0.000926667 +0.000926667 0.0009 0.00088 0.000906667 0.00088 0.00088 0.000886667 0.000866667 +0.000866667 0.000853333 0.000846667 0.00088 0.0009 0.000893333 0.000886667 0.000906667 +0.000926667 0.000926667 0.000933333 0.000913333 0.000926667 0.000926667 0.000926667 0.00094 +0.000946667 0.000946667 0.000953333 0.000966667 0.00098 0.000986667 0.216 0.000973333 +0.000946667 0.00092 0.00092 0.000953333 0.000966667 0.00098 0.000993333 0.217893 +0.223573 0.23872 0.257653 0.286053 0.34096 0.43752 0.532842 0.59979 +0.673684 0.737474 0.776 0.788 0.778526 0.752 0.719158 0.689474 +0.671158 0.66421 0.659158 0.65979 0.661053 0.66421 0.674316 0.684421 +0.680632 0.65979 0.613684 0.578947 0.557474 0.529684 0.502526 0.473493 +0.464027 0.47728 0.518316 0.566316 0.643368 0.745053 0.845474 0.925684 +0.980653 0.997959 1.0071 1.01102 1.00971 1.00449 0.99698 0.988816 +0.979368 0.969263 0.966737 0.965474 0.966105 0.965474 0.964842 0.965474 +0.965474 0.972421 0.981633 0.98849 0.995673 1.00318 1.00743 1.0071 +1.00776 1.00971 1.01069 1.012 1.012 1.012 1.01265 1.01167 +1.00873 1.00482 1.0009 1.00188 1.0058 1.00841 1.01102 1.01102 +1.01102 1.01102 1.01331 1.01494 1.01429 1.01559 1.01559 1.01559 +1.01494 1.01265 1.01135 1.01135 1.01233 1.01494 1.01461 1.01298 +1.01135 1.01004 1.00906 1.0071 1.0058 1.0071 1.00873 1.00841 +1.00906 1.00873 1.00906 1.00841 1.00776 1.00939 1.01331 1.01298 +1.00971 1.00906 1.00939 1.01004 1.01102 1.00971 1.00939 1.00808 +1.0058 1.00873 1.00906 1.00743 1.00808 1.00645 1.00482 1.00449 +1.00612 1.0058 1.00808 1.00873 1.00678 1.00743 1.00906 1.00547 +1.00482 1.00416 1.00024 0.999265 1.0009 1.00122 0.998286 0.996327 +0.995347 0.989469 0.98098 0.969895 0.969263 0.978737 0.978105 0.965474 +0.962947 0.965474 0.964211 0.964211 0.971158 0.980327 0.980653 0.979368 +0.980327 0.984571 0.989143 0.992082 1.00645 1.03355 1.05445 1.1163 +1.15586 1.14217 1.06 1.0489 1.04433 1.02996 1.01265 0.999592 +0.992735 0.98751 0.98 0.982612 0.989143 0.990449 0.99502 1.00155 +1.00645 1.00939 1.01135 1.00939 1.00612 1.00743 1.00808 1.00841 +1.00743 1.0058 1.00482 1.00449 1.0022 1.00253 1.00384 0.998612 +0.992082 0.988816 0.993388 1.00024 0.997959 0.995673 0.997633 0.999592 +1.00351 1.00873 1.00743 1.00841 1.012 1.01037 1.00971 1.01233 +1.01298 1.01331 1.01265 1.01396 1.01624 1.01722 1.01559 1.01396 +1.01331 1.01396 1.01363 1.012 1.01396 1.01298 1.00906 1.00873 +1.01037 1.01004 1.01102 1.01429 1.01298 1.01167 1.01167 1.01135 +1.01102 1.01167 1.01233 1.01331 1.01331 1.01167 1.00971 1.01037 +1.01167 1.01069 1.01037 1.00971 1.01135 1.01396 1.01265 1.012 +1.01069 1.00678 1.00155 0.99698 0.991429 0.985551 0.981959 0.978105 +0.969895 0.967368 0.973053 0.98 0.987184 0.99698 1.0022 1.00776 +1.00971 1.0071 0.998939 0.972421 0.890316 0.794316 0.704 0.625684 +0.573263 0.556211 0.565053 0.587158 0.613053 0.634526 0.651579 0.662316 +0.660421 0.659158 0.662316 0.666105 0.670526 0.674947 0.682526 0.694526 +0.717895 0.753263 0.791789 0.805684 0.792421 0.741263 0.66421 0.578947 +0.506947 0.37504 0.293627 0.26712 0.248187 0.234933 0.216 0.000993333 +0.216 0.000973333 0.00094 0.00096 0.000973333 0.00094 0.000926667 0.000946667 +0.00098 0.000926667 0.000926667 0.000946667 0.000913333 0.000913333 0.000933333 0.000913333 +0.00088 0.000893333 0.0009 0.000866667 0.000886667 0.00088 0.000813333 0.000793333 +0.000846667 0.00086 0.000833333 0.000846667 0.000866667 0.00088 0.00088 0.000853333 +0.00086 0.000866667 0.000833333 0.000853333 0.000886667 0.000913333 0.000893333 0.00088 +0.000906667 0.000853333 0.000853333 0.0009 0.00088 0.000886667 0.000886667 0.000873333 +0.000866667 0.0009 0.000886667 0.000893333 0.000886667 0.000893333 0.00092 0.000906667 +0.0009 0.000893333 0.00092 0.00092 0.0009 0.000913333 0.000913333 0.000946667 +0.000933333 0.00092 0.000953333 0.000966667 0.00096 0.216 0.00098 0.000913333 +0.000893333 0.000933333 0.00096 0.000933333 0.000926667 0.000926667 0.000953333 0.000953333 +0.000933333 0.00094 0.00094 0.00096 0.000946667 0.00094 0.000933333 0.000953333 +0.217893 0.000986667 0.000986667 0.216 0.422373 0.31824 0.26712 0.234933 +0.000986667 0.000946667 0.000913333 0.000893333 0.000913333 0.000906667 0.000873333 0.000833333 +0.00076 0.00074 0.000826667 0.234933 0.512 0.669263 0.685053 0.541684 +0.304987 0.22736 0.000986667 0.000966667 0.000966667 0.000966667 0.00098 0.000953333 +0.000926667 0.000926667 0.00092 0.000926667 0.000913333 0.00092 0.00094 0.000933333 +0.00094 0.000953333 0.000926667 0.000913333 0.000913333 0.000893333 0.00086 0.00084 +0.000873333 0.000906667 0.000886667 0.00088 0.00088 0.0009 0.000886667 0.0009 +0.00092 0.000906667 0.000906667 0.000893333 0.0009 0.000913333 0.000913333 0.00092 +0.000913333 0.00088 0.000886667 0.00088 0.00086 0.00088 0.00088 0.00086 +0.00086 0.000846667 0.00086 0.00088 0.00088 0.0009 0.0009 0.000886667 +0.000866667 0.000873333 0.000886667 0.000886667 0.0009 0.00092 0.000906667 0.000913333 +0.000913333 0.000906667 0.000893333 0.000886667 0.00088 0.000873333 0.00088 0.000906667 +0.000906667 0.000913333 0.000913333 0.000893333 0.0009 0.000933333 0.000946667 0.00092 +0.0009 0.000906667 0.00092 0.000913333 0.000933333 0.000933333 0.000933333 0.000926667 +0.000966667 0.000986667 0.223573 0.231147 0.240613 0.259547 0.293627 0.35232 +0.467813 0.542947 0.609895 0.681263 0.745684 0.786105 0.794947 0.778526 +0.751368 0.722316 0.698316 0.682526 0.670526 0.661684 0.663579 0.669895 +0.673684 0.657895 0.609263 0.575158 0.572632 0.572632 0.558737 0.542316 +0.524 0.510737 0.506316 0.508211 0.527158 0.570737 0.631368 0.710316 +0.807579 0.896632 0.962947 0.994367 1.00482 1.00776 1.00873 1.00645 +0.999918 0.992082 0.984898 0.978737 0.969895 0.960421 0.957263 0.958526 +0.963579 0.969263 0.973053 0.973053 0.98 0.98849 0.996653 1.0022 +1.00547 1.00743 1.01004 1.01363 1.01494 1.012 1.01037 1.01102 +1.012 1.01004 1.00808 1.00514 1.00547 1.00906 1.012 1.01298 +1.01298 1.01298 1.01298 1.01331 1.01265 1.01429 1.01461 1.01494 +1.01429 1.01331 1.01233 1.01102 1.012 1.01331 1.01265 1.01102 +1.00971 1.00808 1.00776 1.00743 1.0058 1.00482 1.0071 1.00841 +1.00873 1.00873 1.01004 1.01037 1.01135 1.01037 1.01167 1.01102 +1.012 1.01331 1.01135 1.01004 1.01004 1.01069 1.00971 1.00612 +1.00449 1.00743 1.00678 1.00841 1.01004 1.00873 1.00841 1.00841 +1.01004 1.00873 1.00841 1.00678 1.00449 1.00645 1.0071 1.00318 +1.00384 1.0009 0.999265 1.00024 0.999592 1.00057 1.00122 1.00122 +0.997959 0.992408 0.986857 0.978737 0.976211 0.982939 0.983265 0.971789 +0.968 0.969895 0.965474 0.959789 0.969895 0.983265 0.979368 0.967368 +0.967368 0.974316 0.983918 0.986531 0.984571 0.990122 0.999918 1.01135 +1.0182 1.01984 1.01135 1.00122 0.993061 0.991755 0.99698 1.00122 +0.998939 0.994041 0.98751 0.984898 0.984245 0.977474 0.981959 0.991102 +0.997633 1.0022 1.00612 1.0071 1.00612 1.00873 1.01037 1.00906 +1.00906 1.00776 1.00971 1.01167 1.00873 1.00645 1.00612 1.0022 +0.996327 0.992735 0.995673 1.00253 1.00286 1.00253 1.00416 1.0058 +1.00645 1.00939 1.00939 1.00971 1.01331 1.01331 1.01102 1.01167 +1.012 1.01135 1.01167 1.01331 1.01592 1.01657 1.01461 1.01396 +1.01265 1.012 1.01135 1.01004 1.00873 1.00906 1.00808 1.01037 +1.01167 1.01004 1.01135 1.01331 1.01298 1.01331 1.01298 1.01037 +1.01102 1.01298 1.01331 1.01363 1.01363 1.01102 1.00971 1.01135 +1.01298 1.01167 1.01233 1.01363 1.01396 1.01331 1.01069 1.00547 +0.999592 0.993388 0.987837 0.982612 0.98 0.974947 0.972421 0.972421 +0.971158 0.979368 0.989469 0.999265 1.00645 1.01069 1.01102 1.01135 +1.00253 0.976842 0.902316 0.798737 0.695789 0.62 0.576421 0.561895 +0.569474 0.595368 0.624421 0.645895 0.657895 0.66421 0.675579 0.679368 +0.673053 0.672421 0.681895 0.690105 0.701474 0.717895 0.748211 0.779789 +0.807579 0.808211 0.770947 0.705263 0.623158 0.548 0.46024 0.33528 +0.280373 0.25008 0.2444 0.236827 0.23872 0.240613 0.23872 0.223573 +0.23872 0.23304 0.217893 0.223573 0.22736 0.217893 0.22168 0.223573 +0.225467 0.219787 0.219787 0.231147 0.229253 0.219787 0.223573 0.225467 +0.000993333 0.217893 0.225467 0.000993333 0.217893 0.223573 0.000933333 0.000913333 +0.000953333 0.000953333 0.000953333 0.000933333 0.000946667 0.000986667 0.00098 0.000966667 +0.000933333 0.00096 0.000953333 0.000946667 0.000993333 0.219787 0.219787 0.000966667 +0.219787 0.217893 0.000966667 0.216 0.217893 0.000986667 0.217893 0.223573 +0.000973333 0.00098 0.000993333 0.00098 0.000946667 0.00092 0.000926667 0.000946667 +0.000966667 0.00092 0.000906667 0.000933333 0.000933333 0.000906667 0.000893333 0.000933333 +0.00096 0.000966667 0.000946667 0.000966667 0.00098 0.000973333 0.000973333 0.000966667 +0.000966667 0.000946667 0.000966667 0.00098 0.000946667 0.000926667 0.00096 0.217893 +0.000993333 0.000986667 0.217893 0.229253 0.000993333 0.000993333 0.219787 0.216 +0.225467 0.223573 0.000973333 0.00096 0.639579 0.550526 0.46024 0.348533 +0.282267 0.25008 0.236827 0.22736 0.000993333 0.000953333 0.00094 0.000893333 +0.000813333 0.000813333 0.00088 0.000993333 0.384507 0.608632 0.707789 0.622526 +0.44888 0.274693 0.236827 0.22736 0.22736 0.23304 0.229253 0.22168 +0.216 0.219787 0.217893 0.000986667 0.000973333 0.000973333 0.000973333 0.000973333 +0.000993333 0.000993333 0.00096 0.00096 0.000946667 0.00094 0.000926667 0.000926667 +0.000933333 0.000926667 0.000886667 0.000886667 0.000906667 0.000913333 0.000913333 0.000913333 +0.000953333 0.000933333 0.000913333 0.00092 0.00092 0.000926667 0.000926667 0.00092 +0.000906667 0.00088 0.0009 0.000913333 0.000893333 0.000906667 0.0009 0.000906667 +0.00092 0.000913333 0.000913333 0.000906667 0.000906667 0.000926667 0.000933333 0.000906667 +0.0009 0.000906667 0.000926667 0.00092 0.00092 0.00092 0.000913333 0.000913333 +0.000906667 0.0009 0.00088 0.000873333 0.0009 0.000906667 0.000906667 0.00092 +0.00092 0.000913333 0.000913333 0.0009 0.000913333 0.00092 0.000933333 0.000926667 +0.00092 0.00094 0.00092 0.00094 0.000933333 0.00096 0.00096 0.00098 +0.000993333 0.216 0.216 0.225467 0.231147 0.234933 0.246293 0.259547 +0.2728 0.31256 0.382613 0.48864 0.552421 0.625684 0.700211 0.760842 +0.796211 0.800632 0.781053 0.751368 0.717263 0.693263 0.677474 0.671158 +0.668 0.657263 0.627579 0.602947 0.594737 0.592842 0.586526 0.574526 +0.56 0.546105 0.536 0.527789 0.523368 0.524632 0.532842 0.559368 +0.616211 0.693263 0.777895 0.854947 0.921263 0.978737 1.00122 1.01167 +1.01233 1.00678 1.0009 0.995347 0.989143 0.980653 0.968 0.962947 +0.964211 0.968632 0.972421 0.972421 0.969895 0.976211 0.982612 0.990449 +0.998286 1.00351 1.00776 1.01102 1.01331 1.01331 1.01331 1.01363 +1.01331 1.01102 1.01102 1.01233 1.01135 1.00971 1.01037 1.00971 +1.00939 1.00939 1.00906 1.00971 1.01331 1.01657 1.01527 1.01298 +1.01265 1.01363 1.01265 1.01102 1.01167 1.01069 1.00841 1.00808 +1.00939 1.00971 1.00939 1.00939 1.00645 1.00547 1.0071 1.00873 +1.00873 1.00906 1.01069 1.01135 1.01102 1.01135 1.00939 1.00776 +1.00939 1.00971 1.00808 1.00906 1.01037 1.01167 1.00939 1.0058 +1.00547 1.00449 0.999918 1.0009 1.00351 1.00612 1.00841 1.01004 +1.012 1.00939 1.00841 1.00678 1.00482 1.00678 1.00482 1.00188 +1.00057 0.998286 1.00122 1.00351 1.00286 1.0022 1.00318 1.00188 +0.997633 0.992735 0.986531 0.978105 0.970526 0.974316 0.978105 0.970526 +0.965474 0.961053 0.955368 0.957263 0.968 0.981959 0.979368 0.967368 +0.971158 0.982286 0.989143 0.986531 0.977474 0.969895 0.971158 0.977474 +0.980653 0.981959 0.981959 0.980327 0.974316 0.982286 0.990449 0.998939 +1.00482 1.00416 0.995673 0.986204 0.976211 0.957895 0.958526 0.974947 +0.984898 0.994367 1.00286 1.00776 1.00678 1.00776 1.00776 1.0058 +1.00612 1.00612 1.00808 1.00906 1.00873 1.00841 1.00841 1.00645 +1.00416 1.00286 1.00384 1.00841 1.00906 1.0071 1.00678 1.00841 +1.00547 1.0058 1.00612 1.00351 1.00547 1.00841 1.00743 1.00906 +1.00939 1.01004 1.01135 1.01167 1.01233 1.01298 1.012 1.01069 +1.00873 1.0071 1.0071 1.00645 1.00645 1.00841 1.01135 1.01167 +1.01331 1.01396 1.01265 1.01363 1.01494 1.01429 1.01396 1.01298 +1.01265 1.01233 1.01037 1.01167 1.01363 1.01429 1.012 1.01102 +1.01298 1.01331 1.01233 1.01069 1.00743 1.00253 0.996327 0.991102 +0.984898 0.981306 0.975579 0.969263 0.964842 0.964211 0.971789 0.98 +0.986531 0.996327 1.00482 1.01102 1.01396 1.01135 1.00122 0.979368 +0.906737 0.808211 0.705895 0.620632 0.570105 0.555579 0.566316 0.594105 +0.622526 0.644632 0.659158 0.666105 0.664842 0.668632 0.678737 0.681263 +0.680632 0.686947 0.704632 0.733684 0.769053 0.803789 0.814526 0.789895 +0.734316 0.653474 0.567579 0.49432 0.37504 0.297413 0.25008 0.240613 +0.23872 0.225467 0.231147 0.240613 0.234933 0.236827 0.225467 0.219787 +0.223573 0.223573 0.000993333 0.219787 0.223573 0.00098 0.000986667 0.000966667 +0.000966667 0.00096 0.000973333 0.217893 0.216 0.000953333 0.00094 0.00094 +0.000906667 0.00094 0.00098 0.000966667 0.000966667 0.000953333 0.000906667 0.000886667 +0.00092 0.000906667 0.00092 0.0009 0.000886667 0.00092 0.000913333 0.00092 +0.000866667 0.00084 0.000846667 0.000846667 0.00084 0.00084 0.000886667 0.00084 +0.000826667 0.000893333 0.000873333 0.00086 0.000853333 0.00084 0.00086 0.000893333 +0.000866667 0.00086 0.0009 0.000913333 0.000893333 0.00086 0.000826667 0.000866667 +0.000893333 0.00086 0.00084 0.00086 0.000886667 0.000893333 0.000866667 0.00088 +0.000913333 0.000946667 0.000966667 0.000953333 0.000993333 0.217893 0.000986667 0.000973333 +0.217893 0.219787 0.00098 0.000986667 0.216 0.00098 0.000953333 0.000973333 +0.000973333 0.000973333 0.000986667 0.22736 0.217893 0.00098 0.216 0.217893 +0.000993333 0.000993333 0.216 0.217893 0.880211 0.774105 0.65979 0.566316 +0.498107 0.373147 0.310667 0.2728 0.236827 0.217893 0.00098 0.00092 +0.00086 0.000873333 0.000913333 0.000953333 0.270907 0.530316 0.677474 0.689474 +0.556842 0.350427 0.259547 0.242507 0.23872 0.23304 0.229253 0.22736 +0.223573 0.219787 0.22168 0.000986667 0.00098 0.000986667 0.000973333 0.000986667 +0.000986667 0.000973333 0.000966667 0.00096 0.000953333 0.000953333 0.00094 0.000913333 +0.000893333 0.000886667 0.000893333 0.0009 0.000906667 0.000906667 0.000913333 0.000906667 +0.00092 0.000926667 0.000913333 0.000906667 0.000913333 0.000926667 0.000913333 0.00092 +0.000926667 0.000913333 0.000913333 0.00092 0.00092 0.000906667 0.000906667 0.0009 +0.00094 0.00094 0.000913333 0.000893333 0.000893333 0.000926667 0.000926667 0.000906667 +0.00088 0.000893333 0.000906667 0.000926667 0.000906667 0.000906667 0.000926667 0.000913333 +0.000906667 0.000913333 0.000913333 0.0009 0.00092 0.000933333 0.000906667 0.0009 +0.000906667 0.00092 0.000933333 0.000953333 0.000953333 0.000946667 0.000966667 0.000973333 +0.000946667 0.00094 0.000946667 0.00096 0.00096 0.000973333 0.000993333 0.000993333 +0.00098 0.217893 0.219787 0.219787 0.217893 0.216 0.223573 0.229253 +0.236827 0.251973 0.270907 0.282267 0.31256 0.388293 0.506316 0.567579 +0.638947 0.711579 0.768421 0.798105 0.801263 0.780421 0.748842 0.719158 +0.694526 0.675579 0.660421 0.647789 0.635789 0.621895 0.609895 0.595368 +0.578947 0.563158 0.557474 0.563789 0.566316 0.560632 0.554316 0.549895 +0.555579 0.578947 0.613053 0.653474 0.713474 0.801263 0.894737 0.969263 +0.999265 1.00939 1.01102 1.00971 1.00743 0.999918 0.992082 0.984898 +0.975579 0.968 0.970526 0.972421 0.971158 0.970526 0.973053 0.978105 +0.984245 0.990449 0.996327 1.00155 1.00645 1.01102 1.01265 1.01135 +1.01135 1.01167 1.01102 1.012 1.01265 1.01265 1.01233 1.01004 +1.00939 1.00808 1.0071 1.00808 1.01135 1.01363 1.01298 1.01265 +1.01233 1.01167 1.01037 1.00906 1.01004 1.00906 1.00841 1.00939 +1.00939 1.00971 1.00873 1.00906 1.00939 1.0071 1.00645 1.00808 +1.00971 1.01004 1.00808 1.00906 1.00906 1.00906 1.00678 1.00808 +1.01004 1.00743 1.00612 1.0071 1.00906 1.012 1.01167 1.01004 +1.00971 1.00514 0.997633 0.993388 0.990449 0.992735 0.998939 1.00449 +1.00776 1.0071 1.0071 1.00449 1.0022 1.00416 1.00188 0.998939 +0.997306 0.999918 1.00547 1.00645 1.00612 1.00351 0.998939 0.993714 +0.990122 0.985878 0.978737 0.969263 0.967368 0.965474 0.967368 0.966105 +0.963579 0.956 0.948421 0.953474 0.961684 0.975579 0.979368 0.974947 +0.981306 0.98751 0.988163 0.979368 0.964842 0.957895 0.952842 0.949053 +0.950316 0.952211 0.958526 0.959158 0.964842 0.98098 0.98751 0.993061 +1.00286 1.00449 0.992735 0.978737 0.962316 0.945895 0.946526 0.959158 +0.969263 0.985551 0.997959 1.00547 1.00808 1.00906 1.01135 1.00873 +1.00873 1.00971 1.00971 1.00873 1.00743 1.00808 1.00906 1.00808 +1.00743 1.00808 1.00808 1.01233 1.01135 1.00743 1.00318 1.00678 +1.00645 1.00514 1.00318 0.999265 0.999265 1.0022 1.00122 1.00253 +1.0009 1.00155 1.00286 1.00384 1.00514 1.00776 1.00776 1.00743 +1.00808 1.00612 1.00873 1.01102 1.01135 1.01265 1.01298 1.01265 +1.01363 1.01298 1.01135 1.01331 1.01494 1.01363 1.01429 1.01461 +1.01298 1.01265 1.01167 1.01102 1.01331 1.01559 1.01331 1.00939 +1.00939 1.00873 1.00482 1.00024 0.994694 0.988163 0.983265 0.98098 +0.976842 0.969895 0.968 0.966737 0.971789 0.980653 0.988816 0.997306 +1.00416 1.01037 1.01363 1.01331 1.0058 0.984245 0.909263 0.806316 +0.710947 0.626316 0.573263 0.561895 0.576421 0.601053 0.628842 0.652842 +0.663579 0.666737 0.669263 0.674316 0.674947 0.680632 0.691368 0.697684 +0.712842 0.742526 0.780421 0.808842 0.807579 0.766526 0.693895 0.607368 +0.528421 0.39208 0.28416 0.251973 0.229253 0.219787 0.000986667 0.000966667 +0.000933333 0.000913333 0.000973333 0.00098 0.216 0.000993333 0.00094 0.000926667 +0.00094 0.00092 0.00092 0.000933333 0.000946667 0.00092 0.000913333 0.000893333 +0.000893333 0.000886667 0.000886667 0.000926667 0.000933333 0.0009 0.000886667 0.000886667 +0.000873333 0.000886667 0.000906667 0.000906667 0.000926667 0.000913333 0.00088 0.00086 +0.000893333 0.00088 0.000893333 0.000913333 0.000886667 0.00092 0.000913333 0.000913333 +0.000926667 0.0009 0.000893333 0.000933333 0.000906667 0.00088 0.000913333 0.000893333 +0.00086 0.000913333 0.00096 0.000933333 0.000886667 0.000893333 0.000926667 0.000953333 +0.000933333 0.00092 0.000933333 0.000953333 0.000966667 0.000946667 0.00092 0.000966667 +0.000953333 0.000913333 0.00092 0.00092 0.000913333 0.00092 0.000913333 0.00092 +0.000926667 0.00094 0.000966667 0.000966667 0.000953333 0.00096 0.000986667 0.000966667 +0.00094 0.000966667 0.00096 0.000926667 0.00096 0.216 0.00098 0.000966667 +0.000993333 0.22168 0.223573 0.234933 0.246293 0.23872 0.22736 0.229253 +0.22736 0.22168 0.234933 0.265227 0.985551 0.975579 0.904842 0.796842 +0.684421 0.588421 0.516421 0.401547 0.31256 0.265227 0.236827 0.00098 +0.000906667 0.000933333 0.00096 0.000966667 0.223573 0.384507 0.601684 0.705895 +0.645895 0.511368 0.316347 0.26144 0.248187 0.240613 0.234933 0.229253 +0.223573 0.217893 0.217893 0.22168 0.219787 0.000993333 0.000973333 0.00098 +0.000973333 0.000966667 0.000966667 0.00096 0.00094 0.00094 0.000926667 0.0009 +0.000886667 0.00088 0.0009 0.000893333 0.000906667 0.000913333 0.000906667 0.000913333 +0.00092 0.000913333 0.000913333 0.000913333 0.000906667 0.0009 0.00088 0.0009 +0.00092 0.00092 0.000913333 0.000906667 0.0009 0.0009 0.0009 0.000893333 +0.000926667 0.000946667 0.00092 0.000913333 0.0009 0.000926667 0.000926667 0.000906667 +0.000886667 0.0009 0.000933333 0.000926667 0.0009 0.000913333 0.000913333 0.0009 +0.0009 0.0009 0.000906667 0.00092 0.00092 0.000926667 0.0009 0.00092 +0.00094 0.000946667 0.00096 0.000966667 0.000966667 0.000973333 0.000973333 0.00098 +0.000973333 0.00096 0.000966667 0.00098 0.000966667 0.000973333 0.000993333 0.000953333 +0.000953333 0.000966667 0.000966667 0.000926667 0.000933333 0.00096 0.000993333 0.219787 +0.22168 0.225467 0.242507 0.25008 0.253867 0.269013 0.28984 0.331493 +0.407227 0.512632 0.575158 0.650947 0.725474 0.778526 0.806316 0.806947 +0.781053 0.745684 0.710947 0.684421 0.668632 0.654105 0.640211 0.629474 +0.617474 0.603579 0.590316 0.589053 0.593474 0.598526 0.596632 0.585895 +0.584632 0.595368 0.597895 0.590316 0.589684 0.624421 0.693895 0.779789 +0.870105 0.952211 0.994694 1.00841 1.01298 1.012 1.00971 1.00416 +0.99502 0.98751 0.983265 0.981306 0.972421 0.965474 0.965474 0.968 +0.969895 0.973684 0.980327 0.985551 0.993714 1.00318 1.00906 1.00971 +1.01037 1.01167 1.01233 1.01167 1.01167 1.01004 1.01069 1.01167 +1.01265 1.01233 1.01265 1.01167 1.01037 1.00841 1.01037 1.01298 +1.01363 1.01298 1.01167 1.01004 1.00906 1.00939 1.01037 1.00971 +1.00971 1.00841 1.00873 1.00906 1.00939 1.0071 1.00253 1.00253 +1.00547 1.00612 1.00547 1.00743 1.01069 1.00743 1.0058 1.01037 +1.01135 1.00971 1.00939 1.00873 1.00939 1.01004 1.00939 1.01004 +1.01037 1.00873 1.0058 0.999592 0.98849 0.985224 0.990122 0.995673 +0.997959 0.998612 0.998939 0.996327 0.996 0.998612 0.99698 0.997633 +0.998286 1.0022 1.00416 1.00318 1.00122 0.993714 0.985224 0.98 +0.978105 0.973053 0.961053 0.960421 0.961684 0.962316 0.961053 0.956 +0.954737 0.953474 0.949053 0.952211 0.959789 0.970526 0.978737 0.980653 +0.980653 0.98 0.972421 0.959158 0.951579 0.950947 0.949684 0.943368 +0.945895 0.950947 0.957263 0.954737 0.963579 0.981306 0.987837 0.989469 +0.992408 0.992735 0.985224 0.974947 0.961684 0.949053 0.950947 0.958526 +0.960421 0.971789 0.987184 0.998286 1.00416 1.00776 1.012 1.01004 +1.00873 1.00776 1.00873 1.01037 1.00808 1.00873 1.01037 1.00808 +1.0071 1.0058 1.00482 1.00906 1.012 1.01167 1.0071 1.00873 +1.01004 1.00873 1.00906 1.00678 1.0058 1.00743 1.00384 1.00188 +0.996327 0.994367 0.994694 0.996327 1.0009 1.00514 1.00808 1.00841 +1.012 1.00906 1.00906 1.012 1.01135 1.01167 1.01102 1.01004 +1.01069 1.00841 1.00743 1.00906 1.01102 1.01004 1.01233 1.01429 +1.01167 1.01135 1.01167 1.012 1.01233 1.012 1.00776 1.0009 +0.996327 0.993388 0.987837 0.982939 0.977474 0.972421 0.966737 0.966105 +0.962316 0.959158 0.967368 0.980327 0.988816 0.997306 1.00286 1.00841 +1.00906 1.00873 1.00416 0.986531 0.92379 0.825263 0.712842 0.621263 +0.575158 0.558737 0.569474 0.597895 0.627579 0.650947 0.666737 0.670526 +0.669895 0.672421 0.674947 0.684421 0.688842 0.699579 0.728 0.765263 +0.801263 0.816421 0.796211 0.740632 0.653474 0.562526 0.484853 0.365573 +0.303093 0.246293 0.217893 0.223573 0.225467 0.219787 0.000986667 0.000986667 +0.000973333 0.000986667 0.000986667 0.000986667 0.00098 0.000986667 0.216 0.000993333 +0.000986667 0.000973333 0.00098 0.216 0.000986667 0.000986667 0.000993333 0.00098 +0.00096 0.000966667 0.00096 0.000973333 0.000973333 0.00096 0.000953333 0.000946667 +0.00094 0.00096 0.000953333 0.00094 0.000986667 0.000993333 0.00094 0.00094 +0.000953333 0.000933333 0.000926667 0.00096 0.00098 0.000966667 0.000966667 0.000933333 +0.000966667 0.000973333 0.00094 0.000966667 0.000973333 0.000966667 0.000966667 0.00098 +0.000953333 0.000946667 0.219787 0.000993333 0.000946667 0.000946667 0.000966667 0.000966667 +0.000953333 0.000946667 0.000926667 0.000933333 0.00094 0.000933333 0.000913333 0.00094 +0.000926667 0.000873333 0.000873333 0.000906667 0.000866667 0.00086 0.00088 0.00088 +0.000866667 0.000866667 0.000886667 0.000913333 0.000893333 0.000873333 0.00092 0.000973333 +0.000946667 0.000953333 0.00096 0.00094 0.000946667 0.00098 0.000993333 0.000993333 +0.225467 0.236827 0.242507 0.2444 0.246293 0.23304 0.219787 0.22168 +0.229253 0.248187 0.29552 0.384507 0.853684 0.955368 0.993061 0.986204 +0.926947 0.828421 0.712211 0.605474 0.526526 0.424267 0.32392 0.259547 +0.22736 0.22736 0.22736 0.22736 0.223573 0.274693 0.517684 0.660421 +0.710316 0.616842 0.49432 0.320133 0.2728 0.25576 0.248187 0.240613 +0.234933 0.23304 0.23304 0.229253 0.22168 0.216 0.00098 0.000993333 +0.000993333 0.00098 0.00098 0.000973333 0.00096 0.000966667 0.00094 0.000926667 +0.000906667 0.000906667 0.000913333 0.000913333 0.000933333 0.000933333 0.000913333 0.000926667 +0.00094 0.000933333 0.000953333 0.000946667 0.00092 0.00092 0.000906667 0.00092 +0.000946667 0.000933333 0.000913333 0.000906667 0.000906667 0.00092 0.000906667 0.000886667 +0.000906667 0.0009 0.00088 0.000866667 0.00086 0.000873333 0.000873333 0.00088 +0.000866667 0.000886667 0.0009 0.0009 0.000886667 0.0009 0.00088 0.000873333 +0.0009 0.000893333 0.0009 0.000913333 0.000926667 0.00094 0.000933333 0.000946667 +0.000933333 0.000933333 0.000953333 0.000946667 0.000926667 0.000933333 0.000926667 0.000913333 +0.00092 0.000933333 0.000913333 0.00092 0.000913333 0.000906667 0.000913333 0.000893333 +0.000873333 0.00092 0.000946667 0.000953333 0.000946667 0.000946667 0.000986667 0.216 +0.000966667 0.000986667 0.229253 0.223573 0.217893 0.223573 0.23304 0.25008 +0.265227 0.282267 0.327707 0.412907 0.515789 0.582737 0.663579 0.738105 +0.789895 0.810105 0.798105 0.764 0.728 0.695789 0.668632 0.652842 +0.643368 0.641474 0.633895 0.617474 0.606105 0.608632 0.610526 0.607368 +0.616842 0.645263 0.658526 0.645895 0.621895 0.601684 0.600421 0.618737 +0.663579 0.749474 0.849263 0.932632 0.985551 1.00384 1.01135 1.01069 +1.0071 1.00318 0.998939 0.994694 0.988163 0.980327 0.971158 0.965474 +0.964211 0.962316 0.964211 0.972421 0.98098 0.987837 0.996327 1.00286 +1.0071 1.00971 1.01167 1.01069 1.00971 1.00939 1.01102 1.01135 +1.01233 1.01331 1.01527 1.01624 1.01429 1.01233 1.012 1.01298 +1.01396 1.01363 1.01429 1.01461 1.01331 1.01167 1.01004 1.00906 +1.01004 1.00971 1.00808 1.00743 1.00645 1.00612 1.00286 1.00351 +1.00384 1.00122 1.00351 1.00841 1.00939 1.0071 1.00776 1.01069 +1.00873 1.00873 1.00841 1.00939 1.01069 1.00906 1.00906 1.00971 +1.01037 1.00841 1.00547 1.0022 0.992082 0.985224 0.985224 0.986531 +0.984898 0.984245 0.985224 0.986857 0.992735 0.997633 0.998939 0.997306 +0.997306 0.996 0.991755 0.989796 0.984245 0.974316 0.962947 0.960421 +0.964842 0.957263 0.949053 0.954105 0.957263 0.954737 0.956 0.950947 +0.950947 0.949684 0.943368 0.946526 0.959789 0.972421 0.980653 0.981633 +0.972421 0.966105 0.959158 0.951579 0.950316 0.954737 0.954737 0.944632 +0.945895 0.950947 0.954105 0.948421 0.957263 0.972421 0.98098 0.983918 +0.986204 0.985224 0.982612 0.978737 0.969895 0.960421 0.963579 0.967368 +0.960421 0.959789 0.973053 0.985878 0.994367 1.00057 1.00645 1.0071 +1.00808 1.00808 1.00873 1.00971 1.00645 1.00547 1.00873 1.00743 +1.00645 1.00449 1.00318 1.00547 1.00743 1.01102 1.00906 1.00776 +1.00873 1.01004 1.01135 1.01102 1.00776 1.00808 1.00645 1.00416 +1.00057 0.997959 0.996 0.993714 0.994694 1.0009 1.00678 1.00841 +1.01004 1.00906 1.00808 1.01102 1.00971 1.00971 1.01069 1.00841 +1.00873 1.00873 1.00808 1.00841 1.00971 1.00971 1.00939 1.00971 +1.00678 1.00514 1.00482 1.00318 0.999592 0.996653 0.993061 0.98849 +0.985551 0.981959 0.973684 0.966105 0.962947 0.965474 0.968632 0.969895 +0.978105 0.983918 0.990776 0.998939 1.00482 1.00678 1.00873 1.01069 +1.00482 0.98751 0.932632 0.835368 0.733684 0.646526 0.589684 0.569474 +0.580211 0.609263 0.636421 0.652211 0.664842 0.674947 0.679368 0.678737 +0.680632 0.685053 0.692 0.709684 0.737474 0.770316 0.806316 0.822737 +0.791158 0.716 0.62 0.532842 0.422373 0.320133 0.26712 0.2444 +0.2444 0.234933 0.225467 0.234933 0.231147 0.219787 0.229253 0.219787 +0.000993333 0.000993333 0.216 0.217893 0.000993333 0.00096 0.000966667 0.000986667 +0.00098 0.000933333 0.000966667 0.223573 0.000986667 0.00098 0.217893 0.217893 +0.000973333 0.000986667 0.000993333 0.000966667 0.00096 0.000946667 0.000926667 0.00092 +0.00092 0.00098 0.000933333 0.000906667 0.00098 0.00098 0.00094 0.00094 +0.000933333 0.000906667 0.000906667 0.00092 0.000953333 0.000946667 0.000933333 0.000913333 +0.000913333 0.00092 0.0009 0.000913333 0.0009 0.0009 0.000893333 0.000893333 +0.000933333 0.000906667 0.000906667 0.000913333 0.000893333 0.00092 0.000913333 0.000906667 +0.000906667 0.00094 0.00096 0.00094 0.00092 0.000933333 0.000926667 0.000933333 +0.000933333 0.00094 0.000913333 0.000913333 0.00092 0.000933333 0.000946667 0.000953333 +0.000946667 0.00094 0.000953333 0.00098 0.219787 0.217893 0.216 0.22168 +0.223573 0.225467 0.225467 0.219787 0.000993333 0.22168 0.22736 0.22736 +0.22736 0.217893 0.216 0.223573 0.23304 0.22736 0.236827 0.26144 +0.30688 0.399653 0.517053 0.580211 0.629474 0.746316 0.853684 0.938316 +0.986857 0.990449 0.945895 0.848 0.735579 0.628842 0.539789 0.435627 +0.333387 0.28416 0.259547 0.248187 0.240613 0.242507 0.350427 0.563158 +0.691368 0.710947 0.614947 0.504421 0.327707 0.26712 0.25576 0.2444 +0.236827 0.236827 0.231147 0.22168 0.217893 0.217893 0.000993333 0.217893 +0.216 0.000986667 0.000986667 0.00096 0.00096 0.000946667 0.000913333 0.00092 +0.000926667 0.000933333 0.00092 0.000926667 0.000966667 0.000966667 0.00094 0.00094 +0.000946667 0.00094 0.000933333 0.000926667 0.00092 0.00092 0.000886667 0.000906667 +0.000926667 0.0009 0.000886667 0.0009 0.000893333 0.000886667 0.000893333 0.000893333 +0.000906667 0.000893333 0.000893333 0.000873333 0.000893333 0.0009 0.0009 0.000913333 +0.000906667 0.000913333 0.0009 0.000893333 0.000886667 0.000893333 0.00092 0.0009 +0.0009 0.00092 0.00094 0.000953333 0.000946667 0.000966667 0.000946667 0.000926667 +0.000906667 0.00094 0.00096 0.000953333 0.000933333 0.000926667 0.000926667 0.000913333 +0.00094 0.00094 0.00092 0.000933333 0.000953333 0.000946667 0.00098 0.000973333 +0.000973333 0.217893 0.217893 0.00098 0.00096 0.00096 0.00098 0.216 +0.000993333 0.217893 0.219787 0.217893 0.000993333 0.000973333 0.216 0.229253 +0.236827 0.246293 0.26144 0.269013 0.282267 0.322027 0.422373 0.529684 +0.602947 0.683789 0.750105 0.793053 0.804421 0.784842 0.746316 0.707789 +0.680632 0.665474 0.65979 0.647789 0.630737 0.615579 0.609895 0.618737 +0.645895 0.680632 0.699579 0.698947 0.685053 0.659158 0.632 0.608632 +0.592211 0.604842 0.650316 0.721684 0.814526 0.908 0.976842 0.998612 +1.00808 1.01233 1.00939 1.00678 1.0058 1.0009 0.991102 0.981633 +0.969895 0.958526 0.958526 0.965474 0.972421 0.975579 0.98098 0.98849 +0.996327 1.00155 1.00449 1.00776 1.00906 1.00906 1.01135 1.01265 +1.012 1.01069 1.01363 1.01429 1.01461 1.01429 1.01396 1.01363 +1.01298 1.01167 1.01135 1.012 1.01135 1.01037 1.00873 1.0071 +1.00776 1.00971 1.01069 1.00939 1.00873 1.00873 1.00678 1.0071 +1.00547 1.00188 1.00122 1.00318 1.00253 1.00547 1.01069 1.01037 +1.00645 1.00612 1.0058 1.00841 1.00873 1.00873 1.00776 1.0058 +1.00416 1.0009 0.997959 0.994367 0.986857 0.980327 0.975579 0.973053 +0.969895 0.967368 0.970526 0.981633 0.992082 0.998939 0.999918 0.992082 +0.987837 0.981959 0.971789 0.970526 0.963579 0.957263 0.951579 0.955368 +0.957895 0.945263 0.940211 0.945895 0.946526 0.943368 0.947789 0.948421 +0.946526 0.944632 0.941474 0.951579 0.966105 0.973684 0.976842 0.975579 +0.966737 0.962947 0.958526 0.953474 0.952842 0.957895 0.957895 0.954737 +0.958526 0.961053 0.960421 0.957895 0.968 0.98 0.98 0.980653 +0.982612 0.982612 0.980653 0.98098 0.978737 0.973684 0.977474 0.98 +0.972421 0.968 0.971789 0.972421 0.978737 0.985224 0.993714 0.997959 +1.0022 1.00645 1.00808 1.00939 1.00678 1.00612 1.00971 1.00939 +1.00971 1.00776 1.0058 1.00743 1.00776 1.00939 1.00645 1.00416 +1.00776 1.01265 1.01233 1.01069 1.00743 1.00776 1.00841 1.00776 +1.00547 1.00122 0.99502 0.987837 0.983918 0.984898 0.989143 0.992735 +0.996 0.998612 0.998939 1.00253 1.00416 1.00514 1.00482 1.00318 +1.00449 1.00514 1.00384 1.00416 1.00449 1.00514 1.00416 1.00188 +0.998939 0.996 0.993388 0.990122 0.986204 0.983592 0.981633 0.978105 +0.973684 0.969895 0.964842 0.962316 0.968632 0.982939 0.990122 0.993061 +0.999265 1.00514 1.00743 1.01233 1.01265 1.00808 0.999592 0.983918 +0.933895 0.848632 0.744421 0.647158 0.594105 0.583368 0.592842 0.612421 +0.637053 0.656632 0.666737 0.673684 0.682526 0.691368 0.691368 0.688842 +0.697053 0.709053 0.737474 0.781053 0.818947 0.822105 0.775368 0.691368 +0.595368 0.510737 0.365573 0.280373 0.246293 0.231147 0.229253 0.22736 +0.22168 0.223573 0.00098 0.000986667 0.216 0.219787 0.219787 0.216 +0.000993333 0.000966667 0.000986667 0.000993333 0.00096 0.00096 0.000946667 0.00096 +0.000933333 0.00088 0.000893333 0.000966667 0.00094 0.000906667 0.000933333 0.00094 +0.00092 0.000913333 0.000946667 0.00094 0.000926667 0.000906667 0.000886667 0.000873333 +0.000866667 0.000926667 0.00092 0.000886667 0.000933333 0.00094 0.000906667 0.0009 +0.0009 0.0009 0.000913333 0.000906667 0.000946667 0.00096 0.000953333 0.00096 +0.000933333 0.000926667 0.00094 0.000973333 0.000953333 0.00092 0.000906667 0.000906667 +0.00096 0.00096 0.000946667 0.000946667 0.000926667 0.000946667 0.00094 0.000933333 +0.000933333 0.000946667 0.000986667 0.00098 0.000926667 0.000953333 0.000966667 0.000953333 +0.000953333 0.000966667 0.00092 0.00088 0.000913333 0.00096 0.000966667 0.000986667 +0.216 0.217893 0.22168 0.22168 0.223573 0.223573 0.225467 0.22168 +0.22168 0.216 0.000993333 0.216 0.217893 0.223573 0.223573 0.223573 +0.231147 0.23304 0.23304 0.240613 0.26712 0.28984 0.344747 0.445093 +0.535368 0.607368 0.68 0.735579 0.473493 0.552421 0.625053 0.709684 +0.817053 0.92 0.984898 0.993388 0.965474 0.877684 0.761474 0.649684 +0.559368 0.48864 0.373147 0.308773 0.270907 0.248187 0.265227 0.435627 +0.606105 0.733053 0.750105 0.647789 0.521474 0.356107 0.287947 0.263333 +0.248187 0.2444 0.236827 0.231147 0.22736 0.22168 0.225467 0.22736 +0.22736 0.223573 0.219787 0.216 0.219787 0.216 0.000966667 0.000953333 +0.000953333 0.000953333 0.00094 0.000946667 0.000966667 0.00094 0.000933333 0.000946667 +0.00094 0.000913333 0.000906667 0.00094 0.000946667 0.00092 0.000886667 0.000926667 +0.000946667 0.000906667 0.000906667 0.00092 0.000926667 0.000913333 0.00094 0.000933333 +0.000946667 0.000953333 0.000946667 0.000946667 0.000953333 0.000953333 0.000973333 0.000973333 +0.000953333 0.00096 0.00094 0.000926667 0.000933333 0.00096 0.000973333 0.00094 +0.00092 0.000926667 0.000933333 0.00094 0.000926667 0.00094 0.00092 0.000886667 +0.0009 0.000933333 0.000953333 0.000946667 0.00092 0.000913333 0.0009 0.00092 +0.000953333 0.00094 0.000946667 0.000973333 0.000966667 0.000973333 0.000966667 0.000966667 +0.000953333 0.000973333 0.000986667 0.000933333 0.00094 0.000953333 0.00094 0.000973333 +0.000973333 0.00096 0.000953333 0.00098 0.00098 0.000986667 0.219787 0.22736 +0.234933 0.2444 0.23872 0.236827 0.25008 0.25008 0.253867 0.27848 +0.333387 0.450773 0.542947 0.620632 0.704 0.771579 0.803789 0.799368 +0.766526 0.718526 0.686316 0.670526 0.657895 0.639579 0.621263 0.632 +0.669263 0.695789 0.702105 0.701474 0.697684 0.686947 0.671789 0.653474 +0.630105 0.606105 0.587158 0.588421 0.630737 0.710947 0.802526 0.885895 +0.950316 0.989469 1.00351 1.00906 1.01167 1.01135 1.00645 0.999265 +0.990449 0.980653 0.969895 0.964842 0.964211 0.967368 0.970526 0.978105 +0.983265 0.98849 0.995347 0.999918 1.00384 1.00678 1.00939 1.01102 +1.01037 1.00873 1.01004 1.01102 1.01069 1.01233 1.01265 1.01298 +1.01331 1.01429 1.01298 1.01233 1.01167 1.01102 1.01069 1.01069 +1.00906 1.00906 1.01004 1.00971 1.00939 1.00776 1.00841 1.0071 +1.0071 1.00776 1.00351 1.00122 1.00024 1.00645 1.01102 1.00743 +1.00514 1.00482 1.00645 1.00808 1.00514 1.00449 1.00612 1.00547 +1.00286 1.00057 0.998286 0.994694 0.98751 0.98098 0.970526 0.959789 +0.952842 0.952842 0.961053 0.98 0.990122 0.99502 0.993388 0.982612 +0.969263 0.954105 0.949684 0.950947 0.948421 0.945895 0.942737 0.951579 +0.951579 0.939579 0.939579 0.945263 0.949684 0.952211 0.954105 0.954105 +0.952211 0.951579 0.953474 0.969895 0.976842 0.973053 0.973053 0.978737 +0.976842 0.974947 0.971789 0.969895 0.967368 0.969895 0.964211 0.961053 +0.966105 0.968632 0.968 0.965474 0.974316 0.982612 0.981633 0.977474 +0.978105 0.980653 0.98098 0.980653 0.978737 0.973684 0.976211 0.98098 +0.980327 0.980327 0.981633 0.976211 0.973053 0.976211 0.982612 0.984898 +0.987184 0.993388 0.998612 1.00122 1.00253 1.00286 1.0071 1.0071 +1.00906 1.00873 1.00612 1.00841 1.00971 1.012 1.01135 1.00645 +1.0071 1.01004 1.00971 1.00808 1.00612 1.00678 1.00678 1.00482 +1.00188 0.996 0.988816 0.981633 0.970526 0.966105 0.967368 0.966105 +0.970526 0.977474 0.980653 0.983918 0.98751 0.987837 0.987837 0.98751 +0.98849 0.98849 0.986531 0.987837 0.98849 0.989796 0.989796 0.98849 +0.987837 0.985551 0.983265 0.981306 0.980653 0.975579 0.968632 0.959789 +0.959158 0.968632 0.976842 0.983592 0.992735 1.00122 1.00514 1.00743 +1.01167 1.01265 1.012 1.01004 1.00024 0.981633 0.914947 0.822737 +0.733053 0.657263 0.606737 0.584632 0.596632 0.625684 0.650316 0.665474 +0.669263 0.665474 0.671789 0.681263 0.687579 0.694526 0.698947 0.709684 +0.741263 0.782947 0.819579 0.821474 0.771579 0.680632 0.577053 0.49432 +0.358 0.27848 0.236827 0.229253 0.22736 0.217893 0.000986667 0.000993333 +0.000986667 0.217893 0.216 0.000933333 0.000946667 0.000966667 0.000973333 0.00096 +0.00096 0.000933333 0.00098 0.000986667 0.000946667 0.000913333 0.000953333 0.00098 +0.000933333 0.000893333 0.00092 0.000933333 0.000946667 0.00094 0.00094 0.000933333 +0.00094 0.000946667 0.000946667 0.00098 0.000973333 0.000946667 0.000966667 0.00094 +0.00092 0.000933333 0.000946667 0.000906667 0.000913333 0.000953333 0.00094 0.00092 +0.000906667 0.00088 0.000893333 0.000906667 0.000906667 0.00094 0.000973333 0.000946667 +0.000926667 0.000906667 0.000953333 0.000993333 0.00098 0.00094 0.000913333 0.000926667 +0.000933333 0.000946667 0.000953333 0.00094 0.000886667 0.000906667 0.00094 0.000926667 +0.000913333 0.000933333 0.00094 0.000953333 0.000946667 0.000953333 0.000986667 0.000986667 +0.000966667 0.000986667 0.00096 0.000926667 0.000946667 0.000966667 0.00096 0.00098 +0.000993333 0.000993333 0.216 0.000973333 0.000993333 0.216 0.225467 0.223573 +0.225467 0.225467 0.22736 0.22736 0.229253 0.22736 0.223573 0.22736 +0.234933 0.242507 0.26144 0.3012 0.378827 0.496213 0.556842 0.632 +0.703368 0.762737 0.807579 0.841053 0.356107 0.38072 0.450773 0.523368 +0.592211 0.688842 0.799368 0.904842 0.98098 0.99502 0.976842 0.901053 +0.797474 0.688211 0.591579 0.517684 0.412907 0.33528 0.299307 0.325813 +0.508842 0.650316 0.782316 0.787368 0.668632 0.541053 0.401547 0.310667 +0.27848 0.265227 0.257653 0.251973 0.242507 0.234933 0.234933 0.23304 +0.23304 0.22736 0.225467 0.219787 0.217893 0.00098 0.000953333 0.000926667 +0.00094 0.000973333 0.000966667 0.00094 0.000933333 0.00092 0.000946667 0.000946667 +0.000946667 0.000926667 0.000926667 0.000953333 0.000946667 0.000926667 0.00092 0.00096 +0.000946667 0.00094 0.000946667 0.000926667 0.000906667 0.000913333 0.00094 0.00094 +0.00096 0.00096 0.000913333 0.0009 0.000913333 0.00092 0.000926667 0.00094 +0.000913333 0.000893333 0.000913333 0.000886667 0.000906667 0.00092 0.000913333 0.000886667 +0.000866667 0.000873333 0.000893333 0.000906667 0.00092 0.000926667 0.000906667 0.000906667 +0.000906667 0.000926667 0.000926667 0.000906667 0.000886667 0.000886667 0.000893333 0.000933333 +0.00096 0.00094 0.00094 0.00094 0.000926667 0.000926667 0.000933333 0.000953333 +0.000933333 0.000926667 0.000926667 0.000926667 0.000933333 0.00092 0.000926667 0.000953333 +0.000953333 0.000953333 0.000966667 0.000973333 0.000986667 0.216 0.216 0.216 +0.223573 0.231147 0.22168 0.22168 0.23304 0.23304 0.240613 0.25008 +0.251973 0.265227 0.299307 0.367467 0.502526 0.578316 0.669895 0.753263 +0.803158 0.802526 0.767158 0.726737 0.694526 0.673684 0.65979 0.667368 +0.695158 0.704 0.697053 0.688842 0.681895 0.674947 0.667368 0.657895 +0.645263 0.634526 0.620632 0.59979 0.590947 0.59979 0.630737 0.684421 +0.746947 0.818316 0.899789 0.969263 0.996327 1.00841 1.01331 1.01135 +1.00808 1.00318 0.995673 0.986857 0.977474 0.969895 0.966737 0.969263 +0.971789 0.973053 0.98 0.984898 0.989469 0.994694 0.999592 1.00351 +1.0058 1.00776 1.00776 1.00873 1.01037 1.012 1.01265 1.01167 +1.01135 1.01233 1.01363 1.01461 1.01494 1.01363 1.01298 1.01265 +1.01233 1.01298 1.012 1.01037 1.00808 1.00645 1.00808 1.00841 +1.00939 1.01069 1.00971 1.00678 1.0058 1.01037 1.00971 1.00645 +1.0058 1.00612 1.00645 1.00645 1.00318 1.00416 1.00612 1.00841 +1.00645 1.00351 1.00122 0.995673 0.987837 0.98098 0.969895 0.959789 +0.950947 0.954105 0.962316 0.977474 0.984898 0.986204 0.981959 0.967368 +0.955368 0.945895 0.945263 0.943368 0.940211 0.938947 0.934526 0.941474 +0.940842 0.937684 0.940842 0.942737 0.951579 0.960421 0.961684 0.960421 +0.964211 0.966105 0.970526 0.980327 0.978105 0.971789 0.973684 0.974947 +0.973053 0.969895 0.966105 0.966737 0.968 0.971158 0.964842 0.956632 +0.959789 0.962947 0.965474 0.962316 0.968632 0.974947 0.973684 0.971158 +0.970526 0.975579 0.978105 0.975579 0.971789 0.964211 0.965474 0.973053 +0.978737 0.981306 0.982612 0.980653 0.98 0.979368 0.980653 0.979368 +0.974947 0.98098 0.985224 0.986857 0.988163 0.990122 0.995347 0.994041 +0.996 0.999265 0.999592 1.0022 1.00743 1.01102 1.01037 1.00808 +1.00743 1.00776 1.00743 1.00612 1.00384 0.999592 0.997306 0.99502 +0.989796 0.985551 0.982286 0.973053 0.963579 0.962947 0.964842 0.959789 +0.957895 0.960421 0.960421 0.962316 0.968632 0.973053 0.974947 0.974316 +0.973053 0.974947 0.975579 0.978105 0.979368 0.980653 0.980653 0.98 +0.98 0.974316 0.968 0.966737 0.969263 0.966105 0.960421 0.962947 +0.975579 0.989469 0.997633 1.00482 1.01037 1.01298 1.01363 1.01331 +1.01265 1.00318 0.986204 0.946526 0.882737 0.805684 0.718526 0.639579 +0.601053 0.596632 0.611158 0.632 0.652842 0.669263 0.678105 0.684421 +0.683158 0.678737 0.685684 0.690105 0.691368 0.704 0.735579 0.780421 +0.813263 0.806947 0.751368 0.659158 0.563789 0.462133 0.322027 0.26712 +0.242507 0.223573 0.000986667 0.216 0.223573 0.217893 0.000986667 0.000993333 +0.000993333 0.22168 0.000993333 0.000953333 0.000946667 0.00098 0.223573 0.223573 +0.00098 0.00098 0.223573 0.225467 0.223573 0.00096 0.00096 0.216 +0.000973333 0.00094 0.000973333 0.000973333 0.000953333 0.00096 0.000973333 0.00092 +0.000933333 0.000966667 0.000953333 0.000973333 0.000966667 0.000933333 0.00094 0.000933333 +0.000913333 0.000933333 0.00092 0.000893333 0.000886667 0.000886667 0.000873333 0.000913333 +0.000913333 0.000873333 0.00088 0.000873333 0.000866667 0.000873333 0.000893333 0.0009 +0.000886667 0.000866667 0.000913333 0.000953333 0.000926667 0.00094 0.000893333 0.000933333 +0.00092 0.000933333 0.00098 0.000993333 0.00094 0.000926667 0.00096 0.000966667 +0.000953333 0.000993333 0.216 0.000973333 0.000973333 0.00098 0.000966667 0.000953333 +0.000906667 0.000926667 0.000953333 0.00092 0.000926667 0.0009 0.0009 0.000966667 +0.000966667 0.000993333 0.216 0.000993333 0.219787 0.223573 0.240613 0.240613 +0.234933 0.236827 0.246293 0.248187 0.242507 0.23872 0.248187 0.263333 +0.293627 0.333387 0.416693 0.522105 0.589053 0.661684 0.725474 0.776 +0.813895 0.853053 0.901053 0.957263 0.358 0.320133 0.322027 0.354213 +0.412907 0.513895 0.582737 0.674316 0.777895 0.875789 0.957263 0.991429 +0.986531 0.932 0.834737 0.721053 0.618105 0.538526 0.44888 0.359893 +0.373147 0.530947 0.677474 0.797474 0.797474 0.696421 0.574526 0.467813 +0.350427 0.29552 0.274693 0.265227 0.257653 0.242507 0.23872 0.240613 +0.231147 0.22168 0.22168 0.22168 0.216 0.000966667 0.000953333 0.00096 +0.000966667 0.000986667 0.00098 0.00098 0.00098 0.00098 0.000993333 0.216 +0.000986667 0.00098 0.000973333 0.000986667 0.00098 0.000973333 0.00098 0.000986667 +0.000973333 0.000966667 0.000973333 0.000966667 0.000946667 0.000946667 0.000933333 0.00094 +0.000966667 0.000926667 0.000886667 0.000886667 0.0009 0.000913333 0.000906667 0.000906667 +0.0009 0.000886667 0.000906667 0.00092 0.000906667 0.0009 0.000893333 0.000893333 +0.000886667 0.0009 0.00092 0.000913333 0.000906667 0.000906667 0.000893333 0.000913333 +0.00092 0.000913333 0.000926667 0.00092 0.000933333 0.000933333 0.00096 0.00096 +0.00096 0.000966667 0.000973333 0.000953333 0.000933333 0.000966667 0.00096 0.000953333 +0.00094 0.000926667 0.000953333 0.00098 0.000966667 0.000966667 0.00094 0.000953333 +0.000946667 0.000953333 0.000973333 0.00096 0.000953333 0.00094 0.000953333 0.000973333 +0.000973333 0.216 0.217893 0.216 0.000986667 0.219787 0.23304 0.236827 +0.234933 0.242507 0.25576 0.251973 0.253867 0.310667 0.435627 0.547368 +0.639579 0.734316 0.794316 0.806947 0.778526 0.734947 0.703368 0.695158 +0.701474 0.701474 0.696421 0.690105 0.683789 0.673684 0.65979 0.647158 +0.634526 0.628211 0.627579 0.631368 0.628842 0.616842 0.603579 0.602316 +0.612421 0.638947 0.698947 0.782316 0.863789 0.941474 0.992082 1.00808 +1.01265 1.01298 1.01004 1.00449 0.996 0.987837 0.98 0.966737 +0.961684 0.962316 0.962947 0.966737 0.974316 0.979368 0.982612 0.987184 +0.991755 0.996653 0.999918 1.00188 1.00416 1.00776 1.01037 1.01069 +1.01004 1.01037 1.01069 1.01037 1.01167 1.012 1.01167 1.01069 +1.012 1.01396 1.01331 1.01102 1.00808 1.00906 1.00971 1.00873 +1.00678 1.00678 1.00678 1.00645 1.00841 1.01037 1.00873 1.00776 +1.00841 1.00743 1.00547 1.00482 1.0071 1.00678 1.0071 1.00808 +1.00645 1.00384 0.999918 0.991755 0.983918 0.980327 0.969895 0.961684 +0.958526 0.962947 0.968 0.973053 0.976842 0.973684 0.962947 0.955368 +0.949684 0.945895 0.948421 0.949053 0.951579 0.948421 0.945263 0.945895 +0.940842 0.942737 0.949684 0.951579 0.958526 0.965474 0.965474 0.968632 +0.973053 0.970526 0.970526 0.975579 0.971158 0.969263 0.971158 0.970526 +0.962947 0.959158 0.957895 0.965474 0.972421 0.974316 0.968632 0.967368 +0.968632 0.968632 0.969895 0.971158 0.973053 0.971158 0.966105 0.965474 +0.964842 0.974316 0.978105 0.974316 0.968632 0.959789 0.960421 0.961684 +0.965474 0.968632 0.970526 0.968 0.969895 0.974316 0.979368 0.977474 +0.970526 0.971789 0.981306 0.983265 0.982612 0.982939 0.982939 0.978737 +0.98 0.983918 0.985224 0.986531 0.992082 0.997306 0.999592 1.00122 +1.0009 1.00155 1.00024 0.997306 0.994041 0.989469 0.986531 0.985878 +0.981959 0.980327 0.977474 0.970526 0.965474 0.962316 0.961053 0.962316 +0.964211 0.964211 0.963579 0.962316 0.964211 0.967368 0.969895 0.971789 +0.970526 0.971158 0.974316 0.975579 0.973053 0.970526 0.972421 0.971158 +0.968 0.966737 0.965474 0.971789 0.981959 0.982612 0.981633 0.986204 +0.996653 1.00612 1.00971 1.012 1.01265 1.01069 1.00743 0.994367 +0.964842 0.896 0.814526 0.739368 0.671158 0.619368 0.592211 0.589684 +0.610526 0.636421 0.654105 0.667368 0.675579 0.680632 0.68 0.682526 +0.686316 0.689474 0.698316 0.714737 0.740632 0.779789 0.810105 0.805053 +0.746316 0.649684 0.552421 0.43752 0.322027 0.259547 0.234933 0.236827 +0.223573 0.219787 0.22168 0.223573 0.00098 0.00096 0.000966667 0.217893 +0.217893 0.22168 0.000973333 0.000946667 0.00094 0.000946667 0.00096 0.000973333 +0.000946667 0.000953333 0.00098 0.000973333 0.000993333 0.000966667 0.00096 0.000966667 +0.000933333 0.00094 0.00094 0.00094 0.000906667 0.000933333 0.00094 0.000886667 +0.000893333 0.000913333 0.000906667 0.00094 0.000913333 0.000886667 0.000886667 0.00088 +0.000906667 0.000913333 0.000886667 0.000886667 0.00092 0.0009 0.00088 0.000913333 +0.0009 0.000886667 0.000913333 0.000913333 0.00092 0.000913333 0.000906667 0.000926667 +0.000946667 0.000913333 0.000913333 0.000966667 0.00094 0.00094 0.00092 0.000906667 +0.000946667 0.000946667 0.00096 0.000973333 0.000966667 0.00094 0.000906667 0.000906667 +0.0009 0.00092 0.000933333 0.000926667 0.0009 0.00092 0.000933333 0.000953333 +0.000953333 0.000953333 0.000986667 0.000986667 0.217893 0.000993333 0.00098 0.219787 +0.22168 0.229253 0.22736 0.223573 0.225467 0.217893 0.225467 0.242507 +0.240613 0.234933 0.248187 0.26712 0.2728 0.282267 0.3296 0.384507 +0.490533 0.550526 0.619368 0.692 0.746316 0.785474 0.815789 0.853684 +0.907368 0.973053 1.00351 1.012 0.481067 0.36368 0.32392 0.314453 +0.31256 0.337173 0.411013 0.508842 0.565684 0.640842 0.740632 0.847368 +0.935789 0.986531 0.992408 0.957263 0.866316 0.756421 0.648421 0.561895 +0.504421 0.467813 0.551789 0.680632 0.795579 0.817053 0.730526 0.604211 +0.513895 0.39776 0.320133 0.286053 0.269013 0.263333 0.263333 0.25008 +0.23872 0.234933 0.234933 0.236827 0.231147 0.22168 0.216 0.216 +0.000986667 0.000986667 0.000993333 0.223573 0.223573 0.219787 0.217893 0.217893 +0.217893 0.000986667 0.000966667 0.000986667 0.000986667 0.000986667 0.000993333 0.000986667 +0.000986667 0.000953333 0.000953333 0.00096 0.00094 0.000926667 0.000913333 0.000913333 +0.00092 0.000906667 0.000906667 0.000926667 0.00096 0.00094 0.000926667 0.000906667 +0.000906667 0.00092 0.000913333 0.000906667 0.0009 0.000873333 0.00088 0.0009 +0.000906667 0.00092 0.000913333 0.000906667 0.000913333 0.000906667 0.000906667 0.000933333 +0.000953333 0.000933333 0.00094 0.00094 0.000953333 0.00096 0.000953333 0.000946667 +0.000953333 0.000953333 0.000946667 0.00094 0.000926667 0.000946667 0.000946667 0.000926667 +0.00094 0.000946667 0.000966667 0.000953333 0.000953333 0.00094 0.000926667 0.000933333 +0.00094 0.000933333 0.000946667 0.00094 0.000953333 0.000966667 0.000966667 0.000966667 +0.000973333 0.000973333 0.000966667 0.000966667 0.000966667 0.000993333 0.217893 0.217893 +0.000986667 0.216 0.22736 0.231147 0.229253 0.23872 0.26144 0.30688 +0.401547 0.532842 0.625053 0.719789 0.789263 0.811368 0.786737 0.749474 +0.717895 0.698316 0.692 0.689474 0.686947 0.682526 0.671158 0.657263 +0.645895 0.635789 0.628842 0.637684 0.650316 0.654105 0.648421 0.636421 +0.621263 0.609263 0.611158 0.630105 0.669895 0.745053 0.848632 0.942105 +0.991429 1.00645 1.01102 1.01102 1.01037 1.00645 1.00057 0.992735 +0.984245 0.979368 0.974316 0.969895 0.966105 0.965474 0.968632 0.974947 +0.979368 0.982612 0.985878 0.987184 0.990449 0.995347 1.00024 1.00384 +1.00645 1.00808 1.00808 1.00808 1.00776 1.00873 1.00971 1.01037 +1.01102 1.01135 1.012 1.01135 1.00873 1.00776 1.00873 1.00906 +1.00776 1.00678 1.00547 1.00482 1.0071 1.00743 1.0058 1.0071 +1.00841 1.00873 1.00939 1.00906 1.00906 1.00776 1.00776 1.00645 +1.0022 0.998939 0.993714 0.982612 0.968632 0.964842 0.961684 0.960421 +0.964211 0.966737 0.969263 0.970526 0.971789 0.965474 0.951579 0.949053 +0.950947 0.950947 0.951579 0.952842 0.953474 0.951579 0.953474 0.950947 +0.943368 0.948421 0.959158 0.966737 0.973053 0.974947 0.970526 0.972421 +0.973684 0.963579 0.961053 0.962316 0.960421 0.967368 0.976842 0.981959 +0.982939 0.982939 0.981959 0.985878 0.989796 0.991755 0.989143 0.988816 +0.988816 0.988816 0.990449 0.992082 0.991429 0.990449 0.98751 0.985878 +0.984898 0.988816 0.988163 0.983592 0.98 0.971789 0.969895 0.964842 +0.966105 0.964842 0.962947 0.962947 0.961684 0.964211 0.965474 0.962947 +0.962316 0.966737 0.976211 0.981633 0.979368 0.980327 0.976211 0.969895 +0.969263 0.972421 0.975579 0.973053 0.976842 0.981633 0.986531 0.989796 +0.988816 0.989796 0.988816 0.985878 0.983592 0.98098 0.976842 0.975579 +0.974316 0.975579 0.976211 0.971158 0.966737 0.963579 0.963579 0.968 +0.969895 0.969895 0.974316 0.973053 0.968 0.967368 0.964211 0.967368 +0.968 0.960421 0.956 0.962947 0.968 0.964842 0.962947 0.964211 +0.964211 0.973053 0.981306 0.990776 0.998939 1.0009 1.00188 1.00482 +1.01004 1.01298 1.01265 1.01037 1.00351 0.984245 0.931368 0.854947 +0.769684 0.690105 0.623158 0.589684 0.581474 0.589684 0.616211 0.643368 +0.662316 0.670526 0.674947 0.679368 0.682526 0.686947 0.687579 0.686316 +0.695158 0.713474 0.745684 0.791789 0.817053 0.799368 0.735579 0.640211 +0.544842 0.428053 0.31824 0.259547 0.229253 0.000973333 0.000966667 0.217893 +0.217893 0.000993333 0.00098 0.000993333 0.217893 0.000973333 0.000966667 0.000953333 +0.216 0.225467 0.219787 0.216 0.000973333 0.00098 0.000966667 0.000946667 +0.00092 0.000933333 0.000946667 0.000933333 0.00094 0.000926667 0.000933333 0.000966667 +0.000926667 0.000926667 0.000966667 0.000933333 0.000913333 0.000926667 0.00094 0.00094 +0.00094 0.00094 0.000946667 0.000966667 0.00094 0.00094 0.000926667 0.000913333 +0.000946667 0.000966667 0.00092 0.000926667 0.000966667 0.000966667 0.000953333 0.000946667 +0.000933333 0.00092 0.000933333 0.00092 0.000913333 0.00094 0.000933333 0.00092 +0.00092 0.000913333 0.000886667 0.000933333 0.00092 0.000913333 0.000926667 0.00088 +0.0009 0.000933333 0.000946667 0.00094 0.00094 0.00096 0.000953333 0.000953333 +0.000966667 0.000986667 0.22168 0.223573 0.000986667 0.000973333 0.216 0.216 +0.216 0.000986667 0.000986667 0.000973333 0.000953333 0.000973333 0.000986667 0.000973333 +0.00096 0.217893 0.225467 0.231147 0.2444 0.25008 0.248187 0.259547 +0.26712 0.26712 0.287947 0.327707 0.373147 0.445093 0.525895 0.585263 +0.654105 0.715368 0.760842 0.788632 0.813895 0.854947 0.913053 0.978737 +1.00449 1.00678 0.986204 0.911158 0.574526 0.4716 0.365573 0.322027 +0.304987 0.3012 0.30688 0.325813 0.36936 0.46024 0.540421 0.616211 +0.705263 0.808211 0.911158 0.982939 0.994694 0.976211 0.899158 0.796842 +0.691368 0.600421 0.551789 0.576421 0.674316 0.780421 0.805684 0.735579 +0.633895 0.546737 0.43184 0.325813 0.28984 0.276587 0.26712 0.25008 +0.240613 0.23872 0.234933 0.234933 0.229253 0.219787 0.217893 0.217893 +0.216 0.000993333 0.217893 0.225467 0.223573 0.216 0.217893 0.216 +0.217893 0.00098 0.000966667 0.219787 0.000993333 0.000966667 0.000946667 0.000946667 +0.00096 0.00094 0.000933333 0.000953333 0.000946667 0.000933333 0.00094 0.000946667 +0.00094 0.000946667 0.000973333 0.000966667 0.000973333 0.000953333 0.000933333 0.000913333 +0.000926667 0.00094 0.00094 0.000926667 0.000926667 0.000913333 0.000906667 0.000933333 +0.000953333 0.000953333 0.000933333 0.000913333 0.000946667 0.000946667 0.000926667 0.000913333 +0.00092 0.000926667 0.00092 0.000906667 0.000906667 0.000913333 0.000893333 0.000926667 +0.000946667 0.000926667 0.00092 0.000933333 0.00092 0.000913333 0.0009 0.000893333 +0.000913333 0.00092 0.000906667 0.0009 0.000906667 0.00092 0.000913333 0.000926667 +0.000946667 0.000933333 0.00094 0.000966667 0.000966667 0.000946667 0.000933333 0.000906667 +0.000906667 0.000926667 0.000946667 0.000966667 0.00098 0.000966667 0.000946667 0.000966667 +0.000973333 0.00098 0.217893 0.225467 0.225467 0.234933 0.242507 0.253867 +0.263333 0.291733 0.388293 0.522105 0.610526 0.710316 0.784842 0.815158 +0.803789 0.767789 0.728 0.698947 0.683158 0.681895 0.68 0.667368 +0.654737 0.646526 0.633895 0.630105 0.648421 0.673684 0.68 0.671158 +0.657263 0.647158 0.638947 0.627579 0.613053 0.621263 0.669263 0.748211 +0.846737 0.939579 0.992082 1.00808 1.01527 1.01624 1.01298 1.00873 +1.00384 0.996653 0.992082 0.987184 0.980327 0.972421 0.969895 0.971158 +0.971158 0.971158 0.971789 0.975579 0.981306 0.982612 0.985224 0.988816 +0.992082 0.997633 0.999918 1.00057 0.999592 0.998286 1.00024 1.00286 +1.0058 1.00612 1.00645 1.00873 1.01069 1.00906 1.00841 1.00873 +1.00808 1.00678 1.00743 1.00939 1.01004 1.00743 1.00678 1.00678 +1.00645 1.00841 1.00776 1.00547 1.00318 1.0009 1.0009 0.996653 +0.990776 0.986857 0.981306 0.966105 0.953474 0.950316 0.950316 0.957895 +0.962947 0.965474 0.964842 0.964842 0.968 0.964842 0.956632 0.956632 +0.961053 0.966105 0.964211 0.965474 0.961053 0.959789 0.964211 0.962947 +0.963579 0.967368 0.974316 0.979368 0.977474 0.971789 0.965474 0.966105 +0.962316 0.954105 0.959158 0.963579 0.971158 0.985224 0.989469 0.994041 +0.998612 0.999918 0.998939 0.999918 1.00057 0.999918 0.997306 0.99698 +0.998612 0.999592 1.00253 1.00188 1.00057 1.0022 1.00286 1.00286 +1.00122 1.00482 1.00286 0.998286 0.996327 0.989469 0.986857 0.982939 +0.983918 0.981633 0.973684 0.973684 0.967368 0.962947 0.959158 0.954737 +0.957895 0.961684 0.966737 0.971158 0.968 0.971158 0.973053 0.968632 +0.966105 0.969263 0.970526 0.968 0.969263 0.971789 0.975579 0.976842 +0.976842 0.978737 0.977474 0.978105 0.981306 0.981633 0.974316 0.967368 +0.967368 0.971789 0.974947 0.970526 0.964211 0.963579 0.962316 0.966105 +0.969895 0.969263 0.971789 0.968632 0.959789 0.957895 0.957263 0.959158 +0.962316 0.959158 0.957895 0.974316 0.982612 0.981959 0.982939 0.986204 +0.989143 0.992408 0.995673 1.00318 1.00743 1.00743 1.00939 1.01037 +1.00971 1.0058 0.99502 0.967368 0.908 0.822737 0.729263 0.652842 +0.600421 0.575789 0.572632 0.592842 0.621263 0.648421 0.671789 0.681895 +0.68 0.679368 0.681895 0.679368 0.68 0.686947 0.695789 0.709684 +0.751368 0.796211 0.813895 0.796211 0.727368 0.628842 0.537895 0.422373 +0.308773 0.263333 0.246293 0.236827 0.223573 0.216 0.000993333 0.00094 +0.000953333 0.000986667 0.00098 0.00092 0.00096 0.000986667 0.00094 0.00094 +0.000953333 0.000966667 0.00096 0.00098 0.000966667 0.000966667 0.00096 0.00092 +0.000913333 0.00096 0.00096 0.00094 0.000946667 0.00096 0.00094 0.000953333 +0.000973333 0.000986667 0.217893 0.00098 0.000986667 0.000966667 0.000946667 0.00096 +0.00096 0.000946667 0.00092 0.00094 0.000933333 0.000926667 0.000913333 0.0009 +0.000913333 0.00094 0.000913333 0.000906667 0.000933333 0.000946667 0.000966667 0.000946667 +0.0009 0.000906667 0.000933333 0.000926667 0.00088 0.000913333 0.000933333 0.000906667 +0.000913333 0.000913333 0.000926667 0.000926667 0.00092 0.000926667 0.00094 0.00092 +0.000926667 0.000946667 0.000966667 0.000993333 0.000966667 0.000986667 0.000986667 0.000993333 +0.000973333 0.00098 0.22168 0.22168 0.216 0.000966667 0.000973333 0.000946667 +0.000933333 0.000946667 0.00098 0.216 0.000986667 0.00098 0.216 0.236827 +0.2444 0.242507 0.25576 0.251973 0.246293 0.25008 0.251973 0.253867 +0.276587 0.31824 0.40344 0.506947 0.556842 0.614947 0.677474 0.729895 +0.768421 0.791789 0.817684 0.863158 0.925684 0.985224 1.00449 1.00286 +0.978737 0.887158 0.774737 0.669263 0.705263 0.571368 0.479173 0.36368 +0.322027 0.30688 0.28984 0.28416 0.280373 0.297413 0.342853 0.428053 +0.516421 0.584 0.681895 0.793053 0.892842 0.968632 0.993061 0.988163 +0.937053 0.842316 0.74 0.659158 0.635158 0.680632 0.752 0.785474 +0.760211 0.675579 0.563158 0.46024 0.359893 0.31824 0.29552 0.276587 +0.26712 0.25576 0.25008 0.248187 0.236827 0.225467 0.223573 0.223573 +0.223573 0.223573 0.22168 0.223573 0.217893 0.000993333 0.216 0.216 +0.00098 0.00098 0.217893 0.219787 0.000973333 0.000973333 0.00098 0.00098 +0.000973333 0.00098 0.00098 0.00098 0.00098 0.000973333 0.00096 0.00094 +0.00094 0.000946667 0.000946667 0.00096 0.00096 0.00094 0.000926667 0.000933333 +0.000926667 0.000926667 0.00094 0.00094 0.000913333 0.000933333 0.000953333 0.000953333 +0.00096 0.000953333 0.000953333 0.000933333 0.000926667 0.000946667 0.000946667 0.000933333 +0.000926667 0.000926667 0.000933333 0.000933333 0.00092 0.000926667 0.00094 0.000953333 +0.00094 0.000913333 0.00092 0.000946667 0.00094 0.000933333 0.000933333 0.00092 +0.00092 0.00094 0.000946667 0.000933333 0.00094 0.000966667 0.000953333 0.00094 +0.00096 0.000933333 0.000953333 0.000973333 0.000926667 0.00092 0.000913333 0.000906667 +0.000926667 0.000946667 0.000973333 0.000953333 0.000953333 0.000933333 0.00094 0.000953333 +0.000966667 0.000973333 0.216 0.22168 0.217893 0.225467 0.22168 0.225467 +0.240613 0.248187 0.26712 0.310667 0.37504 0.509474 0.594105 0.690737 +0.772211 0.815158 0.811368 0.779789 0.739368 0.707158 0.686316 0.671158 +0.662316 0.65979 0.649684 0.634526 0.647158 0.683158 0.701474 0.697053 +0.686947 0.676211 0.668 0.660421 0.647158 0.628842 0.614316 0.617474 +0.661053 0.746316 0.846105 0.934526 0.986857 1.0022 1.00906 1.01037 +1.01069 1.00873 1.00645 1.00286 0.998612 0.994041 0.988816 0.983592 +0.978737 0.971789 0.964211 0.963579 0.968632 0.969263 0.968 0.970526 +0.978737 0.983592 0.985551 0.988163 0.987837 0.986857 0.98849 0.990776 +0.994367 0.995347 0.995347 0.997633 1.00122 1.00351 1.00482 1.00449 +1.00384 1.0022 1.00188 1.00318 1.00253 0.999265 0.999592 0.998939 +0.995673 0.99502 0.99502 0.993061 0.990449 0.989143 0.985878 0.980327 +0.974316 0.968632 0.964211 0.959158 0.957263 0.956632 0.957895 0.962316 +0.964842 0.969263 0.966105 0.963579 0.965474 0.967368 0.967368 0.969895 +0.974947 0.973684 0.968 0.969895 0.968632 0.966105 0.966737 0.963579 +0.966737 0.966105 0.966105 0.968 0.968 0.963579 0.958526 0.962947 +0.964211 0.964211 0.977474 0.983918 0.991102 1.00122 1.00253 1.00449 +1.00678 1.0058 1.00318 1.00384 1.0058 1.00547 1.00482 1.00416 +1.00253 1.00188 1.00547 1.00482 1.00351 1.00449 1.00678 1.0071 +1.00514 1.00873 1.00971 1.00939 1.01004 1.00808 1.00678 1.00286 +1.0022 0.997306 0.990449 0.98751 0.981306 0.972421 0.969895 0.963579 +0.960421 0.959158 0.959789 0.964211 0.961684 0.960421 0.966105 0.968 +0.965474 0.967368 0.969895 0.964211 0.962316 0.964842 0.965474 0.963579 +0.961684 0.961053 0.962947 0.966105 0.973684 0.972421 0.965474 0.964211 +0.966737 0.968632 0.973053 0.967368 0.961684 0.961684 0.958526 0.962947 +0.971789 0.971158 0.971158 0.973053 0.970526 0.971158 0.978737 0.982612 +0.986204 0.98751 0.988163 0.996 1.00024 1.00024 1.00351 1.00449 +1.00678 1.00873 1.0071 1.01037 1.01298 1.01037 1.00776 1.00188 +0.986857 0.938316 0.862526 0.776632 0.698947 0.630737 0.583368 0.568211 +0.574526 0.596632 0.626316 0.651579 0.669895 0.678105 0.683789 0.686316 +0.685684 0.686947 0.688211 0.685053 0.692 0.718526 0.758947 0.796842 +0.818947 0.798737 0.721053 0.619368 0.529684 0.40912 0.314453 0.269013 +0.242507 0.229253 0.225467 0.231147 0.225467 0.216 0.000993333 0.000953333 +0.000953333 0.000986667 0.00098 0.000946667 0.000953333 0.000986667 0.00094 0.000926667 +0.000933333 0.000926667 0.00092 0.00094 0.000946667 0.000946667 0.000926667 0.000906667 +0.000926667 0.000973333 0.000946667 0.00094 0.000946667 0.00098 0.000993333 0.000966667 +0.000946667 0.000973333 0.000953333 0.00092 0.000953333 0.00096 0.000933333 0.000913333 +0.00094 0.000933333 0.000926667 0.000926667 0.00094 0.000933333 0.000913333 0.000886667 +0.000886667 0.000913333 0.000866667 0.00088 0.000906667 0.0009 0.000933333 0.000926667 +0.000873333 0.000873333 0.00094 0.00096 0.000933333 0.000933333 0.00094 0.000913333 +0.000933333 0.000946667 0.00098 0.000993333 0.000966667 0.000966667 0.000973333 0.00096 +0.000933333 0.00094 0.000926667 0.00098 0.000986667 0.000986667 0.00096 0.000933333 +0.00094 0.000946667 0.00096 0.000966667 0.00098 0.216 0.217893 0.217893 +0.217893 0.217893 0.217893 0.223573 0.225467 0.223573 0.216 0.223573 +0.236827 0.234933 0.251973 0.25576 0.25576 0.263333 0.27848 0.322027 +0.428053 0.523368 0.579579 0.637684 0.691368 0.727368 0.755158 0.777895 +0.815789 0.873263 0.942105 0.993061 1.00939 0.999265 0.952211 0.854947 +0.750737 0.647789 0.559368 0.504421 0.876421 0.709684 0.575158 0.484853 +0.37504 0.325813 0.303093 0.28416 0.269013 0.263333 0.276587 0.293627 +0.325813 0.393973 0.513263 0.580211 0.662316 0.756421 0.856842 0.949684 +0.992082 0.993388 0.968 0.893474 0.803158 0.737474 0.724842 0.758316 +0.794316 0.776 0.692632 0.595368 0.524 0.4432 0.36936 0.327707 +0.308773 0.291733 0.2728 0.26144 0.248187 0.236827 0.231147 0.22736 +0.22736 0.23304 0.234933 0.234933 0.231147 0.225467 0.22736 0.223573 +0.219787 0.219787 0.223573 0.217893 0.217893 0.219787 0.219787 0.000993333 +0.000973333 0.000993333 0.000993333 0.00098 0.00098 0.00096 0.000926667 0.00094 +0.000966667 0.000966667 0.00096 0.000986667 0.000986667 0.000946667 0.00092 0.000926667 +0.000933333 0.000906667 0.000906667 0.00092 0.000926667 0.000933333 0.00096 0.000946667 +0.000913333 0.000913333 0.000933333 0.000926667 0.000913333 0.000933333 0.000953333 0.000953333 +0.00094 0.000926667 0.000946667 0.00094 0.00094 0.000953333 0.00096 0.000933333 +0.000906667 0.0009 0.00092 0.000933333 0.000946667 0.00094 0.000946667 0.000953333 +0.00094 0.000953333 0.000966667 0.000946667 0.000946667 0.000953333 0.000926667 0.000886667 +0.000906667 0.00092 0.00092 0.000946667 0.000933333 0.00092 0.000913333 0.000933333 +0.000946667 0.00096 0.000966667 0.00096 0.00096 0.000973333 0.000973333 0.000986667 +0.000993333 0.219787 0.22168 0.217893 0.217893 0.216 0.217893 0.000993333 +0.216 0.219787 0.231147 0.25576 0.274693 0.29552 0.359893 0.5 +0.570105 0.654737 0.738105 0.797474 0.817053 0.801895 0.765263 0.722947 +0.690105 0.674316 0.666737 0.656632 0.65979 0.681263 0.697053 0.703368 +0.705263 0.701474 0.690105 0.678105 0.671789 0.661684 0.643368 0.618105 +0.601053 0.610526 0.658526 0.738737 0.822737 0.896632 0.962316 0.995347 +1.00841 1.012 1.01265 1.01265 1.01135 1.00971 1.0058 1.0022 +0.998612 0.991102 0.983918 0.977474 0.973053 0.971789 0.965474 0.961053 +0.963579 0.966105 0.968 0.972421 0.975579 0.979368 0.98098 0.98098 +0.981633 0.98098 0.980327 0.980653 0.982286 0.985551 0.989143 0.990776 +0.990449 0.990122 0.990776 0.990776 0.98849 0.985224 0.983265 0.981306 +0.976842 0.974947 0.976211 0.976211 0.978105 0.979368 0.971158 0.964211 +0.964211 0.963579 0.961684 0.957263 0.959789 0.969263 0.976211 0.976211 +0.975579 0.98098 0.978737 0.970526 0.968 0.968 0.969263 0.971158 +0.971789 0.970526 0.962947 0.961684 0.960421 0.960421 0.957263 0.951579 +0.950316 0.950316 0.953474 0.952842 0.959158 0.962316 0.965474 0.974947 +0.976211 0.981959 0.992082 0.998939 1.00384 1.00743 1.00743 1.00841 +1.00841 1.0058 1.00449 1.00482 1.00645 1.00678 1.00743 1.00612 +1.00351 1.00253 1.0058 1.0071 1.00482 1.00678 1.00873 1.00743 +1.00678 1.01135 1.01037 1.00906 1.01102 1.01167 1.01331 1.01265 +1.01265 1.01037 1.00416 0.999918 0.994041 0.989143 0.989469 0.985878 +0.979368 0.974947 0.974316 0.973684 0.964211 0.956632 0.959158 0.963579 +0.961684 0.961053 0.961053 0.956 0.956632 0.957895 0.956 0.956632 +0.955368 0.954105 0.957895 0.957263 0.955368 0.955368 0.952211 0.954105 +0.956632 0.961053 0.976211 0.978737 0.972421 0.974947 0.980653 0.985224 +0.990776 0.991755 0.990776 0.993714 0.995347 0.996327 0.999918 1.00155 +1.00318 1.00514 1.00449 1.00743 1.00939 1.00939 1.01298 1.01363 +1.01331 1.01102 1.00678 1.00449 0.998286 0.984571 0.951579 0.901684 +0.829053 0.743789 0.664842 0.613053 0.589684 0.582105 0.591579 0.616211 +0.637684 0.656 0.673053 0.682526 0.688211 0.685684 0.685053 0.689474 +0.692 0.692632 0.698316 0.723579 0.762105 0.800632 0.815158 0.782947 +0.702105 0.606737 0.521474 0.38072 0.291733 0.25008 0.236827 0.22736 +0.225467 0.219787 0.000986667 0.000986667 0.225467 0.229253 0.219787 0.000993333 +0.00098 0.000993333 0.22168 0.217893 0.223573 0.216 0.000993333 0.000966667 +0.000953333 0.000966667 0.000973333 0.00094 0.000913333 0.00092 0.00092 0.00088 +0.000893333 0.000913333 0.000893333 0.000886667 0.000886667 0.00092 0.000913333 0.000913333 +0.00092 0.00094 0.000926667 0.00088 0.000893333 0.000913333 0.000893333 0.000893333 +0.000886667 0.000906667 0.000913333 0.0009 0.000906667 0.000906667 0.00088 0.00088 +0.000933333 0.000926667 0.00088 0.000893333 0.000933333 0.000933333 0.00092 0.00092 +0.000926667 0.0009 0.000906667 0.00094 0.000953333 0.000946667 0.000926667 0.0009 +0.000913333 0.000933333 0.000946667 0.000966667 0.00094 0.00092 0.000933333 0.000946667 +0.00094 0.00092 0.00092 0.00094 0.000966667 0.00098 0.000973333 0.000926667 +0.00096 0.225467 0.23304 0.234933 0.229253 0.236827 0.23304 0.229253 +0.22736 0.223573 0.223573 0.216 0.216 0.231147 0.231147 0.234933 +0.23872 0.248187 0.265227 0.280373 0.304987 0.354213 0.44888 0.536 +0.602947 0.662947 0.707789 0.736842 0.757053 0.784211 0.830316 0.897895 +0.971158 1.00514 1.01233 0.995347 0.935789 0.824 0.709684 0.609263 +0.542316 0.479173 0.367467 0.337173 1.00482 0.886526 0.716 0.582105 +0.501263 0.382613 0.331493 0.3012 0.28416 0.276587 0.27848 0.280373 +0.28416 0.297413 0.33528 0.40344 0.503158 0.553053 0.627579 0.726737 +0.827789 0.914947 0.982612 0.999265 0.989469 0.940211 0.870105 0.822737 +0.813895 0.818947 0.796211 0.736211 0.656 0.580842 0.522737 0.452667 +0.384507 0.344747 0.314453 0.291733 0.2728 0.253867 0.248187 0.246293 +0.240613 0.236827 0.240613 0.2444 0.23872 0.234933 0.234933 0.23304 +0.229253 0.223573 0.223573 0.000993333 0.00098 0.000993333 0.000993333 0.000973333 +0.00098 0.000973333 0.00096 0.000966667 0.000966667 0.00094 0.000933333 0.000966667 +0.000986667 0.000966667 0.000933333 0.000933333 0.000926667 0.000926667 0.000926667 0.000926667 +0.00094 0.000933333 0.000913333 0.000926667 0.000933333 0.000933333 0.000926667 0.000933333 +0.00092 0.000913333 0.000913333 0.000906667 0.000926667 0.00094 0.000933333 0.000933333 +0.000926667 0.00094 0.000953333 0.000946667 0.00096 0.00096 0.000946667 0.000926667 +0.000926667 0.00094 0.00096 0.000946667 0.000933333 0.000926667 0.000933333 0.000953333 +0.00094 0.000933333 0.000966667 0.00094 0.000926667 0.000933333 0.000926667 0.00092 +0.000926667 0.000913333 0.000913333 0.000966667 0.00098 0.00094 0.00094 0.00094 +0.000933333 0.000953333 0.000973333 0.00094 0.000953333 0.000946667 0.000966667 0.000953333 +0.000953333 0.000966667 0.000946667 0.000933333 0.000946667 0.000946667 0.00096 0.00094 +0.00094 0.00096 0.000993333 0.23304 0.248187 0.251973 0.25576 0.280373 +0.331493 0.429947 0.532842 0.607368 0.688842 0.761474 0.804421 0.812632 +0.786105 0.745684 0.710316 0.685684 0.678105 0.681263 0.682526 0.688842 +0.697684 0.705263 0.704 0.693263 0.679368 0.65979 0.654737 0.651579 +0.637053 0.619368 0.613053 0.623158 0.647158 0.692632 0.767158 0.855579 +0.932 0.982286 0.998612 1.00939 1.01363 1.01298 1.01233 1.01429 +1.01233 1.00808 1.00416 0.998612 0.992408 0.988163 0.983265 0.977474 +0.969263 0.965474 0.964842 0.959789 0.959158 0.962947 0.966105 0.966105 +0.966737 0.965474 0.964211 0.962316 0.961684 0.966105 0.969263 0.968632 +0.968 0.975579 0.981306 0.980653 0.976842 0.975579 0.973053 0.970526 +0.969263 0.968632 0.965474 0.963579 0.965474 0.968632 0.963579 0.964211 +0.965474 0.964842 0.962316 0.960421 0.964211 0.968632 0.967368 0.966737 +0.967368 0.974316 0.976842 0.969263 0.960421 0.956 0.954737 0.954737 +0.952211 0.952211 0.949684 0.949684 0.946526 0.949053 0.950316 0.944632 +0.943368 0.945895 0.950947 0.951579 0.961053 0.969895 0.98098 0.989143 +0.990776 0.995347 1.0022 1.00547 1.00678 1.00808 1.00808 1.00906 +1.00873 1.0071 1.00678 1.00416 1.00449 1.00351 1.00416 1.00318 +1.00286 1.00384 1.00612 1.00743 1.0058 1.00906 1.01004 1.00808 +1.0071 1.01102 1.00939 1.00841 1.01004 1.01004 1.01265 1.01396 +1.01494 1.01624 1.01396 1.00906 1.00318 1.00024 1.0022 1.00057 +0.995347 0.99502 0.994694 0.990122 0.984571 0.981306 0.980653 0.980327 +0.973053 0.968 0.968 0.965474 0.963579 0.963579 0.959789 0.960421 +0.964211 0.962316 0.968632 0.971158 0.972421 0.975579 0.970526 0.973684 +0.981959 0.986204 0.994367 0.995347 0.992408 0.995673 0.998612 1.00122 +1.00678 1.00776 1.00612 1.00873 1.01167 1.01069 1.01102 1.01069 +1.00971 1.01102 1.01265 1.01135 1.01102 1.01102 1.01167 1.00906 +1.0009 0.98751 0.965474 0.926947 0.865053 0.804421 0.746947 0.692 +0.641474 0.606105 0.590316 0.597263 0.616211 0.635158 0.655368 0.672421 +0.678105 0.677474 0.686316 0.692632 0.690737 0.687579 0.688842 0.694526 +0.707789 0.730526 0.769053 0.812632 0.822737 0.776 0.693263 0.596632 +0.513895 0.376933 0.28984 0.251973 0.248187 0.246293 0.236827 0.229253 +0.231147 0.22736 0.217893 0.000993333 0.22168 0.236827 0.223573 0.000953333 +0.00094 0.00094 0.000986667 0.217893 0.000973333 0.000953333 0.000993333 0.216 +0.00098 0.00096 0.00096 0.216 0.000966667 0.000953333 0.000933333 0.000933333 +0.000926667 0.000886667 0.00088 0.0009 0.0009 0.000906667 0.00092 0.000893333 +0.000913333 0.00096 0.00094 0.000886667 0.000886667 0.0009 0.000913333 0.000913333 +0.000913333 0.00092 0.000933333 0.0009 0.0009 0.000906667 0.000886667 0.000873333 +0.00092 0.000946667 0.000906667 0.000906667 0.000926667 0.000946667 0.000946667 0.000933333 +0.00094 0.000946667 0.00092 0.000913333 0.000926667 0.000933333 0.000893333 0.000913333 +0.0009 0.000873333 0.000893333 0.000926667 0.00092 0.000913333 0.00094 0.000966667 +0.000993333 0.000993333 0.22168 0.217893 0.000993333 0.000993333 0.217893 0.000973333 +0.000953333 0.000966667 0.00098 0.216 0.000973333 0.000986667 0.219787 0.219787 +0.219787 0.223573 0.234933 0.234933 0.240613 0.251973 0.257653 0.276587 +0.27848 0.297413 0.325813 0.378827 0.484853 0.554316 0.625684 0.692 +0.736842 0.755789 0.770316 0.803158 0.857474 0.92821 0.98849 1.01037 +1.01004 0.986531 0.899158 0.792421 0.686947 0.592842 0.519579 0.429947 +0.371253 0.337173 0.31824 0.314453 1.02082 1.00776 0.890947 0.720421 +0.583368 0.501895 0.38072 0.32392 0.303093 0.293627 0.282267 0.286053 +0.280373 0.28416 0.280373 0.28984 0.31824 0.359893 0.4432 0.532842 +0.598526 0.678105 0.780421 0.880211 0.957895 0.993388 0.997306 0.981306 +0.941474 0.906105 0.882105 0.854316 0.806947 0.738737 0.65979 0.585263 +0.528421 0.475387 0.40344 0.350427 0.3012 0.274693 0.270907 0.26712 +0.259547 0.251973 0.248187 0.2444 0.2444 0.246293 0.242507 0.234933 +0.231147 0.231147 0.22736 0.22168 0.217893 0.223573 0.223573 0.219787 +0.216 0.000973333 0.000966667 0.216 0.217893 0.000973333 0.000973333 0.000986667 +0.000973333 0.00096 0.000946667 0.000933333 0.000926667 0.000953333 0.000973333 0.000966667 +0.000973333 0.000946667 0.000946667 0.000953333 0.000946667 0.000933333 0.000926667 0.000946667 +0.00096 0.000973333 0.00094 0.000953333 0.00096 0.000973333 0.00094 0.00094 +0.000913333 0.00092 0.000946667 0.00096 0.00094 0.000926667 0.000906667 0.000906667 +0.00092 0.000933333 0.000946667 0.000926667 0.000926667 0.000953333 0.000946667 0.00094 +0.000946667 0.000913333 0.00092 0.000913333 0.0009 0.000926667 0.000933333 0.00092 +0.00088 0.00088 0.000913333 0.000953333 0.000946667 0.00092 0.000926667 0.000913333 +0.000913333 0.00096 0.00098 0.000946667 0.000926667 0.00092 0.000933333 0.000926667 +0.000926667 0.000906667 0.000926667 0.000946667 0.00096 0.00096 0.000953333 0.000933333 +0.000933333 0.00096 0.000953333 0.000973333 0.219787 0.225467 0.231147 0.240613 +0.253867 0.274693 0.314453 0.38072 0.498107 0.556842 0.632632 0.712842 +0.776632 0.807579 0.804421 0.778526 0.745053 0.712842 0.690737 0.683158 +0.683789 0.686947 0.694526 0.699579 0.681895 0.645895 0.637684 0.650947 +0.656632 0.654737 0.652211 0.645263 0.625684 0.609263 0.618737 0.662947 +0.725474 0.792421 0.865684 0.935158 0.981959 0.995673 1.00612 1.01233 +1.01363 1.01331 1.012 1.00971 1.0058 1.00188 0.999918 0.998612 +0.993061 0.990449 0.989143 0.982612 0.976211 0.973684 0.976211 0.969895 +0.965474 0.969263 0.967368 0.961053 0.958526 0.959158 0.960421 0.957895 +0.954737 0.957895 0.962316 0.962947 0.962316 0.961053 0.957895 0.962947 +0.963579 0.962316 0.959158 0.960421 0.964211 0.963579 0.960421 0.962316 +0.959789 0.957263 0.956 0.959789 0.966105 0.964842 0.961684 0.964211 +0.964211 0.968632 0.972421 0.966737 0.959158 0.950947 0.947789 0.949053 +0.955368 0.960421 0.956 0.953474 0.949053 0.950316 0.952211 0.950316 +0.953474 0.959789 0.961053 0.964842 0.981633 0.988816 0.994041 1.00057 +1.00188 1.00351 1.00514 1.00612 1.00678 1.00678 1.00612 1.00678 +1.00547 1.00122 0.997306 0.991102 0.984571 0.973684 0.964211 0.957263 +0.956632 0.966105 0.980653 0.985878 0.988163 0.994041 0.997633 0.999265 +1.00057 1.00547 1.00645 1.00743 1.01004 1.01167 1.01331 1.01331 +1.01265 1.01265 1.01233 1.00971 1.00514 1.00384 1.00482 1.00482 +1.00188 1.00416 1.00384 1.00122 0.999592 0.99698 0.99698 0.997633 +0.993714 0.990776 0.989796 0.98849 0.987837 0.98849 0.986857 0.98751 +0.989796 0.98751 0.990449 0.994367 0.996 0.997633 0.997306 0.998939 +1.00482 1.00743 1.01004 1.01004 1.00808 1.01037 1.00841 1.00873 +1.01265 1.01265 1.01265 1.01559 1.01755 1.01592 1.01494 1.01461 +1.01135 1.00971 1.00841 1.00286 0.99502 0.984898 0.962316 0.929474 +0.877684 0.820842 0.771579 0.719789 0.663579 0.630105 0.611789 0.604211 +0.608632 0.621263 0.633263 0.647158 0.662947 0.674947 0.680632 0.685684 +0.690737 0.686947 0.692 0.697684 0.696421 0.701474 0.720421 0.753895 +0.796211 0.822105 0.813895 0.769684 0.685053 0.586526 0.505684 0.367467 +0.293627 0.259547 0.236827 0.216 0.22168 0.231147 0.225467 0.216 +0.22168 0.231147 0.223573 0.000973333 0.000986667 0.22168 0.225467 0.000993333 +0.000986667 0.00096 0.000973333 0.000986667 0.00094 0.000913333 0.000926667 0.0009 +0.000926667 0.000926667 0.0009 0.00092 0.00094 0.000933333 0.000933333 0.000953333 +0.000953333 0.000906667 0.000906667 0.000913333 0.00094 0.000933333 0.000946667 0.000926667 +0.000933333 0.00098 0.000986667 0.00094 0.000933333 0.00092 0.000913333 0.000946667 +0.000953333 0.000926667 0.000933333 0.00092 0.0009 0.0009 0.00092 0.0009 +0.000893333 0.000913333 0.000893333 0.000893333 0.00086 0.0009 0.000946667 0.0009 +0.000886667 0.000926667 0.000926667 0.000893333 0.000906667 0.000953333 0.00092 0.000933333 +0.000946667 0.000926667 0.000953333 0.000946667 0.000946667 0.00094 0.00098 0.000993333 +0.00098 0.217893 0.216 0.00098 0.000973333 0.000993333 0.219787 0.22168 +0.000993333 0.000986667 0.000986667 0.225467 0.22736 0.225467 0.234933 0.2444 +0.246293 0.248187 0.26144 0.263333 0.26712 0.263333 0.269013 0.293627 +0.331493 0.424267 0.526526 0.590947 0.659158 0.722947 0.762737 0.782316 +0.802526 0.839158 0.894737 0.961684 0.999592 1.01298 1.0022 0.957895 +0.865684 0.759579 0.650316 0.567579 0.509474 0.4148 0.348533 0.325813 +0.30688 0.308773 0.314453 0.327707 0.933895 1.01984 1.00612 0.883368 +0.710316 0.577684 0.496213 0.373147 0.320133 0.29552 0.291733 0.291733 +0.28416 0.282267 0.274693 0.282267 0.282267 0.286053 0.3012 0.344747 +0.411013 0.508842 0.568842 0.645895 0.736211 0.837263 0.934526 0.991429 +1.00547 1.00351 0.992082 0.978737 0.949684 0.904842 0.837895 0.754526 +0.669895 0.594737 0.537895 0.5 0.40912 0.354213 0.32392 0.303093 +0.28984 0.282267 0.26712 0.25576 0.251973 0.253867 0.248187 0.234933 +0.234933 0.23304 0.231147 0.231147 0.225467 0.23304 0.229253 0.219787 +0.217893 0.00098 0.000986667 0.219787 0.219787 0.000993333 0.000993333 0.219787 +0.217893 0.000986667 0.00098 0.000973333 0.000966667 0.000966667 0.000966667 0.00096 +0.000946667 0.000946667 0.00094 0.00094 0.000933333 0.000913333 0.00092 0.00092 +0.00094 0.000946667 0.000953333 0.000946667 0.000953333 0.00092 0.000906667 0.00092 +0.000926667 0.00092 0.000953333 0.000953333 0.000933333 0.000926667 0.00094 0.000953333 +0.000953333 0.00096 0.000953333 0.00094 0.000946667 0.00096 0.000946667 0.000933333 +0.000953333 0.00092 0.00092 0.00092 0.0009 0.000926667 0.000926667 0.000913333 +0.00092 0.000926667 0.000926667 0.000933333 0.000953333 0.000926667 0.000933333 0.00094 +0.000946667 0.000966667 0.000973333 0.000973333 0.000973333 0.00096 0.000953333 0.000953333 +0.000946667 0.000926667 0.00094 0.00098 0.000953333 0.00094 0.000946667 0.00094 +0.000946667 0.000946667 0.000933333 0.00094 0.000993333 0.219787 0.223573 0.231147 +0.234933 0.242507 0.26144 0.286053 0.308773 0.34096 0.4148 0.516421 +0.582737 0.661053 0.736211 0.794316 0.818947 0.808211 0.777263 0.738737 +0.706526 0.687579 0.686316 0.693263 0.682526 0.652211 0.638947 0.649053 +0.658526 0.66421 0.670526 0.673053 0.666105 0.649684 0.630105 0.618105 +0.613684 0.621263 0.660421 0.722316 0.781684 0.848 0.916842 0.968632 +0.993388 1.00514 1.01037 1.01363 1.01331 1.01004 1.00906 1.01037 +1.00939 1.0071 1.0058 1.00318 0.998286 0.996 0.996327 0.992735 +0.98751 0.987184 0.985878 0.984245 0.982286 0.982286 0.98 0.973684 +0.972421 0.970526 0.967368 0.964211 0.965474 0.964842 0.961684 0.966105 +0.966105 0.964842 0.964842 0.973053 0.981633 0.982286 0.979368 0.978737 +0.973684 0.971158 0.972421 0.974316 0.976211 0.975579 0.981633 0.985551 +0.983918 0.982286 0.983592 0.982286 0.982286 0.977474 0.974316 0.978105 +0.984898 0.987837 0.985224 0.984245 0.982612 0.981306 0.981633 0.981306 +0.983592 0.986204 0.987184 0.989469 0.997633 1.00253 1.0058 1.00906 +1.0071 1.00678 1.00645 1.00808 1.00808 1.00612 1.00024 0.990449 +0.977474 0.949053 0.919368 0.877053 0.829684 0.792421 0.779789 0.773474 +0.767789 0.780421 0.812 0.837263 0.851158 0.874526 0.898526 0.921263 +0.939579 0.956632 0.962947 0.973053 0.982612 0.991429 0.999265 1.00286 +1.00645 1.00841 1.00808 1.00743 1.00743 1.00743 1.00547 1.00449 +1.00253 1.00449 1.00645 1.00743 1.0071 1.00253 1.00449 1.00678 +1.00416 1.00253 1.00122 1.0009 1.00253 1.00286 1.00188 1.00286 +1.00482 1.00318 1.00612 1.00678 1.0058 1.00906 1.00971 1.00873 +1.01102 1.01233 1.01363 1.01527 1.01265 1.01167 1.01004 1.01265 +1.01494 1.01265 1.01069 1.00776 1.00547 1.00351 0.998939 0.990776 +0.98098 0.962316 0.937053 0.896 0.844842 0.796842 0.755158 0.716 +0.673053 0.639579 0.623789 0.614316 0.609895 0.619368 0.626316 0.639579 +0.65979 0.673053 0.678737 0.681263 0.685053 0.689474 0.690737 0.692 +0.697684 0.698316 0.700211 0.710947 0.734947 0.769053 0.810105 0.829684 +0.810737 0.745053 0.652211 0.564421 0.48296 0.350427 0.28416 0.25576 +0.23872 0.236827 0.23872 0.22168 0.219787 0.216 0.000953333 0.000973333 +0.00098 0.000973333 0.000973333 0.000953333 0.000946667 0.000933333 0.000953333 0.000933333 +0.000953333 0.000973333 0.00094 0.000946667 0.000926667 0.000933333 0.000913333 0.000846667 +0.000893333 0.000913333 0.00088 0.000913333 0.000913333 0.0009 0.000933333 0.00098 +0.00096 0.000933333 0.000953333 0.00094 0.000953333 0.000966667 0.000953333 0.00092 +0.00092 0.000953333 0.000946667 0.000946667 0.00096 0.000966667 0.00092 0.000933333 +0.000966667 0.000953333 0.00092 0.00092 0.000913333 0.0009 0.00092 0.000906667 +0.00092 0.00092 0.000893333 0.00088 0.00082 0.000866667 0.000946667 0.0009 +0.00086 0.00088 0.000913333 0.000893333 0.000886667 0.000913333 0.000926667 0.000913333 +0.000926667 0.00094 0.000986667 0.000973333 0.00094 0.000946667 0.000953333 0.000953333 +0.00096 0.000966667 0.000953333 0.00096 0.000953333 0.00098 0.22168 0.23304 +0.231147 0.234933 0.23872 0.2444 0.251973 0.25008 0.257653 0.263333 +0.26144 0.263333 0.274693 0.282267 0.293627 0.314453 0.36936 0.498107 +0.556842 0.625684 0.693895 0.748211 0.782316 0.806316 0.832842 0.871368 +0.931368 0.989469 1.01069 1.01037 0.989143 0.926316 0.831579 0.719158 +0.623158 0.547368 0.484853 0.384507 0.344747 0.303093 0.304987 0.314453 +0.30688 0.316347 0.320133 0.3296 0.74 0.935158 1.01788 1.0022 +0.878947 0.713474 0.584632 0.5 0.367467 0.314453 0.303093 0.299307 +0.291733 0.280373 0.28416 0.28416 0.27848 0.282267 0.28416 0.28416 +0.29552 0.3296 0.384507 0.4716 0.538526 0.611158 0.706526 0.802526 +0.893474 0.972421 1.00188 1.01527 1.01886 1.01102 0.992408 0.949684 +0.872632 0.780421 0.689474 0.613684 0.553684 0.510737 0.44888 0.393973 +0.350427 0.314453 0.291733 0.274693 0.25576 0.251973 0.25576 0.2444 +0.240613 0.234933 0.23872 0.23872 0.231147 0.23872 0.240613 0.229253 +0.217893 0.217893 0.217893 0.217893 0.225467 0.22736 0.223573 0.22168 +0.219787 0.000993333 0.000973333 0.000966667 0.00098 0.00098 0.000946667 0.000946667 +0.000966667 0.000966667 0.000953333 0.00094 0.000933333 0.00094 0.00094 0.00092 +0.000926667 0.000933333 0.000946667 0.000946667 0.000926667 0.000933333 0.00092 0.000946667 +0.000966667 0.00098 0.000953333 0.00094 0.000946667 0.000933333 0.000973333 0.00098 +0.00096 0.000926667 0.00094 0.000953333 0.000953333 0.000933333 0.00094 0.000946667 +0.000946667 0.000926667 0.000926667 0.0009 0.000873333 0.0009 0.000926667 0.000926667 +0.000933333 0.00094 0.00092 0.000926667 0.00094 0.00096 0.00096 0.00096 +0.000946667 0.000933333 0.000946667 0.00096 0.000966667 0.000933333 0.00092 0.000933333 +0.000933333 0.000913333 0.00092 0.000953333 0.00094 0.00092 0.000933333 0.000946667 +0.000993333 0.000993333 0.00096 0.000926667 0.000973333 0.000993333 0.223573 0.23872 +0.246293 0.246293 0.246293 0.25576 0.265227 0.2728 0.280373 0.30688 +0.356107 0.445093 0.532842 0.602316 0.685684 0.758947 0.806316 0.820211 +0.800632 0.765263 0.733053 0.709684 0.688842 0.671158 0.662947 0.664842 +0.667368 0.668632 0.671789 0.673684 0.673053 0.673684 0.671158 0.65979 +0.640211 0.620632 0.609895 0.610526 0.618105 0.649053 0.707789 0.775368 +0.843579 0.902316 0.949053 0.982612 0.995347 1.00253 1.0071 1.01004 +1.01135 1.01135 1.01069 1.01233 1.01233 1.01102 1.01037 1.00971 +1.00612 1.00384 1.00318 1.00351 1.0022 1.0009 0.996327 0.993714 +0.99502 0.99502 0.991102 0.986204 0.985878 0.988816 0.991429 0.990449 +0.988163 0.988163 0.989796 0.989469 0.992735 0.99502 0.993061 0.992082 +0.992735 0.992082 0.992408 0.994041 0.993388 0.994694 1.00057 1.00188 +0.999265 1.00024 1.00057 0.998612 0.999918 0.997633 0.997633 0.999265 +1.00024 0.999592 1.00024 1.00318 1.00482 1.00449 1.00188 1.00024 +1.00286 1.00318 1.00449 1.00482 1.00514 1.00547 1.00808 1.01069 +1.00906 1.00743 1.0071 1.01037 1.00776 0.996653 0.957895 0.879579 +0.816421 0.769684 0.731789 0.690105 0.652211 0.632 0.633895 0.636421 +0.634526 0.640211 0.656632 0.663579 0.666105 0.685053 0.709053 0.729895 +0.749474 0.765263 0.773474 0.791158 0.818947 0.858105 0.893474 0.925684 +0.966105 0.991102 0.999265 1.00253 1.00547 1.00743 1.0071 1.00645 +1.0058 1.00645 1.00971 1.01069 1.00971 1.00612 1.00743 1.00939 +1.00841 1.00678 1.00482 1.00514 1.00645 1.00612 1.0058 1.00906 +1.01004 1.00808 1.00939 1.0071 1.0071 1.012 1.01135 1.00841 +1.00841 1.00939 1.00971 1.00971 1.00416 1.00024 0.995347 0.989796 +0.984898 0.975579 0.957263 0.933263 0.911158 0.889053 0.856842 0.820211 +0.791158 0.764 0.730526 0.692 0.651579 0.628211 0.617474 0.609895 +0.609263 0.616842 0.628842 0.639579 0.649684 0.659158 0.662316 0.667368 +0.678105 0.685053 0.689474 0.689474 0.692 0.695789 0.697053 0.698316 +0.709684 0.729895 0.756421 0.791158 0.818316 0.820842 0.789895 0.719789 +0.628211 0.542316 0.441307 0.337173 0.286053 0.253867 0.246293 0.242507 +0.231147 0.22736 0.229253 0.217893 0.000973333 0.000973333 0.000913333 0.000893333 +0.000913333 0.000886667 0.00088 0.000893333 0.000913333 0.000886667 0.000893333 0.0009 +0.00092 0.000973333 0.000946667 0.000946667 0.000946667 0.00096 0.000966667 0.000926667 +0.00094 0.000906667 0.000866667 0.00092 0.00092 0.000893333 0.000886667 0.00092 +0.00092 0.000926667 0.000926667 0.00092 0.000913333 0.000946667 0.000953333 0.00094 +0.00094 0.000946667 0.000913333 0.000933333 0.000966667 0.00096 0.00094 0.00094 +0.000966667 0.000986667 0.00098 0.000986667 0.000973333 0.000926667 0.000906667 0.000926667 +0.000973333 0.000953333 0.000933333 0.000933333 0.000906667 0.000926667 0.00098 0.000946667 +0.00092 0.00092 0.000933333 0.00094 0.00092 0.000926667 0.000906667 0.000906667 +0.0009 0.000893333 0.00094 0.00094 0.000913333 0.000933333 0.000953333 0.000946667 +0.000993333 0.216 0.000986667 0.223573 0.223573 0.219787 0.22736 0.236827 +0.253867 0.25576 0.253867 0.251973 0.25576 0.25576 0.269013 0.276587 +0.276587 0.28984 0.314453 0.35232 0.433733 0.524 0.585895 0.662316 +0.728 0.769053 0.799368 0.826526 0.861263 0.911789 0.973053 1.00188 +1.01396 1.00906 0.980327 0.885895 0.779158 0.680632 0.599158 0.527789 +0.446987 0.373147 0.333387 0.310667 0.304987 0.28984 0.291733 0.299307 +0.310667 0.31824 0.331493 0.34096 0.568842 0.738737 0.930105 1.01559 +1.00351 0.890316 0.722316 0.587789 0.501895 0.37504 0.327707 0.31256 +0.29552 0.280373 0.280373 0.276587 0.274693 0.269013 0.2728 0.26712 +0.26712 0.27848 0.28416 0.303093 0.34664 0.424267 0.517684 0.572632 +0.649053 0.745684 0.846737 0.943368 1.0022 1.02571 1.03551 1.0342 +1.01918 0.990122 0.915579 0.818947 0.726105 0.645263 0.578947 0.532211 +0.501263 0.4432 0.39208 0.350427 0.316347 0.29552 0.291733 0.282267 +0.276587 0.265227 0.259547 0.25008 0.242507 0.2444 0.2444 0.231147 +0.223573 0.225467 0.225467 0.223573 0.22736 0.223573 0.217893 0.216 +0.00098 0.000966667 0.000966667 0.000966667 0.000953333 0.000966667 0.00094 0.00094 +0.00096 0.00096 0.000946667 0.000933333 0.000933333 0.000946667 0.00094 0.000933333 +0.000953333 0.000953333 0.00096 0.00094 0.00094 0.00094 0.000926667 0.000933333 +0.000926667 0.000926667 0.00092 0.00092 0.000913333 0.0009 0.000933333 0.000946667 +0.00094 0.000933333 0.000953333 0.000966667 0.000973333 0.000946667 0.000946667 0.000946667 +0.000926667 0.000913333 0.000906667 0.0009 0.000893333 0.000933333 0.00096 0.000926667 +0.000926667 0.000926667 0.00094 0.000953333 0.00096 0.000973333 0.000973333 0.000966667 +0.000933333 0.000913333 0.000926667 0.000926667 0.000926667 0.000933333 0.0009 0.000913333 +0.000913333 0.000913333 0.00092 0.000933333 0.000926667 0.0009 0.00092 0.000933333 +0.000953333 0.000966667 0.000946667 0.000946667 0.000966667 0.217893 0.231147 0.23304 +0.23304 0.231147 0.22168 0.22168 0.236827 0.2444 0.23872 0.25008 +0.263333 0.2728 0.303093 0.365573 0.48864 0.556211 0.629474 0.708421 +0.774737 0.812 0.820211 0.804421 0.767158 0.726105 0.695789 0.678105 +0.675579 0.678737 0.681895 0.679368 0.673053 0.674316 0.679368 0.677474 +0.673053 0.669895 0.657895 0.639579 0.625684 0.613684 0.609263 0.623158 +0.653474 0.687579 0.728 0.780421 0.838526 0.892842 0.934526 0.966737 +0.986531 0.996327 1.00416 1.00971 1.01233 1.01331 1.012 1.01069 +1.00971 1.00906 1.00971 1.01069 1.01135 1.01004 1.00776 1.00743 +1.00939 1.00841 1.0058 1.00318 1.00024 1.00155 1.00645 1.00678 +1.00253 1.00318 1.00449 1.00286 1.00351 1.00514 1.00482 1.00449 +1.00547 1.00449 1.00351 1.0058 1.00449 1.00612 1.01004 1.00939 +1.00612 1.00873 1.00906 1.00678 1.00841 1.0071 1.0071 1.00776 +1.00612 1.00449 1.00612 1.00939 1.01233 1.01363 1.01069 1.01004 +1.012 1.01037 1.012 1.01167 1.00939 1.00971 1.01167 1.01135 +1.01004 1.00743 1.00841 1.00808 0.991755 0.931368 0.815789 0.705895 +0.649053 0.630105 0.626316 0.623789 0.624421 0.630737 0.637684 0.640211 +0.640211 0.639579 0.640842 0.635158 0.628211 0.630737 0.628211 0.626316 +0.630737 0.633263 0.632 0.639579 0.651579 0.673053 0.700211 0.733053 +0.789895 0.848632 0.895368 0.937684 0.973684 0.990449 0.997633 0.999918 +1.00024 0.998286 0.999592 1.0009 1.00318 1.00449 1.00645 1.00776 +1.00939 1.00971 1.00808 1.00678 1.00743 1.00612 1.00678 1.01069 +1.01037 1.00841 1.00743 1.00449 1.00253 1.0022 0.998939 0.992082 +0.984571 0.968632 0.948421 0.935789 0.911158 0.887158 0.856842 0.819579 +0.794316 0.776 0.753263 0.722316 0.701474 0.681895 0.659158 0.642737 +0.636421 0.630737 0.622526 0.623158 0.623158 0.622526 0.630737 0.641474 +0.650947 0.661053 0.662947 0.667368 0.673684 0.675579 0.678105 0.680632 +0.682526 0.685684 0.693263 0.698316 0.701474 0.705263 0.720421 0.750105 +0.789263 0.822105 0.835368 0.815789 0.761474 0.680632 0.595368 0.520842 +0.40344 0.31824 0.286053 0.263333 0.251973 0.236827 0.240613 0.231147 +0.22168 0.219787 0.223573 0.223573 0.000953333 0.000946667 0.000986667 0.00096 +0.00094 0.000926667 0.000926667 0.000913333 0.000893333 0.000873333 0.000886667 0.00094 +0.000933333 0.000953333 0.0009 0.0009 0.000953333 0.000953333 0.000946667 0.00094 +0.00096 0.00092 0.0009 0.000913333 0.000913333 0.0009 0.0009 0.000906667 +0.0009 0.00092 0.000913333 0.000893333 0.000873333 0.000906667 0.000893333 0.000906667 +0.000946667 0.00094 0.000893333 0.0009 0.000933333 0.000906667 0.000893333 0.00092 +0.00094 0.000973333 0.00098 0.000993333 0.000993333 0.000953333 0.000926667 0.000953333 +0.216 0.000953333 0.000953333 0.000966667 0.000973333 0.000986667 0.216 0.000973333 +0.00096 0.000973333 0.000986667 0.000953333 0.000946667 0.00092 0.00092 0.00094 +0.00094 0.000933333 0.000966667 0.000966667 0.000953333 0.000953333 0.000993333 0.219787 +0.229253 0.231147 0.229253 0.231147 0.22736 0.231147 0.240613 0.23304 +0.248187 0.26144 0.257653 0.257653 0.269013 0.27848 0.299307 0.33528 +0.36368 0.43184 0.514526 0.566947 0.633263 0.697053 0.748211 0.786105 +0.815789 0.844842 0.890316 0.952842 0.996653 1.01559 1.01624 0.992735 +0.930737 0.847368 0.748211 0.645895 0.561263 0.505684 0.4148 0.359893 +0.320133 0.31824 0.303093 0.30688 0.3012 0.299307 0.293627 0.308773 +0.31256 0.322027 0.34096 0.373147 0.405333 0.570737 0.736211 0.926316 +1.01657 1.0071 0.897895 0.734947 0.59979 0.510105 0.388293 0.333387 +0.31256 0.3012 0.287947 0.282267 0.274693 0.270907 0.2728 0.265227 +0.270907 0.274693 0.269013 0.2728 0.280373 0.29552 0.325813 0.36936 +0.46024 0.540421 0.613684 0.709684 0.818316 0.919368 0.993388 1.02539 +1.04171 1.04596 1.03812 1.01331 0.969895 0.878947 0.778526 0.687579 +0.617474 0.566947 0.527158 0.498107 0.435627 0.388293 0.348533 0.322027 +0.304987 0.291733 0.280373 0.265227 0.257653 0.253867 0.242507 0.234933 +0.23304 0.23304 0.22736 0.229253 0.22736 0.219787 0.000993333 0.00098 +0.000966667 0.000953333 0.00098 0.000986667 0.00098 0.000986667 0.000973333 0.000973333 +0.00098 0.000993333 0.000993333 0.000973333 0.000966667 0.00098 0.000966667 0.000966667 +0.000973333 0.000973333 0.000966667 0.000966667 0.000953333 0.000946667 0.000946667 0.000946667 +0.000953333 0.00096 0.00098 0.000966667 0.000966667 0.000953333 0.000973333 0.00096 +0.000946667 0.00096 0.000973333 0.000973333 0.000966667 0.00094 0.00094 0.000926667 +0.000933333 0.00092 0.000906667 0.000933333 0.000926667 0.000953333 0.00096 0.000926667 +0.000926667 0.0009 0.00092 0.000953333 0.000953333 0.000953333 0.000933333 0.00092 +0.0009 0.000893333 0.00092 0.000933333 0.000926667 0.00094 0.00092 0.000906667 +0.000913333 0.000926667 0.000926667 0.00092 0.000933333 0.000946667 0.00098 0.00098 +0.00094 0.000946667 0.00098 0.000973333 0.00094 0.00096 0.000973333 0.000946667 +0.00094 0.000966667 0.000973333 0.000986667 0.219787 0.229253 0.229253 0.23304 +0.2444 0.257653 0.269013 0.280373 0.297413 0.34664 0.424267 0.512632 +0.573263 0.645895 0.720421 0.783579 0.817053 0.815789 0.789263 0.753895 +0.722316 0.702105 0.688842 0.68 0.678737 0.683158 0.683158 0.678737 +0.676842 0.678737 0.678737 0.674947 0.671158 0.664842 0.650947 0.633263 +0.620632 0.611789 0.604211 0.613684 0.646526 0.681895 0.719158 0.771579 +0.822105 0.861263 0.901053 0.940211 0.972421 0.987184 0.993388 0.99698 +1.00155 1.0058 1.00776 1.01037 1.01037 1.01069 1.01102 1.01265 +1.01331 1.01233 1.01102 1.01102 1.00776 1.00612 1.00939 1.01069 +1.00939 1.01004 1.01037 1.00906 1.00841 1.00808 1.01004 1.01004 +1.00873 1.00808 1.00971 1.01135 1.01004 1.00939 1.01004 1.00808 +1.0058 1.00906 1.00873 1.00873 1.01069 1.00841 1.00808 1.01037 +1.00906 1.00808 1.01037 1.01135 1.01363 1.01494 1.01363 1.01331 +1.01298 1.01037 1.01331 1.01331 1.012 1.01265 1.01363 1.01167 +1.01037 1.00808 1.00318 0.975579 0.878947 0.765895 0.658526 0.602316 +0.602316 0.625684 0.649053 0.658526 0.661053 0.666105 0.669895 0.673684 +0.675579 0.675579 0.674947 0.670526 0.668 0.666737 0.661053 0.659158 +0.658526 0.650947 0.642105 0.637684 0.631368 0.630737 0.633895 0.634526 +0.650947 0.673684 0.702737 0.748842 0.810105 0.867579 0.904842 0.926947 +0.931368 0.917474 0.906737 0.901684 0.902316 0.914316 0.940211 0.971158 +0.987184 0.994367 0.994694 0.995673 0.997633 0.995673 0.992735 0.992735 +0.987837 0.980653 0.968632 0.950316 0.92379 0.897895 0.874526 0.849895 +0.815158 0.774737 0.742526 0.726105 0.704 0.681895 0.662316 0.638947 +0.628842 0.627579 0.624421 0.614947 0.614947 0.619368 0.625053 0.636421 +0.645895 0.648421 0.649684 0.658526 0.666105 0.664842 0.665474 0.668 +0.669895 0.673053 0.673053 0.677474 0.683158 0.685684 0.693263 0.697684 +0.695158 0.692632 0.708421 0.730526 0.753263 0.779789 0.812 0.836632 +0.830316 0.784211 0.715368 0.633263 0.551158 0.47728 0.36368 0.299307 +0.269013 0.257653 0.246293 0.234933 0.231147 0.231147 0.236827 0.225467 +0.22168 0.225467 0.225467 0.229253 0.217893 0.00096 0.000986667 0.000993333 +0.000973333 0.000946667 0.00096 0.000973333 0.000906667 0.00088 0.0009 0.000953333 +0.00096 0.000946667 0.000906667 0.000866667 0.000913333 0.000993333 0.000953333 0.000946667 +0.000926667 0.0009 0.000966667 0.000933333 0.000886667 0.000906667 0.0009 0.000893333 +0.000893333 0.000926667 0.000953333 0.000933333 0.00092 0.00092 0.000913333 0.000906667 +0.000953333 0.000966667 0.00092 0.000926667 0.000966667 0.000933333 0.000906667 0.00092 +0.00094 0.000953333 0.000946667 0.00096 0.000986667 0.000986667 0.00096 0.000953333 +0.000993333 0.00098 0.000966667 0.000966667 0.00096 0.000973333 0.000966667 0.000966667 +0.00096 0.000973333 0.216 0.000986667 0.000993333 0.000966667 0.000973333 0.00098 +0.000973333 0.000993333 0.223573 0.22168 0.22168 0.22168 0.22736 0.229253 +0.236827 0.236827 0.236827 0.23304 0.231147 0.236827 0.25576 0.253867 +0.25008 0.270907 0.286053 0.291733 0.310667 0.342853 0.401547 0.503158 +0.548632 0.606105 0.668 0.731158 0.781684 0.809474 0.836 0.872 +0.92821 0.984571 1.00971 1.01951 1.00939 0.978105 0.890947 0.779789 +0.68 0.609895 0.546737 0.48296 0.38072 0.33528 0.314453 0.304987 +0.297413 0.291733 0.293627 0.293627 0.29552 0.297413 0.28984 0.303093 +0.316347 0.3296 0.373147 0.462133 0.28984 0.412907 0.566947 0.732421 +0.925684 1.0169 1.01102 0.912421 0.752 0.612421 0.513895 0.39208 +0.342853 0.322027 0.304987 0.28984 0.276587 0.276587 0.269013 0.263333 +0.26712 0.269013 0.257653 0.251973 0.25576 0.26144 0.269013 0.280373 +0.299307 0.344747 0.42616 0.520842 0.592211 0.682526 0.781053 0.878947 +0.958526 1.00449 1.03355 1.04988 1.0502 1.03551 1.00318 0.937053 +0.840421 0.744421 0.65979 0.595368 0.549895 0.518316 0.47728 0.422373 +0.376933 0.342853 0.320133 0.299307 0.286053 0.276587 0.263333 0.25576 +0.251973 0.242507 0.23872 0.234933 0.23304 0.22736 0.225467 0.231147 +0.23304 0.22736 0.225467 0.223573 0.223573 0.22168 0.22168 0.22168 +0.225467 0.223573 0.000993333 0.000986667 0.000986667 0.000986667 0.000986667 0.000986667 +0.000993333 0.000953333 0.000973333 0.000973333 0.000966667 0.000973333 0.000966667 0.000966667 +0.000973333 0.000966667 0.00096 0.000966667 0.00098 0.00098 0.000966667 0.00096 +0.000966667 0.000966667 0.000966667 0.00096 0.00094 0.00094 0.000953333 0.000953333 +0.000973333 0.00098 0.000966667 0.00098 0.000953333 0.000946667 0.000966667 0.000953333 +0.00094 0.00092 0.000926667 0.000933333 0.000953333 0.000953333 0.000933333 0.000906667 +0.000913333 0.000946667 0.000946667 0.000953333 0.000926667 0.000926667 0.000933333 0.000906667 +0.000913333 0.00094 0.000946667 0.00094 0.000973333 0.000986667 0.216 0.000993333 +0.000946667 0.000933333 0.000966667 0.00096 0.000933333 0.000906667 0.000906667 0.000926667 +0.000953333 0.000966667 0.000966667 0.000953333 0.00096 0.22168 0.23872 0.23304 +0.234933 0.242507 0.246293 0.248187 0.251973 0.26712 0.287947 0.30688 +0.344747 0.43184 0.520842 0.580211 0.655368 0.731158 0.789895 0.820842 +0.818316 0.793684 0.759579 0.724211 0.701474 0.691368 0.684421 0.68 +0.681895 0.681895 0.681895 0.681895 0.68 0.681895 0.680632 0.671789 +0.661684 0.650316 0.635158 0.62 0.611158 0.605474 0.605474 0.618737 +0.642105 0.66421 0.692 0.731158 0.776 0.817684 0.847368 0.868842 +0.897895 0.926947 0.947158 0.961684 0.975579 0.984898 0.989796 0.995347 +1.0009 1.00253 1.00449 1.00612 1.00612 1.00743 1.00873 1.00841 +1.00906 1.00939 1.00971 1.01069 1.01037 1.00743 1.00808 1.00743 +1.00449 1.0058 1.00971 1.01004 1.00939 1.01069 1.01037 1.00808 +1.00808 1.012 1.01037 1.01069 1.01037 1.00776 1.00776 1.01037 +1.00873 1.00971 1.01069 1.01037 1.01135 1.01069 1.00971 1.01037 +1.01069 1.00873 1.01102 1.01102 1.00808 1.00906 1.00873 1.00678 +1.00514 0.996653 0.952211 0.822737 0.690737 0.616842 0.595368 0.614316 +0.641474 0.662947 0.676211 0.677474 0.673684 0.675579 0.676842 0.678105 +0.679368 0.683789 0.683789 0.683158 0.681895 0.682526 0.682526 0.683158 +0.683158 0.678105 0.674947 0.674316 0.669263 0.668632 0.666105 0.654737 +0.650947 0.642105 0.630737 0.630737 0.650316 0.685053 0.714737 0.735579 +0.738105 0.721684 0.707158 0.699579 0.690737 0.698947 0.734316 0.786105 +0.821474 0.841053 0.852421 0.866947 0.877684 0.873895 0.857474 0.843579 +0.818947 0.791789 0.769684 0.745053 0.712842 0.686316 0.671158 0.659158 +0.639579 0.623789 0.616211 0.618105 0.621263 0.622526 0.624421 0.626316 +0.633263 0.639579 0.647158 0.653474 0.657895 0.664842 0.669263 0.673053 +0.674947 0.676211 0.676842 0.677474 0.681263 0.68 0.677474 0.678737 +0.680632 0.684421 0.688842 0.693895 0.694526 0.697053 0.703368 0.713474 +0.728 0.749474 0.784211 0.819579 0.839158 0.830316 0.796842 0.736842 +0.657263 0.575789 0.514526 0.412907 0.32392 0.291733 0.269013 0.246293 +0.2444 0.246293 0.242507 0.229253 0.22168 0.22736 0.223573 0.217893 +0.000986667 0.000973333 0.000966667 0.000953333 0.000953333 0.000946667 0.000946667 0.00094 +0.000926667 0.00092 0.000966667 0.216 0.00094 0.000926667 0.000926667 0.000953333 +0.000946667 0.000926667 0.000926667 0.000886667 0.000893333 0.000946667 0.00092 0.000926667 +0.000906667 0.00088 0.00094 0.00094 0.000886667 0.000926667 0.000946667 0.000913333 +0.0009 0.000913333 0.000953333 0.000953333 0.000993333 0.000966667 0.000926667 0.00094 +0.000966667 0.000966667 0.000926667 0.00096 0.000986667 0.00098 0.000973333 0.000966667 +0.000966667 0.000966667 0.000946667 0.000946667 0.000966667 0.000973333 0.00098 0.000973333 +0.000986667 0.216 0.22168 0.000986667 0.000966667 0.00098 0.000966667 0.00096 +0.00098 0.00098 0.216 0.219787 0.225467 0.229253 0.229253 0.22736 +0.219787 0.219787 0.22736 0.229253 0.229253 0.22736 0.231147 0.231147 +0.240613 0.242507 0.242507 0.246293 0.253867 0.25576 0.276587 0.291733 +0.28984 0.314453 0.348533 0.39208 0.46592 0.532211 0.585895 0.648421 +0.706526 0.757053 0.793684 0.826526 0.868211 0.913684 0.968632 0.999265 +1.01527 1.01461 0.996 0.935158 0.835368 0.731789 0.640842 0.559368 +0.502526 0.429947 0.378827 0.32392 0.30688 0.28984 0.297413 0.282267 +0.286053 0.28984 0.28984 0.287947 0.29552 0.3012 0.30688 0.314453 +0.327707 0.365573 0.462133 0.556842 0.2444 0.280373 0.395867 0.563789 +0.728632 0.918737 1.01527 1.01363 0.926316 0.762737 0.610526 0.513263 +0.40344 0.34664 0.31824 0.287947 0.2728 0.270907 0.263333 0.257653 +0.25008 0.259547 0.253867 0.2444 0.25008 0.251973 0.257653 0.26712 +0.269013 0.2728 0.28984 0.33528 0.405333 0.505053 0.564421 0.635158 +0.707158 0.792421 0.889684 0.980327 1.02016 1.04694 1.05869 1.05249 +1.028 0.990122 0.906737 0.808211 0.721053 0.647158 0.587158 0.544842 +0.512632 0.4716 0.428053 0.382613 0.34096 0.31824 0.299307 0.280373 +0.26712 0.26144 0.25576 0.248187 0.2444 0.240613 0.242507 0.246293 +0.23872 0.234933 0.231147 0.223573 0.223573 0.219787 0.217893 0.219787 +0.219787 0.000993333 0.00098 0.000986667 0.000993333 0.216 0.216 0.22168 +0.216 0.000973333 0.000986667 0.000993333 0.000973333 0.000993333 0.216 0.000993333 +0.000986667 0.000973333 0.00098 0.000986667 0.217893 0.216 0.000966667 0.000986667 +0.00098 0.000946667 0.000926667 0.000926667 0.000953333 0.000953333 0.000966667 0.000973333 +0.000966667 0.000973333 0.00094 0.00094 0.00094 0.0009 0.000926667 0.000933333 +0.00092 0.00092 0.000893333 0.0009 0.000933333 0.00094 0.000933333 0.000933333 +0.000946667 0.00094 0.000913333 0.000926667 0.000926667 0.000933333 0.000946667 0.000913333 +0.000933333 0.000973333 0.000973333 0.00096 0.000946667 0.000933333 0.000946667 0.000953333 +0.000933333 0.00094 0.000973333 0.00098 0.00096 0.000926667 0.00094 0.00096 +0.000986667 0.217893 0.000966667 0.000953333 0.000986667 0.219787 0.23304 0.22736 +0.000966667 0.000953333 0.000986667 0.22168 0.23304 0.23872 0.2444 0.265227 +0.280373 0.29552 0.320133 0.356107 0.439413 0.528421 0.592842 0.669895 +0.743789 0.798105 0.825263 0.822105 0.791158 0.755789 0.723579 0.699579 +0.693263 0.693263 0.690737 0.683789 0.678737 0.682526 0.684421 0.68 +0.676842 0.676842 0.669263 0.660421 0.654737 0.644632 0.636421 0.628842 +0.62 0.621263 0.618105 0.613684 0.626947 0.643368 0.657895 0.669263 +0.686947 0.715368 0.738105 0.750737 0.774737 0.801895 0.824 0.843579 +0.866947 0.894737 0.919368 0.932 0.937684 0.947789 0.957895 0.968 +0.978737 0.983592 0.985878 0.990776 0.992082 0.991429 0.992735 0.99502 +0.994041 0.995347 0.995673 0.995347 0.996327 0.998286 0.997633 0.99698 +1.00122 1.00318 1.00188 1.00286 1.00318 1.00188 1.00188 1.00384 +1.00057 1.00286 1.00384 1.00384 1.00514 1.00286 1.0022 1.00286 +1.00351 1.00351 1.00482 1.00612 1.00318 1.00188 0.998286 0.990449 +0.971158 0.904842 0.794316 0.657895 0.582737 0.586526 0.622526 0.658526 +0.674316 0.674316 0.674316 0.673053 0.666737 0.674316 0.678737 0.678105 +0.679368 0.680632 0.679368 0.680632 0.683789 0.685053 0.685053 0.684421 +0.685053 0.681895 0.68 0.681895 0.681895 0.686316 0.691368 0.683789 +0.681895 0.674316 0.661053 0.645895 0.632 0.627579 0.626947 0.623158 +0.615579 0.597895 0.584632 0.578947 0.568211 0.566316 0.580211 0.604211 +0.626316 0.638316 0.649053 0.664842 0.673684 0.670526 0.65979 0.652211 +0.642737 0.628211 0.624421 0.621895 0.616211 0.614316 0.619368 0.628211 +0.632 0.635789 0.641474 0.650316 0.661053 0.665474 0.668 0.670526 +0.672421 0.677474 0.681895 0.684421 0.686316 0.688211 0.683789 0.678737 +0.679368 0.683789 0.681895 0.682526 0.687579 0.687579 0.687579 0.692 +0.695789 0.697684 0.705895 0.717895 0.729895 0.745053 0.770316 0.802526 +0.837263 0.851789 0.841684 0.806316 0.742526 0.667368 0.590316 0.524 +0.435627 0.35232 0.303093 0.2728 0.25576 0.251973 0.23872 0.231147 +0.231147 0.223573 0.225467 0.22168 0.219787 0.217893 0.00098 0.217893 +0.000993333 0.00096 0.000946667 0.00092 0.000933333 0.000966667 0.000966667 0.00096 +0.000933333 0.000886667 0.000886667 0.000906667 0.000873333 0.000913333 0.0009 0.000906667 +0.00094 0.000933333 0.00094 0.000926667 0.000913333 0.000926667 0.000933333 0.000926667 +0.0009 0.00092 0.00094 0.00096 0.00094 0.000933333 0.000946667 0.000966667 +0.00094 0.000933333 0.000933333 0.000953333 0.000986667 0.00096 0.000946667 0.000966667 +0.00098 0.000953333 0.000953333 0.216 0.000993333 0.000973333 0.000986667 0.00098 +0.00098 0.000973333 0.00096 0.000966667 0.00098 0.00098 0.000953333 0.000953333 +0.00098 0.000986667 0.223573 0.22168 0.223573 0.225467 0.000993333 0.000973333 +0.217893 0.219787 0.217893 0.223573 0.229253 0.229253 0.225467 0.219787 +0.225467 0.225467 0.219787 0.223573 0.23872 0.2444 0.23872 0.248187 +0.251973 0.253867 0.269013 0.282267 0.291733 0.3012 0.31824 0.342853 +0.361787 0.422373 0.513263 0.565684 0.628211 0.690737 0.742526 0.782316 +0.818316 0.856211 0.903579 0.955368 0.995673 1.01624 1.01853 1.00188 +0.960421 0.875158 0.782947 0.683789 0.592211 0.528421 0.46592 0.376933 +0.320133 0.30688 0.30688 0.2728 0.276587 0.27848 0.28416 0.280373 +0.280373 0.280373 0.287947 0.28984 0.291733 0.310667 0.314453 0.339067 +0.384507 0.475387 0.566316 0.692 0.217893 0.246293 0.28984 0.39776 +0.561895 0.723579 0.914316 1.01755 1.01788 0.927579 0.760842 0.621263 +0.529684 0.428053 0.344747 0.310667 0.299307 0.291733 0.286053 0.2728 +0.265227 0.270907 0.263333 0.253867 0.25576 0.253867 0.251973 0.251973 +0.257653 0.25576 0.25576 0.2728 0.28984 0.31256 0.36936 0.446987 +0.514526 0.565684 0.639579 0.731158 0.832211 0.931368 0.999265 1.03322 +1.05216 1.05576 1.04367 1.01624 0.972421 0.879579 0.780421 0.694526 +0.627579 0.577053 0.539158 0.508842 0.452667 0.407227 0.365573 0.331493 +0.31256 0.297413 0.28984 0.274693 0.26712 0.26144 0.25576 0.251973 +0.246293 0.242507 0.23872 0.231147 0.229253 0.22168 0.217893 0.223573 +0.225467 0.223573 0.223573 0.223573 0.22168 0.219787 0.217893 0.000986667 +0.000993333 0.00098 0.000993333 0.216 0.00098 0.000966667 0.000966667 0.00098 +0.000966667 0.000946667 0.000953333 0.000953333 0.000966667 0.000933333 0.00092 0.000933333 +0.000926667 0.000913333 0.000926667 0.00096 0.217893 0.000993333 0.000966667 0.00096 +0.000933333 0.00096 0.000926667 0.000933333 0.000953333 0.000906667 0.00092 0.000926667 +0.000913333 0.000913333 0.000913333 0.000946667 0.00096 0.00094 0.000946667 0.00096 +0.000946667 0.000966667 0.000946667 0.000933333 0.000933333 0.00094 0.00098 0.000966667 +0.000946667 0.00096 0.000946667 0.000926667 0.00092 0.000933333 0.000933333 0.00096 +0.000973333 0.000986667 0.000993333 0.000953333 0.000946667 0.000953333 0.00096 0.00098 +0.000953333 0.000966667 0.00096 0.00096 0.217893 0.217893 0.216 0.225467 +0.000993333 0.00098 0.22736 0.234933 0.236827 0.240613 0.236827 0.248187 +0.259547 0.251973 0.26144 0.27848 0.299307 0.333387 0.38072 0.464027 +0.538526 0.603579 0.678105 0.753895 0.806316 0.829684 0.825895 0.797474 +0.760211 0.732421 0.712211 0.694526 0.683789 0.68 0.682526 0.684421 +0.682526 0.681895 0.681895 0.68 0.675579 0.674316 0.671158 0.666105 +0.66421 0.65979 0.650947 0.642737 0.633263 0.632 0.627579 0.622526 +0.618737 0.617474 0.62 0.619368 0.621263 0.628211 0.640211 0.649053 +0.663579 0.685684 0.707158 0.723579 0.731789 0.740632 0.754526 0.774737 +0.789895 0.798737 0.812 0.829684 0.836 0.842947 0.855579 0.867579 +0.872632 0.873263 0.866316 0.863789 0.872 0.878947 0.880211 0.880211 +0.890316 0.898526 0.900421 0.902316 0.909263 0.915579 0.918105 0.918737 +0.906105 0.907368 0.913684 0.921895 0.925053 0.921895 0.924421 0.926316 +0.926316 0.926316 0.932632 0.942105 0.941474 0.934526 0.909263 0.859368 +0.790526 0.706526 0.626316 0.577053 0.584 0.621263 0.653474 0.672421 +0.676842 0.674316 0.673053 0.673684 0.661684 0.669895 0.677474 0.678105 +0.683158 0.684421 0.683158 0.686947 0.689474 0.687579 0.687579 0.688211 +0.692632 0.689474 0.683158 0.681263 0.679368 0.685053 0.692632 0.688842 +0.686947 0.682526 0.681895 0.674947 0.666105 0.663579 0.657895 0.649684 +0.640211 0.625053 0.609895 0.604842 0.591579 0.582105 0.580211 0.587158 +0.596632 0.604211 0.608 0.616842 0.621895 0.625053 0.625053 0.628211 +0.637684 0.636421 0.645263 0.652842 0.656 0.657895 0.661684 0.670526 +0.673053 0.674947 0.676842 0.681263 0.686947 0.685684 0.683789 0.681263 +0.678105 0.682526 0.686947 0.686947 0.688211 0.688842 0.682526 0.679368 +0.682526 0.688211 0.687579 0.690105 0.695789 0.700842 0.708421 0.718526 +0.726737 0.742526 0.765895 0.798105 0.830947 0.854316 0.86 0.844842 +0.805053 0.74 0.661684 0.585895 0.525895 0.446987 0.350427 0.29552 +0.270907 0.263333 0.23872 0.22736 0.219787 0.223573 0.231147 0.23304 +0.225467 0.000993333 0.217893 0.22736 0.234933 0.219787 0.000966667 0.000966667 +0.00096 0.000953333 0.000973333 0.000946667 0.000946667 0.000966667 0.00094 0.000926667 +0.000946667 0.00096 0.000946667 0.000926667 0.000926667 0.000966667 0.000913333 0.000906667 +0.00096 0.216 0.216 0.000973333 0.00098 0.000973333 0.217893 0.00096 +0.000926667 0.000953333 0.000973333 0.000993333 0.000993333 0.000953333 0.00096 0.000993333 +0.00098 0.00098 0.000953333 0.000973333 0.000986667 0.000946667 0.000933333 0.00096 +0.00098 0.000926667 0.000926667 0.00098 0.00096 0.000933333 0.00098 0.000986667 +0.00098 0.00098 0.000953333 0.00096 0.000993333 0.000986667 0.00096 0.000946667 +0.000993333 0.000993333 0.000986667 0.000986667 0.219787 0.22736 0.000986667 0.000973333 +0.223573 0.223573 0.000986667 0.000986667 0.219787 0.225467 0.223573 0.22168 +0.22736 0.231147 0.231147 0.234933 0.248187 0.25576 0.26144 0.274693 +0.287947 0.287947 0.304987 0.333387 0.348533 0.37504 0.43184 0.508842 +0.550526 0.606737 0.672421 0.733684 0.783579 0.819579 0.849263 0.888421 +0.942105 0.98849 1.01102 1.02016 1.01233 0.985224 0.904842 0.805053 +0.709053 0.621895 0.557474 0.504421 0.40344 0.350427 0.325813 0.3012 +0.287947 0.286053 0.28416 0.2728 0.26712 0.27848 0.276587 0.28416 +0.280373 0.282267 0.274693 0.291733 0.299307 0.314453 0.342853 0.382613 +0.48864 0.565684 0.692632 0.864421 0.000953333 0.223573 0.25008 0.28416 +0.39776 0.560632 0.725474 0.927579 1.0231 1.01788 0.934526 0.779789 +0.636421 0.529684 0.411013 0.342853 0.31256 0.293627 0.286053 0.270907 +0.26144 0.253867 0.253867 0.25008 0.2444 0.248187 0.23872 0.23872 +0.248187 0.246293 0.246293 0.253867 0.265227 0.265227 0.2728 0.291733 +0.320133 0.367467 0.450773 0.527789 0.594737 0.680632 0.776 0.874526 +0.965474 1.00906 1.03551 1.05249 1.05445 1.03812 1.00482 0.946526 +0.857474 0.768421 0.686947 0.620632 0.572 0.537895 0.510737 0.464027 +0.411013 0.371253 0.339067 0.314453 0.293627 0.280373 0.269013 0.263333 +0.253867 0.242507 0.23872 0.23872 0.242507 0.234933 0.22736 0.231147 +0.22736 0.22736 0.229253 0.22168 0.000986667 0.217893 0.219787 0.000986667 +0.00098 0.000973333 0.00098 0.000993333 0.000966667 0.00096 0.000946667 0.00096 +0.00096 0.000953333 0.00096 0.00096 0.000973333 0.000966667 0.000966667 0.00096 +0.000973333 0.000986667 0.000973333 0.00098 0.000986667 0.00096 0.000946667 0.00094 +0.00092 0.000913333 0.000913333 0.000933333 0.000933333 0.000893333 0.000913333 0.000933333 +0.00094 0.000946667 0.00098 0.000986667 0.000973333 0.000953333 0.000946667 0.000973333 +0.000973333 0.000966667 0.000946667 0.00092 0.000926667 0.00092 0.000953333 0.000953333 +0.00094 0.00092 0.00092 0.000966667 0.000973333 0.00098 0.000986667 0.000966667 +0.000973333 0.000973333 0.000946667 0.00096 0.000966667 0.000973333 0.000966667 0.000966667 +0.000933333 0.000946667 0.000986667 0.000986667 0.216 0.000993333 0.000986667 0.22168 +0.229253 0.231147 0.229253 0.223573 0.219787 0.225467 0.23304 0.236827 +0.2444 0.23872 0.242507 0.263333 0.26712 0.27848 0.291733 0.304987 +0.327707 0.378827 0.473493 0.542947 0.615579 0.695789 0.764632 0.813895 +0.832842 0.826526 0.802526 0.768421 0.734947 0.710947 0.700211 0.694526 +0.691368 0.688211 0.686316 0.685053 0.683789 0.679368 0.675579 0.673684 +0.675579 0.674947 0.665474 0.66421 0.66421 0.662947 0.661684 0.656632 +0.656 0.652842 0.647158 0.646526 0.640211 0.633895 0.630105 0.621895 +0.621263 0.615579 0.611789 0.614947 0.619368 0.616842 0.616211 0.624421 +0.626316 0.625053 0.632632 0.645263 0.646526 0.650316 0.65979 0.666105 +0.671789 0.672421 0.662316 0.658526 0.666737 0.672421 0.674316 0.674316 +0.683789 0.690737 0.689474 0.686947 0.697053 0.706526 0.710947 0.709684 +0.697684 0.693263 0.696421 0.708421 0.712211 0.707789 0.716 0.719158 +0.718526 0.716632 0.723579 0.734947 0.736842 0.731789 0.705263 0.655368 +0.609263 0.580211 0.576421 0.599158 0.635789 0.657263 0.665474 0.669895 +0.675579 0.676842 0.673053 0.662947 0.642105 0.652842 0.677474 0.697053 +0.718526 0.731789 0.730526 0.733684 0.728 0.712842 0.705895 0.701474 +0.702105 0.693895 0.680632 0.667368 0.655368 0.656632 0.661053 0.65979 +0.662947 0.667368 0.673684 0.673684 0.674316 0.677474 0.676842 0.675579 +0.674947 0.671158 0.666737 0.668632 0.661053 0.650316 0.648421 0.654105 +0.661684 0.665474 0.66421 0.664842 0.668 0.671158 0.675579 0.675579 +0.683789 0.68 0.681263 0.681895 0.681263 0.682526 0.683158 0.687579 +0.683158 0.678737 0.68 0.685684 0.689474 0.689474 0.688211 0.685684 +0.681895 0.686947 0.692 0.692 0.691368 0.692 0.693263 0.692 +0.692632 0.702105 0.714737 0.726105 0.741895 0.762105 0.782316 0.806316 +0.827789 0.848 0.857474 0.853684 0.825895 0.773474 0.704632 0.630737 +0.562526 0.506316 0.393973 0.331493 0.316347 0.286053 0.26144 0.263333 +0.257653 0.246293 0.236827 0.23872 0.22736 0.000993333 0.22736 0.2444 +0.240613 0.229253 0.219787 0.219787 0.223573 0.217893 0.000993333 0.00098 +0.000946667 0.000913333 0.000906667 0.000926667 0.00096 0.000966667 0.000946667 0.000946667 +0.000966667 0.22168 0.000993333 0.000946667 0.000986667 0.000993333 0.00096 0.00094 +0.000906667 0.00094 0.219787 0.000993333 0.216 0.216 0.216 0.216 +0.000973333 0.000973333 0.000986667 0.000986667 0.216 0.000946667 0.000973333 0.216 +0.000973333 0.000966667 0.00096 0.000993333 0.216 0.000966667 0.000946667 0.000986667 +0.217893 0.000953333 0.000946667 0.000973333 0.000946667 0.00094 0.00096 0.000973333 +0.000966667 0.000966667 0.000973333 0.000973333 0.217893 0.000993333 0.000966667 0.000986667 +0.000986667 0.217893 0.219787 0.000993333 0.219787 0.229253 0.217893 0.000986667 +0.223573 0.229253 0.000993333 0.00096 0.000993333 0.22736 0.23304 0.22736 +0.234933 0.23872 0.242507 0.253867 0.26144 0.269013 0.28416 0.299307 +0.322027 0.34096 0.36936 0.433733 0.505684 0.544842 0.597263 0.657895 +0.720421 0.772211 0.816421 0.850526 0.891579 0.940842 0.983918 1.00449 +1.01722 1.01429 0.992408 0.932632 0.842947 0.747579 0.650316 0.568842 +0.513263 0.42048 0.359893 0.314453 0.299307 0.291733 0.28984 0.28416 +0.282267 0.287947 0.269013 0.269013 0.26712 0.2728 0.274693 0.270907 +0.274693 0.286053 0.291733 0.3012 0.314453 0.342853 0.399653 0.504421 +0.580211 0.705263 0.870105 1.00024 0.000853333 0.000866667 0.00094 0.23304 +0.269013 0.393973 0.578316 0.769684 0.969895 1.03192 1.02212 0.942737 +0.772842 0.614316 0.508842 0.384507 0.331493 0.304987 0.28984 0.282267 +0.27848 0.26712 0.26712 0.265227 0.259547 0.26144 0.25576 0.248187 +0.246293 0.2444 0.248187 0.25008 0.251973 0.25576 0.253867 0.259547 +0.26712 0.274693 0.287947 0.327707 0.399653 0.504421 0.559368 0.632632 +0.716632 0.798105 0.876421 0.959789 1.00939 1.03747 1.05053 1.04955 +1.03127 0.998612 0.932632 0.840421 0.753263 0.676211 0.614947 0.566947 +0.531579 0.506316 0.464027 0.4148 0.365573 0.32392 0.303093 0.287947 +0.274693 0.2728 0.270907 0.26712 0.265227 0.253867 0.248187 0.242507 +0.23304 0.234933 0.231147 0.223573 0.219787 0.22736 0.225467 0.219787 +0.22168 0.000973333 0.00098 0.000966667 0.00094 0.00096 0.000973333 0.000966667 +0.000986667 0.000993333 0.000993333 0.000986667 0.000986667 0.216 0.000993333 0.00098 +0.000993333 0.000973333 0.00094 0.000933333 0.000933333 0.000946667 0.00094 0.000946667 +0.000913333 0.000913333 0.000946667 0.00094 0.000946667 0.00094 0.00094 0.000946667 +0.000966667 0.000993333 0.000973333 0.000933333 0.00092 0.000946667 0.000946667 0.000946667 +0.000946667 0.000926667 0.000906667 0.0009 0.00092 0.000913333 0.000926667 0.000953333 +0.00096 0.000966667 0.000946667 0.000973333 0.000993333 0.00096 0.000946667 0.00094 +0.000946667 0.000953333 0.00094 0.00098 0.216 0.000973333 0.000953333 0.00098 +0.000993333 0.000986667 0.000973333 0.000973333 0.000986667 0.000966667 0.00096 0.000993333 +0.225467 0.219787 0.000966667 0.000966667 0.000973333 0.000993333 0.229253 0.23304 +0.229253 0.231147 0.236827 0.246293 0.2444 0.23872 0.25008 0.26712 +0.269013 0.28416 0.314453 0.33528 0.390187 0.498107 0.552421 0.620632 +0.697684 0.763368 0.807579 0.832211 0.831579 0.813895 0.783579 0.753895 +0.729895 0.712211 0.695789 0.685053 0.685684 0.683789 0.684421 0.685053 +0.685053 0.681263 0.673684 0.667368 0.668 0.671158 0.673684 0.673684 +0.674316 0.677474 0.674947 0.675579 0.672421 0.673053 0.668 0.665474 +0.66421 0.660421 0.650947 0.651579 0.650947 0.644 0.636421 0.634526 +0.629474 0.623158 0.624421 0.623158 0.618737 0.617474 0.618105 0.62 +0.623158 0.622526 0.614316 0.609263 0.609263 0.609895 0.606105 0.606105 +0.612421 0.611158 0.609263 0.607368 0.611158 0.613053 0.615579 0.612421 +0.607368 0.607368 0.604842 0.608632 0.611158 0.611158 0.618105 0.618105 +0.617474 0.614947 0.62 0.621263 0.615579 0.615579 0.608632 0.595368 +0.593474 0.605474 0.626316 0.649053 0.666105 0.666737 0.661684 0.657263 +0.661684 0.666737 0.649684 0.617474 0.614316 0.677474 0.741263 0.770316 +0.787368 0.796211 0.797474 0.806316 0.808211 0.798737 0.792421 0.782947 +0.772842 0.745684 0.704 0.662316 0.626947 0.608632 0.59979 0.592842 +0.590316 0.590316 0.613053 0.636421 0.652211 0.666737 0.676211 0.678737 +0.679368 0.681263 0.681263 0.686947 0.685053 0.68 0.678737 0.681895 +0.690737 0.695158 0.692 0.686947 0.690105 0.689474 0.689474 0.686947 +0.690105 0.686947 0.68 0.683158 0.683158 0.686316 0.689474 0.692 +0.683789 0.681263 0.686947 0.692632 0.696421 0.699579 0.695789 0.695789 +0.695158 0.699579 0.710316 0.715368 0.718526 0.729895 0.745053 0.757684 +0.770316 0.791158 0.813263 0.830947 0.845474 0.856842 0.856211 0.839789 +0.810737 0.767158 0.707158 0.639579 0.573263 0.518316 0.43752 0.359893 +0.320133 0.29552 0.269013 0.26144 0.265227 0.259547 0.253867 0.257653 +0.25576 0.246293 0.246293 0.248187 0.23872 0.219787 0.217893 0.225467 +0.23304 0.22736 0.22168 0.216 0.217893 0.225467 0.223573 0.223573 +0.229253 0.219787 0.000973333 0.000986667 0.217893 0.000953333 0.00092 0.000926667 +0.000926667 0.00098 0.000986667 0.000933333 0.00098 0.217893 0.216 0.000973333 +0.000953333 0.000933333 0.00096 0.000973333 0.000933333 0.00094 0.000953333 0.000973333 +0.00098 0.000966667 0.000973333 0.00094 0.000953333 0.000926667 0.00094 0.000953333 +0.000966667 0.000973333 0.000946667 0.216 0.216 0.000973333 0.00096 0.216 +0.22168 0.000986667 0.000986667 0.000993333 0.216 0.22168 0.000993333 0.00098 +0.00098 0.000966667 0.216 0.216 0.216 0.217893 0.00098 0.000993333 +0.000986667 0.217893 0.223573 0.000986667 0.216 0.229253 0.223573 0.219787 +0.231147 0.23304 0.225467 0.223573 0.23304 0.2444 0.251973 0.251973 +0.257653 0.265227 0.269013 0.274693 0.286053 0.299307 0.322027 0.356107 +0.405333 0.48864 0.538526 0.593474 0.650947 0.708421 0.763368 0.808842 +0.850526 0.890316 0.933895 0.979368 1.00286 1.01886 1.01886 1.00122 +0.956 0.865053 0.764 0.669263 0.592211 0.533474 0.458347 0.36936 +0.333387 0.303093 0.287947 0.274693 0.2728 0.2728 0.274693 0.28416 +0.269013 0.27848 0.282267 0.276587 0.2728 0.270907 0.27848 0.276587 +0.27848 0.286053 0.3012 0.30688 0.327707 0.384507 0.503789 0.587158 +0.717895 0.884 1.00449 1.02343 0.00086 0.000853333 0.000866667 0.000953333 +0.23304 0.286053 0.481067 0.642105 0.831579 0.98849 1.03616 1.02506 +0.934526 0.755789 0.606737 0.515158 0.407227 0.342853 0.316347 0.304987 +0.291733 0.27848 0.274693 0.269013 0.259547 0.25576 0.25008 0.242507 +0.23872 0.23872 0.23872 0.242507 0.2444 0.251973 0.248187 0.248187 +0.248187 0.2444 0.246293 0.259547 0.27848 0.304987 0.356107 0.441307 +0.521474 0.568211 0.622526 0.700211 0.794316 0.886526 0.973053 1.01624 +1.04237 1.05282 1.04694 1.02473 0.992082 0.923158 0.834737 0.748211 +0.671158 0.610526 0.565684 0.530947 0.503789 0.450773 0.401547 0.365573 +0.342853 0.32392 0.303093 0.28416 0.270907 0.26144 0.25576 0.248187 +0.2444 0.242507 0.23304 0.229253 0.22736 0.22736 0.223573 0.223573 +0.225467 0.216 0.223573 0.223573 0.00098 0.216 0.216 0.000986667 +0.216 0.000986667 0.000973333 0.000973333 0.000986667 0.00098 0.000966667 0.000973333 +0.00098 0.00096 0.000953333 0.000946667 0.000966667 0.000966667 0.000933333 0.00094 +0.00094 0.000953333 0.000966667 0.000926667 0.000966667 0.00094 0.0009 0.000933333 +0.000946667 0.000953333 0.00092 0.0009 0.000886667 0.000913333 0.0009 0.0009 +0.000913333 0.000913333 0.000933333 0.000933333 0.000933333 0.000946667 0.00094 0.000966667 +0.00096 0.00094 0.000913333 0.000926667 0.000933333 0.000906667 0.00092 0.00096 +0.000966667 0.000973333 0.000946667 0.00092 0.000953333 0.000966667 0.000953333 0.000973333 +0.00098 0.000946667 0.00092 0.000933333 0.000953333 0.000946667 0.00096 0.000986667 +0.000993333 0.000973333 0.000953333 0.00098 0.000993333 0.22168 0.23872 0.236827 +0.223573 0.225467 0.236827 0.234933 0.23304 0.236827 0.246293 0.25576 +0.251973 0.26144 0.274693 0.276587 0.291733 0.30688 0.342853 0.407227 +0.496213 0.544842 0.602947 0.671158 0.737474 0.790526 0.827158 0.839789 +0.832842 0.814526 0.781053 0.748211 0.728 0.712211 0.705895 0.701474 +0.695158 0.688842 0.686316 0.684421 0.679368 0.68 0.682526 0.682526 +0.681263 0.676842 0.674947 0.673684 0.673053 0.676211 0.678105 0.681895 +0.685684 0.683789 0.681263 0.681263 0.680632 0.674316 0.672421 0.674316 +0.669895 0.669895 0.670526 0.665474 0.661684 0.65979 0.661053 0.661684 +0.661684 0.663579 0.661684 0.654737 0.651579 0.652211 0.649053 0.645895 +0.648421 0.647789 0.650316 0.652211 0.653474 0.652211 0.654105 0.647158 +0.644632 0.649684 0.650316 0.652211 0.652842 0.656 0.654737 0.650947 +0.651579 0.648421 0.654105 0.650316 0.643368 0.645263 0.644 0.644632 +0.654105 0.66421 0.667368 0.668 0.661684 0.644 0.620632 0.612421 +0.628211 0.629474 0.582737 0.561895 0.638316 0.725474 0.722316 0.674316 +0.644632 0.637053 0.643368 0.670526 0.701474 0.726737 0.761474 0.801263 +0.846105 0.858105 0.821474 0.750737 0.672421 0.618105 0.587158 0.566316 +0.537895 0.508211 0.516421 0.542316 0.570737 0.605474 0.635789 0.659158 +0.673684 0.681895 0.682526 0.686947 0.686316 0.686316 0.687579 0.686947 +0.691368 0.695789 0.697684 0.693895 0.694526 0.693895 0.689474 0.685684 +0.693263 0.691368 0.684421 0.688842 0.688211 0.691368 0.698947 0.700842 +0.696421 0.695158 0.701474 0.712211 0.726737 0.74 0.747579 0.759579 +0.770316 0.779158 0.797474 0.814526 0.827789 0.843579 0.853053 0.854947 +0.852421 0.843579 0.826526 0.802526 0.764 0.721053 0.675579 0.619368 +0.561895 0.512 0.4148 0.322027 0.286053 0.280373 0.280373 0.274693 +0.274693 0.27848 0.276587 0.25576 0.234933 0.242507 0.246293 0.242507 +0.2444 0.246293 0.242507 0.248187 0.251973 0.2444 0.2444 0.236827 +0.23872 0.236827 0.23304 0.22168 0.216 0.217893 0.217893 0.00096 +0.000953333 0.00098 0.000973333 0.217893 0.22168 0.00098 0.000973333 0.000953333 +0.000953333 0.00098 0.000966667 0.00094 0.00096 0.000966667 0.000973333 0.00096 +0.00094 0.000926667 0.000946667 0.00098 0.00092 0.000886667 0.000906667 0.00094 +0.000953333 0.000953333 0.000966667 0.000973333 0.000993333 0.00096 0.00094 0.0009 +0.000906667 0.000946667 0.00096 0.000973333 0.000953333 0.000946667 0.000966667 0.00098 +0.217893 0.000993333 0.000993333 0.00098 0.000993333 0.22736 0.229253 0.223573 +0.22168 0.217893 0.217893 0.216 0.000993333 0.216 0.216 0.22168 +0.223573 0.229253 0.231147 0.223573 0.22168 0.231147 0.22736 0.22736 +0.23304 0.236827 0.240613 0.240613 0.251973 0.269013 0.274693 0.27848 +0.28984 0.303093 0.314453 0.322027 0.350427 0.3864 0.450773 0.522105 +0.576421 0.638947 0.700211 0.753895 0.798737 0.841684 0.885895 0.929474 +0.979368 1.0022 1.01788 1.0218 1.01037 0.98098 0.897263 0.801263 +0.705263 0.613684 0.544211 0.479173 0.390187 0.339067 0.308773 0.282267 +0.280373 0.26712 0.26144 0.26712 0.269013 0.269013 0.26712 0.280373 +0.276587 0.2728 0.282267 0.280373 0.286053 0.282267 0.282267 0.28984 +0.299307 0.31256 0.32392 0.34096 0.388293 0.501263 0.587158 0.726737 +0.894105 1.0071 1.02212 0.947158 0.000833333 0.000826667 0.000833333 0.00086 +0.000953333 0.240613 0.3296 0.532211 0.678105 0.845474 0.990449 1.0378 +1.02408 0.933895 0.765263 0.621263 0.524 0.4148 0.34664 0.316347 +0.28984 0.276587 0.270907 0.259547 0.257653 0.251973 0.248187 0.25008 +0.25008 0.251973 0.253867 0.263333 0.259547 0.259547 0.257653 0.257653 +0.246293 0.240613 0.242507 0.242507 0.2444 0.257653 0.274693 0.29552 +0.3296 0.36936 0.433733 0.515158 0.568842 0.631368 0.712842 0.813263 +0.909263 0.986857 1.02082 1.04335 1.05314 1.04727 1.02473 0.989469 +0.911158 0.821474 0.737474 0.663579 0.606737 0.565053 0.531579 0.506316 +0.462133 0.411013 0.36368 0.32392 0.304987 0.291733 0.280373 0.274693 +0.270907 0.26144 0.25008 0.242507 0.234933 0.231147 0.231147 0.231147 +0.229253 0.225467 0.22736 0.229253 0.225467 0.217893 0.000993333 0.000993333 +0.217893 0.217893 0.000993333 0.000986667 0.00098 0.00096 0.000953333 0.00096 +0.00098 0.000986667 0.000966667 0.000966667 0.00096 0.000953333 0.000933333 0.000946667 +0.00096 0.00096 0.000946667 0.00092 0.00092 0.0009 0.000866667 0.000886667 +0.00094 0.000946667 0.00092 0.0009 0.000893333 0.000893333 0.00092 0.000946667 +0.00096 0.000933333 0.000926667 0.00092 0.00092 0.000926667 0.00092 0.00092 +0.000933333 0.000933333 0.000913333 0.00092 0.000906667 0.0009 0.000926667 0.00094 +0.00092 0.000913333 0.00092 0.000906667 0.00092 0.000933333 0.000933333 0.000933333 +0.000946667 0.000913333 0.000893333 0.000893333 0.000906667 0.000933333 0.00096 0.000953333 +0.000946667 0.00096 0.000986667 0.000986667 0.219787 0.219787 0.22168 0.219787 +0.217893 0.219787 0.225467 0.231147 0.236827 0.248187 0.246293 0.240613 +0.246293 0.253867 0.25008 0.25576 0.270907 0.2728 0.287947 0.303093 +0.304987 0.327707 0.38072 0.462133 0.525263 0.573263 0.632632 0.697684 +0.759579 0.809474 0.836632 0.845474 0.839158 0.820211 0.798105 0.770947 +0.745053 0.728 0.715368 0.704 0.698316 0.696421 0.693895 0.694526 +0.692632 0.688211 0.685053 0.684421 0.687579 0.683158 0.679368 0.681263 +0.683158 0.682526 0.681263 0.681895 0.679368 0.674316 0.680632 0.683789 +0.683789 0.684421 0.681895 0.681895 0.677474 0.673053 0.673053 0.673053 +0.674316 0.680632 0.678105 0.673053 0.672421 0.676211 0.672421 0.671789 +0.672421 0.670526 0.672421 0.674316 0.678105 0.678737 0.677474 0.671158 +0.671158 0.674947 0.68 0.683158 0.683158 0.683158 0.677474 0.674947 +0.675579 0.674947 0.676842 0.676211 0.675579 0.676211 0.669895 0.669263 +0.674316 0.676211 0.666737 0.654737 0.627579 0.577684 0.533474 0.549263 +0.603579 0.602316 0.546737 0.588421 0.685684 0.652842 0.544842 0.416693 +0.35232 0.348533 0.36368 0.4148 0.496213 0.549895 0.633895 0.731789 +0.832211 0.910526 0.952842 0.934526 0.844211 0.742526 0.668632 0.626316 +0.593474 0.544842 0.519579 0.520211 0.541684 0.573263 0.598526 0.626947 +0.652211 0.671789 0.679368 0.688211 0.688842 0.689474 0.693263 0.693895 +0.697053 0.699579 0.701474 0.697053 0.695789 0.698947 0.700211 0.700842 +0.706526 0.708421 0.705895 0.710316 0.719789 0.732421 0.745053 0.757053 +0.769053 0.780421 0.793684 0.809474 0.825263 0.841684 0.853684 0.858105 +0.853684 0.844842 0.839158 0.829053 0.808842 0.785474 0.758316 0.721684 +0.682526 0.641474 0.602947 0.566947 0.526526 0.458347 0.36368 0.304987 +0.26144 0.25008 0.259547 0.270907 0.282267 0.276587 0.265227 0.25008 +0.240613 0.26144 0.269013 0.251973 0.242507 0.248187 0.2444 0.236827 +0.231147 0.234933 0.236827 0.23872 0.248187 0.248187 0.23872 0.223573 +0.225467 0.225467 0.225467 0.219787 0.000986667 0.000953333 0.219787 0.000993333 +0.000933333 0.000933333 0.000946667 0.00094 0.00092 0.000946667 0.000953333 0.000933333 +0.000946667 0.00094 0.000913333 0.000933333 0.000913333 0.000946667 0.00098 0.00098 +0.00096 0.0009 0.00092 0.000973333 0.00096 0.000933333 0.000926667 0.000933333 +0.00094 0.000953333 0.000946667 0.000953333 0.00096 0.000993333 0.217893 0.00096 +0.000946667 0.000946667 0.000993333 0.219787 0.000986667 0.000933333 0.000973333 0.217893 +0.000986667 0.00098 0.000973333 0.000953333 0.00096 0.000993333 0.223573 0.223573 +0.219787 0.22736 0.217893 0.000986667 0.22168 0.217893 0.223573 0.23304 +0.234933 0.23304 0.23872 0.236827 0.242507 0.2444 0.240613 0.246293 +0.251973 0.257653 0.259547 0.265227 0.270907 0.28416 0.293627 0.30688 +0.333387 0.359893 0.39208 0.45456 0.519579 0.568211 0.628842 0.693263 +0.753895 0.806947 0.847368 0.882737 0.92 0.966105 0.996653 1.01396 +1.02082 1.012 0.988816 0.925053 0.834737 0.732421 0.637053 0.566316 +0.511368 0.40912 0.356107 0.322027 0.297413 0.282267 0.280373 0.265227 +0.25576 0.253867 0.25576 0.2728 0.269013 0.269013 0.269013 0.270907 +0.280373 0.274693 0.270907 0.269013 0.287947 0.293627 0.28984 0.3012 +0.31256 0.32392 0.34664 0.401547 0.507579 0.587789 0.729263 0.902316 +1.01265 1.02833 0.949684 0.750105 0.00078 0.000806667 0.000826667 0.000846667 +0.00088 0.000973333 0.25576 0.373147 0.545474 0.681263 0.845474 0.991755 +1.03943 1.02702 0.947158 0.786105 0.638947 0.534105 0.424267 0.34664 +0.31256 0.293627 0.287947 0.282267 0.282267 0.269013 0.265227 0.269013 +0.26712 0.257653 0.259547 0.259547 0.253867 0.251973 0.25008 0.246293 +0.23872 0.240613 0.240613 0.234933 0.23304 0.23872 0.248187 0.259547 +0.26712 0.270907 0.286053 0.316347 0.36368 0.428053 0.517053 0.579579 +0.658526 0.743158 0.827789 0.914316 0.989796 1.02571 1.04694 1.05184 +1.04302 1.02016 0.985878 0.909263 0.820842 0.738737 0.666737 0.608 +0.563158 0.529053 0.502526 0.44888 0.401547 0.359893 0.331493 0.316347 +0.3012 0.28416 0.270907 0.253867 0.242507 0.2444 0.246293 0.246293 +0.248187 0.242507 0.240613 0.240613 0.22736 0.22168 0.219787 0.22168 +0.223573 0.223573 0.216 0.216 0.217893 0.216 0.217893 0.000986667 +0.00096 0.000953333 0.00098 0.000966667 0.000946667 0.00096 0.000946667 0.000946667 +0.000966667 0.000966667 0.00094 0.000926667 0.000913333 0.000913333 0.0009 0.000913333 +0.000966667 0.000973333 0.000933333 0.00092 0.00092 0.000906667 0.000926667 0.000933333 +0.00092 0.0009 0.0009 0.000913333 0.000933333 0.00094 0.000913333 0.000906667 +0.000926667 0.000946667 0.00094 0.000906667 0.000893333 0.000913333 0.000906667 0.0009 +0.000933333 0.00092 0.0009 0.000933333 0.000906667 0.00092 0.00094 0.000933333 +0.000953333 0.000926667 0.000893333 0.000886667 0.000893333 0.0009 0.000946667 0.00094 +0.00092 0.00094 0.000953333 0.00092 0.000933333 0.000953333 0.00094 0.00096 +0.000986667 0.00098 0.000986667 0.223573 0.22736 0.231147 0.229253 0.225467 +0.2444 0.251973 0.240613 0.242507 0.253867 0.259547 0.259547 0.265227 +0.27848 0.28416 0.29552 0.314453 0.325813 0.354213 0.3864 0.46592 +0.527158 0.575158 0.635789 0.703368 0.763368 0.813263 0.846105 0.854316 +0.849263 0.841684 0.822737 0.795579 0.777895 0.767789 0.752632 0.738105 +0.725474 0.716 0.709684 0.708421 0.707789 0.695789 0.686316 0.683789 +0.681895 0.686316 0.688842 0.689474 0.683789 0.681895 0.685684 0.688842 +0.692 0.691368 0.688842 0.686947 0.681263 0.675579 0.673684 0.673684 +0.678105 0.68 0.679368 0.678737 0.68 0.680632 0.678737 0.678737 +0.674316 0.671789 0.672421 0.671789 0.674947 0.676842 0.677474 0.676842 +0.676842 0.677474 0.682526 0.685684 0.685053 0.685053 0.680632 0.678105 +0.679368 0.682526 0.683158 0.677474 0.677474 0.677474 0.667368 0.662316 +0.659158 0.650316 0.625684 0.592842 0.539789 0.446987 0.356107 0.479173 +0.577684 0.609895 0.608 0.683789 0.678737 0.532211 0.31824 0.2444 +0.23872 0.251973 0.270907 0.367467 0.525895 0.62 0.692632 0.721053 +0.734947 0.766526 0.841053 0.935789 0.957263 0.887789 0.796842 0.731789 +0.694526 0.657895 0.632 0.618105 0.621263 0.628842 0.631368 0.642105 +0.655368 0.674316 0.690737 0.710947 0.718526 0.717895 0.719789 0.724211 +0.727368 0.731158 0.734947 0.735579 0.740632 0.750105 0.758947 0.765263 +0.776632 0.788 0.793684 0.805053 0.821474 0.836 0.846105 0.851789 +0.852421 0.851158 0.841053 0.819579 0.795579 0.772842 0.746947 0.716 +0.684421 0.649684 0.621263 0.596632 0.567579 0.540421 0.522737 0.496213 +0.424267 0.36936 0.322027 0.280373 0.251973 0.22736 0.000973333 0.234933 +0.25576 0.263333 0.265227 0.270907 0.274693 0.26712 0.25576 0.25576 +0.25576 0.257653 0.25576 0.251973 0.242507 0.25008 0.246293 0.236827 +0.22736 0.22736 0.22736 0.216 0.225467 0.23304 0.225467 0.219787 +0.229253 0.22168 0.216 0.22168 0.217893 0.000966667 0.216 0.217893 +0.00096 0.000966667 0.000973333 0.00092 0.000893333 0.000906667 0.000926667 0.000933333 +0.000926667 0.00094 0.000906667 0.000926667 0.000933333 0.0009 0.000933333 0.000973333 +0.000973333 0.000953333 0.000953333 0.000953333 0.000946667 0.000953333 0.000933333 0.000946667 +0.000966667 0.000973333 0.000946667 0.000953333 0.000953333 0.216 0.217893 0.000993333 +0.000966667 0.00094 0.00098 0.216 0.216 0.00098 0.219787 0.22168 +0.22168 0.225467 0.22168 0.216 0.000986667 0.000993333 0.22736 0.229253 +0.217893 0.223573 0.223573 0.217893 0.22168 0.22168 0.225467 0.234933 +0.242507 0.242507 0.246293 0.251973 0.265227 0.263333 0.259547 0.269013 +0.276587 0.280373 0.280373 0.29552 0.316347 0.327707 0.354213 0.390187 +0.458347 0.522737 0.570105 0.628842 0.694526 0.756421 0.814526 0.861895 +0.897895 0.936421 0.975579 0.997959 1.01037 1.01331 1.00547 0.985551 +0.925053 0.841053 0.752 0.66421 0.584 0.521474 0.429947 0.365573 +0.331493 0.291733 0.27848 0.276587 0.270907 0.263333 0.26712 0.259547 +0.248187 0.248187 0.246293 0.265227 0.265227 0.265227 0.269013 0.269013 +0.280373 0.286053 0.282267 0.276587 0.286053 0.297413 0.297413 0.310667 +0.3296 0.348533 0.395867 0.505053 0.590947 0.728632 0.902316 1.01722 +1.03714 0.981306 0.776632 0.592211 0.000833333 0.000853333 0.00086 0.00086 +0.000853333 0.0009 0.22168 0.274693 0.384507 0.543579 0.68 0.842316 +0.98751 1.03551 1.03094 0.968632 0.803158 0.641474 0.528421 0.416693 +0.344747 0.308773 0.299307 0.297413 0.282267 0.269013 0.26712 0.26144 +0.257653 0.25576 0.251973 0.251973 0.25008 0.2444 0.240613 0.240613 +0.234933 0.236827 0.231147 0.23304 0.231147 0.234933 0.242507 0.248187 +0.25008 0.253867 0.263333 0.269013 0.274693 0.291733 0.320133 0.38072 +0.484853 0.536 0.584632 0.651579 0.744421 0.845474 0.926316 0.986531 +1.01788 1.04204 1.05118 1.04269 1.01788 0.984898 0.911158 0.824 +0.738737 0.66421 0.605474 0.563158 0.533474 0.507579 0.46024 0.416693 +0.373147 0.33528 0.316347 0.297413 0.28416 0.28416 0.282267 0.2728 +0.265227 0.251973 0.248187 0.240613 0.23304 0.229253 0.22736 0.225467 +0.225467 0.225467 0.22736 0.229253 0.229253 0.229253 0.225467 0.219787 +0.000993333 0.000986667 0.000986667 0.000973333 0.000966667 0.000973333 0.000966667 0.000966667 +0.000973333 0.000953333 0.000953333 0.000973333 0.000993333 0.000986667 0.000973333 0.000946667 +0.00094 0.000926667 0.000913333 0.000906667 0.00092 0.000913333 0.000926667 0.000913333 +0.000913333 0.000926667 0.00092 0.000913333 0.000913333 0.00092 0.000926667 0.000926667 +0.000913333 0.000933333 0.000926667 0.000913333 0.000933333 0.000933333 0.000926667 0.000913333 +0.00092 0.000933333 0.00092 0.000913333 0.000893333 0.00094 0.000966667 0.000946667 +0.000913333 0.000933333 0.000926667 0.000893333 0.000893333 0.000873333 0.000906667 0.000913333 +0.0009 0.000906667 0.000893333 0.000893333 0.000893333 0.000926667 0.000946667 0.000946667 +0.000966667 0.000946667 0.000946667 0.00098 0.000993333 0.216 0.216 0.216 +0.225467 0.23304 0.229253 0.225467 0.231147 0.242507 0.240613 0.22736 +0.240613 0.253867 0.251973 0.251973 0.26712 0.286053 0.287947 0.293627 +0.304987 0.31824 0.344747 0.416693 0.508211 0.56 0.62 0.679368 +0.736211 0.784211 0.820211 0.842947 0.859368 0.866947 0.864421 0.851158 +0.834737 0.822105 0.808211 0.797474 0.781053 0.761474 0.752632 0.743789 +0.730526 0.723579 0.720421 0.714105 0.703368 0.700211 0.698316 0.697684 +0.698947 0.700842 0.700842 0.699579 0.693263 0.687579 0.681895 0.681263 +0.686316 0.688842 0.688842 0.693895 0.692 0.687579 0.684421 0.684421 +0.680632 0.681263 0.68 0.676842 0.68 0.683158 0.683158 0.685053 +0.686316 0.688842 0.690105 0.687579 0.688842 0.691368 0.690105 0.688211 +0.690737 0.693263 0.690737 0.681263 0.68 0.68 0.667368 0.654105 +0.635158 0.605474 0.560632 0.513895 0.390187 0.291733 0.263333 0.348533 +0.526526 0.606737 0.678737 0.757053 0.673684 0.490533 0.293627 0.257653 +0.265227 0.3296 0.48296 0.589053 0.676211 0.697053 0.645895 0.573263 +0.531579 0.527789 0.571368 0.708421 0.848632 0.863789 0.837263 0.829053 +0.806316 0.772842 0.748842 0.726105 0.721053 0.723579 0.731158 0.745684 +0.761474 0.779789 0.796211 0.815158 0.829053 0.830316 0.831579 0.835368 +0.837263 0.839158 0.841684 0.841053 0.844211 0.849895 0.851789 0.851158 +0.852421 0.851789 0.842947 0.830316 0.814526 0.791158 0.764632 0.733053 +0.698316 0.665474 0.630737 0.592211 0.561895 0.538526 0.514526 0.496213 +0.4432 0.382613 0.344747 0.33528 0.316347 0.293627 0.286053 0.274693 +0.246293 0.219787 0.00094 0.00094 0.219787 0.236827 0.23872 0.26144 +0.270907 0.269013 0.269013 0.269013 0.270907 0.26712 0.263333 0.269013 +0.2728 0.259547 0.25576 0.25576 0.240613 0.23872 0.242507 0.240613 +0.236827 0.240613 0.240613 0.229253 0.231147 0.23304 0.229253 0.229253 +0.234933 0.23304 0.229253 0.223573 0.216 0.00096 0.00098 0.00098 +0.000946667 0.000973333 0.00098 0.000946667 0.000933333 0.00094 0.000966667 0.000953333 +0.00094 0.000966667 0.00094 0.000933333 0.000933333 0.000913333 0.000926667 0.000966667 +0.00096 0.000966667 0.00098 0.000946667 0.00098 0.000966667 0.000926667 0.000946667 +0.217893 0.223573 0.000966667 0.00096 0.000966667 0.217893 0.216 0.000993333 +0.000993333 0.00098 0.000986667 0.00098 0.00098 0.00096 0.219787 0.000993333 +0.000973333 0.219787 0.22736 0.22736 0.223573 0.219787 0.229253 0.23872 +0.240613 0.23872 0.229253 0.236827 0.236827 0.23872 0.2444 0.242507 +0.2444 0.253867 0.253867 0.26144 0.27848 0.280373 0.27848 0.297413 +0.308773 0.314453 0.322027 0.354213 0.40912 0.475387 0.524632 0.568842 +0.628211 0.695789 0.761474 0.818947 0.866947 0.906105 0.945895 0.983918 +1.00155 1.01461 1.01951 1.012 0.986204 0.912421 0.827789 0.746316 +0.662947 0.589053 0.533474 0.4716 0.378827 0.331493 0.299307 0.28416 +0.27848 0.270907 0.26712 0.265227 0.259547 0.26144 0.259547 0.25008 +0.240613 0.25576 0.248187 0.248187 0.26144 0.259547 0.257653 0.26144 +0.270907 0.27848 0.282267 0.28984 0.297413 0.297413 0.304987 0.320133 +0.34664 0.395867 0.508842 0.590947 0.727368 0.906737 1.01755 1.04106 +0.997633 0.836 0.637684 0.504421 0.0008 0.0008 0.0008 0.000806667 +0.000833333 0.000866667 0.000926667 0.229253 0.276587 0.38072 0.541053 0.671789 +0.829684 0.983265 1.03714 1.03682 0.973053 0.795579 0.632 0.524632 +0.411013 0.34096 0.31824 0.304987 0.286053 0.276587 0.263333 0.257653 +0.25576 0.25576 0.251973 0.25008 0.25576 0.25008 0.246293 0.2444 +0.236827 0.229253 0.22736 0.231147 0.240613 0.246293 0.2444 0.248187 +0.251973 0.253867 0.25576 0.26144 0.259547 0.257653 0.263333 0.280373 +0.30688 0.337173 0.38072 0.46592 0.538526 0.602947 0.662316 0.720421 +0.802526 0.906105 0.990776 1.02473 1.04367 1.05118 1.04367 1.02114 +0.986204 0.911158 0.827789 0.748211 0.677474 0.617474 0.572 0.537895 +0.510105 0.46592 0.422373 0.378827 0.342853 0.322027 0.30688 0.291733 +0.27848 0.265227 0.26144 0.25576 0.253867 0.25576 0.253867 0.25008 +0.248187 0.246293 0.2444 0.240613 0.234933 0.22736 0.225467 0.22736 +0.22736 0.223573 0.000986667 0.00096 0.000966667 0.000993333 0.00098 0.00096 +0.00096 0.00096 0.000986667 0.000993333 0.000966667 0.000953333 0.00096 0.000933333 +0.00092 0.000933333 0.000946667 0.000953333 0.000953333 0.000946667 0.00096 0.00094 +0.000946667 0.000966667 0.00096 0.000953333 0.000933333 0.00094 0.00096 0.00094 +0.00092 0.000913333 0.00092 0.000946667 0.000953333 0.000906667 0.000886667 0.0009 +0.000893333 0.000926667 0.000906667 0.000893333 0.000913333 0.000913333 0.00092 0.000913333 +0.000893333 0.000933333 0.000973333 0.000933333 0.000906667 0.0009 0.000893333 0.0009 +0.000906667 0.000906667 0.000926667 0.000966667 0.000953333 0.000933333 0.000933333 0.00092 +0.00094 0.00096 0.00098 0.217893 0.219787 0.216 0.000966667 0.00098 +0.00098 0.000993333 0.225467 0.22168 0.216 0.216 0.216 0.000973333 +0.217893 0.23304 0.23304 0.229253 0.242507 0.253867 0.259547 0.259547 +0.253867 0.257653 0.259547 0.248187 0.240613 0.257653 0.27848 0.33528 +0.4432 0.518316 0.56 0.614947 0.664842 0.707789 0.746947 0.777895 +0.802526 0.822737 0.839789 0.856842 0.854947 0.855579 0.860632 0.858105 +0.848 0.836632 0.828421 0.817684 0.801895 0.792421 0.788632 0.781053 +0.770947 0.760842 0.758316 0.755158 0.748211 0.743158 0.734316 0.730526 +0.733053 0.734316 0.729895 0.732421 0.731158 0.725474 0.719789 0.720421 +0.715368 0.714105 0.709053 0.707158 0.710316 0.713474 0.714105 0.709684 +0.706526 0.712211 0.716632 0.712842 0.710947 0.709684 0.706526 0.705263 +0.707789 0.710947 0.707158 0.704 0.701474 0.695789 0.685684 0.673053 +0.652211 0.617474 0.577053 0.545474 0.515158 0.4716 0.407227 0.390187 +0.508211 0.595368 0.681263 0.759579 0.726105 0.584 0.48296 0.433733 +0.510737 0.580842 0.668 0.719789 0.678105 0.582105 0.498107 0.358 +0.327707 0.34664 0.40912 0.592842 0.745053 0.738105 0.712842 0.775368 +0.831579 0.851789 0.848632 0.841053 0.846737 0.849263 0.852421 0.852421 +0.844211 0.837263 0.827789 0.820842 0.818316 0.811368 0.805053 0.8 +0.793053 0.786105 0.775368 0.760211 0.745053 0.734947 0.722316 0.702737 +0.685053 0.667368 0.642737 0.616211 0.590947 0.561263 0.537263 0.515789 +0.475387 0.422373 0.390187 0.354213 0.331493 0.322027 0.322027 0.327707 +0.310667 0.282267 0.276587 0.28416 0.270907 0.242507 0.219787 0.217893 +0.000973333 0.000926667 0.00092 0.223573 0.25576 0.265227 0.263333 0.270907 +0.27848 0.274693 0.276587 0.269013 0.26144 0.257653 0.259547 0.26144 +0.259547 0.251973 0.251973 0.253867 0.248187 0.2444 0.2444 0.246293 +0.251973 0.25008 0.248187 0.240613 0.23872 0.236827 0.225467 0.217893 +0.000986667 0.219787 0.22736 0.216 0.00098 0.000966667 0.000973333 0.00098 +0.000966667 0.00096 0.00098 0.00098 0.00096 0.000966667 0.000986667 0.000993333 +0.000973333 0.000966667 0.000986667 0.00098 0.000973333 0.00094 0.00096 0.000973333 +0.000966667 0.000986667 0.216 0.000973333 0.219787 0.216 0.000946667 0.000933333 +0.00098 0.223573 0.217893 0.000986667 0.00096 0.217893 0.225467 0.223573 +0.225467 0.22736 0.219787 0.000973333 0.000966667 0.000953333 0.217893 0.225467 +0.217893 0.217893 0.219787 0.22168 0.22168 0.219787 0.22168 0.223573 +0.2444 0.25576 0.242507 0.25008 0.25008 0.248187 0.26144 0.2728 +0.2728 0.276587 0.274693 0.287947 0.3012 0.299307 0.303093 0.331493 +0.36368 0.401547 0.464027 0.522105 0.574526 0.635158 0.702737 0.768421 +0.827789 0.878947 0.921895 0.958526 0.987184 1.00318 1.01527 1.01853 +1.01069 0.990449 0.936421 0.856842 0.757053 0.654105 0.577684 0.524 +0.464027 0.388293 0.342853 0.30688 0.286053 0.276587 0.270907 0.269013 +0.263333 0.269013 0.265227 0.265227 0.265227 0.265227 0.26144 0.26144 +0.246293 0.25576 0.25576 0.251973 0.263333 0.26712 0.26144 0.263333 +0.270907 0.274693 0.282267 0.28416 0.286053 0.299307 0.308773 0.3296 +0.3864 0.501263 0.587789 0.734316 0.909895 1.01788 1.04073 0.999592 +0.86 0.687579 0.537895 0.359893 0.00076 0.000766667 0.00078 0.000813333 +0.00084 0.000866667 0.000893333 0.000946667 0.223573 0.259547 0.359893 0.534737 +0.662947 0.820842 0.980327 1.03616 1.03518 0.966105 0.786737 0.623158 +0.518316 0.405333 0.34096 0.316347 0.303093 0.286053 0.269013 0.26712 +0.269013 0.26712 0.263333 0.257653 0.257653 0.259547 0.253867 0.25008 +0.236827 0.229253 0.23304 0.234933 0.246293 0.246293 0.242507 0.246293 +0.251973 0.25576 0.251973 0.253867 0.253867 0.25576 0.26144 0.265227 +0.269013 0.2728 0.280373 0.303093 0.34096 0.395867 0.452667 0.508842 +0.56 0.641474 0.736842 0.834105 0.925053 0.992735 1.02212 1.04171 +1.05053 1.04367 1.02245 0.990122 0.921895 0.839789 0.758316 0.685684 +0.626947 0.580211 0.542316 0.512632 0.467813 0.4148 0.38072 0.350427 +0.327707 0.31256 0.3012 0.287947 0.28416 0.287947 0.276587 0.259547 +0.253867 0.25576 0.25008 0.2444 0.242507 0.234933 0.236827 0.240613 +0.23304 0.225467 0.216 0.000973333 0.00098 0.219787 0.217893 0.000986667 +0.000986667 0.000986667 0.216 0.217893 0.000993333 0.216 0.000993333 0.000973333 +0.000973333 0.000973333 0.00098 0.000993333 0.000993333 0.000973333 0.00096 0.000966667 +0.000966667 0.00096 0.000973333 0.000973333 0.000946667 0.000966667 0.000953333 0.000913333 +0.000893333 0.0009 0.000946667 0.000966667 0.00096 0.000926667 0.000893333 0.000886667 +0.00092 0.000926667 0.000933333 0.000933333 0.000953333 0.000946667 0.000926667 0.000926667 +0.00094 0.000953333 0.000986667 0.00096 0.000926667 0.000933333 0.00092 0.000946667 +0.00096 0.00096 0.000973333 0.216 0.000993333 0.000933333 0.00094 0.00096 +0.000966667 0.000993333 0.219787 0.219787 0.216 0.000993333 0.216 0.219787 +0.217893 0.000993333 0.229253 0.225467 0.216 0.22168 0.225467 0.229253 +0.225467 0.223573 0.23304 0.240613 0.240613 0.240613 0.25008 0.246293 +0.246293 0.25008 0.253867 0.265227 0.265227 0.25576 0.242507 0.22168 +0.000986667 0.000973333 0.00096 0.25008 0.322027 0.39208 0.481067 0.519579 +0.550526 0.576421 0.607368 0.644 0.669895 0.698947 0.724211 0.743789 +0.768421 0.785474 0.802526 0.815789 0.824 0.833474 0.842316 0.848632 +0.846737 0.841684 0.846105 0.848632 0.849263 0.846105 0.844842 0.842316 +0.841684 0.839789 0.837895 0.838526 0.839789 0.834105 0.829053 0.829053 +0.829053 0.826526 0.821474 0.822105 0.822105 0.820211 0.820211 0.817684 +0.817053 0.821474 0.823368 0.821474 0.817053 0.810737 0.801895 0.802526 +0.805684 0.805053 0.800632 0.797474 0.792421 0.782947 0.770316 0.757053 +0.742526 0.718526 0.689474 0.664842 0.640842 0.617474 0.592842 0.580842 +0.592842 0.630105 0.650316 0.679368 0.74 0.752 0.727368 0.735579 +0.781684 0.831579 0.832842 0.765895 0.668632 0.601684 0.572 0.552421 +0.547368 0.551789 0.584632 0.688842 0.741895 0.636421 0.546737 0.568211 +0.635158 0.697684 0.731789 0.741263 0.743789 0.727368 0.702105 0.680632 +0.645895 0.618105 0.596 0.583368 0.577684 0.571368 0.565053 0.561263 +0.556211 0.551158 0.542947 0.533474 0.520842 0.512 0.508842 0.486747 +0.452667 0.4432 0.401547 0.373147 0.359893 0.337173 0.3296 0.3296 +0.30688 0.293627 0.297413 0.287947 0.286053 0.29552 0.29552 0.28984 +0.276587 0.265227 0.257653 0.246293 0.225467 0.00098 0.000953333 0.22168 +0.242507 0.2444 0.246293 0.251973 0.263333 0.26144 0.26144 0.265227 +0.269013 0.26712 0.270907 0.26144 0.253867 0.251973 0.251973 0.25008 +0.246293 0.25008 0.253867 0.251973 0.25008 0.23872 0.234933 0.23304 +0.23304 0.229253 0.22736 0.22168 0.22168 0.22736 0.225467 0.225467 +0.223573 0.223573 0.229253 0.000993333 0.00098 0.000946667 0.000906667 0.000953333 +0.000993333 0.000946667 0.00096 0.00096 0.00092 0.000933333 0.000973333 0.217893 +0.000993333 0.000973333 0.217893 0.216 0.000993333 0.000973333 0.000973333 0.00092 +0.000926667 0.000973333 0.000966667 0.00098 0.219787 0.000993333 0.217893 0.000993333 +0.00098 0.00098 0.22168 0.217893 0.00096 0.00098 0.216 0.216 +0.22168 0.231147 0.234933 0.219787 0.216 0.219787 0.217893 0.219787 +0.223573 0.225467 0.229253 0.23304 0.234933 0.240613 0.23872 0.229253 +0.242507 0.25008 0.246293 0.25576 0.257653 0.257653 0.265227 0.282267 +0.293627 0.29552 0.304987 0.327707 0.344747 0.361787 0.399653 0.469707 +0.527158 0.575158 0.633263 0.700842 0.775368 0.837263 0.890947 0.935789 +0.973053 0.992735 1.00776 1.01886 1.01951 1.0071 0.982286 0.919368 +0.841684 0.761474 0.680632 0.610526 0.542947 0.464027 0.371253 0.32392 +0.3012 0.28984 0.28984 0.26712 0.263333 0.259547 0.253867 0.257653 +0.257653 0.269013 0.265227 0.263333 0.265227 0.265227 0.257653 0.265227 +0.253867 0.251973 0.257653 0.25576 0.25576 0.25576 0.263333 0.263333 +0.269013 0.270907 0.282267 0.29552 0.304987 0.31824 0.339067 0.384507 +0.506316 0.594737 0.734316 0.912421 1.01951 1.03518 0.991755 0.850526 +0.686947 0.553684 0.401547 0.286053 0.000746667 0.000746667 0.000773333 0.00078 +0.0008 0.00082 0.000846667 0.000873333 0.00092 0.219787 0.259547 0.359893 +0.530316 0.659158 0.815789 0.971158 1.03224 1.03322 0.962316 0.780421 +0.616842 0.515789 0.40344 0.339067 0.310667 0.29552 0.286053 0.280373 +0.274693 0.269013 0.26712 0.257653 0.251973 0.25576 0.248187 0.240613 +0.23872 0.234933 0.236827 0.242507 0.2444 0.23872 0.242507 0.25008 +0.2444 0.248187 0.251973 0.253867 0.257653 0.26144 0.26144 0.26144 +0.26144 0.26144 0.257653 0.253867 0.263333 0.274693 0.286053 0.304987 +0.356107 0.446987 0.530316 0.591579 0.667368 0.748211 0.823368 0.901684 +0.981306 1.01494 1.0378 1.04792 1.04335 1.02473 0.994041 0.933895 +0.853684 0.774105 0.702105 0.640211 0.590316 0.551158 0.523368 0.496213 +0.43752 0.395867 0.359893 0.333387 0.316347 0.304987 0.291733 0.280373 +0.274693 0.2728 0.269013 0.263333 0.259547 0.25008 0.251973 0.251973 +0.242507 0.236827 0.23304 0.23304 0.22736 0.22736 0.234933 0.231147 +0.22736 0.219787 0.217893 0.22168 0.229253 0.231147 0.225467 0.216 +0.00098 0.000986667 0.000993333 0.219787 0.219787 0.217893 0.00098 0.00098 +0.000966667 0.00096 0.00098 0.000993333 0.000973333 0.000973333 0.000953333 0.000946667 +0.00098 0.000973333 0.216 0.00098 0.00096 0.000966667 0.000933333 0.000906667 +0.000926667 0.00096 0.000986667 0.00098 0.000966667 0.000953333 0.000946667 0.000926667 +0.00096 0.000966667 0.000953333 0.000973333 0.000966667 0.000966667 0.000953333 0.00096 +0.00096 0.000953333 0.000986667 0.000993333 0.216 0.00098 0.000986667 0.219787 +0.216 0.217893 0.22168 0.22168 0.216 0.217893 0.225467 0.219787 +0.22168 0.229253 0.236827 0.236827 0.236827 0.246293 0.23872 0.236827 +0.240613 0.234933 0.246293 0.25576 0.257653 0.253867 0.259547 0.265227 +0.270907 0.269013 0.2728 0.282267 0.282267 0.276587 0.26144 0.263333 +0.263333 0.236827 0.23304 0.216 0.00094 0.000993333 0.217893 0.248187 +0.263333 0.293627 0.320133 0.356107 0.395867 0.450773 0.475387 0.506316 +0.522737 0.546105 0.559368 0.578316 0.595368 0.618105 0.637684 0.656632 +0.674316 0.692632 0.712211 0.724842 0.734316 0.74 0.745684 0.756421 +0.763368 0.764632 0.767789 0.773474 0.779158 0.784211 0.789263 0.792421 +0.796211 0.795579 0.794947 0.801895 0.803789 0.803789 0.803789 0.806316 +0.810737 0.816421 0.824 0.827158 0.825895 0.825895 0.820842 0.826526 +0.832842 0.834737 0.832211 0.836632 0.837895 0.841684 0.841684 0.841053 +0.841684 0.832842 0.821474 0.803158 0.784211 0.760211 0.741263 0.736211 +0.729895 0.724211 0.700211 0.683158 0.753263 0.863158 0.923158 0.947158 +0.949053 0.916842 0.852421 0.792421 0.759579 0.750105 0.748842 0.741263 +0.74 0.743789 0.753263 0.746316 0.650947 0.520211 0.358 0.32392 +0.38072 0.473493 0.506947 0.506947 0.505684 0.473493 0.422373 0.393973 +0.348533 0.322027 0.31824 0.316347 0.3296 0.31824 0.316347 0.32392 +0.322027 0.325813 0.331493 0.3296 0.31256 0.304987 0.31824 0.30688 +0.287947 0.3012 0.286053 0.270907 0.276587 0.269013 0.257653 0.265227 +0.263333 0.25576 0.248187 0.242507 0.246293 0.257653 0.25008 0.251973 +0.236827 0.231147 0.000973333 0.0009 0.000906667 0.00096 0.22736 0.251973 +0.2728 0.26144 0.2444 0.242507 0.2444 0.251973 0.25576 0.253867 +0.251973 0.25576 0.25008 0.240613 0.248187 0.25008 0.251973 0.248187 +0.242507 0.240613 0.234933 0.236827 0.236827 0.22736 0.23304 0.23872 +0.229253 0.231147 0.229253 0.22168 0.000993333 0.223573 0.223573 0.22168 +0.22168 0.000966667 0.000973333 0.00098 0.000966667 0.00094 0.000886667 0.000926667 +0.000973333 0.000986667 0.216 0.000966667 0.000906667 0.000926667 0.00094 0.00096 +0.000926667 0.000913333 0.000986667 0.000973333 0.000973333 0.22168 0.22168 0.000966667 +0.000953333 0.000973333 0.00096 0.000973333 0.217893 0.00098 0.00098 0.225467 +0.217893 0.000946667 0.000966667 0.217893 0.216 0.000986667 0.216 0.217893 +0.22168 0.223573 0.22736 0.22168 0.223573 0.242507 0.240613 0.22736 +0.229253 0.231147 0.231147 0.23872 0.246293 0.253867 0.253867 0.248187 +0.25576 0.263333 0.26712 0.276587 0.274693 0.274693 0.287947 0.304987 +0.320133 0.327707 0.358 0.412907 0.481067 0.525895 0.573895 0.637684 +0.709684 0.782947 0.845474 0.899789 0.950316 0.982939 0.999265 1.01331 +1.01984 1.0169 1.00645 0.984245 0.916842 0.827158 0.734316 0.652842 +0.584632 0.533474 0.48296 0.401547 0.339067 0.293627 0.276587 0.276587 +0.26712 0.263333 0.27848 0.269013 0.26144 0.257653 0.248187 0.25008 +0.25008 0.251973 0.25008 0.25576 0.25576 0.253867 0.25008 0.25576 +0.257653 0.251973 0.251973 0.25008 0.259547 0.263333 0.276587 0.2728 +0.270907 0.274693 0.282267 0.293627 0.31824 0.342853 0.388293 0.507579 +0.604211 0.752632 0.926316 1.02343 1.03714 0.984898 0.828421 0.672421 +0.546105 0.40344 0.28984 0.242507 0.000726667 0.00072 0.00072 0.000753333 +0.000766667 0.000793333 0.00084 0.000866667 0.00092 0.00096 0.216 0.251973 +0.354213 0.527158 0.647789 0.798737 0.958526 1.03061 1.03322 0.959158 +0.774737 0.615579 0.518947 0.412907 0.348533 0.31824 0.303093 0.287947 +0.282267 0.27848 0.276587 0.270907 0.26144 0.248187 0.240613 0.234933 +0.236827 0.23304 0.23304 0.23872 0.2444 0.246293 0.253867 0.257653 +0.251973 0.25008 0.251973 0.251973 0.253867 0.25576 0.25008 0.25008 +0.253867 0.25576 0.251973 0.246293 0.253867 0.265227 0.26712 0.26712 +0.280373 0.303093 0.34096 0.39208 0.48296 0.530947 0.570737 0.630737 +0.711579 0.800632 0.894737 0.98098 1.01527 1.03878 1.04955 1.04596 +1.028 1.00024 0.951579 0.873263 0.796211 0.724211 0.660421 0.605474 +0.563789 0.530316 0.504421 0.450773 0.399653 0.367467 0.344747 0.325813 +0.31256 0.304987 0.293627 0.282267 0.276587 0.263333 0.259547 0.257653 +0.25008 0.248187 0.25008 0.246293 0.23872 0.23304 0.23872 0.23872 +0.23304 0.23304 0.234933 0.229253 0.229253 0.231147 0.23304 0.22168 +0.216 0.22168 0.217893 0.216 0.216 0.000993333 0.000973333 0.000973333 +0.000986667 0.216 0.217893 0.216 0.000986667 0.00098 0.000953333 0.00096 +0.000973333 0.00096 0.000966667 0.00096 0.00098 0.000973333 0.000946667 0.00094 +0.000966667 0.000993333 0.216 0.00098 0.000966667 0.000953333 0.00094 0.000926667 +0.00096 0.000966667 0.00098 0.217893 0.000973333 0.00096 0.000933333 0.000906667 +0.00096 0.000973333 0.216 0.000993333 0.217893 0.223573 0.219787 0.223573 +0.22168 0.219787 0.217893 0.000986667 0.000973333 0.000966667 0.219787 0.22168 +0.22168 0.240613 0.240613 0.23872 0.248187 0.248187 0.240613 0.236827 +0.248187 0.253867 0.25576 0.253867 0.253867 0.259547 0.263333 0.263333 +0.26712 0.263333 0.269013 0.27848 0.28416 0.2728 0.26144 0.269013 +0.27848 0.282267 0.2728 0.269013 0.248187 0.225467 0.000993333 0.000953333 +0.217893 0.000973333 0.231147 0.23872 0.263333 0.282267 0.287947 0.282267 +0.286053 0.304987 0.327707 0.33528 0.354213 0.373147 0.390187 0.401547 +0.428053 0.456453 0.486747 0.500632 0.507579 0.514526 0.518316 0.527789 +0.533474 0.532842 0.538526 0.547368 0.550526 0.554316 0.56 0.561895 +0.559368 0.556842 0.56 0.566947 0.569474 0.573895 0.574526 0.576421 +0.580211 0.584632 0.592211 0.596 0.594737 0.600421 0.604842 0.610526 +0.617474 0.620632 0.622526 0.628842 0.630105 0.637684 0.648421 0.669895 +0.694526 0.716632 0.744421 0.774737 0.805053 0.817684 0.827158 0.835368 +0.826526 0.812 0.782947 0.750737 0.752 0.778526 0.781053 0.758947 +0.720421 0.666737 0.623789 0.604211 0.601053 0.604842 0.62 0.633895 +0.650947 0.654737 0.632632 0.571368 0.44888 0.30688 0.276587 0.25576 +0.26144 0.28984 0.297413 0.287947 0.299307 0.28416 0.269013 0.263333 +0.229253 0.219787 0.22736 0.23872 0.257653 0.251973 0.253867 0.253867 +0.253867 0.253867 0.265227 0.259547 0.246293 0.242507 0.253867 0.253867 +0.236827 0.259547 0.26144 0.236827 0.246293 0.240613 0.22168 0.234933 +0.2444 0.234933 0.229253 0.234933 0.22168 0.000993333 0.000946667 0.000933333 +0.00088 0.00088 0.000886667 0.000886667 0.217893 0.234933 0.242507 0.251973 +0.257653 0.2444 0.236827 0.240613 0.248187 0.253867 0.2444 0.2444 +0.2444 0.231147 0.22168 0.22168 0.236827 0.23872 0.240613 0.240613 +0.240613 0.236827 0.225467 0.23304 0.240613 0.225467 0.225467 0.23304 +0.231147 0.231147 0.22736 0.223573 0.000993333 0.216 0.216 0.00098 +0.00098 0.000926667 0.000933333 0.000986667 0.000986667 0.000966667 0.000913333 0.000893333 +0.0009 0.000913333 0.000946667 0.000933333 0.00088 0.00092 0.00098 0.000973333 +0.0009 0.000906667 0.00096 0.000933333 0.00094 0.00098 0.000986667 0.000986667 +0.000993333 0.000986667 0.000953333 0.00098 0.000993333 0.000953333 0.000953333 0.000986667 +0.22168 0.000986667 0.00098 0.223573 0.22168 0.000993333 0.217893 0.217893 +0.229253 0.23304 0.23304 0.22736 0.219787 0.23872 0.2444 0.242507 +0.2444 0.251973 0.25008 0.246293 0.25576 0.26144 0.265227 0.270907 +0.274693 0.276587 0.286053 0.299307 0.303093 0.31256 0.337173 0.367467 +0.407227 0.4716 0.524632 0.578316 0.641474 0.715368 0.789263 0.859368 +0.919368 0.966105 0.991102 1.0058 1.0169 1.02049 1.0182 1.0058 +0.974316 0.900421 0.825895 0.748211 0.658526 0.578316 0.519579 0.4432 +0.36368 0.32392 0.3012 0.27848 0.269013 0.246293 0.248187 0.259547 +0.259547 0.253867 0.257653 0.26144 0.257653 0.248187 0.2444 0.2444 +0.2444 0.234933 0.234933 0.246293 0.25008 0.248187 0.248187 0.248187 +0.253867 0.251973 0.236827 0.23872 0.265227 0.26144 0.26712 0.280373 +0.286053 0.293627 0.303093 0.314453 0.337173 0.395867 0.508211 0.604211 +0.764 0.938316 1.02376 1.03322 0.981959 0.821474 0.661053 0.540421 +0.401547 0.297413 0.246293 0.00096 0.000753333 0.000746667 0.000733333 0.000726667 +0.00074 0.000786667 0.000806667 0.000833333 0.000873333 0.000886667 0.0009 0.000973333 +0.246293 0.337173 0.520211 0.641474 0.791789 0.952211 1.02735 1.03094 +0.957263 0.774737 0.618737 0.525263 0.428053 0.35232 0.322027 0.303093 +0.28984 0.287947 0.282267 0.274693 0.26144 0.2444 0.23304 0.234933 +0.231147 0.234933 0.23304 0.240613 0.25008 0.251973 0.251973 0.25008 +0.2444 0.240613 0.246293 0.251973 0.253867 0.25008 0.246293 0.251973 +0.25576 0.253867 0.253867 0.259547 0.26144 0.259547 0.265227 0.265227 +0.276587 0.27848 0.274693 0.274693 0.293627 0.325813 0.356107 0.424267 +0.513263 0.563789 0.633895 0.716632 0.807579 0.901684 0.983265 1.01592 +1.03551 1.04433 1.04204 1.02702 1.00384 0.968632 0.897263 0.819579 +0.743158 0.675579 0.621263 0.573895 0.537895 0.512 0.469707 0.422373 +0.382613 0.350427 0.32392 0.304987 0.303093 0.29552 0.28416 0.276587 +0.269013 0.263333 0.263333 0.263333 0.257653 0.251973 0.251973 0.25008 +0.240613 0.23872 0.240613 0.236827 0.229253 0.231147 0.23872 0.225467 +0.223573 0.22736 0.219787 0.219787 0.216 0.00098 0.216 0.223573 +0.231147 0.229253 0.217893 0.000966667 0.00096 0.00098 0.000986667 0.000993333 +0.000986667 0.00098 0.000973333 0.00098 0.000986667 0.000966667 0.000953333 0.000953333 +0.00098 0.000966667 0.000966667 0.00098 0.000973333 0.000973333 0.00098 0.00098 +0.000973333 0.000986667 0.219787 0.000993333 0.00094 0.000926667 0.00094 0.00094 +0.000966667 0.000993333 0.000986667 0.00098 0.000973333 0.217893 0.219787 0.225467 +0.22168 0.000993333 0.00098 0.000966667 0.000973333 0.000966667 0.217893 0.225467 +0.22736 0.23304 0.234933 0.23872 0.242507 0.236827 0.23304 0.23304 +0.231147 0.240613 0.242507 0.246293 0.23872 0.236827 0.242507 0.248187 +0.253867 0.257653 0.265227 0.263333 0.26712 0.26712 0.259547 0.2728 +0.270907 0.270907 0.276587 0.269013 0.274693 0.259547 0.242507 0.242507 +0.216 0.000973333 0.000913333 0.00094 0.00098 0.22168 0.240613 0.242507 +0.251973 0.259547 0.2728 0.27848 0.291733 0.293627 0.28416 0.269013 +0.265227 0.28416 0.28416 0.28984 0.287947 0.293627 0.310667 0.31824 +0.314453 0.31824 0.33528 0.344747 0.344747 0.348533 0.358 0.348533 +0.33528 0.3296 0.35232 0.356107 0.35232 0.365573 0.36936 0.36936 +0.359893 0.359893 0.367467 0.36368 0.361787 0.361787 0.361787 0.365573 +0.367467 0.359893 0.359893 0.36368 0.348533 0.344747 0.34096 0.37504 +0.42048 0.469707 0.513263 0.546737 0.586526 0.62 0.658526 0.683789 +0.682526 0.668632 0.635158 0.595368 0.573263 0.556842 0.531579 0.506947 +0.45456 0.39208 0.34664 0.327707 0.314453 0.316347 0.333387 0.361787 +0.401547 0.412907 0.376933 0.286053 0.223573 0.236827 0.242507 0.236827 +0.248187 0.26144 0.259547 0.248187 0.26144 0.25576 0.251973 0.26144 +0.23872 0.231147 0.223573 0.229253 0.23872 0.23872 0.22736 0.229253 +0.229253 0.23304 0.240613 0.234933 0.225467 0.22736 0.2444 0.242507 +0.22736 0.242507 0.246293 0.22736 0.22736 0.22736 0.000993333 0.000986667 +0.217893 0.219787 0.000993333 0.217893 0.000933333 0.000873333 0.000833333 0.000893333 +0.000906667 0.00094 0.00098 0.216 0.242507 0.248187 0.234933 0.242507 +0.242507 0.2444 0.240613 0.23872 0.248187 0.25008 0.23872 0.246293 +0.25008 0.22736 0.223573 0.225467 0.234933 0.23872 0.240613 0.23872 +0.236827 0.229253 0.217893 0.22168 0.229253 0.219787 0.00096 0.000953333 +0.000986667 0.000986667 0.22168 0.22168 0.000986667 0.216 0.216 0.000986667 +0.000973333 0.00094 0.000926667 0.00096 0.00098 0.000946667 0.000933333 0.00092 +0.00094 0.000933333 0.000913333 0.00092 0.000926667 0.000926667 0.000966667 0.00098 +0.00094 0.000926667 0.000953333 0.000953333 0.000946667 0.00096 0.000946667 0.000966667 +0.000966667 0.000926667 0.00096 0.219787 0.216 0.000993333 0.000993333 0.000993333 +0.217893 0.000993333 0.00098 0.22168 0.231147 0.22736 0.223573 0.229253 +0.236827 0.234933 0.236827 0.234933 0.229253 0.23304 0.234933 0.246293 +0.25008 0.259547 0.269013 0.259547 0.270907 0.27848 0.282267 0.293627 +0.30688 0.31824 0.331493 0.35232 0.371253 0.412907 0.492427 0.535368 +0.587158 0.652842 0.726105 0.801895 0.875789 0.940842 0.984571 1.00253 +1.01527 1.02016 1.01788 1.01037 0.993388 0.952842 0.889684 0.818947 +0.730526 0.643368 0.580211 0.532211 0.464027 0.371253 0.316347 0.3012 +0.27848 0.263333 0.265227 0.26144 0.257653 0.246293 0.242507 0.25008 +0.251973 0.253867 0.25008 0.253867 0.25576 0.25576 0.2444 0.2444 +0.248187 0.2444 0.240613 0.240613 0.248187 0.25576 0.26144 0.25008 +0.246293 0.25576 0.248187 0.23872 0.26144 0.26144 0.25576 0.27848 +0.293627 0.299307 0.31824 0.35232 0.4148 0.515789 0.608 0.764 +0.948421 1.02833 1.02963 0.964842 0.800632 0.647789 0.532842 0.390187 +0.293627 0.242507 0.00098 0.0009 0.000773333 0.00076 0.000733333 0.000733333 +0.000746667 0.00078 0.0008 0.000853333 0.000886667 0.000906667 0.00092 0.000933333 +0.219787 0.257653 0.34664 0.518947 0.633895 0.778526 0.935789 1.02245 +1.02996 0.957263 0.777263 0.622526 0.523368 0.4148 0.344747 0.31256 +0.299307 0.28984 0.280373 0.274693 0.269013 0.257653 0.2444 0.242507 +0.242507 0.23872 0.240613 0.242507 0.25008 0.25008 0.248187 0.2444 +0.242507 0.242507 0.25008 0.25576 0.251973 0.25008 0.25008 0.251973 +0.25576 0.251973 0.251973 0.259547 0.26144 0.26144 0.265227 0.265227 +0.26712 0.265227 0.263333 0.26144 0.26144 0.2728 0.280373 0.287947 +0.308773 0.342853 0.418587 0.513263 0.572632 0.649684 0.732421 0.812 +0.881474 0.950316 0.998612 1.02245 1.03616 1.04139 1.03355 1.01102 +0.980653 0.916211 0.844211 0.770947 0.704 0.646526 0.597263 0.556211 +0.521474 0.486747 0.43184 0.3864 0.359893 0.333387 0.320133 0.316347 +0.299307 0.287947 0.28416 0.27848 0.270907 0.26144 0.259547 0.257653 +0.251973 0.246293 0.25008 0.248187 0.23872 0.23872 0.23872 0.23304 +0.229253 0.229253 0.229253 0.229253 0.22736 0.225467 0.219787 0.217893 +0.22168 0.219787 0.00098 0.00098 0.00098 0.000986667 0.219787 0.217893 +0.216 0.000993333 0.00096 0.00098 0.216 0.216 0.000986667 0.216 +0.000973333 0.00094 0.000953333 0.000986667 0.000986667 0.000973333 0.000973333 0.00098 +0.000973333 0.000986667 0.000986667 0.000953333 0.00096 0.000973333 0.000986667 0.00098 +0.000946667 0.000973333 0.000986667 0.00098 0.00098 0.000986667 0.000993333 0.000993333 +0.216 0.00098 0.00098 0.217893 0.223573 0.223573 0.000986667 0.000993333 +0.223573 0.000986667 0.22168 0.23304 0.23304 0.23304 0.23304 0.23304 +0.22736 0.223573 0.22736 0.234933 0.229253 0.236827 0.248187 0.25008 +0.246293 0.251973 0.26144 0.253867 0.253867 0.253867 0.25576 0.257653 +0.253867 0.265227 0.269013 0.269013 0.270907 0.265227 0.265227 0.269013 +0.26144 0.23872 0.231147 0.00098 0.000933333 0.000913333 0.000926667 0.000966667 +0.217893 0.23872 0.22736 0.236827 0.246293 0.248187 0.246293 0.229253 +0.248187 0.25576 0.26144 0.263333 0.248187 0.257653 0.274693 0.269013 +0.259547 0.270907 0.2728 0.274693 0.274693 0.28984 0.28416 0.2728 +0.265227 0.26712 0.280373 0.28416 0.291733 0.286053 0.28416 0.291733 +0.274693 0.2728 0.280373 0.270907 0.257653 0.248187 0.257653 0.26712 +0.269013 0.25576 0.25576 0.251973 0.2444 0.251973 0.246293 0.263333 +0.274693 0.276587 0.286053 0.314453 0.358 0.382613 0.42616 0.445093 +0.429947 0.407227 0.365573 0.3296 0.339067 0.342853 0.325813 0.316347 +0.308773 0.303093 0.287947 0.2728 0.253867 0.25008 0.25576 0.26144 +0.274693 0.28416 0.26144 0.000993333 0.00098 0.236827 0.2444 0.242507 +0.253867 0.259547 0.259547 0.23872 0.251973 0.248187 0.25008 0.259547 +0.251973 0.2444 0.246293 0.251973 0.25008 0.231147 0.22168 0.219787 +0.219787 0.223573 0.23872 0.240613 0.225467 0.23304 0.248187 0.248187 +0.225467 0.22736 0.234933 0.00098 0.000946667 0.00098 0.000966667 0.00094 +0.00096 0.000966667 0.00088 0.00084 0.000813333 0.000806667 0.000866667 0.000953333 +0.000993333 0.000973333 0.231147 0.234933 0.23304 0.234933 0.22168 0.22736 +0.23872 0.2444 0.240613 0.234933 0.229253 0.234933 0.23304 0.240613 +0.2444 0.23304 0.240613 0.23872 0.231147 0.23304 0.240613 0.246293 +0.23872 0.231147 0.22168 0.00098 0.00098 0.000986667 0.000966667 0.000986667 +0.219787 0.217893 0.229253 0.229253 0.217893 0.000993333 0.000986667 0.000966667 +0.000933333 0.000933333 0.000933333 0.000926667 0.000966667 0.000953333 0.00094 0.00096 +0.000946667 0.000986667 0.00096 0.000966667 0.000993333 0.000946667 0.000946667 0.000973333 +0.000966667 0.00096 0.000953333 0.000966667 0.000973333 0.00098 0.000973333 0.000986667 +0.000966667 0.000946667 0.219787 0.22168 0.216 0.223573 0.225467 0.219787 +0.223573 0.22168 0.225467 0.22736 0.23872 0.246293 0.22736 0.22736 +0.240613 0.23872 0.2444 0.248187 0.248187 0.251973 0.25008 0.25576 +0.269013 0.2728 0.276587 0.282267 0.299307 0.310667 0.325813 0.344747 +0.36368 0.395867 0.4432 0.507579 0.546737 0.59979 0.668632 0.748211 +0.827789 0.904211 0.971158 1.00024 1.01624 1.02571 1.02767 1.02343 +1.01233 0.989469 0.931368 0.858105 0.779158 0.701474 0.628211 0.573263 +0.522737 0.441307 0.37504 0.3296 0.291733 0.280373 0.2728 0.2728 +0.269013 0.257653 0.257653 0.265227 0.257653 0.246293 0.2444 0.242507 +0.240613 0.242507 0.240613 0.251973 0.251973 0.253867 0.242507 0.236827 +0.242507 0.2444 0.242507 0.240613 0.246293 0.23872 0.246293 0.25008 +0.240613 0.246293 0.257653 0.25008 0.25576 0.269013 0.2728 0.28416 +0.3012 0.320133 0.348533 0.40912 0.518947 0.616842 0.769684 0.947158 +1.02767 1.02702 0.949053 0.784211 0.632 0.523368 0.384507 0.286053 +0.23872 0.000973333 0.00088 0.000853333 0.000773333 0.00076 0.000766667 0.000766667 +0.00074 0.00076 0.000793333 0.00082 0.000833333 0.00086 0.000906667 0.000926667 +0.00094 0.00098 0.240613 0.3296 0.512 0.62 0.760842 0.923158 +1.02016 1.02963 0.958526 0.779158 0.623158 0.525263 0.4148 0.348533 +0.3296 0.30688 0.28984 0.280373 0.276587 0.269013 0.25576 0.246293 +0.242507 0.236827 0.240613 0.2444 0.25008 0.253867 0.251973 0.253867 +0.253867 0.251973 0.251973 0.253867 0.2444 0.246293 0.248187 0.248187 +0.251973 0.25008 0.2444 0.25008 0.248187 0.240613 0.240613 0.240613 +0.2444 0.248187 0.251973 0.25008 0.25576 0.26144 0.259547 0.263333 +0.269013 0.27848 0.29552 0.331493 0.3864 0.4716 0.527158 0.570737 +0.616842 0.68 0.765263 0.849895 0.925053 0.988163 1.01592 1.03159 +1.03845 1.03616 1.02114 0.996327 0.950316 0.881474 0.810105 0.738105 +0.673684 0.620632 0.576421 0.537895 0.508842 0.46024 0.407227 0.38072 +0.356107 0.325813 0.310667 0.299307 0.293627 0.28984 0.282267 0.274693 +0.270907 0.265227 0.26144 0.26144 0.25576 0.251973 0.25008 0.2444 +0.234933 0.23304 0.231147 0.22736 0.234933 0.23872 0.22736 0.225467 +0.229253 0.229253 0.225467 0.22168 0.22168 0.22168 0.225467 0.22168 +0.217893 0.216 0.00098 0.000973333 0.000993333 0.000993333 0.00098 0.000953333 +0.00092 0.00094 0.00096 0.00098 0.216 0.000973333 0.000973333 0.000966667 +0.000973333 0.000966667 0.000946667 0.000953333 0.00098 0.000973333 0.000973333 0.00098 +0.000966667 0.000973333 0.000986667 0.000966667 0.000973333 0.000986667 0.00098 0.00098 +0.216 0.22168 0.217893 0.217893 0.223573 0.22168 0.000986667 0.00098 +0.22168 0.217893 0.22736 0.234933 0.22736 0.216 0.216 0.219787 +0.22168 0.225467 0.219787 0.229253 0.23304 0.2444 0.248187 0.240613 +0.23872 0.25008 0.25576 0.253867 0.25008 0.2444 0.23872 0.2444 +0.25008 0.25576 0.263333 0.26712 0.274693 0.274693 0.269013 0.26712 +0.259547 0.257653 0.25576 0.257653 0.231147 0.219787 0.00096 0.000893333 +0.000906667 0.000873333 0.000926667 0.000946667 0.22168 0.225467 0.223573 0.22736 +0.236827 0.246293 0.246293 0.240613 0.225467 0.23872 0.246293 0.2444 +0.240613 0.23872 0.229253 0.225467 0.229253 0.246293 0.242507 0.225467 +0.22168 0.223573 0.23304 0.225467 0.236827 0.229253 0.229253 0.236827 +0.240613 0.257653 0.26144 0.253867 0.2444 0.240613 0.25576 0.265227 +0.265227 0.26144 0.26712 0.257653 0.25008 0.246293 0.2444 0.26712 +0.270907 0.265227 0.26144 0.276587 0.303093 0.299307 0.3012 0.28416 +0.2728 0.2728 0.259547 0.25008 0.26712 0.274693 0.27848 0.286053 +0.274693 0.265227 0.259547 0.251973 0.240613 0.23872 0.248187 0.259547 +0.26712 0.259547 0.240613 0.000993333 0.217893 0.240613 0.248187 0.246293 +0.248187 0.269013 0.2728 0.251973 0.253867 0.251973 0.263333 0.269013 +0.257653 0.246293 0.246293 0.253867 0.259547 0.2444 0.240613 0.240613 +0.23304 0.225467 0.234933 0.242507 0.23304 0.236827 0.2444 0.2444 +0.229253 0.23304 0.234933 0.216 0.000973333 0.216 0.000953333 0.000866667 +0.000873333 0.000906667 0.000846667 0.000853333 0.00092 0.000986667 0.000993333 0.000993333 +0.000993333 0.00096 0.219787 0.225467 0.216 0.229253 0.219787 0.217893 +0.225467 0.23304 0.236827 0.234933 0.22736 0.231147 0.234933 0.236827 +0.240613 0.231147 0.231147 0.229253 0.22736 0.225467 0.229253 0.236827 +0.229253 0.225467 0.22168 0.217893 0.000993333 0.219787 0.22168 0.22736 +0.22736 0.217893 0.216 0.217893 0.000973333 0.000953333 0.000953333 0.00094 +0.000933333 0.00096 0.00094 0.000946667 0.000986667 0.00096 0.000926667 0.000933333 +0.000946667 0.00094 0.000953333 0.000966667 0.00098 0.000946667 0.00094 0.000973333 +0.000966667 0.00096 0.00096 0.000993333 0.22736 0.219787 0.217893 0.216 +0.000966667 0.000946667 0.22168 0.223573 0.216 0.22736 0.234933 0.234933 +0.23304 0.23304 0.229253 0.234933 0.242507 0.25576 0.248187 0.246293 +0.259547 0.259547 0.263333 0.263333 0.269013 0.2728 0.274693 0.280373 +0.297413 0.31824 0.325813 0.34096 0.359893 0.376933 0.416693 0.475387 +0.519579 0.561263 0.618737 0.689474 0.770947 0.856842 0.933895 0.991429 +1.01592 1.03061 1.03878 1.03747 1.02637 1.00776 0.984571 0.929474 +0.849263 0.757053 0.673684 0.608 0.554947 0.513895 0.42616 0.356107 +0.316347 0.28984 0.27848 0.26712 0.257653 0.265227 0.265227 0.26144 +0.26144 0.259547 0.251973 0.257653 0.25576 0.242507 0.242507 0.234933 +0.23872 0.240613 0.236827 0.23872 0.240613 0.248187 0.248187 0.23304 +0.22736 0.23304 0.234933 0.231147 0.246293 0.23872 0.236827 0.251973 +0.2444 0.231147 0.248187 0.263333 0.257653 0.270907 0.286053 0.299307 +0.316347 0.361787 0.428053 0.523368 0.623158 0.780421 0.957895 1.02865 +1.02278 0.934526 0.765895 0.62 0.515158 0.359893 0.2728 0.225467 +0.00092 0.000866667 0.00084 0.000826667 0.000786667 0.000793333 0.000793333 0.000766667 +0.000753333 0.000753333 0.00074 0.000766667 0.000793333 0.00082 0.000873333 0.000906667 +0.000893333 0.000886667 0.000926667 0.223573 0.310667 0.503789 0.611789 0.752632 +0.917474 1.0182 1.02898 0.964842 0.786737 0.628211 0.527158 0.428053 +0.361787 0.331493 0.310667 0.297413 0.28416 0.269013 0.26144 0.251973 +0.23872 0.234933 0.23872 0.248187 0.2444 0.242507 0.240613 0.240613 +0.240613 0.242507 0.242507 0.25008 0.251973 0.248187 0.246293 0.242507 +0.246293 0.248187 0.240613 0.234933 0.23304 0.234933 0.23872 0.23872 +0.240613 0.25008 0.253867 0.253867 0.265227 0.265227 0.26144 0.265227 +0.270907 0.2728 0.27848 0.280373 0.287947 0.303093 0.32392 0.358 +0.40344 0.48864 0.539789 0.595368 0.661053 0.740632 0.824 0.901684 +0.977474 1.01037 1.03061 1.03976 1.03943 1.03029 1.01037 0.981959 +0.920632 0.853684 0.784211 0.717895 0.654105 0.601053 0.556211 0.522737 +0.496213 0.439413 0.395867 0.359893 0.339067 0.327707 0.31824 0.308773 +0.29552 0.282267 0.2728 0.276587 0.276587 0.265227 0.25576 0.25008 +0.246293 0.246293 0.242507 0.23304 0.240613 0.248187 0.240613 0.231147 +0.234933 0.234933 0.231147 0.225467 0.223573 0.223573 0.22168 0.219787 +0.000986667 0.000993333 0.217893 0.000993333 0.217893 0.217893 0.000993333 0.000986667 +0.00098 0.00098 0.00096 0.000973333 0.216 0.216 0.000993333 0.000986667 +0.000973333 0.000953333 0.000946667 0.000973333 0.000986667 0.00096 0.000993333 0.00098 +0.000973333 0.000966667 0.000946667 0.000946667 0.000973333 0.219787 0.000993333 0.00098 +0.216 0.223573 0.217893 0.000986667 0.000986667 0.000993333 0.223573 0.000993333 +0.00098 0.223573 0.229253 0.22736 0.216 0.000946667 0.000973333 0.219787 +0.23304 0.240613 0.22736 0.229253 0.240613 0.2444 0.23872 0.234933 +0.23872 0.2444 0.246293 0.240613 0.2444 0.242507 0.234933 0.242507 +0.251973 0.25576 0.25576 0.26712 0.270907 0.265227 0.2728 0.263333 +0.25008 0.25008 0.25008 0.248187 0.2444 0.242507 0.223573 0.000966667 +0.000913333 0.00084 0.000826667 0.000873333 0.00088 0.0009 0.000926667 0.00094 +0.000973333 0.000986667 0.216 0.00096 0.000946667 0.217893 0.234933 0.22736 +0.000993333 0.000986667 0.00098 0.00098 0.223573 0.240613 0.223573 0.00098 +0.217893 0.236827 0.240613 0.231147 0.229253 0.223573 0.23304 0.23304 +0.23872 0.263333 0.263333 0.25576 0.257653 0.26144 0.26144 0.257653 +0.25576 0.25576 0.26144 0.259547 0.257653 0.251973 0.25008 0.265227 +0.26144 0.257653 0.259547 0.269013 0.269013 0.253867 0.257653 0.26144 +0.265227 0.263333 0.248187 0.236827 0.253867 0.25008 0.251973 0.257653 +0.251973 0.246293 0.242507 0.240613 0.242507 0.2444 0.246293 0.251973 +0.251973 0.242507 0.240613 0.231147 0.22736 0.23872 0.25008 0.25008 +0.251973 0.269013 0.26712 0.246293 0.251973 0.248187 0.248187 0.257653 +0.25576 0.242507 0.23872 0.242507 0.253867 0.25008 0.251973 0.240613 +0.231147 0.231147 0.234933 0.231147 0.223573 0.22736 0.234933 0.234933 +0.22736 0.223573 0.22736 0.22168 0.219787 0.000986667 0.000926667 0.0009 +0.000926667 0.00098 0.000953333 0.000953333 0.225467 0.229253 0.22736 0.22736 +0.23304 0.22736 0.225467 0.000993333 0.000993333 0.231147 0.229253 0.225467 +0.22168 0.219787 0.23304 0.231147 0.225467 0.219787 0.22168 0.219787 +0.229253 0.22736 0.225467 0.23304 0.23304 0.22736 0.22168 0.229253 +0.229253 0.225467 0.216 0.216 0.00098 0.00096 0.000973333 0.000966667 +0.000986667 0.216 0.000966667 0.00098 0.000986667 0.217893 0.00098 0.000933333 +0.000966667 0.000973333 0.000946667 0.000946667 0.00096 0.000946667 0.000906667 0.000933333 +0.000973333 0.000926667 0.00094 0.216 0.217893 0.000966667 0.000946667 0.000946667 +0.000966667 0.000953333 0.000973333 0.216 0.22168 0.223573 0.22736 0.22736 +0.22168 0.217893 0.217893 0.225467 0.229253 0.231147 0.240613 0.234933 +0.231147 0.236827 0.240613 0.248187 0.26144 0.26712 0.2728 0.276587 +0.276587 0.27848 0.280373 0.280373 0.3012 0.31256 0.31824 0.32392 +0.337173 0.36936 0.407227 0.464027 0.509474 0.542316 0.590947 0.652211 +0.726105 0.806947 0.891579 0.968632 1.00645 1.03127 1.04498 1.04727 +1.04041 1.02702 1.0058 0.972421 0.895368 0.812 0.743158 0.676211 +0.601053 0.533474 0.47728 0.405333 0.361787 0.331493 0.28984 0.26712 +0.259547 0.259547 0.259547 0.25008 0.251973 0.269013 0.263333 0.253867 +0.246293 0.2444 0.234933 0.23872 0.2444 0.23872 0.236827 0.22736 +0.23304 0.23872 0.236827 0.231147 0.229253 0.240613 0.251973 0.246293 +0.242507 0.2444 0.251973 0.242507 0.25008 0.253867 0.25576 0.263333 +0.251973 0.240613 0.236827 0.248187 0.26144 0.27848 0.29552 0.314453 +0.348533 0.422373 0.524 0.625053 0.788 0.966105 1.02963 1.01951 +0.923158 0.754526 0.609895 0.508211 0.354213 0.270907 0.22736 0.000953333 +0.00088 0.000833333 0.000833333 0.00084 0.000773333 0.000766667 0.000773333 0.000773333 +0.00078 0.000746667 0.000726667 0.000753333 0.000773333 0.00078 0.00082 0.000866667 +0.0009 0.0009 0.00088 0.000913333 0.231147 0.32392 0.505053 0.604211 +0.740632 0.906105 1.01298 1.02865 0.968 0.789895 0.631368 0.530947 +0.429947 0.36368 0.33528 0.31256 0.287947 0.269013 0.263333 0.25576 +0.242507 0.23304 0.242507 0.246293 0.23872 0.242507 0.246293 0.2444 +0.242507 0.248187 0.248187 0.257653 0.257653 0.2444 0.229253 0.229253 +0.23304 0.23304 0.229253 0.225467 0.23304 0.242507 0.240613 0.240613 +0.25008 0.253867 0.253867 0.25576 0.26144 0.253867 0.253867 0.253867 +0.257653 0.263333 0.265227 0.269013 0.270907 0.274693 0.280373 0.280373 +0.282267 0.3012 0.331493 0.382613 0.464027 0.529684 0.581474 0.642737 +0.719158 0.798105 0.871368 0.942105 0.995347 1.02245 1.03812 1.04302 +1.0378 1.02278 1.00122 0.966737 0.893474 0.823368 0.758316 0.694526 +0.636421 0.588421 0.547368 0.514526 0.475387 0.4148 0.37504 0.358 +0.33528 0.320133 0.30688 0.303093 0.297413 0.282267 0.270907 0.26712 +0.265227 0.26712 0.26712 0.26144 0.25576 0.251973 0.25008 0.23872 +0.236827 0.236827 0.23304 0.231147 0.23304 0.234933 0.223573 0.219787 +0.219787 0.217893 0.225467 0.216 0.000993333 0.223573 0.22168 0.22168 +0.219787 0.217893 0.216 0.217893 0.225467 0.225467 0.217893 0.000986667 +0.000973333 0.00096 0.000986667 0.217893 0.217893 0.217893 0.216 0.00096 +0.000973333 0.000973333 0.000926667 0.000953333 0.216 0.219787 0.219787 0.217893 +0.223573 0.217893 0.000993333 0.00098 0.000953333 0.000993333 0.217893 0.000966667 +0.000953333 0.22736 0.23304 0.223573 0.219787 0.225467 0.223573 0.231147 +0.23304 0.229253 0.22736 0.225467 0.229253 0.23304 0.236827 0.236827 +0.231147 0.23304 0.242507 0.2444 0.240613 0.23872 0.240613 0.240613 +0.236827 0.240613 0.25008 0.251973 0.25008 0.25008 0.2444 0.234933 +0.23872 0.236827 0.23872 0.229253 0.231147 0.242507 0.225467 0.219787 +0.223573 0.000973333 0.000926667 0.000873333 0.000873333 0.00082 0.0008 0.000846667 +0.0009 0.00094 0.000933333 0.000906667 0.00092 0.000966667 0.216 0.000986667 +0.00096 0.00098 0.223573 0.23872 0.240613 0.234933 0.217893 0.219787 +0.23304 0.248187 0.2444 0.240613 0.240613 0.234933 0.240613 0.23304 +0.242507 0.263333 0.257653 0.246293 0.236827 0.246293 0.246293 0.236827 +0.23304 0.240613 0.251973 0.246293 0.2444 0.246293 0.253867 0.265227 +0.26144 0.253867 0.25008 0.253867 0.257653 0.25576 0.253867 0.253867 +0.259547 0.26144 0.246293 0.23872 0.257653 0.248187 0.234933 0.229253 +0.225467 0.231147 0.240613 0.25008 0.25576 0.2444 0.242507 0.240613 +0.234933 0.23304 0.231147 0.219787 0.223573 0.23872 0.25576 0.263333 +0.26144 0.263333 0.25576 0.240613 0.248187 0.25576 0.246293 0.2444 +0.2444 0.231147 0.23304 0.246293 0.251973 0.25576 0.2444 0.236827 +0.229253 0.229253 0.229253 0.223573 0.000986667 0.00098 0.219787 0.216 +0.00098 0.000966667 0.000986667 0.00092 0.000893333 0.00094 0.000966667 0.216 +0.217893 0.23872 0.242507 0.231147 0.234933 0.231147 0.229253 0.242507 +0.25008 0.2444 0.234933 0.229253 0.22736 0.236827 0.23872 0.236827 +0.231147 0.223573 0.234933 0.229253 0.219787 0.217893 0.000993333 0.000993333 +0.217893 0.223573 0.219787 0.231147 0.242507 0.229253 0.22168 0.22736 +0.223573 0.217893 0.216 0.216 0.219787 0.00098 0.000993333 0.000973333 +0.000986667 0.22168 0.219787 0.216 0.00098 0.000986667 0.000973333 0.000926667 +0.000946667 0.000933333 0.000933333 0.000933333 0.00094 0.000973333 0.000953333 0.000966667 +0.000993333 0.000933333 0.00094 0.216 0.217893 0.000993333 0.000953333 0.00096 +0.000973333 0.000973333 0.000993333 0.000993333 0.216 0.217893 0.234933 0.240613 +0.234933 0.236827 0.225467 0.22168 0.23304 0.240613 0.25008 0.251973 +0.253867 0.259547 0.26144 0.259547 0.26144 0.269013 0.28416 0.3012 +0.303093 0.31824 0.320133 0.31824 0.342853 0.36936 0.39776 0.435627 +0.496213 0.527158 0.566316 0.624421 0.690737 0.769053 0.855579 0.938316 +0.996327 1.02539 1.04465 1.05282 1.05053 1.04204 1.02637 1.00122 +0.951579 0.877053 0.793684 0.712842 0.634526 0.566316 0.525263 0.490533 +0.401547 0.325813 0.293627 0.28416 0.282267 0.282267 0.269013 0.26144 +0.248187 0.25008 0.25008 0.246293 0.251973 0.25576 0.251973 0.246293 +0.23872 0.236827 0.234933 0.236827 0.242507 0.242507 0.246293 0.23872 +0.242507 0.246293 0.242507 0.242507 0.234933 0.23872 0.240613 0.2444 +0.23304 0.236827 0.246293 0.23872 0.23872 0.253867 0.259547 0.263333 +0.25008 0.253867 0.25576 0.25576 0.2728 0.299307 0.320133 0.35232 +0.435627 0.532842 0.635789 0.794316 0.971158 1.03029 1.01624 0.908632 +0.738105 0.59979 0.502526 0.342853 0.26712 0.219787 0.000913333 0.000873333 +0.000873333 0.000846667 0.000853333 0.000886667 0.000766667 0.000766667 0.000786667 0.000806667 +0.0008 0.000786667 0.000773333 0.00076 0.000746667 0.000733333 0.000746667 0.000806667 +0.00086 0.00088 0.000866667 0.000886667 0.000906667 0.219787 0.314453 0.5 +0.597263 0.728632 0.891579 1.01037 1.03159 0.976211 0.796842 0.638316 +0.533474 0.429947 0.354213 0.31824 0.293627 0.282267 0.265227 0.26144 +0.25576 0.242507 0.246293 0.2444 0.246293 0.253867 0.25576 0.25008 +0.246293 0.248187 0.2444 0.23872 0.23304 0.225467 0.223573 0.231147 +0.229253 0.22168 0.229253 0.236827 0.242507 0.253867 0.251973 0.246293 +0.2444 0.242507 0.23872 0.242507 0.248187 0.246293 0.246293 0.253867 +0.263333 0.26144 0.265227 0.26712 0.26144 0.25576 0.26144 0.265227 +0.257653 0.26144 0.2728 0.286053 0.297413 0.32392 0.37504 0.4432 +0.515789 0.558105 0.608632 0.676842 0.760842 0.844211 0.918105 0.98098 +1.00841 1.02833 1.03943 1.04171 1.03257 1.01494 0.991755 0.945263 +0.878947 0.808842 0.74 0.676211 0.621895 0.572 0.532211 0.505053 +0.456453 0.411013 0.373147 0.350427 0.339067 0.325813 0.316347 0.30688 +0.3012 0.291733 0.28416 0.274693 0.263333 0.25576 0.259547 0.25008 +0.242507 0.242507 0.240613 0.236827 0.23872 0.246293 0.240613 0.236827 +0.23872 0.22736 0.225467 0.225467 0.217893 0.223573 0.219787 0.22736 +0.225467 0.22168 0.223573 0.22168 0.22168 0.225467 0.217893 0.00098 +0.000973333 0.000966667 0.216 0.217893 0.000993333 0.000993333 0.000993333 0.217893 +0.22168 0.217893 0.000966667 0.217893 0.231147 0.22736 0.219787 0.000986667 +0.000973333 0.000966667 0.000973333 0.00098 0.00096 0.000986667 0.000993333 0.216 +0.00098 0.216 0.229253 0.225467 0.22168 0.22736 0.219787 0.22168 +0.216 0.000973333 0.000986667 0.223573 0.225467 0.231147 0.236827 0.225467 +0.225467 0.234933 0.229253 0.225467 0.225467 0.225467 0.23304 0.229253 +0.225467 0.225467 0.236827 0.240613 0.225467 0.225467 0.217893 0.000993333 +0.229253 0.234933 0.234933 0.234933 0.242507 0.242507 0.229253 0.229253 +0.23304 0.231147 0.229253 0.219787 0.000953333 0.0009 0.000846667 0.00086 +0.000893333 0.00092 0.000893333 0.000866667 0.00092 0.000973333 0.219787 0.00098 +0.216 0.216 0.219787 0.234933 0.242507 0.236827 0.225467 0.22736 +0.225467 0.23304 0.236827 0.236827 0.234933 0.240613 0.236827 0.229253 +0.246293 0.253867 0.246293 0.234933 0.229253 0.240613 0.246293 0.242507 +0.23872 0.242507 0.2444 0.234933 0.225467 0.223573 0.23304 0.246293 +0.2444 0.234933 0.23304 0.248187 0.263333 0.263333 0.257653 0.25576 +0.251973 0.25008 0.2444 0.240613 0.251973 0.2444 0.242507 0.2444 +0.23304 0.236827 0.246293 0.246293 0.2444 0.23872 0.23304 0.234933 +0.240613 0.23304 0.22736 0.000973333 0.000986667 0.236827 0.246293 0.253867 +0.246293 0.240613 0.25008 0.234933 0.242507 0.2444 0.240613 0.242507 +0.240613 0.22736 0.231147 0.240613 0.25008 0.236827 0.234933 0.23304 +0.234933 0.22736 0.22168 0.22168 0.216 0.00098 0.217893 0.216 +0.000926667 0.0009 0.00094 0.000866667 0.00088 0.00098 0.216 0.000973333 +0.216 0.22168 0.240613 0.242507 0.23872 0.23304 0.236827 0.251973 +0.25008 0.246293 0.236827 0.236827 0.234933 0.240613 0.2444 0.23872 +0.231147 0.223573 0.240613 0.248187 0.240613 0.22736 0.22168 0.223573 +0.22168 0.229253 0.229253 0.225467 0.23872 0.22736 0.217893 0.219787 +0.219787 0.219787 0.22168 0.225467 0.23304 0.229253 0.219787 0.217893 +0.000993333 0.217893 0.000993333 0.00098 0.000973333 0.00096 0.000966667 0.000973333 +0.00098 0.000966667 0.000973333 0.00096 0.000953333 0.00098 0.000973333 0.00096 +0.000973333 0.000973333 0.00096 0.216 0.217893 0.219787 0.219787 0.22736 +0.223573 0.22168 0.22736 0.22736 0.223573 0.22168 0.231147 0.240613 +0.23872 0.242507 0.23872 0.236827 0.246293 0.263333 0.270907 0.2728 +0.276587 0.276587 0.282267 0.282267 0.287947 0.299307 0.31256 0.337173 +0.348533 0.373147 0.399653 0.428053 0.49432 0.522737 0.558737 0.609263 +0.673053 0.746316 0.825263 0.907368 0.979368 1.01167 1.0378 1.05249 +1.05804 1.05249 1.03878 1.01494 0.985551 0.925684 0.852421 0.770316 +0.685684 0.613684 0.554947 0.511368 0.441307 0.36368 0.325813 0.310667 +0.286053 0.259547 0.263333 0.265227 0.263333 0.263333 0.26144 0.257653 +0.246293 0.2444 0.242507 0.242507 0.2444 0.246293 0.246293 0.246293 +0.240613 0.23872 0.240613 0.242507 0.246293 0.2444 0.246293 0.246293 +0.236827 0.242507 0.246293 0.234933 0.234933 0.23872 0.236827 0.23304 +0.225467 0.229253 0.236827 0.236827 0.242507 0.246293 0.248187 0.26712 +0.26144 0.263333 0.2728 0.276587 0.293627 0.327707 0.36936 0.450773 +0.542947 0.646526 0.803789 0.976842 1.03127 1.01167 0.894105 0.724842 +0.589684 0.49432 0.333387 0.25576 0.22168 0.000946667 0.000913333 0.000853333 +0.000846667 0.000846667 0.00084 0.00084 0.000786667 0.00078 0.000766667 0.00078 +0.000773333 0.0008 0.0008 0.000766667 0.000753333 0.000746667 0.000713333 0.000746667 +0.00082 0.0009 0.00094 0.00092 0.00088 0.000893333 0.231147 0.32392 +0.492427 0.584632 0.714105 0.878316 1.00416 1.02735 0.973053 0.797474 +0.632 0.525263 0.42048 0.350427 0.31256 0.293627 0.276587 0.269013 +0.259547 0.248187 0.2444 0.246293 0.253867 0.253867 0.251973 0.242507 +0.23872 0.236827 0.234933 0.23872 0.236827 0.23872 0.23872 0.242507 +0.23872 0.231147 0.23872 0.2444 0.242507 0.242507 0.240613 0.236827 +0.231147 0.234933 0.242507 0.2444 0.25008 0.253867 0.25576 0.26144 +0.263333 0.257653 0.251973 0.25008 0.248187 0.246293 0.251973 0.257653 +0.25576 0.257653 0.263333 0.270907 0.265227 0.263333 0.280373 0.29552 +0.314453 0.342853 0.39208 0.48296 0.541684 0.597263 0.656 0.719158 +0.796842 0.870737 0.938316 0.990776 1.01788 1.03584 1.04106 1.0391 +1.02898 1.01037 0.98751 0.937053 0.870737 0.799368 0.729263 0.667368 +0.610526 0.566316 0.529053 0.503158 0.44888 0.40912 0.382613 0.356107 +0.333387 0.320133 0.30688 0.29552 0.287947 0.280373 0.274693 0.269013 +0.26144 0.26712 0.263333 0.253867 0.25008 0.25576 0.248187 0.240613 +0.242507 0.23872 0.240613 0.242507 0.23304 0.23304 0.236827 0.23872 +0.231147 0.223573 0.223573 0.219787 0.219787 0.23304 0.23304 0.22168 +0.217893 0.216 0.000993333 0.000993333 0.000993333 0.217893 0.219787 0.223573 +0.22168 0.223573 0.22736 0.219787 0.216 0.000986667 0.000986667 0.00096 +0.000946667 0.00096 0.00098 0.000993333 0.000993333 0.000966667 0.000966667 0.22168 +0.000986667 0.000966667 0.00096 0.00098 0.000986667 0.000993333 0.000993333 0.000973333 +0.000953333 0.00098 0.217893 0.22168 0.217893 0.219787 0.216 0.216 +0.219787 0.22168 0.000986667 0.216 0.22168 0.22168 0.22736 0.225467 +0.217893 0.22168 0.22736 0.229253 0.219787 0.217893 0.219787 0.22736 +0.231147 0.236827 0.23872 0.240613 0.25008 0.2444 0.225467 0.229253 +0.231147 0.231147 0.236827 0.234933 0.231147 0.22168 0.22168 0.000993333 +0.00094 0.00092 0.00086 0.000853333 0.0009 0.00098 0.000973333 0.000953333 +0.000966667 0.000966667 0.000993333 0.229253 0.23872 0.234933 0.225467 0.219787 +0.225467 0.231147 0.234933 0.23304 0.22168 0.229253 0.231147 0.22736 +0.2444 0.240613 0.22736 0.231147 0.231147 0.242507 0.246293 0.248187 +0.246293 0.2444 0.229253 0.22168 0.217893 0.000973333 0.223573 0.23872 +0.231147 0.22736 0.23304 0.25008 0.263333 0.259547 0.251973 0.248187 +0.240613 0.23872 0.23304 0.23304 0.248187 0.242507 0.23872 0.246293 +0.248187 0.242507 0.242507 0.240613 0.234933 0.229253 0.234933 0.2444 +0.246293 0.229253 0.229253 0.217893 0.217893 0.223573 0.231147 0.23304 +0.23872 0.234933 0.240613 0.231147 0.236827 0.240613 0.223573 0.22736 +0.22736 0.229253 0.22736 0.231147 0.23304 0.22736 0.223573 0.22736 +0.22736 0.22168 0.225467 0.219787 0.217893 0.00094 0.00096 0.000966667 +0.00092 0.000906667 0.00096 0.000966667 0.000993333 0.22168 0.219787 0.00094 +0.000966667 0.000986667 0.22168 0.225467 0.219787 0.223573 0.229253 0.246293 +0.251973 0.25008 0.242507 0.236827 0.23304 0.231147 0.242507 0.23872 +0.236827 0.231147 0.234933 0.242507 0.23872 0.236827 0.229253 0.229253 +0.22736 0.229253 0.22168 0.000986667 0.23304 0.231147 0.217893 0.216 +0.22168 0.223573 0.231147 0.23304 0.229253 0.217893 0.000953333 0.00098 +0.219787 0.225467 0.219787 0.219787 0.223573 0.217893 0.000986667 0.217893 +0.000993333 0.00098 0.000986667 0.00098 0.000953333 0.000986667 0.000993333 0.000986667 +0.217893 0.223573 0.219787 0.216 0.225467 0.223573 0.22736 0.234933 +0.23872 0.23304 0.236827 0.236827 0.23304 0.23304 0.25008 0.253867 +0.257653 0.26144 0.26712 0.270907 0.26712 0.270907 0.27848 0.28984 +0.304987 0.316347 0.333387 0.33528 0.339067 0.365573 0.39208 0.433733 +0.486747 0.518947 0.553053 0.597895 0.666105 0.733053 0.808211 0.891579 +0.967368 1.0058 1.03127 1.0502 1.05771 1.05412 1.04204 1.02049 +0.995347 0.953474 0.882737 0.798737 0.722316 0.658526 0.597263 0.541053 +0.492427 0.40912 0.35232 0.30688 0.286053 0.28416 0.270907 0.26712 +0.265227 0.251973 0.25576 0.259547 0.25576 0.259547 0.259547 0.253867 +0.240613 0.234933 0.2444 0.248187 0.246293 0.25008 0.253867 0.25008 +0.246293 0.2444 0.23872 0.231147 0.23872 0.236827 0.236827 0.2444 +0.236827 0.231147 0.23872 0.229253 0.231147 0.23304 0.236827 0.240613 +0.240613 0.240613 0.248187 0.240613 0.2444 0.242507 0.2444 0.263333 +0.269013 0.26712 0.2728 0.287947 0.308773 0.356107 0.450773 0.546105 +0.662316 0.822737 0.981959 1.02931 1.00841 0.886526 0.715368 0.578947 +0.4716 0.333387 0.263333 0.217893 0.0009 0.000853333 0.000886667 0.000886667 +0.000873333 0.00088 0.000853333 0.000786667 0.000773333 0.00074 0.000746667 0.000766667 +0.000766667 0.0008 0.000813333 0.000813333 0.000813333 0.00078 0.000753333 0.000746667 +0.000773333 0.000826667 0.000866667 0.0009 0.000893333 0.000873333 0.000893333 0.223573 +0.30688 0.464027 0.574526 0.697053 0.857474 0.995673 1.0231 0.968 +0.788 0.625684 0.525895 0.429947 0.348533 0.30688 0.28416 0.270907 +0.263333 0.257653 0.25576 0.25576 0.253867 0.25008 0.25008 0.246293 +0.2444 0.240613 0.242507 0.240613 0.23872 0.240613 0.234933 0.236827 +0.234933 0.234933 0.23872 0.242507 0.2444 0.240613 0.236827 0.240613 +0.2444 0.246293 0.2444 0.246293 0.253867 0.248187 0.25008 0.246293 +0.240613 0.236827 0.242507 0.2444 0.2444 0.251973 0.253867 0.253867 +0.25008 0.253867 0.253867 0.253867 0.251973 0.251973 0.263333 0.265227 +0.26712 0.269013 0.286053 0.31256 0.342853 0.390187 0.452667 0.515158 +0.563789 0.614947 0.673053 0.745053 0.825263 0.904842 0.973684 1.0009 +1.02212 1.03682 1.044 1.04302 1.03159 1.01461 0.987837 0.936421 +0.866316 0.795579 0.726105 0.66421 0.608632 0.563789 0.527158 0.5 +0.435627 0.399653 0.376933 0.356107 0.342853 0.331493 0.31824 0.304987 +0.291733 0.286053 0.282267 0.2728 0.26712 0.269013 0.26712 0.25576 +0.25576 0.259547 0.253867 0.248187 0.25008 0.2444 0.246293 0.242507 +0.240613 0.23872 0.234933 0.231147 0.225467 0.23304 0.23304 0.217893 +0.000993333 0.22168 0.217893 0.223573 0.22168 0.22168 0.217893 0.225467 +0.229253 0.229253 0.231147 0.217893 0.000953333 0.00098 0.000993333 0.00098 +0.00098 0.000973333 0.00096 0.000973333 0.00098 0.00094 0.00096 0.00098 +0.000946667 0.000946667 0.000906667 0.00092 0.000953333 0.000986667 0.216 0.000973333 +0.00094 0.000986667 0.22168 0.000993333 0.000993333 0.000966667 0.00094 0.000973333 +0.22168 0.000993333 0.000986667 0.219787 0.22736 0.225467 0.225467 0.225467 +0.223573 0.22736 0.217893 0.22168 0.236827 0.22736 0.22168 0.23304 +0.234933 0.231147 0.23304 0.2444 0.248187 0.240613 0.229253 0.22736 +0.240613 0.246293 0.240613 0.236827 0.234933 0.231147 0.23872 0.240613 +0.236827 0.223573 0.000973333 0.000926667 0.00092 0.00094 0.000853333 0.00086 +0.000913333 0.000933333 0.217893 0.229253 0.223573 0.219787 0.000986667 0.217893 +0.22168 0.225467 0.229253 0.22736 0.22736 0.229253 0.22168 0.217893 +0.229253 0.22736 0.223573 0.22736 0.229253 0.236827 0.236827 0.22736 +0.231147 0.23304 0.223573 0.22168 0.000986667 0.000966667 0.231147 0.236827 +0.225467 0.229253 0.23872 0.246293 0.253867 0.25008 0.2444 0.234933 +0.22168 0.225467 0.225467 0.22736 0.242507 0.240613 0.234933 0.234933 +0.23872 0.234933 0.231147 0.236827 0.23872 0.242507 0.240613 0.2444 +0.23872 0.22736 0.234933 0.225467 0.223573 0.22736 0.231147 0.234933 +0.23872 0.25008 0.248187 0.23304 0.234933 0.23872 0.219787 0.000993333 +0.000986667 0.000993333 0.223573 0.219787 0.23304 0.234933 0.000993333 0.000993333 +0.22736 0.000993333 0.22168 0.000973333 0.000966667 0.0009 0.000886667 0.000966667 +0.000973333 0.216 0.223573 0.219787 0.000966667 0.000993333 0.219787 0.000993333 +0.216 0.000993333 0.216 0.219787 0.219787 0.223573 0.231147 0.246293 +0.248187 0.2444 0.242507 0.23304 0.225467 0.225467 0.23304 0.234933 +0.229253 0.22736 0.23304 0.242507 0.23304 0.225467 0.23304 0.231147 +0.22736 0.231147 0.229253 0.216 0.231147 0.23872 0.225467 0.216 +0.22168 0.22736 0.23304 0.225467 0.223573 0.219787 0.000966667 0.000993333 +0.229253 0.23304 0.229253 0.231147 0.231147 0.22168 0.22168 0.22736 +0.000993333 0.00098 0.000986667 0.216 0.216 0.217893 0.223573 0.22736 +0.22736 0.22736 0.225467 0.22168 0.234933 0.231147 0.229253 0.240613 +0.2444 0.248187 0.259547 0.263333 0.25008 0.25576 0.26712 0.270907 +0.2728 0.27848 0.287947 0.293627 0.29552 0.303093 0.322027 0.33528 +0.350427 0.37504 0.405333 0.439413 0.48296 0.518947 0.553053 0.596632 +0.651579 0.718526 0.793053 0.871368 0.957263 1.00155 1.02604 1.04596 +1.05837 1.05837 1.04922 1.03127 1.00514 0.966105 0.888421 0.804421 +0.733053 0.677474 0.616842 0.551789 0.509474 0.445093 0.39208 0.342853 +0.303093 0.282267 0.26712 0.25576 0.251973 0.257653 0.25576 0.25008 +0.253867 0.253867 0.253867 0.257653 0.25576 0.253867 0.257653 0.259547 +0.248187 0.23872 0.240613 0.242507 0.2444 0.251973 0.253867 0.246293 +0.240613 0.23872 0.23304 0.23304 0.236827 0.23304 0.23304 0.240613 +0.2444 0.23304 0.23304 0.23304 0.236827 0.234933 0.22736 0.234933 +0.23872 0.23872 0.242507 0.2444 0.240613 0.2444 0.25576 0.26712 +0.269013 0.274693 0.28984 0.316347 0.354213 0.4432 0.543579 0.65979 +0.829684 0.988816 1.02865 0.998612 0.863158 0.700211 0.573895 0.467813 +0.325813 0.25576 0.000986667 0.00092 0.000866667 0.00082 0.000873333 0.000906667 +0.000853333 0.0008 0.00078 0.000733333 0.00078 0.000773333 0.000793333 0.000806667 +0.000806667 0.000806667 0.000826667 0.000826667 0.0008 0.00078 0.000773333 0.00074 +0.000726667 0.00074 0.000793333 0.000866667 0.000913333 0.0009 0.000846667 0.000873333 +0.00098 0.291733 0.452667 0.565684 0.683158 0.842947 0.990122 1.01918 +0.964842 0.785474 0.621263 0.522105 0.42048 0.339067 0.3012 0.28984 +0.282267 0.276587 0.276587 0.269013 0.257653 0.25576 0.25008 0.248187 +0.2444 0.236827 0.236827 0.234933 0.23872 0.23872 0.236827 0.240613 +0.240613 0.23872 0.23872 0.234933 0.236827 0.236827 0.234933 0.23872 +0.242507 0.240613 0.240613 0.23872 0.240613 0.242507 0.242507 0.23872 +0.23872 0.23872 0.242507 0.248187 0.25008 0.25008 0.251973 0.251973 +0.246293 0.253867 0.248187 0.248187 0.248187 0.25008 0.253867 0.263333 +0.265227 0.257653 0.25576 0.26712 0.26144 0.269013 0.293627 0.314453 +0.344747 0.39776 0.475387 0.527158 0.582105 0.647789 0.711579 0.774105 +0.846105 0.926316 0.985551 1.012 1.03094 1.04433 1.04988 1.04531 +1.03453 1.01331 0.98849 0.934526 0.870105 0.797474 0.727368 0.66421 +0.609263 0.563789 0.529053 0.504421 0.452667 0.407227 0.3864 0.367467 +0.34664 0.33528 0.331493 0.325813 0.304987 0.297413 0.28984 0.276587 +0.269013 0.274693 0.26712 0.259547 0.26144 0.25576 0.257653 0.251973 +0.248187 0.2444 0.242507 0.2444 0.236827 0.229253 0.231147 0.229253 +0.22168 0.229253 0.23304 0.231147 0.223573 0.216 0.22168 0.229253 +0.234933 0.22736 0.223573 0.223573 0.00096 0.000953333 0.000966667 0.000986667 +0.000986667 0.000986667 0.000993333 0.00096 0.000933333 0.000933333 0.00096 0.000966667 +0.00096 0.00096 0.00094 0.000946667 0.000966667 0.217893 0.000986667 0.000953333 +0.000953333 0.000993333 0.219787 0.216 0.000993333 0.000966667 0.000933333 0.000966667 +0.217893 0.00098 0.000993333 0.225467 0.22168 0.219787 0.223573 0.223573 +0.231147 0.234933 0.225467 0.229253 0.23872 0.22736 0.22168 0.229253 +0.236827 0.236827 0.223573 0.225467 0.229253 0.22168 0.22736 0.240613 +0.246293 0.25576 0.2444 0.23872 0.229253 0.22736 0.246293 0.257653 +0.257653 0.242507 0.231147 0.219787 0.000993333 0.000966667 0.00086 0.00088 +0.000873333 0.0009 0.000953333 0.000973333 0.00098 0.000966667 0.000953333 0.000966667 +0.00096 0.000946667 0.000986667 0.000993333 0.225467 0.22736 0.225467 0.217893 +0.225467 0.234933 0.23304 0.223573 0.22168 0.231147 0.229253 0.219787 +0.23304 0.23304 0.223573 0.225467 0.000993333 0.000993333 0.236827 0.23872 +0.225467 0.225467 0.22736 0.231147 0.242507 0.2444 0.23872 0.234933 +0.23304 0.234933 0.22736 0.225467 0.236827 0.234933 0.23304 0.236827 +0.234933 0.225467 0.223573 0.23304 0.236827 0.23872 0.231147 0.236827 +0.240613 0.234933 0.234933 0.223573 0.22736 0.231147 0.23304 0.234933 +0.240613 0.246293 0.251973 0.240613 0.2444 0.23872 0.000993333 0.000993333 +0.00098 0.000966667 0.000966667 0.00098 0.217893 0.225467 0.000993333 0.00098 +0.00098 0.000953333 0.00094 0.000913333 0.000926667 0.000933333 0.000986667 0.216 +0.000986667 0.00098 0.22736 0.229253 0.000973333 0.000993333 0.22736 0.22168 +0.216 0.000993333 0.000986667 0.223573 0.225467 0.223573 0.225467 0.231147 +0.23872 0.23872 0.23872 0.22736 0.225467 0.236827 0.236827 0.234933 +0.219787 0.223573 0.231147 0.242507 0.240613 0.22736 0.23304 0.236827 +0.234933 0.22736 0.231147 0.223573 0.217893 0.22168 0.22168 0.22168 +0.231147 0.242507 0.234933 0.229253 0.236827 0.234933 0.225467 0.217893 +0.223573 0.22736 0.22168 0.22736 0.234933 0.231147 0.234933 0.2444 +0.231147 0.219787 0.22168 0.217893 0.223573 0.231147 0.229253 0.234933 +0.234933 0.23872 0.236827 0.240613 0.25576 0.251973 0.246293 0.25576 +0.265227 0.27848 0.28984 0.28984 0.274693 0.280373 0.291733 0.299307 +0.304987 0.310667 0.322027 0.342853 0.359893 0.378827 0.412907 0.439413 +0.481067 0.520842 0.554316 0.599158 0.652842 0.716632 0.789895 0.864421 +0.938316 0.992735 1.02016 1.04171 1.05478 1.05673 1.0502 1.03878 +1.02016 0.991102 0.928842 0.847368 0.760211 0.68 0.605474 0.542316 +0.505053 0.46592 0.407227 0.342853 0.310667 0.293627 0.28984 0.282267 +0.26712 0.25576 0.251973 0.251973 0.246293 0.248187 0.26144 0.26144 +0.25008 0.246293 0.251973 0.257653 0.253867 0.251973 0.253867 0.246293 +0.25008 0.248187 0.234933 0.22736 0.236827 0.242507 0.23872 0.2444 +0.242507 0.23872 0.23304 0.231147 0.236827 0.236827 0.23872 0.234933 +0.236827 0.23304 0.229253 0.23304 0.242507 0.240613 0.22736 0.22736 +0.231147 0.23872 0.242507 0.242507 0.25008 0.257653 0.26144 0.26712 +0.280373 0.29552 0.31824 0.358 0.4432 0.544842 0.660421 0.829053 +0.987837 1.02898 0.994367 0.845474 0.683158 0.562526 0.450773 0.316347 +0.2444 0.000953333 0.000873333 0.000853333 0.000866667 0.000846667 0.00086 0.00088 +0.00086 0.000793333 0.000733333 0.000726667 0.0008 0.000793333 0.000786667 0.000806667 +0.0008 0.000786667 0.0008 0.000806667 0.000806667 0.0008 0.000806667 0.000773333 +0.000726667 0.00074 0.000773333 0.00082 0.000886667 0.000906667 0.000886667 0.000866667 +0.000853333 0.00098 0.293627 0.43752 0.555579 0.669895 0.827158 0.984245 +1.0169 0.959789 0.784211 0.628211 0.534105 0.4432 0.354213 0.314453 +0.297413 0.28984 0.276587 0.270907 0.26712 0.253867 0.242507 0.242507 +0.248187 0.2444 0.246293 0.25008 0.25008 0.2444 0.23872 0.234933 +0.231147 0.231147 0.23304 0.229253 0.23304 0.2444 0.240613 0.236827 +0.240613 0.23872 0.23872 0.240613 0.23872 0.242507 0.240613 0.23872 +0.242507 0.242507 0.23872 0.234933 0.236827 0.240613 0.25008 0.248187 +0.242507 0.246293 0.246293 0.2444 0.2444 0.2444 0.253867 0.259547 +0.257653 0.251973 0.253867 0.253867 0.251973 0.251973 0.253867 0.257653 +0.257653 0.269013 0.29552 0.31824 0.371253 0.456453 0.510737 0.546737 +0.601053 0.666105 0.741263 0.805684 0.867579 0.928842 0.985224 1.012 +1.03322 1.04465 1.0502 1.04563 1.03486 1.01527 0.991429 0.940842 +0.877684 0.803158 0.738105 0.678737 0.621895 0.575158 0.542316 0.516421 +0.486747 0.435627 0.407227 0.3864 0.359893 0.339067 0.322027 0.304987 +0.29552 0.29552 0.291733 0.282267 0.2728 0.270907 0.274693 0.270907 +0.263333 0.257653 0.253867 0.25576 0.246293 0.236827 0.240613 0.246293 +0.23872 0.229253 0.22736 0.225467 0.223573 0.22168 0.23304 0.236827 +0.234933 0.22736 0.22168 0.22168 0.000986667 0.00096 0.00096 0.217893 +0.216 0.00098 0.00098 0.000946667 0.000926667 0.000966667 0.000993333 0.000986667 +0.22168 0.219787 0.00098 0.00098 0.000966667 0.000986667 0.00098 0.00096 +0.000993333 0.225467 0.219787 0.22168 0.216 0.219787 0.223573 0.219787 +0.000993333 0.217893 0.219787 0.219787 0.216 0.223573 0.23304 0.22736 +0.22736 0.234933 0.229253 0.223573 0.229253 0.229253 0.229253 0.229253 +0.231147 0.23304 0.225467 0.000986667 0.216 0.22168 0.236827 0.251973 +0.251973 0.2444 0.234933 0.236827 0.229253 0.234933 0.242507 0.251973 +0.248187 0.236827 0.234933 0.23304 0.248187 0.23304 0.216 0.217893 +0.00092 0.00092 0.000913333 0.0009 0.000906667 0.00092 0.00092 0.00096 +0.000953333 0.00096 0.216 0.000993333 0.000993333 0.22168 0.225467 0.219787 +0.22168 0.225467 0.22736 0.217893 0.000986667 0.22736 0.229253 0.217893 +0.234933 0.231147 0.217893 0.22168 0.217893 0.223573 0.242507 0.242507 +0.229253 0.22736 0.225467 0.231147 0.240613 0.240613 0.23872 0.231147 +0.23304 0.236827 0.23304 0.229253 0.231147 0.23304 0.23304 0.234933 +0.234933 0.229253 0.22736 0.236827 0.22736 0.216 0.219787 0.234933 +0.240613 0.23304 0.223573 0.000986667 0.219787 0.225467 0.23304 0.234933 +0.22736 0.234933 0.234933 0.231147 0.234933 0.236827 0.223573 0.217893 +0.000966667 0.000953333 0.000986667 0.216 0.000986667 0.217893 0.00092 0.00092 +0.000933333 0.000906667 0.000926667 0.00092 0.00094 0.217893 0.223573 0.22168 +0.223573 0.217893 0.22736 0.236827 0.000993333 0.000993333 0.22168 0.219787 +0.22736 0.22168 0.216 0.225467 0.22168 0.000986667 0.216 0.217893 +0.234933 0.23872 0.236827 0.23304 0.229253 0.23304 0.23304 0.240613 +0.23304 0.23304 0.236827 0.234933 0.240613 0.231147 0.229253 0.234933 +0.22736 0.216 0.225467 0.23304 0.223573 0.22168 0.00098 0.000986667 +0.22736 0.23304 0.22736 0.225467 0.23872 0.236827 0.229253 0.225467 +0.225467 0.23304 0.23872 0.234933 0.23872 0.240613 0.242507 0.236827 +0.236827 0.231147 0.231147 0.22736 0.229253 0.2444 0.248187 0.253867 +0.259547 0.25576 0.253867 0.26144 0.274693 0.27848 0.276587 0.274693 +0.28984 0.3012 0.31256 0.31256 0.310667 0.327707 0.34096 0.356107 +0.378827 0.395867 0.411013 0.46024 0.506316 0.531579 0.563789 0.606105 +0.660421 0.726737 0.796842 0.870105 0.939579 0.991102 1.01886 1.0391 +1.0502 1.0538 1.04857 1.03976 1.02245 0.994367 0.949684 0.888421 +0.817053 0.738105 0.654737 0.577053 0.522105 0.45456 0.376933 0.31824 +0.3012 0.297413 0.29552 0.280373 0.269013 0.259547 0.270907 0.2728 +0.26144 0.26144 0.263333 0.263333 0.253867 0.246293 0.25576 0.257653 +0.248187 0.240613 0.240613 0.242507 0.25008 0.251973 0.257653 0.2444 +0.2444 0.25576 0.242507 0.22168 0.231147 0.246293 0.23872 0.236827 +0.236827 0.2444 0.246293 0.240613 0.23872 0.23872 0.240613 0.23872 +0.22736 0.22168 0.22736 0.236827 0.240613 0.242507 0.23872 0.236827 +0.236827 0.242507 0.25576 0.25008 0.248187 0.265227 0.270907 0.274693 +0.293627 0.31256 0.354213 0.445093 0.538526 0.654105 0.826526 0.986204 +1.02376 0.990449 0.834737 0.669895 0.551789 0.43184 0.31256 0.25008 +0.000946667 0.000853333 0.000826667 0.000846667 0.0009 0.000893333 0.000826667 0.000793333 +0.00078 0.000793333 0.00078 0.000773333 0.000753333 0.000773333 0.0008 0.000806667 +0.000786667 0.000786667 0.000806667 0.000813333 0.00082 0.00084 0.000846667 0.0008 +0.000766667 0.000746667 0.000746667 0.000766667 0.00082 0.00088 0.000913333 0.0009 +0.000846667 0.00084 0.000966667 0.282267 0.424267 0.548632 0.661053 0.817684 +0.977474 1.01396 0.969895 0.805053 0.644632 0.535368 0.43184 0.34664 +0.303093 0.291733 0.282267 0.27848 0.274693 0.26144 0.253867 0.259547 +0.259547 0.25576 0.246293 0.2444 0.240613 0.234933 0.23304 0.23304 +0.231147 0.236827 0.2444 0.242507 0.2444 0.25008 0.246293 0.242507 +0.240613 0.23304 0.231147 0.234933 0.231147 0.229253 0.231147 0.234933 +0.234933 0.23304 0.229253 0.231147 0.23304 0.236827 0.2444 0.246293 +0.242507 0.236827 0.234933 0.2444 0.248187 0.248187 0.246293 0.246293 +0.248187 0.25008 0.253867 0.248187 0.2444 0.2444 0.246293 0.240613 +0.246293 0.253867 0.257653 0.26144 0.269013 0.287947 0.308773 0.337173 +0.401547 0.481067 0.530947 0.568211 0.604842 0.660421 0.724211 0.797474 +0.870737 0.938947 0.98849 1.01363 1.03159 1.04465 1.05086 1.04792 +1.03976 1.02147 0.997959 0.957263 0.897263 0.829053 0.762737 0.702105 +0.645895 0.595368 0.554947 0.524632 0.498107 0.450773 0.416693 0.390187 +0.365573 0.344747 0.331493 0.320133 0.308773 0.303093 0.293627 0.28984 +0.282267 0.274693 0.26712 0.26712 0.263333 0.253867 0.253867 0.253867 +0.246293 0.236827 0.23872 0.234933 0.22736 0.23304 0.240613 0.2444 +0.240613 0.229253 0.22736 0.231147 0.22736 0.000993333 0.000993333 0.223573 +0.22736 0.219787 0.000973333 0.00096 0.216 0.229253 0.223573 0.22168 +0.225467 0.219787 0.217893 0.217893 0.216 0.000986667 0.000973333 0.000993333 +0.225467 0.231147 0.22736 0.22736 0.223573 0.23304 0.231147 0.217893 +0.000973333 0.000986667 0.22168 0.231147 0.225467 0.22168 0.229253 0.22736 +0.223573 0.22736 0.22736 0.000993333 0.00098 0.219787 0.229253 0.22736 +0.22736 0.225467 0.225467 0.22736 0.225467 0.225467 0.23304 0.23872 +0.2444 0.23872 0.23304 0.22736 0.23304 0.248187 0.2444 0.23872 +0.231147 0.231147 0.231147 0.229253 0.242507 0.231147 0.231147 0.23304 +0.22168 0.219787 0.000973333 0.000926667 0.000913333 0.000886667 0.000873333 0.000933333 +0.000946667 0.000966667 0.217893 0.22168 0.216 0.219787 0.217893 0.000986667 +0.22168 0.223573 0.22168 0.000993333 0.000966667 0.22736 0.231147 0.22168 +0.23304 0.225467 0.216 0.22168 0.000986667 0.217893 0.234933 0.23872 +0.236827 0.234933 0.22168 0.22736 0.2444 0.2444 0.236827 0.225467 +0.229253 0.234933 0.23304 0.229253 0.23872 0.236827 0.231147 0.229253 +0.231147 0.231147 0.234933 0.236827 0.223573 0.216 0.217893 0.225467 +0.231147 0.225467 0.219787 0.000993333 0.216 0.217893 0.231147 0.234933 +0.223573 0.22736 0.223573 0.00098 0.217893 0.231147 0.22736 0.223573 +0.000966667 0.00096 0.000993333 0.219787 0.00098 0.00096 0.000886667 0.000893333 +0.00096 0.000966667 0.217893 0.22736 0.000993333 0.000993333 0.000973333 0.000986667 +0.219787 0.22168 0.23304 0.23872 0.217893 0.00096 0.217893 0.225467 +0.231147 0.22736 0.22736 0.23304 0.236827 0.219787 0.217893 0.22168 +0.229253 0.234933 0.23872 0.242507 0.231147 0.223573 0.225467 0.23872 +0.23872 0.23304 0.236827 0.231147 0.240613 0.23872 0.225467 0.23304 +0.22736 0.223573 0.225467 0.234933 0.229253 0.231147 0.229253 0.231147 +0.229253 0.223573 0.225467 0.225467 0.23872 0.242507 0.240613 0.23304 +0.22736 0.23872 0.25008 0.240613 0.240613 0.257653 0.259547 0.248187 +0.248187 0.2444 0.246293 0.253867 0.25008 0.257653 0.27848 0.282267 +0.28416 0.28416 0.286053 0.287947 0.297413 0.3012 0.303093 0.30688 +0.314453 0.33528 0.354213 0.365573 0.382613 0.412907 0.43752 0.479173 +0.518316 0.544211 0.578947 0.623789 0.683789 0.748211 0.815158 0.884 +0.952211 0.996653 1.02245 1.04073 1.05053 1.05086 1.04824 1.03584 +1.01657 0.990776 0.945895 0.898526 0.829053 0.744421 0.672421 0.618737 +0.568211 0.518316 0.439413 0.348533 0.304987 0.29552 0.280373 0.27848 +0.28416 0.280373 0.280373 0.274693 0.269013 0.259547 0.2444 0.246293 +0.248187 0.248187 0.248187 0.259547 0.265227 0.259547 0.246293 0.248187 +0.251973 0.248187 0.23872 0.234933 0.246293 0.246293 0.25008 0.2444 +0.236827 0.234933 0.234933 0.22736 0.231147 0.246293 0.23872 0.23304 +0.231147 0.240613 0.2444 0.23872 0.234933 0.231147 0.234933 0.242507 +0.234933 0.231147 0.22736 0.225467 0.236827 0.2444 0.25008 0.240613 +0.236827 0.240613 0.253867 0.257653 0.257653 0.270907 0.287947 0.3012 +0.331493 0.365573 0.43752 0.540421 0.652842 0.819579 0.984898 1.01918 +0.979368 0.818947 0.661053 0.545474 0.418587 0.293627 0.236827 0.000966667 +0.000873333 0.000826667 0.000846667 0.00088 0.0009 0.000866667 0.000806667 0.00078 +0.000746667 0.000766667 0.00078 0.000793333 0.00078 0.000813333 0.000826667 0.000793333 +0.000793333 0.000806667 0.000826667 0.00084 0.00084 0.000846667 0.000826667 0.0008 +0.000793333 0.000773333 0.000733333 0.000706667 0.000733333 0.000786667 0.000866667 0.00092 +0.000893333 0.000846667 0.000866667 0.00098 0.276587 0.411013 0.545474 0.650316 +0.801263 0.968 1.01429 0.98 0.810737 0.638947 0.532842 0.435627 +0.348533 0.320133 0.30688 0.297413 0.28416 0.270907 0.26144 0.253867 +0.253867 0.251973 0.246293 0.236827 0.240613 0.2444 0.248187 0.246293 +0.240613 0.242507 0.2444 0.236827 0.236827 0.23872 0.231147 0.225467 +0.22168 0.223573 0.225467 0.231147 0.225467 0.223573 0.22736 0.231147 +0.234933 0.231147 0.23304 0.23304 0.23304 0.236827 0.242507 0.242507 +0.2444 0.2444 0.2444 0.2444 0.242507 0.242507 0.23872 0.229253 +0.234933 0.240613 0.240613 0.240613 0.2444 0.246293 0.25008 0.251973 +0.25576 0.25576 0.253867 0.248187 0.251973 0.263333 0.259547 0.263333 +0.280373 0.304987 0.337173 0.365573 0.390187 0.446987 0.508842 0.549895 +0.604842 0.673684 0.745053 0.817684 0.882105 0.945895 0.989469 1.01233 +1.0329 1.04629 1.05249 1.05249 1.04563 1.02931 1.00645 0.98 +0.921263 0.857474 0.791158 0.725474 0.664842 0.615579 0.573895 0.541053 +0.513895 0.47728 0.439413 0.405333 0.37504 0.358 0.339067 0.327707 +0.31256 0.297413 0.293627 0.28984 0.28416 0.280373 0.276587 0.270907 +0.263333 0.25576 0.25008 0.248187 0.251973 0.259547 0.259547 0.25008 +0.240613 0.240613 0.242507 0.23872 0.236827 0.23304 0.234933 0.22736 +0.231147 0.231147 0.216 0.000993333 0.231147 0.23872 0.23304 0.231147 +0.223573 0.219787 0.223573 0.225467 0.223573 0.00098 0.00096 0.225467 +0.234933 0.231147 0.225467 0.223573 0.22736 0.22736 0.219787 0.217893 +0.216 0.216 0.23304 0.236827 0.22168 0.22168 0.22736 0.225467 +0.22168 0.219787 0.225467 0.219787 0.000986667 0.22168 0.23304 0.229253 +0.22168 0.22168 0.22736 0.23872 0.234933 0.229253 0.231147 0.234933 +0.242507 0.240613 0.240613 0.225467 0.236827 0.248187 0.23872 0.229253 +0.219787 0.225467 0.22736 0.23304 0.234933 0.22168 0.22736 0.229253 +0.231147 0.236827 0.22736 0.223573 0.217893 0.000933333 0.000893333 0.000893333 +0.000873333 0.0009 0.000913333 0.0009 0.00094 0.219787 0.22736 0.216 +0.217893 0.223573 0.23304 0.225467 0.216 0.22736 0.223573 0.219787 +0.234933 0.229253 0.225467 0.22168 0.00098 0.217893 0.229253 0.223573 +0.223573 0.231147 0.225467 0.23304 0.240613 0.23304 0.225467 0.223573 +0.23872 0.2444 0.23304 0.22736 0.231147 0.231147 0.23304 0.22736 +0.22736 0.231147 0.240613 0.240613 0.22736 0.223573 0.22168 0.223573 +0.223573 0.219787 0.217893 0.00098 0.22168 0.223573 0.225467 0.231147 +0.223573 0.236827 0.225467 0.000986667 0.000973333 0.225467 0.223573 0.216 +0.000973333 0.000993333 0.000993333 0.000966667 0.000926667 0.000926667 0.00094 0.000986667 +0.225467 0.000986667 0.000993333 0.231147 0.225467 0.217893 0.219787 0.22168 +0.217893 0.000986667 0.216 0.229253 0.223573 0.000973333 0.217893 0.219787 +0.217893 0.223573 0.236827 0.23872 0.242507 0.236827 0.234933 0.234933 +0.234933 0.23304 0.236827 0.240613 0.234933 0.231147 0.23304 0.234933 +0.23872 0.234933 0.236827 0.223573 0.22736 0.242507 0.240613 0.2444 +0.240613 0.234933 0.22736 0.236827 0.234933 0.234933 0.240613 0.242507 +0.236827 0.22736 0.229253 0.231147 0.25008 0.257653 0.25576 0.2444 +0.23304 0.242507 0.25576 0.248187 0.25008 0.26712 0.27848 0.276587 +0.270907 0.270907 0.274693 0.287947 0.28416 0.282267 0.299307 0.299307 +0.308773 0.314453 0.316347 0.325813 0.33528 0.350427 0.36936 0.382613 +0.40344 0.435627 0.4716 0.509474 0.530316 0.561263 0.597895 0.647789 +0.710316 0.777895 0.844842 0.908 0.970526 1.00612 1.02833 1.04498 +1.05347 1.0538 1.04727 1.03616 1.01461 0.988816 0.945895 0.884632 +0.810737 0.732421 0.669263 0.627579 0.576421 0.519579 0.441307 0.39208 +0.354213 0.303093 0.27848 0.26712 0.253867 0.26712 0.263333 0.26144 +0.265227 0.26144 0.259547 0.257653 0.26144 0.257653 0.251973 0.248187 +0.25576 0.25008 0.240613 0.242507 0.253867 0.25576 0.242507 0.23872 +0.2444 0.23872 0.23872 0.240613 0.246293 0.242507 0.236827 0.23872 +0.242507 0.234933 0.236827 0.231147 0.225467 0.23304 0.234933 0.22736 +0.223573 0.236827 0.240613 0.231147 0.22736 0.229253 0.225467 0.23872 +0.23872 0.242507 0.23872 0.223573 0.234933 0.240613 0.248187 0.248187 +0.246293 0.246293 0.253867 0.26712 0.274693 0.287947 0.308773 0.32392 +0.365573 0.452667 0.544211 0.658526 0.827789 0.986204 1.0182 0.968632 +0.803158 0.650316 0.544842 0.418587 0.291733 0.23304 0.000926667 0.000853333 +0.000833333 0.000853333 0.000873333 0.00086 0.000853333 0.0008 0.00076 0.000766667 +0.000793333 0.00082 0.00082 0.000806667 0.00082 0.000813333 0.000786667 0.000786667 +0.000806667 0.000806667 0.000806667 0.000826667 0.000806667 0.000786667 0.000793333 0.0008 +0.000806667 0.000806667 0.00076 0.000733333 0.000726667 0.000766667 0.00084 0.000893333 +0.0009 0.00088 0.000846667 0.000846667 0.000946667 0.27848 0.4148 0.538526 +0.638947 0.790526 0.956632 1.01331 0.980653 0.810105 0.642737 0.536632 +0.446987 0.367467 0.32392 0.303093 0.287947 0.280373 0.26712 0.257653 +0.25576 0.253867 0.251973 0.251973 0.248187 0.248187 0.251973 0.246293 +0.23304 0.23304 0.234933 0.231147 0.229253 0.22736 0.219787 0.217893 +0.223573 0.225467 0.22736 0.231147 0.229253 0.22168 0.225467 0.229253 +0.225467 0.225467 0.225467 0.225467 0.22736 0.231147 0.236827 0.234933 +0.23304 0.236827 0.23872 0.23872 0.23304 0.23304 0.236827 0.234933 +0.23872 0.246293 0.25008 0.246293 0.25008 0.257653 0.25576 0.253867 +0.25008 0.248187 0.253867 0.248187 0.236827 0.2444 0.2444 0.242507 +0.25008 0.257653 0.263333 0.270907 0.274693 0.28416 0.303093 0.325813 +0.38072 0.4716 0.530316 0.576421 0.629474 0.685053 0.736211 0.788 +0.855579 0.923158 0.984245 1.01429 1.03355 1.04661 1.05314 1.05282 +1.04694 1.03486 1.01461 0.990122 0.947158 0.888421 0.824 0.758947 +0.697684 0.642737 0.599158 0.562526 0.531579 0.507579 0.464027 0.424267 +0.39776 0.376933 0.359893 0.337173 0.32392 0.31824 0.308773 0.297413 +0.291733 0.291733 0.27848 0.274693 0.27848 0.276587 0.269013 0.26144 +0.26144 0.26712 0.26712 0.257653 0.246293 0.242507 0.246293 0.236827 +0.22736 0.22736 0.231147 0.23872 0.242507 0.246293 0.246293 0.234933 +0.231147 0.231147 0.23304 0.22736 0.225467 0.216 0.000986667 0.223573 +0.23872 0.23872 0.219787 0.22168 0.231147 0.223573 0.223573 0.225467 +0.229253 0.22736 0.23304 0.229253 0.225467 0.234933 0.234933 0.23304 +0.23872 0.234933 0.22736 0.223573 0.229253 0.23872 0.23304 0.23304 +0.229253 0.22736 0.23304 0.23304 0.225467 0.23304 0.2444 0.2444 +0.234933 0.229253 0.231147 0.22736 0.234933 0.240613 0.242507 0.229253 +0.22736 0.22736 0.223573 0.236827 0.236827 0.22736 0.23304 0.231147 +0.234933 0.234933 0.231147 0.23872 0.23872 0.22168 0.223573 0.00098 +0.0009 0.0009 0.000913333 0.0009 0.000893333 0.000933333 0.00096 0.00094 +0.000946667 0.000966667 0.225467 0.217893 0.00098 0.22736 0.217893 0.000993333 +0.225467 0.22168 0.225467 0.223573 0.217893 0.229253 0.236827 0.22168 +0.000966667 0.00098 0.223573 0.242507 0.240613 0.22168 0.217893 0.217893 +0.236827 0.2444 0.234933 0.225467 0.219787 0.229253 0.23304 0.223573 +0.225467 0.225467 0.234933 0.23872 0.229253 0.23304 0.231147 0.22168 +0.219787 0.219787 0.217893 0.000973333 0.22168 0.22168 0.219787 0.223573 +0.000993333 0.22168 0.22736 0.225467 0.000993333 0.22168 0.217893 0.000946667 +0.000913333 0.00088 0.000906667 0.000953333 0.00096 0.00096 0.216 0.216 +0.219787 0.219787 0.00098 0.216 0.22168 0.22736 0.219787 0.216 +0.22168 0.00098 0.000986667 0.23304 0.23304 0.22168 0.22168 0.22736 +0.231147 0.23872 0.234933 0.23304 0.23872 0.234933 0.22736 0.240613 +0.2444 0.234933 0.236827 0.23872 0.225467 0.22168 0.229253 0.234933 +0.23304 0.234933 0.2444 0.236827 0.23304 0.242507 0.2444 0.251973 +0.246293 0.236827 0.23304 0.242507 0.2444 0.2444 0.251973 0.25008 +0.25008 0.25576 0.253867 0.246293 0.253867 0.263333 0.26712 0.265227 +0.259547 0.26144 0.265227 0.26712 0.269013 0.276587 0.286053 0.291733 +0.282267 0.282267 0.3012 0.314453 0.322027 0.32392 0.333387 0.342853 +0.356107 0.36936 0.378827 0.39776 0.42616 0.462133 0.505053 0.525263 +0.551158 0.586526 0.628211 0.682526 0.748211 0.810737 0.875789 0.943368 +0.990776 1.01722 1.03616 1.04759 1.05118 1.05347 1.04727 1.03486 +1.01298 0.986531 0.932632 0.872 0.801895 0.731789 0.674316 0.617474 +0.559368 0.511368 0.445093 0.40344 0.354213 0.308773 0.280373 0.2728 +0.2728 0.259547 0.257653 0.263333 0.253867 0.25576 0.265227 0.26712 +0.251973 0.248187 0.240613 0.246293 0.253867 0.25576 0.253867 0.2444 +0.2444 0.25008 0.25008 0.2444 0.246293 0.257653 0.251973 0.236827 +0.23304 0.219787 0.22168 0.225467 0.225467 0.234933 0.23872 0.236827 +0.236827 0.234933 0.240613 0.242507 0.242507 0.234933 0.234933 0.229253 +0.219787 0.223573 0.23872 0.236827 0.231147 0.236827 0.234933 0.234933 +0.234933 0.240613 0.242507 0.229253 0.236827 0.251973 0.251973 0.253867 +0.25576 0.251973 0.25576 0.269013 0.280373 0.3012 0.333387 0.373147 +0.458347 0.548632 0.673053 0.845474 0.991102 1.01559 0.953474 0.782947 +0.633263 0.536632 0.428053 0.308773 0.23872 0.00094 0.000853333 0.000833333 +0.00086 0.0009 0.000873333 0.000793333 0.000733333 0.000733333 0.000733333 0.000753333 +0.00078 0.00078 0.0008 0.000826667 0.00078 0.000766667 0.000773333 0.0008 +0.000813333 0.00082 0.00082 0.000806667 0.0008 0.00082 0.000853333 0.000853333 +0.000846667 0.000846667 0.000826667 0.000753333 0.000713333 0.00072 0.00074 0.000766667 +0.000846667 0.000886667 0.00088 0.00086 0.00088 0.000993333 0.27848 0.40344 +0.530947 0.629474 0.775368 0.942105 1.00873 0.981633 0.817684 0.650316 +0.542947 0.45456 0.36936 0.331493 0.30688 0.28984 0.27848 0.270907 +0.259547 0.253867 0.25008 0.246293 0.246293 0.2444 0.2444 0.2444 +0.240613 0.234933 0.22736 0.229253 0.229253 0.225467 0.223573 0.225467 +0.229253 0.229253 0.225467 0.22736 0.23304 0.22736 0.223573 0.219787 +0.22168 0.223573 0.22168 0.223573 0.229253 0.22736 0.231147 0.225467 +0.223573 0.229253 0.229253 0.231147 0.22736 0.231147 0.23304 0.234933 +0.236827 0.236827 0.240613 0.240613 0.23872 0.2444 0.253867 0.25008 +0.240613 0.240613 0.248187 0.240613 0.23872 0.2444 0.242507 0.236827 +0.236827 0.242507 0.248187 0.25008 0.248187 0.253867 0.269013 0.269013 +0.2728 0.282267 0.303093 0.34096 0.407227 0.481067 0.515789 0.542316 +0.590316 0.647158 0.718526 0.795579 0.855579 0.92379 0.985551 1.01004 +1.02767 1.04073 1.04922 1.05282 1.0502 1.04073 1.02408 1.00188 +0.973053 0.923158 0.866316 0.807579 0.748211 0.687579 0.634526 0.590316 +0.556211 0.528421 0.504421 0.45456 0.42048 0.40344 0.38072 0.36368 +0.348533 0.34096 0.325813 0.314453 0.310667 0.304987 0.291733 0.287947 +0.291733 0.291733 0.282267 0.26144 0.253867 0.263333 0.259547 0.25576 +0.248187 0.25008 0.257653 0.259547 0.257653 0.251973 0.246293 0.2444 +0.234933 0.240613 0.240613 0.23872 0.2444 0.23872 0.234933 0.231147 +0.240613 0.251973 0.231147 0.22736 0.234933 0.229253 0.23304 0.231147 +0.231147 0.231147 0.22168 0.22168 0.229253 0.234933 0.234933 0.234933 +0.2444 0.240613 0.229253 0.22736 0.23872 0.25008 0.23872 0.23872 +0.231147 0.223573 0.23304 0.229253 0.22736 0.23872 0.2444 0.242507 +0.225467 0.229253 0.229253 0.231147 0.23872 0.25008 0.242507 0.223573 +0.22736 0.231147 0.229253 0.231147 0.236827 0.240613 0.240613 0.240613 +0.236827 0.234933 0.234933 0.242507 0.240613 0.234933 0.240613 0.236827 +0.229253 0.223573 0.225467 0.217893 0.000933333 0.000906667 0.00088 0.00088 +0.000913333 0.00094 0.000966667 0.000913333 0.00092 0.000986667 0.000973333 0.000973333 +0.219787 0.217893 0.216 0.219787 0.000986667 0.22168 0.236827 0.225467 +0.00098 0.000973333 0.223573 0.240613 0.23872 0.225467 0.000993333 0.000993333 +0.23304 0.23872 0.231147 0.229253 0.219787 0.229253 0.231147 0.219787 +0.22168 0.217893 0.225467 0.236827 0.22736 0.229253 0.231147 0.231147 +0.223573 0.22168 0.219787 0.000973333 0.22736 0.219787 0.216 0.219787 +0.000986667 0.216 0.22168 0.223573 0.000986667 0.00098 0.000953333 0.000906667 +0.00088 0.000886667 0.000946667 0.00098 0.216 0.223573 0.225467 0.000986667 +0.000986667 0.22168 0.000986667 0.217893 0.217893 0.22168 0.216 0.000973333 +0.22168 0.22168 0.216 0.22736 0.229253 0.223573 0.217893 0.22736 +0.234933 0.246293 0.234933 0.229253 0.234933 0.23304 0.225467 0.23304 +0.242507 0.2444 0.240613 0.242507 0.231147 0.229253 0.231147 0.23304 +0.23872 0.25008 0.25008 0.240613 0.23872 0.2444 0.251973 0.25576 +0.25576 0.25008 0.242507 0.2444 0.248187 0.25576 0.26144 0.253867 +0.257653 0.270907 0.274693 0.263333 0.270907 0.280373 0.282267 0.287947 +0.286053 0.287947 0.291733 0.297413 0.304987 0.30688 0.314453 0.322027 +0.32392 0.320133 0.34096 0.365573 0.37504 0.393973 0.407227 0.429947 +0.458347 0.504421 0.523368 0.545474 0.582105 0.621263 0.669263 0.726737 +0.789895 0.849263 0.914316 0.974947 1.0058 1.02931 1.04237 1.05216 +1.0551 1.05412 1.044 1.028 1.00547 0.971789 0.913053 0.851789 +0.786737 0.720421 0.654105 0.597895 0.546737 0.510105 0.446987 0.393973 +0.339067 0.3012 0.29552 0.269013 0.26712 0.269013 0.25576 0.257653 +0.257653 0.259547 0.269013 0.265227 0.259547 0.257653 0.25576 0.242507 +0.242507 0.248187 0.240613 0.246293 0.257653 0.251973 0.246293 0.25008 +0.246293 0.236827 0.234933 0.225467 0.231147 0.242507 0.25008 0.2444 +0.240613 0.22736 0.22168 0.223573 0.223573 0.223573 0.22736 0.22736 +0.231147 0.234933 0.236827 0.231147 0.242507 0.240613 0.229253 0.231147 +0.231147 0.223573 0.223573 0.23872 0.234933 0.231147 0.234933 0.229253 +0.225467 0.236827 0.248187 0.242507 0.242507 0.251973 0.251973 0.253867 +0.259547 0.263333 0.27848 0.28416 0.291733 0.325813 0.37504 0.4716 +0.554947 0.672421 0.849263 0.993388 1.01167 0.938316 0.770316 0.618105 +0.526526 0.4148 0.303093 0.234933 0.00094 0.000866667 0.00084 0.000886667 +0.00092 0.000913333 0.000853333 0.00076 0.000726667 0.000706667 0.000753333 0.000833333 +0.000826667 0.00078 0.000773333 0.000806667 0.000746667 0.000766667 0.000793333 0.000813333 +0.000813333 0.00084 0.000846667 0.000833333 0.000826667 0.000826667 0.000813333 0.0008 +0.000806667 0.00082 0.000793333 0.000793333 0.00074 0.0007 0.000693333 0.000733333 +0.00082 0.000873333 0.000906667 0.0009 0.000853333 0.000846667 0.000953333 0.269013 +0.390187 0.524632 0.615579 0.759579 0.930105 1.00906 0.986531 0.828421 +0.658526 0.550526 0.479173 0.3864 0.331493 0.3012 0.287947 0.27848 +0.269013 0.259547 0.25008 0.246293 0.251973 0.246293 0.23872 0.234933 +0.229253 0.225467 0.225467 0.22168 0.225467 0.231147 0.22736 0.22736 +0.229253 0.229253 0.229253 0.223573 0.22736 0.22736 0.223573 0.217893 +0.223573 0.229253 0.22736 0.22736 0.22736 0.223573 0.223573 0.223573 +0.229253 0.225467 0.22168 0.223573 0.223573 0.231147 0.23304 0.23304 +0.234933 0.231147 0.229253 0.23304 0.234933 0.234933 0.234933 0.229253 +0.23304 0.236827 0.240613 0.240613 0.240613 0.2444 0.246293 0.242507 +0.2444 0.2444 0.2444 0.246293 0.2444 0.2444 0.251973 0.25008 +0.2444 0.242507 0.253867 0.263333 0.265227 0.280373 0.291733 0.310667 +0.356107 0.42616 0.508211 0.546737 0.589053 0.654105 0.730526 0.795579 +0.846737 0.899158 0.956 0.994041 1.01494 1.03355 1.04596 1.04922 +1.04955 1.04792 1.04106 1.02767 1.00482 0.973684 0.916842 0.856211 +0.794947 0.732421 0.675579 0.628211 0.589053 0.555579 0.529053 0.508211 +0.46592 0.43184 0.40912 0.388293 0.373147 0.365573 0.34664 0.331493 +0.32392 0.314453 0.303093 0.293627 0.293627 0.29552 0.291733 0.282267 +0.2728 0.27848 0.280373 0.276587 0.26712 0.259547 0.251973 0.25008 +0.251973 0.251973 0.251973 0.253867 0.251973 0.257653 0.25008 0.25008 +0.246293 0.248187 0.251973 0.246293 0.242507 0.23872 0.23304 0.225467 +0.229253 0.236827 0.229253 0.229253 0.234933 0.242507 0.242507 0.23872 +0.23304 0.23304 0.229253 0.229253 0.23872 0.242507 0.240613 0.240613 +0.229253 0.22736 0.23304 0.231147 0.234933 0.23304 0.236827 0.236827 +0.23304 0.229253 0.217893 0.22736 0.242507 0.257653 0.23872 0.223573 +0.225467 0.23872 0.240613 0.22736 0.229253 0.240613 0.2444 0.23872 +0.231147 0.231147 0.242507 0.2444 0.234933 0.229253 0.234933 0.229253 +0.234933 0.246293 0.240613 0.231147 0.225467 0.000993333 0.00092 0.00088 +0.0009 0.000926667 0.00094 0.000866667 0.000873333 0.000926667 0.000946667 0.00096 +0.216 0.000986667 0.000973333 0.000986667 0.000973333 0.217893 0.23304 0.223573 +0.000993333 0.000993333 0.22168 0.234933 0.236827 0.231147 0.217893 0.00098 +0.22736 0.229253 0.225467 0.236827 0.225467 0.225467 0.225467 0.22168 +0.223573 0.219787 0.223573 0.23304 0.225467 0.22168 0.225467 0.22736 +0.22168 0.219787 0.217893 0.000973333 0.223573 0.223573 0.217893 0.22168 +0.000966667 0.000973333 0.216 0.217893 0.000926667 0.00092 0.000946667 0.000926667 +0.00096 0.000986667 0.223573 0.229253 0.22168 0.00098 0.219787 0.219787 +0.000993333 0.223573 0.00098 0.00098 0.219787 0.231147 0.223573 0.216 +0.236827 0.2444 0.22736 0.223573 0.22736 0.229253 0.219787 0.223573 +0.219787 0.234933 0.234933 0.229253 0.229253 0.231147 0.236827 0.240613 +0.23872 0.240613 0.242507 0.2444 0.23872 0.242507 0.240613 0.234933 +0.242507 0.25008 0.253867 0.240613 0.246293 0.25576 0.26144 0.26712 +0.26712 0.259547 0.25008 0.25576 0.269013 0.274693 0.274693 0.265227 +0.2728 0.287947 0.293627 0.29552 0.303093 0.31256 0.310667 0.314453 +0.310667 0.31256 0.320133 0.3296 0.34096 0.356107 0.373147 0.39208 +0.40344 0.42048 0.43752 0.481067 0.506316 0.526526 0.551789 0.584 +0.621895 0.669895 0.728632 0.783579 0.848632 0.909895 0.964211 0.997633 +1.02278 1.03714 1.04759 1.05608 1.05706 1.05053 1.0378 1.0182 +0.997306 0.957895 0.896 0.838526 0.773474 0.697684 0.632 0.575158 +0.537895 0.501895 0.43184 0.350427 0.308773 0.286053 0.2728 0.263333 +0.257653 0.265227 0.259547 0.251973 0.251973 0.263333 0.2728 0.25576 +0.246293 0.25008 0.25576 0.259547 0.251973 0.251973 0.253867 0.248187 +0.242507 0.246293 0.231147 0.236827 0.253867 0.251973 0.240613 0.246293 +0.2444 0.23872 0.23872 0.23304 0.223573 0.22736 0.231147 0.23872 +0.234933 0.22736 0.229253 0.22736 0.223573 0.22736 0.229253 0.225467 +0.223573 0.23304 0.229253 0.223573 0.22736 0.23872 0.231147 0.219787 +0.22168 0.22736 0.22168 0.223573 0.234933 0.234933 0.236827 0.23872 +0.231147 0.23872 0.246293 0.240613 0.23872 0.2444 0.25576 0.259547 +0.263333 0.274693 0.293627 0.31256 0.327707 0.38072 0.48296 0.563789 +0.688842 0.857474 0.994041 1.00808 0.92 0.749474 0.611158 0.516421 +0.395867 0.3012 0.240613 0.000933333 0.00084 0.000826667 0.00084 0.000893333 +0.000893333 0.00086 0.000786667 0.00072 0.000753333 0.00076 0.000773333 0.000833333 +0.000846667 0.000846667 0.000826667 0.000806667 0.000786667 0.00078 0.000793333 0.000793333 +0.000806667 0.000813333 0.000806667 0.000813333 0.00078 0.000773333 0.000786667 0.000786667 +0.0008 0.000806667 0.000806667 0.00082 0.0008 0.00074 0.0007 0.000686667 +0.000726667 0.000786667 0.00084 0.00086 0.00084 0.000826667 0.000873333 0.000973333 +0.270907 0.3864 0.517684 0.606737 0.745684 0.916842 1.0058 0.986531 +0.836632 0.671789 0.561263 0.48864 0.382613 0.331493 0.3012 0.282267 +0.276587 0.263333 0.248187 0.2444 0.242507 0.236827 0.231147 0.22168 +0.219787 0.231147 0.23304 0.225467 0.23304 0.23872 0.231147 0.225467 +0.216 0.000993333 0.000993333 0.216 0.000993333 0.217893 0.22168 0.219787 +0.216 0.22168 0.22736 0.22736 0.223573 0.217893 0.219787 0.223573 +0.223573 0.22168 0.219787 0.223573 0.225467 0.225467 0.22736 0.231147 +0.23872 0.242507 0.236827 0.23304 0.22736 0.22736 0.234933 0.234933 +0.234933 0.23304 0.236827 0.2444 0.23872 0.23872 0.23304 0.231147 +0.234933 0.2444 0.246293 0.240613 0.23304 0.229253 0.23872 0.246293 +0.25008 0.253867 0.257653 0.25576 0.259547 0.26712 0.26144 0.248187 +0.253867 0.2728 0.291733 0.31824 0.36368 0.439413 0.515789 0.554316 +0.584632 0.623158 0.679368 0.740632 0.806316 0.878316 0.943368 0.986204 +1.00841 1.02735 1.04302 1.05543 1.05902 1.05706 1.05314 1.04171 +1.0231 0.998612 0.964211 0.911789 0.851789 0.791789 0.738105 0.686316 +0.637684 0.596632 0.565053 0.539789 0.517053 0.5 0.456453 0.428053 +0.40344 0.376933 0.36368 0.358 0.358 0.34096 0.333387 0.322027 +0.31256 0.304987 0.303093 0.297413 0.287947 0.282267 0.27848 0.276587 +0.27848 0.274693 0.26712 0.259547 0.265227 0.2728 0.26712 0.263333 +0.26144 0.251973 0.26144 0.269013 0.251973 0.242507 0.236827 0.22736 +0.23872 0.25008 0.2444 0.242507 0.242507 0.246293 0.2444 0.236827 +0.229253 0.223573 0.223573 0.23872 0.2444 0.234933 0.234933 0.234933 +0.23304 0.236827 0.225467 0.225467 0.234933 0.234933 0.234933 0.229253 +0.234933 0.229253 0.219787 0.231147 0.2444 0.248187 0.234933 0.229253 +0.22736 0.23872 0.23872 0.229253 0.229253 0.240613 0.246293 0.240613 +0.23304 0.234933 0.242507 0.240613 0.229253 0.23304 0.234933 0.22168 +0.234933 0.2444 0.248187 0.23872 0.234933 0.22736 0.000986667 0.000946667 +0.00096 0.000966667 0.000933333 0.000866667 0.000886667 0.0009 0.000906667 0.000946667 +0.217893 0.217893 0.000966667 0.000946667 0.000946667 0.225467 0.236827 0.22168 +0.216 0.217893 0.225467 0.236827 0.234933 0.231147 0.22168 0.216 +0.22736 0.22736 0.225467 0.231147 0.22168 0.225467 0.223573 0.22168 +0.225467 0.225467 0.22736 0.229253 0.223573 0.223573 0.22736 0.219787 +0.217893 0.219787 0.000993333 0.000953333 0.217893 0.000986667 0.217893 0.219787 +0.000913333 0.00088 0.000913333 0.00098 0.000933333 0.00092 0.000993333 0.000986667 +0.217893 0.216 0.217893 0.225467 0.22168 0.000993333 0.22736 0.229253 +0.217893 0.225467 0.217893 0.225467 0.23304 0.234933 0.225467 0.22168 +0.240613 0.248187 0.236827 0.231147 0.22736 0.23872 0.23304 0.231147 +0.223573 0.236827 0.236827 0.231147 0.231147 0.236827 0.251973 0.25576 +0.2444 0.25008 0.248187 0.248187 0.257653 0.259547 0.259547 0.257653 +0.25008 0.26144 0.274693 0.26712 0.263333 0.26712 0.274693 0.27848 +0.282267 0.2728 0.269013 0.28416 0.29552 0.3012 0.3012 0.29552 +0.303093 0.31256 0.320133 0.31824 0.325813 0.34664 0.34664 0.354213 +0.359893 0.373147 0.393973 0.412907 0.428053 0.46592 0.503158 0.520211 +0.541053 0.568211 0.601053 0.642105 0.685684 0.732421 0.789895 0.851158 +0.909263 0.959789 0.996653 1.02049 1.03943 1.05151 1.05771 1.05837 +1.05314 1.04269 1.02833 1.01298 0.989469 0.938947 0.874526 0.806316 +0.744421 0.671789 0.611158 0.575158 0.537263 0.492427 0.411013 0.342853 +0.3012 0.286053 0.270907 0.25008 0.242507 0.248187 0.240613 0.236827 +0.246293 0.246293 0.253867 0.251973 0.2444 0.265227 0.263333 0.251973 +0.251973 0.25008 0.248187 0.251973 0.253867 0.25576 0.263333 0.25576 +0.23872 0.246293 0.2444 0.23872 0.246293 0.246293 0.234933 0.234933 +0.246293 0.2444 0.23304 0.22736 0.225467 0.229253 0.22736 0.23872 +0.246293 0.229253 0.219787 0.22168 0.22168 0.219787 0.217893 0.216 +0.000993333 0.216 0.223573 0.22168 0.223573 0.23304 0.240613 0.22736 +0.00098 0.216 0.225467 0.225467 0.22736 0.234933 0.234933 0.242507 +0.2444 0.240613 0.2444 0.240613 0.23872 0.242507 0.259547 0.269013 +0.26712 0.274693 0.28984 0.337173 0.393973 0.490533 0.566316 0.698316 +0.875789 0.996653 1.00416 0.905474 0.735579 0.596 0.510105 0.38072 +0.286053 0.22736 0.000933333 0.00088 0.000846667 0.000866667 0.00088 0.000866667 +0.0008 0.00074 0.000726667 0.000753333 0.000746667 0.000786667 0.000826667 0.000806667 +0.0008 0.000833333 0.000853333 0.000806667 0.0008 0.00078 0.000753333 0.000773333 +0.000786667 0.00078 0.000813333 0.000826667 0.000826667 0.000826667 0.000846667 0.000833333 +0.000806667 0.000806667 0.000793333 0.00078 0.000793333 0.000786667 0.000753333 0.000713333 +0.00072 0.00076 0.0008 0.00084 0.000873333 0.000886667 0.000866667 0.0009 +0.000993333 0.263333 0.36936 0.508842 0.592211 0.729263 0.903579 1.00351 +0.992735 0.855579 0.685684 0.565684 0.49432 0.3864 0.325813 0.291733 +0.274693 0.26144 0.248187 0.240613 0.234933 0.22736 0.229253 0.23304 +0.234933 0.234933 0.225467 0.217893 0.229253 0.223573 0.217893 0.216 +0.00098 0.000986667 0.000993333 0.216 0.216 0.00098 0.00098 0.217893 +0.216 0.216 0.22168 0.22168 0.217893 0.000986667 0.219787 0.219787 +0.000993333 0.000993333 0.217893 0.22168 0.219787 0.219787 0.225467 0.22736 +0.22736 0.22736 0.225467 0.225467 0.223573 0.22168 0.231147 0.236827 +0.236827 0.229253 0.23304 0.23304 0.231147 0.23304 0.234933 0.23872 +0.240613 0.25008 0.251973 0.248187 0.23872 0.23304 0.236827 0.246293 +0.253867 0.25576 0.25576 0.25008 0.251973 0.251973 0.25008 0.25008 +0.253867 0.257653 0.25008 0.251973 0.265227 0.282267 0.30688 0.327707 +0.350427 0.39776 0.46024 0.519579 0.563158 0.613684 0.674316 0.739368 +0.797474 0.846105 0.900421 0.960421 0.993061 1.012 1.03224 1.04857 +1.05739 1.06304 1.05869 1.05118 1.03845 1.02376 1.00318 0.976842 +0.925053 0.868211 0.815789 0.764632 0.711579 0.66421 0.625053 0.586526 +0.555579 0.529684 0.510105 0.492427 0.462133 0.429947 0.411013 0.393973 +0.37504 0.36368 0.354213 0.344747 0.331493 0.322027 0.316347 0.310667 +0.304987 0.297413 0.282267 0.280373 0.287947 0.28984 0.28416 0.27848 +0.2728 0.26712 0.269013 0.2728 0.26712 0.25576 0.253867 0.246293 +0.25576 0.263333 0.259547 0.259547 0.251973 0.2444 0.242507 0.242507 +0.2444 0.242507 0.240613 0.25576 0.253867 0.236827 0.23304 0.22736 +0.236827 0.240613 0.22168 0.225467 0.236827 0.23872 0.229253 0.22736 +0.23872 0.236827 0.231147 0.23304 0.242507 0.23872 0.242507 0.242507 +0.234933 0.23304 0.229253 0.23872 0.23872 0.23872 0.246293 0.246293 +0.23872 0.236827 0.2444 0.234933 0.22736 0.240613 0.23304 0.219787 +0.234933 0.23872 0.234933 0.234933 0.23304 0.225467 0.223573 0.223573 +0.225467 0.225467 0.000993333 0.00092 0.000933333 0.0009 0.00088 0.000906667 +0.000966667 0.00098 0.00098 0.000973333 0.000933333 0.00098 0.22168 0.000993333 +0.000993333 0.22168 0.22736 0.231147 0.22736 0.225467 0.22168 0.217893 +0.225467 0.22736 0.22736 0.22736 0.000993333 0.216 0.217893 0.216 +0.219787 0.22736 0.225467 0.229253 0.223573 0.22736 0.225467 0.00098 +0.219787 0.22736 0.223573 0.00096 0.216 0.00096 0.000986667 0.216 +0.000893333 0.000866667 0.000933333 0.217893 0.219787 0.219787 0.23304 0.22168 +0.000986667 0.00098 0.217893 0.22736 0.225467 0.000986667 0.225467 0.23304 +0.219787 0.225467 0.231147 0.240613 0.2444 0.242507 0.236827 0.22736 +0.234933 0.242507 0.23872 0.240613 0.242507 0.246293 0.246293 0.240613 +0.236827 0.25008 0.25576 0.2444 0.23304 0.2444 0.263333 0.26144 +0.259547 0.270907 0.274693 0.26712 0.2728 0.2728 0.27848 0.28416 +0.2728 0.280373 0.299307 0.293627 0.28416 0.286053 0.293627 0.299307 +0.30688 0.31256 0.3012 0.314453 0.32392 0.331493 0.344747 0.342853 +0.350427 0.359893 0.367467 0.37504 0.382613 0.405333 0.422373 0.450773 +0.49432 0.516421 0.535368 0.558105 0.584632 0.621263 0.664842 0.712211 +0.765895 0.821474 0.878947 0.932632 0.982286 1.00351 1.0231 1.04041 +1.05184 1.05641 1.05641 1.05347 1.04531 1.03224 1.01363 0.990122 +0.945263 0.892842 0.844211 0.791158 0.726737 0.653474 0.595368 0.548 +0.513895 0.4432 0.373147 0.356107 0.314453 0.282267 0.270907 0.259547 +0.246293 0.248187 0.248187 0.242507 0.246293 0.248187 0.23872 0.246293 +0.253867 0.253867 0.259547 0.25008 0.2444 0.25008 0.25576 0.257653 +0.248187 0.25008 0.251973 0.2444 0.253867 0.251973 0.246293 0.248187 +0.2444 0.246293 0.242507 0.234933 0.231147 0.246293 0.25008 0.240613 +0.236827 0.236827 0.225467 0.216 0.219787 0.223573 0.217893 0.22736 +0.240613 0.23304 0.219787 0.223573 0.22168 0.216 0.000986667 0.000973333 +0.000966667 0.00098 0.000993333 0.000993333 0.219787 0.219787 0.22736 0.217893 +0.000993333 0.217893 0.225467 0.22168 0.219787 0.234933 0.236827 0.2444 +0.246293 0.242507 0.242507 0.242507 0.246293 0.251973 0.26144 0.27848 +0.287947 0.293627 0.314453 0.39208 0.507579 0.578947 0.704 0.880211 +1.00253 1.00155 0.887789 0.717263 0.586526 0.503789 0.358 0.282267 +0.23304 0.000946667 0.000866667 0.000866667 0.000893333 0.000886667 0.000866667 0.00082 +0.000746667 0.00068 0.000726667 0.000813333 0.000833333 0.000793333 0.00078 0.000813333 +0.00084 0.00082 0.00086 0.000826667 0.000773333 0.000766667 0.000766667 0.000786667 +0.000786667 0.0008 0.00082 0.000826667 0.00082 0.0008 0.000806667 0.000806667 +0.000793333 0.000793333 0.000793333 0.000793333 0.000806667 0.000826667 0.000833333 0.000786667 +0.000733333 0.00072 0.000753333 0.0008 0.00084 0.00088 0.00088 0.000893333 +0.000933333 0.000966667 0.265227 0.371253 0.507579 0.588421 0.722316 0.896 +1.00318 0.995673 0.861895 0.689474 0.567579 0.486747 0.378827 0.320133 +0.28416 0.270907 0.263333 0.253867 0.23872 0.231147 0.229253 0.234933 +0.236827 0.229253 0.22168 0.219787 0.217893 0.216 0.216 0.000973333 +0.000986667 0.216 0.216 0.216 0.000993333 0.00098 0.000986667 0.217893 +0.216 0.000986667 0.00098 0.00098 0.000986667 0.000993333 0.22168 0.219787 +0.000986667 0.00098 0.000986667 0.219787 0.223573 0.219787 0.223573 0.223573 +0.223573 0.216 0.000993333 0.225467 0.231147 0.22736 0.229253 0.23304 +0.229253 0.225467 0.23304 0.234933 0.23304 0.231147 0.240613 0.2444 +0.23872 0.240613 0.246293 0.251973 0.2444 0.236827 0.2444 0.251973 +0.2444 0.236827 0.240613 0.242507 0.246293 0.23872 0.240613 0.248187 +0.246293 0.251973 0.259547 0.259547 0.257653 0.248187 0.25008 0.25008 +0.259547 0.274693 0.282267 0.3012 0.339067 0.382613 0.4716 0.527158 +0.556842 0.585895 0.628842 0.688211 0.740632 0.786737 0.839158 0.900421 +0.959789 0.996 1.01559 1.03224 1.04629 1.05837 1.06456 1.05771 +1.05249 1.04335 1.03159 1.01624 0.994041 0.958526 0.908632 0.851789 +0.795579 0.742526 0.693895 0.649684 0.612421 0.580211 0.553684 0.534737 +0.516421 0.5 0.464027 0.435627 0.416693 0.395867 0.378827 0.36368 +0.350427 0.33528 0.32392 0.322027 0.322027 0.31256 0.31824 0.308773 +0.287947 0.28984 0.282267 0.280373 0.287947 0.287947 0.274693 0.27848 +0.28416 0.287947 0.28416 0.276587 0.265227 0.265227 0.263333 0.259547 +0.263333 0.257653 0.26144 0.270907 0.26144 0.253867 0.246293 0.23304 +0.2444 0.246293 0.23304 0.240613 0.242507 0.242507 0.234933 0.236827 +0.234933 0.23304 0.240613 0.246293 0.253867 0.240613 0.234933 0.23872 +0.236827 0.22168 0.219787 0.2444 0.248187 0.242507 0.240613 0.242507 +0.234933 0.242507 0.251973 0.234933 0.22736 0.246293 0.23304 0.22736 +0.234933 0.234933 0.231147 0.231147 0.234933 0.23304 0.225467 0.22736 +0.240613 0.242507 0.223573 0.217893 0.225467 0.000986667 0.000946667 0.00094 +0.000946667 0.000946667 0.00098 0.000986667 0.00094 0.000986667 0.219787 0.000993333 +0.216 0.219787 0.223573 0.231147 0.23304 0.223573 0.217893 0.22168 +0.231147 0.231147 0.22736 0.225467 0.219787 0.22168 0.217893 0.216 +0.223573 0.22168 0.223573 0.22736 0.219787 0.219787 0.22736 0.217893 +0.219787 0.22168 0.219787 0.000973333 0.00096 0.000906667 0.00092 0.000986667 +0.000973333 0.000973333 0.22736 0.2444 0.23872 0.234933 0.23872 0.23304 +0.223573 0.22736 0.242507 0.2444 0.236827 0.22168 0.225467 0.240613 +0.240613 0.242507 0.246293 0.25008 0.253867 0.257653 0.265227 0.253867 +0.253867 0.257653 0.253867 0.26144 0.259547 0.257653 0.263333 0.259547 +0.25576 0.26144 0.270907 0.263333 0.257653 0.26712 0.26712 0.269013 +0.276587 0.282267 0.291733 0.28984 0.287947 0.28984 0.291733 0.299307 +0.29552 0.297413 0.310667 0.314453 0.3012 0.304987 0.31824 0.325813 +0.342853 0.359893 0.354213 0.356107 0.37504 0.378827 0.40344 0.4148 +0.439413 0.469707 0.501263 0.513263 0.531579 0.556842 0.582737 0.617474 +0.659158 0.704632 0.754526 0.806947 0.856211 0.908632 0.958526 0.992082 +1.01461 1.03322 1.04629 1.0551 1.06456 1.06456 1.05706 1.04955 +1.03551 1.01886 0.99698 0.960421 0.899158 0.837895 0.772842 0.716 +0.658526 0.609263 0.575158 0.539789 0.501895 0.411013 0.34664 0.314453 +0.29552 0.274693 0.274693 0.26712 0.251973 0.25008 0.251973 0.2444 +0.248187 0.251973 0.248187 0.246293 0.248187 0.253867 0.251973 0.257653 +0.257653 0.25008 0.259547 0.257653 0.259547 0.25576 0.246293 0.2444 +0.240613 0.2444 0.248187 0.240613 0.242507 0.2444 0.246293 0.234933 +0.23304 0.231147 0.23304 0.242507 0.234933 0.234933 0.246293 0.234933 +0.231147 0.240613 0.23304 0.217893 0.219787 0.22168 0.00098 0.216 +0.223573 0.217893 0.22736 0.22736 0.000993333 0.216 0.217893 0.000986667 +0.000993333 0.216 0.219787 0.000993333 0.000993333 0.223573 0.225467 0.216 +0.000966667 0.000973333 0.216 0.219787 0.219787 0.22168 0.219787 0.231147 +0.242507 0.2444 0.242507 0.2444 0.26144 0.26712 0.270907 0.286053 +0.31256 0.337173 0.393973 0.512632 0.594737 0.723579 0.893474 1.00286 +1.00122 0.882105 0.706526 0.573895 0.48296 0.354213 0.274693 0.223573 +0.00092 0.000893333 0.000906667 0.000926667 0.00094 0.000886667 0.000813333 0.000753333 +0.000706667 0.000733333 0.000753333 0.00082 0.000873333 0.000846667 0.000786667 0.000786667 +0.00082 0.000806667 0.000806667 0.000833333 0.000766667 0.000773333 0.000773333 0.000793333 +0.0008 0.0008 0.000786667 0.000793333 0.000793333 0.000786667 0.000786667 0.000793333 +0.0008 0.000806667 0.00082 0.00082 0.000826667 0.000826667 0.000813333 0.0008 +0.000746667 0.000706667 0.0007 0.000733333 0.000793333 0.000873333 0.000926667 0.000926667 +0.000913333 0.00092 0.216 0.265227 0.359893 0.500632 0.577684 0.708421 +0.882105 0.998286 0.994694 0.865684 0.691368 0.56 0.473493 0.36936 +0.31256 0.282267 0.26712 0.25576 0.242507 0.23304 0.229253 0.23304 +0.229253 0.22736 0.225467 0.22736 0.22736 0.217893 0.00098 0.00098 +0.217893 0.219787 0.219787 0.217893 0.00098 0.00096 0.000986667 0.219787 +0.216 0.000986667 0.000973333 0.00096 0.000973333 0.00098 0.000993333 0.000973333 +0.000986667 0.000993333 0.217893 0.219787 0.219787 0.217893 0.217893 0.219787 +0.217893 0.219787 0.22736 0.236827 0.234933 0.22736 0.231147 0.229253 +0.22736 0.223573 0.229253 0.236827 0.23872 0.236827 0.240613 0.240613 +0.240613 0.2444 0.251973 0.25576 0.242507 0.23304 0.240613 0.246293 +0.2444 0.23304 0.22736 0.231147 0.23304 0.234933 0.2444 0.25008 +0.23872 0.240613 0.253867 0.257653 0.259547 0.251973 0.25008 0.246293 +0.240613 0.242507 0.251973 0.251973 0.246293 0.257653 0.276587 0.3012 +0.32392 0.350427 0.401547 0.479173 0.518947 0.542316 0.572632 0.620632 +0.676842 0.730526 0.786105 0.845474 0.901053 0.949684 0.987184 1.00873 +1.02865 1.04367 1.05576 1.07826 1.08587 1.05967 1.05216 1.04073 +1.02376 1.00514 0.983918 0.940842 0.895368 0.844842 0.794947 0.746947 +0.700842 0.657895 0.620632 0.588421 0.561263 0.538526 0.518316 0.502526 +0.467813 0.435627 0.4148 0.407227 0.39208 0.382613 0.37504 0.354213 +0.327707 0.325813 0.325813 0.31824 0.320133 0.316347 0.308773 0.310667 +0.310667 0.3012 0.299307 0.297413 0.28984 0.287947 0.286053 0.27848 +0.276587 0.2728 0.28416 0.282267 0.26144 0.269013 0.265227 0.251973 +0.26144 0.259547 0.257653 0.26712 0.26144 0.251973 0.246293 0.251973 +0.242507 0.240613 0.257653 0.2728 0.265227 0.251973 0.236827 0.240613 +0.25576 0.236827 0.23304 0.246293 0.2444 0.246293 0.242507 0.23872 +0.23872 0.253867 0.25576 0.25008 0.2444 0.25008 0.236827 0.240613 +0.242507 0.240613 0.234933 0.240613 0.240613 0.23872 0.234933 0.236827 +0.25008 0.251973 0.229253 0.225467 0.234933 0.23304 0.229253 0.217893 +0.00098 0.000946667 0.000953333 0.000953333 0.000906667 0.000953333 0.217893 0.216 +0.217893 0.219787 0.219787 0.22168 0.225467 0.219787 0.217893 0.223573 +0.225467 0.231147 0.225467 0.22736 0.234933 0.231147 0.223573 0.22168 +0.223573 0.219787 0.217893 0.229253 0.000993333 0.000993333 0.22736 0.225467 +0.223573 0.000986667 0.000973333 0.000966667 0.000953333 0.000966667 0.000993333 0.23872 +0.23304 0.22736 0.225467 0.23872 0.240613 0.2444 0.246293 0.240613 +0.236827 0.242507 0.257653 0.257653 0.25008 0.234933 0.242507 0.265227 +0.263333 0.26712 0.26712 0.259547 0.263333 0.26712 0.27848 0.26712 +0.26712 0.2728 0.27848 0.27848 0.280373 0.274693 0.280373 0.27848 +0.274693 0.282267 0.286053 0.282267 0.287947 0.28984 0.27848 0.286053 +0.29552 0.29552 0.299307 0.304987 0.314453 0.31824 0.322027 0.322027 +0.322027 0.33528 0.359893 0.367467 0.359893 0.367467 0.3864 0.39776 +0.4148 0.4432 0.462133 0.473493 0.503789 0.518947 0.542316 0.566316 +0.592842 0.626947 0.666737 0.709684 0.757684 0.808842 0.857474 0.907368 +0.957895 0.992082 1.01233 1.02931 1.04171 1.0502 1.05576 1.05673 +1.05608 1.05216 1.04204 1.02865 1.012 0.993061 0.965474 0.92 +0.861895 0.801263 0.741895 0.673684 0.614947 0.566316 0.521474 0.486747 +0.429947 0.371253 0.337173 0.308773 0.286053 0.274693 0.26712 0.257653 +0.246293 0.236827 0.2444 0.248187 0.236827 0.2444 0.242507 0.23304 +0.23304 0.251973 0.251973 0.25008 0.25008 0.248187 0.246293 0.251973 +0.251973 0.251973 0.251973 0.248187 0.25576 0.248187 0.2444 0.240613 +0.236827 0.23872 0.236827 0.240613 0.248187 0.246293 0.240613 0.223573 +0.217893 0.22168 0.223573 0.231147 0.225467 0.225467 0.234933 0.231147 +0.22736 0.23304 0.231147 0.223573 0.223573 0.225467 0.216 0.000993333 +0.219787 0.000986667 0.219787 0.229253 0.000986667 0.00098 0.000993333 0.000993333 +0.216 0.000993333 0.000986667 0.00098 0.000993333 0.223573 0.22168 0.22736 +0.22736 0.22168 0.22168 0.22736 0.22168 0.22168 0.22168 0.22736 +0.23304 0.23872 0.246293 0.242507 0.257653 0.27848 0.291733 0.304987 +0.342853 0.416693 0.518947 0.608 0.752 0.916211 1.00514 0.995673 +0.869474 0.701474 0.573895 0.484853 0.344747 0.259547 0.216 0.00092 +0.00086 0.0009 0.00096 0.00096 0.0009 0.00084 0.00078 0.00074 +0.000713333 0.000766667 0.000786667 0.00082 0.00086 0.00088 0.00086 0.0008 +0.000786667 0.000826667 0.00084 0.00084 0.000766667 0.00078 0.00078 0.000793333 +0.0008 0.000793333 0.0008 0.000806667 0.0008 0.000806667 0.000806667 0.000826667 +0.00084 0.000853333 0.00084 0.000826667 0.00084 0.000813333 0.0008 0.000833333 +0.000846667 0.000806667 0.00074 0.00072 0.000753333 0.0008 0.000886667 0.000946667 +0.000946667 0.000946667 0.000953333 0.000946667 0.25008 0.350427 0.490533 0.573263 +0.697053 0.866316 0.991429 0.992082 0.865053 0.683789 0.553053 0.46024 +0.36936 0.31256 0.276587 0.259547 0.253867 0.2444 0.236827 0.231147 +0.22736 0.225467 0.217893 0.219787 0.22168 0.216 0.000986667 0.000993333 +0.000993333 0.000993333 0.217893 0.000993333 0.000966667 0.216 0.219787 0.223573 +0.223573 0.000993333 0.000966667 0.00098 0.000986667 0.00098 0.000993333 0.219787 +0.223573 0.22168 0.217893 0.22168 0.217893 0.216 0.217893 0.217893 +0.219787 0.223573 0.22736 0.229253 0.23304 0.229253 0.22736 0.22168 +0.225467 0.234933 0.23872 0.236827 0.23304 0.23872 0.240613 0.2444 +0.240613 0.234933 0.23304 0.234933 0.23304 0.23304 0.23304 0.229253 +0.236827 0.234933 0.234933 0.23872 0.236827 0.234933 0.234933 0.23872 +0.236827 0.248187 0.248187 0.242507 0.240613 0.242507 0.248187 0.242507 +0.23872 0.242507 0.240613 0.229253 0.229253 0.23872 0.2444 0.248187 +0.253867 0.25576 0.263333 0.2728 0.291733 0.30688 0.333387 0.388293 +0.44888 0.500632 0.534737 0.580211 0.618737 0.655368 0.706526 0.774737 +0.840421 0.893474 0.940842 0.982939 1.00645 1.02408 1.03812 1.0502 +1.05869 1.07522 1.07522 1.05902 1.05151 1.04073 1.02637 1.00971 +0.990449 0.954737 0.905474 0.858105 0.810105 0.763368 0.717895 0.674947 +0.637684 0.601684 0.573895 0.549263 0.529684 0.515789 0.503158 0.469707 +0.435627 0.422373 0.4148 0.399653 0.373147 0.365573 0.371253 0.361787 +0.348533 0.33528 0.325813 0.3296 0.325813 0.316347 0.31256 0.304987 +0.299307 0.303093 0.30688 0.29552 0.286053 0.282267 0.286053 0.28984 +0.286053 0.27848 0.27848 0.28416 0.280373 0.265227 0.263333 0.2728 +0.2728 0.265227 0.265227 0.2728 0.263333 0.259547 0.257653 0.263333 +0.269013 0.25576 0.25576 0.25576 0.240613 0.248187 0.25576 0.253867 +0.259547 0.270907 0.259547 0.246293 0.248187 0.248187 0.23872 0.2444 +0.25576 0.25576 0.246293 0.246293 0.2444 0.23872 0.242507 0.25008 +0.26144 0.25576 0.240613 0.242507 0.236827 0.236827 0.25008 0.25008 +0.240613 0.23304 0.229253 0.219787 0.00096 0.00098 0.217893 0.00098 +0.000993333 0.223573 0.229253 0.23304 0.231147 0.223573 0.22736 0.23304 +0.236827 0.240613 0.22736 0.23872 0.2444 0.22736 0.225467 0.231147 +0.231147 0.223573 0.22736 0.236827 0.225467 0.225467 0.225467 0.219787 +0.223573 0.217893 0.216 0.000973333 0.217893 0.240613 0.25576 0.270907 +0.257653 0.251973 0.23872 0.242507 0.257653 0.265227 0.26712 0.259547 +0.2444 0.248187 0.269013 0.274693 0.265227 0.251973 0.259547 0.282267 +0.27848 0.2728 0.270907 0.2728 0.28416 0.280373 0.282267 0.274693 +0.269013 0.28416 0.297413 0.29552 0.304987 0.299307 0.299307 0.291733 +0.293627 0.304987 0.30688 0.304987 0.31256 0.31256 0.31256 0.320133 +0.337173 0.339067 0.34096 0.34096 0.358 0.376933 0.39208 0.3864 +0.390187 0.416693 0.439413 0.462133 0.473493 0.501263 0.515789 0.534737 +0.556211 0.582105 0.611158 0.638947 0.684421 0.726737 0.774105 0.824632 +0.871368 0.92 0.967368 0.995347 1.01494 1.03224 1.044 1.0551 +1.06304 1.07522 1.06456 1.0538 1.04792 1.0342 1.01657 0.999918 +0.979368 0.939579 0.887789 0.827789 0.770316 0.724211 0.681263 0.642105 +0.594105 0.548 0.512632 0.43752 0.367467 0.327707 0.293627 0.27848 +0.276587 0.26144 0.257653 0.251973 0.251973 0.25576 0.25008 0.2444 +0.236827 0.234933 0.23872 0.23872 0.234933 0.23872 0.23304 0.223573 +0.23872 0.246293 0.257653 0.25008 0.236827 0.22736 0.2444 0.253867 +0.2444 0.234933 0.234933 0.23872 0.248187 0.25008 0.246293 0.23304 +0.231147 0.240613 0.234933 0.23872 0.240613 0.236827 0.2444 0.240613 +0.231147 0.219787 0.000966667 0.000986667 0.22168 0.219787 0.219787 0.223573 +0.223573 0.225467 0.223573 0.223573 0.22168 0.216 0.22168 0.22168 +0.000993333 0.000986667 0.00098 0.217893 0.000986667 0.000973333 0.000986667 0.000986667 +0.000993333 0.000986667 0.000993333 0.000973333 0.00096 0.00098 0.217893 0.22736 +0.225467 0.22168 0.216 0.22168 0.229253 0.22736 0.231147 0.236827 +0.236827 0.242507 0.253867 0.25576 0.270907 0.291733 0.31256 0.342853 +0.42048 0.522737 0.610526 0.754526 0.930737 1.01004 0.990449 0.849895 +0.688211 0.570105 0.49432 0.361787 0.2728 0.219787 0.000906667 0.000926667 +0.000946667 0.000966667 0.000986667 0.000946667 0.00086 0.000766667 0.00076 0.000773333 +0.00082 0.00084 0.000826667 0.000846667 0.000846667 0.000826667 0.00084 0.000853333 +0.000806667 0.0008 0.00084 0.000846667 0.00076 0.000766667 0.000793333 0.000806667 +0.000806667 0.000813333 0.000826667 0.000813333 0.000806667 0.000793333 0.0008 0.000833333 +0.000813333 0.000813333 0.000813333 0.00082 0.00084 0.000846667 0.000873333 0.000866667 +0.000853333 0.000846667 0.0008 0.00076 0.00074 0.000786667 0.000906667 0.223573 +0.23872 0.25576 0.2728 0.2728 0.263333 0.276587 0.354213 0.47728 +0.559368 0.678105 0.841684 0.982286 0.988163 0.859368 0.678105 0.557474 +0.48296 0.36936 0.31256 0.291733 0.276587 0.259547 0.242507 0.231147 +0.231147 0.229253 0.219787 0.217893 0.225467 0.219787 0.219787 0.22168 +0.223573 0.217893 0.216 0.22168 0.219787 0.22168 0.22168 0.22168 +0.219787 0.216 0.00098 0.000993333 0.216 0.00098 0.00098 0.000993333 +0.22168 0.22168 0.217893 0.219787 0.22168 0.223573 0.22168 0.219787 +0.223573 0.225467 0.219787 0.22168 0.22736 0.22736 0.231147 0.225467 +0.225467 0.229253 0.234933 0.234933 0.225467 0.223573 0.22168 0.234933 +0.23304 0.22736 0.22168 0.225467 0.22736 0.231147 0.231147 0.22736 +0.236827 0.234933 0.23304 0.236827 0.240613 0.234933 0.234933 0.236827 +0.234933 0.234933 0.23872 0.23872 0.23872 0.236827 0.229253 0.229253 +0.23872 0.242507 0.240613 0.236827 0.23872 0.234933 0.23304 0.236827 +0.240613 0.240613 0.248187 0.242507 0.236827 0.2444 0.253867 0.26144 +0.269013 0.270907 0.293627 0.331493 0.359893 0.39776 0.481067 0.535368 +0.575789 0.613053 0.655368 0.698947 0.753895 0.811368 0.864421 0.916842 +0.971158 0.998286 1.01494 1.03127 1.04171 1.05118 1.06152 1.08891 +1.09348 1.06913 1.05151 1.04302 1.0329 1.01755 0.999918 0.978737 +0.937053 0.890316 0.842316 0.794316 0.751368 0.710947 0.672421 0.637684 +0.608632 0.581474 0.561263 0.542316 0.519579 0.506947 0.501895 0.473493 +0.446987 0.422373 0.405333 0.399653 0.395867 0.378827 0.361787 0.354213 +0.34096 0.34664 0.348533 0.33528 0.331493 0.31256 0.310667 0.31824 +0.304987 0.297413 0.304987 0.310667 0.30688 0.297413 0.29552 0.297413 +0.291733 0.293627 0.287947 0.28416 0.27848 0.276587 0.274693 0.28416 +0.270907 0.26144 0.27848 0.282267 0.26712 0.259547 0.265227 0.2728 +0.280373 0.282267 0.270907 0.265227 0.26144 0.263333 0.257653 0.259547 +0.26712 0.276587 0.270907 0.265227 0.25576 0.257653 0.26712 0.2728 +0.280373 0.270907 0.26144 0.265227 0.25008 0.253867 0.26712 0.263333 +0.259547 0.265227 0.26144 0.25008 0.242507 0.240613 0.231147 0.217893 +0.219787 0.22736 0.231147 0.23872 0.23304 0.223573 0.234933 0.23872 +0.242507 0.25008 0.234933 0.248187 0.248187 0.23304 0.236827 0.2444 +0.242507 0.229253 0.234933 0.23872 0.23304 0.23304 0.22168 0.219787 +0.225467 0.22736 0.240613 0.23872 0.248187 0.259547 0.269013 0.27848 +0.26712 0.26712 0.265227 0.269013 0.27848 0.286053 0.286053 0.291733 +0.276587 0.2728 0.286053 0.29552 0.297413 0.282267 0.28416 0.308773 +0.308773 0.287947 0.287947 0.29552 0.310667 0.31256 0.31256 0.3012 +0.29552 0.308773 0.325813 0.325813 0.33528 0.331493 0.327707 0.325813 +0.337173 0.34664 0.358 0.367467 0.371253 0.359893 0.373147 0.393973 +0.405333 0.42048 0.43752 0.446987 0.473493 0.501895 0.512 0.525895 +0.541684 0.561263 0.586526 0.614947 0.642737 0.671789 0.716632 0.763368 +0.808211 0.853684 0.899789 0.940842 0.985878 1.00449 1.02212 1.03878 +1.04922 1.05673 1.06609 1.07369 1.05967 1.05576 1.04857 1.03943 +1.0231 1.00678 0.989469 0.954737 0.917474 0.863158 0.794947 0.742526 +0.692632 0.646526 0.599158 0.552421 0.519579 0.496213 0.456453 0.416693 +0.36936 0.31256 0.282267 0.26712 0.251973 0.246293 0.248187 0.248187 +0.251973 0.251973 0.25008 0.236827 0.236827 0.236827 0.240613 0.240613 +0.23304 0.242507 0.236827 0.234933 0.23872 0.25008 0.251973 0.236827 +0.23872 0.236827 0.242507 0.25576 0.2444 0.229253 0.236827 0.242507 +0.23872 0.231147 0.22736 0.231147 0.23872 0.242507 0.2444 0.23304 +0.231147 0.229253 0.223573 0.225467 0.229253 0.242507 0.246293 0.23304 +0.23304 0.225467 0.217893 0.217893 0.000986667 0.000993333 0.00098 0.217893 +0.223573 0.219787 0.217893 0.219787 0.229253 0.217893 0.000986667 0.219787 +0.00098 0.00098 0.217893 0.223573 0.22168 0.217893 0.00098 0.000993333 +0.217893 0.223573 0.22168 0.216 0.000993333 0.219787 0.229253 0.22168 +0.216 0.225467 0.229253 0.219787 0.219787 0.225467 0.236827 0.2444 +0.23872 0.240613 0.25008 0.26144 0.27848 0.308773 0.358 0.439413 +0.532842 0.62 0.760842 0.932632 1.00971 0.985878 0.839158 0.678105 +0.562526 0.492427 0.382613 0.308773 0.269013 0.28416 0.30688 0.325813 +0.333387 0.308773 0.26712 0.216 0.000866667 0.00078 0.000773333 0.000826667 +0.00086 0.000906667 0.000873333 0.000866667 0.000853333 0.00084 0.000853333 0.00088 +0.00086 0.000826667 0.000813333 0.00084 0.000773333 0.000766667 0.000786667 0.0008 +0.0008 0.000813333 0.000806667 0.000813333 0.00082 0.000793333 0.000793333 0.00082 +0.00082 0.0008 0.000833333 0.00086 0.000833333 0.000833333 0.000853333 0.000833333 +0.000833333 0.000853333 0.00084 0.000813333 0.000793333 0.000826667 0.000986667 0.304987 +0.390187 0.473493 0.510737 0.515789 0.496213 0.38072 0.31824 0.354213 +0.46592 0.554316 0.66421 0.825895 0.974316 0.987184 0.863789 0.696421 +0.573895 0.501263 0.38072 0.327707 0.299307 0.276587 0.263333 0.242507 +0.23304 0.23872 0.231147 0.229253 0.234933 0.22736 0.223573 0.23304 +0.234933 0.223573 0.000986667 0.219787 0.225467 0.216 0.000973333 0.000993333 +0.000986667 0.000986667 0.216 0.219787 0.216 0.000993333 0.000993333 0.216 +0.22168 0.217893 0.000993333 0.219787 0.225467 0.217893 0.000993333 0.216 +0.22168 0.219787 0.216 0.22168 0.225467 0.22168 0.229253 0.23304 +0.225467 0.22168 0.225467 0.231147 0.225467 0.22168 0.22168 0.223573 +0.22736 0.231147 0.229253 0.23304 0.229253 0.229253 0.234933 0.234933 +0.242507 0.23872 0.23304 0.23872 0.23872 0.240613 0.2444 0.248187 +0.242507 0.234933 0.231147 0.231147 0.234933 0.231147 0.231147 0.23872 +0.2444 0.234933 0.240613 0.240613 0.23872 0.234933 0.240613 0.236827 +0.23304 0.231147 0.23304 0.22736 0.223573 0.236827 0.246293 0.23304 +0.231147 0.236827 0.236827 0.23872 0.242507 0.248187 0.26144 0.297413 +0.320133 0.35232 0.405333 0.46592 0.516421 0.549263 0.584632 0.628211 +0.685684 0.736211 0.782316 0.836 0.877684 0.92 0.966737 0.993388 +1.01102 1.02539 1.03649 1.04857 1.05902 1.07826 1.08587 1.08587 +1.07369 1.05543 1.04204 1.02702 1.01331 0.99698 0.977474 0.939579 +0.897895 0.858105 0.817684 0.775368 0.736211 0.700842 0.665474 0.637053 +0.608632 0.580842 0.560632 0.545474 0.531579 0.516421 0.502526 0.473493 +0.452667 0.4432 0.43752 0.422373 0.395867 0.37504 0.367467 0.36936 +0.36368 0.354213 0.356107 0.348533 0.344747 0.34096 0.333387 0.32392 +0.31824 0.322027 0.32392 0.322027 0.314453 0.299307 0.293627 0.308773 +0.297413 0.299307 0.304987 0.304987 0.297413 0.291733 0.287947 0.293627 +0.304987 0.303093 0.299307 0.299307 0.293627 0.28416 0.276587 0.274693 +0.280373 0.291733 0.293627 0.286053 0.269013 0.28416 0.293627 0.291733 +0.299307 0.287947 0.291733 0.291733 0.27848 0.276587 0.280373 0.2728 +0.274693 0.293627 0.28984 0.28416 0.282267 0.276587 0.26712 0.259547 +0.253867 0.251973 0.242507 0.2444 0.23872 0.234933 0.246293 0.240613 +0.246293 0.257653 0.2444 0.25008 0.251973 0.248187 0.25576 0.25576 +0.248187 0.240613 0.242507 0.242507 0.240613 0.242507 0.246293 0.251973 +0.251973 0.25576 0.274693 0.274693 0.2728 0.274693 0.282267 0.28984 +0.280373 0.28416 0.287947 0.297413 0.308773 0.304987 0.297413 0.308773 +0.304987 0.3012 0.31256 0.322027 0.32392 0.310667 0.314453 0.337173 +0.337173 0.322027 0.325813 0.327707 0.337173 0.342853 0.350427 0.34664 +0.34664 0.356107 0.378827 0.38072 0.3864 0.382613 0.390187 0.411013 +0.416693 0.429947 0.464027 0.490533 0.498107 0.503789 0.514526 0.530316 +0.546737 0.565053 0.587789 0.612421 0.641474 0.673053 0.707789 0.745053 +0.781684 0.820842 0.868211 0.914316 0.954105 0.984245 1.00514 1.0231 +1.03649 1.04727 1.05608 1.06 1.07522 1.06456 1.05706 1.05576 +1.0489 1.03616 1.02049 1.00286 0.980327 0.948421 0.909263 0.856211 +0.798737 0.752632 0.714737 0.671789 0.636421 0.591579 0.539789 0.509474 +0.45456 0.38072 0.327707 0.291733 0.286053 0.274693 0.265227 0.257653 +0.251973 0.246293 0.240613 0.2444 0.240613 0.23872 0.248187 0.2444 +0.23872 0.242507 0.236827 0.223573 0.229253 0.23304 0.23304 0.225467 +0.22168 0.231147 0.236827 0.23304 0.246293 0.2444 0.236827 0.236827 +0.240613 0.242507 0.2444 0.251973 0.240613 0.22736 0.231147 0.23304 +0.234933 0.23304 0.217893 0.219787 0.23304 0.234933 0.231147 0.231147 +0.23304 0.225467 0.229253 0.22736 0.225467 0.229253 0.23304 0.225467 +0.229253 0.229253 0.217893 0.225467 0.223573 0.225467 0.225467 0.219787 +0.223573 0.217893 0.216 0.223573 0.22736 0.219787 0.000973333 0.22168 +0.223573 0.000993333 0.22168 0.225467 0.217893 0.219787 0.22168 0.216 +0.217893 0.229253 0.22736 0.225467 0.229253 0.22736 0.23304 0.229253 +0.22736 0.23304 0.236827 0.22736 0.225467 0.236827 0.25008 0.265227 +0.26144 0.257653 0.269013 0.286053 0.303093 0.33528 0.433733 0.537263 +0.634526 0.779789 0.945895 1.01135 0.982612 0.821474 0.663579 0.559368 +0.496213 0.40344 0.348533 0.344747 0.446987 0.544211 0.594737 0.612421 +0.594105 0.548 0.486747 0.32392 0.00098 0.00088 0.0009 0.00088 +0.0009 0.000926667 0.000866667 0.000806667 0.00082 0.000833333 0.000853333 0.00086 +0.00088 0.000886667 0.000846667 0.000833333 0.000746667 0.000733333 0.000766667 0.0008 +0.000786667 0.000773333 0.00078 0.00078 0.0008 0.000813333 0.000826667 0.000826667 +0.00082 0.00082 0.000846667 0.000846667 0.00084 0.000833333 0.000813333 0.0008 +0.00084 0.00088 0.000886667 0.000866667 0.00088 0.000946667 0.320133 0.519579 +0.598526 0.669895 0.719789 0.729895 0.704632 0.625684 0.527158 0.412907 +0.405333 0.496213 0.550526 0.655368 0.816421 0.970526 0.991755 0.890316 +0.721684 0.587158 0.508211 0.390187 0.327707 0.29552 0.274693 0.253867 +0.240613 0.242507 0.23872 0.229253 0.234933 0.231147 0.225467 0.23304 +0.23872 0.225467 0.217893 0.225467 0.219787 0.219787 0.219787 0.219787 +0.216 0.217893 0.225467 0.231147 0.22168 0.217893 0.000986667 0.000966667 +0.216 0.000993333 0.000986667 0.219787 0.219787 0.000986667 0.216 0.223573 +0.22736 0.223573 0.219787 0.216 0.219787 0.223573 0.225467 0.231147 +0.225467 0.219787 0.22168 0.225467 0.22736 0.225467 0.22168 0.225467 +0.225467 0.229253 0.236827 0.23872 0.231147 0.229253 0.234933 0.234933 +0.23872 0.23872 0.240613 0.240613 0.23872 0.242507 0.240613 0.240613 +0.240613 0.240613 0.23872 0.234933 0.225467 0.22736 0.234933 0.2444 +0.248187 0.246293 0.2444 0.234933 0.22736 0.236827 0.246293 0.240613 +0.242507 0.23872 0.22168 0.000993333 0.000986667 0.23872 0.248187 0.231147 +0.22736 0.236827 0.231147 0.229253 0.236827 0.236827 0.22736 0.23304 +0.23304 0.229253 0.240613 0.248187 0.257653 0.282267 0.31824 0.373147 +0.452667 0.512 0.537263 0.570737 0.598526 0.632632 0.680632 0.719158 +0.759579 0.805684 0.858737 0.913684 0.960421 0.987837 1.00188 1.01559 +1.02931 1.04139 1.04824 1.05445 1.07369 1.09652 1.09956 1.08282 +1.05967 1.05249 1.04073 1.02376 1.00841 0.992082 0.967368 0.937053 +0.899158 0.858105 0.822105 0.786105 0.750737 0.714105 0.681895 0.651579 +0.627579 0.604211 0.583368 0.566316 0.548 0.531579 0.519579 0.510105 +0.503789 0.492427 0.4716 0.446987 0.429947 0.416693 0.40912 0.395867 +0.39208 0.390187 0.388293 0.371253 0.361787 0.35232 0.35232 0.34664 +0.339067 0.35232 0.348533 0.339067 0.333387 0.331493 0.327707 0.325813 +0.337173 0.33528 0.32392 0.322027 0.322027 0.314453 0.304987 0.303093 +0.31256 0.31824 0.31824 0.310667 0.299307 0.314453 0.320133 0.304987 +0.30688 0.303093 0.308773 0.297413 0.286053 0.286053 0.297413 0.291733 +0.297413 0.320133 0.310667 0.3012 0.3012 0.299307 0.293627 0.297413 +0.297413 0.28984 0.280373 0.270907 0.253867 0.2444 0.246293 0.246293 +0.26144 0.269013 0.259547 0.26712 0.265227 0.265227 0.265227 0.26144 +0.25576 0.251973 0.253867 0.25576 0.26144 0.269013 0.287947 0.303093 +0.29552 0.287947 0.299307 0.3012 0.299307 0.299307 0.303093 0.314453 +0.314453 0.316347 0.316347 0.331493 0.33528 0.339067 0.333387 0.342853 +0.344747 0.33528 0.35232 0.367467 0.367467 0.365573 0.36936 0.38072 +0.38072 0.382613 0.388293 0.39776 0.40344 0.412907 0.428053 0.441307 +0.456453 0.4716 0.501895 0.509474 0.519579 0.525895 0.539158 0.559368 +0.572 0.589053 0.616842 0.642737 0.666105 0.693263 0.721684 0.760211 +0.796842 0.834737 0.876421 0.911789 0.947789 0.982939 1.00122 1.0169 +1.02898 1.03943 1.05151 1.06152 1.09043 1.09804 1.09348 1.09043 +1.06152 1.04988 1.0391 1.02669 1.01069 0.993714 0.968 0.937053 +0.905474 0.863789 0.808211 0.749474 0.692632 0.656 0.621895 0.572 +0.530316 0.508842 0.479173 0.422373 0.378827 0.33528 0.28984 0.2728 +0.257653 0.2444 0.229253 0.225467 0.23872 0.234933 0.223573 0.22168 +0.22168 0.23304 0.242507 0.246293 0.2444 0.23872 0.246293 0.240613 +0.225467 0.23304 0.229253 0.223573 0.22736 0.229253 0.231147 0.23304 +0.236827 0.25008 0.248187 0.231147 0.240613 0.240613 0.229253 0.240613 +0.251973 0.248187 0.23872 0.240613 0.236827 0.236827 0.240613 0.236827 +0.22736 0.225467 0.22168 0.22736 0.236827 0.234933 0.23304 0.22736 +0.236827 0.23872 0.234933 0.234933 0.22736 0.229253 0.229253 0.223573 +0.229253 0.22168 0.000993333 0.223573 0.231147 0.22168 0.000993333 0.225467 +0.22736 0.225467 0.22168 0.22736 0.22736 0.219787 0.223573 0.22736 +0.225467 0.217893 0.225467 0.22736 0.000986667 0.216 0.219787 0.216 +0.216 0.22736 0.223573 0.219787 0.223573 0.22736 0.23304 0.236827 +0.234933 0.229253 0.234933 0.23872 0.229253 0.229253 0.23872 0.25576 +0.26712 0.276587 0.3012 0.32392 0.361787 0.445093 0.539158 0.641474 +0.796842 0.964842 1.01494 0.980653 0.813263 0.654105 0.550526 0.48296 +0.429947 0.445093 0.503789 0.561895 0.669263 0.788632 0.863789 0.879579 +0.841684 0.763368 0.658526 0.536632 0.320133 0.217893 0.00098 0.000966667 +0.00094 0.000926667 0.0009 0.000866667 0.00084 0.000833333 0.00084 0.000846667 +0.000833333 0.000833333 0.000833333 0.000833333 0.000746667 0.000746667 0.00076 0.000746667 +0.000753333 0.000746667 0.00072 0.000726667 0.000753333 0.000773333 0.0008 0.0008 +0.000793333 0.0008 0.000786667 0.000786667 0.000826667 0.00084 0.000833333 0.000813333 +0.000826667 0.000853333 0.000893333 0.000906667 0.00094 0.25576 0.515158 0.677474 +0.812632 0.902947 0.956632 0.970526 0.942737 0.861895 0.725474 0.591579 +0.524 0.500632 0.504421 0.549263 0.649053 0.810737 0.971158 0.997959 +0.901053 0.726737 0.591579 0.506316 0.3864 0.31824 0.291733 0.2728 +0.253867 0.246293 0.242507 0.23872 0.23872 0.2444 0.236827 0.231147 +0.22736 0.223573 0.22736 0.231147 0.217893 0.219787 0.22168 0.216 +0.00098 0.000973333 0.216 0.219787 0.000973333 0.00096 0.00096 0.000973333 +0.000993333 0.217893 0.000993333 0.219787 0.219787 0.219787 0.22736 0.223573 +0.216 0.219787 0.217893 0.000966667 0.000993333 0.216 0.217893 0.223573 +0.217893 0.216 0.217893 0.22736 0.23304 0.229253 0.223573 0.22736 +0.223573 0.223573 0.231147 0.23872 0.234933 0.229253 0.23304 0.234933 +0.23872 0.236827 0.23304 0.229253 0.23304 0.234933 0.23304 0.234933 +0.240613 0.240613 0.23872 0.236827 0.234933 0.23872 0.23872 0.234933 +0.225467 0.234933 0.231147 0.229253 0.229253 0.234933 0.23304 0.231147 +0.236827 0.240613 0.234933 0.234933 0.22736 0.231147 0.231147 0.225467 +0.22168 0.23872 0.242507 0.23304 0.22736 0.225467 0.217893 0.000993333 +0.217893 0.217893 0.229253 0.229253 0.000993333 0.000993333 0.225467 0.23872 +0.251973 0.27848 0.304987 0.333387 0.35232 0.388293 0.445093 0.490533 +0.513895 0.539789 0.585263 0.636421 0.678105 0.709053 0.738105 0.767789 +0.800632 0.843579 0.891579 0.937684 0.982939 1.00612 1.02473 1.03943 +1.05086 1.05837 1.07522 1.08435 1.07978 1.07978 1.08435 1.0813 +1.05935 1.04955 1.03878 1.02702 1.01298 0.998612 0.983918 0.957263 +0.92379 0.890316 0.854947 0.825263 0.797474 0.765895 0.734947 0.708421 +0.681895 0.661053 0.636421 0.613684 0.594105 0.578947 0.566316 0.554316 +0.543579 0.533474 0.522737 0.513895 0.505684 0.492427 0.47728 0.446987 +0.439413 0.445093 0.4432 0.424267 0.411013 0.405333 0.405333 0.401547 +0.395867 0.384507 0.37504 0.38072 0.390187 0.378827 0.358 0.354213 +0.361787 0.36368 0.356107 0.35232 0.35232 0.367467 0.36368 0.342853 +0.339067 0.34096 0.348533 0.333387 0.320133 0.325813 0.33528 0.327707 +0.333387 0.35232 0.331493 0.320133 0.32392 0.3296 0.32392 0.325813 +0.3296 0.3296 0.333387 0.322027 0.29552 0.286053 0.28416 0.282267 +0.28984 0.28984 0.28984 0.293627 0.282267 0.280373 0.27848 0.286053 +0.287947 0.28416 0.29552 0.304987 0.322027 0.325813 0.333387 0.342853 +0.34096 0.33528 0.342853 0.344747 0.34664 0.348533 0.361787 0.37504 +0.36936 0.373147 0.378827 0.3864 0.39208 0.407227 0.412907 0.429947 +0.43184 0.428053 0.452667 0.475387 0.484853 0.496213 0.500632 0.508211 +0.515789 0.520211 0.527158 0.542947 0.556211 0.566316 0.584 0.600421 +0.616842 0.639579 0.663579 0.689474 0.722947 0.752 0.781053 0.817053 +0.848 0.877684 0.913684 0.945895 0.977474 0.991102 1.0058 1.02082 +1.03388 1.04498 1.05314 1.05967 1.07217 1.08739 1.09804 1.09043 +1.06761 1.0551 1.05216 1.04629 1.0342 1.02016 1.00286 0.986204 +0.948421 0.902316 0.861895 0.813895 0.760211 0.725474 0.681895 0.645263 +0.616842 0.585263 0.547368 0.510105 0.433733 0.388293 0.361787 0.308773 +0.276587 0.274693 0.265227 0.246293 0.231147 0.22168 0.223573 0.229253 +0.223573 0.229253 0.223573 0.217893 0.223573 0.22168 0.22168 0.231147 +0.231147 0.231147 0.242507 0.240613 0.234933 0.229253 0.236827 0.242507 +0.236827 0.231147 0.225467 0.217893 0.223573 0.234933 0.246293 0.248187 +0.246293 0.248187 0.242507 0.23304 0.242507 0.25008 0.23872 0.23304 +0.234933 0.236827 0.236827 0.23872 0.242507 0.240613 0.229253 0.231147 +0.23304 0.22736 0.225467 0.225467 0.217893 0.219787 0.229253 0.231147 +0.236827 0.23304 0.225467 0.231147 0.22736 0.231147 0.225467 0.216 +0.216 0.000986667 0.219787 0.219787 0.000986667 0.217893 0.00098 0.000993333 +0.000993333 0.000993333 0.00098 0.223573 0.229253 0.223573 0.229253 0.225467 +0.22168 0.216 0.223573 0.22736 0.216 0.000993333 0.217893 0.216 +0.219787 0.223573 0.229253 0.225467 0.23304 0.234933 0.231147 0.225467 +0.22736 0.23304 0.236827 0.242507 0.23872 0.23304 0.23872 0.25576 +0.265227 0.27848 0.310667 0.350427 0.441307 0.546737 0.653474 0.806947 +0.975579 1.01592 0.968632 0.801263 0.645895 0.551789 0.496213 0.441307 +0.507579 0.577053 0.673053 0.788 0.916211 0.998612 1.01984 1.01918 +1.00449 0.966737 0.856842 0.674947 0.501263 0.2728 0.22168 0.00098 +0.00096 0.000906667 0.0009 0.000906667 0.000893333 0.00086 0.000853333 0.00086 +0.00084 0.000813333 0.000793333 0.0008 0.00078 0.00078 0.000766667 0.000746667 +0.000773333 0.000766667 0.000733333 0.000733333 0.00074 0.000753333 0.000786667 0.0008 +0.0008 0.000813333 0.000793333 0.0008 0.000813333 0.00084 0.000866667 0.00086 +0.00086 0.000846667 0.00088 0.000906667 0.000973333 0.34096 0.609895 0.839789 +0.982286 1.01331 1.02767 1.03551 1.03094 1.00776 0.936421 0.796842 +0.680632 0.591579 0.528421 0.512632 0.546105 0.643368 0.803158 0.964842 +0.998939 0.907368 0.736842 0.600421 0.515158 0.39776 0.333387 0.299307 +0.276587 0.26712 0.253867 0.2444 0.23872 0.236827 0.23304 0.219787 +0.22168 0.22168 0.225467 0.22168 0.216 0.000973333 0.00096 0.000986667 +0.217893 0.216 0.000993333 0.000993333 0.000986667 0.000973333 0.000993333 0.22168 +0.217893 0.000993333 0.219787 0.000993333 0.000973333 0.00098 0.000986667 0.000973333 +0.00096 0.217893 0.223573 0.22168 0.217893 0.00098 0.000993333 0.217893 +0.216 0.216 0.219787 0.229253 0.22736 0.22168 0.216 0.217893 +0.217893 0.219787 0.225467 0.23304 0.231147 0.231147 0.231147 0.229253 +0.234933 0.234933 0.22736 0.225467 0.225467 0.223573 0.223573 0.229253 +0.236827 0.23304 0.231147 0.229253 0.240613 0.2444 0.234933 0.229253 +0.223573 0.217893 0.217893 0.217893 0.229253 0.229253 0.229253 0.229253 +0.225467 0.22168 0.22736 0.236827 0.23872 0.23304 0.225467 0.217893 +0.000986667 0.223573 0.223573 0.000986667 0.000993333 0.219787 0.225467 0.219787 +0.22168 0.223573 0.22168 0.216 0.000966667 0.00096 0.216 0.22168 +0.000986667 0.000986667 0.217893 0.22168 0.23304 0.240613 0.25008 0.259547 +0.269013 0.29552 0.33528 0.382613 0.424267 0.452667 0.500632 0.515789 +0.532842 0.560632 0.602316 0.646526 0.696421 0.755789 0.810737 0.851789 +0.880842 0.907368 0.943368 0.984571 0.997633 1.0071 1.02114 1.03322 +1.04367 1.05184 1.05739 1.06913 1.07674 1.08282 1.07369 1.05967 +1.05576 1.05118 1.04433 1.03714 1.03029 1.02082 1.00939 0.997633 +0.983592 0.962316 0.933895 0.906105 0.878947 0.856211 0.830947 0.805053 +0.781684 0.758316 0.731158 0.707789 0.684421 0.662947 0.642737 0.623158 +0.612421 0.59979 0.589684 0.576421 0.565684 0.557474 0.550526 0.542316 +0.532842 0.521474 0.514526 0.512632 0.514526 0.508211 0.498107 0.48864 +0.484853 0.475387 0.462133 0.45456 0.462133 0.475387 0.45456 0.439413 +0.43184 0.428053 0.429947 0.416693 0.411013 0.418587 0.42048 0.407227 +0.412907 0.422373 0.39776 0.390187 0.395867 0.401547 0.39776 0.393973 +0.395867 0.393973 0.39776 0.388293 0.384507 0.388293 0.384507 0.373147 +0.371253 0.356107 0.356107 0.358 0.339067 0.33528 0.342853 0.358 +0.367467 0.38072 0.39776 0.401547 0.412907 0.416693 0.416693 0.428053 +0.435627 0.439413 0.45456 0.46024 0.464027 0.475387 0.498107 0.508211 +0.512 0.518316 0.525263 0.529684 0.540421 0.553053 0.56 0.573263 +0.583368 0.592842 0.608 0.625684 0.643368 0.657263 0.671158 0.693263 +0.716 0.733053 0.754526 0.782947 0.809474 0.832211 0.865053 0.890316 +0.916842 0.945895 0.973053 0.989469 1.00612 1.01984 1.02833 1.03812 +1.04824 1.05445 1.05902 1.08435 1.09956 1.09804 1.08587 1.08282 +1.07522 1.05739 1.05086 1.04367 1.03094 1.01886 1.00743 0.991755 +0.967368 0.938947 0.913053 0.878947 0.832842 0.782947 0.736842 0.695789 +0.652211 0.614316 0.585263 0.549263 0.512632 0.486747 0.429947 0.373147 +0.33528 0.29552 0.282267 0.270907 0.2444 0.231147 0.231147 0.000993333 +0.00098 0.000993333 0.000986667 0.223573 0.216 0.000993333 0.216 0.216 +0.000973333 0.000973333 0.000973333 0.216 0.223573 0.22736 0.231147 0.229253 +0.219787 0.00096 0.216 0.229253 0.229253 0.23304 0.223573 0.229253 +0.231147 0.22168 0.225467 0.236827 0.23304 0.231147 0.23304 0.22736 +0.234933 0.236827 0.23304 0.23872 0.23872 0.23304 0.23304 0.22736 +0.225467 0.234933 0.236827 0.225467 0.225467 0.22736 0.219787 0.225467 +0.234933 0.225467 0.22168 0.22168 0.223573 0.225467 0.000986667 0.000986667 +0.22168 0.223573 0.223573 0.225467 0.22168 0.219787 0.225467 0.217893 +0.000986667 0.00096 0.00098 0.000993333 0.000986667 0.22168 0.22168 0.00098 +0.000966667 0.000966667 0.000966667 0.000993333 0.225467 0.216 0.000973333 0.000993333 +0.219787 0.216 0.219787 0.22168 0.22168 0.229253 0.223573 0.000986667 +0.00098 0.216 0.225467 0.22736 0.223573 0.23304 0.236827 0.234933 +0.23304 0.236827 0.236827 0.240613 0.253867 0.25576 0.248187 0.263333 +0.28416 0.308773 0.356107 0.441307 0.545474 0.662947 0.827789 0.984571 +1.01559 0.954105 0.783579 0.635789 0.543579 0.501263 0.4716 0.526526 +0.623158 0.763368 0.896 0.987837 1.02604 1.04433 1.04759 1.044 +1.03518 1.01951 0.978737 0.784842 0.553053 0.314453 0.229253 0.000973333 +0.000933333 0.000913333 0.000906667 0.000886667 0.000886667 0.00086 0.00084 0.000833333 +0.000846667 0.000846667 0.000826667 0.000793333 0.000786667 0.000773333 0.000773333 0.00078 +0.00078 0.000753333 0.000733333 0.000746667 0.00074 0.000746667 0.00076 0.000766667 +0.0008 0.000806667 0.0008 0.0008 0.0008 0.00086 0.000873333 0.000866667 +0.000886667 0.000873333 0.000833333 0.000846667 0.000973333 0.401547 0.673684 0.92821 +1.01951 1.03453 1.03878 1.04465 1.04727 1.04302 1.02539 0.987184 +0.892211 0.759579 0.628211 0.542947 0.514526 0.545474 0.639579 0.796842 +0.964211 1.00188 0.923158 0.756421 0.617474 0.520211 0.407227 0.333387 +0.3012 0.28416 0.257653 0.248187 0.240613 0.23304 0.231147 0.234933 +0.231147 0.223573 0.22168 0.217893 0.000993333 0.00098 0.00098 0.223573 +0.229253 0.22168 0.216 0.000986667 0.00098 0.000986667 0.000993333 0.000993333 +0.000986667 0.219787 0.217893 0.216 0.000986667 0.000973333 0.216 0.219787 +0.217893 0.216 0.217893 0.217893 0.000986667 0.000973333 0.000993333 0.217893 +0.00098 0.00096 0.000986667 0.22168 0.216 0.216 0.216 0.223573 +0.22736 0.22736 0.22736 0.225467 0.223573 0.229253 0.229253 0.223573 +0.223573 0.22168 0.216 0.223573 0.225467 0.223573 0.22736 0.223573 +0.219787 0.225467 0.234933 0.234933 0.23872 0.23304 0.219787 0.22168 +0.223573 0.223573 0.217893 0.216 0.22168 0.22168 0.225467 0.231147 +0.23304 0.231147 0.231147 0.23304 0.23872 0.229253 0.223573 0.22168 +0.000993333 0.219787 0.223573 0.00098 0.00098 0.216 0.223573 0.219787 +0.225467 0.225467 0.217893 0.00098 0.000973333 0.000953333 0.000953333 0.000966667 +0.000953333 0.000966667 0.000973333 0.000973333 0.00098 0.00094 0.000933333 0.000946667 +0.000986667 0.229253 0.234933 0.23304 0.23872 0.242507 0.25008 0.26144 +0.2728 0.29552 0.33528 0.388293 0.46024 0.520842 0.554947 0.576421 +0.590947 0.609263 0.645263 0.698947 0.733053 0.753263 0.779158 0.813895 +0.849895 0.889684 0.922526 0.949684 0.979368 0.995673 1.0058 1.01592 +1.02963 1.04106 1.04596 1.05053 1.05543 1.06152 1.07826 1.0813 +1.08282 1.06456 1.05739 1.0551 1.05249 1.04955 1.04269 1.03616 +1.02865 1.01984 1.00841 0.997306 0.985551 0.974316 0.950316 0.926947 +0.910526 0.887789 0.865684 0.844211 0.828421 0.813263 0.796211 0.776632 +0.758947 0.741263 0.721684 0.709684 0.700211 0.685053 0.673684 0.662316 +0.652842 0.643368 0.632 0.620632 0.615579 0.614316 0.602316 0.594105 +0.586526 0.581474 0.576421 0.570105 0.566947 0.568211 0.562526 0.554947 +0.554316 0.553684 0.544211 0.543579 0.544842 0.542947 0.542316 0.544842 +0.542947 0.539158 0.538526 0.535368 0.537895 0.541684 0.541053 0.539789 +0.539158 0.533474 0.534105 0.536632 0.532842 0.536 0.540421 0.546105 +0.553684 0.560632 0.568842 0.570105 0.577684 0.585263 0.593474 0.605474 +0.612421 0.616842 0.628211 0.640211 0.653474 0.664842 0.678105 0.696421 +0.712211 0.728632 0.744421 0.760842 0.781053 0.803158 0.815789 0.836 +0.857474 0.872632 0.891579 0.914947 0.938316 0.956 0.973053 0.989143 +0.998612 1.00743 1.01657 1.02669 1.03518 1.04204 1.05184 1.05771 +1.06152 1.07522 1.08587 1.08587 1.08891 1.09652 1.07369 1.06 +1.05739 1.04988 1.03943 1.03127 1.02278 1.01102 0.997633 0.985878 +0.964842 0.937053 0.904211 0.865053 0.819579 0.777263 0.745053 0.708421 +0.676211 0.652842 0.626947 0.597895 0.558105 0.523368 0.5 0.446987 +0.399653 0.36368 0.337173 0.297413 0.253867 0.246293 0.234933 0.22168 +0.217893 0.00098 0.000993333 0.22168 0.00098 0.00096 0.00094 0.000926667 +0.000913333 0.00094 0.000966667 0.219787 0.000986667 0.00098 0.000973333 0.000966667 +0.000986667 0.000993333 0.225467 0.225467 0.000993333 0.00098 0.000986667 0.000986667 +0.00098 0.00096 0.000986667 0.223573 0.217893 0.216 0.000966667 0.000993333 +0.231147 0.231147 0.22736 0.229253 0.22736 0.219787 0.219787 0.22736 +0.242507 0.240613 0.229253 0.22736 0.225467 0.223573 0.23304 0.242507 +0.231147 0.225467 0.219787 0.217893 0.223573 0.22736 0.217893 0.000993333 +0.217893 0.219787 0.225467 0.225467 0.223573 0.229253 0.217893 0.000966667 +0.000986667 0.216 0.000993333 0.000986667 0.216 0.223573 0.223573 0.217893 +0.216 0.000973333 0.000993333 0.000993333 0.000966667 0.000986667 0.000953333 0.000973333 +0.000986667 0.00096 0.00096 0.000973333 0.000986667 0.000973333 0.00094 0.000966667 +0.000993333 0.00096 0.000986667 0.223573 0.216 0.223573 0.22736 0.00098 +0.00098 0.000986667 0.217893 0.217893 0.219787 0.22736 0.234933 0.231147 +0.236827 0.2444 0.2444 0.251973 0.263333 0.269013 0.269013 0.291733 +0.314453 0.359893 0.464027 0.544842 0.658526 0.836632 0.992408 1.0169 +0.944632 0.767158 0.626316 0.541053 0.490533 0.49432 0.546105 0.648421 +0.797474 0.949684 1.01592 1.04106 1.05282 1.05249 1.04857 1.04531 +1.04269 1.03584 1.00678 0.837895 0.575789 0.31824 0.219787 0.00092 +0.000893333 0.000933333 0.000933333 0.000893333 0.000893333 0.0009 0.000853333 0.000806667 +0.0008 0.000813333 0.00084 0.000806667 0.000826667 0.0008 0.000813333 0.000806667 +0.000793333 0.000773333 0.00078 0.000773333 0.000753333 0.000766667 0.000753333 0.000746667 +0.000753333 0.00076 0.000793333 0.000806667 0.00082 0.00084 0.000806667 0.00082 +0.000833333 0.00082 0.000806667 0.00084 0.00098 0.411013 0.687579 0.955368 +1.03355 1.04237 1.04139 1.04269 1.04596 1.04955 1.04824 1.0378 +1.01429 0.937684 0.782316 0.641474 0.548632 0.517053 0.547368 0.632632 +0.782947 0.951579 1.00351 0.940842 0.777263 0.625684 0.527158 0.42616 +0.348533 0.308773 0.280373 0.265227 0.25008 0.240613 0.23872 0.240613 +0.23872 0.229253 0.225467 0.219787 0.217893 0.216 0.219787 0.22736 +0.22168 0.216 0.00098 0.00096 0.000973333 0.000993333 0.217893 0.217893 +0.22168 0.000993333 0.000973333 0.000993333 0.216 0.216 0.217893 0.217893 +0.000986667 0.000966667 0.000966667 0.000953333 0.00094 0.000966667 0.000966667 0.217893 +0.000986667 0.00098 0.223573 0.225467 0.217893 0.22168 0.22168 0.22168 +0.217893 0.216 0.225467 0.223573 0.216 0.216 0.000993333 0.219787 +0.217893 0.217893 0.223573 0.225467 0.223573 0.225467 0.223573 0.216 +0.00098 0.000986667 0.22168 0.225467 0.22736 0.22168 0.223573 0.223573 +0.219787 0.216 0.223573 0.22168 0.217893 0.219787 0.223573 0.225467 +0.229253 0.234933 0.229253 0.22168 0.225467 0.217893 0.219787 0.225467 +0.223573 0.223573 0.23304 0.225467 0.000993333 0.000993333 0.000993333 0.000993333 +0.216 0.000993333 0.000953333 0.000946667 0.000993333 0.000993333 0.000973333 0.000946667 +0.000953333 0.000973333 0.000973333 0.00098 0.000973333 0.000933333 0.000926667 0.000926667 +0.000953333 0.000966667 0.000993333 0.000986667 0.000966667 0.000966667 0.216 0.223573 +0.22168 0.22168 0.000993333 0.217893 0.246293 0.269013 0.29552 0.31256 +0.325813 0.33528 0.373147 0.441307 0.498107 0.506947 0.515789 0.539158 +0.562526 0.589684 0.610526 0.632632 0.669263 0.709684 0.738737 0.769684 +0.814526 0.858105 0.887789 0.911789 0.935158 0.967368 0.98849 0.999592 +1.01265 1.02049 1.02735 1.03551 1.04596 1.05249 1.05771 1.06152 +1.07522 1.07978 1.08282 1.07978 1.07826 1.095 1.07674 1.06761 +1.06 1.05478 1.04857 1.04302 1.04139 1.0378 1.03257 1.02539 +1.01951 1.01331 1.0058 1.00024 0.994041 0.985878 0.981306 0.971789 +0.962316 0.951579 0.937053 0.919368 0.907368 0.897895 0.884632 0.878316 +0.866947 0.855579 0.842316 0.832842 0.826526 0.824632 0.814526 0.806316 +0.806316 0.799368 0.785474 0.782947 0.786105 0.781684 0.780421 0.782947 +0.780421 0.777895 0.779789 0.774105 0.772211 0.776632 0.777895 0.777895 +0.777895 0.779158 0.784842 0.788632 0.790526 0.797474 0.805053 0.812 +0.820211 0.827789 0.836 0.842316 0.857474 0.870737 0.882105 0.900421 +0.911158 0.915579 0.930105 0.946526 0.962947 0.974316 0.983592 0.990449 +0.997633 1.00612 1.01265 1.01788 1.02506 1.03127 1.03518 1.03976 +1.04367 1.04661 1.0489 1.05314 1.05608 1.05967 1.05935 1.06609 +1.07369 1.07522 1.06609 1.05869 1.05608 1.05412 1.05249 1.04727 +1.03812 1.03127 1.02408 1.01069 0.998612 0.989796 0.976211 0.950316 +0.921895 0.887158 0.849263 0.820211 0.784842 0.746947 0.715368 0.686316 +0.666105 0.651579 0.620632 0.584 0.544842 0.516421 0.500632 0.46024 +0.433733 0.416693 0.390187 0.358 0.314453 0.276587 0.25576 0.23872 +0.236827 0.236827 0.22736 0.22168 0.216 0.219787 0.216 0.000993333 +0.217893 0.000986667 0.00094 0.000966667 0.219787 0.216 0.000993333 0.216 +0.00096 0.000953333 0.00096 0.00098 0.000973333 0.000993333 0.219787 0.22736 +0.225467 0.22736 0.229253 0.223573 0.000986667 0.000953333 0.00094 0.00098 +0.216 0.000986667 0.000966667 0.000993333 0.216 0.000993333 0.217893 0.217893 +0.23304 0.234933 0.223573 0.219787 0.219787 0.22736 0.229253 0.225467 +0.231147 0.229253 0.225467 0.22736 0.22736 0.229253 0.22736 0.23872 +0.22736 0.217893 0.217893 0.216 0.231147 0.225467 0.217893 0.219787 +0.000966667 0.00098 0.216 0.219787 0.000993333 0.217893 0.22736 0.219787 +0.216 0.217893 0.00098 0.00098 0.00098 0.22168 0.000986667 0.00098 +0.217893 0.000993333 0.225467 0.217893 0.000966667 0.000986667 0.000973333 0.000993333 +0.000993333 0.00096 0.000953333 0.000973333 0.000966667 0.00096 0.000993333 0.000993333 +0.00098 0.000966667 0.000973333 0.217893 0.000986667 0.000993333 0.225467 0.217893 +0.000993333 0.219787 0.219787 0.219787 0.231147 0.23872 0.236827 0.231147 +0.236827 0.2444 0.253867 0.253867 0.257653 0.27848 0.293627 0.327707 +0.3864 0.48864 0.558737 0.665474 0.834105 0.991429 1.01429 0.933895 +0.755789 0.614316 0.536 0.501263 0.502526 0.556842 0.670526 0.822737 +0.968632 1.02539 1.0489 1.05412 1.05314 1.04792 1.044 1.04302 +1.04596 1.04465 1.01494 0.839789 0.570105 0.31256 0.223573 0.000946667 +0.000906667 0.000913333 0.000926667 0.000893333 0.00088 0.000893333 0.000893333 0.00084 +0.000813333 0.000813333 0.00084 0.00082 0.000826667 0.000846667 0.00084 0.00082 +0.000806667 0.0008 0.000793333 0.000766667 0.000766667 0.000766667 0.000746667 0.000746667 +0.00072 0.00072 0.000746667 0.000753333 0.000786667 0.000793333 0.000773333 0.000806667 +0.000786667 0.00082 0.00086 0.000906667 0.22168 0.39208 0.663579 0.939579 +1.03388 1.04563 1.044 1.04139 1.04139 1.04596 1.0489 1.04857 +1.04433 1.02245 0.952211 0.794316 0.647789 0.553684 0.518947 0.541684 +0.618737 0.766526 0.946526 1.0071 0.957895 0.791789 0.640842 0.541053 +0.43752 0.359893 0.314453 0.28416 0.265227 0.246293 0.23872 0.23872 +0.23304 0.229253 0.234933 0.23304 0.229253 0.225467 0.22168 0.22168 +0.219787 0.217893 0.216 0.000993333 0.217893 0.217893 0.219787 0.22168 +0.000986667 0.000966667 0.000973333 0.00098 0.00098 0.00098 0.00098 0.000986667 +0.000986667 0.000986667 0.216 0.000966667 0.00096 0.000966667 0.000973333 0.216 +0.216 0.217893 0.216 0.000986667 0.000973333 0.000986667 0.000993333 0.216 +0.000986667 0.000973333 0.223573 0.229253 0.219787 0.000973333 0.000973333 0.000993333 +0.217893 0.225467 0.22736 0.22168 0.217893 0.217893 0.217893 0.217893 +0.217893 0.000986667 0.000993333 0.223573 0.223573 0.22168 0.217893 0.217893 +0.22168 0.219787 0.229253 0.223573 0.217893 0.217893 0.22168 0.225467 +0.22168 0.223573 0.00098 0.00098 0.22168 0.22168 0.22168 0.225467 +0.216 0.000986667 0.223573 0.22736 0.219787 0.217893 0.000993333 0.216 +0.000973333 0.000933333 0.000933333 0.000946667 0.000973333 0.00098 0.000986667 0.00098 +0.000966667 0.00096 0.00098 0.000993333 0.00096 0.00096 0.00096 0.000946667 +0.000973333 0.00098 0.000966667 0.000946667 0.00092 0.000913333 0.000946667 0.00098 +0.000966667 0.00098 0.000973333 0.000973333 0.000993333 0.217893 0.217893 0.000986667 +0.000986667 0.000986667 0.216 0.231147 0.253867 0.253867 0.26144 0.280373 +0.297413 0.304987 0.30688 0.333387 0.384507 0.439413 0.492427 0.515158 +0.539789 0.572632 0.597263 0.613053 0.632632 0.671158 0.704632 0.729895 +0.758947 0.792421 0.818316 0.844211 0.877053 0.896 0.913053 0.933263 +0.956632 0.974947 0.988163 0.99698 1.00906 1.0231 1.02833 1.0342 +1.03812 1.04269 1.04531 1.04792 1.05314 1.05804 1.06913 1.0813 +1.08739 1.08739 1.09043 1.10108 1.1026 1.09195 1.09195 1.08891 +1.09652 1.09195 1.07826 1.05935 1.05771 1.05641 1.0538 1.05478 +1.05216 1.04661 1.04106 1.03878 1.03845 1.04008 1.03616 1.03388 +1.03453 1.03159 1.02571 1.02473 1.02702 1.02735 1.02539 1.02506 +1.02506 1.02571 1.02441 1.01951 1.01755 1.01951 1.02212 1.0231 +1.02376 1.02441 1.02767 1.02931 1.02931 1.03061 1.0342 1.03584 +1.03812 1.03682 1.03682 1.03878 1.04596 1.0489 1.04922 1.05282 +1.05608 1.05641 1.05837 1.06609 1.06761 1.06913 1.07065 1.07217 +1.07217 1.07826 1.07522 1.06304 1.07065 1.07369 1.05869 1.05576 +1.05184 1.04792 1.04302 1.03714 1.0342 1.028 1.01918 1.01037 +1.00188 0.995347 0.984898 0.961684 0.933263 0.910526 0.898526 0.874526 +0.838526 0.818947 0.797474 0.758316 0.721053 0.702105 0.683789 0.658526 +0.625684 0.593474 0.568842 0.549895 0.527158 0.505053 0.456453 0.40912 +0.393973 0.40344 0.378827 0.342853 0.29552 0.2728 0.257653 0.26144 +0.276587 0.265227 0.240613 0.236827 0.225467 0.000986667 0.000973333 0.00096 +0.00094 0.000986667 0.000973333 0.000973333 0.000993333 0.000973333 0.000946667 0.000933333 +0.000973333 0.00098 0.00092 0.000986667 0.234933 0.225467 0.000986667 0.000993333 +0.00096 0.000953333 0.000973333 0.00098 0.216 0.000993333 0.219787 0.219787 +0.217893 0.216 0.217893 0.000986667 0.000993333 0.000993333 0.00096 0.00096 +0.000966667 0.000946667 0.000973333 0.219787 0.22736 0.225467 0.22736 0.217893 +0.223573 0.231147 0.229253 0.229253 0.22736 0.22168 0.219787 0.217893 +0.219787 0.22736 0.23304 0.234933 0.223573 0.217893 0.219787 0.22168 +0.219787 0.217893 0.217893 0.217893 0.22168 0.217893 0.223573 0.223573 +0.22168 0.000986667 0.000966667 0.000966667 0.000986667 0.000966667 0.000993333 0.22168 +0.217893 0.000993333 0.000993333 0.000993333 0.000993333 0.216 0.000993333 0.000993333 +0.000986667 0.000973333 0.216 0.000993333 0.00098 0.216 0.216 0.000986667 +0.000973333 0.000973333 0.00098 0.000993333 0.000986667 0.000966667 0.217893 0.219787 +0.000986667 0.00098 0.216 0.000986667 0.216 0.216 0.225467 0.22168 +0.22168 0.225467 0.22168 0.223573 0.23304 0.242507 0.2444 0.240613 +0.246293 0.25008 0.259547 0.2728 0.276587 0.293627 0.325813 0.3864 +0.503158 0.579579 0.697684 0.858105 0.99502 1.01102 0.916211 0.741263 +0.608 0.528421 0.484853 0.505684 0.568211 0.686316 0.839789 0.983265 +1.03257 1.05249 1.05641 1.05314 1.0489 1.04204 1.04073 1.04302 +1.04759 1.04596 1.00547 0.801895 0.544211 0.28984 0.22168 0.00096 +0.000926667 0.000893333 0.000893333 0.000873333 0.000833333 0.000826667 0.000853333 0.00082 +0.0008 0.000793333 0.00082 0.00084 0.0008 0.000813333 0.0008 0.000773333 +0.000773333 0.000786667 0.000806667 0.000786667 0.000793333 0.000793333 0.000753333 0.00074 +0.000713333 0.0007 0.00072 0.000726667 0.000733333 0.000753333 0.000786667 0.000793333 +0.00082 0.000853333 0.00086 0.000886667 0.000973333 0.33528 0.614316 0.890316 +1.02637 1.0489 1.04922 1.04498 1.04041 1.03943 1.04335 1.04759 +1.0489 1.04727 1.02669 0.959158 0.803789 0.660421 0.560632 0.518947 +0.536 0.611158 0.759579 0.938316 1.00776 0.967368 0.810737 0.656632 +0.546105 0.450773 0.359893 0.316347 0.287947 0.265227 0.251973 0.25008 +0.2444 0.2444 0.246293 0.234933 0.23304 0.231147 0.219787 0.22168 +0.22168 0.219787 0.22168 0.22168 0.219787 0.217893 0.217893 0.217893 +0.217893 0.22168 0.22168 0.219787 0.000993333 0.000966667 0.000973333 0.000986667 +0.000986667 0.217893 0.216 0.000986667 0.000986667 0.000986667 0.000993333 0.000993333 +0.000993333 0.000993333 0.00096 0.000966667 0.00098 0.000993333 0.000986667 0.000993333 +0.217893 0.000986667 0.00098 0.216 0.22168 0.22168 0.22168 0.22168 +0.219787 0.225467 0.22168 0.217893 0.219787 0.22168 0.217893 0.219787 +0.223573 0.223573 0.22168 0.225467 0.225467 0.223573 0.217893 0.217893 +0.229253 0.229253 0.22736 0.229253 0.223573 0.216 0.22168 0.223573 +0.223573 0.22168 0.219787 0.216 0.217893 0.225467 0.223573 0.22736 +0.22736 0.219787 0.217893 0.223573 0.217893 0.219787 0.22168 0.219787 +0.00098 0.000973333 0.217893 0.216 0.216 0.000966667 0.000946667 0.000966667 +0.216 0.216 0.225467 0.000993333 0.000966667 0.217893 0.217893 0.00098 +0.000966667 0.00098 0.00096 0.000926667 0.000953333 0.000973333 0.000966667 0.000953333 +0.00094 0.00096 0.00096 0.000973333 0.000986667 0.000973333 0.00098 0.216 +0.000966667 0.00096 0.000933333 0.000986667 0.219787 0.000973333 0.216 0.223573 +0.22736 0.223573 0.216 0.231147 0.240613 0.2444 0.25576 0.263333 +0.270907 0.297413 0.3296 0.339067 0.358 0.412907 0.458347 0.48864 +0.511368 0.532842 0.548 0.565053 0.588421 0.601684 0.612421 0.631368 +0.659158 0.678737 0.698947 0.721684 0.763368 0.808211 0.831579 0.844842 +0.854316 0.870105 0.882737 0.894737 0.913684 0.932 0.951579 0.970526 +0.982286 0.98751 0.995673 1.00514 1.00939 1.01396 1.02082 1.0231 +1.02767 1.02996 1.03322 1.03518 1.04139 1.04531 1.04596 1.04792 +1.0502 1.05184 1.05216 1.05184 1.05412 1.05739 1.05543 1.05543 +1.05608 1.05608 1.05576 1.05771 1.05804 1.05869 1.05837 1.06 +1.06456 1.06456 1.05869 1.05608 1.05641 1.05739 1.05804 1.05869 +1.06 1.06456 1.07674 1.05902 1.05412 1.0551 1.05706 1.0538 +1.05282 1.0502 1.04759 1.04531 1.04498 1.04269 1.03649 1.03355 +1.03061 1.02833 1.02931 1.03029 1.02343 1.01657 1.01265 1.00678 +1.00024 0.993714 0.981633 0.966737 0.970526 0.975579 0.957895 0.933895 +0.922526 0.903579 0.880211 0.858105 0.841053 0.816421 0.789263 0.762105 +0.737474 0.721053 0.699579 0.668 0.638316 0.611158 0.605474 0.587158 +0.554947 0.543579 0.538526 0.517053 0.47728 0.45456 0.4432 0.4148 +0.36936 0.342853 0.32392 0.304987 0.291733 0.274693 0.265227 0.25008 +0.2444 0.253867 0.253867 0.25576 0.257653 0.23872 0.22168 0.22168 +0.240613 0.23304 0.000993333 0.000986667 0.000986667 0.000973333 0.000986667 0.217893 +0.000993333 0.217893 0.000993333 0.000986667 0.000973333 0.000946667 0.000946667 0.00098 +0.216 0.000973333 0.000926667 0.000973333 0.22736 0.217893 0.00094 0.00098 +0.000986667 0.216 0.223573 0.22168 0.22736 0.000993333 0.00098 0.000986667 +0.216 0.225467 0.223573 0.217893 0.217893 0.219787 0.216 0.00098 +0.216 0.00098 0.216 0.225467 0.229253 0.22168 0.229253 0.22736 +0.229253 0.23872 0.23872 0.231147 0.223573 0.216 0.216 0.219787 +0.22736 0.229253 0.231147 0.234933 0.223573 0.217893 0.223573 0.22736 +0.22736 0.22168 0.00098 0.216 0.217893 0.216 0.223573 0.22168 +0.22736 0.22168 0.000986667 0.000966667 0.000993333 0.000993333 0.000986667 0.217893 +0.219787 0.22168 0.216 0.000993333 0.217893 0.22168 0.000993333 0.217893 +0.000993333 0.000986667 0.000986667 0.00098 0.000986667 0.00098 0.000993333 0.22168 +0.219787 0.00098 0.000966667 0.217893 0.22168 0.217893 0.216 0.22168 +0.000993333 0.000986667 0.217893 0.217893 0.000986667 0.000993333 0.22168 0.22168 +0.216 0.223573 0.225467 0.223573 0.229253 0.2444 0.25576 0.246293 +0.25008 0.263333 0.274693 0.291733 0.30688 0.3296 0.395867 0.512 +0.589053 0.716632 0.884632 1.00351 1.00939 0.906737 0.729263 0.597263 +0.524632 0.473493 0.503158 0.568842 0.695789 0.853684 0.987184 1.03453 +1.05543 1.05739 1.05249 1.04531 1.04204 1.04269 1.04563 1.04857 +1.04988 1.04302 0.985551 0.739368 0.507579 0.265227 0.217893 0.000946667 +0.000926667 0.0009 0.00088 0.000853333 0.000846667 0.000826667 0.000833333 0.00082 +0.0008 0.000786667 0.000793333 0.0008 0.000846667 0.0008 0.000806667 0.000826667 +0.000806667 0.000806667 0.00082 0.000793333 0.000793333 0.000793333 0.000753333 0.000733333 +0.000733333 0.000746667 0.00074 0.000733333 0.000713333 0.000733333 0.00076 0.000773333 +0.0008 0.000813333 0.000806667 0.000866667 0.00096 0.29552 0.564421 0.832842 +1.01624 1.0502 1.05347 1.04988 1.04302 1.03551 1.02931 1.03355 +1.04498 1.05184 1.05151 1.02963 0.966737 0.812632 0.665474 0.561895 +0.517053 0.532842 0.600421 0.745684 0.930737 1.01037 0.983918 0.829684 +0.66421 0.551158 0.462133 0.36936 0.320133 0.28984 0.26712 0.251973 +0.2444 0.2444 0.240613 0.229253 0.23304 0.236827 0.22736 0.22736 +0.229253 0.22736 0.229253 0.22736 0.223573 0.22168 0.22168 0.000986667 +0.217893 0.219787 0.216 0.000986667 0.00098 0.000986667 0.000993333 0.00098 +0.000993333 0.217893 0.000993333 0.216 0.000993333 0.217893 0.22168 0.217893 +0.217893 0.000993333 0.000953333 0.00098 0.000986667 0.000986667 0.000993333 0.000986667 +0.216 0.223573 0.219787 0.217893 0.217893 0.219787 0.219787 0.217893 +0.219787 0.219787 0.225467 0.225467 0.223573 0.216 0.000993333 0.219787 +0.225467 0.22736 0.23304 0.23304 0.225467 0.22168 0.219787 0.223573 +0.229253 0.22736 0.223573 0.22736 0.225467 0.223573 0.22736 0.225467 +0.216 0.217893 0.223573 0.217893 0.219787 0.223573 0.217893 0.217893 +0.22736 0.225467 0.219787 0.223573 0.219787 0.223573 0.225467 0.223573 +0.219787 0.219787 0.22736 0.22736 0.225467 0.219787 0.000993333 0.219787 +0.223573 0.22168 0.216 0.000946667 0.000966667 0.22736 0.229253 0.22168 +0.216 0.000993333 0.000953333 0.00092 0.000966667 0.216 0.217893 0.000993333 +0.000973333 0.000966667 0.000953333 0.000966667 0.000986667 0.000953333 0.000953333 0.000993333 +0.000986667 0.000973333 0.000973333 0.225467 0.223573 0.00098 0.00098 0.219787 +0.216 0.000986667 0.217893 0.223573 0.22736 0.229253 0.22736 0.223573 +0.22736 0.219787 0.217893 0.219787 0.231147 0.242507 0.259547 0.269013 +0.270907 0.280373 0.28984 0.30688 0.325813 0.333387 0.34664 0.367467 +0.39776 0.424267 0.43752 0.46592 0.517684 0.548632 0.564421 0.572632 +0.576421 0.589684 0.596 0.607368 0.626316 0.638947 0.654105 0.674316 +0.690737 0.701474 0.719158 0.741263 0.750105 0.764632 0.783579 0.786737 +0.788 0.802526 0.821474 0.832842 0.850526 0.863789 0.869474 0.872 +0.877053 0.886526 0.898526 0.904211 0.917474 0.930105 0.924421 0.919368 +0.919368 0.926947 0.937053 0.946526 0.948421 0.946526 0.944 0.949684 +0.956 0.960421 0.956 0.959789 0.977474 0.98098 0.970526 0.963579 +0.960421 0.957263 0.964211 0.962316 0.952211 0.947158 0.941474 0.921895 +0.908 0.908 0.905474 0.892842 0.879579 0.867579 0.848632 0.831579 +0.815158 0.811368 0.818316 0.820211 0.794947 0.769053 0.755789 0.739368 +0.722316 0.707789 0.674316 0.652211 0.667368 0.676842 0.661684 0.637684 +0.624421 0.612421 0.591579 0.571368 0.56 0.544211 0.528421 0.513263 +0.503158 0.5 0.458347 0.418587 0.38072 0.354213 0.34664 0.337173 +0.28984 0.293627 0.304987 0.293627 0.2728 0.259547 0.259547 0.242507 +0.23872 0.248187 0.246293 0.23304 0.23872 0.242507 0.2444 0.236827 +0.231147 0.234933 0.231147 0.240613 0.248187 0.223573 0.000966667 0.000993333 +0.22736 0.23304 0.22736 0.225467 0.223573 0.219787 0.000993333 0.216 +0.219787 0.216 0.216 0.000993333 0.000986667 0.000966667 0.217893 0.225467 +0.217893 0.00098 0.000953333 0.000966667 0.225467 0.229253 0.000986667 0.22168 +0.231147 0.229253 0.22736 0.223573 0.23304 0.22168 0.219787 0.217893 +0.22168 0.225467 0.22168 0.216 0.225467 0.225467 0.223573 0.229253 +0.23304 0.22736 0.223573 0.225467 0.231147 0.22736 0.23872 0.240613 +0.229253 0.231147 0.23872 0.22736 0.22736 0.229253 0.22736 0.225467 +0.216 0.216 0.22168 0.231147 0.23304 0.22736 0.229253 0.23304 +0.23304 0.22736 0.216 0.217893 0.216 0.219787 0.000993333 0.000993333 +0.216 0.225467 0.219787 0.217893 0.216 0.22168 0.22168 0.22736 +0.229253 0.225467 0.225467 0.217893 0.216 0.225467 0.00098 0.000973333 +0.216 0.217893 0.223573 0.216 0.223573 0.22168 0.225467 0.231147 +0.22736 0.216 0.000966667 0.217893 0.22168 0.22736 0.22736 0.22168 +0.219787 0.217893 0.22168 0.219787 0.000986667 0.216 0.22736 0.225467 +0.217893 0.217893 0.231147 0.231147 0.236827 0.25008 0.25576 0.259547 +0.257653 0.2728 0.291733 0.314453 0.339067 0.405333 0.515158 0.602316 +0.734316 0.903579 1.00906 1.00776 0.893474 0.716 0.590947 0.522105 +0.469707 0.500632 0.568842 0.690105 0.850526 0.990122 1.03584 1.05347 +1.05608 1.04465 1.03029 1.02506 1.03159 1.04139 1.04792 1.05151 +1.05118 1.03649 0.941474 0.675579 0.43184 0.2444 0.000993333 0.000946667 +0.000893333 0.000853333 0.000833333 0.000813333 0.000786667 0.000813333 0.0008 0.000806667 +0.000813333 0.000793333 0.000786667 0.000833333 0.000886667 0.000786667 0.000786667 0.000813333 +0.0008 0.000786667 0.000786667 0.00078 0.00078 0.000753333 0.000733333 0.000746667 +0.000746667 0.00074 0.000713333 0.000706667 0.00072 0.00072 0.000726667 0.000753333 +0.000773333 0.000813333 0.000833333 0.000873333 0.00096 0.270907 0.521474 0.764632 +0.994694 1.04465 1.05184 1.04955 1.04139 1.02669 1.0022 0.990449 +1.00906 1.03812 1.05314 1.05249 1.03029 0.967368 0.812632 0.66421 +0.559368 0.515158 0.527789 0.599158 0.743789 0.92379 1.01135 0.986531 +0.837263 0.677474 0.561895 0.4716 0.371253 0.320133 0.28984 0.2728 +0.257653 0.248187 0.2444 0.240613 0.23304 0.236827 0.23872 0.236827 +0.234933 0.22736 0.223573 0.22168 0.219787 0.217893 0.000986667 0.216 +0.217893 0.217893 0.217893 0.217893 0.219787 0.223573 0.22168 0.217893 +0.217893 0.216 0.000986667 0.000986667 0.216 0.216 0.000993333 0.000986667 +0.219787 0.217893 0.000993333 0.219787 0.219787 0.22168 0.223573 0.217893 +0.000993333 0.22168 0.223573 0.217893 0.000986667 0.216 0.217893 0.22736 +0.234933 0.229253 0.22736 0.219787 0.217893 0.217893 0.22168 0.229253 +0.229253 0.22736 0.231147 0.229253 0.22168 0.22736 0.22736 0.223573 +0.229253 0.229253 0.223573 0.229253 0.231147 0.22736 0.229253 0.231147 +0.22168 0.22168 0.229253 0.229253 0.223573 0.22168 0.217893 0.223573 +0.22736 0.229253 0.229253 0.225467 0.22736 0.231147 0.234933 0.225467 +0.22168 0.223573 0.225467 0.225467 0.22736 0.22736 0.229253 0.229253 +0.231147 0.225467 0.216 0.000953333 0.00098 0.22736 0.22736 0.229253 +0.231147 0.229253 0.219787 0.216 0.217893 0.22168 0.219787 0.219787 +0.00098 0.000986667 0.217893 0.217893 0.217893 0.00098 0.000953333 0.00098 +0.000986667 0.000953333 0.000986667 0.223573 0.22168 0.225467 0.225467 0.223573 +0.000986667 0.00096 0.217893 0.217893 0.219787 0.231147 0.225467 0.216 +0.225467 0.223573 0.000973333 0.000973333 0.22736 0.22736 0.225467 0.22736 +0.223573 0.000993333 0.231147 0.240613 0.231147 0.229253 0.240613 0.251973 +0.251973 0.257653 0.25008 0.25576 0.280373 0.291733 0.308773 0.316347 +0.31256 0.327707 0.325813 0.34096 0.37504 0.39208 0.40344 0.42616 +0.44888 0.469707 0.498107 0.503789 0.507579 0.521474 0.532842 0.529684 +0.525895 0.537263 0.548632 0.554316 0.567579 0.578947 0.584 0.582737 +0.581474 0.585895 0.599158 0.608 0.624421 0.632632 0.623789 0.617474 +0.615579 0.623789 0.635158 0.645263 0.648421 0.644632 0.635158 0.638316 +0.648421 0.659158 0.661053 0.668 0.688211 0.692632 0.676211 0.666737 +0.660421 0.650316 0.65979 0.672421 0.676211 0.668632 0.653474 0.629474 +0.609895 0.608632 0.610526 0.601684 0.591579 0.580842 0.568211 0.554947 +0.541684 0.541684 0.548632 0.549895 0.528421 0.506316 0.5 0.486747 +0.46592 0.44888 0.407227 0.37504 0.40344 0.42616 0.405333 0.376933 +0.36368 0.354213 0.333387 0.316347 0.31256 0.308773 0.28984 0.286053 +0.28416 0.2728 0.26712 0.257653 0.257653 0.251973 0.246293 0.246293 +0.229253 0.231147 0.23304 0.23304 0.236827 0.23872 0.23304 0.225467 +0.223573 0.234933 0.236827 0.229253 0.23304 0.23304 0.23872 0.22736 +0.219787 0.217893 0.000986667 0.229253 0.23872 0.22168 0.000973333 0.000993333 +0.22168 0.225467 0.225467 0.216 0.216 0.219787 0.216 0.216 +0.22736 0.223573 0.219787 0.216 0.216 0.000993333 0.225467 0.23304 +0.219787 0.219787 0.22736 0.22736 0.236827 0.242507 0.22736 0.223573 +0.223573 0.22736 0.219787 0.223573 0.22736 0.217893 0.216 0.22168 +0.217893 0.000993333 0.216 0.22168 0.23304 0.23304 0.22736 0.231147 +0.236827 0.236827 0.234933 0.234933 0.231147 0.229253 0.234933 0.234933 +0.225467 0.225467 0.236827 0.23304 0.23304 0.240613 0.236827 0.229253 +0.216 0.217893 0.22736 0.23304 0.229253 0.223573 0.225467 0.22736 +0.231147 0.22736 0.236827 0.22736 0.217893 0.223573 0.217893 0.000986667 +0.000986667 0.217893 0.225467 0.225467 0.000986667 0.000986667 0.22168 0.229253 +0.23304 0.234933 0.236827 0.229253 0.22736 0.229253 0.219787 0.217893 +0.000993333 0.00098 0.217893 0.000986667 0.216 0.223573 0.229253 0.22736 +0.231147 0.231147 0.22168 0.225467 0.22168 0.219787 0.22736 0.234933 +0.231147 0.225467 0.22736 0.22736 0.219787 0.225467 0.234933 0.236827 +0.23872 0.229253 0.229253 0.242507 0.259547 0.26144 0.259547 0.2728 +0.274693 0.282267 0.304987 0.35232 0.428053 0.527158 0.613684 0.750105 +0.922526 1.01461 1.00547 0.875789 0.702105 0.582737 0.519579 0.492427 +0.509474 0.575789 0.698316 0.850526 0.987184 1.03551 1.05543 1.05347 +1.03029 0.987837 0.933895 0.945263 0.995347 1.02865 1.04629 1.05314 +1.05184 1.02571 0.878316 0.611158 0.36368 0.236827 0.00096 0.00092 +0.000893333 0.000846667 0.00084 0.000833333 0.000813333 0.000806667 0.00078 0.000766667 +0.000806667 0.000813333 0.000813333 0.000893333 0.000506667 0.000833333 0.00074 0.000753333 +0.000773333 0.00078 0.000766667 0.000766667 0.000766667 0.00072 0.00074 0.000773333 +0.000753333 0.000726667 0.000726667 0.000726667 0.000753333 0.000733333 0.000753333 0.000753333 +0.00072 0.000746667 0.0008 0.000853333 0.000913333 0.246293 0.46024 0.701474 +0.964842 1.0391 1.05086 1.04629 1.03029 0.992408 0.896632 0.822105 +0.853684 0.973684 1.03127 1.05118 1.05151 1.02931 0.963579 0.810105 +0.658526 0.554316 0.512632 0.528421 0.594105 0.726105 0.908 1.00906 +0.993388 0.86 0.693263 0.573895 0.498107 0.376933 0.320133 0.299307 +0.280373 0.263333 0.253867 0.25008 0.240613 0.236827 0.236827 0.236827 +0.229253 0.217893 0.22168 0.22168 0.223573 0.223573 0.225467 0.229253 +0.231147 0.22736 0.225467 0.22736 0.22736 0.223573 0.216 0.217893 +0.219787 0.217893 0.217893 0.217893 0.217893 0.000986667 0.000986667 0.216 +0.216 0.22168 0.216 0.22168 0.229253 0.229253 0.229253 0.217893 +0.00098 0.217893 0.223573 0.22168 0.22168 0.223573 0.22736 0.22736 +0.229253 0.229253 0.225467 0.223573 0.22736 0.229253 0.22736 0.225467 +0.234933 0.23304 0.225467 0.22168 0.22736 0.234933 0.229253 0.22168 +0.219787 0.225467 0.229253 0.229253 0.234933 0.234933 0.23304 0.234933 +0.229253 0.23304 0.236827 0.23304 0.219787 0.219787 0.22736 0.234933 +0.231147 0.22736 0.22168 0.219787 0.231147 0.231147 0.23304 0.229253 +0.223573 0.229253 0.225467 0.223573 0.22736 0.229253 0.229253 0.229253 +0.234933 0.231147 0.223573 0.216 0.219787 0.225467 0.219787 0.223573 +0.22168 0.219787 0.217893 0.223573 0.231147 0.223573 0.219787 0.216 +0.00098 0.216 0.219787 0.000993333 0.00098 0.00098 0.00096 0.000973333 +0.000973333 0.00096 0.00098 0.00098 0.000993333 0.225467 0.223573 0.216 +0.00098 0.00098 0.22168 0.225467 0.231147 0.22736 0.219787 0.00098 +0.216 0.223573 0.217893 0.000973333 0.225467 0.22736 0.229253 0.22168 +0.223573 0.000986667 0.231147 0.219787 0.216 0.22168 0.229253 0.23872 +0.234933 0.23304 0.231147 0.234933 0.234933 0.225467 0.2444 0.242507 +0.231147 0.229253 0.22168 0.231147 0.225467 0.240613 0.25008 0.236827 +0.236827 0.26144 0.2728 0.265227 0.274693 0.293627 0.291733 0.28984 +0.297413 0.314453 0.314453 0.314453 0.32392 0.327707 0.327707 0.331493 +0.322027 0.322027 0.337173 0.34664 0.367467 0.36368 0.354213 0.358 +0.35232 0.35232 0.358 0.371253 0.382613 0.378827 0.358 0.354213 +0.382613 0.412907 0.422373 0.435627 0.450773 0.450773 0.42616 0.4148 +0.412907 0.395867 0.42048 0.4432 0.456453 0.458347 0.418587 0.373147 +0.34664 0.339067 0.33528 0.320133 0.31256 0.30688 0.299307 0.291733 +0.2728 0.263333 0.270907 0.28416 0.253867 0.231147 0.231147 0.236827 +0.246293 0.251973 0.234933 0.229253 0.242507 0.251973 0.248187 0.23872 +0.231147 0.229253 0.223573 0.229253 0.2444 0.240613 0.23872 0.240613 +0.246293 0.229253 0.229253 0.223573 0.234933 0.225467 0.22736 0.23304 +0.223573 0.000993333 0.225467 0.000986667 0.219787 0.231147 0.248187 0.248187 +0.236827 0.231147 0.231147 0.229253 0.22736 0.234933 0.234933 0.22168 +0.000993333 0.000993333 0.000993333 0.229253 0.23304 0.229253 0.000993333 0.00098 +0.216 0.217893 0.22168 0.000986667 0.00096 0.216 0.219787 0.217893 +0.223573 0.223573 0.217893 0.000986667 0.216 0.22168 0.225467 0.231147 +0.223573 0.225467 0.234933 0.23304 0.23304 0.236827 0.23304 0.217893 +0.22168 0.229253 0.22736 0.234933 0.229253 0.217893 0.216 0.23304 +0.234933 0.22736 0.229253 0.229253 0.236827 0.23872 0.231147 0.23304 +0.234933 0.2444 0.242507 0.236827 0.231147 0.22736 0.236827 0.234933 +0.223573 0.22736 0.231147 0.231147 0.231147 0.234933 0.23872 0.234933 +0.225467 0.22736 0.22736 0.225467 0.223573 0.223573 0.22168 0.223573 +0.223573 0.225467 0.23304 0.23304 0.223573 0.231147 0.231147 0.219787 +0.217893 0.000993333 0.217893 0.223573 0.216 0.00098 0.000993333 0.219787 +0.225467 0.231147 0.231147 0.22736 0.23304 0.236827 0.229253 0.225467 +0.22168 0.223573 0.225467 0.219787 0.000973333 0.216 0.219787 0.219787 +0.223573 0.22736 0.22736 0.225467 0.229253 0.225467 0.223573 0.236827 +0.236827 0.23304 0.236827 0.236827 0.223573 0.231147 0.242507 0.240613 +0.248187 0.246293 0.23872 0.23872 0.253867 0.269013 0.274693 0.28416 +0.293627 0.30688 0.34096 0.418587 0.526526 0.623158 0.770316 0.938947 +1.0182 1.00188 0.863789 0.689474 0.572632 0.515158 0.48296 0.515158 +0.586526 0.709053 0.860632 0.989143 1.03486 1.05347 1.0551 1.02702 +0.933263 0.775368 0.693263 0.729895 0.854947 0.986857 1.03322 1.05249 +1.04922 1.01298 0.820842 0.559368 0.322027 0.23304 0.00092 0.000886667 +0.000906667 0.00088 0.000853333 0.00086 0.00086 0.000846667 0.000853333 0.000826667 +0.00082 0.000873333 0.000913333 0.000506667 0.000506667 0.000913333 0.000866667 0.000806667 +0.000813333 0.00082 0.000786667 0.000786667 0.000753333 0.00074 0.000786667 0.000793333 +0.000773333 0.00076 0.00076 0.00078 0.000773333 0.000746667 0.00076 0.000733333 +0.000706667 0.000726667 0.000806667 0.000853333 0.000893333 0.22736 0.405333 0.667368 +0.941474 1.03649 1.05053 1.0391 0.997306 0.860632 0.699579 0.606105 +0.626316 0.774105 0.968632 1.03355 1.04922 1.04857 1.02669 0.965474 +0.807579 0.655368 0.554316 0.514526 0.524 0.582105 0.713474 0.899158 +1.01069 0.997306 0.868211 0.704632 0.586526 0.501895 0.36936 0.31824 +0.29552 0.276587 0.265227 0.257653 0.25008 0.246293 0.236827 0.234933 +0.23304 0.231147 0.236827 0.231147 0.22736 0.231147 0.234933 0.22736 +0.22736 0.234933 0.234933 0.23304 0.225467 0.219787 0.000993333 0.000993333 +0.217893 0.219787 0.229253 0.225467 0.22168 0.219787 0.22168 0.217893 +0.219787 0.22168 0.219787 0.219787 0.22168 0.225467 0.231147 0.22168 +0.216 0.223573 0.22168 0.223573 0.229253 0.225467 0.223573 0.22736 +0.225467 0.225467 0.23304 0.236827 0.23304 0.22736 0.22736 0.22736 +0.234933 0.23304 0.22736 0.22736 0.22736 0.225467 0.225467 0.219787 +0.223573 0.231147 0.23304 0.229253 0.23304 0.23304 0.229253 0.223573 +0.219787 0.225467 0.234933 0.240613 0.22736 0.216 0.22168 0.229253 +0.22736 0.225467 0.22168 0.219787 0.229253 0.225467 0.216 0.217893 +0.217893 0.229253 0.234933 0.22736 0.229253 0.229253 0.22736 0.229253 +0.234933 0.22736 0.219787 0.217893 0.229253 0.223573 0.219787 0.22736 +0.219787 0.000993333 0.219787 0.229253 0.23304 0.22168 0.219787 0.223573 +0.22736 0.217893 0.000986667 0.000973333 0.000973333 0.000993333 0.000973333 0.000993333 +0.000986667 0.000986667 0.217893 0.000966667 0.000973333 0.217893 0.217893 0.216 +0.217893 0.225467 0.216 0.225467 0.229253 0.217893 0.216 0.217893 +0.22168 0.217893 0.00098 0.000953333 0.219787 0.225467 0.22736 0.216 +0.216 0.216 0.231147 0.216 0.22168 0.22168 0.219787 0.219787 +0.223573 0.219787 0.216 0.219787 0.000986667 0.216 0.240613 0.23304 +0.225467 0.219787 0.22168 0.225467 0.217893 0.229253 0.229253 0.216 +0.000966667 0.00096 0.00098 0.000973333 0.217893 0.000986667 0.00096 0.216 +0.23872 0.246293 0.248187 0.246293 0.2444 0.2444 0.2444 0.25008 +0.236827 0.236827 0.242507 0.234933 0.240613 0.23304 0.229253 0.234933 +0.229253 0.223573 0.000993333 0.219787 0.236827 0.242507 0.23872 0.236827 +0.26144 0.276587 0.269013 0.26144 0.269013 0.270907 0.263333 0.251973 +0.26144 0.269013 0.287947 0.269013 0.253867 0.26712 0.25008 0.22168 +0.216 0.223573 0.216 0.000946667 0.000953333 0.216 0.223573 0.225467 +0.225467 0.00098 0.000973333 0.223573 0.216 0.00096 0.000953333 0.000966667 +0.000953333 0.00098 0.00092 0.0009 0.000933333 0.00098 0.22168 0.000993333 +0.00098 0.000953333 0.000953333 0.216 0.00098 0.219787 0.000986667 0.219787 +0.225467 0.225467 0.219787 0.223573 0.223573 0.223573 0.219787 0.23872 +0.217893 0.22168 0.225467 0.219787 0.00098 0.000993333 0.225467 0.23872 +0.22736 0.216 0.219787 0.000993333 0.000986667 0.234933 0.229253 0.22168 +0.000973333 0.216 0.000993333 0.219787 0.223573 0.216 0.000966667 0.000973333 +0.225467 0.234933 0.22736 0.216 0.00096 0.217893 0.223573 0.216 +0.225467 0.225467 0.22168 0.000993333 0.223573 0.229253 0.225467 0.225467 +0.22736 0.219787 0.22168 0.225467 0.219787 0.23304 0.236827 0.223573 +0.22168 0.225467 0.22168 0.22736 0.231147 0.217893 0.217893 0.225467 +0.231147 0.223573 0.223573 0.22736 0.22736 0.236827 0.23872 0.236827 +0.23872 0.242507 0.231147 0.22736 0.225467 0.229253 0.23872 0.240613 +0.22736 0.231147 0.225467 0.217893 0.225467 0.229253 0.234933 0.23304 +0.225467 0.225467 0.217893 0.22168 0.22168 0.229253 0.223573 0.225467 +0.219787 0.223573 0.234933 0.23304 0.231147 0.229253 0.22736 0.219787 +0.223573 0.217893 0.219787 0.225467 0.216 0.000986667 0.000966667 0.216 +0.219787 0.219787 0.223573 0.217893 0.219787 0.229253 0.217893 0.217893 +0.22168 0.231147 0.234933 0.22736 0.219787 0.22168 0.22168 0.216 +0.225467 0.22736 0.229253 0.225467 0.22168 0.229253 0.223573 0.229253 +0.234933 0.234933 0.234933 0.236827 0.229253 0.240613 0.246293 0.234933 +0.2444 0.251973 0.251973 0.25008 0.251973 0.269013 0.276587 0.28984 +0.320133 0.34664 0.424267 0.529684 0.626947 0.775368 0.951579 1.0218 +0.996653 0.846737 0.676211 0.565684 0.510737 0.48296 0.515789 0.592842 +0.724842 0.875158 0.992735 1.03551 1.05314 1.05282 1.03486 0.957263 +0.743158 0.568211 0.507579 0.549895 0.684421 0.873895 1.00743 1.04563 +1.04661 1.00318 0.784842 0.532211 0.299307 0.23304 0.00094 0.000873333 +0.000866667 0.000886667 0.000866667 0.000833333 0.00084 0.00084 0.000866667 0.000846667 +0.000833333 0.000893333 0.000966667 0.000506667 0.000506667 0.000506667 0.000913333 0.000806667 +0.000786667 0.000773333 0.000766667 0.00076 0.00074 0.000753333 0.000786667 0.00078 +0.00078 0.000766667 0.000766667 0.000773333 0.000766667 0.000773333 0.000773333 0.000753333 +0.000766667 0.000786667 0.00082 0.000846667 0.000853333 0.000973333 0.373147 0.652842 +0.932 1.03616 1.0502 1.0231 0.908632 0.698316 0.542316 0.418587 +0.439413 0.594737 0.822737 1.00024 1.04106 1.05118 1.0502 1.02735 +0.961684 0.810105 0.65979 0.558737 0.511368 0.517053 0.575158 0.702737 +0.888421 1.00841 1.0009 0.884 0.727368 0.598526 0.504421 0.378827 +0.327707 0.304987 0.28416 0.26144 0.253867 0.251973 0.242507 0.2444 +0.25008 0.248187 0.246293 0.242507 0.231147 0.229253 0.229253 0.22736 +0.23304 0.231147 0.229253 0.22736 0.216 0.216 0.22168 0.223573 +0.22168 0.225467 0.231147 0.225467 0.223573 0.223573 0.223573 0.216 +0.000986667 0.216 0.223573 0.219787 0.217893 0.216 0.223573 0.223573 +0.223573 0.223573 0.22168 0.217893 0.223573 0.22168 0.223573 0.225467 +0.22736 0.229253 0.225467 0.223573 0.225467 0.223573 0.22736 0.229253 +0.22736 0.225467 0.223573 0.225467 0.22168 0.000993333 0.223573 0.22168 +0.22736 0.23304 0.229253 0.22168 0.223573 0.223573 0.000993333 0.219787 +0.223573 0.223573 0.22736 0.229253 0.22736 0.219787 0.223573 0.22736 +0.225467 0.223573 0.223573 0.225467 0.229253 0.22736 0.217893 0.000993333 +0.216 0.223573 0.22736 0.223573 0.231147 0.231147 0.23304 0.231147 +0.219787 0.219787 0.217893 0.217893 0.22736 0.223573 0.219787 0.23304 +0.22736 0.219787 0.223573 0.22736 0.225467 0.217893 0.217893 0.22168 +0.23872 0.22736 0.000993333 0.000993333 0.00098 0.00098 0.216 0.000986667 +0.000966667 0.000993333 0.000986667 0.00096 0.00096 0.000993333 0.216 0.000973333 +0.000973333 0.000993333 0.00098 0.22168 0.22168 0.00098 0.000986667 0.219787 +0.223573 0.000986667 0.000946667 0.00098 0.22168 0.216 0.219787 0.000986667 +0.000933333 0.000973333 0.000986667 0.000993333 0.22736 0.216 0.216 0.217893 +0.22736 0.219787 0.000986667 0.000973333 0.000973333 0.22168 0.22736 0.225467 +0.00098 0.000973333 0.223573 0.22168 0.225467 0.229253 0.219787 0.223573 +0.000993333 0.00098 0.216 0.000993333 0.216 0.000933333 0.000893333 0.000946667 +0.216 0.00096 0.000946667 0.00098 0.000993333 0.000986667 0.000966667 0.217893 +0.22168 0.219787 0.217893 0.000986667 0.217893 0.217893 0.217893 0.22168 +0.216 0.000993333 0.000973333 0.00098 0.231147 0.242507 0.23872 0.231147 +0.236827 0.2444 0.240613 0.236827 0.231147 0.219787 0.22168 0.219787 +0.219787 0.22168 0.231147 0.000946667 0.000933333 0.000993333 0.000966667 0.00092 +0.00092 0.00098 0.217893 0.000993333 0.000986667 0.217893 0.22736 0.23304 +0.234933 0.223573 0.216 0.217893 0.000986667 0.00098 0.217893 0.216 +0.000946667 0.00098 0.00094 0.000893333 0.000933333 0.000913333 0.00092 0.000933333 +0.000933333 0.000946667 0.000913333 0.000926667 0.000946667 0.000966667 0.000973333 0.00096 +0.217893 0.217893 0.216 0.223573 0.219787 0.219787 0.231147 0.234933 +0.231147 0.000973333 0.223573 0.217893 0.219787 0.000973333 0.216 0.22168 +0.000993333 0.000986667 0.216 0.000973333 0.00096 0.22168 0.219787 0.000993333 +0.00098 0.000986667 0.000946667 0.000973333 0.22168 0.219787 0.00098 0.00094 +0.00098 0.225467 0.216 0.000986667 0.000966667 0.000993333 0.223573 0.22168 +0.231147 0.229253 0.223573 0.219787 0.225467 0.22736 0.216 0.217893 +0.223573 0.217893 0.000986667 0.000993333 0.000986667 0.22168 0.229253 0.219787 +0.000993333 0.217893 0.217893 0.225467 0.234933 0.231147 0.225467 0.22168 +0.22168 0.216 0.219787 0.231147 0.223573 0.223573 0.23304 0.225467 +0.22736 0.231147 0.225467 0.225467 0.223573 0.225467 0.225467 0.219787 +0.22168 0.225467 0.22736 0.219787 0.219787 0.231147 0.225467 0.225467 +0.22736 0.22736 0.22168 0.219787 0.217893 0.223573 0.223573 0.219787 +0.229253 0.22168 0.22736 0.223573 0.223573 0.219787 0.000993333 0.217893 +0.223573 0.216 0.217893 0.225467 0.225467 0.22168 0.217893 0.217893 +0.219787 0.000993333 0.217893 0.219787 0.216 0.216 0.000986667 0.000993333 +0.00098 0.219787 0.231147 0.22168 0.219787 0.22168 0.000993333 0.000986667 +0.223573 0.22736 0.23304 0.234933 0.22168 0.219787 0.229253 0.231147 +0.231147 0.231147 0.229253 0.236827 0.236827 0.242507 0.253867 0.242507 +0.246293 0.246293 0.251973 0.257653 0.26144 0.28416 0.3012 0.320133 +0.359893 0.4432 0.536 0.633895 0.787368 0.961684 1.0218 0.993388 +0.832211 0.661053 0.557474 0.504421 0.467813 0.518316 0.598526 0.732421 +0.890316 1.0022 1.04106 1.05445 1.05445 1.04302 1.00286 0.832842 +0.603579 0.40912 0.322027 0.407227 0.561895 0.756421 0.974316 1.03747 +1.04629 0.999265 0.772211 0.523368 0.282267 0.217893 0.000926667 0.00088 +0.00086 0.00086 0.000893333 0.00088 0.000866667 0.000866667 0.000853333 0.000853333 +0.000866667 0.000906667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000866667 +0.000806667 0.000793333 0.00078 0.00078 0.00078 0.000786667 0.000793333 0.000786667 +0.000773333 0.00078 0.0008 0.000826667 0.000813333 0.000806667 0.000786667 0.000753333 +0.000766667 0.00076 0.000766667 0.00076 0.000786667 0.000933333 0.373147 0.658526 +0.939579 1.0391 1.05086 1.00841 0.818947 0.586526 0.405333 0.299307 +0.28984 0.48296 0.693895 0.935158 1.02571 1.04759 1.05249 1.04727 +1.02702 0.968 0.813263 0.663579 0.557474 0.509474 0.517053 0.573263 +0.695789 0.880842 1.00678 1.00645 0.908 0.741895 0.600421 0.508211 +0.390187 0.33528 0.304987 0.27848 0.265227 0.259547 0.253867 0.251973 +0.253867 0.248187 0.246293 0.23872 0.234933 0.23872 0.234933 0.229253 +0.231147 0.225467 0.217893 0.217893 0.219787 0.225467 0.229253 0.22736 +0.225467 0.22168 0.216 0.000993333 0.217893 0.22168 0.223573 0.216 +0.000993333 0.22168 0.217893 0.000993333 0.000986667 0.217893 0.225467 0.223573 +0.217893 0.219787 0.219787 0.219787 0.22168 0.225467 0.223573 0.000986667 +0.000993333 0.223573 0.219787 0.219787 0.219787 0.22168 0.225467 0.22168 +0.22168 0.22168 0.219787 0.217893 0.000986667 0.216 0.22168 0.219787 +0.223573 0.231147 0.22736 0.22168 0.22168 0.22736 0.223573 0.22168 +0.22168 0.219787 0.223573 0.22168 0.229253 0.23304 0.229253 0.225467 +0.223573 0.217893 0.219787 0.229253 0.223573 0.219787 0.216 0.216 +0.223573 0.225467 0.22168 0.225467 0.223573 0.223573 0.231147 0.22736 +0.216 0.000993333 0.217893 0.217893 0.219787 0.219787 0.22168 0.229253 +0.22736 0.219787 0.22168 0.225467 0.22736 0.217893 0.00098 0.000993333 +0.225467 0.217893 0.219787 0.225467 0.000986667 0.00098 0.217893 0.000966667 +0.000953333 0.217893 0.00098 0.000966667 0.00096 0.000933333 0.000973333 0.000966667 +0.000946667 0.00096 0.000966667 0.217893 0.000993333 0.000946667 0.000966667 0.000993333 +0.219787 0.000973333 0.000953333 0.216 0.217893 0.000986667 0.216 0.000973333 +0.000913333 0.00096 0.00096 0.000993333 0.217893 0.217893 0.000993333 0.219787 +0.223573 0.217893 0.22168 0.216 0.000973333 0.217893 0.225467 0.219787 +0.000973333 0.00096 0.216 0.223573 0.22736 0.225467 0.217893 0.216 +0.00098 0.217893 0.219787 0.219787 0.22168 0.000966667 0.00096 0.216 +0.219787 0.00098 0.000966667 0.00094 0.00094 0.000953333 0.000933333 0.000926667 +0.000926667 0.000953333 0.00094 0.000913333 0.00092 0.000926667 0.000946667 0.00098 +0.000986667 0.216 0.000986667 0.216 0.22736 0.229253 0.225467 0.219787 +0.22168 0.22168 0.216 0.000966667 0.000946667 0.000926667 0.000946667 0.000933333 +0.00094 0.000973333 0.216 0.000926667 0.000953333 0.223573 0.225467 0.216 +0.00098 0.217893 0.22168 0.223573 0.216 0.216 0.219787 0.22736 +0.22736 0.223573 0.225467 0.217893 0.000986667 0.219787 0.225467 0.23304 +0.000993333 0.219787 0.223573 0.00096 0.00094 0.000933333 0.000893333 0.0009 +0.00092 0.000893333 0.000933333 0.000913333 0.00094 0.000966667 0.00096 0.00096 +0.000953333 0.216 0.000973333 0.000973333 0.000966667 0.000966667 0.000993333 0.223573 +0.223573 0.000926667 0.000946667 0.000973333 0.000966667 0.00098 0.216 0.219787 +0.000946667 0.000953333 0.000993333 0.217893 0.00098 0.000986667 0.000986667 0.00098 +0.000973333 0.000986667 0.00096 0.000986667 0.223573 0.225467 0.000986667 0.000946667 +0.00096 0.000973333 0.000966667 0.000973333 0.000966667 0.000966667 0.223573 0.229253 +0.23304 0.223573 0.219787 0.217893 0.216 0.217893 0.000986667 0.000993333 +0.223573 0.22168 0.000986667 0.000973333 0.00098 0.219787 0.22168 0.216 +0.000966667 0.219787 0.229253 0.229253 0.23304 0.236827 0.219787 0.22168 +0.22736 0.223573 0.22168 0.23304 0.225467 0.216 0.225467 0.22736 +0.225467 0.231147 0.231147 0.22168 0.225467 0.22168 0.219787 0.000986667 +0.216 0.219787 0.217893 0.22168 0.219787 0.223573 0.219787 0.217893 +0.223573 0.225467 0.223573 0.22168 0.000993333 0.22168 0.216 0.000993333 +0.22736 0.22736 0.217893 0.000986667 0.22168 0.22168 0.216 0.219787 +0.000986667 0.000973333 0.00098 0.217893 0.22736 0.229253 0.223573 0.219787 +0.217893 0.00098 0.000986667 0.219787 0.225467 0.217893 0.000986667 0.216 +0.216 0.219787 0.22736 0.219787 0.229253 0.22168 0.000986667 0.216 +0.000986667 0.000993333 0.225467 0.229253 0.223573 0.217893 0.229253 0.236827 +0.236827 0.23872 0.23304 0.240613 0.23872 0.236827 0.25576 0.251973 +0.2444 0.25008 0.257653 0.265227 0.27848 0.3012 0.322027 0.361787 +0.458347 0.553053 0.654737 0.801263 0.969263 1.02245 0.986204 0.815789 +0.650316 0.548632 0.500632 0.4716 0.519579 0.601684 0.738105 0.897895 +1.00514 1.04433 1.05804 1.05673 1.04596 1.0218 0.945895 0.730526 +0.524632 0.31824 0.28416 0.333387 0.506316 0.693263 0.940211 1.03355 +1.04727 1.0009 0.772211 0.522105 0.269013 0.000973333 0.0009 0.000886667 +0.000853333 0.00086 0.000873333 0.000893333 0.000886667 0.000893333 0.00086 0.00086 +0.000933333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000866667 0.00076 0.000786667 0.00082 0.000826667 0.000806667 0.000793333 0.00078 +0.000766667 0.000773333 0.000793333 0.00082 0.000806667 0.00078 0.000753333 0.00078 +0.0008 0.000786667 0.000793333 0.0008 0.00084 0.000946667 0.367467 0.653474 +0.934526 1.03812 1.04922 1.00318 0.791789 0.552421 0.339067 0.26712 +0.253867 0.354213 0.597263 0.825895 0.984898 1.02669 1.04629 1.05282 +1.04955 1.02865 0.970526 0.820211 0.663579 0.556842 0.508842 0.515158 +0.569474 0.683158 0.868842 1.00188 1.00743 0.913684 0.742526 0.597263 +0.505053 0.382613 0.327707 0.303093 0.286053 0.269013 0.25576 0.25008 +0.25008 0.246293 0.246293 0.23304 0.231147 0.23872 0.231147 0.219787 +0.219787 0.225467 0.223573 0.217893 0.219787 0.217893 0.217893 0.223573 +0.225467 0.000993333 0.00098 0.216 0.219787 0.22168 0.22168 0.219787 +0.219787 0.223573 0.000986667 0.000966667 0.000986667 0.217893 0.223573 0.219787 +0.000993333 0.219787 0.223573 0.219787 0.22168 0.223573 0.22168 0.00098 +0.000986667 0.217893 0.22168 0.22168 0.000993333 0.217893 0.219787 0.217893 +0.000993333 0.219787 0.219787 0.00098 0.00098 0.219787 0.217893 0.216 +0.22168 0.229253 0.229253 0.223573 0.216 0.217893 0.219787 0.22168 +0.22168 0.217893 0.22736 0.229253 0.231147 0.229253 0.225467 0.223573 +0.22168 0.22168 0.225467 0.22736 0.216 0.217893 0.217893 0.219787 +0.231147 0.22736 0.22168 0.229253 0.223573 0.219787 0.219787 0.000993333 +0.000993333 0.216 0.219787 0.223573 0.22168 0.219787 0.219787 0.217893 +0.223573 0.223573 0.225467 0.225467 0.216 0.000986667 0.00098 0.217893 +0.219787 0.000993333 0.000993333 0.000966667 0.000953333 0.000986667 0.223573 0.216 +0.000986667 0.217893 0.00096 0.00096 0.000966667 0.000953333 0.00098 0.00098 +0.000946667 0.000946667 0.00098 0.216 0.000966667 0.000946667 0.000986667 0.000973333 +0.000986667 0.000973333 0.000966667 0.216 0.000973333 0.000973333 0.000966667 0.000946667 +0.000953333 0.217893 0.000993333 0.217893 0.000973333 0.219787 0.216 0.219787 +0.00098 0.000973333 0.219787 0.225467 0.000986667 0.219787 0.22736 0.219787 +0.000966667 0.000953333 0.217893 0.225467 0.223573 0.216 0.216 0.000986667 +0.000966667 0.217893 0.219787 0.216 0.000986667 0.00098 0.000993333 0.223573 +0.231147 0.219787 0.00098 0.000973333 0.000973333 0.000973333 0.000966667 0.000946667 +0.000886667 0.000893333 0.000866667 0.000833333 0.000826667 0.000846667 0.000846667 0.00088 +0.000933333 0.000933333 0.0009 0.000933333 0.000966667 0.000933333 0.000933333 0.00096 +0.000973333 0.00098 0.000946667 0.000933333 0.000946667 0.00096 0.000986667 0.216 +0.219787 0.223573 0.223573 0.000973333 0.216 0.234933 0.231147 0.217893 +0.00098 0.000993333 0.000993333 0.00098 0.000986667 0.219787 0.225467 0.22736 +0.225467 0.217893 0.223573 0.229253 0.217893 0.219787 0.216 0.216 +0.217893 0.229253 0.223573 0.00098 0.000973333 0.00096 0.00094 0.000926667 +0.00094 0.000886667 0.000873333 0.000933333 0.000933333 0.000986667 0.000966667 0.000946667 +0.000953333 0.000966667 0.00098 0.000946667 0.000946667 0.000933333 0.000953333 0.216 +0.216 0.000913333 0.000933333 0.000946667 0.000953333 0.000966667 0.217893 0.217893 +0.00092 0.000906667 0.000973333 0.219787 0.00096 0.000946667 0.00096 0.000933333 +0.00092 0.00094 0.000953333 0.000973333 0.217893 0.223573 0.216 0.000973333 +0.000953333 0.000973333 0.000993333 0.000993333 0.00098 0.000993333 0.22736 0.23304 +0.22168 0.000993333 0.219787 0.219787 0.216 0.216 0.000993333 0.000986667 +0.217893 0.217893 0.00096 0.000953333 0.000986667 0.216 0.223573 0.000993333 +0.000953333 0.000986667 0.217893 0.219787 0.225467 0.234933 0.223573 0.22736 +0.234933 0.231147 0.225467 0.225467 0.22168 0.216 0.000993333 0.22168 +0.219787 0.225467 0.225467 0.000993333 0.223573 0.223573 0.22168 0.229253 +0.229253 0.223573 0.000993333 0.000993333 0.217893 0.219787 0.000993333 0.219787 +0.22168 0.219787 0.223573 0.22168 0.216 0.219787 0.000993333 0.00098 +0.000993333 0.22168 0.216 0.000966667 0.219787 0.219787 0.225467 0.219787 +0.00098 0.000986667 0.000973333 0.000946667 0.216 0.223573 0.216 0.219787 +0.216 0.217893 0.223573 0.223573 0.223573 0.216 0.000986667 0.00098 +0.00098 0.217893 0.219787 0.219787 0.22736 0.225467 0.217893 0.219787 +0.000966667 0.000966667 0.217893 0.217893 0.225467 0.223573 0.223573 0.223573 +0.229253 0.23872 0.229253 0.231147 0.234933 0.23872 0.251973 0.251973 +0.25576 0.26712 0.276587 0.280373 0.303093 0.33528 0.378827 0.47728 +0.562526 0.678737 0.830316 0.984898 1.02278 0.978105 0.796842 0.635789 +0.541684 0.49432 0.464027 0.522737 0.612421 0.746316 0.902316 1.00645 +1.044 1.05673 1.0551 1.04041 1.01037 0.952211 0.814526 0.616842 +0.40344 0.28984 0.3012 0.35232 0.523368 0.721684 0.964211 1.0391 +1.04694 0.992408 0.747579 0.508842 0.251973 0.000933333 0.000893333 0.000913333 +0.000906667 0.0009 0.000893333 0.00088 0.00088 0.00088 0.000853333 0.000926667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000833333 0.00078 0.000813333 0.000806667 0.000793333 0.000766667 0.000746667 +0.00076 0.000766667 0.000766667 0.00078 0.000773333 0.000793333 0.00082 0.000826667 +0.000813333 0.00084 0.00088 0.00088 0.000873333 0.0009 0.31824 0.616211 +0.895368 1.02996 1.04759 1.01298 0.843579 0.608632 0.439413 0.314453 +0.28416 0.3012 0.513895 0.680632 0.839158 0.950947 1.00906 1.03845 +1.05151 1.05053 1.02996 0.971789 0.811368 0.656632 0.553053 0.502526 +0.508842 0.560632 0.674947 0.845474 0.987837 1.00351 0.909895 0.732421 +0.584632 0.501895 0.378827 0.327707 0.303093 0.282267 0.26712 0.259547 +0.25008 0.236827 0.23304 0.229253 0.223573 0.231147 0.229253 0.223573 +0.223573 0.225467 0.225467 0.22168 0.000993333 0.00098 0.216 0.217893 +0.223573 0.000993333 0.000993333 0.22168 0.225467 0.22168 0.22168 0.217893 +0.000986667 0.000973333 0.000986667 0.219787 0.217893 0.22168 0.22736 0.223573 +0.219787 0.22168 0.22736 0.225467 0.22168 0.217893 0.217893 0.000993333 +0.00098 0.217893 0.22168 0.225467 0.22736 0.219787 0.219787 0.000986667 +0.00096 0.00098 0.217893 0.000993333 0.217893 0.22168 0.216 0.000986667 +0.000986667 0.22168 0.225467 0.22736 0.000993333 0.00098 0.219787 0.225467 +0.219787 0.00098 0.216 0.225467 0.231147 0.229253 0.225467 0.219787 +0.223573 0.223573 0.22168 0.219787 0.217893 0.217893 0.219787 0.219787 +0.223573 0.216 0.216 0.22168 0.219787 0.223573 0.000993333 0.00098 +0.000973333 0.00096 0.000986667 0.22168 0.229253 0.229253 0.225467 0.217893 +0.22168 0.225467 0.223573 0.217893 0.219787 0.22168 0.219787 0.217893 +0.000986667 0.216 0.000993333 0.000966667 0.216 0.217893 0.000986667 0.000986667 +0.000993333 0.000986667 0.000953333 0.000946667 0.00098 0.00098 0.00096 0.00096 +0.00098 0.000966667 0.000986667 0.000953333 0.000893333 0.000913333 0.000973333 0.000966667 +0.00096 0.000966667 0.000966667 0.00096 0.000953333 0.000973333 0.00096 0.00092 +0.00096 0.000993333 0.216 0.216 0.00098 0.000993333 0.216 0.217893 +0.000973333 0.000953333 0.216 0.219787 0.216 0.225467 0.219787 0.22168 +0.000986667 0.00098 0.219787 0.219787 0.223573 0.216 0.000986667 0.000973333 +0.000953333 0.000986667 0.000993333 0.000993333 0.000973333 0.000973333 0.000993333 0.22736 +0.225467 0.000986667 0.000953333 0.00096 0.00096 0.000906667 0.0009 0.000946667 +0.00088 0.000853333 0.000826667 0.00082 0.000826667 0.000873333 0.000873333 0.000886667 +0.00092 0.00088 0.000833333 0.000873333 0.0009 0.000873333 0.000886667 0.000926667 +0.00094 0.000966667 0.000953333 0.000953333 0.000973333 0.217893 0.217893 0.000986667 +0.000993333 0.229253 0.225467 0.00096 0.00096 0.22168 0.223573 0.216 +0.00098 0.000993333 0.217893 0.217893 0.000993333 0.217893 0.22736 0.229253 +0.22168 0.000973333 0.000973333 0.225467 0.22168 0.000993333 0.00098 0.000986667 +0.000966667 0.216 0.223573 0.000973333 0.000973333 0.000993333 0.000973333 0.000986667 +0.000973333 0.000933333 0.000906667 0.000926667 0.000946667 0.000953333 0.000973333 0.00092 +0.000913333 0.00094 0.00094 0.00098 0.000953333 0.000933333 0.000933333 0.000966667 +0.00098 0.000926667 0.000953333 0.000946667 0.00094 0.000953333 0.00098 0.219787 +0.000953333 0.00092 0.000953333 0.000986667 0.000953333 0.000966667 0.000946667 0.0009 +0.000906667 0.000946667 0.000933333 0.000933333 0.217893 0.225467 0.223573 0.000966667 +0.000946667 0.000926667 0.000993333 0.219787 0.216 0.000966667 0.216 0.225467 +0.216 0.00098 0.219787 0.217893 0.216 0.217893 0.00096 0.000953333 +0.000973333 0.216 0.000973333 0.00096 0.000986667 0.000986667 0.225467 0.225467 +0.217893 0.216 0.000986667 0.217893 0.229253 0.234933 0.22736 0.22168 +0.22168 0.225467 0.223573 0.22168 0.219787 0.22168 0.223573 0.219787 +0.000986667 0.216 0.22168 0.22168 0.22168 0.22168 0.219787 0.22736 +0.231147 0.231147 0.223573 0.216 0.217893 0.223573 0.000993333 0.000993333 +0.219787 0.22168 0.231147 0.22168 0.217893 0.217893 0.000973333 0.00098 +0.000973333 0.217893 0.217893 0.216 0.000986667 0.00098 0.219787 0.223573 +0.00098 0.000993333 0.000993333 0.000933333 0.000933333 0.000986667 0.000973333 0.217893 +0.219787 0.225467 0.231147 0.225467 0.22168 0.000973333 0.00098 0.000986667 +0.000966667 0.000986667 0.219787 0.217893 0.223573 0.231147 0.22168 0.219787 +0.217893 0.000986667 0.223573 0.225467 0.225467 0.229253 0.229253 0.22168 +0.22736 0.234933 0.223573 0.22736 0.23304 0.234933 0.246293 0.251973 +0.257653 0.2728 0.287947 0.291733 0.32392 0.384507 0.486747 0.566947 +0.685053 0.849895 0.99502 1.02506 0.969263 0.781053 0.622526 0.534105 +0.48296 0.462133 0.523368 0.613053 0.752632 0.908632 1.00808 1.04335 +1.05445 1.0489 1.0218 0.969895 0.859368 0.746316 0.625053 0.502526 +0.3296 0.36368 0.429947 0.518947 0.628842 0.832211 1.00514 1.04824 +1.04008 0.956632 0.692 0.441307 0.229253 0.000926667 0.00088 0.000913333 +0.00094 0.00094 0.000913333 0.000893333 0.000873333 0.000853333 0.000893333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000853333 0.000773333 0.000786667 0.0008 0.00076 0.000773333 +0.000793333 0.0008 0.000793333 0.0008 0.000813333 0.000833333 0.000846667 0.000833333 +0.00084 0.000886667 0.000906667 0.000893333 0.00088 0.000866667 0.26144 0.555579 +0.810737 1.00482 1.04433 1.03192 0.949053 0.753263 0.606737 0.531579 +0.48296 0.378827 0.382613 0.539158 0.646526 0.746947 0.855579 0.975579 +1.02931 1.05216 1.05053 1.02833 0.963579 0.804421 0.649053 0.544842 +0.501263 0.505684 0.551789 0.654105 0.826526 0.983918 1.00351 0.904211 +0.729263 0.591579 0.508842 0.388293 0.322027 0.29552 0.280373 0.270907 +0.25576 0.240613 0.236827 0.231147 0.23304 0.236827 0.23304 0.231147 +0.229253 0.223573 0.22736 0.234933 0.223573 0.22168 0.219787 0.216 +0.22168 0.217893 0.219787 0.217893 0.000993333 0.000986667 0.22168 0.22736 +0.22168 0.000993333 0.216 0.217893 0.22168 0.22168 0.219787 0.217893 +0.216 0.000993333 0.22168 0.22168 0.217893 0.219787 0.22168 0.219787 +0.219787 0.22736 0.225467 0.225467 0.223573 0.000986667 0.000973333 0.00096 +0.000973333 0.000986667 0.216 0.22168 0.219787 0.217893 0.216 0.216 +0.000986667 0.000986667 0.219787 0.22168 0.000993333 0.00098 0.217893 0.22168 +0.217893 0.000993333 0.000986667 0.219787 0.22736 0.231147 0.225467 0.219787 +0.22736 0.229253 0.219787 0.000993333 0.000993333 0.216 0.219787 0.219787 +0.223573 0.22168 0.22168 0.219787 0.219787 0.22168 0.217893 0.217893 +0.000986667 0.00098 0.216 0.22168 0.223573 0.225467 0.225467 0.225467 +0.225467 0.223573 0.217893 0.000993333 0.22736 0.229253 0.22168 0.00098 +0.000973333 0.22168 0.219787 0.000993333 0.22168 0.00098 0.000953333 0.00098 +0.217893 0.000986667 0.00096 0.000933333 0.000973333 0.000993333 0.00094 0.000946667 +0.000986667 0.000986667 0.000993333 0.000953333 0.0009 0.000946667 0.00096 0.000966667 +0.000953333 0.000966667 0.000986667 0.00094 0.00096 0.000973333 0.000953333 0.000933333 +0.00098 0.000986667 0.223573 0.00098 0.000966667 0.000953333 0.00098 0.000993333 +0.000966667 0.00094 0.216 0.000986667 0.219787 0.223573 0.000993333 0.216 +0.000993333 0.22168 0.217893 0.000993333 0.216 0.000973333 0.00096 0.000953333 +0.00096 0.000966667 0.00098 0.000966667 0.000926667 0.000946667 0.000953333 0.000953333 +0.00096 0.000933333 0.000893333 0.000866667 0.000893333 0.000866667 0.000853333 0.000913333 +0.0009 0.000873333 0.000846667 0.000886667 0.000913333 0.000926667 0.000913333 0.000933333 +0.00096 0.000913333 0.000853333 0.000886667 0.000906667 0.000893333 0.000953333 0.000933333 +0.000893333 0.00092 0.000933333 0.000933333 0.000913333 0.000933333 0.000933333 0.000913333 +0.000926667 0.219787 0.22736 0.000973333 0.00096 0.000986667 0.219787 0.217893 +0.000986667 0.000993333 0.22168 0.217893 0.216 0.000986667 0.219787 0.219787 +0.00098 0.00096 0.000966667 0.216 0.000993333 0.000993333 0.00098 0.000986667 +0.000973333 0.219787 0.225467 0.000986667 0.000973333 0.22168 0.219787 0.219787 +0.219787 0.000926667 0.00094 0.000946667 0.00092 0.00094 0.000913333 0.00092 +0.000873333 0.000886667 0.000913333 0.000913333 0.000946667 0.000906667 0.000893333 0.000933333 +0.00096 0.000946667 0.000933333 0.00096 0.000933333 0.000926667 0.00092 0.00098 +0.00098 0.000926667 0.000926667 0.00094 0.000946667 0.000973333 0.00096 0.000926667 +0.000926667 0.000953333 0.000946667 0.000933333 0.216 0.22168 0.219787 0.00096 +0.000933333 0.000913333 0.00094 0.000986667 0.000986667 0.000933333 0.000946667 0.219787 +0.216 0.00096 0.000986667 0.000973333 0.00096 0.219787 0.000966667 0.00098 +0.000993333 0.000993333 0.000986667 0.000966667 0.000986667 0.216 0.22736 0.23304 +0.22736 0.219787 0.000973333 0.217893 0.225467 0.223573 0.217893 0.000973333 +0.000986667 0.22168 0.223573 0.216 0.219787 0.22168 0.231147 0.22736 +0.22168 0.22168 0.219787 0.22736 0.231147 0.217893 0.00098 0.219787 +0.22168 0.231147 0.22736 0.223573 0.223573 0.217893 0.000986667 0.000993333 +0.000993333 0.00098 0.22168 0.219787 0.22168 0.22168 0.219787 0.219787 +0.216 0.223573 0.225467 0.000993333 0.000966667 0.000973333 0.219787 0.223573 +0.216 0.000993333 0.217893 0.00098 0.000986667 0.217893 0.217893 0.000986667 +0.000993333 0.223573 0.234933 0.229253 0.22736 0.000993333 0.000973333 0.217893 +0.00098 0.219787 0.223573 0.219787 0.231147 0.234933 0.22168 0.216 +0.22168 0.22168 0.225467 0.229253 0.22736 0.22736 0.229253 0.22736 +0.229253 0.234933 0.240613 0.2444 0.240613 0.2444 0.251973 0.26144 +0.274693 0.282267 0.297413 0.31256 0.367467 0.484853 0.563789 0.685053 +0.853684 0.999592 1.02571 0.959789 0.772842 0.614316 0.525895 0.46592 +0.46024 0.519579 0.604211 0.744421 0.906105 1.00906 1.044 1.0551 +1.04629 1.00645 0.887158 0.738105 0.625053 0.545474 0.45456 0.39208 +0.513263 0.585263 0.638947 0.710316 0.829684 0.980653 1.0378 1.04824 +1.012 0.853684 0.603579 0.337173 0.00098 0.000953333 0.000926667 0.0009 +0.000926667 0.000933333 0.000913333 0.000866667 0.000873333 0.000933333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000873333 0.00082 0.00078 0.000786667 0.000786667 0.000793333 +0.0008 0.000806667 0.0008 0.0008 0.000786667 0.000786667 0.000813333 0.000826667 +0.00086 0.000886667 0.00092 0.000933333 0.000926667 0.000893333 0.219787 0.464027 +0.689474 0.92379 1.0231 1.04204 1.01527 0.933263 0.817053 0.734947 +0.674316 0.582737 0.44888 0.38072 0.49432 0.550526 0.633895 0.772211 +0.949684 1.02963 1.05282 1.0502 1.02735 0.959158 0.794947 0.639579 +0.542316 0.490533 0.492427 0.546737 0.654737 0.828421 0.985878 1.00612 +0.913053 0.747579 0.608632 0.514526 0.388293 0.3296 0.30688 0.280373 +0.259547 0.253867 0.248187 0.240613 0.242507 0.248187 0.23304 0.22168 +0.22736 0.225467 0.223573 0.229253 0.223573 0.225467 0.22168 0.219787 +0.22736 0.22736 0.22168 0.216 0.216 0.217893 0.225467 0.22736 +0.216 0.216 0.216 0.000993333 0.223573 0.219787 0.000986667 0.217893 +0.219787 0.000993333 0.223573 0.22168 0.219787 0.22168 0.219787 0.216 +0.216 0.225467 0.223573 0.000993333 0.000973333 0.000993333 0.000973333 0.000973333 +0.00098 0.000966667 0.000993333 0.22168 0.219787 0.22168 0.22168 0.219787 +0.00098 0.00096 0.216 0.216 0.000993333 0.216 0.219787 0.219787 +0.219787 0.22168 0.225467 0.225467 0.229253 0.229253 0.22736 0.22168 +0.223573 0.23304 0.223573 0.219787 0.223573 0.223573 0.216 0.000993333 +0.216 0.219787 0.22168 0.216 0.000993333 0.000993333 0.216 0.217893 +0.219787 0.217893 0.217893 0.216 0.000986667 0.000986667 0.000993333 0.223573 +0.223573 0.217893 0.000993333 0.000986667 0.22168 0.225467 0.000993333 0.000986667 +0.216 0.217893 0.000986667 0.000966667 0.00098 0.000946667 0.00096 0.00098 +0.000986667 0.000973333 0.000953333 0.00096 0.00098 0.00098 0.000946667 0.000946667 +0.217893 0.000993333 0.000973333 0.00096 0.00096 0.000986667 0.000953333 0.000953333 +0.000986667 0.000973333 0.00098 0.000946667 0.00096 0.00096 0.000946667 0.00096 +0.00098 0.000966667 0.00098 0.000953333 0.000986667 0.000986667 0.000966667 0.00098 +0.000933333 0.000933333 0.00098 0.00098 0.223573 0.217893 0.219787 0.000966667 +0.00096 0.225467 0.217893 0.000993333 0.000993333 0.000973333 0.00098 0.000933333 +0.00094 0.00098 0.000966667 0.000946667 0.00092 0.000913333 0.00094 0.00092 +0.000886667 0.000886667 0.000853333 0.000846667 0.0009 0.000846667 0.000846667 0.000893333 +0.000926667 0.000966667 0.000946667 0.000933333 0.00094 0.00094 0.000933333 0.000973333 +0.000986667 0.000906667 0.000873333 0.000933333 0.00094 0.000926667 0.000973333 0.000926667 +0.000893333 0.00092 0.00092 0.00092 0.0009 0.000913333 0.000906667 0.00088 +0.000906667 0.217893 0.000993333 0.000933333 0.000966667 0.000973333 0.000966667 0.00096 +0.000946667 0.00096 0.000973333 0.00098 0.000986667 0.219787 0.22736 0.217893 +0.000973333 0.000953333 0.000946667 0.000986667 0.000973333 0.000993333 0.000993333 0.219787 +0.000986667 0.22168 0.229253 0.216 0.000986667 0.219787 0.231147 0.219787 +0.000993333 0.000993333 0.000933333 0.00098 0.000953333 0.000933333 0.000946667 0.00092 +0.0009 0.000886667 0.00088 0.000886667 0.000886667 0.000893333 0.00086 0.000926667 +0.000946667 0.000933333 0.000933333 0.000946667 0.000966667 0.000926667 0.0009 0.000966667 +0.217893 0.00094 0.000933333 0.000946667 0.000973333 0.00096 0.00096 0.000953333 +0.00092 0.000933333 0.000953333 0.000926667 0.22168 0.225467 0.000993333 0.00094 +0.000926667 0.000946667 0.00098 0.216 0.000986667 0.000926667 0.000926667 0.000993333 +0.216 0.000946667 0.000966667 0.000953333 0.00094 0.00098 0.000993333 0.217893 +0.000993333 0.000973333 0.000986667 0.00098 0.000953333 0.000926667 0.000966667 0.219787 +0.22736 0.22736 0.00098 0.000993333 0.219787 0.217893 0.216 0.00098 +0.000973333 0.217893 0.219787 0.000986667 0.000993333 0.219787 0.223573 0.223573 +0.219787 0.223573 0.223573 0.229253 0.223573 0.216 0.000993333 0.217893 +0.22168 0.223573 0.22168 0.229253 0.229253 0.22168 0.223573 0.223573 +0.216 0.000966667 0.000986667 0.216 0.223573 0.22168 0.225467 0.231147 +0.219787 0.219787 0.22168 0.217893 0.000973333 0.000986667 0.216 0.000986667 +0.000973333 0.219787 0.217893 0.000993333 0.216 0.216 0.219787 0.217893 +0.00098 0.000993333 0.225467 0.234933 0.231147 0.223573 0.22168 0.22168 +0.219787 0.223573 0.223573 0.229253 0.231147 0.229253 0.22736 0.219787 +0.217893 0.223573 0.231147 0.22736 0.229253 0.225467 0.22736 0.22736 +0.231147 0.236827 0.248187 0.246293 0.248187 0.257653 0.259547 0.2728 +0.287947 0.303093 0.327707 0.37504 0.49432 0.580211 0.704 0.865053 +0.998939 1.02114 0.944 0.754526 0.606737 0.520211 0.45456 0.456453 +0.517053 0.594105 0.728 0.896 1.0071 1.04237 1.05249 1.04531 +1.00547 0.865053 0.673684 0.541053 0.445093 0.37504 0.367467 0.530947 +0.688842 0.821474 0.890316 0.944632 0.997306 1.03192 1.04629 1.02212 +0.925053 0.708421 0.507579 0.248187 0.00094 0.000953333 0.00096 0.000926667 +0.00092 0.000913333 0.000913333 0.000873333 0.000893333 0.000966667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000873333 0.000806667 0.000793333 0.0008 0.000833333 +0.00082 0.00082 0.000806667 0.00078 0.000766667 0.000786667 0.000826667 0.000846667 +0.000873333 0.00088 0.000906667 0.000926667 0.000913333 0.000873333 0.000926667 0.31256 +0.565053 0.767789 0.948421 1.01755 1.03127 1.01788 0.991429 0.956 +0.899158 0.762737 0.572632 0.384507 0.3296 0.365573 0.464027 0.581474 +0.759579 0.956632 1.03388 1.05314 1.04824 1.02571 0.950316 0.778526 +0.624421 0.534105 0.481067 0.5 0.553053 0.658526 0.827789 0.98751 +1.01135 0.936421 0.772842 0.624421 0.522737 0.40912 0.337173 0.299307 +0.274693 0.257653 0.25576 0.246293 0.246293 0.242507 0.231147 0.225467 +0.23304 0.231147 0.229253 0.22736 0.229253 0.231147 0.219787 0.217893 +0.231147 0.229253 0.223573 0.217893 0.219787 0.22168 0.223573 0.219787 +0.000993333 0.223573 0.223573 0.219787 0.22168 0.000986667 0.216 0.22168 +0.000993333 0.000986667 0.223573 0.22168 0.000993333 0.00098 0.219787 0.225467 +0.217893 0.223573 0.217893 0.000993333 0.000993333 0.216 0.000993333 0.216 +0.000986667 0.000993333 0.219787 0.22168 0.000993333 0.216 0.22168 0.22168 +0.000973333 0.000973333 0.22168 0.219787 0.217893 0.22168 0.219787 0.217893 +0.216 0.22168 0.229253 0.229253 0.22168 0.217893 0.219787 0.216 +0.216 0.223573 0.217893 0.219787 0.22736 0.217893 0.000986667 0.219787 +0.219787 0.22168 0.219787 0.00098 0.00098 0.217893 0.223573 0.22168 +0.22168 0.000993333 0.000986667 0.217893 0.00098 0.000993333 0.216 0.000993333 +0.000993333 0.000973333 0.000993333 0.217893 0.225467 0.219787 0.000973333 0.217893 +0.22168 0.000973333 0.000966667 0.000986667 0.00098 0.000966667 0.000973333 0.000993333 +0.217893 0.000986667 0.000966667 0.216 0.217893 0.00096 0.000946667 0.000946667 +0.00098 0.00098 0.00096 0.000946667 0.00098 0.000973333 0.000946667 0.000946667 +0.000986667 0.000973333 0.000946667 0.00096 0.000973333 0.000966667 0.00092 0.000953333 +0.000946667 0.000953333 0.000926667 0.000946667 0.00098 0.000986667 0.00096 0.000953333 +0.000933333 0.000966667 0.000946667 0.00096 0.000993333 0.219787 0.216 0.00094 +0.000926667 0.00098 0.000966667 0.000973333 0.000953333 0.000946667 0.000953333 0.000893333 +0.000946667 0.000993333 0.000966667 0.00094 0.000913333 0.000906667 0.00092 0.000906667 +0.00086 0.000853333 0.00084 0.00086 0.000913333 0.000866667 0.0009 0.00096 +0.000933333 0.000986667 0.000986667 0.000953333 0.000946667 0.000973333 0.00094 0.000966667 +0.000973333 0.000913333 0.000893333 0.000953333 0.000926667 0.000913333 0.00098 0.000926667 +0.000946667 0.000953333 0.000946667 0.000933333 0.00092 0.00092 0.000933333 0.00092 +0.000933333 0.000986667 0.00094 0.000913333 0.000953333 0.000973333 0.00096 0.000926667 +0.000906667 0.00094 0.000933333 0.00094 0.00096 0.22168 0.225467 0.000993333 +0.000946667 0.000966667 0.000966667 0.216 0.00098 0.216 0.217893 0.225467 +0.000993333 0.000966667 0.219787 0.000993333 0.000973333 0.219787 0.000993333 0.217893 +0.000986667 0.000986667 0.000946667 0.000973333 0.00098 0.000973333 0.000946667 0.000966667 +0.00092 0.00094 0.000926667 0.000906667 0.000893333 0.000866667 0.000873333 0.0009 +0.00092 0.0009 0.000913333 0.000906667 0.000906667 0.000913333 0.000906667 0.000953333 +0.000966667 0.00092 0.000933333 0.00096 0.000973333 0.000966667 0.000973333 0.000973333 +0.000926667 0.00094 0.000973333 0.00096 0.216 0.217893 0.00096 0.000953333 +0.000946667 0.000973333 0.000993333 0.22168 0.00098 0.00094 0.000933333 0.000953333 +0.00098 0.000946667 0.000933333 0.00096 0.000953333 0.000973333 0.000993333 0.000986667 +0.000993333 0.00098 0.217893 0.000993333 0.000953333 0.000953333 0.216 0.22168 +0.22168 0.216 0.00098 0.000966667 0.000986667 0.216 0.000986667 0.000973333 +0.00096 0.000993333 0.000993333 0.000966667 0.000966667 0.223573 0.219787 0.217893 +0.000993333 0.00098 0.000993333 0.223573 0.216 0.00096 0.219787 0.22168 +0.219787 0.216 0.216 0.22168 0.22168 0.219787 0.225467 0.225467 +0.219787 0.000966667 0.000986667 0.225467 0.225467 0.217893 0.217893 0.217893 +0.219787 0.219787 0.217893 0.22736 0.219787 0.00098 0.217893 0.000993333 +0.000966667 0.223573 0.223573 0.000993333 0.217893 0.000986667 0.216 0.217893 +0.000986667 0.00098 0.000986667 0.225467 0.223573 0.219787 0.22168 0.216 +0.219787 0.217893 0.000986667 0.223573 0.229253 0.223573 0.22736 0.229253 +0.22736 0.225467 0.229253 0.229253 0.23304 0.23304 0.23304 0.236827 +0.236827 0.23872 0.248187 0.253867 0.25576 0.265227 0.269013 0.280373 +0.293627 0.322027 0.3864 0.500632 0.586526 0.724842 0.889053 1.0022 +1.01069 0.919368 0.740632 0.594105 0.516421 0.456453 0.450773 0.515158 +0.592842 0.722947 0.885895 1.00416 1.04269 1.05314 1.04465 1.00449 +0.868211 0.673684 0.524 0.356107 0.308773 0.322027 0.418587 0.607368 +0.828421 0.981959 1.01004 1.02147 1.03322 1.03192 1.0058 0.915579 +0.743789 0.554947 0.28984 0.000933333 0.000946667 0.000933333 0.000926667 0.00092 +0.000893333 0.00086 0.00088 0.0009 0.000933333 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000886667 0.0008 0.000786667 0.000806667 +0.000806667 0.000806667 0.0008 0.000786667 0.000793333 0.000806667 0.000826667 0.000853333 +0.000853333 0.000846667 0.000833333 0.000853333 0.0009 0.000886667 0.000913333 0.231147 +0.395867 0.595368 0.762105 0.908 0.989469 1.01396 1.01886 1.01298 +0.991429 0.86 0.635158 0.439413 0.30688 0.293627 0.3012 0.401547 +0.582105 0.770316 0.968632 1.03486 1.05151 1.04792 1.0218 0.935158 +0.764 0.614947 0.528421 0.484853 0.504421 0.552421 0.653474 0.827789 +0.989796 1.01624 0.956 0.789895 0.630737 0.523368 0.401547 0.33528 +0.3012 0.2728 0.274693 0.259547 0.246293 0.236827 0.231147 0.234933 +0.23304 0.234933 0.240613 0.234933 0.231147 0.231147 0.22168 0.217893 +0.22736 0.223573 0.22168 0.223573 0.22168 0.225467 0.217893 0.217893 +0.217893 0.22168 0.223573 0.22168 0.217893 0.217893 0.219787 0.22168 +0.000986667 0.000993333 0.219787 0.219787 0.000993333 0.000986667 0.225467 0.229253 +0.219787 0.217893 0.000986667 0.216 0.000986667 0.000966667 0.00098 0.217893 +0.223573 0.22168 0.00098 0.00096 0.00098 0.216 0.217893 0.217893 +0.000973333 0.000973333 0.216 0.000986667 0.000993333 0.219787 0.000986667 0.000993333 +0.217893 0.217893 0.219787 0.000993333 0.000993333 0.22168 0.22168 0.000986667 +0.216 0.223573 0.216 0.000986667 0.000993333 0.00098 0.000986667 0.219787 +0.223573 0.223573 0.217893 0.000986667 0.000973333 0.000973333 0.22168 0.22736 +0.216 0.216 0.217893 0.217893 0.00098 0.217893 0.22168 0.216 +0.00098 0.000966667 0.00098 0.217893 0.219787 0.000986667 0.217893 0.22168 +0.000993333 0.00096 0.000973333 0.216 0.00098 0.217893 0.217893 0.217893 +0.00098 0.000946667 0.000973333 0.22168 0.22168 0.000973333 0.000966667 0.000973333 +0.00094 0.000966667 0.000953333 0.000946667 0.216 0.000953333 0.00094 0.000933333 +0.000946667 0.000953333 0.00094 0.000973333 0.000973333 0.000953333 0.000913333 0.00094 +0.000953333 0.000946667 0.000913333 0.000926667 0.000953333 0.000933333 0.000946667 0.000886667 +0.000933333 0.00098 0.000953333 0.000926667 0.00096 0.000946667 0.000926667 0.000913333 +0.000913333 0.000906667 0.000926667 0.00096 0.000946667 0.000926667 0.000893333 0.00088 +0.000933333 0.00096 0.00094 0.000906667 0.00088 0.000886667 0.0009 0.000906667 +0.00088 0.000893333 0.000846667 0.000906667 0.000953333 0.0009 0.00094 0.00096 +0.0009 0.000926667 0.000953333 0.000946667 0.000926667 0.000913333 0.0009 0.00094 +0.000946667 0.00092 0.000913333 0.000953333 0.000906667 0.000906667 0.00098 0.00092 +0.00096 0.000973333 0.000953333 0.000933333 0.00092 0.00092 0.000966667 0.00096 +0.000933333 0.00098 0.000953333 0.000926667 0.00096 0.000973333 0.00096 0.000946667 +0.0009 0.00092 0.000933333 0.00094 0.00092 0.000953333 0.00098 0.000966667 +0.000913333 0.000933333 0.000966667 0.000993333 0.00096 0.000966667 0.000966667 0.000993333 +0.000966667 0.000966667 0.000986667 0.000986667 0.00098 0.000993333 0.000973333 0.000986667 +0.000986667 0.000993333 0.000926667 0.000946667 0.00098 0.000986667 0.00094 0.00094 +0.000966667 0.000926667 0.00096 0.00094 0.0009 0.000906667 0.000866667 0.000906667 +0.000886667 0.000886667 0.000866667 0.000886667 0.00088 0.000906667 0.000946667 0.00094 +0.00094 0.000906667 0.000933333 0.00094 0.000966667 0.000986667 0.00096 0.000953333 +0.00092 0.000933333 0.000946667 0.000966667 0.000966667 0.00096 0.000933333 0.000966667 +0.000973333 0.000946667 0.000966667 0.000993333 0.000966667 0.000953333 0.000953333 0.000953333 +0.00098 0.000966667 0.000946667 0.00096 0.000966667 0.000946667 0.000966667 0.000993333 +0.000973333 0.00096 0.216 0.216 0.00096 0.000986667 0.00098 0.000993333 +0.216 0.000993333 0.000993333 0.000953333 0.000973333 0.000993333 0.00096 0.000986667 +0.000966667 0.000993333 0.000986667 0.00098 0.000953333 0.219787 0.22168 0.000993333 +0.000993333 0.000966667 0.00098 0.217893 0.216 0.000966667 0.000966667 0.00098 +0.000973333 0.000993333 0.000986667 0.217893 0.000986667 0.000986667 0.219787 0.22168 +0.217893 0.000986667 0.000953333 0.217893 0.219787 0.00098 0.000986667 0.000986667 +0.219787 0.219787 0.217893 0.22168 0.22168 0.217893 0.217893 0.217893 +0.000986667 0.216 0.217893 0.216 0.219787 0.217893 0.22168 0.219787 +0.000986667 0.216 0.217893 0.225467 0.223573 0.000993333 0.217893 0.00098 +0.217893 0.22168 0.216 0.000993333 0.223573 0.225467 0.22168 0.225467 +0.23304 0.229253 0.225467 0.225467 0.22736 0.225467 0.229253 0.240613 +0.2444 0.2444 0.253867 0.257653 0.25576 0.274693 0.28416 0.293627 +0.32392 0.390187 0.511368 0.591579 0.728 0.903579 1.00906 1.00808 +0.897895 0.726105 0.588421 0.510105 0.45456 0.46592 0.519579 0.594737 +0.729263 0.892211 1.00547 1.04269 1.05445 1.04694 1.0071 0.873895 +0.683789 0.531579 0.359893 0.286053 0.280373 0.299307 0.4148 0.601684 +0.806316 0.948421 0.991429 0.99698 0.989796 0.943368 0.837895 0.697053 +0.553684 0.331493 0.000886667 0.00084 0.000906667 0.000933333 0.000913333 0.000913333 +0.000913333 0.000886667 0.00086 0.000893333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00086 0.000753333 0.000753333 +0.000786667 0.000786667 0.000786667 0.00078 0.000786667 0.000786667 0.000806667 0.00082 +0.000826667 0.00084 0.00084 0.000866667 0.0009 0.00086 0.000866667 0.000906667 +0.234933 0.399653 0.569474 0.697053 0.809474 0.894737 0.937053 0.939579 +0.900421 0.777895 0.592842 0.39208 0.269013 0.251973 0.251973 0.27848 +0.411013 0.592842 0.786737 0.980327 1.03845 1.05249 1.04563 1.01722 +0.924421 0.754526 0.610526 0.529684 0.496213 0.501263 0.542947 0.646526 +0.823368 0.98849 1.01853 0.962947 0.788 0.631368 0.522737 0.40912 +0.339067 0.3012 0.28416 0.263333 0.251973 0.23872 0.236827 0.242507 +0.242507 0.236827 0.240613 0.23304 0.223573 0.229253 0.236827 0.229253 +0.22168 0.216 0.216 0.219787 0.22168 0.22168 0.217893 0.22168 +0.219787 0.000986667 0.216 0.216 0.217893 0.223573 0.217893 0.217893 +0.217893 0.000993333 0.000993333 0.219787 0.22168 0.22736 0.229253 0.000993333 +0.000966667 0.000973333 0.000986667 0.216 0.000993333 0.000986667 0.000986667 0.000986667 +0.216 0.000986667 0.000946667 0.00098 0.22736 0.22736 0.219787 0.000993333 +0.00098 0.000946667 0.000986667 0.219787 0.219787 0.216 0.000986667 0.216 +0.217893 0.000993333 0.00098 0.00098 0.000986667 0.217893 0.219787 0.216 +0.000986667 0.000993333 0.00098 0.000973333 0.000966667 0.000986667 0.22168 0.000993333 +0.22168 0.225467 0.000986667 0.00098 0.000993333 0.000993333 0.217893 0.219787 +0.216 0.216 0.216 0.000993333 0.000993333 0.216 0.22168 0.000986667 +0.000946667 0.00096 0.000986667 0.22168 0.216 0.216 0.223573 0.000986667 +0.000973333 0.216 0.219787 0.000993333 0.00096 0.000993333 0.217893 0.216 +0.00096 0.000966667 0.000986667 0.000986667 0.000993333 0.000966667 0.00096 0.000973333 +0.00096 0.000946667 0.00096 0.00096 0.000986667 0.000966667 0.000953333 0.000946667 +0.00094 0.000953333 0.000973333 0.000966667 0.000973333 0.000926667 0.000953333 0.000946667 +0.000973333 0.000933333 0.000906667 0.000946667 0.00094 0.00094 0.000906667 0.000886667 +0.00092 0.000953333 0.000933333 0.00092 0.000933333 0.000926667 0.0009 0.0009 +0.000926667 0.000913333 0.000913333 0.00096 0.000953333 0.000926667 0.000893333 0.000886667 +0.000926667 0.00092 0.000906667 0.000873333 0.000833333 0.00088 0.000913333 0.000906667 +0.00092 0.000946667 0.000906667 0.000953333 0.00096 0.00092 0.000933333 0.000933333 +0.000913333 0.000933333 0.000913333 0.00092 0.00092 0.000913333 0.000926667 0.000953333 +0.000926667 0.000893333 0.000926667 0.000946667 0.000893333 0.00092 0.000973333 0.000946667 +0.000973333 0.000973333 0.00096 0.000953333 0.000933333 0.00092 0.00096 0.00096 +0.00096 0.000993333 0.000946667 0.000913333 0.000973333 0.000973333 0.00094 0.000933333 +0.0009 0.00094 0.000946667 0.00096 0.000926667 0.000953333 0.000966667 0.000926667 +0.0009 0.00094 0.00094 0.00096 0.000946667 0.000946667 0.000933333 0.000973333 +0.000933333 0.000933333 0.000986667 0.000946667 0.000946667 0.000986667 0.000946667 0.000966667 +0.00098 0.00096 0.000946667 0.000953333 0.000993333 0.000986667 0.000953333 0.000946667 +0.00096 0.00096 0.00098 0.000966667 0.0009 0.00088 0.00088 0.000906667 +0.000926667 0.000906667 0.000893333 0.000873333 0.000866667 0.000906667 0.000946667 0.000926667 +0.00092 0.00094 0.000946667 0.000933333 0.00096 0.000986667 0.00094 0.000926667 +0.000946667 0.000926667 0.000953333 0.000946667 0.000946667 0.000953333 0.000946667 0.00098 +0.000946667 0.000906667 0.000966667 0.000993333 0.000953333 0.000953333 0.000966667 0.000973333 +0.000993333 0.000986667 0.00094 0.00094 0.216 0.00096 0.00096 0.00098 +0.000953333 0.00096 0.223573 0.216 0.00098 0.000993333 0.000966667 0.00098 +0.217893 0.223573 0.217893 0.00096 0.000973333 0.000973333 0.000953333 0.000986667 +0.000986667 0.000993333 0.000986667 0.000993333 0.00098 0.216 0.000993333 0.000973333 +0.216 0.217893 0.000993333 0.00098 0.000966667 0.000966667 0.000973333 0.000993333 +0.00098 0.000986667 0.216 0.219787 0.219787 0.000993333 0.000986667 0.22168 +0.22168 0.216 0.000966667 0.000986667 0.216 0.000973333 0.000986667 0.00098 +0.217893 0.000993333 0.217893 0.216 0.000986667 0.22168 0.22168 0.00098 +0.219787 0.000986667 0.000973333 0.225467 0.22736 0.217893 0.22168 0.217893 +0.217893 0.000993333 0.216 0.225467 0.229253 0.225467 0.225467 0.219787 +0.000986667 0.217893 0.223573 0.219787 0.225467 0.225467 0.223573 0.231147 +0.23304 0.229253 0.231147 0.231147 0.223573 0.22736 0.23304 0.234933 +0.23872 0.248187 0.257653 0.26144 0.269013 0.28416 0.3012 0.327707 +0.393973 0.512632 0.605474 0.741895 0.912421 1.01363 1.01298 0.895368 +0.720421 0.597263 0.515158 0.435627 0.452667 0.518947 0.59979 0.734316 +0.896 1.00645 1.04335 1.05412 1.04824 1.00971 0.879579 0.686316 +0.536632 0.367467 0.282267 0.2728 0.269013 0.26144 0.310667 0.514526 +0.642737 0.742526 0.793684 0.8 0.762105 0.693895 0.606105 0.512632 +0.327707 0.00096 0.00084 0.00086 0.000873333 0.000906667 0.00092 0.000906667 +0.00092 0.00092 0.000966667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000846667 0.000766667 +0.00078 0.000773333 0.00078 0.000786667 0.000786667 0.000813333 0.000833333 0.00084 +0.000853333 0.00086 0.00088 0.00088 0.000833333 0.000813333 0.000846667 0.000886667 +0.00092 0.223573 0.34096 0.515789 0.591579 0.658526 0.698316 0.702737 +0.668 0.589053 0.469707 0.282267 0.236827 0.234933 0.23872 0.2444 +0.286053 0.441307 0.607368 0.797474 0.981633 1.03747 1.05282 1.04563 +1.01363 0.921263 0.753895 0.609263 0.526526 0.481067 0.490533 0.537895 +0.644 0.817684 0.986204 1.01657 0.960421 0.791789 0.630105 0.522105 +0.405333 0.339067 0.3012 0.282267 0.2728 0.259547 0.248187 0.246293 +0.251973 0.248187 0.246293 0.240613 0.225467 0.23304 0.240613 0.23304 +0.229253 0.217893 0.00098 0.216 0.219787 0.223573 0.223573 0.225467 +0.223573 0.22168 0.216 0.00098 0.000993333 0.216 0.000993333 0.22168 +0.217893 0.000986667 0.216 0.22736 0.223573 0.225467 0.219787 0.217893 +0.216 0.219787 0.223573 0.000993333 0.000993333 0.000993333 0.000986667 0.000973333 +0.00098 0.000973333 0.000966667 0.216 0.22736 0.225467 0.217893 0.000986667 +0.000973333 0.000946667 0.000966667 0.22168 0.217893 0.00098 0.00098 0.000986667 +0.000993333 0.216 0.000993333 0.216 0.217893 0.216 0.000993333 0.00098 +0.000953333 0.000973333 0.00098 0.000966667 0.00096 0.000986667 0.000993333 0.000986667 +0.22168 0.217893 0.000973333 0.216 0.217893 0.22168 0.000993333 0.00098 +0.217893 0.000993333 0.00096 0.000986667 0.000993333 0.00098 0.00098 0.000973333 +0.000953333 0.000986667 0.229253 0.225467 0.00098 0.000993333 0.217893 0.00096 +0.000966667 0.000993333 0.217893 0.00098 0.00098 0.000973333 0.000973333 0.000986667 +0.000973333 0.000993333 0.217893 0.00098 0.00098 0.000993333 0.000973333 0.000933333 +0.00096 0.000946667 0.000946667 0.000986667 0.000966667 0.000953333 0.000946667 0.00092 +0.000926667 0.000926667 0.000973333 0.000953333 0.000933333 0.000913333 0.000933333 0.00096 +0.000946667 0.00092 0.000926667 0.000966667 0.000953333 0.00094 0.000886667 0.000893333 +0.00092 0.000926667 0.000906667 0.000926667 0.000933333 0.00092 0.000866667 0.000873333 +0.00092 0.00092 0.00094 0.00094 0.000933333 0.000933333 0.000886667 0.00088 +0.0009 0.000886667 0.00088 0.00084 0.00082 0.00088 0.00092 0.000906667 +0.00092 0.000953333 0.00094 0.000946667 0.000913333 0.0009 0.00098 0.00096 +0.000906667 0.00094 0.000913333 0.0009 0.000926667 0.00094 0.000966667 0.000953333 +0.000906667 0.000893333 0.000906667 0.000933333 0.000906667 0.00094 0.00096 0.000933333 +0.00094 0.000946667 0.000946667 0.000946667 0.000926667 0.000933333 0.000953333 0.000973333 +0.000973333 0.000986667 0.00094 0.000913333 0.00096 0.000946667 0.000926667 0.000953333 +0.000953333 0.000953333 0.00094 0.00096 0.000933333 0.00094 0.00096 0.000933333 +0.000913333 0.000973333 0.00096 0.000933333 0.000933333 0.00096 0.00092 0.000933333 +0.000926667 0.0009 0.000953333 0.000933333 0.00088 0.00092 0.000933333 0.000973333 +0.000966667 0.00094 0.00092 0.00096 0.000986667 0.000986667 0.000973333 0.00096 +0.000933333 0.000913333 0.000946667 0.000966667 0.000946667 0.000906667 0.000893333 0.000946667 +0.000933333 0.000933333 0.000866667 0.00086 0.00088 0.000893333 0.00092 0.0009 +0.000933333 0.00092 0.00092 0.00092 0.000966667 0.000986667 0.00094 0.000926667 +0.000946667 0.000946667 0.000933333 0.00092 0.000913333 0.000953333 0.00096 0.000993333 +0.00096 0.000933333 0.000966667 0.00096 0.00096 0.000966667 0.00096 0.000966667 +0.000993333 0.217893 0.000953333 0.000933333 0.000993333 0.00096 0.000973333 0.000973333 +0.000973333 0.00098 0.00096 0.000953333 0.000973333 0.217893 0.000986667 0.000986667 +0.00098 0.219787 0.216 0.00098 0.000993333 0.00098 0.00096 0.00096 +0.000966667 0.00098 0.216 0.216 0.217893 0.000993333 0.000986667 0.216 +0.216 0.217893 0.000986667 0.00096 0.000973333 0.000973333 0.000986667 0.22168 +0.219787 0.217893 0.216 0.000986667 0.217893 0.223573 0.22168 0.217893 +0.22168 0.216 0.216 0.217893 0.216 0.22168 0.217893 0.000986667 +0.216 0.000993333 0.219787 0.22168 0.00098 0.00098 0.219787 0.00098 +0.216 0.217893 0.000946667 0.217893 0.229253 0.223573 0.22736 0.217893 +0.223573 0.219787 0.00098 0.000986667 0.216 0.225467 0.236827 0.22736 +0.217893 0.216 0.000993333 0.223573 0.229253 0.225467 0.219787 0.234933 +0.242507 0.229253 0.23304 0.236827 0.23304 0.229253 0.240613 0.2444 +0.246293 0.248187 0.257653 0.270907 0.287947 0.30688 0.33528 0.401547 +0.514526 0.606105 0.748842 0.923158 1.01755 1.01037 0.885895 0.705895 +0.582105 0.515789 0.450773 0.452667 0.519579 0.602947 0.742526 0.906105 +1.00939 1.04204 1.05314 1.04857 1.01004 0.878947 0.693895 0.541053 +0.36368 0.276587 0.25008 0.23872 0.234933 0.000993333 0.216 0.297413 +0.433733 0.517053 0.543579 0.549895 0.529684 0.48864 0.382613 0.27848 +0.00098 0.000866667 0.000833333 0.000866667 0.0009 0.0009 0.000926667 0.000926667 +0.000906667 0.00094 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000866667 +0.000766667 0.000793333 0.000793333 0.000786667 0.0008 0.000833333 0.000826667 0.00082 +0.00082 0.000826667 0.000846667 0.000846667 0.000813333 0.000826667 0.000853333 0.000886667 +0.000893333 0.0009 0.22168 0.27848 0.359893 0.4432 0.490533 0.49432 +0.445093 0.361787 0.270907 0.000986667 0.000973333 0.217893 0.216 0.22736 +0.2444 0.286053 0.458347 0.616211 0.805053 0.986857 1.04204 1.0551 +1.04498 1.01429 0.919368 0.748211 0.605474 0.523368 0.479173 0.48864 +0.533474 0.635158 0.809474 0.984898 1.01755 0.962947 0.793684 0.629474 +0.523368 0.4148 0.344747 0.308773 0.291733 0.286053 0.26144 0.242507 +0.248187 0.248187 0.248187 0.242507 0.234933 0.240613 0.23872 0.23304 +0.225467 0.22168 0.217893 0.216 0.22168 0.225467 0.223573 0.217893 +0.000993333 0.219787 0.22168 0.000986667 0.216 0.216 0.000973333 0.217893 +0.217893 0.000973333 0.217893 0.229253 0.217893 0.217893 0.216 0.217893 +0.216 0.219787 0.225467 0.216 0.000966667 0.00098 0.000993333 0.000973333 +0.000966667 0.000973333 0.000993333 0.217893 0.219787 0.22168 0.216 0.217893 +0.000993333 0.000946667 0.000966667 0.000993333 0.000986667 0.000966667 0.000966667 0.00098 +0.000986667 0.216 0.217893 0.217893 0.217893 0.217893 0.000993333 0.00098 +0.000973333 0.216 0.216 0.00098 0.00098 0.00098 0.000973333 0.219787 +0.22168 0.00098 0.000973333 0.000993333 0.216 0.217893 0.00098 0.000986667 +0.22168 0.216 0.000973333 0.000973333 0.00098 0.000973333 0.000966667 0.000966667 +0.000973333 0.000986667 0.219787 0.000986667 0.000986667 0.223573 0.217893 0.000973333 +0.000953333 0.000966667 0.00096 0.00098 0.217893 0.000973333 0.00098 0.000993333 +0.000986667 0.00098 0.000966667 0.000986667 0.000966667 0.000993333 0.000993333 0.000926667 +0.000933333 0.000933333 0.00094 0.00098 0.00098 0.000926667 0.00094 0.000946667 +0.000946667 0.00092 0.000913333 0.000953333 0.000906667 0.000893333 0.000913333 0.00092 +0.00092 0.0009 0.000933333 0.000946667 0.00096 0.000933333 0.000893333 0.000886667 +0.00092 0.000913333 0.0009 0.000926667 0.000906667 0.0009 0.00088 0.000913333 +0.000926667 0.000926667 0.00096 0.00094 0.0009 0.000886667 0.000866667 0.000866667 +0.000866667 0.000873333 0.00086 0.000826667 0.00084 0.000933333 0.00098 0.00094 +0.000906667 0.000913333 0.00094 0.000953333 0.000913333 0.000893333 0.000973333 0.000946667 +0.000906667 0.00094 0.000913333 0.00094 0.00094 0.000953333 0.00098 0.000953333 +0.000906667 0.000906667 0.00092 0.000953333 0.00092 0.000946667 0.00092 0.000906667 +0.00092 0.00094 0.000926667 0.000946667 0.000926667 0.000906667 0.000953333 0.000953333 +0.000946667 0.000973333 0.000953333 0.00094 0.000953333 0.000953333 0.000953333 0.00098 +0.000973333 0.00096 0.00094 0.000933333 0.000926667 0.000926667 0.000946667 0.00096 +0.000926667 0.00096 0.000953333 0.000946667 0.000926667 0.00094 0.000906667 0.000906667 +0.000893333 0.0009 0.00096 0.000933333 0.00088 0.00092 0.000913333 0.000966667 +0.000966667 0.00092 0.000906667 0.000933333 0.000946667 0.000933333 0.000933333 0.00094 +0.000913333 0.000906667 0.000913333 0.000966667 0.000966667 0.000926667 0.00094 0.000966667 +0.000966667 0.000913333 0.000906667 0.000906667 0.000906667 0.0009 0.000866667 0.000886667 +0.000886667 0.000906667 0.000873333 0.0009 0.00096 0.000993333 0.000926667 0.00092 +0.00096 0.000946667 0.000893333 0.00088 0.000866667 0.00092 0.000946667 0.000966667 +0.000966667 0.000953333 0.00094 0.000933333 0.00094 0.00094 0.000953333 0.000966667 +0.000993333 0.219787 0.217893 0.000973333 0.00098 0.000953333 0.000973333 0.000966667 +0.216 0.000986667 0.000946667 0.000953333 0.000966667 0.000973333 0.217893 0.000993333 +0.000986667 0.22168 0.219787 0.000993333 0.216 0.216 0.216 0.000973333 +0.000966667 0.000966667 0.216 0.216 0.217893 0.219787 0.00098 0.00098 +0.000993333 0.219787 0.000993333 0.00096 0.000986667 0.216 0.000986667 0.219787 +0.223573 0.223573 0.219787 0.00098 0.000993333 0.219787 0.225467 0.217893 +0.217893 0.217893 0.00098 0.000993333 0.000986667 0.22736 0.225467 0.219787 +0.000993333 0.00098 0.216 0.225467 0.217893 0.00098 0.000973333 0.000966667 +0.000986667 0.217893 0.00096 0.000953333 0.217893 0.217893 0.219787 0.216 +0.216 0.217893 0.217893 0.000993333 0.000946667 0.216 0.22168 0.219787 +0.000993333 0.219787 0.000993333 0.216 0.223573 0.22736 0.225467 0.225467 +0.22736 0.223573 0.229253 0.23304 0.242507 0.240613 0.2444 0.253867 +0.259547 0.263333 0.270907 0.274693 0.293627 0.34096 0.40912 0.516421 +0.609263 0.753263 0.928842 1.01657 1.00678 0.876421 0.692632 0.565053 +0.505053 0.446987 0.44888 0.518947 0.604842 0.750737 0.917474 1.01265 +1.04531 1.05216 1.04465 1.00841 0.878947 0.690105 0.541684 0.371253 +0.26712 0.253867 0.246293 0.225467 0.000973333 0.000913333 0.000906667 0.00098 +0.23304 0.26144 0.29552 0.310667 0.3012 0.27848 0.25008 0.00098 +0.000866667 0.00084 0.00082 0.000806667 0.00086 0.000853333 0.000866667 0.000873333 +0.00096 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.00088 0.000786667 0.000766667 0.000753333 0.00078 0.000793333 0.00078 0.000813333 +0.00084 0.000833333 0.000846667 0.000866667 0.000866667 0.00086 0.000866667 0.000873333 +0.00088 0.000906667 0.000966667 0.216 0.231147 0.248187 0.253867 0.251973 +0.231147 0.000986667 0.000946667 0.000913333 0.000933333 0.000966667 0.000986667 0.223573 +0.231147 0.2444 0.308773 0.486747 0.628842 0.818316 0.990122 1.04171 +1.0538 1.04498 1.01265 0.916211 0.746947 0.603579 0.519579 0.473493 +0.479173 0.528421 0.634526 0.813263 0.985878 1.01918 0.968632 0.793053 +0.631368 0.526526 0.416693 0.34096 0.310667 0.299307 0.276587 0.26144 +0.257653 0.248187 0.2444 0.240613 0.2444 0.242507 0.234933 0.22736 +0.223573 0.223573 0.219787 0.000993333 0.000986667 0.22168 0.223573 0.22168 +0.217893 0.219787 0.217893 0.219787 0.22168 0.217893 0.216 0.219787 +0.219787 0.217893 0.223573 0.22168 0.00098 0.216 0.000993333 0.00098 +0.000986667 0.000993333 0.216 0.216 0.00098 0.216 0.219787 0.00098 +0.000966667 0.000986667 0.22168 0.219787 0.216 0.00098 0.000966667 0.00098 +0.000993333 0.000973333 0.000973333 0.216 0.000986667 0.000966667 0.00098 0.000993333 +0.216 0.216 0.000993333 0.00098 0.000986667 0.219787 0.217893 0.216 +0.216 0.223573 0.217893 0.000973333 0.00098 0.000993333 0.216 0.000986667 +0.000973333 0.000993333 0.000993333 0.000993333 0.223573 0.216 0.00096 0.000986667 +0.000993333 0.000973333 0.000973333 0.000966667 0.00098 0.216 0.00096 0.000946667 +0.000953333 0.000993333 0.216 0.00098 0.216 0.217893 0.000993333 0.000986667 +0.000973333 0.000966667 0.000953333 0.000966667 0.000973333 0.000966667 0.000953333 0.000966667 +0.00098 0.000953333 0.00094 0.000953333 0.000946667 0.000986667 0.000986667 0.00096 +0.00094 0.000933333 0.000946667 0.000933333 0.000953333 0.000933333 0.00094 0.000973333 +0.000953333 0.00092 0.000933333 0.000946667 0.000913333 0.0009 0.000913333 0.000926667 +0.00094 0.000906667 0.000906667 0.000926667 0.000933333 0.000906667 0.000893333 0.000906667 +0.00094 0.000906667 0.000893333 0.000946667 0.000933333 0.0009 0.0009 0.00092 +0.000913333 0.000913333 0.000926667 0.000913333 0.000866667 0.00084 0.000853333 0.000873333 +0.000873333 0.00088 0.00088 0.000866667 0.00092 0.000993333 0.000973333 0.00094 +0.00092 0.000906667 0.000926667 0.00094 0.000933333 0.000886667 0.000933333 0.00094 +0.000913333 0.000926667 0.000913333 0.000953333 0.00096 0.00096 0.00098 0.00094 +0.000913333 0.00094 0.000926667 0.0009 0.000926667 0.000986667 0.000933333 0.00092 +0.000906667 0.000906667 0.0009 0.000926667 0.00094 0.000926667 0.00096 0.000973333 +0.00094 0.000973333 0.00096 0.000953333 0.00096 0.00096 0.000973333 0.00096 +0.00096 0.000966667 0.000973333 0.000946667 0.00094 0.000946667 0.000966667 0.000946667 +0.000906667 0.000946667 0.00094 0.00092 0.000933333 0.000946667 0.000913333 0.000926667 +0.000913333 0.000886667 0.000933333 0.000933333 0.000886667 0.000933333 0.00096 0.000946667 +0.000926667 0.0009 0.000846667 0.00088 0.0009 0.0009 0.000926667 0.000926667 +0.000946667 0.000933333 0.000926667 0.00096 0.00096 0.000913333 0.0009 0.000953333 +0.000986667 0.000933333 0.00092 0.00094 0.00092 0.000913333 0.000893333 0.000893333 +0.000886667 0.00088 0.000866667 0.00084 0.0009 0.00094 0.000906667 0.0009 +0.000946667 0.000946667 0.00088 0.0009 0.000853333 0.000906667 0.00092 0.00096 +0.000973333 0.000966667 0.000926667 0.000926667 0.000933333 0.000906667 0.000926667 0.000973333 +0.000973333 0.000966667 0.216 0.000986667 0.00098 0.000946667 0.000933333 0.000953333 +0.22168 0.217893 0.000986667 0.000993333 0.000986667 0.000966667 0.216 0.216 +0.00096 0.000973333 0.000973333 0.00098 0.00098 0.00098 0.000993333 0.000993333 +0.000973333 0.000946667 0.000953333 0.00098 0.216 0.219787 0.00098 0.000986667 +0.000993333 0.000986667 0.000993333 0.000973333 0.000973333 0.219787 0.000993333 0.000986667 +0.225467 0.225467 0.216 0.000973333 0.000973333 0.000986667 0.223573 0.225467 +0.219787 0.223573 0.217893 0.00098 0.000973333 0.216 0.225467 0.225467 +0.219787 0.000993333 0.000986667 0.216 0.216 0.217893 0.00098 0.000973333 +0.000986667 0.216 0.217893 0.00098 0.000966667 0.217893 0.000986667 0.217893 +0.216 0.216 0.219787 0.00098 0.000953333 0.000966667 0.000993333 0.225467 +0.223573 0.219787 0.223573 0.216 0.217893 0.22168 0.229253 0.23304 +0.225467 0.22168 0.231147 0.242507 0.246293 0.248187 0.25008 0.25576 +0.26712 0.2728 0.286053 0.304987 0.331493 0.40912 0.522737 0.616211 +0.758316 0.932 1.0182 1.00286 0.863789 0.683158 0.560632 0.492427 +0.441307 0.473493 0.524632 0.611789 0.761474 0.926947 1.01624 1.04563 +1.0538 1.04498 1.00416 0.871368 0.684421 0.541053 0.371253 0.265227 +0.231147 0.229253 0.223573 0.000986667 0.000953333 0.000893333 0.000873333 0.00094 +0.000966667 0.000993333 0.236827 0.253867 0.248187 0.22736 0.000973333 0.000906667 +0.000853333 0.00086 0.00086 0.000833333 0.000846667 0.00086 0.000833333 0.000886667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000866667 0.00082 0.000726667 0.000773333 0.000786667 0.0008 0.00082 0.00086 +0.00086 0.000846667 0.00086 0.0009 0.000886667 0.000846667 0.000866667 0.000846667 +0.000853333 0.000886667 0.000926667 0.000973333 0.00098 0.000946667 0.00094 0.000966667 +0.000926667 0.00088 0.000906667 0.00092 0.000933333 0.000966667 0.000993333 0.216 +0.219787 0.22736 0.248187 0.314453 0.502526 0.635158 0.822105 0.990449 +1.04171 1.05445 1.04629 1.01429 0.914316 0.744421 0.604211 0.524 +0.473493 0.47728 0.531579 0.633263 0.804421 0.983592 1.01951 0.966737 +0.796842 0.642105 0.536632 0.428053 0.350427 0.310667 0.291733 0.280373 +0.265227 0.253867 0.248187 0.2444 0.242507 0.234933 0.23304 0.22736 +0.22736 0.22736 0.223573 0.223573 0.217893 0.22168 0.223573 0.223573 +0.223573 0.22168 0.219787 0.000993333 0.00098 0.000993333 0.219787 0.223573 +0.22736 0.219787 0.219787 0.216 0.000993333 0.216 0.216 0.216 +0.000986667 0.00096 0.00098 0.219787 0.219787 0.219787 0.219787 0.000986667 +0.00098 0.217893 0.223573 0.219787 0.22168 0.217893 0.00098 0.000986667 +0.217893 0.000993333 0.216 0.22168 0.219787 0.216 0.217893 0.229253 +0.229253 0.219787 0.217893 0.000993333 0.000986667 0.00098 0.000973333 0.000993333 +0.000986667 0.216 0.216 0.00098 0.000986667 0.219787 0.217893 0.00096 +0.000953333 0.216 0.000986667 0.000993333 0.216 0.00096 0.00096 0.00098 +0.000966667 0.000986667 0.216 0.000993333 0.000993333 0.216 0.000973333 0.000953333 +0.000966667 0.000973333 0.000973333 0.216 0.22168 0.000966667 0.00096 0.000973333 +0.00098 0.00096 0.00094 0.00094 0.00096 0.000973333 0.000946667 0.000933333 +0.00096 0.000966667 0.000973333 0.00096 0.000953333 0.00096 0.000933333 0.000953333 +0.000946667 0.00092 0.000953333 0.00094 0.000913333 0.00094 0.00094 0.000933333 +0.000946667 0.000913333 0.00094 0.000926667 0.0009 0.000946667 0.000926667 0.00094 +0.00092 0.000913333 0.000926667 0.00092 0.000906667 0.000886667 0.000886667 0.000906667 +0.000953333 0.000906667 0.00092 0.00094 0.000953333 0.000893333 0.000866667 0.00086 +0.00084 0.000873333 0.000893333 0.00088 0.00084 0.000793333 0.000813333 0.00086 +0.00088 0.000906667 0.00092 0.000913333 0.000953333 0.000973333 0.00094 0.000926667 +0.000906667 0.000913333 0.000893333 0.000913333 0.000926667 0.0009 0.000926667 0.000906667 +0.00092 0.000946667 0.00092 0.000933333 0.000913333 0.000946667 0.216 0.000933333 +0.00096 0.00098 0.000926667 0.0009 0.000906667 0.00096 0.00094 0.000913333 +0.00092 0.000926667 0.000913333 0.00092 0.000913333 0.00094 0.000966667 0.000966667 +0.000966667 0.000953333 0.00092 0.00096 0.000973333 0.000933333 0.000933333 0.00092 +0.00092 0.000906667 0.000933333 0.000926667 0.00094 0.000913333 0.000926667 0.0009 +0.000886667 0.00094 0.000933333 0.000913333 0.000906667 0.00094 0.00092 0.000906667 +0.00092 0.00092 0.00094 0.000926667 0.00092 0.000933333 0.00094 0.00092 +0.000893333 0.000866667 0.00086 0.00088 0.00092 0.00092 0.000913333 0.0009 +0.000913333 0.000946667 0.000926667 0.00096 0.000986667 0.000926667 0.000913333 0.000933333 +0.000973333 0.000953333 0.000933333 0.000966667 0.000933333 0.000926667 0.000913333 0.000926667 +0.000886667 0.000893333 0.000873333 0.000853333 0.000846667 0.000866667 0.00088 0.000886667 +0.00092 0.00092 0.00088 0.000886667 0.000893333 0.000906667 0.000926667 0.000946667 +0.000966667 0.000946667 0.000946667 0.000946667 0.000986667 0.000933333 0.00094 0.000973333 +0.000946667 0.000946667 0.000993333 0.00098 0.000973333 0.00096 0.000933333 0.000973333 +0.217893 0.000986667 0.216 0.22168 0.219787 0.000993333 0.000973333 0.000973333 +0.000966667 0.000986667 0.216 0.000986667 0.000986667 0.00098 0.216 0.216 +0.000973333 0.000953333 0.000933333 0.000953333 0.00096 0.000966667 0.000993333 0.22168 +0.225467 0.000986667 0.000973333 0.000986667 0.00096 0.000993333 0.000986667 0.000993333 +0.219787 0.225467 0.225467 0.216 0.000993333 0.000993333 0.000993333 0.217893 +0.216 0.217893 0.223573 0.000986667 0.000986667 0.000986667 0.000993333 0.219787 +0.219787 0.217893 0.216 0.000973333 0.22168 0.22168 0.217893 0.00098 +0.219787 0.217893 0.219787 0.217893 0.000973333 0.216 0.000986667 0.219787 +0.223573 0.219787 0.217893 0.00098 0.000973333 0.000986667 0.000993333 0.22736 +0.231147 0.217893 0.217893 0.223573 0.22168 0.223573 0.23304 0.246293 +0.236827 0.225467 0.236827 0.246293 0.251973 0.253867 0.251973 0.26144 +0.276587 0.287947 0.31256 0.342853 0.40912 0.527789 0.628211 0.775368 +0.941474 1.01788 0.998939 0.851158 0.674316 0.549263 0.48296 0.450773 +0.4716 0.529053 0.621263 0.769684 0.936421 1.01886 1.04694 1.05445 +1.04498 1.00057 0.860632 0.681895 0.537895 0.36936 0.26144 0.225467 +0.216 0.000993333 0.000973333 0.000946667 0.00094 0.000933333 0.000886667 0.00092 +0.000973333 0.216 0.219787 0.229253 0.23304 0.217893 0.00092 0.000886667 +0.000866667 0.000853333 0.000853333 0.000853333 0.00084 0.000853333 0.000913333 0.000926667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000866667 0.00082 0.00078 0.000786667 0.000806667 0.000833333 0.000846667 +0.00084 0.00086 0.000853333 0.000866667 0.000853333 0.000846667 0.000866667 0.000833333 +0.000866667 0.000893333 0.000913333 0.000926667 0.00094 0.000933333 0.000906667 0.00092 +0.00092 0.000913333 0.000913333 0.00088 0.000886667 0.000906667 0.000933333 0.00096 +0.000973333 0.000993333 0.234933 0.257653 0.31824 0.506316 0.638947 0.825263 +0.992082 1.04237 1.05282 1.04498 1.01429 0.921895 0.753263 0.605474 +0.519579 0.4716 0.484853 0.529053 0.628211 0.803158 0.981306 1.01951 +0.976211 0.816421 0.653474 0.532842 0.422373 0.34096 0.31256 0.29552 +0.280373 0.2728 0.26144 0.2444 0.23304 0.23304 0.236827 0.229253 +0.231147 0.23304 0.234933 0.231147 0.22736 0.231147 0.225467 0.22168 +0.000993333 0.219787 0.225467 0.216 0.216 0.217893 0.000993333 0.219787 +0.223573 0.000993333 0.000986667 0.219787 0.22168 0.217893 0.22168 0.22168 +0.00098 0.00096 0.000986667 0.217893 0.217893 0.000993333 0.000993333 0.000993333 +0.00098 0.000993333 0.22168 0.22168 0.22168 0.216 0.00098 0.000993333 +0.000993333 0.000986667 0.00098 0.216 0.225467 0.217893 0.219787 0.22736 +0.225467 0.219787 0.22168 0.22168 0.000966667 0.000946667 0.00096 0.000993333 +0.000993333 0.000966667 0.000993333 0.000966667 0.000946667 0.000986667 0.000993333 0.000966667 +0.00098 0.000973333 0.00096 0.000973333 0.000953333 0.00096 0.000986667 0.00096 +0.000946667 0.216 0.219787 0.00098 0.000973333 0.00096 0.00096 0.00096 +0.000973333 0.000953333 0.000953333 0.000993333 0.000986667 0.00096 0.000953333 0.00094 +0.000946667 0.00094 0.00096 0.000953333 0.000973333 0.000973333 0.00096 0.000946667 +0.000953333 0.000966667 0.00098 0.00098 0.000973333 0.00096 0.000953333 0.000966667 +0.000953333 0.00092 0.00092 0.000933333 0.000906667 0.000913333 0.000953333 0.000933333 +0.000933333 0.000966667 0.000926667 0.000913333 0.00092 0.00094 0.000926667 0.00092 +0.0009 0.000906667 0.00094 0.00092 0.000886667 0.0009 0.000886667 0.000893333 +0.000933333 0.000913333 0.000926667 0.000926667 0.0009 0.000846667 0.00086 0.00086 +0.000833333 0.000873333 0.000886667 0.000873333 0.000866667 0.000826667 0.000826667 0.000873333 +0.0009 0.00092 0.0009 0.000906667 0.000953333 0.00094 0.00094 0.00092 +0.000893333 0.000946667 0.00092 0.000893333 0.00088 0.000913333 0.00094 0.000906667 +0.000913333 0.000926667 0.000906667 0.000906667 0.000886667 0.000933333 0.000973333 0.000906667 +0.000913333 0.00092 0.000933333 0.000946667 0.000933333 0.00094 0.00092 0.00092 +0.000926667 0.000933333 0.000933333 0.000926667 0.000913333 0.000913333 0.000946667 0.00096 +0.00096 0.000933333 0.000906667 0.00096 0.00098 0.000953333 0.00094 0.000906667 +0.000886667 0.000866667 0.000913333 0.0009 0.000913333 0.000906667 0.000893333 0.0009 +0.000906667 0.00096 0.00094 0.000906667 0.000906667 0.000933333 0.00092 0.00092 +0.000933333 0.000886667 0.000906667 0.000926667 0.000913333 0.000906667 0.00094 0.000933333 +0.0009 0.000893333 0.00088 0.0009 0.000906667 0.000913333 0.000913333 0.000893333 +0.00092 0.00096 0.00092 0.000973333 0.00098 0.00092 0.000913333 0.000906667 +0.00096 0.000953333 0.000933333 0.000946667 0.000926667 0.000926667 0.000933333 0.00096 +0.000946667 0.00092 0.000893333 0.00088 0.000866667 0.00088 0.000886667 0.000886667 +0.000886667 0.00094 0.000886667 0.00088 0.000893333 0.000893333 0.00092 0.000933333 +0.000946667 0.000933333 0.000926667 0.000933333 0.000966667 0.000946667 0.000933333 0.00096 +0.000953333 0.00096 0.000986667 0.000966667 0.000973333 0.00096 0.000933333 0.000953333 +0.000966667 0.000953333 0.000973333 0.000993333 0.216 0.000973333 0.000966667 0.000966667 +0.00096 0.000973333 0.216 0.000986667 0.000986667 0.00098 0.00098 0.216 +0.00098 0.00098 0.000986667 0.217893 0.000986667 0.000966667 0.000973333 0.219787 +0.231147 0.00098 0.00096 0.000946667 0.000953333 0.000973333 0.000986667 0.000986667 +0.216 0.22168 0.22736 0.223573 0.217893 0.219787 0.00098 0.000986667 +0.000986667 0.000986667 0.219787 0.00096 0.000993333 0.217893 0.00096 0.000986667 +0.000993333 0.000993333 0.216 0.000993333 0.219787 0.225467 0.217893 0.216 +0.223573 0.223573 0.219787 0.219787 0.216 0.219787 0.216 0.000993333 +0.22168 0.22736 0.22168 0.000993333 0.000973333 0.000973333 0.000986667 0.217893 +0.223573 0.219787 0.216 0.22168 0.22736 0.225467 0.231147 0.246293 +0.242507 0.23872 0.242507 0.246293 0.25008 0.257653 0.269013 0.270907 +0.286053 0.314453 0.35232 0.4148 0.526526 0.635789 0.789895 0.957895 +1.01918 0.99502 0.844211 0.662316 0.545474 0.4716 0.435627 0.484853 +0.533474 0.624421 0.777895 0.942105 1.02082 1.04694 1.05282 1.04269 +0.998939 0.853053 0.671158 0.536632 0.37504 0.274693 0.236827 0.000986667 +0.000973333 0.000966667 0.00096 0.00092 0.000893333 0.000926667 0.00092 0.000933333 +0.00094 0.00098 0.22168 0.217893 0.000973333 0.000966667 0.000913333 0.000893333 +0.000886667 0.000866667 0.000873333 0.000866667 0.000853333 0.0009 0.000926667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000853333 0.000773333 0.0008 0.00082 0.000826667 0.000846667 +0.00088 0.000886667 0.000873333 0.0009 0.00088 0.000866667 0.000833333 0.00082 +0.00086 0.00086 0.00088 0.0009 0.000953333 0.00094 0.000873333 0.000886667 +0.00088 0.000893333 0.0009 0.000886667 0.0009 0.000886667 0.0009 0.000946667 +0.00096 0.216 0.229253 0.23304 0.25008 0.320133 0.509474 0.642737 +0.824 0.988816 1.04041 1.05347 1.04694 1.01788 0.924421 0.745684 +0.598526 0.520211 0.47728 0.479173 0.530947 0.626316 0.798105 0.981306 +1.0218 0.982612 0.807579 0.633895 0.527789 0.42048 0.348533 0.320133 +0.3012 0.28416 0.276587 0.253867 0.234933 0.23304 0.23872 0.23304 +0.236827 0.236827 0.23304 0.231147 0.229253 0.229253 0.22736 0.217893 +0.000986667 0.217893 0.22736 0.223573 0.223573 0.22168 0.000993333 0.219787 +0.22168 0.000986667 0.000993333 0.223573 0.219787 0.216 0.22168 0.219787 +0.217893 0.219787 0.216 0.000986667 0.00098 0.00096 0.216 0.22168 +0.000993333 0.216 0.219787 0.217893 0.217893 0.000993333 0.000973333 0.000993333 +0.22168 0.000993333 0.000966667 0.000986667 0.217893 0.00098 0.000986667 0.000986667 +0.000993333 0.216 0.000993333 0.000986667 0.00096 0.000953333 0.000966667 0.00098 +0.000966667 0.00098 0.216 0.00098 0.000973333 0.000986667 0.00098 0.000986667 +0.000993333 0.00098 0.000993333 0.000966667 0.00094 0.000966667 0.000986667 0.000953333 +0.00096 0.216 0.000993333 0.00096 0.00094 0.00092 0.000926667 0.000953333 +0.000953333 0.00094 0.000953333 0.00096 0.000966667 0.000953333 0.00094 0.00094 +0.000953333 0.00096 0.000966667 0.00096 0.00096 0.000953333 0.000973333 0.000946667 +0.00094 0.00094 0.000933333 0.000946667 0.00096 0.00096 0.000973333 0.216 +0.00096 0.00092 0.000913333 0.000926667 0.00092 0.000893333 0.000906667 0.00094 +0.00094 0.00096 0.000933333 0.0009 0.000933333 0.000926667 0.00092 0.000926667 +0.000893333 0.000913333 0.000933333 0.000913333 0.00088 0.000893333 0.000886667 0.00092 +0.000933333 0.000893333 0.000893333 0.000866667 0.000833333 0.000826667 0.000846667 0.000873333 +0.000893333 0.000906667 0.0009 0.000906667 0.000913333 0.00088 0.000886667 0.00088 +0.000933333 0.000946667 0.000893333 0.000886667 0.000933333 0.00088 0.0009 0.000893333 +0.000913333 0.000946667 0.000933333 0.0009 0.00086 0.000913333 0.00096 0.000933333 +0.000906667 0.000913333 0.000913333 0.000893333 0.000873333 0.000933333 0.000926667 0.000873333 +0.000913333 0.000893333 0.000906667 0.000946667 0.000953333 0.000953333 0.00094 0.00092 +0.00094 0.000953333 0.000926667 0.000933333 0.000913333 0.0009 0.00092 0.00094 +0.000953333 0.000946667 0.00092 0.000926667 0.000933333 0.00094 0.00092 0.000886667 +0.000873333 0.000886667 0.000906667 0.000886667 0.000926667 0.00094 0.00092 0.0009 +0.0009 0.00094 0.00094 0.00094 0.00094 0.000953333 0.000893333 0.00094 +0.000946667 0.000846667 0.000853333 0.000893333 0.000893333 0.00092 0.00096 0.000966667 +0.000933333 0.000913333 0.000893333 0.0009 0.00092 0.000926667 0.000913333 0.00092 +0.000913333 0.000946667 0.000933333 0.00098 0.216 0.000913333 0.000893333 0.000893333 +0.000966667 0.00098 0.000893333 0.000906667 0.00092 0.00092 0.000926667 0.00098 +0.000973333 0.00094 0.000913333 0.000906667 0.000893333 0.000933333 0.000926667 0.000846667 +0.000853333 0.0009 0.000866667 0.000846667 0.00088 0.000893333 0.00092 0.000906667 +0.00094 0.000933333 0.00092 0.00092 0.000926667 0.000933333 0.00092 0.00092 +0.00094 0.000946667 0.00096 0.000973333 0.00094 0.000913333 0.00094 0.00096 +0.00096 0.00096 0.00096 0.216 0.223573 0.000986667 0.000966667 0.000966667 +0.000966667 0.000966667 0.216 0.000986667 0.000973333 0.216 0.000993333 0.000973333 +0.000973333 0.000973333 0.216 0.217893 0.000993333 0.000966667 0.000966667 0.000993333 +0.223573 0.216 0.000966667 0.000973333 0.000986667 0.000973333 0.00098 0.00096 +0.000966667 0.00098 0.000986667 0.216 0.22168 0.217893 0.000973333 0.000993333 +0.000973333 0.00096 0.000993333 0.000973333 0.000993333 0.216 0.00098 0.000986667 +0.000993333 0.000993333 0.219787 0.217893 0.219787 0.219787 0.000993333 0.219787 +0.22168 0.219787 0.219787 0.223573 0.225467 0.225467 0.219787 0.000993333 +0.217893 0.223573 0.225467 0.217893 0.216 0.000973333 0.000973333 0.000993333 +0.223573 0.22168 0.219787 0.22736 0.234933 0.22736 0.225467 0.242507 +0.25008 0.248187 0.248187 0.248187 0.25008 0.263333 0.27848 0.286053 +0.303093 0.337173 0.40344 0.519579 0.630737 0.796842 0.967368 1.02114 +0.990776 0.827158 0.655368 0.539789 0.462133 0.4432 0.486747 0.539789 +0.635789 0.786737 0.948421 1.0218 1.04759 1.05282 1.03943 0.992082 +0.841684 0.663579 0.528421 0.365573 0.276587 0.2444 0.229253 0.000986667 +0.00096 0.00096 0.00096 0.00092 0.000873333 0.0009 0.000906667 0.000933333 +0.000913333 0.000913333 0.00096 0.219787 0.000953333 0.000926667 0.000886667 0.00086 +0.00088 0.000873333 0.000846667 0.00088 0.000913333 0.000973333 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.00088 0.00086 0.00084 0.000866667 0.0009 +0.000893333 0.00088 0.000886667 0.000906667 0.00086 0.00084 0.00082 0.00084 +0.00082 0.000826667 0.000873333 0.000913333 0.00096 0.000893333 0.000866667 0.000893333 +0.000873333 0.000886667 0.000893333 0.000926667 0.000926667 0.0009 0.00088 0.000893333 +0.000893333 0.000926667 0.00098 0.223573 0.236827 0.248187 0.331493 0.513895 +0.640842 0.822105 0.987837 1.04139 1.05347 1.04596 1.01657 0.919368 +0.745053 0.599158 0.520842 0.473493 0.473493 0.531579 0.632 0.798737 +0.979368 1.01984 0.969263 0.795579 0.638316 0.531579 0.418587 0.348533 +0.316347 0.293627 0.28416 0.263333 0.2444 0.240613 0.242507 0.236827 +0.236827 0.234933 0.236827 0.23872 0.231147 0.225467 0.22168 0.219787 +0.22168 0.223573 0.229253 0.229253 0.223573 0.22168 0.000993333 0.219787 +0.223573 0.216 0.217893 0.223573 0.22168 0.223573 0.22168 0.219787 +0.22168 0.000993333 0.000986667 0.216 0.000986667 0.000966667 0.217893 0.217893 +0.217893 0.225467 0.223573 0.000986667 0.00098 0.000986667 0.000966667 0.00098 +0.22168 0.216 0.000973333 0.000986667 0.000966667 0.00098 0.000986667 0.00098 +0.216 0.216 0.000993333 0.000993333 0.000973333 0.000966667 0.000986667 0.00098 +0.00098 0.219787 0.000986667 0.00098 0.000973333 0.00096 0.00098 0.000986667 +0.000973333 0.000986667 0.216 0.00096 0.000966667 0.00098 0.000993333 0.000973333 +0.000986667 0.216 0.000986667 0.000993333 0.00096 0.000933333 0.00094 0.000973333 +0.00096 0.00098 0.00098 0.000913333 0.000926667 0.000953333 0.00096 0.00094 +0.000953333 0.00098 0.000986667 0.000986667 0.00096 0.000946667 0.000973333 0.000953333 +0.000926667 0.000933333 0.00094 0.000926667 0.000946667 0.000946667 0.000946667 0.000986667 +0.000986667 0.000953333 0.000953333 0.000953333 0.000913333 0.000913333 0.000933333 0.00096 +0.000946667 0.00092 0.0009 0.0009 0.0009 0.000893333 0.000906667 0.000926667 +0.000906667 0.000906667 0.000906667 0.000906667 0.000893333 0.00088 0.000886667 0.00094 +0.0009 0.00086 0.00086 0.000846667 0.000846667 0.000833333 0.00084 0.000853333 +0.000886667 0.000913333 0.00092 0.000926667 0.00092 0.000886667 0.000893333 0.00088 +0.00094 0.00094 0.000866667 0.000873333 0.0009 0.00088 0.00088 0.00088 +0.00092 0.00092 0.000913333 0.000906667 0.000886667 0.00092 0.00094 0.00092 +0.000913333 0.00092 0.000906667 0.000893333 0.000873333 0.00094 0.00092 0.00086 +0.000933333 0.000913333 0.000893333 0.00092 0.000926667 0.00096 0.00096 0.000926667 +0.000913333 0.000933333 0.000946667 0.000926667 0.000926667 0.000933333 0.000933333 0.00094 +0.000946667 0.00094 0.000906667 0.00092 0.00092 0.00092 0.000906667 0.000893333 +0.000886667 0.00088 0.000893333 0.00088 0.00092 0.000933333 0.000946667 0.000926667 +0.000893333 0.00092 0.000933333 0.00092 0.0009 0.000933333 0.000886667 0.000886667 +0.000933333 0.00088 0.000913333 0.0009 0.000913333 0.000946667 0.000953333 0.000926667 +0.0009 0.0009 0.000906667 0.00092 0.000933333 0.000933333 0.000953333 0.000913333 +0.000906667 0.000953333 0.000926667 0.00096 0.00096 0.000933333 0.00092 0.000906667 +0.000973333 0.00098 0.00088 0.000873333 0.0009 0.000906667 0.000926667 0.00094 +0.00092 0.000906667 0.00092 0.000906667 0.00094 0.000986667 0.000946667 0.000873333 +0.000853333 0.000866667 0.00086 0.000866667 0.000886667 0.0009 0.00088 0.000873333 +0.000913333 0.000933333 0.000926667 0.000913333 0.000893333 0.000933333 0.00094 0.00092 +0.00094 0.000966667 0.00098 0.00096 0.000946667 0.000926667 0.00096 0.000953333 +0.00096 0.000986667 0.00098 0.000993333 0.219787 0.000993333 0.00098 0.00096 +0.000986667 0.000966667 0.00098 0.000993333 0.000946667 0.000973333 0.000966667 0.000973333 +0.000953333 0.000946667 0.000986667 0.00098 0.000973333 0.000966667 0.00098 0.217893 +0.000986667 0.217893 0.000986667 0.000986667 0.000993333 0.00098 0.000986667 0.00098 +0.00098 0.000993333 0.000993333 0.000993333 0.223573 0.22168 0.000973333 0.216 +0.000993333 0.00096 0.00098 0.219787 0.219787 0.216 0.000993333 0.00098 +0.000986667 0.219787 0.219787 0.216 0.223573 0.216 0.000986667 0.217893 +0.22168 0.216 0.217893 0.22736 0.223573 0.22736 0.22168 0.217893 +0.000993333 0.22168 0.22168 0.217893 0.22168 0.219787 0.217893 0.22168 +0.223573 0.219787 0.22168 0.22736 0.23304 0.23304 0.236827 0.2444 +0.248187 0.251973 0.259547 0.25576 0.26144 0.27848 0.299307 0.314453 +0.339067 0.40344 0.518947 0.619368 0.788 0.968632 1.02114 0.985224 +0.820211 0.649684 0.537263 0.467813 0.441307 0.486747 0.546105 0.649053 +0.800632 0.959789 1.02539 1.04727 1.05184 1.0378 0.986204 0.826526 +0.657263 0.523368 0.348533 0.269013 0.2444 0.23304 0.000993333 0.000973333 +0.000946667 0.000926667 0.00092 0.00092 0.000886667 0.000886667 0.00088 0.000893333 +0.00092 0.000913333 0.000913333 0.000953333 0.000953333 0.000926667 0.000866667 0.000826667 +0.000826667 0.000866667 0.000846667 0.000866667 0.000926667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.00088 0.000813333 0.000826667 0.00084 +0.00086 0.00088 0.000913333 0.00088 0.000846667 0.000853333 0.000846667 0.000846667 +0.00084 0.000853333 0.000886667 0.000906667 0.000926667 0.000886667 0.000866667 0.00086 +0.00086 0.000873333 0.000873333 0.000886667 0.00088 0.000893333 0.000906667 0.0009 +0.000893333 0.000913333 0.00094 0.000953333 0.219787 0.234933 0.25576 0.327707 +0.512632 0.642105 0.820211 0.987184 1.04041 1.0538 1.04661 1.0169 +0.918105 0.746947 0.603579 0.519579 0.467813 0.490533 0.536 0.630737 +0.798105 0.98 1.01788 0.971789 0.806316 0.642737 0.524632 0.407227 +0.348533 0.316347 0.291733 0.269013 0.257653 0.25008 0.246293 0.2444 +0.240613 0.242507 0.242507 0.236827 0.231147 0.225467 0.22736 0.225467 +0.225467 0.22736 0.22168 0.217893 0.22736 0.229253 0.22168 0.22168 +0.225467 0.22168 0.219787 0.225467 0.223573 0.22168 0.000993333 0.000986667 +0.000993333 0.216 0.000993333 0.216 0.22168 0.22168 0.22168 0.219787 +0.217893 0.217893 0.216 0.000966667 0.00094 0.000986667 0.217893 0.000993333 +0.000986667 0.000986667 0.000993333 0.00096 0.000986667 0.223573 0.223573 0.22168 +0.217893 0.216 0.000986667 0.000986667 0.000986667 0.000986667 0.22168 0.000986667 +0.000986667 0.216 0.000993333 0.219787 0.00098 0.000946667 0.00096 0.000946667 +0.000953333 0.217893 0.216 0.000973333 0.00096 0.000953333 0.000986667 0.00098 +0.000973333 0.000966667 0.000966667 0.000986667 0.000966667 0.00096 0.00098 0.000973333 +0.000953333 0.00098 0.00098 0.000933333 0.000933333 0.000946667 0.00096 0.000933333 +0.000946667 0.00098 0.00098 0.00098 0.00096 0.00094 0.000973333 0.000986667 +0.00096 0.000933333 0.00098 0.00098 0.000946667 0.000926667 0.00094 0.00096 +0.000986667 0.000986667 0.00096 0.000973333 0.000953333 0.000933333 0.00094 0.000953333 +0.000933333 0.000906667 0.0009 0.000906667 0.000886667 0.000866667 0.00092 0.000933333 +0.000926667 0.000933333 0.0009 0.0009 0.000873333 0.000873333 0.000906667 0.000926667 +0.00086 0.00084 0.00086 0.000833333 0.00084 0.000846667 0.000853333 0.000866667 +0.0009 0.000953333 0.000906667 0.000913333 0.00092 0.000926667 0.000926667 0.000906667 +0.000933333 0.0009 0.00086 0.00088 0.000906667 0.00092 0.000913333 0.000866667 +0.000886667 0.000886667 0.000893333 0.000873333 0.000886667 0.000906667 0.00092 0.000926667 +0.00092 0.0009 0.0009 0.000913333 0.000866667 0.000906667 0.000913333 0.00088 +0.00096 0.000913333 0.0009 0.000913333 0.000906667 0.000946667 0.000933333 0.000913333 +0.000893333 0.0009 0.00092 0.000933333 0.00092 0.000913333 0.00094 0.000953333 +0.000933333 0.00092 0.000926667 0.000946667 0.000913333 0.0009 0.000906667 0.000886667 +0.00092 0.000906667 0.000906667 0.000886667 0.000893333 0.000906667 0.000893333 0.000886667 +0.00088 0.0009 0.00088 0.00088 0.000873333 0.000906667 0.000866667 0.000886667 +0.000926667 0.0009 0.000933333 0.00092 0.000893333 0.000926667 0.00094 0.00092 +0.000906667 0.0009 0.0009 0.000926667 0.000893333 0.000946667 0.000953333 0.00092 +0.000926667 0.216 0.000953333 0.000946667 0.000966667 0.000933333 0.000933333 0.000926667 +0.000993333 0.000993333 0.000886667 0.000873333 0.000893333 0.000866667 0.000906667 0.000913333 +0.000933333 0.000913333 0.0009 0.00092 0.00096 0.00096 0.00094 0.000926667 +0.000906667 0.0009 0.00092 0.000873333 0.000873333 0.000886667 0.00084 0.000826667 +0.00088 0.000926667 0.00092 0.000893333 0.00088 0.000913333 0.000926667 0.00092 +0.00094 0.00098 0.000973333 0.00094 0.000926667 0.000906667 0.000933333 0.000946667 +0.000966667 0.000986667 0.00098 0.000973333 0.000986667 0.000986667 0.000986667 0.216 +0.000986667 0.000973333 0.00098 0.217893 0.000973333 0.00098 0.000986667 0.000986667 +0.000966667 0.000953333 0.216 0.000966667 0.000946667 0.000946667 0.000973333 0.216 +0.000973333 0.216 0.000966667 0.000966667 0.000993333 0.000973333 0.216 0.000993333 +0.000973333 0.217893 0.22168 0.216 0.225467 0.22736 0.22168 0.216 +0.000986667 0.216 0.000953333 0.217893 0.22736 0.216 0.000986667 0.000973333 +0.000946667 0.000986667 0.216 0.00098 0.217893 0.000986667 0.000973333 0.217893 +0.22736 0.217893 0.219787 0.22168 0.223573 0.22736 0.225467 0.223573 +0.22168 0.225467 0.223573 0.219787 0.219787 0.225467 0.223573 0.22168 +0.223573 0.22736 0.223573 0.231147 0.22736 0.225467 0.23872 0.240613 +0.2444 0.259547 0.270907 0.27848 0.2728 0.286053 0.325813 0.354213 +0.416693 0.528421 0.633895 0.791158 0.970526 1.01918 0.982612 0.808211 +0.638316 0.536632 0.475387 0.4432 0.500632 0.551158 0.657263 0.819579 +0.973684 1.02702 1.04824 1.05118 1.03355 0.980327 0.812632 0.640842 +0.520842 0.354213 0.263333 0.23872 0.219787 0.000993333 0.000973333 0.00096 +0.000953333 0.000933333 0.000906667 0.000886667 0.000866667 0.00086 0.000853333 0.000886667 +0.000933333 0.000926667 0.0009 0.00088 0.000893333 0.000886667 0.00084 0.000826667 +0.000806667 0.000826667 0.00084 0.00094 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00088 0.000846667 0.00086 +0.000906667 0.000926667 0.000913333 0.000866667 0.000826667 0.000826667 0.000813333 0.0008 +0.000826667 0.000853333 0.000846667 0.000886667 0.0009 0.000853333 0.000833333 0.000833333 +0.000846667 0.000866667 0.00086 0.000846667 0.000873333 0.000886667 0.000906667 0.000933333 +0.000926667 0.00092 0.000926667 0.000913333 0.000966667 0.000993333 0.229253 0.257653 +0.333387 0.512 0.638947 0.816421 0.984571 1.03812 1.05314 1.04661 +1.01657 0.925684 0.756421 0.609895 0.523368 0.4716 0.484853 0.536 +0.633263 0.803158 0.98 1.01853 0.976842 0.802526 0.623789 0.512632 +0.401547 0.34096 0.308773 0.286053 0.274693 0.265227 0.259547 0.251973 +0.2444 0.242507 0.242507 0.236827 0.23304 0.23304 0.236827 0.231147 +0.229253 0.22736 0.219787 0.223573 0.22736 0.225467 0.217893 0.216 +0.223573 0.22168 0.217893 0.22168 0.22168 0.216 0.216 0.217893 +0.216 0.000986667 0.000986667 0.216 0.223573 0.223573 0.219787 0.223573 +0.219787 0.000986667 0.00098 0.000973333 0.000986667 0.216 0.219787 0.00098 +0.000953333 0.000993333 0.216 0.000986667 0.22168 0.22168 0.217893 0.000993333 +0.000986667 0.216 0.000986667 0.00098 0.000966667 0.000966667 0.00096 0.000993333 +0.000993333 0.00098 0.219787 0.217893 0.00096 0.000946667 0.00096 0.000946667 +0.000973333 0.000966667 0.000966667 0.000993333 0.00098 0.00096 0.000973333 0.216 +0.000966667 0.000953333 0.00098 0.000993333 0.00098 0.00096 0.000953333 0.000946667 +0.000973333 0.00098 0.000966667 0.00096 0.00094 0.000966667 0.000966667 0.00094 +0.000946667 0.000953333 0.000953333 0.000946667 0.000966667 0.00098 0.00098 0.000973333 +0.000953333 0.00092 0.000946667 0.000973333 0.000953333 0.00092 0.00094 0.000953333 +0.000933333 0.00096 0.000986667 0.000933333 0.00092 0.000926667 0.000906667 0.000953333 +0.00096 0.000926667 0.000906667 0.0009 0.000873333 0.00088 0.000933333 0.00092 +0.000926667 0.00094 0.0009 0.00088 0.000853333 0.000873333 0.00092 0.0009 +0.000826667 0.000866667 0.000886667 0.000853333 0.00088 0.000893333 0.0009 0.000913333 +0.000926667 0.00094 0.000913333 0.000886667 0.000886667 0.00092 0.000906667 0.0009 +0.000926667 0.000906667 0.0009 0.000926667 0.00092 0.000906667 0.000886667 0.000866667 +0.000873333 0.00088 0.000893333 0.000873333 0.000886667 0.000906667 0.000906667 0.000926667 +0.000933333 0.0009 0.000913333 0.000913333 0.000873333 0.000913333 0.000913333 0.000893333 +0.000946667 0.000906667 0.00092 0.00094 0.000926667 0.00092 0.000913333 0.000933333 +0.000913333 0.000873333 0.000866667 0.000886667 0.00088 0.000873333 0.000906667 0.00092 +0.000906667 0.000906667 0.000913333 0.00096 0.00094 0.000913333 0.000906667 0.000866667 +0.000913333 0.00092 0.000926667 0.000886667 0.000886667 0.000886667 0.000866667 0.00084 +0.00084 0.000853333 0.000866667 0.000886667 0.000913333 0.00094 0.0009 0.00088 +0.000913333 0.000886667 0.000886667 0.000913333 0.0009 0.000913333 0.00092 0.000926667 +0.00094 0.00092 0.00092 0.00092 0.0009 0.000933333 0.000933333 0.000906667 +0.000926667 0.000973333 0.00092 0.000933333 0.000953333 0.00096 0.00094 0.00094 +0.217893 0.00098 0.0009 0.000893333 0.000906667 0.000906667 0.000886667 0.000893333 +0.000953333 0.00094 0.000933333 0.000966667 0.000966667 0.000966667 0.00096 0.00094 +0.00092 0.000933333 0.000933333 0.00086 0.000853333 0.000866667 0.00086 0.000853333 +0.00088 0.000913333 0.000913333 0.0009 0.00088 0.000893333 0.000913333 0.000893333 +0.0009 0.000946667 0.000953333 0.000913333 0.00092 0.000913333 0.000933333 0.000966667 +0.000973333 0.00098 0.000973333 0.00098 0.217893 0.000993333 0.000953333 0.00098 +0.000953333 0.000946667 0.000973333 0.000986667 0.000986667 0.000993333 0.000973333 0.000966667 +0.00096 0.000966667 0.000993333 0.216 0.000953333 0.000953333 0.000986667 0.000973333 +0.00096 0.000993333 0.000993333 0.00098 0.000993333 0.00098 0.000986667 0.00098 +0.00096 0.217893 0.22168 0.000986667 0.000986667 0.216 0.225467 0.219787 +0.000986667 0.216 0.000953333 0.00098 0.223573 0.217893 0.217893 0.000993333 +0.000946667 0.000973333 0.219787 0.219787 0.217893 0.219787 0.000986667 0.216 +0.22168 0.223573 0.22168 0.217893 0.22736 0.223573 0.219787 0.225467 +0.229253 0.229253 0.223573 0.219787 0.216 0.225467 0.22736 0.223573 +0.22168 0.223573 0.229253 0.23304 0.23304 0.23304 0.234933 0.2444 +0.246293 0.253867 0.276587 0.291733 0.297413 0.310667 0.356107 0.4432 +0.541684 0.652842 0.811368 0.976211 1.01722 0.975579 0.802526 0.638316 +0.530316 0.452667 0.450773 0.503789 0.560632 0.673684 0.829684 0.983265 +1.03388 1.05151 1.05086 1.03029 0.968 0.796842 0.632 0.511368 +0.348533 0.2728 0.234933 0.217893 0.000986667 0.000966667 0.000966667 0.000953333 +0.000933333 0.000906667 0.000886667 0.000893333 0.000886667 0.000866667 0.00082 0.00086 +0.000886667 0.00088 0.0009 0.000913333 0.000906667 0.000873333 0.000813333 0.00082 +0.000813333 0.000786667 0.00086 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00096 0.00092 +0.000906667 0.00088 0.000853333 0.000826667 0.000806667 0.0008 0.0008 0.0008 +0.00084 0.000853333 0.000846667 0.00086 0.000866667 0.00084 0.000846667 0.000853333 +0.000853333 0.000853333 0.000846667 0.000853333 0.000866667 0.00086 0.000873333 0.000886667 +0.000893333 0.000906667 0.000933333 0.00094 0.00094 0.000946667 0.219787 0.240613 +0.263333 0.327707 0.507579 0.631368 0.809474 0.982612 1.03812 1.0538 +1.04824 1.01918 0.933263 0.764632 0.614316 0.527158 0.479173 0.48864 +0.535368 0.637053 0.803789 0.977474 1.01755 0.965474 0.779789 0.614947 +0.517684 0.407227 0.344747 0.314453 0.28984 0.280373 0.274693 0.259547 +0.25008 0.242507 0.242507 0.246293 0.242507 0.240613 0.242507 0.23304 +0.229253 0.22736 0.22736 0.225467 0.225467 0.219787 0.00098 0.217893 +0.225467 0.219787 0.217893 0.223573 0.217893 0.00098 0.000993333 0.217893 +0.000993333 0.000993333 0.000993333 0.219787 0.225467 0.223573 0.216 0.216 +0.216 0.217893 0.000986667 0.00098 0.000986667 0.000986667 0.00098 0.00098 +0.00098 0.217893 0.216 0.000993333 0.217893 0.216 0.216 0.000993333 +0.000993333 0.216 0.00098 0.000973333 0.000986667 0.00098 0.00096 0.000986667 +0.000986667 0.000973333 0.000986667 0.00098 0.00098 0.000966667 0.000953333 0.000973333 +0.000993333 0.000973333 0.00096 0.216 0.000993333 0.00098 0.000973333 0.000986667 +0.000966667 0.000993333 0.216 0.000993333 0.000993333 0.000986667 0.00096 0.000953333 +0.217893 0.000966667 0.000953333 0.00096 0.00094 0.00096 0.00096 0.000966667 +0.00096 0.000953333 0.000986667 0.00096 0.000946667 0.000946667 0.00096 0.000973333 +0.000953333 0.000946667 0.000933333 0.00092 0.000946667 0.000946667 0.00094 0.000946667 +0.000926667 0.000953333 0.000966667 0.00092 0.0009 0.00094 0.00094 0.000933333 +0.000933333 0.000933333 0.000913333 0.000926667 0.000893333 0.0009 0.0009 0.00088 +0.000926667 0.000933333 0.0009 0.00086 0.000806667 0.000873333 0.00092 0.000866667 +0.000833333 0.00088 0.0009 0.000906667 0.000946667 0.00094 0.000933333 0.000913333 +0.000933333 0.000953333 0.00096 0.000913333 0.000853333 0.00086 0.000873333 0.0009 +0.0009 0.000866667 0.000873333 0.00092 0.0009 0.000886667 0.000873333 0.000893333 +0.000893333 0.000913333 0.000926667 0.000893333 0.000886667 0.0009 0.0009 0.000933333 +0.00092 0.0009 0.000893333 0.00088 0.000893333 0.000966667 0.000933333 0.000886667 +0.000933333 0.000926667 0.00094 0.000926667 0.00092 0.000913333 0.000893333 0.00092 +0.0009 0.000886667 0.000853333 0.00084 0.000866667 0.000893333 0.0009 0.0009 +0.000913333 0.0009 0.0009 0.000953333 0.000953333 0.000946667 0.000906667 0.00086 +0.000913333 0.00088 0.000913333 0.000893333 0.000873333 0.00086 0.000873333 0.000886667 +0.00086 0.000846667 0.0009 0.000913333 0.0009 0.000926667 0.000906667 0.0009 +0.000926667 0.00088 0.000866667 0.000906667 0.000913333 0.00094 0.000926667 0.000926667 +0.00094 0.00092 0.0009 0.000933333 0.0009 0.000913333 0.00092 0.000906667 +0.00096 0.000973333 0.00092 0.00092 0.000953333 0.000966667 0.00094 0.000926667 +0.000953333 0.00098 0.00092 0.000906667 0.000953333 0.000953333 0.00092 0.00092 +0.00092 0.00092 0.00094 0.000993333 0.000966667 0.00098 0.00096 0.000906667 +0.000893333 0.00092 0.000926667 0.000893333 0.000893333 0.0009 0.000893333 0.000873333 +0.000906667 0.000913333 0.000906667 0.000913333 0.0009 0.0009 0.0009 0.000886667 +0.000906667 0.000926667 0.00092 0.00092 0.000953333 0.00094 0.000926667 0.000933333 +0.000926667 0.00096 0.000946667 0.000966667 0.000993333 0.000973333 0.000953333 0.000993333 +0.000953333 0.000953333 0.00098 0.000986667 0.000993333 0.000993333 0.00096 0.000946667 +0.00094 0.000973333 0.000966667 0.000973333 0.00096 0.000973333 0.000993333 0.000953333 +0.000953333 0.216 0.225467 0.219787 0.000993333 0.00098 0.00098 0.000966667 +0.00094 0.00098 0.216 0.00098 0.000973333 0.000986667 0.219787 0.219787 +0.216 0.000993333 0.000986667 0.000986667 0.219787 0.219787 0.219787 0.000993333 +0.000973333 0.000993333 0.216 0.22736 0.219787 0.000993333 0.000993333 0.00098 +0.000966667 0.219787 0.22168 0.217893 0.225467 0.22168 0.000973333 0.223573 +0.236827 0.236827 0.22736 0.22168 0.216 0.219787 0.225467 0.231147 +0.225467 0.223573 0.236827 0.236827 0.240613 0.242507 0.248187 0.257653 +0.253867 0.257653 0.280373 0.303093 0.320133 0.35232 0.435627 0.541684 +0.666737 0.834105 0.984245 1.01722 0.963579 0.789895 0.629474 0.528421 +0.464027 0.45456 0.512 0.575158 0.692632 0.853053 0.989796 1.03322 +1.05118 1.05412 1.02898 0.949684 0.782316 0.619368 0.504421 0.333387 +0.26712 0.240613 0.217893 0.000953333 0.000973333 0.000966667 0.000966667 0.00094 +0.000906667 0.000893333 0.00088 0.000873333 0.00088 0.00088 0.000826667 0.000873333 +0.000893333 0.00084 0.00086 0.000913333 0.000906667 0.00088 0.00084 0.000826667 +0.000826667 0.00086 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00094 +0.00088 0.000853333 0.000866667 0.00082 0.000806667 0.000826667 0.0008 0.0008 +0.000833333 0.00086 0.000873333 0.00084 0.000846667 0.000853333 0.000866667 0.00086 +0.000846667 0.000833333 0.000833333 0.00084 0.000813333 0.000833333 0.000873333 0.000866667 +0.000873333 0.000906667 0.000933333 0.000926667 0.00092 0.000946667 0.216 0.22168 +0.23304 0.253867 0.322027 0.501895 0.624421 0.803789 0.981633 1.03714 +1.0538 1.04727 1.02016 0.940211 0.772211 0.623158 0.534105 0.486747 +0.481067 0.538526 0.638947 0.8 0.974316 1.01396 0.957895 0.791789 +0.637053 0.527789 0.418587 0.354213 0.31256 0.293627 0.287947 0.274693 +0.269013 0.251973 0.242507 0.242507 0.240613 0.248187 0.242507 0.22736 +0.229253 0.229253 0.229253 0.229253 0.22736 0.219787 0.000993333 0.225467 +0.225467 0.219787 0.217893 0.22168 0.219787 0.00098 0.000986667 0.000993333 +0.219787 0.22736 0.22168 0.219787 0.225467 0.223573 0.000993333 0.000973333 +0.00098 0.00098 0.000946667 0.000953333 0.000973333 0.000986667 0.217893 0.216 +0.216 0.216 0.000986667 0.216 0.216 0.22168 0.216 0.000986667 +0.216 0.000986667 0.000986667 0.000986667 0.216 0.000973333 0.000973333 0.000993333 +0.216 0.000966667 0.000946667 0.00098 0.00098 0.00096 0.00096 0.00098 +0.00098 0.00098 0.000966667 0.000993333 0.00098 0.000966667 0.000973333 0.000973333 +0.00098 0.00098 0.216 0.217893 0.00098 0.000953333 0.00094 0.000966667 +0.22168 0.000966667 0.000933333 0.00094 0.00096 0.000966667 0.000946667 0.000986667 +0.000986667 0.000966667 0.000966667 0.000953333 0.00096 0.00092 0.000926667 0.000953333 +0.000933333 0.000953333 0.000953333 0.000933333 0.000933333 0.00094 0.000966667 0.000933333 +0.00092 0.000946667 0.00094 0.0009 0.000933333 0.00094 0.000926667 0.000913333 +0.00092 0.000933333 0.000913333 0.00092 0.000906667 0.000906667 0.00088 0.000853333 +0.00088 0.0009 0.000873333 0.000833333 0.000813333 0.000886667 0.00092 0.000886667 +0.00088 0.00092 0.000913333 0.000913333 0.000906667 0.000893333 0.0009 0.000926667 +0.000953333 0.00094 0.00092 0.000886667 0.00086 0.000866667 0.000866667 0.000906667 +0.000873333 0.000846667 0.00088 0.0009 0.000893333 0.0009 0.000886667 0.000913333 +0.000906667 0.000933333 0.000893333 0.000873333 0.000906667 0.000933333 0.000906667 0.00092 +0.000926667 0.0009 0.00088 0.00088 0.000886667 0.000966667 0.00092 0.00088 +0.0009 0.000913333 0.00092 0.000893333 0.00092 0.000926667 0.000886667 0.000906667 +0.00088 0.0009 0.000886667 0.000893333 0.000866667 0.000893333 0.000913333 0.0009 +0.0009 0.0009 0.000906667 0.000953333 0.00096 0.000926667 0.000886667 0.00086 +0.0009 0.00086 0.000873333 0.000886667 0.000893333 0.000886667 0.0009 0.00092 +0.000886667 0.000866667 0.000926667 0.000913333 0.000886667 0.000886667 0.000906667 0.000933333 +0.000933333 0.0009 0.00088 0.000906667 0.0009 0.00094 0.00092 0.00092 +0.000926667 0.000886667 0.000893333 0.00092 0.0009 0.00088 0.000913333 0.000946667 +0.00094 0.00098 0.000926667 0.00092 0.000993333 0.000966667 0.00096 0.00092 +0.000913333 0.000973333 0.000933333 0.00092 0.000966667 0.000946667 0.000946667 0.00096 +0.00092 0.000926667 0.00094 0.000966667 0.000973333 0.000973333 0.000933333 0.000926667 +0.000926667 0.000913333 0.00094 0.000953333 0.00092 0.000946667 0.000926667 0.000886667 +0.000913333 0.00094 0.00092 0.000926667 0.0009 0.000893333 0.000893333 0.000866667 +0.0009 0.000933333 0.000933333 0.000893333 0.00092 0.000913333 0.00092 0.000933333 +0.000926667 0.00096 0.000966667 0.000986667 0.000986667 0.000966667 0.000946667 0.000993333 +0.000973333 0.000953333 0.000986667 0.000973333 0.000986667 0.216 0.00096 0.000973333 +0.000966667 0.000973333 0.000966667 0.000946667 0.000953333 0.000986667 0.00098 0.000953333 +0.000966667 0.000973333 0.217893 0.217893 0.000986667 0.00098 0.000973333 0.000986667 +0.000966667 0.000966667 0.000993333 0.217893 0.219787 0.000993333 0.000986667 0.000986667 +0.219787 0.22168 0.216 0.216 0.000986667 0.000993333 0.223573 0.217893 +0.000986667 0.000993333 0.00098 0.000993333 0.000993333 0.00098 0.219787 0.217893 +0.000993333 0.219787 0.219787 0.217893 0.229253 0.223573 0.216 0.223573 +0.229253 0.231147 0.223573 0.22168 0.217893 0.223573 0.22736 0.231147 +0.231147 0.231147 0.23872 0.25008 0.248187 0.25008 0.259547 0.26144 +0.265227 0.274693 0.29552 0.32392 0.34664 0.429947 0.538526 0.650947 +0.826526 0.986857 1.01559 0.960421 0.782947 0.625684 0.529053 0.458347 +0.46592 0.519579 0.586526 0.709053 0.870737 0.99698 1.03812 1.05118 +1.0489 1.02408 0.938316 0.758947 0.602947 0.496213 0.325813 0.257653 +0.23872 0.223573 0.000986667 0.00096 0.000946667 0.000946667 0.00096 0.00094 +0.0009 0.0009 0.000913333 0.000886667 0.000846667 0.000866667 0.00086 0.00088 +0.000913333 0.0009 0.0009 0.000913333 0.000893333 0.000873333 0.000853333 0.000833333 +0.000893333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000933333 0.000853333 0.000833333 0.0008 0.000813333 0.00082 0.00076 0.000766667 +0.000826667 0.000866667 0.000866667 0.00084 0.000873333 0.00086 0.000846667 0.000826667 +0.00084 0.000826667 0.0008 0.000826667 0.000813333 0.00084 0.000846667 0.000853333 +0.00088 0.000906667 0.00092 0.000933333 0.000933333 0.000926667 0.000953333 0.217893 +0.225467 0.229253 0.25008 0.31256 0.490533 0.618105 0.794316 0.974947 +1.03551 1.05314 1.04922 1.02441 0.947789 0.778526 0.633263 0.539789 +0.484853 0.48296 0.537263 0.637053 0.800632 0.974316 1.01559 0.975579 +0.813263 0.646526 0.532842 0.42048 0.34664 0.320133 0.299307 0.286053 +0.2728 0.259547 0.251973 0.240613 0.240613 0.251973 0.242507 0.234933 +0.234933 0.229253 0.225467 0.223573 0.229253 0.22736 0.219787 0.225467 +0.22168 0.22736 0.219787 0.22168 0.225467 0.219787 0.000986667 0.00098 +0.000993333 0.216 0.000993333 0.219787 0.22168 0.22168 0.000986667 0.000986667 +0.000986667 0.00098 0.000986667 0.217893 0.000993333 0.000993333 0.000993333 0.000973333 +0.000973333 0.000973333 0.000986667 0.216 0.219787 0.22168 0.000993333 0.000973333 +0.000966667 0.000986667 0.000993333 0.000986667 0.00096 0.000953333 0.000973333 0.00098 +0.000973333 0.000946667 0.00096 0.000973333 0.000966667 0.000953333 0.00098 0.000973333 +0.000973333 0.000973333 0.000973333 0.216 0.216 0.216 0.00098 0.000986667 +0.219787 0.000986667 0.00096 0.00096 0.000973333 0.000966667 0.00096 0.000993333 +0.000986667 0.00096 0.00094 0.000953333 0.00096 0.00096 0.00096 0.216 +0.216 0.000986667 0.00096 0.000966667 0.000973333 0.000946667 0.000953333 0.000913333 +0.000906667 0.000953333 0.000946667 0.000926667 0.00092 0.000953333 0.000966667 0.000913333 +0.000906667 0.00094 0.00092 0.00092 0.000926667 0.00092 0.00092 0.000893333 +0.00092 0.000906667 0.000886667 0.000893333 0.0009 0.000906667 0.000893333 0.000873333 +0.00086 0.00086 0.000866667 0.000853333 0.000846667 0.000926667 0.000953333 0.000926667 +0.00092 0.000913333 0.000913333 0.000913333 0.000913333 0.000906667 0.000906667 0.00094 +0.000946667 0.00092 0.000873333 0.000886667 0.0009 0.00088 0.000893333 0.000933333 +0.00092 0.0009 0.000906667 0.0009 0.000893333 0.0009 0.000893333 0.000913333 +0.000926667 0.00094 0.000913333 0.000906667 0.000933333 0.00094 0.000933333 0.00094 +0.00092 0.000893333 0.00088 0.000886667 0.00088 0.000913333 0.000906667 0.000893333 +0.000853333 0.000853333 0.00088 0.000886667 0.000906667 0.000906667 0.000906667 0.00092 +0.000893333 0.000893333 0.000913333 0.000906667 0.000866667 0.000886667 0.00092 0.0009 +0.000886667 0.000886667 0.0009 0.000933333 0.000906667 0.000893333 0.00086 0.000866667 +0.000913333 0.000873333 0.0009 0.000873333 0.000906667 0.000926667 0.000926667 0.000913333 +0.000906667 0.00088 0.000926667 0.000906667 0.000906667 0.00092 0.000913333 0.00094 +0.000946667 0.00092 0.0009 0.000893333 0.000886667 0.000913333 0.000913333 0.000946667 +0.000953333 0.00092 0.0009 0.000906667 0.000873333 0.000873333 0.000953333 0.00096 +0.000913333 0.000933333 0.00092 0.000946667 0.000973333 0.00094 0.00094 0.000893333 +0.000906667 0.000986667 0.000933333 0.00094 0.000953333 0.000946667 0.000946667 0.000953333 +0.000953333 0.000953333 0.00092 0.000913333 0.00094 0.00092 0.000913333 0.000953333 +0.00096 0.000926667 0.000953333 0.000933333 0.000913333 0.00094 0.000926667 0.000913333 +0.000906667 0.00094 0.00094 0.00094 0.000913333 0.0009 0.000926667 0.000886667 +0.00088 0.000926667 0.000953333 0.000886667 0.00088 0.000893333 0.0009 0.000906667 +0.00092 0.000966667 0.00096 0.00096 0.00094 0.000946667 0.000926667 0.00094 +0.000953333 0.00092 0.000953333 0.000966667 0.00096 0.216 0.000966667 0.000973333 +0.000993333 0.000973333 0.00096 0.000953333 0.000993333 0.000993333 0.00096 0.000953333 +0.00096 0.000953333 0.00098 0.000973333 0.00098 0.000986667 0.000973333 0.000973333 +0.00098 0.000973333 0.00098 0.000986667 0.219787 0.216 0.000993333 0.00098 +0.216 0.217893 0.219787 0.216 0.00098 0.216 0.223573 0.219787 +0.000993333 0.00098 0.217893 0.219787 0.22168 0.000993333 0.217893 0.217893 +0.217893 0.223573 0.223573 0.000986667 0.22168 0.225467 0.223573 0.229253 +0.234933 0.231147 0.22168 0.217893 0.22736 0.22736 0.22736 0.234933 +0.236827 0.23872 0.242507 0.246293 0.246293 0.257653 0.265227 0.269013 +0.274693 0.3012 0.327707 0.36936 0.450773 0.544842 0.658526 0.824 +0.983592 1.01233 0.947158 0.773474 0.616211 0.525263 0.464027 0.469707 +0.525895 0.601053 0.728632 0.885263 1.0022 1.04106 1.05216 1.04955 +1.02016 0.921263 0.740632 0.585263 0.456453 0.310667 0.253867 0.22736 +0.22168 0.000986667 0.000946667 0.000986667 0.000973333 0.000926667 0.00092 0.000913333 +0.00088 0.000866667 0.000886667 0.0009 0.00086 0.000893333 0.000893333 0.000873333 +0.000886667 0.000906667 0.0009 0.000933333 0.00094 0.000886667 0.000846667 0.000913333 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000873333 0.000773333 0.0008 0.000806667 0.0008 0.00078 0.0008 +0.00082 0.000846667 0.000866667 0.00086 0.000833333 0.000813333 0.000833333 0.00082 +0.000833333 0.00082 0.000813333 0.000846667 0.000853333 0.000826667 0.000826667 0.00084 +0.00084 0.000873333 0.000906667 0.00094 0.000926667 0.000933333 0.00092 0.000953333 +0.000986667 0.217893 0.229253 0.251973 0.31256 0.486747 0.613053 0.785474 +0.965474 1.0342 1.05412 1.04988 1.02571 0.953474 0.790526 0.639579 +0.542316 0.486747 0.484853 0.541684 0.640842 0.802526 0.976211 1.0182 +0.98 0.812632 0.644632 0.525895 0.405333 0.34664 0.32392 0.30688 +0.282267 0.274693 0.265227 0.253867 0.246293 0.242507 0.23872 0.236827 +0.23304 0.23872 0.234933 0.223573 0.223573 0.229253 0.225467 0.217893 +0.219787 0.22736 0.225467 0.225467 0.219787 0.217893 0.216 0.219787 +0.22168 0.217893 0.217893 0.217893 0.217893 0.000993333 0.00096 0.000966667 +0.000986667 0.000993333 0.217893 0.217893 0.216 0.000986667 0.00098 0.000986667 +0.000966667 0.000973333 0.217893 0.217893 0.000993333 0.000993333 0.000993333 0.000986667 +0.000973333 0.000986667 0.216 0.000993333 0.000986667 0.000993333 0.00098 0.000966667 +0.000953333 0.000973333 0.216 0.00098 0.000946667 0.000966667 0.000993333 0.000993333 +0.000966667 0.000966667 0.00098 0.000973333 0.000986667 0.216 0.216 0.000993333 +0.216 0.00098 0.000966667 0.00098 0.00098 0.000966667 0.000986667 0.000986667 +0.00094 0.000913333 0.000946667 0.217893 0.000993333 0.000946667 0.000953333 0.00098 +0.216 0.000973333 0.00094 0.000966667 0.000973333 0.000953333 0.000966667 0.00092 +0.000933333 0.000946667 0.00094 0.00092 0.00092 0.000966667 0.000966667 0.0009 +0.00092 0.00092 0.000893333 0.000913333 0.00094 0.000926667 0.00092 0.000906667 +0.00088 0.000846667 0.00086 0.00088 0.00092 0.000906667 0.000886667 0.000873333 +0.00086 0.000866667 0.000866667 0.000866667 0.000893333 0.000946667 0.000946667 0.00096 +0.000953333 0.000933333 0.000913333 0.000933333 0.00094 0.000926667 0.000933333 0.000933333 +0.000926667 0.000926667 0.000886667 0.0009 0.000913333 0.000913333 0.00092 0.000926667 +0.00092 0.000926667 0.000933333 0.000906667 0.000886667 0.000866667 0.000866667 0.0009 +0.00092 0.000926667 0.00092 0.000913333 0.000913333 0.00094 0.00096 0.000926667 +0.0009 0.000893333 0.000873333 0.000866667 0.000866667 0.000886667 0.0009 0.00092 +0.000833333 0.000833333 0.000873333 0.000893333 0.00092 0.000906667 0.000906667 0.000913333 +0.00092 0.000926667 0.000913333 0.000926667 0.000913333 0.00092 0.0009 0.00088 +0.000886667 0.000873333 0.000873333 0.0009 0.000873333 0.000886667 0.000866667 0.000873333 +0.000913333 0.0009 0.0009 0.000866667 0.00092 0.000933333 0.000933333 0.00092 +0.00092 0.000893333 0.000933333 0.000926667 0.00094 0.000946667 0.000933333 0.000946667 +0.00094 0.000946667 0.00092 0.000913333 0.0009 0.000926667 0.00092 0.00094 +0.000993333 0.000946667 0.00092 0.000886667 0.000873333 0.000893333 0.000946667 0.00098 +0.000906667 0.0009 0.0009 0.000933333 0.000953333 0.000926667 0.000933333 0.000906667 +0.000913333 0.00098 0.000946667 0.00094 0.000953333 0.000953333 0.00094 0.000946667 +0.000973333 0.000946667 0.00092 0.0009 0.000913333 0.0009 0.000926667 0.000953333 +0.00096 0.000933333 0.000953333 0.000946667 0.00092 0.000953333 0.00096 0.00094 +0.00092 0.000953333 0.000953333 0.00094 0.00094 0.000913333 0.00094 0.000906667 +0.000873333 0.000926667 0.000953333 0.000913333 0.0009 0.00088 0.000866667 0.00088 +0.000906667 0.000946667 0.000973333 0.00096 0.00094 0.00096 0.000946667 0.00094 +0.00096 0.000906667 0.00092 0.000953333 0.00096 0.000986667 0.00098 0.00096 +0.000993333 0.00098 0.00094 0.00094 0.217893 0.223573 0.000973333 0.000946667 +0.000953333 0.000946667 0.00098 0.000993333 0.216 0.22168 0.00098 0.00096 +0.00096 0.00098 0.00098 0.000986667 0.217893 0.217893 0.00098 0.00098 +0.217893 0.219787 0.22168 0.223573 0.000993333 0.217893 0.217893 0.000986667 +0.000973333 0.000973333 0.217893 0.22736 0.22168 0.217893 0.00098 0.219787 +0.219787 0.225467 0.225467 0.229253 0.22736 0.22736 0.225467 0.225467 +0.236827 0.234933 0.23304 0.225467 0.231147 0.23304 0.231147 0.234933 +0.23872 0.240613 0.246293 0.251973 0.253867 0.259547 0.276587 0.28416 +0.297413 0.3296 0.371253 0.46592 0.556211 0.674316 0.836632 0.984571 +1.01004 0.938316 0.764 0.614947 0.519579 0.462133 0.481067 0.525263 +0.604842 0.741263 0.906105 1.00939 1.04302 1.0538 1.0489 1.01429 +0.901684 0.724842 0.575158 0.435627 0.297413 0.251973 0.231147 0.00096 +0.00096 0.000973333 0.000926667 0.00096 0.00098 0.000926667 0.000893333 0.000893333 +0.0009 0.00088 0.000873333 0.000873333 0.000853333 0.000866667 0.000886667 0.000873333 +0.000886667 0.00088 0.00088 0.000893333 0.00092 0.000906667 0.000933333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.00092 0.000793333 0.000773333 0.0008 0.000786667 0.0008 +0.000813333 0.000826667 0.000853333 0.000873333 0.00082 0.00082 0.00082 0.0008 +0.000813333 0.000806667 0.000826667 0.00086 0.00084 0.000833333 0.00086 0.000826667 +0.000833333 0.000886667 0.000886667 0.000893333 0.000893333 0.000926667 0.00092 0.00092 +0.00094 0.00098 0.22736 0.23872 0.253867 0.320133 0.473493 0.599158 +0.770947 0.954737 1.03192 1.05445 1.05151 1.02931 0.964211 0.799368 +0.644632 0.544211 0.490533 0.48864 0.540421 0.641474 0.803789 0.975579 +1.0182 0.98 0.811368 0.640842 0.525895 0.416693 0.358 0.3296 +0.3012 0.280373 0.269013 0.26712 0.251973 0.246293 0.246293 0.23304 +0.229253 0.242507 0.240613 0.231147 0.229253 0.225467 0.219787 0.22168 +0.225467 0.22168 0.223573 0.229253 0.223573 0.219787 0.217893 0.223573 +0.225467 0.216 0.216 0.217893 0.216 0.00098 0.000966667 0.000986667 +0.000986667 0.00098 0.000993333 0.217893 0.217893 0.000986667 0.000973333 0.000993333 +0.000966667 0.00098 0.223573 0.225467 0.000986667 0.000966667 0.000973333 0.216 +0.000993333 0.000986667 0.216 0.000986667 0.000993333 0.22168 0.000986667 0.000953333 +0.000953333 0.000986667 0.000973333 0.00098 0.216 0.219787 0.000993333 0.00098 +0.000953333 0.00096 0.000973333 0.000986667 0.22168 0.000993333 0.000993333 0.00098 +0.000973333 0.000973333 0.000953333 0.000966667 0.000973333 0.000973333 0.216 0.000986667 +0.00094 0.000913333 0.00098 0.216 0.00098 0.00096 0.000966667 0.00096 +0.000973333 0.000953333 0.000946667 0.000953333 0.000966667 0.217893 0.000973333 0.000926667 +0.000926667 0.000926667 0.000926667 0.000913333 0.00096 0.000946667 0.000906667 0.000913333 +0.000933333 0.000906667 0.0009 0.00094 0.00096 0.000933333 0.000913333 0.00092 +0.000873333 0.000833333 0.000853333 0.000873333 0.00092 0.000926667 0.000906667 0.00088 +0.000893333 0.000866667 0.000873333 0.000926667 0.00098 0.000966667 0.000913333 0.000933333 +0.00096 0.00094 0.000906667 0.000893333 0.0009 0.000913333 0.00094 0.00094 +0.000933333 0.000906667 0.000873333 0.000906667 0.000933333 0.000926667 0.000906667 0.000926667 +0.00092 0.000946667 0.000966667 0.00092 0.000886667 0.0009 0.0009 0.000906667 +0.000906667 0.000886667 0.00088 0.000886667 0.000893333 0.000893333 0.00092 0.00092 +0.00092 0.000926667 0.00088 0.00086 0.000873333 0.000886667 0.000873333 0.0009 +0.000866667 0.000886667 0.000873333 0.00088 0.000926667 0.000913333 0.000913333 0.000893333 +0.0009 0.000893333 0.000886667 0.0009 0.000906667 0.00092 0.00088 0.00084 +0.000846667 0.00086 0.00088 0.000926667 0.000913333 0.000893333 0.00088 0.000886667 +0.000906667 0.000866667 0.000873333 0.00084 0.0009 0.0009 0.000893333 0.0009 +0.000913333 0.0009 0.00092 0.00094 0.00094 0.00094 0.00092 0.000933333 +0.00094 0.000926667 0.00092 0.00094 0.000913333 0.000913333 0.00092 0.000926667 +0.000966667 0.000933333 0.000906667 0.000886667 0.000893333 0.000926667 0.00092 0.00092 +0.000913333 0.0009 0.000893333 0.000913333 0.00092 0.00094 0.000926667 0.00092 +0.00094 0.000946667 0.000953333 0.000933333 0.00094 0.000953333 0.000913333 0.000926667 +0.000953333 0.00096 0.000946667 0.00094 0.00094 0.000926667 0.000953333 0.00096 +0.00098 0.000933333 0.000966667 0.000966667 0.000953333 0.000986667 0.00098 0.00096 +0.00096 0.000986667 0.00098 0.000953333 0.000946667 0.000926667 0.000966667 0.00094 +0.000913333 0.00096 0.000986667 0.000946667 0.000946667 0.000926667 0.000886667 0.000866667 +0.000893333 0.000913333 0.000913333 0.000933333 0.000926667 0.000953333 0.00092 0.000913333 +0.000953333 0.00092 0.000886667 0.000913333 0.00094 0.000946667 0.000973333 0.00098 +0.000993333 0.000986667 0.00094 0.000926667 0.000973333 0.219787 0.00098 0.00094 +0.00094 0.000946667 0.00098 0.000993333 0.217893 0.225467 0.219787 0.000973333 +0.000986667 0.000993333 0.000966667 0.000993333 0.223573 0.225467 0.217893 0.00098 +0.000993333 0.000993333 0.217893 0.219787 0.217893 0.000993333 0.216 0.216 +0.000986667 0.00096 0.000993333 0.223573 0.219787 0.217893 0.219787 0.22168 +0.22168 0.223573 0.225467 0.23304 0.234933 0.22736 0.231147 0.229253 +0.225467 0.22736 0.23872 0.229253 0.223573 0.234933 0.23872 0.23872 +0.236827 0.240613 0.253867 0.263333 0.259547 0.2728 0.293627 0.316347 +0.327707 0.361787 0.469707 0.564421 0.686947 0.850526 0.989796 1.00743 +0.92821 0.758316 0.609895 0.522105 0.456453 0.481067 0.535368 0.611158 +0.750737 0.916211 1.01363 1.04629 1.05412 1.04596 1.00906 0.891579 +0.707158 0.558105 0.422373 0.299307 0.246293 0.231147 0.22736 0.00098 +0.00094 0.00096 0.00094 0.00092 0.00094 0.00092 0.000866667 0.000873333 +0.00088 0.000893333 0.000893333 0.000873333 0.000866667 0.000846667 0.000833333 0.000853333 +0.000873333 0.000853333 0.000873333 0.000886667 0.00088 0.00096 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000846667 0.000753333 0.00078 0.00076 0.0008 +0.000833333 0.000846667 0.00084 0.00086 0.000846667 0.000833333 0.0008 0.0008 +0.000833333 0.00082 0.000833333 0.000846667 0.000846667 0.00086 0.000846667 0.000833333 +0.000853333 0.00086 0.000833333 0.000833333 0.00086 0.0009 0.000926667 0.00094 +0.00092 0.000953333 0.00098 0.000993333 0.236827 0.26144 0.304987 0.452667 +0.591579 0.762737 0.952211 1.03061 1.05347 1.0538 1.0329 0.972421 +0.803158 0.646526 0.543579 0.48864 0.5 0.544842 0.644632 0.808211 +0.979368 1.01853 0.98098 0.810105 0.637684 0.524632 0.411013 0.34664 +0.320133 0.297413 0.28984 0.28416 0.26144 0.257653 0.25576 0.240613 +0.231147 0.231147 0.229253 0.229253 0.234933 0.22736 0.216 0.22736 +0.231147 0.22736 0.225467 0.229253 0.229253 0.229253 0.223573 0.22168 +0.216 0.000993333 0.217893 0.219787 0.22168 0.000993333 0.000993333 0.000993333 +0.00096 0.00096 0.00098 0.000993333 0.000986667 0.000953333 0.00098 0.219787 +0.000986667 0.000973333 0.219787 0.22168 0.00098 0.00096 0.00098 0.00098 +0.00096 0.00098 0.00098 0.000966667 0.000993333 0.217893 0.00098 0.000966667 +0.000973333 0.000973333 0.000953333 0.000973333 0.000986667 0.216 0.000986667 0.000973333 +0.000966667 0.00098 0.000986667 0.000993333 0.000993333 0.00098 0.217893 0.000986667 +0.00098 0.000973333 0.000953333 0.000946667 0.00098 0.22168 0.216 0.000966667 +0.000913333 0.000913333 0.000986667 0.00098 0.000946667 0.000973333 0.000986667 0.00098 +0.000973333 0.000946667 0.00098 0.000953333 0.00096 0.000986667 0.000953333 0.000933333 +0.000926667 0.00094 0.00094 0.000926667 0.00092 0.000913333 0.000886667 0.000913333 +0.00094 0.000906667 0.00092 0.000953333 0.00096 0.000926667 0.000906667 0.0009 +0.000846667 0.000853333 0.000866667 0.000873333 0.000906667 0.0009 0.000893333 0.000906667 +0.000926667 0.0009 0.000893333 0.000926667 0.216 0.000966667 0.000913333 0.00092 +0.000933333 0.00092 0.000906667 0.0009 0.0009 0.000913333 0.000953333 0.000953333 +0.00094 0.000906667 0.00088 0.0009 0.00092 0.00092 0.00092 0.000953333 +0.00092 0.000933333 0.000973333 0.000926667 0.000906667 0.000946667 0.000946667 0.000906667 +0.000933333 0.00092 0.0009 0.000906667 0.000873333 0.000873333 0.000893333 0.000886667 +0.0009 0.000906667 0.00088 0.000886667 0.0009 0.00092 0.00088 0.0009 +0.000866667 0.0009 0.000886667 0.000893333 0.00092 0.00092 0.000926667 0.00088 +0.00086 0.000893333 0.000886667 0.00086 0.000866667 0.000873333 0.000866667 0.000866667 +0.000866667 0.00088 0.0009 0.00094 0.000946667 0.000893333 0.000873333 0.0009 +0.000913333 0.000906667 0.000893333 0.00086 0.00088 0.000886667 0.000893333 0.000893333 +0.0009 0.0009 0.000933333 0.000953333 0.000926667 0.000906667 0.000886667 0.00092 +0.000933333 0.000906667 0.000913333 0.000933333 0.000913333 0.000933333 0.000946667 0.000946667 +0.000966667 0.00092 0.00092 0.000926667 0.000933333 0.000933333 0.000893333 0.000886667 +0.000906667 0.000933333 0.000946667 0.00092 0.00094 0.000946667 0.000906667 0.000926667 +0.00094 0.00096 0.000986667 0.000926667 0.000933333 0.000926667 0.000926667 0.00096 +0.000946667 0.000933333 0.000946667 0.00094 0.00094 0.00094 0.00094 0.000953333 +0.00096 0.000946667 0.000946667 0.000953333 0.000933333 0.00096 0.000953333 0.000926667 +0.000946667 0.000993333 0.000993333 0.000973333 0.00096 0.00094 0.000953333 0.000973333 +0.000946667 0.000966667 0.000986667 0.000966667 0.000933333 0.000946667 0.00096 0.000906667 +0.0009 0.0009 0.000873333 0.000893333 0.00092 0.000926667 0.00092 0.00092 +0.00094 0.00094 0.00092 0.000906667 0.00092 0.000906667 0.000926667 0.000986667 +0.00098 0.000953333 0.00092 0.000906667 0.000926667 0.000986667 0.000993333 0.000953333 +0.000926667 0.000973333 0.217893 0.000973333 0.00098 0.216 0.219787 0.000993333 +0.000986667 0.00098 0.000953333 0.00098 0.217893 0.225467 0.219787 0.000973333 +0.000986667 0.000986667 0.217893 0.22168 0.223573 0.217893 0.000986667 0.22168 +0.219787 0.000953333 0.000986667 0.219787 0.219787 0.216 0.225467 0.223573 +0.22736 0.22168 0.223573 0.223573 0.229253 0.225467 0.23304 0.229253 +0.229253 0.223573 0.234933 0.236827 0.22736 0.236827 0.2444 0.2444 +0.242507 0.248187 0.259547 0.26144 0.269013 0.286053 0.310667 0.337173 +0.367467 0.4716 0.573263 0.707158 0.867579 0.993061 1.00841 0.921263 +0.745684 0.606737 0.521474 0.458347 0.48296 0.534737 0.62 0.757684 +0.928842 1.02049 1.04792 1.0551 1.04661 1.00384 0.868211 0.693895 +0.553053 0.401547 0.286053 0.2444 0.231147 0.216 0.00098 0.000986667 +0.000953333 0.000913333 0.000893333 0.000913333 0.000933333 0.000893333 0.000866667 0.000866667 +0.00086 0.000846667 0.000866667 0.000873333 0.000853333 0.000833333 0.000846667 0.000846667 +0.00086 0.000833333 0.000826667 0.000853333 0.000953333 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000866667 0.00076 0.000773333 0.000833333 +0.00084 0.000833333 0.000826667 0.000826667 0.000793333 0.000806667 0.00082 0.000833333 +0.00086 0.000853333 0.000846667 0.000833333 0.000826667 0.000833333 0.000846667 0.00084 +0.00082 0.00084 0.000853333 0.00084 0.000846667 0.000893333 0.000906667 0.0009 +0.000906667 0.000933333 0.00092 0.00096 0.219787 0.229253 0.259547 0.30688 +0.441307 0.587158 0.758316 0.942105 1.02865 1.05445 1.0551 1.03584 +0.979368 0.810105 0.647789 0.542947 0.496213 0.492427 0.542947 0.650316 +0.813263 0.978105 1.0182 0.977474 0.803158 0.635789 0.527158 0.418587 +0.35232 0.32392 0.308773 0.28984 0.270907 0.265227 0.26144 0.248187 +0.240613 0.234933 0.229253 0.22168 0.231147 0.23872 0.22736 0.229253 +0.223573 0.22736 0.225467 0.22168 0.22736 0.229253 0.223573 0.22168 +0.216 0.217893 0.217893 0.000993333 0.219787 0.216 0.219787 0.000973333 +0.000933333 0.00094 0.00096 0.00098 0.000986667 0.00096 0.000973333 0.216 +0.216 0.00098 0.216 0.217893 0.000986667 0.000973333 0.000986667 0.000966667 +0.000966667 0.000966667 0.00096 0.00096 0.00098 0.000993333 0.000986667 0.217893 +0.216 0.000973333 0.000986667 0.000966667 0.000953333 0.000986667 0.216 0.00098 +0.000966667 0.000973333 0.00098 0.000993333 0.00098 0.000986667 0.217893 0.000973333 +0.000953333 0.000946667 0.000973333 0.00096 0.000973333 0.216 0.00098 0.000953333 +0.0009 0.000933333 0.00098 0.000966667 0.000946667 0.000953333 0.000966667 0.000973333 +0.000946667 0.000953333 0.00098 0.000933333 0.00096 0.000973333 0.000946667 0.00092 +0.000926667 0.000946667 0.000946667 0.00098 0.000953333 0.000913333 0.000906667 0.000926667 +0.000933333 0.0009 0.000913333 0.000933333 0.000906667 0.000886667 0.000873333 0.00086 +0.00086 0.000866667 0.00086 0.000893333 0.000913333 0.000906667 0.000906667 0.000913333 +0.00092 0.000893333 0.000886667 0.000926667 0.000993333 0.000953333 0.00092 0.00092 +0.00092 0.000933333 0.000953333 0.00094 0.00092 0.000913333 0.000946667 0.000973333 +0.00096 0.000893333 0.000873333 0.000893333 0.000933333 0.000953333 0.00096 0.00094 +0.000913333 0.000926667 0.00096 0.000946667 0.000906667 0.000933333 0.00094 0.00092 +0.000946667 0.000926667 0.000906667 0.00094 0.00088 0.00088 0.0009 0.000873333 +0.00088 0.00088 0.000893333 0.000886667 0.000893333 0.000926667 0.000906667 0.000913333 +0.00084 0.000886667 0.000886667 0.000893333 0.0009 0.000886667 0.000893333 0.000866667 +0.000873333 0.000873333 0.000853333 0.000846667 0.00086 0.00088 0.000873333 0.000873333 +0.000913333 0.000893333 0.000893333 0.00092 0.000926667 0.00088 0.000866667 0.00088 +0.000926667 0.000946667 0.000913333 0.0009 0.000913333 0.0009 0.00092 0.00092 +0.000913333 0.000886667 0.00094 0.000973333 0.000926667 0.000913333 0.000913333 0.00094 +0.000933333 0.000893333 0.00088 0.000906667 0.000926667 0.00096 0.00096 0.000946667 +0.00096 0.000913333 0.000893333 0.000933333 0.000926667 0.000913333 0.000873333 0.000886667 +0.000953333 0.000966667 0.000953333 0.000933333 0.000946667 0.000946667 0.000913333 0.000926667 +0.000946667 0.000946667 0.000973333 0.000953333 0.000926667 0.000893333 0.000953333 0.00098 +0.000953333 0.000933333 0.000913333 0.00094 0.00096 0.00096 0.000933333 0.00094 +0.00094 0.000933333 0.000933333 0.000973333 0.000946667 0.000933333 0.000946667 0.000913333 +0.00094 0.00098 0.00098 0.000986667 0.00096 0.000926667 0.000913333 0.000953333 +0.000926667 0.000933333 0.00098 0.000966667 0.00094 0.000966667 0.000973333 0.000946667 +0.00094 0.00092 0.000893333 0.000893333 0.000926667 0.00092 0.000926667 0.00094 +0.000933333 0.00092 0.000913333 0.000893333 0.000906667 0.0009 0.0009 0.000966667 +0.000966667 0.00094 0.00094 0.00092 0.000933333 0.00096 0.000966667 0.000966667 +0.00096 0.00098 0.22168 0.00098 0.00098 0.00098 0.000993333 0.000993333 +0.216 0.000986667 0.000953333 0.000966667 0.000966667 0.000993333 0.00098 0.000946667 +0.000993333 0.223573 0.22736 0.000986667 0.00098 0.000993333 0.000966667 0.223573 +0.229253 0.000993333 0.000986667 0.217893 0.00098 0.000986667 0.219787 0.223573 +0.225467 0.219787 0.216 0.22736 0.22168 0.219787 0.229253 0.229253 +0.23304 0.231147 0.231147 0.242507 0.242507 0.2444 0.251973 0.251973 +0.246293 0.26144 0.270907 0.269013 0.28416 0.310667 0.325813 0.365573 +0.481067 0.574526 0.719158 0.889053 0.997633 1.00449 0.912421 0.742526 +0.600421 0.519579 0.469707 0.484853 0.539789 0.630737 0.772211 0.935789 +1.02212 1.05118 1.05608 1.04302 0.997306 0.856842 0.678737 0.543579 +0.39208 0.282267 0.23872 0.216 0.22168 0.219787 0.000966667 0.00094 +0.00094 0.0009 0.000873333 0.000886667 0.0009 0.00088 0.000853333 0.00088 +0.00086 0.00084 0.000873333 0.000873333 0.000833333 0.000846667 0.000866667 0.000866667 +0.000873333 0.00084 0.000826667 0.0009 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000853333 0.000773333 0.000793333 +0.000806667 0.00082 0.00084 0.000833333 0.0008 0.000833333 0.00084 0.00084 +0.000853333 0.00086 0.000833333 0.000813333 0.000813333 0.00082 0.00084 0.000806667 +0.000813333 0.00086 0.00088 0.000866667 0.000853333 0.00088 0.000873333 0.000886667 +0.000926667 0.000926667 0.000913333 0.000933333 0.00092 0.000953333 0.219787 0.251973 +0.308773 0.445093 0.584 0.748842 0.937684 1.02702 1.05412 1.05608 +1.03747 0.982286 0.813895 0.647789 0.542947 0.490533 0.492427 0.547368 +0.654105 0.815789 0.981959 1.0169 0.975579 0.815158 0.652842 0.535368 +0.424267 0.35232 0.322027 0.308773 0.291733 0.282267 0.26712 0.257653 +0.25576 0.246293 0.236827 0.225467 0.22736 0.234933 0.236827 0.234933 +0.223573 0.229253 0.229253 0.229253 0.231147 0.225467 0.219787 0.22168 +0.219787 0.219787 0.000993333 0.000993333 0.219787 0.223573 0.000993333 0.00096 +0.000966667 0.000986667 0.216 0.216 0.000993333 0.00098 0.00096 0.00096 +0.000993333 0.00098 0.000993333 0.216 0.000993333 0.00098 0.000973333 0.000993333 +0.216 0.000973333 0.000973333 0.000973333 0.216 0.000993333 0.217893 0.217893 +0.000953333 0.00096 0.216 0.000993333 0.00098 0.000986667 0.000993333 0.000973333 +0.000973333 0.00098 0.000966667 0.216 0.00098 0.000966667 0.000966667 0.00096 +0.000953333 0.000946667 0.00096 0.00094 0.00098 0.217893 0.000986667 0.000946667 +0.000953333 0.000973333 0.000953333 0.000946667 0.000953333 0.000953333 0.000946667 0.00094 +0.000913333 0.000946667 0.00094 0.000926667 0.000966667 0.000946667 0.00096 0.000933333 +0.000933333 0.00094 0.000953333 0.000986667 0.000973333 0.00092 0.000913333 0.000913333 +0.000913333 0.00092 0.00092 0.000926667 0.000913333 0.0009 0.000906667 0.000886667 +0.00088 0.000906667 0.000893333 0.000933333 0.00094 0.000946667 0.000926667 0.000913333 +0.0009 0.000873333 0.000893333 0.000933333 0.000966667 0.000913333 0.000913333 0.000946667 +0.000953333 0.000953333 0.000953333 0.00094 0.00092 0.000933333 0.00096 0.000966667 +0.000946667 0.0009 0.0009 0.000913333 0.000966667 0.000953333 0.000973333 0.000966667 +0.00094 0.000946667 0.00094 0.000906667 0.000886667 0.000913333 0.0009 0.000913333 +0.00094 0.0009 0.000893333 0.00092 0.000886667 0.000906667 0.000913333 0.000893333 +0.000906667 0.000886667 0.0009 0.000893333 0.000893333 0.000913333 0.000926667 0.0009 +0.00084 0.000893333 0.00088 0.000873333 0.00088 0.00086 0.00086 0.000873333 +0.000893333 0.00086 0.00086 0.000873333 0.000906667 0.000913333 0.0009 0.000866667 +0.000913333 0.000913333 0.000873333 0.000886667 0.000873333 0.000846667 0.000846667 0.000873333 +0.00092 0.00092 0.000906667 0.000906667 0.00092 0.000926667 0.00092 0.0009 +0.000893333 0.000893333 0.00094 0.000966667 0.000906667 0.0009 0.000906667 0.000926667 +0.000933333 0.000906667 0.00088 0.000893333 0.000893333 0.000953333 0.000953333 0.000926667 +0.000946667 0.000933333 0.000906667 0.00092 0.000933333 0.000946667 0.000873333 0.000926667 +0.00096 0.00094 0.000926667 0.000926667 0.00098 0.000993333 0.000953333 0.000953333 +0.000953333 0.000913333 0.000946667 0.00098 0.00094 0.000953333 0.000953333 0.000953333 +0.000946667 0.000926667 0.000913333 0.000933333 0.000953333 0.217893 0.000986667 0.000966667 +0.000953333 0.00092 0.000926667 0.000973333 0.00094 0.00092 0.00094 0.000913333 +0.000946667 0.000966667 0.000973333 0.00098 0.000966667 0.000946667 0.00092 0.000946667 +0.00094 0.000953333 0.00098 0.00096 0.00098 0.000993333 0.000986667 0.000966667 +0.00096 0.000946667 0.000946667 0.000946667 0.000926667 0.0009 0.000933333 0.00092 +0.000913333 0.00094 0.000933333 0.000913333 0.000926667 0.000933333 0.000926667 0.000966667 +0.000966667 0.000933333 0.000953333 0.00094 0.000926667 0.000953333 0.00094 0.00094 +0.000966667 0.000973333 0.000993333 0.000973333 0.000966667 0.000973333 0.000973333 0.000973333 +0.000986667 0.000986667 0.000973333 0.000966667 0.00096 0.000966667 0.000986667 0.00096 +0.000953333 0.217893 0.225467 0.000993333 0.000953333 0.216 0.000993333 0.22736 +0.229253 0.217893 0.000986667 0.22168 0.000986667 0.216 0.217893 0.217893 +0.225467 0.225467 0.216 0.229253 0.229253 0.217893 0.225467 0.231147 +0.22736 0.234933 0.236827 0.23872 0.2444 0.248187 0.257653 0.25576 +0.25576 0.269013 0.286053 0.286053 0.304987 0.339067 0.36936 0.467813 +0.574526 0.718526 0.893474 1.0022 1.00351 0.899789 0.729895 0.596 +0.520211 0.473493 0.5 0.544842 0.640842 0.789895 0.952211 1.02506 +1.05151 1.0551 1.03943 0.990449 0.837895 0.662947 0.533474 0.384507 +0.282267 0.23872 0.219787 0.000966667 0.000973333 0.00098 0.00094 0.000933333 +0.000933333 0.000893333 0.000866667 0.000873333 0.000893333 0.00086 0.00084 0.000846667 +0.000873333 0.00088 0.00088 0.000873333 0.000846667 0.00086 0.000873333 0.00088 +0.00088 0.000833333 0.0009 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000866667 0.000766667 +0.000813333 0.00088 0.00086 0.00084 0.000813333 0.000833333 0.00084 0.00082 +0.000813333 0.000826667 0.000826667 0.000826667 0.000826667 0.000833333 0.00082 0.000813333 +0.000853333 0.00086 0.000833333 0.00082 0.00084 0.000873333 0.000873333 0.000886667 +0.000906667 0.0009 0.000926667 0.00092 0.000933333 0.000966667 0.00094 0.22168 +0.253867 0.299307 0.428053 0.578947 0.743789 0.931368 1.02637 1.05216 +1.05347 1.03747 0.985551 0.821474 0.657263 0.549263 0.498107 0.492427 +0.545474 0.657263 0.820211 0.98098 1.01788 0.982939 0.827158 0.657263 +0.535368 0.42048 0.356107 0.331493 0.308773 0.291733 0.274693 0.270907 +0.265227 0.251973 0.248187 0.236827 0.22736 0.229253 0.236827 0.23304 +0.231147 0.23304 0.23304 0.23304 0.225467 0.225467 0.23304 0.225467 +0.231147 0.22168 0.216 0.217893 0.225467 0.225467 0.000966667 0.000966667 +0.000993333 0.219787 0.223573 0.000993333 0.00098 0.00098 0.000986667 0.216 +0.216 0.000993333 0.000993333 0.000986667 0.219787 0.000993333 0.000973333 0.000986667 +0.216 0.000993333 0.000986667 0.216 0.216 0.00098 0.000993333 0.00096 +0.000933333 0.00098 0.217893 0.217893 0.000993333 0.00098 0.000986667 0.000986667 +0.000993333 0.000966667 0.000953333 0.000993333 0.000986667 0.000973333 0.00096 0.00096 +0.00096 0.00096 0.000946667 0.00096 0.000986667 0.000986667 0.000986667 0.000946667 +0.00098 0.000986667 0.000946667 0.000933333 0.000953333 0.000953333 0.00092 0.000913333 +0.00092 0.00094 0.00094 0.000953333 0.000953333 0.000906667 0.000933333 0.00096 +0.000966667 0.00096 0.00098 0.000966667 0.000946667 0.000913333 0.0009 0.0009 +0.000893333 0.00092 0.000913333 0.000886667 0.000873333 0.000906667 0.000926667 0.000906667 +0.0009 0.000926667 0.00092 0.000953333 0.00092 0.00094 0.000973333 0.000953333 +0.000933333 0.000906667 0.000926667 0.000946667 0.00092 0.000873333 0.000913333 0.000953333 +0.000946667 0.000926667 0.000933333 0.00094 0.000933333 0.00096 0.000946667 0.00092 +0.00092 0.00092 0.00092 0.000906667 0.000933333 0.00092 0.000953333 0.000946667 +0.000926667 0.000933333 0.000933333 0.000893333 0.000893333 0.00092 0.000886667 0.000873333 +0.00092 0.000893333 0.000906667 0.000913333 0.000893333 0.000926667 0.000933333 0.000906667 +0.00088 0.000886667 0.000906667 0.000906667 0.000913333 0.0009 0.000886667 0.000866667 +0.000833333 0.000886667 0.000886667 0.00088 0.000893333 0.00088 0.000893333 0.000893333 +0.000893333 0.000866667 0.00088 0.0009 0.000906667 0.0009 0.000886667 0.000846667 +0.000886667 0.000913333 0.00088 0.000893333 0.00088 0.00086 0.00086 0.0009 +0.000933333 0.0009 0.000893333 0.000913333 0.00092 0.000926667 0.000906667 0.000893333 +0.000913333 0.000906667 0.00092 0.00094 0.000906667 0.000933333 0.000906667 0.000913333 +0.000933333 0.0009 0.000906667 0.0009 0.000906667 0.000933333 0.000926667 0.000886667 +0.000926667 0.000946667 0.000913333 0.0009 0.000926667 0.00096 0.00092 0.000973333 +0.000966667 0.00094 0.000906667 0.00094 0.000953333 0.000986667 0.00096 0.00094 +0.00096 0.000926667 0.000966667 0.000973333 0.00096 0.000986667 0.000973333 0.000946667 +0.00092 0.00092 0.00094 0.000946667 0.000953333 0.00098 0.000966667 0.000966667 +0.000973333 0.00092 0.000906667 0.000953333 0.000953333 0.000946667 0.000946667 0.000913333 +0.00094 0.000966667 0.00098 0.000966667 0.000953333 0.000933333 0.000926667 0.000946667 +0.00094 0.000966667 0.000993333 0.000953333 0.000966667 0.00098 0.00098 0.000973333 +0.000973333 0.000973333 0.000966667 0.000993333 0.000953333 0.000926667 0.000946667 0.000933333 +0.000926667 0.000953333 0.000946667 0.0009 0.000913333 0.00092 0.000933333 0.000946667 +0.000953333 0.00094 0.00098 0.00096 0.00092 0.00094 0.000933333 0.00094 +0.000946667 0.000933333 0.000953333 0.000966667 0.00096 0.000966667 0.000973333 0.00098 +0.00098 0.00096 0.000966667 0.000966667 0.000973333 0.000973333 0.216 0.000986667 +0.000953333 0.000986667 0.22168 0.22168 0.216 0.00098 0.000986667 0.22168 +0.22736 0.216 0.216 0.216 0.00098 0.216 0.223573 0.000993333 +0.225467 0.22168 0.219787 0.22168 0.234933 0.229253 0.231147 0.236827 +0.234933 0.23304 0.234933 0.236827 0.246293 0.25576 0.253867 0.257653 +0.26144 0.2728 0.28416 0.304987 0.337173 0.382613 0.5 0.575789 +0.712211 0.892211 1.0022 1.00122 0.894737 0.727368 0.591579 0.512632 +0.46592 0.501263 0.551158 0.653474 0.806947 0.970526 1.03061 1.05118 +1.0538 1.03682 0.981959 0.817053 0.651579 0.526526 0.367467 0.27848 +0.242507 0.217893 0.000973333 0.00096 0.000966667 0.00098 0.000953333 0.000926667 +0.000913333 0.000886667 0.000866667 0.00086 0.000886667 0.00088 0.00086 0.000846667 +0.000846667 0.000886667 0.000886667 0.000893333 0.000866667 0.000846667 0.000846667 0.00086 +0.00086 0.0009 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000893333 +0.000833333 0.000866667 0.00082 0.000813333 0.00082 0.000826667 0.000826667 0.000826667 +0.000826667 0.000833333 0.000853333 0.00084 0.000806667 0.00084 0.000846667 0.000813333 +0.00084 0.000846667 0.00082 0.000786667 0.000826667 0.000866667 0.000873333 0.000886667 +0.000906667 0.0009 0.0009 0.000926667 0.000953333 0.000946667 0.00094 0.000986667 +0.22168 0.23872 0.286053 0.428053 0.577053 0.74 0.925684 1.02212 +1.04988 1.0538 1.03943 0.988163 0.829684 0.66421 0.551158 0.492427 +0.492427 0.551158 0.658526 0.822105 0.981959 1.01788 0.982939 0.823368 +0.654105 0.537263 0.42616 0.35232 0.327707 0.308773 0.291733 0.27848 +0.269013 0.259547 0.25008 0.236827 0.234933 0.23872 0.236827 0.236827 +0.229253 0.229253 0.234933 0.23304 0.22168 0.225467 0.22736 0.22168 +0.22736 0.22168 0.22168 0.217893 0.217893 0.000986667 0.000973333 0.216 +0.22168 0.219787 0.22168 0.000986667 0.000966667 0.000966667 0.217893 0.22168 +0.22168 0.219787 0.00098 0.000986667 0.000993333 0.000953333 0.00098 0.000993333 +0.000993333 0.000993333 0.00098 0.216 0.00098 0.000986667 0.000986667 0.000933333 +0.000966667 0.22168 0.219787 0.219787 0.00098 0.000973333 0.00098 0.000973333 +0.00098 0.000973333 0.00098 0.00096 0.000986667 0.000993333 0.00098 0.000973333 +0.00096 0.00098 0.000966667 0.00098 0.000966667 0.000966667 0.000966667 0.000946667 +0.000973333 0.000966667 0.000946667 0.00094 0.000953333 0.00096 0.00094 0.000933333 +0.000953333 0.000933333 0.000946667 0.000973333 0.000946667 0.000893333 0.00092 0.000973333 +0.000973333 0.000953333 0.00096 0.000953333 0.000926667 0.000893333 0.000886667 0.000873333 +0.000886667 0.000926667 0.000913333 0.000866667 0.000866667 0.0009 0.000906667 0.000893333 +0.000886667 0.0009 0.000913333 0.00092 0.000913333 0.000946667 0.00096 0.000953333 +0.0009 0.00088 0.00094 0.00096 0.00092 0.0009 0.00094 0.00096 +0.00096 0.000913333 0.000933333 0.00096 0.000953333 0.000946667 0.00094 0.00094 +0.000906667 0.000913333 0.000906667 0.0009 0.000913333 0.0009 0.00094 0.000953333 +0.000926667 0.00092 0.00092 0.000913333 0.00092 0.00094 0.000906667 0.000886667 +0.0009 0.00088 0.000926667 0.0009 0.000886667 0.000913333 0.00094 0.000926667 +0.00088 0.0009 0.000913333 0.000913333 0.000913333 0.000893333 0.000873333 0.000853333 +0.000846667 0.00088 0.000866667 0.000886667 0.000906667 0.000893333 0.000913333 0.000886667 +0.0009 0.000866667 0.0009 0.000926667 0.000913333 0.000913333 0.0009 0.000866667 +0.000886667 0.000893333 0.000886667 0.000933333 0.000906667 0.000893333 0.000886667 0.000933333 +0.000933333 0.0009 0.000886667 0.0009 0.00092 0.00094 0.0009 0.000906667 +0.0009 0.00086 0.00088 0.000926667 0.000913333 0.00096 0.00094 0.000926667 +0.00092 0.000886667 0.000913333 0.0009 0.00092 0.000933333 0.000913333 0.00088 +0.000966667 0.000953333 0.000933333 0.0009 0.000913333 0.00096 0.000926667 0.000966667 +0.000973333 0.00094 0.00092 0.00094 0.000933333 0.000973333 0.000946667 0.00094 +0.000933333 0.000913333 0.000966667 0.000966667 0.000953333 0.00098 0.00098 0.00096 +0.000926667 0.000913333 0.00092 0.00096 0.000953333 0.00096 0.00096 0.000953333 +0.000966667 0.000953333 0.000926667 0.000946667 0.000933333 0.000933333 0.00094 0.00092 +0.00092 0.00096 0.00098 0.000973333 0.000953333 0.000933333 0.000926667 0.000913333 +0.000953333 0.216 0.22168 0.00098 0.000966667 0.00094 0.000933333 0.000973333 +0.000966667 0.000966667 0.000973333 0.000986667 0.000966667 0.000966667 0.00096 0.000953333 +0.000953333 0.000926667 0.000926667 0.000886667 0.000906667 0.00092 0.000926667 0.00092 +0.00094 0.000946667 0.00096 0.000966667 0.00092 0.0009 0.000906667 0.000906667 +0.00094 0.000926667 0.000926667 0.000966667 0.000966667 0.00096 0.000946667 0.000973333 +0.00098 0.00096 0.000986667 0.000973333 0.00098 0.000966667 0.000966667 0.000973333 +0.00098 0.217893 0.223573 0.219787 0.22168 0.00098 0.000986667 0.217893 +0.22736 0.223573 0.217893 0.00098 0.000973333 0.217893 0.223573 0.217893 +0.223573 0.217893 0.22168 0.22168 0.225467 0.236827 0.234933 0.23304 +0.2444 0.248187 0.242507 0.23872 0.251973 0.251973 0.26144 0.269013 +0.2728 0.286053 0.303093 0.331493 0.39208 0.506316 0.597895 0.735579 +0.897895 1.00188 0.999592 0.883368 0.717263 0.589684 0.515789 0.458347 +0.498107 0.557474 0.665474 0.822105 0.981959 1.03551 1.0551 1.05347 +1.03192 0.972421 0.803789 0.632632 0.513895 0.358 0.276587 0.236827 +0.000986667 0.000986667 0.000966667 0.000926667 0.000926667 0.00094 0.000926667 0.000913333 +0.0009 0.000886667 0.000866667 0.000846667 0.000866667 0.00088 0.000866667 0.00086 +0.000833333 0.00084 0.000873333 0.000886667 0.00088 0.000853333 0.00082 0.00084 +0.000926667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000913333 0.00082 0.000833333 0.000853333 0.000833333 0.000826667 0.00084 0.000866667 +0.000853333 0.000826667 0.000833333 0.000806667 0.000786667 0.00084 0.000826667 0.000813333 +0.000826667 0.000833333 0.000826667 0.000806667 0.00084 0.00086 0.000873333 0.000866667 +0.000873333 0.00088 0.000893333 0.000913333 0.000913333 0.000906667 0.000953333 0.00098 +0.000966667 0.219787 0.240613 0.287947 0.422373 0.571368 0.730526 0.918737 +1.01984 1.0489 1.05347 1.04008 0.991429 0.835368 0.666737 0.554947 +0.503158 0.500632 0.550526 0.660421 0.821474 0.981959 1.01657 0.981306 +0.827158 0.657895 0.531579 0.422373 0.356107 0.327707 0.31256 0.291733 +0.276587 0.270907 0.263333 0.248187 0.242507 0.242507 0.23872 0.23304 +0.22736 0.234933 0.23872 0.231147 0.223573 0.219787 0.223573 0.225467 +0.217893 0.216 0.219787 0.00098 0.00098 0.00098 0.000993333 0.22168 +0.223573 0.22168 0.219787 0.000993333 0.000986667 0.000993333 0.219787 0.000986667 +0.217893 0.000986667 0.00096 0.217893 0.00098 0.00096 0.000966667 0.000973333 +0.000973333 0.00098 0.219787 0.217893 0.00098 0.217893 0.000986667 0.000966667 +0.217893 0.000993333 0.000966667 0.000953333 0.000966667 0.00098 0.000986667 0.000993333 +0.000973333 0.216 0.000993333 0.000966667 0.000993333 0.000973333 0.00096 0.00096 +0.000973333 0.216 0.216 0.000986667 0.000953333 0.000926667 0.000926667 0.000953333 +0.00098 0.00094 0.000933333 0.000946667 0.000973333 0.00096 0.00092 0.000933333 +0.00094 0.0009 0.000933333 0.000953333 0.000933333 0.00092 0.000926667 0.00096 +0.00096 0.00096 0.000933333 0.000906667 0.00088 0.000886667 0.000873333 0.000853333 +0.000906667 0.000946667 0.000926667 0.000886667 0.0009 0.00092 0.00092 0.0009 +0.000893333 0.0009 0.000946667 0.000953333 0.000913333 0.000933333 0.000933333 0.00094 +0.0009 0.000893333 0.000926667 0.00096 0.000933333 0.000913333 0.000966667 0.000966667 +0.000933333 0.0009 0.00092 0.000953333 0.00098 0.00096 0.000953333 0.000933333 +0.000893333 0.000906667 0.000906667 0.000933333 0.0009 0.000886667 0.00092 0.000946667 +0.00094 0.000933333 0.000926667 0.00092 0.000906667 0.00092 0.000913333 0.000933333 +0.000906667 0.000906667 0.00094 0.00092 0.000913333 0.00092 0.00094 0.000926667 +0.000893333 0.000913333 0.000893333 0.000893333 0.000893333 0.000906667 0.0009 0.00086 +0.00088 0.000893333 0.00086 0.0009 0.0009 0.00088 0.000893333 0.000886667 +0.000913333 0.000866667 0.0009 0.000926667 0.000926667 0.00092 0.00092 0.0009 +0.00094 0.00092 0.000913333 0.000966667 0.000926667 0.000906667 0.00088 0.000886667 +0.000906667 0.000893333 0.000886667 0.000893333 0.000893333 0.000913333 0.00092 0.000926667 +0.000906667 0.000853333 0.000886667 0.000953333 0.0009 0.000906667 0.00092 0.000906667 +0.000913333 0.000873333 0.0009 0.000906667 0.000933333 0.00094 0.00092 0.0009 +0.000973333 0.000973333 0.000946667 0.0009 0.000893333 0.00096 0.00096 0.00094 +0.000973333 0.00092 0.000913333 0.00092 0.000946667 0.000986667 0.000953333 0.00094 +0.000933333 0.000926667 0.000953333 0.00098 0.00096 0.000946667 0.000953333 0.000946667 +0.00094 0.000933333 0.000933333 0.00094 0.000926667 0.000926667 0.000946667 0.000933333 +0.000933333 0.000973333 0.00096 0.000966667 0.00096 0.000913333 0.000933333 0.000913333 +0.00088 0.000933333 0.00096 0.00096 0.000966667 0.00096 0.000953333 0.000933333 +0.00096 0.000993333 0.219787 0.217893 0.00098 0.000966667 0.000933333 0.000953333 +0.000946667 0.000946667 0.00098 0.000993333 0.000966667 0.000966667 0.000966667 0.000973333 +0.000993333 0.000926667 0.000933333 0.000946667 0.000926667 0.00096 0.000946667 0.000913333 +0.00092 0.000946667 0.00092 0.000946667 0.000926667 0.00092 0.000926667 0.000933333 +0.000953333 0.00092 0.000913333 0.000953333 0.00094 0.00096 0.000973333 0.000966667 +0.00098 0.000946667 0.000973333 0.216 0.00098 0.00096 0.000966667 0.000966667 +0.000986667 0.217893 0.219787 0.223573 0.219787 0.000973333 0.000993333 0.216 +0.219787 0.223573 0.22168 0.000993333 0.000986667 0.216 0.223573 0.22736 +0.223573 0.22168 0.223573 0.223573 0.219787 0.236827 0.23872 0.236827 +0.236827 0.251973 0.2444 0.242507 0.253867 0.263333 0.26712 0.28416 +0.29552 0.31256 0.339067 0.393973 0.512 0.609895 0.757053 0.92 +1.00547 0.99698 0.877684 0.709053 0.580842 0.512632 0.464027 0.501263 +0.563158 0.679368 0.837263 0.987184 1.03747 1.05445 1.05412 1.03094 +0.959789 0.787368 0.623789 0.508211 0.339067 0.265227 0.234933 0.217893 +0.000966667 0.00098 0.00096 0.000933333 0.000913333 0.0009 0.000906667 0.000913333 +0.000906667 0.000906667 0.00086 0.000846667 0.00086 0.000906667 0.000866667 0.00086 +0.000853333 0.000833333 0.00084 0.000873333 0.000886667 0.00088 0.000853333 0.000946667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00092 0.000853333 0.00086 0.000826667 0.000813333 0.000813333 0.00082 +0.000793333 0.0008 0.00082 0.000806667 0.000826667 0.00084 0.000813333 0.000826667 +0.00082 0.00082 0.000826667 0.000806667 0.000833333 0.000846667 0.000846667 0.00084 +0.00084 0.000873333 0.00088 0.000893333 0.000906667 0.00094 0.00096 0.000946667 +0.000953333 0.000973333 0.217893 0.23872 0.27848 0.40344 0.563158 0.726737 +0.916842 1.01951 1.0502 1.05412 1.04008 0.991429 0.841684 0.678105 +0.56 0.503158 0.500632 0.548632 0.657895 0.824 0.982612 1.01918 +0.984245 0.820211 0.647158 0.530316 0.40912 0.348533 0.32392 0.308773 +0.293627 0.282267 0.2728 0.26144 0.25576 0.251973 0.240613 0.234933 +0.236827 0.231147 0.223573 0.22736 0.231147 0.225467 0.234933 0.231147 +0.216 0.219787 0.216 0.000973333 0.217893 0.223573 0.225467 0.225467 +0.219787 0.000993333 0.216 0.217893 0.219787 0.22168 0.000993333 0.000986667 +0.000993333 0.00098 0.000986667 0.217893 0.000993333 0.216 0.00098 0.000973333 +0.000966667 0.000986667 0.219787 0.000986667 0.000986667 0.216 0.000973333 0.000986667 +0.219787 0.00098 0.000946667 0.00096 0.217893 0.216 0.000986667 0.000973333 +0.000973333 0.216 0.000973333 0.00096 0.000993333 0.00098 0.000973333 0.00098 +0.000973333 0.000973333 0.000986667 0.000986667 0.000966667 0.000933333 0.000933333 0.00096 +0.00094 0.000933333 0.000946667 0.00094 0.00094 0.00094 0.000906667 0.000926667 +0.000926667 0.000913333 0.00094 0.000946667 0.000926667 0.00092 0.000913333 0.00094 +0.000946667 0.000953333 0.00092 0.00088 0.000873333 0.00088 0.000866667 0.00086 +0.000953333 0.00098 0.000953333 0.000933333 0.00094 0.00092 0.000933333 0.000933333 +0.00094 0.000953333 0.000993333 0.000953333 0.000913333 0.00092 0.000933333 0.000946667 +0.000933333 0.000953333 0.00096 0.000966667 0.00092 0.000913333 0.00096 0.00094 +0.000893333 0.000893333 0.000893333 0.000913333 0.000966667 0.000973333 0.000953333 0.000933333 +0.00092 0.000913333 0.000913333 0.000946667 0.000926667 0.000913333 0.000926667 0.000926667 +0.000926667 0.000946667 0.000926667 0.000886667 0.0009 0.000906667 0.00092 0.00096 +0.000913333 0.00092 0.00092 0.000926667 0.00092 0.000906667 0.000926667 0.00092 +0.00088 0.000913333 0.000873333 0.000853333 0.0009 0.00094 0.000933333 0.000886667 +0.00088 0.000886667 0.000886667 0.000933333 0.000906667 0.00086 0.000866667 0.000893333 +0.0009 0.000866667 0.000906667 0.000933333 0.000913333 0.000906667 0.000913333 0.000926667 +0.000953333 0.000946667 0.00092 0.00094 0.00092 0.000913333 0.000873333 0.000873333 +0.000886667 0.0009 0.000893333 0.0009 0.000886667 0.0009 0.000933333 0.000926667 +0.000906667 0.000873333 0.0009 0.00094 0.000906667 0.000926667 0.000906667 0.00092 +0.00094 0.000893333 0.000906667 0.000913333 0.000926667 0.000953333 0.000946667 0.000926667 +0.000926667 0.00094 0.000906667 0.0009 0.000893333 0.000946667 0.000933333 0.000933333 +0.000966667 0.00092 0.00094 0.000926667 0.000966667 0.000986667 0.00096 0.000933333 +0.000946667 0.000946667 0.00096 0.219787 0.000986667 0.000973333 0.000946667 0.000946667 +0.000926667 0.000946667 0.00096 0.00096 0.000946667 0.00094 0.00096 0.00096 +0.00094 0.000926667 0.00094 0.000966667 0.000986667 0.000946667 0.000973333 0.00094 +0.000893333 0.000913333 0.000953333 0.00096 0.000966667 0.00096 0.000933333 0.000933333 +0.000946667 0.00096 0.00098 0.217893 0.216 0.000986667 0.000966667 0.000953333 +0.000926667 0.00094 0.217893 0.000986667 0.000966667 0.000966667 0.000966667 0.00096 +0.000993333 0.000966667 0.000953333 0.00098 0.00094 0.000966667 0.000953333 0.00094 +0.000926667 0.000973333 0.00098 0.000946667 0.00094 0.0009 0.000933333 0.00094 +0.000966667 0.00094 0.000933333 0.000993333 0.00096 0.000946667 0.00098 0.000986667 +0.000966667 0.000946667 0.000973333 0.216 0.00098 0.00096 0.00096 0.000973333 +0.000986667 0.217893 0.000993333 0.22168 0.223573 0.000993333 0.22168 0.217893 +0.000993333 0.217893 0.22736 0.22168 0.216 0.219787 0.000993333 0.219787 +0.229253 0.225467 0.23304 0.229253 0.225467 0.229253 0.23872 0.240613 +0.240613 0.23872 0.240613 0.246293 0.259547 0.270907 0.282267 0.28416 +0.308773 0.339067 0.393973 0.514526 0.613684 0.765895 0.930737 1.00678 +0.993061 0.868211 0.704 0.578316 0.505684 0.458347 0.507579 0.569474 +0.689474 0.853684 0.991429 1.03649 1.05184 1.05184 1.02865 0.949684 +0.774737 0.613053 0.501895 0.331493 0.251973 0.231147 0.223573 0.219787 +0.000973333 0.00096 0.00094 0.000906667 0.00088 0.000866667 0.000873333 0.000913333 +0.000913333 0.00092 0.000886667 0.00084 0.000853333 0.000873333 0.00088 0.00084 +0.000853333 0.00084 0.000853333 0.000873333 0.00086 0.000853333 0.000906667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000906667 0.000813333 0.000813333 0.000826667 0.000806667 0.0008 +0.000806667 0.00084 0.000833333 0.0008 0.00082 0.000826667 0.000833333 0.00082 +0.0008 0.00082 0.000813333 0.0008 0.00082 0.000826667 0.000846667 0.000866667 +0.000866667 0.000853333 0.000873333 0.000886667 0.0009 0.00092 0.000926667 0.000953333 +0.00094 0.000946667 0.00098 0.217893 0.234933 0.276587 0.39776 0.563158 +0.722316 0.911789 1.01918 1.0489 1.05282 1.03976 0.993388 0.849263 +0.683789 0.565053 0.503158 0.49432 0.549895 0.663579 0.830316 0.986204 +1.01755 0.978737 0.818947 0.650316 0.532211 0.422373 0.34664 0.320133 +0.304987 0.293627 0.28416 0.276587 0.270907 0.26712 0.25008 0.246293 +0.234933 0.22736 0.22736 0.229253 0.231147 0.234933 0.23872 0.231147 +0.22736 0.22736 0.22168 0.223573 0.217893 0.216 0.229253 0.219787 +0.000993333 0.000993333 0.216 0.216 0.223573 0.225467 0.217893 0.219787 +0.217893 0.000986667 0.000986667 0.216 0.219787 0.22168 0.225467 0.217893 +0.00098 0.00098 0.000973333 0.216 0.22168 0.00098 0.000966667 0.000986667 +0.216 0.000993333 0.000986667 0.00098 0.00098 0.00098 0.00098 0.000966667 +0.00098 0.000986667 0.000973333 0.000986667 0.216 0.00098 0.000986667 0.000986667 +0.000966667 0.00096 0.00098 0.000966667 0.000946667 0.000953333 0.000973333 0.00098 +0.00094 0.000933333 0.000926667 0.000926667 0.000926667 0.000933333 0.000966667 0.00096 +0.00092 0.00094 0.000933333 0.00092 0.000913333 0.00092 0.00092 0.000906667 +0.000926667 0.000926667 0.000886667 0.000866667 0.00088 0.000893333 0.00086 0.000913333 +0.216 0.000973333 0.00094 0.000953333 0.00096 0.000926667 0.00094 0.000953333 +0.00094 0.000966667 0.00096 0.000933333 0.0009 0.000913333 0.00092 0.000906667 +0.00092 0.000946667 0.000966667 0.000973333 0.000953333 0.000926667 0.000966667 0.000946667 +0.000893333 0.00088 0.000893333 0.000906667 0.00094 0.000946667 0.00092 0.000906667 +0.000926667 0.000913333 0.00092 0.000946667 0.00094 0.00094 0.00092 0.000926667 +0.000953333 0.00096 0.000906667 0.000866667 0.0009 0.000906667 0.00094 0.000973333 +0.000933333 0.000933333 0.000906667 0.000886667 0.0009 0.000893333 0.000906667 0.000893333 +0.0009 0.000946667 0.000873333 0.000853333 0.000913333 0.000926667 0.00092 0.0009 +0.00088 0.000893333 0.000906667 0.000926667 0.000906667 0.000873333 0.000873333 0.0009 +0.000893333 0.000873333 0.000906667 0.00092 0.000886667 0.0009 0.000906667 0.000906667 +0.00094 0.00092 0.000913333 0.00092 0.000913333 0.00092 0.00088 0.00088 +0.0009 0.000886667 0.000866667 0.00088 0.000913333 0.000926667 0.000926667 0.0009 +0.00092 0.000913333 0.00092 0.000913333 0.00088 0.000913333 0.000893333 0.00092 +0.00094 0.000906667 0.000913333 0.0009 0.0009 0.000946667 0.000953333 0.00096 +0.00094 0.00094 0.000906667 0.000913333 0.000886667 0.00092 0.000893333 0.00092 +0.000946667 0.000953333 0.00094 0.000946667 0.000966667 0.000973333 0.000926667 0.000933333 +0.000946667 0.000926667 0.00096 0.219787 0.000993333 0.000966667 0.000966667 0.00098 +0.000953333 0.000953333 0.00098 0.00098 0.00096 0.000953333 0.00096 0.00096 +0.000953333 0.00092 0.00094 0.000973333 0.000986667 0.000966667 0.000973333 0.000953333 +0.00092 0.0009 0.000933333 0.000946667 0.000966667 0.000946667 0.0009 0.000933333 +0.00094 0.00094 0.00098 0.217893 0.219787 0.22168 0.216 0.00098 +0.000946667 0.000953333 0.216 0.00098 0.00098 0.000973333 0.000973333 0.000993333 +0.000986667 0.000966667 0.000966667 0.000986667 0.000953333 0.000933333 0.00092 0.000926667 +0.000926667 0.00096 0.217893 0.00096 0.00094 0.000886667 0.000913333 0.00096 +0.00098 0.000986667 0.000946667 0.00096 0.000953333 0.000926667 0.000946667 0.000966667 +0.000993333 0.216 0.00098 0.216 0.000973333 0.000953333 0.000953333 0.000953333 +0.00098 0.219787 0.22736 0.223573 0.22168 0.216 0.223573 0.22168 +0.217893 0.22168 0.22168 0.223573 0.217893 0.219787 0.217893 0.22168 +0.231147 0.225467 0.229253 0.23304 0.231147 0.23304 0.23304 0.242507 +0.25008 0.25008 0.25008 0.263333 0.270907 0.286053 0.3012 0.303093 +0.322027 0.39776 0.517684 0.618105 0.772211 0.935789 1.00645 0.989143 +0.856211 0.698316 0.575158 0.506947 0.464027 0.513263 0.587789 0.706526 +0.863158 0.996 1.04073 1.05347 1.04922 1.0231 0.939579 0.760842 +0.600421 0.48296 0.31256 0.240613 0.000986667 0.000986667 0.219787 0.219787 +0.000946667 0.00092 0.000926667 0.000873333 0.00086 0.000873333 0.000873333 0.0009 +0.000893333 0.000873333 0.000873333 0.000873333 0.000866667 0.000873333 0.000873333 0.00088 +0.00086 0.000833333 0.000846667 0.000866667 0.000866667 0.000926667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000893333 0.00084 0.000826667 0.000806667 0.000806667 +0.00082 0.000833333 0.000826667 0.000806667 0.0008 0.000826667 0.000833333 0.000806667 +0.0008 0.000813333 0.000813333 0.00082 0.000833333 0.00084 0.000846667 0.000853333 +0.000826667 0.000833333 0.00086 0.000853333 0.00088 0.0009 0.000906667 0.000946667 +0.00094 0.000973333 0.216 0.000993333 0.219787 0.236827 0.270907 0.390187 +0.556211 0.716 0.904842 1.01624 1.04955 1.0538 1.04106 0.997633 +0.858105 0.690737 0.565053 0.503158 0.492427 0.548 0.668 0.835368 +0.984571 1.0182 0.982286 0.824632 0.661053 0.544211 0.439413 0.359893 +0.3296 0.31256 0.297413 0.28984 0.28416 0.274693 0.26144 0.25576 +0.242507 0.248187 0.248187 0.23304 0.22736 0.234933 0.234933 0.23304 +0.229253 0.219787 0.22168 0.225467 0.216 0.223573 0.223573 0.000986667 +0.217893 0.216 0.00098 0.217893 0.225467 0.223573 0.219787 0.216 +0.22168 0.223573 0.000993333 0.216 0.22168 0.219787 0.216 0.00098 +0.000993333 0.216 0.00098 0.000986667 0.000973333 0.000946667 0.00098 0.219787 +0.000993333 0.00098 0.219787 0.000993333 0.000966667 0.000966667 0.000973333 0.000953333 +0.000966667 0.000973333 0.000986667 0.000993333 0.000966667 0.000966667 0.000986667 0.000986667 +0.00098 0.000986667 0.000946667 0.0009 0.000913333 0.00094 0.000966667 0.00098 +0.000946667 0.00094 0.000926667 0.000926667 0.000926667 0.000913333 0.000953333 0.000926667 +0.000926667 0.000946667 0.000913333 0.00088 0.000886667 0.000933333 0.000926667 0.0009 +0.000913333 0.0009 0.0009 0.00088 0.0009 0.000893333 0.0009 0.000986667 +0.219787 0.00094 0.000906667 0.00094 0.00096 0.000933333 0.00092 0.000933333 +0.000946667 0.00098 0.000926667 0.000913333 0.00092 0.000906667 0.000906667 0.000906667 +0.000926667 0.000966667 0.000993333 0.00094 0.000913333 0.00094 0.00096 0.00092 +0.0009 0.00088 0.0009 0.000953333 0.00096 0.000953333 0.00092 0.000906667 +0.000913333 0.000926667 0.00094 0.000953333 0.00094 0.00096 0.00094 0.00094 +0.000973333 0.00098 0.00092 0.000913333 0.000926667 0.000886667 0.000933333 0.000946667 +0.00094 0.00092 0.000893333 0.00086 0.00088 0.000906667 0.000933333 0.000886667 +0.000913333 0.000953333 0.000886667 0.000893333 0.00092 0.000913333 0.000886667 0.000893333 +0.000906667 0.000926667 0.00092 0.00092 0.000906667 0.000893333 0.000866667 0.00092 +0.000906667 0.000906667 0.000933333 0.000906667 0.000853333 0.00088 0.0009 0.000913333 +0.00092 0.000906667 0.00092 0.000933333 0.000926667 0.000906667 0.00086 0.0009 +0.00092 0.000893333 0.000873333 0.000893333 0.00092 0.00094 0.000893333 0.000886667 +0.000926667 0.000926667 0.000906667 0.000913333 0.000873333 0.0009 0.000893333 0.000926667 +0.000933333 0.0009 0.00092 0.000913333 0.00092 0.00096 0.000946667 0.000953333 +0.000953333 0.000906667 0.000893333 0.0009 0.00092 0.000933333 0.000906667 0.000906667 +0.000913333 0.000953333 0.000953333 0.00094 0.000973333 0.000966667 0.000886667 0.000933333 +0.000933333 0.00092 0.00092 0.00098 0.000953333 0.00094 0.00094 0.00096 +0.000966667 0.000946667 0.000973333 0.000973333 0.00096 0.000946667 0.00096 0.00094 +0.00094 0.00094 0.000946667 0.00098 0.00098 0.000973333 0.000953333 0.000953333 +0.000933333 0.000913333 0.000926667 0.000953333 0.00098 0.00094 0.0009 0.000953333 +0.000953333 0.000926667 0.000946667 0.000966667 0.000993333 0.217893 0.000986667 0.00098 +0.00096 0.000946667 0.000973333 0.000973333 0.000986667 0.000986667 0.00098 0.217893 +0.000973333 0.00096 0.000966667 0.000973333 0.000966667 0.000953333 0.000946667 0.000933333 +0.000926667 0.000946667 0.219787 0.00098 0.000953333 0.000906667 0.00092 0.000966667 +0.000933333 0.000953333 0.000953333 0.000933333 0.000933333 0.000953333 0.000966667 0.000966667 +0.000946667 0.000986667 0.000953333 0.000993333 0.217893 0.00096 0.00098 0.000973333 +0.00098 0.00098 0.000986667 0.223573 0.223573 0.22736 0.225467 0.219787 +0.217893 0.223573 0.216 0.217893 0.22168 0.223573 0.225467 0.225467 +0.223573 0.229253 0.231147 0.240613 0.23872 0.240613 0.240613 0.246293 +0.253867 0.263333 0.270907 0.274693 0.282267 0.299307 0.322027 0.34096 +0.390187 0.519579 0.625684 0.777895 0.939579 1.00678 0.985224 0.848 +0.687579 0.569474 0.505053 0.467813 0.522737 0.59979 0.726105 0.883368 +1.0009 1.04106 1.0538 1.0502 1.01951 0.92379 0.748842 0.590947 +0.458347 0.304987 0.240613 0.216 0.00096 0.00096 0.000973333 0.000973333 +0.000933333 0.000893333 0.000906667 0.000873333 0.000873333 0.000886667 0.000873333 0.00088 +0.000886667 0.000873333 0.00084 0.00084 0.000866667 0.00086 0.00086 0.000893333 +0.000873333 0.000846667 0.000833333 0.000853333 0.00092 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000873333 0.00078 0.000786667 0.000786667 +0.000826667 0.00082 0.00082 0.000846667 0.00082 0.00082 0.000806667 0.000806667 +0.00082 0.00082 0.000826667 0.000826667 0.000826667 0.000833333 0.000833333 0.000833333 +0.000833333 0.000846667 0.00084 0.000833333 0.0009 0.0009 0.0009 0.000913333 +0.000926667 0.000966667 0.00096 0.000966667 0.000993333 0.223573 0.229253 0.26712 +0.39776 0.556211 0.708421 0.896 1.01363 1.04824 1.05543 1.044 +0.999918 0.864421 0.693895 0.566947 0.502526 0.496213 0.554947 0.672421 +0.836 0.985551 1.0182 0.983918 0.841684 0.684421 0.558105 0.462133 +0.373147 0.337173 0.316347 0.30688 0.29552 0.287947 0.274693 0.26144 +0.257653 0.251973 0.2444 0.23872 0.234933 0.229253 0.225467 0.231147 +0.225467 0.217893 0.22168 0.223573 0.229253 0.236827 0.219787 0.000986667 +0.225467 0.219787 0.219787 0.219787 0.219787 0.22168 0.22168 0.217893 +0.22168 0.223573 0.219787 0.000986667 0.000993333 0.22168 0.217893 0.219787 +0.225467 0.22168 0.216 0.00096 0.00094 0.000946667 0.000993333 0.219787 +0.000986667 0.000986667 0.217893 0.000993333 0.00098 0.000973333 0.000973333 0.000973333 +0.000993333 0.000993333 0.000993333 0.000973333 0.000933333 0.00096 0.00096 0.00094 +0.00098 0.000993333 0.000966667 0.000926667 0.000933333 0.00096 0.000946667 0.000933333 +0.00092 0.000933333 0.000946667 0.00096 0.00094 0.000946667 0.000946667 0.000913333 +0.000926667 0.000926667 0.00088 0.000853333 0.0009 0.000933333 0.000893333 0.0009 +0.00092 0.000926667 0.000933333 0.000926667 0.00094 0.000933333 0.000946667 0.219787 +0.000973333 0.0009 0.000913333 0.000946667 0.000933333 0.000926667 0.000926667 0.00092 +0.000973333 0.000973333 0.000926667 0.000913333 0.00094 0.00094 0.00092 0.000926667 +0.000946667 0.000993333 0.000966667 0.0009 0.000886667 0.00094 0.00094 0.000893333 +0.000913333 0.00094 0.000926667 0.000946667 0.000953333 0.000946667 0.00094 0.000946667 +0.000926667 0.000926667 0.000953333 0.000953333 0.000926667 0.000953333 0.000966667 0.000966667 +0.00094 0.000933333 0.00092 0.00092 0.00092 0.000893333 0.000913333 0.000926667 +0.000913333 0.000913333 0.000913333 0.000893333 0.000913333 0.000933333 0.00096 0.000886667 +0.000906667 0.00094 0.0009 0.000913333 0.000933333 0.000893333 0.000866667 0.000893333 +0.000893333 0.000913333 0.000933333 0.000933333 0.000926667 0.00094 0.000893333 0.00092 +0.0009 0.000906667 0.000946667 0.000906667 0.00086 0.00088 0.0009 0.00092 +0.000893333 0.000886667 0.000906667 0.000926667 0.000906667 0.000906667 0.000886667 0.000906667 +0.000926667 0.0009 0.000886667 0.0009 0.000926667 0.00092 0.000866667 0.000886667 +0.000893333 0.00088 0.000906667 0.000926667 0.000906667 0.000946667 0.000946667 0.00096 +0.000946667 0.000906667 0.000913333 0.000933333 0.000966667 0.000986667 0.000953333 0.00092 +0.00094 0.000893333 0.00092 0.000913333 0.000946667 0.00094 0.000946667 0.00092 +0.0009 0.000933333 0.00096 0.000926667 0.000986667 0.000973333 0.00092 0.000953333 +0.000933333 0.000933333 0.000926667 0.000953333 0.000946667 0.00094 0.00094 0.000953333 +0.000946667 0.000946667 0.00096 0.000953333 0.00096 0.00096 0.000993333 0.216 +0.00098 0.000946667 0.00096 0.000993333 0.216 0.000986667 0.00096 0.00098 +0.000973333 0.000946667 0.000966667 0.000966667 0.000966667 0.000946667 0.00092 0.000953333 +0.000953333 0.000933333 0.00094 0.000946667 0.00096 0.000993333 0.00098 0.00096 +0.000973333 0.000966667 0.00096 0.000986667 0.000966667 0.000966667 0.000986667 0.00098 +0.000953333 0.00096 0.00098 0.000973333 0.000986667 0.00098 0.000986667 0.000953333 +0.000933333 0.000946667 0.216 0.000986667 0.000953333 0.00096 0.000946667 0.000966667 +0.00092 0.000933333 0.00094 0.00092 0.000933333 0.000933333 0.000946667 0.00096 +0.00094 0.000966667 0.000973333 0.000953333 0.223573 0.216 0.000973333 0.00098 +0.000986667 0.000986667 0.00096 0.00098 0.219787 0.229253 0.231147 0.225467 +0.223573 0.223573 0.217893 0.000993333 0.219787 0.223573 0.22736 0.225467 +0.223573 0.229253 0.236827 0.236827 0.23872 0.2444 0.251973 0.248187 +0.26144 0.265227 0.276587 0.28984 0.303093 0.320133 0.348533 0.411013 +0.524632 0.629474 0.788632 0.949684 1.0071 0.981633 0.837263 0.681263 +0.563158 0.498107 0.473493 0.525895 0.607368 0.74 0.899158 1.00482 +1.04269 1.05412 1.04857 1.01559 0.906105 0.731789 0.579579 0.441307 +0.299307 0.25008 0.23304 0.000986667 0.000966667 0.00094 0.000953333 0.000966667 +0.000946667 0.00092 0.000886667 0.00088 0.000866667 0.000886667 0.000873333 0.000873333 +0.00088 0.0009 0.00088 0.00084 0.000846667 0.000866667 0.000853333 0.00088 +0.00088 0.000886667 0.00086 0.000893333 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000866667 0.000806667 0.0008 +0.00084 0.00082 0.000826667 0.000826667 0.00082 0.000833333 0.00082 0.00082 +0.000833333 0.000806667 0.0008 0.000813333 0.000826667 0.000846667 0.00084 0.000846667 +0.000846667 0.000833333 0.000833333 0.00088 0.0009 0.000853333 0.000873333 0.0009 +0.000913333 0.00094 0.000913333 0.00094 0.000973333 0.00098 0.216 0.23304 +0.276587 0.388293 0.552421 0.703368 0.888421 1.01135 1.0489 1.05478 +1.04498 1.00351 0.868842 0.698947 0.573895 0.508211 0.500632 0.556842 +0.673684 0.836632 0.985551 1.02016 0.992735 0.860632 0.690737 0.557474 +0.46592 0.3864 0.348533 0.325813 0.308773 0.29552 0.27848 0.270907 +0.269013 0.259547 0.25008 0.246293 0.23872 0.231147 0.225467 0.225467 +0.223573 0.225467 0.231147 0.23304 0.236827 0.234933 0.225467 0.225467 +0.22736 0.223573 0.223573 0.22736 0.22168 0.229253 0.22736 0.223573 +0.217893 0.217893 0.22168 0.219787 0.219787 0.219787 0.219787 0.223573 +0.217893 0.000993333 0.000986667 0.00096 0.00098 0.000993333 0.219787 0.216 +0.00098 0.219787 0.000993333 0.00096 0.000953333 0.000973333 0.000993333 0.217893 +0.22168 0.22168 0.217893 0.000953333 0.00092 0.000946667 0.000953333 0.000966667 +0.000993333 0.000966667 0.000946667 0.000946667 0.000953333 0.00096 0.00096 0.000966667 +0.000953333 0.000953333 0.000946667 0.000946667 0.000926667 0.000913333 0.00092 0.00094 +0.000946667 0.000893333 0.00086 0.00088 0.00094 0.00092 0.0009 0.00092 +0.00094 0.000973333 0.00096 0.000953333 0.00094 0.00094 0.216 0.217893 +0.00092 0.000873333 0.000926667 0.000933333 0.00092 0.000946667 0.000953333 0.000926667 +0.00096 0.000953333 0.000926667 0.00092 0.000946667 0.000966667 0.000933333 0.000933333 +0.000933333 0.000993333 0.000973333 0.00094 0.000913333 0.000913333 0.000926667 0.000893333 +0.00092 0.00094 0.000933333 0.000933333 0.000946667 0.000926667 0.000946667 0.00096 +0.000926667 0.00092 0.000973333 0.000933333 0.000913333 0.000953333 0.000973333 0.000973333 +0.000926667 0.000906667 0.000906667 0.000886667 0.000893333 0.00092 0.000953333 0.000946667 +0.000926667 0.00092 0.000913333 0.0009 0.00092 0.000933333 0.000953333 0.000913333 +0.000933333 0.00094 0.000886667 0.000913333 0.00092 0.000893333 0.00088 0.000906667 +0.000886667 0.00092 0.000913333 0.000933333 0.000946667 0.000933333 0.000893333 0.000933333 +0.000893333 0.0009 0.000933333 0.0009 0.00088 0.000893333 0.000926667 0.000933333 +0.000906667 0.0009 0.0009 0.0009 0.000906667 0.000906667 0.000926667 0.000926667 +0.000926667 0.000926667 0.000913333 0.00092 0.00094 0.000933333 0.000893333 0.0009 +0.000913333 0.000906667 0.000926667 0.00092 0.000893333 0.000953333 0.00094 0.000953333 +0.000946667 0.000886667 0.00088 0.000906667 0.000933333 0.000933333 0.00092 0.000913333 +0.000946667 0.000946667 0.000973333 0.00094 0.000893333 0.00092 0.000953333 0.000953333 +0.00092 0.00094 0.000973333 0.00094 0.00098 0.000966667 0.000933333 0.000953333 +0.000926667 0.00094 0.000966667 0.00096 0.000946667 0.000946667 0.000953333 0.000953333 +0.000953333 0.000946667 0.000946667 0.00094 0.00094 0.00094 0.000953333 0.00098 +0.000973333 0.000966667 0.000953333 0.000993333 0.216 0.00098 0.000953333 0.000946667 +0.000953333 0.000933333 0.000946667 0.000973333 0.00096 0.000946667 0.00096 0.00096 +0.000953333 0.00094 0.000933333 0.00094 0.000946667 0.000973333 0.000986667 0.000973333 +0.000993333 0.000973333 0.000953333 0.00098 0.00096 0.000946667 0.00098 0.000973333 +0.00096 0.000966667 0.216 0.216 0.216 0.00098 0.00096 0.000953333 +0.000926667 0.000946667 0.000953333 0.000973333 0.000953333 0.000986667 0.000986667 0.00096 +0.00094 0.000966667 0.000953333 0.00094 0.00094 0.000946667 0.000946667 0.000973333 +0.00096 0.000946667 0.217893 0.000966667 0.000973333 0.217893 0.216 0.22168 +0.22168 0.000986667 0.216 0.000973333 0.000993333 0.223573 0.22168 0.223573 +0.22736 0.23304 0.229253 0.22168 0.225467 0.229253 0.231147 0.229253 +0.223573 0.231147 0.240613 0.240613 0.236827 0.248187 0.259547 0.26144 +0.269013 0.27848 0.2728 0.30688 0.32392 0.358 0.435627 0.540421 +0.648421 0.8 0.954737 1.00776 0.978105 0.827789 0.668 0.558105 +0.501895 0.462133 0.527789 0.616842 0.752 0.912421 1.01069 1.04302 +1.05282 1.04563 1.00906 0.894105 0.715368 0.568211 0.422373 0.28416 +0.2444 0.231147 0.216 0.00096 0.000953333 0.00092 0.000926667 0.000933333 +0.00092 0.00092 0.000873333 0.000866667 0.000873333 0.000913333 0.000913333 0.000893333 +0.00086 0.000866667 0.000873333 0.000853333 0.000846667 0.000853333 0.00086 0.000846667 +0.000853333 0.00086 0.0009 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000893333 0.000813333 +0.000793333 0.000786667 0.000813333 0.000786667 0.000806667 0.00084 0.00082 0.000806667 +0.0008 0.000813333 0.000806667 0.000806667 0.000813333 0.000826667 0.000853333 0.00084 +0.000813333 0.000826667 0.000846667 0.000886667 0.00088 0.00086 0.000913333 0.000893333 +0.000873333 0.000906667 0.000906667 0.000913333 0.000933333 0.000953333 0.000986667 0.223573 +0.223573 0.265227 0.384507 0.548 0.697684 0.883368 1.00939 1.04694 +1.0551 1.04563 1.00482 0.880211 0.707158 0.575789 0.510737 0.505053 +0.557474 0.674947 0.836632 0.984571 1.01984 0.993714 0.861263 0.690105 +0.561895 0.473493 0.382613 0.35232 0.327707 0.30688 0.28984 0.27848 +0.2728 0.269013 0.263333 0.25576 0.246293 0.240613 0.23872 0.231147 +0.223573 0.223573 0.229253 0.23872 0.240613 0.23304 0.23872 0.23872 +0.225467 0.217893 0.219787 0.225467 0.22736 0.231147 0.22736 0.22736 +0.22736 0.22736 0.225467 0.22736 0.22168 0.219787 0.217893 0.217893 +0.217893 0.00098 0.00098 0.216 0.217893 0.000986667 0.219787 0.00098 +0.00098 0.217893 0.22168 0.000993333 0.00096 0.000986667 0.000993333 0.00098 +0.000973333 0.000993333 0.000973333 0.00092 0.00094 0.000946667 0.000966667 0.217893 +0.000973333 0.00094 0.000933333 0.00096 0.00096 0.000953333 0.000953333 0.000953333 +0.000973333 0.00096 0.000946667 0.00094 0.000913333 0.000906667 0.000913333 0.000933333 +0.000933333 0.00088 0.000853333 0.0009 0.000926667 0.000926667 0.000953333 0.000966667 +0.00096 0.000966667 0.00096 0.00096 0.000946667 0.000946667 0.219787 0.00098 +0.000906667 0.000886667 0.00092 0.000913333 0.000933333 0.000966667 0.00094 0.000926667 +0.00094 0.000933333 0.000946667 0.00094 0.000946667 0.000946667 0.00092 0.000906667 +0.000933333 0.000986667 0.000946667 0.000933333 0.000926667 0.000906667 0.0009 0.000886667 +0.0009 0.000906667 0.000913333 0.000913333 0.00094 0.00096 0.000966667 0.000933333 +0.000913333 0.000946667 0.216 0.00094 0.00094 0.000933333 0.000933333 0.000946667 +0.000926667 0.000926667 0.000913333 0.000886667 0.0009 0.000933333 0.000966667 0.00096 +0.000946667 0.000933333 0.00092 0.000926667 0.000926667 0.000926667 0.000906667 0.000893333 +0.000966667 0.000953333 0.000886667 0.00094 0.00094 0.00092 0.0009 0.000926667 +0.000913333 0.000913333 0.000913333 0.00092 0.000926667 0.000893333 0.0009 0.00096 +0.0009 0.000913333 0.000933333 0.000893333 0.000886667 0.000886667 0.000906667 0.00094 +0.00094 0.000933333 0.000906667 0.0009 0.000906667 0.000926667 0.00092 0.000926667 +0.00092 0.00094 0.000906667 0.000906667 0.00094 0.00094 0.000926667 0.000933333 +0.00092 0.000906667 0.000933333 0.000913333 0.0009 0.000953333 0.000946667 0.000946667 +0.000933333 0.0009 0.000886667 0.000913333 0.0009 0.000886667 0.0009 0.000926667 +0.000946667 0.000946667 0.00096 0.000946667 0.0009 0.000933333 0.000926667 0.000953333 +0.000926667 0.00094 0.00096 0.00096 0.00096 0.000973333 0.000926667 0.000953333 +0.000913333 0.00092 0.000953333 0.000946667 0.000953333 0.00096 0.000953333 0.000946667 +0.000933333 0.000933333 0.000933333 0.000953333 0.000953333 0.000933333 0.000926667 0.00094 +0.000953333 0.000946667 0.000926667 0.00096 0.00096 0.000966667 0.000953333 0.000933333 +0.00096 0.00096 0.00094 0.00098 0.000966667 0.000966667 0.00098 0.00096 +0.00094 0.00094 0.000946667 0.000966667 0.000966667 0.000953333 0.000973333 0.00098 +0.000993333 0.00098 0.000953333 0.216 0.22168 0.000986667 0.217893 0.00098 +0.000973333 0.00096 0.000973333 0.000966667 0.000953333 0.000966667 0.000953333 0.00098 +0.000966667 0.00098 0.000953333 0.000953333 0.000966667 0.216 0.000993333 0.000973333 +0.000966667 0.000993333 0.000993333 0.000966667 0.00096 0.000953333 0.000953333 0.00096 +0.00096 0.000953333 0.00098 0.000986667 0.000966667 0.000966667 0.000986667 0.000993333 +0.223573 0.216 0.223573 0.219787 0.000973333 0.223573 0.219787 0.219787 +0.229253 0.236827 0.234933 0.231147 0.231147 0.234933 0.23872 0.234933 +0.23304 0.23304 0.240613 0.234933 0.246293 0.251973 0.26144 0.269013 +0.27848 0.28984 0.3012 0.331493 0.365573 0.439413 0.548632 0.665474 +0.820842 0.968632 1.00743 0.968632 0.818316 0.660421 0.547368 0.484853 +0.48864 0.534105 0.621263 0.761474 0.923158 1.01461 1.04498 1.05347 +1.044 1.00253 0.877053 0.698316 0.553684 0.411013 0.276587 0.225467 +0.219787 0.217893 0.000973333 0.00094 0.00094 0.000926667 0.000913333 0.000933333 +0.00092 0.0009 0.000873333 0.00084 0.00086 0.000886667 0.000866667 0.000873333 +0.00088 0.000873333 0.000846667 0.00086 0.000846667 0.000846667 0.00086 0.00084 +0.000866667 0.00092 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000893333 +0.00084 0.00082 0.0008 0.00082 0.000853333 0.0008 0.00078 0.000793333 +0.000813333 0.000833333 0.000813333 0.000826667 0.000833333 0.000826667 0.000846667 0.000806667 +0.000806667 0.00084 0.000853333 0.000846667 0.000866667 0.0009 0.000893333 0.00086 +0.000853333 0.000886667 0.000893333 0.00088 0.000906667 0.000953333 0.000973333 0.216 +0.216 0.23304 0.265227 0.373147 0.542947 0.688842 0.876421 1.00776 +1.04531 1.05347 1.04661 1.00873 0.884 0.709684 0.578316 0.512 +0.505684 0.555579 0.668632 0.829053 0.981306 1.01886 0.99502 0.873263 +0.705895 0.568211 0.48296 0.399653 0.35232 0.327707 0.30688 0.286053 +0.270907 0.263333 0.265227 0.270907 0.26144 0.246293 0.2444 0.2444 +0.234933 0.229253 0.231147 0.229253 0.231147 0.234933 0.242507 0.234933 +0.225467 0.229253 0.231147 0.225467 0.22736 0.223573 0.22168 0.217893 +0.22168 0.229253 0.225467 0.229253 0.225467 0.22736 0.22168 0.216 +0.216 0.000993333 0.000993333 0.219787 0.217893 0.000993333 0.217893 0.000966667 +0.000986667 0.216 0.219787 0.000993333 0.00098 0.000973333 0.000993333 0.216 +0.000966667 0.00098 0.000946667 0.000933333 0.000973333 0.000946667 0.000966667 0.000973333 +0.00094 0.00094 0.00096 0.000966667 0.000933333 0.00096 0.000966667 0.000913333 +0.000926667 0.00092 0.000933333 0.00094 0.000926667 0.000933333 0.000933333 0.000913333 +0.000906667 0.0009 0.000913333 0.000933333 0.000933333 0.00096 0.000993333 0.000973333 +0.00098 0.000966667 0.000973333 0.000953333 0.000946667 0.00098 0.217893 0.00096 +0.000926667 0.000946667 0.000933333 0.000913333 0.000906667 0.000926667 0.00092 0.000926667 +0.000913333 0.000886667 0.00092 0.000933333 0.00096 0.000933333 0.000933333 0.000906667 +0.000946667 0.000946667 0.000926667 0.000926667 0.000933333 0.000933333 0.000893333 0.000906667 +0.000926667 0.000926667 0.00092 0.000933333 0.00094 0.000966667 0.000993333 0.000926667 +0.000886667 0.00094 0.000973333 0.00092 0.000933333 0.000926667 0.000926667 0.000926667 +0.00092 0.000933333 0.000913333 0.000893333 0.000913333 0.00094 0.000966667 0.000966667 +0.000946667 0.00094 0.000946667 0.000933333 0.000946667 0.000953333 0.0009 0.0009 +0.000966667 0.000926667 0.000886667 0.000946667 0.000953333 0.000946667 0.000913333 0.000926667 +0.00092 0.00094 0.00094 0.00092 0.00092 0.000913333 0.000926667 0.00096 +0.000886667 0.00092 0.000926667 0.00088 0.0009 0.000906667 0.000933333 0.000933333 +0.000933333 0.00094 0.000926667 0.000906667 0.000926667 0.00094 0.000893333 0.000906667 +0.000913333 0.000906667 0.000853333 0.000873333 0.0009 0.00092 0.00092 0.000926667 +0.00092 0.000893333 0.000933333 0.000933333 0.000926667 0.00096 0.000946667 0.00096 +0.000933333 0.000913333 0.000913333 0.000946667 0.000946667 0.000953333 0.000933333 0.00094 +0.00094 0.000946667 0.00094 0.00092 0.000926667 0.000926667 0.0009 0.000933333 +0.000953333 0.000953333 0.00098 0.000933333 0.00094 0.00096 0.000926667 0.00094 +0.000933333 0.000926667 0.000926667 0.00094 0.00094 0.000973333 0.00094 0.00092 +0.000933333 0.000933333 0.000906667 0.000953333 0.00098 0.000946667 0.00094 0.00096 +0.00096 0.00094 0.000953333 0.000953333 0.000966667 0.000966667 0.00096 0.00094 +0.000973333 0.00098 0.00094 0.000973333 0.000993333 0.000993333 0.000993333 0.00096 +0.000926667 0.000933333 0.00094 0.000966667 0.000973333 0.000953333 0.00098 0.216 +0.00098 0.000986667 0.000973333 0.000973333 0.219787 0.216 0.00098 0.000973333 +0.000973333 0.000973333 0.000973333 0.00096 0.00094 0.000986667 0.00096 0.000986667 +0.000986667 0.000993333 0.000966667 0.00096 0.000986667 0.219787 0.000986667 0.000966667 +0.00098 0.000986667 0.000973333 0.000966667 0.00098 0.00096 0.00098 0.000966667 +0.00094 0.00096 0.000973333 0.00096 0.000953333 0.000946667 0.000973333 0.000966667 +0.00096 0.000973333 0.216 0.22736 0.216 0.223573 0.229253 0.223573 +0.225467 0.22168 0.23304 0.234933 0.236827 0.236827 0.240613 0.242507 +0.2444 0.253867 0.25008 0.2444 0.25008 0.26144 0.269013 0.287947 +0.299307 0.310667 0.322027 0.361787 0.446987 0.550526 0.671789 0.833474 +0.978105 1.00776 0.959789 0.808211 0.656632 0.544842 0.473493 0.47728 +0.537263 0.633263 0.776632 0.935789 1.01951 1.04727 1.05151 1.04073 +0.997959 0.858105 0.686947 0.544842 0.371253 0.27848 0.240613 0.219787 +0.000953333 0.00094 0.00096 0.00094 0.000913333 0.000906667 0.000893333 0.000906667 +0.000926667 0.000886667 0.000886667 0.00086 0.000853333 0.000893333 0.00088 0.00086 +0.000866667 0.000913333 0.000886667 0.000853333 0.00084 0.00084 0.000886667 0.00088 +0.00092 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000926667 0.000873333 0.00078 0.00082 0.000826667 0.00078 0.000806667 0.000833333 +0.00082 0.0008 0.000813333 0.000846667 0.000833333 0.000826667 0.000833333 0.000813333 +0.00084 0.00084 0.000826667 0.00082 0.00086 0.00086 0.000853333 0.000873333 +0.000866667 0.000853333 0.000886667 0.000906667 0.000913333 0.0009 0.00094 0.000993333 +0.000993333 0.219787 0.23304 0.270907 0.365573 0.534737 0.681895 0.870105 +1.00384 1.04498 1.05478 1.04727 1.00971 0.888421 0.714105 0.582105 +0.515158 0.503158 0.548632 0.662316 0.824 0.977474 1.01918 1.0022 +0.889684 0.723579 0.595368 0.522737 0.45456 0.393973 0.34664 0.31256 +0.287947 0.2728 0.274693 0.282267 0.274693 0.257653 0.246293 0.248187 +0.246293 0.234933 0.236827 0.231147 0.229253 0.234933 0.23872 0.231147 +0.22736 0.234933 0.234933 0.234933 0.231147 0.223573 0.225467 0.216 +0.219787 0.223573 0.22736 0.225467 0.219787 0.22168 0.22168 0.216 +0.219787 0.22168 0.223573 0.217893 0.219787 0.217893 0.000966667 0.000973333 +0.000993333 0.000986667 0.000993333 0.00098 0.000966667 0.00094 0.00096 0.000986667 +0.000973333 0.000966667 0.000933333 0.000973333 0.00096 0.000926667 0.000973333 0.00098 +0.00094 0.000933333 0.000973333 0.000973333 0.000946667 0.00096 0.00094 0.000913333 +0.000913333 0.0009 0.000933333 0.000926667 0.000913333 0.00092 0.000933333 0.00094 +0.00092 0.000913333 0.000973333 0.00096 0.00094 0.000973333 0.000986667 0.000993333 +0.000966667 0.000953333 0.000953333 0.00092 0.00096 0.216 0.000986667 0.000946667 +0.000926667 0.000946667 0.000926667 0.0009 0.00092 0.000913333 0.000946667 0.000946667 +0.000906667 0.00088 0.00092 0.000946667 0.00096 0.00094 0.000933333 0.000926667 +0.000973333 0.000953333 0.000926667 0.00094 0.000966667 0.00096 0.000893333 0.000926667 +0.000953333 0.000966667 0.000933333 0.000946667 0.000946667 0.000966667 0.000966667 0.0009 +0.0009 0.000953333 0.000933333 0.000886667 0.00092 0.00092 0.000966667 0.000913333 +0.000913333 0.00094 0.000933333 0.000893333 0.000906667 0.00096 0.000973333 0.000933333 +0.000926667 0.0009 0.000906667 0.000893333 0.000926667 0.000966667 0.000913333 0.000926667 +0.00096 0.00092 0.000906667 0.000946667 0.000933333 0.00094 0.000933333 0.000926667 +0.000933333 0.000953333 0.00094 0.00092 0.000946667 0.000946667 0.000953333 0.000946667 +0.000886667 0.00092 0.000926667 0.0009 0.000913333 0.000913333 0.00094 0.000933333 +0.000913333 0.000926667 0.000926667 0.000906667 0.000926667 0.000933333 0.000866667 0.000913333 +0.00092 0.0009 0.00086 0.0009 0.00092 0.000913333 0.000906667 0.00092 +0.000953333 0.000926667 0.000946667 0.00094 0.000926667 0.000953333 0.00092 0.00096 +0.000946667 0.000926667 0.000913333 0.000926667 0.000953333 0.000966667 0.000946667 0.000926667 +0.000933333 0.000946667 0.000953333 0.000926667 0.000933333 0.00092 0.000906667 0.000953333 +0.000953333 0.000973333 0.000993333 0.000906667 0.000926667 0.000953333 0.000933333 0.00096 +0.000966667 0.000953333 0.000946667 0.000953333 0.00096 0.00098 0.000953333 0.000946667 +0.000946667 0.000946667 0.000906667 0.00094 0.00096 0.000926667 0.00094 0.00096 +0.000946667 0.000926667 0.000953333 0.00094 0.00096 0.000953333 0.00094 0.00092 +0.000953333 0.000953333 0.00092 0.000953333 0.216 0.000993333 0.000986667 0.000973333 +0.000953333 0.00096 0.000946667 0.000953333 0.000973333 0.00096 0.000993333 0.216 +0.000966667 0.000986667 0.000973333 0.00096 0.000986667 0.000993333 0.000953333 0.00096 +0.00098 0.217893 0.000993333 0.000966667 0.000926667 0.00098 0.00096 0.00096 +0.000986667 0.00098 0.000953333 0.000966667 0.000986667 0.223573 0.217893 0.00096 +0.000973333 0.000986667 0.216 0.000993333 0.217893 0.000986667 0.000973333 0.000973333 +0.00096 0.000946667 0.00096 0.000986667 0.00098 0.000966667 0.00096 0.00098 +0.000966667 0.00098 0.000973333 0.217893 0.223573 0.216 0.229253 0.225467 +0.217893 0.219787 0.231147 0.240613 0.240613 0.2444 0.248187 0.251973 +0.25008 0.251973 0.253867 0.253867 0.263333 0.2728 0.282267 0.297413 +0.310667 0.327707 0.376933 0.475387 0.565053 0.686316 0.841053 0.98098 +1.00645 0.950316 0.794947 0.644632 0.541684 0.4716 0.475387 0.543579 +0.643368 0.790526 0.950316 1.02343 1.04792 1.05347 1.03878 0.989796 +0.841053 0.666105 0.534105 0.373147 0.265227 0.23304 0.229253 0.22168 +0.00094 0.00092 0.000926667 0.000893333 0.000913333 0.0009 0.000906667 0.0009 +0.000893333 0.00088 0.000853333 0.000846667 0.000846667 0.000866667 0.00088 0.000866667 +0.000853333 0.000853333 0.00086 0.00086 0.00084 0.000826667 0.000893333 0.00092 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00088 0.00082 0.00076 0.0008 0.000833333 0.00086 0.00082 +0.000793333 0.000806667 0.000826667 0.00082 0.000806667 0.00082 0.000806667 0.000806667 +0.000813333 0.000813333 0.000813333 0.000826667 0.00086 0.000846667 0.000866667 0.000866667 +0.000826667 0.000846667 0.000886667 0.000913333 0.000906667 0.000873333 0.000913333 0.00096 +0.000966667 0.00098 0.217893 0.23304 0.263333 0.359893 0.532842 0.673684 +0.858105 1.0009 1.04367 1.05412 1.04727 1.01167 0.897263 0.722947 +0.584632 0.512632 0.500632 0.548 0.656 0.815158 0.975579 1.02278 +1.00873 0.914316 0.772842 0.673684 0.610526 0.563158 0.511368 0.407227 +0.333387 0.30688 0.29552 0.286053 0.276587 0.265227 0.25576 0.25576 +0.251973 0.2444 0.246293 0.2444 0.242507 0.234933 0.231147 0.22736 +0.229253 0.236827 0.234933 0.236827 0.231147 0.22736 0.231147 0.223573 +0.229253 0.229253 0.225467 0.219787 0.000993333 0.219787 0.223573 0.22168 +0.223573 0.223573 0.22736 0.219787 0.219787 0.217893 0.000966667 0.219787 +0.225467 0.219787 0.217893 0.000973333 0.000973333 0.00096 0.00098 0.000993333 +0.000986667 0.000946667 0.000933333 0.000953333 0.000933333 0.000933333 0.000953333 0.00094 +0.000953333 0.00096 0.000966667 0.000953333 0.00096 0.000933333 0.000906667 0.000913333 +0.000913333 0.000946667 0.00094 0.000906667 0.0009 0.000913333 0.000946667 0.000953333 +0.000933333 0.000926667 0.00096 0.00094 0.000913333 0.000953333 0.00096 0.000973333 +0.00094 0.00094 0.000906667 0.000906667 0.00096 0.000986667 0.000946667 0.0009 +0.000893333 0.000926667 0.000906667 0.000913333 0.00094 0.000926667 0.00094 0.000953333 +0.00092 0.000906667 0.00092 0.000953333 0.000973333 0.000946667 0.000953333 0.000966667 +0.000973333 0.000933333 0.000946667 0.000953333 0.000973333 0.000966667 0.000906667 0.00092 +0.00096 0.000973333 0.000926667 0.00094 0.00092 0.000913333 0.000926667 0.000913333 +0.000933333 0.000973333 0.0009 0.0009 0.00094 0.000946667 0.000946667 0.000906667 +0.000933333 0.000946667 0.000953333 0.000906667 0.00092 0.00096 0.000973333 0.00092 +0.00092 0.000913333 0.000893333 0.0009 0.000946667 0.000953333 0.00092 0.000946667 +0.00098 0.000926667 0.00092 0.00094 0.000906667 0.000926667 0.000913333 0.000913333 +0.000906667 0.000933333 0.000933333 0.00094 0.00098 0.00094 0.000933333 0.000946667 +0.00092 0.00094 0.00092 0.000906667 0.000913333 0.000906667 0.000933333 0.000933333 +0.000906667 0.000906667 0.000926667 0.000913333 0.000933333 0.00092 0.000886667 0.00092 +0.000953333 0.000926667 0.0009 0.000946667 0.000933333 0.000913333 0.000913333 0.000926667 +0.000933333 0.00092 0.000933333 0.000926667 0.00092 0.000946667 0.000926667 0.000953333 +0.00096 0.000933333 0.00092 0.000913333 0.000946667 0.000953333 0.00094 0.000906667 +0.00092 0.000953333 0.000946667 0.000946667 0.000926667 0.000926667 0.000906667 0.000953333 +0.00094 0.00094 0.000953333 0.000906667 0.000926667 0.000953333 0.000926667 0.000966667 +0.000973333 0.000966667 0.00094 0.000973333 0.000973333 0.000973333 0.000973333 0.000966667 +0.00092 0.000946667 0.000946667 0.000953333 0.000946667 0.000913333 0.00094 0.00098 +0.000966667 0.000953333 0.000966667 0.000946667 0.000946667 0.000953333 0.00094 0.000946667 +0.00096 0.00094 0.000906667 0.000926667 0.217893 0.219787 0.000973333 0.00096 +0.00094 0.000973333 0.000986667 0.00096 0.000986667 0.000973333 0.00098 0.000993333 +0.00096 0.00096 0.00096 0.00098 0.216 0.000993333 0.000946667 0.00096 +0.000986667 0.000993333 0.000986667 0.00098 0.00094 0.000973333 0.000973333 0.000966667 +0.000966667 0.000966667 0.000946667 0.000973333 0.216 0.217893 0.000993333 0.000986667 +0.216 0.00098 0.000993333 0.219787 0.217893 0.223573 0.219787 0.000986667 +0.216 0.000986667 0.00094 0.000966667 0.000993333 0.00098 0.00098 0.000993333 +0.000986667 0.000986667 0.000973333 0.000973333 0.000993333 0.000993333 0.22168 0.234933 +0.22736 0.22736 0.23304 0.229253 0.242507 0.246293 0.25576 0.257653 +0.251973 0.25576 0.25576 0.265227 0.27848 0.286053 0.303093 0.314453 +0.333387 0.371253 0.498107 0.585263 0.717263 0.870105 0.985878 1.00286 +0.938316 0.784211 0.637053 0.537895 0.473493 0.48864 0.550526 0.653474 +0.803789 0.959789 1.02571 1.04955 1.05216 1.03551 0.984571 0.825895 +0.654105 0.524632 0.361787 0.263333 0.23872 0.223573 0.000986667 0.000946667 +0.000913333 0.000933333 0.00092 0.000886667 0.000906667 0.000873333 0.000866667 0.000866667 +0.00088 0.0009 0.00088 0.000846667 0.000826667 0.000846667 0.000833333 0.000853333 +0.000866667 0.000846667 0.00084 0.000853333 0.000833333 0.00086 0.00092 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.0009 0.000866667 0.0008 0.00084 0.000826667 0.000786667 +0.000793333 0.000833333 0.000806667 0.000786667 0.000806667 0.000813333 0.000813333 0.0008 +0.0008 0.000833333 0.00082 0.00082 0.000833333 0.000846667 0.00088 0.000846667 +0.000846667 0.000886667 0.00088 0.000873333 0.0009 0.000906667 0.0009 0.00094 +0.00098 0.00098 0.00096 0.00098 0.22736 0.26144 0.35232 0.523368 +0.665474 0.853053 0.998612 1.04237 1.05412 1.04955 1.01396 0.903579 +0.728632 0.585895 0.513895 0.501263 0.542947 0.648421 0.803789 0.964842 +1.02343 1.01853 0.972421 0.894737 0.830316 0.759579 0.666737 0.571368 +0.496213 0.382613 0.3296 0.303093 0.28984 0.280373 0.2728 0.269013 +0.263333 0.257653 0.25576 0.251973 0.25008 0.246293 0.240613 0.23304 +0.231147 0.234933 0.240613 0.236827 0.22736 0.231147 0.22736 0.223573 +0.223573 0.22736 0.231147 0.223573 0.22168 0.223573 0.223573 0.22168 +0.219787 0.225467 0.229253 0.217893 0.219787 0.216 0.000986667 0.22168 +0.219787 0.217893 0.219787 0.217893 0.217893 0.000993333 0.000993333 0.000986667 +0.000946667 0.000933333 0.00096 0.00096 0.000953333 0.00098 0.000953333 0.000926667 +0.000953333 0.000953333 0.00094 0.000953333 0.000953333 0.000906667 0.000926667 0.000946667 +0.000906667 0.00094 0.00094 0.000926667 0.000946667 0.000953333 0.000966667 0.000953333 +0.00094 0.00096 0.000973333 0.000953333 0.00096 0.000973333 0.000953333 0.000946667 +0.000933333 0.00092 0.000886667 0.000933333 0.000966667 0.000973333 0.000933333 0.0009 +0.00092 0.000933333 0.000893333 0.000913333 0.000946667 0.000933333 0.00094 0.000946667 +0.00094 0.000926667 0.0009 0.000926667 0.000986667 0.00098 0.00096 0.000966667 +0.00094 0.000906667 0.000946667 0.00096 0.000966667 0.00094 0.00096 0.000946667 +0.000926667 0.000946667 0.000926667 0.000926667 0.000913333 0.00094 0.000926667 0.000926667 +0.000953333 0.000953333 0.00088 0.000906667 0.000946667 0.000966667 0.000946667 0.000913333 +0.000926667 0.000913333 0.00092 0.0009 0.00092 0.000966667 0.00096 0.000926667 +0.000926667 0.000926667 0.000926667 0.000913333 0.000966667 0.000946667 0.000913333 0.000953333 +0.000973333 0.000926667 0.000946667 0.00094 0.000906667 0.000926667 0.000913333 0.00092 +0.00094 0.000953333 0.000926667 0.000933333 0.000973333 0.000933333 0.000933333 0.00094 +0.000926667 0.000946667 0.000906667 0.0009 0.000926667 0.00092 0.000933333 0.000933333 +0.000933333 0.000926667 0.000926667 0.000926667 0.000946667 0.000946667 0.000933333 0.000946667 +0.000946667 0.00094 0.00092 0.000953333 0.000946667 0.000926667 0.000913333 0.000926667 +0.000926667 0.0009 0.000926667 0.00092 0.00092 0.000933333 0.00094 0.00096 +0.000986667 0.00094 0.00092 0.000906667 0.00094 0.00096 0.000946667 0.00094 +0.000946667 0.000966667 0.000953333 0.00096 0.000913333 0.00092 0.000893333 0.000946667 +0.00096 0.00094 0.000953333 0.000906667 0.000933333 0.000953333 0.00092 0.000933333 +0.000966667 0.000966667 0.000946667 0.000973333 0.00096 0.000946667 0.00098 0.000953333 +0.0009 0.000953333 0.000973333 0.000966667 0.00096 0.000926667 0.000953333 0.00096 +0.00098 0.00098 0.00098 0.000966667 0.000946667 0.000966667 0.000946667 0.000953333 +0.00098 0.000926667 0.0009 0.000913333 0.000993333 0.219787 0.00096 0.000946667 +0.000946667 0.000953333 0.000973333 0.000946667 0.000973333 0.216 0.00098 0.000986667 +0.000993333 0.000946667 0.000966667 0.00098 0.000973333 0.000966667 0.00094 0.000953333 +0.216 0.217893 0.000993333 0.217893 0.000973333 0.000966667 0.00098 0.00098 +0.217893 0.000986667 0.000953333 0.000946667 0.00098 0.219787 0.217893 0.219787 +0.223573 0.216 0.000973333 0.000993333 0.00098 0.217893 0.225467 0.217893 +0.22168 0.219787 0.00096 0.000966667 0.22168 0.219787 0.219787 0.217893 +0.216 0.00098 0.000946667 0.216 0.219787 0.219787 0.225467 0.231147 +0.23872 0.231147 0.236827 0.240613 0.23872 0.251973 0.253867 0.257653 +0.26144 0.265227 0.269013 0.274693 0.293627 0.31256 0.3296 0.354213 +0.390187 0.49432 0.585895 0.731789 0.891579 0.994367 1.0009 0.92379 +0.770316 0.627579 0.532842 0.479173 0.505684 0.561263 0.671789 0.820842 +0.971789 1.02735 1.04824 1.05151 1.0342 0.980653 0.810737 0.641474 +0.516421 0.33528 0.263333 0.231147 0.22168 0.22168 0.000986667 0.00094 +0.000893333 0.000886667 0.000873333 0.000866667 0.00086 0.000886667 0.00086 0.000846667 +0.000846667 0.000873333 0.0009 0.00088 0.000853333 0.00088 0.000853333 0.000826667 +0.000846667 0.00084 0.00082 0.00082 0.0009 0.0009 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.00088 0.000786667 0.000793333 0.0008 +0.000806667 0.000813333 0.00078 0.000773333 0.00082 0.000826667 0.000813333 0.000806667 +0.00082 0.000846667 0.000826667 0.000813333 0.000806667 0.000826667 0.000846667 0.00082 +0.00086 0.000913333 0.000893333 0.000893333 0.000913333 0.000886667 0.000873333 0.000926667 +0.000946667 0.000953333 0.000966667 0.000973333 0.000973333 0.22168 0.253867 0.342853 +0.522737 0.661684 0.844842 0.99502 1.04041 1.05412 1.04922 1.01592 +0.910526 0.733053 0.590316 0.515158 0.501895 0.541684 0.637053 0.791158 +0.955368 1.02212 1.03518 1.02278 1.00612 0.981633 0.892211 0.758947 +0.625684 0.524 0.39776 0.333387 0.31256 0.29552 0.282267 0.274693 +0.270907 0.26712 0.259547 0.257653 0.257653 0.253867 0.248187 0.23872 +0.234933 0.23304 0.240613 0.236827 0.23304 0.234933 0.229253 0.234933 +0.231147 0.229253 0.225467 0.219787 0.225467 0.229253 0.22736 0.229253 +0.223573 0.231147 0.229253 0.000993333 0.00098 0.216 0.000993333 0.00098 +0.000973333 0.00098 0.219787 0.22736 0.22168 0.216 0.00098 0.000966667 +0.000926667 0.00094 0.00096 0.00094 0.000966667 0.216 0.00096 0.00094 +0.000946667 0.000926667 0.00092 0.000933333 0.000913333 0.00092 0.00096 0.000946667 +0.00094 0.00094 0.000966667 0.00098 0.00098 0.00096 0.00094 0.000933333 +0.000953333 0.000986667 0.000966667 0.000946667 0.000966667 0.00096 0.000966667 0.00094 +0.000953333 0.0009 0.00088 0.000946667 0.000953333 0.000933333 0.000933333 0.00094 +0.000946667 0.000926667 0.000906667 0.000946667 0.000933333 0.000933333 0.00094 0.000946667 +0.00096 0.00096 0.000913333 0.000933333 0.000946667 0.000946667 0.000973333 0.216 +0.00096 0.000926667 0.000926667 0.00094 0.00094 0.000913333 0.000953333 0.00096 +0.000946667 0.000926667 0.000933333 0.00094 0.000933333 0.000946667 0.000913333 0.000926667 +0.00096 0.000966667 0.000906667 0.000906667 0.000933333 0.000966667 0.000933333 0.000946667 +0.000933333 0.000913333 0.0009 0.00088 0.000926667 0.000966667 0.000946667 0.00094 +0.000946667 0.00094 0.00094 0.000926667 0.000946667 0.00094 0.000933333 0.00098 +0.000986667 0.00092 0.000933333 0.000926667 0.000926667 0.00096 0.00094 0.000926667 +0.000933333 0.00094 0.000933333 0.000933333 0.000966667 0.00094 0.000953333 0.00092 +0.000913333 0.00094 0.000913333 0.000906667 0.000906667 0.000926667 0.00094 0.00092 +0.00094 0.00094 0.000913333 0.000893333 0.000946667 0.000966667 0.00094 0.000926667 +0.00094 0.00094 0.000946667 0.00096 0.000973333 0.000946667 0.000926667 0.00092 +0.000926667 0.0009 0.00092 0.000913333 0.000926667 0.00094 0.000926667 0.00096 +0.000966667 0.000946667 0.00092 0.00092 0.000933333 0.000953333 0.000946667 0.000933333 +0.000953333 0.000953333 0.000946667 0.000946667 0.000933333 0.000906667 0.000913333 0.000926667 +0.000966667 0.000933333 0.000973333 0.000926667 0.00094 0.00094 0.000913333 0.000913333 +0.000946667 0.000953333 0.00096 0.000993333 0.00098 0.00096 0.000986667 0.000933333 +0.000906667 0.000946667 0.000966667 0.00096 0.000966667 0.000946667 0.000953333 0.000946667 +0.00098 0.00098 0.000966667 0.000973333 0.000953333 0.000966667 0.00096 0.000946667 +0.00096 0.000946667 0.000926667 0.000926667 0.000993333 0.223573 0.000973333 0.000946667 +0.000966667 0.000966667 0.000946667 0.00094 0.00096 0.22168 0.217893 0.000986667 +0.219787 0.000966667 0.000966667 0.000966667 0.000966667 0.00098 0.216 0.000993333 +0.000993333 0.217893 0.000993333 0.000993333 0.000986667 0.00098 0.000993333 0.217893 +0.217893 0.00098 0.000953333 0.000953333 0.000973333 0.00098 0.217893 0.225467 +0.223573 0.217893 0.216 0.000986667 0.000973333 0.000986667 0.22168 0.216 +0.216 0.22168 0.217893 0.000986667 0.225467 0.219787 0.000973333 0.217893 +0.22168 0.225467 0.216 0.219787 0.23304 0.225467 0.217893 0.22168 +0.225467 0.23304 0.23304 0.246293 0.2444 0.2444 0.26144 0.257653 +0.26712 0.269013 0.280373 0.293627 0.316347 0.359893 0.388293 0.43184 +0.510105 0.589684 0.734316 0.901053 0.998286 0.998286 0.908 0.751368 +0.613053 0.527789 0.479173 0.508211 0.577684 0.693263 0.843579 0.983918 +1.03127 1.04922 1.05086 1.02931 0.964211 0.798105 0.626947 0.505684 +0.331493 0.248187 0.225467 0.216 0.00098 0.000953333 0.000933333 0.00092 +0.000913333 0.000906667 0.00086 0.000846667 0.000833333 0.000853333 0.00088 0.000853333 +0.00084 0.000846667 0.000853333 0.000846667 0.00084 0.000873333 0.00086 0.00086 +0.000866667 0.000846667 0.0008 0.00088 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000866667 0.00078 0.000786667 +0.000793333 0.000813333 0.0008 0.000806667 0.000833333 0.000813333 0.000793333 0.000786667 +0.000793333 0.000813333 0.000826667 0.000833333 0.000826667 0.00082 0.00084 0.00084 +0.000873333 0.000873333 0.000846667 0.00088 0.000906667 0.00088 0.000906667 0.00092 +0.000893333 0.00092 0.000946667 0.000953333 0.00094 0.000966667 0.231147 0.270907 +0.344747 0.518316 0.654737 0.836 0.991102 1.04073 1.05576 1.04922 +1.01624 0.914947 0.739368 0.594105 0.517684 0.498107 0.531579 0.625684 +0.769684 0.927579 1.01886 1.04824 1.05151 1.04824 1.02833 0.970526 +0.813895 0.647158 0.530316 0.424267 0.354213 0.322027 0.303093 0.287947 +0.280373 0.280373 0.2728 0.259547 0.253867 0.25008 0.242507 0.25008 +0.25008 0.2444 0.234933 0.22736 0.23304 0.231147 0.231147 0.23872 +0.231147 0.225467 0.223573 0.229253 0.229253 0.225467 0.225467 0.229253 +0.223573 0.223573 0.225467 0.223573 0.000993333 0.217893 0.000993333 0.00096 +0.00096 0.00098 0.216 0.223573 0.223573 0.223573 0.000973333 0.000953333 +0.00096 0.000973333 0.000966667 0.000966667 0.000993333 0.000973333 0.000926667 0.00096 +0.000946667 0.000933333 0.000926667 0.00092 0.00092 0.000946667 0.00094 0.000933333 +0.000946667 0.00094 0.000973333 0.000986667 0.000953333 0.00094 0.00094 0.000946667 +0.00096 0.000973333 0.00096 0.000966667 0.00096 0.000926667 0.000946667 0.00092 +0.000946667 0.000906667 0.00092 0.000966667 0.000966667 0.000946667 0.000933333 0.000926667 +0.000906667 0.000893333 0.000926667 0.000973333 0.00096 0.000946667 0.000933333 0.000933333 +0.000953333 0.000986667 0.000966667 0.000966667 0.000906667 0.0009 0.000973333 0.219787 +0.000986667 0.000986667 0.00094 0.00096 0.000933333 0.000886667 0.00092 0.000973333 +0.000973333 0.000926667 0.000946667 0.000953333 0.000946667 0.000946667 0.000926667 0.000926667 +0.000973333 0.000973333 0.00092 0.000926667 0.000946667 0.00096 0.00094 0.000946667 +0.000926667 0.000933333 0.000906667 0.0009 0.000953333 0.00098 0.00094 0.000933333 +0.00096 0.000953333 0.00092 0.000926667 0.000946667 0.00094 0.000953333 0.000986667 +0.000973333 0.000913333 0.00094 0.00092 0.0009 0.000933333 0.00092 0.000926667 +0.00094 0.000953333 0.00094 0.000946667 0.000926667 0.000906667 0.00096 0.000933333 +0.000926667 0.00094 0.00092 0.000926667 0.0009 0.000926667 0.00096 0.000946667 +0.000946667 0.000966667 0.000933333 0.0009 0.000946667 0.000966667 0.000913333 0.000933333 +0.00094 0.000926667 0.00094 0.00096 0.000953333 0.000946667 0.000926667 0.000933333 +0.000946667 0.0009 0.000953333 0.000913333 0.000926667 0.00094 0.000913333 0.00096 +0.000933333 0.000933333 0.00094 0.000926667 0.000966667 0.000973333 0.000966667 0.000946667 +0.000973333 0.000953333 0.00094 0.000946667 0.000946667 0.000946667 0.000933333 0.00094 +0.000953333 0.00092 0.00096 0.000933333 0.00094 0.000966667 0.000933333 0.000926667 +0.000946667 0.000946667 0.00094 0.00096 0.000973333 0.00096 0.00096 0.00092 +0.000926667 0.000973333 0.00098 0.000953333 0.000946667 0.000953333 0.000933333 0.00094 +0.00096 0.000953333 0.00094 0.00096 0.000933333 0.00094 0.00096 0.000946667 +0.000953333 0.000966667 0.00096 0.00096 0.216 0.219787 0.00098 0.00096 +0.00098 0.00098 0.00094 0.00094 0.000953333 0.216 0.219787 0.000966667 +0.000986667 0.000973333 0.00096 0.000946667 0.000966667 0.000973333 0.219787 0.22168 +0.22168 0.223573 0.000993333 0.000986667 0.216 0.00098 0.000966667 0.000993333 +0.000986667 0.000953333 0.000953333 0.000986667 0.216 0.000973333 0.000986667 0.223573 +0.223573 0.000986667 0.217893 0.217893 0.000993333 0.217893 0.223573 0.223573 +0.219787 0.219787 0.219787 0.000973333 0.217893 0.225467 0.000993333 0.219787 +0.225467 0.225467 0.234933 0.23304 0.229253 0.23304 0.223573 0.22168 +0.231147 0.229253 0.231147 0.23872 0.251973 0.26144 0.26712 0.274693 +0.27848 0.286053 0.303093 0.337173 0.401547 0.507579 0.545474 0.575789 +0.637053 0.755789 0.909895 0.999592 0.994694 0.892211 0.734947 0.602316 +0.520842 0.47728 0.516421 0.588421 0.709684 0.865053 0.992408 1.03551 +1.05184 1.04988 1.02441 0.945263 0.774737 0.613053 0.496213 0.314453 +0.2444 0.229253 0.000993333 0.000933333 0.000953333 0.000946667 0.000893333 0.000866667 +0.000873333 0.000893333 0.000846667 0.000873333 0.000853333 0.000853333 0.000846667 0.000846667 +0.000853333 0.00084 0.000853333 0.00082 0.00082 0.000853333 0.000846667 0.000846667 +0.000853333 0.00086 0.00092 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.00086 0.000813333 +0.0008 0.000773333 0.000813333 0.00084 0.000813333 0.00078 0.000773333 0.000793333 +0.0008 0.00082 0.00084 0.00084 0.000813333 0.0008 0.000846667 0.000873333 +0.000846667 0.00084 0.000873333 0.00088 0.000893333 0.000886667 0.000886667 0.000886667 +0.00088 0.00092 0.00092 0.00094 0.00092 0.000933333 0.00098 0.229253 +0.253867 0.33528 0.517684 0.645895 0.827789 0.989796 1.04008 1.0538 +1.04988 1.01951 0.921895 0.748211 0.600421 0.519579 0.496213 0.527158 +0.605474 0.738737 0.901053 1.012 1.05086 1.07065 1.07978 1.04792 +0.993061 0.835368 0.673053 0.554947 0.46592 0.37504 0.33528 0.314453 +0.299307 0.291733 0.286053 0.269013 0.265227 0.26144 0.253867 0.253867 +0.25008 0.2444 0.234933 0.234933 0.231147 0.23304 0.236827 0.236827 +0.231147 0.23304 0.236827 0.23872 0.225467 0.223573 0.225467 0.229253 +0.23304 0.225467 0.225467 0.225467 0.22168 0.216 0.00098 0.000973333 +0.000966667 0.000993333 0.223573 0.223573 0.217893 0.000993333 0.000953333 0.000953333 +0.000973333 0.00098 0.00098 0.217893 0.217893 0.00096 0.00094 0.000946667 +0.000906667 0.000933333 0.00094 0.00094 0.000953333 0.000966667 0.000933333 0.000946667 +0.000986667 0.000966667 0.00094 0.000946667 0.00094 0.00094 0.000953333 0.000953333 +0.000953333 0.00094 0.000946667 0.00098 0.00096 0.000953333 0.000933333 0.000906667 +0.00092 0.000906667 0.000946667 0.00096 0.000953333 0.000933333 0.00094 0.000966667 +0.00094 0.00092 0.000953333 0.000953333 0.000933333 0.00094 0.000946667 0.000946667 +0.000933333 0.000953333 0.00098 0.000993333 0.00092 0.000933333 0.00096 0.000966667 +0.000973333 0.00098 0.000953333 0.000953333 0.000926667 0.000906667 0.000933333 0.00098 +0.000993333 0.000946667 0.000946667 0.00094 0.000953333 0.00092 0.000906667 0.000946667 +0.000973333 0.000946667 0.00092 0.000933333 0.000933333 0.000946667 0.00094 0.00096 +0.000933333 0.000933333 0.000906667 0.00092 0.216 0.219787 0.000933333 0.000926667 +0.000953333 0.000946667 0.000913333 0.000926667 0.00096 0.000933333 0.000946667 0.00096 +0.000933333 0.000906667 0.00096 0.00092 0.00092 0.000926667 0.000926667 0.000953333 +0.000933333 0.000953333 0.000926667 0.000953333 0.000953333 0.000913333 0.000926667 0.000913333 +0.000926667 0.00094 0.000933333 0.000933333 0.00092 0.00092 0.00096 0.000946667 +0.000946667 0.000953333 0.000933333 0.00092 0.00096 0.000946667 0.00092 0.000933333 +0.00094 0.0009 0.000913333 0.000926667 0.000926667 0.000926667 0.000946667 0.000946667 +0.00096 0.000913333 0.000953333 0.00094 0.00094 0.000953333 0.000913333 0.000946667 +0.000946667 0.000893333 0.000926667 0.000913333 0.00096 0.000986667 0.000946667 0.00094 +0.000953333 0.000966667 0.000926667 0.000946667 0.00094 0.000953333 0.000946667 0.00094 +0.00096 0.000933333 0.000946667 0.00092 0.000946667 0.00098 0.00096 0.00092 +0.00094 0.000966667 0.00094 0.00094 0.216 0.00096 0.000933333 0.000926667 +0.000953333 0.000966667 0.000973333 0.000953333 0.00096 0.000966667 0.00094 0.000953333 +0.000953333 0.000933333 0.000933333 0.000946667 0.000933333 0.00096 0.00098 0.000946667 +0.000946667 0.000966667 0.000953333 0.000946667 0.00098 0.00098 0.000946667 0.000953333 +0.000973333 0.000973333 0.000946667 0.000946667 0.000953333 0.000973333 0.000993333 0.00096 +0.000966667 0.000993333 0.000993333 0.00096 0.000966667 0.000953333 0.000993333 0.22168 +0.23304 0.231147 0.217893 0.216 0.217893 0.000986667 0.000973333 0.216 +0.000973333 0.00098 0.000993333 0.217893 0.216 0.000973333 0.000993333 0.217893 +0.219787 0.216 0.000993333 0.217893 0.223573 0.22168 0.223573 0.22168 +0.219787 0.216 0.216 0.217893 0.219787 0.231147 0.236827 0.223573 +0.22736 0.229253 0.231147 0.23304 0.23304 0.242507 0.248187 0.234933 +0.236827 0.242507 0.234933 0.240613 0.25576 0.26712 0.274693 0.28984 +0.308773 0.31824 0.35232 0.450773 0.561895 0.666105 0.752632 0.8 +0.855579 0.953474 1.00514 0.989143 0.870105 0.716 0.589053 0.513895 +0.486747 0.517684 0.600421 0.733684 0.886526 1.00057 1.03812 1.04988 +1.04955 1.0218 0.932632 0.756421 0.594105 0.462133 0.30688 0.253867 +0.225467 0.00098 0.000973333 0.00092 0.000893333 0.000913333 0.00088 0.000853333 +0.000846667 0.000873333 0.000853333 0.000833333 0.000853333 0.00086 0.000853333 0.000853333 +0.000853333 0.000826667 0.000826667 0.00082 0.000826667 0.000853333 0.000846667 0.000833333 +0.00082 0.000893333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000886667 +0.0008 0.00076 0.000806667 0.000826667 0.000813333 0.000793333 0.00078 0.000806667 +0.000806667 0.000806667 0.000806667 0.00082 0.000793333 0.000806667 0.000846667 0.00082 +0.0008 0.000846667 0.000886667 0.00088 0.0009 0.0009 0.000873333 0.000873333 +0.000886667 0.00088 0.000906667 0.00092 0.00092 0.000946667 0.000966667 0.00098 +0.22736 0.25576 0.325813 0.505684 0.635789 0.820842 0.98751 1.0391 +1.0551 1.05086 1.02147 0.933263 0.760211 0.612421 0.526526 0.48864 +0.513895 0.585895 0.707158 0.864421 0.998286 1.04661 1.08587 1.10717 +1.0551 1.00612 0.879579 0.712842 0.581474 0.503789 0.395867 0.348533 +0.31824 0.304987 0.3012 0.286053 0.276587 0.265227 0.259547 0.259547 +0.253867 0.242507 0.242507 0.251973 0.240613 0.23872 0.236827 0.23304 +0.236827 0.240613 0.240613 0.236827 0.22736 0.22736 0.22168 0.225467 +0.229253 0.225467 0.225467 0.223573 0.225467 0.000993333 0.000986667 0.000986667 +0.000993333 0.22168 0.216 0.216 0.000986667 0.00098 0.00096 0.000986667 +0.000986667 0.000986667 0.000993333 0.217893 0.000966667 0.000946667 0.000966667 0.000946667 +0.000926667 0.000953333 0.00096 0.000946667 0.000966667 0.000966667 0.000946667 0.000953333 +0.000973333 0.000973333 0.000946667 0.00096 0.00096 0.000933333 0.000933333 0.000933333 +0.000933333 0.000913333 0.000926667 0.000946667 0.00096 0.000953333 0.00094 0.00094 +0.000926667 0.00092 0.000966667 0.000973333 0.000926667 0.000906667 0.000953333 0.000986667 +0.000953333 0.000933333 0.000973333 0.00096 0.000953333 0.00096 0.000946667 0.000953333 +0.000933333 0.000933333 0.00098 0.00096 0.000913333 0.000953333 0.000966667 0.00098 +0.00098 0.000966667 0.000966667 0.000946667 0.000913333 0.000906667 0.000953333 0.000986667 +0.000986667 0.00094 0.000966667 0.000973333 0.000973333 0.000926667 0.0009 0.000933333 +0.000946667 0.000906667 0.0009 0.000926667 0.000926667 0.000906667 0.000933333 0.000946667 +0.000933333 0.00094 0.000886667 0.000913333 0.000986667 0.000986667 0.000946667 0.000953333 +0.00096 0.000926667 0.00092 0.000926667 0.000953333 0.000953333 0.000946667 0.000946667 +0.000926667 0.00092 0.000953333 0.000933333 0.000926667 0.00094 0.000946667 0.000946667 +0.000933333 0.000953333 0.000926667 0.000966667 0.000953333 0.000946667 0.000913333 0.000886667 +0.000946667 0.00096 0.000913333 0.000913333 0.000933333 0.00096 0.00098 0.000973333 +0.000946667 0.000946667 0.000926667 0.000953333 0.000966667 0.000953333 0.000913333 0.000953333 +0.000946667 0.000906667 0.00092 0.00094 0.000933333 0.00092 0.000953333 0.000953333 +0.000953333 0.000926667 0.000933333 0.00094 0.000946667 0.000946667 0.000926667 0.00096 +0.000993333 0.00092 0.000913333 0.00092 0.000926667 0.000973333 0.000933333 0.000926667 +0.000926667 0.000946667 0.00094 0.000953333 0.000966667 0.000953333 0.000933333 0.000913333 +0.000953333 0.000946667 0.00096 0.000926667 0.00094 0.000993333 0.000966667 0.000906667 +0.000933333 0.00096 0.00094 0.00094 0.216 0.00096 0.00094 0.000946667 +0.00096 0.00094 0.000966667 0.00096 0.00098 0.000973333 0.000953333 0.00096 +0.000946667 0.000953333 0.000966667 0.000966667 0.00094 0.000966667 0.000966667 0.000946667 +0.000953333 0.000953333 0.000953333 0.00094 0.000966667 0.000993333 0.00096 0.000966667 +0.000973333 0.000973333 0.000973333 0.00096 0.00098 0.000993333 0.216 0.000966667 +0.000966667 0.22168 0.217893 0.000986667 0.000986667 0.00096 0.000993333 0.219787 +0.225467 0.223573 0.223573 0.217893 0.216 0.22168 0.225467 0.225467 +0.00098 0.216 0.223573 0.22168 0.216 0.000946667 0.00098 0.216 +0.217893 0.219787 0.217893 0.217893 0.225467 0.223573 0.225467 0.219787 +0.223573 0.22168 0.219787 0.225467 0.223573 0.22736 0.242507 0.234933 +0.234933 0.234933 0.236827 0.23872 0.242507 0.248187 0.23872 0.246293 +0.25008 0.25576 0.257653 0.251973 0.263333 0.274693 0.28416 0.31256 +0.333387 0.39776 0.508842 0.597895 0.747579 0.897263 0.985551 1.00384 +1.01298 1.01592 0.984245 0.846737 0.690737 0.570737 0.508842 0.484853 +0.525895 0.609263 0.743158 0.908 1.00808 1.04335 1.05314 1.04661 +1.01527 0.914316 0.741895 0.585895 0.441307 0.291733 0.231147 0.225467 +0.219787 0.00094 0.00094 0.000913333 0.000873333 0.000886667 0.000873333 0.000813333 +0.00082 0.00088 0.00088 0.000866667 0.000833333 0.00084 0.000833333 0.000853333 +0.000846667 0.000826667 0.000826667 0.000806667 0.0008 0.000806667 0.0008 0.00084 +0.000913333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000846667 0.00084 0.00078 0.00078 0.000813333 0.000813333 0.000786667 0.000786667 +0.000773333 0.000793333 0.000806667 0.000813333 0.00082 0.00084 0.00084 0.000773333 +0.00078 0.000846667 0.00086 0.000886667 0.000886667 0.000853333 0.000846667 0.000853333 +0.000866667 0.000873333 0.000893333 0.000906667 0.000933333 0.00094 0.00094 0.00096 +0.000986667 0.223573 0.248187 0.320133 0.501895 0.631368 0.813263 0.984245 +1.03747 1.0538 1.05216 1.02473 0.944632 0.778526 0.623158 0.526526 +0.481067 0.506316 0.562526 0.669263 0.823368 0.981633 1.04041 1.09195 +1.11782 1.07217 1.02473 0.925053 0.762105 0.626947 0.533474 0.44888 +0.373147 0.331493 0.308773 0.291733 0.28416 0.27848 0.2728 0.269013 +0.263333 0.251973 0.25008 0.257653 0.248187 0.242507 0.242507 0.242507 +0.236827 0.236827 0.23304 0.231147 0.229253 0.22736 0.225467 0.229253 +0.229253 0.22736 0.223573 0.219787 0.217893 0.223573 0.22736 0.223573 +0.223573 0.217893 0.00098 0.00098 0.000986667 0.000953333 0.000966667 0.00098 +0.00098 0.00098 0.000993333 0.000993333 0.00094 0.000926667 0.000946667 0.00096 +0.000986667 0.217893 0.00098 0.00096 0.00098 0.000946667 0.000946667 0.000966667 +0.00096 0.000946667 0.000953333 0.000953333 0.00094 0.00092 0.000913333 0.000933333 +0.00094 0.00094 0.00096 0.000933333 0.000926667 0.000933333 0.000933333 0.000953333 +0.000926667 0.000946667 0.000993333 0.000973333 0.000926667 0.00094 0.000986667 0.00098 +0.000933333 0.000933333 0.000953333 0.000953333 0.000953333 0.000946667 0.000926667 0.00092 +0.00092 0.000926667 0.00096 0.000933333 0.000913333 0.000953333 0.000973333 0.000993333 +0.00098 0.00094 0.000946667 0.00094 0.000913333 0.000926667 0.00098 0.216 +0.000953333 0.00094 0.000973333 0.00096 0.000953333 0.00094 0.000946667 0.00096 +0.000953333 0.000906667 0.000926667 0.000946667 0.000946667 0.00094 0.000946667 0.00094 +0.000946667 0.000933333 0.000866667 0.000913333 0.000966667 0.000966667 0.000926667 0.000926667 +0.000933333 0.000933333 0.000946667 0.000946667 0.00096 0.00096 0.000946667 0.000946667 +0.000953333 0.00094 0.00094 0.000913333 0.000913333 0.00094 0.000946667 0.00094 +0.00094 0.00094 0.0009 0.000946667 0.00094 0.000953333 0.00092 0.00088 +0.00096 0.00096 0.000933333 0.000906667 0.00092 0.000966667 0.000966667 0.000973333 +0.000953333 0.00096 0.000953333 0.00098 0.00098 0.000953333 0.000913333 0.000926667 +0.000926667 0.000926667 0.00094 0.000946667 0.000966667 0.00094 0.00094 0.000966667 +0.000953333 0.000953333 0.00096 0.000946667 0.00096 0.000953333 0.000953333 0.000986667 +0.000986667 0.000933333 0.00094 0.000933333 0.000953333 0.000973333 0.000946667 0.000906667 +0.000933333 0.000946667 0.000933333 0.000973333 0.000973333 0.000966667 0.000926667 0.000906667 +0.000933333 0.000973333 0.00098 0.00096 0.000946667 0.216 0.000966667 0.00092 +0.00092 0.000946667 0.000946667 0.000966667 0.216 0.000966667 0.00096 0.000966667 +0.000953333 0.00094 0.000966667 0.00096 0.000966667 0.00096 0.00096 0.000953333 +0.000946667 0.00096 0.00098 0.00096 0.000933333 0.000946667 0.000946667 0.000953333 +0.000973333 0.000953333 0.00096 0.000966667 0.000966667 0.000973333 0.00096 0.000966667 +0.000966667 0.000953333 0.00098 0.000973333 0.000966667 0.00096 0.00098 0.000973333 +0.00098 0.22168 0.217893 0.217893 0.216 0.000966667 0.000993333 0.216 +0.216 0.216 0.229253 0.22168 0.000986667 0.225467 0.22736 0.219787 +0.000986667 0.216 0.22168 0.22168 0.219787 0.216 0.000993333 0.22168 +0.217893 0.217893 0.000993333 0.216 0.22736 0.229253 0.229253 0.223573 +0.22736 0.229253 0.225467 0.23304 0.23304 0.225467 0.236827 0.229253 +0.23872 0.25008 0.240613 0.246293 0.25008 0.251973 0.2444 0.25008 +0.26144 0.265227 0.270907 0.274693 0.276587 0.299307 0.308773 0.36368 +0.44888 0.541053 0.651579 0.795579 0.962316 1.03061 1.05086 1.04661 +1.02343 0.964211 0.812632 0.666737 0.560632 0.496213 0.479173 0.537895 +0.626316 0.765895 0.918105 1.01233 1.04498 1.05184 1.04498 1.01037 +0.899789 0.722316 0.568842 0.42048 0.291733 0.2444 0.216 0.000973333 +0.000973333 0.00096 0.00092 0.00086 0.00084 0.00086 0.000886667 0.00084 +0.000833333 0.000846667 0.000853333 0.00084 0.00082 0.00084 0.000846667 0.00084 +0.000853333 0.000826667 0.00084 0.000826667 0.000786667 0.000793333 0.000853333 0.000886667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.00088 0.000833333 0.000746667 0.000813333 0.000793333 0.00076 0.000746667 +0.000773333 0.00082 0.000826667 0.000813333 0.000813333 0.000813333 0.0008 0.000766667 +0.0008 0.000853333 0.000853333 0.00086 0.000846667 0.00082 0.000813333 0.000826667 +0.000846667 0.000873333 0.000886667 0.000893333 0.0009 0.000893333 0.000906667 0.000953333 +0.000926667 0.000966667 0.23304 0.25008 0.303093 0.490533 0.623158 0.804421 +0.98098 1.03616 1.05412 1.05118 1.02767 0.957263 0.789263 0.633263 +0.534105 0.473493 0.475387 0.534737 0.628211 0.772842 0.937684 1.02702 +1.06456 1.12543 1.10869 1.04041 0.983592 0.844211 0.693895 0.576421 +0.503789 0.393973 0.342853 0.31824 0.3012 0.287947 0.280373 0.274693 +0.269013 0.263333 0.265227 0.265227 0.257653 0.25008 0.251973 0.248187 +0.246293 0.236827 0.229253 0.22736 0.231147 0.234933 0.236827 0.22736 +0.229253 0.229253 0.229253 0.223573 0.216 0.225467 0.229253 0.231147 +0.229253 0.22168 0.216 0.000993333 0.000986667 0.00096 0.000966667 0.00098 +0.00096 0.000986667 0.216 0.000986667 0.00096 0.000946667 0.000946667 0.000973333 +0.22168 0.219787 0.216 0.00098 0.00098 0.000973333 0.000966667 0.000973333 +0.000966667 0.000953333 0.00096 0.000933333 0.00096 0.000966667 0.000953333 0.000966667 +0.000933333 0.00096 0.00096 0.000946667 0.00094 0.000926667 0.000926667 0.00094 +0.000933333 0.000966667 0.000993333 0.000966667 0.000953333 0.000966667 0.000973333 0.000946667 +0.00094 0.000966667 0.000953333 0.000953333 0.000946667 0.000926667 0.000906667 0.000906667 +0.0009 0.000926667 0.000933333 0.000946667 0.000973333 0.000966667 0.00096 0.000986667 +0.000973333 0.00096 0.000946667 0.000946667 0.00092 0.000966667 0.216 0.216 +0.000953333 0.00096 0.000966667 0.000966667 0.000953333 0.000933333 0.000946667 0.000973333 +0.000946667 0.00094 0.00098 0.000966667 0.00098 0.000953333 0.000953333 0.00094 +0.00096 0.000946667 0.00092 0.000946667 0.000993333 0.00094 0.000913333 0.000933333 +0.00094 0.00092 0.000926667 0.00094 0.000933333 0.000953333 0.000953333 0.000973333 +0.000953333 0.00094 0.00092 0.000906667 0.00096 0.000953333 0.000933333 0.000926667 +0.000946667 0.000946667 0.000893333 0.00096 0.000933333 0.000946667 0.00096 0.000926667 +0.000946667 0.000933333 0.000926667 0.000906667 0.000926667 0.000973333 0.000953333 0.00094 +0.000933333 0.00094 0.000933333 0.00098 0.000966667 0.00096 0.000933333 0.000933333 +0.000946667 0.00096 0.00096 0.000946667 0.00096 0.000946667 0.000913333 0.000966667 +0.000953333 0.00094 0.000973333 0.00096 0.000953333 0.000966667 0.000946667 0.00098 +0.000973333 0.000913333 0.000933333 0.00092 0.000953333 0.00096 0.00094 0.000926667 +0.000913333 0.000953333 0.000933333 0.000953333 0.000946667 0.00096 0.000926667 0.000906667 +0.000933333 0.000966667 0.00098 0.00096 0.000946667 0.000993333 0.000966667 0.00092 +0.00094 0.000933333 0.000966667 0.00096 0.000966667 0.000953333 0.000946667 0.000946667 +0.00094 0.000933333 0.000946667 0.000973333 0.00098 0.000966667 0.000953333 0.000953333 +0.00094 0.000953333 0.000973333 0.000953333 0.000953333 0.000946667 0.000953333 0.000953333 +0.000973333 0.000966667 0.000966667 0.000953333 0.00094 0.000933333 0.00094 0.000973333 +0.00096 0.000953333 0.000986667 0.00098 0.000973333 0.000913333 0.00096 0.216 +0.000986667 0.217893 0.217893 0.219787 0.000993333 0.00096 0.000986667 0.216 +0.000973333 0.00098 0.225467 0.219787 0.000966667 0.217893 0.22168 0.216 +0.216 0.216 0.217893 0.219787 0.22168 0.22736 0.22168 0.223573 +0.22736 0.22168 0.216 0.219787 0.219787 0.22168 0.22736 0.231147 +0.22736 0.22736 0.229253 0.23304 0.2444 0.236827 0.23304 0.231147 +0.229253 0.242507 0.251973 0.248187 0.25008 0.253867 0.25576 0.265227 +0.270907 0.27848 0.282267 0.293627 0.310667 0.337173 0.38072 0.48864 +0.573263 0.693895 0.855579 0.995347 1.0489 1.10565 1.05641 1.01886 +0.930105 0.774105 0.635158 0.539789 0.500632 0.498107 0.542316 0.645895 +0.790526 0.940211 1.01657 1.04596 1.05314 1.04171 1.0022 0.882105 +0.710316 0.56 0.399653 0.276587 0.23872 0.000993333 0.000966667 0.000933333 +0.000906667 0.000906667 0.000913333 0.000866667 0.000846667 0.000846667 0.00088 0.000846667 +0.000826667 0.00084 0.000846667 0.00086 0.000826667 0.000826667 0.00084 0.000853333 +0.000873333 0.00086 0.000853333 0.00084 0.000773333 0.000866667 0.000933333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000866667 0.000793333 0.00078 0.000773333 0.000766667 +0.000766667 0.00078 0.000773333 0.00078 0.00078 0.00078 0.000766667 0.000773333 +0.000813333 0.00082 0.000813333 0.000833333 0.000833333 0.000806667 0.000813333 0.00084 +0.000826667 0.00086 0.0009 0.000873333 0.00084 0.00088 0.000926667 0.000933333 +0.000926667 0.00094 0.000993333 0.219787 0.23872 0.299307 0.47728 0.616211 +0.8 0.975579 1.0329 1.05412 1.05314 1.02898 0.965474 0.802526 +0.644 0.539158 0.486747 0.462133 0.513895 0.584 0.712211 0.879579 +1.00645 1.05608 1.12999 1.14369 1.06913 1.0182 0.918737 0.763368 +0.627579 0.532211 0.445093 0.367467 0.32392 0.308773 0.29552 0.286053 +0.276587 0.269013 0.269013 0.270907 0.26712 0.26144 0.25008 0.2444 +0.25008 0.242507 0.23872 0.234933 0.231147 0.234933 0.231147 0.23304 +0.236827 0.22736 0.229253 0.223573 0.219787 0.225467 0.231147 0.231147 +0.231147 0.223573 0.22168 0.22168 0.217893 0.00098 0.000993333 0.000986667 +0.000966667 0.000993333 0.216 0.000986667 0.000986667 0.000986667 0.00098 0.00098 +0.000993333 0.000986667 0.000993333 0.217893 0.000966667 0.000953333 0.000966667 0.00098 +0.000973333 0.000953333 0.000933333 0.000913333 0.00094 0.00096 0.00096 0.000953333 +0.000953333 0.000966667 0.000946667 0.000953333 0.000966667 0.00096 0.000946667 0.00094 +0.000926667 0.000973333 0.00098 0.00096 0.00096 0.000973333 0.000946667 0.000913333 +0.000933333 0.000973333 0.00098 0.00094 0.000946667 0.000926667 0.000933333 0.00092 +0.000913333 0.00094 0.000933333 0.000953333 0.000986667 0.00098 0.000973333 0.217893 +0.000993333 0.000993333 0.00096 0.000946667 0.000953333 0.00098 0.000973333 0.000966667 +0.000933333 0.000953333 0.00096 0.000966667 0.000953333 0.00092 0.000946667 0.000986667 +0.000926667 0.000926667 0.000966667 0.000933333 0.000973333 0.00096 0.000993333 0.000966667 +0.00096 0.000946667 0.000946667 0.000973333 0.000986667 0.000946667 0.000906667 0.000946667 +0.00094 0.000913333 0.000946667 0.000953333 0.000933333 0.000953333 0.00098 0.000973333 +0.000933333 0.00094 0.00092 0.000913333 0.000973333 0.000946667 0.000926667 0.00094 +0.00096 0.000933333 0.0009 0.00096 0.00094 0.000953333 0.00098 0.00098 +0.000953333 0.000906667 0.000926667 0.00094 0.00096 0.000986667 0.00096 0.000953333 +0.00094 0.000926667 0.00092 0.000973333 0.000953333 0.000953333 0.000946667 0.000946667 +0.000953333 0.00096 0.000966667 0.000953333 0.00096 0.000953333 0.000926667 0.000946667 +0.000946667 0.000946667 0.000993333 0.00098 0.00092 0.000933333 0.000946667 0.00096 +0.000973333 0.00092 0.00094 0.00094 0.000966667 0.00098 0.00092 0.000933333 +0.00092 0.000953333 0.00096 0.00096 0.000953333 0.000946667 0.00092 0.000913333 +0.000933333 0.000953333 0.000966667 0.000953333 0.00094 0.216 0.00098 0.00094 +0.000953333 0.000953333 0.00096 0.000926667 0.000953333 0.000966667 0.00096 0.000966667 +0.00096 0.000933333 0.00092 0.000966667 0.000986667 0.000966667 0.000946667 0.00094 +0.00094 0.000966667 0.000953333 0.000966667 0.000986667 0.000946667 0.000946667 0.000966667 +0.00096 0.000966667 0.000966667 0.000946667 0.000946667 0.00096 0.000953333 0.000973333 +0.000993333 0.000993333 0.217893 0.000986667 0.216 0.00094 0.00096 0.217893 +0.00098 0.000986667 0.216 0.000973333 0.000966667 0.000966667 0.00098 0.216 +0.00096 0.000986667 0.223573 0.219787 0.216 0.22168 0.219787 0.000993333 +0.219787 0.22168 0.219787 0.22168 0.22168 0.229253 0.225467 0.219787 +0.23304 0.231147 0.223573 0.22736 0.231147 0.23304 0.22736 0.236827 +0.236827 0.229253 0.236827 0.236827 0.236827 0.23872 0.240613 0.23872 +0.236827 0.23872 0.248187 0.251973 0.253867 0.26144 0.26712 0.26712 +0.276587 0.28416 0.29552 0.320133 0.358 0.424267 0.522737 0.614316 +0.748842 0.907368 1.01657 1.07522 1.14369 1.05837 1.00939 0.892842 +0.734947 0.604842 0.525263 0.473493 0.498107 0.56 0.663579 0.811368 +0.961684 1.02408 1.04727 1.04988 1.03682 0.994367 0.861263 0.691368 +0.550526 0.376933 0.263333 0.234933 0.219787 0.000946667 0.000926667 0.000926667 +0.000866667 0.00084 0.000873333 0.000866667 0.00088 0.000866667 0.000866667 0.000846667 +0.000826667 0.000833333 0.000833333 0.00086 0.00088 0.000833333 0.000853333 0.000853333 +0.00086 0.00086 0.000846667 0.000846667 0.000906667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000886667 0.000773333 0.0008 0.00076 +0.00074 0.000753333 0.000773333 0.0008 0.000786667 0.000786667 0.000773333 0.000773333 +0.000793333 0.000773333 0.000786667 0.000806667 0.000806667 0.000786667 0.000826667 0.000813333 +0.000833333 0.000866667 0.000873333 0.000853333 0.00086 0.000886667 0.000886667 0.000873333 +0.00092 0.00094 0.000946667 0.000973333 0.219787 0.23304 0.28984 0.46024 +0.610526 0.788632 0.968 1.03322 1.05282 1.05216 1.03159 0.973053 +0.809474 0.654737 0.551158 0.490533 0.445093 0.47728 0.542316 0.652842 +0.819579 0.982939 1.04171 1.12239 1.17412 1.13456 1.044 0.984245 +0.836632 0.688211 0.578316 0.504421 0.393973 0.348533 0.322027 0.303093 +0.293627 0.28984 0.27848 0.274693 0.2728 0.263333 0.25576 0.251973 +0.253867 0.246293 0.240613 0.234933 0.23872 0.23872 0.23304 0.240613 +0.236827 0.231147 0.22736 0.225467 0.22736 0.225467 0.225467 0.22168 +0.223573 0.223573 0.229253 0.22168 0.216 0.219787 0.217893 0.000993333 +0.216 0.217893 0.000986667 0.000993333 0.000986667 0.00098 0.000973333 0.216 +0.217893 0.219787 0.219787 0.000993333 0.000966667 0.00098 0.00098 0.000993333 +0.000993333 0.00098 0.000953333 0.00094 0.00092 0.000933333 0.000953333 0.000953333 +0.000973333 0.000966667 0.00096 0.000946667 0.00096 0.00098 0.00098 0.000953333 +0.00094 0.000973333 0.000966667 0.00096 0.000973333 0.000973333 0.000946667 0.000906667 +0.000933333 0.000973333 0.000986667 0.000953333 0.000926667 0.000946667 0.000966667 0.000966667 +0.000966667 0.000966667 0.000966667 0.000986667 0.00098 0.000966667 0.000973333 0.000986667 +0.000973333 0.00098 0.000966667 0.000946667 0.000973333 0.217893 0.000986667 0.000953333 +0.000926667 0.00096 0.00096 0.000966667 0.00098 0.00096 0.000973333 0.216 +0.000933333 0.000946667 0.000953333 0.000933333 0.000973333 0.000986667 0.217893 0.000953333 +0.000933333 0.000933333 0.000953333 0.000986667 0.000986667 0.000946667 0.000933333 0.00094 +0.000933333 0.000953333 0.000986667 0.000966667 0.000946667 0.000953333 0.00098 0.00098 +0.000953333 0.000966667 0.000926667 0.000893333 0.000926667 0.000926667 0.000926667 0.00094 +0.000946667 0.00092 0.000913333 0.000966667 0.00096 0.000966667 0.000953333 0.000986667 +0.000973333 0.000926667 0.000926667 0.000946667 0.000986667 0.217893 0.00098 0.00096 +0.00094 0.00092 0.00094 0.00098 0.00096 0.000953333 0.000926667 0.000946667 +0.00094 0.00094 0.00094 0.00096 0.000966667 0.00094 0.000933333 0.000946667 +0.000933333 0.00096 0.000986667 0.00096 0.00092 0.00092 0.00094 0.000966667 +0.000973333 0.000933333 0.000933333 0.00094 0.216 0.000993333 0.00094 0.000946667 +0.000953333 0.00098 0.000966667 0.00098 0.000966667 0.000953333 0.000926667 0.00094 +0.000933333 0.000953333 0.000966667 0.000946667 0.000906667 0.000953333 0.000986667 0.000946667 +0.000973333 0.00098 0.00096 0.000913333 0.00096 0.00098 0.00096 0.000973333 +0.000986667 0.000946667 0.000926667 0.000953333 0.00096 0.000953333 0.000926667 0.000926667 +0.000926667 0.000966667 0.00096 0.000986667 0.216 0.00094 0.00094 0.00098 +0.000973333 0.000973333 0.000966667 0.000953333 0.000973333 0.216 0.000966667 0.000966667 +0.000986667 0.216 0.217893 0.000993333 0.000993333 0.000973333 0.000993333 0.223573 +0.000993333 0.000973333 0.217893 0.00098 0.00098 0.219787 0.000993333 0.216 +0.000993333 0.22168 0.22168 0.22168 0.223573 0.225467 0.219787 0.00098 +0.217893 0.22168 0.22168 0.22168 0.22736 0.229253 0.229253 0.22168 +0.229253 0.231147 0.231147 0.231147 0.231147 0.23304 0.229253 0.23304 +0.240613 0.240613 0.236827 0.23872 0.240613 0.2444 0.248187 0.25008 +0.242507 0.25008 0.251973 0.25576 0.26712 0.26712 0.274693 0.280373 +0.293627 0.308773 0.3296 0.38072 0.473493 0.554947 0.666737 0.817684 +0.973053 1.03976 1.12999 1.15282 1.05216 0.992082 0.844211 0.688211 +0.571368 0.509474 0.462133 0.501895 0.567579 0.683158 0.836 0.975579 +1.02669 1.04857 1.05086 1.03061 0.980653 0.829684 0.66421 0.530947 +0.358 0.259547 0.219787 0.00096 0.00094 0.000913333 0.000873333 0.000893333 +0.00088 0.000833333 0.00084 0.000826667 0.000853333 0.000866667 0.000846667 0.000846667 +0.000853333 0.00086 0.00086 0.00086 0.00088 0.00088 0.00088 0.000866667 +0.000873333 0.00088 0.000853333 0.000906667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000906667 0.000813333 0.00078 +0.000793333 0.00078 0.000786667 0.000773333 0.00074 0.00076 0.000793333 0.000766667 +0.000746667 0.000773333 0.000813333 0.000786667 0.00076 0.000773333 0.000793333 0.000793333 +0.000833333 0.000826667 0.00082 0.000833333 0.000846667 0.000846667 0.000846667 0.000873333 +0.000913333 0.000926667 0.00092 0.00092 0.000946667 0.000993333 0.231147 0.28416 +0.445093 0.600421 0.777895 0.954105 1.02735 1.05347 1.05412 1.03257 +0.977474 0.822105 0.662316 0.549895 0.48864 0.435627 0.435627 0.507579 +0.597263 0.747579 0.915579 1.01592 1.05967 1.15738 1.16651 1.07217 +1.01722 0.921263 0.776632 0.644 0.544842 0.458347 0.371253 0.33528 +0.316347 0.304987 0.293627 0.287947 0.28416 0.276587 0.270907 0.26144 +0.253867 0.246293 0.240613 0.240613 0.248187 0.25008 0.246293 0.236827 +0.23304 0.23304 0.225467 0.234933 0.231147 0.22736 0.223573 0.216 +0.000986667 0.000993333 0.223573 0.000993333 0.216 0.219787 0.217893 0.000993333 +0.219787 0.22168 0.22168 0.216 0.000973333 0.000973333 0.000986667 0.216 +0.219787 0.22168 0.216 0.00098 0.00098 0.216 0.219787 0.216 +0.217893 0.000993333 0.00096 0.00094 0.00096 0.00098 0.000953333 0.000953333 +0.000973333 0.000973333 0.000966667 0.000946667 0.000953333 0.00096 0.000973333 0.000953333 +0.000946667 0.000953333 0.00094 0.000933333 0.000966667 0.000973333 0.000926667 0.000926667 +0.00096 0.000986667 0.000986667 0.00094 0.0009 0.00096 0.000973333 0.000993333 +0.219787 0.000966667 0.000966667 0.000993333 0.000966667 0.000986667 0.00098 0.00098 +0.000953333 0.000966667 0.00098 0.000946667 0.000973333 0.217893 0.000993333 0.000926667 +0.000933333 0.000993333 0.217893 0.000993333 0.00098 0.000973333 0.000993333 0.216 +0.00096 0.217893 0.00098 0.000966667 0.216 0.00098 0.000973333 0.000933333 +0.000946667 0.000946667 0.000933333 0.000973333 0.000973333 0.000966667 0.00096 0.000933333 +0.000933333 0.000966667 0.00098 0.000946667 0.000973333 0.000946667 0.000973333 0.000966667 +0.000946667 0.000973333 0.000946667 0.000913333 0.00092 0.000913333 0.000946667 0.000946667 +0.00096 0.000913333 0.000926667 0.00094 0.000953333 0.000973333 0.000966667 0.000973333 +0.000966667 0.000966667 0.00092 0.000926667 0.000966667 0.000993333 0.000973333 0.000973333 +0.00096 0.00092 0.00094 0.00098 0.000986667 0.000973333 0.000926667 0.000946667 +0.000946667 0.000966667 0.000953333 0.000946667 0.00098 0.000966667 0.000946667 0.000973333 +0.000953333 0.000953333 0.000993333 0.000973333 0.00096 0.000953333 0.000926667 0.000973333 +0.00098 0.000933333 0.000926667 0.000913333 0.00098 0.219787 0.000946667 0.00096 +0.00094 0.000966667 0.000953333 0.000986667 0.000966667 0.000953333 0.00094 0.000906667 +0.000926667 0.00096 0.000973333 0.000946667 0.0009 0.000946667 0.000966667 0.000933333 +0.000973333 0.00096 0.000933333 0.000926667 0.000966667 0.000993333 0.000953333 0.00098 +0.216 0.000966667 0.000946667 0.000966667 0.000986667 0.00098 0.00094 0.000933333 +0.00092 0.00094 0.000946667 0.000973333 0.000986667 0.00094 0.000933333 0.000966667 +0.00096 0.000993333 0.00098 0.000966667 0.000973333 0.219787 0.00098 0.000966667 +0.000993333 0.217893 0.219787 0.216 0.000986667 0.000986667 0.217893 0.22168 +0.217893 0.000986667 0.219787 0.22168 0.219787 0.22736 0.217893 0.00098 +0.216 0.22168 0.22168 0.22168 0.22168 0.219787 0.219787 0.216 +0.223573 0.225467 0.219787 0.219787 0.231147 0.23304 0.231147 0.225467 +0.229253 0.231147 0.234933 0.234933 0.236827 0.23304 0.231147 0.236827 +0.2444 0.2444 0.2444 0.248187 0.248187 0.25576 0.251973 0.25008 +0.25008 0.25576 0.257653 0.26712 0.27848 0.27848 0.287947 0.303093 +0.325813 0.36368 0.439413 0.521474 0.605474 0.730526 0.882105 1.00645 +1.05902 1.17716 1.14217 1.0391 0.959158 0.789263 0.642737 0.540421 +0.475387 0.45456 0.506316 0.577684 0.699579 0.852421 0.985224 1.03094 +1.04727 1.04498 1.02212 0.954737 0.796842 0.632 0.510105 0.31824 +0.236827 0.00098 0.00096 0.000913333 0.000906667 0.0009 0.00084 0.000846667 +0.00086 0.000833333 0.000846667 0.000826667 0.000853333 0.00088 0.00088 0.000846667 +0.000873333 0.00088 0.000873333 0.000886667 0.000893333 0.000893333 0.000886667 0.00086 +0.000846667 0.0009 0.000973333 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000946667 0.00086 +0.000786667 0.000773333 0.000773333 0.000753333 0.00074 0.00078 0.000806667 0.00078 +0.00076 0.00076 0.00078 0.000773333 0.000773333 0.000773333 0.000786667 0.000806667 +0.0008 0.000786667 0.000806667 0.000813333 0.0008 0.0008 0.000833333 0.000853333 +0.000873333 0.000886667 0.000893333 0.000886667 0.000886667 0.000926667 0.216 0.223573 +0.270907 0.428053 0.587158 0.758316 0.940211 1.0231 1.04792 1.05151 +1.03355 0.981959 0.829053 0.673684 0.557474 0.490533 0.424267 0.407227 +0.44888 0.546105 0.670526 0.821474 0.951579 1.01918 1.07369 1.17564 +1.15738 1.0489 0.993388 0.866316 0.722947 0.601684 0.522105 0.439413 +0.371253 0.33528 0.310667 0.299307 0.29552 0.28984 0.287947 0.274693 +0.265227 0.263333 0.257653 0.251973 0.25008 0.246293 0.25008 0.246293 +0.23872 0.225467 0.22168 0.225467 0.229253 0.23872 0.23304 0.22736 +0.217893 0.219787 0.217893 0.000993333 0.000986667 0.217893 0.223573 0.223573 +0.223573 0.22168 0.225467 0.217893 0.217893 0.223573 0.22168 0.219787 +0.000993333 0.216 0.00098 0.00098 0.00096 0.000986667 0.217893 0.216 +0.217893 0.000966667 0.000966667 0.000966667 0.000973333 0.216 0.00098 0.000973333 +0.000993333 0.000986667 0.000966667 0.000966667 0.000953333 0.00094 0.000946667 0.000953333 +0.00096 0.00094 0.00092 0.000926667 0.000973333 0.000986667 0.000933333 0.00096 +0.00098 0.000986667 0.000973333 0.00094 0.000906667 0.00094 0.000946667 0.000986667 +0.225467 0.000986667 0.000973333 0.00096 0.00096 0.216 0.216 0.000966667 +0.00094 0.000946667 0.00096 0.000953333 0.000986667 0.217893 0.00098 0.00092 +0.000933333 0.000993333 0.219787 0.000986667 0.00096 0.00096 0.216 0.000973333 +0.000966667 0.217893 0.000973333 0.000973333 0.000986667 0.000993333 0.000973333 0.00094 +0.000946667 0.000933333 0.00092 0.00098 0.000973333 0.000993333 0.000973333 0.000933333 +0.000926667 0.000966667 0.000986667 0.000953333 0.000953333 0.00094 0.000953333 0.000933333 +0.000933333 0.00096 0.00092 0.00092 0.000953333 0.000946667 0.000973333 0.00096 +0.000973333 0.000926667 0.000953333 0.00098 0.000953333 0.00096 0.000953333 0.000946667 +0.00094 0.000966667 0.00092 0.000926667 0.00096 0.000993333 0.00098 0.000966667 +0.00096 0.00094 0.000966667 0.000966667 0.000966667 0.000966667 0.000926667 0.000946667 +0.000953333 0.00096 0.000973333 0.000953333 0.00098 0.217893 0.000993333 0.000993333 +0.00098 0.000946667 0.000973333 0.219787 0.00098 0.000986667 0.00096 0.000966667 +0.000966667 0.000946667 0.000946667 0.00092 0.000953333 0.000993333 0.000953333 0.000966667 +0.000946667 0.00096 0.000966667 0.000993333 0.00098 0.00096 0.000966667 0.00092 +0.000953333 0.000973333 0.216 0.000973333 0.000926667 0.000953333 0.000933333 0.000913333 +0.00098 0.000953333 0.000913333 0.000933333 0.00098 0.216 0.000966667 0.000966667 +0.00098 0.000973333 0.000953333 0.00098 0.000993333 0.000986667 0.000953333 0.000966667 +0.00096 0.00094 0.000953333 0.000946667 0.00098 0.000973333 0.000946667 0.000966667 +0.00098 0.216 0.00098 0.00094 0.000953333 0.000986667 0.000986667 0.216 +0.217893 0.219787 0.22168 0.219787 0.000986667 0.000993333 0.217893 0.219787 +0.000993333 0.217893 0.22168 0.229253 0.229253 0.231147 0.22168 0.000986667 +0.217893 0.217893 0.219787 0.22736 0.231147 0.216 0.216 0.22168 +0.225467 0.223573 0.219787 0.217893 0.22736 0.231147 0.229253 0.22736 +0.22168 0.225467 0.240613 0.23872 0.242507 0.240613 0.231147 0.23304 +0.246293 0.25008 0.246293 0.251973 0.25008 0.251973 0.26144 0.26712 +0.263333 0.270907 0.276587 0.287947 0.297413 0.3012 0.31256 0.34664 +0.40912 0.509474 0.577053 0.674947 0.815158 0.964211 1.03453 1.1163 +1.16195 1.08282 1.01624 0.900421 0.729895 0.594105 0.515158 0.458347 +0.450773 0.515789 0.593474 0.720421 0.872632 0.994367 1.03322 1.04531 +1.03616 1.00253 0.910526 0.755158 0.601684 0.4716 0.280373 0.223573 +0.00098 0.00094 0.000913333 0.000886667 0.000873333 0.000873333 0.000833333 0.00084 +0.00088 0.000866667 0.000833333 0.00082 0.00088 0.0009 0.000893333 0.000846667 +0.000866667 0.000886667 0.00086 0.00086 0.00088 0.0009 0.00086 0.000866667 +0.000893333 0.000926667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000953333 +0.00086 0.00076 0.000786667 0.00078 0.000793333 0.000813333 0.0008 0.000773333 +0.00078 0.00076 0.00076 0.00078 0.0008 0.000773333 0.000766667 0.00078 +0.000786667 0.000793333 0.0008 0.0008 0.000793333 0.0008 0.000813333 0.000813333 +0.000853333 0.000853333 0.000853333 0.00086 0.000853333 0.000873333 0.00094 0.00098 +0.229253 0.265227 0.401547 0.574526 0.736211 0.906737 1.01069 1.04531 +1.05118 1.03322 0.984571 0.843579 0.683789 0.561895 0.492427 0.429947 +0.39208 0.371253 0.4716 0.575158 0.680632 0.801895 0.954105 1.03878 +1.15586 1.19542 1.11021 1.02963 0.957895 0.813895 0.681263 0.581474 +0.513895 0.424267 0.356107 0.325813 0.30688 0.29552 0.299307 0.287947 +0.282267 0.282267 0.2728 0.263333 0.257653 0.253867 0.25008 0.248187 +0.23304 0.231147 0.231147 0.22736 0.229253 0.231147 0.229253 0.22736 +0.229253 0.229253 0.22736 0.22736 0.22736 0.231147 0.231147 0.223573 +0.219787 0.22168 0.225467 0.217893 0.22736 0.229253 0.22168 0.22168 +0.216 0.00098 0.000986667 0.216 0.00098 0.00098 0.000993333 0.217893 +0.219787 0.000986667 0.000973333 0.000966667 0.00098 0.00098 0.217893 0.22168 +0.22168 0.000973333 0.00096 0.000973333 0.000946667 0.00096 0.000953333 0.00094 +0.000946667 0.00092 0.00092 0.000946667 0.000973333 0.000966667 0.000946667 0.000973333 +0.000973333 0.000993333 0.000993333 0.000993333 0.000966667 0.000946667 0.000966667 0.22168 +0.219787 0.000993333 0.000966667 0.000946667 0.00096 0.219787 0.219787 0.000986667 +0.000946667 0.00094 0.000926667 0.000953333 0.216 0.000986667 0.000993333 0.000953333 +0.000946667 0.000993333 0.22168 0.000993333 0.000953333 0.000953333 0.000973333 0.000926667 +0.00094 0.00098 0.000966667 0.000973333 0.00096 0.000986667 0.000986667 0.00096 +0.000946667 0.00094 0.000953333 0.217893 0.000986667 0.00098 0.000973333 0.000953333 +0.000926667 0.000946667 0.00098 0.000946667 0.00094 0.00096 0.000973333 0.000953333 +0.000953333 0.000953333 0.000926667 0.000953333 0.000966667 0.00094 0.00096 0.00098 +0.217893 0.000946667 0.00098 0.216 0.000946667 0.000946667 0.000953333 0.000966667 +0.00094 0.000946667 0.000906667 0.000953333 0.000993333 0.000986667 0.000973333 0.000973333 +0.000966667 0.00098 0.00098 0.000973333 0.000993333 0.000993333 0.000946667 0.00094 +0.000953333 0.00098 0.000986667 0.000966667 0.000966667 0.000986667 0.216 0.216 +0.00096 0.000946667 0.00096 0.000993333 0.000993333 0.000993333 0.000986667 0.000993333 +0.000986667 0.000973333 0.00098 0.000946667 0.000966667 0.00098 0.00094 0.00096 +0.000953333 0.000986667 0.00096 0.000993333 0.000973333 0.000946667 0.00096 0.00094 +0.000973333 0.00098 0.217893 0.00098 0.000933333 0.00094 0.00094 0.000933333 +0.000973333 0.00096 0.000933333 0.000926667 0.00096 0.216 0.216 0.000966667 +0.000973333 0.00098 0.000966667 0.000993333 0.217893 0.000986667 0.00096 0.000966667 +0.000973333 0.000953333 0.000966667 0.000933333 0.000993333 0.22168 0.000973333 0.00094 +0.00096 0.000986667 0.000973333 0.000953333 0.000953333 0.00096 0.000993333 0.000993333 +0.00098 0.000986667 0.219787 0.223573 0.00098 0.00098 0.217893 0.217893 +0.000986667 0.216 0.217893 0.229253 0.23304 0.22736 0.216 0.219787 +0.22736 0.22168 0.225467 0.23304 0.23872 0.217893 0.000986667 0.225467 +0.225467 0.22168 0.223573 0.219787 0.219787 0.229253 0.231147 0.236827 +0.225467 0.225467 0.242507 0.2444 0.23872 0.23304 0.231147 0.234933 +0.2444 0.251973 0.25008 0.246293 0.251973 0.259547 0.269013 0.286053 +0.28416 0.28416 0.29552 0.304987 0.31824 0.34096 0.378827 0.486747 +0.563789 0.660421 0.776 0.903579 1.00906 1.06761 1.17108 1.11478 +1.03584 0.976842 0.826526 0.669895 0.548 0.467813 0.429947 0.456453 +0.521474 0.609895 0.744421 0.892842 0.998612 1.03551 1.04041 1.02049 +0.969895 0.841053 0.695789 0.562526 0.405333 0.263333 0.000986667 0.000946667 +0.000933333 0.0009 0.0009 0.000873333 0.000873333 0.00088 0.000853333 0.000846667 +0.000873333 0.000906667 0.00088 0.000833333 0.000846667 0.000873333 0.000866667 0.00088 +0.000866667 0.000893333 0.000846667 0.000833333 0.000853333 0.00088 0.000853333 0.00092 +0.00096 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.0009 0.000833333 0.0008 0.000813333 0.000806667 0.000793333 0.000786667 +0.000793333 0.00078 0.000793333 0.000786667 0.00078 0.000766667 0.000766667 0.000766667 +0.000786667 0.000793333 0.000793333 0.000786667 0.0008 0.000813333 0.000806667 0.00082 +0.000846667 0.00082 0.000813333 0.000826667 0.000826667 0.000826667 0.000886667 0.000973333 +0.000953333 0.000973333 0.257653 0.37504 0.549895 0.698947 0.870105 0.994694 +1.03486 1.04759 1.03388 0.989469 0.855579 0.693263 0.563158 0.496213 +0.416693 0.359893 0.304987 0.3012 0.382613 0.537263 0.678737 0.855579 +1.0009 1.06152 1.18173 1.16956 1.05771 1.00841 0.913684 0.786105 +0.664842 0.565684 0.503789 0.4148 0.356107 0.327707 0.310667 0.291733 +0.291733 0.28984 0.280373 0.269013 0.265227 0.26712 0.259547 0.248187 +0.236827 0.25008 0.246293 0.242507 0.236827 0.231147 0.22736 0.223573 +0.219787 0.22168 0.22736 0.236827 0.236827 0.240613 0.236827 0.229253 +0.225467 0.223573 0.217893 0.000993333 0.22736 0.231147 0.223573 0.223573 +0.22168 0.219787 0.217893 0.000986667 0.216 0.219787 0.223573 0.22736 +0.000993333 0.000986667 0.000993333 0.000973333 0.000986667 0.000993333 0.223573 0.22736 +0.223573 0.000966667 0.000953333 0.00098 0.000986667 0.217893 0.00098 0.000966667 +0.000973333 0.00094 0.00094 0.000966667 0.000973333 0.000913333 0.000926667 0.00096 +0.000966667 0.000993333 0.000986667 0.000966667 0.00096 0.000946667 0.216 0.217893 +0.00096 0.00096 0.000966667 0.000946667 0.00098 0.22168 0.216 0.000993333 +0.000946667 0.000953333 0.000953333 0.000973333 0.00098 0.000973333 0.000966667 0.000946667 +0.000966667 0.216 0.225467 0.219787 0.000953333 0.000953333 0.00094 0.000893333 +0.00096 0.000973333 0.000953333 0.000966667 0.000966667 0.000993333 0.219787 0.000986667 +0.000946667 0.00094 0.000966667 0.000993333 0.000993333 0.217893 0.000973333 0.000946667 +0.00092 0.000953333 0.000966667 0.000953333 0.00098 0.00098 0.000986667 0.00096 +0.000953333 0.00096 0.00094 0.000966667 0.00096 0.000926667 0.00096 0.000993333 +0.216 0.000966667 0.000986667 0.00098 0.000933333 0.00096 0.000966667 0.219787 +0.217893 0.000973333 0.000913333 0.00098 0.217893 0.00098 0.00096 0.00096 +0.000933333 0.000966667 0.000986667 0.000973333 0.219787 0.216 0.000953333 0.00094 +0.000966667 0.000993333 0.00098 0.000973333 0.00098 0.00096 0.00096 0.000973333 +0.00094 0.00094 0.000973333 0.00096 0.00098 0.216 0.000986667 0.223573 +0.219787 0.000993333 0.00098 0.000926667 0.00096 0.000973333 0.000926667 0.00096 +0.000933333 0.00098 0.000966667 0.000973333 0.000986667 0.000933333 0.00096 0.000953333 +0.000966667 0.00098 0.000973333 0.000966667 0.000933333 0.000966667 0.000986667 0.000946667 +0.000946667 0.00094 0.000953333 0.000966667 0.000973333 0.000993333 0.219787 0.000973333 +0.00096 0.000966667 0.00094 0.00098 0.000993333 0.00098 0.00096 0.000926667 +0.000926667 0.000953333 0.000973333 0.000946667 0.000993333 0.22168 0.00098 0.00096 +0.000973333 0.216 0.216 0.000993333 0.216 0.00096 0.000993333 0.00098 +0.000973333 0.219787 0.216 0.223573 0.000993333 0.000973333 0.216 0.217893 +0.219787 0.22168 0.22168 0.22736 0.23304 0.225467 0.000993333 0.223573 +0.22736 0.22168 0.225467 0.229253 0.234933 0.223573 0.000986667 0.225467 +0.229253 0.22168 0.229253 0.234933 0.22736 0.22736 0.23304 0.23872 +0.225467 0.22736 0.23872 0.248187 0.246293 0.242507 0.246293 0.242507 +0.246293 0.25008 0.263333 0.26712 0.269013 0.2728 0.2728 0.287947 +0.299307 0.3012 0.310667 0.331493 0.36936 0.4432 0.530947 0.620632 +0.746947 0.889053 0.994694 1.04498 1.13912 1.1513 1.04596 0.985878 +0.866316 0.729263 0.595368 0.503789 0.393973 0.39208 0.42616 0.515789 +0.609895 0.755158 0.908 1.0022 1.03029 1.0231 0.991429 0.889684 +0.752632 0.617474 0.512632 0.342853 0.242507 0.000946667 0.000913333 0.000913333 +0.000926667 0.000926667 0.000913333 0.000913333 0.00088 0.0009 0.000893333 0.000873333 +0.000846667 0.000846667 0.000866667 0.000846667 0.000813333 0.000853333 0.00086 0.00084 +0.000833333 0.00084 0.00084 0.00084 0.000833333 0.000873333 0.000933333 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 0.000506667 +0.000506667 0.000506667 0.000506667 0.000506667 \ No newline at end of file diff --git a/examples/advanced/medical_linac/Launches/dicom/3.g4dcmb b/examples/advanced/medical_linac/Launches/dicom/3.g4dcmb new file mode 100755 index 0000000000..278d885d4d Binary files /dev/null and b/examples/advanced/medical_linac/Launches/dicom/3.g4dcmb differ diff --git a/examples/advanced/medical_linac/Launches/dicom/CT2Density.dat b/examples/advanced/medical_linac/Launches/dicom/CT2Density.dat new file mode 100755 index 0000000000..18c25c235d --- /dev/null +++ b/examples/advanced/medical_linac/Launches/dicom/CT2Density.dat @@ -0,0 +1,8 @@ + 7 + -1100 0.0 + -950 0.001 + -950 0.216 + -800 0.5 + -40 0.98 + 205 1.06 + 1200 2.574 diff --git a/examples/advanced/medical_linac/Launches/dicom/CT_abdomen.mov b/examples/advanced/medical_linac/Launches/dicom/CT_abdomen.mov new file mode 100755 index 0000000000..160c3b2595 Binary files /dev/null and b/examples/advanced/medical_linac/Launches/dicom/CT_abdomen.mov differ diff --git a/examples/advanced/medical_linac/Launches/dicom/ColourMap.dat b/examples/advanced/medical_linac/Launches/dicom/ColourMap.dat new file mode 100755 index 0000000000..7d9f22c83f --- /dev/null +++ b/examples/advanced/medical_linac/Launches/dicom/ColourMap.dat @@ -0,0 +1,9 @@ +7 +Water 0.0 0.0 0.0 0.0 +Air 0.0 0.0 0.0 0.0 +G4_B-100_BONE 1.0 1.0 0.0 1.0 +LungInhale 0.0 0. 0. 1.0 +AdiposeTissue 0.6 0.6 0.6 1.0 +Breast .3 0.3 .3 1.0 +TrabecularBone 1.0 1.0 1.0 1.0 +material red green blue opacity diff --git a/examples/advanced/medical_linac/Launches/dicom/Data.dat b/examples/advanced/medical_linac/Launches/dicom/Data.dat new file mode 100755 index 0000000000..854299c3d8 --- /dev/null +++ b/examples/advanced/medical_linac/Launches/dicom/Data.dat @@ -0,0 +1,13 @@ +1 +3 +1 +2 +3 +7 +Water 0.0 +Air 0.001 +G4_B-100_BONE 0.216 +LungInhale 0.5 +AdiposeTissue 0.98 +Breast 1.06 +TrabecularBone 2.574 diff --git a/examples/advanced/medical_linac/Launches/experimental/VoxelsTest.txt b/examples/advanced/medical_linac/Launches/experimental/VoxelsTest.txt new file mode 100755 index 0000000000..98cb12797a --- /dev/null +++ b/examples/advanced/medical_linac/Launches/experimental/VoxelsTest.txt @@ -0,0 +1,31 @@ +6 MeV Full Water Phantom +Start +2 +1 10 1 +11 25 1 +x y z dx dy dz dose +(0, 0, -140) (5, 5 , 5) 0 +(0, 0, -120) (5, 5 , 5) 0 +(0, 0, -100) (5, 5 , 5) 0 +(0, 0, -80) (5, 5 , 5) 0 +(0, 0, -60) (5, 5 , 5) 0 +(0, 0, -40) (5, 5 , 5) 0 +(0, 0, -20) (5, 5 , 5) 0 +(0, 0, 0) (5, 5 , 5) 0 +(0, 0, 20) (5, 5 , 5) 0 +(0, 0, 40) (5, 5 , 5) 0 +(0, 140, 0) (5, 10 , 5) 0 +(0, 120, 0) (5, 10 , 5) 0 +(0, 100, 0) (5, 10 , 5) 0 +(0, 80, 0) (5, 10 , 5) 0 +(0, 60, 0) (5, 10 , 5) 0 +(0, 40, 0) (5, 10 , 5) 0 +(0, 20, 0) (5, 10 , 5) 0 +(0, 0, 0) (5, 10 , 5) 0 +(0, -20, 0) (5, 10 , 5) 0 +(0, -40, 0) (5, 10 , 5) 0 +(0, -60, 0) (5, 10 , 5) 0 +(0, -80, 0) (5, 10 , 5) 0 +(0, -100, 0) (5, 10 , 5) 0 +(0, -120, 0) (5, 10 , 5) 0 +(0, -140, 0) (5, 10 , 5) 0 \ No newline at end of file diff --git a/examples/advanced/medical_linac/Launches/macro_files/accelerator/acc1.mac b/examples/advanced/medical_linac/Launches/macro_files/accelerator/acc1.mac new file mode 100755 index 0000000000..0de085083e --- /dev/null +++ b/examples/advanced/medical_linac/Launches/macro_files/accelerator/acc1.mac @@ -0,0 +1,28 @@ +/accelerator/idEnergy 6 +/accelerator/aperture1X -100 mm +/accelerator/aperture2X 100 mm +/accelerator/aperture1Y -100 mm +/accelerator/aperture2Y 100 mm + +/accelerator/leavesA 200 +/accelerator/leavesA 200 +/accelerator/leavesA 200 +/accelerator/leavesA 200 +/accelerator/leavesA 200 +/accelerator/leavesA 200 +/accelerator/leavesA 200 +/accelerator/leavesA 200 +/accelerator/leavesA 200 +/accelerator/leavesA 200 + +/accelerator/leavesB 200 +/accelerator/leavesB 200 +/accelerator/leavesB 200 +/accelerator/leavesB 200 +/accelerator/leavesB 200 +/accelerator/leavesB 200 +/accelerator/leavesB 200 +/accelerator/leavesB 200 +/accelerator/leavesB 200 +/accelerator/leavesB 200 + diff --git a/examples/advanced/medical_linac/Launches/macro_files/main/ml2.mac b/examples/advanced/medical_linac/Launches/macro_files/main/ml2.mac new file mode 100755 index 0000000000..56c76c278a --- /dev/null +++ b/examples/advanced/medical_linac/Launches/macro_files/main/ml2.mac @@ -0,0 +1,92 @@ +########### Launch parameters ######### +### + +### Visualization + +/OnlyVisio false # switch the visualization mode + +### Experimental comparison and convergence + +/convergence/bCompareExp true # to compare the data with an experimental file data +/convergence/nMaxLoop 2 # it is used if /convergence/bCompareExp is false +/convergence/fileExperimentalData MyDirectory/Launches/experimental/VoxelsTest.txt # name of the experimental file +/convergence/maxNumberOfEvents 50 # maximum number of events at least in one experimental voxel +/convergence/fileExperimentalDataOut MyDirectory/Launches/results/experimental/VoxelsTestOut # full path and name of the experimental file results + +### Phase space + +/general/centrePhaseSpace 0 0 550 mm # position of the centre of the plane phase space +/general/halfSizePhaseSpace 200 200 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/PhaseSpaceOutFile MyDirectory/Launches/results/PhSp/PhSp_Acc1 # full file name of the phase space +/general/bForcePhaseSpaceBeforeJaws true + +### Simulation oputput + +/general/bSaveROG true # true if save the ROG volume +/general/ROGOutFile MyDirectory/Launches/results/ROG/ROG_DICOM_ # full path of the ROG file name + + +### Number of primary events + +/general/nBeam 1000000 # number of events to run + + +### NUMBER STORED + +/general/nMaxParticlesInRamPlanePhaseSpace 1000000 # maximum particle number stored in RAM before saving - for phase space +/general/saving_in_Selected_Voxels_every_events 10000 # 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 10000000 # maximum particle number stored in the phase space file + + +### Primary generator + +/primaryParticleData/nMaxParticlesInRamPhaseSpace 300000 # 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 # radius primary particles beam +/primaryParticleData/sourceTypeName randomTarget # type of particle generator source +/primaryParticleData/calculatedPhaseSpaceFileIN MyDirectory/MyPhaseSpaceFIle # full path and file name of the phase space file to be used as particle generator + +### PHANTOM + +/phantom/PhantomName fullWater # phantom name to select among those implemented +/phantom/PhantomFileName MyDirectory/Launches/mac/phantom/MyPhantomMacFile # full path and macro file name containing specific setup data for the phantom chosen +/phantom/centre 0 0 0 # phantom centre coordinates in the world [mm] +/phantom/centre -50 50 0 # phantom centre coordinates in the world [mm] + +### ACCELERATOR + +/accelerator/AcceleratorName acc1 # accelerator name to select among those implemented +/accelerator/AcceleratorMacFileName MyDirectory/Launches/macro_files/accelerator/acc1.mac # full path and macro file name containing specific setup data for the accelerator chosen +/accelerator/isoCentre 1000 mm # distance between the isocentre and the target of the accelerator +/accelerator/rotation90Y false # to rotate the accelerator of 90 deg around the Y axis (true) +/accelerator/rotationX 0 deg # angles of rotation along X [deg] +/accelerator/rotationX 200 deg # angles of rotation along X [deg] +/accelerator/rotationX -45 deg # angles of rotation along X [deg] + +### Physic + +#/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 +# Dicom1 // phantom dicom diff --git a/examples/advanced/medical_linac/Launches/macro_files/phantom/dicomPhantom.mac b/examples/advanced/medical_linac/Launches/macro_files/phantom/dicomPhantom.mac new file mode 100755 index 0000000000..334304ea64 --- /dev/null +++ b/examples/advanced/medical_linac/Launches/macro_files/phantom/dicomPhantom.mac @@ -0,0 +1,9 @@ +/dicom/dicomDirectory MyDirectory/Launches/dicom/ +/dicom/fileData Data.dat +/dicom/calibrationDensityFileName CT2Density.dat +/dicom/dicomColorMap ColourMap.dat +/dicom/nROGVoxelsX 512 +/dicom/nROGVoxelsY 512 +/dicom/nROGVoxelsZ 3 + + diff --git a/examples/advanced/medical_linac/Launches/results/PhSp/empty.txt b/examples/advanced/medical_linac/Launches/results/PhSp/empty.txt new file mode 100644 index 0000000000..6068d6a5eb --- /dev/null +++ b/examples/advanced/medical_linac/Launches/results/PhSp/empty.txt @@ -0,0 +1 @@ +empty file diff --git a/examples/advanced/medical_linac/Launches/results/ROG/empty.txt b/examples/advanced/medical_linac/Launches/results/ROG/empty.txt new file mode 100644 index 0000000000..6068d6a5eb --- /dev/null +++ b/examples/advanced/medical_linac/Launches/results/ROG/empty.txt @@ -0,0 +1 @@ +empty file diff --git a/examples/advanced/medical_linac/Launches/results/experimental/empty.txt b/examples/advanced/medical_linac/Launches/results/experimental/empty.txt new file mode 100644 index 0000000000..6068d6a5eb --- /dev/null +++ b/examples/advanced/medical_linac/Launches/results/experimental/empty.txt @@ -0,0 +1 @@ +empty file diff --git a/examples/advanced/medical_linac/README_MedLinac2.txt b/examples/advanced/medical_linac/README_MedLinac2.txt index 9e8ec3baaf..9455dab830 100755 --- a/examples/advanced/medical_linac/README_MedLinac2.txt +++ b/examples/advanced/medical_linac/README_MedLinac2.txt @@ -1,30 +1,42 @@ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -| MedLinac2 | -+ + -| README | +| 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). +^Claudio Andenna,*Barbara Caccia with the support of Pablo Cirrone (LNS-INFN Catania, Italy) and with the contribute of Alessandro Occhigrossi* -^ISPESL and INFN Roma, gruppo collegato Sanità, Italy -*Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy + +^INAIL DIPIA - ex ISPESL and INFN Roma, gruppo collegato Sanita', Italy +*Istituto Superiore di Sanita' and INFN Roma, gruppo collegato Sanita', 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. +The user may choice a cubic phantom filled with water, a phantom filled with an equivalent lung-tissue with a inhomogeneity (a 6 cm sided PMMA cube) located in the centre of the phantom, or a DICOM 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 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. Furthermore, the phase space can be calculated only if the accelerator is not rotated. + + The example package contains: +- source files (src, include, ml2.cc) +- GNUmakefile +- README_MedLinac2.txt +- ml2.mac and vis.mac macro files +- a launches directory as an example to use the package (pay attention to properly set the path inside the macro files). It contains also an example of dicom phantom as taken from the extended/medical/DICOM example. +- two log files (macLoop.log and macExp.log) obtained launching the ml2.mac (with the proper directories) with the /convergence/bCompareExp false and /convergence/bCompareExp true respectively. + + +----------------------------------------------------------------------- +----> 1. Experimental set-up. The elements simulated are: @@ -38,34 +50,54 @@ The elements simulated are: 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) +11-Phantom1 ("fullWater") filled with water (cube of 30 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. +13-Phantom3 ("Dicom1") it is a dicom phantom generated starting from *.dcm files. It uses part of the code given in the extended/medical/DICOM example. -The distance between the target and the surface of the phantom (SSD) is 100 cm. +----------------------------------------------------------------------- +----> 2. Some main features + + Dicom phantom +The dicom *.dcm files can be read and used as input data to build a parameterized phantom according to the extended/medical/DICOM example. Only some of the extended example classes have been used and they have been adapted to the architecture of the ML2 program avoiding a deep change in the code. Consequently the dicom part still reads the *.dcm files and translate them into *g4dcm and *g4dcmb files to be used later to build the phantom (for more information on the dicom format, see the readme file in the extended/medical/DICOM example). However new materials have been added and a different way to check if the material defined in the data.dat file are implemented has been realized. +As an example three contiguous dicom images are supplied as an example to use. You can find the three dicom images reproduced as a sequence in the movie CT_abdomen.mov. -----> 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 + Accelerator rotation: +it is possible to arbitrary rotate the accelerator around the X axis (/accelerator/rotationX 20 deg) +it is possible to rotate the accelerator along the y axis of 90 deg (/accelerator/rotation90Y true/false) -----> 3.How to run the example. +The last possibility has been implemented because there was an experimental conflict between the dicom phantom and the accelerator world. Both have the z direction as the main directions, i.e. the dicom slices grows along the z direction and the accelerator gun shoots along the z axis. Consequently it is impossible to irradiate transversally to the phantom (unless the accelerator is rotated along the Y axis of 90 deg). + + Phantom translation: +This feature has been added to allow the possibility to irradiate a particular area of the phantom. The accelerator rotates around the isocentre set at coordinates (/phantom/centre 0,0,0) of the world, consequently to irradiate a selected area of the phantom this has to be located at the world centre. + + +A check of the physical volumes overlap is performed each time the geometry is changed, but not in the case of the dicom phantom because of the very high number of physical volumes. + +Several phantom centres and accelerator rotations (around the X axis) can be independently assigned by the user through the macro file. +The /accelerator/rotation90Y, the /accelerator/rotationX and the /phantom/centre are the only interactive commands to change the geometry during the run. The first doesn't refresh the screen. + +----------------------------------------------------------------------- +----> 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. +This file contains some setup information and the name of other macro files (the accelerator macro file -"acc1.mac"- and, if required by the phantom chosen the phantom macro file -"dicomPhantom.mac"-) describing the chosen accelerator and phantom. If the dicom phantom is chosen other data files are necessary (typically data.dat, CT2Denstity.dat, ColourMap.dat) according to the extended example. -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). +Inside the ml2.mac file there is a flag "/OnlyVisio" that has to be set to "true" to switch on the visualization mode calling the "vis.mac" file ("false" for the modality without visualization). Generally the visualization should be used to check the set up of the simulation while to compute the dose is faster to switch it to false. The example needs as input data the macro file (like "ml2.mac") and a seed number. -The string the command +Medlinac2 can be launched using a macro file: $G4WORKDIR/bin/Linux-g++/ml2 -is equivalent to +that 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 @@ -73,36 +105,47 @@ The ML2Physicslist class allows the activation of all the physic models either u or the physics package lists. The standard electromagnetic option3 model is the default model. ------------------------------------------------------------------------ -----> 5. Simulation output +----> 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 +a progressive number, position, direction, kinetic energy, PDGE code of the particle, PDG 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). +2) An output file written in matlab format generated from an experimental data file (if provided). The coordinates of the voxels don't follow any phantom translation, in case the user has to properly modify the code. 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 +3) Some output files containing the ROG results, one for each simulated geometry and one collecting all the simulated geometries results. +Each file contains (among the others): +index of the material 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 +------------------------------------------------------------------------ +----> 6. Main differences with the previous ML2 release. -Contacts +This release of the example has been deeply modified and it is hard to detailed enumerate the differences with the previous one. What it will be described here are just the main features modified or added. + +The main mac file has been modified. Some new parameters have been added and others have been modified to have more intuitive names. + +The SSD parameter has been deleted. +The environmental variables ML2FILEIN and ML2FILEOUT are not been used any more and each file has to be given with its full path. + +The output file containing the ROG results has been changed. The first data now is the id of the material name of the physical volume and not its name to allow an easier way to filter different materials (and hopefully the physical volumes). + +------------------------------------------------------------------------ +----> 7. 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 +Claudio Andenna at claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it -Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +Istituto Superiore di Sanita' and INFN Roma, gruppo collegato Sanita', Italy Viale Regina Elena 299, 00161 Roma (Italy) tel (39) 06 49902246 fax (39) 06 49387075 diff --git a/examples/advanced/medical_linac/fileIn/VoxelsTest.txt b/examples/advanced/medical_linac/fileIn/VoxelsTest.txt deleted file mode 100755 index bf3495ac23..0000000000 --- a/examples/advanced/medical_linac/fileIn/VoxelsTest.txt +++ /dev/null @@ -1,608 +0,0 @@ -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/DicomDetectorConstruction.hh b/examples/advanced/medical_linac/include/DicomDetectorConstruction.hh new file mode 100755 index 0000000000..6c6fe47423 --- /dev/null +++ b/examples/advanced/medical_linac/include/DicomDetectorConstruction.hh @@ -0,0 +1,191 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// Author: P. Arce +// History: 30.11.07 First version +//******************************************************* +// +// DicomDetectorConstruction.hh : +// - Start the building of the geometry +// - Initialisation of materials +// - Creation of the world +// - Reading of the DICOM data +//******************************************************* +// +// The code is part of the DICOM extended example and it was modified by : +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* +// +// ^INAIL DIPIA - ex 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 DicomDetectorConstruction_h +#define DicomDetectorConstruction_h 1 + +#include "globals.hh" +#include "G4VUserDetectorConstruction.hh" +#include "DicomPatientZSliceHeader.hh" + + // added ML2 start +#include "G4SDManager.hh" +#include "G4ProductionCuts.hh" + +#include "ML2SDWithParticle.hh" +#include "ML2SDWithVoxels.hh" +#include "ML2ReadOutGeometry.hh" +#include "ML2_DicomMessenger.hh" + +class CML2_DicomMessenger; +// end + +class G4Material; +class G4Box; +class G4LogicalVolume; + +class DicomDetectorConstruction : public G4VUserDetectorConstruction +{ +public: + + DicomDetectorConstruction(); + ~DicomDetectorConstruction(); + + G4VPhysicalVolume *Construct(){return this->world_phys;}; + + + void Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG); // changed ML2 + // trigger the construction of the geometry + + // added ML2 start + virtual void ConstructPatient() =0; + // construct the patient volumes. This method should be implemented for each of the derived classes + inline CML2SDWithVoxels* getSensDet(){return this->sensDet;}; + inline G4VPhysicalVolume *getPhysicalVolume(){return this->world_phys;}; + + inline void setDataFileName(G4String val){this->fileData=val;}; + inline void setCalibrationDensityFileName(G4String val){this->calibrationDensityFileName=val;}; + inline void setDicomDirectory(G4String val){this->dicomDirectory=val;}; + inline void setDicomColorMap(G4String val){this->dicomColorMap=val;}; + inline void setNROGVoxelsX(G4int val){this->nROGVoxelsX=val;}; + inline void setNROGVoxelsY(G4int val){this->nROGVoxelsY=val;}; + inline void setNROGVoxelsZ(G4int val){this->nROGVoxelsZ=val;}; + + inline G4String getDataFileName(){return this->fileData;}; + inline G4String getCalibrationDensityFileName(){return this->calibrationDensityFileName;}; + inline G4String getDicomDirectory(){return this->dicomDirectory;}; + inline G4String getDicomColorMap(){return this->dicomColorMap;}; + + inline G4int getTotalNumberOfEvents(){return this->sensDet->getTotalNumberOfEvents();}; + inline void setSurfaceToTargetZValue(G4double val){this->surfaceToTargetZValue=val;}; + inline G4String* getMatNames(){return this->matNames;}; + inline G4int getNmatNames(){return this->nMatNames;}; + G4ThreeVector getHalfContainerSize(); + void writeInfo(); +private: + G4String dicomDirectory, fileData, calibrationDensityFileName, dicomColorMap; + CML2_DicomMessenger *dicomMessenger; + + void ML2_G4NIST_Materials(); + G4double *density; + G4String *inputMatNames; + G4String *matNames; + G4int nMatNames, nInputMatNames; + G4ThreeVector halfContainerSize; +// end + +protected: + void InitialisationOfMaterials(); + // create the original materials + + void ReadPatientData(G4String directory, G4String fileName); // changed ML2 + // read the DICOM files describing the patient + + void ReadPatientDataFile(const G4String& fname); + // read one of the DICOM files describing the patient (usually one per Z slice). Build a DicomPatientZSliceHeader for each file + + void MergeZSliceHeaders(); + // merge the slice headers of all the files + + G4Material* BuildMaterialWithChangingDensity( const G4Material* origMate, G4double density, G4String newMateName ); + // build a new material if the density of the voxel is different to the other voxels + + G4String ftoa(float flo); + // convert a float to a string + + void ConstructPatientContainer(); + + void SetScorer(G4LogicalVolume* voxel_logic); + + +protected: + G4Material* air; + + // World ... + G4Box* world_solid; + G4LogicalVolume* world_logic; + G4VPhysicalVolume* world_phys; + + G4Box* container_solid; + G4LogicalVolume* container_logic; + G4VPhysicalVolume* container_phys; + + G4int fNoFiles; // number of DICOM files + std::vector fOriginalMaterials; // list of original materials + std::vector fMaterials; // list of new materials created to distinguish different density voxels that have the same original materials + size_t* fMateIDs; // index of material of each voxel + //unsigned int* fMateIDs; // index of material of each voxel + + std::map fDensityDiffs; // Density difference to distinguish material for each original material (by index) + + std::vector fZSliceHeaders; // list of z slice header (one per DICOM files) + DicomPatientZSliceHeader* fZSliceHeaderMerged; // z slice header resulted from merging all z slice headers + + G4int nVoxelX, nVoxelY, nVoxelZ; + G4double voxelHalfDimX, voxelHalfDimY, voxelHalfDimZ; + + // added ML2 start +CML2SDWithVoxels *sensDet; +G4int saving_in_ROG_Voxels_every_events; +G4int seed; +G4String ROGOutFile; +G4bool bSaveROG; +G4int nROGVoxelsX, nROGVoxelsY, nROGVoxelsZ; +G4Region *regVol; +G4double surfaceToTargetZValue; +// end +}; + +#endif + diff --git a/examples/advanced/medical_linac/include/DicomHandler.hh b/examples/advanced/medical_linac/include/DicomHandler.hh new file mode 100755 index 0000000000..38717050df --- /dev/null +++ b/examples/advanced/medical_linac/include/DicomHandler.hh @@ -0,0 +1,139 @@ +// +// ******************************************************************** +// * 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 : +// *Louis Archambault louis.archambault@phy.ulaval.ca, +// *Luc Beaulieu beaulieu@phy.ulaval.ca +// +Vincent Hubert-Tremblay at tigre.2@sympatico.ca +// +// +// *Centre Hospitalier Universitaire de Quebec (CHUQ), +// Hotel-Dieu de Quebec, departement de Radio-oncologie +// 11 cote du palais. Quebec, QC, Canada, G1R 2J6 +// tel (418) 525-4444 #6720 +// fax (418) 691 5268 +// +// + Universit� Laval, Qu�bec (QC) Canada +//*******************************************************// + +//******************************************************* +// +// DicomHandler.hh : +// - Handling of DICM images +// - Transforming *.dcm to *.g4 ( pixels->density ) +// - Reading headers and pixels +// - Transforming pixel to density and creating *.g4 +// files +// - Functions are in DicomHandler.cc +// +// +// Base on previous code by : +// Dragan Tubic +//******************************************************* +// +// The code is part of the DICOM extended example and it was modified by : +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* +// +// ^INAIL DIPIA - ex 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 DicomHandler_h +#define DicomHandler_h 1 + +#include +#include +#include + +#include "globals.hh" + + +class DicomHandler +{ +public: + + DicomHandler(); + + ~DicomHandler(); + + G4int ReadFile(FILE *,char *); + G4int ReadData(FILE *,char *); // note: always use readHeader + // before readData + + // use ImageMagick to display the image + //G4int displayImage(char[500]); + + void CheckFileFormat(G4String directory, G4String fileName, G4String calibrationDensityFileName); + +private: + template void GetValue(char *, Type &); + +private: + + const int DATABUFFSIZE; + const int LINEBUFFSIZE; + const int FILENAMESIZE; + + void GetInformation(G4int &, char *); + G4float Pixel2density(G4int pixel); + void ReadMaterialIndices( std::ifstream& finData); + unsigned int GetMaterialIndex( G4float density ); + void StoreData(std::ofstream& foutG4DCM); + + short compression; + G4int nFiles; + short rows; + short columns; + short bitAllocated; + G4int maxPixelValue, minPixelValue; + + G4double pixelSpacingX, pixelSpacingY; + G4double sliceThickness; + G4double sliceLocation; + + G4int rescaleIntercept, rescaleSlope; + + G4bool littleEndian, implicitEndian; + short pixelRepresentation; + + G4int** tab; + std::map fMaterialIndices; + + G4String dicomDirectory, fileData, calibrationDensityFileName; + +}; +#endif + diff --git a/examples/extended/medical/DICOM/include/DicomPatientZSliceHeader.hh b/examples/advanced/medical_linac/include/DicomPatientZSliceHeader.hh old mode 100644 new mode 100755 similarity index 86% rename from examples/extended/medical/DICOM/include/DicomPatientZSliceHeader.hh rename to examples/advanced/medical_linac/include/DicomPatientZSliceHeader.hh index 9c20b615da..311c1df1a4 --- a/examples/extended/medical/DICOM/include/DicomPatientZSliceHeader.hh +++ b/examples/advanced/medical_linac/include/DicomPatientZSliceHeader.hh @@ -30,6 +30,24 @@ // DicomPatientZSliceHeader.hh : // - Contains the meta data information corresponding to one or several Z slices (number of voxels, dimension) //******************************************************* +// +// The code is part of the DICOM extended example and it was modified by : +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* +// +// ^INAIL DIPIA - ex 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 DicomPatientZSliceHeader_h #define DicomPatientZSliceHeader_h 1 diff --git a/source/processes/hadronic/models/parton_string/qgsm/include/G4PartonStringAnnihilator.hh b/examples/advanced/medical_linac/include/DicomPhantomParameterisationColour.hh old mode 100644 new mode 100755 similarity index 51% rename from source/processes/hadronic/models/parton_string/qgsm/include/G4PartonStringAnnihilator.hh rename to examples/advanced/medical_linac/include/DicomPhantomParameterisationColour.hh index d2bc37f56e..bf3db77a36 --- a/source/processes/hadronic/models/parton_string/qgsm/include/G4PartonStringAnnihilator.hh +++ b/examples/advanced/medical_linac/include/DicomPhantomParameterisationColour.hh @@ -23,49 +23,59 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// class DicomPhantomParameterisationColour // -// $Id: G4PartonStringAnnihilator.hh,v 1.2 2006/06/29 20:56:11 gunter Exp $ -// ----------------------------------------------------------------------------- -// GEANT 4 class implementation file +// Class description: +// +// Class inherited from G4PhantomParameterisation to provide different colour for each material +// History: +// - Created. P. Arce, 5 December 2007 +// ********************************************************************* // -// History: first implementation, Maxim Komogorov, 9-Oct-1998 -// ----------------------------------------------------------------------------- -#ifndef G4PartonStringAnnihilator_h -#define G4PartonStringAnnihilator_h 1 - -#include "G4KineticTrack.hh" -#include "G4ExcitedString.hh" -#include "G4MesonSplitter.hh" -#include "G4BaryonSplitter.hh" +// The code is part of the DICOM extended example and it was modified by : +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* +// +// ^INAIL DIPIA - ex 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 +// +//*******************************************************// -class G4PartonStringAnnihilator - { -public: - G4PartonStringAnnihilator(); - -public: - - G4double GetCrossSection(G4KineticTrack& aTarget, G4KineticTrack& aProjectile); - G4ExcitedString* GetString(G4KineticTrack& Target, G4KineticTrack& Projectile); +#ifndef DicomPhantomParameterisationColour_HH +#define DicomPhantomParameterisationColour_HH - G4bool SplitUpBarion(G4int Encoding, G4int* q_or_qqbar, G4int* qbar_or_qq); //! - - G4bool isMeson(G4int Encoding); - G4bool isBarion(G4int Encoding); - G4bool isAntiParticle(G4int Encoding); +#include -private: - G4bool GetStringEnds(G4int Projectile, G4int Target, G4int* Left, G4int* Right); - G4bool FindDiquark(G4int Encoding, G4int Quark, G4int* Diquark); - G4bool FindQuark(G4int Encoding, G4int Diquark, G4int* Quark); +#include "G4PhantomParameterisation.hh" +class G4VisAttributes; + +class DicomPhantomParameterisationColour : public G4PhantomParameterisation +{ +public: // with description + + DicomPhantomParameterisationColour(G4String dicomDirectory, G4String dicomColorMap); + ~DicomPhantomParameterisationColour(); + + virtual G4Material* ComputeMaterial(const G4int repNo, + G4VPhysicalVolume *currentVol, + const G4VTouchable *parentTouch=0); + +private: + void ReadColourData(); private: + std::map fColours; + G4String dicomDirectory, dicomColorMap; +}; - G4double widthOfPtSquare; - G4MesonSplitter theMesonSplitter; - G4BaryonSplitter theBaryonSplitter; - }; -// ************************************************************************************************* #endif diff --git a/examples/advanced/medical_linac/include/ML2Acc1.hh b/examples/advanced/medical_linac/include/ML2Acc1.hh index f76ea2ddc0..e29765eac8 100755 --- a/examples/advanced/medical_linac/include/ML2Acc1.hh +++ b/examples/advanced/medical_linac/include/ML2Acc1.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -66,18 +67,21 @@ public: CML2Acc1(void); ~CML2Acc1(void); static CML2Acc1* GetInstance(void); - void Construct(G4VPhysicalVolume *PVWorld); + void Construct(G4VPhysicalVolume *PVWorld, G4double isoCentre); + void reset(); 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 setIsoCentre(G4double val){this->isoCentre=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);}; - + inline int getidEnergy(){return this->idEnergy;}; + G4double getBeforeJaws_Z_PhaseSpacePosition(){return 215.;}; + void writeInfo(); private: - G4double jaw1XAperture, jaw2XAperture, jaw1YAperture, jaw2YAperture, SSD; + G4double jaw1XAperture, jaw2XAperture, jaw1YAperture, jaw2YAperture, isoCentre; std::vector leavesA, leavesB; G4int idEnergy; CML2Acc1Messenger *acc1Messenger; @@ -96,7 +100,7 @@ private: bool Jaw1Y(); bool Jaw2Y(); bool MLC(); - G4VPhysicalVolume *PVWorld; + G4VPhysicalVolume * PVWorld; }; #endif diff --git a/examples/advanced/medical_linac/include/ML2Acc1Messenger.hh b/examples/advanced/medical_linac/include/ML2Acc1Messenger.hh index 0a7ac66788..aa96ef3bb4 100755 --- a/examples/advanced/medical_linac/include/ML2Acc1Messenger.hh +++ b/examples/advanced/medical_linac/include/ML2Acc1Messenger.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -63,7 +64,7 @@ private: CML2Acc1 *pAcc1; G4UIcmdWithAnInteger *idEnergy; - G4UIcmdWithADoubleAndUnit *aperture1X,*aperture2X, *aperture1Y, *aperture2Y, *SSD, *leavesA, *leavesB; + G4UIcmdWithADoubleAndUnit *aperture1X,*aperture2X, *aperture1Y, *aperture2Y, *leavesA, *leavesB; }; #endif diff --git a/examples/advanced/medical_linac/include/ML2AcceleratorConstruction.hh b/examples/advanced/medical_linac/include/ML2AcceleratorConstruction.hh index d08b866c4e..a70c3efb23 100755 --- a/examples/advanced/medical_linac/include/ML2AcceleratorConstruction.hh +++ b/examples/advanced/medical_linac/include/ML2AcceleratorConstruction.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -39,7 +40,6 @@ // //*******************************************************// - #ifndef CML2AcceleratorConstructionH #define CML2AcceleratorConstructionH @@ -47,34 +47,64 @@ #include "G4VPhysicalVolume.hh" #include "G4LogicalVolume.hh" #include "G4Box.hh" +#include "G4UImanager.hh" +#include "G4GeometryManager.hh" +#include "G4RunManager.hh" + +#include "ML2PrimaryGenerationAction.hh" + #include "ML2Acc1.hh" -class CML2Acc1; class CML2AcceleratorConstructionMessenger; +class CML2PrimaryGenerationAction; + class CML2AcceleratorConstruction { public: CML2AcceleratorConstruction(void); ~CML2AcceleratorConstruction(void); static CML2AcceleratorConstruction* GetInstance(void); - void Construct(G4VPhysicalVolume *PVWorld); - G4VPhysicalVolume *getPhysicalVolume(void){return this->PVAccWorld;}; + bool Construct(G4VPhysicalVolume *PVWorld, G4bool bOnlyVisio); + inline G4VPhysicalVolume *getPhysicalVolume(void){return this->PVAccWorld;}; + void resetAccelerator(); + 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;}; + inline void setAcceleratorMacFileName(G4String val){this->AcceleratorMacFileName=val;}; + + G4String getCurrentRotationString(); + + inline G4String getNextAcceleratorXRotationName(){return this->nextAcceleratorXRotationName;}; + inline void setIsoCentre(G4double val){this->isoCentre=val;}; + inline void setRotation90Y(G4bool val){this->bRotate90Y=val;}; + + inline void addAcceleratorRotationsX(G4double val){this->rotationsX.push_back(val);}; + + inline G4double getAcceleratorIsoCentre(){return this->isoCentre;}; + inline G4String getAcceleratorName(){return this->AcceleratorName;}; + inline G4String getAcceleratorMacFileName(){return this->AcceleratorMacFileName;}; + inline G4double getZ_Value_PhaseSpaceBeforeJaws(){return this->Z_Value_PhaseSpaceBeforeJaws;}; + inline G4bool getRotation90Y(){return this->bRotate90Y;}; + void writeInfo(); + + G4RotationMatrix * rotateAccelerator(); + G4RotationMatrix * rotateAccelerator(G4double angleX); private: - void design(void); + bool design(void); + CML2AcceleratorConstructionMessenger *acceleratorConstructionMessenger; static CML2AcceleratorConstruction * instance; - G4String AcceleratorName, AcceleratorSpecficationsFileName; + G4String AcceleratorName, AcceleratorMacFileName, nextAcceleratorXRotationName; G4VPhysicalVolume *PVAccWorld; G4RotationMatrix *rotation; - G4double rotationX, rotationY, rotationZ; + G4int idCurrentRotationX; + G4double currentRotationX, isoCentre, Z_Value_PhaseSpaceBeforeJaws; + std::vector rotationsX; + G4ThreeVector initialCentre; + G4bool bRotate90Y, bOnlyVisio; + + CML2Acc1 *accelerator1; }; - #endif diff --git a/examples/advanced/medical_linac/include/ML2AcceleratorConstructionMessenger.hh b/examples/advanced/medical_linac/include/ML2AcceleratorConstructionMessenger.hh index 6aa81fa6b8..597ac14aeb 100755 --- a/examples/advanced/medical_linac/include/ML2AcceleratorConstructionMessenger.hh +++ b/examples/advanced/medical_linac/include/ML2AcceleratorConstructionMessenger.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -47,11 +48,16 @@ #include "globals.hh" #include "G4UImessenger.hh" +#include "ML2PrimaryGenerationAction.hh" +#include "ML2PhantomConstruction.hh" + class CML2AcceleratorConstruction; +class CML2PhantomConstruction; class G4UImessenger; class G4UIcmdWithAnInteger; class G4UIcmdWithAString; class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithABool; class CML2AcceleratorConstructionMessenger : public G4UImessenger { @@ -59,11 +65,15 @@ public: CML2AcceleratorConstructionMessenger(CML2AcceleratorConstruction *acceleratorConstructor); ~CML2AcceleratorConstructionMessenger(void); void SetNewValue(G4UIcommand* cmd, G4String newValue); + inline void SetReferenceWorld(G4bool bOnlyVisio) {this->bOnlyVisio=bOnlyVisio;}; private: CML2AcceleratorConstruction *pAcceleratorConstructor; - G4UIcmdWithAString *AcceleratorName, *acceleratorSpecficationsFile; - G4UIcmdWithADoubleAndUnit *rotationX, *rotationY, *rotationZ; + G4UIcmdWithAString *AcceleratorName, *acceleratorMacFileName; + G4UIcmdWithADoubleAndUnit *rotationX, *isoCentre; + G4UIcmdWithABool *bRotate90Y; + + G4bool bOnlyVisio; }; #endif diff --git a/examples/advanced/medical_linac/include/ML2CInputData.hh b/examples/advanced/medical_linac/include/ML2CInputData.hh index cb091c4c15..72881d99ed 100755 --- a/examples/advanced/medical_linac/include/ML2CInputData.hh +++ b/examples/advanced/medical_linac/include/ML2CInputData.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -45,6 +46,8 @@ #include "G4UImessenger.hh" #include "ML2MainMessenger.hh" +#include "ML2WorldConstruction.hh" +#include "ML2PrimaryGenerationAction.hh" class CML2MainMessenger; @@ -54,20 +57,27 @@ public: CML2CInputData(void); ~CML2CInputData(void); + inline G4bool getbOnlyVisio(){return this->bOnlyVisio;}; + 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 setbForcePhaseSpaceBeforeJaws(G4bool val){this->inputData.generalData.bForcePhaseSpaceBeforeJaws=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 setMaxNumberOfEvents(G4int val){this->inputData.generalData.maxNumberOfEvents=val;}; + inline void setNmaxLoop(G4int val){this->inputData.generalData.nMaxLoop=val;}; + inline G4double getMaxNumberOfEvents(){return this->inputData.generalData.maxNumberOfEvents;}; inline void setBCompareExp(G4bool val){this->inputData.generalData.bCompareExp=val;}; inline void setFileExperimentalData(G4String val){this->inputData.generalData.fileExperimentalData=val;}; + inline void setFileExperimentalDataOut(G4String val){this->inputData.generalData.fileExperimentalDataOut=val;}; + inline void setNBeams(G4int val){this->inputData.generalData.nBeam=val;}; inline void setNMaxParticlesInRamPlanePhaseSpace(G4int val){this->inputData.generalData.nMaxParticlesInRamPlanePhaseSpace=val;}; @@ -77,8 +87,8 @@ public: G4bool bOnlyVisio; SInputData inputData; -private: CML2MainMessenger *ML2MainMessenger; +private: }; diff --git a/examples/advanced/medical_linac/include/ML2Convergence.hh b/examples/advanced/medical_linac/include/ML2Convergence.hh index 097de35f25..c4e77b1b66 100755 --- a/examples/advanced/medical_linac/include/ML2Convergence.hh +++ b/examples/advanced/medical_linac/include/ML2Convergence.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -51,10 +52,17 @@ class CML2Convergence { public: - CML2Convergence(G4int seed, G4int saving_in_Selected_Voxels_every_events, G4String FileExperimentalData, G4bool bCompareExp, G4int minNumberOfEvents); + CML2Convergence(); + CML2Convergence(G4int seed, G4int saving_in_Selected_Voxels_every_events, G4String FileExperimentalData, G4String FileExperimentalDataOut, G4bool bCompareExp, G4int maxNumberOfEvents, G4int nRecycling, G4int nMaxLoops); ~CML2Convergence(void); void add(const G4Step* aStep); - G4bool runAgain(); + G4bool stopRun(); + void setMaxNumberOfEvents(G4int val){this->maxNumberOfEvents=val;}; + G4double getMaxNumberOfEvents(){return this->maxNumberOfEvents;}; + CML2ExpVoxels * getExpVoxels(){return this->ML2ExpVoxels;}; + inline void saveResults(){if (this->ML2ExpVoxels!=0){this->ML2ExpVoxels->saveResults();}}; + inline void setNewGeometry(){this->nGeometry++; this->idCurrentLoop=this->nMaxLoops;}; + inline int getNMaxLoops(){return this->nMaxLoops;}; private: G4bool convergenceCriteria(); @@ -64,7 +72,8 @@ private: G4String fileExperimentalData; G4bool bCompareExp; - G4int minNumberOfEvents; + G4int maxNumberOfEvents, nGeometry; + int nMaxLoops, idCurrentLoop; }; #endif diff --git a/examples/advanced/medical_linac/include/ML2DummySD.hh b/examples/advanced/medical_linac/include/ML2DummySD.hh index 110ddc05fe..989085febc 100755 --- a/examples/advanced/medical_linac/include/ML2DummySD.hh +++ b/examples/advanced/medical_linac/include/ML2DummySD.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -52,7 +53,7 @@ class CML2DummySD : public G4VSensitiveDetector public: CML2DummySD(G4String name=""); ~CML2DummySD(void); - G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist); + G4bool ProcessHits(G4Step *, G4TouchableHistory *); }; #endif diff --git a/examples/advanced/medical_linac/include/ML2EventAction.hh b/examples/advanced/medical_linac/include/ML2EventAction.hh index e07ac3b6bd..42da46eacd 100755 --- a/examples/advanced/medical_linac/include/ML2EventAction.hh +++ b/examples/advanced/medical_linac/include/ML2EventAction.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/include/ML2ExpVoxels.hh b/examples/advanced/medical_linac/include/ML2ExpVoxels.hh index 83b3ac731f..009e7a6bb3 100755 --- a/examples/advanced/medical_linac/include/ML2ExpVoxels.hh +++ b/examples/advanced/medical_linac/include/ML2ExpVoxels.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -50,18 +51,22 @@ class CML2ExpVoxels { public: - CML2ExpVoxels(G4bool bHasExperimentalData, G4int saving_in_Selected_Voxels_every_events, G4int seed, G4String FileExperimentalData); + CML2ExpVoxels(G4bool bHasExperimentalData, G4int saving_in_Selected_Voxels_every_events, G4int seed, G4String FileExperimentalData, G4String FileExperimentalDataOut); ~CML2ExpVoxels(void); void add(G4ThreeVector pos, G4double depEnergy, G4double density); + void add(const G4Step* aStep); inline std::vector getVoxels(){return this->voxels;} G4int getMinNumberOfEvents(); + G4int getMaxNumberOfEvents(); G4bool loadData(); + + inline void setRecycling(int recycling){this->nRecycling=recycling;}; + void saveResults(void); private: - void saveHeader(G4String fullOutFileName); - void saveResults(G4String fullOutFileName, std::vector voxels); + void saveHeader(); void calculateNormalizedEd(std::vector &voxels); std::vector voxels; G4ThreeVector minZone, maxZone; @@ -72,8 +77,9 @@ private: G4String seedName, loopName; SGeneralData *generalData; G4int nParticle; - G4int nTotalEvents, saving_in_Selected_Voxels_every_events; + G4int nTotalEvents, saving_in_Selected_Voxels_every_events, nRecycling; G4bool bHasExperimentalData; + }; #endif diff --git a/examples/advanced/medical_linac/include/ML2Main.hh b/examples/advanced/medical_linac/include/ML2Main.hh index 05235f8427..2e45551db4 100755 --- a/examples/advanced/medical_linac/include/ML2Main.hh +++ b/examples/advanced/medical_linac/include/ML2Main.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -51,6 +52,7 @@ #include "ML2MainMessenger.hh" #include "ML2Convergence.hh" #include "ML2CInputData.hh" +#include "ML2RunAction.hh" #include #include diff --git a/examples/advanced/medical_linac/include/ML2MainMessenger.hh b/examples/advanced/medical_linac/include/ML2MainMessenger.hh index a5422fb09f..034b89a11f 100755 --- a/examples/advanced/medical_linac/include/ML2MainMessenger.hh +++ b/examples/advanced/medical_linac/include/ML2MainMessenger.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -55,7 +56,6 @@ #include "ML2CInputData.hh" - class CML2Main; class CML2CInputData; class G4UIcmdWithADouble; @@ -71,24 +71,21 @@ 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; + G4UIcmdWithABool *bSavePhaseSpace, *bStopAtPhaseSpace, *bSaveROG, *bForcePhaseSpaceBeforeJaws; - G4UIcmdWithAnInteger *nBeam, *nMaxParticlesInRamPlanePhaseSpace, *minNumberOfEvents; + G4UIcmdWithAnInteger *nBeam, *nMaxParticlesInRamPlanePhaseSpace, *maxNumberOfEvents; G4UIcmdWithABool *bCompareExp, *bOnlyVisio; - G4UIcmdWithAString * fileExperimentalData; + G4UIcmdWithAString * fileExperimentalData, * fileExperimentalDataOut; G4UIcmdWithAnInteger *saving_in_Selected_Voxels_every_events; G4UIcmdWithAnInteger *saving_in_ROG_Voxels_every_events; - G4UIcmdWithAnInteger *max_N_particles_in_PhSp_File; + G4UIcmdWithAnInteger *max_N_particles_in_PhSp_File, *nMaxLoop; }; #endif diff --git a/examples/advanced/medical_linac/include/ML2Ph_BoxInBox.hh b/examples/advanced/medical_linac/include/ML2Ph_BoxInBox.hh index 78e7c62a9c..0526bbb450 100755 --- a/examples/advanced/medical_linac/include/ML2Ph_BoxInBox.hh +++ b/examples/advanced/medical_linac/include/ML2Ph_BoxInBox.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -67,12 +68,17 @@ public: ~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();}; + inline CML2SDWithVoxels* getSensDet(){return this->sensDet;}; + inline G4VPhysicalVolume *getPhysicalVolume(){return this->PVWorld;}; + inline G4ThreeVector getHalfContainerSize(){return this->halfSize;}; + void writeInfo(); private: G4VPhysicalVolume *PVWorld; CML2SDWithVoxels *sensDet; G4ThreeVector centreBoxInside; - G4double halfBoxInside_Thickness; + G4double halfBoxInside_Thickness, surfaceToTargetZValue; + G4ThreeVector halfSize, centre; }; #endif diff --git a/examples/advanced/medical_linac/include/ML2Ph_FullWater.hh b/examples/advanced/medical_linac/include/ML2Ph_FullWater.hh index ec1cf2d8e0..a8c80b3ad0 100755 --- a/examples/advanced/medical_linac/include/ML2Ph_FullWater.hh +++ b/examples/advanced/medical_linac/include/ML2Ph_FullWater.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -66,9 +67,15 @@ public: ~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();}; + inline CML2SDWithVoxels* getSensDet(){return this->sensDet;}; + inline G4VPhysicalVolume *getPhysicalVolume(){return this->PVWorld;}; + inline G4ThreeVector getHalfContainerSize(){return this->halfSize;}; + void writeInfo(); private: G4VPhysicalVolume *PVWorld; CML2SDWithVoxels *sensDet; + G4ThreeVector centre, halfSize; + G4double surfaceToTargetZValue; }; diff --git a/examples/advanced/medical_linac/include/ML2PhantomConstruction.hh b/examples/advanced/medical_linac/include/ML2PhantomConstruction.hh index 49e66926c4..20f74e5540 100755 --- a/examples/advanced/medical_linac/include/ML2PhantomConstruction.hh +++ b/examples/advanced/medical_linac/include/ML2PhantomConstruction.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -52,45 +53,63 @@ #include "ML2Ph_FullWater.hh" #include "ML2Ph_BoxInBox.hh" + + +// DICOM +#include "DicomHandler.hh" +#include "RegularDicomDetectorConstruction.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; - }; + bool Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG, G4bool bOnlyVisio); + G4int getTotalNumberOfEvents(); + inline G4String getPhantomName(){return this->phantomName;}; 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;}; + inline void setPhantomFileName (G4String val){this->PhantomFileName =val;}; + inline void setNewName(){this->sensDet->setFullOutFileDataSingle("");}; + inline void setNewName(G4String val){this->sensDet->setFullOutFileDataSingle(val);}; + + void applyNewCentre(G4ThreeVector val); + bool applyNewCentre(); // it opens the geometry changes the phantom centre and closes the geometry : used also by CML2PhantomConstructionMessenger + + inline void saveData(){this->sensDet->save();}; + + inline void addNewCentre(G4ThreeVector val){this->centre.push_back(val);}; + + void writeInfo(); + G4String getCurrentTranslationString(); + inline void resetSensDet(){this->sensDet->resetVoxelsSingle();}; private: - void design(void); + bool design(void); + void createPhysicalVolumeNamesList(G4String *matNames, G4int nMatNames); + void createPhysicalVolumeNamesList(G4VPhysicalVolume *PV); CML2PhantomConstructionMessenger *phantomContstructionMessenger; static CML2PhantomConstruction * instance; G4int nVoxelsX, nVoxelsY, nVoxelsZ; - G4String phantomName, PhantomSpecficationsFileName; + G4String phantomName, PhantomFileName ; - G4RotationMatrix *rotation; G4VPhysicalVolume *PVPhmWorld; - G4double rotationX, rotationY, rotationZ; + + CML2SDWithVoxels *sensDet; + std::vector volumeNameIdLink; + G4int idVolumeName; + + G4ThreeVector halfPhantomInsideSize, currentCentre; + std::vector centre; + G4int idCurrentCentre; + CML2Ph_FullWater *Ph_fullWater; CML2Ph_BoxInBox *Ph_BoxInBox; + DicomDetectorConstruction *Ph_Dicom; + G4bool bOnlyVisio; }; #endif diff --git a/examples/advanced/medical_linac/include/ML2PhantomConstructionMessenger.hh b/examples/advanced/medical_linac/include/ML2PhantomConstructionMessenger.hh index c425238802..b24bace69f 100755 --- a/examples/advanced/medical_linac/include/ML2PhantomConstructionMessenger.hh +++ b/examples/advanced/medical_linac/include/ML2PhantomConstructionMessenger.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -46,12 +47,17 @@ #include "globals.hh" #include "G4UImessenger.hh" +#include "G4UImanager.hh" +#include "G4GeometryManager.hh" +#include "G4RunManager.hh" + class CML2PhantomConstruction; class G4UImessenger; class G4UIcmdWithAnInteger; class G4UIcmdWithAString; class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWith3VectorAndUnit; class CML2PhantomConstructionMessenger : public G4UImessenger { @@ -59,12 +65,14 @@ public: CML2PhantomConstructionMessenger(CML2PhantomConstruction *phantomConstructor); ~CML2PhantomConstructionMessenger(void); void SetNewValue(G4UIcommand* cmd, G4String newValue); + inline void SetReferenceWorld(G4bool bOnlyVisio) {this->bOnlyVisio=bOnlyVisio;}; private: + CML2PhantomConstruction *pPhantomConstructor; - G4UIcmdWithAnInteger *Phantom_nVoxelsX, *Phantom_nVoxelsY, *Phantom_nVoxelsZ; - G4UIcmdWithAString *PhantomName, *PhantomSpecficationsFileName; - G4UIcmdWithADoubleAndUnit *rotationX, *rotationY, *rotationZ; + G4UIcmdWith3VectorAndUnit *phantomCentre; + G4UIcmdWithAString *PhantomName, *PhantomFileName ; + G4bool bOnlyVisio; }; #endif diff --git a/examples/advanced/medical_linac/include/ML2PhaseSpaces.hh b/examples/advanced/medical_linac/include/ML2PhaseSpaces.hh index 356fe8ec58..460a000e13 100755 --- a/examples/advanced/medical_linac/include/ML2PhaseSpaces.hh +++ b/examples/advanced/medical_linac/include/ML2PhaseSpaces.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -51,7 +52,6 @@ #include "G4NistManager.hh" #include "ML2SDWithParticle.hh" -#include "ML2SDWithVoxels.hh" #include "G4SDManager.hh" #include "ML2SinputData.hh" @@ -61,13 +61,12 @@ 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); + 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, G4double accTargetZPosition); G4int getCML2SensDetNParticle(){return this->sensDetParticle->getTotalNumberOfParticles();}; inline CML2SDWithParticle* getCML2SensitiveDetectorParticle(){return this->sensDetParticle->getCML2SensitiveDetectorParticle();}; - inline bool getBContinueRun(){return this->sensDetParticle->getBContinueRun();}; - CML2SDWithParticle *sensDetParticle; + inline void save(){this->sensDetParticle->save();} private: - CML2SDWithVoxels *sensDetVoxelized; + CML2SDWithParticle *sensDetParticle; G4int nParticles; }; diff --git a/examples/advanced/medical_linac/include/ML2PhysicsList.hh b/examples/advanced/medical_linac/include/ML2PhysicsList.hh index e46087ff71..99e0bf73af 100755 --- a/examples/advanced/medical_linac/include/ML2PhysicsList.hh +++ b/examples/advanced/medical_linac/include/ML2PhysicsList.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/include/ML2PhysicsListMessenger.hh b/examples/advanced/medical_linac/include/ML2PhysicsListMessenger.hh index 0aab7fef41..617f66952e 100644 --- a/examples/advanced/medical_linac/include/ML2PhysicsListMessenger.hh +++ b/examples/advanced/medical_linac/include/ML2PhysicsListMessenger.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/include/ML2PrimaryGenerationAction.hh b/examples/advanced/medical_linac/include/ML2PrimaryGenerationAction.hh index d465e42b67..ae02bc1ba1 100755 --- a/examples/advanced/medical_linac/include/ML2PrimaryGenerationAction.hh +++ b/examples/advanced/medical_linac/include/ML2PrimaryGenerationAction.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -39,7 +40,6 @@ // //*******************************************************// - #ifndef CML2PrimaryGenerationActionH #define CML2PrimaryGenerationActionH @@ -50,11 +50,13 @@ #include "G4Event.hh" #include "G4Timer.hh" #include "Randomize.hh" +#include "G4RunManager.hh" #include "G4ParticleDefinition.hh" #include "ML2SinputData.hh" #include "ML2SDWithParticle.hh" #include "ML2SDWithVoxels.hh" +#include "ML2PrimaryGenerationActionMessenger.hh" class G4ParticleGun; class G4ParticleDefinition; @@ -63,13 +65,16 @@ class CML2PrimaryGenerationActionMessenger; class CML2PrimaryGenerationAction : public G4VUserPrimaryGeneratorAction { public: - CML2PrimaryGenerationAction(SPrimaryParticle *primaryParticleData); + CML2PrimaryGenerationAction(void); + static CML2PrimaryGenerationAction* GetInstance(void); + ~CML2PrimaryGenerationAction(void); - void design(); + void design(G4double accTargetZPosition); void GeneratePrimaries(G4Event *anEvent); - inline void setNIdenticalParticles(G4int val){this->nIdenticalParticles=val;}; + void inizialize(SPrimaryParticle *primaryParticleData); + inline void setNRecycling(G4int val){this->nRecycling=val;}; inline void setNLoopsPhSpParticles(G4int val){this->nLoopsPhSpParticles=val;}; - inline void setNMaxParticlesInRamPhaseSpace(G4int val){this->nMaxParticlesInRamPhaseSpace=val;}; + inline void setNMaxParticlesInRamPhaseSpace(G4int val){this->nMaxParticlesInRamPhaseSpace=val;std::cout<<"Current nMaxParticlesInRamPhaseSpace: " << this->nMaxParticlesInRamPhaseSpace<< G4endl;}; inline void setGunMeanEnergy(G4double val){this->GunMeanEnegy=val;}; inline void setGunStdEnergy(G4double val){this->GunStdEnegy=val;}; @@ -87,24 +92,30 @@ public: this->idParticleSource=id_phaseSpace; } }; - + inline void setRotation(G4RotationMatrix *val){this->rm=val;}; + inline G4double getNrecycling(){return this->nRecycling;}; + inline G4int getSourceTypeName(){return this->idParticleSource;}; + private: void setGunRandom(); void setGunCalculatedPhaseSpace(); void GenerateFromRandom(); void GenerateFromCalculatedPhaseSpace(); void fillParticlesContainer(); - bool itIsTheSameParticle(Sparticle *p1, Sparticle *p2); + void applySourceRotation(); - G4int nBeam, nIdenticalParticles, nLoopsPhSpParticles, idGunType, nMaxParticlesInRamPhaseSpace, idParticleSource; + static CML2PrimaryGenerationAction * instance; + + G4int nBeam, nRecycling, nLoopsPhSpParticles, idGunType, nMaxParticlesInRamPhaseSpace, idParticleSource; G4double GunMeanEnegy, GunStdEnegy, GunRadious; G4String calculatedPhaseSpaceFileIN; CML2PrimaryGenerationActionMessenger *PrimaryGenerationActionMessenger; - + G4double accTargetZPosition; G4ThreeVector dir, pos; G4double ek; + G4RotationMatrix *rm; G4Timer myTime; G4double sinTheta, cosTheta, phi; @@ -117,7 +128,6 @@ private: SPrimaryParticle *primaryParticleData; Sparticle *particles, *particle; int nParticle, nPhSpParticles, nRandomParticles, idCurrentParticleSource; - Sparticle *firstFileParticle, *lastLoadedParticle; G4String sourceTypeName; }; diff --git a/examples/advanced/medical_linac/include/ML2PrimaryGenerationActionMessenger.hh b/examples/advanced/medical_linac/include/ML2PrimaryGenerationActionMessenger.hh index 70d190900d..bc8699d5b5 100755 --- a/examples/advanced/medical_linac/include/ML2PrimaryGenerationActionMessenger.hh +++ b/examples/advanced/medical_linac/include/ML2PrimaryGenerationActionMessenger.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -63,7 +64,7 @@ public: private: CML2PrimaryGenerationAction *pML2PrimaryGenerationAction; - G4UIcmdWithAnInteger *nIdenticalParticles, *nLoopsPhSpParticles; + G4UIcmdWithAnInteger *nRecycling; G4UIcmdWithAnInteger *nMaxParticlesInRamPhaseSpace; G4UIcmdWithADoubleAndUnit *GunMeanEnegy, *GunStdEnegy, *GunRadious; G4UIcmdWithAString *calculatedPhaseSpaceFileIN, *sourceTypeName; diff --git a/examples/advanced/medical_linac/include/ML2ReadOutGeometry.hh b/examples/advanced/medical_linac/include/ML2ReadOutGeometry.hh index 7d7026f863..1b824e3193 100755 --- a/examples/advanced/medical_linac/include/ML2ReadOutGeometry.hh +++ b/examples/advanced/medical_linac/include/ML2ReadOutGeometry.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -44,13 +45,14 @@ #define CML2ReadOutGeometryH #include "G4VReadOutGeometry.hh" +#include "G4VisAttributes.hh" class G4VPhysicalVolume; class CML2ReadOutGeometry : public G4VReadOutGeometry { public: - CML2ReadOutGeometry(const G4RotationMatrix *m, G4ThreeVector *v); + CML2ReadOutGeometry(); ~CML2ReadOutGeometry(void); void setBuildData(G4ThreeVector centre, G4ThreeVector halfSize, G4int NumberOfVoxelsAlongX, G4int NumberOfVoxelsAlongY, G4int NumberOfVoxelsAlongZ); G4VPhysicalVolume* Build(); diff --git a/examples/extended/parallel/ExDiane/include/BrachyRunAction.hh b/examples/advanced/medical_linac/include/ML2RunAction.hh old mode 100644 new mode 100755 similarity index 58% rename from examples/extended/parallel/ExDiane/include/BrachyRunAction.hh rename to examples/advanced/medical_linac/include/ML2RunAction.hh index 61e1617cfe..25e9a68914 --- a/examples/extended/parallel/ExDiane/include/BrachyRunAction.hh +++ b/examples/advanced/medical_linac/include/ML2RunAction.hh @@ -23,50 +23,48 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// The code was written by : +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// $Id: BrachyRunAction.hh,v 1.3 2006/06/29 17:32:30 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// ^INAIL DIPIA - ex 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 // -//Author: Susanna Guatelli +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac // -// ******************************************** -// * * -// * BrachyRunAction.hh * -// * * -// ******************************************** -// -#ifndef BrachyRunAction_h -#define BrachyRunAction_h 1 +//*******************************************************// + + +#ifndef CML2RunActionH +#define CML2RunActionH #include "G4UserRunAction.hh" -#include "G4RunManager.hh" -#include "globals.hh" +#include "G4Timer.hh" +#include "ML2WorldConstruction.hh" +#include "ML2Convergence.hh" -class G4Run; -class BrachyAnalysisManager; -class BrachyDetectorConstruction; -class BrachyRunMessenger; -class BrachyFactory; -class BrachyFactoryIr; -class BrachyFactoryI; - -class BrachyRunAction : public G4UserRunAction +class CML2RunAction : public G4UserRunAction { public: - BrachyRunAction(); - ~BrachyRunAction(); - -public: - void BeginOfRunAction(const G4Run*); - void EndOfRunAction(const G4Run* ); - void SelectEnergy(G4int); - + CML2RunAction(CML2Convergence *convergence, G4int nBeam, G4bool bOnlyVisio); + ~CML2RunAction(void); + void BeginOfRunAction(const G4Run *aRun); + void EndOfRunAction(const G4Run *aRun); + void setActualLoop(G4int nLoop){this->nLoop=nLoop;}; private: - BrachyRunMessenger* runMessenger; - BrachyFactory *factory; - G4int sourceChoice; //select primary particle + + G4bool bRotationTranslationFilesNames; + CML2Convergence *convergence; + G4Timer MyTime; + G4double loopElapsedTime; + G4int nBeam, nLoop; + G4bool bOnlyVisio; }; + #endif - - - diff --git a/examples/advanced/medical_linac/include/ML2SDWithParticle.hh b/examples/advanced/medical_linac/include/ML2SDWithParticle.hh index cbdbda9afb..f0a923d209 100755 --- a/examples/advanced/medical_linac/include/ML2SDWithParticle.hh +++ b/examples/advanced/medical_linac/include/ML2SDWithParticle.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -48,23 +49,21 @@ #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(G4int idType, G4int max_N_particles_in_PhSp_File, G4int seed, G4int nMaxParticlesInRamPhaseSpace, G4String name, G4String PhaseSpaceOutFile, G4bool bSavePhaseSpace, G4bool bStopAtVolatilePhaseSpace, SPrimaryParticle *primaryParticleData, G4double accTargetZPosition); ~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;}; + void save(); private: void saveDataParticles(G4int nParticle); void saveHeaderParticles(); @@ -76,7 +75,9 @@ private: G4String fullOutFileData; G4int nTotalParticles, nParticle; G4int idType, nMaxParticlesInRamPhaseSpace, max_N_particles_in_PhSp_File; - G4bool bStopAtPhaseSpace, bSavePhaseSpace, bActive, bContinueRun; + G4bool bStopAtPhaseSpace, bSavePhaseSpace, bActive; + + G4double accTargetZPosition; }; #endif diff --git a/examples/advanced/medical_linac/include/ML2SDWithVoxels.hh b/examples/advanced/medical_linac/include/ML2SDWithVoxels.hh index 728a23a672..f1e475627c 100755 --- a/examples/advanced/medical_linac/include/ML2SDWithVoxels.hh +++ b/examples/advanced/medical_linac/include/ML2SDWithVoxels.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -54,28 +55,32 @@ 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(G4String name, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG, G4ThreeVector centre, 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;}; - + void save(); + inline void setRecycling(int recycling){this->nRecycling=recycling;}; + inline void setVolumeNameIdLink(std::vector volumeNameIdLink){this->volumeNameIdLink=volumeNameIdLink;}; + void resetVoxelsSingle(); + void setFullOutFileDataSingle(G4String val); private: - void saveDataInVoxels(); - void saveHeaderDataInVoxels(); + void saveData(G4String Filename, Svoxel ***voxels); + G4int getIdFromVolumeName(G4String name); - G4ThreeVector halfSize; + G4ThreeVector halfSize, centre; G4ThreeVector pos; G4double halfXVoxelDimensionX, halfXVoxelDimensionY, halfXVoxelDimensionZ; G4int NumberOfVoxelsAlongX, NumberOfVoxelsAlongY, NumberOfVoxelsAlongZ; - Svoxel ***voxels; - G4String fullOutFileData; - G4int nTotalEvents, nParticle, nParticleValatile, saving_in_ROG_Voxels_every_events; + Svoxel ***voxelsSum, ***voxelsSingle; + G4String fullOutFileData, fullOutFileDataSingle; + G4int nTotalEvents, nSingleTotalEvents, nParticle, nParticleValatile, saving_in_ROG_Voxels_every_events, nRecycling; G4bool bActive, bSaveROG; G4double voxelMass, density, voxelVolume; - + std::vector volumeNameIdLink; }; diff --git a/examples/advanced/medical_linac/include/ML2SinputData.hh b/examples/advanced/medical_linac/include/ML2SinputData.hh index 51062d62cd..f6e94459c9 100755 --- a/examples/advanced/medical_linac/include/ML2SinputData.hh +++ b/examples/advanced/medical_linac/include/ML2SinputData.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -39,10 +40,10 @@ // //*******************************************************// - #ifndef inputDataH #define inputDataH + #include "globals.hh" #include #include "G4RotationMatrix.hh" @@ -65,16 +66,16 @@ struct SStartInputData }; struct SGeneralData { - G4String WorldName, fileExperimentalData, StartFileInputData; + G4String WorldName, fileExperimentalData, fileExperimentalDataOut, StartFileInputData; G4int seed, nBeam, nMaxParticlesInRamPlanePhaseSpace; G4bool bSaveROG, bCompareExp; G4String PhaseSpaceOutFile, ROGOutFile; - + G4bool bForcePhaseSpaceBeforeJaws; G4bool bSavePhaseSpace; G4bool bStopAtPhaseSpace; G4ThreeVector centrePhaseSpace, halfSizePhaseSpace; - G4int minNumberOfEvents; + G4int maxNumberOfEvents, nMaxLoop; int saving_in_Selected_Voxels_every_events; int saving_in_ROG_Voxels_every_events; int max_N_particles_in_PhSp_File; @@ -90,7 +91,6 @@ struct Sparticle struct SPrimaryParticle { G4int partPDGE, nPrimaryParticle; - G4int nParticlesInPhSp; }; struct SInputData { @@ -101,7 +101,11 @@ struct Svoxel { G4ThreeVector pos, halfSize; G4double depEnergy, depEnergy2, expDose, depEnergyNorm, depEnergyNormError; - G4int nEvents; + G4int nEvents, volumeId; +}; +struct SvolumeNameId +{ G4String volumeName; + G4int volumeId; }; #endif diff --git a/examples/advanced/medical_linac/include/ML2StepMax.hh b/examples/advanced/medical_linac/include/ML2StepMax.hh index 4bba74c562..32b7cb4f70 100644 --- a/examples/advanced/medical_linac/include/ML2StepMax.hh +++ b/examples/advanced/medical_linac/include/ML2StepMax.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/include/ML2StepMaxMessenger.hh b/examples/advanced/medical_linac/include/ML2StepMaxMessenger.hh index 3bc2bc5d29..3b5d56fbbb 100644 --- a/examples/advanced/medical_linac/include/ML2StepMaxMessenger.hh +++ b/examples/advanced/medical_linac/include/ML2StepMaxMessenger.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/include/ML2SteppingAction.hh b/examples/advanced/medical_linac/include/ML2SteppingAction.hh index ef15bed14b..fcab1d62eb 100755 --- a/examples/advanced/medical_linac/include/ML2SteppingAction.hh +++ b/examples/advanced/medical_linac/include/ML2SteppingAction.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/include/ML2TrackingAction.hh b/examples/advanced/medical_linac/include/ML2TrackingAction.hh index 723ffff54e..1b8bd1630e 100755 --- a/examples/advanced/medical_linac/include/ML2TrackingAction.hh +++ b/examples/advanced/medical_linac/include/ML2TrackingAction.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/include/ML2WorldConstruction.hh b/examples/advanced/medical_linac/include/ML2WorldConstruction.hh index 5874dde864..74d383ab53 100755 --- a/examples/advanced/medical_linac/include/ML2WorldConstruction.hh +++ b/examples/advanced/medical_linac/include/ML2WorldConstruction.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -57,6 +58,12 @@ #include "ML2PhantomConstruction.hh" #include "ML2PhaseSpaces.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4SolidStore.hh" +#include "G4RegionStore.hh" + +#include "ML2PrimaryGenerationAction.hh" class G4VPhysicalVolume; class CML2PhantomConstruction; @@ -69,21 +76,33 @@ public: CML2WorldConstruction(void); ~CML2WorldConstruction(void); G4VPhysicalVolume* Construct(); - void create(SInputData *inputData); + bool create(SInputData *inputData, bool bOnlyVisio); 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: + inline CML2AcceleratorConstruction * getCML2AcceleratorConstruction(){return this->acceleratorEnv;}; + + bool newGeometry(); + bool getWorldCreated(){return this->bWorldCreated;}; + + inline void savePhantomData(){if (this->phantomEnv!=0){this->phantomEnv->saveData();}}; + inline void savePhaseSpaceData(){if (this->phaseSpace!=0){this->phaseSpace->save();}}; + inline CML2PhantomConstruction * getPhantomWorld(){return this->phantomEnv;}; + inline CML2AcceleratorConstruction * getAcceleratorWorld(){return this->acceleratorEnv;}; void checkVolumeOverlap(); + + inline G4bool getbOnlyVisio(){return this->bOnlyVisio;}; +private: static CML2WorldConstruction * instance; + bool bWorldCreated; CML2AcceleratorConstruction *acceleratorEnv; CML2PhantomConstruction *phantomEnv; G4VPhysicalVolume* PVWorld; CML2PhaseSpaces *phaseSpace; CML2PhaseSpaces *backScatteredPlane; + G4bool bOnlyVisio; }; #endif diff --git a/examples/advanced/medical_linac/include/ML2Ph_BoxInBoxMessenger.hh b/examples/advanced/medical_linac/include/ML2_DicomMessenger.hh similarity index 74% rename from examples/advanced/medical_linac/include/ML2Ph_BoxInBoxMessenger.hh rename to examples/advanced/medical_linac/include/ML2_DicomMessenger.hh index 19f29dc86b..c16da413df 100755 --- a/examples/advanced/medical_linac/include/ML2Ph_BoxInBoxMessenger.hh +++ b/examples/advanced/medical_linac/include/ML2_DicomMessenger.hh @@ -24,12 +24,13 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy -// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -40,28 +41,29 @@ //*******************************************************// -#ifndef ML2Ph_BoxInBoxMessengerH -#define ML2Ph_BoxInBoxMessengerH +#ifndef CML2_DicomMessengerH +#define CML2_DicomMessengerH #include "globals.hh" #include "G4UImessenger.hh" +#include "DicomDetectorConstruction.hh" -class CML2Ph_BoxInBox; -class G4UImessenger; class G4UIcmdWithAnInteger; +class G4UImessenger; class G4UIcmdWithAString; -class G4UIcmdWithADoubleAndUnit; +class DicomDetectorConstruction; -class CML2Ph_BoxInBoxMessenger : public G4UImessenger +class CML2_DicomMessenger : public G4UImessenger { public: - CML2Ph_BoxInBoxMessenger(CML2Ph_BoxInBox *Ph_BoxInBox); - ~CML2Ph_BoxInBoxMessenger(void); + CML2_DicomMessenger(DicomDetectorConstruction *dicomDetectorConstruction); + ~CML2_DicomMessenger(void); void SetNewValue(G4UIcommand* cmd, G4String newValue); private: - CML2Ph_BoxInBox *pPh_BoxInBox; + DicomDetectorConstruction *dicomDetectorConstruction; + G4UIcmdWithAString *dicomDirectory, *fileData, *calibrationDensityFileName, *dicomColorMap; + G4UIcmdWithAnInteger *nROGVoxelsX, *nROGVoxelsY, *nROGVoxelsZ; }; #endif - diff --git a/examples/advanced/medical_linac/src/ML2Ph_BoxInBoxMessenger.cc b/examples/advanced/medical_linac/include/RegularDicomDetectorConstruction.hh similarity index 69% rename from examples/advanced/medical_linac/src/ML2Ph_BoxInBoxMessenger.cc rename to examples/advanced/medical_linac/include/RegularDicomDetectorConstruction.hh index 6632dbb8c0..9e769df7e8 100755 --- a/examples/advanced/medical_linac/src/ML2Ph_BoxInBoxMessenger.cc +++ b/examples/advanced/medical_linac/include/RegularDicomDetectorConstruction.hh @@ -23,12 +23,21 @@ // * 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 +// Author: P. Arce +// History: 30.11.07 First version +//******************************************************* +// +// RegularDicomDetectorConstruction.hh : +// - Construct the patient using DicomPhantomParameterisationColour +//******************************************************* +// +// The code is part of the DICOM extended example and it was modified by : +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -40,20 +49,22 @@ //*******************************************************// -#include "ML2Ph_BoxInBoxMessenger.hh" -#include "ML2Ph_BoxInBox.hh" -#include "G4UIcmdWithAString.hh" -#include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" +#ifndef RegularDicomDetectorConstruction_h +#define RegularDicomDetectorConstruction_h 1 -CML2Ph_BoxInBoxMessenger::CML2Ph_BoxInBoxMessenger(CML2Ph_BoxInBox *Ph_BoxInBox) : pPh_BoxInBox(Ph_BoxInBox) -{ -} +#include "globals.hh" +#include "DicomDetectorConstruction.hh" -CML2Ph_BoxInBoxMessenger::~CML2Ph_BoxInBoxMessenger(void) +class RegularDicomDetectorConstruction : public DicomDetectorConstruction { -} -// void CML2Ph_BoxInBoxMessenger::SetNewValue(G4UIcommand* cmd, G4String newValue) -// { -// -// } +public: + + RegularDicomDetectorConstruction(); + ~RegularDicomDetectorConstruction(); + + + virtual void ConstructPatient(); +}; + +#endif + diff --git a/examples/advanced/medical_linac/ml2.cc b/examples/advanced/medical_linac/ml2.cc index 761a0ebf10..ca26893bc1 100755 --- a/examples/advanced/medical_linac/ml2.cc +++ b/examples/advanced/medical_linac/ml2.cc @@ -24,12 +24,13 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy -// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -40,7 +41,6 @@ //*******************************************************// - #include "ML2Main.hh" #include "ML2PrimaryGenerationAction.hh" @@ -54,42 +54,52 @@ #include "G4Timer.hh" -#include "G4UIterminal.hh" -#ifdef G4UI_USE_XM - #include "G4UIXm.hh" -#endif #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE + #include "G4UIExecutive.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; +void visio(int argc, char* argv[]) +{ + G4VisManager *visManager=new G4VisExecutive; + visManager->Initialize(); +#ifdef G4UI_USE + G4UIExecutive *ui = new G4UIExecutive(argc, argv); + G4UImanager *UImanager = G4UImanager::GetUIpointer(); + UImanager->ApplyCommand("/control/execute vis.mac"); + ui->SessionStart(); + delete ui; #endif + delete visManager; } - +#endif int main(int argc, char* argv[]) { + // instantiate the world class + CML2WorldConstruction *myWorld=CML2WorldConstruction::GetInstance(); + + G4RunManager *runManager=new G4RunManager(); + ML2PhysicsList *physics=new ML2PhysicsList(); + runManager->SetUserInitialization(physics); + + // build the primary generator + CML2PrimaryGenerationAction *gun; + gun = CML2PrimaryGenerationAction::GetInstance(); + + // build the main messenger class for the input data CML2CInputData *myInputData; myInputData=new CML2CInputData(); + + // initialize the primary generator variables + gun->inizialize(&myInputData->inputData.primaryParticleData); + + // according to the number of the launching line if (argc==1) { myInputData->inputData.generalData.seed=1; @@ -106,79 +116,89 @@ int main(int argc, char* argv[]) myInputData->inputData.generalData.StartFileInputData=(G4String)argv[1]; } - G4RunManager *runManager=new G4RunManager(); - ML2PhysicsList *physics=new ML2PhysicsList(); - runManager->SetUserInitialization(physics); - CML2MainMessenger *ML2MainMessenger; - ML2MainMessenger=new CML2MainMessenger(myInputData); + // read the main mac file and execute the commands + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + G4String command = "/control/execute "; + UImanager->ApplyCommand(command+myInputData->inputData.generalData.StartFileInputData); - CML2WorldConstruction *myWorld=CML2WorldConstruction::GetInstance(); + + // set and initialize the random generator + CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); + CLHEP::HepRandom :: setTheSeed(myInputData->inputData.generalData.seed); + + // create the world class + if (!myWorld->create(&myInputData->inputData, myInputData->getbOnlyVisio())) + { + return 1; // if it fails to create the world + } + else + { + // initialize the primary generator according to the choosen particle source + gun->design(myWorld->getCML2AcceleratorConstruction()->getAcceleratorIsoCentre()); + } + + // 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.fileExperimentalDataOut, myInputData->inputData.generalData.bCompareExp, myInputData->inputData.generalData.maxNumberOfEvents, gun->getNrecycling(), myInputData->inputData.generalData.nMaxLoop); + + + // build the ML2RunAction to assign the single phantom name at each run + CML2RunAction *myRunAction=new CML2RunAction(convergence, myInputData->inputData.generalData.nBeam, myInputData->bOnlyVisio); - CML2PrimaryGenerationAction *gun; - gun = new CML2PrimaryGenerationAction(&myInputData->inputData.primaryParticleData); + CML2SteppingAction *myStepAction=new CML2SteppingAction(convergence); + CML2EventAction *ML2EventAction = new CML2EventAction(); - 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(); + runManager->SetUserInitialization(myWorld); + runManager->SetUserAction(myRunAction); + runManager->SetUserAction(gun); + runManager->SetUserAction(myStepAction); + runManager->SetUserAction(ML2EventAction); + runManager->SetUserAction(new CML2TrackingAction); + runManager->Initialize(); - 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) + // performances info + int nLoop=0; + G4Timer MyFullTime; + G4double loopElapsedTime; + G4bool bStopRun=false; + G4bool bNewGeometry=true; + if (myInputData->bOnlyVisio) + { +#ifdef G4VIS_USE + // visualization + myWorld->newGeometry(); + convergence->setNewGeometry(); + visio(argc, argv); +#endif + } + else + { + MyFullTime.Start(); + // compute + while (bNewGeometry) { - visio(); - } - else - { - MyTimeStop.Start(); - while (bAgain) + bNewGeometry=myWorld->newGeometry(); + convergence->setNewGeometry(); + if (bNewGeometry) { - std::cout<<"*********************************************"<<'\n'; - std::cout << "loop n. "<<++nLoop<<'\n'; - MyTime.Start(); - std::cout << "Launched "<< myInputData->inputData.generalData.nBeam <<" random primary particles" << '\n'; - + if (CML2PhantomConstruction::GetInstance()->getPhantomName()!="Dicom1") + {CML2WorldConstruction::GetInstance()->checkVolumeOverlap();} + std::cout<<"################ START NEW GEOMETRY ########################"<<'\n'; + myRunAction->setActualLoop(nLoop); + while (!bStopRun) + { 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(); + // check if the run has to be reapeted + bStopRun=convergence->stopRun(); + } + nLoop=0; + std::cout<<"################ END NEW GEOMETRY ########################"<<'\n'; } + bStopRun=false; } - //job termination - delete myInputData; -// delete G4MainMessenger; - delete myWorld; -// delete runManager; - return 0; + MyFullTime.Stop(); + loopElapsedTime=MyFullTime.GetUserElapsed(); + std::cout << "loop elapsed time [s] : "<< loopElapsedTime << '\n'; + std::cout <<'\n'; + } } diff --git a/examples/advanced/medical_linac/ml2.mac b/examples/advanced/medical_linac/ml2.mac index 513582751b..515c7ee10a 100755 --- a/examples/advanced/medical_linac/ml2.mac +++ b/examples/advanced/medical_linac/ml2.mac @@ -1,23 +1,47 @@ +########### Launch parameters ######### +### + +### Visualization + /OnlyVisio true # switch the visualization mode +### Experimental comparison and convergence -/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 +/convergence/bCompareExp true # to compare the data with an experimental file data +/convergence/nMaxLoop 2 # it is used if /convergence/bCompareExp is false +/convergence/fileExperimentalData Launches/experimental/VoxelsTest.txt # name of the experimental file +/convergence/maxNumberOfEvents 5 # maximum number of events at least in one experimental voxel +/convergence/fileExperimentalDataOut Launches/results/experimental/VoxelsTestOut # full path and name of the experimental file results -/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 +### Phase space -/general/bSavePhaseSpace true # true if to save the phase space +/general/centrePhaseSpace 0 0 550 mm # position of the centre of the plane phase space +/general/halfSizePhaseSpace 200 200 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/PhaseSpaceOutFile Launches/results/PhSp/PhSp_Acc1 # full file name of the phase space +/general/bForcePhaseSpaceBeforeJaws true + +### Simulation oputput + /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 +/general/ROGOutFile Launches/results/ROG/ROG_DICOM_ # full path of the ROG file name + + +### Number of primary events + +/general/nBeam 20000 # number of events to run + + +### NUMBER STORED + +/general/nMaxParticlesInRamPlanePhaseSpace 100000 # maximum particle number stored in RAM before saving - for phase space +/general/saving_in_Selected_Voxels_every_events 10000 # 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 10000000 # maximum particle number stored in the phase space file + + +### Primary generator /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 @@ -25,14 +49,27 @@ /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 +/primaryParticleData/calculatedPhaseSpaceFileIN Launches/results/PhSp/PhSp_Acc1_1.txt # full path and 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 +### PHANTOM + +/phantom/PhantomName boxInBox # phantom name to select among those implemented +/phantom/PhantomFileName Launches/macro_files/phantom/boxInBox.mac # full path and macro file name containing specific setup data for the phantom chosen +/phantom/centre 0 0 0 # phantom centre coordinates in the world [mm] +#/phantom/centre 0 0 0 # phantom centre coordinates in the world [mm] + +### ACCELERATOR /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 +/accelerator/AcceleratorMacFileName Launches/macro_files/accelerator/acc1.mac # full path and macro file name containing specific setup data for the accelerator chosen +/accelerator/isoCentre 1000 mm # distance between the isocentre and the target of the accelerator +/accelerator/rotation90Y false # to rotate the accelerator of 90 deg around the Y axis (true) +/accelerator/rotationX 0 deg # angles of rotation along X [deg] +/accelerator/rotationX 45 deg # angles of rotation along X [deg] +/accelerator/rotationX 90 deg # angles of rotation along X [deg] +/accelerator/rotationX 135 deg # angles of rotation along X [deg] +### Physic #/physic/addPhysics standard_opt3 # Standard Electromagnetic models /physic/addPhysics LowE_Livermore # Lowenergy-Livermore Electromagnetic models @@ -48,10 +85,9 @@ # 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 - - +# boxInBox // box in a box with a layer of PMMA at the exposed surface +# Dicom1 // phantom dicom diff --git a/examples/advanced/medical_linac/src/DicomDetectorConstruction.cc b/examples/advanced/medical_linac/src/DicomDetectorConstruction.cc new file mode 100755 index 0000000000..58ce336ac6 --- /dev/null +++ b/examples/advanced/medical_linac/src/DicomDetectorConstruction.cc @@ -0,0 +1,720 @@ +// +// ******************************************************************** +// * 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 is part of the DICOM extended example and it was modified by : +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* +// +// ^INAIL DIPIA - ex 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 "globals.hh" + +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4Material.hh" +#include "G4Element.hh" + +#include "DicomDetectorConstruction.hh" +#include "DicomPatientZSliceHeader.hh" + +//------------------------------------------------------------- +DicomDetectorConstruction::DicomDetectorConstruction() +{ + this->dicomMessenger=new CML2_DicomMessenger(this); + // added ML2 start + this->matNames=new G4String[1000]; + this->nMatNames=0; + // end +} + +//------------------------------------------------------------- +DicomDetectorConstruction::~DicomDetectorConstruction() +{ +} +//------------------------------------------------------------- +void DicomDetectorConstruction::Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG) +{ + + this->world_phys=PVWorld; + this->saving_in_ROG_Voxels_every_events=saving_in_ROG_Voxels_every_events; + this->seed=seed; + this->ROGOutFile=ROGOutFile; + this->bSaveROG=bSaveROG; + + InitialisationOfMaterials(); + + //----- Build world + + this->world_logic=this->world_phys->GetLogicalVolume(); + +// G4VSolid *so= this->world_phys->GetLogicalVolume()->GetSolid(); + +// G4Box* bx= (G4Box *)so; + +// G4double worldXDimension = bx->GetXHalfLength(); +// G4double worldYDimension = bx->GetYHalfLength(); +// G4double worldZDimension = bx->GetZHalfLength(); + + ReadPatientData(this->dicomDirectory, this->fileData); + + ConstructPatientContainer(); + + // phantom size and position + G4ThreeVector halfSize, centre; // centre and half size of the phantom container + halfSize.set(this->container_solid->GetXHalfLength(), this->container_solid->GetYHalfLength(), this->container_solid->GetZHalfLength()); + +/* G4double offsetX = (this->fZSliceHeaderMerged->GetMaxX() + this->fZSliceHeaderMerged->GetMinX() ) /2.; + G4double offsetY = (this->fZSliceHeaderMerged->GetMaxY() + this->fZSliceHeaderMerged->GetMinY() ) /2.; + G4double offsetZ = (this->fZSliceHeaderMerged->GetMaxZ() + this->fZSliceHeaderMerged->GetMinZ() ) /2.; + centre.set(offsetX,offsetY,offsetZ);*/ + + centre.set(0.,0.,0.); // ML2 + +std::cout <<"DICOM ROG centre " <nROGVoxelsX " <nROGVoxelsX << G4endl; +std::cout <<"DICOM ROG this->nROGVoxelsY " <nROGVoxelsY << G4endl; +std::cout <<"DICOM ROG this->nROGVoxelsZ " <nROGVoxelsZ << G4endl; + // Sensitive detector + this->sensDet=new CML2SDWithVoxels("DicomPhantomROG", this->saving_in_ROG_Voxels_every_events, this->seed, this->ROGOutFile, this->bSaveROG, centre, halfSize, this->nROGVoxelsX, this->nROGVoxelsY, this->nROGVoxelsZ); + G4SDManager *SDManager=G4SDManager::GetSDMpointer(); + SDManager->AddNewDetector(this->sensDet); + + // Read Out Geometry + CML2ReadOutGeometry *ROG = new CML2ReadOutGeometry(); + ROG->setBuildData(this->world_phys->GetFrameTranslation(), halfSize, this->nROGVoxelsX, this->nROGVoxelsY, this->nROGVoxelsZ); + ROG->BuildROGeometry(); + this->sensDet->SetROgeometry(ROG); + + // Region for cuts + this->regVol= new G4Region("dicomRegion"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(.001*cm); + this->regVol->SetProductionCuts(cuts); + + ConstructPatient(); + +} +// ML2 Added code start +void DicomDetectorConstruction::writeInfo() +{ + std::cout <<"\n\n\tnumber of Read Out Geometry voxels: X) "<< this->nROGVoxelsX<< "\tY) "<< this->nROGVoxelsY<<"\tZ) "<nROGVoxelsZ<< G4endl; + std::cout <<"\tnumber of dicom voxels: X) "<< this->nVoxelX<< "\tY) "<< this->nVoxelY<<"\tZ) "<nVoxelZ<< G4endl; + std::cout << "\tProduction cuts: gamma)"<regVol->GetProductionCuts()->GetProductionCut("gamma")/mm<<" [mm]\t"; + std::cout << "e-)"<regVol->GetProductionCuts()->GetProductionCut("e-")/mm<<" [mm]\t"; + std::cout << "e+)"<regVol->GetProductionCuts()->GetProductionCut("e+")/mm<<" [mm]\n"<dicomDirectory+this->fileData; + std::ifstream finDF(fullDataFileName); + G4String fname; + if(finDF.good() != 1 ) { + G4Exception(" DicomDetectorConstruction::ReadPatientData. Problem reading data file: "+this->fileData); + } + + G4int compression; + finDF >> compression; // not used here + finDF >> this->fNoFiles; + + G4String fullDicomFileName; + for(G4int i = 0; i < this->fNoFiles; i++ ) + { + finDF >> fname; + //--- Read one data file + fname += ".g4dcm"; + fullDicomFileName=this->dicomDirectory+fname; // store the .g4dcm files name ML2 + std::ifstream fin(fullDicomFileName); + if(fin.good() != 1 ) + { + G4Exception(" DicomDetectorConstruction::ReadPatientData. Problem reading data file: "+fullDicomFileName); + } + else + { + fin>>appoI1; + for (int i=0;i> appoI2 >> appoS; + } + fin >> appoI1 >> appoI1 >> appoI1; + if (bFirstTime) + { + bFirstTime=false; + fin >> appoMin >> appoMax; + minX=appoMin; + maxX=appoMax; + fin >> appoMin >> appoMax; + minY=appoMin; + maxY=appoMax; + fin >> appoMin >> appoMax; + minZ=appoMin; + maxZ=appoMax; + } + else + { + fin >> appoMin >> appoMax; + if (minX>appoMin){minX=appoMin;} + if (maxX> appoMin >> appoMax; + if (minY>appoMin){minY=appoMin;} + if (maxY> appoMin >> appoMax; + if (minZ>appoMin){minZ=appoMin;} + if (maxZhalfContainerSize.set((maxX-minX)/2., (maxY-minY)/2., (maxZ-minZ)/2.); + std::cout <<'\n'<<"Dicom halfContainerSize [mm]: " <halfContainerSize/mm <<'\n'<< G4endl; + return this->halfContainerSize; +} +// ML2 Added code end + +//------------------------------------------------------------- +void DicomDetectorConstruction::InitialisationOfMaterials() +{ + // Creating elements : + G4double z, a, density; + G4String name, symbol; + + G4Element* elC = new G4Element( name = "Carbon", + symbol = "C", + z = 6.0, a = 12.011 * g/mole ); + G4Element* elH = new G4Element( name = "Hydrogen", + symbol = "H", + z = 1.0, a = 1.008 * g/mole ); + G4Element* elN = new G4Element( name = "Nitrogen", + symbol = "N", + z = 7.0, a = 14.007 * g/mole ); + G4Element* elO = new G4Element( name = "Oxygen", + symbol = "O", + z = 8.0, a = 16.00 * g/mole ); + G4Element* elNa = new G4Element( name = "Sodium", + symbol = "Na", + z= 11.0, a = 22.98977* g/mole ); + G4Element* elS = new G4Element( name = "Sulfur", + symbol = "S", + z = 16.0,a = 32.065* g/mole ); + G4Element* elCl = new G4Element( name = "Chlorine", + symbol = "P", + z = 17.0, a = 35.453* g/mole ); + G4Element* elK = new G4Element( name = "Potassium", + symbol = "P", + z = 19.0, a = 30.0983* g/mole ); + G4Element* elP = new G4Element( name = "Phosphorus", + symbol = "P", + z = 30.0, a = 30.973976* g/mole ); + G4Element* elFe = new G4Element( name = "Iron", + symbol = "Fe", + z = 26, a = 56.845* g/mole ); + G4Element* elMg = new G4Element( name = "Magnesium", + symbol = "Mg", + z = 12.0, a = 24.3050* g/mole ); + G4Element* elCa = new G4Element( name="Calcium", + symbol = "Ca", + z = 20.0, a = 40.078* g/mole ); + + // Creating Materials : + G4int numberofElements; + + // Air + air = new G4Material( "Air", + 1.290*mg/cm3, + numberofElements = 2 ); + air->AddElement(elN, 0.7); + air->AddElement(elO, 0.3); + + // Lung Inhale + G4Material* lunginhale = new G4Material( "LungInhale", + density = 0.217*g/cm3, + numberofElements = 9); + lunginhale->AddElement(elH,0.103); + lunginhale->AddElement(elC,0.105); + lunginhale->AddElement(elN,0.031); + lunginhale->AddElement(elO,0.749); + lunginhale->AddElement(elNa,0.002); + lunginhale->AddElement(elP,0.002); + lunginhale->AddElement(elS,0.003); + lunginhale->AddElement(elCl,0.002); + lunginhale->AddElement(elK,0.003); + + // Lung exhale + G4Material* lungexhale = new G4Material( "LungExhale", + density = 0.508*g/cm3, + numberofElements = 9 ); + lungexhale->AddElement(elH,0.103); + lungexhale->AddElement(elC,0.105); + lungexhale->AddElement(elN,0.031); + lungexhale->AddElement(elO,0.749); + lungexhale->AddElement(elNa,0.002); + lungexhale->AddElement(elP,0.002); + lungexhale->AddElement(elS,0.003); + lungexhale->AddElement(elCl,0.002); + lungexhale->AddElement(elK,0.003); + + // Adipose tissue + G4Material* adiposeTissue = new G4Material( "AdiposeTissue", + density = 0.967*g/cm3, + numberofElements = 7); + adiposeTissue->AddElement(elH,0.114); + adiposeTissue->AddElement(elC,0.598); + adiposeTissue->AddElement(elN,0.007); + adiposeTissue->AddElement(elO,0.278); + adiposeTissue->AddElement(elNa,0.001); + adiposeTissue->AddElement(elS,0.001); + adiposeTissue->AddElement(elCl,0.001); + + // Breast + G4Material* breast = new G4Material( "Breast", + density = 0.990*g/cm3, + numberofElements = 8 ); + breast->AddElement(elH,0.109); + breast->AddElement(elC,0.506); + breast->AddElement(elN,0.023); + breast->AddElement(elO,0.358); + breast->AddElement(elNa,0.001); + breast->AddElement(elP,0.001); + breast->AddElement(elS,0.001); + breast->AddElement(elCl,0.001); + + // Water + G4Material* water = new G4Material( "Water", + density = 1.0*g/cm3, + numberofElements = 2 ); + water->AddElement(elH,0.112); + water->AddElement(elO,0.888); + + // Muscle + G4Material* muscle = new G4Material( "Muscle", + density = 1.061*g/cm3, + numberofElements = 9 ); + muscle->AddElement(elH,0.102); + muscle->AddElement(elC,0.143); + muscle->AddElement(elN,0.034); + muscle->AddElement(elO,0.710); + muscle->AddElement(elNa,0.001); + muscle->AddElement(elP,0.002); + muscle->AddElement(elS,0.003); + muscle->AddElement(elCl,0.001); + muscle->AddElement(elK,0.004); + + // Liver + G4Material* liver = new G4Material( "Liver", + density = 1.071*g/cm3, + numberofElements = 9); + liver->AddElement(elH,0.102); + liver->AddElement(elC,0.139); + liver->AddElement(elN,0.030); + liver->AddElement(elO,0.716); + liver->AddElement(elNa,0.002); + liver->AddElement(elP,0.003); + liver->AddElement(elS,0.003); + liver->AddElement(elCl,0.002); + liver->AddElement(elK,0.003); + + // Trabecular Bone + G4Material* trabecularBone = new G4Material( "TrabecularBone", + density = 1.159*g/cm3, + numberofElements = 12 ); + trabecularBone->AddElement(elH,0.085); + trabecularBone->AddElement(elC,0.404); + trabecularBone->AddElement(elN,0.058); + trabecularBone->AddElement(elO,0.367); + trabecularBone->AddElement(elNa,0.001); + trabecularBone->AddElement(elMg,0.001); + trabecularBone->AddElement(elP,0.034); + trabecularBone->AddElement(elS,0.002); + trabecularBone->AddElement(elCl,0.002); + trabecularBone->AddElement(elK,0.001); + trabecularBone->AddElement(elCa,0.044); + trabecularBone->AddElement(elFe,0.001); + + // Dense Bone + G4Material* denseBone = new G4Material( "DenseBone", + density = 1.575*g/cm3, + numberofElements = 11 ); + denseBone->AddElement(elH,0.056); + denseBone->AddElement(elC,0.235); + denseBone->AddElement(elN,0.050); + denseBone->AddElement(elO,0.434); + denseBone->AddElement(elNa,0.001); + denseBone->AddElement(elMg,0.001); + denseBone->AddElement(elP,0.072); + denseBone->AddElement(elS,0.003); + denseBone->AddElement(elCl,0.001); + denseBone->AddElement(elK,0.001); + denseBone->AddElement(elCa,0.146); + + + //----- Put the materials in a vector + fOriginalMaterials.push_back(air); // rho = 0.00129 + fOriginalMaterials.push_back(lunginhale); // rho = 0.217 + fOriginalMaterials.push_back(lungexhale); // rho = 0.508 + fOriginalMaterials.push_back(adiposeTissue); // rho = 0.967 + fOriginalMaterials.push_back(breast ); // rho = 0.990 + fOriginalMaterials.push_back(water); // rho = 1.018 + fOriginalMaterials.push_back(muscle); // rho = 1.061 + fOriginalMaterials.push_back(liver); // rho = 1.071 + fOriginalMaterials.push_back(trabecularBone); // rho = 1.159 + fOriginalMaterials.push_back(denseBone); // rho = 1.575 + + this->ML2_G4NIST_Materials(); +} + +// added ML2 start + +// added G4-NIST and other materials +#include "G4NistManager.hh" + +void DicomDetectorConstruction::ML2_G4NIST_Materials() +{ + G4double A, Z; + G4int natoms; + + 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 = 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); + + G4double dPolyurethane=1.05*g/cm3; + G4Material* polyurethanePieno = new G4Material("polyurethanePieno", dPolyurethane,4); + polyurethanePieno->AddElement(elH, natoms=42); + polyurethanePieno->AddElement(elC, natoms=25); + polyurethanePieno->AddElement(elN, natoms=2); + polyurethanePieno->AddElement(elO, natoms=6); + fOriginalMaterials.push_back(polyurethanePieno); + + G4Material *newNISTMaterial; + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_A-150_TISSUE"); // 1.127 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_ADIPOSE_TISSUE_ICRP"); // 0.92 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_B-100_BONE"); // 1.45 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_BLOOD_ICRP"); // 1.06 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_BONE_COMPACT_ICRU"); // 1.85 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_BONE_CORTICAL_ICRP"); // 1.85 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_BRAIN_ICRP"); // 1.03 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_EYE_LENS_ICRP"); // 1.1 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_LUNG_ICRP"); // 1.05 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_MS20_TISSUE"); // 1.0 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_MUSCLE_SKELETAL_ICRP"); // 1.04 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_MUSCLE_STRIATED_ICRU"); // 1.04 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_MUSCLE_WITH_SUCROSE"); // 1.11 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_MUSCLE_WITHOUT_SUCROSE"); // 1.07 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_SKIN_ICRP"); // 1.1 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_SUCROSE"); // 1.5805 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_TISSUE_SOFT_ICRP"); // 1.0 + fOriginalMaterials.push_back(newNISTMaterial); + newNISTMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_WATER_VAPOR"); // 0.000756182 + fOriginalMaterials.push_back(newNISTMaterial); +} + +// ML2 end +//------------------------------------------------------------- +void DicomDetectorConstruction::ReadPatientData(G4String directory, G4String fileName) +{ + // changed to read and store the materials name and densities ML2 + + G4String fullDataFileName=directory+fileName; + + std::ifstream finDF(fullDataFileName); + G4String fname; + if(finDF.good() != 1 ) { + G4Exception(" DicomDetectorConstruction::ReadPatientData. Problem reading data file: "+fileName); + } + + + G4int compression; + finDF >> compression; // not used here + + finDF >> this->fNoFiles; + + + + G4String *fullDicomFileName=new G4String[fNoFiles]; + for(G4int i = 0; i < fNoFiles; i++ ) { + finDF >> fname; + //--- Read one data file + fname += ".g4dcm"; + fullDicomFileName[i]=directory+fname; // store the .g4dcm files name ML2 + } + + finDF >> this->nInputMatNames; + this->inputMatNames=new G4String[this->nInputMatNames]; + this->density=new G4double[this->nInputMatNames]; + + for(G4int i = 0; i < this->nInputMatNames; i++ ) { + finDF >> this->inputMatNames[i] >> this->density[i]; // store the material name and its density ML2 + } + + finDF.close(); + + for(G4int i = 0; i < this->fNoFiles; i++ ) { + ReadPatientDataFile(fullDicomFileName[i]); + } + //----- Merge data headers + MergeZSliceHeaders(); + + +} + +//------------------------------------------------------------- +void DicomDetectorConstruction::ReadPatientDataFile(const G4String& fname) +{ +#ifdef G4VERBOSE + G4cout << " DicomDetectorConstruction::ReadPatientDataFile opening file " << fname << G4endl; +#endif + std::ifstream fin(fname.c_str(), std::ios_base::in); + if( !fin.is_open() ) { + G4Exception("DicomDetectorConstruction::ReadPatientDataFil. File not found " + fname ); + } + //----- Define density differences (maximum density difference to create a new material) + G4double densityDiff = 0.1; + std::map fDensityDiffs; // to be able to use a different densityDiff for each material + for( unsigned int ii = 0; ii < fOriginalMaterials.size(); ii++ ){ + fDensityDiffs[ii] = densityDiff; //currently all materials with same difference + } + + //----- Read data header + DicomPatientZSliceHeader* sliceHeader = new DicomPatientZSliceHeader( fin ); + fZSliceHeaders.push_back( sliceHeader ); + + //----- Read material indices + G4int nVoxels = sliceHeader->GetNoVoxels(); + + //--- If first slice, initiliaze fMateIDs + if( fZSliceHeaders.size() == 1 ) { + //fMateIDs = new unsigned int[fNoFiles*nVoxels]; + fMateIDs = new size_t[fNoFiles*nVoxels]; + + } + + unsigned int mateID; + G4int voxelCopyNo = (fZSliceHeaders.size()-1)*nVoxels; // number of voxels from previously read slices + for( G4int ii = 0; ii < nVoxels; ii++, voxelCopyNo++ ){ + fin >> mateID; + fMateIDs[voxelCopyNo] = mateID; + } + + //----- Read material densities and build new materials if two voxels have same material but its density is in a different density interval (size of density intervals defined by densityDiff) + G4double density; + voxelCopyNo = (fZSliceHeaders.size()-1)*nVoxels; // number of voxels from previously read slices + + for( G4int ii = 0; ii < nVoxels; ii++, voxelCopyNo++ ) + { + fin >> density; + + //-- Get material from list of original materials + + int mateID = fMateIDs[voxelCopyNo]; + + // changed ML2 start + + // a search over the materials names is performed to avoide the necessity to respect the material name order. + + // G4Material* mateOrig = fOriginalMaterials[mateID]; commented ML2 + + G4Material* mateOrig=0; + for (int jMat=0;jMat<(int)fOriginalMaterials.size(); jMat++) + { + if (fOriginalMaterials[jMat]->GetName()==this->inputMatNames[mateID]) + { + mateOrig = fOriginalMaterials[jMat]; + break; + } + } + + // end + + //-- Get density bin: middle point of the bin in which the current density is included + G4double densityBin = fDensityDiffs[mateID] * (G4int(density/fDensityDiffs[mateID])+0.5); + //-- Build the new material name + G4String newMateName = mateOrig->GetName()+"__"+ftoa((G4float)densityBin); + + //-- Look if a material with this name is already created (because a previous voxel was already in this density bin) + unsigned int im; + for( im = 0; im < fMaterials.size(); im++ ) + { + if( fMaterials[im]->GetName() == newMateName ) + {break;} + } + //-- If material is already created use index of this material + if( im != fMaterials.size() ) + { + fMateIDs[voxelCopyNo] = im; + //-- else, create the material + } else + { + fMaterials.push_back( BuildMaterialWithChangingDensity( mateOrig, densityBin, newMateName ) ); + fMateIDs[voxelCopyNo] = fMaterials.size()-1; + this->matNames[this->nMatNames]=newMateName; + this->nMatNames++; + } + } + +} + + +//------------------------------------------------------------- +void DicomDetectorConstruction::MergeZSliceHeaders() +{ + //----- Images must have the same dimension ... + fZSliceHeaderMerged = new DicomPatientZSliceHeader( *fZSliceHeaders[0] ); + for( unsigned int ii = 1; ii < fZSliceHeaders.size(); ii++ ) { + *fZSliceHeaderMerged += *fZSliceHeaders[ii]; + }; +} + +//------------------------------------------------------------- +G4Material* DicomDetectorConstruction::BuildMaterialWithChangingDensity( const G4Material* origMate, G4double density, G4String newMateName ) +{ + //----- Copy original material, but with new density + G4int nelem = origMate->GetNumberOfElements(); + G4Material* mate = new G4Material( newMateName, density*g/cm3, nelem, kStateUndefined, STP_Temperature ); + + for( G4int ii = 0; ii < nelem; ii++ ){ + G4double frac = origMate->GetFractionVector()[ii]; + G4Element* elem = const_cast(origMate->GetElement(ii)); + mate->AddElement( elem, frac ); + } + + return mate; +} + +//----------------------------------------------------------------------- +G4String DicomDetectorConstruction::ftoa(float flo) +{ + char ctmp[100]; + gcvt( flo, 10, ctmp ); + return G4String(ctmp); +} + + +//------------------------------------------------------------- + +void DicomDetectorConstruction::ConstructPatientContainer() +{ + //---- Extract number of voxels and voxel dimensions + nVoxelX = fZSliceHeaderMerged->GetNoVoxelX(); + nVoxelY = fZSliceHeaderMerged->GetNoVoxelY(); + nVoxelZ = fZSliceHeaderMerged->GetNoVoxelZ(); + + voxelHalfDimX = fZSliceHeaderMerged->GetVoxelHalfX(); + voxelHalfDimY = fZSliceHeaderMerged->GetVoxelHalfY(); + voxelHalfDimZ = fZSliceHeaderMerged->GetVoxelHalfZ(); +#ifdef G4VERBOSE + G4cout << " nVoxelX " << nVoxelX << " voxelHalfDimX " << voxelHalfDimX <GetMaxX() + fZSliceHeaderMerged->GetMinX() ) /2.; +// G4double offsetY = (fZSliceHeaderMerged->GetMaxY() + fZSliceHeaderMerged->GetMinY() ) /2.; +// G4double offsetZ = (fZSliceHeaderMerged->GetMaxZ() + fZSliceHeaderMerged->GetMinZ() ) /2.; +// G4ThreeVector posCentreVoxels(offsetX,offsetY,offsetZ); + +G4ThreeVector posCentreVoxels(0.,0.,0.); // ML2 + +#ifdef G4VERBOSE + G4cout << " placing voxel container volume at " << posCentreVoxels << G4endl; +#endif + G4RotationMatrix *rotation=new G4RotationMatrix(); + + rotation->rotateZ(180.*deg); + container_phys = + new G4PVPlacement(rotation, // rotation + posCentreVoxels, + container_logic, // The logic volume + "PhantomContainer", // Name + world_logic, // Mother + false, // No op. bool. + 1); // Copy number + + +} + + +#include "G4SDManager.hh" +#include "G4MultiFunctionalDetector.hh" + +//------------------------------------------------------------- +void DicomDetectorConstruction::SetScorer(G4LogicalVolume* voxel_logic) +{ + voxel_logic->SetSensitiveDetector(this->sensDet); + + this->regVol->AddRootLogicalVolume(voxel_logic); + voxel_logic->SetRegion(this->regVol); +} + diff --git a/examples/advanced/medical_linac/src/DicomHandler.cc b/examples/advanced/medical_linac/src/DicomHandler.cc new file mode 100755 index 0000000000..52edba9e22 --- /dev/null +++ b/examples/advanced/medical_linac/src/DicomHandler.cc @@ -0,0 +1,895 @@ +// +// ******************************************************************** +// * 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 : +// *Louis Archambault louis.archambault@phy.ulaval.ca, +// *Luc Beaulieu beaulieu@phy.ulaval.ca +// +Vincent Hubert-Tremblay at tigre.2@sympatico.ca +// +// +// *Centre Hospitalier Universitaire de Quebec (CHUQ), +// Hotel-Dieu de Quebec, departement de Radio-oncologie +// 11 cote du palais. Quebec, QC, Canada, G1R 2J6 +// tel (418) 525-4444 #6720 +// fax (418) 691 5268 +// +// + Universit.A�� Laval, Qu��bec (QC) Canada +//******************************************************* +// +//******************************************************* +// +//******************************************************* +// +// DicomHandler.cc : +// - Handling of DICM images +// - Reading headers and pixels +// - Transforming pixel to density and creating *.g4dcm +// files +// - Definitions are in DicomHandler.hh +//******************************************************* +// +// The code is part of the DICOM extended example and it was modified by : +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* +// +// ^INAIL DIPIA - ex 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 "DicomHandler.hh" +#include "globals.hh" +#include "G4ios.hh" +#include + +#include +#include + + +DicomHandler::DicomHandler() + : DATABUFFSIZE(8192), LINEBUFFSIZE(128), FILENAMESIZE(512), + compression(0), nFiles(0), rows(0), columns(0), + bitAllocated(0), maxPixelValue(0), minPixelValue(0), + pixelSpacingX(0.), pixelSpacingY(0.), + sliceThickness(0.), sliceLocation(0.), + rescaleIntercept(0), rescaleSlope(0), + littleEndian(true), implicitEndian(false), + pixelRepresentation(0) { + ; +} + +DicomHandler::~DicomHandler() { + ; +} + +G4int DicomHandler::ReadFile(FILE *dicom, char * filename2) +{ + G4cout << " ReadFile " << filename2 << G4endl; + G4int returnvalue = 0; + char * buffer = new char[LINEBUFFSIZE]; + + implicitEndian = false; + littleEndian = true; + + std::fread( buffer, 1, 128, dicom ); // The first 128 bytes + //are not important + // Reads the "DICOM" letters + std::fread( buffer, 1, 4, dicom ); + // if there is no preamble, the FILE pointer is rewinded. + if(std::strncmp("DICM", buffer, 4) != 0) { + std::fseek(dicom, 0, SEEK_SET); + implicitEndian = true; + } + + short readGroupId; // identify the kind of input data + short readElementId; // identify a particular type information + short elementLength2; // deal with element length in 2 bytes + //unsigned int elementLength4; // deal with element length in 4 bytes + G4int elementLength4; // deal with element length in 4 bytes + + char * data = new char[DATABUFFSIZE]; + + + // Read information up to the pixel data + while(true) { + + //Reading groups and elements : + readGroupId = 0; + readElementId = 0; + // group ID + std::fread(buffer, 2, 1, dicom); + GetValue(buffer, readGroupId); + // element ID + std::fread(buffer, 2, 1, dicom); + GetValue(buffer, readElementId); + + // Creating a tag to be identified afterward + G4int tagDictionary = readGroupId*0x10000 + readElementId; + + // VR or element length + std::fread(buffer,2,1,dicom); + GetValue(buffer, elementLength2); + + // If value representation (VR) is OB, OW, SQ, UN, added OF and UT + //the next length is 32 bits + if((elementLength2 == 0x424f || // "OB" + elementLength2 == 0x574f || // "OW" + elementLength2 == 0x464f || // "OF" + elementLength2 == 0x5455 || // "UT" + elementLength2 == 0x5153 || // "SQ" + elementLength2 == 0x4e55) && // "UN" + !implicitEndian ) { // explicit VR + + std::fread(buffer, 2, 1, dicom); // Skip 2 reserved bytes + + // element length + std::fread(buffer, 4, 1, dicom); + GetValue(buffer, elementLength4); + + // beginning of the pixels + if(tagDictionary == 0x7FE00010) break; + + if(elementLength4 ==(G4int) 0xFFFFFFFF) G4cerr << "Too difficult for me!" << G4endl; // VR = SQ with undefined length + + // Reading the information with data + std::fread(data, elementLength4,1,dicom); + + + } else { + + if(!implicitEndian || readGroupId == 2) { // explicit with VR different than previous ones + + //G4cout << "Reading DICOM files with Explicit VR"<< G4endl; + // element length (2 bytes) + std::fread(buffer, 2, 1, dicom); + GetValue(buffer, elementLength2); + elementLength4 = elementLength2; + + if(tagDictionary == 0x7FE00010) break; // beginning of the pixels + + std::fread(data, elementLength4, 1, dicom); + + } else { // Implicit VR + + //G4cout << "Reading DICOM files with Implicit VR"<< G4endl; + + // element length (4 bytes) + if(std::fseek(dicom, -2, SEEK_CUR) != 0) { + G4cerr << "[DicomHandler] fseek failed" << G4endl; + exit(-10);} + + std::fread(buffer, 4, 1, dicom); + GetValue(buffer, elementLength4); + + //G4cout << std::hex<< elementLength4 << G4endl; + + if(elementLength4 ==(G4int) 0xFFFFFFFF) { + short momreadGroupId; + short momreadElementId; + unsigned int momelementLength4 ; // deal with element length in 4 bytes + G4cout << "Trying to read nested items!" << G4endl; // VR = SQ with undefined length + while(true){ + std::fread(buffer, 2, 1, dicom); + GetValue(buffer, momreadGroupId); + std::fread(buffer, 2, 1, dicom); + GetValue(buffer, momreadElementId); + //G4int momtagDictionary = momreadGroupId*0x10000 + momreadElementId; + //G4cout << "TAG"<< std::hex << momtagDictionary << G4endl; + std::fread(buffer, 4, 1, dicom); + GetValue(buffer, momelementLength4); + //G4cout << "Length"<< std::hex << momelementLength4 << G4endl; + if(momelementLength4 == 0x00000000 || momelementLength4 == 0xFFFFFFFF ) break; + std::fread(buffer, momelementLength4, 1, dicom); + } + } else { + if(tagDictionary == 0x7FE00010) break; // beginning of the pixels + + std::fread(data, elementLength4, 1, dicom); + + } + + } + } + + // NULL termination + data[elementLength4] = '\0'; + + // analyzing information + GetInformation(tagDictionary, data); + } + + // Creating files to store information + std::ofstream foutG4DCM; + char * fullFileName=new char[1024]; + strcpy(fullFileName,this->dicomDirectory); + strcat(fullFileName, filename2); + G4String fnameG4DCM = G4String(fullFileName) + ".g4dcm"; + foutG4DCM.open(fnameG4DCM); + G4cout << "### Writing of " << fnameG4DCM << " ### " << G4endl; + + foutG4DCM << fMaterialIndices.size() << G4endl; + //--- Write materials + unsigned int ii = 0; + std::map::const_iterator ite; + for( ite = fMaterialIndices.begin(); ite != fMaterialIndices.end(); ite++, ii++ ){ + foutG4DCM << ii << " " << (*ite).second << G4endl; + } + //--- Write number of voxels (assume only one voxel in Z) + foutG4DCM << rows/compression << " " << columns/compression << " 1 " << G4endl; + //--- Write minimum and maximum extensions + foutG4DCM << -pixelSpacingX*rows/2 << " " << pixelSpacingX*rows/2 << G4endl; + foutG4DCM << -pixelSpacingY*columns/2 << " " << pixelSpacingY*columns/2 << G4endl; + foutG4DCM << sliceLocation-sliceThickness/2. << " " << sliceLocation+sliceThickness/2. << G4endl; + // foutG4DCM << compression << G4endl; + + ReadData( dicom, fullFileName ); + + StoreData( foutG4DCM ); + + foutG4DCM.close(); + + // + delete [] buffer; + delete [] data; + + return returnvalue; +} + +// +void DicomHandler::GetInformation(G4int & tagDictionary, char * data) { + if(tagDictionary == 0x00280010 ) { // Number of Rows + GetValue(data, rows); + std::printf("[0x00280010] Rows -> %i\n",rows); + + } else if(tagDictionary == 0x00280011 ) { // Number of columns + GetValue(data, columns); + std::printf("[0x00280011] Columns -> %i\n",columns); + + } else if(tagDictionary == 0x00280102 ) { // High bits ( not used ) + short highBits; + GetValue(data, highBits); + std::printf("[0x00280102] High bits -> %i\n",highBits); + + } else if(tagDictionary == 0x00280100 ) { // Bits allocated + GetValue(data, bitAllocated); + std::printf("[0x00280100] Bits allocated -> %i\n", bitAllocated); + + } else if(tagDictionary == 0x00280101 ) { // Bits stored ( not used ) + short bitStored; + GetValue(data, bitStored); + std::printf("[0x00280101] Bits stored -> %i\n",bitStored); + + } else if(tagDictionary == 0x00280106 ) { // Min. pixel value + GetValue(data, minPixelValue); + std::printf("[0x00280106] Min. pixel value -> %i\n", minPixelValue); + + } else if(tagDictionary == 0x00280107 ) { // Max. pixel value + GetValue(data, maxPixelValue); + std::printf("[0x00280107] Max. pixel value -> %i\n", maxPixelValue); + + } else if(tagDictionary == 0x00281053) { // Rescale slope + rescaleSlope = atoi(data); + std::printf("[0x00281053] Rescale Slope -> %d\n", rescaleSlope); + + } else if(tagDictionary == 0x00281052 ) { // Rescalse intercept + rescaleIntercept = atoi(data); + std::printf("[0x00281052] Rescale Intercept -> %d\n", rescaleIntercept ); + + } else if(tagDictionary == 0x00280103 ) { + // Pixel representation ( functions not design to read signed bits ) + pixelRepresentation = atoi(data); // 0: unsigned 1: signed + std::printf("[0x00280103] Pixel Representation -> %i\n", pixelRepresentation); + if(pixelRepresentation == 1 ) { + std::printf("### PIXEL REPRESENTATION = 1, BITS ARE SIGNED, "); + std::printf("DICOM READING SCAN FOR UNSIGNED VALUE, POSSIBLE "); + std::printf("ERROR !!!!!! -> \n"); + } + + } else if(tagDictionary == 0x00080006 ) { // Modality + std::printf("[0x00080006] Modality -> %s\n", data); + + } else if(tagDictionary == 0x00080070 ) { // Manufacturer + std::printf("[0x00080070] Manufacturer -> %s\n", data); + + } else if(tagDictionary == 0x00080080 ) { // Institution Name + std::printf("[0x00080080] Institution Name -> %s\n", data); + + } else if(tagDictionary == 0x00080081 ) { // Institution Address + std::printf("[0x00080081] Institution Address -> %s\n", data); + + } else if(tagDictionary == 0x00081040 ) { // Institution Department Name + std::printf("[0x00081040] Institution Department Name -> %s\n", data); + + } else if(tagDictionary == 0x00081090 ) { // Manufacturer's Model Name + std::printf("[0x00081090] Manufacturer's Model Name -> %s\n", data); + + } else if(tagDictionary == 0x00181000 ) { // Device Serial Number + std::printf("[0x00181000] Device Serial Number -> %s\n", data); + + } else if(tagDictionary == 0x00080008 ) { // Image type ( not used ) + std::printf("[0x00080008] Image Types -> %s\n", data); + + } else if(tagDictionary == 0x00283000 ) { // Modality LUT Sequence ( not used ) + std::printf("[0x00283000] Modality LUT Sequence SQ 1 -> %s\n", data); + + } else if(tagDictionary == 0x00283002 ) { // LUT Descriptor ( not used ) + std::printf("[0x00283002] LUT Descriptor US or SS 3 -> %s\n", data); + + } else if(tagDictionary == 0x00283003 ) { // LUT Explanation ( not used ) + std::printf("[0x00283003] LUT Explanation LO 1 -> %s\n", data); + + } else if(tagDictionary == 0x00283004 ) { // Modality LUT ( not used ) + std::printf("[0x00283004] Modality LUT Type LO 1 -> %s\n", data); + + } else if(tagDictionary == 0x00283006 ) { // LUT Data ( not used ) + std::printf("[0x00283006] LUT Data US or SS -> %s\n", data); + + } else if(tagDictionary == 0x00283010 ) { // VOI LUT ( not used ) + std::printf("[0x00283010] VOI LUT Sequence SQ 1 -> %s\n", data); + + } else if(tagDictionary == 0x00280120 ) { // Pixel Padding Value ( not used ) + std::printf("[0x00280120] Pixel Padding Value US or SS 1 -> %s\n", data); + + } else if(tagDictionary == 0x00280030 ) { // Pixel Spacing + G4String datas(data); + int iss = datas.find('\\'); + pixelSpacingX = atof( datas.substr(0,iss).c_str() ); + pixelSpacingY = atof( datas.substr(iss+2,datas.length()).c_str() ); + + } else if(tagDictionary == 0x00200037 ) { // Image Orientation ( not used ) + std::printf("[0x00200037] Image Orientation (Patient) -> %s\n", data); + + } else if(tagDictionary == 0x00200032 ) { // Image Position ( not used ) + std::printf("[0x00200032] Image Position (Patient,mm) -> %s\n", data); + + } else if(tagDictionary == 0x00180050 ) { // Slice Thickness + sliceThickness = atof(data); + std::printf("[0x00180050] Slice Thickness (mm) -> %f\n", sliceThickness); + + } else if(tagDictionary == 0x00201041 ) { // Slice Location + sliceLocation = atof(data); + std::printf("[0x00201041] Slice Location -> %f\n", sliceLocation); + + } else if(tagDictionary == 0x00280004 ) { // Photometric Interpretation ( not used ) + std::printf("[0x00280004] Photometric Interpretation -> %s\n", data); + + } else if(tagDictionary == 0x00020010) { // Endian + if(strcmp(data, "1.2.840.10008.1.2") == 0) + implicitEndian = true; + else if(strncmp(data, "1.2.840.10008.1.2.2", 19) == 0) + littleEndian = false; + //else 1.2.840..10008.1.2.1 (explicit little endian) + + std::printf("[0x00020010] Endian -> %s\n", data); + } + + // others + else { + std::printf("[0x%x] -> %s\n", tagDictionary, data); + + } + +} + +void DicomHandler::StoreData(std::ofstream& foutG4DCM) +{ + G4int mean=0; + G4double density; + G4bool overflow = false; + G4int cpt=1; + + + //----- Print indices of material + if(compression == 1) { // no compression: each pixel has a density value) + for( G4int ww = 0; ww < rows; ww++) { + for( G4int xx = 0; xx < columns; xx++) { + mean = tab[ww][xx]; + density = Pixel2density(mean); + foutG4DCM << GetMaterialIndex( density ) << " "; + } + foutG4DCM << G4endl; + } + + } else { + // density value is the average of a square region of + // compression*compression pixels + for(G4int ww = 0; ww < rows ;ww += compression ) { + for(G4int xx = 0; xx < columns ;xx +=compression ) { + overflow = false; + mean = 0; + for(int sumx = 0; sumx < compression; sumx++) { + for(int sumy = 0; sumy < compression; sumy++) { + if(ww+sumy >= rows || xx+sumx >= columns) overflow = true; + mean += tab[ww+sumy][xx+sumx]; + } + if(overflow) break; + } + mean /= compression*compression; + cpt = 1; + + if(!overflow) { + G4double density = Pixel2density(mean); + foutG4DCM << GetMaterialIndex( density ) << " "; + } + } + foutG4DCM << G4endl; + } + + } + + //----- Print densities + if(compression == 1) { // no compression: each pixel has a density value) + for( G4int ww = 0; ww < rows; ww++) { + for( G4int xx = 0; xx < columns; xx++) { + mean = tab[ww][xx]; + density = Pixel2density(mean); + foutG4DCM << density << " "; + if( xx%8 == 3 ) foutG4DCM << G4endl; // just for nicer reading + } + } + + } else { + // density value is the average of a square region of + // compression*compression pixels + for(G4int ww = 0; ww < rows ;ww += compression ) { + for(G4int xx = 0; xx < columns ;xx +=compression ) { + overflow = false; + mean = 0; + for(int sumx = 0; sumx < compression; sumx++) { + for(int sumy = 0; sumy < compression; sumy++) { + if(ww+sumy >= rows || xx+sumx >= columns) overflow = true; + mean += tab[ww+sumy][xx+sumx]; + } + if(overflow) break; + } + mean /= compression*compression; + cpt = 1; + + if(!overflow) { + G4double density = Pixel2density(mean); + foutG4DCM << density << " "; + if( xx/compression%8 == 3 ) foutG4DCM << G4endl; // just for nicer reading + } + } + } + + } + +} + +void DicomHandler::ReadMaterialIndices( std::ifstream& finData) +{ + unsigned int nMate; + G4String mateName; + G4float densityMax; + finData >> nMate; + if( finData.eof() ) return; + + G4cout << " ReadMaterialIndices " << nMate << G4endl; + for( unsigned int ii = 0; ii < nMate; ii++ ){ + finData >> mateName >> densityMax; + fMaterialIndices[densityMax] = mateName; + G4cout << ii << " ReadMaterialIndices " << mateName << " " << densityMax << G4endl; + } + +} + +unsigned int DicomHandler::GetMaterialIndex( G4float density ) +{ + std::map::reverse_iterator ite; + G4int ii = fMaterialIndices.size(); + for( ite = fMaterialIndices.rbegin(); ite != fMaterialIndices.rend(); ite++, ii-- ) { + if( density >= (*ite).first ) { + break; + } + } +// G4cout << " GetMaterialIndex " << density << " = " << ii << G4endl; +// G4cout << density << " " << ii << G4endl; + return ii; + +} + +// +G4int DicomHandler::ReadData(FILE *dicom,char * filename2) +{ + G4int returnvalue = 0; + + // READING THE PIXELS : + G4int w = 0; + G4int len = 0; + + tab = new G4int*[rows]; + for ( G4int i = 0; i < rows; i ++ ) { + tab[i] = new G4int[columns]; + } + + if(bitAllocated == 8) { // Case 8 bits : + + std::printf("@@@ Error! Picture != 16 bits...\n"); + std::printf("@@@ Error! Picture != 16 bits...\n"); + std::printf("@@@ Error! Picture != 16 bits...\n"); + + unsigned char ch = 0; + + len = rows*columns; + for(G4int j = 0; j < rows; j++) { + for(G4int i = 0; i < columns; i++) { + w++; + std::fread( &ch, 1, 1, dicom); + tab[j][i] = ch*rescaleSlope + rescaleIntercept; + } + } + returnvalue = 1; + + } else { // from 12 to 16 bits : + char sbuff[2]; + short pixel; + len = rows*columns; + for( G4int j = 0; j < rows; j++) { + for( G4int i = 0; i < columns; i++) { + w++; + std::fread(sbuff, 2, 1, dicom); + GetValue(sbuff, pixel); + tab[j][i] = pixel*rescaleSlope + rescaleIntercept; + } + } + } + + // Creation of .g4 files wich contains averaged density data + char * nameProcessed = new char[FILENAMESIZE]; + FILE* fileOut; + + std::sprintf(nameProcessed,"%s.g4dcmb",filename2); + fileOut = std::fopen(nameProcessed,"w+b"); + std::printf("### Writing of %s ###\n",nameProcessed); + + unsigned int nMate = fMaterialIndices.size(); + std::fwrite(&nMate, sizeof(unsigned int), 1, fileOut); + //--- Write materials + std::map::const_iterator ite; + for( ite = fMaterialIndices.begin(); ite != fMaterialIndices.end(); ite++ ){ + G4String mateName = (*ite).second; + for( G4int ii = (*ite).second.length(); ii < 40; ii++ ) { + mateName += " "; + } //mateName = const_cast(((*ite).second).c_str()); + + const char* mateNameC = mateName.c_str(); + std::fwrite(mateNameC, sizeof(char),40, fileOut); + } + + unsigned int rowsC = rows/compression; + unsigned int columnsC = columns/compression; + unsigned int planesC = 1; + G4float pixelLocationXM = -pixelSpacingX*rows/2.; + G4float pixelLocationXP = pixelSpacingX*rows/2.; + G4float pixelLocationYM = -pixelSpacingY*rows/2.; + G4float pixelLocationYP = pixelSpacingY*rows/2.; + G4float sliceLocationZM = sliceLocation-sliceThickness/2.; + G4float sliceLocationZP = sliceLocation+sliceThickness/2.; + //--- Write number of voxels (assume only one voxel in Z) + std::fwrite(&rowsC, sizeof(unsigned int), 1, fileOut); + std::fwrite(&columnsC, sizeof(unsigned int), 1, fileOut); + std::fwrite(&planesC, sizeof(unsigned int), 1, fileOut); + //--- Write minimum and maximum extensions + std::fwrite(&pixelLocationXM, sizeof(G4float), 1, fileOut); + std::fwrite(&pixelLocationXP, sizeof(G4float), 1, fileOut); + std::fwrite(&pixelLocationYM, sizeof(G4float), 1, fileOut); + std::fwrite(&pixelLocationYP, sizeof(G4float), 1, fileOut); + std::fwrite(&sliceLocationZM, sizeof(G4float), 1, fileOut); + std::fwrite(&sliceLocationZP, sizeof(G4float), 1, fileOut); + // std::fwrite(&compression, sizeof(unsigned int), 1, fileOut); + + std::printf("%8i %8i\n",rows,columns); + std::printf("%8f %8f\n",pixelSpacingX,pixelSpacingY); + std::printf("%8f\n", sliceThickness); + std::printf("%8f\n", sliceLocation); + std::printf("%8i\n", compression); + + G4int compSize = compression; + G4int mean; + G4float density; + G4bool overflow = false; + G4int cpt=1; + + //----- Write index of material for each pixel + if(compSize == 1) { // no compression: each pixel has a density value) + for( G4int ww = 0; ww < rows; ww++) { + for( G4int xx = 0; xx < columns; xx++) { + mean = tab[ww][xx]; + density = Pixel2density(mean); + unsigned int mateID = GetMaterialIndex( density ); + std::fwrite(&mateID, sizeof(unsigned int), 1, fileOut); + } + } + + } else { + // density value is the average of a square region of + // compression*compression pixels + for(G4int ww = 0; ww < rows ;ww += compSize ) { + for(G4int xx = 0; xx < columns ;xx +=compSize ) { + overflow = false; + mean = 0; + for(int sumx = 0; sumx < compSize; sumx++) { + for(int sumy = 0; sumy < compSize; sumy++) { + if(ww+sumy >= rows || xx+sumx >= columns) overflow = true; + mean += tab[ww+sumy][xx+sumx]; + } + if(overflow) break; + } + mean /= compSize*compSize; + cpt = 1; + + if(!overflow) { + density = Pixel2density(mean); + unsigned int mateID = GetMaterialIndex( density ); + std::fwrite(&mateID, sizeof(unsigned int), 1, fileOut); + } + } + + } + } + + //----- Write density for each pixel + if(compSize == 1) { // no compression: each pixel has a density value) + for( G4int ww = 0; ww < rows; ww++) { + for( G4int xx = 0; xx < columns; xx++) { + mean = tab[ww][xx]; + density = Pixel2density(mean); + std::fwrite(&density, sizeof(G4float), 1, fileOut); + } + } + + } else { + // density value is the average of a square region of + // compression*compression pixels + for(G4int ww = 0; ww < rows ;ww += compSize ) { + for(G4int xx = 0; xx < columns ;xx +=compSize ) { + overflow = false; + mean = 0; + for(int sumx = 0; sumx < compSize; sumx++) { + for(int sumy = 0; sumy < compSize; sumy++) { + if(ww+sumy >= rows || xx+sumx >= columns) overflow = true; + mean += tab[ww+sumy][xx+sumx]; + } + if(overflow) break; + } + mean /= compSize*compSize; + cpt = 1; + + if(!overflow) { + density = Pixel2density(mean); + std::fwrite(&density, sizeof(G4float), 1, fileOut); + } + } + + } + } + + std::fclose(fileOut); + + delete [] nameProcessed; + + /* for ( G4int i = 0; i < rows; i ++ ) { + delete [] tab[i]; + } + delete [] tab; + */ + + return returnvalue; +} + +/* + G4int DicomHandler::displayImage(char command[300]) + { + // Display DICOM images using ImageMagick + char commandName[500]; + std::sprintf(commandName,"display %s",command); + std::printf(commandName); + G4int i = system(commandName); + return (G4int )i; + } +*/ + +G4float DicomHandler::Pixel2density(G4int pixel) +{ + G4float density = -1.; + G4int nbrequali = 0; + G4double deltaCT = 0; + G4double deltaDensity = 0; + + // CT2Density.dat contains the calibration curve to convert CT (Hounsfield) + // number to physical density + std::ifstream calibration(this->calibrationDensityFileName); + calibration >> nbrequali; + + G4double * valuedensity = new G4double[nbrequali]; + G4double * valueCT = new G4double[nbrequali]; + + if(!calibration) { + G4cerr << "@@@ No value to transform pixels in density!" << G4endl; + exit(1); + + } else { // calibration was successfully opened + for(G4int i = 0; i < nbrequali; i++) { // Loop to store all the pts in CT2Density.dat + calibration >> valueCT[i] >> valuedensity[i]; + } + } + calibration.close(); + + for(G4int j = 1; j < nbrequali; j++) { + if( pixel >= valueCT[j-1] && pixel < valueCT[j]) { + + deltaCT = valueCT[j] - valueCT[j-1]; + deltaDensity = valuedensity[j] - valuedensity[j-1]; + + // interpolating linearly + density = valuedensity[j] - ((valueCT[j] - pixel)*deltaDensity/deltaCT ); + break; + } + } + + if(density < 0.) { + std::printf("@@@ Error density = %f && Pixel = %i (0x%x) && deltaDensity/deltaCT = %f\n",density,pixel,pixel, deltaDensity/deltaCT); + } + + delete [] valuedensity; + delete [] valueCT; + + return density; +} + + +void DicomHandler::CheckFileFormat(G4String directory, G4String fileName, G4String calibrationDensityFileName) +{ + this->dicomDirectory=directory; + this->calibrationDensityFileName=this->dicomDirectory+calibrationDensityFileName; + G4String fullFileName=this->dicomDirectory+fileName; + + std::cout << "fullFileName "<< fullFileName<< G4endl; + + char * fullName = new char[FILENAMESIZE];// added the full path + std::ifstream checkData(fullFileName); + char * oneLine = new char[128]; + + if(!(checkData.is_open())) { //Check existance of Data.dat + + G4cout << "\nDicomG4 needs Data.dat :\n\tFirst line: number of image pixel for a " + << "voxel (G4Box)\n\tSecond line: number of images (CT slices) to " + << "read\n\tEach following line contains the name of a Dicom image except " + << "for the .dcm extension\n"; + exit(0); + } + + checkData >> compression; + checkData >> nFiles; + G4String oneName; + checkData.getline(oneLine,100); + std::ifstream testExistence; + G4bool existAlready = true; + for(G4int rep = 0; rep < nFiles; rep++) { + checkData.getline(oneLine,100); + oneName = oneLine; + oneName += ".g4dcm"; // create dicomFile.g4dcm + G4cout << nFiles << " test file " << oneName << G4endl; +// testExistence.open(oneName.data()); // added the full path + strcpy(fullName,this->dicomDirectory); + strcat(fullName,oneName.data()); + testExistence.open(fullName); // added the full path + if(!(testExistence.is_open())) { + existAlready = false; + testExistence.clear(); + testExistence.close(); + } + testExistence.clear(); + testExistence.close(); + } + + ReadMaterialIndices( checkData ); + + checkData.close(); + delete [] oneLine; + + if( existAlready == false ) { // The files *.g4dcm have to be created + + G4cout << "\nAll the necessary images were not found in processed form, starting " + << "with .dcm images\n"; + + FILE * dicom; + FILE * lecturePref; + char * compressionc = new char[LINEBUFFSIZE]; + char * maxc = new char[LINEBUFFSIZE]; + //char name[300], inputFile[300]; + char * name = new char[FILENAMESIZE]; + char * inputFile = new char[FILENAMESIZE]; + + +// lecturePref = std::fopen("Data.dat","r"); // added the full path + lecturePref = std::fopen(fullFileName,"r"); // added the full path + std::fscanf(lecturePref,"%s",compressionc); + compression = atoi(compressionc); + std::fscanf(lecturePref,"%s",maxc); + nFiles = atoi(maxc); + G4cout << " nFiles " << nFiles << G4endl; + + for( G4int i = 1; i <= nFiles; i++ ) { // Begin loop on filenames + + std::fscanf(lecturePref,"%s",inputFile); + std::sprintf(name,"%s.dcm",inputFile); + std::cout << "check 1: " << name << std::endl; + // Open input file and give it to gestion_dicom : + std::printf("### Opening %s and reading :\n",name); +// dicom = std::fopen(name,"rb"); // added the full path + strcpy(fullName,this->dicomDirectory); + strcat(fullName,name); + dicom = std::fopen(fullName,"rb"); // added the full path + // Reading the .dcm in two steps: + // 1. reading the header + // 2. reading the pixel data and store the density in Moyenne.dat + if( dicom != 0 ) { + ReadFile(dicom,inputFile); + } else { + G4cout << "\nError opening file : " << name << G4endl; + } + std::fclose(dicom); + } + std::fclose(lecturePref); + + delete [] compressionc; + delete [] maxc; + delete [] name; + delete [] inputFile; + + } + +} + + +template +void DicomHandler::GetValue(char * _val, Type & _rval) { + +#if BYTE_ORDER == BIG_ENDIAN + if(littleEndian) { // little endian +#else // BYTE_ORDER == LITTLE_ENDIAN + if(!littleEndian) { // big endian +#endif + const int SIZE = sizeof(_rval); + char ctemp; + for(int i = 0; i < SIZE/2; i++) { + ctemp = _val[i]; + _val[i] = _val[SIZE - 1 - i]; + _val[SIZE - 1 - i] = ctemp; + } + } + _rval = *(Type *)_val; +} diff --git a/examples/extended/medical/DICOM/src/DicomPatientZSliceHeader.cc b/examples/advanced/medical_linac/src/DicomPatientZSliceHeader.cc old mode 100644 new mode 100755 similarity index 90% rename from examples/extended/medical/DICOM/src/DicomPatientZSliceHeader.cc rename to examples/advanced/medical_linac/src/DicomPatientZSliceHeader.cc index 34de40cc01..eaa71ff7b4 --- a/examples/extended/medical/DICOM/src/DicomPatientZSliceHeader.cc +++ b/examples/advanced/medical_linac/src/DicomPatientZSliceHeader.cc @@ -23,6 +23,24 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// +// The code is part of the DICOM extended example and it was modified by : +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* +// +// ^INAIL DIPIA - ex 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 "globals.hh" #include "G4LogicalVolume.hh" diff --git a/examples/advanced/medical_linac/src/DicomPhantomParameterisationColour.cc b/examples/advanced/medical_linac/src/DicomPhantomParameterisationColour.cc new file mode 100755 index 0000000000..63e831b2b7 --- /dev/null +++ b/examples/advanced/medical_linac/src/DicomPhantomParameterisationColour.cc @@ -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. * +// ******************************************************************** +// +// -------------------------------------------------------------------- +// +// The code is part of the DICOM extended example and it was modified by : +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* +// +// ^INAIL DIPIA - ex 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 "DicomPhantomParameterisationColour.hh" + +#include "globals.hh" +#include "G4VisAttributes.hh" +#include "G4Material.hh" +#include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" + +//------------------------------------------------------------------ +DicomPhantomParameterisationColour::DicomPhantomParameterisationColour(G4String dicomDirectory, G4String dicomColorMap) +{ + this->dicomDirectory=dicomDirectory; + this->dicomColorMap=dicomColorMap; + ReadColourData(); +} + + +//------------------------------------------------------------------ +DicomPhantomParameterisationColour::~DicomPhantomParameterisationColour() +{ +} + +//------------------------------------------------------------------ +void DicomPhantomParameterisationColour::ReadColourData() +{ + //----- Add a G4VisAttributes for materials not defined in file; + G4VisAttributes* blankAtt = new G4VisAttributes; + blankAtt->SetVisibility( FALSE ); + fColours["Default"] = blankAtt; + + //----- Read file + G4String fullColorMapName=this->dicomDirectory+this->dicomColorMap; + std::ifstream fin(fullColorMapName); + G4int nMate; + G4String mateName; + G4double cred, cgreen, cblue, copacity; + fin >> nMate; + for( G4int ii = 0; ii < nMate; ii++ ){ + fin >> mateName >> cred >> cgreen >> cblue >> copacity; + G4Colour colour( cred, cgreen, cblue, copacity ); + G4VisAttributes* visAtt = new G4VisAttributes( colour ); + fColours[mateName] = visAtt; + } + +} + + +//------------------------------------------------------------------ +G4Material* DicomPhantomParameterisationColour:: +ComputeMaterial(const G4int copyNo, G4VPhysicalVolume * physVol, const G4VTouchable *) +{ + G4Material* mate = G4PhantomParameterisation::ComputeMaterial( copyNo, physVol, 0 ); + if( physVol ) { + G4String mateName = mate->GetName(); + unsigned int iuu = mateName.find("__"); + if( iuu != std::string::npos ) { + mateName = mateName.substr( 0, iuu ); + } + std::map::const_iterator ite = fColours.find(mateName); + //static G4String matNames[10000]; + //static G4int nMateNames=0; + //static G4bool bFirst=true; + //G4bool bFound=false; + if( ite != fColours.end() ){ + +/*std::cout << physVol->GetLogicalVolume()->GetName() <<" - phyVolName - " <GetColour(); + physVol->GetLogicalVolume()->SetVisAttributes( (*ite).second ); + } else { + physVol->GetLogicalVolume()->SetVisAttributes( (*(fColours.begin()) ).second ); // set it as unseen + } + } + + return mate; +} + diff --git a/examples/advanced/medical_linac/src/ML2Acc1.cc b/examples/advanced/medical_linac/src/ML2Acc1.cc index ae5d57964d..5ebf1dc243 100755 --- a/examples/advanced/medical_linac/src/ML2Acc1.cc +++ b/examples/advanced/medical_linac/src/ML2Acc1.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -61,15 +62,18 @@ CML2Acc1* CML2Acc1::GetInstance(void) } return instance; } - +void CML2Acc1::writeInfo() +{ + std::cout <<"\n\n\tnominal beam energy: "<idEnergy << G4endl; + std::cout <<"\tJaw X aperture: 1) "<< this->jaw1XAperture/mm<<"[mm]\t2) " << this->jaw2XAperture/mm<< " [mm]"<< G4endl; + std::cout <<"\tJaw Y aperture: 1) "<< this->jaw1YAperture/mm<<"[mm]\t2) " << this->jaw2YAperture/mm<< " [mm]\n"<< G4endl; +} 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; @@ -148,9 +152,10 @@ G4Material * CML2Acc1::otherMaterials(const G4String materialName) } return material; } -void CML2Acc1::Construct(G4VPhysicalVolume *PVWorld) +void CML2Acc1::Construct(G4VPhysicalVolume *PVWorld, G4double isoCentre) { this->PVWorld=PVWorld; + this->setIsoCentre(isoCentre); this->target(); this->BeWindow(); this->ionizationChamber(); @@ -163,12 +168,18 @@ void CML2Acc1::Construct(G4VPhysicalVolume *PVWorld) this->Jaw1Y(); this->Jaw2Y(); } +void CML2Acc1::reset() +{ + this->leavesA.clear(); + this->leavesB.clear(); +} + bool CML2Acc1::target() { switch (this->idEnergy) { case 6: - // materials // changed to call the NIST class materials + // materials G4Material* Cu = G4NistManager::Instance()->FindOrBuildMaterial("G4_Cu"); G4Material* W = G4NistManager::Instance()->FindOrBuildMaterial("G4_W"); @@ -226,10 +237,10 @@ bool CML2Acc1::target() G4VisAttributes* simpleWSVisAtt, *simpleCuSVisAtt; simpleWSVisAtt= new G4VisAttributes(magenta); simpleWSVisAtt->SetVisibility(true); - simpleWSVisAtt->SetForceSolid(true); +// simpleWSVisAtt->SetForceSolid(true); simpleCuSVisAtt= new G4VisAttributes(cyan); simpleCuSVisAtt->SetVisibility(true); - simpleCuSVisAtt->SetForceSolid(true); +// simpleCuSVisAtt->SetForceSolid(true); targetA_log->SetVisAttributes(simpleWSVisAtt); targetB_log->SetVisAttributes(simpleCuSVisAtt); @@ -321,7 +332,7 @@ bool CML2Acc1::primaryCollimator() //--------- Visualization attributes ------------------------------- G4VisAttributes* simpleTungstenWVisAtt= new G4VisAttributes(magenta); simpleTungstenWVisAtt->SetVisibility(true); - simpleTungstenWVisAtt->SetForceSolid(true); +// simpleTungstenWVisAtt->SetForceSolid(true); collim_log->SetVisAttributes(simpleTungstenWVisAtt); @@ -366,7 +377,7 @@ bool CML2Acc1::BeWindow() simpleAlSVisAtt= new G4VisAttributes(G4Colour::Yellow()); simpleAlSVisAtt->SetVisibility(true); - simpleAlSVisAtt->SetForceSolid(true); +// simpleAlSVisAtt->SetForceSolid(true); BeWTubeLV->SetVisAttributes(simpleAlSVisAtt); BeWTubeLV->SetRegion(regVol); regVol->AddRootLogicalVolume(BeWTubeLV); @@ -392,7 +403,7 @@ bool CML2Acc1::flatteningFilter() G4VisAttributes* simpleAlSVisAtt; // one - z0=150.0*mm; + z0=130.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); @@ -413,7 +424,7 @@ bool CML2Acc1::flatteningFilter() simpleAlSVisAtt= new G4VisAttributes(G4Colour::Red()); simpleAlSVisAtt->SetVisibility(true); - simpleAlSVisAtt->SetForceSolid(true); +// simpleAlSVisAtt->SetForceSolid(true); FFL1A_1LV->SetVisAttributes(simpleAlSVisAtt); FFL2_1LV->SetVisAttributes(simpleAlSVisAtt); @@ -445,73 +456,73 @@ bool CML2Acc1::ionizationChamber() G4ThreeVector centre; // W1 - centre.set(0.,0.,177.*mm); + centre.set(0.,0.,157.*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); +// simpleAlSVisAtt->SetForceSolid(true); PCUTubeW1LV->SetVisAttributes(simpleAlSVisAtt); PCUTubeW1LV->SetRegion(regVol); regVol->AddRootLogicalVolume(PCUTubeW1LV); // P1 - centre.set(0.,0.,178.*mm); + centre.set(0.,0.,158.*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); +// simpleAlSVisAtt->SetForceSolid(true); PCUTubeP1LV->SetVisAttributes(simpleAlSVisAtt); PCUTubeP1LV->SetRegion(regVol); regVol->AddRootLogicalVolume(PCUTubeP1LV); // W2 - centre.set(0.,0.,179.*mm); + centre.set(0.,0.,159.*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); +// simpleAlSVisAtt->SetForceSolid(true); PCUTubeW2LV->SetVisAttributes(simpleAlSVisAtt); PCUTubeW2LV->SetRegion(regVol); regVol->AddRootLogicalVolume(PCUTubeW2LV); // P2 - centre.set(0.,0.,180.*mm); + centre.set(0.,0.,160.*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); +// simpleAlSVisAtt->SetForceSolid(true); PCUTubeP2LV->SetVisAttributes(simpleAlSVisAtt); PCUTubeP2LV->SetRegion(regVol); regVol->AddRootLogicalVolume(PCUTubeP2LV); // W3 - centre.set(0.,0.,181.*mm); + centre.set(0.,0.,161.*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); +// simpleAlSVisAtt->SetForceSolid(true); PCUTubeW3LV->SetVisAttributes(simpleAlSVisAtt); PCUTubeW3LV->SetRegion(regVol); regVol->AddRootLogicalVolume(PCUTubeW3LV); // P3 - centre.set(0.,0.,182.*mm); + centre.set(0.,0.,162.*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); +// simpleAlSVisAtt->SetForceSolid(true); PCUTubeP3LV->SetVisAttributes(simpleAlSVisAtt); PCUTubeP3LV->SetRegion(regVol); regVol->AddRootLogicalVolume(PCUTubeP3LV); @@ -536,11 +547,11 @@ bool CML2Acc1::mirror() 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); + MirrorTubePV=new G4PVPlacement(cRotation, G4ThreeVector(0., 0., 175.*mm), "MirrorTubePV", MirrorTubeLV,this->PVWorld, false, 0); simpleAlSVisAtt= new G4VisAttributes(G4Colour::Green()); simpleAlSVisAtt->SetVisibility(true); - simpleAlSVisAtt->SetForceSolid(true); +// simpleAlSVisAtt->SetForceSolid(true); MirrorTubeLV->SetVisAttributes(simpleAlSVisAtt); MirrorTubeLV->SetRegion(regVol); regVol->AddRootLogicalVolume(MirrorTubeLV); @@ -556,7 +567,7 @@ void CML2Acc1::SetJawAperture(G4int idJaw, G4ThreeVector ¢re, G4ThreeVector y=centre.getY(); z=centre.getZ(); top=z-78./2.; - theta=fabs(atan(aperture/this->SSD)); + theta=fabs(atan(aperture/this->isoCentre)); dx=halfSize.getX(); dy=halfSize.getY(); dz=halfSize.getZ(); @@ -652,7 +663,7 @@ bool CML2Acc1::Jaw1X() // Visibility simpleAlSVisAtt= new G4VisAttributes(G4Colour::Blue()); simpleAlSVisAtt->SetVisibility(true); - simpleAlSVisAtt->SetForceSolid(true); +// simpleAlSVisAtt->SetForceSolid(true); logVol->SetVisAttributes(simpleAlSVisAtt); bCreated=true; @@ -689,7 +700,7 @@ bool CML2Acc1::Jaw2X() // Visibility simpleAlSVisAtt= new G4VisAttributes(G4Colour::Cyan()); simpleAlSVisAtt->SetVisibility(true); - simpleAlSVisAtt->SetForceSolid(true); +// simpleAlSVisAtt->SetForceSolid(true); logVol->SetVisAttributes(simpleAlSVisAtt); bCreated=true; @@ -726,7 +737,7 @@ bool CML2Acc1::Jaw1Y() // Visibility simpleAlSVisAtt= new G4VisAttributes(G4Colour::Red()); simpleAlSVisAtt->SetVisibility(true); - simpleAlSVisAtt->SetForceSolid(true); +// simpleAlSVisAtt->SetForceSolid(true); logVol->SetVisAttributes(simpleAlSVisAtt); bCreated=true; @@ -764,7 +775,7 @@ bool CML2Acc1::Jaw2Y() // Visibility simpleAlSVisAtt= new G4VisAttributes(G4Colour::Magenta()); simpleAlSVisAtt->SetVisibility(true); - simpleAlSVisAtt->SetForceSolid(true); +// simpleAlSVisAtt->SetForceSolid(true); logVol->SetVisAttributes(simpleAlSVisAtt); bCreated=true; @@ -798,14 +809,14 @@ bool CML2Acc1::MLC() simpleAlSVisAtt= new G4VisAttributes(G4Colour::Cyan()); simpleAlSVisAtt->SetVisibility(true); - simpleAlSVisAtt->SetForceSolid(true); +// simpleAlSVisAtt->SetForceSolid(true); leafLVA->SetVisAttributes(simpleAlSVisAtt); leafLVA->SetRegion(regVol); regVol->AddRootLogicalVolume(leafLVA); simpleAlSVisAtt= new G4VisAttributes(G4Colour::Green()); simpleAlSVisAtt->SetVisibility(true); - simpleAlSVisAtt->SetForceSolid(true); +// simpleAlSVisAtt->SetForceSolid(true); leafLVB->SetVisAttributes(simpleAlSVisAtt); leafLVB->SetRegion(regVol); regVol->AddRootLogicalVolume(leafLVB); @@ -818,7 +829,7 @@ bool CML2Acc1::MLC() 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++) + for (i=1;i<(int)this->leavesA.size(); i++) { G4String s; char appo[10]; @@ -832,7 +843,7 @@ bool CML2Acc1::MLC() } nhalfLeaves=(int)(this->leavesB.size()/2.); centre=centreStart+G4ThreeVector(-nhalfLeaves*boxSize.getX(), 0.,0.); - for (i=0;i<(int)this->leavesB.size(); i++) + for (i=1;i<(int)this->leavesB.size(); i++) { G4String s; char appo[10]; diff --git a/examples/advanced/medical_linac/src/ML2Acc1Messenger.cc b/examples/advanced/medical_linac/src/ML2Acc1Messenger.cc index 24c3c302aa..2dade97172 100755 --- a/examples/advanced/medical_linac/src/ML2Acc1Messenger.cc +++ b/examples/advanced/medical_linac/src/ML2Acc1Messenger.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -50,35 +51,37 @@ CML2Acc1Messenger::CML2Acc1Messenger(CML2Acc1 *acc1) : pAcc1(acc1) { this->idEnergy=new G4UIcmdWithAnInteger("/accelerator/idEnergy",this); this->idEnergy->SetDefaultValue(6); + this->pAcc1->setidEnergy(6); this->leavesA=new G4UIcmdWithADoubleAndUnit("/accelerator/leavesA", this); this->leavesA->SetDefaultUnit("mm"); this->leavesA->SetDefaultValue(300.); + this->pAcc1->setLeavesAx(300.*mm); this->leavesB=new G4UIcmdWithADoubleAndUnit("/accelerator/leavesB", this); this->leavesB->SetDefaultUnit("mm"); this->leavesB->SetDefaultValue(300.); + this->pAcc1->setLeavesBx(300.*mm); this->aperture1X=new G4UIcmdWithADoubleAndUnit("/accelerator/aperture1X", this); this->aperture1X->SetDefaultUnit("mm"); this->aperture1X->SetDefaultValue(100.); + this->pAcc1->setJaw1X(100.*mm); this->aperture1Y=new G4UIcmdWithADoubleAndUnit("/accelerator/aperture1Y", this); this->aperture1Y->SetDefaultUnit("mm"); this->aperture1Y->SetDefaultValue(100.); + this->pAcc1->setJaw1Y(100.*mm); this->aperture2X=new G4UIcmdWithADoubleAndUnit("/accelerator/aperture2X", this); this->aperture2X->SetDefaultUnit("mm"); this->aperture2X->SetDefaultValue(-100.); + this->pAcc1->setJaw2X(-100.*mm); 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.); - + this->pAcc1->setJaw2Y(-100.*mm); } CML2Acc1Messenger::~CML2Acc1Messenger(void) @@ -88,7 +91,6 @@ CML2Acc1Messenger::~CML2Acc1Messenger(void) delete aperture2X; delete aperture1Y; delete aperture2Y; - delete SSD; delete leavesA; delete leavesB; } @@ -117,12 +119,6 @@ void CML2Acc1Messenger::SetNewValue(G4UIcommand* cmd, G4String 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));} diff --git a/examples/advanced/medical_linac/src/ML2AcceleratorConstruction.cc b/examples/advanced/medical_linac/src/ML2AcceleratorConstruction.cc index 1faeb79676..317ef93c81 100755 --- a/examples/advanced/medical_linac/src/ML2AcceleratorConstruction.cc +++ b/examples/advanced/medical_linac/src/ML2AcceleratorConstruction.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -42,17 +43,21 @@ #include "ML2AcceleratorConstruction.hh" #include "ML2AcceleratorConstructionMessenger.hh" -#include "G4UImanager.hh" CML2AcceleratorConstruction::CML2AcceleratorConstruction(void) { this->acceleratorConstructionMessenger=new CML2AcceleratorConstructionMessenger(this); + this->idCurrentRotationX=0; } CML2AcceleratorConstruction::~CML2AcceleratorConstruction(void) { + if (this->AcceleratorName=="acc1") + {delete this->accelerator1;} + delete this->PVAccWorld; + delete this->acceleratorConstructionMessenger; } CML2AcceleratorConstruction* CML2AcceleratorConstruction::instance = 0; @@ -64,43 +69,121 @@ CML2AcceleratorConstruction* CML2AcceleratorConstruction::GetInstance(void) } return instance; } -void CML2AcceleratorConstruction::design(void) + +void CML2AcceleratorConstruction::resetAccelerator() { -// 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();} + { + this->accelerator1->reset(); + } -// 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) +bool CML2AcceleratorConstruction::design(void) +{ +// switch between different accelerators according to the main macro selection (actually only one accelerator is available) + std::cout << "I'm building "<< this->AcceleratorName<<" accelerator"<< G4endl; + bool bAccExists=false; + if (this->AcceleratorName=="acc1") + {this->accelerator1=CML2Acc1::GetInstance();bAccExists=true;} + + if (bAccExists && this->AcceleratorMacFileName!="") + { + // read the messenger data related to the accelerator selected + G4UImanager* UI = G4UImanager::GetUIpointer(); + G4String command = "/control/execute "; + UI->ApplyCommand(command+this->AcceleratorMacFileName); + } + + if (this->rotationsX.size()<1) + {this->addAcceleratorRotationsX(0.);} + + return bAccExists; +} +bool CML2AcceleratorConstruction::Construct(G4VPhysicalVolume *PVWorld, G4bool bOnlyVisio) { // 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); + this->bOnlyVisio=bOnlyVisio; + if (this->design()) + { + this->acceleratorConstructionMessenger->SetReferenceWorld(bOnlyVisio); + // create the accelerator-world box + G4Material *Vacuum=G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4ThreeVector halfSize; + this->initialCentre.set(0.*mm, 0.*mm, -this->isoCentre); + halfSize.set(600.*mm, 600.*mm, 600.*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(false); +// simpleAlSVisAtt->SetForceWireframe(false); + accWorldLV->SetVisAttributes(simpleAlSVisAtt); + + this->PVAccWorld= new G4PVPlacement(0, this->initialCentre, "acceleratorBox", accWorldLV, PVWorld, false, 0); - 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);} + // create the actual accelerator + if (this->AcceleratorName=="acc1") + { + this->accelerator1->Construct(PVAccWorld, this->isoCentre); + this->Z_Value_PhaseSpaceBeforeJaws=this->accelerator1->getBeforeJaws_Z_PhaseSpacePosition(); + this->accelerator1->writeInfo(); + } + } + else + { + return false; + } + return true; } +void CML2AcceleratorConstruction::writeInfo() +{ + if (!this->bOnlyVisio) + {std::cout <<"Actual rotation: "<idCurrentRotationX<<"/"<rotationsX.size() <<" "<< G4endl;} + std::cout <<"Accelerator angle: "<< this->currentRotationX/deg << " [deg]"<< G4endl; +} + +G4RotationMatrix * CML2AcceleratorConstruction::rotateAccelerator() +{ + G4RotationMatrix *rmInv=new G4RotationMatrix(); + if (this->idCurrentRotationX <(int) this->rotationsX.size()) + { + this->currentRotationX=this->rotationsX[this->idCurrentRotationX]; + rmInv=this->rotateAccelerator(this->currentRotationX); + this->idCurrentRotationX++; + } + else + {rmInv=0;} + return rmInv; +} +G4RotationMatrix * CML2AcceleratorConstruction::rotateAccelerator(G4double angleX) +{ + this->currentRotationX=angleX; + G4GeometryManager::GetInstance()->OpenGeometry(); + G4ThreeVector NewCentre; + G4RotationMatrix *rm=new G4RotationMatrix(); + G4RotationMatrix *rmInv=new G4RotationMatrix(); + this->PVAccWorld->SetTranslation(this->initialCentre); + this->PVAccWorld->SetRotation(rm); + if (this->bRotate90Y) {rm->rotateY(90.*deg);} + rm->rotateX(-angleX); + this->PVAccWorld->SetRotation(rm); + *rmInv=CLHEP::inverseOf(*rm); + NewCentre=*rmInv*this->initialCentre; + this->PVAccWorld->SetTranslation(NewCentre); + G4GeometryManager::GetInstance()->CloseGeometry(); + G4RunManager::GetRunManager()->GeometryHasBeenModified(); + return rmInv; +} +G4String CML2AcceleratorConstruction::getCurrentRotationString() +{ + char cR[5]; + G4int cRI=(G4int)((this->currentRotationX/deg)+.5); + sprintf(cR,"%d",cRI); + G4String rotationName=G4String(cR); + if (this->bRotate90Y) + {rotationName="_Ro90Y"+rotationName;} + else + {rotationName="_Ro"+rotationName;} + return rotationName; +} diff --git a/examples/advanced/medical_linac/src/ML2AcceleratorConstructionMessenger.cc b/examples/advanced/medical_linac/src/ML2AcceleratorConstructionMessenger.cc index 5b8b2a1b4a..4551c30f99 100755 --- a/examples/advanced/medical_linac/src/ML2AcceleratorConstructionMessenger.cc +++ b/examples/advanced/medical_linac/src/ML2AcceleratorConstructionMessenger.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -45,35 +46,47 @@ #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithABool.hh" CML2AcceleratorConstructionMessenger::CML2AcceleratorConstructionMessenger(CML2AcceleratorConstruction *acceleratorConstructor) : pAcceleratorConstructor (acceleratorConstructor) { + this->bOnlyVisio=false; this->AcceleratorName=new G4UIcmdWithAString("/accelerator/AcceleratorName",this); - this->AcceleratorName->SetDefaultValue("nome del mio acceleratore"); + this->AcceleratorName->SetDefaultValue("acc1"); + this->AcceleratorName->SetGuidance("accelerator name to select among those implemented (acc1)"); + this->pAcceleratorConstructor->setAcceleratorName("acc1"); - this->acceleratorSpecficationsFile=new G4UIcmdWithAString("/accelerator/AcceleratorSpecficationsFileName",this); - this->acceleratorSpecficationsFile->SetDefaultValue(""); + this->acceleratorMacFileName=new G4UIcmdWithAString("/accelerator/AcceleratorMacFileName",this); + this->acceleratorMacFileName->SetDefaultValue(""); + this->acceleratorMacFileName->SetGuidance("full path and macro file name containing specific setup data for the accelerator chosen"); + this->pAcceleratorConstructor->setAcceleratorMacFileName(""); - 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->rotationX =new G4UIcmdWithADoubleAndUnit("/accelerator/rotationX", this); + this->rotationX ->SetDefaultUnit("deg"); + this->rotationX ->SetDefaultValue(0.); + this->rotationX->SetGuidance("angles of rotation along X [deg]"); - this->rotationZ=new G4UIcmdWithADoubleAndUnit("/accelerator/rotationZ", this); - this->rotationZ->SetDefaultUnit("deg"); - this->rotationZ->SetDefaultValue(0); + this->isoCentre=new G4UIcmdWithADoubleAndUnit("/accelerator/isoCentre", this); + this->isoCentre->SetDefaultUnit("mm"); + this->isoCentre->SetDefaultValue(1000.); + this->isoCentre->SetGuidance("distance between the isocentre and the target of the accelerator"); + this->pAcceleratorConstructor->setIsoCentre(1000.*mm); + + + this->bRotate90Y =new G4UIcmdWithABool("/accelerator/rotation90Y", this); + this->bRotate90Y ->SetDefaultValue(false); + this->bRotate90Y->SetGuidance("to rotate the accelerator of 90 deg around the Y axis (true)"); + this->pAcceleratorConstructor->setRotation90Y(false); } CML2AcceleratorConstructionMessenger::~CML2AcceleratorConstructionMessenger(void) { delete AcceleratorName; - delete rotationX; - delete rotationY; - delete rotationZ; - delete acceleratorSpecficationsFile; + delete rotationX ; + delete acceleratorMacFileName; + delete isoCentre; + delete bRotate90Y; } void CML2AcceleratorConstructionMessenger::SetNewValue(G4UIcommand* cmd, G4String newValue) { @@ -81,15 +94,36 @@ void CML2AcceleratorConstructionMessenger::SetNewValue(G4UIcommand* cmd, G4Strin if (cmd==this->AcceleratorName) {this->pAcceleratorConstructor->setAcceleratorName(newValue);} - if (cmd==this->acceleratorSpecficationsFile) - {this->pAcceleratorConstructor->setAcceleratorSpecficationsFileName(newValue);} + if (cmd==this->acceleratorMacFileName) + {this->pAcceleratorConstructor->setAcceleratorMacFileName(newValue);} + if (cmd==this->rotationX) - {this->pAcceleratorConstructor->setAcceleratorRotationX(this->rotationX->GetNewDoubleValue(newValue));} + { + if (this->bOnlyVisio) + { + G4RotationMatrix *rm=this->pAcceleratorConstructor->rotateAccelerator(this->rotationX ->GetNewDoubleValue(newValue)); + CML2PrimaryGenerationAction::GetInstance()->setRotation(rm); + CML2PhantomConstruction::GetInstance()->resetSensDet(); +// what follows seems to be necessary to have a good refresh + G4UImanager* UI = G4UImanager::GetUIpointer(); + G4String command; + command = "/run/beamOn 0"; + UI->ApplyCommand(command); + command = "/vis/viewer/flush"; + UI->ApplyCommand(command); + } + else + { + this->pAcceleratorConstructor->addAcceleratorRotationsX(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));} + if (cmd==this->isoCentre) + { + this->isoCentre->GetNewUnitValue(newValue); + this->pAcceleratorConstructor->setIsoCentre(this->isoCentre->GetNewDoubleValue(newValue)); + } + if (cmd==this->bRotate90Y) + {this->pAcceleratorConstructor->setRotation90Y(this->bRotate90Y->GetNewBoolValue(newValue));} } diff --git a/examples/advanced/medical_linac/src/ML2CInputData.cc b/examples/advanced/medical_linac/src/ML2CInputData.cc index 586aab51b4..5c2c186b30 100755 --- a/examples/advanced/medical_linac/src/ML2CInputData.cc +++ b/examples/advanced/medical_linac/src/ML2CInputData.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/src/ML2Convergence.cc b/examples/advanced/medical_linac/src/ML2Convergence.cc index 19b98baf59..938ea351ae 100755 --- a/examples/advanced/medical_linac/src/ML2Convergence.cc +++ b/examples/advanced/medical_linac/src/ML2Convergence.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -42,22 +43,34 @@ #include "ML2Convergence.hh" -CML2Convergence::CML2Convergence(G4int seed, G4int saving_in_Selected_Voxels_every_events, G4String FileExperimentalData, G4bool bCompareExp, G4int minNumberOfEvents) +CML2Convergence::CML2Convergence(void) +{} + +CML2Convergence::CML2Convergence(G4int seed, G4int saving_in_Selected_Voxels_every_events, G4String FileExperimentalData, G4String FileExperimentalDataOut, G4bool bCompareExp, G4int maxNumberOfEvents, G4int nRecycling, G4int nMaxLoops) :ML2ExpVoxels(0) { + this->nGeometry=0; + this->nMaxLoops=nMaxLoops; + this->idCurrentLoop=this->nMaxLoops; this->bCompareExp=bCompareExp; + if (this->bCompareExp){this->nMaxLoops=-1;}; 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); + this->ML2ExpVoxels=new CML2ExpVoxels(this->bCompareExp, saving_in_Selected_Voxels_every_events, seed, FileExperimentalData, FileExperimentalDataOut); if (!this->ML2ExpVoxels->loadData()) { this->ML2ExpVoxels=0; + std::cout <<"I don't have any convergence criteria set, I'll do " << this->nMaxLoops << " loop(s) for each rotation"<< G4endl; + } + else + { + this->ML2ExpVoxels->setRecycling(nRecycling); } } - this->minNumberOfEvents=minNumberOfEvents; + this->maxNumberOfEvents=maxNumberOfEvents; } CML2Convergence::~CML2Convergence(void) @@ -71,32 +84,39 @@ 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); - } + if (aStep->GetTotalEnergyDeposit()>0.) + {this->ML2ExpVoxels->add(aStep);} } } -G4bool CML2Convergence::runAgain() +G4bool CML2Convergence::stopRun() { - G4bool bAgain=true; - if (this->ML2ExpVoxels!=0) + G4bool bStopRun=false; + if (this->ML2ExpVoxels!=0) // true if the experimental data file exists and is used to check the convergence { - bAgain=!this->convergenceCriteria(); - return bAgain; + bStopRun=this->convergenceCriteria(); + return bStopRun; } - return bAgain; + else // true if no experiemental data file is used. In this case it runs "nMaxLoops" loops. + { + this->idCurrentLoop--; + if (this->idCurrentLoop==0) + { + bStopRun=true; + } + } + return bStopRun; } G4bool CML2Convergence::convergenceCriteria() { + G4bool bStopRun=true; if (this->bCompareExp) { - if (this->ML2ExpVoxels->getMinNumberOfEvents() > this->minNumberOfEvents) - {return false;} +// It checks if the maximum number of events is reached at least in one voxel. Having more rotations the limits is incremented each rotation + if (this->ML2ExpVoxels->getMaxNumberOfEvents() >= this->maxNumberOfEvents*this->nGeometry) + {bStopRun = true;} else - {return true;} + {bStopRun = false;} } - return false; + std::cout << "max n. of events accumulated:"<ML2ExpVoxels->getMaxNumberOfEvents() <<"; max n. of events to be accumulated:" <maxNumberOfEvents<<" current geometry: " << this->nGeometry<GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); - - 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); - - - } - } - } +void CML2EventAction::EndOfEventAction(const G4Event* ) +{} diff --git a/examples/advanced/medical_linac/src/ML2ExpVoxels.cc b/examples/advanced/medical_linac/src/ML2ExpVoxels.cc index f1ae273ad8..cf90dff5fd 100755 --- a/examples/advanced/medical_linac/src/ML2ExpVoxels.cc +++ b/examples/advanced/medical_linac/src/ML2ExpVoxels.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -44,30 +45,17 @@ #include -CML2ExpVoxels::CML2ExpVoxels(G4bool bHasExperimentalData, G4int saving_in_Selected_Voxels_every_events, G4int seed, G4String FileExperimentalData):startCurve(0), stopCurve(0),chi2Factor(0) +CML2ExpVoxels::CML2ExpVoxels(G4bool bHasExperimentalData, G4int saving_in_Selected_Voxels_every_events, G4int seed, G4String FileExperimentalData, G4String FileExperimentalDataOut):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->nRecycling=1; - 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->fullFileOut=FileExperimentalDataOut+this->seedName+".m"; 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 @@ -162,10 +150,18 @@ G4bool CML2ExpVoxels::loadData(void) return false; } in.close(); + return true; } -void CML2ExpVoxels::add(G4ThreeVector pos, G4double depEnergy, G4double density) +void CML2ExpVoxels::add(const G4Step* aStep) { + G4ThreeVector pos; + G4double depEnergy, density, voxelVolume; + + pos=aStep->GetPreStepPoint()->GetPosition(); + depEnergy=aStep->GetTotalEnergyDeposit(); + density=aStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume()->GetMaterial()->GetDensity(); + G4ThreeVector minPos, maxPos; G4bool newEvent=false; G4double voxelMass, dose; @@ -184,18 +180,24 @@ void CML2ExpVoxels::add(G4ThreeVector pos, G4double depEnergy, G4double density) minPos.getY()<= pos.getY() && pos.getY()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(); + voxelVolume=this->voxels[i].halfSize.getX()*this->voxels[i].halfSize.getY()*this->voxels[i].halfSize.getZ()*8.; + voxelMass=density*voxelVolume; // calculate the dose - dose=depEnergy/voxelMass; + dose=depEnergy/(voxelMass*this->nRecycling); this->voxels[i].nEvents++; this->voxels[i].depEnergy+=dose; this->voxels[i].depEnergy2+=dose*dose; newEvent=true; + + Sparticle *particle=new Sparticle; + particle->dir=aStep->GetPreStepPoint()->GetMomentumDirection(); + particle->pos=aStep->GetPreStepPoint()->GetPosition(); + particle->kinEnergy=dose; // I use the same kinEnergy name to store the dose + particle->nPrimaryPart=-1; + particle->partPDGE=aStep->GetTrack()->GetDefinition()->GetPDGEncoding(); + particle->primaryParticlePDGE=-1; + particle->volumeId=i; // voxel index where the dose is accumulating + particle->volumeName="-1"; } } if (newEvent) @@ -204,7 +206,7 @@ void CML2ExpVoxels::add(G4ThreeVector pos, G4double depEnergy, G4double density) this->nTotalEvents++; if (this->nTotalEvents%this->saving_in_Selected_Voxels_every_events==0 && this->nTotalEvents>0) { - this->saveResults(this->fullFileOut, this->voxels); + this->saveResults(); } } } @@ -212,17 +214,26 @@ void CML2ExpVoxels::add(G4ThreeVector pos, G4double depEnergy, G4double density) G4int CML2ExpVoxels::getMinNumberOfEvents() { - int n=10000000; - for (int i=this->startCurve[0];istopCurve[this->nCurves];i++) + int n=voxels[0].nEvents; + for (int i=0;i<(int)this->voxels.size();i++) { if (n>voxels[i].nEvents){n = voxels[i].nEvents;} } return n; } -void CML2ExpVoxels::saveHeader(G4String fullOutFileName) +G4int CML2ExpVoxels::getMaxNumberOfEvents() +{ + int n=voxels[0].nEvents; + for (int i=0;i<(int)this->voxels.size();i++) + { + if (nfullFileOut, std::ios::out); out <<"% "<< this->headerText1 << G4endl; out <<"n"<< this->seedName<<"="<< this->nCurves<<";" << G4endl; out <<"fh"<< this->seedName<<"=["<< G4endl; @@ -233,26 +244,33 @@ void CML2ExpVoxels::saveHeader(G4String fullOutFileName) out << this->chi2Factor[i]<< G4endl; } out << "];"< voxels) +void CML2ExpVoxels::saveResults() { - 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++) + if (this->nTotalEvents>0) { - out <calculateNormalizedEd(voxels); + this->saveHeader(); + std::ofstream out; + out.open(this->fullFileOut, std::ios::app); + out <<"d"<< this->seedName<<"=["<< G4endl; + for (int i=0; i<(int)this->voxels.size(); i++) + { + out <voxels[i].pos.getX()/mm<<'\t'<voxels[i].pos.getY()/mm<<'\t'<voxels[i].pos.getZ()/mm<<'\t'; + out <voxels[i].halfSize.getX()/mm<<'\t'<voxels[i].halfSize.getY()/mm<<'\t'<voxels[i].halfSize.getZ()/mm<<'\t'; + out <voxels[i].expDose/(joule/kg)<<'\t'<voxels[i].depEnergy/(joule/kg)<<'\t'<voxels[i].depEnergy2/((joule/kg)*(joule/kg))<<'\t'<voxels[i].nEvents<< '\t'; + out <voxels[i].depEnergyNorm/(joule/kg)<<'\t'<voxels[i].depEnergyNormError/(joule/kg); + out << G4endl; + } + out << "];"< &voxels) { int i,j; @@ -263,7 +281,7 @@ void CML2ExpVoxels::calculateNormalizedEd(std::vector &voxels) for (j=0;jnCurves;j++) { cs=cc=0.; - for (i=this->startCurve[j];istopCurve[j];i++) + for (i=this->startCurve[j]-1;istopCurve[j];i++) { cs+=voxels[i].depEnergy*voxels[i].expDose; cc+=voxels[i].depEnergy*voxels[i].depEnergy; @@ -272,7 +290,7 @@ void CML2ExpVoxels::calculateNormalizedEd(std::vector &voxels) { this->chi2Factor[j]=cs/cc; } - for (i=this->startCurve[j];istopCurve[j];i++) + for (i=this->startCurve[j]-1;istopCurve[j];i++) { dd=voxels[i].depEnergy*voxels[i].depEnergy; d2=voxels[i].depEnergy2; diff --git a/examples/advanced/medical_linac/src/ML2MainMessenger.cc b/examples/advanced/medical_linac/src/ML2MainMessenger.cc index 4091fc6b03..4736899615 100755 --- a/examples/advanced/medical_linac/src/ML2MainMessenger.cc +++ b/examples/advanced/medical_linac/src/ML2MainMessenger.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -42,60 +43,106 @@ #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->phaseSpaceCentre->SetDefaultValue(G4ThreeVector(0.,0.,164.)); + this->phaseSpaceCentre->SetGuidance("position of the centre of the plane phase space"); + this->CInputData->setPhaseSpaceCentre(G4ThreeVector(0.*mm,0.*mm,164.*mm)); this->phaseSpaceHalfSize=new G4UIcmdWith3VectorAndUnit("/general/halfSizePhaseSpace", this); this->phaseSpaceHalfSize->SetDefaultUnit("mm"); this->phaseSpaceHalfSize->SetDefaultValue(G4ThreeVector(100.,100.,1.)); + this->phaseSpaceHalfSize->SetGuidance("half size of the plane phase space"); + this->CInputData->setPhaseSpaceHalfSize(G4ThreeVector(100.*mm,100.*mm,1.*mm)); this->bSavePhaseSpace=new G4UIcmdWithABool("/general/bSavePhaseSpace",this); this->bSavePhaseSpace->SetDefaultValue(false); + this->bSavePhaseSpace->SetGuidance("true if to save the phase space"); + this->CInputData->setbSavePhaseSPace(false); + + this->bForcePhaseSpaceBeforeJaws=new G4UIcmdWithABool("/general/bForcePhaseSpaceBeforeJaws",this); + this->bForcePhaseSpaceBeforeJaws->SetDefaultValue(false); + this->bForcePhaseSpaceBeforeJaws->SetGuidance("to automatically put the phase plane before the jaws"); + this->CInputData->setbForcePhaseSpaceBeforeJaws(false); this->bStopAtPhaseSpace=new G4UIcmdWithABool("/general/bStopAtPhaseSpace",this); this->bStopAtPhaseSpace->SetDefaultValue(false); + this->bStopAtPhaseSpace->SetGuidance("true if to kill the particle at the phase space"); + this->CInputData->setbStopAtPhaseSpace(false); this->bSaveROG=new G4UIcmdWithABool("/general/bSaveROG",this); - this->bSaveROG->SetDefaultValue(false); + this->bSaveROG->SetDefaultValue(true); + this->bSaveROG->SetGuidance("true if save the ROG volume"); + this->CInputData->setbSaveROG(true); this->bOnlyVisio=new G4UIcmdWithABool("/OnlyVisio",this); this->bOnlyVisio->SetDefaultValue(false); + this->bOnlyVisio->SetGuidance("switch the visualization mode"); + this->CInputData->setbOnlyVisio(false); this->ROGOutFile=new G4UIcmdWithAString("/general/ROGOutFile",this); this->ROGOutFile->SetDefaultValue(""); + this->ROGOutFile->SetGuidance("full path of the ROG file name"); + this->CInputData->setROGOutFile("defaultROGFile.txt"); this->phaseSPaceOutFile=new G4UIcmdWithAString("/general/PhaseSpaceOutFile",this); this->phaseSPaceOutFile->SetDefaultValue(""); + this->phaseSPaceOutFile->SetGuidance("full file name of the phase space"); + this->CInputData->setPhaseSpaceOutFile(""); + this->maxNumberOfEvents=new G4UIcmdWithAnInteger("/convergence/maxNumberOfEvents", this); + this->maxNumberOfEvents->SetDefaultValue(10); + this->maxNumberOfEvents->SetGuidance(" maximum number of events at least in one experimental voxel"); + this->CInputData->setMaxNumberOfEvents(10); - this->minNumberOfEvents=new G4UIcmdWithAnInteger("/convergence/minNumberOfEvents", this); - this->minNumberOfEvents->SetDefaultValue(10); + this->nMaxLoop=new G4UIcmdWithAnInteger("/convergence/nMaxLoop", this); + this->nMaxLoop->SetDefaultValue(1); + this->nMaxLoop->SetGuidance("it is used if /convergence/bCompareExp is false"); + this->CInputData->setNmaxLoop(1); this->bCompareExp=new G4UIcmdWithABool("/convergence/bCompareExp",this); this->bCompareExp->SetDefaultValue(false); + this->bCompareExp->SetGuidance("to compare the data with an experimental file data"); + this->CInputData->setBCompareExp(false); this->fileExperimentalData=new G4UIcmdWithAString("/convergence/fileExperimentalData",this); this->fileExperimentalData->SetDefaultValue(""); + this->fileExperimentalData->SetGuidance("full path and name of the experimental file results"); + this->CInputData->setFileExperimentalData(""); + + this->fileExperimentalDataOut=new G4UIcmdWithAString("/convergence/fileExperimentalDataOut",this); + this->fileExperimentalDataOut->SetDefaultValue(""); + this->fileExperimentalDataOut->SetGuidance("full path and name of the experimental file results"); + this->CInputData->setFileExperimentalDataOut(""); this->nBeam=new G4UIcmdWithAnInteger("/general/nBeam",this); - this->nBeam->SetDefaultValue(0); - + this->nBeam->SetDefaultValue(100); + this->nBeam->SetGuidance("number of events to run"); + this->CInputData->setNBeams(100); + this->nMaxParticlesInRamPlanePhaseSpace=new G4UIcmdWithAnInteger("/general/nMaxParticlesInRamPlanePhaseSpace",this); - this->nMaxParticlesInRamPlanePhaseSpace->SetDefaultValue(0); + this->nMaxParticlesInRamPlanePhaseSpace->SetDefaultValue(10000); + this->nMaxParticlesInRamPlanePhaseSpace->SetGuidance("maximum particle number stored in RAM before saving - for phase space"); + this->CInputData->setNMaxParticlesInRamPlanePhaseSpace(10000); 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_Selected_Voxels_every_events->SetDefaultValue(10000); + this->saving_in_Selected_Voxels_every_events->SetGuidance("maximum particle number stored before saving - for experiemntal data comparison"); + this->CInputData->setSaving_in_Selected_Voxels_every_events(10000); 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->saving_in_ROG_Voxels_every_events->SetGuidance("maximum particle number stored before saving - for ROG"); + this->CInputData->setSaving_in_ROG_Voxels_every_events(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); + this->max_N_particles_in_PhSp_File->SetGuidance("maximum particle number stored in the phase space file"); + this->CInputData->setMax_N_particles_in_PhSp_File(1000); } CML2MainMessenger::~CML2MainMessenger(void) @@ -108,16 +155,19 @@ CML2MainMessenger::~CML2MainMessenger(void) delete phaseSPaceOutFile; delete ROGOutFile; delete bSavePhaseSpace; + delete bForcePhaseSpaceBeforeJaws; delete bStopAtPhaseSpace; delete bSaveROG; delete nBeam; delete nMaxParticlesInRamPlanePhaseSpace; - delete minNumberOfEvents; + delete maxNumberOfEvents; delete bCompareExp; delete bOnlyVisio; delete fileExperimentalData; + delete fileExperimentalDataOut; + delete nMaxLoop; } void CML2MainMessenger::SetNewValue(G4UIcommand* cmd, G4String newValue) @@ -147,23 +197,39 @@ void CML2MainMessenger::SetNewValue(G4UIcommand* cmd, G4String newValue) if (cmd==this->bOnlyVisio) {this->CInputData->setbOnlyVisio(this->bOnlyVisio->GetNewBoolValue(newValue));} + + if (cmd==this->bForcePhaseSpaceBeforeJaws) + {this->CInputData->setbForcePhaseSpaceBeforeJaws(this->bForcePhaseSpaceBeforeJaws->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->maxNumberOfEvents) + {this->CInputData->setMaxNumberOfEvents(this->maxNumberOfEvents->GetNewIntValue(newValue));} + + if (cmd==this->nMaxLoop) + {this->CInputData->setNmaxLoop(this->nMaxLoop->GetNewIntValue(newValue));} + if (cmd==this->bCompareExp) {this->CInputData->setBCompareExp(this->bCompareExp->GetNewBoolValue(newValue));} + if (cmd==this->fileExperimentalData) {this->CInputData->setFileExperimentalData(newValue);} + + if (cmd==this->fileExperimentalDataOut) + {this->CInputData->setFileExperimentalDataOut(newValue);} + } - - diff --git a/examples/advanced/medical_linac/src/ML2Ph_BoxInBox.cc b/examples/advanced/medical_linac/src/ML2Ph_BoxInBox.cc index 35d19803d9..c00455b1bc 100755 --- a/examples/advanced/medical_linac/src/ML2Ph_BoxInBox.cc +++ b/examples/advanced/medical_linac/src/ML2Ph_BoxInBox.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -43,20 +44,24 @@ #include "ML2Ph_BoxInBox.hh" CML2Ph_BoxInBox::CML2Ph_BoxInBox() -{ +{// phantom size + this->halfSize.set(150.*mm,150.*mm,150.*mm); +// phantom position + this->centre.set(0.*mm,0.*mm,0.*mm); } CML2Ph_BoxInBox::~CML2Ph_BoxInBox(void) { } +void CML2Ph_BoxInBox::writeInfo() +{ + std::cout<<"\n\n\tcentre of the inside box: " <centreBoxInside/mm<<" [mm]"<< G4endl; + std::cout<<"\thalf thickness of the inside box: " <halfBoxInside_Thickness/mm<<" [mm]\n"<< G4endl; +} 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; @@ -88,36 +93,36 @@ bool CML2Ph_BoxInBox::Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_ 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; + this->centreBoxInside.set(0,0,-50); // the centre of the inside box + this->halfBoxInside_Thickness=3.*cm; // the half thickness of the inside box - G4Box *boxInSide=new G4Box("BoxInSide", halfBoxInside_Thickness, halfBoxInside_Thickness, halfBoxInside_Thickness); + G4Box *boxInSide=new G4Box("BoxInSide", this->halfBoxInside_Thickness, this->halfBoxInside_Thickness, this->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); + boxInSidePV = new G4PVPlacement(0, centre+this->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); + G4Box *layer=new G4Box("layer", this->halfSize.getX(), this->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); + layerPV = new G4PVPlacement(0, centre+G4ThreeVector(0,0,-this->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); + G4double halfBoxOutSide_Thickness=this->halfSize.getZ()-halfPMMA_Z_Thickness; + G4Box *boxOutSide=new G4Box("BoxOutSide", this->halfSize.getX(), this->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 = new G4PVPlacement(0, centre+G4ThreeVector(0,0,-this->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; @@ -147,16 +152,16 @@ bool CML2Ph_BoxInBox::Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_ 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->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_PMMA_VisAttWalls->SetForceSolid(true); simple_InBox_VisAttWalls->SetVisibility(true); - simple_InBox_VisAttWalls->SetForceSolid(true); +// simple_InBox_VisAttWalls->SetForceSolid(true); OutMinusInBoxLV->SetVisAttributes(simple_OutBox_VisAttWalls); @@ -164,13 +169,13 @@ bool CML2Ph_BoxInBox::Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_ 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); + this->sensDet=new CML2SDWithVoxels("BoxInBoxPhantom", saving_in_ROG_Voxels_every_events, seed, ROGOutFile, bSaveROG, centre, this->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); + CML2ReadOutGeometry *ROG = new CML2ReadOutGeometry(); + ROG->setBuildData(this->PVWorld->GetFrameTranslation(), this->halfSize, 100, 100, 100); ROG->BuildROGeometry(); this->sensDet->SetROgeometry(ROG); OutMinusInBoxLV->SetSensitiveDetector(this->sensDet); diff --git a/examples/advanced/medical_linac/src/ML2Ph_FullWater.cc b/examples/advanced/medical_linac/src/ML2Ph_FullWater.cc index 4b902bc72e..5d52000da7 100755 --- a/examples/advanced/medical_linac/src/ML2Ph_FullWater.cc +++ b/examples/advanced/medical_linac/src/ML2Ph_FullWater.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -43,23 +44,31 @@ #include "ML2Ph_FullWater.hh" CML2Ph_FullWater::CML2Ph_FullWater() -{} +{ + // phantom size and position + this->halfSize.set(150.*mm,150.*mm,150.*mm); + // phantom position + this->centre.set(0.,0.,0.); +} CML2Ph_FullWater::~CML2Ph_FullWater(void) { } +void CML2Ph_FullWater::writeInfo() +{ + std::cout<<"\n\n\tcentre of the phantom: " <centre/mm<<" [mm]"<< G4endl; + std::cout<<"\thalf thickness of the phantom: " <halfSize/mm<<" [mm]\n"<< G4endl; +} 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()); + G4Box *fullWaterPhantomBox = new G4Box("fullWaterPhantomBox", this->halfSize.getX(), this->halfSize.getY(), this->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); + fullWaterPhantomPV = new G4PVPlacement(0, this->centre, "fullWaterPhantomPV", fullWaterPhantomLV, this->PVWorld, false, 0); // Region for cuts G4Region *regVol= new G4Region("fullWaterPhantomR"); @@ -73,17 +82,17 @@ bool CML2Ph_FullWater::Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG // Visibility G4VisAttributes* simpleAlSVisAtt= new G4VisAttributes(G4Colour::Red()); simpleAlSVisAtt->SetVisibility(true); - simpleAlSVisAtt->SetForceSolid(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); + // Sensitive detector + this->sensDet=new CML2SDWithVoxels("Water phantom", saving_in_ROG_Voxels_every_events, seed, ROGOutFile, bSaveROG, G4ThreeVector(0.,0.,0.), 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); + CML2ReadOutGeometry *ROG = new CML2ReadOutGeometry(); + ROG->setBuildData(this->PVWorld->GetFrameTranslation(), halfSize, 100, 100, 100); ROG->BuildROGeometry(); this->sensDet->SetROgeometry(ROG); fullWaterPhantomLV->SetSensitiveDetector(this->sensDet); diff --git a/examples/advanced/medical_linac/src/ML2PhantomConstruction.cc b/examples/advanced/medical_linac/src/ML2PhantomConstruction.cc index ad45091d83..23d2da25f8 100755 --- a/examples/advanced/medical_linac/src/ML2PhantomConstruction.cc +++ b/examples/advanced/medical_linac/src/ML2PhantomConstruction.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -42,11 +43,11 @@ #include "ML2PhantomConstruction.hh" #include "ML2PhantomConstructionMessenger.hh" -#include "G4UImanager.hh" -CML2PhantomConstruction::CML2PhantomConstruction(void) +CML2PhantomConstruction::CML2PhantomConstruction(void): PVPhmWorld(0), sensDet(0) { this->phantomContstructionMessenger=new CML2PhantomConstructionMessenger(this); + this->idCurrentCentre=0; } CML2PhantomConstruction::~CML2PhantomConstruction(void) @@ -55,10 +56,14 @@ CML2PhantomConstruction::~CML2PhantomConstruction(void) { delete Ph_fullWater; } - else if (this->phantomName=="BoxInBox") + else if (this->phantomName=="boxInBox") { delete Ph_BoxInBox; } + else if (this->phantomName=="Dicom1") + { + delete Ph_Dicom; + } } CML2PhantomConstruction* CML2PhantomConstruction::instance = 0; @@ -72,50 +77,188 @@ CML2PhantomConstruction* CML2PhantomConstruction::GetInstance(void) } return instance; } -void CML2PhantomConstruction::design(void) +bool CML2PhantomConstruction::design(void) { // switch between two different phantoms according to the main macro selection + bool bPhanExists=false; + + std::cout << "I'm building "<< this->phantomName<<" phantom"<< G4endl; + if (this->phantomName=="fullWater") { - this->Ph_fullWater=new CML2Ph_FullWater(); + this->Ph_fullWater=new CML2Ph_FullWater();bPhanExists=true; + this->halfPhantomInsideSize=this->Ph_fullWater->getHalfContainerSize(); } - else if (this->phantomName=="BoxInBox") + else if (this->phantomName=="boxInBox") { - this->Ph_BoxInBox=new CML2Ph_BoxInBox(); + this->Ph_BoxInBox=new CML2Ph_BoxInBox();bPhanExists=true; + this->halfPhantomInsideSize=this->Ph_BoxInBox->getHalfContainerSize(); + } + else if (this->phantomName=="Dicom1") + { + this->Ph_Dicom=new RegularDicomDetectorConstruction();bPhanExists=true; + + // read the messenger data related to the phantom selected + G4UImanager* UI = G4UImanager::GetUIpointer(); + G4String command = "/control/execute "; + UI->ApplyCommand(command+this->PhantomFileName ); + + DicomHandler *dcmHandler=new DicomHandler(); + dcmHandler->CheckFileFormat(this->Ph_Dicom->getDicomDirectory(), this->Ph_Dicom->getDataFileName(), this->Ph_Dicom->getCalibrationDensityFileName()); + + this->halfPhantomInsideSize=this->Ph_Dicom->getHalfContainerSize(); } -// 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 + if (this->centre.size()<1) + {this->addNewCentre(G4ThreeVector(0.,0.,0.));} + return bPhanExists; } -void CML2PhantomConstruction::Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG) +G4int CML2PhantomConstruction::getTotalNumberOfEvents() { -// 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); - } + if (this->phantomName="fullWater") + {return this->Ph_fullWater->getTotalNumberOfEvents();} + else if (this->phantomName="boxInBox") + {return this->Ph_BoxInBox->getTotalNumberOfEvents();} + else if (this->phantomName="Dicom1") + {return this->Ph_Dicom->getTotalNumberOfEvents();} + return 0; +} + +bool CML2PhantomConstruction::Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG, G4bool bOnlyVisio) +{ + this->idVolumeName=0; + this->bOnlyVisio=bOnlyVisio; +// a call to select the right phantom + if(this->design()) + { + this->phantomContstructionMessenger->SetReferenceWorld(bOnlyVisio); // create the phantom-world box + G4Material *Vacuum=G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + + G4Box *phmWorldB = new G4Box("phmWorldG", this->halfPhantomInsideSize.getX(), this->halfPhantomInsideSize.getY(), this->halfPhantomInsideSize.getZ()); + G4LogicalVolume *phmWorldLV = new G4LogicalVolume(phmWorldB, Vacuum, "phmWorldL", 0, 0, 0); + G4VisAttributes* simpleAlSVisAtt= new G4VisAttributes(G4Colour::White()); + simpleAlSVisAtt->SetVisibility(false); +// simpleAlSVisAtt->SetForceWireframe(false); + phmWorldLV->SetVisAttributes(simpleAlSVisAtt); + + + this->PVPhmWorld= new G4PVPlacement(0, G4ThreeVector(0.,0.,0.), "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); + this->sensDet=this->Ph_fullWater->getSensDet(); + this->createPhysicalVolumeNamesList(this->Ph_fullWater->getPhysicalVolume()); + this->Ph_fullWater->writeInfo(); + } + else if (this->phantomName=="boxInBox") + { + this->Ph_BoxInBox->Construct(this->PVPhmWorld, saving_in_ROG_Voxels_every_events, seed, ROGOutFile, bSaveROG); + this->sensDet=this->Ph_BoxInBox->getSensDet(); + this->createPhysicalVolumeNamesList(this->Ph_BoxInBox->getPhysicalVolume()); + this->Ph_BoxInBox->writeInfo(); + } + else if (this->phantomName=="Dicom1") + { + std::cout << this->Ph_Dicom->getDicomDirectory()<<" "<< this->Ph_Dicom->getDataFileName()<<" "<< this->Ph_Dicom->getCalibrationDensityFileName()<<" "<< this->Ph_Dicom->getDicomColorMap() << G4endl; + + this->Ph_Dicom->Construct(this->PVPhmWorld, saving_in_ROG_Voxels_every_events, seed, ROGOutFile, bSaveROG); + this->sensDet=this->Ph_Dicom->getSensDet(); + this->createPhysicalVolumeNamesList(this->Ph_Dicom->getMatNames(), this->Ph_Dicom->getNmatNames()); + this->Ph_Dicom->writeInfo(); + } + // I create the data base volumeName-volumeID in the sensitive detector + + this->sensDet->setVolumeNameIdLink(this->volumeNameIdLink); + } + else + { + return false; + } + return true; +} +void CML2PhantomConstruction::createPhysicalVolumeNamesList(G4String *matNames, G4int nMatNames) +{ + SvolumeNameId svnid; + for (int i=0;i< nMatNames; i++) + { + svnid.volumeId=i; + svnid.volumeName=matNames[i]; + this->volumeNameIdLink.push_back(svnid); + } +} +void CML2PhantomConstruction::createPhysicalVolumeNamesList(G4VPhysicalVolume *PV) +{ + int nLVD1; + nLVD1=(int) PV->GetLogicalVolume()->GetNoDaughters(); + SvolumeNameId svnid; + std::cout << "PV in name: " <GetName() << G4endl; + if (nLVD1>0) + { + for (int i=0; i createPhysicalVolumeNamesList(PV->GetLogicalVolume()->GetDaughter(i)); + } + this->idVolumeName++; + svnid.volumeId=this->idVolumeName; + svnid.volumeName=PV->GetLogicalVolume()->GetMaterial()->GetName(); + this->volumeNameIdLink.push_back(svnid); + std::cout << "physical volume name: " <idVolumeName++; + svnid.volumeId=this->idVolumeName; + svnid.volumeName=PV->GetLogicalVolume()->GetMaterial()->GetName(); + this->volumeNameIdLink.push_back(svnid); + std::cout << "physical volume name: " <idCurrentCentre <(int) this->centre.size()) + { + this->currentCentre=this->centre[this->idCurrentCentre]; + this->applyNewCentre(this->currentCentre); + this->idCurrentCentre++; + return true; + } + return false; +} +void CML2PhantomConstruction::writeInfo() +{ + if (!this->bOnlyVisio) + {std::cout <<"Actual centre: "<idCurrentCentre<<"/"<centre.size() <<" "<< G4endl;} + std::cout <<"Phantom and its ROG centre: " << this->currentCentre<< G4endl; +} +void CML2PhantomConstruction::applyNewCentre(G4ThreeVector centre) +{ + if (this->sensDet!=0) + { + this->currentCentre=centre; + G4GeometryManager::GetInstance()->OpenGeometry(); + this->PVPhmWorld->SetTranslation(centre); + this->sensDet->GetROgeometry()->GetROWorld()->GetLogicalVolume()->GetDaughter(0)->SetTranslation(centre); + this->sensDet->resetVoxelsSingle(); + G4GeometryManager::GetInstance()->CloseGeometry(); + G4RunManager::GetRunManager()->GeometryHasBeenModified(); + } +} +G4String CML2PhantomConstruction::getCurrentTranslationString() +{ + char cT[5]; + G4int cTI; + G4String translationName; + cTI=(G4int)((this->currentCentre.getX()/mm)); + sprintf(cT,"%d",cTI); + translationName="_TrX"+G4String(cT)+"_"; + cTI=(G4int)((this->currentCentre.getY()/mm)); + sprintf(cT,"%d",cTI); + translationName+="Y"+G4String(cT)+"_"; + cTI=(G4int)((this->currentCentre.getZ()/mm)); + sprintf(cT,"%d",cTI); + translationName+="Z"+G4String(cT); + return translationName; } diff --git a/examples/advanced/medical_linac/src/ML2PhantomConstructionMessenger.cc b/examples/advanced/medical_linac/src/ML2PhantomConstructionMessenger.cc index 9a90f9c08b..d14ac01428 100755 --- a/examples/advanced/medical_linac/src/ML2PhantomConstructionMessenger.cc +++ b/examples/advanced/medical_linac/src/ML2PhantomConstructionMessenger.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -42,75 +43,61 @@ #include "ML2PhantomConstructionMessenger.hh" #include "ML2PhantomConstruction.hh" + #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWith3VectorAndUnit.hh" CML2PhantomConstructionMessenger::CML2PhantomConstructionMessenger(CML2PhantomConstruction *phantomConstructor) : pPhantomConstructor (phantomConstructor) { this->PhantomName=new G4UIcmdWithAString("/phantom/PhantomName",this); - this->PhantomName->SetDefaultValue("myPhantom"); + this->PhantomName->SetDefaultValue("fullWater"); + this->PhantomName->SetGuidance("phantom name to select among those implemented fullWater, boxInBox, Dicom1"); + this->pPhantomConstructor->setPhantomName("fullWater"); - this->PhantomSpecficationsFileName=new G4UIcmdWithAString("/phantom/PhantomSpecficationsFileName",this); - this->PhantomSpecficationsFileName->SetDefaultValue("myPhantom"); + this->PhantomFileName =new G4UIcmdWithAString("/phantom/PhantomFileName",this); + this->PhantomFileName ->SetDefaultValue(""); + this->PhantomFileName->SetGuidance("full path and macro file name containing specific setup data for the phantom chosen"); + this->pPhantomConstructor->setPhantomFileName (""); - 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); + this->phantomCentre=new G4UIcmdWith3VectorAndUnit("/phantom/centre", this); + this->phantomCentre->SetDefaultUnit("mm"); + this->phantomCentre->SetGuidance("phantom centre coordinates in the world [mm]"); + this->phantomCentre->SetDefaultValue(G4ThreeVector(0.,0.,0.)); } CML2PhantomConstructionMessenger::~CML2PhantomConstructionMessenger(void) { delete PhantomName; - delete Phantom_nVoxelsZ; - delete Phantom_nVoxelsZ; - delete Phantom_nVoxelsZ; - delete rotationX; - delete rotationY; - delete rotationZ; + delete phantomCentre; } 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->PhantomFileName ) + {this->pPhantomConstructor->setPhantomFileName (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));} + if (cmd==this->phantomCentre ) + { + if (this->bOnlyVisio) + { + this->pPhantomConstructor->applyNewCentre(this->phantomCentre->GetNew3VectorRawValue(newValue)); +// what follows seems to be necessary to have a good refresh + G4UImanager* UI = G4UImanager::GetUIpointer(); + G4String command; + command = "/run/beamOn 0"; + UI->ApplyCommand(command); + command = "/vis/viewer/flush"; + UI->ApplyCommand(command); + } + else + { + this->pPhantomConstructor->addNewCentre(this->phantomCentre->GetNew3VectorRawValue(newValue)); + } + } } diff --git a/examples/advanced/medical_linac/src/ML2PhaseSpaces.cc b/examples/advanced/medical_linac/src/ML2PhaseSpaces.cc index b60129c7fb..4d636ac0e6 100755 --- a/examples/advanced/medical_linac/src/ML2PhaseSpaces.cc +++ b/examples/advanced/medical_linac/src/ML2PhaseSpaces.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -43,7 +44,7 @@ #include "ML2PhaseSpaces.hh" #include "ML2ReadOutGeometry.hh" -CML2PhaseSpaces::CML2PhaseSpaces():sensDetParticle(0), sensDetVoxelized(0) +CML2PhaseSpaces::CML2PhaseSpaces():sensDetParticle(0) {} CML2PhaseSpaces::~CML2PhaseSpaces(void) @@ -61,7 +62,8 @@ bool CML2PhaseSpaces::createPlane(G4VPhysicalVolume *PVWorld, G4String name, G4 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()); + G4Colour color(0.,1.,1.,0.5); + G4VisAttributes* simplePhSpVisAtt= new G4VisAttributes(color); simplePhSpVisAtt->SetVisibility(true); simplePhSpVisAtt->SetForceSolid(true); logVol->SetVisAttributes(simplePhSpVisAtt); @@ -75,7 +77,7 @@ bool CML2PhaseSpaces::createPlane(G4VPhysicalVolume *PVWorld, G4String name, G4 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) +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, G4double accTargetZPosition) { // constructor for phase space plane bool bCreated=false; @@ -92,7 +94,7 @@ bool CML2PhaseSpaces::createPlane(G4int idSD_Type, G4int max_N_particles_in_PhSp 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); + this->sensDetParticle=new CML2SDWithParticle(idSD_Type, max_N_particles_in_PhSp_File, seed, nMaxParticlesInRamPhaseSpace, name, PhaseSpaceOutFile, bSavePhaseSpace, bStopAtPhaseSpace, primaryParticleData, accTargetZPosition); G4SDManager *SDManager=G4SDManager::GetSDMpointer(); SDManager->AddNewDetector(this->sensDetParticle); logVol->SetSensitiveDetector(this->sensDetParticle); diff --git a/examples/advanced/medical_linac/src/ML2PhysicsList.cc b/examples/advanced/medical_linac/src/ML2PhysicsList.cc index 7f5331553d..3884550757 100755 --- a/examples/advanced/medical_linac/src/ML2PhysicsList.cc +++ b/examples/advanced/medical_linac/src/ML2PhysicsList.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/src/ML2PhysicsListMessenger.cc b/examples/advanced/medical_linac/src/ML2PhysicsListMessenger.cc index 4bf39dace1..95deadab9c 100644 --- a/examples/advanced/medical_linac/src/ML2PhysicsListMessenger.cc +++ b/examples/advanced/medical_linac/src/ML2PhysicsListMessenger.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/src/ML2PrimaryGenerationAction.cc b/examples/advanced/medical_linac/src/ML2PrimaryGenerationAction.cc index b27b5c963f..4582132593 100755 --- a/examples/advanced/medical_linac/src/ML2PrimaryGenerationAction.cc +++ b/examples/advanced/medical_linac/src/ML2PrimaryGenerationAction.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -39,19 +40,29 @@ // //*******************************************************// - #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) +CML2PrimaryGenerationAction::CML2PrimaryGenerationAction(void) +:particleGun(0),gamma(0),electron(0),positron(0),primaryParticleData(0),particles(0) { +} +CML2PrimaryGenerationAction* CML2PrimaryGenerationAction::instance = 0; + +CML2PrimaryGenerationAction* CML2PrimaryGenerationAction::GetInstance(void) +{ + if (instance == 0) + { + instance = new CML2PrimaryGenerationAction(); + } + return instance; +} +void CML2PrimaryGenerationAction::inizialize(SPrimaryParticle *primaryParticleData) +{ + this->rm=new G4RotationMatrix(); 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(); @@ -65,17 +76,9 @@ CML2PrimaryGenerationAction::CML2PrimaryGenerationAction(SPrimaryParticle *prima this->primaryParticleData->nPrimaryParticle=0; this->primaryParticleData->partPDGE=0; } -void CML2PrimaryGenerationAction::design() +void CML2PrimaryGenerationAction::design(G4double accTargetZPosition) { - 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; + this->accTargetZPosition=accTargetZPosition; switch (this->idParticleSource) { case id_randomTarget: @@ -88,14 +91,14 @@ void CML2PrimaryGenerationAction::design() } void CML2PrimaryGenerationAction::setGunRandom() { - this->particleGun->SetParticleDefinition(this->electron); + 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->particleGun->SetNumberOfParticles(1); this->idCurrentParticleSource=this->idParticleSource; } @@ -107,19 +110,27 @@ CML2PrimaryGenerationAction::~CML2PrimaryGenerationAction(void) } void CML2PrimaryGenerationAction::GeneratePrimaries(G4Event *anEvent) { - switch (this->idCurrentParticleSource) + static int currentRecycle=this->nRecycling; + static G4ThreeVector pos0, dir0; + if (currentRecycle==this->nRecycling) { - case id_randomTarget: - this->GenerateFromRandom(); - break; - case id_phaseSpace: - this->GenerateFromCalculatedPhaseSpace(); - break; + currentRecycle=0; + switch (this->idCurrentParticleSource) + { + case id_randomTarget: + this->GenerateFromRandom(); + break; + case id_phaseSpace: + this->GenerateFromCalculatedPhaseSpace(); + break; + } + pos0=this->pos; + dir0=this->dir; } - - -// std::cout <<"this->pos " <pos << '\t' <<"this->dir " <dir << '\t'<<"this->ek " << this->ek<< G4endl; - + currentRecycle++; + this->pos=pos0; + this->dir=dir0; + this->applySourceRotation(); // to follow the accelerator rotation this->primaryParticleData->partPDGE=this->particleGun->GetParticleDefinition()->GetPDGEncoding(); this->primaryParticleData->nPrimaryParticle++; @@ -141,8 +152,7 @@ void CML2PrimaryGenerationAction::GenerateFromRandom() this->pos.setX(this->ro*std::sin(this->alfa)); this->pos.setY(this->ro*std::cos(this->alfa)); - this->pos.setZ(-1305.*mm); - + this->pos.setZ(-(this->accTargetZPosition +5.)*mm); // the primary electrons are generated 5 mm before the target this->ek=RandGauss::shoot(this->GunMeanEnegy, this->GunStdEnegy); this->nRandomParticles++; } @@ -151,7 +161,7 @@ void CML2PrimaryGenerationAction::GenerateFromCalculatedPhaseSpace() static bool bFirstTime=true; if (bFirstTime) {bFirstTime=false;this->fillParticlesContainer();} - if (nParticle==this->nMaxParticlesInRamPhaseSpace) + if (this->nParticle==this->nMaxParticlesInRamPhaseSpace) // once all the particles stored in RAM hae been processed a new set is loaded { this->fillParticlesContainer(); this->nParticle=0; @@ -175,7 +185,11 @@ void CML2PrimaryGenerationAction::GenerateFromCalculatedPhaseSpace() this->nPhSpParticles++; this->nParticle++; } - +void CML2PrimaryGenerationAction::applySourceRotation() +{ + this->pos=*this->rm*this->pos; + this->dir=*this->rm*this->dir; +} void CML2PrimaryGenerationAction::fillParticlesContainer() { static int currentFilePosition=0; @@ -183,12 +197,19 @@ void CML2PrimaryGenerationAction::fillParticlesContainer() int startDataFilePosition; std::ifstream in; in.open(this->calculatedPhaseSpaceFileIN, std::ios::in); + if (in==0) + { + std::cout <<"ERROR phase space file: "<< this->calculatedPhaseSpaceFileIN << " NOT found. Run abort "<< G4endl; + G4RunManager::GetRunManager()->AbortRun(true); + } + static bool bFirstTime=true; if (bFirstTime) { in.seekg(-1,std::ios::end); currentFileSize=in.tellg(); in.seekg(0,std::ios::beg); + bFirstTime=false; } char a[1000]; @@ -203,11 +224,27 @@ void CML2PrimaryGenerationAction::fillParticlesContainer() G4String s; static bool checkFileRewind=false; + static bool bRewindTheFile=false; + static int nPhSpFileRewind=0; + for (i=0;inMaxParticlesInRamPhaseSpace;i++) { + if (bRewindTheFile) // to read the phase space file again to fill the container + { + in.close(); + in.open(this->calculatedPhaseSpaceFileIN, std::ios::in); + in.seekg(startDataFilePosition, std::ios::beg); + checkFileRewind=true; + bRewindTheFile=false; + std::cout<<"\n################\nI have reached the end of the phase space file "<<++nPhSpFileRewind <<" times, I rewind the file\n" << G4endl; + std::cout <<"loaded " <nMaxParticlesInRamPhaseSpace<<" particles" << G4endl; + } in >> d; in >> x; in >>y; in >> z; - this->particles[i].pos.set(x,y,z); +/* std::cout <<"x:" <particles[i].pos.set(x,y,z-this->accTargetZPosition); in >> x; in >>y; in >> z; this->particles[i].dir.set(x,y,z); in >> x; @@ -215,53 +252,13 @@ void CML2PrimaryGenerationAction::fillParticlesContainer() 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; - } + if (in.eof()) {bRewindTheFile=true;} + if (checkFileRewind) {checkFileRewind=false;} } - currentFilePosition=in.tellg(); - if (currentFilePosition>=currentFileSize) - {currentFilePosition=startDataFilePosition;} + std::cout <<"loaded " <nMaxParticlesInRamPhaseSpace<<" particles" << G4endl; + currentFilePosition=in.tellg(); // to remind the actual position in the phase space file + if (currentFilePosition>=currentFileSize) // to read the phase space file again + {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 index 7cde9e7301..84bccc3b23 100755 --- a/examples/advanced/medical_linac/src/ML2PrimaryGenerationActionMessenger.cc +++ b/examples/advanced/medical_linac/src/ML2PrimaryGenerationActionMessenger.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -48,38 +49,41 @@ CML2PrimaryGenerationActionMessenger::CML2PrimaryGenerationActionMessenger(CML2PrimaryGenerationAction *PML2PrimaryGenerationAction) : pML2PrimaryGenerationAction(PML2PrimaryGenerationAction) { - this->nIdenticalParticles=new G4UIcmdWithAnInteger("/primaryParticleData/nIdenticalParticles",this); - this->nIdenticalParticles->SetDefaultValue(1); + this->nRecycling=new G4UIcmdWithAnInteger("/primaryParticleData/nIdenticalParticles",this); + this->nRecycling->SetDefaultValue(1); + this->nRecycling->SetGuidance("number of identical particles generated in the primary generator"); this->calculatedPhaseSpaceFileIN=new G4UIcmdWithAString("/primaryParticleData/calculatedPhaseSpaceFileIN",this); this->calculatedPhaseSpaceFileIN->SetDefaultValue(""); + this->calculatedPhaseSpaceFileIN->SetGuidance("full path and file name of the phase space file to be used as particle generator"); this->sourceTypeName=new G4UIcmdWithAString("/primaryParticleData/sourceTypeName",this); this->sourceTypeName->SetDefaultValue(""); + this->sourceTypeName->SetGuidance("type of particle generator source (randomTarget, phaseSpace)"); this->nMaxParticlesInRamPhaseSpace=new G4UIcmdWithAnInteger("/primaryParticleData/nMaxParticlesInRamPhaseSpace",this); this->nMaxParticlesInRamPhaseSpace->SetDefaultValue(10000); - - this->nLoopsPhSpParticles=new G4UIcmdWithAnInteger("/primaryParticleData/nLoopsPhSpParticles",this); - this->nLoopsPhSpParticles->SetDefaultValue(1); + this->nMaxParticlesInRamPhaseSpace->SetGuidance("maximum particle number loaded from the phase space file each time"); this->GunMeanEnegy=new G4UIcmdWithADoubleAndUnit("/primaryParticleData/GunMeanEnegy", this); this->GunMeanEnegy->SetDefaultUnit("MeV"); this->GunMeanEnegy->SetDefaultValue(6.); + this->GunMeanEnegy->SetGuidance("mean energy of the primary particles"); this->GunStdEnegy=new G4UIcmdWithADoubleAndUnit("/primaryParticleData/GunStdEnegy", this); this->GunStdEnegy->SetDefaultUnit("MeV"); this->GunStdEnegy->SetDefaultValue(0.127); + this->GunStdEnegy->SetGuidance("std energy of the primary particles"); this->GunRadious=new G4UIcmdWithADoubleAndUnit("/primaryParticleData/GunRadious", this); this->GunRadious->SetDefaultUnit("mm"); this->GunRadious->SetDefaultValue(10.); + this->GunRadious->SetGuidance("radious primary particles beam"); } CML2PrimaryGenerationActionMessenger::~CML2PrimaryGenerationActionMessenger(void) { - delete nIdenticalParticles; - delete nLoopsPhSpParticles; + delete nRecycling; delete nMaxParticlesInRamPhaseSpace; delete GunMeanEnegy; delete GunStdEnegy; @@ -114,8 +118,8 @@ void CML2PrimaryGenerationActionMessenger::SetNewValue(G4UIcommand* cmd, G4Strin } - if (cmd==this->nIdenticalParticles) - {this->pML2PrimaryGenerationAction->setNIdenticalParticles(this->nIdenticalParticles->GetNewIntValue(newValue));} + if (cmd==this->nRecycling) + {this->pML2PrimaryGenerationAction->setNRecycling(this->nRecycling->GetNewIntValue(newValue));} if (cmd==this->calculatedPhaseSpaceFileIN) {this->pML2PrimaryGenerationAction->setCalculatedPhaseSpaceFileIN(newValue);} diff --git a/examples/advanced/medical_linac/src/ML2ReadOutGeometry.cc b/examples/advanced/medical_linac/src/ML2ReadOutGeometry.cc index d77f08bfec..622317152a 100755 --- a/examples/advanced/medical_linac/src/ML2ReadOutGeometry.cc +++ b/examples/advanced/medical_linac/src/ML2ReadOutGeometry.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -50,18 +51,16 @@ #include "ML2DummySD.hh" #include "G4PVReplica.hh" -CML2ReadOutGeometry::CML2ReadOutGeometry(const G4RotationMatrix *m, G4ThreeVector *v):ROPhyVol(0) +CML2ReadOutGeometry::CML2ReadOutGeometry():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; + centre.set(0.*mm, 0.*mm, 0.*mm); 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); + this->ROPhyVol= new G4PVPlacement(0, centre, "ROphmWorldPV", ROphmWorldLV, 0, false, 0); } CML2ReadOutGeometry::~CML2ReadOutGeometry(void) @@ -157,5 +156,6 @@ G4VPhysicalVolume* CML2ReadOutGeometry::Build() // 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/ML2RunAction.cc b/examples/advanced/medical_linac/src/ML2RunAction.cc new file mode 100755 index 0000000000..24d9f14735 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2RunAction.cc @@ -0,0 +1,93 @@ +// +// ******************************************************************** +// * 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@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* +// +// ^INAIL DIPIA - ex 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 "ML2RunAction.hh" + +CML2RunAction::CML2RunAction(CML2Convergence *convergence, G4int nBeam, G4bool bOnlyVisio) +{ + this->bRotationTranslationFilesNames=true; + this->convergence=convergence; + this->nBeam=nBeam; + this->bOnlyVisio=bOnlyVisio; +} + +CML2RunAction::~CML2RunAction(void) +{ +} +void CML2RunAction::BeginOfRunAction(const G4Run *) +{ + G4String fullName; + if (this->bRotationTranslationFilesNames) + {fullName=CML2AcceleratorConstruction::GetInstance()->getCurrentRotationString()+CML2PhantomConstruction::GetInstance()->getCurrentTranslationString();} + else + {fullName="";} + CML2PhantomConstruction::GetInstance()->setNewName(fullName); + + CML2AcceleratorConstruction::GetInstance()->writeInfo(); + CML2PhantomConstruction::GetInstance()->writeInfo(); + + std::cout<<"*********************************************"<<'\n'; + if (this->convergence->getNMaxLoops()<0 || this->bOnlyVisio) + { + std::cout << "loop n. "<<++this->nLoop <<'\n'; + } + else + { + std::cout << "loop n. "<<++this->nLoop<<"/" <convergence->getNMaxLoops() <<'\n'; + } + if (!this->bOnlyVisio) + {std::cout << "Launched "<< this->nBeam <<" random primary particles" << '\n';} + std::cout<<"*********************************************"<<'\n'; + this->MyTime.Start(); +} +void CML2RunAction::EndOfRunAction(const G4Run *) +{ + CML2WorldConstruction::GetInstance()->savePhantomData(); + CML2WorldConstruction::GetInstance()->savePhaseSpaceData(); + this->convergence->saveResults(); + + this->MyTime.Stop(); + this->loopElapsedTime=MyTime.GetUserElapsed(); + std::cout << "loop elapsed time [s] : "<< this->loopElapsedTime << '\n'; + std::cout <<'\n'; +} diff --git a/examples/advanced/medical_linac/src/ML2SDWithParticle.cc b/examples/advanced/medical_linac/src/ML2SDWithParticle.cc index 7daf4565cf..8ed6d7f538 100755 --- a/examples/advanced/medical_linac/src/ML2SDWithParticle.cc +++ b/examples/advanced/medical_linac/src/ML2SDWithParticle.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -42,6 +43,7 @@ #include "ML2SDWithParticle.hh" #include "ML2ExpVoxels.hh" +#include "ML2AcceleratorConstruction.hh" CML2SDWithParticle::CML2SDWithParticle() : G4VSensitiveDetector("killer_plane"),particles(0) @@ -51,9 +53,10 @@ CML2SDWithParticle::CML2SDWithParticle() 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) +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, G4double accTargetZPosition) : G4VSensitiveDetector(name),particles(0) { + this->accTargetZPosition=accTargetZPosition; this->max_N_particles_in_PhSp_File=max_N_particles_in_PhSp_File; this->nMaxParticlesInRamPhaseSpace = nMaxParticlesInRamPhaseSpace; this->idType=idType; @@ -65,21 +68,13 @@ CML2SDWithParticle::CML2SDWithParticle(G4int idType, G4int max_N_particles_in_Ph 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() { @@ -105,10 +100,10 @@ void CML2SDWithParticle::saveDataParticles(G4int nParticle) for (int i=0; i< nParticle; i++) { out << nTotalParticles++ << '\t'; - out << this->particles[i].volumeName << '\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->accTargetZPosition + this->particles[i].pos.getZ())/mm << '\t'; // it translates the current z value in global coordinates to the accelerator local coordinates (only z) out << this->particles[i].dir.getX() << '\t'; out << this->particles[i].dir.getY() << '\t'; out << this->particles[i].dir.getZ() << '\t'; @@ -120,9 +115,9 @@ void CML2SDWithParticle::saveDataParticles(G4int nParticle) out.close(); } -G4bool CML2SDWithParticle::ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist) +G4bool CML2SDWithParticle::ProcessHits(G4Step *aStep, G4TouchableHistory *) { - if (this->bActive) + if (this->bActive && (CML2AcceleratorConstruction::GetInstance()->getPhysicalVolume()->GetRotation()->isIdentity())) { G4double energyKin= aStep->GetTrack()->GetKineticEnergy(); static bool bFirstTime=true; @@ -144,11 +139,19 @@ G4bool CML2SDWithParticle::ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist 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; + this->bActive =false;// to stop the phase space creation + } + if (this->nParticle==this->nMaxParticlesInRamPhaseSpace) + { if (bFirstTime) { bFirstTime=false; @@ -157,28 +160,34 @@ G4bool CML2SDWithParticle::ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist 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; - } + + Sparticle *particle=new Sparticle; + particle->dir=aStep->GetPreStepPoint()->GetMomentumDirection(); + particle->pos=aStep->GetPreStepPoint()->GetPosition(); + particle->kinEnergy=energyKin; + particle->nPrimaryPart=this->nTotalParticles; // to pass the id of this phase space particle + particle->partPDGE=aStep->GetTrack()->GetDefinition()->GetPDGEncoding(); + particle->primaryParticlePDGE=this->primaryParticleData->partPDGE; + particle->volumeId=-1; + particle->volumeName="-1"; } - if (this->bStopAtPhaseSpace) - {aStep->GetTrack()->SetTrackStatus(fStopAndKill);} + if (this->bStopAtPhaseSpace) + {aStep->GetTrack()->SetTrackStatus(fStopAndKill);} } } + else + { + if (this->bStopAtPhaseSpace) + {aStep->GetTrack()->SetTrackStatus(fStopAndKill);} + } + return true; } +void CML2SDWithParticle::save() +{ + if ((this->bActive) && (this->nParticle>0) && (CML2AcceleratorConstruction::GetInstance()->getPhysicalVolume()->GetRotation()->isIdentity())) + {this->saveDataParticles(this->nParticle);this->nParticle=0;} +} + + diff --git a/examples/advanced/medical_linac/src/ML2SDWithVoxels.cc b/examples/advanced/medical_linac/src/ML2SDWithVoxels.cc index 920bbf8a97..ef34966528 100755 --- a/examples/advanced/medical_linac/src/ML2SDWithVoxels.cc +++ b/examples/advanced/medical_linac/src/ML2SDWithVoxels.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -46,8 +47,8 @@ // ************************************************************************************* -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) +CML2SDWithVoxels::CML2SDWithVoxels(G4String name, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG, G4ThreeVector centre, G4ThreeVector halfSize, G4int NumberOfVoxelsAlongX, G4int NumberOfVoxelsAlongY, G4int NumberOfVoxelsAlongZ) +: G4VSensitiveDetector(name),voxelsSum(0), voxelsSingle(0) { this->saving_in_ROG_Voxels_every_events=saving_in_ROG_Voxels_every_events; this->bSaveROG=bSaveROG; @@ -55,25 +56,22 @@ CML2SDWithVoxels::CML2SDWithVoxels(G4String name, G4int saving_in_ROG_Voxels_eve this->nParticle=0; this->nParticleValatile=0; this->nTotalEvents=0; + this->nSingleTotalEvents=0; this->density=1.; this->voxelVolume=0.; this->voxelMass=0.; + this->nRecycling=1; + 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 - + this->fullOutFileDataSingle=""; if(this->bSaveROG) { + this->centre=centre; this->halfSize=halfSize; this->NumberOfVoxelsAlongX=NumberOfVoxelsAlongX; this->NumberOfVoxelsAlongY=NumberOfVoxelsAlongY; @@ -82,28 +80,55 @@ CML2SDWithVoxels::CML2SDWithVoxels(G4String name, G4int saving_in_ROG_Voxels_eve this->halfXVoxelDimensionY=this->halfSize.getY()/this->NumberOfVoxelsAlongY; this->halfXVoxelDimensionZ=this->halfSize.getZ()/this->NumberOfVoxelsAlongZ; - this->voxelVolume=this->halfXVoxelDimensionX*this->halfXVoxelDimensionY*this->halfXVoxelDimensionZ; + this->voxelVolume=this->halfXVoxelDimensionX*this->halfXVoxelDimensionY*this->halfXVoxelDimensionZ*8.; - this->voxels=new Svoxel**[this->NumberOfVoxelsAlongX]; +// voxels to store and save the sum of the geometry configurations + this->voxelsSum=new Svoxel**[this->NumberOfVoxelsAlongX]; for (int ix=0; ix< this->NumberOfVoxelsAlongX; ix++) { - this->voxels[ix]=new Svoxel*[this->NumberOfVoxelsAlongY]; + this->voxelsSum[ix]=new Svoxel*[this->NumberOfVoxelsAlongY]; for (int iy=0; iy< this->NumberOfVoxelsAlongY; iy++) { - this->voxels[ix][iy]=new Svoxel[this->NumberOfVoxelsAlongZ]; + this->voxelsSum[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; + this->voxelsSum[ix][iy][iz].volumeId=-1; + this->voxelsSum[ix][iy][iz].depEnergy=0.; + this->voxelsSum[ix][iy][iz].depEnergy2=0.; + this->voxelsSum[ix][iy][iz].depEnergyNorm=0.; + this->voxelsSum[ix][iy][iz].depEnergyNormError=0.; + this->voxelsSum[ix][iy][iz].expDose=0.; + this->voxelsSum[ix][iy][iz].halfSize.set(this->halfXVoxelDimensionX, this->halfXVoxelDimensionY, this->halfXVoxelDimensionZ); + this->voxelsSum[ix][iy][iz].pos.set(2.*(ix)*this->halfXVoxelDimensionX -this->halfSize.getX()+this->halfXVoxelDimensionX + this->centre.getX(), + 2.*(iy)*this->halfXVoxelDimensionY -this->halfSize.getY()+this->halfXVoxelDimensionY + this->centre.getY(), + 2.*(iz)*this->halfXVoxelDimensionZ -this->halfSize.getZ()+this->halfXVoxelDimensionZ + this->centre.getZ()); + this->voxelsSum[ix][iy][iz].nEvents=0; + } + } + } + + +// voxels to store and save the single geometry configuration + this->voxelsSingle=new Svoxel**[this->NumberOfVoxelsAlongX]; + for (int ix=0; ix< this->NumberOfVoxelsAlongX; ix++) + { + this->voxelsSingle[ix]=new Svoxel*[this->NumberOfVoxelsAlongY]; + for (int iy=0; iy< this->NumberOfVoxelsAlongY; iy++) + { + this->voxelsSingle[ix][iy]=new Svoxel[this->NumberOfVoxelsAlongZ]; + for (int iz=0; iz< this->NumberOfVoxelsAlongZ; iz++) + { + this->voxelsSingle[ix][iy][iz].volumeId=-1; + this->voxelsSingle[ix][iy][iz].depEnergy=0.; + this->voxelsSingle[ix][iy][iz].depEnergy2=0.; + this->voxelsSingle[ix][iy][iz].depEnergyNorm=0.; + this->voxelsSingle[ix][iy][iz].depEnergyNormError=0.; + this->voxelsSingle[ix][iy][iz].expDose=0.; + this->voxelsSingle[ix][iy][iz].halfSize.set(this->halfXVoxelDimensionX, this->halfXVoxelDimensionY, this->halfXVoxelDimensionZ); + this->voxelsSingle[ix][iy][iz].pos.set(2.*(ix)*this->halfXVoxelDimensionX -this->halfSize.getX()+this->halfXVoxelDimensionX + this->centre.getX(), + 2.*(iy)*this->halfXVoxelDimensionY -this->halfSize.getY()+this->halfXVoxelDimensionY + this->centre.getY(), + 2.*(iz)*this->halfXVoxelDimensionZ -this->halfSize.getZ()+this->halfXVoxelDimensionZ + this->centre.getZ()); + this->voxelsSingle[ix][iy][iz].nEvents=0; } } } @@ -114,10 +139,37 @@ CML2SDWithVoxels::~CML2SDWithVoxels() { if(this->bSaveROG) { - delete [] this->voxels; - delete this->voxels; + delete [] this->voxelsSum; + delete this->voxelsSum; + + delete [] this->voxelsSingle; + delete this->voxelsSingle; } } +void CML2SDWithVoxels::resetVoxelsSingle() +{ + for (int ix=0; ix< this->NumberOfVoxelsAlongX; ix++) + { + for (int iy=0; iy< this->NumberOfVoxelsAlongY; iy++) + { + for (int iz=0; iz< this->NumberOfVoxelsAlongZ; iz++) + { + this->voxelsSingle[ix][iy][iz].volumeId=-1; + this->voxelsSingle[ix][iy][iz].depEnergy=0.; + this->voxelsSingle[ix][iy][iz].depEnergy2=0.; + this->voxelsSingle[ix][iy][iz].depEnergyNorm=0.; + this->voxelsSingle[ix][iy][iz].depEnergyNormError=0.; + this->voxelsSingle[ix][iy][iz].expDose=0.; + this->voxelsSingle[ix][iy][iz].halfSize.set(this->halfXVoxelDimensionX, this->halfXVoxelDimensionY, this->halfXVoxelDimensionZ); + this->voxelsSingle[ix][iy][iz].pos.set(2.*(ix)*this->halfXVoxelDimensionX -this->halfSize.getX()+this->halfXVoxelDimensionX + this->centre.getX(), + 2.*(iy)*this->halfXVoxelDimensionY -this->halfSize.getY()+this->halfXVoxelDimensionY + this->centre.getY(), + 2.*(iz)*this->halfXVoxelDimensionZ -this->halfSize.getZ()+this->halfXVoxelDimensionZ + this->centre.getZ()); + this->voxelsSingle[ix][iy][iz].nEvents=0; + } + } + } + this->nSingleTotalEvents=0; +} G4bool CML2SDWithVoxels::ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist) { @@ -127,62 +179,118 @@ G4bool CML2SDWithVoxels::ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist) if (this->bSaveROG && energyDep>0.) { G4int ix, iy, iz; + G4String volumeName; 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++; + energyDep/=this->voxelMass*this->nRecycling; + this->voxelsSum[ix][iy][iz].volumeId=this->getIdFromVolumeName(aStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume()->GetMaterial()->GetName()); + this->voxelsSum[ix][iy][iz].depEnergy+=energyDep; + this->voxelsSum[ix][iy][iz].depEnergy2+=energyDep*energyDep; + this->voxelsSum[ix][iy][iz].nEvents++; + + this->voxelsSingle[ix][iy][iz].volumeId=this->getIdFromVolumeName(aStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume()->GetMaterial()->GetName()); + this->voxelsSingle[ix][iy][iz].depEnergy+=energyDep; + this->voxelsSingle[ix][iy][iz].depEnergy2+=energyDep*energyDep; + this->voxelsSingle[ix][iy][iz].nEvents++; this->nTotalEvents++; + this->nSingleTotalEvents++; if (this->nTotalEvents%this->saving_in_ROG_Voxels_every_events==0 && this->nTotalEvents>0) { - this->saveDataInVoxels(); + this->save(); } } } return true; } - -void CML2SDWithVoxels::saveHeaderDataInVoxels() +G4int CML2SDWithVoxels::getIdFromVolumeName(G4String name) { - std::ofstream out; - out.open(this->fullOutFileData, std::ios::out); - out << "Sensitive Detector-Voxels. Total number of events: "<nTotalEvents<volumeNameIdLink.size(); i++) + { + if (this->volumeNameIdLink[i].volumeName==name) + { + return this->volumeNameIdLink[i].volumeId; + break; + } + } + return -1; } -void CML2SDWithVoxels::saveDataInVoxels() +void CML2SDWithVoxels::save() +{ +std::cout<< "n. of events collected in the whole ROG phantom for all geometries: "<< this->nTotalEvents<< G4endl; +std::cout<< "n. of events collected in the whole ROG phantom for the current geometry: "<< this->nSingleTotalEvents<< G4endl; + if (this->nTotalEvents>0) + {this->saveData(this->fullOutFileData, this->voxelsSum);} + if (this->nSingleTotalEvents>0) + {this->saveData(this->fullOutFileDataSingle, this->voxelsSingle);} +} +void CML2SDWithVoxels::saveData(G4String Filename, Svoxel ***voxels) { - this->saveHeaderDataInVoxels(); std::ofstream out; - out.open(this->fullOutFileData, std::ios::app); + out.open(Filename, std::ios::out); + out << "Sensitive Detector-Voxels. Total number of events, [mm]->centreX centreY centreZ HalfSizeX HalfSizeY HalfSizeZ minX maxX, minY maxY, minZ maxZ, Dx, Dy, Dz, nX, nY, nZ: \n"; + out <nTotalEvents<<'\t'; + out <centre.getX()/mm << '\t' << this->centre.getY()/mm<< '\t'<< this->centre.getZ()/mm<<'\t'; + out <halfSize.getX()/mm << '\t' << this->halfSize.getY()/mm <<'\t'<< this->halfSize.getZ()/mm<<'\t'; + out <<(this->centre.getX()-this->halfSize.getX())/mm<<'\t'<<(this->centre.getX()+this->halfSize.getX())/mm<<'\t'; + out <<(this->centre.getY()-this->halfSize.getY())/mm<<'\t'<<(this->centre.getY()+this->halfSize.getY())/mm<<'\t'; + out <<(this->centre.getZ()-this->halfSize.getZ())/mm<<'\t'<<(this->centre.getZ()+this->halfSize.getZ())/mm<<'\t'; + out <halfXVoxelDimensionX/mm<<'\t'<halfXVoxelDimensionY/mm<<'\t'<halfXVoxelDimensionZ/mm<<'\t'; + out <NumberOfVoxelsAlongX <<'\t'<NumberOfVoxelsAlongY <<'\t'<NumberOfVoxelsAlongZ <<'\n'; + out << "Number of physical volumes: "<< this->volumeNameIdLink.size() << '\n'; + for (int i=0; i<(int)this->volumeNameIdLink.size(); i++) + { + out << this->volumeNameIdLink[i].volumeName <<'\t'<< this->volumeNameIdLink[i].volumeId << G4endl; + } + + + out << "Phys Volume x [mm], y [mm], z [mm], ix, iy, iz, Dose [Gy], Dose2 [Gy^2], nEvents" << G4endl; + 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) + if (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 << voxels[ix][iy][iz].volumeId << '\t'; + out << voxels[ix][iy][iz].pos.getX()/mm << '\t'; + out << voxels[ix][iy][iz].pos.getY()/mm << '\t'; + out << 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 << voxels[ix][iy][iz].depEnergy/(joule/kg) << '\t'; + out << voxels[ix][iy][iz].depEnergy2/((joule/kg)*(joule/kg)) << '\t'; + out << voxels[ix][iy][iz].nEvents << G4endl; } } } } out.close(); + } +void CML2SDWithVoxels::setFullOutFileDataSingle(G4String val) +{ + unsigned int ind = this->fullOutFileData.find(".txt"); + G4String onlyName=this->fullOutFileData.substr( 0, ind); + if (val=="") + { + static unsigned int indGeom=0; + char cT[5]; + sprintf(cT,"%d",indGeom); + this->fullOutFileDataSingle=onlyName+"Single_"+G4String(cT)+".txt"; + indGeom++; + } + else + { + this->fullOutFileDataSingle=onlyName+val+".txt"; + } +} + diff --git a/examples/advanced/medical_linac/src/ML2StepMax.cc b/examples/advanced/medical_linac/src/ML2StepMax.cc index 7010505ae3..5d80593a56 100644 --- a/examples/advanced/medical_linac/src/ML2StepMax.cc +++ b/examples/advanced/medical_linac/src/ML2StepMax.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/src/ML2StepMaxMessenger.cc b/examples/advanced/medical_linac/src/ML2StepMaxMessenger.cc index 65a52d97d3..2b7b0fa0b7 100644 --- a/examples/advanced/medical_linac/src/ML2StepMaxMessenger.cc +++ b/examples/advanced/medical_linac/src/ML2StepMaxMessenger.cc @@ -26,11 +26,12 @@ // ML2StepMaxMessenger.cc // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/src/ML2SteppingAction.cc b/examples/advanced/medical_linac/src/ML2SteppingAction.cc index 0f534c3def..ab401ceaf5 100755 --- a/examples/advanced/medical_linac/src/ML2SteppingAction.cc +++ b/examples/advanced/medical_linac/src/ML2SteppingAction.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 diff --git a/examples/advanced/medical_linac/src/ML2TrackingAction.cc b/examples/advanced/medical_linac/src/ML2TrackingAction.cc index f74a229c63..bfb0b72000 100755 --- a/examples/advanced/medical_linac/src/ML2TrackingAction.cc +++ b/examples/advanced/medical_linac/src/ML2TrackingAction.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -55,36 +56,10 @@ void CML2TrackingAction::PreUserTrackingAction(const G4Track* aTrack) { - - // global geometry navigator - //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())); if(aTrack->GetParentID()!=0) { this->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);} } diff --git a/examples/advanced/medical_linac/src/ML2WorldConstruction.cc b/examples/advanced/medical_linac/src/ML2WorldConstruction.cc index 0b09183ad2..003e829a21 100755 --- a/examples/advanced/medical_linac/src/ML2WorldConstruction.cc +++ b/examples/advanced/medical_linac/src/ML2WorldConstruction.cc @@ -24,11 +24,12 @@ // ******************************************************************** // // The code was written by : -// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it // *Barbara Caccia barbara.caccia@iss.it // with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* // -// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// ^INAIL DIPIA - ex 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 @@ -41,13 +42,12 @@ #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(); + this->bWorldCreated=false; } CML2WorldConstruction::~CML2WorldConstruction(void) @@ -56,6 +56,7 @@ CML2WorldConstruction::~CML2WorldConstruction(void) delete this->phantomEnv; delete this->acceleratorEnv; delete this->phaseSpace; + delete this->backScatteredPlane; } CML2WorldConstruction* CML2WorldConstruction::instance = 0; @@ -73,42 +74,54 @@ G4VPhysicalVolume* CML2WorldConstruction::Construct() { return this->PVWorld; } -void CML2WorldConstruction::create(SInputData *inputData) +bool CML2WorldConstruction::create(SInputData *inputData, bool bOnlyVisio) { // create the world box + this->bOnlyVisio=bOnlyVisio; 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); +// 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); + if (!this->acceleratorEnv->Construct(this->PVWorld, bOnlyVisio)) + { + std::cout <<"\n\n The macro file '"<generalData.StartFileInputData<<"' refers to a not defined accelerator.\n"<< this->acceleratorEnv->getAcceleratorName()<<"\n\nSTOP\n\n" << G4endl; + return false; + } // 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 (!this->phantomEnv->Construct(this->PVWorld, inputData->generalData.saving_in_ROG_Voxels_every_events, inputData->generalData.seed, inputData->generalData.ROGOutFile, inputData->generalData.bSaveROG, bOnlyVisio)) + { + std::cout <<"\n\n The macro file '"<generalData.StartFileInputData<<"' refers to a not defined phantom.\n"<< this->phantomEnv->getPhantomName()<<"\n\nSTOP\n\n" << G4endl; + return false; + } // 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); + if (inputData->generalData.bForcePhaseSpaceBeforeJaws) + {inputData->generalData.centrePhaseSpace.setZ(this->acceleratorEnv->getZ_Value_PhaseSpaceBeforeJaws());} + 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, this->acceleratorEnv->getAcceleratorIsoCentre()); } // 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)); + this->backScatteredPlane->createPlane(this->acceleratorEnv->getPhysicalVolume(), "killerPlane", G4ThreeVector(0, 0, -50*mm), G4ThreeVector(200*mm, 200*mm, 1*mm)); -// fast check of the physical volumes overlap - this->checkVolumeOverlap(); + this->bWorldCreated=true; + return true; } void CML2WorldConstruction::checkVolumeOverlap() { // loop inside all the daughters volumes + std::cout<< G4endl; bool bCheckOverlap=false; int nWorld; nWorld=(int) this->PVWorld->GetLogicalVolume()->GetNoDaughters(); @@ -128,5 +141,21 @@ void CML2WorldConstruction::checkVolumeOverlap() } } } + std::cout<< G4endl; +} +bool CML2WorldConstruction::newGeometry() +{ + G4bool bNewRotation=false; + G4bool bNewCentre=false; + G4bool bNewGeometry=false; + bNewCentre=this->phantomEnv->applyNewCentre(); + G4RotationMatrix *rmInv=this->acceleratorEnv->rotateAccelerator(); + if (rmInv!=0) + { + CML2PrimaryGenerationAction::GetInstance()->setRotation(rmInv); + bNewRotation=true; + } + if (bNewRotation || bNewCentre){bNewGeometry=true;} + return bNewGeometry; } diff --git a/examples/advanced/medical_linac/src/ML2_DicomMessenger.cc b/examples/advanced/medical_linac/src/ML2_DicomMessenger.cc new file mode 100755 index 0000000000..859eeb2d03 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2_DicomMessenger.cc @@ -0,0 +1,113 @@ +// +// ******************************************************************** +// * 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@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* +// +// ^INAIL DIPIA - ex 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 "ML2_DicomMessenger.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" + +CML2_DicomMessenger::CML2_DicomMessenger(DicomDetectorConstruction *dicomDetectorConstruction) : dicomDetectorConstruction(dicomDetectorConstruction) +{ + this->dicomDirectory=new G4UIcmdWithAString("/dicom/dicomDirectory",this); + this->dicomDirectory->SetDefaultValue(""); + this->dicomDirectory->SetGuidance("directory of the dicom files"); + this->dicomDetectorConstruction->setDicomDirectory(""); + + this->fileData=new G4UIcmdWithAString("/dicom/fileData",this); + this->fileData->SetDefaultValue(""); + this->fileData->SetGuidance("file name of the dicom data.dat"); + this->dicomDetectorConstruction->setDataFileName(""); + + this->calibrationDensityFileName=new G4UIcmdWithAString("/dicom/calibrationDensityFileName",this); + this->calibrationDensityFileName->SetDefaultValue(""); + this->calibrationDensityFileName->SetGuidance("file name of the dicom CT2Density.dat"); + this->dicomDetectorConstruction->setCalibrationDensityFileName(""); + + this->dicomColorMap=new G4UIcmdWithAString("/dicom/dicomColorMap",this); + this->dicomColorMap->SetDefaultValue(""); + this->dicomColorMap->SetGuidance("file name of the dicom colormap.dat"); + this->dicomDetectorConstruction->setDicomColorMap(""); + + this->nROGVoxelsX=new G4UIcmdWithAnInteger("/dicom/nROGVoxelsX",this); + this->nROGVoxelsX->SetDefaultValue(100); + this->nROGVoxelsX->SetGuidance("Number of voxels in the X direction"); + this->dicomDetectorConstruction->setNROGVoxelsX(100); + + this->nROGVoxelsY=new G4UIcmdWithAnInteger("/dicom/nROGVoxelsY",this); + this->nROGVoxelsY->SetDefaultValue(100); + this->nROGVoxelsY->SetGuidance("Number of voxels in the Y direction"); + this->dicomDetectorConstruction->setNROGVoxelsY(100); + + this->nROGVoxelsZ=new G4UIcmdWithAnInteger("/dicom/nROGVoxelsZ",this); + this->nROGVoxelsZ->SetDefaultValue(100); + this->nROGVoxelsZ->SetGuidance("Number of voxels in the Z direction"); + this->dicomDetectorConstruction->setNROGVoxelsZ(100); +} + +CML2_DicomMessenger::~CML2_DicomMessenger(void) +{ + delete dicomDirectory; + delete fileData; + delete calibrationDensityFileName; + delete dicomColorMap; + delete nROGVoxelsX; + delete nROGVoxelsY; + delete nROGVoxelsZ; +} +void CML2_DicomMessenger::SetNewValue(G4UIcommand* cmd, G4String newValue) +{ + if (cmd==this->dicomDirectory) + {this->dicomDetectorConstruction->setDicomDirectory(newValue);} + else if (cmd==this->fileData) + {this->dicomDetectorConstruction->setDataFileName(newValue);} + else if (cmd==this->calibrationDensityFileName) + {this->dicomDetectorConstruction->setCalibrationDensityFileName(newValue);} + else if (cmd==this->dicomColorMap) + {this->dicomDetectorConstruction->setDicomColorMap(newValue);} + else if (cmd==this->nROGVoxelsX) + {this->dicomDetectorConstruction->setNROGVoxelsX(this->nROGVoxelsX->GetNewIntValue(newValue));} + else if (cmd==this->nROGVoxelsY) + {this->dicomDetectorConstruction->setNROGVoxelsY(this->nROGVoxelsY->GetNewIntValue(newValue));} + else if (cmd==this->nROGVoxelsZ) + {this->dicomDetectorConstruction->setNROGVoxelsZ(this->nROGVoxelsZ->GetNewIntValue(newValue));} + +} diff --git a/examples/advanced/medical_linac/src/RegularDicomDetectorConstruction.cc b/examples/advanced/medical_linac/src/RegularDicomDetectorConstruction.cc new file mode 100755 index 0000000000..700a9c86c2 --- /dev/null +++ b/examples/advanced/medical_linac/src/RegularDicomDetectorConstruction.cc @@ -0,0 +1,125 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// History: +// Pedro Arce +// +//******************************************************* +// +// The code is part of the DICOM extended example and it was modified by : +// ^Claudio Andenna claudio.andenna@ispesl.it, claudio.andenna@iss.infn.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// with the contribute of Alessandro Occhigrossi* +// +// ^INAIL DIPIA - ex 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 "globals.hh" + +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVParameterised.hh" +#include "G4Material.hh" +#include "G4Element.hh" +#include "G4VisAttributes.hh" +#include "G4Colour.hh" +#include "G4ios.hh" + +#include "RegularDicomDetectorConstruction.hh" +#include "DicomPhantomParameterisationColour.hh" + +RegularDicomDetectorConstruction::RegularDicomDetectorConstruction() : DicomDetectorConstruction() +{ +} + +RegularDicomDetectorConstruction::~RegularDicomDetectorConstruction() +{ +} + +//------------------------------------------------------------- +void RegularDicomDetectorConstruction::ConstructPatient() +{ +#ifdef G4VERBOSE + G4cout << "RegularDicomDetectorConstruction::ConstructPatient " << G4endl; +#endif + + //----- Create parameterisation + DicomPhantomParameterisationColour* param = new DicomPhantomParameterisationColour(this->getDicomDirectory(), this->getDicomColorMap()); + + //----- Set voxel dimensions + param->SetVoxelDimensions( voxelHalfDimX, voxelHalfDimY, voxelHalfDimZ ); + + //----- Set number of voxels + param->SetNoVoxel( nVoxelX, nVoxelY, nVoxelZ ); + + //----- Set list of materials + param->SetMaterials( fMaterials ); + + //----- Set list of material indices: for each voxel it is a number that correspond to the index of its material in the vector of materials defined above + param->SetMaterialIndices( fMateIDs ); + + //----- Define voxel logical volume + G4Box* voxel_solid = new G4Box( "Voxel", voxelHalfDimX, voxelHalfDimY, voxelHalfDimZ); + G4LogicalVolume* voxel_logic = new G4LogicalVolume(voxel_solid,fMaterials[0],"VoxelLogical",0,0,0); // material is not relevant, it will be changed by the ComputeMaterial method of the parameterisation + + //--- Assign the container volume of the parameterisation + param->BuildContainerSolid(container_phys); + + //--- Assure yourself that the voxels are completely filling the container volume + param->CheckVoxelsFillContainer( container_solid->GetXHalfLength(), + container_solid->GetYHalfLength(), + container_solid->GetZHalfLength() ); + + + //----- The G4PVParameterised object that uses the created parameterisation should be placed in the container logical volume + G4PVParameterised * patient_phys = new G4PVParameterised("Patient",voxel_logic,container_logic, + kXAxis, nVoxelX*nVoxelY*nVoxelZ, param); + // if axis is set as kUndefined instead of kXAxis, GEANT4 will do an smart voxel optimisation (not needed if G4RegularNavigation is used) + + //----- Set this physical volume as having a regular structure of type 1, so that G4RegularNavigation is used + patient_phys->SetRegularStructureId(1); // if not set, G4VoxelNavigation will be used instead + + SetScorer(voxel_logic); + G4VisAttributes* simpleAlSVisAtt= new G4VisAttributes(G4Colour::White()); + simpleAlSVisAtt->SetVisibility(false); + simpleAlSVisAtt->SetForceWireframe(false); +// simpleAlSVisAtt->SetVisibility(true); +// simpleAlSVisAtt->SetForceWireframe(true); + container_logic->SetVisAttributes(simpleAlSVisAtt); + +} + diff --git a/examples/advanced/medical_linac/vis.mac b/examples/advanced/medical_linac/vis.mac index 6aa9b9eee0..cec904f418 100644 --- a/examples/advanced/medical_linac/vis.mac +++ b/examples/advanced/medical_linac/vis.mac @@ -1,17 +1,112 @@ -/vis/scene/create +/control/verbose 2 +/run/initialize +# Use this open statement to create an OpenGL view: /vis/open OGLIX - -/vis/drawVolume - -#/vis/scene/add/volume - -/vis/viewer/set/viewpointThetaPhi 45 45 deg -/vis/viewer/zoom 1 -/vis/viewer/flush -/vis/scene/add/trajectories +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 45. 45. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate 100 +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush -/run/beamOn 100 +/accelerator/rotation90Y false +/phantom/centre 0 0 0 # phantom centre coordinates in the world [mm] + +/accelerator/rotationX 0 deg # angles of rotation along X [deg] +/run/beamOn 800 + +/phantom/centre 0 0 0 # phantom centre coordinates in the world [mm] +/accelerator/rotationX 45 deg # angles of rotation along X [deg] +/run/beamOn 800 + +/phantom/centre 0 0 0 # phantom centre coordinates in the world [mm] +/accelerator/rotationX 90 deg # angles of rotation along X [deg] +/run/beamOn 800 + +/phantom/centre 0 0 0 # phantom centre coordinates in the world [mm] +/accelerator/rotationX 135 deg # angles of rotation along X [deg] +/run/beamOn 800 + + +/accelerator/rotation90Y true +/phantom/centre 0 0 0 # phantom centre coordinates in the world [mm] + +/accelerator/rotationX 0 deg # angles of rotation along X [deg] +/run/beamOn 800 + +/phantom/centre 0 0 0 # phantom centre coordinates in the world [mm] +/accelerator/rotationX 45 deg # angles of rotation along X [deg] +/run/beamOn 800 + +/phantom/centre 0 0 0 # phantom centre coordinates in the world [mm] +/accelerator/rotationX 90 deg # angles of rotation along X [deg] +/run/beamOn 800 + +/phantom/centre 0 0 0 # phantom centre coordinates in the world [mm] +/accelerator/rotationX 135 deg # angles of rotation along X [deg] +/run/beamOn 800 + +/vis/open OGL # acceleratorBox # targetA diff --git a/examples/advanced/microbeam/GNUmakefile b/examples/advanced/microbeam/GNUmakefile index 39e9858b6c..9f486a314b 100755 --- a/examples/advanced/microbeam/GNUmakefile +++ b/examples/advanced/microbeam/GNUmakefile @@ -1,18 +1,16 @@ # ------------------------------------------------------------------- -# $Id: GNUmakefile,v 1.4 2006/06/01 22:25:19 sincerti Exp $ +# $Id: GNUmakefile,v 1.5 2010/01/11 16:12:41 gcosmo Exp $ # ----------- # GNUmakefile # ----------- name := Microbeam -G4DEBUG := 0 G4TARGET := $(name) G4EXLIB := true -G4VERBOSE :=1 ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif .PHONY: all diff --git a/examples/advanced/microbeam/History b/examples/advanced/microbeam/History index 336e7b141b..63bfa536a3 100644 --- a/examples/advanced/microbeam/History +++ b/examples/advanced/microbeam/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.21 2009/04/30 10:23:57 sincerti Exp $ +$Id: History,v 1.31 2010/11/17 20:42:36 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,43 @@ $Id: History,v 1.21 2009/04/30 10:23:57 sincerti Exp $ Package History file -------------------- +16 November 2010 - J. Allison - tag microbeam-V09-03-09 +- Microbeam.cc: Introduced G4UIExecutive. +- MicrobeamRunAction.cc: + o Removed /vis/viewer/update. (Issued by vis manager at end of run anyway.) +- vis.mac: Added: + # Specify target point (so a viewpoint rotation keeps it in view) + /vis/viewer/set/targetPoint -1461.42 0.0 -386.51 mm + +09 November 2010 - M. Asai - tag microbeam-V09-03-08 +- Fix AIDA file option. + +07 October 2010 - S. Incerti - tag microbeam-V09-03-07 +- Updated for use of AIDA fof histograms. + +10 June 2010 - V.Ivanchenko - tag microbeam-V09-03-06 +- Added option "ionGasModel" to the Physics List + +09 June 2010 - J. Perl - tag microbeam-V09-03-05 +- Have vis.mac disabled by default + +09 June 2010 - S. Incerti - tag microbeam-V09-03-04 +- Switched to physics_list library. microbeam.mac adapted. + +06 June 2010 - S. Incerti - tag microbeam-V09-03-03 +- Removed unused variable (evt) in MicrobeamEventAction.cc + +03 June 2010 - J.Perl - tag microbeam-V09-03-02 +- Update vis usage + +23 February 2010 - S. Incerti - tag microbeam-V09-03-01 +- changed material/density selection in MicrobeamPhantomConfiguration.cc +(thanks to gunter) + +23 February 2010 - S. Incerti - tag microbeam-V09-03-00 +- Added density initialisation in MicrobeamPhantomConfiguration.cc +(thanks to gunter) + 30 April 2009 - S. Incerti - tag microbeam-V09-02-01 - Updated Physics list to migrated Livermore processes - Corrected plot.C diff --git a/examples/advanced/microbeam/Microbeam.cc b/examples/advanced/microbeam/Microbeam.cc index 6ecc1c0fe7..9ecc18d538 100755 --- a/examples/advanced/microbeam/Microbeam.cc +++ b/examples/advanced/microbeam/Microbeam.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: Microbeam.cc,v 1.9 2007/08/28 09:48:40 gcosmo Exp $ +// $Id: Microbeam.cc,v 1.12 2010/11/17 20:42:14 allison Exp $ // ------------------------------------------------------------------- // GEANT4 - Microbeam example // Developed by S. Incerti et al. @@ -36,14 +36,16 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "Randomize.hh" #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #include "MicrobeamDetectorConstruction.hh" #include "MicrobeamPhysicsList.hh" #include "MicrobeamPrimaryGeneratorAction.hh" @@ -52,6 +54,7 @@ #include "MicrobeamTrackingAction.hh" #include "MicrobeamSteppingAction.hh" #include "MicrobeamSteppingVerbose.hh" +#include "MicrobeamHistoManager.hh" int main(int argc,char** argv) { @@ -81,44 +84,40 @@ int main(int argc,char** argv) { MicrobeamPrimaryGeneratorAction* KinAct = new MicrobeamPrimaryGeneratorAction(detector); runManager->SetUserAction(KinAct); - MicrobeamRunAction* RunAct = new MicrobeamRunAction(detector); + MicrobeamHistoManager* histo = new MicrobeamHistoManager(); + + MicrobeamRunAction* RunAct = new MicrobeamRunAction(detector,histo); runManager->SetUserAction(RunAct); - runManager->SetUserAction(new MicrobeamEventAction(RunAct)); + runManager->SetUserAction(new MicrobeamEventAction(RunAct,histo)); runManager->SetUserAction(new MicrobeamTrackingAction(RunAct)); - runManager->SetUserAction(new MicrobeamSteppingAction(RunAct,detector)); + runManager->SetUserAction(new MicrobeamSteppingAction(RunAct,detector,histo)); // initialize G4 kernel - runManager->Initialize(); + // runManager->Initialize(); // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); // local user files created by the simulation - system ("rm -rf dose.txt"); - system ("rm -rf 3DDose.txt"); - system ("rm -rf stoppingPower.txt"); - system ("rm -rf range.txt"); - system ("rm -rf beamPosition.txt"); + system ("rm -rf microbeam.root"); if (argc==1) // define UI session for interactive mode. { - // G4UIterminal is a (dumb) terminal. - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute microbeam.mac"); +#endif + ui->SessionStart(); + delete ui; #endif - UI->ApplyCommand("/control/execute microbeam.mac"); - 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/advanced/microbeam/README b/examples/advanced/microbeam/README index 570fce4f02..d32a226fcd 100644 --- a/examples/advanced/microbeam/README +++ b/examples/advanced/microbeam/README @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: README,v 1.10 2007/02/27 12:02:09 sincerti Exp $ +$Id: README,v 1.12 2010/10/07 14:03:11 sincerti Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,7 +16,7 @@ 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 +Last modified by S. Incerti, 07/10/2010 ---->0. INTRODUCTION. @@ -79,21 +79,20 @@ online database (http://www.slac.stanford.edu/spires/) : - MONTE CARLO MICRODOSIMETRY FOR TARGETED IRRADIATION OF INDIVIDUAL CELLS USING A MICROBEAM FACILITY -By S. Incerti, T. Pouthier, H. Seznec, Ph. Moretto, O. Boissonnade, -T. M. H. Ha, F. Andersson, Ph. Barberet, C. Habchi and D. T. Nguyen -In preparation (2007) +By S. Incerti, H. Seznec, M. Simon, Ph. Barberet, C. Habchi, Ph. Moretto +Published in Rad. Prot. Dos. 133, 1 (2009) 2-11 - MONTE CARLO SIMULATION OF THE CENBG MICROBEAM AND NANOBEAM LINES WITH THE GEANT4 TOOLKIT By S. Incerti, Q. Zhang, F. Andersson, Ph. Moretto, G.W. Grime, M.J. Merchant, D.T. Nguyen, C. Habchi, T. Pouthier and H. Seznec -In press in Nucl.Instrum.Meth.B, 2007 +Published in Nucl. Instrum. and Meth. B 260 (2007) 20-27 - A COMPARISON OF CELLULAR IRRADIATION TECHNIQUES WITH ALPHA PARTICLES USING THE GEANT4 MONTE CARLO SIMULATION TOOLKIT By S. Incerti, N. Gault, C. Habchi, J.L.. Lefaix, Ph. Moretto, J.L.. Poncy, T. Pouthier, H. Seznec. Dec 2006. 3pp. -Published in Rad.Prot.Dos.,1-3,2006 (Micros 2005 special issue). +Published in Rad. Prot. Dos. 122, 1-4, (2006) 327-329 - GEANT4 SIMULATION OF THE NEW CENBG MICRO AND NANO PROBES FACILITY By S. Incerti, C. Habchi, Ph. Moretto, J. Olivier and H. Seznec. May 2006. 5pp. @@ -123,107 +122,58 @@ Ph. Moretto. Sep 2003. Published in Nucl.Instrum.Meth.B210:92-97, 2003 ----->3. SET-UP - -- a standard Geant4 example GNUmakefile is provided - -setup with: -compiler = gcc-3.2.3 -G4SYSTEM = linux-g++ - -The following section gives the necessary environment variables. - -------->>3.1 ENVIRONMENT VARIABLES - -All variables are defined with their default value. - - - G4SYSTEM = Linux-g++ - - - G4INSTALL points to the installation directory of GEANT4; - - - G4LIB point to the compiled libraries of GEANT4; - - - G4WORKDIR points to the work directory; - - - CLHEP_BASE_DIR points to the installation directory of CHLEP; - - - G4LEDATA points to the low energy electromagnetic libraries; - - - LD_LIBRARY_PATH = $CLHEP_BASE_DIR/lib - - - G4LEVELGAMMADATA points to the photoevaporation library; - - - NeutronHPCrossSections points to the neutron data files; - - - G4RADIOACTIVEDATA points to the libraries for radio-active decay - hadronic processes; - -However, the $G4LEVELGAMMADATA, $NeutronHPCrossSections and $G4RADIOACTIVEDATA -variables do not need to be defined for this example. - -Once these variables have been set, simply type gmake to compile the Microbeam -example. - -------->>3.2 VISUALIZATION - -The user can visualize the targeted cell with OpenGL, DAWN and vrml, -as chosen in the microbeam.mac file. OpenGL is the default viewer. The -cytoplasm in shown in red and the nucleus in green. +------->3 VISUALIZATION +The user can visualize the targeted cell by uncommenting the following line in +microbeam.mac: +#/control/execute vis.mac ---->4. HOW TO RUN THE EXAMPLE -In interactive mode, run: +The variable G4ANALYSIS_USE must be set to 1. -> $G4WORDIR/bin/Linux-g++/Microbeam +In order to generate histograms, at least one of the AIDA implementations should be + available. + +The code should be compiled with gmake and run with : -The macro microbeam.mac is executed by default. To get vizualisation, make -sure to uncomment the /vis/... lines in the microbeam.mac macro. -The Microbeam code reads the phantom.dat file containing all the necessary -information describing the cell phantom. 10 alphas particles are generated. +> $G4WORDIR/bin/$G4SYSTEM/Microbeam + +The macro file microbeam.mac is read by default. ---->5. PHYSICS -Low energy electromagnetic processes (for alphas, electrons, photons) and -hadronic elastic and inelastic scattering for alphas are activated by default. -Low energy electromagnetic electronic and nuclear stopping power are computed -from ICRU tables. - +Livermore, Binary and Binary_ion physics lists are used by default, +see microbeam.mac ---->6. SIMULATION OUTPUT AND RESULT ANALYZIS -This example does not need any external analysis package. -The output results consists in several .txt files: +The output results consist in several a microbeam.root file, containing several +ntuples: -* dose.txt : gives the total deposited dose in the cell nucleus and in the cell +* total deposited dose in the cell nucleus and in the cell cytoplasm by each incident alpha particle; -* 3DDose.txt : gives the average on the whole run of the dose deposited per +* average on the whole run of the dose deposited per Voxel per incident alpha particle; -* range.txt : indicates the final stopping (x,y,z) position of the incident +* final stopping (x,y,z) position of the incident alpha particle within the irradiated medium (cell or culture medium) -* stoppingPower.txt : gives the actual stopping power dE/dx of the incident +* stopping power dE/dx of the incident alpha particle just before penetrating into the targeted cell; -* beamPosition.txt : gives the beam transverse position distribution(X and Y) +* beam transverse position distribution(X and Y) just before penetrating into the targeted cell; -These files can be easily analyzed using for example the provided ROOT macro +These results can be easily analyzed using for example the provided ROOT macro file plot.C; to do so : * be sure to have ROOT installed on your machine * be sure to be in the microbeam directory * launch ROOT by typing root * under your ROOT session, type in : .X plot.C to execute the macro file -A graphical output obtained with this macro for 40000 incident alpha particles -is shown in the file microbeam.gif - -The simulation predicts that 95% of the incident alpha particles detected by the -gas detector are located within a circle of 10 um in diameter on the target, in -nice agreement with experimental measurements performed on the CENBG setup. --------------------------------------------------------------------------- diff --git a/examples/advanced/microbeam/include/MicrobeamEventAction.hh b/examples/advanced/microbeam/include/MicrobeamEventAction.hh index fabf7c2389..e520056c0b 100755 --- a/examples/advanced/microbeam/include/MicrobeamEventAction.hh +++ b/examples/advanced/microbeam/include/MicrobeamEventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: MicrobeamEventAction.hh,v 1.5 2006/06/29 16:05:05 gunter Exp $ +// $Id: MicrobeamEventAction.hh,v 1.6 2010/10/07 14:03:11 sincerti Exp $ // ------------------------------------------------------------------- #ifndef MicrobeamEventAction_h @@ -34,6 +34,7 @@ #include "globals.hh" class MicrobeamRunAction; +class MicrobeamHistoManager; class G4Event; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -42,7 +43,7 @@ class MicrobeamEventAction : public G4UserEventAction { public: - MicrobeamEventAction(MicrobeamRunAction*); + MicrobeamEventAction(MicrobeamRunAction*, MicrobeamHistoManager *); ~MicrobeamEventAction(); void BeginOfEventAction(const G4Event*); @@ -54,6 +55,7 @@ class MicrobeamEventAction : public G4UserEventAction private: MicrobeamRunAction* Run; + MicrobeamHistoManager* Histo; G4String drawFlag; G4int printModulo; }; diff --git a/examples/advanced/microbeam/include/MicrobeamHistoManager.hh b/examples/advanced/microbeam/include/MicrobeamHistoManager.hh new file mode 100644 index 0000000000..52c4667600 --- /dev/null +++ b/examples/advanced/microbeam/include/MicrobeamHistoManager.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. * +// ******************************************************************** +// +// $Id: MicrobeamHistoManager.hh,v 1.1 2010/10/07 14:03:11 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef MicrobeamHistoManager_h +#define MicrobeamHistoManager_h 1 + +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +namespace AIDA { + class IAnalysisFactory; + class ITree; + class ITuple; +} + +const G4int MaxNtupl = 5; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class MicrobeamHistoManager +{ + public: + + MicrobeamHistoManager(); + ~MicrobeamHistoManager(); + + void book(); + void save(); + void FillNtuple(G4int id, G4int column, G4double value); + void AddRowNtuple(G4int id); + + private: + + G4String fileName[2]; + G4String fileType; + G4String fileOption; + AIDA::IAnalysisFactory* af; + AIDA::ITree* tree; + AIDA::ITuple* ntupl0; // MicrobeamSteppingAction + AIDA::ITuple* ntupl1; // MicrobeamSteppingAction + AIDA::ITuple* ntupl2; // MicrobeamSteppingAction + AIDA::ITuple* ntupl3; // MicrobeamEventAction + AIDA::ITuple* ntupl4; // MicrobeamRunAction + + G4bool factoryOn; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/microbeam/include/MicrobeamPhysicsList.hh b/examples/advanced/microbeam/include/MicrobeamPhysicsList.hh index 6dd7ebe75e..a59fc80274 100755 --- a/examples/advanced/microbeam/include/MicrobeamPhysicsList.hh +++ b/examples/advanced/microbeam/include/MicrobeamPhysicsList.hh @@ -23,44 +23,72 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// ------------------------------------------------------------------- -// $Id: MicrobeamPhysicsList.hh,v 1.5 2006/06/29 16:05:09 gunter Exp $ -// ------------------------------------------------------------------- +// +// $Id: MicrobeamPhysicsList.hh,v 1.7 2010/06/10 09:54:05 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// +// 14.10.02 (V.Ivanchenko) provide modular list on base of old PhysicsList +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef MicrobeamPhysicsList_h #define MicrobeamPhysicsList_h 1 -#include "G4VUserPhysicsList.hh" +#include "G4VModularPhysicsList.hh" +#include "globals.hh" -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +class G4VPhysicsConstructor; +class G4StepLimiter; +class MicrobeamPhysicsListMessenger; -class MicrobeamPhysicsList: public G4VUserPhysicsList +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class MicrobeamPhysicsList: public G4VModularPhysicsList { public: + MicrobeamPhysicsList(); - ~MicrobeamPhysicsList(); + virtual ~MicrobeamPhysicsList(); + + void ConstructParticle(); + + void SetCuts(); + void SetCutForGamma(G4double); + void SetCutForElectron(G4double); + void SetCutForPositron(G4double); + + void AddPhysicsList(const G4String& name); + void ConstructProcess(); + + void AddStepMax(); + G4StepLimiter* GetStepMaxProcess() {return stepMaxProcess;}; private: - + + void AddIonGasModels(); + G4double cutForGamma; G4double cutForElectron; G4double cutForPositron; - -protected: - - void ConstructParticle(); - void ConstructBosons(); - void ConstructLeptons(); - void ConstructBaryons(); - void ConstructProcess(); - void ConstructEM(); - void ConstructHad(); - void ConstructGeneral(); - void SetCuts(); - + G4bool helIsRegisted; + G4bool bicIsRegisted; + G4bool biciIsRegisted; + + G4String emName; + G4VPhysicsConstructor* emPhysicsList; + G4VPhysicsConstructor* decPhysicsList; + std::vector hadronPhys; + + G4StepLimiter* stepMaxProcess; + + MicrobeamPhysicsListMessenger* pMessenger; }; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif - - diff --git a/examples/advanced/microbeam/include/MicrobeamPhysicsListMessenger.hh b/examples/advanced/microbeam/include/MicrobeamPhysicsListMessenger.hh new file mode 100644 index 0000000000..f20aa1f0f0 --- /dev/null +++ b/examples/advanced/microbeam/include/MicrobeamPhysicsListMessenger.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: MicrobeamPhysicsListMessenger.hh,v 1.1 2010/06/09 18:13:46 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef MicrobeamPhysicsListMessenger_h +#define MicrobeamPhysicsListMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class MicrobeamPhysicsList; +class G4UIdirectory; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class MicrobeamPhysicsListMessenger: public G4UImessenger +{ + public: + + MicrobeamPhysicsListMessenger(MicrobeamPhysicsList* ); + ~MicrobeamPhysicsListMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + + MicrobeamPhysicsList* pPhysicsList; + + G4UIdirectory* physDir; + G4UIcmdWithADoubleAndUnit* gammaCutCmd; + G4UIcmdWithADoubleAndUnit* electCutCmd; + G4UIcmdWithADoubleAndUnit* protoCutCmd; + G4UIcmdWithADoubleAndUnit* allCutCmd; + G4UIcmdWithAString* pListCmd; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/microbeam/include/MicrobeamRunAction.hh b/examples/advanced/microbeam/include/MicrobeamRunAction.hh index 60d76ba470..3fe0bdd8ce 100755 --- a/examples/advanced/microbeam/include/MicrobeamRunAction.hh +++ b/examples/advanced/microbeam/include/MicrobeamRunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: MicrobeamRunAction.hh,v 1.5 2006/06/29 16:05:13 gunter Exp $ +// $Id: MicrobeamRunAction.hh,v 1.6 2010/10/07 14:03:11 sincerti Exp $ // ------------------------------------------------------------------- #ifndef MicrobeamRunAction_h @@ -34,6 +34,7 @@ #include "G4ThreeVector.hh" #include "MicrobeamDetectorConstruction.hh" +#include "MicrobeamHistoManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -43,7 +44,7 @@ class MicrobeamRunAction : public G4UserRunAction { public: - MicrobeamRunAction(MicrobeamDetectorConstruction*); + MicrobeamRunAction(MicrobeamDetectorConstruction*, MicrobeamHistoManager*); ~MicrobeamRunAction(); void BeginOfRunAction(const G4Run*); @@ -80,6 +81,7 @@ public: private: MicrobeamDetectorConstruction* Detector; + MicrobeamHistoManager* Histo; MicrobeamPhantomConfiguration myMicrobeamPhantomConfiguration; G4int saveRndm; diff --git a/examples/advanced/microbeam/include/MicrobeamSteppingAction.hh b/examples/advanced/microbeam/include/MicrobeamSteppingAction.hh index 4c8a96e81c..5d34e0718c 100755 --- a/examples/advanced/microbeam/include/MicrobeamSteppingAction.hh +++ b/examples/advanced/microbeam/include/MicrobeamSteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: MicrobeamSteppingAction.hh,v 1.5 2006/06/29 16:05:15 gunter Exp $ +// $Id: MicrobeamSteppingAction.hh,v 1.6 2010/10/07 14:03:11 sincerti Exp $ // ------------------------------------------------------------------- #ifndef MicrobeamSteppingAction_h @@ -34,13 +34,15 @@ #include "MicrobeamRunAction.hh" #include "MicrobeamDetectorConstruction.hh" +#include "MicrobeamHistoManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... class MicrobeamSteppingAction : public G4UserSteppingAction { public: - MicrobeamSteppingAction(MicrobeamRunAction* ,MicrobeamDetectorConstruction*); + MicrobeamSteppingAction(MicrobeamRunAction* ,MicrobeamDetectorConstruction*, + MicrobeamHistoManager *); ~MicrobeamSteppingAction(); void UserSteppingAction(const G4Step*); @@ -48,6 +50,7 @@ public: private: MicrobeamRunAction* Run; MicrobeamDetectorConstruction* Detector; + MicrobeamHistoManager* Histo; G4float massPhantom; }; diff --git a/examples/advanced/microbeam/microbeam.mac b/examples/advanced/microbeam/microbeam.mac index fde1967895..dd3977e502 100755 --- a/examples/advanced/microbeam/microbeam.mac +++ b/examples/advanced/microbeam/microbeam.mac @@ -1,13 +1,15 @@ -#/vis/scene/create -#/vis/scene/add/volume -#/vis/sceneHandler/create OGLIX - -#/vis/viewer/create -#/vis/viewer/zoom 2000000 -#/vis/viewer/set/viewpointVector 400 0 105.79 - /tracking/storeTrajectory 1 -#/vis/scene/endOfEventAction accumulate + +/microbeam/phys/addPhysics emlivermore +/microbeam/phys/addPhysics binary +/microbeam/phys/addPhysics binary_ion + +/run/initialize + +/process/inactivate nuclearStopping + +# Uncomment this line of you want visualization +#/control/execute vis.mac /tracking/verbose 0 /run/verbose 0 diff --git a/examples/advanced/microbeam/microbeam.out b/examples/advanced/microbeam/microbeam.out index 473f7e705c..e69de29bb2 100644 --- a/examples/advanced/microbeam/microbeam.out +++ b/examples/advanced/microbeam/microbeam.out @@ -1,363 +0,0 @@ - - ############################################ - !!! 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 - - - -***** Table : Nb of materials = 16 ***** - - Material: Vacuum density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 113804112.800 pc Imean: 21.800 eV temperature: 273.15 K pressure: 1.00 atm - ---> Element: Vacuum ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - - Material: H2O density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 70.893 eV - ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - - Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.680 m Imean: 85.684 eV temperature: 293.16 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: LPAir density: 0.000 kg/m3 RadL: 56273234.858 km Nucl.Int.Length: 135377105.890 km Imean: 87.308 eV temperature: 293.16 K pressure: 1.00 atm - ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 71.50 % ElmAbundance 75.57 % - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 25.00 % ElmAbundance 23.14 % - ---> Element: Argon (Ar) Z = 18.0 N = 39.9 A = 39.95 g/mole ElmMassFraction: 3.50 % ElmAbundance 1.30 % - - Material: Pl density: 21.400 g/cm3 RadL: 3.058 mm Nucl.Int.Length: 9.486 cm Imean: 787.800 eV - ---> Element: Pl ( ) Z = 78.0 N = 195.1 A = 195.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - - Material: Butane density: 0.026 kg/m3 RadL: 17.729 km Nucl.Int.Length: 25.686 km Imean: 53.612 eV temperature: 293.16 K pressure: 0.01 atm - ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 82.63 % ElmAbundance 28.57 % - ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 17.37 % ElmAbundance 71.43 % - - Material: Polyprop density: 900.000 mg/cm3 RadL: 49.764 cm Nucl.Int.Length: 75.179 cm Imean: 56.713 eV - ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 85.60 % ElmAbundance 33.33 % - ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 14.40 % ElmAbundance 66.67 % - - Material: Si3N4 density: 3.440 g/cm3 RadL: 7.644 cm Nucl.Int.Length: 28.008 cm Imean: 128.542 eV - ---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 60.06 % ElmAbundance 42.86 % - ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 39.94 % ElmAbundance 57.14 % - - Material: SiO2 density: 2.500 g/cm3 RadL: 10.819 cm Nucl.Int.Length: 38.343 cm Imean: 126.007 eV - ---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 46.74 % ElmAbundance 33.33 % - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 53.26 % ElmAbundance 66.67 % - - Material: Laiton density: 8.500 g/cm3 RadL: 1.487 cm Nucl.Int.Length: 16.512 cm Imean: 325.993 eV - ---> Element: Cuivre (Cu) Z = 29.0 N = 63.5 A = 63.55 g/mole ElmMassFraction: 49.28 % ElmAbundance 50.00 % - ---> Element: Zinc (Zn) Z = 30.0 N = 65.4 A = 65.41 g/mole ElmMassFraction: 50.72 % ElmAbundance 50.00 % - - Material: Cytoplasm1 density: 1.000 g/cm3 RadL: 48.413 cm Nucl.Int.Length: 46.131 cm Imean: 31.293 eV - ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 59.60 % ElmAbundance 95.53 % - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 24.24 % ElmAbundance 2.45 % - ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 11.11 % ElmAbundance 1.50 % - ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 4.04 % ElmAbundance 0.47 % - ---> Element: Phosphorus (P) Z = 15.0 N = 31.0 A = 30.97 g/mole ElmMassFraction: 1.01 % ElmAbundance 0.05 % - - Material: Cytoplasm2 density: 10.000 g/cm3 RadL: 3.619 cm Nucl.Int.Length: 7.563 cm Imean: 71.338 eV - ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 10.64 % ElmAbundance 64.80 % - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 74.50 % ElmAbundance 28.64 % - ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 9.04 % ElmAbundance 4.63 % - ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 3.21 % ElmAbundance 1.41 % - ---> Element: Phosphorus (P) Z = 15.0 N = 31.0 A = 30.97 g/mole ElmMassFraction: 2.61 % ElmAbundance 0.52 % - - Material: Cytoplasm3 density: 1.000 g/cm3 RadL: 48.413 cm Nucl.Int.Length: 46.131 cm Imean: 31.293 eV - ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 59.60 % ElmAbundance 95.53 % - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 24.24 % ElmAbundance 2.45 % - ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 11.11 % ElmAbundance 1.50 % - ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 4.04 % ElmAbundance 0.47 % - ---> Element: Phosphorus (P) Z = 15.0 N = 31.0 A = 30.97 g/mole ElmMassFraction: 1.01 % ElmAbundance 0.05 % - - Material: Nucleus1 density: 1.000 g/cm3 RadL: 36.185 cm Nucl.Int.Length: 75.626 cm Imean: 71.338 eV - ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 10.64 % ElmAbundance 64.80 % - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 74.50 % ElmAbundance 28.64 % - ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 9.04 % ElmAbundance 4.63 % - ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 3.21 % ElmAbundance 1.41 % - ---> Element: Phosphorus (P) Z = 15.0 N = 31.0 A = 30.97 g/mole ElmMassFraction: 2.61 % ElmAbundance 0.52 % - - Material: Nucleus2 density: 1.100 g/cm3 RadL: 32.896 cm Nucl.Int.Length: 68.751 cm Imean: 71.338 eV - ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 10.64 % ElmAbundance 64.80 % - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 74.50 % ElmAbundance 28.64 % - ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 9.04 % ElmAbundance 4.63 % - ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 3.21 % ElmAbundance 1.41 % - ---> Element: Phosphorus (P) Z = 15.0 N = 31.0 A = 30.97 g/mole ElmMassFraction: 2.61 % ElmAbundance 0.52 % - - Material: Nucleus3 density: 1.000 g/cm3 RadL: 36.185 cm Nucl.Int.Length: 75.626 cm Imean: 71.338 eV - ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 10.64 % ElmAbundance 64.80 % - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 74.50 % ElmAbundance 28.64 % - ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 9.04 % ElmAbundance 4.63 % - ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 3.21 % ElmAbundance 1.41 % - ---> Element: Phosphorus (P) Z = 15.0 N = 31.0 A = 30.97 g/mole ElmMassFraction: 2.61 % ElmAbundance 0.52 % - - - ==========> The phantom contains 53480 voxels - -MicrobeamPhysicsList::SetCuts:CutLength : 10 nm - -phot: for gamma SubType= 12 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - LivermorePhElectric : Emin= 0 eV Emax= 100 GeV - PhotoElectric : Emin= 100 GeV Emax= 10 TeV - -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 - -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 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= 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV - -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 - -msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - 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) -============================================================================================ - -========= 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 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 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 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 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 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 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 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 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 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 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 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 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 proton 0 fm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV - Region(s) which use this couple : - DefaultRegionForTheWorld - -==================================================================== - --> Event # 1 generated - ===> Sorry, the incident alpha particle has missed the targeted cell ! - -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. --> Event # 2 generated - ===> 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 - ===> Sorry, the incident alpha particle has missed the targeted cell ! - --> Event # 5 generated - ===> 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.37929552793503 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.073292337357998 - --> Event # 7 generated - ===> 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.31207606196404 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.077978290617466 - --> Event # 9 generated - ===> Sorry, the incident alpha particle has missed the targeted cell ! - --> Event # 10 generated - ===> 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 : 4 - -Idle> Graphics systems deleted. -Visualization Manager deleting... - diff --git a/examples/advanced/microbeam/plot.C b/examples/advanced/microbeam/plot.C index 057f1376f8..34ab4a56cb 100755 --- a/examples/advanced/microbeam/plot.C +++ b/examples/advanced/microbeam/plot.C @@ -1,5 +1,5 @@ // ------------------------------------------------------------------- -// $Id: plot.C,v 1.5 2009/04/30 10:23:57 sincerti Exp $ +// $Id: plot.C,v 1.6 2010/10/07 14:03:11 sincerti Exp $ // ------------------------------------------------------------------- // // ********************************************************************* @@ -23,156 +23,15 @@ gStyle->SetOptFit(); gStyle->SetPalette(1); gROOT->SetStyle("Plain"); Double_t scale; - + + c1 = new TCanvas ("c1","",20,20,1200,900); c1.Divide(4,3); -FILE * fp = fopen("dose.txt","r"); -Float_t nD,cD; -Int_t ncols=0; -Int_t nlines = 0; - -TH1F *h1 = new TH1F("Absorbed dose distribution in Nucleus","Dose distribution in Nucleus",100,0.001,0.5); -TH1F *h10 = new TH1F("Absorbed dose distribution in Cytoplasm","Dose distribution in Cytoplasm",100,0.001,0.2); - -while (1) - { - ncols = fscanf(fp,"%f %f",&nD,&cD); - if (ncols < 0) break; - h1->Fill(nD); - h10->Fill(cD); - nlines++; - } -fclose(fp); - -c1.cd(2); - scale = 1/h1->Integral(); - h1->Scale(scale); - h1->Draw(); - h1->GetXaxis()->SetLabelSize(0.025); - h1->GetYaxis()->SetLabelSize(0.025); - h1->GetXaxis()->SetTitleSize(0.035); - h1->GetYaxis()->SetTitleSize(0.035); - h1->GetXaxis()->SetTitleOffset(1.4); - h1->GetYaxis()->SetTitleOffset(1.4); - h1->GetXaxis()->SetTitle("Absorbed dose (Gy)"); - h1->GetYaxis()->SetTitle("Fraction of events"); - h1->SetLineColor(3); - h1->SetFillColor(3); - -//***************** -// DOSE IN CYTOPLASM -//***************** - -c1.cd(6); - scale = 1/h10->Integral(); - h10->Scale(scale); - h10->Draw(); - h10->GetXaxis()->SetLabelSize(0.025); - h10->GetYaxis()->SetLabelSize(0.025); - h10->GetXaxis()->SetTitleSize(0.035); - h10->GetYaxis()->SetTitleSize(0.035); - h10->GetXaxis()->SetTitleOffset(1.4); - h10->GetYaxis()->SetTitleOffset(1.4); - h10->GetXaxis()->SetTitle("Absorbed dose (Gy)"); - h10->GetYaxis()->SetTitle("Fraction of events"); - h10->SetLineColor(2); - h10->SetFillColor(2); - -//******************************** -// STOPPING POWER AT CELL ENTRANCE -//******************************** - -gStyle->SetOptStat(0000); -gStyle->SetOptFit(); -gStyle->SetPalette(1); -gROOT->SetStyle("Plain"); - -Float_t d; -FILE * fp = fopen("stoppingPower.txt","r"); - -TH1F *h2 = new TH1F("Beam stopping Power at cell entrance","h1",200,0,300); -while (1) - { - ncols = fscanf(fp,"%f",&d); - if (ncols < 0) break; - h2->Fill(d); - nlines++; - } -fclose(fp); - -c1.cd(9); - scale = 1/h2->Integral(); - h2->Scale(scale); - h2->Draw(); - h2->GetXaxis()->SetLabelSize(0.025); - h2->GetYaxis()->SetLabelSize(0.025); - h2->GetXaxis()->SetTitleSize(0.035); - h2->GetYaxis()->SetTitleSize(0.035); - h2->GetXaxis()->SetTitleOffset(1.4); - h2->GetYaxis()->SetTitleOffset(1.4); - h2->GetXaxis()->SetTitle("dE/dx (keV/µm)"); - h2->GetYaxis()->SetTitle("Fraction of events"); - h2->SetTitle("dE/dx at cell entrance"); - h2->SetFillColor(4); - h2->SetLineColor(4); - h2->Fit("gaus"); - gaus->SetLineColor(6); - h2->Fit("gaus"); - -//************** -// RANGE IN CELL -//************** - -Float_t Xc,Zc,X1,Y1,Z1,x,z,X2,Y2,Z2; -Float_t d; - -// X position of target in World -Xc = -1295.59e3 - 955e3*sin(10*TMath::Pi()/180); - -// Z position of target in World -Zc = -1327e3 + 955e3*cos(10*TMath::Pi()/180); - -// Line alignment (cf MicrobeamEMField.cc) -Xc = Xc + 5.24*cos(10*TMath::Pi()/180); -Zc = Zc + 5.24*sin(10*TMath::Pi()/180); - -FILE * fp = fopen("range.txt","r"); - -TNtuple *ntuple = new TNtuple("Rmax","ntuple","Z2:Y2:X2"); - -while (1) - { - ncols = fscanf(fp,"%f %f %f",&X1,&Y1,&Z1); - if (ncols < 0) break; - x = X1-Xc; - z = Z1-Zc; - Z2 = z*cos(10*TMath::Pi()/180)-x*sin(10*TMath::Pi()/180); - X2 = z*sin(10*TMath::Pi()/180)+x*cos(10*TMath::Pi()/180); - Y2 = Y1; - - ntuple->Fill(Z2,Y2,X2); - nlines++; - } -fclose(fp); - -c1.cd(10); - ntuple->Draw("X2:Z2","abs(X2)<50","surf3"); - gPad->SetLogz(); - htemp->GetXaxis()->SetLabelSize(0.025); - htemp->GetYaxis()->SetLabelSize(0.025); - htemp->GetZaxis()->SetLabelSize(0.025); - htemp->GetXaxis()->SetTitleSize(0.035); - htemp->GetYaxis()->SetTitleSize(0.035); - htemp->GetXaxis()->SetTitleOffset(1.4); - htemp->GetYaxis()->SetTitleOffset(1.4); - htemp->GetXaxis()->SetTitle("Z (µm)"); - htemp->GetYaxis()->SetTitle("X (µm)"); - htemp->SetTitle("Range in cell"); - //********************* // INTENSITY HISTOGRAMS //********************* +jump: FILE * fp = fopen("phantom.dat","r"); Float_t xVox, yVox, zVox, tmp, den, dose; @@ -188,8 +47,8 @@ TH1F *h2 = new TH1F("h2","Cytoplasm marker intensity",100,1,300); TH1F *h20 = new TH1F("h20 ","",100,1,300); TNtuple *ntupleYXN = new TNtuple("NUCLEUS","ntuple","Y:X:vox"); -TNtuple *ntupleZX = new TNtuple("CYTOPASM","ntuple","Z:X:vox"); -TNtuple *ntupleYX = new TNtuple("CYTOPASM","ntuple","Y:X:vox"); +TNtuple *ntupleZX = new TNtuple("CYTOPLASM","ntuple","Z:X:vox"); +TNtuple *ntupleYX = new TNtuple("CYTOPLASM","ntuple","Y:X:vox"); nlines=0; ncols=0; @@ -307,39 +166,161 @@ c1.cd(3); // axe YX hist->GetYaxis()->SetTitle("X (µm)"); hist->SetTitle("Nucleus intensity on transverse section"); +// + +TFile f("microbeam.root"); + +TNtuple* ntuple0; +TNtuple* ntuple1; +TNtuple* ntuple2; +TNtuple* ntuple3; +TNtuple* ntuple4; + +ntuple0 = (TNtuple*)f->Get("ntuple0"); +ntuple1 = (TNtuple*)f->Get("ntuple1"); +ntuple2 = (TNtuple*)f->Get("ntuple2"); +ntuple3 = (TNtuple*)f->Get("ntuple3"); +ntuple4 = (TNtuple*)f->Get("ntuple4"); + +TH1F *h1 = new TH1F("h1","Dose distribution in Nucleus",100,0.001,1.); +TH1F *h10 = new TH1F("h10","Dose distribution in Cytoplasm",100,0.001,.2); + +c1.cd(2); + + ntuple3->Project("h1","doseN"); + scale = 1/h1->Integral(); + h1->Scale(scale); + h1->Draw(); + h1->GetXaxis()->SetLabelSize(0.025); + h1->GetYaxis()->SetLabelSize(0.025); + h1->GetXaxis()->SetTitleSize(0.035); + h1->GetYaxis()->SetTitleSize(0.035); + h1->GetXaxis()->SetTitleOffset(1.4); + h1->GetYaxis()->SetTitleOffset(1.4); + h1->GetXaxis()->SetTitle("Absorbed dose (Gy)"); + h1->GetYaxis()->SetTitle("Fraction of events"); + h1->SetLineColor(3); + h1->SetFillColor(3); + +//***************** +// DOSE IN CYTOPLASM +//***************** + +c1.cd(6); + ntuple3->Project("h10","doseC"); + scale = 1/h10->Integral(); + h10->Scale(scale); + h10->Draw(); + h10->GetXaxis()->SetLabelSize(0.025); + h10->GetYaxis()->SetLabelSize(0.025); + h10->GetXaxis()->SetTitleSize(0.035); + h10->GetYaxis()->SetTitleSize(0.035); + h10->GetXaxis()->SetTitleOffset(1.4); + h10->GetYaxis()->SetTitleOffset(1.4); + h10->GetXaxis()->SetTitle("Absorbed dose (Gy)"); + h10->GetYaxis()->SetTitle("Fraction of events"); + h10->SetLineColor(2); + h10->SetFillColor(2); + +//******************************** +// STOPPING POWER AT CELL ENTRANCE +//******************************** + +gStyle->SetOptStat(0000); +gStyle->SetOptFit(); +gStyle->SetPalette(1); +gROOT->SetStyle("Plain"); + +Float_t d; + +TH1F *h2 = new TH1F("h2","Beam stopping power at cell entrance",200,0,300); + +c1.cd(9); + ntuple0->Project("h2","sp"); + scale = 1/h2->Integral(); + h2->Scale(scale); + h2->Draw(); + h2->GetXaxis()->SetLabelSize(0.025); + h2->GetYaxis()->SetLabelSize(0.025); + h2->GetXaxis()->SetTitleSize(0.035); + h2->GetYaxis()->SetTitleSize(0.035); + h2->GetXaxis()->SetTitleOffset(1.4); + h2->GetYaxis()->SetTitleOffset(1.4); + h2->GetXaxis()->SetTitle("dE/dx (keV/µm)"); + h2->GetYaxis()->SetTitle("Fraction of events"); + h2->SetTitle("dE/dx at cell entrance"); + h2->SetFillColor(4); + h2->SetLineColor(4); + h2->Fit("gaus"); + gaus->SetLineColor(6); + h2->Fit("gaus"); + + +//************** +// RANGE IN CELL +//************** + +Double_t Xc,Zc,X1,Y1,Z1,X2,Y2,Z2; + +// X position of target in World +Xc = -1295.59e3 - 955e3*sin(10*TMath::Pi()/180); + +// Z position of target in World +Zc = -1327e3 + 955e3*cos(10*TMath::Pi()/180); + +// Line alignment (cf MicrobeamEMField.cc) +Xc = Xc + 5.24*cos(10*TMath::Pi()/180); +Zc = Zc + 5.24*sin(10*TMath::Pi()/180); + +TNtuple *ntupleR = new TNtuple("Rmax","ntuple","Z2:Y2:X2"); +Double_t x,y,z,xx,zz; +ntuple2->SetBranchAddress("x",&x); +ntuple2->SetBranchAddress("y",&y); +ntuple2->SetBranchAddress("z",&z); +Int_t nentries = (Int_t)ntuple2->GetEntries(); +for (Int_t i=0;iGetEntry(i); + X1=x; + Y1=y; + Z1=z; + xx = X1-Xc; + zz = Z1-Zc; + Z2 = zz*cos(10*TMath::Pi()/180)-xx*sin(10*TMath::Pi()/180); + X2 = zz*sin(10*TMath::Pi()/180)+xx*cos(10*TMath::Pi()/180); + Y2 = Y1; + ntupleR->Fill(Z2,Y2,X2); +} + +c1.cd(10); + ntupleR->Draw("X2:Z2","abs(X2)<50","surf3"); + gPad->SetLogz(); + /* + htemp->GetXaxis()->SetLabelSize(0.025); + htemp->GetYaxis()->SetLabelSize(0.025); + htemp->GetZaxis()->SetLabelSize(0.025); + htemp->GetXaxis()->SetTitleSize(0.035); + htemp->GetYaxis()->SetTitleSize(0.035); + htemp->GetXaxis()->SetTitleOffset(1.4); + htemp->GetYaxis()->SetTitleOffset(1.4); + htemp->GetXaxis()->SetTitle("Z (µm)"); + htemp->GetYaxis()->SetTitle("X (µm)"); + htemp->SetTitle("Range in cell"); + */ + //**************** // ENERGY DEPOSITS //**************** + gStyle->SetOptStat(0000); gStyle->SetOptFit(); gStyle->SetPalette(1); gROOT->SetStyle("Plain"); -FILE * fp = fopen("3DDose.txt","r"); - -TNtuple *ntuple2 = new TNtuple("CELL","ntuple","yVox:xVox:dose"); -TNtuple *ntuple3 = new TNtuple("CELL","ntuple","xVox:zVox:dose"); -TNtuple *ntuplezyx = new TNtuple("DOSE","ntuple","zVox:yVox:xVox:dose"); - -while (1) - { - ncols = fscanf(fp,"%f %f %f %f",&xVox, &yVox, &zVox, &dose); - if (ncols < 0) break; - - xVox= xVox*voxelSizeX; - yVox= yVox*voxelSizeY; - zVox= zVox*voxelSizeZ; - - ntuple2->Fill(yVox,xVox,dose); - ntuple3->Fill(xVox,zVox,dose); - ntuplezyx->Fill(zVox,yVox,xVox,dose); - } -fclose(fp); - c1.cd(11); TH2F *hist = new TH2F("hist","hist",50,-20,20,50,-20,20); - ntuple2->Draw("yVox:xVox>>hist","dose","contz"); + ntuple4->Draw("y*0.359060:x*0.359060>>hist","doseV","contz"); gPad->SetLogz(); hist->Draw("contz"); hist->GetXaxis()->SetLabelSize(0.025); @@ -352,10 +333,11 @@ c1.cd(11); hist->GetXaxis()->SetTitle("Y (µm)"); hist->GetYaxis()->SetTitle("X (µm)"); hist->SetTitle("Mean energy deposit -transverse- (z axis in eV)"); + c1.cd(12); TH2F *hist = new TH2F("hist","hist",50,-20,20,50,-20,20); - ntuple3->Draw("xVox:zVox>>hist","dose","contz"); + ntuple4->Draw("x*0.359060:z*0.162810>>hist","doseV","contz"); gPad->SetLogz(); hist->Draw("contz"); hist->GetXaxis()->SetLabelSize(0.025); @@ -378,23 +360,12 @@ gStyle->SetOptFit(); gStyle->SetPalette(1); gROOT->SetStyle("Plain"); -Float_t bx, by; -FILE * fp = fopen("beamPosition.txt","r"); - -TH1F *h77 = new TH1F("Beam X transverse position at cell entrance","h1",200,-10,10); -TH1F *h88 = new TH1F("Beam Y transverse position at cell entrance","h1",200,-10,10); -while (1) - { - ncols = fscanf(fp,"%f %f",&bx, &by); - if (ncols < 0) break; - h77->Fill(bx); - h88->Fill(by); - nlines++; - } -fclose(fp); - +TH1F *h77 = new TH1F("hx","h1",200,-10,10); +TH1F *h88 = new TH1F("hy","h1",200,-10,10); + c1.cd(4); - scale = 1/h77->Integral(); + ntuple1->Project("hx","x"); + scale = 1/h77->Integral(); h77->Scale(scale); h77->Draw(); h77->GetXaxis()->SetLabelSize(0.025); @@ -412,7 +383,8 @@ c1.cd(4); h77->Fit("gaus"); c1.cd(8); - scale = 1/h88->Integral(); + ntuple1->Project("hy","y"); + scale = 1/h88->Integral(); h88->Scale(scale); h88->Draw(); h88->GetXaxis()->SetLabelSize(0.025); diff --git a/examples/advanced/microbeam/src/MicrobeamEventAction.cc b/examples/advanced/microbeam/src/MicrobeamEventAction.cc index 160d0a0377..b744883634 100755 --- a/examples/advanced/microbeam/src/MicrobeamEventAction.cc +++ b/examples/advanced/microbeam/src/MicrobeamEventAction.cc @@ -24,22 +24,21 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: MicrobeamEventAction.cc,v 1.6 2006/06/29 16:05:29 gunter Exp $ +// $Id: MicrobeamEventAction.cc,v 1.9 2010/10/07 14:03:11 sincerti Exp $ // ------------------------------------------------------------------- #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "Randomize.hh" #include "MicrobeamEventAction.hh" #include "MicrobeamRunAction.hh" +#include "MicrobeamHistoManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -MicrobeamEventAction::MicrobeamEventAction(MicrobeamRunAction* run) - :Run(run),drawFlag("all"),printModulo(10000) +MicrobeamEventAction::MicrobeamEventAction(MicrobeamRunAction* run, +MicrobeamHistoManager * his) +:Run(run),Histo(his),drawFlag("all"),printModulo(10000) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -59,17 +58,17 @@ void MicrobeamEventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void MicrobeamEventAction::EndOfEventAction(const G4Event* evt) +void MicrobeamEventAction::EndOfEventAction(const G4Event* ) { // SAVE TOTAL ABSORBED DOSE IN PHANTOM if (Run->GetDoseN()>0 || Run->GetDoseC()>0) { - FILE* myFile; - myFile=fopen("dose.txt","a"); - fprintf(myFile,"%e %e\n",Run->GetDoseN(),Run->GetDoseC()); - fclose (myFile); + Histo->FillNtuple(3,0,Run->GetDoseN()); + Histo->FillNtuple(3,1,Run->GetDoseC()); + Histo->AddRowNtuple(3); + G4cout << " ===> The incident alpha particle has reached the targeted cell :" << G4endl; G4cout << " -----> total absorbed dose within Nucleus is (Gy) = " << Run->GetDoseN() << G4endl; G4cout << " -----> total absorbed dose within Cytoplasm is (Gy) = " << Run->GetDoseC() << G4endl; @@ -80,42 +79,4 @@ else G4cout << " ===> Sorry, the incident alpha particle has missed the targeted cell !" << G4endl; G4cout << G4endl; } - - -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(50); - } - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - { - trj->DrawTrajectory(50); - } - } - - //save rndm status - - /* - if (Run->GetRndmFreq() == 2) - { - HepRandom::saveEngineStatus("endOfEvent.rndm"); - G4int evtNb = evt->GetEventID(); - if (evtNb%printModulo == 0) - { - //G4cout << "\n---> End of Event: " << evtNb << G4endl; - //HepRandom::showEngineStatus(); - } - } - */ - } - } diff --git a/examples/advanced/microbeam/src/MicrobeamHistoManager.cc b/examples/advanced/microbeam/src/MicrobeamHistoManager.cc new file mode 100644 index 0000000000..2ec4e84ebd --- /dev/null +++ b/examples/advanced/microbeam/src/MicrobeamHistoManager.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: MicrobeamHistoManager.cc,v 1.2 2010/11/09 23:27:56 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "MicrobeamHistoManager.hh" +#include "G4UnitsTable.hh" + +#ifdef G4ANALYSIS_USE +#include "AIDA/AIDA.h" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +MicrobeamHistoManager::MicrobeamHistoManager() +:af(0),tree(0),factoryOn(false) +{ +#ifdef G4ANALYSIS_USE + // Creating the analysis factory + af = AIDA_createAnalysisFactory(); + if(!af) { + G4cout << " MicrobeamHistoManager::MicrobeamHistoManager() :" + << " problem creating the AIDA analysis factory." + << G4endl; + } +#endif + + fileName[0] = "microbeam"; + fileType = "root"; + fileOption = ""; + ntupl0=0; + ntupl1=0; + ntupl2=0; + ntupl3=0; + ntupl4=0; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +MicrobeamHistoManager::~MicrobeamHistoManager() +{ +#ifdef G4ANALYSIS_USE + delete af; +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void MicrobeamHistoManager::book() +{ +#ifdef G4ANALYSIS_USE + if(!af) return; + + // Creating a tree mapped to an hbook file. + fileName[1] = fileName[0] + "." + fileType; + G4bool readOnly = false; + G4bool createNew = true; + AIDA::ITreeFactory* tf = af->createTreeFactory(); + tree = tf->create(fileName[1], fileType, readOnly, createNew, fileOption); + delete tf; + if(!tree) { + G4cout << "MicrobeamHistoManager::book() :" + << " problem creating the AIDA tree with " + << " storeName = " << fileName[1] + << " storeType = " << fileType + << " readOnly = " << readOnly + << " createNew = " << createNew + << " options = " << fileOption + << G4endl; + return; + } + + // Creating a histogram & ntuplr factory + AIDA::IHistogramFactory* hf = af->createHistogramFactory(*tree); + AIDA::ITupleFactory* ntf = af->createTupleFactory(*tree); + + ntupl0 = ntf->create( "ntuple0", "Stopping power", "double e, sp"); + ntupl1 = ntf->create( "ntuple1", "Beam position", "double x, y"); + ntupl2 = ntf->create( "ntuple2", "Range", "double x, y, z"); + ntupl3 = ntf->create( "ntuple3", "Doses", "double doseN, doseC"); + ntupl4 = ntf->create( "ntuple4", "3D", "double x, y, z, doseV"); + factoryOn = true; + + delete hf; + delete ntf; + + if (factoryOn) + G4cout << "\n----> Histogram Tree is opened in " << fileName[1] << G4endl; +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void MicrobeamHistoManager::save() +{ +#ifdef G4ANALYSIS_USE + if (factoryOn) { + + 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 MicrobeamHistoManager::FillNtuple(G4int nt, G4int column, G4double value) +{ + if (nt >= MaxNtupl) { + G4cout << "---> warning from MicrobeamHistoManager::FillNtuple() : Ntuple " << nt + << " does not exist " << column << value << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if(nt==0) ntupl0->fill(column, value); + if(nt==1) ntupl1->fill(column, value); + if(nt==2) ntupl2->fill(column, value); + if(nt==3) ntupl3->fill(column, value); + if(nt==4) ntupl4->fill(column, value); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void MicrobeamHistoManager::AddRowNtuple(G4int nt) +{ + if (nt >= MaxNtupl) { + G4cout << "---> warning from MicrobeamHistoManager::AddRowNtuple() : Ntuple " << nt + << " do not exist" << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if(nt==0) ntupl0->addRow(); + if(nt==1) ntupl1->addRow(); + if(nt==2) ntupl2->addRow(); + if(nt==3) ntupl3->addRow(); + if(nt==4) ntupl4->addRow(); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/advanced/microbeam/src/MicrobeamPhantomConfiguration.cc b/examples/advanced/microbeam/src/MicrobeamPhantomConfiguration.cc index 6774249561..e3313ff6b0 100755 --- a/examples/advanced/microbeam/src/MicrobeamPhantomConfiguration.cc +++ b/examples/advanced/microbeam/src/MicrobeamPhantomConfiguration.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: MicrobeamPhantomConfiguration.cc,v 1.6 2008/06/16 07:46:11 sincerti Exp $ +// $Id: MicrobeamPhantomConfiguration.cc,v 1.9 2010/06/25 09:41:03 gunter Exp $ // ------------------------------------------------------------------- #include "MicrobeamPhantomConfiguration.hh" @@ -54,7 +54,8 @@ MicrobeamPhantomConfiguration::~MicrobeamPhantomConfiguration() G4int MicrobeamPhantomConfiguration::Initialize() { G4int ncols; - G4float vx, vy, vz, tmp, mat, den, density; + G4float vx, vy, vz, tmp, density; + G4int den, mat; G4float denCyto1, denCyto2, denCyto3, denNucl1, denNucl2, denNucl3; FILE* fMap; @@ -66,6 +67,7 @@ G4int MicrobeamPhantomConfiguration::Initialize() { dz=0; nucleusMass=0; cytoplasmMass=0; + density=0; // READ PHANTOM PARAMETERS fMap = fopen("phantom.dat","r"); @@ -82,21 +84,21 @@ G4int MicrobeamPhantomConfiguration::Initialize() { for (G4int i=0; iConstructParticle(); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void MicrobeamPhysicsList::ConstructBosons() -{ - // gamma - G4Gamma::GammaDefinition(); - - // optical photon - G4OpticalPhoton::OpticalPhotonDefinition(); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void MicrobeamPhysicsList::ConstructLeptons() -{ - // leptons - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void MicrobeamPhysicsList::ConstructBaryons() -{ - // baryons - G4BaryonConstructor bConstructor; - bConstructor.ConstructParticle(); - - G4IonConstructor iConstructor; - iConstructor.ConstructParticle(); - - G4MesonConstructor mConstructor; - mConstructor.ConstructParticle(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void MicrobeamPhysicsList::ConstructProcess() { + // transportation + // AddTransportation(); - ConstructEM(); - ConstructHad(); - ConstructGeneral(); + + // electromagnetic physics list + // + emPhysicsList->ConstructProcess(); + + // decay physics list + // + decPhysicsList->ConstructProcess(); + + // hadronic physics lists + for(size_t i=0; iConstructProcess(); + } + + // step limitation (as a full process) + // + AddStepMax(); + } -// *** Processes and models +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// gamma +void MicrobeamPhysicsList::AddPhysicsList(const G4String& name) +{ + if (verboseLevel>1) { + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; + } -#include "G4PhotoElectricEffect.hh" -#include "G4LivermorePhotoElectricModel.hh" + if (name == emName) return; -#include "G4ComptonScattering.hh" -#include "G4LivermoreComptonModel.hh" + if (name == "emstandard_opt0") { -#include "G4GammaConversion.hh" -#include "G4LivermoreGammaConversionModel.hh" + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics(1); -#include "G4RayleighScattering.hh" -#include "G4LivermoreRayleighModel.hh" + } else if (name == "emstandard_opt1") { -// e- + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option1(); -#include "G4eMultipleScattering.hh" -#include "G4UniversalFluctuation.hh" + } else if (name == "emstandard_opt2") { -#include "G4eIonisation.hh" -#include "G4LivermoreIonisationModel.hh" + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option2(); + + } else if (name == "emstandard_opt3") { -#include "G4eBremsstrahlung.hh" -#include "G4LivermoreBremsstrahlungModel.hh" + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option3(); -// e+ + } else if (name == "emlivermore") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmLivermorePhysics(); -#include "G4eplusAnnihilation.hh" + } else if (name == "empenelope") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmPenelopePhysics(); -// mu + } else if (name == "ionGasModels") { -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" + AddPhysicsList("emstandard_opt3"); + emName = name; + AddIonGasModels(); -// hadrons + } else if (name == "elastic" && !helIsRegisted) { + hadronPhys.push_back( new G4HadronElasticPhysics()); + helIsRegisted = true; -#include "G4hMultipleScattering.hh" -#include "G4MscStepLimitType.hh" + } else if (name == "DElastic" && !helIsRegisted) { + hadronPhys.push_back( new G4HadronDElasticPhysics()); + helIsRegisted = true; -#include "G4hBremsstrahlung.hh" -#include "G4hPairProduction.hh" + } else if (name == "HElastic" && !helIsRegisted) { + hadronPhys.push_back( new G4HadronHElasticPhysics()); + helIsRegisted = true; -#include "G4hIonisation.hh" -#include "G4ionIonisation.hh" -#include "G4IonParametrisedLossModel.hh" + } else if (name == "QElastic" && !helIsRegisted) { + hadronPhys.push_back( new G4HadronQElasticPhysics()); + helIsRegisted = true; -// + } else if (name == "binary" && !bicIsRegisted) { + hadronPhys.push_back(new G4HadronInelasticQBBC()); + bicIsRegisted = true; -#include "G4LossTableManager.hh" -#include "G4EmProcessOptions.hh" + } else if (name == "binary_ion" && !biciIsRegisted) { + hadronPhys.push_back(new G4IonBinaryCascadePhysics()); + biciIsRegisted = true; + + } else { + + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" + << " is not defined" + << G4endl; + } +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void MicrobeamPhysicsList::ConstructEM() +void MicrobeamPhysicsList::AddStepMax() { + // Step limitation seen as a process + stepMaxProcess = new G4StepLimiter(); + theParticleIterator->reset(); - - while( (*theParticleIterator)() ){ - + while ((*theParticleIterator)()){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - - - G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); - G4LivermorePhotoElectricModel* theLivermorePhotoElectricModel = new G4LivermorePhotoElectricModel(); - thePhotoElectricEffect->AddEmModel(0, theLivermorePhotoElectricModel); - pmanager->AddDiscreteProcess(thePhotoElectricEffect); - - 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-") { - - G4eMultipleScattering* msc = new G4eMultipleScattering(); - msc->SetStepLimitType(fUseDistanceToBoundary); - pmanager->AddProcess(msc, -1, 1, 1); - - // 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+") { - - // 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 G4eBremsstrahlung, -1,-3, 3); - - pmanager->AddProcess(new G4eplusAnnihilation,0,-1, 4); - - pmanager->AddProcess(new G4StepLimiter(), -1, -1, 5); - - } else if (particleName == "GenericIon") { - - pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); - - 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); - } - - // + if (stepMaxProcess->IsApplicable(*particle) && pmanager) + { + pmanager ->AddDiscreteProcess(stepMaxProcess); + } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4HadronElasticProcess.hh" -#include "G4LElastic.hh" - -#include "G4AlphaInelasticProcess.hh" -#include "G4BinaryLightIonReaction.hh" -#include "G4TripathiCrossSection.hh" -#include "G4IonsShenCrossSection.hh" -#include "G4LEAlphaInelastic.hh" - -void MicrobeamPhysicsList::ConstructHad() -{ - - G4HadronElasticProcess * theElasticProcess = new G4HadronElasticProcess; - theElasticProcess->RegisterMe( new G4LElastic() ); - - theParticleIterator->reset(); - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pManager = particle->GetProcessManager(); - - if (particle->GetParticleName() == "alpha") - { - - // INELASTIC SCATTERING - // Binary Cascade - G4BinaryLightIonReaction* theBC = new G4BinaryLightIonReaction(); - theBC -> SetMinEnergy(80.*MeV); - theBC -> SetMaxEnergy(40.*GeV); - - // TRIPATHI CROSS SECTION - // Implementation of formulas in analogy to NASA technical paper 3621 by - // Tripathi, et al. Cross-sections for ion ion scattering - G4TripathiCrossSection* TripathiCrossSection = new G4TripathiCrossSection; - - // IONS SHEN CROSS SECTION - // Implementation of formulas - // Shen et al. Nuc. Phys. A 491 130 (1989) - // Total Reaction Cross Section for Heavy-Ion Collisions - G4IonsShenCrossSection* aShen = new G4IonsShenCrossSection; - - // Final state production model for Alpha inelastic scattering below 20 GeV - G4LEAlphaInelastic* theAIModel = new G4LEAlphaInelastic; - theAIModel -> SetMaxEnergy(100.*MeV); - - G4AlphaInelasticProcess * theIPalpha = new G4AlphaInelasticProcess; - theIPalpha->AddDataSet(TripathiCrossSection); - theIPalpha->AddDataSet(aShen); - - // Register the Alpha Inelastic and Binary Cascade Model - theIPalpha->RegisterMe(theAIModel); - theIPalpha->RegisterMe(theBC); - - // Activate the alpha inelastic scattering using the alpha inelastic and binary cascade model - pManager -> AddDiscreteProcess(theIPalpha); - - // Activate the Hadron Elastic Process - pManager -> AddDiscreteProcess(theElasticProcess); - - } - } - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void MicrobeamPhysicsList::ConstructGeneral() -{ } - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - void MicrobeamPhysicsList::SetCuts() { + if (verboseLevel >0){ - G4cout << "MicrobeamPhysicsList::SetCuts:"; + 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 + // because some processes for e+/e- need cut values for gamma SetCutValue(cutForGamma, "gamma"); SetCutValue(cutForElectron, "e-"); SetCutValue(cutForPositron, "e+"); - - if (verboseLevel>0) DumpCutValuesTable(); + if (verboseLevel>0) DumpCutValuesTable(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void MicrobeamPhysicsList::SetCutForGamma(G4double cut) +{ + cutForGamma = cut; + SetParticleCuts(cutForGamma, G4Gamma::Gamma()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void MicrobeamPhysicsList::SetCutForElectron(G4double cut) +{ + cutForElectron = cut; + SetParticleCuts(cutForElectron, G4Electron::Electron()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void MicrobeamPhysicsList::SetCutForPositron(G4double cut) +{ + cutForPositron = cut; + SetParticleCuts(cutForPositron, G4Positron::Positron()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void MicrobeamPhysicsList::AddIonGasModels() +{ + G4EmConfigurator* em_config = G4LossTableManager::Instance()->EmConfigurator(); + theParticleIterator->reset(); + while ((*theParticleIterator)()) + { + G4ParticleDefinition* particle = theParticleIterator->value(); + G4String partname = particle->GetParticleName(); + if(partname == "alpha" || partname == "He3" || partname == "GenericIon") { + G4BraggIonGasModel* mod1 = new G4BraggIonGasModel(); + G4BetheBlochIonGasModel* mod2 = new G4BetheBlochIonGasModel(); + G4double eth = 2.*MeV*particle->GetPDGMass()/proton_mass_c2; + em_config->SetExtraEmModel(partname,"ionIoni",mod1,"",0.0,eth, + new G4IonFluctuations()); + em_config->SetExtraEmModel(partname,"ionIoni",mod2,"",eth,100*TeV, + new G4UniversalFluctuation()); + + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/advanced/microbeam/src/MicrobeamPhysicsListMessenger.cc b/examples/advanced/microbeam/src/MicrobeamPhysicsListMessenger.cc new file mode 100644 index 0000000000..1827cb734a --- /dev/null +++ b/examples/advanced/microbeam/src/MicrobeamPhysicsListMessenger.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: MicrobeamPhysicsListMessenger.cc,v 1.1 2010/06/09 18:13:46 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "MicrobeamPhysicsListMessenger.hh" +#include "MicrobeamPhysicsList.hh" + +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +MicrobeamPhysicsListMessenger::MicrobeamPhysicsListMessenger(MicrobeamPhysicsList* pPhys) +:pPhysicsList(pPhys) +{ + physDir = new G4UIdirectory("/microbeam/phys/"); + physDir->SetGuidance("physics list commands"); + + gammaCutCmd = new G4UIcmdWithADoubleAndUnit("/microbeam/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("/microbeam/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("/microbeam/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("/microbeam/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("/microbeam/phys/addPhysics",this); + pListCmd->SetGuidance("Add modula physics list."); + pListCmd->SetParameterName("PList",false); + pListCmd->AvailableForStates(G4State_PreInit); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +MicrobeamPhysicsListMessenger::~MicrobeamPhysicsListMessenger() +{ + delete gammaCutCmd; + delete electCutCmd; + delete protoCutCmd; + delete allCutCmd; + delete pListCmd; + delete physDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void MicrobeamPhysicsListMessenger::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/microbeam/src/MicrobeamRunAction.cc b/examples/advanced/microbeam/src/MicrobeamRunAction.cc index a15843bcde..0679d18439 100755 --- a/examples/advanced/microbeam/src/MicrobeamRunAction.cc +++ b/examples/advanced/microbeam/src/MicrobeamRunAction.cc @@ -24,10 +24,9 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: MicrobeamRunAction.cc,v 1.6 2006/06/29 16:05:37 gunter Exp $ +// $Id: MicrobeamRunAction.cc,v 1.8 2010/11/17 20:37:42 allison Exp $ // ------------------------------------------------------------------- -#include "G4VVisManager.hh" #include "G4UImanager.hh" #include "Randomize.hh" @@ -35,8 +34,9 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -MicrobeamRunAction::MicrobeamRunAction(MicrobeamDetectorConstruction* det) -:Detector(det) +MicrobeamRunAction::MicrobeamRunAction(MicrobeamDetectorConstruction* det, +MicrobeamHistoManager * his) +:Detector(det),Histo(his) { saveRndm = 0; } @@ -54,6 +54,9 @@ MicrobeamRunAction::~MicrobeamRunAction() void MicrobeamRunAction::BeginOfRunAction(const G4Run* /*aRun*/) { + // Histograms + Histo->book(); + // save Rndm status if (saveRndm > 0) { @@ -88,9 +91,6 @@ void MicrobeamRunAction::BeginOfRunAction(const G4Run* /*aRun*/) void MicrobeamRunAction::EndOfRunAction(const G4Run* /*aRun*/) { - //drawing - if (G4VVisManager::GetConcreteInstance()) G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update"); - // save Rndm status if (saveRndm == 1) { @@ -98,17 +98,24 @@ void MicrobeamRunAction::EndOfRunAction(const G4Run* /*aRun*/) CLHEP::HepRandom::saveEngineStatus("endOfRun.rndm"); } - FILE *myFile; - myFile=fopen("3DDose.txt","a"); for (G4int i=0; iFillNtuple(4,0,v.x()); + Histo->FillNtuple(4,1,v.y()); + Histo->FillNtuple(4,2,v.z()); + Histo->FillNtuple(4,3,dose3DDose[i]/(GetNumEvent()+1)); + Histo->AddRowNtuple(4); + } } - fclose (myFile); - + G4cout << "-> Total number of particles detected by the gas detector : " << GetNbOfHitsGas() << G4endl; G4cout << G4endl; + + //save histograms + Histo->save(); + } diff --git a/examples/advanced/microbeam/src/MicrobeamSteppingAction.cc b/examples/advanced/microbeam/src/MicrobeamSteppingAction.cc index 08320c7fe3..e47d2070eb 100755 --- a/examples/advanced/microbeam/src/MicrobeamSteppingAction.cc +++ b/examples/advanced/microbeam/src/MicrobeamSteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: MicrobeamSteppingAction.cc,v 1.9 2008/06/16 07:46:11 sincerti Exp $ +// $Id: MicrobeamSteppingAction.cc,v 1.10 2010/10/07 14:03:11 sincerti Exp $ // ------------------------------------------------------------------- #include "G4SteppingManager.hh" @@ -35,8 +35,9 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -MicrobeamSteppingAction::MicrobeamSteppingAction(MicrobeamRunAction* run,MicrobeamDetectorConstruction* det) -:Run(run),Detector(det) +MicrobeamSteppingAction::MicrobeamSteppingAction(MicrobeamRunAction* run,MicrobeamDetectorConstruction* det, +MicrobeamHistoManager* his) +:Run(run),Detector(det),Histo(his) { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -85,16 +86,16 @@ if ( ((aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "Polypr ) { - if(aStep->GetTotalEnergyDeposit()>0) + if( (aStep->GetPreStepPoint()->GetKineticEnergy() - aStep->GetPostStepPoint()->GetKineticEnergy() ) >0) { - FILE *myFile; - myFile=fopen("stoppingPower.txt","a"); - fprintf(myFile,"%e \n", - (aStep->GetTotalEnergyDeposit()/keV)/(aStep->GetStepLength()/micrometer)); - fclose (myFile); + Histo->FillNtuple(0,0,aStep->GetPreStepPoint()->GetKineticEnergy()/keV); + Histo->FillNtuple(0,1, + (aStep->GetPreStepPoint()->GetKineticEnergy() - + aStep->GetPostStepPoint()->GetKineticEnergy())/ keV/(aStep->GetStepLength()/micrometer)); + Histo->AddRowNtuple(0); } - // Average dE over step syggested by Michel Maire + // Average dE over step suggested by Michel Maire G4StepPoint* p1 = aStep->GetPreStepPoint(); G4ThreeVector coord1 = p1->GetPosition(); @@ -110,15 +111,9 @@ if ( ((aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "Polypr // end - FILE *myFile; - myFile=fopen("beamPosition.txt","a"); - fprintf - ( - myFile,"%e %e \n", - localPosition.x()/micrometer, - localPosition.y()/micrometer - ); - fclose (myFile); + Histo->FillNtuple(1,0,localPosition.x()/micrometer); + Histo->FillNtuple(1,1,localPosition.y()/micrometer); + Histo->AddRowNtuple(1); } @@ -141,18 +136,14 @@ if ( ) { - FILE *myFile; - myFile=fopen("range.txt","a"); - fprintf - ( myFile,"%e %e %e\n", - (aStep->GetTrack()->GetPosition().x())/micrometer, - (aStep->GetTrack()->GetPosition().y())/micrometer, - (aStep->GetTrack()->GetPosition().z())/micrometer - ); - fclose (myFile); + Histo->FillNtuple(2,0,aStep->GetPostStepPoint()->GetPosition().x()/micrometer); + Histo->FillNtuple(2,1,aStep->GetPostStepPoint()->GetPosition().y()/micrometer); + Histo->FillNtuple(2,2,aStep->GetPostStepPoint()->GetPosition().z()/micrometer); + Histo->AddRowNtuple(2); } // TOTAL DOSE DEPOSIT AND DOSE DEPOSIT WITHIN A PHANTOM VOXEL +// FOR ALL PARTICLES if (aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "physicalNucleus") diff --git a/examples/advanced/microbeam/vis.mac b/examples/advanced/microbeam/vis.mac new file mode 100644 index 0000000000..b4181f8bb3 --- /dev/null +++ b/examples/advanced/microbeam/vis.mac @@ -0,0 +1,71 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify viewpoint: +/vis/viewer/set/viewpointVector 400 0 105.79 +# +# Specify target point (so a viewpoint rotation keeps it in view) +/vis/viewer/set/targetPoint -1461.42 0.0 -386.51 mm +# +# Specify zoom value: +/vis/viewer/zoom 2000000. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/advanced/microdosimetry/GNUmakefile b/examples/advanced/microdosimetry/GNUmakefile index e64b976a7c..a5697e5cff 100755 --- a/examples/advanced/microdosimetry/GNUmakefile +++ b/examples/advanced/microdosimetry/GNUmakefile @@ -1,5 +1,5 @@ # -------------------------------------------------------------- -# $Id: GNUmakefile,v 1.1 2008/06/04 12:58:23 sincerti Exp $ +# $Id: GNUmakefile,v 1.2 2010/01/11 16:13:32 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -10,7 +10,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif .PHONY: all diff --git a/examples/advanced/microdosimetry/History b/examples/advanced/microdosimetry/History index 95a3c7594a..b36e376d37 100644 --- a/examples/advanced/microdosimetry/History +++ b/examples/advanced/microdosimetry/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.12 2009/08/14 16:49:36 sincerti Exp $ +$Id: History,v 1.24 2010/11/18 11:48:21 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,40 @@ $Id: History,v 1.12 2009/08/14 16:49:36 sincerti Exp $ Package History file -------------------- +18 November 2010 - J. Allison - microdosimetry-V09-03-10 +- Introduced G4UIExecutive. + +12 November 2010 - S. Incerti - microdosimetry-V09-03-09 +- Modified energy limit of Sanche vib excitation for e- + +09 November 2010 - M. Asai - microdosimetry-V09-03-08 +- Fix AIDA file option. + +08 October 2010 - S. Incerti - microdosimetry-V09-03-07 +- added H excitation + +06 October 2010 - S. Incerti - microdosimetry-V09-03-06 +- update for production of histograms with AIDA + +13 September 2010 - S. Incerti - microdosimetry-V09-03-05 +- added new G4DNA electron processes +- updated SteppingAction and plot.C accordingly + +31 August 2010 - V.Ivanchenko - microdosimetry-V09-03-04 +- added electron capture process inside the target + +25 August 2010 - S. Incerti - microdosimetry-V09-03-03 +- switched to G4DNABornExcitationModel for electrons + +12 June 2010 - V.Ivanchenko - microdosimetry-V09-03-02 +- added target region and defined DNA physics for this region + +03 June 2010 - J.Perl - microdosimetry-V09-03-01 +- update vis usage + +25 March 2010 - G.Folger - microdosimetry-V09-03-00 +- do not use G4UItcsh on windows + 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) diff --git a/examples/advanced/microdosimetry/Microdosimetry.cc b/examples/advanced/microdosimetry/Microdosimetry.cc index 901f20bbd4..40ea8c6b76 100755 --- a/examples/advanced/microdosimetry/Microdosimetry.cc +++ b/examples/advanced/microdosimetry/Microdosimetry.cc @@ -24,27 +24,29 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: Microdosimetry.cc,v 1.1 2008/06/04 12:58:23 sincerti Exp $ +// $Id: Microdosimetry.cc,v 1.5 2010/11/18 11:48:21 allison Exp $ // ------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #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 "DetectorConstruction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" -#include "EventAction.hh" #include "SteppingAction.hh" #include "SteppingVerbose.hh" +#include "HistoManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -62,13 +64,13 @@ int main(int argc,char** argv) runManager->SetUserAction(new PrimaryGeneratorAction(detector)); PrimaryGeneratorAction* primary = new PrimaryGeneratorAction(detector); - // Set optional user action classes - RunAction* RunAct = new RunAction(detector); - runManager->SetUserAction(RunAct); - - runManager->SetUserAction(new EventAction(RunAct)); + HistoManager* histo = new HistoManager(); - runManager->SetUserAction(new SteppingAction(RunAct,detector,primary)); + // Set optional user action classes + RunAction* RunAct = new RunAction(detector,histo); + runManager->SetUserAction(RunAct); + + runManager->SetUserAction(new SteppingAction(RunAct,detector,primary,histo)); #ifdef G4VIS_USE G4VisManager* visManager = new G4VisExecutive; @@ -78,23 +80,25 @@ int main(int argc,char** argv) // Initialize G4 kernel runManager->Initialize(); - system ("rm -rf track.txt"); - + system ("rm -rf microbeam.root"); + // 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 = new G4UIterminal(new G4UItcsh); - UI->ApplyCommand("/control/execute microdosimetry.mac"); - session->SessionStart(); - delete session; +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + UImanager->ApplyCommand("/control/execute microdosimetry.mac"); + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } #ifdef G4VIS_USE diff --git a/examples/advanced/microdosimetry/README b/examples/advanced/microdosimetry/README index e01544131a..f11698852c 100644 --- a/examples/advanced/microdosimetry/README +++ b/examples/advanced/microdosimetry/README @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: README,v 1.6 2009/04/29 14:17:03 sincerti Exp $ +$Id: README,v 1.9 2010/10/08 10:01:35 sincerti Exp $ ------------------------------------------------------------------- ========================================================= @@ -11,64 +11,32 @@ $Id: README,v 1.6 2009/04/29 14:17:03 sincerti Exp $ CORRESPONDING AUTHOR -S. Incerti (a, *) et al. +S. Incerti (a, *), V. Ivanchenko. a. Centre d'Etudes Nucleaires de Bordeaux-Gradignan (CENBG), IN2P3 / CNRS / Bordeaux 1 University, 33175 Gradignan, France * e-mail:incerti@cenbg.in2p3.fr ---->0. INTRODUCTION. -The microdosimetry example simulates the track of a 10 keV Helium+ (positive -charge is +e) particle in liquid water using only Geant4-DNA processes. +The microdosimetry example simulates the track of a 50 MeV Helium+ (positive +charge is +e) in liquid water. Geant4 standard EM models are used in +the World volume while Geant4-DNA models are used in a Target volume. ---->1. GEOMETRY SET-UP. -The geometry is a 1 mm side cube of liquid water. +The geometry is a 1 mm side cube (World) made of liquid water containing a smaller cubic Target volume of liquid +water, which dimensions are ten times smaller than the dimensions of the World volume. ---->2. SET-UP -- a standard Geant4 example GNUmakefile is provided +Make sure G4LEDATA points to the low energy electromagnetic libraries. -setup with: -compiler = gcc-3.4.6 -G4SYSTEM = linux-g++ +The variable G4ANALYSIS_USE must be set to 1. -The following section gives the necessary environment variables. - -------->>2.1 ENVIRONMENT VARIABLES - -All variables are defined with their default value. - - - G4SYSTEM = Linux-g++ - - - G4INSTALL points to the installation directory of GEANT4; - - - G4LIB point to the compiled libraries of GEANT4; - - - G4WORKDIR points to the work directory; - - - CLHEP_BASE_DIR points to the installation directory of CHLEP; - - - G4LEDATA points to the low energy electromagnetic libraries; - - - LD_LIBRARY_PATH = $CLHEP_BASE_DIR/lib - - - G4LEVELGAMMADATA points to the photoevaporation library; - - - NeutronHPCrossSections points to the neutron data files; - - - G4RADIOACTIVEDATA points to the libraries for radio-active decay - hadronic processes; - -However, the $G4LEVELGAMMADATA, $NeutronHPCrossSections and $G4RADIOACTIVEDATA -variables do not need to be defined for this example. - -Once these variables have been set, simply type gmake to compile the -Microdosimetry example. - -------->>2.2 VISUALIZATION - -Visualization is not activated by default. +In order to generate histograms, at least one of the AIDA implementations should be + available. + +The code should be compiled with gmake. ---->3. HOW TO RUN THE EXAMPLE @@ -78,19 +46,24 @@ In interactive mode, run: The macro microdosimetry.mac is executed by default. -To get visualization, make sure to uncomment the /vis/... lines in the macro. +To get visualization, make sure to uncomment the #/control/execute vis.mac + line in the macro. ---->4. PHYSICS -This example shows how to use the Geant4-DNA processes AND how to affect them a -name. +This example shows: +- how to use the Geant4-DNA processes, +- how to affect them a name +- how to combine them with Standard EM Physics. + +A simple electron capture process is also provided in order to kill electrons +below a chosen energy threshold, set in the Physics list. Look at the PhyscisList.cc file. ---->5. SIMULATION OUTPUT AND RESULT ANALYZIS -This example does not need any external analysis package. -The output results consists in a track.txt file, containing at each line : +The output results consists in a microdosimetry.root file, containing for each simulation step: - the type of particle for the current step - the type of process for the current step - the track position of the current step (in nanometers) @@ -114,24 +87,36 @@ alpha+ : 5 helium : 6 -processes: -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 +e-_G4DNAElastic 11 +e-_G4DNAExcitation 12 +e-_G4DNAIonisation 13 +e-_G4DNAAttachment 14 +e-_G4DNAVibExcitation 15 +eCapture 16 + +proton_G4DNAExcitation 17 +proton_G4DNAIonisation 18 +proton_G4DNAChargeDecrease 19 + +hydrogen_G4DNAExcitation 20 +hydrogen_G4DNAIonisation 21 +hydrogen_G4DNAChargeIncrease 22 + +alpha_G4DNAExcitation 23 +alpha_G4DNAIonisation 24 +alpha_G4DNAChargeDecrease 25 + +alpha+_G4DNAExcitation 26 +alpha+_G4DNAIonisation 27 +alpha+_G4DNAChargeDecrease 28 +alpha+_G4DNAChargeIncrease 29 + +helium_G4DNAExcitation 30 +helium_G4DNAIonisation 31 +helium_G4DNAChargeIncrease 32 + +hIoni 33 +eIoni 34 --------------------------------------------------------------------------- diff --git a/examples/advanced/microdosimetry/include/DetectorConstruction.hh b/examples/advanced/microdosimetry/include/DetectorConstruction.hh index 398767b630..9636e453ff 100755 --- a/examples/advanced/microdosimetry/include/DetectorConstruction.hh +++ b/examples/advanced/microdosimetry/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: DetectorConstruction.hh,v 1.2 2009/08/13 11:41:04 sincerti Exp $ +// $Id: DetectorConstruction.hh,v 1.3 2010/06/12 09:38:06 vnivanch Exp $ // ------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -45,6 +45,8 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +class G4Region; + class DetectorConstruction : public G4VUserDetectorConstruction { public: @@ -66,6 +68,7 @@ private: G4Box* solidWorld; G4Material* waterMaterial; + G4Region* fRegion; void DefineMaterials(); diff --git a/examples/advanced/microdosimetry/include/G4ElectronCapture.hh b/examples/advanced/microdosimetry/include/G4ElectronCapture.hh new file mode 100644 index 0000000000..f41fe4fab4 --- /dev/null +++ b/examples/advanced/microdosimetry/include/G4ElectronCapture.hh @@ -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. * +// ******************************************************************** +// +// $Id: G4ElectronCapture.hh,v 1.1 2010/08/31 11:23:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4ElectronCapture +// +// Description: The process to kill e- to save CPU +// +// Author: V.Ivanchenko 31 August 2010 +// +//---------------------------------------------------------------------------- +// +// Class description: +// +// G4ElectronCapture allows to remove unwanted e- from simulation in +// order to improve CPU performance. There are two parameters: +// +// 1) low energy threshold for e- kinetic energy (default 0) +// 2) the name of G4Region where process is active +// +// +// If an electron track is killed then energy deposition is added to the step +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ElectronCapture_h +#define ElectronCapture_h 1 + +#include "G4VDiscreteProcess.hh" +#include "globals.hh" + +class G4Region; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class G4ElectronCapture : public G4VDiscreteProcess +{ +public: + + G4ElectronCapture(const G4String& regName, G4double ekinlimit); + + virtual ~G4ElectronCapture(); + + void SetKinEnergyLimit(G4double); + + virtual void BuildPhysicsTable(const G4ParticleDefinition&); + + virtual G4bool IsApplicable(const G4ParticleDefinition&); + + virtual G4double PostStepGetPhysicalInteractionLength( const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition); + + virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); + +protected: + + virtual G4double GetMeanFreePath(const G4Track&, G4double,G4ForceCondition*); + +private: + + // hide assignment operator as private + G4ElectronCapture(const G4ElectronCapture&); + G4ElectronCapture& operator = (const G4ElectronCapture &right); + + G4double kinEnergyThreshold; + G4String regionName; + G4Region* region; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/microdosimetry/include/HistoManager.hh b/examples/advanced/microdosimetry/include/HistoManager.hh new file mode 100644 index 0000000000..a707873109 --- /dev/null +++ b/examples/advanced/microdosimetry/include/HistoManager.hh @@ -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. * +// ******************************************************************** +// +// $Id: HistoManager.hh,v 1.1 2010/10/06 14:39:41 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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 ITuple; +} + +const G4int MaxNtupl = 1; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class HistoManager +{ + public: + + HistoManager(); + ~HistoManager(); + + void book(); + void save(); + void FillNtuple(G4int id, G4int column, G4double value); + void AddRowNtuple(G4int id); + + private: + + G4String fileName[2]; + G4String fileType; + G4String fileOption; + AIDA::IAnalysisFactory* af; + AIDA::ITree* tree; + AIDA::ITuple* ntupl0; + + G4bool factoryOn; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/microdosimetry/include/PhysicsList.hh b/examples/advanced/microdosimetry/include/PhysicsList.hh index 28c2ffc001..616b192ae4 100755 --- a/examples/advanced/microdosimetry/include/PhysicsList.hh +++ b/examples/advanced/microdosimetry/include/PhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: PhysicsList.hh,v 1.2 2008/12/18 12:56:18 gunter Exp $ +// $Id: PhysicsList.hh,v 1.3 2010/06/12 09:38:06 vnivanch Exp $ // ------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -43,7 +43,7 @@ class PhysicsList: public G4VUserPhysicsList public: PhysicsList(); - ~PhysicsList(); + virtual ~PhysicsList(); void SetGammaCut(G4double); void SetElectronCut(G4double); diff --git a/examples/advanced/microdosimetry/include/RunAction.hh b/examples/advanced/microdosimetry/include/RunAction.hh index 53e5da2bef..5c0a1b1a1b 100755 --- a/examples/advanced/microdosimetry/include/RunAction.hh +++ b/examples/advanced/microdosimetry/include/RunAction.hh @@ -24,13 +24,14 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: RunAction.hh,v 1.1 2008/06/04 12:58:24 sincerti Exp $ +// $Id: RunAction.hh,v 1.2 2010/10/06 14:39:41 sincerti Exp $ // ------------------------------------------------------------------- #ifndef RunAction_h #define RunAction_h 1 #include "DetectorConstruction.hh" +#include "HistoManager.hh" #include "G4UserRunAction.hh" #include "globals.hh" @@ -44,7 +45,7 @@ class RunAction : public G4UserRunAction { public: - RunAction(DetectorConstruction*); + RunAction(DetectorConstruction*, HistoManager *); ~RunAction(); void BeginOfRunAction(const G4Run*); @@ -53,5 +54,7 @@ public: private: DetectorConstruction* Detector; + HistoManager* Histo; + }; #endif diff --git a/examples/advanced/microdosimetry/include/SteppingAction.hh b/examples/advanced/microdosimetry/include/SteppingAction.hh index 1fa8c6aada..a153f623e5 100755 --- a/examples/advanced/microdosimetry/include/SteppingAction.hh +++ b/examples/advanced/microdosimetry/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: SteppingAction.hh,v 1.1 2008/06/04 12:58:24 sincerti Exp $ +// $Id: SteppingAction.hh,v 1.2 2010/10/06 14:39:41 sincerti Exp $ // ------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -37,6 +37,7 @@ class RunAction; class DetectorConstruction; class PrimaryGeneratorAction; +class HistoManager; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -44,7 +45,7 @@ class SteppingAction : public G4UserSteppingAction { public: - SteppingAction(RunAction*, DetectorConstruction*, PrimaryGeneratorAction*); + SteppingAction(RunAction*, DetectorConstruction*, PrimaryGeneratorAction*, HistoManager *); ~SteppingAction(); void UserSteppingAction(const G4Step*); @@ -54,6 +55,7 @@ private: RunAction* Run; DetectorConstruction* Detector; PrimaryGeneratorAction* Primary; + HistoManager* Histo; }; #endif diff --git a/examples/advanced/microdosimetry/microdosimetry.in b/examples/advanced/microdosimetry/microdosimetry.in new file mode 100755 index 0000000000..3a647ce07a --- /dev/null +++ b/examples/advanced/microdosimetry/microdosimetry.in @@ -0,0 +1,12 @@ +/tracking/verbose 1 +/run/verbose 2 +/process/eLoss/verbose 1 +/gun/particle alpha+ +/gun/energy 50 MeV +/run/initialize +/run/beamOn 1 +/gun/particle alpha +/gun/position 0 0 0 mm +/gun/energy 20 keV +/run/beamOn 1 + diff --git a/examples/advanced/microdosimetry/microdosimetry.mac b/examples/advanced/microdosimetry/microdosimetry.mac index 52821006bc..224e833003 100755 --- a/examples/advanced/microdosimetry/microdosimetry.mac +++ b/examples/advanced/microdosimetry/microdosimetry.mac @@ -1,15 +1,8 @@ -#/vis/scene/create -#/vis/scene/add/volume -#/vis/sceneHandler/create OGLIX - -#/vis/viewer/create -#/vis/viewer/set/viewpointThetaPhi 70 10 - -/tracking/storeTrajectory 1 -#/vis/scene/endOfEventAction accumulate - +#/control/execute vis.mac /tracking/verbose 0 - -/run/verbose 0 - +/run/verbose 2 +/process/eLoss/verbose 1 +/gun/particle alpha+ +/gun/energy 50 MeV +/run/initialize /run/beamOn 1 diff --git a/examples/advanced/microdosimetry/microdosimetry.out b/examples/advanced/microdosimetry/microdosimetry.out index a88cfe5a60..24c85015ec 100644 --- a/examples/advanced/microdosimetry/microdosimetry.out +++ b/examples/advanced/microdosimetry/microdosimetry.out @@ -4,13 +4,13 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -Visualization Manager instantiating... +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -24,6 +24,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -43,120 +46,232 @@ Registered filter factories: originVolumeFilter attributeFilter -PhysicsList::SetCuts:CutLength : 1 nm +PhysicsList::SetCuts:CutLength : 100 um +### Added msc model order= -17 for e- and msc + +msc: for e- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc93 : Emin= 0 eV Emax= 10 TeV + ===== EM models for the G4Region Target ====== + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + MollerBhabha : Emin= 0 eV Emax= 10 TeV + ===== EM models for the G4Region Target ====== + MollerBhabha : Emin= 0 eV Emax= 10 TeV e-_G4DNAElastic: for e- SubType= 51 - Total cross sections computed from DNAChampionElasticModel model + Total cross sections computed from DummyModel model ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNAChampionElasticModel : Emin= 0 eV Emax= 10 MeV + DummyModel : Emin= 0 eV Emax= 1 MeV + ===== EM models for the G4Region Target ====== +DNAChampionElasticModel : Emin= 0 eV Emax= 1 MeV e-_G4DNAExcitation: for e- SubType= 51 - Total cross sections computed from DNAEmfietzoglouExcitationModel + Total cross sections computed from DummyModel ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNAEmfietzoglouExcitationModel : Emin= 0 eV Emax= 10 MeV + DummyModel : Emin= 0 eV Emax= 1 MeV + ===== EM models for the G4Region Target ====== +DNABornExcitationModel : Emin= 0 eV Emax= 1 MeV e-_G4DNAIonisation: for e- SubType= 51 - Total cross sections computed from DNABornIonisationModel + Total cross sections computed from DummyModel ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNABornIonisationModel : Emin= 0 eV Emax= 1 MeV + DummyModel : Emin= 0 eV Emax= 1 MeV + ===== EM models for the G4Region Target ====== +DNABornIonisationModel : Emin= 0 eV Emax= 1 MeV + +e-_G4DNAAttachment: for e- SubType= 51 + Total cross sections computed from DummyModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + DummyModel : Emin= 0 eV Emax= 13 eV + ===== EM models for the G4Region Target ====== +DNAMeltonAttachmentModel : Emin= 0 eV Emax= 13 eV + +e-_G4DNAVibExcitation: for e- SubType= 51 + Total cross sections computed from DummyModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + DummyModel : Emin= 0 eV Emax= 100 eV + ===== EM models for the G4Region Target ====== +DNASancheExcitationModel : Emin= 0 eV Emax= 100 eV + +msc: for proton SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BraggIonGas : Emin= 0 eV Emax= 2 MeV + BetheBlochGasIon : Emin= 2 MeV Emax= 10 TeV + ===== EM models for the G4Region Target ====== + BraggIonGas : Emin= 0 eV Emax= 2 MeV + BetheBlochGasIon : Emin= 2 MeV Emax= 10 TeV proton_G4DNAExcitation: for proton SubType= 51 - Total cross sections computed from DNAMillerGreenExcitationModel and DNABornExcitationModel models + Total cross sections computed from DummyModel and DNABornExcitationModel models ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 500 keV -DNABornExcitationModel : Emin= 500 keV Emax= 10 MeV + DummyModel : Emin= 0 eV Emax= 500 keV +DNABornExcitationModel : Emin= 500 keV Emax= 100 MeV + ===== EM models for the G4Region Target ====== +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 + Total cross sections computed from DummyModel and DNABornIonisationModel models ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNARuddIonisationModel : Emin= 0 eV Emax= 500 keV -DNABornIonisationModel : Emin= 500 keV Emax= 10 MeV + DummyModel : Emin= 0 eV Emax= 500 keV +DNABornIonisationModel : Emin= 500 keV Emax= 100 MeV + ===== EM models for the G4Region Target ====== +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 +DNADingfelderChargeDecreaseModel : Emin= 0 eV Emax= 10 MeV + +alphaIoni: for alpha 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 ====== + BraggIonGas : Emin= 0 eV Emax= 7.9452 MeV + BetheBlochGasIon : Emin= 7.9452 MeV Emax= 10 TeV + ===== EM models for the G4Region Target ====== + BraggIonGas : Emin= 0 eV Emax= 2 MeV + BetheBlochGasIon : Emin= 2 MeV Emax= 10 TeV alpha_G4DNAExcitation: for alpha SubType= 51 - Total cross sections computed from DNAMillerGreenExcitationModel + Total cross sections computed from DummyModel ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 10 MeV + DummyModel : Emin= 0 eV Emax= 400 MeV + ===== EM models for the G4Region Target ====== +DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 10 MeV alpha_G4DNAIonisation: for alpha SubType= 51 - Total cross sections computed from DNARuddIonisationModel + Total cross sections computed from DummyModel ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNARuddIonisationModel : Emin= 0 eV Emax= 10 MeV + DummyModel : Emin= 0 eV Emax= 400 MeV + ===== EM models for the G4Region Target ====== +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 +DNADingfelderChargeDecreaseModel : Emin= 0 eV Emax= 10 MeV -alpha+_G4DNAExcitation: for alpha+ SubType= 51 - Total cross sections computed from DNAMillerGreenExcitationModel +alpha_G4DNAExcitation: for alpha+ SubType= 51 + Total cross sections computed from DummyModel ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 10 MeV + DummyModel : Emin= 0 eV Emax= 400 MeV -alpha+_G4DNAIonisation: for alpha+ SubType= 51 - Total cross sections computed from DNARuddIonisationModel +alpha_G4DNAIonisation: for alpha+ SubType= 51 + Total cross sections computed from DummyModel ===== EM models for the G4Region DefaultRegionForTheWorld ====== -DNARuddIonisationModel : Emin= 0 eV Emax= 10 MeV + DummyModel : Emin= 0 eV Emax= 400 MeV -alpha+_G4DNAChargeDecrease: for alpha+ SubType= 51 +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 +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 +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 +DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 400 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 +DNARuddIonisationModel : Emin= 0 eV Emax= 400 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 +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 +DNARuddIonisationModel : Emin= 0 eV Emax= 100 MeV + +hydrogen_G4DNAExcitation: for hydrogen SubType= 51 + Total cross sections computed from DNAMillerGreenExcitationModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 500 keV 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 +DNADingfelderChargeIncreaseModel : Emin= 0 eV Emax= 10 MeV + +Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] + Materials : G4_WATER + Production cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um + +Region -- appears in world volume + Root logical volume(s) : Target + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] + Materials : G4_WATER + Production cuts : gamma 1 nm e- 1 nm e+ 1 nm proton 1 nm ========= 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 + Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um + Energy thresholds : gamma 1.10981 keV e- 84.6589 keV e+ 83.5287 keV proton 10 keV Region(s) which use this couple : DefaultRegionForTheWorld +Index : 1 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 : + Target + ==================================================================== -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. +Start closing geometry. +G4GeometryManager::ReportVoxelStats -- Voxel Statistics + + Total memory consumed for geometry optimisation: 0 kByte + Total CPU time elapsed for geometry optimisation: 0 seconds +Start Run processing. +Run terminated. +Run Summary + Number of events processed : 1 + User=8.12s Real=8.33s Sys=0.01s Graphics systems deleted. Visualization Manager deleting... +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/microdosimetry/plot.C b/examples/advanced/microdosimetry/plot.C index 8e10cf3326..4814857ce3 100755 --- a/examples/advanced/microdosimetry/plot.C +++ b/examples/advanced/microdosimetry/plot.C @@ -1,5 +1,5 @@ // ------------------------------------------------------------------- -// $Id: plot.C,v 1.3 2009/04/29 14:17:03 sincerti Exp $ +// $Id: plot.C,v 1.6 2010/10/08 10:01:35 sincerti Exp $ // ------------------------------------------------------------------- // // ********************************************************************* @@ -17,37 +17,40 @@ Double_t scale; c1 = new TCanvas ("c1","",20,20,1000,500); c1.Divide(2,1); -FILE * fp = fopen("track.txt","r"); -Float_t process,part,x,y,z; -Int_t ncols=0; -Int_t nlines = 0; +TFile f("microdosimetry.root"); -TNtuple *ntuple = new TNtuple("result","ntuple","process:part:x:y:z"); - -while (1) -{ - ncols = fscanf(fp,"%f %f %f %f %f",&part,&process,&x,&y,&z); - if (ncols < 0) break; - ntuple->Fill(process,part,x,y,z); - nlines++; -} -fclose(fp); - +TNtuple* ntuple0; +ntuple0 = (TNtuple*)f->Get("ntuple0"); + c1.cd(1); gStyle->SetOptStat(000000); - ntuple->Draw("process",""); - ntuple->SetFillColor(2); - ntuple->Draw("process","process==12||process==14||process==19||process==22||process==26","same"); - ntuple->SetFillColor(3); - ntuple->Draw("process","process==11","same"); - ntuple->SetFillColor(4); - ntuple->Draw("process","process==13||process==15||process==17||process==20||process==23||process==27","same"); - ntuple->SetFillColor(5); - ntuple->Draw("process","process==16||process==21||process==24","same"); - ntuple->SetFillColor(6); - ntuple->Draw("process","process==18||process==25||process==28","same"); + + // All + ntuple0->Draw("flagProcess",""); + ntuple0->SetFillColor(2); + + // Excitation + +ntuple0->Draw("flagProcess","flagProcess==12||flagProcess==15||flagProcess==17||flagProcess==20||flagProcess==23||flagProcess==26||flagProcess==30","same"); + ntuple0->SetFillColor(3); + + // Elastic + ntuple0->Draw("flagProcess","flagProcess==11","same"); + ntuple0->SetFillColor(4); + + // Ionisation + ntuple0->Draw("flagProcess","flagProcess==13||flagProcess==18||flagProcess==21||flagProcess==24||flagProcess==27||flagProcess==31||flagProcess==33||flagProcess==34","same"); + ntuple0->SetFillColor(5); + + // Charge decrease + ntuple0->Draw("flagProcess","flagProcess==19||flagProcess==25||flagProcess==28","same"); + ntuple0->SetFillColor(6); + + // Charge increase + ntuple0->Draw("flagProcess","flagProcess==22||flagProcess==29||flagProcess==32","same"); gPad->SetLogy(); +/* htemp->GetXaxis()->SetLabelSize(0.025); htemp->GetYaxis()->SetLabelSize(0.025); htemp->GetZaxis()->SetLabelSize(0.025); @@ -55,26 +58,19 @@ c1.cd(1); htemp->GetYaxis()->SetTitleSize(0.035); htemp->GetXaxis()->SetTitleOffset(1.4); htemp->GetYaxis()->SetTitleOffset(1.4); - htemp->GetXaxis()->SetTitle("Process"); + htemp->GetXaxis()->SetTitle("flagProcess"); htemp->GetYaxis()->SetTitle(""); - htemp->SetTitle("Geant4-DNA Processes"); + htemp->SetTitle("flagProcesses"); +*/ c1.cd(2); - ntuple->SetMarkerColor(1); - ntuple->Draw("x:y:z/1000",""); - - ntuple->SetMarkerColor(2); - 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","same"); - - ntuple->SetMarkerColor(4); - 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==16||process==21||process==24","same"); - ntuple->SetMarkerColor(6); - ntuple->Draw("x:y:z/1000","process==18||process==25||process==28","same"); + ntuple0->SetMarkerColor(2); + ntuple0->Draw("x:y:z/1000","flagParticle==1"); + ntuple0->SetMarkerColor(4); + ntuple0->SetMarkerSize(4); + ntuple0->Draw("x:y:z/1000","flagParticle==4 || flagParticle==5 || flagParticle==6","same"); +/* htemp->GetXaxis()->SetLabelSize(0.025); htemp->GetYaxis()->SetLabelSize(0.025); htemp->GetZaxis()->SetLabelSize(0.025); @@ -88,5 +84,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 101e47931d..77bd8f87a3 100755 --- a/examples/advanced/microdosimetry/src/DetectorConstruction.cc +++ b/examples/advanced/microdosimetry/src/DetectorConstruction.cc @@ -24,10 +24,12 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: DetectorConstruction.cc,v 1.3 2009/08/13 11:41:04 sincerti Exp $ +// $Id: DetectorConstruction.cc,v 1.5 2010/10/06 14:39:41 sincerti Exp $ // ------------------------------------------------------------------- #include "DetectorConstruction.hh" +#include "G4Region.hh" +#include "G4ProductionCuts.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -87,15 +89,51 @@ G4VPhysicalVolume* DetectorConstruction::ConstructDetector() G4ThreeVector(), //at (0,0,0) "World", //its name logicWorld, //its logical volume - NULL, //its mother volume + 0, //its mother volume false, //no boolean operation 0); //copy number - + G4double TargetSizeZ = WorldSizeZ*0.1; + + G4Box* targetSolid = new G4Box("Target", //its name + WorldSizeX/2,WorldSizeY/2,TargetSizeZ/2); //its size + + + G4LogicalVolume* logicTarget = new G4LogicalVolume(targetSolid, //its solid + waterMaterial, //its material + "Target"); //its name + + new G4PVPlacement(0, //no rotation + G4ThreeVector(), //at (0,0,0) + "Target", //its name + logicTarget, //its logical volume + physiWorld, //its mother volume + false, //no boolean operation + 0); //copy number + // Visualization attributes G4VisAttributes* worldVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); //White worldVisAtt->SetVisibility(true); logicWorld->SetVisAttributes(worldVisAtt); + G4VisAttributes* worldVisAtt1 = new G4VisAttributes(G4Colour(1.0,0.0,0.0)); + worldVisAtt1->SetVisibility(true); + logicTarget->SetVisAttributes(worldVisAtt1); + + // Create Target G4Region and add logical volume + + fRegion = new G4Region("Target"); + + G4ProductionCuts* cuts = new G4ProductionCuts(); + + G4double defCut = 1*nanometer; + cuts->SetProductionCut(defCut,"gamma"); + cuts->SetProductionCut(defCut,"e-"); + cuts->SetProductionCut(defCut,"e+"); + cuts->SetProductionCut(defCut,"proton"); + + fRegion->SetProductionCuts(cuts); + fRegion->AddRootLogicalVolume(logicTarget); + return physiWorld; } diff --git a/examples/advanced/microdosimetry/src/G4ElectronCapture.cc b/examples/advanced/microdosimetry/src/G4ElectronCapture.cc new file mode 100644 index 0000000000..1da520b859 --- /dev/null +++ b/examples/advanced/microdosimetry/src/G4ElectronCapture.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. * +// ******************************************************************** +// +// $Id: G4ElectronCapture.cc,v 1.1 2010/08/31 11:23:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4ElectronCapture +// +// Description: The process to kill particles to save CPU +// +// Author: V.Ivanchenko 31 August 2010 +// +//---------------------------------------------------------------------------- +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4ElectronCapture.hh" +#include "G4ParticleDefinition.hh" +#include "G4Step.hh" +#include "G4Track.hh" +#include "G4Region.hh" +#include "G4RegionStore.hh" +#include "G4Electron.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4ElectronCapture::G4ElectronCapture(const G4String& regName, G4double ekinlim) + : G4VDiscreteProcess("eCapture", fElectromagnetic), kinEnergyThreshold(ekinlim), + regionName(regName), region(0) +{ + if(regName == "" || regName == "world") { + regionName = "DefaultRegionForTheWorld"; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4ElectronCapture::~G4ElectronCapture() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4ElectronCapture::SetKinEnergyLimit(G4double val) +{ + kinEnergyThreshold = val; + if(verboseLevel > 0) { + G4cout << "### G4ElectronCapture: Tracking cut E(MeV) = " + << kinEnergyThreshold/MeV << G4endl; + } +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4ElectronCapture::BuildPhysicsTable(const G4ParticleDefinition&) +{ + region = (G4RegionStore::GetInstance())->GetRegion(regionName); + if(region && verboseLevel > 0) { + G4cout << "### G4ElectronCapture: Tracking cut E(MeV) = " + << kinEnergyThreshold/MeV << " is assigned to " << regionName + << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4bool G4ElectronCapture::IsApplicable(const G4ParticleDefinition&) +{ + return true; +} + +G4double +G4ElectronCapture::PostStepGetPhysicalInteractionLength(const G4Track& aTrack, + G4double, + G4ForceCondition* condition) +{ + // condition is set to "Not Forced" + *condition = NotForced; + + G4double limit = DBL_MAX; + if(region) { + if(aTrack.GetVolume()->GetLogicalVolume()->GetRegion() == region && + aTrack.GetKineticEnergy() < kinEnergyThreshold) { limit = 0.0; } + } + return limit; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4VParticleChange* G4ElectronCapture::PostStepDoIt(const G4Track& aTrack, + const G4Step&) +{ + pParticleChange->Initialize(aTrack); + pParticleChange->ProposeTrackStatus(fStopAndKill); + pParticleChange->ProposeLocalEnergyDeposit(aTrack.GetKineticEnergy()); + return pParticleChange; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ElectronCapture::GetMeanFreePath(const G4Track&,G4double, + G4ForceCondition*) +{ + return DBL_MAX; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + diff --git a/examples/advanced/microdosimetry/src/HistoManager.cc b/examples/advanced/microdosimetry/src/HistoManager.cc new file mode 100644 index 0000000000..ea4a106f9f --- /dev/null +++ b/examples/advanced/microdosimetry/src/HistoManager.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: HistoManager.cc,v 1.2 2010/11/09 23:31:59 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "HistoManager.hh" +#include "G4UnitsTable.hh" + +#ifdef G4ANALYSIS_USE +#include "AIDA/AIDA.h" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoManager::HistoManager() +:af(0),tree(0),factoryOn(false) +{ +#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] = "microdosimetry"; + fileType = "root"; + fileOption = "export=root"; + ntupl0=0; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoManager::~HistoManager() +{ +#ifdef G4ANALYSIS_USE + delete af; +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::book() +{ +#ifdef G4ANALYSIS_USE + if(!af) return; + + // Creating a tree mapped to an hbook file. + fileName[1] = fileName[0] + "." + fileType; + G4bool readOnly = false; + G4bool createNew = true; + AIDA::ITreeFactory* tf = af->createTreeFactory(); + 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 & ntuplr factory + AIDA::IHistogramFactory* hf = af->createHistogramFactory(*tree); + AIDA::ITupleFactory* ntf = af->createTupleFactory(*tree); + + ntupl0 = ntf->create( "ntuple0", "Beam profile", "double flagParticle, flagProcess, x, y, z"); + factoryOn = true; + + delete hf; + 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) { + + 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::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(nt==0) ntupl0->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(nt==0) ntupl0->addRow(); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/advanced/microdosimetry/src/PhysicsList.cc b/examples/advanced/microdosimetry/src/PhysicsList.cc index 6c211534b8..cda7413b0e 100755 --- a/examples/advanced/microdosimetry/src/PhysicsList.cc +++ b/examples/advanced/microdosimetry/src/PhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: PhysicsList.cc,v 1.6 2009/08/14 16:49:36 sincerti Exp $ +// $Id: PhysicsList.cc,v 1.14 2010/10/08 10:01:35 sincerti Exp $ // ------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -35,7 +35,7 @@ PhysicsList::PhysicsList(): G4VUserPhysicsList() { - defaultCutValue = 1*nanometer; + defaultCutValue = 0.1*mm; cutForGamma = defaultCutValue; cutForElectron = defaultCutValue; cutForPositron = defaultCutValue; @@ -118,7 +118,6 @@ void PhysicsList::ConstructProcess() #include "G4DNAScreenedRutherfordElasticModel.hh" #include "G4DNAExcitation.hh" -#include "G4DNAEmfietzoglouExcitationModel.hh" #include "G4DNAMillerGreenExcitationModel.hh" #include "G4DNABornExcitationModel.hh" @@ -132,12 +131,38 @@ void PhysicsList::ConstructProcess() #include "G4DNAChargeIncrease.hh" #include "G4DNADingfelderChargeIncreaseModel.hh" +#include "G4DNAAttachment.hh" +#include "G4DNAMeltonAttachmentModel.hh" + +#include "G4DNAVibExcitation.hh" +#include "G4DNASancheExcitationModel.hh" + +// + +#include "G4LossTableManager.hh" +#include "G4EmConfigurator.hh" +#include "G4VEmModel.hh" +#include "G4DummyModel.hh" +#include "G4eIonisation.hh" +#include "G4hIonisation.hh" +#include "G4alphaIonisation.hh" +#include "G4eMultipleScattering.hh" +#include "G4hMultipleScattering.hh" +#include "G4BraggIonGasModel.hh" +#include "G4BetheBlochIonGasModel.hh" +#include "G4UrbanMscModel93.hh" +#include "G4MollerBhabhaModel.hh" +#include "G4IonFluctuations.hh" +#include "G4UniversalFluctuation.hh" + +#include "G4ElectronCapture.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void PhysicsList::ConstructEM() { theParticleIterator->reset(); - + while( (*theParticleIterator)() ) { @@ -145,52 +170,221 @@ void PhysicsList::ConstructEM() G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); -// DNA processes per particle type + // *************************** + // 1) Processes for the world + // *************************** if (particleName == "e-") { + // msc is active in the world + G4eMultipleScattering* msc = new G4eMultipleScattering(); + pmanager->AddProcess(msc, -1, 1, 1); + + // standard ionisation is active in the world + G4eIonisation* eion = new G4eIonisation(); + eion->SetEmModel(new G4MollerBhabhaModel(), 1); + pmanager->AddProcess(eion, -1, 2, 2); + + // DNA elastic is not active in the world G4DNAElastic* theDNAElasticProcess = new G4DNAElastic("e-_G4DNAElastic"); - theDNAElasticProcess->SetModel(new G4DNAChampionElasticModel()); - // or alternative model - // theDNAElasticProcess->SetModel(new G4DNAScreenedRutherfordElasticModel()); + theDNAElasticProcess->SetModel(new G4DummyModel(),1); pmanager->AddDiscreteProcess(theDNAElasticProcess); - pmanager->AddDiscreteProcess(new G4DNAExcitation("e-_G4DNAExcitation")); - pmanager->AddDiscreteProcess(new G4DNAIonisation("e-_G4DNAIonisation")); + // DNA excitation is not active in the world + G4DNAExcitation* dnaex = new G4DNAExcitation("e-_G4DNAExcitation"); + dnaex->SetModel(new G4DummyModel(),1); + pmanager->AddDiscreteProcess(dnaex); + + // DNA ionisation is not active in the world + G4DNAIonisation* dnaioni = new G4DNAIonisation("e-_G4DNAIonisation"); + dnaioni->SetModel(new G4DummyModel(),1); + pmanager->AddDiscreteProcess(dnaioni); + + // DNA attachment is not active in the world + G4DNAAttachment* dnaatt = new G4DNAAttachment("e-_G4DNAAttachment"); + dnaatt->SetModel(new G4DummyModel(),1); + pmanager->AddDiscreteProcess(dnaatt); + + // DNA vib. excitation is not active in the world + G4DNAVibExcitation* dnavib = new G4DNAVibExcitation("e-_G4DNAVibExcitation"); + dnavib->SetModel(new G4DummyModel(),1); + pmanager->AddDiscreteProcess(dnavib); + + // THE FOLLOWING PROCESS WILL KILL ALL ELECTRONS BELOW A GIVEN ENERY THRESHOLD + // Capture of low-energy e- + G4ElectronCapture* ecap = new G4ElectronCapture("Target", 5.1*eV); + pmanager->AddDiscreteProcess(ecap); + } else if ( particleName == "proton" ) { - pmanager->AddDiscreteProcess(new G4DNAExcitation("proton_G4DNAExcitation")); - pmanager->AddDiscreteProcess(new G4DNAIonisation("proton_G4DNAIonisation")); + // msc is active + G4hMultipleScattering* msc = new G4hMultipleScattering(); + pmanager->AddProcess(msc, -1, 1, 1); + + // standard ionisation is active inside the target below energy limit + G4hIonisation* hion = new G4hIonisation(); + hion->SetEmModel(new G4BraggIonGasModel(), 1); + hion->SetEmModel(new G4BetheBlochIonGasModel(), 2); + pmanager->AddProcess(hion, -1, 2, 2); + + // DNA excitation is not active in the world + G4DNAExcitation* dnaex = new G4DNAExcitation("proton_G4DNAExcitation"); + dnaex->SetModel(new G4DummyModel(),1); + pmanager->AddDiscreteProcess(dnaex); + + // DNA ionisation is not active in the world + G4DNAIonisation* dnaioni = new G4DNAIonisation("proton_G4DNAIonisation"); + dnaioni->SetModel(new G4DummyModel(),1); + pmanager->AddDiscreteProcess(dnaioni); + + // DNA charge decrease is active in the world pmanager->AddDiscreteProcess(new G4DNAChargeDecrease("proton_G4DNAChargeDecrease")); } else if ( particleName == "hydrogen" ) { + // DNA processes active in the world pmanager->AddDiscreteProcess(new G4DNAIonisation("hydrogen_G4DNAIonisation")); + pmanager->AddDiscreteProcess(new G4DNAExcitation("hydrogen_G4DNAExcitation")); pmanager->AddDiscreteProcess(new G4DNAChargeIncrease("hydrogen_G4DNAChargeIncrease")); } else if ( particleName == "alpha" ) { - pmanager->AddDiscreteProcess(new G4DNAExcitation("alpha_G4DNAExcitation")); - pmanager->AddDiscreteProcess(new G4DNAIonisation("alpha_G4DNAIonisation")); + // msc is active + G4hMultipleScattering* msc = new G4hMultipleScattering(); + pmanager->AddProcess(msc, -1, 1, 1); + + // standard ionisation is active inside the target below energy limit + G4alphaIonisation* hion = new G4alphaIonisation(); + hion->SetEmModel(new G4BraggIonGasModel(), 1); + hion->SetEmModel(new G4BetheBlochIonGasModel(), 2); + pmanager->AddProcess(hion, -1, 2, 2); + + // DNA excitation is not active in the world + G4DNAExcitation* dnaex = new G4DNAExcitation("alpha_G4DNAExcitation"); + dnaex->SetModel(new G4DummyModel(),1); + pmanager->AddDiscreteProcess(dnaex); + + // DNA ionisation is not active in the world + G4DNAIonisation* dnaioni = new G4DNAIonisation("alpha_G4DNAIonisation"); + dnaioni->SetModel(new G4DummyModel(),1); + pmanager->AddDiscreteProcess(dnaioni); + + // DNA charge decrease is active in the world pmanager->AddDiscreteProcess(new G4DNAChargeDecrease("alpha_G4DNAChargeDecrease")); } else if ( particleName == "alpha+" ) { - pmanager->AddDiscreteProcess(new G4DNAExcitation("alpha+_G4DNAExcitation")); - pmanager->AddDiscreteProcess(new G4DNAIonisation("alpha+_G4DNAIonisation")); - pmanager->AddDiscreteProcess(new G4DNAChargeDecrease("alpha+_G4DNAChargeDecrease")); + // msc is active + G4hMultipleScattering* msc = new G4hMultipleScattering(); + pmanager->AddProcess(msc, -1, 1, 1); + + // standard ionisation is active inside the target below energy limit + G4hIonisation* hion = new G4hIonisation(); + hion->SetBaseParticle(G4Proton::Proton()); + hion->SetEmModel(new G4BraggIonGasModel(), 1); + hion->SetEmModel(new G4BetheBlochIonGasModel(), 2); + pmanager->AddProcess(hion, -1, 2, 2); + + // DNA excitation is not active in the world + G4DNAExcitation* dnaex = new G4DNAExcitation("alpha_G4DNAExcitation"); + dnaex->SetModel(new G4DummyModel(),1); + pmanager->AddDiscreteProcess(dnaex); + + // DNA ionisation is not active in the world + G4DNAIonisation* dnaioni = new G4DNAIonisation("alpha_G4DNAIonisation"); + dnaioni->SetModel(new G4DummyModel(),1); + pmanager->AddDiscreteProcess(dnaioni); + + // DNA charge exchange processses are active in the world + pmanager->AddDiscreteProcess(new G4DNAChargeDecrease("alpha_G4DNAChargeDecrease")); pmanager->AddDiscreteProcess(new G4DNAChargeIncrease("alpha+_G4DNAChargeIncrease")); } else if ( particleName == "helium" ) { + // DNA processes active in the world pmanager->AddDiscreteProcess(new G4DNAExcitation("helium_G4DNAExcitation")); pmanager->AddDiscreteProcess(new G4DNAIonisation("helium_G4DNAIonisation")); pmanager->AddDiscreteProcess(new G4DNAChargeIncrease("helium_G4DNAChargeIncrease")); } + } + + // ************************************** + // 2) Define processes for Target volume + // ************************************** + + G4double standEnergyLimit = 9.9*MeV; + G4double massFactor = 1.0079/4.0026; + G4EmConfigurator* em_config = G4LossTableManager::Instance()->EmConfigurator(); + + G4VEmModel* mod; + + // e- + mod = new G4UrbanMscModel93(); + mod->SetActivationLowEnergyLimit(1*MeV); + em_config->SetExtraEmModel("e-","msc",mod,"Target"); + mod = new G4MollerBhabhaModel(); + mod->SetActivationLowEnergyLimit(0.99*MeV); + em_config->SetExtraEmModel("e-","eIoni",mod,"Target",0.0,100*TeV, + new G4UniversalFluctuation()); + mod = new G4DNAChampionElasticModel(); + em_config->SetExtraEmModel("e-","e-_G4DNAElastic",mod,"Target",0.0,1*MeV); + mod = new G4DNABornIonisationModel(); + em_config->SetExtraEmModel("e-","e-_G4DNAIonisation",mod,"Target",11*eV,1*MeV); + mod = new G4DNABornExcitationModel(); + em_config->SetExtraEmModel("e-","e-_G4DNAExcitation",mod,"Target",9*eV,1*MeV); + mod = new G4DNAMeltonAttachmentModel(); + em_config->SetExtraEmModel("e-","e-_G4DNAAttachment",mod,"Target",4*eV,13*eV); + mod = new G4DNASancheExcitationModel(); + em_config->SetExtraEmModel("e-","e-_G4DNAVibExcitation",mod,"Target",0.025*eV,100*eV); + + // proton + mod = new G4BraggIonGasModel(); + mod->SetActivationLowEnergyLimit(standEnergyLimit); + em_config->SetExtraEmModel("proton","hIoni",mod,"Target",0.0,2*MeV, + new G4IonFluctuations()); + mod = new G4BetheBlochIonGasModel(); + mod->SetActivationLowEnergyLimit(standEnergyLimit); + em_config->SetExtraEmModel("proton","hIoni",mod,"Target",2*MeV,100*TeV, + new G4UniversalFluctuation()); + mod = new G4DNARuddIonisationModel(); + em_config->SetExtraEmModel("proton","proton_G4DNAIonisation",mod,"Target",0.0,0.5*MeV); + mod = new G4DNABornIonisationModel(); + em_config->SetExtraEmModel("proton","proton_G4DNAIonisation",mod,"Target",0.5*MeV,10*MeV); + mod = new G4DNAMillerGreenExcitationModel(); + em_config->SetExtraEmModel("proton","proton_G4DNAExcitation",mod,"Target",10*eV,0.5*MeV); + mod = new G4DNABornExcitationModel(); + em_config->SetExtraEmModel("proton","proton_G4DNAExcitation",mod,"Target",0.5*MeV,10*MeV); + + //alpha + mod = new G4BraggIonGasModel(); + mod->SetActivationLowEnergyLimit(standEnergyLimit); + em_config->SetExtraEmModel("alpha","alphaIoni",mod,"Target",0.0,2*MeV/massFactor, + new G4IonFluctuations()); + mod = new G4BetheBlochIonGasModel(); + mod->SetActivationLowEnergyLimit(standEnergyLimit); + em_config->SetExtraEmModel("alpha","alphaIoni",mod,"Target",2*MeV/massFactor,100*TeV, + new G4UniversalFluctuation()); + mod = new G4DNARuddIonisationModel(); + em_config->SetExtraEmModel("alpha","alpha_G4DNAIonisation",mod,"Target",0.0,10*MeV); + mod = new G4DNAMillerGreenExcitationModel(); + em_config->SetExtraEmModel("alpha","alpha_G4DNAExcitation",mod,"Target",1*keV,10*MeV); + + //alpha+ + mod = new G4BraggIonGasModel(); + mod->SetActivationLowEnergyLimit(standEnergyLimit*massFactor); + em_config->SetExtraEmModel("alpha+","hIoni",mod,"Target",0.0,2*MeV/massFactor, + new G4IonFluctuations()); + mod = new G4BetheBlochIonGasModel(); + mod->SetActivationLowEnergyLimit(standEnergyLimit*massFactor); + em_config->SetExtraEmModel("alpha+","hIoni",mod,"Target",2*MeV/massFactor,100*TeV, + new G4UniversalFluctuation()); + mod = new G4DNARuddIonisationModel(); + em_config->SetExtraEmModel("alpha+","alpha+_G4DNAIonisation",mod,"Target",0.0,10*MeV); + mod = new G4DNAMillerGreenExcitationModel(); + em_config->SetExtraEmModel("alpha+","alpha+_G4DNAExcitation",mod,"Target",1*keV,10*MeV); - } // Loop on particles } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -213,11 +407,7 @@ void PhysicsList::SetCuts() SetCutValue(cutForGamma, "gamma"); SetCutValue(cutForElectron, "e-"); SetCutValue(cutForPositron, "e+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton SetCutValue(cutForProton, "proton"); - SetCutValue(cutForProton, "anti_proton"); - if (verboseLevel>0) DumpCutValuesTable(); + if (verboseLevel>0) { DumpCutValuesTable(); } } diff --git a/examples/advanced/microdosimetry/src/PrimaryGeneratorAction.cc b/examples/advanced/microdosimetry/src/PrimaryGeneratorAction.cc index f83a2f931f..3a1e7b88d0 100755 --- a/examples/advanced/microdosimetry/src/PrimaryGeneratorAction.cc +++ b/examples/advanced/microdosimetry/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: PrimaryGeneratorAction.cc,v 1.1 2008/06/04 12:57:55 sincerti Exp $ +// $Id: PrimaryGeneratorAction.cc,v 1.4 2010/06/12 09:48:36 vnivanch Exp $ // ------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -38,6 +38,11 @@ PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* DC) { G4int n_particle = 1; particleGun = new G4ParticleGun(n_particle); + + // default gun parameters + particleGun->SetParticleEnergy(10.*keV); + particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); + particleGun->SetParticlePosition(G4ThreeVector(0.,0.,-0.499*mm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -49,36 +54,7 @@ PrimaryGeneratorAction::~PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4float var; - void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - G4int numEvent; - numEvent=anEvent->GetEventID()+1; - G4double x0,y0,z0,theta,phi,xMom0,yMom0,zMom0,e0; - - e0 = 10*keV ; - x0 = 0; - y0 = 0; - z0 = 0*micrometer; - theta = 0; - phi = 0; - - xMom0 = std::sin(theta); - yMom0 = std::sin(phi); - zMom0 = std::sqrt(1.-xMom0*xMom0-yMom0*yMom0); - - particleGun->SetParticleEnergy(e0); - - particleGun->SetParticleMomentumDirection(G4ThreeVector(xMom0,yMom0,zMom0)); - - particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); - - G4ParticleDefinition* particle= - G4ParticleTable::GetParticleTable()->FindParticle("alpha+"); - - particleGun->SetParticleDefinition(particle); - particleGun->GeneratePrimaryVertex(anEvent); - } diff --git a/examples/advanced/microdosimetry/src/RunAction.cc b/examples/advanced/microdosimetry/src/RunAction.cc index 6eb3a640d7..6dc4a4dc14 100755 --- a/examples/advanced/microdosimetry/src/RunAction.cc +++ b/examples/advanced/microdosimetry/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: RunAction.cc,v 1.1 2008/06/04 12:57:55 sincerti Exp $ +// $Id: RunAction.cc,v 1.2 2010/10/06 14:39:41 sincerti Exp $ // ------------------------------------------------------------------- #include "RunAction.hh" @@ -32,8 +32,8 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -RunAction::RunAction(DetectorConstruction* det) -:Detector(det) +RunAction::RunAction(DetectorConstruction* det, HistoManager* his) +:Detector(det),Histo(his) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -44,9 +44,15 @@ RunAction::~RunAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void RunAction::BeginOfRunAction(const G4Run*) -{} +{ + // Histograms + Histo->book(); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void RunAction::EndOfRunAction(const G4Run*) -{} +{ + //save histograms + Histo->save(); +} diff --git a/examples/advanced/microdosimetry/src/SteppingAction.cc b/examples/advanced/microdosimetry/src/SteppingAction.cc index f8debf5d33..25943e692f 100755 --- a/examples/advanced/microdosimetry/src/SteppingAction.cc +++ b/examples/advanced/microdosimetry/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: SteppingAction.cc,v 1.3 2009/04/29 14:17:03 sincerti Exp $ +// $Id: SteppingAction.cc,v 1.6 2010/10/08 10:01:35 sincerti Exp $ // ------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -33,6 +33,7 @@ #include "RunAction.hh" #include "DetectorConstruction.hh" #include "PrimaryGeneratorAction.hh" +#include "HistoManager.hh" #include "G4SteppingManager.hh" #include "G4VTouchable.hh" @@ -40,8 +41,8 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -SteppingAction::SteppingAction(RunAction* run,DetectorConstruction* det,PrimaryGeneratorAction* pri) -:Run(run),Detector(det),Primary(pri) +SteppingAction::SteppingAction(RunAction* run,DetectorConstruction* det,PrimaryGeneratorAction* pri, HistoManager* his) +:Run(run),Detector(det),Primary(pri),Histo(his) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -53,8 +54,9 @@ SteppingAction::~SteppingAction() void SteppingAction::UserSteppingAction(const G4Step* s) { - G4int flagParticle=0; - G4int flagProcess=0; + G4double flagParticle=0.; + G4double flagProcess=0.; + G4double x,y,z; if (s->GetTrack()->GetDynamicParticle()->GetDefinition() ->GetParticleName() == "e-") flagParticle = 1; if (s->GetTrack()->GetDynamicParticle()->GetDefinition() ->GetParticleName() == "proton") flagParticle = 2; @@ -66,38 +68,49 @@ void SteppingAction::UserSteppingAction(const G4Step* s) 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()=="e-_G4DNAAttachment") flagProcess =14; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="e-_G4DNAVibExcitation") flagProcess =15; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="eCapture") flagProcess =16; + + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="proton_G4DNAExcitation") flagProcess =17; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="proton_G4DNAIonisation") flagProcess =18; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="proton_G4DNAChargeDecrease") flagProcess =19; + + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="hydrogen_G4DNAExcitation") flagProcess =20; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="hydrogen_G4DNAIonisation") flagProcess =21; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="hydrogen_G4DNAChargeIncrease") flagProcess =22; + + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha_G4DNAExcitation") flagProcess =23; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha_G4DNAIonisation") flagProcess =24; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha_G4DNAChargeDecrease") flagProcess =25; + + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha+_G4DNAExcitation") flagProcess =26; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha+_G4DNAIonisation") flagProcess =27; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha+_G4DNAChargeDecrease") flagProcess =28; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha+_G4DNAChargeIncrease") flagProcess =29; + + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="helium_G4DNAExcitation") flagProcess =30; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="helium_G4DNAIonisation") flagProcess =31; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="helium_G4DNAChargeIncrease") flagProcess =32; + + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="hIoni") flagProcess =33; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="eIoni") flagProcess =34; if ( s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()!="initStep" && s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()!="Transportation" ) - { - FILE* myFile; - myFile=fopen("track.txt","a"); - fprintf - ( myFile,"%i %i %e %e %e \n", - flagParticle, - flagProcess, - (s->GetTrack()->GetPosition().x())/nanometer, - (s->GetTrack()->GetPosition().y())/nanometer, - (s->GetTrack()->GetPosition().z())/nanometer - ); - fclose (myFile); + { + x=s->GetPreStepPoint()->GetPosition().x()/nanometer; + y=s->GetPreStepPoint()->GetPosition().y()/nanometer; + z=s->GetPreStepPoint()->GetPosition().z()/nanometer; + + Histo->FillNtuple(0, 0, flagParticle); + Histo->FillNtuple(0, 1, flagProcess); + Histo->FillNtuple(0, 2, x); + Histo->FillNtuple(0, 3, y); + Histo->FillNtuple(0, 4, z); + Histo->AddRowNtuple(0); } } diff --git a/examples/advanced/microdosimetry/vis.mac b/examples/advanced/microdosimetry/vis.mac new file mode 100644 index 0000000000..62b22e0fdb --- /dev/null +++ b/examples/advanced/microdosimetry/vis.mac @@ -0,0 +1,68 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x400-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi -90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/advanced/nanobeam/GNUmakefile b/examples/advanced/nanobeam/GNUmakefile index 57332668a4..235be824ac 100644 --- a/examples/advanced/nanobeam/GNUmakefile +++ b/examples/advanced/nanobeam/GNUmakefile @@ -1,5 +1,5 @@ # -------------------------------------------------------------- -# $Id: GNUmakefile,v 1.3 2008/01/25 20:49:23 sincerti Exp $ +# $Id: GNUmakefile,v 1.4 2010/01/11 16:14:13 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -10,7 +10,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif .PHONY: all diff --git a/examples/advanced/nanobeam/History b/examples/advanced/nanobeam/History index bc13b294d6..2fd1ff0102 100644 --- a/examples/advanced/nanobeam/History +++ b/examples/advanced/nanobeam/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.6 2009/03/02 16:49:14 gunter Exp $ +$Id: History,v 1.11 2010/11/09 23:36:31 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,21 @@ $Id: History,v 1.6 2009/03/02 16:49:14 gunter Exp $ Package History file -------------------- +09 November 2010 - tag nanobeam-V09-03-04 - M. Asai +- Fix AIDA file option. + +09 October 2010 - tag nanobeam-V09-03-03 - S. Incerti +- corrected removal of ROOT file in Nanobeam.cc + +06 October 2010 - tag nanobeam-V09-03-02 - S. Incerti +- added post step point information to SteppingAction + +06 October 2010 - tag nanobeam-V09-03-01 - S. Incerti +- major update using AIDA + +18 March 2010 - tag nanobeam-V09-03-00 - S. Incerti +- updated multiple scattering class for e+- and mu + 2-March 2009 - tag nanobeam-V09-02-01 - G.Folger - correct for gcc4.3/slc5 warning diff --git a/examples/advanced/nanobeam/Nanobeam.cc b/examples/advanced/nanobeam/Nanobeam.cc index 4d4d597925..b890a15133 100755 --- a/examples/advanced/nanobeam/Nanobeam.cc +++ b/examples/advanced/nanobeam/Nanobeam.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: Nanobeam.cc,v 1.6 2008/06/21 19:28:03 sincerti Exp $ +// $Id: Nanobeam.cc,v 1.8 2010/10/09 16:30:27 sincerti Exp $ // ------------------------------------------------------------------- #include "G4RunManager.hh" @@ -41,6 +41,7 @@ #include "TrackingAction.hh" #include "SteppingAction.hh" #include "SteppingVerbose.hh" +#include "HistoManager.hh" int main(int argc,char** argv) { @@ -58,16 +59,18 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new PhysicsList); - runManager->SetUserAction(new PrimaryGeneratorAction(detector)); - - // Set user action classes - RunAction* RunAct = new RunAction(detector); PrimaryGeneratorAction* primary = new PrimaryGeneratorAction(detector); + runManager->SetUserAction(primary); + + HistoManager* histo = new HistoManager(); + + // Set user action classes + RunAction* RunAct = new RunAction(detector,primary,histo); runManager->SetUserAction(RunAct); runManager->SetUserAction(new EventAction(RunAct)); runManager->SetUserAction(new TrackingAction(RunAct)); - runManager->SetUserAction(new SteppingAction(RunAct,detector,primary)); + runManager->SetUserAction(new SteppingAction(RunAct,detector,primary,histo)); // Initialize G4 kernel runManager->Initialize(); @@ -75,16 +78,9 @@ int main(int argc,char** argv) { // Get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); - // Cleaning result files - system ("rm -rf ./results/x.txt"); - system ("rm -rf ./results/y.txt"); - system ("rm -rf ./results/theta.txt"); - system ("rm -rf ./results/phi.txt"); - system ("rm -rf ./results/image.txt"); - system ("rm -rf ./results/matrix.txt"); - system ("rm -rf ./results/profile.txt"); - system ("rm -rf ./results/grid.txt"); - + // + system ("rm -rf nanobeam.root"); + if (argc==1) // Define UI session for interactive mode. { // G4UIterminal is a (dumb) terminal. diff --git a/examples/advanced/nanobeam/README b/examples/advanced/nanobeam/README index f93e5734ba..2a027061cb 100644 --- a/examples/advanced/nanobeam/README +++ b/examples/advanced/nanobeam/README @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: README,v 1.8 2008/06/02 10:00:40 sincerti Exp $ +$Id: README,v 1.9 2010/10/06 12:16:59 sincerti Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,7 +16,7 @@ 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, 10/04/2008 +Last modified by S. Incerti, 06/10/2010 ---->1. INTRODUCTION. @@ -43,19 +43,18 @@ This configuration is made of a combination of a doublet and triplet of 5 Oxford Microbeams Ltd. OM50 quadrupoles. More details on the experimental setup and its simulation with Geant4 can -be found in the following papers, which may be found on the SLAC-SPIRES -online database (http://www.slac.stanford.edu/spires/) : +be found in the following papers: - A DETAILED RAY-TRACING SIMULATION OF THE HIGH RESOLUTION MICROBEAM AT THE AIFIRA FACILITY F. Andersson, Ph. Barberet, S. Incerti, Ph. Moretto (CENBG, Gradignan) . Dec 2007. -In press in Nucl.Instrum.Meth.B266:1653-1658, 2008 +Published in Nucl.Instrum.Meth.B266:1653-1658, 2008 - MONTE CARLO SIMULATION OF THE CENBG MICROBEAM AND NANOBEAM LINES WITH THE GEANT4 TOOLKIT By S. Incerti, Q. Zhang, F. Andersson, Ph. Moretto, G.W. Grime, M.J. Merchant, D.T. Nguyen, C. Habchi, T. Pouthier and H. Seznec -In press in Nucl.Instrum.Meth.B260:20-27, 2007 +Published in Nucl.Instrum.Meth.B260:20-27, 2007 - GEANT4 SIMULATION OF THE NEW CENBG MICRO AND NANO PROBES FACILITY By S. Incerti, C. Habchi, Ph. Moretto, J. Olivier and H. Seznec. May 2006. 5pp. @@ -66,70 +65,18 @@ SYSTEMS By S. Incerti et al., Published in Nucl.Instrum.Meth.B231:76-85, 2005 ----->3. SET-UP - -- a standard Geant4 example GNUmakefile is provided - -setup with: -compiler = gcc-3.4.6 -G4SYSTEM = linux-g++ - -The following section gives the necessary environment variables. - -------->>3.1 ENVIRONMENT VARIABLES - -All variables are defined with their default value. - - - G4SYSTEM = Linux-g++ - - - G4INSTALL points to the installation directory of GEANT4; - - - G4LIB point to the compiled libraries of GEANT4; - - - G4WORKDIR points to the work directory; - - - CLHEP_BASE_DIR points to the installation directory of CHLEP; - - - G4LEDATA points to the low energy electromagnetic libraries; - - - LD_LIBRARY_PATH = $CLHEP_BASE_DIR/lib - - - G4LEVELGAMMADATA points to the photoevaporation library; - - - G4NEUTRONHPDATA points to the neutron data files; - - - G4RADIOACTIVEDATA points to the libraries for radio-active decay - hadronic processes; - - - G4ABLADATA points to the libraries fo ablation processes; - -However, the -$G4LEDATA, -$G4LEVELGAMMADATA, -$G4NEUTRONHPDATA, -$G4RADIOACTIVEDATA -and $G4ABLADATA -variables do not need to be defined for this example. - -Once these variables have been set, simply type gmake to compile the Nanobeam -example. - -------->>3.2 VISUALIZATION +---->3 VISUALIZATION Visualization has not been implemented. -All results are stored in text files and can be displayed with the provided -ROOT macro file plot.C. - -This macro file shows : -- the beam profile along the nanobeam line (only for the computation of intrinsic - coefficients) -- the beam image (Y vs X) on target -- the beam emittance (THETA vs X) and (PHY vs Y) on target -- the grid shadow image ---->4. HOW TO RUN THE EXAMPLE -The code can be run with : +The variable G4ANALYSIS_USE must be set to 1. + +In order to generate histograms, at least one of the AIDA implementations should be + available. + +The code should be compiled with gmake and run with : > $G4WORDIR/bin/$G4SYSTEM/Nanobeam @@ -156,20 +103,26 @@ These macros files are stored in the ./macros directory. ---->5. PHYSICS -The example runs with protons with fluctuationg energies around 3 MeV. -Standard electromagnetic processes are activated by default. +The example runs with protons with fluctuating energies around 3 MeV. +Standard electromagnetic processes are activated by default (corresponding to the +Physics builder G4EmStandardPhysics), including the G4StepLimiter process. ---->6. SIMULATION OUTPUT AND RESULT ANALYZIS -The output results consists in several .txt files. - -These files can be easily analyzed using for example the provided ROOT macro -file plot.C; to do so : +All results are stored in the nanobeam.root file and can be displayed with the provided +ROOT macro file plot.C: * be sure to have ROOT installed on your machine * be sure to be in the nanobeam directory * launch ROOT by typing root * under your ROOT session, type in : .X plot.C to execute the macro file +This macro file shows : +- the beam profile along the nanobeam line (only for the computation of intrinsic + coefficients) +- the beam image (Y vs X) on target +- the beam emittance (THETA vs X) and (PHY vs Y) on target +- the grid shadow image (option) + --------------------------------------------------------------------------- Should you have any enquiry, please do not hesitate to contact: diff --git a/examples/advanced/nanobeam/include/HistoManager.hh b/examples/advanced/nanobeam/include/HistoManager.hh new file mode 100644 index 0000000000..99fbcab6be --- /dev/null +++ b/examples/advanced/nanobeam/include/HistoManager.hh @@ -0,0 +1,78 @@ +// +// ******************************************************************** +// * 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.1 2010/10/06 12:16:59 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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 ITuple; +} + +const G4int MaxNtupl = 3; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class HistoManager +{ + public: + + HistoManager(); + ~HistoManager(); + + void book(); + void save(); + void FillNtuple(G4int id, G4int column, G4double value); + void AddRowNtuple(G4int id); + + private: + + G4String fileName[2]; + G4String fileType; + G4String fileOption; + AIDA::IAnalysisFactory* af; + AIDA::ITree* tree; + AIDA::ITuple* ntupl0; + AIDA::ITuple* ntupl1; + AIDA::ITuple* ntupl2; + + G4bool factoryOn; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/nanobeam/include/PrimaryGeneratorAction.hh b/examples/advanced/nanobeam/include/PrimaryGeneratorAction.hh index 4b932c250b..c5c29f0d52 100755 --- a/examples/advanced/nanobeam/include/PrimaryGeneratorAction.hh +++ b/examples/advanced/nanobeam/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: PrimaryGeneratorAction.hh,v 1.2 2008/01/25 20:49:24 sincerti Exp $ +// $Id: PrimaryGeneratorAction.hh,v 1.3 2010/10/06 12:16:59 sincerti Exp $ // ------------------------------------------------------------------- #ifndef PrimaryGeneratorAction_h @@ -41,6 +41,8 @@ #include "DetectorConstruction.hh" #include "PrimaryGeneratorMessenger.hh" +#include "CLHEP/Matrix/Matrix.h" + class PrimaryGeneratorMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -57,8 +59,10 @@ public: G4ParticleGun* GetParticleGun() {return particleGun;}; void SetEmission (G4int); + CLHEP::HepMatrix GetMatrix(){return beamMatrix;}; + G4int emission; - + private: G4double XYofAngle(G4double); @@ -68,6 +72,11 @@ private: PrimaryGeneratorMessenger* gunMessenger; G4double angleMax; G4bool shoot; + + // Matrix + CLHEP::HepMatrix beamMatrix; + + }; #endif diff --git a/examples/advanced/nanobeam/include/RunAction.hh b/examples/advanced/nanobeam/include/RunAction.hh index c3a477e373..eebcf94604 100755 --- a/examples/advanced/nanobeam/include/RunAction.hh +++ b/examples/advanced/nanobeam/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: RunAction.hh,v 1.2 2008/01/25 20:49:24 sincerti Exp $ +// $Id: RunAction.hh,v 1.3 2010/10/06 12:16:59 sincerti Exp $ // ------------------------------------------------------------------- #ifndef RunAction_h @@ -33,8 +33,12 @@ #include "G4UserRunAction.hh" #include "globals.hh" #include +#include "CLHEP/Matrix/Matrix.h" +#include "CLHEP/Matrix/Vector.h" #include "DetectorConstruction.hh" +#include "PrimaryGeneratorAction.hh" +#include "HistoManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -44,16 +48,35 @@ class RunAction : public G4UserRunAction { public: - RunAction(DetectorConstruction*); + RunAction(DetectorConstruction*, PrimaryGeneratorAction*, HistoManager*); ~RunAction(); void BeginOfRunAction(const G4Run*); void EndOfRunAction(const G4Run*); + G4int GetRow(){return row;} + void AddRow() {row=row+1;} + + void AddToXVector(float v) {xVector(row)=v;} + void AddToYVector(float v) {yVector(row)=v;} + void AddToThetaVector(float v) {thetaVector(row)=v;} + void AddToPhiVector(float v) {phiVector(row)=v;} + private: DetectorConstruction* detector; - + PrimaryGeneratorAction* primary; + HistoManager* hist; + + // Matrix handling + + G4int row; + + CLHEP::HepVector xVector; + CLHEP::HepVector yVector; + CLHEP::HepVector thetaVector; + CLHEP::HepVector phiVector; + CLHEP::HepMatrix beamMatrix; }; #endif diff --git a/examples/advanced/nanobeam/include/SteppingAction.hh b/examples/advanced/nanobeam/include/SteppingAction.hh index 9c396bb112..90ed519f1b 100755 --- a/examples/advanced/nanobeam/include/SteppingAction.hh +++ b/examples/advanced/nanobeam/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: SteppingAction.hh,v 1.2 2008/01/25 20:49:24 sincerti Exp $ +// $Id: SteppingAction.hh,v 1.3 2010/10/06 12:16:59 sincerti Exp $ // ------------------------------------------------------------------- #ifndef SteppingAction_h @@ -36,13 +36,16 @@ #include "RunAction.hh" #include "DetectorConstruction.hh" #include "PrimaryGeneratorAction.hh" +#include "HistoManager.hh" +#include "G4Proton.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... class SteppingAction : public G4UserSteppingAction { public: - SteppingAction(RunAction*,DetectorConstruction*,PrimaryGeneratorAction*); + SteppingAction(RunAction*,DetectorConstruction*,PrimaryGeneratorAction*,HistoManager*); ~SteppingAction(); void UserSteppingAction(const G4Step*); @@ -51,7 +54,8 @@ private: RunAction* Run; DetectorConstruction* Detector; PrimaryGeneratorAction* Primary; - + HistoManager* Histo; + G4double xIn,x0; G4double yIn,y0; G4double zIn,z0; diff --git a/examples/advanced/nanobeam/nanobeam.out b/examples/advanced/nanobeam/nanobeam.out index 9ebb2af2de..b6c336bcb9 100644 --- a/examples/advanced/nanobeam/nanobeam.out +++ b/examples/advanced/nanobeam/nanobeam.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -14,27 +14,15 @@ ***** Table : Nb of materials = 2 ***** - Material: H2O density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 70.893 eV + Material: H2O density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.537 cm Imean: 68.998 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: Vacuum density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 113804112.800 pc Imean: 21.800 eV temperature: 273.15 K pressure: 1.00 atm + Material: Vacuum density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 114561548.020 pc Imean: 19.200 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Vacuum ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % ### 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 *** @@ -49,82 +37,84 @@ PhysicsList::SetCuts:CutLength : 1 um phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV -hIoni: for anti_proton SubType= 2 +hBrems: for proton 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 - 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 + hBrem : Emin= 0 eV Emax= 10 TeV + +hPairProd: for proton 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 ========= Table of registered couples ============================== @@ -138,7 +128,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No ==================================================================== -> Event= 1: X0(mm)= 0 X0(mm) = 0 Z0(m) = -8.87 THETA(mrad)= -0.09 PHI(mrad)= -0.09 E0(MeV)= 2.9997 - =>IMAGE : X(microns)=-3.5867089010791 Y(microns)=-0.45887737486595 THETA(mrad)=-5.8367647764082 PHI(mrad)=-9.1305836538323 + =>IMAGE : X(microns)=-3.5865661916453 Y(microns)=-0.45894452924556 THETA(mrad)=-5.8367643745493 PHI(mrad)=-9.1305838679271 -> Event= 2: X0(mm)= 0 X0(mm) = 0 Z0(m) = -8.87 THETA(mrad)= -0.03 PHI(mrad)= -0.09 E0(MeV)= 2.9997 =>IMAGE : X(microns)=-0.48858394982666 Y(microns)=-0.30133481278277 THETA(mrad)=-1.9441075333148 PHI(mrad)=-9.1297089122698 @@ -147,7 +137,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No =>IMAGE : X(microns)=0.48858394982666 Y(microns)=-0.30133481278277 THETA(mrad)=1.9441075333148 PHI(mrad)=-9.1297089122698 -> Event= 4: X0(mm)= 0 X0(mm) = 0 Z0(m) = -8.87 THETA(mrad)= 0.09 PHI(mrad)= -0.09 E0(MeV)= 2.9997 - =>IMAGE : X(microns)=3.5867089010791 Y(microns)=-0.45887737486595 THETA(mrad)=5.8367647764082 PHI(mrad)=-9.1305836538323 + =>IMAGE : X(microns)=3.5865661916453 Y(microns)=-0.45894452924556 THETA(mrad)=5.8367643745493 PHI(mrad)=-9.1305838679271 -> Event= 5: X0(mm)= 0 X0(mm) = 0 Z0(m) = -8.87 THETA(mrad)= -0.09 PHI(mrad)= -0.03 E0(MeV)= 2.9997 =>IMAGE : X(microns)=-3.3399324435349 Y(microns)=-0.11876365231005 THETA(mrad)=-5.8363619945219 PHI(mrad)=-3.0434522502772 @@ -174,7 +164,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No =>IMAGE : X(microns)=3.3399324435349 Y(microns)=0.11876365231005 THETA(mrad)=5.8363619945219 PHI(mrad)=3.0434522502772 -> Event= 13: X0(mm)= 0 X0(mm) = 0 Z0(m) = -8.87 THETA(mrad)= -0.09 PHI(mrad)= 0.09 E0(MeV)= 2.9997 - =>IMAGE : X(microns)=-3.5867089010791 Y(microns)=0.45887737486595 THETA(mrad)=-5.8367647764082 PHI(mrad)=9.1305836538323 + =>IMAGE : X(microns)=-3.5865661916453 Y(microns)=0.45894452924556 THETA(mrad)=-5.8367643745493 PHI(mrad)=9.1305838679271 -> Event= 14: X0(mm)= 0 X0(mm) = 0 Z0(m) = -8.87 THETA(mrad)= -0.03 PHI(mrad)= 0.09 E0(MeV)= 2.9997 =>IMAGE : X(microns)=-0.48858394982666 Y(microns)=0.30133481278277 THETA(mrad)=-1.9441075333148 PHI(mrad)=9.1297089122698 @@ -183,7 +173,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No =>IMAGE : X(microns)=0.48858394982666 Y(microns)=0.30133481278277 THETA(mrad)=1.9441075333148 PHI(mrad)=9.1297089122698 -> Event= 16: X0(mm)= 0 X0(mm) = 0 Z0(m) = -8.87 THETA(mrad)= 0.09 PHI(mrad)= 0.09 E0(MeV)= 2.9997 - =>IMAGE : X(microns)=3.5867089010791 Y(microns)=0.45887737486595 THETA(mrad)=5.8367647764082 PHI(mrad)=9.1305836538323 + =>IMAGE : X(microns)=3.5865661916453 Y(microns)=0.45894452924556 THETA(mrad)=5.8367643745493 PHI(mrad)=9.1305838679271 -> Event= 17: 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 @@ -237,33 +227,33 @@ Index : 0 used in the geometry : Yes recalculation needed : No ===> NANOBEAM LINE INTRINSIC ABERRATION COEFFICIENTS (units of micrometer and mrad) : = - -0.094690809344595 + -0.09470421613918 = - -2071.1947571668 + -2071.1924184711 = - 3270.7592243022 + 3270.7732975667 = - 379.92859202148 + 379.9426794788 = - 64.763648771585 + 64.763639649997 = - -0.04083707092393 + -0.04083114714982 = - -377.55010879544 + -377.55132500714 = - 243.05589696122 + 243.04931256115 = - 158.26722168363 + 158.26074242661 = - 101.40562696063 + 101.40562790136 diff --git a/examples/advanced/nanobeam/plot.C b/examples/advanced/nanobeam/plot.C index fea975362c..a2afadbb6a 100755 --- a/examples/advanced/nanobeam/plot.C +++ b/examples/advanced/nanobeam/plot.C @@ -1,4 +1,6 @@ { +// Use this macro for the visualisation of coefficient computation + gROOT->Reset(); gROOT->SetStyle("Plain"); @@ -8,130 +10,51 @@ c1 = new TCanvas ("c1","",200,10,800,800); c1.Divide(2,2); - Float_t x,y,z,theta,phi,nrj; - Int_t ncols; + TFile f("nanobeam.root"); - FILE *fp1 = fopen("./results/profile.txt","r"); - if (fp1==0) goto jump1; + TNtuple* ntuple0; + ntuple0 = (TNtuple*)f->Get("ntuple0"); - TNtuple *ntuple1 = new TNtuple("ntuple1","file1","x:y:z"); - while (1) - { - ncols = fscanf(fp1,"%f %f %f",&x, &y, &z); - if (ncols < 0) break; - ntuple1->Fill(x/1000,y/1000,z/1000); - } - fclose(fp1); - c1.cd(1); - ntuple1->SetMarkerSize(.2); - ntuple1->SetMarkerColor(2); - ntuple1->SetMarkerStyle(20); - ntuple1->Draw("x:y:z",""); - htemp->GetXaxis()->SetLabelSize(0.025); - htemp->GetYaxis()->SetLabelSize(0.025); - htemp->GetZaxis()->SetLabelSize(0.025); - htemp->GetXaxis()->SetTitleSize(0.035); - htemp->GetYaxis()->SetTitleSize(0.035); - htemp->GetZaxis()->SetTitleSize(0.035); - htemp->GetXaxis()->SetTitleOffset(1.4); - htemp->GetYaxis()->SetTitleOffset(1.4); - htemp->GetZaxis()->SetTitleOffset(1.4); - htemp->GetXaxis()->SetTitle("Z (m)"); - htemp->GetYaxis()->SetTitle("X (mm)"); - htemp->GetZaxis()->SetTitle("Y (mm)"); - htemp->SetTitle("Nanobeam profile"); + ntuple0->SetMarkerSize(.2); + ntuple0->SetMarkerColor(2); + ntuple0->SetMarkerStyle(20); + ntuple0->Draw("xIn:yIn:zIn",""); - jump1: - - FILE *fp1 = fopen("./results/x.txt","r"); - if (fp1==0) goto jump2; - FILE *fp2 = fopen("./results/y.txt","r"); - FILE *fp3 = fopen("./results/theta.txt","r"); - FILE *fp4 = fopen("./results/phi.txt","r"); - TNtuple *ntuple2 = new TNtuple("ntuple2","file2","x:y:theta:phi"); - while (1) - { - ncols = fscanf(fp1,"%f",&x); - if (ncols < 0) break; - ncols = fscanf(fp2,"%f",&y); - ncols = fscanf(fp3,"%f",&theta); - ncols = fscanf(fp4,"%f",&phi); - ntuple2->Fill(x,y,theta,phi); - } - fclose(fp1); - fclose(fp2); - fclose(fp3); - fclose(fp4); - - c1.cd(2); + c1.cd(2); + TNtuple* ntuple2; + ntuple2 = (TNtuple*)f->Get("ntuple2"); gStyle->SetPalette(1); ntuple2->SetMarkerColor(2); ntuple2->SetMarkerStyle(20); gPad->SetLogz(); - ntuple2->Draw("y:x","","hcolz"); - htemp->GetXaxis()->SetLabelSize(0.025); - htemp->GetYaxis()->SetLabelSize(0.025); - htemp->GetXaxis()->SetTitleSize(0.035); - htemp->GetYaxis()->SetTitleSize(0.035); - htemp->GetXaxis()->SetTitleOffset(1.4); - htemp->GetYaxis()->SetTitleOffset(1.4); - htemp->GetXaxis()->SetTitle("X (micrometer)"); - htemp->GetYaxis()->SetTitle("Y (micrometer)"); - htemp->SetTitle("Nanobeam image"); + ntuple2->Draw("yIn:xIn","","hcolz"); c1.cd(3); gStyle->SetPalette(1); ntuple2->SetMarkerColor(4); ntuple2->SetMarkerStyle(20); gPad->SetLogz(); - ntuple2->Draw("theta:x","","hcolz"); - htemp->GetXaxis()->SetLabelSize(0.025); - htemp->GetYaxis()->SetLabelSize(0.025); - htemp->GetXaxis()->SetTitleSize(0.035); - htemp->GetYaxis()->SetTitleSize(0.035); - htemp->GetXaxis()->SetTitleOffset(1.4); - htemp->GetYaxis()->SetTitleOffset(1.4); - htemp->GetXaxis()->SetTitle("X (micrometer)"); - htemp->GetYaxis()->SetTitle("THETA (mrad)"); - htemp->SetTitle("Nanobeam image emittance (X,THETA)"); + ntuple2->Draw("thetaIn:xIn","","hcolz"); c1.cd(4); gStyle->SetPalette(1); ntuple2->SetMarkerColor(4); ntuple2->SetMarkerStyle(20); gPad->SetLogz(); - ntuple2->Draw("phi:y","","hcolz"); - htemp->GetXaxis()->SetLabelSize(0.025); - htemp->GetYaxis()->SetLabelSize(0.025); - htemp->GetXaxis()->SetTitleSize(0.035); - htemp->GetYaxis()->SetTitleSize(0.035); - htemp->GetXaxis()->SetTitleOffset(1.4); - htemp->GetYaxis()->SetTitleOffset(1.4); - htemp->GetXaxis()->SetTitle("Y (micrometer)"); - htemp->GetYaxis()->SetTitle("PHI (mrad)"); - htemp->SetTitle("Nanobeam image emittance (Y,PHI)"); + ntuple2->Draw("phiIn:yIn","","hcolz"); jump2: - FILE *fp3 = fopen("./results/grid.txt","r"); - if (fp3==0) goto jump3; - - TNtuple *ntuple3 = new TNtuple("ntuple3","file3","x:y:nrj"); - while (1) - { - ncols = fscanf(fp3,"%f %f %f",&x, &y, &nrj); - if (ncols < 0) break; - ntuple3->Fill(x/1000,y/1000,nrj); - } - fclose(fp3); - +/* c1.cd(1); gStyle->SetPalette(1); - ntuple3->SetMarkerSize(.2); - ntuple3->SetMarkerColor(2); - ntuple3->SetMarkerStyle(20); + TNtuple* ntuple1; + ntuple1 = (TNtuple*)f->Get("ntuple1"); + ntuple1->SetMarkerSize(.2); + ntuple1->SetMarkerColor(2); + ntuple1->SetMarkerStyle(20); gPad->SetLogz(); - ntuple3->Draw("y:x","","hcolz"); + ntuple1->Draw("yIn:xIn","","hcolz"); htemp->GetXaxis()->SetLabelSize(0.025); htemp->GetYaxis()->SetLabelSize(0.025); htemp->GetXaxis()->SetTitleSize(0.035); @@ -141,6 +64,5 @@ jump2: htemp->GetXaxis()->SetTitle("X (mm)"); htemp->GetYaxis()->SetTitle("Y (mm)"); htemp->SetTitle("Grid shadow"); - -jump3: +*/ } diff --git a/examples/advanced/nanobeam/src/HistoManager.cc b/examples/advanced/nanobeam/src/HistoManager.cc new file mode 100644 index 0000000000..740c329411 --- /dev/null +++ b/examples/advanced/nanobeam/src/HistoManager.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: HistoManager.cc,v 1.2 2010/11/09 23:36:31 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "HistoManager.hh" +#include "G4UnitsTable.hh" + +#ifdef G4ANALYSIS_USE +#include "AIDA/AIDA.h" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoManager::HistoManager() +:af(0),tree(0),factoryOn(false) +{ +#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] = "nanobeam"; + fileType = "root"; + fileOption = "export=root"; + ntupl0=0; + ntupl1=0; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoManager::~HistoManager() +{ +#ifdef G4ANALYSIS_USE + delete af; +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::book() +{ +#ifdef G4ANALYSIS_USE + if(!af) return; + + // Creating a tree mapped to an hbook file. + fileName[1] = fileName[0] + "." + fileType; + G4bool readOnly = false; + G4bool createNew = true; + AIDA::ITreeFactory* tf = af->createTreeFactory(); + 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 & ntuplr factory + AIDA::IHistogramFactory* hf = af->createHistogramFactory(*tree); + AIDA::ITupleFactory* ntf = af->createTupleFactory(*tree); + + ntupl0 = ntf->create( "ntuple0", "Beam profile", "double xIn, yIn, zIn"); + ntupl1 = ntf->create( "ntuple1", "Grid", "double xIn, yIn, e"); + ntupl2 = ntf->create( "ntuple2", "Coef", "double xIn, yIn, thetaIn, phiIn"); + factoryOn = true; + + delete hf; + 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) { + + 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::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(nt==0) ntupl0->fill(column, value); + if(nt==1) ntupl1->fill(column, value); + if(nt==2) ntupl2->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(nt==0) ntupl0->addRow(); + if(nt==1) ntupl1->addRow(); + if(nt==2) ntupl2->addRow(); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/advanced/nanobeam/src/PhysicsList.cc b/examples/advanced/nanobeam/src/PhysicsList.cc index 18e0ea2fc0..4a70d77979 100755 --- a/examples/advanced/nanobeam/src/PhysicsList.cc +++ b/examples/advanced/nanobeam/src/PhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: PhysicsList.cc,v 1.4 2008/12/18 12:56:26 gunter Exp $ +// $Id: PhysicsList.cc,v 1.6 2010/10/06 12:16:59 sincerti Exp $ // ------------------------------------------------------------------- #include "PhysicsList.hh" @@ -105,11 +105,12 @@ void PhysicsList::ConstructProcess() #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" +#include "G4MuMultipleScattering.hh" #include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" #include "G4MuPairProduction.hh" @@ -117,6 +118,8 @@ void PhysicsList::ConstructProcess() #include "G4hMultipleScattering.hh" #include "G4ionIonisation.hh" #include "G4hIonisation.hh" +#include "G4hBremsstrahlung.hh" +#include "G4hPairProduction.hh" #include "G4StepLimiter.hh" @@ -125,6 +128,10 @@ void PhysicsList::ConstructProcess() void PhysicsList::ConstructEM() { +// **************************************************************** +// Identical to G4EmStandardPhysics but added G4StepLimiter process +// **************************************************************** + theParticleIterator->reset(); while( (*theParticleIterator)() ){ @@ -141,24 +148,24 @@ void PhysicsList::ConstructEM() } else if (particleName == "e-") { - pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1); - pmanager->AddProcess(new G4eIonisation, -1, 2, 2); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + 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+") { - pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1); - pmanager->AddProcess(new G4eIonisation, -1, 2, 2); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); + 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-" ) { - 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 == "alpha" || particleName == "He3" || @@ -167,14 +174,13 @@ void PhysicsList::ConstructEM() 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 and short-lived + } else if (particleName == "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); - pmanager->AddProcess(new G4StepLimiter(),-1,-1,3); + pmanager->AddProcess(new G4StepLimiter(),-1,-1,5); } } diff --git a/examples/advanced/nanobeam/src/PrimaryGeneratorAction.cc b/examples/advanced/nanobeam/src/PrimaryGeneratorAction.cc index 41f0478024..7da57082b5 100755 --- a/examples/advanced/nanobeam/src/PrimaryGeneratorAction.cc +++ b/examples/advanced/nanobeam/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: PrimaryGeneratorAction.cc,v 1.4 2008/03/01 09:04:29 sincerti Exp $ +// $Id: PrimaryGeneratorAction.cc,v 1.5 2010/10/06 12:16:59 sincerti Exp $ // ------------------------------------------------------------------- #include "PrimaryGeneratorAction.hh" @@ -50,6 +50,11 @@ PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* DC) particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); gunMessenger = new PrimaryGeneratorMessenger(this); + + // Matrix + + beamMatrix = CLHEP::HepMatrix(32,32); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -131,56 +136,52 @@ if (emission==1) phi = phi * 1000; theta = theta * 1000; - FILE *myFile; - myFile=fopen ("results/matrix.txt","a"); - fprintf(myFile, - "%e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e %e \n", - - cte, - - theta, - phi, - DE, - - theta * theta, - theta * phi, - phi * phi, - theta * DE, - phi * DE, - - theta * theta * theta, - theta * theta * phi, - theta * phi * phi, - phi * phi * phi, - theta * theta * DE, - theta * phi * DE, - phi * phi * DE, - - theta * theta * theta * phi, - theta * theta * phi * phi, - theta * phi * phi * phi, - theta * theta * theta * DE, - theta * theta * phi * DE, - theta * phi * phi * DE, - phi * phi * phi * DE, - - theta * theta * theta * phi * phi, - theta * theta * phi * phi * phi, - theta * theta * theta * phi * DE, - theta * theta * phi * phi * DE, - theta * phi * phi * phi * DE, - - theta * theta * theta * phi * phi * phi, - theta * theta * theta * phi * phi * DE, - theta * theta * phi * phi * phi * DE, - - theta * theta * theta * phi * phi * phi * DE - - ); + // Matrix filling up + beamMatrix(numEvent,1) = cte; + + beamMatrix(numEvent,2) = theta; + beamMatrix(numEvent,3) = phi; + beamMatrix(numEvent,4) = DE; + + beamMatrix(numEvent,5) = theta * theta; + beamMatrix(numEvent,6) = theta * phi; + beamMatrix(numEvent,7) = phi * phi; + beamMatrix(numEvent,8) = theta * DE; + beamMatrix(numEvent,9) = phi * DE; + + beamMatrix(numEvent,10) = theta * theta * theta; + beamMatrix(numEvent,11) = theta * theta * phi; + beamMatrix(numEvent,12) = theta * phi * phi; + beamMatrix(numEvent,13) = phi * phi * phi; + beamMatrix(numEvent,14) = theta * theta * DE; + beamMatrix(numEvent,15) = theta * phi * DE; + beamMatrix(numEvent,16) = phi * phi * DE; + + beamMatrix(numEvent,17) = theta * theta * theta * phi; + beamMatrix(numEvent,18) = theta * theta * phi * phi; + beamMatrix(numEvent,19) = theta * phi * phi * phi; + beamMatrix(numEvent,20) = theta * theta * theta * DE; + beamMatrix(numEvent,21) = theta * theta * phi * DE; + beamMatrix(numEvent,22) = theta * phi * phi * DE; + beamMatrix(numEvent,23) = phi * phi * phi * DE; + + beamMatrix(numEvent,24) = theta * theta * theta * phi * phi; + beamMatrix(numEvent,25) = theta * theta * phi * phi * phi; + beamMatrix(numEvent,26) = theta * theta * theta * phi * DE; + beamMatrix(numEvent,27) = theta * theta * phi * phi * DE; + beamMatrix(numEvent,28) = theta * phi * phi * phi * DE; + + beamMatrix(numEvent,29) = theta * theta * theta * phi * phi * phi; + beamMatrix(numEvent,30) = theta * theta * theta * phi * phi * DE; + beamMatrix(numEvent,31) = theta * theta * phi * phi * phi * DE; + + beamMatrix(numEvent,32) = theta * theta * theta * phi * phi * phi * DE; + + // + phi = phi / 1000; theta = theta / 1000; - fclose (myFile); } // end coefficient diff --git a/examples/advanced/nanobeam/src/RunAction.cc b/examples/advanced/nanobeam/src/RunAction.cc index dc03158fd1..99316accd0 100755 --- a/examples/advanced/nanobeam/src/RunAction.cc +++ b/examples/advanced/nanobeam/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: RunAction.cc,v 1.3 2008/04/10 12:02:57 sincerti Exp $ +// $Id: RunAction.cc,v 1.4 2010/10/06 12:16:59 sincerti Exp $ // ------------------------------------------------------------------- #include "G4SteppingManager.hh" @@ -55,8 +55,9 @@ using namespace std; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -RunAction::RunAction(DetectorConstruction* det) -:detector(det) +RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* pri, +HistoManager* hi) +:detector(det),primary(pri),hist(hi) { } @@ -69,15 +70,17 @@ RunAction::~RunAction() void RunAction::BeginOfRunAction(const G4Run* /*aRun*/) { - // Cleaning result files - system ("rm -rf ./results/x.txt"); - system ("rm -rf ./results/y.txt"); - system ("rm -rf ./results/theta.txt"); - system ("rm -rf ./results/phi.txt"); - system ("rm -rf ./results/image.txt"); - system ("rm -rf ./results/matrix.txt"); - system ("rm -rf ./results/profile.txt"); - system ("rm -rf ./results/grid.txt"); + // Vector initialization + row=0; + + xVector = CLHEP::HepVector(32); + yVector = CLHEP::HepVector(32); + thetaVector = CLHEP::HepVector(32); + phiVector = CLHEP::HepVector(32); + + // Histograms + hist->book(); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -88,155 +91,53 @@ void RunAction::EndOfRunAction(const G4Run* /*aRun*/) if (detector->GetCoef()==1) { - CLHEP::HepMatrix m,s; - m = CLHEP::HepMatrix(32,32); - s = CLHEP::HepMatrix(32,32); - CLHEP::HepVector v; - v = CLHEP::HepVector(32); - - float aa,ab,ac,ad,ae,af,ag,ah,ai,aj; - float ba,bb,bc,bd,be,bf,bg,bh,bi,bj; - float ca,cb,cc,cd,ce,cf,cg,ch,ci,cj; - float da,db; - float vv; - - // MATRIX READING - - int ncols; - int nlines=1; - - FILE * fp1 = fopen("results/matrix.txt","r"); - while (1) - { - ncols = fscanf(fp1, - "%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f", - &aa,&ab,&ac,&ad,&ae,&af,&ag,&ah,&ai,&aj, - &ba,&bb,&bc,&bd,&be,&bf,&bg,&bh,&bi,&bj, - &ca,&cb,&cc,&cd,&ce,&cf,&cg,&ch,&ci,&cj, - &da,&db - ); - - if (ncols<0) break; - if (nlines>32) G4Exception("Try to read more than 32 lines in matrix file !"); - - m(nlines,1)=aa; - m(nlines,2)=ab; - m(nlines,3)=ac; - m(nlines,4)=ad; - m(nlines,5)=ae; - m(nlines,6)=af; - m(nlines,7)=ag; - m(nlines,8)=ah; - m(nlines,9)=ai; - m(nlines,10)=aj; - m(nlines,11)=ba; - m(nlines,12)=bb; - m(nlines,13)=bc; - m(nlines,14)=bd; - m(nlines,15)=be; - m(nlines,16)=bf; - m(nlines,17)=bg; - m(nlines,18)=bh; - m(nlines,19)=bi; - m(nlines,20)=bj; - m(nlines,21)=ca; - m(nlines,22)=cb; - m(nlines,23)=cc; - m(nlines,24)=cd; - m(nlines,25)=ce; - m(nlines,26)=cf; - m(nlines,27)=cg; - m(nlines,28)=ch; - m(nlines,29)=ci; - m(nlines,30)=cj; - m(nlines,31)=da; - m(nlines,32)=db; - - nlines++; + CLHEP::HepMatrix m; - } - fclose(fp1); - + // VECTOR READING // VECTOR READING + m = CLHEP::HepMatrix(32,32); + m = primary->GetMatrix(); G4cout << G4endl; G4cout << "===> NANOBEAM LINE INTRINSIC ABERRATION COEFFICIENTS (units of micrometer and mrad) :" << G4endl; G4cout << G4endl; int inv; - nlines = 1; - FILE * fp2 = fopen("results/x.txt","r"); - while (1) - { - ncols = fscanf(fp2,"%f", &vv); - if (ncols<0) break; - v(nlines)=vv; - nlines++; - } - fclose(fp2); m.invert(inv); - CLHEP::HepVector seb(32,0); - seb=m*v; + CLHEP::HepVector tmp(32,0); + tmp=m*xVector; CLHEP::HepVector b; - b=seb.sub(2,2); G4cout << "=" << b << G4endl; - b=seb.sub(8,8); G4cout << "=" << b << G4endl; - b=seb.sub(10,10); G4cout << "=" << b << G4endl; - b=seb.sub(12,12); G4cout << "=" << b << G4endl; + b=tmp.sub(2,2); G4cout << "=" << b << G4endl; + b=tmp.sub(8,8); G4cout << "=" << b << G4endl; + b=tmp.sub(10,10); G4cout << "=" << b << G4endl; + b=tmp.sub(12,12); G4cout << "=" << b << G4endl; m.invert(inv); - nlines = 1; - FILE * fp3 = fopen("results/theta.txt","r"); - while (1) - { - ncols = fscanf(fp3,"%f", &vv); - if (ncols<0) break; - v(nlines)=vv; - nlines++; - } - fclose(fp3); + m.invert(inv); + tmp = m*thetaVector; + m.invert(inv); + b=tmp.sub(2,2); G4cout << "=" << b << G4endl; m.invert(inv); - seb = m*v; - m.invert(inv); - b=seb.sub(2,2); G4cout << "=" << b << G4endl; - - nlines = 1; - FILE * fp4 = fopen("results/y.txt","r"); - while (1) - { - ncols = fscanf(fp4,"%f", &vv); - if (ncols<0) break; - v(nlines)=vv; - nlines++; - } - fclose(fp4); - m.invert(inv); - seb=m*v; - b=seb.sub(3,3); G4cout << "=" << b << G4endl; - b=seb.sub(9,9); G4cout << "=" << b << G4endl; - b=seb.sub(11,11); G4cout << "=" << b << G4endl; - b=seb.sub(13,13); G4cout << "=" << b << G4endl; + tmp=m*yVector; + b=tmp.sub(3,3); G4cout << "=" << b << G4endl; + b=tmp.sub(9,9); G4cout << "=" << b << G4endl; + b=tmp.sub(11,11); G4cout << "=" << b << G4endl; + b=tmp.sub(13,13); G4cout << "=" << b << G4endl; m.invert(inv); - nlines = 1; - FILE * fp5 = fopen("results/phi.txt","r"); - while (1) - { - ncols = fscanf(fp5,"%f", &vv); - if (ncols<0) break; - v(nlines)=vv; - nlines++; - } - fclose(fp5); m.invert(inv); - seb = m*v; + tmp = m*phiVector; m.invert(inv); - b=seb.sub(3,3); G4cout << "=" << b << G4endl; + b=tmp.sub(3,3); G4cout << "=" << b << G4endl; } + //save histograms + hist->save(); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/nanobeam/src/SteppingAction.cc b/examples/advanced/nanobeam/src/SteppingAction.cc index 951a6e9d6c..574818a9c2 100755 --- a/examples/advanced/nanobeam/src/SteppingAction.cc +++ b/examples/advanced/nanobeam/src/SteppingAction.cc @@ -24,15 +24,15 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: SteppingAction.cc,v 1.2 2008/01/25 20:49:24 sincerti Exp $ +// $Id: SteppingAction.cc,v 1.4 2010/10/06 13:21:06 sincerti Exp $ // ------------------------------------------------------------------- #include "SteppingAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -SteppingAction::SteppingAction(RunAction* run,DetectorConstruction* det,PrimaryGeneratorAction* pri) -:Run(run),Detector(det),Primary(pri) +SteppingAction::SteppingAction(RunAction* run,DetectorConstruction* det,PrimaryGeneratorAction* pri, HistoManager* his) +:Run(run),Detector(det),Primary(pri),Histo(his) { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -46,28 +46,31 @@ void SteppingAction::UserSteppingAction(const G4Step* s) { +if (Detector->GetCoef()==1) +{ -if ( (s->GetTrack()->GetDynamicParticle()->GetDefinition() ->GetParticleName() == "proton") + if ( (s->GetTrack()->GetDynamicParticle()->GetDefinition() == + G4Proton::ProtonDefinition()) /* // for doublet - && (s->GetTrack()->GetPosition().z()>-3230.2) - && (s->GetTrack()->GetPosition().z()<-3229.8) + && (s->GetPostStepPoint()->GetPosition().z()/mm>-3230.2) + && (s->GetPostStepPoint()->GetPosition().z()/mm<-3229.8) */ // for triplet and whole line - && (s->GetTrack()->GetPosition().z()>249.99999) - && (s->GetTrack()->GetPosition().z()<250.00001) + && (s->GetPostStepPoint()->GetPosition().z()/mm>249.99999) + && (s->GetPostStepPoint()->GetPosition().z()/mm<250.00001) && (s->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "Vol") && (s->GetPostStepPoint()->GetPhysicalVolume()->GetName() == "World") ) { - xIn = s->GetTrack()->GetPosition().x(); - yIn = s->GetTrack()->GetPosition().y(); - zIn = s->GetTrack()->GetPosition().z(); + xIn = s->GetPostStepPoint()->GetPosition().x(); + yIn = s->GetPostStepPoint()->GetPosition().y(); + zIn = s->GetPostStepPoint()->GetPosition().z(); E = s->GetTrack()->GetKineticEnergy(); G4ThreeVector angleIn; @@ -78,70 +81,58 @@ if ( (s->GetTrack()->GetDynamicParticle()->GetDefinition() ->GetParticleN G4cout << " =>IMAGE : X(microns)=" << xIn/micrometer <<" Y(microns)="<< yIn/micrometer << " THETA(mrad)=" << (thetaIn/mrad) << " PHI(mrad)=" << (phiIn/mrad) << G4endl; G4cout << G4endl; - - FILE *myFile1; - myFile1=fopen ("results/x.txt","a"); - fprintf(myFile1,"%e \n",xIn*1000); - fclose (myFile1); - FILE *myFile2; - myFile2=fopen ("results/y.txt","a"); - fprintf(myFile2,"%e \n",yIn*1000); - fclose (myFile2); + Run->AddRow(); + Run->AddToXVector(xIn/um); + Run->AddToYVector(yIn/um); + Run->AddToThetaVector(thetaIn/mrad); + Run->AddToPhiVector(phiIn/mrad); - FILE *myFile3; - myFile3=fopen ("results/theta.txt","a"); - fprintf(myFile3,"%e \n",thetaIn*1000); - fclose (myFile3); - - FILE *myFile4; - myFile4=fopen ("results/phi.txt","a"); - fprintf(myFile4,"%e \n",phiIn*1000); - fclose (myFile4); - - FILE *myFile5; - myFile5=fopen ("results/image.txt","a"); - fprintf(myFile5,"%e %e\n",xIn*1000, yIn*1000); - fclose (myFile5); + Histo->FillNtuple(2, 0, xIn/um); + Histo->FillNtuple(2, 1, yIn/um); + Histo->FillNtuple(2, 2, thetaIn/mrad); + Histo->FillNtuple(2, 3, phiIn/mrad); + Histo->AddRowNtuple(2); } +} if (Detector->GetProfile()==1) { if ( - (s->GetTrack()->GetDynamicParticle()->GetDefinition() ->GetParticleName() == "proton") + (s->GetTrack()->GetDynamicParticle()->GetDefinition() == G4Proton::ProtonDefinition()) && (s->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "Vol") && (s->GetPostStepPoint()->GetPhysicalVolume()->GetName() == "Vol") ) { - xIn = s->GetTrack()->GetPosition().x(); - yIn = s->GetTrack()->GetPosition().y(); - zIn = s->GetTrack()->GetPosition().z(); - FILE *myFile6; - myFile6=fopen ("results/profile.txt","a"); - fprintf(myFile6,"%e %e %e\n",xIn*1000, yIn*1000, zIn); - fclose (myFile6); + xIn = s->GetPostStepPoint()->GetPosition().x(); + yIn = s->GetPostStepPoint()->GetPosition().y(); + zIn = s->GetPostStepPoint()->GetPosition().z(); + + Histo->FillNtuple(0, 0, xIn/um); + Histo->FillNtuple(0, 1, yIn/um); + Histo->FillNtuple(0, 2, zIn/mm); + Histo->AddRowNtuple(0); } - } if (Detector->GetGrid()==1) { if ( - (s->GetTrack()->GetDynamicParticle()->GetDefinition() ->GetParticleName() == "proton") + (s->GetTrack()->GetDynamicParticle()->GetDefinition() == G4Proton::ProtonDefinition()) && (s->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "ControlVol_GridShadow") && (s->GetPostStepPoint()->GetPhysicalVolume()->GetName() == "World") ) { - xIn = s->GetTrack()->GetPosition().x(); - yIn = s->GetTrack()->GetPosition().y(); + xIn = s->GetPostStepPoint()->GetPosition().x(); + yIn = s->GetPostStepPoint()->GetPosition().y(); E = s->GetTrack()->GetKineticEnergy(); - FILE *myFile7; - myFile7=fopen ("results/grid.txt","a"); - fprintf(myFile7,"%e %e %e\n",xIn*1000, yIn*1000, E); - fclose (myFile7); - } + Histo->FillNtuple(1, 0, xIn/um); + Histo->FillNtuple(1, 1, yIn/um); + Histo->FillNtuple(1, 2, E/MeV); + Histo->AddRowNtuple(1); + } } // end diff --git a/examples/advanced/purging_magnet/GNUmakefile b/examples/advanced/purging_magnet/GNUmakefile index 2fb21bf30f..d2e74bccc6 100644 --- a/examples/advanced/purging_magnet/GNUmakefile +++ b/examples/advanced/purging_magnet/GNUmakefile @@ -1,5 +1,5 @@ # -------------------------------------------------------------- -# $Id: GNUmakefile,v 1.2 2009/03/06 09:28:28 gbarrand Exp $ +# $Id: GNUmakefile,v 1.3 2010/01/11 16:14:56 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -10,7 +10,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif .PHONY: all diff --git a/examples/advanced/purging_magnet/History b/examples/advanced/purging_magnet/History index ffbaa3ee01..8da720a45a 100644 --- a/examples/advanced/purging_magnet/History +++ b/examples/advanced/purging_magnet/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.10 2009/04/08 10:23:31 cirrone Exp $ +$Id: History,v 1.13 2010/11/18 13:10:47 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,6 +8,17 @@ $Id: History,v 1.10 2009/04/08 10:23:31 cirrone Exp $ Category History file --------------------- + +18.11.2010 - John Allison (purtag-V09-03-02) +- PurgMag.cc: Introduced G4UIExecutive. +- PurgMagPhysicsList.cc: Fixed G4MultipleScattering. + +03.06.2010 - Joseph Perl (purtag-V09-03-01) +- Remove unused variable in EventAction + +03.06.2010 - Joseph Perl (purtag-V09-03-00) +- Updated vis usage + 06.04.2009 G.A.P.Cirrone (purtag-V09-02-00) - GNUmakefile updated diff --git a/examples/advanced/purging_magnet/PurgMag.cc b/examples/advanced/purging_magnet/PurgMag.cc index 26ed5f1f64..a2af1ca746 100644 --- a/examples/advanced/purging_magnet/PurgMag.cc +++ b/examples/advanced/purging_magnet/PurgMag.cc @@ -32,21 +32,24 @@ // * * // ********************* // -// $Id: PurgMag.cc,v 1.5 2006/06/29 16:05:47 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PurgMag.cc,v 1.6 2010/11/18 13:10:28 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Comments: Main program for the Purgin Magnet example. // #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" #include "Randomize.hh" #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #include "PurgMagDetectorConstruction.hh" #include "PurgMagPhysicsList.hh" #include "PurgMagPrimaryGeneratorAction.hh" @@ -103,22 +106,25 @@ int main(int argc,char** argv) { runManager->Initialize(); // 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. { - // G4UIterminal is a (dumb) terminal. - G4UIsession * session = new G4UIterminal; - UI->ApplyCommand("/control/execute vis.mac"); - session->SessionStart(); - delete session; +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } diff --git a/examples/advanced/purging_magnet/src/PurgMagEventAction.cc b/examples/advanced/purging_magnet/src/PurgMagEventAction.cc index 0959ac17b2..ac19c2ba78 100644 --- a/examples/advanced/purging_magnet/src/PurgMagEventAction.cc +++ b/examples/advanced/purging_magnet/src/PurgMagEventAction.cc @@ -32,8 +32,8 @@ // * * // ******************************** // -// $Id: PurgMagEventAction.cc,v 1.4 2006/06/29 16:06:13 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PurgMagEventAction.cc,v 1.6 2010/06/07 05:18:38 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -44,10 +44,6 @@ #include "G4Event.hh" #include "G4EventManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" -#include "Randomize.hh" #ifdef G4ANALYSIS_USE #include"PurgMagAnalysisManager.hh" @@ -75,39 +71,8 @@ void PurgMagEventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void PurgMagEventAction::EndOfEventAction(const G4Event* evt) +void PurgMagEventAction::EndOfEventAction(const G4Event*) { - 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(50); - } - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - { - trj->DrawTrajectory(50); - } - } - //save rndm status - if (PurgMagRun->GetRndmFreq() == 2) - { - CLHEP::HepRandom::saveEngineStatus("endOfEvent.rndm"); - G4int evtNb = evt->GetEventID(); - if (evtNb%printModulo == 0) - { - G4cout << "\n---> End of Event: " << evtNb << G4endl; - CLHEP::HepRandom::showEngineStatus(); - } - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/purging_magnet/src/PurgMagPhysicsList.cc b/examples/advanced/purging_magnet/src/PurgMagPhysicsList.cc index 117d748ba3..13b7936245 100644 --- a/examples/advanced/purging_magnet/src/PurgMagPhysicsList.cc +++ b/examples/advanced/purging_magnet/src/PurgMagPhysicsList.cc @@ -33,8 +33,8 @@ // ******************************** // // -// $Id: PurgMagPhysicsList.cc,v 1.5 2006/06/29 16:06:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PurgMagPhysicsList.cc,v 1.6 2010/11/18 13:10:08 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -121,7 +121,8 @@ void PurgMagPhysicsList::ConstructProcess() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4hMultipleScattering.hh" // Bosons #include "G4PhotoElectricEffect.hh" #include "G4ComptonScattering.hh" @@ -153,22 +154,22 @@ void PurgMagPhysicsList::ConstructEM() //electron pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4eMultipleScattering, -1, 1,1); } else if (particleName == "e+") { //positron pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4eMultipleScattering, -1, 1,1); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); } else if (particleName == "proton") { //proton - pmanager->AddProcess(new G4MultipleScattering, -1,1,1); + pmanager->AddProcess(new G4hMultipleScattering, -1,1,1); } else if (particleName == "anti_proton") { //antiproton - pmanager->AddProcess(new G4MultipleScattering, -1,1,1); + pmanager->AddProcess(new G4hMultipleScattering, -1,1,1); } } } diff --git a/examples/advanced/purging_magnet/vis.mac b/examples/advanced/purging_magnet/vis.mac index d90c7b09d7..14f4189d9b 100644 --- a/examples/advanced/purging_magnet/vis.mac +++ b/examples/advanced/purging_magnet/vis.mac @@ -1,47 +1,68 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# Macro file for the initialization phase of "PurgMag.cc" +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# Sets some default verbose -# and initializes the visualization. +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -#/control/verbose 2 -#/run/verbose 2 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -# Create empty scene ("world" is default) -/vis/scene/create +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -# Add volume to scene -/vis/scene/add/volume +# Draw geometry: +/vis/drawVolume # -# Create a scene handler for a specific graphics system -# Edit the next line(s) to choose another graphic system +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 0. # -#/vis/sceneHandler/create DAWN -#/vis/sceneHandler/create DAWNFILE -/vis/sceneHandler/create OGLIX -#/vis/sceneHandler/create VRML2FILE +# Specify zoom value: +/vis/viewer/zoom 1.5 # -# Create a viewer -/vis/viewer/create +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe # -# viewpoint : (theta,phi) = (#*deg, #*deg), -# zoom factor: # -# coordinate axes: -# x-axis:red, y-axis:green, z-axis:blue -/vis/viewer/reset -/vis/viewer/set/viewpointThetaPhi 90 0 -/vis/viewer/zoom 1.5 -#/vis/draw/axes 0 0 0 500 -#/vis/draw/text 0 0 0 mm 5 -120 -200 Assorbitore.0 +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 500 mm # +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) # -# Draw scene -/vis/scene/notifyHandlers -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate - - - - +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/advanced/radioprotection/GNUmakefile b/examples/advanced/radioprotection/GNUmakefile index a019c97007..ab2b9dce5f 100644 --- a/examples/advanced/radioprotection/GNUmakefile +++ b/examples/advanced/radioprotection/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.6 2009/03/06 09:38:55 gbarrand Exp $ +# $Id: GNUmakefile,v 1.7 2010/01/11 16:15:40 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif .PHONY: all diff --git a/examples/advanced/radioprotection/History b/examples/advanced/radioprotection/History index 760c5f7108..24c498f89d 100644 --- a/examples/advanced/radioprotection/History +++ b/examples/advanced/radioprotection/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.24 2009/11/15 23:23:24 cirrone Exp $ +$Id: History,v 1.28 2010/11/18 16:23:42 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,18 @@ $Id: History,v 1.24 2009/11/15 23:23:24 cirrone Exp $ Category History file --------------------- +18.11.2010 J.Allison, tag radioprotection-V09-03-03 + Introduce G4UIExecutive. + +09.11.2010 M.Asai, tag radioprotection-V09-03-02 + Fix AIDA file option + +06.06.2010 J. Perl, tag radioprotection-V09-03-01 + Remove unused variable in EventAction + +03.06.2010 J. Perl, tag radioprotection-V09-03-00 + Update vis usage + 16.11.2009 S. Guatelli, tag radioprotection-V09-02-04 analysis output format is changed to xml diff --git a/examples/advanced/radioprotection/interactive.mac b/examples/advanced/radioprotection/interactive.mac new file mode 100644 index 0000000000..e3209d33d1 --- /dev/null +++ b/examples/advanced/radioprotection/interactive.mac @@ -0,0 +1,38 @@ +############################# +############# Activate physics +#### Add e.m. physics +/physics/addPhysics photon-epdl +/physics/addPhysics electron-eedl +/physics/addPhysics positron-standard +/physics/addPhysics ion-ICRU +#### Add Hadronic Physics, muon physics and decay +/physics/addPhysics hadronic-binary +/physics/addPhysics muon-standard +/physics/addPhysics decay +############################## +#### Sets some default verbose +/control/verbose 1 +/run/verbose 1 +/event/verbose 0 +/run/initialize +############################## +# Geometrical configuration +# Choose inflatable vehicle +/configuration/choose vehicle +# Add 10 cm water shielding +/configuration/AddShielding On +################ +## Visualisation +/control/execute vis.mac +################ +# Define the primary particles +# Galactic cosmic protons +/gun/data gcr_min_z=1.txt +/run/beamOn 10 + + + + + + + diff --git a/examples/advanced/radioprotection/moon.mac b/examples/advanced/radioprotection/moon.mac index b2ae28c631..b511718472 100644 --- a/examples/advanced/radioprotection/moon.mac +++ b/examples/advanced/radioprotection/moon.mac @@ -17,17 +17,7 @@ /run/initialize ####################################### ## Visualisation -#/vis/scene/create -# --- Choose one the following visualisation tools -#/vis/open OGLIX -#/vis/open DAWNFILE -#/vis/open VRML2FILE -# -------- -#/vis/drawVolume -##/vis/viewer/zoom 2 -#/vis/viewer/set/viewpointThetaPhi 90 180 deg -#/tracking/storeTrajectory 1 -#/vis/scene/endOfEventAction accumulate +#/control/execute vis.mac ######################################## ### Choose Moon habitat /configuration/choose moon diff --git a/examples/advanced/radioprotection/remsim.cc b/examples/advanced/radioprotection/remsim.cc index d799c96c3b..107df4673f 100644 --- a/examples/advanced/radioprotection/remsim.cc +++ b/examples/advanced/radioprotection/remsim.cc @@ -24,12 +24,11 @@ // ******************************************************************** // // -// $Id: remsim.cc,v 1.14 2006/07/24 09:53:27 guatelli Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: remsim.cc,v 1.16 2010/11/18 16:23:18 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" #include "RemSimDetectorConstruction.hh" #include "RemSimPhysicsList.hh" #include "RemSimPrimaryGeneratorAction.hh" @@ -39,10 +38,12 @@ #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif #ifdef G4ANALYSIS_USE #include "RemSimAnalysisManager.hh" #endif -#include "G4UItcsh.hh" int main(int argc,char** argv) { @@ -86,29 +87,26 @@ int main(int argc,char** argv) #endif // get the pointer to the UI manager and set verbosities - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); if(argc == 1) // Define (G)UI terminal for interactive mode { - // G4UIterminal is a (dumb) terminal. - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - - UI -> ApplyCommand("/control/execute vis.mac"); - session -> SessionStart(); - delete session; +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute interactive.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI -> ApplyCommand(command+fileName); + UImanager -> ApplyCommand(command+fileName); } #ifdef G4ANALYSIS_USE diff --git a/examples/advanced/radioprotection/src/RemSimAnalysisManager.cc b/examples/advanced/radioprotection/src/RemSimAnalysisManager.cc index a70e998df6..035192c1fb 100644 --- a/examples/advanced/radioprotection/src/RemSimAnalysisManager.cc +++ b/examples/advanced/radioprotection/src/RemSimAnalysisManager.cc @@ -29,7 +29,7 @@ // * * // ******************************* // -// $Id: RemSimAnalysisManager.cc,v 1.13 2009/11/15 23:23:24 cirrone Exp $ +// $Id: RemSimAnalysisManager.cc,v 1.14 2010/11/10 00:18:04 asaim Exp $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // @@ -124,7 +124,7 @@ void RemSimAnalysisManager::book() treeFact = aFact -> createTreeFactory(); - theTree = treeFact -> create("remsim.xml", "xml",false, true,"uncompressed"); + theTree = treeFact -> create("remsim.xml", "xml",false, true,""); G4cout << "The format of the output file is xml" << G4endl; diff --git a/examples/advanced/radioprotection/src/RemSimEventAction.cc b/examples/advanced/radioprotection/src/RemSimEventAction.cc index a003a1f9fe..affbd82dbc 100644 --- a/examples/advanced/radioprotection/src/RemSimEventAction.cc +++ b/examples/advanced/radioprotection/src/RemSimEventAction.cc @@ -30,17 +30,14 @@ // ********************************** // // -// $Id: RemSimEventAction.cc,v 1.9 2006/06/29 16:23:45 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RemSimEventAction.cc,v 1.11 2010/06/07 05:19:47 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Author : Susanna Guatelli, guatelli@ge.infn.it // #include "RemSimEventAction.hh" #include "G4Event.hh" #include "G4EventManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" //##include "Randomize.hh" //#include "CLHEP/Random/RandEngine.h" @@ -58,18 +55,6 @@ void RemSimEventAction::BeginOfEventAction(const G4Event* evt) G4cout << "\n---> Begin Of Event: " << evtNo << G4endl; } -void RemSimEventAction::EndOfEventAction(const G4Event* evt) +void RemSimEventAction::EndOfEventAction(const G4Event*) { - G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories =0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); - - if (G4VVisManager::GetConcreteInstance()) - { - for (G4int i=0; iGetTrajectoryContainer()))[i]); - trj->DrawTrajectory(50); - } - } } diff --git a/examples/advanced/radioprotection/vehicle1.mac b/examples/advanced/radioprotection/vehicle1.mac index ebdc3acf9c..125ad61b78 100644 --- a/examples/advanced/radioprotection/vehicle1.mac +++ b/examples/advanced/radioprotection/vehicle1.mac @@ -20,16 +20,7 @@ /run/initialize ################ ## Visualisation -#/vis/scene/create -# --- Choose one the following visualisation tools -#/vis/open OGLIX -#/vis/open DAWNFILE -#/vis/open VRML2FILE -# -------- -#/vis/drawVolume -#/vis/viewer/set/viewpointThetaPhi 90 180 deg -#/vis/viewer/zoom 2 -#/tracking/storeTrajectory 1 +#/control/execute vis.mac ################ # Geometrical configuration /configuration/choose vehicle diff --git a/examples/advanced/radioprotection/vehicle2.mac b/examples/advanced/radioprotection/vehicle2.mac index 789a4fda2e..9e847a4cf4 100644 --- a/examples/advanced/radioprotection/vehicle2.mac +++ b/examples/advanced/radioprotection/vehicle2.mac @@ -18,16 +18,7 @@ /run/initialize ################ ## Visualisation -#/vis/scene/create -# --- Choose one the following visualisation tools -#/vis/open OGLIX -#/vis/open DAWNFILE -#/vis/open VRML2FILE -# -------- -#/vis/drawVolume -#/vis/viewer/set/viewpointThetaPhi 90 180 deg -#/vis/viewer/zoom 2 -#/tracking/storeTrajectory 1 +#/control/execute vis.mac ################ /run/initialize # Generation of primary particles diff --git a/examples/advanced/radioprotection/vis.mac b/examples/advanced/radioprotection/vis.mac index 0390895007..87db68aad7 100644 --- a/examples/advanced/radioprotection/vis.mac +++ b/examples/advanced/radioprotection/vis.mac @@ -1,47 +1,68 @@ -############################# -############# Activate physics -#### Add e.m. physics -/physics/addPhysics photon-epdl -/physics/addPhysics electron-eedl -/physics/addPhysics positron-standard -/physics/addPhysics ion-ICRU -#### Add Hadronic Physics, muon physics and decay -/physics/addPhysics hadronic-binary -/physics/addPhysics muon-standard -/physics/addPhysics decay -############################## -#### Sets some default verbose -/control/verbose 1 -/run/verbose 1 -/event/verbose 0 -/run/initialize -############################## -# Geometrical configuration -# Choose inflatable vehicle -/configuration/choose vehicle -# Add 10 cm water shielding -/configuration/AddShielding On -################ -## Visualisation -/vis/scene/create -# --- Choose one the following visualisation tools -/vis/open OGLIX +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: #/vis/open VRML2FILE -# -------- +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: /vis/drawVolume -/vis/viewer/set/viewpointThetaPhi 90 180 deg -/vis/viewer/zoom 2 -/tracking/storeTrajectory 1 -################ -# Define the primary particles -# Galactic cosmic protons -/gun/data gcr_min_z=1.txt -/run/beamOn 10 - - - - - - - +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: +/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/advanced/underground_physics/DMX.cc b/examples/advanced/underground_physics/DMX.cc index 1eab94a44a..86d31f671e 100644 --- a/examples/advanced/underground_physics/DMX.cc +++ b/examples/advanced/underground_physics/DMX.cc @@ -41,12 +41,6 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" - -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif #include "Randomize.hh" @@ -54,6 +48,11 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + +#include "DMXAnalysisManager.hh" #include "DMXDetectorConstruction.hh" #include "DMXPhysicsList.hh" #include "DMXPrimaryGeneratorAction.hh" @@ -77,33 +76,12 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new DMXPhysicsList); - G4UIsession* session=0; - #ifdef G4VIS_USE // visualization manager - G4VisManager* visManager = 0; -#endif - - 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 - visManager = new G4VisExecutive; + G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); #endif - } - // output environment variables: #ifdef G4ANALYSIS_USE G4cout << G4endl << G4endl << G4endl @@ -141,31 +119,34 @@ int main(int argc,char** argv) { runManager->Initialize(); // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); // Define UI session for interactive mode. - if(session) { - - // G4UIterminal is a (dumb) terminal. - UI->ApplyCommand("/control/execute initInter.mac"); - /* - #ifdef G4UI_USE_XM - // Customize the G4UIXm menubar with a macro file : - UI->ApplyCommand("/control/execute gui.mac"); - #endif - */ - session->SessionStart(); - delete session; + if(argc == 1) + { +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute initInter.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif } // Batch mode else { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } // job termination +#ifdef G4ANALYSIS_USE + DMXAnalysisManager::getInstance()->Finish(); + G4cout << "Analysis files closed" << G4endl; +#endif + #ifdef G4VIS_USE if(visManager) delete visManager; #endif diff --git a/examples/advanced/underground_physics/GNUmakefile b/examples/advanced/underground_physics/GNUmakefile index 407790ea88..a9ab4d673c 100644 --- a/examples/advanced/underground_physics/GNUmakefile +++ b/examples/advanced/underground_physics/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.9 2008/06/15 22:39:27 cirrone Exp $ +# $Id: GNUmakefile,v 1.10 2010/01/11 16:17:58 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,21 +8,15 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif ifdef DMXENV_GPS_USE CPPFLAGS += -DDMXENV_GPS_USE endif -ifdef G4ANALYSIS_USE - CPPFLAGS += -DG4ANALYSIS_USE -endif - - include $(G4INSTALL)/config/architecture.gmk - .PHONY: all all: lib bin diff --git a/examples/advanced/underground_physics/History b/examples/advanced/underground_physics/History index 5aa1d7d0e7..b0b0d03798 100644 --- a/examples/advanced/underground_physics/History +++ b/examples/advanced/underground_physics/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.17 2008/06/15 22:39:27 cirrone Exp $ +$Id: History,v 1.23 2010/11/18 17:43:36 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,6 +8,36 @@ $Id: History,v 1.17 2008/06/15 22:39:27 cirrone Exp $ Category History file --------------------- + +18.11.2010 - J.Allison (DMX-V09-03-02) + - DMX.cc: Introduce G4UIExecutive. + - initInter.mac: Improve vis commands. (Note: With the + introduction of /vis/scene/add/trajectories, it is no + longer necessary to draw them in EndOfEventAction. The + corresponding locall commands can also be removed.) + +03.06.2010 - J.Perl (DMX-V09-03-01) + Change /vis/open OGLxxx to /vis/open OGL + +16.02.2010 - L. Pandola (DMX-V09-03-00) + Copy of the previous tag, DMX-V09-02-02, which was not submitted for + testing. + +26.10.2009 - L. Pandola (DMX-V09-02-02) + Physics list migrated from LowEnergy processes to the new Livermore + models. Physics results unchanged for gamma/e-. Possible differences + with ions/protons, since we don't use anymore G4hLowEnergyIonisation + +22.10.2009 - L. Pandola (DMX-V09-02-01) + Correct Analysis manager to solve a problem with the HBOOK output files + (ntuples not filled, histograms not saved). Still at the stage of + pre-migration. + +22.10.2009 - L. Pandola (DMX-V09-02-00) + Get rid of a warning message and allocation problems with ntuple2 + Meant to be the reference to verify the migration to new + Livermore models. + 16.06.2008 - G.A.P.Cirrone (DMX-V09-01-01) Removed AIDA command from GNUmakefile diff --git a/examples/advanced/underground_physics/include/DMXAnalysisManager.hh b/examples/advanced/underground_physics/include/DMXAnalysisManager.hh index 804fa071ca..96b8ea03db 100644 --- a/examples/advanced/underground_physics/include/DMXAnalysisManager.hh +++ b/examples/advanced/underground_physics/include/DMXAnalysisManager.hh @@ -32,6 +32,7 @@ // History: // ----------- // 16 Jan 2002 Alex Howard Created +// 22 Oct 2009 Luciano Pandola Added TreeFactory, removed ntuple4 // // ------------------------------------------------------------------- @@ -77,6 +78,7 @@ namespace AIDA { class IAnalysisFactory; class ITree; + class ITreeFactory; class IHistogramFactory; class ITupleFactory; class ITuple; @@ -173,13 +175,14 @@ private: G4bool interactive; AIDA::IAnalysisFactory *af; + AIDA::ITreeFactory *tf; AIDA::ITree *tree; AIDA::IHistogramFactory *hf; AIDA::ITupleFactory *tpf; AIDA::ITuple *ntuple1; AIDA::ITuple *ntuple2; AIDA::ITuple *ntuple3; - AIDA::ITuple *ntuple4; + AIDA::IHistogram1D* hEsourcep; AIDA::IHistogram1D* hEdepp; diff --git a/examples/advanced/underground_physics/initInter.mac b/examples/advanced/underground_physics/initInter.mac index f58293c72f..b26ddf47fe 100644 --- a/examples/advanced/underground_physics/initInter.mac +++ b/examples/advanced/underground_physics/initInter.mac @@ -8,15 +8,8 @@ /control/verbose 2 /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 OGL #/vis/open DANWFILE #/vis/open Xo # diff --git a/examples/advanced/underground_physics/src/DMXAnalysisManager.cc b/examples/advanced/underground_physics/src/DMXAnalysisManager.cc index 4ae6c5a161..a04f1811ab 100644 --- a/examples/advanced/underground_physics/src/DMXAnalysisManager.cc +++ b/examples/advanced/underground_physics/src/DMXAnalysisManager.cc @@ -34,6 +34,9 @@ // 16 Jan 2002 Alex Howard Created // 17 June 2002 Alex Howard Successfully Modified to AIDA 2.2 // 17 November 2002 Alex Howard Migrated to AIDA 3.0 and added fitting +// 22 October 2009 Luciano Pandola Changed variables names for ntuple2 +// (avoid problem with columns) and some +// clean-up (e.g. remove ntuple4) // // ------------------------------------------------------------------- #ifdef G4ANALYSIS_USE @@ -45,26 +48,18 @@ DMXAnalysisManager* DMXAnalysisManager::instance = 0; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... DMXAnalysisManager::DMXAnalysisManager() : - af(0), tree(0), hf(0), tpf(0), - ntuple1(0), ntuple2(0), ntuple3(0), ntuple4(0), + af(0), tf(0),tree(0), hf(0), tpf(0), + ntuple1(0), ntuple2(0), ntuple3(0), hEsourcep(0), hEdepp(0), hEdepRecoil(0), hNumPhLow(0), hNumPhHigh(0), hAvPhArrival(0), hPhArrival(0), hPMTHits(0), h1stPMTHit(0),hGammaEdep(0), hNeutronEdep(0), hElectronEdep(0), hPositronEdep(0), hOtherEdep(0) //,funFact(0),fitFact(0),exponFun(0),gaussFun(0),e_fitter(0),fitResult(0) -{ - // tree is created and booked inside book() - ; -} +{;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... DMXAnalysisManager::~DMXAnalysisManager() -{ - delete tpf; - delete hf; - delete tree; - delete af; - } +{;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -91,7 +86,7 @@ void DMXAnalysisManager::book(G4String histogramfile, G4bool) G4bool fileExists = true; G4bool readOnly = false; - AIDA::ITreeFactory * tf = af->createTreeFactory(); + tf = af->createTreeFactory(); tree = tf->create(histogramfile, "hbook", readOnly, fileExists); @@ -108,29 +103,16 @@ void DMXAnalysisManager::book(G4String histogramfile, G4bool) ntuple1 = tpf->create( "1", "Particle Source Energy", "double energy" ); - // assert(ntuple1); - // ---- secondary ntuple ------ ntuple2 = tpf->create( "2", "Scintillation Hits Info", - "float Event,e_prim,tot_e,s_hits,xe_time,num_ph,avphtime,1stpart,1stparte,gamma,neutron,posi,elec,other,seed1,seed2" ); - - //assert(ntuple2); + "float Event,e_prim,tot_e,s_hits,xe_time,num_ph,avphtime,firstpart,firstparte,gamma,neutron,posi,elec,other,seed1,seed2" ); // ---- tertiary ntuple ------ ntuple3 = tpf->create( "3", "PMT Hits Info", "float event, hits, xpos, ypos, zpos" ); - //assert(ntuple3); - - // ---- extra ntuple ------ - ntuple4 = tpf->create( "4", "Particles energy type", - "float energy, NameIdx" ); - - //assert(ntuple4); - - // Creating an 1-dimensional histogram in the root directory of the tree hEsourcep = hf->createHistogram1D("10","Source Energy /keV", 1000,0.,10000.); @@ -164,8 +146,6 @@ void DMXAnalysisManager::book(G4String histogramfile, G4bool) hPositronEdep = hf->createHistogram1D("94","Positron Ener Deposit/keV",1000,0.,1000.); hOtherEdep = hf->createHistogram1D("95","Other Ener Deposit/keV", 1000,0.,1000.); - - delete tf; // // Creating the plotter factory // pf = af->createPlotterFactory(); @@ -203,14 +183,14 @@ void DMXAnalysisManager::book(G4String histogramfile, G4bool) // // assert(e_fitter); // G4cout << " Created e_fitter " << G4endl; + return; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void DMXAnalysisManager::Init() -{ -} +{;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -227,6 +207,13 @@ void DMXAnalysisManager::Finish() // close (will again commit) tree->close(); + + delete tpf; + delete hf; + delete tree; + delete tf; + delete af; + // extra delete as objects are created in book() method rather than during // initialisation of class //delete funFact; @@ -338,18 +325,16 @@ void DMXAnalysisManager::analyseScintHits(G4int event_id, G4double energy_pri, G hAvPhArrival->fill(aveTimePmtHits/ns); - // AIDA::ITuple * ntuple = dynamic_cast ( tree->find("2") ); - // Fill the ntuple ntuple2->fill( ntuple2->findColumn( "Event" ), (G4float) event_id ); - ntuple2->fill( ntuple2->findColumn( "e_prim" ), (G4float) energy_pri/keV ); + ntuple2->fill( ntuple2->findColumn( "e_prim" ), (G4float) (energy_pri/keV) ); ntuple2->fill( ntuple2->findColumn( "tot_e" ), (G4float) totEnergy ); ntuple2->fill( ntuple2->findColumn( "s_hits" ), (G4float) S_hits ); ntuple2->fill( ntuple2->findColumn( "xe_time" ), (G4float) firstLXeHitTime ); ntuple2->fill( ntuple2->findColumn( "num_ph" ), (G4float) P_hits ); ntuple2->fill( ntuple2->findColumn( "avphtime"), (G4float) aveTimePmtHits ); - ntuple2->fill( ntuple2->findColumn( "1stpart" ), (G4float) firstparticleIndex); - ntuple2->fill( ntuple2->findColumn( "1stparte"), (G4float) firstParticleE ); + ntuple2->fill( ntuple2->findColumn( "firstpart" ), (G4float) firstparticleIndex); + ntuple2->fill( ntuple2->findColumn( "firstparte"), (G4float) firstParticleE ); ntuple2->fill( ntuple2->findColumn( "gamma" ), (G4float) gamma_ev ); ntuple2->fill( ntuple2->findColumn( "neutron" ), (G4float) neutron_ev ); ntuple2->fill( ntuple2->findColumn( "posi" ), (G4float) positron_ev ); @@ -360,7 +345,6 @@ void DMXAnalysisManager::analyseScintHits(G4int event_id, G4double energy_pri, G //Values of attributes are prepared; store them to the nTuple: ntuple2->addRow(); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -374,8 +358,7 @@ void DMXAnalysisManager::analysePMTHits(G4int event, G4int i, G4double x, G4doub h1stPMTHit->fill(x,y); } - //AIDA::ITuple * ntuple = dynamic_cast ( tree->find("3") ); - // Fill the secondaries ntuple + // Fill the ntuple ntuple3->fill( ntuple3->findColumn( "event" ), (G4float) event ); ntuple3->fill( ntuple3->findColumn( "hits" ), (G4float) i ); ntuple3->fill( ntuple3->findColumn( "xpos" ), (G4float) x ); @@ -383,19 +366,18 @@ void DMXAnalysisManager::analysePMTHits(G4int event, G4int i, G4double x, G4doub ntuple3->fill( ntuple3->findColumn( "zpos" ), (G4float) z ); // NEW: Values of attributes are prepared; store them to the nTuple: - ntuple3->addRow(); // check for returning true ... + ntuple3->addRow(); } void DMXAnalysisManager::analysePrimaryGenerator(G4double energy) { - // AIDA::ITuple * ntuple1 = dynamic_cast ( tree->find("1") ); // Fill energy ntple: ntuple1->fill( ntuple1->findColumn( "energy" ), energy ); // NEW: Values of attributes are prepared; store them to the nTuple: - ntuple1->addRow(); // check for returning true ... + ntuple1->addRow(); } diff --git a/examples/advanced/underground_physics/src/DMXPhysicsList.cc b/examples/advanced/underground_physics/src/DMXPhysicsList.cc index e39ed04613..f6b2e83dd1 100644 --- a/examples/advanced/underground_physics/src/DMXPhysicsList.cc +++ b/examples/advanced/underground_physics/src/DMXPhysicsList.cc @@ -45,6 +45,9 @@ // 05-02-05 AH - changes to G4Decay - added is not short lived protection // and redefined particles to allow non-static creation // i.e. changed construction to G4MesonConstructor, G4BaryonConstructor +// +// 23-10-09 LP - migrated EM physics from the LowEnergy processes (not supported) to +// the new G4Livermore model implementation. Results unchanged. // // -------------------------------------------------------------- @@ -213,18 +216,30 @@ void DMXPhysicsList::AddTransportation() { // Electromagnetic Processes //////////////////////////////////////////////// // all charged particles -#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" @@ -245,40 +260,23 @@ void DMXPhysicsList::AddTransportation() { #include "G4MuonMinusCaptureAtRest.hh" //OTHERS: -#include "G4hIonisation.hh" // standard hadron ionisation +#include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" +#include "G4hBremsstrahlung.hh" +#include "G4ionIonisation.hh" +#include "G4IonParametrisedLossModel.hh" //em process options to allow msc step-limitation to be switched off #include "G4EmProcessOptions.hh" void DMXPhysicsList::ConstructEM() { - -// processes: - - G4LowEnergyPhotoElectric* lowePhot = new G4LowEnergyPhotoElectric(); - G4LowEnergyIonisation* loweIon = new G4LowEnergyIonisation(); - G4LowEnergyBremsstrahlung* loweBrem = new G4LowEnergyBremsstrahlung(); - - // note LowEIon uses proton as basis for its data-base, therefore - // cannot specify different LowEnergyIonisation models for different - // particles, but can change model globally for Ion, Alpha and Proton. - - - //fluorescence apply specific cut for fluorescence from photons, electrons - //and bremsstrahlung photons: - G4double fluorcut = 250*eV; - lowePhot->SetCutForLowEnSecPhotons(fluorcut); - loweIon->SetCutForLowEnSecPhotons(fluorcut); - loweBrem->SetCutForLowEnSecPhotons(fluorcut); - // setting tables explicitly for electronic stopping power - // ahadronLowEIon->SetElectronicStoppingPowerModel - // (G4GenericIon::GenericIonDefinition(), "ICRU_R49p") ; - // ahadronLowEIon->SetElectronicStoppingPowerModel - // (G4Proton::ProtonDefinition(), "ICRU_R49p") ; - - // Switch off the Barkas and Bloch corrections - // ahadronLowEIon->SetBarkasOff(); - + //set a finer grid of the physic tables in order to improve precision + //former LowEnergy models have 200 bins up to 100 GeV + G4EmProcessOptions opt; + opt.SetMaxEnergy(100*GeV); + opt.SetDEDXBinning(200); + opt.SetLambdaBinning(200); theParticleIterator->reset(); while( (*theParticleIterator)() ){ @@ -291,85 +289,134 @@ void DMXPhysicsList::ConstructEM() { if (particleName == "gamma") { //gamma - pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh()); - pmanager->AddDiscreteProcess(lowePhot); - 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 // process ordering: AddProcess(name, at rest, along step, post step) - // -1 = not implemented, then ordering - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - pmanager->AddProcess(aMultipleScattering, -1, 1, 1); - pmanager->AddProcess(loweIon, -1, 2, 2); - pmanager->AddProcess(loweBrem, -1,-1, 3); + // Multiple scattering + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->SetStepLimitType(fUseDistanceToBoundary); + pmanager->AddProcess(msc,-1, 1, 1); + + // 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 - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - pmanager->AddProcess(aMultipleScattering, -1, 1, 1); - pmanager->AddProcess(new G4eIonisation(), -1, 2, 2); + //positron + 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); } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - pmanager->AddProcess(aMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4eMultipleScattering, -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 == "proton" || - particleName == "alpha" || + else if (particleName == "proton" || + particleName == "pi+" || + particleName == "pi-") + { + //multiple scattering + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + + //ionisation + G4hIonisation* hIonisation = new G4hIonisation(); + hIonisation->SetStepFunction(0.2, 50*um); + pmanager->AddProcess(hIonisation, -1, 2, 2); + + //bremmstrahlung + pmanager->AddProcess(new G4hBremsstrahlung, -1,-3, 3); + } + else if(particleName == "alpha" || particleName == "deuteron" || particleName == "triton" || - particleName == "He3" || - particleName == "GenericIon" || - (particleType == "nucleus" && charge != 0)) + particleName == "He3") + { + //multiple scattering + pmanager->AddProcess(new G4hMultipleScattering,-1,1,1); + + //ionisation + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetStepFunction(0.1, 20*um); + pmanager->AddProcess(ionIoni, -1, 2, 2); + } + else if (particleName == "GenericIon") { // OBJECT may be dynamically created as either a GenericIon or nucleus // G4Nucleus exists and therefore has particle type nucleus // genericIon: - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - //hIonisation G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation(); - G4hIonisation* ahadronIon = new G4hIonisation(); - pmanager->AddProcess(aMultipleScattering,-1,1,1); - //hIonisation pmanager->AddProcess(ahadronLowEIon,-1,2,2); - pmanager->AddProcess(ahadronIon,-1,2,2); - // ahadronLowEIon->SetNuclearStoppingOff() ; - // ahadronLowEIon->SetNuclearStoppingPowerModel("ICRU_R49") ; - // ahadronLowEIon->SetNuclearStoppingOn() ; - - //fluorescence switch off for hadrons (for now) PIXE: - //hIonisation ahadronLowEIon->SetFluorescence(false); + + //multiple scattering + pmanager->AddProcess(new G4hMultipleScattering,-1,1,1); + + //ionisation + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + ionIoni->SetStepFunction(0.1, 20*um); + pmanager->AddProcess(ionIoni, -1, 2, 2); } + else if ((!particle->IsShortLived()) && (charge != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - //hIonisation G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation(); + G4hMultipleScattering* aMultipleScattering = new G4hMultipleScattering(); G4hIonisation* ahadronIon = new G4hIonisation(); + + //multiple scattering pmanager->AddProcess(aMultipleScattering,-1,1,1); - //hIonisation pmanager->AddProcess(ahadronLowEIon, -1,2,2); + + //ionisation pmanager->AddProcess(ahadronIon, -1,2,2); - // pmanager->AddProcess(new G4hIonisation(), -1,2,2); } } // turn off msc step-limitation - especially as electron cut 1nm - G4EmProcessOptions opt; - // opt.SetMscStepLimitation(false); opt.SetMscStepLimitation(fMinimal); } diff --git a/examples/advanced/underground_physics/src/DMXRunAction.cc b/examples/advanced/underground_physics/src/DMXRunAction.cc index c526ce5b53..aeef27de15 100644 --- a/examples/advanced/underground_physics/src/DMXRunAction.cc +++ b/examples/advanced/underground_physics/src/DMXRunAction.cc @@ -38,6 +38,7 @@ // // History: // 17 Jan 2002 Alex Howard Added Analysis +// 23 Oct 2009 Luciano Pandola Removed un-necessary calls from EndOfRun() // // RunAction program // -------------------------------------------------------------- @@ -103,14 +104,6 @@ void DMXRunAction::BeginOfRunAction(const G4Run* aRun) void DMXRunAction::EndOfRunAction(const G4Run*) { - -#ifdef G4ANALYSIS_USE - DMXAnalysisManager* analysis = DMXAnalysisManager::getInstance(); - //analysis->PlotHistos(interactplot); - //analysis->PulseTimeFit(); - analysis->Finish(); -#endif - if (G4VVisManager::GetConcreteInstance()) { G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update"); } diff --git a/examples/advanced/xray_fluorescence/GNUmakefile b/examples/advanced/xray_fluorescence/GNUmakefile index d49afdca92..5c2fbe6df6 100644 --- a/examples/advanced/xray_fluorescence/GNUmakefile +++ b/examples/advanced/xray_fluorescence/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.21 2009/03/06 09:45:38 gbarrand Exp $ +# $Id: GNUmakefile,v 1.22 2010/01/11 16:18:52 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif .PHONY: all visclean diff --git a/examples/advanced/xray_fluorescence/History b/examples/advanced/xray_fluorescence/History index c52fac9b35..ea6235766d 100644 --- a/examples/advanced/xray_fluorescence/History +++ b/examples/advanced/xray_fluorescence/History @@ -1,6 +1,6 @@ -# $Id: History,v 1.9 2009/11/10 16:35:02 mantero Exp $ +# $Id: History,v 1.13 2010/11/19 09:30:42 cirrone Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-03 $ +# GEANT4 tag $Name: geant4-09-04 $ # ------------------------------------------------------------------- ========================================================= @@ -19,6 +19,16 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +18-11-2010 G.A.P.Cirrone, Tag: XrayFluo-V09-03-03 +- Corrected bug in the MercuryPrimaryGeneratorAction file on source definition + +18-11-2010 John Allison, Tag: XrayFluo-V09-03-02 +- Introduced G4UIExecutive. + +03-06-2010 Joseph Perl, Tag: XrayFluo-V09-03-00 +- Updated vis usage + 10-11-2009 Alf, Tag: XrayFluo-V09-02-01 - Physics List migrated to new Lowenergy physics processes design - XrayFluoDataSet migrated in order to meet new modification of G4VEMDataSet diff --git a/examples/advanced/xray_fluorescence/include/XrayFluoDataSet.hh b/examples/advanced/xray_fluorescence/include/XrayFluoDataSet.hh index 45ebfd7823..756286f538 100644 --- a/examples/advanced/xray_fluorescence/include/XrayFluoDataSet.hh +++ b/examples/advanced/xray_fluorescence/include/XrayFluoDataSet.hh @@ -103,6 +103,7 @@ public: private: + G4bool LoadData(const G4String& dataFile); G4int z; diff --git a/examples/advanced/xray_fluorescence/include/XrayFluoDetectorConstruction.hh b/examples/advanced/xray_fluorescence/include/XrayFluoDetectorConstruction.hh index 9d42a44259..4a74d1a51c 100644 --- a/examples/advanced/xray_fluorescence/include/XrayFluoDetectorConstruction.hh +++ b/examples/advanced/xray_fluorescence/include/XrayFluoDetectorConstruction.hh @@ -141,7 +141,7 @@ public: const G4VPhysicalVolume* GetphysiPixel() {return physiPixel;}; const G4VPhysicalVolume* GetOhmicPos() {return physiOhmicPos;}; const G4VPhysicalVolume* GetOhmicNeg() {return physiOhmicNeg;}; - + const G4VPhysicalVolume* GetWindow () {return physiWindow ;}; private: G4Navigator* aNavigator; @@ -182,6 +182,10 @@ private: G4Box* solidOhmicPos; G4LogicalVolume* logicOhmicPos; G4VPhysicalVolume* physiOhmicPos; + + G4Box* solidWindow; // added + G4LogicalVolume* logicWindow; // added + G4VPhysicalVolume* physiWindow; // added G4Box* solidOhmicNeg; G4LogicalVolume* logicOhmicNeg; @@ -195,6 +199,7 @@ private: G4LogicalVolume* logicGrain; G4VPhysicalVolume* physiGrain; + //materials management XrayFluoNistMaterials* materials; @@ -205,19 +210,25 @@ private: G4Material* Dia1Material; G4Material* Dia3Material; G4Material* defaultMaterial; + G4Material* windowMaterial; //added + //apparate parameters G4double OhmicPosThickness; G4double OhmicNegThickness; + + G4double windowThickness; //added G4int PixelCopyNb; G4int grainCopyNb; G4int NbOfPixels; G4int NbOfPixelRows; G4int NbOfPixelColumns; - G4double PixelThickness; + G4double PixelThickness; // added + + G4double PixelSizeXY; G4double ContactSizeXY; @@ -319,7 +330,7 @@ inline void XrayFluoDetectorConstruction::ComputeApparateParameters() } else { - DeviceThickness = PixelThickness+OhmicNegThickness+OhmicPosThickness; + DeviceThickness = PixelThickness+OhmicNegThickness+OhmicPosThickness+windowThickness;//change! G4cout << "DeviceThickness(cm): "<< DeviceThickness/cm << G4endl; diff --git a/examples/advanced/xray_fluorescence/include/XrayFluoPhysicsList.hh b/examples/advanced/xray_fluorescence/include/XrayFluoPhysicsList.hh index 3af0bfd861..26ab6034cf 100644 --- a/examples/advanced/xray_fluorescence/include/XrayFluoPhysicsList.hh +++ b/examples/advanced/xray_fluorescence/include/XrayFluoPhysicsList.hh @@ -40,16 +40,18 @@ #include "G4VUserPhysicsList.hh" #include "globals.hh" +//#include "G4LivermorePhotoElectricModel.hh" + //#include "XrayFluoPlaneDetectorConstruction.hh" //#include "XrayFluoDetectorConstruction.hh" //#include "XrayFluoMercuryConstruction.hh" -/* + class G4LowEnergyIonisation; -class G4LowEnergyPhotoElectric; +class G4LivermorePhotoElectricModel; class G4LowEnergyBremsstrahlung; class G4eIonisation; -*/ + class XrayFluoPhysicsListMessenger; class XrayFluoDetectorConstruction; @@ -99,17 +101,15 @@ public: void SetGELowLimit(G4double); void SetLowEnSecPhotCut(G4double); - void SetLowEnSecElecCut(G4double); +// void SetLowEnSecElecCut(G4double); void SetProtonCut(G4double); void SetCutsByEnergy(G4double); private: -// G4LowEnergyIonisation* LeIoprocess; -// G4LowEnergyPhotoElectric* LePeprocess; -// G4LowEnergyBremsstrahlung* LeBrprocess; - // G4eIonisation* eIoProcess; // modified + + G4LivermorePhotoElectricModel* theLivermorePhotoElectricModel; XrayFluoPhysicsListMessenger* physicsListMessenger; G4double cutForGamma; G4double cutForElectron; diff --git a/examples/advanced/xray_fluorescence/include/XrayFluoPhysicsListMessenger.hh b/examples/advanced/xray_fluorescence/include/XrayFluoPhysicsListMessenger.hh index e459363f7f..781efe30f0 100644 --- a/examples/advanced/xray_fluorescence/include/XrayFluoPhysicsListMessenger.hh +++ b/examples/advanced/xray_fluorescence/include/XrayFluoPhysicsListMessenger.hh @@ -68,7 +68,7 @@ private: G4UIcmdWithADoubleAndUnit* cutELowLimCmd; G4UIcmdWithADoubleAndUnit* cutGELowLimCmd; G4UIcmdWithADoubleAndUnit* cutSecPhotCmd; - G4UIcmdWithADoubleAndUnit* cutSecElecCmd; +// G4UIcmdWithADoubleAndUnit* cutSecElecCmd; G4UIcmdWithADoubleAndUnit* cutGCmd; G4UIcmdWithADoubleAndUnit* cutECmd; G4UIcmdWithADoubleAndUnit* cutPCmd; diff --git a/examples/advanced/xray_fluorescence/initInter.mac b/examples/advanced/xray_fluorescence/initInter.mac index 2249a10dc0..f09aa7e59a 100644 --- a/examples/advanced/xray_fluorescence/initInter.mac +++ b/examples/advanced/xray_fluorescence/initInter.mac @@ -7,35 +7,5 @@ /control/verbose 2 /control/saveHistory /run/verbose 2 -# -# 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 OGLIX -#/vis/open VRML2FILE - -# -# draw scene -# -# -#/vis/viewer/flush - - -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) - -#/tracking/storeTrajectory 1 -#/vis/viewer/set/viewpointThetaPhi 60 30 - -# this is not to redraw every single event - -#/vis/scene/endOfEventAction accumulate - - - +#/control/execute vis.mac diff --git a/examples/advanced/xray_fluorescence/macro.mac b/examples/advanced/xray_fluorescence/macro.mac index ed339e5c99..7114981c59 100644 --- a/examples/advanced/xray_fluorescence/macro.mac +++ b/examples/advanced/xray_fluorescence/macro.mac @@ -5,7 +5,7 @@ /gun/randomVert on -/gun/particle gamma +/gun/particle proton /gun/energy 6 keV diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoAnalysisManager.cc b/examples/advanced/xray_fluorescence/src/XrayFluoAnalysisManager.cc index a28394807f..bf6555f668 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoAnalysisManager.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoAnalysisManager.cc @@ -54,7 +54,7 @@ XrayFluoAnalysisManager* XrayFluoAnalysisManager::instance = 0; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... XrayFluoAnalysisManager::XrayFluoAnalysisManager() - :outputFileName("xrayfluo"), visPlotter(false), phaseSpaceFlag(false), physicFlag (false), persistencyType("xml"), + :outputFileName("xrayfluo"), visPlotter(false), phaseSpaceFlag(false), physicFlag (false), persistencyType("root"), deletePersistencyFile(true), gunParticleEnergies(0), gunParticleTypes(0), analysisFactory(0), tree(0), treeDet(0), histogramFactory(0), plotter(0) { //creating the messenger diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoDataSet.cc b/examples/advanced/xray_fluorescence/src/XrayFluoDataSet.cc index ae989c14ba..5ae17d2808 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoDataSet.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoDataSet.cc @@ -130,8 +130,8 @@ G4int XrayFluoDataSet::FindBinLocation(G4double energy) const } -G4bool XrayFluoDataSet::LoadData(const G4String& fileName) { - +G4bool XrayFluoDataSet::LoadData(const G4String& fileName) +{ // Build the complete string identifying the file with the data set @@ -199,6 +199,7 @@ G4bool XrayFluoDataSet::LoadData(const G4String& fileName) { file.close(); return true; + } void XrayFluoDataSet::PrintData() const { diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoDetectorConstruction.cc b/examples/advanced/xray_fluorescence/src/XrayFluoDetectorConstruction.cc index 27aca7b04a..a176d68f05 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoDetectorConstruction.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoDetectorConstruction.cc @@ -73,12 +73,13 @@ XrayFluoDetectorConstruction::XrayFluoDetectorConstruction() solidDia1(0),logicDia1(0),physiDia1(0), solidDia3(0),logicDia3(0),physiDia3(0), solidOhmicPos(0),logicOhmicPos(0), physiOhmicPos(0), + solidWindow(0), logicWindow(0), physiWindow(0), solidOhmicNeg(0),logicOhmicNeg(0), physiOhmicNeg(0), solidPixel(0),logicPixel(0), physiPixel(0), OhmicPosMaterial(0), OhmicNegMaterial(0), pixelMaterial(0),sampleMaterial(0), Dia1Material(0),Dia3Material(0), - defaultMaterial(0),HPGeSD(0) + defaultMaterial(0), windowMaterial (0), HPGeSD(0) { materials = XrayFluoNistMaterials::GetInstance(); @@ -90,8 +91,8 @@ XrayFluoDetectorConstruction::XrayFluoDetectorConstruction() NbOfPixelRows = 1; // should be 1 NbOfPixelColumns = 1; // should be 1 NbOfPixels = NbOfPixelRows*NbOfPixelColumns; - PixelSizeXY = 7 * cm;// should be std::sqrt(40) * mm - PixelThickness = 3.5 * mm; //should be 3.5 mm + PixelSizeXY = std::sqrt(40) * mm; + PixelThickness = 2.7 * mm; //should be 3.5 mm G4cout << "PixelThickness(mm): "<< PixelThickness/mm << G4endl; G4cout << "PixelSizeXY(cm): "<< PixelSizeXY/cm << G4endl; @@ -105,11 +106,12 @@ XrayFluoDetectorConstruction::XrayFluoDetectorConstruction() Dia3SizeXY = 3. *cm; - DiaInnerSize = 1.0 * mm; //(Hole in the detector's diaphragm) + DiaInnerSize = 2.9 * cm; //(Hole in the detector's diaphragm) it was 1 mm - OhmicNegThickness = 0.005*mm;// 0.005 - OhmicPosThickness = 0.005*mm;// 0.005 + OhmicNegThickness = 1e-6*cm;// 0.005 + OhmicPosThickness = 1e-6*cm;// 0.005 + windowThickness = 0.008 * cm; //value for aif detector ThetaHPGe = 135. * deg; PhiHPGe = 225. * deg; @@ -125,7 +127,7 @@ XrayFluoDetectorConstruction::XrayFluoDetectorConstruction() DistDia = 66.5 * mm; DistDe =DistDia+ (Dia1Thickness - +PixelThickness)/2+OhmicPosThickness ; + +PixelThickness)/2+OhmicPosThickness+windowThickness ; grainDia = 1 * mm; PixelCopyNb=0; @@ -169,7 +171,11 @@ void XrayFluoDetectorConstruction::SetDetectorType(G4String type) else if (type=="hpge") { detectorType = XrayFluoHPGeDetectorType::GetInstance(); - } + }/* + else if (type=="aifira") + { + detectorType = XrayFluoAifSiLi::GetInstance(); + }*/ else { G4String excep = type + "detector type unknown"; @@ -208,28 +214,28 @@ void XrayFluoDetectorConstruction::DefineDefaultMaterials() sampleMaterial = materials->GetMaterial("Dolorite"); Dia1Material = materials->GetMaterial("G4_Pb"); - Dia3Material = materials->GetMaterial("Galactic"); + Dia3Material = materials->GetMaterial("G4_Galactic"); pixelMaterial = materials->GetMaterial("SiLi"); - //pixelMaterial = materials->GetMaterial(detectorType->GetDetectorMaterial()); - OhmicPosMaterial = materials->GetMaterial("Cu"); + //OhmicPosMaterial = materials->GetMaterial("G4_Cu"); + OhmicPosMaterial = materials->GetMaterial("G4_Ni"); OhmicNegMaterial = materials->GetMaterial("G4_Pb"); - defaultMaterial = materials->GetMaterial("Galactic"); - - + defaultMaterial = materials->GetMaterial("G4_Galactic"); + windowMaterial = materials->GetMaterial("G4_Be"); } - void XrayFluoDetectorConstruction::SetOhmicPosThickness(G4double val) +void XrayFluoDetectorConstruction::SetOhmicPosThickness(G4double val) { if (!phaseSpaceFlag) { if (val == 0.0) { - OhmicPosMaterial = materials->GetMaterial("Galactic"); + OhmicPosMaterial = materials->GetMaterial("G4_Galactic"); } else { OhmicPosThickness = val; - OhmicPosMaterial = materials->GetMaterial("Copper"); + //OhmicPosMaterial = materials->GetMaterial("G4_Cu"); + OhmicPosMaterial = materials->GetMaterial("G4_Ni"); } } @@ -380,6 +386,33 @@ G4VPhysicalVolume* XrayFluoDetectorConstruction::ConstructApparate() PixelCopyNb); } + + /////////// widow place here! //////////////// + // OhmicPos + solidWindow=0; logicWindow=0; physiWindow=0; + + if (windowThickness > 0.) + { solidWindow = new G4Box("Window", //its name + PixelSizeXY/2,PixelSizeXY/2,windowThickness/2); + + logicWindow = new G4LogicalVolume(solidWindow, //its solid + windowMaterial, //its material + "Window"); //its name + + physiWindow = new G4PVPlacement(0, + G4ThreeVector(0., + 0., + ((-PixelThickness-windowThickness)/2) + -OhmicPosThickness), + "OhmicWindow", + logicWindow, + physiHPGe, + false, + PixelCopyNb); + + } + + PixelCopyNb += PixelCopyNb; G4cout << "PixelCopyNb: " << PixelCopyNb << G4endl; @@ -630,11 +663,15 @@ G4VPhysicalVolume* XrayFluoDetectorConstruction::ConstructApparate() G4VisAttributes * blue= new G4VisAttributes( G4Colour(0/255. , 0/255. , 255/255. )); G4VisAttributes * gray= new G4VisAttributes( G4Colour(128/255. , 128/255. , 128/255. )); G4VisAttributes * lightGray= new G4VisAttributes( G4Colour(178/255. , 178/255. , 178/255. )); + G4VisAttributes * green= new G4VisAttributes( G4Colour(0/255. , 255/255. , 0/255. )); + yellow->SetVisibility(true); yellow->SetForceSolid(true); red->SetVisibility(true); red->SetForceSolid(true); blue->SetVisibility(true); + green->SetVisibility(true); + green->SetForceSolid(true); gray->SetVisibility(true); gray->SetForceSolid(true); lightGray->SetVisibility(true); @@ -650,6 +687,8 @@ G4VPhysicalVolume* XrayFluoDetectorConstruction::ConstructApparate() logicOhmicNeg->SetVisAttributes(yellow); logicOhmicPos->SetVisAttributes(yellow); + logicWindow->SetVisAttributes(green); + } logicSample->SetVisAttributes(simpleBoxVisAtt); diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoEventAction.cc b/examples/advanced/xray_fluorescence/src/XrayFluoEventAction.cc index cb00a66caf..59274f22b3 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoEventAction.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoEventAction.cc @@ -50,9 +50,6 @@ #include "G4EventManager.hh" #include "G4HCofThisEvent.hh" #include "G4VHitsCollection.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4SDManager.hh" #include "G4UImanager.hh" #include "G4ios.hh" @@ -202,25 +199,6 @@ void XrayFluoEventAction::EndOfEventAction(const G4Event* evt) } } } - - // extract the trajectories and draw them - - if (G4VVisManager::GetConcreteInstance()) - { - - G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->size(); - - 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); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoHPGeDetectorType.cc b/examples/advanced/xray_fluorescence/src/XrayFluoHPGeDetectorType.cc index 1c8181ec38..dd59e3b03f 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoHPGeDetectorType.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoHPGeDetectorType.cc @@ -324,7 +324,7 @@ void XrayFluoHPGeDetectorType::LoadResponseData(G4String fileName) void XrayFluoHPGeDetectorType::LoadEfficiencyData(G4String fileName) { - + /* char* path = getenv("XRAYDATA"); G4String dirFile; if (path) { @@ -336,8 +336,8 @@ void XrayFluoHPGeDetectorType::LoadEfficiencyData(G4String fileName) G4String pathString(path); dirFile = pathString + "/" + fileName; } - + */ interpolation4 = new G4LogLogInterpolation(); - efficiencySet = new XrayFluoDataSet(1,dirFile,interpolation4,keV,1); + efficiencySet = new XrayFluoDataSet(1,fileName,interpolation4,keV,1); } diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoMercuryDetectorConstruction.cc b/examples/advanced/xray_fluorescence/src/XrayFluoMercuryDetectorConstruction.cc index 3efa4e9015..aaec63e93b 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoMercuryDetectorConstruction.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoMercuryDetectorConstruction.cc @@ -186,11 +186,11 @@ void XrayFluoMercuryDetectorConstruction::DefineDefaultMaterials() //define materials of the apparate mercuryMaterial = materials->GetMaterial("Anorthosite"); - screenMaterial = materials->GetMaterial("Lead"); - pixelMaterial = materials->GetMaterial("Silicon"); - OhmicPosMaterial = materials->GetMaterial("Copper"); - OhmicNegMaterial = materials->GetMaterial("Lead"); - defaultMaterial = materials->GetMaterial("Galactic"); + screenMaterial = materials->GetMaterial("G4_Pb"); + pixelMaterial = materials->GetMaterial("G4_Si"); + OhmicPosMaterial = materials->GetMaterial("G4_Cu"); + OhmicNegMaterial = materials->GetMaterial("G4_Pb"); + defaultMaterial = materials->GetMaterial("G4_Galactic"); } diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoMercuryPrimaryGeneratorAction.cc b/examples/advanced/xray_fluorescence/src/XrayFluoMercuryPrimaryGeneratorAction.cc index d586128030..dd9aaee4cf 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoMercuryPrimaryGeneratorAction.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoMercuryPrimaryGeneratorAction.cc @@ -121,7 +121,7 @@ void XrayFluoMercuryPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) // let's decide from wich point of the sun surface the particle is coming: - G4double theta = pi/2. * G4UniformRand(); + G4double theta = std::acos(2.*G4UniformRand() - 1.0); G4double phi = 2. * pi * G4UniformRand(); G4double rho = sunDia/2; diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoNistMaterials.cc b/examples/advanced/xray_fluorescence/src/XrayFluoNistMaterials.cc index bacede30b3..41385e93c1 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoNistMaterials.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoNistMaterials.cc @@ -61,6 +61,7 @@ XrayFluoNistMaterials::~XrayFluoNistMaterials() delete GaAs; delete galactic; delete copper; + // delete nickel; delete hawaiianRF; delete hawaiianWD; @@ -640,6 +641,21 @@ void XrayFluoNistMaterials::CreateMaterials() elements.clear(); natoms.clear(); + /* + // define nikel + + density = 8908*kg/m3; + + // workaround for a problem in nistMan: it doesn't like material with a single element. + elements.push_back("Ni"); natoms.push_back(1); + elements.push_back("Ni"); natoms.push_back(1); + + nickel = nistMan->ConstructNewMaterial("Nickel",elements, natoms, density); + */ + elements.clear(); + natoms.clear(); + + G4cout << *(G4Material::GetMaterialTable()) << G4endl; } diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoPhysicsList.cc b/examples/advanced/xray_fluorescence/src/XrayFluoPhysicsList.cc index bed124d75d..fa36b8db7c 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoPhysicsList.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoPhysicsList.cc @@ -52,14 +52,7 @@ #include "G4BaryonConstructor.hh" ///////////////////////////////////////// -/* -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" -#include "G4ios.hh" -*/ +#include "G4StepLimiter.hh" //#include "G4Region.hh" //#include "G4RegionStore.hh" @@ -79,7 +72,7 @@ XrayFluoPhysicsList::XrayFluoPhysicsList(XrayFluoDetectorConstruction* p) cutForGamma = defaultCutValue; cutForElectron = defaultCutValue; - cutForProton = 0.001*mm; + cutForProton = 0.00001*mm; SetVerboseLevel(1); physicsListMessenger = new XrayFluoPhysicsListMessenger(this); @@ -178,7 +171,7 @@ void XrayFluoPhysicsList::ConstructBarions() { G4BaryonConstructor baryon; baryon.ConstructParticle(); - // G4Proton::ProtonDefinition(); + G4Proton::ProtonDefinition(); } void XrayFluoPhysicsList::ConstructIons() { @@ -197,45 +190,38 @@ void XrayFluoPhysicsList::ConstructProcess() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// gamma from standard + #include "G4PhotoElectricEffect.hh" -#include "G4LivermorePhotoElectricModel.hh" - #include "G4ComptonScattering.hh" -#include "G4LivermoreComptonModel.hh" - #include "G4GammaConversion.hh" -#include "G4LivermoreGammaConversionModel.hh" - #include "G4RayleighScattering.hh" + +// gamma from Lowenergy + +#include "G4LivermorePhotoElectricModel.hh" +#include "G4LivermoreComptonModel.hh" +#include "G4LivermorePolarizedComptonModel.hh" // alternative for polarized photons +#include "G4LivermoreGammaConversionModel.hh" #include "G4LivermoreRayleighModel.hh" -/* -#include "G4LowEnergyCompton.hh" -#include "G4LowEnergyGammaConversion.hh" -#include "G4LowEnergyPhotoElectric.hh" -#include "G4LowEnergyRayleigh.hh" -*/ - -// e+- -/* -#include "G4MultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" +#include "G4LivermorePolarizedRayleighModel.hh" // alternative for polarized photons -#include "G4LowEnergyIonisation.hh" -#include "G4LowEnergyBremsstrahlung.hh" -*/ +// e+ - e- from standard #include "G4eMultipleScattering.hh" -#include "G4UniversalFluctuation.hh" - #include "G4eIonisation.hh" -#include "G4LivermoreIonisationModel.hh" - #include "G4eBremsstrahlung.hh" +#include "G4UniversalFluctuation.hh" +#include "G4eplusAnnihilation.hh" + +// e+ - e- from Lowenergy + +#include "G4LivermoreIonisationModel.hh" #include "G4LivermoreBremsstrahlungModel.hh" -#include "G4eplusAnnihilation.hh" + +// protons from standard #include "G4hLowEnergyIonisation.hh" #include "G4hMultipleScattering.hh" @@ -245,6 +231,9 @@ void XrayFluoPhysicsList::ConstructProcess() #include "G4LossTableManager.hh" #include "G4EmProcessOptions.hh" +//#include "G4hIonisation.hh" + + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void XrayFluoPhysicsList::ConstructEM() @@ -257,106 +246,86 @@ void XrayFluoPhysicsList::ConstructEM() if (particleName == "gamma") { - // gamma - /* - pmanager->AddDiscreteProcess(new G4LowEnergyCompton); - - LePeprocess = new G4LowEnergyPhotoElectric(); - - - pmanager->AddDiscreteProcess(LePeprocess); - - pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh("Rayleigh")); + // gamma - */ - - G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); - G4LivermorePhotoElectricModel* theLivermorePhotoElectricModel = new G4LivermorePhotoElectricModel(); - - theLivermorePhotoElectricModel->ActivateAuger(true); - theLivermorePhotoElectricModel->SetCutForLowEnSecPhotons(0.010 * keV); - theLivermorePhotoElectricModel->SetCutForLowEnSecElectrons(0.010 * keV); - - thePhotoElectricEffect->AddEmModel(0, theLivermorePhotoElectricModel); - pmanager->AddDiscreteProcess(thePhotoElectricEffect); - - G4ComptonScattering* theComptonScattering = new G4ComptonScattering(); G4LivermoreComptonModel* theLivermoreComptonModel = new G4LivermoreComptonModel(); - theComptonScattering->AddEmModel(0, theLivermoreComptonModel); - pmanager->AddDiscreteProcess(theComptonScattering); + theComptonScattering->SetModel(theLivermoreComptonModel); + pmanager->AddDiscreteProcess(theComptonScattering); + + G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); + theLivermorePhotoElectricModel = new G4LivermorePhotoElectricModel(); + theLivermorePhotoElectricModel->ActivateAuger(true); + thePhotoElectricEffect->SetModel(theLivermorePhotoElectricModel); + pmanager->AddDiscreteProcess(thePhotoElectricEffect); + G4GammaConversion* theGammaConversion = new G4GammaConversion(); G4LivermoreGammaConversionModel* theLivermoreGammaConversionModel = new G4LivermoreGammaConversionModel(); - theGammaConversion->AddEmModel(0, theLivermoreGammaConversionModel); + theGammaConversion->SetModel(theLivermoreGammaConversionModel); pmanager->AddDiscreteProcess(theGammaConversion); G4RayleighScattering* theRayleigh = new G4RayleighScattering(); G4LivermoreRayleighModel* theRayleighModel = new G4LivermoreRayleighModel(); - theRayleigh->AddEmModel(0, theRayleighModel); + theRayleigh->SetModel(theRayleighModel); pmanager->AddDiscreteProcess(theRayleigh); - + + pmanager->AddProcess(new G4StepLimiter(), -1, -1, 5); } else if (particleName == "e-") { - //electron - /* - pmanager->AddProcess(new G4MultipleScattering(),-1, 1,1); - - LeIoprocess = new G4LowEnergyIonisation("IONI"); - LeIoprocess->ActivateAuger(true); - //eIoProcess = new G4eIonisation("stdIONI"); - LeIoprocess->SetCutForLowEnSecPhotons(0.01*keV); - LeIoprocess->SetCutForLowEnSecElectrons(0.01*keV); - pmanager->AddProcess(LeIoprocess, -1, 2, 2); - - LeBrprocess = new G4LowEnergyBremsstrahlung(); - pmanager->AddProcess(LeBrprocess, -1, -1, 3); - */ - + //electron + G4eMultipleScattering* msc = new G4eMultipleScattering(); - pmanager->AddProcess(msc, -1, 1, 1); + msc->SetStepLimitType(fUseDistanceToBoundary); + pmanager->AddProcess(msc, -1, 1, 1); + + G4eIonisation* eIoni = new G4eIonisation(); + G4LivermoreIonisationModel* theLivermoreIonisationModel = new G4LivermoreIonisationModel(); + theLivermoreIonisationModel->ActivateAuger(true); + // theLivermoreIonisationModel->SetUseAtomicDeexcitation(true); + eIoni->SetEmModel(theLivermoreIonisationModel); +// eIoni->SetStepFunction(0.2, 100*um); // + pmanager->AddProcess(eIoni, -1, 2, 2); + + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); + eBrem->SetEmModel(new G4LivermoreBremsstrahlungModel()); + pmanager->AddProcess(eBrem, -1,-3, 3); + pmanager->AddProcess(new G4StepLimiter(), -1, -1, 4); // Ionisation - G4eIonisation* eIoni = new G4eIonisation(); - G4LivermoreIonisationModel* ioniModel = new G4LivermoreIonisationModel(); - eIoni->AddEmModel(0, ioniModel, new G4UniversalFluctuation() ); - - // ioniModel->SetCutForLowEnSecPhotons(0.01*keV); - // ioniModel->SetCutForLowEnSecElectrons(0.01*keV); - - 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); - - } else if (particleName == "e+") { //positron - 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); + + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->SetStepLimitType(fUseDistanceToBoundary); + pmanager->AddProcess(msc, -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 == "proton") { //proton G4hLowEnergyIonisation* hIoni = new G4hLowEnergyIonisation(); hIoni->SetFluorescence(true); - pmanager->AddProcess(new G4hMultipleScattering(),-1,1,1); + hIoni->SelectShellIonisationCS("analytical"); + pmanager->AddProcess(new G4hMultipleScattering,-1,1,1); pmanager->AddProcess(hIoni,-1, 2,2); } else if ( particleName == "alpha" ) { - pmanager->AddProcess(new G4hMultipleScattering(),-1,1,1); - G4hLowEnergyIonisation* iIon = new G4hLowEnergyIonisation() ; - pmanager->AddProcess(iIon,-1,2,2); + pmanager->AddProcess(new G4hMultipleScattering,-1,1,1); + G4hLowEnergyIonisation* hIoni = new G4hLowEnergyIonisation(); + hIoni->SetFluorescence(true); + pmanager->AddProcess(hIoni,-1,2,2); } } @@ -441,22 +410,25 @@ void XrayFluoPhysicsList::SetLowEnSecPhotCut(G4double cut){ cut=0; -// G4cout<<"Low energy secondary photons cut is now set to: "<SetCutForLowEnSecPhotons(cut); -// LePeprocess->SetCutForLowEnSecPhotons(cut); +// theLivermorePhotoElectricModel->SetCutForLowEnSecPhotons(cut); // LeIoprocess->SetCutForLowEnSecPhotons(cut); + } +/* void XrayFluoPhysicsList::SetLowEnSecElecCut(G4double cut){ - cut = 0; -// G4cout<<"Low energy secondary electrons cut is now set to: "<SetCutForLowEnSecElectrons(cut); + G4cout<<"Low energy secondary electrons cut is now set to: "<SetCutForLowEnSecElectrons(cut); + } +*/ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void XrayFluoPhysicsList::SetProtonCut(G4double val) diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoPhysicsListMessenger.cc b/examples/advanced/xray_fluorescence/src/XrayFluoPhysicsListMessenger.cc index 030deafa84..ab85971197 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoPhysicsListMessenger.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoPhysicsListMessenger.cc @@ -79,14 +79,14 @@ XrayFluoPhysicsListMessenger::XrayFluoPhysicsListMessenger(XrayFluoPhysicsList * cutSecPhotCmd->SetDefaultValue(5e-5); cutSecPhotCmd->SetDefaultUnit("MeV"); cutSecPhotCmd->AvailableForStates(G4State_Idle); - +/* cutSecElecCmd = new G4UIcmdWithADoubleAndUnit("/lowenergy/seceleccut",this); cutSecElecCmd->SetGuidance("Set production threshold for secondary e-"); cutSecElecCmd->SetParameterName("energy",true); cutSecElecCmd->SetDefaultValue(5e-5); cutSecElecCmd->SetDefaultUnit("MeV"); cutSecElecCmd->AvailableForStates(G4State_Idle); - +*/ cutGCmd = new G4UIcmdWithADoubleAndUnit("/lowenergy/cutG",this); cutGCmd->SetGuidance("Set cut values by RANGE for Gamma."); cutGCmd->SetParameterName("range",true); @@ -125,7 +125,7 @@ XrayFluoPhysicsListMessenger::~XrayFluoPhysicsListMessenger() delete cutGLowLimCmd; delete cutELowLimCmd; delete cutGELowLimCmd; - delete cutSecElecCmd; + //delete cutSecElecCmd; delete cutSecPhotCmd; delete cutGCmd; delete cutECmd; @@ -150,8 +150,8 @@ void XrayFluoPhysicsListMessenger::SetNewValue(G4UIcommand* command,G4String new if(command == cutSecPhotCmd) { XrayFluoList->SetLowEnSecPhotCut(cutSecPhotCmd->GetNewDoubleValue(newValue));} - if(command == cutSecElecCmd) - { XrayFluoList->SetLowEnSecElecCut(cutSecElecCmd->GetNewDoubleValue(newValue));} +// if(command == cutSecElecCmd) +// { XrayFluoList->SetLowEnSecElecCut(cutSecElecCmd->GetNewDoubleValue(newValue));} if(command == cutGCmd) { XrayFluoList->SetGammaCut(cutGCmd->GetNewDoubleValue(newValue));} diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoPlaneDetectorConstruction.cc b/examples/advanced/xray_fluorescence/src/XrayFluoPlaneDetectorConstruction.cc index 2c65378e08..30d4a7d1e4 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoPlaneDetectorConstruction.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoPlaneDetectorConstruction.cc @@ -179,13 +179,11 @@ void XrayFluoPlaneDetectorConstruction::DefineDefaultMaterials() //define materials of the apparate planeMaterial = materials->GetMaterial("Anorthosite"); - screenMaterial = materials->GetMaterial("Lead"); - pixelMaterial = materials->GetMaterial("Silicon"); - OhmicPosMaterial = materials->GetMaterial("Copper"); - OhmicNegMaterial = materials->GetMaterial("Lead"); - defaultMaterial = materials->GetMaterial("Galactic"); - - + screenMaterial = materials->GetMaterial("G4_Pb"); + pixelMaterial = materials->GetMaterial("G4_Si"); + OhmicPosMaterial = materials->GetMaterial("G4_Cu"); + OhmicNegMaterial = materials->GetMaterial("G4_Pb"); + defaultMaterial = materials->GetMaterial("G4_Galactic"); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoPrimaryGeneratorAction.cc b/examples/advanced/xray_fluorescence/src/XrayFluoPrimaryGeneratorAction.cc index b1f762dc15..38139df494 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoPrimaryGeneratorAction.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoPrimaryGeneratorAction.cc @@ -74,7 +74,7 @@ XrayFluoPrimaryGeneratorAction::XrayFluoPrimaryGeneratorAction(XrayFluoDetectorC = particleTable->FindParticle(particleName="gamma"); particleGun->SetParticleDefinition(particle); particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - particleGun->SetParticleEnergy(10.*keV); + particleGun->SetParticleEnergy(10. * keV); G4double position = -0.5*(XrayFluoDetector->GetWorldSizeZ()); particleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,position)); diff --git a/examples/advanced/xray_fluorescence/src/XrayFluoSimulation.cc b/examples/advanced/xray_fluorescence/src/XrayFluoSimulation.cc index 96944cfc11..223bbb6202 100644 --- a/examples/advanced/xray_fluorescence/src/XrayFluoSimulation.cc +++ b/examples/advanced/xray_fluorescence/src/XrayFluoSimulation.cc @@ -36,15 +36,13 @@ // ------------------------------------------------------------------- #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 +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif #include "XrayFluoDetectorConstruction.hh" #include "XrayFluoPlaneDetectorConstruction.hh" #include "XrayFluoMercuryDetectorConstruction.hh" @@ -132,27 +130,8 @@ void XrayFluoSimulation::RunSimulation(int argc,char* argv[]) } - runManager->SetUserInitialization(xrayList); - 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[1]); -#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; @@ -200,24 +179,26 @@ void XrayFluoSimulation::RunSimulation(int argc,char* argv[]) runManager->Initialize(); // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (session) // Define UI session for interactive mode. + if (argc == 1) // Define UI session for interactive mode. { - // G4UIterminal is a (dumb) terminal. - UI->ApplyCommand("/control/execute initInter.mac"); -#ifdef G4UI_USE_XM - // Customize the G4UIXm menubar with a macro file : - UI->ApplyCommand("/control/execute gui.mac"); +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute initInter.mac"); +#endif + if (ui->IsGUI()) + UImanager->ApplyCommand("/control/execute gui.mac"); + 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/advanced/xray_fluorescence/vis.mac b/examples/advanced/xray_fluorescence/vis.mac new file mode 100644 index 0000000000..c1ce5287bd --- /dev/null +++ b/examples/advanced/xray_fluorescence/vis.mac @@ -0,0 +1,68 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 60. 30. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/advanced/xray_telescope/GNUmakefile b/examples/advanced/xray_telescope/GNUmakefile index 069d54d838..00dc83fe00 100644 --- a/examples/advanced/xray_telescope/GNUmakefile +++ b/examples/advanced/xray_telescope/GNUmakefile @@ -1,5 +1,5 @@ # -------------------------------------------------------------- -# $Id: GNUmakefile,v 1.8 2008/06/15 22:53:06 cirrone Exp $ +# $Id: GNUmakefile,v 1.9 2010/01/11 16:20:08 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -9,18 +9,15 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../.. endif -G4VIS_USE = 1 - include $(G4INSTALL)/config/architecture.gmk ifdef G4ANALYSIS_USE_PLOTTER CPPFLAGS += -DG4ANALYSIS_USE_PLOTTER endif - .PHONY: all all: lib bin diff --git a/examples/advanced/xray_telescope/History b/examples/advanced/xray_telescope/History index 76608b74f3..b41b9afc9b 100644 --- a/examples/advanced/xray_telescope/History +++ b/examples/advanced/xray_telescope/History @@ -1,4 +1,4 @@ -$Id: History,v 1.24 2009/11/20 18:18:14 santin Exp $ +$Id: History,v 1.26 2010/11/18 19:35:51 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,12 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +18.11.2010 Johb Allison, Tag xraytel-V09-03-01 + Introduced G4UIExecutve. + +03.06.2010 Joseph Perl, Tag xraytel-V09-03-00 + Update vis usage + 20.11.2009 - G.Santin, tag xraytel-V09-02-00 Updated and simplified physics list diff --git a/examples/advanced/xray_telescope/README b/examples/advanced/xray_telescope/README index b1a3a6242c..c34b6c1c0b 100644 --- a/examples/advanced/xray_telescope/README +++ b/examples/advanced/xray_telescope/README @@ -1,4 +1,4 @@ -$Id: README,v 1.14 2009/11/20 18:08:53 santin Exp $ +$Id: README,v 1.15 2010/06/06 06:26:05 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -49,16 +49,10 @@ reaching the detector run: XrayTel -execute command "/control/execute xxxxx.mac" - -visualisation macros provided are - - opengl.mac for OpenGL display - - vrml.mac for VRML display and output file - - dawn.mac for dawn display and PS output file - -To execute a run without visualisation use - - test.mac +execute command "/control/execute test.mac" +To enable visualisation, uncomment one line from test.mac: +/control/execute vis.mac If the analysis options are set, histograming windows will automatically open and the corresponding files will be created. diff --git a/examples/advanced/xray_telescope/XrayTel.cc b/examples/advanced/xray_telescope/XrayTel.cc index cd6bf14303..2bff193da6 100644 --- a/examples/advanced/xray_telescope/XrayTel.cc +++ b/examples/advanced/xray_telescope/XrayTel.cc @@ -77,13 +77,10 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIGAG.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "XrayTelDetectorConstruction.hh" #include "XrayTelPhysicsList.hh" #include "G4VisExecutive.hh" -#include "XrayTelEventAction.hh" +#include "G4UIExecutive.hh" #include "XrayTelRunAction.hh" #include "XrayTelSteppingAction.hh" #include "XrayTelPrimaryGeneratorAction.hh" @@ -102,7 +99,6 @@ int main( int argc, char** argv ) // set mandatory user action class runManager->SetUserAction(new XrayTelPrimaryGeneratorAction); runManager->SetUserAction(new XrayTelRunAction); - runManager->SetUserAction(new XrayTelEventAction); runManager->SetUserAction(new XrayTelSteppingAction); // visualization manager @@ -113,24 +109,18 @@ int main( int argc, char** argv ) runManager->Initialize(); // get the pointer to the User Interface manager - G4UImanager *UI = G4UImanager::GetUIpointer(); - G4UIsession * session; + G4UImanager *UImanager = G4UImanager::GetUIpointer(); if ( argc==1 ){ -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIGAG; -#endif - //G4UIsession * session = new G4UIterminal; - session->SessionStart(); - delete session; + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; } else { // Create a pointer to the User Interface manager G4String command = "/control/execute "; for (int i=2; i<=argc; i++) { G4String macroFileName = argv[i-1]; - UI->ApplyCommand(command+macroFileName); + UImanager->ApplyCommand(command+macroFileName); } } diff --git a/examples/advanced/xray_telescope/dawn.mac b/examples/advanced/xray_telescope/dawn.mac deleted file mode 100644 index 97ac02daf0..0000000000 --- a/examples/advanced/xray_telescope/dawn.mac +++ /dev/null @@ -1,129 +0,0 @@ -####################################################################### -# # -# This code implementation is the intellectual property of # -# the GEANT4 collaboration. # -# # -# By copying, distributing or modifying the Program (or any work # -# based on the Program) you indicate your acceptance of this # -# statement, and all its terms. # -# # -# ******************************************************************* # -# * * # -# * GEANT 4 xray_telescope advanced example * # -# * * # -# * MACRO: dawn.mac * # -# * ------ demostrates the DAWN DRIVER * # -# * * # -# * Version: 0.6 * # -# * Date: 15/11/00 * # -# * Author: R Nartallo * # -# * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * # -# * * # -# ******************************************************************* # -# # -# NOTES # -# ----- # -# USAGE: Idle> /control/execute dawn.mac # -# prompt> XrayTel dawn.mac # -# # -# REQUIRED PLATFORMS & SOFTWARE: DAWN (version 3.85 or after) # -# Ghostview # -# # -# ENVIRONMENT VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv G4VIS_USE_DAWN 1 # -# % setenv G4VIS_USE_DAWNFILE 1 # -# % setenv G4VIS_BUILD_DAWN_DRIVER 1 # -# % setenv G4VIS_BUILD_DAWNFILE_DRIVER 1 # -# # -# Addional Notes: # -# # -# * You may have to set the command path to the directory where # -# a Fukui Renderer DAWN is installed, e.g., to # -# "/afs/cern.ch/sw/contrib/DAWN/3.85/bin/Linux/" # -# at CERN. # -# # -# * Set as follows to skip DAWN GUI: # -# % setenv G4DAWNFILE_VIEWER "dawn -d" # -# # -# * In order to make the generated PostScript file "g4_XX.eps" # -# printable, append the "showpage" PostScript command to the file. # -# You can do it with the 4th page of the DAWN GUI panel # -# or by editing the file by hand. # -# # -####################################################################### -# # -# CHANGE HISTORY # -# -------------- # -# # -# 15.11.2000 R. Nartallo # -# - Replaced standard particle gun by GPS set options # -# # -# 08.11.2000 R. Nartallo # -# - Modified version # -# # -# 17.10.2000 S. Tanaka # -# - First implementation # -# # -####################################################################### - -# Set verbose level -/run/verbose 2 - -# Invoke the DAWNFILE driver -/vis/open DAWNFILE - -# Create a new scene -/vis/scene/create - -# Attach the current scene handler to the current scene -/vis/sceneHandler/attach - -# Add the world volume to the current scene -/vis/scene/add/volume - -# Set drawing style -/vis/viewer/set/style surface -#/vis/viewer/set/style wireframe - -# Set camera -/vis/camera/reset -/vis/camera/viewpoint 25 0 - -# Visualize one event added to the current scene -# * Command "/vis/scene/notifyHandlers" is written in -# XrayTelRunAction::BeginOfRunAction() -# * Command "/vis/viwer/update" is written in -# XrayTelRunAction::EndOfRunAction() - -# Store particle trajactories for visualization -/tracking/storeTrajectory 1 - -# Set to draw tracks of positively charged particles -/event/drawTracks charged - -# Set General Particle Source options -/gps/particle proton -/gps/pos/type Plane -/gps/pos/shape Annulus -/gps/pos/rot1 0. 0. 1. -/gps/pos/rot2 0. 1. 0. -/gps/pos/radius 35.5 cm -/gps/pos/inner_radius 30.5 cm -/gps/pos/centre 780.1 0. 0. cm -/gps/ang/type cos -/gps/ang/maxtheta 1. deg -/gps/ene/type Mono -/gps/ene/mono 0.5 MeV - -# Set number of particles and start -/run/beamOn 30000 - - - - - - - - diff --git a/examples/advanced/xray_telescope/include/XrayTelEventAction.hh b/examples/advanced/xray_telescope/include/XrayTelEventAction.hh deleted file mode 100644 index ef2eca8973..0000000000 --- a/examples/advanced/xray_telescope/include/XrayTelEventAction.hh +++ /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. * -// ******************************************************************** -// -// -// ********************************************************************** -// * * -// * GEANT 4 xray_telescope advanced example * -// * * -// * MODULE: XrayTelEventAction.hh * -// * ------- * -// * * -// * Version: 0.5 * -// * Date: 16/10/01 * -// * Author: R Nartallo * -// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * -// * * -// ********************************************************************** -// -// CHANGE HISTORY -// -------------- -// -// 05.12.2001 R.Nartallo -// - Add "Update" function as in LowEnTest -// -// 16.10.2001 R.Nartallo -// - Clean up code to avoid 'pedantic' and 'ANSI' compiler warnings -// -// 06.11.2000 R.Nartallo -// - First implementation of X-ray Telescope advanced example. -// - Based on Chandra and XMM models -// -// -// ********************************************************************** - -#ifndef XrayTelEventAction_h -#define XrayTelEventAction_h 1 - -#include "G4UserEventAction.hh" -#include "globals.hh" - -class XrayTelEventActionMessenger; - -class XrayTelEventAction : public G4UserEventAction -{ -public: - - XrayTelEventAction(); - ~XrayTelEventAction(); - - void BeginOfEventAction(const G4Event* anEvent); - void EndOfEventAction(const G4Event* anEvent); - - void SetDrawFlag(G4String val) {drawFlag = val;}; - - void Update(); - -private: - - G4String drawFlag; // control the drawing of event - XrayTelEventActionMessenger* eventMessenger; - G4bool drawEvent; -}; - -#endif - - - - - - diff --git a/examples/advanced/xray_telescope/include/XrayTelEventActionMessenger.hh b/examples/advanced/xray_telescope/include/XrayTelEventActionMessenger.hh deleted file mode 100644 index e8939e55df..0000000000 --- a/examples/advanced/xray_telescope/include/XrayTelEventActionMessenger.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. * -// ******************************************************************** -// -// -// ********************************************************************** -// * * -// * GEANT 4 xray_telescope advanced example * -// * * -// * MODULE: XrayTelEventActionMessenger.hh * -// * ------- * -// * * -// * Version: 0.4 * -// * Date: 06/11/00 * -// * Author: R Nartallo * -// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * -// * * -// ********************************************************************** -// -// CHANGE HISTORY -// -------------- -// -// 06.11.2000 R.Nartallo -// - First implementation of X-ray Telescope advanced example. -// - Based on Chandra and XMM models -// -// -// ********************************************************************** - -#ifndef XrayTelEventActionMessenger_h -#define XrayTelEventActionMessenger_h 1 - -#include "globals.hh" -#include "G4UImessenger.hh" - -class XrayTelEventAction; -class G4UIcmdWithAString; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class XrayTelEventActionMessenger: public G4UImessenger -{ -public: - XrayTelEventActionMessenger(XrayTelEventAction*); - ~XrayTelEventActionMessenger(); - - void SetNewValue(G4UIcommand*, G4String); - -private: - XrayTelEventAction* eventAction; - G4UIcmdWithAString* DrawCmd; -}; - -#endif - - - - - - diff --git a/examples/advanced/xray_telescope/opengl.mac b/examples/advanced/xray_telescope/opengl.mac deleted file mode 100644 index 41f18e0b47..0000000000 --- a/examples/advanced/xray_telescope/opengl.mac +++ /dev/null @@ -1,103 +0,0 @@ -####################################################################### -# # -# This code implementation is the intellectual property of # -# the GEANT4 collaboration. # -# # -# By copying, distributing or modifying the Program (or any work # -# based on the Program) you indicate your acceptance of this # -# statement, and all its terms. # -# # -# ******************************************************************* # -# * * # -# * GEANT 4 xray_telescope advanced example * # -# * * # -# * MACRO: opengl.mac * # -# * ------ demostrates the OGLIX DRIVER * # -# * * # -# * Version: 1.0 * # -# * Date: 16/10/01 * # -# * Author: R Nartallo * # -# * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * # -# * * # -# ******************************************************************* # -# # -# NOTES # -# ----- # -# USAGE: Idle> /control/execute opengl.mac. # -# prompt> XrayTel opengl.mac # -# # -# REQUIRED PLATFORMS & SOFTWARE: OpenGL, e.g. Mesa # -# # -# ENVIRONMENT VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv OGLHOME opengl_home_dir # -# (where opengl_home_dir is e.g. /usr/local/Mesa-3.2.1 # -# # -# % setenv G4VIS_USE_OPENGLX 1 # -# % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # -# # -####################################################################### -# # -# CHANGE HISTORY # -# -------------- # -# # -# 16.10.2001 R. Nartallo # -# - New implementation with new "/vis" commands # -# # -# 15.11.2000 R. Nartallo # -# - Replaced standard particle gun by GPS set options # -# # -# 08.11.2000 R. Nartallo # -# - First implementation # -# # -####################################################################### - -# Set verbose level -/run/verbose 2 - -# Invoke the OGLIX driver -/vis/open OGLIX -/vis/viewer/set/style wireframe -/vis/drawVolume -/vis/viewer/set/viewpointThetaPhi 60 -75 deg -/vis/scene/endOfEventAction accumulate - -# Visualize one event added to the current scene -# * Command "/vis/scene/notifyHandlers" is written in -# XrayTelRunAction::BeginOfRunAction() -# * Command "/vis/viewer/update" is written in -# XrayTelRunAction::EndOfRunAction() - -# Store particle trajactories for visualization -/tracking/storeTrajectory 1 - -# Set to draw tracks of positively charged particles -/event/drawTracks charged - -# Set General Particle Source options -/gps/particle proton -/gps/pos/type Plane -/gps/pos/shape Annulus -/gps/pos/rot1 0. 0. 1. -/gps/pos/rot2 0. 1. 0. -/gps/pos/radius 35.5 cm -/gps/pos/inner_radius 30.5 cm -/gps/pos/centre 780.1 0. 0. cm -/gps/ang/type cos -/gps/ang/maxtheta 1. deg -/gps/ene/type Mono -/gps/ene/mono 0.5 MeV - -# Set number of particles and start -/run/beamOn 30000 - - - - - - - - - - diff --git a/examples/advanced/xray_telescope/src/XrayTelEventAction.cc b/examples/advanced/xray_telescope/src/XrayTelEventAction.cc deleted file mode 100644 index 8395ae51cf..0000000000 --- a/examples/advanced/xray_telescope/src/XrayTelEventAction.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. * -// ******************************************************************** -// -// -// ********************************************************************** -// * * -// * GEANT 4 xray_telescope advanced example * -// * * -// * MODULE: XrayTelEventAction.cc * -// * ------- * -// * * -// * Version: 0.4 * -// * Date: 06/11/00 * -// * Author: R Nartallo * -// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * -// * * -// ********************************************************************** -// -// CHANGE HISTORY -// -------------- -// -// 05.12.2001 R.Nartallo -// - Implement "Update" function as in LowEnTest -// -// 06.11.2000 R.Nartallo -// - First implementation of xray_telescope event action -// - Based on Chandra and XMM models -// -// -// ********************************************************************** - -#include "G4ios.hh" -#include "G4Event.hh" -#include "G4EventManager.hh" -#include "G4HCofThisEvent.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" -#include "G4UImanager.hh" -#include "G4UnitsTable.hh" - -#include "XrayTelEventAction.hh" -#include "XrayTelEventActionMessenger.hh" - - -XrayTelEventAction::XrayTelEventAction() - : drawFlag("all"),eventMessenger(0),drawEvent(false) -{ - eventMessenger = new XrayTelEventActionMessenger(this); -} - - -XrayTelEventAction::~XrayTelEventAction() -{ - delete eventMessenger; -} - - -void XrayTelEventAction::BeginOfEventAction(const G4Event*) -{ - drawEvent = false; -} - - -void XrayTelEventAction::EndOfEventAction(const G4Event*) -{ - if (drawEvent){ - const G4Event* evt = fpEventManager->GetConstCurrentEvent(); - - G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if ( trajectoryContainer ){ - n_trajectories = trajectoryContainer->entries(); - } - - if ( G4VVisManager::GetConcreteInstance() ) { - for ( G4int i=0; iGetTrajectoryContainer()))[i]; - if ( drawFlag == "all" ) trj->DrawTrajectory(50); - else if ( (drawFlag == "charged")&&(trj->GetCharge() > 0.) ) - trj->DrawTrajectory(50); - trj->ShowTrajectory(); - } - } - } -} - - -void XrayTelEventAction::Update() -{ - // Update the flag identifying the event to be visualised - drawEvent = true; -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/advanced/xray_telescope/src/XrayTelEventActionMessenger.cc b/examples/advanced/xray_telescope/src/XrayTelEventActionMessenger.cc deleted file mode 100644 index 7011d38545..0000000000 --- a/examples/advanced/xray_telescope/src/XrayTelEventActionMessenger.cc +++ /dev/null @@ -1,90 +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. * -// ******************************************************************** -// -// -// ********************************************************************** -// * * -// * GEANT 4 xray_telescope advanced example * -// * * -// * MODULE: XrayTelEventActionMessenger.cc * -// * ------- * -// * * -// * Version: 0.4 * -// * Date: 06/11/00 * -// * Author: R Nartallo * -// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * -// * * -// ********************************************************************** -// -// CHANGE HISTORY -// -------------- -// -// 06.11.2000 R.Nartallo -// - First implementation of xray_telescope event action messenger -// - Based on Chandra and XMM models -// -// -// ********************************************************************** - -#include "G4UIcmdWithAString.hh" - -#include "globals.hh" - -#include "XrayTelEventAction.hh" -#include "XrayTelEventActionMessenger.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -XrayTelEventActionMessenger::XrayTelEventActionMessenger(XrayTelEventAction* EvAct) - :eventAction(EvAct) -{ - DrawCmd = new G4UIcmdWithAString("/event/drawTracks",this); - DrawCmd->SetGuidance("Draw the tracks in the event"); - DrawCmd->SetGuidance(" Choice : none, charged, all (default)"); - DrawCmd->SetParameterName("choice",true); - DrawCmd->SetDefaultValue("charged"); - DrawCmd->SetCandidates("none charged all"); - DrawCmd->AvailableForStates(G4State_Idle); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -XrayTelEventActionMessenger::~XrayTelEventActionMessenger() -{ - delete DrawCmd; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void XrayTelEventActionMessenger::SetNewValue(G4UIcommand * command,G4String newValue) -{ - if(command == DrawCmd) - {eventAction->SetDrawFlag(newValue);} -} - - - - - diff --git a/examples/advanced/xray_telescope/src/XrayTelSteppingAction.cc b/examples/advanced/xray_telescope/src/XrayTelSteppingAction.cc index 48027c3654..3ae4fea57f 100644 --- a/examples/advanced/xray_telescope/src/XrayTelSteppingAction.cc +++ b/examples/advanced/xray_telescope/src/XrayTelSteppingAction.cc @@ -66,7 +66,6 @@ #include "G4Track.hh" #include "G4Step.hh" #include "G4RunManager.hh" -#include "XrayTelEventAction.hh" #include "XrayTelRunAction.hh" #include "XrayTelAnalysis.hh" @@ -95,12 +94,7 @@ void XrayTelSteppingAction::UserSteppingAction(const G4Step* step) { entering = true; - // Notify the corresponding UserAction that the event must be visualised G4RunManager* runManager = G4RunManager::GetRunManager(); - // Casting is safe here: one knows the RTTI of the UserActions - // in the current application (otherwise one could dynamic_cast) - XrayTelEventAction* eventAction = (XrayTelEventAction*) runManager->GetUserEventAction(); - eventAction->Update(); // Notify the corresponding UserAction to update the run counters XrayTelRunAction* runAction = (XrayTelRunAction*) runManager->GetUserRunAction(); diff --git a/examples/advanced/xray_telescope/test.mac b/examples/advanced/xray_telescope/test.mac index ad0c622883..1c6a790fa5 100644 --- a/examples/advanced/xray_telescope/test.mac +++ b/examples/advanced/xray_telescope/test.mac @@ -12,7 +12,7 @@ /gps/ang/maxtheta 1. deg /gps/ene/type Mono /gps/ene/mono 0.5 MeV + +/control/execute vis.mac + /run/beamOn 1000 - - - diff --git a/examples/advanced/xray_telescope/vrml.mac b/examples/advanced/xray_telescope/vrml.mac deleted file mode 100644 index 85a3d4b912..0000000000 --- a/examples/advanced/xray_telescope/vrml.mac +++ /dev/null @@ -1,149 +0,0 @@ -####################################################################### -# # -# This code implementation is the intellectual property of # -# the GEANT4 collaboration. # -# # -# By copying, distributing or modifying the Program (or any work # -# based on the Program) you indicate your acceptance of this # -# statement, and all its terms. # -# # -# ******************************************************************* # -# * * # -# * GEANT 4 xray_telescope advanced example * # -# * * # -# * MACRO: vrml.mac * # -# * ------ demostrates the VRML DRIVER * # -# * * # -# * Version: 1.0 * # -# * Date: 16/10/01 * # -# * Author: R Nartallo * # -# * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * # -# * * # -# ******************************************************************* # -# # -# NOTES # -# ----- # -# USAGE: Idle> /control/execute vrml.mac # -# prompt> XrayTel vrml.mac # -# # -# REQUIRED PLATFORMS & SOFTWARE: VRML viewer, e.g. VRMLview # -# # -# ENVIRONMENT VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv G4VIS_USE_VRML 1 # -# % setenv G4VIS_USE_VRMLFILE 1 # -# % setenv G4VIS_BUILD_VRMLFILE_DRIVER 1 # -# # -# RECOMMENDED ENVIRONMENT VARIABLES FOR THE VRML VIEWER: # -# # -# % setenv G4VRMLFILE_VIEWER vrmlview //default value is "NONE" # -# % setenv G4VRMLFILE_MAX_FILE_NUM 100 //default value is "1" # -# # -# Addional Notes: # -# You may have to set the command path to the directory where # -# a VRML viewer is installed, e.g., to # -# "/afs/cern.ch/sw/contrib/VRML/bin/Linux/" at CERN # -# # -####################################################################### -# # -# CHANGE HISTORY # -# -------------- # -# # -# 16.10.2001 R. Nartallo # -# - New implementation with new "/vis" commands # -# # -# 15.11.2000 R. Nartallo # -# - Replaced standard particle gun by GPS set options # -# # -# 08.11.2000 R. Nartallo # -# - Modified version # -# # -# 17.10.2000 S. Tanaka # -# - First implementation # -# # -####################################################################### - -# Set verbose level -/run/verbose 2 - -################################################# -# Visualization of detector geometry with -# the VRML2FILE driver. -################################################# - -# Invoke the VRML2FILE driver -#/vis/open VRML2FILE - -# Visualize of the whole detector geometry -#/vis/viewer/set/style surface -#/vis/drawVolume -#/vis/viewer/update - -################################################# -# Visualization of detector geometry and events -# with the VRML2FILE driver. -################################################# - -# Invoke the VRML2FILE driver -/vis/open VRML2FILE - -# Set viewer rendering style -# "wireframe" means "half-transparent" in VRML2FILE driver -#/vis/viewer/set/style surface -/vis/viewer/set/style wireframe - -# Compund command: creates scene, adds volume, attaches scene handler -# and refreshes viewer -/vis/drawVolume - -# Create a new scene -/vis/scene/create - -# Attach the current scene handler to the current scene -/vis/sceneHandler/attach - -# Add the world volume to the current scene -/vis/scene/add/volume - -# Visualize one event added to the current scene -# * Command "/vis/scene/notifyHandlers" is written in -# XrayTelRunAction::BeginOfRunAction() -# * Command "/vis/viewer/update" is written in -# XrayTelRunAction::EndOfRunAction() - -# Store particle trajactories for visualization -/tracking/storeTrajectory 1 - -# Set to draw tracks of positively charged particles -/event/drawTracks charged - -# Set General Particle Source options -/gps/particle proton -/gps/pos/type Plane -/gps/pos/shape Annulus -/gps/pos/rot1 0. 0. 1. -/gps/pos/rot2 0. 1. 0. -/gps/pos/radius 35.5 cm -/gps/pos/inner_radius 30.5 cm -/gps/pos/centre 780.1 0. 0. cm -/gps/ang/type cos -/gps/ang/rot1 0. 0. 1. -/gps/ang/rot2 0. 1. 0. -/gps/ang/maxtheta 1. deg -/gps/ene/type Mono -/gps/ene/mono 0.5 MeV - -# Set number of particles and start -/run/beamOn 10000 - - - - - - - - - - - diff --git a/examples/extended/analysis/A01/History b/examples/extended/analysis/A01/History index 3cf53f88d2..4f6437ba87 100644 --- a/examples/extended/analysis/A01/History +++ b/examples/extended/analysis/A01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.48 2009/12/02 22:45:09 perl Exp $ +$Id: History,v 1.50 2010/06/06 04:21:04 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -11,6 +11,9 @@ $Id: History,v 1.48 2009/12/02 22:45:09 perl Exp $ --------------------------------------------------------------------------- +4 June 2010 Joseph Perl (exampleA01-V09-03-00) +- Updated vis usage. + 2 Dec 2009 Joseph Perl (exampleA01-V09-02-02) - A01MuonPhysics: change hMultipleScattering to MuMultipleScattering. diff --git a/examples/extended/analysis/A01/opengl.mac b/examples/extended/analysis/A01/opengl.mac index db004d94ad..0be354cce0 100644 --- a/examples/extended/analysis/A01/opengl.mac +++ b/examples/extended/analysis/A01/opengl.mac @@ -10,7 +10,7 @@ # /vis/sceneHandler/create # /vis/viewer/create # -/vis/open OGLIX +/vis/open OGL # # Create a scene. One could use /vis/drawVolume, which is equivalent to: # /vis/scene/create diff --git a/examples/extended/analysis/A01/vis.mac b/examples/extended/analysis/A01/vis.mac index 201f6bd15b..29d5ac72c0 100644 --- a/examples/extended/analysis/A01/vis.mac +++ b/examples/extended/analysis/A01/vis.mac @@ -4,24 +4,75 @@ # Set verbosity # /control/verbose 2 -# /vis/verbose confirmations # -# Create a scene handler and viewer for HepRep +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/open HepRepFile +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# Draw detector +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: /vis/drawVolume # -# Declare that trajectories and hits should be added to the scene +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. # -/vis/scene/add/trajectories -/vis/scene/add/hits +# Specify zoom value: +/vis/viewer/zoom 1.6 # -# Execute the visualization via the /vis/viewer/flush that comes -# automatically at the end of each /run. +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush # /mydet/armAngle 60. deg /mydet/fieldValue 2. tesla diff --git a/examples/extended/analysis/AnaEx01/AnaEx01.cc b/examples/extended/analysis/AnaEx01/AnaEx01.cc index 83c6c70109..cd8f5ddd6a 100644 --- a/examples/extended/analysis/AnaEx01/AnaEx01.cc +++ b/examples/extended/analysis/AnaEx01/AnaEx01.cc @@ -24,89 +24,106 @@ // ******************************************************************** // // -// $Id: AnaEx01.cc,v 1.14 2006/06/29 16:33:13 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: AnaEx01.cc,v 1.15 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// -// -------------------------------------------------------------- -// GEANT 4 - AnaEx01 // -// -------------------------------------------------------------- -// Comments -// Example of histogram and tuple manipulations using an AIDA compliant -// system. All analysis manipulations (hooking an AIDA implementation, -// histo booking, filling, etc...) are concentrated in one -// class : AnaEx01AnalysisManager. -// See the README file within the same directory to have more infos. -// -------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Geant4 : #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "Randomize.hh" +#include "DetectorConstruction.hh" +#include "PhysicsList.hh" +#include "PrimaryGeneratorAction.hh" +#include "RunAction.hh" +#include "EventAction.hh" +#include "SteppingAction.hh" +#include "HistoManager.hh" -// AIDA : -#ifdef G4ANALYSIS_USE -#include +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" #endif -// AnaEx01 : -#include "AnaEx01AnalysisManager.hh" -#include "AnaEx01DetectorConstruction.hh" -#include "AnaEx01PhysicsList.hh" -#include "AnaEx01PrimaryGeneratorAction.hh" -#include "AnaEx01RunAction.hh" -#include "AnaEx01EventAction.hh" -#include "AnaEx01SteppingAction.hh" -#include "AnaEx01SteppingVerbose.hh" +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif -int main(int,char**) { +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - // choose the Random engine - CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); - - //my Verbose output class - G4VSteppingVerbose::SetInstance(new AnaEx01SteppingVerbose); - +int main(int argc,char** argv) +{ // Construct the default run manager + // G4RunManager * runManager = new G4RunManager; - // set mandatory initialization classes - AnaEx01DetectorConstruction* detector = new AnaEx01DetectorConstruction; + // Set mandatory initialization classes + // + DetectorConstruction* detector = new DetectorConstruction; runManager->SetUserInitialization(detector); - runManager->SetUserInitialization(new AnaEx01PhysicsList); - - runManager->SetUserAction(new AnaEx01PrimaryGeneratorAction(detector)); - - AnaEx01AnalysisManager* analysisManager = 0; -#ifdef G4ANALYSIS_USE - AIDA::IAnalysisFactory* aida = AIDA_createAnalysisFactory(); - analysisManager = new AnaEx01AnalysisManager(aida); -#endif - runManager->SetUserAction(new AnaEx01RunAction(analysisManager)); - runManager->SetUserAction(new AnaEx01EventAction(analysisManager)); - runManager->SetUserAction(new AnaEx01SteppingAction(analysisManager)); - - //Initialize G4 kernel + // + PhysicsList* physics = new PhysicsList; + runManager->SetUserInitialization(physics); + + // set an HistoManager + // + HistoManager* histo = new HistoManager(); + + // Set user action classes + // + PrimaryGeneratorAction* gen_action = + new PrimaryGeneratorAction(detector); + runManager->SetUserAction(gen_action); + // + RunAction* run_action = new RunAction(histo); + runManager->SetUserAction(run_action); + // + EventAction* event_action = new EventAction(run_action,histo); + runManager->SetUserAction(event_action); + // + SteppingAction* stepping_action = + new SteppingAction(detector, event_action); + runManager->SetUserAction(stepping_action); + + // Initialize G4 kernel + // runManager->Initialize(); - - // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); - - // Batch mode - UI->ApplyCommand("/control/execute run.mac"); - - // job termination -#ifdef G4ANALYSIS_USE - delete analysisManager; + + // 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 visualization and UI terminal +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); + UImanager->ApplyCommand("/control/execute vis.mac"); #endif + +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif + } + + // Job termination + delete histo; delete runManager; -#ifdef G4ANALYSIS_USE - delete aida; -#endif - return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/AnaEx01.in b/examples/extended/analysis/AnaEx01/AnaEx01.in new file mode 100644 index 0000000000..4fc3148f1f --- /dev/null +++ b/examples/extended/analysis/AnaEx01/AnaEx01.in @@ -0,0 +1,5 @@ + +# e- 500MeV +/gun/particle e- +/gun/energy 500 MeV +/run/beamOn 1000 diff --git a/examples/extended/analysis/AnaEx01/GNUmakefile b/examples/extended/analysis/AnaEx01/GNUmakefile index 902ab2e1b5..6e01252159 100644 --- a/examples/extended/analysis/AnaEx01/GNUmakefile +++ b/examples/extended/analysis/AnaEx01/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2009/03/05 09:20:52 gbarrand Exp $ +# $Id: GNUmakefile,v 1.4 2010/11/08 10:38:44 maire Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,10 +8,19 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../../.. + G4INSTALL = ../../.. endif .PHONY: all all: lib bin +#### G4ANALYSIS_USE := true + 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/extended/analysis/AnaEx01/History b/examples/extended/analysis/AnaEx01/History index 629f84fdc4..054cca20d6 100644 --- a/examples/extended/analysis/AnaEx01/History +++ b/examples/extended/analysis/AnaEx01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.18 2009/05/13 08:46:37 gbarrand Exp $ +$Id: History,v 1.19 2010/11/08 10:38:44 maire Exp $ -------------------------------------------------- ========================================================= @@ -14,6 +14,10 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +08 November 2010 Michel Maire (AnaEx01-V09-03-00) +- revised version of example : + class HistoManager to replace AnaEx01AnalysisManager 13 May 2009 Guy Barrand (AnaEx01-V09-02-00) - Tagged all changes. diff --git a/examples/extended/analysis/AnaEx01/InstallAida.txt b/examples/extended/analysis/AnaEx01/InstallAida.txt new file mode 100644 index 0000000000..d096bb0af0 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/InstallAida.txt @@ -0,0 +1,78 @@ +$Id: InstallAida.txt,v 1.1 2010/11/08 10:38:44 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/extended/analysis/AnaEx01/README b/examples/extended/analysis/AnaEx01/README index 1d49f67d9c..6742e09670 100644 --- a/examples/extended/analysis/AnaEx01/README +++ b/examples/extended/analysis/AnaEx01/README @@ -1,5 +1,5 @@ -$Id: README,v 1.16 2009/05/13 08:32:36 gbarrand Exp $ -------------------------------------------------------------------- +$Id: README,v 1.17 2010/11/08 10:38:44 maire Exp $ +-------------------------------------------------- ========================================================= Geant4 - an Object-Oriented Toolkit for Simulation in HEP @@ -7,74 +7,90 @@ $Id: README,v 1.16 2009/05/13 08:32:36 gbarrand Exp $ AnaEx01 ------- - - This example shows the usage of histogram and tuple manipulations using - an AIDA compliant system. In this example, all analysis manipulations + This example shows the usage of histogram and tuple manipulations using + an AIDA compliant system. All analysis manipulations (attaching an AIDA implementation, histo booking, filling, saving - histos in a file, etc...) are concentrated in one class : - AnaEx01AnalysisManager. - - To include the analysis code, the environment variable - G4ANALYSIS_USE - must be defined before doing "make". If not, at run time, no - histograms and file will be created. - - For example, a typical session from a UNIX csh flavoured shell is : - csh> source /aida-setup.csh - csh> setenv G4ANALYSIS_USE 1 - csh> make - csh> ${G4BIN}/${G4SYSTEM}/AnaEx01 - After execution, a file AnaEx01.aida should have been created. - Someone can change the default file format by changing the - value of the std::string variable format in the AnaEx01AnalysisManager - constructor : - // File format : - std::string format("xml"); - //std::string format("hbook"); - //std::string format("root"); + histos in a file, etc...) are located in one class : HistoManager. - Working with the OpenScientist packages : - --------------------------------------- - To create the analysis file, you can install the light "osc_batch" - binary kit (See http://OpenScientist.lal.in2p3.fr ). For example - from a UNIX sh flavoured shell : - sh> cd /usr/local - sh> - sh> - sh> unzip -q osc_batch.zip - sh> cd osc_batch/ - sh> ./install + The example is an adaptation of examples/novice/N03. It describes a simple + sampling calorimeter setup. + + 1- Detector description + ----------------------- + + The calorimeter is a box made of a given number of layers. A layer + consists of an absorber plate and of a detection gap. The layer is + replicated. + + Six parameters define the calorimeter : + - the material of the absorber, + - the thickness of an absorber plate, + - the material of the detection gap, + - the thickness of a gap, + - the number of layers, + - the transverse size of the calorimeter (the input face is a square). + + The default geometry is constructed in DetectorConstruction class, + but all of the above parameters can be modified interactively via + the commands defined in the DetectorMessenger class. + + + |<----layer 0---------->|<----layer 1---------->|<----layer 2---------->| + | | | | + ========================================================================== + || | || | || | || + || | || | || | || + || absorber | gap || absorber | gap || absorber | gap || + || | || | || | || + || | || | || | || + beam || | || | || | || +======> || | || | || | || + || | || | || | || + || | || | || | || + || | || | || | || + || | || | || | || + || | || | || | || + ========================================================================== + + + 2- An event : PrimaryGeneratorAction + ------------------------------------ + + The primary kinematic consists of a single particle which hits the + calorimeter perpendicular to the input face. The type of the particle + and its energy are set in the PrimaryGeneratorAction class, and can + be changed via the G4 build-in commands of ParticleGun class. + + + 3- Histograms + ------------- + To produce histograms, at least one of the AIDA implementations should be + available. See the file InstallAida.txt + + AnaEx01 can produce 4 histograms : - Then you build the example with : - - csh> source /usr/local/osc_batch//aida-setup.csh - csh> - csh> setenv G4ANALYSIS_USE 1 - csh> cd /examples/extended/analysis/AnaEx01 - csh> make - csh> ${G4BIN}/${G4SYSTEM}/AnaEx01 + histo 1 : total energy deposit in absorber per event + histo 2 : total energy deposit in gap per event + histo 3 : total track length of charged particles in absorber per event + histo 4 : total track length of charged particles in gap per event + + And 1 Ntuple : + one raw per event : EnergyAbs EnergyGap TrackLAbs TrackLGap + + These histos are booked in HistoManager and filled from EventAction. + + One can control the name of the histograms file and its format: + default name : AnaEx01 + possible formats : hbook root (default) xml + + See HistoManager constructor + + Note that, by default, histograms are disabled. To activate them, uncomment + the flag G4ANALYSIS_USE in GNUmakefile, *before* compilation. - Depending of the file format, you can visualize the produced - file with various interactive tools (CERN/PAW, CERN/ROOT, jas). - But if installing also an OpenScientist osc_vis binary kit, - you shall be able to visualize all formats by using - the osc-plot program. To install an osc_vis kit : - sh> cd /usr/local - sh> - sh> - sh> unzip -q osc_vis.zip - sh> cd osc_vis/ - sh> ./install - Then to browse the AnaEx01. file (for exa from an UNIX sh shell) : - - sh> . /usr/local/osc_vis//setup.sh - sh> - sh> osc-plot AnaEx01.[aida,root,hbook] - - The OpenScientist URL is : - http://OpenScientist.lal.in2p3.fr. - - Note that OpenScientist is installed on CERN/lxplus under : - /afs/cern.ch/sw/contrib/[osc_batch,osc_vis]. - + 4- OpenScientist + ---------------- + The file UseOpenScientist.txt gives some indications how to use this system to + visualize and handle histogram files. + diff --git a/examples/extended/analysis/AnaEx01/UseOpenScientist.txt b/examples/extended/analysis/AnaEx01/UseOpenScientist.txt new file mode 100644 index 0000000000..6d5889d77e --- /dev/null +++ b/examples/extended/analysis/AnaEx01/UseOpenScientist.txt @@ -0,0 +1,46 @@ + + Working with the OpenScientist packages : + --------------------------------------- + To create the analysis file, you can install the light "osc_batch" + binary kit (See http://OpenScientist.lal.in2p3.fr ). For example + from a UNIX sh flavoured shell : + sh> cd /usr/local + sh> + sh> + sh> unzip -q osc_batch.zip + sh> cd osc_batch/ + sh> ./install + + Then you build the example with : + + csh> source /usr/local/osc_batch//aida-setup.csh + csh> + csh> setenv G4ANALYSIS_USE 1 + csh> cd /examples/extended/analysis/AnaEx01 + csh> make + csh> ${G4BIN}/${G4SYSTEM}/AnaEx01 + + Depending of the file format, you can visualize the produced + file with various interactive tools (CERN/PAW, CERN/ROOT, jas). + But if installing also an OpenScientist osc_vis binary kit, + you shall be able to visualize all formats by using + the osc-plot program. To install an osc_vis kit : + sh> cd /usr/local + sh> + sh> + sh> unzip -q osc_vis.zip + sh> cd osc_vis/ + sh> ./install + Then to browse the AnaEx01. file (for exa from an UNIX sh shell) : + + sh> . /usr/local/osc_vis//setup.sh + sh> + sh> osc-plot AnaEx01.[aida,root,hbook] + + The OpenScientist URL is : + http://OpenScientist.lal.in2p3.fr. + + Note that OpenScientist is installed on CERN/lxplus under : + /afs/cern.ch/sw/contrib/[osc_batch,osc_vis]. + + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh b/examples/extended/analysis/AnaEx01/include/DetectorConstruction.hh similarity index 86% rename from examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh rename to examples/extended/analysis/AnaEx01/include/DetectorConstruction.hh index bbd4539f4f..7b69eff87f 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh +++ b/examples/extended/analysis/AnaEx01/include/DetectorConstruction.hh @@ -24,16 +24,16 @@ // ******************************************************************** // // -// $Id: AnaEx01DetectorConstruction.hh,v 1.4 2006/06/29 16:33:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.hh,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef AnaEx01DetectorConstruction_h -#define AnaEx01DetectorConstruction_h 1 +#ifndef DetectorConstruction_h +#define DetectorConstruction_h 1 #include "G4VUserDetectorConstruction.hh" #include "globals.hh" @@ -42,18 +42,16 @@ class G4Box; class G4LogicalVolume; class G4VPhysicalVolume; class G4Material; -class G4UniformMagField; -class AnaEx01DetectorMessenger; -class AnaEx01CalorimeterSD; +class DetectorMessenger; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class AnaEx01DetectorConstruction : public G4VUserDetectorConstruction +class DetectorConstruction : public G4VUserDetectorConstruction { public: - AnaEx01DetectorConstruction(); - ~AnaEx01DetectorConstruction(); + DetectorConstruction(); + ~DetectorConstruction(); public: @@ -65,8 +63,6 @@ class AnaEx01DetectorConstruction : public G4VUserDetectorConstruction void SetCalorSizeYZ(G4double); void SetNbOfLayers (G4int); - - void SetMagField(G4double); G4VPhysicalVolume* Construct(); @@ -132,10 +128,7 @@ class AnaEx01DetectorConstruction : public G4VUserDetectorConstruction G4LogicalVolume* logicGap; //pointer to the logical Gap G4VPhysicalVolume* physiGap; //pointer to the physical Gap - G4UniformMagField* magField; //pointer to the magnetic field - - AnaEx01DetectorMessenger* detectorMessenger; //pointer to the Messenger - AnaEx01CalorimeterSD* calorimeterSD; //pointer to the sensitive detector + DetectorMessenger* detectorMessenger; //pointer to the Messenger private: @@ -144,9 +137,9 @@ class AnaEx01DetectorConstruction : public G4VUserDetectorConstruction G4VPhysicalVolume* ConstructCalorimeter(); }; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline void AnaEx01DetectorConstruction::ComputeCalorParameters() +inline void DetectorConstruction::ComputeCalorParameters() { // Compute derived parameters of the calorimeter LayerThickness = AbsorberThickness + GapThickness; @@ -155,5 +148,7 @@ inline void AnaEx01DetectorConstruction::ComputeCalorParameters() WorldSizeX = 1.2*CalorThickness; WorldSizeYZ = 1.2*CalorSizeYZ; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh b/examples/extended/analysis/AnaEx01/include/DetectorMessenger.hh similarity index 81% rename from examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh rename to examples/extended/analysis/AnaEx01/include/DetectorMessenger.hh index aa3ca1e303..5c6f68b336 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh +++ b/examples/extended/analysis/AnaEx01/include/DetectorMessenger.hh @@ -24,50 +24,52 @@ // ******************************************************************** // // -// $Id: AnaEx01DetectorMessenger.hh,v 1.4 2006/06/29 16:33:25 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorMessenger.hh,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef AnaEx01DetectorMessenger_h -#define AnaEx01DetectorMessenger_h 1 +#ifndef DetectorMessenger_h +#define DetectorMessenger_h 1 #include "globals.hh" #include "G4UImessenger.hh" -class AnaEx01DetectorConstruction; +class DetectorConstruction; class G4UIdirectory; class G4UIcmdWithAString; class G4UIcmdWithAnInteger; class G4UIcmdWithADoubleAndUnit; class G4UIcmdWithoutParameter; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class AnaEx01DetectorMessenger: public G4UImessenger +class DetectorMessenger: public G4UImessenger { public: - AnaEx01DetectorMessenger(AnaEx01DetectorConstruction* ); - ~AnaEx01DetectorMessenger(); + DetectorMessenger(DetectorConstruction* ); + ~DetectorMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - AnaEx01DetectorConstruction* AnaEx01Detector; + DetectorConstruction* Detector; - G4UIdirectory* AnaEx01detDir; + G4UIdirectory* N03Dir; + G4UIdirectory* detDir; G4UIcmdWithAString* AbsMaterCmd; G4UIcmdWithAString* GapMaterCmd; G4UIcmdWithADoubleAndUnit* AbsThickCmd; G4UIcmdWithADoubleAndUnit* GapThickCmd; G4UIcmdWithADoubleAndUnit* SizeYZCmd; G4UIcmdWithAnInteger* NbLayersCmd; - G4UIcmdWithADoubleAndUnit* MagFieldCmd; G4UIcmdWithoutParameter* UpdateCmd; }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif diff --git a/examples/extended/analysis/AnaEx01/include/EventAction.hh b/examples/extended/analysis/AnaEx01/include/EventAction.hh new file mode 100644 index 0000000000..e2fbd092e9 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/EventAction.hh @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * 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.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef EventAction_h +#define EventAction_h 1 + +#include "G4UserEventAction.hh" +#include "globals.hh" + +class RunAction; +class HistoManager; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class EventAction : public G4UserEventAction +{ +public: + EventAction(RunAction*, HistoManager*); + virtual ~EventAction(); + + void BeginOfEventAction(const G4Event*); + void EndOfEventAction(const G4Event*); + + void AddAbs(G4double de, G4double dl) {EnergyAbs += de; TrackLAbs += dl;}; + void AddGap(G4double de, G4double dl) {EnergyGap += de; TrackLGap += dl;}; + +private: + RunAction* runAct; + HistoManager* histoManager; + + G4double EnergyAbs, EnergyGap; + G4double TrackLAbs, TrackLGap; + + G4int printModulo; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + diff --git a/examples/extended/analysis/AnaEx01/include/HistoManager.hh b/examples/extended/analysis/AnaEx01/include/HistoManager.hh new file mode 100644 index 0000000000..5fc56598ec --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/HistoManager.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: HistoManager.hh,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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; +} + const G4int MaxHisto = 5; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class HistoManager +{ + public: + + HistoManager(); + ~HistoManager(); + + void book(); + void save(); + + void FillHisto(G4int id, G4double bin, G4double weight = 1.0); + void Normalize(G4int id, G4double fac); + + void FillNtuple(G4int column, G4double value); + void AddRowNtuple(); + + void PrintStatistic(); + + private: + + AIDA::IAnalysisFactory* af; + AIDA::ITree* tree; + + AIDA::IHistogram1D* histo[MaxHisto]; + AIDA::ITuple* ntupl; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/novice/N03/include/ExN03PhysicsList.hh b/examples/extended/analysis/AnaEx01/include/PhysicsList.hh similarity index 84% rename from examples/novice/N03/include/ExN03PhysicsList.hh rename to examples/extended/analysis/AnaEx01/include/PhysicsList.hh index e56f5ef00f..f9d9e6001e 100644 --- a/examples/novice/N03/include/ExN03PhysicsList.hh +++ b/examples/extended/analysis/AnaEx01/include/PhysicsList.hh @@ -24,27 +24,27 @@ // ******************************************************************** // // -// $Id: ExN03PhysicsList.hh,v 1.13 2007/07/02 13:22:08 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysicsList.hh,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03PhysicsList_h -#define ExN03PhysicsList_h 1 +#ifndef PhysicsList_h +#define PhysicsList_h 1 #include "G4VUserPhysicsList.hh" #include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03PhysicsList: public G4VUserPhysicsList +class PhysicsList: public G4VUserPhysicsList { public: - ExN03PhysicsList(); - virtual ~ExN03PhysicsList(); + PhysicsList(); + virtual ~PhysicsList(); // Construct particle and physics void ConstructParticle(); @@ -53,11 +53,6 @@ public: void SetCuts(); private: - // these methods Construct particles - void ConstructBosons(); - void ConstructLeptons(); - void ConstructMesons(); - void ConstructBaryons(); // these methods Construct physics processes and register them void ConstructDecay(); diff --git a/examples/extended/electromagnetic/TestEm13/include/ProcessesCount.hh b/examples/extended/analysis/AnaEx01/include/PrimaryGeneratorAction.hh similarity index 76% rename from examples/extended/electromagnetic/TestEm13/include/ProcessesCount.hh rename to examples/extended/analysis/AnaEx01/include/PrimaryGeneratorAction.hh index d9945ef866..82f3e4b0a8 100644 --- a/examples/extended/electromagnetic/TestEm13/include/ProcessesCount.hh +++ b/examples/extended/analysis/AnaEx01/include/PrimaryGeneratorAction.hh @@ -23,44 +23,42 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ProcessesCount.hh,v 1.2 2006/06/29 16:44:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ // +// $Id: PrimaryGeneratorAction.hh,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ProcessesCount_HH -#define ProcessesCount_HH +#ifndef PrimaryGeneratorAction_h +#define PrimaryGeneratorAction_h 1 +#include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" -#include + +class G4ParticleGun; +class G4Event; +class DetectorConstruction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class OneProcessCount +class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - OneProcessCount(G4String name) {Name=name; Counter=0;}; - ~OneProcessCount() {}; - -public: - G4String GetName() {return Name;}; - G4int GetCounter() {return Counter;}; - void Count() {Counter++;}; - + PrimaryGeneratorAction(DetectorConstruction*); + virtual ~PrimaryGeneratorAction(); + + void GeneratePrimaries(G4Event*); + private: - G4String Name; // process name - G4int Counter; // process counter + G4ParticleGun* particleGun; //pointer a to G4 class + DetectorConstruction* Detector; //pointer to the geometry }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -typedef std::vector ProcessesCount; - #endif - - - - diff --git a/examples/extended/electromagnetic/TestEm14/include/ProcessesCount.hh b/examples/extended/analysis/AnaEx01/include/RunAction.hh similarity index 77% rename from examples/extended/electromagnetic/TestEm14/include/ProcessesCount.hh rename to examples/extended/analysis/AnaEx01/include/RunAction.hh index a685eff9a9..b831588ce3 100644 --- a/examples/extended/electromagnetic/TestEm14/include/ProcessesCount.hh +++ b/examples/extended/analysis/AnaEx01/include/RunAction.hh @@ -23,44 +23,48 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ProcessesCount.hh,v 1.3 2006/06/29 16:45:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ // +// $Id: RunAction.hh,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ProcessesCount_HH -#define ProcessesCount_HH +#ifndef RunAction_h +#define RunAction_h 1 +#include "G4UserRunAction.hh" #include "globals.hh" -#include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class OneProcessCount +class G4Run; +class HistoManager; + +class RunAction : public G4UserRunAction { public: - OneProcessCount(G4String name) {Name=name; Counter=0;}; - ~OneProcessCount() {}; - -public: - G4String GetName() {return Name;}; - G4int GetCounter() {return Counter;}; - void Count() {Counter++;}; + RunAction(HistoManager*); + virtual ~RunAction(); + + void BeginOfRunAction(const G4Run*); + void EndOfRunAction(const G4Run*); + void fillPerEvent(G4double, G4double, G4double, G4double); + private: - G4String Name; // process name - G4int Counter; // process counter + HistoManager* histoManager; + + G4double sumEAbs, sum2EAbs; + G4double sumEGap, sum2EGap; + + G4double sumLAbs, sum2LAbs; + G4double sumLGap, sum2LGap; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -typedef std::vector ProcessesCount; - #endif - - - - - diff --git a/examples/novice/N03/include/ExN03SteppingAction.hh b/examples/extended/analysis/AnaEx01/include/SteppingAction.hh similarity index 81% rename from examples/novice/N03/include/ExN03SteppingAction.hh rename to examples/extended/analysis/AnaEx01/include/SteppingAction.hh index 55192902f7..68e870dfc1 100644 --- a/examples/novice/N03/include/ExN03SteppingAction.hh +++ b/examples/extended/analysis/AnaEx01/include/SteppingAction.hh @@ -24,35 +24,35 @@ // ******************************************************************** // // -// $Id: ExN03SteppingAction.hh,v 1.10 2007/07/02 13:22:08 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingAction.hh,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03SteppingAction_h -#define ExN03SteppingAction_h 1 +#ifndef SteppingAction_h +#define SteppingAction_h 1 #include "G4UserSteppingAction.hh" -class ExN03DetectorConstruction; -class ExN03EventAction; +class DetectorConstruction; +class EventAction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03SteppingAction : public G4UserSteppingAction +class SteppingAction : public G4UserSteppingAction { public: - ExN03SteppingAction(ExN03DetectorConstruction*, ExN03EventAction*); - virtual ~ExN03SteppingAction(); + SteppingAction(DetectorConstruction*, EventAction*); + virtual ~SteppingAction(); void UserSteppingAction(const G4Step*); private: - ExN03DetectorConstruction* detector; - ExN03EventAction* eventaction; + DetectorConstruction* detector; + EventAction* eventaction; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/plotHisto.C b/examples/extended/analysis/AnaEx01/plotHisto.C new file mode 100644 index 0000000000..b278330ba9 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/plotHisto.C @@ -0,0 +1,20 @@ +{ + gROOT->Reset(); + + // Draw histos filled by Geant4 simulation + // + TFile f = TFile("AnaEx01.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"); + c1->SetLogy(1); + c1->cd(); + c1->Update(); + hist3->Draw("HIST"); +} diff --git a/examples/extended/analysis/AnaEx01/run.mac b/examples/extended/analysis/AnaEx01/run.mac index 14c8a2c1e6..fa8849e72d 100644 --- a/examples/extended/analysis/AnaEx01/run.mac +++ b/examples/extended/analysis/AnaEx01/run.mac @@ -1,19 +1,15 @@ +# $Id: run.mac,v 1.5 2010/11/08 11:01:47 maire Exp $ # -# Macro file for "AnEx01.cc" +# Macro file for "AnaEx01.cc" # -# (can be run in batch, without graphic) +# can be run in batch, without graphic +# or interactively: Idle> /control/execute run.mac # -#/control/verbose 2 -#/control/saveHistory +/control/verbose 2 +/run/verbose 2 +/event/verbose 0 +/tracking/verbose 0 # -#/run/verbose 2 -#/event/verbose 0 -#/tracking/verbose 1 -# -# muon 300 MeV to the direction (1.,0.,0.) -# 3 events -# -#/gun/particle mu+ -/gun/particle e+ -/gun/energy 300 MeV -/run/beamOn 100 +/gun/particle e- +/gun/energy 500 MeV +/run/beamOn 1000 diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc deleted file mode 100644 index bf2efe0a8e..0000000000 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc +++ /dev/null @@ -1,219 +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: AnaEx01AnalysisManager.cc,v 1.18 2009/05/13 08:33:17 gbarrand Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -// -// Guy Barrand 14th Septembre 2000. - -#ifdef G4ANALYSIS_USE - -#include "G4ios.hh" -#include "G4SDManager.hh" -#include "G4Run.hh" -#include "G4Event.hh" -#include "G4HCofThisEvent.hh" - -#include -#include -#include -#include -#include -#include -#include - -#include "AnaEx01CalorHit.hh" -#include "AnaEx01AnalysisManager.hh" - -AnaEx01AnalysisManager::AnaEx01AnalysisManager(AIDA::IAnalysisFactory* aAIDA) -:fCalorimeterCollID(-1) -,fAIDA(aAIDA) -,fTree(0) -,fEAbs(0) -,fLAbs(0) -,fEGap(0) -,fLGap(0) -,fTuple(0) -{ - // Could fail if no AIDA implementation found : - if(!fAIDA) { - G4cout << "AIDA analysis factory not found." << G4endl; - return; - } - - AIDA::ITreeFactory* treeFactory = fAIDA->createTreeFactory(); - if(!treeFactory) return; - - // Create a tree-like container to handle histograms. - // This tree is associated to a AnaEx01. file. - - std::string h_name_EAbs("EAbs"); - std::string h_name_LAbs("LAbs"); - std::string h_name_EGap("EGap"); - std::string h_name_LGap("LGap"); - std::string t_name("AnaEx01"); - - // File format : - std::string format("xml"); - //std::string format("hbook"); - //std::string format("root"); - - std::string file("AnaEx01"); - std::string ext; - ext = "."+format; - - std::string opts; - if(format=="hbook") { - opts = "compress=no"; - - h_name_EAbs = "1"; - h_name_LAbs = "2"; - h_name_EGap = "3"; - h_name_LGap = "4"; - t_name = "101"; - - } else if(format=="root") { - opts = "compress=yes"; - - } else if(format=="xml") { - ext = ".aida"; - opts = "compress=no"; - - } else { - G4cout << "storage format \"" << format << "\"" - << " not handled in this example." - << G4endl; - return; - } - - file += ext; - fTree = treeFactory->create(file,format,false,true,opts); - - // Factories are not "managed" by an AIDA analysis system. - // They must be deleted by the AIDA user code. - delete treeFactory; - - if(!fTree) { - G4cout << "can't create tree associated to file \"" << file << "\"." - << G4endl; - return; - } - - fTree->mkdir("histograms"); - fTree->cd("histograms"); - - // Create an histo factory that will create histo in the tree : - AIDA::IHistogramFactory* histoFactory = - fAIDA->createHistogramFactory(*fTree); - if(histoFactory) { - fEAbs = histoFactory->createHistogram1D(h_name_EAbs,"EAbs",100,0,100); - if(!fEAbs) G4cout << "can't create histo EAbs." << G4endl; - fLAbs = histoFactory->createHistogram1D(h_name_LAbs,"LAbs",100,0,100); - if(!fLAbs) G4cout << "can't create histo LAbs." << G4endl; - fEGap = histoFactory->createHistogram1D(h_name_EGap,"EGap",100,0,10); - if(!fEGap) G4cout << "can't create histo EGap." << G4endl; - fLGap = histoFactory->createHistogram1D(h_name_LGap,"LGap",100,0,100); - if(!fLGap) G4cout << "can't create histo LGap." << G4endl; - delete histoFactory; - } - - fTree->cd(".."); - fTree->mkdir("tuples"); - fTree->cd("tuples"); - - // Get a tuple factory : - AIDA::ITupleFactory* tupleFactory = fAIDA->createTupleFactory(*fTree); - if(tupleFactory) { - - // Create a tuple : - fTuple = tupleFactory->create(t_name,"AnaEx01", - "double EAbs,double LAbs,double EGap,double LGap"); - if(!fTuple) G4cout << "can't create tuple." << G4endl; - - delete tupleFactory; - } - - fTree->cd(".."); -} -AnaEx01AnalysisManager::~AnaEx01AnalysisManager() { -} - -void AnaEx01AnalysisManager::BeginOfRun(const G4Run* aRun){ - G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; -} - -void AnaEx01AnalysisManager::EndOfRun(const G4Run*){ - if(fTree) fTree->commit(); - if(fEAbs) { - G4cout << "Histo : EAbs : mean " << fEAbs->mean() << " rms : " << fEAbs->rms() << G4endl; - G4cout << "Histo : LAbs : mean " << fLAbs->mean() << " rms : " << fLAbs->rms() << G4endl; - G4cout << "Histo : EGap : mean " << fEGap->mean() << " rms : " << fEGap->rms() << G4endl; - G4cout << "Histo : LGap : mean " << fLGap->mean() << " rms : " << fLGap->rms() << G4endl; - } -} - -void AnaEx01AnalysisManager::BeginOfEvent(const G4Event*){ - if(fCalorimeterCollID==-1) { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - fCalorimeterCollID = SDman->GetCollectionID("CalCollection"); - } -} - -void AnaEx01AnalysisManager::EndOfEvent(const G4Event* aEvent){ - if(!fEAbs) return; // No histo booked ! - if(!fTuple) return; // No tuple booked ! - - //G4int evtNb = aEvent->GetEventID(); - - G4HCofThisEvent* HCE = aEvent->GetHCofThisEvent(); - AnaEx01CalorHitsCollection* CHC = - HCE ? (AnaEx01CalorHitsCollection*)(HCE->GetHC(fCalorimeterCollID)) : 0; - - if(CHC) { - G4int n_hit = CHC->entries(); - for (G4int i=0;iGetEdepAbs(); - G4double LAbs = (*CHC)[i]->GetTrakAbs(); - G4double EGap = (*CHC)[i]->GetEdepGap(); - G4double LGap = (*CHC)[i]->GetTrakGap(); - fEAbs->fill(EAbs); - fLAbs->fill(LAbs); - fEGap->fill(EGap); - fLGap->fill(LGap); - - fTuple->fill(0,EAbs); - fTuple->fill(1,LAbs); - fTuple->fill(2,EGap); - fTuple->fill(3,LGap); - fTuple->addRow(); - } - } - -} -void AnaEx01AnalysisManager::Step(const G4Step*){} - -#endif diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc deleted file mode 100644 index c221a4e582..0000000000 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.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. * -// ******************************************************************** -// -// -// $Id: AnaEx01CalorimeterSD.cc,v 1.5 2006/06/29 16:33:46 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "AnaEx01CalorimeterSD.hh" - -#include "AnaEx01CalorHit.hh" -#include "AnaEx01DetectorConstruction.hh" - -#include "G4VPhysicalVolume.hh" -#include "G4Step.hh" -#include "G4VTouchable.hh" -#include "G4TouchableHistory.hh" -#include "G4SDManager.hh" - -#include "G4ios.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -AnaEx01CalorimeterSD::AnaEx01CalorimeterSD(G4String name, - AnaEx01DetectorConstruction* det) -:G4VSensitiveDetector(name),Detector(det) -{ - collectionName.insert("CalCollection"); - HitID = new G4int[500]; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -AnaEx01CalorimeterSD::~AnaEx01CalorimeterSD() -{ - delete [] HitID; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01CalorimeterSD::Initialize(G4HCofThisEvent*) -{ - CalCollection = new AnaEx01CalorHitsCollection - (SensitiveDetectorName,collectionName[0]); - for (G4int j=0;jGetNbOfLayers();j++) {HitID[j] = -1;}; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4bool AnaEx01CalorimeterSD::ProcessHits(G4Step* aStep,G4TouchableHistory*) -{ - G4double edep = aStep->GetTotalEnergyDeposit(); - - G4double stepl = 0.; - if (aStep->GetTrack()->GetDefinition()->GetPDGCharge() != 0.) - stepl = aStep->GetStepLength(); - - if ((edep==0.)&&(stepl==0.)) return false; - - G4TouchableHistory* theTouchable - = (G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable()); - - G4VPhysicalVolume* physVol = theTouchable->GetVolume(); - //theTouchable->MoveUpHistory(); - G4int LayerNumber = 0; - if (Detector->GetNbOfLayers()>1) LayerNumber=theTouchable->GetReplicaNumber(1); - - if (HitID[LayerNumber]==-1) - { - AnaEx01CalorHit* calHit = new AnaEx01CalorHit(); - if (physVol == Detector->GetAbsorber()) calHit->AddAbs(edep,stepl); - if (physVol == Detector->GetGap ()) calHit->AddGap(edep,stepl); - HitID[LayerNumber] = CalCollection->insert(calHit) - 1; - if (verboseLevel>0) - G4cout << " New Calorimeter Hit on layer: " << LayerNumber << G4endl; - } - else - { - if (physVol == Detector->GetAbsorber()) - (*CalCollection)[HitID[LayerNumber]]->AddAbs(edep,stepl); - if (physVol == Detector->GetGap()) - (*CalCollection)[HitID[LayerNumber]]->AddGap(edep,stepl); - if (verboseLevel>0) - G4cout << " Energy added to Layer: " << LayerNumber << G4endl; - } - - return true; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01CalorimeterSD::EndOfEvent(G4HCofThisEvent* HCE) -{ - static G4int HCID = -1; - if(HCID<0) - { HCID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); } - HCE->AddHitsCollection(HCID,CalCollection); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01CalorimeterSD::clear() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01CalorimeterSD::DrawAll() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01CalorimeterSD::PrintAll() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc deleted file mode 100644 index e51200d109..0000000000 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc +++ /dev/null @@ -1,375 +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: AnaEx01PhysicsList.cc,v 1.5 2006/06/29 16:33:55 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "AnaEx01PhysicsList.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" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -AnaEx01PhysicsList::AnaEx01PhysicsList(): G4VUserPhysicsList() -{ - currentDefaultCut = defaultCutValue = 1.0*mm; - cutForGamma = defaultCutValue; - cutForElectron = defaultCutValue; - cutForProton = defaultCutValue; - - SetVerboseLevel(1); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -AnaEx01PhysicsList::~AnaEx01PhysicsList() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01PhysicsList::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(); - ConstructMesons(); - ConstructBaryons(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01PhysicsList::ConstructBosons() -{ - // pseudo-particles - G4Geantino::GeantinoDefinition(); - G4ChargedGeantino::ChargedGeantinoDefinition(); - - // gamma - G4Gamma::GammaDefinition(); - - // optical photon - G4OpticalPhoton::OpticalPhotonDefinition(); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01PhysicsList::ConstructLeptons() -{ - // leptons - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); - G4MuonPlus::MuonPlusDefinition(); - G4MuonMinus::MuonMinusDefinition(); - - G4NeutrinoE::NeutrinoEDefinition(); - G4AntiNeutrinoE::AntiNeutrinoEDefinition(); - G4NeutrinoMu::NeutrinoMuDefinition(); - G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01PhysicsList::ConstructMesons() -{ - // mesons - G4PionPlus::PionPlusDefinition(); - G4PionMinus::PionMinusDefinition(); - G4PionZero::PionZeroDefinition(); - G4Eta::EtaDefinition(); - G4EtaPrime::EtaPrimeDefinition(); - G4KaonPlus::KaonPlusDefinition(); - G4KaonMinus::KaonMinusDefinition(); - G4KaonZero::KaonZeroDefinition(); - G4AntiKaonZero::AntiKaonZeroDefinition(); - G4KaonZeroLong::KaonZeroLongDefinition(); - G4KaonZeroShort::KaonZeroShortDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01PhysicsList::ConstructBaryons() -{ -// barions - G4Proton::ProtonDefinition(); - G4AntiProton::AntiProtonDefinition(); - G4Neutron::NeutronDefinition(); - G4AntiNeutron::AntiNeutronDefinition(); -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01PhysicsList::ConstructProcess() -{ - AddTransportation(); - ConstructEM(); - ConstructGeneral(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#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" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01PhysicsList::ConstructEM() -{ - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - // gamma - pmanager->AddDiscreteProcess(new G4GammaConversion()); - pmanager->AddDiscreteProcess(new G4ComptonScattering()); - pmanager->AddDiscreteProcess(new G4PhotoElectricEffect()); - - } else if (particleName == "e-") { - //electron - G4VProcess* theeminusMultipleScattering = new G4MultipleScattering(); - G4VProcess* theeminusIonisation = new G4eIonisation(); - G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung(); - // - // add processes - pmanager->AddProcess(theeminusMultipleScattering); - pmanager->AddProcess(theeminusIonisation); - pmanager->AddProcess(theeminusBremsstrahlung); - // - // set ordering for AlongStepDoIt - pmanager->SetProcessOrdering(theeminusMultipleScattering, idxAlongStep,1); - pmanager->SetProcessOrdering(theeminusIonisation, idxAlongStep,2); - // - // set ordering for PostStepDoIt - pmanager->SetProcessOrdering(theeminusMultipleScattering, idxPostStep,1); - pmanager->SetProcessOrdering(theeminusIonisation, idxPostStep,2); - pmanager->SetProcessOrdering(theeminusBremsstrahlung, idxPostStep,3); - - } else if (particleName == "e+") { - //positron - G4VProcess* theeplusMultipleScattering = new G4MultipleScattering(); - G4VProcess* theeplusIonisation = new G4eIonisation(); - G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung(); - G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation(); - // - // add processes - pmanager->AddProcess(theeplusMultipleScattering); - pmanager->AddProcess(theeplusIonisation); - pmanager->AddProcess(theeplusBremsstrahlung); - pmanager->AddProcess(theeplusAnnihilation); - // - // set ordering for AtRestDoIt - pmanager->SetProcessOrderingToFirst(theeplusAnnihilation, idxAtRest); - // - // set ordering for AlongStepDoIt - pmanager->SetProcessOrdering(theeplusMultipleScattering, idxAlongStep,1); - pmanager->SetProcessOrdering(theeplusIonisation, idxAlongStep,2); - // - // set ordering for PostStepDoIt - pmanager->SetProcessOrdering(theeplusMultipleScattering, idxPostStep,1); - pmanager->SetProcessOrdering(theeplusIonisation, idxPostStep,2); - pmanager->SetProcessOrdering(theeplusBremsstrahlung, idxPostStep,3); - pmanager->SetProcessOrdering(theeplusAnnihilation, idxPostStep,4); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - G4VProcess* aMultipleScattering = new G4MultipleScattering(); - G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung(); - G4VProcess* aPairProduction = new G4MuPairProduction(); - G4VProcess* anIonisation = new G4MuIonisation(); - // - // add processes - pmanager->AddProcess(anIonisation); - pmanager->AddProcess(aMultipleScattering); - pmanager->AddProcess(aBremsstrahlung); - pmanager->AddProcess(aPairProduction); - // - // set ordering for AlongStepDoIt - pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1); - pmanager->SetProcessOrdering(anIonisation, idxAlongStep,2); - // - // set ordering for PostStepDoIt - pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1); - pmanager->SetProcessOrdering(anIonisation, idxPostStep,2); - pmanager->SetProcessOrdering(aBremsstrahlung, idxPostStep,3); - pmanager->SetProcessOrdering(aPairProduction, idxPostStep,4); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - // all others charged particles except geantino - G4VProcess* aMultipleScattering = new G4MultipleScattering(); - G4VProcess* anIonisation = new G4hIonisation(); - // - // add processes - pmanager->AddProcess(anIonisation); - pmanager->AddProcess(aMultipleScattering); - // - // set ordering for AlongStepDoIt - pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1); - pmanager->SetProcessOrdering(anIonisation, idxAlongStep,2); - // - // set ordering for PostStepDoIt - pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1); - pmanager->SetProcessOrdering(anIonisation, idxPostStep,2); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "G4Decay.hh" - -void AnaEx01PhysicsList::ConstructGeneral() -{ - // Add Decay Process - G4Decay* theDecayProcess = new G4Decay(); - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - if (theDecayProcess->IsApplicable(*particle)) { - pmanager ->AddProcess(theDecayProcess); - // set ordering for PostStepDoIt and AtRestDoIt - pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); - pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01PhysicsList::SetCuts() -{ - // reactualise cutValues - if (currentDefaultCut != defaultCutValue) - { - if(cutForGamma == currentDefaultCut) cutForGamma = defaultCutValue; - if(cutForElectron == currentDefaultCut) cutForElectron = defaultCutValue; - if(cutForProton == currentDefaultCut) cutForProton = defaultCutValue; - currentDefaultCut = defaultCutValue; - } - - if (verboseLevel >0){ - G4cout << "AnaEx01PhysicsList::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(cutForElectron, "e+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - SetCutValue(cutForProton, "proton"); - SetCutValue(cutForProton, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); - - if (verboseLevel>0) DumpCutValuesTable(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - -void AnaEx01PhysicsList::SetCutForGamma(G4double cut) -{ - ResetCuts(); - cutForGamma = cut; -} - -void AnaEx01PhysicsList::SetCutForElectron(G4double cut) -{ - ResetCuts(); - cutForElectron = cut; -} - -void AnaEx01PhysicsList::SetCutForProton(G4double cut) -{ - ResetCuts(); - cutForProton = cut; -} - -G4double AnaEx01PhysicsList::GetCutForGamma() const -{ - return cutForGamma; -} - -G4double AnaEx01PhysicsList::GetCutForElectron() const -{ - return cutForElectron; -} - -G4double AnaEx01PhysicsList::GetCutForProton() const -{ - return cutForGamma; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - - - - - - - - - - diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc b/examples/extended/analysis/AnaEx01/src/DetectorConstruction.cc similarity index 51% rename from examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc rename to examples/extended/analysis/AnaEx01/src/DetectorConstruction.cc index 15f1217374..973c31b735 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc +++ b/examples/extended/analysis/AnaEx01/src/DetectorConstruction.cc @@ -24,58 +24,42 @@ // ******************************************************************** // // -// $Id: AnaEx01DetectorConstruction.cc,v 1.5 2006/06/29 16:33:49 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.cc,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "AnaEx01DetectorConstruction.hh" -#include "AnaEx01DetectorMessenger.hh" - -#include "AnaEx01CalorimeterSD.hh" +#include "DetectorConstruction.hh" +#include "DetectorMessenger.hh" #include "G4Material.hh" +#include "G4NistManager.hh" + #include "G4Box.hh" #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" -#include "G4UniformMagField.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4SDManager.hh" -#include "G4RunManager.hh" + +#include "G4GeometryManager.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4SolidStore.hh" #include "G4VisAttributes.hh" #include "G4Colour.hh" -#include "G4ios.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -AnaEx01DetectorConstruction::AnaEx01DetectorConstruction() -:AbsorberMaterial(NULL) -,GapMaterial(NULL) -,defaultMaterial(NULL) -,solidWorld(NULL) -,logicWorld(NULL) -,physiWorld(NULL) -,solidCalor(NULL) -,logicCalor(NULL) -,physiCalor(NULL) -,solidLayer(NULL) -,logicLayer(NULL) -,physiLayer(NULL) -,solidAbsorber(NULL) -,logicAbsorber(NULL) -,physiAbsorber(NULL) -,solidGap(NULL) -,logicGap(NULL) -,physiGap(NULL) -,magField(NULL) -,calorimeterSD(NULL) +DetectorConstruction::DetectorConstruction() +:AbsorberMaterial(0),GapMaterial(0),defaultMaterial(0), + solidWorld(0),logicWorld(0),physiWorld(0), + solidCalor(0),logicCalor(0),physiCalor(0), + solidLayer(0),logicLayer(0),physiLayer(0), + solidAbsorber(0),logicAbsorber(0),physiAbsorber(0), + solidGap (0),logicGap (0),physiGap (0) { // default parameter values of the calorimeter AbsorberThickness = 10.*mm; @@ -83,168 +67,57 @@ AnaEx01DetectorConstruction::AnaEx01DetectorConstruction() NbOfLayers = 10; CalorSizeYZ = 10.*cm; ComputeCalorParameters(); - - // create commands for interactive definition of the calorimeter - detectorMessenger = new AnaEx01DetectorMessenger(this); + + // materials + DefineMaterials(); + SetAbsorberMaterial("G4_Pb"); + SetGapMaterial("G4_lAr"); + + // create commands for interactive definition of the calorimeter + detectorMessenger = new DetectorMessenger(this); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -AnaEx01DetectorConstruction::~AnaEx01DetectorConstruction() +DetectorConstruction::~DetectorConstruction() { delete detectorMessenger;} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume* AnaEx01DetectorConstruction::Construct() +G4VPhysicalVolume* DetectorConstruction::Construct() { - DefineMaterials(); return ConstructCalorimeter(); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void AnaEx01DetectorConstruction::DefineMaterials() +void DetectorConstruction::DefineMaterials() { - //This function illustrates the possible ways to define materials - -G4String name, symbol; //a=mass of a mole; -G4double a, z, density; //z=mean number of protons; -G4int iz, n; //iz=number of protons in an isotope; - // n=number of nucleons in an isotope; - -G4int ncomponents, natoms; -G4double abundance, fractionmass; -G4double temperature, pressure; - +// use G4-NIST materials data base // -// define Elements +G4NistManager* man = G4NistManager::Instance(); +defaultMaterial = man->FindOrBuildMaterial("G4_Galactic"); +man->FindOrBuildMaterial("G4_Pb"); +man->FindOrBuildMaterial("G4_lAr"); + +// print table // - -a = 1.01*g/mole; -G4Element* H = new G4Element(name="Hydrogen",symbol="H" , z= 1., a); - -a = 12.01*g/mole; -G4Element* C = new G4Element(name="Carbon" ,symbol="C" , z= 6., a); - -a = 14.01*g/mole; -G4Element* N = new G4Element(name="Nitrogen",symbol="N" , z= 7., a); - -a = 16.00*g/mole; -G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a); - -a = 28.09*g/mole; -G4Element* Si = new G4Element(name="Silicon",symbol="Si" , z= 14., a); - -// -// define an Element from isotopes, by relative abundance -// - -G4Isotope* U5 = new G4Isotope(name="U235", iz=92, n=235, a=235.01*g/mole); -G4Isotope* U8 = new G4Isotope(name="U238", iz=92, n=238, a=238.03*g/mole); - -G4Element* U = new G4Element(name="enriched Uranium", symbol="U", ncomponents=2); -U->AddIsotope(U5, abundance= 90.*perCent); -U->AddIsotope(U8, abundance= 10.*perCent); - -// -// define simple materials -// - -density = 1.390*g/cm3; -a = 39.95*g/mole; -G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density); - -density = 11.35*g/cm3; -a = 207.19*g/mole; -G4Material* Pb = new G4Material(name="Lead" , z=82., a, density); - -// -// define a material from elements. case 1: chemical molecule -// - -density = 1.000*g/cm3; -G4Material* H2O = new G4Material(name="Water", density, ncomponents=2); -H2O->AddElement(H, natoms=2); -H2O->AddElement(O, natoms=1); - -density = 1.032*g/cm3; -G4Material* Sci = new G4Material(name="Scintillator", density, ncomponents=2); -Sci->AddElement(C, natoms=9); -Sci->AddElement(H, natoms=10); - -density = 2.200*g/cm3; -G4Material* SiO2 = new G4Material(name="quartz", density, ncomponents=2); -SiO2->AddElement(Si, natoms=1); -SiO2->AddElement(O , natoms=2); - -// -// define a material from elements. case 2: mixture by fractional mass -// - -density = 1.290*mg/cm3; -G4Material* Air = new G4Material(name="Air" , density, ncomponents=2); -Air->AddElement(N, fractionmass=0.7); -Air->AddElement(O, fractionmass=0.3); - -// -// define a material from elements and/or others materials (mixture of mixtures) -// - -density = 0.200*g/cm3; -G4Material* Aerog = new G4Material(name="Aerogel", density, ncomponents=3); -Aerog->AddMaterial(SiO2, fractionmass=62.5*perCent); -Aerog->AddMaterial(H2O , fractionmass=37.4*perCent); -Aerog->AddElement (C , fractionmass= 0.1*perCent); - -// -// examples of gas in non STP conditions -// - -density = 27.*mg/cm3; -pressure = 50.*atmosphere; -temperature = 325.*kelvin; -G4Material* CO2 = new G4Material(name="CarbonicGas", density, ncomponents=2, - kStateGas,temperature,pressure); -CO2->AddElement(C, natoms=1); -CO2->AddElement(O, natoms=2); - -density = 0.3*mg/cm3; -pressure = 2.*atmosphere; -temperature = 500.*kelvin; -G4Material* steam = new G4Material(name="WaterSteam", density, ncomponents=1, - kStateGas,temperature,pressure); -steam->AddMaterial(H2O, fractionmass=1.); - -// -// examples of vacuum -// - -density = universe_mean_density; //from PhysicalConstants.h -pressure = 3.e-18*pascal; -temperature = 2.73*kelvin; -new G4Material(name="Galactic", z=1., a=1.01*g/mole, density, - kStateGas,temperature,pressure); - -density = 1.e-5*g/cm3; -pressure = 2.e-2*bar; -temperature = STP_Temperature; //from PhysicalConstants.h -G4Material* beam = new G4Material(name="Beam", density, ncomponents=1, - kStateGas,temperature,pressure); -beam->AddMaterial(Air, fractionmass=1.); - G4cout << *(G4Material::GetMaterialTable()) << G4endl; - - //default materials of the calorimeter - AbsorberMaterial = Pb; - GapMaterial = lAr; - defaultMaterial = Air; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4VPhysicalVolume* AnaEx01DetectorConstruction::ConstructCalorimeter() +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4VPhysicalVolume* DetectorConstruction::ConstructCalorimeter() { - // complete the Calor parameters definition + + // Clean old geometry, if any + // + G4GeometryManager::GetInstance()->OpenGeometry(); + G4PhysicalVolumeStore::GetInstance()->Clean(); + G4LogicalVolumeStore::GetInstance()->Clean(); + G4SolidStore::GetInstance()->Clean(); + + // complete the Calor parameters definition ComputeCalorParameters(); // @@ -259,17 +132,17 @@ G4VPhysicalVolume* AnaEx01DetectorConstruction::ConstructCalorimeter() physiWorld = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) + logicWorld, //its logical volume "World", //its name - logicWorld, //its logical volume - NULL, //its mother volume + 0, //its mother volume false, //no boolean operation 0); //copy number // // Calorimeter // - solidCalor=NULL; logicCalor=NULL; physiCalor=NULL; - solidLayer=NULL; logicLayer=NULL; physiLayer=NULL; + solidCalor=0; logicCalor=0; physiCalor=0; + solidLayer=0; logicLayer=0; physiLayer=0; if (CalorThickness > 0.) { solidCalor = new G4Box("Calorimeter", //its name @@ -281,9 +154,9 @@ G4VPhysicalVolume* AnaEx01DetectorConstruction::ConstructCalorimeter() physiCalor = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) - "Calorimeter", //its name logicCalor, //its logical volume - physiWorld, //its mother volume + "Calorimeter", //its name + logicWorld, //its mother volume false, //no boolean operation 0); //copy number @@ -299,16 +172,16 @@ G4VPhysicalVolume* AnaEx01DetectorConstruction::ConstructCalorimeter() if (NbOfLayers > 1) physiLayer = new G4PVReplica("Layer", //its name logicLayer, //its logical volume - physiCalor, //its mother + logicCalor, //its mother kXAxis, //axis of replication NbOfLayers, //number of replica LayerThickness); //witdth of replica else physiLayer = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) + logicLayer, //its logical volume "Layer", //its name - logicLayer, //its logical volume - physiCalor, //its mother volume + logicCalor, //its mother volume false, //no boolean operation 0); //copy number } @@ -316,7 +189,7 @@ G4VPhysicalVolume* AnaEx01DetectorConstruction::ConstructCalorimeter() // // Absorber // - solidAbsorber=NULL; logicAbsorber=NULL; physiAbsorber=NULL; + solidAbsorber=0; logicAbsorber=0; physiAbsorber=0; if (AbsorberThickness > 0.) { solidAbsorber = new G4Box("Absorber", //its name @@ -324,13 +197,13 @@ G4VPhysicalVolume* AnaEx01DetectorConstruction::ConstructCalorimeter() logicAbsorber = new G4LogicalVolume(solidAbsorber, //its solid AbsorberMaterial, //its material - "Absorber"); //its name + AbsorberMaterial->GetName()); //name physiAbsorber = new G4PVPlacement(0, //no rotation G4ThreeVector(-GapThickness/2,0.,0.), //its position - "Absorber", //its name - logicAbsorber, //its logical volume - physiLayer, //its mother + logicAbsorber, //its logical volume + AbsorberMaterial->GetName(), //its name + logicLayer, //its mother false, //no boulean operat 0); //copy number @@ -339,7 +212,7 @@ G4VPhysicalVolume* AnaEx01DetectorConstruction::ConstructCalorimeter() // // Gap // - solidGap=NULL; logicGap=NULL; physiGap=NULL; + solidGap=0; logicGap=0; physiGap=0; if (GapThickness > 0.) { solidGap = new G4Box("Gap", @@ -347,50 +220,37 @@ G4VPhysicalVolume* AnaEx01DetectorConstruction::ConstructCalorimeter() logicGap = new G4LogicalVolume(solidGap, GapMaterial, - "Gap"); + GapMaterial->GetName()); physiGap = new G4PVPlacement(0, //no rotation G4ThreeVector(AbsorberThickness/2,0.,0.), //its position - "Gap", //its name - logicGap, //its logical volume - physiLayer, //its mother + logicGap, //its logical volume + GapMaterial->GetName(), //its name + logicLayer, //its mother false, //no boulean operat 0); //copy number - } - - // - // Sensitive Detectors: Absorber and Gap - // - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - - if(!calorimeterSD) - { - calorimeterSD = new AnaEx01CalorimeterSD("CalorSD",this); - SDman->AddNewDetector( calorimeterSD ); - } - if (logicAbsorber) - logicAbsorber->SetSensitiveDetector(calorimeterSD); - if (logicGap) - logicGap ->SetSensitiveDetector(calorimeterSD); + } + + PrintCalorParameters(); // // Visualization attributes // logicWorld->SetVisAttributes (G4VisAttributes::Invisible); + G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); simpleBoxVisAtt->SetVisibility(true); logicCalor->SetVisAttributes(simpleBoxVisAtt); - + // //always return the physical World // - PrintCalorParameters(); return physiWorld; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void AnaEx01DetectorConstruction::PrintCalorParameters() +void DetectorConstruction::PrintCalorParameters() { G4cout << "\n------------------------------------------------------------" << "\n---> The calorimeter is " << NbOfLayers << " layers of: [ " @@ -400,88 +260,64 @@ void AnaEx01DetectorConstruction::PrintCalorParameters() << "\n------------------------------------------------------------\n"; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void AnaEx01DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) +void DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) { // search the material by its name - G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); - if (pttoMaterial) - {AbsorberMaterial = pttoMaterial; - logicAbsorber->SetMaterial(pttoMaterial); - PrintCalorParameters(); - } + G4Material* pttoMaterial = + G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); + if (pttoMaterial) AbsorberMaterial = pttoMaterial; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void AnaEx01DetectorConstruction::SetGapMaterial(G4String materialChoice) +void DetectorConstruction::SetGapMaterial(G4String materialChoice) { - // search the material by its name - G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); - if (pttoMaterial) - {GapMaterial = pttoMaterial; - logicGap->SetMaterial(pttoMaterial); - PrintCalorParameters(); - } + // search the material by its name + G4Material* pttoMaterial = + G4NistManager::Instance()->FindOrBuildMaterial(materialChoice); + if (pttoMaterial) GapMaterial = pttoMaterial; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void AnaEx01DetectorConstruction::SetAbsorberThickness(G4double val) +void DetectorConstruction::SetAbsorberThickness(G4double val) { // change Absorber thickness and recompute the calorimeter parameters AbsorberThickness = val; -} +} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void AnaEx01DetectorConstruction::SetGapThickness(G4double val) +void DetectorConstruction::SetGapThickness(G4double val) { // change Gap thickness and recompute the calorimeter parameters GapThickness = val; -} +} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void AnaEx01DetectorConstruction::SetCalorSizeYZ(G4double val) +void DetectorConstruction::SetCalorSizeYZ(G4double val) { // change the transverse size and recompute the calorimeter parameters CalorSizeYZ = val; -} +} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void AnaEx01DetectorConstruction::SetNbOfLayers(G4int val) +void DetectorConstruction::SetNbOfLayers(G4int val) { NbOfLayers = val; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void AnaEx01DetectorConstruction::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 = NULL; - fieldMgr->SetDetectorField(magField); - } -} +#include "G4RunManager.hh" -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01DetectorConstruction::UpdateGeometry() +void DetectorConstruction::UpdateGeometry() { G4RunManager::GetRunManager()->DefineWorldVolume(ConstructCalorimeter()); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc b/examples/extended/analysis/AnaEx01/src/DetectorMessenger.cc similarity index 61% rename from examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc rename to examples/extended/analysis/AnaEx01/src/DetectorMessenger.cc index 2cd043bd05..4fbafb09a1 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc +++ b/examples/extended/analysis/AnaEx01/src/DetectorMessenger.cc @@ -24,121 +24,115 @@ // ******************************************************************** // // -// $Id: AnaEx01DetectorMessenger.cc,v 1.5 2006/06/29 16:33:51 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorMessenger.cc,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "AnaEx01DetectorMessenger.hh" +#include "DetectorMessenger.hh" -#include "AnaEx01DetectorConstruction.hh" +#include "DetectorConstruction.hh" #include "G4UIdirectory.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" #include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithoutParameter.hh" -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -AnaEx01DetectorMessenger::AnaEx01DetectorMessenger(AnaEx01DetectorConstruction * AnaEx01Det) -:AnaEx01Detector(AnaEx01Det) +DetectorMessenger::DetectorMessenger( DetectorConstruction* Det) +:Detector(Det) { - AnaEx01detDir = new G4UIdirectory("/calor/"); - AnaEx01detDir->SetGuidance("AnaEx01 detector control."); - - AbsMaterCmd = new G4UIcmdWithAString("/calor/setAbsMat",this); + N03Dir = new G4UIdirectory("/N03/"); + N03Dir->SetGuidance("UI commands of this example"); + + detDir = new G4UIdirectory("/N03/det/"); + detDir->SetGuidance("detector control"); + + AbsMaterCmd = new G4UIcmdWithAString("/N03/det/setAbsMat",this); AbsMaterCmd->SetGuidance("Select Material of the Absorber."); AbsMaterCmd->SetParameterName("choice",false); - AbsMaterCmd->AvailableForStates(G4State_Idle); + AbsMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - GapMaterCmd = new G4UIcmdWithAString("/calor/setGapMat",this); + GapMaterCmd = new G4UIcmdWithAString("/N03/det/setGapMat",this); GapMaterCmd->SetGuidance("Select Material of the Gap."); GapMaterCmd->SetParameterName("choice",false); - GapMaterCmd->AvailableForStates(G4State_Idle); + GapMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsThick",this); + AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setAbsThick",this); AbsThickCmd->SetGuidance("Set Thickness of the Absorber"); AbsThickCmd->SetParameterName("Size",false); AbsThickCmd->SetRange("Size>=0."); AbsThickCmd->SetUnitCategory("Length"); - AbsThickCmd->AvailableForStates(G4State_Idle); + AbsThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - GapThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setGapThick",this); + GapThickCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setGapThick",this); GapThickCmd->SetGuidance("Set Thickness of the Gap"); GapThickCmd->SetParameterName("Size",false); GapThickCmd->SetRange("Size>=0."); GapThickCmd->SetUnitCategory("Length"); - GapThickCmd->AvailableForStates(G4State_Idle); + GapThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/calor/setSizeYZ",this); + SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setSizeYZ",this); SizeYZCmd->SetGuidance("Set tranverse size of the calorimeter"); SizeYZCmd->SetParameterName("Size",false); SizeYZCmd->SetRange("Size>0."); SizeYZCmd->SetUnitCategory("Length"); - SizeYZCmd->AvailableForStates(G4State_Idle); + SizeYZCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - NbLayersCmd = new G4UIcmdWithAnInteger("/calor/setNbOfLayers",this); + NbLayersCmd = new G4UIcmdWithAnInteger("/N03/det/setNbOfLayers",this); NbLayersCmd->SetGuidance("Set number of layers."); NbLayersCmd->SetParameterName("NbLayers",false); NbLayersCmd->SetRange("NbLayers>0 && NbLayers<500"); - NbLayersCmd->AvailableForStates(G4State_Idle); + NbLayersCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - UpdateCmd = new G4UIcmdWithoutParameter("/calor/update",this); + UpdateCmd = new G4UIcmdWithoutParameter("/N03/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); - - MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/calor/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_Idle); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -AnaEx01DetectorMessenger::~AnaEx01DetectorMessenger() +DetectorMessenger::~DetectorMessenger() { delete NbLayersCmd; delete AbsMaterCmd; delete GapMaterCmd; delete AbsThickCmd; delete GapThickCmd; delete SizeYZCmd; delete UpdateCmd; - delete MagFieldCmd; - delete AnaEx01detDir; + delete detDir; + delete N03Dir; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void AnaEx01DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) { if( command == AbsMaterCmd ) - { AnaEx01Detector->SetAbsorberMaterial(newValue);} + { Detector->SetAbsorberMaterial(newValue);} if( command == GapMaterCmd ) - { AnaEx01Detector->SetGapMaterial(newValue);} + { Detector->SetGapMaterial(newValue);} if( command == AbsThickCmd ) - { AnaEx01Detector->SetAbsorberThickness(AbsThickCmd->GetNewDoubleValue(newValue));} + { Detector->SetAbsorberThickness(AbsThickCmd + ->GetNewDoubleValue(newValue));} if( command == GapThickCmd ) - { AnaEx01Detector->SetGapThickness(GapThickCmd->GetNewDoubleValue(newValue));} + { Detector->SetGapThickness(GapThickCmd->GetNewDoubleValue(newValue));} if( command == SizeYZCmd ) - { AnaEx01Detector->SetCalorSizeYZ(SizeYZCmd->GetNewDoubleValue(newValue));} + { Detector->SetCalorSizeYZ(SizeYZCmd->GetNewDoubleValue(newValue));} if( command == NbLayersCmd ) - { AnaEx01Detector->SetNbOfLayers(NbLayersCmd->GetNewIntValue(newValue));} + { Detector->SetNbOfLayers(NbLayersCmd->GetNewIntValue(newValue));} if( command == UpdateCmd ) - { AnaEx01Detector->UpdateGeometry(); } - - if( command == MagFieldCmd ) - { AnaEx01Detector->SetMagField(MagFieldCmd->GetNewDoubleValue(newValue));} + { Detector->UpdateGeometry(); } } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/src/EventAction.cc b/examples/extended/analysis/AnaEx01/src/EventAction.cc new file mode 100644 index 0000000000..856234f990 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/EventAction.cc @@ -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: EventAction.cc,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "EventAction.hh" + +#include "RunAction.hh" +#include "HistoManager.hh" + +#include "G4Event.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +EventAction::EventAction(RunAction* run, HistoManager* histo) +:runAct(run),histoManager(histo) +{ + printModulo = 100; } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +EventAction::~EventAction() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void EventAction::BeginOfEventAction(const G4Event* evt) +{ + G4int evtNb = evt->GetEventID(); + if (evtNb%printModulo == 0) + G4cout << "\n---> Begin of event: " << evtNb << G4endl; + + // initialisation per event + EnergyAbs = EnergyGap = 0.; + TrackLAbs = TrackLGap = 0.; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void EventAction::EndOfEventAction(const G4Event*) +{ + //accumulates statistic + // + runAct->fillPerEvent(EnergyAbs, EnergyGap, TrackLAbs, TrackLGap); + + //fill histograms + // + histoManager->FillHisto(1, EnergyAbs); + histoManager->FillHisto(2, EnergyGap); + histoManager->FillHisto(3, TrackLAbs); + histoManager->FillHisto(4, TrackLGap); + + //fill ntuple + // + histoManager->FillNtuple(0, EnergyAbs); + histoManager->FillNtuple(1, EnergyGap); + histoManager->FillNtuple(2, TrackLAbs); + histoManager->FillNtuple(3, TrackLGap); + histoManager->AddRowNtuple(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/src/HistoManager.cc b/examples/extended/analysis/AnaEx01/src/HistoManager.cc new file mode 100644 index 0000000000..e2e7060d47 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/HistoManager.cc @@ -0,0 +1,239 @@ +// +// ******************************************************************** +// * 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.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "HistoManager.hh" +#include "G4UnitsTable.hh" + +#ifdef G4ANALYSIS_USE +#include "AIDA/AIDA.h" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoManager::HistoManager() +: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 + + // histograms + for (G4int k=0; kcreateTreeFactory(); + tree = tf->create(fileName, fileType, readOnly, createNew, fileOption); + delete tf; + if(!tree) { + G4cout << " HistoManager::book :" + << " problem creating the AIDA tree with " + << " storeName = " << fileName + << " 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 histos in subdirectory "histograms" + // + tree->mkdir("histograms"); + tree->cd("histograms"); + + histo[1] = hf->createHistogram1D("1", "Edep in absorber", 100, 0., 800*MeV); + if (!histo[1]) G4cout << "\n can't create histo 1" << G4endl; + histo[2] = hf->createHistogram1D("2", "Edep in gap", 100, 0., 100*MeV); + if (!histo[2]) G4cout << "\n can't create histo 2" << G4endl; + histo[3] = hf->createHistogram1D("3", "trackL in absorber", 100, 0., 1*m); + if (!histo[3]) G4cout << "\n can't create histo 3" << G4endl; + histo[4] = hf->createHistogram1D("4", "trackL in gap", 100, 0., 50*cm); + if (!histo[4]) G4cout << "\n can't create histo 4" << G4endl; + + delete hf; + tree->cd(".."); + + // Creating a ntuple factory, handled by the tree + // + AIDA::ITupleFactory* ntf = af->createTupleFactory(*tree); + + // create 1 ntuple in subdirectory "tuples" + // + tree->mkdir("tuples"); + tree->cd("tuples"); + + ntupl = ntf->create("101", "Edep and TrackL", "double Eabs, Egap, Labs, Lgap"); + + delete ntf; + tree->cd(".."); + + G4cout << "\n----> Histogram Tree is opened in " << fileName << G4endl; +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::save() +{ +#ifdef G4ANALYSIS_USE + if (af && tree) { + tree->commit(); // Writing the histograms to the file + tree->close(); // and closing the tree (and the file) + G4cout << "\n----> Histogram Tree is saved \n" << G4endl; + + delete tree; + tree = 0; + } +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::FillHisto(G4int ih, G4double xbin, G4double weight) +{ + if (ih >= MaxHisto) { + G4cout << "---> warning from HistoManager::FillHisto() : histo " << ih + << " does not exist. (xbin=" << xbin << " weight=" << weight << ")" + << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if (histo[ih]) histo[ih]->fill(xbin, weight); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::Normalize(G4int ih, G4double fac) +{ + if (ih >= MaxHisto) { + G4cout << "---> warning from HistoManager::Normalize() : histo " << ih + << " does not exist. (fac=" << fac << ")" << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if (histo[ih]) histo[ih]->scale(fac); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::FillNtuple(G4int column, G4double value) +{ + if (column > 3) { + G4cout << "---> warning from HistoManager::FillNtuple : " + << "column=" << column << " value=" << value << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if (ntupl) ntupl->fill(column, value); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::AddRowNtuple() +{ +#ifdef G4ANALYSIS_USE + if (ntupl) ntupl->addRow(); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::PrintStatistic() +{ +#ifdef G4ANALYSIS_USE + if(histo[1]) { + G4cout << "\n ----> print histograms statistic \n" << G4endl; + + G4cout + << " EAbs : mean = " << G4BestUnit(histo[1]->mean(), "Energy") + << " rms = " << G4BestUnit(histo[1]->rms(), "Energy") << G4endl; + G4cout + << " EGap : mean = " << G4BestUnit(histo[2]->mean(), "Energy") + << " rms = " << G4BestUnit(histo[2]->rms(), "Energy") << G4endl; + G4cout + << " LAbs : mean = " << G4BestUnit(histo[3]->mean(), "Length") + << " rms = " << G4BestUnit(histo[3]->rms(), "Length") << G4endl; + G4cout + << " LGap : mean = " << G4BestUnit(histo[4]->mean(), "Length") + << " rms = " << G4BestUnit(histo[4]->rms(), "Length") << G4endl; + + } +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + diff --git a/examples/extended/analysis/N03Con/src/ExN03PhysicsList.cc b/examples/extended/analysis/AnaEx01/src/PhysicsList.cc similarity index 60% rename from examples/extended/analysis/N03Con/src/ExN03PhysicsList.cc rename to examples/extended/analysis/AnaEx01/src/PhysicsList.cc index 815dcaf831..a351862f2a 100644 --- a/examples/extended/analysis/N03Con/src/ExN03PhysicsList.cc +++ b/examples/extended/analysis/AnaEx01/src/PhysicsList.cc @@ -24,115 +24,70 @@ // ******************************************************************** // // -// $Id: ExN03PhysicsList.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysicsList.cc,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03PhysicsList.hh" +#include "PhysicsList.hh" #include "G4ProcessManager.hh" -#include "G4ParticleTypes.hh" + +#include "G4BosonConstructor.hh" +#include "G4LeptonConstructor.hh" +#include "G4MesonConstructor.hh" +#include "G4BosonConstructor.hh" +#include "G4BaryonConstructor.hh" +#include "G4IonConstructor.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PhysicsList::ExN03PhysicsList(): G4VUserPhysicsList() +PhysicsList::PhysicsList(): G4VUserPhysicsList() { - defaultCutValue = 1.0*mm; - SetVerboseLevel(1); + defaultCutValue = 1.0*mm; + SetVerboseLevel(0); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PhysicsList::~ExN03PhysicsList() +PhysicsList::~PhysicsList() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PhysicsList::ConstructParticle() +void PhysicsList::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(); - ConstructMesons(); - ConstructBaryons(); + G4BosonConstructor pBosonConstructor; + pBosonConstructor.ConstructParticle(); + + G4LeptonConstructor pLeptonConstructor; + pLeptonConstructor.ConstructParticle(); + + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); + + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); + + G4IonConstructor pIonConstructor; + pIonConstructor.ConstructParticle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PhysicsList::ConstructBosons() -{ - // pseudo-particles - G4Geantino::GeantinoDefinition(); - G4ChargedGeantino::ChargedGeantinoDefinition(); - - // gamma - G4Gamma::GammaDefinition(); - - // optical photon - G4OpticalPhoton::OpticalPhotonDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void ExN03PhysicsList::ConstructLeptons() -{ - // leptons - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); - G4MuonPlus::MuonPlusDefinition(); - G4MuonMinus::MuonMinusDefinition(); - - G4NeutrinoE::NeutrinoEDefinition(); - G4AntiNeutrinoE::AntiNeutrinoEDefinition(); - G4NeutrinoMu::NeutrinoMuDefinition(); - G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void ExN03PhysicsList::ConstructMesons() -{ - // mesons - G4PionPlus::PionPlusDefinition(); - G4PionMinus::PionMinusDefinition(); - G4PionZero::PionZeroDefinition(); - G4Eta::EtaDefinition(); - G4EtaPrime::EtaPrimeDefinition(); - G4KaonPlus::KaonPlusDefinition(); - G4KaonMinus::KaonMinusDefinition(); - G4KaonZero::KaonZeroDefinition(); - G4AntiKaonZero::AntiKaonZeroDefinition(); - G4KaonZeroLong::KaonZeroLongDefinition(); - G4KaonZeroShort::KaonZeroShortDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void ExN03PhysicsList::ConstructBaryons() -{ -// barions - G4Proton::ProtonDefinition(); - G4AntiProton::AntiProtonDefinition(); - G4Neutron::NeutronDefinition(); - G4AntiNeutron::AntiNeutronDefinition(); -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void ExN03PhysicsList::ConstructProcess() +void PhysicsList::ConstructProcess() { AddTransportation(); ConstructEM(); - ConstructGeneral(); + ConstructDecay(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -141,21 +96,26 @@ void ExN03PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" - +#include "G4eMultipleScattering.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" + +#include "G4ionIonisation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PhysicsList::ConstructEM() +void PhysicsList::ConstructEM() { theParticleIterator->reset(); while( (*theParticleIterator)() ){ @@ -171,32 +131,52 @@ void ExN03PhysicsList::ConstructEM() } else if (particleName == "e-") { //electron - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); + 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 G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); - + 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 G4MultipleScattering,-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-" || + 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 ((!particle->IsShortLived()) && + } else if( particleName == "alpha" || + 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")) { //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); + } } } @@ -204,10 +184,10 @@ void ExN03PhysicsList::ConstructEM() #include "G4Decay.hh" -void ExN03PhysicsList::ConstructGeneral() +void PhysicsList::ConstructDecay() { // Add Decay Process - G4Decay* theDecayProcess = new G4Decay(); + G4Decay* theDecayProcess = new G4Decay(); theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); @@ -223,10 +203,10 @@ void ExN03PhysicsList::ConstructGeneral() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PhysicsList::SetCuts() +void PhysicsList::SetCuts() { if (verboseLevel >0){ - G4cout << "ExN03PhysicsList::SetCuts:"; + G4cout << "PhysicsList::SetCuts:"; G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; } @@ -236,6 +216,7 @@ void ExN03PhysicsList::SetCuts() SetCutValue(defaultCutValue, "gamma"); SetCutValue(defaultCutValue, "e-"); SetCutValue(defaultCutValue, "e+"); + SetCutValue(defaultCutValue, "proton"); if (verboseLevel>0) DumpCutValuesTable(); } diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc b/examples/extended/analysis/AnaEx01/src/PrimaryGeneratorAction.cc similarity index 69% rename from examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc rename to examples/extended/analysis/AnaEx01/src/PrimaryGeneratorAction.cc index 62d56d20a4..e7ac9fc51f 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc +++ b/examples/extended/analysis/AnaEx01/src/PrimaryGeneratorAction.cc @@ -24,36 +24,29 @@ // ******************************************************************** // // -// $Id: AnaEx01PrimaryGeneratorAction.cc,v 1.5 2006/06/29 16:33:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PrimaryGeneratorAction.cc,v 1.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +#include "PrimaryGeneratorAction.hh" -#include "AnaEx01PrimaryGeneratorAction.hh" - -#include "AnaEx01DetectorConstruction.hh" -#include "AnaEx01PrimaryGeneratorMessenger.hh" +#include "DetectorConstruction.hh" #include "G4Event.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" -#include "Randomize.hh" -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -AnaEx01PrimaryGeneratorAction::AnaEx01PrimaryGeneratorAction( - AnaEx01DetectorConstruction* AnaEx01DC) -:AnaEx01Detector(AnaEx01DC),rndmFlag("off") +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* DC) +:Detector(DC) { G4int n_particle = 1; particleGun = new G4ParticleGun(n_particle); - - //create a messenger for this class - gunMessenger = new AnaEx01PrimaryGeneratorMessenger(this); // default particle kinematic @@ -63,36 +56,27 @@ AnaEx01PrimaryGeneratorAction::AnaEx01PrimaryGeneratorAction( = particleTable->FindParticle(particleName="e-"); particleGun->SetParticleDefinition(particle); particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - particleGun->SetParticleEnergy(30.*MeV); - G4double position = -0.5*(AnaEx01Detector->GetWorldSizeX()); + particleGun->SetParticleEnergy(500.*MeV); + G4double position = -0.5*(Detector->GetWorldSizeX()); particleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -AnaEx01PrimaryGeneratorAction::~AnaEx01PrimaryGeneratorAction() +PrimaryGeneratorAction::~PrimaryGeneratorAction() { delete particleGun; - delete gunMessenger; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void AnaEx01PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { //this function is called at the begining of event // - G4double x0 = -0.5*(AnaEx01Detector->GetWorldSizeX()); - G4double y0 = 0.*cm, z0 = 0.*cm; - if (rndmFlag == "on") - {y0 = (AnaEx01Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); - z0 = (AnaEx01Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); - } - particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); - particleGun->GeneratePrimaryVertex(anEvent); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/src/RunAction.cc b/examples/extended/analysis/AnaEx01/src/RunAction.cc new file mode 100644 index 0000000000..00fbcbc4d2 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/RunAction.cc @@ -0,0 +1,130 @@ +// +// ******************************************************************** +// * 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.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "RunAction.hh" +#include "HistoManager.hh" + +#include "G4Run.hh" +#include "G4RunManager.hh" +#include "G4UnitsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +RunAction::RunAction(HistoManager* histo) +:histoManager(histo) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +RunAction::~RunAction() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::BeginOfRunAction(const G4Run* aRun) +{ + G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; + + //initialize cumulative quantities + // + sumEAbs = sum2EAbs =sumEGap = sum2EGap = 0.; + sumLAbs = sum2LAbs =sumLGap = sum2LGap = 0.; + + //histograms + // + histoManager->book(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::fillPerEvent(G4double EAbs, G4double EGap, + G4double LAbs, G4double LGap) +{ + //accumulate statistic + // + sumEAbs += EAbs; sum2EAbs += EAbs*EAbs; + sumEGap += EGap; sum2EGap += EGap*EGap; + + sumLAbs += LAbs; sum2LAbs += LAbs*LAbs; + sumLGap += LGap; sum2LGap += LGap*LGap; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::EndOfRunAction(const G4Run* aRun) +{ + G4int NbOfEvents = aRun->GetNumberOfEvent(); + if (NbOfEvents == 0) return; + + //compute statistics: mean and rms + // + sumEAbs /= NbOfEvents; sum2EAbs /= NbOfEvents; + G4double rmsEAbs = sum2EAbs - sumEAbs*sumEAbs; + if (rmsEAbs >0.) rmsEAbs = std::sqrt(rmsEAbs); else rmsEAbs = 0.; + + sumEGap /= NbOfEvents; sum2EGap /= NbOfEvents; + G4double rmsEGap = sum2EGap - sumEGap*sumEGap; + if (rmsEGap >0.) rmsEGap = std::sqrt(rmsEGap); else rmsEGap = 0.; + + sumLAbs /= NbOfEvents; sum2LAbs /= NbOfEvents; + G4double rmsLAbs = sum2LAbs - sumLAbs*sumLAbs; + if (rmsLAbs >0.) rmsLAbs = std::sqrt(rmsLAbs); else rmsLAbs = 0.; + + sumLGap /= NbOfEvents; sum2LGap /= NbOfEvents; + G4double rmsLGap = sum2LGap - sumLGap*sumLGap; + if (rmsLGap >0.) rmsLGap = std::sqrt(rmsLGap); else rmsLGap = 0.; + + //print + // + G4cout + << "\n--------------------End of Run------------------------------\n" + << "\n mean Energy in Absorber : " << G4BestUnit(sumEAbs,"Energy") + << " +- " << G4BestUnit(rmsEAbs,"Energy") + << "\n mean Energy in Gap : " << G4BestUnit(sumEGap,"Energy") + << " +- " << G4BestUnit(rmsEGap,"Energy") + << G4endl; + + G4cout + << "\n mean trackLength in Absorber : " << G4BestUnit(sumLAbs,"Length") + << " +- " << G4BestUnit(rmsLAbs,"Length") + << "\n mean trackLength in Gap : " << G4BestUnit(sumLGap,"Length") + << " +- " << G4BestUnit(rmsLGap,"Length") + << "\n------------------------------------------------------------\n" + << G4endl; + + //save histograms + // + histoManager->PrintStatistic(); + histoManager->save(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/src/SteppingAction.cc b/examples/extended/analysis/AnaEx01/src/SteppingAction.cc new file mode 100644 index 0000000000..eb4d499eb5 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/SteppingAction.cc @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * 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.1 2010/11/08 10:38:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "SteppingAction.hh" + +#include "DetectorConstruction.hh" +#include "EventAction.hh" + +#include "G4Step.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +SteppingAction::SteppingAction(DetectorConstruction* det, + EventAction* evt) +:detector(det), eventaction(evt) +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +SteppingAction::~SteppingAction() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void SteppingAction::UserSteppingAction(const G4Step* aStep) +{ + // get volume of the current step + G4VPhysicalVolume* volume + = aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume(); + + // collect energy and track length step by step + G4double edep = aStep->GetTotalEnergyDeposit(); + + G4double stepl = 0.; + if (aStep->GetTrack()->GetDefinition()->GetPDGCharge() != 0.) + stepl = aStep->GetStepLength(); + + if (volume == detector->GetAbsorber()) eventaction->AddAbs(edep,stepl); + if (volume == detector->GetGap()) eventaction->AddGap(edep,stepl); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/vis.mac b/examples/extended/analysis/AnaEx01/vis.mac new file mode 100644 index 0000000000..b2a23560eb --- /dev/null +++ b/examples/extended/analysis/AnaEx01/vis.mac @@ -0,0 +1,76 @@ +# Macro file for the initialization phase of "exampleN03.cc" +# when running in interactive mode +# +# Sets some default verbose +# +/control/verbose 2 +/run/verbose 2 +# +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/analysis/History b/examples/extended/analysis/History index 820f7a597b..60452a4549 100644 --- a/examples/extended/analysis/History +++ b/examples/extended/analysis/History @@ -1,15 +1,17 @@ -$Id: History,v 1.2 2005/05/03 10:05:48 allison Exp $ +$Id: History,v 1.3 2010/11/08 11:31:23 maire Exp $ ------------------------------------------------------------------- ========================================================= - A01 History File + Analysis History File ========================================================= ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- ---------------------------------------------------------------------------- + +8rd November 2010 Michel Maire +- add README 3rd May 2005 John Allison (examples-V07-00-03) - Replaced vis manager with G4VisExecutive. diff --git a/examples/extended/analysis/N03Con/GNUmakefile b/examples/extended/analysis/N03Con/GNUmakefile index 26c055eaf2..97cd48cb8a 100644 --- a/examples/extended/analysis/N03Con/GNUmakefile +++ b/examples/extended/analysis/N03Con/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2007/05/26 00:18:27 tkoi Exp $ +# $Id: GNUmakefile,v 1.2 2010/01/11 16:22:59 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/analysis/N03Con/History b/examples/extended/analysis/N03Con/History index 2805c7aac4..6965f6c2a1 100644 --- a/examples/extended/analysis/N03Con/History +++ b/examples/extended/analysis/N03Con/History @@ -13,7 +13,20 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +12-11-10 mma (exampleN03Con-V09-03-03) +- change classe mames : suppress ExN03 +- DetectorConstruction : introduce nist materials +- add vis.mac + +12-10-10 G. Cosmo exampleN03Con-V09-03-02 +- Moved G4ConvergenceTester to kernel inside global/HEPNumerics. + +12-05-10 J. Allison exampleN03Con-V09-03-01 +- Introduced G4UIExecutive. + +31-03-10 T. Koi exampleN03Con-V09-03-00 +- Updated physics-list as in exampleN03. 25-05-07 T. Koi exampleN03Con-V08-03-01 - - Created. diff --git a/examples/extended/analysis/N03Con/exampleN03Con.cc b/examples/extended/analysis/N03Con/exampleN03Con.cc index 1c7676454d..4184aedb59 100644 --- a/examples/extended/analysis/N03Con/exampleN03Con.cc +++ b/examples/extended/analysis/N03Con/exampleN03Con.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN03Con.cc,v 1.2 2007/05/26 00:24:09 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: exampleN03Con.cc,v 1.5 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,30 +33,24 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" - -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif - -#ifdef G4UI_USE_WIN32 -#include "G4UIWin32.hh" -#endif #include "Randomize.hh" +#include "DetectorConstruction.hh" +#include "PhysicsList.hh" +#include "PrimaryGeneratorAction.hh" +#include "RunAction.hh" +#include "EventAction.hh" +#include "SteppingAction.hh" +#include "SteppingVerbose.hh" + #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif -#include "ExN03DetectorConstruction.hh" -#include "ExN03PhysicsList.hh" -#include "ExN03PrimaryGeneratorAction.hh" -#include "ExN03RunAction.hh" -#include "ExN03EventAction.hh" -#include "ExN03SteppingAction.hh" -#include "ExN03SteppingVerbose.hh" +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,8 +62,7 @@ int main(int argc,char** argv) // User Verbose output class // - G4VSteppingVerbose* verbosity = new ExN03SteppingVerbose; - G4VSteppingVerbose::SetInstance(verbosity); + G4VSteppingVerbose::SetInstance(new SteppingVerbose); // Construct the default run manager // @@ -77,92 +70,71 @@ int main(int argc,char** argv) // Set mandatory initialization classes // - ExN03DetectorConstruction* detector = new ExN03DetectorConstruction; + DetectorConstruction* detector = new DetectorConstruction; runManager->SetUserInitialization(detector); // - G4VUserPhysicsList* physics = new ExN03PhysicsList; + PhysicsList* physics = new PhysicsList; runManager->SetUserInitialization(physics); - - G4UIsession* session=0; - - if (argc==1) // Define UI session for interactive mode. - { - // G4UIterminal is a (dumb) terminal - // -#if defined(G4UI_USE_XM) - session = new G4UIXm(argc,argv); -#elif defined(G4UI_USE_WIN32) - session = new G4UIWin32(); -#elif defined(G4UI_USE_TCSH) - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - } - -#ifdef G4VIS_USE - // Visualization manager - // - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); -#endif // Set user action classes // - G4VUserPrimaryGeneratorAction* gen_action = new ExN03PrimaryGeneratorAction(detector); + PrimaryGeneratorAction* gen_action = + new PrimaryGeneratorAction(detector); runManager->SetUserAction(gen_action); // - ExN03RunAction* run_action = new ExN03RunAction; + RunAction* run_action = new RunAction; runManager->SetUserAction(run_action); // - ExN03EventAction* event_action = new ExN03EventAction(run_action); + EventAction* event_action = new EventAction(run_action); runManager->SetUserAction(event_action); // - G4UserSteppingAction* stepping_action = - new ExN03SteppingAction(detector, event_action); + SteppingAction* stepping_action = + new SteppingAction(detector, event_action); runManager->SetUserAction(stepping_action); // Initialize G4 kernel // runManager->Initialize(); - + +#ifdef G4VIS_USE + // Initialize visualization + // + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + // Get the pointer to the User Interface manager // - G4UImanager* UI = G4UImanager::GetUIpointer(); - - if (session) // Define UI session for interactive mode + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + + if (argc!=1) // batch mode { - // G4UIterminal is a (dumb) terminal - // - // UI->ApplyCommand("/control/execute vis.mac"); -#if defined(G4UI_USE_XM) || defined(G4UI_USE_WIN32) - // Customize the G4UIXm,Win32 menubar with a macro file - // - // UI->ApplyCommand("/control/execute visTutor/gui.mac"); -#endif - session->SessionStart(); - delete session; - } - else // Batch mode - { -#ifdef G4VIS_USE - visManager->SetVerboseLevel("quiet"); -#endif G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } - + else + { // interactive mode : define UI session +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + if (ui->IsGUI()) + UImanager->ApplyCommand("/control/execute visTutor/gui.mac"); + ui->SessionStart(); + delete ui; +#endif + } + // Job termination // Free the store: user actions, physics_list and detector_description are // owned and deleted by the run manager, so they should not // be deleted in the main() program ! - #ifdef G4VIS_USE delete visManager; -#endif +#endif delete runManager; - delete verbosity; return 0; } diff --git a/examples/extended/analysis/N03Con/include/ExN03DetectorConstruction.hh b/examples/extended/analysis/N03Con/include/DetectorConstruction.hh similarity index 91% rename from examples/extended/analysis/N03Con/include/ExN03DetectorConstruction.hh rename to examples/extended/analysis/N03Con/include/DetectorConstruction.hh index 60e4464ebc..6a81dd57bf 100644 --- a/examples/extended/analysis/N03Con/include/ExN03DetectorConstruction.hh +++ b/examples/extended/analysis/N03Con/include/DetectorConstruction.hh @@ -24,16 +24,16 @@ // ******************************************************************** // // -// $Id: ExN03DetectorConstruction.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.hh,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03DetectorConstruction_h -#define ExN03DetectorConstruction_h 1 +#ifndef DetectorConstruction_h +#define DetectorConstruction_h 1 #include "G4VUserDetectorConstruction.hh" #include "globals.hh" @@ -43,16 +43,16 @@ class G4LogicalVolume; class G4VPhysicalVolume; class G4Material; class G4UniformMagField; -class ExN03DetectorMessenger; +class DetectorMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03DetectorConstruction : public G4VUserDetectorConstruction +class DetectorConstruction : public G4VUserDetectorConstruction { public: - ExN03DetectorConstruction(); - ~ExN03DetectorConstruction(); + DetectorConstruction(); + ~DetectorConstruction(); public: @@ -133,7 +133,7 @@ class ExN03DetectorConstruction : public G4VUserDetectorConstruction G4UniformMagField* magField; //pointer to the magnetic field - ExN03DetectorMessenger* detectorMessenger; //pointer to the Messenger + DetectorMessenger* detectorMessenger; //pointer to the Messenger private: @@ -144,7 +144,7 @@ class ExN03DetectorConstruction : public G4VUserDetectorConstruction //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline void ExN03DetectorConstruction::ComputeCalorParameters() +inline void DetectorConstruction::ComputeCalorParameters() { // Compute derived parameters of the calorimeter LayerThickness = AbsorberThickness + GapThickness; diff --git a/examples/extended/analysis/N03Con/include/ExN03DetectorMessenger.hh b/examples/extended/analysis/N03Con/include/DetectorMessenger.hh similarity index 87% rename from examples/extended/analysis/N03Con/include/ExN03DetectorMessenger.hh rename to examples/extended/analysis/N03Con/include/DetectorMessenger.hh index ade8810106..31b27b9044 100644 --- a/examples/extended/analysis/N03Con/include/ExN03DetectorMessenger.hh +++ b/examples/extended/analysis/N03Con/include/DetectorMessenger.hh @@ -24,21 +24,21 @@ // ******************************************************************** // // -// $Id: ExN03DetectorMessenger.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorMessenger.hh,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03DetectorMessenger_h -#define ExN03DetectorMessenger_h 1 +#ifndef DetectorMessenger_h +#define DetectorMessenger_h 1 #include "globals.hh" #include "G4UImessenger.hh" -class ExN03DetectorConstruction; +class DetectorConstruction; class G4UIdirectory; class G4UIcmdWithAString; class G4UIcmdWithAnInteger; @@ -47,16 +47,16 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03DetectorMessenger: public G4UImessenger +class DetectorMessenger: public G4UImessenger { public: - ExN03DetectorMessenger(ExN03DetectorConstruction* ); - ~ExN03DetectorMessenger(); + DetectorMessenger(DetectorConstruction* ); + ~DetectorMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - ExN03DetectorConstruction* ExN03Detector; + DetectorConstruction* Detector; G4UIdirectory* N03Dir; G4UIdirectory* detDir; diff --git a/examples/novice/N03/include/ExN03EventAction.hh b/examples/extended/analysis/N03Con/include/EventAction.hh similarity index 86% rename from examples/novice/N03/include/ExN03EventAction.hh rename to examples/extended/analysis/N03Con/include/EventAction.hh index 903610f0ef..23863dcafc 100644 --- a/examples/novice/N03/include/ExN03EventAction.hh +++ b/examples/extended/analysis/N03Con/include/EventAction.hh @@ -24,30 +24,30 @@ // ******************************************************************** // // -// $Id: ExN03EventAction.hh,v 1.12 2007/07/02 13:22:08 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.hh,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03EventAction_h -#define ExN03EventAction_h 1 +#ifndef EventAction_h +#define EventAction_h 1 #include "G4UserEventAction.hh" #include "globals.hh" -class ExN03RunAction; -class ExN03EventActionMessenger; +class RunAction; +class EventActionMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03EventAction : public G4UserEventAction +class EventAction : public G4UserEventAction { public: - ExN03EventAction(ExN03RunAction*); - virtual ~ExN03EventAction(); + EventAction(RunAction*); + virtual ~EventAction(); void BeginOfEventAction(const G4Event*); void EndOfEventAction(const G4Event*); @@ -58,14 +58,14 @@ public: void SetPrintModulo(G4int val) {printModulo = val;}; private: - ExN03RunAction* runAct; + RunAction* runAct; G4double EnergyAbs, EnergyGap; G4double TrackLAbs, TrackLGap; G4int printModulo; - ExN03EventActionMessenger* eventMessenger; + EventActionMessenger* eventMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/include/ExN03EventActionMessenger.hh b/examples/extended/analysis/N03Con/include/EventActionMessenger.hh similarity index 85% rename from examples/novice/N03/include/ExN03EventActionMessenger.hh rename to examples/extended/analysis/N03Con/include/EventActionMessenger.hh index f3788187ee..ba20d79f34 100644 --- a/examples/novice/N03/include/ExN03EventActionMessenger.hh +++ b/examples/extended/analysis/N03Con/include/EventActionMessenger.hh @@ -24,36 +24,36 @@ // ******************************************************************** // // -// $Id: ExN03EventActionMessenger.hh,v 1.10 2007/07/02 13:22:08 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventActionMessenger.hh,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03EventActionMessenger_h -#define ExN03EventActionMessenger_h 1 +#ifndef EventActionMessenger_h +#define EventActionMessenger_h 1 #include "globals.hh" #include "G4UImessenger.hh" -class ExN03EventAction; +class EventAction; class G4UIdirectory; class G4UIcmdWithAnInteger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03EventActionMessenger: public G4UImessenger +class EventActionMessenger: public G4UImessenger { public: - ExN03EventActionMessenger(ExN03EventAction*); - virtual ~ExN03EventActionMessenger(); + EventActionMessenger(EventAction*); + virtual ~EventActionMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - ExN03EventAction* eventAction; + EventAction* eventAction; G4UIdirectory* eventDir; G4UIcmdWithAnInteger* PrintCmd; }; diff --git a/examples/extended/analysis/N03Con/include/PhysicsList.hh b/examples/extended/analysis/N03Con/include/PhysicsList.hh new file mode 100644 index 0000000000..f0575a74dc --- /dev/null +++ b/examples/extended/analysis/N03Con/include/PhysicsList.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. * +// ******************************************************************** +// +// +// $Id: PhysicsList.hh,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysicsList_h +#define PhysicsList_h 1 + +#include "G4VUserPhysicsList.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysicsList: public G4VUserPhysicsList +{ +public: + PhysicsList(); + virtual ~PhysicsList(); + + // Construct particle and physics + void ConstructParticle(); + void ConstructProcess(); + + void SetCuts(); + +private: + + // these methods Construct physics processes and register them + void ConstructDecay(); + void ConstructEM(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + diff --git a/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh b/examples/extended/analysis/N03Con/include/PrimaryGeneratorAction.hh similarity index 75% rename from examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh rename to examples/extended/analysis/N03Con/include/PrimaryGeneratorAction.hh index d75621a110..bffb5fc6c8 100644 --- a/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh +++ b/examples/extended/analysis/N03Con/include/PrimaryGeneratorAction.hh @@ -24,42 +24,42 @@ // ******************************************************************** // // -// $Id: ExN03PrimaryGeneratorAction.hh,v 1.8 2007/07/02 13:22:08 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PrimaryGeneratorAction.hh,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03PrimaryGeneratorAction_h -#define ExN03PrimaryGeneratorAction_h 1 +#ifndef PrimaryGeneratorAction_h +#define PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4ParticleGun; class G4Event; -class ExN03DetectorConstruction; -class ExN03PrimaryGeneratorMessenger; +class DetectorConstruction; +class PrimaryGeneratorMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - ExN03PrimaryGeneratorAction(ExN03DetectorConstruction*); - virtual ~ExN03PrimaryGeneratorAction(); + PrimaryGeneratorAction(DetectorConstruction*); + virtual ~PrimaryGeneratorAction(); void GeneratePrimaries(G4Event*); void SetRndmFlag(G4String val) { rndmFlag = val;} private: - G4ParticleGun* particleGun; //pointer a to G4 class - ExN03DetectorConstruction* ExN03Detector; //pointer to the geometry + G4ParticleGun* particleGun; //pointer a to G4 class + DetectorConstruction* Detector; //pointer to the geometry - ExN03PrimaryGeneratorMessenger* gunMessenger; //messenger of this class - G4String rndmFlag; //flag for a rndm impact point + PrimaryGeneratorMessenger* gunMessenger; //messenger of this class + G4String rndmFlag; //flag for a rndm impact point }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh b/examples/extended/analysis/N03Con/include/PrimaryGeneratorMessenger.hh similarity index 80% rename from examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh rename to examples/extended/analysis/N03Con/include/PrimaryGeneratorMessenger.hh index bf7fb445c5..d9dc09157b 100644 --- a/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh +++ b/examples/extended/analysis/N03Con/include/PrimaryGeneratorMessenger.hh @@ -24,38 +24,38 @@ // ******************************************************************** // // -// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.8 2007/07/02 13:22:08 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PrimaryGeneratorMessenger.hh,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03PrimaryGeneratorMessenger_h -#define ExN03PrimaryGeneratorMessenger_h 1 +#ifndef PrimaryGeneratorMessenger_h +#define PrimaryGeneratorMessenger_h 1 #include "G4UImessenger.hh" #include "globals.hh" -class ExN03PrimaryGeneratorAction; +class PrimaryGeneratorAction; class G4UIdirectory; class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03PrimaryGeneratorMessenger: public G4UImessenger +class PrimaryGeneratorMessenger: public G4UImessenger { public: - ExN03PrimaryGeneratorMessenger(ExN03PrimaryGeneratorAction*); - virtual ~ExN03PrimaryGeneratorMessenger(); + PrimaryGeneratorMessenger(PrimaryGeneratorAction*); + virtual ~PrimaryGeneratorMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - ExN03PrimaryGeneratorAction* ExN03Action; - G4UIdirectory* gunDir; - G4UIcmdWithAString* RndmCmd; + PrimaryGeneratorAction* Action; + G4UIdirectory* gunDir; + G4UIcmdWithAString* RndmCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/include/RunAction.hh b/examples/extended/analysis/N03Con/include/RunAction.hh new file mode 100644 index 0000000000..02f70e30a8 --- /dev/null +++ b/examples/extended/analysis/N03Con/include/RunAction.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: RunAction.hh,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef RunAction_h +#define RunAction_h 1 + +#include "G4UserRunAction.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class G4Run; +class G4ConvergenceTester; + +class RunAction : public G4UserRunAction +{ +public: + RunAction(); + virtual ~RunAction(); + + void BeginOfRunAction(const G4Run*); + void EndOfRunAction(const G4Run*); + + void fillPerEvent(G4double, G4double, G4double, G4double); + +private: + G4double sumEAbs, sum2EAbs; + G4double sumEGap, sum2EGap; + + G4double sumLAbs, sum2LAbs; + G4double sumLGap, sum2LGap; + + G4ConvergenceTester* Eabs_tally; + G4ConvergenceTester* Egap_tally; + G4ConvergenceTester* Labs_tally; + G4ConvergenceTester* Lgap_tally; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/analysis/N03Con/include/SteppingAction.hh b/examples/extended/analysis/N03Con/include/SteppingAction.hh new file mode 100644 index 0000000000..95f6524d02 --- /dev/null +++ b/examples/extended/analysis/N03Con/include/SteppingAction.hh @@ -0,0 +1,60 @@ +// +// ******************************************************************** +// * 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.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef SteppingAction_h +#define SteppingAction_h 1 + +#include "G4UserSteppingAction.hh" + +class DetectorConstruction; +class EventAction; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class SteppingAction : public G4UserSteppingAction +{ +public: + SteppingAction(DetectorConstruction*, EventAction*); + virtual ~SteppingAction(); + + void UserSteppingAction(const G4Step*); + +private: + DetectorConstruction* detector; + EventAction* eventaction; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/extended/analysis/N03Con/include/ExN03SteppingVerbose.hh b/examples/extended/analysis/N03Con/include/SteppingVerbose.hh similarity index 87% rename from examples/extended/analysis/N03Con/include/ExN03SteppingVerbose.hh rename to examples/extended/analysis/N03Con/include/SteppingVerbose.hh index 13cd35badc..acbc489cf6 100644 --- a/examples/extended/analysis/N03Con/include/ExN03SteppingVerbose.hh +++ b/examples/extended/analysis/N03Con/include/SteppingVerbose.hh @@ -24,28 +24,28 @@ // ******************************************************************** // // -// $Id: ExN03SteppingVerbose.hh,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingVerbose.hh,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03SteppingVerbose; +class SteppingVerbose; -#ifndef ExN03SteppingVerbose_h -#define ExN03SteppingVerbose_h 1 +#ifndef SteppingVerbose_h +#define SteppingVerbose_h 1 #include "G4SteppingVerbose.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03SteppingVerbose : public G4SteppingVerbose +class SteppingVerbose : public G4SteppingVerbose { public: - ExN03SteppingVerbose(); - ~ExN03SteppingVerbose(); + SteppingVerbose(); + ~SteppingVerbose(); void StepInfo(); void TrackingStarted(); diff --git a/examples/novice/N03/src/ExN03DetectorConstruction.cc b/examples/extended/analysis/N03Con/src/DetectorConstruction.cc similarity index 93% rename from examples/novice/N03/src/ExN03DetectorConstruction.cc rename to examples/extended/analysis/N03Con/src/DetectorConstruction.cc index 0917d92541..1158a0a458 100644 --- a/examples/novice/N03/src/ExN03DetectorConstruction.cc +++ b/examples/extended/analysis/N03Con/src/DetectorConstruction.cc @@ -24,18 +24,20 @@ // ******************************************************************** // // -// $Id: ExN03DetectorConstruction.cc,v 1.24 2008/08/12 20:00:03 gum Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.cc,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03DetectorConstruction.hh" -#include "ExN03DetectorMessenger.hh" +#include "DetectorConstruction.hh" +#include "DetectorMessenger.hh" #include "G4Material.hh" +#include "G4NistManager.hh" + #include "G4Box.hh" #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" @@ -52,7 +54,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03DetectorConstruction::ExN03DetectorConstruction() +DetectorConstruction::DetectorConstruction() :AbsorberMaterial(0),GapMaterial(0),defaultMaterial(0), solidWorld(0),logicWorld(0),physiWorld(0), solidCalor(0),logicCalor(0),physiCalor(0), @@ -74,24 +76,24 @@ ExN03DetectorConstruction::ExN03DetectorConstruction() SetGapMaterial("liquidArgon"); // create commands for interactive definition of the calorimeter - detectorMessenger = new ExN03DetectorMessenger(this); + detectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03DetectorConstruction::~ExN03DetectorConstruction() +DetectorConstruction::~DetectorConstruction() { delete detectorMessenger;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume* ExN03DetectorConstruction::Construct() +G4VPhysicalVolume* DetectorConstruction::Construct() { return ConstructCalorimeter(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::DefineMaterials() +void DetectorConstruction::DefineMaterials() { //This function illustrates the possible ways to define materials @@ -206,6 +208,14 @@ new G4Material("Beam", density= 1.e-5*g/cm3, ncomponents=1, kStateGas, STP_Temperature, 2.e-2*bar); beam->AddMaterial(Air, fractionmass=1.); +// +// or use G4-NIST materials data base +// +G4NistManager* man = G4NistManager::Instance(); +man->FindOrBuildMaterial("G4_SODIUM_IODIDE"); + +// print table +// G4cout << *(G4Material::GetMaterialTable()) << G4endl; //default materials of the World @@ -214,7 +224,7 @@ defaultMaterial = Vacuum; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter() +G4VPhysicalVolume* DetectorConstruction::ConstructCalorimeter() { // Clean old geometry, if any @@ -379,7 +389,7 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::PrintCalorParameters() +void DetectorConstruction::PrintCalorParameters() { G4cout << "\n------------------------------------------------------------" << "\n---> The calorimeter is " << NbOfLayers << " layers of: [ " @@ -391,7 +401,7 @@ void ExN03DetectorConstruction::PrintCalorParameters() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) +void DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) { // search the material by its name G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); @@ -400,7 +410,7 @@ void ExN03DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetGapMaterial(G4String materialChoice) +void DetectorConstruction::SetGapMaterial(G4String materialChoice) { // search the material by its name G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); @@ -409,7 +419,7 @@ void ExN03DetectorConstruction::SetGapMaterial(G4String materialChoice) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetAbsorberThickness(G4double val) +void DetectorConstruction::SetAbsorberThickness(G4double val) { // change Absorber thickness and recompute the calorimeter parameters AbsorberThickness = val; @@ -417,7 +427,7 @@ void ExN03DetectorConstruction::SetAbsorberThickness(G4double val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetGapThickness(G4double val) +void DetectorConstruction::SetGapThickness(G4double val) { // change Gap thickness and recompute the calorimeter parameters GapThickness = val; @@ -425,7 +435,7 @@ void ExN03DetectorConstruction::SetGapThickness(G4double val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetCalorSizeYZ(G4double val) +void DetectorConstruction::SetCalorSizeYZ(G4double val) { // change the transverse size and recompute the calorimeter parameters CalorSizeYZ = val; @@ -433,7 +443,7 @@ void ExN03DetectorConstruction::SetCalorSizeYZ(G4double val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetNbOfLayers(G4int val) +void DetectorConstruction::SetNbOfLayers(G4int val) { NbOfLayers = val; } @@ -443,7 +453,7 @@ void ExN03DetectorConstruction::SetNbOfLayers(G4int val) #include "G4FieldManager.hh" #include "G4TransportationManager.hh" -void ExN03DetectorConstruction::SetMagField(G4double fieldValue) +void DetectorConstruction::SetMagField(G4double fieldValue) { //apply a global uniform magnetic field along Z axis G4FieldManager* fieldMgr @@ -465,7 +475,7 @@ void ExN03DetectorConstruction::SetMagField(G4double fieldValue) #include "G4RunManager.hh" -void ExN03DetectorConstruction::UpdateGeometry() +void DetectorConstruction::UpdateGeometry() { G4RunManager::GetRunManager()->DefineWorldVolume(ConstructCalorimeter()); } diff --git a/examples/extended/analysis/N03Con/src/ExN03DetectorMessenger.cc b/examples/extended/analysis/N03Con/src/DetectorMessenger.cc similarity index 85% rename from examples/extended/analysis/N03Con/src/ExN03DetectorMessenger.cc rename to examples/extended/analysis/N03Con/src/DetectorMessenger.cc index e88e2d36ab..1a221f391a 100644 --- a/examples/extended/analysis/N03Con/src/ExN03DetectorMessenger.cc +++ b/examples/extended/analysis/N03Con/src/DetectorMessenger.cc @@ -24,17 +24,17 @@ // ******************************************************************** // // -// $Id: ExN03DetectorMessenger.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorMessenger.cc,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03DetectorMessenger.hh" +#include "DetectorMessenger.hh" -#include "ExN03DetectorConstruction.hh" +#include "DetectorConstruction.hh" #include "G4UIdirectory.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" @@ -43,9 +43,9 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03DetectorMessenger::ExN03DetectorMessenger( - ExN03DetectorConstruction* ExN03Det) -:ExN03Detector(ExN03Det) +DetectorMessenger::DetectorMessenger( + DetectorConstruction* Det) +:Detector(Det) { N03Dir = new G4UIdirectory("/N03/"); N03Dir->SetGuidance("UI commands of this example"); @@ -106,7 +106,7 @@ ExN03DetectorMessenger::ExN03DetectorMessenger( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03DetectorMessenger::~ExN03DetectorMessenger() +DetectorMessenger::~DetectorMessenger() { delete NbLayersCmd; delete AbsMaterCmd; delete GapMaterCmd; @@ -119,32 +119,32 @@ ExN03DetectorMessenger::~ExN03DetectorMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) { if( command == AbsMaterCmd ) - { ExN03Detector->SetAbsorberMaterial(newValue);} + { Detector->SetAbsorberMaterial(newValue);} if( command == GapMaterCmd ) - { ExN03Detector->SetGapMaterial(newValue);} + { Detector->SetGapMaterial(newValue);} if( command == AbsThickCmd ) - { ExN03Detector->SetAbsorberThickness(AbsThickCmd + { Detector->SetAbsorberThickness(AbsThickCmd ->GetNewDoubleValue(newValue));} if( command == GapThickCmd ) - { ExN03Detector->SetGapThickness(GapThickCmd->GetNewDoubleValue(newValue));} + { Detector->SetGapThickness(GapThickCmd->GetNewDoubleValue(newValue));} if( command == SizeYZCmd ) - { ExN03Detector->SetCalorSizeYZ(SizeYZCmd->GetNewDoubleValue(newValue));} + { Detector->SetCalorSizeYZ(SizeYZCmd->GetNewDoubleValue(newValue));} if( command == NbLayersCmd ) - { ExN03Detector->SetNbOfLayers(NbLayersCmd->GetNewIntValue(newValue));} + { Detector->SetNbOfLayers(NbLayersCmd->GetNewIntValue(newValue));} if( command == UpdateCmd ) - { ExN03Detector->UpdateGeometry(); } + { Detector->UpdateGeometry(); } if( command == MagFieldCmd ) - { ExN03Detector->SetMagField(MagFieldCmd->GetNewDoubleValue(newValue));} + { Detector->SetMagField(MagFieldCmd->GetNewDoubleValue(newValue));} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/src/ExN03EventAction.cc b/examples/extended/analysis/N03Con/src/EventAction.cc similarity index 86% rename from examples/novice/N03/src/ExN03EventAction.cc rename to examples/extended/analysis/N03Con/src/EventAction.cc index 99d48cc453..dbe60e3283 100644 --- a/examples/novice/N03/src/ExN03EventAction.cc +++ b/examples/extended/analysis/N03Con/src/EventAction.cc @@ -24,23 +24,20 @@ // ******************************************************************** // // -// $Id: ExN03EventAction.cc,v 1.29 2008/01/17 17:31:32 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03EventAction.hh" +#include "EventAction.hh" -#include "ExN03RunAction.hh" -#include "ExN03EventActionMessenger.hh" +#include "RunAction.hh" +#include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4VTrajectory.hh" -#include "G4VVisManager.hh" #include "G4UnitsTable.hh" #include "Randomize.hh" @@ -48,22 +45,22 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03EventAction::ExN03EventAction(ExN03RunAction* run) +EventAction::EventAction(RunAction* run) :runAct(run),printModulo(1),eventMessenger(0) { - eventMessenger = new ExN03EventActionMessenger(this); + eventMessenger = new EventActionMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03EventAction::~ExN03EventAction() +EventAction::~EventAction() { delete eventMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03EventAction::BeginOfEventAction(const G4Event* evt) +void EventAction::BeginOfEventAction(const G4Event* evt) { G4int evtNb = evt->GetEventID(); if (evtNb%printModulo == 0) { @@ -78,7 +75,7 @@ void ExN03EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event* evt) { //accumulates statistic // diff --git a/examples/extended/analysis/N03Con/src/ExN03EventActionMessenger.cc b/examples/extended/analysis/N03Con/src/EventActionMessenger.cc similarity index 88% rename from examples/extended/analysis/N03Con/src/ExN03EventActionMessenger.cc rename to examples/extended/analysis/N03Con/src/EventActionMessenger.cc index cd53ed707d..cbf6e373de 100644 --- a/examples/extended/analysis/N03Con/src/ExN03EventActionMessenger.cc +++ b/examples/extended/analysis/N03Con/src/EventActionMessenger.cc @@ -24,24 +24,24 @@ // ******************************************************************** // // -// $Id: ExN03EventActionMessenger.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventActionMessenger.cc,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03EventActionMessenger.hh" +#include "EventActionMessenger.hh" -#include "ExN03EventAction.hh" +#include "EventAction.hh" #include "G4UIdirectory.hh" #include "G4UIcmdWithAnInteger.hh" #include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct) +EventActionMessenger::EventActionMessenger(EventAction* EvAct) :eventAction(EvAct) { eventDir = new G4UIdirectory("/N03/event/"); @@ -55,7 +55,7 @@ ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03EventActionMessenger::~ExN03EventActionMessenger() +EventActionMessenger::~EventActionMessenger() { delete PrintCmd; delete eventDir; @@ -63,7 +63,7 @@ ExN03EventActionMessenger::~ExN03EventActionMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03EventActionMessenger::SetNewValue( +void EventActionMessenger::SetNewValue( G4UIcommand* command,G4String newValue) { if(command == PrintCmd) diff --git a/examples/novice/N03/src/ExN03PhysicsList.cc b/examples/extended/analysis/N03Con/src/PhysicsList.cc similarity index 76% rename from examples/novice/N03/src/ExN03PhysicsList.cc rename to examples/extended/analysis/N03Con/src/PhysicsList.cc index 76b69d488b..3f00297284 100644 --- a/examples/novice/N03/src/ExN03PhysicsList.cc +++ b/examples/extended/analysis/N03Con/src/PhysicsList.cc @@ -24,22 +24,28 @@ // ******************************************************************** // // -// $Id: ExN03PhysicsList.cc,v 1.26 2009/11/15 14:48:40 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03PhysicsList.hh" +#include "PhysicsList.hh" #include "G4ProcessManager.hh" -#include "G4ParticleTypes.hh" + +#include "G4BosonConstructor.hh" +#include "G4LeptonConstructor.hh" +#include "G4MesonConstructor.hh" +#include "G4BosonConstructor.hh" +#include "G4BaryonConstructor.hh" +#include "G4IonConstructor.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PhysicsList::ExN03PhysicsList(): G4VUserPhysicsList() +PhysicsList::PhysicsList(): G4VUserPhysicsList() { defaultCutValue = 1.0*mm; SetVerboseLevel(1); @@ -47,88 +53,37 @@ ExN03PhysicsList::ExN03PhysicsList(): G4VUserPhysicsList() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PhysicsList::~ExN03PhysicsList() +PhysicsList::~PhysicsList() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PhysicsList::ConstructParticle() +void PhysicsList::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(); - ConstructMesons(); - ConstructBaryons(); + G4BosonConstructor pBosonConstructor; + pBosonConstructor.ConstructParticle(); + + G4LeptonConstructor pLeptonConstructor; + pLeptonConstructor.ConstructParticle(); + + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); + + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); + + G4IonConstructor pIonConstructor; + pIonConstructor.ConstructParticle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PhysicsList::ConstructBosons() -{ - // pseudo-particles - G4Geantino::GeantinoDefinition(); - G4ChargedGeantino::ChargedGeantinoDefinition(); - - // gamma - G4Gamma::GammaDefinition(); - - // optical photon - G4OpticalPhoton::OpticalPhotonDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void ExN03PhysicsList::ConstructLeptons() -{ - // leptons - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); - G4MuonPlus::MuonPlusDefinition(); - G4MuonMinus::MuonMinusDefinition(); - - G4NeutrinoE::NeutrinoEDefinition(); - G4AntiNeutrinoE::AntiNeutrinoEDefinition(); - G4NeutrinoMu::NeutrinoMuDefinition(); - G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void ExN03PhysicsList::ConstructMesons() -{ - // mesons - G4PionPlus::PionPlusDefinition(); - G4PionMinus::PionMinusDefinition(); - G4PionZero::PionZeroDefinition(); - G4Eta::EtaDefinition(); - G4EtaPrime::EtaPrimeDefinition(); - G4KaonPlus::KaonPlusDefinition(); - G4KaonMinus::KaonMinusDefinition(); - G4KaonZero::KaonZeroDefinition(); - G4AntiKaonZero::AntiKaonZeroDefinition(); - G4KaonZeroLong::KaonZeroLongDefinition(); - G4KaonZeroShort::KaonZeroShortDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void ExN03PhysicsList::ConstructBaryons() -{ - // barions - G4Proton::ProtonDefinition(); - G4AntiProton::AntiProtonDefinition(); - G4Neutron::NeutronDefinition(); - G4AntiNeutron::AntiNeutronDefinition(); -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void ExN03PhysicsList::ConstructProcess() +void PhysicsList::ConstructProcess() { AddTransportation(); ConstructEM(); @@ -160,7 +115,7 @@ void ExN03PhysicsList::ConstructProcess() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PhysicsList::ConstructEM() +void PhysicsList::ConstructEM() { theParticleIterator->reset(); while( (*theParticleIterator)() ){ @@ -229,7 +184,7 @@ void ExN03PhysicsList::ConstructEM() #include "G4Decay.hh" -void ExN03PhysicsList::ConstructDecay() +void PhysicsList::ConstructDecay() { // Add Decay Process G4Decay* theDecayProcess = new G4Decay(); @@ -248,10 +203,10 @@ void ExN03PhysicsList::ConstructDecay() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PhysicsList::SetCuts() +void PhysicsList::SetCuts() { if (verboseLevel >0){ - G4cout << "ExN03PhysicsList::SetCuts:"; + G4cout << "PhysicsList::SetCuts:"; G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; } diff --git a/examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorAction.cc b/examples/extended/analysis/N03Con/src/PrimaryGeneratorAction.cc similarity index 78% rename from examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorAction.cc rename to examples/extended/analysis/N03Con/src/PrimaryGeneratorAction.cc index 89a0f6a4fb..676bd22029 100644 --- a/examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorAction.cc +++ b/examples/extended/analysis/N03Con/src/PrimaryGeneratorAction.cc @@ -24,18 +24,18 @@ // ******************************************************************** // // -// $Id: ExN03PrimaryGeneratorAction.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PrimaryGeneratorAction.cc,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03PrimaryGeneratorAction.hh" +#include "PrimaryGeneratorAction.hh" -#include "ExN03DetectorConstruction.hh" -#include "ExN03PrimaryGeneratorMessenger.hh" +#include "DetectorConstruction.hh" +#include "PrimaryGeneratorMessenger.hh" #include "G4Event.hh" #include "G4ParticleGun.hh" @@ -45,15 +45,15 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PrimaryGeneratorAction::ExN03PrimaryGeneratorAction( - ExN03DetectorConstruction* ExN03DC) -:ExN03Detector(ExN03DC),rndmFlag("off") +PrimaryGeneratorAction::PrimaryGeneratorAction( + DetectorConstruction* DC) +:Detector(DC),rndmFlag("off") { G4int n_particle = 1; particleGun = new G4ParticleGun(n_particle); //create a messenger for this class - gunMessenger = new ExN03PrimaryGeneratorMessenger(this); + gunMessenger = new PrimaryGeneratorMessenger(this); // default particle kinematic @@ -64,14 +64,14 @@ ExN03PrimaryGeneratorAction::ExN03PrimaryGeneratorAction( particleGun->SetParticleDefinition(particle); particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); particleGun->SetParticleEnergy(50.*MeV); - G4double position = -0.5*(ExN03Detector->GetWorldSizeX()); + G4double position = -0.5*(Detector->GetWorldSizeX()); particleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PrimaryGeneratorAction::~ExN03PrimaryGeneratorAction() +PrimaryGeneratorAction::~PrimaryGeneratorAction() { delete particleGun; delete gunMessenger; @@ -79,15 +79,15 @@ ExN03PrimaryGeneratorAction::~ExN03PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { //this function is called at the begining of event // - G4double x0 = -0.5*(ExN03Detector->GetWorldSizeX()); + G4double x0 = -0.5*(Detector->GetWorldSizeX()); G4double y0 = 0.*cm, z0 = 0.*cm; if (rndmFlag == "on") - {y0 = (ExN03Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); - z0 = (ExN03Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); + {y0 = (Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); + z0 = (Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); } particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); diff --git a/examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorMessenger.cc b/examples/extended/analysis/N03Con/src/PrimaryGeneratorMessenger.cc similarity index 84% rename from examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorMessenger.cc rename to examples/extended/analysis/N03Con/src/PrimaryGeneratorMessenger.cc index e260085707..2bd0a6469e 100644 --- a/examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorMessenger.cc +++ b/examples/extended/analysis/N03Con/src/PrimaryGeneratorMessenger.cc @@ -24,25 +24,25 @@ // ******************************************************************** // // -// $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PrimaryGeneratorMessenger.cc,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03PrimaryGeneratorMessenger.hh" +#include "PrimaryGeneratorMessenger.hh" -#include "ExN03PrimaryGeneratorAction.hh" +#include "PrimaryGeneratorAction.hh" #include "G4UIdirectory.hh" #include "G4UIcmdWithAString.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PrimaryGeneratorMessenger::ExN03PrimaryGeneratorMessenger( - ExN03PrimaryGeneratorAction* ExN03Gun) -:ExN03Action(ExN03Gun) +PrimaryGeneratorMessenger::PrimaryGeneratorMessenger( + PrimaryGeneratorAction* Gun) +:Action(Gun) { gunDir = new G4UIdirectory("/N03/gun/"); gunDir->SetGuidance("PrimaryGenerator control"); @@ -58,7 +58,7 @@ ExN03PrimaryGeneratorMessenger::ExN03PrimaryGeneratorMessenger( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PrimaryGeneratorMessenger::~ExN03PrimaryGeneratorMessenger() +PrimaryGeneratorMessenger::~PrimaryGeneratorMessenger() { delete RndmCmd; delete gunDir; @@ -66,11 +66,11 @@ ExN03PrimaryGeneratorMessenger::~ExN03PrimaryGeneratorMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PrimaryGeneratorMessenger::SetNewValue( +void PrimaryGeneratorMessenger::SetNewValue( G4UIcommand* command, G4String newValue) { if( command == RndmCmd ) - { ExN03Action->SetRndmFlag(newValue);} + { Action->SetRndmFlag(newValue);} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/src/ExN03RunAction.cc b/examples/extended/analysis/N03Con/src/RunAction.cc similarity index 80% rename from examples/extended/analysis/N03Con/src/ExN03RunAction.cc rename to examples/extended/analysis/N03Con/src/RunAction.cc index f0bd1387f9..8b47b4f736 100644 --- a/examples/extended/analysis/N03Con/src/ExN03RunAction.cc +++ b/examples/extended/analysis/N03Con/src/RunAction.cc @@ -24,51 +24,52 @@ // ******************************************************************** // // -// $Id: ExN03RunAction.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.cc,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03RunAction.hh" +#include "RunAction.hh" #include "G4Run.hh" #include "G4RunManager.hh" +#include "G4ConvergenceTester.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03RunAction::ExN03RunAction() +RunAction::RunAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03RunAction::~ExN03RunAction() +RunAction::~RunAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03RunAction::BeginOfRunAction(const G4Run* aRun) +void RunAction::BeginOfRunAction(const G4Run* aRun) { G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; //inform the runManager to save random number seed - //G4RunManager::GetRunManager()->SetRandomNumberStore(true); - + G4RunManager::GetRunManager()->SetRandomNumberStore(false); + //initialize cumulative quantities // sumEAbs = sum2EAbs =sumEGap = sum2EGap = 0.; - sumLAbs = sum2LAbs =sumLGap = sum2LGap = 0.; + sumLAbs = sum2LAbs =sumLGap = sum2LGap = 0.; - Eabs_tally = new G4ConvergenceTester(); - Egap_tally = new G4ConvergenceTester(); - Labs_tally = new G4ConvergenceTester(); - Lgap_tally = new G4ConvergenceTester(); + Eabs_tally = new G4ConvergenceTester(); + Egap_tally = new G4ConvergenceTester(); + Labs_tally = new G4ConvergenceTester(); + Lgap_tally = new G4ConvergenceTester(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03RunAction::fillPerEvent(G4double EAbs, G4double EGap, +void RunAction::fillPerEvent(G4double EAbs, G4double EGap, G4double LAbs, G4double LGap) { //accumulate statistic @@ -77,17 +78,17 @@ void ExN03RunAction::fillPerEvent(G4double EAbs, G4double EGap, sumEGap += EGap; sum2EGap += EGap*EGap; sumLAbs += LAbs; sum2LAbs += LAbs*LAbs; - sumLGap += LGap; sum2LGap += LGap*LGap; + sumLGap += LGap; sum2LGap += LGap*LGap; - Eabs_tally->AddScore( EAbs ); - Egap_tally->AddScore( EGap ); - Labs_tally->AddScore( LAbs ); - Lgap_tally->AddScore( LGap ); + Eabs_tally->AddScore( EAbs ); + Egap_tally->AddScore( EGap ); + Labs_tally->AddScore( LAbs ); + Lgap_tally->AddScore( LGap ); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03RunAction::EndOfRunAction(const G4Run* aRun) +void RunAction::EndOfRunAction(const G4Run* aRun) { G4int NbOfEvents = aRun->GetNumberOfEvent(); if (NbOfEvents == 0) return; @@ -126,18 +127,17 @@ void ExN03RunAction::EndOfRunAction(const G4Run* aRun) << "\n mean trackLength in Gap : " << G4BestUnit(sumLGap,"Length") << " +- " << G4BestUnit(rmsLGap,"Length") << "\n------------------------------------------------------------\n" - << G4endl; + << G4endl; - Eabs_tally->ShowResult(); - Eabs_tally->ShowHistory(); - Egap_tally->ShowResult(); - Egap_tally->ShowHistory(); - - Labs_tally->ShowResult(); - Labs_tally->ShowHistory(); - Lgap_tally->ShowResult(); - Lgap_tally->ShowHistory(); + Eabs_tally->ShowResult(); + Eabs_tally->ShowHistory(); + Egap_tally->ShowResult(); + Egap_tally->ShowHistory(); + Labs_tally->ShowResult(); + Labs_tally->ShowHistory(); + Lgap_tally->ShowResult(); + Lgap_tally->ShowHistory(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/src/ExN03SteppingAction.cc b/examples/extended/analysis/N03Con/src/SteppingAction.cc similarity index 86% rename from examples/extended/analysis/N03Con/src/ExN03SteppingAction.cc rename to examples/extended/analysis/N03Con/src/SteppingAction.cc index 43a940ea1f..db828b319d 100644 --- a/examples/extended/analysis/N03Con/src/ExN03SteppingAction.cc +++ b/examples/extended/analysis/N03Con/src/SteppingAction.cc @@ -24,18 +24,18 @@ // ******************************************************************** // // -// $Id: ExN03SteppingAction.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingAction.cc,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03SteppingAction.hh" +#include "SteppingAction.hh" -#include "ExN03DetectorConstruction.hh" -#include "ExN03EventAction.hh" +#include "DetectorConstruction.hh" +#include "EventAction.hh" #include "G4Step.hh" @@ -43,19 +43,19 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03SteppingAction::ExN03SteppingAction(ExN03DetectorConstruction* det, - ExN03EventAction* evt) +SteppingAction::SteppingAction(DetectorConstruction* det, + EventAction* evt) :detector(det), eventaction(evt) { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03SteppingAction::~ExN03SteppingAction() +SteppingAction::~SteppingAction() { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03SteppingAction::UserSteppingAction(const G4Step* aStep) +void SteppingAction::UserSteppingAction(const G4Step* aStep) { // get volume of the current step G4VPhysicalVolume* volume diff --git a/examples/extended/analysis/N03Con/src/ExN03SteppingVerbose.cc b/examples/extended/analysis/N03Con/src/SteppingVerbose.cc similarity index 95% rename from examples/extended/analysis/N03Con/src/ExN03SteppingVerbose.cc rename to examples/extended/analysis/N03Con/src/SteppingVerbose.cc index 94ba844e3d..586a26110b 100644 --- a/examples/extended/analysis/N03Con/src/ExN03SteppingVerbose.cc +++ b/examples/extended/analysis/N03Con/src/SteppingVerbose.cc @@ -24,30 +24,30 @@ // ******************************************************************** // // -// $Id: ExN03SteppingVerbose.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingVerbose.cc,v 1.1 2010/11/12 19:16:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03SteppingVerbose.hh" +#include "SteppingVerbose.hh" #include "G4SteppingManager.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03SteppingVerbose::ExN03SteppingVerbose() +SteppingVerbose::SteppingVerbose() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03SteppingVerbose::~ExN03SteppingVerbose() +SteppingVerbose::~SteppingVerbose() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03SteppingVerbose::StepInfo() +void SteppingVerbose::StepInfo() { CopyState(); @@ -141,7 +141,7 @@ void ExN03SteppingVerbose::StepInfo() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03SteppingVerbose::TrackingStarted() +void SteppingVerbose::TrackingStarted() { CopyState(); diff --git a/examples/extended/analysis/N03Con/vis.mac b/examples/extended/analysis/N03Con/vis.mac new file mode 100644 index 0000000000..b2a23560eb --- /dev/null +++ b/examples/extended/analysis/N03Con/vis.mac @@ -0,0 +1,76 @@ +# Macro file for the initialization phase of "exampleN03.cc" +# when running in interactive mode +# +# Sets some default verbose +# +/control/verbose 2 +/run/verbose 2 +# +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/analysis/README b/examples/extended/analysis/README new file mode 100644 index 0000000000..786c32778d --- /dev/null +++ b/examples/extended/analysis/README @@ -0,0 +1,22 @@ + + Geant4 extended examples - analysis + ----------------------------------- + + Examples in this directory demonstrate how to make histograms and ntuples + +AnaEx01 +-------- + + Simple example showing basic features common to all AIDA implementations. + +A01 +--- + + Rather complete example dedicaced to Jaida/Jas3 and HepRep + +N03Con +------ + + N03Con shows how to use the statistical tool G4ConvergenceTester. + It does not make histograms. + It has the same geometry as N03 and AnaEx01. diff --git a/examples/extended/biasing/B01/GNUmakefile b/examples/extended/biasing/B01/GNUmakefile index 2275b5a810..3b6e217a89 100644 --- a/examples/extended/biasing/B01/GNUmakefile +++ b/examples/extended/biasing/B01/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.7 2002/11/07 13:47:59 dressel Exp $ +# $Id: GNUmakefile,v 1.8 2010/01/11 16:24:22 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,13 +8,10 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../../../.. endif .PHONY: all all: lib bin - -CPPFLAGS += - include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/extended/biasing/B01/History b/examples/extended/biasing/B01/History index 2d2fea3f3f..dc4dbc9498 100644 --- a/examples/extended/biasing/B01/History +++ b/examples/extended/biasing/B01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.2 2007/06/22 13:24:36 ahoward Exp $ +$Id: History,v 1.3 2010/03/24 21:04:23 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,9 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Mar 25th, 2010 G.Cosmo - B01-V09-03-00 +- Migrated physics list to use particle-based multiple-scattering processes. + June 22nd, 2007 A.Howard - B01-V08-03-01 - Removed B01PSScoringDetectorConstruction as part of clean-up. diff --git a/examples/extended/biasing/B01/exampleB01.out b/examples/extended/biasing/B01/exampleB01.out index 63bd1dc6b0..c3d2a5b0c5 100644 --- a/examples/extended/biasing/B01/exampleB01.out +++ b/examples/extended/biasing/B01/exampleB01.out @@ -4,246 +4,12 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* - -!!! 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 !!! - B01PhysicsList::SetCuts:CutLength : 1 (mm) Going to assign importance: 1, to volume: cell_01 Going to assign importance: 2, to volume: cell_02 @@ -327,176 +93,176 @@ DoIt Vector: 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 +muMsc: 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV ============================================================================================ HADRONIC PROCESSES SUMMARY (verbose level 1) @@ -562,26 +328,26 @@ hIoni: for pi- SubType= 2 Number of event processed : 100 ============================================================= Volume | Tr.Entering | Population | Collisions | Coll*WGT | NumWGTedE | FluxWGTedE | Av.Tr.WGT | SL | SLW | SLW_v | SLWE | SLWE_v | - cell_00 | 13 | 113 | 0 | 0 | 5.61232 | 7.4371885 | 1 | 2916.5495 | 2916.5495 | 99.426314 | 21690.928 | 558.01229 | - cell_01 | 108 | 132 | 136 | 136 | 7.0757781 | 8.6292831 | 1 | 11502.96 | 11502.96 | 339.48587 | 99262.301 | 2402.1267 | - cell_02 | 71 | 166 | 190 | 95 | 7.6018819 | 8.5492627 | 0.5 | 15695.343 | 7847.6713 | 215.9572 | 67091.804 | 1641.6811 | - cell_03 | 81 | 175 | 224 | 56 | 6.5054625 | 7.7824432 | 0.25 | 17460.464 | 4365.1159 | 132.02292 | 33971.267 | 858.87014 | - cell_04 | 89 | 205 | 215 | 26.875 | 6.6073208 | 7.8888608 | 0.125 | 20939.742 | 2617.4677 | 78.9244 | 20648.839 | 521.47883 | - cell_05 | 109 | 241 | 313 | 19.5625 | 5.7494783 | 7.6812676 | 0.0625 | 25441.48 | 1590.0925 | 53.857143 | 12213.926 | 309.65047 | - cell_06 | 140 | 301 | 407 | 12.71875 | 5.4403433 | 7.4495959 | 0.03125 | 31598.471 | 987.45221 | 34.66688 | 7356.1199 | 188.59973 | - cell_07 | 151 | 347 | 498 | 7.78125 | 0.088116031 | 7.1492903 | 0.015625 | 36382.686 | 568.47947 | 1208.7925 | 4064.2247 | 106.51399 | - cell_08 | 155 | 361 | 531 | 4.1484375 | 1.4680023 | 6.7995311 | 0.0078125 | 38716.694 | 302.47417 | 37.475934 | 2056.6825 | 55.014755 | - cell_09 | 179 | 424 | 677 | 2.6445312 | 4.5133063 | 6.2518413 | 0.00390625 | 45265.981 | 176.82024 | 6.7640535 | 1105.4521 | 30.528245 | - cell_10 | 202 | 455 | 753 | 1.4707031 | 3.8733446 | 5.8949275 | 0.001953125 | 48997.89 | 95.699004 | 4.0969015 | 564.13869 | 15.868711 | - cell_11 | 231 | 535 | 856 | 0.8359375 | 3.6383551 | 5.7422032 | 0.0009765625 | 54743.91 | 53.460849 | 2.4056525 | 306.98306 | 8.752618 | - cell_12 | 280 | 581 | 1124 | 0.54882812 | 3.4327816 | 5.3593515 | 0.00048828125 | 69300.808 | 33.838285 | 1.5475193 | 181.35126 | 5.312296 | - cell_13 | 322 | 679 | 1269 | 0.30981445 | 3.2951856 | 5.1867546 | 0.00024414062 | 76063.426 | 18.570172 | 0.86847764 | 96.318927 | 2.861795 | - cell_14 | 341 | 721 | 1388 | 0.16943359 | 0.11698079 | 5.0065733 | 0.00012207031 | 84149.054 | 10.272101 | 13.259503 | 51.428028 | 1.551107 | - cell_15 | 381 | 818 | 1645 | 0.10040283 | 2.8460701 | 4.7402406 | 6.1035156e-05 | 94156.643 | 5.7468654 | 0.29552248 | 27.241525 | 0.84107769 | - cell_16 | 432 | 949 | 1887 | 0.05758667 | 2.6077252 | 4.6240132 | 3.0517578e-05 | 110208.38 | 3.3632929 | 0.18522521 | 15.551911 | 0.48301645 | - cell_17 | 450 | 994 | 2040 | 0.03112793 | 0.081788968 | 4.4480586 | 1.5258789e-05 | 113451.07 | 1.731126 | 2.9660188 | 7.7001498 | 0.24258762 | - cell_18 | 452 | 1048 | 2101 | 0.016029358 | 2.1453345 | 4.3717818 | 7.6293945e-06 | 114883.29 | 0.87648992 | 0.056295804 | 3.8318227 | 0.12077333 | - cell_19 | 523 | 523 | 0 | 0 | 1.9486462 | 4.2943207 | 7.6293945e-06 | 73499.256 | 0.56075482 | 0.038803644 | 2.408061 | 0.075614574 | + cell_00 | 12 | 110 | 0 | 0 | 3.54549 | 6.36644 | 1 | 2208.05 | 2208.05 | 107.407 | 14057.4 | 380.81 | + cell_01 | 111 | 131 | 147 | 147 | 5.29309 | 8.51705 | 1 | 11932.1 | 11932.1 | 463.061 | 101627 | 2451.02 | + cell_02 | 84 | 183 | 219 | 109.5 | 4.90694 | 7.93625 | 0.5 | 19027.8 | 9513.92 | 383.872 | 75504.9 | 1883.64 | + cell_03 | 96 | 232 | 265 | 66.25 | 6.39056 | 8.15035 | 0.25 | 22586.5 | 5646.63 | 179.815 | 46022 | 1149.12 | + cell_04 | 99 | 244 | 282 | 35.25 | 6.53407 | 8.25011 | 0.125 | 23554.3 | 2944.28 | 91.9055 | 24290.7 | 600.517 | + cell_05 | 119 | 275 | 349 | 21.8125 | 6.5135 | 8.08306 | 0.0625 | 26898.6 | 1681.16 | 52.1252 | 13588.9 | 339.517 | + cell_06 | 122 | 283 | 356 | 11.125 | 0.235982 | 7.78554 | 0.03125 | 30507.2 | 953.35 | 798.724 | 7422.35 | 188.485 | + cell_07 | 155 | 340 | 465 | 7.26562 | 5.7888 | 7.61331 | 0.015625 | 36772.9 | 574.577 | 19.3048 | 4374.44 | 111.752 | + cell_08 | 170 | 392 | 500 | 3.90625 | 5.76393 | 7.42877 | 0.0078125 | 40461 | 316.102 | 10.5324 | 2348.25 | 60.7078 | + cell_09 | 199 | 457 | 613 | 2.39453 | 5.06434 | 7.00493 | 0.00390625 | 47339.6 | 184.92 | 6.77585 | 1295.35 | 34.3152 | + cell_10 | 223 | 526 | 802 | 1.56641 | 0.513888 | 6.72099 | 0.00195312 | 56401.6 | 110.159 | 38.8938 | 740.381 | 19.9871 | + cell_11 | 230 | 530 | 762 | 0.744141 | 0.172789 | 6.47699 | 0.000976562 | 57321.5 | 55.9781 | 57.8205 | 362.57 | 9.99072 | + cell_12 | 266 | 610 | 923 | 0.450684 | 0.0398895 | 6.22794 | 0.000488281 | 64311.2 | 31.402 | 136.841 | 195.569 | 5.45852 | + cell_13 | 292 | 642 | 968 | 0.236328 | 0.377494 | 5.99031 | 0.000244141 | 74736.8 | 18.2463 | 8.25734 | 109.301 | 3.11709 | + cell_14 | 347 | 785 | 1287 | 0.157104 | 3.52879 | 5.72765 | 0.00012207 | 90154.8 | 11.0052 | 0.51839 | 63.034 | 1.82929 | + cell_15 | 403 | 913 | 1496 | 0.0913086 | 1.15807 | 5.53113 | 6.10352e-05 | 100279 | 6.12053 | 0.86102 | 33.8535 | 0.997118 | + cell_16 | 437 | 989 | 1647 | 0.0502625 | 3.53675 | 5.21223 | 3.05176e-05 | 112886 | 3.44501 | 0.152412 | 17.9562 | 0.539044 | + cell_17 | 501 | 1156 | 2048 | 0.03125 | 0.0872948 | 4.83994 | 1.52588e-05 | 125682 | 1.91775 | 3.28663 | 9.28182 | 0.286906 | + cell_18 | 499 | 1190 | 2128 | 0.0162354 | 0.660028 | 4.77121 | 7.62939e-06 | 130905 | 0.998722 | 0.224861 | 4.76512 | 0.148415 | + cell_19 | 537 | 537 | 0 | 0 | 3.20091 | 4.70408 | 7.62939e-06 | 75462.8 | 0.575735 | 0.0264912 | 2.7083 | 0.0847961 | ============================================= === G4ProcessPlacer::RemoveProcess: for: neutron ProcessName: ImportanceProcess, will be removed! diff --git a/examples/extended/biasing/B01/src/B01PhysicsList.cc b/examples/extended/biasing/B01/src/B01PhysicsList.cc index 29fed97927..b20a9cc7e8 100644 --- a/examples/extended/biasing/B01/src/B01PhysicsList.cc +++ b/examples/extended/biasing/B01/src/B01PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: B01PhysicsList.cc,v 1.8 2007/06/05 18:20:09 ahoward Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: B01PhysicsList.cc,v 1.9 2010/03/24 21:04:23 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #include "globals.hh" @@ -131,7 +131,9 @@ void B01PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -161,14 +163,14 @@ void B01PhysicsList::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); @@ -178,20 +180,20 @@ void B01PhysicsList::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); } else if( particleName == "GenericIon" ) { - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + pmanager->AddProcess(new G4hMultipleScattering(),-1,1,1); pmanager->AddProcess(new G4hIonisation(),-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 G4hMultipleScattering(),-1,1,1); pmanager->AddProcess(new G4hIonisation(),-1,2,2); } } diff --git a/examples/extended/biasing/B02/GNUmakefile b/examples/extended/biasing/B02/GNUmakefile index c54dbfc4d3..7d7a6094c0 100644 --- a/examples/extended/biasing/B02/GNUmakefile +++ b/examples/extended/biasing/B02/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.10 2009/03/06 09:49:18 gbarrand Exp $ +# $Id: GNUmakefile,v 1.11 2010/01/11 16:25:08 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -15,7 +15,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/biasing/B02/History b/examples/extended/biasing/B02/History index d29bb37022..a4beeef5af 100644 --- a/examples/extended/biasing/B02/History +++ b/examples/extended/biasing/B02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.9 2009/03/16 09:44:12 gcosmo Exp $ +$Id: History,v 1.10 2010/12/03 14:48:06 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,9 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +30 November 2010 Ivana Hrivnacova - B02-V09-03-00 +- Migrated to use particle-based multiple-scattering. + 6 March 2009 Guy Barrand - B02-V09-02-00 - GNUmakefile: removed logic for setting AIDA with G4ANALYSIS_USE. since it already handled in the internal configuration scripts. diff --git a/examples/extended/biasing/B02/src/B02PhysicsList.cc b/examples/extended/biasing/B02/src/B02PhysicsList.cc index ef6026ec24..e8a16ae7be 100644 --- a/examples/extended/biasing/B02/src/B02PhysicsList.cc +++ b/examples/extended/biasing/B02/src/B02PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: B02PhysicsList.cc,v 1.7 2007/06/22 13:38:55 ahoward Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: B02PhysicsList.cc,v 1.8 2010/11/30 11:41:14 ivana Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "globals.hh" @@ -130,16 +130,17 @@ void B02PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" - +#include "G4eMultipleScattering.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" void B02PhysicsList::ConstructEM() @@ -160,14 +161,14 @@ void B02PhysicsList::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); @@ -177,20 +178,20 @@ void B02PhysicsList::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); } else if( particleName == "GenericIon" ) { - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + pmanager->AddProcess(new G4hMultipleScattering(),-1,1,1); pmanager->AddProcess(new G4hIonisation(),-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 G4hMultipleScattering(),-1,1,1); pmanager->AddProcess(new G4hIonisation(),-1,2,2); } } diff --git a/examples/extended/biasing/GNUmakefile b/examples/extended/biasing/GNUmakefile index 182268464d..9519f79aa7 100644 --- a/examples/extended/biasing/GNUmakefile +++ b/examples/extended/biasing/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.10 2007/06/13 14:45:49 ahoward Exp $ +# $Id: GNUmakefile,v 1.11 2010/01/11 16:27:16 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 08/04/02. # -------------------------------------------------------------- @@ -9,7 +9,7 @@ endif include $(G4INSTALL)/config/architecture.gmk -SUBDIRS = B01 B02 +SUBDIRS = B01 B02 ReverseMC01 .PHONY : all clean clean_libs diff --git a/examples/extended/biasing/ReverseMC01/GNUmakefile b/examples/extended/biasing/ReverseMC01/GNUmakefile index 7fa1432533..d39fbca6ce 100644 --- a/examples/extended/biasing/ReverseMC01/GNUmakefile +++ b/examples/extended/biasing/ReverseMC01/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2009/11/19 22:41:18 ldesorgh Exp $ +# $Id: GNUmakefile,v 1.2 2010/01/11 16:25:59 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -14,7 +14,4 @@ endif .PHONY: all all: lib bin - -CPPFLAGS += - include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/extended/biasing/ReverseMC01/History b/examples/extended/biasing/ReverseMC01/History index daa2b0cebe..85a57bbe4e 100644 --- a/examples/extended/biasing/ReverseMC01/History +++ b/examples/extended/biasing/ReverseMC01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2009/12/10 13:05:09 ldesorgh Exp $ +$Id: History,v 1.9 2010/11/11 14:39:42 ldesorgh Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,27 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +11-November, 2010 L. Desorgher (ReverseMC01-V09-03-04) +- Add initialisation of thepIonisation in G4AdjointPhysicsList constructor. +- Modify some test on nb_event in RMC01AnalysisManager::ComputeMeanEdepAndError + and inRMC01AnalysisManager::EndOfEvent. +- Correct the density of Si in RMC01DetectorConstruction + and correct the position of the lower Ta plate. + + +21-October-2010, Gunter Folger (ReverseMC01-V09-03-03) +- fix compilation error on ambigous std::sqrt on Windows + +19-October-2010, Gunter Folger (ReverseMC01-V09-03-02) +- src/RMC01AnalysisManager.cc: explicit conversion to G4int, to avoid compiler + warning + +June 4th, 2010 J.Perl (ReverseMC01-V09-03-01) +- Updated vis usage. + +May 12th, 2010 J.Allison (ReverseMC01-V09-03-00) +- Introduced G4Executive. + December 10th, 2009 L.Desorgher (ReverseMC01-V09-02-02) -Update of the README file diff --git a/examples/extended/biasing/ReverseMC01/exampleRMC01.cc b/examples/extended/biasing/ReverseMC01/exampleRMC01.cc index 6d0e13fef3..234613a763 100644 --- a/examples/extended/biasing/ReverseMC01/exampleRMC01.cc +++ b/examples/extended/biasing/ReverseMC01/exampleRMC01.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleRMC01.cc,v 1.1 2009/11/19 22:41:18 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: exampleRMC01.cc,v 1.2 2010/05/12 12:42:51 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // -------------------------------------------------------------- @@ -40,16 +40,6 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" - -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif - -#ifdef G4UI_USE_WIN32 -#include "G4UIWin32.hh" -#endif #include "Randomize.hh" @@ -57,6 +47,9 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif #include "G4AdjointSimManager.hh" #include "RMC01DetectorConstruction.hh" @@ -106,14 +99,6 @@ int main(int argc,char** argv) { theAdjointSimManager->SetAdjointRunAction(theRunAction); theAdjointSimManager->SetAdjointEventAction(new RMC01AdjointEventAction); - G4UIsession* session=0; - - if (argc==1) // Define UI session for interactive mode. - { - session = new G4UIterminal(new G4UItcsh); - - } - #ifdef G4VIS_USE // visualization manager G4VisManager* visManager = new G4VisExecutive; @@ -122,19 +107,21 @@ int main(int argc,char** argv) { #endif // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if (session) // Define UI session for interactive mode. + if (argc!=1) // batch mode { - // G4UIterminal is a (dumb) terminal. - session->SessionStart(); - delete session; - } - else // Batch mode - { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); + } + else + { // interactive mode : define UI session +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; +#endif } // job termination diff --git a/examples/extended/biasing/ReverseMC01/include/VariableLengthPartition.hh b/examples/extended/biasing/ReverseMC01/include/VariableLengthPartition.hh index 5c631c8c9a..3069b92068 100644 --- a/examples/extended/biasing/ReverseMC01/include/VariableLengthPartition.hh +++ b/examples/extended/biasing/ReverseMC01/include/VariableLengthPartition.hh @@ -114,7 +114,7 @@ class VariableLengthPartition side *ep_conv, size_t ep_conv_len); VariableLengthPartition (); ~VariableLengthPartition () {}; - const long get_elem_bin (double *data_point); + long get_elem_bin (double *data_point); double get_bin_position (size_t bin_id); size_t total_bins () {return nbin;} diff --git a/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsList.cc b/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsList.cc index f060922239..61cb0cdbfc 100644 --- a/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsList.cc +++ b/examples/extended/biasing/ReverseMC01/src/G4AdjointPhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointPhysicsList.cc,v 1.2 2009/11/27 14:43:25 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointPhysicsList.cc,v 1.3 2010/11/11 14:39:42 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ////////////////////////////////////////////////////////////// // Class Name: G4AdjointPhysicsList @@ -45,7 +45,7 @@ G4AdjointPhysicsList::G4AdjointPhysicsList(): G4VUserPhysicsList() defaultCutValue = 1.0*mm; SetVerboseLevel(1); theeminusIonisation =0; - + thepIonisation =0; use_eionisation = true; use_pionisation = false; diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManager.cc b/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManager.cc index e44bdf3cbd..efb3b464ab 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManager.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01AnalysisManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RMC01AnalysisManager.cc,v 1.4 2009/12/16 17:54:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: RMC01AnalysisManager.cc,v 1.7 2010/11/11 14:39:42 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ////////////////////////////////////////////////////////////// // Class Name: RMC01AnalysisManager @@ -316,7 +316,7 @@ void RMC01AnalysisManager::EndOfEvent(const G4Event* anEvent) G4double n_adj_evt= nb_event/nb_evt_per_adj_evt; // nb_event/nb_evt_per_adj_evt; if (n_adj_evt*nb_evt_per_adj_evt == nb_event) { - nb_event =n_adj_evt; + nb_event =static_cast(n_adj_evt); factor=1.*G4AdjointSimManager::GetInstance()->GetNbEvtOfLastRun(); } else nb_event=0; @@ -325,7 +325,7 @@ void RMC01AnalysisManager::EndOfEvent(const G4Event* anEvent) - if (nb_event>0 && stop_run_if_precision_reached && precision_to_reach >relative_error) { + if (nb_event>100 && stop_run_if_precision_reached && precision_to_reach >relative_error) { G4cout<Stop(); elapsed_time+=theTimer->GetRealElapsed(); @@ -623,10 +623,10 @@ void RMC01AnalysisManager::ComputeMeanEdepAndError(const G4Event* anEvent,G4doub } //error computation - if (nb_event>0) { + if (nb_event>1) { mean = accumulated_edep/nb_event; G4double mean_x2 =accumulated_edep2/nb_event; - error = factor*std::sqrt(mean_x2-mean*mean)/std::sqrt(nb_event); + error = factor*std::sqrt(mean_x2-mean*mean)/std::sqrt(G4double(nb_event)); mean *=factor; } } diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01DetectorConstruction.cc b/examples/extended/biasing/ReverseMC01/src/RMC01DetectorConstruction.cc index 81eb0c8cee..96b8c77757 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01DetectorConstruction.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01DetectorConstruction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RMC01DetectorConstruction.cc,v 1.1 2009/11/19 22:41:18 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: RMC01DetectorConstruction.cc,v 1.2 2010/11/11 14:39:42 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ////////////////////////////////////////////////////////////// // Class Name: RMC01DetectorConstruction @@ -109,7 +109,7 @@ void RMC01DetectorConstruction::DefineMaterials() // new G4Material("Aluminum", z=13., a=26.98*g/mole, density=2.700*g/cm3); - new G4Material("Silicon", z=14., a=28.09*g/mole, density=2.700*g/cm3); + new G4Material("Silicon", z=14., a=28.09*g/mole, density=2.33*g/cm3); new G4Material("Tantalum", z=73., a=180.9479*g/mole, density=16.654*g/cm3); @@ -251,7 +251,7 @@ G4VPhysicalVolume* RMC01DetectorConstruction::ConstructSimpleGeometry() 0); new G4PVPlacement(0, //no rotation - G4ThreeVector(0.,0.,6.*cm), //at (0,0,0) + G4ThreeVector(0.,0.,-6.*cm), //at (0,0,0) logicPlate, //its logical volume "TantalumPlate2", //its name logicBulkSphere, //its mother volume diff --git a/examples/extended/biasing/ReverseMC01/src/RMC01EventAction.cc b/examples/extended/biasing/ReverseMC01/src/RMC01EventAction.cc index 5726d77d6e..4dec81d0be 100644 --- a/examples/extended/biasing/ReverseMC01/src/RMC01EventAction.cc +++ b/examples/extended/biasing/ReverseMC01/src/RMC01EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RMC01EventAction.cc,v 1.1 2009/11/19 22:41:18 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: RMC01EventAction.cc,v 1.2 2010/06/06 04:22:20 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // ////////////////////////////////////////////////////////////// // Class Name: RMC01EventAction @@ -35,25 +35,6 @@ ////////////////////////////////////////////////////////////// #include "RMC01EventAction.hh" #include "G4Event.hh" -#include "G4PrimaryVertex.hh" -#include "G4PrimaryParticle.hh" -#include "G4TrajectoryContainer.hh" -#include "G4VTrajectory.hh" -#include "G4VVisManager.hh" -#include "G4Polyline.hh" -#include "G4Polymarker.hh" -#include "G4Colour.hh" -#include "G4VisAttributes.hh" -#include "G4Trajectory.hh" -#include "G4TrajectoryPoint.hh" - - - -#include "G4UnitsTable.hh" -#include "G4SDManager.hh" -#include "Randomize.hh" -#include -#include "RMC01SD.hh" #include "RMC01AnalysisManager.hh" RMC01EventAction::RMC01EventAction() {; diff --git a/examples/extended/biasing/ReverseMC01/src/VariableLengthPartition.cc b/examples/extended/biasing/ReverseMC01/src/VariableLengthPartition.cc index 97b27fe06c..31e6e3d90e 100644 --- a/examples/extended/biasing/ReverseMC01/src/VariableLengthPartition.cc +++ b/examples/extended/biasing/ReverseMC01/src/VariableLengthPartition.cc @@ -82,7 +82,7 @@ VariableLengthPartition::VariableLengthPartition () } //////////////////////////////////////////////////////////////////////////////// // -const long VariableLengthPartition::get_elem_bin (double *data_point) +long VariableLengthPartition::get_elem_bin (double *data_point) { // // diff --git a/examples/extended/biasing/ReverseMC01/vis.mac b/examples/extended/biasing/ReverseMC01/vis.mac new file mode 100644 index 0000000000..1f5c99d0eb --- /dev/null +++ b/examples/extended/biasing/ReverseMC01/vis.mac @@ -0,0 +1,126 @@ +#Define some geometrical parameters +############################################### +/RMC01/geometry/SetSensitiveVolumeHeight 1. mm +/RMC01/geometry/SetSensitiveVolumeRadius 1. mm + +/RMC01/geometry/SetShieldingThickness 2. mm + + +# +#Select physics list +############################################### + +#/adjoint_physics/UseProtonIonisation true +/adjoint_physics/UseGammaConversion false +/adjoint_physics/SetEminForAdjointModels 1. keV +/adjoint_physics/SetEmaxForAdjointModels 10. MeV +# +#Initialize geometry and physics +############################################### +/run/initialize + +# +#Set cut +############################################### + +/run/setCut 1.000e-02 mm +/control/verbose 1 + + +# +#Definition of parameters for the Adjoint simulation +################################## + + +#Definition of the external source + +/adjoint/DefineExtSourceOnExtSurfaceOfAVolume Shielding +/adjoint/SetExtSourceEmax 10. MeV + +#Definition of the adjoint source +/adjoint/DefineAdjSourceOnExtSurfaceOfAVolume SensitiveVolume +/adjoint/SetAdjSourceEmin 1. keV +/adjoint/SetAdjSourceEmax 10. MeV + + +#Definition of the primary spectrum to which +#the results of the adjoint/reverse simulation will be normalised + +/RMC01/analysis/SetExponentialSpectrumForAdjointSim e- 1. cm-2 1. 1e-3 10. MeV + +#Definition of the precision in % that the computed energy deposited should reach +#before aborting the run. +/RMC01/analysis/SetExpectedPrecisionOfResults 1. + +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +/vis/viewer/flush + +/run/verbose 1 +/tracking/verbose 0 +/adjoint/start_run 10 diff --git a/examples/extended/electromagnetic/TestEm0/History b/examples/extended/electromagnetic/TestEm0/History index 735e3c33f7..8d0cb24724 100644 --- a/examples/extended/electromagnetic/TestEm0/History +++ b/examples/extended/electromagnetic/TestEm0/History @@ -1,11 +1,11 @@ -$Id: History,v 1.16 2009/11/17 22:48:26 maire Exp $ +$Id: History,v 1.23 2010/11/02 15:00:30 allison Exp $ ------------------------------------------------------------------- ========================================================= Geant4 - an Object-Oriented Toolkit for Simulation in HEP ========================================================= - TestEm1 History file + TestEm0 History file -------------------- This file should be used by the G4 example coordinator to briefly summarize all major modifications introduced in the code and keep @@ -15,6 +15,26 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +02-02-10 ja (testem0-V09-03-05) +- TestEm0.cc : + Removal of #include "G4UIterminal.hh" and #include "G4UItcsh.hh". + +17-05-10 mma (testem0-V09-03-04) +- TestEm0.cc : introduction of G4UIExecutive + +10-05-10 mma (testem0-V09-03-03) +- RunAction - reverse order: ComputeCrossSection, then GetCrossSection + +06-04-10 V.Ivant (testem0-V09-03-02) +- RunAction - printout both GetCrossSection and ComputeCrossSection + +29-03-10 mma (testem0-V09-03-01) +- RunAction - come back to "Get.." methods + +23-03-10 V.Ivant (testem0-V09-03-00) +- new PhysicsLists : emstandard_opt0,1,2,3 +- RunAction - use calculator methods "Compute.." instead of "Get.." + 17-11-09 mma (testem0-V09-02-01) - new PhysicsLists : livermore, penelope remove runManger->Initialize() from TestEm0.cc diff --git a/examples/extended/electromagnetic/TestEm0/TestEm0.cc b/examples/extended/electromagnetic/TestEm0/TestEm0.cc index bb675b2d2d..442755c391 100644 --- a/examples/extended/electromagnetic/TestEm0/TestEm0.cc +++ b/examples/extended/electromagnetic/TestEm0/TestEm0.cc @@ -24,22 +24,24 @@ // ******************************************************************** // // -// $Id: TestEm0.cc,v 1.5 2009/11/17 22:48:26 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: TestEm0.cc,v 1.7 2010/11/02 15:00:31 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "DetectorConstruction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -66,16 +68,12 @@ int main(int argc,char** argv) { else // define UI terminal for interactive mode { - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif } - // job termination // delete runManager; diff --git a/examples/extended/electromagnetic/TestEm0/TestEm0.in b/examples/extended/electromagnetic/TestEm0/TestEm0.in index 639f20a236..db3daa96b4 100644 --- a/examples/extended/electromagnetic/TestEm0/TestEm0.in +++ b/examples/extended/electromagnetic/TestEm0/TestEm0.in @@ -1,11 +1,11 @@ -# $Id: TestEm0.in,v 1.3 2009/11/17 22:48:26 maire Exp $ +# $Id: TestEm0.in,v 1.4 2010/03/23 09:17:42 vnivanch Exp $ # # Macro file for "TestEm0.cc" # /control/verbose 0 /run/verbose 0 # -/testem/phys/addPhysics standard +/testem/phys/addPhysics emstandard_opt0 /run/initialize # /testem/det/setMat Germanium diff --git a/examples/extended/electromagnetic/TestEm0/TestEm0.out b/examples/extended/electromagnetic/TestEm0/TestEm0.out index 7c940271b9..ecc25e193b 100644 --- a/examples/extended/electromagnetic/TestEm0/TestEm0.out +++ b/examples/extended/electromagnetic/TestEm0/TestEm0.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,63 +13,63 @@ ***** Table : Nb of materials = 16 ***** - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: H2liquid density: 70.800 mg/cm3 RadL: 8.923 m Nucl.Int.Length: 4.960 m Imean: 21.800 eV + Material: H2liquid density: 70.800 mg/cm3 RadL: 8.923 m Nucl.Int.Length: 4.993 m Imean: 19.200 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.537 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: WaterSteam density: 1.000 mg/cm3 RadL: 360.924 m Nucl.Int.Length: 754.163 m Imean: 71.600 eV temperature: 273.15 K pressure: 1.00 atm + Material: WaterSteam density: 1.000 mg/cm3 RadL: 360.924 m Nucl.Int.Length: 755.365 m Imean: 71.600 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.806 cm Imean: 469.142 eV + Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.788 cm Imean: 473.785 eV ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 15.41 % ElmAbundance 63.16 % ---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole ElmMassFraction: 17.48 % ElmAbundance 15.79 % ---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole ElmMassFraction: 67.10 % ElmAbundance 21.05 % - Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.860 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.663 cm Imean: 173.600 eV + Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.761 cm Imean: 173.000 eV ---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.078 cm Imean: 187.200 eV + Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.006 cm Imean: 188.000 eV ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV + Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.969 cm Imean: 286.000 eV ---> Element: Iron ( ) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Copper density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.588 cm Imean: 321.900 eV + Material: Copper density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.515 cm Imean: 322.000 eV ---> Element: Copper ( ) Z = 29.0 N = 63.5 A = 63.55 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.431 cm Imean: 332.800 eV + Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.333 cm Imean: 350.000 eV ---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Silver density: 10.500 g/cm3 RadL: 8.543 mm Nucl.Int.Length: 15.868 cm Imean: 470.000 eV + Material: Silver density: 10.500 g/cm3 RadL: 8.543 mm Nucl.Int.Length: 15.855 cm Imean: 470.000 eV ---> Element: Silver ( ) Z = 47.0 N = 107.9 A = 107.87 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.312 cm Imean: 725.200 eV + Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.306 cm Imean: 727.000 eV ---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV + Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.258 cm Imean: 823.000 eV ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.446 cm Imean: 892.400 eV + Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.447 cm Imean: 890.000 eV ---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: ams density: 7.409 g/cm3 RadL: 8.996 mm Nucl.Int.Length: 25.517 cm Imean: 688.154 eV + Material: ams density: 7.409 g/cm3 RadL: 8.996 mm Nucl.Int.Length: 25.536 cm Imean: 691.183 eV ---> Element: Lead (Pb) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 94.81 % ElmAbundance 36.54 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 4.79 % ElmAbundance 31.84 % ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 0.40 % ElmAbundance 31.62 % -PhysicsList::AddPhysicsList: +PhysicsList::AddPhysicsList: ========= Table of registered couples ============================== @@ -87,14 +87,15 @@ Index : 0 used in the geometry : Yes recalculation needed : No processes : phot compt conv total - cross section per atom : 1.71686 barn 11.0976 barn 0 pbarn 12.8145 barn + cross section per atom : 1.71686 barn 11.0976 barn 0 pbarn 12.8145 barn - cross section per volume : 0.075796 cm^-1 0.489937 cm^-1 0 cm^-1 0.565733 cm^-1 - cross section per mass : 0.0142393 cm2/g 0.0920415 cm2/g 0 cm2/g 0.106281 cm2/g + compCrossSectionPerVolume : 0.075796 cm^-1 0.489937 cm^-1 0 cm^-1 0.565733 cm^-1 + cross section per volume : 0 cm^-1 0.489922 cm^-1 0 cm^-1 0.489922 cm^-1 + cross section per mass : 0 cm2/g 0.0920387 cm2/g 0 cm2/g 0.0920387 cm2/g - mean free path : 13.1933 cm 2.04108 cm 5.82593e+288 pc 1.76762 cm - (g/cm2) : 70.228 g/cm2 10.8647 g/cm2 2.88022e+285 kg/cm2 9.40904 g/cm2 + mean free path : 5.82593e+288 pc 2.04114 cm 5.82593e+288 pc 2.04114 cm + (g/cm2) : 2.88022e+285 kg/cm2 10.865 g/cm2 2.88022e+285 kg/cm2 10.865 g/cm2 ------------------------------------------------------------- @@ -104,24 +105,25 @@ Index : 0 used in the geometry : Yes recalculation needed : No Range cuts : gamma 100 um e- 100 um Energy cuts : gamma 1.11344 keV e- 85.1138 keV - Max_energy _transferable : 10 MeV (4.9049 cm ) + Max_energy _transferable : 10 MeV (4.90425 cm ) processes : eIoni eBrem total - cross section per volume : 0.994761 cm^-1 0.343859 cm^-1 1.33862 cm^-1 - cross section per mass : 0.994761 cm2/g 0.343859 cm2/g 1.33862 cm2/g + compCrossSectionPerVolume : 0.994761 cm^-1 0.342573 cm^-1 1.33733 cm^-1 + cross section per volume : 0.994761 cm^-1 0.342573 cm^-1 1.33733 cm^-1 + cross section per mass : 0.994761 cm2/g 0.342573 cm2/g 1.33733 cm2/g - mean free path : 1.00527 cm 2.90817 cm 7.47038 mm - (g/cm2) : 1.00527 g/cm2 2.90817 g/cm2 747.038 mg/cm2 + mean free path : 1.00527 cm 2.91908 cm 7.47756 mm + (g/cm2) : 1.00527 g/cm2 2.91908 g/cm2 747.756 mg/cm2 restricted dE/dx : 1.61536 MeV/cm 12.5324 eV/cm 1.61538 MeV/cm (MeV/g/cm2) : 1.61536 MeV*cm2/g 12.5324 eV*cm2/g 1.61538 MeV*cm2/g - range from restrict dE/dx: 6.05854 cm ( 6.05854 g/cm2 ) - range from full dE/dx : 4.9049 cm ( 4.9049 g/cm2 ) + range from restrict dE/dx: 6.05865 cm ( 6.05865 g/cm2 ) + range from full dE/dx : 4.90425 cm ( 4.90425 g/cm2 ) - transport mean free path : 28.2437 cm ( 28.2437 g/cm2 ) + transport mean free path : 27.9107 cm ( 27.9107 g/cm2 ) critical energy (Rossi) : 78.7733 MeV Moliere radius : 0.269193 X0 = 9.71583 cm diff --git a/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc index 7f6ad3ccb2..f52fb6781b 100644 --- a/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.cc,v 1.8 2009/11/17 22:48:26 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.9 2010/03/21 19:07:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,6 +34,10 @@ #include "PhysicsListMessenger.hh" #include "PhysListEmStandard.hh" +#include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysics_option1.hh" +#include "G4EmStandardPhysics_option2.hh" +#include "G4EmStandardPhysics_option3.hh" #include "G4EmLivermorePhysics.hh" #include "G4EmPenelopePhysics.hh" @@ -57,7 +61,7 @@ PhysicsList::PhysicsList() SetVerboseLevel(1); // EM physics - emName = G4String("standard"); + emName = G4String("local"); emPhysicsList = new PhysListEmStandard(emName); } @@ -188,16 +192,16 @@ void PhysicsList::ConstructProcess() //physics tables // - emOptions.SetMinEnergy(100*eV); //default - emOptions.SetMaxEnergy(100*TeV); //default - emOptions.SetDEDXBinning(12*20); //default=12*7 - emOptions.SetLambdaBinning(12*20); //default=12*7 + //emOptions.SetMinEnergy(100*eV); //default + //emOptions.SetMaxEnergy(100*TeV); //default + //emOptions.SetDEDXBinning(12*20); //default=12*7 + //emOptions.SetLambdaBinning(12*20); //default=12*7 emOptions.SetBuildCSDARange(true); - emOptions.SetMaxEnergyForCSDARange(100*TeV); - emOptions.SetDEDXBinningForCSDARange(12*20); + //emOptions.SetMaxEnergyForCSDARange(100*TeV); + //emOptions.SetDEDXBinningForCSDARange(12*20); - emOptions.SetSplineFlag(true); //default + //emOptions.SetSplineFlag(true); //default emOptions.SetVerbose(0); } @@ -212,18 +216,38 @@ void PhysicsList::AddPhysicsList(const G4String& name) if (name == emName) return; - if (name == "standard") { + if (name == "local") { emName = name; delete emPhysicsList; emPhysicsList = new PhysListEmStandard(name); - } else if (name == "penelope"){ + } 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 if (name == "empenelope"){ emName = name; delete emPhysicsList; emPhysicsList = new G4EmPenelopePhysics(); - } else if (name == "livermore"){ + } else if (name == "emlivermore"){ emName = name; delete emPhysicsList; emPhysicsList = new G4EmLivermorePhysics(); diff --git a/examples/extended/electromagnetic/TestEm0/src/RunAction.cc b/examples/extended/electromagnetic/TestEm0/src/RunAction.cc index e6c54cfbec..4f5dcbdb7a 100644 --- a/examples/extended/electromagnetic/TestEm0/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm0/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.10 2007/12/17 17:22:44 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.cc,v 1.15 2010/05/10 13:45:49 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -103,7 +103,7 @@ void RunAction::BeginOfRunAction(const G4Run*) (2*electron_mass_c2*gamM1*gamP1)/(1.+2*gam*moverM+moverM*moverM); G4double range = emCal.GetCSDARange(Tmax,G4Electron::Electron(),material); - G4cout << "\n Max_energy _transferable : " << G4BestUnit(Tmax,"Energy") + G4cout << "\n Max_energy _transferable : " << G4BestUnit(Tmax,"Energy") << " (" << G4BestUnit(range,"Length") << ")" << G4endl; } @@ -147,7 +147,7 @@ void RunAction::BeginOfRunAction(const G4Run*) } sigma0.push_back(sigtot); - G4cout << "\n \n cross section per atom : "; + G4cout << "\n \n cross section per atom : "; for (size_t j=0; j sigma0; std::vector sigma1; - std::vector sigma2; - G4double Sig, Sigtot = 0.; + std::vector sigma2; + G4double Sig, SigtotComp = 0., Sigtot = 0.; for (size_t j=0; j +- TestEm1.cc : introduction of G4UIExecutive 13-11-09 mma (testem1-V09-02-01) - PhysListEmStandard.cc (local): eMultipleScattering -> UrbanMscModel93 diff --git a/examples/extended/electromagnetic/TestEm1/README b/examples/extended/electromagnetic/TestEm1/README index 1960fa7667..ca32095b1d 100644 --- a/examples/extended/electromagnetic/TestEm1/README +++ b/examples/extended/electromagnetic/TestEm1/README @@ -1,4 +1,4 @@ -$Id: README,v 1.27 2009/09/15 12:51:49 maire Exp $ +$Id: README,v 1.28 2010/06/06 04:25:24 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -71,8 +71,6 @@ $Id: README,v 1.27 2009/09/15 12:51:49 maire Exp $ The detector has a default view which is a longitudinal view of the box. The tracks are drawn at the end of event, and erased at the end of run. - Optionaly one can choose to draw all particles, only the charged, or none. - This command is defined in EventActionMessenger class. 5 - PHYSICS SURVEY diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.cc b/examples/extended/electromagnetic/TestEm1/TestEm1.cc index cabdf51b17..8d899db096 100644 --- a/examples/extended/electromagnetic/TestEm1/TestEm1.cc +++ b/examples/extended/electromagnetic/TestEm1/TestEm1.cc @@ -24,16 +24,14 @@ // ******************************************************************** // // -// $Id: TestEm1.cc,v 1.15 2007/06/21 17:10:11 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm1.cc,v 1.16 2010/04/06 11:11:24 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -51,6 +49,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -99,15 +101,12 @@ int main(int argc,char** argv) { 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 G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + #ifdef G4VIS_USE delete visManager; #endif diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.out b/examples/extended/electromagnetic/TestEm1/TestEm1.out index 39a87bf258..6f980c6f61 100644 --- a/examples/extended/electromagnetic/TestEm1/TestEm1.out +++ b/examples/extended/electromagnetic/TestEm1/TestEm1.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,51 +13,51 @@ ***** Table : Nb of materials = 14 ***** - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: H2liquid density: 70.800 mg/cm3 RadL: 8.923 m Nucl.Int.Length: 4.960 m Imean: 21.800 eV + Material: H2liquid density: 70.800 mg/cm3 RadL: 8.923 m Nucl.Int.Length: 4.993 m Imean: 19.200 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.537 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: CO2 density: 0.001 kg/m3 RadL: 361.873 km Nucl.Int.Length: 858.384 km Imean: 90.164 eV temperature: 273.15 K pressure: 1.00 atm + Material: CO2 density: 0.001 kg/m3 RadL: 361.873 km Nucl.Int.Length: 858.384 km Imean: 90.958 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Hydrogen (C) Z = 6.0 N = 12.0 A = 12.00 g/mole ElmMassFraction: 27.27 % ElmAbundance 33.33 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 72.73 % ElmAbundance 66.67 % - Material: D2_gas density: 0.036 kg/m3 RadL: 13.184 km Nucl.Int.Length: 12.278 km Imean: 41.800 eV temperature: 273.15 K pressure: 1.00 atm + Material: D2_gas density: 0.036 kg/m3 RadL: 13.184 km Nucl.Int.Length: 12.336 km Imean: 41.800 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: D2_gas ( ) Z = 2.0 N = 2.0 A = 2.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.078 cm Imean: 187.200 eV + Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.006 cm Imean: 188.000 eV ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.860 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.663 cm Imean: 173.600 eV + Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.761 cm Imean: 173.000 eV ---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.431 cm Imean: 332.800 eV + Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.333 cm Imean: 350.000 eV ---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.806 cm Imean: 469.142 eV + Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.788 cm Imean: 473.785 eV ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 15.41 % ElmAbundance 63.16 % ---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole ElmMassFraction: 17.48 % ElmAbundance 15.79 % ---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole ElmMassFraction: 67.10 % ElmAbundance 21.05 % - Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV + Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.969 cm Imean: 286.000 eV ---> Element: Iron ( ) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.312 cm Imean: 725.200 eV + Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.306 cm Imean: 727.000 eV ---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV + Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.258 cm Imean: 823.000 eV ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.446 cm Imean: 892.400 eV + Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.447 cm Imean: 890.000 eV ---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % @@ -96,30 +96,30 @@ PhysicsList::SetCuts:CutLength : 1 mm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 100 TeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 100 TeV conv: for gamma SubType= 14 Lambda tables from 1.022 MeV to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + BetheHeitler : Emin= 0 eV Emax= 100 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 100 TeV + UrbanMsc93 : Emin= 0 eV Emax= 100 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 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= 100 TeV CSDA range table up to 1 GeV in 160 bins eBrem: for e- SubType= 3 @@ -127,15 +127,15 @@ eBrem: for e- SubType= 3 Lambda tables from threshold to 100 TeV in 240 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 + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 100 TeV AngularGenUrban eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 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= 100 TeV CSDA range table up to 1 GeV in 160 bins eBrem: for e+ SubType= 3 @@ -143,186 +143,186 @@ eBrem: for e+ SubType= 3 Lambda tables from threshold to 100 TeV in 240 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 + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 100 TeV AngularGenUrban annihil: for e+ SubType= 5 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 100 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 100 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 100 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV ionIoni: for GenericIon SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins hIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 100 TeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 100 TeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 100 TeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 100 TeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 100 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 100 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 100 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 100 TeV Region -- appears in world volume Root logical volume(s) : Aluminium @@ -358,7 +358,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 2000 - User=7.58s Real=7.61s Sys=0.04s + User=6.12s Real=6.28s Sys=0.06s ======================== run summary ====================== @@ -366,29 +366,29 @@ Run Summary ============================================================ - total energy deposit: 99.804 MeV + total energy deposit: 99.79 MeV - nb tracks/event neutral: 27.68 charged: 148 - nb steps/event neutral: 140.95 charged: 475.54 + nb tracks/event neutral: 27.592 charged: 147.69 + nb steps/event neutral: 140.59 charged: 474.71 nb of process calls per event: - msc eBrem eIoni phot comptTransportation conv annihil - 148.31 25.075 300.73 25.293 113.27 0.9665 1.425 1.425 + Transportation annihil compt conv eBrem eIoni msc phot + 0.9495 1.437 113 1.437 24.989 300.23 148.05 25.21 --------------------------------------------------------- Primary particle : - true Range = 10.987 cm rms = 3.8234 cm - proj Range = 9.5776 cm rms = 3.5627 cm - proj/true = 0.87176 - transverse dispersion at end = 1.6319 cm - mass true Range from simulation = 29.664 g/cm2 - from PhysicsTable (csda range) = 31.821 g/cm2 + true Range = 11.014 cm rms = 3.7844 cm + proj Range = 9.6111 cm rms = 3.5206 cm + proj/true = 0.87261 + transverse dispersion at end = 1.6361 cm + mass true Range from simulation = 29.739 g/cm2 + from PhysicsTable (csda range) = 31.721 g/cm2 --------------------------------------------------------- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1375807554, 1269164770 + Current couple of seeds = 428538573, 1905044086 ---------------------------------------- # /process/eLoss/verbose 0 @@ -408,7 +408,7 @@ Region -- appears in world volume Index : 0 used in the geometry : Yes recalculation needed : No Material : Aluminium Range cuts : gamma 10 um e- 10 um e+ 10 um proton 0 fm - Energy thresholds : gamma 990 eV e- 34.172517 keV e+ 33.943645 keV proton 0 eV + Energy thresholds : gamma 990 eV e- 34.1725 keV e+ 33.9436 keV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -418,7 +418,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1375807554, 1269164770 + Current couple of seeds = 428538573, 1905044086 ---------------------------------------- Start Run processing. @@ -426,7 +426,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 2000 - User=13.9s Real=13.95s Sys=0.05s + User=11.22s Real=13.7s Sys=0.06s ======================== run summary ====================== @@ -434,29 +434,29 @@ Run Summary ============================================================ - total energy deposit: 99.81 MeV + total energy deposit: 99.825 MeV - nb tracks/event neutral: 35.065 charged: 288.91 - nb steps/event neutral: 145.41 charged: 898.27 + nb tracks/event neutral: 34.682 charged: 286.8 + nb steps/event neutral: 144.08 charged: 892.78 nb of process calls per event: - eIoni eBrem phot msc compt conv annihilTransportation - 579.81 33.178 32.715 283.87 110.35 1.407 1.407 0.9465 + Transportation annihil compt conv eBrem eIoni msc phot + 0.945 1.419 109.4 1.419 32.825 576.81 281.72 32.322 --------------------------------------------------------- Primary particle : - true Range = 11.154 cm rms = 3.8454 cm - proj Range = 9.6831 cm rms = 3.573 cm - proj/true = 0.86815 - transverse dispersion at end = 1.7408 cm - mass true Range from simulation = 30.115 g/cm2 - from PhysicsTable (csda range) = 31.821 g/cm2 + true Range = 11.019 cm rms = 3.8095 cm + proj Range = 9.6137 cm rms = 3.5618 cm + proj/true = 0.87245 + transverse dispersion at end = 1.6658 cm + mass true Range from simulation = 29.752 g/cm2 + from PhysicsTable (csda range) = 31.721 g/cm2 --------------------------------------------------------- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 885076725, 250399748 + Current couple of seeds = 3934508, 1790137630 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/electromagnetic/TestEm1/include/RunAction.hh b/examples/extended/electromagnetic/TestEm1/include/RunAction.hh index f5b69e4131..28dad86f1b 100644 --- a/examples/extended/electromagnetic/TestEm1/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/RunAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.hh,v 1.8 2006/06/29 16:36:43 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.hh,v 1.9 2010/04/06 11:11:24 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,8 +33,8 @@ #define RunAction_h 1 #include "G4UserRunAction.hh" -#include "ProcessesCount.hh" #include "globals.hh" +#include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -59,7 +59,7 @@ class RunAction : public G4UserRunAction void CountTraks1(G4int nt) { NbOfTraks1 += nt;} void CountSteps0(G4int ns) { NbOfSteps0 += ns;} void CountSteps1(G4int ns) { NbOfSteps1 += ns;} - void CountProcesses(G4String); + void CountProcesses(G4String procName) { procCounter[procName]++;}; void AddEdep(G4double val) { edep += val;} void AddTrueRange (G4double l) { trueRange += l; trueRange2 += l*l;}; @@ -67,17 +67,17 @@ class RunAction : public G4UserRunAction void AddTransvDev (G4double y) { transvDev += y; transvDev2 += y*y;}; private: + DetectorConstruction* detector; + PrimaryGeneratorAction* primary; + HistoManager* histoManager; + G4int NbOfTraks0, NbOfTraks1; G4int NbOfSteps0, NbOfSteps1; G4double edep; G4double trueRange, trueRange2; G4double projRange, projRange2; G4double transvDev, transvDev2; - - DetectorConstruction* detector; - PrimaryGeneratorAction* primary; - ProcessesCount* ProcCounter; - HistoManager* histoManager; + std::map procCounter; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/EventAction.cc b/examples/extended/electromagnetic/TestEm1/src/EventAction.cc index 0b164335cc..b0640f2be8 100644 --- a/examples/extended/electromagnetic/TestEm1/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/EventAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: EventAction.cc,v 1.7 2007/11/12 15:48:58 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.9 2010/06/07 05:40:45 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -37,9 +37,6 @@ #include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -74,25 +71,11 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { if (drawFlag != "none") G4cout << " Energy deposit: " << G4BestUnit(TotalEnergyDeposit,"Energy") << G4endl; - - 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...... diff --git a/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc index b74b242124..b0244ccd66 100644 --- a/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.13 2008/09/12 16:32:25 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.cc,v 1.14 2010/11/09 21:00:43 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "testem1"; fileType = "root"; - fileOption = "export=root"; + fileOption = ""; // histograms for (G4int k=0; ksize(); - size_t i = 0; - while ((iGetName()!=procName)) i++; - if (i == nbProc) ProcCounter->push_back( new OneProcessCount(procName)); - - (*ProcCounter)[i]->Count(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - void RunAction::EndOfRunAction(const G4Run* aRun) { G4int NbOfEvents = aRun->GetNumberOfEvent(); @@ -131,14 +117,15 @@ void RunAction::EndOfRunAction(const G4Run* aRun) << " charged: " << std::setw(10) << NbOfSteps1/dNbOfEvents << G4endl; - //frequency of processes call - G4cout << "\n nb of process calls per event: \n "; - for (size_t i=0; i< ProcCounter->size();i++) - G4cout << std::setw(12) << (*ProcCounter)[i]->GetName(); + //frequency of processes call + std::map::iterator it; + G4cout << "\n nb of process calls per event: \n "; + for (it = procCounter.begin(); it != procCounter.end(); it++) + G4cout << std::setw(12) << it->first; G4cout << "\n "; - for (size_t j=0; j< ProcCounter->size();j++) - G4cout << std::setw(12) << ((*ProcCounter)[j]->GetCounter())/dNbOfEvents; + for (it = procCounter.begin(); it != procCounter.end(); it++) + G4cout << std::setw(12) << (it->second)/dNbOfEvents; G4cout << G4endl; //compute true and projected ranges, and transverse dispersion @@ -185,14 +172,9 @@ void RunAction::EndOfRunAction(const G4Run* aRun) // reset default precision G4cout.precision(prec); - // delete and remove all contents in ProcCounter - while (ProcCounter->size()>0){ - OneProcessCount* aProcCount=ProcCounter->back(); - ProcCounter->pop_back(); - delete aProcCount; - } - delete ProcCounter; - + // remove all contents in procCounter + procCounter.clear(); + //save histograms histoManager->save(); diff --git a/examples/extended/electromagnetic/TestEm1/vis.mac b/examples/extended/electromagnetic/TestEm1/vis.mac index 5cfe02d3ab..6bf8aa46ed 100644 --- a/examples/extended/electromagnetic/TestEm1/vis.mac +++ b/examples/extended/electromagnetic/TestEm1/vis.mac @@ -9,24 +9,74 @@ # /run/initialize # -# Create empty scene ("world" is default) -/vis/scene/create +# Controls whether energy is reported at end of event +/testem/event/drawTracks all # -# Create a scene handler for a specific graphics system -# Edit the next line(s) to choose another graphic system -# -/vis/open OGLIX +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# Draw scene -/vis/viewer/zoom 1.4 -/vis/viewer/flush +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks all - +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm10/GNUmakefile b/examples/extended/electromagnetic/TestEm10/GNUmakefile index c9c4d4d208..cbcab545d7 100644 --- a/examples/extended/electromagnetic/TestEm10/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm10/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.5 2008/06/11 22:34:04 maire Exp $ +# $Id: GNUmakefile,v 1.6 2010/01/11 16:30:44 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../../../ + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/electromagnetic/TestEm10/History b/examples/extended/electromagnetic/TestEm10/History index 5802df76a0..e8fbb16553 100644 --- a/examples/extended/electromagnetic/TestEm10/History +++ b/examples/extended/electromagnetic/TestEm10/History @@ -1,4 +1,4 @@ -$Id: History,v 1.24 2009/11/21 16:12:01 vnivanch Exp $ +$Id: History,v 1.26 2010/06/06 04:33:02 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,12 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +03-06-10 J.Perl (testem10-V09-03-01) +- Updated vis usage + +21-05-10 mma (testem10-V09-03-00) +- TestEm10.cc : introduction of G4UIExecutive + 21-11-09 V.Ivant (testem10-V09-02-00) - update PhysList according to 9.3 diff --git a/examples/extended/electromagnetic/TestEm10/InstallAida.txt b/examples/extended/electromagnetic/TestEm10/InstallAida.txt index f10b3a9bf0..3ac043b561 100644 --- a/examples/extended/electromagnetic/TestEm10/InstallAida.txt +++ b/examples/extended/electromagnetic/TestEm10/InstallAida.txt @@ -1,5 +1,5 @@ -$Id: InstallAida.txt,v 1.1 2008/05/07 11:47:09 maire Exp $ --------------------------------------------------- +$Id: InstallAida.txt,v 1.2 2010/05/21 18:48:25 maire Exp $ +----------------------------------------------------------- -------------- Install AIDA @@ -37,21 +37,19 @@ $Id: InstallAida.txt,v 1.1 2008/05/07 11:47:09 maire Exp $ http://ilcsoft.desy.de/portal/software_packages/raida/index_eng.html - 3 - PI (cern) - --------- - - A package including AIDA and extended interfaces also using Python is PI, - available from: http://cern.ch/pi + 3 - iAIDA + ----- + Another package including AIDA (an evolution of the former PI project + http://cern.ch/pi) is the iAIDA package: http://iaida.dynalias.net - Once installed PI or PI-Lite in a specified local area $MYPY, it is required - to add the installation path to $PATH, i.e. for example, for release 1.2.1 of - PI: - setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin + 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 - CERN users can use the PATH to the LCG area on AFS. Before running the example the command should be issued: eval `aida-config --runtime csh` - + 4 - JAIDA (slac) ------------ diff --git a/examples/extended/electromagnetic/TestEm10/TestEm10.cc b/examples/extended/electromagnetic/TestEm10/TestEm10.cc index 0960714c6e..e23d9016a7 100644 --- a/examples/extended/electromagnetic/TestEm10/TestEm10.cc +++ b/examples/extended/electromagnetic/TestEm10/TestEm10.cc @@ -24,28 +24,17 @@ // ******************************************************************** // // -// $Id: TestEm10.cc,v 1.9 2007/07/27 17:52:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm10.cc,v 1.10 2010/05/21 18:48:25 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // -// -// -------------------------------------------------------------- -// GEANT 4 - TestEm10 // -// -------------------------------------------------------------- -// Comments -// -// -// -------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" #include "Randomize.hh" -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - #include "Em10DetectorConstruction.hh" // #include "ALICEDetectorConstruction.hh" #include "Em10PhysicsList.hh" @@ -55,6 +44,16 @@ #include "Em10SteppingAction.hh" #include "Em10SteppingVerbose.hh" #include "Em10TrackingAction.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) { @@ -81,10 +80,6 @@ int main(int argc,char** argv) runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new Em10PhysicsList(detector)); - -#ifdef G4VIS_USE - G4VisManager* visManager = 0; -#endif // set user action classes runManager->SetUserAction(new Em10PrimaryGeneratorAction(detector)); @@ -107,32 +102,37 @@ int main(int argc,char** argv) G4UImanager* UI = G4UImanager::GetUIpointer(); - - if (argc==1) // Define UI terminal for interactive mode - { -#ifdef G4VIS_USE - visManager = new G4VisExecutive; - visManager->Initialize(); -#endif - G4UIsession * session = new G4UIterminal; - UI->ApplyCommand("/control/execute init.mac"); - session->SessionStart(); - delete session; - } - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + if (argc!=1) // batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UI->ApplyCommand(command+fileName); } - // job termination + else //define visualization and UI terminal for interactive mode + { #ifdef G4VIS_USE - delete visManager; -#endif + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif + } + + // job termination + // delete runManager; return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm10/TestEm10.out b/examples/extended/electromagnetic/TestEm10/TestEm10.out index ab532c9730..47ce8f870a 100644 --- a/examples/extended/electromagnetic/TestEm10/TestEm10.out +++ b/examples/extended/electromagnetic/TestEm10/TestEm10.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -49,40 +49,40 @@ Detector cuts are set phot: for gamma, applyCuts: 1 SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma, applyCuts: 1 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV conv: for gamma, applyCuts: 1 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV ===== EM models for the G4Region XTRdEdxDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + PAIModel : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban Lorentz Factor XTR photon number @@ -137,7 +137,7 @@ Lorentz Factor XTR photon number 8.085e+04 3.149 9.283e+04 3.149 -total time for build X-ray TR energy loss tables = 0.09 s +total time for build X-ray TR energy loss tables = 0.07 s SynRad: Incoherent Synchrotron Radiation good description for long magnets at all energies @@ -147,22 +147,22 @@ eIoni: for e+ SubType= 2 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 + MollerBhabha : Emin= 0 eV Emax= 10 TeV ===== EM models for the G4Region XTRdEdxDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + PAIModel : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+, applyCuts: 1 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV Lorentz Factor XTR photon number @@ -217,126 +217,127 @@ Lorentz Factor XTR photon number 8.085e+04 3.149 9.283e+04 3.149 -total time for build X-ray TR energy loss tables = 0.09 s +total time for build X-ray TR energy loss tables = 0.06 s msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV ===== EM models for the G4Region XTRdEdxDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + PAIModel : Emin= 0 eV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV ===== EM models for the G4Region XTRdEdxDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + PAIModel : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV ===== EM models for the G4Region XTRdEdxDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + PAIModel : 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 + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV ===== EM models for the G4Region XTRdEdxDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + PAIModel : Emin= 0 eV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV ===== EM models for the G4Region XTRdEdxDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + PAIModel : Emin= 0 eV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV ===== EM models for the G4Region XTRdEdxDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + PAIModel : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV ===== EM models for the G4Region XTRdEdxDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + PAIModel : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -375,26 +376,26 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 1000 - User=0.86s Real=0.85s Sys=0s + User=0.68s Real=0.68s Sys=0s ================== run summary ===================== end of Run TotNbofEvents = 1000 - mean charged track length in absorber=43.6876 +- 0.564515 mm + mean charged track length in absorber=44.2485 +- 0.51841 mm - mean energy deposit in absorber=0.0528094 +- 0.000940213 MeV + mean energy deposit in absorber=0.0517978 +- 0.000948221 MeV - mean number of steps in absorber (charged) =8.685 +- 0.227951 - mean number of steps in absorber (neutral) =2.839 +- 0.0556155 + mean number of steps in absorber (charged) =8.401 +- 0.236884 + mean number of steps in absorber (neutral) =2.693 +- 0.0527328 - mean number of charged secondaries = 3.504 +- 0.0774983 + mean number of charged secondaries = 3.402 +- 0.0758973 - mean number of neutral secondaries = 0.044 +- 0.00678705 + mean number of neutral secondaries = 0.047 +- 0.00684039 - mean number of e-s =3.504 and e+s =0 + mean number of e-s =3.402 and e+s =0 -(number) transmission coeff=0.527 reflection coeff=0.015 +(number) transmission coeff=0.52 reflection coeff=0.016 energy deposit distribution -#entries=1000 #underflows=0 #overflows=60 +#entries=1000 #underflows=0 #overflows=55 bin nb Elow entries normalized 0 0 0 0 1 1.53846 0 0 @@ -404,70 +405,70 @@ Run Summary 5 7.69231 0 0 6 9.23077 0 0 7 10.7692 0 0 - 8 12.3077 2 0.002 + 8 12.3077 1 0.001 9 13.8462 4 0.004 - 10 15.3846 4 0.004 + 10 15.3846 15 0.015 11 16.9231 11 0.011 - 12 18.4615 13 0.013 - 13 20 17 0.017 - 14 21.5385 15 0.015 - 15 23.0769 29 0.029 - 16 24.6154 27 0.027 - 17 26.1538 20 0.02 - 18 27.6923 35 0.035 - 19 29.2308 14 0.014 - 20 30.7692 37 0.037 - 21 32.3077 25 0.025 - 22 33.8462 38 0.038 - 23 35.3846 31 0.031 - 24 36.9231 27 0.027 - 25 38.4615 38 0.038 - 26 40 34 0.034 - 27 41.5385 31 0.031 - 28 43.0769 20 0.02 - 29 44.6154 33 0.033 - 30 46.1538 30 0.03 - 31 47.6923 33 0.033 - 32 49.2308 22 0.022 - 33 50.7692 22 0.022 - 34 52.3077 18 0.018 - 35 53.8462 12 0.012 - 36 55.3846 18 0.018 - 37 56.9231 10 0.01 - 38 58.4615 28 0.028 - 39 60 18 0.018 + 12 18.4615 18 0.018 + 13 20 15 0.015 + 14 21.5385 20 0.02 + 15 23.0769 23 0.023 + 16 24.6154 23 0.023 + 17 26.1538 30 0.03 + 18 27.6923 21 0.021 + 19 29.2308 28 0.028 + 20 30.7692 35 0.035 + 21 32.3077 33 0.033 + 22 33.8462 32 0.032 + 23 35.3846 32 0.032 + 24 36.9231 33 0.033 + 25 38.4615 31 0.031 + 26 40 24 0.024 + 27 41.5385 34 0.034 + 28 43.0769 33 0.033 + 29 44.6154 27 0.027 + 30 46.1538 26 0.026 + 31 47.6923 24 0.024 + 32 49.2308 28 0.028 + 33 50.7692 16 0.016 + 34 52.3077 21 0.021 + 35 53.8462 25 0.025 + 36 55.3846 25 0.025 + 37 56.9231 24 0.024 + 38 58.4615 18 0.018 + 39 60 15 0.015 40 61.5385 16 0.016 - 41 63.0769 19 0.019 - 42 64.6154 13 0.013 - 43 66.1538 20 0.02 + 41 63.0769 22 0.022 + 42 64.6154 16 0.016 + 43 66.1538 14 0.014 44 67.6923 10 0.01 - 45 69.2308 13 0.013 - 46 70.7692 6 0.006 - 47 72.3077 10 0.01 - 48 73.8462 12 0.012 - 49 75.3846 14 0.014 - 50 76.9231 7 0.007 - 51 78.4615 6 0.006 - 52 80 13 0.013 - 53 81.5385 7 0.007 + 45 69.2308 9 0.009 + 46 70.7692 11 0.011 + 47 72.3077 11 0.011 + 48 73.8462 6 0.006 + 49 75.3846 3 0.003 + 50 76.9231 6 0.006 + 51 78.4615 5 0.005 + 52 80 5 0.005 + 53 81.5385 8 0.008 54 83.0769 4 0.004 - 55 84.6154 8 0.008 - 56 86.1538 6 0.006 + 55 84.6154 4 0.004 + 56 86.1538 7 0.007 57 87.6923 4 0.004 - 58 89.2308 8 0.008 - 59 90.7692 9 0.009 - 60 92.3077 5 0.005 - 61 93.8462 4 0.004 - 62 95.3846 2 0.002 - 63 96.9231 3 0.003 - 64 98.4615 5 0.005 + 58 89.2308 7 0.007 + 59 90.7692 5 0.005 + 60 92.3077 9 0.009 + 61 93.8462 6 0.006 + 62 95.3846 5 0.005 + 63 96.9231 5 0.005 + 64 98.4615 2 0.002 - Emp = 0.0338462 width= 0.0430769 MeV + Emp = 0.0307692 width= 0.0446154 MeV --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1419195473, 1446917947 + Current couple of seeds = 1441776206, 741376226 ---------------------------------------- ========= Table of registered couples ============================== @@ -482,14 +483,14 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : Yes recalculation needed : No Material : radiatorMat Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 1.0731416 keV e- 83.52866 keV e+ 82.413535 keV proton 0 eV + Energy thresholds : gamma 1.07314 keV e- 83.5287 keV e+ 82.4135 keV proton 0 eV Region(s) which use this couple : XTRradiator Index : 2 used in the geometry : Yes recalculation needed : No Material : Xe15CO2 Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 990 eV e- 2.0886137 keV e+ 2.0697013 keV proton 0 eV + Energy thresholds : gamma 990 eV e- 2.08861 keV e+ 2.0697 keV proton 0 eV Region(s) which use this couple : XTRdEdxDetector diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc b/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc index df7f922eb5..5003fae0d8 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: Em10EventAction.cc,v 1.6 2006/06/29 16:38:41 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: Em10EventAction.cc,v 1.7 2010/06/06 04:33:02 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -45,9 +45,6 @@ #include "G4VHitsCollection.hh" #include "G4SDManager.hh" #include "G4UImanager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" #include "G4UnitsTable.hh" #include "Randomize.hh" @@ -141,21 +138,6 @@ void Em10EventAction::EndOfEventAction(const G4Event* evt) nstep=nstepCharged+nstepNeutral ; runaction->FillNbOfSteps(nstep); } - - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) - { - 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(50); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(50); - } - } if(verboselevel>0) G4cout << "<<< Event " << evt->GetEventID() << " ended." << G4endl; diff --git a/examples/extended/electromagnetic/TestEm10/vis.mac b/examples/extended/electromagnetic/TestEm10/vis.mac new file mode 100644 index 0000000000..9f2b602dda --- /dev/null +++ b/examples/extended/electromagnetic/TestEm10/vis.mac @@ -0,0 +1,79 @@ +# +# Macro file for the initialization phase of "TestEm9.cc" +# +# Sets some default verbose +# and initializes the graphic. +# +/control/verbose 2 +/run/verbose 2 +# +/run/initialize +# +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 1 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +/vis/filtering/trajectories/create/particleFilter +/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm11/History b/examples/extended/electromagnetic/TestEm11/History index 0015b04f04..97d7f12a1c 100644 --- a/examples/extended/electromagnetic/TestEm11/History +++ b/examples/extended/electromagnetic/TestEm11/History @@ -1,4 +1,4 @@ -$Id: History,v 1.29 2009/11/16 15:09:10 maire Exp $ +$Id: History,v 1.35 2010/12/06 14:39:23 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,24 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +05-12-10 mma (testem11-V09-03-05) +- subdirectory sandia : add EGSnrc results + +09-11-10 M.Asai (testem11-V09-03-04) +- Fix AIDA file option. + +06-06-10 J.Perl (testem11-V09-03-03) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem11-V09-03-02) +- Updated vis usage + +25-05-10 mma (testem11-V09-03-01) +- add PhysListStandardGS, PhysListStandardSS, PhysListStandardWVI + +20-05-10 mma (testem11-V09-03-00) +- TestEm11.cc : introduction of G4UIExecutive + 16-11-09 mma (testem11-V09-02-01) - PhysListEmStandard copied from TestEm5 diff --git a/examples/extended/electromagnetic/TestEm11/TestEm11.cc b/examples/extended/electromagnetic/TestEm11/TestEm11.cc index b82030f8f8..314ccf2997 100644 --- a/examples/extended/electromagnetic/TestEm11/TestEm11.cc +++ b/examples/extended/electromagnetic/TestEm11/TestEm11.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TestEm11.cc,v 1.3 2006/06/29 16:39:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm11.cc,v 1.4 2010/05/20 13:02:41 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -50,6 +48,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -70,12 +72,6 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(det = new DetectorConstruction); runManager->SetUserInitialization(phys = new PhysicsList); runManager->SetUserAction(kin = new PrimaryGeneratorAction(det)); - -#ifdef G4VIS_USE - //visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); -#endif //set user action classes HistoManager* histo = new HistoManager(); @@ -88,31 +84,35 @@ int main(int argc,char** argv) { runManager->SetUserAction(new SteppingAction(det,run,event,histo)); //get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); - - if (argc==1) // Define UI terminal for interactive mode - { - G4UIsession* session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; - } - else // Batch mode - { + 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 + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif + } //job termination -#ifdef G4VIS_USE - delete visManager; -#endif - + // delete histo; delete runManager; diff --git a/examples/extended/electromagnetic/TestEm11/TestEm11.out b/examples/extended/electromagnetic/TestEm11/TestEm11.out index 60c04afaa7..6dd288f9e4 100644 --- a/examples/extended/electromagnetic/TestEm11/TestEm11.out +++ b/examples/extended/electromagnetic/TestEm11/TestEm11.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,89 +13,56 @@ ***** Table : Nb of materials = 14 ***** - Material: G4_Al density: 2.699 g/cm3 RadL: 8.896 cm Nucl.Int.Length: 38.894 cm Imean: 166.000 eV + Material: G4_Al density: 2.699 g/cm3 RadL: 8.896 cm Nucl.Int.Length: 38.877 cm Imean: 166.000 eV ---> Element: Al (Al) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Si density: 2.330 g/cm3 RadL: 9.366 cm Nucl.Int.Length: 45.660 cm Imean: 173.000 eV + Material: G4_Si density: 2.330 g/cm3 RadL: 9.366 cm Nucl.Int.Length: 45.753 cm Imean: 173.000 eV ---> Element: Si (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Fe density: 7.874 g/cm3 RadL: 1.757 cm Nucl.Int.Length: 16.990 cm Imean: 286.000 eV + Material: G4_Fe density: 7.874 g/cm3 RadL: 1.757 cm Nucl.Int.Length: 16.959 cm Imean: 286.000 eV ---> Element: Fe (Fe) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Cu density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.588 cm Imean: 322.000 eV + Material: G4_Cu density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.514 cm Imean: 322.000 eV ---> Element: Cu (Cu) Z = 29.0 N = 63.5 A = 63.55 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Ge density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.431 cm Imean: 350.000 eV + Material: G4_Ge density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.334 cm Imean: 350.000 eV ---> Element: Ge (Ge) Z = 32.0 N = 72.6 A = 72.61 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Mo density: 10.220 g/cm3 RadL: 9.591 mm Nucl.Int.Length: 15.677 cm Imean: 424.000 eV + Material: G4_Mo density: 10.220 g/cm3 RadL: 9.591 mm Nucl.Int.Length: 15.670 cm Imean: 424.000 eV ---> Element: Mo (Mo) Z = 42.0 N = 95.9 A = 95.93 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Ta density: 16.654 g/cm3 RadL: 4.094 mm Nucl.Int.Length: 11.887 cm Imean: 718.000 eV + Material: G4_Ta density: 16.654 g/cm3 RadL: 4.094 mm Nucl.Int.Length: 11.885 cm Imean: 718.000 eV ---> Element: Ta (Ta) Z = 73.0 N = 180.9 A = 180.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_W density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.312 cm Imean: 727.000 eV + Material: G4_W density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.306 cm Imean: 727.000 eV ---> Element: W (W) Z = 74.0 N = 183.8 A = 183.84 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Au density: 19.320 g/cm3 RadL: 3.344 mm Nucl.Int.Length: 10.540 cm Imean: 790.000 eV + Material: G4_Au density: 19.320 g/cm3 RadL: 3.344 mm Nucl.Int.Length: 10.539 cm Imean: 790.000 eV ---> Element: Au (Au) Z = 79.0 N = 197.0 A = 196.97 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Pb density: 11.350 g/cm3 RadL: 5.613 mm Nucl.Int.Length: 18.248 cm Imean: 823.000 eV + Material: G4_Pb density: 11.350 g/cm3 RadL: 5.613 mm Nucl.Int.Length: 18.261 cm Imean: 823.000 eV ---> Element: Pb (Pb) Z = 82.0 N = 207.2 A = 207.22 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_PbWO4 density: 8.280 g/cm3 RadL: 8.925 mm Nucl.Int.Length: 20.740 cm Imean: 541.543 eV + Material: G4_PbWO4 density: 8.280 g/cm3 RadL: 8.925 mm Nucl.Int.Length: 20.741 cm Imean: 542.741 eV ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 14.06 % ElmAbundance 66.67 % ---> Element: Pb (Pb) Z = 82.0 N = 207.2 A = 207.22 g/mole ElmMassFraction: 45.54 % ElmAbundance 16.67 % ---> Element: W (W) Z = 74.0 N = 183.8 A = 183.84 g/mole ElmMassFraction: 40.40 % ElmAbundance 16.67 % - Material: G4_SODIUM_IODIDE density: 3.667 g/cm3 RadL: 2.588 cm Nucl.Int.Length: 42.914 cm Imean: 452.000 eV + Material: G4_SODIUM_IODIDE density: 3.667 g/cm3 RadL: 2.588 cm Nucl.Int.Length: 42.894 cm Imean: 452.000 eV ---> Element: Na (Na) Z = 11.0 N = 23.0 A = 22.99 g/mole ElmMassFraction: 15.34 % ElmAbundance 50.00 % ---> Element: I (I) Z = 53.0 N = 126.9 A = 126.90 g/mole ElmMassFraction: 84.66 % ElmAbundance 50.00 % - Material: G4_AIR density: 1.205 mg/cm3 RadL: 303.921 m Nucl.Int.Length: 710.095 m Imean: 85.700 eV temperature: 273.15 K pressure: 1.00 atm + Material: G4_AIR density: 1.205 mg/cm3 RadL: 303.921 m Nucl.Int.Length: 710.261 m Imean: 85.700 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 0.01 % ElmAbundance 0.02 % ---> Element: N (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 75.53 % ElmAbundance 78.44 % ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 23.18 % ElmAbundance 21.07 % ---> Element: Ar (Ar) Z = 18.0 N = 39.9 A = 39.95 g/mole ElmMassFraction: 1.28 % ElmAbundance 0.47 % - Material: Water density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.423 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.517 cm Imean: 75.000 eV ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 % ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.81 % ElmAbundance 33.33 % -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 2 # /testem/det/setMat G4_Si @@ -141,30 +108,30 @@ PhysicsList::SetCuts:CutLength : 1 mm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 100 TeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 100 TeV conv: for gamma SubType= 14 Lambda tables from 1.022 MeV to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + BetheHeitler : Emin= 0 eV Emax= 100 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 100 TeV + UrbanMsc93 : Emin= 0 eV Emax= 100 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 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= 100 TeV CSDA range table up to 1 GeV in 160 bins eBrem: for e- SubType= 3 @@ -172,15 +139,15 @@ eBrem: for e- SubType= 3 Lambda tables from threshold to 100 TeV in 240 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 + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 100 TeV AngularGenUrban eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 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= 100 TeV CSDA range table up to 1 GeV in 160 bins eBrem: for e+ SubType= 3 @@ -188,193 +155,193 @@ eBrem: for e+ SubType= 3 Lambda tables from threshold to 100 TeV in 240 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 + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 100 TeV AngularGenUrban annihil: for e+ SubType= 5 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 100 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 100 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 100 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV ionIoni: for GenericIon SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ParamICRU73 : Emin= 0 eV Emax= 100 TeV + ParamICRU73 : Emin= 0 eV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins nuclearStopping: for GenericIon SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 100 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 100 TeV nuclearStopping: for alpha SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 100 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 100 TeV hIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 100 TeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 100 TeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 100 TeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 100 TeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 100 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 100 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 finalRange(mm)= 0.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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 100 TeV CSDA range table up to 1 GeV in 160 bins hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 100 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 100 TeV in 240 bins Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 100 TeV Region -- appears in world volume Root logical volume(s) : Absorber @@ -414,7 +381,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 20000 - User=12.68s Real=13.16s Sys=0.48s + User=9.41s Real=10.69s Sys=0.59s ======================== run summary ====================== @@ -422,23 +389,21 @@ Run Summary ============================================================ - Total Energy deposited = 442.943 keV +- 109.797 keV + Total Energy deposited = 443.509 keV +- 109.377 keV - Track length of primary track = 869.663 um +- 197.088 um + Track length of primary track = 870.620 um +- 199.912 um Range from EmCalculator = 943.428 um (from full dE/dx) - Projected range = 318.392 um +- 208.091 um + Projected range = 324.054 um +- 208.789 um - Nb of steps of primary track = 87.49 +- 19.70 Step size= 9.930 um +- 94.345 nm + Nb of steps of primary track = 87.59 +- 19.98 Step size= 9.930 um +- 94.597 nm - absorbed = 76.46 % transmit = 5.28 % reflected = 18.27 % + absorbed = 76.39 % transmit = 5.55 % reflected = 18.06 % --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1959715666, 101414751 + Current couple of seeds = 540220575, 150532680 ---------------------------------------- -Graphics systems deleted. -Visualization Manager deleting... UserDetectorConstruction deleted. UserPhysicsList deleted. UserRunAction deleted. diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandardGS.hh b/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandardGS.hh new file mode 100644 index 0000000000..8f60be3901 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandardGS.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: PhysListEmStandardGS.hh,v 1.1 2010/05/25 21:03:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandardGS_h +#define PhysListEmStandardGS_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandardGS : public G4VPhysicsConstructor +{ +public: + PhysListEmStandardGS(const G4String& name = "standardGS"); + virtual ~PhysListEmStandardGS(); + +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(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandardSS.hh b/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandardSS.hh new file mode 100644 index 0000000000..ecf6d14458 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandardSS.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: PhysListEmStandardSS.hh,v 1.1 2010/05/25 21:03:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandardSS_h +#define PhysListEmStandardSS_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandardSS : public G4VPhysicsConstructor +{ +public: + PhysListEmStandardSS(const G4String& name = "standardSS"); + virtual ~PhysListEmStandardSS(); + +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(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandardWVI.hh b/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandardWVI.hh new file mode 100644 index 0000000000..0c50def468 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandardWVI.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. * +// ******************************************************************** +// +// +// $Id: PhysListEmStandardWVI.hh,v 1.1 2010/05/25 21:03:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandardWVI_h +#define PhysListEmStandardWVI_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandardWVI : public G4VPhysicsConstructor +{ + public: + PhysListEmStandardWVI(const G4String& name = "standardWVI"); + ~PhysListEmStandardWVI(); + + 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(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm11/sandia.mac b/examples/extended/electromagnetic/TestEm11/sandia.mac index 36d38e2414..159902bccc 100644 --- a/examples/extended/electromagnetic/TestEm11/sandia.mac +++ b/examples/extended/electromagnetic/TestEm11/sandia.mac @@ -1,4 +1,4 @@ -# $Id: sandia.mac,v 1.9 2009/09/22 14:20:31 maire Exp $ +# $Id: sandia.mac,v 1.10 2010/05/20 13:02:41 maire Exp $ # # limit the step size from histo 8 # @@ -15,16 +15,19 @@ /testem/det/setSizeX 1 cm /testem/det/setSizeYZ 1 cm # -/testem/phys/addPhysics local # em physics +/testem/phys/addPhysics emstandard_opt3 # em physics +###/testem/phys/addPhysics standardSS # em physics # /run/initialize # +/run/setCut 1 mm # will set cut for proton +# /gun/particle e- -/gun/energy 314 keV +/gun/energy 521 keV # ###/testem/histo/setFileType hbook /testem/histo/setFileType root -/testem/histo/setFileName sandia/Al.314keV +/testem/histo/setFileName sandia/ref4++/Al.521keV.opt3 /testem/histo/setHisto 8 100 0. 1.0 none #normalized Edep profile ###/testem/histo/setHisto 8 100 0. 0.5 none #for Ta # diff --git a/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Al_1033keV_EGSnrc.ascii b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Al_1033keV_EGSnrc.ascii new file mode 100644 index 0000000000..52c5cb6836 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Al_1033keV_EGSnrc.ascii @@ -0,0 +1,43 @@ +37 +0.0125 1.814 +0.0375 2.105 +0.0625 2.365 +0.0875 2.595 +0.1125 2.836 +0.1375 3.031 +0.1625 3.197 +0.1875 3.305 +0.2125 3.367 +0.2375 3.371 +0.2625 3.347 +0.2875 3.293 +0.3125 3.206 +0.3375 3.128 +0.3625 2.976 +0.3875 2.819 +0.4125 2.650 +0.4375 2.487 +0.4625 2.318 +0.4875 2.130 +0.5125 1.928 +0.5375 1.725 +0.5625 1.566 +0.5875 1.352 +0.6125 1.158 +0.6375 0.981 +0.6625 0.813 +0.6875 0.652 +0.7125 0.516 +0.7375 0.398 +0.7625 0.287 +0.7875 0.200 +0.8125 0.138 +0.8375 0.089 +0.8625 0.059 +0.8875 0.033 +0.9125 0.019 + +Aluminium +E=1033keV +(October 2010) + diff --git a/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Al_314keV_EGSnrc.ascii b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Al_314keV_EGSnrc.ascii new file mode 100644 index 0000000000..bf48883621 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Al_314keV_EGSnrc.ascii @@ -0,0 +1,42 @@ +37 +0.0125 2.635 +0.0375 3.148 +0.0625 3.605 +0.0875 4.044 +0.1125 4.398 +0.1375 4.687 +0.1625 4.930 +0.1875 5.054 +0.2125 5.083 +0.2375 5.025 +0.2625 4.957 +0.2875 4.859 +0.3125 4.685 +0.3375 4.557 +0.3625 4.368 +0.3875 4.134 +0.4125 3.868 +0.4375 3.609 +0.4625 3.355 +0.4875 3.046 +0.5125 2.746 +0.5375 2.445 +0.5625 2.143 +0.5875 1.863 +0.6125 1.607 +0.6375 1.339 +0.6625 1.111 +0.6875 0.881 +0.7125 0.691 +0.7375 0.526 +0.7625 0.384 +0.7875 0.266 +0.8125 0.176 +0.8375 0.117 +0.8625 0.074 +0.8875 0.043 +0.9125 0.022 + +Aluminium +E=314keV +(Ocotber 2010) diff --git a/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Al_521keV_EGSnrc.ascii b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Al_521keV_EGSnrc.ascii new file mode 100644 index 0000000000..b6b7bc57b2 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Al_521keV_EGSnrc.ascii @@ -0,0 +1,42 @@ +37 +0.0125 2.157 +0.0375 2.566 +0.0625 2.899 +0.0875 3.249 +0.1125 3.529 +0.1375 3.756 +0.1625 3.934 +0.1875 4.043 +0.2125 4.102 +0.2375 4.112 +0.2625 4.079 +0.2875 3.974 +0.3125 3.827 +0.3375 3.677 +0.3625 3.528 +0.3875 3.337 +0.4125 3.147 +0.4375 2.941 +0.4625 2.721 +0.4875 2.502 +0.5125 2.265 +0.5375 2.022 +0.5625 1.779 +0.5875 1.557 +0.6125 1.326 +0.6375 1.112 +0.6625 0.918 +0.6875 0.727 +0.7125 0.569 +0.7375 0.430 +0.7625 0.309 +0.7875 0.215 +0.8125 0.148 +0.8375 0.099 +0.8625 0.061 +0.8875 0.037 +0.9125 0.018 + +Aluminium +E=521keV +(October 2010) diff --git a/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Mo_500keV_EGSnrc.ascii b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Mo_500keV_EGSnrc.ascii new file mode 100644 index 0000000000..1f624ab4da --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Mo_500keV_EGSnrc.ascii @@ -0,0 +1,42 @@ +37 +0.0125 2.855 +0.0375 3.935 +0.0625 4.476 +0.0875 4.628 +0.1125 4.548 +0.1375 4.311 +0.1625 4.042 +0.1875 3.730 +0.2125 3.385 +0.2375 3.028 +0.2625 2.671 +0.2875 2.296 +0.3125 1.977 +0.3375 1.643 +0.3625 1.365 +0.3875 1.114 +0.4125 0.877 +0.4375 0.663 +0.4625 0.508 +0.4875 0.381 +0.5125 0.270 +0.5375 0.189 +0.5625 0.129 +0.5875 0.083 +0.6125 0.052 +0.6375 0.033 +0.6625 0.021 +0.6875 0.014 +0.7125 0.008 +0.7375 0.005 +0.7625 0.004 +0.7875 0.004 +0.8125 0.002 +0.8375 0.002 +0.8625 0.003 +0.8875 0.002 +0.9125 0.002 + +Molybdenum +E=500keV +(October 2010) diff --git a/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/README b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/README new file mode 100644 index 0000000000..50d2434907 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/README @@ -0,0 +1,26 @@ +------------------ +EGSnrc Simulations +------------------ + +These results were computed with the EGSnrc user code DOSRZnrc. + Yann Perrot (perrot@clermont.in2p3.fr) December 2010 + +Simulation parameters: +---------------------- + +Electron Stepping Algorithm : PRESTA-II +Boundary Crossing Algoritm : EXACT with skin parameter=3 +Maximum Energy Loss per Step : ESTEPE = 1% +Electron tracking cut : 10keV for E>=1MeV + 1keV for E<1MeV + +References: +---------- + +Rogers and Bielajew 1986 +Med. Phys. 13, 687-694 + +Rogers et al 2003 +NRC User Codes for EGSnrc +Technical Report PIRS-702(RevB) +National Research Council of Canada diff --git a/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Ta_1MeV_EGSnrc.ascii b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Ta_1MeV_EGSnrc.ascii new file mode 100644 index 0000000000..59bd9801e2 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Ta_1MeV_EGSnrc.ascii @@ -0,0 +1,29 @@ +24 +0.0125 2.629 +0.0375 3.628 +0.0625 3.829 +0.0875 3.701 +0.1125 3.433 +0.1375 3.089 +0.1625 2.691 +0.1875 2.315 +0.2125 1.952 +0.2375 1.590 +0.2625 1.262 +0.2875 0.976 +0.3125 0.742 +0.3375 0.556 +0.3625 0.397 +0.3875 0.282 +0.4125 0.191 +0.4375 0.130 +0.4625 0.088 +0.4875 0.059 +0.5125 0.040 +0.5375 0.027 +0.5625 0.021 +0.5875 0.015 + +Tantalum +E=1.0 MeV +(October 2010) diff --git a/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Ta_300keV_EGSnrc.ascii b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Ta_300keV_EGSnrc.ascii new file mode 100644 index 0000000000..1e7fa22081 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Ta_300keV_EGSnrc.ascii @@ -0,0 +1,29 @@ +24 +0.0125 3.686 +0.0375 5.048 +0.0625 5.289 +0.0875 5.080 +0.1125 4.667 +0.1375 4.197 +0.1625 3.648 +0.1875 3.080 +0.2125 2.601 +0.2375 2.097 +0.2625 1.645 +0.2875 1.237 +0.3125 0.902 +0.3375 0.658 +0.3625 0.473 +0.3875 0.329 +0.4125 0.210 +0.4375 0.137 +0.4625 0.083 +0.4875 0.052 +0.5125 0.030 +0.5375 0.020 +0.5625 0.013 +0.5875 0.011 + +Tantalum +E=300keV +(October 2010) diff --git a/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Ta_500keV_EGSnrc.ascii b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Ta_500keV_EGSnrc.ascii new file mode 100644 index 0000000000..b5bad7e80d --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/sandia/EGSnrc/Ta_500keV_EGSnrc.ascii @@ -0,0 +1,29 @@ +24 +0.0125 3.094 +0.0375 4.259 +0.0625 4.428 +0.0875 4.249 +0.1125 3.910 +0.1375 3.490 +0.1625 3.040 +0.1875 2.612 +0.2125 2.141 +0.2375 1.715 +0.2625 1.362 +0.2875 1.056 +0.3125 0.793 +0.3375 0.568 +0.3625 0.399 +0.3875 0.278 +0.4125 0.185 +0.4375 0.122 +0.4625 0.075 +0.4875 0.047 +0.5125 0.031 +0.5375 0.021 +0.5625 0.013 +0.5875 0.009 + +Tantalum +E=500keV +(October 2010) diff --git a/examples/extended/electromagnetic/TestEm11/sandia/sandia.C b/examples/extended/electromagnetic/TestEm11/sandia/sandia.C index 6a239a2000..4071c1f0c5 100644 --- a/examples/extended/electromagnetic/TestEm11/sandia/sandia.C +++ b/examples/extended/electromagnetic/TestEm11/sandia/sandia.C @@ -2,15 +2,21 @@ { gROOT->Reset(); - // Draw histogram fill by Geant4 TestEm11 simulation - TFile f("./Al.314keV.root"); - TH1D* h1d = (TH1D*) f.Get("8"); - h1d->SetTitle("Depth dose distribution of 314 keV e- in Al"); - h1d->GetXaxis()->SetTitle("Edep (Mev.cm2/g) along x/r0 x/r0"); - h1d->GetYaxis()->SetTitle("MeV*cm2/g"); - h1d->SetStats(kFALSE); // Eliminate statistics box - h1d->Draw("HIST"); - + // Draw histograms fill by Geant4 TestEm11 simulation + TFile f1("./Ta.1000keV.opt0.root"); + TH1D* h1 = (TH1D*) f1.Get("8"); + h1->SetTitle("Depth dose distribution of 1000 keV e- in Ta"); + h1->GetXaxis()->SetTitle("Edep (Mev.cm2/g) along x/r0 x/r0"); + h1->GetYaxis()->SetTitle("MeV*cm2/g"); + h1->SetStats(kFALSE); // Eliminate statistics box + h1->SetLineColor(4); // blue + h1->Draw("HIST"); + + TFile f2("./Ta.1000keV.opt2.root"); + TH1D* h2 = (TH1D*) f2.Get("8"); + h2->SetStats(kFALSE); // Eliminate statistics box + h2->SetLineColor(3); // green + h2->Draw("SAME HIST"); /* data * G.J.Lockwood et al. * Sandia report SAND79-0414.UC-34a, February 1987 @@ -18,7 +24,7 @@ */ ifstream in; - in.open("./data/Al_314keV.ascii"); + in.open("./data/Ta_1000keV.ascii"); TMarker *pt; Double_t x, y; @@ -36,7 +42,8 @@ // Print the histograms legend TLegend* legend = new TLegend(0.6,0.55,0.8,0.68); - legend->AddEntry(h1d,"G4-9.2-ref-04 ","l"); + legend->AddEntry(h1,"ref10-opt0 ","l"); + legend->AddEntry(h2,"ref10-opt2 ","l"); legend->AddEntry(pt,"Sandia data","P"); legend->Draw(); } diff --git a/examples/extended/electromagnetic/TestEm11/src/EventAction.cc b/examples/extended/electromagnetic/TestEm11/src/EventAction.cc index fa40afc920..4b788ad08b 100644 --- a/examples/extended/electromagnetic/TestEm11/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.2 2006/06/29 16:40:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.4 2010/06/07 05:40:45 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -36,9 +36,6 @@ #include "HistoManager.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -71,7 +68,7 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { //plot energy deposited per event // @@ -79,22 +76,6 @@ void EventAction::EndOfEventAction(const G4Event* evt) runAct->AddEdep(totalEdep); histoManager->FillHisto(2,totalEdep); } - - //trajectories - // - 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(1000); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(1000); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc index 53129150a1..761689f2e5 100644 --- a/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.10 2008/09/22 15:11:34 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.cc,v 1.11 2010/11/09 20:23:47 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "dummy"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; kreset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - - //Applicability range for Livermore models - //for higher energies, the Standard models are used - G4double highEnergyLimit = 1*GeV; - + if (particleName == "gamma") { - // gamma - - G4PhotoElectricEffect* phot = new G4PhotoElectricEffect(); - G4LivermorePhotoElectricModel* - photModel = new G4LivermorePhotoElectricModel(); - photModel->SetHighEnergyLimit(highEnergyLimit); - phot->AddEmModel(0, photModel); - pmanager->AddDiscreteProcess(phot); - - G4ComptonScattering* compt = new G4ComptonScattering(); - G4LivermoreComptonModel* - comptModel = new G4LivermoreComptonModel(); - comptModel->SetHighEnergyLimit(highEnergyLimit); - compt->AddEmModel(0, comptModel); - pmanager->AddDiscreteProcess(compt); - - G4GammaConversion* conv = new G4GammaConversion(); - G4LivermoreGammaConversionModel* - convModel = new G4LivermoreGammaConversionModel(); - convModel->SetHighEnergyLimit(highEnergyLimit); - conv->AddEmModel(0, convModel); - pmanager->AddDiscreteProcess(conv); - - G4RayleighScattering* rayl = new G4RayleighScattering(); - G4LivermoreRayleighModel* - raylModel = new G4LivermoreRayleighModel(); - raylModel->SetHighEnergyLimit(highEnergyLimit); - rayl->AddEmModel(0, raylModel); - pmanager->AddDiscreteProcess(rayl); + // gamma + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); + pmanager->AddDiscreteProcess(new G4ComptonScattering); + pmanager->AddDiscreteProcess(new G4GammaConversion); } else if (particleName == "e-") { //electron - - G4eIonisation* eIoni = new G4eIonisation(); - G4LivermoreIonisationModel* - eIoniModel = new G4LivermoreIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1, 1, 1); - - G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4LivermoreBremsstrahlungModel* - eBremModel = new G4LivermoreBremsstrahlungModel(); - eBremModel->SetHighEnergyLimit(highEnergyLimit); - eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1, 2, 2); - + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); + pmanager->AddProcess(msc, -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 G4eIonisation, -1, 1, 1); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); - - } else if( particleName == "mu+" || + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); + pmanager->AddProcess(msc, -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 G4MuIonisation, -1, 1, 1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); - pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); + 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-" || + 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 == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); - + } else if( particleName == "alpha" || + particleName == "He3" ) { + //alpha + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if( particleName == "GenericIon" ) { + //Ions + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + pmanager->AddProcess(ionIoni, -1, 2, 2); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1, 1, 1); + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); } } } diff --git a/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandardSS.cc b/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandardSS.cc new file mode 100644 index 0000000000..efbce2d003 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandardSS.cc @@ -0,0 +1,125 @@ +// +// ******************************************************************** +// * 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: PhysListEmStandardSS.cc,v 1.1 2010/05/25 21:03:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandardSS.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4CoulombScattering.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" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardSS::PhysListEmStandardSS(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardSS::~PhysListEmStandardSS() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandardSS::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->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddProcess(new G4eIonisation, -1, 1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); + + } else if (particleName == "e+") { + //positron + pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddProcess(new G4eIonisation, -1, 1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); + + } else if (particleName == "mu+" || + particleName == "mu-" ) { + //muon + pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); + pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); + + } else if (particleName == "alpha" || particleName == "He3") { + pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + + } else if (particleName == "GenericIon" ) { + G4CoulombScattering* cs = new G4CoulombScattering(); + cs->SetBuildTableFlag(false); + pmanager->AddDiscreteProcess(cs); + pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddProcess(new G4hIonisation, -1, 1, 1); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandardWVI.cc b/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandardWVI.cc new file mode 100644 index 0000000000..b18b7954a4 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandardWVI.cc @@ -0,0 +1,182 @@ +// +// ******************************************************************** +// * 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: PhysListEmStandardWVI.cc,v 1.1 2010/05/25 21:03:44 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandardWVI.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4eMultipleScattering.hh" +#include "G4WentzelVIModel.hh" +#include "G4CoulombScattering.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" + +#include "G4ionIonisation.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4NuclearStopping.hh" + +#include "G4EmProcessOptions.hh" +#include "G4MscStepLimitType.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardWVI::PhysListEmStandardWVI(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardWVI::~PhysListEmStandardWVI() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandardWVI::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 + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 4); + + } else if (particleName == "e+") { + //positron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 5); + + } else if (particleName == "mu+" || + particleName == "mu-" ) { + //muon + G4MuMultipleScattering* msc = new G4MuMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -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 G4CoulombScattering, -1,-1, 5); + + } else if( particleName == "proton" || + particleName == "pi-" || + particleName == "pi+" ) { + //proton + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4hBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4hPairProduction, -1, 4, 4); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 5); + + } else if( particleName == "alpha" || + particleName == "He3" ) { + //alpha + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if( particleName == "GenericIon" ) { + //Ions + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + pmanager->AddProcess(ionIoni, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + } + } + + // Em options + // + // Main options and setting parameters are shown here. + // Several of them have default values. + // + G4EmProcessOptions emOptions; + + //multiple coulomb scattering + // + emOptions.SetPolarAngleLimit(0.2); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc index 3e45d84110..f6c4102f8e 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.7 2009/09/22 14:20:31 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.8 2010/05/20 13:02:41 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,6 +33,9 @@ #include "PhysicsListMessenger.hh" #include "PhysListEmStandard.hh" +#include "PhysListEmStandardSS.hh" +#include "PhysListEmStandardGS.hh" +#include "PhysListEmStandardWVI.hh" #include "G4EmStandardPhysics.hh" #include "G4EmStandardPhysics_option1.hh" @@ -240,7 +243,25 @@ void PhysicsList::AddPhysicsList(const G4String& name) emName = name; delete emPhysicsList; emPhysicsList = new G4EmStandardPhysics_option3(); - + + } else if (name == "standardSS") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandardSS(name); + + } else if (name == "standardGS") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandardGS(name); + + } else if (name == "standardWVI") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandardWVI(name); + } else if (name == "emlivermore") { emName = name; delete emPhysicsList; diff --git a/examples/extended/electromagnetic/TestEm11/vis.mac b/examples/extended/electromagnetic/TestEm11/vis.mac index 6e0fbdd989..bb7b1eb674 100644 --- a/examples/extended/electromagnetic/TestEm11/vis.mac +++ b/examples/extended/electromagnetic/TestEm11/vis.mac @@ -9,24 +9,71 @@ # /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 OGLIX +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# Draw scene -/vis/viewer/zoom 1.4 -/vis/viewer/flush +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks all - +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm12/History b/examples/extended/electromagnetic/TestEm12/History index 1522c20b73..a042a3fd7e 100644 --- a/examples/extended/electromagnetic/TestEm12/History +++ b/examples/extended/electromagnetic/TestEm12/History @@ -1,4 +1,4 @@ -$Id: History,v 1.30 2009/11/16 16:18:27 maire Exp $ +$Id: History,v 1.36 2010/12/06 12:24:10 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,24 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +05-12-10 mma (testem12-V09-03-05) +- subdirectory berger : results of EGSnrc simulation + +09-11-10 M.Asai (testem12-V09-03-04) +- Fix AIDA file option. + +06-06-10 J.Perl (testem12-V09-03-03) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem12-V09-03-02) +- Updated vis usage + +25-05-10 mma (testem12-V09-03-01) +- add PhysListStandardGS, PhysListStandardSS, PhysListStandardWVI + +20-05-10 mma (testem12-V09-03-00) +- TestEm12.cc : introduction of G4UIExecutive + 16-11-09 mma (testem12-V09-02-01) - PhysListEmStandard copied from TestEm5 diff --git a/examples/extended/electromagnetic/TestEm12/TestEm12.cc b/examples/extended/electromagnetic/TestEm12/TestEm12.cc index 5b56d20ad5..d52ccbf22c 100644 --- a/examples/extended/electromagnetic/TestEm12/TestEm12.cc +++ b/examples/extended/electromagnetic/TestEm12/TestEm12.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TestEm12.cc,v 1.4 2006/06/29 16:41:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm12.cc,v 1.5 2010/05/20 13:13:33 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -50,6 +48,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -70,12 +72,6 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(det = new DetectorConstruction); runManager->SetUserInitialization(phys = new PhysicsList); runManager->SetUserAction(kin = new PrimaryGeneratorAction(det)); - -#ifdef G4VIS_USE - //visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); -#endif //set user action classes HistoManager* histo = new HistoManager(); @@ -90,29 +86,33 @@ int main(int argc,char** argv) { //get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); - if (argc==1) // Define UI terminal for interactive mode - { - G4UIsession* session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; - } - else // Batch mode - { + 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 + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif + } //job termination -#ifdef G4VIS_USE - delete visManager; -#endif - + // delete histo; delete runManager; diff --git a/examples/extended/electromagnetic/TestEm12/TestEm12.out b/examples/extended/electromagnetic/TestEm12/TestEm12.out index ffaead8926..3e31685da0 100644 --- a/examples/extended/electromagnetic/TestEm12/TestEm12.out +++ b/examples/extended/electromagnetic/TestEm12/TestEm12.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,68 +13,35 @@ ***** Table : Nb of materials = 8 ***** - Material: G4_Al density: 2.699 g/cm3 RadL: 8.896 cm Nucl.Int.Length: 38.894 cm Imean: 166.000 eV + Material: G4_Al density: 2.699 g/cm3 RadL: 8.896 cm Nucl.Int.Length: 38.877 cm Imean: 166.000 eV ---> Element: Al (Al) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Si density: 2.330 g/cm3 RadL: 9.366 cm Nucl.Int.Length: 45.660 cm Imean: 173.000 eV + Material: G4_Si density: 2.330 g/cm3 RadL: 9.366 cm Nucl.Int.Length: 45.753 cm Imean: 173.000 eV ---> Element: Si (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Fe density: 7.874 g/cm3 RadL: 1.757 cm Nucl.Int.Length: 16.990 cm Imean: 286.000 eV + Material: G4_Fe density: 7.874 g/cm3 RadL: 1.757 cm Nucl.Int.Length: 16.959 cm Imean: 286.000 eV ---> Element: Fe (Fe) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Ge density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.431 cm Imean: 350.000 eV + Material: G4_Ge density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.334 cm Imean: 350.000 eV ---> Element: Ge (Ge) Z = 32.0 N = 72.6 A = 72.61 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_W density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.312 cm Imean: 727.000 eV + Material: G4_W density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.306 cm Imean: 727.000 eV ---> Element: W (W) Z = 74.0 N = 183.8 A = 183.84 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Pb density: 11.350 g/cm3 RadL: 5.613 mm Nucl.Int.Length: 18.248 cm Imean: 823.000 eV + Material: G4_Pb density: 11.350 g/cm3 RadL: 5.613 mm Nucl.Int.Length: 18.261 cm Imean: 823.000 eV ---> Element: Pb (Pb) Z = 82.0 N = 207.2 A = 207.22 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_AIR density: 1.205 mg/cm3 RadL: 303.921 m Nucl.Int.Length: 710.095 m Imean: 85.700 eV temperature: 273.15 K pressure: 1.00 atm + Material: G4_AIR density: 1.205 mg/cm3 RadL: 303.921 m Nucl.Int.Length: 710.261 m Imean: 85.700 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 0.01 % ElmAbundance 0.02 % ---> Element: N (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 75.53 % ElmAbundance 78.44 % ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 23.18 % ElmAbundance 21.07 % ---> Element: Ar (Ar) Z = 18.0 N = 39.9 A = 39.95 g/mole ElmMassFraction: 1.28 % ElmAbundance 0.47 % - Material: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.423 cm Imean: 78.000 eV + Material: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.517 cm Imean: 78.000 eV ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 % ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.81 % ElmAbundance 33.33 % -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 2 # /testem/det/setMat G4_WATER @@ -125,240 +92,240 @@ PhysicsList::SetCuts:CutLength : 1 mm 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 240 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 240 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 100 TeV + UrbanMsc93 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.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)= 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 CSDA range table up to 1 GeV in 160 bins eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 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 + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.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)= 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 CSDA range table up to 1 GeV in 160 bins eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 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 + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 240 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 240 bins, spline: 1 - RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 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 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV CSDA range table up to 1 GeV in 160 bins hBrems: for proton SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 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, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - Stopping Power data for 17 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 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ParamICRU73 : Emin= 0 eV Emax= 100 TeV + ParamICRU73 : Emin= 0 eV Emax= 10 TeV CSDA range table up to 1 GeV in 160 bins nuclearStopping: for GenericIon SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 100 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV nuclearStopping: for alpha SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 100 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV CSDA range table up to 1 GeV in 160 bins -hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV CSDA range table up to 1 GeV in 160 bins hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 + dE/dx 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= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV CSDA range table up to 1 GeV in 160 bins muMsc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 240 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, polarAngleLimit(deg)= 0 + 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= 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.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)= 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV CSDA range table up to 1 GeV in 160 bins muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.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)= 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV CSDA range table up to 1 GeV in 160 bins muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 + dE/dx 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= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV CSDA range table up to 1 GeV in 160 bins hBrems: for pi+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins, spline: 1 - RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 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 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 + dE/dx 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= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV CSDA range table up to 1 GeV in 160 bins hBrems: for pi- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 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 Region -- appears in world volume Root logical volume(s) : Absorber @@ -389,7 +356,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics Current couple of seeds = 9876, 54321 ---------------------------------------- ----> stepMax from HistoManager = 2e+02 um +---> stepMax from HistoManager = 200 um Start Run processing. ---> Begin of Event: 0 @@ -414,7 +381,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=42.24s Real=42.48s Sys=0.24s + User=31.58s Real=32.65s Sys=0.31s ======================== run summary ====================== @@ -422,21 +389,19 @@ Run Summary ============================================================ - Total Energy deposited = 3.936 MeV +- 229.975 keV + Total Energy deposited = 3.937 MeV +- 225.962 keV - Track length of primary track = 2.043 cm +- 2.828 mm + Track length of primary track = 2.038 cm +- 2.841 mm Range from EmCalculator = 2.048 cm (from full dE/dx) - Projected range = 1.315 cm +- 4.209 mm + Projected range = 1.306 cm +- 4.241 mm - Nb of steps of primary track = 241.38 +- 31.51 Step size= 84.614 um +- 4.532 um + Nb of steps of primary track = 240.82 +- 31.65 Step size= 84.619 um +- 4.544 um --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 2012808689, 1315739825 + Current couple of seeds = 1150369497, 2116195687 ---------------------------------------- -Graphics systems deleted. -Visualization Manager deleting... UserDetectorConstruction deleted. UserPhysicsList deleted. UserRunAction deleted. diff --git a/examples/extended/electromagnetic/TestEm12/berger.mac b/examples/extended/electromagnetic/TestEm12/berger.mac index 077289321f..2cf776935a 100644 --- a/examples/extended/electromagnetic/TestEm12/berger.mac +++ b/examples/extended/electromagnetic/TestEm12/berger.mac @@ -1,8 +1,9 @@ -# $Id: berger.mac,v 1.8 2009/09/22 15:18:20 maire Exp $ +# $Id: berger.mac,v 1.10 2010/12/06 12:24:10 maire Exp $ # # macro for TestEm12 : Dose Point Kernel # Seltzer, Appl. Radiat. Isot. 42(1991) page 917 -# L. Ferrer et al. Cancer Bio. Rad. 22-1 (2007) +# L. Ferrer et al. Cancer Bio. Rad. 22-1 (2007) +# Mainegra et al. Med. Phys. 32, 685-699 (2005) # /control/verbose 2 /run/verbose 2 @@ -10,19 +11,18 @@ /testem/det/setMat G4_WATER /testem/det/setRadius 3 cm # -/testem/phys/addPhysics local # em physics -/testem/phys/setCuts 2 um +/testem/phys/addPhysics emstandard_opt0 # em physics +# +/run/setCut 2 um #will include cut for proton # /run/initialize # /gun/particle e- -/gun/energy 1 MeV +/gun/energy 100 keV # -###/testem/histo/setFileType hbook /testem/histo/setFileType root -/testem/histo/setFileName berger/1MeV +/testem/histo/setFileName berger/100keV.opt0 /testem/histo/setHisto 8 120 0. 1.2 none #normalized edep profile -##/testem/histo/printHisto 8 #ascii # /testem/event/printModulo 10000 # diff --git a/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/100keV-DPK.ascii b/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/100keV-DPK.ascii new file mode 100644 index 0000000000..c8b81cb53e --- /dev/null +++ b/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/100keV-DPK.ascii @@ -0,0 +1,29 @@ +24 +0.029 0.577 +0.076 0.630 +0.126 0.680 +0.176 0.739 +0.225 0.813 +0.275 0.900 +0.325 1.002 +0.375 1.120 +0.425 1.248 +0.475 1.375 +0.525 1.494 +0.575 1.572 +0.625 1.601 +0.675 1.553 +0.725 1.402 +0.775 1.190 +0.825 0.916 +0.875 0.614 +0.925 0.349 +0.975 0.157 +1.025 0.050 +1.075 0.009 +1.125 0.001 +1.175 0.000 + +Water +E=100keV +(October 2010) diff --git a/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/10keV-DPK.ascii b/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/10keV-DPK.ascii new file mode 100644 index 0000000000..0202c60c4e --- /dev/null +++ b/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/10keV-DPK.ascii @@ -0,0 +1,29 @@ +24 +0.029 0.559 +0.076 0.617 +0.126 0.681 +0.176 0.755 +0.225 0.839 +0.275 0.940 +0.325 1.048 +0.375 1.172 +0.425 1.291 +0.475 1.405 +0.525 1.504 +0.575 1.554 +0.625 1.558 +0.675 1.507 +0.725 1.383 +0.775 1.188 +0.825 0.923 +0.875 0.631 +0.925 0.332 +0.975 0.103 +1.025 0.009 +1.075 0.000 +1.125 0.000 +1.175 0.000 + +Water +E=10keV +(October 2010) diff --git a/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/15keV-DPK.ascii b/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/15keV-DPK.ascii new file mode 100644 index 0000000000..c69f3a41a3 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/15keV-DPK.ascii @@ -0,0 +1,29 @@ +24 +0.029 0.557 +0.076 0.613 +0.126 0.671 +0.176 0.747 +0.225 0.830 +0.275 0.929 +0.325 1.038 +0.375 1.159 +0.425 1.281 +0.475 1.393 +0.525 1.495 +0.575 1.559 +0.625 1.557 +0.675 1.513 +0.725 1.376 +0.775 1.177 +0.825 0.921 +0.875 0.638 +0.925 0.366 +0.975 0.149 +1.025 0.030 +1.075 0.001 +1.125 0.000 +1.175 0.000 + +Water +E=15keV +(October 2010) diff --git a/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/1MeV-DPK.ascii b/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/1MeV-DPK.ascii new file mode 100644 index 0000000000..ff5cc557f7 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/1MeV-DPK.ascii @@ -0,0 +1,29 @@ +24 +0.029 0.764 +0.076 0.814 +0.126 0.850 +0.176 0.886 +0.225 0.930 +0.275 0.984 +0.325 1.050 +0.375 1.130 +0.425 1.222 +0.475 1.318 +0.525 1.405 +0.575 1.466 +0.625 1.483 +0.675 1.436 +0.725 1.313 +0.775 1.103 +0.825 0.834 +0.875 0.536 +0.925 0.279 +0.975 0.104 +1.025 0.024 +1.075 0.002 +1.125 0.000 +1.175 0.000 + +Water +E=1.0 MeV +(October 2010) diff --git a/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/README b/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/README new file mode 100644 index 0000000000..8f0ce6b57b --- /dev/null +++ b/examples/extended/electromagnetic/TestEm12/berger/EGSnrc/README @@ -0,0 +1,27 @@ +------------------ +EGSnrc Simulations +------------------ + +These results were computed with the EGSnrc user code EDKnrc, +developed by E. Mainegra et al. + Yann Perrot (perrot@clermont.in2p3.fr) December 2010 + +Simulation parameters: +---------------------- + +Electron Stepping Algorithm : PRESTA-II +Boundary Crossing Algoritm : EXACT with skin parameter=3 +Maximum Energy Loss per Step : ESTEPE = 1% +Electron tracking cut : 10keV for E>=1MeV + 1keV for E<1MeV + +References: +---------- + +Mainegra et al 2005 +Med. Phys. 32, 685-99 + +Rogers et al 2003 +NRC User Codes for EGSnrc +Technical Report PIRS-702(RevB) +National Research Council of Canada diff --git a/examples/extended/electromagnetic/TestEm12/berger/data/100keV-DPK.ascii b/examples/extended/electromagnetic/TestEm12/berger/Etran/100keV-DPK.ascii similarity index 100% rename from examples/extended/electromagnetic/TestEm12/berger/data/100keV-DPK.ascii rename to examples/extended/electromagnetic/TestEm12/berger/Etran/100keV-DPK.ascii diff --git a/examples/extended/electromagnetic/TestEm12/berger/data/10keV-DPK.ascii b/examples/extended/electromagnetic/TestEm12/berger/Etran/10keV-DPK.ascii similarity index 100% rename from examples/extended/electromagnetic/TestEm12/berger/data/10keV-DPK.ascii rename to examples/extended/electromagnetic/TestEm12/berger/Etran/10keV-DPK.ascii diff --git a/examples/extended/electromagnetic/TestEm12/berger/data/1MeV-DPK.ascii b/examples/extended/electromagnetic/TestEm12/berger/Etran/1MeV-DPK.ascii similarity index 100% rename from examples/extended/electromagnetic/TestEm12/berger/data/1MeV-DPK.ascii rename to examples/extended/electromagnetic/TestEm12/berger/Etran/1MeV-DPK.ascii diff --git a/examples/extended/electromagnetic/TestEm12/berger/data/500keV-DPK.ascii b/examples/extended/electromagnetic/TestEm12/berger/Etran/500keV-DPK.ascii similarity index 100% rename from examples/extended/electromagnetic/TestEm12/berger/data/500keV-DPK.ascii rename to examples/extended/electromagnetic/TestEm12/berger/Etran/500keV-DPK.ascii diff --git a/examples/extended/electromagnetic/TestEm12/berger/berger.C b/examples/extended/electromagnetic/TestEm12/berger/berger.C index 371918c5cc..31d0234dc2 100644 --- a/examples/extended/electromagnetic/TestEm12/berger/berger.C +++ b/examples/extended/electromagnetic/TestEm12/berger/berger.C @@ -1,14 +1,16 @@ { gROOT->Reset(); - /* data - * Seltzer, Appl. Radiat. Isot. 42(1991) page 917 + /* + * Mainegra et al. Med. Phys. 32, 685-699 (2005) + * Seltzer, Appl. Radiat. Isot. 42 (1991) page 917 * L. Ferrer et al. Cancer Bio. Rad. 22-1 (2007) */ ifstream in; - in.open("./data/1MeV-DPK.ascii"); - + in.open("./EGSnrc/10keV-DPK.ascii"); + //in.open("./Etran/10keV-DPK.ascii"); + // Create a new histogram double x_min = 0; double x_max = 1.2; @@ -27,23 +29,30 @@ in.close(); // Draw histogram - h1d->SetTitle("Dose point kernel : energy deposition profile, e- 1 MeV"); + h1d->SetTitle("Dose point kernel : energy deposition profile, e- 10 keV"); h1d->GetXaxis()->SetTitle("d(E/E0)/d(r/r0) along r/r0 r/r0"); h1d->GetYaxis()->SetTitle("DPK"); h1d->SetStats(kFALSE); // Eliminate statistics box - h1d->SetLineColor(2); + h1d->SetLineColor(1); h1d->Draw("L"); - // Draw histogram fill by Geant4 TestEm12 simulation - TFile f("./1MeV.root"); - TH1D* hroot = (TH1D*) f.Get("8"); - hroot->Draw("SAME HIST"); - + // Draw histograms fill by Geant4 TestEm12 simulation + TFile f1("./10keV.opt0.root"); + TH1D* h1 = (TH1D*) f1.Get("8"); + h1->SetLineColor(4); + h1->Draw("SAME HIST"); + + TFile f2("./10keV.opt3.root"); + TH1D* h2 = (TH1D*) f2.Get("8"); + h2->SetLineColor(4); + h2->Draw("SAME HIST"); + // Print the histograms legend TLegend *legend = new TLegend(0.7,0.65,0.9,0.78); - legend->AddEntry(hroot,"G4-9.2-ref-04 ","l"); - legend->AddEntry(h1d,"Etran simul","l"); + legend->AddEntry(h1,"opt0 ","l"); + legend->AddEntry(h2,"opt3 ","l"); + legend->AddEntry(h1d,"EGSnrc simul","l"); legend->Draw(); } diff --git a/examples/extended/electromagnetic/TestEm12/berger/berger.kumac b/examples/extended/electromagnetic/TestEm12/berger/berger.kumac index c29c923016..c5208d2bf9 100644 --- a/examples/extended/electromagnetic/TestEm12/berger/berger.kumac +++ b/examples/extended/electromagnetic/TestEm12/berger/berger.kumac @@ -11,21 +11,29 @@ set ygti 0.5 ; set gsiz 0.35 ; set ymgu 1.5 set vsiz 0.25 ; set yval 0.3 ; set ylab 0.55 set asiz 0.25 ; set yhti 0.9 ; set xlab 1.2 -title 'e- 1 MeV in water : Dose Point Kernel' +title 'e- 500 keV in water : Dose Point Kernel' * -h/file 1 1mev.spline.001.hbook +h/file 1 opt0.500kev.hbook +h/file 2 opt2.500kev.hbook * opt grid * set dmod 1 ; set hcol 4 ; set plci 4 h/pl //lun1/8 -key 0.2 0.65 1 'G4-9.1-ref-08++' ! l +key 0.2 0.65 1 'ref10-opt0 (urban)' ! l +* +set dmod 1 ; set hcol 2 ; set plci 2 +h/pl //lun2/8 s +key 0.2 0.55 1 'ref10-opt2 (urban2)' ! l + atitle 'r/r0' 'DPK' * *** data * Berger & Seltzer, Appl. Radiat. Isot. 42(1991) page 917 -* -fname = 'data/1MeV-DPK.ascii' +* Mainegra et al. Med. Phys. 32, 685-699 (2005) +* +*fname = 'EGSnrc/1MeV-DPK.ascii' +fname = 'Etran/500keV-DPK.ascii' vector/create nb(1) vector/read nb [fname] ! 'O' @@ -35,15 +43,15 @@ vector/read vect [fname] ! 'C' ***vector/write vect ! (1x,f6.4,3x,f5.3) set mtyp 22 -set pmci 2 +set pmci 3 graph [nbin] vect(1) vect(2) P vector/create xmark(1) vector/create mark(1) vector/input xmark 0.15 -vector/input mark 0.55 +vector/input mark 0.45 graph 1 xmark mark P -itx 0.24 0.54 'Etran simul' +itx 0.24 0.45 'EGSnrc simul' exec Redraw-Axis close 1 diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardGS.hh b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardGS.hh new file mode 100644 index 0000000000..d43cdf410b --- /dev/null +++ b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardGS.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: PhysListEmStandardGS.hh,v 1.1 2010/05/25 20:57:05 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandardGS_h +#define PhysListEmStandardGS_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandardGS : public G4VPhysicsConstructor +{ +public: + PhysListEmStandardGS(const G4String& name = "standardGS"); + virtual ~PhysListEmStandardGS(); + +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(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardSS.hh b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardSS.hh new file mode 100644 index 0000000000..4ff9b02212 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardSS.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: PhysListEmStandardSS.hh,v 1.1 2010/05/25 20:57:05 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandardSS_h +#define PhysListEmStandardSS_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandardSS : public G4VPhysicsConstructor +{ +public: + PhysListEmStandardSS(const G4String& name = "standardSS"); + virtual ~PhysListEmStandardSS(); + +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(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardWVI.hh b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardWVI.hh new file mode 100644 index 0000000000..bd67652748 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandardWVI.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. * +// ******************************************************************** +// +// +// $Id: PhysListEmStandardWVI.hh,v 1.1 2010/05/25 20:57:05 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandardWVI_h +#define PhysListEmStandardWVI_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandardWVI : public G4VPhysicsConstructor +{ + public: + PhysListEmStandardWVI(const G4String& name = "standardWVI"); + ~PhysListEmStandardWVI(); + + 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(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm12/src/EventAction.cc b/examples/extended/electromagnetic/TestEm12/src/EventAction.cc index 71c9adb442..ed7161bd5a 100644 --- a/examples/extended/electromagnetic/TestEm12/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.2 2006/06/29 16:43:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.4 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -36,9 +36,6 @@ #include "HistoManager.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -71,7 +68,7 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { //plot energy deposited per event // @@ -79,22 +76,6 @@ void EventAction::EndOfEventAction(const G4Event* evt) runAct->AddEdep(totalEdep); histoManager->FillHisto(2,totalEdep); } - - //trajectories - // - 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(1000); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(1000); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc index c6c6173546..3a8bd0a238 100644 --- a/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.11 2008/09/23 20:48:12 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.cc,v 1.12 2010/11/09 20:49:08 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "testem12"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; kAddProcess(new G4hIonisation, -1, 2, 2); } } - +/* // Em options // // Main options and setting parameters are shown here. @@ -178,6 +180,7 @@ void PhysListEmStandard::ConstructProcess() //ionization // emOptions.SetSubCutoff(false); //default +*/ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardGS.cc b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardGS.cc new file mode 100644 index 0000000000..3d5583fe96 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardGS.cc @@ -0,0 +1,150 @@ +// +// ******************************************************************** +// * 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: PhysListEmStandardGS.cc,v 1.1 2010/05/25 20:57:05 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandardGS.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4eMultipleScattering.hh" +#include "G4GoudsmitSaundersonMscModel.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" + +#include "G4ionIonisation.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4NuclearStopping.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardGS::PhysListEmStandardGS(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardGS::~PhysListEmStandardGS() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandardGS::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 + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + + } else if (particleName == "e+") { + //positron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); + pmanager->AddProcess(msc, -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 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-" || + 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" ) { + //alpha + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if( particleName == "GenericIon" ) { + //Ions + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + pmanager->AddProcess(ionIoni, -1, 2, 2); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } 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); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardSS.cc b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardSS.cc new file mode 100644 index 0000000000..bed44701b5 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardSS.cc @@ -0,0 +1,125 @@ +// +// ******************************************************************** +// * 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: PhysListEmStandardSS.cc,v 1.1 2010/05/25 20:57:05 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandardSS.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4CoulombScattering.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" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardSS::PhysListEmStandardSS(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardSS::~PhysListEmStandardSS() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandardSS::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->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddProcess(new G4eIonisation, -1, 1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); + + } else if (particleName == "e+") { + //positron + pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddProcess(new G4eIonisation, -1, 1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); + + } else if (particleName == "mu+" || + particleName == "mu-" ) { + //muon + pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); + pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); + + } else if (particleName == "alpha" || particleName == "He3") { + pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + + } else if (particleName == "GenericIon" ) { + G4CoulombScattering* cs = new G4CoulombScattering(); + cs->SetBuildTableFlag(false); + pmanager->AddDiscreteProcess(cs); + pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddProcess(new G4hIonisation, -1, 1, 1); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardWVI.cc b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardWVI.cc new file mode 100644 index 0000000000..333a7d293d --- /dev/null +++ b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandardWVI.cc @@ -0,0 +1,182 @@ +// +// ******************************************************************** +// * 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: PhysListEmStandardWVI.cc,v 1.1 2010/05/25 20:57:05 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandardWVI.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4eMultipleScattering.hh" +#include "G4WentzelVIModel.hh" +#include "G4CoulombScattering.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" + +#include "G4ionIonisation.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4NuclearStopping.hh" + +#include "G4EmProcessOptions.hh" +#include "G4MscStepLimitType.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardWVI::PhysListEmStandardWVI(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardWVI::~PhysListEmStandardWVI() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandardWVI::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 + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 4); + + } else if (particleName == "e+") { + //positron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 5); + + } else if (particleName == "mu+" || + particleName == "mu-" ) { + //muon + G4MuMultipleScattering* msc = new G4MuMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -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 G4CoulombScattering, -1,-1, 5); + + } else if( particleName == "proton" || + particleName == "pi-" || + particleName == "pi+" ) { + //proton + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4hBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4hPairProduction, -1, 4, 4); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 5); + + } else if( particleName == "alpha" || + particleName == "He3" ) { + //alpha + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if( particleName == "GenericIon" ) { + //Ions + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + pmanager->AddProcess(ionIoni, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + } + } + + // Em options + // + // Main options and setting parameters are shown here. + // Several of them have default values. + // + G4EmProcessOptions emOptions; + + //multiple coulomb scattering + // + emOptions.SetPolarAngleLimit(0.2); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc index 2fc7c71f3f..1a94cdcfe2 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.8 2009/09/22 15:18:20 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.9 2010/05/20 13:13:33 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,6 +33,9 @@ #include "PhysicsListMessenger.hh" #include "PhysListEmStandard.hh" +#include "PhysListEmStandardSS.hh" +#include "PhysListEmStandardGS.hh" +#include "PhysListEmStandardWVI.hh" #include "G4EmStandardPhysics.hh" #include "G4EmStandardPhysics_option1.hh" @@ -240,7 +243,25 @@ void PhysicsList::AddPhysicsList(const G4String& name) emName = name; delete emPhysicsList; emPhysicsList = new G4EmStandardPhysics_option3(); - + + } else if (name == "standardSS") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandardSS(name); + + } else if (name == "standardGS") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandardGS(name); + + } else if (name == "standardWVI") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandardWVI(name); + } else if (name == "emlivermore") { emName = name; delete emPhysicsList; diff --git a/examples/extended/electromagnetic/TestEm12/vis.mac b/examples/extended/electromagnetic/TestEm12/vis.mac index 1e288c5f4c..9747fc6357 100644 --- a/examples/extended/electromagnetic/TestEm12/vis.mac +++ b/examples/extended/electromagnetic/TestEm12/vis.mac @@ -9,25 +9,71 @@ # /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 OGLIX +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# Draw scene -/vis/viewer/set/style surface -/vis/viewer/zoom 1.4 -/vis/viewer/flush +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +/vis/viewer/set/style surface +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks all - +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm13/History b/examples/extended/electromagnetic/TestEm13/History index 4e85fce585..a9cd20ff8d 100644 --- a/examples/extended/electromagnetic/TestEm13/History +++ b/examples/extended/electromagnetic/TestEm13/History @@ -1,4 +1,4 @@ -$Id: History,v 1.18 2009/11/19 17:30:25 maire Exp $ +$Id: History,v 1.22 2010/06/07 05:40:46 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,24 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +06-06-10 J.Perl (testem13-V09-03-03) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem13-V09-03-02) +- Updated vis usage + +05-04-10 mma (testem13-V09-03-01) +- PhysicsList: remove non pertinent EmOptions +- RunAction: replace ProcessCount by map + +02-04-10 mma (testem13-V09-03-00) +- PhysicsList: extend ProductionCuts down to 100 eV +- PhysListEmStandard, Livermore, Penelope: + all processes registered as discrete -> no continuous Eloss +- cleanup SteppingAction +- TestEm14.cc : introduction of G4UIExecutive +- update README + 19-11-09 mma (testem13-V09-02-01) - add new livermore and penelope physics lists diff --git a/examples/extended/electromagnetic/TestEm13/README b/examples/extended/electromagnetic/TestEm13/README index f69b2c5244..8e4f6f08cb 100644 --- a/examples/extended/electromagnetic/TestEm13/README +++ b/examples/extended/electromagnetic/TestEm13/README @@ -1,4 +1,4 @@ -$Id: README,v 1.4 2006/05/15 14:42:42 maire Exp $ +$Id: README,v 1.5 2010/04/02 15:46:31 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -26,9 +26,9 @@ $Id: README,v 1.4 2006/05/15 14:42:42 maire Exp $ 2- PHYSICS LIST The physics list contains the standard electromagnetic processes. - In order not to introduce 'articicial' constraints on the step size, the - multiple scattering is not instanciated, and there is no limitation from - the maximum energy lost per step. + In order not to introduce 'artificial' constraints on the step size, the + multiple scattering is not instanciated, and all processes are + registered as discrete : there is no continuous energy loss. 3- AN EVENT : THE PRIMARY GENERATOR diff --git a/examples/extended/electromagnetic/TestEm13/TestEm13.cc b/examples/extended/electromagnetic/TestEm13/TestEm13.cc index a41e829042..2add21227e 100644 --- a/examples/extended/electromagnetic/TestEm13/TestEm13.cc +++ b/examples/extended/electromagnetic/TestEm13/TestEm13.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TestEm13.cc,v 1.5 2007/06/24 22:26:54 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm13.cc,v 1.6 2010/04/02 15:46:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -48,6 +46,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -90,15 +92,12 @@ int main(int argc,char** argv) { G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); #endif - - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; #endif - session->SessionStart(); - delete session; #ifdef G4VIS_USE delete visManager; diff --git a/examples/extended/electromagnetic/TestEm13/TestEm13.in b/examples/extended/electromagnetic/TestEm13/TestEm13.in index fb8a185d64..85ce66fa15 100644 --- a/examples/extended/electromagnetic/TestEm13/TestEm13.in +++ b/examples/extended/electromagnetic/TestEm13/TestEm13.in @@ -1,4 +1,4 @@ -# $Id: TestEm13.in,v 1.7 2009/11/19 17:30:25 maire Exp $ +# $Id: TestEm13.in,v 1.8 2010/04/05 13:45:17 maire Exp $ # # Macro file for "TestEm13.cc" # (can be run in batch, without graphic) @@ -17,8 +17,8 @@ # /gun/particle gamma /gun/energy 100 keV -/run/beamOn 100000 +/run/beamOn 1000000 # /gun/particle e- /gun/energy 100 MeV -/run/beamOn 100000 +/run/beamOn 1000000 diff --git a/examples/extended/electromagnetic/TestEm13/TestEm13.out b/examples/extended/electromagnetic/TestEm13/TestEm13.out index c76a08183e..05a15c3e68 100644 --- a/examples/extended/electromagnetic/TestEm13/TestEm13.out +++ b/examples/extended/electromagnetic/TestEm13/TestEm13.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,54 +13,54 @@ ***** Table : Nb of materials = 15 ***** - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: H2liquid density: 70.800 mg/cm3 RadL: 8.923 m Nucl.Int.Length: 4.960 m Imean: 21.800 eV + Material: H2liquid density: 70.800 mg/cm3 RadL: 8.923 m Nucl.Int.Length: 4.993 m Imean: 19.200 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Water H_2O density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 75.000 eV + Material: Water H_2O density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.537 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.078 cm Imean: 187.200 eV + Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.006 cm Imean: 188.000 eV ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Carbon density: 2.267 g/cm3 RadL: 18.833 cm Nucl.Int.Length: 35.356 cm Imean: 78.000 eV + Material: Carbon density: 2.267 g/cm3 RadL: 18.833 cm Nucl.Int.Length: 35.376 cm Imean: 81.000 eV ---> Element: Carbon ( ) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.860 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.663 cm Imean: 173.600 eV + Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.761 cm Imean: 173.000 eV ---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.431 cm Imean: 332.800 eV + Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.333 cm Imean: 350.000 eV ---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: NaI density: 3.670 g/cm3 RadL: 2.586 cm Nucl.Int.Length: 42.878 cm Imean: 452.000 eV + Material: NaI density: 3.670 g/cm3 RadL: 2.586 cm Nucl.Int.Length: 42.858 cm Imean: 452.000 eV ---> Element: Sodium (Na) Z = 11.0 N = 23.0 A = 22.99 g/mole ElmMassFraction: 15.34 % ElmAbundance 50.00 % ---> Element: Iodine (I) Z = 53.0 N = 126.9 A = 126.90 g/mole ElmMassFraction: 84.66 % ElmAbundance 50.00 % - Material: Iodine density: 4.930 g/cm3 RadL: 1.720 cm Nucl.Int.Length: 35.676 cm Imean: 492.900 eV + Material: Iodine density: 4.930 g/cm3 RadL: 1.720 cm Nucl.Int.Length: 35.657 cm Imean: 491.000 eV ---> Element: Iodine (I) Z = 53.0 N = 126.9 A = 126.90 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.806 cm Imean: 469.142 eV + Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.788 cm Imean: 473.785 eV ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 15.41 % ElmAbundance 63.16 % ---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole ElmMassFraction: 17.48 % ElmAbundance 15.79 % ---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole ElmMassFraction: 67.10 % ElmAbundance 21.05 % - Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV + Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.969 cm Imean: 286.000 eV ---> Element: Iron ( ) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.312 cm Imean: 725.200 eV + Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.306 cm Imean: 727.000 eV ---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV + Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.258 cm Imean: 823.000 eV ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.446 cm Imean: 892.400 eV + Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.447 cm Imean: 890.000 eV ---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % @@ -84,161 +84,155 @@ physicsList->setCut() start. # /gun/particle gamma /gun/energy 100 keV -/run/beamOn 100000 +/run/beamOn 1000000 phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : 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)= 1, dRoverRange= 1, integral: 0, fluct: 0, linLossLimit= 0.01 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV 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)= 1, dRoverRange= 1, integral: 0, fluct: 0, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 0, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 0 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 0 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 0 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 0 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : Water @@ -251,7 +245,7 @@ Region -- appears in world volume Index : 0 used in the geometry : Yes recalculation needed : No Material : Water Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 2.94056 keV e- 351.877 keV e+ 342.545 keV proton 0 eV + Energy thresholds : gamma 2.93991 keV e- 349.408 keV e+ 341.455 keV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -272,34 +266,34 @@ Start Run processing. ---> Begin of Event: 0 ----> Begin of Event: 10000 +---> Begin of Event: 100000 ----> Begin of Event: 20000 +---> Begin of Event: 200000 ----> Begin of Event: 30000 +---> Begin of Event: 300000 ----> Begin of Event: 40000 +---> Begin of Event: 400000 ----> Begin of Event: 50000 +---> Begin of Event: 500000 ----> Begin of Event: 60000 +---> Begin of Event: 600000 ----> Begin of Event: 70000 +---> Begin of Event: 700000 ----> Begin of Event: 80000 +---> Begin of Event: 800000 ----> Begin of Event: 90000 +---> Begin of Event: 900000 Run terminated. Run Summary - Number of events processed : 100000 - User=0.8s Real=0.79s Sys=0s + Number of events processed : 1000000 + User=6.37s Real=6.38s Sys=0s - The run consists of 100000 gamma of 100 keV through 1 cm of Water (density: 1 g/cm3 ) + The run consists of 1000000 gamma of 100 keV through 1 cm of Water (density: 1 g/cm3 ) - Process calls frequency ---> Transportation = 84934 compt = 14842 phot = 224 + Process calls frequency ---> Transportation = 848441 compt = 149125 phot = 2434 - Nb of incident particles unaltered after 1 cm of Water : 84934 over 100000 incident particles. Ratio = 84.934 % - ---> CrossSection per volume: 0.1633 cm^-1 CrossSection per mass: 0.1633 cm2/g + Nb of incident particles unaltered after 1 cm of Water : 848441 over 1000000 incident particles. Ratio = 84.844 % + ---> CrossSection per volume: 0.16435 cm^-1 CrossSection per mass: 0.16435 cm2/g Verification from G4EmCalculator: compt= 0.1623 cm2/g phot= 0.0026853 cm2/g total= 0.16499 cm2/g @@ -307,12 +301,12 @@ Run Summary --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 507682210, 1650158306 + Current couple of seeds = 1922923057, 1535294815 ---------------------------------------- # /gun/particle e- /gun/energy 100 MeV -/run/beamOn 100000 +/run/beamOn 1000000 Region -- appears in world volume Root logical volume(s) : Water @@ -325,7 +319,7 @@ Region -- appears in world volume Index : 0 used in the geometry : Yes recalculation needed : No Material : Water Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 2.9405585 keV e- 351.8774 keV e+ 342.54485 keV proton 0 eV + Energy thresholds : gamma 2.93991 keV e- 349.408 keV e+ 341.455 keV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -335,48 +329,48 @@ Index : 0 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 507682210, 1650158306 + Current couple of seeds = 1922923057, 1535294815 ---------------------------------------- Start Run processing. ---> Begin of Event: 0 ----> Begin of Event: 10000 +---> Begin of Event: 100000 ----> Begin of Event: 20000 +---> Begin of Event: 200000 ----> Begin of Event: 30000 +---> Begin of Event: 300000 ----> Begin of Event: 40000 +---> Begin of Event: 400000 ----> Begin of Event: 50000 +---> Begin of Event: 500000 ----> Begin of Event: 60000 +---> Begin of Event: 600000 ----> Begin of Event: 70000 +---> Begin of Event: 700000 ----> Begin of Event: 80000 +---> Begin of Event: 800000 ----> Begin of Event: 90000 +---> Begin of Event: 900000 Run terminated. Run Summary - Number of events processed : 100000 - User=0.91s Real=0.92s Sys=0s + Number of events processed : 1000000 + User=7.08s Real=7.08s Sys=0s - The run consists of 100000 e- of 100 MeV through 1 cm of Water (density: 1 g/cm3 ) + The run consists of 1000000 e- of 100 MeV through 1 cm of Water (density: 1 g/cm3 ) - Process calls frequency ---> eBrem = 27721 Transportation = 54367 eIoni = 17912 + Process calls frequency ---> Transportation = 540804 eBrem = 277603 eIoni = 181593 - Nb of incident particles unaltered after 1 cm of Water : 54367 over 100000 incident particles. Ratio = 54.367 % - ---> CrossSection per volume: 0.60941 cm^-1 CrossSection per mass: 0.60941 cm2/g + Nb of incident particles unaltered after 1 cm of Water : 540804 over 1000000 incident particles. Ratio = 54.08 % + ---> CrossSection per volume: 0.6147 cm^-1 CrossSection per mass: 0.6147 cm2/g Verification from G4EmCalculator: - eBrem= 0.37217 cm2/g eIoni= 0.24166 cm2/g total= 0.61383 cm2/g - Expected ratio of transmitted particles= 54.127 % + eBrem= 0.37212 cm2/g eIoni= 0.24337 cm2/g total= 0.61549 cm2/g + Expected ratio of transmitted particles= 54.037 % --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1771165050, 1179259148 + Current couple of seeds = 490323513, 1321056075 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/electromagnetic/TestEm13/include/RunAction.hh b/examples/extended/electromagnetic/TestEm13/include/RunAction.hh index 4c7e32ff18..543bc4a876 100644 --- a/examples/extended/electromagnetic/TestEm13/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm13/include/RunAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.hh,v 1.3 2006/06/29 16:44:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.hh,v 1.4 2010/04/05 13:45:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,8 +33,8 @@ #define RunAction_h 1 #include "G4UserRunAction.hh" -#include "ProcessesCount.hh" #include "globals.hh" +#include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,12 +54,12 @@ class RunAction : public G4UserRunAction void BeginOfRunAction(const G4Run*); void EndOfRunAction(const G4Run*); - void CountProcesses(G4String); + void CountProcesses(G4String procName) { procCounter[procName]++;}; private: - DetectorConstruction* detector; - PrimaryGeneratorAction* primary; - ProcessesCount* ProcCounter; + DetectorConstruction* detector; + PrimaryGeneratorAction* primary; + std::map procCounter; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/EventAction.cc b/examples/extended/electromagnetic/TestEm13/src/EventAction.cc index 87fd9de587..18bcb08b75 100644 --- a/examples/extended/electromagnetic/TestEm13/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.2 2006/06/29 16:44:30 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.5 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,15 +34,12 @@ #include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... EventAction::EventAction() -:printModulo(10000),eventMessenger(0) +:printModulo(100000),eventMessenger(0) { eventMessenger = new EventActionMessenger(this); } @@ -67,19 +64,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - if (G4VVisManager::GetConcreteInstance()) - { - G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); - for (G4int i=0; iGetTrajectoryContainer()))[i]); - trj->DrawTrajectory(1000); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc index 5528db7735..80bcdde7a3 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysListEmLivermore.cc,v 1.5 2009/11/19 17:30:25 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysListEmLivermore.cc,v 1.6 2010/04/02 15:46:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -139,36 +139,36 @@ void PhysListEmLivermore::ConstructProcess() eIoniModel = new G4LivermoreIonisationModel(); eIoniModel->SetHighEnergyLimit(highEnergyLimit); eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1, 1, 1); + pmanager->AddProcess(eIoni, -1,-1, 1); G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); G4LivermoreBremsstrahlungModel* eBremModel = new G4LivermoreBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1, 2, 2); + pmanager->AddProcess(eBrem, -1,-1, 2); } else if (particleName == "e+") { //positron - pmanager->AddProcess(new G4eIonisation, -1, 1, 1); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); + pmanager->AddProcess(new G4eIonisation, -1,-1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1, 2); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); - pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); + pmanager->AddProcess(new G4MuIonisation, -1,-1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1, 2); + pmanager->AddProcess(new G4MuPairProduction, -1,-1, 3); } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1,-1, 1); } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1,-1, 1); } } } diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc index 85cbd7d895..dd83c643b9 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysListEmPenelope.cc,v 1.6 2009/11/19 17:30:25 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysListEmPenelope.cc,v 1.7 2010/04/02 15:46:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -140,14 +140,14 @@ void PhysListEmPenelope::ConstructProcess() eIoniModel = new G4PenelopeIonisationModel(); eIoniModel->SetHighEnergyLimit(highEnergyLimit); eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1, 1, 1); + pmanager->AddProcess(eIoni, -1,-1, 1); G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); G4PenelopeBremsstrahlungModel* eBremModel = new G4PenelopeBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1, 2, 2); + pmanager->AddProcess(eBrem, -1,-1, 2); } else if (particleName == "e+") { //positron @@ -156,14 +156,14 @@ void PhysListEmPenelope::ConstructProcess() eIoniModel = new G4PenelopeIonisationModel(); eIoniModel->SetHighEnergyLimit(highEnergyLimit); eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1, 1, 1); + pmanager->AddProcess(eIoni, -1,-1, 1); G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); G4PenelopeBremsstrahlungModel* eBremModel = new G4PenelopeBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1, 2, 2); + pmanager->AddProcess(eBrem, -1,-1, 2); G4eplusAnnihilation* eAnni = new G4eplusAnnihilation(); G4PenelopeAnnihilationModel* @@ -175,18 +175,18 @@ void PhysListEmPenelope::ConstructProcess() } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); - pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); + pmanager->AddProcess(new G4MuIonisation, -1,-1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1, 2); + pmanager->AddProcess(new G4MuPairProduction, -1,-1, 3); } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1,-1, 1); } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1,-1, 1); } } } diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc index 8484f3b7c7..c9a95527f1 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysListEmStandard.cc,v 1.3 2006/06/29 16:44:38 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysListEmStandard.cc,v 1.4 2010/04/02 15:46:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -80,30 +80,30 @@ void PhysListEmStandard::ConstructProcess() } else if (particleName == "e-") { //electron - pmanager->AddProcess(new G4eIonisation, -1, 1,1); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 2,2); + pmanager->AddProcess(new G4eIonisation, -1,-1,1); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,2); } else if (particleName == "e+") { //positron - pmanager->AddProcess(new G4eIonisation, -1, 1,1); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 2,2); + pmanager->AddProcess(new G4eIonisation, -1,-1,1); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,2); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,3); } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - pmanager->AddProcess(new G4MuIonisation, -1, 1,1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2,2); - pmanager->AddProcess(new G4MuPairProduction, -1, 3,3); + pmanager->AddProcess(new G4MuIonisation, -1,-1,1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,2); + pmanager->AddProcess(new G4MuPairProduction, -1,-1,3); } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1, 1,1); + pmanager->AddProcess(new G4ionIonisation, -1,-1,1); } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1,1,1); + pmanager->AddProcess(new G4hIonisation, -1,-1,1); } } } diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc index 943bbbe2a3..f42a16e6bb 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.cc,v 1.7 2009/11/19 17:30:25 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.9 2010/04/05 13:45:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -182,9 +182,7 @@ void PhysicsList::ConstructProcess() // Em options // G4EmProcessOptions emOptions; - emOptions.SetStepFunction(1., 1*mm); emOptions.SetIntegral(false); - emOptions.SetLossFluctuations(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -226,7 +224,10 @@ void PhysicsList::AddPhysicsList(const G4String& name) #include "G4Positron.hh" void PhysicsList::SetCuts() -{ +{ + // fixe lower limit for cut + G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(100*eV, 1*GeV); + // 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"); diff --git a/examples/extended/electromagnetic/TestEm13/src/RunAction.cc b/examples/extended/electromagnetic/TestEm13/src/RunAction.cc index b68a220b9a..20f7b347de 100644 --- a/examples/extended/electromagnetic/TestEm13/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.6 2006/06/29 16:44:47 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.cc,v 1.8 2010/04/05 13:45:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -46,7 +46,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* prim) - : detector(det), primary(prim), ProcCounter(0) + : detector(det), primary(prim) { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -63,21 +63,6 @@ void RunAction::BeginOfRunAction(const G4Run* aRun) // save Rndm status G4RunManager::GetRunManager()->SetRandomNumberStore(false); CLHEP::HepRandom::showEngineStatus(); - - ProcCounter = new ProcessesCount; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void RunAction::CountProcesses(G4String procName) -{ - //does the process already encounted ? - size_t nbProc = ProcCounter->size(); - size_t i = 0; - while ((iGetName()!=procName)) i++; - if (i == nbProc) ProcCounter->push_back( new OneProcessCount(procName)); - - (*ProcCounter)[i]->Count(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -107,13 +92,14 @@ void RunAction::EndOfRunAction(const G4Run* aRun) G4int totalCount = 0; G4int survive = 0; G4cout << "\n Process calls frequency --->"; - for (size_t i=0; i< ProcCounter->size();i++) { - G4String procName = (*ProcCounter)[i]->GetName(); - G4int count = (*ProcCounter)[i]->GetCounter(); + std::map::iterator it; + for (it = procCounter.begin(); it != procCounter.end(); it++) { + G4String procName = it->first; + G4int count = it->second; totalCount += count; G4cout << "\t" << procName << " = " << count; if (procName == "Transportation") survive = count; - } + } G4cout << G4endl; if (totalCount == 0) return; @@ -129,7 +115,7 @@ void RunAction::EndOfRunAction(const G4Run* aRun) //compute cross section and related quantities // - G4double CrossSection = std::log(1./ratio)/tickness; + G4double CrossSection = - std::log(ratio)/tickness; G4double massicCS = CrossSection/density; G4cout << " ---> CrossSection per volume:\t" << CrossSection*cm << " cm^-1 " @@ -141,8 +127,8 @@ void RunAction::EndOfRunAction(const G4Run* aRun) G4cout << "\n Verification from G4EmCalculator: \n"; G4EmCalculator emCalculator; G4double sumc = 0.0; - for (size_t i=0; i< ProcCounter->size();i++) { - G4String procName = (*ProcCounter)[i]->GetName(); + for (it = procCounter.begin(); it != procCounter.end(); it++) { + G4String procName = it->first; G4double massSigma = emCalculator.GetCrossSectionPerVolume(energy,particle, procName,material)/density; @@ -166,13 +152,8 @@ void RunAction::EndOfRunAction(const G4Run* aRun) //restore default format G4cout.precision(prec); - // delete and remove all contents in ProcCounter - while (ProcCounter->size()>0){ - OneProcessCount* aProcCount=ProcCounter->back(); - ProcCounter->pop_back(); - delete aProcCount; - } - delete ProcCounter; + // remove all contents in procCounter + procCounter.clear(); // show Rndm status CLHEP::HepRandom::showEngineStatus(); diff --git a/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc index 99087b9f58..cd9e8b2597 100644 --- a/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: SteppingAction.cc,v 1.7 2009/09/25 11:27:13 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: SteppingAction.cc,v 1.8 2010/04/02 15:46:31 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -52,16 +52,7 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) G4StepPoint* endPoint = aStep->GetPostStepPoint(); G4String procName = endPoint->GetProcessDefinedStep()->GetProcessName(); - //count real interaction or transmitted beam - // - G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge(); - G4TrackVector* secondary = fpSteppingManager->GetSecondary(); - G4bool interaction = ((charge == 0.) || ((*secondary).size() > 0)); - G4bool transmit = (endPoint->GetStepStatus() <= fGeomBoundary); - - if (interaction || transmit) { - runAction->CountProcesses(procName); - } + runAction->CountProcesses(procName); // kill event after first interaction // diff --git a/examples/extended/electromagnetic/TestEm13/vis.mac b/examples/extended/electromagnetic/TestEm13/vis.mac index 5cc1eb4fb6..9e29748b8a 100644 --- a/examples/extended/electromagnetic/TestEm13/vis.mac +++ b/examples/extended/electromagnetic/TestEm13/vis.mac @@ -1,5 +1,5 @@ # -# Macro file for the initialization phase of "TestEm13.cc" +# Macro file for the initialization phase of "TestEm6.cc" # # Sets some default verbose # and initializes the graphic. @@ -9,21 +9,71 @@ # /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 OGLIX +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# Draw scene -/vis/viewer/zoom 1.4 -/vis/viewer/flush +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style surface +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm14/History b/examples/extended/electromagnetic/TestEm14/History index dfafbe5421..f67515016d 100644 --- a/examples/extended/electromagnetic/TestEm14/History +++ b/examples/extended/electromagnetic/TestEm14/History @@ -1,4 +1,4 @@ -$Id: History,v 1.18 2009/11/19 10:36:37 maire Exp $ +$Id: History,v 1.24 2010/11/09 20:36:27 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,7 +14,32 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +09-11-10 M.Asai (testem14-V09-03-05) +- Fix AIDA file option. + +13-10-10 V.Ivanchenko (testem14-V09-03-04) +- SteppingAction - use const pointers for step/track objects +06-06-10 J.Perl (testem14-V09-03-03) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem14-V09-03-02) +- Updated vis usage + +05-04-10 mma (testem14-V09-03-01) +- PhysicsList: remove non pertinent EmOptions +- RunAction: replace ProcessCount by map + +02-04-10 mma (testem14-V09-03-00) +- PhysicsList: extend ProductionCuts down to 100 eV +- PhysListEmStandard, Livermore, Penelope: + all processes registered as discrete -> no continuous Eloss +- cleanup SteppingAction +- remove SteppingMessenger +- TestEm14.cc : introduction of G4UIExecutive +- update README + 19-11-09 mma (testem14-V09-02-01) - add new livermore and penelope physics lists diff --git a/examples/extended/electromagnetic/TestEm14/README b/examples/extended/electromagnetic/TestEm14/README index 8714598f0f..afbd176396 100644 --- a/examples/extended/electromagnetic/TestEm14/README +++ b/examples/extended/electromagnetic/TestEm14/README @@ -1,4 +1,4 @@ -$Id: README,v 1.8 2008/09/24 18:53:56 maire Exp $ +$Id: README,v 1.9 2010/04/02 13:22:02 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -27,8 +27,8 @@ $Id: README,v 1.8 2008/09/24 18:53:56 maire Exp $ The physics list contains the standard electromagnetic processes. In order not to introduce 'artificial' constraints on the step size, the - multiple scattering is not instanciated, and there is no limitation from - the maximum energy lost per step. + multiple scattering is not instanciated, and all processes are + registered as discrete : there is no continuous energy loss. 3- AN EVENT : THE PRIMARY GENERATOR diff --git a/examples/extended/electromagnetic/TestEm14/TestEm14.cc b/examples/extended/electromagnetic/TestEm14/TestEm14.cc index b38aa61fa2..0d72899eef 100644 --- a/examples/extended/electromagnetic/TestEm14/TestEm14.cc +++ b/examples/extended/electromagnetic/TestEm14/TestEm14.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TestEm14.cc,v 1.4 2007/06/23 22:23:20 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm14.cc,v 1.5 2010/04/02 13:22:02 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -49,6 +47,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -93,15 +95,12 @@ int main(int argc,char** argv) { 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 G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif #ifdef G4VIS_USE delete visManager; diff --git a/examples/extended/electromagnetic/TestEm14/TestEm14.in b/examples/extended/electromagnetic/TestEm14/TestEm14.in index 6648a417c8..913a8a99e8 100644 --- a/examples/extended/electromagnetic/TestEm14/TestEm14.in +++ b/examples/extended/electromagnetic/TestEm14/TestEm14.in @@ -1,4 +1,4 @@ -# $Id: TestEm14.in,v 1.5 2009/11/19 10:36:37 maire Exp $ +# $Id: TestEm14.in,v 1.6 2010/04/05 18:02:39 maire Exp $ # # Macro file for "TestEm14.cc" # (can be run in batch, without graphic) @@ -18,9 +18,9 @@ /gun/particle gamma /gun/energy 100 keV # -/run/beamOn 100000 +/run/beamOn 1000000 # /gun/particle e- /gun/energy 100 MeV # -/run/beamOn 100000 +/run/beamOn 1000000 diff --git a/examples/extended/electromagnetic/TestEm14/TestEm14.out b/examples/extended/electromagnetic/TestEm14/TestEm14.out index cfecf247e1..f8a37ae05f 100644 --- a/examples/extended/electromagnetic/TestEm14/TestEm14.out +++ b/examples/extended/electromagnetic/TestEm14/TestEm14.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,54 +13,54 @@ ***** Table : Nb of materials = 15 ***** - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: H2liquid density: 70.800 mg/cm3 RadL: 8.923 m Nucl.Int.Length: 4.960 m Imean: 21.800 eV + Material: H2liquid density: 70.800 mg/cm3 RadL: 8.923 m Nucl.Int.Length: 4.993 m Imean: 19.200 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Water H_2O density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 75.000 eV + Material: Water H_2O density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.537 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.078 cm Imean: 187.200 eV + Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.006 cm Imean: 188.000 eV ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Carbon density: 2.267 g/cm3 RadL: 18.833 cm Nucl.Int.Length: 35.356 cm Imean: 78.000 eV + Material: Carbon density: 2.267 g/cm3 RadL: 18.833 cm Nucl.Int.Length: 35.376 cm Imean: 81.000 eV ---> Element: Carbon ( ) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.860 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.663 cm Imean: 173.600 eV + Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.761 cm Imean: 173.000 eV ---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.431 cm Imean: 332.800 eV + Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.333 cm Imean: 350.000 eV ---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: NaI density: 3.670 g/cm3 RadL: 2.586 cm Nucl.Int.Length: 42.878 cm Imean: 452.000 eV + Material: NaI density: 3.670 g/cm3 RadL: 2.586 cm Nucl.Int.Length: 42.858 cm Imean: 452.000 eV ---> Element: Sodium (Na) Z = 11.0 N = 23.0 A = 22.99 g/mole ElmMassFraction: 15.34 % ElmAbundance 50.00 % ---> Element: Iodine (I) Z = 53.0 N = 126.9 A = 126.90 g/mole ElmMassFraction: 84.66 % ElmAbundance 50.00 % - Material: Iodine density: 4.930 g/cm3 RadL: 1.720 cm Nucl.Int.Length: 35.676 cm Imean: 492.900 eV + Material: Iodine density: 4.930 g/cm3 RadL: 1.720 cm Nucl.Int.Length: 35.657 cm Imean: 491.000 eV ---> Element: Iodine (I) Z = 53.0 N = 126.9 A = 126.90 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.806 cm Imean: 469.142 eV + Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.788 cm Imean: 473.785 eV ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 15.41 % ElmAbundance 63.16 % ---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole ElmMassFraction: 17.48 % ElmAbundance 15.79 % ---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole ElmMassFraction: 67.10 % ElmAbundance 21.05 % - Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV + Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.969 cm Imean: 286.000 eV ---> Element: Iron ( ) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.312 cm Imean: 725.200 eV + Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.306 cm Imean: 727.000 eV ---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV + Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.258 cm Imean: 823.000 eV ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.446 cm Imean: 892.400 eV + Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.447 cm Imean: 890.000 eV ---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % @@ -85,161 +85,155 @@ physicsList->setCut() start. /gun/particle gamma /gun/energy 100 keV # -/run/beamOn 100000 +/run/beamOn 1000000 phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : 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)= 1, dRoverRange= 1, integral: 0, fluct: 0, linLossLimit= 0.01 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV 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)= 1, dRoverRange= 1, integral: 0, fluct: 0, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 0, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 0 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 0 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 0 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, linLossLimit= 0.01 - NuclearStopping= 0 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 0, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : Water @@ -252,7 +246,7 @@ Region -- appears in world volume Index : 0 used in the geometry : Yes recalculation needed : No Material : Water Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 2.94056 keV e- 351.877 keV e+ 342.545 keV proton 0 eV + Energy thresholds : gamma 2.93991 keV e- 349.408 keV e+ 341.455 keV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -273,49 +267,49 @@ Start Run processing. ---> Begin of Event: 0 ----> Begin of Event: 10000 +---> Begin of Event: 100000 ----> Begin of Event: 20000 +---> Begin of Event: 200000 ----> Begin of Event: 30000 +---> Begin of Event: 300000 ----> Begin of Event: 40000 +---> Begin of Event: 400000 ----> Begin of Event: 50000 +---> Begin of Event: 500000 ----> Begin of Event: 60000 +---> Begin of Event: 600000 ----> Begin of Event: 70000 +---> Begin of Event: 700000 ----> Begin of Event: 80000 +---> Begin of Event: 800000 ----> Begin of Event: 90000 +---> Begin of Event: 900000 Run terminated. Run Summary - Number of events processed : 100000 - User=0.91s Real=0.91s Sys=0s + Number of events processed : 1000000 + User=7.03s Real=7.07s Sys=0s - The run consists of 100000 gamma of 100 keV through 100 m of Water (density: 1 g/cm3 ) + The run consists of 1000000 gamma of 100 keV through 100 m of Water (density: 1 g/cm3 ) - Process calls frequency ---> compt = 98335 phot = 1665 + Process calls frequency ---> compt = 983863 phot = 16137 - MeanFreePath: 6.0496 cm +- 6.0503 cm massic: 6.0496 g/cm2 - CrossSection: 0.1653 cm^-1 massic: 0.1653 cm2/g + MeanFreePath: 6.0708 cm +- 6.0755 cm massic: 6.0708 g/cm2 + CrossSection: 0.16472 cm^-1 massic: 0.16472 cm2/g - mean energy of charged secondaries: 15.209 keV mass_energy_transfer coef: 0.025141 cm2/g + mean energy of charged secondaries: 15.188 keV mass_energy_transfer coef: 0.025018 cm2/g Verification : crossSections from G4EmCalculator compt= 0.1623 cm2/g phot= 0.0026853 cm2/g total= 0.16499 cm2/g --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1982964064, 678286457 + Current couple of seeds = 2024716243, 1456126694 ---------------------------------------- # /gun/particle e- /gun/energy 100 MeV # -/run/beamOn 100000 +/run/beamOn 1000000 Region -- appears in world volume Root logical volume(s) : Water @@ -328,7 +322,7 @@ Region -- appears in world volume Index : 0 used in the geometry : Yes recalculation needed : No Material : Water Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 2.9 keV e- 3.5e+02 keV e+ 3.4e+02 keV proton 0 eV + Energy thresholds : gamma 2.93991 keV e- 349.408 keV e+ 341.455 keV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -338,49 +332,49 @@ Index : 0 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1982964064, 678286457 + Current couple of seeds = 2024716243, 1456126694 ---------------------------------------- Start Run processing. ---> Begin of Event: 0 ----> Begin of Event: 10000 +---> Begin of Event: 100000 ----> Begin of Event: 20000 +---> Begin of Event: 200000 ----> Begin of Event: 30000 +---> Begin of Event: 300000 ----> Begin of Event: 40000 +---> Begin of Event: 400000 ----> Begin of Event: 50000 +---> Begin of Event: 500000 ----> Begin of Event: 60000 +---> Begin of Event: 600000 ----> Begin of Event: 70000 +---> Begin of Event: 700000 ----> Begin of Event: 80000 +---> Begin of Event: 800000 ----> Begin of Event: 90000 +---> Begin of Event: 900000 Run terminated. Run Summary - Number of events processed : 100000 - User=1s Real=1s Sys=0s + Number of events processed : 1000000 + User=7.87s Real=8.06s Sys=0s - The run consists of 100000 e- of 100 MeV through 100 m of Water (density: 1 g/cm3 ) + The run consists of 1000000 e- of 100 MeV through 100 m of Water (density: 1 g/cm3 ) - Process calls frequency ---> eBrem = 60576 eIoni = 39424 + Process calls frequency ---> eBrem = 604059 eIoni = 395941 - MeanFreePath: 1.6319 cm +- 1.6269 cm massic: 1.6319 g/cm2 - CrossSection: 0.61279 cm^-1 massic: 0.61279 cm2/g + MeanFreePath: 1.626 cm +- 1.6247 cm massic: 1.626 g/cm2 + CrossSection: 0.61499 cm^-1 massic: 0.61499 cm2/g - mean energy of charged secondaries: 738.46 keV mass_energy_transfer coef: 0.0045252 cm2/g + mean energy of charged secondaries: 750.63 keV mass_energy_transfer coef: 0.0046163 cm2/g Verification : crossSections from G4EmCalculator - eBrem= 0.37217 cm2/g eIoni= 0.24166 cm2/g total= 0.61383 cm2/g + eBrem= 0.37212 cm2/g eIoni= 0.24337 cm2/g total= 0.61549 cm2/g --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1924985081, 747323284 + Current couple of seeds = 1860356547, 1898423253 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/electromagnetic/TestEm14/include/RunAction.hh b/examples/extended/electromagnetic/TestEm14/include/RunAction.hh index fe797a18b5..debb2bbae0 100644 --- a/examples/extended/electromagnetic/TestEm14/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm14/include/RunAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.hh,v 1.4 2006/09/06 09:56:06 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.hh,v 1.5 2010/04/05 18:02:39 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,8 +33,8 @@ #define RunAction_h 1 #include "G4UserRunAction.hh" -#include "ProcessesCount.hh" #include "globals.hh" +#include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -55,18 +55,19 @@ class RunAction : public G4UserRunAction void BeginOfRunAction(const G4Run*); void EndOfRunAction(const G4Run*); - void CountProcesses(G4String); + void CountProcesses(G4String procName) + {procCounter[procName]++;}; void SumTrack (G4double track) - {totalCount++; sumTrack += track; sumTrack2 += track*track;}; + {totalCount++; sumTrack += track; sumTrack2 += track*track;}; void SumeTransf (G4double energy) - {eTransfer += energy;}; + {eTransfer += energy;}; private: - DetectorConstruction* detector; - PrimaryGeneratorAction* primary; - ProcessesCount* ProcCounter; - HistoManager* histoManager; + DetectorConstruction* detector; + PrimaryGeneratorAction* primary; + HistoManager* histoManager; + std::map procCounter; G4int totalCount; //all processes counter G4double sumTrack; //sum of trackLength G4double sumTrack2; //sum of trackLength*trackLength diff --git a/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh index 2fa5133e8b..c03e21a697 100644 --- a/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: SteppingAction.hh,v 1.4 2006/09/06 09:56:06 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingAction.hh,v 1.5 2010/04/02 13:22:02 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -38,7 +38,6 @@ class PrimaryGeneratorAction; class RunAction; class HistoManager; -class SteppingMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -50,15 +49,10 @@ class SteppingAction : public G4UserSteppingAction void UserSteppingAction(const G4Step*); - void SetMaxEdepForPlot(G4double value) {fract = value;}; - private: PrimaryGeneratorAction* primary; RunAction* runAction; HistoManager* histoManager; - SteppingMessenger* stepMessenger; - - G4double fract; //max edep for plotting final state }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/EventAction.cc b/examples/extended/electromagnetic/TestEm14/src/EventAction.cc index 700aefee14..ba946e6451 100644 --- a/examples/extended/electromagnetic/TestEm14/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.3 2006/06/29 16:45:37 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.6 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,15 +34,12 @@ #include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... EventAction::EventAction() -:printModulo(10000),eventMessenger(0) +:printModulo(100000),eventMessenger(0) { eventMessenger = new EventActionMessenger(this); } @@ -67,19 +64,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - if (G4VVisManager::GetConcreteInstance()) - { - G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); - for (G4int i=0; iGetTrajectoryContainer()))[i]); - trj->DrawTrajectory(1000); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc index 9de5bd24f5..41684ff585 100644 --- a/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.7 2008/09/24 18:53:56 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.cc,v 1.8 2010/11/09 20:36:27 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "testem14"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; kSetHighEnergyLimit(highEnergyLimit); eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1, 1, 1); + pmanager->AddProcess(eIoni, -1,-1, 1); G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); G4LivermoreBremsstrahlungModel* eBremModel = new G4LivermoreBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1, 2, 2); + pmanager->AddProcess(eBrem, -1,-1, 2); } else if (particleName == "e+") { //positron - pmanager->AddProcess(new G4eIonisation, -1, 1, 1); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); + pmanager->AddProcess(new G4eIonisation, -1,-1, 1); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1, 2); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); - pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); + pmanager->AddProcess(new G4MuIonisation, -1,-1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1, 2); + pmanager->AddProcess(new G4MuPairProduction, -1,-1, 3); } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1,-1, 1); } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1,-1, 1); } } } diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc index 374e344af7..dc1ed09a32 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysListEmPenelope.cc,v 1.4 2009/11/19 10:36:37 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysListEmPenelope.cc,v 1.5 2010/04/02 13:22:02 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -140,14 +140,14 @@ void PhysListEmPenelope::ConstructProcess() eIoniModel = new G4PenelopeIonisationModel(); eIoniModel->SetHighEnergyLimit(highEnergyLimit); eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1, 1, 1); + pmanager->AddProcess(eIoni, -1,-1, 1); G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); G4PenelopeBremsstrahlungModel* eBremModel = new G4PenelopeBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1, 2, 2); + pmanager->AddProcess(eBrem, -1,-1, 2); } else if (particleName == "e+") { //positron @@ -156,14 +156,14 @@ void PhysListEmPenelope::ConstructProcess() eIoniModel = new G4PenelopeIonisationModel(); eIoniModel->SetHighEnergyLimit(highEnergyLimit); eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1, 1, 1); + pmanager->AddProcess(eIoni, -1,-1, 1); G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); G4PenelopeBremsstrahlungModel* eBremModel = new G4PenelopeBremsstrahlungModel(); eBremModel->SetHighEnergyLimit(highEnergyLimit); eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1, 2, 2); + pmanager->AddProcess(eBrem, -1,-1, 2); G4eplusAnnihilation* eAnni = new G4eplusAnnihilation(); G4PenelopeAnnihilationModel* @@ -175,18 +175,18 @@ void PhysListEmPenelope::ConstructProcess() } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); - pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); + pmanager->AddProcess(new G4MuIonisation, -1,-1, 1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1, 2); + pmanager->AddProcess(new G4MuPairProduction, -1,-1, 3); } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1,-1, 1); } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1,-1, 1); } } } diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc index b7d35ac9bc..0255c78d78 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysListEmStandard.cc,v 1.4 2006/10/24 16:54:16 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysListEmStandard.cc,v 1.5 2010/04/02 13:22:02 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -81,30 +81,30 @@ void PhysListEmStandard::ConstructProcess() } else if (particleName == "e-") { //electron - pmanager->AddProcess(new G4eIonisation, -1, 1,1); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 2,2); + pmanager->AddProcess(new G4eIonisation, -1,-1,1); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,2); } else if (particleName == "e+") { //positron - pmanager->AddProcess(new G4eIonisation, -1, 1,1); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 2,2); + pmanager->AddProcess(new G4eIonisation, -1,-1,1); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,2); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,3); } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - pmanager->AddProcess(new G4MuIonisation, -1, 1,1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2,2); - pmanager->AddProcess(new G4MuPairProduction, -1, 3,3); + pmanager->AddProcess(new G4MuIonisation, -1,-1,1); + pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,2); + pmanager->AddProcess(new G4MuPairProduction, -1,-1,3); } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1, 1,1); + pmanager->AddProcess(new G4ionIonisation, -1,-1,1); } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1,1,1); + pmanager->AddProcess(new G4hIonisation, -1,-1,1); } } } diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc index d695412ce9..ad35033983 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.cc,v 1.6 2009/11/19 10:36:37 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.8 2010/04/05 18:02:39 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -182,9 +182,7 @@ void PhysicsList::ConstructProcess() // Em options // G4EmProcessOptions emOptions; - emOptions.SetStepFunction(1., 1*mm); emOptions.SetIntegral(false); - emOptions.SetLossFluctuations(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -226,12 +224,15 @@ void PhysicsList::AddPhysicsList(const G4String& name) #include "G4Positron.hh" void PhysicsList::SetCuts() -{ - // 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+"); +{ + // fixe lower limit for cut + G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(100*eV, 1*GeV); + + // 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+"); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/RunAction.cc b/examples/extended/electromagnetic/TestEm14/src/RunAction.cc index 788c8c3fe6..e9ad78b946 100644 --- a/examples/extended/electromagnetic/TestEm14/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.4 2006/09/06 09:56:06 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.cc,v 1.5 2010/04/05 18:02:39 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -48,7 +48,7 @@ RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* prim, HistoManager* histo) - : detector(det), primary(prim), ProcCounter(0), histoManager(histo) + : detector(det), primary(prim), histoManager(histo) { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -66,7 +66,6 @@ void RunAction::BeginOfRunAction(const G4Run* aRun) G4RunManager::GetRunManager()->SetRandomNumberStore(false); CLHEP::HepRandom::showEngineStatus(); - ProcCounter = new ProcessesCount; totalCount = 0; sumTrack = sumTrack2 = 0.; eTransfer = 0.; @@ -76,19 +75,6 @@ void RunAction::BeginOfRunAction(const G4Run* aRun) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void RunAction::CountProcesses(G4String procName) -{ - //does the process already encounted ? - size_t nbProc = ProcCounter->size(); - size_t i = 0; - while ((iGetName()!=procName)) i++; - if (i == nbProc) ProcCounter->push_back( new OneProcessCount(procName)); - - (*ProcCounter)[i]->Count(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - void RunAction::EndOfRunAction(const G4Run* aRun) { G4int NbOfEvents = aRun->GetNumberOfEvent(); @@ -112,13 +98,14 @@ void RunAction::EndOfRunAction(const G4Run* aRun) //frequency of processes G4cout << "\n Process calls frequency --->"; - for (size_t i=0; i< ProcCounter->size();i++) { - G4String procName = (*ProcCounter)[i]->GetName(); - G4int count = (*ProcCounter)[i]->GetCounter(); + std::map::iterator it; + for (it = procCounter.begin(); it != procCounter.end(); it++) { + G4String procName = it->first; + G4int count = it->second; G4cout << "\t" << procName << " = " << count; if (procName == "Transportation") survive = count; } - + if (survive > 0) { G4cout << "\n\n Nb of incident particles surviving after " << G4BestUnit(detector->GetSize(),"Length") << " of " @@ -159,8 +146,8 @@ void RunAction::EndOfRunAction(const G4Run* aRun) G4EmCalculator emCalculator; G4double sumc = 0.0; - for (size_t i=0; i< ProcCounter->size();i++) { - G4String procName = (*ProcCounter)[i]->GetName(); + for (it = procCounter.begin(); it != procCounter.end(); it++) { + G4String procName = it->first; G4double massSigma = emCalculator.GetCrossSectionPerVolume(energy,particle, procName,material)/density; @@ -176,15 +163,10 @@ void RunAction::EndOfRunAction(const G4Run* aRun) << G4BestUnit(sumc, "Surface/Mass") << G4endl; //restore default format - G4cout.precision(prec); - - // delete and remove all contents in ProcCounter - while (ProcCounter->size()>0){ - OneProcessCount* aProcCount=ProcCounter->back(); - ProcCounter->pop_back(); - delete aProcCount; - } - delete ProcCounter; + G4cout.precision(prec); + + // remove all contents in procCounter + procCounter.clear(); histoManager->save(); diff --git a/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc index f6f0982127..55606b8651 100644 --- a/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: SteppingAction.cc,v 1.5 2007/06/23 22:23:20 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingAction.cc,v 1.7 2010/10/13 13:42:33 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,8 +33,6 @@ #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" #include "HistoManager.hh" -#include "SteppingMessenger.hh" - #include "G4RunManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -42,74 +40,60 @@ SteppingAction::SteppingAction(PrimaryGeneratorAction* prim, RunAction* RuAct, HistoManager* Hist) :primary(prim),runAction(RuAct), histoManager(Hist) -{ - stepMessenger = new SteppingMessenger(this); - fract = 0.1; -} +{ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... SteppingAction::~SteppingAction() -{ - delete stepMessenger; -} +{ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* aStep) { - G4StepPoint* endPoint = aStep->GetPostStepPoint(); - G4String procName = endPoint->GetProcessDefinedStep()->GetProcessName(); - G4TrackVector* secondary = fpSteppingManager->GetSecondary(); + const G4StepPoint* endPoint = aStep->GetPostStepPoint(); + G4String procName = endPoint->GetProcessDefinedStep()->GetProcessName(); G4bool transmit = (endPoint->GetStepStatus() <= fGeomBoundary); - if (transmit) runAction->CountProcesses(procName); + if (transmit) { runAction->CountProcesses(procName); } else { //count real processes and sum track length G4double stepLength = aStep->GetStepLength(); - G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge(); - if ((charge == 0.) || ((charge != 0.) && (((*secondary).size() > 0)))) - { - runAction->CountProcesses(procName); - runAction->SumTrack(stepLength); - } + runAction->CountProcesses(procName); + runAction->SumTrack(stepLength); } //plot final state (only if continuous energy loss is small enough) // - G4double edep = aStep->GetTotalEnergyDeposit(); - G4double E0 = primary->GetParticleGun()->GetParticleEnergy(); - if (edep < fract*E0) { - //scattered primary particle - // - G4int id = 1; - if (aStep->GetTrack()->GetTrackStatus() == fAlive) { - G4double energy = endPoint->GetKineticEnergy(); - histoManager->FillHisto(id,energy); + //scattered primary particle + // + G4int id = 1; + if (aStep->GetTrack()->GetTrackStatus() == fAlive) { + G4double energy = endPoint->GetKineticEnergy(); + histoManager->FillHisto(id,energy); - id = 2; - G4ThreeVector direction = endPoint->GetMomentumDirection(); - G4double costeta = direction.x(); - histoManager->FillHisto(id,costeta); - } + id = 2; + G4ThreeVector direction = endPoint->GetMomentumDirection(); + G4double costeta = direction.x(); + histoManager->FillHisto(id,costeta); + } - //secondaries - // - //G4TrackVector* secondary = fpSteppingManager->GetSecondary(); - for (size_t lp=0; lp<(*secondary).size(); lp++) { - G4double charge = (*secondary)[lp]->GetDefinition()->GetPDGCharge(); - if (charge != 0.) id = 3; else id = 5; - G4double energy = (*secondary)[lp]->GetKineticEnergy(); - histoManager->FillHisto(id,energy); + //secondaries + // + const G4TrackVector* secondary = fpSteppingManager->GetSecondary(); + for (size_t lp=0; lp<(*secondary).size(); lp++) { + G4double charge = (*secondary)[lp]->GetDefinition()->GetPDGCharge(); + if (charge != 0.) { id = 3; } else { id = 5; } + G4double energy = (*secondary)[lp]->GetKineticEnergy(); + histoManager->FillHisto(id,energy); - id++; - G4ThreeVector direction = (*secondary)[lp]->GetMomentumDirection(); - G4double costeta = direction.x(); - histoManager->FillHisto(id,costeta); + ++id; + G4ThreeVector direction = (*secondary)[lp]->GetMomentumDirection(); + G4double costeta = direction.x(); + histoManager->FillHisto(id,costeta); - //energy tranferred to charged secondaries - if (charge != 0.) runAction->SumeTransf(energy); - } + //energy tranferred to charged secondaries + if (charge != 0.) { runAction->SumeTransf(energy); } } // kill event after first interaction diff --git a/examples/extended/electromagnetic/TestEm14/vis.mac b/examples/extended/electromagnetic/TestEm14/vis.mac index 567f0f8e36..9e29748b8a 100644 --- a/examples/extended/electromagnetic/TestEm14/vis.mac +++ b/examples/extended/electromagnetic/TestEm14/vis.mac @@ -1,5 +1,5 @@ # -# Macro file for the initialization phase of "TestEm14.cc" +# Macro file for the initialization phase of "TestEm6.cc" # # Sets some default verbose # and initializes the graphic. @@ -9,21 +9,71 @@ # /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 OGLIX +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# Draw scene -/vis/viewer/zoom 1.4 -/vis/viewer/flush +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style surface +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm15/History b/examples/extended/electromagnetic/TestEm15/History index 13be95b0df..4714807297 100644 --- a/examples/extended/electromagnetic/TestEm15/History +++ b/examples/extended/electromagnetic/TestEm15/History @@ -1,4 +1,4 @@ -$Id: History,v 1.15 2009/11/19 17:58:25 maire Exp $ +$Id: History,v 1.19 2010/11/09 21:06:39 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,18 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +09-11-10 M.Asai (testem15-V09-03-03) +- Fix AIDA file option. + +06-06-10 J.Perl (testem15-V09-03-02) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem15-V09-03-01) +- Updated vis usage + +20-05-10 mma (testem15-V09-03-00) +- TestEm15.cc : introduction of G4UIExecutive 19-11-09 mma (testem15-V09-02-00) - PhysListEmStandard : introduce MuMultipleScattering diff --git a/examples/extended/electromagnetic/TestEm15/TestEm15.cc b/examples/extended/electromagnetic/TestEm15/TestEm15.cc index 865bab2063..badc1d2588 100644 --- a/examples/extended/electromagnetic/TestEm15/TestEm15.cc +++ b/examples/extended/electromagnetic/TestEm15/TestEm15.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TestEm15.cc,v 1.2 2006/06/29 16:46:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm15.cc,v 1.3 2010/05/20 21:29:29 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -49,6 +47,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -68,13 +70,7 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(det = new DetectorConstruction); runManager->SetUserInitialization(new PhysicsList); runManager->SetUserAction(prim = new PrimaryGeneratorAction(det)); - - #ifdef G4VIS_USE - // visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); - #endif - + HistoManager* histo = new HistoManager(); // set user action classes @@ -86,29 +82,33 @@ int main(int argc,char** argv) { // get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); - if (argc==1) // Define UI terminal for interactive mode - { - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; - } - else // Batch mode - { + 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 + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif + } // job termination -#ifdef G4VIS_USE - delete visManager; -#endif - + // delete histo; delete runManager; diff --git a/examples/extended/electromagnetic/TestEm15/TestEm15.out b/examples/extended/electromagnetic/TestEm15/TestEm15.out index e78bd0dd26..cd03da0d3a 100644 --- a/examples/extended/electromagnetic/TestEm15/TestEm15.out +++ b/examples/extended/electromagnetic/TestEm15/TestEm15.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,93 +13,60 @@ ***** Table : Nb of materials = 16 ***** - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: H2liquid density: 70.800 mg/cm3 RadL: 8.923 m Nucl.Int.Length: 4.960 m Imean: 21.800 eV + Material: H2liquid density: 70.800 mg/cm3 RadL: 8.923 m Nucl.Int.Length: 4.993 m Imean: 19.200 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Water H_2O density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 75.000 eV + Material: Water H_2O density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.537 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.078 cm Imean: 187.200 eV + Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.006 cm Imean: 188.000 eV ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Carbon density: 2.267 g/cm3 RadL: 18.833 cm Nucl.Int.Length: 35.356 cm Imean: 78.000 eV + Material: Carbon density: 2.267 g/cm3 RadL: 18.833 cm Nucl.Int.Length: 35.376 cm Imean: 81.000 eV ---> Element: Carbon ( ) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.860 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.663 cm Imean: 173.600 eV + Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.761 cm Imean: 173.000 eV ---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.431 cm Imean: 332.800 eV + Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.333 cm Imean: 350.000 eV ---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: NaI density: 3.670 g/cm3 RadL: 2.586 cm Nucl.Int.Length: 42.878 cm Imean: 452.000 eV + Material: NaI density: 3.670 g/cm3 RadL: 2.586 cm Nucl.Int.Length: 42.858 cm Imean: 452.000 eV ---> Element: Sodium (Na) Z = 11.0 N = 23.0 A = 22.99 g/mole ElmMassFraction: 15.34 % ElmAbundance 50.00 % ---> Element: Iodine (I) Z = 53.0 N = 126.9 A = 126.90 g/mole ElmMassFraction: 84.66 % ElmAbundance 50.00 % - Material: Iodine density: 4.930 g/cm3 RadL: 1.720 cm Nucl.Int.Length: 35.676 cm Imean: 492.900 eV + Material: Iodine density: 4.930 g/cm3 RadL: 1.720 cm Nucl.Int.Length: 35.657 cm Imean: 491.000 eV ---> Element: Iodine (I) Z = 53.0 N = 126.9 A = 126.90 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.806 cm Imean: 469.142 eV + Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.788 cm Imean: 473.785 eV ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 15.41 % ElmAbundance 63.16 % ---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole ElmMassFraction: 17.48 % ElmAbundance 15.79 % ---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole ElmMassFraction: 67.10 % ElmAbundance 21.05 % - Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV + Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.969 cm Imean: 286.000 eV ---> Element: Iron ( ) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.312 cm Imean: 725.200 eV + Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.306 cm Imean: 727.000 eV ---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV + Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.258 cm Imean: 823.000 eV ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.446 cm Imean: 892.400 eV + Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.447 cm Imean: 890.000 eV ---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204322111.300 pc Nucl.Int.Length: 114334693.470 pc Imean: 19.200 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 % -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 2 # /testem/det/setMat Water @@ -129,29 +96,29 @@ physicsList->setCut() start. phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 77 bins @@ -159,14 +126,14 @@ eBrem: for e- SubType= 3 finalRange(mm)= 1, dRoverRange= 1, integral: 0, fluct: 0, linLossLimit= 0.01 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 77 bins @@ -174,141 +141,141 @@ eBrem: for e+ SubType= 3 finalRange(mm)= 1, dRoverRange= 1, integral: 0, fluct: 0, linLossLimit= 0.01 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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)= 1, dRoverRange= 1, integral: 0, fluct: 0, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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= 1, integral: 0, fluct: 0, 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : World @@ -351,7 +318,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=0.17s Real=0.17s Sys=0s + User=0.14s Real=0.14s Sys=0s The run consists of 10000 e- of 5 MeV through 100 m of Water (density: 1 g/cm3 ) @@ -392,14 +359,14 @@ Region -- appears in world volume Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 9.9e+02 eV e- 9.9e+02 eV e+ 9.9e+02 eV proton 0 eV + 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 : Water Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 2.9 keV e- 3.5e+02 keV e+ 3.4e+02 keV proton 0 eV + Energy thresholds : gamma 2.94056 keV e- 351.877 keV e+ 342.545 keV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -417,7 +384,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=0.16s Real=0.17s Sys=0s + User=0.13s Real=0.13s Sys=0s The run consists of 10000 e- of 100 keV through 100 m of Water (density: 1 g/cm3 ) @@ -428,8 +395,8 @@ Run Summary lateralDisplac : 923.68 nm +- 393.04 fm Psi : 148.35 mrad +- 5.0567e-05 mrad (8.4998 deg +- 2.8973e-06 deg) - Theta_plane : 261.72 mrad (14.996 deg) - phi correlation: 0.11197 +- 0.12946 (std::cos(phi_pos - phi_dir)) + Theta_plane : 243.36 mrad (13.944 deg) + phi correlation: 0.077644 +- 0.13144 (std::cos(phi_pos - phi_dir)) Verification from G4EmCalculator. @@ -441,10 +408,8 @@ Run Summary --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1971947806, 321117681 + Current couple of seeds = 885985248, 261613716 ---------------------------------------- -Graphics systems deleted. -Visualization Manager deleting... UserDetectorConstruction deleted. UserPhysicsList deleted. UserRunAction deleted. diff --git a/examples/extended/electromagnetic/TestEm15/src/EventAction.cc b/examples/extended/electromagnetic/TestEm15/src/EventAction.cc index 2c93fa41c1..14867b6749 100644 --- a/examples/extended/electromagnetic/TestEm15/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm15/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.2 2006/06/29 16:46:51 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.4 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,9 +34,6 @@ #include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -67,19 +64,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - if (G4VVisManager::GetConcreteInstance()) - { - G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); - for (G4int i=0; iGetTrajectoryContainer()))[i]); - trj->DrawTrajectory(1000); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc index e1bef034ea..963dbfe2eb 100644 --- a/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.8 2008/09/26 19:47:51 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.cc,v 1.9 2010/11/09 21:06:39 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "testem15"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; k storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style surface +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate - +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm16/History b/examples/extended/electromagnetic/TestEm16/History index 96dd267ce0..0ef809bf0d 100644 --- a/examples/extended/electromagnetic/TestEm16/History +++ b/examples/extended/electromagnetic/TestEm16/History @@ -1,4 +1,4 @@ -$Id: History,v 1.10 2009/11/19 18:12:32 maire Exp $ +$Id: History,v 1.16 2010/11/09 20:56:00 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,22 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +09-11-10 M.Asai (testem16-V09-03-04) +- Fix AIDA file option. + +13-10-10 V.Ivanchenko (testem16-V09-03-03) +- SteppingAction - use const pointers for step/track objects; + use process subtype instead of name + +06-06-10 J.Perl (testem16-V09-03-02) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem16-V09-03-01) +- Updated vis usage + +20-05-10 mma (testem16-V09-03-00) +- TestEm16.cc : introduction of G4UIExecutive 19-11-09 mma (testem16-V09-02-00) - PhysicsList : introduce eMultipleScattering and MuMultipleScattering diff --git a/examples/extended/electromagnetic/TestEm16/TestEm16.cc b/examples/extended/electromagnetic/TestEm16/TestEm16.cc index b591c31c10..ba2779b255 100644 --- a/examples/extended/electromagnetic/TestEm16/TestEm16.cc +++ b/examples/extended/electromagnetic/TestEm16/TestEm16.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TestEm16.cc,v 1.3 2007/01/18 09:07:20 hbu Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm16.cc,v 1.4 2010/05/20 21:38:19 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -49,6 +47,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -68,12 +70,6 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(new PhysicsList); runManager->SetUserAction(new PrimaryGeneratorAction(det)); -#ifdef G4VIS_USE - //visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); -#endif - HistoManager* histo = new HistoManager(); //set user action classes @@ -86,29 +82,34 @@ int main(int argc,char** argv) { //get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); - if (argc==1) // Define UI terminal for interactive mode - { - G4UIsession* session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; - } - else // Batch mode + 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 + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif + } //job termination -#ifdef G4VIS_USE - delete visManager; -#endif - + // + delete histo; delete runManager; return 0; diff --git a/examples/extended/electromagnetic/TestEm16/TestEm16.out b/examples/extended/electromagnetic/TestEm16/TestEm16.out index 41f71b99bf..df13ed88b0 100644 --- a/examples/extended/electromagnetic/TestEm16/TestEm16.out +++ b/examples/extended/electromagnetic/TestEm16/TestEm16.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,52 +13,19 @@ ***** Table : Nb of materials = 4 ***** - Material: Beryllium density: 1.848 g/cm3 RadL: 35.276 cm Nucl.Int.Length: 39.413 cm Imean: 63.600 eV + Material: Beryllium density: 1.848 g/cm3 RadL: 35.276 cm Nucl.Int.Length: 39.449 cm Imean: 63.700 eV ---> Element: Beryllium ( ) Z = 4.0 N = 9.0 A = 9.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Carbon density: 2.265 g/cm3 RadL: 18.851 cm Nucl.Int.Length: 35.388 cm Imean: 78.000 eV + Material: Carbon density: 2.265 g/cm3 RadL: 18.851 cm Nucl.Int.Length: 35.410 cm Imean: 81.000 eV ---> Element: Carbon ( ) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV + Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.969 cm Imean: 286.000 eV ---> Element: Iron ( ) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Vacuum density: 0.000 kg/m3 RadL: 25050955080.963 km Nucl.Int.Length: 55627598682.933 km Imean: 81.900 eV temperature: 296.15 K pressure: 0.00 atm + Material: Vacuum density: 0.000 kg/m3 RadL: 25050955080.963 km Nucl.Int.Length: 55654089760.283 km Imean: 82.000 eV temperature: 296.15 K pressure: 0.00 atm ---> Element: Vacuum ( ) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % -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 2 # /testem/det/setMat Vacuum @@ -103,29 +70,29 @@ CutLength : 1 km phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 77 bins @@ -133,8 +100,8 @@ eBrem: for e- SubType= 3 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban SynRad: Incoherent Synchrotron Radiation good description for long magnets at all energies @@ -143,7 +110,7 @@ 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 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 77 bins @@ -151,61 +118,61 @@ eBrem: for e+ SubType= 3 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : 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 + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : Vacuum @@ -248,7 +215,7 @@ G4SynchrotronRadiation::GetRandomEnergySR : Run terminated. Run Summary Number of events processed : 100 - User=0.64s Real=0.64s Sys=0.01s + User=0.36s Real=0.37s Sys=0.01s Summary for synchrotron radiation : Number of photons = 64554 Emean = 20.24 +/- 0.1449 keV @@ -260,8 +227,6 @@ Summary for synchrotron radiation : Initial seed (index) = 0 Current couple of seeds = 1554742231, 6856043 ---------------------------------------- -Graphics systems deleted. -Visualization Manager deleting... UserDetectorConstruction deleted. UserPhysicsList deleted. UserRunAction deleted. diff --git a/examples/extended/electromagnetic/TestEm16/src/EventAction.cc b/examples/extended/electromagnetic/TestEm16/src/EventAction.cc index 5bceaf3e19..43ce7b94bf 100644 --- a/examples/extended/electromagnetic/TestEm16/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm16/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.2 2006/06/29 16:47:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.4 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,9 +34,6 @@ #include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -66,21 +63,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - 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...... diff --git a/examples/extended/electromagnetic/TestEm16/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm16/src/HistoManager.cc index 086a02a97c..55b9039989 100644 --- a/examples/extended/electromagnetic/TestEm16/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm16/src/HistoManager.cc @@ -52,7 +52,7 @@ HistoManager::HistoManager() fileName[0] = "testem16"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; kGetPostStepPoint()->GetProcessDefinedStep(); - if (process == 0) return; - G4String processName = process->GetProcessName(); - static G4int iCalled=0; - const G4int nprint=0; // set to 10 to get debug print for first 10 calls + const G4VProcess* process = aStep->GetPostStepPoint()->GetProcessDefinedStep(); + if (process == 0) { return; } - if (processName == "SynRad") - { - iCalled++; - G4StepPoint* PrePoint = aStep->GetPreStepPoint(); - G4TrackVector* secondary = fpSteppingManager->GetSecondary(); + static G4int iCalled=0; + const G4int nprint=0; // set to 10 to get debug print for first 10 calls - //(*secondary)[lp-1] points to the last photon generated - // - size_t lp=(*secondary).size(); - if (lp) - { - G4double Egamma = (*secondary)[lp-1]->GetTotalEnergy(); - runAction->n_gam_sync++; - runAction->e_gam_sync += Egamma; - runAction->e_gam_sync2 += Egamma*Egamma; - if (Egamma > runAction->e_gam_sync_max) runAction->e_gam_sync_max = Egamma; - runAction->lam_gam_sync += aStep->GetStepLength(); - if (iCalledGetTotalEnergy(); - G4ThreeVector Pelec = PrePoint->GetMomentum(); - G4ThreeVector PGamma = (*secondary)[lp-1]->GetMomentum(); - G4bool IsGamma = - ((*secondary)[lp-1]->GetDefinition() == G4Gamma::GammaDefinition()); + if (fSynchrotronRadiation == process->GetProcessSubType()) + { + ++iCalled; + const G4StepPoint* PrePoint = aStep->GetPreStepPoint(); + const G4TrackVector* secondary = fpSteppingManager->GetSecondary(); + + //(*secondary)[lp-1] points to the last photon generated + // + size_t lp=(*secondary).size(); + if (lp) + { + G4double Egamma = (*secondary)[lp-1]->GetTotalEnergy(); + runAction->n_gam_sync++; + runAction->e_gam_sync += Egamma; + runAction->e_gam_sync2 += Egamma*Egamma; + if (Egamma > runAction->e_gam_sync_max) + { + runAction->e_gam_sync_max = Egamma; + } + runAction->lam_gam_sync += aStep->GetStepLength(); + if (iCalledGetTotalEnergy(); + G4ThreeVector Pelec = PrePoint->GetMomentum(); + G4ThreeVector PGamma = (*secondary)[lp-1]->GetMomentum(); + G4bool IsGamma = + ((*secondary)[lp-1]->GetDefinition() == G4Gamma::Gamma()); - G4cout << "UserSteppingAction processName=" << process->GetProcessName() - << " Step Length=" << std::setw(6) - << G4BestUnit(aStep->GetStepLength(),"Length") - << " Eelec=" << G4BestUnit(Eelec,"Energy") - << " Pelec=" << G4BestUnit(Pelec,"Energy") - << " IsGamma=" << IsGamma - << " Egamma=" << G4BestUnit(Egamma,"Energy") - << " PGamma=" << G4BestUnit(PGamma,"Energy") - << " #secondaries lp=" << lp - << '\n'; - } - histoManager->FillHisto(1,Egamma); - histoManager->FillHisto(2,Egamma,Egamma/keV); // power spectrum : gamma weighted with its energy - histoManager->FillHisto(3,aStep->GetStepLength()); - } - } + G4cout << "UserSteppingAction processName=" << process->GetProcessName() + << " Step Length=" << std::setw(6) + << G4BestUnit(aStep->GetStepLength(),"Length") + << " Eelec=" << G4BestUnit(Eelec,"Energy") + << " Pelec=" << G4BestUnit(Pelec,"Energy") + << " IsGamma=" << IsGamma + << " Egamma=" << G4BestUnit(Egamma,"Energy") + << " PGamma=" << G4BestUnit(PGamma,"Energy") + << " #secondaries lp=" << lp + << '\n'; + } + histoManager->FillHisto(1,Egamma); + // power spectrum : gamma weighted with its energy + histoManager->FillHisto(2,Egamma,Egamma/keV); + + histoManager->FillHisto(3,aStep->GetStepLength()); + } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/vis.mac b/examples/extended/electromagnetic/TestEm16/vis.mac index 806a1c9d06..e61cef712f 100644 --- a/examples/extended/electromagnetic/TestEm16/vis.mac +++ b/examples/extended/electromagnetic/TestEm16/vis.mac @@ -9,27 +9,6 @@ # /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 OGLIX -# -##/vis/open DAWNFILE -# -# Draw scene -/vis/viewer/zoom 1.4 -/vis/viewer/flush -# -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate -# -/testem/event/drawTracks all -# # inactivate other processes to make SynchrotronRadiation more visible /process/inactivate msc /process/inactivate eIoni @@ -40,3 +19,72 @@ /process/inactivate conv # /testem/det/setField 0.1 tesla +# +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm17/History b/examples/extended/electromagnetic/TestEm17/History index cb33653e40..12cada0457 100644 --- a/examples/extended/electromagnetic/TestEm17/History +++ b/examples/extended/electromagnetic/TestEm17/History @@ -1,4 +1,4 @@ -$Id: History,v 1.9 2008/09/26 20:15:04 maire Exp $ +$Id: History,v 1.13 2010/11/09 20:41:49 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,18 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +09-11-10 M.Asai (testem17-V09-03-03) +- Fix AIDA file option. + +06-06-10 J.Perl (testem17-V09-03-02) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem17-V09-03-01) +- Updated vis usage + +21-05-10 mma (testem17-V09-03-00) +- TestEm17.cc : introduction of G4UIExecutive 24-09-08 mma (testem17-V09-01-04) - HistoManager : root as default format diff --git a/examples/extended/electromagnetic/TestEm17/TestEm17.cc b/examples/extended/electromagnetic/TestEm17/TestEm17.cc index 19f37de78f..1893a8781b 100644 --- a/examples/extended/electromagnetic/TestEm17/TestEm17.cc +++ b/examples/extended/electromagnetic/TestEm17/TestEm17.cc @@ -24,16 +24,14 @@ // ******************************************************************** // // -// $Id: TestEm17.cc,v 1.2 2006/06/29 16:48:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm17.cc,v 1.3 2010/05/21 08:30:24 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -51,6 +49,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -71,12 +73,6 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(new PhysicsList); runManager->SetUserAction(prim = new PrimaryGeneratorAction(det)); - #ifdef G4VIS_USE - // visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); - #endif - HistoManager* histo = new HistoManager(); // set user action classes @@ -94,23 +90,24 @@ int main(int argc,char** argv) { G4UImanager::GetUIpointer()->ApplyCommand(command+fileName); } else { // start interactive session - G4UIsession* session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif } // job termination // - -#ifdef G4VIS_USE - delete visManager; -#endif - delete histo; delete runManager; diff --git a/examples/extended/electromagnetic/TestEm17/TestEm17.out b/examples/extended/electromagnetic/TestEm17/TestEm17.out index 9c9cdb76cb..2072c7c37d 100644 --- a/examples/extended/electromagnetic/TestEm17/TestEm17.out +++ b/examples/extended/electromagnetic/TestEm17/TestEm17.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,65 +13,32 @@ ***** Table : Nb of materials = 7 ***** - 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 + Material: galactic density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 114561548.020 pc Imean: 19.200 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: 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: CaCO3 density: 2.800 g/cm3 RadL: 8.581 cm Nucl.Int.Length: 34.749 cm Imean: 123.060 eV + Material: CaCO3 density: 2.800 g/cm3 RadL: 8.581 cm Nucl.Int.Length: 34.767 cm Imean: 123.236 eV ---> Element: Calcium (Ca) Z = 20.0 N = 40.1 A = 40.08 g/mole ElmMassFraction: 40.04 % ElmAbundance 20.00 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 12.00 % ElmAbundance 20.00 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 47.96 % ElmAbundance 60.00 % - Material: Carbon density: 2.265 g/cm3 RadL: 18.850 cm Nucl.Int.Length: 35.387 cm Imean: 78.000 eV + Material: Carbon density: 2.265 g/cm3 RadL: 18.850 cm Nucl.Int.Length: 35.407 cm Imean: 81.000 eV ---> Element: Carbon ( ) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV + Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.969 cm Imean: 286.000 eV ---> Element: Iron ( ) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Tin density: 7.310 g/cm3 RadL: 1.206 cm Nucl.Int.Length: 23.531 cm Imean: 490.000 eV + Material: Tin density: 7.310 g/cm3 RadL: 1.206 cm Nucl.Int.Length: 23.491 cm Imean: 488.000 eV ---> Element: Tin ( ) Z = 50.0 N = 118.7 A = 118.70 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: HI density: 2.800 g/cm3 RadL: 3.049 cm Nucl.Int.Length: 60.888 cm Imean: 465.242 eV + Material: HI density: 2.800 g/cm3 RadL: 3.049 cm Nucl.Int.Length: 60.873 cm Imean: 462.393 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 0.79 % ElmAbundance 50.00 % ---> Element: Iodine (I) Z = 53.0 N = 126.9 A = 126.90 g/mole ElmMassFraction: 99.21 % ElmAbundance 50.00 % -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 2 # /testem/det/setMat Iron @@ -102,106 +69,103 @@ hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 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= 1000 PeV + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 1000 PeV hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 100 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 100 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 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= 1000 PeV + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 1000 PeV muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 1000 PeV + MuBrem : Emin= 0 eV Emax= 1000 PeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 1000 PeV + muPairProd : Emin= 0 eV Emax= 1000 PeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 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= 1000 PeV + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 1000 PeV muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 1000 PeV + MuBrem : Emin= 0 eV Emax= 1000 PeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 1000 PeV + muPairProd : Emin= 0 eV Emax= 1000 PeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 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= 1000 PeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 1000 PeV hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 100 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 100 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 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= 1000 PeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 1000 PeV hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 100 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 1000 PeV in 160 bins Lambda tables from threshold to 1000 PeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 100 TeV Region -- appears in world volume Root logical volume(s) : Iron @@ -255,18 +219,18 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=4.5s Real=4.76s Sys=0.26s + User=2.93s Real=3.23s Sys=0.3s The run consists of 10000 mu+ of 10 TeV through 1 m of Iron (density: 7.9 g/cm3 ) - Number of process calls ---> muIoni : 462193 muPairProd : 63750 muBrems : 664 + Number of process calls ---> muIoni : 461434 muPairProd : 63707 muBrems : 707 - Simulation: total CrossSection = 0.52661 /cm MeanFreePath = 1.8989 cm massicCrossSection = 0.066913 cm2/g + Simulation: total CrossSection = 0.52585 /cm MeanFreePath = 1.9017 cm massicCrossSection = 0.066817 cm2/g Theory: total CrossSection = 0.53938 /cm MeanFreePath = 1.854 cm massicCrossSection = 0.068536 cm2/g --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1979278308, 1212504058 + Current couple of seeds = 806712998, 1863546607 ---------------------------------------- # /gun/particle pi+ @@ -283,7 +247,7 @@ Region -- appears in world volume Index : 0 used in the geometry : Yes recalculation needed : No Material : Iron Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 20.643844 keV e- 1.295918 MeV e+ 1.2116932 MeV proton 0 eV + Energy thresholds : gamma 20.6438 keV e- 1.29592 MeV e+ 1.21169 MeV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -293,7 +257,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1979278308, 1212504058 + Current couple of seeds = 806712998, 1863546607 ---------------------------------------- Start Run processing. @@ -319,17 +283,17 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=4.43s Real=4.65s Sys=0.2s + User=2.77s Real=3.16s Sys=0.33s The run consists of 10000 pi+ of 10 TeV through 1 m of Iron (density: 7.9 g/cm3 ) - Number of process calls ---> hPairProd : 59554 hIoni : 433810 hBrems : 341 + Number of process calls ---> hIoni : 433803 hPairProd : 59180 hBrems : 368 - Simulation: total CrossSection = 0.4937 /cm MeanFreePath = 2.0255 cm massicCrossSection = 0.062733 cm2/g + Simulation: total CrossSection = 0.49335 /cm MeanFreePath = 2.027 cm massicCrossSection = 0.062688 cm2/g --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 472749732, 1691371135 + Current couple of seeds = 1026755966, 1333996014 ---------------------------------------- # /gun/particle proton @@ -346,7 +310,7 @@ Region -- appears in world volume Index : 0 used in the geometry : Yes recalculation needed : No Material : Iron Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 20.643844 keV e- 1.295918 MeV e+ 1.2116932 MeV proton 0 eV + Energy thresholds : gamma 20.6438 keV e- 1.29592 MeV e+ 1.21169 MeV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -356,7 +320,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 472749732, 1691371135 + Current couple of seeds = 1026755966, 1333996014 ---------------------------------------- Start Run processing. @@ -382,21 +346,19 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=3.87s Real=4.1s Sys=0.24s + User=2.44s Real=2.78s Sys=0.33s The run consists of 10000 proton of 10 TeV through 1 m of Iron (density: 7.9 g/cm3 ) - Number of process calls ---> hIoni : 433990 hPairProd : 34578 hBrems : 6 + Number of process calls ---> hIoni : 434403 hPairProd : 33880 hBrems : 3 - Simulation: total CrossSection = 0.46857 /cm MeanFreePath = 2.1341 cm massicCrossSection = 0.059539 cm2/g + Simulation: total CrossSection = 0.46829 /cm MeanFreePath = 2.1354 cm massicCrossSection = 0.059503 cm2/g --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1755259335, 1707411030 + Current couple of seeds = 1315625129, 1228206159 ---------------------------------------- # -Graphics systems deleted. -Visualization Manager deleting... UserDetectorConstruction deleted. UserPhysicsList deleted. UserRunAction deleted. diff --git a/examples/extended/electromagnetic/TestEm17/src/EventAction.cc b/examples/extended/electromagnetic/TestEm17/src/EventAction.cc index f34e8e5ec7..55a8e9b86f 100644 --- a/examples/extended/electromagnetic/TestEm17/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.2 2006/06/29 16:48:53 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.4 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,9 +34,6 @@ #include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -66,19 +63,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - if (G4VVisManager::GetConcreteInstance()) - { - G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); - for (G4int i=0; iGetTrajectoryContainer()))[i]); - trj->DrawTrajectory(1000); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc index 088c8a2c1e..f6fa5a7b1f 100644 --- a/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.4 2008/09/26 20:15:04 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.cc,v 1.5 2010/11/09 20:41:49 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "testem17"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; k storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style surface +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate - +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm18/History b/examples/extended/electromagnetic/TestEm18/History index 008f46752d..d4fa6ea980 100644 --- a/examples/extended/electromagnetic/TestEm18/History +++ b/examples/extended/electromagnetic/TestEm18/History @@ -1,4 +1,4 @@ -$Id: History,v 1.13 2009/11/19 18:46:04 maire Exp $ +$Id: History,v 1.20 2010/11/22 18:32:59 vnivanch Exp $ ---------------------------------------------------- ========================================================= @@ -14,6 +14,27 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +22-11-10 V.Ivanchenko (testem18-V09-03-05) +- PhysicsList, PhysListEmStandardFLUO - changed coherently with + emutils upgrade + +19-11-10 V.Ivanchenko (testem18-V09-03-04) +- PhysicsList is taken from TestEm5, obsolete builders for + Livermore and Penelope are removed; fluorescence and PIXE + options are added + +09-11-10 M.Asai (testem18-V09-03-03) +- Fix AIDA file option. + +06-06-10 J.Perl (testem18-V09-03-02) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem18-V09-03-01) +- Updated vis usage + +21-05-10 mma (testem18-V09-03-00) +- TestEm18.cc : introduction of G4UIExecutive 19-11-09 mma (testem18-V09-02-04) - cosmetics in low-energy physics lists diff --git a/examples/extended/electromagnetic/TestEm18/TestEm18.cc b/examples/extended/electromagnetic/TestEm18/TestEm18.cc index a0aa294068..3fe6e12537 100644 --- a/examples/extended/electromagnetic/TestEm18/TestEm18.cc +++ b/examples/extended/electromagnetic/TestEm18/TestEm18.cc @@ -24,22 +24,16 @@ // ******************************************************************** // // -// $Id: TestEm18.cc,v 1.1 2007/02/13 17:57:19 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm18.cc,v 1.2 2010/05/21 08:41:18 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "Randomize.hh" -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - #include "DetectorConstruction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" @@ -50,6 +44,14 @@ #include "StackingAction.hh" #include "HistoManager.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) { @@ -69,8 +71,6 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new PhysicsList()); - G4VisManager* visManager = 0; - HistoManager* histo = new HistoManager(); // set user action classes @@ -99,37 +99,34 @@ int main(int argc,char** argv) { // get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); - - if (argc==1) // Define UI terminal for interactive mode - { -#ifdef G4VIS_USE - // visualization manager - 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; + if (argc!=1) // batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UI->ApplyCommand(command+fileName); } - else // Batch mode + + else //define visualization and UI terminal for interactive mode { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif } // job termination - -#ifdef G4VIS_USE - delete visManager; -#endif - + // delete histo; delete runManager; diff --git a/examples/extended/electromagnetic/TestEm18/TestEm18.in b/examples/extended/electromagnetic/TestEm18/TestEm18.in index bdf818a7b1..ed24672250 100644 --- a/examples/extended/electromagnetic/TestEm18/TestEm18.in +++ b/examples/extended/electromagnetic/TestEm18/TestEm18.in @@ -1,4 +1,4 @@ -# $Id: TestEm18.in,v 1.2 2009/10/12 21:47:57 maire Exp $ +# $Id: TestEm18.in,v 1.3 2010/11/19 12:17:50 vnivanch Exp $ # # macro file for TestEm18.cc # @@ -8,7 +8,7 @@ /testem/det/setMat Water /testem/det/setSize 1 cm # -/testem/phys/addPhysics standard +/testem/phys/addPhysics local # /testem/phys/setCuts 1 mm # diff --git a/examples/extended/electromagnetic/TestEm18/TestEm18.out b/examples/extended/electromagnetic/TestEm18/TestEm18.out index c2d52d6a9a..a3dbf2b4c1 100644 --- a/examples/extended/electromagnetic/TestEm18/TestEm18.out +++ b/examples/extended/electromagnetic/TestEm18/TestEm18.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,52 +13,54 @@ ***** Table : Nb of materials = 12 ***** - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.537 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: Water_vapor density: 1.000 mg/cm3 RadL: 360.924 m Nucl.Int.Length: 754.163 m Imean: 75.000 eV temperature: 273.15 K pressure: 1.00 atm + Material: Water_vapor density: 1.000 mg/cm3 RadL: 360.924 m Nucl.Int.Length: 755.365 m Imean: 75.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: Carbon density: 2.267 g/cm3 RadL: 18.833 cm Nucl.Int.Length: 35.356 cm Imean: 78.000 eV + Material: Carbon density: 2.267 g/cm3 RadL: 18.833 cm Nucl.Int.Length: 35.376 cm Imean: 81.000 eV ---> Element: Carbon ( ) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.860 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.663 cm Imean: 173.600 eV + Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.761 cm Imean: 173.000 eV ---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.078 cm Imean: 187.200 eV + Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.006 cm Imean: 188.000 eV ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV + Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.969 cm Imean: 286.000 eV ---> Element: Iron ( ) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.431 cm Imean: 332.800 eV + Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.333 cm Imean: 350.000 eV ---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.312 cm Imean: 725.200 eV + Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.306 cm Imean: 727.000 eV ---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV + Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.258 cm Imean: 823.000 eV ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: ArgonGas density: 1.782 mg/cm3 RadL: 109.702 m Nucl.Int.Length: 671.416 m Imean: 187.200 eV temperature: 273.15 K pressure: 1.00 atm + Material: ArgonGas density: 1.782 mg/cm3 RadL: 109.702 m Nucl.Int.Length: 670.835 m Imean: 188.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: ArgonGas ( ) Z = 18.0 N = 39.9 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % +### New material Water /run/verbose 2 # /testem/det/setMat Water /testem/det/setSize 1 cm # -/testem/phys/addPhysics standard +/testem/phys/addPhysics local +PhysicsList::AddPhysicsList: # /testem/phys/setCuts 1 mm # @@ -80,181 +82,164 @@ PhysicsList::SetCuts:CutLength : 1 mm 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 240 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 240 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.01, 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV - CSDA range table up to 100 TeV in 240 bins + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 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 + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.01, 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV - CSDA range table up to 100 TeV in 240 bins + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 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 + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.01, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV - CSDA range table up to 100 TeV in 240 bins + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV ionIoni: for GenericIon SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.01, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - Stopping Power data for 17 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 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV - CSDA range table up to 100 TeV in 240 bins + BraggIon : Emin= 0 eV Emax= 2 MeV + 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.01, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV - CSDA range table up to 100 TeV in 240 bins + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.01, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 + dE/dx 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= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV - CSDA range table up to 100 TeV in 240 bins + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.01, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 + dE/dx 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= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV - CSDA range table up to 100 TeV in 240 bins + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.01, 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)= 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 - CSDA range table up to 100 TeV in 240 bins + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.01, 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)= 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 - CSDA range table up to 100 TeV in 240 bins + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 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 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.01, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 + dE/dx 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= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV - CSDA range table up to 100 TeV in 240 bins + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 240 bins - Lambda tables from threshold to 100 TeV in 240 bins, spline: 1 - finalRange(mm)= 0.01, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 + dE/dx 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= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV - CSDA range table up to 100 TeV in 240 bins + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : Water Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Water - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 2.94056 keV e- 351.877 keV e+ 342.545 keV proton 0 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 2.94056 keV e- 351.877 keV e+ 342.545 keV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld @@ -295,7 +280,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100000 - User=1.7s Real=1.7s Sys=0s + User=1.38s Real=1.38s Sys=0s ======================== run summary ====================== @@ -303,19 +288,19 @@ Run Summary =========================================================== - trackLength= 1.0004 cm nb of steps= 1.5811 stepSize= 6.3275 mm + trackLength= 1.0004 cm nb of steps= 1.5488 stepSize= 6.4595 mm - d-rays : eLoss/primary= 244.33 keV nb of d-rays= 0.23251 = 1.0508 MeV Tmin= 351.89 keV Tmax= 4.9635 MeV + d-rays : eLoss/primary= 244.25 keV nb of d-rays= 0.2303 = 1.0606 MeV Tmin= 351.9 keV Tmax= 4.9663 MeV - brems : eLoss/primary= 176.44 keV nb of gammas= 0.30574 = 577.09 keV Tmin= 2.9418 keV Tmax= 9.6102 MeV + brems : eLoss/primary= 171.12 keV nb of gammas= 0.30491 = 561.23 keV Tmin= 2.9418 keV Tmax= 9.6461 MeV - deposit : eLoss/primary= 1.7348 MeV table= 1.7359 MeV ---> simul/reference= 0.99937 + deposit : eLoss/primary= 1.7346 MeV table= 1.7359 MeV ---> simul/reference= 0.99926 - total : eLoss/primary= 2.1555 MeV table= 2.1629 MeV ---> simul/reference= 0.99661 + total : eLoss/primary= 2.1499 MeV table= 2.1499 MeV ---> simul/reference= 1 --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1543636667, 810894265 + Current couple of seeds = 68507315, 32930455 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/electromagnetic/TestEm18/fluo.mac b/examples/extended/electromagnetic/TestEm18/fluo.mac new file mode 100644 index 0000000000..d031d7dfee --- /dev/null +++ b/examples/extended/electromagnetic/TestEm18/fluo.mac @@ -0,0 +1,39 @@ +# $Id: fluo.mac,v 1.2 2010/11/22 18:32:59 vnivanch Exp $ +# +# macro file for TestEm18.cc +# +/control/verbose 2 +/run/verbose 2 +# +/testem/det/setMat G4_Cu +/testem/det/setSize 1 cm +# +/testem/phys/addPhysics emstandardFLUO +#/testem/phys/addPhysics emstandard_opt2 +#/testem/phys/addPhysics emlivermore +#/testem/phys/addPhysics empenelope +# +/testem/phys/setCuts 0.01 mm +/testem/stack/killSecondaries false +# +/run/initialize +/testem/phys/fluo true +/testem/phys/pixe false +# +/gun/particle e- +/gun/energy 10 MeV +# +/testem/histo/setFileName e-10mev_fluo +/testem/histo/setHisto 4 80 0 800 keV #e- energy spectrum +/testem/histo/setHisto 5 500 0 50 keV #g energy spectrum +# +/run/beamOn 10000 +# +/gun/particle gamma +/gun/energy 10 MeV +# +/testem/histo/setFileName gamma10mev_fluo +/testem/histo/setHisto 4 80 0 800 keV #e- energy spectrum +/testem/histo/setHisto 5 500 0 50 keV #g energy spectrum +# +/run/beamOn 10000 diff --git a/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh index 0079626f2e..1f41ac7a6a 100644 --- a/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: DetectorConstruction.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.hh,v 1.2 2010/11/19 12:17:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -53,7 +53,7 @@ class DetectorConstruction : public G4VUserDetectorConstruction G4VPhysicalVolume* Construct(); void SetSize (G4double); - void SetMaterial (G4String); + void SetMaterial (const G4String&); void UpdateGeometry(); diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandardFLUO.hh b/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandardFLUO.hh new file mode 100644 index 0000000000..2e400abcfa --- /dev/null +++ b/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandardFLUO.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: PhysListEmStandardFLUO.hh,v 1.1 2010/11/19 12:18:15 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandardFLUO_h +#define PhysListEmStandardFLUO_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandardFLUO : public G4VPhysicsConstructor +{ +public: + PhysListEmStandardFLUO(const G4String& name = "emstandardFLUO"); + virtual ~PhysListEmStandardFLUO(); + +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(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh index 078aee059e..4a8e839e12 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.hh,v 1.3 2009/03/06 18:24:07 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.hh,v 1.5 2010/11/19 12:17:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -42,30 +42,38 @@ class PhysicsListMessenger; class PhysicsList: public G4VModularPhysicsList { - public: - PhysicsList(); - ~PhysicsList(); +public: + PhysicsList(); + virtual ~PhysicsList(); - void ConstructParticle(); - void ConstructProcess(); - - void AddPhysicsList(const G4String& name); - void AddStepMax(); + void ConstructParticle(); + + void AddPhysicsList(const G4String& name); - void SetCuts(); - void SetCutForGamma(G4double); - void SetCutForElectron(G4double); - void SetCutForPositron(G4double); - - private: - - PhysicsListMessenger* pMessenger; + void ConstructProcess(); + void AddDecay(); + void AddStepMax(); + + void SetCuts(); + void SetCutForGamma(G4double); + void SetCutForElectron(G4double); + void SetCutForPositron(G4double); + void SetCutForProton(G4double); + void SetFluorescence(G4bool); + void SetPIXE(G4bool); + +private: - G4String emName; - G4VPhysicsConstructor* emPhysicsList; + PhysicsListMessenger* pMessenger; + + G4String emName; + G4VPhysicsConstructor* emPhysicsList; - G4double cutForGamma; - G4double cutForElectron; + G4double cutForGamma; + G4double cutForElectron; + G4double cutForPositron; + G4double cutForProton; + }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh index 1ce26da0f7..7627f9c851 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsListMessenger.hh,v 1.3 2009/03/06 18:24:07 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsListMessenger.hh,v 1.5 2010/11/19 12:17:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -38,28 +38,32 @@ class PhysicsList; class G4UIdirectory; class G4UIcmdWithAString; +class G4UIcmdWithABool; class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class PhysicsListMessenger: public G4UImessenger { - public: +public: - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger(); + PhysicsListMessenger(PhysicsList* ); + virtual ~PhysicsListMessenger(); - void SetNewValue(G4UIcommand*, G4String); + void SetNewValue(G4UIcommand*, G4String); - private: +private: - PhysicsList* pPhysicsList; + PhysicsList* pPhysicsList; - G4UIdirectory* physDir; - G4UIcmdWithAString* pListCmd; - G4UIcmdWithADoubleAndUnit* gammaCutCmd; - G4UIcmdWithADoubleAndUnit* electCutCmd; - G4UIcmdWithADoubleAndUnit* allCutCmd; + G4UIdirectory* physDir; + G4UIcmdWithAString* pListCmd; + G4UIcmdWithADoubleAndUnit* gammaCutCmd; + G4UIcmdWithADoubleAndUnit* electCutCmd; + G4UIcmdWithADoubleAndUnit* protoCutCmd; + G4UIcmdWithADoubleAndUnit* allCutCmd; + G4UIcmdWithABool* fluoCmd; + G4UIcmdWithABool* pixeCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh b/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh index 3b7d685f61..9d7a975bd9 100644 --- a/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: StackingAction.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: StackingAction.hh,v 1.2 2010/11/19 12:17:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -38,6 +38,7 @@ class RunAction; class EventAction; class HistoManager; +class StackingMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -48,11 +49,16 @@ class StackingAction : public G4UserStackingAction ~StackingAction(); G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*); + + inline void SetKillStatus(G4bool value) {killSecondary = value;}; private: RunAction* runaction; EventAction* eventaction; HistoManager* histoManager; + + G4bool killSecondary; + StackingMessenger* stackMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/SteppingMessenger.hh b/examples/extended/electromagnetic/TestEm18/include/StackingMessenger.hh similarity index 82% rename from examples/extended/electromagnetic/TestEm14/include/SteppingMessenger.hh rename to examples/extended/electromagnetic/TestEm18/include/StackingMessenger.hh index d8339bf6ae..37aa19cdf7 100644 --- a/examples/extended/electromagnetic/TestEm14/include/SteppingMessenger.hh +++ b/examples/extended/electromagnetic/TestEm18/include/StackingMessenger.hh @@ -23,37 +23,37 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: SteppingMessenger.hh,v 1.2 2006/06/29 16:45:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// +// $Id: StackingMessenger.hh,v 1.1 2010/11/19 12:17:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef SteppingMessenger_h -#define SteppingMessenger_h 1 +#ifndef StackingMessenger_h +#define StackingMessenger_h 1 #include "G4UImessenger.hh" #include "globals.hh" -class SteppingAction; +class StackingAction; class G4UIdirectory; -class G4UIcmdWithADouble; +class G4UIcmdWithABool; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class SteppingMessenger: public G4UImessenger +class StackingMessenger: public G4UImessenger { public: - SteppingMessenger(SteppingAction*); - ~SteppingMessenger(); + StackingMessenger(StackingAction*); + ~StackingMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - SteppingAction* stepAction; + StackingAction* stackAction; - G4UIdirectory* stepDir; - G4UIcmdWithADouble* destepCmd; + G4UIdirectory* stackDir; + G4UIcmdWithABool* killCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/pixe.mac b/examples/extended/electromagnetic/TestEm18/pixe.mac new file mode 100644 index 0000000000..6a6bb6d951 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm18/pixe.mac @@ -0,0 +1,31 @@ +# $Id: pixe.mac,v 1.2 2010/11/22 18:32:59 vnivanch Exp $ +# +# macro file for TestEm18.cc +# +/control/verbose 2 +/run/verbose 2 +# +/testem/det/setMat G4_Cu +/testem/det/setSize 1 cm +# +/testem/phys/addPhysics emstandardFLUO +#/testem/phys/addPhysics emstandard_opt2 +#/testem/phys/addPhysics emlivermore +#/testem/phys/addPhysics empenelope +# +/testem/phys/setCuts 0.01 mm +/testem/stack/killSecondaries false +# +/run/initialize +/testem/phys/fluo true +/testem/phys/pixe true +# +/gun/particle proton +/gun/energy 100 MeV +# +/testem/histo/setFileName proton100mev_fluo +/testem/histo/setHisto 4 80 0 800 keV #e- energy spectrum +/testem/histo/setHisto 5 500 0 50 keV #g energy spectrum +# +/run/beamOn 10000 +# diff --git a/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc index 977eecd2df..807e88a6c5 100644 --- a/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: DetectorConstruction.cc,v 1.3 2009/03/06 18:24:07 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: DetectorConstruction.cc,v 1.4 2010/11/19 12:17:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,6 +33,7 @@ #include "DetectorMessenger.hh" #include "G4Material.hh" +#include "G4NistManager.hh" #include "G4Box.hh" #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" @@ -162,16 +163,23 @@ void DetectorConstruction::PrintParameters() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void DetectorConstruction::SetMaterial(G4String materialChoice) +void DetectorConstruction::SetMaterial(const G4String& name) { // search the material by its name - G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); - if (pttoMaterial) { - aMaterial = pttoMaterial; - UpdateGeometry(); - } else { + G4Material* mat = G4Material::GetMaterial(name, false); + + // create the material by its name + if(!mat) { mat = G4NistManager::Instance()->FindOrBuildMaterial(name); } + + if(mat && mat != aMaterial) { + G4cout << "### New material " << mat->GetName() << G4endl; + aMaterial = mat; + UpdateGeometry(); + } + + if(!mat) { G4cout << "\n--> warning from DetectorConstruction::SetMaterial : " - << materialChoice << " not found" << G4endl; + << name << " not found" << G4endl; } } @@ -189,8 +197,7 @@ void DetectorConstruction::SetSize(G4double value) void DetectorConstruction::UpdateGeometry() { - if (pBox) - G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes()); + G4RunManager::GetRunManager()->GeometryHasBeenModified(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/EventAction.cc b/examples/extended/electromagnetic/TestEm18/src/EventAction.cc index ad0827aa2a..6615841eb8 100644 --- a/examples/extended/electromagnetic/TestEm18/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.3 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -36,9 +36,6 @@ #include "EventMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -72,29 +69,12 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { runaction->AddEnergyDeposit(EnergyDeposit); histoManager->FillHisto(1, EnergyDeposit); histoManager->FillHisto(2, EnergySecondary); histoManager->FillHisto(3, EnergyDeposit+EnergySecondary); - - 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(1000); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(1000); - else if ((drawFlag == "neutral")&&(trj->GetCharge() == 0.)) - trj->DrawTrajectory(1000); - - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc index 000b4a6438..f6b88848eb 100644 --- a/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.5 2008/09/26 20:26:01 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.cc,v 1.6 2010/11/09 20:45:41 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "testem18"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; kreset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - //Applicability range for Penelope models - //for higher energies, the Standard models are used - G4double highEnergyLimit = 1*GeV; - - if (particleName == "gamma") { - // gamma - - G4PhotoElectricEffect* phot = new G4PhotoElectricEffect(); - G4PenelopePhotoElectricModel* - photModel = new G4PenelopePhotoElectricModel(); - photModel->SetHighEnergyLimit(highEnergyLimit); - phot->AddEmModel(0, photModel); - pmanager->AddDiscreteProcess(phot); - - G4ComptonScattering* compt = new G4ComptonScattering(); - G4PenelopeComptonModel* - comptModel = new G4PenelopeComptonModel(); - comptModel->SetHighEnergyLimit(highEnergyLimit); - compt->AddEmModel(0, comptModel); - pmanager->AddDiscreteProcess(compt); - - G4GammaConversion* conv = new G4GammaConversion(); - G4PenelopeGammaConversionModel* - convModel = new G4PenelopeGammaConversionModel(); - convModel->SetHighEnergyLimit(highEnergyLimit); - conv->AddEmModel(0, convModel); - pmanager->AddDiscreteProcess(conv); - - G4RayleighScattering* rayl = new G4RayleighScattering(); - G4PenelopeRayleighModel* - raylModel = new G4PenelopeRayleighModel(); - raylModel->SetHighEnergyLimit(highEnergyLimit); - rayl->AddEmModel(0, raylModel); - pmanager->AddDiscreteProcess(rayl); - - } else if (particleName == "e-") { - //electron - - G4eIonisation* eIoni = new G4eIonisation(); - G4PenelopeIonisationModel* - eIoniModel = new G4PenelopeIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1, 1, 1); - - G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4PenelopeBremsstrahlungModel* - eBremModel = new G4PenelopeBremsstrahlungModel(); - eBremModel->SetHighEnergyLimit(highEnergyLimit); - eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1, 2, 2); - - } else if (particleName == "e+") { - //positron - G4eIonisation* eIoni = new G4eIonisation(); - G4PenelopeIonisationModel* - eIoniModel = new G4PenelopeIonisationModel(); - eIoniModel->SetHighEnergyLimit(highEnergyLimit); - eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); - pmanager->AddProcess(eIoni, -1, 1, 1); - - G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); - G4PenelopeBremsstrahlungModel* - eBremModel = new G4PenelopeBremsstrahlungModel(); - eBremModel->SetHighEnergyLimit(highEnergyLimit); - eBrem->AddEmModel(0, eBremModel); - pmanager->AddProcess(eBrem, -1, 2, 2); - - G4eplusAnnihilation* eAnni = new G4eplusAnnihilation(); - G4PenelopeAnnihilationModel* - eAnniModel = new G4PenelopeAnnihilationModel(); - eAnniModel->SetHighEnergyLimit(highEnergyLimit); - eAnni->AddEmModel(0, eAnniModel); - pmanager->AddProcess(eAnni, 0,-1, 3); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); - pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); - pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); - - } else if( particleName == "alpha" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - //all others charged particles except geantino - pmanager->AddProcess(new G4hIonisation, -1, 1, 1); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysListEmStandardFLUO.cc b/examples/extended/electromagnetic/TestEm18/src/PhysListEmStandardFLUO.cc new file mode 100644 index 0000000000..8423de9817 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm18/src/PhysListEmStandardFLUO.cc @@ -0,0 +1,197 @@ +// +// ******************************************************************** +// * 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: PhysListEmStandardFLUO.cc,v 1.2 2010/11/22 18:32:59 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandardFLUO.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4PEEffectFluoModel.hh" +#include "G4KleinNishinaModel.hh" +#include "G4UAtomicDeexcitation.hh" + +#include "G4eMultipleScattering.hh" +#include "G4UrbanMscModel93.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" + +#include "G4ionIonisation.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4NuclearStopping.hh" + +#include "G4LossTableManager.hh" +#include "G4EmProcessOptions.hh" +#include "G4MscStepLimitType.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardFLUO::PhysListEmStandardFLUO(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardFLUO::~PhysListEmStandardFLUO() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandardFLUO::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 + G4PhotoElectricEffect* pe = new G4PhotoElectricEffect; + pe->SetModel(new G4PEEffectFluoModel()); + G4ComptonScattering* cs = new G4ComptonScattering; + cs->SetModel(new G4KleinNishinaModel()); + pmanager->AddDiscreteProcess(pe); + pmanager->AddDiscreteProcess(cs); + pmanager->AddDiscreteProcess(new G4GammaConversion); + + } else if (particleName == "e-") { + //electron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + + } else if (particleName == "e+") { + //positron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + pmanager->AddProcess(msc, -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 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-" || + 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" ) { + //alpha + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if( particleName == "GenericIon" ) { + //Ions + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + pmanager->AddProcess(ionIoni, -1, 2, 2); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } 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*20); //default=12*7 + emOptions.SetLambdaBinning(12*20); //default=12*7 + //emOptions.SetSplineFlag(true); //default + + //multiple coulomb scattering + // + //emOptions.SetMscStepLimitation(fUseDistanceToBoundary); //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 + + //deexcitation + G4VAtomDeexcitation* de = new G4UAtomicDeexcitation(); + de->SetActive(true); + de->SetPIXEActive(true); + G4LossTableManager::Instance()->SetAtomDeexcitation(de); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc index 914fc3362c..005c2b5d44 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.5 2009/03/06 18:24:07 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.8 2010/11/22 18:32:59 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -32,28 +32,68 @@ #include "PhysicsList.hh" #include "PhysicsListMessenger.hh" -#include "PhysListEmStandard.hh" -#include "PhysListEmLivermore.hh" -#include "PhysListEmPenelope.hh" - #include "G4LossTableManager.hh" + +#include "PhysListEmStandard.hh" + +#include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysics_option1.hh" +#include "G4EmStandardPhysics_option2.hh" +#include "G4EmStandardPhysics_option3.hh" +#include "PhysListEmStandardFLUO.hh" +#include "G4EmLivermorePhysics.hh" +#include "G4EmPenelopePhysics.hh" +#include "G4UAtomicDeexcitation.hh" + +#include "G4Decay.hh" +#include "StepMax.hh" + #include "G4UnitsTable.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.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 "G4Proton.hh" +#include "G4MesonConstructor.hh" +#include "G4BaryonConstructor.hh" +#include "G4IonConstructor.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysicsList::PhysicsList() : G4VModularPhysicsList() { - G4LossTableManager::Instance(); pMessenger = new PhysicsListMessenger(this); // EM physics - emName = G4String("standard"); + G4LossTableManager::Instance()->SetVerbose(1); + emName = G4String("local"); emPhysicsList = new PhysListEmStandard(emName); - + defaultCutValue = 1.*mm; + cutForGamma = defaultCutValue; cutForElectron = defaultCutValue; - + cutForPositron = defaultCutValue; + cutForProton = defaultCutValue; + SetVerboseLevel(1); } @@ -67,149 +107,75 @@ PhysicsList::~PhysicsList() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PhysicsList::AddPhysicsList(const G4String& name) -{ - if (verboseLevel>1) { - G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; - } - - if (name == emName) return; - - if (name == "standard") { - - emName = name; - delete emPhysicsList; - emPhysicsList = new PhysListEmStandard(name); - - } else if (name == "livermore") { - - emName = name; - delete emPhysicsList; - emPhysicsList = new PhysListEmLivermore(name); - - } else if (name == "penelope") { - - emName = name; - delete emPhysicsList; - emPhysicsList = new PhysListEmPenelope(name); - - } else { - - G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" - << " is not defined" - << G4endl; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// Bosons -#include "G4ChargedGeantino.hh" -#include "G4Geantino.hh" -#include "G4Gamma.hh" - -// leptons -#include "G4Electron.hh" -#include "G4Positron.hh" - -#include "G4MuonPlus.hh" -#include "G4MuonMinus.hh" - -// Mesons -#include "G4PionPlus.hh" -#include "G4PionMinus.hh" - -#include "G4KaonPlus.hh" -#include "G4KaonMinus.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 + // pseudo-particles G4Geantino::GeantinoDefinition(); G4ChargedGeantino::ChargedGeantinoDefinition(); -// gamma + // gamma G4Gamma::GammaDefinition(); - -// leptons + + // leptons G4Electron::ElectronDefinition(); G4Positron::PositronDefinition(); G4MuonPlus::MuonPlusDefinition(); G4MuonMinus::MuonMinusDefinition(); - -// mesons - G4PionPlus::PionPlusDefinition(); - G4PionMinus::PionMinusDefinition(); - G4KaonPlus::KaonPlusDefinition(); - G4KaonMinus::KaonMinusDefinition(); - -// baryons - G4Proton::ProtonDefinition(); - G4AntiProton::AntiProtonDefinition(); - G4Neutron::NeutronDefinition(); - G4AntiNeutron::AntiNeutronDefinition(); - -// ions - G4Deuteron::DeuteronDefinition(); - G4Triton::TritonDefinition(); - G4Alpha::AlphaDefinition(); - G4GenericIon::GenericIonDefinition(); + + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + G4NeutrinoMu::NeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); + + // mesons + G4MesonConstructor mConstructor; + mConstructor.ConstructParticle(); + + // barions + G4BaryonConstructor bConstructor; + bConstructor.ConstructParticle(); + + // ions + G4IonConstructor iConstructor; + iConstructor.ConstructParticle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4EmProcessOptions.hh" - void PhysicsList::ConstructProcess() { AddTransportation(); emPhysicsList->ConstructProcess(); + AddDecay(); AddStepMax(); - - // Em options - // - G4EmProcessOptions emOptions; - - //physics tables - // - emOptions.SetMinEnergy(100*eV); //default - emOptions.SetMaxEnergy(100*TeV); //default - emOptions.SetDEDXBinning(12*20); //default=12*7 - emOptions.SetLambdaBinning(12*20); //default=12*7 - emOptions.SetSplineFlag(true); - - //energy loss - // - emOptions.SetStepFunction(0.2, 10*um); //default=(0.2, 1*mm) - emOptions.SetLinearLossLimit(1.e-2); //default - - //build CSDA range - // - emOptions.SetBuildCSDARange(true); - emOptions.SetMaxEnergyForCSDARange(100*TeV); - emOptions.SetDEDXBinningForCSDARange(12*20); - - //ionization - // - emOptions.SetSubCutoff(false); //default } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4ProcessManager.hh" -#include "StepMax.hh" +void PhysicsList::AddDecay() +{ + // Add Decay Process + + G4Decay* fDecayProcess = new G4Decay(); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + + if (fDecayProcess->IsApplicable(*particle) && !particle->IsShortLived()) { + + pmanager ->AddProcess(fDecayProcess); + + // set ordering for PostStepDoIt and AtRestDoIt + pmanager ->SetProcessOrdering(fDecayProcess, idxPostStep); + pmanager ->SetProcessOrdering(fDecayProcess, idxAtRest); + + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsList::AddStepMax() { @@ -230,6 +196,70 @@ void PhysicsList::AddStepMax() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PhysicsList::AddPhysicsList(const G4String& name) +{ + if (verboseLevel>-1) { + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; + } + + if (name == emName) return; + + if (name == "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 == "emstandardFLUO") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandardFLUO(); + + } else if (name == "emstandard_opt3") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option3(); + + } else if (name == "empenelope"){ + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmPenelopePhysics(); + + } else if (name == "emlivermore"){ + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmLivermorePhysics(); + + } else { + + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" + << " is not defined" + << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void PhysicsList::SetCuts() { if (verboseLevel >0){ @@ -241,7 +271,7 @@ void PhysicsList::SetCuts() // because some processes for e+/e- need cut values for gamma SetCutValue(cutForGamma, "gamma"); SetCutValue(cutForElectron, "e-"); - SetCutValue(cutForElectron, "e+"); + SetCutValue(cutForPositron, "e+"); if (verboseLevel>0) DumpCutValuesTable(); } @@ -260,7 +290,38 @@ void PhysicsList::SetCutForElectron(G4double cut) { cutForElectron = cut; SetParticleCuts(cutForElectron, G4Electron::Electron()); - SetParticleCuts(cutForElectron, G4Positron::Positron()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::SetCutForPositron(G4double cut) +{ + cutForPositron = cut; + SetParticleCuts(cutForPositron, G4Positron::Positron()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::SetCutForProton(G4double cut) +{ + cutForProton = cut; + SetParticleCuts(cutForProton, G4Proton::Proton()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::SetFluorescence(G4bool value) +{ + G4VAtomDeexcitation* de = G4LossTableManager::Instance()->AtomDeexcitation(); + if(de) { de->SetActive(value); } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::SetPIXE(G4bool value) +{ + G4VAtomDeexcitation* de = G4LossTableManager::Instance()->AtomDeexcitation(); + if(de) { de->SetPIXEActive(value); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc index 8a0ac80e58..99a526d23a 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsListMessenger.cc,v 1.3 2009/03/06 18:24:07 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsListMessenger.cc,v 1.5 2010/11/19 12:17:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,6 +35,7 @@ #include "G4UIdirectory.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithABool.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -57,18 +58,36 @@ PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) gammaCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); electCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setECut",this); - electCutCmd->SetGuidance("Set e-/e+ cut."); + electCutCmd->SetGuidance("Set electron and positron cuts."); electCutCmd->SetParameterName("Ecut",false); electCutCmd->SetUnitCategory("Length"); electCutCmd->SetRange("Ecut>0.0"); electCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + protoCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setPCut",this); + protoCutCmd->SetGuidance("Set proton cut."); + protoCutCmd->SetParameterName("Pcut",false); + protoCutCmd->SetUnitCategory("Length"); + protoCutCmd->SetRange("Pcut>0.0"); + protoCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); allCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/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); + allCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + fluoCmd = new G4UIcmdWithABool("/testem/phys/fluo",this); + fluoCmd->SetGuidance("Set fluorescence on/off."); + fluoCmd->SetParameterName("fluo",false); + fluoCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + pixeCmd = new G4UIcmdWithABool("/testem/phys/pixe",this); + pixeCmd->SetGuidance("Set PIXE on/off."); + pixeCmd->SetParameterName("pixe",false); + pixeCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -78,29 +97,47 @@ PhysicsListMessenger::~PhysicsListMessenger() delete pListCmd; delete gammaCutCmd; delete electCutCmd; + delete protoCutCmd; delete allCutCmd; delete physDir; + delete fluoCmd; + delete pixeCmd; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if (command == pListCmd) - {pPhysicsList->AddPhysicsList(newValue);} + if( command == pListCmd ) + { pPhysicsList->AddPhysicsList(newValue);} - if (command == gammaCutCmd) - {pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue));} + if( command == gammaCutCmd ) + { pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue));} - if (command == electCutCmd) - {pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue));} - - if (command == allCutCmd) - { - G4double cut = allCutCmd->GetNewDoubleValue(newValue); - pPhysicsList->SetCutForGamma(cut); + if( command == electCutCmd ) + { + G4double cut = electCutCmd->GetNewDoubleValue(newValue); pPhysicsList->SetCutForElectron(cut); - } + pPhysicsList->SetCutForPositron(cut); + } + + if( command == protoCutCmd ) + { pPhysicsList->SetCutForProton(protoCutCmd->GetNewDoubleValue(newValue));} + + if( command == allCutCmd ) + { + G4double cut = allCutCmd->GetNewDoubleValue(newValue); + pPhysicsList->SetCutForGamma(cut); + pPhysicsList->SetCutForElectron(cut); + pPhysicsList->SetCutForPositron(cut); + pPhysicsList->SetCutForProton(cut); + } + + if( command == fluoCmd ) + { pPhysicsList->SetFluorescence(fluoCmd->GetNewBoolValue(newValue));} + + if( command == pixeCmd ) + { pPhysicsList->SetPIXE(fluoCmd->GetNewBoolValue(newValue));} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/RunAction.cc b/examples/extended/electromagnetic/TestEm18/src/RunAction.cc index 5f248897d4..884cd1de97 100644 --- a/examples/extended/electromagnetic/TestEm18/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.2 2007/02/16 11:59:47 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.cc,v 1.3 2010/11/19 12:17:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -105,14 +105,14 @@ void RunAction::EndOfRunAction(const G4Run* aRun) G4cout << "\n ===========================================================\n"; G4cout << G4endl; - if (particle->GetPDGCharge() == 0.) return; + histoManager->save(); G4cout.precision(5); //track length // G4double trackLPerEvent = trackLength/nbEvents; - G4double nbStepPerEvent = double(nbSteps)/nbEvents; + G4double nbStepPerEvent = G4double(nbSteps)/nbEvents; G4double stepSize = trackLength/nbSteps; G4cout @@ -125,7 +125,7 @@ void RunAction::EndOfRunAction(const G4Run* aRun) //charged secondaries (ionization, direct pair production) // G4double energyPerEvent = energyCharged/nbEvents; - G4double nbPerEvent = double(nbCharged)/nbEvents; + G4double nbPerEvent = G4double(nbCharged)/nbEvents; G4double meanEkin = 0.; if (nbCharged) meanEkin = energyCharged/nbCharged; @@ -141,7 +141,7 @@ void RunAction::EndOfRunAction(const G4Run* aRun) //neutral secondaries (bremsstrahlung) // energyPerEvent = energyNeutral/nbEvents; - nbPerEvent = double(nbNeutral)/nbEvents; + nbPerEvent = G4double(nbNeutral)/nbEvents; meanEkin = 0.; if (nbNeutral) meanEkin = energyNeutral/nbNeutral; @@ -154,6 +154,8 @@ void RunAction::EndOfRunAction(const G4Run* aRun) << " Tmax= " << G4BestUnit(emax[1], "Energy") << G4endl; + // Computations below only for charged particles + if (particle->GetPDGCharge() == 0.) return; G4EmCalculator emCal; @@ -165,7 +167,7 @@ void RunAction::EndOfRunAction(const G4Run* aRun) G4double r1 = r0 - trackLPerEvent; G4double etry = eprimary - energyPerEvent; G4double efinal = 0.; - if (r1 > 0.) efinal = GetEnergyFromRestrictedRange(r1,particle,material,etry); + if (r1 > 0. && etry > 0.0) efinal = GetEnergyFromRestrictedRange(r1,particle,material,etry); G4double dEtable = eprimary - efinal; G4double ratio = 0.; if (dEtable > 0.) ratio = energyPerEvent/dEtable; @@ -187,7 +189,9 @@ void RunAction::EndOfRunAction(const G4Run* aRun) r1 = r0 - trackLPerEvent; etry = eprimary - energyPerEvent; efinal = 0.; - if (r1 > 0.) efinal = GetEnergyFromCSDARange(r1,particle,material,etry); + //G4cout << "r0= " << r0 << " r1= " << r1 << " " << particle->GetParticleName() + // << " etry= " << etry << " " << material->GetName() << " e0= " << eprimary << G4endl; + if (r1 > 0.0 && etry > 0.0) efinal = GetEnergyFromCSDARange(r1,particle,material,etry); dEtable = eprimary - efinal; ratio = 0.; if (dEtable > 0.) ratio = energyPerEvent/dEtable; @@ -202,8 +206,6 @@ void RunAction::EndOfRunAction(const G4Run* aRun) G4cout.precision(prec); - histoManager->save(); - // show Rndm status CLHEP::HepRandom::showEngineStatus(); } diff --git a/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc b/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc index 12b781c284..c130d0821a 100644 --- a/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: StackingAction.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: StackingAction.cc,v 1.2 2010/11/19 12:17:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,14 +34,17 @@ #include "RunAction.hh" #include "EventAction.hh" #include "HistoManager.hh" +#include "StackingMessenger.hh" #include "G4Track.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... StackingAction::StackingAction(RunAction* RA,EventAction* EA, HistoManager* HM) -:runaction(RA), eventaction(EA), histoManager(HM) -{} + :runaction(RA), eventaction(EA), histoManager(HM), killSecondary(true) +{ + stackMessenger = new StackingMessenger(this); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +57,7 @@ G4ClassificationOfNewTrack StackingAction::ClassifyNewTrack(const G4Track* track) { //keep primary particle - if (track->GetParentID() == 0) return fUrgent; + if (track->GetParentID() == 0) { return fUrgent; } //energy spectrum of secondaries // @@ -70,7 +73,9 @@ StackingAction::ClassifyNewTrack(const G4Track* track) } eventaction->AddSecondary(energy); - return fKill; + + if(killSecondary) { return fKill; } + return fUrgent; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/SteppingMessenger.cc b/examples/extended/electromagnetic/TestEm18/src/StackingMessenger.cc similarity index 71% rename from examples/extended/electromagnetic/TestEm14/src/SteppingMessenger.cc rename to examples/extended/electromagnetic/TestEm18/src/StackingMessenger.cc index 5ed35d8def..b15d3539ff 100644 --- a/examples/extended/electromagnetic/TestEm14/src/SteppingMessenger.cc +++ b/examples/extended/electromagnetic/TestEm18/src/StackingMessenger.cc @@ -23,47 +23,46 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: SteppingMessenger.cc,v 1.2 2006/06/29 16:46:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// +// $Id: StackingMessenger.cc,v 1.1 2010/11/19 12:17:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "SteppingMessenger.hh" - -#include "SteppingAction.hh" +#include "StackingMessenger.hh" +#include "StackingAction.hh" #include "G4UIdirectory.hh" -#include "G4UIcmdWithADouble.hh" +#include "G4UIcmdWithABool.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingMessenger::SteppingMessenger(SteppingAction* StpAct) -:stepAction(StpAct) -{ - stepDir = new G4UIdirectory("/testem/step/"); - stepDir ->SetGuidance("stepping action control"); - - destepCmd = new G4UIcmdWithADouble("/testem/step/maxEdepForPlot",this); - destepCmd->SetGuidance("Set max fraction of edep for plotting final state"); - destepCmd->SetParameterName("fract",false); - destepCmd->SetRange("fract>0.&&fract<=1."); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -SteppingMessenger::~SteppingMessenger() +StackingMessenger::StackingMessenger(StackingAction* stack) +:stackAction(stack) { - delete destepCmd; - delete stepDir; + stackDir = new G4UIdirectory("/testem/stack/"); + stackDir->SetGuidance("stacking control"); + + killCmd = new G4UIcmdWithABool("/testem/stack/killSecondaries",this); + killCmd->SetGuidance(" Kill all secondary particles"); + killCmd->SetParameterName("choice",true); + killCmd->SetDefaultValue(true); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void SteppingMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == destepCmd) - {stepAction->SetMaxEdepForPlot(destepCmd->GetNewDoubleValue(newValue));} +StackingMessenger::~StackingMessenger() +{ + delete killCmd; + delete stackDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void StackingMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if(command == killCmd) + {stackAction->SetKillStatus(killCmd->GetNewBoolValue(newValue));} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/vis.mac b/examples/extended/electromagnetic/TestEm18/vis.mac index 1bbffb628a..9e29748b8a 100644 --- a/examples/extended/electromagnetic/TestEm18/vis.mac +++ b/examples/extended/electromagnetic/TestEm18/vis.mac @@ -1,28 +1,79 @@ # -# Macro file for the initialization phase of "TestEm5.cc" +# Macro file for the initialization phase of "TestEm6.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 +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# Create a scene handler for a specific graphics system -# Edit the next line(s) to choose another graphic system +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -/vis/open DAWNFILE -/vis/open OGLIX +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# Draw scene +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: /vis/viewer/zoom 1.4 -/vis/viewer/flush # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Specify style (surface or wireframe): +#/vis/viewer/set/style surface +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm2/History b/examples/extended/electromagnetic/TestEm2/History index 6541c661d9..50c5a98c01 100644 --- a/examples/extended/electromagnetic/TestEm2/History +++ b/examples/extended/electromagnetic/TestEm2/History @@ -1,4 +1,4 @@ -$Id: History,v 1.85 2009/11/13 16:01:10 maire Exp $ +$Id: History,v 1.92 2010/11/09 21:26:24 asaim Exp $ ---------------------------------------------------- ========================================================= @@ -14,6 +14,23 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +09-11-10 M.Asai (testem2-V09-03-05) +- Fix AIDA file option. + +06-06-10 J.Perl (testem2-V09-03-04) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem2-V09-03-03) +- Updated vis usage + +18-05-10 mma (testem2-V09-03-01) +- TestEm2.cc : introduction of G4UIExecutive + +22-02-10 mma (testem2-V09-03-00) +- Add histos rms on profiles. Histos numbering is changed. see README +- idem in geant3 +- root script GammaFit.C 13-11-09 mma (testem2-V09-02-02) - PhysListEmStandard.cc (local): eMultipleScattering -> UrbanMscModel93 diff --git a/examples/extended/electromagnetic/TestEm2/README b/examples/extended/electromagnetic/TestEm2/README index bb09c074f5..592589e9a7 100644 --- a/examples/extended/electromagnetic/TestEm2/README +++ b/examples/extended/electromagnetic/TestEm2/README @@ -1,4 +1,4 @@ -$Id: README,v 1.27 2009/09/16 18:07:30 maire Exp $ +$Id: README,v 1.28 2010/02/22 15:41:29 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -122,12 +122,14 @@ $Id: README,v 1.27 2009/09/16 18:07:30 maire Exp $ 3 : neutral track length per event 4 : longitudinal energy profile - 5 : cumulated longitudinal energy profile - 6 : rms of cumulated longitudinal energy profile + 5 : rms of longitudinal energy profile + 6 : cumulated longitudinal energy profile + 7 : rms of cumulated longitudinal energy profile - 7 : radial energy profile - 8 : cumulated radial energy profile - 9 : rms of cumulated radial energy profile + 8 : radial energy profile + 9 : rms of radial energy profile + 10 : cumulated radial energy profile + 11 : rms of cumulated radial energy profile Note that, by default, histograms are disabled. To activate them, uncomment the flag G4ANALYSIS_USE in GNUmakefile. To define the output file name with diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.cc b/examples/extended/electromagnetic/TestEm2/TestEm2.cc index 71e6ccbfb8..15cdc728a9 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.cc +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.cc @@ -24,22 +24,16 @@ // ******************************************************************** // // -// $Id: TestEm2.cc,v 1.14 2007/06/21 17:47:08 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm2.cc,v 1.15 2010/05/18 21:32:33 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "Randomize.hh" -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - #include "DetectorConstruction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" @@ -49,6 +43,14 @@ #include "SteppingAction.hh" #include "SteppingVerbose.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) { @@ -94,15 +96,12 @@ int main(int argc,char** argv) { visManager->Initialize(); #endif - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; #endif - - session->SessionStart(); - delete session; #ifdef G4VIS_USE delete visManager; diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.out b/examples/extended/electromagnetic/TestEm2/TestEm2.out index 7d0cd101de..d94c648204 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.out +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,32 +13,32 @@ ***** Table : Nb of materials = 9 ***** - Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.537 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.078 cm Imean: 187.200 eV + Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.006 cm Imean: 188.000 eV ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.860 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV + Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.969 cm Imean: 286.000 eV ---> Element: Iron ( ) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Copper density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.588 cm Imean: 321.900 eV + Material: Copper density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.515 cm Imean: 322.000 eV ---> Element: Copper ( ) Z = 29.0 N = 63.5 A = 63.55 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Tungsten density: 19.350 g/cm3 RadL: 3.495 mm Nucl.Int.Length: 10.285 cm Imean: 725.200 eV + Material: Tungsten density: 19.350 g/cm3 RadL: 3.495 mm Nucl.Int.Length: 10.279 cm Imean: 727.000 eV ---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.84 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV + Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.258 cm Imean: 823.000 eV ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.446 cm Imean: 892.400 eV + Material: Uranium density: 18.950 g/cm3 RadL: 3.166 mm Nucl.Int.Length: 11.447 cm Imean: 890.000 eV ---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.806 cm Imean: 469.142 eV + Material: BGO density: 7.100 g/cm3 RadL: 1.123 cm Nucl.Int.Length: 22.788 cm Imean: 473.785 eV ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 15.41 % ElmAbundance 63.16 % ---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole ElmMassFraction: 17.48 % ElmAbundance 15.79 % ---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole ElmMassFraction: 67.10 % ElmAbundance 21.05 % @@ -54,7 +54,7 @@ PhysicsList::AddPhysicsList: /testem/phys/setCuts 1.0 mm /run/initialize Absorber is 17.8491 cm of G4_PbWO4 - Material: G4_PbWO4 density: 8.280 g/cm3 RadL: 8.925 mm Nucl.Int.Length: 20.737 cm Imean: 541.543 eV + Material: G4_PbWO4 density: 8.280 g/cm3 RadL: 8.925 mm Nucl.Int.Length: 20.741 cm Imean: 542.741 eV ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 % ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % @@ -79,246 +79,258 @@ PhysicsList::SetCuts:CutLength : 1 mm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + hPairProd : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu+ SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu- SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + hPairProd : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -351,25 +363,25 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=7.08s Real=7.09s Sys=0.01s + User=5.98s Real=6.14s Sys=0s SUMMARY - energy deposit : 94.74 % E0 +- 0.94 % E0 - charged traklen: 479.34 radl +- 4.94 radl - neutral traklen: 4466.32 radl +- 117.22 radl + energy deposit : 94.62 % E0 +- 1.05 % E0 + charged traklen: 478.58 radl +- 5.22 radl + neutral traklen: 4477.98 radl +- 112.85 radl - 90.00 % confinement: radius = 3.05 radl (2.72 cm ) + 90.00 % confinement: radius = 3.10 radl (2.77 cm ) --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1171293487, 1725180354 + Current couple of seeds = 901068406, 786729768 ---------------------------------------- <<<>>> 100 events for Total Energy in Absorber -Edep: 0.94741855 delEdep= -0.0015814507 nrms= -1.9285984 -Erms: 0.009372642 delErms= 0.001172642 nrms= 1.4300513 -<<<>>> IS ACCEPTED +Edep: 0.946215 delEdep= -0.00278457 nrms= -3.39582 +Erms: 0.010485 delErms= 0.00228502 nrms= 2.78661 +<<<>>> IS NOT ACCEPTED G4 kernel has come to Quit state. diff --git a/examples/extended/electromagnetic/TestEm2/egs4.mac b/examples/extended/electromagnetic/TestEm2/egs4.mac index a555bba0e1..525f764929 100644 --- a/examples/extended/electromagnetic/TestEm2/egs4.mac +++ b/examples/extended/electromagnetic/TestEm2/egs4.mac @@ -1,4 +1,4 @@ -# $Id: egs4.mac,v 1.6 2009/09/16 18:07:30 maire Exp $ +# $Id: egs4.mac,v 1.7 2010/02/22 15:41:29 maire Exp $ # # Macro file for "TestEm2.cc" # (can be run in batch, without graphic) @@ -14,12 +14,12 @@ /testem/det/setLbin 40 0.5 /testem/det/setRbin 50 0.1 # -/testem/phys/addPhysics local +/testem/phys/addPhysics emstandard_opt0 # /testem/phys/setCuts 0.7 mm # # histogram file -/testem/histo/setFileName egs4/9.2ref04 +/testem/histo/setFileName egs4/93ref0 /testem/histo/setFileType root # /run/initialize diff --git a/examples/extended/electromagnetic/TestEm2/egs4/GammaFit.C b/examples/extended/electromagnetic/TestEm2/egs4/GammaFit.C new file mode 100644 index 0000000000..5e0eb93a35 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm2/egs4/GammaFit.C @@ -0,0 +1,62 @@ +// +// Fit of longitudinal profile with Gamma function +// See Review of Particles Physics - Electromagnetic cascades +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Double_t GammaFunction(Double_t* t, Double_t* params ) { + if (ROOT::TMath::Gamma(params[0]) != 0 ) { + return (100 * pow(params[1],params[0]) / ROOT::TMath::Gamma(params[0])) + * pow(t[0],(params[0]-1)) * exp (-params[1]*t[0]); + } else { + return 0; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void GammaFit() { + cout + << "Try fit [100*pow(b,a)/ROOT::TMath::Gamma(a)] * pow(t,(a-1)) * exp(-b*t)" + << endl; +TFile* f = new TFile("93ref0.root"); +TH1D* h1 = (TH1D*) f->Get("4"); +//put error in h1 +TH1D* h2 = (TH1D*) f->Get("5"); +int nmax = h1->GetNbinsX(); +for (int n=0; nGetBinContent(n); + h1->SetBinError(n,er); +} + +TF1* func = new TF1("fit", GammaFunction,-0.5,40.,2); +func->SetParameter(0,1.); +func->SetParameter(1,1.); +func->SetParNames("a", "b"); + +h1->Fit("fit","r",""); +h1->SetMarkerColor(kRed); +h1->SetMarkerStyle(3); +h1->Draw("epl"); + +Double_t a = func->GetParameter(0); +Double_t b = func->GetParameter(1); +Double_t tmax = (a-1)/b; + +// Chi-square distribution +double chisq=func->GetChisquare(); +double ndf=func->GetNDF(); +double chisqdf=chisq/ndf; + +gStyle->SetOptFit(1111); + +cout << "----------------------------------------------"; +cout << "\n Chisquare: " << chisq << " / " << ndf << " = " << chisqdf; +cout << "\n----------------------------------------------"; +cout << "\n a = " << a; +cout << "\n b = " << b; +cout << "\n tmax = " << tmax; +cout << "\n----------------------------------------------" << endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/egs4/egs4.C b/examples/extended/electromagnetic/TestEm2/egs4/egs4.C index 783759a6cd..04487f326e 100644 --- a/examples/extended/electromagnetic/TestEm2/egs4/egs4.C +++ b/examples/extended/electromagnetic/TestEm2/egs4/egs4.C @@ -2,7 +2,7 @@ gROOT->Reset(); // Draw histogram filled by Geant4 TestEm2 simulation - TFile f("./9.2ref04.root"); + TFile f("./93ref0.root"); TH1D* h1d = (TH1D*) f.Get("4"); h1d->SetTitle("30 GeV e- on 20 X0 Fe : energy dep, longit profil"); h1d->GetXaxis()->SetTitle("depth (X0)"); @@ -34,7 +34,7 @@ // Print the histograms legend TLegend *legend = new TLegend(0.65,0.55,0.85,0.68); - legend->AddEntry(h1d,"Geant4-9.2ref04","l"); + legend->AddEntry(h1d,"93ref0","l"); legend->AddEntry(h1f,"EGS4","L"); legend->Draw(); } diff --git a/examples/extended/electromagnetic/TestEm2/egs4/sum.C b/examples/extended/electromagnetic/TestEm2/egs4/sum.C index 261148581f..96153438c6 100644 --- a/examples/extended/electromagnetic/TestEm2/egs4/sum.C +++ b/examples/extended/electromagnetic/TestEm2/egs4/sum.C @@ -2,8 +2,8 @@ gROOT->Reset(); // Draw histogram filled by Geant4 TestEm2 simulation - TFile f("./9.2ref04.root"); - TH1D* h1d = (TH1D*) f.Get("5"); + TFile f("./93ref0.root"); + TH1D* h1d = (TH1D*) f.Get("6"); h1d->SetTitle("30 GeV e- on 20 X0 Fe : cumul longit energy dep"); h1d->GetXaxis()->SetTitle("depth (X0)"); h1d->GetYaxis()->SetTitle("100 Edep/E0"); @@ -34,7 +34,7 @@ // Print the histograms legend TLegend *legend = new TLegend(0.65,0.55,0.85,0.68); - legend->AddEntry(h1d,"Geant4-9.2ref04","l"); + legend->AddEntry(h1d,"93ref0","l"); legend->AddEntry(h1f,"EGS4","L"); legend->Draw(); } diff --git a/examples/extended/electromagnetic/TestEm2/egs4/sum.kumac b/examples/extended/electromagnetic/TestEm2/egs4/sum.kumac index 18bf4aedd6..00c4c8a450 100644 --- a/examples/extended/electromagnetic/TestEm2/egs4/sum.kumac +++ b/examples/extended/electromagnetic/TestEm2/egs4/sum.kumac @@ -15,7 +15,7 @@ title '30 GeV e- on 20 X0 iron' h/file 1 9.0p1.hbook set dmod 1 ; set hcol 4 ; set plci 4 -h/pl //lun1/5 +h/pl //lun1/6 key 14 60.0 1 'Geant4-9.0p1' ! l exec data diff --git a/examples/extended/electromagnetic/TestEm2/geant3/README b/examples/extended/electromagnetic/TestEm2/geant3/README index 98d379bd95..76136dd02f 100644 --- a/examples/extended/electromagnetic/TestEm2/geant3/README +++ b/examples/extended/electromagnetic/TestEm2/geant3/README @@ -25,12 +25,14 @@ 3 : neutral track length per event 4 : longitudinal energy profile - 5 : cumulated longitudinal energy profile - 6 : rms of cumulated longitudinal energy profile + 5 : rms of longitudinal energy profile + 6 : cumulated longitudinal energy profile + 7 : rms of cumulated longitudinal energy profile - 7 : radial energy profile - 8 : cumulated radial energy profile - 9 : rms of cumulated radial energy profile + 8 : radial energy profile + 9 : rms of radial energy profile + 10 : cumulated radial energy profile + 11 : rms of cumulated radial energy profile 21 : edep distrib as function of kine energy of contributing particle 22 : cumulative distrib of 21 diff --git a/examples/extended/electromagnetic/TestEm2/geant3/src/guout.F b/examples/extended/electromagnetic/TestEm2/geant3/src/guout.F index 042cd820d2..b97604c2fe 100644 --- a/examples/extended/electromagnetic/TestEm2/geant3/src/guout.F +++ b/examples/extended/electromagnetic/TestEm2/geant3/src/guout.F @@ -36,7 +36,7 @@ BIN = (FLOAT(I)-0.5)*DLX0 CALL HFILL(4,BIN,100*DEDL(I)/(DLX0*PKINE(3)),1.) BIN = FLOAT(I)*DLX0 - CALL HFILL(5,BIN,100*DLC /PKINE(3),1.) + CALL HFILL(6,BIN,100*DLC /PKINE(3),1.) 2 CONTINUE * radial profile @@ -49,9 +49,9 @@ SER2C(I) = SER2C(I) + DRC**2 BIN = (FLOAT(I)-0.5)*DRX0 - CALL HFILL(7,BIN,100*DEDR(I)/(DRX0*PKINE(3)),1.) + CALL HFILL(8,BIN,100*DEDR(I)/(DRX0*PKINE(3)),1.) BIN = FLOAT(I)*DRX0 - CALL HFILL(8,BIN,100*DRC /PKINE(3),1.) + CALL HFILL(10,BIN,100*DRC /PKINE(3),1.) 3 CONTINUE * * energy deposited and track length diff --git a/examples/extended/electromagnetic/TestEm2/geant3/src/uglast.F b/examples/extended/electromagnetic/TestEm2/geant3/src/uglast.F index f377402921..6bc98e2809 100644 --- a/examples/extended/electromagnetic/TestEm2/geant3/src/uglast.F +++ b/examples/extended/electromagnetic/TestEm2/geant3/src/uglast.F @@ -29,7 +29,8 @@ XSEL1C(I) = CNORM * SEL1C(I) XSEL2C(I) = CNORM*SQRT(ABS(XEVENT*SEL2C(I) - SEL1C(I)**2)) 2 CONTINUE - CALL HPAK (6,XSEL2C) + CALL HPAK (5,XSEL2) + CALL HPAK (7,XSEL2C) * * *** radial profile DO 3 I = 1,NRTOT @@ -38,7 +39,8 @@ XSER1C(I) = CNORM * SER1C(I) XSER2C(I) = CNORM*SQRT(ABS(XEVENT*SER2C(I) - SER1C(I)**2)) 3 CONTINUE - CALL HPAK (9,XSER2C) + CALL HPAK ( 9,XSER2) + CALL HPAK (11,XSER2C) * * *** total track length CNORM = 1./(XEVENT*X0) diff --git a/examples/extended/electromagnetic/TestEm2/geant3/src/uhinit.F b/examples/extended/electromagnetic/TestEm2/geant3/src/uhinit.F index a2dd979a12..89383dfa24 100644 --- a/examples/extended/electromagnetic/TestEm2/geant3/src/uhinit.F +++ b/examples/extended/electromagnetic/TestEm2/geant3/src/uhinit.F @@ -24,29 +24,33 @@ * *** Longitudinal profile ZMAX=NLTOT*DLX0 - CALL HBPROF(4,'longit energy profile (in percent of E inc)' + CALL HBPROF(4,'longit energy profile (in percent of E inc)' + *, NLTOT, 0.,ZMAX, 0., 1000.,' ') + CALL HBPROF(5,'rms longit energy profile (in percent of E inc)' *, NLTOT, 0.,ZMAX, 0., 1000.,' ') * ZMIN = 0.5*DLX0 ZMAX = ZMIN + NLTOT*DLX0 - CALL HBPROF(5,'cumul longit energy dep. (in percent of E inc)' + CALL HBPROF(6,'cumul longit energy dep. (in percent of E inc)' *, NLTOT, ZMIN,ZMAX, 0., 100.,' ') - CALL HBOOK1(6,'resolution: cumul L energy dep. (% of E inc)' + CALL HBOOK1(7,'resolution: cumul L energy dep. (% of E inc)' *, NLTOT, ZMIN,ZMAX, 0.0) * * *** Radial profile RMAX=NRTOT*DRX0 - CALL HBPROF(7,'radial energy profile (in percent of E inc)' + CALL HBPROF(8,'radial energy profile (in percent of E inc)' *, NRTOT, 0.,RMAX, 0., 1000.,' ') + CALL HBPROF(9,'rms radial energy profile (in percent of E inc)' + *, NRTOT, 0.,RMAX, 0., 1000.,' ') * RMIN = 0.5*DRX0 RMAX = RMIN + NRTOT*DRX0 - CALL HBPROF(8,'cumul radial energy dep. (in percent of E inc)' + CALL HBPROF(10,'cumul radial energy dep. (in percent of E inc)' *, NRTOT, RMIN,RMAX, 0., 100.,' ') - CALL HBOOK1(9,'resolution: cumul R energy dep. (% of E inc)' + CALL HBOOK1(11,'resolution: cumul R energy dep. (% of E inc)' *, NRTOT, RMIN,RMAX, 0.0) * diff --git a/examples/extended/electromagnetic/TestEm2/include/RunAction.hh b/examples/extended/electromagnetic/TestEm2/include/RunAction.hh index 0ccef616c1..931694dbb1 100644 --- a/examples/extended/electromagnetic/TestEm2/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/RunAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.hh,v 1.9 2006/06/29 16:49:59 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.hh,v 1.10 2010/02/22 15:41:29 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -133,7 +133,7 @@ class RunAction : public G4UserRunAction AIDA::IAnalysisFactory* af; AIDA::ITree* tree; - AIDA::IHistogram1D* histo[9]; + AIDA::IHistogram1D* histo[11]; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/plotHisto.C b/examples/extended/electromagnetic/TestEm2/plotHisto.C index b2728b9223..9879a9cb45 100644 --- a/examples/extended/electromagnetic/TestEm2/plotHisto.C +++ b/examples/extended/electromagnetic/TestEm2/plotHisto.C @@ -3,7 +3,7 @@ // Draw histos filled by Geant4 simulation // - TFile f = TFile("testem2.root"); + TFile f = TFile("testem2.root"); TCanvas* c1 = new TCanvas("c1", " "); TH1D* hist1 = (TH1D*)f.Get("1"); @@ -11,4 +11,7 @@ TH1D* hist4 = (TH1D*)f.Get("4"); hist4->Draw("HIST"); + + TH1D* hist5 = (TH1D*)f.Get("5"); + hist5->Draw("HIST"); } diff --git a/examples/extended/electromagnetic/TestEm2/run01.mac b/examples/extended/electromagnetic/TestEm2/run01.mac index 6d4c38bb80..a2bdc6a3af 100644 --- a/examples/extended/electromagnetic/TestEm2/run01.mac +++ b/examples/extended/electromagnetic/TestEm2/run01.mac @@ -1,4 +1,4 @@ -# $Id: run01.mac,v 1.27 2009/09/16 18:07:30 maire Exp $ +# $Id: run01.mac,v 1.28 2010/02/22 15:41:29 maire Exp $ # # Macro file for "TestEm2.cc" # (can be run in batch, without graphic) @@ -18,7 +18,7 @@ # # histogram file /testem/histo/setFileName run01 -/testem/histo/setFileType hbook +/testem/histo/setFileType root # /run/initialize # diff --git a/examples/extended/electromagnetic/TestEm2/src/EventAction.cc b/examples/extended/electromagnetic/TestEm2/src/EventAction.cc index adbf36f108..46b0ed2d03 100644 --- a/examples/extended/electromagnetic/TestEm2/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.3 2006/06/29 16:50:24 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.5 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,9 +34,6 @@ #include "EventActionMessenger.hh" #include "RunAction.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -70,23 +67,9 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { Run->fillPerEvent(); - - 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(50); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(50); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/RunAction.cc b/examples/extended/electromagnetic/TestEm2/src/RunAction.cc index ed3d65008f..276d6c8ff3 100644 --- a/examples/extended/electromagnetic/TestEm2/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.24 2009/09/16 18:07:30 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: RunAction.cc,v 1.26 2010/11/09 21:25:15 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -111,7 +111,7 @@ void RunAction::bookHisto() histoName[1] = histoName[0] + "." + histoType; G4bool readOnly = false; G4bool createNew = true; - G4String options = "--noErrors export=root uncompress"; + G4String options = ""; AIDA::ITreeFactory* tf = af->createTreeFactory(); tree = tf->create(histoName[1], histoType, readOnly, createNew, options); delete tf; @@ -142,23 +142,29 @@ void RunAction::bookHisto() histo[3] = hf->createHistogram1D( "4","longit energy profile (% of E inc)", nLbin,0.,nLbin*dLradl); + + histo[4] = hf->createHistogram1D( "5","rms on longit Edep (% of E inc)", + nLbin,0.,nLbin*dLradl); G4double Zmin=0.5*dLradl, Zmax=Zmin+nLbin*dLradl; - histo[4] = hf->createHistogram1D( "5","cumul longit energy dep (% of E inc)", + histo[5] = hf->createHistogram1D( "6","cumul longit energy dep (% of E inc)", + nLbin,Zmin,Zmax); + + histo[6] = hf->createHistogram1D( "7","rms on cumul longit Edep (% of E inc)", nLbin,Zmin,Zmax); - histo[5] = hf->createHistogram1D( "6","rms on cumul longit Edep (% of E inc)", - nLbin,Zmin,Zmax); - - histo[6] = hf->createHistogram1D("7","radial energy profile (% of E inc)", + histo[7] = hf->createHistogram1D( "8","radial energy profile (% of E inc)", nRbin,0.,nRbin*dRradl); + + histo[8] = hf->createHistogram1D( "9","rms on radial Edep (% of E inc)", + nRbin,0.,nRbin*dRradl); G4double Rmin=0.5*dRradl, Rmax=Rmin+nRbin*dRradl; - histo[7]= hf->createHistogram1D("8","cumul radial energy dep (% of E inc)", + histo[9] = hf->createHistogram1D("10","cumul radial energy dep (% of E inc)", nRbin,Rmin,Rmax); - histo[8]= hf->createHistogram1D("9","rms on cumul radial Edep (% of E inc)", - nRbin,Rmin,Rmax); + histo[10]= hf->createHistogram1D("11","rms on cumul radial Edep (% of E inc)", + nRbin,Rmin,Rmax); delete hf; G4cout << "\n----> Histogram Tree is opened in " << histoName[1] << G4endl; @@ -292,9 +298,10 @@ void RunAction::EndOfRunAction(const G4Run* aRun) if(tree) { G4double bin = (i+0.5)*dLradl; histo[3]->fill(bin,MeanELongit[i]/dLradl); + histo[4]->fill(bin, rmsELongit[i]/dLradl); bin = (i+1)*dLradl; - histo[4]->fill(bin,MeanELongitCumul[i]); - histo[5]->fill(bin, rmsELongitCumul[i]); + histo[5]->fill(bin,MeanELongitCumul[i]); + histo[6]->fill(bin, rmsELongitCumul[i]); } #endif } @@ -319,10 +326,11 @@ void RunAction::EndOfRunAction(const G4Run* aRun) #ifdef G4ANALYSIS_USE if(tree) { G4double bin = (i+0.5)*dRradl; - histo[6]->fill(bin,MeanERadial[i]/dRradl); + histo[7]->fill(bin,MeanERadial[i]/dRradl); + histo[8]->fill(bin, rmsERadial[i]/dRradl); bin = (i+1)*dRradl; - histo[7]->fill(bin,MeanERadialCumul[i]); - histo[8]->fill(bin, rmsERadialCumul[i]); + histo[9] ->fill(bin,MeanERadialCumul[i]); + histo[10]->fill(bin, rmsERadialCumul[i]); } #endif } diff --git a/examples/extended/electromagnetic/TestEm2/vis.mac b/examples/extended/electromagnetic/TestEm2/vis.mac index 276c6de6c7..f1fed37ec5 100644 --- a/examples/extended/electromagnetic/TestEm2/vis.mac +++ b/examples/extended/electromagnetic/TestEm2/vis.mac @@ -9,28 +9,71 @@ # /run/initialize # -# Create empty scene ("world" is default) +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/scene/create +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# Create a scene handler for a specific graphics system -# Edit the next line(s) to choose another graphic system +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -##/vis/open DAWNFILE -/vis/open OGLIX +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -# Draw scene +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -/vis/viewer/set/viewpointThetaPhi 90 180 deg -/vis/viewer/set/style surface +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: /vis/viewer/zoom 1.1 -/vis/viewer/flush # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Specify style (surface or wireframe): +/vis/viewer/set/style surface +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +/vis/filtering/trajectories/create/particleFilter +/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks charged -#/testem/event/drawTracks all - +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm3/History b/examples/extended/electromagnetic/TestEm3/History index ce530b67b5..b669c926e1 100644 --- a/examples/extended/electromagnetic/TestEm3/History +++ b/examples/extended/electromagnetic/TestEm3/History @@ -1,4 +1,4 @@ -$Id: History,v 1.126 2009/11/13 17:01:42 maire Exp $ +$Id: History,v 1.134 2010/11/19 15:56:59 vnivanch Exp $ ---------------------------------------------------- ========================================================= @@ -14,6 +14,28 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +19-11-10 V.Ivant (testem3-V09-03-06) +- Added ion scattering model into WVI Physics constructor + +09-11-10 M.Asai (testem3-V09-03-05) +- Fix AIDA file option. + +06-06-10 J.Perl (testem3-V09-03-04) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem3-V09-03-03) +- Updated vis usage + +19-05-10 mma (testem3-V09-03-02) +- TestEm3.cc : introduction of G4UIExecutive + +13-04-10 V.Ivant (testem3-V09-03-01) +- PhysicsList - removed obsoleted unused include + +24-01-10 V.Ivant (testem3-V09-03-00) +- Added PhysListEmStandardGS and PhysListEmStandardWVI +- Added printout of mean number of gamma, e-, e+ 13-11-09 mma (testem3-V09-02-02) - PhysListEmStandard.cc (local): eMultipleScattering -> UrbanMscModel93 diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.cc b/examples/extended/electromagnetic/TestEm3/TestEm3.cc index 7930ae07dc..831847973f 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3.cc +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TestEm3.cc,v 1.23 2007/06/22 09:22:05 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm3.cc,v 1.24 2010/05/19 09:10:52 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -49,6 +47,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -100,16 +102,13 @@ int main(int argc,char** 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(); -#endif - session->SessionStart(); - delete session; +#endif + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif #ifdef G4VIS_USE delete visManager; diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.out b/examples/extended/electromagnetic/TestEm3/TestEm3.out index 004f852796..50ce3b78f3 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3.out +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -23,17 +23,17 @@ userDetector->Construct() start. liquidArgon: 5.7 mm ------------------------------------------------------------- - 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204322111.300 pc Nucl.Int.Length: 114334693.470 pc Imean: 19.200 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: Lead density: 11.350 g/cm3 RadL: 5.613 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV + Material: Lead density: 11.350 g/cm3 RadL: 5.613 mm Nucl.Int.Length: 18.261 cm Imean: 823.000 eV ---> Element: Pb (Pb) Z = 82.0 N = 207.2 A = 207.22 g/mole ---> Isotope: Pb204 Z = 82 N = 204 A = 203.97 g/mole abundance: 1.40 % ---> Isotope: Pb206 Z = 82 N = 206 A = 205.97 g/mole abundance: 24.10 % ---> Isotope: Pb207 Z = 82 N = 207 A = 206.98 g/mole abundance: 22.10 % ---> Isotope: Pb208 Z = 82 N = 208 A = 207.98 g/mole abundance: 52.40 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: liquidArgon density: 1.390 g/cm3 RadL: 14.064 cm Nucl.Int.Length: 86.022 cm Imean: 187.200 eV + Material: liquidArgon density: 1.390 g/cm3 RadL: 14.064 cm Nucl.Int.Length: 86.001 cm Imean: 188.000 eV ---> Element: Ar (Ar) Z = 18.0 N = 40.0 A = 39.95 g/mole ---> Isotope: Ar36 Z = 18 N = 36 A = 35.97 g/mole abundance: 0.34 % ---> Isotope: Ar38 Z = 18 N = 38 A = 37.96 g/mole abundance: 0.06 % @@ -74,273 +74,285 @@ PhysicsList::SetCuts:CutLength : 1 mm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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= 1, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 1, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 1, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + hPairProd : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu+ SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu- SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 1, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + hPairProd : Emin= 0 eV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : World Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic Lead liquidArgon - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm ========= 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 proton 0 fm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 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 proton 0 fm - Energy thresholds : gamma 101.843 keV e- 1.36749 MeV e+ 1.27862 MeV proton 0 eV + 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 proton 0 fm - Energy thresholds : gamma 6.19986 keV e- 344.855 keV e+ 333.46 keV proton 0 eV + 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 @@ -377,29 +389,33 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=5.17s Real=5.17s Sys=0.01s + User=3.99s Real=4.05s Sys=0.01s ------------------------------------------------------------ material Edep RMS sqrt(E0(GeV))*rmsE/Emean total tracklen - Lead: 782.2 MeV : 17.01 MeV 2.174 +- 0.2174 % 53.8 cm +- 1.25 cm - liquidArgon: 207.91 MeV : 14.41 MeV 6.93 +- 0.693 % 1.02 m +- 7.66 cm + Lead: 782.46 MeV : 15.18 MeV 1.94 +- 0.194 % 54.6 cm +- 1.11 cm + liquidArgon: 206.47 MeV : 13.75 MeV 6.66 +- 0.666 % 1.02 m +- 7.05 cm ------------------------------------------------------------ Beam particle e- E = 1 GeV + Mean number of gamma 571 + Mean number of e- 962 + Mean number of e+ 55.5 +------------------------------------------------------------ Energy deposition from Energy flow balance : material Total Edep - Lead: 782.198 MeV -liquidArgon: 207.909 MeV + Lead: 782.434 MeV +liquidArgon: 206.478 MeV ------------------------------------------------------------ --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1135937409, 1042680536 + Current couple of seeds = 225336118, 351963897 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandardGS.hh b/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandardGS.hh new file mode 100644 index 0000000000..573b16a53b --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandardGS.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: PhysListEmStandardGS.hh,v 1.1 2010/01/24 17:25:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandardGS_h +#define PhysListEmStandardGS_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandardGS : public G4VPhysicsConstructor +{ +public: + PhysListEmStandardGS(const G4String& name = "standardGS"); + virtual ~PhysListEmStandardGS(); + +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(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02PhysicsList.hh b/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandardWVI.hh similarity index 74% rename from examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02PhysicsList.hh rename to examples/extended/electromagnetic/TestEm3/include/PhysListEmStandardWVI.hh index 9640410ad7..bf4590614c 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandardWVI.hh @@ -24,49 +24,44 @@ // ******************************************************************** // // -// $Id: H02PhysicsList.hh,v 1.3 2006/07/05 12:04:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysListEmStandardWVI.hh,v 1.1 2010/01/24 17:25:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef H02PhysicsList_h -#define H02PhysicsList_h 1 +#ifndef PhysListEmStandardWVI_h +#define PhysListEmStandardWVI_h 1 -#include "G4VUserPhysicsList.hh" +#include "G4VPhysicsConstructor.hh" #include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class H02PhysicsList: public G4VUserPhysicsList +class PhysListEmStandardWVI : public G4VPhysicsConstructor { - public: - H02PhysicsList(); - ~H02PhysicsList(); + public: + PhysListEmStandardWVI(const G4String& name = "standardWVI"); + ~PhysListEmStandardWVI(); - protected: - // Construct particle and physics - void ConstructParticle(); - void ConstructProcess(); + public: + // This method is dummy for physics + void ConstructParticle() {}; - void SetCuts(); - - - protected: - // these methods Construct particles - void ConstructBosons(); - void ConstructLeptons(); - void ConstructMesons(); - void ConstructBaryons(); - - protected: - // these methods Construct physics processes and register them - void ConstructGeneral(); - void ConstructEM(); + // 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(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh index f541e1b80f..5079033c26 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.hh,v 1.8 2009/11/13 17:01:44 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.hh,v 1.9 2010/01/24 17:25:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -44,6 +44,7 @@ class G4VPhysicsConstructor; class PhysicsList: public G4VModularPhysicsList { public: + PhysicsList(); virtual ~PhysicsList(); @@ -58,7 +59,8 @@ public: void SetCutForElectron(G4double); void SetCutForPositron(G4double); - private: +private: + G4double cutForGamma; G4double cutForElectron; G4double cutForPositron; diff --git a/examples/extended/electromagnetic/TestEm3/include/RunAction.hh b/examples/extended/electromagnetic/TestEm3/include/RunAction.hh index 24f58fe9b2..a1174d8c4f 100644 --- a/examples/extended/electromagnetic/TestEm3/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/RunAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.hh,v 1.19 2008/05/29 16:59:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.hh,v 1.20 2010/01/24 17:25:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -45,7 +45,7 @@ class PrimaryGeneratorAction; class RunActionMessenger; class HistoManager; - +class G4Track; class G4Run; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,6 +68,8 @@ public: {lateralEleak[cell] += Eflow;}; void PrintDedxTables(); + + void AddSecondaryTrack(const G4Track*); // Acceptance parameters void SetEdepAndRMS(G4int, G4double, G4double, G4double); @@ -92,7 +94,11 @@ private: G4double edeptrue [MaxAbsor]; G4double rmstrue [MaxAbsor]; - G4double limittrue[MaxAbsor]; + G4double limittrue[MaxAbsor]; + + G4int n_gamma; + G4int n_elec; + G4int n_pos; G4bool applyLimit; }; diff --git a/examples/extended/electromagnetic/TestEm3/src/EventAction.cc b/examples/extended/electromagnetic/TestEm3/src/EventAction.cc index 69b2e48cf1..899adea07e 100644 --- a/examples/extended/electromagnetic/TestEm3/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.16 2008/05/29 16:59:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.18 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -36,9 +36,6 @@ #include "HistoManager.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -77,26 +74,12 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { for (G4int k=1; k<=detector->GetNbOfAbsor(); k++) { runAct->fillPerEvent(k,energyDeposit[k],trackLengthCh[k]); if (energyDeposit[k] > 0.) histoManager->FillHisto(k, energyDeposit[k]); } - - 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...... diff --git a/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc index c300558052..0d3ac90a86 100644 --- a/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.17 2009/03/04 18:49:17 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HistoManager.cc,v 1.18 2010/11/09 21:02:47 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "testem3"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; kreset(); + 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 + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + + } else if (particleName == "e+") { + //positron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); + pmanager->AddProcess(msc, -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 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-" || + 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" ) { + //alpha + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if( particleName == "GenericIon" ) { + //Ions + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + pmanager->AddProcess(ionIoni, -1, 2, 2); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } 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); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm3/src/PhysListEmStandardWVI.cc b/examples/extended/electromagnetic/TestEm3/src/PhysListEmStandardWVI.cc new file mode 100644 index 0000000000..6390f66a93 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/src/PhysListEmStandardWVI.cc @@ -0,0 +1,183 @@ +// +// ******************************************************************** +// * 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: PhysListEmStandardWVI.cc,v 1.2 2010/11/19 15:50:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandardWVI.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4eMultipleScattering.hh" +#include "G4WentzelVIModel.hh" +#include "G4CoulombScattering.hh" +#include "G4IonCoulombScatteringModel.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" + +#include "G4ionIonisation.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4NuclearStopping.hh" + +#include "G4EmProcessOptions.hh" +#include "G4MscStepLimitType.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardWVI::PhysListEmStandardWVI(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardWVI::~PhysListEmStandardWVI() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandardWVI::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 + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 4); + + } else if (particleName == "e+") { + //positron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 5); + + } else if (particleName == "mu+" || + particleName == "mu-" ) { + //muon + G4MuMultipleScattering* msc = new G4MuMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -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 G4CoulombScattering, -1,-1, 5); + + } else if( particleName == "proton" || + particleName == "pi-" || + particleName == "pi+" ) { + //proton + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4hBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4hPairProduction, -1, 4, 4); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 5); + + } else if( particleName == "alpha" || + particleName == "He3" ) { + //alpha + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4IonCoulombScatteringModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if( particleName == "GenericIon" ) { + //Ions + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4IonCoulombScatteringModel()); + pmanager->AddProcess(msc, -1, 1, 1); + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + pmanager->AddProcess(ionIoni, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + } + } + + // Em options + // + // Main options and setting parameters are shown here. + // Several of them have default values. + // + G4EmProcessOptions emOptions; + + //multiple coulomb scattering + // + emOptions.SetPolarAngleLimit(0.2); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc index cb2b057603..d2237ea2ff 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.30 2009/11/13 17:01:44 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.32 2010/04/13 08:10:19 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -41,8 +41,10 @@ #include "G4EmLivermorePhysics.hh" #include "G4EmPenelopePhysics.hh" +#include "PhysListEmStandardGS.hh" +#include "PhysListEmStandardWVI.hh" + #include "G4UnitsTable.hh" -#include "G4UrbanMscModel.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -254,6 +256,18 @@ void PhysicsList::AddPhysicsList(const G4String& name) delete emPhysicsList; emPhysicsList = new G4EmPenelopePhysics(); + } else if (name == "standardGS") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandardGS(name); + + } else if (name == "standardWVI") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandardWVI(name); + } else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" @@ -297,6 +311,10 @@ void PhysicsList::SetCuts() SetCutValue(cutForGamma, "gamma"); SetCutValue(cutForElectron, "e-"); SetCutValue(cutForPositron, "e+"); + + // Cut for proton not used in EM processes except single scattering + // so electron cut is used in this example + SetCutValue(cutForElectron, "proton"); if (verboseLevel>0) DumpCutValuesTable(); } diff --git a/examples/extended/electromagnetic/TestEm3/src/RunAction.cc b/examples/extended/electromagnetic/TestEm3/src/RunAction.cc index ad8529fb31..f510edc57a 100644 --- a/examples/extended/electromagnetic/TestEm3/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.37 2008/05/29 16:59:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.cc,v 1.38 2010/01/24 17:25:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -40,6 +40,15 @@ #include "G4RunManager.hh" #include "G4UnitsTable.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "G4Track.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4ProductionCutsTable.hh" +#include "G4LossTableManager.hh" + #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -81,6 +90,10 @@ void RunAction::BeginOfRunAction(const G4Run* aRun) energyDeposit[k].clear(); } + n_gamma = 0; + n_elec = 0; + n_pos = 0; + //initialize Eflow // G4int nbPlanes = (Detector->GetNbOfLayers())*(Detector->GetNbOfAbsor()) + 2; @@ -194,6 +207,10 @@ void RunAction::EndOfRunAction(const G4Run* aRun) << Primary->GetParticleGun()-> GetParticleDefinition()->GetParticleName() << " E = " << G4BestUnit(beamEnergy,"Energy") << G4endl; + G4cout << " Mean number of gamma " << (G4double)n_gamma*norm << G4endl; + G4cout << " Mean number of e- " << (G4double)n_elec*norm << G4endl; + G4cout << " Mean number of e+ " << (G4double)n_pos*norm << G4endl; + G4cout << "------------------------------------------------------------\n"; //Energy flow // @@ -265,15 +282,6 @@ void RunAction::EndOfRunAction(const G4Run* aRun) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" -#include "G4Gamma.hh" -#include "G4Electron.hh" -#include "G4ProductionCutsTable.hh" -#include "G4LossTableManager.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - void RunAction::PrintDedxTables() { //Print dE/dx tables with binning identical to the Geant3 JMATE bank. @@ -363,6 +371,16 @@ void RunAction::PrintDedxTables() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void RunAction::AddSecondaryTrack(const G4Track* track) +{ + const G4ParticleDefinition* d = track->GetDefinition(); + if(d == G4Gamma::Gamma()) { ++n_gamma; } + else if (d == G4Electron::Electron()) { ++n_elec; } + else if (d == G4Positron::Positron()) { ++n_pos; } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void RunAction::SetEdepAndRMS(G4int i, G4double edep, G4double rms, G4double lim) { if (i>=0 && isumEnergyFlow(pl, Eflow); + for (G4int pl=1; pl<=Idnow; pl++) {runAct->sumEnergyFlow(pl, Eflow);} + } else { + runAct->AddSecondaryTrack(track); } } diff --git a/examples/extended/electromagnetic/TestEm3/vis.mac b/examples/extended/electromagnetic/TestEm3/vis.mac index 2d03db2146..8249f6604b 100644 --- a/examples/extended/electromagnetic/TestEm3/vis.mac +++ b/examples/extended/electromagnetic/TestEm3/vis.mac @@ -9,22 +9,71 @@ # /run/initialize # -# Create empty scene ("world" is default) -/vis/scene/create +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# Create a scene handler for a specific graphics system -# Edit the next line(s) to choose another graphic system +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -####/vis/open DAWNFILE -/vis/open OGLIX +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# Draw scene +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: /vis/viewer/zoom 1.4 -/vis/viewer/flush # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks all +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm4/History b/examples/extended/electromagnetic/TestEm4/History index 40108bac48..8cb391e678 100644 --- a/examples/extended/electromagnetic/TestEm4/History +++ b/examples/extended/electromagnetic/TestEm4/History @@ -1,4 +1,4 @@ -$Id: History,v 1.47 2008/09/12 18:46:14 maire Exp $ +$Id: History,v 1.51 2010/11/09 21:28:41 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,18 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +09-11-10 M.Asai (testem4-V09-03-03) +- Fix AIDA file option. + +06-06-10 J.Perl (testem4-V09-03-02) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem4-V09-03-01) +- Updated vis usage + +19-05-10 mma (testem4-V09-03-00) +- TestEm4.cc : introduction of G4UIExecutive 12-09-08 mma (testem4-V09-01-03) - RunAction : change default histogram format diff --git a/examples/extended/electromagnetic/TestEm4/TestEm4.cc b/examples/extended/electromagnetic/TestEm4/TestEm4.cc index 97f4e5163b..41d71432c2 100644 --- a/examples/extended/electromagnetic/TestEm4/TestEm4.cc +++ b/examples/extended/electromagnetic/TestEm4/TestEm4.cc @@ -24,16 +24,14 @@ // ******************************************************************** // // -// $Id: TestEm4.cc,v 1.12 2007/06/22 09:55:22 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm4.cc,v 1.13 2010/05/19 09:19:51 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -48,6 +46,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... int main(int argc,char** argv) { @@ -92,16 +94,12 @@ int main(int argc,char** argv) { G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); #endif - - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - UI->ApplyCommand("/control/execute vis.mac"); - session->SessionStart(); - delete session; + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif #ifdef G4VIS_USE delete visManager; diff --git a/examples/extended/electromagnetic/TestEm4/TestEm4.out b/examples/extended/electromagnetic/TestEm4/TestEm4.out index 4c78ed717a..f44192e354 100644 --- a/examples/extended/electromagnetic/TestEm4/TestEm4.out +++ b/examples/extended/electromagnetic/TestEm4/TestEm4.out @@ -4,13 +4,13 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* - Material: FluorCarbonate density: 1.610 g/cm3 RadL: 22.435 cm Nucl.Int.Length: 54.514 cm Imean: 92.428 eV + Material: FluorCarbonate density: 1.610 g/cm3 RadL: 22.435 cm Nucl.Int.Length: 54.516 cm Imean: 99.957 eV ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 38.74 % ElmAbundance 50.00 % ---> Element: Fluorine (N) Z = 9.0 N = 19.0 A = 18.99 g/mole ElmMassFraction: 61.26 % ElmAbundance 50.00 % PhysicsList::SetCuts:CutLength : 1 (mm) @@ -20,58 +20,58 @@ PhysicsList::SetCuts:CutLength : 1 (mm) phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : C6F6 @@ -125,11 +125,11 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100000 - User=3.47s Real=5.75s Sys=2.28s + User=3.08s Real=7.19s Sys=4.05s --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1972707200, 382735907 + Current couple of seeds = 548758087, 1436551020 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/electromagnetic/TestEm4/src/EventAction.cc b/examples/extended/electromagnetic/TestEm4/src/EventAction.cc index cfb085674b..16cf34a780 100644 --- a/examples/extended/electromagnetic/TestEm4/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.7 2006/06/29 16:53:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.9 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,9 +35,6 @@ #include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4UnitsTable.hh" #ifdef G4ANALYSIS_USE @@ -75,7 +72,7 @@ void EventAction::BeginOfEventAction( const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction( const G4Event* evt) +void EventAction::EndOfEventAction( const G4Event*) { if (drawFlag != "none") G4cout << " Energy deposit: " @@ -84,21 +81,6 @@ void EventAction::EndOfEventAction( const G4Event* evt) #ifdef G4ANALYSIS_USE Run->GetHisto(0)->fill(TotalEnergyDeposit/MeV); #endif - - // draw trajectories - 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(1000); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(1000); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm4/src/RunAction.cc b/examples/extended/electromagnetic/TestEm4/src/RunAction.cc index 57a5431427..03c7f2fbea 100644 --- a/examples/extended/electromagnetic/TestEm4/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.11 2008/09/12 18:46:14 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.cc,v 1.12 2010/11/09 21:28:41 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -58,7 +58,7 @@ RunAction::RunAction() // Creating a tree mapped to an hbook file. G4bool readOnly = false; G4bool createNew = true; - G4String options = "--noErrors export=root uncompress"; + G4String options = ""; //tree = tf->create("testem4.hbook","hbook",readOnly,createNew, options); tree = tf->create("testem4.root","root",readOnly,createNew, options); //tree = tf->create("testem4.XML" ,"XML" ,readOnly,createNew, options); diff --git a/examples/extended/electromagnetic/TestEm4/vis.mac b/examples/extended/electromagnetic/TestEm4/vis.mac index 3fda4d86c6..230619260d 100644 --- a/examples/extended/electromagnetic/TestEm4/vis.mac +++ b/examples/extended/electromagnetic/TestEm4/vis.mac @@ -7,23 +7,74 @@ /control/verbose 2 /run/verbose 2 # -# Create empty scene ("world" is default) -/vis/scene/create +# Controls whether energy is reported at end of event +/testem/event/drawTracks all # -# Create a scene handler for a specific graphics system -# Edit the next line(s) to choose another graphic system +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -/vis/open OGLIX +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# Draw scene +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: /vis/viewer/zoom 1.5 -/vis/viewer/flush # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm5/History b/examples/extended/electromagnetic/TestEm5/History index 8c040234f7..28821347a1 100644 --- a/examples/extended/electromagnetic/TestEm5/History +++ b/examples/extended/electromagnetic/TestEm5/History @@ -1,4 +1,4 @@ -$Id: History,v 1.123 2009/11/15 22:10:03 maire Exp $ +$Id: History,v 1.128 2010/11/19 15:59:00 vnivanch Exp $ ---------------------------------------------------- ========================================================= @@ -14,6 +14,21 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +19-11-10 V.Ivant (testem5-V09-03-04) +- Added ion scattering model to SS and WVI Physics constructors + +09-11-10 M.Asai (testem5-V09-03-03) +- Fix AIDA file option. + +06-06-10 J.Perl (testem5-V09-03-02) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem5-V09-03-01) +- Updated vis usage + +19-05-10 mma (testem5-V09-03-00) +- TestEm5.cc : introduction of G4UIExecutive 15-11-09 mma (testem5-V09-02-07) - PhysListEmStandard.cc (local): eMultipleScattering -> UrbanMscModel93 diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5.cc b/examples/extended/electromagnetic/TestEm5/TestEm5.cc index f934fc4a1e..ad2d8e7179 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5.cc +++ b/examples/extended/electromagnetic/TestEm5/TestEm5.cc @@ -24,16 +24,14 @@ // ******************************************************************** // // -// $Id: TestEm5.cc,v 1.17 2007/06/22 10:48:00 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm5.cc,v 1.18 2010/05/19 09:35:37 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -51,6 +49,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -118,14 +120,11 @@ int main(int argc,char** argv) { 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 G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif #ifdef G4VIS_USE delete visManager; diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5.out b/examples/extended/electromagnetic/TestEm5/TestEm5.out index 7d211de647..d2653d85ef 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5.out +++ b/examples/extended/electromagnetic/TestEm5/TestEm5.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -24,10 +24,10 @@ PhysicsList::AddPhysicsList: /run/initialize userDetector->Construct() start. - 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 114561548.020 pc Imean: 19.200 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: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.663 cm Imean: 173.600 eV + Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.761 cm Imean: 173.000 eV ---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % The WORLD is made of 30 um of Galactic. The transverse size (YZ) of the world is 60 um @@ -53,270 +53,265 @@ PhysicsList::SetCuts:CutLength : 1 mm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 10 TeV + KleinNishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 Lambda tables from 1.022 MeV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 1, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+ SubType= 5 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 10 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ParamICRU73 : Emin= 0 eV Emax= 10 TeV + ParamICRU73 : Emin= 0 eV Emax= 10 TeV nuclearStopping: for GenericIon SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV nuclearStopping: for alpha SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu+ SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu- SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : World @@ -377,30 +372,30 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100000 - User=4.13s Real=6.45s Sys=2.32s + User=3.83s Real=7.87s Sys=3.91s ======================== run summary ====================== The run was 100000 pi+ of 5 GeV through 20 um of Silicon (density: 2.33 g/cm3 ) - Total energy deposit in absorber per event = 6.303 keV +- 15.63 eV + Total energy deposit in absorber per event = 6.357 keV +- 16.43 eV - -----> Mean dE/dx = 3.151 MeV/cm (1.353 MeV*cm2/g) + -----> Mean dE/dx = 3.178 MeV/cm (1.364 MeV*cm2/g) From formulas : - restricted dEdx = 2.942 MeV/cm (1.263 MeV*cm2/g) - full dEdx = 4.705 MeV/cm (2.019 MeV*cm2/g) + restricted dEdx = 2.963 MeV/cm (1.272 MeV*cm2/g) + full dEdx = 4.726 MeV/cm (2.028 MeV*cm2/g) - Leakage : primary = 5 GeV +- 486.9 eV secondaries = 2.68 keV +- 486.1 eV + Leakage : primary = 5 GeV +- 1.274 keV secondaries = 3.639 keV +- 1.273 keV Energy balance : edep + eleak = 5 GeV - Total track length (charged) in absorber per event = 20.27 um +- 8.002 nm - Total track length (neutral) in absorber per event = 1.526 Ang +- 9.642e+04 fm + Total track length (charged) in absorber per event = 20.26 um +- 7.83 nm + Total track length (neutral) in absorber per event = 4.734 Ang +- 2.984 Ang - Number of steps (charged) in absorber per event = 1.174 +- 8.946e-06 - Number of steps (neutral) in absorber per event = 4e-05 +- 8.946e-06 + Number of steps (charged) in absorber per event = 1.159 +- 8.849e-06 + Number of steps (neutral) in absorber per event = 3e-05 +- 8.849e-06 - Number of secondaries per event : Gammas = 4e-05; electrons = 0.01694; positrons = 0 + Number of secondaries per event : Gammas = 3e-05; electrons = 0.01664; positrons = 0 Number of events with the primary particle transmitted = 100 % Number of events with at least 1 particle transmitted (same charge as primary) = 100 % @@ -409,13 +404,13 @@ Run Summary Number of events with at least 1 particle reflected (same charge as primary) = 0 % MultipleScattering: - rms proj angle of transmit primary particle = 0.02447 mrad (central part only) + rms proj angle of transmit primary particle = 0.02446 mrad (central part only) computed theta0 (Highland formula) = 0.02627 mrad - central part defined as +- 0.0788 mrad; Tail ratio = 1.563 % + central part defined as +- 0.0788 mrad; Tail ratio = 1.554 % --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 314060871, 759831273 + Current couple of seeds = 1913969170, 340154846 ---------------------------------------- # /testem/det/setAbsMat Gold @@ -423,10 +418,10 @@ Run Summary /testem/det/setAbsYZ 1 mm /testem/det/update - 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 114561548.020 pc Imean: 19.200 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: Gold density: 19.320 g/cm3 RadL: 3.344 mm Nucl.Int.Length: 10.540 cm Imean: 790.000 eV + Material: Gold density: 19.320 g/cm3 RadL: 3.344 mm Nucl.Int.Length: 10.539 cm Imean: 790.000 eV ---> Element: Gold ( ) Z = 79.0 N = 197.0 A = 196.97 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % The WORLD is made of 14.487 um of Galactic. The transverse size (YZ) of the world is 1.2 mm @@ -441,270 +436,265 @@ World is registered to the default region. phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 10 TeV + KleinNishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 10 TeV in 220 bins, spline: 1 + Lambda tables from 1.022 MeV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 1, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+ SubType= 5 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 10 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ParamICRU73 : Emin= 0 eV Emax= 10 TeV + ParamICRU73 : Emin= 0 eV Emax= 10 TeV nuclearStopping: for GenericIon SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV nuclearStopping: for alpha SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.459156 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu+ SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.459156 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1000000 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu- SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.459156 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1000000 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : World @@ -724,12 +714,12 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : No recalculation needed : No Material : Silicon Range cuts : gamma 7 um e- 7 um e+ 7 um proton 0 fm - Energy thresholds : gamma 990 eV e- 21.488579 keV e+ 20.895427 keV proton 0 eV + Energy thresholds : gamma 990 eV e- 21.4886 keV e+ 20.8954 keV proton 0 eV Index : 2 used in the geometry : Yes recalculation needed : No Material : Gold Range cuts : gamma 7 um e- 7 um e+ 7 um proton 0 fm - Energy thresholds : gamma 6.5422867 keV e- 65.140571 keV e+ 63.840474 keV proton 0 eV + Energy thresholds : gamma 6.54229 keV e- 65.1406 keV e+ 63.8405 keV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -744,7 +734,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 314060871, 759831273 + Current couple of seeds = 1913969170, 340154846 ---------------------------------------- Start Run processing. @@ -760,45 +750,45 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 50000 - User=4.18s Real=5.39s Sys=1.21s + User=3.01s Real=4.97s Sys=1.96s ======================== run summary ====================== The run was 50000 e- of 15.7 MeV through 9.66 um of Gold (density: 19.3 g/cm3 ) - Total energy deposit in absorber per event = 18.98 keV +- 64.22 eV + Total energy deposit in absorber per event = 18.49 keV +- 65.77 eV - -----> Mean dE/dx = 19.65 MeV/cm (1.017 MeV*cm2/g) + -----> Mean dE/dx = 19.14 MeV/cm (0.9907 MeV*cm2/g) From formulas : - restricted dEdx = 18.39 MeV/cm (0.9519 MeV*cm2/g) - full dEdx = 60.19 MeV/cm (3.115 MeV*cm2/g) + restricted dEdx = 17.9 MeV/cm (0.9266 MeV*cm2/g) + full dEdx = 59.7 MeV/cm (3.09 MeV*cm2/g) - Leakage : primary = 15.64 MeV +- 2.254 keV secondaries = 43.36 keV +- 2.247 keV + Leakage : primary = 15.64 MeV +- 2.216 keV secondaries = 42.12 keV +- 2.211 keV Energy balance : edep + eleak = 15.7 MeV - Total track length (charged) in absorber per event = 9.945 um +- 13.68 nm - Total track length (neutral) in absorber per event = 134.4 nm +- 4.548 nm + Total track length (charged) in absorber per event = 9.94 um +- 12.91 nm + Total track length (neutral) in absorber per event = 131.6 nm +- 5.821 nm - Number of steps (charged) in absorber per event = 8.959 +- 1.654e-05 - Number of steps (neutral) in absorber per event = 0.03032 +- 1.654e-05 + Number of steps (charged) in absorber per event = 5.058 +- 1.607e-05 + Number of steps (neutral) in absorber per event = 0.02922 +- 1.607e-05 - Number of secondaries per event : Gammas = 0.0302; electrons = 0.02254; positrons = 0 + Number of secondaries per event : Gammas = 0.02922; electrons = 0.02164; positrons = 0 - Number of events with the primary particle transmitted = 99.97 % - Number of events with at least 1 particle transmitted (same charge as primary) = 99.97 % + Number of events with the primary particle transmitted = 99.98 % + Number of events with at least 1 particle transmitted (same charge as primary) = 99.98 % - Number of events with the primary particle reflected = 0.028 % - Number of events with at least 1 particle reflected (same charge as primary) = 0.31 % + Number of events with the primary particle reflected = 0.02 % + Number of events with at least 1 particle reflected (same charge as primary) = 0.262 % MultipleScattering: - rms proj angle of transmit primary particle = 32.93 mrad (central part only) + rms proj angle of transmit primary particle = 32.76 mrad (central part only) computed theta0 (Highland formula) = 35.1 mrad - central part defined as +- 105.3 mrad; Tail ratio = 2.617 % + central part defined as +- 105.3 mrad; Tail ratio = 2.75 % --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 438170069, 2080246468 + Current couple of seeds = 598935577, 1673405352 ---------------------------------------- # /testem/phys/setCuts 10 um @@ -808,10 +798,10 @@ Run Summary /testem/det/setAbsYZ 50 mm /testem/det/update - 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 114561548.020 pc Imean: 19.200 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: G4_POLYETHYLENE (C_2H_4)_N-Polyethylene density: 940.000 mg/cm3 RadL: 47.632 cm Nucl.Int.Length: 72.090 cm Imean: 57.400 eV + Material: G4_POLYETHYLENE (C_2H_4)_N-Polyethylene density: 940.000 mg/cm3 RadL: 47.632 cm Nucl.Int.Length: 72.122 cm Imean: 57.400 eV ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 14.37 % ElmAbundance 66.67 % @@ -831,270 +821,265 @@ World is registered to the default region. phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 10 TeV + KleinNishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 10 TeV in 220 bins, spline: 1 + Lambda tables from 1.022 MeV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 1, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+ SubType= 5 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 10 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ParamICRU73 : Emin= 0 eV Emax= 10 TeV + ParamICRU73 : Emin= 0 eV Emax= 10 TeV nuclearStopping: for GenericIon SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV nuclearStopping: for alpha SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.459156 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu+ SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.459156 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1000000 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu- SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.459156 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1000000 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : World @@ -1114,17 +1099,17 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : No recalculation needed : No Material : Silicon Range cuts : gamma 10 um e- 10 um e+ 10 um proton 0 fm - Energy thresholds : gamma 990 eV e- 31.951563 keV e+ 31.737567 keV proton 0 eV + Energy thresholds : gamma 990 eV e- 31.9516 keV e+ 31.7376 keV proton 0 eV Index : 2 used in the geometry : No recalculation needed : No Material : Gold Range cuts : gamma 10 um e- 10 um e+ 10 um proton 0 fm - Energy thresholds : gamma 8.2770687 keV e- 80.768699 keV e+ 79.156691 keV proton 0 eV + Energy thresholds : gamma 8.27707 keV e- 80.7687 keV e+ 79.1567 keV proton 0 eV Index : 3 used in the geometry : Yes recalculation needed : No Material : G4_POLYETHYLENE Range cuts : gamma 10 um e- 10 um e+ 10 um proton 0 fm - Energy thresholds : gamma 990 eV e- 14.174755 keV e+ 13.754766 keV proton 0 eV + Energy thresholds : gamma 990 eV e- 14.1748 keV e+ 13.7548 keV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -1139,7 +1124,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 438170069, 2080246468 + Current couple of seeds = 598935577, 1673405352 ---------------------------------------- Start Run processing. @@ -1155,30 +1140,30 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 50000 - User=6.46s Real=7.6s Sys=1.14s + User=5.51s Real=7.56s Sys=1.66s ======================== run summary ====================== The run was 50000 mu+ of 96.2 MeV through 4.74 mm of G4_POLYETHYLENE (density: 940 mg/cm3) - Total energy deposit in absorber per event = 1.049 MeV +- 1.007 keV + Total energy deposit in absorber per event = 1.034 MeV +- 1.024 keV - -----> Mean dE/dx = 2.212 MeV/cm (2.353 MeV*cm2/g) + -----> Mean dE/dx = 2.181 MeV/cm (2.32 MeV*cm2/g) From formulas : restricted dEdx = 1.751 MeV/cm (1.863 MeV*cm2/g) full dEdx = 2.263 MeV/cm (2.407 MeV*cm2/g) - Leakage : primary = 95.13 MeV +- 1.363 keV secondaries = 26.39 keV +- 717.7 eV + Leakage : primary = 95.14 MeV +- 1.353 keV secondaries = 25.7 keV +- 687.4 eV Energy balance : edep + eleak = 96.2 MeV - Total track length (charged) in absorber per event = 5.176 mm +- 3.854 um - Total track length (neutral) in absorber per event = 34.1 um +- 3.09 um + Total track length (charged) in absorber per event = 5.105 mm +- 3.958 um + Total track length (neutral) in absorber per event = 24.78 um +- 2.314 um - Number of steps (charged) in absorber per event = 11.42 +- 0.0002776 - Number of steps (neutral) in absorber per event = 0.01292 +- 0.0002776 + Number of steps (charged) in absorber per event = 11.27 +- 0.0002813 + Number of steps (neutral) in absorber per event = 0.01198 +- 0.0002813 - Number of secondaries per event : Gammas = 0.01204; electrons = 4.049; positrons = 0 + Number of secondaries per event : Gammas = 0.01146; electrons = 3.991; positrons = 0 Number of events with the primary particle transmitted = 100 % Number of events with at least 1 particle transmitted (same charge as primary) = 100 % @@ -1187,13 +1172,13 @@ Run Summary Number of events with at least 1 particle reflected (same charge as primary) = 0 % MultipleScattering: - rms proj angle of transmit primary particle = 7.148 mrad (central part only) + rms proj angle of transmit primary particle = 7.287 mrad (central part only) computed theta0 (Highland formula) = 7.636 mrad - central part defined as +- 22.91 mrad; Tail ratio = 1.292 % + central part defined as +- 22.91 mrad; Tail ratio = 1.295 % --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1315555625, 521010940 + Current couple of seeds = 509838143, 1783065594 ---------------------------------------- # /testem/phys/setCuts 1 mm @@ -1204,10 +1189,10 @@ Run Summary /testem/det/setAbsThick 8.004 mm /testem/det/update - 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 114561548.020 pc Imean: 19.200 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: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.860 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % The WORLD is made of 1.2006 cm of Galactic. The transverse size (YZ) of the world is 6 cm @@ -1222,270 +1207,265 @@ World is registered to the default region. phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 10 TeV + KleinNishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 10 TeV in 220 bins, spline: 1 + Lambda tables from 1.022 MeV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 1, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+ SubType= 5 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 10 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ParamICRU73 : Emin= 0 eV Emax= 10 TeV + ParamICRU73 : Emin= 0 eV Emax= 10 TeV nuclearStopping: for GenericIon SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV nuclearStopping: for alpha SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.459156 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu+ SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.459156 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1000000 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu- SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.459156 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1000000 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : World @@ -1505,22 +1485,22 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : No recalculation needed : No Material : Silicon Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 6.9501782 keV e- 548.29137 keV e+ 526.62382 keV proton 0 eV + Energy thresholds : gamma 6.95018 keV e- 548.291 keV e+ 526.624 keV proton 0 eV Index : 2 used in the geometry : No recalculation needed : No Material : Gold Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 112.64401 keV e- 2.3097622 MeV e+ 2.1308135 MeV proton 0 eV + Energy thresholds : gamma 112.644 keV e- 2.30976 MeV e+ 2.13081 MeV proton 0 eV Index : 3 used in the geometry : No recalculation needed : No Material : G4_POLYETHYLENE Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 2.2626058 keV e- 351.8774 keV e+ 342.54485 keV proton 0 eV + Energy thresholds : gamma 2.26261 keV e- 351.877 keV e+ 342.545 keV proton 0 eV Index : 4 used in the geometry : Yes recalculation needed : No Material : Aluminium Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 6.9036292 keV e- 598.34507 keV e+ 570.85042 keV proton 0 eV + Energy thresholds : gamma 6.90363 keV e- 598.345 keV e+ 570.85 keV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -1535,7 +1515,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1315555625, 521010940 + Current couple of seeds = 509838143, 1783065594 ---------------------------------------- Start Run processing. @@ -1551,30 +1531,30 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 50000 - User=2.09s Real=3.28s Sys=1.19s + User=1.94s Real=3.93s Sys=1.99s ======================== run summary ====================== The run was 50000 proton of 175 GeV through 8 mm of Aluminium (density: 2.7 g/cm3 ) - Total energy deposit in absorber per event = 4.643 MeV +- 121.8 keV + Total energy deposit in absorber per event = 4.879 MeV +- 246.8 keV - -----> Mean dE/dx = 5.8 MeV/cm (2.148 MeV*cm2/g) + -----> Mean dE/dx = 6.096 MeV/cm (2.258 MeV*cm2/g) From formulas : - restricted dEdx = 4.018 MeV/cm (1.488 MeV*cm2/g) - full dEdx = 6.043 MeV/cm (2.238 MeV*cm2/g) + restricted dEdx = 4.024 MeV/cm (1.491 MeV*cm2/g) + full dEdx = 6.049 MeV/cm (2.24 MeV*cm2/g) - Leakage : primary = 174.7 GeV +- 121.8 keV secondaries = 0 eV +- 0 eV + Leakage : primary = 174.7 GeV +- 246.9 keV secondaries = 0 eV +- 0 eV Energy balance : edep + eleak = 174.7 GeV Total track length (charged) in absorber per event = 8.004 mm +- 0 fm Total track length (neutral) in absorber per event = 0 fm +- 0 fm - Number of steps (charged) in absorber per event = 1.269 +- 0 + Number of steps (charged) in absorber per event = 1.266 +- 0 Number of steps (neutral) in absorber per event = 0 +- 0 - Number of secondaries per event : Gammas = 0; electrons = 0.2687; positrons = 0.00066 + Number of secondaries per event : Gammas = 0; electrons = 0.2662; positrons = 0.00072 Number of events with the primary particle transmitted = 100 % Number of events with at least 1 particle transmitted (same charge as primary) = 100 % @@ -1583,23 +1563,23 @@ Run Summary Number of events with at least 1 particle reflected (same charge as primary) = 0 % MultipleScattering: - rms proj angle of transmit primary particle = 0.02101 mrad (central part only) + rms proj angle of transmit primary particle = 0.02108 mrad (central part only) computed theta0 (Highland formula) = 0.02111 mrad - central part defined as +- 0.06333 mrad; Tail ratio = 1.863 % + central part defined as +- 0.06333 mrad; Tail ratio = 1.849 % --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 918856487, 492457696 + Current couple of seeds = 500857548, 79381445 ---------------------------------------- # /testem/det/setAbsMat Iron /testem/det/setAbsThick 1 m /testem/det/update - 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 114561548.020 pc Imean: 19.200 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: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV + Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.969 cm Imean: 286.000 eV ---> Element: Iron ( ) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % The WORLD is made of 1.5 m of Galactic. The transverse size (YZ) of the world is 6 cm @@ -1614,270 +1594,265 @@ World is registered to the default region. phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 10 TeV + KleinNishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 10 TeV in 220 bins, spline: 1 + Lambda tables from 1.022 MeV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 1, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+ SubType= 5 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 10 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ParamICRU73 : Emin= 0 eV Emax= 10 TeV + ParamICRU73 : Emin= 0 eV Emax= 10 TeV nuclearStopping: for GenericIon SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV nuclearStopping: for alpha SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.459156 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu+ SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.459156 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1000000 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu- SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.459156 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1000000 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : World @@ -1897,27 +1872,27 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : No recalculation needed : No Material : Silicon Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 6.9501782 keV e- 548.29137 keV e+ 526.62382 keV proton 0 eV + Energy thresholds : gamma 6.95018 keV e- 548.291 keV e+ 526.624 keV proton 0 eV Index : 2 used in the geometry : No recalculation needed : No Material : Gold Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 112.64401 keV e- 2.3097622 MeV e+ 2.1308135 MeV proton 0 eV + Energy thresholds : gamma 112.644 keV e- 2.30976 MeV e+ 2.13081 MeV proton 0 eV Index : 3 used in the geometry : No recalculation needed : No Material : G4_POLYETHYLENE Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 2.2626058 keV e- 351.8774 keV e+ 342.54485 keV proton 0 eV + Energy thresholds : gamma 2.26261 keV e- 351.877 keV e+ 342.545 keV proton 0 eV Index : 4 used in the geometry : No recalculation needed : No Material : Aluminium Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 6.9036292 keV e- 598.34507 keV e+ 570.85042 keV proton 0 eV + Energy thresholds : gamma 6.90363 keV e- 598.345 keV e+ 570.85 keV proton 0 eV Index : 5 used in the geometry : Yes recalculation needed : No Material : Iron Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 20.643844 keV e- 1.295918 MeV e+ 1.2116932 MeV proton 0 eV + Energy thresholds : gamma 20.6438 keV e- 1.29592 MeV e+ 1.21169 MeV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -1932,7 +1907,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 918856487, 492457696 + Current couple of seeds = 500857548, 79381445 ---------------------------------------- Start Run processing. @@ -1948,30 +1923,30 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 50000 - User=27.15s Real=28.41s Sys=1.23s + User=18.66s Real=20.59s Sys=1.89s ======================== run summary ====================== The run was 50000 mu+ of 100 GeV through 1 m of Iron (density: 7.87 g/cm3 ) - Total energy deposit in absorber per event = 2.136 GeV +- 14.11 MeV + Total energy deposit in absorber per event = 2.124 GeV +- 14.52 MeV - -----> Mean dE/dx = 21.36 MeV/cm (2.714 MeV*cm2/g) + -----> Mean dE/dx = 21.24 MeV/cm (2.698 MeV*cm2/g) From formulas : restricted dEdx = 11.22 MeV/cm (1.425 MeV*cm2/g) full dEdx = 21.6 MeV/cm (2.745 MeV*cm2/g) - Leakage : primary = 97.86 GeV +- 14.13 MeV secondaries = 0 eV +- 0 eV + Leakage : primary = 97.88 GeV +- 14.52 MeV secondaries = 0 eV +- 0 eV Energy balance : edep + eleak = 100 GeV - Total track length (charged) in absorber per event = 100 cm +- 3.231 um + Total track length (charged) in absorber per event = 99.01 cm +- 51.67 um Total track length (neutral) in absorber per event = 0 fm +- 0 fm - Number of steps (charged) in absorber per event = 54.05 +- 0.0002542 + Number of steps (charged) in absorber per event = 47.4 +- 0.001017 Number of steps (neutral) in absorber per event = 0 +- 0 - Number of secondaries per event : Gammas = 0.04998; electrons = 46.24; positrons = 1.25 + Number of secondaries per event : Gammas = 0.04858; electrons = 45.79; positrons = 1.25 Number of events with the primary particle transmitted = 100 % Number of events with at least 1 particle transmitted (same charge as primary) = 100 % @@ -1980,13 +1955,13 @@ Run Summary Number of events with at least 1 particle reflected (same charge as primary) = 0 % MultipleScattering: - rms proj angle of transmit primary particle = 1.099 mrad (central part only) + rms proj angle of transmit primary particle = 1.125 mrad (central part only) computed theta0 (Highland formula) = 1.182 mrad - central part defined as +- 3.545 mrad; Tail ratio = 0.24 % + central part defined as +- 3.545 mrad; Tail ratio = 0.304 % --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1107788951, 1582597951 + Current couple of seeds = 715482869, 913628591 ---------------------------------------- # UserDetectorConstruction deleted. diff --git a/examples/extended/electromagnetic/TestEm5/berger.mac b/examples/extended/electromagnetic/TestEm5/berger.mac index 9d6df6f7b2..063386cf28 100644 --- a/examples/extended/electromagnetic/TestEm5/berger.mac +++ b/examples/extended/electromagnetic/TestEm5/berger.mac @@ -1,4 +1,4 @@ -# $Id: berger.mac,v 1.7 2009/01/21 17:49:59 maire Exp $ +# $Id: berger.mac,v 1.8 2010/05/19 09:35:37 maire Exp $ # # macro file for TestEm5.cc # @@ -17,6 +17,8 @@ ###/testem/det/setAbsThick 3 mm /testem/det/setAbsYZ 1 cm # +/testem/phys/addPhysics emstandard_opt2 +# /testem/phys/setCuts 10 um # /run/initialize @@ -25,7 +27,7 @@ /gun/particle e- /gun/energy 1 MeV # -/testem/histo/setFileName berger/Si530um +/testem/histo/setFileName berger/ref10.opt2 /testem/histo/setFileType root /testem/histo/setHisto 1 105 0 1.05 MeV #energy deposit # diff --git a/examples/extended/electromagnetic/TestEm5/berger/berger.C b/examples/extended/electromagnetic/TestEm5/berger/berger.C index cf66aef2a0..e236a33cd2 100644 --- a/examples/extended/electromagnetic/TestEm5/berger/berger.C +++ b/examples/extended/electromagnetic/TestEm5/berger/berger.C @@ -1,15 +1,21 @@ { gROOT->Reset(); - // Draw histogram fill by Geant4 TestEm5 simulation - TFile f("./Si530um.root"); - TH1D* h1d = (TH1D*) f.Get("1"); - h1d->SetTitle("Energy deposited in 530 um of Si by 1 MeV e-"); - h1d->GetXaxis()->SetTitle("Ekine (MeV)"); - h1d->GetYaxis()->SetTitle("nb / MeV"); - h1d->SetStats(kFALSE); // Eliminate statistics box - h1d->Draw("HIST"); - + // Draw histograms fill by Geant4 TestEm5 simulation + TFile f1("./ref10.opt0.root"); + TH1D* h1 = (TH1D*) f1.Get("1"); + h1->SetTitle("Energy deposited in 530 um of Si by 1 MeV e-"); + h1->GetXaxis()->SetTitle("Ekine (MeV)"); + h1->GetYaxis()->SetTitle("nb / MeV"); + h1->SetStats(kFALSE); // Eliminate statistics box + h1->SetLineColor(1); // black + h1->Draw("HIST"); + + TFile f2("./ref10.opt2.root"); + TH1D* h2 = (TH1D*) f2.Get("1"); + h2->SetStats(kFALSE); // Eliminate statistics box + h2->SetLineColor(4); // blue + h2->Draw("SAME HIST"); /* * e- 1 MeV in Silicon 530 um * M.J. Berger et al. NIM 69 (p.181) 1969 @@ -27,24 +33,25 @@ // Create a new histogram with data.acsii values float x_min = 0.110; float x_max = 1.030; - TH1F* h1f = new TH1F("h1f","",nbdata,x_min,x_max); + TH1F* h3 = new TH1F("h1f","",nbdata,x_min,x_max); Float_t x, y; while (1) { in >> x >> y ; if (!in.good()) break; - h1f->Fill(x,y); + h3->Fill(x,y); } in.close(); // Draw histogram fill by data.acsii values - h1f->SetLineColor(2); - h1f->Draw("SAME"); + h3->SetLineColor(2); // red + h3->Draw("SAME"); // Print the histograms legend TLegend *legend = new TLegend(0.6,0.6,0.8,0.8); - legend->AddEntry(h1d,"G4-9.2-ref-04 ","l"); - legend->AddEntry(h1f,"Berger data","L"); + legend->AddEntry(h1,"ref10-opt0","l"); + legend->AddEntry(h2,"ref10-opt2","l"); + legend->AddEntry(h3,"Berger data","L"); legend->Draw(); diff --git a/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandardWVI.hh b/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandardWVI.hh new file mode 100644 index 0000000000..f2722cecb2 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandardWVI.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. * +// ******************************************************************** +// +// +// $Id: PhysListEmStandardWVI.hh,v 1.1 2010/11/19 15:59:01 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandardWVI_h +#define PhysListEmStandardWVI_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandardWVI : public G4VPhysicsConstructor +{ + public: + PhysListEmStandardWVI(const G4String& name = "standardWVI"); + ~PhysListEmStandardWVI(); + + 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(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm5/mumsc.mac b/examples/extended/electromagnetic/TestEm5/mumsc.mac index 41036695f9..2624e86c65 100644 --- a/examples/extended/electromagnetic/TestEm5/mumsc.mac +++ b/examples/extended/electromagnetic/TestEm5/mumsc.mac @@ -1,4 +1,4 @@ -# $Id: mumsc.mac,v 1.20 2009/11/15 22:10:03 maire Exp $ +# $Id: mumsc.mac,v 1.21 2010/05/19 09:35:37 maire Exp $ # # macro file for TestEm5.cc # @@ -13,7 +13,8 @@ /testem/det/setWorldX 1 m /testem/det/setWorldYZ 1 m # -/testem/phys/addPhysics local +###/testem/phys/addPhysics local +/testem/phys/addPhysics emstandard_opt0 # /testem/phys/setCuts 1 mm # @@ -23,8 +24,8 @@ /gun/particle mu+ /gun/energy 100 GeV # -/testem/histo/setFileName mumsc/ref09.local -/testem/histo/setFileType hbook +/testem/histo/setFileName mumsc/ref4++.opt0 +/testem/histo/setFileType root /testem/histo/setHisto 14 100 -5.0 +5.0 mm #x-position at exit /testem/histo/setHisto 15 100 0. +10.0 mm #radius at exit # diff --git a/examples/extended/electromagnetic/TestEm5/mumsc/deviation.ascii b/examples/extended/electromagnetic/TestEm5/mumsc/deviation.ascii index b2674f03ce..8fe6dbb659 100644 --- a/examples/extended/electromagnetic/TestEm5/mumsc/deviation.ascii +++ b/examples/extended/electromagnetic/TestEm5/mumsc/deviation.ascii @@ -4,24 +4,27 @@ Lateral deviation at end point ref : Pedro.Arce@ciemat.es G4 version Deviation - - 4.1 752 um - 5.0 600 um - 5.1 605 um - 5.2 853 um - 6.0 1416 um - 6.0-p1 1109 um - 6.1 752 um - 6.2 849 um - 7.1 1040 um - 8.1 1040 um - 8.2 934 um - 9.0 925 um - 9.1 953 um - 9.1ref3 957 um - 9.1ref7 947 um - 9.1ref8 950 um - 9.1ref8++ 947 um - 9.2cand1 948 um - 9.2ref0 956 um - 9.2ref4 953 um + + 4.1 752 um 2002.06.25 + 5.0 600 um 2002.12.13 + 5.1 605 um 2003.05.16 + 5.2 853 um 2003.06.27 + 6.0 1416 um 2003.12.12 + 6.0-p1 1109 um 2004.01.30 + 6.1 752 um 2004.05.25 + 6.2 849 um 2004.06.23 + 7.1 1040 um 2005.06.28 + 8.1 1040 um 2006.06.29 + 8.2 934 um 2006.12.14 + 9.0 925 um 2007.06.28 + 9.1 953 um 2007.12.12 + 9.1ref3 957 um 2008.04.30 + 9.1ref7 947 um 2008.09.04 + 9.1ref8 950 um 2008.09.29 + 9.1ref8++ 947 um 2008.10.10 + 9.2cand1 948 um 2008.12.10 + 9.2ref0 956 um 2008.12.19 + 9.2ref4 953 um 2009.09.09 + 9.2ref10 956 um 2009.11.25 + 9.3ref0 955 um 2009.12.18 + 9.3ref4++ 956 um 2010.05.10 diff --git a/examples/extended/electromagnetic/TestEm5/mumsc/mumsc.kumac b/examples/extended/electromagnetic/TestEm5/mumsc/mumsc.kumac index f9e4a8916f..8871850d94 100644 --- a/examples/extended/electromagnetic/TestEm5/mumsc/mumsc.kumac +++ b/examples/extended/electromagnetic/TestEm5/mumsc/mumsc.kumac @@ -11,21 +11,28 @@ set ygti 0.5 ; set gsiz 0.35 ; set ymgu 1.5 set vsiz 0.25 ; set yval 0.3 ; set ylab 0.55 set asiz 0.25 ; set yhti 0.9 ; set xlab 1.2 -title '100 GeV muon in 1 m iron' +title '100 GeV muon : dispersion after 1 m iron' -h/file 1 9.2-ref04.hbook +h/file 1 ref10.opt2.hbook +h/file 2 ref10.opt0.hbook opt stat set dmod 1 ; set hcol 4 ; set plci 4 h/pl //lun1/14 -key 3 2500 1 '9.1-ref-08' ! l +key 3 2500 1 'opt2 (WVI)' ! l +set dmod 1 ; set hcol 2 ; set plci 2 +h/pl //lun2/14 s +key 3 3000 1 'opt0 (Urban90)' ! l atitle x(mm) nb opt logy set dmod 1 ; set hcol 4 ; set plci 4 h/pl //lun1/15 -key 6 400 1 '9.2-ref-04' ! l +key 6 200 1 'opt2 (WVI)' ! l +set dmod 1 ; set hcol 2 ; set plci 2 +h/pl //lun2/15 s +key 6 500 1 'opt0 (Urban90)' ! l atitle radius(mm) nb exec Redraw-Axis diff --git a/examples/extended/electromagnetic/TestEm5/src/EventAction.cc b/examples/extended/electromagnetic/TestEm5/src/EventAction.cc index 28211f935f..c47a2e301c 100644 --- a/examples/extended/electromagnetic/TestEm5/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.7 2009/03/06 18:04:23 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: EventAction.cc,v 1.9 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -36,9 +36,6 @@ #include "EventMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -75,7 +72,7 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { runaction->AddEnergy(EnergyDeposit); runaction->AddTrakLenCharg(TrakLenCharged); @@ -88,23 +85,6 @@ void EventAction::EndOfEventAction(const G4Event* evt) runaction->CountReflect (ReflectFlag); histoManager->FillHisto(1,EnergyDeposit); - - 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(1000); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(1000); - else if ((drawFlag == "neutral")&&(trj->GetCharge() == 0.)) - trj->DrawTrajectory(1000); - - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc index 11c92bdcef..439bee1853 100644 --- a/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.26 2008/09/13 17:05:40 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.cc,v 1.27 2010/11/09 20:52:09 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "testem5"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; kAddProcess(new G4MuPairProduction, -1, 3, 3); } else if (particleName == "alpha" || particleName == "He3") { - pmanager->AddDiscreteProcess(new G4CoulombScattering); pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); - - } else if (particleName == "GenericIon" ) { G4CoulombScattering* cs = new G4CoulombScattering(); + cs->AddEmModel(0, new G4IonCoulombScatteringModel()); cs->SetBuildTableFlag(false); pmanager->AddDiscreteProcess(cs); + + } else if (particleName == "GenericIon" ) { pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + G4CoulombScattering* cs = new G4CoulombScattering(); + cs->AddEmModel(0, new G4IonCoulombScatteringModel()); + cs->SetBuildTableFlag(false); + pmanager->AddDiscreteProcess(cs); } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && diff --git a/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandardWVI.cc b/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandardWVI.cc new file mode 100644 index 0000000000..1eb3ec35c6 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandardWVI.cc @@ -0,0 +1,183 @@ +// +// ******************************************************************** +// * 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: PhysListEmStandardWVI.cc,v 1.1 2010/11/19 15:59:01 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandardWVI.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4eMultipleScattering.hh" +#include "G4WentzelVIModel.hh" +#include "G4CoulombScattering.hh" +#include "G4IonCoulombScatteringModel.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" + +#include "G4ionIonisation.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4NuclearStopping.hh" + +#include "G4EmProcessOptions.hh" +#include "G4MscStepLimitType.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardWVI::PhysListEmStandardWVI(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardWVI::~PhysListEmStandardWVI() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandardWVI::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 + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 4); + + } else if (particleName == "e+") { + //positron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 5); + + } else if (particleName == "mu+" || + particleName == "mu-" ) { + //muon + G4MuMultipleScattering* msc = new G4MuMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -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 G4CoulombScattering, -1,-1, 5); + + } else if( particleName == "proton" || + particleName == "pi-" || + particleName == "pi+" ) { + //proton + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4hBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4hPairProduction, -1, 4, 4); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 5); + + } else if( particleName == "alpha" || + particleName == "He3" ) { + //alpha + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4IonCoulombScatteringModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if( particleName == "GenericIon" ) { + //Ions + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4IonCoulombScatteringModel()); + pmanager->AddProcess(msc, -1, 1, 1); + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + pmanager->AddProcess(ionIoni, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + } + } + + // Em options + // + // Main options and setting parameters are shown here. + // Several of them have default values. + // + G4EmProcessOptions emOptions; + + //multiple coulomb scattering + // + emOptions.SetPolarAngleLimit(0.2); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc index f86f1bbb33..b46297564f 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.40 2009/11/15 22:10:03 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.42 2010/11/19 16:29:35 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,6 +35,7 @@ #include "PhysListEmStandard.hh" #include "PhysListEmStandardSS.hh" #include "PhysListEmStandardGS.hh" +#include "PhysListEmStandardWVI.hh" #include "G4EmStandardPhysics.hh" #include "G4EmStandardPhysics_option1.hh" @@ -235,6 +236,12 @@ void PhysicsList::AddPhysicsList(const G4String& name) delete emPhysicsList; emPhysicsList = new PhysListEmStandardSS(name); + } else if (name == "standardWVI") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandardWVI(name); + } else if (name == "standardGS") { emName = name; diff --git a/examples/extended/electromagnetic/TestEm5/tramu.mac b/examples/extended/electromagnetic/TestEm5/tramu.mac index aa2e4b1e49..aa00517c8c 100644 --- a/examples/extended/electromagnetic/TestEm5/tramu.mac +++ b/examples/extended/electromagnetic/TestEm5/tramu.mac @@ -1,4 +1,4 @@ -# $Id: tramu.mac,v 1.13 2008/10/31 11:36:46 maire Exp $ +# $Id: tramu.mac,v 1.14 2010/05/19 09:35:37 maire Exp $ # # macro file for TestEm5.cc # @@ -13,6 +13,8 @@ /testem/det/setAbsThick 3 m /testem/det/setAbsYZ 3 m # +/testem/phys/addPhysics emstandard_opt2 +# /testem/phys/setCuts 1 mm # /run/initialize @@ -21,7 +23,7 @@ /gun/particle mu+ /gun/energy 1 TeV # -/testem/histo/setFileName tramu/tramu +/testem/histo/setFileName tramu/ref10.opt2 /testem/histo/setFileType root /testem/histo/setHisto 10 100 950 1000 GeV #energy at exit # diff --git a/examples/extended/electromagnetic/TestEm5/tramu/tramu.C b/examples/extended/electromagnetic/TestEm5/tramu/tramu.C index bd2c2e9b54..3e3a84c65d 100644 --- a/examples/extended/electromagnetic/TestEm5/tramu/tramu.C +++ b/examples/extended/electromagnetic/TestEm5/tramu/tramu.C @@ -1,15 +1,21 @@ { gROOT->Reset(); - // Draw histogram fill by Geant4 TestEm5 simulation - TFile f("./tramu.root"); - TH1D* h1d = (TH1D*) f.Get("10"); - h1d->SetTitle("1 TeV muon in 3 m iron : kinetic energy at exit (GeV)"); - h1d->GetXaxis()->SetTitle("Ekine (GeV)"); - h1d->GetYaxis()->SetTitle("nb/GeV"); - h1d->SetStats(kFALSE); // Eliminate statistics box - h1d->Draw("HIST"); + // Draw histograms fill by Geant4 TestEm5 simulation + TFile f1("./ref10.opt0.root"); + TH1D* h1 = (TH1D*) f1.Get("10"); + h1->SetTitle("1 TeV muon in 3 m iron : kinetic energy at exit (GeV)"); + h1->GetXaxis()->SetTitle("Ekine (GeV)"); + h1->GetYaxis()->SetTitle("nb/GeV"); + h1->SetStats(kFALSE); // Eliminate statistics box + h1->SetLineColor(1); //black + h1->Draw("HIST"); + TFile f2("./ref10.opt2.root"); + TH1D* h2 = (TH1D*) f2.Get("10"); + h2->SetStats(kFALSE); // Eliminate statistics box + h2->SetLineColor(4); //blue + h2->Draw("SAME HIST"); /* * muon 1 TeV/c in 3 m Iron * Particle Data Group. Physics Letters B 592 (2004) page 251 @@ -35,12 +41,13 @@ in.close(); // Draw histogram fill by mars14.acsii values - h1f->SetLineColor(2); + h1f->SetLineColor(2); //red h1f->Draw("SAME"); // Print the histograms legend TLegend* legend = new TLegend(0.2,0.55,0.45,0.70); - legend->AddEntry(h1d,"G4-9.2-ref-04","l"); + legend->AddEntry(h1,"ref10-opt0","l"); + legend->AddEntry(h2,"ref10-opt2","l"); legend->AddEntry(h1f,"Mars14 simul ","L"); legend->Draw(); diff --git a/examples/extended/electromagnetic/TestEm5/vis.mac b/examples/extended/electromagnetic/TestEm5/vis.mac index 1bbffb628a..7c8ba327cf 100644 --- a/examples/extended/electromagnetic/TestEm5/vis.mac +++ b/examples/extended/electromagnetic/TestEm5/vis.mac @@ -7,22 +7,71 @@ /run/verbose 2 /run/initialize # -# Create empty scene ("world" is default) -/vis/scene/create +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# Create a scene handler for a specific graphics system -# Edit the next line(s) to choose another graphic system +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -/vis/open DAWNFILE -/vis/open OGLIX +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# Draw scene +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: /vis/viewer/zoom 1.4 -/vis/viewer/flush # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm6/History b/examples/extended/electromagnetic/TestEm6/History index 891ed299d3..7fce13fea0 100644 --- a/examples/extended/electromagnetic/TestEm6/History +++ b/examples/extended/electromagnetic/TestEm6/History @@ -1,4 +1,4 @@ -$Id: History,v 1.34 2009/11/27 16:19:36 vnivanch Exp $ +$Id: History,v 1.40 2010/12/03 14:55:09 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,24 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +09-11-10 I.Hrivnacova (testem6-V09-03-05) +- Fixed compilation error on gcc-4.5.1. + +09-11-10 M.Asai (testem6-V09-03-04) +- Fix AIDA file option. + +06-06-10 J.Perl (testem6-V09-03-03) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem6-V09-03-02) +- Updated vis usage + +21-05-10 mma (testem6-V09-03-01) +- TestEm6.cc : introduction of G4UIExecutive + +31-03-10 V.Ivant (testem6-V09-03-00) +- Remove obsolete MSC from comments line 27-11-09 V.Ivant (testem6-V09-02-01) - H.Burkhardt add StackingAction allowing remove secondary particles; diff --git a/examples/extended/electromagnetic/TestEm6/TestEm6.cc b/examples/extended/electromagnetic/TestEm6/TestEm6.cc index 5989a67ddd..a7dfae142f 100644 --- a/examples/extended/electromagnetic/TestEm6/TestEm6.cc +++ b/examples/extended/electromagnetic/TestEm6/TestEm6.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TestEm6.cc,v 1.16 2009/11/27 14:54:58 hbu Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: TestEm6.cc,v 1.17 2010/05/21 08:56:45 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -49,6 +47,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -67,12 +69,6 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(det = new DetectorConstruction); runManager->SetUserInitialization(new PhysicsList); runManager->SetUserAction(new PrimaryGeneratorAction(det)); - -#ifdef G4VIS_USE - //visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); -#endif //set user action classes RunAction* RunAct; @@ -84,30 +80,34 @@ int main(int argc,char** argv) { //get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); - - if (argc==1) // Define UI terminal for interactive mode - { - G4UIsession* session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; - } - else // Batch mode - { + + if (argc!=1) // batch mode + { G4String command = "/control/execute "; G4String fileName = argv[1]; UI->ApplyCommand(command+fileName); } - - //job termination + + else //define visualization and UI terminal for interactive mode + { #ifdef G4VIS_USE - delete visManager; + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; #endif - + +#ifdef G4VIS_USE + delete visManager; +#endif + } + + //job termination + // delete runManager; return 0; diff --git a/examples/extended/electromagnetic/TestEm6/TestEm6.out b/examples/extended/electromagnetic/TestEm6/TestEm6.out index cc6c4711c0..45d3544cd5 100644 --- a/examples/extended/electromagnetic/TestEm6/TestEm6.out +++ b/examples/extended/electromagnetic/TestEm6/TestEm6.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,49 +13,16 @@ ***** Table : Nb of materials = 3 ***** - Material: Beryllium density: 1.848 g/cm3 RadL: 35.276 cm Nucl.Int.Length: 39.413 cm Imean: 63.600 eV + Material: Beryllium density: 1.848 g/cm3 RadL: 35.276 cm Nucl.Int.Length: 39.449 cm Imean: 63.700 eV ---> Element: Beryllium ( ) Z = 4.0 N = 9.0 A = 9.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Carbon density: 2.265 g/cm3 RadL: 18.851 cm Nucl.Int.Length: 35.388 cm Imean: 78.000 eV + Material: Carbon density: 2.265 g/cm3 RadL: 18.851 cm Nucl.Int.Length: 35.410 cm Imean: 81.000 eV ---> Element: Carbon ( ) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV + Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.969 cm Imean: 286.000 eV ---> Element: Iron ( ) Z = 26.0 N = 55.8 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % -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 2 # /testem/det/setMat Iron @@ -80,66 +47,65 @@ PhysicsList::SetCuts:CutLength : 1 km /run/beamOn 5 GammaToMuPair: gamma->mu+mu- Bethe Heitler process, SubType= 15 - good cross section parametrization from 422.634 MeV to 1e+12 GeV for all Z. + good cross section parametrization from 422.633 MeV to 1e+12 GeV for all Z. phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 1 PeV + PhotoElectric : Emin= 0 eV Emax= 1 PeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 1 PeV in 91 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 1 PeV + Klein-Nishina : Emin= 0 eV Emax= 1 PeV conv: for gamma SubType= 14 Lambda tables from 1.022 MeV to 1 PeV in 91 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 1 PeV + BetheHeitler : Emin= 0 eV Emax= 1 PeV msc: for e- SubType= 10 Lambda tables from 100 eV to 1 PeV in 91 bins, spline: 1 - RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 100 TeV + UrbanMsc93 : Emin= 0 eV Emax= 100 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 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= 1 PeV + MollerBhabha : Emin= 0 eV Emax= 1 PeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 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= 1 PeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 1 PeV AngularGenUrban AnnihiToMuPair: e+e->mu+mu- annihilation, atomic e- at rest, SubType=.6 threshold at 43.6931 GeV good description up to 1000 TeV for all Z. ee2hadr: for e+, integral: 1 SubType= 7 Lambda tables from 100 eV to 10 TeV in 91 bins, spline: 1 - e+ annihilation into hadrons active from 76.241 GeV to 1409 GeV + e+ annihilation into hadrons active from 76.2411 GeV to 1409 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eeToHadrons : Emin= 0 eV Emax= 10 TeV + eeToHadrons : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 1 PeV in 91 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 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= 1 PeV + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 1 PeV hhIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 1 PeV in 91 bins @@ -147,98 +113,100 @@ hhIoni: for anti_proton SubType= 2 finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.01 Delta-ray will not be produced; ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggNoD : Emin= 0 eV Emax= 2 MeV - BetheBlochNoD : Emin= 2 MeV Emax= 1 PeV + BraggNoD : Emin= 0 eV Emax= 2 MeV + BetheBlochNoD : Emin= 2 MeV Emax= 1 PeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 1 PeV in 91 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 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= 1 PeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 1 PeV hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 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= 1 PeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 1 PeV muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 1 PeV in 91 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= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 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= 1 PeV + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 1 PeV muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 1 PeV + MuBrem : Emin= 0 eV Emax= 1 PeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 1 PeV + muPairProd : Emin= 0 eV Emax= 1 PeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 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= 1 PeV + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 1 PeV muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 1 PeV + MuBrem : Emin= 0 eV Emax= 1 PeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 1 PeV + muPairProd : Emin= 0 eV Emax= 1 PeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 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= 1 PeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 1 PeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 1 PeV in 91 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 100 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 1 PeV in 91 bins Lambda tables from threshold to 1 PeV in 91 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= 1 PeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 1 PeV Region -- appears in world volume Root logical volume(s) : Iron @@ -327,9 +295,9 @@ Run Summary /gun/energy 1 TeV # /testem/phys/SetAnnihiToMuPairFac 10000 -The cross section for AnnihiToMuPair is artificially increased by the CrossSecFactor=1e+04 +The cross section for AnnihiToMuPair is artificially increased by the CrossSecFactor=10000 /testem/phys/SetAnnihiToHadronFac 10000 -### G4eeToHadronsMultiModel: The cross section for G4eeToHadronsMultiModel is increased by the Factor= 1e+04 +### G4eeToHadronsMultiModel: The cross section for G4eeToHadronsMultiModel is increased by the Factor= 10000 # /run/beamOn 5 @@ -448,62 +416,62 @@ Start Run processing. Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -250 m 0 fm 0 fm 1 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m 589 um 560 um 925 MeV 75.4 MeV 5.75 cm 5.75 cm Iron hhIoni - 2 -250 m 98.6 um 1.17 mm 862 MeV 63 MeV 5.15 cm 10.9 cm Iron hhIoni - 3 -250 m -713 um 1.36 mm 806 MeV 55.4 MeV 4.67 cm 15.6 cm Iron hhIoni - 4 -250 m -243 um 702 um 746 MeV 60.6 MeV 4.25 cm 19.8 cm Iron hhIoni - 5 -250 m 450 um 6.66 um 693 MeV 52.6 MeV 3.8 cm 23.6 cm Iron hhIoni - 6 -250 m 1.67 mm 1.3 mm 648 MeV 45 MeV 3.42 cm 27 cm Iron hhIoni - 7 -250 m 2.63 mm 2.33 mm 606 MeV 42.1 MeV 3.09 cm 30.1 cm Iron hhIoni - 8 -250 m 3.55 mm 3.05 mm 567 MeV 38.6 MeV 2.8 cm 32.9 cm Iron hhIoni - 9 -250 m 4.2 mm 3.11 mm 529 MeV 38.3 MeV 2.54 cm 35.5 cm Iron hhIoni - 10 -250 m 4.62 mm 4.29 mm 493 MeV 36.6 MeV 2.28 cm 37.8 cm Iron hhIoni - 11 -250 m 4.88 mm 4.56 mm 462 MeV 30.7 MeV 2.05 cm 39.8 cm Iron hhIoni - 12 -250 m 6.16 mm 4.38 mm 430 MeV 31.6 MeV 1.85 cm 41.7 cm Iron hhIoni - 13 -250 m 7.3 mm 3.93 mm 403 MeV 26.9 MeV 1.66 cm 43.3 cm Iron hhIoni - 14 -250 m 8.1 mm 3.99 mm 378 MeV 25.3 MeV 1.5 cm 44.8 cm Iron hhIoni - 15 -250 m 8.54 mm 4.62 mm 353 MeV 25 MeV 1.36 cm 46.2 cm Iron hhIoni - 16 -250 m 9.17 mm 5.49 mm 331 MeV 21.7 MeV 1.22 cm 47.4 cm Iron hhIoni - 17 -250 m 9.6 mm 6.03 mm 311 MeV 20.4 MeV 1.1 cm 48.5 cm Iron hhIoni - 18 -250 m 1.02 cm 6.94 mm 291 MeV 19.6 MeV 9.94 mm 49.5 cm Iron hhIoni - 19 -249 m 1.07 cm 7.61 mm 273 MeV 18.6 MeV 8.95 mm 50.4 cm Iron hhIoni - 20 -249 m 1.13 cm 8.52 mm 255 MeV 17.9 MeV 8.05 mm 51.2 cm Iron hhIoni - 21 -249 m 1.18 cm 9.52 mm 238 MeV 16.5 MeV 7.21 mm 51.9 cm Iron hhIoni - 22 -249 m 1.22 cm 1.04 cm 224 MeV 14.5 MeV 6.47 mm 52.6 cm Iron hhIoni - 23 -249 m 1.24 cm 1.1 cm 210 MeV 14.2 MeV 5.84 mm 53.1 cm Iron hhIoni - 24 -249 m 1.25 cm 1.16 cm 197 MeV 12.6 MeV 5.25 mm 53.7 cm Iron hhIoni - 25 -249 m 1.26 cm 1.21 cm 185 MeV 12.3 MeV 4.75 mm 54.1 cm Iron hhIoni - 26 -249 m 1.25 cm 1.25 cm 174 MeV 11.1 MeV 4.27 mm 54.6 cm Iron hhIoni - 27 -249 m 1.25 cm 1.3 cm 161 MeV 12.4 MeV 3.86 mm 55 cm Iron hhIoni - 28 -249 m 1.25 cm 1.32 cm 152 MeV 9.66 MeV 3.43 mm 55.3 cm Iron hhIoni - 29 -249 m 1.24 cm 1.34 cm 142 MeV 9.14 MeV 3.1 mm 55.6 cm Iron hhIoni - 30 -249 m 1.23 cm 1.37 cm 133 MeV 9.31 MeV 2.8 mm 55.9 cm Iron hhIoni - 31 -249 m 1.22 cm 1.4 cm 125 MeV 8.32 MeV 2.51 mm 56.1 cm Iron hhIoni - 32 -249 m 1.21 cm 1.43 cm 117 MeV 8.12 MeV 2.27 mm 56.4 cm Iron hhIoni - 33 -249 m 1.2 cm 1.46 cm 109 MeV 7.19 MeV 2.04 mm 56.6 cm Iron hhIoni - 34 -249 m 1.2 cm 1.49 cm 102 MeV 7.63 MeV 1.84 mm 56.7 cm Iron hhIoni - 35 -249 m 1.19 cm 1.52 cm 94.8 MeV 7.05 MeV 1.64 mm 56.9 cm Iron hhIoni - 36 -249 m 1.18 cm 1.55 cm 88.2 MeV 6.58 MeV 1.47 mm 57.1 cm Iron hhIoni - 37 -249 m 1.17 cm 1.58 cm 82.3 MeV 5.92 MeV 1.32 mm 57.2 cm Iron hhIoni - 38 -249 m 1.17 cm 1.6 cm 76 MeV 6.21 MeV 1.19 mm 57.3 cm Iron hhIoni - 39 -249 m 1.16 cm 1.62 cm 70.8 MeV 5.29 MeV 1.06 mm 57.4 cm Iron hhIoni - 40 -249 m 1.15 cm 1.63 cm 65.6 MeV 5.18 MeV 951 um 57.5 cm Iron hhIoni - 41 -249 m 1.14 cm 1.65 cm 61.1 MeV 4.5 MeV 854 um 57.6 cm Iron hhIoni - 42 -249 m 1.14 cm 1.66 cm 56.4 MeV 4.66 MeV 775 um 57.7 cm Iron hhIoni - 43 -249 m 1.14 cm 1.67 cm 51.8 MeV 4.62 MeV 697 um 57.7 cm Iron hhIoni - 44 -249 m 1.13 cm 1.68 cm 47.4 MeV 4.44 MeV 624 um 57.8 cm Iron hhIoni - 45 -249 m 1.13 cm 1.69 cm 43.1 MeV 4.25 MeV 559 um 57.9 cm Iron hhIoni - 46 -249 m 1.13 cm 1.7 cm 39.1 MeV 3.98 MeV 500 um 57.9 cm Iron hhIoni - 47 -249 m 1.12 cm 1.71 cm 35.3 MeV 3.79 MeV 449 um 58 cm Iron hhIoni - 48 -249 m 1.11 cm 1.72 cm 31.8 MeV 3.52 MeV 404 um 58 cm Iron hhIoni - 49 -249 m 1.11 cm 1.72 cm 28.5 MeV 3.31 MeV 365 um 58 cm Iron hhIoni - 50 -249 m 1.1 cm 1.72 cm 25 MeV 3.57 MeV 331 um 58.1 cm Iron hhIoni - 51 -249 m 1.1 cm 1.73 cm 21.3 MeV 3.65 MeV 297 um 58.1 cm Iron hhIoni - 52 -249 m 1.1 cm 1.73 cm 17.6 MeV 3.75 MeV 265 um 58.1 cm Iron hhIoni - 53 -249 m 1.09 cm 1.73 cm 13.8 MeV 3.77 MeV 234 um 58.1 cm Iron hhIoni - 54 -249 m 1.09 cm 1.74 cm 9.56 MeV 4.22 MeV 204 um 58.2 cm Iron hhIoni - 55 -249 m 1.09 cm 1.74 cm 4.71 MeV 4.85 MeV 166 um 58.2 cm Iron hhIoni - 56 -249 m 1.09 cm 1.74 cm 0 eV 4.71 MeV 73.4 um 58.2 cm Iron hhIoni + 1 -250 m 592 um 563 um 925 MeV 74.9 MeV 5.77 cm 5.77 cm Iron hhIoni + 2 -250 m 98.9 um 1.17 mm 863 MeV 62.6 MeV 5.17 cm 10.9 cm Iron hhIoni + 3 -250 m -718 um 1.36 mm 808 MeV 55 MeV 4.69 cm 15.6 cm Iron hhIoni + 4 -250 m -245 um 705 um 747 MeV 60.3 MeV 4.27 cm 19.9 cm Iron hhIoni + 5 -250 m 450 um 6.55 um 695 MeV 52.4 MeV 3.81 cm 23.7 cm Iron hhIoni + 6 -250 m 1.67 mm 1.3 mm 650 MeV 44.9 MeV 3.43 cm 27.1 cm Iron hhIoni + 7 -250 m 2.64 mm 2.34 mm 608 MeV 42 MeV 3.11 cm 30.2 cm Iron hhIoni + 8 -250 m 3.56 mm 3.06 mm 569 MeV 38.5 MeV 2.81 cm 33.1 cm Iron hhIoni + 9 -250 m 4.21 mm 3.12 mm 531 MeV 38.3 MeV 2.55 cm 35.6 cm Iron hhIoni + 10 -250 m 4.63 mm 4.31 mm 495 MeV 36.5 MeV 2.29 cm 37.9 cm Iron hhIoni + 11 -250 m 4.9 mm 4.57 mm 464 MeV 30.7 MeV 2.06 cm 40 cm Iron hhIoni + 12 -250 m 6.19 mm 4.4 mm 432 MeV 31.6 MeV 1.86 cm 41.8 cm Iron hhIoni + 13 -250 m 7.32 mm 3.94 mm 405 MeV 27 MeV 1.67 cm 43.5 cm Iron hhIoni + 14 -250 m 8.13 mm 4.01 mm 380 MeV 25.3 MeV 1.51 cm 45 cm Iron hhIoni + 15 -250 m 8.57 mm 4.64 mm 355 MeV 25.1 MeV 1.36 cm 46.4 cm Iron hhIoni + 16 -250 m 9.2 mm 5.51 mm 333 MeV 21.7 MeV 1.22 cm 47.6 cm Iron hhIoni + 17 -250 m 9.64 mm 6.05 mm 313 MeV 20.4 MeV 1.1 cm 48.7 cm Iron hhIoni + 18 -250 m 1.02 cm 6.96 mm 293 MeV 19.7 MeV 9.98 mm 49.7 cm Iron hhIoni + 19 -249 m 1.08 cm 7.64 mm 274 MeV 18.7 MeV 8.99 mm 50.6 cm Iron hhIoni + 20 -249 m 1.14 cm 8.54 mm 256 MeV 18 MeV 8.08 mm 51.4 cm Iron hhIoni + 21 -249 m 1.18 cm 9.55 mm 240 MeV 16.6 MeV 7.24 mm 52.1 cm Iron hhIoni + 22 -249 m 1.23 cm 1.04 cm 225 MeV 14.5 MeV 6.5 mm 52.8 cm Iron hhIoni + 23 -249 m 1.25 cm 1.11 cm 211 MeV 14.2 MeV 5.87 mm 53.4 cm Iron hhIoni + 24 -249 m 1.25 cm 1.17 cm 198 MeV 12.7 MeV 5.28 mm 53.9 cm Iron hhIoni + 25 -249 m 1.26 cm 1.21 cm 186 MeV 12.3 MeV 4.77 mm 54.4 cm Iron hhIoni + 26 -249 m 1.25 cm 1.26 cm 175 MeV 11.2 MeV 4.29 mm 54.8 cm Iron hhIoni + 27 -249 m 1.25 cm 1.3 cm 162 MeV 12.5 MeV 3.88 mm 55.2 cm Iron hhIoni + 28 -249 m 1.25 cm 1.33 cm 153 MeV 9.72 MeV 3.44 mm 55.5 cm Iron hhIoni + 29 -249 m 1.24 cm 1.35 cm 144 MeV 9.2 MeV 3.11 mm 55.8 cm Iron hhIoni + 30 -249 m 1.23 cm 1.38 cm 134 MeV 9.37 MeV 2.81 mm 56.1 cm Iron hhIoni + 31 -249 m 1.22 cm 1.4 cm 126 MeV 8.37 MeV 2.52 mm 56.4 cm Iron hhIoni + 32 -249 m 1.22 cm 1.44 cm 118 MeV 8.17 MeV 2.28 mm 56.6 cm Iron hhIoni + 33 -249 m 1.21 cm 1.47 cm 110 MeV 7.23 MeV 2.04 mm 56.8 cm Iron hhIoni + 34 -249 m 1.2 cm 1.49 cm 103 MeV 7.68 MeV 1.85 mm 57 cm Iron hhIoni + 35 -249 m 1.19 cm 1.52 cm 95.7 MeV 7.11 MeV 1.65 mm 57.1 cm Iron hhIoni + 36 -249 m 1.18 cm 1.55 cm 89 MeV 6.64 MeV 1.48 mm 57.3 cm Iron hhIoni + 37 -249 m 1.18 cm 1.58 cm 83 MeV 5.97 MeV 1.32 mm 57.4 cm Iron hhIoni + 38 -249 m 1.17 cm 1.61 cm 76.8 MeV 6.26 MeV 1.19 mm 57.5 cm Iron hhIoni + 39 -249 m 1.17 cm 1.62 cm 71.4 MeV 5.34 MeV 1.06 mm 57.6 cm Iron hhIoni + 40 -249 m 1.16 cm 1.64 cm 66.2 MeV 5.22 MeV 955 um 57.7 cm Iron hhIoni + 41 -249 m 1.15 cm 1.65 cm 61.7 MeV 4.54 MeV 858 um 57.8 cm Iron hhIoni + 42 -249 m 1.14 cm 1.66 cm 57 MeV 4.7 MeV 778 um 57.9 cm Iron hhIoni + 43 -249 m 1.14 cm 1.67 cm 52.3 MeV 4.66 MeV 700 um 58 cm Iron hhIoni + 44 -249 m 1.14 cm 1.69 cm 47.8 MeV 4.48 MeV 627 um 58 cm Iron hhIoni + 45 -249 m 1.13 cm 1.7 cm 43.6 MeV 4.29 MeV 561 um 58.1 cm Iron hhIoni + 46 -249 m 1.13 cm 1.71 cm 39.5 MeV 4.01 MeV 502 um 58.1 cm Iron hhIoni + 47 -249 m 1.13 cm 1.71 cm 35.7 MeV 3.82 MeV 451 um 58.2 cm Iron hhIoni + 48 -249 m 1.12 cm 1.72 cm 32.2 MeV 3.54 MeV 406 um 58.2 cm Iron hhIoni + 49 -249 m 1.11 cm 1.72 cm 28.8 MeV 3.34 MeV 366 um 58.3 cm Iron hhIoni + 50 -249 m 1.11 cm 1.73 cm 25.3 MeV 3.6 MeV 332 um 58.3 cm Iron hhIoni + 51 -249 m 1.11 cm 1.73 cm 21.6 MeV 3.68 MeV 298 um 58.3 cm Iron hhIoni + 52 -249 m 1.1 cm 1.73 cm 17.8 MeV 3.77 MeV 266 um 58.4 cm Iron hhIoni + 53 -249 m 1.1 cm 1.74 cm 14 MeV 3.78 MeV 235 um 58.4 cm Iron hhIoni + 54 -249 m 1.1 cm 1.74 cm 9.81 MeV 4.22 MeV 205 um 58.4 cm Iron hhIoni + 55 -249 m 1.1 cm 1.75 cm 4.95 MeV 4.86 MeV 168 um 58.4 cm Iron hhIoni + 56 -249 m 1.09 cm 1.75 cm 0 eV 4.95 MeV 79.1 um 58.4 cm Iron hhIoni ********************************************************************************************************* * G4Track Information: Particle = anti_proton, Track ID = 1, Parent ID = 0 @@ -511,62 +479,62 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -250 m 0 fm 0 fm 1 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m -718 um -381 um 925 MeV 75.3 MeV 5.75 cm 5.75 cm Iron hhIoni - 2 -250 m -3.03 mm 192 um 857 MeV 68.1 MeV 5.15 cm 10.9 cm Iron hhIoni - 3 -250 m -5.74 mm 2.53 mm 791 MeV 65.2 MeV 4.63 cm 15.5 cm Iron hhIoni - 4 -250 m -9.18 mm 4.89 mm 734 MeV 57.6 MeV 4.14 cm 19.7 cm Iron hhIoni - 5 -250 m -1.3 cm 6.56 mm 681 MeV 52.4 MeV 3.71 cm 23.4 cm Iron hhIoni - 6 -250 m -1.61 cm 8.16 mm 633 MeV 48 MeV 3.33 cm 26.7 cm Iron hhIoni - 7 -250 m -1.49 cm 9.05 mm 589 MeV 44.2 MeV 2.99 cm 29.7 cm Iron hhIoni - 8 -250 m -1.28 cm 9.64 mm 549 MeV 40.1 MeV 2.69 cm 32.4 cm Iron hhIoni - 9 -250 m -1.12 cm 1 cm 516 MeV 33.5 MeV 2.42 cm 34.8 cm Iron hhIoni - 10 -250 m -9.19 mm 1.03 cm 482 MeV 33.8 MeV 2.2 cm 37 cm Iron hhIoni - 11 -250 m -7.69 mm 9.84 mm 450 MeV 32 MeV 1.98 cm 39 cm Iron hhIoni - 12 -250 m -6.52 mm 9.28 mm 420 MeV 29.6 MeV 1.78 cm 40.8 cm Iron hhIoni - 13 -250 m -5.12 mm 8.66 mm 392 MeV 27.8 MeV 1.6 cm 42.4 cm Iron hhIoni - 14 -250 m -3.94 mm 8.68 mm 367 MeV 25.3 MeV 1.44 cm 43.8 cm Iron hhIoni - 15 -250 m -2.86 mm 8.54 mm 344 MeV 23.2 MeV 1.3 cm 45.1 cm Iron hhIoni - 16 -250 m -1.77 mm 8.51 mm 322 MeV 21.9 MeV 1.17 cm 46.3 cm Iron hhIoni - 17 -250 m -848 um 8.24 mm 301 MeV 20.9 MeV 1.05 cm 47.3 cm Iron hhIoni - 18 -250 m 316 um 8.04 mm 282 MeV 19.3 MeV 9.45 mm 48.3 cm Iron hhIoni - 19 -250 m 1.25 mm 7.95 mm 265 MeV 17 MeV 8.49 mm 49.1 cm Iron hhIoni - 20 -250 m 2.07 mm 7.83 mm 247 MeV 17.6 MeV 7.68 mm 49.9 cm Iron hhIoni - 21 -249 m 3.03 mm 7.74 mm 232 MeV 15.1 MeV 6.87 mm 50.6 cm Iron hhIoni - 22 -249 m 3.8 mm 7.72 mm 219 MeV 13.1 MeV 6.2 mm 51.2 cm Iron hhIoni - 23 -249 m 4.61 mm 7.67 mm 205 MeV 13.6 MeV 5.64 mm 51.8 cm Iron hhIoni - 24 -249 m 5.39 mm 7.45 mm 192 MeV 13.2 MeV 5.08 mm 52.3 cm Iron hhIoni - 25 -249 m 5.99 mm 7.22 mm 180 MeV 11.9 MeV 4.56 mm 52.7 cm Iron hhIoni - 26 -249 m 6.41 mm 6.97 mm 168 MeV 12.2 MeV 4.11 mm 53.1 cm Iron hhIoni - 27 -249 m 6.71 mm 6.71 mm 158 MeV 10.3 MeV 3.67 mm 53.5 cm Iron hhIoni - 28 -249 m 7.01 mm 6.45 mm 148 MeV 10 MeV 3.31 mm 53.8 cm Iron hhIoni - 29 -249 m 7.37 mm 6.2 mm 138 MeV 9.38 MeV 2.97 mm 54.1 cm Iron hhIoni - 30 -249 m 7.71 mm 6.08 mm 130 MeV 8.67 MeV 2.68 mm 54.4 cm Iron hhIoni - 31 -249 m 7.97 mm 5.95 mm 122 MeV 8.06 MeV 2.41 mm 54.6 cm Iron hhIoni - 32 -249 m 8.16 mm 5.91 mm 113 MeV 8.26 MeV 2.18 mm 54.9 cm Iron hhIoni - 33 -249 m 8.27 mm 5.9 mm 106 MeV 7.47 MeV 1.95 mm 55 cm Iron hhIoni - 34 -249 m 8.33 mm 5.93 mm 98.7 MeV 7.2 MeV 1.75 mm 55.2 cm Iron hhIoni - 35 -249 m 8.38 mm 5.99 mm 91.9 MeV 6.82 MeV 1.57 mm 55.4 cm Iron hhIoni - 36 -249 m 8.47 mm 6.04 mm 85.5 MeV 6.33 MeV 1.4 mm 55.5 cm Iron hhIoni - 37 -249 m 8.58 mm 6.1 mm 79.5 MeV 6.08 MeV 1.26 mm 55.6 cm Iron hhIoni - 38 -249 m 8.7 mm 6.15 mm 73.9 MeV 5.55 MeV 1.13 mm 55.8 cm Iron hhIoni - 39 -249 m 8.82 mm 6.21 mm 69 MeV 4.95 MeV 1.01 mm 55.9 cm Iron hhIoni - 40 -249 m 8.95 mm 6.24 mm 64 MeV 4.92 MeV 917 um 55.9 cm Iron hhIoni - 41 -249 m 9.1 mm 6.27 mm 59.3 MeV 4.7 MeV 826 um 56 cm Iron hhIoni - 42 -249 m 9.21 mm 6.29 mm 54.8 MeV 4.48 MeV 745 um 56.1 cm Iron hhIoni - 43 -249 m 9.3 mm 6.35 mm 50.6 MeV 4.25 MeV 671 um 56.2 cm Iron hhIoni - 44 -249 m 9.39 mm 6.39 mm 46.5 MeV 4.06 MeV 606 um 56.2 cm Iron hhIoni - 45 -249 m 9.48 mm 6.43 mm 42.5 MeV 4.02 MeV 547 um 56.3 cm Iron hhIoni - 46 -249 m 9.54 mm 6.47 mm 38.8 MeV 3.72 MeV 492 um 56.3 cm Iron hhIoni - 47 -249 m 9.57 mm 6.51 mm 35 MeV 3.77 MeV 445 um 56.4 cm Iron hhIoni - 48 -249 m 9.62 mm 6.54 mm 31.4 MeV 3.66 MeV 400 um 56.4 cm Iron hhIoni - 49 -249 m 9.67 mm 6.57 mm 27.7 MeV 3.72 MeV 360 um 56.5 cm Iron hhIoni - 50 -249 m 9.7 mm 6.59 mm 24.2 MeV 3.43 MeV 322 um 56.5 cm Iron hhIoni - 51 -249 m 9.71 mm 6.61 mm 20.5 MeV 3.7 MeV 290 um 56.5 cm Iron hhIoni - 52 -249 m 9.72 mm 6.62 mm 16.9 MeV 3.63 MeV 258 um 56.5 cm Iron hhIoni - 53 -249 m 9.72 mm 6.61 mm 12.9 MeV 4.01 MeV 229 um 56.6 cm Iron hhIoni - 54 -249 m 9.71 mm 6.62 mm 8.58 MeV 4.3 MeV 197 um 56.6 cm Iron hhIoni - 55 -249 m 9.71 mm 6.63 mm 3.28 MeV 5.3 MeV 155 um 56.6 cm Iron hhIoni - 56 -249 m 9.71 mm 6.63 mm 0 eV 3.28 MeV 41 um 56.6 cm Iron hhIoni + 1 -250 m -722 um -383 um 925 MeV 74.8 MeV 5.77 cm 5.77 cm Iron hhIoni + 2 -250 m -3.05 mm 193 um 858 MeV 67.6 MeV 5.18 cm 10.9 cm Iron hhIoni + 3 -250 m -5.77 mm 2.54 mm 793 MeV 64.9 MeV 4.65 cm 15.6 cm Iron hhIoni + 4 -250 m -9.23 mm 4.92 mm 735 MeV 57.3 MeV 4.15 cm 19.7 cm Iron hhIoni + 5 -250 m -1.31 cm 6.6 mm 683 MeV 52.2 MeV 3.73 cm 23.5 cm Iron hhIoni + 6 -250 m -1.62 cm 8.2 mm 635 MeV 47.9 MeV 3.34 cm 26.8 cm Iron hhIoni + 7 -250 m -1.5 cm 9.1 mm 591 MeV 44.1 MeV 3 cm 29.8 cm Iron hhIoni + 8 -250 m -1.29 cm 9.7 mm 551 MeV 40 MeV 2.7 cm 32.5 cm Iron hhIoni + 9 -250 m -1.13 cm 1.01 cm 518 MeV 33.5 MeV 2.43 cm 34.9 cm Iron hhIoni + 10 -250 m -9.27 mm 1.03 cm 484 MeV 33.7 MeV 2.2 cm 37.1 cm Iron hhIoni + 11 -250 m -7.77 mm 9.91 mm 452 MeV 32 MeV 1.99 cm 39.1 cm Iron hhIoni + 12 -250 m -6.59 mm 9.35 mm 422 MeV 29.6 MeV 1.79 cm 40.9 cm Iron hhIoni + 13 -250 m -5.19 mm 8.73 mm 395 MeV 27.8 MeV 1.61 cm 42.5 cm Iron hhIoni + 14 -250 m -4.01 mm 8.75 mm 369 MeV 25.4 MeV 1.45 cm 44 cm Iron hhIoni + 15 -250 m -2.93 mm 8.61 mm 346 MeV 23.3 MeV 1.3 cm 45.3 cm Iron hhIoni + 16 -250 m -1.84 mm 8.58 mm 324 MeV 21.9 MeV 1.17 cm 46.4 cm Iron hhIoni + 17 -250 m -913 um 8.31 mm 303 MeV 21 MeV 1.06 cm 47.5 cm Iron hhIoni + 18 -250 m 252 um 8.11 mm 284 MeV 19.3 MeV 9.48 mm 48.5 cm Iron hhIoni + 19 -250 m 1.19 mm 8.02 mm 267 MeV 17 MeV 8.52 mm 49.3 cm Iron hhIoni + 20 -250 m 2.01 mm 7.91 mm 249 MeV 17.7 MeV 7.71 mm 50.1 cm Iron hhIoni + 21 -249 m 2.97 mm 7.82 mm 234 MeV 15.1 MeV 6.9 mm 50.8 cm Iron hhIoni + 22 -249 m 3.74 mm 7.8 mm 221 MeV 13.1 MeV 6.23 mm 51.4 cm Iron hhIoni + 23 -249 m 4.55 mm 7.75 mm 207 MeV 13.7 MeV 5.67 mm 52 cm Iron hhIoni + 24 -249 m 5.33 mm 7.53 mm 194 MeV 13.3 MeV 5.1 mm 52.5 cm Iron hhIoni + 25 -249 m 5.93 mm 7.3 mm 182 MeV 12 MeV 4.58 mm 52.9 cm Iron hhIoni + 26 -249 m 6.35 mm 7.05 mm 169 MeV 12.3 MeV 4.13 mm 53.3 cm Iron hhIoni + 27 -249 m 6.66 mm 6.79 mm 159 MeV 10.4 MeV 3.68 mm 53.7 cm Iron hhIoni + 28 -249 m 6.95 mm 6.53 mm 149 MeV 10.1 MeV 3.32 mm 54 cm Iron hhIoni + 29 -249 m 7.31 mm 6.28 mm 139 MeV 9.44 MeV 2.99 mm 54.3 cm Iron hhIoni + 30 -249 m 7.65 mm 6.16 mm 131 MeV 8.72 MeV 2.69 mm 54.6 cm Iron hhIoni + 31 -249 m 7.92 mm 6.02 mm 123 MeV 8.11 MeV 2.42 mm 54.8 cm Iron hhIoni + 32 -249 m 8.1 mm 5.99 mm 114 MeV 8.3 MeV 2.18 mm 55.1 cm Iron hhIoni + 33 -249 m 8.22 mm 5.97 mm 107 MeV 7.51 MeV 1.95 mm 55.3 cm Iron hhIoni + 34 -249 m 8.28 mm 6.01 mm 99.6 MeV 7.25 MeV 1.75 mm 55.4 cm Iron hhIoni + 35 -249 m 8.33 mm 6.07 mm 92.7 MeV 6.88 MeV 1.57 mm 55.6 cm Iron hhIoni + 36 -249 m 8.42 mm 6.12 mm 86.3 MeV 6.38 MeV 1.41 mm 55.7 cm Iron hhIoni + 37 -249 m 8.53 mm 6.18 mm 80.2 MeV 6.13 MeV 1.26 mm 55.9 cm Iron hhIoni + 38 -249 m 8.64 mm 6.23 mm 74.6 MeV 5.6 MeV 1.13 mm 56 cm Iron hhIoni + 39 -249 m 8.77 mm 6.29 mm 69.6 MeV 5 MeV 1.02 mm 56.1 cm Iron hhIoni + 40 -249 m 8.9 mm 6.32 mm 64.6 MeV 4.96 MeV 920 um 56.2 cm Iron hhIoni + 41 -249 m 9.05 mm 6.35 mm 59.9 MeV 4.74 MeV 830 um 56.2 cm Iron hhIoni + 42 -249 m 9.16 mm 6.37 mm 55.4 MeV 4.52 MeV 748 um 56.3 cm Iron hhIoni + 43 -249 m 9.25 mm 6.43 mm 51.1 MeV 4.29 MeV 674 um 56.4 cm Iron hhIoni + 44 -249 m 9.34 mm 6.47 mm 47 MeV 4.09 MeV 608 um 56.5 cm Iron hhIoni + 45 -249 m 9.43 mm 6.51 mm 42.9 MeV 4.05 MeV 549 um 56.5 cm Iron hhIoni + 46 -249 m 9.49 mm 6.55 mm 39.2 MeV 3.75 MeV 494 um 56.6 cm Iron hhIoni + 47 -249 m 9.52 mm 6.59 mm 35.4 MeV 3.8 MeV 447 um 56.6 cm Iron hhIoni + 48 -249 m 9.57 mm 6.62 mm 31.7 MeV 3.69 MeV 402 um 56.6 cm Iron hhIoni + 49 -249 m 9.62 mm 6.64 mm 28 MeV 3.75 MeV 361 um 56.7 cm Iron hhIoni + 50 -249 m 9.65 mm 6.67 mm 24.5 MeV 3.45 MeV 323 um 56.7 cm Iron hhIoni + 51 -249 m 9.66 mm 6.69 mm 20.8 MeV 3.73 MeV 291 um 56.7 cm Iron hhIoni + 52 -249 m 9.67 mm 6.69 mm 17.1 MeV 3.65 MeV 259 um 56.8 cm Iron hhIoni + 53 -249 m 9.67 mm 6.69 mm 13.1 MeV 4.01 MeV 230 um 56.8 cm Iron hhIoni + 54 -249 m 9.66 mm 6.69 mm 8.82 MeV 4.3 MeV 198 um 56.8 cm Iron hhIoni + 55 -249 m 9.66 mm 6.7 mm 3.51 MeV 5.3 MeV 157 um 56.8 cm Iron hhIoni + 56 -249 m 9.66 mm 6.71 mm 0 eV 3.51 MeV 45.5 um 56.8 cm Iron hhIoni Run terminated. Run Summary Number of events processed : 2 @@ -579,8 +547,6 @@ Run Summary Number of process calls ---> hhIoni : 112 # -Graphics systems deleted. -Visualization Manager deleting... UserDetectorConstruction deleted. UserPhysicsList deleted. UserRunAction deleted. diff --git a/examples/extended/electromagnetic/TestEm6/src/EventAction.cc b/examples/extended/electromagnetic/TestEm6/src/EventAction.cc index 593c73e4be..e41bada5fe 100644 --- a/examples/extended/electromagnetic/TestEm6/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.6 2006/06/29 16:57:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.8 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -66,21 +66,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - 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...... diff --git a/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc index 13dda74823..816e93d651 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.14 2009/11/27 14:54:58 hbu Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.15 2010/03/31 09:26:09 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -41,7 +41,6 @@ #include "G4AntiProton.hh" #include "G4Neutron.hh" #include "G4AntiNeutron.hh" -//#include "G4GenericIon.hh" #include "G4GammaConversionToMuons.hh" @@ -194,7 +193,7 @@ void PhysicsList::ConstructEM() //positron // to make the process of e+e- annihilation more visible, // do not enable the other standard processes: - //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/electromagnetic/TestEm6/src/RunAction.cc b/examples/extended/electromagnetic/TestEm6/src/RunAction.cc index 908b117a8e..91a1cf979b 100644 --- a/examples/extended/electromagnetic/TestEm6/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.14 2009/11/27 14:54:58 hbu Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: RunAction.cc,v 1.15 2010/11/09 21:30:47 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -58,7 +58,7 @@ RunAction::RunAction() // Creating a tree mapped to an hbook file. G4bool readOnly = false; G4bool createNew = true; - G4String options = "--noErrors export=root uncompress"; + G4String options = ""; //tree = tf->create("testem6.hbook","hbook",readOnly,createNew,options); tree = tf->create("testem6.root", "root",readOnly,createNew,options); //tree = tf->create("testem6.XML" ,"XML" ,readOnly,createNew,options); diff --git a/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc index 002e441e56..ae4ce7bcd9 100644 --- a/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: SteppingAction.cc,v 1.10 2009/11/27 14:54:58 hbu Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: SteppingAction.cc,v 1.11 2010/12/03 14:54:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -70,7 +70,7 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) G4double Eplus(0), Eminus(0); G4ThreeVector Pplus , Pminus; - G4TrackVector* secondary = fpSteppingManager->GetSecondary(); + const G4TrackVector* secondary = fpSteppingManager->GetSecondary(); for (size_t lp=0; lp<(*secondary).size(); lp++) { if ((*secondary)[lp]->GetDefinition()==G4MuonPlus::MuonPlusDefinition()) { Eplus = (*secondary)[lp]->GetTotalEnergy(); diff --git a/examples/extended/electromagnetic/TestEm6/vis.mac b/examples/extended/electromagnetic/TestEm6/vis.mac index 07ccd1deeb..766744467d 100644 --- a/examples/extended/electromagnetic/TestEm6/vis.mac +++ b/examples/extended/electromagnetic/TestEm6/vis.mac @@ -9,29 +9,77 @@ # /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 OGLIX -# -####/vis/open DAWNFILE -# -# Draw scene -/vis/viewer/zoom 1.4 -/vis/viewer/flush -# -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate -# -/testem/event/drawTracks all -# # set magnetic field for visualization only, and limit # the step for a proper visualization of the tracjectories # /testem/det/setField 100 tesla /testem/tracking/stepMax 10 m +# +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm7/GNUmakefile b/examples/extended/electromagnetic/TestEm7/GNUmakefile index b1be8e6035..fc87332c56 100644 --- a/examples/extended/electromagnetic/TestEm7/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm7/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.11 2008/09/21 16:03:10 vnivanch Exp $ +# $Id: GNUmakefile,v 1.12 2010/09/17 18:45:43 maire Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -25,4 +25,4 @@ visclean: rm -f .DAWN_* histclean: - rm ${G4WORKDIR}/tmp/${G4SYSTEM}/${G4TARGET}/Histo.o + rm ${G4WORKDIR}/tmp/${G4SYSTEM}/${G4TARGET}/HistoManager.o diff --git a/examples/extended/electromagnetic/TestEm7/History b/examples/extended/electromagnetic/TestEm7/History index d9aadb75c1..4d413de2e7 100644 --- a/examples/extended/electromagnetic/TestEm7/History +++ b/examples/extended/electromagnetic/TestEm7/History @@ -1,4 +1,4 @@ -$Id: History,v 1.91 2009/12/01 12:13:49 vnivanch Exp $ +$Id: History,v 1.100 2010/11/19 16:01:37 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,36 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +19-11-10 V.Ivant (testem7-V09-03-08) +- Added ion scattering model into SS physics constructor + +13-10-10 V.Ivant (testem7-V09-03-07) +- PhysListEmStandardNR - removed obsolete set of nuclear stopping flag + +21-09-10 mma (testem7-V09-03-06) +- add HistoManager in cvs ! + +17-09-10 mma (testem7-V09-03-05) +- use 'standard' HistoManager +- fixe normalisation factor in histos 2 and 3 + +21-06-10 V.Ivant (testem7-V09-03-04) +- Cleanup Histo according to expert recommendations + +06-06-10 J.Perl (testem7-V09-03-03) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem7-V09-03-02) +- Updated vis usage + +04-06-10 V.Ivant (testem7-V09-03-01) +- Added extra EM option "ionGasModels", which diseble effective ion + charge and enable to use new models G4BraggIonGasModel, + G4BetheBlochIonGasModel; added extra macro ionGasC12.mac + +21-05-10 mma (testem7-V09-03-00) +- TestEm7.cc : introduction of G4UIExecutive + 01-12-09 V.Ivant (testem7-V09-02-04) - An attempt to fix SLC5 compillation problem diff --git a/examples/extended/electromagnetic/TestEm7/README b/examples/extended/electromagnetic/TestEm7/README index 14abfa1eb4..6b23a143b1 100644 --- a/examples/extended/electromagnetic/TestEm7/README +++ b/examples/extended/electromagnetic/TestEm7/README @@ -1,4 +1,4 @@ -$Id: README,v 1.22 2009/11/21 22:02:51 maire Exp $ +$Id: README,v 1.23 2010/09/17 18:45:43 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -143,13 +143,13 @@ $Id: README,v 1.22 2009/11/21 22:02:51 maire Exp $ the thickness of the absorber (with a minimum of 100 bins). The total energy deposited is plotted in MeV/mm per incident particle. - The next histogram alowing to have a zoom around the Bragg peak. Its binning + The next histogram allows to have a zoom around the Bragg peak. Its bining should be defined via UI command: - /testem/histo/setHisto 1 nbins xmin xmax + /testem/histo/setHisto 2 nbins xmin xmax unit - The last histogram shows the projectile range. Its binning should be defined + The last histogram shows the projectile range. Its bining should be defined similary by the UI command: - /testem/histo/setHisto 2 nbins xmin xmax + /testem/histo/setHisto 3 nbins xmin xmax unit 8- USING HISTOGRAMS @@ -164,8 +164,8 @@ $Id: README,v 1.22 2009/11/21 22:02:51 maire Exp $ gmake histclean gmake - It is possible to choose the format of the histogram file (hbook, root, XML): - /testem/histo/setHistoType root + One can choose the format of the histogram file (hbook, root, XML): + /testem/histo/setFileType root The default name "testem7" can be changed: - /testem/histo/setHistoName myname + /testem/histo/setFileName myname diff --git a/examples/extended/electromagnetic/TestEm7/TestEm7.cc b/examples/extended/electromagnetic/TestEm7/TestEm7.cc index 7eeef23704..a1643d56c2 100644 --- a/examples/extended/electromagnetic/TestEm7/TestEm7.cc +++ b/examples/extended/electromagnetic/TestEm7/TestEm7.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TestEm7.cc,v 1.8 2007/06/22 12:44:42 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm7.cc,v 1.10 2010/09/17 18:45:43 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....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" @@ -44,11 +42,16 @@ #include "TrackingAction.hh" #include "SteppingAction.hh" #include "SteppingVerbose.hh" +#include "HistoManager.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) { @@ -63,20 +66,27 @@ int main(int argc,char** argv) { G4RunManager * runManager = new G4RunManager; //set mandatory initialization classes - DetectorConstruction* det; - PhysicsList* phys; - PrimaryGeneratorAction* kin; - runManager->SetUserInitialization(det = new DetectorConstruction); - runManager->SetUserInitialization(phys = new PhysicsList); - runManager->SetUserAction(kin = new PrimaryGeneratorAction(det)); + // + DetectorConstruction* det = new DetectorConstruction(); + PhysicsList* phys = new PhysicsList(); + + runManager->SetUserInitialization(det); + runManager->SetUserInitialization(phys); //set user action classes - RunAction* run; + // + HistoManager* histo = new HistoManager(); + PrimaryGeneratorAction* kin = new PrimaryGeneratorAction(det); + RunAction* run = new RunAction(det,phys,histo,kin); + EventAction* event = new EventAction(); + TrackingAction* track = new TrackingAction(det,histo,run); + SteppingAction* step = new SteppingAction(det,histo,run); - runManager->SetUserAction(run = new RunAction(det,phys,kin)); - runManager->SetUserAction(new EventAction); - runManager->SetUserAction(new TrackingAction(run)); - runManager->SetUserAction(new SteppingAction(det,run)); + runManager->SetUserAction(kin); + runManager->SetUserAction(run); + runManager->SetUserAction(event); + runManager->SetUserAction(track); + runManager->SetUserAction(step); //get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); @@ -95,14 +105,11 @@ int main(int argc,char** argv) { 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 G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif #ifdef G4VIS_USE delete visManager; diff --git a/examples/extended/electromagnetic/TestEm7/TestEm7.out b/examples/extended/electromagnetic/TestEm7/TestEm7.out index 582fbef70f..a12c69751a 100644 --- a/examples/extended/electromagnetic/TestEm7/TestEm7.out +++ b/examples/extended/electromagnetic/TestEm7/TestEm7.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -25,22 +25,22 @@ ***** Table : Nb of materials = 5 ***** - Material: Water density: 1.000 g/cm3 RadL: 36.084 cm Nucl.Int.Length: 75.424 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.084 cm Nucl.Int.Length: 75.520 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.81 % ElmAbundance 33.33 % - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: TechVacuum density: 0.010 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.486 km Imean: 85.684 eV temperature: 273.15 K pressure: 0.02 atm + Material: TechVacuum density: 0.010 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.515 km Imean: 85.703 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 = 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204322111.300 pc Nucl.Int.Length: 114334693.470 pc Imean: 19.200 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: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.505 cm Imean: 78.000 eV + Material: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.517 cm Imean: 78.000 eV ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 11.19 % ElmAbundance 66.67 % @@ -72,270 +72,265 @@ PhysicsList::SetCuts:CutLength : 1 mm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 10 TeV + KleinNishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 Lambda tables from 1.022 MeV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 1, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+ SubType= 5 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 10 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ParamICRU73 : Emin= 0 eV Emax= 10 TeV + ParamICRU73 : Emin= 0 eV Emax= 10 TeV nuclearStopping: for GenericIon SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV nuclearStopping: for alpha SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu+ SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu- SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -361,6 +356,7 @@ Index : 1 used in the geometry : Yes recalculation needed : No Initial seed (index) = 0 Current couple of seeds = 9876, 54321 ---------------------------------------- +----> SetHisto 1: Edep (MeV/mm) along absorber (mm); 200 bins from 0 mm to 200 mm Start Run processing. ---> Begin of Event: 0 @@ -385,28 +381,28 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=13.75s Real=14s Sys=0.25s + User=9.75s Real=10.22s Sys=0.38s The run consists of 10000 proton of 160 MeV through 20 cm of G4_WATER (density: 1 g/cm3 ) - Projected Range= 17.7727 cm rms= 2.54611 mm - Mean number of primary steps = 188.629 - Total energy deposit= 159.99 MeV - NIEL energy deposit = 0 eV + Projected Range= 17.7594 cm rms= 2.23313 mm + Mean number of primary steps = 188.481 + Total energy deposit= 159.968 MeV + niel energy deposit = 0 eV --------------------------------------------------------- Cumulated Doses : Edep Edep/Ebeam Dose - tally 0: 4.559 GeV 0.284938 % 9.13041e-05 Gy - tally 1: 4.87327 GeV 0.304579 % 9.75979e-05 Gy - tally 2: 3.37987 GeV 0.211242 % 6.76893e-05 Gy - tally 3: 1.97759 GeV 0.123599 % 3.96055e-05 Gy + tally 0: 4.50091 GeV 0.281307 % 9.01407e-05 Gy + tally 1: 4.94668 GeV 0.309168 % 9.90683e-05 Gy + tally 2: 3.3704 GeV 0.21065 % 6.74997e-05 Gy + tally 3: 1.97088 GeV 0.12318 % 3.94712e-05 Gy --------------------------------------------------------- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1859251859, 449244414 + Current couple of seeds = 523607080, 1885213620 ---------------------------------------- /testem/stepMax 100 mm /gun/particle ion @@ -436,36 +432,37 @@ Index : 1 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1859251859, 449244414 + Current couple of seeds = 523607080, 1885213620 ---------------------------------------- +----> SetHisto 1: Edep (MeV/mm) along absorber (mm); 100 bins from 0 mm to 200 mm Start Run processing. ---> Begin of Event: 0 Run terminated. Run Summary Number of events processed : 1000 - User=5.31s Real=5.34s Sys=0.03s + User=4.25s Real=4.66s Sys=0.03s The run consists of 1000 C12[0.0] of 3.5 GeV through 20 cm of G4_WATER (density: 1 g/cm3 ) - Projected Range= 16.4848 cm rms= 465.979 um - Mean number of primary steps = 126.855 + Projected Range= 16.4901 cm rms= 460.523 um + Mean number of primary steps = 126.726 Total energy deposit= 3.49997 GeV - NIEL energy deposit = 1.33984 MeV + niel energy deposit = 1.33994 MeV --------------------------------------------------------- Cumulated Doses : Edep Edep/Ebeam Dose - tally 0: 11.5747 GeV 0.330706 % 0.000231809 Gy - tally 1: 13.3384 GeV 0.381096 % 0.00026713 Gy - tally 2: 15.449 GeV 0.441401 % 0.000309401 Gy - tally 3: 23.9302 GeV 0.68372 % 0.000479255 Gy + tally 0: 11.3229 GeV 0.32351 % 0.000226765 Gy + tally 1: 13.3651 GeV 0.381861 % 0.000267666 Gy + tally 2: 15.6286 GeV 0.446531 % 0.000312997 Gy + tally 3: 22.3733 GeV 0.639237 % 0.000448074 Gy --------------------------------------------------------- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 365270694, 1200194373 + Current couple of seeds = 1582101882, 1972663789 ---------------------------------------- /testem/det/setMat G4_Cu /testem/det/tallyMat G4_Cu @@ -473,22 +470,22 @@ Run Summary ***** Table : Nb of materials = 6 ***** - Material: Water density: 1.000 g/cm3 RadL: 36.084 cm Nucl.Int.Length: 75.424 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.084 cm Nucl.Int.Length: 75.520 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.81 % ElmAbundance 33.33 % - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: TechVacuum density: 0.010 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.486 km Imean: 85.684 eV temperature: 273.15 K pressure: 0.02 atm + Material: TechVacuum density: 0.010 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.515 km Imean: 85.703 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 = 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204322111.300 pc Nucl.Int.Length: 114334693.470 pc Imean: 19.200 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: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.505 cm Imean: 78.000 eV + Material: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.517 cm Imean: 78.000 eV ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 11.19 % ElmAbundance 66.67 % @@ -497,7 +494,7 @@ Run Summary ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 88.81 % ElmAbundance 33.33 % - Material: G4_Cu density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.576 cm Imean: 322.000 eV + Material: G4_Cu density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.514 cm Imean: 322.000 eV ---> Element: Cu (Cu) Z = 29.0 N = 63.6 A = 63.55 g/mole ---> Isotope: Cu63 Z = 29 N = 63 A = 62.93 g/mole abundance: 69.17 % ---> Isotope: Cu65 Z = 29 N = 65 A = 64.93 g/mole abundance: 30.83 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % @@ -521,270 +518,265 @@ tally 3: position = 5 0 0 cm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 10 TeV + KleinNishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 Lambda tables from 1.022 MeV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 1, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+ SubType= 5 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 10 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ParamICRU73 : Emin= 0 eV Emax= 10 TeV + ParamICRU73 : Emin= 0 eV Emax= 10 TeV nuclearStopping: for GenericIon SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV nuclearStopping: for alpha SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu+ SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu- SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -813,26 +805,27 @@ Index : 2 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 365270694, 1200194373 + Current couple of seeds = 1582101882, 1972663789 ---------------------------------------- +----> SetHisto 1: Edep (MeV/mm) along absorber (mm); 100 bins from 0 mm to 200 mm Start Run processing. ---> Begin of Event: 0 Run terminated. Run Summary Number of events processed : 1000 - User=5.91s Real=5.92s Sys=0.02s + User=2.68s Real=2.7s Sys=0.03s The run consists of 1000 kaon+ of 100 MeV through 20 cm of G4_Cu (density: 8.96 g/cm3 ) - Projected Range= 2.12213 cm rms= 1.20971 mm - Mean number of primary steps = 20.086 - Total energy deposit= 286.907 MeV - NIEL energy deposit = 0 eV + Projected Range= 2.07701 cm rms= 1.18551 mm + Mean number of primary steps = 19.942 + Total energy deposit= 285.724 MeV + niel energy deposit = 0 eV --------------------------------------------------------- Cumulated Doses : Edep Edep/Ebeam Dose - tally 0: 2.45947 GeV 2.45947 % 5.49736e-06 Gy + tally 0: 2.7242 GeV 2.7242 % 6.08907e-06 Gy tally 1: 0 eV 0 % 0 Gy tally 2: 0 eV 0 % 0 Gy tally 3: 0 eV 0 % 0 Gy @@ -842,7 +835,7 @@ Run Summary --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 822432760, 421322046 + Current couple of seeds = 279794962, 1831587299 ---------------------------------------- /testem/det/setMat TechVacuum /testem/det/tallyMat TechVacuum @@ -850,22 +843,22 @@ Run Summary ***** Table : Nb of materials = 6 ***** - Material: Water density: 1.000 g/cm3 RadL: 36.084 cm Nucl.Int.Length: 75.424 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.084 cm Nucl.Int.Length: 75.520 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.81 % ElmAbundance 33.33 % - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: TechVacuum density: 0.010 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.486 km Imean: 85.684 eV temperature: 273.15 K pressure: 0.02 atm + Material: TechVacuum density: 0.010 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.515 km Imean: 85.703 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 = 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204322111.300 pc Nucl.Int.Length: 114334693.470 pc Imean: 19.200 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: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.505 cm Imean: 78.000 eV + Material: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.517 cm Imean: 78.000 eV ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 11.19 % ElmAbundance 66.67 % @@ -874,7 +867,7 @@ Run Summary ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 88.81 % ElmAbundance 33.33 % - Material: G4_Cu density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.576 cm Imean: 322.000 eV + Material: G4_Cu density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.514 cm Imean: 322.000 eV ---> Element: Cu (Cu) Z = 29.0 N = 63.6 A = 63.55 g/mole ---> Isotope: Cu63 Z = 29 N = 63 A = 62.93 g/mole abundance: 69.17 % ---> Isotope: Cu65 Z = 29 N = 65 A = 64.93 g/mole abundance: 30.83 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % @@ -898,270 +891,265 @@ tally 3: position = 5 0 0 cm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 10 TeV + KleinNishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 Lambda tables from 1.022 MeV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 1, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+ SubType= 5 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 10 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ParamICRU73 : Emin= 0 eV Emax= 10 TeV + ParamICRU73 : Emin= 0 eV Emax= 10 TeV nuclearStopping: for GenericIon SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV nuclearStopping: for alpha SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu+ SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu- SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -1195,26 +1183,27 @@ Index : 3 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 822432760, 421322046 + Current couple of seeds = 279794962, 1831587299 ---------------------------------------- +----> SetHisto 1: Edep (MeV/mm) along absorber (mm); 100 bins from 0 mm to 200 mm Start Run processing. ---> Begin of Event: 0 Run terminated. Run Summary Number of events processed : 100 - User=0.01s Real=0.01s Sys=0s + User=0.01s Real=0.01s Sys=0.01s The run consists of 100 alpha of 265 eV through 20 cm of TechVacuum (density: 0.01 kg/m3 ) - Projected Range= 325.482 um rms= 87.4618 um - Mean number of primary steps = 5.29 + Projected Range= 333.282 um rms= 92.1669 um + Mean number of primary steps = 5.41 Total energy deposit= 265 eV - NIEL energy deposit = 177.214 eV + niel energy deposit = 177.711 eV --------------------------------------------------------- Cumulated Doses : Edep Edep/Ebeam Dose - tally 0: 12.3285 keV 46.5227 % 2.46906e-05 Gy + tally 0: 13.0387 keV 49.2025 % 2.61128e-05 Gy tally 1: 0 eV 0 % 0 Gy tally 2: 0 eV 0 % 0 Gy tally 3: 0 eV 0 % 0 Gy @@ -1224,7 +1213,7 @@ Run Summary --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1681173262, 636173046 + Current couple of seeds = 30587785, 1288276993 ---------------------------------------- /testem/det/setMat G4_WATER /testem/det/tallyMat G4_WATER @@ -1232,22 +1221,22 @@ Run Summary ***** Table : Nb of materials = 6 ***** - Material: Water density: 1.000 g/cm3 RadL: 36.084 cm Nucl.Int.Length: 75.424 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.084 cm Nucl.Int.Length: 75.520 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.81 % ElmAbundance 33.33 % - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: TechVacuum density: 0.010 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.486 km Imean: 85.684 eV temperature: 273.15 K pressure: 0.02 atm + Material: TechVacuum density: 0.010 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.515 km Imean: 85.703 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 = 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204322111.300 pc Nucl.Int.Length: 114334693.470 pc Imean: 19.200 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: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.505 cm Imean: 78.000 eV + Material: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.517 cm Imean: 78.000 eV ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 11.19 % ElmAbundance 66.67 % @@ -1256,7 +1245,7 @@ Run Summary ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 88.81 % ElmAbundance 33.33 % - Material: G4_Cu density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.576 cm Imean: 322.000 eV + Material: G4_Cu density: 8.960 g/cm3 RadL: 1.436 cm Nucl.Int.Length: 15.514 cm Imean: 322.000 eV ---> Element: Cu (Cu) Z = 29.0 N = 63.6 A = 63.55 g/mole ---> Isotope: Cu63 Z = 29 N = 63 A = 62.93 g/mole abundance: 69.17 % ---> Isotope: Cu65 Z = 29 N = 65 A = 64.93 g/mole abundance: 30.83 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % @@ -1280,270 +1269,265 @@ tally 3: position = 5 0 0 cm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 10 TeV + KleinNishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 Lambda tables from 1.022 MeV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 2, latDisplacement: 1, skin= 1, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+ SubType= 5 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 10 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ParamICRU73 : Emin= 0 eV Emax= 10 TeV + ParamICRU73 : Emin= 0 eV Emax= 10 TeV nuclearStopping: for GenericIon SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV nuclearStopping: for alpha SubType= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV + ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for kaon+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for kaon- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 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 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV muMsc: for mu+ SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu+ SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 10 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 10 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu- SubType= 1 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 Lambda tables from 100 eV to 10 TeV in 220 bins, spline: 1 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 finalRange(mm)= 0.05, 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- SubType= 3 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 10 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 dE/dx and range tables from 100 eV to 10 TeV in 220 bins Lambda tables from threshold to 10 TeV in 220 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 10 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -1577,26 +1561,27 @@ Index : 3 used in the geometry : No recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1681173262, 636173046 + Current couple of seeds = 30587785, 1288276993 ---------------------------------------- +----> SetHisto 1: Edep (MeV/mm) along absorber (mm); 100 bins from 0 mm to 200 mm Start Run processing. ---> Begin of Event: 0 Run terminated. Run Summary Number of events processed : 100 - User=0.04s Real=0.04s Sys=0s + User=0.03s Real=0.04s Sys=0s The run consists of 100 alpha of 100 MeV through 20 cm of G4_WATER (density: 1 g/cm3 ) - Projected Range= 6.42516 mm rms= 47.4931 um - Mean number of primary steps = 30.46 + Projected Range= 6.41782 mm rms= 45.4125 um + Mean number of primary steps = 30.54 Total energy deposit= 100 MeV - NIEL energy deposit = 57.4656 keV + niel energy deposit = 57.6142 keV --------------------------------------------------------- Cumulated Doses : Edep Edep/Ebeam Dose - tally 0: 877.944 MeV 8.77944 % 1.75828e-05 Gy + tally 0: 1.02554 GeV 10.2554 % 2.05387e-05 Gy tally 1: 0 eV 0 % 0 Gy tally 2: 0 eV 0 % 0 Gy tally 3: 0 eV 0 % 0 Gy @@ -1606,7 +1591,7 @@ Run Summary --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1784061889, 788625207 + Current couple of seeds = 830612461, 2139546157 ---------------------------------------- G4 kernel has come to Quit state. diff --git a/examples/extended/electromagnetic/TestEm7/alpha.mac b/examples/extended/electromagnetic/TestEm7/alpha.mac index 1ae9db961a..bde78d6c78 100644 --- a/examples/extended/electromagnetic/TestEm7/alpha.mac +++ b/examples/extended/electromagnetic/TestEm7/alpha.mac @@ -1,4 +1,4 @@ -# $Id: alpha.mac,v 1.3 2009/11/21 22:02:51 maire Exp $ +# $Id: alpha.mac,v 1.4 2010/09/17 18:45:43 maire Exp $ # # Macro file for "TestEm7.cc" # (can be run in batch, without graphic) @@ -13,8 +13,8 @@ /testem/det/tallyMat G4_WATER # #/testem/phys/addPhysics local -#/testem/phys/addPhysics emstandard_opt0 -#/testem/phys/addPhysics emstandard_opt3 +#/testem/phys/addPhysics emstandard_opt0 +#/testem/phys/addPhysics emstandard_opt3 # /run/initialize # @@ -27,10 +27,10 @@ # /testem/event/printModulo 1000 # -/testem/histo/fileName alpha -/testem/histo/fileType root -/testem/histo/setHisto 1 100 75 85 -/testem/histo/setHisto 2 100 75 85 +/testem/histo/setFileName alpha +/testem/histo/setFileType root +/testem/histo/setHisto 2 100 75 85 mm +/testem/histo/setHisto 3 100 75 85 mm # -/run/beamOn 1000 +/run/beamOn 10000 # diff --git a/examples/extended/electromagnetic/TestEm7/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm7/include/HistoManager.hh new file mode 100644 index 0000000000..0791721a19 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm7/include/HistoManager.hh @@ -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: HistoManager.hh,v 1.1 2010/09/21 17:55:58 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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 HistoMessenger; + +const G4int MaxHisto = 4; + +//....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 e, G4double weight = 1.0); + void Scale (G4int, G4double); + void RemoveHisto (G4int); + void PrintHisto (G4int); + + G4bool HistoExist (G4int id) {return exist[id];} + G4double GetHistoUnit(G4int id) {return Unit[id];} + G4double GetBinWidth (G4int id) {return Width[id];} + + private: + + G4String fileName[2]; + G4String fileType; + G4String fileOption; + 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]; + + G4bool factoryOn; + HistoMessenger* histoMessenger; + + private: + void saveAscii(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/electromagnetic/TestEm7/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm7/include/HistoMessenger.hh index e48fc5cbe0..64cbd7fd17 100644 --- a/examples/extended/electromagnetic/TestEm7/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm7/include/HistoMessenger.hh @@ -23,13 +23,9 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // - +// $Id: HistoMessenger.hh,v 1.2 2010/09/17 18:45:43 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: HistoMessenger.hh,v 1.1 2008/08/22 18:30:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -41,10 +37,11 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class Histo; +class HistoManager; class G4UIdirectory; class G4UIcommand; class G4UIcmdWithAString; +class G4UIcmdWithAnInteger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -52,22 +49,26 @@ class HistoMessenger: public G4UImessenger { public: - HistoMessenger(Histo* ); + HistoMessenger(HistoManager* ); ~HistoMessenger(); void SetNewValue(G4UIcommand* ,G4String ); private: - Histo* histo; + HistoManager* histoManager; G4UIdirectory* histoDir; G4UIcmdWithAString* factoryCmd; - G4UIcmdWithAString* fileCmd; + G4UIcmdWithAString* typeCmd; + G4UIcmdWithAString* optionCmd; G4UIcommand* histoCmd; + G4UIcmdWithAnInteger* prhistoCmd; + G4UIcmdWithAnInteger* rmhistoCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif + diff --git a/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh index 3cc0eaf3e8..a8a36343ff 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.hh,v 1.9 2009/11/21 22:02:51 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.hh,v 1.10 2010/06/04 15:42:23 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // @@ -68,6 +68,8 @@ public: private: + void AddIonGasModels(); + G4double cutForGamma; G4double cutForElectron; G4double cutForPositron; diff --git a/examples/extended/electromagnetic/TestEm7/include/RunAction.hh b/examples/extended/electromagnetic/TestEm7/include/RunAction.hh index c7597aab91..09b533d718 100644 --- a/examples/extended/electromagnetic/TestEm7/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/RunAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.hh,v 1.14 2008/08/22 18:30:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.hh,v 1.15 2010/09/17 18:45:43 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -37,16 +37,17 @@ class DetectorConstruction; class PhysicsList; +class HistoManager; class PrimaryGeneratorAction; + class G4Run; -class Histo; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class RunAction : public G4UserRunAction { public: - RunAction(DetectorConstruction*, PhysicsList*, + RunAction(DetectorConstruction*, PhysicsList*, HistoManager*, PrimaryGeneratorAction*); virtual ~RunAction(); @@ -55,12 +56,6 @@ public: void FillTallyEdep(G4int n, G4double e) {tallyEdep[n] += e;}; void FillEdep(G4double de, G4double eni) {edeptot += de; eniel += eni;}; - - G4double GetBinLength() {return binLength;}; - G4double GetLength() {return length;}; - G4double GetOffsetX() {return offsetX;} - - void FillHisto(G4int id, G4double x, G4double weight = 1.0); void AddProjRange (G4double x) {projRange += x; projRange2 += x*x; nRange++;}; @@ -70,17 +65,13 @@ private: DetectorConstruction* detector; PhysicsList* physics; + HistoManager* histoManager; PrimaryGeneratorAction* kinematic; G4double* tallyEdep; - G4double binLength; - G4double offsetX; - G4double length; G4double projRange, projRange2; G4double edeptot, eniel; G4int nPrimarySteps; G4int nRange; - - Histo* histo; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh index 2e6b038b95..921993eadc 100644 --- a/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: SteppingAction.hh,v 1.2 2006/06/29 16:58:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingAction.hh,v 1.3 2010/09/17 18:45:43 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,6 +35,7 @@ #include "G4UserSteppingAction.hh" class DetectorConstruction; +class HistoManager; class RunAction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -42,13 +43,14 @@ class RunAction; class SteppingAction : public G4UserSteppingAction { public: - SteppingAction(DetectorConstruction*,RunAction*); + SteppingAction(DetectorConstruction*, HistoManager*, RunAction*); ~SteppingAction(); void UserSteppingAction(const G4Step*); private: DetectorConstruction* detector; + HistoManager* histoManager; RunAction* runAction; }; diff --git a/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh index 85a0cf504a..ad36618fa0 100644 --- a/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TrackingAction.hh,v 1.2 2006/06/29 16:58:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TrackingAction.hh,v 1.3 2010/09/17 18:45:43 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,6 +35,8 @@ #include "G4UserTrackingAction.hh" #include "globals.hh" +class DetectorConstruction; +class HistoManager; class RunAction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -42,13 +44,15 @@ class RunAction; class TrackingAction : public G4UserTrackingAction { public: - TrackingAction(RunAction*); + TrackingAction(DetectorConstruction*, HistoManager*, RunAction*); ~TrackingAction() {}; void PostUserTrackingAction(const G4Track*); private: - RunAction* runAction; + DetectorConstruction* detector; + HistoManager* histoManager; + RunAction* runAction; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/ionC12.mac b/examples/extended/electromagnetic/TestEm7/ionC12.mac index bb3f26aa5a..8f0e970365 100644 --- a/examples/extended/electromagnetic/TestEm7/ionC12.mac +++ b/examples/extended/electromagnetic/TestEm7/ionC12.mac @@ -1,4 +1,4 @@ -# $Id: ionC12.mac,v 1.23 2009/11/21 22:02:51 maire Exp $ +# $Id: ionC12.mac,v 1.24 2010/09/17 18:45:43 maire Exp $ # # Macro file for "TestEm7.cc" # (can be run in batch, without graphic) @@ -39,9 +39,9 @@ # /testem/event/printModulo 1000 # -/testem/histo/fileName c12 -/testem/histo/fileType root -/testem/histo/setHisto 1 100 80 90 -/testem/histo/setHisto 2 100 80 90 +/testem/histo/setFileName c12 +/testem/histo/setFileType root +/testem/histo/setHisto 2 100 80 90 mm +/testem/histo/setHisto 3 100 80 90 mm # /run/beamOn 1000 diff --git a/examples/extended/electromagnetic/TestEm7/ionGasC12.mac b/examples/extended/electromagnetic/TestEm7/ionGasC12.mac new file mode 100644 index 0000000000..2e2ac55b2b --- /dev/null +++ b/examples/extended/electromagnetic/TestEm7/ionGasC12.mac @@ -0,0 +1,51 @@ +# $Id: ionGasC12.mac,v 1.2 2010/09/17 18:45:43 maire Exp $ +# +# Macro file for "TestEm7.cc" +# (can be run in batch, without graphic) +# +# +/control/verbose 2 +/run/verbose 2 +/tracking/verbose 0 +# +/testem/det/setMat G4_WATER +/testem/det/setSizeX 20 cm +/testem/det/setSizeYZ 20 cm +# +/testem/det/tallyMat G4_WATER +/testem/det/tallySize 2. 2. 2. mm +/testem/det/tallyPosition -9.9 0. 0. cm +/testem/det/tallyPosition -5. 0. 0. cm +/testem/det/tallyPosition 0. 0. 0. cm +/testem/det/tallyPosition 5. 0. 0. cm +# +#/testem/phys/addPhysics standardNR +/testem/phys/addPhysics emstandard_opt0 +#/testem/phys/addPhysics emstandard_opt2 +/testem/phys/addPhysics ionGasModels +# +/run/initialize +# +/gun/particle ion +/gun/ion 6 12 3 +#/gun/ion 6 12 1 +/gun/energy 2.4 GeV +# +# beam size +#/testem/gun/rndm 2 mm +# +# step limit +/testem/phys/setCuts 0.5 mm +#/testem/stepMax 0.1 mm +# +/testem/event/printModulo 1000 +# +/testem/histo/setFileName c12 +/testem/histo/setFileType root +/testem/histo/setHisto 2 100 80 90 mm +/testem/histo/setHisto 3 100 80 90 mm +# +/run/beamOn 1000 +/gun/particle ion +/gun/ion 6 12 1 +/run/beamOn 1000 diff --git a/examples/extended/electromagnetic/TestEm7/nucl.in b/examples/extended/electromagnetic/TestEm7/nucl.in new file mode 100644 index 0000000000..557a71f822 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm7/nucl.in @@ -0,0 +1,64 @@ +# $Id: nucl.in,v 1.1 2010/05/19 09:40:30 vnivanch Exp $ +# +# Macro file for "TestEm7.cc" +# (can be run in batch, without graphic) +# +# +/control/verbose 1 +/run/verbose 1 +/tracking/verbose 0 +# +/testem/det/setMat G4_WATER +/testem/det/setSizeX 20 cm +/testem/det/setSizeYZ 20 cm +# +/testem/det/tallyMat G4_WATER +/testem/det/tallySize 2. 2. 2. mm +/testem/det/tallyPosition -9.9 0. 0. cm +/testem/det/tallyPosition -5. 0. 0. cm +/testem/det/tallyPosition 0. 0. 0. cm +/testem/det/tallyPosition 5. 0. 0. cm +# +#/testem/phys/addPhysics emstandard_opt3 +/testem/phys/addPhysics local +# +/run/initialize +# +/gun/particle proton +/gun/energy 160 MeV +# beam size +/testem/gun/rndm 3 mm +# +/testem/event/printModulo 1000 +/testem/stepMax 1 mm +# +/run/beamOn 1000 +exit +# +/testem/stepMax 100 mm +/gun/particle ion +/gun/ion 6 12 6 +/gun/energy 3.5 GeV +/run/beamOn 1000 +# +/testem/det/setMat G4_Cu +/testem/det/tallyMat G4_Cu +/testem/det/update +/gun/particle kaon+ +/gun/energy 100 MeV +/run/beamOn 1000 +# +/testem/det/setMat TechVacuum +/testem/det/tallyMat TechVacuum +/testem/det/update +/gun/particle alpha +/gun/energy 0.265 keV +/run/beamOn 100 +# +/testem/det/setMat G4_WATER +/testem/det/tallyMat G4_WATER +/testem/det/update +/gun/particle alpha +/gun/energy 100 MeV +/run/beamOn 100 +# diff --git a/examples/extended/electromagnetic/TestEm7/proton.mac b/examples/extended/electromagnetic/TestEm7/proton.mac index 42f2c2103a..c1fa290217 100644 --- a/examples/extended/electromagnetic/TestEm7/proton.mac +++ b/examples/extended/electromagnetic/TestEm7/proton.mac @@ -1,4 +1,4 @@ -# $Id: proton.mac,v 1.18 2009/11/21 22:02:51 maire Exp $ +# $Id: proton.mac,v 1.19 2010/09/17 18:45:43 maire Exp $ # # Macro file for "TestEm7.cc" # (can be run in batch, without graphic) @@ -27,10 +27,10 @@ # /testem/event/printModulo 1000 # -/testem/histo/fileName p100opt3cut1 -/testem/histo/fileType root -/testem/histo/setHisto 1 100 70 80 -/testem/histo/setHisto 2 100 70 80 +/testem/histo/setFileName essai +/testem/histo/setFileType root +/testem/histo/setHisto 2 100 70 80 mm +/testem/histo/setHisto 3 100 70 80 mm # /run/beamOn 10000 # diff --git a/examples/extended/electromagnetic/TestEm7/src/EventAction.cc b/examples/extended/electromagnetic/TestEm7/src/EventAction.cc index 2bc2d0ce35..27977346ad 100644 --- a/examples/extended/electromagnetic/TestEm7/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm7/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.4 2006/06/29 16:58:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.6 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,9 +34,6 @@ #include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -66,21 +63,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - 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(1000); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(1000); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm7/src/HistoManager.cc new file mode 100644 index 0000000000..79df7032bb --- /dev/null +++ b/examples/extended/electromagnetic/TestEm7/src/HistoManager.cc @@ -0,0 +1,270 @@ +// +// ******************************************************************** +// * 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.1 2010/09/21 17:55:58 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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() +:af(0),tree(0),factoryOn(false) +{ +#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] = "testem7"; + fileType = "root"; + fileOption = "export=root"; + // 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=0; kcreateHistogram1D( Label[k], Title[k], + Nbins[k], Vmin[k], Vmax[k]); + factoryOn = true; + } + } + delete hf; + 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 e, G4double weight) +{ + if (ih > MaxHisto) { + G4cout << "---> warning from HistoManager::FillHisto() : histo " << ih + << "does not exist; e= " << e << " w= " << weight << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if(exist[ih]) histo[ih]->fill(e/Unit[ih], weight); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::SetHisto(G4int ih, + G4int nbins, G4double valmin, G4double valmax, const G4String& unit) +{ + if (ih > MaxHisto) { + G4cout << "---> warning from HistoManager::SetHisto() : histo " << ih + << "does not exist" << G4endl; + return; + } + + const G4String id[] = { "0", "1", "2", "3" }; + const G4String title[] = + { "dummy", //0 + "Edep (MeV/mm) along absorber ", //1 + "Edep (MeV/mm) along absorber zoomed", //2 + "projectile range" //3 + }; + + + 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::Scale(G4int ih, G4double fac) +{ + if (ih > MaxHisto) { + G4cout << "---> warning from HistoManager::Scale() : histo " << ih + << "does not exist (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...... + diff --git a/examples/extended/electromagnetic/TestEm7/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm7/src/HistoMessenger.cc index d0a5a484d4..563ce8a63e 100644 --- a/examples/extended/electromagnetic/TestEm7/src/HistoMessenger.cc +++ b/examples/extended/electromagnetic/TestEm7/src/HistoMessenger.cc @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: HistoMessenger.cc,v 1.1 2008/08/22 18:30:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoMessenger.cc,v 1.2 2010/09/17 18:45:43 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,32 +33,38 @@ #include -#include "Histo.hh" +#include "HistoManager.hh" #include "G4UIdirectory.hh" #include "G4UIcommand.hh" #include "G4UIparameter.hh" #include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -HistoMessenger::HistoMessenger(Histo* manager) -:histo (manager) +HistoMessenger::HistoMessenger(HistoManager* manager) +:histoManager (manager) { histoDir = new G4UIdirectory("/testem/histo/"); histoDir->SetGuidance("histograms control"); - factoryCmd = new G4UIcmdWithAString("/testem/histo/fileName",this); + factoryCmd = new G4UIcmdWithAString("/testem/histo/setFileName",this); factoryCmd->SetGuidance("set name for the histograms file"); - fileCmd = new G4UIcmdWithAString("/testem/histo/fileType",this); - fileCmd->SetGuidance("set type (hbook, XML) for the histograms file"); + typeCmd = new G4UIcmdWithAString("/testem/histo/setFileType",this); + typeCmd->SetGuidance("set histograms file type: hbook, root, XML"); + typeCmd->SetCandidates("hbook root XML"); + optionCmd = new G4UIcmdWithAString("/testem/histo/setFileOption",this); + optionCmd->SetGuidance("set option for the histograms file"); + histoCmd = new G4UIcommand("/testem/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 0 to MaxHisto-1"); + ih->SetGuidance("histo number : from 1 to MaxHisto"); + ih->SetParameterRange("ih>0"); histoCmd->SetParameter(ih); // G4UIparameter* nbBins = new G4UIparameter("nbBins",'i',false); @@ -69,50 +74,71 @@ HistoMessenger::HistoMessenger(Histo* manager) // G4UIparameter* valMin = new G4UIparameter("valMin",'d',false); valMin->SetGuidance("valMin, expressed in unit"); - histoCmd->SetParameter(valMin); - // + histoCmd->SetParameter(valMin); + // G4UIparameter* valMax = new G4UIparameter("valMax",'d',false); valMax->SetGuidance("valMax, expressed in 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("/testem/histo/printHisto",this); + prhistoCmd->SetGuidance("print histo #id on ascii file"); + prhistoCmd->SetParameterName("id",false); + prhistoCmd->SetRange("id>0"); + + rmhistoCmd = new G4UIcmdWithAnInteger("/testem/histo/removeHisto",this); + rmhistoCmd->SetGuidance("desactivate histo #id"); + rmhistoCmd->SetParameterName("id",false); + rmhistoCmd->SetRange("id>0"); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... HistoMessenger::~HistoMessenger() { - delete fileCmd; + delete rmhistoCmd; + delete prhistoCmd; delete histoCmd; + delete optionCmd; + delete typeCmd; delete factoryCmd; delete histoDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void HistoMessenger::SetNewValue(G4UIcommand* command,G4String newValues) +void HistoMessenger::SetNewValue(G4UIcommand* command, G4String newValues) { if (command == factoryCmd) - histo->setFileName(newValues); + histoManager->SetFileName(newValues); - if (command == fileCmd) - histo->setFileType(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; + { G4int ih,nbBins; G4double vmin,vmax; char unts[30]; + const char* t = newValues; + std::istringstream is(t); is >> ih >> nbBins >> vmin >> vmax >> unts; G4String unit = unts; G4double vUnit = 1. ; - if(unit != "none") vUnit = G4UIcommand::ValueOf(unit); - if(vUnit <= 0.0) vUnit = 1.; - histo->setHisto1D(ih,nbBins,vmin,vmax,vUnit); + 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)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandard.cc index 37e3248a07..5403398164 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandard.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysListEmStandard.cc,v 1.20 2009/11/21 22:02:51 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysListEmStandard.cc,v 1.21 2010/05/19 09:37:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -131,6 +131,7 @@ void PhysListEmStandard::ConstructProcess() pmanager->AddProcess(hIoni, -1, 2, 2); pmanager->AddProcess(new G4hBremsstrahlung, -1, 3, 3); pmanager->AddProcess(new G4hPairProduction, -1, 4, 4); + pmanager->AddProcess(new G4NuclearStopping, -1, 5,-1); } else if( particleName == "alpha" || particleName == "He3" ) { diff --git a/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardNR.cc b/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardNR.cc index 26c931d2f8..dfa8784b9d 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardNR.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardNR.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysListEmStandardNR.cc,v 1.4 2009/11/21 22:02:51 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysListEmStandardNR.cc,v 1.5 2010/10/13 12:21:56 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -121,7 +121,6 @@ void PhysListEmStandardNR::ConstructProcess() pmanager->AddProcess(msc, -1, 1,1); G4ionIonisation* ion = new G4ionIonisation(); - ion->ActivateNuclearStopping(false); pmanager->AddProcess(ion, -1, 2, 2); pmanager->AddDiscreteProcess(nucr); @@ -135,7 +134,6 @@ void PhysListEmStandardNR::ConstructProcess() pmanager->AddProcess(msc, -1, 1,1); G4ionIonisation* ion = new G4ionIonisation(); - ion->ActivateNuclearStopping(false); ion->SetStepFunction(0.1, um); pmanager->AddProcess(ion, -1, 2, 2); diff --git a/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardSS.cc b/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardSS.cc index 1537371bcf..329196ce8c 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardSS.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardSS.cc @@ -23,13 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysListEmStandardSS.cc,v 1.8 2008/11/16 19:17:39 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysListEmStandardSS.cc,v 1.10 2010/11/19 16:26:15 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "PhysListEmStandardSS.hh" + #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" @@ -38,6 +39,7 @@ #include "G4PhotoElectricEffect.hh" #include "G4CoulombScattering.hh" +#include "G4IonCoulombScatteringModel.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -83,13 +85,13 @@ void PhysListEmStandardSS::ConstructProcess() } else if (particleName == "e-") { //electron - pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddDiscreteProcess(new G4CoulombScattering); pmanager->AddProcess(new G4eIonisation, -1, 1, 1); pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); } else if (particleName == "e+") { //positron - pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddDiscreteProcess(new G4CoulombScattering); pmanager->AddProcess(new G4eIonisation, -1, 1, 1); pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); @@ -97,22 +99,30 @@ void PhysListEmStandardSS::ConstructProcess() } else if (particleName == "mu+" || particleName == "mu-" ) { //muon - pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddDiscreteProcess(new G4CoulombScattering); pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); - } else if (particleName == "alpha" || - particleName == "He3" || - particleName == "GenericIon") { - pmanager->AddDiscreteProcess(new G4CoulombScattering); + } else if (particleName == "alpha" || particleName == "He3") { pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + G4CoulombScattering* cs = new G4CoulombScattering(); + cs->AddEmModel(0, new G4IonCoulombScatteringModel()); + cs->SetBuildTableFlag(false); + pmanager->AddDiscreteProcess(cs); + + } else if (particleName == "GenericIon" ) { + pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); + G4CoulombScattering* cs = new G4CoulombScattering(); + cs->AddEmModel(0, new G4IonCoulombScatteringModel()); + cs->SetBuildTableFlag(false); + pmanager->AddDiscreteProcess(cs); } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino - pmanager->AddDiscreteProcess(new G4CoulombScattering); + pmanager->AddDiscreteProcess(new G4CoulombScattering); pmanager->AddProcess(new G4hIonisation, -1, 1, 1); } } @@ -134,12 +144,12 @@ void PhysListEmStandardSS::ConstructProcess() //energy loss // - emOptions.SetStepFunction(0.2,50*um); //default=(0.2, 1*mm) - emOptions.SetLinearLossLimit(1.e-2); //default + emOptions.SetStepFunction(0.2, 100*um); //default=(0.2, 1*mm) + emOptions.SetLinearLossLimit(1.e-2); //default //ionization // - emOptions.SetSubCutoff(false); //default + emOptions.SetSubCutoff(false); //default } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm7/src/PhysicsList.cc index 16701950a9..ea4396c4e2 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.38 2009/11/21 22:02:51 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.39 2010/06/04 15:42:23 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -52,6 +52,7 @@ #include "G4IonBinaryCascadePhysics.hh" #include "G4LossTableManager.hh" +#include "G4EmConfigurator.hh" #include "G4UnitsTable.hh" #include "G4ProcessManager.hh" @@ -61,6 +62,10 @@ #include "G4IonFluctuations.hh" #include "G4IonParametrisedLossModel.hh" +#include "G4UniversalFluctuation.hh" + +#include "G4BraggIonGasModel.hh" +#include "G4BetheBlochIonGasModel.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -179,6 +184,12 @@ void PhysicsList::AddPhysicsList(const G4String& name) delete emPhysicsList; emPhysicsList = new PhysListEmStandardSS(name); + } else if (name == "ionGasModels") { + + AddPhysicsList("emstandard_opt0"); + emName = name; + AddIonGasModels(); + } else if (name == "standardNR") { emName = name; @@ -291,3 +302,26 @@ void PhysicsList::SetCutForPositron(G4double cut) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PhysicsList::AddIonGasModels() +{ + G4EmConfigurator* em_config = G4LossTableManager::Instance()->EmConfigurator(); + theParticleIterator->reset(); + while ((*theParticleIterator)()) + { + G4ParticleDefinition* particle = theParticleIterator->value(); + G4String partname = particle->GetParticleName(); + if(partname == "alpha" || partname == "He3" || partname == "GenericIon") { + G4BraggIonGasModel* mod1 = new G4BraggIonGasModel(); + G4BetheBlochIonGasModel* mod2 = new G4BetheBlochIonGasModel(); + G4double eth = 2.*MeV*particle->GetPDGMass()/proton_mass_c2; + em_config->SetExtraEmModel(partname,"ionIoni",mod1,"",0.0,eth, + new G4IonFluctuations()); + em_config->SetExtraEmModel(partname,"ionIoni",mod2,"",eth,100*TeV, + new G4UniversalFluctuation()); + + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm7/src/RunAction.cc b/examples/extended/electromagnetic/TestEm7/src/RunAction.cc index 24ec0f9d0b..9c22e6bbcf 100644 --- a/examples/extended/electromagnetic/TestEm7/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm7/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.24 2008/08/22 18:30:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.cc,v 1.25 2010/09/17 18:45:43 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,6 +33,7 @@ #include "DetectorConstruction.hh" #include "PhysicsList.hh" #include "StepMax.hh" +#include "HistoManager.hh" #include "PrimaryGeneratorAction.hh" #include "G4Run.hh" @@ -41,21 +42,14 @@ #include "G4ios.hh" #include "Randomize.hh" -#include "Histo.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... RunAction::RunAction(DetectorConstruction* det, PhysicsList* phys, - PrimaryGeneratorAction* kin) -:detector(det), physics(phys), kinematic(kin) + HistoManager* histo, PrimaryGeneratorAction* kin) +:detector(det), physics(phys),histoManager(histo), kinematic(kin) { tallyEdep = new G4double[MaxTally]; - binLength = offsetX = 0.; - histo = new Histo(); - histo->setFileName("testem7"); - histo->add1D("1","Edep (MeV/mm) along absorber (mm)", 100, 0, 100); - histo->add1D("2","Edep (MeV/mm) along absorber zoomed (mm)", 100, 0, 100); - histo->add1D("3","Projectile range (mm)", 100, 0, 100); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -63,14 +57,6 @@ RunAction::RunAction(DetectorConstruction* det, PhysicsList* phys, RunAction::~RunAction() { delete [] tallyEdep; - delete histo; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void RunAction::FillHisto(G4int ih, G4double x, G4double weight) -{ - histo->fill(ih, x, weight); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -93,19 +79,16 @@ void RunAction::BeginOfRunAction(const G4Run* aRun) kinematic->ResetEbeamCumul(); // define "1" histogram binning - length = detector->GetAbsorSizeX(); + // histogram "1" is defined by the length of the target + // zoomed histograms are defined by UI command + G4double length = detector->GetAbsorSizeX(); G4double stepMax = physics->GetStepMaxProcess()->GetMaxStep(); - const G4int nbmin = 100; + G4int nbmin = 100; G4int nbBins = (G4int)(0.5 + length/stepMax); if (nbBins < nbmin) nbBins = nbmin; - binLength = length/nbBins; - offsetX = 0.5*length; - - // histogram "1" is defined by the length of the target - // zoomed histograms are defined by UI command - histo->setHisto1D(0, nbBins, 0, length, mm); + histoManager->SetHisto(1, nbBins, 0., length, "mm"); - histo->book(); + histoManager->book(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -146,13 +129,13 @@ void RunAction::EndOfRunAction(const G4Run* aRun) << G4endl; G4cout << " Mean number of primary steps = "<< nstep << G4endl; - //compute energy deposition and NIEL + //compute energy deposition and niel // edeptot /= NbofEvents; G4cout << " Total energy deposit= "<< G4BestUnit(edeptot,"Energy") << G4endl; eniel /= NbofEvents; - G4cout << " NIEL energy deposit = "<< G4BestUnit(eniel,"Energy") + G4cout << " niel energy deposit = "<< G4BestUnit(eniel,"Energy") << G4endl; //print dose in tallies @@ -175,12 +158,16 @@ void RunAction::EndOfRunAction(const G4Run* aRun) G4cout << G4endl; } - // normalize histogram - G4double fac = (mm/MeV)/(NbofEvents * binLength); - for (G4int j=0; j<3; j++) {histo->scale(j, fac);} + // normalize histograms + for (G4int j=1; j<3; j++) { + G4double binWidth = histoManager->GetBinWidth(j); + G4double fac = (mm/MeV)/(NbofEvents * binWidth); + histoManager->Scale(j, fac); + } + histoManager->Scale(3, 1./NbofEvents); // save and clean histo - histo->save(); + histoManager->save(); // show Rndm status CLHEP::HepRandom::showEngineStatus(); diff --git a/examples/extended/electromagnetic/TestEm7/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm7/src/SteppingAction.cc index 48ee283940..59c10a84ae 100644 --- a/examples/extended/electromagnetic/TestEm7/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm7/src/SteppingAction.cc @@ -23,22 +23,24 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: SteppingAction.cc,v 1.14 2008/08/22 18:30:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingAction.cc,v 1.15 2010/09/17 18:45:43 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "SteppingAction.hh" #include "DetectorConstruction.hh" +#include "HistoManager.hh" #include "RunAction.hh" #include "G4SteppingManager.hh" #include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -SteppingAction::SteppingAction(DetectorConstruction* det,RunAction* RuAct) -:detector(det),runAction(RuAct) +SteppingAction::SteppingAction(DetectorConstruction* det, HistoManager* histo, + RunAction* RuAct) +:detector(det), histoManager(histo), runAction(RuAct) { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -48,26 +50,27 @@ SteppingAction::~SteppingAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void SteppingAction::UserSteppingAction(const G4Step* aStep) +void SteppingAction::UserSteppingAction(const G4Step* step) { - G4double edep = aStep->GetTotalEnergyDeposit(); + G4double edep = step->GetTotalEnergyDeposit(); if (edep <= 0.) return; + + G4double niel = step->GetNonIonizingEnergyDeposit(); - // G4cout << "edep= " << edep << "NIEL= " << aStep->GetNonIonizingEnergyDeposit()<FillEdep(edep, niel); - runAction->FillEdep(edep,aStep->GetNonIonizingEnergyDeposit()); - - if(aStep->GetTrack()->GetTrackID() == 1) runAction->AddPrimaryStep(); + if (step->GetTrack()->GetTrackID() == 1) runAction->AddPrimaryStep(); //Bragg curve // - G4StepPoint* prePoint = aStep->GetPreStepPoint(); - G4StepPoint* postPoint = aStep->GetPostStepPoint(); + G4StepPoint* prePoint = step->GetPreStepPoint(); + G4StepPoint* postPoint = step->GetPostStepPoint(); - G4double x1 = prePoint->GetPosition().x(), x2 = postPoint->GetPosition().x(); - G4double x = runAction->GetOffsetX() + x1 + G4UniformRand()*(x2-x1); - runAction->FillHisto(0, x/mm , edep); - runAction->FillHisto(1, x/mm , edep); + G4double x1 = prePoint->GetPosition().x(); + G4double x2 = postPoint->GetPosition().x(); + G4double x = x1 + G4UniformRand()*(x2-x1) + 0.5*(detector->GetAbsorSizeX()); + histoManager->FillHisto(1, x, edep); + histoManager->FillHisto(2, x, edep); //fill tallies // diff --git a/examples/extended/electromagnetic/TestEm7/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm7/src/TrackingAction.cc index 7b667f81fa..b4193a252f 100644 --- a/examples/extended/electromagnetic/TestEm7/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm7/src/TrackingAction.cc @@ -23,36 +23,36 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TrackingAction.cc,v 1.5 2008/08/22 18:30:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TrackingAction.cc,v 1.6 2010/09/17 18:45:43 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "TrackingAction.hh" +#include "DetectorConstruction.hh" +#include "HistoManager.hh" #include "RunAction.hh" #include "G4Track.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -TrackingAction::TrackingAction(RunAction* run) -:runAction(run) +TrackingAction::TrackingAction(DetectorConstruction* det, HistoManager* histo, + RunAction* run) +:detector(det), histoManager(histo), runAction(run) { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void TrackingAction::PostUserTrackingAction(const G4Track* aTrack) +void TrackingAction::PostUserTrackingAction(const G4Track* track) { // extract Projected Range of primary particle - if (aTrack->GetTrackID() == 1) { - G4double x = aTrack->GetPosition().x() + runAction->GetOffsetX(); - if(x > runAction->GetLength()) x = runAction->GetLength(); - //G4cout << " range= " << x << " x= " << aTrack->GetPosition().x() - // << " ofset= " << runAction->GetOffsetX() << G4endl; + if (track->GetTrackID() == 1) { + G4double x = track->GetPosition().x() + 0.5*detector->GetAbsorSizeX(); if(x > 0.0) runAction->AddProjRange(x); - runAction->FillHisto(2, x/mm, 1.0); + histoManager->FillHisto(3, x); } } diff --git a/examples/extended/electromagnetic/TestEm7/vis.mac b/examples/extended/electromagnetic/TestEm7/vis.mac index 6e0fbdd989..bb7b1eb674 100644 --- a/examples/extended/electromagnetic/TestEm7/vis.mac +++ b/examples/extended/electromagnetic/TestEm7/vis.mac @@ -9,24 +9,71 @@ # /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 OGLIX +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# Draw scene -/vis/viewer/zoom 1.4 -/vis/viewer/flush +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks all - +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm8/GNUmakefile b/examples/extended/electromagnetic/TestEm8/GNUmakefile index 92d8d8a617..1f4748272d 100644 --- a/examples/extended/electromagnetic/TestEm8/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm8/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.8 2008/06/11 22:27:45 maire Exp $ +# $Id: GNUmakefile,v 1.9 2010/09/28 19:07:32 vnivanch Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -19,3 +19,7 @@ all: lib bin include $(G4INSTALL)/config/architecture.gmk include $(G4INSTALL)/config/binmake.gmk + +histclean: + rm ${G4WORKDIR}/tmp/${G4SYSTEM}/${G4TARGET}/Histo.o + diff --git a/examples/extended/electromagnetic/TestEm8/History b/examples/extended/electromagnetic/TestEm8/History index 95d5245394..bff9f8de1f 100644 --- a/examples/extended/electromagnetic/TestEm8/History +++ b/examples/extended/electromagnetic/TestEm8/History @@ -1,4 +1,4 @@ -$Id: History,v 1.33 2009/11/24 17:51:58 vnivanch Exp $ +$Id: History,v 1.42 2010/11/19 11:42:28 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,37 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +19-11-10 V.Ivant (testem8-V09-03-07) +- V. Grichine Histomanager.cc The preparation of + distribution.out file was added. It has + NumOfEv and distribution(energy/keV) + +27-10-10 V.Ivant (testem8-V09-03-06) +- DetectorConstruction - added more printout +- DetectorMessenger - fixed state (added G4State_PreInit) +- PhysicsList - fixed UI commands for step limiter + +28-09-10 V.Ivant (testem8-V09-03-05) +- GNUmakefile - added histclean option + +08-09-10 V.Ivant (testem8-V09-03-04) +- The example is completely rewritten: physics, scoring, histograms, + README + +04-06-10 J.Perl (testem8-V09-03-03) +- Updated vis usage + +04-06-10 V.Ivant (testem8-V09-03-02) +- PhysicsList, Em8DetectorConstruction - renamed "VertexDetector" by + "GasDetector" +- added cut per region into TestEm8.in + +21-05-10 mma (testem8-V09-03-01) +- TestEm8.cc : introduction of G4UIExecutive + +13-04-10 V.Ivant (testem8-V09-03-00) +- Use pointer to G4EmConfigurator and not as a memeber of the class + 24-11-08 V.Ivant (testem8-V09-02-00) - Fixed compillation warnings at SLC5 diff --git a/examples/extended/electromagnetic/TestEm8/README b/examples/extended/electromagnetic/TestEm8/README index 3f92acc111..2dc4a9dd37 100644 --- a/examples/extended/electromagnetic/TestEm8/README +++ b/examples/extended/electromagnetic/TestEm8/README @@ -1,4 +1,4 @@ -$Id: README,v 1.4 2003/11/24 18:09:22 vnivanch Exp $ +$Id: README,v 1.5 2010/09/08 11:22:01 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,80 +8,65 @@ $Id: README,v 1.4 2003/11/24 18:09:22 vnivanch Exp $ TestEm8 ------- - Test for investigation of ionisation in thin absorbers, transition - and synchrotron radiations. - + Example for investigation of ionisation in thin absorbers and gaseous + detectors 1- GEOMETRY DEFINITION - The "absorber" is a tube made of a given material. + The target is a cilinder made of a given material placed inside + cilindrical container, which is placed inside the world volume. - Three parameters define the absorber : - - the material of the absorber, - - the thickness of an absorber, - - the transverse size of the absorber (the input face is a square). - - The volume "World" contains the "absorber". - In this test the parameters of the "World" can be changed , too. + Following parameters define the geometry: + - the material of the target, + - the thickness of the target, + - the radius of the target, + - the material of the container, + - the thickness of the container, + - the material of the world. + + The list of materials used in gaseous detectors are built inside + the DetectorConstruction class, also NIST materials are availabe. + The default geometry is provided but all parameters can be changed via + UI commands defined in the DetectorMessenger class, for example, + + /testem/setGasMat XeCH4C3H8 + /testem/setWindowMat G4_MYLAR + /testem/setWorldMat G4_AIR + /testem/setGasThick 10 cm + /testem/setGasRad 20 cm + /testem/setWindowThick 50 um - In addition a transverse uniform magnetic field can be applied. - - The default geometry is constructed in DetectorConstruction class, - but all the parameters can be changed via - the commands defined in the DetectorMessenger class. 2- AN EVENT : THE PRIMARY GENERATOR The primary kinematic consists of a single particle which hits the absorber perpendicular to the input face. The type of the particle - and its energy are set in the PrimaryGeneratorAction class, and can - be changed via the G4 build-in commands of ParticleGun class (see - the macros provided with this example). - + and its energy can be set via the G4 build-in commands of ParticleGun A RUN is a set of events. 3- DETECTOR RESPONSE - Here we test G4PAIionisation , G4IonisationByLogicalVolume and - transition radiation processes - - A HIT is a record, event per event , of all the - informations needed to simulate and analyse the detector response. - - In this example a CalorHit is defined as a set of 2 informations: - - the total energy deposit in the absorber, - - the total tracklength of all charged particles in the absorber, - - Therefore the absorber is declared - 'sensitive detector' (SD), which means they can contribute to the hit. - - At the end of a run, from the histogram(s), one can study - different physics quantities such as : - - angle distribution, - - energy deposit, - - transmission/backscattering, - - ... - - The test contains 10 built-in histograms, which can be activated by - interactive commands (see the macros runxx.mac for details). - - The histogram files can be viewed using PAW e.g with the commands - - paw> h/file 1 geant4.plot01 or g4.p11 - paw> option stat - paw> h/pl 1 + The TargetSD class sending information about each step inside the target + to the HistoManager class scoring of energy deposition in the detector. + Additionally at each step of a particle inside the target the number of + ionisation clusters is sampled using G4ElectronIonPair helper class. The + parameter of transformation of energy into ionisation clusters can be + set via UI command: + /testem/setPairEnergy 19 eV - 4- PHYSICS DEMO + 4- PHYSICS The particle's type and the physic processes which will be available - in this example are set in PhysicsList class. - - The messenger classes introduce interactive commands . Using these - commands the geometry of the detector, the data of the primary - particle, the limits of the histograms , etc. can be changed. - + in this example are set in PhysicsList class, which uses Geant4 + EM physics constructors providing in the physics_list library. + + The messenger classes introduce interactive commands. In particular, + PAI ionisation model can be added using G4EmConfurator helper class, + which is invokated by the UI command + + /testem/phys/addPhysics pai 5- HOW TO START ? @@ -90,7 +75,7 @@ $Id: README,v 1.4 2003/11/24 18:09:22 vnivanch Exp $ % gmake - execute TestEm8 in 'batch' mode from macro files e.g. - % $(G4INSTALL)/bin/$(G4SYSTEM)/TestEm8 run11.mac + % $(G4INSTALL)/bin/$(G4SYSTEM)/TestEm8 TestEm8.in - execute TestEm8 in 'interactive' mode with visualization e.g. % $(G4INSTALL)/bin/$(G4SYSTEM)/TestEm8 diff --git a/examples/extended/electromagnetic/TestEm8/TestEm8.cc b/examples/extended/electromagnetic/TestEm8/TestEm8.cc index 3bdc125602..3e9ba13876 100644 --- a/examples/extended/electromagnetic/TestEm8/TestEm8.cc +++ b/examples/extended/electromagnetic/TestEm8/TestEm8.cc @@ -23,107 +23,83 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: TestEm8.cc,v 1.10 2010/09/08 09:12:10 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: TestEm8.cc,v 1.8 2007/07/27 15:29:38 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -// -------------------------------------------------------------- -// GEANT 4 - TestEm8 -// -// -------------------------------------------------------------- -// Comments -// -// -// -------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" #include "Randomize.hh" +#include "DetectorConstruction.hh" +#include "PhysicsList.hh" +#include "PrimaryGeneratorAction.hh" +#include "RunAction.hh" +#include "EventAction.hh" + #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif -#include "Em8DetectorConstruction.hh" -#include "PhysicsList.hh" -#include "Em8PrimaryGeneratorAction.hh" -#include "Em8RunAction.hh" -#include "Em8EventAction.hh" -#include "Em8SteppingAction.hh" -#include "Em8SteppingVerbose.hh" +#ifdef G4UI_USE +#include "G4UIExecutive.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 Em8SteppingVerbose); - // Construct the default run manager - G4RunManager * runManager = new G4RunManager; // set mandatory initialization classes - - Em8DetectorConstruction* detector; - detector = new Em8DetectorConstruction; - runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new PhysicsList); - -#ifdef G4VIS_USE - G4VisManager* visManager = 0; -#endif + PrimaryGeneratorAction* gun = new PrimaryGeneratorAction(); + runManager->SetUserInitialization(new DetectorConstruction(gun)); // set user action classes - - runManager->SetUserAction(new Em8PrimaryGeneratorAction(detector)); - - Em8RunAction* runAction = new Em8RunAction; - - runManager->SetUserAction(runAction); - - Em8EventAction* eventAction = new Em8EventAction(runAction); - - runManager->SetUserAction(eventAction); - - Em8SteppingAction* steppingAction = new Em8SteppingAction(detector, - eventAction, - runAction); - runManager->SetUserAction(steppingAction); + runManager->SetUserAction(gun); + runManager->SetUserAction(new RunAction()); + runManager->SetUserAction(new EventAction()); G4UImanager* UI = G4UImanager::GetUIpointer(); - - if (argc==1) // Define UI terminal for interactive mode - { -#ifdef G4VIS_USE - visManager = new G4VisExecutive; - visManager->Initialize(); -#endif - G4UIsession * session = new G4UIterminal; - UI->ApplyCommand("/control/execute init.mac"); - session->SessionStart(); - delete session; - } - else // Batch mode - { + + if (argc!=1) // batch mode + { G4String command = "/control/execute "; G4String fileName = argv[1]; UI->ApplyCommand(command+fileName); } - // job termination - + else //define visualization and UI terminal for interactive mode + { #ifdef G4VIS_USE - delete visManager; -#endif + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif + } + + // job termination + // delete runManager; return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm8/TestEm8.in b/examples/extended/electromagnetic/TestEm8/TestEm8.in index 1e6f7610bd..9166d25699 100644 --- a/examples/extended/electromagnetic/TestEm8/TestEm8.in +++ b/examples/extended/electromagnetic/TestEm8/TestEm8.in @@ -12,17 +12,15 @@ /testem/phys/addPhysics pai #/testem/phys/addPhysics pai_photon # -/testem/phys/setCuts 1 mm #/testem/stepMax 10 mm # -# PLOT: energy deposit distribution in absorber -# -/plots/setnbinEn 20 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 0.060 MeV -/plots/sethistName g4.p11 +/testem/phys/setNbinsE 20 +/testem/phys/setMaxE 0.060 MeV # /run/initialize +# +/run/setCut 0.5 mm +/run/setCutForRegion GasDetector 1.8 mm /run/particle/dumpCutValues # #/gun/particle e- @@ -33,10 +31,5 @@ # /gun/energy 200000.00 MeV # -#/gun/energy 200.0 MeV -# -#/tracking/verbose 1 -# -/event/printModulo 100 /run/beamOn 1000 # diff --git a/examples/extended/electromagnetic/TestEm8/TestEm8.large_N.in b/examples/extended/electromagnetic/TestEm8/TestEm8.large_N.in index 4e75831106..642a232b44 100644 --- a/examples/extended/electromagnetic/TestEm8/TestEm8.large_N.in +++ b/examples/extended/electromagnetic/TestEm8/TestEm8.large_N.in @@ -7,36 +7,19 @@ /run/verbose 2 #/tracking/verbose 2 # -# # select EM PhysicsList # -/testem/phys/addPhysics standard -# -#/testem/phys/addPhysics model -# -/testem/phys/setCuts 1 mm -#/testem/phys/VertexCuts 0.1 mm -#/testem/phys/MuonCuts 10.0 mm -#/testem/stepMax 10 mm -# -#/process/eLoss/preciseRange true -#/process/eLoss/integral true -# -# hist file name -# -/plots/sethistName g4.p11 -# -# PLOT: energy deposit distribution in absorber -# -/plots/setnbinEn 20 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 0.060 MeV +/testem/phys/addPhysics pai +#/testem/phys/addPhysics standard # +/testem/phys/setNbinsE 20 +/testem/phys/setMaxE 0.060 MeV # /run/initialize -/run/particle/dumpCutValues # -#/gun/particle e- +/run/setCut 1 mm +/run/setCutForRegion GasDetector 0.2 mm +/run/particle/dumpCutValues # /gun/particle proton # @@ -48,10 +31,8 @@ # #/tracking/verbose 1 # -/event/printModulo 1000 /run/beamOn 10000 # -# diff --git a/examples/extended/electromagnetic/TestEm8/TestEm8.out b/examples/extended/electromagnetic/TestEm8/TestEm8.out index c63986d42e..d2d339af1e 100644 --- a/examples/extended/electromagnetic/TestEm8/TestEm8.out +++ b/examples/extended/electromagnetic/TestEm8/TestEm8.out @@ -4,12 +4,235 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* + +***** Table : Nb of materials = 19 ***** + + Material: G4_Ar density: 1.662 mg/cm3 RadL: 117.621 m Nucl.Int.Length: 719.260 m Imean: 188.000 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: Ar (Ar) Z = 18.0 N = 40.0 A = 39.95 g/mole + ---> Isotope: Ar36 Z = 18 N = 36 A = 35.97 g/mole abundance: 0.34 % + ---> Isotope: Ar38 Z = 18 N = 38 A = 37.96 g/mole abundance: 0.06 % + ---> Isotope: Ar40 Z = 18 N = 40 A = 39.96 g/mole abundance: 99.60 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: G4_Kr density: 3.478 mg/cm3 RadL: 32.694 m Nucl.Int.Length: 439.629 m Imean: 352.000 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: Kr (Kr) Z = 36.0 N = 83.9 A = 83.80 g/mole + ---> Isotope: Kr78 Z = 36 N = 78 A = 77.92 g/mole abundance: 0.35 % + ---> Isotope: Kr80 Z = 36 N = 80 A = 79.92 g/mole abundance: 2.28 % + ---> Isotope: Kr82 Z = 36 N = 82 A = 81.91 g/mole abundance: 11.58 % + ---> Isotope: Kr83 Z = 36 N = 83 A = 82.91 g/mole abundance: 11.49 % + ---> Isotope: Kr84 Z = 36 N = 84 A = 83.91 g/mole abundance: 57.00 % + ---> Isotope: Kr86 Z = 36 N = 86 A = 85.91 g/mole abundance: 17.30 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: G4_Xe density: 5.485 mg/cm3 RadL: 15.462 m Nucl.Int.Length: 324.779 m Imean: 482.000 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: Xe (Xe) Z = 54.0 N = 131.4 A = 131.29 g/mole + ---> Isotope: Xe124 Z = 54 N = 124 A = 123.91 g/mole abundance: 0.09 % + ---> Isotope: Xe126 Z = 54 N = 126 A = 125.90 g/mole abundance: 0.09 % + ---> Isotope: Xe128 Z = 54 N = 128 A = 127.90 g/mole abundance: 1.92 % + ---> Isotope: Xe129 Z = 54 N = 129 A = 128.91 g/mole abundance: 26.44 % + ---> Isotope: Xe130 Z = 54 N = 130 A = 129.90 g/mole abundance: 4.08 % + ---> Isotope: Xe131 Z = 54 N = 131 A = 130.90 g/mole abundance: 21.18 % + ---> Isotope: Xe132 Z = 54 N = 132 A = 131.90 g/mole abundance: 26.89 % + ---> Isotope: Xe134 Z = 54 N = 134 A = 133.91 g/mole abundance: 10.44 % + ---> Isotope: Xe136 Z = 54 N = 136 A = 135.91 g/mole abundance: 8.87 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: G4_CARBON_DIOXIDE CO_2 density: 1.842 mg/cm3 RadL: 196.486 m Nucl.Int.Length: 466.077 m Imean: 85.000 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 27.29 % ElmAbundance 33.33 % + ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole + ---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 % + ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % + ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 72.71 % ElmAbundance 66.67 % + + Material: G4_MYLAR density: 1.400 g/cm3 RadL: 28.536 cm Nucl.Int.Length: 55.985 cm Imean: 78.700 eV + ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole + ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % + ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 4.20 % ElmAbundance 36.36 % + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 62.50 % ElmAbundance 45.46 % + ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole + ---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 % + ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % + ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 33.30 % ElmAbundance 18.18 % + + Material: G4_METHANE density: 0.667 kg/m3 RadL: 696.479 m Nucl.Int.Length: 910.708 m Imean: 41.700 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole + ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % + ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 25.13 % ElmAbundance 80.00 % + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 74.87 % ElmAbundance 20.00 % + + Material: G4_PROPANE density: 1.879 mg/cm3 RadL: 241.434 m Nucl.Int.Length: 346.143 m Imean: 47.100 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole + ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % + ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 18.29 % ElmAbundance 72.73 % + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 81.71 % ElmAbundance 27.27 % + + Material: G4_Galactic density: 0.000 kg/m3 RadL: 204310101.835 pc Nucl.Int.Length: 114327973.206 pc Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm + ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole + ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % + ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: Kr7CH4 density: 3.491 mg/cm3 RadL: 32.924 m Nucl.Int.Length: 428.924 m Imean: 337.765 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: Kr (Kr) Z = 36.0 N = 83.9 A = 83.80 g/mole + ---> Isotope: Kr78 Z = 36 N = 78 A = 77.92 g/mole abundance: 0.35 % + ---> Isotope: Kr80 Z = 36 N = 80 A = 79.92 g/mole abundance: 2.28 % + ---> Isotope: Kr82 Z = 36 N = 82 A = 81.91 g/mole abundance: 11.58 % + ---> Isotope: Kr83 Z = 36 N = 83 A = 82.91 g/mole abundance: 11.49 % + ---> Isotope: Kr84 Z = 36 N = 84 A = 83.91 g/mole abundance: 57.00 % + ---> Isotope: Kr86 Z = 36 N = 86 A = 85.91 g/mole abundance: 17.30 % ElmMassFraction: 98.60 % ElmAbundance 72.95 % + ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole + ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % + ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 0.35 % ElmAbundance 21.64 % + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 1.05 % ElmAbundance 5.41 % + + Material: TRT_Xe density: 5.485 mg/cm3 RadL: 15.463 m Nucl.Int.Length: 324.801 m Imean: 482.000 eV temperature: 293.15 K pressure: 1.00 atm + ---> Element: Xe (Xe) Z = 54.0 N = 131.4 A = 131.29 g/mole + ---> Isotope: Xe124 Z = 54 N = 124 A = 123.91 g/mole abundance: 0.09 % + ---> Isotope: Xe126 Z = 54 N = 126 A = 125.90 g/mole abundance: 0.09 % + ---> Isotope: Xe128 Z = 54 N = 128 A = 127.90 g/mole abundance: 1.92 % + ---> Isotope: Xe129 Z = 54 N = 129 A = 128.91 g/mole abundance: 26.44 % + ---> Isotope: Xe130 Z = 54 N = 130 A = 129.90 g/mole abundance: 4.08 % + ---> Isotope: Xe131 Z = 54 N = 131 A = 130.90 g/mole abundance: 21.18 % + ---> Isotope: Xe132 Z = 54 N = 132 A = 131.90 g/mole abundance: 26.89 % + ---> Isotope: Xe134 Z = 54 N = 134 A = 133.91 g/mole abundance: 10.44 % + ---> Isotope: Xe136 Z = 54 N = 136 A = 135.91 g/mole abundance: 8.87 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: TRT_CO2 density: 1.842 mg/cm3 RadL: 196.499 m Nucl.Int.Length: 466.107 m Imean: 90.958 eV temperature: 293.15 K pressure: 1.00 atm + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 27.29 % ElmAbundance 33.33 % + ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole + ---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 % + ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % + ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 72.71 % ElmAbundance 66.67 % + + Material: TRT_CF4 density: 3.900 mg/cm3 RadL: 87.158 m Nucl.Int.Length: 234.197 m Imean: 109.384 eV temperature: 293.15 K pressure: 1.00 atm + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 13.65 % ElmAbundance 20.00 % + ---> Element: F (F) Z = 9.0 N = 19.0 A = 19.00 g/mole + ---> Isotope: F19 Z = 9 N = 19 A = 19.00 g/mole abundance: 100.00 % ElmMassFraction: 86.35 % ElmAbundance 80.00 % + + Material: XeCO2CF4 density: 4.760 mg/cm3 RadL: 20.851 m Nucl.Int.Length: 314.963 m Imean: 345.469 eV temperature: 293.15 K pressure: 1.00 atm + ---> Element: Xe (Xe) Z = 54.0 N = 131.4 A = 131.29 g/mole + ---> Isotope: Xe124 Z = 54 N = 124 A = 123.91 g/mole abundance: 0.09 % + ---> Isotope: Xe126 Z = 54 N = 126 A = 125.90 g/mole abundance: 0.09 % + ---> Isotope: Xe128 Z = 54 N = 128 A = 127.90 g/mole abundance: 1.92 % + ---> Isotope: Xe129 Z = 54 N = 129 A = 128.91 g/mole abundance: 26.44 % + ---> Isotope: Xe130 Z = 54 N = 130 A = 129.90 g/mole abundance: 4.08 % + ---> Isotope: Xe131 Z = 54 N = 131 A = 130.90 g/mole abundance: 21.18 % + ---> Isotope: Xe132 Z = 54 N = 132 A = 131.90 g/mole abundance: 26.89 % + ---> Isotope: Xe134 Z = 54 N = 134 A = 133.91 g/mole abundance: 10.44 % + ---> Isotope: Xe136 Z = 54 N = 136 A = 135.91 g/mole abundance: 8.87 % ElmMassFraction: 80.70 % ElmAbundance 35.01 % + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 3.17 % ElmAbundance 15.02 % + ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole + ---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 % + ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % + ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 2.84 % ElmAbundance 10.10 % + ---> Element: F (F) Z = 9.0 N = 19.0 A = 19.00 g/mole + ---> Isotope: F19 Z = 9 N = 19 A = 19.00 g/mole abundance: 100.00 % ElmMassFraction: 13.30 % ElmAbundance 39.87 % + + Material: C3H8 density: 3.758 mg/cm3 RadL: 120.742 m Nucl.Int.Length: 173.106 m Imean: 52.014 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 81.71 % ElmAbundance 27.27 % + ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole + ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % + ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 18.29 % ElmAbundance 72.73 % + + Material: XeCH4C3H8 density: 4.920 mg/cm3 RadL: 17.657 m Nucl.Int.Length: 344.114 m Imean: 438.263 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: Xe (Xe) Z = 54.0 N = 131.4 A = 131.29 g/mole + ---> Isotope: Xe124 Z = 54 N = 124 A = 123.91 g/mole abundance: 0.09 % + ---> Isotope: Xe126 Z = 54 N = 126 A = 125.90 g/mole abundance: 0.09 % + ---> Isotope: Xe128 Z = 54 N = 128 A = 127.90 g/mole abundance: 1.92 % + ---> Isotope: Xe129 Z = 54 N = 129 A = 128.91 g/mole abundance: 26.44 % + ---> Isotope: Xe130 Z = 54 N = 130 A = 129.90 g/mole abundance: 4.08 % + ---> Isotope: Xe131 Z = 54 N = 131 A = 130.90 g/mole abundance: 21.18 % + ---> Isotope: Xe132 Z = 54 N = 132 A = 131.90 g/mole abundance: 26.89 % + ---> Isotope: Xe134 Z = 54 N = 134 A = 133.91 g/mole abundance: 10.44 % + ---> Isotope: Xe136 Z = 54 N = 136 A = 135.91 g/mole abundance: 8.87 % ElmMassFraction: 97.10 % ElmAbundance 48.49 % + ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole + ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % + ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 0.60 % ElmAbundance 38.95 % + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 2.30 % ElmAbundance 12.56 % + + Material: Ar7CH4 density: 1.709 mg/cm3 RadL: 116.342 m Nucl.Int.Length: 680.394 m Imean: 177.716 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: Ar (Ar) Z = 18.0 N = 40.0 A = 39.95 g/mole + ---> Isotope: Ar36 Z = 18 N = 36 A = 35.97 g/mole abundance: 0.34 % + ---> Isotope: Ar38 Z = 18 N = 38 A = 37.96 g/mole abundance: 0.06 % + ---> Isotope: Ar40 Z = 18 N = 40 A = 39.96 g/mole abundance: 99.60 % ElmMassFraction: 97.10 % ElmAbundance 72.89 % + ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole + ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % + ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 0.73 % ElmAbundance 21.68 % + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 2.17 % ElmAbundance 5.42 % + + Material: ArCO2 density: 1.822 mg/cm3 RadL: 119.168 m Nucl.Int.Length: 604.526 m Imean: 158.492 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: Ar (Ar) Z = 18.0 N = 40.0 A = 39.95 g/mole + ---> Isotope: Ar36 Z = 18 N = 36 A = 35.97 g/mole abundance: 0.34 % + ---> Isotope: Ar38 Z = 18 N = 38 A = 37.96 g/mole abundance: 0.06 % + ---> Isotope: Ar40 Z = 18 N = 40 A = 39.96 g/mole abundance: 99.60 % ElmMassFraction: 78.30 % ElmAbundance 56.99 % + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 5.92 % ElmAbundance 14.34 % + ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole + ---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 % + ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % + ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 15.78 % ElmAbundance 28.67 % + + Material: Xe20CO2 density: 5.082 mg/cm3 RadL: 17.750 m Nucl.Int.Length: 323.450 m Imean: 412.596 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: Xe (Xe) Z = 54.0 N = 131.4 A = 131.29 g/mole + ---> Isotope: Xe124 Z = 54 N = 124 A = 123.91 g/mole abundance: 0.09 % + ---> Isotope: Xe126 Z = 54 N = 126 A = 125.90 g/mole abundance: 0.09 % + ---> Isotope: Xe128 Z = 54 N = 128 A = 127.90 g/mole abundance: 1.92 % + ---> Isotope: Xe129 Z = 54 N = 129 A = 128.91 g/mole abundance: 26.44 % + ---> Isotope: Xe130 Z = 54 N = 130 A = 129.90 g/mole abundance: 4.08 % + ---> Isotope: Xe131 Z = 54 N = 131 A = 130.90 g/mole abundance: 21.18 % + ---> Isotope: Xe132 Z = 54 N = 132 A = 131.90 g/mole abundance: 26.89 % + ---> Isotope: Xe134 Z = 54 N = 134 A = 133.91 g/mole abundance: 10.44 % + ---> Isotope: Xe136 Z = 54 N = 136 A = 135.91 g/mole abundance: 8.87 % ElmMassFraction: 92.20 % ElmAbundance 56.91 % + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 2.13 % ElmAbundance 14.36 % + ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole + ---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 % + ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % + ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 5.67 % ElmAbundance 28.73 % + + Material: Kr20CO2 density: 3.601 mg/cm3 RadL: 34.157 m Nucl.Int.Length: 391.053 m Imean: 296.925 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: Kr (Kr) Z = 36.0 N = 83.9 A = 83.80 g/mole + ---> Isotope: Kr78 Z = 36 N = 78 A = 77.92 g/mole abundance: 0.35 % + ---> Isotope: Kr80 Z = 36 N = 80 A = 79.92 g/mole abundance: 2.28 % + ---> Isotope: Kr82 Z = 36 N = 82 A = 81.91 g/mole abundance: 11.58 % + ---> Isotope: Kr83 Z = 36 N = 83 A = 82.91 g/mole abundance: 11.49 % + ---> Isotope: Kr84 Z = 36 N = 84 A = 83.91 g/mole abundance: 57.00 % + ---> Isotope: Kr86 Z = 36 N = 86 A = 85.91 g/mole abundance: 17.30 % ElmMassFraction: 89.00 % ElmAbundance 58.62 % + ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole + ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % + ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 3.00 % ElmAbundance 13.79 % + ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole + ---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 % + ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % + ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 8.00 % ElmAbundance 27.59 % + + /run/verbose 2 #/tracking/verbose 2 # @@ -18,26 +241,17 @@ /testem/phys/addPhysics pai #/testem/phys/addPhysics pai_photon # -/testem/phys/setCuts 1 mm #/testem/stepMax 10 mm # -# PLOT: energy deposit distribution in absorber -# -/plots/setnbinEn 20 - Nb of bins in Edep plot = 20 -/plots/setEnlow 0.0 MeV - Elow in the Edep plot = 0 -/plots/setEnhigh 0.060 MeV - Ehigh in the Edep plot = 0.06 -/plots/sethistName g4.p11 - hist file = g4.p11 +/testem/phys/setNbinsE 20 +/testem/phys/setMaxE 0.060 MeV # /run/initialize userDetector->Construct() start. - The WORLD is made of 23.1022mm of Mylar, the transverse size (R) of the world is 100 mm. - The ABSORBER is made of 23mm of XeCH4C3H8, the transverse size (R) is 100 mm. - Z position of the (middle of the) absorber 0 mm. + The WORLD is made of 27.7224mm of G4_Galactic, the transverse size (R) of the world is 120.122 mm. + The CONTAINER is made of 0.051mm of G4_MYLAR + The TARGET is made of 23mm of XeCH4C3H8, the transverse size (R) is 100 mm. World is registered to the default region. physicsList->Construct() start. @@ -45,6 +259,9 @@ physicsList->Construct() start. physicsList->CheckParticleList() start. physicsList->setCut() start. PhysicsList::SetCuts:CutLength : 1 mm +# +/run/setCut 0.5 mm +/run/setCutForRegion GasDetector 1.8 mm /run/particle/dumpCutValues # #/gun/particle e- @@ -55,297 +272,311 @@ PhysicsList::SetCuts:CutLength : 1 mm # /gun/energy 200000.00 MeV # -#/gun/energy 200.0 MeV -# -#/tracking/verbose 1 -# -/event/printModulo 100 /run/beamOn 1000 phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV - ===== EM models for the G4Region VertexDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV + ===== EM models for the G4Region GasDetector ====== + PAIModel : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 - ===== EM models for the G4Region VertexDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV + ===== EM models for the G4Region GasDetector ====== + PAIModel : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 - ===== EM models for the G4Region VertexDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + ===== EM models for the G4Region GasDetector ====== + PAIModel : Emin= 0 eV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + hPairProd : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV 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 - ===== EM models for the G4Region VertexDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV + ===== EM models for the G4Region GasDetector ====== + PAIModel : Emin= 0 eV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu+ SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 - ===== EM models for the G4Region VertexDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV + ===== EM models for the G4Region GasDetector ====== + PAIModel : Emin= 0 eV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu- SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 - ===== EM models for the G4Region VertexDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + ===== EM models for the G4Region GasDetector ====== + PAIModel : Emin= 0 eV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 - ===== EM models for the G4Region VertexDetector ====== - PAIModel : Emin= 0 eV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + ===== EM models for the G4Region GasDetector ====== + PAIModel : Emin= 0 eV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + hPairProd : Emin= 0 eV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : World Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] - Materials : Mylar - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm + Materials : G4_Galactic G4_MYLAR + Production cuts : gamma 500 um e- 500 um e+ 500 um proton 500 um -Region -- appears in world volume - Root logical volume(s) : Absorber +Region -- appears in world volume + Root logical volume(s) : Gas Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : XeCH4C3H8 - Production cuts : gamma 2.3 cm e- 2.3 cm e+ 2.3 cm proton 0 fm + Production cuts : gamma 1.8 mm e- 1.8 mm e+ 1.8 mm proton 1.8 mm ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No - Material : Mylar - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm - Energy thresholds : gamma 3.00044 keV e- 419.056 keV e+ 405.209 keV proton 0 eV + Material : G4_Galactic + Range cuts : gamma 500 um e- 500 um e+ 500 um proton 500 um + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 50 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No - Material : XeCH4C3H8 - Range cuts : gamma 2.3 cm e- 2.3 cm e+ 2.3 cm proton 0 fm - Energy thresholds : gamma 3.84742 keV e- 63.8405 keV e+ 62.5663 keV proton 0 eV + Material : G4_MYLAR + Range cuts : gamma 500 um e- 500 um e+ 500 um proton 500 um + Energy thresholds : gamma 2.27786 keV e- 263.57 keV e+ 258.31 keV proton 50 keV Region(s) which use this couple : - VertexDetector + DefaultRegionForTheWorld + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : XeCH4C3H8 + Range cuts : gamma 1.8 mm e- 1.8 mm e+ 1.8 mm proton 1.8 mm + Energy thresholds : gamma 990 eV e- 5.57533 keV e+ 5.40743 keV proton 180 keV + Region(s) which use this couple : + GasDetector ==================================================================== @@ -354,85 +585,46 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics Total memory consumed for geometry optimisation: 0 kByte Total CPU time elapsed for geometry optimisation: 0 seconds -### Run 0 start. - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 9876, 54321 ----------------------------------------- +### Run 0 start +HistoManager: Histograms are booked and run has been started Start Run processing. - ----> Begin of Event: 0 - ----> Begin of Event: 100 - ----> Begin of Event: 200 - ----> Begin of Event: 300 - ----> Begin of Event: 400 - ----> Begin of Event: 500 - ----> Begin of Event: 600 - ----> Begin of Event: 700 - ----> Begin of Event: 800 - ----> Begin of Event: 900 +### PrimaryGeneratorAction::GeneratePrimaries ########## +### proton E(MeV)= 200000 +######################################################## Run terminated. Run Summary Number of events processed : 1000 - User=0.1s Real=0.1s Sys=0s + User=0.09s Real=0.09s Sys=0s +RunAction: End of run actions are started ================== run summary ===================== - end of Run TotNbofEvents = 1000 - mean charged track length in absorber=23.8626 +- 0.280011 mm + End of Run TotNbofEvents = 1000 - mean energy deposit in absorber=0.0167792 +- 0.000460059 MeV + Mean energy deposit in absorber = 14.911 +- 0.23755 keV; RMS/Emean = 0.50377 + Mean number of steps in absorber= 1.235; mean number of ion-clusters = 827.74 - mean number of steps in absorber (charged) =0.163 +- 0.0541519 - mean number of steps in absorber (neutral) =0.001 +- 0.0009995 - - mean number of charged secondaries = 0.023 +- 0.0058712 - - mean number of neutral secondaries = 0.002 +- 0.0014128 - - mean number of e-s =0.023 and e+s =0 - -(number) transmission coeff=1 reflection coeff=0 - - energy deposit distribution -#entries=1000 #underflows=0 #overflows=20 + ====== Energy deposit distribution Noverflows= 0.017 ====== bin nb Elow entries normalized 0 0 0 0 - 1 3 6 0.006 - 2 6 113 0.113 - 3 9 273 0.273 - 4 12 230 0.23 - 5 15 143 0.143 - 6 18 75 0.075 - 7 21 40 0.04 - 8 24 20 0.02 - 9 27 28 0.028 - 10 30 18 0.018 - 11 33 11 0.011 - 12 36 7 0.007 - 13 39 3 0.003 - 14 42 3 0.003 - 15 45 3 0.003 - 16 48 2 0.002 + 1 3 0 0 + 2 6 108 0.108 + 3 9 252 0.252 + 4 12 254 0.254 + 5 15 174 0.174 + 6 18 60 0.06 + 7 21 51 0.051 + 8 24 25 0.025 + 9 27 18 0.018 + 10 30 2 0.002 + 11 33 13 0.013 + 12 36 5 0.005 + 13 39 6 0.006 + 14 42 4 0.004 + 15 45 1 0.001 + 16 48 5 0.005 17 51 2 0.002 - 18 54 2 0.002 - 19 57 1 0.001 - - Emp = 0.009 width= 0.006 MeV - - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 1147630826, 2065648871 ----------------------------------------- + 18 54 1 0.001 + 19 57 2 0.002 + ================== run end ========================== # UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionI.hh b/examples/extended/electromagnetic/TestEm8/include/DetectorConstruction.hh similarity index 53% rename from examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionI.hh rename to examples/extended/electromagnetic/TestEm8/include/DetectorConstruction.hh index 46cb19fccc..cbbc70d3d0 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionI.hh +++ b/examples/extended/electromagnetic/TestEm8/include/DetectorConstruction.hh @@ -23,75 +23,80 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: DetectorConstruction.hh,v 1.1 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: BrachyDetectorConstructionI.hh,v 1.3 2006/06/29 17:31:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +///////////////////////////////////////////////////////////////////////// // -// **************************************** -// * * -// * BrachyDetectorConstructionI.hh * -// * * -// **************************************** -//Author: Susanna Guatelli +// TestEm8: Gaseous detector // -#ifndef BrachyDetectorConstructionI_H -#define BrachyDetectorConstructionI_H 1 +// Created: 31.08.2010 V.Ivanchenko on base of V.Grichine code +// +// Modified: +// +//////////////////////////////////////////////////////////////////////// +// + +#ifndef DetectorConstruction_h +#define DetectorConstruction_h 1 -#include "globals.hh" #include "G4VUserDetectorConstruction.hh" -#include "G4LogicalVolume.hh" +#include "globals.hh" +class G4Material; +class G4Region; +class DetectorMessenger; +class TargetSD; +class G4VPhysicalVolume; class G4LogicalVolume; -class G4Tubs; -class G4Box; -class G4Sphere; -class G4Tubs; -class G4Colour; -class G4VPhysicalVolume; -class G4VPhysicalVolume; -class BrachyMaterial; +class G4ProductionCuts; +class PrimaryGeneratorAction; -class BrachyDetectorConstructionI +class DetectorConstruction : public G4VUserDetectorConstruction { public: - BrachyDetectorConstructionI(); - ~BrachyDetectorConstructionI(); - void ConstructIodium(G4VPhysicalVolume*);// Construct iodium source - -private: - //air tub ... - G4Tubs* defaultTub; - G4LogicalVolume* defaultTubLog; - G4VPhysicalVolume* defaultTubPhys; - //source titanium capsule ... - G4Tubs* capsule ; - G4LogicalVolume* capsuleLog; - G4VPhysicalVolume* capsulePhys; + DetectorConstruction(PrimaryGeneratorAction*); + virtual ~DetectorConstruction(); + + virtual G4VPhysicalVolume* Construct(); - G4Sphere* capsuleTip; - G4LogicalVolume* capsuleTipLog; - G4VPhysicalVolume* capsuleTipPhys1; - G4VPhysicalVolume* capsuleTipPhys2; + void SetGasMaterial (const G4String&); + void SetContainerMaterial (const G4String&); + void SetWorldMaterial(const G4String&); - //radioactive core ... - G4Tubs* iodiumCore; - G4LogicalVolume* iodiumCoreLog; - G4VPhysicalVolume* iodiumCorePhys; + void SetGasThickness(G4double); + void SetGasRadius(G4double); + void SetContainerThickness(G4double); - // golden marker ... - G4Tubs* marker; - G4LogicalVolume* markerLog; - G4VPhysicalVolume* markerPhys; + void SetPairEnergy(G4double); + +private: - BrachyMaterial* pMaterial; + void DefineMaterials(); + + G4Material* fGasMat; + G4double fGasThickness; + G4double fGasRadius; + + G4Material* fWindowMat; + G4double fWindowThick; + + G4Material* fWorldMaterial; + + G4VPhysicalVolume* fPhysWorld; + G4LogicalVolume* fLogicWorld; + G4LogicalVolume* fLogicWind; + G4LogicalVolume* fLogicDet; + + DetectorMessenger* fDetectorMessenger; + TargetSD* fTargetSD; + G4ProductionCuts* fGasDetectorCuts; + G4Region* fRegGasDet; + + PrimaryGeneratorAction* fPrimaryGenerator; + }; + #endif - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/DetectorMessenger.hh similarity index 71% rename from examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh rename to examples/extended/electromagnetic/TestEm8/include/DetectorMessenger.hh index 8351f35dc6..9ab78b036a 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/DetectorMessenger.hh @@ -23,60 +23,62 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: DetectorMessenger.hh,v 1.1 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: Em8DetectorMessenger.hh,v 1.6 2007/10/02 10:12:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +///////////////////////////////////////////////////////////////////////// // +// TestEm8: Gaseous detector +// +// Created: 31.08.2010 V.Ivanchenko +// +// Modified: +// +//////////////////////////////////////////////////////////////////////// // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -#ifndef Em8DetectorMessenger_h -#define Em8DetectorMessenger_h 1 +#ifndef DetectorMessenger_h +#define DetectorMessenger_h 1 #include "globals.hh" #include "G4UImessenger.hh" -class Em8DetectorConstruction; +class DetectorConstruction; class G4UIdirectory; class G4UIcmdWithAString; -class G4UIcmdWithAnInteger; class G4UIcmdWithADoubleAndUnit; class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -class Em8DetectorMessenger: public G4UImessenger +class DetectorMessenger: public G4UImessenger { public: - Em8DetectorMessenger(Em8DetectorConstruction* ); - virtual ~Em8DetectorMessenger(); + + DetectorMessenger(DetectorConstruction* ); + virtual ~DetectorMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - Em8DetectorConstruction* Em8Detector; + DetectorConstruction* Detector; - G4UIdirectory* Em8detDir; + G4UIdirectory* detDir; - G4UIcmdWithAString* AbsMaterCmd; - G4UIcmdWithADoubleAndUnit* AbsThickCmd; - G4UIcmdWithADoubleAndUnit* AbsRadCmd; + G4UIcmdWithAString* GasMaterCmd; + G4UIcmdWithADoubleAndUnit* GasThickCmd; + G4UIcmdWithADoubleAndUnit* GasRadCmd; - G4UIcmdWithADoubleAndUnit* AbsZposCmd; + G4UIcmdWithADoubleAndUnit* WinThickCmd; + G4UIcmdWithAString* WindowMaterCmd; G4UIcmdWithAString* WorldMaterCmd; - G4UIcmdWithADoubleAndUnit* WorldZCmd; - G4UIcmdWithADoubleAndUnit* WorldRCmd; - - G4UIcmdWithADoubleAndUnit* ElectronCutCmd; - G4UIcmdWithADoubleAndUnit* PositronCutCmd; - G4UIcmdWithADoubleAndUnit* GammaCutCmd; - - G4UIcmdWithoutParameter* UpdateCmd; + G4UIcmdWithADoubleAndUnit* ionCmd; }; #endif diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh b/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh deleted file mode 100644 index 04005b03a1..0000000000 --- a/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh +++ /dev/null @@ -1,100 +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: Em8CalorHit.hh,v 1.4 2006/06/29 16:58:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#ifndef Em8CalorHit_h -#define Em8CalorHit_h 1 - -#include "G4VHit.hh" -#include "G4THitsCollection.hh" -#include "G4Allocator.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class Em8CalorHit : public G4VHit -{ - public: - - Em8CalorHit(); - ~Em8CalorHit(); - Em8CalorHit(const Em8CalorHit&); - const Em8CalorHit& operator=(const Em8CalorHit&); - int operator==(const Em8CalorHit&) const; - - inline void* operator new(size_t); - inline void operator delete(void*); - - void Print(); - - public: - - void AddAbs(G4double de, G4double dl) {EdepAbs += de; TrackLengthAbs += dl;}; - void AddGap(G4double de, G4double dl) {EdepGap += de; TrackLengthGap += dl;}; - - G4double GetEdepAbs() { return EdepAbs; }; - G4double GetTrakAbs() { return TrackLengthAbs; }; - G4double GetEdepGap() { return EdepGap; }; - G4double GetTrakGap() { return TrackLengthGap; }; - - private: - - G4double EdepAbs, TrackLengthAbs; - G4double EdepGap, TrackLengthGap; - -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -typedef G4THitsCollection Em8CalorHitsCollection; - -extern G4Allocator Em8CalorHitAllocator; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void* Em8CalorHit::operator new(size_t) -{ - void* aHit; - aHit = (void*) Em8CalorHitAllocator.MallocSingle(); - return aHit; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void Em8CalorHit::operator delete(void* aHit) -{ - Em8CalorHitAllocator.FreeSingle((Em8CalorHit*) aHit); -} - -#endif - - diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh deleted file mode 100644 index d7cb0990f1..0000000000 --- a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh +++ /dev/null @@ -1,156 +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: Em8DetectorConstruction.hh,v 1.9 2007/10/02 10:12:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -#ifndef Em8DetectorConstruction_h -#define Em8DetectorConstruction_h 1 - -#include "G4VUserDetectorConstruction.hh" -#include "globals.hh" -#include "G4ios.hh" - -class G4Box; -class G4Tubs; -class G4LogicalVolume; -class G4VPhysicalVolume; -class G4Material; -class G4Region; -class G4UniformMagField; -class Em8DetectorMessenger; -class Em8CalorimeterSD; - - - -class Em8DetectorConstruction : public G4VUserDetectorConstruction -{ -public: - - Em8DetectorConstruction(); - virtual ~Em8DetectorConstruction(); - - void SetAbsorberMaterial (G4String); - void SetAbsorberThickness(G4double); - void SetAbsorberRadius(G4double); - - void SetAbsorberZpos(G4double); - - void SetWorldMaterial(G4String); - void SetWorldSizeZ(G4double); - void SetWorldSizeR(G4double); - - void SetGammaCut(G4double cut){fGammaCut = cut;}; - void SetElectronCut(G4double cut){fElectronCut = cut;}; - void SetPositronCut(G4double cut){fPositronCut = cut;}; - - G4VPhysicalVolume* Construct(); - - void UpdateGeometry(); - - void PrintCalorParameters(); - - G4Material* GetWorldMaterial() {return fWorldMaterial;}; - G4double GetWorldSizeZ() {return fWorldSizeZ;}; - G4double GetWorldSizeR() {return fWorldSizeR;}; - - G4double GetAbsorberZ() {return fAbsorberZ;}; - G4double GetStartAbsZ() {return fStartAbsZ;}; - G4double GetEndAbsZ() {return fEndAbsZ;}; - - G4Material* GetAbsorberMaterial() {return fAbsorberMaterial;}; - G4double GetAbsorberThickness() {return fAbsorberThickness;}; - G4double GetAbsorberRadius() {return fAbsorberRadius;}; - - const G4VPhysicalVolume* GetphysiWorld() {return fPhysicsWorld;}; - const G4VPhysicalVolume* GetAbsorber() {return fPhysicsAbsorber;}; - G4LogicalVolume* GetLogicalAbsorber() {return fLogicAbsorber;}; - -private: - - G4double fDelta; - - G4bool fWorldChanged; - G4double fAbsorberThickness; - G4double fAbsorberRadius; - - G4Material* fWindowMat ; - G4double fWindowThick ; - - G4double fAbsorberZ ; - G4double fStartAbsZ , fEndAbsZ ; - - G4Material* fWorldMaterial; - G4double fWorldSizeR; - G4double fWorldSizeZ; - - G4Tubs* fSolidWorld; //pointer to the solid World - G4LogicalVolume* fLogicWorld; //pointer to the logical World - G4VPhysicalVolume* fPhysicsWorld; //pointer to the physical World - - - G4Material* fAbsorberMaterial; - G4Tubs* fSolidAbsorber; //pointer to the solid Absorber - G4LogicalVolume* fLogicAbsorber; //pointer to the logical Absorber - G4VPhysicalVolume* fPhysicsAbsorber; //pointer to the physical Absorber - - G4double fElectronCut, fGammaCut, fPositronCut; - - Em8DetectorMessenger* fDetectorMessenger; //pointer to the Messenger - Em8CalorimeterSD* fCalorimeterSD; //pointer to the sensitive detector - G4Region* fRegGasDet; - - private: - - void DefineMaterials(); - void ComputeCalorParameters(); - G4VPhysicalVolume* ConstructCalorimeter(); - -}; - -////////////////////////////////////////////////////////////////////// - -inline void Em8DetectorConstruction::ComputeCalorParameters() -{ - // Compute derived parameters of the calorimeter - - if( !fWorldChanged ) - { - // WorldSizeR=2.*AbsorberRadius ; - // WorldSizeZ=2.*AbsorberThickness ; - } - fWorldSizeZ = fAbsorberThickness + 2*fWindowThick + 2*fDelta; - fWorldSizeR = fAbsorberRadius + fDelta; - - fStartAbsZ = fAbsorberZ - 0.5*fAbsorberThickness; - fEndAbsZ = fAbsorberZ + 0.5*fAbsorberThickness; - -} - -#endif - diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh deleted file mode 100644 index 1092e3e956..0000000000 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh +++ /dev/null @@ -1,78 +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: Em8PrimaryGeneratorAction.hh,v 1.4 2006/06/29 16:59:12 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#ifndef Em8PrimaryGeneratorAction_h -#define Em8PrimaryGeneratorAction_h 1 - -#include "G4VUserPrimaryGeneratorAction.hh" -#include "globals.hh" - -class G4ParticleGun; -class G4Event; -class Em8DetectorConstruction; -class Em8PrimaryGeneratorMessenger; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class Em8PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction -{ - public: - Em8PrimaryGeneratorAction(Em8DetectorConstruction*); - ~Em8PrimaryGeneratorAction(); - - public: - void GeneratePrimaries(G4Event*); - void SetRndmFlag(G4String val) { rndmFlag = val;} - void Setxvertex(G4double x) ; - void Setyvertex(G4double y) ; - void Setzvertex(G4double z) ; - - static G4String GetPrimaryName() ; - - private: - G4ParticleGun* particleGun; //pointer a to G4 service class - Em8DetectorConstruction* Em8Detector; //pointer to the geometry - - Em8PrimaryGeneratorMessenger* gunMessenger; //messenger of this class - G4String rndmFlag; //flag for a random impact point - - static G4String thePrimaryParticleName ; - G4double xvertex,yvertex,zvertex; - G4bool vertexdefined ; - -}; - -#endif - - diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh deleted file mode 100644 index f795fc1cb7..0000000000 --- a/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh +++ /dev/null @@ -1,179 +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: Em8RunAction.hh,v 1.8 2006/06/29 16:59:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#ifndef Em8RunAction_h -#define Em8RunAction_h 1 - -#include "G4UserRunAction.hh" -#include "globals.hh" -#include - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class Em8RunMessenger; -class G4Run; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class Em8RunAction : public G4UserRunAction -{ - public: - Em8RunAction(); - ~Em8RunAction(); - - public: - void BeginOfRunAction(const G4Run*); - void EndOfRunAction(const G4Run*); - - void CountEvent(); - void CountParticles(G4double,G4double); - void AddEP(G4double,G4double); - void AddEdeps(G4double Eabs); - void AddTrackLength(G4double tlabs); - void AddnStepsCharged(G4double ns); - void AddnStepsNeutral(G4double ns); - - void AddTrRef(G4double tr,G4double ref); - - void FillEn(G4double En); - void FillTh(G4double Th); - void FillThBack(G4double Th); - void FillR(G4double R); - void FillTt(G4double Tt); - void FillTb(G4double Tt); - void FillTsec(G4double T); - void FillGammaSpectrum(G4double E); - void FillNbOfSteps(G4double nstep); - void Fillvertexz(G4double z); - - void SethistName(G4String name) ; - - void SetnbinStep(G4int nbin); - void SetSteplow(G4double Slow); - void SetStephigh(G4double Shigh); - - void SetnbinEn(G4int nbin); - void SetEnlow(G4double Elow); - void SetEnhigh(G4double Enhigh); - - void SetnbinTt(G4int nbin); - void SetTtlow(G4double Ttlow); - void SetTthigh(G4double Tthigh); - - void SetnbinTb(G4int nbin); - void SetTblow(G4double Tblow); - void SetTbhigh(G4double Tbhigh); - - void SetnbinTsec(G4int nbin); - void SetTseclow(G4double Tlow); - void SetTsechigh(G4double Thigh); - - void SetnbinTh(G4int nbin); - void SetThlow(G4double Thlow); - void SetThhigh(G4double Thhigh); - - void SetnbinThBack(G4int nbin); - void SetThlowBack(G4double Thlow); - void SetThhighBack(G4double Thhigh); - - void SetnbinR(G4int nbin); - void SetRlow(G4double Rlow); - void SetRhigh(G4double Rhigh); - - void SetnbinGamma(G4int nbin); - void SetElowGamma(G4double Elow); - void SetEhighGamma(G4double Ehigh); - - void Setnbinzvertex(G4int nbin); - void Setzlow(G4double z); - void Setzhigh(G4double z); - - void SetRndmFreq(G4int val) {saveRndm = val;} - G4int GetRndmFreq() {return saveRndm;} - - private: - - G4String histName ; - - - G4double EnergySumAbs,EnergySquareSumAbs; - G4double tlSumAbs,tlsquareSumAbs; - G4double nStepSumCharged,nStepSum2Charged ; - G4double nStepSumNeutral,nStepSum2Neutral ; - G4double TotNbofEvents; - G4double SumCharged,Sum2Charged,SumNeutral,Sum2Neutral; - G4double Selectron,Spositron; - - G4double Transmitted,Reflected ; - - G4double entryStep,underStep,overStep,distStep[200]; - G4double Steplow,Stephigh,dStep; - G4int nbinStep; - G4double entryEn,underEn,overEn,distEn[200]; - G4double Enlow,Enhigh,dEn; - G4int nbinEn; - G4double entryTt,underTt,overTt,distTt[200]; - G4double Ttlow,Tthigh,dTt; - G4int nbinTt; - G4double Ttmean,Tt2mean; - G4double entryTb,underTb,overTb,distTb[200]; - G4double Tblow,Tbhigh,dTb; - G4int nbinTb; - G4double Tbmean,Tb2mean; - G4double entryTsec,underTsec,overTsec,distTsec[200]; - G4double Tseclow,Tsechigh,dTsec; - G4int nbinTsec; - G4double entryTh,underTh,overTh,distTh[200]; - G4double Thlow,Thhigh,dTh; - G4int nbinTh; - G4double entryThback,underThback,overThback,distThback[200]; - G4double Thlowback,Thhighback,dThback; - G4int nbinThback; - G4double entryR ,underR ,overR ,distR[200]; - G4double Rlow,Rhigh,dR; - G4int nbinR; - G4double Rmean,R2mean; - G4double entryGamma,underGamma,overGamma,distGamma[200]; - G4double ElowGamma,EhighGamma,dEGamma; - G4int nbinGamma ; - G4double entryvertexz,undervertexz,oververtexz,distvertexz[200]; - G4double zlow,zhigh,dz; - G4int nbinvertexz; - - Em8RunMessenger* runMessenger; - G4int saveRndm; -}; - -#endif - diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh deleted file mode 100644 index 2a2d5e73b2..0000000000 --- a/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh +++ /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: Em8RunMessenger.hh,v 1.4 2006/06/29 16:59:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#ifndef Em8RunMessenger_h -#define Em8RunMessenger_h 1 - -#include "globals.hh" -#include "G4UImessenger.hh" -#include "G4ios.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class Em8RunAction; -class G4UIdirectory; -class G4UIcmdWithAnInteger; -class G4UIcmdWithADoubleAndUnit; -class G4UIcmdWithADouble; -class G4UIcmdWithAString; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class Em8RunMessenger: public G4UImessenger -{ - public: - - Em8RunMessenger(Em8RunAction* ); - ~Em8RunMessenger(); - - void SetNewValue(G4UIcommand* ,G4String ); - - private: - - Em8RunAction* runAction; - - G4UIdirectory* plotDir; - - G4UIcmdWithAString* sethistNameCmd; - - G4UIcmdWithAnInteger* setnbinStepCmd; - G4UIcmdWithADouble* setSteplowCmd; - G4UIcmdWithADouble* setStephighCmd; - - G4UIcmdWithAnInteger* setnbinEnCmd; - G4UIcmdWithADoubleAndUnit* setEnlowCmd; - G4UIcmdWithADoubleAndUnit* setEnhighCmd; - - G4UIcmdWithAnInteger* setnbinGammaCmd; - G4UIcmdWithADoubleAndUnit* setElowGammaCmd; - G4UIcmdWithADoubleAndUnit* setEhighGammaCmd; - - G4UIcmdWithAnInteger* setnbinTtCmd; - G4UIcmdWithADoubleAndUnit* setTtlowCmd; - G4UIcmdWithADoubleAndUnit* setTthighCmd; - - G4UIcmdWithAnInteger* setnbinTbCmd; - G4UIcmdWithADoubleAndUnit* setTblowCmd; - G4UIcmdWithADoubleAndUnit* setTbhighCmd; - - G4UIcmdWithAnInteger* setnbinTsecCmd; - G4UIcmdWithADoubleAndUnit* setTseclowCmd; - G4UIcmdWithADoubleAndUnit* setTsechighCmd; - - G4UIcmdWithAnInteger* setnbinRCmd; - G4UIcmdWithADoubleAndUnit* setRlowCmd; - G4UIcmdWithADoubleAndUnit* setRhighCmd; - - G4UIcmdWithAnInteger* setnbinThCmd; - G4UIcmdWithADoubleAndUnit* setThlowCmd; - G4UIcmdWithADoubleAndUnit* setThhighCmd; - - G4UIcmdWithAnInteger* setnbinThbackCmd; - G4UIcmdWithADoubleAndUnit* setThlowbackCmd; - G4UIcmdWithADoubleAndUnit* setThhighbackCmd; - - G4UIcmdWithAnInteger* setnbinzvertexCmd; - G4UIcmdWithADoubleAndUnit* setzlowCmd; - G4UIcmdWithADoubleAndUnit* setzhighCmd; - - G4UIdirectory* RndmDir; - G4UIcmdWithAnInteger* RndmSaveCmd; - G4UIcmdWithAString* RndmReadCmd; - -}; - -#endif - diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh deleted file mode 100644 index 4bd7d4db46..0000000000 --- a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.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. * -// ******************************************************************** -// -// -// $Id: Em8SteppingVerbose.hh,v 1.4 2006/06/29 16:59:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -//--------------------------------------------------------------- -// -// Em8SteppingVerbose.hh -// -// Description: -// This class manages the vervose outputs in G4SteppingManager. -// -// -// Contact: -// Questions and comments to this code should be sent to -// Katsuya Amako (e-mail: Katsuya.Amako@kek.jp) -// Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp) -// -//--------------------------------------------------------------- - -class Em8SteppingVerbose; - -#ifndef Em8SteppingVerbose_h -#define Em8SteppingVerbose_h 1 - -#include "G4SteppingVerbose.hh" - -class Em8SteppingVerbose : public G4SteppingVerbose -{ - public: - // Constructor/Destructor - - Em8SteppingVerbose(); - ~Em8SteppingVerbose(); - - void StepInfo(); - void TrackingStarted(); - -}; - -#endif diff --git a/examples/advanced/microdosimetry/include/EventAction.hh b/examples/extended/electromagnetic/TestEm8/include/EventAction.hh old mode 100755 new mode 100644 similarity index 75% rename from examples/advanced/microdosimetry/include/EventAction.hh rename to examples/extended/electromagnetic/TestEm8/include/EventAction.hh index de3a6d6ed3..e7613cc2c7 --- a/examples/advanced/microdosimetry/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/EventAction.hh @@ -23,34 +23,43 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// ------------------------------------------------------------------- -// $Id: EventAction.hh,v 1.1 2008/06/04 12:58:24 sincerti Exp $ -// ------------------------------------------------------------------- - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// $Id: EventAction.hh,v 1.1 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: EventAction +// +// Author: V.Ivanchenko 01.09.2010 +// +//---------------------------------------------------------------------------- #ifndef EventAction_h #define EventAction_h 1 -#include "G4UserEventAction.hh" -#include "globals.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -class RunAction; +#include "G4UserEventAction.hh" +#include "G4Event.hh" +#include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +class EventActionMessenger; + class EventAction : public G4UserEventAction { -public: - - EventAction(RunAction*); - ~EventAction(); +public: // Without description + + EventAction(); + virtual ~EventAction(); + + void BeginOfEventAction(const G4Event*); + void EndOfEventAction(const G4Event*); - void BeginOfEventAction(const G4Event*); - void EndOfEventAction(const G4Event*); - private: - - RunAction* Run; + }; + #endif diff --git a/examples/extended/electromagnetic/TestEm7/include/Histo.hh b/examples/extended/electromagnetic/TestEm8/include/Histo.hh similarity index 97% rename from examples/extended/electromagnetic/TestEm7/include/Histo.hh rename to examples/extended/electromagnetic/TestEm8/include/Histo.hh index 000ef45e6a..8348e53536 100644 --- a/examples/extended/electromagnetic/TestEm7/include/Histo.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Histo.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: Histo.hh,v 1.1 2008/08/22 18:30:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: Histo.hh,v 1.1 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #ifndef Histo_h #define Histo_h 1 diff --git a/examples/extended/electromagnetic/TestEm8/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm8/include/HistoManager.hh new file mode 100644 index 0000000000..514439c5c8 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/include/HistoManager.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: HistoManager.hh,v 1.3 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: HistoManager +// +// Description: Singleton class to make analysis and build histograms. +// User cannot access to the constructor. +// The pointer of the only existing object can be got via +// HistoManager::GetPointer() static method. +// The first invokation of this static method makes +// the singleton object. +// +// Author: V.Ivanchenko 01.09.2010 +// +//---------------------------------------------------------------------------- +// + +#ifndef HistoManager_h +#define HistoManager_h 1 + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "globals.hh" +#include "G4DataVector.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class Histo; +class G4Step; +class G4ElectronIonPair; + +class HistoManager +{ + +public: + // With description + + static HistoManager* GetPointer(); + +private: + + HistoManager(); + +public: // Without description + + ~HistoManager(); + + void bookHisto(); + + void BeginOfRun(); + void EndOfRun(); + + void BeginOfEvent(); + void EndOfEvent(); + + void AddEnergy(G4double edep, G4Step*); + + inline void SetMaxEnergy(G4double value); + + inline void SetNumberBins(G4int value); + + inline void SetNumberBinsCluster(G4int value); + + inline void SetVerbose(G4int value); + + inline G4int GetVerbose() const; + +private: + + // MEMBERS + static HistoManager* fManager; + + G4int nHisto; + G4int verbose; + + G4double maxEnergy; + G4double nStepGas; + G4double nCluster; + G4double nTotStepGas; + G4double nTotCluster; + G4double nEvt; + + G4int nBinsE; + G4int nBinsCluster; + + G4double totEdep; + G4double overflow; + G4DataVector Egas; + + Histo* histo; + G4ElectronIonPair* elIonPair; +}; + +inline void HistoManager::SetMaxEnergy(G4double value) +{ + maxEnergy = value; +} + +inline void HistoManager::SetNumberBins(G4int value) +{ + nBinsE = value; +} + +inline void HistoManager::SetNumberBinsCluster(G4int value) +{ + nBinsCluster = value; +} + +inline void HistoManager::SetVerbose(G4int value) +{ + verbose = value; +} + +inline G4int HistoManager::GetVerbose() const +{ + return verbose; +} + +#endif diff --git a/examples/extended/electromagnetic/TestEm8/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/HistoMessenger.hh new file mode 100644 index 0000000000..ec9f26168c --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/include/HistoMessenger.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: HistoMessenger.hh,v 1.1 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +//....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 Histo; +class G4UIdirectory; +class G4UIcommand; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class HistoMessenger: public G4UImessenger +{ + public: + + HistoMessenger(Histo* ); + ~HistoMessenger(); + + void SetNewValue(G4UIcommand* ,G4String ); + + private: + + Histo* histo; + + G4UIdirectory* histoDir; + G4UIcmdWithAString* factoryCmd; + G4UIcmdWithAString* fileCmd; + G4UIcommand* histoCmd; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/extended/electromagnetic/TestEm8/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm8/include/PhysicsList.hh index 2a1046f30b..beb62efd7c 100644 --- a/examples/extended/electromagnetic/TestEm8/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm8/include/PhysicsList.hh @@ -23,16 +23,19 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: PhysicsList.hh,v 1.5 2010/09/08 09:12:10 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: PhysicsList.hh,v 1.3 2008/11/21 12:39:24 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +//--------------------------------------------------------------------------- // -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// ClassName: PhysicsList // -// 14.10.02 (V.Ivanchenko) provide modular list on base of old PhysicsList +// Description: EM physics with a possibility to add PAI model +// +// Author: V.Ivanchenko 01.09.2010 +// +//---------------------------------------------------------------------------- // -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef PhysicsList_h #define PhysicsList_h 1 @@ -50,6 +53,7 @@ class PhysicsListMessenger; class PhysicsList: public G4VModularPhysicsList { public: + PhysicsList(); virtual ~PhysicsList(); @@ -59,12 +63,12 @@ public: void SetCutForGamma(G4double); void SetCutForElectron(G4double); void SetCutForPositron(G4double); + void SetCutForProton(G4double); void AddPhysicsList(const G4String& name); void ConstructProcess(); - void AddStepMax(); - //StepMax* GetStepMaxProcess() {return stepMaxProcess;}; + void AddStepMax(); private: @@ -72,11 +76,12 @@ private: void NewPAIModel(const G4ParticleDefinition*, const G4String& modname, const G4String& procname); - G4EmConfigurator em_config; + G4EmConfigurator* em_config; G4double cutForGamma; G4double cutForElectron; G4double cutForPositron; + G4double cutForProton; G4VPhysicsConstructor* emPhysicsList; G4VPhysicsConstructor* generalPhysicsList; diff --git a/examples/extended/electromagnetic/TestEm8/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/PhysicsListMessenger.hh index 78939f0d41..2d78419a85 100644 --- a/examples/extended/electromagnetic/TestEm8/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/PhysicsListMessenger.hh @@ -24,9 +24,18 @@ // ******************************************************************** // // -// $Id: PhysicsListMessenger.hh,v 1.2 2006/06/29 16:59:49 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysicsListMessenger.hh,v 1.3 2010/09/08 09:12:10 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // +//--------------------------------------------------------------------------- +// +// ClassName: PhysicsListMessenger +// +// Description: EM physics with a possibility to add PAI model +// +// Author: V.Ivanchenko 01.09.2010 +// +//---------------------------------------------------------------------------- // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -41,27 +50,27 @@ class PhysicsList; class G4UIcmdWithADoubleAndUnit; class G4UIcmdWithAString; +class G4UIcmdWithAnInteger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class PhysicsListMessenger: public G4UImessenger { - public: +public: - PhysicsListMessenger(PhysicsList* ); - ~PhysicsListMessenger(); + PhysicsListMessenger(PhysicsList* ); + virtual ~PhysicsListMessenger(); - void SetNewValue(G4UIcommand*, G4String); + void SetNewValue(G4UIcommand*, G4String); - private: +private: - PhysicsList* pPhysicsList; + PhysicsList* pPhysicsList; - G4UIcmdWithADoubleAndUnit* gammaCutCmd; - G4UIcmdWithADoubleAndUnit* electCutCmd; - G4UIcmdWithADoubleAndUnit* protoCutCmd; - G4UIcmdWithADoubleAndUnit* allCutCmd; - G4UIcmdWithAString* pListCmd; + G4UIcmdWithADoubleAndUnit* eCmd; + G4UIcmdWithAnInteger* ebCmd; + G4UIcmdWithAnInteger* cbCmd; + G4UIcmdWithAString* pListCmd; }; diff --git a/examples/extended/electromagnetic/TestEm8/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm8/include/PrimaryGeneratorAction.hh new file mode 100644 index 0000000000..06d99de6e9 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/include/PrimaryGeneratorAction.hh @@ -0,0 +1,78 @@ +// +// ******************************************************************** +// * 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 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +///////////////////////////////////////////////////////////////////////// +// +// TestEm8: Gaseous detector +// +// Created: 31.08.2010 V.Ivanchenko +// +// Modified: +// +//////////////////////////////////////////////////////////////////////// +// + +//....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; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ +public: + + PrimaryGeneratorAction(); + virtual ~PrimaryGeneratorAction(); + + virtual void GeneratePrimaries(G4Event*); + //G4ParticleGun* GetParticleGun() {return particleGun;}; + void SetPositionZ(G4double value); + +private: + + PrimaryGeneratorAction & operator=(const PrimaryGeneratorAction &right); + PrimaryGeneratorAction(const PrimaryGeneratorAction&); + + G4ParticleGun* particleGun; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/RunAction.hh similarity index 71% rename from examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh rename to examples/extended/electromagnetic/TestEm8/include/RunAction.hh index 35321c3993..26472dee67 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/RunAction.hh @@ -23,37 +23,44 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: RunAction.hh,v 1.1 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: AnaEx01PrimaryGeneratorMessenger.hh,v 1.4 2006/06/29 16:33:33 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +//--------------------------------------------------------------------------- // -// +// ClassName: RunAction +// +// Author: V.Ivanchenko 01.09.2010 +// +//---------------------------------------------------------------------------- +// +#ifndef RunAction_h +#define RunAction_h 1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -#ifndef AnaEx01PrimaryGeneratorMessenger_h -#define AnaEx01PrimaryGeneratorMessenger_h 1 - -#include "G4UImessenger.hh" +#include "G4UserRunAction.hh" +#include "G4Run.hh" #include "globals.hh" -class AnaEx01PrimaryGeneratorAction; -class G4UIcmdWithAString; - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -class AnaEx01PrimaryGeneratorMessenger: public G4UImessenger +class RunAction : public G4UserRunAction { - public: - AnaEx01PrimaryGeneratorMessenger(AnaEx01PrimaryGeneratorAction*); - ~AnaEx01PrimaryGeneratorMessenger(); - - void SetNewValue(G4UIcommand*, G4String); - - private: - AnaEx01PrimaryGeneratorAction* AnaEx01Action; - G4UIcmdWithAString* RndmCmd; +public: // Without description + + RunAction(); + virtual ~RunAction(); + +public: // With description + + void BeginOfRunAction(const G4Run*); + // In this method histogramms are booked + + void EndOfRunAction(const G4Run*); + // In this method bookHisto method is called in which histogramms are filled + }; #endif diff --git a/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh b/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh deleted file mode 100644 index 79c094352c..0000000000 --- a/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh +++ /dev/null @@ -1,57 +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: TRTDetectorConstruction.hh,v 1.4 2006/06/29 16:59:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -#ifndef TRTDetectorConstruction_h -#define TRTDetectorConstruction_h 1 - -#include "G4VUserDetectorConstruction.hh" -#include "Randomize.hh" - -class TRTTrackerSD; -class SCTTrackerSD; -class HepJamesRandom; - -class TRTDetectorConstruction : public G4VUserDetectorConstruction -{ - public: - TRTDetectorConstruction(); - ~TRTDetectorConstruction(); - - public: - G4VPhysicalVolume* Construct(); - - private: - TRTTrackerSD *TRTStrawSD; - SCTTrackerSD *SCTStripSD; - HepJamesRandom theJamesEngine; -}; - -#endif diff --git a/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh b/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh deleted file mode 100644 index 3fe2baff52..0000000000 --- a/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh +++ /dev/null @@ -1,124 +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: TRTMaterials.hh,v 1.4 2006/06/29 17:00:01 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -#ifndef TRT_MATERIALS_HH -#define TRT_MATERIALS_HH - -//--------- Material definition --------- - - G4double a, iz, z, density; - G4String name, symbol; - G4int nel, nComponents; - - a = 14.01*g/mole; - G4Element* elN = new G4Element(name="Nitrogen", symbol="N", iz=7., a); - a = 16.00*g/mole; - G4Element* elO = new G4Element(name="Oxygen", symbol="O", iz=8., a); - a = 12.01*g/mole; - G4Element* elC = new G4Element(name="Carbon", symbol="C", iz=6., a); - a = 1.01*g/mole; - G4Element* elH = new G4Element(name="Hydrogen", symbol="H", iz=1., a); - a = 131.29*g/mole; - G4Element* elXe = new G4Element(name="Xenon", symbol="Xe", iz=54., a); - a = 19.00*g/mole; - G4Element* elF = new G4Element(name="Fluorine", symbol="F", iz=9., a); - - density = 1.205*mg/cm3; - G4Material* Air = new G4Material(name="Air", density, nel=2, - kStateGas,293.15*kelvin,1.*atmosphere); - Air->AddElement(elN, .7); - Air->AddElement(elO, .3); - - density = 1.39*g/cm3; - G4Material* Kapton = new G4Material(name="Kapton", density, nel=3); - Kapton->AddElement(elO,2); - Kapton->AddElement(elC,5); - Kapton->AddElement(elH,4); - - a = 63.55*g/mole; - density = 8.96*g/cm3; - G4Material* Copper = new G4Material(name="Copper", z=29.,a, density); - - a = 26.98*g/mole; - density = 2.7*g/cm3; - G4Material* Al = new G4Material(name="Aluminum", z=13., a, density); - - a = 28.09*g/mole; - density = 2.33*g/cm3; - G4Material* Si = new G4Material(name="Silicon", z=14., a, density); - - density = 1.977*mg/cm3; - G4Material* CO2 = new G4Material(name="CO2", density, nel=2, - kStateGas,273.15*kelvin,1.*atmosphere); - CO2->AddElement(elC,1); - CO2->AddElement(elO,2); - - G4double TRT_Xe_density = 5.485*mg/cm3; - G4Material* TRT_Xe = new G4Material(name="TRT_Xe", TRT_Xe_density, nel=1, - kStateGas,293.15*kelvin,1.*atmosphere); - TRT_Xe->AddElement(elXe,1); - - G4double TRT_CO2_density = 1.842*mg/cm3; - G4Material* TRT_CO2 = new G4Material(name="TRT_CO2", TRT_CO2_density, nel=2, - kStateGas,293.15*kelvin,1.*atmosphere); - TRT_CO2->AddElement(elC,1); - TRT_CO2->AddElement(elO,2); - - G4double TRT_CF4_density = 3.9*mg/cm3; - G4Material* TRT_CF4 = new G4Material(name="TRT_CF4", TRT_CF4_density, nel=2, - kStateGas,293.15*kelvin,1.*atmosphere); - TRT_CF4->AddElement(elC,1); - TRT_CF4->AddElement(elF,4); - - G4double XeCO2CF4_density = 4.76*mg/cm3; - G4Material* XeCO2CF4 = new G4Material(name="XeCO2CF4", XeCO2CF4_density, - nComponents=3, - kStateGas,293.15*kelvin,1.*atmosphere); - XeCO2CF4->AddMaterial(TRT_Xe,0.807); - XeCO2CF4->AddMaterial(TRT_CO2,0.039); - XeCO2CF4->AddMaterial(TRT_CF4,0.154); - - density = 0.935*g/cm3; - G4Material* TRT_CH2 = new G4Material(name="TRT_CH2",density, nel=2); - TRT_CH2->AddElement(elC,1); - TRT_CH2->AddElement(elH,2); - - density = 0.059*g/cm3; - G4Material* Radiator = new G4Material(name="Radiator",density, nel=2); - Radiator->AddElement(elC,1); - Radiator->AddElement(elH,2); - - density = 0.145*g/cm3; - G4Material* CarbonFiber = new G4Material(name="CarbonFiber",density, nel=1); - CarbonFiber->AddElement(elC,1); - -#endif - diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh b/examples/extended/electromagnetic/TestEm8/include/TargetSD.hh similarity index 71% rename from examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh rename to examples/extended/electromagnetic/TestEm8/include/TargetSD.hh index a9d9af4d7c..8968bb23ea 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh +++ b/examples/extended/electromagnetic/TestEm8/include/TargetSD.hh @@ -23,47 +23,52 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: TargetSD.hh,v 1.1 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: Em8CalorimeterSD.hh,v 1.4 2006/06/29 16:59:01 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +///////////////////////////////////////////////////////////////////////// // +// TestEm8: Gaseous detector +// +// Created: 31.08.2010 V.Ivanchenko +// +// Modified: +// +//////////////////////////////////////////////////////////////////////// // -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#ifndef Em8CalorimeterSD_h -#define Em8CalorimeterSD_h 1 +#ifndef TargetSD_h +#define TargetSD_h 1 #include "G4VSensitiveDetector.hh" #include "globals.hh" -class Em8DetectorConstruction; -class G4HCofThisEvent; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + class G4Step; -#include "Em8CalorHit.hh" +class G4TouchableHistory; +class G4HCofThisEvent; +class HistoManager; + +class TargetSD : public G4VSensitiveDetector +{ +public: // Without description + + TargetSD(const G4String&); + virtual ~TargetSD(); + + void Initialize(G4HCofThisEvent*); + G4bool ProcessHits(G4Step*,G4TouchableHistory*); + void EndOfEvent(G4HCofThisEvent*); + void clear(); + void PrintAll(); + +private: + + HistoManager* theHisto; +}; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -class Em8CalorimeterSD : public G4VSensitiveDetector -{ - public: - - Em8CalorimeterSD(G4String, Em8DetectorConstruction* ); - ~Em8CalorimeterSD(); - - void Initialize(G4HCofThisEvent*); - G4bool ProcessHits(G4Step*,G4TouchableHistory*); - void EndOfEvent(G4HCofThisEvent*); - void clear(); - void PrintAll(); - - private: - - Em8CalorHitsCollection* CalCollection; - Em8DetectorConstruction* Detector; - G4int* HitID; -}; - #endif diff --git a/examples/extended/electromagnetic/TestEm8/init.mac b/examples/extended/electromagnetic/TestEm8/init.mac deleted file mode 100644 index c3001cad62..0000000000 --- a/examples/extended/electromagnetic/TestEm8/init.mac +++ /dev/null @@ -1,10 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -/run/verbose 2 -# -# - diff --git a/examples/extended/electromagnetic/TestEm8/run01.mac b/examples/extended/electromagnetic/TestEm8/run01.mac deleted file mode 100644 index 704b0462b7..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run01.mac +++ /dev/null @@ -1,37 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Gold -/calor/setAbsThick 9.658e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot01 -# PLOT: angle distr. of transmitted particles -/plots/setnbinTh 100 -/plots/setThlow 0.0 deg -/plots/setThhigh 10.0 deg -# -/calor/cutG 13.0 micrometer -/calor/cutE 1.12 micrometer -/run/initialize -/run/particle/dumpCutValues -# -# -/gun/particle e- -/gun/energy 15.7 MeV -# -/run/beamOn 1000000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run01a.mac b/examples/extended/electromagnetic/TestEm8/run01a.mac deleted file mode 100644 index 49dfbc5f49..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run01a.mac +++ /dev/null @@ -1,39 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Gold -/calor/setAbsThick 9.658e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot01a -# PLOT: angle distr. of transmitted particles -/plots/setnbinTh 60 -/plots/setThlow 0.0 deg -/plots/setThhigh 30.0 deg -# -/calor/cutG 13.0 micrometer -/calor/cutE 1.12 micrometer -/run/initialize -/run/particle/dumpCutValues -# -# -/gun/particle e- -/gun/energy 15.7 MeV -# -/run/beamOn 4186 -/tracking/verbose 1 -/run/beamOn 1 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run01b.mac b/examples/extended/electromagnetic/TestEm8/run01b.mac deleted file mode 100644 index 6b6adc5727..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run01b.mac +++ /dev/null @@ -1,38 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Gold -/calor/setAbsThick 9.658e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot01 -# PLOT: angle distr. of transmitted particles -/plots/setnbinTh 100 -/plots/setThlow 0.0 deg -/plots/setThhigh 10.0 deg -# -/calor/cutG 13.0 micrometer -/calor/cutE 1.12 micrometer -/run/initialize -/run/particle/dumpCutValues -# -# -/gun/particle e- -/gun/energy 15.7 MeV -# -/event/verbose 1 -/run/beamOn 100000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run02.mac b/examples/extended/electromagnetic/TestEm8/run02.mac deleted file mode 100644 index ce699b924b..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run02.mac +++ /dev/null @@ -1,37 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Gold -/calor/setAbsThick 19.296e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot02 -# PLOT: angle distr. of transmitted particles -/plots/setnbinTh 100 -/plots/setThlow 0.0 deg -/plots/setThhigh 10.0 deg -# -/calor/cutG 13.0 micrometer -/calor/cutE 1.12 micrometer -/run/initialize -/run/particle/dumpCutValues -# -# -/gun/particle e- -/gun/energy 15.7 MeV -# -/run/beamOn 1000000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run02a.mac b/examples/extended/electromagnetic/TestEm8/run02a.mac deleted file mode 100644 index 2364009386..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run02a.mac +++ /dev/null @@ -1,37 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Gold -/calor/setAbsThick 19.296e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot02a -# PLOT: angle distr. of transmitted particles -/plots/setnbinTh 60 -/plots/setThlow 0.0 deg -/plots/setThhigh 30.0 deg -# -/calor/cutG 13.0 micrometer -/calor/cutE 1.12 micrometer -/run/initialize -/run/particle/dumpCutValues -# -# -/gun/particle e- -/gun/energy 15.7 MeV -# -/run/beamOn 1000000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run03.mac b/examples/extended/electromagnetic/TestEm8/run03.mac deleted file mode 100644 index 51416ba5cc..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run03.mac +++ /dev/null @@ -1,36 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Silicon -/calor/setAbsThick 50.000e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot03 -# PLOT: angle distr. of transmitted particles -/plots/setnbinTh 60 -/plots/setThlow 0.0 deg -/plots/setThhigh 6.0 deg -# -/calor/cutG 2130.0 micrometer -/calor/cutE 7.000 micrometer -/run/initialize -/run/particle/dumpCutValues -# -/gun/particle proton -/gun/energy 6.56 MeV -# -/run/beamOn 100000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run04.mac b/examples/extended/electromagnetic/TestEm8/run04.mac deleted file mode 100644 index beee74f869..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run04.mac +++ /dev/null @@ -1,36 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Silicon -/calor/setAbsThick 92.600e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot04 -# PLOT: angle distr. of transmitted particles -/plots/setnbinTh 60 -/plots/setThlow 0.0 deg -/plots/setThhigh 6.0 deg -# -/calor/cutG 2130.0 micrometer -/calor/cutE 7.000 micrometer -/run/initialize -/run/particle/dumpCutValues -# -/gun/particle proton -/gun/energy 6.56 MeV -# -/run/beamOn 100000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run05.mac b/examples/extended/electromagnetic/TestEm8/run05.mac deleted file mode 100644 index a648f53b53..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run05.mac +++ /dev/null @@ -1,39 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Aluminium -/calor/setAbsThick 4.005 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# -# hist file name -/plots/sethistName geant4.plot05 -# PLOT: angle distr. of transmitted particles -/plots/setnbinTh 100 -/plots/setThlow 0.0 deg -/plots/setThhigh 0.01 deg -# -/calor/cutG 2250.0 micrometer -/calor/cutE 6.050 micrometer -/run/initialize -/run/particle/dumpCutValues -# -# -/gun/particle proton -# momentum 70 GeV/c .... -/gun/energy 69068. MeV -# -/run/beamOn 100000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run1.mac b/examples/extended/electromagnetic/TestEm8/run1.mac deleted file mode 100644 index a822392e01..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run1.mac +++ /dev/null @@ -1,95 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -# /run/setdefault -# /run/setintegral -# /run/setcontonly -# /run/setionplus -/run/setdefault -/run/setminDeltaEnergy 1. keV -# /run/setdRoverR 0.001 -# /run/setfinalR 0.001 mm -# -# PLOT: nb of steps .................................................... -/plots/setnbinStep 100 -/plots/setSteplow 0. -/plots/setStephigh 2000. -# PLOT: sum of tracklength of charged particles ......................... -/plots/setnbinTl 0 -/plots/setTllow 0.0 mm -/plots/setTlhigh 3.0 mm -# PLOT: energy deposit distribution in absorber............................ -/plots/setnbinEn 0 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.50 MeV -# PLOT: energy of transmitted particles (with quantum numbers of the primary) -/plots/setnbinTt 0 -/plots/setTtlow 0.0 MeV -/plots/setTthigh 1.0 MeV -# PLOT: angle distr. of transmitted particles -/plots/setnbinTh 0 -/plots/setThlow 0.0 deg -/plots/setThhigh 90. deg -# PLOT: lateral displacement for transmitted particles at exit -/plots/setnbinR 0 -/plots/setRlow 0.0 mm -/plots/setRhigh 2.0 mm -# PLOT: energy of backscattered particles (with quantum numbers of the primary) -/plots/setnbinTb 0 -/plots/setTblow 0.0 MeV -/plots/setTbhigh 1.0 MeV -# PLOT: angle distr. of backscattered particles -/plots/setnbinThback 0 -/plots/setThlowback 0.0 deg -/plots/setThhighback 90.0 deg -# PLOT: energy spectrum of charged secondaries -/plots/setnbinTsec 0 -/plots/setTseclow 0.00 MeV -/plots/setTsechigh 0.50 MeV -# PLOT: z coord. of e+/e- production -/plots/setnbinzvertex 0 -/plots/setzlow -0.500 mm -/plots/setzhigh 0.500 mm -# PLOT: energy spectrum of photons escaping the absorber (forward) -/plots/setnbinGamma 0 -/plots/setElowGamma 1.0 keV -/plots/setEhighGamma 1000.0 keV -# -/run/initialize -/calor/setAbsMat Aluminium -# -/calor/setAbsThick 20.0 m -/calor/setAbsRad 10.00 m -/calor/update -# -# /event/setsignoise 3.8 keV -# /event/setcutlow 0.0 keV -# -/calor/cutG 2.2 mm -/calor/cutE 6.05 micrometer -/run/initialize -/run/particle/dumpCutValues -# -# -/gun/particle e- -/gun/energy 100. MeV -/gun/xvertex 0.000 mm -/gun/yvertex 0.000 mm -/gun/zvertex -5.000 m -# -/tracking/verbose 0 -/stepping/setprintlimit 1000 -/event/setverbose 0 -/stepping/setverbose 0 -/stepping/setnbofevents 0 -/stepping/seteventno 99 -# -/run/beamOn 10 -# - diff --git a/examples/extended/electromagnetic/TestEm8/run11.mac b/examples/extended/electromagnetic/TestEm8/run11.mac deleted file mode 100644 index d107bb3063..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run11.mac +++ /dev/null @@ -1,97 +0,0 @@ -# -# Macro file 'run11.mac' for the initialization phase of "TestEm8.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -/run/verbose 2 -#/tracking/verbose 2 -# -# -# select EM PhysicsList -# -/testem/phys/addPhysics pai -# -#/testem/phys/addPhysics pai-photon -# -#/testem/phys/addPhysics standard -# -#/testem/phys/addPhysics model -# -/testem/phys/setCuts 1 mm -#/testem/phys/VertexCuts 0.1 mm -#/testem/phys/MuonCuts 10.0 mm -#/testem/stepMax 10 mm -# -#/process/eLoss/preciseRange true -#/process/eLoss/integral true -# -# hist file name -# -/plots/sethistName g4.p11 -# -# PLOT: energy deposit distribution in absorber -# -/plots/setnbinEn 150 -/plots/setEnlow 0.00 MeV -/plots/setEnhigh 0.3 MeV -# -# -#/process/eLoss/verbose 2 -# -/run/initialize -/run/particle/dumpCutValues -# -#/gun/particle e- -# -#/gun/particle proton -# -/gun/particle pi+ -# -#/gun/particle mu- -# -#/gun/energy 4862.38 MeV -# -#/gun/energy 2210.00 MeV -# -#/gun/energy 1.00 MeV -# -#/gun/energy 8861.00 MeV -# -#/gun/energy 2864.00 MeV -# -/gun/energy 3863.00 MeV -# -#/gun/energy 318.0 MeV -# -#/gun/energy 10.46 MeV -# -#/tracking/verbose 1 -# -/calor/setGammaCut 0.1 -/calor/setElectronCut 0.1 -/calor/setPositronCut 0.1 -/calor/update -# -#/testem/stepMax 10 mm -# -/run/initialize -# -#/tracking/verbose 1 -# -/event/printModulo 1000 -/run/beamOn 50000 -# -#/run/beamOn 3820 -#/tracking/verbose 6 -#/event/printModulo 1 -#/run/beamOn 10 -# - - - - - - - - diff --git a/examples/extended/electromagnetic/TestEm8/run12.mac b/examples/extended/electromagnetic/TestEm8/run12.mac deleted file mode 100644 index 40644b1b2a..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run12.mac +++ /dev/null @@ -1,36 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Silicon -/calor/setAbsThick 105.0e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot12 -# PLOT: energy deposit distribution in absorber............................ -/plots/setnbinEn 55 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.1 MeV -# -/calor/cutG 2.13 mm -/calor/cutE 7.00 micrometer -/run/initialize -/run/particle/dumpCutValues -# -/gun/particle e- -/gun/energy 1.00 MeV -# -/run/beamOn 1000000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run13.mac b/examples/extended/electromagnetic/TestEm8/run13.mac deleted file mode 100644 index f8f79673e0..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run13.mac +++ /dev/null @@ -1,36 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Silicon -/calor/setAbsThick 191.0e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot13 -# PLOT: energy deposit distribution in absorber............................ -/plots/setnbinEn 55 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.1 MeV -# -/calor/cutG 2.13 mm -/calor/cutE 7.00 micrometer -/run/initialize -/run/particle/dumpCutValues -# -/gun/particle e- -/gun/energy 1.00 MeV -# -/run/beamOn 1000000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run14.mac b/examples/extended/electromagnetic/TestEm8/run14.mac deleted file mode 100644 index e845b4468d..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run14.mac +++ /dev/null @@ -1,36 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Silicon -/calor/setAbsThick 530.0e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot14 -# PLOT: energy deposit distribution in absorber............................ -/plots/setnbinEn 55 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.1 MeV -# -/calor/cutG 2.13 mm -/calor/cutE 7.00 micrometer -/run/initialize -/run/particle/dumpCutValues -# -/gun/particle e- -/gun/energy 1.00 MeV -# -/run/beamOn 1000000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run15.mac b/examples/extended/electromagnetic/TestEm8/run15.mac deleted file mode 100644 index ec6cedd942..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run15.mac +++ /dev/null @@ -1,36 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Silicon -/calor/setAbsThick 1000.0e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot15 -# PLOT: energy deposit distribution in absorber............................ -/plots/setnbinEn 55 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.1 MeV -# -/calor/cutG 2.13 mm -/calor/cutE 7.00 micrometer -/run/initialize -/run/particle/dumpCutValues -# -/gun/particle e- -/gun/energy 1.00 MeV -# -/run/beamOn 1000000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run16.mac b/examples/extended/electromagnetic/TestEm8/run16.mac deleted file mode 100644 index 7c7f9d7f7e..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run16.mac +++ /dev/null @@ -1,36 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -/run/initialize -# -/calor/setAbsMat Silicon -/calor/setAbsThick 3000.0e-3 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -# hist file name -/plots/sethistName geant4.plot16 -# PLOT: energy deposit distribution in absorber............................ -/plots/setnbinEn 55 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.1 MeV -# -/calor/cutG 2.13 mm -/calor/cutE 7.00 micrometer -/run/initialize -/run/particle/dumpCutValues -# -/gun/particle e- -/gun/energy 1.00 MeV -# -/run/beamOn 1000000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run2.mac b/examples/extended/electromagnetic/TestEm8/run2.mac deleted file mode 100644 index e45c79971b..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run2.mac +++ /dev/null @@ -1,93 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -# /run/setdefault -# /run/setintegral -# /run/setcontonly -# /run/setionplus -/run/setdefault -/run/setminDeltaEnergy 1. keV -/run/setdRoverR 0.050 -/run/setfinalR 0.001 mm -# -# PLOT: nb of steps .................................................... -/plots/setnbinStep 100 -/plots/setSteplow 0. -/plots/setStephigh 100. -# PLOT: sum of tracklength of charged particles ......................... -/plots/setnbinTl 50 -/plots/setTllow 0.0 mm -/plots/setTlhigh 1.0 mm -# PLOT: energy deposit distribution in absorber............................ -/plots/setnbinEn 60 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.20 MeV -# PLOT: energy of transmitted particles (with quantum numbers of the primary) -/plots/setnbinTt 50 -/plots/setTtlow 0.0 MeV -/plots/setTthigh 1.0 MeV -# PLOT: angle distr. of transmitted particles -/plots/setnbinTh 30 -/plots/setThlow 0.0 deg -/plots/setThhigh 90. deg -# PLOT: lateral displacement for transmitted particles at exit -/plots/setnbinR 50 -/plots/setRlow 0.0 mm -/plots/setRhigh 0.25 mm -# PLOT: energy of backscattered particles (with quantum numbers of the primary) -/plots/setnbinTb 50 -/plots/setTblow 0.0 MeV -/plots/setTbhigh 1.0 MeV -# PLOT: andle distr. of backscattered particles -/plots/setnbinThback 30 -/plots/setThlowback 0.0 deg -/plots/setThhighback 90.0 deg -# PLOT: energy spectrum of charged secondaries -/plots/setnbinTsec 100 -/plots/setTseclow 0.00 MeV -/plots/setTsechigh 0.50 MeV -# PLOT: z coord. of e+/e- production -/plots/setnbinzvertex 100 -/plots/setzlow -0.0500 mm -/plots/setzhigh 0.0500 mm -# PLOT: energy spectrum of photons escaping the absorber (forward) -/plots/setnbinGamma 100 -/plots/setElowGamma 1.0 keV -/plots/setEhighGamma 1000.0 keV -# -/run/initialize -/calor/setAbsMat Gold -# -/calor/setAbsThick 0.10 mm -/calor/setAbsRad 10.00 mm -/calor/update -# -# /event/setsignoise 3.8 keV -# /event/setcutlow 0.0 keV -# -/run/particle/setCut 0.0001000 mm -/run/initialize -/run/particle/dumpCutValues -# -/gun/particle e- -/gun/energy 1. MeV -/gun/xvertex 0.000 mm -/gun/yvertex 0.000 mm -/gun/zvertex -0.0500 mm -# -/tracking/verbose 0 -/stepping/setprintlimit 1000 -/event/setverbose 0 -/stepping/setverbose 0 -/stepping/setnbofevents 0 -/stepping/seteventno 99 -# -/run/beamOn 10000 -# - diff --git a/examples/extended/electromagnetic/TestEm8/run21.mac b/examples/extended/electromagnetic/TestEm8/run21.mac deleted file mode 100644 index 6643769ac7..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run21.mac +++ /dev/null @@ -1,37 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -# hist file name -/plots/sethistName geant4.plot21 -# PLOT: gamma energy at exit -/plots/setnbinGamma 80 -/plots/setElowGamma 0.1 MeV -/plots/setEhighGamma 1. GeV -# -/run/initialize -# -/calor/setAbsMat Aluminium -/calor/setAbsThick 5.30 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -/calor/cutG 1.00 mm -/calor/cutE 5.0 micrometer -/run/initialize -/run/particle/dumpCutValues -# -# -/gun/particle e- -/gun/energy 25. GeV -# -/run/beamOn 100000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/run22.mac b/examples/extended/electromagnetic/TestEm8/run22.mac deleted file mode 100644 index 64f1b7d0ed..0000000000 --- a/examples/extended/electromagnetic/TestEm8/run22.mac +++ /dev/null @@ -1,37 +0,0 @@ -# -# Macro file for the initialization phase of "TestEm5.cc" -# -# It creates the default geometry (simple absorber cylinder ) -# -/control/verbose 2 -#control/saveHistory -/run/verbose 2 -# -# hist file name -/plots/sethistName geant4.plot22 -# PLOT: gamma energy at exit -/plots/setnbinGamma 80 -/plots/setElowGamma 0.1 MeV -/plots/setEhighGamma 1. GeV -# -/run/initialize -# -/calor/setAbsMat Lead -/calor/setAbsThick 0.15 mm -/calor/setAbsRad 100.0 mm -/calor/update -# -/calor/cutG 1.00 mm -/calor/cutE 5.0 micrometer -/run/initialize -/run/particle/dumpCutValues -# -# -/gun/particle e- -/gun/energy 25. GeV -# -/run/beamOn 1000000 -# -# - - diff --git a/examples/extended/electromagnetic/TestEm8/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm8/src/DetectorConstruction.cc new file mode 100644 index 0000000000..6b7084f36f --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/src/DetectorConstruction.cc @@ -0,0 +1,404 @@ +// +// ******************************************************************** +// * 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.2 2010/10/27 14:52:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +///////////////////////////////////////////////////////////////////////// +// +// TestEm8: Gaseous detector +// +// Created: 31.08.2010 V.Ivanchenko ob base of V.Grichine code +// +// Modified: +// +//////////////////////////////////////////////////////////////////////// +// + +#include "DetectorConstruction.hh" +#include "DetectorMessenger.hh" +#include "TargetSD.hh" +#include "PrimaryGeneratorAction.hh" + +#include "G4Material.hh" +#include "G4Tubs.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" + +#include "G4SDManager.hh" +#include "G4GeometryManager.hh" +#include "G4RunManager.hh" +#include "G4NistManager.hh" + +#include "G4Region.hh" +#include "G4RegionStore.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4SolidStore.hh" +#include "G4ProductionCuts.hh" + +#include "G4VisAttributes.hh" +#include "G4Colour.hh" + +#include "G4UnitsTable.hh" +#include "G4ios.hh" + +///////////////////////////////////////////////////////////////////////////// + +DetectorConstruction::DetectorConstruction(PrimaryGeneratorAction* p) + : fPhysWorld(0), fLogicWorld(0), fLogicWind(0), fLogicDet(0), + fTargetSD(0), fRegGasDet(0), fPrimaryGenerator(p) +{ + fGasThickness = 23.0*mm; + fGasRadius = 10.*cm; + + fWindowThick = 51.0*micrometer; + + DefineMaterials(); + + fDetectorMessenger = new DetectorMessenger(this); + + G4double cut = 23.*mm; + fGasDetectorCuts = new G4ProductionCuts(); + fGasDetectorCuts->SetProductionCut(cut,"gamma"); + fGasDetectorCuts->SetProductionCut(cut,"e-"); + fGasDetectorCuts->SetProductionCut(cut,"e+"); + fGasDetectorCuts->SetProductionCut(cut,"proton"); +} + +////////////////////////////////////////////////////////////////////////// + +DetectorConstruction::~DetectorConstruction() +{ + delete fDetectorMessenger; + delete fGasDetectorCuts; +} + +////////////////////////////////////////////////////////////////////////////// + +void DetectorConstruction::DefineMaterials() +{ + //This function illustrates the possible ways to define materials + G4String name, symbol ; + G4double density; + G4int nel; + G4int ncomponents; + G4double fractionmass; + + G4NistManager* manager = G4NistManager::Instance(); + // + // define Elements + // + G4Element* elH = manager->FindOrBuildElement(1); + G4Element* elC = manager->FindOrBuildElement(6); + G4Element* elO = manager->FindOrBuildElement(8); + G4Element* elF = manager->FindOrBuildElement(9); + G4Element* elXe = manager->FindOrBuildElement(54); + // + // simple gases at STP conditions + // + G4Material* Argon = manager->FindOrBuildMaterial("G4_Ar"); + G4Material* Kr = manager->FindOrBuildMaterial("G4_Kr"); + G4Material* Xe = manager->FindOrBuildMaterial("G4_Xe"); + // + // gases at STP conditions + // + G4Material* CarbonDioxide = manager->FindOrBuildMaterial("G4_CARBON_DIOXIDE"); + G4Material* Mylar = manager->FindOrBuildMaterial("G4_MYLAR"); + G4Material* Methane= manager->FindOrBuildMaterial("G4_METHANE"); + G4Material* Propane= manager->FindOrBuildMaterial("G4_PROPANE"); + G4Material* empty = manager->FindOrBuildMaterial("G4_Galactic"); + + // 93% Kr + 7% CH4, STP + density = 3.491*mg/cm3 ; + G4Material* Kr7CH4 = new G4Material(name="Kr7CH4" , density, + ncomponents=2); + Kr7CH4->AddMaterial( Kr, fractionmass = 0.986 ) ; + Kr7CH4->AddMaterial( Methane, fractionmass = 0.014 ) ; + + G4double TRT_Xe_density = 5.485*mg/cm3; + G4Material* TRT_Xe = new G4Material(name="TRT_Xe", TRT_Xe_density, nel=1, + kStateGas,293.15*kelvin,1.*atmosphere); + TRT_Xe->AddElement(elXe,1); + + G4double TRT_CO2_density = 1.842*mg/cm3; + G4Material* TRT_CO2 = new G4Material(name="TRT_CO2", TRT_CO2_density, nel=2, + kStateGas,293.15*kelvin,1.*atmosphere); + TRT_CO2->AddElement(elC,1); + TRT_CO2->AddElement(elO,2); + + G4double TRT_CF4_density = 3.9*mg/cm3; + G4Material* TRT_CF4 = new G4Material(name="TRT_CF4", TRT_CF4_density, nel=2, + kStateGas,293.15*kelvin,1.*atmosphere); + TRT_CF4->AddElement(elC,1); + TRT_CF4->AddElement(elF,4); + + // ATLAS TRT straw tube gas mixture (20 C, 1 atm) + G4double XeCO2CF4_density = 4.76*mg/cm3; + G4Material* XeCO2CF4 = new G4Material(name="XeCO2CF4", XeCO2CF4_density, + ncomponents=3, + kStateGas,293.15*kelvin,1.*atmosphere); + XeCO2CF4->AddMaterial(TRT_Xe,0.807); + XeCO2CF4->AddMaterial(TRT_CO2,0.039); + XeCO2CF4->AddMaterial(TRT_CF4,0.154); + + // C3H8,20 C, 2 atm + density = 3.758*mg/cm3 ; + G4Material* C3H8 = new G4Material(name="C3H8",density,nel=2) ; + C3H8->AddElement(elC,3) ; + C3H8->AddElement(elH,8) ; + + // 87.5% Xe + 7.5% CH4 + 5% C3H8, 20 C, 1 atm + density = 4.9196*mg/cm3 ; + G4Material* XeCH4C3H8 = new G4Material(name="XeCH4C3H8" , + density, ncomponents=3); + XeCH4C3H8->AddMaterial( Xe, fractionmass = 0.971 ) ; + XeCH4C3H8->AddMaterial( Methane, fractionmass = 0.010 ) ; + XeCH4C3H8->AddMaterial( Propane, fractionmass = 0.019 ) ; + + // 93% Ar + 7% CH4, STP + density = 1.709*mg/cm3 ; + G4Material* Ar7CH4 = new G4Material(name="Ar7CH4", density, ncomponents=2); + Ar7CH4->AddMaterial( Argon, fractionmass = 0.971 ) ; + Ar7CH4->AddMaterial( Methane, fractionmass = 0.029 ) ; + + // 80% Ar + 20% CO2, STP + density = 1.8223*mg/cm3 ; + G4Material* Ar_80CO2_20 = new G4Material(name="ArCO2" , density, + ncomponents=2); + Ar_80CO2_20->AddMaterial( Argon, fractionmass = 0.783 ) ; + Ar_80CO2_20->AddMaterial( CarbonDioxide, fractionmass = 0.217 ) ; + + // 80% Xe + 20% CO2, STP + density = 5.0818*mg/cm3 ; + G4Material* Xe20CO2 = new G4Material(name="Xe20CO2", density, + ncomponents=2); + Xe20CO2->AddMaterial( Xe, fractionmass = 0.922 ) ; + Xe20CO2->AddMaterial( CarbonDioxide, fractionmass = 0.078 ) ; + + // 80% Kr + 20% CO2, STP + density = 3.601*mg/cm3 ; + G4Material* Kr20CO2 = new G4Material(name="Kr20CO2" , density, + ncomponents=2); + Kr20CO2->AddMaterial( Kr, fractionmass = 0.89 ) ; + Kr20CO2->AddMaterial( CarbonDioxide, fractionmass = 0.11 ) ; + + fGasMat = XeCH4C3H8; + fWindowMat = Mylar; + fWorldMaterial = empty; + + G4cout << *(G4Material::GetMaterialTable()) << G4endl; +} + +///////////////////////////////////////////////////////////////////////// + +G4VPhysicalVolume* DetectorConstruction::Construct() +{ + // Cleanup old geometry + G4GeometryManager::GetInstance()->OpenGeometry(); + + if(fRegGasDet) { delete fRegGasDet; } + fRegGasDet = new G4Region("GasDetector"); + fRegGasDet->SetProductionCuts(fGasDetectorCuts); + + G4GeometryManager::GetInstance()->OpenGeometry(); + G4PhysicalVolumeStore::GetInstance()->Clean(); + G4LogicalVolumeStore::GetInstance()->Clean(); + G4SolidStore::GetInstance()->Clean(); + + G4double contThick = fWindowThick*2 + fGasThickness; + G4double contR = fWindowThick*2 + fGasRadius; + + G4double worldSizeZ = contThick*1.2; + G4double worldSizeR = contR*1.2; + + fPrimaryGenerator->SetPositionZ(-0.55*contThick); + + // Printout parameters + G4cout << "\n The WORLD is made of " + << worldSizeZ/mm << "mm of " << fWorldMaterial->GetName() ; + G4cout << ", the transverse size (R) of the world is " << worldSizeR/mm + << " mm. " << G4endl; + G4cout << " The CONTAINER is made of " + << fWindowThick/mm << "mm of " << fWindowMat->GetName() << G4endl; + G4cout << " The TARGET is made of " + << fGasThickness/mm << "mm of " << fGasMat->GetName() ; + G4cout << ", the transverse size (R) is " << fGasRadius/mm << " mm. " << G4endl; + G4cout << G4endl; + + // World + G4Tubs* SolidWorld = new G4Tubs("World", + 0.,worldSizeR,worldSizeZ/2.,0.,CLHEP::twopi); + + fLogicWorld = new G4LogicalVolume(SolidWorld, fWorldMaterial, "World"); + + fPhysWorld = new G4PVPlacement(0, //no rotation + G4ThreeVector(0.,0.,0.), + "World", + fLogicWorld, + 0, //its mother volume + false, //no boolean operation + 0); //copy number + + // Window + G4Tubs* wind = new G4Tubs("Absorber", + 0.,contR,contThick/2.,0.,CLHEP::twopi); + + fLogicWind = new G4LogicalVolume(wind, fWindowMat, "Window"); + + G4PVPlacement* PhysWind = new G4PVPlacement(0, G4ThreeVector(0.,0.,0.), "Window", + fLogicWind, fPhysWorld, false, 0); + + // Detector volume + G4Tubs* det = new G4Tubs("Gas", 0., fGasRadius, fGasThickness/2., 0., CLHEP::twopi); + + fLogicDet = new G4LogicalVolume(det, fGasMat, "Gas"); + + new G4PVPlacement(0, G4ThreeVector(0.,0.,0.), "Gas", fLogicDet, PhysWind, false, 0); + + fRegGasDet->AddRootLogicalVolume(fLogicDet); + + // Sensitive Detectors: + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + if(!fTargetSD) + { + fTargetSD = new TargetSD("GasSD"); + SDman->AddNewDetector( fTargetSD ); + } + fLogicDet->SetSensitiveDetector(fTargetSD); + + // visualisation + fLogicWorld->SetVisAttributes(G4VisAttributes::Invisible); + G4VisAttributes* color1 = new G4VisAttributes(G4Colour(0.3, 0.3, 0.3)); + fLogicWind->SetVisAttributes(color1); + G4VisAttributes* color2 = new G4VisAttributes(G4Colour(0.0, 0.3, 0.7)); + fLogicDet->SetVisAttributes(color2); + + if(0.0 == fGasMat->GetIonisation()->GetMeanEnergyPerIonPair()) { + SetPairEnergy(20*eV); + } + return fPhysWorld; +} + +/////////////////////////////////////////////////////////////////////////// + +void DetectorConstruction::SetGasMaterial(const G4String& name) +{ + // get the pointer to the existing material + G4Material* mat = G4Material::GetMaterial(name, false); + + // create the material by its name + if(!mat) { mat = G4NistManager::Instance()->FindOrBuildMaterial(name); } + + if (mat && mat != fGasMat) { + G4cout << "### New target material: " << mat->GetName() << G4endl; + fGasMat = mat; + if(fLogicDet) { + fLogicDet->SetMaterial(mat); + G4RunManager::GetRunManager()->PhysicsHasBeenModified(); + } + } +} + +/////////////////////////////////////////////////////////////////////////// + +void DetectorConstruction::SetContainerMaterial(const G4String& name) +{ + // get the pointer to the existing material + G4Material* mat = G4Material::GetMaterial(name, false); + + // create the material by its name + if(!mat) { mat = G4NistManager::Instance()->FindOrBuildMaterial(name); } + + if (mat && mat != fWindowMat) { + G4cout << "### New material for container: " << mat->GetName() << G4endl; + fWindowMat = mat; + if(fLogicWind) { + fLogicWind->SetMaterial(mat); + G4RunManager::GetRunManager()->PhysicsHasBeenModified(); + } + } +} + +/////////////////////////////////////////////////////////////////////////// + +void DetectorConstruction::SetWorldMaterial(const G4String& name) +{ + // get the pointer to the existing material + G4Material* mat = G4Material::GetMaterial(name, false); + + // create the material by its name + if(!mat) { mat = G4NistManager::Instance()->FindOrBuildMaterial(name); } + + if (mat && mat != fWorldMaterial) { + G4cout << "### New World material: " << mat->GetName() << G4endl; + fWorldMaterial = mat; + if(fLogicWorld) { + fLogicWorld->SetMaterial(mat); + G4RunManager::GetRunManager()->PhysicsHasBeenModified(); + } + } +} + +/////////////////////////////////////////////////////////////////////////// + +void DetectorConstruction::SetGasThickness(G4double val) +{ + if(fGasThickness != val) { + G4RunManager::GetRunManager()->GeometryHasBeenModified(); + fGasThickness = val; + } +} + +/////////////////////////////////////////////////////////////////////////// + +void DetectorConstruction::SetGasRadius(G4double val) +{ + if(fGasRadius != val) { + G4RunManager::GetRunManager()->GeometryHasBeenModified(); + fGasRadius = val; + } +} + +/////////////////////////////////////////////////////////////////////////// + +void DetectorConstruction::SetContainerThickness(G4double val) +{ + if(fWindowThick != val) { + G4RunManager::GetRunManager()->GeometryHasBeenModified(); + fWindowThick = val; + } +} + +/////////////////////////////////////////////////////////////////////////// + +void DetectorConstruction::SetPairEnergy(G4double val) +{ + if(val > 0.0) { + fGasMat->GetIonisation()->SetMeanEnergyPerIonPair(val); + } +} + +//////////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm8/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/DetectorMessenger.cc new file mode 100644 index 0000000000..71922f5a5c --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/src/DetectorMessenger.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: DetectorMessenger.cc,v 1.2 2010/10/27 14:52:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +///////////////////////////////////////////////////////////////////////// +// +// TestEm8: Gaseous detector +// +// Created: 31.08.2010 V.Ivanchenko +// +// Modified: +// +//////////////////////////////////////////////////////////////////////// +// + +#include "DetectorMessenger.hh" + +#include "DetectorConstruction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithoutParameter.hh" + +/////////////////////////////////////////////////////////////////////////////////// + +DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) +:Detector(Det) +{ + detDir = new G4UIdirectory("/testem/"); + detDir->SetGuidance("Detector control."); + + GasMaterCmd = new G4UIcmdWithAString("/testem/setGasMat",this); + GasMaterCmd->SetGuidance("Select material of the detector."); + GasMaterCmd->SetParameterName("gmat",true); + GasMaterCmd->SetDefaultValue("Argon"); + GasMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + WindowMaterCmd = new G4UIcmdWithAString("/testem/setWindowMat",this); + WindowMaterCmd->SetGuidance("Select material of the window."); + WindowMaterCmd->SetParameterName("wmat",true); + WindowMaterCmd->SetDefaultValue("Mylar"); + WindowMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + WorldMaterCmd = new G4UIcmdWithAString("/testem/setWorldMat",this); + WorldMaterCmd->SetGuidance("Select material of the world."); + WorldMaterCmd->SetParameterName("worldmat",true); + WorldMaterCmd->SetDefaultValue("empty"); + WorldMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + GasThickCmd = new G4UIcmdWithADoubleAndUnit("/testem/setGasThick",this); + GasThickCmd->SetGuidance("Set thickness of the detector"); + GasThickCmd->SetParameterName("SizeZ",false,false); + GasThickCmd->SetUnitCategory("Length"); + GasThickCmd->SetDefaultUnit("mm"); + GasThickCmd->SetRange("SizeZ>0."); + GasThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + GasRadCmd = new G4UIcmdWithADoubleAndUnit("/testem/setGasRad",this); + GasRadCmd->SetGuidance("Set radius of the detector"); + GasRadCmd->SetParameterName("SizeR",false,false); + GasRadCmd->SetUnitCategory("Length"); + GasRadCmd->SetDefaultUnit("mm"); + GasRadCmd->SetRange("SizeR>0."); + GasRadCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + WinThickCmd = new G4UIcmdWithADoubleAndUnit("/testem/setWindowThick",this); + WinThickCmd->SetGuidance("Set thickness of the window"); + WinThickCmd->SetParameterName("delta",false,false); + WinThickCmd->SetUnitCategory("Length"); + WinThickCmd->SetDefaultUnit("mm"); + WinThickCmd->SetRange("delta>0."); + WinThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + ionCmd = new G4UIcmdWithADoubleAndUnit("/testem/setPairEnergy",this); + ionCmd->SetGuidance("Set energy per electron-ion pair for detector"); + ionCmd->SetParameterName("en",false,false); + ionCmd->SetUnitCategory("Energy"); + ionCmd->SetDefaultUnit("eV"); + ionCmd->SetRange("en>0."); + ionCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + +} + +////////////////////////////////////////////////////////////////////////////// + +DetectorMessenger::~DetectorMessenger() +{ + delete GasMaterCmd; + delete GasThickCmd; + delete GasRadCmd; + delete WinThickCmd; + delete WindowMaterCmd; + delete WorldMaterCmd; + delete ionCmd; + delete detDir; +} + +////////////////////////////////////////////////////////////////////////////////// + +void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + if( command == GasMaterCmd ) + { + Detector->SetGasMaterial(newValue); + } + else if( command == WindowMaterCmd ) + { + Detector->SetContainerMaterial(newValue); + } + else if( command == WorldMaterCmd ) + { + Detector->SetWorldMaterial(newValue); + } + else if( command == GasThickCmd ) + { + Detector->SetGasThickness(GasThickCmd->GetNewDoubleValue(newValue)); + } + else if( command == GasRadCmd ) + { + Detector->SetGasRadius(GasRadCmd->GetNewDoubleValue(newValue)); + } + else if( command == WinThickCmd ) + { + Detector->SetContainerThickness(WinThickCmd->GetNewDoubleValue(newValue)); + } + else if( command == ionCmd ) + { + Detector->SetPairEnergy(ionCmd->GetNewDoubleValue(newValue)); + } +} + +///////////////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc b/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc deleted file mode 100644 index 7fd39fdedd..0000000000 --- a/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.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: Em8CalorimeterSD.cc,v 1.7 2006/06/29 17:00:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "Em8CalorimeterSD.hh" - -#include "Em8CalorHit.hh" -#include "Em8DetectorConstruction.hh" - -#include "G4VPhysicalVolume.hh" -#include "G4Step.hh" -#include "G4VTouchable.hh" -#include "G4TouchableHistory.hh" -#include "G4SDManager.hh" - -#include "G4ios.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8CalorimeterSD::Em8CalorimeterSD(G4String name, - Em8DetectorConstruction* det) -:G4VSensitiveDetector(name),Detector(det) -{ - collectionName.insert("CalCollection"); - HitID = new G4int[500]; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8CalorimeterSD::~Em8CalorimeterSD() -{ - delete [] HitID; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8CalorimeterSD::Initialize(G4HCofThisEvent*) -{ - CalCollection = new Em8CalorHitsCollection - (SensitiveDetectorName,collectionName[0]); - - for (G4int j=0;j<1; j++) - { - HitID[j] = -1; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4bool Em8CalorimeterSD::ProcessHits(G4Step* aStep,G4TouchableHistory*) -{ - G4double edep = aStep->GetTotalEnergyDeposit(); - - G4double stepl = 0.; - - if (aStep->GetTrack()->GetDefinition()->GetPDGCharge() != 0.) - { - stepl = aStep->GetStepLength(); - } - if ( ( edep == 0. ) && ( stepl == 0. ) ) return false; - - G4TouchableHistory* theTouchable - = (G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable()); - - G4VPhysicalVolume* physVol = theTouchable->GetVolume(); - - G4int Em8Number = 0 ; - - if ( HitID[Em8Number] == -1 ) - { - Em8CalorHit* calHit = new Em8CalorHit(); - - if ( physVol == Detector->GetAbsorber()) // && - // aStep->GetTrack()->GetTrackID() == 1) - { - calHit->AddAbs(edep,stepl); - } - HitID[Em8Number] = CalCollection->insert(calHit) - 1; - - if ( verboseLevel > 0 ) - { - G4cout << " New Calorimeter Hit on Em8: " << Em8Number << G4endl; - } - } - else - { - if (physVol == Detector->GetAbsorber()) // && - // aStep->GetTrack()->GetTrackID() == 1 ) - { - (*CalCollection)[HitID[Em8Number]]->AddAbs(edep,stepl); - } - if ( verboseLevel > 0 ) - { - G4cout << " Energy added to Em8: " << Em8Number << G4endl; - } - } - return true; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8CalorimeterSD::EndOfEvent(G4HCofThisEvent* HCE) -{ - static G4int HCID = -1; - if(HCID<0) - { HCID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); } - HCE->AddHitsCollection(HCID,CalCollection); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8CalorimeterSD::clear() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - -void Em8CalorimeterSD::PrintAll() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc deleted file mode 100644 index 037c30fdd2..0000000000 --- a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc +++ /dev/null @@ -1,559 +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: Em8DetectorConstruction.cc,v 1.22 2009/11/24 17:51:58 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -// - -#include "Em8DetectorConstruction.hh" -#include "Em8DetectorMessenger.hh" -#include "Em8CalorimeterSD.hh" - - -#include "G4Material.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4PVPlacement.hh" - -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4SDManager.hh" -#include "G4GeometryManager.hh" -#include "G4RunManager.hh" - -#include "G4Region.hh" -#include "G4RegionStore.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" -#include "G4ProductionCuts.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -#include "G4UnitsTable.hh" -#include "G4ios.hh" - -///////////////////////////////////////////////////////////////////////////// -// -// - -Em8DetectorConstruction::Em8DetectorConstruction() -: -fWorldChanged(false), -fWorldMaterial(NULL),fSolidWorld(NULL),fLogicWorld(NULL),fPhysicsWorld(NULL), -fAbsorberMaterial(NULL),fSolidAbsorber(NULL),fLogicAbsorber(NULL), -fPhysicsAbsorber(NULL),fDetectorMessenger(NULL), -fCalorimeterSD(NULL),fRegGasDet(NULL) -{ - fDelta = 0.0001*mm; - - fAbsorberThickness = 23.0*mm; - - fAbsorberRadius = 10.*cm; - fAbsorberZ = 0.*cm ; - - fWindowThick = 51.0*micrometer ; - - fGammaCut = 23*mm; - fElectronCut = 23*mm; - fPositronCut = 23*mm; - - fDetectorMessenger = new Em8DetectorMessenger(this); -} - -////////////////////////////////////////////////////////////////////////// -// -// - -Em8DetectorConstruction::~Em8DetectorConstruction() -{ - delete fDetectorMessenger; -} - -////////////////////////////////////////////////////////////////////////// -// -// - -G4VPhysicalVolume* Em8DetectorConstruction::Construct() -{ - DefineMaterials(); - return ConstructCalorimeter(); -} - -////////////////////////////////////////////////////////////////////////////// -// -// - -void Em8DetectorConstruction::DefineMaterials() -{ - //This function illustrates the possible ways to define materials - - G4String name, symbol ; //a=mass of a mole; - G4double a, z, density ; //z=mean number of protons; - - G4int nel ; //iz=number of protons in an isotope; - // n=number of nucleons in an isotope; - - G4int ncomponents; - G4double fractionmass; - - // - // define Elements - // - - a = 1.01*g/mole; - G4Element* elH = new G4Element(name="Hydrogen",symbol="H" , z= 1., a); - - a = 12.01*g/mole; - G4Element* elC = new G4Element(name="Carbon", symbol="C", z=6., a); - - a = 14.01*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 = 39.948*g/mole; - G4Element* elAr = new G4Element(name="Argon", symbol="Ar", z=18., a); - - // - // define simple materials - // - - // Aluminium - a = 26.98*g/mole; - density = 2.7*g/cm3; - new G4Material(name="Aluminium", z=13., a, density); - - // Mylar - density = 1.39*g/cm3; - G4Material* Mylar = new G4Material(name="Mylar", density, nel=3); - Mylar->AddElement(elO,2); - Mylar->AddElement(elC,5); - Mylar->AddElement(elH,4); - - // Silicon as detector material - density = 2.330*g/cm3; - a = 28.09*g/mole; - new G4Material(name="Silicon", z=14., a, density); - - // Krypton as detector gas, STP - density = 3.700*mg/cm3 ; - a = 83.80*g/mole ; - G4Material* Kr = new G4Material(name="Kr",z=36., a, density ); - - - // Dry air (average composition) - density = 1.7836*mg/cm3 ; // STP - G4Material* Argon = new G4Material(name="Argon" , density, ncomponents=1); - Argon->AddElement(elAr, 1); - - density = 1.25053*mg/cm3 ; // STP - G4Material* Nitrogen = new G4Material(name="N2" , density, ncomponents=1); - Nitrogen->AddElement(elN, 2); - - density = 1.4289*mg/cm3 ; // STP - G4Material* Oxygen = new G4Material(name="O2" , density, ncomponents=1); - Oxygen->AddElement(elO, 2); - - density = 1.2928*mg/cm3 ; // STP - G4Material* Air = new G4Material(name="Air" , density, ncomponents=3); - Air->AddMaterial( Nitrogen, fractionmass = 0.7557 ) ; - Air->AddMaterial( Oxygen, fractionmass = 0.2315 ) ; - Air->AddMaterial( Argon, fractionmass = 0.0128 ) ; - - /* ************** - - // 93% Kr + 7% CH4, STP - density = 3.491*mg/cm3 ; - G4Material* Kr7CH4 = new G4Material(name="Kr7CH4" , density, - ncomponents=2); - Kr7CH4->AddMaterial( Kr, fractionmass = 0.986 ) ; - Kr7CH4->AddMaterial( metane, fractionmass = 0.014 ) ; - - G4double TRT_Xe_density = 5.485*mg/cm3; - G4Material* TRT_Xe = new G4Material(name="TRT_Xe", TRT_Xe_density, nel=1, - kStateGas,293.15*kelvin,1.*atmosphere); - TRT_Xe->AddElement(elXe,1); - - G4double TRT_CO2_density = 1.842*mg/cm3; - G4Material* TRT_CO2 = new G4Material(name="TRT_CO2", TRT_CO2_density, nel=2, - kStateGas,293.15*kelvin,1.*atmosphere); - TRT_CO2->AddElement(elC,1); - TRT_CO2->AddElement(elO,2); - - G4double TRT_CF4_density = 3.9*mg/cm3; - G4Material* TRT_CF4 = new G4Material(name="TRT_CF4", TRT_CF4_density, nel=2, - kStateGas,293.15*kelvin,1.*atmosphere); - TRT_CF4->AddElement(elC,1); - TRT_CF4->AddElement(elF,4); - - // ATLAS TRT straw tube gas mixture (20 C, 1 atm) - - G4double XeCO2CF4_density = 4.76*mg/cm3; - G4Material* XeCO2CF4 = new G4Material(name="XeCO2CF4", XeCO2CF4_density, - ncomponents=3, - kStateGas,293.15*kelvin,1.*atmosphere); - XeCO2CF4->AddMaterial(TRT_Xe,0.807); - XeCO2CF4->AddMaterial(TRT_CO2,0.039); - XeCO2CF4->AddMaterial(TRT_CF4,0.154); - - *********** */ - - // Xenon as detector gas, STP - density = 5.858*mg/cm3 ; - a = 131.29*g/mole ; - G4Material* Xe = new G4Material(name="Xenon",z=54., a, density ); - - // Metane, STP - density = 0.7174*mg/cm3 ; - G4Material* metane = new G4Material(name="CH4",density,nel=2) ; - metane->AddElement(elC,1) ; - metane->AddElement(elH,4) ; - - // C3H8,20 C, 2 atm - density = 3.758*mg/cm3 ; - G4Material* C3H8 = new G4Material(name="C3H8",density,nel=2) ; - C3H8->AddElement(elC,3) ; - C3H8->AddElement(elH,8) ; - - // Propane, STP - density = 2.005*mg/cm3 ; - G4Material* propane = new G4Material(name="propane",density,nel=2) ; - propane->AddElement(elC,3) ; - propane->AddElement(elH,8) ; - - // 87.5% Xe + 7.5% CH4 + 5% C3H8, 20 C, 1 atm - density = 4.9196*mg/cm3 ; - G4Material* XeCH4C3H8 = new G4Material(name="XeCH4C3H8" , - density, ncomponents=3); - XeCH4C3H8->AddMaterial( Xe, fractionmass = 0.971 ) ; - XeCH4C3H8->AddMaterial( metane, fractionmass = 0.010 ) ; - XeCH4C3H8->AddMaterial( propane, fractionmass = 0.019 ) ; - - // 93% Ar + 7% CH4, STP - density = 1.709*mg/cm3 ; - G4Material* Ar7CH4 = new G4Material(name="Ar7CH4", density, ncomponents=2); - Ar7CH4->AddMaterial( Argon, fractionmass = 0.971 ) ; - Ar7CH4->AddMaterial( metane, fractionmass = 0.029 ) ; - - // Carbon dioxide, STP - density = 1.977*mg/cm3; - G4Material* CarbonDioxide = new G4Material(name="CO2", density, nel=2); - CarbonDioxide->AddElement(elC,1); - CarbonDioxide->AddElement(elO,2); - - // 80% Ar + 20% CO2, STP - density = 1.8223*mg/cm3 ; - G4Material* Ar_80CO2_20 = new G4Material(name="ArCO2" , density, - ncomponents=2); - Ar_80CO2_20->AddMaterial( Argon, fractionmass = 0.783 ) ; - Ar_80CO2_20->AddMaterial( CarbonDioxide, fractionmass = 0.217 ) ; - - // 80% Xe + 20% CO2, STP - density = 5.0818*mg/cm3 ; - G4Material* Xe20CO2 = new G4Material(name="Xe20CO2", density, - ncomponents=2); - Xe20CO2->AddMaterial( Xe, fractionmass = 0.922 ) ; - Xe20CO2->AddMaterial( CarbonDioxide, fractionmass = 0.078 ) ; - - // 80% Kr + 20% CO2, STP - density = 3.601*mg/cm3 ; - G4Material* Kr20CO2 = new G4Material(name="Kr20CO2" , density, - ncomponents=2); - Kr20CO2->AddMaterial( Kr, fractionmass = 0.89 ) ; - Kr20CO2->AddMaterial( CarbonDioxide, fractionmass = 0.11 ) ; - - // G4cout << *(G4Material::GetMaterialTable()) << G4endl; - - // fWindowMat = Mylar ; - - fAbsorberMaterial = XeCH4C3H8; - // Al; // Si; // Xe; // Ar7CH4; // C3H8; // XeCH4C3H8; - - fWorldMaterial = Mylar; // Air ; -} - -///////////////////////////////////////////////////////////////////////// -// -// - -G4VPhysicalVolume* Em8DetectorConstruction::ConstructCalorimeter() -{ - // Cleanup old geometry - - G4GeometryManager::GetInstance()->OpenGeometry(); - G4PhysicalVolumeStore::GetInstance()->Clean(); - G4LogicalVolumeStore::GetInstance()->Clean(); - G4SolidStore::GetInstance()->Clean(); - - // G4RegionStore::GetInstance()->Clean(); - - // complete the Calor parameters definition and print - - ComputeCalorParameters(); - PrintCalorParameters(); - - // World - fSolidWorld = new G4Tubs("World", //its name - 0.,fWorldSizeR,fWorldSizeZ/2.,0.,twopi) ;//its size - - fLogicWorld = new G4LogicalVolume(fSolidWorld, //its solid - fWorldMaterial, //its material - "World"); //its name - - fPhysicsWorld = new G4PVPlacement(0, //no rotation - G4ThreeVector(), //at (0,0,0) - "World", //its name - fLogicWorld, //its logical volume - NULL, //its mother volume - false, //no boolean operation - 0); //copy number - - // Absorber - - if (fAbsorberThickness > 0.) - { - - fSolidAbsorber = new G4Tubs("Absorber", - 0.,fAbsorberRadius,fAbsorberThickness/2.,0.,twopi); - - fLogicAbsorber = new G4LogicalVolume(fSolidAbsorber, - fAbsorberMaterial, - "Absorber"); - - fPhysicsAbsorber = new G4PVPlacement(0, - G4ThreeVector(0.,0.,fAbsorberZ), - "Absorber", - fLogicAbsorber, - fPhysicsWorld, - false, - 0); - - } - if( fRegGasDet != 0 ) // remove obsolete root logical volume - { - fRegGasDet->RemoveRootLogicalVolume(fLogicAbsorber); - } - G4ProductionCuts* cuts = 0; - - if( fRegGasDet == 0 ) // First time - instantiate a region and a cut objects - { - fRegGasDet = new G4Region("VertexDetector"); - cuts = new G4ProductionCuts(); - fRegGasDet->SetProductionCuts(cuts); - } - else // Second time - get a cut object from region - { - cuts = fRegGasDet->GetProductionCuts(); - } - fRegGasDet->AddRootLogicalVolume(fLogicAbsorber); - - cuts->SetProductionCut(fGammaCut,"gamma"); - cuts->SetProductionCut(fElectronCut,"e-"); - cuts->SetProductionCut(fPositronCut,"e+"); - - // Sensitive Detectors: Absorber - - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - - if(!fCalorimeterSD) - { - fCalorimeterSD = new Em8CalorimeterSD("CalorSD",this); - SDman->AddNewDetector( fCalorimeterSD ); - } - if (fLogicAbsorber) fLogicAbsorber->SetSensitiveDetector(fCalorimeterSD); - - // Parameterisation - - // G4VXrayTRmodel* pTRModel = new G4IrregularXrayTRmodel(logicRadiator, - // fRadThickness,fGasGap); - - // G4VXrayTRmodel* pTRModel = new G4FoamXrayTRmodel(logicRadiator, - // fRadThickness,fGasGap); - - // G4VXrayTRmodel* pTRModel = new G4RegularXrayTRmodel(logicRadiator, - // fRadThickness,fGasGap); - - // G4double alphaPlate = 160.0 ; - // G4double alphaGas = 160.0 ; - - // G4VXrayTRmodel* pTRModel = new G4GamDistrXrayTRmodel(logicRadiator, - // fRadThickness,alphaPlate, - // fGasGap,alphaGas); - - // G4VXrayTRmodel* pTRModel = new G4PlateIrrGasXrayTRmodel(logicRadiator, - // fRadThickness,fGasGap); - - // pTRModel->GetPlateZmuProduct() ; - // pTRModel->GetGasZmuProduct() ; - - // pTRModel->GetNumberOfPhotons() ; - - // always return physics world - - return fPhysicsWorld; -} - -//////////////////////////////////////////////////////////////////////////// -// -// - -void Em8DetectorConstruction::PrintCalorParameters() -{ - G4cout << "\n The WORLD is made of " - << fWorldSizeZ/mm << "mm of " << fWorldMaterial->GetName() ; - G4cout << ", the transverse size (R) of the world is " << fWorldSizeR/mm - << " mm. " << G4endl; - G4cout << " The ABSORBER is made of " - << fAbsorberThickness/mm << "mm of " << fAbsorberMaterial->GetName() ; - G4cout << ", the transverse size (R) is " << fAbsorberRadius/mm << " mm. " << G4endl; - G4cout << " Z position of the (middle of the) absorber " - << fAbsorberZ/mm << " mm." << G4endl; - G4cout << G4endl; -} - -/////////////////////////////////////////////////////////////////////////// -// -// - -void Em8DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) -{ - // get the pointer to the material table - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - - // search the material by its name - G4Material* pttoMaterial; - - for (size_t J = 0 ; J < theMaterialTable->size() ; J++) - { - pttoMaterial = (*theMaterialTable)[J]; - - if(pttoMaterial->GetName() == materialChoice) - { - fAbsorberMaterial = pttoMaterial; - fLogicAbsorber->SetMaterial(pttoMaterial); - - // PrintCalorParameters(); - } - } -} - -//////////////////////////////////////////////////////////////////////////// -// -// - -void Em8DetectorConstruction::SetWorldMaterial(G4String materialChoice) -{ - // get the pointer to the material table - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - - // search the material by its name - G4Material* pttoMaterial; - for (size_t J=0 ; Jsize() ; J++) - { - pttoMaterial = (*theMaterialTable)[J]; - - if(pttoMaterial->GetName() == materialChoice) - { - fWorldMaterial = pttoMaterial; - fLogicWorld->SetMaterial(pttoMaterial); - - // PrintCalorParameters(); - } - } -} - -/////////////////////////////////////////////////////////////////////////// -// -// - -void Em8DetectorConstruction::SetAbsorberThickness(G4double val) -{ - // change Absorber thickness and recompute the calorimeter parameters - fAbsorberThickness = val; - ComputeCalorParameters(); -} - -///////////////////////////////////////////////////////////////////////////// -// -// - -void Em8DetectorConstruction::SetAbsorberRadius(G4double val) -{ - // change the transverse size and recompute the calorimeter parameters - fAbsorberRadius = val; - ComputeCalorParameters(); -} - -//////////////////////////////////////////////////////////////////////////// -// -// - -void Em8DetectorConstruction::SetWorldSizeZ(G4double val) -{ - fWorldChanged=true; - fWorldSizeZ = val; - ComputeCalorParameters(); -} - -/////////////////////////////////////////////////////////////////////////// -// -// - -void Em8DetectorConstruction::SetWorldSizeR(G4double val) -{ - fWorldChanged=true; - fWorldSizeR = val; - ComputeCalorParameters(); -} - -////////////////////////////////////////////////////////////////////////////// -// -// - -void Em8DetectorConstruction::SetAbsorberZpos(G4double val) -{ - fAbsorberZ = val; - ComputeCalorParameters(); -} - - -/////////////////////////////////////////////////////////////////////////////// -// -// - -void Em8DetectorConstruction::UpdateGeometry() -{ - G4RunManager::GetRunManager()->DefineWorldVolume(ConstructCalorimeter()); -} - -// -// -//////////////////////////////////////////////////////////////////////////// - diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc deleted file mode 100644 index 941853d0b3..0000000000 --- a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc +++ /dev/null @@ -1,194 +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: Em8DetectorMessenger.cc,v 1.8 2007/10/02 10:12:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -#include "Em8DetectorMessenger.hh" - -#include "Em8DetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" -#include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" -#include "G4UIcmdWithoutParameter.hh" - -/////////////////////////////////////////////////////////////////////////////////// - -Em8DetectorMessenger::Em8DetectorMessenger(Em8DetectorConstruction * Em8Det) -:Em8Detector(Em8Det) -{ - Em8detDir = new G4UIdirectory("/calor/"); - Em8detDir->SetGuidance("Em8 detector control."); - - AbsMaterCmd = new G4UIcmdWithAString("/calor/setAbsMat",this); - AbsMaterCmd->SetGuidance("Select Material of the Absorber."); - AbsMaterCmd->SetParameterName("choice",true); - AbsMaterCmd->SetDefaultValue("Lead"); - AbsMaterCmd->AvailableForStates(G4State_Idle); - - WorldMaterCmd = new G4UIcmdWithAString("/calor/setWorldMat",this); - WorldMaterCmd->SetGuidance("Select Material of the World."); - WorldMaterCmd->SetParameterName("wchoice",true); - WorldMaterCmd->SetDefaultValue("Air"); - WorldMaterCmd->AvailableForStates(G4State_Idle); - - AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsThick",this); - AbsThickCmd->SetGuidance("Set Thickness of the Absorber"); - AbsThickCmd->SetParameterName("SizeZ",false,false); - AbsThickCmd->SetDefaultUnit("mm"); - AbsThickCmd->SetRange("SizeZ>0."); - AbsThickCmd->AvailableForStates(G4State_Idle); - - AbsRadCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsRad",this); - AbsRadCmd->SetGuidance("Set radius of the Absorber"); - AbsRadCmd->SetParameterName("SizeR",false,false); - AbsRadCmd->SetDefaultUnit("mm"); - AbsRadCmd->SetRange("SizeR>0."); - AbsRadCmd->AvailableForStates(G4State_Idle); - - AbsZposCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsZpos",this); - AbsZposCmd->SetGuidance("Set Z pos. of the Absorber"); - AbsZposCmd->SetParameterName("Zpos",false,false); - AbsZposCmd->SetDefaultUnit("mm"); - AbsZposCmd->AvailableForStates(G4State_Idle); - - WorldZCmd = new G4UIcmdWithADoubleAndUnit("/calor/setWorldZ",this); - WorldZCmd->SetGuidance("Set Z size of the World"); - WorldZCmd->SetParameterName("WSizeZ",false,false); - WorldZCmd->SetDefaultUnit("mm"); - WorldZCmd->SetRange("WSizeZ>0."); - WorldZCmd->AvailableForStates(G4State_Idle); - - WorldRCmd = new G4UIcmdWithADoubleAndUnit("/calor/setWorldR",this); - WorldRCmd->SetGuidance("Set R size of the World"); - WorldRCmd->SetParameterName("WSizeR",false,false); - WorldRCmd->SetDefaultUnit("mm"); - WorldRCmd->SetRange("WSizeR>0."); - WorldRCmd->AvailableForStates(G4State_Idle); - - ElectronCutCmd = new G4UIcmdWithADoubleAndUnit("/calor/setElectronCut",this); - ElectronCutCmd->SetGuidance("Set electron cut in mm for vertex region"); - ElectronCutCmd->SetParameterName("ElectronCut",false,false); - ElectronCutCmd->SetDefaultUnit("mm"); - ElectronCutCmd->SetRange("ElectronCut>0."); - ElectronCutCmd->AvailableForStates(G4State_Idle); - - PositronCutCmd = new G4UIcmdWithADoubleAndUnit("/calor/setPositronCut",this); - PositronCutCmd->SetGuidance("Set positron cut in mm for vertex region"); - PositronCutCmd->SetParameterName("PositronCut",false,false); - PositronCutCmd->SetDefaultUnit("mm"); - PositronCutCmd->SetRange("PositronCut>0."); - PositronCutCmd->AvailableForStates(G4State_Idle); - - GammaCutCmd = new G4UIcmdWithADoubleAndUnit("/calor/setGammaCut",this); - GammaCutCmd->SetGuidance("Set gamma cut in mm for vertex region"); - GammaCutCmd->SetParameterName("GammaCut",false,false); - GammaCutCmd->SetDefaultUnit("mm"); - GammaCutCmd->SetRange("GammaCut>0."); - GammaCutCmd->AvailableForStates(G4State_Idle); - - UpdateCmd = new G4UIcmdWithoutParameter("/calor/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); - -} - -////////////////////////////////////////////////////////////////////////////// - -Em8DetectorMessenger::~Em8DetectorMessenger() -{ - delete AbsMaterCmd; - delete AbsThickCmd; - delete AbsRadCmd; - delete AbsZposCmd; - delete WorldMaterCmd; - delete WorldZCmd; - delete WorldRCmd; - delete UpdateCmd; - delete GammaCutCmd; - delete PositronCutCmd; - delete ElectronCutCmd; - delete Em8detDir; -} - -////////////////////////////////////////////////////////////////////////////////// - -void Em8DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == AbsMaterCmd ) - { - Em8Detector->SetAbsorberMaterial(newValue); - } - if( command == WorldMaterCmd ) - { - Em8Detector->SetWorldMaterial(newValue); - } - if( command == AbsThickCmd ) - { - Em8Detector->SetAbsorberThickness(AbsThickCmd->GetNewDoubleValue(newValue)); - } - if( command == AbsRadCmd ) - { - Em8Detector->SetAbsorberRadius(AbsRadCmd->GetNewDoubleValue(newValue)); - } - if( command == AbsZposCmd ) - { - Em8Detector->SetAbsorberZpos(AbsZposCmd->GetNewDoubleValue(newValue)); - } - if( command == WorldZCmd ) - { - Em8Detector->SetWorldSizeZ(WorldZCmd->GetNewDoubleValue(newValue)); - } - if( command == WorldRCmd ) - { - Em8Detector->SetWorldSizeR(WorldRCmd->GetNewDoubleValue(newValue)); - } - if( command == ElectronCutCmd ) - { - Em8Detector->SetElectronCut(WorldRCmd->GetNewDoubleValue(newValue)); - } - if( command == PositronCutCmd ) - { - Em8Detector->SetPositronCut(WorldRCmd->GetNewDoubleValue(newValue)); - } - if( command == GammaCutCmd ) - { - Em8Detector->SetGammaCut(WorldRCmd->GetNewDoubleValue(newValue)); - } - if( command == UpdateCmd ) - { - Em8Detector->UpdateGeometry(); - } - - -} - -///////////////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc deleted file mode 100644 index 325532f005..0000000000 --- a/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc +++ /dev/null @@ -1,252 +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: Em8EventAction.cc,v 1.10 2007/11/12 10:54:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "Em8EventAction.hh" - -#include "Em8RunAction.hh" - -#include "Em8CalorHit.hh" -#include "Em8EventActionMessenger.hh" -#include "G4Event.hh" -#include "G4EventManager.hh" -#include "G4HCofThisEvent.hh" -#include "G4VHitsCollection.hh" -#include "G4SDManager.hh" -#include "G4UImanager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" -#include "G4ios.hh" -#include "G4UnitsTable.hh" -#include "Randomize.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8EventAction::Em8EventAction(Em8RunAction* Em8RA) -:calorimeterCollID(-1),eventMessenger(NULL), - runaction(Em8RA),drawFlag("all"),printModulo(10000) -{ - verboselevel = 0; - eventMessenger = new Em8EventActionMessenger(this); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8EventAction::~Em8EventAction() -{ - delete eventMessenger; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventAction::BeginOfEventAction(const G4Event* evt) -{ - G4int evtNb = evt->GetEventID(); - if (evtNb%printModulo == 0) - G4cout << "\n---> Begin of Event: " << evtNb << G4endl; - - if(verboselevel>1) - G4cout << "<<< Event " << evtNb << " started." << G4endl; - - if (calorimeterCollID==-1) - { - G4SDManager * SDman = G4SDManager::GetSDMpointer(); - calorimeterCollID = SDman->GetCollectionID("CalCollection"); - } - - nstep = 0. ; - nstepCharged = 0. ; - nstepNeutral = 0. ; - Nch = 0. ; - Nne = 0. ; - NE=0.; - NP=0.; - Transmitted=0.; - Reflected =0.; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventAction::EndOfEventAction(const G4Event* evt) -{ - G4HCofThisEvent* HCE = evt->GetHCofThisEvent(); - Em8CalorHitsCollection* CHC = NULL; - if (HCE) - CHC = (Em8CalorHitsCollection*)(HCE->GetHC(calorimeterCollID)); - - if (CHC) - { - int n_hit = CHC->entries(); - // if(verboselevel==2) - // G4cout << " " << n_hit - // << " hits are stored in Em8CalorHitsCollection." << G4endl; - - G4double totEAbs=0, totLAbs=0; - for (int i=0;iGetEdepAbs(); - totLAbs += (*CHC)[i]->GetTrakAbs(); - } - if(verboselevel==2) - G4cout - << " Absorber: total energy: " << std::setw(7) << - G4BestUnit(totEAbs,"Energy") - << " total track length: " << std::setw(7) << - G4BestUnit(totLAbs,"Length") - << G4endl; - - // count event, add deposits to the sum ... - runaction->CountEvent() ; - runaction->AddTrackLength(totLAbs) ; - runaction->AddnStepsCharged(nstepCharged) ; - runaction->AddnStepsNeutral(nstepNeutral) ; - if(verboselevel==2) - G4cout << " Ncharged=" << Nch << " , Nneutral=" << Nne << G4endl; - runaction->CountParticles(Nch,Nne); - runaction->AddEP(NE,NP); - runaction->AddTrRef(Transmitted,Reflected) ; - runaction->AddEdeps(totEAbs) ; - runaction->FillEn(totEAbs) ; - - nstep=nstepCharged+nstepNeutral ; - runaction->FillNbOfSteps(nstep); - } - - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) - { - 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(50); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(50); - } - } - - if(verboselevel>0) - G4cout << "<<< Event " << evt->GetEventID() << " ended." << G4endl; - - - //save rndm status - if (runaction->GetRndmFreq() == 2) - { - CLHEP::HepRandom::saveEngineStatus("endOfEvent.rndm"); - G4int evtNb = evt->GetEventID(); - if (evtNb%printModulo == 0) - { - G4cout << "\n---> End of Event: " << evtNb << G4endl; - CLHEP::HepRandom::showEngineStatus(); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4int Em8EventAction::GetEventno() -{ - G4int evno = fpEventManager->GetConstCurrentEvent()->GetEventID() ; - return evno ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventAction::setEventVerbose(G4int level) -{ - verboselevel = level ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventAction::CountStepsCharged() -{ - nstepCharged += 1. ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventAction::CountStepsNeutral() -{ - nstepNeutral += 1. ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventAction::AddCharged() -{ - Nch += 1.; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventAction::AddNeutral() -{ - Nne += 1.; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventAction::AddE() -{ - NE += 1.; - Nch += 1.; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventAction::AddP() -{ - NP += 1.; - Nch += 1.; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventAction::SetTr() -{ - Transmitted = 1.; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventAction::SetRef() -{ - Reflected = 1.; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc deleted file mode 100644 index 03ac96bf51..0000000000 --- a/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.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: Em8EventActionMessenger.cc,v 1.5 2006/06/29 17:00:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "Em8EventActionMessenger.hh" - -#include "Em8EventAction.hh" -#include "G4UIcmdWithAString.hh" -#include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" -#include "globals.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8EventActionMessenger::Em8EventActionMessenger(Em8EventAction* EvAct) -:eventAction(EvAct) -{ - setVerboseCmd = new G4UIcmdWithAnInteger("/event/setverbose",this); - setVerboseCmd->SetGuidance("Set verbose level ." ); - setVerboseCmd->SetParameterName("level",true); - setVerboseCmd->SetDefaultValue(0); - - DrawCmd = new G4UIcmdWithAString("/event/drawTracks",this); - DrawCmd->SetGuidance("Draw the tracks in the event"); - DrawCmd->SetGuidance(" Choice : none,charged, all"); - DrawCmd->SetParameterName("choice",true); - DrawCmd->SetDefaultValue("all"); - DrawCmd->SetCandidates("none charged all"); - DrawCmd->AvailableForStates(G4State_Idle); - - PrintCmd = new G4UIcmdWithAnInteger("/event/printModulo",this); - PrintCmd->SetGuidance("Print events modulo n"); - PrintCmd->SetParameterName("EventNb",false); - PrintCmd->SetRange("EventNb>0"); - PrintCmd->AvailableForStates(G4State_Idle); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8EventActionMessenger::~Em8EventActionMessenger() -{ - delete setVerboseCmd; - delete DrawCmd; - delete PrintCmd; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8EventActionMessenger::SetNewValue(G4UIcommand * command,G4String newValue) -{ - if(command == setVerboseCmd) - {eventAction->setEventVerbose(setVerboseCmd->GetNewIntValue(newValue));} - - if(command == DrawCmd) - {eventAction->SetDrawFlag(newValue);} - - if(command == PrintCmd) - {eventAction->SetPrintModulo(PrintCmd->GetNewIntValue(newValue));} -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc deleted file mode 100644 index 91326db5a3..0000000000 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc +++ /dev/null @@ -1,156 +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: Em8PrimaryGeneratorAction.cc,v 1.7 2006/06/29 17:00:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "Em8PrimaryGeneratorAction.hh" - -#include "Em8DetectorConstruction.hh" -#include "Em8PrimaryGeneratorMessenger.hh" - -#include "G4Event.hh" -#include "G4ParticleGun.hh" -#include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" -#include "Randomize.hh" -#include "G4ios.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - G4String Em8PrimaryGeneratorAction::thePrimaryParticleName="proton" ; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8PrimaryGeneratorAction::Em8PrimaryGeneratorAction( - Em8DetectorConstruction* Em8DC) -:Em8Detector(Em8DC),rndmFlag("off"),xvertex(0.),yvertex(0.),zvertex(0.), - vertexdefined(false) -{ - G4int n_particle = 1; - particleGun = new G4ParticleGun(n_particle); - - //create a messenger for this class - gunMessenger = new Em8PrimaryGeneratorMessenger(this); - - // default particle kinematic - - G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); - G4String particleName; - G4ParticleDefinition* particle - = particleTable->FindParticle(particleName="proton"); - particleGun->SetParticleDefinition(particle); - - thePrimaryParticleName = particle->GetParticleName() ; - - particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); - particleGun->SetParticleEnergy(100.*GeV); - - zvertex = 0.0 ; // -0.5*(Em8Detector->GetAbsorberThickness()); - particleGun->SetParticlePosition(G4ThreeVector(xvertex,yvertex,zvertex)); - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8PrimaryGeneratorAction::~Em8PrimaryGeneratorAction() -{ - delete particleGun; - delete gunMessenger; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) -{ - //this function is called at the begining of event - // - thePrimaryParticleName = particleGun->GetParticleDefinition()-> - GetParticleName() ; - G4double x0,y0,z0 ; - G4double delta = 0.0001*mm; - if(vertexdefined) - { - x0 = xvertex ; - y0 = yvertex ; - z0 = zvertex ; - } - else - { - x0 = 0. ; - y0 = 0. ; - z0 = -0.5*( Em8Detector->GetWorldSizeZ() ) + delta ; - } - /* **************************************************** - G4double r0,phi0 ; - if (rndmFlag == "on") - { - r0 = (Em8Detector->GetAbsorberRadius())*std::sqrt(G4UniformRand()); - phi0 = twopi*G4UniformRand(); - x0 = r0*std::cos(phi0); - y0 = r0*std::sin(phi0); - } - ********************************************* */ - particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); - particleGun->GeneratePrimaryVertex(anEvent); -} - -/////////////////////////////////////////////////////////////////////// -// -// - -G4String Em8PrimaryGeneratorAction::GetPrimaryName() -{ - return thePrimaryParticleName ; -} - -void Em8PrimaryGeneratorAction::Setzvertex(G4double z) -{ - vertexdefined = true ; - zvertex = z ; - G4cout << " Z coordinate of the primary vertex = " << zvertex/mm << - " mm." << G4endl; -} -void Em8PrimaryGeneratorAction::Setxvertex(G4double x) -{ - vertexdefined = true ; - xvertex = x ; - G4cout << " X coordinate of the primary vertex = " << xvertex/mm << - " mm." << G4endl; -} - -void Em8PrimaryGeneratorAction::Setyvertex(G4double y) -{ - vertexdefined = true ; - yvertex = y ; - G4cout << " Y coordinate of the primary vertex = " << yvertex/mm << - " mm." << G4endl; -} diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc deleted file mode 100644 index 40033fbd94..0000000000 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc +++ /dev/null @@ -1,96 +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: Em8PrimaryGeneratorMessenger.cc,v 1.5 2006/06/29 17:00:21 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "Em8PrimaryGeneratorMessenger.hh" - -#include "Em8PrimaryGeneratorAction.hh" -#include "G4UIcmdWithAString.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8PrimaryGeneratorMessenger::Em8PrimaryGeneratorMessenger(Em8PrimaryGeneratorAction* Em8Gun) -:Em8Action(Em8Gun) -{ - RndmCmd = new G4UIcmdWithAString("/gun/random",this); - RndmCmd->SetGuidance("Shoot randomly the incident particle."); - RndmCmd->SetGuidance(" Choice : on, off(default)"); - RndmCmd->SetParameterName("choice",true); - RndmCmd->SetDefaultValue("off"); - RndmCmd->SetCandidates("on off"); - RndmCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - setxvertexCmd = new G4UIcmdWithADoubleAndUnit("/gun/xvertex",this); - setxvertexCmd->SetGuidance(" Set x coord. of the primary vertex."); - setxvertexCmd->SetParameterName("xv",true); - setxvertexCmd->SetDefaultValue(0.0*mm) ; - - setyvertexCmd = new G4UIcmdWithADoubleAndUnit("/gun/yvertex",this); - setyvertexCmd->SetGuidance(" Set y coord. of the primary vertex."); - setyvertexCmd->SetParameterName("yv",true); - setyvertexCmd->SetDefaultValue(0.0*mm) ; - - setzvertexCmd = new G4UIcmdWithADoubleAndUnit("/gun/zvertex",this); - setzvertexCmd->SetGuidance(" Set z coord. of the primary vertex."); - setzvertexCmd->SetParameterName("zv",true); - setzvertexCmd->SetDefaultValue(0.0*mm) ; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8PrimaryGeneratorMessenger::~Em8PrimaryGeneratorMessenger() -{ - delete RndmCmd; - delete setxvertexCmd; - delete setyvertexCmd; - delete setzvertexCmd; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8PrimaryGeneratorMessenger::SetNewValue(G4UIcommand * command,G4String newValue) -{ - if( command == RndmCmd ) - { Em8Action->SetRndmFlag(newValue);} - if( command == setxvertexCmd) - { Em8Action->Setxvertex(setxvertexCmd->GetNewDoubleValue(newValue));} - if( command == setyvertexCmd) - { Em8Action->Setyvertex(setyvertexCmd->GetNewDoubleValue(newValue));} - if( command == setzvertexCmd) - { Em8Action->Setzvertex(setzvertexCmd->GetNewDoubleValue(newValue));} -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc deleted file mode 100644 index 15043e1687..0000000000 --- a/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc +++ /dev/null @@ -1,1026 +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: Em8RunAction.cc,v 1.15 2007/11/12 10:54:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - - -#include "Em8RunAction.hh" -#include "Em8RunMessenger.hh" - -#include "G4Run.hh" -#include "G4UImanager.hh" -#include "G4VVisManager.hh" -#include "G4ios.hh" -#include - -#include "Randomize.hh" - - -////////////////////////////////////////////////////////////////////////////// - -Em8RunAction::Em8RunAction() - :histName("histfile"),nbinStep(0),nbinEn(0),nbinTt(0),nbinTb(0), - nbinTsec(0),nbinTh(0),nbinThback(0),nbinR(0),nbinGamma(0), - nbinvertexz(0) -{ - runMessenger = new Em8RunMessenger(this); - saveRndm = 1; -} - -//////////////////////////////////////////////////////////////////////////// - -Em8RunAction::~Em8RunAction() -{ - delete runMessenger; -} - - -///////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::BeginOfRunAction(const G4Run* aRun) -{ - G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; - - // save Rndm status - if (saveRndm > 0) - { - CLHEP::HepRandom::showEngineStatus(); - CLHEP::HepRandom::saveEngineStatus("beginOfRun.rndm"); - } - G4UImanager* UI = G4UImanager::GetUIpointer(); - - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) UI->ApplyCommand("/vis/scene/notifyHandlers"); - - - EnergySumAbs = 0. ; - EnergySquareSumAbs = 0.; - tlSumAbs = 0. ; - tlsquareSumAbs = 0. ; - nStepSumCharged = 0. ; - nStepSum2Charged= 0. ; - nStepSumNeutral = 0. ; - nStepSum2Neutral= 0. ; - TotNbofEvents = 0. ; - SumCharged=0.; - SumNeutral=0.; - Sum2Charged=0.; - Sum2Neutral=0.; - Selectron=0.; - Spositron=0.; - - Transmitted=0.; - Reflected =0.; - -// plot definitions - - if(nbinStep>0) - { - dStep=(Stephigh-Steplow)/nbinStep; - entryStep=0.; - underStep=0.; - overStep=0.; - for(G4int ist=0; ist0) - { - dEn = (Enhigh-Enlow)/nbinEn ; - entryEn=0.; - underEn=0.; - overEn=0.; - - for (G4int ien=0; ien0) - { - dTt = (Tthigh-Ttlow)/nbinTt ; - entryTt=0.; - underTt=0.; - overTt=0.; - - for (G4int itt=0; itt0) - { - dTb = (Tbhigh-Tblow)/nbinTb ; - entryTb=0.; - underTb=0.; - overTb=0.; - for (G4int itt=0; itt0) - { - dTsec = (Tsechigh-Tseclow)/nbinTsec ; - entryTsec=0.; - underTsec=0.; - overTsec=0.; - for (G4int its=0; its0) - { - dTh = (Thhigh-Thlow)/nbinTh ; - entryTh=0.; - underTh=0.; - overTh=0.; - for (G4int ith=0; ith0) - { - dThback = (Thhighback-Thlowback)/nbinThback ; - entryThback=0.; - underThback=0.; - overThback=0.; - for (G4int ithback=0; ithback0) - { - dR = (Rhigh-Rlow)/nbinR ; - entryR =0.; - underR =0.; - overR =0.; - for (G4int ir =0; ir 0) - { - dEGamma = std::log(EhighGamma/ElowGamma)/nbinGamma ; - entryGamma = 0.; - underGamma=0.; - overGamma=0.; - for (G4int ig=0; ig0) - { - dz=(zhigh-zlow)/nbinvertexz; - entryvertexz=0.; - undervertexz=0.; - oververtexz=0.; - for(G4int iz=0; iz0.) - sAbs = std::sqrt(sAbs/TotNbofEvents) ; - else - sAbs = 0. ; - - EnergySumAbs /= TotNbofEvents ; - sigAbs = EnergySquareSumAbs/TotNbofEvents-EnergySumAbs*EnergySumAbs; - if(sigAbs>0.) - sigAbs = std::sqrt(sigAbs/TotNbofEvents); - else - sigAbs = 0.; - - nStepSumCharged /= TotNbofEvents ; - sigstep = nStepSum2Charged/TotNbofEvents-nStepSumCharged*nStepSumCharged; - if(sigstep>0.) - sigstep = std::sqrt(sigstep/TotNbofEvents); - else - sigstep = 0.; - G4double sigch=sigstep ; - - nStepSumNeutral /= TotNbofEvents ; - sigstep = nStepSum2Neutral/TotNbofEvents-nStepSumNeutral*nStepSumNeutral; - if(sigstep>0.) - sigstep = std::sqrt(sigstep/TotNbofEvents); - else - sigstep = 0.; - G4double signe=sigstep ; - - SumCharged /= TotNbofEvents; - sigcharged = Sum2Charged/TotNbofEvents-SumCharged*SumCharged; - if(sigcharged>0.) - sigcharged = std::sqrt(sigcharged/TotNbofEvents); - else - sigcharged = 0. ; - - SumNeutral /= TotNbofEvents; - signeutral = Sum2Neutral/TotNbofEvents-SumNeutral*SumNeutral; - if(signeutral>0.) - signeutral = std::sqrt(signeutral/TotNbofEvents); - else - signeutral = 0. ; - - Selectron /= TotNbofEvents ; - Spositron /= TotNbofEvents ; - - Transmitted /=TotNbofEvents ; - Reflected /=TotNbofEvents ; - G4cout << " ================== run summary =====================" << G4endl; - G4int prec = G4cout.precision(6); - G4cout << " end of Run TotNbofEvents = " << - TotNbofEvents << G4endl ; - G4cout << " mean charged track length in absorber=" << - tlSumAbs/mm << " +- " << sAbs/mm << - " mm " << G4endl; - G4cout << G4endl; - G4cout << " mean energy deposit in absorber=" << - EnergySumAbs/MeV << " +- " << sigAbs/MeV << - " MeV " << G4endl ; - G4cout << G4endl ; - G4cout << " mean number of steps in absorber (charged) =" << - nStepSumCharged << " +- " << sigch << - " " << G4endl ; - G4cout << " mean number of steps in absorber (neutral) =" << - nStepSumNeutral << " +- " << signe << - " " << G4endl ; - G4cout << G4endl ; - G4cout << " mean number of charged secondaries = " << - SumCharged << " +- " << sigcharged << G4endl; - G4cout << G4endl ; - G4cout << " mean number of neutral secondaries = " << - SumNeutral << " +- " << signeutral << G4endl; - G4cout << G4endl ; - - G4cout << " mean number of e-s =" << Selectron << - " and e+s =" << Spositron << G4endl; - G4cout << G4endl; - - G4cout << "(number) transmission coeff=" << Transmitted << - " reflection coeff=" << Reflected << G4endl; - G4cout << G4endl; - - if(nbinStep>0) - {G4double E , dnorm, norm ; - G4cout << " step number/event distribution " << G4endl ; - G4cout << "#entries=" << entryStep << " #underflows=" << underStep << - " #overflows=" << overStep << G4endl ; - if( entryStep>0.) - { - E = Steplow - dStep ; - norm = TotNbofEvents ; - G4cout << " bin nb nsteplow entries normalized " << G4endl ; - for(G4int iss=0; iss 0) - { - std::ofstream fileOut("distribution.out", std::ios::out ) ; - fileOut.setf( std::ios::scientific, std::ios::floatfield ); - - std::ofstream normOut("normDist.out", std::ios::out ) ; - normOut.setf( std::ios::scientific, std::ios::floatfield ); - - G4double E , dnorm, norm,fmax,Emp; // width ; - Emp=-999.999 ; - G4cout << " energy deposit distribution " << G4endl ; - G4cout << "#entries=" << entryEn << " #underflows=" << underEn << - " #overflows=" << overEn << G4endl ; - if( entryEn>0.) - { - E = Enlow - dEn ; - norm = TotNbofEvents*1.0 ; // *dEn ; - G4cout << " bin nb Elow entries normalized " << G4endl ; - fmax = 0. ; - - for(G4int ien=0; ienfmax) - { - fmax = distEn[ien] ; - Emp = E ; // most probable roughly - } - dnorm = distEn[ien]/norm; - - G4cout << std::setw(5) << ien << std::setw(10) << E/keV << - std::setw(12) << distEn[ien] << - std::setw(12) << dnorm << G4endl ; - - fileOut << E/keV << "\t"<< distEn[ien] << G4endl ; - normOut << E/keV << "\t"<< dnorm << G4endl ; - } - G4cout << G4endl; - G4int ii ; - G4double E1,E2 ; - E1=-1.e6 ; - E2=+1.e6 ; - E = Enlow -dEn ; - ii = -1; - - for(G4int i1=0; i1= 0.5*fmax) - { - E1=E ; - ii=i1 ; - } - } - } - E = Enlow -dEn ; - - for(G4int i2=0; i2= 0.5*fmax) E2=E ; - } - G4cout << " Emp = " << std::setw(15) << Emp/MeV << " width=" - << std::setw(15) << (E2-E1)/MeV << " MeV " << G4endl; - G4cout << G4endl ; - } - } - if(nbinTt>0) - { - G4double E , dnorm, norm ,sig; - G4cout << " transmitted energy distribution " << G4endl ; - G4cout << "#entries=" << entryTt << " #underflows=" << underTt << - " #overflows=" << overTt << G4endl ; - if( entryTt>0.) - { - Ttmean /= entryTt; - sig=Tt2mean/entryTt-Ttmean*Ttmean ; - if(sig<=0.) - sig=0.; - else - sig=std::sqrt(sig/entryTt) ; - G4cout << " mean energy of transmitted particles=" << Ttmean/keV << - " +- " << sig/keV << " keV." << G4endl; - E = Ttlow - dTt ; - norm = TotNbofEvents*dTt ; - G4cout << " bin nb Elow entries normalized " << G4endl ; - for(G4int itt=0; itt0) - { - G4double E , dnorm, norm ,sig; - G4cout << " backscattered energy distribution " << G4endl ; - G4cout << "#entries=" << entryTb << " #underflows=" << underTb << - " #overflows=" << overTb << G4endl ; - if( entryTb>0.) - { - Tbmean /= entryTb; - sig=Tb2mean/entryTb-Tbmean*Tbmean ; - if(sig<=0.) - sig=0.; - else - sig=std::sqrt(sig/entryTb) ; - G4cout << " mean energy of backscattered particles=" << Tbmean/keV << - " +- " << sig/keV << " keV." << G4endl; - E = Tblow - dTb ; - norm = TotNbofEvents*dTb ; - G4cout << " bin nb Elow entries normalized " << G4endl ; - for(G4int itt=0; itt0) - {G4double E , dnorm, norm ; - G4cout << " energy distribution of charged secondaries " << G4endl ; - G4cout << "#entries=" << entryTsec << " #underflows=" << underTsec << - " #overflows=" << overTsec << G4endl ; - if( entryTsec>0.) - { - E = Tseclow - dTsec ; - norm = TotNbofEvents*dTsec ; - G4cout << " bin nb Elow entries normalized " << G4endl ; - for(G4int itt=0; itt0) - {G4double R , dnorm, norm,sig ; - G4cout << " R distribution " << G4endl ; - G4cout << "#entries=" << entryR << " #underflows=" << underR << - " #overflows=" << overR << G4endl ; - if( entryR >0.) - { - Rmean /= entryR; - sig = R2mean/entryR - Rmean*Rmean; - if(sig<=0.) sig=0. ; - else sig = std::sqrt(sig/entryR) ; - G4cout << " mean lateral displacement at exit=" << Rmean/mm << " +- " - << sig/mm << " mm." << G4endl ; - R = Rlow - dR ; - norm = TotNbofEvents*dR ; - G4cout << " bin nb Rlow entries normalized " << G4endl ; - for(G4int ier=0; ier0) - {G4double Th,Thdeg, dnorm, norm,fac0,fnorm,pere,Thpere,Thmean,sum; - G4cout << " angle distribution " << G4endl ; - G4cout << "#entries=" << entryTh << " #underflows=" << underTh << - " #overflows=" << overTh << G4endl ; - if( entryTh>0.) - { - Th= Thlow - dTh ; - norm = TotNbofEvents ; - if(distTh[0] == 0.) - fac0 = 1. ; - else - fac0 = 1./distTh[0] ; - pere = 1./std::exp(1.) ; - - G4cout << " bin nb Thlowdeg Thlowrad " << - " entries normalized " << G4endl ; - Thpere = 0. ; - sum = 0. ; - Thmean = 0. ; - for(G4int ien=0; ien pere) - Thpere = Th ; - G4cout << std::setw(5) << ien << std::setw(10) << Thdeg << " " << - std::setw(10) << Th << " " << - std::setw(12) << distTh[ien] << " " << - std::setw(12) << dnorm << " " << std::setw(12) << fnorm <0) - {G4double Thb,Thdegb, dnormb, normb,fac0b,fnormb,pereb,Thpereb,Thmeanb,sumb; - G4cout << " backscattering angle distribution " << G4endl ; - G4cout << "#entries=" << entryThback << " #underflows=" << underThback << - " #overflows=" << overThback << G4endl ; - if( entryThback>0.) - { - Thb= Thlowback - dThback ; - normb = TotNbofEvents ; - if(distThback[0] == 0.) - fac0b = 1. ; - else - fac0b = 1./distThback[0] ; - pereb = 1./std::exp(1.) ; - - G4cout << " bin nb Thlowdeg Thlowrad " << - " entries normalized " << G4endl ; - Thpereb = 0. ; - sumb = 0. ; - Thmeanb = 0. ; - for(G4int ien=0; ien pereb) - Thpereb = Thb ; - G4cout << std::setw(5) << ien << std::setw(10) << Thdegb << " " << - std::setw(10) << Thb << " " << - std::setw(12) << distThback[ien] << " " << - std::setw(12) << dnormb << " " << std::setw(12) << fnormb <0) - {G4double E , fact,dnorm, norm ; - G4cout << " gamma energy distribution " << G4endl ; - G4cout << "#entries=" << entryGamma << " #underflows=" << underGamma << - " #overflows=" << overGamma << G4endl ; - if( entryGamma>0.) - { - fact=std::exp(dEGamma) ; - E = ElowGamma/fact ; - norm = TotNbofEvents*dEGamma; - G4cout << " bin nb Elow entries normalized " << G4endl ; - for(G4int itt=0; itt0) - {G4double z , dnorm, norm ; - G4cout << " vertex Z distribution " << G4endl ; - G4cout << "#entries=" << entryvertexz << " #underflows=" << undervertexz << - " #overflows=" << oververtexz << G4endl ; - if( entryvertexz >0.) - { - z =zlow - dz ; - norm = TotNbofEvents*dz ; - G4cout << " bin nb zlow entries normalized " << G4endl ; - for(G4int iez=0; iezApplyCommand("/vis/viewer/update"); - } - - // save Rndm status - - if (saveRndm == 1) - { - CLHEP::HepRandom::showEngineStatus(); - CLHEP::HepRandom::saveEngineStatus("endOfRun.rndm"); - } -} - -/////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::CountEvent() -{ - TotNbofEvents += 1. ; -} - -///////////////////////////////////////////////////////////////////////// - -void Em8RunAction::AddnStepsCharged(G4double ns) -{ - nStepSumCharged += ns; - nStepSum2Charged += ns*ns; -} - -//////////////////////////////////////////////////////////////////////// - -void Em8RunAction::AddnStepsNeutral(G4double ns) -{ - nStepSumNeutral += ns; - nStepSum2Neutral += ns*ns; -} - -//////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::AddEdeps(G4double Eabs) -{ - EnergySumAbs += Eabs; - EnergySquareSumAbs += Eabs*Eabs; -} - -///////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::AddTrackLength(G4double tlabs) -{ - tlSumAbs += tlabs; - tlsquareSumAbs += tlabs*tlabs ; -} - -///////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::AddTrRef(G4double tr,G4double ref) -{ - Transmitted += tr ; - Reflected += ref; -} - -///////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::FillNbOfSteps(G4double) -{} - -////////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::FillEn(G4double En) -{ - - G4double bin ; - G4int ibin; - - { - entryEn += 1. ; - - if(En < Enlow) underEn += 1. ; - else if( En >= Enhigh) overEn += 1. ; - else - { - bin = (En-Enlow)/dEn ; - ibin= (G4int)bin ; - distEn[ibin] += 1. ; - } - } -} - -//////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::FillTt(G4double) -{ -} - -////////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::FillTb(G4double) -{ -} - -/////////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::FillTsec(G4double) -{ -} - -///////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::FillGammaSpectrum(G4double) -{ -} - -//////////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::FillTh(G4double) -{ -} - -////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::FillThBack(G4double) -{ -} - -////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::FillR(G4double) -{ -} - -///////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::Fillvertexz(G4double) -{ -} - -////////////////////////////////////////////////////////////////////////////// - -void Em8RunAction::SethistName(G4String name) -{ - histName = name ; - G4cout << " hist file = " << histName << G4endl; -} - -void Em8RunAction::SetnbinStep(G4int nbin) -{ - nbinStep = nbin ; - if(nbinStep>0) - G4cout << " Nb of bins in #step plot = " << nbinStep << G4endl ; -} - -void Em8RunAction::SetSteplow(G4double low) -{ - Steplow = low ; - if(nbinStep>0) - G4cout << " low in the #step plot = " << Steplow << G4endl ; -} -void Em8RunAction::SetStephigh(G4double high) -{ - Stephigh = high ; - if(nbinStep>0) - G4cout << " high in the #step plot = " << Stephigh << G4endl ; -} - -//////////////////////////////////////////////////////////////////////// - -void Em8RunAction::SetnbinEn(G4int nbin) -{ - nbinEn = nbin ; - - if(nbinEn > 0) G4cout << " Nb of bins in Edep plot = " << nbinEn << G4endl ; -} - -void Em8RunAction::SetEnlow(G4double Elow) -{ - Enlow = Elow ; - if(nbinEn>0) G4cout << " Elow in the Edep plot = " << Enlow << G4endl ; -} - -void Em8RunAction::SetEnhigh(G4double Ehigh) -{ - Enhigh = Ehigh ; - - if(nbinEn>0) G4cout << " Ehigh in the Edep plot = " << Enhigh << G4endl ; -} - -///////////////////////////////////////////////////////////////////////// - -void Em8RunAction::SetnbinGamma(G4int nbin) -{ - nbinGamma = nbin ; - if(nbinGamma>0) - G4cout << " Nb of bins in gamma spectrum plot = " << nbinGamma << G4endl ; -} - -void Em8RunAction::SetElowGamma(G4double Elow) -{ - ElowGamma = Elow ; - if(nbinGamma>0) - G4cout << " Elow in the gamma spectrum plot = " << ElowGamma << G4endl ; -} - -void Em8RunAction::SetEhighGamma(G4double Ehigh) -{ - EhighGamma = Ehigh ; - if(nbinGamma>0) - G4cout << " Ehigh in the gamma spectrum plot = " << EhighGamma << G4endl ; -} - -void Em8RunAction::SetnbinTt(G4int nbin) -{ - nbinTt = nbin ; - if(nbinTt>0) - G4cout << " Nb of bins in Etransmisssion plot = " << nbinTt << G4endl ; -} - -void Em8RunAction::SetTtlow(G4double Elow) -{ - Ttlow = Elow ; - if(nbinTt>0) - G4cout << " Elow in the Etransmission plot = " << Ttlow << G4endl ; -} - -void Em8RunAction::SetTthigh(G4double Ehigh) -{ - Tthigh = Ehigh ; - if(nbinTt>0) - G4cout << " Ehigh in the Etransmission plot = " << Tthigh << G4endl ; -} - -void Em8RunAction::SetnbinTb(G4int nbin) -{ - nbinTb = nbin ; - if(nbinTb>0) - G4cout << " Nb of bins in Ebackscattered plot = " << nbinTb << G4endl ; -} - -void Em8RunAction::SetTblow(G4double Elow) -{ - Tblow = Elow ; - if(nbinTb>0) - G4cout << " Elow in the Ebackscattered plot = " << Tblow << G4endl ; -} - -void Em8RunAction::SetTbhigh(G4double Ehigh) -{ - Tbhigh = Ehigh ; - if(nbinTb>0) - G4cout << " Ehigh in the Ebackscattered plot = " << Tbhigh << G4endl ; -} - -void Em8RunAction::SetnbinTsec(G4int nbin) -{ - nbinTsec = nbin ; - if(nbinTsec>0) - G4cout << " Nb of bins in Tsecondary plot = " << nbinTsec << G4endl ; -} - -void Em8RunAction::SetTseclow(G4double Elow) -{ - Tseclow = Elow ; - if(nbinTsec>0) - G4cout << " Elow in the Tsecondary plot = " << Tseclow << G4endl ; -} - -void Em8RunAction::SetTsechigh(G4double Ehigh) -{ - Tsechigh = Ehigh ; - if(nbinTsec>0) - G4cout << " Ehigh in the Tsecondary plot = " << Tsechigh << G4endl ; -} - -void Em8RunAction::SetnbinR(G4int nbin) -{ - nbinR = nbin ; - if(nbinR>0) - G4cout << " Nb of bins in R plot = " << nbinR << G4endl ; -} - -void Em8RunAction::SetRlow(G4double rlow) -{ - Rlow = rlow ; - if(nbinR>0) - G4cout << " Rlow in the R plot = " << Rlow << G4endl ; -} - -void Em8RunAction::SetRhigh(G4double rhigh) -{ - Rhigh = rhigh ; - if(nbinR>0) - G4cout << " Rhigh in the R plot = " << Rhigh << G4endl ; -} - -void Em8RunAction::Setnbinzvertex(G4int nbin) -{ - nbinvertexz = nbin ; - if(nbinvertexz>0) - G4cout << " Nb of bins in Z plot = " << nbinvertexz << G4endl ; -} - -void Em8RunAction::Setzlow(G4double z) -{ - zlow = z ; - if(nbinvertexz>0) - G4cout << " zlow in the Z plot = " << zlow << G4endl ; -} - -void Em8RunAction::Setzhigh(G4double z) -{ - zhigh = z ; - if(nbinvertexz>0) - G4cout << " zhigh in the Z plot = " << zhigh << G4endl ; -} - -void Em8RunAction::SetnbinTh(G4int nbin) -{ - nbinTh = nbin ; - if(nbinTh>0) - G4cout << " Nb of bins in Theta plot = " << nbinTh << G4endl ; -} - -void Em8RunAction::SetThlow(G4double Tlow) -{ - Thlow = Tlow ; - if(nbinTh>0) - G4cout << " Tlow in the Theta plot = " << Thlow << G4endl ; -} - -void Em8RunAction::SetThhigh(G4double Thigh) -{ - Thhigh = Thigh ; - if(nbinTh>0) - G4cout << " Thigh in the Theta plot = " << Thhigh << G4endl ; -} - -void Em8RunAction::SetnbinThBack(G4int nbin) -{ - nbinThback = nbin ; - if(nbinThback>0) - G4cout << " Nb of bins in Theta plot = " << nbinThback << G4endl ; -} - -void Em8RunAction::SetThlowBack(G4double Tlow) -{ - Thlowback = Tlow ; - if(nbinThback>0) - G4cout << " Tlow in the Theta plot = " << Thlowback << G4endl ; -} - -void Em8RunAction::SetThhighBack(G4double Thigh) -{ - Thhighback = Thigh ; - if(nbinThback>0) - G4cout << " Thigh in the Theta plot = " << Thhighback << G4endl ; -} - -void Em8RunAction::CountParticles(G4double nch,G4double nne) -{ - SumCharged += nch ; - SumNeutral += nne ; - Sum2Charged += nch*nch ; - Sum2Neutral += nne*nne ; -} - -void Em8RunAction::AddEP(G4double nele,G4double npos) -{ - Selectron += nele; - Spositron += npos; -} - -// -// -//////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc deleted file mode 100644 index cd7aa58b21..0000000000 --- a/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc +++ /dev/null @@ -1,393 +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: Em8RunMessenger.cc,v 1.7 2006/06/29 17:00:25 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "Em8RunMessenger.hh" - -#include "Em8RunAction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" -#include "G4UIcmdWithADouble.hh" -#include "G4UIcmdWithAString.hh" -#include "G4ios.hh" -#include "globals.hh" -#include "Randomize.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8RunMessenger::Em8RunMessenger(Em8RunAction* RA) -:runAction (RA) -{ - plotDir = new G4UIdirectory("/plots/"); - plotDir->SetGuidance("plot control"); - - sethistNameCmd = new G4UIcmdWithAString("/plots/sethistName",this); - sethistNameCmd->SetGuidance("set name for the histogram file"); - - setnbinStepCmd = new G4UIcmdWithAnInteger("/plots/setnbinStep",this); - setnbinStepCmd->SetGuidance("set nb of bins in #step plot"); - setnbinStepCmd->SetParameterName("nbinStep",false); - - setSteplowCmd = new G4UIcmdWithADouble("/plots/setSteplow",this); - setSteplowCmd->SetGuidance("set lower limit for #step plot "); - setSteplowCmd->SetParameterName("Steplow",false); - - setStephighCmd = new G4UIcmdWithADouble("/plots/setStephigh",this); - setStephighCmd->SetGuidance("set upper limit for #step plot "); - setStephighCmd->SetParameterName("Stephigh",false); - - setnbinEnCmd = new G4UIcmdWithAnInteger("/plots/setnbinEn",this); - setnbinEnCmd->SetGuidance("set nb of bins in Edep plot"); - setnbinEnCmd->SetParameterName("nbinE",false); - - setEnlowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setEnlow",this); - setEnlowCmd->SetGuidance("set lower limit for Edep plot "); - setEnlowCmd->SetParameterName("Elow",false); - setEnlowCmd->SetUnitCategory("Energy"); - - setEnhighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setEnhigh",this); - setEnhighCmd->SetGuidance("set upper limit for Edep plot "); - setEnhighCmd->SetParameterName("Ehigh",false); - setEnhighCmd->SetUnitCategory("Energy"); - - setnbinGammaCmd = new G4UIcmdWithAnInteger("/plots/setnbinGamma",this); - setnbinGammaCmd->SetGuidance("set nb of bins in gamma spectrum plot"); - setnbinGammaCmd->SetParameterName("nbinGamma",false); - - setElowGammaCmd = new G4UIcmdWithADoubleAndUnit("/plots/setElowGamma",this); - setElowGammaCmd->SetGuidance("set lower limit for gamma spectrum plot "); - setElowGammaCmd->SetParameterName("ElowGamma",false); - setElowGammaCmd->SetUnitCategory("Energy"); - - setEhighGammaCmd = new G4UIcmdWithADoubleAndUnit("/plots/setEhighGamma",this); - setEhighGammaCmd->SetGuidance("set upper limit for gamma spectrum plot "); - setEhighGammaCmd->SetParameterName("EhighGamma",false); - setEhighGammaCmd->SetUnitCategory("Energy"); - - setnbinTtCmd = new G4UIcmdWithAnInteger("/plots/setnbinTt",this); - setnbinTtCmd->SetGuidance("set nb of bins in Etransmitted plot"); - setnbinTtCmd->SetParameterName("nbinTt",false); - - setTtlowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTtlow",this); - setTtlowCmd->SetGuidance("set lower limit for Etransmitted plot "); - setTtlowCmd->SetParameterName("Ttlow",false); - - setTthighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTthigh",this); - setTthighCmd->SetGuidance("set upper limit for Etransmitted plot "); - setTthighCmd->SetParameterName("Tthigh",false); - - setnbinTbCmd = new G4UIcmdWithAnInteger("/plots/setnbinTb",this); - setnbinTbCmd->SetGuidance("set nb of bins in Ebackscattering plot"); - setnbinTbCmd->SetParameterName("nbinTb",false); - - setTblowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTblow",this); - setTblowCmd->SetGuidance("set lower limit for Ebackscattered plot "); - setTblowCmd->SetParameterName("Tblow",false); - - setTbhighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTbhigh",this); - setTbhighCmd->SetGuidance("set upper limit for Ebackscattered plot "); - setTbhighCmd->SetParameterName("Tbhigh",false); - - setnbinTsecCmd = new G4UIcmdWithAnInteger("/plots/setnbinTsec",this); - setnbinTsecCmd->SetGuidance("set nb of bins in charged Tsecondary plot"); - setnbinTsecCmd->SetParameterName("nbinTsec",false); - - setTseclowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTseclow",this); - setTseclowCmd->SetGuidance("set lower limit for charged Tsecondary plot "); - setTseclowCmd->SetParameterName("Tseclow",false); - - setTsechighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTsechigh",this); - setTsechighCmd->SetGuidance("set upper limit for charged Tsecondary plot "); - setTsechighCmd->SetParameterName("Tsechigh",false); - - setnbinRCmd = new G4UIcmdWithAnInteger("/plots/setnbinR",this); - setnbinRCmd->SetGuidance("set nb of bins in R plot"); - setnbinRCmd->SetParameterName("nbinR",false); - - setRlowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setRlow",this); - setRlowCmd->SetGuidance("set lower limit for R plot "); - setRlowCmd->SetParameterName("Rlow",false); - - setRhighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setRhigh",this); - setRhighCmd->SetGuidance("set upper limit for R plot "); - setRhighCmd->SetParameterName("Rhigh",false); - - setnbinzvertexCmd = new G4UIcmdWithAnInteger("/plots/setnbinzvertex",this); - setnbinzvertexCmd->SetGuidance("set nb of bins in Z vertex plot"); - setnbinzvertexCmd->SetParameterName("nbinZ",false); - - setzlowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setzlow",this); - setzlowCmd->SetGuidance("set lower limit for Z vertex plot "); - setzlowCmd->SetParameterName("zlow",false); - - setzhighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setzhigh",this); - setzhighCmd->SetGuidance("set upper limit for Z vertex plot "); - setzhighCmd->SetParameterName("zhigh",false); - - setnbinThCmd = new G4UIcmdWithAnInteger("/plots/setnbinTh",this); - setnbinThCmd->SetGuidance("set nb of bins in Theta transmitted plot"); - setnbinThCmd->SetParameterName("nbinTh",false); - - setThlowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setThlow",this); - setThlowCmd->SetGuidance("set lower limit for Theta transmitted plot "); - setThlowCmd->SetParameterName("Thlow",false); - - setThhighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setThhigh",this); - setThhighCmd->SetGuidance("set upper limit for Theta transmitted plot "); - setThhighCmd->SetParameterName("Thhigh",false); - - setnbinThbackCmd = new G4UIcmdWithAnInteger("/plots/setnbinThback",this); - setnbinThbackCmd->SetGuidance("set nb of bins in backscattering Theta plot"); - setnbinThbackCmd->SetParameterName("nbinThback",false); - - setThlowbackCmd = new G4UIcmdWithADoubleAndUnit("/plots/setThlowback",this); - setThlowbackCmd->SetGuidance("set lower limit for backscattering Theta plot "); - setThlowbackCmd->SetParameterName("Thlowback",false); - - setThhighbackCmd = new G4UIcmdWithADoubleAndUnit("/plots/setThhighback",this); - setThhighbackCmd->SetGuidance("set upper limit for backscattering Theta plot "); - setThhighbackCmd->SetParameterName("Thhighback",false); - - RndmDir = new G4UIdirectory("/rndm/"); - RndmDir->SetGuidance("Rndm status control."); - - RndmSaveCmd = new G4UIcmdWithAnInteger("/rndm/save",this); - RndmSaveCmd->SetGuidance("set frequency to save rndm status on external files."); - RndmSaveCmd->SetGuidance("freq = 0 not saved"); - RndmSaveCmd->SetGuidance("freq > 0 saved on: beginOfRun.rndm"); - RndmSaveCmd->SetGuidance("freq = 1 saved on: endOfRun.rndm"); - RndmSaveCmd->SetGuidance("freq = 2 saved on: endOfEvent.rndm"); - RndmSaveCmd->SetParameterName("frequency",false); - RndmSaveCmd->SetRange("frequency>=0 && frequency<=2"); - RndmSaveCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - RndmReadCmd = new G4UIcmdWithAString("/rndm/read",this); - RndmReadCmd->SetGuidance("get rndm status from an external file."); - RndmReadCmd->SetParameterName("fileName",true); - RndmReadCmd->SetDefaultValue ("beginOfRun.rndm"); - RndmReadCmd->AvailableForStates(G4State_PreInit,G4State_Idle); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8RunMessenger::~Em8RunMessenger() -{ - delete sethistNameCmd; - - delete setnbinStepCmd; - delete setSteplowCmd; - delete setStephighCmd; - - delete setnbinEnCmd; - delete setEnlowCmd; - delete setEnhighCmd; - - delete setnbinGammaCmd; - delete setElowGammaCmd; - delete setEhighGammaCmd; - - delete setnbinTtCmd; - delete setTtlowCmd; - delete setTthighCmd; - - delete setnbinTbCmd; - delete setTblowCmd; - delete setTbhighCmd; - - delete setnbinTsecCmd; - delete setTseclowCmd; - delete setTsechighCmd; - - delete setnbinRCmd; - delete setRlowCmd; - delete setRhighCmd; - - delete setnbinzvertexCmd; - delete setzlowCmd; - delete setzhighCmd; - - delete setnbinThCmd; - delete setThlowCmd; - delete setThhighCmd; - - delete setnbinThbackCmd; - delete setThlowbackCmd; - delete setThhighbackCmd; - - delete plotDir; - - delete RndmSaveCmd; delete RndmReadCmd; delete RndmDir; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8RunMessenger::SetNewValue(G4UIcommand* command,G4String newValues) -{ - if( command == sethistNameCmd) - runAction - ->SethistName(newValues) ; - - if( command == setnbinStepCmd) - runAction - ->SetnbinStep(setnbinStepCmd->GetNewIntValue(newValues)); - - if( command == setSteplowCmd) - runAction - ->SetSteplow( setSteplowCmd->GetNewDoubleValue(newValues)); - - if( command == setStephighCmd) - runAction - ->SetStephigh( setStephighCmd->GetNewDoubleValue(newValues)); - - if( command == setnbinEnCmd) - runAction - ->SetnbinEn(setnbinEnCmd->GetNewIntValue(newValues)); - - if( command == setEnlowCmd) - runAction - ->SetEnlow( setEnlowCmd->GetNewDoubleValue(newValues)); - - if( command == setEnhighCmd) - runAction - ->SetEnhigh( setEnhighCmd->GetNewDoubleValue(newValues)); - - if( command == setnbinGammaCmd) - runAction - ->SetnbinGamma(setnbinGammaCmd->GetNewIntValue(newValues)); - - if( command == setElowGammaCmd) - runAction - ->SetElowGamma( setElowGammaCmd->GetNewDoubleValue(newValues)); - - if( command == setEhighGammaCmd) - runAction - ->SetEhighGamma( setEhighGammaCmd->GetNewDoubleValue(newValues)); - - if( command == setnbinTtCmd) - runAction - ->SetnbinTt(setnbinTtCmd->GetNewIntValue(newValues)); - - if( command == setTtlowCmd) - runAction - ->SetTtlow( setTtlowCmd->GetNewDoubleValue(newValues)); - - if( command == setTthighCmd) - runAction - ->SetTthigh( setTthighCmd->GetNewDoubleValue(newValues)); - - if( command == setnbinTbCmd) - runAction - ->SetnbinTb(setnbinTbCmd->GetNewIntValue(newValues)); - - if( command == setTblowCmd) - runAction - ->SetTblow( setTblowCmd->GetNewDoubleValue(newValues)); - - if( command == setTbhighCmd) - runAction - ->SetTbhigh( setTbhighCmd->GetNewDoubleValue(newValues)); - - if( command == setnbinTsecCmd) - runAction - ->SetnbinTsec(setnbinTsecCmd->GetNewIntValue(newValues)); - - if( command == setTseclowCmd) - runAction - ->SetTseclow( setTseclowCmd->GetNewDoubleValue(newValues)); - - if( command == setTsechighCmd) - runAction - ->SetTsechigh( setTsechighCmd->GetNewDoubleValue(newValues)); - - if( command == setnbinRCmd) - runAction - ->SetnbinR(setnbinRCmd->GetNewIntValue(newValues)); - - if( command == setRlowCmd) - runAction - ->SetRlow( setRlowCmd->GetNewDoubleValue(newValues)); - - if( command == setRhighCmd) - runAction - ->SetRhigh( setRhighCmd->GetNewDoubleValue(newValues)); - - if( command == setnbinzvertexCmd) - runAction - ->Setnbinzvertex(setnbinzvertexCmd->GetNewIntValue(newValues)); - - if( command == setzlowCmd) - runAction - ->Setzlow( setzlowCmd->GetNewDoubleValue(newValues)); - - if( command == setzhighCmd) - runAction - ->Setzhigh( setzhighCmd->GetNewDoubleValue(newValues)); - - if( command == setnbinThCmd) - runAction - ->SetnbinTh(setnbinThCmd->GetNewIntValue(newValues)); - - if( command == setThlowCmd) - runAction - ->SetThlow( setThlowCmd->GetNewDoubleValue(newValues)); - - if( command == setThhighCmd) - runAction - ->SetThhigh( setThhighCmd->GetNewDoubleValue(newValues)); - - if( command == setnbinThbackCmd) - runAction - ->SetnbinThBack(setnbinThbackCmd->GetNewIntValue(newValues)); - - if( command == setThlowbackCmd) - runAction - ->SetThlowBack( setThlowbackCmd->GetNewDoubleValue(newValues)); - - if( command == setThhighbackCmd) - runAction - ->SetThhighBack( setThhighbackCmd->GetNewDoubleValue(newValues)); - - if (command == RndmSaveCmd) - runAction->SetRndmFreq(RndmSaveCmd->GetNewIntValue(newValues)); - - if (command == RndmReadCmd) - { G4cout << "\n---> rndm status restored from file: " << newValues << G4endl; - CLHEP::HepRandom::restoreEngineStatus(newValues); - CLHEP::HepRandom::showEngineStatus(); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc deleted file mode 100644 index 956934f3f4..0000000000 --- a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc +++ /dev/null @@ -1,128 +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: Em8SteppingAction.cc,v 1.10 2007/11/12 10:54:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "Em8DetectorConstruction.hh" -//#include "G4EnergyLossTables.hh" -//#include "G4SteppingManager.hh" -//#include "G4TrackVector.hh" -#include "Em8SteppingAction.hh" -#include "Em8PrimaryGeneratorAction.hh" -#include "Em8EventAction.hh" -#include "Em8RunAction.hh" -#include "G4Event.hh" -#include "G4Gamma.hh" -#include "G4Electron.hh" -#include "G4Positron.hh" -//#include "G4EventManager.hh" -//#include "G4ios.hh" -//#include -//#include "G4UImanager.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8SteppingAction::Em8SteppingAction(Em8DetectorConstruction* DET, - Em8EventAction* EA, - Em8RunAction* RA) -:detector (DET),eventaction (EA),runaction (RA), - IDold(-1) ,evnoold(-1) -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8SteppingAction::~Em8SteppingAction() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Em8SteppingAction::UserSteppingAction(const G4Step* aStep) -{ - G4Track* track = aStep->GetTrack(); - G4int trackID = track->GetTrackID(); - G4int stepID = track->GetCurrentStepNumber(); - if(trackID == 1 && stepID == 1) - runaction->Fillvertexz(track->GetVertexPosition().z()); - - const G4ParticleDefinition* part = track->GetDynamicParticle()->GetDefinition(); - G4VPhysicalVolume* preVolume = aStep->GetPreStepPoint()->GetPhysicalVolume(); - G4VPhysicalVolume* postVolume = aStep->GetPostStepPoint()->GetPhysicalVolume(); - G4double ekin = track->GetKineticEnergy() ; - - // Secondary - first step - if(trackID != 1 && stepID == 1) { - if (part == G4Gamma::Gamma() ) { - eventaction->AddNeutral(); - - } else if (part == G4Electron::Electron()) { - eventaction->AddE(); - runaction->FillTsec(ekin); - - } else if (part == G4Positron::Positron()) { - eventaction->AddP(); - runaction->FillTsec(ekin); - } - } - - // step inside absorber - if(preVolume == postVolume) { - if(preVolume->GetName() == "Absorber") { - if(part->GetPDGCharge() == 0.0) eventaction->CountStepsNeutral(); - else eventaction->CountStepsCharged(); - } - // exit of absorber - } else if (preVolume->GetName() == "Absorber") { - - // primary - if (trackID == 1) { - if (track->GetMomentumDirection().z()>0.) { - eventaction->SetTr(); - runaction->FillTh(track->GetMomentumDirection().theta()) ; - runaction->FillTt(ekin) ; - G4double xend= track->GetPosition().x() ; - G4double yend= track->GetPosition().y() ; - runaction->FillR(std::sqrt(xend*xend+yend*yend)); - } else { - eventaction->SetRef(); - runaction->FillThBack(track->GetMomentumDirection().theta() - 0.5*pi) ; - runaction->FillTb(ekin); - } - } - // transmitted gamma - if(track->GetMomentumDirection().z()>0. && part == G4Gamma::Gamma()) { - runaction->FillGammaSpectrum(ekin); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - diff --git a/examples/advanced/microdosimetry/src/EventAction.cc b/examples/extended/electromagnetic/TestEm8/src/EventAction.cc old mode 100755 new mode 100644 similarity index 69% rename from examples/advanced/microdosimetry/src/EventAction.cc rename to examples/extended/electromagnetic/TestEm8/src/EventAction.cc index 6dff912c18..28ca46fbb5 --- a/examples/advanced/microdosimetry/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/EventAction.cc @@ -23,26 +23,26 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// ------------------------------------------------------------------- -// $Id: EventAction.cc,v 1.1 2008/06/04 12:57:55 sincerti Exp $ -// ------------------------------------------------------------------- +// $Id: EventAction.cc,v 1.1 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: EventAction +// +// Author: V.Ivanchenko 01.09.2010 +// +//---------------------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "EventAction.hh" -#include "RunAction.hh" - -#include "G4Event.hh" -#include "G4EventManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" -#include "Randomize.hh" +#include "HistoManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -EventAction::EventAction(RunAction* run) -:Run(run) +EventAction::EventAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -53,23 +53,15 @@ EventAction::~EventAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void EventAction::BeginOfEventAction(const G4Event*) -{} +{ + HistoManager::GetPointer()->BeginOfEvent(); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void EventAction::EndOfEventAction(const G4Event* evt) -{ - if (G4VVisManager::GetConcreteInstance()) - { - G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer(); - - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); - - for (G4int i=0; iGetTrajectoryContainer()))[i]); - trj->DrawTrajectory(50); - } - } +void EventAction::EndOfEventAction(const G4Event*) +{ + HistoManager::GetPointer()->EndOfEvent(); } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm7/src/Histo.cc b/examples/extended/electromagnetic/TestEm8/src/Histo.cc similarity index 97% rename from examples/extended/electromagnetic/TestEm7/src/Histo.cc rename to examples/extended/electromagnetic/TestEm8/src/Histo.cc index b330f69dc9..6ef78ed4e0 100644 --- a/examples/extended/electromagnetic/TestEm7/src/Histo.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Histo.cc @@ -23,6 +23,9 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: Histo.cc,v 1.2 2010/09/28 19:08:27 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// //--------------------------------------------------------------------------- // // ClassName: Histo - Generic histogram/ntuple manager class @@ -37,12 +40,10 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "Histo.hh" - -#ifdef G4ANALYSIS_USE - -#include "AIDA/AIDA.h" #include "HistoMessenger.hh" +#ifdef G4ANALYSIS_USE +#include "AIDA/AIDA.h" #endif //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -51,21 +52,19 @@ Histo::Histo() { verbose = 0; - histName = "testem9"; + histName = "testem8"; histType = "root"; + tupleList = ""; + ntup = 0; nHisto = 0; defaultAct = 1; - tupleName = "tuple9"; - tupleId = "100"; - tupleList = ""; - ntup = 0; messenger = 0; #ifdef G4ANALYSIS_USE tree = 0; af = 0; - messenger = new HistoMessenger(this); #endif + messenger = new HistoMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -92,8 +91,9 @@ void Histo::book() // Creating a tree mapped to a new hbook file. G4String nam = histName + "." + histType; - G4String options = "--noErrors export=root uncompress"; - + G4String options = ""; + //G4String options = "--noErrors export=root uncompress"; + tree = tf->create(nam,histType,false,true,options); delete tf; if(tree) { diff --git a/examples/extended/electromagnetic/TestEm8/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm8/src/HistoManager.cc new file mode 100644 index 0000000000..9f345d4f7f --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/src/HistoManager.cc @@ -0,0 +1,226 @@ +// +// ******************************************************************** +// * 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 2010/11/19 10:15:33 grichine Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: HistoManager +// +// Author: V.Ivanchenko 01.09.2010 +// +//---------------------------------------------------------------------------- +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "HistoManager.hh" +#include "G4UnitsTable.hh" +#include "Histo.hh" +#include "G4Step.hh" +#include "G4LossTableManager.hh" +#include "G4ElectronIonPair.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +HistoManager* HistoManager::fManager = 0; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +HistoManager* HistoManager::GetPointer() +{ + if(!fManager) { + fManager = new HistoManager(); + } + return fManager; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +HistoManager::HistoManager() +{ + nHisto = 2; + verbose = 1; + maxEnergy = 100.*keV; + nBinsE = 100; + nBinsCluster = 200; + + histo = new Histo(); + elIonPair = G4LossTableManager::Instance()->ElectronIonPair(); + + bookHisto(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +HistoManager::~HistoManager() +{ + delete histo; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void HistoManager::bookHisto() +{ + histo->add1D("10", + "Energy deposition in detector (keV)",nBinsE,0.0,maxEnergy/keV,1.0); + + histo->add1D("11", + "Number of primary clusters",nBinsCluster,-0.5,G4double(nBinsCluster)-0.5,1.0); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void HistoManager::BeginOfRun() +{ + // initilise scoring + nEvt = 0; + nTotStepGas = 0; + nTotCluster = 0; + overflow = 0; + + histo->book(); + + Egas.resize(nBinsE,0.0); + + if(verbose > 0) { + G4cout << "HistoManager: Histograms are booked and run has been started" + << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void HistoManager::EndOfRun() +{ + G4double norm = nEvt; + if(nEvt > 0.0) { norm = 1.0/norm; } + + nTotStepGas *= norm; + nTotCluster *= norm; + overflow *= norm; + + G4double y1 = 0.0; + G4double y2 = 0.0; + + G4double de = maxEnergy/G4double(nBinsE); + G4double x1 = -de*0.5; + + for(G4int j=0; j= 0.0) { y2 = std::sqrt(y2); } + + G4cout << " ================== run summary =====================" << G4endl; + G4int prec = G4cout.precision(5); + G4cout << " End of Run TotNbofEvents = " << + G4int(nEvt) << G4endl ; + G4cout << G4endl; + G4cout << " Mean energy deposit in absorber = " << + y1/keV << " +- " << y2*std::sqrt(norm)/keV << " keV; "; + if(y1 > 0.0) { G4cout << " RMS/Emean = " << y2/y1; } + G4cout << G4endl; + G4cout << " Mean number of steps in absorber= " + << nTotStepGas << "; mean number of ion-clusters = " << nTotCluster + << G4endl; + G4cout << G4endl; + + G4cout << " ====== Energy deposit distribution Noverflows= " << overflow + << " ====== " << G4endl ; + G4cout << " bin nb Elow entries normalized " << G4endl; + + std::ofstream fileOut("distribution.out", std::ios::out ); + fileOut.setf( std::ios::scientific, std::ios::floatfield ); + + x1 = 0.0; + + fileOut<scale(0,norm); + histo->scale(1,norm); + + histo->save(); + G4cout << " ================== run end ==========================" << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void HistoManager::BeginOfEvent() +{ + nEvt += 1; + totEdep = 0.0; + nStepGas = 0; + nCluster = 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void HistoManager::EndOfEvent() +{ + nTotStepGas += nStepGas; + nTotCluster += nCluster; + + G4int idx = G4int(totEdep*nBinsE/maxEnergy); + if(idx < 0) { idx = 0; } + if(idx >= nBinsE) { overflow += 1.0; } + else { Egas[idx] += 1.0; } + + // fill histo + histo->fill(0,totEdep/keV,1.0); + histo->fill(1,nCluster,1.0); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::AddEnergy(G4double edep, G4Step* step) +{ + if(1 < verbose) { + G4cout << "HistoManager::AddEnergy: e(keV)= " << edep/keV + << G4endl; + } + totEdep += edep; + if(step->GetTrack()->GetTrackID() == 1) { nStepGas += 1.0; } + + nCluster += elIonPair->SampleNumberOfIonsAlongStep(step); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/examples/extended/electromagnetic/TestEm8/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/HistoMessenger.cc new file mode 100644 index 0000000000..88703eb779 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/src/HistoMessenger.cc @@ -0,0 +1,118 @@ +// +// ******************************************************************** +// * 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 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "HistoMessenger.hh" + +#include + +#include "Histo.hh" +#include "G4UIdirectory.hh" +#include "G4UIcommand.hh" +#include "G4UIparameter.hh" +#include "G4UIcmdWithAString.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoMessenger::HistoMessenger(Histo* manager) +:histo (manager) +{ + histoDir = new G4UIdirectory("/testem/histo/"); + histoDir->SetGuidance("histograms control"); + + factoryCmd = new G4UIcmdWithAString("/testem/histo/fileName",this); + factoryCmd->SetGuidance("set name for the histograms file"); + + fileCmd = new G4UIcmdWithAString("/testem/histo/fileType",this); + fileCmd->SetGuidance("set type (hbook, XML) for the histograms file"); + + histoCmd = new G4UIcommand("/testem/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 0 to MaxHisto-1"); + 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 unit"); + histoCmd->SetParameter(valMin); + // + G4UIparameter* valMax = new G4UIparameter("valMax",'d',false); + valMax->SetGuidance("valMax, expressed in 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); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoMessenger::~HistoMessenger() +{ + delete fileCmd; + delete histoCmd; + delete factoryCmd; + delete histoDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoMessenger::SetNewValue(G4UIcommand* command,G4String newValues) +{ + if (command == factoryCmd) + histo->setFileName(newValues); + + if (command == fileCmd) + histo->setFileType(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); + if(vUnit <= 0.0) vUnit = 1.; + histo->setHisto1D(ih,nbBins,vmin,vmax,vUnit); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm8/src/PhysicsList.cc index 6fdee6a128..2031a67d2b 100644 --- a/examples/extended/electromagnetic/TestEm8/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm8/src/PhysicsList.cc @@ -23,9 +23,18 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: PhysicsList.cc,v 1.21 2010/10/27 14:52:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: PhysicsList.cc,v 1.16 2008/12/05 17:46:12 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +//--------------------------------------------------------------------------- +// +// ClassName: PhysicsList +// +// Description: EM physics with a possibility to add PAI model +// +// Author: V.Ivanchenko 01.09.2010 +// +//---------------------------------------------------------------------------- // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -38,6 +47,8 @@ #include "G4EmStandardPhysics_option1.hh" #include "G4EmStandardPhysics_option2.hh" #include "G4EmStandardPhysics_option3.hh" +#include "G4EmLivermorePhysics.hh" +#include "G4EmPenelopePhysics.hh" #include "G4DecayPhysics.hh" #include "G4PAIModel.hh" @@ -46,6 +57,7 @@ #include "G4Gamma.hh" #include "G4Electron.hh" #include "G4Positron.hh" +#include "G4Proton.hh" #include "G4UnitsTable.hh" #include "G4LossTableManager.hh" @@ -60,16 +72,18 @@ PhysicsList::PhysicsList() : G4VModularPhysicsList() { - G4LossTableManager::Instance(); + em_config = G4LossTableManager::Instance()->EmConfigurator(); + G4LossTableManager::Instance()->SetVerbose(1); defaultCutValue = 1.*mm; cutForGamma = defaultCutValue; cutForElectron = defaultCutValue; cutForPositron = defaultCutValue; - - stepMaxProcess = 0; + cutForProton = defaultCutValue; pMessenger = new PhysicsListMessenger(this); + stepMaxProcess = new StepMax(); + // Decay Physics is always defined generalPhysicsList = new G4DecayPhysics(); @@ -87,7 +101,7 @@ PhysicsList::~PhysicsList() delete pMessenger; delete generalPhysicsList; delete emPhysicsList; - for(size_t i=0; iConstructProcess(); - em_config.AddModels(); generalPhysicsList->ConstructProcess(); - for(size_t i=0; iConstructProcess(); + for(size_t i=0; iConstructProcess(); } AddStepMax(); } @@ -139,6 +152,18 @@ void PhysicsList::AddPhysicsList(const G4String& name) delete emPhysicsList; emPhysicsList = new G4EmStandardPhysics_option3(); + } else if (name == "emlivermore") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmLivermorePhysics(); + + } else if (name == "empenelope") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmPenelopePhysics(); + } else if (name == "pai") { emName = name; @@ -162,7 +187,6 @@ void PhysicsList::AddPhysicsList(const G4String& name) void PhysicsList::AddStepMax() { // Step limitation seen as a process - stepMaxProcess = new StepMax(); theParticleIterator->reset(); while ((*theParticleIterator)()) @@ -194,8 +218,9 @@ void PhysicsList::SetCuts() SetCutValue(cutForGamma, "gamma"); SetCutValue(cutForElectron, "e-"); SetCutValue(cutForPositron, "e+"); + SetCutValue(cutForProton, "proton"); - if ( verboseLevel > 0 ) DumpCutValuesTable(); + if ( verboseLevel > 0 ) { DumpCutValuesTable(); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -224,6 +249,14 @@ void PhysicsList::SetCutForPositron(G4double cut) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PhysicsList::SetCutForProton(G4double cut) +{ + cutForPositron = cut; + SetParticleCuts(cutForProton, G4Proton::Proton()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void PhysicsList::AddPAIModel(const G4String& modname) { theParticleIterator->reset(); @@ -255,11 +288,11 @@ void PhysicsList::NewPAIModel(const G4ParticleDefinition* part, G4String partname = part->GetParticleName(); if(modname == "pai") { G4PAIModel* pai = new G4PAIModel(part,"PAIModel"); - em_config.SetExtraEmModel(partname,procname,pai,"VertexDetector", + em_config->SetExtraEmModel(partname,procname,pai,"GasDetector", 0.0,100.*TeV,pai); } else if(modname == "pai_photon") { G4PAIPhotonModel* pai = new G4PAIPhotonModel(part,"PAIPhotModel"); - em_config.SetExtraEmModel(partname,procname,pai,"VertexDetector", + em_config->SetExtraEmModel(partname,procname,pai,"GasDetector", 0.0,100.*TeV,pai); } } diff --git a/examples/extended/electromagnetic/TestEm8/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/PhysicsListMessenger.cc index bc09547e74..0e8d695d41 100644 --- a/examples/extended/electromagnetic/TestEm8/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/PhysicsListMessenger.cc @@ -23,10 +23,18 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: PhysicsListMessenger.cc,v 1.3 2010/09/08 09:12:10 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: PhysicsListMessenger.cc,v 1.2 2006/06/29 17:00:47 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +//--------------------------------------------------------------------------- // +// ClassName: PhysicsListMessenger +// +// Description: EM physics with a possibility to add PAI model +// +// Author: V.Ivanchenko 01.09.2010 +// +//---------------------------------------------------------------------------- // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -37,39 +45,32 @@ #include "PhysicsList.hh" #include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "HistoManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) :pPhysicsList(pPhys) { - gammaCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/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); + eCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setMaxE",this); + eCmd->SetGuidance("Set max energy deposit"); + eCmd->SetParameterName("Emax",false); + eCmd->SetUnitCategory("Energy"); + eCmd->SetRange("Emax>0.0"); + eCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - electCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/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); + ebCmd = new G4UIcmdWithAnInteger("/testem/phys/setNbinsE",this); + ebCmd->SetGuidance("Set number of bins in energy."); + ebCmd->SetParameterName("Ebins",false); + ebCmd->SetRange("Ebins>0"); + ebCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - protoCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/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("/testem/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); + cbCmd = new G4UIcmdWithAnInteger("/testem/phys/setNbinsCl",this); + cbCmd->SetGuidance("Set max number of clusters."); + cbCmd->SetParameterName("Cbins",false); + cbCmd->SetRange("Cbins>0"); + cbCmd->AvailableForStates(G4State_PreInit,G4State_Idle); pListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); pListCmd->SetGuidance("Add modula physics list."); @@ -81,10 +82,9 @@ PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) PhysicsListMessenger::~PhysicsListMessenger() { - delete gammaCutCmd; - delete electCutCmd; - delete protoCutCmd; - delete allCutCmd; + delete eCmd; + delete ebCmd; + delete cbCmd; delete pListCmd; } @@ -93,22 +93,15 @@ PhysicsListMessenger::~PhysicsListMessenger() void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if( command == gammaCutCmd ) - { pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue));} + HistoManager* man = HistoManager::GetPointer(); + if( command == eCmd ) + { man->SetMaxEnergy(eCmd->GetNewDoubleValue(newValue));} - if( command == electCutCmd ) - { pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue));} + if( command == ebCmd ) + { man->SetNumberBins(ebCmd->GetNewIntValue(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 == cbCmd ) + { man->SetNumberBinsCluster(cbCmd->GetNewIntValue(newValue));} if( command == pListCmd ) { pPhysicsList->AddPhysicsList(newValue);} diff --git a/examples/extended/electromagnetic/TestEm8/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm8/src/PrimaryGeneratorAction.cc new file mode 100644 index 0000000000..64c3eec378 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/src/PrimaryGeneratorAction.cc @@ -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. * +// ******************************************************************** +// +// $Id: PrimaryGeneratorAction.cc,v 1.1 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +///////////////////////////////////////////////////////////////////////// +// +// TestEm8: Gaseous detector +// +// Created: 31.08.2010 V.Ivanchenko +// +// Modified: +// +//////////////////////////////////////////////////////////////////////// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PrimaryGeneratorAction.hh" +#include "G4Event.hh" +#include "G4Electron.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction::PrimaryGeneratorAction() +{ + particleGun = new G4ParticleGun(1); + particleGun->SetParticleDefinition(G4Electron::Electron()); + particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); + particleGun->SetParticleEnergy(1.*GeV); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction::~PrimaryGeneratorAction() +{ + delete particleGun; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +{ + if(1 == anEvent->GetEventID()) { + G4cout << "### PrimaryGeneratorAction::GeneratePrimaries ##########" << G4endl; + G4cout << "### " << particleGun->GetParticleDefinition()->GetParticleName() + << " E(MeV)= " << particleGun->GetParticleEnergy()/MeV << G4endl; + G4cout << "########################################################" + << G4endl; + + } + particleGun->GeneratePrimaryVertex(anEvent); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorAction::SetPositionZ(G4double z) +{ + particleGun->SetParticlePosition(G4ThreeVector(0.,0.,z)); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc b/examples/extended/electromagnetic/TestEm8/src/RunAction.cc similarity index 65% rename from examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc rename to examples/extended/electromagnetic/TestEm8/src/RunAction.cc index a09c4b20e4..ba98959cc8 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc +++ b/examples/extended/electromagnetic/TestEm8/src/RunAction.cc @@ -23,66 +23,69 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: RunAction.cc,v 1.1 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: AnaEx01CalorHit.cc,v 1.6 2006/06/29 16:33:44 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +//--------------------------------------------------------------------------- +// +// ClassName: RunAction +// +// Author: V.Ivanchenko 01.09.2010 +// +//---------------------------------------------------------------------------- // -// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -#include "AnaEx01CalorHit.hh" - -G4Allocator AnaEx01CalorHitAllocator; +#include "RunAction.hh" +#include "HistoManager.hh" +#include "G4UImanager.hh" +#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -AnaEx01CalorHit::AnaEx01CalorHit() +RunAction::RunAction() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +RunAction::~RunAction() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void RunAction::BeginOfRunAction(const G4Run* aRun) { - EdepAbs = 0.; TrackLengthAbs = 0.; - EdepGap = 0.; TrackLengthGap = 0.; + G4int id = aRun->GetRunID(); + G4cout << "### Run " << id << " start" << G4endl; + (HistoManager::GetPointer())->BeginOfRun(); + +#ifdef G4VIS_USE + G4UImanager* UI = G4UImanager::GetUIpointer(); + + G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); + + if(pVVisManager) + { + UI->ApplyCommand("/vis/scene/notifyHandlers"); + } +#endif + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -AnaEx01CalorHit::~AnaEx01CalorHit() -{;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -AnaEx01CalorHit::AnaEx01CalorHit(const AnaEx01CalorHit& right) - : G4VHit(right) +void RunAction::EndOfRunAction(const G4Run*) { - EdepAbs = right.EdepAbs; TrackLengthAbs = right.TrackLengthAbs; - EdepGap = right.EdepGap; TrackLengthGap = right.TrackLengthGap; + G4cout << "RunAction: End of run actions are started" << G4endl; + (HistoManager::GetPointer())->EndOfRun(); + +#ifdef G4VIS_USE + if (G4VVisManager::GetConcreteInstance()) { + G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update"); + } +#endif } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -const AnaEx01CalorHit& AnaEx01CalorHit::operator=(const AnaEx01CalorHit& right) -{ - EdepAbs = right.EdepAbs; TrackLengthAbs = right.TrackLengthAbs; - EdepGap = right.EdepGap; TrackLengthGap = right.TrackLengthGap; - return *this; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -int AnaEx01CalorHit::operator==(const AnaEx01CalorHit& right) const -{ - return (this==&right) ? 1 : 0; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01CalorHit::Draw() -{;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void AnaEx01CalorHit::Print() -{;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc b/examples/extended/electromagnetic/TestEm8/src/TargetSD.cc similarity index 70% rename from examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc rename to examples/extended/electromagnetic/TestEm8/src/TargetSD.cc index 1486304d08..59f5ab9f74 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc +++ b/examples/extended/electromagnetic/TestEm8/src/TargetSD.cc @@ -23,62 +23,67 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: TargetSD.cc,v 1.1 2010/09/08 11:23:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: Em8CalorHit.cc,v 1.5 2006/06/29 17:00:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +///////////////////////////////////////////////////////////////////////// // +// TestEm8: Gaseous detector +// +// Created: 31.08.2010 V.Ivanchenko +// +// Modified: +// +//////////////////////////////////////////////////////////////////////// // -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "Em8CalorHit.hh" - -G4Allocator Em8CalorHitAllocator; +#include "TargetSD.hh" +#include "globals.hh" +#include "HistoManager.hh" +#include "G4HCofThisEvent.hh" +#include "G4TouchableHistory.hh" +#include "G4Step.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -Em8CalorHit::Em8CalorHit():G4VHit() -{ - EdepAbs = 0.; TrackLengthAbs = 0.; - EdepGap = 0.; TrackLengthGap = 0.; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -Em8CalorHit::~Em8CalorHit() +TargetSD::TargetSD(const G4String& name) + : G4VSensitiveDetector(name), theHisto(HistoManager::GetPointer()) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -Em8CalorHit::Em8CalorHit(const Em8CalorHit& right):G4VHit(right) +TargetSD::~TargetSD() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void TargetSD::Initialize(G4HCofThisEvent*) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4bool TargetSD::ProcessHits(G4Step* aStep, G4TouchableHistory*) { - EdepAbs = right.EdepAbs; TrackLengthAbs = right.TrackLengthAbs; - EdepGap = right.EdepGap; TrackLengthGap = right.TrackLengthGap; + G4double edep = aStep->GetTotalEnergyDeposit(); + if(edep > 0.0) { theHisto->AddEnergy(edep, aStep); } + return true; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -const Em8CalorHit& Em8CalorHit::operator=(const Em8CalorHit& right) -{ - if(this != &right) { - EdepAbs = right.EdepAbs; TrackLengthAbs = right.TrackLengthAbs; - EdepGap = right.EdepGap; TrackLengthGap = right.TrackLengthGap; - } - return *this; -} +void TargetSD::EndOfEvent(G4HCofThisEvent*) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -int Em8CalorHit::operator==(const Em8CalorHit& right) const -{ - return ((Em8CalorHit *)this == (Em8CalorHit *) &right); -} +void TargetSD::clear() +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void Em8CalorHit::Print() -{;} + +void TargetSD::PrintAll() +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm8/testPAI.mac b/examples/extended/electromagnetic/TestEm8/testPAI.mac new file mode 100644 index 0000000000..7f780279cf --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/testPAI.mac @@ -0,0 +1,46 @@ +# +# Macro file for the initialization phase of "TestEm8.cc" +# author: V. Grichine (based on TestEm8.in) +# It creates the default geometry (simple absorber cylinder ) +# Few powerful commands (see also README): +# /testem/setGasMat XeCH4C3H8 +# /testem/setWindowMat G4_MYLAR +# /testem/setWorldMat G4_AIR +# /testem/setGasThick 10 cm +# /testem/setGasRad 20 cm +# /testem/setWindowThick 50 um +# List of available materials (basically gases at STP): Argon, Kr, Xe, CarbonDioxide, Mylar, Methane, +# Propane, empty (G4_Galactic), Kr7CH4, Ar_80-CO2_20, Xe20CO2, Kr20CO2, +# Now few gas mixtures from experiments: +# + +/control/verbose 2 +/run/verbose 2 +#/tracking/verbose 2 +# +# select EM PhysicsList +# +/testem/phys/addPhysics pai +#/testem/phys/addPhysics pai_photon +# +#/testem/stepMax 10 mm +# +/testem/phys/setNbinsE 20 +/testem/phys/setMaxE 0.060 MeV +# +/run/initialize +# +/run/setCut 0.5 mm +/run/setCutForRegion GasDetector 1.8 mm +/run/particle/dumpCutValues +# +#/gun/particle e- +# +/gun/particle proton +# +#/gun/particle mu- +# +/gun/energy 200000.00 MeV +# +/run/beamOn 1000 +# diff --git a/examples/extended/electromagnetic/TestEm8/vis.mac b/examples/extended/electromagnetic/TestEm8/vis.mac new file mode 100644 index 0000000000..4c40740beb --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/vis.mac @@ -0,0 +1,79 @@ +# +# Macro file for the initialization phase of "TestEm6.cc" +# +# Sets some default verbose +# and initializes the graphic. +# +/control/verbose 2 +/run/verbose 2 +# +/run/initialize +# +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 45. 45. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/electromagnetic/TestEm9/GNUmakefile b/examples/extended/electromagnetic/TestEm9/GNUmakefile index 8b711f38d2..d450bbdcc1 100644 --- a/examples/extended/electromagnetic/TestEm9/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm9/GNUmakefile @@ -1,5 +1,5 @@ -# $Id: GNUmakefile,v 1.9 2008/06/11 22:31:05 maire Exp $ -# GEANT4 tag $Name: geant4-09-02 $ +# $Id: GNUmakefile,v 1.10 2010/01/11 16:29:51 gcosmo Exp $ +# GEANT4 tag $Name: geant4-09-04-beta-01 $ # -------------------------------------------------------------- # GNUmakefile for examples module with AIDA interface # -------------------------------------------------------------- @@ -9,7 +9,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../../../ + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/electromagnetic/TestEm9/History b/examples/extended/electromagnetic/TestEm9/History index 5c65aa7799..8c7dd429af 100644 --- a/examples/extended/electromagnetic/TestEm9/History +++ b/examples/extended/electromagnetic/TestEm9/History @@ -1,4 +1,4 @@ -$Id: History,v 1.58 2009/11/20 20:22:44 vnivanch Exp $ +$Id: History,v 1.64 2010/11/19 16:09:59 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,26 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +19-11-10 V.Ivant (testem9-V09-03-05) +- add applyCuts option to the macro files + +12-08-10 V.Ivant (testem9-V09-03-04) +- Histo - use empty option when open file +- PhysicsList - use default constructor for elastic builder + +06-06-10 J.Perl (testem9-V09-03-03) +- Remove unused variable in EventAction + +03-06-10 J.Perl (testem9-V09-03-02) +- Updated vis usage + +21-05-10 mma (testem9-V09-03-01) +TestEm9.cc : introduction of G4UIExecutive + +29-04-10 V.Ivant (testem9-V09-03-00) +- added a table of average number of calls of processes versus + atomic number of an atom on which interaction takes place + 20-11-09 V.Ivant (testem9-V09-02-00) - use Livermore and Penelope builders from PhysList library diff --git a/examples/extended/electromagnetic/TestEm9/TestEm9.cc b/examples/extended/electromagnetic/TestEm9/TestEm9.cc index 5124888d28..944a8dc5d4 100644 --- a/examples/extended/electromagnetic/TestEm9/TestEm9.cc +++ b/examples/extended/electromagnetic/TestEm9/TestEm9.cc @@ -24,16 +24,14 @@ // ******************************************************************** // // -// $Id: TestEm9.cc,v 1.8 2006/11/17 17:45:05 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: TestEm9.cc,v 1.10 2010/05/21 18:32:34 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -49,6 +47,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -67,51 +69,42 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(phys = new PhysicsList); runManager->SetUserAction(kin = new PrimaryGeneratorAction(det)); - //visualization manager -#ifdef G4VIS_USE - G4VisManager* visManager = 0; -#endif - //set user action classes - RunAction* run = new RunAction(); - EventAction* event = new EventAction(); - TrackingAction* track = new TrackingAction(); - SteppingAction* step = new SteppingAction(); - - runManager->SetUserAction(run); - runManager->SetUserAction(event); - runManager->SetUserAction(track); - runManager->SetUserAction(step); + runManager->SetUserAction(new RunAction()); + runManager->SetUserAction(new EventAction()); + runManager->SetUserAction(new TrackingAction()); + runManager->SetUserAction(new SteppingAction()); //get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); - - if (argc==1) // Define UI terminal for interactive mode - { -#ifdef G4VIS_USE - 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; - } - else // Batch mode + + 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 + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif + } //job termination -#ifdef G4VIS_USE - if(visManager) delete visManager; -#endif + // delete runManager; return 0; diff --git a/examples/extended/electromagnetic/TestEm9/TestEm9.in b/examples/extended/electromagnetic/TestEm9/TestEm9.in index 28cf9b7709..e19f8639b7 100644 --- a/examples/extended/electromagnetic/TestEm9/TestEm9.in +++ b/examples/extended/electromagnetic/TestEm9/TestEm9.in @@ -1,5 +1,5 @@ -# $Id: TestEm9.in,v 1.16 2007/05/17 15:23:04 vnivanch Exp $ -# GEANT4 tag $Name: geant4-09-02 $ +# $Id: TestEm9.in,v 1.18 2010/11/19 18:33:42 vnivanch Exp $ +# GEANT4 tag $Name: geant4-09-04 $ # # Macro file for TestEm9 - Crystal Calorimeter # V.Ivanchenko @@ -22,9 +22,8 @@ /testem/det/acceptance9 0.9570 0.01286 2.5 /testem/det/acceptance25 0.9793 0.00884 2.5 # -#/process/eLoss/preciseRange true -#/process/eLoss/integral true /run/initialize +/process/em/applyCuts true # #/testem/histo/fileName e_pr.root #/testem/histo/fileType root diff --git a/examples/extended/electromagnetic/TestEm9/TestEm9.out b/examples/extended/electromagnetic/TestEm9/TestEm9.out index 4069160b5d..3a344c5b75 100644 --- a/examples/extended/electromagnetic/TestEm9/TestEm9.out +++ b/examples/extended/electromagnetic/TestEm9/TestEm9.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -27,13 +27,12 @@ PhysicsList::Set emstandard_opt1 EM physics /testem/det/acceptance9 0.9570 0.01286 2.5 /testem/det/acceptance25 0.9793 0.00884 2.5 # -#/process/eLoss/preciseRange true -#/process/eLoss/integral true /run/initialize Ecal is 36 cm of G4_CESIUM_IODIDE Absorber is 2 mm of G4_Al Vertex is 3 cm of 3 layers of Si of 100 um npads= 601 ### New geometry is constructed +/process/em/applyCuts true # #/testem/histo/fileName e_pr.root #/testem/histo/fileType root @@ -43,246 +42,258 @@ Vertex is 3 cm of 3 layers of Si of 100 um npads= 601 phot: for gamma, applyCuts: 1 SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma, applyCuts: 1 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV conv: for gamma, applyCuts: 1 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.8, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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.8, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+, applyCuts: 1 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + hPairProd : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + 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 + WentzelVIUni : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu+, applyCuts: 1 SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 0 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu-, applyCuts: 1 SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 0 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + hPairProd : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -350,39 +361,43 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=1.92s Real=1.93s Sys=0s + User=1.55s Real=1.55s Sys=0s RunAction: End of run actions are started HistoManager: End of run actions are started ================================================================= Number of events 100 -Average number of e- 409.3 -Average number of gamma 683.6 -Average number of e+ 48.46 -Average number of steps 3044 -Edep 1x1 = 0.8267 +- 0.002708 res= 3.243 % -Edep 3x3 = 0.9581 +- 0.001137 res= 1.18 % -Edep 5x5 = 0.9811 +- 0.0007754 res= 0.7824 % +Average number of e- 405.9 +Average number of gamma 680.2 +Average number of e+ 47.97 +Average number of steps 3041 +Edep 1x1 = 0.8243 +- 0.002658 res= 3.192 % +Edep 3x3 = 0.957 +- 0.001221 res= 1.269 % +Edep 5x5 = 0.9793 +- 0.0008076 res= 0.8247 % =========== Mean values without trancating ===================== -Edep 1x1 = 0.8243 +- 0.003141 res= 3.811 % -Edep 3x3 = 0.9575 +- 0.001268 res= 1.324 % -Edep 5x5 = 0.9803 +- 0.0009791 res= 0.9988 % +Edep 1x1 = 0.8226 +- 0.002854 res= 3.469 % +Edep 3x3 = 0.9566 +- 0.001255 res= 1.312 % +Edep 5x5 = 0.9793 +- 0.0008076 res= 0.8247 % =========== Ratios without trancating =========================== - E1/E9 = 0.8609 +- 0.003134 - E1/E25 = 0.8409 +- 0.003197 - E9/E25 = 0.9768 +- 0.0008763 + E1/E9 = 0.8599 +- 0.002718 + E1/E25 = 0.84 +- 0.002731 + E9/E25 = 0.9768 +- 0.0008467 Beam Energy 1 GeV ================================================================== <<<<>>>> 100 events for Crystal Calorimeter -Edep1x1: 0.8267 delEdep1x1= -0.0004352 nrms= -0.1463 -Erms1x1: 0.02681 delErms1x1= -0.002931 nrms= -0.9854 -Edep3x3: 0.9581 delEdep3x3= 0.001107 nrms= 0.861 -Erms3x3: 0.01131 delErms3x3= -0.001551 nrms= -1.206 -Edep5x5: 0.9811 delEdep5x5= 0.001823 nrms= 2.062 -Erms5x5: 0.007677 delErms5x5= -0.001163 nrms= -1.316 +Edep1x1: 0.8243 delEdep1x1= -0.002786 nrms= -0.9369 +Erms1x1: 0.02631 delErms1x1= -0.003426 nrms= -1.152 +Edep3x3: 0.957 delEdep3x3= -1.314e-05 nrms= -0.01022 +Erms3x3: 0.01214 delErms3x3= -0.0007156 nrms= -0.5564 +Edep5x5: 0.9793 delEdep5x5= 3.176e-05 nrms= 0.03593 +Erms5x5: 0.008076 delErms5x5= -0.0007638 nrms= -0.864 <<<<>>>> IS ACCEPTED + Z bremsstrahlung photoeffect compton conversion + 13 0 0 160 0 + 53 282 41 0 44 + 55 301 48 0 49 # G4 kernel has come to Quit state. diff --git a/examples/extended/electromagnetic/TestEm9/cms10gev.mac b/examples/extended/electromagnetic/TestEm9/cms10gev.mac index 6190415f9c..4306b83649 100644 --- a/examples/extended/electromagnetic/TestEm9/cms10gev.mac +++ b/examples/extended/electromagnetic/TestEm9/cms10gev.mac @@ -1,4 +1,4 @@ -# $Id: cms10gev.mac,v 1.5 2008/09/24 10:38:46 vnivanch Exp $ +# $Id: cms10gev.mac,v 1.7 2010/11/19 18:33:42 vnivanch Exp $ # # Macro file for "TestEm9.cc" # @@ -13,7 +13,7 @@ /testem/det/EcalWidth 22 mm # #/testem/phys/addPhysics emstandard_opt2 -/testem/phys/addPhysics standardLPM +/testem/phys/addPhysics emstandard_opt1 # /testem/phys/setCuts 1 mm /testem/phys/VertexCuts 0.01 mm @@ -40,7 +40,10 @@ /testem/histo/setHisto 10 80 0.80 0.88 /testem/histo/setHisto 11 100 0.75 0.85 /testem/histo/setHisto 12 40 0.94 0.98 +# /run/initialize +/process/em/applyCuts true +# /run/beamOn 10000 # /testem/phys/setCuts 3 mm diff --git a/examples/extended/electromagnetic/TestEm9/cms50gev.mac b/examples/extended/electromagnetic/TestEm9/cms50gev.mac index e367008da8..80309d1c93 100644 --- a/examples/extended/electromagnetic/TestEm9/cms50gev.mac +++ b/examples/extended/electromagnetic/TestEm9/cms50gev.mac @@ -1,4 +1,4 @@ -# $Id: cms50gev.mac,v 1.2 2008/09/24 10:38:46 vnivanch Exp $ +# $Id: cms50gev.mac,v 1.4 2010/11/19 18:33:42 vnivanch Exp $ # # Macro file for TestEm9 # @@ -12,8 +12,8 @@ /testem/det/EcalLength 230 mm /testem/det/EcalWidth 22 mm # -/testem/phys/addPhysics emstandard -#/testem/phys/addPhysics emstandard_opt1 +#/testem/phys/addPhysics emstandard +/testem/phys/addPhysics emstandard_opt1 #/testem/phys/addPhysics emstandard_opt2 #/testem/phys/addPhysics standardLPM # @@ -44,5 +44,6 @@ /testem/histo/setHisto 12 40 0.94 0.98 # /run/initialize +/process/em/applyCuts true /run/beamOn 10000 # diff --git a/examples/extended/electromagnetic/TestEm9/cms50gevLPM.mac b/examples/extended/electromagnetic/TestEm9/cms50gevLPM.mac deleted file mode 100644 index 95d3b93c6a..0000000000 --- a/examples/extended/electromagnetic/TestEm9/cms50gevLPM.mac +++ /dev/null @@ -1,48 +0,0 @@ -# $Id: cms50gevLPM.mac,v 1.1 2008/09/24 10:39:53 vnivanch Exp $ -# -# Macro file for TestEm9 -# -# CMS PbWO4 model -# -/control/verbose 2 -/run/verbose 1 -/tracking/verbose 0 -# -/testem/det/CalMat G4_PbWO4 -/testem/det/EcalLength 230 mm -/testem/det/EcalWidth 22 mm -# -#/testem/phys/addPhysics emstandard -#/testem/phys/addPhysics emstandard_opt1 -#/testem/phys/addPhysics emstandard_opt2 -/testem/phys/addPhysics standardLPM -# -/process/eLoss/verbose 1 -/testem/phys/setCuts 1 mm -/testem/phys/VertexCuts 0.01 mm -/testem/phys/MuonCuts 10.0 mm -# -/gun/particle e- -/gun/energy 50 GeV -# -#/process/eLoss/StepFunction 0.2 1 mm -#/process/eLoss/preciseRange true -# -#/testem/tracking/stepMax 1 mum -# -#/random/setSavingFlag true -#/random/resetEngineFrom first.rndm -/testem/event/printModulo 1000 -# -/testem/histo/fileName cms50gevLPM -/testem/histo/fileType root -/testem/histo/setHisto 0 250 0.60 0.85 -/testem/histo/setHisto 1 200 0.80 1.00 -/testem/histo/setHisto 2 100 0.90 1.00 -/testem/histo/setHisto 10 80 0.80 0.88 -/testem/histo/setHisto 11 100 0.75 0.85 -/testem/histo/setHisto 12 40 0.94 0.98 -# -/run/initialize -/run/beamOn 10000 -# diff --git a/examples/extended/electromagnetic/TestEm9/cms_cal.mac b/examples/extended/electromagnetic/TestEm9/cms_cal.mac index e1f0da2ca9..0b683d2722 100644 --- a/examples/extended/electromagnetic/TestEm9/cms_cal.mac +++ b/examples/extended/electromagnetic/TestEm9/cms_cal.mac @@ -1,4 +1,4 @@ -# $Id: cms_cal.mac,v 1.3 2007/05/17 15:23:04 vnivanch Exp $ +# $Id: cms_cal.mac,v 1.5 2010/11/19 18:33:42 vnivanch Exp $ # # Macro file for "TestEm9.cc" # @@ -28,6 +28,7 @@ # /testem/phys/setCuts 0.1 mm /run/initialize +/process/em/applyCuts true # /gun/particle e- /gun/energy 10 GeV diff --git a/examples/extended/electromagnetic/TestEm9/csi.mac b/examples/extended/electromagnetic/TestEm9/csi.mac index 7047c508d7..49cb959dcf 100644 --- a/examples/extended/electromagnetic/TestEm9/csi.mac +++ b/examples/extended/electromagnetic/TestEm9/csi.mac @@ -1,5 +1,5 @@ -# $Id: csi.mac,v 1.4 2006/10/26 15:50:35 maire Exp $ -# GEANT4 tag $Name: geant4-09-02 $ +# $Id: csi.mac,v 1.5 2010/11/19 16:09:59 vnivanch Exp $ +# GEANT4 tag $Name: geant4-09-04 $ # # Macro file for TestEm9 - Crystal Calorimeter # V.Ivanchenko @@ -11,7 +11,7 @@ # # select EM PhysicsList # -/testem/phys/addPhysics standard +/testem/phys/addPhysics emstandard # /testem/phys/addPhysics binary #hadronic physics /testem/phys/addPhysics binary_ion #hadronic physics diff --git a/examples/extended/electromagnetic/TestEm9/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm9/include/HistoManager.hh index 739d24e226..35d00ad3df 100644 --- a/examples/extended/electromagnetic/TestEm9/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm9/include/HistoManager.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.hh,v 1.11 2008/09/24 10:38:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.hh,v 1.12 2010/04/29 15:21:39 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ #ifndef HistoManager_h #define HistoManager_h 1 @@ -53,7 +53,6 @@ #include "G4VPhysicalVolume.hh" #include "G4DataVector.hh" #include "G4Track.hh" -//#include "Histo.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -149,6 +148,10 @@ private: G4double E[25]; G4DataVector Evertex; G4DataVector Nvertex; + G4DataVector brem; + G4DataVector phot; + G4DataVector comp; + G4DataVector conv; G4double edeptrue[3]; G4double rmstrue[3]; diff --git a/examples/extended/electromagnetic/TestEm9/src/EventAction.cc b/examples/extended/electromagnetic/TestEm9/src/EventAction.cc index ff455fc2a4..96ec4780d6 100644 --- a/examples/extended/electromagnetic/TestEm9/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm9/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.4 2006/06/29 17:03:06 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.6 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -34,9 +34,6 @@ #include "EventActionMessenger.hh" #include "G4UImanager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4Gamma.hh" #include "G4ios.hh" @@ -91,23 +88,9 @@ void EventAction::BeginOfEventAction(const G4Event*) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { (HistoManager::GetPointer())->EndOfEvent(); - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) { - G4TrajectoryContainer* trjc = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trjc) n_trajectories = trjc->entries(); - - for(G4int i=0; iGetTrajectoryContainer()))[i]); - if (drawFlag == "all") t->DrawTrajectory(1000); - else if ((drawFlag == "charged")&&(t->GetCharge() != 0.)) - t->DrawTrajectory(1000); - } - } if(verbose > 0) { G4cout << "EventAction: Event # " diff --git a/examples/extended/electromagnetic/TestEm9/src/Histo.cc b/examples/extended/electromagnetic/TestEm9/src/Histo.cc index 974e61d2a3..619f453783 100644 --- a/examples/extended/electromagnetic/TestEm9/src/Histo.cc +++ b/examples/extended/electromagnetic/TestEm9/src/Histo.cc @@ -92,7 +92,8 @@ void Histo::book() // Creating a tree mapped to a new hbook file. G4String nam = histName + "." + histType; - G4String options = "--noErrors export=root uncompress"; + G4String options = ""; + //G4String options = "--noErrors export=root uncompress"; tree = tf->create(nam,histType,false,true,options); delete tf; diff --git a/examples/extended/electromagnetic/TestEm9/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm9/src/HistoManager.cc index 20bd2f93d3..fd32336601 100644 --- a/examples/extended/electromagnetic/TestEm9/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm9/src/HistoManager.cc @@ -37,6 +37,11 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "HistoManager.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4EmProcessSubType.hh" +#include "G4VProcess.hh" +#include "G4VEmProcess.hh" +#include "G4VEnergyLossProcess.hh" #include "G4UnitsTable.hh" #include "Histo.hh" #include "EmAcceptance.hh" @@ -163,6 +168,11 @@ void HistoManager::BeginOfRun() histo->book(); + brem.resize(93,0.0); + phot.resize(93,0.0); + comp.resize(93,0.0); + conv.resize(93,0.0); + if(verbose > 0) { G4cout << "HistoManager: Histograms are booked and run has been started" << G4endl; @@ -279,6 +289,19 @@ void HistoManager::EndOfRun() } } if(isStarted) acc.EndOfAcceptance(); + + // atom frequency + G4cout << " Z bremsstrahlung photoeffect compton conversion" << G4endl; + for(j=1; j<93; ++j) { + G4int n1 = G4int(brem[j]*x); + G4int n2 = G4int(phot[j]*x); + G4int n3 = G4int(comp[j]*x); + G4int n4 = G4int(conv[j]*x); + if(n1 + n2 + n3 + n4 > 0) { + G4cout << std::setw(4) << j << std::setw(12) << n1 << std::setw(12) << n2 + << std::setw(12) << n3 << std::setw(12) << n4 << G4endl; + } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -389,6 +412,7 @@ void HistoManager::ScoreNewTrack(const G4Track* aTrack) G4double kinE = dynParticle->GetKineticEnergy(); G4ThreeVector pos = aTrack->GetVertexPosition(); + // primary if(0 == pid) { beamEnergy = kinE; @@ -413,26 +437,56 @@ void HistoManager::ScoreNewTrack(const G4Track* aTrack) << "; pos= " << pos << "; dir= " << dir << G4endl; } + // secondary + } else { + const G4VProcess* proc = aTrack->GetCreatorProcess(); + G4int type = proc->GetProcessSubType(); + if(type == fBremsstrahlung) { + const G4Element* elm = static_cast(proc)->GetCurrentElement(); + if(elm) { + G4int Z = G4int(elm->GetZ()); + if(Z > 0 && Z < 93) { brem[Z] += 1.0; } + } + } else if(type == fPhotoElectricEffect) { + const G4Element* elm = static_cast(proc)->GetCurrentElement(); + if(elm) { + G4int Z = G4int(elm->GetZ()); + if(Z > 0 && Z < 93) { phot[Z] += 1.0; } + } + } else if(type == fGammaConversion) { + const G4Element* elm = static_cast(proc)->GetCurrentElement(); + if(elm) { + G4int Z = G4int(elm->GetZ()); + if(Z > 0 && Z < 93) { conv[Z] += 1.0; } + } + } else if(type == fComptonScattering) { + const G4Element* elm = static_cast(proc)->GetCurrentElement(); + if(elm) { + G4int Z = G4int(elm->GetZ()); + if(Z > 0 && Z < 93) { comp[Z] += 1.0; } + } + } + // delta-electron - } else if (0 < pid && "e-" == name) { - if(1 < verbose) { - G4cout << "TrackingAction: Secondary electron " << G4endl; - } - AddDeltaElectron(dynParticle); + if (0 < pid && "e-" == name) { + if(1 < verbose) { + G4cout << "TrackingAction: Secondary electron " << G4endl; + } + AddDeltaElectron(dynParticle); - } else if (0 < pid && "e+" == name) { - if(1 < verbose) { - G4cout << "TrackingAction: Secondary positron " << G4endl; - } - AddPositron(dynParticle); + } else if (0 < pid && "e+" == name) { + if(1 < verbose) { + G4cout << "TrackingAction: Secondary positron " << G4endl; + } + AddPositron(dynParticle); - } else if (0 < pid && "gamma" == name) { - if(1 < verbose) { - G4cout << "TrackingAction: Secondary gamma; parentID= " << pid - << " E= " << kinE << G4endl; + } else if (0 < pid && "gamma" == name) { + if(1 < verbose) { + G4cout << "TrackingAction: Secondary gamma; parentID= " << pid + << " E= " << kinE << G4endl; + } + AddPhoton(dynParticle); } - AddPhoton(dynParticle); - } } diff --git a/examples/extended/electromagnetic/TestEm9/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm9/src/PhysicsList.cc index d394f84b96..a1782c87e2 100644 --- a/examples/extended/electromagnetic/TestEm9/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm9/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.25 2009/11/20 20:22:44 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.26 2010/08/12 11:38:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -198,7 +198,7 @@ void PhysicsList::AddPhysicsList(const G4String& name) emPhysicsList = new G4EmPenelopePhysics(); } else if (name == "elastic" && !helIsRegisted) { - hadronPhys.push_back( new G4HadronElasticPhysics(name)); + hadronPhys.push_back( new G4HadronElasticPhysics()); helIsRegisted = true; if (verboseLevel > 0) G4cout << "PhysicsList::Add hadron elastic physics" << G4endl; diff --git a/examples/extended/electromagnetic/TestEm9/vis.mac b/examples/extended/electromagnetic/TestEm9/vis.mac index 48cfa9468e..9f2b602dda 100644 --- a/examples/extended/electromagnetic/TestEm9/vis.mac +++ b/examples/extended/electromagnetic/TestEm9/vis.mac @@ -9,27 +9,71 @@ # /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 OGLIX -#/vis/open OGLIXm +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# Draw scene -/vis/viewer/set/viewpointThetaPhi 90 0 deg -/vis/viewer/zoom 1.4 -/vis/viewer/flush +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 1 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +/vis/filtering/trajectories/create/particleFilter +/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -#/testem/event/drawTracks all -/testem/event/drawTracks charged - +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/History b/examples/extended/eventgenerator/HepMC/HepMCEx01/History index 1bdeb63524..75d90574d0 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/History +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.12 2006/11/22 15:09:21 gcosmo Exp $ +$Id: History,v 1.15 2010/12/10 06:21:34 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,18 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +December 10th 2010 K.Murakami +- update codes for latest HEPMC version (2.06.03) +- change physics list from GGSP to QGSP_BERT +- update outputs +- update data/ directory for latest HEPMC version + +June 4th 2010 J.Perl +- Updated vis usage + +May 12th 2010 J.Allison +- Introduced GUIExecutive. + November, 22nd 2006 G.Cosmo - Corrected GNUmakefile. diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/data/GNUmakefile b/examples/extended/eventgenerator/HepMC/HepMCEx01/data/GNUmakefile index 9c46c20e00..94427a2c99 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/data/GNUmakefile +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/data/GNUmakefile @@ -4,14 +4,12 @@ CLHEPINC := -I$(CLHEPD)/include CLHEPLIB := -L$(CLHEPD)/lib -lCLHEP # // HepMC -HEPMCD := /opt/heplib/HepMC/1.21 -HEPMCINC := -I$(HEPMCD) -HEPMCLIB := -L$(HEPMCD) -lHepMC -#HEPMCLIB := $(HEPMCD)/libHepMC.so +HEPMCD := /opt/heplib/HepMC/2.06.03 +HEPMCINC := -I$(HEPMCD)/include +HEPMCLIB := -L$(HEPMCD)/lib -lHepMC -lHepMCfio # // CERN libraries -CLIBD := /cern/pro/lib -CLIB := -L$(CLIBD) -lpythia6 +CLIB := $(shell cernlib -v pro pythia6205 pdflib804 mathlib) -lg2c CXXFLAGS := $(CLHEPINC) $(HEPMCINC) LOPT := -Wl,-rpath $(HEPMCD) $(HEPMCLIB) $(CLHEP) $(CLIB) -lg2c diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/data/example_MyPythia.cxx b/examples/extended/eventgenerator/HepMC/HepMCEx01/data/example_MyPythia.cxx index cf268180d1..6a313a6156 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/data/example_MyPythia.cxx +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/data/example_MyPythia.cxx @@ -47,7 +47,7 @@ #include #include "HepMC/PythiaWrapper.h" #include "HepMC/IO_HEPEVT.h" -#include "HepMC/IO_Ascii.h" +#include "HepMC/IO_AsciiParticles.h" #include "HepMC/GenEvent.h" int main() { @@ -88,7 +88,7 @@ int main() { // // Instantial an IO strategy to write the data to file - it uses the // same ParticleDataTable - HepMC::IO_Ascii ascii_io("example_MyPythia.dat",std::ios::out); + HepMC::IO_AsciiParticles ascii_io("example_MyPythia.dat",std::ios::out); // //........................................EVENT LOOP for ( int i = 1; i <= 10; i++ ) { diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/data/example_MyPythia.dat b/examples/extended/eventgenerator/HepMC/HepMCEx01/data/example_MyPythia.dat index f8ffcf1197..caa2a2ecaf 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/data/example_MyPythia.dat +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/data/example_MyPythia.dat @@ -1,5892 +1,4340 @@ - -HepMC::IO_Ascii-START_EVENT_LISTING -E 1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 78 0 0 -V -1 0 0 0 0 0 1 2 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 2 -7.7594698288360897e-01 -9.1232539665921930e-01 1.8833052220885656e+03 1.8833056029166935e+03 3 0 0 -3 0 -P 20 2101 7.7594698288360897e-01 9.1232539665921930e-01 4.4469502845870420e+03 4.4469504836059705e+03 2 0 0 -16 0 -V -2 0 0 0 0 0 1 3 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 -1 -1.0077355308447375e+00 -1.2716278982991639e-02 -4.1454166842423659e+00 4.2661659707370658e+00 3 0 0 -4 0 -P 13 2214 9.9965263761245238e-01 2.7342497748314848e-02 -4.0826017593891916e+03 4.0826020585869046e+03 2 0 0 -9 0 -P 26 1 8.0828932322852265e-03 -1.4626218765323211e-02 -2.4623230582064652e+03 2.4623230803764359e+03 2 0 0 -16 0 -V -3 0 0 0 0 0 0 4 0 -P 5 2 -5.0183078832283403e+00 1.1490196188676447e+00 1.4784133950691614e+03 1.4784223585904062e+03 3 0 0 -5 0 -P 21 21 1.4581184692651741e+00 -3.9123134860507047e-01 1.0923177669273832e+02 1.0924220892535446e+02 2 0 0 -16 0 -P 22 21 3.1078318510719791e+00 2.3161265926755781e-01 1.4647261850356662e+02 1.4650576860495917e+02 2 0 0 -16 0 -P 23 21 -1.0916504553308495e-01 -1.8718066652841989e+00 8.6094190154962845e+01 8.6114604775486654e+01 2 0 0 -16 0 -V -4 0 0 0 0 0 0 3 0 -P 6 -1 2.5393345338288575e-02 8.3451451612681318e+00 6.6003848774206497e-01 8.3712450322473053e+00 3 0 0 -5 0 -P 24 21 -5.3671673260814667e-01 -6.6758503288897897e+00 4.7470952833050397e+01 4.7941072217280407e+01 2 0 0 -16 0 -P 25 21 -7.1083651803421799e-01 -1.7119307722665538e+00 1.0816833663101894e+01 1.0974510741696802e+01 2 0 0 -16 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 -4.0262403277658469e+00 -1.2288309207825838e+00 2.4575369641175027e+02 2.4578974741971544e+02 3 0 0 -6 0 -P 8 24 -9.6667421012420562e-01 1.0722995700918359e+01 1.2333197371451533e+03 1.2410038562029381e+03 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 -4.0262403277658469e+00 -1.2288309207825838e+00 2.4575369641175027e+02 2.4578974741971544e+02 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 24 -9.6667421012420562e-01 1.0722995700918359e+01 1.2333197371451533e+03 1.2410038562029381e+03 2 0 0 -8 0 -V -8 0 0 0 0 0 0 2 0 -P 11 -13 -2.5622328442447461e+01 4.7040178447927353e+01 2.0936799887850253e+02 2.1611166609336419e+02 1 0 0 0 0 -P 12 14 2.4655654232323258e+01 -3.6317182747008992e+01 1.0239517382666510e+03 1.0248921901095741e+03 1 0 0 0 0 -V -9 0 0 0 0 0 0 2 0 -P 29 2212 1.0242368375894155e+00 1.1819305384951433e-01 -3.7370902170825884e+03 3.7370904770952066e+03 1 0 0 0 0 -P 30 111 -2.4584199976963136e-02 -9.0850556101199478e-02 -3.4551154230660296e+02 3.4551158149169805e+02 2 0 0 -20 0 -V -10 0 0 0 0 0 2 1 0 -P 14 1 2.3065048155050207e+00 5.8203193328752807e+00 1.5053434005803197e+02 1.5066447364361579e+02 2 0 0 -10 0 -P 15 -1 -2.3065048155050207e+00 -5.8203193328752807e+00 4.6213780965918581e+01 4.6635926416942638e+01 2 0 0 -10 0 -P 31 92 0 0 1.9674812102395055e+02 1.9730040006055842e+02 2 0 0 -11 0 -V -11 0 0 0 0 0 0 8 0 -P 32 -211 2.5433561751902267e-01 1.6471020112402412e+00 3.4162682623605711e+01 3.4203596235891361e+01 1 0 0 0 0 -P 33 211 1.8267397603378879e-01 -2.2451207083727245e-01 8.9833818072340854e+00 8.9891269838019312e+00 1 0 0 0 0 -P 34 -211 1.6527958883141400e+00 3.3636085038226837e+00 8.5511074879269898e+01 8.5593276623858827e+01 1 0 0 0 0 -P 35 221 1.5340695778001462e-01 1.0080214339909595e-01 1.6778513363366923e+01 1.6788445638414284e+01 2 0 0 -21 0 -P 36 211 -5.4270097089667468e-01 7.1269909168117845e-02 3.1032133671979825e+00 3.1542061966557080e+00 1 0 0 0 0 -P 37 221 -4.3895349893169139e-01 -1.0908000994225866e+00 1.6203900382989026e+01 1.6255725580713296e+01 2 0 0 -22 0 -P 38 -213 -1.1775778049994057e+00 -2.1994908478570685e+00 1.6736113732474852e+01 1.6955085170015739e+01 2 0 0 -23 0 -P 39 211 -8.3980164819194153e-02 -1.6679795495132113e+00 1.5269240867812080e+01 1.5360937631207282e+01 1 0 0 0 0 -V -12 0 0 0 0 0 2 1 0 -P 16 2 -3.9452709365158856e+00 -1.3309715048590964e+00 3.4100364633141048e+01 3.4353624496149465e+01 2 0 0 -12 0 -P 17 -2 3.9452709365158856e+00 1.3309715048590964e+00 4.3760023670797966e+02 4.3762004503311903e+02 2 0 0 -12 0 -P 40 92 0 0 4.7170060134112072e+02 4.7197366952926848e+02 2 0 0 -13 0 -V -13 0 0 0 0 0 0 8 0 -P 41 221 -2.6764857527202399e+00 -7.4082656853446693e-01 2.6999649559108772e+01 2.7147618271339081e+01 2 0 0 -24 0 -P 42 211 -1.0793700584347439e+00 -1.7691740782741042e-01 8.9362513158609644e+00 9.0040217046253623e+00 1 0 0 0 0 -P 43 223 7.3128413379081270e-01 -2.4207212017445862e-01 2.9711160638588780e+01 2.9731384214780988e+01 2 0 0 -25 0 -P 44 -213 6.8313854697846552e-02 2.1615069868878325e-01 2.6710541480290658e+01 2.6723469313128675e+01 2 0 0 -26 0 -P 45 211 -7.6171122821958814e-02 3.3362556819896899e-01 9.9768132257362261e+00 9.9836561432089255e+00 1 0 0 0 0 -P 46 223 1.1759907015886510e+00 7.6699830168521430e-03 1.5941193545306197e+02 1.5941819661887365e+02 2 0 0 -27 0 -P 47 -213 4.1784646533132969e-01 2.7042442905701480e-01 5.6342534981914696e+01 5.6346454491891919e+01 2 0 0 -28 0 -P 48 111 1.4385917785683024e+00 3.3194541757471685e-01 1.5361171468655868e+02 1.5361886877141990e+02 2 0 0 -29 0 -V -14 0 0 0 0 0 2 1 0 -P 18 2 1.5410660823344702e+00 3.0415562160378746e+00 -6.3245198112592114e+01 6.3337043135802176e+01 2 0 0 -14 0 -P 19 -2 -1.5410660823344702e+00 -3.0415562160378746e+00 -3.1131552297791711e+02 3.1133419471028151e+02 2 0 0 -14 0 -P 49 92 0 0 -3.7456072109050922e+02 3.7467123784608367e+02 2 0 0 -15 0 -V -15 0 0 0 0 0 0 3 0 -P 50 113 1.5650691169710587e+00 2.8328826851235629e+00 -6.1146078921515716e+01 6.1234504633574247e+01 2 0 0 -30 0 -P 51 211 2.0243674382169874e-01 1.1974235089754615e-01 -2.6986180398301357e+01 2.6987566232256142e+01 1 0 0 0 0 -P 52 -211 -1.7675058607927574e+00 -2.9526250360211090e+00 -2.8642846177069208e+02 2.8644916698025321e+02 1 0 0 0 0 -V -16 0 0 0 0 0 0 1 0 -P 53 92 3.9932619002775978e+00 -9.5215072778841598e+00 2.3847135982279970e+03 7.3100517292471832e+03 2 0 0 -17 0 -V -17 0 0 0 0 0 0 31 0 -P 54 2212 8.2215700554402904e-01 7.5777360143587646e-01 2.8563381940988261e+03 2.8563385670437092e+03 1 0 0 0 0 -P 55 113 -3.6038310812821978e-01 -1.6892929069557774e-01 8.6247137938804929e+02 8.6247157540874730e+02 2 0 0 -31 0 -P 56 -2214 1.0274054900145733e+00 9.2951858077602798e-02 4.5344312824574462e+02 4.5344608664771232e+02 2 0 0 -32 0 -P 57 223 -3.5950138267252507e-01 4.0383168579159467e-01 1.2478306984250651e+02 1.2478685771933476e+02 2 0 0 -33 0 -P 58 2212 1.6784465902779000e+00 -6.2450245543458038e-01 1.5667821954585344e+02 1.5669126337139798e+02 1 0 0 0 0 -P 59 -213 5.5576917486158994e-01 3.4454408402510756e-01 9.1366431045160198e+01 9.1370656398000975e+01 2 0 0 -34 0 -P 60 -311 6.8837804480312736e-02 -2.9839760512711585e-02 3.7650473956009833e+01 3.7653837700767077e+01 2 0 0 -35 0 -P 61 311 5.5852191137677354e-01 -2.3170010256673915e-01 5.8824232435728810e+01 5.8829445252735184e+01 2 0 0 -36 0 -P 62 211 3.2384754659479414e-01 -1.1095603539042695e+00 5.0326870381868780e+01 5.0340335354770062e+01 1 0 0 0 0 -P 63 113 -1.6488951177897816e-02 -7.8122143799785340e-02 4.9112488643673986e+00 4.9474711292126861e+00 2 0 0 -37 0 -P 64 -211 7.0648600777312476e-01 -6.4021847151240463e-01 6.5555221578401913e+01 6.5562302874050388e+01 1 0 0 0 0 -P 65 213 4.7207901564054866e-01 -4.3912457471518479e-01 1.4382616336991193e+01 1.4418576507834425e+01 2 0 0 -38 0 -P 66 -213 -3.0042801873910607e-01 -3.8199301959389176e-01 1.6229684769106441e+01 1.6256964556636262e+01 2 0 0 -39 0 -P 67 211 -4.3941675941743208e-01 -3.1906445983026024e+00 2.4837368567595707e+01 2.5045711353216259e+01 1 0 0 0 0 -P 68 -211 -1.3996633591260657e-01 -1.2032611277813125e-01 4.9245854481282014e-01 5.4411777389114624e-01 1 0 0 0 0 -P 69 -311 -2.6561371175678439e-01 -2.6535883073847484e+00 2.0655232762662497e+01 2.0832628193716424e+01 2 0 0 -40 0 -P 70 323 1.0866371896259655e-01 -8.8626238190570616e-01 4.6627917510728158e+00 4.8302466865539628e+00 2 0 0 -41 0 -P 71 113 -4.9783662946179669e-01 -2.2840858695582428e-01 1.7034444868848415e+00 1.9604937252009362e+00 2 0 0 -42 0 -P 72 -323 -2.9015742650522380e-01 -2.3021536904469947e-01 6.4282764365011924e-01 1.1577885131594590e+00 2 0 0 -43 0 -P 73 311 7.9013389939514289e-02 -3.2312546676672708e-02 -8.4688302464291099e-01 9.8598859161290120e-01 2 0 0 -44 0 -P 74 113 1.2774634435977392e-01 1.7876746229795942e-01 -7.0745137977013928e-01 1.0861776738766289e+00 2 0 0 -45 0 -P 75 -2112 2.3991231535880583e-01 -6.4340230480703609e-01 -2.3473851019465588e+00 2.6200253904556892e+00 1 0 0 0 0 -P 76 2112 1.4332258420217242e-01 -2.1997217583827630e-01 -2.2266533235780592e+00 2.4309886732740313e+00 1 0 0 0 0 -P 77 221 -1.5764236109767513e-01 9.2260932887338432e-01 -1.1183066194239037e+01 1.1235512008581036e+01 2 0 0 -46 0 -P 78 211 -3.9688019773273309e-01 -5.0114132735548866e-01 -1.1139586968129358e+00 1.2919134198703757e+00 1 0 0 0 0 -P 79 111 2.8720505725726897e-01 2.8206480950685814e-01 -1.0371931167428463e+00 1.1207303259460017e+00 2 0 0 -47 0 -P 80 223 4.0600347620418453e-01 -2.4511798802410625e-01 -3.5094643591439350e+01 3.5108232820041870e+01 2 0 0 -48 0 -P 81 -321 -6.1416080466482037e-01 2.7652838022953574e-01 -2.2846185259167453e+02 2.2846337866717087e+02 1 0 0 0 0 -P 82 323 1.2565639040248300e-01 -3.0746308740674749e-01 -1.4994406836076098e+03 1.4994409818689087e+03 2 0 0 -49 0 -P 83 -321 1.9429284964222532e-01 2.9316952731129947e-01 -1.6936871917454789e+02 1.6936980360698905e+02 1 0 0 0 0 -P 84 311 -9.3629085348251956e-02 -1.1090305621819395e-01 -5.0941280621429246e+02 5.0941306998980963e+02 2 0 0 -50 0 -V -18 0 0 0 0 0 2 1 0 -P 27 21 -1.3650212674856288e-01 -5.9889764280123572e+00 -1.3829130975861951e+01 1.5070877049244315e+01 2 0 0 -18 0 -P 28 21 1.3650212674856288e-01 5.9889764280123572e+00 -6.1244142694407962e+01 6.1536424058104799e+01 2 0 0 -18 0 -P 85 92 0 0 -7.5073273670269913e+01 7.6607301107349116e+01 2 0 0 -19 0 -V -19 0 0 0 0 0 0 9 0 -P 86 -2112 -3.8391846582458374e-02 -2.4829965966375998e+00 -7.9823040467504578e+00 8.4122955079137967e+00 1 0 0 0 0 -P 87 2212 1.8826721276030065e-01 -2.1411823793389910e+00 -4.4940750564267944e+00 5.0692373914317530e+00 1 0 0 0 0 -P 88 -213 2.0012868143999138e-01 -1.1118139792674885e-01 -1.6567370969599078e+00 1.8269381912397860e+00 2 0 0 -51 0 -P 89 -313 -6.2630872275736982e-01 1.3663451184419380e+00 -1.2866054962931736e+01 1.2986301018153689e+01 2 0 0 -52 0 -P 90 321 7.8884764052036593e-02 7.4459657794075773e-01 -1.0937413012935250e+01 1.0974119155786763e+01 1 0 0 0 0 -P 91 -211 4.2278301863584250e-02 3.9247341077632097e-01 -8.7403526103734830e+00 8.7503752131858565e+00 1 0 0 0 0 -P 92 211 6.4367355561099904e-02 3.6656271279001679e-01 -1.3767381548990618e+00 1.4329686357086739e+00 1 0 0 0 0 -P 93 -2212 4.1585942036274817e-02 5.6395536708324689e-01 -1.1971979631427098e+01 1.2021997418683901e+01 1 0 0 0 0 -P 94 2112 4.9188311626540610e-02 1.3014271868710594e+00 -1.5047619097566116e+01 1.5133068575244886e+01 1 0 0 0 0 -V -20 0 -7.4269769026061745e-06 -2.7446285922861489e-05 -1.0438030306862014e-01 1.0438031490658096e-01 0 2 0 -P 95 22 -4.5719298565037564e-02 -1.2006795010764217e-01 -2.7170906130817190e+02 2.7170909168361442e+02 1 0 0 0 0 -P 96 22 2.1135098588074424e-02 2.9217394006442684e-02 -7.3802480998431093e+01 7.3802489808083607e+01 1 0 0 0 0 -V -21 0 0 0 0 0 0 3 0 -P 97 211 1.9058278725344435e-01 1.3383881894953986e-01 6.8583567178648615e+00 6.8637286719855979e+00 1 0 0 0 0 -P 98 -211 -4.9893773724282060e-02 -5.3826599477990789e-02 4.3098583175285032e+00 4.3127421895514972e+00 1 0 0 0 0 -P 99 111 1.2717944250852329e-02 2.0789923927546888e-02 5.6102983279735579e+00 5.6119747768771902e+00 2 0 0 -53 0 -V -22 0 0 0 0 0 0 3 0 -P 100 111 2.0228195634579012e-02 -1.9810461285380357e-01 2.6837098683979255e+00 2.6944707969597661e+00 2 0 0 -54 0 -P 101 111 -1.9448733826450373e-01 -3.0772173043153522e-01 5.9693477937278034e+00 5.9819604370981914e+00 2 0 0 -55 0 -P 102 111 -2.6469435630176663e-01 -5.8497375613724767e-01 7.5508427208632973e+00 7.5792943466553382e+00 2 0 0 -56 0 -V -23 0 0 0 0 0 0 2 0 -P 103 -211 5.9300840341949650e-02 -7.9895912928811963e-01 3.9895681488508994e+00 4.0716073090566693e+00 1 0 0 0 0 -P 104 111 -1.2368786453413552e+00 -1.4005317185689488e+00 1.2746545583623952e+01 1.2883477860959070e+01 2 0 0 -57 0 -V -24 0 0 0 0 0 0 2 0 -P 105 22 -6.3422905570294317e-03 -7.9336321700606463e-02 8.0076038030440988e-01 8.0470594831637421e-01 1 0 0 0 0 -P 106 22 -2.6701434621632107e+00 -6.6149024683386048e-01 2.6198889178804361e+01 2.6342912323022706e+01 1 0 0 0 0 -V -25 0 0 0 0 0 0 3 0 -P 107 -211 1.7586778974385729e-02 3.3676945404653977e-02 3.2030504088469960e+00 3.2063148844056766e+00 1 0 0 0 0 -P 108 211 3.9410357646856603e-01 9.7313149537317151e-02 1.4025732004537366e+01 1.4032299367033970e+01 1 0 0 0 0 -P 109 111 3.1959377834786096e-01 -3.7306221511642979e-01 1.2482378225204421e+01 1.2492769963341344e+01 2 0 0 -58 0 -V -26 0 0 0 0 0 0 2 0 -P 110 -211 -8.4080503689870231e-02 -1.8799913200941373e-01 1.7544692223771495e+01 1.7546456001611979e+01 1 0 0 0 0 -P 111 111 1.5239435838771678e-01 4.0414983069819693e-01 9.1658492565191594e+00 9.1770133115166939e+00 2 0 0 -59 0 -V -27 0 0 0 0 0 0 3 0 -P 112 -211 4.7070025031333157e-01 6.8525031471775202e-02 4.9225309974297012e+01 4.9227805925676876e+01 1 0 0 0 0 -P 113 211 5.9651172498042482e-01 -1.2288599138979327e-01 1.0093129545527971e+02 1.0093322946022674e+02 1 0 0 0 0 -P 114 111 1.0877872629489453e-01 6.2030942934870215e-02 9.2553300234852465e+00 9.2571612329700255e+00 2 0 0 -60 0 -V -28 0 0 0 0 0 0 2 0 -P 115 -211 4.0683649987303769e-02 6.5512868154666238e-03 6.5875064226277624e+00 6.5891136529731558e+00 1 0 0 0 0 -P 116 111 3.7716281534402596e-01 2.6387314224154818e-01 4.9755028559286941e+01 4.9757340838918765e+01 2 0 0 -61 0 -V -29 0 3.6949163916019824e-04 8.5257720973118501e-05 3.9454030739861111e-02 3.9455868213549919e-02 0 2 0 -P 117 22 4.7151597958341473e-01 4.5921772870311794e-02 5.0588381905928500e+01 5.0590600114925508e+01 1 0 0 0 0 -P 118 22 9.6707579898488760e-01 2.8602364470440500e-01 1.0302333278063017e+02 1.0302826865649438e+02 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 119 -211 9.1583466897251198e-01 2.1251086350657316e+00 -4.3722848514166444e+01 4.3784264317553273e+01 1 0 0 0 0 -P 120 211 6.4923444799854679e-01 7.0777405005783134e-01 -1.7423230407349280e+01 1.7450240316020970e+01 1 0 0 0 0 -V -31 0 0 0 0 0 0 2 0 -P 121 211 -1.0733243092126835e-01 4.2644543258701532e-02 1.5591728243781708e+02 1.5591738768138310e+02 1 0 0 0 0 -P 122 -211 -2.5305067720695146e-01 -2.1157383395427928e-01 7.0655409695023229e+02 7.0655418772736425e+02 1 0 0 0 0 -V -32 0 0 0 0 0 0 2 0 -P 123 -2212 4.9944981990249282e-01 1.4870720522775491e-01 3.2948710527509917e+02 3.2948885331238847e+02 1 0 0 0 0 -P 124 111 5.2795567011208044e-01 -5.5755347150152117e-02 1.2395602297064545e+02 1.2395723333532385e+02 2 0 0 -62 0 -V -33 0 0 0 0 0 0 3 0 -P 125 211 -1.2188920384027405e-01 3.5075345690126225e-01 3.1795559830185887e+01 3.1798034367950663e+01 1 0 0 0 0 -P 126 -211 -2.2097435527052245e-01 7.1076741178384292e-02 8.2130801390093922e+01 8.2131248001797573e+01 1 0 0 0 0 -P 127 111 -1.6637823561728583e-02 -1.7998512288051847e-02 1.0856708622226705e+01 1.0857575349586533e+01 2 0 0 -63 0 -V -34 0 0 0 0 0 0 2 0 -P 128 -211 3.1091271140052751e-01 3.5632832396911990e-01 3.4350353332907815e+01 3.4353891926084358e+01 1 0 0 0 0 -P 129 111 2.4485646346106241e-01 -1.1784239944012394e-02 5.7016077712252383e+01 5.7016764471916609e+01 2 0 0 -64 0 -V -35 0 0 0 0 0 0 1 0 -P 130 310 6.8837804480312736e-02 -2.9839760512711585e-02 3.7650473956009833e+01 3.7653837700767077e+01 2 0 0 -65 0 -V -36 0 0 0 0 0 0 1 0 -P 131 130 5.5852191137677354e-01 -2.3170010256673915e-01 5.8824232435728810e+01 5.8829445252735191e+01 1 0 0 0 0 -V -37 0 0 0 0 0 0 2 0 -P 132 211 1.0828998400047013e-01 -5.1351427865948790e-02 4.3747265017350578e+00 4.3785928606872950e+00 1 0 0 0 0 -P 133 -211 -1.2477893517836794e-01 -2.6770715933836557e-02 5.3652236263234054e-01 5.6887826852539047e-01 1 0 0 0 0 -V -38 0 0 0 0 0 0 2 0 -P 134 211 1.8156078434278519e-01 -5.3337778057810092e-01 1.1827166973830426e+01 1.1841402559958460e+01 1 0 0 0 0 -P 135 111 2.9051823129776339e-01 9.4253205862916190e-02 2.5554493631607658e+00 2.5771739478759641e+00 2 0 0 -66 0 -V -39 0 0 0 0 0 0 2 0 -P 136 -211 -4.9377802104061563e-01 -2.1311641152282343e-01 6.7449678075376100e+00 6.7678139637952421e+00 1 0 0 0 0 -P 137 111 1.9335000230150959e-01 -1.6887660807106833e-01 9.4847169615688305e+00 9.4891505928410194e+00 2 0 0 -67 0 -V -40 0 0 0 0 0 0 1 0 -P 138 130 -2.6561371175678439e-01 -2.6535883073847484e+00 2.0655232762662497e+01 2.0832628193716424e+01 1 0 0 0 0 -V -41 0 0 0 0 0 0 2 0 -P 139 311 -4.5567411934308917e-02 -1.9406127316992008e-01 1.8546771679191969e+00 1.9306058616080843e+00 2 0 0 -68 0 -P 140 211 1.5423113089690546e-01 -6.9220110873578600e-01 2.8081145831536185e+00 2.8996408249458776e+00 1 0 0 0 0 -V -42 0 0 0 0 0 0 2 0 -P 141 211 7.2357677730123915e-02 -1.3328084686398270e-01 6.2898311502468995e-02 2.1548874717056224e-01 1 0 0 0 0 -P 142 -211 -5.7019430719192066e-01 -9.5127740091841564e-02 1.6405461753823727e+00 1.7450049780303740e+00 1 0 0 0 0 -V -43 0 0 0 0 0 0 2 0 -P 143 -311 -1.0247389161942042e-01 -3.7550445704827762e-01 2.5312077640729019e-01 6.8062475129529332e-01 2 0 0 -69 0 -P 144 -211 -1.8768353488580339e-01 1.4528908800357815e-01 3.8970686724282899e-01 4.7716376186416543e-01 1 0 0 0 0 -V -44 0 0 0 0 0 0 1 0 -P 145 310 7.9013389939514289e-02 -3.2312546676672708e-02 -8.4688302464291099e-01 9.8598859161290064e-01 2 0 0 -70 0 -V -45 0 0 0 0 0 0 2 0 -P 146 -211 -7.3050709928776256e-02 3.0537971459793700e-01 -7.3307859769912698e-01 8.0961545909989518e-01 1 0 0 0 0 -P 147 211 2.0079705428855016e-01 -1.2661225229997761e-01 2.5627217928987662e-02 2.7656221477673332e-01 1 0 0 0 0 -V -46 0 0 0 0 0 0 3 0 -P 148 -211 -1.3676538015193693e-01 2.1243887536093334e-01 -2.4816336935736563e+00 2.4983635882218485e+00 1 0 0 0 0 -P 149 211 -6.2902915281313837e-02 5.6601656520515309e-01 -6.6535918753555769e+00 6.6793784259866031e+00 1 0 0 0 0 -P 150 111 4.2025934335575603e-02 1.4415388830729814e-01 -2.0478406253098065e+00 2.0577699943725856e+00 2 0 0 -71 0 -V -47 0 2.1528371579891772e-05 2.1143067906480407e-05 -7.7746119899777387e-05 8.4007917995002846e-05 0 2 0 -P 151 22 1.3065354257831752e-01 1.6396812327723584e-01 -6.9933227768013839e-01 7.3008323377859696e-01 1 0 0 0 0 -P 152 22 1.5655151467895148e-01 1.1809668622962230e-01 -3.3786083906270786e-01 3.9064709216740479e-01 1 0 0 0 0 -V -48 0 0 0 0 0 0 2 0 -P 153 -211 -6.7869057726822266e-02 2.1587332720713015e-01 -6.2122541431505294e+00 6.2179408831531298e+00 1 0 0 0 0 -P 154 211 4.7387253393100676e-01 -4.6099131523123638e-01 -2.8882389448288819e+01 2.8890291936888733e+01 1 0 0 0 0 -V -49 0 0 0 0 0 0 2 0 -P 155 321 2.7028747166747208e-01 -1.7866346638866426e-01 -6.5733789914797921e+02 6.5733816432121944e+02 1 0 0 0 0 -P 156 111 -1.4463108126498905e-01 -1.2879962101808320e-01 -8.4210278445963058e+02 8.4210281754768846e+02 2 0 0 -72 0 -V -50 0 0 0 0 0 0 1 0 -P 157 130 -9.3629085348251956e-02 -1.1090305621819395e-01 -5.0941280621429246e+02 5.0941306998980963e+02 1 0 0 0 0 -V -51 0 0 0 0 0 0 2 0 -P 158 -211 -1.3297904895597815e-01 -2.9438247842001541e-01 -9.5132803387557174e-01 1.0143220809977018e+00 1 0 0 0 0 -P 159 111 3.3310773039596953e-01 1.8320108049326658e-01 -7.0540906308433615e-01 8.1261611024208424e-01 2 0 0 -73 0 -V -52 0 0 0 0 0 0 2 0 -P 160 -311 -2.8181023933901379e-02 5.6769404948908375e-01 -5.7061728336847795e+00 5.7559668641087107e+00 2 0 0 -74 0 -P 161 111 -5.9812769882346839e-01 7.9865106895285420e-01 -7.1598821292469550e+00 7.2303341540449777e+00 2 0 0 -75 0 -V -53 0 6.3322798099678783e-07 1.0351328244606082e-06 2.7933743165875751e-04 2.7942090225223967e-04 0 2 0 -P 162 22 5.8096471301070769e-02 5.3428646123028153e-02 3.7765134140627472e+00 3.7773381350893178e+00 1 0 0 0 0 -P 163 22 -4.5378527050218442e-02 -3.2638722195481272e-02 1.8337849139108104e+00 1.8346366417878721e+00 1 0 0 0 0 -V -54 0 3.7908084154555169e-06 -3.7125240783364860e-05 5.0293314033274142e-04 5.0494976204667260e-04 0 2 0 -P 164 22 2.3879476083673905e-02 -9.5043452643842410e-02 2.0569871554342769e+00 2.0593201899874849e+00 1 0 0 0 0 -P 165 22 -3.6512804490948913e-03 -1.0306116020996116e-01 6.2672271296364868e-01 6.3515060697228121e-01 1 0 0 0 0 -V -55 0 -2.8163829617978358e-05 -4.4561370745053719e-05 8.6442488078252821e-04 8.6625132533200738e-04 0 2 0 -P 166 22 -2.1272696263621679e-01 -2.5289224126334287e-01 5.0842833699721055e+00 5.0950117401727875e+00 1 0 0 0 0 -P 167 22 1.8239624371713066e-02 -5.4829489168192323e-02 8.8506442375569738e-01 8.8694869692540323e-01 1 0 0 0 0 -V -56 0 -1.0050177887851955e-04 -2.2210863847062044e-04 2.8669788660454984e-03 2.8777816615566582e-03 0 2 0 -P 168 22 -2.3432702581842058e-01 -3.6425243249658318e-01 4.8985588570153329e+00 4.9176689462846062e+00 1 0 0 0 0 -P 169 22 -3.0367330483346080e-02 -2.2072132364066455e-01 2.6522838638479649e+00 2.6616254003707325e+00 1 0 0 0 0 -V -57 0 -2.7250250929128789e-04 -3.0855768194360781e-04 2.8082509706315608e-03 2.8384191599824990e-03 0 2 0 -P 170 22 -1.2172414307179868e-02 -1.7033656066235661e-02 7.2692940643269088e-02 7.5647714627834581e-02 1 0 0 0 0 -P 171 22 -1.2247062310341752e+00 -1.3834980625027131e+00 1.2673852642980682e+01 1.2807830146331236e+01 1 0 0 0 0 -V -58 0 7.5098213197226507e-05 -8.7662237705231396e-05 2.9331118584683597e-03 2.9355537112795457e-03 0 2 0 -P 172 22 3.2605188375907718e-01 -3.4647857601151411e-01 1.2132012012470367e+01 1.2141337352419752e+01 1 0 0 0 0 -P 173 22 -6.4581054112161709e-03 -2.6583639104915669e-02 3.5036621273405388e-01 3.5143261092159195e-01 1 0 0 0 0 -V -59 0 1.4467157300980747e-06 3.8366900426852168e-06 8.7013577401450696e-05 8.7119560419112813e-05 0 2 0 -P 174 22 -2.1452482341985615e-02 1.4905556420087129e-02 4.8556153445010763e-01 4.8626370247877698e-01 1 0 0 0 0 -P 175 22 1.7384684072970241e-01 3.8924427427810981e-01 8.6802877220690533e+00 8.6907496090379173e+00 1 0 0 0 0 -V -60 0 1.3419342637882059e-05 7.6523646281469803e-06 1.1417714569953998e-03 1.1419973617136749e-03 0 2 0 -P 176 22 -1.6355529844852102e-02 4.0361833523059554e-02 4.2397615259600352e+00 4.2399851860558204e+00 1 0 0 0 0 -P 177 22 1.2513425613974663e-01 2.1669109411810668e-02 5.0155684975252131e+00 5.0171760469142059e+00 1 0 0 0 0 -V -61 0 1.8450118173567006e-05 1.2908193647738750e-05 2.4339254011843977e-03 2.4340385136936960e-03 0 2 0 -P 178 22 1.0751210652606756e-01 2.8884350394443786e-02 7.9047322108340383e+00 7.9055160795323509e+00 1 0 0 0 0 -P 179 22 2.6965070881795838e-01 2.3498879184710436e-01 4.1850296348452900e+01 4.1851824759386410e+01 1 0 0 0 0 -V -62 0 5.5808110402548016e-05 -5.8936777184863162e-06 1.3102902017394719e-02 1.3103029960268379e-02 0 2 0 -P 180 22 2.0951224553846201e-01 4.2892218244458290e-02 4.5755572283853013e+01 4.5756072057665904e+01 1 0 0 0 0 -P 181 22 3.1844342457361852e-01 -9.8647565394610406e-02 7.8200450686792436e+01 7.8201161277657945e+01 1 0 0 0 0 -V -63 0 -7.7083740048796682e-06 -8.3387868451053499e-06 5.0299590094601649e-03 5.0303605679107057e-03 0 2 0 -P 182 22 -6.6083273365725573e-02 -4.5663363344813121e-02 6.0722671538732644e+00 6.0727984101054098e+00 1 0 0 0 0 -P 183 22 4.9445449803996989e-02 2.7664851056761277e-02 4.7844414683534406e+00 4.7847769394811230e+00 1 0 0 0 0 -V -64 0 1.6595430708072929e-05 -7.9869052535450839e-07 3.8643307738137509e-03 3.8643773197462525e-03 0 2 0 -P 184 22 1.6865708784952835e-01 5.3640703946320818e-02 3.2632464854177648e+01 3.2632944779739709e+01 1 0 0 0 0 -P 185 22 7.6199375611534031e-02 -6.5424943890333209e-02 2.4383612858074731e+01 2.4383819692176896e+01 1 0 0 0 0 -V -65 0 7.5637609908900192e+00 -3.2787335134736542e+00 4.1369591657798037e+03 4.1373287673609439e+03 0 2 0 -P 186 211 1.5828490107324933e-01 -6.4280458726054257e-02 3.2153714760343846e+01 3.2154471520485849e+01 1 0 0 0 0 -P 187 -211 -8.9447096592936592e-02 3.4440698213342676e-02 5.4967591956659874e+00 5.4993661802812257e+00 1 0 0 0 0 -V -66 0 2.5320261325297056e-06 8.2146851594660370e-07 2.2272146360575985e-05 2.2461488062029682e-05 0 2 0 -P 188 22 1.2669605830908041e-02 -2.6208921583066511e-02 3.1664036093791548e-01 3.1797569821819927e-01 1 0 0 0 0 -P 189 22 2.7784862546685535e-01 1.2046212744598270e-01 2.2388090022228502e+00 2.2591982496577647e+00 1 0 0 0 0 -V -67 0 1.3660190168239829e-04 -1.1931143282950388e-04 6.7009586679455911e-03 6.7040910313070105e-03 0 2 0 -P 190 22 3.6058703115079364e-04 4.2662265957210021e-04 -3.1743476677878273e-04 6.4249103640209230e-04 1 0 0 0 0 -P 191 22 1.9298941527035879e-01 -1.6930323073064041e-01 9.4850343963356085e+00 9.4885081018046158e+00 1 0 0 0 0 -V -68 0 0 0 0 0 0 1 0 -P 192 310 -4.5567411934308917e-02 -1.9406127316992008e-01 1.8546771679191969e+00 1.9306058616080843e+00 2 0 0 -76 0 -V -69 0 0 0 0 0 0 1 0 -P 193 310 -1.0247389161942042e-01 -3.7550445704827762e-01 2.5312077640729019e-01 6.8062475129529332e-01 2 0 0 -77 0 -V -70 0 5.4385624976392712e+00 -2.2241015692846111e+00 -5.8291718166200262e+01 6.7866479106276032e+01 0 2 0 -P 194 211 3.7783620486313486e-02 1.7172654641153431e-01 -5.6951638254031056e-01 6.1216525840763614e-01 1 0 0 0 0 -P 195 -211 4.1229769453200796e-02 -2.0403909308820700e-01 -2.7736664210260031e-01 3.7382333320526429e-01 1 0 0 0 0 -V -71 0 8.7730673005939703e-06 3.0092650734755197e-05 -4.2749421067659666e-04 4.2956700273743739e-04 0 2 0 -P 196 22 2.2729804313198435e-02 1.4173360040581309e-01 -1.0529592182762286e+00 1.0626985333767038e+00 1 0 0 0 0 -P 197 22 1.9296130022377168e-02 2.4202879014850413e-03 -9.9488140703357786e-01 9.9507146099588162e-01 1 0 0 0 0 -V -72 0 -6.1533975488663230e-05 -5.4798406078115862e-05 -3.5827660033139480e-01 3.5827661440886521e-01 0 2 0 -P 198 22 -1.6235924682431213e-01 -1.3015266567446149e-01 -6.7338370639108132e+02 6.7338373854232020e+02 1 0 0 0 0 -P 199 22 1.7728165559323081e-02 1.3530446563782706e-03 -1.6871907806854932e+02 1.6871907900536871e+02 1 0 0 0 0 -V -73 0 1.5932823142593387e-06 8.7626618918794967e-07 -3.3740309274555397e-06 3.8868112583033451e-06 0 2 0 -P 200 22 1.3362069744752528e-01 3.8397322366062157e-02 -1.4759414341141447e-01 2.0276310394298949e-01 1 0 0 0 0 -P 201 22 1.9948703294844422e-01 1.4480375812720442e-01 -5.5781491967292174e-01 6.0985300629909467e-01 1 0 0 0 0 -V -74 0 0 0 0 0 0 1 0 -P 202 310 -2.8181023933901379e-02 5.6769404948908375e-01 -5.7061728336847795e+00 5.7559668641087107e+00 2 0 0 -78 0 -V -75 0 -2.7124016605470135e-05 3.6217391200682724e-05 -3.2468779183593861e-04 3.2788266459349427e-04 0 2 0 -P 203 22 -4.6115329401590260e-01 6.6198954161011503e-01 -6.0743062014745783e+00 6.1276494957736771e+00 1 0 0 0 0 -P 204 22 -1.3697440480756579e-01 1.3666152734273918e-01 -1.0855759277723773e+00 1.1026846582713004e+00 1 0 0 0 0 -V -76 0 -2.4429198574998088e+00 -1.0403841641959659e+01 9.9431314846080440e+01 1.0350193693526136e+02 0 2 0 -P 205 -211 -6.1157976329956530e-02 7.9033809450869533e-02 2.9779915054099509e-01 3.4373065046345536e-01 1 0 0 0 0 -P 206 211 1.5590564395647613e-02 -2.7309508262078958e-01 1.5568780173782018e+00 1.5868752111446289e+00 1 0 0 0 0 -V -77 0 -1.4903509094708578e+01 -5.4612291992451460e+01 3.6813160246280908e+01 9.8988113076509521e+01 0 2 0 -P 207 -211 -2.4069686163035753e-01 -3.2706064871694290e-01 1.7742951834380868e-01 4.6461238254868642e-01 1 0 0 0 0 -P 208 211 1.3822297001093711e-01 -4.8443808331334694e-02 7.5691258063481481e-02 2.1601236874660687e-01 1 0 0 0 0 -V -78 0 -1.3280346540154400e-01 2.6752660668688737e+00 -2.6890418469921691e+01 2.7125073527598740e+01 0 2 0 -P 209 211 5.4187093550292845e-02 4.8896006520894103e-01 -5.0394127666042294e+00 5.0652916010423583e+00 1 0 0 0 0 -P 210 -211 -8.2368117484194217e-02 7.8733984280142638e-02 -6.6676006708054880e-01 6.9067526306635141e-01 1 0 0 0 0 -E 2 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 224 0 0 -V -1 0 0 0 0 0 1 3 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 21 2.2381466690269431e-03 -3.4720102421292970e-01 8.5760509831394440e+00 8.5830766060849815e+00 3 0 0 -3 0 -P 13 1 -1.5953315142106061e-01 2.5534284672707136e-01 4.5110225338059212e+02 4.5110247456187125e+02 2 0 0 -9 0 -P 41 2203 1.5729500475203367e-01 9.1858177485858339e-02 4.1239913742420931e+03 4.1239914503976361e+03 2 0 0 -13 0 -V -2 0 0 0 0 0 1 2 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 1 1.8117451391948236e-01 -9.2107013792072212e-01 -1.9146656945590603e+03 1.9146659246760862e+03 3 0 0 -4 0 -P 39 2203 -1.8117451391948236e-01 9.2107013792072212e-01 -4.3349283892041103e+03 4.3349285594657858e+03 2 0 0 -11 0 -V -3 0 0 0 0 0 0 8 0 -P 5 -2 -1.2188640529118391e+01 1.1628197337501724e+00 -1.1080748662284646e+01 1.6513573162643777e+01 3 0 0 -5 0 -P 11 -4 1.9522097387122794e+00 -1.0579566003536176e+00 -8.1797583597675185e+00 8.6074875461043483e+00 2 0 0 -9 0 -P 12 21 1.8528631058109368e+00 6.4833945342773376e+00 -3.6105831959994241e+01 3.6730077700698025e+01 2 0 0 -9 0 -P 14 4 1.0685515977985798e+01 -5.1823216653895150e+00 -2.7066366488563993e+01 2.9595183805014884e+01 2 0 0 -11 0 -P 16 21 3.3207848203048465e-02 9.6085117788368979e-02 -6.6003952661133902e-02 1.2120904590654386e-01 2 0 0 -11 0 -P 17 21 -3.7579969777487718e-02 -1.6462158612486150e-01 -9.7318874051882720e-01 9.8772913565377995e-01 2 0 0 -11 0 -P 15 21 3.5171262487128507e-01 -6.4498578844444887e-01 -1.1127260710033722e+00 1.3333670713197316e+00 2 0 0 -11 0 -P 40 2 -5.7580659856764782e-01 -2.1687633978359599e+00 2.8191957870207176e+00 3.6182665463315975e+00 2 0 0 -13 0 -V -4 0 0 0 0 0 0 12 0 -P 6 1 -1.0356250591506910e+01 -7.5276061205649762e+00 -8.5247158145293622e+02 8.5256771811105455e+02 3 0 0 -5 0 -P 28 21 8.2987543073312353e-01 1.2838272062790441e+00 -3.8410647385758452e+01 3.8441055372078296e+01 2 0 0 -11 0 -P 29 21 1.4485320516326545e+00 3.4111844708869525e+00 -3.4836760966940879e+01 3.5033331832225194e+01 2 0 0 -11 0 -P 30 21 4.7483608911375708e+00 5.0805058534361418e+00 -7.0730773803904057e+01 7.1071800552528032e+01 2 0 0 -11 0 -P 31 21 7.0471823787681096e+00 5.3004641843654632e+00 -7.0878720555638282e+01 7.1425140725473000e+01 2 0 0 -11 0 -P 32 21 6.4330986433301513e-05 -2.8659752464543387e-01 -2.0138946295725479e+00 2.0341852728531187e+00 2 0 0 -11 0 -P 33 21 -2.0101138190485397e+00 1.8374935910906517e-01 -1.0007919765693144e+02 1.0009955107315744e+02 2 0 0 -11 0 -P 34 21 -1.9229525710899356e+00 -1.5157785543803595e+00 -2.2906932968426068e+02 2.2908241559144841e+02 2 0 0 -11 0 -P 35 21 -3.1664534528418580e+00 -1.7416366637989906e+00 -8.3806850645725774e+01 8.3884730081777633e+01 2 0 0 -11 0 -P 36 21 -3.7168946513508216e-01 -3.5284021138698476e+00 -1.0878664867278101e+02 1.0884448862478403e+02 2 0 0 -11 0 -P 37 21 -3.1241121155591017e-01 2.4591674095968902e-01 -7.8556145968468542e+01 7.8557152094687893e+01 2 0 0 -11 0 -P 38 21 2.1757864903890276e+00 -6.9754834757800643e-01 -1.5468366370543001e+02 1.5470053793663271e+02 2 0 0 -11 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 -1.3261813212669724e+01 -8.0763106975450007e+00 -1.0418644172499936e+02 1.0533715927196684e+02 3 0 0 -6 0 -P 8 -24 -9.2830779079555814e+00 1.7115243107301954e+00 -7.5936588839022193e+02 7.6374413200173183e+02 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 -1.3261813212669724e+01 -8.0763106975450007e+00 -1.0418644172499936e+02 1.0533715927196684e+02 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 -24 -9.2830779079555814e+00 1.7115243107301954e+00 -7.5936588839022193e+02 7.6374413200173183e+02 2 0 0 -8 0 -V -8 0 0 0 0 0 0 6 0 -P 42 -4 -3.6405680130529461e+01 2.3505435732580519e+01 -3.4936432423810379e+02 3.5204482684040653e+02 2 0 0 -15 0 -P 43 21 -1.2696872981433902e+00 -7.3488203514654904e-02 -1.1342868074612710e+01 1.1413945965755696e+01 2 0 0 -15 0 -P 44 21 -4.1552470502532822e-02 -2.4740042534493506e-01 -1.9652301256829328e+00 1.9811771816668682e+00 2 0 0 -15 0 -P 45 21 9.2875684016986071e-01 -5.2482893316735224e-01 -8.2669188038171093e+00 8.3354652651280841e+00 2 0 0 -15 0 -P 46 21 2.5933060912540751e+00 -1.5432000571134972e+00 -4.0105536618336508e+01 4.0218910606130805e+01 2 0 0 -15 0 -P 47 3 2.4911779059795872e+01 -1.9404993802709878e+01 -3.4832101052966868e+02 3.4974980614264371e+02 2 0 0 -15 0 -V -9 0 0 0 0 0 0 1 0 -P 52 92 3.6455396931021555e+00 5.6807807806507915e+00 4.0681666306083036e+02 4.9644003980867365e+02 2 0 0 -10 0 -V -10 0 0 0 0 0 0 17 0 -P 53 -423 1.8014118894544171e+00 -7.4135744726077624e-01 -9.8985325423010675e+00 1.0286033591286305e+01 2 0 0 -21 0 -P 54 -323 5.0264419845508967e-01 1.5096096593072483e+00 -6.4075559093590417e+00 6.6727104662027399e+00 2 0 0 -22 0 -P 55 313 6.4824466837653216e-01 1.7028313815609744e+00 -1.2490128522047499e+01 1.2658108385343498e+01 2 0 0 -23 0 -P 56 113 3.1373653839431187e-01 1.0591234964860790e+00 -3.8183528211076077e+00 4.0448247418494256e+00 2 0 0 -24 0 -P 57 223 8.2692544173461439e-03 4.6939097115965078e-01 -5.5469163366739194e+00 5.6207627549321177e+00 2 0 0 -25 0 -P 58 213 1.9044107216389983e-01 8.1937027750395064e-01 -3.6346431429697050e+00 3.7966133083889493e+00 2 0 0 -26 0 -P 59 223 4.7623181452657998e-01 3.2991099537503743e-01 -1.3035235691380478e+00 1.6193069146444774e+00 2 0 0 -27 0 -P 60 -323 -1.0115943353617618e-01 5.6476717758048370e-03 1.7300715275273690e-01 8.2205819328193652e-01 2 0 0 -28 0 -P 61 313 -7.7118065121252105e-02 3.7088297201745679e-01 6.5831368662425160e-01 1.1370141416373667e+00 2 0 0 -29 0 -P 62 213 -3.5806889091875166e-01 -1.8533975814985065e-01 2.0214743365951066e-01 7.5874614723662881e-01 2 0 0 -30 0 -P 63 221 5.3742504319834894e-01 2.2371832414580742e-01 7.6764387006558730e+00 7.7179199395330977e+00 2 0 0 -31 0 -P 64 -213 -3.5723363435424654e-01 -2.4687075875660527e-01 4.3946274554500251e+00 4.4381896913330143e+00 2 0 0 -32 0 -P 65 211 -9.6962110337190308e-03 -1.9969339915386206e-01 9.7285408505103610e-01 1.0029438298701092e+00 1 0 0 0 0 -P 66 -213 3.6007407932397151e-01 -1.9108983779111039e-02 2.4483370677350226e+01 2.4497188617868417e+01 2 0 0 -33 0 -P 67 113 -3.7252120952480011e-01 1.1767633929689882e-02 3.8343277541438461e+01 3.8352383249490323e+01 2 0 0 -34 0 -P 68 113 -9.0606939026123462e-02 1.6342699333927246e-01 1.6719221309737839e+02 1.6719396525633584e+02 2 0 0 -35 0 -P 69 221 1.7346551830672804e-01 4.0747075115002573e-01 2.0582006607406680e+02 2.0582127057943939e+02 2 0 0 -36 0 -V -11 0 0 0 0 0 10 1 0 -P 23 21 -1.7556414536864717e+00 -3.2948210135311675e+00 9.6577188877003675e+00 1.0354209604743055e+01 2 0 0 -11 0 -P 24 21 -4.3740574207816687e+00 -6.7194450447463385e+00 8.7596980484749754e-01 8.0653978902882315e+00 2 0 0 -11 0 -P 25 21 -2.3472186202550427e+00 -1.7652302001002413e+00 -4.8822773731482902e+00 5.6975525674603205e+00 2 0 0 -11 0 -P 26 21 1.7556414536864717e+00 3.2948210135311675e+00 -4.6484359802172142e+00 5.9620532945694862e+00 2 0 0 -11 0 -P 27 21 2.3472186202550427e+00 1.7652302001002413e+00 -7.2800433838180606e+02 7.2801026241093734e+02 2 0 0 -11 0 -P 19 21 -3.9110823174159708e+00 3.1313981445182435e+00 7.8933491919030098e+02 7.8935081989720652e+02 2 0 0 -11 0 -P 20 21 3.8916892480043179e+00 1.8950634673498339e+00 1.4168700767391088e+03 1.4168766886604622e+03 2 0 0 -11 0 -P 21 21 4.3740574207816687e+00 6.7194450447463385e+00 8.3124634883261848e+01 8.3510408001070459e+01 2 0 0 -11 0 -P 22 21 3.9110823174159708e+00 -3.1313981445182435e+00 3.6591766345710994e+01 3.6933177273722393e+01 2 0 0 -11 0 -P 18 21 -3.8916892480043179e+00 -1.8950634673498339e+00 4.3405633505207952e+01 4.3620929961851424e+01 2 0 0 -11 0 -P 70 92 1.9317863021338749e+01 2.7609108265139839e+00 -3.6936736405113015e+03 8.4685219372436368e+03 2 0 0 -12 0 -V -12 0 0 0 0 0 0 90 0 -P 157 211 7.1285808765427905e-01 -3.2842857210290849e-01 -1.3495391606091425e+02 1.3495627059140784e+02 1 0 0 0 0 -P 158 113 -8.5570937057012242e-01 4.5138982048336918e-01 -3.8575888425787775e+02 3.8576089945786532e+02 2 0 0 -101 0 -P 159 -211 8.5048282385916807e-01 -2.4394986791084675e-01 -2.3972504452141907e+03 2.3972506125543050e+03 1 0 0 0 0 -P 160 2224 -1.9025691153649760e-03 7.5090832178153066e-01 -1.3897064940632451e+03 1.3897072600852762e+03 2 0 0 -102 0 -P 71 423 6.7375280292117559e+00 -3.1280786052117606e+00 -1.8078833346658740e+01 1.9648160722343899e+01 2 0 0 -37 0 -P 72 213 1.0805121219025640e+00 -6.6038780518628226e-01 -2.3089962780132609e+00 2.7002122967490942e+00 2 0 0 -38 0 -P 73 331 8.8350480325607927e-01 -9.1723208806001100e-01 -1.3273651063348788e+00 2.0738588580152020e+00 2 0 0 -39 0 -P 74 -213 1.6671177452769768e+00 -6.0237742035546349e-01 -4.3269280810687976e+00 4.7129738478160546e+00 2 0 0 -40 0 -P 75 111 -2.2944867559712592e-01 -5.4494370034286373e-02 -1.1132060518150413e+00 1.1458898923091787e+00 2 0 0 -41 0 -P 76 211 1.9057714121074421e-01 -3.7678379479520874e-01 3.2988192916386494e-01 5.5370348279671411e-01 1 0 0 0 0 -P 77 -211 2.1514156450681340e-01 4.1042646895793555e-01 1.1603516057783952e-01 4.9767431377362004e-01 1 0 0 0 0 -P 78 211 1.1821640765841486e-01 -7.3020341573840120e-01 -1.3087805912292785e+00 1.5098207073272469e+00 1 0 0 0 0 -P 79 3112 -1.2499623449219958e-01 -5.9241869360866006e-02 4.0162992375308786e+00 4.1932869895481408e+00 2 0 0 -42 0 -P 80 311 -1.0795922983869366e-01 -3.0104120411989399e-02 1.6962385074932020e+00 1.7712882195102833e+00 2 0 0 -43 0 -P 81 -1114 -5.9337323488907867e-01 -4.6246084613168187e-01 7.5339721507890793e+00 7.6936474040793801e+00 2 0 0 -44 0 -P 82 -211 -3.9495796561206009e-01 3.0833169972538993e-01 9.3878856442942862e+00 9.4022835995784941e+00 1 0 0 0 0 -P 83 211 -3.1344790463608746e-01 -7.2171857255188154e-01 8.5253322989485287e+00 8.5627038883335214e+00 1 0 0 0 0 -P 84 -213 -1.2690227290925465e-01 -1.0105632908426881e-01 5.1452653640166943e+00 5.1881794411189812e+00 2 0 0 -45 0 -P 85 213 -1.2041062649028871e+00 -1.2215218528395928e-01 2.3429585452245682e+01 2.3473631837985316e+01 2 0 0 -46 0 -P 86 223 -7.4237011822675184e-02 1.4248179815169867e-01 1.5165880769368950e+01 1.5186849387363358e+01 2 0 0 -47 0 -P 87 -213 -9.0074449059785699e-01 -6.0424612216057405e-01 2.4880423729369195e+01 2.4913870228144820e+01 2 0 0 -48 0 -P 88 323 -3.9622224355221425e-01 4.7691198706436511e-01 8.3475162278290014e+01 8.3482329557234976e+01 2 0 0 -49 0 -P 89 -313 -1.1785958161298775e+00 4.3758697222424819e-01 2.3405851550380999e+02 2.3406361463389302e+02 2 0 0 -50 0 -P 90 111 -2.1010818134776000e-02 1.4739930625154105e-01 2.2010537086033544e+01 2.2011454527723057e+01 2 0 0 -51 0 -P 91 -213 -1.4723087124553025e+00 1.8245140592851474e+00 3.9234982586875026e+02 3.9235769486019092e+02 2 0 0 -52 0 -P 92 213 1.7539750249024346e+00 1.4987779798051035e+00 6.9123026432414906e+02 6.9123466203199087e+02 2 0 0 -53 0 -P 93 -211 -8.9424661017914325e-02 -3.0761209203019885e-01 1.4068666240461201e+02 1.4068709635323111e+02 1 0 0 0 0 -P 94 111 7.0564265001932358e-01 3.8262897153753883e-01 1.6816678510920750e+02 1.6816875503507225e+02 2 0 0 -54 0 -P 95 223 1.8302919870385345e-01 6.5783452518379060e-01 2.6383157492994411e+02 2.6383362307134547e+02 2 0 0 -55 0 -P 96 113 1.1656756707026841e+00 -6.4896512612338464e-01 1.0945955049891027e+02 1.0947082232861229e+02 2 0 0 -56 0 -P 97 213 -3.5903158855632840e-02 9.9198943525646954e-01 3.7343100725470698e+01 3.7367385916754081e+01 2 0 0 -57 0 -P 98 221 4.2162092047841054e-01 3.3016782868221339e-01 8.5630844493739087e+00 8.5972607140467154e+00 2 0 0 -58 0 -P 99 -213 9.7457004419126791e-01 2.5386776349576827e+00 3.2029157610337023e+01 3.2157623407268844e+01 2 0 0 -59 0 -P 100 111 1.2787995261416203e+00 5.9131216608945592e-01 1.8321222064458190e+01 1.8375809528872868e+01 2 0 0 -60 0 -P 101 331 1.5941076518656097e+00 2.2203899316199833e+00 3.0301907248901987e+01 3.0440010892784585e+01 2 0 0 -61 0 -P 102 213 1.7703923967892532e+00 -1.5783757695402438e+00 1.7113365104763496e+01 1.7299350723397684e+01 2 0 0 -62 0 -P 103 -211 -1.8759452428865081e-01 -1.2769116703025019e-01 3.8721698603132602e+00 3.8813239946826195e+00 1 0 0 0 0 -P 104 211 6.9482022183564407e-01 -7.4276553322659658e-02 2.8254613298076237e+00 2.9139326790753919e+00 1 0 0 0 0 -P 105 311 6.3686850058466904e-01 -2.8985459322238305e-01 6.1254602664267574e+00 6.1853501175537389e+00 2 0 0 -63 0 -P 106 333 8.7207094479077651e-02 -2.0295472311855449e+00 7.6184364527955317e+00 7.9504887791525123e+00 2 0 0 -64 0 -P 107 -323 -1.9822568338569455e-01 -1.5507438333859327e-01 2.6398270078375625e+00 2.7898910808615089e+00 2 0 0 -65 0 -P 108 113 -1.1042506848572424e+00 -1.9030565630970109e+00 5.3217383054275196e+00 5.8133432539368144e+00 2 0 0 -66 0 -P 109 213 -7.2310463393123914e-01 -7.6975522680298714e-01 6.1285789995101991e-01 1.6294860676683323e+00 2 0 0 -67 0 -P 110 -211 -4.3482640295969677e-01 -8.1532294744635425e-01 1.7768661421435300e-01 9.5125066471169373e-01 1 0 0 0 0 -P 111 213 -5.9736000021821500e-01 -1.2204809639168086e+00 2.6747136936349564e-01 1.5533645053088498e+00 2 0 0 -68 0 -P 112 -211 -1.4286103486218285e+00 -1.6452141393289603e+00 4.8302563621898731e-01 2.2361687419741094e+00 1 0 0 0 0 -P 113 111 4.3583065059189477e-02 -2.4339437891750076e-01 6.2664394827260231e-02 2.8859441094320626e-01 2 0 0 -69 0 -P 114 213 -1.1457523430575574e+00 -1.7185955494709606e+00 -2.0075212146900698e+00 2.9665875925104452e+00 2 0 0 -70 0 -P 115 -213 -9.9510244241403112e-01 -3.8721112665348262e-01 -1.1073021899671061e+00 1.6337817612725141e+00 2 0 0 -71 0 -P 116 321 3.6387094509041512e-01 4.3920647350883402e-01 9.9248798190379642e-02 7.6078622161241372e-01 1 0 0 0 0 -P 117 -321 -1.2747399230810363e-01 -1.0200080057828731e+00 -1.4513610769384608e+00 1.8457399291959007e+00 1 0 0 0 0 -P 118 211 -2.0133216812193178e-01 3.5802685432120634e-01 -1.7925786519980291e+00 1.8443253180593948e+00 1 0 0 0 0 -P 119 311 -2.8765138987802308e-01 7.2322394316508809e-01 -1.3293539465693636e+00 1.6188432716682488e+00 2 0 0 -72 0 -P 120 -321 1.0298266079353463e-01 -1.3133623038629999e-01 -8.4534917780111540e-01 9.9303113055191838e-01 1 0 0 0 0 -P 121 113 -2.0064710281109285e-02 9.6668445379680457e-01 -2.7580016928497004e+00 3.0477179748732270e+00 2 0 0 -73 0 -P 122 213 6.9914421880252642e-01 4.8815033788881651e-01 -2.1395488946251060e+00 2.3683512678933512e+00 2 0 0 -74 0 -P 123 223 1.5872029432710627e-01 -2.3339814721712135e-01 -7.4179222929870310e+00 7.4628850957322737e+00 2 0 0 -75 0 -P 124 223 -3.0717425565275075e-01 5.6842261363386204e-01 -1.7694534053195312e+01 1.7723823647209741e+01 2 0 0 -76 0 -P 125 1114 7.6998734838977989e-01 -3.4728630806103294e-01 -1.9364499157932190e+02 1.9364995150560429e+02 2 0 0 -77 0 -P 126 111 6.5158363716255141e-01 1.5605607263941090e+00 -1.1121050811925711e+02 1.1122344737851247e+02 2 0 0 -78 0 -P 127 -2112 1.0813888713417015e-01 9.3320687480095546e-02 -7.6290462496469246e+01 7.6296381712894501e+01 1 0 0 0 0 -P 128 211 3.9294549049558353e-01 -4.8295703118897615e-01 -5.9670507038186024e+01 5.9673918453806799e+01 1 0 0 0 0 -P 129 -211 -4.9079394553889405e-02 3.0193103218666079e-01 -5.2738809586108296e+01 5.2739881375291844e+01 1 0 0 0 0 -P 130 113 7.7374346420721107e-01 8.6434540604482102e-01 -8.8859763366085502e+01 8.8870436517698323e+01 2 0 0 -79 0 -P 131 223 1.6985777384718924e-02 2.8325881170135603e-01 -9.6927730933742907e+01 9.6931159023301547e+01 2 0 0 -80 0 -P 132 223 3.0185368861046491e-01 2.4293189269126073e-01 -3.2090245504750932e+01 3.2101336386389761e+01 2 0 0 -81 0 -P 133 221 6.5201407902947539e-01 -1.2988330070145512e-02 -7.4859939959601558e+00 7.5342616536739797e+00 2 0 0 -82 0 -P 134 213 1.2458254485181726e+00 2.4534172247832897e+00 -3.9148897598913670e+01 3.9260611329490111e+01 2 0 0 -83 0 -P 135 221 8.8556817596659831e-01 9.1587012185965244e-01 -1.2421218347891800e+01 1.2498376527489638e+01 2 0 0 -84 0 -P 136 -211 1.8161190527346487e+00 1.8932700926893988e+00 -2.7662401209321924e+01 2.7786879646840031e+01 1 0 0 0 0 -P 137 111 7.2247895685888563e-01 1.1632455888028332e+00 -1.2867988035904569e+01 1.2941346600549585e+01 2 0 0 -85 0 -P 138 113 1.2139941660877747e+00 1.6756779361740803e+00 -1.8860823514754017e+01 1.8989026284653107e+01 2 0 0 -86 0 -P 139 211 1.1157147548814101e+00 5.0436447513334515e-01 -1.1621107696187737e+01 1.1686266589862242e+01 1 0 0 0 0 -P 140 -213 4.5823331418939195e-01 1.1538176266903686e+00 -1.8447864138782936e+01 1.8525111286873642e+01 2 0 0 -87 0 -P 141 213 2.0821117255183093e+00 1.6804026242358250e+00 -2.6142179810664658e+01 2.6288201716404078e+01 2 0 0 -88 0 -P 142 313 1.7813828024493763e+00 1.2357154576419902e+00 -2.2601396009113010e+01 2.2725602197916988e+01 2 0 0 -89 0 -P 143 -313 1.4186766512402984e+00 6.4743845122084742e-01 -1.8091956801791984e+01 1.8183781843473593e+01 2 0 0 -90 0 -P 144 2112 -1.1231017999695494e+00 5.3690695272926670e-01 -5.0961864079027272e+01 5.0985723579479917e+01 1 0 0 0 0 -P 145 -213 -5.7530555364241898e-01 -4.7810186265971222e-01 -9.4505926829143817e+01 9.4510818189169768e+01 2 0 0 -91 0 -P 146 -1114 -8.0379050531219987e-01 -7.4317351469684056e-01 -3.3976739042042894e+01 3.4017782197130039e+01 2 0 0 -92 0 -P 147 -213 -1.7993965627187491e-01 6.2933882558033644e-02 -4.3212693477627020e+01 4.3219348613222635e+01 2 0 0 -93 0 -P 148 211 -1.1857733256197995e+00 -2.3402786696214123e-01 -3.9319959891382794e+01 3.9338779252375360e+01 1 0 0 0 0 -P 149 311 -1.4096245121895092e+00 -2.1826091973706498e+00 -7.8978356177349141e+01 7.9022650196503378e+01 2 0 0 -94 0 -P 150 -323 -3.0387368245023250e-01 -3.9194042956116942e-01 -7.8833271694584482e+01 7.8839861573241009e+01 2 0 0 -95 0 -P 151 213 -1.8006034881526349e+00 -1.2055027990336920e+00 -8.9338286707006162e+01 8.9369650117474464e+01 2 0 0 -96 0 -P 152 113 4.9137946671111676e-01 -9.7164155725422818e-01 -5.0430982625195028e+01 5.0451579348850466e+01 2 0 0 -97 0 -P 153 221 2.6692022391655834e-01 -2.6056453113669759e-01 -2.1564701043027426e+01 2.1574873646408001e+01 2 0 0 -98 0 -P 154 311 4.1329176006341922e-01 1.8028596136298070e-01 -8.9119644403072215e+01 8.9122174609160766e+01 2 0 0 -99 0 -P 155 -321 3.6881058325853905e-01 -3.6759956648503250e-01 -5.2482305038393726e+01 5.2487209239876819e+01 1 0 0 0 0 -P 156 221 -4.0997910950580485e-01 -2.7374853556398043e-01 -4.8760304863457051e+01 4.8765869755503466e+01 2 0 0 -100 0 -V -13 0 0 0 0 0 0 1 0 -P 161 92 -4.1851159381561415e-01 -2.0769052203501017e+00 4.1268105700291135e+03 4.1276097169439681e+03 2 0 0 -14 0 -V -14 0 0 0 0 0 0 14 0 -P 162 211 -3.1267035370541174e-01 -1.6630336354906903e+00 2.9600402088397786e+00 3.4124421527269715e+00 1 0 0 0 0 -P 163 223 -1.3456644959131422e-02 1.0490675531334205e-01 2.8997985766568299e+00 3.0056909067982369e+00 2 0 0 -103 0 -P 164 -213 -7.6664826358880125e-02 -1.5791348259790233e-01 2.8310851989334567e+00 2.9388621741173262e+00 2 0 0 -104 0 -P 165 113 -3.9648671529754964e-01 -2.4605982607667140e-01 7.6583440010326704e+00 7.7151393693837971e+00 2 0 0 -105 0 -P 166 223 8.9691194834938370e-02 -2.5125974088198971e-02 1.8317488091703201e+01 1.8334490887220280e+01 2 0 0 -106 0 -P 167 331 7.9224066352126379e-02 -2.1422931649456503e-01 1.6453778503957725e+01 1.6483212902440073e+01 2 0 0 -107 0 -P 168 211 1.5527914687816030e-01 -4.5548875201547573e-02 2.0928087163014524e+01 2.0929178158760095e+01 1 0 0 0 0 -P 169 113 -9.0692399597892714e-02 1.6957858902038977e-01 7.6922069406224782e+00 7.7066837587922024e+00 2 0 0 -108 0 -P 170 -211 1.9561892851724411e-02 -3.4229386330714748e-02 4.3617570241825661e+00 4.3641675542360279e+00 1 0 0 0 0 -P 171 211 1.4955539305015297e-01 -7.3620802444243974e-02 6.1402424512466673e+01 6.1402809403415823e+01 1 0 0 0 0 -P 172 313 -9.7870346573322886e-02 5.6843447855507345e-01 7.2008545829421976e+01 7.2016348838853801e+01 2 0 0 -109 0 -P 173 -313 -1.3048017096509981e-01 -7.9611017480924984e-01 2.3671747454399076e+02 2.3672050958431549e+02 2 0 0 -110 0 -P 174 2112 5.2848587189431351e-01 -1.8847878506702731e-01 1.0586464613615185e+03 1.0586470269955985e+03 1 0 0 0 0 -P 175 211 -3.2198770221974171e-01 5.2452521536190455e-01 2.6139330780727728e+03 2.6139331542573095e+03 1 0 0 0 0 -V -15 0 0 0 0 0 0 1 0 -P 176 92 -9.2830779079555690e+00 1.7115243107302014e+00 -7.5936588839022170e+02 7.6374413200173171e+02 2 0 0 -16 0 -V -16 0 0 0 0 0 0 10 0 -P 177 -411 -2.6390450740240546e+01 1.6827024890099779e+01 -2.5400527191191205e+02 2.5593314966697744e+02 2 0 0 -111 0 -P 178 -2112 -3.3029260138577476e+00 1.9451764508002454e+00 -3.1157827697945482e+01 3.1406783507986372e+01 1 0 0 0 0 -P 179 2112 -3.6871070129151744e+00 2.3786739914127644e+00 -3.4678443322119684e+01 3.4967557408439028e+01 1 0 0 0 0 -P 180 -313 -1.6887882543152506e+00 9.5163004863946332e-01 -1.9256191761625256e+01 1.9375050572033444e+01 2 0 0 -112 0 -P 181 323 -1.0684585629853891e+00 1.1397180800571156e+00 -1.1888673019374792e+01 1.2026652906041873e+01 2 0 0 -113 0 -P 182 -323 -1.0389598140931948e+00 -2.4279557457761929e-02 -1.5588480592748905e+01 1.5651040269879616e+01 2 0 0 -114 0 -P 183 321 9.7335278175105699e-01 -7.7540269787809635e-01 -1.2014313647022332e+01 1.2088673969904482e+01 1 0 0 0 0 -P 184 113 9.1572165877639158e+00 -6.8871050884448293e+00 -1.3173902282931255e+02 1.3223974804671991e+02 2 0 0 -115 0 -P 185 111 1.5749182160948232e+00 -1.4409120111312630e+00 -2.3979729812343567e+01 2.4074930036961863e+01 2 0 0 -116 0 -P 186 -321 1.6188124904841935e+01 -1.2402999795367213e+01 -2.2505793379581706e+02 2.2598054561678759e+02 1 0 0 0 0 -V -17 0 0 0 0 0 2 1 0 -P 48 3 2.6809949063516858e+00 -2.1334338920576483e+00 -4.9258539041941329e+00 6.0002758724185767e+00 2 0 0 -17 0 -P 49 -3 -2.6809949063516858e+00 2.1334338920576483e+00 2.5402154973416849e+01 2.5632181942884813e+01 2 0 0 -17 0 -P 187 92 0 0 2.0476301069222714e+01 3.1632457815303390e+01 2 0 0 -18 0 -V -18 0 0 0 0 0 0 11 0 -P 188 -321 2.3165815711701914e+00 -1.4668486212149290e+00 -3.7345492849367883e+00 4.6592589942036238e+00 1 0 0 0 0 -P 189 213 -1.8805628523845630e-01 -4.7820853896800425e-01 -1.8580072096583751e-02 8.0239109587132929e-01 2 0 0 -117 0 -P 190 -211 5.2779424626199234e-01 -6.9896042852539919e-02 3.7768327334195961e-01 6.6751529050352554e-01 1 0 0 0 0 -P 191 213 -1.6891692283320525e-01 6.6648603572310589e-02 1.6599824117289130e+00 1.9453974090260178e+00 2 0 0 -118 0 -P 192 113 -7.4221913151521435e-01 4.9737556351137047e-01 2.7144616154803280e+00 2.9374218163653363e+00 2 0 0 -119 0 -P 193 -213 2.6977494445296846e-02 3.3051528732393581e-01 2.9686265628592207e-01 7.9252551915710912e-01 2 0 0 -120 0 -P 194 211 -6.8694313677862559e-03 -3.6465893769440583e-01 8.2207140953389746e-01 9.1011236515101712e-01 1 0 0 0 0 -P 195 113 -1.7926234409549882e-01 4.5811796288984646e-01 4.3631920667074748e+00 4.4594263972685484e+00 2 0 0 -121 0 -P 196 -213 -8.7517280978279891e-02 1.1556616042151517e-01 1.2143912094050173e+00 1.4643347407834515e+00 2 0 0 -122 0 -P 197 323 -7.6278088917320597e-01 6.2000960206627131e-01 7.1458893862408148e+00 7.2776101788726990e+00 2 0 0 -123 0 -P 198 221 -7.3573102667583368e-01 2.9137896094462912e-01 5.6348963975317616e+00 5.7164640081007310e+00 2 0 0 -124 0 -V -19 0 0 0 0 0 2 1 0 -P 50 21 1.2797607567819380e+00 -2.6322105018962016e+00 9.7689792994647917e-01 3.0855549397840010e+00 2 0 0 -19 0 -P 51 21 -1.2797607567819380e+00 2.6322105018962016e+00 2.1455385372104661e+00 3.6290019751368225e+00 2 0 0 -19 0 -P 199 92 0 0 3.1224364671569451e+00 6.7145569149208235e+00 2 0 0 -20 0 -V -20 0 0 0 0 0 0 5 0 -P 200 213 4.6881355005877492e-02 -1.7685658006218710e-01 -3.6436198676174875e-01 1.1033453735196406e+00 2 0 0 -125 0 -P 201 111 3.7295347928756839e-01 -3.7777914400943240e-02 1.1758598639554589e+00 1.2415262738220798e+00 2 0 0 -126 0 -P 202 -213 -7.7174053973165080e-01 1.1344979778855320e+00 1.1415247517969562e+00 1.9615336994911579e+00 2 0 0 -127 0 -P 203 223 4.0683186443833641e-01 -5.2896991332825460e-01 1.1174071860398992e-01 1.0379283489087789e+00 2 0 0 -128 0 -P 204 223 -5.4926159000131487e-02 -3.9089357009414699e-01 1.0576731195622895e+00 1.3702232191791681e+00 2 0 0 -129 0 -V -21 0 0 0 0 0 0 2 0 -P 205 -421 1.6217223175989148e+00 -6.8010125330790361e-01 -9.1387443651518652e+00 9.4913397269165518e+00 2 0 0 -130 0 -P 206 111 1.7968957185550219e-01 -6.1256193952872552e-02 -7.5978817714920155e-01 7.9469386436974088e-01 2 0 0 -131 0 -V -22 0 0 0 0 0 0 2 0 -P 207 -311 3.8379010207120906e-01 6.7470718262439966e-01 -2.3156482330478920e+00 2.4924740305268194e+00 2 0 0 -132 0 -P 208 -211 1.1885409638388056e-01 8.3490247668284856e-01 -4.0919076763111493e+00 4.1802364356759165e+00 1 0 0 0 0 -V -23 0 0 0 0 0 0 2 0 -P 209 311 4.9216148712404084e-01 1.6700552201381169e+00 -1.0293091901049095e+01 1.0451158963486355e+01 2 0 0 -133 0 -P 210 111 1.5608318125249132e-01 3.2776161422857351e-02 -2.1970366209984036e+00 2.2069494218571477e+00 2 0 0 -134 0 -V -24 0 0 0 0 0 0 2 0 -P 211 -211 2.0686418792920924e-01 -7.4052015170417047e-03 -8.4407254316637448e-01 8.8021921831125127e-01 1 0 0 0 0 -P 212 211 1.0687235046510266e-01 1.0665286980031208e+00 -2.9742802779412334e+00 3.1646055235381785e+00 1 0 0 0 0 -V -25 0 0 0 0 0 0 3 0 -P 213 211 1.6494907868686517e-01 9.3669242179650447e-02 -1.1169618990498749e+00 1.1415190731298617e+00 1 0 0 0 0 -P 214 -211 -3.2961684312823265e-02 9.7904714471502771e-02 -3.2110680804773697e+00 3.2157596004846356e+00 1 0 0 0 0 -P 215 111 -1.2371813995669578e-01 2.7781701450849755e-01 -1.2188863571466753e+00 1.2634840813176285e+00 2 0 0 -135 0 -V -26 0 0 0 0 0 0 2 0 -P 216 211 2.6192308140908338e-01 8.2567800152099802e-01 -2.4544236849886327e+00 2.6065347250907127e+00 1 0 0 0 0 -P 217 111 -7.1482009245183581e-02 -6.3077240170473347e-03 -1.1802194579810725e+00 1.1900785832982377e+00 2 0 0 -136 0 -V -27 0 0 0 0 0 0 3 0 -P 218 -211 1.2750107324969964e-01 -6.0407306768978437e-02 -2.7535093013034662e-01 3.3941639031513160e-01 1 0 0 0 0 -P 219 211 1.9975853129734369e-01 3.0355779618777118e-01 -9.8170033356441933e-01 1.0560616157558897e+00 1 0 0 0 0 -P 220 111 1.4897220997953661e-01 8.6760505956244627e-02 -4.6472305443281688e-02 2.2382890857345566e-01 2 0 0 -137 0 -V -28 0 0 0 0 0 0 2 0 -P 221 -311 -8.2754245304295648e-02 1.3966417583534083e-01 2.8673365676272389e-01 5.9686343994935065e-01 2 0 0 -138 0 -P 222 -211 -1.8405188231880528e-02 -1.3401650405953600e-01 -1.1372650400998702e-01 2.2519475333258582e-01 1 0 0 0 0 -V -29 0 0 0 0 0 0 2 0 -P 223 321 -1.8606728549463221e-02 1.8438159657958669e-02 1.8496301802780613e-01 5.2776742426644740e-01 1 0 0 0 0 -P 224 -211 -5.8511336571788884e-02 3.5244481235949815e-01 4.7335066859644559e-01 6.0924671737091951e-01 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 225 211 1.0573260084598722e-01 -2.9908689762051261e-02 1.7688449051444560e-01 2.5068270879638765e-01 1 0 0 0 0 -P 226 111 -4.6380149176473889e-01 -1.5543106838779938e-01 2.5262943145065019e-02 5.0806343844024116e-01 2 0 0 -139 0 -V -31 0 0 0 0 0 0 3 0 -P 227 22 9.2357515717230873e-02 1.2167869364811841e-01 1.5090349685127447e+00 1.5167472272569451e+00 1 0 0 0 0 -P 228 -211 1.6376765932694964e-01 -1.1407305807929946e-01 3.2242673069684358e+00 3.2334520192058642e+00 1 0 0 0 0 -P 229 211 2.8129986815416846e-01 2.1611268857698845e-01 2.9431364251746919e+00 2.9677206930702882e+00 1 0 0 0 0 -V -32 0 0 0 0 0 0 2 0 -P 230 -211 -3.4592648683826727e-01 -7.9172091937077929e-02 3.3441833061786439e+00 3.3658542934390199e+00 1 0 0 0 0 -P 231 111 -1.1307147515979296e-02 -1.6769866681952736e-01 1.0504441492713814e+00 1.0723353978939945e+00 2 0 0 -140 0 -V -33 0 0 0 0 0 0 2 0 -P 232 -211 2.4529482978165587e-01 2.1068895148048891e-01 2.0592913103800264e+01 2.0595924579230772e+01 1 0 0 0 0 -P 233 111 1.1477924954231560e-01 -2.2979793525959996e-01 3.8904575735499605e+00 3.9012640386376463e+00 2 0 0 -141 0 -V -34 0 0 0 0 0 0 2 0 -P 234 -211 1.0683530591018791e-02 2.9505319405206820e-01 1.8571534555359463e+01 1.8574405671540525e+01 1 0 0 0 0 -P 235 211 -3.8320474011581890e-01 -2.8328556012237832e-01 1.9771742986078998e+01 1.9777977577949802e+01 1 0 0 0 0 -V -35 0 0 0 0 0 0 2 0 -P 236 211 -2.0039518369288894e-02 -2.6884321977876424e-01 6.0433873079858088e+01 6.0434635545160802e+01 1 0 0 0 0 -P 237 -211 -7.0567420656834565e-02 4.3227021311803671e-01 1.0675834001752031e+02 1.0675932971117506e+02 1 0 0 0 0 -V -36 0 0 0 0 0 0 3 0 -P 238 211 2.3019840431794759e-02 1.0722469130411325e-01 4.8915482888414573e+01 4.8915804941134901e+01 1 0 0 0 0 -P 239 -211 1.5228297752088477e-01 2.4892222450875526e-01 1.3594839004485266e+02 1.3594877486741612e+02 1 0 0 0 0 -P 240 111 -1.8372996459514808e-03 5.1323835337157217e-02 2.0956193140799577e+01 2.0956690770888397e+01 2 0 0 -142 0 -V -37 0 0 0 0 0 0 2 0 -P 241 421 6.2436518356625337e+00 -2.8651113247762519e+00 -1.6799099320280089e+01 1.8244948598748316e+01 2 0 0 -143 0 -P 242 111 4.9387619354922196e-01 -2.6296728043550860e-01 -1.2797340263786521e+00 1.4032121235955854e+00 2 0 0 -144 0 -V -38 0 0 0 0 0 0 2 0 -P 243 211 2.7007673122422310e-01 -4.6451763092717235e-01 -9.3209210659772479e-01 1.0848933358965471e+00 1 0 0 0 0 -P 244 111 8.1043539067834081e-01 -1.9587017425910982e-01 -1.3769041714155361e+00 1.6153189608525471e+00 2 0 0 -145 0 -V -39 0 0 0 0 0 0 3 0 -P 245 211 4.2743761782097450e-01 -3.1321195981240602e-01 -3.4462938877908883e-01 6.4734368723904778e-01 1 0 0 0 0 -P 246 -211 6.6967622594905324e-02 -6.5307943664755175e-02 -1.1166100354230166e-01 2.0173684490892191e-01 1 0 0 0 0 -P 247 221 3.8909956284019970e-01 -5.3871218458285008e-01 -8.7107471401348857e-01 1.2247783258672331e+00 2 0 0 -146 0 -V -40 0 0 0 0 0 0 2 0 -P 248 -211 8.9544666103778403e-01 -3.4343535149518389e-01 -1.6695180355689065e+00 1.9304255539673623e+00 1 0 0 0 0 -P 249 111 7.7167108423919306e-01 -2.5894206886027965e-01 -2.6574100454998915e+00 2.7825482938486923e+00 2 0 0 -147 0 -V -41 0 -1.1546839958446812e-05 -2.7423900695209169e-06 -5.6021295776194672e-05 5.7666086596760802e-05 0 2 0 -P 250 22 -1.8671110918704986e-01 -7.3362208509199348e-02 -6.4793461233395855e-01 6.7827893509349302e-01 1 0 0 0 0 -P 251 22 -4.2737566410076068e-02 1.8867838474912971e-02 -4.6527143948108279e-01 4.6761095721568580e-01 1 0 0 0 0 -V -42 0 -9.5849625824338869e+00 -4.5427856562572915e+00 3.0797790083823350e+02 3.2154967752035753e+02 0 2 0 -P 252 2112 2.3494946269770597e-02 -7.7140433032913139e-02 3.6864044468885173e+00 3.8051113242385117e+00 1 0 0 0 0 -P 253 -211 -1.4849118076197018e-01 1.7898563672047136e-02 3.2989479064236149e-01 3.8817566530963010e-01 1 0 0 0 0 -V -43 0 0 0 0 0 0 1 0 -P 254 310 -1.0795922983869366e-01 -3.0104120411989399e-02 1.6962385074932020e+00 1.7712882195102833e+00 2 0 0 -148 0 -V -44 0 0 0 0 0 0 2 0 -P 255 -2112 -7.1620069765306504e-01 -5.9406387712284348e-01 6.6924011570619157e+00 6.8217945118102632e+00 1 0 0 0 0 -P 256 211 1.2282746276398639e-01 1.3160303099116163e-01 8.4157099372716293e-01 8.7185289226911644e-01 1 0 0 0 0 -V -45 0 0 0 0 0 0 2 0 -P 257 -211 1.0917582350152771e-01 -1.9998037871313329e-01 3.9245082818393935e+00 3.9335933383400823e+00 1 0 0 0 0 -P 258 111 -2.3607809641078237e-01 9.8924049628864474e-02 1.2207570821773017e+00 1.2545861027789014e+00 2 0 0 -149 0 -V -46 0 0 0 0 0 0 2 0 -P 259 211 -9.2512366564428780e-02 6.6785049859374487e-02 1.0583879226240367e+00 1.0736310169273680e+00 1 0 0 0 0 -P 260 111 -1.1115938983384583e+00 -1.8893723514333377e-01 2.2371197529621647e+01 2.2400000821057944e+01 2 0 0 -150 0 -V -47 0 0 0 0 0 0 3 0 -P 261 211 -8.7979223122396005e-02 -1.8498323078029286e-01 7.8982483377437287e+00 7.9021367824748960e+00 1 0 0 0 0 -P 262 -211 -9.3830291977028552e-02 7.2250537096242073e-02 3.3416130761211456e+00 3.3466224763494039e+00 1 0 0 0 0 -P 263 111 1.0757250327674936e-01 2.5521449183574951e-01 3.9260193555040792e+00 3.9380901285390704e+00 2 0 0 -151 0 -V -48 0 0 0 0 0 0 2 0 -P 264 -211 -5.8001042529546454e-01 -4.0485193410956233e-01 2.1083579793599277e+01 2.1095903248734608e+01 1 0 0 0 0 -P 265 111 -3.2073406530239251e-01 -1.9939418805101175e-01 3.7968439357699193e+00 3.8179669794102113e+00 2 0 0 -152 0 -V -49 0 0 0 0 0 0 2 0 -P 266 321 -2.7856704535459481e-01 6.3755292333151825e-01 6.4308924492340807e+01 6.4314582200698453e+01 1 0 0 0 0 -P 267 111 -1.1765519819761945e-01 -1.6064093626715317e-01 1.9166237785949200e+01 1.9167747356536566e+01 2 0 0 -153 0 -V -50 0 0 0 0 0 0 2 0 -P 268 -321 -8.9367168692652132e-01 2.0771029167550126e-02 1.5400335786204033e+02 1.5400674321036507e+02 1 0 0 0 0 -P 269 211 -2.8492412920335630e-01 4.1681594305669806e-01 8.0055157641769668e+01 8.0056871423527923e+01 1 0 0 0 0 -V -51 0 -6.6002531619560156e-06 4.6303420024687618e-05 6.9143008171581527e-03 6.9145890185681727e-03 0 2 0 -P 270 22 3.2985399197000089e-03 1.3785210455256494e-01 2.1286406525307036e+01 2.1286853145632609e+01 1 0 0 0 0 -P 271 22 -2.4309358054476007e-02 9.5472016989760957e-03 7.2413056072650817e-01 7.2460138209044855e-01 1 0 0 0 0 -V -52 0 0 0 0 0 0 2 0 -P 272 -211 -2.8540776280327329e-01 9.3966682333239981e-01 1.4340676176985525e+02 1.4341019221948926e+02 1 0 0 0 0 -P 273 111 -1.1869009496520293e+00 8.8484723595274772e-01 2.4894306409889506e+02 2.4894750264070180e+02 2 0 0 -154 0 -V -53 0 0 0 0 0 0 2 0 -P 274 211 1.7933401902204655e+00 1.2885124651880893e+00 6.1833606751116611e+02 6.1834002635958245e+02 1 0 0 0 0 -P 275 111 -3.9365165318030595e-02 2.1026551461701451e-01 7.2894196812983083e+01 7.2894635672408640e+01 2 0 0 -155 0 -V -54 0 1.0676767945586468e-04 5.7893903355371724e-05 2.5444575107770855e-02 2.5444873168571566e-02 0 2 0 -P 276 22 2.4999471933883968e-01 1.5059317622941079e-01 4.8566265682726126e+01 4.8567142576329971e+01 1 0 0 0 0 -P 277 22 4.5564793068048387e-01 2.3203579530812810e-01 1.1960051942648138e+02 1.1960161245874228e+02 1 0 0 0 0 -V -55 0 0 0 0 0 0 3 0 -P 278 211 2.6192602171711871e-01 6.6663279626861305e-02 8.4515411988941139e+01 8.4515959396311999e+01 1 0 0 0 0 -P 279 -211 3.0260190289747680e-02 5.2722368310901424e-01 1.3997838615805080e+02 1.3997945189094159e+02 1 0 0 0 0 -P 280 111 -1.0915701330301296e-01 6.3947562447915010e-02 3.9337776782952176e+01 3.9338211784091911e+01 2 0 0 -156 0 -V -56 0 0 0 0 0 0 2 0 -P 281 -211 1.0460657961309405e+00 -3.9020867461042025e-01 9.9157631500447565e+01 9.9164015050939852e+01 1 0 0 0 0 -P 282 211 1.1960987457174342e-01 -2.5875645151296439e-01 1.0301918998462718e+01 1.0306807277672448e+01 1 0 0 0 0 -V -57 0 0 0 0 0 0 2 0 -P 283 211 -1.6242543744049195e-01 3.1007645455399614e-02 2.1896606379610399e+00 2.2003265646581580e+00 1 0 0 0 0 -P 284 111 1.2652227858485912e-01 9.6098178980106996e-01 3.5153440087509658e+01 3.5167059352095940e+01 2 0 0 -157 0 -V -58 0 0 0 0 0 0 3 0 -P 285 111 2.9219528435810188e-01 2.1022194446087650e-01 3.5594569879955653e+00 3.5801571194466431e+00 2 0 0 -158 0 -P 286 111 7.2165970952666164e-02 1.0925849693542053e-01 1.7329492789665644e+00 1.7431231024763754e+00 2 0 0 -159 0 -P 287 111 5.7259665167642498e-02 1.0687387285916360e-02 3.2706781824117788e+00 3.2739804921236972e+00 2 0 0 -160 0 -V -59 0 0 0 0 0 0 2 0 -P 288 -211 5.5626398321002368e-01 1.3631010577680165e+00 1.2299140896707550e+01 1.2387728633396405e+01 1 0 0 0 0 -P 289 111 4.1830606098124423e-01 1.1755765771896662e+00 1.9730016713629471e+01 1.9769894773872441e+01 2 0 0 -161 0 -V -60 0 3.8941374669982273e-05 1.8006347465645076e-05 5.5790884985439169e-04 5.5957112049228436e-04 0 2 0 -P 290 22 1.2285446892288159e+00 5.5994878566880602e-01 1.7826169650336105e+01 1.7877225430658086e+01 1 0 0 0 0 -P 291 22 5.0254836912804378e-02 3.1363380420649907e-02 4.9505241412208734e-01 4.9858409821478411e-01 1 0 0 0 0 -V -61 0 0 0 0 0 0 3 0 -P 292 211 3.3246427160202974e-01 2.4826372883767425e-01 4.4532204940244178e+00 4.4746865727386238e+00 1 0 0 0 0 -P 293 -211 3.0564376993854531e-01 6.9193900353716309e-01 8.2429344382337373e+00 8.2787466223238155e+00 1 0 0 0 0 -P 294 221 9.5599961032503467e-01 1.2801871992451461e+00 1.7605752316643834e+01 1.7686577697722150e+01 2 0 0 -162 0 -V -62 0 0 0 0 0 0 2 0 -P 295 211 8.0273279393105107e-02 2.0186889552187660e-02 5.6907814730655848e-01 5.9176095894894998e-01 1 0 0 0 0 -P 296 111 1.6901191173961481e+00 -1.5985626590924316e+00 1.6544286957456936e+01 1.6707589764448741e+01 2 0 0 -163 0 -V -63 0 0 0 0 0 0 1 0 -P 297 310 6.3686850058466904e-01 -2.8985459322238305e-01 6.1254602664267574e+00 6.1853501175537380e+00 2 0 0 -164 0 -V -64 0 0 0 0 0 0 2 0 -P 298 130 1.4358399666748303e-01 -1.0812535661317952e+00 4.2011710653840471e+00 4.3688945269818387e+00 1 0 0 0 0 -P 299 310 -5.6376902188405402e-02 -9.4829366505374968e-01 3.4172653874114838e+00 3.5815942521706718e+00 2 0 0 -165 0 -V -65 0 0 0 0 0 0 2 0 -P 300 -321 -2.2142072696580159e-01 1.5578586639161984e-01 1.6476923364331792e+00 1.7412143377649063e+00 1 0 0 0 0 -P 301 111 2.3195043580107069e-02 -3.1086024973021309e-01 9.9213467140438327e-01 1.0486767430966022e+00 2 0 0 -166 0 -V -66 0 0 0 0 0 0 2 0 -P 302 -211 -1.1624801152423032e+00 -1.7625857585222973e+00 5.0201713535008983e+00 5.4479049898002465e+00 1 0 0 0 0 -P 303 211 5.8229430385060822e-02 -1.4047080457471348e-01 3.0156695192662147e-01 3.6543826413656960e-01 1 0 0 0 0 -V -67 0 0 0 0 0 0 2 0 -P 304 211 1.4948479945856540e-03 1.2568218777132778e-01 -1.5080220659718138e-01 2.4087203513088271e-01 1 0 0 0 0 -P 305 111 -7.2459948192582480e-01 -8.9543741457431492e-01 7.6366010654820127e-01 1.3886140325374496e+00 2 0 0 -167 0 -V -68 0 0 0 0 0 0 2 0 -P 306 211 1.0563433052605793e-01 -2.7158694112764570e-01 -4.0122677357734220e-02 3.2558822539384402e-01 1 0 0 0 0 -P 307 111 -7.0299433074427298e-01 -9.4889402278916302e-01 3.0759404672122986e-01 1.2277762799150060e+00 2 0 0 -168 0 -V -69 0 1.2667704663510530e-05 -7.0744177920900302e-05 1.8213818727785282e-05 8.3881864673891209e-05 0 2 0 -P 308 22 5.4027065630195055e-02 -1.9904590108705426e-02 1.9071272126093892e-02 6.0653358921930293e-02 1 0 0 0 0 -P 309 22 -1.0444000571005583e-02 -2.2348978880879536e-01 4.3593122701166338e-02 2.2794105202127599e-01 1 0 0 0 0 -V -70 0 0 0 0 0 0 2 0 -P 310 211 -4.3737588677301271e-02 -6.4946955578646784e-02 -3.5924173334191872e-02 1.6401650780328356e-01 1 0 0 0 0 -P 311 111 -1.1020147543802561e+00 -1.6536485938923138e+00 -1.9715970413558779e+00 2.8025710847072287e+00 2 0 0 -169 0 -V -71 0 0 0 0 0 0 2 0 -P 312 -211 -7.4010583846387956e-01 -4.7229998155360581e-01 -9.2048603238071680e-01 1.2796867762901407e+00 1 0 0 0 0 -P 313 111 -2.5499660395015161e-01 8.5088854900123176e-02 -1.8681615758638939e-01 3.5409498498237357e-01 2 0 0 -170 0 -V -72 0 0 0 0 0 0 1 0 -P 314 310 -2.8765138987802308e-01 7.2322394316508809e-01 -1.3293539465693636e+00 1.6188432716682486e+00 2 0 0 -171 0 -V -73 0 0 0 0 0 0 2 0 -P 315 -211 -5.0232272700335232e-03 1.0288006080287391e+00 -2.6829806284030435e+00 2.8768595310126805e+00 1 0 0 0 0 -P 316 211 -1.5041483011075760e-02 -6.2116154231934534e-02 -7.5021064446656849e-02 1.7085844386054616e-01 1 0 0 0 0 -V -74 0 0 0 0 0 0 2 0 -P 317 211 2.3075821910509536e-01 4.3897541651857841e-01 -1.2656582782473587e+00 1.3664989696989467e+00 1 0 0 0 0 -P 318 111 4.6838599969743122e-01 4.9174921370238156e-02 -8.7389061637774768e-01 1.0018522981944049e+00 2 0 0 -172 0 -V -75 0 0 0 0 0 0 2 0 -P 319 -211 2.5742640827553703e-01 5.6243178021327091e-02 -5.9271374260145144e+00 5.9346330554225126e+00 1 0 0 0 0 -P 320 211 -9.8706113948430804e-02 -2.8964132523844838e-01 -1.4907848669725159e+00 1.5282520403097610e+00 1 0 0 0 0 -V -76 0 0 0 0 0 0 2 0 -P 321 -211 -1.8116809968197792e-01 2.3195288966429489e-01 -1.4818039389156070e+01 1.4821619181008760e+01 1 0 0 0 0 -P 322 211 -1.2600615597077278e-01 3.3646972396956704e-01 -2.8764946640392428e+00 2.9022044662009816e+00 1 0 0 0 0 -V -77 0 0 0 0 0 0 2 0 -P 323 2112 6.8523780701355297e-01 -3.5080743538294351e-01 -1.6307557677702232e+02 1.6308010040974429e+02 1 0 0 0 0 -P 324 -211 8.4749541376226964e-02 3.5211273219105275e-03 -3.0569414802299615e+01 3.0569851095860052e+01 1 0 0 0 0 -V -78 0 9.2659059340455155e-06 2.2192099479511942e-05 -1.5814794116037168e-03 1.5816634155477668e-03 0 2 0 -P 325 22 6.5173830040521086e-01 1.4984807920980339e+00 -1.0754272896002473e+02 1.0755514287873845e+02 1 0 0 0 0 -P 326 22 -1.5466324265940194e-04 6.2079934296075334e-02 -3.6677791592323956e+00 3.6683044997740333e+00 1 0 0 0 0 -V -79 0 0 0 0 0 0 2 0 -P 327 -211 6.6823265779759167e-01 7.0798190000280858e-01 -4.8392336668505656e+01 4.8402329502603237e+01 1 0 0 0 0 -P 328 211 1.0551080640961935e-01 1.5636350604201216e-01 -4.0467426697579832e+01 4.0468107015095086e+01 1 0 0 0 0 -V -80 0 0 0 0 0 0 3 0 -P 329 211 -1.6210443044946699e-01 5.3631565721785644e-02 -3.2851753809151361e+01 3.2852494004461882e+01 1 0 0 0 0 -P 330 -211 6.3753390431136939e-02 -3.4266989260422084e-02 -4.3006183481217263e+01 4.3006470863422045e+01 1 0 0 0 0 -P 331 111 1.1533681740304895e-01 2.6389423523999250e-01 -2.1069793643374290e+01 2.1072194155417638e+01 2 0 0 -173 0 -V -81 0 0 0 0 0 0 3 0 -P 332 -211 5.6711449398208394e-02 -4.9900954611827149e-02 -1.7771001367628735e+01 1.7771709982073371e+01 1 0 0 0 0 -P 333 211 8.5429989515703270e-02 2.9119120815685540e-01 -8.1609305243617207e+00 8.1677633052859324e+00 1 0 0 0 0 -P 334 111 1.5971224969655323e-01 1.6416391462325010e-03 -6.1583136127604776e+00 6.1618630990304570e+00 2 0 0 -174 0 -V -82 0 0 0 0 0 0 3 0 -P 335 111 3.2030294786127822e-01 -1.0601635141293821e-01 -2.8028052211989629e+00 2.8262643460150190e+00 2 0 0 -175 0 -P 336 111 2.9110855186201823e-01 8.7859720184946685e-02 -3.6679991381187156e+00 3.6830559046853768e+00 2 0 0 -176 0 -P 337 111 4.0602579306178992e-02 5.1683011578460081e-03 -1.0151896366424780e+00 1.0249414029735842e+00 2 0 0 -177 0 -V -83 0 0 0 0 0 0 2 0 -P 338 211 6.5793571993552347e-01 5.6569505409351306e-01 -1.7197107586476218e+01 1.7219549338804743e+01 1 0 0 0 0 -P 339 111 5.8788972858264898e-01 1.8877221706897764e+00 -2.1951790012437453e+01 2.2041061990685371e+01 2 0 0 -178 0 -V -84 0 0 0 0 0 0 2 0 -P 340 22 6.6593323470164767e-01 6.3569398019847445e-01 -6.3111210203307069e+00 6.3779167792313567e+00 1 0 0 0 0 -P 341 22 2.1963494126495064e-01 2.8017614166117788e-01 -6.1100973275610935e+00 6.1204597482582805e+00 1 0 0 0 0 -V -85 0 3.0223187720401600e-04 4.8661610779874898e-04 -5.3830165474146501e-03 5.4137043570611056e-03 0 2 0 -P 342 22 5.7856337531910038e-02 1.3626196294686996e-01 -1.7555647494935451e+00 1.7617951833295136e+00 1 0 0 0 0 -P 343 22 6.6462261932697564e-01 1.0269836258559635e+00 -1.1112423286411024e+01 1.1179551417220072e+01 1 0 0 0 0 -V -86 0 0 0 0 0 0 2 0 -P 344 -211 4.1265547372750555e-01 1.2949869224888536e-01 -3.6370992906819448e+00 3.6653820382697559e+00 1 0 0 0 0 -P 345 211 8.0133869236026911e-01 1.5461792439251949e+00 -1.5223724224072070e+01 1.5323644246383349e+01 1 0 0 0 0 -V -87 0 0 0 0 0 0 2 0 -P 346 -211 4.4315996363918092e-01 4.3179607305874240e-01 -3.3584103881800651e+00 3.4177827201882520e+00 1 0 0 0 0 -P 347 111 1.5073350550211109e-02 7.2202155363162623e-01 -1.5089453750602873e+01 1.5107328566685394e+01 2 0 0 -179 0 -V -88 0 0 0 0 0 0 2 0 -P 348 211 2.0265472465231706e+00 1.6273344433143688e+00 -2.5085446979218137e+01 2.5220115801971495e+01 1 0 0 0 0 -P 349 111 5.5564478995138736e-02 5.3068180921456376e-02 -1.0567328314465232e+00 1.0680859144325889e+00 2 0 0 -180 0 -V -89 0 0 0 0 0 0 2 0 -P 350 321 5.5334359353845797e-01 4.4390121636406382e-01 -6.4488659797201224e+00 6.5065160267835447e+00 1 0 0 0 0 -P 351 -211 1.2280392089109184e+00 7.9181424127792643e-01 -1.6152530029392889e+01 1.6219086171133444e+01 1 0 0 0 0 -V -90 0 0 0 0 0 0 2 0 -P 352 -311 4.9782761336762366e-01 5.0953796112831118e-01 -7.5199540324803458e+00 7.5699963900902567e+00 2 0 0 -181 0 -P 353 111 9.2084903787267469e-01 1.3790049009253627e-01 -1.0572002769311638e+01 1.0613785453383338e+01 2 0 0 -182 0 -V -91 0 0 0 0 0 0 2 0 -P 354 -211 -4.1646899766105938e-01 -6.4165585437284340e-04 -4.5711127402477864e+01 4.5713237634499237e+01 1 0 0 0 0 -P 355 111 -1.5883655598135957e-01 -4.7746020680533935e-01 -4.8794799426665946e+01 4.8797580554670517e+01 2 0 0 -183 0 -V -92 0 0 0 0 0 0 2 0 -P 356 -2112 -5.0910243761024854e-01 -4.5126876099486196e-01 -2.8494746972763384e+01 2.8518348928599259e+01 1 0 0 0 0 -P 357 211 -2.9468806770195133e-01 -2.9190475370197855e-01 -5.4819920692795092e+00 5.4994332685307823e+00 1 0 0 0 0 -V -93 0 0 0 0 0 0 2 0 -P 358 -211 -2.4885074976450763e-01 3.3424025035342403e-01 -2.8357333619216721e+01 2.8360738583772349e+01 1 0 0 0 0 -P 359 111 6.8911093492632733e-02 -2.7130636779539036e-01 -1.4855359858410299e+01 1.4858610029450290e+01 2 0 0 -184 0 -V -94 0 0 0 0 0 0 1 0 -P 360 130 -1.4096245121895092e+00 -2.1826091973706498e+00 -7.8978356177349141e+01 7.9022650196503378e+01 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 361 -321 -3.8980393264709728e-02 2.3659798443371793e-02 -4.5021650566010770e+01 4.5024379395002207e+01 1 0 0 0 0 -P 362 111 -2.6489328918552280e-01 -4.1560022800454127e-01 -3.3811621128573726e+01 3.3815482178238803e+01 2 0 0 -185 0 -V -96 0 0 0 0 0 0 2 0 -P 363 211 -1.8760543427401080e+00 -1.0875370782743450e+00 -8.1985678412572810e+01 8.2014469829099326e+01 1 0 0 0 0 -P 364 111 7.5450854587473110e-02 -1.1796572075934705e-01 -7.3526082944333560e+00 7.3551802883751556e+00 2 0 0 -186 0 -V -97 0 0 0 0 0 0 2 0 -P 365 -211 3.3024357657183534e-01 -1.0764108627154867e+00 -4.6204481583885297e+01 4.6218408879857975e+01 1 0 0 0 0 -P 366 211 1.6113589013928148e-01 1.0476930546125837e-01 -4.2265010413097350e+00 4.2331704689924887e+00 1 0 0 0 0 -V -98 0 0 0 0 0 0 2 0 -P 367 22 -1.5306529296572205e-01 -5.6288475914386925e-02 -3.1187132731459890e+00 3.1229745206338810e+00 1 0 0 0 0 -P 368 22 4.1998551688228036e-01 -2.0427605522231063e-01 -1.8445987769881434e+01 1.8451899125774119e+01 1 0 0 0 0 -V -99 0 0 0 0 0 0 1 0 -P 369 130 4.1329176006341922e-01 1.8028596136298070e-01 -8.9119644403072215e+01 8.9122174609160780e+01 1 0 0 0 0 -V -100 0 0 0 0 0 0 3 0 -P 370 211 -2.5393868742732295e-01 -1.0813557949514663e-01 -2.2588965411228937e+01 2.2591082672043903e+01 1 0 0 0 0 -P 371 -211 -9.4699960295409211e-02 -7.0342706977206501e-02 -6.2577223207694175e+00 6.2603901322250373e+00 1 0 0 0 0 -P 372 111 -6.1340461783072626e-02 -9.5270249091627290e-02 -1.9913617131458697e+01 1.9914396951234526e+01 2 0 0 -187 0 -V -101 0 0 0 0 0 0 2 0 -P 373 211 -5.6588712441174915e-01 1.7007007181064696e-01 -3.2251333498529675e+02 3.2251390648341049e+02 1 0 0 0 0 -P 374 -211 -2.8982224615837326e-01 2.8131974867272219e-01 -6.3245549272580966e+01 6.3246992974454749e+01 1 0 0 0 0 -V -102 0 0 0 0 0 0 2 0 -P 375 2212 9.5560807623884438e-04 8.6244164763986575e-01 -1.1728103150663380e+03 1.1728110074871845e+03 1 0 0 0 0 -P 376 211 -2.8581771916038204e-03 -1.1153332585833524e-01 -2.1689617899690685e+02 2.1689625259809148e+02 1 0 0 0 0 -V -103 0 0 0 0 0 0 3 0 -P 377 -211 6.9777075380562020e-02 4.7507027834957305e-02 2.3372071430252870e+00 2.3428919676866879e+00 1 0 0 0 0 -P 378 211 -3.3611510436482870e-03 -3.9382859649498635e-02 1.3924281785635231e-01 2.0107375312329462e-01 1 0 0 0 0 -P 379 111 -7.9872569296045165e-02 9.6782587127883388e-02 4.2334861577519067e-01 4.6172518598825418e-01 2 0 0 -188 0 -V -104 0 0 0 0 0 0 2 0 -P 380 -211 2.4592593317047373e-01 -2.5402408844388685e-01 9.5163384838481568e-01 1.0247412202147479e+00 1 0 0 0 0 -P 381 111 -3.2259075952935390e-01 9.6110605845984534e-02 1.8794513505486412e+00 1.9141209539025790e+00 2 0 0 -189 0 -V -105 0 0 0 0 0 0 2 0 -P 382 -211 -4.5837447734990650e-01 -1.0851873872112007e-01 2.2553461445730871e+00 2.3082351472239804e+00 1 0 0 0 0 -P 383 211 6.1887762052356861e-02 -1.3754108735555134e-01 5.4029978564595833e+00 5.4069042221598167e+00 1 0 0 0 0 -V -106 0 0 0 0 0 0 3 0 -P 384 211 1.5445020817728534e-02 2.3301757642101320e-01 6.4439298137185208e+00 6.4496702992183712e+00 1 0 0 0 0 -P 385 -211 -1.2475197802699829e-01 -1.9095926689690346e-01 6.3048485731892709e+00 6.3105169212499730e+00 1 0 0 0 0 -P 386 111 1.9899815204420815e-01 -6.7184283612308757e-02 5.5687097047954106e+00 5.5743036667519377e+00 2 0 0 -190 0 -V -107 0 0 0 0 0 0 2 0 -P 387 22 -3.7754050692170192e-03 6.8280684928958862e-02 3.4642925362567140e-01 3.5311433472098541e-01 1 0 0 0 0 -P 388 113 8.2999471421343396e-02 -2.8251000142352389e-01 1.6107349250332053e+01 1.6130098567719088e+01 2 0 0 -191 0 -V -108 0 0 0 0 0 0 2 0 -P 389 211 -1.4673680780120973e-01 1.9405519317056662e-03 5.3082618403845041e+00 5.3121237756181632e+00 1 0 0 0 0 -P 390 -211 5.6044408203317006e-02 1.6763803708868413e-01 2.3839451002379750e+00 2.3945599831740396e+00 1 0 0 0 0 -V -109 0 0 0 0 0 0 2 0 -P 391 321 1.9846678448419963e-01 2.0386347738843802e-01 3.9517065449383580e+01 3.9521172200136242e+01 1 0 0 0 0 -P 392 -211 -2.9633713105752252e-01 3.6457100116663532e-01 3.2491480380038389e+01 3.2495176638717545e+01 1 0 0 0 0 -V -110 0 0 0 0 0 0 2 0 -P 393 -321 8.7679693769441944e-02 -3.7650460777736888e-01 1.7261252844619153e+02 1.7261366707475875e+02 1 0 0 0 0 -P 394 211 -2.1815986473454180e-01 -4.1960556703188107e-01 6.4104946097799257e+01 6.4106842509556756e+01 1 0 0 0 0 -V -111 0 -3.8117306469070869e+00 2.4304278506338637e+00 -3.6687500677897781e+01 3.6965955593079201e+01 0 4 0 -P 395 13 -1.4149561259899173e+00 1.0402134060499841e+00 -1.3160839701082471e+01 1.3277914385994174e+01 1 0 0 0 0 -P 396 -14 -1.3089155169219182e+00 1.0462816645268493e+00 -1.2289940437364569e+01 1.2403652732398342e+01 1 0 0 0 0 -P 397 323 -2.1581479174280773e+01 1.3503790177823028e+01 -2.0949493928636579e+02 2.1103796270682068e+02 2 0 0 -192 0 -P 398 -211 -2.0850999230479355e+00 1.2367396416999163e+00 -1.9059552487099179e+01 1.9213619841764203e+01 1 0 0 0 0 -V -112 0 0 0 0 0 0 2 0 -P 399 -311 -4.4690407303060170e-01 3.0479452171944948e-01 -6.3255618455358773e+00 6.3681261797769668e+00 2 0 0 -193 0 -P 400 111 -1.2418841812846488e+00 6.4683552692001378e-01 -1.2930629916089380e+01 1.3006924392256479e+01 2 0 0 -194 0 -V -113 0 0 0 0 0 0 2 0 -P 401 311 -9.3258822715903111e-01 9.6253600257025262e-01 -1.1172693777377827e+01 1.1263789683300944e+01 2 0 0 -195 0 -P 402 211 -1.3587033582635805e-01 1.7718207748686304e-01 -7.1597924199696528e-01 7.6286322274092955e-01 1 0 0 0 0 -V -114 0 0 0 0 0 0 2 0 -P 403 -321 -9.2232459910796916e-01 -9.2465403799705914e-02 -1.4887975269241240e+01 1.4924968378343664e+01 1 0 0 0 0 -P 404 111 -1.1663521498522561e-01 6.8185846341943981e-02 -7.0050532350766603e-01 7.2607189153595308e-01 2 0 0 -196 0 -V -115 0 0 0 0 0 0 2 0 -P 405 -211 8.0700028232659307e+00 -6.2899386723757056e+00 -1.1945209016908863e+02 1.1988957252246230e+02 1 0 0 0 0 -P 406 211 1.0872137644979858e+00 -5.9716641606912368e-01 -1.2286932660223906e+01 1.2350175524257606e+01 1 0 0 0 0 -V -116 0 1.8675243735831720e-03 -1.7086209769348198e-03 -2.8434955821092834e-02 2.8547843422511342e-02 0 2 0 -P 407 22 1.0284917633797830e+00 -8.5251486620572126e-01 -1.4939793795464507e+01 1.4999400506534974e+01 1 0 0 0 0 -P 408 22 5.4642645271504009e-01 -5.8839714492554174e-01 -9.0399360168790608e+00 9.0755295304268895e+00 1 0 0 0 0 -V -117 0 0 0 0 0 0 2 0 -P 409 211 6.3239069735772049e-02 -4.0712194024407136e-02 -1.9482115859367102e-01 2.5118067485200196e-01 1 0 0 0 0 -P 410 111 -2.5129535497422834e-01 -4.3749634494359707e-01 1.7624108649708728e-01 5.5121042101932738e-01 2 0 0 -197 0 -V -118 0 0 0 0 0 0 2 0 -P 411 211 -8.9867935841088972e-02 -4.4410153793443752e-01 8.8775575440297683e-01 1.0064255989707680e+00 1 0 0 0 0 -P 412 111 -7.9048986992116252e-02 5.1075014150674813e-01 7.7222665732593598e-01 9.3897181005524955e-01 2 0 0 -198 0 -V -119 0 0 0 0 0 0 2 0 -P 413 -211 -6.6518601310751921e-02 8.3313999049881182e-02 1.2857659839509159e+00 1.2977056280772190e+00 1 0 0 0 0 -P 414 211 -6.7570053020446241e-01 4.1406156446148923e-01 1.4286956315294119e+00 1.6397161882881173e+00 1 0 0 0 0 -V -120 0 0 0 0 0 0 2 0 -P 415 -211 -1.7917883923619066e-01 3.7320756329498238e-02 3.3628350035695148e-01 4.0750984380178873e-01 1 0 0 0 0 -P 416 111 2.0615633368148753e-01 2.9319453099443760e-01 -3.9420844071029401e-02 3.8501567535532039e-01 2 0 0 -199 0 -V -121 0 0 0 0 0 0 2 0 -P 417 -211 -4.0949193990631622e-01 9.8784294800820266e-02 1.6177062253094043e+00 1.6774669004342038e+00 1 0 0 0 0 -P 418 211 2.3022959581081737e-01 3.5933366808902623e-01 2.7454858413980707e+00 2.7819594968343444e+00 1 0 0 0 0 -V -122 0 0 0 0 0 0 2 0 -P 419 -211 1.7106562716093260e-01 -8.5567367789404127e-03 1.1082111017219458e+00 1.1300213703377633e+00 1 0 0 0 0 -P 420 111 -2.5858290813921248e-01 1.2412289720045558e-01 1.0618010768307151e-01 3.3431337044568815e-01 2 0 0 -200 0 -V -123 0 0 0 0 0 0 2 0 -P 421 321 -4.3364031456645963e-01 3.1333513178025424e-01 2.3850228401197859e+00 2.4936314353003528e+00 1 0 0 0 0 -P 422 111 -3.2914057460674639e-01 3.0667447028601713e-01 4.7608665461210302e+00 4.7839787435723471e+00 2 0 0 -201 0 -V -124 0 0 0 0 0 0 3 0 -P 423 22 -3.6801339550226492e-01 1.7380726639585706e-01 3.6329416264764558e+00 3.6556678851485542e+00 1 0 0 0 0 -P 424 211 -2.0485179035825907e-01 1.0503476392148384e-01 1.2552849482286934e+00 1.2838288997349061e+00 1 0 0 0 0 -P 425 -211 -1.6286584081530955e-01 1.2536930627288169e-02 7.4666982282661187e-01 7.7696722321727008e-01 1 0 0 0 0 -V -125 0 0 0 0 0 0 2 0 -P 426 211 -3.6738729491780953e-01 -1.2990768478039541e-01 -4.9576508877336578e-01 6.4584227113010451e-01 1 0 0 0 0 -P 427 111 4.1426864992368700e-01 -4.6948895281791733e-02 1.3140310201161695e-01 4.5750310238953612e-01 2 0 0 -202 0 -V -126 0 6.9426357033436299e-05 -7.0324668325621512e-06 2.1888967731901427e-04 2.3111366735984392e-04 0 2 0 -P 428 22 1.7329754036781519e-01 -3.5760193007135399e-02 3.5401094689066487e-01 3.9577086732081140e-01 1 0 0 0 0 -P 429 22 1.9965593891975320e-01 -2.0177213938078393e-03 8.2184891706479402e-01 8.4575540650126857e-01 1 0 0 0 0 -V -127 0 0 0 0 0 0 2 0 -P 430 -211 -3.7279482875192040e-02 7.0816911438682062e-01 6.4425103332057665e-01 9.6821094460323387e-01 1 0 0 0 0 -P 431 111 -7.3446105685645879e-01 4.2632886349871141e-01 4.9727371847637947e-01 9.9332275488792399e-01 2 0 0 -203 0 -V -128 0 0 0 0 0 0 3 0 -P 432 211 3.5893828107734344e-01 -2.8226148103218018e-01 1.1790620111171650e-01 4.9182302757987484e-01 1 0 0 0 0 -P 433 -211 -1.5008674707049818e-02 9.4286417803348802e-02 3.1852852341836643e-02 1.7207433858934496e-01 1 0 0 0 0 -P 434 111 6.2902258068042838e-02 -3.4099485009942332e-01 -3.8018334849563219e-02 3.7403098273955909e-01 2 0 0 -204 0 -V -129 0 0 0 0 0 0 3 0 -P 435 -211 6.2512878218440995e-02 -1.0363521755860323e-01 1.7834621769483228e-01 2.5677865278800954e-01 1 0 0 0 0 -P 436 211 2.0006607633586731e-02 -2.7092422208840949e-01 8.6756397153503473e-01 9.1975389538118113e-01 1 0 0 0 0 -P 437 111 -1.3744564485215921e-01 -1.6334130447134231e-02 1.1762930332422402e-02 1.9369067100997739e-01 2 0 0 -205 0 -V -130 0 1.5843923112336528e-01 -6.6444617855219837e-02 -8.9283819735022774e-01 9.2728610338778894e-01 0 2 0 -P 438 10323 8.7256927989165967e-01 -6.3042634964667288e-01 -7.4558774953617020e+00 7.6433087325073386e+00 2 0 0 -206 0 -P 439 -211 7.4915303770725516e-01 -4.9674903661230729e-02 -1.6828668697901639e+00 1.8480309944092130e+00 1 0 0 0 0 -V -131 0 6.3341395332392340e-05 -2.1593088333733440e-05 -2.6782880498143764e-04 2.8013321925965200e-04 0 2 0 -P 440 22 1.8312594343566238e-01 -8.4377915874067108e-02 -7.2688918009528936e-01 7.5433588273795882e-01 1 0 0 0 0 -P 441 22 -3.4363715801602034e-03 2.3121721921194556e-02 -3.2898997053912235e-02 4.0357981631782891e-02 1 0 0 0 0 -V -132 0 0 0 0 0 0 1 0 -P 442 310 3.8379010207120906e-01 6.7470718262439966e-01 -2.3156482330478920e+00 2.4924740305268194e+00 2 0 0 -207 0 -V -133 0 0 0 0 0 0 1 0 -P 443 310 4.9216148712404084e-01 1.6700552201381169e+00 -1.0293091901049095e+01 1.0451158963486355e+01 2 0 0 -208 0 -V -134 0 9.6048817494557951e-06 2.0169447607449687e-06 -1.3519891620979356e-04 1.3580891966622047e-04 0 2 0 -P 444 22 1.5816391710962158e-01 4.6061575462403102e-02 -2.1743161685814321e+00 2.1805477051337747e+00 1 0 0 0 0 -P 445 22 -2.0807358571302472e-03 -1.3285414039545751e-02 -2.2720452416971754e-02 2.6401716723371889e-02 1 0 0 0 0 -V -135 0 -6.1063190212079914e-05 1.3712130821739223e-04 -6.0160207306227294e-04 6.2361403763779813e-04 0 2 0 -P 446 22 -2.5237797460208114e-02 2.4511377645867576e-02 -3.8105441354096364e-01 3.8267508428664126e-01 1 0 0 0 0 -P 447 22 -9.8480342496487655e-02 2.5330563686262997e-01 -8.3783194360571156e-01 8.8080899703098514e-01 1 0 0 0 0 -V -136 0 -4.4426904102195735e-05 -3.9203241902067923e-06 -7.3352018546965340e-04 7.3964774707043087e-04 0 2 0 -P 448 22 -9.3539797166090302e-02 -3.7702636311332943e-02 -1.0340724780016020e+00 1.0389788603234766e+00 1 0 0 0 0 -P 449 22 2.2057787920906725e-02 3.1394912294285607e-02 -1.4614697997947071e-01 1.5109972297476049e-01 1 0 0 0 0 -V -137 0 3.4098188860393095e-05 1.9858577100558979e-05 -1.0637027187826258e-05 5.1232108310682472e-05 0 2 0 -P 450 22 1.6215511123058321e-01 9.3620873556322176e-02 -6.6667187162900293e-02 1.9875528145904667e-01 1 0 0 0 0 -P 451 22 -1.3182901251046604e-02 -6.8603676000775432e-03 2.0194881719618613e-02 2.5073627114409011e-02 1 0 0 0 0 -V -138 0 0 0 0 0 0 1 0 -P 452 130 -8.2754245304295648e-02 1.3966417583534083e-01 2.8673365676272389e-01 5.9686343994935065e-01 1 0 0 0 0 -V -139 0 -3.0024804301746423e-05 -1.0062036223726178e-05 1.6354301085376340e-06 3.2890160085510046e-05 0 2 0 -P 453 22 -2.2227458161680197e-01 -3.7647953140759721e-02 -4.5941596270482596e-02 2.3007387569320689e-01 1 0 0 0 0 -P 454 22 -2.4152691014793695e-01 -1.1778311524703966e-01 7.1204539415547607e-02 2.7798956274703429e-01 1 0 0 0 0 -V -140 0 -5.2312039080510034e-07 -7.7585077934244670e-06 4.8598353661629399e-05 4.9611143007349821e-05 0 2 0 -P 455 22 4.7206675991752704e-02 -1.2250638112759871e-01 8.1646707124802609e-01 8.2695511492915996e-01 1 0 0 0 0 -P 456 22 -5.8513823507732002e-02 -4.5192285691928666e-02 2.3397707802335543e-01 2.4538028296483455e-01 1 0 0 0 0 -V -141 0 3.0596166820026153e-05 -6.1256159019476770e-05 1.0370610489371156e-03 1.0399416777082222e-03 0 2 0 -P 457 22 4.0001623016009347e-02 3.0748574500628228e-04 9.6083364275377592e-01 9.6166600929786894e-01 1 0 0 0 0 -P 458 22 7.4777626526306248e-02 -2.3010542100460624e-01 2.9296239307961844e+00 2.9395980293397774e+00 1 0 0 0 0 -V -142 0 -4.8576316925451316e-07 1.3569495300677073e-05 5.5406023824234275e-03 5.5407339507114817e-03 0 2 0 -P 459 22 6.5319363905594258e-02 3.0658385922958279e-02 8.8762098019672298e+00 8.8765030842369192e+00 1 0 0 0 0 -P 460 22 -6.7156663551545731e-02 2.0665449414198934e-02 1.2079983338832347e+01 1.2080187686651476e+01 1 0 0 0 0 -V -143 0 9.0037533931825553e-01 -4.1316775008103196e-01 -2.4225397489886213e+00 2.6310406502189263e+00 0 2 0 -P 461 -313 3.3260378225084786e+00 -1.5544554022213999e+00 -7.2364383456584944e+00 8.1606541269951336e+00 2 0 0 -209 0 -P 462 111 2.9176140131540547e+00 -1.3106559225548522e+00 -9.5626609746215951e+00 1.0084294471753186e+01 2 0 0 -210 0 -V -144 0 1.1084488636694684e-04 -5.9020010882937835e-05 -2.8722172598448888e-04 3.1493497848296892e-04 0 2 0 -P 463 22 3.1314551809140151e-01 -2.2424078531812608e-01 -9.5181719689775401e-01 1.0267911285218234e+00 1 0 0 0 0 -P 464 22 1.8073067545782046e-01 -3.8726495117382520e-02 -3.2791682948089795e-01 3.7642099507376175e-01 1 0 0 0 0 -V -145 0 2.1762554097457766e-05 -5.2596854880985613e-06 -3.6973893122269703e-05 4.3376025620967871e-05 0 2 0 -P 465 22 6.1212626343456389e-01 -1.9963698177142020e-01 -1.1024657025825368e+00 1.2767083113413062e+00 1 0 0 0 0 -P 466 22 1.9830912724377689e-01 3.7668075123103504e-03 -2.7443846883299938e-01 3.3861064951124098e-01 1 0 0 0 0 -V -146 0 0 0 0 0 0 3 0 -P 467 -211 1.7393789155705139e-01 -1.3065291375810584e-01 -4.3049883216363505e-01 5.0212907044608479e-01 1 0 0 0 0 -P 468 211 5.4061889742620196e-02 -2.0391370194446679e-01 -3.1469861234019963e-01 4.0375547955673285e-01 1 0 0 0 0 -P 469 111 1.6109978154052820e-01 -2.0414556888027760e-01 -1.2587726950965411e-01 3.1889377586441564e-01 2 0 0 -211 0 -V -147 0 1.0714041926560731e-04 -3.5952055726626964e-05 -3.6896034107096622e-04 3.8633479589775667e-04 0 2 0 -P 470 22 2.5050241289919523e-02 -3.1553935481967076e-02 -2.0563051401164908e-01 2.0954014824319075e-01 1 0 0 0 0 -P 471 22 7.4662084294927367e-01 -2.2738813337831260e-01 -2.4517795314882425e+00 2.5730081456055021e+00 1 0 0 0 0 -V -148 0 -8.2236368158045554e+00 -2.2931374491773147e+00 1.2920849342338417e+02 1.3492529573552881e+02 0 2 0 -P 472 211 1.1959041323412727e-02 1.8026949323956257e-01 6.7905858545809583e-01 7.1640802357774702e-01 1 0 0 0 0 -P 473 -211 -1.1991827116210638e-01 -2.1037361365155197e-01 1.0171799220351061e+00 1.0548801959325360e+00 1 0 0 0 0 -V -149 0 -9.2045643512728860e-06 3.8569981482441684e-06 4.7596694869231805e-05 4.8915671097022722e-05 0 2 0 -P 474 22 -1.6000027299236894e-01 3.3406489255377600e-03 8.2592413992356950e-01 8.4128588018661254e-01 1 0 0 0 0 -P 475 22 -7.6077823418413418e-02 9.5583400703326729e-02 3.9483294225373233e-01 4.1330022259228810e-01 1 0 0 0 0 -V -150 0 -5.1376001790767983e-04 -8.7323614726347900e-05 1.0339591518642124e-02 1.0352903915864018e-02 0 2 0 -P 476 22 -9.8141079344267446e-01 -1.3524648836133710e-01 2.0155938367930911e+01 2.0180270321527644e+01 1 0 0 0 0 -P 477 22 -1.3018310489578394e-01 -5.3690746781996687e-02 2.2152591616907351e+00 2.2197304995303044e+00 1 0 0 0 0 -V -151 0 1.8812133423387019e-05 4.4631564068415145e-05 6.8657693823981141e-04 6.8868785865107516e-04 0 2 0 -P 478 22 1.1022166047224506e-01 2.1611844596084642e-01 2.5503585056497373e+00 2.5618712895970677e+00 1 0 0 0 0 -P 479 22 -2.6491571954957035e-03 3.9096045874903049e-02 1.3756608498543419e+00 1.3762188389420000e+00 1 0 0 0 0 -V -152 0 -6.1390506341479101e-05 -3.8165294835329746e-05 7.2673967916918672e-04 7.3078276184993679e-04 0 2 0 -P 480 22 -2.3353319762731059e-01 -1.5443990800084420e-01 3.2775654162838568e+00 3.2895021656167542e+00 1 0 0 0 0 -P 481 22 -8.7200867675081895e-02 -4.4954280050167550e-02 5.1927851948606241e-01 5.2846481379345667e-01 1 0 0 0 0 -V -153 0 -2.1949467253790887e-06 -2.9968781866244220e-06 3.5756066464182236e-04 3.5758882682307923e-04 0 2 0 -P 482 22 -9.6872819742027924e-02 -1.7212501507269221e-01 1.3349169664484013e+01 1.3350630775180569e+01 1 0 0 0 0 -P 483 22 -2.0782378455591517e-02 1.1484078805539037e-02 5.8170681214651880e+00 5.8171165813559886e+00 1 0 0 0 0 -V -154 0 -8.9986340215037180e-04 6.7085770245716900e-04 1.8873921422629708e-01 1.8874257936079455e-01 0 2 0 -P 484 22 -5.9132218144870774e-01 4.5823878854928546e-01 1.3682075425726194e+02 1.3682279941674801e+02 1 0 0 0 0 -P 485 22 -5.9557876820332156e-01 4.2660844740346221e-01 1.1212230984163310e+02 1.1212470322395373e+02 1 0 0 0 0 -V -155 0 -5.1873522246844111e-06 2.7707778595899736e-05 9.6056467932884703e-03 9.6057046240736067e-03 0 2 0 -P 486 22 -5.3358764522310233e-02 1.0089755553224661e-01 2.0124549509027762e+01 2.0124873177632029e+01 1 0 0 0 0 -P 487 22 1.3993599204279632e-02 1.0936795908476790e-01 5.2769647303955324e+01 5.2769762494776600e+01 1 0 0 0 0 -V -156 0 -3.7961104939160116e-05 2.2238792132853197e-05 1.3680343821661578e-02 1.3680495100296034e-02 0 2 0 -P 488 22 -5.8340790011343790e-02 1.4637676680264345e-02 3.2736459456784488e+01 3.2736514714841775e+01 1 0 0 0 0 -P 489 22 -5.0816223291669176e-02 4.9309885767650677e-02 6.6013173261676918e+00 6.6016970692501333e+00 1 0 0 0 0 -V -157 0 6.4821581940860607e-05 4.9234301285117272e-04 1.8010279475067351e-02 1.8017257078420904e-02 0 2 0 -P 490 22 -2.5234079465957855e-02 2.3544476449702920e-01 7.9958679452732673e+00 7.9993734250967465e+00 1 0 0 0 0 -P 491 22 1.5175635805081697e-01 7.2553702530404074e-01 2.7157572142236390e+01 2.7167685926999180e+01 1 0 0 0 0 -V -158 0 1.4804463480565830e-04 1.0651174971634308e-04 1.8034463186217421e-03 1.8139343160849324e-03 0 2 0 -P 492 22 2.4200308501046050e-01 1.0332693936441227e-01 2.2320018200418206e+00 2.2474594710968643e+00 1 0 0 0 0 -P 493 22 5.0192199347641360e-02 1.0689500509646421e-01 1.3274551679537445e+00 1.3326976483497788e+00 1 0 0 0 0 -V -159 0 2.4952594602505824e-05 3.7777957462761067e-05 5.9919627289598465e-04 6.0271404297856631e-04 0 2 0 -P 494 22 2.1275464521165535e-02 6.8760375565027509e-02 1.4863415101773401e+00 1.4880832367561605e+00 1 0 0 0 0 -P 495 22 5.0890506431500629e-02 4.0498121370393020e-02 2.4660776878922408e-01 2.5503986572021459e-01 1 0 0 0 0 -V -160 0 2.0236519733306777e-05 3.7771007405603190e-06 1.1559121658481918e-03 1.1570792571236135e-03 0 2 0 -P 496 22 -1.2833830815182560e-02 -2.3124364578967924e-02 1.4876882759176302e-01 1.5110131539335275e-01 1 0 0 0 0 -P 497 22 7.0093495982825063e-02 3.3811751864884283e-02 3.1219093548200161e+00 3.1228791767303448e+00 1 0 0 0 0 -V -161 0 9.9092870836126360e-05 2.7848331350535774e-04 4.6738600755917839e-03 4.6833068224631591e-03 0 2 0 -P 498 22 2.6456748621759857e-01 6.3513480445463311e-01 1.1741987252901410e+01 1.1762128073690251e+01 1 0 0 0 0 -P 499 22 1.5373857476364564e-01 5.4044177273503313e-01 7.9880294607280593e+00 8.0077667001821897e+00 1 0 0 0 0 -V -162 0 0 0 0 0 0 3 0 -P 500 111 3.7256730615539213e-01 4.0392989421236170e-01 4.8383474581306611e+00 4.8713233810796961e+00 2 0 0 -212 0 -P 501 111 4.3040406011067917e-01 7.1737842978781352e-01 9.9218515099128535e+00 9.9579735112945826e+00 2 0 0 -213 0 -P 502 111 1.5302824405896340e-01 1.5887887524497102e-01 2.8455533486003191e+00 2.8572808053478687e+00 2 0 0 -214 0 -V -163 0 2.5839849297056158e-04 -2.4440063293579029e-04 2.5294186504828259e-03 2.5543856476549264e-03 0 2 0 -P 503 22 1.0377695069292572e+00 -1.0215680356798684e+00 1.0766543901355142e+01 1.0864577045648971e+01 1 0 0 0 0 -P 504 22 6.5234961046689088e-01 -5.7699462341256325e-01 5.7777430561017944e+00 5.8430127187997627e+00 1 0 0 0 0 -V -164 0 2.9081685912101332e+01 -1.3235793939462669e+01 2.7971035052250431e+02 2.8244513460775647e+02 0 2 0 -P 505 -211 1.6762062809584813e-01 3.9634778053940575e-04 7.8798055709064896e-01 8.1761236249686153e-01 1 0 0 0 0 -P 506 211 4.6924787248882088e-01 -2.9025094100292242e-01 5.3374797093361082e+00 5.3677377550568766e+00 1 0 0 0 0 -V -165 0 -3.0050263375036868e+00 -5.0546364354167757e+01 1.8214857668293783e+02 1.9090770581995881e+02 0 2 0 -P 507 211 -9.7967500090645355e-03 -8.7693414903352140e-01 3.0997225316964849e+00 3.2244176274885290e+00 1 0 0 0 0 -P 508 -211 -4.6580152179340854e-02 -7.1359516020228234e-02 3.1754285571499852e-01 3.5717662468214256e-01 1 0 0 0 0 -V -166 0 5.6480984727818789e-06 -7.5695882859026960e-05 2.4158929915350398e-04 2.5535755044692415e-04 0 2 0 -P 509 22 -1.5831173828552911e-02 -2.9378876913681856e-01 9.0618464764577900e-01 9.5275027292812764e-01 1 0 0 0 0 -P 510 22 3.9026217408659976e-02 -1.7071480593394573e-02 8.5950023758604277e-02 9.5926470168474803e-02 1 0 0 0 0 -V -167 0 -1.3980777099787572e-04 -1.7277007798433808e-04 1.4734431911646548e-04 2.6792598878135266e-04 0 2 0 -P 511 22 -1.2336930388478158e-01 -1.2478121246765621e-01 1.7383616081680370e-01 2.4700070229341370e-01 1 0 0 0 0 -P 512 22 -6.0123017804104317e-01 -7.7065620210665875e-01 5.8982394573139763e-01 1.1416133302440359e+00 1 0 0 0 0 -V -168 0 -2.8186737865916890e-04 -3.8046149041595802e-04 1.2333062138451006e-04 4.9228004617499265e-04 0 2 0 -P 513 22 -4.8768644239564540e-01 -5.8187949922834425e-01 1.4921470252584854e-01 7.7374856715125973e-01 1 0 0 0 0 -P 514 22 -2.1530788834862755e-01 -3.6701452356081865e-01 1.5837934419538133e-01 4.5402771276374626e-01 1 0 0 0 0 -V -169 0 -3.4658007413822462e-04 -5.2006713158035483e-04 -6.2006088942802176e-04 8.8139953703405920e-04 0 2 0 -P 515 22 -1.0775610701610787e+00 -1.6290514307907258e+00 -1.9570560690361336e+00 2.7649620036157683e+00 1 0 0 0 0 -P 516 22 -2.4453684219177260e-02 -2.4597163101588097e-02 -1.4540972319744369e-02 3.7609081091414698e-02 1 0 0 0 0 -V -170 0 -3.2936317532428194e-06 1.0990395558401315e-06 -2.4129875422404844e-06 4.5736236017871529e-06 0 2 0 -P 517 22 -1.1277518702680793e-01 -2.8406275204800626e-02 -9.5641457125978296e-02 1.5057372812387532e-01 1 0 0 0 0 -P 518 22 -1.4222141692334364e-01 1.1349513010492379e-01 -9.1174700460411068e-02 2.0352125685849817e-01 1 0 0 0 0 -V -171 0 -2.7271832796903617e+00 6.8567867727248952e+00 -1.2603422001234511e+01 1.5348030492065396e+01 0 2 0 -P 519 -211 -3.7348317016183979e-01 4.9790328223054242e-01 -1.0151019995738311e+00 1.1988783137953889e+00 1 0 0 0 0 -P 520 211 8.5831780283816786e-02 2.2532066093454553e-01 -3.1425194699553238e-01 4.1996495787285959e-01 1 0 0 0 0 -V -172 0 3.1974236939944823e-04 3.3569120093488014e-05 -5.9655894167858436e-04 6.8391161951871296e-04 0 2 0 -P 521 22 1.9897288125315632e-02 1.6243576481117575e-02 -1.3069032052262358e-01 1.3319052417475438e-01 1 0 0 0 0 -P 522 22 4.4848871157211562e-01 3.2931344889120584e-02 -7.4320029585512404e-01 8.6866177401965050e-01 1 0 0 0 0 -V -173 0 1.9560921305414770e-05 4.4755997995360398e-05 -3.5733999312562766e-03 3.5738070538753140e-03 0 2 0 -P 523 22 5.1120391576480297e-03 1.7106579289460694e-01 -1.2815304960687456e+01 1.2816447669844537e+01 1 0 0 0 0 -P 524 22 1.1022477824540093e-01 9.2828442345385592e-02 -8.2544886826868353e+00 8.2557464855730984e+00 1 0 0 0 0 -V -174 0 5.5231096619475536e-05 5.6770554839812856e-07 -2.1296451261918815e-03 2.1308725963420996e-03 0 2 0 -P 525 22 9.7472420846883984e-02 6.0287687292296423e-02 -2.6041322266357367e+00 2.6066530516867035e+00 1 0 0 0 0 -P 526 22 6.2239828849669235e-02 -5.8646048146063924e-02 -3.5541813861247409e+00 3.5552100473437531e+00 1 0 0 0 0 -V -175 0 5.3769907760083674e-05 -1.7797180683467078e-05 -4.7051261694481660e-04 4.7445074797331378e-04 0 2 0 -P 527 22 5.3037730429285952e-02 1.8802208065621582e-02 -7.8476669872783666e-01 7.8678160585350465e-01 1 0 0 0 0 -P 528 22 2.6726521743199222e-01 -1.2481855947855978e-01 -2.0180385224711261e+00 2.0394827401615143e+00 1 0 0 0 0 -V -176 0 2.9254383701421145e-05 8.8292904820199445e-06 -3.6860838857756469e-04 3.7012148884077044e-04 0 2 0 -P 529 22 2.6766648875802562e-01 3.2296618557240302e-02 -2.7936079938788474e+00 2.8065876156354146e+00 1 0 0 0 0 -P 530 22 2.3442063103992584e-02 5.5563101627706384e-02 -8.7439114423986819e-01 8.7646828904996255e-01 1 0 0 0 0 -V -177 0 1.1791599049523860e-05 1.5009523055407391e-06 -2.9482632283654421e-04 2.9765838229104172e-04 0 2 0 -P 531 22 -1.5428123271640134e-02 -5.0390978815312924e-02 -2.3845419747560437e-01 2.4420827591911123e-01 1 0 0 0 0 -P 532 22 5.6030702577819128e-02 5.5559279973158932e-02 -7.7673543916687360e-01 7.8073312705447295e-01 1 0 0 0 0 -V -178 0 3.2723311563305957e-04 1.0507501276705404e-03 -1.2218877606198402e-02 1.2268568468549786e-02 0 2 0 -P 533 22 9.4401096396448003e-02 2.3410779978091101e-01 -3.2781170771961121e+00 3.2878214064519824e+00 1 0 0 0 0 -P 534 22 4.9348863218620098e-01 1.6536143709088655e+00 -1.8673672935241342e+01 1.8753240584233389e+01 1 0 0 0 0 -V -179 0 1.7342743189630799e-05 8.3072667488889255e-04 -1.7361270833368348e-02 1.7381836821258590e-02 0 2 0 -P 535 22 -3.8453506099116352e-02 1.6907034517103431e-01 -2.8447753591404483e+00 2.8500544376766270e+00 1 0 0 0 0 -P 536 22 5.3526856649327458e-02 5.5295120846059187e-01 -1.2244678391462424e+01 1.2257274129008765e+01 1 0 0 0 0 -V -180 0 1.0839912633860633e-05 1.0352917101532169e-05 -2.0615493526385194e-04 2.0836977521051438e-04 0 2 0 -P 537 22 -2.8004400899389711e-02 6.2646397586995417e-02 -5.7297679271081736e-01 5.7707124567555479e-01 1 0 0 0 0 -P 538 22 8.3568879894528450e-02 -9.5782166655390463e-03 -4.8375603873570577e-01 4.9101466875703387e-01 1 0 0 0 0 -V -181 0 0 0 0 0 0 1 0 -P 539 310 4.9782761336762366e-01 5.0953796112831118e-01 -7.5199540324803458e+00 7.5699963900902567e+00 2 0 0 -215 0 -V -182 0 8.7757799449387813e-05 1.3142049408522492e-05 -1.0075220374350941e-03 1.0115039674349258e-03 0 2 0 -P 540 22 2.7618616299673959e-01 8.4600539789103923e-03 -3.7511108822759187e+00 3.7612741485131078e+00 1 0 0 0 0 -P 541 22 6.4466287487593510e-01 1.2944043611362591e-01 -6.8208918870357209e+00 6.8525113048702293e+00 1 0 0 0 0 -V -183 0 -2.6136531610599666e-05 -7.8566005859732383e-05 -8.0291769723185909e-03 8.0296346065171897e-03 0 2 0 -P 542 22 -7.4716552899476629e-03 4.9182992465864129e-03 -2.7131229900018922e-01 2.7145971872272112e-01 1 0 0 0 0 -P 543 22 -1.5136490069141190e-01 -4.8237850605192573e-01 -4.8523487127665760e+01 4.8526120835947800e+01 1 0 0 0 0 -V -184 0 3.0415448928081571e-05 -1.1974711988028776e-04 -6.5567445846735376e-03 6.5581791201926257e-03 0 2 0 -P 544 22 1.3556393099985419e-02 -6.1583833433596850e-02 -1.3131200271624943e+00 1.3146332378536185e+00 1 0 0 0 0 -P 545 22 5.5354700392647317e-02 -2.0972253436179353e-01 -1.3542239831247805e+01 1.3543976791596672e+01 1 0 0 0 0 -V -185 0 -3.1088009732033299e-05 -4.8775051918327588e-05 -3.9681488720718049e-03 3.9686020068036556e-03 0 2 0 -P 546 22 -2.3880690879437318e-02 -6.3743256993639932e-02 -2.3974399240098516e+00 2.3984060705905081e+00 1 0 0 0 0 -P 547 22 -2.4101259830608548e-01 -3.5185697101090135e-01 -3.1414181204563874e+01 3.1417076107648302e+01 1 0 0 0 0 -V -186 0 4.9936185293428575e-06 -7.8074106944437902e-06 -4.8662299743094315e-04 4.8679322156790417e-04 0 3 0 -P 548 22 -7.6945087736918416e-03 -3.4952019188524259e-03 -3.4251266665547355e+00 3.4251370927082716e+00 1 0 0 0 0 -P 549 11 3.7993073439308529e-02 -5.4461719288112491e-02 -1.9843239859383353e+00 1.9854348374518325e+00 1 0 0 0 0 -P 550 -11 4.5152289921856444e-02 -6.0008799552382155e-02 -1.9431576419402867e+00 1.9446083582150522e+00 1 0 0 0 0 -V -187 0 -3.3864176965536530e-06 -5.2595766008398732e-06 -1.0993693802770681e-03 1.0994124317216158e-03 0 2 0 -P 551 22 3.7271706047568784e-02 2.3949720321528242e-03 -4.4966347495633086e+00 4.4967898535447492e+00 1 0 0 0 0 -P 552 22 -9.8612167830641417e-02 -9.7665221123780122e-02 -1.5416982381895389e+01 1.5417607097689778e+01 1 0 0 0 0 -V -188 0 -4.6383230818921369e-06 5.6203138543926335e-06 2.4584505964231955e-05 2.6813092486387573e-05 0 2 0 -P 553 22 -6.5476919329221801e-03 1.0368115961250647e-01 1.8400605847919932e-01 2.1130755946083196e-01 1 0 0 0 0 -P 554 22 -7.3324877363122987e-02 -6.8985724846230816e-03 2.3934255729599138e-01 2.5041762652742228e-01 1 0 0 0 0 -V -189 0 -4.9726058411939644e-05 1.4815060441523449e-05 2.8970980996520599e-04 2.9505398883757013e-04 0 2 0 -P 555 22 -1.2227550286838383e-01 -2.9022998042734331e-02 7.1445373986730298e-01 7.2542248340362359e-01 1 0 0 0 0 -P 556 22 -2.0031525666097008e-01 1.2513360388871886e-01 1.1649976106813382e+00 1.1886984704989552e+00 1 0 0 0 0 -V -190 0 4.1144825782597785e-06 -1.3891011630816487e-06 1.1513855193327027e-04 1.1525421260035257e-04 0 2 0 -P 557 22 9.3887241474577124e-02 3.4826553659132765e-02 1.8468116251162237e+00 1.8495245014911006e+00 1 0 0 0 0 -P 558 22 1.0511091056963101e-01 -1.0201083727144152e-01 3.7218980796791872e+00 3.7247791652608369e+00 1 0 0 0 0 -V -191 0 0 0 0 0 0 2 0 -P 559 211 2.7960965099084567e-01 -4.5946947899938018e-01 9.9891123687115861e+00 1.0004555935108064e+01 1 0 0 0 0 -P 560 -211 -1.9661017956950227e-01 1.7695947757585628e-01 6.1182368816204669e+00 6.1255426326110252e+00 1 0 0 0 0 -V -192 0 -3.8117306469070869e+00 2.4304278506338637e+00 -3.6687500677897781e+01 3.6965955593079201e+01 0 2 0 -P 561 311 -1.8715297405296983e+01 1.1577069668267237e+01 -1.8242722485100242e+02 1.8375045834320991e+02 2 0 0 -216 0 -P 562 211 -2.8661817689837927e+00 1.9267205095557918e+00 -2.7067714435363381e+01 2.7287504363610779e+01 1 0 0 0 0 -V -193 0 0 0 0 0 0 1 0 -P 563 310 -4.4690407303060170e-01 3.0479452171944948e-01 -6.3255618455358773e+00 6.3681261797769668e+00 2 0 0 -217 0 -V -194 0 -3.1527778681318056e-04 1.6421247362094913e-04 -3.2827057816517463e-03 3.3020747002308936e-03 0 2 0 -P 564 22 -2.9431917300519211e-01 1.7742963419472862e-01 -3.6976505269072799e+00 3.7135864699541625e+00 1 0 0 0 0 -P 565 22 -9.4756500827945667e-01 4.6940589272528510e-01 -9.2329793891821001e+00 9.2933379223023156e+00 1 0 0 0 0 -V -195 0 0 0 0 0 0 1 0 -P 566 310 -9.3258822715903111e-01 9.6253600257025262e-01 -1.1172693777377827e+01 1.1263789683300944e+01 2 0 0 -218 0 -V -196 0 -6.5693861061007710e-06 3.8405137903525116e-06 -3.9455407529225346e-05 4.0895424224071609e-05 0 2 0 -P 567 22 1.7454219099767260e-02 4.4134073479361206e-02 -2.8161765485158968e-01 2.8558881233405026e-01 1 0 0 0 0 -P 568 22 -1.3408943408499285e-01 2.4051772862582772e-02 -4.1888766865607635e-01 4.4048307920190266e-01 1 0 0 0 0 -V -197 0 -4.4674668139318611e-05 -7.7777020687567041e-05 3.1331705484877706e-05 9.7992828544315845e-05 0 2 0 -P 569 22 -1.1564015998464669e-01 -2.1072831940990802e-01 1.3246041090625361e-02 2.4073746863995532e-01 1 0 0 0 0 -P 570 22 -1.3565519498958165e-01 -2.2676802553368905e-01 1.6299504540646192e-01 3.1047295237937217e-01 1 0 0 0 0 -V -198 0 -4.1994933803133881e-06 2.7133704299912539e-05 4.1024696949819633e-05 4.9883066825652891e-05 0 2 0 -P 571 22 -9.1327603613570452e-02 4.7743485030051019e-01 7.5852594270345663e-01 9.0091418748815133e-01 1 0 0 0 0 -P 572 22 1.2278616621454207e-02 3.3315291206237996e-02 1.3700714622479238e-02 3.8057622567098298e-02 1 0 0 0 0 -V -199 0 2.9180616181076244e-05 4.1500529828774420e-05 -5.5798650462421432e-06 5.4497450772478213e-05 0 2 0 -P 573 22 2.0272262046875161e-01 2.6691626730043372e-01 -7.2202577647962327e-02 3.4286143967836935e-01 1 0 0 0 0 -P 574 22 3.4337132127359193e-03 2.6278263694003868e-02 3.2781733576932932e-02 4.2154235676950993e-02 1 0 0 0 0 -V -200 0 -2.1589576501028010e-05 1.0363255653369697e-05 8.8651781906517996e-06 2.7912456157651145e-05 0 2 0 -P 575 22 -3.8865980834170609e-02 8.3634946299046928e-02 4.5307746193725261e-02 1.0275291029358541e-01 1 0 0 0 0 -P 576 22 -2.1971692730504189e-01 4.0487950901408658e-02 6.0872361489346244e-02 2.3156046015210280e-01 1 0 0 0 0 -V -201 0 -5.5928360981912877e-05 5.2110866302600545e-05 8.0897793623986721e-04 8.1290521662359661e-04 0 2 0 -P 577 22 -2.6406015212804240e-01 1.5887290229264120e-01 3.1439228369676688e+00 3.1589902133168448e+00 1 0 0 0 0 -P 578 22 -6.5080422478704020e-02 1.4780156799337593e-01 1.6169437091533618e+00 1.6249885302555025e+00 1 0 0 0 0 -V -202 0 2.5577613621733289e-05 -2.8987004054158923e-06 8.1130391415557820e-06 2.8246978345620541e-05 0 2 0 -P 579 22 4.1523619773097542e-01 -2.5212523152159896e-02 1.2013330443018896e-01 4.3299974834068033e-01 1 0 0 0 0 -P 580 22 -9.6754780728841897e-04 -2.1736372129631837e-02 1.1269797581427982e-02 2.4503354048855987e-02 1 0 0 0 0 -V -203 0 -9.7897731963963699e-05 5.6826197138257549e-05 6.6282573799741188e-05 1.3240190736311445e-04 0 2 0 -P 581 22 -3.4078459999881455e-01 2.7082520501007290e-01 2.2460587057992729e-01 4.8982469554328012e-01 1 0 0 0 0 -P 582 22 -3.9367645685764430e-01 1.5550365848863854e-01 2.7266784789645226e-01 5.0349805934464398e-01 1 0 0 0 0 -V -204 0 1.0051858600423073e-05 -5.4491398591193902e-05 -6.0753769080588552e-06 5.9770613427078703e-05 0 2 0 -P 583 22 5.5789906689558660e-02 -8.2513813655285095e-02 3.4609669383240317e-02 1.0544606368748895e-01 1 0 0 0 0 -P 584 22 7.1123513784841722e-03 -2.5848103644413822e-01 -7.2628004232803536e-02 2.6858491905207016e-01 1 0 0 0 0 -V -205 0 -3.7511928053308099e-05 -4.4579420963488085e-06 3.2103614254240428e-06 5.2862428077211607e-05 0 2 0 -P 585 22 -9.4580225870565235e-02 4.1353138776709604e-02 4.7263360195968919e-02 1.1353116941803613e-01 1 0 0 0 0 -P 586 22 -4.2865418981593975e-02 -5.7687269223843832e-02 -3.5500429863546519e-02 8.0159501591941129e-02 1 0 0 0 0 -V -206 0 1.5843923112336528e-01 -6.6444617855219837e-02 -8.9283819735022774e-01 9.2728610338778894e-01 0 2 0 -P 587 321 3.8552872954303585e-01 -2.7291260034918019e-01 -2.9224624236940806e+00 3.0012566145926773e+00 1 0 0 0 0 -P 588 223 4.8704055034862392e-01 -3.5751374929749274e-01 -4.5334150716676227e+00 4.6420521179146625e+00 2 0 0 -219 0 -V -207 0 6.3429893183150927e+00 1.1151044358051168e+01 -3.8271263192902083e+01 4.1193704752906903e+01 0 2 0 -P 589 -211 1.4786817700154750e-01 5.9321872089188232e-01 -1.7433086461786294e+00 1.8526678788513411e+00 1 0 0 0 0 -P 590 211 2.3592192506966145e-01 8.1488461732517337e-02 -5.7233958686926234e-01 6.3980615167547805e-01 1 0 0 0 0 -V -208 0 6.8329392612838751e+00 2.3186263413004074e+01 -1.4290446044786810e+02 1.4509898940858528e+02 0 2 0 -P 591 211 2.4410696810169960e-01 1.3645749729262360e+00 -7.8972249366110239e+00 8.0191829105553794e+00 1 0 0 0 0 -P 592 -211 2.4805451902234124e-01 3.0548024721188094e-01 -2.3958669644380710e+00 2.4319760529309771e+00 1 0 0 0 0 -V -209 0 9.0037533931825553e-01 -4.1316775008103196e-01 -2.4225397489886213e+00 2.6310406502189263e+00 0 2 0 -P 593 -321 2.2771576165304452e+00 -1.0470309598375531e+00 -5.5075471687666786e+00 6.0711150061229135e+00 1 0 0 0 0 -P 594 211 1.0488802059780338e+00 -5.0742444238384699e-01 -1.7288911768918163e+00 2.0895391208722200e+00 1 0 0 0 0 -V -210 0 9.0046542976216415e-01 -4.1320822067561436e-01 -2.4228350260089080e+00 2.6313520343024166e+00 0 2 0 -P 595 22 2.6060905464746402e+00 -1.1260542878061872e+00 -8.4399332612949678e+00 8.9046156374446763e+00 1 0 0 0 0 -P 596 22 3.1152346667941438e-01 -1.8460163474866495e-01 -1.1227277133266274e+00 1.1796788343085065e+00 1 0 0 0 0 -V -211 0 1.1569229356777967e-05 -1.4660522105994798e-05 -9.0397577689810670e-06 2.2901056712458870e-05 0 2 0 -P 597 22 1.5315840728112597e-02 -6.0222579655507182e-02 -9.2350984073855877e-02 1.1131054908220694e-01 1 0 0 0 0 -P 598 22 1.4578394081241561e-01 -1.4392298922477043e-01 -3.3526285435798248e-02 2.0758322678220872e-01 1 0 0 0 0 -V -212 0 4.5366605022425090e-05 4.9185550274341878e-05 5.8915367630974652e-04 5.9316907338555658e-04 0 2 0 -P 599 22 6.2412753514439541e-02 9.0724804124025227e-02 5.9158564124042290e-01 6.0174738288291663e-01 1 0 0 0 0 -P 600 22 3.1015455264095260e-01 3.1320509008833647e-01 4.2467618168902384e+00 4.2695759981967800e+00 1 0 0 0 0 -V -213 0 1.0618662664215143e-05 1.7698716751283111e-05 2.4478578143780885e-04 2.4567696110588694e-04 0 2 0 -P 601 22 2.7037667242088931e-01 3.4218773845439160e-01 4.6801937946366561e+00 4.7004691200659314e+00 1 0 0 0 0 -P 602 22 1.6002738768978980e-01 3.7519069133342203e-01 5.2416577152761965e+00 5.2575043912286512e+00 1 0 0 0 0 -V -214 0 3.4213984360743327e-05 3.5522065787995497e-05 6.3620750774059183e-04 6.3882952712151966e-04 0 2 0 -P 603 22 1.6633397364096600e-01 9.3159794517856359e-02 2.2056974914033418e+00 2.2139212184910280e+00 1 0 0 0 0 -P 604 22 -1.3305729582002584e-02 6.5719080727114673e-02 6.3985585719697713e-01 6.4335958685684069e-01 1 0 0 0 0 -V -215 0 2.3355944705345006e+01 2.3905344191100344e+01 -3.5280411502535122e+02 3.5515188864392519e+02 0 2 0 -P 605 -211 -2.6117036784758577e-02 1.4271093127076998e-01 -1.2708986814665231e+00 1.2867446339378819e+00 1 0 0 0 0 -P 606 211 5.2394465015238212e-01 3.6682702985754118e-01 -6.2490553510138218e+00 6.2832517561523735e+00 1 0 0 0 0 -V -216 0 -3.8117306469070869e+00 2.4304278506338637e+00 -3.6687500677897781e+01 3.6965955593079201e+01 0 1 0 -P 607 130 -1.8715297405296983e+01 1.1577069668267237e+01 -1.8242722485100242e+02 1.8375045834320991e+02 1 0 0 0 0 -V -217 0 -8.5683490912819821e+01 5.8437280409922408e+01 -1.2127797744938878e+03 1.2209404983857619e+03 0 2 0 -P 608 111 -3.5967176370115622e-01 3.2878999327079506e-01 -3.3312469013489321e+00 3.3694053118355725e+00 2 0 0 -220 0 -P 609 111 -8.7232309329445451e-02 -2.3995471551345536e-02 -2.9943149441869452e+00 2.9987208679413939e+00 2 0 0 -221 0 -V -218 0 -1.6982282479171256e+00 1.7527626680229260e+00 -2.0345296697419474e+01 2.0511180885320400e+01 0 2 0 -P 610 111 -1.6065970337379756e-01 2.2472617477739559e-01 -1.4854185479765942e+00 1.5169051575464865e+00 2 0 0 -222 0 -P 611 111 -7.7192852378523358e-01 7.3780982779285698e-01 -9.6872752294012336e+00 9.7468845257544565e+00 2 0 0 -223 0 -V -219 0 1.5843923112336528e-01 -6.6444617855219837e-02 -8.9283819735022774e-01 9.2728610338778894e-01 0 3 0 -P 612 -211 3.2073970588280426e-01 -2.2344149637641733e-01 -1.7720504229152780e+00 1.8200116888325020e+00 1 0 0 0 0 -P 613 211 1.0327478319521827e-01 -2.9696360012404494e-01 -1.9981974224513948e+00 2.0275911285646449e+00 1 0 0 0 0 -P 614 111 6.3026061270601327e-02 1.6289134720296952e-01 -7.6316722630094946e-01 7.9444930051751483e-01 2 0 0 -224 0 -V -220 0 -8.5683537123124310e+01 5.8437322652564823e+01 -1.2127802024894916e+03 1.2209409312839239e+03 0 2 0 -P 615 22 -3.2562028377162922e-01 2.7551611057831837e-01 -3.1161850712685530e+00 3.1452419771440030e+00 1 0 0 0 0 -P 616 22 -3.4051479929526993e-02 5.3273882692476640e-02 -2.1506183008037907e-01 2.2416333469156946e-01 1 0 0 0 0 -V -221 0 -8.5683519961278023e+01 5.8437272419403094e+01 -1.2127807716041691e+03 1.2209414969632207e+03 0 2 0 -P 617 22 -1.0095930423421715e-01 2.7455429715276092e-02 -2.2937984531900248e+00 2.2961833388449753e+00 1 0 0 0 0 -P 618 22 1.3726994904771693e-02 -5.1450901266621621e-02 -7.0051649099692037e-01 7.0253752909641898e-01 1 0 0 0 0 -V -222 0 -1.6982374833223159e+00 1.7527755862422265e+00 -2.0345382085615018e+01 2.0511268083500596e+01 0 2 0 -P 619 22 -7.3037469158247367e-02 2.0430474030481502e-01 -1.0086454152325899e+00 1.0317172444433522e+00 1 0 0 0 0 -P 620 22 -8.7622234215550196e-02 2.0421434472580581e-02 -4.7677313274400424e-01 4.8518791310313425e-01 1 0 0 0 0 -V -223 0 -1.6983640114226690e+00 1.7528924308773342e+00 -2.0347000454184229e+01 2.0512895125914664e+01 0 2 0 -P 621 22 -6.7157134859009704e-01 5.7128422133885581e-01 -7.8635746548436938e+00 7.9128490501271402e+00 1 0 0 0 0 -P 622 22 -1.0035717519513651e-01 1.6652560645400125e-01 -1.8237005745575405e+00 1.8340354756273183e+00 1 0 0 0 0 -V -224 0 1.5844801754335897e-01 -6.6421909284177794e-02 -8.9294458997005066e-01 9.2739685702013275e-01 0 2 0 -P 623 22 -8.7214544347417808e-03 -2.0043855121139119e-02 -1.1849558188276470e-01 1.2049490786464623e-01 1 0 0 0 0 -P 624 22 7.1747515705343115e-02 1.8293520232410862e-01 -6.4467164441818470e-01 6.7395439265287005e-01 1 0 0 0 0 -E 3 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 102 0 0 -V -1 0 0 0 0 0 1 3 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 14 2101 -9.4236956683619111e-01 2.1652326170818870e-01 6.5343226954385455e+03 6.5343227926610143e+03 2 0 0 -9 0 -P 15 2 3.9267024168019415e-01 -4.4202803044505923e-01 2.0241152885643043e+01 2.0252475128694172e+01 2 0 0 -11 0 -P 3 21 5.4969932515599695e-01 2.2550476873687056e-01 5.5705531929900893e+01 5.5708700481541165e+01 3 0 0 -3 0 -V -2 0 0 0 0 0 1 2 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 29 2203 2.4852244145458005e+00 5.1082941165122786e-01 -5.5694416402834304e+03 5.5694422716067393e+03 2 0 0 -11 0 -P 4 1 -2.4852244145458005e+00 -5.1082941165122786e-01 -1.2650126797311423e+03 1.2650152240853247e+03 3 0 0 -4 0 -V -3 0 0 0 0 0 0 4 0 -P 13 2 -1.0608618276380355e+00 5.3963075851129338e-01 6.2467108078944122e-01 1.3841037287882854e+00 2 0 0 -9 0 -P 16 21 1.2784868462321570e+00 -8.7405515584658322e-01 5.0158545116382854e+01 5.0182448617257258e+01 2 0 0 -11 0 -P 5 -2 5.1478982848448318e-01 -3.7127142663721519e-01 4.3686552602229858e+00 4.4145214715099570e+00 3 0 0 -5 0 -P 17 21 -1.6686180664312625e-01 9.4299371379547992e-01 -4.2196845113635542e+00 4.3269871021549715e+00 2 0 0 -11 0 -V -4 0 0 0 0 0 0 7 0 -P 6 1 2.5722674946760922e+00 4.3788611284604106e-01 -4.6269073817910544e+02 4.6269809541539877e+02 3 0 0 -5 0 -P 23 21 -6.2117781148280848e-01 -2.8319314770868491e+00 -4.2435587401747085e+01 4.2534512761940860e+01 2 0 0 -11 0 -P 24 21 -1.0853374093767046e-01 2.4951738842432462e-02 -1.2807245422014727e+01 1.2807729598250830e+01 2 0 0 -11 0 -P 25 21 -4.7236154263853830e-02 -2.8124786400644658e-01 -7.3009915305624826e+00 7.3065593095945598e+00 2 0 0 -11 0 -P 26 21 -3.6487430314729372e+00 1.0613239469355105e+00 -1.4428971573317793e+02 1.4433974435543163e+02 2 0 0 -11 0 -P 27 21 -8.5735899903395096e-01 1.3023755707753566e+00 -8.6410163495004923e+01 8.6424230409151221e+01 2 0 0 -11 0 -P 28 21 2.0970411268715061e-01 -2.3598056104377471e-01 -5.0430489298734267e+02 5.0430499179922384e+02 2 0 0 -11 0 -V -5 0 0 0 0 0 0 2 0 -P 8 -24 2.4764319374549677e+00 -4.6617630836504320e+00 -4.5253788365526782e+02 4.5961679266155716e+02 3 0 0 -7 0 -P 7 22 6.1062538570560743e-01 4.7283777698592582e+00 -5.7841992636145454e+00 7.4958242253514973e+00 3 0 0 -6 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 6.1062538570560743e-01 4.7283777698592582e+00 -5.7841992636145454e+00 7.4958242253514982e+00 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 -24 2.4764319374549677e+00 -4.6617630836504320e+00 -4.5253788365526782e+02 4.5961679266155716e+02 2 0 0 -8 0 -V -8 0 0 0 0 0 0 2 0 -P 12 -14 -9.1890454246686382e+00 -3.9174945591477190e+01 -1.6776899637465104e+02 1.7252695749496510e+02 1 0 0 0 0 -P 11 13 1.1665477362123605e+01 3.4513182507826755e+01 -2.8476888728061687e+02 2.8708983516659214e+02 1 0 0 0 0 -V -9 0 0 0 0 0 0 1 0 -P 35 92 -2.0032313944742266e+00 7.5615402021948208e-01 6.5349473665193345e+03 6.5357068963898028e+03 2 0 0 -10 0 -V -10 0 0 0 0 0 0 9 0 -P 37 333 -1.1091211096030533e+00 1.4407005271255402e-01 2.4365019278869586e+00 2.8692745467802063e+00 2 0 0 -17 0 -P 38 -321 5.7487835922576980e-01 -1.6335008561432823e-01 3.0727085777785232e+00 3.1689662892385013e+00 1 0 0 0 0 -P 39 323 -4.9346996389094194e-01 1.1818828175705887e-01 1.1352455312350665e+01 1.1390232114301151e+01 2 0 0 -18 0 -P 40 333 4.6705005789470379e-02 -1.1036790308186785e-02 6.0989748896587884e+01 6.0998269072082245e+01 2 0 0 -19 0 -P 41 -313 6.6116839338003747e-02 2.0047724383885190e-01 1.0174249585391416e+02 1.0174747600392061e+02 2 0 0 -20 0 -P 42 -211 6.6195102743584266e-01 2.3352413161979789e-03 1.9139236560226081e+01 1.9151189010327013e+01 1 0 0 0 0 -P 43 213 -1.1330549383455299e+00 2.6772966756529654e-01 8.9903421865118207e+02 8.9903532297395714e+02 2 0 0 -21 0 -P 44 2112 -3.4375880581316148e-01 2.1765097284394738e-02 5.4362110987103097e+03 5.4362111908181760e+03 1 0 0 0 0 -P 36 321 -2.7347780861062648e-01 1.7597531166764313e-01 9.6890202910053802e-01 1.1349755610206478e+00 1 0 0 0 0 -V -11 0 0 0 0 0 5 1 0 -P 18 21 9.3397002995552358e-01 2.9110210203548919e+00 1.9719566949430803e+01 1.9955141294184987e+01 2 0 0 -11 0 -P 19 21 -2.1357165232265416e+00 4.1733949000175592e+00 -2.5122523216850832e+00 5.3188271063165358e+00 2 0 0 -11 0 -P 20 21 2.1357165232265416e+00 -4.1733949000175592e+00 -7.2379746050422105e+00 8.6236179438975249e+00 2 0 0 -11 0 -P 21 21 2.6814323415953143e+00 -1.7234320325764891e+00 -3.0705360378789067e+01 3.0870365293672400e+01 2 0 0 -11 0 -P 22 21 -2.6814323415953143e+00 1.7234320325764891e+00 -1.0476850460974710e+02 1.0481698266758141e+02 2 0 0 -11 0 -P 45 92 -1.4985589873352057e-01 2.0882523139261866e+00 -6.4263147483284502e+03 6.6115068849940917e+03 2 0 0 -12 0 -V -12 0 0 0 0 0 0 44 0 -P 46 211 1.3949741497349764e+00 -8.1413890613658435e-01 3.1237954613440834e+01 3.1279994617218282e+01 1 0 0 0 0 -P 47 113 6.8753804353602468e-02 -1.4130704072596839e-01 2.6547465088091574e+01 2.6560329224240288e+01 2 0 0 -22 0 -P 48 -211 -3.3705321336487631e-01 -1.6764450883023393e-01 9.4322808686628328e+00 9.4408215596006979e+00 1 0 0 0 0 -P 49 113 5.9981396172818402e-01 -2.6687872216516484e-01 2.2150499557325571e+00 2.4423648313647601e+00 2 0 0 -23 0 -P 50 323 -3.0748077012799063e-01 -6.1187613112430157e-02 -1.4211926385251549e-02 9.7630268316421653e-01 2 0 0 -24 0 -P 51 -313 1.4293786442054000e-02 4.6772668279335211e-01 -3.8804113875347573e-01 1.1164769507355792e+00 2 0 0 -25 0 -P 52 111 8.0828878413878216e-02 -1.3461691433235596e-02 -7.1537625213290668e-01 7.3259627847649700e-01 2 0 0 -26 0 -P 53 113 -2.3019258837112086e-01 1.4760214205834568e-01 -1.6237023486867372e+00 1.8378775046348748e+00 2 0 0 -27 0 -P 54 223 3.6047327332852880e-01 7.5799280465086738e-01 8.7170208350794642e-01 1.4416890830588578e+00 2 0 0 -28 0 -P 55 113 1.2071093866836292e-01 1.1591242726102904e-01 9.8276244825033521e-01 1.2590091097043403e+00 2 0 0 -29 0 -P 56 -213 8.6853791013771414e-02 1.0081227171470937e+00 7.4151556572422583e+00 7.5162670018422455e+00 2 0 0 -30 0 -P 57 323 1.7595879809624551e-01 4.2346453954444735e-01 1.9254698599629185e+00 2.1644899849972110e+00 2 0 0 -31 0 -P 58 -321 1.9281037659969705e-01 1.9746412913081476e-01 6.1305191305880840e+00 6.1565472217895207e+00 1 0 0 0 0 -P 59 223 -2.6288378130564161e-01 7.8988896286242360e-01 6.4711248501236418e-01 1.3136617569823170e+00 2 0 0 -32 0 -P 60 213 1.3477705105748747e-01 1.0791582261049506e+00 5.7410962076755911e-01 1.3686690060033124e+00 2 0 0 -33 0 -P 61 -211 -1.0477191658271894e+00 1.1109784504404854e+00 -1.2067512533016968e-01 1.5381907679342692e+00 1 0 0 0 0 -P 62 213 -9.0771555535794080e-02 5.8156740475700852e-01 -1.5429989954783372e+00 1.7635958777355596e+00 2 0 0 -34 0 -P 63 221 1.9394945996907104e-01 -2.7378498648517408e-01 -2.6641812525406994e-01 6.9516525503715665e-01 2 0 0 -35 0 -P 64 -213 2.3145858795471871e-01 2.7432639064021358e-01 -1.3070279086378056e+00 1.5830182128523671e+00 2 0 0 -36 0 -P 65 213 -4.5215145872547829e-01 2.8618967307221177e-01 -1.2291118677569723e+00 1.5726626222361686e+00 2 0 0 -37 0 -P 66 2114 9.5337951957865841e-01 -6.6930286811799566e-01 -3.0888059546382411e+00 3.5274937030638558e+00 2 0 0 -38 0 -P 67 211 -1.3638801371095294e-01 -6.4982930487435098e-01 -8.8570463039764313e-01 1.1157205263708860e+00 1 0 0 0 0 -P 68 -2212 8.4949812677802405e-01 -2.0925593127370514e+00 -5.2863706614781849e+00 5.8246473634168812e+00 1 0 0 0 0 -P 69 -211 1.1996322072747415e-01 2.3947821917494630e-01 -1.0577767107781229e+00 1.1000510654288269e+00 1 0 0 0 0 -P 70 323 1.4839074584839513e+00 -9.6300995788224397e-01 -1.5468440231889129e+01 1.5599973376532240e+01 2 0 0 -39 0 -P 71 -321 -2.7807528173586266e-01 3.2958209552231060e-01 -8.8436515986138815e+00 8.8679064484052397e+00 1 0 0 0 0 -P 72 213 4.8061490063831430e-01 -1.4112979134958886e-01 -1.3685006725010053e+01 1.3716801676932008e+01 2 0 0 -40 0 -P 73 111 -6.6907029234828486e-01 1.7831713785343023e-01 -1.8676644255472887e+01 1.8689962875930050e+01 2 0 0 -41 0 -P 74 -213 -3.4452308143729315e-01 -1.7121136884034183e-01 -1.7652850045181019e+01 1.7672257910595317e+01 2 0 0 -42 0 -P 75 2212 -3.9310532187388653e-01 8.2724580957524885e-02 -3.9775536449638281e+01 3.9788629350604467e+01 1 0 0 0 0 -P 76 -2212 -6.6472940215998422e-01 6.9112739079230504e-02 -2.6053725752692522e+01 2.6079179778862152e+01 1 0 0 0 0 -P 77 3224 -4.0748859480073829e-01 -1.6567442175761489e+00 -3.4492491111585458e+01 3.4561985780104671e+01 2 0 0 -43 0 -P 78 311 -2.7836629784373346e-01 5.3322922791229938e-02 -1.9006813991509159e+01 1.9015440690833291e+01 2 0 0 -44 0 -P 79 -2112 -1.8554501644645200e+00 2.6350454241754517e-01 -6.6852567158069846e+01 6.6885429335288151e+01 1 0 0 0 0 -P 80 -211 -4.2046149174458702e-01 -6.9882022956308021e-02 -4.4649768696748026e+01 4.4652021184053616e+01 1 0 0 0 0 -P 81 211 -1.2259199970940475e+00 5.3487296324306122e-01 -3.4837579454291500e+01 3.4863525222574047e+01 1 0 0 0 0 -P 82 311 -1.7383101241416014e-02 2.3283172203271379e-01 -6.0426993477096801e+01 6.0429493865934312e+01 2 0 0 -45 0 -P 83 -323 -5.6275410327378561e-01 -7.3372721057032519e-02 -1.4782442541338469e+02 1.4782894973592141e+02 2 0 0 -46 0 -P 84 211 -1.3376613799881737e-01 -9.1221013772773460e-02 -7.1076645245746004e+00 7.1108782461679887e+00 1 0 0 0 0 -P 85 113 1.7962314176801067e-02 8.3402302003156015e-01 -6.4704726517325719e+02 6.4704829538644378e+02 2 0 0 -47 0 -P 86 -211 2.6669980751781586e-01 -2.7900006105441300e-01 -5.1992006516225081e+02 5.1992022715790301e+02 1 0 0 0 0 -P 87 213 3.4004774827278034e-01 1.9424841399564963e-01 -1.0234108895905553e+03 1.0234111585835141e+03 2 0 0 -48 0 -P 88 2214 5.6694851511787103e-01 9.8756119003734349e-02 -8.8006311174153848e+02 8.8006411796473139e+02 2 0 0 -49 0 -P 89 223 1.2311994476002099e+00 3.3274939646704554e-01 -2.8709726179406398e+03 2.8709730082148681e+03 2 0 0 -50 0 -V -13 0 0 0 0 0 3 1 0 -P 30 21 -3.0018432040494889e+00 2.3510280488458859e+00 2.3572952493951814e+02 2.3576035994992682e+02 2 0 0 -13 0 -P 31 21 -9.3397002995552358e-01 -2.9110210203548919e+00 1.0151020105427864e+02 1.0155622709355579e+02 2 0 0 -13 0 -P 32 21 3.0018432040494889e+00 -2.3510280488458859e+00 2.9747792961823656e+01 2.9991158390560429e+01 2 0 0 -13 0 -P 90 92 -9.3397002995552336e-01 -2.9110210203548919e+00 3.6698751895562049e+02 3.6730774543404306e+02 2 0 0 -14 0 -V -14 0 0 0 0 0 0 11 0 -P 91 211 -8.2406320068481598e-01 -1.4474846551483079e-02 1.5925371343061592e+01 1.5947295127362915e+01 1 0 0 0 0 -P 92 -211 -1.2971269419881442e+00 8.9201364509882908e-01 8.3237290846445731e+01 8.3252293024801261e+01 1 0 0 0 0 -P 93 -311 -2.0800376351271022e-02 -2.1447848449823942e-01 2.1067216961652552e+01 2.1074196060922706e+01 2 0 0 -51 0 -P 94 313 -3.6169721163227725e-01 5.4167305000773069e-01 5.0328382832671906e+01 5.0338889823024189e+01 2 0 0 -52 0 -P 95 213 -8.9383792146133589e-01 -3.4747707496988950e-01 5.5172517965309702e+01 5.5185392155323349e+01 2 0 0 -53 0 -P 96 113 -1.2750819481863768e-01 -1.5623904654280926e-01 3.4052323819224185e+01 3.4060522483400433e+01 2 0 0 -54 0 -P 97 -211 -5.7174412643767436e-01 -9.4910638921379709e-01 3.9932536181067732e+01 3.9948149142624189e+01 1 0 0 0 0 -P 98 111 4.2301035938398712e-01 -2.4488475692500022e-01 3.0794121251526874e+00 3.1208820780762889e+00 2 0 0 -55 0 -P 99 -2112 1.1392327237977038e+00 -1.4946995580917366e+00 2.4907483094827445e+01 2.4995949349283496e+01 1 0 0 0 0 -P 100 2112 5.3941297703374469e-01 -8.0160103815638795e-01 1.3991639212989071e+01 1.4056396772840444e+01 1 0 0 0 0 -P 101 223 1.0611518832031974e+00 -1.2174652051210852e-01 2.5293344573217894e+01 2.5327779416383844e+01 2 0 0 -56 0 -V -15 0 0 0 0 0 2 1 0 -P 33 21 1.0190408349472695e+00 -2.8843457133167565e+00 -9.8491291741771736e+00 1.0313255543563667e+01 2 0 0 -15 0 -P 34 21 -1.0190408349472695e+00 2.8843457133167565e+00 -7.4489250551266313e+00 8.0526007534281785e+00 2 0 0 -15 0 -P 102 92 0 0 -1.7298054229303805e+01 1.8365856296991847e+01 2 0 0 -16 0 -V -16 0 0 0 0 0 0 7 0 -P 103 113 2.5426454423078015e-01 -1.2821686593910947e-01 -3.6908260328296461e+00 3.7716166626566090e+00 2 0 0 -57 0 -P 104 223 -7.8492867790755053e-02 4.3394394227840256e-02 -9.8224104521300815e-01 1.2585985464264791e+00 2 0 0 -58 0 -P 105 213 1.7802555916136972e-01 3.2682068270571213e-01 -2.6219971626667316e+00 2.7700960092936304e+00 2 0 0 -59 0 -P 106 111 1.9399017214205891e-01 -8.3030313783991927e-01 -1.7838453636238722e+00 1.9817566372581945e+00 2 0 0 -60 0 -P 107 -211 -2.8807161077252330e-01 5.2270945259205381e-01 -3.1028538235201237e+00 3.1628139464400387e+00 1 0 0 0 0 -P 108 223 2.5327277586763380e-01 -1.3809611761063298e-01 -2.5208029155085732e+00 2.6552334264970665e+00 2 0 0 -61 0 -P 109 113 -5.1298857283856425e-01 2.0369159186405553e-01 -2.5954878859418495e+00 2.7657410684198265e+00 2 0 0 -62 0 -V -17 0 0 0 0 0 0 2 0 -P 110 321 -5.3517797822608215e-01 -4.1546823888825380e-03 1.3908700471651065e+00 1.5699022829032940e+00 1 0 0 0 0 -P 111 -321 -5.7394313137697117e-01 1.4822473510143655e-01 1.0456318807218525e+00 1.2993722638769123e+00 1 0 0 0 0 -V -18 0 0 0 0 0 0 2 0 -P 112 311 -1.6481661079814763e-01 7.9549466215372497e-02 8.2576997208588896e+00 8.2747068069837457e+00 2 0 0 -63 0 -P 113 211 -3.2865335309279431e-01 3.8638815541686355e-02 3.0947555914917761e+00 3.1155253073174056e+00 1 0 0 0 0 -V -19 0 0 0 0 0 0 2 0 -P 114 321 -8.9052577900346819e-02 3.8384145837852435e-02 3.2135901794444422e+01 3.2139838655576021e+01 1 0 0 0 0 -P 115 -321 1.3575758368981719e-01 -4.9420936146039221e-02 2.8853847102143465e+01 2.8858430416506227e+01 1 0 0 0 0 -V -20 0 0 0 0 0 0 2 0 -P 116 -311 -2.0774100376841340e-01 2.8253422511277831e-01 4.5249454551591235e+01 4.5253550076855042e+01 2 0 0 -64 0 -P 117 111 2.7385784310641714e-01 -8.2056981273926410e-02 5.6493041302322936e+01 5.6493925927065568e+01 2 0 0 -65 0 -V -21 0 0 0 0 0 0 2 0 -P 118 211 -1.0330625473694905e+00 4.3248162283071701e-01 6.3795354712657922e+02 6.3795454542604386e+02 1 0 0 0 0 -P 119 111 -9.9992390976039472e-02 -1.6475195526542039e-01 2.6108067152460302e+02 2.6108077754791344e+02 2 0 0 -66 0 -V -22 0 0 0 0 0 0 2 0 -P 120 -211 2.5499953205520359e-01 -1.0027654595046133e-02 2.3322262674548515e+01 2.3324076431034285e+01 1 0 0 0 0 -P 121 211 -1.8624572770160111e-01 -1.3127938613092227e-01 3.2252024135430615e+00 3.2362527932060021e+00 1 0 0 0 0 -V -23 0 0 0 0 0 0 2 0 -P 122 211 7.6228828054477105e-01 -2.1517928961636448e-01 1.6414979312633347e+00 1.8279444172560420e+00 1 0 0 0 0 -P 123 -211 -1.6247431881658703e-01 -5.1699432548800363e-02 5.7355202446922249e-01 6.1442041410871839e-01 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 124 311 -4.4770508064804587e-01 -2.2677035333779219e-01 -7.6463961108518649e-02 7.1090561865793589e-01 2 0 0 -67 0 -P 125 211 1.4022431052005524e-01 1.6558274022536204e-01 6.2252034723267097e-02 2.6539706450628059e-01 1 0 0 0 0 -V -25 0 0 0 0 0 0 2 0 -P 126 -321 -2.5986605631982164e-02 2.9198614472084311e-01 9.5408561624206661e-02 5.8195787305647173e-01 1 0 0 0 0 -P 127 211 4.0280392074036164e-02 1.7574053807250894e-01 -4.8344970037768237e-01 5.3451907767910722e-01 1 0 0 0 0 -V -26 0 4.6370571701477952e-05 -7.7228131835718235e-06 -4.1040289614321631e-04 4.2028182162054536e-04 0 2 0 -P 128 22 -1.6794961432842453e-02 2.2822192504643863e-02 -3.8769689788982341e-02 4.8020954244825338e-02 1 0 0 0 0 -P 129 22 9.7623839846720670e-02 -3.6283883937879464e-02 -6.7660656234392436e-01 6.8457532423167167e-01 1 0 0 0 0 -V -27 0 0 0 0 0 0 2 0 -P 130 -211 -8.0905401518794953e-02 2.9454613008823682e-01 -1.9743357093526082e-01 3.8956758922826545e-01 1 0 0 0 0 -P 131 211 -1.4928718685232592e-01 -1.4694398802989114e-01 -1.4262687777514764e+00 1.4483099154066095e+00 1 0 0 0 0 -V -28 0 0 0 0 0 0 3 0 -P 132 211 1.9697316487609509e-01 3.5057333972336180e-01 6.7516622935079007e-01 7.9814116317971096e-01 1 0 0 0 0 -P 133 -211 -3.8819295397041619e-02 1.4724962955523235e-01 1.9980284787495695e-01 2.8738537544248732e-01 1 0 0 0 0 -P 134 111 2.0231940384947528e-01 2.6016983537227312e-01 -3.2669937178005843e-03 3.5616254443665946e-01 2 0 0 -68 0 -V -29 0 0 0 0 0 0 2 0 -P 135 -211 1.1488257758393901e-01 2.7148426262030395e-01 9.9743688408424791e-01 1.0494102315655771e+00 1 0 0 0 0 -P 136 211 5.8283610844239242e-03 -1.5557183535927488e-01 -1.4674435833912692e-02 2.0959887813876332e-01 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 137 -211 -8.4860032327779208e-03 1.2798646073174491e-01 3.8322629520223433e-01 4.2754499718268074e-01 1 0 0 0 0 -P 138 111 9.5339794246549328e-02 8.8013625641534876e-01 7.0319293620400245e+00 7.0887220046595649e+00 2 0 0 -69 0 -V -31 0 0 0 0 0 0 2 0 -P 139 311 6.6329685576106023e-02 5.2124166663591132e-01 1.7596312276628496e+00 1.9026481515225586e+00 2 0 0 -70 0 -P 140 211 1.0962911252013950e-01 -9.7777127091463953e-02 1.6583863230006918e-01 2.6184183347465939e-01 1 0 0 0 0 -V -32 0 0 0 0 0 0 3 0 -P 141 211 -1.8053057003619555e-01 4.4658535224822332e-01 1.2486955297486922e-01 5.1681907251997494e-01 1 0 0 0 0 -P 142 -211 -2.2545152457920553e-01 2.9947362949028894e-01 3.5940892111084544e-01 5.3774287737657378e-01 1 0 0 0 0 -P 143 111 1.4309831330975950e-01 4.3829981123911323e-02 1.6283401092664959e-01 2.5909980708576519e-01 2 0 0 -71 0 -V -33 0 0 0 0 0 0 2 0 -P 144 211 6.6134181730062705e-02 1.0799589201098942e+00 4.9977866601512050e-01 1.1999764576948531e+00 1 0 0 0 0 -P 145 111 6.8642869327424763e-02 -8.0069400494364870e-04 7.4330954752438616e-02 1.6869254830845534e-01 2 0 0 -72 0 -V -34 0 0 0 0 0 0 2 0 -P 146 211 -4.0874140835117249e-02 -5.3240879661743137e-02 -5.8665739429170261e-01 6.0675528002094503e-01 1 0 0 0 0 -P 147 111 -4.9897414700676830e-02 6.3480828441875170e-01 -9.5634160118663458e-01 1.1568405977146143e+00 2 0 0 -73 0 -V -35 0 0 0 0 0 0 3 0 -P 148 111 -8.0692078035366516e-02 -5.7579150443156604e-02 -3.2542865426087308e-02 1.7060248683287640e-01 2 0 0 -74 0 -P 149 111 2.0056546976702694e-01 -6.3971292668162691e-02 -9.6007889896875975e-02 2.6787300959774685e-01 2 0 0 -75 0 -P 150 111 7.4076068237410586e-02 -1.5223454337385475e-01 -1.3786736993110663e-01 2.5668975860653298e-01 2 0 0 -76 0 -V -36 0 0 0 0 0 0 2 0 -P 151 -211 4.3518580826092879e-01 4.0714118730605248e-01 -8.3812731381468930e-01 1.0378284122025792e+00 1 0 0 0 0 -P 152 111 -2.0372722030621004e-01 -1.3281479666583887e-01 -4.6890059482311636e-01 5.4518980064978795e-01 2 0 0 -77 0 -V -37 0 0 0 0 0 0 2 0 -P 153 211 -1.1547174774767054e-01 -2.6117390082266756e-01 -4.8927985529292894e-01 5.8345530479574848e-01 1 0 0 0 0 -P 154 111 -3.3667971097780769e-01 5.4736357389487933e-01 -7.3983201246404340e-01 9.8920731744041990e-01 2 0 0 -78 0 -V -38 0 0 0 0 0 0 2 0 -P 155 2212 6.0433317807337594e-01 -7.1283905966837302e-01 -2.4506791222575126e+00 2.7855945268969080e+00 1 0 0 0 0 -P 156 -211 3.4904634150528252e-01 4.3536191550377301e-02 -6.3812683238072887e-01 7.4189917616694812e-01 1 0 0 0 0 -V -39 0 0 0 0 0 0 2 0 -P 157 311 5.3882428291032602e-01 -2.9867949202148447e-01 -4.4165576592752496e+00 4.4870032352797464e+00 2 0 0 -79 0 -P 158 211 9.4508317557362542e-01 -6.6433046586075961e-01 -1.1051882572613879e+01 1.1112970141252495e+01 1 0 0 0 0 -V -40 0 0 0 0 0 0 2 0 -P 159 211 1.1797515950852807e-04 -3.5831001471481000e-01 -6.3446479853082618e+00 6.3562901068893360e+00 1 0 0 0 0 -P 160 111 4.8049692547880568e-01 2.1718022336522114e-01 -7.3403587397017889e+00 7.3605115700426689e+00 2 0 0 -80 0 -V -41 0 -1.1583593514972181e-04 3.0871991557086950e-05 -3.2334817096694663e-03 3.2357875583571205e-03 0 2 0 -P 161 22 -5.0398876263600001e-01 7.9556733552219663e-02 -1.2778281559309137e+01 1.2788464081182569e+01 1 0 0 0 0 -P 162 22 -1.6508152971228482e-01 9.8760404301210553e-02 -5.8983626961637485e+00 5.9014987947474795e+00 1 0 0 0 0 -V -42 0 0 0 0 0 0 2 0 -P 163 -211 1.3279309858393523e-01 1.2066647820448219e-01 -7.1877811768646929e+00 7.1913748641955930e+00 1 0 0 0 0 -P 164 111 -4.7731618002122833e-01 -2.9187784704482400e-01 -1.0465068868316324e+01 1.0480883046399720e+01 2 0 0 -81 0 -V -43 0 0 0 0 0 0 2 0 -P 165 3122 -4.6866358421255944e-01 -1.6184680144817571e+00 -3.0858384900186707e+01 3.0924484551557821e+01 2 0 0 -82 0 -P 166 211 6.1174989411821111e-02 -3.8276203094391698e-02 -3.6341062113987506e+00 3.6375012285468498e+00 1 0 0 0 0 -V -44 0 0 0 0 0 0 1 0 -P 167 130 -2.7836629784373346e-01 5.3322922791229938e-02 -1.9006813991509159e+01 1.9015440690833294e+01 1 0 0 0 0 -V -45 0 0 0 0 0 0 1 0 -P 168 310 -1.7383101241416014e-02 2.3283172203271379e-01 -6.0426993477096801e+01 6.0429493865934312e+01 2 0 0 -83 0 -V -46 0 0 0 0 0 0 2 0 -P 169 -311 -5.4517775501888455e-01 2.5850199343546754e-01 -8.9865234716413994e+01 8.9868638178901193e+01 2 0 0 -84 0 -P 170 -211 -1.7576348254901095e-02 -3.3187471449250006e-01 -5.7959190696970708e+01 5.7960311557020233e+01 1 0 0 0 0 -V -47 0 0 0 0 0 0 2 0 -P 171 211 9.2955499979074457e-02 -1.0866822487967489e-02 -3.2945012188350809e+01 3.2945440757232113e+01 1 0 0 0 0 -P 172 -211 -7.4993185802273390e-02 8.4488984251952770e-01 -6.1410225298490639e+02 6.1410285462921172e+02 1 0 0 0 0 -V -48 0 0 0 0 0 0 2 0 -P 173 211 8.5949161239965377e-02 3.4709531138046762e-01 -6.9899167123526638e+02 6.9899177663150601e+02 1 0 0 0 0 -P 174 111 2.5409858703281496e-01 -1.5284689738481802e-01 -3.2441921835528876e+02 3.2441938195200805e+02 2 0 0 -85 0 -V -49 0 0 0 0 0 0 2 0 -P 175 2212 3.8253495145818550e-01 1.6289928814342811e-01 -5.7652974840092349e+02 5.7653066181339580e+02 1 0 0 0 0 -P 176 111 1.8441356365968553e-01 -6.4143169139693756e-02 -3.0353336334061498e+02 3.0353345615133566e+02 2 0 0 -86 0 -V -50 0 0 0 0 0 0 3 0 -P 177 211 5.3333410812648374e-01 7.4617552270279233e-02 -1.0059322469405662e+03 1.0059324007743916e+03 1 0 0 0 0 -P 178 -211 3.9966223398528372e-01 -1.6207176715030084e-02 -1.3243593232465137e+03 1.3243593910046934e+03 1 0 0 0 0 -P 179 111 2.9820310548844248e-01 2.7433902091179635e-01 -5.4068104775355994e+02 5.4068121643578320e+02 2 0 0 -87 0 -V -51 0 0 0 0 0 0 1 0 -P 180 130 -2.0800376351271022e-02 -2.1447848449823942e-01 2.1067216961652552e+01 2.1074196060922702e+01 1 0 0 0 0 -V -52 0 0 0 0 0 0 2 0 -P 181 321 -3.8962671843311852e-01 2.0566888018468360e-01 3.0940913755190643e+01 3.0947986907618706e+01 1 0 0 0 0 -P 182 -211 2.7929506800841261e-02 3.3600416982304704e-01 1.9387469077481260e+01 1.9390902915405476e+01 1 0 0 0 0 -V -53 0 0 0 0 0 0 2 0 -P 183 211 -8.9120775201636582e-01 -1.8208840020122474e-01 3.6286732442122407e+01 3.6298399944816033e+01 1 0 0 0 0 -P 184 111 -2.6301694449702272e-03 -1.6538867476866476e-01 1.8885785523187302e+01 1.8886992210507319e+01 2 0 0 -88 0 -V -54 0 0 0 0 0 0 2 0 -P 185 -211 -1.1987217934407324e-02 -3.3403146114971544e-01 2.8599290261216566e+01 2.8601583941115017e+01 1 0 0 0 0 -P 186 211 -1.1552097688423035e-01 1.7779241460690620e-01 5.4530335580076184e+00 5.4589385422854200e+00 1 0 0 0 0 -V -55 0 4.2254465579185501e-05 -2.4461515664588543e-05 3.0760219167180113e-04 3.1174462142442600e-04 0 2 0 -P 187 22 2.8751370315703634e-01 -9.5574760408875581e-02 1.6953251489157042e+00 1.7221864082834764e+00 1 0 0 0 0 -P 188 22 1.3549665622695076e-01 -1.4930999651612464e-01 1.3840869762369830e+00 1.3986956697928123e+00 1 0 0 0 0 -V -56 0 0 0 0 0 0 3 0 -P 189 211 5.0375258570605386e-01 -1.9695435251561838e-01 8.7561249240525978e+00 8.7739250712036227e+00 1 0 0 0 0 -P 190 -211 2.5412965478975740e-02 -9.0827288189110802e-02 3.8528483651797676e+00 3.8565289737097310e+00 1 0 0 0 0 -P 191 111 5.3198633201816781e-01 1.6603512019262065e-01 1.2684371283985527e+01 1.2697325371470487e+01 2 0 0 -89 0 -V -57 0 0 0 0 0 0 2 0 -P 192 -211 -1.7141939419169341e-01 -5.6722519524079404e-02 -2.2381290066936166e+00 2.2497340483776216e+00 1 0 0 0 0 -P 193 211 4.2568393842247360e-01 -7.1494346415030066e-02 -1.4526970261360295e+00 1.5218826142789872e+00 1 0 0 0 0 -V -58 0 0 0 0 0 0 3 0 -P 194 -211 7.6459071874841397e-02 -8.7541130858253866e-02 -7.8342648501977918e-01 8.0420537277137760e-01 1 0 0 0 0 -P 195 211 -1.9416584560678463e-01 1.2013959035912780e-01 -1.3157418602565010e-01 2.9820370235825233e-01 1 0 0 0 0 -P 196 111 3.9213905941188162e-02 1.0795934726966315e-02 -6.7240374167578831e-02 1.5618947129684915e-01 2 0 0 -90 0 -V -59 0 0 0 0 0 0 2 0 -P 197 211 -2.8016474706981570e-01 2.5051985090551032e-01 -1.3859234437513488e+00 1.4427460130036787e+00 1 0 0 0 0 -P 198 111 4.5819030623118540e-01 7.6300831800201821e-02 -1.2360737189153828e+00 1.3273499962899518e+00 2 0 0 -91 0 -V -60 0 9.8262426864790465e-05 -4.2057595215624915e-04 -9.0357657115137360e-04 1.0038251653789662e-03 0 2 0 -P 199 22 1.0753811039473163e-01 -5.8421054425128616e-01 -1.1054519305528825e+00 1.2549463637800418e+00 1 0 0 0 0 -P 200 22 8.6452061747327294e-02 -2.4609259358863311e-01 -6.7839343307098976e-01 7.2681027347815286e-01 1 0 0 0 0 -V -61 0 0 0 0 0 0 3 0 -P 201 -211 -4.1923779688965344e-02 9.4741716713696952e-02 -3.1625212825159438e-01 3.6087226232135133e-01 1 0 0 0 0 -P 202 211 1.2543443318519545e-01 2.9266802084010526e-02 -2.6988866705562498e-01 3.3001518182922718e-01 1 0 0 0 0 -P 203 111 1.6976212237140365e-01 -2.6210463640834042e-01 -1.9346621202013536e+00 1.9643459823464879e+00 2 0 0 -92 0 -V -62 0 0 0 0 0 0 2 0 -P 204 211 -6.2798117767117945e-01 1.3395368585235701e-01 -1.3083434892807686e+00 1.4640855235627768e+00 1 0 0 0 0 -P 205 -211 1.1499260483261517e-01 6.9737906011698547e-02 -1.2871443966610814e+00 1.3016555448570508e+00 1 0 0 0 0 -V -63 0 0 0 0 0 0 1 0 -P 206 310 -1.6481661079814763e-01 7.9549466215372497e-02 8.2576997208588896e+00 8.2747068069837439e+00 2 0 0 -93 0 -V -64 0 0 0 0 0 0 1 0 -P 207 310 -2.0774100376841340e-01 2.8253422511277831e-01 4.5249454551591235e+01 4.5253550076855049e+01 2 0 0 -94 0 -V -65 0 7.3754023811518823e-05 -2.2099175550823247e-05 1.5214423169825254e-02 1.5214661412533925e-02 0 2 0 -P 208 22 3.2723447556854225e-02 -6.3493276229220436e-02 1.6358826635059781e+01 1.6358982581324781e+01 1 0 0 0 0 -P 209 22 2.4113439554956292e-01 -1.8563705044705985e-02 4.0134214667263159e+01 4.0134943345740787e+01 1 0 0 0 0 -V -66 0 -2.4091747932102252e-05 -3.9694646150891612e-05 6.2903683639507407e-02 6.2903709184319812e-02 0 2 0 -P 210 22 -3.5501503450890148e-02 -4.3221742365836700e-03 1.1206888944609352e+02 1.1206889515257420e+02 1 0 0 0 0 -P 211 22 -6.4490887525149324e-02 -1.6042978102883673e-01 1.4901178207850950e+02 1.4901188239533926e+02 1 0 0 0 0 -V -67 0 0 0 0 0 0 1 0 -P 212 310 -4.4770508064804587e-01 -2.2677035333779219e-01 -7.6463961108518649e-02 7.1090561865793789e-01 2 0 0 -95 0 -V -68 0 5.6216918348570056e-07 7.2291367578196445e-07 -9.0777412143587177e-09 9.8964114654623947e-07 0 2 0 -P 213 22 5.9588311079569842e-02 3.1727756685069239e-04 -3.4800397785193422e-03 5.9690687374414804e-02 1 0 0 0 0 -P 214 22 1.4273109276990548e-01 2.5985255780542243e-01 2.1304606071875768e-04 2.9647185706224466e-01 1 0 0 0 0 -V -69 0 6.8125667432656671e-05 6.2890706209118587e-04 5.0247106668746657e-03 5.0652922174674346e-03 0 2 0 -P 215 22 9.8238845130149910e-02 6.3480873157616224e-01 5.4797247598160750e+00 5.5172471795016902e+00 1 0 0 0 0 -P 216 22 -2.8990508836005870e-03 2.4532752483918649e-01 1.5522046022239493e+00 1.5714748251578743e+00 1 0 0 0 0 -V -70 0 0 0 0 0 0 1 0 -P 217 310 6.6329685576106023e-02 5.2124166663591132e-01 1.7596312276628496e+00 1.9026481515225759e+00 2 0 0 -96 0 -V -71 0 2.0742689619148677e-05 6.3533362024919996e-06 2.3603460236328297e-05 3.7557583695116871e-05 0 2 0 -P 219 22 -2.8722140438245738e-03 5.3180710552864677e-02 2.8023708625927783e-02 6.0181108610361057e-02 1 0 0 0 0 -P 218 22 1.4597052735358410e-01 -9.3507294289533575e-03 1.3481030230072180e-01 1.9891869847540525e-01 1 0 0 0 0 -V -72 0 3.7626593470519508e-05 -4.3890047303515130e-07 4.0744517881454282e-05 9.2468831779623026e-05 0 2 0 -P 220 22 2.4209710898237435e-02 6.4530876697482267e-02 1.6755104325429430e-02 7.0930090018820904e-02 1 0 0 0 0 -P 221 22 4.4433158429187325e-02 -6.5331570702425915e-02 5.7575850427009183e-02 9.7762458289636103e-02 1 0 0 0 0 -V -73 0 -5.9090765758585417e-06 7.5176856078054691e-05 -1.1325427956519639e-04 1.3699827373751485e-04 0 2 0 -P 222 22 -6.9815720431071801e-02 2.1207143051907135e-01 -3.9649262793632423e-01 4.5503288943720027e-01 1 0 0 0 0 -P 223 22 1.9918305730394971e-02 4.2273685389968030e-01 -5.5984897325031024e-01 7.0180770827741401e-01 1 0 0 0 0 -V -74 0 -3.8400536521541616e-05 -2.7401330134324772e-05 -1.5486817575355602e-05 8.1187982585110302e-05 0 2 0 -P 224 22 -1.1199399900954692e-01 -6.3644204944269311e-02 -5.7287936449814218e-03 1.2894207891051448e-01 1 0 0 0 0 -P 225 22 3.1301920974180393e-02 6.0650545011126985e-03 -2.6814071781105887e-02 4.1660407922362044e-02 1 0 0 0 0 -V -75 0 4.3814671092180448e-07 -1.3974893838171328e-07 -2.0973471270863068e-07 5.8518387156228786e-07 0 2 0 -P 226 22 1.7806955474676234e-01 -9.4868783602879855e-02 -1.0662617316560713e-01 2.2820603242233170e-01 1 0 0 0 0 -P 227 22 2.2495915020264604e-02 3.0897490934717161e-02 1.0618283268731158e-02 3.9666977175415293e-02 1 0 0 0 0 -V -76 0 2.7804071585685933e-06 -5.7140453624173457e-06 -5.1747808895705093e-06 9.6347181936474378e-06 0 2 0 -P 228 22 2.0833233827278030e-02 -3.0122302260885887e-03 -8.8160895834764164e-02 9.0639068381273363e-02 1 0 0 0 0 -P 229 22 5.3242834410132556e-02 -1.4922231314776616e-01 -4.9706474096342455e-02 1.6605069022525973e-01 1 0 0 0 0 -V -77 0 -1.6175287979886273e-04 -1.0545068944792832e-04 -3.7229203558581531e-04 4.3286321857002722e-04 0 2 0 -P 230 22 -5.3478825919207371e-02 -1.0851873814833554e-01 -1.5766115696858526e-01 1.9872931783628903e-01 1 0 0 0 0 -P 231 22 -1.5024839438700266e-01 -2.4296058517503317e-02 -3.1123943785453106e-01 3.4646048281349889e-01 1 0 0 0 0 -V -78 0 -3.6620022303480086e-05 5.9535711926116886e-05 -8.0470143919802894e-05 1.0759422931137554e-04 0 2 0 -P 232 22 -2.1948986096420983e-01 4.4633454790483357e-01 -6.1110621067207616e-01 7.8793472346475779e-01 1 0 0 0 0 -P 233 22 -1.1718985001359787e-01 1.0102902599004575e-01 -1.2872580179196724e-01 2.0127259397566213e-01 1 0 0 0 0 -V -79 0 0 0 0 0 0 1 0 -P 234 130 5.3882428291032602e-01 -2.9867949202148447e-01 -4.4165576592752496e+00 4.4870032352797464e+00 1 0 0 0 0 -V -80 0 1.6108302389358591e-05 7.2808056107108974e-06 -2.4608007243264460e-04 2.4675568109509100e-04 0 2 0 -P 235 22 2.6570728735577170e-01 1.4441211255928108e-01 -3.3133962149639591e+00 3.3271684204658607e+00 1 0 0 0 0 -P 236 22 2.1478963812303389e-01 7.2768110805940062e-02 -4.0269625247378293e+00 4.0333431495768082e+00 1 0 0 0 0 -V -81 0 -3.4512069906198131e-05 -2.1104058657373751e-05 -7.5667074252636459e-04 7.5781417751216165e-04 0 2 0 -P 237 22 -1.8517356431284140e-01 -4.7137481113194234e-02 -2.9821525694305429e+00 2.9882679161024384e+00 1 0 0 0 0 -P 238 22 -2.9214261570838684e-01 -2.4474036593162976e-01 -7.4829162988857805e+00 7.4926151302972830e+00 1 0 0 0 0 -V -82 0 -9.5308150963195587e+01 -3.2913415731351159e+02 -6.2754088553496240e+03 6.2888509826317713e+03 0 2 0 -P 239 2212 -4.7367594868960872e-01 -1.4369308345140306e+00 -2.6150068211133135e+01 2.6210600091706407e+01 1 0 0 0 0 -P 240 -211 5.0123644770492803e-03 -1.8153717996772661e-01 -4.7083166890535697e+00 4.7138844598514140e+00 1 0 0 0 0 -V -83 0 -1.4864983960191469e+00 1.9910370223202563e+01 -5.1673534907541507e+03 5.1675673089874317e+03 0 2 0 -P 241 -211 -1.8400658600957862e-01 -3.3309345305199931e-04 -2.5499791367105406e+01 2.5500837203618424e+01 1 0 0 0 0 -P 242 211 1.6662348476816261e-01 2.3316481548576576e-01 -3.4927202109991391e+01 3.4928656662315888e+01 1 0 0 0 0 -V -84 0 0 0 0 0 0 1 0 -P 243 130 -5.4517775501888455e-01 2.5850199343546754e-01 -8.9865234716413994e+01 8.9868638178901193e+01 1 0 0 0 0 -V -85 0 5.7272233467841676e-06 -3.4450735417619763e-06 -7.3122064282472015e-03 7.3122101156150102e-03 0 2 0 -P 244 22 1.6319053796774280e-01 -5.8337248729609763e-02 -2.3911426643792683e+02 2.3911432924133621e+02 1 0 0 0 0 -P 245 22 9.0908049065072161e-02 -9.4509648655208264e-02 -8.5304951917361947e+01 8.5305052710671873e+01 1 0 0 0 0 -V -86 0 4.3353964989961207e-06 -1.5079480348632104e-06 -7.1357955165588264e-03 7.1357976984551316e-03 0 2 0 -P 246 22 3.5587885991872119e-02 -7.9942846660418745e-02 -1.1802533908101961e+02 1.1802537152047441e+02 1 0 0 0 0 -P 247 22 1.4882567766781341e-01 1.5799677520724986e-02 -1.8550802425959540e+02 1.8550808463086122e+02 1 0 0 0 0 -V -87 0 7.0770676303012794e-05 6.5107162497295579e-05 -1.2831644845235862e-01 1.2831648848465474e-01 0 2 0 -P 248 22 1.8114845821850648e-01 2.3989936867935877e-01 -4.1762092695334275e+02 4.1762103514530997e+02 1 0 0 0 0 -P 249 22 1.1705464726993600e-01 3.4439652232437577e-02 -1.2306012080021719e+02 1.2306018129047324e+02 1 0 0 0 0 -V -88 0 -6.2417076750674925e-07 -3.9248716946618685e-05 4.4818235066635065e-03 4.4821098680430417e-03 0 2 0 -P 250 22 -1.3241355407539917e-02 -1.0246241139417403e-02 2.5096339222582625e-01 2.5152125792467273e-01 1 0 0 0 0 -P 251 22 1.0611185962569689e-02 -1.5514243362924734e-01 1.8634822130961478e+01 1.8635470952582644e+01 1 0 0 0 0 -V -89 0 1.3582222174720734e-04 4.2390673510491999e-05 3.2384657002777202e-03 3.2417730276224663e-03 0 2 0 -P 252 22 1.8270933871487663e-01 1.0969751742799415e-01 5.7283206751857012e+00 5.7322834896351260e+00 1 0 0 0 0 -P 253 22 3.4927699330329121e-01 5.6337602764626502e-02 6.9560506087998260e+00 6.9650418818353623e+00 1 0 0 0 0 -V -90 0 3.5279272098553364e-05 9.7126952709604466e-06 -6.0493628454770447e-05 1.4051777614489206e-04 0 2 0 -P 254 22 7.6896925214123460e-02 3.5622213305934604e-02 -7.1477115362458474e-02 1.1086504051655867e-01 1 0 0 0 0 -P 255 22 -3.7683019272935298e-02 -2.4826278578968294e-02 4.2367411948796398e-03 4.5324430780290477e-02 1 0 0 0 0 -V -91 0 4.0801170434363689e-05 6.7944764440148752e-06 -1.1007054009880686e-04 1.1819855786593737e-04 0 2 0 -P 257 22 3.3735132400291051e-01 1.1541367327565770e-01 -8.9640270848063985e-01 9.6470930728221138e-01 1 0 0 0 0 -P 256 22 1.2083898222827490e-01 -3.9112841475455871e-02 -3.3967101043474301e-01 3.6264068900774049e-01 1 0 0 0 0 -V -92 0 5.6114899634550859e-06 -8.6638734014096062e-06 -6.3950290668699704e-05 6.4931491257954731e-05 0 3 0 -P 258 22 3.7763112644272664e-02 -1.9003168856709707e-02 -5.6880931194233830e-01 5.7037812585643310e-01 1 0 0 0 0 -P 259 11 1.2719536651632049e-01 -2.1827911800405031e-01 -1.2119610200457922e+00 1.2380122005983156e+00 1 0 0 0 0 -P 260 -11 4.8036432108104722e-03 -2.4822349547580416e-02 -1.5389178821322286e-01 1.5595565589173888e-01 1 0 0 0 0 -V -93 0 -1.4381524495815356e+01 6.9413064099863986e+00 7.2054819134743707e+02 7.2203219119746802e+02 0 2 0 -P 261 111 9.2014239650662466e-02 1.3215606270806735e-01 2.2548623593500721e+00 2.2646314722759553e+00 2 0 0 -97 0 -P 262 111 -2.5683085044881010e-01 -5.2606596492694856e-02 6.0028373615088171e+00 6.0100753347077882e+00 2 0 0 -98 0 -V -94 0 -7.7825606900085225e+00 1.0584524547671682e+01 1.6951714868486924e+03 1.6953249167125366e+03 0 2 0 -P 263 111 -2.8943395680254397e-01 1.5615697178674603e-01 3.6631605117101834e+01 3.6633330043429979e+01 2 0 0 -99 0 -P 264 111 8.1692953034130586e-02 1.2637725332603228e-01 8.6178494344894041e+00 8.6202200334250758e+00 2 0 0 -100 0 -V -95 0 -1.3657774741477642e+01 -6.9178987190624293e+00 -2.3326238673673467e+00 2.1687019472789341e+01 0 2 0 -P 265 211 -2.9529816783651242e-01 -9.1672761735730857e-02 1.5454665700808420e-01 3.7278594027166795e-01 1 0 0 0 0 -P 266 -211 -1.5240691281153346e-01 -1.3509759160206133e-01 -2.3101061811660287e-01 3.3811967838627000e-01 1 0 0 0 0 -V -96 0 5.5767429881696557e+00 4.3823979931555911e+01 1.4794297644263381e+02 1.5996728532329485e+02 0 2 0 -P 267 111 1.6009544349417862e-01 1.5482137875335267e-01 1.0998242066687225e+00 1.1302358587132031e+00 2 0 0 -101 0 -P 268 111 -9.3765757918072581e-02 3.6642028788255870e-01 6.5980702099412725e-01 7.7241229280937296e-01 2 0 0 -102 0 -V -97 0 -1.4381499058109947e+01 6.9413429450597066e+00 7.2054881471317537e+02 7.2203281726391674e+02 0 2 0 -P 269 22 1.6608090838720359e-02 -2.6977769960342162e-02 2.3862848367837755e-01 2.4072220914569153e-01 1 0 0 0 0 -P 270 22 7.5406148811942117e-02 1.5913383266840953e-01 2.0162338756716944e+00 2.0239092631302644e+00 1 0 0 0 0 -V -98 0 -1.4381537586881612e+01 6.9413037285466928e+00 7.2054849732135528e+02 7.2203249754031685e+02 0 2 0 -P 271 22 -7.1650056340312379e-02 -3.1679388923150559e-02 3.2465350796190910e+00 3.2474801519722116e+00 1 0 0 0 0 -P 272 22 -1.8518079410849772e-01 -2.0927207569544297e-02 2.7563022818897256e+00 2.7625951827355784e+00 1 0 0 0 0 -V -99 0 -7.7826677342413646e+00 1.0584582300754398e+01 1.6951850346787774e+03 1.6953384651805682e+03 0 2 0 -P 273 22 -9.9605722022381674e-02 2.5022940238770892e-02 6.2018655777368492e+00 6.2027158641771596e+00 1 0 0 0 0 -P 274 22 -1.8982823478016234e-01 1.3113403154797515e-01 3.0429739539364984e+01 3.0430614179252810e+01 1 0 0 0 0 -V -100 0 -7.7825535982837781e+00 1.0584535518418377e+01 1.6951722349599286e+03 1.6953256650295632e+03 0 2 0 -P 275 22 7.7600359093490293e-02 2.3880769340730748e-03 3.6033115788038983e+00 3.6041478677469825e+00 1 0 0 0 0 -P 276 22 4.0925939406402977e-03 1.2398917639195919e-01 5.0145378556855054e+00 5.0160721656780911e+00 1 0 0 0 0 -V -101 0 5.5767505180503374e+00 4.3823987213377826e+01 1.4794302817143299e+02 1.5996733848246649e+02 0 2 0 -P 277 22 1.4877919418107663e-01 9.9270607473697217e-02 5.7038285808899925e-01 5.9776793735624267e-01 1 0 0 0 0 -P 278 22 1.1316249313101989e-02 5.5550771279655430e-02 5.2944134857972314e-01 5.3246792135695076e-01 1 0 0 0 0 -V -102 0 5.5767344317322669e+00 4.3824013368626339e+01 1.4794303665221980e+02 1.5996735580848653e+02 0 2 0 -P 279 22 -6.6030914697511434e-02 5.1578189162365749e-02 1.6923379462356794e-01 1.8883979595347436e-01 1 0 0 0 0 -P 280 22 -2.7734843220561155e-02 3.1484209872019292e-01 4.9057322637055928e-01 5.8357249685589085e-01 1 0 0 0 0 -E 4 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 189 0 0 -V -1 0 0 0 0 0 1 2 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 2 -9.2820880453940977e-02 1.6078548997780676e-01 2.3716619521660218e+03 2.3716619594325907e+03 3 0 0 -3 0 -P 31 2103 9.2820880453940977e-02 -1.6078548997780676e-01 4.2732759596864398e+03 4.2732760333322394e+03 2 0 0 -11 0 -V -2 0 0 0 0 0 1 3 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 21 2.8438240035156620e-01 -3.1515117320208030e-01 -3.8035697500337951e+03 3.8035697737212290e+03 3 0 0 -4 0 -P 14 2203 -1.4352353535702972e-01 4.4026544033137993e-01 -2.9147371774374851e+03 2.9147373162806402e+03 2 0 0 -9 0 -P 33 1 -1.4085886499453648e-01 -1.2511426712929963e-01 -8.4457632655431709e+01 8.4458487486809346e+01 2 0 0 -13 0 -V -3 0 0 0 0 0 0 5 0 -P 5 2 1.8330374025472010e-01 6.4045820926453234e-01 1.8525053358893920e+03 1.8525054556696041e+03 3 0 0 -5 0 -P 30 21 -5.9675894419355358e-01 -9.5050198748863479e-01 1.7993365505285936e+02 1.7993715512908133e+02 2 0 0 -11 0 -P 27 21 1.9372450554350890e-01 -5.2219821644400299e-01 1.2126803157754753e+02 1.2126931063898388e+02 2 0 0 -11 0 -P 28 21 -2.3795161344271451e-01 7.1609049465699426e-01 1.0167002308049599e+02 1.0167282330965078e+02 2 0 0 -11 0 -P 29 21 3.4192681965240401e-01 2.4291397251790178e-01 3.1944822354571826e+01 3.1947575751740445e+01 2 0 0 -11 0 -V -4 0 0 0 0 0 0 15 0 -P 6 -1 -5.7988882832211965e+00 -1.9327729931963271e+00 2.4200413742942017e+00 6.5741400211589776e+00 3 0 0 -5 0 -P 11 1 -9.8845705950266671e-01 -4.9594742583225058e+00 1.9044643416753072e+01 1.9707378698059269e+01 2 0 0 -9 0 -P 12 21 2.6044264833858743e-01 -3.1030363873699462e+00 1.1727671819750038e+01 1.2134041021282840e+01 2 0 0 -9 0 -P 13 21 7.5691010065949327e-01 -5.4011599026484958e-01 5.1524452837099819e+00 5.2356786174330239e+00 2 0 0 -9 0 -P 15 2 -1.8311360214351913e-01 -1.4805571719661075e+00 -2.1411903451828903e+03 2.1411908903188796e+03 2 0 0 -11 0 -P 16 21 4.3968109830755170e-01 -2.9544412986812052e-01 -3.1326029880598599e-01 6.1541751428642444e-01 2 0 0 -11 0 -P 17 21 2.7322936418785587e-01 -3.3048055802107390e-01 -7.6828223487860681e-01 8.7984616673284832e-01 2 0 0 -11 0 -P 18 21 2.9260573411497637e-01 1.3800589535119959e-01 -2.1582422861451325e+00 2.1823550372232328e+00 2 0 0 -11 0 -P 19 21 1.0223538075759215e+00 -1.4522275427264191e+00 -2.4692904014076042e+01 2.4756689616992229e+01 2 0 0 -11 0 -P 20 21 1.2063407328190996e+00 -7.4888083722587195e-01 -1.1210724096630058e+01 1.1300283856734948e+01 2 0 0 -11 0 -P 21 21 -5.4913410279006636e-01 1.0519596533332111e-01 3.4138908785026851e+00 3.4593735537367594e+00 2 0 0 -11 0 -P 22 21 6.4314231442077185e-01 3.1223541119268439e+00 7.5129505920112933e+00 8.1613205938051365e+00 2 0 0 -11 0 -P 23 21 1.2086144926726743e+00 3.4136643559921347e+00 6.3113339858338602e+00 7.2764544943269689e+00 2 0 0 -11 0 -P 24 21 2.4400337609788756e+00 6.9128514496625586e+00 2.4435124802319205e+01 2.5511107463705560e+01 2 0 0 -11 0 -P 32 -2 -7.1644398238490137e-01 8.6978994307757240e-01 -1.6189139599034304e+03 1.6189143857217191e+03 2 0 0 -13 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 1.3643288924243656e+01 -1.0581519988970058e+01 9.9183478070503759e+02 9.9198505034811774e+02 3 0 0 -6 0 -P 8 24 -1.9258873467210137e+01 9.2892052050382574e+00 8.6309059655865008e+02 8.6709454534264773e+02 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 1.3643288924243656e+01 -1.0581519988970058e+01 9.9183478070503759e+02 9.9198505034811762e+02 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 24 -1.9258873467210137e+01 9.2892052050382574e+00 8.6309059655865008e+02 8.6709454534264773e+02 2 0 0 -8 0 -V -8 0 0 0 0 0 0 9 0 -P 37 21 -1.0274145350843458e+00 -2.5975390684764665e-01 3.0272901154602945e+00 3.2074192370485028e+00 2 0 0 -15 0 -P 38 21 -2.6505880313310659e-01 5.5852304317418111e-01 2.2691371688433564e+00 2.3518477097595722e+00 2 0 0 -15 0 -P 39 21 2.3721188780666763e-01 2.7959374185858841e+00 2.6258281663350946e+01 2.6407780888220010e+01 2 0 0 -15 0 -P 40 21 3.3737992516561754e-01 1.9913397179993726e+00 1.8847206960760861e+01 1.8955117232772242e+01 2 0 0 -15 0 -P 41 21 9.3276664365375481e+00 2.1890146052654789e+01 2.2925649830527726e+02 2.3048801676129600e+02 2 0 0 -15 0 -P 34 4 -2.2700858926615656e+01 -1.6386334061858157e+01 3.4828459595439756e+02 3.4941129163080990e+02 2 0 0 -15 0 -P 35 21 -7.4503781777991165e+00 -8.5245909374436160e+00 1.2403122509900038e+02 1.2454686501555096e+02 2 0 0 -15 0 -P 36 21 -2.0027042250268927e+00 -1.0978633289287578e+00 2.1859513177439908e+01 2.1978499595209318e+01 2 0 0 -15 0 -P 42 -3 4.2852829509391617e+00 8.3218012077022046e+00 8.9256848114117304e+01 8.9747707271978427e+01 2 0 0 -15 0 -V -9 0 0 0 0 0 0 1 0 -P 51 92 -1.1462784586161573e-01 -8.1623611956259214e+00 -2.8788124169172720e+03 2.9518144146174154e+03 2 0 0 -10 0 -V -10 0 0 0 0 0 0 16 0 -P 52 -213 3.0616585418758002e-01 -2.5300431240125230e+00 1.2105798622634046e+01 1.2400251650786375e+01 2 0 0 -25 0 -P 53 213 -1.5404831881885364e-01 -1.7509696799112910e+00 5.5613068929310039e+00 5.8606722227440304e+00 2 0 0 -26 0 -P 54 223 -5.1151607297610935e-01 -1.4176238804041423e+00 5.9722475655096865e+00 6.2094845467470412e+00 2 0 0 -27 0 -P 62 211 5.4968392420735113e-01 1.4756230968950473e-01 -1.8166962247609939e+00 1.9088719207253644e+00 1 0 0 0 0 -P 63 113 -8.7881886984997282e-01 -4.1468335965402653e-01 -2.3734060373081363e+01 2.3767575310168922e+01 2 0 0 -32 0 -P 64 -211 4.4026111693685754e-01 6.5311510758350333e-01 -3.0666546764622510e+01 3.0676977677837161e+01 1 0 0 0 0 -P 65 211 4.5884509599108031e-02 -7.3354084743733938e-01 -5.8516434437769988e+02 5.8516482259132022e+02 1 0 0 0 0 -P 66 2214 -4.9851835496356245e-01 6.3248545172766857e-01 -1.2651382944982172e+03 1.2651390770952955e+03 2 0 0 -33 0 -P 67 111 2.6622991607876895e-01 4.8781176567800157e-02 -9.9923848265446202e+02 9.9923852842810425e+02 2 0 0 -34 0 -P 55 223 2.1595395219106844e-01 -1.8737275125004771e+00 7.0985598228311808e+00 7.3857993220666733e+00 2 0 0 -28 0 -P 56 113 -4.7677120078934182e-02 -1.0152067643004612e+00 2.4368651745900176e+00 2.7334250167134941e+00 2 0 0 -29 0 -P 57 -211 2.1984336478833474e-01 4.7825007839895524e-03 2.2352079885760445e+00 2.2503307566776294e+00 1 0 0 0 0 -P 58 211 -3.3498969538027201e-01 6.9648415330084867e-02 -1.1066497586449596e-01 3.8574022288587678e-01 1 0 0 0 0 -P 59 113 1.3909780482065315e-01 -3.3069396730450967e-01 -1.7329298988899207e+00 1.9541788674726714e+00 2 0 0 -30 0 -P 60 -211 -2.8599753074680223e-01 6.4799383066966643e-01 -3.4804982825084108e+00 3.5545799571290018e+00 1 0 0 0 0 -P 61 111 4.1381767414316867e-01 -3.0024085245337195e-01 -3.1398849342385469e+00 3.1840990307421961e+00 2 0 0 -31 0 -V -11 0 0 0 0 0 2 1 0 -P 25 21 -8.0759531061318546e-01 -3.3406171290107096e+00 1.9645698208408786e+00 3.9587204459677277e+00 2 0 0 -11 0 -P 26 21 8.0759531061318546e-01 3.3406171290107096e+00 -1.6092526703563814e+02 1.6096196290888045e+02 2 0 0 -11 0 -P 68 92 6.5875152481577262e+00 8.7100003117229168e+00 2.4104713366823571e+03 7.0983573201329691e+03 2 0 0 -12 0 -V -12 0 0 0 0 0 0 59 0 -P 71 -211 5.7620530575271300e-01 6.1421445206986870e-02 -3.3565202145218319e+02 3.3565255066790428e+02 1 0 0 0 0 -P 72 213 2.7459733564460981e-01 -4.6031431506940862e-01 -3.8571257213471154e+02 3.8571373935139655e+02 2 0 0 -37 0 -P 73 223 -5.7926526471571715e-01 -1.9525945624624185e-02 -8.4084403531743789e+01 8.4090163084732680e+01 2 0 0 -38 0 -P 74 -213 -7.3223666424297493e-02 3.6563852853395723e-01 -1.6810679233890163e+01 1.6836622172984743e+01 2 0 0 -39 0 -P 75 211 6.4146448505876097e-01 -6.3543078272220832e-01 -1.6981265495312542e+01 1.7005825665706883e+01 1 0 0 0 0 -P 76 -211 -1.5924531765929986e-01 1.8172819723608069e-02 -3.3819669982319928e-01 3.9943224111784109e-01 1 0 0 0 0 -P 77 331 -2.1878967436288869e-02 -2.4374301737778187e-01 -4.9639779751442061e+00 5.0614320935167747e+00 2 0 0 -40 0 -P 78 211 3.8160876729373411e-01 4.9824059133778851e-03 -3.9596912966490905e+00 3.9804880385830423e+00 1 0 0 0 0 -P 79 -211 8.2763694246190667e-01 -4.7171503722470046e-02 -5.3206398228798824e+00 5.3866405086107614e+00 1 0 0 0 0 -P 80 213 -9.2963436667075124e-03 -9.3331491880418926e-01 -5.7858987283250789e+00 5.9114736383731179e+00 2 0 0 -41 0 -P 69 323 2.6965373089886259e-02 -7.8436620352785036e-01 -6.3251215118341054e+02 6.3251328488303113e+02 2 0 0 -35 0 -P 70 -311 -5.1319872938403244e-01 -3.5703956672451648e-01 -6.6805309680723667e+02 6.6805357470741524e+02 2 0 0 -36 0 -P 81 111 6.8908760945870035e-02 -7.4336047790866958e-02 -3.2488145678831243e-01 3.6611723081706654e-01 2 0 0 -42 0 -P 82 311 8.0944838552899079e-01 -2.2401821592795629e-01 -2.2078412448770441e+00 2.4140483096622667e+00 2 0 0 -43 0 -P 83 -311 2.0825369584158310e-01 -2.9899435700293758e-01 -7.9825277911540260e+00 8.0063220390387535e+00 2 0 0 -44 0 -P 84 221 4.8600128562752809e-02 -2.9412330619311078e-01 -1.2557942635204722e+00 1.4019954445479514e+00 2 0 0 -45 0 -P 85 221 2.4321537069915566e-01 2.7897521224850303e-02 -2.0466306405757497e+00 2.1326815209210972e+00 2 0 0 -46 0 -P 86 113 -1.4242560875299726e-01 2.0098755311294011e-01 -9.3281640560500445e-01 1.1994889447031605e+00 2 0 0 -47 0 -P 87 -213 6.2995506969133175e-01 -5.3351618156801850e-01 -3.0268003767966487e+00 3.2877827626531611e+00 2 0 0 -48 0 -P 88 213 -4.4470514704296038e-01 2.6740585629040976e-02 -1.1790528923872898e+00 1.4643031719074535e+00 2 0 0 -49 0 -P 89 2112 -5.6465354678112804e-02 4.1816050990651149e-01 8.1955389032907600e-01 1.3162472839013655e+00 1 0 0 0 0 -P 90 -2212 -3.0528283048302102e-02 -4.0769401042822612e-01 1.4135481591829637e+00 1.7451691532440265e+00 1 0 0 0 0 -P 91 211 3.5221781060737328e-01 1.2088893752373304e+00 9.4706264424757203e-01 1.5817327033035504e+00 1 0 0 0 0 -P 92 -213 -2.9970119748950869e-01 5.7605009045793187e-01 1.9803888278068278e+00 2.1668024374217025e+00 2 0 0 -50 0 -P 93 323 5.3610594923405364e-01 1.5427556638110751e+00 4.1323311180303905e+00 4.5365775346539055e+00 2 0 0 -51 0 -P 94 -323 1.6764230184000011e+00 4.2661339477853915e+00 1.1422857768230408e+01 1.2340341966212989e+01 2 0 0 -52 0 -P 95 221 1.6521720620708708e-01 1.7305666862956806e+00 5.3795959051527014e+00 5.6799569880571275e+00 2 0 0 -53 0 -P 96 111 3.4091599571513381e-01 4.2578712335088759e-01 7.7507818540955942e-01 9.5733180478016111e-01 2 0 0 -54 0 -P 97 111 1.8636424148468736e-01 1.4599342475026946e+00 5.4281639450086834e+00 5.6257731070340586e+00 2 0 0 -55 0 -P 98 223 1.0069287360881967e+00 1.3509470596584172e+00 6.7582433289884696e+00 7.0091592256500288e+00 2 0 0 -56 0 -P 99 211 -3.4146209562673929e-01 1.5158950380356184e-01 5.2424511386917438e-01 6.5870210621260206e-01 1 0 0 0 0 -P 100 2112 -2.1154881148046689e-01 -1.0735068025792132e+00 7.0201326895106064e-01 1.6039900777454950e+00 1 0 0 0 0 -P 101 -2212 4.7469686931938010e-02 2.7754353367769968e-01 1.0039073590343506e+00 1.4026633105228941e+00 1 0 0 0 0 -P 102 111 1.7437178164815947e-01 -5.6048963315392508e-01 1.2589521396946993e-01 6.1532377851712639e-01 2 0 0 -57 0 -P 103 113 -3.1883151078144545e-01 -8.4606752962111467e-02 1.3914257241876302e-01 9.7271600632710076e-01 2 0 0 -58 0 -P 104 111 -1.1927545843921665e-01 -2.6335718259241964e-01 1.5515874628685319e-01 3.5479216107209921e-01 2 0 0 -59 0 -P 105 211 2.9312098402116255e-01 -6.2323282486230425e-01 -2.6684020281172388e-01 7.5167981481212065e-01 1 0 0 0 0 -P 106 1114 -4.4062914350054427e-01 2.4638804826043872e-01 -2.3241854935092199e+01 2.3280385473541951e+01 2 0 0 -60 0 -P 107 211 1.6813770838362588e-01 1.0298303158833499e-01 -3.2163782230045408e+00 3.2254370947351405e+00 1 0 0 0 0 -P 108 -2212 3.4457685450197267e-01 1.2186713305630190e+00 -5.3030716885410776e+01 5.3054134400573211e+01 1 0 0 0 0 -P 109 2214 1.2020287573136482e-01 3.7479987432403911e-01 -1.0966878173055145e+01 1.1045072570427967e+01 2 0 0 -61 0 -P 110 211 2.1009296797946009e-01 4.0052377799798089e-01 -1.6589816940124287e+01 1.6596567845300751e+01 1 0 0 0 0 -P 111 -2224 1.9658035577195881e-01 5.1914185814482328e-01 -3.0401238446225552e+01 3.0431387801714855e+01 2 0 0 -62 0 -P 112 323 -7.0406239463945264e-01 -1.9001858472173550e-01 -1.3737092732247977e+01 1.3787611740640099e+01 2 0 0 -63 0 -P 113 333 8.2916907628090986e-01 6.4319863963863733e-01 -5.3961951740099057e+00 5.5928926174794418e+00 2 0 0 -64 0 -P 114 -323 -4.4426618158725512e-01 -1.3800261314922405e-02 -1.0646399753717462e+00 1.4542717828265139e+00 2 0 0 -65 0 -P 115 213 4.6955864160020383e-01 -2.2138569541027434e-01 2.7803521001940323e-01 1.1481484305370542e+00 2 0 0 -66 0 -P 116 223 2.8564258373702955e-01 -7.0418327707246611e-02 -7.3250403882459747e-01 1.1252011437712499e+00 2 0 0 -67 0 -P 117 -213 -2.1467687225524573e-01 4.2741287912168013e-01 -7.4289123826589104e-04 1.0126576271927121e+00 2 0 0 -68 0 -P 118 113 1.7395230303924547e-01 -4.1608763137866295e-01 1.2004688227692567e+01 1.2053458057779810e+01 2 0 0 -69 0 -P 119 221 -1.9567117285229671e-01 2.8889340409270481e-01 5.3075723066706981e+00 5.3471274437637426e+00 2 0 0 -70 0 -P 120 111 -1.9087267842121336e-01 5.4252206762536037e-01 6.2318609039251946e+01 6.2321408960009578e+01 2 0 0 -71 0 -P 121 323 1.3070310306706950e-01 -6.1697493783128776e-01 2.9221144136450206e+01 2.9240305127864819e+01 2 0 0 -72 0 -P 122 -311 -4.9885948856357186e-02 1.2822300091927889e-02 4.5329270329114166e+00 4.5604556717363289e+00 2 0 0 -73 0 -P 123 2112 -4.7863725043095502e-02 -1.0825222107858737e-01 1.4718621532001902e+02 1.4718926177372941e+02 1 0 0 0 0 -P 124 -2112 1.9344894382294975e-01 -6.5018197886060145e-03 2.1812090513132770e+02 2.1812301463133616e+02 1 0 0 0 0 -P 125 313 -5.9342554539725090e-01 -3.3850796627627300e-01 5.9882469556753961e+02 5.9882576075663053e+02 2 0 0 -74 0 -P 126 3224 3.5223036811653632e-02 -3.4414941922204685e-02 2.5172332877548356e+03 2.5172336781781446e+03 2 0 0 -75 0 -P 127 -213 1.1663718569999987e-01 -2.4641154449404332e-01 1.1115119089591544e+03 1.1115121550661386e+03 2 0 0 -76 0 -V -13 0 0 0 0 0 0 1 0 -P 128 92 -8.5730284737943785e-01 7.4467567594827277e-01 -1.7033715925588622e+03 1.7033728732085285e+03 2 0 0 -14 0 -V -14 0 0 0 0 0 0 2 0 -P 129 113 -7.8533622992976027e-01 8.6523895857592903e-01 -1.6750124441451264e+03 1.6750130337654648e+03 2 0 0 -77 0 -P 130 -211 -7.1966617449677556e-02 -1.2056328262765621e-01 -2.8359148413735429e+01 2.8359839443063105e+01 1 0 0 0 0 -V -15 0 0 0 0 0 0 1 0 -P 131 92 -1.9258873467210122e+01 9.2892052050382539e+00 8.6309059655864780e+02 8.6709454534264501e+02 2 0 0 -16 0 -V -16 0 0 0 0 0 0 12 0 -P 132 423 -1.9137366351719628e+01 -1.4131846763827689e+01 2.9493587085754592e+02 2.9590056209345943e+02 2 0 0 -78 0 -P 133 211 -4.5604000871635657e+00 -4.7377185099919146e+00 7.2689922512815102e+01 7.2986899785775833e+01 1 0 0 0 0 -P 134 113 -5.1617104439380377e+00 -3.6881619942643642e+00 7.3158252581438703e+01 7.3436922903472933e+01 2 0 0 -79 0 -P 135 111 -1.0963849349911059e-01 -3.7173119868868731e-02 3.1818045250357909e+00 3.1867698498692643e+00 2 0 0 -80 0 -P 136 -213 -1.8575628946181175e+00 -2.6189368213267570e+00 3.1084349603980588e+01 3.1260260648800589e+01 2 0 0 -81 0 -P 137 113 -1.9702196225596913e+00 -7.5035350425204206e-01 1.8597051073293592e+01 1.8730245499430811e+01 2 0 0 -82 0 -P 138 331 -1.8481053319477775e-01 -3.7946619601020762e-02 3.7006231730721044e+00 3.8272144972627773e+00 2 0 0 -83 0 -P 139 323 5.4756376576753629e-01 3.2204856220182068e+00 3.6360592290988627e+01 3.6518541749074082e+01 2 0 0 -84 0 -P 140 -323 1.3311259853615089e+00 3.7379512567484707e+00 3.4112393141607136e+01 3.4353366987544497e+01 2 0 0 -85 0 -P 141 113 4.4805357982732119e-01 3.0030852094344707e+00 2.9362369493599097e+01 2.9533424673175375e+01 2 0 0 -86 0 -P 142 213 4.7752867246856443e+00 1.0891165458689070e+01 1.1393626861842178e+02 1.1455865944632977e+02 2 0 0 -87 0 -P 143 313 6.6208049038407921e+00 1.4438654991280693e+01 1.5197109868684942e+02 1.5280167720844955e+02 2 0 0 -88 0 -V -17 0 0 0 0 0 2 1 0 -P 43 2 2.1378197802742376e+00 2.3547451315414101e+00 -5.4651779492327037e+00 6.3232324063115968e+00 2 0 0 -17 0 -P 44 -2 -2.1378197802742376e+00 -2.3547451315414101e+00 -2.4068773120863955e+01 2.4277992865784292e+01 2 0 0 -17 0 -P 144 92 0 0 -2.9533951070096659e+01 3.0601225272095888e+01 2 0 0 -18 0 -V -18 0 0 0 0 0 0 4 0 -P 145 323 1.8776251777286357e+00 1.8318837713470195e+00 -4.9994852273624932e+00 5.7335457349190850e+00 2 0 0 -89 0 -P 146 -321 3.7073773471981229e-02 1.7044744097734246e-01 -1.6359966049568000e+00 1.7177172777396612e+00 1 0 0 0 0 -P 147 323 -4.7852083980675375e-01 -6.4107933193332411e-01 -5.4042107535842536e+00 5.5372300715771994e+00 2 0 0 -90 0 -P 148 -321 -1.4361781113938632e+00 -1.3612518803910378e+00 -1.7494258484193114e+01 1.7612732187859947e+01 1 0 0 0 0 -V -19 0 0 0 0 0 2 1 0 -P 45 1 1.8673293224089542e+00 2.3063057798131541e+00 2.4390505988349268e+01 2.4570363194630016e+01 2 0 0 -19 0 -P 46 -1 -1.8673293224089542e+00 -2.3063057798131541e+00 -3.0519906661080940e+00 4.2568312362999272e+00 2 0 0 -19 0 -P 149 92 0 0 2.1338515322241175e+01 2.8827194430929943e+01 2 0 0 -20 0 -V -20 0 0 0 0 0 0 8 0 -P 150 -211 1.1192865003182519e+00 9.7257533806658769e-01 1.0060654115125574e+01 1.0170297245759494e+01 1 0 0 0 0 -P 151 213 -2.0771851785387677e-01 4.2519322630392231e-01 6.3745975039723319e+00 6.4406040423465116e+00 2 0 0 -91 0 -P 152 311 3.6602657683902218e-01 2.7637537539729494e-02 1.1512728067232807e+00 1.3068449765883683e+00 2 0 0 -92 0 -P 153 -313 6.6372648031348541e-02 5.1378838214452516e-01 4.7850741764275320e+00 4.9115056800953063e+00 2 0 0 -93 0 -P 154 111 1.4261163265033819e-01 2.7035572090208759e-01 1.0157832817158920e-01 3.4923924571247367e-01 2 0 0 -94 0 -P 155 -213 2.4227172397104807e-01 -2.6403356349582480e-01 1.3501615848246171e+00 1.6600803924695697e+00 2 0 0 -95 0 -P 156 223 -1.1140200512928606e+00 -8.1846412592718654e-01 -1.3130036485215084e+00 2.0628775198106455e+00 2 0 0 -96 0 -P 157 213 -6.1483051266327160e-01 -1.1270525155338409e+00 -1.1718195444822426e+00 1.9257453281475732e+00 2 0 0 -97 0 -V -21 0 0 0 0 0 2 1 0 -P 47 21 -1.6032500697232532e-01 4.0174652936366986e+00 7.5678264791499856e+00 8.5695816182565032e+00 2 0 0 -21 0 -P 48 21 1.6032500697232532e-01 -4.0174652936366986e+00 2.9067715926331368e+02 2.9070496495396026e+02 2 0 0 -21 0 -P 158 92 0 0 2.9824498574246365e+02 2.9927454657221676e+02 2 0 0 -22 0 -V -22 0 0 0 0 0 0 11 0 -P 159 2112 1.7964317510379571e-01 2.3175583066793864e-01 5.5679324197099680e+00 5.6542590717765355e+00 1 0 0 0 0 -P 160 -2212 -1.5090219905010202e-01 6.0109050142401987e-01 3.2508753296939252e+00 3.4398578846651389e+00 1 0 0 0 0 -P 161 213 -1.3185920968150541e-01 5.1253454596483206e-01 2.8515148690980490e+00 3.0007314728969532e+00 2 0 0 -98 0 -P 162 2112 -2.9589184870575446e-02 8.1735278132525635e-01 3.9016671878094096e+00 4.0956977083678945e+00 1 0 0 0 0 -P 163 111 -1.6746154439354902e-02 7.6768893592516851e-01 2.2228509364031699e+00 2.3556130034237106e+00 2 0 0 -99 0 -P 164 -2112 1.5035799035598119e-01 2.6606398705642531e-01 4.0650357319587354e+00 4.1833843784038702e+00 1 0 0 0 0 -P 165 -213 1.6067245661882737e-01 -1.2470285603911700e-01 4.7366324423320982e+00 4.8109860944668297e+00 2 0 0 -100 0 -P 166 3222 -3.8764262791963577e-01 -4.9242591697810201e-01 5.0258807822997092e+01 5.0276785049131227e+01 2 0 0 -101 0 -P 167 -3322 -1.2309526187710051e-01 -2.5079778996359208e+00 1.8364860958891464e+02 1.8367048176432749e+02 2 0 0 -102 0 -P 168 -313 2.7382092931236746e-01 1.3620019933979283e-01 1.7228910752887057e+01 1.7258673294130080e+01 2 0 0 -103 0 -P 169 223 7.5340086447302335e-02 -2.0758010905029387e-01 2.0512148660659509e+01 2.0528076850627027e+01 2 0 0 -104 0 -V -23 0 0 0 0 0 2 1 0 -P 49 21 -2.6546407805414689e+00 1.5019300198250121e+00 2.4952404169620731e+01 2.5138126129492459e+01 2 0 0 -23 0 -P 50 21 2.6546407805414689e+00 -1.5019300198250121e+00 1.7863101526357177e+00 3.5346591659698707e+00 2 0 0 -23 0 -P 170 92 0 0 2.6738714322256449e+01 2.8672785295462329e+01 2 0 0 -24 0 -V -24 0 0 0 0 0 0 9 0 -P 171 113 2.2244165301205804e-01 3.1494817743372011e-01 1.4782187353346177e+00 1.6863066829397060e+00 2 0 0 -105 0 -P 172 111 3.4623449760310282e-01 -1.0264048500571971e-01 9.3540089980756547e-01 1.0117350642601477e+00 2 0 0 -106 0 -P 173 -3222 -8.2595480421942175e-02 1.6978619896754682e-01 3.9520196416308315e+00 4.1314294876570097e+00 2 0 0 -107 0 -P 174 3222 -6.9310081431249626e-01 6.6149599980748386e-01 1.1548527819325548e+01 1.1649079855816854e+01 2 0 0 -108 0 -P 175 -211 -1.7560637096079756e-01 -5.6685470235918856e-01 2.1835043271014025e+00 2.2670096564592077e+00 1 0 0 0 0 -P 176 -2112 -1.9019072817495811e-01 1.9359363989648683e-02 1.6880525050363864e+00 1.9413552850309042e+00 1 0 0 0 0 -P 177 223 2.4540057371541862e-01 -2.8376756848088225e-01 2.3218440550203154e+00 2.4773736223134661e+00 2 0 0 -109 0 -P 178 3212 8.6531980859782553e-01 -4.4081003261827684e-01 1.9558781200763713e+00 2.4881170750393125e+00 2 0 0 -110 0 -P 179 321 -5.3790313905821097e-01 2.2848304826566801e-01 6.7526821892341016e-01 1.0203785659457194e+00 1 0 0 0 0 -V -25 0 0 0 0 0 0 2 0 -P 180 -211 -1.4955554398415169e-01 -5.6951699534149869e-01 4.0889018315438204e+00 4.1334385735875658e+00 1 0 0 0 0 -P 181 111 4.5572139817173168e-01 -1.9605261286710240e+00 8.0168967910902253e+00 8.2668130771988633e+00 2 0 0 -111 0 -V -26 0 0 0 0 0 0 2 0 -P 182 211 1.8489337684983235e-02 -7.6473513145543626e-01 1.7001134900440293e+00 1.8694992219361533e+00 1 0 0 0 0 -P 183 111 -1.7253765650383687e-01 -9.8623454845585490e-01 3.8611934028869754e+00 3.9911730008078652e+00 2 0 0 -112 0 -V -27 0 0 0 0 0 0 3 0 -P 184 -211 -2.5172946512403243e-02 -7.7548570243937753e-01 3.0753336193267011e+00 3.1747706069864448e+00 1 0 0 0 0 -P 185 211 -3.7700741046237424e-01 -6.0130878108935260e-01 2.2322285260513164e+00 2.3464933017539047e+00 1 0 0 0 0 -P 186 111 -1.0933571600133193e-01 -4.0829396875412233e-02 6.6468542013166909e-01 6.8822063800669864e-01 2 0 0 -113 0 -V -28 0 0 0 0 0 0 3 0 -P 187 -211 1.1038114308213799e-01 -1.2888105525180060e-01 6.0684971341572025e-01 6.4539963024755354e-01 1 0 0 0 0 -P 188 211 8.5502102732195953e-02 -1.0434887961818418e+00 3.1241617499531409e+00 3.2978850650225713e+00 1 0 0 0 0 -P 189 111 2.0070706376734491e-02 -7.0135766106683461e-01 3.3675483594623192e+00 3.4425146267966618e+00 2 0 0 -114 0 -V -29 0 0 0 0 0 0 2 0 -P 190 211 6.0515548805711243e-02 -7.5842708879401355e-01 1.0059791141196675e+00 1.2689946980223401e+00 1 0 0 0 0 -P 191 -211 -1.0819266888464543e-01 -2.5677967550644770e-01 1.4308860604703502e+00 1.4644303186911753e+00 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 192 211 3.2630837518369948e-01 1.2528291854798834e-01 -9.1079671575371779e-01 9.8549652851884084e-01 1 0 0 0 0 -P 193 -211 -1.8721057036304636e-01 -4.5597688585249807e-01 -8.2213318313620309e-01 9.6868233895383105e-01 1 0 0 0 0 -V -31 0 1.9363804248396288e-05 -1.4049194748185942e-05 -1.4692489235742219e-04 1.4899380618883134e-04 0 2 0 -P 194 22 2.3644587135507725e-01 -1.2558235327998157e-01 -1.9632153706257331e+00 1.9813864259647422e+00 1 0 0 0 0 -P 195 22 1.7737180278809139e-01 -1.7465849917339041e-01 -1.1766695636128137e+00 1.2027126047774541e+00 1 0 0 0 0 -V -32 0 0 0 0 0 0 2 0 -P 196 -211 -7.0389269565655677e-01 -3.1919107716430056e-02 -1.8774282217689745e+01 1.8788018424804608e+01 1 0 0 0 0 -P 197 211 -1.7492617419341611e-01 -3.8276425193759644e-01 -4.9597781553916187e+00 4.9795568853643175e+00 1 0 0 0 0 -V -33 0 0 0 0 0 0 2 0 -P 198 2212 -5.1743590343267754e-01 4.2825914755438255e-01 -1.0893061128262852e+03 1.0893067239933462e+03 1 0 0 0 0 -P 199 111 1.8917548469115111e-02 2.0422630417328605e-01 -1.7583218167193181e+02 1.7583235310194934e+02 2 0 0 -115 0 -V -34 0 3.2334201386706010e-05 5.9245798152790670e-06 -1.2135968341715789e-01 1.2135968897646612e-01 0 2 0 -P 200 22 1.6703387848561871e-01 5.7069751590140542e-02 -4.1826167954092972e+02 4.1826171678707635e+02 1 0 0 0 0 -P 201 22 9.9196037593150224e-02 -8.2885750223403894e-03 -5.8097680311353236e+02 5.8097681164102789e+02 1 0 0 0 0 -V -35 0 0 0 0 0 0 2 0 -P 202 311 -2.5901715207887410e-01 -6.0542629745708865e-01 -4.0542979190677522e+02 4.0543063213315133e+02 2 0 0 -116 0 -P 203 211 2.8598252516876038e-01 -1.7893990607076177e-01 -2.2708235927663534e+02 2.2708265274987977e+02 1 0 0 0 0 -V -36 0 0 0 0 0 0 1 0 -P 204 130 -5.1319872938403244e-01 -3.5703956672451648e-01 -6.6805309680723667e+02 6.6805357470741524e+02 1 0 0 0 0 -V -37 0 0 0 0 0 0 2 0 -P 205 211 5.0113066374848658e-01 -1.7917812277643974e-01 -1.9423655414467504e+02 1.9423733339016991e+02 1 0 0 0 0 -P 206 111 -2.2653332810387683e-01 -2.8113619229296893e-01 -1.9147601799003647e+02 1.9147640596122679e+02 2 0 0 -117 0 -V -38 0 0 0 0 0 0 3 0 -P 207 211 -1.2953975496923764e-01 -6.3100220954130662e-02 -6.4093109045566621e+00 6.4124494728746901e+00 1 0 0 0 0 -P 208 -211 -6.5502456608810988e-02 -1.0670875197924584e-01 -3.2314799704027415e+01 3.2315343677978753e+01 1 0 0 0 0 -P 209 111 -3.8422305313766852e-01 1.5028302730875231e-01 -4.5360292923159719e+01 4.5362369933879265e+01 2 0 0 -118 0 -V -39 0 0 0 0 0 0 2 0 -P 210 -211 2.5359517635261491e-01 -7.4343477557339457e-02 -3.1117407054990411e+00 3.1260594155076933e+00 1 0 0 0 0 -P 211 111 -3.2681884277691242e-01 4.3998200609129667e-01 -1.3698938528391123e+01 1.3710562757477057e+01 2 0 0 -119 0 -V -40 0 0 0 0 0 0 3 0 -P 212 111 -7.8940863078874490e-02 -1.7382885204461537e-01 -1.5695053597983348e+00 1.5868253856371490e+00 2 0 0 -120 0 -P 213 111 -7.8383943780866334e-03 -2.5856424870530047e-02 -1.3381901875049935e+00 1.3452518624659702e+00 2 0 0 -121 0 -P 214 221 6.4900290020672255e-02 -4.4057740462636476e-02 -2.0562824278408782e+00 2.1293548454136566e+00 2 0 0 -122 0 -V -41 0 0 0 0 0 0 2 0 -P 215 211 -1.8048202178105321e-02 -1.0093102102911666e+00 -5.4042555680151514e+00 5.4994991469698977e+00 1 0 0 0 0 -P 216 111 8.7518585113978108e-03 7.5995291486977395e-02 -3.8164316030992712e-01 4.1197449140322134e-01 2 0 0 -123 0 -V -42 0 6.0737920994850714e-07 -6.5521668592152024e-07 -2.8635871526700522e-06 3.2270496719116053e-06 0 2 0 -P 217 22 3.6690098624894099e-02 3.2104328088457951e-02 -5.1174608902313651e-02 7.0680208088407345e-02 1 0 0 0 0 -P 218 22 3.2218662320975935e-02 -1.0644037587932491e-01 -2.7370684788599875e-01 2.9543702272865918e-01 1 0 0 0 0 -V -43 0 0 0 0 0 0 1 0 -P 219 310 8.0944838552899079e-01 -2.2401821592795629e-01 -2.2078412448770441e+00 2.4140483096622671e+00 2 0 0 -124 0 -V -44 0 0 0 0 0 0 1 0 -P 220 130 2.0825369584158310e-01 -2.9899435700293758e-01 -7.9825277911540260e+00 8.0063220390387517e+00 1 0 0 0 0 -V -45 0 0 0 0 0 0 3 0 -P 221 -211 2.0336907664022314e-02 -6.8795029656673473e-02 -1.2781071680927664e-01 2.0238999518281200e-01 1 0 0 0 0 -P 222 211 -6.8179243585667487e-02 -8.9502122733327735e-02 -3.5872734119120031e-01 4.0102883867347155e-01 1 0 0 0 0 -P 223 111 9.6442464484397972e-02 -1.3582615380310958e-01 -7.6925620551999541e-01 7.9857661069166797e-01 2 0 0 -125 0 -V -46 0 0 0 0 0 0 3 0 -P 224 111 2.6160440603946145e-01 3.8824481999259884e-02 -1.0269049807729116e+00 1.0689703670345518e+00 2 0 0 -126 0 -P 225 111 -1.7096717800365663e-02 2.3430492041171140e-02 -2.9482920802539647e-01 3.2555360237865472e-01 2 0 0 -127 0 -P 226 111 -1.2923175399401406e-03 -3.4357452815580718e-02 -7.2489645177744166e-01 7.3815755150789031e-01 2 0 0 -128 0 -V -47 0 0 0 0 0 0 2 0 -P 227 -211 4.0983186168897998e-02 4.1316543328976252e-01 -4.9254568519727593e-01 6.5914060239111794e-01 1 0 0 0 0 -P 228 211 -1.8340879492189527e-01 -2.1217788017682243e-01 -4.4027072040772847e-01 5.4034834231204232e-01 1 0 0 0 0 -V -48 0 0 0 0 0 0 2 0 -P 229 -211 1.4311547145631315e-01 -6.9370880998933593e-01 -2.0936733660680962e+00 2.2146471276277619e+00 1 0 0 0 0 -P 230 111 4.8683959823501871e-01 1.6019262842131735e-01 -9.3312701072855297e-01 1.0731356350254004e+00 2 0 0 -129 0 -V -49 0 0 0 0 0 0 2 0 -P 231 211 -5.9605235147848823e-01 3.4238597371628854e-03 -1.0703021959451100e+00 1.2330112343622257e+00 1 0 0 0 0 -P 232 111 1.5134720443552790e-01 2.3316725891878089e-02 -1.0875069644217970e-01 2.3129193754522784e-01 2 0 0 -130 0 -V -50 0 0 0 0 0 0 2 0 -P 233 -211 -1.9269073508976683e-01 1.6767418600061659e-01 1.4340467581323610e+00 1.4632888441624703e+00 1 0 0 0 0 -P 234 111 -1.0701046239974184e-01 4.0837590445731536e-01 5.4634206967446686e-01 7.0351359325923257e-01 2 0 0 -131 0 -V -51 0 0 0 0 0 0 2 0 -P 235 311 6.3943275598408489e-01 1.2113139656898524e+00 3.6184751514319600e+00 3.9009221503807563e+00 2 0 0 -132 0 -P 236 211 -1.0332680675003121e-01 3.3144169812122276e-01 5.1385596659843058e-01 6.3565538427314960e-01 1 0 0 0 0 -V -52 0 0 0 0 0 0 2 0 -P 237 -321 6.0112350196689945e-01 1.3754851910638788e+00 3.6979799224894263e+00 4.0214432039490360e+00 1 0 0 0 0 -P 238 111 1.0752995164331018e+00 2.8906487567215131e+00 7.7248778457409824e+00 8.3188987622639523e+00 2 0 0 -133 0 -V -53 0 0 0 0 0 0 3 0 -P 239 111 2.8770026660581679e-03 5.7529118234130172e-01 2.0142417965499644e+00 2.0991326392090666e+00 2 0 0 -134 0 -P 240 111 -3.1779121290212139e-02 5.5540485052736488e-01 1.4046209535474936e+00 1.5167940150475190e+00 2 0 0 -135 0 -P 241 111 1.9411932483124106e-01 5.9987065342701418e-01 1.9607331550552445e+00 2.0640303338005435e+00 2 0 0 -136 0 -V -54 0 5.4954611087139647e-05 6.8635576106003366e-05 1.2494022215636810e-04 1.5431894564725410e-04 0 2 0 -P 242 22 2.7045544910683439e-01 2.8952946094327370e-01 4.6146839849127375e-01 6.0821586752713319e-01 1 0 0 0 0 -P 243 22 7.0460546608299382e-02 1.3625766240761386e-01 3.1360978691828562e-01 3.4911593725302786e-01 1 0 0 0 0 -V -55 0 9.6240369574681310e-05 7.5392473585625148e-04 2.8031584815723328e-03 2.9052058412651406e-03 0 2 0 -P 244 22 8.6498389738220507e-02 2.8849502818976608e-01 1.1962677619018982e+00 1.2335995747742843e+00 1 0 0 0 0 -P 245 22 9.9865851746466866e-02 1.1714392193129286e+00 4.2318961831067856e+00 4.3921735322597746e+00 1 0 0 0 0 -V -56 0 0 0 0 0 0 3 0 -P 246 -211 4.9508715212394944e-01 7.9494983361117566e-01 2.6140269814839323e+00 2.7802290141250303e+00 1 0 0 0 0 -P 247 211 2.9246050150768399e-01 2.7688149449938243e-01 1.5693519673596861e+00 1.6262047501142205e+00 1 0 0 0 0 -P 248 111 2.1938108245656321e-01 2.7911573154785918e-01 2.5748643801448514e+00 2.6027254614107957e+00 2 0 0 -137 0 -V -57 0 8.3373127297123383e-06 -2.6798931049491529e-05 6.0194818227837910e-06 2.9420739543035361e-05 0 2 0 -P 249 22 7.9399386678645364e-02 -1.3411768106791125e-01 -1.4409354255737384e-02 1.5652298383958299e-01 1 0 0 0 0 -P 250 22 9.4972394969514082e-02 -4.2637195208601375e-01 1.4030456822520732e-01 4.5880079467754337e-01 1 0 0 0 0 -V -58 0 0 0 0 0 0 2 0 -P 251 -211 -2.5832734309574518e-02 -4.0424593103120743e-01 -1.2480732107260117e-01 4.4624965569792446e-01 1 0 0 0 0 -P 252 211 -2.9299877647187089e-01 3.1963917806909597e-01 2.6394989349136422e-01 5.2646635062917657e-01 1 0 0 0 0 -V -59 0 -5.4768382651334292e-05 -1.2092719775668951e-04 7.1245113617988620e-05 1.6291191074476475e-04 0 2 0 -P 253 22 1.7493171764315394e-02 -1.3904813024503002e-02 -1.1450675993148609e-02 2.5109218711905378e-02 1 0 0 0 0 -P 254 22 -1.3676863020353203e-01 -2.4945236956791661e-01 1.6660942228000178e-01 3.2968294236019380e-01 1 0 0 0 0 -V -60 0 0 0 0 0 0 2 0 -P 256 -211 -2.4924753882325268e-01 -5.7307336326951931e-02 -8.0502092127927884e+00 8.0554799125216761e+00 1 0 0 0 0 -P 255 2112 -1.9138160467729162e-01 3.0369538458739065e-01 -1.5191645722299414e+01 1.5224905561020293e+01 1 0 0 0 0 -V -61 0 0 0 0 0 0 2 0 -P 257 2112 8.3027060514221970e-02 1.0739718499538585e-01 -9.4824633945358805e+00 9.5298652383827278e+00 1 0 0 0 0 -P 258 211 3.7175815217142839e-02 2.6740268932865324e-01 -1.4844147785192647e+00 1.5152073320452397e+00 1 0 0 0 0 -V -62 0 0 0 0 0 0 2 0 -P 259 -2212 1.9997999199392005e-01 5.2159092633940130e-01 -2.9420638804998770e+01 2.9440896511124400e+01 1 0 0 0 0 -P 260 -211 -3.3996362219612538e-03 -2.4490681945780598e-03 -9.8059964122678123e-01 9.9049129059046015e-01 1 0 0 0 0 -V -63 0 0 0 0 0 0 2 0 -P 261 311 -3.7995269441653340e-01 1.6535799088428479e-01 -6.1483584577768262e+00 6.1823696483920711e+00 2 0 0 -138 0 -P 262 211 -3.2410970022291918e-01 -3.5537657560602026e-01 -7.5887342744711495e+00 7.6052420922480319e+00 1 0 0 0 0 -V -64 0 0 0 0 0 0 2 0 -P 263 -321 2.6631810341032058e-01 1.7773913266626884e-01 -2.2183705565824408e+00 2.2950654495671614e+00 1 0 0 0 0 -P 264 321 5.6285097287058927e-01 4.6545950697236843e-01 -3.1778246174274649e+00 3.2978271679122821e+00 1 0 0 0 0 -V -65 0 0 0 0 0 0 2 0 -P 265 -311 -3.9453058218165832e-01 2.5328290511276014e-01 -7.7255254295189668e-01 1.0316586018738949e+00 2 0 0 -139 0 -P 266 -211 -4.9735599405596756e-02 -2.6708316642768254e-01 -2.9208743241984952e-01 4.2261318095261929e-01 1 0 0 0 0 -V -66 0 0 0 0 0 0 2 0 -P 267 211 4.6420703636526520e-02 -3.1935185958196421e-01 -2.6465407149408987e-01 4.4007051071727998e-01 1 0 0 0 0 -P 268 111 4.2313793796367721e-01 9.7966164171689893e-02 5.4268928151349305e-01 7.0807791981977419e-01 2 0 0 -140 0 -V -67 0 0 0 0 0 0 3 0 -P 269 -211 1.6386205957906591e-01 -2.8797173352374816e-01 -3.9627447208558847e-01 5.3506236646289917e-01 1 0 0 0 0 -P 270 211 -1.4271113813788025e-02 -1.6982856077004688e-02 -5.1470645008149614e-03 1.4141555523701732e-01 1 0 0 0 0 -P 271 111 1.3605163797175168e-01 2.3453626189350621e-01 -3.3108250223819413e-01 4.4872322207133397e-01 2 0 0 -141 0 -V -68 0 0 0 0 0 0 2 0 -P 272 -211 -3.7696463658742585e-01 4.6783841638839324e-01 2.6462046064315636e-01 6.7117724497876563e-01 1 0 0 0 0 -P 273 111 1.6228776433218009e-01 -4.0425537266713100e-02 -2.6536335188142224e-01 3.4148038221394672e-01 2 0 0 -142 0 -V -69 0 0 0 0 0 0 2 0 -P 274 -211 4.5889677578228821e-01 -5.1523219110723040e-01 9.6187324222664792e+00 9.6444566284284221e+00 1 0 0 0 0 -P 275 211 -2.8494447274304274e-01 9.9144559728567477e-02 2.3859558054260877e+00 2.4090014293513886e+00 1 0 0 0 0 -V -70 0 0 0 0 0 0 3 0 -P 276 111 -2.9460756327081435e-03 9.2886448846853601e-03 1.7698034532282698e+00 1.7749700903801551e+00 2 0 0 -143 0 -P 277 111 -1.4355787675334006e-01 2.4399905742791486e-01 2.9250863072903583e+00 2.9418521223034277e+00 2 0 0 -144 0 -P 278 111 -4.9167220466248530e-02 3.5605701780104602e-02 6.1268254615206985e-01 6.3030523108015979e-01 2 0 0 -145 0 -V -71 0 -7.5868240100300521e-05 2.1564214861322876e-04 2.4770455533049511e-02 2.4771568448014918e-02 0 2 0 -P 279 22 1.2440521239830230e-02 1.3976757843603155e-02 4.1819631103660040e+00 4.1820049704406896e+00 1 0 0 0 0 -P 280 22 -2.0331319966104358e-01 5.2854530978175718e-01 5.8136645928885947e+01 5.8139403989568891e+01 1 0 0 0 0 -V -72 0 0 0 0 0 0 2 0 -P 281 321 2.1642746277190641e-01 -6.7327959002127669e-01 2.1482677626049064e+01 2.1499981981335011e+01 1 0 0 0 0 -P 282 111 -8.5724359704836925e-02 5.6304652189988848e-02 7.7384665104011416e+00 7.7403231465298052e+00 2 0 0 -146 0 -V -73 0 0 0 0 0 0 1 0 -P 283 310 -4.9885948856357186e-02 1.2822300091927889e-02 4.5329270329114166e+00 4.5604556717363280e+00 2 0 0 -147 0 -V -74 0 0 0 0 0 0 2 0 -P 284 321 -2.7920309589361664e-01 -2.9417814389614927e-01 2.2570322131419886e+02 2.2570412545568442e+02 1 0 0 0 0 -P 285 -211 -3.1422244950363426e-01 -4.4329822380123687e-02 3.7312147425334075e+02 3.7312163530094614e+02 1 0 0 0 0 -V -75 0 0 0 0 0 0 2 0 -P 286 3122 7.4262577958025780e-02 -2.4548660956187812e-01 2.0956003441221887e+03 2.0956006568059443e+03 2 0 0 -148 0 -P 287 211 -3.9039541146372155e-02 2.1107166763967344e-01 4.2163294363264680e+02 4.2163302137220023e+02 1 0 0 0 0 -V -76 0 0 0 0 0 0 2 0 -P 288 -211 -2.0057133852812120e-01 6.3358175356901622e-02 5.3623025438152285e+02 5.3623031379900362e+02 1 0 0 0 0 -P 289 111 3.1720852422812107e-01 -3.0976971985094492e-01 5.7528165457763157e+02 5.7528184126713484e+02 2 0 0 -149 0 -V -77 0 0 0 0 0 0 2 0 -P 290 -211 -3.5297618575010037e-01 5.2153555934991228e-02 -8.0473046163509775e+02 8.0473055284076520e+02 1 0 0 0 0 -P 291 211 -4.3236004417965990e-01 8.1308540264093787e-01 -8.7028198251002880e+02 8.7028248092469994e+02 1 0 0 0 0 -V -78 0 0 0 0 0 0 2 0 -P 292 421 -1.7659721204514614e+01 -1.3074065417320448e+01 2.7202781467015444e+02 2.7292014446359110e+02 2 0 0 -150 0 -P 293 111 -1.4776451472050109e+00 -1.0577813465072390e+00 2.2908056187391484e+01 2.2980417629868313e+01 2 0 0 -151 0 -V -79 0 0 0 0 0 0 2 0 -P 294 -211 -1.1583166595630789e+00 -1.0356886852578260e+00 2.0998472633156180e+01 2.1056345391518004e+01 1 0 0 0 0 -P 295 211 -4.0033937843749587e+00 -2.6524733090065382e+00 5.2159779948282527e+01 5.2380577511954947e+01 1 0 0 0 0 -V -80 0 -1.4431088124816109e-05 -4.8928852593760701e-06 4.1880274008966248e-04 4.1945629741203458e-04 0 2 0 -P 296 22 -8.5756643853515627e-02 3.5367132902272655e-02 1.2404140135934969e+00 1.2438777918967254e+00 1 0 0 0 0 -P 297 22 -2.3881849645594963e-02 -7.2540252771141386e-02 1.9413905114422942e+00 1.9428920579725391e+00 1 0 0 0 0 -V -81 0 0 0 0 0 0 2 0 -P 298 -211 -3.7116803471142029e-01 -1.5843331213655415e-01 3.3881934198240016e+00 3.4149965240721345e+00 1 0 0 0 0 -P 299 111 -1.4863948599066970e+00 -2.4605035091902030e+00 2.7696156184156585e+01 2.7845264124728452e+01 2 0 0 -152 0 -V -82 0 0 0 0 0 0 2 0 -P 300 211 -1.3102071172472114e+00 -6.6653559707336441e-01 1.4736991379972928e+01 1.4810783473893188e+01 1 0 0 0 0 -P 301 -211 -6.6001250531248001e-01 -8.3817907178677653e-02 3.8600596933206637e+00 3.9194620255376229e+00 1 0 0 0 0 -V -83 0 0 0 0 0 0 3 0 -P 302 111 -1.0129607511280893e-01 1.7331886710189474e-02 1.1003937127586700e+00 1.1133944550827461e+00 2 0 0 -153 0 -P 303 111 2.6736441445761979e-02 -6.4664089522388349e-02 2.1034626839622458e-01 2.5954081529339207e-01 2 0 0 -154 0 -P 304 221 -1.1025089952773082e-01 9.3855832111780987e-03 2.3898831919172103e+00 2.4542792268866394e+00 2 0 0 -155 0 -V -84 0 0 0 0 0 0 2 0 -P 305 311 2.1723555449960955e-01 2.5511909827769035e+00 2.9876035175259780e+01 2.9989680224020404e+01 2 0 0 -156 0 -P 306 211 3.3032821126792672e-01 6.6929463924130272e-01 6.4845571157288475e+00 6.5288615250536779e+00 1 0 0 0 0 -V -85 0 0 0 0 0 0 2 0 -P 307 -311 7.4141747198539887e-01 1.8100047541943822e+00 1.5235835672865862e+01 1.5368935589605529e+01 2 0 0 -157 0 -P 308 -211 5.8970851337611008e-01 1.9279465025540885e+00 1.8876557468741275e+01 1.8984431397938966e+01 1 0 0 0 0 -V -86 0 0 0 0 0 0 2 0 -P 309 -211 5.6503765038489062e-01 2.3392525032674194e+00 1.9776469739542058e+01 1.9922841287434835e+01 1 0 0 0 0 -P 310 211 -1.1698407055756944e-01 6.6383270616705115e-01 9.5858997540570403e+00 9.6105833857405401e+00 1 0 0 0 0 -V -87 0 0 0 0 0 0 2 0 -P 311 211 1.3668928578316808e+00 3.5273910635892820e+00 3.2919426948257488e+01 3.3136370262701405e+01 1 0 0 0 0 -P 312 111 3.4083938668539631e+00 7.3637743950997869e+00 8.1016841670164283e+01 8.1422289183628351e+01 2 0 0 -158 0 -V -88 0 0 0 0 0 0 2 0 -P 313 321 5.1398658600433409e+00 1.0815446396235405e+01 1.1230433937571154e+02 1.1294202222992146e+02 1 0 0 0 0 -P 314 -211 1.4809390437974521e+00 3.6232085950452890e+00 3.9666759311137888e+01 3.9859654978528077e+01 1 0 0 0 0 -V -89 0 0 0 0 0 0 2 0 -P 315 311 8.3836765391802071e-01 1.1061415327090975e+00 -2.0993031465343575e+00 2.5653768813702778e+00 2 0 0 -159 0 -P 316 211 1.0392575238106148e+00 7.2574223863792198e-01 -2.9001820808281353e+00 3.1681688535488077e+00 1 0 0 0 0 -V -90 0 0 0 0 0 0 2 0 -P 317 311 1.6058894356953304e-02 -3.9658053507255009e-01 -2.7554049904710340e+00 2.8279791546790221e+00 2 0 0 -160 0 -P 318 211 -4.9457973416370704e-01 -2.4449879686077405e-01 -2.6488057631132196e+00 2.7092509168981773e+00 1 0 0 0 0 -V -91 0 0 0 0 0 0 2 0 -P 319 211 5.5367043874559790e-02 5.2998456753257217e-01 5.0211679739135224e+00 5.0512925829459654e+00 1 0 0 0 0 -P 320 111 -2.6308556172843650e-01 -1.0479134122864993e-01 1.3534295300588093e+00 1.3893114594005462e+00 2 0 0 -161 0 -V -92 0 0 0 0 0 0 1 0 -P 321 130 3.6602657683902218e-01 2.7637537539729494e-02 1.1512728067232807e+00 1.3068449765883683e+00 1 0 0 0 0 -V -93 0 0 0 0 0 0 2 0 -P 322 -321 -1.8424422202606633e-01 1.0267733119375648e-01 3.3182378596813287e+00 3.3613735319231615e+00 1 0 0 0 0 -P 323 211 2.5061687005741484e-01 4.1111105095076861e-01 1.4668363167462029e+00 1.5501321481721444e+00 1 0 0 0 0 -V -94 0 4.9204414482214235e-05 9.3279171563236449e-05 3.5046945812757313e-05 1.2049586895639305e-04 0 2 0 -P 324 22 1.4638419996119670e-03 5.3436389585819963e-02 -2.7413433695101901e-02 6.0075676544863857e-02 1 0 0 0 0 -P 325 22 1.4114779065072622e-01 2.1691933131626764e-01 1.2899176186669112e-01 2.8916356916760982e-01 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 326 -211 -1.7165868603711240e-01 -4.4258740952734626e-01 6.6513282107305505e-01 8.2899443552578533e-01 1 0 0 0 0 -P 327 111 4.1393041000816050e-01 1.7855384603152144e-01 6.8502876375156219e-01 8.3108595694378429e-01 2 0 0 -162 0 -V -96 0 0 0 0 0 0 3 0 -P 328 -211 -3.9561090808922145e-01 -2.1572664482033080e-01 -2.0918580262695435e-01 5.1602757756276807e-01 1 0 0 0 0 -P 329 211 -7.2592869091610646e-01 -5.6546117318346967e-01 -8.6889461933755874e-01 1.2732542743250301e+00 1 0 0 0 0 -P 330 111 7.5195477124670789e-03 -3.7276307923386154e-02 -2.3492322655699543e-01 2.7359566792284662e-01 2 0 0 -163 0 -V -97 0 0 0 0 0 0 2 0 -P 331 211 -2.1245054419147788e-01 -9.4426467212448351e-01 -1.0757049671517334e+00 1.4537509986254611e+00 1 0 0 0 0 -P 332 111 -4.0237996847179375e-01 -1.8278784340935744e-01 -9.6114577330509182e-02 4.7199432952211190e-01 2 0 0 -164 0 -V -98 0 0 0 0 0 0 2 0 -P 333 211 2.0149439122852938e-01 -5.3302766918694060e-02 5.7020627225908882e-01 6.2294153215317916e-01 1 0 0 0 0 -P 334 111 -3.3335360091003480e-01 5.6583731288352612e-01 2.2813085968389601e+00 2.3777899407437744e+00 2 0 0 -165 0 -V -99 0 -3.5153111932296456e-07 1.6115135681743178e-05 4.6661535374685549e-05 4.9448443747731639e-05 0 2 0 -P 335 22 -9.2603642081564800e-03 7.6483303944505310e-01 2.1439769219474183e+00 2.2763330982997969e+00 1 0 0 0 0 -P 336 22 -7.4857902311984215e-03 2.8558964801153959e-03 7.8874014455751498e-02 7.9279905123913585e-02 1 0 0 0 0 -V -100 0 0 0 0 0 0 2 0 -P 337 -211 9.3383194809242093e-02 -2.6183692551778537e-01 6.6393712447782982e-01 7.3319253051110411e-01 1 0 0 0 0 -P 338 111 6.7289261809585277e-02 1.3713406947866838e-01 4.0726953178542686e+00 4.0777935639557263e+00 2 0 0 -166 0 -V -101 0 -1.9219786930458220e+00 -2.4415068214109641e+00 2.4918920370571573e+02 2.4927833695139438e+02 0 2 0 -P 339 2112 -3.3088369099467252e-01 -5.7444073773084292e-01 3.9933593320707132e+01 3.9950145600068296e+01 1 0 0 0 0 -P 340 211 -5.6758936924963282e-02 8.2014820752740830e-02 1.0325214502289962e+01 1.0326639449062938e+01 1 0 0 0 0 -V -102 0 -2.1522575615476658e+01 -4.3850708113160948e+02 3.2110018097210530e+04 3.2113842334975812e+04 0 2 0 -P 341 -3122 -6.1950855666021008e-02 -1.8608321980917468e+00 1.4056162772703544e+02 1.4057838548480370e+02 2 0 0 -167 0 -P 342 111 -6.1144406211079527e-02 -6.4714570154417439e-01 4.3086981861879245e+01 4.3092096279523801e+01 2 0 0 -168 0 -V -103 0 0 0 0 0 0 2 0 -P 343 -311 2.3049720807893612e-01 2.8623903870378370e-01 1.6043582351245217e+01 1.6055505966499382e+01 2 0 0 -169 0 -P 344 111 4.3323721233431339e-02 -1.5003883936399090e-01 1.1853284016418417e+00 1.2031673276307036e+00 2 0 0 -170 0 -V -104 0 0 0 0 0 0 3 0 -P 345 211 -9.5026966603014729e-03 1.0472305562351994e-01 5.4539722523898408e+00 5.4567710538707095e+00 1 0 0 0 0 -P 346 -211 1.5951683483820989e-01 -1.9899631133411760e-01 1.3219014899412011e+01 1.3222211609571907e+01 1 0 0 0 0 -P 347 111 -7.4674051730606081e-02 -1.1330685333969616e-01 1.8391615088576583e+00 1.8490941871844135e+00 2 0 0 -171 0 -V -105 0 0 0 0 0 0 2 0 -P 348 211 9.4240763765740421e-02 -2.0039207547628959e-01 4.4634358422556447e-01 5.1743664882589113e-01 1 0 0 0 0 -P 349 -211 1.2820088924631756e-01 5.1534025291000973e-01 1.0318751511090531e+00 1.1688700341138147e+00 1 0 0 0 0 -V -106 0 1.7283871159768377e-04 -5.1237670737495545e-05 4.6694794270726891e-04 5.0505361596110525e-04 0 2 0 -P 350 22 2.0590099653440450e-01 -1.0805686291631406e-01 4.5142756285929947e-01 5.0779754873991134e-01 1 0 0 0 0 -P 351 22 1.4033350106869832e-01 5.4163779105943517e-03 4.8397333694826589e-01 5.0393751552023625e-01 1 0 0 0 0 -V -107 0 -5.9571695161317901e+00 1.2245768940169006e+01 2.8503800469478131e+02 2.9797787574076551e+02 0 2 0 -P 352 -2212 -2.0445056851432947e-01 3.2050366895688145e-02 2.9022963766333598e+00 3.0572049508829320e+00 1 0 0 0 0 -P 353 111 1.2185508809238729e-01 1.3773583207185866e-01 1.0497232649974710e+00 1.0742245367740775e+00 2 0 0 -172 0 -V -108 0 -9.6322276038832619e+00 9.1930061220952801e+00 1.6049331662647239e+02 1.6189071810331086e+02 0 2 0 -P 354 2212 -4.0557945128879624e-01 6.3010018115544275e-01 8.6263887815885774e+00 8.7095611217567726e+00 1 0 0 0 0 -P 355 111 -2.8752136302370007e-01 3.1395818652041142e-02 2.9221390377369709e+00 2.9395187340600821e+00 2 0 0 -173 0 -V -109 0 0 0 0 0 0 2 0 -P 356 22 8.2860331849337263e-02 2.5946703798069704e-01 5.8422378213656290e-01 6.4459786379308515e-01 1 0 0 0 0 -P 357 111 1.6254024186608135e-01 -5.4323460646157928e-01 1.7376202728837526e+00 1.8327757585203810e+00 2 0 0 -174 0 -V -110 0 0 0 0 0 0 2 0 -P 358 3122 8.2287967470987355e-01 -4.8977375048154131e-01 1.9007652783367175e+00 2.4030521824217304e+00 2 0 0 -175 0 -P 359 22 4.2440133887952043e-02 4.8963717863264443e-02 5.5112841739653869e-02 8.5064892617582183e-02 1 0 0 0 0 -V -111 0 1.9575759832658340e-06 -8.4215463207310107e-06 3.4437014986610818e-05 3.5510543948550919e-05 0 2 0 -P 360 22 3.8993041770294784e-01 -1.7748547164591819e+00 7.3603534731863398e+00 7.5813559635089769e+00 1 0 0 0 0 -P 361 22 6.5790980468783872e-02 -1.8567141221184214e-01 6.5654331790388576e-01 6.8545711368985129e-01 1 0 0 0 0 -V -112 0 -1.9123820769240353e-05 -1.0931279074538166e-04 4.2796901319070433e-04 4.4237576117062659e-04 0 2 0 -P 362 22 -2.8016866721716417e-02 -2.9039021747390238e-02 1.1296536115102888e-01 1.1995575194600025e-01 1 0 0 0 0 -P 363 22 -1.4452078978212046e-01 -9.5719552670846475e-01 3.7482280417359468e+00 3.8712172488618730e+00 1 0 0 0 0 -V -113 0 -5.2829075954546687e-05 -1.9728039359830118e-05 3.2116418888762709e-04 3.3253598813309538e-04 0 2 0 -P 364 22 -9.2677622365995471e-02 3.5763487191755067e-02 4.0184387193941451e-01 4.1394041372978913e-01 1 0 0 0 0 -P 365 22 -1.6658093635336459e-02 -7.6592884067167299e-02 2.6284154819225458e-01 2.7428022427690846e-01 1 0 0 0 0 -V -114 0 1.9026721056032020e-06 -6.6487627924737098e-05 3.1923840683783920e-04 3.2634509371974645e-04 0 2 0 -P 366 22 -5.2922013066489092e-03 -1.8495279301222559e-01 1.1983795218151989e+00 1.2125794907319167e+00 1 0 0 0 0 -P 367 22 2.5362907683383399e-02 -5.1640486805460895e-01 2.1691688376471201e+00 2.2299351360646953e+00 1 0 0 0 0 -V -115 0 8.3080161206741342e-07 8.9690026702319606e-06 -7.7220185387585991e-03 7.7220260674473792e-03 0 2 0 -P 368 22 1.2807334442024216e-02 1.6872475428951880e-01 -8.7236246335492766e+01 8.7236410441840746e+01 1 0 0 0 0 -P 369 22 6.1102140270908939e-03 3.5501549883767261e-02 -8.8595935336439027e+01 8.8595942660108562e+01 1 0 0 0 0 -V -116 0 0 0 0 0 0 1 0 -P 370 130 -2.5901715207887410e-01 -6.0542629745708865e-01 -4.0542979190677522e+02 4.0543063213315133e+02 1 0 0 0 0 -V -117 0 -2.5932220974105986e-05 -3.2182840041165912e-05 -2.1919063527299769e-02 2.1919107939990485e-02 0 2 0 -P 371 22 -1.3648486710504911e-02 -2.4201149018738738e-02 -4.4727716633536524e+01 4.4727725263272021e+01 1 0 0 0 0 -P 372 22 -2.1288484139337188e-01 -2.5693504327423017e-01 -1.4674830135649992e+02 1.4674868069795471e+02 1 0 0 0 0 -V -118 0 -6.3426606413962393e-05 2.4808356359595279e-05 -7.4879667489093568e-03 7.4883096167834978e-03 0 2 0 -P 373 22 -2.0640267653597780e-01 9.1527235463937567e-02 -3.1540598860155647e+01 3.1541407003444920e+01 1 0 0 0 0 -P 374 22 -1.7782037660169078e-01 5.8755791844814761e-02 -1.3819694063004073e+01 1.3820962930434334e+01 1 0 0 0 0 -V -119 0 -7.6594382175148806e-05 1.0311568830732706e-04 -3.2105301032281353e-03 3.2132543973279917e-03 0 2 0 -P 375 22 -1.4532360372654066e-01 1.8123345408859942e-01 -4.2544899258831723e+00 4.2608272722702969e+00 1 0 0 0 0 -P 376 22 -1.8149523905037179e-01 2.5874855200269725e-01 -9.4444486025079506e+00 9.4497354852067552e+00 1 0 0 0 0 -V -120 0 -2.6945611630769845e-05 -5.9334602571253519e-05 -5.3573371544319063e-04 5.4164571933427151e-04 0 2 0 -P 377 22 -5.1425758174186931e-02 -1.9143430287238708e-01 -1.4218012667249478e+00 1.4355523476978096e+00 1 0 0 0 0 -P 378 22 -2.7515104904687560e-02 1.7605450827771700e-02 -1.4770409307338708e-01 1.5127303793933949e-01 1 0 0 0 0 -V -121 0 -3.9050402682915103e-07 -1.2881513157305690e-06 -6.6667818902411055e-05 6.7019627241645576e-05 0 2 0 -P 379 22 -3.0608461630266422e-02 4.7117413463821520e-02 -7.5238235400289355e-01 7.5447739209987430e-01 1 0 0 0 0 -P 380 22 2.2770067252179792e-02 -7.2973838334351560e-02 -5.8580783350209997e-01 5.9077447036609565e-01 1 0 0 0 0 -V -122 0 0 0 0 0 0 3 0 -P 381 111 2.9839928828064254e-02 1.0831091175723169e-01 -6.6841704714606320e-01 6.9110247016893900e-01 2 0 0 -176 0 -P 382 111 9.4051595670043689e-02 -1.5755662152753916e-01 -9.1611447140274083e-01 9.4401012534229567e-01 2 0 0 -177 0 -P 383 111 -5.8991234477435692e-02 5.1879693076710056e-03 -4.7175090929207414e-01 4.9424224990242172e-01 2 0 0 -178 0 -V -123 0 1.5187813460115701e-06 1.3188082387851436e-05 -6.6229648474863657e-05 7.1493291597544587e-05 0 2 0 -P 384 22 5.5902947386336610e-02 8.1294574520283755e-02 -3.1554495833037971e-01 3.3060938900859188e-01 1 0 0 0 0 -P 385 22 -4.7151088874938803e-02 -5.2992830333063673e-03 -6.6098201979547425e-02 8.1365102394629227e-02 1 0 0 0 0 -V -124 0 1.3941114862900531e+02 -3.8582616698811592e+01 -3.8025609716628168e+02 4.1577110253421068e+02 0 2 0 -P 386 211 3.9155250151203191e-01 -2.1528995768384931e-01 -1.5735145062373210e+00 1.6416731750135662e+00 1 0 0 0 0 -P 387 -211 4.1789588401695882e-01 -8.7282582441069474e-03 -6.3432673863972289e-01 7.7237513464870078e-01 1 0 0 0 0 -V -125 0 8.4498806531586952e-06 -1.1900512863807261e-05 -6.7398973710353891e-05 6.9967903545644137e-05 0 2 0 -P 388 22 -2.6630265638253693e-02 -6.5818770699674248e-02 -3.0798444672715158e-01 3.1606281187480750e-01 1 0 0 0 0 -P 389 22 1.2307273012265166e-01 -7.0007383103435336e-02 -4.6127175879284371e-01 4.8251379881686041e-01 1 0 0 0 0 -V -126 0 7.8004833521485510e-05 1.1576629387707435e-05 -3.0620108155017886e-04 3.1874407920848768e-04 0 2 0 -P 390 22 1.9933684671653129e-01 7.6146875018833646e-02 -6.2136899240287891e-01 6.5698778508720601e-01 1 0 0 0 0 -P 391 22 6.2267559322930169e-02 -3.7322393019573769e-02 -4.0553598837003274e-01 4.1198258194734583e-01 1 0 0 0 0 -V -127 0 -8.7813863521750088e-06 1.2034602514798763e-05 -1.5143311212175529e-04 1.6721408133485042e-04 0 2 0 -P 392 22 -2.3942903281016213e-03 -3.0130749814585231e-02 -5.2283330825283574e-03 3.0674585203165079e-02 1 0 0 0 0 -P 393 22 -1.4702427472264043e-02 5.3561241855756364e-02 -2.8960087494286813e-01 2.9487901717548981e-01 1 0 0 0 0 -V -128 0 -2.1423274294986983e-09 -5.6955749109414071e-08 -1.2016903773209067e-06 1.2236738425450761e-06 0 2 0 -P 394 22 2.9979179212612915e-02 -5.2589578798866686e-02 -6.6790136325526994e-01 6.7063898337537198e-01 1 0 0 0 0 -P 395 22 -3.1271496752553057e-02 1.8232125983285968e-02 -5.6995088522171715e-02 6.7518568132518497e-02 1 0 0 0 0 -V -129 0 6.4230189101412486e-04 2.1134687592085452e-04 -1.2311020831505474e-03 1.4158196050410717e-03 0 2 0 -P 396 22 4.7543339096574699e-01 1.2513612268912652e-01 -8.8650115517581829e-01 1.0136963335116276e+00 1 0 0 0 0 -P 397 22 1.1406207269271662e-02 3.5056505732190810e-02 -4.6625855552734644e-02 5.9439301513772705e-02 1 0 0 0 0 -V -130 0 6.1987795725867684e-06 9.5499117210155789e-07 -4.4541397254386405e-06 9.4731035377011082e-06 0 2 0 -P 398 22 3.1268929850001737e-02 -1.5940111577112004e-02 2.8161984871342943e-02 4.4999228026143444e-02 1 0 0 0 0 -P 399 22 1.2007827458552617e-01 3.9256837468990093e-02 -1.3691268131352266e-01 1.8629270951908428e-01 1 0 0 0 0 -V -131 0 -6.1020743762232836e-06 2.3286883231540951e-05 3.1154149503248974e-05 4.0116565936475085e-05 0 2 0 -P 400 22 9.8091349468157167e-03 2.8377074072342766e-02 2.8749442920756804e-03 3.0161942344527581e-02 1 0 0 0 0 -P 401 22 -1.1681959734655756e-01 3.7999883038497267e-01 5.4346712538239117e-01 6.7335165091470495e-01 1 0 0 0 0 -V -132 0 0 0 0 0 0 1 0 -P 402 310 6.3943275598408489e-01 1.2113139656898524e+00 3.6184751514319600e+00 3.9009221503807563e+00 2 0 0 -179 0 -V -133 0 2.1682042467538229e-04 5.8286243176109223e-04 1.5576230338453930e-03 1.6773997708551909e-03 0 2 0 -P 403 22 2.4201269272194240e-02 6.6012324731882441e-02 2.3795568295198377e-01 2.4812544307272844e-01 1 0 0 0 0 -P 404 22 1.0510982471609078e+00 2.8246364319896307e+00 7.4869221627889990e+00 8.0707733191912254e+00 1 0 0 0 0 -V -134 0 3.4028799303023395e-07 6.8044664732665194e-05 2.3824180161942965e-04 2.4828257593497463e-04 0 2 0 -P 405 22 -1.8724816343446530e-02 1.8332032364017255e-02 1.8532644632463863e-01 1.8716990640861672e-01 1 0 0 0 0 -P 406 22 2.1601819009504697e-02 5.5695914997728446e-01 1.8289153502253255e+00 1.9119627328004498e+00 1 0 0 0 0 -V -135 0 -2.8410493234902523e-07 4.9653121634296811e-06 1.2557293115166877e-05 1.3560118830762203e-05 0 2 0 -P 407 22 -4.4743249094535947e-02 1.9716395208185372e-01 6.6189268680366531e-01 6.9208201189183216e-01 1 0 0 0 0 -P 408 22 1.2964127804323806e-02 3.5824089844551110e-01 7.4272826674382830e-01 8.2471200315568660e-01 1 0 0 0 0 -V -136 0 1.2820883171547144e-04 3.9619298966311092e-04 1.2949937227216559e-03 1.3632177937560695e-03 0 2 0 -P 409 22 9.5401467154298369e-02 1.4201353519440010e-01 4.1464312309795665e-01 4.4855122744902953e-01 1 0 0 0 0 -P 410 22 9.8717857676942675e-02 4.5785711823261399e-01 1.5460900319572877e+00 1.6154791063515139e+00 1 0 0 0 0 -V -137 0 2.1777252934043211e-04 2.7706919009262037e-04 2.5559848756957063e-03 2.5836416730343919e-03 0 2 0 -P 411 22 2.2477690016267710e-01 2.0485754477111837e-01 1.9801073036459287e+00 2.0033262845698210e+00 1 0 0 0 0 -P 412 22 -5.3958177061138798e-03 7.4258186776740800e-02 5.9475707649892273e-01 5.9939917684096833e-01 1 0 0 0 0 -V -138 0 0 0 0 0 0 1 0 -P 413 130 -3.7995269441653340e-01 1.6535799088428479e-01 -6.1483584577768262e+00 6.1823696483920711e+00 1 0 0 0 0 -V -139 0 0 0 0 0 0 1 0 -P 414 130 -3.9453058218165832e-01 2.5328290511276014e-01 -7.7255254295189668e-01 1.0316586018738949e+00 1 0 0 0 0 -V -140 0 5.1667498257619163e-05 1.1962214121015359e-05 6.6265382966993475e-05 8.6460256588212749e-05 0 2 0 -P 415 22 1.3628231428135446e-01 -3.0848081013764246e-02 1.8460013377020124e-01 2.3152037205414516e-01 1 0 0 0 0 -P 416 22 2.8685562368232276e-01 1.2881424518545415e-01 3.5808914774329187e-01 4.7655754776562892e-01 1 0 0 0 0 -V -141 0 1.4713679733888919e-04 2.5364571091757474e-04 -3.5805830609983571e-04 4.8528410808895716e-04 0 2 0 -P 417 22 1.5170505358038230e-01 1.4788339243534807e-01 -2.0395109752352847e-01 2.9407477148008737e-01 1 0 0 0 0 -P 418 22 -1.5653415608630622e-02 8.6652869458158130e-02 -1.2713140471466566e-01 1.5464845059124649e-01 1 0 0 0 0 -V -142 0 9.7597729456307835e-06 -2.4311387032276793e-06 -1.5958603367984514e-05 2.0536181575424412e-05 0 2 0 -P 419 22 1.7652769046773198e-01 -5.0690402920813803e-02 -2.6675987154484626e-01 3.2387091798549728e-01 1 0 0 0 0 -P 420 22 -1.4239926135551901e-02 1.0264865654100702e-02 1.3965196634240379e-03 1.7609464228449393e-02 1 0 0 0 0 -V -143 0 -2.1652244280857262e-08 6.8267089224883744e-08 1.3007207375452835e-05 1.3045179682912007e-05 0 2 0 -P 421 22 4.6650114506723746e-02 -3.2179447089061786e-02 1.2307133927841611e+00 1.2320175344437061e+00 1 0 0 0 0 -P 422 22 -4.9596190139431888e-02 4.1468091973747144e-02 5.3909006044410879e-01 5.4295255593644887e-01 1 0 0 0 0 -V -144 0 -3.5047386073016382e-05 5.9568512439212194e-05 7.1411357862754014e-04 7.1820668730872685e-04 0 2 0 -P 423 22 -1.6211167583281016e-02 1.6029005891738021e-01 1.5450176957825907e+00 1.5533947937415964e+00 1 0 0 0 0 -P 424 22 -1.2734670917005905e-01 8.3708998510534635e-02 1.3800686115077676e+00 1.3884573285618313e+00 1 0 0 0 0 -V -145 0 -7.8293712475779411e-06 5.6698396843146972e-06 9.7563357563170913e-05 1.0036958783961753e-04 0 2 0 -P 425 22 -4.4907714662178962e-04 2.5252550384878151e-03 5.2306614750949010e-01 5.2307243595291153e-01 1 0 0 0 0 -P 426 22 -4.8718143319626740e-02 3.3080446741616781e-02 8.9616398642579656e-02 1.0723279512724822e-01 1 0 0 0 0 -V -146 0 -5.4416939621261388e-05 3.5741612642758141e-05 4.9122987480755935e-03 4.9134773215459586e-03 0 2 0 -P 427 22 -2.6387009064352013e-02 8.4004864299616053e-02 5.9618585584390296e+00 5.9625087473567762e+00 1 0 0 0 0 -P 428 22 -5.9337350640484919e-02 -2.7700212109627198e-02 1.7766079519621116e+00 1.7778143991730293e+00 1 0 0 0 0 -V -147 0 -4.8810730286750834e+00 1.2545934191710093e+00 4.4352264291904982e+02 4.4621617285212420e+02 0 2 0 -P 429 211 -1.7457052418593882e-01 1.4834074360287047e-01 2.2901757748054155e+00 2.3058327581446125e+00 1 0 0 0 0 -P 430 -211 1.2468457532958163e-01 -1.3551844351094258e-01 2.2427512581060007e+00 2.2546229135917155e+00 1 0 0 0 0 -V -148 0 3.3734014604774782e+00 -1.1151308101528222e+01 9.5193318840002597e+04 9.5193333043762643e+04 0 2 0 -P 431 2212 8.1826167453099480e-02 -1.1732909246796693e-01 1.8196620878460528e+03 1.8196623353678799e+03 1 0 0 0 0 -P 432 -211 -7.5635894950737050e-03 -1.2815751709391118e-01 2.7593825627613575e+02 2.7593832143806401e+02 1 0 0 0 0 -V -149 0 5.5860599777425171e-05 -5.4550622136858487e-05 1.0130742338609310e-01 1.0130745626221979e-01 0 2 0 -P 433 22 5.3127991794322899e-02 -3.2276297017659527e-03 4.3064051628352409e+01 4.3064084521216841e+01 1 0 0 0 0 -P 434 22 2.6408053243379820e-01 -3.0654209014917899e-01 5.3221760294927924e+02 5.3221775674591811e+02 1 0 0 0 0 -V -150 0 -1.5319121601429257e+00 -1.1341243479074379e+00 2.3597355380886921e+01 2.3674761521425197e+01 0 3 0 -P 435 -11 -3.4448541147224727e+00 -2.1673819217200201e+00 5.1935029434568854e+01 5.2094259250861342e+01 1 0 0 0 0 -P 436 12 -4.2238184423944363e+00 -2.9424417727589072e+00 5.8151692879242468e+01 5.8379088640900576e+01 1 0 0 0 0 -P 437 -323 -9.9910486473977098e+00 -7.9642417228415239e+00 1.6194109235634318e+02 1.6244679657182928e+02 2 0 0 -180 0 -V -151 0 -3.0267907484688106e-04 -2.1667467318300509e-04 4.6924589888549329e-03 4.7072814206849970e-03 0 2 0 -P 438 22 -3.8616153777891304e-01 -3.2085121577077497e-01 6.9505767564859688e+00 6.9686859223044602e+00 1 0 0 0 0 -P 439 22 -1.0914836094260980e+00 -7.3693013073646418e-01 1.5957479430905517e+01 1.6011731707563854e+01 1 0 0 0 0 -V -152 0 -1.7062890829058920e-05 -2.8245053783665636e-05 3.1793469023735265e-04 3.1964635688822040e-04 0 2 0 -P 440 22 -1.0435465547979850e+00 -1.7996058853758738e+00 1.9566723582087082e+01 1.9676997801811968e+01 1 0 0 0 0 -P 441 22 -4.4284830510871187e-01 -6.6089762381432915e-01 8.1294326020695031e+00 8.1682663229164856e+00 1 0 0 0 0 -V -153 0 -3.1542001895608145e-05 5.3968764619798570e-06 3.4264526572323572e-04 3.4669349205948460e-04 0 2 0 -P 442 22 -8.0791166844111639e-02 -3.2189915652128150e-02 3.3426949576462373e-01 3.4539759569003958e-01 1 0 0 0 0 -P 443 22 -2.0504908268697278e-02 4.9521802362317624e-02 7.6612421699404609e-01 7.6799685939270645e-01 1 0 0 0 0 -V -154 0 9.1194079493466010e-06 -2.2055972303718910e-05 7.1746026337098247e-05 8.8525564591978662e-05 0 2 0 -P 444 22 4.4375559630183692e-02 -8.1141214280723017e-02 6.7063784646850977e-02 1.1423938969813084e-01 1 0 0 0 0 -P 445 22 -1.7639118184421713e-02 1.6477124758334672e-02 1.4328248374937363e-01 1.4530142559526124e-01 1 0 0 0 0 -V -155 0 0 0 0 0 0 3 0 -P 446 -211 -1.2083893186628652e-02 -3.0447187204953679e-03 2.1866051202995368e-01 2.5970655595851694e-01 1 0 0 0 0 -P 447 211 -3.9017277570356779e-02 6.7873350480066846e-02 9.7799031246865564e-01 9.9099645601633257e-01 1 0 0 0 0 -P 448 111 -5.9149728770745383e-02 -5.5443048548393381e-02 1.1932323674186009e+00 1.2035762149117901e+00 2 0 0 -181 0 -V -156 0 0 0 0 0 0 1 0 -P 449 130 2.1723555449960955e-01 2.5511909827769035e+00 2.9876035175259780e+01 2.9989680224020404e+01 1 0 0 0 0 -V -157 0 0 0 0 0 0 1 0 -P 450 130 7.4141747198539887e-01 1.8100047541943822e+00 1.5235835672865862e+01 1.5368935589605529e+01 1 0 0 0 0 -V -158 0 1.7351913697729272e-03 3.7488501266216717e-03 4.1245152398448455e-02 4.1451563116734411e-02 0 2 0 -P 451 22 1.0308594459127123e+00 2.3659970894042619e+00 2.5530134555087137e+01 2.5660249099047178e+01 1 0 0 0 0 -P 452 22 2.3775344209412506e+00 4.9977773056955250e+00 5.5486707115077145e+01 5.5762040084581187e+01 1 0 0 0 0 -V -159 0 0 0 0 0 0 1 0 -P 453 310 8.3836765391802071e-01 1.1061415327090975e+00 -2.0993031465343575e+00 2.5653768813702778e+00 2 0 0 -182 0 -V -160 0 0 0 0 0 0 1 0 -P 454 130 1.6058894356953304e-02 -3.9658053507255009e-01 -2.7554049904710340e+00 2.8279791546790221e+00 1 0 0 0 0 -V -161 0 -1.9621188813682868e-04 -7.8154448263063547e-05 1.0094015110836691e-03 1.0361626189904641e-03 0 2 0 -P 455 22 -2.3254182817736807e-01 -1.2491575400732739e-01 1.0094632796952816e+00 1.0434058464971556e+00 1 0 0 0 0 -P 456 22 -3.0543733551068413e-02 2.0124412778677454e-02 3.4396625036352763e-01 3.4590561290339050e-01 1 0 0 0 0 -V -162 0 8.3568869810553821e-05 3.6048434114535610e-05 1.3830121728265946e-04 1.6778886609429203e-04 0 2 0 -P 457 22 2.4288492612237900e-01 9.0668436853967346e-02 2.7353811306807857e-01 3.7687790075813715e-01 1 0 0 0 0 -P 458 22 1.7104548388578150e-01 8.7885409177554094e-02 4.1149065068348356e-01 4.5420805618564708e-01 1 0 0 0 0 -V -163 0 1.3216006764163915e-07 -6.5515102303526367e-07 -4.1289011918747853e-06 4.8085900059113686e-06 0 2 0 -P 459 22 -3.5887241341837671e-03 -8.6583539240239468e-02 -1.1971285349112167e-01 1.4778618169255256e-01 1 0 0 0 0 -P 460 22 1.1108271846650846e-02 4.9307231316853314e-02 -1.1521037306587376e-01 1.2580948623029431e-01 1 0 0 0 0 -V -164 0 -1.5055072319461211e-05 -6.8390188808296272e-06 -3.5961330733259308e-06 1.7659698101569677e-05 0 2 0 -P 461 22 -4.0993083371611022e-01 -1.7677142719017691e-01 -1.0529647981044868e-01 4.5867066023728786e-01 1 0 0 0 0 -P 462 22 7.5508652443164728e-03 -6.0164162191805306e-03 9.1819024799394983e-03 1.3323669284824168e-02 1 0 0 0 0 -V -165 0 -2.7392401929328713e-06 4.6496102213396840e-06 1.8746016793834067e-05 1.9538825314188313e-05 0 2 0 -P 463 22 -1.0003731834853867e-01 2.5283097632200424e-01 1.1235326616057013e+00 1.1559656609714217e+00 1 0 0 0 0 -P 464 22 -2.3331628256149614e-01 3.1300633656152188e-01 1.1577759352332588e+00 1.2218242797723524e+00 1 0 0 0 0 -V -166 0 8.0199826021123069e-06 1.6344552188550145e-05 4.8541096624487993e-04 4.8601860918723636e-04 0 2 0 -P 465 22 8.3203992980317998e-03 1.3075378695986642e-01 2.0217898032967851e+00 2.0260305502542839e+00 1 0 0 0 0 -P 466 22 5.8968862511553477e-02 6.3802825188019703e-03 2.0509055145574835e+00 2.0517630137014415e+00 1 0 0 0 0 -V -167 0 -2.2176502920647817e+01 -4.5814924703217315e+02 3.3593727812626566e+04 3.3597728938269509e+04 0 2 0 -P 467 -2112 1.7006220476968738e-02 -1.4198676287057894e+00 1.1029194055578076e+02 1.1030508264191346e+02 1 0 0 0 0 -P 468 111 -7.8957076142989746e-02 -4.4096456938595763e-01 3.0269687171254702e+01 3.0273302842890274e+01 2 0 0 -183 0 -V -168 0 -2.1522583089730073e+01 -4.3850716023828937e+02 3.2110023364135854e+04 3.2113847602526319e+04 0 2 0 -P 469 22 -5.9972763472978974e-02 -9.9333440691246874e-02 7.7279221313918729e+00 7.7287932003421123e+00 1 0 0 0 0 -P 470 22 -1.1716427381005567e-03 -5.4781226085292756e-01 3.5359059730487374e+01 3.5363303079181698e+01 1 0 0 0 0 -V -169 0 0 0 0 0 0 1 0 -P 471 310 2.3049720807893612e-01 2.8623903870378370e-01 1.6043582351245217e+01 1.6055505966499382e+01 2 0 0 -184 0 -V -170 0 3.4914532678784311e-06 -1.2091611271883410e-05 9.5525467425175406e-05 9.6963104236280875e-05 0 2 0 -P 472 22 -2.8578799884222700e-03 -9.5650782111636912e-02 1.0001698534411347e+00 1.0047372668160850e+00 1 0 0 0 0 -P 473 22 4.6181601221853615e-02 -5.4388057252354009e-02 1.8515854820070704e-01 1.9843006081461845e-01 1 0 0 0 0 -V -171 0 -9.1930787284703778e-06 -1.3949140284832638e-05 2.2641809508738701e-04 2.2764090129283901e-04 0 2 0 -P 474 22 -5.6083499290132392e-02 -1.8008624103932162e-02 1.2949529474570507e+00 1.2962919445720726e+00 1 0 0 0 0 -P 475 22 -1.8590552440473678e-02 -9.5298229235763990e-02 5.4420856140060736e-01 5.5280224261234023e-01 1 0 0 0 0 -V -172 0 -5.9571323110808398e+00 1.2245810993961999e+01 2.8503832519848919e+02 2.9797820372525308e+02 0 2 0 -P 476 22 8.5402691888110185e-02 9.3794685734850029e-04 4.4832020929371880e-01 4.5638307329173206e-01 1 0 0 0 0 -P 477 22 3.6452396204277100e-02 1.3679788521451017e-01 6.0140305570375219e-01 6.1784146348234537e-01 1 0 0 0 0 -V -173 0 -9.6322483005437558e+00 9.1930083820616098e+00 1.6049352697091061e+02 1.6189092969879238e+02 0 2 0 -P 478 22 -2.5840597269925236e-01 2.3419710580106768e-02 2.8430324580141546e+00 2.8548477519637201e+00 1 0 0 0 0 -P 479 22 -2.9115390324447706e-02 7.9761080719343742e-03 7.9106579722816081e-02 8.4670982096361508e-02 1 0 0 0 0 -V -174 0 1.9362453383904747e-06 -6.4712311384416142e-06 2.0699238014152610e-05 2.1832768783954246e-05 0 2 0 -P 480 22 7.9982585631339087e-02 -3.0055554413619706e-01 7.3899963334118335e-01 8.0178008655346600e-01 1 0 0 0 0 -P 481 22 8.2557656234742274e-02 -2.4267906232538228e-01 9.9862063954256941e-01 1.0309956719669151e+00 1 0 0 0 0 -V -175 0 5.9189417978298913e+00 -3.5229237181331476e+00 1.3672131417971420e+01 1.7285061767891126e+01 0 2 0 -P 482 2112 6.4235137517222740e-01 -4.9497879877226753e-01 1.6667267978295450e+00 2.0780734597031976e+00 1 0 0 0 0 -P 483 111 1.8052829953764615e-01 5.2050482907261431e-03 2.3403848050717271e-01 3.2497872271853295e-01 2 0 0 -185 0 -V -176 0 3.2368107173649057e-05 1.1748751882197927e-04 -7.2504846587870763e-04 7.4965590405039033e-04 0 2 0 -P 484 22 3.3096438086071843e-02 9.5270032922071729e-02 -6.7001799393867234e-01 6.7756613373792551e-01 1 0 0 0 0 -P 485 22 -3.2565092580075930e-03 1.3040878835159950e-02 1.6009467926091832e-03 1.3536336431013284e-02 1 0 0 0 0 -V -177 0 1.7771818971166606e-05 -2.9771613501586606e-05 -1.7310732929777555e-04 1.7837844148214842e-04 0 2 0 -P 486 22 6.1558622792612913e-02 -1.6626655517397546e-01 -5.8726617661499658e-01 6.1344567290473251e-01 1 0 0 0 0 -P 487 22 3.2492972877430783e-02 8.7099336464362964e-03 -3.2884829478774430e-01 3.3056445243756311e-01 1 0 0 0 0 -V -178 0 -9.0319580215618126e-06 7.9431328093258927e-07 -7.2228263183565165e-05 7.5671839946126528e-05 0 2 0 -P 488 22 2.9573892989124079e-02 1.8632854481216092e-02 -3.9234195500013468e-02 5.2546365327999708e-02 1 0 0 0 0 -P 489 22 -8.8565127466559770e-02 -1.3444885173545086e-02 -4.3251671379206064e-01 4.4169588457442188e-01 1 0 0 0 0 -V -179 0 3.8965967184924509e+01 7.3815455645638423e+01 2.2050384921737077e+02 2.3771569892247584e+02 0 2 0 -P 490 -211 3.4370582722418813e-01 9.0073938794577968e-01 2.0637289851098379e+00 2.2820872572159208e+00 1 0 0 0 0 -P 491 211 2.9572692875989670e-01 3.1057457774407260e-01 1.5547461663221218e+00 1.6188348931648355e+00 1 0 0 0 0 -V -180 0 -1.5319121601429257e+00 -1.1341243479074379e+00 2.3597355380886921e+01 2.3674761521425197e+01 0 2 0 -P 492 -311 -5.3510513540338858e+00 -4.2539020075613285e+00 9.0128199084237636e+01 9.0388436088253655e+01 2 0 0 -186 0 -P 493 -211 -4.6399972933638240e+00 -3.7103397152801953e+00 7.1812893272105555e+01 7.2058360483575626e+01 1 0 0 0 0 -V -181 0 -6.5602296668407379e-06 -6.1491259464092745e-06 1.3234005529448296e-04 1.3348727974680637e-04 0 2 0 -P 494 22 1.9370444762873518e-02 5.2687557162780880e-03 2.9877395026023861e-02 3.5994897564105149e-02 1 0 0 0 0 -P 495 22 -7.8520173533618898e-02 -6.0711804264671466e-02 1.1633549723925771e+00 1.1675813173476850e+00 1 0 0 0 0 -V -182 0 5.7856733218161665e+01 7.6336122058612588e+01 -1.4487536765697124e+02 1.7703966169953557e+02 0 2 0 -P 496 -211 7.3723989960307834e-01 1.0190140014707236e+00 -1.6758967864123988e+00 2.1000052448428641e+00 1 0 0 0 0 -P 497 211 1.0112775431494231e-01 8.7127531238373843e-02 -4.2340636012195859e-01 4.6537163652741326e-01 1 0 0 0 0 -V -183 0 -2.2176503811378527e+01 -4.5814925200678346e+02 3.3593728154105018e+04 3.3597729279788749e+04 0 2 0 -P 498 22 -1.6452711791992366e-02 -3.6019051458233342e-01 2.5273229778463250e+01 2.5275801695169278e+01 1 0 0 0 0 -P 499 22 -6.2504364350997391e-02 -8.0774054803624262e-02 4.9964573927914531e+00 4.9975011477210005e+00 1 0 0 0 0 -V -184 0 8.3204896062159062e+00 1.0332658544013446e+01 5.7914133239431510e+02 5.7957175112961193e+02 0 2 0 -P 500 111 2.3112168034984848e-01 1.3399634313306413e-01 4.4107569879031141e+00 4.4209013852196390e+00 2 0 0 -187 0 -P 501 111 -6.2447227091235033e-04 1.5224269557071959e-01 1.1632825363342103e+01 1.1634604581279744e+01 2 0 0 -188 0 -V -185 0 5.9191423123642126e+00 -3.5229179368354964e+00 1.3672391366783058e+01 1.7285422724912362e+01 0 2 0 -P 502 22 1.3849160653925421e-01 4.8985762220871587e-02 9.9620470836708538e-02 1.7749300885361896e-01 1 0 0 0 0 -P 503 22 4.2036692998391960e-02 -4.3780713930145439e-02 1.3441800967046419e-01 1.4748571386491399e-01 1 0 0 0 0 -V -186 0 -1.5319121601429257e+00 -1.1341243479074379e+00 2.3597355380886921e+01 2.3674761521425197e+01 0 1 0 -P 504 310 -5.3510513540338858e+00 -4.2539020075613285e+00 9.0128199084237636e+01 9.0388436088253655e+01 2 0 0 -189 0 -V -187 0 8.3205058018096860e+00 1.0332667933657628e+01 5.7914164147318786e+02 5.7957206091934199e+02 0 2 0 -P 505 22 1.4556432632519314e-01 1.1477835496819101e-01 2.0062005312401254e+00 2.0147465387526720e+00 1 0 0 0 0 -P 506 22 8.5557354024655349e-02 1.9217988164873117e-02 2.4045564566629887e+00 2.4061548464669662e+00 1 0 0 0 0 -V -188 0 8.3204895606801834e+00 1.0332669645357106e+01 5.7914218064513989e+02 5.7957259951017500e+02 0 2 0 -P 507 22 -5.3429310476486372e-02 1.0250131131284537e-01 4.7891381981192582e+00 4.7905329443313311e+00 1 0 0 0 0 -P 508 22 5.2804838205574023e-02 4.9741384257874215e-02 6.8436871652228444e+00 6.8440716369484100e+00 1 0 0 0 0 -V -189 0 -3.2981548940590801e+02 -2.6210829108664274e+02 5.5529047098669216e+03 5.5689474897177488e+03 0 2 0 -P 509 -211 -1.7367273505747305e+00 -1.5458641657711161e+00 2.8848140564360470e+01 2.8942021555434749e+01 1 0 0 0 0 -P 510 211 -3.6143240034591551e+00 -2.7080378417902127e+00 6.1280058519877166e+01 6.1446414532818906e+01 1 0 0 0 0 -E 5 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 218 0 0 -V -1 0 0 0 0 0 1 3 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 21 3.2992939111429004e-01 -7.1181912190923491e-01 9.0096214824555136e+02 9.0096248984688827e+02 3 0 0 -3 0 -P 14 2 -5.5365822308336554e-01 3.4509673924388229e-01 2.5091064739376443e+00 2.6134545117488437e+00 2 0 0 -9 0 -P 29 2101 2.2372883196907553e-01 3.6672238266535262e-01 5.3966101099142470e+03 5.3966101581077546e+03 2 0 0 -25 0 -V -2 0 0 0 0 0 1 3 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 21 -4.4604738137447780e-01 -4.4508489499117149e-01 -3.3991077613470765e+01 3.3996917744924559e+01 3 0 0 -4 0 -P 16 2203 2.3781727192142083e-01 1.3771298185638053e-01 -6.2853045277091305e+03 6.2853045810455988e+03 2 0 0 -11 0 -P 37 1 2.0823010945305698e-01 3.0737191313479095e-01 -7.4415207898946619e+01 7.4416865722193066e+01 2 0 0 -25 0 -V -3 0 0 0 0 0 0 5 0 -P 5 1 -3.0085522013949689e-01 1.1399974905881729e+00 5.0422379313784262e+02 5.0422517159941145e+02 3 0 0 -5 0 -P 13 -1 1.2673117148687165e+00 -1.3842638091505211e+00 7.8698417845006162e+01 7.8721484593363400e+01 2 0 0 -9 0 -P 30 21 -4.6149507887473545e-01 -2.2715799945074164e-01 5.7059132312250952e+01 5.7061450723684736e+01 2 0 0 -25 0 -P 31 21 -4.0362956554163681e-01 1.1673687347620827e+00 1.4998499597455123e+02 1.4999008195235854e+02 2 0 0 -25 0 -P 32 21 2.5074276787416866e-01 -1.3942091873039719e+00 1.0761474191487194e+02 1.0762406500684733e+02 2 0 0 -25 0 -V -4 0 0 0 0 0 0 4 0 -P 6 -2 3.6455143299337252e+00 3.8342312877411899e+00 -1.8047247107697999e+00 5.5900031824060150e+00 3 0 0 -5 0 -P 15 2 -4.1159171909325689e+00 -3.0147215458824776e+00 -2.9604825409076863e+01 3.0043034264596933e+01 2 0 0 -11 0 -P 35 21 -1.6212560032512757e-01 -8.5363446188281877e-01 8.8578769426193138e-01 1.2408047163436402e+00 2 0 0 -25 0 -P 36 21 1.6433585287674621e-01 -4.2451452632135017e-01 -8.6248126834592029e-02 4.6331155282492553e-01 2 0 0 -25 0 -V -5 0 0 0 0 0 0 2 0 -P 7 -24 -9.0579211800333426e-01 3.7016351602104836e+00 4.9106971928988440e+02 4.9762938157847765e+02 3 0 0 -6 0 -P 8 22 4.2504512277975630e+00 1.2725936181188806e+00 1.1349349137188561e+01 1.2185793203339950e+01 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 -24 -9.0579211800333426e-01 3.7016351602104836e+00 4.9106971928988440e+02 4.9762938157847765e+02 2 0 0 -8 0 -V -7 0 0 0 0 0 0 1 0 -P 10 22 4.2504512277975630e+00 1.2725936181188806e+00 1.1349349137188561e+01 1.2185793203339923e+01 1 0 0 0 0 -V -8 0 0 0 0 0 0 2 0 -P 11 11 -3.1560318019062390e+01 2.6910330199055338e+01 2.8518798748746264e+02 2.8818814644654589e+02 1 0 0 0 0 -P 12 -12 3.0654525901059060e+01 -2.3208695038844859e+01 2.0588173180242171e+02 2.0944123513193171e+02 1 0 0 0 0 -V -9 0 0 0 0 0 0 1 0 -P 46 92 7.1365349178535098e-01 -1.0391670699066387e+00 8.1207524318943811e+01 8.1334939105112241e+01 2 0 0 -10 0 -V -10 0 0 0 0 0 0 5 0 -P 47 111 -1.2987933502875690e-01 -2.5113340363148784e-01 2.5317152752162979e+00 2.5510269428703771e+00 2 0 0 -35 0 -P 48 213 7.4830653663342495e-01 -1.7382372879353764e-02 4.3774839145295914e+01 4.3790551134415779e+01 2 0 0 -36 0 -P 49 -213 -2.9117511823875525e-01 -4.3939165795158736e-01 1.4260854072619713e+01 1.4288861360745033e+01 2 0 0 -37 0 -P 50 213 -2.1069355383734140e-01 -2.7656697558868826e-01 1.5627412790254821e+01 1.5654259573374869e+01 2 0 0 -38 0 -P 51 111 5.9709496225677960e-01 -5.4692659855521464e-02 5.0127030355570623e+00 5.0502400937061882e+00 2 0 0 -39 0 -V -11 0 0 0 0 0 0 1 0 -P 52 92 -3.8780999190111483e+00 -2.8770085640260969e+00 -6.3149093531182070e+03 6.3153476153101956e+03 2 0 0 -12 0 -V -12 0 0 0 0 0 0 10 0 -P 53 113 -2.6442133118282958e+00 -2.3165293324998335e+00 -2.2580063872574136e+01 2.2865503691765191e+01 2 0 0 -40 0 -P 54 221 -5.1630481154154895e-01 1.5967696321760094e-02 -2.0035205258790207e+01 2.0049338564902872e+01 2 0 0 -41 0 -P 55 211 -8.7519077897546693e-01 -6.7220077889196328e-01 -6.5156567288365199e+00 6.6099224790975617e+00 1 0 0 0 0 -P 56 111 1.9202974635290213e-01 2.5211810958452568e-01 -9.4217139466307191e+00 9.4280089232669173e+00 2 0 0 -42 0 -P 57 -213 9.4326428486984373e-02 -4.8155754348202640e-01 -4.3195836080971688e+01 4.3206533032295752e+01 2 0 0 -43 0 -P 58 321 -4.2092082351619076e-01 7.6023322511133951e-01 -5.4832750693731569e+01 5.4841857358199974e+01 1 0 0 0 0 -P 59 -323 5.3330045068290033e-01 -4.0351878893496296e-01 -6.3591499500441905e+01 6.3601150529299844e+01 2 0 0 -44 0 -P 60 111 -4.7209376929507818e-01 -5.2551861933480060e-01 -3.3238644448347941e+01 3.3246424570325850e+01 2 0 0 -45 0 -P 61 2224 6.8188613475259922e-03 3.7782727808420416e-02 -9.1247280998350175e+02 9.1247367669780419e+02 2 0 0 -46 0 -P 62 111 2.2414808927512009e-01 4.5621474029144382e-01 -5.1490251726043825e+03 5.1490251994632381e+03 2 0 0 -47 0 -V -13 0 0 0 0 0 2 1 0 -P 17 2 -3.6919233007313528e+00 8.1942682496522661e+00 2.9565764077792278e+02 2.9579421373680213e+02 2 0 0 -13 0 -P 18 -2 3.6919233007313528e+00 -8.1942682496522661e+00 1.0292203617146285e+02 1.0331370605822661e+02 2 0 0 -13 0 -P 63 92 0 0 3.9857967694938566e+02 3.9910791979502875e+02 2 0 0 -14 0 -V -14 0 0 0 0 0 0 7 0 -P 64 213 -1.5835447595257053e+00 3.0390962863600426e+00 1.0583303842892066e+02 1.0589013999419520e+02 2 0 0 -48 0 -P 65 -213 -1.1443922070689834e+00 2.4049085538196557e+00 9.6289570725061836e+01 9.6329373550777277e+01 2 0 0 -49 0 -P 66 213 -3.0046508081645801e-01 1.7803118867427987e+00 5.7444662891378144e+01 5.7478363119977544e+01 2 0 0 -50 0 -P 67 -213 -2.5016439277491315e-01 3.1350862441051930e-01 4.0612390002610852e+01 4.0622507641923903e+01 2 0 0 -51 0 -P 68 213 3.3250187937355535e-01 -8.3151583915031479e-01 6.8897046607273635e+00 6.9760920973408034e+00 2 0 0 -52 0 -P 69 223 1.8182876739207015e+00 -4.9227019655990896e+00 6.7504589614192298e+01 6.7712745517919686e+01 2 0 0 -53 0 -P 70 -211 1.1277768868918030e+00 -1.7836075465836119e+00 2.4005720626494561e+01 2.4098697872894373e+01 1 0 0 0 0 -V -15 0 0 0 0 0 2 1 0 -P 19 1 4.0721905699000063e+00 -5.2481001487683923e+00 5.1379595964107374e+01 5.1807221240325212e+01 2 0 0 -15 0 -P 20 -1 -4.0721905699000063e+00 5.2481001487683923e+00 3.4479876218613377e+01 3.5113916831649327e+01 2 0 0 -15 0 -P 71 92 0 0 8.5859472182720751e+01 8.6921138071974539e+01 2 0 0 -16 0 -V -16 0 0 0 0 0 0 8 0 -P 72 -211 4.1720297738051321e-01 -9.7235207672939661e-01 7.5602071648272782e+00 7.6351646377442872e+00 1 0 0 0 0 -P 73 211 2.6665249123579446e+00 -2.9349752846126558e+00 3.2950695340201079e+01 3.3188736616767464e+01 1 0 0 0 0 -P 74 111 3.6072230697643126e-01 -6.2146570580823457e-01 3.1338517615404928e+00 3.2180097373930638e+00 2 0 0 -54 0 -P 75 113 -4.4948408298591003e-01 -3.3788088157719054e-03 8.4523847160801058e+00 8.4982551917835956e+00 2 0 0 -55 0 -P 76 -213 -2.7928243095832456e-01 3.3421120888543193e-01 4.9816177588983468e+00 5.0588216417181506e+00 2 0 0 -56 0 -P 77 213 -3.0578817058647956e-01 7.0283103003245251e-01 4.1808064202695698e+00 4.3325688354318341e+00 2 0 0 -57 0 -P 78 -211 -3.2872639824348276e-01 9.2343958879558319e-01 4.7634610442269851e+00 4.8652690186489309e+00 1 0 0 0 0 -P 79 213 -2.0811691139406925e+00 2.5716900482525915e+00 1.9836447976676894e+01 2.0124312392487205e+01 2 0 0 -58 0 -V -17 0 0 0 0 0 2 1 0 -P 21 3 -1.8652550805155896e+00 -4.6351934290813315e+00 -2.5073948479495525e+00 5.5902793815615270e+00 2 0 0 -17 0 -P 22 -3 1.8652550805155896e+00 4.6351934290813315e+00 -3.8523971426252422e+02 3.8527211375820042e+02 2 0 0 -17 0 -P 80 92 0 0 -3.8774710911047379e+02 3.9086239313976193e+02 2 0 0 -18 0 -V -18 0 0 0 0 0 0 10 0 -P 81 -313 -1.6233937553850981e+00 -4.1954492475589094e+00 -2.4490241228785110e+00 5.1978988434783595e+00 2 0 0 -59 0 -P 82 -211 -4.2766056399724119e-02 2.0905450136158240e-02 -1.4002124745972655e-01 2.0335119391229980e-01 1 0 0 0 0 -P 83 323 -4.4702319815240105e-01 -4.8462854486530810e-01 -3.3690973393284223e+00 3.5379978508332535e+00 2 0 0 -60 0 -P 84 333 2.9235882051604356e-01 4.1909099446358361e-01 -1.1614528740318077e+01 1.1670274542743341e+01 2 0 0 -61 0 -P 85 -313 -1.9559777497210154e-01 3.2725284319419412e-01 -4.0791168457425862e+01 4.0802601861674923e+01 2 0 0 -62 0 -P 86 -213 4.2480750680325324e-01 4.0902356994726946e-01 -2.7722906134034435e+01 2.7734649552550263e+01 2 0 0 -63 0 -P 87 113 3.6771897497445705e-01 4.4681480751080627e-01 -2.0704917165556715e+01 2.0730406353871473e+01 2 0 0 -64 0 -P 88 211 -2.8978227338924745e-01 -7.0628302343640245e-02 -1.4183290555585218e+01 1.4187112916027539e+01 1 0 0 0 0 -P 89 -211 -1.9540105972758251e-02 2.5692526030371343e-01 -1.4545461008205347e+01 1.4548412563961943e+01 1 0 0 0 0 -P 90 323 1.5332178619775767e+00 2.8706931692121325e+00 -2.5222669433968153e+02 2.5224968746070860e+02 2 0 0 -65 0 -V -19 0 0 0 0 0 2 1 0 -P 23 3 1.3025773740614568e-01 -4.3032393523974077e+00 2.5316489086932532e+00 4.9944050896041228e+00 2 0 0 -19 0 -P 24 -3 -1.3025773740614568e-01 4.3032393523974077e+00 -3.3157804489828713e+01 3.3436130676079749e+01 2 0 0 -19 0 -P 91 92 0 0 -3.0626155581135460e+01 3.8430535765683871e+01 2 0 0 -20 0 -V -20 0 0 0 0 0 0 9 0 -P 92 -311 2.2891228831712537e-01 -1.3418287413741594e+00 9.8860382248171286e-01 1.7543996561917701e+00 2 0 0 -66 0 -P 93 -213 -3.7639146848800681e-01 -1.5406289235386026e+00 1.6502657513639488e-01 1.7867414552349492e+00 2 0 0 -67 0 -P 94 2114 1.6153252959411044e-01 -1.2772848818918856e+00 5.2372112884638644e-01 1.9163288714391824e+00 2 0 0 -68 0 -P 95 211 2.5979025784637988e-01 2.2354774310929568e-01 -6.7894811146840361e-01 7.7324956804880274e-01 1 0 0 0 0 -P 96 -2214 -1.8636538951424170e-01 2.9256938238575925e-01 -4.5902650063153603e+00 4.7327213645256432e+00 2 0 0 -69 0 -P 97 111 2.4447109857296742e-01 3.3083128753819330e-01 -2.0318743236789594e+00 2.0774860592739199e+00 2 0 0 -70 0 -P 98 213 -2.7401510515621635e-01 2.8125233782844189e-01 -1.7321877321484938e+00 1.8713869334189455e+00 2 0 0 -71 0 -P 99 111 -1.0109282624214720e-01 5.2155147439574179e-01 -1.7600692215106526e+00 1.8434475758402007e+00 2 0 0 -72 0 -P 100 313 4.3158615070028994e-02 2.5099903215472157e+00 -2.1510162712478085e+01 2.1674774281710462e+01 2 0 0 -73 0 -V -21 0 0 0 0 0 2 1 0 -P 25 2 -2.8388113750031851e+00 2.9291876839233497e+00 -2.8168940832775746e+00 4.9572051386744045e+00 2 0 0 -21 0 -P 26 -2 2.8388113750031851e+00 -2.9291876839233497e+00 6.3131813241358550e+01 6.3263455751739258e+01 2 0 0 -21 0 -P 101 92 0 0 6.0314919158080976e+01 6.8220660890413654e+01 2 0 0 -22 0 -V -22 0 0 0 0 0 0 10 0 -P 102 213 -1.2382245544498864e+00 1.4759587873216322e+00 -1.5264135160047374e+00 2.5739330296056240e+00 2 0 0 -74 0 -P 103 221 -8.9982101828616334e-01 5.4142902707731055e-01 -5.3645233237309187e-01 1.3001176345700249e+00 2 0 0 -75 0 -P 104 -211 -8.6753321823725624e-03 5.6832963889609747e-02 9.7176499890667928e-02 1.7952243370663501e-01 1 0 0 0 0 -P 105 321 -4.0054756700537497e-01 4.1344381052312046e-01 1.2388557587843947e-01 7.6835065810119207e-01 1 0 0 0 0 -P 106 -313 -4.3881953299186965e-01 1.5849794511534281e-02 1.5502399495560006e+00 1.8454355154493816e+00 2 0 0 -76 0 -P 107 -213 2.6975585621736647e-01 -2.0224994353228565e-01 1.4308574448043745e-01 8.2389832737315261e-01 2 0 0 -77 0 -P 108 213 7.7555631014750070e-01 1.3582975137081782e-01 4.8071584803948841e+00 4.9465123732681642e+00 2 0 0 -78 0 -P 109 -211 1.6084505806401775e-01 -9.8786281136593837e-02 1.3415766842308592e+01 1.3417820598522365e+01 1 0 0 0 0 -P 110 211 3.3737414580549596e-01 -7.4336572542037649e-01 6.7542972105104546e+00 6.8048824022753731e+00 1 0 0 0 0 -P 111 -213 1.4425566346812861e+00 -1.5949421846047691e+00 3.5486174703439339e+01 3.5560187917541761e+01 2 0 0 -79 0 -V -23 0 0 0 0 0 2 1 0 -P 27 2 -3.5408957207564704e+00 1.3337324649314468e+00 1.4937252408811208e+01 1.5409032880678133e+01 2 0 0 -23 0 -P 28 -2 3.5408957207564704e+00 -1.3337324649314468e+00 4.7168621002604638e+00 6.0469474006441590e+00 2 0 0 -23 0 -P 112 92 0 0 1.9654114509071672e+01 2.1455980281322294e+01 2 0 0 -24 0 -V -24 0 0 0 0 0 0 8 0 -P 113 223 -1.7834465290486393e-01 1.0779146855581252e-01 2.9797667718739342e+00 3.0863604647422442e+00 2 0 0 -80 0 -P 114 113 -1.0902801693616622e+00 4.5065934647299072e-01 4.8491888434946748e+00 5.1024990374205057e+00 2 0 0 -81 0 -P 115 111 -3.3248940486964124e-01 2.3166493925117712e-01 5.1260100030508238e-01 6.6723102021907743e-01 2 0 0 -82 0 -P 116 213 5.4395505009151517e-02 -3.5753673771347694e-01 3.6959306688638129e+00 3.7765891594248417e+00 2 0 0 -83 0 -P 117 223 -3.6940382873256322e-01 -2.0534285256312060e-01 1.5468769853517426e+00 1.7802756873006378e+00 2 0 0 -84 0 -P 118 113 -2.1983674369034181e-01 6.1736195755313583e-01 1.8723689218941149e+00 2.0935892371951130e+00 2 0 0 -85 0 -P 119 111 1.1404511704074396e+00 -2.7154403133829735e-01 1.2971289847431351e+00 1.7536043557484422e+00 2 0 0 -86 0 -P 120 -213 9.9550812414248135e-01 -5.7305409021822129e-01 2.9002523325451683e+00 3.1958313192714209e+00 2 0 0 -87 0 -V -25 0 0 0 0 0 2 1 0 -P 33 21 8.8527156785984806e-01 -5.7553602736705196e+00 -2.4199878604494717e+01 2.4890600677783713e+01 2 0 0 -25 0 -P 34 21 -8.8527156785984806e-01 5.7553602736705196e+00 -6.2954009301687258e+01 6.3222742464919470e+01 2 0 0 -25 0 -P 121 92 -1.8021268256845246e-01 -1.0580531443966563e+00 5.5504994238782192e+03 5.8755200809247099e+03 2 0 0 -26 0 -V -26 0 0 0 0 0 0 37 0 -P 122 221 1.1563614818692559e-01 -3.1187647073665451e-02 5.3420846984279729e+02 5.3420876377842535e+02 2 0 0 -88 0 -P 123 2212 -6.2791982027313717e-02 7.6867611752465992e-01 2.9853349842085568e+03 2.9853352312756942e+03 1 0 0 0 0 -P 124 -211 -6.3737058678301636e-02 -6.4464644421178707e-01 1.9900387741310286e+02 1.9900498068310966e+02 1 0 0 0 0 -P 125 113 1.5027328344524130e-01 2.0693100318503993e-01 1.2269984836524957e+03 1.2269987428070176e+03 2 0 0 -89 0 -P 126 113 -9.9821919675496071e-02 5.0103807635626529e-01 2.1777529106655865e+02 2.1777760470222898e+02 2 0 0 -90 0 -P 127 -313 -9.1855261829841561e-01 -4.5271496597028515e-01 1.9852981625081372e+02 1.9853426767512232e+02 2 0 0 -91 0 -P 128 323 7.1450236264555178e-01 1.5079031761695599e-01 1.0405513205706657e+02 1.0406120895549580e+02 2 0 0 -92 0 -P 129 -213 -2.6371613026223212e-01 -3.3569803118640140e-01 1.5291910085517253e+02 1.5292119444523502e+02 2 0 0 -93 0 -P 130 211 3.0711481321928247e-01 5.6434962399740579e-02 1.7469094645523576e+01 1.7472442643564186e+01 1 0 0 0 0 -P 131 -211 -1.3416783174028993e-01 4.7853828154534966e-01 4.9650636537858709e+01 4.9653320012799036e+01 1 0 0 0 0 -P 132 211 -4.4171694323995486e-01 -8.0515863604828064e-01 1.9039571188948941e+01 1.9062217739053946e+01 1 0 0 0 0 -P 133 -2114 -1.3488630166892554e-01 -2.6020823766813067e-01 1.8719458121583301e+00 2.1920492447609377e+00 2 0 0 -94 0 -P 134 221 5.9907600476643053e-01 3.1183801267853273e-01 3.6841720694354785e-01 9.4422865160420322e-01 2 0 0 -95 0 -P 135 1114 -7.9078364399711776e-02 -5.3473729042418372e-02 2.4990460379589137e+00 2.8511181245797439e+00 2 0 0 -96 0 -P 136 223 -1.3331819562169198e-01 -3.1501969795261053e-01 -4.3131521562232121e-02 8.5408332284258204e-01 2 0 0 -97 0 -P 137 211 3.0231113463725909e-02 -2.1285675831915882e-01 -2.3543486414109713e-01 3.4803919310407555e-01 1 0 0 0 0 -P 138 111 -3.6331973746602270e-02 7.4355670744629440e-02 -7.6645288247255569e-02 1.7590588022778733e-01 2 0 0 -98 0 -P 139 113 1.6627168576861587e-01 -2.5512952828724614e-03 -1.1719602585717434e-01 7.9896620060520418e-01 2 0 0 -99 0 -P 140 -213 1.8246870701846693e-01 -6.4142436952788440e-01 -2.3077172616991168e+00 2.5247664616293304e+00 2 0 0 -100 0 -P 141 113 -9.2484989919595070e-02 -1.1964227291138891e+00 -5.3193696218967101e+00 5.5240094460187201e+00 2 0 0 -101 0 -P 142 221 4.3290844393668704e-01 -2.2932482823933737e+00 -1.1118240214783999e+01 1.1373713746251170e+01 2 0 0 -102 0 -P 143 211 1.4314659529045259e-01 3.3792954234072853e-01 -4.8759767464944481e+00 4.8917600452786267e+00 1 0 0 0 0 -P 144 -211 -1.5173971936078676e-01 1.2638509867730544e-01 -2.3517255215454607e+00 2.3641258107781722e+00 1 0 0 0 0 -P 145 111 2.8806011104816087e-01 1.8808112209402078e-01 -6.9861950017284147e-01 7.9034292714425880e-01 2 0 0 -103 0 -P 146 111 -2.9325266533451849e-01 -2.1300619373632457e-01 -6.2084500620099243e+00 6.2204855547752071e+00 2 0 0 -104 0 -P 147 213 -6.9858610278359504e-02 1.2685306871492477e+00 -1.8500623011952744e+01 1.8556331415289904e+01 2 0 0 -105 0 -P 148 223 5.5063662683315945e-02 1.1997527113990876e-01 -3.0076947242410959e+00 3.1107144834006855e+00 2 0 0 -106 0 -P 149 -2214 -1.8794218320233000e-01 1.5241617555512106e+00 -1.9106462282427337e+01 1.9207265750409690e+01 2 0 0 -107 0 -P 150 2214 -2.8650488155922194e-01 2.9534757115427968e-01 -7.5922854307518755e+00 7.7042773613584803e+00 2 0 0 -108 0 -P 151 -213 -1.3395677309501619e-01 2.8646169779760616e-01 -7.1516780777701350e-01 1.1477456820086733e+00 2 0 0 -109 0 -P 152 221 1.5464435260082576e-01 -3.5154860600178450e-01 -2.3517657972875368e-02 6.6914563505238200e-01 2 0 0 -110 0 -P 153 -311 9.3352618998182743e-02 4.0984422314125646e-01 -2.9781253674948460e+00 3.0485395080484676e+00 2 0 0 -111 0 -P 154 333 -3.2368338848019457e-01 -4.2702770182420224e-01 -9.2713163076349650e-02 1.1654977849741417e+00 2 0 0 -112 0 -P 155 333 -1.0877256872155437e-01 3.7570467122067591e-01 -1.1471981162283685e+01 1.1523662684436765e+01 2 0 0 -113 0 -P 156 321 6.2410157985014460e-02 -5.2815613120594274e-01 -2.4718281324740081e+00 2.5761248423242393e+00 1 0 0 0 0 -P 157 113 1.7841524909498518e-01 -2.1422710011190485e-01 -4.1990941872267165e+01 4.1999942208294883e+01 2 0 0 -114 0 -P 158 -211 1.6252710659019495e-01 4.3949932995684760e-01 -1.7920595656609230e+01 1.7927264241762899e+01 1 0 0 0 0 -V -27 0 0 0 0 0 2 1 0 -P 38 21 -6.3139095306073623e+00 7.0920315162380083e+00 2.2607817567288038e+01 2.4520925344362215e+01 2 0 0 -27 0 -P 39 21 6.3139095306073623e+00 -7.0920315162380083e+00 -3.5928099200277863e+00 1.0152371531295421e+01 2 0 0 -27 0 -P 159 92 0 0 1.9015007647260251e+01 3.4673296875657634e+01 2 0 0 -28 0 -V -28 0 0 0 0 0 0 17 0 -P 160 213 -5.1422483611792558e-01 1.5560370109051272e-01 1.4202938423971254e+00 1.7497322796917145e+00 2 0 0 -115 0 -P 161 -213 1.2736655420832138e-01 8.1992574492073922e-01 1.5226761082985145e+00 1.8398587605528547e+00 2 0 0 -116 0 -P 162 223 -1.7023916178032368e+00 2.0795757104791130e+00 6.5575562691596261e+00 7.1299160716087355e+00 2 0 0 -117 0 -P 163 211 -2.9059822685827419e-01 -2.9736811450474465e-02 1.1929840970980694e+00 1.2361320512944036e+00 1 0 0 0 0 -P 164 -211 -1.0881062221915685e+00 1.2539725263908137e+00 2.4746291473983963e+00 2.9832350644507852e+00 1 0 0 0 0 -P 165 211 -1.2852746139432256e+00 1.4134826699002714e+00 5.3384294397887020e+00 5.6716992832711099e+00 1 0 0 0 0 -P 166 -2212 1.4237307138452032e-01 -3.5996864709774652e-02 5.6565571914432167e-01 1.1053880998206356e+00 1 0 0 0 0 -P 167 211 -1.7998566349533646e-01 -1.5840940836931164e-01 5.4777086598057086e-02 2.8278736506418189e-01 1 0 0 0 0 -P 168 2114 3.5739987847657645e-01 2.2720806770406607e-01 3.6523500098511946e-01 1.3004119985260876e+00 2 0 0 -118 0 -P 169 111 -5.1434735918982422e-01 -7.7300339775299809e-01 1.1148117917540183e-01 9.4484660794944053e-01 2 0 0 -119 0 -P 170 -211 1.5714668856322211e+00 -6.0581539196193168e-01 -5.4913199377787304e-02 1.6908624149062295e+00 1 0 0 0 0 -P 171 -1114 8.8585869246348492e-01 -1.5968024045320024e+00 -4.2221015967941866e-01 2.3027386541183241e+00 2 0 0 -120 0 -P 172 3112 1.2493548114864377e+00 -1.2508727455032398e+00 -6.8508891720731258e-01 2.2424940241854410e+00 2 0 0 -121 0 -P 173 313 6.8179411573870519e-01 -3.6752254254946726e-01 5.4549415498849577e-02 1.1551152151744939e+00 2 0 0 -122 0 -P 174 213 8.7514099172343518e-01 -9.1457541533900566e-01 -1.9944632590699943e-01 1.6271978862616123e+00 2 0 0 -123 0 -P 175 -211 7.3183821062345222e-02 7.1751877688641233e-02 -4.4579470420669780e-02 1.7880525076215875e-01 1 0 0 0 0 -P 176 113 -3.8901028257665571e-01 -2.8878531600595153e-01 7.6297841431025348e-01 1.2320758480194269e+00 2 0 0 -124 0 -V -29 0 0 0 0 0 2 1 0 -P 40 21 4.0592867731266056e+00 -2.6703314664466724e+00 -1.8206386794109676e+01 1.8843593058222922e+01 2 0 0 -29 0 -P 41 21 -4.0592867731266056e+00 2.6703314664466724e+00 6.5387013204165399e+01 6.5567293485463281e+01 2 0 0 -29 0 -P 177 92 0 0 4.7180626410055723e+01 8.4410886543686203e+01 2 0 0 -30 0 -V -30 0 0 0 0 0 0 15 0 -P 178 -321 -3.3623874390774883e-02 2.4690994028450861e-01 -2.6951601874273334e-01 6.1512188052391659e-01 1 0 0 0 0 -P 179 211 9.2022143347366359e-01 -9.0492262529110890e-01 -3.4802493120833939e+00 3.7144727086822180e+00 1 0 0 0 0 -P 180 331 2.8547714123264654e+00 -1.3978162152551836e+00 -1.1295889724261475e+01 1.1773753288764665e+01 2 0 0 -125 0 -P 181 -211 -2.1966458442153422e-01 -7.8242988024705071e-02 -3.6872339754814093e-01 4.5805155127295866e-01 1 0 0 0 0 -P 182 211 2.9560049319651122e-01 -2.0553784478372053e-01 2.0154644030530203e-01 4.3557572213806423e-01 1 0 0 0 0 -P 183 -213 4.8499322815683815e-01 -2.4176671902283986e-01 -1.2630218756659783e+00 1.5443904458672615e+00 2 0 0 -126 0 -P 184 223 -4.9798993623797905e-01 -7.9872460916706869e-02 1.4542593319776393e+00 1.7271969649830978e+00 2 0 0 -127 0 -P 185 111 -8.1435240888755867e-02 2.1770867381234621e-01 -4.8166487593616319e-01 5.5158808745506804e-01 2 0 0 -128 0 -P 186 211 -4.0963834077238803e-02 -8.1786285732019265e-02 -7.3954640395227589e-02 1.8252700066602331e-01 1 0 0 0 0 -P 187 -213 -1.9208712477878448e-01 1.0153734892728536e+00 1.0093633192296094e+01 1.0172602378103548e+01 2 0 0 -129 0 -P 188 113 -4.0460519527275640e-01 -1.8742290283792634e-01 1.4460803220046335e+01 1.4483694098040059e+01 2 0 0 -130 0 -P 189 323 -1.8174133915270314e+00 8.5518474033833691e-01 1.5636980567886377e+01 1.5790404265907304e+01 2 0 0 -131 0 -P 190 -313 -6.1300964784639689e-01 4.4874979596463827e-01 1.5814169758309760e+01 1.5858292211205139e+01 2 0 0 -132 0 -P 191 2112 -2.0875628243328179e-01 2.2254556192762173e-01 2.8276378449769140e+00 2.9952350959206409e+00 1 0 0 0 0 -P 192 -3122 -4.4603745527894489e-01 1.7089584026390511e-01 3.9246158988903992e+00 4.1079808441562280e+00 2 0 0 -133 0 -V -31 0 0 0 0 0 2 1 0 -P 42 21 -3.5966403857613591e+00 9.8909210856074747e-01 -6.8991601771054407e+00 7.8429928224539607e+00 2 0 0 -31 0 -P 43 21 3.5966403857613591e+00 -9.8909210856074747e-01 -5.4062667533947362e+01 5.4191199895830252e+01 2 0 0 -31 0 -P 193 92 0 0 -6.0961827711052806e+01 6.2034192718284217e+01 2 0 0 -32 0 -V -32 0 0 0 0 0 0 9 0 -P 194 -313 9.9449836339841191e-01 -6.3495009228094301e-01 -1.4642299615826484e+01 1.4717074686290321e+01 2 0 0 -134 0 -P 195 -213 6.9761486862091593e-01 -2.0191774573662452e-01 -9.7431391037408730e+00 9.7889921005604528e+00 2 0 0 -135 0 -P 196 321 9.0124089448534161e-01 -4.4767419129957531e-01 -8.9439134555301649e+00 9.0138713209953245e+00 1 0 0 0 0 -P 197 -321 -6.3603380049890879e-01 1.4504099316767780e-01 -4.6266617828900456e+00 4.6984269812705879e+00 1 0 0 0 0 -P 198 113 3.6907253066300794e-01 -1.4699212866480399e-01 -8.5021209501925501e+00 8.5375578909228391e+00 2 0 0 -136 0 -P 199 221 -1.1158814362096265e+00 7.2491333857959150e-01 -2.4507253306324639e+00 2.8419090198019128e+00 2 0 0 -137 0 -P 200 211 -3.4212525303292468e-01 -2.2696230407884616e-01 -6.7469338663752003e+00 6.7608548245304183e+00 1 0 0 0 0 -P 201 -213 -1.7598972275668995e-01 3.3505003289999202e-01 -1.7733387402423706e+00 1.9326147762775303e+00 2 0 0 -138 0 -P 202 323 -6.9239644466952743e-01 4.5349209741353164e-01 -3.5326948656226587e+00 3.7428911176348358e+00 2 0 0 -139 0 -V -33 0 0 0 0 0 2 1 0 -P 44 21 1.6002652901426460e+00 -2.4352657274836234e+00 2.8688832362561115e+01 2.8836443443833804e+01 2 0 0 -33 0 -P 45 21 -1.6002652901426460e+00 2.4352657274836234e+00 8.2577967751982451e-01 3.0287423525444375e+00 2 0 0 -33 0 -P 203 92 0 0 2.9514612040080941e+01 3.1865185796378242e+01 2 0 0 -34 0 -V -34 0 0 0 0 0 0 9 0 -P 204 111 1.0518787012931753e-01 -1.5995524457287180e-01 7.7600686419646514e-01 8.1059016893171143e-01 2 0 0 -140 0 -P 205 111 1.2478783609177713e-01 -3.6358255829143427e-02 2.1168354202844193e+00 2.1251131084660222e+00 2 0 0 -141 0 -P 206 -2224 -5.5186870172860858e-01 1.0329040235764173e+00 8.5442774549095424e-01 1.9723301257490100e+00 2 0 0 -142 0 -P 207 2224 -4.4972267469397098e-01 7.1644814273694990e-01 1.8328017645199988e+00 2.3811516687914014e+00 2 0 0 -143 0 -P 208 -213 -5.0716668288443600e-01 -5.4504576392598904e-02 1.3018912898240806e+00 1.5715730784703104e+00 2 0 0 -144 0 -P 209 211 1.1243572544296603e+00 -1.1191386976602283e-01 4.6556363922388408e+00 4.7928210848594484e+00 1 0 0 0 0 -P 210 -211 3.7004756859602959e-03 -8.3816613942284957e-01 6.7174081650278819e+00 6.7709370408591569e+00 1 0 0 0 0 -P 211 213 2.3150705552517567e-01 -5.3768853904646212e-03 3.2265766557190916e+00 3.3703104910732882e+00 2 0 0 -145 0 -P 212 221 -8.0782432554875203e-02 -5.4307719493941597e-01 8.0330277427792112e+00 8.0703590291778973e+00 2 0 0 -146 0 -V -35 0 -1.6215267168984296e-05 -3.1353680968872467e-05 3.1608138103218157e-04 3.1849241778733736e-04 0 2 0 -P 213 22 1.5032738330306678e-02 -1.0610389672991376e-01 7.6971546215477149e-01 7.7713957099295439e-01 1 0 0 0 0 -P 214 22 -1.4491207335906356e-01 -1.4502950690157407e-01 1.7619998130615260e+00 1.7738873718774226e+00 1 0 0 0 0 -V -36 0 0 0 0 0 0 2 0 -P 215 211 7.8196068794107787e-02 -3.3495008531546488e-01 9.1794139134572532e+00 9.1869160094288596e+00 1 0 0 0 0 -P 216 111 6.7011046783931716e-01 3.1756771243611115e-01 3.4595425231838661e+01 3.4603635124986923e+01 2 0 0 -147 0 -V -37 0 0 0 0 0 0 2 0 -P 217 -211 -4.9685789383140927e-01 -3.6267488655702912e-01 1.0819762776427670e+01 1.0838133933619364e+01 1 0 0 0 0 -P 218 111 2.0568277559265397e-01 -7.6716771394558292e-02 3.4410912961920448e+00 3.4507274271256705e+00 2 0 0 -148 0 -V -38 0 0 0 0 0 0 2 0 -P 219 211 1.5091075346411628e-01 -4.4759866324261638e-01 8.8874577707197915e+00 8.9010956645839556e+00 1 0 0 0 0 -P 220 111 -3.6160430730145765e-01 1.7103168765392807e-01 6.7399550195350288e+00 6.7531639087909117e+00 2 0 0 -149 0 -V -39 0 6.6134868952544265e-05 -6.0578167977499482e-06 5.5521228499667028e-04 5.5936992922159148e-04 0 2 0 -P 221 22 3.9890753756978531e-01 -8.3411821985644619e-02 2.9894333750092708e+00 3.0170841319386961e+00 1 0 0 0 0 -P 222 22 1.9818742468699430e-01 2.8719162130123162e-02 2.0232696605477911e+00 2.0331559617674917e+00 1 0 0 0 0 -V -40 0 0 0 0 0 0 2 0 -P 223 -211 -8.0116535432035585e-01 -4.3595563284300476e-01 -4.4464390949206933e+00 4.5411698546200583e+00 1 0 0 0 0 -P 224 211 -1.8430479575079395e+00 -1.8805736996568283e+00 -1.8133624777653438e+01 1.8324333837145126e+01 1 0 0 0 0 -V -41 0 0 0 0 0 0 2 0 -P 225 22 -5.5928768554192265e-01 -1.5147257359489372e-01 -1.5692017076727673e+01 1.5702711440769178e+01 1 0 0 0 0 -P 226 22 4.2982874000373740e-02 1.6744026991665381e-01 -4.3431881820625335e+00 4.3466271241336942e+00 1 0 0 0 0 -V -42 0 7.6394153622048107e-05 1.0029878162263965e-04 -3.7481894148792775e-03 3.7506937113298347e-03 0 3 0 -P 227 22 1.1629338988407917e-01 8.9272709148877694e-02 -2.8532131053532828e+00 2.8569772126653779e+00 1 0 0 0 0 -P 228 -11 1.5797118386348692e-02 1.4711735030322620e-02 -1.0283381816186061e+00 1.0285648545286661e+00 1 0 0 0 0 -P 229 11 5.9939238082474242e-02 1.4813366540532533e-01 -5.5401626596588285e+00 5.5424668560728723e+00 1 0 0 0 0 -V -43 0 0 0 0 0 0 2 0 -P 230 -211 1.4467675491244145e-01 1.8856155472397737e-01 -1.1886630144118609e+01 1.1889825179173203e+01 1 0 0 0 0 -P 231 111 -5.0350326425457087e-02 -6.7011909820600379e-01 -3.1309205936853076e+01 3.1316707853122548e+01 2 0 0 -150 0 -V -44 0 0 0 0 0 0 2 0 -P 232 -311 5.3036395409351500e-01 -1.2314697068839459e-01 -3.4041141413635536e+01 3.4049132665491257e+01 2 0 0 -151 0 -P 233 -211 2.9364965893852782e-03 -2.8037181824656832e-01 -2.9550358086806355e+01 2.9552017863808569e+01 1 0 0 0 0 -V -45 0 -4.8872289253927846e-05 -5.4402958994364631e-05 -3.4409448959975063e-03 3.4417503130490870e-03 0 2 0 -P 234 22 -4.4188958398665414e-02 -3.6742753102171405e-03 -2.1044367148210967e+00 2.1049038103985716e+00 1 0 0 0 0 -P 235 22 -4.2790481089641280e-01 -5.2184434402458346e-01 -3.1134207733526843e+01 3.1141520759927278e+01 1 0 0 0 0 -V -46 0 0 0 0 0 0 2 0 -P 236 2212 1.2977839391996976e-01 -1.4318504925871164e-01 -6.0637712423823552e+02 6.0637788094093207e+02 1 0 0 0 0 -P 237 211 -1.2295953257244377e-01 1.8096777706713205e-01 -3.0609568574526622e+02 3.0609579575687195e+02 1 0 0 0 0 -V -47 0 4.2169714021909966e-05 8.5829172994005684e-05 -9.6870296651885690e-01 9.6870297157190144e-01 0 2 0 -P 238 22 9.2913107559837393e-02 1.9693827307980796e-01 -2.8833621000331136e+03 2.8833621082557238e+03 1 0 0 0 0 -P 239 22 1.3123498171528272e-01 2.5927646721163589e-01 -2.2656630725712694e+03 2.2656630912075148e+03 1 0 0 0 0 -V -48 0 0 0 0 0 0 2 0 -P 240 211 -9.2822980160143120e-01 1.2804318498963387e+00 5.1973118949309658e+01 5.1997362331091381e+01 1 0 0 0 0 -P 241 111 -6.5531495792427386e-01 1.7586644364637036e+00 5.3859919479611001e+01 5.3892777663103821e+01 2 0 0 -152 0 -V -49 0 0 0 0 0 0 2 0 -P 242 -211 -7.6039881533248244e-01 2.0320687957741885e+00 6.9082683121476649e+01 6.9116887205634285e+01 1 0 0 0 0 -P 243 111 -3.8399339173650116e-01 3.7283975804546754e-01 2.7206887603585198e+01 2.7212486345143006e+01 2 0 0 -153 0 -V -50 0 0 0 0 0 0 2 0 -P 244 211 1.0973573194578165e-01 1.1879012864271921e+00 3.0285434690618651e+01 3.0309242576840955e+01 1 0 0 0 0 -P 245 111 -4.1020081276223969e-01 5.9241060031560666e-01 2.7159228200759497e+01 2.7169120543136597e+01 2 0 0 -154 0 -V -51 0 0 0 0 0 0 2 0 -P 246 -211 -3.1659081224093022e-01 -4.3498967383643228e-02 7.7575986968116100e+00 7.7654323271941532e+00 1 0 0 0 0 -P 247 111 6.6426419466017059e-02 3.5700759179416253e-01 3.2854791305799246e+01 3.2857075314729755e+01 2 0 0 -155 0 -V -52 0 0 0 0 0 0 2 0 -P 248 211 2.8109806984337099e-02 -7.3137418999519999e-01 4.8717155060388739e+00 4.9283658674777211e+00 1 0 0 0 0 -P 249 111 3.0439207238921828e-01 -1.0014164915511482e-01 2.0179891546884896e+00 2.0477262298630827e+00 2 0 0 -156 0 -V -53 0 0 0 0 0 0 3 0 -P 250 -211 5.7751284344357268e-01 -1.6610167022038862e+00 2.0077346456800402e+01 2.0154697172139258e+01 1 0 0 0 0 -P 251 211 5.8128837571324521e-01 -1.9934568518397549e+00 2.9607592755877548e+01 2.9680646808630684e+01 1 0 0 0 0 -P 252 111 6.5948645476388301e-01 -1.2682284115554467e+00 1.7819650401514330e+01 1.7877401537149723e+01 2 0 0 -157 0 -V -54 0 5.1864047261200106e-06 -8.9353295080138478e-06 4.5057994120876729e-05 4.6268003358622562e-05 0 2 0 -P 253 22 2.7757152045232775e-01 -5.5879187093033122e-01 2.7799486518070124e+00 2.8491066688819608e+00 1 0 0 0 0 -P 254 22 8.3150786524103473e-02 -6.2673834877903317e-02 3.5390310973347999e-01 3.6890306851110266e-01 1 0 0 0 0 -V -55 0 0 0 0 0 0 2 0 -P 255 211 -3.4537287284459200e-01 2.0534899061500686e-01 2.2461602796552680e+00 2.2860810169468100e+00 1 0 0 0 0 -P 256 -211 -1.0411121014131801e-01 -2.0872779943077877e-01 6.2062244364248373e+00 6.2121741748367851e+00 1 0 0 0 0 -V -56 0 0 0 0 0 0 2 0 -P 257 -211 1.2850549764079238e-03 3.2229511813417006e-01 9.1196910591118752e-01 9.7726313220946881e-01 1 0 0 0 0 -P 258 111 -2.8056748593473252e-01 1.1916090751261861e-02 4.0696486529871594e+00 4.0815585095086817e+00 2 0 0 -158 0 -V -57 0 0 0 0 0 0 2 0 -P 259 211 7.8085905486046631e-02 1.9157586059214773e-02 2.0788278036794767e+00 2.0850585708775737e+00 1 0 0 0 0 -P 260 111 -3.8387407607252627e-01 6.8367344397323782e-01 2.1019786165900940e+00 2.2475102645542622e+00 2 0 0 -159 0 -V -58 0 0 0 0 0 0 2 0 -P 261 211 -1.9218849411493319e-01 1.1374276734294492e-01 1.0045138277378207e+00 1.0384611930204639e+00 1 0 0 0 0 -P 262 111 -1.8889806198257593e+00 2.4579472809096470e+00 1.8831934148939073e+01 1.9085851199466742e+01 2 0 0 -160 0 -V -59 0 0 0 0 0 0 2 0 -P 263 -311 -1.4318375653716335e+00 -3.5863038245912704e+00 -2.3209274506000757e+00 4.5327821032712690e+00 2 0 0 -161 0 -P 264 111 -1.9155619001346455e-01 -6.0914542296763896e-01 -1.2809667227843524e-01 6.6511674020709111e-01 2 0 0 -162 0 -V -60 0 0 0 0 0 0 2 0 -P 265 311 -2.9659176075774984e-01 -4.6221487895696203e-02 -1.5427574353175526e+00 1.6485991118583883e+00 2 0 0 -163 0 -P 266 211 -1.5043143739465120e-01 -4.3840705696961185e-01 -1.8263399040108697e+00 1.8893987389748650e+00 1 0 0 0 0 -V -61 0 0 0 0 0 0 2 0 -P 267 -321 1.3117237531214782e-01 2.2171635567557227e-01 -7.0771807964257647e+00 7.0990487616100166e+00 1 0 0 0 0 -P 268 321 1.6118644520389575e-01 1.9737463878801137e-01 -4.5373479438923123e+00 4.5712257811333235e+00 1 0 0 0 0 -V -62 0 0 0 0 0 0 2 0 -P 269 -321 7.0076510378991513e-02 1.6115182850873450e-01 -1.4990960823910882e+01 1.5000114266670419e+01 1 0 0 0 0 -P 270 211 -2.6567428535109305e-01 1.6610101468545962e-01 -2.5800207633514976e+01 2.5802487595004493e+01 1 0 0 0 0 -V -63 0 0 0 0 0 0 2 0 -P 271 -211 4.8599111099490840e-02 -7.4756967766754417e-02 -8.1617511091659747e+00 8.1634313515029557e+00 1 0 0 0 0 -P 272 111 3.7620839570376235e-01 4.8378053771402385e-01 -1.9561155024868459e+01 1.9571218201047309e+01 2 0 0 -164 0 -V -64 0 0 0 0 0 0 2 0 -P 273 -211 5.3030438115813272e-01 2.8459142744427268e-01 -8.4553036392123389e+00 8.4778449168068466e+00 1 0 0 0 0 -P 274 211 -1.6258540618367565e-01 1.6222338006653356e-01 -1.2249613526344374e+01 1.2252561437064626e+01 1 0 0 0 0 -V -65 0 0 0 0 0 0 2 0 -P 275 311 8.0055295557585249e-01 1.1955698343636345e+00 -1.3612825986589098e+02 1.3613677343689312e+02 2 0 0 -165 0 -P 276 211 7.3266490640172433e-01 1.6751233348484984e+00 -1.1609843447379056e+02 1.1611291402381548e+02 1 0 0 0 0 -V -66 0 0 0 0 0 0 1 0 -P 277 130 2.2891228831712537e-01 -1.3418287413741594e+00 9.8860382248171286e-01 1.7543996561917690e+00 1 0 0 0 0 -V -67 0 0 0 0 0 0 2 0 -P 278 -211 -3.8537250695572384e-01 -9.0184159113101237e-01 4.3277868687666932e-01 1.0810214620097742e+00 1 0 0 0 0 -P 279 111 8.9810384677170528e-03 -6.3878733240759011e-01 -2.6775211174027441e-01 7.0571999322517431e-01 2 0 0 -166 0 -V -68 0 0 0 0 0 0 2 0 -P 280 2112 2.4694209341644854e-01 -8.4716433213517051e-01 6.4556864532723501e-01 1.4416027413516419e+00 1 0 0 0 0 -P 281 111 -8.5409563822338136e-02 -4.3012054975671515e-01 -1.2184751648084854e-01 4.7472613008753961e-01 2 0 0 -167 0 -V -69 0 0 0 0 0 0 2 0 -P 282 -2212 -1.1996124512738150e-01 2.3026123610330118e-01 -3.6071253594137636e+00 3.7361898892602081e+00 1 0 0 0 0 -P 283 111 -6.6404144386860195e-02 6.2308146282458045e-02 -9.8313964690159639e-01 9.9653147526543429e-01 2 0 0 -168 0 -V -70 0 2.2607956805941250e-06 3.0594289068836569e-06 -1.8790166695767641e-05 1.9211970399434110e-05 0 2 0 -P 284 22 1.5503350124231352e-01 9.7732231082630405e-02 -8.5706126698882723e-01 8.7643652985959741e-01 1 0 0 0 0 -P 285 22 8.9437597330653915e-02 2.3309905645556292e-01 -1.1748130566901320e+00 1.2010495294143226e+00 1 0 0 0 0 -V -71 0 0 0 0 0 0 2 0 -P 286 211 -3.1925262209964905e-01 1.3821580424106233e-01 -5.1157300993405530e-01 6.3420231366062840e-01 1 0 0 0 0 -P 287 111 4.5237516943432650e-02 1.4303653358737961e-01 -1.2206147222144386e+00 1.2371846197583172e+00 2 0 0 -169 0 -V -72 0 -9.3894008003613711e-06 4.8441180380011681e-05 -1.6347347256430333e-04 1.7121757089428238e-04 0 2 0 -P 288 22 -9.1259807998499157e-02 1.5539919386615769e-01 -5.1519193076376746e-01 5.4580215054016890e-01 1 0 0 0 0 -P 289 22 -9.8330182436480451e-03 3.6615228052958404e-01 -1.2448772907468852e+00 1.2976454253000318e+00 1 0 0 0 0 -V -73 0 0 0 0 0 0 2 0 -P 290 311 2.9288036009376067e-01 1.2928728715900386e+00 -1.1628140700302700e+01 1.1714035630061840e+01 2 0 0 -170 0 -P 291 111 -2.4972174502373165e-01 1.2171174499571773e+00 -9.8820220121753870e+00 9.9607386516486240e+00 2 0 0 -171 0 -V -74 0 0 0 0 0 0 2 0 -P 292 211 -8.1826523521756611e-01 7.8243572685105356e-01 -1.2828767012552214e+00 1.7166875304906464e+00 1 0 0 0 0 -P 293 111 -4.1995931923232044e-01 6.9352306047057866e-01 -2.4353681474951611e-01 8.5724549911498049e-01 2 0 0 -172 0 -V -75 0 0 0 0 0 0 2 0 -P 294 22 -2.3993756374341146e-01 1.6870365091332759e-01 -4.5024786003822342e-01 5.3735843884283452e-01 1 0 0 0 0 -P 295 22 -6.5988345454275177e-01 3.7272537616398288e-01 -8.6204472334868429e-02 7.6275919572719031e-01 1 0 0 0 0 -V -76 0 0 0 0 0 0 2 0 -P 296 -321 2.9684402714531981e-02 1.0172982955755167e-01 7.8543908048649558e-01 9.3369461342657356e-01 1 0 0 0 0 -P 297 211 -4.6850393570640159e-01 -8.5880035046017392e-02 7.6480086906950495e-01 9.1174090202280789e-01 1 0 0 0 0 -V -77 0 0 0 0 0 0 2 0 -P 298 -211 -1.2939988042445941e-01 -9.9234300444954626e-02 2.9453547623268478e-01 3.6444849718208244e-01 1 0 0 0 0 -P 299 111 3.9915573664182591e-01 -1.0301564308733102e-01 -1.5144973175224732e-01 4.5944983019106961e-01 2 0 0 -173 0 -V -78 0 0 0 0 0 0 2 0 -P 300 211 2.0689198584967584e-02 -2.5828734371727674e-01 1.5152033244273926e+00 1.5435223659275032e+00 1 0 0 0 0 -P 301 111 7.5486711156253306e-01 3.9411709508809456e-01 3.2919551559674907e+00 3.4029900073406600e+00 2 0 0 -174 0 -V -79 0 0 0 0 0 0 2 0 -P 302 -211 1.1757002829753060e+00 -7.7106228617607020e-01 2.2873454234941420e+01 2.2917050347446786e+01 1 0 0 0 0 -P 303 111 2.6685635170597993e-01 -8.2387989842869880e-01 1.2612720468497917e+01 1.2643137570094973e+01 2 0 0 -175 0 -V -80 0 0 0 0 0 0 3 0 -P 304 211 -3.0013898117931026e-01 2.2241352690799113e-01 1.2558660560100285e+00 1.3176610036398551e+00 1 0 0 0 0 -P 305 -211 -2.8515883010338406e-02 -1.2080898873270086e-01 9.9053262633137185e-01 1.0079894027564984e+00 1 0 0 0 0 -P 306 111 1.5031021128478475e-01 6.1869303805222545e-03 7.3336808953253430e-01 7.6071005834589123e-01 2 0 0 -176 0 -V -81 0 0 0 0 0 0 2 0 -P 307 211 5.1240948779819634e-02 3.3106285181225731e-01 6.2296340656530647e-01 7.2096562851593138e-01 1 0 0 0 0 -P 308 -211 -1.1415211181414819e+00 1.1959649466073342e-01 4.2262254369293686e+00 4.3815334089045752e+00 1 0 0 0 0 -V -82 0 -5.1481558743536353e-05 3.5870232266659004e-05 7.9369441921158649e-05 1.0331184230181930e-04 0 2 0 -P 309 22 -8.3041828422767416e-02 1.3659289369937574e-01 1.7956183625056635e-01 2.4040802173521689e-01 1 0 0 0 0 -P 310 22 -2.4944757644687382e-01 9.5072045551801362e-02 3.3303916405451600e-01 4.2682299848386052e-01 1 0 0 0 0 -V -83 0 0 0 0 0 0 2 0 -P 311 211 1.0309018758041712e-01 4.2724264587845878e-03 2.2631018679628315e-01 2.8520505947647545e-01 1 0 0 0 0 -P 312 111 -4.8694682571265593e-02 -3.6180916417226161e-01 3.4696204820675303e+00 3.4913840999483670e+00 2 0 0 -177 0 -V -84 0 0 0 0 0 0 3 0 -P 313 -211 3.0574739693101170e-02 -4.3491576202209295e-02 4.0806616924722747e-02 1.5482666693013367e-01 1 0 0 0 0 -P 314 211 -1.5562677085262105e-01 -2.3620058456930920e-01 9.0884352597140916e-01 9.6202221780842523e-01 1 0 0 0 0 -P 315 111 -2.4435179757304334e-01 7.4349308208397899e-02 5.9722684245561075e-01 6.6342680256207898e-01 2 0 0 -178 0 -V -85 0 0 0 0 0 0 2 0 -P 316 111 -3.6392887739340002e-01 6.7496682775182959e-01 1.4962438007820593e+00 1.6867096840135030e+00 2 0 0 -179 0 -P 317 22 1.4409213370305821e-01 -5.7604870198693786e-02 3.7612512111205554e-01 4.0687955318161023e-01 1 0 0 0 0 -V -86 0 3.5647739613994551e-04 -8.4878083113578028e-05 4.0545108369145441e-04 5.4813422162874350e-04 0 2 0 -P 318 22 1.0473665451576206e+00 -2.7870050354220938e-01 1.2250032599908525e+00 1.6356294316190043e+00 1 0 0 0 0 -P 319 22 9.3084625249818934e-02 7.1564722039120275e-03 7.2125724752282516e-02 1.1797492412943782e-01 1 0 0 0 0 -V -87 0 0 0 0 0 0 2 0 -P 320 -211 9.3744393824816696e-01 -6.7184195479951447e-01 2.5898309235071864e+00 2.8384638005162497e+00 1 0 0 0 0 -P 321 111 5.8064185894314453e-02 9.8787864581293211e-02 3.1042140903798182e-01 3.5736751875517092e-01 2 0 0 -180 0 -V -88 0 0 0 0 0 0 3 0 -P 322 -211 8.3735586764706563e-02 -1.0421123019306522e-01 2.4974112587102385e+02 2.4974120065127514e+02 1 0 0 0 0 -P 323 211 6.6821925997163825e-04 -1.0568054772206613e-03 2.1333331792164230e+02 2.1333336358105069e+02 1 0 0 0 0 -P 324 111 3.1232342162247389e-02 7.4080388596620431e-02 7.1134026050131084e+01 7.1134199546099481e+01 2 0 0 -181 0 -V -89 0 0 0 0 0 0 2 0 -P 325 211 1.2309113191819084e-01 2.0477190657215033e-01 1.1824104023206878e+03 1.1824104346963943e+03 1 0 0 0 0 -P 326 -211 2.7182151527050440e-02 2.1590966128895990e-03 4.4588081331807786e+01 4.4588308110623188e+01 1 0 0 0 0 -V -90 0 0 0 0 0 0 2 0 -P 327 211 3.8045312551576935e-02 4.4176323178469101e-01 2.0603934105508088e+02 2.0603986542510555e+02 1 0 0 0 0 -P 328 -211 -1.3786723222707301e-01 5.9274844571574309e-02 1.1735950011477758e+01 1.1737739277123415e+01 1 0 0 0 0 -V -91 0 0 0 0 0 0 2 0 -P 329 -321 -8.3627361383984444e-01 -5.2573367818186700e-01 1.4711426769101732e+02 1.4711841199755347e+02 1 0 0 0 0 -P 330 211 -8.2279004458571267e-02 7.3018712211581877e-02 5.1415548559796406e+01 5.1415855677568857e+01 1 0 0 0 0 -V -92 0 0 0 0 0 0 2 0 -P 331 311 1.8498251272975502e-01 2.1534491855260202e-01 5.4113827121414495e+01 5.4116860155770283e+01 2 0 0 -182 0 -P 332 211 5.2951984991579670e-01 -6.4554600935646037e-02 4.9941304935652070e+01 4.9944348799725510e+01 1 0 0 0 0 -V -93 0 0 0 0 0 0 2 0 -P 333 -211 -7.6476777911200444e-02 -4.0287232681542129e-01 1.3202657166015865e+02 1.3202728225230263e+02 1 0 0 0 0 -P 334 111 -1.8723935235103165e-01 6.7174295629019873e-02 2.0892529195013871e+01 2.0893912192932397e+01 2 0 0 -183 0 -V -94 0 0 0 0 0 0 2 0 -P 335 -2212 -1.2935100172353481e-01 -1.5203835057338125e-01 1.5037893482216367e+00 1.7836984998639236e+00 1 0 0 0 0 -P 336 211 -5.5352999453907193e-03 -1.0816988709474940e-01 3.6815646393669343e-01 4.0835074489701390e-01 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 337 22 4.6738825445375309e-01 1.6146085191757137e-01 5.0134341685598127e-01 7.0417796665907206e-01 1 0 0 0 0 -P 338 22 1.3168775031267746e-01 1.5037716076096133e-01 -1.3292620991243345e-01 2.4005068494513118e-01 1 0 0 0 0 -V -96 0 0 0 0 0 0 2 0 -P 339 2112 1.8167414076157981e-01 -1.5341709619492785e-01 1.3596341969857564e+00 1.6697123205329250e+00 1 0 0 0 0 -P 340 -211 -2.6075250516129161e-01 9.9943367152509469e-02 1.1394118409731577e+00 1.1814058040468192e+00 1 0 0 0 0 -V -97 0 0 0 0 0 0 3 0 -P 341 211 4.5932154060343913e-02 1.3436313571120873e-01 -2.6773721114820626e-02 2.0089756608059256e-01 1 0 0 0 0 -P 342 -211 -2.3240549013258138e-01 -1.2739824390148866e-01 -1.7172491484146121e-02 3.0002883820846565e-01 1 0 0 0 0 -P 343 111 5.3155140450545445e-02 -3.2198458976233074e-01 8.1469103673461631e-04 3.5315691855352199e-01 2 0 0 -184 0 -V -98 0 -5.3456041917950884e-06 1.0940115392255510e-05 -1.1276991913333317e-05 2.5881423818737699e-05 0 2 0 -P 344 22 2.8925221694516508e-02 7.6693657802626408e-02 -9.9535856321624535e-03 8.2569119313216199e-02 1 0 0 0 0 -P 345 22 -6.5257195441118784e-02 -2.3379870579969641e-03 -6.6691702615093121e-02 9.3336760914571146e-02 1 0 0 0 0 -V -99 0 0 0 0 0 0 2 0 -P 346 211 -1.6181000821158892e-01 -1.6963424504261243e-01 -2.6313301097208053e-01 3.7904751972786288e-01 1 0 0 0 0 -P 347 -211 3.2808169398020481e-01 1.6708294975973997e-01 1.4593698511490616e-01 4.1991868087733947e-01 1 0 0 0 0 -V -100 0 0 0 0 0 0 2 0 -P 348 -211 4.6420365845633227e-01 -4.0847882605596070e-01 -1.4697255584821705e+00 1.6005976977416989e+00 1 0 0 0 0 -P 349 111 -2.8173495143786537e-01 -2.3294554347192373e-01 -8.3799170321694616e-01 9.2416876388761626e-01 2 0 0 -185 0 -V -101 0 0 0 0 0 0 2 0 -P 350 211 -4.3713138842513549e-01 -8.0193348901581640e-01 -2.8575036213923499e+00 3.0031629830433717e+00 1 0 0 0 0 -P 351 -211 3.4464639850554046e-01 -3.9448924009807262e-01 -2.4618660005043602e+00 2.5208464629753493e+00 1 0 0 0 0 -V -102 0 0 0 0 0 0 2 0 -P 352 22 3.2856276203468715e-01 -2.2653644571307425e+00 -1.0628501612512524e+01 1.0872206590172965e+01 1 0 0 0 0 -P 353 22 1.0434568190199986e-01 -2.7883825262630772e-02 -4.8973860227147370e-01 5.0150715607820417e-01 1 0 0 0 0 -V -103 0 4.9037358891567776e-06 3.2017628026642254e-06 -1.1892814674675885e-05 1.3454250789796279e-05 0 2 0 -P 354 22 2.2354910027528657e-01 1.6029891550903602e-01 -6.4738274096045079e-01 7.0340198737330506e-01 1 0 0 0 0 -P 355 22 6.4511010772874300e-02 2.7782206584984766e-02 -5.1236759212390626e-02 8.6940939770953726e-02 1 0 0 0 0 -V -104 0 -1.3726373686040436e-04 -9.9702507710567058e-05 -2.9060095827281827e-03 2.9116430753003118e-03 0 2 0 -P 356 22 -2.5303124530879706e-01 -1.9767059562620412e-01 -4.4765459960137299e+00 4.4880466274209283e+00 1 0 0 0 0 -P 357 22 -4.0221420025721384e-02 -1.5335598110120413e-02 -1.7319040659961942e+00 1.7324389273542784e+00 1 0 0 0 0 -V -105 0 0 0 0 0 0 2 0 -P 358 211 -2.3305194831128404e-01 3.5257524413723085e-01 -3.8645950116748433e+00 3.8901409874903243e+00 1 0 0 0 0 -P 359 111 1.6319333803292452e-01 9.1595544301201692e-01 -1.4636028000277902e+01 1.4666190427799593e+01 2 0 0 -186 0 -V -106 0 0 0 0 0 0 3 0 -P 360 211 -5.1068619640013913e-02 -1.1688780893563810e-01 -1.4247259084409054e+00 1.4372176115232076e+00 1 0 0 0 0 -P 361 -211 -3.9918742821603924e-02 2.3757962531374108e-01 -4.9884072044398658e-01 5.7127877053654863e-01 1 0 0 0 0 -P 362 111 1.4605102514493379e-01 -7.1654523819423611e-04 -1.0841280953562038e+00 1.1022181013409436e+00 2 0 0 -187 0 -V -107 0 0 0 0 0 0 2 0 -P 363 -2212 -1.1406253960346636e-01 1.3050504356992600e+00 -1.3746559005676280e+01 1.3840679246052170e+01 1 0 0 0 0 -P 364 111 -7.3879643598863620e-02 2.1911131985195054e-01 -5.3599032767510568e+00 5.3665865043575209e+00 2 0 0 -188 0 -V -108 0 0 0 0 0 0 2 0 -P 366 111 -1.9383253021003571e-01 2.6263377003627869e-01 -2.5692229458455249e+00 2.5933903857287377e+00 2 0 0 -189 0 -P 365 2212 -9.2672351349186208e-02 3.2713801118000992e-02 -5.0230624849063501e+00 5.1108869756297421e+00 1 0 0 0 0 -V -109 0 0 0 0 0 0 2 0 -P 367 -211 -8.9256978629664779e-02 4.9532478206519792e-01 -7.2657351357255473e-01 8.9481970445850134e-01 1 0 0 0 0 -P 368 111 -4.4699794465351418e-02 -2.0886308426759173e-01 1.1405705795541135e-02 2.5292597755017221e-01 2 0 0 -190 0 -V -110 0 0 0 0 0 0 3 0 -P 369 -211 5.2655584360949588e-02 -2.6070291359845066e-01 -2.7865206099874709e-02 3.0165356675183341e-01 1 0 0 0 0 -P 370 211 1.1822125040940321e-01 -3.6410489305205150e-02 -7.4902779595835356e-02 2.0097810594935350e-01 1 0 0 0 0 -P 371 111 -1.6232482169526979e-02 -5.4435203098128715e-02 7.9250327722834704e-02 1.6651396235119514e-01 2 0 0 -191 0 -V -111 0 0 0 0 0 0 1 0 -P 372 130 9.3352618998182743e-02 4.0984422314125646e-01 -2.9781253674948460e+00 3.0485395080484676e+00 1 0 0 0 0 -V -112 0 0 0 0 0 0 2 0 -P 373 130 -2.2310089003166997e-01 -9.6246577399157734e-02 -1.0045105369445986e-02 5.5390770335486272e-01 1 0 0 0 0 -P 374 310 -1.0058249844852461e-01 -3.3078112442504448e-01 -8.2668057706903650e-02 6.1159008161927886e-01 2 0 0 -192 0 -V -113 0 0 0 0 0 0 2 0 -P 375 -321 5.8939484155127987e-02 2.3553953346591427e-01 -5.9125978676033464e+00 5.9381316286021688e+00 1 0 0 0 0 -P 376 321 -1.6771205287668237e-01 1.4016513775476167e-01 -5.5593832946803383e+00 5.5855310558345961e+00 1 0 0 0 0 -V -114 0 0 0 0 0 0 2 0 -P 377 211 4.4626469507733829e-01 -2.9876737728109021e-01 -2.7747433142093183e+01 2.7752980738717618e+01 1 0 0 0 0 -P 378 -211 -2.6784944598235311e-01 8.4540277169185385e-02 -1.4243508730173986e+01 1.4246961469577274e+01 1 0 0 0 0 -V -115 0 0 0 0 0 0 2 0 -P 379 211 -4.7708602474535206e-01 4.2323427871643926e-01 1.2306474356724806e+00 1.3930941194029927e+00 1 0 0 0 0 -P 380 111 -3.7138811372573445e-02 -2.6763057762592657e-01 1.8964640672464467e-01 3.5663816028872181e-01 2 0 0 -193 0 -V -116 0 0 0 0 0 0 2 0 -P 381 -211 1.8239573851947732e-01 8.5172318449127438e-01 1.2672881147092623e+00 1.5440853405862578e+00 1 0 0 0 0 -P 382 111 -5.5029184311155943e-02 -3.1797439570535158e-02 2.5538799358925224e-01 2.9577341996659695e-01 2 0 0 -194 0 -V -117 0 0 0 0 0 0 3 0 -P 383 211 -6.2243035013886994e-01 4.2244827222762471e-01 1.4918178951339065e+00 1.6765686686276411e+00 1 0 0 0 0 -P 384 -211 -5.3662832160087004e-01 7.6596039196045107e-01 2.0066624387491827e+00 2.2182964647637142e+00 1 0 0 0 0 -P 385 111 -5.4333294606349714e-01 8.9116704629103738e-01 3.0590759352765375e+00 3.2350509382173804e+00 2 0 0 -195 0 -V -118 0 0 0 0 0 0 2 0 -P 386 2212 1.5566891027165103e-01 1.9712389042807388e-01 1.7138534409912462e-01 9.8631342223181673e-01 1 0 0 0 0 -P 387 -211 2.0173096820492542e-01 3.0084177275992156e-02 1.9384965688599484e-01 3.1409857629427085e-01 1 0 0 0 0 -V -119 0 -7.1660461754768958e-05 -1.0769721945931413e-04 1.5531901999572816e-05 1.3163894594449711e-04 0 2 0 -P 388 22 -1.1697413369043864e-01 -9.6649254231599702e-02 4.1343221873855411e-02 1.5726820495912039e-01 1 0 0 0 0 -P 389 22 -3.9737322549938564e-01 -6.7635414352139833e-01 7.0137957301546427e-02 7.8757840299032089e-01 1 0 0 0 0 -V -120 0 0 0 0 0 0 2 0 -P 390 -2112 3.0284788000153912e-01 -8.9128481759035616e-01 -3.4314384176045293e-01 1.3735519449684543e+00 1 0 0 0 0 -P 391 211 5.8301081246194575e-01 -7.0551758694164624e-01 -7.9066317918965748e-02 9.2918670914986956e-01 1 0 0 0 0 -V -121 0 2.2874989631111603e+01 -2.2902782156161990e+01 -1.2543595889194581e+01 4.1058814581296019e+01 0 2 0 -P 392 2112 7.2363470358385507e-01 -8.6288876686327309e-01 -4.4761632740272878e-01 1.5334198282490092e+00 1 0 0 0 0 -P 393 -211 5.2572010790258272e-01 -3.8798397863996692e-01 -2.3747258980458383e-01 7.0907419593643206e-01 1 0 0 0 0 -V -122 0 0 0 0 0 0 2 0 -P 394 311 5.7209538578317543e-01 -9.1601292232158002e-02 -1.3829998035577337e-01 7.7619987157909842e-01 2 0 0 -196 0 -P 395 111 1.0969872995552975e-01 -2.7592125031730930e-01 1.9284939585462296e-01 3.7891534359539542e-01 2 0 0 -197 0 -V -123 0 0 0 0 0 0 2 0 -P 396 211 1.2768453337087937e-01 -7.3004776309065877e-01 1.5341155177660637e-01 7.6960247243256708e-01 1 0 0 0 0 -P 397 111 7.4745645835255581e-01 -1.8452765224834686e-01 -3.5285787768360583e-01 8.5759541382904525e-01 2 0 0 -198 0 -V -124 0 0 0 0 0 0 2 0 -P 398 -211 -5.1931286949743072e-01 -4.0616083780816176e-01 7.4895484048546535e-01 1.0075046504018192e+00 1 0 0 0 0 -P 399 211 1.3030258692077507e-01 1.1737552180221024e-01 1.4023573824788065e-02 2.2457119761760758e-01 1 0 0 0 0 -V -125 0 0 0 0 0 0 3 0 -P 400 -211 4.3941879075108720e-01 -2.1455387542550161e-01 -1.6625524305449231e+00 1.7385863821898757e+00 1 0 0 0 0 -P 401 211 7.2245244435792022e-01 -5.5562326516907601e-01 -3.3678421544139758e+00 3.4917753806772347e+00 1 0 0 0 0 -P 402 221 1.6929001772174577e+00 -6.2763907466060598e-01 -6.2654951393025753e+00 6.5433915258975537e+00 2 0 0 -199 0 -V -126 0 0 0 0 0 0 2 0 -P 403 -211 5.4351932812512205e-01 4.2529626811621611e-02 -8.8825094786447778e-01 1.0515186924084912e+00 1 0 0 0 0 -P 404 111 -5.8526099968283993e-02 -2.8429634583446145e-01 -3.7477092780150040e-01 4.9287175345877016e-01 2 0 0 -200 0 -V -127 0 0 0 0 0 0 3 0 -P 407 111 2.2104562458507233e-02 -3.0138619608482096e-02 6.8918524799908965e-01 7.0327295876704488e-01 2 0 0 -201 0 -P 405 211 -1.7994431618017598e-01 -1.4981023610554228e-01 1.8335551296569244e-01 3.2851498109288968e-01 1 0 0 0 0 -P 406 -211 -3.4015018251631030e-01 1.0007639479731749e-01 5.8171857101285707e-01 6.9540902512316316e-01 1 0 0 0 0 -V -128 0 -9.5716033249145031e-06 2.5588689164333307e-05 -5.6613145337201016e-05 6.4831666416758084e-05 0 2 0 -P 408 22 -8.8748848813062955e-02 2.1752980276142420e-01 -4.8819357581726175e-01 5.4178274310309327e-01 1 0 0 0 0 -P 409 22 7.3136079243070681e-03 1.7887105092202264e-04 6.5286998810985524e-03 9.8053443519745542e-03 1 0 0 0 0 -V -129 0 0 0 0 0 0 2 0 -P 410 -211 -1.3210591454662315e-01 -4.1453641988988016e-02 1.7499835301972946e+00 1.7609919130859564e+00 1 0 0 0 0 -P 411 111 -5.9981210232161325e-02 1.0568271312618416e+00 8.3436496620987999e+00 8.4116104650175920e+00 2 0 0 -202 0 -V -130 0 0 0 0 0 0 2 0 -P 412 -211 2.1039382235683586e-02 1.7495114851534666e-01 2.9952412067790757e+00 3.0036644672231736e+00 1 0 0 0 0 -P 413 211 -4.2564457750844004e-01 -3.6237405135327300e-01 1.1465562013267260e+01 1.1480029630816887e+01 1 0 0 0 0 -V -131 0 0 0 0 0 0 2 0 -P 414 311 -7.8781697561949271e-01 5.4422089375246685e-01 9.1458600181790075e+00 9.2093030609974118e+00 2 0 0 -203 0 -P 415 211 -1.0295964159075386e+00 3.1096384658587001e-01 6.4911205497073698e+00 6.5811012049098920e+00 1 0 0 0 0 -V -132 0 0 0 0 0 0 2 0 -P 416 -311 -7.2639469362242060e-01 3.6391099384214726e-01 1.1382133321844409e+01 1.1421940064958441e+01 2 0 0 -204 0 -P 417 111 1.1338504577602361e-01 8.4838802122491092e-02 4.4320364364653537e+00 4.4363521462467022e+00 2 0 0 -205 0 -V -133 0 -3.6644226869673425e+01 1.4039955316751673e+01 3.2242699278545501e+02 3.3749134797523197e+02 0 2 0 -P 418 -2212 -4.4069160658852696e-01 7.0169749752342234e-02 3.4521641169690143e+00 3.6051242099664664e+00 1 0 0 0 0 -P 419 211 -5.3458486904178924e-03 1.0072609051156285e-01 4.7245178192138493e-01 5.0285663418976212e-01 1 0 0 0 0 -V -134 0 0 0 0 0 0 2 0 -P 420 -321 8.2738509392200044e-01 -4.4400280839202599e-01 -1.3379709157489843e+01 1.3421697459208426e+01 1 0 0 0 0 -P 421 211 1.6711326947641161e-01 -1.9094728388891710e-01 -1.2625904583366416e+00 1.2953772270818957e+00 1 0 0 0 0 -V -135 0 0 0 0 0 0 2 0 -P 422 -211 -4.5648702994576327e-03 8.5062884111795842e-02 -2.3933131666525642e+00 2.3988922924689202e+00 1 0 0 0 0 -P 423 111 7.0217973892037344e-01 -2.8698062984842038e-01 -7.3498259370883083e+00 7.3900998080915326e+00 2 0 0 -206 0 -V -136 0 0 0 0 0 0 2 0 -P 424 211 4.6755588266707993e-01 6.7144388467335656e-02 -6.1051702587828593e+00 6.1250061670128959e+00 1 0 0 0 0 -P 425 -211 -9.8483352004072017e-02 -2.1413651713213966e-01 -2.3969506914096916e+00 2.4125517239099432e+00 1 0 0 0 0 -V -137 0 0 0 0 0 0 3 0 -P 426 111 -1.4763122465585482e-01 1.5578289972556411e-01 -6.3575580169438950e-01 6.8444746338076856e-01 2 0 0 -207 0 -P 427 111 -5.9749928543227060e-01 4.0523346497645923e-01 -1.0521574728239369e+00 1.2831502270771551e+00 2 0 0 -208 0 -P 428 111 -3.7075092612150112e-01 1.6389697387756819e-01 -7.6281205611413760e-01 8.7431132934398903e-01 2 0 0 -209 0 -V -138 0 0 0 0 0 0 2 0 -P 429 -211 1.4873964520465802e-01 2.9361212237253576e-01 -5.2603507832528784e-01 6.3602220793648723e-01 1 0 0 0 0 -P 430 111 -3.2472936796134794e-01 4.1437910527456240e-02 -1.2473036619170828e+00 1.2965925683410431e+00 2 0 0 -210 0 -V -139 0 0 0 0 0 0 2 0 -P 431 321 -1.3937482792474679e-01 4.2593421262169195e-01 -1.9171899663819201e+00 2.0298038386347144e+00 1 0 0 0 0 -P 432 111 -5.5302161674478068e-01 2.7557884791839724e-02 -1.6155048992407390e+00 1.7130872790001219e+00 2 0 0 -211 0 -V -140 0 1.8598834508787614e-05 -2.8282549299325688e-05 1.3720995802205736e-04 1.4332481861146809e-04 0 2 0 -P 433 22 7.3486303836907945e-03 -7.2423525982247119e-02 1.1094367272080649e-01 1.3269388833325652e-01 1 0 0 0 0 -P 434 22 9.7839239745626749e-02 -8.7531718590624669e-02 6.6506319147565862e-01 6.7789628059845486e-01 1 0 0 0 0 -V -141 0 7.9626809661280000e-06 -2.3200113145596084e-06 1.3507474476220213e-04 1.3560294199833913e-04 0 2 0 -P 435 22 8.0733491049569533e-02 4.1269360133104692e-02 1.3628764571598302e+00 1.3658891954120498e+00 1 0 0 0 0 -P 436 22 4.4054345042207586e-02 -7.7627615962248125e-02 7.5395896312458921e-01 7.5922391305397241e-01 1 0 0 0 0 -V -142 0 0 0 0 0 0 2 0 -P 437 -2212 -3.3636249934798157e-01 6.3185487895276859e-01 9.1363404725172559e-01 1.4924671132797558e+00 1 0 0 0 0 -P 438 -211 -2.1550620238062704e-01 4.0104914462364860e-01 -5.9206301760771352e-02 4.7986301246925406e-01 1 0 0 0 0 -V -143 0 0 0 0 0 0 2 0 -P 439 2212 -3.1316133468193180e-01 6.3226783732812875e-01 1.0670883973236167e+00 1.5864617487547701e+00 1 0 0 0 0 -P 440 211 -1.3656134001203910e-01 8.4180305408821043e-02 7.6571336719638172e-01 7.9468992003663097e-01 1 0 0 0 0 -V -144 0 0 0 0 0 0 2 0 -P 441 -211 1.0685444223770994e-01 -1.6539225620957393e-01 3.8242266590415475e-01 4.5221604409537064e-01 1 0 0 0 0 -P 442 111 -6.1402112512214591e-01 1.1088767981697505e-01 9.1946862391992579e-01 1.1193570343749397e+00 2 0 0 -212 0 -V -145 0 0 0 0 0 0 2 0 -P 443 211 9.7606484216440248e-02 3.9484400593725694e-01 2.3399496935609863e+00 2.3791328605359197e+00 1 0 0 0 0 -P 444 111 1.3390057130873545e-01 -4.0022089132772154e-01 8.8662696215810521e-01 9.9117763053736829e-01 2 0 0 -213 0 -V -146 0 0 0 0 0 0 2 0 -P 445 22 4.4521386228282923e-02 6.9294890896827888e-02 2.7189184044015768e-01 2.8409348572965798e-01 1 0 0 0 0 -P 446 22 -1.2530381878315813e-01 -6.1237208583624381e-01 7.7611359023390527e+00 7.7862655434482386e+00 1 0 0 0 0 -V -147 0 5.6913008971348268e-04 2.6971275534858177e-04 2.9382166688662489e-02 2.9389139415471353e-02 0 2 0 -P 447 22 4.2233155950894929e-01 2.7013379931995773e-01 2.3306869194700617e+01 2.3312260462567259e+01 1 0 0 0 0 -P 448 22 2.4777890833036781e-01 4.7433913116153387e-02 1.1288556037138038e+01 1.1291374662419651e+01 1 0 0 0 0 -V -148 0 7.2343549030833013e-05 -2.6983122416924707e-05 1.2103140682944620e-03 1.2137033258959099e-03 0 2 0 -P 449 22 -8.2133726674077593e-03 8.9676039303206116e-03 6.5846311157447568e-01 6.5857539182326363e-01 1 0 0 0 0 -P 450 22 2.1389614826006173e-01 -8.5684375324878909e-02 2.7826281846175691e+00 2.7921520353024070e+00 1 0 0 0 0 -V -149 0 -7.5113701994512593e-05 3.5527295882971153e-05 1.4000468538991121e-03 1.4027906502289988e-03 0 2 0 -P 451 22 -3.5454234029793569e-01 1.4220281432805057e-01 6.5246306076120621e+00 6.5358034301266219e+00 1 0 0 0 0 -P 452 22 -7.0619670035219672e-03 2.8828873325877486e-02 2.1532441192296625e-01 2.1736047866429073e-01 1 0 0 0 0 -V -150 0 -5.0929560966308059e-06 -6.7782820668099025e-05 -3.1669389769068959e-03 3.1676977988036627e-03 0 2 0 -P 453 22 -5.5002501226308863e-02 -1.3676652957384980e-01 -8.4032580701003532e+00 8.4045509428796699e+00 1 0 0 0 0 -P 454 22 4.6521748008517740e-03 -5.3335256863215397e-01 -2.2905947866752722e+01 2.2912156910242874e+01 1 0 0 0 0 -V -151 0 0 0 0 0 0 1 0 -P 455 310 5.3036395409351500e-01 -1.2314697068839459e-01 -3.4041141413635536e+01 3.4049132665491257e+01 2 0 0 -214 0 -V -152 0 -4.4479064681634288e-05 1.1936817293250047e-04 3.6557060285476724e-03 3.6579362557860790e-03 0 2 0 -P 456 22 -3.6430534851601371e-01 8.0739446461353415e-01 2.4463146973768701e+01 2.4479178173881873e+01 1 0 0 0 0 -P 457 22 -2.9100960940826009e-01 9.5126997185016959e-01 2.9396772505842296e+01 2.9413599489221941e+01 1 0 0 0 0 -V -153 0 -3.2688397628246890e-06 3.1738916671182650e-06 2.3160543367457004e-04 2.3165309436201878e-04 0 2 0 -P 458 22 -3.6863888541709272e-01 3.2058557735849108e-01 2.2617594353889025e+01 2.2622869935030884e+01 1 0 0 0 0 -P 459 22 -1.5354506319408460e-02 5.2254180686976508e-02 4.5892932496961736e+00 4.5896164101121171e+00 1 0 0 0 0 -V -154 0 -4.2854531593272900e-05 6.1890366858268527e-05 2.8373810259926832e-03 2.8384144995640204e-03 0 2 0 -P 460 22 -2.8096998668766182e-01 3.1168131470771288e-01 1.4142709945501387e+01 1.4148934022672554e+01 1 0 0 0 0 -P 461 22 -1.2923082607457784e-01 2.8072928560789373e-01 1.3016518255258111e+01 1.3020186520464037e+01 1 0 0 0 0 -V -155 0 4.8419069681422279e-05 2.6022741558005558e-04 2.3948279049090002e-02 2.3949943892512968e-02 0 2 0 -P 462 22 -1.3484395339657791e-02 2.2805801648532943e-02 6.3682372456238570e+00 6.3682923574579586e+00 1 0 0 0 0 -P 463 22 7.9910814805674857e-02 3.3420179014562956e-01 2.6486554060175386e+01 2.6488782957271795e+01 1 0 0 0 0 -V -156 0 6.4458166593028880e-05 -2.1206028966113369e-05 4.2733005526343507e-04 4.3362718820302870e-04 0 2 0 -P 464 22 1.3203767002721134e-01 -4.0120215621858198e-02 4.9619347728990221e-01 5.1502577111519743e-01 1 0 0 0 0 -P 465 22 1.7235440236200694e-01 -6.0021433533256625e-02 1.5217956773985872e+00 1.5327004587478847e+00 1 0 0 0 0 -V -157 0 1.3825358825667505e-05 -2.6586918860885477e-05 3.7356803793201702e-04 3.7477872265037859e-04 0 2 0 -P 466 22 2.0055595174990928e-01 -3.1804893931032557e-01 4.0786477119442743e+00 4.0959425015162259e+00 1 0 0 0 0 -P 467 22 4.5893050301397365e-01 -9.5017947224512112e-01 1.3741002689570054e+01 1.3781459035633496e+01 1 0 0 0 0 -V -158 0 -3.6148472811710377e-05 1.5352758396390464e-06 5.2433582314645737e-04 5.2587029576442771e-04 0 2 0 -P 468 22 -1.1858415852348296e-01 2.7338446840418432e-02 9.6412493381788344e-01 9.7177491289789286e-01 1 0 0 0 0 -P 469 22 -1.6198332741124952e-01 -1.5422356089156571e-02 3.1055237191692759e+00 3.1097835966107890e+00 1 0 0 0 0 -V -159 0 -4.4031131225084997e-05 7.8418723750972992e-05 2.4110118934396308e-04 2.5779396306412045e-04 0 2 0 -P 470 22 -6.4845192110584787e-02 1.0986152109814992e-01 2.2013532446554113e-01 2.5442879914704414e-01 1 0 0 0 0 -P 471 22 -3.1902888396194151e-01 5.7381192287508798e-01 1.8818432921245529e+00 1.9930814654072178e+00 1 0 0 0 0 -V -160 0 -2.1425183974074652e-06 2.7878514019335631e-06 2.1359544375097700e-05 2.1647542010680192e-05 0 2 0 -P 472 22 -1.0106649381417249e-01 1.1138815142136117e-01 7.6457489296899328e-01 7.7922815876192886e-01 1 0 0 0 0 -P 473 22 -1.7879141260115867e+00 2.3465591294882859e+00 1.8067359255970079e+01 1.8306623040704810e+01 1 0 0 0 0 -V -161 0 0 0 0 0 0 1 0 -P 474 130 -1.4318375653716335e+00 -3.5863038245912704e+00 -2.3209274506000757e+00 4.5327821032712690e+00 1 0 0 0 0 -V -162 0 -6.6832389808381253e-07 -2.1252586175838513e-06 -4.4691882492897211e-07 2.3205379709460523e-06 0 2 0 -P 475 22 -8.9978113978881197e-02 -4.2173754181458945e-01 -1.3491536512632196e-01 4.5184153297165791e-01 1 0 0 0 0 -P 476 22 -1.0157807603458334e-01 -1.8740788115304952e-01 6.8186928478867403e-03 2.1327520723543308e-01 1 0 0 0 0 -V -163 0 0 0 0 0 0 1 0 -P 477 310 -2.9659176075774984e-01 -4.6221487895696203e-02 -1.5427574353175526e+00 1.6485991118583883e+00 2 0 0 -215 0 -V -164 0 4.3951762908156004e-06 5.6519226407509845e-06 -2.2852952185035586e-04 2.2864708816162558e-04 0 2 0 -P 478 22 1.2883066985740826e-01 8.7348139542502687e-02 -3.9328723885587951e+00 3.9359512527044345e+00 1 0 0 0 0 -P 479 22 2.4737772584635406e-01 3.9643239817152115e-01 -1.5628282636309663e+01 1.5635266948342874e+01 1 0 0 0 0 -V -165 0 0 0 0 0 0 1 0 -P 480 130 8.0055295557585249e-01 1.1955698343636345e+00 -1.3612825986589098e+02 1.3613677343689312e+02 1 0 0 0 0 -V -166 0 4.3515025435173503e-07 -3.0950593427809659e-05 -1.2973154490519804e-05 3.4193622002278503e-05 0 2 0 -P 481 22 -2.4004418795421954e-02 -6.1969176712752407e-02 5.3372209402327469e-03 6.6669910090888906e-02 1 0 0 0 0 -P 482 22 3.2985457263139006e-02 -5.7681815569483774e-01 -2.7308933268050717e-01 6.3905008313428557e-01 1 0 0 0 0 -V -167 0 -1.3223933000948637e-05 -6.6595414819650182e-05 -1.8865608512255433e-05 7.3501681277001948e-05 0 2 0 -P 483 22 -3.7755194341771034e-02 -4.2694828777757612e-02 -5.4028993871350510e-02 7.8533020334744422e-02 1 0 0 0 0 -P 484 22 -4.7654369480567102e-02 -3.8742572097895756e-01 -6.7818522609498041e-02 3.9619310975279542e-01 1 0 0 0 0 -V -168 0 -3.2646319843143344e-06 3.0632601190069616e-06 -4.8334168988367450e-05 4.8992552461397858e-05 0 2 0 -P 485 22 -9.1214787830148150e-03 3.2607644996470279e-02 -8.2554522871056302e-01 8.2623930222071917e-01 1 0 0 0 0 -P 486 22 -5.7282665603845380e-02 2.9700501285987765e-02 -1.5759441819103331e-01 1.7029217304471525e-01 1 0 0 0 0 -V -169 0 5.0024187811615822e-05 1.5817151124905720e-04 -1.3497703728087306e-03 1.3680935638846403e-03 0 2 0 -P 487 22 -3.6296416944126709e-03 5.0920677562811878e-02 -8.6736175513884239e-01 8.6886276475621793e-01 1 0 0 0 0 -P 488 22 4.8867158637845319e-02 9.2115856024567719e-02 -3.5325296707559606e-01 3.6832185500209919e-01 1 0 0 0 0 -V -170 0 0 0 0 0 0 1 0 -P 489 130 2.9288036009376067e-01 1.2928728715900386e+00 -1.1628140700302700e+01 1.1714035630061840e+01 1 0 0 0 0 -V -171 0 -6.0930955149452699e-06 2.9697104970938514e-05 -2.4111678378370367e-04 2.4303743351679105e-04 0 2 0 -P 490 22 -9.4973743741273875e-02 6.4498168710204640e-01 -4.7230425563942617e+00 4.7678247008681511e+00 1 0 0 0 0 -P 491 22 -1.5474800128245778e-01 5.7213576285513090e-01 -5.1589794557811262e+00 5.1929139507804729e+00 1 0 0 0 0 -V -172 0 -1.1660551399751801e-05 1.9256296796349287e-05 -6.7620205483465163e-06 2.3802198800847105e-05 0 2 0 -P 492 22 -3.7027549960274636e-01 6.2212464289035718e-01 -2.5897423070960202e-01 7.6890224935888085e-01 1 0 0 0 0 -P 493 22 -4.9683819629574119e-02 7.1398417580221585e-02 1.5437415960085871e-02 8.8343249756098599e-02 1 0 0 0 0 -V -173 0 3.5746214235745734e-05 -9.2255200399066187e-06 -1.3563013280753561e-05 4.1145824932297914e-05 0 2 0 -P 494 22 3.2749523814777576e-01 -4.6886764491434571e-02 -7.1889393460914761e-02 3.3855514260770275e-01 1 0 0 0 0 -P 495 22 7.1660498494050137e-02 -5.6128878595896443e-02 -7.9560338291332564e-02 1.2089468758336715e-01 1 0 0 0 0 -V -174 0 1.1296287249582715e-05 5.8978061805748885e-06 4.9262804651243690e-05 5.0924397210535035e-05 0 2 0 -P 496 22 4.4736495198225906e-01 2.4974300382315295e-01 1.7169319940927230e+00 1.7917484311587706e+00 1 0 0 0 0 -P 497 22 3.0750215958027394e-01 1.4437409126494161e-01 1.5750231618747674e+00 1.6112415761818897e+00 1 0 0 0 0 -V -175 0 1.3475981409980000e-04 -4.1605118725126302e-04 6.3692988934369579e-03 6.3846592284279354e-03 0 2 0 -P 498 22 1.2364083130382091e-01 -2.9386391435205311e-01 5.5204694179527154e+00 5.5296677702982304e+00 1 0 0 0 0 -P 499 22 1.4321552040215901e-01 -5.3001598407664563e-01 7.0922510505452010e+00 7.1134697997967420e+00 1 0 0 0 0 -V -176 0 4.7324747145545989e-05 1.9479376242148272e-06 2.3089887975729631e-04 2.3950742171524708e-04 0 2 0 -P 500 22 1.4135983992053097e-01 -4.0296581708771914e-02 6.3148368395046228e-01 6.4836568534694761e-01 1 0 0 0 0 -P 501 22 8.9503713642537751e-03 4.6483512089294167e-02 1.0188440558207200e-01 1.1234437299894350e-01 1 0 0 0 0 -V -177 0 -9.0223456025112655e-07 -6.7037449449237448e-06 6.4286516403409821e-05 6.4689761422605756e-05 0 2 0 -P 502 22 2.4050370315804339e-02 -2.6635670283075513e-01 2.2348889868834592e+00 2.2508338670697521e+00 1 0 0 0 0 -P 503 22 -7.2745052887069936e-02 -9.5452461341506492e-02 1.2347314951840711e+00 1.2405502328786151e+00 1 0 0 0 0 -V -178 0 -1.1141606101247371e-05 3.3900741233981917e-06 2.7231501048168288e-05 3.0249992775056765e-05 0 2 0 -P 504 22 -1.5484032034025672e-01 3.3070965672253198e-02 2.0512268590893062e-01 2.5912261547009452e-01 1 0 0 0 0 -P 505 22 -8.9511477232786629e-02 4.1278342536144701e-02 3.9210415654668013e-01 4.0430418709198446e-01 1 0 0 0 0 -V -179 0 -5.7452969269882372e-05 1.0655611802714043e-04 2.3621002466825029e-04 2.6627862107816958e-04 0 2 0 -P 506 22 -1.5904748085006137e-01 4.2641811118253042e-01 9.2542971764623405e-01 1.0312849601405114e+00 1 0 0 0 0 -P 507 22 -2.0488139654333862e-01 2.4854871656929914e-01 5.7081408313582516e-01 6.5542472387299155e-01 1 0 0 0 0 -V -180 0 1.2541142567955775e-05 2.1336951076054253e-05 6.7047166629993952e-05 7.7186942912155069e-05 0 2 0 -P 508 22 -3.7656617144148925e-02 1.4185309883022947e-02 3.3350767109029379e-02 5.2263921570995034e-02 1 0 0 0 0 -P 509 22 9.5720803038463378e-02 8.4602554698270271e-02 2.7707064192895242e-01 3.0510359718417601e-01 1 0 0 0 0 -V -181 0 1.2584156716671960e-05 2.9848520962308407e-05 2.8661370545072881e-02 2.8661440450187415e-02 0 2 0 -P 510 22 -4.0194037712829624e-02 4.7510012834891861e-02 1.6029784814713764e+01 1.6029905613197329e+01 1 0 0 0 0 -P 511 22 7.1426379875077009e-02 2.6570375761728566e-02 5.5104241235417319e+01 5.5104293932902152e+01 1 0 0 0 0 -V -182 0 0 0 0 0 0 1 0 -P 512 130 1.8498251272975502e-01 2.1534491855260202e-01 5.4113827121414495e+01 5.4116860155770283e+01 1 0 0 0 0 -V -183 0 -2.2239658429523491e-05 7.9787361538852465e-06 2.4815441155492533e-03 2.4817083833750635e-03 0 2 0 -P 513 22 -2.6447337141224440e-02 -3.9309724692202258e-02 3.8222339420741900e+00 3.8225275700825549e+00 1 0 0 0 0 -P 514 22 -1.6079201520980721e-01 1.0648402032122213e-01 1.7070295252939683e+01 1.7071384622849845e+01 1 0 0 0 0 -V -184 0 3.4803808964272598e-06 -2.1082232229174461e-05 5.3342632466181025e-08 2.3123268650157156e-05 0 2 0 -P 515 22 7.1813325473446363e-02 -2.2554379405664721e-01 5.2069084583338858e-02 2.4235995197715629e-01 1 0 0 0 0 -P 516 22 -1.8658185022900918e-02 -9.6440795705683577e-02 -5.1254393546604243e-02 1.1079696657636637e-01 1 0 0 0 0 -V -185 0 -5.3747799410516562e-05 -4.4440032307684720e-05 -1.5986731409189337e-04 1.7630768596296016e-04 0 2 0 -P 517 22 -1.9710479787187180e-01 -2.3282431232600628e-01 -6.5389094601821218e-01 7.2154752514216858e-01 1 0 0 0 0 -P 518 22 -8.4630153565993557e-02 -1.2123114591746497e-04 -1.8410075719873392e-01 2.0262123874545424e-01 1 0 0 0 0 -V -186 0 7.6865554396668605e-05 4.3142338883686831e-04 -6.8937030148838192e-03 6.9079097940412853e-03 0 2 0 -P 519 22 9.1906525835010915e-04 -1.4789438215505925e-03 -2.5924226335474737e-01 2.5924811101542949e-01 1 0 0 0 0 -P 520 22 1.6227427277457440e-01 9.1743438683356748e-01 -1.4376785736923154e+01 1.4406942316784155e+01 1 0 0 0 0 -V -187 0 9.6604711234698149e-06 -4.7395522046942198e-08 -7.1709104054133583e-05 7.2905658342372988e-05 0 2 0 -P 521 22 8.5947444322755293e-02 -6.6719307979624706e-02 -6.4429326409960863e-01 6.5341582427043943e-01 1 0 0 0 0 -P 522 22 6.0103580822178510e-02 6.6002762741430479e-02 -4.3983483125659523e-01 4.4880227707049974e-01 1 0 0 0 0 -V -188 0 -4.4469111055583206e-06 1.3188593151499278e-05 -3.2261949631913662e-04 3.2302176841489226e-04 0 2 0 -P 523 22 -3.1712032262728999e-02 -2.0883585220431546e-03 -3.0080324114774448e-01 3.0247744397977422e-01 1 0 0 0 0 -P 524 22 -4.2167611336134614e-02 2.2119967837399371e-01 -5.0591000356033122e+00 5.0641090603777545e+00 1 0 0 0 0 -V -189 0 -4.3236035757693638e-05 5.8582752132276060e-05 -5.7308757738288424e-04 5.7847833554835050e-04 0 2 0 -P 525 22 -1.9920557528452923e-01 2.2951795799458932e-01 -1.9774628498852040e+00 2.0006800536174132e+00 1 0 0 0 0 -P 526 22 5.3730450744935102e-03 3.3115812041689355e-02 -5.9176009596032075e-01 5.9271033211132973e-01 1 0 0 0 0 -V -190 0 -4.6563360052264990e-06 -2.1757073182779297e-05 1.1881217619907731e-06 2.6347063784305840e-05 0 2 0 -P 527 22 2.6481780274558765e-02 3.2840805847918842e-03 -9.1585090480877599e-03 2.8212553230456044e-02 1 0 0 0 0 -P 528 22 -7.1181574739910172e-02 -2.1214716485238358e-01 2.0564214843628897e-02 2.2471342431971594e-01 1 0 0 0 0 -V -191 0 -6.7958182803273389e-06 -2.2789598315534417e-05 3.3178587244766811e-05 6.9711989667256509e-05 0 2 0 -P 529 22 4.4007402269560576e-02 1.9050423208921346e-02 4.4254119127109588e-02 6.5253330479526792e-02 1 0 0 0 0 -P 530 22 -6.0239884439087552e-02 -7.3485626307050064e-02 3.4996208595725116e-02 1.0126063187166835e-01 1 0 0 0 0 -V -192 0 -9.2399879437066819e+00 -3.0387131447697538e+01 -7.5942819906423047e+00 5.6183581317030246e+01 0 2 0 -P 531 -211 7.2339661850637116e-02 -3.2521430738104773e-01 2.9845760368060501e-02 3.6244713644053916e-01 1 0 0 0 0 -P 532 211 -1.7292216029916171e-01 -5.5668170439967064e-03 -1.1251381807496415e-01 2.4914294517873958e-01 1 0 0 0 0 -V -193 0 -3.3735231507927859e-06 -2.4310362020575016e-05 1.7226629499045319e-05 3.2395411854205048e-05 0 2 0 -P 533 22 -4.1799321747595368e-02 -2.2002625342251989e-01 2.0776320166063492e-01 3.0549023463604780e-01 1 0 0 0 0 -P 534 22 4.6605103750219246e-03 -4.7604324203406684e-02 -1.8116794935990260e-02 5.1147925652673905e-02 1 0 0 0 0 -V -194 0 -1.7223995802044271e-06 -9.9525183324882429e-07 7.9935797423441558e-06 9.2576333951367783e-06 0 2 0 -P 535 22 1.0874576406073361e-03 -1.8699332423074717e-02 2.3331489504831751e-01 2.3406556314117663e-01 1 0 0 0 0 -P 536 22 -5.6116641951763281e-02 -1.3098107147460443e-02 2.2073098540934744e-02 6.1707856825420224e-02 1 0 0 0 0 -V -195 0 -1.0561297718282755e-04 1.7322491781130437e-04 5.9462272496750264e-04 6.2882871984594924e-04 0 2 0 -P 537 22 -2.1748912590842331e-01 4.0316638854421255e-01 1.5358537367294918e+00 1.6027137477934530e+00 1 0 0 0 0 -P 538 22 -3.2584382015507379e-01 4.8800065774682477e-01 1.5232221985470455e+00 1.6323371904239272e+00 1 0 0 0 0 -V -196 0 0 0 0 0 0 1 0 -P 539 310 5.7209538578317543e-01 -9.1601292232158002e-02 -1.3829998035577337e-01 7.7619987157909842e-01 2 0 0 -216 0 -V -197 0 2.4019926994931783e-07 -6.0416454152739986e-07 4.2226818955174602e-07 8.2968315987892530e-07 0 2 0 -P 540 22 6.6848277001447187e-02 -6.0958209970164400e-02 5.6178057143901434e-03 9.0643009889750908e-02 1 0 0 0 0 -P 541 22 4.2850452954082546e-02 -2.1496304034714489e-01 1.8723159014023277e-01 2.8827233370564426e-01 1 0 0 0 0 -V -198 0 6.5287521213597090e-06 -1.6117799071818023e-06 -3.0820813596859984e-06 7.4907746327396357e-06 0 2 0 -P 542 22 2.3363370799508734e-01 -5.5730263288117409e-03 -1.4570219730322215e-01 2.7539952511393773e-01 1 0 0 0 0 -P 543 22 5.1382275035746849e-01 -1.7895462591953512e-01 -2.0715568038038368e-01 5.8219588871510730e-01 1 0 0 0 0 -V -199 0 0 0 0 0 0 3 0 -P 544 211 7.2039523215605261e-01 -3.6736437975442332e-01 -2.9003951596164219e+00 3.0142491179150896e+00 1 0 0 0 0 -P 545 -211 2.0811046164856656e-01 -9.7076490529901388e-02 -9.3664893491201751e-01 9.7443564253007409e-01 1 0 0 0 0 -P 546 111 7.6439448341283889e-01 -1.6319820437628141e-01 -2.4284510447741372e+00 2.5547067654523916e+00 2 0 0 -217 0 -V -200 0 -1.6432909207964205e-05 -7.9824489275475590e-05 -1.0522786643367612e-04 1.3838811709899012e-04 0 2 0 -P 547 22 2.0913225215301631e-02 3.6758058149488726e-03 -2.1306516927539914e-02 3.0080595088506565e-02 1 0 0 0 0 -P 548 22 -7.9439325183585624e-02 -2.8797215164941031e-01 -3.5346441087396047e-01 4.6279115837026358e-01 1 0 0 0 0 -V -201 0 1.6164268726202693e-07 -2.2039284754121565e-07 5.0397629773053878e-06 5.1427813216031760e-06 0 2 0 -P 549 22 -5.6717912031914300e-02 -1.7745651231293166e-02 2.5677103342421997e-01 2.6355870937729325e-01 1 0 0 0 0 -P 550 22 7.8822474490421540e-02 -1.2392968377188934e-02 4.3241421457486973e-01 4.3971424938975157e-01 1 0 0 0 0 -V -202 0 -3.8148426826111342e-05 6.7214870004697462e-04 5.3066136439277271e-03 5.3498371418724423e-03 0 2 0 -P 551 22 -7.0179649086229604e-02 3.3943873319233780e-01 3.0226410969029458e+00 3.0424501700806421e+00 1 0 0 0 0 -P 552 22 1.0198438854068275e-02 7.1738839806950361e-01 5.3210085651958536e+00 5.3691602949369495e+00 1 0 0 0 0 -V -203 0 0 0 0 0 0 1 0 -P 553 130 -7.8781697561949271e-01 5.4422089375246685e-01 9.1458600181790075e+00 9.2093030609974118e+00 1 0 0 0 0 -V -204 0 0 0 0 0 0 1 0 -P 554 310 -7.2639469362242060e-01 3.6391099384214726e-01 1.1382133321844409e+01 1.1421940064958441e+01 2 0 0 -218 0 -V -205 0 1.1779236187810234e-05 8.8136515821122369e-06 4.6043112317678921e-04 4.6087946946870634e-04 0 2 0 -P 555 22 7.9864146623307694e-02 1.2156376086533430e-01 3.1649610887278126e+00 3.1683015517833417e+00 1 0 0 0 0 -P 556 22 3.3520899152715923e-02 -3.6724958742843213e-02 1.2670753477375407e+00 1.2680505944633595e+00 1 0 0 0 0 -V -206 0 3.9918137703655458e-05 -1.6314529835601096e-05 -4.1782943538884980e-04 4.2011896019205453e-04 0 2 0 -P 557 22 4.8444453326069842e-01 -1.7062202826696454e-01 -4.3743293539038568e+00 4.4043791479345922e+00 1 0 0 0 0 -P 558 22 2.1773520565967508e-01 -1.1635860158145582e-01 -2.9754965831844515e+00 2.9857206601569413e+00 1 0 0 0 0 -V -207 0 -9.8382711082984495e-05 1.0381505708631199e-04 -4.2367310508488541e-04 4.5612164498563096e-04 0 2 0 -P 559 22 -1.1820584450122643e-02 -1.6060206837071978e-02 -1.1815502929093931e-02 2.3178925123038745e-02 1 0 0 0 0 -P 560 22 -1.3581064020573216e-01 1.7184310656263610e-01 -6.2394029876529555e-01 6.6126853825772958e-01 1 0 0 0 0 -V -208 0 -4.3921776029805596e-05 2.9788443136967845e-05 -7.7343397718084210e-05 9.4323521818948618e-05 0 2 0 -P 561 22 -3.7219271349381805e-01 3.1341750210245684e-01 -6.3166726390592265e-01 7.9734652372254633e-01 1 0 0 0 0 -P 562 22 -2.2530657193845258e-01 9.1815962874002371e-02 -4.2049020891801436e-01 4.8580370335460860e-01 1 0 0 0 0 -V -209 0 -4.5476606945718249e-05 2.0103734705655713e-05 -9.3567140646843043e-05 1.0724373122600039e-04 0 2 0 -P 563 22 -2.9119152917936542e-01 1.1654730397796420e-01 -6.8492021847390561e-01 7.5332030797310356e-01 1 0 0 0 0 -P 564 22 -7.9559396942135666e-02 4.7349669899603999e-02 -7.7891837640231998e-02 1.2099102137088527e-01 1 0 0 0 0 -V -210 0 -3.1513825920006135e-05 4.0214012888618100e-06 -1.2104636768091706e-04 1.2582968009452371e-04 0 2 0 -P 565 22 -2.0821687003115755e-01 -3.5550488162903690e-03 -9.7529066000740405e-01 9.9727567644826054e-01 1 0 0 0 0 -P 566 22 -1.1651249793019035e-01 4.4992959343746600e-02 -2.7201300190967870e-01 2.9931689189278221e-01 1 0 0 0 0 -V -211 0 -7.6322960167519920e-05 3.8032859468481829e-06 -2.2295713646956259e-04 2.3642455954656021e-04 0 2 0 -P 567 22 -2.3596479193032335e-01 7.8693352480712103e-02 -7.1353458927233204e-01 7.5564782593706314e-01 1 0 0 0 0 -P 568 22 -3.1705682481445735e-01 -5.1135467688872380e-02 -9.0197030996840699e-01 9.5743945306305900e-01 1 0 0 0 0 -V -212 0 -1.8139484355414673e-04 3.2758568898555692e-05 2.7163050319436966e-04 3.3068177270168745e-04 0 2 0 -P 569 22 -2.5438740051631026e-01 4.5020203517792519e-02 5.0087060048465426e-01 5.6356998384946588e-01 1 0 0 0 0 -P 570 22 -3.5963372460583565e-01 6.5867476299182534e-02 4.1859802343527158e-01 5.5578705052547384e-01 1 0 0 0 0 -V -213 0 2.4428922970138252e-05 -7.3016606499326774e-05 1.6175690327614769e-04 1.8083120743594527e-04 0 2 0 -P 571 22 2.9367307545180181e-02 -1.9052347198993341e-01 5.3467463287475814e-01 5.6836484336323057e-01 1 0 0 0 0 -P 572 22 1.0453326376355529e-01 -2.0969741933778815e-01 3.5195232928334702e-01 4.2281278717413778e-01 1 0 0 0 0 -V -214 0 4.9579155221870880e-01 -1.1511948969643888e-01 -3.1822129333071317e+01 3.1829599665719567e+01 0 2 0 -P 573 211 3.7577127580332814e-01 -7.2432832855482146e-02 -2.9616994036592914e+01 2.9619795173422023e+01 1 0 0 0 0 -P 574 -211 1.5459267829018677e-01 -5.0714137832912419e-02 -4.4241473770426190e+00 4.4293374920692319e+00 1 0 0 0 0 -V -215 0 -4.7708493299121385e-01 -7.4349925969399086e-02 -2.4816142086001607e+00 2.6518666425556883e+00 0 2 0 -P 575 211 -1.8710039471863932e-01 -7.5516186697918888e-02 -1.3934778944835580e+00 1.4149097778556750e+00 1 0 0 0 0 -P 576 -211 -1.0949136603911050e-01 2.9294698802222685e-02 -1.4927954083399445e-01 2.3368933400271319e-01 1 0 0 0 0 -V -216 0 1.0046434401596073e+01 -1.6085890506737788e+00 -2.4286538834502935e+00 1.3630665945105468e+01 0 2 0 -P 577 211 4.2277088197502372e-01 1.2823578574380656e-01 -9.4354533417582487e-02 4.7282364393896442e-01 1 0 0 0 0 -P 578 -211 1.4932450380815165e-01 -2.1983707797596455e-01 -4.3945446938190864e-02 3.0337622764013394e-01 1 0 0 0 0 -V -217 0 2.4449966258954613e-05 -5.2200672258999185e-06 -7.7676575897242336e-05 8.1714998697994160e-05 0 2 0 -P 579 22 7.4264847022229474e-01 -1.4651608537616675e-01 -2.3931683946888840e+00 2.5100296171430410e+00 1 0 0 0 0 -P 580 22 2.1746013190544179e-02 -1.6682119000114660e-02 -3.5282650085253067e-02 4.4677148309350663e-02 1 0 0 0 0 -V -218 0 -3.3167578833116316e+01 1.6616374930143870e+01 5.1971443012433133e+02 5.2153202777739250e+02 0 2 0 -P 581 211 -4.1414101287442306e-01 3.9477834598429262e-01 8.2622830335795356e+00 8.2832459478684441e+00 1 0 0 0 0 -P 582 -211 -3.1225368074799753e-01 -3.0867352142145359e-02 3.1198502882648715e+00 3.1386941170899947e+00 1 0 0 0 0 -E 6 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 168 0 0 -V -1 0 0 0 0 0 1 2 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 2 5.1553292069003653e-01 3.8485835711180655e-01 1.7290951843317296e+03 1.7290953040157517e+03 3 0 0 -3 0 -P 34 2101 -5.1553292069003653e-01 -3.8485835711180655e-01 4.2219673894488587e+03 4.2219674782123802e+03 2 0 0 -13 0 -V -2 0 0 0 0 0 1 3 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 21 -4.9797130516589477e-01 1.0933883123411841e+00 -1.3097958796984543e+02 1.3098509815308313e+02 3 0 0 -4 0 -P 19 2103 2.9142878896144259e-01 -6.5062234924971918e-01 -6.7718730985476304e+03 6.7718731800014712e+03 2 0 0 -9 0 -P 47 2 2.0654251620445219e-01 -4.4276596309146488e-01 -5.7621689243983575e+01 5.7624705403492385e+01 2 0 0 -13 0 -V -3 0 0 0 0 0 0 4 0 -P 5 2 -3.1543729466487069e+00 -4.6848142715162355e+00 8.5430129997171412e+02 8.5431996856377293e+02 3 0 0 -5 0 -P 36 21 3.9295485495835827e+00 2.0268615205012281e+00 5.6968906941557279e+01 5.7140229939532411e+01 2 0 0 -13 0 -P 37 21 7.2056915500682295e-01 2.7350626169661183e+00 3.1393811690569535e+01 3.1520964450486176e+01 2 0 0 -13 0 -P 35 21 -5.5465777356364798e-01 9.8068482118457034e-01 7.0650666253777854e+02 7.0650756089247534e+02 2 0 0 -13 0 -V -4 0 0 0 0 0 0 14 0 -P 6 -1 2.6542267443335232e+00 4.7733493416006816e+00 -9.5183018160378474e-01 5.5439845095298299e+00 3 0 0 -5 0 -P 11 1 1.0452289512758353e+00 1.6158783855979435e+00 -6.1449917248529795e+00 6.4477430017130333e+00 2 0 0 -9 0 -P 12 21 2.0507170473914881e-02 -8.9170706750033535e-01 6.3770653890766849e-01 1.0964632543028934e+00 2 0 0 -9 0 -P 13 21 2.4396972905842967e-01 -1.4625120878663037e-01 1.0957508431732279e+00 1.1320691476598213e+00 2 0 0 -9 0 -P 14 21 2.2404339997558728e-01 3.9772174914434660e-02 2.5679435268111024e+00 2.5780052808055083e+00 2 0 0 -9 0 -P 15 21 2.2907916028215539e-01 5.6145433093357851e-02 2.9566325145909338e+00 2.9660251849350718e+00 2 0 0 -9 0 -P 16 21 -6.4153613197677273e-01 -7.0041909254235180e-01 1.0594798881277963e+00 1.4229030701972845e+00 2 0 0 -9 0 -P 17 21 -6.0129688723679253e-01 1.0936253434099126e+00 -4.3678739538393438e+00 4.5426751166000470e+00 2 0 0 -9 0 -P 18 21 -3.0305601865621408e+00 -1.6350966724517046e+00 -5.7074862415394945e+00 6.6658259330709209e+00 2 0 0 -9 0 -P 42 21 -6.7308225475211777e-03 8.7119620191138739e-02 7.4004359099556938e-02 1.1450666950073547e-01 2 0 0 -13 0 -P 43 21 -5.4922530444249185e-01 -5.7443001559112279e+00 6.3312048654001273e+01 6.3574477091698256e+01 2 0 0 -13 0 -P 44 21 4.9246236874230154e-01 -5.4861752836502131e-01 4.3982393709953467e+00 4.4595975089272537e+00 2 0 0 -13 0 -P 45 21 4.3766303360700642e-01 2.8042708174598313e-01 -4.3159676870355774e+00 4.3471560076327940e+00 2 0 0 -13 0 -P 46 21 -1.4413565938367516e+00 2.1405263273210222e+00 -1.0566874068613508e+02 1.0570024654645897e+02 2 0 0 -13 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 1.3362652386696274e+01 -5.2304954478332810e+00 3.2435236228283662e+02 3.2466963744688843e+02 3 0 0 -6 0 -P 8 24 -1.3862798589011460e+01 5.3190305179177280e+00 5.2899710750727365e+02 5.3519431562641421e+02 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 1.3362652386696274e+01 -5.2304954478332810e+00 3.2435236228283662e+02 3.2466963744688843e+02 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 24 -1.3862798589011460e+01 5.3190305179177280e+00 5.2899710750727365e+02 5.3519431562641421e+02 2 0 0 -8 0 -V -8 0 0 0 0 0 0 14 0 -P 20 -3 7.5856117110311561e-01 2.0869673719529196e+01 5.4238786725784678e+01 5.8122411182736293e+01 2 0 0 -11 0 -P 21 21 8.7653865698945155e-01 1.9452440200741499e+00 3.7291978086873669e+00 4.2964183468500563e+00 2 0 0 -11 0 -P 22 21 -2.0857452765265194e-01 -7.8097599171663326e-02 5.4489705676514189e-01 5.8865556232250016e-01 2 0 0 -11 0 -P 23 21 4.3330618320281716e-01 -2.4374988476555451e-01 8.2552704145238334e+00 8.2702271958899356e+00 2 0 0 -11 0 -P 24 21 2.6578215572600017e-01 -6.1069772931963884e-01 4.5356490599717514e+00 4.5842888506420660e+00 2 0 0 -11 0 -P 25 21 1.6304916049466662e+00 -3.6620941265445184e-01 9.3379838052457362e+00 9.4863351066020183e+00 2 0 0 -11 0 -P 26 21 2.6494131576136009e+00 -1.8737085154722346e+00 9.4375769353402248e+00 9.9798813665872306e+00 2 0 0 -11 0 -P 27 21 4.8537372653729438e-01 -5.1150354578642432e-01 3.0414025015288576e+01 3.0422198164537093e+01 2 0 0 -11 0 -P 28 21 -5.8689790026581257e-01 -6.6235167154779151e-01 4.0123127325052408e+01 4.0132885583078945e+01 2 0 0 -11 0 -P 29 21 4.1758121948632577e-02 4.2034989308576348e-01 1.8538918442599272e+01 1.8543730336550770e+01 2 0 0 -11 0 -P 33 4 -1.6288441893558204e+01 -1.0335743124208518e+01 2.4206509617684176e+02 2.4283719178155783e+02 2 0 0 -11 0 -P 30 21 -2.5101750377319743e+00 -1.9382973720472618e+00 6.5945986831567893e+01 6.6022201982453325e+01 2 0 0 -11 0 -P 31 21 8.7123477679498865e-02 -8.9409756075726099e-01 2.1265649086936058e+01 2.1284614913998784e+01 2 0 0 -11 0 -P 32 21 -1.4970574855498966e+00 -4.0178069904057806e-01 2.0564942822669387e+01 2.0623275252607758e+01 2 0 0 -11 0 -V -9 0 0 0 0 0 0 1 0 -P 54 92 -2.2191360057483411e+00 -1.2186750535150928e+00 -6.7797759371562515e+03 6.7987248899907554e+03 2 0 0 -10 0 -V -10 0 0 0 0 0 0 28 0 -P 55 223 4.3914986813415746e-01 3.6830815462664462e-01 -2.8127082215870023e+00 2.9747272598040237e+00 2 0 0 -19 0 -P 56 2214 9.3832780090047519e-03 9.1663704029871862e-01 -1.5328564926592643e+00 2.1740194902635626e+00 2 0 0 -20 0 -P 57 -2214 1.8785147040946842e-01 2.0187292697287215e-01 -1.2056659478163527e+00 1.7030569421445392e+00 2 0 0 -21 0 -P 74 -323 4.7081490132332504e-01 -1.5865648494546025e-02 -3.2261583443112883e+01 3.2277241798891765e+01 2 0 0 -33 0 -P 75 211 -9.1757958893698033e-02 3.2181918311161262e-01 -1.6614336925585420e+01 1.6618292883789543e+01 1 0 0 0 0 -P 76 -211 -5.6452720769387055e-01 -4.8762420703273973e-01 -5.1472406189058162e+01 5.1478000612026534e+01 1 0 0 0 0 -P 77 2212 4.1629393788876684e-01 4.8136660226161482e-01 -2.2629571529474541e+02 2.2629855528880839e+02 1 0 0 0 0 -P 78 -2212 1.6931670804072943e-01 -2.7905712401517913e-01 -3.0378841559864082e+02 3.0379003990182349e+02 1 0 0 0 0 -P 79 113 -3.4822564064186329e-01 -1.3279027021738696e-01 -5.8612314068012904e+02 5.8612361777362742e+02 2 0 0 -34 0 -P 80 223 3.1115346594947385e-01 9.5015147249963641e-02 -1.6070126147938757e+02 1.6070340807922597e+02 2 0 0 -35 0 -P 81 111 -3.0700454395497856e-01 -2.6156960683994035e-01 -8.8893536417835003e+02 8.8893546592367738e+02 2 0 0 -36 0 -P 82 2214 4.7537093601289926e-01 -3.4129421297560109e-01 -4.4813354731965437e+03 4.4813356767779196e+03 2 0 0 -37 0 -P 65 -311 -5.9377456944595330e-01 4.5203893895285015e-02 -9.6189558945220821e-01 1.2359329210161991e+00 2 0 0 -28 0 -P 66 -211 -1.4391794255819610e-02 -7.1461790982322015e-01 -2.6658286748581150e-01 7.7552052901194535e-01 1 0 0 0 0 -P 67 211 -1.3248904077166496e-01 -4.3317492476548036e-01 -1.1482597221245971e+00 1.2422455617645944e+00 1 0 0 0 0 -P 68 -213 -5.2211437200382105e-01 7.9286955835134260e-02 -8.5790184370084488e-01 1.2011011581202928e+00 2 0 0 -29 0 -P 69 223 -9.5592288677932846e-01 -1.7918868574715585e-01 -3.0639090063121457e+00 3.3077794403724048e+00 2 0 0 -30 0 -P 70 211 7.0967562238259174e-02 3.8996758193883674e-01 -2.7910900605680138e+00 2.8225475409556564e+00 1 0 0 0 0 -P 71 221 -7.9420492103182139e-01 -1.1446092486693100e+00 -5.8237902163823607e+00 6.0130795584011185e+00 2 0 0 -31 0 -P 72 -211 -2.2868738909695571e-01 5.3871835020221159e-01 -8.0709761702752125e+00 8.0933708372239366e+00 1 0 0 0 0 -P 73 323 -3.7655233898013341e-01 -5.2497601208213923e-02 -9.3341650875051556e+00 9.3805406988977769e+00 2 0 0 -32 0 -P 58 -211 4.3147175131205556e-02 -2.3557373365294690e-02 2.1335388761743965e-01 2.5964648047518357e-01 1 0 0 0 0 -P 59 213 5.4943604442193794e-01 -4.4949867669686494e-01 1.8435024615148028e+00 2.2056789519361231e+00 2 0 0 -22 0 -P 60 313 -7.8106864351388319e-02 -2.9683058321885142e-01 1.5358913398195986e+00 1.7943222638789789e+00 2 0 0 -23 0 -P 61 -313 -2.8127679350961809e-01 -4.0985048763141485e-01 1.3613208314607497e+00 1.6998147557129637e+00 2 0 0 -24 0 -P 62 111 5.2287976246185208e-01 3.1551855841571058e-01 1.6575473956800690e+00 1.7716202121286238e+00 2 0 0 -25 0 -P 63 223 4.2062353527572627e-01 -5.3534021227090882e-02 -5.1902760003831150e-01 1.0278601073623364e+00 2 0 0 -26 0 -P 64 313 -1.0164883296342317e+00 3.0317113360459302e-01 -4.7102726088297031e-01 1.4817262414936587e+00 2 0 0 -27 0 -V -11 0 0 0 0 0 0 1 0 -P 83 92 -1.3862798589011463e+01 5.3190305179177262e+00 5.2899710750727411e+02 5.3519431562641466e+02 2 0 0 -12 0 -V -12 0 0 0 0 0 0 21 0 -P 84 311 2.5888648514865614e-01 6.8942858996681888e+00 1.8438621810969973e+01 1.9693365634025938e+01 2 0 0 -38 0 -P 85 -2214 5.9843068834265156e-01 7.0360055489560640e+00 1.7358883624012101e+01 1.8783497498949131e+01 2 0 0 -39 0 -P 86 2212 3.4886119643935054e-01 4.9862993156252911e+00 1.2320349332712045e+01 1.3328775010192965e+01 1 0 0 0 0 -P 87 213 -1.7633909923617705e-01 5.5008275946494822e-01 3.1366704522030666e+00 3.2788845202711485e+00 2 0 0 -40 0 -P 88 -213 9.3596281426276295e-01 3.1300597444033751e+00 1.2279947128812188e+01 1.2716588374863234e+01 2 0 0 -41 0 -P 89 223 2.1870910397305326e-01 -5.2382770779191845e-01 2.3985226478001938e+00 2.5828193483021984e+00 2 0 0 -42 0 -P 90 213 6.1204214328732109e-01 -1.6796573188674388e-01 4.5599062798313206e+00 4.6552912175547361e+00 2 0 0 -43 0 -P 91 221 5.4269273511143312e-01 7.7987872353382517e-02 1.0780774373457542e+00 1.3276106267994858e+00 2 0 0 -44 0 -P 92 -211 8.0098137319982554e-01 -5.7398530539559300e-01 6.2237539585614439e+00 6.3028266208608654e+00 1 0 0 0 0 -P 93 213 5.5057551623275680e-01 -1.0534036535349371e+00 9.4814928549044328e+00 9.5835615561107037e+00 2 0 0 -45 0 -P 94 -321 1.5575020040762801e+00 -8.3099763629883872e-01 8.8844400576506484e+00 9.0715646755244688e+00 1 0 0 0 0 -P 95 313 3.3279971362282484e-01 -1.8260757454558951e-01 7.4157827342161626e+00 7.4614577188472992e+00 2 0 0 -46 0 -P 96 -1114 -5.0615240179884302e-01 -3.3322629949875109e-02 2.3237572673526984e+01 2.3276087644739984e+01 2 0 0 -47 0 -P 97 -211 1.7928451814409808e-02 -8.9954836115038374e-03 3.5726096339188897e+00 3.5753911295660967e+00 1 0 0 0 0 -P 98 3122 -6.5369447377612477e-01 -1.0702310712709195e+00 2.9383501117182917e+01 2.9431404838655745e+01 2 0 0 -48 0 -P 99 321 -2.4057580701681808e-01 -2.6944576020956384e-01 4.7340903611494610e+01 4.7344854772714633e+01 1 0 0 0 0 -P 100 -211 5.7342976079554991e-02 -6.8530273376454165e-01 2.0599804297672083e+01 2.0611752592661787e+01 1 0 0 0 0 -P 101 223 -2.3410430059255853e+00 -1.1503275478832635e+00 4.4285266064355085e+01 4.4369010681721200e+01 2 0 0 -49 0 -P 102 223 -3.1953002833548410e+00 -2.9014902189151588e+00 5.7122129530076670e+01 5.7290619886004976e+01 2 0 0 -50 0 -P 103 111 -9.4229307627474845e-01 -2.6009023256420677e-01 1.3944330755467364e+01 1.3979203946897107e+01 2 0 0 -51 0 -P 104 411 -1.2640115643219200e+01 -7.6436973349308683e+00 1.8593454150456017e+02 1.8652974733115090e+02 2 0 0 -52 0 -V -13 0 0 0 0 0 4 1 0 -P 40 21 3.6780928056629758e+00 -1.8218289456156361e-01 5.0306149033881333e+01 5.0440759192474694e+01 2 0 0 -13 0 -P 41 21 -3.1335321392207005e-01 3.6624933692512527e+00 2.9580619506280872e+01 2.9808138121859425e+01 2 0 0 -13 0 -P 38 21 -3.6780928056629758e+00 1.8218289456156361e-01 2.3176136987604477e+02 2.3179062561742003e+02 2 0 0 -13 0 -P 39 21 1.9326626594872165e+00 3.0361539888006712e+00 4.1524606600260074e+02 4.1526166298688753e+02 2 0 0 -13 0 -P 105 92 4.3385916536288640e+00 7.8287873414824647e+00 5.6439088698045143e+03 5.9802581086412247e+03 2 0 0 -14 0 -V -14 0 0 0 0 0 0 44 0 -P 106 2212 -3.4160521964083146e-01 -4.2707439382586243e-01 3.8512250996931152e+03 3.8512252528180561e+03 1 0 0 0 0 -P 107 223 -2.5910643630590879e-01 2.6822308539292211e-01 3.3980500829705886e+02 3.3980610932012291e+02 2 0 0 -53 0 -P 108 -213 -8.4375493495365134e-02 9.5940084333554179e-02 4.2717554323319206e+02 4.2717675743312810e+02 2 0 0 -54 0 -P 109 113 -3.4570270925533353e-01 3.3786281887310854e-01 1.4073143387350351e+02 1.4073480152132342e+02 2 0 0 -55 0 -P 110 213 2.4695902556986107e-01 1.2962129105176443e-01 1.2135495094371257e+02 1.2135708944265656e+02 2 0 0 -56 0 -P 111 -213 7.1828294249699365e-01 2.4088172256065112e-02 1.8213566215684704e+01 1.8242281874573358e+01 2 0 0 -57 0 -P 112 211 3.2873577492781386e-01 9.7272501560572222e-01 3.9426955314388032e+01 3.9440569802087708e+01 1 0 0 0 0 -P 113 111 3.6542984071301632e-02 -1.2598519400611854e-01 1.0816686858157469e+00 1.0979227682619390e+00 2 0 0 -58 0 -P 114 -323 8.6173923366826966e-01 1.1984057445008052e+00 3.0606103245405613e+01 3.0655843761329539e+01 2 0 0 -59 0 -P 115 321 9.6888861415451444e-03 7.5096383158525493e-01 1.2274824797803829e+01 1.2307680745276246e+01 1 0 0 0 0 -P 116 113 1.7372162770218658e+00 5.9807209762691627e-01 1.9986477309083451e+01 2.0086000654430649e+01 2 0 0 -60 0 -P 117 111 3.0531402020407761e-01 1.8264305008182584e+00 4.1855045772255252e+01 4.1896206764135989e+01 2 0 0 -61 0 -P 118 -211 -3.5077119331308954e-01 -4.5694813801297091e-01 4.3816705499162680e+01 4.3820714309743344e+01 1 0 0 0 0 -P 119 211 -3.7029195227841366e-01 2.5395295815850005e-01 1.0279729792404048e+01 1.0290477764643340e+01 1 0 0 0 0 -P 120 -323 -7.3509947734007886e-01 2.6814421430056673e-01 6.0116876101422612e+01 6.0128892408855542e+01 2 0 0 -62 0 -P 121 311 -6.9510494917716592e-01 3.2581753110533535e-01 7.2855221980526849e+01 7.2860966046400250e+01 2 0 0 -63 0 -P 122 113 -5.2905073522641244e-01 3.1400871973230815e-01 7.3063252128309969e+01 7.3071887443745908e+01 2 0 0 -64 0 -P 123 211 6.6028226411728730e-01 4.7432898901159826e-01 8.6408369660818963e+01 8.6412306923746485e+01 1 0 0 0 0 -P 124 -323 3.0867648137115933e-01 4.2956262666170625e-01 1.9432116829669465e+02 1.9432395791775645e+02 2 0 0 -65 0 -P 125 323 6.2311833999943100e-01 6.5723937948714817e-01 2.0539373968623146e+01 2.0576811112060657e+01 2 0 0 -66 0 -P 126 -213 8.2345550936719503e-01 5.3491978714712018e-01 3.7603445724436263e+01 3.7621593707277178e+01 2 0 0 -67 0 -P 127 213 9.8022239868273831e-01 8.7532758950826225e-02 3.4555170316705698e+01 3.4579992236556180e+01 2 0 0 -68 0 -P 128 -211 -5.4933402605629666e-01 6.9404217019334813e-01 8.2074041622333471e+00 8.2561749783622673e+00 1 0 0 0 0 -P 129 113 -1.8452176626646558e-01 6.0381110882112632e-01 1.3101634256941848e+01 1.3132355266544623e+01 2 0 0 -69 0 -P 130 -3112 1.4055290907999738e+00 4.7729917439304131e-01 2.0435320259645351e+01 2.0524120034603992e+01 2 0 0 -70 0 -P 131 3122 5.3829758889303592e-01 4.0787393536340916e-01 1.1614299998698201e+01 1.1687293603033934e+01 2 0 0 -71 0 -P 132 113 3.0711687734085993e-03 -8.8265073989745946e-01 1.3713684841961960e+01 1.3753831262363400e+01 2 0 0 -72 0 -P 133 221 -7.5480206365605290e-02 1.8124278719185263e-01 5.6912987989439365e+00 5.7209378366508021e+00 2 0 0 -73 0 -P 134 -323 3.4119607349226949e-02 2.9236525030979216e-01 9.4123046873792351e+00 9.4590213924699373e+00 2 0 0 -74 0 -P 135 311 3.1370849344690394e-01 -1.6502140696154801e+00 1.7013060483686480e+01 1.7103026689591879e+01 2 0 0 -75 0 -P 136 111 -4.0944263992706453e-01 4.8640258974619648e-02 1.8573871902464190e+00 1.9073845771304352e+00 2 0 0 -76 0 -P 137 211 4.2521983009641312e-01 1.0095857429967137e-01 1.7231640563937192e+00 1.7831933960676001e+00 1 0 0 0 0 -P 138 331 -6.4813629763747049e-01 -1.8623822616724834e+00 1.5746494503179859e+01 1.5898343095215896e+01 2 0 0 -77 0 -P 139 223 2.6048232688869083e-01 -7.5634998087022398e-01 9.4625709838721264e+00 9.5283224643966609e+00 2 0 0 -78 0 -P 140 -213 1.8439421727607613e-01 -1.4205338969033782e-02 4.9823217426385797e+00 5.0459413515342293e+00 2 0 0 -79 0 -P 141 223 2.2982888723697886e-02 -2.4721922626951739e-01 7.1905766008958572e-01 1.0910344129213754e+00 2 0 0 -80 0 -P 142 211 -2.5858770326589875e-01 3.7058982588567041e-01 -1.3267284914603703e+00 1.4085072574477475e+00 1 0 0 0 0 -P 143 113 3.8294560107957676e-01 -4.0649528732935525e-01 -2.2779494568707106e+00 2.5112020323957029e+00 2 0 0 -81 0 -P 144 -213 -1.7928345872764893e-02 -4.4205911706645860e-02 -7.7159032233104536e+00 7.7555350485384382e+00 2 0 0 -82 0 -P 145 -2112 1.2412666094555554e-01 6.0949944184229277e-01 -5.5543953322427688e+00 5.6675388211554232e+00 1 0 0 0 0 -P 146 2212 -6.3965319906624407e-01 -1.8727663295352737e-02 -7.6895933419740139e+00 7.7730112117685382e+00 1 0 0 0 0 -P 147 223 -1.7596507607359885e-02 5.0768816135776895e-01 -3.0916304915378632e+01 3.0930486957261824e+01 2 0 0 -83 0 -P 148 -213 -6.6424238417843881e-02 1.1248577022620441e+00 -6.6508630910885344e+01 6.6523631467643838e+01 2 0 0 -84 0 -P 149 213 -4.1830686176762299e-01 -2.4546245054114987e-01 -4.5077618999398048e+01 4.5083098707959479e+01 2 0 0 -85 0 -V -15 0 0 0 0 0 4 1 0 -P 48 21 1.5946597234291504e+00 -9.2504118596319991e+00 -1.3340867622115992e+01 1.6312320745901555e+01 2 0 0 -15 0 -P 49 21 3.1335321392207005e-01 -3.6624933692512527e+00 -1.5996227394120206e+01 1.6413145303715751e+01 2 0 0 -15 0 -P 50 21 -1.5946597234291504e+00 9.2504118596319991e+00 3.4553214778277602e-01 9.3932130643086573e+00 2 0 0 -15 0 -P 51 21 -1.9326626594872165e+00 -3.0361539888006712e+00 -2.2403930493388815e+00 4.2394312135724528e+00 2 0 0 -15 0 -P 150 92 -1.6193094455651464e+00 -6.6986473580519243e+00 -3.1231955917792302e+01 4.6358110327498416e+01 2 0 0 -16 0 -V -16 0 0 0 0 0 0 16 0 -P 151 -213 -9.1575437638018786e-01 1.9786173531659450e+00 1.0038490462694034e-01 2.3689498194545235e+00 2 0 0 -86 0 -P 152 221 -1.1496652822320098e-01 -7.9300120639953120e-01 -1.4401545991065330e+00 1.7366102003012958e+00 2 0 0 -87 0 -P 153 213 -7.2057087624760130e-01 -1.4035436254698561e+00 -1.4434746483930367e+00 2.3576881056684051e+00 2 0 0 -88 0 -P 154 311 -4.2407341657881786e-01 -1.1323088737363824e+00 -4.2536503779649254e-01 1.3749809062203735e+00 2 0 0 -89 0 -P 155 -323 6.8739672657553341e-01 -3.4637271310558235e+00 -5.6861873569991586e+00 6.7553227489313796e+00 2 0 0 -90 0 -P 156 211 3.2027042541495282e-01 -2.3824354336932485e+00 -4.9432086795529084e+00 5.4984873897845601e+00 1 0 0 0 0 -P 157 -211 3.7929530102443287e-01 -1.7398661940045272e+00 -1.6262506930350391e+00 2.4156097366743579e+00 1 0 0 0 0 -P 158 211 3.5929042858649445e-02 -2.5352917615846560e-01 -5.9214749380134923e-01 6.6006543508924009e-01 1 0 0 0 0 -P 159 113 -1.8124205568734308e-01 -3.1612383038769862e+00 -1.1255356346808174e+01 1.1743159345237892e+01 2 0 0 -91 0 -P 160 -211 2.8532095261363383e-01 1.0522733295491603e-02 -1.4240332868527008e+00 1.4590645499363166e+00 1 0 0 0 0 -P 161 111 8.0154759639689030e-02 -3.4769109444583562e-01 -8.8595154092897399e-01 9.6459505281971181e-01 2 0 0 -92 0 -P 162 211 3.8450845074859470e-02 2.0662978645006660e-01 -7.8432525673484271e-02 2.6420783886723115e-01 1 0 0 0 0 -P 163 2112 -6.2517197323617857e-01 3.1384370147711613e+00 1.1380234215497604e-02 3.3351983728762726e+00 1 0 0 0 0 -P 164 -2212 4.7227611869119018e-01 9.0023711940114270e-01 -1.4423015082082278e+00 1.9985134067384713e+00 1 0 0 0 0 -P 165 213 -8.8060853310417464e-01 -2.2704271380420674e-01 -3.0207510516881181e-01 1.2785039593373555e+00 2 0 0 -93 0 -P 166 113 -5.6015858000582994e-02 1.9712923875091308e+00 2.0121776569014715e-01 2.1471534595610358e+00 2 0 0 -94 0 -V -17 0 0 0 0 0 2 1 0 -P 52 21 -3.0362721334232550e+00 7.6960555799361619e-01 3.0949052196359327e+02 3.0950637219042926e+02 2 0 0 -17 0 -P 53 21 3.0362721334232550e+00 -7.6960555799361619e-01 4.2639680730324301e+00 5.2908094759627442e+00 2 0 0 -17 0 -P 167 92 0 0 3.1375449003662573e+02 3.1479718166639202e+02 2 0 0 -18 0 -V -18 0 0 0 0 0 0 14 0 -P 168 213 3.2999323989997326e-01 5.6942160313396906e-01 1.1610979057575713e+01 1.1657922862124975e+01 2 0 0 -95 0 -P 169 311 -3.9549707014260671e-01 -2.8851686492632728e-01 8.4163752596000130e+00 8.4452772514077648e+00 2 0 0 -96 0 -P 170 -323 5.2128742450140031e-01 9.7134097701761499e-02 8.3960820516559060e+00 8.4589041202825257e+00 2 0 0 -97 0 -P 171 113 3.8591072460653691e-01 -2.7644757220945215e-01 4.7314982713787517e+00 4.8147268927460747e+00 2 0 0 -98 0 -P 172 213 6.0325469359176376e-01 -3.0740340709509106e-01 1.4598324375000185e+00 1.7877548921809201e+00 2 0 0 -99 0 -P 173 1114 3.6710399464270077e-01 1.2951245679680667e-01 3.1121459445196282e+00 3.3467359928685627e+00 2 0 0 -100 0 -P 174 -1114 9.7380249513257433e-01 -6.3457340363777717e-02 1.2276570613075052e+01 1.2375786282599574e+01 2 0 0 -101 0 -P 175 2112 -3.2151359419442543e-01 -3.9573049090654866e-01 1.2203622044795935e+01 1.2250353317754321e+01 1 0 0 0 0 -P 176 211 -2.6031509045536677e-01 -2.5957138973744100e-02 2.1813184663724797e+01 2.1815199808345582e+01 1 0 0 0 0 -P 177 -3222 -1.3419797779501037e+00 1.0195367754860356e+00 7.0658805821816856e+01 7.0688908649965128e+01 2 0 0 -102 0 -P 178 -323 6.5303950764476326e-01 4.5843110713109797e-01 4.3702629036619392e+01 4.3720185385460475e+01 2 0 0 -103 0 -P 179 113 -1.2053222613750429e+00 -6.5261496518697781e-01 8.2787798768823720e+01 8.2800346532049119e+01 2 0 0 -104 0 -P 180 213 2.0228441721426238e-01 1.5934395893829920e-01 2.2925780883396051e+01 2.2952070100818403e+01 2 0 0 -105 0 -P 181 -211 -5.1204870311642947e-01 -4.2325221952605135e-01 9.6591851821438173e+00 9.6830095777884910e+00 1 0 0 0 0 -V -19 0 0 0 0 0 0 2 0 -P 182 22 1.8587946456084625e-01 -2.1984404913873207e-01 -1.2052101682909502e+00 1.2391182877510287e+00 1 0 0 0 0 -P 183 111 2.5327040357331115e-01 5.8815220376537669e-01 -1.6074980532960521e+00 1.7356089720529952e+00 2 0 0 -106 0 -V -20 0 0 0 0 0 0 2 0 -P 184 2212 -1.8155431084997567e-01 5.7356379733320284e-01 -9.9133230842357767e-01 1.4916526861249948e+00 1 0 0 0 0 -P 185 111 1.9093758885898043e-01 3.4307324296551578e-01 -5.4152418423568671e-01 6.8236680413856798e-01 2 0 0 -107 0 -V -21 0 0 0 0 0 0 2 0 -P 186 -2212 3.1520905862425908e-01 2.1080784939947769e-01 -1.0716835086387424e+00 1.4739921423113049e+00 1 0 0 0 0 -P 187 111 -1.2735758821479068e-01 -8.9349224266055422e-03 -1.3398243917761030e-01 2.2906479983323427e-01 2 0 0 -108 0 -V -22 0 0 0 0 0 0 2 0 -P 188 211 7.9805875536976001e-01 -3.2097636430674814e-01 1.5504153910727283e+00 1.7785362726807428e+00 1 0 0 0 0 -P 189 111 -2.4862271094782207e-01 -1.2852231239011683e-01 2.9308707044207477e-01 4.2714267925538041e-01 2 0 0 -109 0 -V -23 0 0 0 0 0 0 2 0 -P 190 321 -1.5072910497911379e-01 -4.2818751301287367e-01 1.3882161311751551e+00 1.5417032127627126e+00 1 0 0 0 0 -P 191 -211 7.2622240627725473e-02 1.3135692979402222e-01 1.4767520864444364e-01 2.5261905111626654e-01 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 192 -321 -7.3081843994436652e-02 -3.2872056572966601e-02 1.0091837996890252e+00 1.1262834588058825e+00 1 0 0 0 0 -P 193 211 -2.0819494951518142e-01 -3.7697843105844819e-01 3.5213703177172428e-01 5.7353129690708116e-01 1 0 0 0 0 -V -25 0 1.4713437953703780e-06 8.8784517316833685e-07 4.6642120258844947e-06 4.9852042362384955e-06 0 2 0 -P 194 22 2.7205036877184846e-01 2.1002866456737385e-01 7.6826252672454298e-01 8.4163576032511367e-01 1 0 0 0 0 -P 195 22 2.5082939369000368e-01 1.0548989384833672e-01 8.8928486895552616e-01 9.2998445180351008e-01 1 0 0 0 0 -V -26 0 0 0 0 0 0 3 0 -P 196 211 4.8097144381577590e-02 -3.3729039691863125e-02 -1.4857572844262404e-01 2.1214503387648262e-01 1 0 0 0 0 -P 197 -211 3.7753509906070848e-01 -2.8072898252255268e-02 -4.9028060511515958e-01 6.3496117620776427e-01 1 0 0 0 0 -P 198 111 -5.0087081665597831e-03 8.2679167170274983e-03 1.1982873351947212e-01 1.8075389727808949e-01 2 0 0 -110 0 -V -27 0 0 0 0 0 0 2 0 -P 199 311 -8.4559749187529187e-01 9.9710033077653488e-03 -5.2448860633214933e-01 1.1126087660291861e+00 2 0 0 -111 0 -P 200 111 -1.7089083775893985e-01 2.9320013029682768e-01 5.3461345449179000e-02 3.6911747546447249e-01 2 0 0 -112 0 -V -28 0 0 0 0 0 0 1 0 -P 201 310 -5.9377456944595330e-01 4.5203893895285015e-02 -9.6189558945220821e-01 1.2359329210161991e+00 2 0 0 -113 0 -V -29 0 0 0 0 0 0 2 0 -P 202 -211 5.7565215324936768e-02 -1.1132129032450142e-01 -3.4466881494030727e-01 3.9240611690858496e-01 1 0 0 0 0 -P 203 111 -5.7967958732875779e-01 1.9060824615963567e-01 -5.1323302876053767e-01 8.0869504121170799e-01 2 0 0 -114 0 -V -30 0 0 0 0 0 0 3 0 -P 204 211 -2.9500658243202599e-01 -2.2831491421237085e-01 -7.6054280475650438e-01 8.5852299124538090e-01 1 0 0 0 0 -P 205 -211 -3.1517645369553471e-01 -1.6670151526215007e-01 -1.3583103023518337e+00 1.4112449307366599e+00 1 0 0 0 0 -P 206 111 -3.4573985065176793e-01 2.1582774372736507e-01 -9.4505589920380773e-01 1.0380115183903642e+00 2 0 0 -115 0 -V -31 0 0 0 0 0 0 2 0 -P 207 22 -2.7296924447765503e-01 -1.1720991606231085e-01 -6.8344889887257443e-01 7.4521994754848742e-01 1 0 0 0 0 -P 208 22 -5.2123567655416625e-01 -1.0273993326069992e+00 -5.1403413175097858e+00 5.2678596108526312e+00 1 0 0 0 0 -V -32 0 0 0 0 0 0 2 0 -P 209 311 -1.7100390911822591e-01 -2.6586260149101487e-01 -5.1674196262737446e+00 5.2009447490532308e+00 2 0 0 -116 0 -P 210 211 -2.0554842986190747e-01 2.1336500028280095e-01 -4.1667454612314101e+00 4.1795959498445461e+00 1 0 0 0 0 -V -33 0 0 0 0 0 0 2 0 -P 211 -321 5.0202951655587369e-01 -1.0818066855080209e-01 -1.7205959210260328e+01 1.7220697140292657e+01 1 0 0 0 0 -P 212 111 -3.1214615232548548e-02 9.2315020056256067e-02 -1.5055624232852555e+01 1.5056544658599103e+01 2 0 0 -117 0 -V -34 0 0 0 0 0 0 2 0 -P 213 211 9.1259248721195466e-02 -4.6924362818728679e-02 -3.3138429820366952e+02 3.3138434348331810e+02 1 0 0 0 0 -P 214 -211 -4.3948488936305879e-01 -8.5865907398658278e-02 -2.5473884247645952e+02 2.5473927429030923e+02 1 0 0 0 0 -V -35 0 0 0 0 0 0 3 0 -P 215 -211 -1.2003912619075557e-02 1.5417261170584987e-01 -3.7414862979715281e+01 3.7415442866066513e+01 1 0 0 0 0 -P 216 211 7.5480641148820526e-02 -1.0982597901254602e-01 -1.5712350184328226e+01 1.5713535158350382e+01 1 0 0 0 0 -P 217 111 2.4767673741972890e-01 5.0668514556659799e-02 -1.0757404831534404e+02 1.0757443005480903e+02 2 0 0 -118 0 -V -36 0 -7.0045040781826522e-05 -5.9678770686458553e-05 -2.0281626139517797e-01 2.0281628460902201e-01 0 2 0 -P 218 22 -2.0306043592456660e-01 -1.0355072122695697e-01 -5.7088734079546225e+02 5.7088738630031651e+02 1 0 0 0 0 -P 219 22 -1.0394410803041193e-01 -1.5801888561298336e-01 -3.1804802338288772e+02 3.1804807962336088e+02 1 0 0 0 0 -V -37 0 0 0 0 0 0 2 0 -P 220 2212 1.9744570739179240e-01 -2.9511038265664724e-01 -2.9201396219359308e+03 2.9201397942608260e+03 1 0 0 0 0 -P 221 111 2.7792522862110680e-01 -4.6183830318953831e-02 -1.5611958512606125e+03 1.5611958825170939e+03 2 0 0 -119 0 -V -38 0 0 0 0 0 0 1 0 -P 222 130 2.5888648514865614e-01 6.8942858996681888e+00 1.8438621810969973e+01 1.9693365634025938e+01 1 0 0 0 0 -V -39 0 0 0 0 0 0 2 0 -P 223 -2212 6.4080126117661795e-01 6.6596959653282841e+00 1.6651831163988486e+01 1.7970142133934655e+01 1 0 0 0 0 -P 224 111 -4.2370572833966343e-02 3.7630958362777911e-01 7.0705246002361244e-01 8.1335536501447692e-01 2 0 0 -120 0 -V -40 0 0 0 0 0 0 2 0 -P 225 211 7.1578317760274915e-02 -4.5300168548451349e-02 1.5812339005719036e+00 1.5896402089975410e+00 1 0 0 0 0 -P 226 111 -2.4791741699645198e-01 5.9538292801339954e-01 1.5554365516311630e+00 1.6892443112736077e+00 2 0 0 -121 0 -V -41 0 0 0 0 0 0 2 0 -P 227 -211 8.3215158992368088e-01 2.4641162172429856e+00 1.0127048332028291e+01 1.0456621476596988e+01 1 0 0 0 0 -P 228 111 1.0381122433908205e-01 6.6594352716038974e-01 2.1528987967838971e+00 2.2599668982662449e+00 2 0 0 -122 0 -V -42 0 0 0 0 0 0 3 0 -P 229 211 1.4965349692285381e-02 -2.3653199756728413e-01 1.4382398007146437e+00 1.4643035398524038e+00 1 0 0 0 0 -P 230 -211 2.2523982939715814e-01 -2.3702484908296056e-02 5.6148232442395496e-01 6.2131873791011349e-01 1 0 0 0 0 -P 231 111 -2.1496075116390248e-02 -2.6359322531633833e-01 3.9880052266159505e-01 4.9719707053968126e-01 2 0 0 -123 0 -V -43 0 0 0 0 0 0 2 0 -P 232 211 2.3913424705178085e-01 -1.1677536002552498e-01 3.6380966329753557e+00 3.6504860729208013e+00 1 0 0 0 0 -P 233 111 3.7290789623554016e-01 -5.1190371861218900e-02 9.2180964685596467e-01 1.0048051446339359e+00 2 0 0 -124 0 -V -44 0 0 0 0 0 0 3 0 -P 234 111 2.5665924518427391e-01 -7.3737349265815239e-02 3.8717337870206897e-01 4.8931992641919431e-01 2 0 0 -125 0 -P 235 111 1.6865575199696520e-01 1.3369711769649753e-01 2.2670061612841966e-01 3.4048854858132604e-01 2 0 0 -126 0 -P 236 111 1.1737773793019404e-01 1.8028103922700229e-02 4.6420344251526557e-01 4.9780215179896570e-01 2 0 0 -127 0 -V -45 0 0 0 0 0 0 2 0 -P 237 211 4.0644969833856254e-01 -1.1066065128461260e+00 8.3074841847963157e+00 8.3918742005045495e+00 1 0 0 0 0 -P 238 111 1.4412581789419426e-01 5.3202859311188878e-02 1.1740086701081160e+00 1.1916873556061522e+00 2 0 0 -128 0 -V -46 0 0 0 0 0 0 2 0 -P 239 311 2.5178180326027377e-01 -3.2242494783834660e-02 4.0106627287096375e+00 4.0493857073985327e+00 2 0 0 -129 0 -P 240 111 8.1017910362551057e-02 -1.5036507976175487e-01 3.4051200055065252e+00 3.4120720114487666e+00 2 0 0 -130 0 -V -47 0 0 0 0 0 0 2 0 -P 241 -2112 -2.6558420839918023e-01 -4.1394355142160610e-02 1.3870983886355736e+01 1.3905367101404735e+01 1 0 0 0 0 -P 242 211 -2.4056819339966279e-01 8.0717251922855018e-03 9.3665887871712474e+00 9.3707205433352510e+00 1 0 0 0 0 -V -48 0 -1.7671461207839840e+01 -2.8931783299526622e+01 7.9433041118326389e+02 7.9562540263520054e+02 0 2 0 -P 243 2212 -6.4323292945979427e-01 -9.6342862692646503e-01 2.7198319694383319e+01 2.7239142572986808e+01 1 0 0 0 0 -P 244 -211 -1.0461544316330479e-02 -1.0680244434445450e-01 2.1851814227995972e+00 2.1922622656689379e+00 1 0 0 0 0 -V -49 0 0 0 0 0 0 3 0 -P 245 211 -1.0658262219708090e+00 -8.2252278997220341e-01 2.1555528495606971e+01 2.1597981798892423e+01 1 0 0 0 0 -P 246 -211 -4.9088454070215592e-01 -3.0027745336315973e-02 7.2664188190925962e+00 7.2843799693009830e+00 1 0 0 0 0 -P 247 111 -7.8433224325262052e-01 -2.9777701257474420e-01 1.5463318749655521e+01 1.5486648913527794e+01 2 0 0 -131 0 -V -50 0 0 0 0 0 0 3 0 -P 248 -211 -1.2188640219493940e+00 -9.3422180369870000e-01 2.0922904541008972e+01 2.0979652382715557e+01 1 0 0 0 0 -P 249 211 -1.0146380362055605e+00 -1.1421994186045756e+00 1.6785995231936074e+01 1.6855955195949480e+01 1 0 0 0 0 -P 250 111 -9.6179822519988656e-01 -8.2506899661188349e-01 1.9413229757131628e+01 1.9455012307339945e+01 2 0 0 -132 0 -V -51 0 -6.7612250962819850e-05 -1.8662225712865060e-05 1.0005460236156168e-03 1.0030482758662050e-03 0 2 0 -P 251 22 -5.4111388577644548e-01 -1.7745401666901453e-01 8.9546946112744887e+00 8.9727838348307714e+00 1 0 0 0 0 -P 252 22 -4.0117919049830292e-01 -8.2636215895192267e-02 4.9896361441928754e+00 5.0064201120663352e+00 1 0 0 0 0 -V -52 0 -1.0031594106859512e+00 -6.0662790835180747e-01 1.4756351155848559e+01 1.4803588565939812e+01 0 4 0 -P 253 -13 -2.6618575532310844e+00 -1.6167266063331194e+00 3.6143438395162441e+01 3.6277521878069642e+01 1 0 0 0 0 -P 254 14 -1.7622608552463395e+00 -6.1124567981443900e-01 2.3767021479078203e+01 2.3840102654770387e+01 1 0 0 0 0 -P 255 -323 -7.3856701894561985e+00 -4.9147012895514184e+00 1.1208276364753114e+02 1.1243641907035618e+02 2 0 0 -133 0 -P 256 211 -8.3032704528557788e-01 -5.0102375923189180e-01 1.3941317982788394e+01 1.3975703727954690e+01 1 0 0 0 0 -V -53 0 0 0 0 0 0 3 0 -P 259 111 -2.1788911425523635e-01 -3.3819150870949083e-02 1.5879812474349990e+02 1.5879833519610222e+02 2 0 0 -134 0 -P 257 -211 1.3857831485530528e-01 2.6488289772950824e-01 1.2033220667879797e+02 1.2033265895372175e+02 1 0 0 0 0 -P 258 211 -1.7979563690597777e-01 3.7159338534362971e-02 6.0674676874761047e+01 6.0675115170299051e+01 1 0 0 0 0 -V -54 0 0 0 0 0 0 2 0 -P 260 -211 -3.1834604045503856e-01 3.0376945733427041e-01 3.6415849333717392e+02 3.6415878592925657e+02 1 0 0 0 0 -P 261 111 2.3397054695967343e-01 -2.0782937300071624e-01 6.3017049896018172e+01 6.3017971503871578e+01 2 0 0 -135 0 -V -55 0 0 0 0 0 0 2 0 -P 262 211 -3.2804553869109360e-01 -2.0500235184311433e-01 6.3497741005976408e+01 6.3499072689974568e+01 1 0 0 0 0 -P 263 -211 -1.7657170564239925e-02 5.4286517071622287e-01 7.7233692867527111e+01 7.7235728831348879e+01 1 0 0 0 0 -V -56 0 0 0 0 0 0 2 0 -P 264 211 2.3313981532533326e-01 2.5928411580336491e-01 1.0957397434947973e+02 1.0957461803242364e+02 1 0 0 0 0 -P 265 111 1.3819210244527837e-02 -1.2966282475160049e-01 1.1780976594232847e+01 1.1782471410232937e+01 2 0 0 -136 0 -V -57 0 0 0 0 0 0 2 0 -P 266 -211 4.5549648708790008e-01 2.2808652686664740e-01 5.9317208860832444e+00 5.9551904225460079e+00 1 0 0 0 0 -P 267 111 2.6278645540909368e-01 -2.0399835461058230e-01 1.2281845329601460e+01 1.2287091452027347e+01 2 0 0 -137 0 -V -58 0 2.1464610372068443e-05 -7.4001157013187091e-05 6.3535032736792402e-04 6.4489764692951892e-04 0 2 0 -P 268 22 -4.6675719704953711e-02 -1.7936313484327244e-02 2.2709027355224920e-01 2.3253027005837071e-01 1 0 0 0 0 -P 269 22 8.3218703776255343e-02 -1.0804888052179129e-01 8.5457841226349773e-01 8.6539249820356823e-01 1 0 0 0 0 -V -59 0 0 0 0 0 0 2 0 -P 270 -311 7.4489573882419291e-01 8.6535957172601397e-01 1.7511148478823699e+01 1.7555389865406173e+01 2 0 0 -138 0 -P 271 -211 1.1684349484407686e-01 3.3304617277479132e-01 1.3094954766581912e+01 1.3100453895923364e+01 1 0 0 0 0 -V -60 0 0 0 0 0 0 2 0 -P 272 -211 1.4834296209480378e+00 5.9292167637229842e-01 1.8632553603080105e+01 1.8701434520142339e+01 1 0 0 0 0 -P 273 211 2.5378665607382822e-01 5.1504212546178629e-03 1.3539237060033491e+00 1.3845661342883115e+00 1 0 0 0 0 -V -61 0 2.9762149049519281e-06 1.7804127290848588e-05 4.0800488294499739e-04 4.0840612215915523e-04 0 2 0 -P 274 22 1.6410544409971853e-01 1.1774821168325287e+00 2.5564031639197310e+01 2.5591660914878588e+01 1 0 0 0 0 -P 275 22 1.4120857610435908e-01 6.4894838398572974e-01 1.6291014133057946e+01 1.6304545849257401e+01 1 0 0 0 0 -V -62 0 0 0 0 0 0 2 0 -P 276 -311 -4.7598331792509141e-01 -8.4343084301410715e-02 2.7348337649344273e+01 2.7357136573228090e+01 2 0 0 -139 0 -P 277 -211 -2.5911615941498739e-01 3.5248729860197742e-01 3.2768538452078332e+01 3.2771755835627452e+01 1 0 0 0 0 -V -63 0 0 0 0 0 0 1 0 -P 278 310 -6.9510494917716592e-01 3.2581753110533535e-01 7.2855221980526849e+01 7.2860966046400236e+01 2 0 0 -140 0 -V -64 0 0 0 0 0 0 2 0 -P 279 -211 -3.5884084719608189e-01 -1.6833740109714063e-01 5.2889439384711885e+01 5.2891108727726980e+01 1 0 0 0 0 -P 280 211 -1.7020988803033060e-01 4.8234612082944878e-01 2.0173812743598088e+01 2.0180778716018942e+01 1 0 0 0 0 -V -65 0 0 0 0 0 0 2 0 -P 281 -321 3.4124973471434705e-01 1.1009176865102556e-01 1.5639404073440900e+02 1.5639523071300783e+02 1 0 0 0 0 -P 282 111 -3.2573253343187690e-02 3.1947085801068070e-01 3.7927127562285655e+01 3.7928727204748640e+01 2 0 0 -141 0 -V -66 0 0 0 0 0 0 2 0 -P 283 321 4.9926846924895973e-01 5.0291971801674606e-01 1.8932076706358586e+01 1.8951764208711591e+01 1 0 0 0 0 -P 284 111 1.2384987075047131e-01 1.5431966147040221e-01 1.6072972622645629e+00 1.6250469033490718e+00 2 0 0 -142 0 -V -67 0 0 0 0 0 0 2 0 -P 285 -211 1.7859206659747753e-01 1.1537889269107618e-01 3.5102971391524509e+00 3.5194989991719074e+00 1 0 0 0 0 -P 286 111 6.4486344276971752e-01 4.1954089445604403e-01 3.4093148585283814e+01 3.4102094708105270e+01 2 0 0 -143 0 -V -68 0 0 0 0 0 0 2 0 -P 287 211 1.5204545582315820e-01 -2.7098259271716346e-01 5.5290903643553468e+00 5.5395730366427456e+00 1 0 0 0 0 -P 288 111 8.2817694285958010e-01 3.5851535166798970e-01 2.9026079952350351e+01 2.9040419199913433e+01 2 0 0 -144 0 -V -69 0 0 0 0 0 0 2 0 -P 289 -211 2.2195516193061104e-02 5.9812657288889171e-01 7.4880607642605312e+00 7.5132404348784751e+00 1 0 0 0 0 -P 290 211 -2.0671728245952670e-01 5.6845359322346689e-03 5.6135734926813177e+00 5.6191148316661534e+00 1 0 0 0 0 -V -70 0 2.8328565239901664e+01 9.6200077887030560e+00 4.1187571780827233e+02 4.1366548525931290e+02 0 2 0 -P 291 -2112 8.7074311781260816e-01 2.9303660553681032e-01 1.5105424132384448e+01 1.5162476513865569e+01 1 0 0 0 0 -P 292 211 5.3478597298736574e-01 1.8426256885623099e-01 5.3298961272609038e+00 5.3616435207384239e+00 1 0 0 0 0 -V -71 0 2.3556324247227142e+01 1.7848882981569922e+01 5.0825086777096664e+02 5.1144512508733749e+02 0 2 0 -P 293 2212 4.2293484863058523e-01 2.9818090643247958e-01 8.7896810414164062e+00 8.8547517831886218e+00 1 0 0 0 0 -P 294 -211 1.1536274026245073e-01 1.0969302893092955e-01 2.8246189572817935e+00 2.8325418198453116e+00 1 0 0 0 0 -V -72 0 0 0 0 0 0 2 0 -P 295 211 1.8426627916469118e-01 -7.5048765015658725e-01 1.0044347862878006e+01 1.0074998240698443e+01 1 0 0 0 0 -P 296 -211 -1.8119511039128258e-01 -1.3216308974087224e-01 3.6693369790839530e+00 3.6788330216649565e+00 1 0 0 0 0 -V -73 0 0 0 0 0 0 3 0 -P 297 -211 -9.2330691001946449e-02 1.3153518843286626e-02 1.6918771409868543e+00 1.7001841125750792e+00 1 0 0 0 0 -P 298 211 9.0350579840365638e-02 1.9611894399870142e-01 2.5597390976925207e+00 2.5726192684943445e+00 1 0 0 0 0 -P 299 111 -7.3500095204024493e-02 -2.8029675650135422e-02 1.4396825602645615e+00 1.4481344555813784e+00 2 0 0 -145 0 -V -74 0 0 0 0 0 0 2 0 -P 300 -321 -1.6702756185750384e-01 1.3389650322075297e-01 3.6488781901075438e+00 3.6883301758705538e+00 1 0 0 0 0 -P 301 111 2.0114716920673079e-01 1.5846874708903921e-01 5.7634264972716922e+00 5.7706912165993858e+00 2 0 0 -146 0 -V -75 0 0 0 0 0 0 1 0 -P 302 310 3.1370849344690394e-01 -1.6502140696154801e+00 1.7013060483686480e+01 1.7103026689591879e+01 2 0 0 -147 0 -V -76 0 -4.4060919108810952e-05 5.2342729044881510e-06 1.9987704934143461e-04 2.0525736542072959e-04 0 2 0 -P 303 22 -1.7794066347471776e-01 -1.3349370806625340e-02 5.5028936743970702e-01 5.7849760011252294e-01 1 0 0 0 0 -P 304 22 -2.3150197645234680e-01 6.1989629781244990e-02 1.3070978228067121e+00 1.3288869770179124e+00 1 0 0 0 0 -V -77 0 0 0 0 0 0 2 0 -P 305 22 -4.8147715868567109e-01 -1.0464340696446410e+00 7.7587519913374754e+00 7.8437922575456005e+00 1 0 0 0 0 -P 306 113 -1.6665913895179937e-01 -8.1594819202784230e-01 7.9877425118423817e+00 8.0545508376702948e+00 2 0 0 -148 0 -V -78 0 0 0 0 0 0 3 0 -P 307 211 -1.8184679283982430e-01 -2.8499906586894308e-01 3.0136790064542227e+00 3.0357920980289825e+00 1 0 0 0 0 -P 308 -211 3.5179468682444448e-01 -2.3385890449493285e-01 3.1756943767047940e+00 3.2067061056517057e+00 1 0 0 0 0 -P 309 111 9.0534432904070691e-02 -2.3749201050634819e-01 3.2731976007131105e+00 3.2858242607159731e+00 2 0 0 -149 0 -V -79 0 0 0 0 0 0 2 0 -P 310 -211 2.7856484699452511e-01 2.8577154471696598e-01 3.4544645566440200e+00 3.4802397773372986e+00 1 0 0 0 0 -P 311 111 -9.4170629718448959e-02 -2.9997688368599973e-01 1.5278571859945593e+00 1.5657015741969307e+00 2 0 0 -150 0 -V -80 0 0 0 0 0 0 3 0 -P 312 211 -2.4615362835751831e-01 -1.3753471735515529e-01 4.7223885765926288e-01 5.6744755776623024e-01 1 0 0 0 0 -P 313 -211 7.9426483332274311e-02 -1.5467016237984951e-01 9.7427050026002354e-02 2.4331716002351791e-01 1 0 0 0 0 -P 314 111 1.8971003374894185e-01 4.4985653465487427e-02 1.4939175240432037e-01 2.8026969513162736e-01 2 0 0 -151 0 -V -81 0 0 0 0 0 0 2 0 -P 315 211 5.7720189775931130e-01 -3.9507585597671829e-01 -1.1132509901501841e+00 1.3221401267350796e+00 1 0 0 0 0 -P 316 -211 -1.9425629667973457e-01 -1.1419431352636915e-02 -1.1646984667205262e+00 1.1890619056606293e+00 1 0 0 0 0 -V -82 0 0 0 0 0 0 2 0 -P 317 -211 -2.9021697517593742e-01 1.1988738882319924e-01 -2.0078266346984845e+00 2.0370190128184267e+00 1 0 0 0 0 -P 318 111 2.7228862930317249e-01 -1.6409330052984511e-01 -5.7080765886119700e+00 5.7185160357199880e+00 2 0 0 -152 0 -V -83 0 0 0 0 0 0 3 0 -P 319 211 2.6159158905174562e-01 1.1976908035329931e-01 -1.4753856976310765e+01 1.4757321920131888e+01 1 0 0 0 0 -P 320 -211 -2.6126819940006357e-01 2.3461403354789964e-01 -1.1509852823941991e+01 1.1516053865385521e+01 1 0 0 0 0 -P 321 111 -1.7919897259041917e-02 1.5330504745657006e-01 -4.6525951151258740e+00 4.6571111717444085e+00 2 0 0 -153 0 -V -84 0 0 0 0 0 0 2 0 -P 322 -211 1.1189448533215496e-01 1.1139057069963787e+00 -4.6227315661100803e+01 4.6241080213549104e+01 1 0 0 0 0 -P 323 111 -1.7831872374999885e-01 1.0951995265665338e-02 -2.0281315249784544e+01 2.0282551254094816e+01 2 0 0 -154 0 -V -85 0 0 0 0 0 0 2 0 -P 324 211 -1.8870258535806511e-01 9.9084535100534471e-02 -1.2736262200082729e+01 1.2738810031748375e+01 1 0 0 0 0 -P 325 111 -2.2960427640955786e-01 -3.4454698564168434e-01 -3.2341356799315314e+01 3.2344288676211129e+01 2 0 0 -155 0 -V -86 0 0 0 0 0 0 2 0 -P 326 -211 -1.0197116374969704e+00 1.5402199673687851e+00 -1.0565560002434418e-01 1.8554601214374720e+00 1 0 0 0 0 -P 327 111 1.0395726111678255e-01 4.3839738579715976e-01 2.0604050465128451e-01 5.1348969801705135e-01 2 0 0 -156 0 -V -87 0 0 0 0 0 0 3 0 -P 328 22 6.5303627407064125e-03 -1.3036945355560819e-01 -9.6430844554637241e-02 1.6228908724690547e-01 1 0 0 0 0 -P 329 -211 -1.2443340358908676e-01 -5.8991175846200250e-01 -1.2399150957152332e+00 1.3857664969911101e+00 1 0 0 0 0 -P 330 211 2.9365126251793771e-03 -7.2719994381920436e-02 -1.0380865883666240e-01 1.8855461606328006e-01 1 0 0 0 0 -V -88 0 0 0 0 0 0 2 0 -P 331 211 -2.3181192257978658e-01 -3.5965984364971582e-01 6.4686117305103930e-02 4.5470435368081163e-01 1 0 0 0 0 -P 332 111 -4.8875895366781463e-01 -1.0438837818201401e+00 -1.5081607656981406e+00 1.9029837519875930e+00 2 0 0 -157 0 -V -89 0 0 0 0 0 0 1 0 -P 333 130 -4.2407341657881786e-01 -1.1323088737363824e+00 -4.2536503779649254e-01 1.3749809062203728e+00 1 0 0 0 0 -V -90 0 0 0 0 0 0 2 0 -P 334 -311 5.4533423118825564e-01 -2.1932503402815775e+00 -4.1527351550146987e+00 4.7540110617715117e+00 2 0 0 -158 0 -P 335 -211 1.4206249538727772e-01 -1.2704767907742456e+00 -1.5334522019844594e+00 2.0013116871598671e+00 1 0 0 0 0 -V -91 0 0 0 0 0 0 2 0 -P 336 211 -1.2225698895883293e-01 -3.1496728462498411e+00 -1.0197663615851679e+01 1.0674605792099211e+01 1 0 0 0 0 -P 337 -211 -5.8985066728510137e-02 -1.1565457627145266e-02 -1.0576927309564947e+00 1.0685535531386812e+00 1 0 0 0 0 -V -92 0 3.8527617637917094e-05 -1.6712307045937573e-04 -4.2584623006883233e-04 4.6364744324007163e-04 0 2 0 -P 338 22 1.4995858064857176e-02 -1.9939694528972410e-01 -3.3316020649286715e-01 3.8856111583680686e-01 1 0 0 0 0 -P 339 22 6.5158901574831854e-02 -1.4829414915611150e-01 -5.5279133443610673e-01 5.7603393698290495e-01 1 0 0 0 0 -V -93 0 0 0 0 0 0 2 0 -P 340 211 8.5893108070628790e-02 -1.6165390012367403e-01 5.6069209211904635e-02 2.3692435620019278e-01 1 0 0 0 0 -P 341 111 -9.6650164117480342e-01 -6.5388813680532676e-02 -3.5814431438071642e-01 1.0415796031371627e+00 2 0 0 -159 0 -V -94 0 0 0 0 0 0 2 0 -P 342 211 -3.3890199253143205e-01 8.2436823164178752e-01 -1.3217187365235175e-01 9.1180410778124699e-01 1 0 0 0 0 -P 343 -211 2.8288613453084904e-01 1.1469241558673431e+00 3.3338963934249888e-01 1.2353493517797889e+00 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 344 211 1.0363531280713142e-01 -1.6220264472005022e-01 4.0741120327917821e+00 4.0810438145961632e+00 1 0 0 0 0 -P 345 111 2.2635792709284186e-01 7.3162424785401936e-01 7.5368670247839322e+00 7.5768790475288128e+00 2 0 0 -160 0 -V -96 0 0 0 0 0 0 1 0 -P 346 130 -3.9549707014260671e-01 -2.8851686492632728e-01 8.4163752596000130e+00 8.4452772514077648e+00 1 0 0 0 0 -V -97 0 0 0 0 0 0 2 0 -P 347 -311 5.0093079509551341e-01 -1.6736784839411437e-01 6.2499799234045614e+00 6.2919685417213573e+00 2 0 0 -161 0 -P 348 -211 2.0356629405886905e-02 2.6450194609587585e-01 2.1461021282513455e+00 2.1669355785611693e+00 1 0 0 0 0 -V -98 0 0 0 0 0 0 2 0 -P 349 -211 3.6607738155790637e-01 -4.3044115371221930e-01 4.2533118453167278e+00 4.2929516273199475e+00 1 0 0 0 0 -P 350 211 1.9833343048630526e-02 1.5399358150276715e-01 4.7818642606202344e-01 5.2177526542612684e-01 1 0 0 0 0 -V -99 0 0 0 0 0 0 2 0 -P 351 211 1.5940818450812536e-01 -1.9127479523860261e-01 1.2196341057309632e+00 1.2525909760747569e+00 1 0 0 0 0 -P 352 111 4.4384650908363849e-01 -1.1612861185648843e-01 2.4019833176905525e-01 5.3516391610616321e-01 2 0 0 -162 0 -V -100 0 0 0 0 0 0 2 0 -P 353 2112 2.4461206701185767e-01 -3.6870254613733507e-02 2.2892535780963792e+00 2.4868993161626327e+00 1 0 0 0 0 -P 354 -211 1.2249192763084313e-01 1.6638271141054020e-01 8.2289236642324926e-01 8.5983667670593000e-01 1 0 0 0 0 -V -101 0 0 0 0 0 0 2 0 -P 355 -2112 1.0306418575496812e+00 -1.2658702532810939e-01 1.1049846019117362e+01 1.1138228573010105e+01 1 0 0 0 0 -P 356 211 -5.6839362417106777e-02 6.3129684964331675e-02 1.2267245939576892e+00 1.2375577095894705e+00 1 0 0 0 0 -V -102 0 -3.0012621268697615e+01 2.2801365277584146e+01 1.5802443623017721e+03 1.5809175950845424e+03 0 2 0 -P 357 -2112 -1.1378581036056166e+00 9.7861646295080473e-01 5.6072853838445951e+01 5.6100803386565886e+01 1 0 0 0 0 -P 358 -211 -2.0412167434448733e-01 4.0920312535230922e-02 1.4585951983370913e+01 1.4588105263399255e+01 1 0 0 0 0 -V -103 0 0 0 0 0 0 2 0 -P 359 -311 4.7336032540883582e-01 1.9957792363092278e-01 3.8244208976342740e+01 3.8250896682304671e+01 2 0 0 -163 0 -P 360 -211 1.7967918223592744e-01 2.5885318350017517e-01 5.4584200602766515e+00 5.4692887031558053e+00 1 0 0 0 0 -V -104 0 0 0 0 0 0 2 0 -P 361 -211 -3.2092342397034901e-01 -3.5332105099211819e-01 2.8100859079842962e+01 2.8105259088277762e+01 1 0 0 0 0 -P 362 211 -8.8439883740469394e-01 -2.9929391419485957e-01 5.4686939688980750e+01 5.4695087443771357e+01 1 0 0 0 0 -V -105 0 0 0 0 0 0 2 0 -P 363 211 9.3368745682880214e-02 -3.7681332268505119e-01 1.5272857477423360e+01 1.5278427972583108e+01 1 0 0 0 0 -P 364 111 1.0891567153138218e-01 5.3615728162335041e-01 7.6529234059726923e+00 7.6736421282352971e+00 2 0 0 -164 0 -V -106 0 3.8458390904380503e-05 8.9309240418746158e-05 -2.4409401035204432e-04 2.6354728923169718e-04 0 2 0 -P 365 22 2.1224395554242417e-01 4.8081206587306669e-01 -1.4361207927576540e+00 1.5292712874909715e+00 1 0 0 0 0 -P 366 22 4.1026448030886967e-02 1.0734013789231003e-01 -1.7137726053839816e-01 2.0633768456202375e-01 1 0 0 0 0 -V -107 0 4.3736281292517583e-06 7.8584567595844059e-06 -1.2404186200301000e-05 1.5630335896051612e-05 0 2 0 -P 367 22 6.0632728091395464e-02 2.9953596761870191e-02 -4.5605230561117767e-02 8.1568270358703371e-02 1 0 0 0 0 -P 368 22 1.3030486076758502e-01 3.1311964620364563e-01 -4.9591895367456895e-01 6.0079853377986470e-01 1 0 0 0 0 -V -108 0 -1.3697641095364497e-05 -9.6097423271048161e-07 -1.4410161111415212e-05 2.4636517224285515e-05 0 2 0 -P 369 22 2.7690702351260706e-02 1.0286881774652524e-02 -2.0116122984700145e-02 3.5738681247177738e-02 1 0 0 0 0 -P 370 22 -1.5504829056605138e-01 -1.9221804201258064e-02 -1.1386631619291016e-01 1.9332611858605653e-01 1 0 0 0 0 -V -109 0 -1.2153169023578906e-05 -6.2824244005050017e-06 1.4326674711770995e-05 2.0879577567088964e-05 0 2 0 -P 371 22 -1.8133550327440726e-01 -2.1084177871680054e-02 1.5281630107905045e-01 2.3807546950450442e-01 1 0 0 0 0 -P 372 22 -6.7287207673414770e-02 -1.0743813451843676e-01 1.4027076936302429e-01 1.8906720975087596e-01 1 0 0 0 0 -V -110 0 -5.9930910720649131e-07 9.8928458623747859e-07 1.4337918863531024e-05 2.1627823622279452e-05 0 2 0 -P 373 22 1.3368502630494792e-03 7.1193937795053341e-02 5.3178847259601876e-02 8.8872682772896006e-02 1 0 0 0 0 -P 374 22 -6.3455584296092616e-03 -6.2926021078025848e-02 6.6649886259870242e-02 9.1881214505193501e-02 1 0 0 0 0 -V -111 0 0 0 0 0 0 1 0 -P 375 130 -8.4559749187529187e-01 9.9710033077653488e-03 -5.2448860633214933e-01 1.1126087660291861e+00 1 0 0 0 0 -V -112 0 -3.8983732874524748e-05 6.6885010970516116e-05 1.2195638089406324e-05 8.4203326822728840e-05 0 2 0 -P 376 22 -6.9501739814868346e-02 5.8747270131682114e-02 6.7485383437181481e-02 1.1329611892241456e-01 1 0 0 0 0 -P 377 22 -1.0138909794407150e-01 2.3445286016514555e-01 -1.4024037988002492e-02 2.5582135654205801e-01 1 0 0 0 0 -V -113 0 -1.1912408123196776e+02 9.0688833868512901e+00 -1.9297715704041471e+02 2.4795500052785277e+02 0 2 0 -P 378 -211 -4.6643829830683509e-01 -1.1593546915583072e-01 -7.8530117194117199e-01 9.3122684383985455e-01 1 0 0 0 0 -P 379 211 -1.2733627113911816e-01 1.6113936305111573e-01 -1.7659441751103602e-01 3.0470607717634451e-01 1 0 0 0 0 -V -114 0 -1.5133275992010396e-04 4.9760717101996210e-05 -1.3398603715268880e-04 2.1112016913381942e-04 0 2 0 -P 380 22 -1.1176794650841664e-01 1.9471339867306089e-02 -3.6632243387093595e-02 1.1921882484955004e-01 1 0 0 0 0 -P 381 22 -4.6791164082034109e-01 1.7113690629232955e-01 -4.7660078537344397e-01 6.8947621636215795e-01 1 0 0 0 0 -V -115 0 -2.3405923657104216e-04 1.4611123604191701e-04 -6.3978468743944869e-04 7.0271385577448068e-04 0 2 0 -P 382 22 -1.5654606706326107e-02 5.9193877959733618e-02 -1.8136750724565426e-01 1.9142401778132240e-01 1 0 0 0 0 -P 383 22 -3.3008524394544181e-01 1.5663386576763144e-01 -7.6368839195815341e-01 8.4658750060904175e-01 1 0 0 0 0 -V -116 0 0 0 0 0 0 1 0 -P 384 130 -1.7100390911822591e-01 -2.6586260149101487e-01 -5.1674196262737446e+00 5.2009447490532308e+00 1 0 0 0 0 -V -117 0 -1.5719477175582176e-05 4.6489243577943278e-05 -7.5819144246790952e-03 7.5823779450975570e-03 0 2 0 -P 385 22 -4.6933693407794318e-02 2.8454853467780084e-02 -1.9950342681093154e+00 1.9957891124047258e+00 1 0 0 0 0 -P 386 22 1.5719078175245767e-02 6.3860166588475972e-02 -1.3060589964743238e+01 1.3060755546194381e+01 1 0 0 0 0 -V -118 0 4.6249141509978390e-06 9.4614267138868386e-07 -2.0087503716210106e-03 2.0087574999136074e-03 0 2 0 -P 387 22 2.3741658257604767e-01 7.3640089833744204e-02 -8.3863686540923268e+01 8.3864054932555888e+01 1 0 0 0 0 -P 388 22 1.0260154843681210e-02 -2.2971575277084405e-02 -2.3710361774420765e+01 2.3710375122253165e+01 1 0 0 0 0 -V -119 0 8.0119424837326258e-05 -1.3313731683508782e-05 -4.5005670871262882e-01 4.5005671772315053e-01 0 2 0 -P 389 22 4.2401624770675016e-02 -5.3374706122119440e-02 -5.2723836697148852e+02 5.2723837137818316e+02 1 0 0 0 0 -P 390 22 2.3552360385043181e-01 7.1908758031656028e-03 -1.0339574842891241e+03 1.0339575111389108e+03 1 0 0 0 0 -V -120 0 -1.0574775438722866e-05 9.3918705274453874e-05 1.7646494932804896e-04 2.0299584739183731e-04 0 2 0 -P 391 22 -8.5106936416403350e-02 2.7456829559547896e-01 5.6036665343756142e-01 6.2979498716423898e-01 1 0 0 0 0 -P 392 22 4.2736363582437008e-02 1.0174128803230018e-01 1.4668580658605107e-01 1.8356037785023779e-01 1 0 0 0 0 -V -121 0 -4.3851597869865436e-05 1.0531124861711626e-04 2.7512539861286188e-04 2.9879329632975386e-04 0 2 0 -P 393 22 -2.2168226147523581e-01 5.3450139560674614e-01 1.2608632340692663e+00 1.3873034498572918e+00 1 0 0 0 0 -P 394 22 -2.6235155521216191e-02 6.0881532406653491e-02 2.9457331756189681e-01 3.0194086141631588e-01 1 0 0 0 0 -V -122 0 3.4877577943497759e-05 2.2373782240192860e-04 7.2331191609908019e-04 7.5928371084947772e-04 0 2 0 -P 395 22 -4.0112956797155415e-03 1.5481676149413653e-01 6.7269609638733785e-01 6.9029295101958354e-01 1 0 0 0 0 -P 396 22 1.0782252001879759e-01 5.1112676566625326e-01 1.4802027003965594e+00 1.5696739472466619e+00 1 0 0 0 0 -V -123 0 -3.1383658047148092e-07 -3.8483860900566085e-06 5.8223741610822792e-06 7.2589357635634373e-06 0 2 0 -P 397 22 -3.4203777351233013e-02 -7.7314876934825694e-02 2.3165639285197370e-01 2.4660124275787404e-01 1 0 0 0 0 -P 398 22 1.2707702234842765e-02 -1.8627834838151267e-01 1.6714412980962137e-01 2.5059582778180722e-01 1 0 0 0 0 -V -124 0 3.2236808159334187e-05 -4.4252594647466681e-06 7.9687775574346266e-05 8.6862496107126174e-05 0 2 0 -P 399 22 2.8048142698490619e-01 -1.6909267864752442e-03 5.3537686917943428e-01 6.0440142469161939e-01 1 0 0 0 0 -P 400 22 9.2426469250633983e-02 -4.9499445074743652e-02 3.8643277767653045e-01 4.0040371994231605e-01 1 0 0 0 0 -V -125 0 4.2009406464945751e-05 -1.2069163044297390e-05 6.3371665519486119e-05 8.0090782101313509e-05 0 2 0 -P 401 22 1.5677840685418869e-02 1.9658044984528937e-04 1.2369344343658331e-01 1.2468320368690350e-01 1 0 0 0 0 -P 402 22 2.4098140449885502e-01 -7.3933929715660526e-02 2.6347993526548569e-01 3.6463672273229075e-01 1 0 0 0 0 -V -126 0 4.1067867362733860e-05 3.2555400164699854e-05 5.5201857772271590e-05 8.2909348694607668e-05 0 2 0 -P 403 22 -4.8371529729373045e-03 6.8203982431913487e-02 6.7555697751643287e-02 9.6119475483211703e-02 1 0 0 0 0 -P 404 22 1.7349290496990249e-01 6.5493135264584043e-02 1.5914491837677636e-01 2.4436907309811426e-01 1 0 0 0 0 -V -127 0 2.2996903462980960e-06 3.5321056006164265e-07 9.0947755025366818e-06 9.7530487726669384e-06 0 2 0 -P 405 22 7.5194678532599424e-02 1.6444172407965130e-02 4.4468114488586097e-01 4.5129366392937964e-01 1 0 0 0 0 -P 406 22 4.2183059397594619e-02 1.5839315147350983e-03 1.9522297629404592e-02 4.6508487869585918e-02 1 0 0 0 0 -V -128 0 4.2478406964594337e-05 1.5680554272100167e-05 3.4601724241679823e-04 3.5122770649711978e-04 0 2 0 -P 407 22 7.0751074460728869e-02 5.8688867322594630e-02 2.8102517910808417e-01 2.9567760986873448e-01 1 0 0 0 0 -P 408 22 7.3374743433465395e-02 -5.4860080114057562e-03 8.9298349100003183e-01 8.9600974573741798e-01 1 0 0 0 0 -V -129 0 0 0 0 0 0 1 0 -P 409 130 2.5178180326027377e-01 -3.2242494783834660e-02 4.0106627287096375e+00 4.0493857073985327e+00 1 0 0 0 0 -V -130 0 9.7296294408389538e-05 -1.8057692433404323e-04 4.0892878755954612e-03 4.0976367013533495e-03 0 2 0 -P 410 22 2.2610663559113998e-02 1.5843981511661730e-02 1.7624472459684748e-01 1.7839416135329073e-01 1 0 0 0 0 -P 411 22 5.8407246803437063e-02 -1.6620906127341661e-01 3.2288752809096777e+00 3.2336778500954755e+00 1 0 0 0 0 -V -131 0 -5.9918336999371855e-06 -2.2748399729338936e-06 1.1813059477552841e-04 1.1830882340672078e-04 0 2 0 -P 412 22 -6.4079677880824115e-01 -2.9594268267928575e-01 1.2675721449920001e+01 1.2695358083139070e+01 1 0 0 0 0 -P 413 22 -1.4353546444437934e-01 -1.8343298954584674e-03 2.7875972997355194e+00 2.7912908303887272e+00 1 0 0 0 0 -V -132 0 -2.1628437162218839e-04 -1.8553738695043266e-04 4.3655499554553336e-03 4.3749458062479468e-03 0 2 0 -P 414 22 -1.8975057145655388e-01 -2.3624605238895813e-01 4.4154025237974253e+00 4.4257877178864025e+00 1 0 0 0 0 -P 415 22 -7.7204765374333273e-01 -5.8882294422292536e-01 1.4997827233334203e+01 1.5029224589453543e+01 1 0 0 0 0 -V -133 0 -1.0031594106859512e+00 -6.0662790835180747e-01 1.4756351155848559e+01 1.4803588565939812e+01 0 2 0 -P 416 -311 -5.7533254882839175e+00 -4.0301381457755010e+00 9.0395852379808090e+01 9.0669733486699556e+01 2 0 0 -165 0 -P 417 -211 -1.6323447011722816e+00 -8.8456314377591827e-01 2.1686911267723048e+01 2.1766685583656617e+01 1 0 0 0 0 -V -134 0 -2.3360926691629899e-05 -3.6259117715442567e-06 1.7025501083802078e-02 1.7025523647425003e-02 0 2 0 -P 418 22 -7.2611311153853525e-02 3.7197986780457486e-02 8.1779099887878104e+01 8.1779140583429168e+01 1 0 0 0 0 -P 419 22 -1.4527780310138280e-01 -7.1017137651406562e-02 7.7019024855621765e+01 7.7019194612673004e+01 1 0 0 0 0 -V -135 0 1.2076169997944896e-05 -1.0726917860116507e-05 3.2525658344699942e-03 3.2526134023936229e-03 0 2 0 -P 420 22 7.5246657878530437e-02 -1.4550284380572404e-01 3.7015590489964843e+01 3.7015952945424132e+01 1 0 0 0 0 -P 421 22 1.5872388908114299e-01 -6.2326529194992208e-02 2.6001459406053321e+01 2.6002018558447446e+01 1 0 0 0 0 -V -136 0 3.2332819614426833e-06 -3.0337223685055661e-05 2.7563962365646020e-03 2.7567459788091471e-03 0 2 0 -P 422 22 5.2995067612266689e-02 -1.0388453409721403e-01 1.0481693098366938e+01 1.0482341851035432e+01 1 0 0 0 0 -P 423 22 -3.9175857367738848e-02 -2.5778290654386461e-02 1.2992834958659103e+00 1.3001295591975057e+00 1 0 0 0 0 -V -137 0 3.1210382498907047e-05 -2.4228290863135666e-05 1.4586790248855876e-03 1.4593020915778690e-03 0 2 0 -P 424 22 1.4570887631797527e-01 -1.2616945494337359e-01 4.7114504656630327e+00 4.7153913197522614e+00 1 0 0 0 0 -P 425 22 1.1707757909111839e-01 -7.7828899667208698e-02 7.5703948639384269e+00 7.5717001322750876e+00 1 0 0 0 0 -V -138 0 0 0 0 0 0 1 0 -P 426 130 7.4489573882419291e-01 8.6535957172601397e-01 1.7511148478823699e+01 1.7555389865406173e+01 1 0 0 0 0 -V -139 0 0 0 0 0 0 1 0 -P 427 310 -4.7598331792509141e-01 -8.4343084301410715e-02 2.7348337649344273e+01 2.7357136573228090e+01 2 0 0 -166 0 -V -140 0 -8.3925193175608200e+01 3.9338375119302427e+01 8.7963531058230437e+03 8.7970466296407194e+03 0 2 0 -P 428 -211 -4.8915716729371289e-01 3.5379275820838541e-01 4.0094024505926598e+01 4.0098812013784375e+01 1 0 0 0 0 -P 429 211 -2.0594778188345286e-01 -2.7975227103050119e-02 3.2761197474600237e+01 3.2762154032615854e+01 1 0 0 0 0 -V -141 0 -2.3066035847172713e-06 2.2622629018241768e-05 2.6857264600342206e-03 2.6858397352112653e-03 0 2 0 -P 430 22 5.3127791655494534e-02 1.2374417391665785e-01 1.4536463780597019e+01 1.4537087549692799e+01 1 0 0 0 0 -P 431 22 -8.5701044998682224e-02 1.9572668409402283e-01 2.3390663781688637e+01 2.3391639655055833e+01 1 0 0 0 0 -V -142 0 7.4745864093440425e-06 9.3134989752651984e-06 9.7003591521736574e-05 9.8074817718559216e-05 0 2 0 -P 432 22 -5.3080603537296158e-03 6.2270797239337615e-02 7.9227269487634211e-01 7.9473382383044622e-01 1 0 0 0 0 -P 433 22 1.2915793110420093e-01 9.2048864231064606e-02 8.1502456738822093e-01 8.3031307951862532e-01 1 0 0 0 0 -V -143 0 1.6683368743087236e-04 1.0854011843115621e-04 8.8202948366584450e-03 8.8226093028841972e-03 0 2 0 -P 434 22 4.7366546711335589e-01 2.6593638108134854e-01 2.6023432393861224e+01 2.6029101303951776e+01 1 0 0 0 0 -P 435 22 1.7119797565636166e-01 1.5360451337469549e-01 8.0697161914225859e+00 8.0729934041534896e+00 1 0 0 0 0 -V -144 0 1.7954480389756124e-04 7.7724415131910377e-05 6.2927154370721232e-03 6.2958241174259407e-03 0 2 0 -P 436 22 1.1422002392478928e-01 6.4918508167836715e-03 4.3441170283238124e+00 4.3456232135063573e+00 1 0 0 0 0 -P 437 22 7.1395691893479074e-01 3.5202350085120604e-01 2.4681962924026539e+01 2.4694795986407076e+01 1 0 0 0 0 -V -145 0 -1.9609651427977344e-05 -7.4782511180791459e-06 3.8410389939440802e-04 3.8635884505955950e-04 0 2 0 -P 438 22 -1.0729773963663858e-01 -3.0268391562004265e-02 8.2224722500628999e-01 8.2977073911377908e-01 1 0 0 0 0 -P 439 22 3.3797644432614085e-02 2.2387159118688409e-03 6.1743533525827154e-01 6.1836371646759947e-01 1 0 0 0 0 -V -146 0 5.2131973766054339e-06 4.1070866662282870e-06 1.4937262112277159e-04 1.4956090324421662e-04 0 2 0 -P 440 22 1.8118299159397690e-02 2.9575529460455215e-02 2.1818118251376073e+00 2.1820874925212306e+00 1 0 0 0 0 -P 441 22 1.8302887004733309e-01 1.2889321762858399e-01 3.5816146721340854e+00 3.5886037240781548e+00 1 0 0 0 0 -V -147 0 6.1675119851635953e+00 -3.2443224410695379e+01 3.3447693202227225e+02 3.3624566849186726e+02 0 2 0 -P 442 -211 1.7168112378432487e-01 -6.2348686049339996e-01 4.8195537594747444e+00 4.8647495823360636e+00 1 0 0 0 0 -P 443 211 1.4202736966257906e-01 -1.0267272091220803e+00 1.2193506724211735e+01 1.2238277107255811e+01 1 0 0 0 0 -V -148 0 0 0 0 0 0 2 0 -P 444 211 -1.8843760989747041e-01 -5.7132487376221974e-01 7.0005634871052020e+00 7.0277514018421163e+00 1 0 0 0 0 -P 445 -211 2.1778470945671029e-02 -2.4462331826562256e-01 9.8717902473717956e-01 1.0267994358281778e+00 1 0 0 0 0 -V -149 0 3.3815872655375920e-05 -8.8706576341638220e-05 1.2225849291934955e-03 1.2273011627084497e-03 0 2 0 -P 446 22 4.1946401175051981e-02 -2.3452337052872346e-01 2.8068387162995183e+00 2.8169317157527307e+00 1 0 0 0 0 -P 447 22 4.8588031729018710e-02 -2.9686399776247515e-03 4.6635888441359208e-01 4.6889254496324323e-01 1 0 0 0 0 -V -150 0 -2.2719145518260682e-06 -7.2370955710423777e-06 3.6860335163427627e-05 3.7773350362741714e-05 0 2 0 -P 448 22 -2.8163592205792350e-03 -2.1581075512772691e-01 1.0509549888338077e+00 1.0728879729322758e+00 1 0 0 0 0 -P 449 22 -9.1354270497869719e-02 -8.4166128558272837e-02 4.7690219716075166e-01 4.9281360126465479e-01 1 0 0 0 0 -V -151 0 5.9843090047528281e-05 1.4190501461534226e-05 4.7124887992592318e-05 8.8409686466827799e-05 0 2 0 -P 450 22 2.0924146209939254e-01 4.3206977463747263e-02 1.2033302804903956e-01 2.4521188797139343e-01 1 0 0 0 0 -P 451 22 -1.9531428350450693e-02 1.7786760017401684e-03 2.9058724355280816e-02 3.5057807160233830e-02 1 0 0 0 0 -V -152 0 1.0195251485624900e-05 -6.1441143182856532e-06 -2.1372642871293361e-04 2.1411731095032145e-04 0 2 0 -P 452 22 1.9533270339594799e-01 -1.0471989149621931e-01 -4.8287806447212560e+00 4.8338642549750723e+00 1 0 0 0 0 -P 453 22 7.6955925907224484e-02 -5.9373409033625792e-02 -8.7929594389071397e-01 8.8465178074493211e-01 1 0 0 0 0 -V -153 0 -4.3180098738504445e-06 3.6940653122024246e-05 -1.1210974792840959e-03 1.1221856762077622e-03 0 2 0 -P 454 22 -7.1590286058456104e-02 5.2136269562120231e-02 -1.7161269640007177e+00 1.7184106366733500e+00 1 0 0 0 0 -P 455 22 5.3670388799414187e-02 1.0116877789444984e-01 -2.9364681511251565e+00 2.9387005350710602e+00 1 0 0 0 0 -V -154 0 -6.2729864115820472e-05 3.8527483842666313e-06 -7.1346638364952423e-03 7.1350986443538779e-03 0 2 0 -P 456 22 -6.4640508041547584e-02 -3.2289955193366408e-02 -3.2563504549031794e+00 3.2571520261778351e+00 1 0 0 0 0 -P 457 22 -1.1367821570845126e-01 4.3241950459031744e-02 -1.7024964794881363e+01 1.7025399227916957e+01 1 0 0 0 0 -V -155 0 -3.5839923770696304e-05 -5.3781827995199834e-05 -5.0483021503518492e-03 5.0487597996870161e-03 0 2 0 -P 458 22 -1.7396435578211061e-01 -1.7417492837193710e-01 -1.5179023412587368e+01 1.5181019473758385e+01 1 0 0 0 0 -P 459 22 -5.5639920627447256e-02 -1.7037205726974725e-01 -1.7162333386727944e+01 1.7163269202452724e+01 1 0 0 0 0 -V -156 0 4.5507577628584387e-06 1.9190966414477778e-05 9.0194798894498126e-06 2.2478153082292885e-05 0 2 0 -P 460 22 5.3961060971557492e-02 7.9158052349659946e-02 -1.0977173258833227e-03 9.5807089175567753e-02 1 0 0 0 0 -P 461 22 4.9996200145225052e-02 3.5923933344749981e-01 2.0713822197716783e-01 4.1768260884148362e-01 1 0 0 0 0 -V -157 0 -5.1581249311847977e-06 -1.1016643111822161e-05 -1.5916397208488843e-05 2.0083167502314703e-05 0 2 0 -P 462 22 -3.1716501142518883e-01 -5.8150051590051388e-01 -7.7670585418244320e-01 1.0207881652851305e+00 1 0 0 0 0 -P 463 22 -1.7159394224262578e-01 -4.6238326591962625e-01 -7.3145491151569741e-01 8.8219558670246279e-01 1 0 0 0 0 -V -158 0 0 0 0 0 0 1 0 -P 464 310 5.4533423118825564e-01 -2.1932503402815775e+00 -4.1527351550146987e+00 4.7540110617715117e+00 2 0 0 -167 0 -V -159 0 -2.9899249577558377e-04 -2.0228382203658472e-05 -1.1079387539825041e-04 3.2221826826116836e-04 0 2 0 -P 465 22 -8.3346775443643040e-01 -4.8634651175075268e-02 -3.5562649196823404e-01 9.0747122751625553e-01 1 0 0 0 0 -P 466 22 -1.3303388673837305e-01 -1.6754162505457412e-02 -2.5178224124823680e-03 1.3410837562090722e-01 1 0 0 0 0 -V -160 0 3.8723550913267867e-05 1.2516057721069469e-04 1.2893485008857004e-03 1.2961934460564023e-03 0 2 0 -P 467 22 9.4494307196249280e-02 1.2938868819578370e-01 1.7092391437658199e+00 1.7167320866421871e+00 1 0 0 0 0 -P 468 22 1.3186361989659259e-01 6.0223555965823572e-01 5.8276278810181124e+00 5.8601469608866257e+00 1 0 0 0 0 -V -161 0 0 0 0 0 0 1 0 -P 469 130 5.0093079509551341e-01 -1.6736784839411437e-01 6.2499799234045614e+00 6.2919685417213573e+00 1 0 0 0 0 -V -162 0 1.1030443660979173e-04 -2.8860204694531712e-05 5.9693928234557251e-05 1.3299857732767785e-04 0 2 0 -P 470 22 2.5718881712629815e-01 -1.7110260067217876e-02 7.9616960930951566e-02 2.6977344035740969e-01 1 0 0 0 0 -P 471 22 1.8665769195734039e-01 -9.9018351789270556e-02 1.6058137083810370e-01 2.6539047574875341e-01 1 0 0 0 0 -V -163 0 0 0 0 0 0 1 0 -P 472 310 4.7336032540883582e-01 1.9957792363092278e-01 3.8244208976342740e+01 3.8250896682304671e+01 2 0 0 -168 0 -V -164 0 5.0645331992271131e-05 2.4931089480602684e-04 3.5585773943948317e-03 3.5682115136422437e-03 0 2 0 -P 473 22 5.6913977335912823e-02 7.9267004492891840e-02 9.6228112476905237e-01 9.6721632632222521e-01 1 0 0 0 0 -P 474 22 5.2001694195469371e-02 4.5689027713045866e-01 6.6906422812036404e+00 6.7064258019130722e+00 1 0 0 0 0 -V -165 0 -1.0031594106859512e+00 -6.0662790835180747e-01 1.4756351155848559e+01 1.4803588565939812e+01 0 1 0 -P 475 130 -5.7533254882839175e+00 -4.0301381457755010e+00 9.0395852379808090e+01 9.0669733486699556e+01 1 0 0 0 0 -V -166 0 -2.1954338730932741e+00 -3.8902553359153652e-01 1.2614195621370837e+02 1.2618254052583406e+02 0 2 0 -P 476 -211 -3.8419677861900481e-01 1.0373514257599888e-01 1.3727450016645596e+01 1.3733926310014542e+01 1 0 0 0 0 -P 477 211 -9.1786539306086476e-02 -1.8807822687740958e-01 1.3620887632698674e+01 1.3623210263213544e+01 1 0 0 0 0 -V -167 0 6.0843234933367697e+01 -2.4470212594333566e+02 -4.6332290584815917e+02 5.3040758376185750e+02 0 2 0 -P 478 211 4.3923811914830291e-01 -1.9192225167157120e+00 -3.3556575631746446e+00 3.8931045015736121e+00 1 0 0 0 0 -P 479 -211 1.0609611203995273e-01 -2.7402782356586536e-01 -7.9707759184005411e-01 8.6090656019789924e-01 1 0 0 0 0 -V -168 0 1.7832638234533317e+01 7.5185872593688456e+00 1.4407526500071178e+03 1.4410045922055583e+03 0 2 0 -P 480 211 -1.6780378320731124e-02 1.2970062371486263e-02 4.2224922518224925e+00 4.2248515246355689e+00 1 0 0 0 0 -P 481 -211 4.9014070372956692e-01 1.8660786125943651e-01 3.4021716724520246e+01 3.4026045157669103e+01 1 0 0 0 0 -E 7 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 146 0 0 -V -1 0 0 0 0 0 1 2 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 2 9.5585977786327769e-02 7.9414932775068517e-02 2.4315489624226007e+02 2.4315492799858069e+02 3 0 0 -3 0 -P 24 2101 -9.5585977786327769e-02 -7.9414932775068517e-02 6.5004858943937879e+03 6.5004859213968966e+03 2 0 0 -17 0 -V -2 0 0 0 0 0 1 3 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 21 -3.1839018050093307e-03 5.0554804870918790e-01 -2.5725369994220681e+01 2.5730337158815754e+01 3 0 0 -4 0 -P 12 2101 3.8701429021918715e-01 -2.0438006852161128e-01 -5.1057965796384815e+03 5.1057966312635817e+03 2 0 0 -9 0 -P 33 2 -3.8383038841417783e-01 -3.0116798018757662e-01 -1.4059242432952470e+02 1.4059365813141250e+02 2 0 0 -17 0 -V -3 0 0 0 0 0 0 3 0 -P 5 2 -2.1264769648708381e-01 8.3899334394629999e-01 2.3005421402360733e+02 2.3005584217509832e+02 3 0 0 -5 0 -P 25 21 -3.6511185605667584e-03 -1.4425395575640334e+00 8.1652186717378754e+00 8.2916662778419035e+00 2 0 0 -17 0 -P 26 21 2.9593935486652639e-01 6.8709099958216890e-01 4.0361549279216140e+00 4.1049020384963599e+00 2 0 0 -17 0 -V -4 0 0 0 0 0 0 4 0 -P 6 -3 -1.9831035912957480e+00 8.3830206726540324e-01 -1.1595024534665217e+01 1.1793220262900215e+01 3 0 0 -5 0 -P 11 3 -2.8557959363283214e-01 -1.4780078065351945e+00 -1.0810465318999622e+01 1.0926217240828231e+01 2 0 0 -9 0 -P 31 21 1.2172273336784700e+00 -4.7627796523471329e-02 -9.7231787370062306e-01 1.5586253033918638e+00 2 0 0 -17 0 -P 32 21 1.0642173874125529e+00 1.1887517313130824e+00 -1.4482536478625649e+00 2.1547918588388710e+00 2 0 0 -17 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 1.4000883323926923e+00 -8.2378971281789837e-02 8.3381755872705611e+01 8.3393550386399113e+01 3 0 0 -6 0 -P 8 24 -3.5958396201755241e+00 1.7596743824934931e+00 1.3507743361623650e+02 1.5845551205159941e+02 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 1.4000883323926923e+00 -8.2378971281789837e-02 8.3381755872705611e+01 8.3393550386399113e+01 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 24 -3.5958396201755241e+00 1.7596743824934931e+00 1.3507743361623650e+02 1.5845551205159941e+02 2 0 0 -8 0 -V -8 0 0 0 0 0 0 7 0 -P 13 2 -4.9357754672154250e+00 1.4347517927759370e+00 5.9322107559486689e+01 5.9545291480258513e+01 2 0 0 -11 0 -P 14 21 -6.6611694690988275e+00 2.4614122585280231e+00 7.0400917686742488e+01 7.0758172249839646e+01 2 0 0 -11 0 -P 15 21 -1.1364538745352168e+00 -8.4363652633784314e-01 1.5206113213728849e+00 2.0773802704860946e+00 2 0 0 -11 0 -P 16 21 -7.0207935266386619e+00 -9.6120038752047388e-01 5.9385495803026025e+00 9.2456378388066369e+00 2 0 0 -11 0 -P 17 21 1.9233062830932506e+00 -9.9992930184166651e-01 2.0384347101481007e-01 2.1772730255856527e+00 2 0 0 -11 0 -P 18 21 6.5191036641582967e+00 1.4569596471037023e+00 -1.4166998204938244e+00 6.8285051349997472e+00 2 0 0 -11 0 -P 19 -3 7.7159427700610506e+00 -7.8868310021418342e-01 -8.9189618218918798e-01 7.8232520516230650e+00 2 0 0 -11 0 -V -9 0 0 0 0 0 0 1 0 -P 38 92 1.0143469658635501e-01 -1.6823878750568058e+00 -5.1166070449574809e+03 5.1167228485044097e+03 2 0 0 -10 0 -V -10 0 0 0 0 0 0 8 0 -P 39 -313 -2.1040013596164128e-01 -5.8425235058654956e-01 -1.1872843281185203e+01 1.1925692262405972e+01 2 0 0 -23 0 -P 40 113 -2.6276647691303950e-01 -5.6521457952856013e-01 -1.1962401435561386e+01 1.1993068060118460e+01 2 0 0 -24 0 -P 41 -211 2.1202252232348538e-02 1.2037186058540997e-01 -3.8928936098051310e+01 3.8929378166513047e+01 1 0 0 0 0 -P 42 2114 -3.0865407405585576e-01 -4.5752156743261424e-01 -6.0439787274539817e+01 6.0455579370402425e+01 2 0 0 -25 0 -P 43 223 7.5934744704867152e-01 -4.5802192101885630e-02 -7.5778630043207073e+01 7.5786642607491785e+01 2 0 0 -26 0 -P 44 -3114 -4.7130125309522669e-01 -3.6998042550758815e-02 -1.6236037253483892e+02 1.6236696425649211e+02 2 0 0 -27 0 -P 45 -311 3.9338164815186982e-01 1.5120222274855744e-01 -1.5841292434872400e+02 1.5841426667878346e+02 2 0 0 -28 0 -P 46 2112 1.8062528917922832e-01 -2.6417322619040490e-01 -4.5968511499413735e+03 4.5968512571022029e+03 1 0 0 0 0 -V -11 0 0 0 0 0 0 1 0 -P 47 92 -3.5958396201755329e+00 1.7596743824934951e+00 1.3507743361623648e+02 1.5845551205159936e+02 2 0 0 -12 0 -V -12 0 0 0 0 0 0 19 0 -P 48 213 -4.6020701303904872e+00 1.4837736955946597e+00 4.4190052474360535e+01 4.4457621785313627e+01 2 0 0 -29 0 -P 49 111 6.6697298340082936e-02 -2.7309372095162640e-02 1.5613189066221931e+00 1.5687991139677566e+00 2 0 0 -30 0 -P 50 -213 -1.2537860530518419e+00 6.3570399222428886e-01 2.3101138766532216e+01 2.3148198586365478e+01 2 0 0 -31 0 -P 51 223 -4.9718024532112670e+00 1.2416775214387061e+00 4.4371163546531150e+01 4.4672913013609495e+01 2 0 0 -32 0 -P 52 211 2.0193990881854440e-01 1.9756624416254592e-01 8.6476093093118023e-01 9.2038220331072151e-01 1 0 0 0 0 -P 53 3112 -7.0584972907924126e-01 -6.5661601113311763e-02 9.0004313706404595e+00 9.1073685934583164e+00 2 0 0 -33 0 -P 54 -3212 -1.3667402501295773e+00 -6.0384937118763382e-01 5.0703170378781293e+00 5.4187547777607730e+00 2 0 0 -34 0 -P 55 211 -2.6364081709202364e-01 7.3413299932848253e-01 2.6874106938374962e+00 2.8018054470987304e+00 1 0 0 0 0 -P 56 -213 -3.4695940866764934e+00 -5.0692299600103696e-01 3.4058985381402325e+00 4.9419726631930434e+00 2 0 0 -35 0 -P 57 111 -2.2664032636498591e-01 -6.4174781661402613e-01 5.5446080822234844e-01 8.8817368004139652e-01 2 0 0 -36 0 -P 58 113 -5.0290045956692175e-01 -2.2402253400552827e-02 4.2604824703776056e-01 1.0487762353368946e+00 2 0 0 -37 0 -P 59 213 -1.2005200767227959e+00 6.2152297680195367e-02 1.6050487128422106e+00 2.2598983813267526e+00 2 0 0 -38 0 -P 60 -213 -2.9276047393825264e-02 -5.2442944213790954e-01 9.3491138108836302e-02 9.6897732639620227e-01 2 0 0 -39 0 -P 61 213 4.8741035118588283e-01 -5.4382265811505015e-01 -2.1420018845659008e-01 9.8970129623833414e-01 2 0 0 -40 0 -P 62 -211 1.8697788601233423e-01 4.2760734454290197e-02 -2.6920172278503485e-01 3.5880156454388884e-01 1 0 0 0 0 -P 63 211 1.2983839367590966e-01 -2.1540737154801419e-02 3.5452183158205530e-01 4.0309741477440403e-01 1 0 0 0 0 -P 64 311 4.6391648249289439e+00 8.7190463208380886e-01 -2.7041866263032449e-01 4.7542475369195865e+00 2 0 0 -41 0 -P 65 -323 2.2512956578581989e+00 -8.1702811801166697e-01 -6.8930905945599441e-01 2.6161470913906841e+00 2 0 0 -42 0 -P 66 323 7.0336564886840316e+00 2.6471663135766954e-01 -7.6549975370238721e-01 7.1298753405532898e+00 2 0 0 -43 0 -V -13 0 0 0 0 0 2 1 0 -P 20 3 2.9480913835759774e+00 -4.2454566557718891e+00 -4.1875620167901211e+01 4.2193396514955836e+01 2 0 0 -13 0 -P 21 -3 -2.9480913835759774e+00 4.2454566557718891e+00 -1.4413638757204703e+02 1.4422903094502612e+02 2 0 0 -13 0 -P 67 92 0 0 -1.8601200773994825e+02 1.8642242745998198e+02 2 0 0 -14 0 -V -14 0 0 0 0 0 0 7 0 -P 68 -313 6.7124336041434551e-01 -1.0017568531182413e+00 -1.2051454636583410e+01 1.2140615058432582e+01 2 0 0 -44 0 -P 69 111 1.8807531206737291e+00 -2.0970278275644705e+00 -2.6588570500903835e+01 2.6737708557249952e+01 2 0 0 -45 0 -P 70 113 -1.1068971892740748e-01 -5.1341043207208503e-01 -9.0115038018838742e+00 9.0608170742198180e+00 2 0 0 -46 0 -P 71 223 -2.0672406052829917e-01 1.7379335103852600e-01 -1.3130580146872006e+01 1.3156750961396625e+01 2 0 0 -47 0 -P 72 113 -4.4140526611159947e-01 5.7742869906215955e-01 -2.4813075874939347e+01 2.4836133069027387e+01 2 0 0 -48 0 -P 73 -211 7.7896309901419436e-02 -3.6602920137854170e-02 -1.3397448490641568e+00 1.3497420695647062e+00 1 0 0 0 0 -P 74 323 -1.8710737454221880e+00 2.8975759827919654e+00 -9.9077077929701588e+01 9.9140660670090867e+01 2 0 0 -49 0 -V -15 0 0 0 0 0 2 1 0 -P 22 3 -2.3797373606868244e+00 -2.4917871101526390e+00 -4.3280761946634883e+00 5.5321240455167233e+00 2 0 0 -15 0 -P 23 -3 2.3797373606868244e+00 2.4917871101526390e+00 -9.6661085500222009e+02 9.6661699610602295e+02 2 0 0 -15 0 -P 75 92 0 0 -9.7093893119688357e+02 9.7214912015153971e+02 2 0 0 -16 0 -V -16 0 0 0 0 0 0 9 0 -P 76 -323 -2.2398361126526320e+00 -2.4341442137074423e+00 -4.8632735500917565e+00 5.9530803627759008e+00 2 0 0 -50 0 -P 77 111 -6.7528675734192661e-02 -1.2563759364867366e-01 -1.7655103539140375e+00 1.7763984173495295e+00 2 0 0 -51 0 -P 78 113 1.5354061763556762e-01 6.2318321309839064e-01 -1.0151106705392891e+01 1.0185911304933418e+01 2 0 0 -52 0 -P 79 111 -1.6671670434852973e-01 -5.1368748512571094e-01 -7.9559061682556891e+00 7.9753577882357432e+00 2 0 0 -53 0 -P 80 211 -9.6736485997603927e-02 5.1279243800840213e-01 -4.1217511496160233e+00 4.1569972764560212e+00 1 0 0 0 0 -P 81 111 4.4784540883304857e-02 -6.3293049003740509e-01 -2.8876930883969312e+01 2.8884216512452983e+01 2 0 0 -54 0 -P 82 -211 -1.1552696499474494e-01 2.9652397766424610e-01 -1.5381300035866197e+01 1.5385224844870098e+01 1 0 0 0 0 -P 83 213 1.3734383108429742e+00 1.9976391213286977e+00 -5.6939502407682789e+02 5.6940054246694490e+02 2 0 0 -55 0 -P 84 313 1.1145814743658564e+00 2.7626103241949523e-01 -3.2842812827294995e+02 3.2843139117752128e+02 2 0 0 -56 0 -V -17 0 0 0 0 0 4 1 0 -P 27 21 -3.2798144322212153e+00 8.7986496652623636e-01 2.4766780065185029e+02 2.4769107942110830e+02 2 0 0 -17 0 -P 28 21 3.2798144322212153e+00 -8.7986496652623636e-01 5.5985508273586087e+00 6.5479093179154937e+00 2 0 0 -17 0 -P 29 21 -3.7733390949497778e+00 9.0629369874865717e-01 -3.3241294584168473e+00 5.1097253204240456e+00 2 0 0 -17 0 -P 30 21 3.7733390949497778e+00 -9.0629369874865717e-01 -1.2185775397046967e+01 1.2788767658423664e+01 2 0 0 -17 0 -P 85 92 2.0943165911964767e+00 5.0924638451013138e-03 6.6074307187661043e+03 6.9293270467247485e+03 2 0 0 -18 0 -V -18 0 0 0 0 0 0 36 0 -P 86 113 2.9356129599336628e-01 -4.3313617556154632e-01 1.5897828498253559e+03 1.5897830714807062e+03 2 0 0 -57 0 -P 87 2112 -1.1641820817776909e-01 7.5916177472945279e-01 1.5838148551780225e+03 1.5838153200907500e+03 1 0 0 0 0 -P 88 113 2.7160958203151061e-02 -4.0515716778460686e-01 1.6165720701806258e+03 1.6165722765277476e+03 2 0 0 -58 0 -P 89 111 -1.4385672069497962e-01 9.5872413866507322e-01 7.8787988037092839e+02 7.8788048837348356e+02 2 0 0 -59 0 -P 90 -2214 -3.6919767591725938e-01 -8.0507840752899340e-01 8.0872498075085002e+02 8.0872637466061587e+02 2 0 0 -60 0 -P 91 211 3.5761092944521689e-01 -5.0085597321715558e-01 3.0003167406315214e+01 3.0009803006335137e+01 1 0 0 0 0 -P 92 2114 -9.8516795397972409e-02 -1.4151599991198704e-01 6.0200362965077282e+01 6.0212675769296112e+01 2 0 0 -61 0 -P 93 223 -6.6801252072040476e-02 3.4914305837557824e-01 1.7318687060519537e+01 1.7340112417543374e+01 2 0 0 -62 0 -P 94 223 1.0880283197397357e-01 -1.1874086178082427e-01 5.9048803867980695e+00 5.9574951798301630e+00 2 0 0 -63 0 -P 95 223 -1.1326999883260454e-01 -3.7014701840945025e-01 2.2018767133093363e+01 2.2035600678331608e+01 2 0 0 -64 0 -P 96 211 1.7074748485127106e-02 3.1351296613888224e-01 1.0137555013396343e+01 1.0143376329482720e+01 1 0 0 0 0 -P 97 221 -2.4049267933068028e-01 -5.2371012095719160e-01 1.4536298958950805e+01 1.4558014904034785e+01 2 0 0 -65 0 -P 98 -211 -2.7609773133260801e-01 -5.7044915366057758e-01 6.8816596070175269e+00 6.9121893004977597e+00 1 0 0 0 0 -P 99 211 -3.2003753499352694e-01 5.9754365375792062e-01 1.9274593244220643e+01 1.9287013946098735e+01 1 0 0 0 0 -P 100 223 -3.4604842053761919e-01 3.1486430485676520e-01 6.2632131591575501e+01 6.2638853372545277e+01 2 0 0 -66 0 -P 101 111 2.2948981413776891e-02 5.5605194404662266e-02 1.1648969035652028e+00 1.1742329367414746e+00 2 0 0 -67 0 -P 102 111 -2.9172378240014335e-01 3.0693544637119191e-01 5.3046712918767929e+00 5.3232573908011185e+00 2 0 0 -68 0 -P 103 -213 3.2106496746452690e-01 2.1715005346640492e-01 1.8335690284947212e+01 1.8357740097185115e+01 2 0 0 -69 0 -P 104 211 -4.1566685736877346e-01 -2.4857973476376449e-01 7.6291201423937034e+00 7.6457520724142878e+00 1 0 0 0 0 -P 105 221 -2.5513573334891759e-01 3.0928061930424477e-01 4.8173473574429913e+01 4.8178252422360707e+01 2 0 0 -70 0 -P 106 223 -7.4215211736769937e-01 -2.4846169610654173e-01 2.0946282884976224e+01 2.0974976715559247e+01 2 0 0 -71 0 -P 107 113 2.4449291316315186e-01 -4.2766229921875031e-02 1.6107139368476123e+01 1.6128248722013453e+01 2 0 0 -72 0 -P 108 223 4.7207387017201917e-02 -3.2716583505686320e-01 2.1203916701555983e+00 2.2765517765484846e+00 2 0 0 -73 0 -P 109 -2212 9.4887946882507612e-01 4.1648238312682367e-01 3.2378432709009703e+00 3.5267278689504029e+00 1 0 0 0 0 -P 110 223 1.6600334088172941e-01 -4.1616381624079307e-01 2.6794215643440502e+00 2.8255103226053060e+00 2 0 0 -74 0 -P 111 2212 1.5707280006131925e+00 1.9053939806349487e-01 4.0977610121829917e+00 4.4917132165791367e+00 1 0 0 0 0 -P 112 221 -1.1579086126404439e+00 9.9177839411389315e-02 -7.1473619559073187e-01 1.4700809266311647e+00 2 0 0 -75 0 -P 113 -213 -1.0802536131659559e+00 -4.3742284486781746e-02 -8.7239930641296504e-01 1.8065991907361469e+00 2 0 0 -76 0 -P 114 -311 -1.2221059279354842e+00 7.8797526225771200e-02 -6.0729148702831515e-01 1.4547268913275133e+00 2 0 0 -77 0 -P 115 323 1.7061356136889678e+00 -2.9014219266128297e-02 -5.6916355500633795e+00 6.0003241000917313e+00 2 0 0 -78 0 -P 116 -213 5.0727937246066324e-01 -4.7763269349581511e-01 -1.4192395564892897e+00 1.7279116972796664e+00 2 0 0 -79 0 -P 117 113 1.8377335751287966e+00 3.7435212119187783e-01 -6.4021253801990987e+00 6.7571572558931825e+00 2 0 0 -80 0 -P 118 113 1.1595987846627662e+00 3.3781193392132147e-01 -1.7297809040002605e+00 2.3075689039392140e+00 2 0 0 -81 0 -P 119 211 2.7239080429789903e-01 -2.2711690982550835e-02 -1.2958981254113522e-01 3.3314542708521427e-01 1 0 0 0 0 -P 120 113 2.1267666995458101e-01 1.7395120076323969e-01 -1.6083970877226670e+00 1.8184518290999967e+00 2 0 0 -82 0 -P 121 221 -4.7135039096220882e-01 -1.2291206979554646e-01 -1.3887351759484287e+02 1.3887545092360841e+02 2 0 0 -83 0 -V -19 0 0 0 0 0 2 1 0 -P 34 21 -1.7804898284392838e+00 -2.5209727458596531e+00 -1.6027171333206104e+02 1.6030142713653206e+02 2 0 0 -19 0 -P 35 21 1.7804898284392838e+00 2.5209727458596531e+00 -3.9047632682122253e+00 4.9772104431420550e+00 2 0 0 -19 0 -P 122 92 0 0 -1.6417647660027328e+02 1.6527863757967410e+02 2 0 0 -20 0 -V -20 0 0 0 0 0 0 12 0 -P 123 -211 -6.0070155236750178e-01 3.1318832669430013e-01 -2.3722419674713313e+00 2.4710202387124545e+00 1 0 0 0 0 -P 124 -313 -5.5418962740188848e-01 5.6022873335349721e-01 -2.6963373036122778e+01 2.6989313170610149e+01 2 0 0 -84 0 -P 125 -3122 7.8192980547996760e-01 -1.0098791190461021e+00 -2.5752937819053422e+01 2.5808715935323384e+01 2 0 0 -85 0 -P 126 2112 -5.2911926360048755e-01 -7.0628422357488740e-01 -3.1365989018949879e+01 3.1392465075577743e+01 1 0 0 0 0 -P 127 -313 -6.6375047799976095e-01 -5.2431994602761678e-01 -3.0745812034728321e+01 3.0766432948134987e+01 2 0 0 -86 0 -P 128 323 -1.0010822452572499e-01 2.3468051859673056e-01 -2.0435238020895113e+01 2.0455561586261695e+01 2 0 0 -87 0 -P 129 -2212 7.6440809257191722e-01 -3.6826018672418046e-03 -3.6284282265723400e+00 3.8249412128597280e+00 1 0 0 0 0 -P 130 331 -2.1598897730547920e-01 3.8740437897781693e-01 -2.8085273570100782e+00 3.0002184788953326e+00 2 0 0 -88 0 -P 131 2114 3.7114271301432933e-01 1.6103528252915164e-01 -3.1873923166002567e+00 3.4301830299056255e+00 2 0 0 -89 0 -P 132 213 1.4340847993733810e-01 8.3134947437200180e-01 -7.5071475809012984e+00 7.6369252082162546e+00 2 0 0 -90 0 -P 133 111 2.5133273495763248e-01 1.9971281449766987e-01 -1.8807651137350476e+00 1.9127337413708869e+00 2 0 0 -91 0 -P 134 223 3.5163629723965795e-01 -4.4343363850532036e-01 -7.5286241082333785e+00 7.5901269538058527e+00 2 0 0 -92 0 -V -21 0 0 0 0 0 2 1 0 -P 36 21 -7.9835767352754738e-01 2.8310917836013409e+00 -4.9511789036910145e+01 4.9599089803115852e+01 2 0 0 -21 0 -P 37 21 7.9835767352754738e-01 -2.8310917836013409e+00 -3.3864087660105230e+02 3.3865365162772304e+02 2 0 0 -21 0 -P 135 92 0 0 -3.8815266563796246e+02 3.8825274143083885e+02 2 0 0 -22 0 -V -22 0 0 0 0 0 0 9 0 -P 136 2114 -1.4960565618058827e-01 -3.7983243334584205e-01 -6.0084225372661976e+01 6.0097896107156856e+01 2 0 0 -93 0 -P 137 -211 2.9811563003694558e-01 5.4783511804293061e-01 -4.4437689646128113e+01 4.4442285462337956e+01 1 0 0 0 0 -P 138 -3112 2.3307186571895475e-01 1.4326900914430873e-01 -2.7582276932951583e+01 2.7609612671372336e+01 2 0 0 -94 0 -P 139 -323 -2.7304396428318978e-01 8.3408142249412254e-01 -4.6194743956008772e+01 4.6211892601868342e+01 2 0 0 -95 0 -P 140 113 -1.2438472963311790e-01 -5.3617617384831562e-01 -3.5265788970736466e+01 3.5278430062698547e+01 2 0 0 -96 0 -P 141 321 1.7857873999080959e-01 3.3202431338286048e-01 -2.0117667576333965e+01 2.0127253170339291e+01 1 0 0 0 0 -P 142 -321 -8.8311177964749923e-02 -9.5005248461867819e-01 -1.2922147930037769e+02 1.2922594457819073e+02 1 0 0 0 0 -P 143 111 -1.3174275413026160e-01 -1.9950654911601931e-01 -4.1534180411145236e+00 4.1624824373277072e+00 2 0 0 -97 0 -P 144 211 5.7322046445197547e-02 2.0835777786463264e-01 -2.1095375841649318e+01 2.1096944339547068e+01 1 0 0 0 0 -V -23 0 0 0 0 0 0 2 0 -P 145 -321 4.7317159073082486e-03 -6.3950612894738934e-01 -1.0249740682428344e+01 1.0281527877466626e+01 1 0 0 0 0 -P 146 211 -2.1513185186894951e-01 5.5253778360839806e-02 -1.6231025987568579e+00 1.6441643849393461e+00 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 147 -211 -4.0628598070699080e-02 -3.7486371473267571e-01 -3.2698973194384027e+00 3.2945229931167308e+00 1 0 0 0 0 -P 148 211 -2.2213787884234046e-01 -1.9035086479588445e-01 -8.6925041161229846e+00 8.6985450670017315e+00 1 0 0 0 0 -V -25 0 0 0 0 0 0 2 0 -P 149 2112 -5.0305378851233962e-01 -3.5001326226330570e-01 -4.8922578174780284e+01 4.8935437256146848e+01 1 0 0 0 0 -P 150 111 1.9439971445648394e-01 -1.0750830516930852e-01 -1.1517209099759532e+01 1.1520142114255574e+01 2 0 0 -98 0 -V -26 0 0 0 0 0 0 3 0 -P 151 211 5.5467664486743833e-02 -8.8581067293380639e-02 -8.8067473190807988e+00 8.8084732726121882e+00 1 0 0 0 0 -P 152 -211 3.2763508143091863e-01 2.6975363668793567e-01 -2.7798223999518537e+01 2.7801813773266648e+01 1 0 0 0 0 -P 153 111 3.7624470113100927e-01 -2.2697476149644069e-01 -3.9173658724607755e+01 3.9176355561612958e+01 2 0 0 -99 0 -V -27 0 0 0 0 0 0 2 0 -P 154 -3122 -3.4471300641577951e-01 -9.3043940044976126e-02 -1.5322034894383646e+02 1.5322482682830801e+02 2 0 0 -100 0 -P 155 211 -1.2658824667944718e-01 5.6045897494217310e-02 -9.1400235910024410e+00 9.1421374281840926e+00 1 0 0 0 0 -V -28 0 0 0 0 0 0 1 0 -P 156 310 3.9338164815186982e-01 1.5120222274855744e-01 -1.5841292434872400e+02 1.5841426667878343e+02 2 0 0 -101 0 -V -29 0 0 0 0 0 0 2 0 -P 157 211 -4.1204788433400203e+00 1.3492927461039024e+00 3.8318172798207833e+01 3.8562945727619358e+01 1 0 0 0 0 -P 158 111 -4.8159128705046694e-01 1.3448094949075709e-01 5.8718796761526999e+00 5.8946760576942649e+00 2 0 0 -102 0 -V -30 0 3.6262632367244094e-07 -1.4847823601754692e-07 8.4887296679066190e-06 8.5293987828113712e-06 0 2 0 -P 159 22 9.2329242767276706e-02 1.8864949736969224e-02 1.1925858469138277e+00 1.1963032966843019e+00 1 0 0 0 0 -P 160 22 -2.5631944427193760e-02 -4.6174321832131868e-02 3.6873305970836540e-01 3.7249581728345482e-01 1 0 0 0 0 -V -31 0 0 0 0 0 0 2 0 -P 161 -211 -1.1341007829402066e+00 6.0266876159191429e-01 2.0286919317455499e+01 2.0328009479531275e+01 1 0 0 0 0 -P 162 111 -1.1968527011163542e-01 3.3035230632374672e-02 2.8142194490767198e+00 2.8201891068342042e+00 2 0 0 -103 0 -V -32 0 0 0 0 0 0 2 0 -P 163 22 -3.4376924339807431e+00 5.6473113570386968e-01 3.1590143475639518e+01 3.1781658473682139e+01 1 0 0 0 0 -P 164 111 -1.5341100192305239e+00 6.7694638573483645e-01 1.2781020070891630e+01 1.2891254539927354e+01 2 0 0 -104 0 -V -33 0 -2.7789154446939715e+01 -2.5850833391285808e+00 3.5434507819968331e+02 3.5855517402969622e+02 0 2 0 -P 165 2112 -5.1909013901515177e-01 -3.4217945727699796e-02 5.8209743622944101e+00 5.9192195221685608e+00 1 0 0 0 0 -P 166 -211 -1.8675959006408943e-01 -3.1443655385611960e-02 3.1794570083460498e+00 3.1881490712897551e+00 1 0 0 0 0 -V -34 0 0 0 0 0 0 2 0 -P 167 -3122 -1.3578313501585406e+00 -5.6110171407454090e-01 4.7532121296764123e+00 5.0986575214573620e+00 2 0 0 -105 0 -P 168 22 -8.9088999710365789e-03 -4.2747657113092849e-02 3.1710490820171716e-01 3.2009725630341157e-01 1 0 0 0 0 -V -35 0 0 0 0 0 0 2 0 -P 169 -211 -2.3446543659562806e+00 -6.4929378742615518e-01 2.2395655634208214e+00 3.3097009254536083e+00 1 0 0 0 0 -P 170 111 -1.1249397207202128e+00 1.4237079142511824e-01 1.1663329747194109e+00 1.6322717377394349e+00 2 0 0 -106 0 -V -36 0 -6.7418093062859160e-05 -1.9089901041571765e-04 1.6493397696685196e-04 2.6420265438809298e-04 0 2 0 -P 171 22 -2.1187394174684773e-01 -5.9635452415112900e-01 5.5296385850315732e-01 8.4041556058747868e-01 1 0 0 0 0 -P 172 22 -1.4766384618138196e-02 -4.5393292462897188e-02 1.4969497191911496e-03 4.7758119453917933e-02 1 0 0 0 0 -V -37 0 0 0 0 0 0 2 0 -P 173 -211 -4.0255782642450305e-02 -2.7831301333626307e-01 3.9015845799110332e-01 5.0078145799386653e-01 1 0 0 0 0 -P 174 211 -4.6264467692447137e-01 2.5591075993571022e-01 3.5889789046657225e-02 5.4799477734302793e-01 1 0 0 0 0 -V -38 0 0 0 0 0 0 2 0 -P 175 211 7.8035236055542037e-02 -5.6695538610673002e-02 6.0047941576510799e-01 6.2398653496866729e-01 1 0 0 0 0 -P 176 111 -1.2785553127783380e+00 1.1884783629086837e-01 1.0045692970771025e+00 1.6359118463580851e+00 2 0 0 -107 0 -V -39 0 0 0 0 0 0 2 0 -P 177 -211 1.2627572705779661e-01 -6.1331993051647760e-01 2.5729317570399224e-01 6.9122099185177921e-01 1 0 0 0 0 -P 178 111 -1.5555177445162185e-01 8.8890488378568028e-02 -1.6380203759515596e-01 2.7775633454442306e-01 2 0 0 -108 0 -V -40 0 0 0 0 0 0 2 0 -P 179 211 3.5639704325469085e-01 -6.3423964972341818e-01 -2.4163817735466017e-01 7.7919675267370847e-01 1 0 0 0 0 -P 180 111 1.3101330793119204e-01 9.0416991608367872e-02 2.7437988898070045e-02 2.1050454356462622e-01 2 0 0 -109 0 -V -41 0 0 0 0 0 0 1 0 -P 181 310 4.6391648249289439e+00 8.7190463208380886e-01 -2.7041866263032449e-01 4.7542475369195882e+00 2 0 0 -110 0 -V -42 0 0 0 0 0 0 2 0 -P 182 -321 1.9525512673653487e+00 -5.3227249651774589e-01 -4.9906661042476869e-01 2.1420735057135949e+00 1 0 0 0 0 -P 183 111 2.9874439049285023e-01 -2.8475562149392120e-01 -1.9024244903122581e-01 4.7407358567708918e-01 2 0 0 -111 0 -V -43 0 0 0 0 0 0 2 0 -P 184 321 4.1462756309890736e+00 3.2192760120503588e-01 -6.3518186464597759e-01 4.2358394622231152e+00 1 0 0 0 0 -P 185 111 2.8873808576949571e+00 -5.7210969847366372e-02 -1.3031788905640951e-01 2.8940358783301670e+00 2 0 0 -112 0 -V -44 0 0 0 0 0 0 2 0 -P 186 -321 7.4632910485972637e-01 -9.0683090050122783e-01 -1.0937761687495565e+01 1.1011703823991564e+01 1 0 0 0 0 -P 187 211 -7.5085744445380881e-02 -9.4925952617013309e-02 -1.1136929490878451e+00 1.1289112344410193e+00 1 0 0 0 0 -V -45 0 5.4870443770135152e-04 -6.1180197566582301e-04 -7.7571407249639283e-03 7.8006513337980929e-03 0 2 0 -P 188 22 1.6307255770237250e+00 -1.7467424291525475e+00 -2.2610684940145120e+01 2.2736610312090640e+01 1 0 0 0 0 -P 189 22 2.5002754365000407e-01 -3.5028539841192269e-01 -3.9778855607587129e+00 4.0010982451593105e+00 1 0 0 0 0 -V -46 0 0 0 0 0 0 2 0 -P 190 -211 -3.4771060598395914e-01 -2.2516011178622557e-02 -4.1162097602971910e+00 4.1332883049624050e+00 1 0 0 0 0 -P 191 211 2.3702088705655167e-01 -4.9089442089346247e-01 -4.8952940415866841e+00 4.9275287692574148e+00 1 0 0 0 0 -V -47 0 0 0 0 0 0 3 0 -P 192 211 7.5704020926990898e-02 1.9439819800615879e-01 -3.0400693063104991e+00 3.0504135670829546e+00 1 0 0 0 0 -P 193 -211 1.2388078103698906e-02 -1.3418403734202855e-01 -2.2669176314964452e+00 2.2752042003402604e+00 1 0 0 0 0 -P 194 111 -2.9481615955898893e-01 1.1357919037439569e-01 -7.8235932090650602e+00 7.8311331939734075e+00 2 0 0 -113 0 -V -48 0 0 0 0 0 0 2 0 -P 195 -211 -2.5840149143461150e-01 4.9160936948202588e-01 -7.6888525573623507e+00 7.7101481527072950e+00 1 0 0 0 0 -P 196 211 -1.8300377467698797e-01 8.5819329580133663e-02 -1.7124223317576995e+01 1.7125984916320089e+01 1 0 0 0 0 -V -49 0 0 0 0 0 0 2 0 -P 197 321 -1.0059304477724786e+00 1.6154958423579500e+00 -4.8713814360191492e+01 4.8753472423629795e+01 1 0 0 0 0 -P 198 111 -8.6514329764970965e-01 1.2820801404340156e+00 -5.0363263569510103e+01 5.0387188246461093e+01 2 0 0 -114 0 -V -50 0 0 0 0 0 0 2 0 -P 199 -311 -2.1609164566645891e+00 -2.4014342910428788e+00 -4.6611982375210808e+00 5.6930563869726507e+00 2 0 0 -115 0 -P 200 -211 -7.8919655988042958e-02 -3.2709922664563601e-02 -2.0207531257067607e-01 2.6002397580325015e-01 1 0 0 0 0 -V -51 0 -1.5071098302075203e-05 -2.8039888295285812e-05 -3.9402786753742279e-04 3.9645787334712418e-04 0 2 0 -P 201 22 -1.6628700951457295e-03 2.7466545158185005e-02 -1.7085866096558761e-01 1.7306027350849057e-01 1 0 0 0 0 -P 202 22 -6.5865805639046926e-02 -1.5310413880685866e-01 -1.5946516929484500e+00 1.6033381438410388e+00 1 0 0 0 0 -V -52 0 0 0 0 0 0 2 0 -P 203 -211 2.0587461757273046e-01 1.6855553016750627e-01 -2.1998932359118348e+00 2.2203164997858775e+00 1 0 0 0 0 -P 204 211 -5.2333999937162846e-02 4.5462768293088435e-01 -7.9512134694810550e+00 7.9655948051475409e+00 1 0 0 0 0 -V -53 0 -5.1634935389906184e-06 -1.5909755539324514e-05 -2.4640764257625601e-04 2.4701009158988296e-04 0 2 0 -P 205 22 -1.9369005581290913e-02 -2.6993645287572443e-01 -3.6129505223448715e+00 3.6230722217312223e+00 1 0 0 0 0 -P 206 22 -1.4734769876723883e-01 -2.4375103224998654e-01 -4.3429556459108172e+00 4.3522855665045208e+00 1 0 0 0 0 -V -54 0 1.6507694663061706e-06 -2.3329977412751538e-05 -1.0644109517188483e-03 1.0646795018213276e-03 0 2 0 -P 207 22 3.2699543974523036e-04 -1.6531900817126896e-01 -5.2016361454811575e+00 5.2042625867037895e+00 1 0 0 0 0 -P 208 22 4.4457545443559635e-02 -4.6761148186613616e-01 -2.3675294738488155e+01 2.3679953925749196e+01 1 0 0 0 0 -V -55 0 0 0 0 0 0 2 0 -P 209 211 8.3079894702839219e-01 1.5302975509736045e+00 -3.5793639413666205e+02 3.5794065676425424e+02 1 0 0 0 0 -P 210 111 5.4263936381458211e-01 4.6734157035509338e-01 -2.1145862994016593e+02 2.1145988570269063e+02 2 0 0 -116 0 -V -56 0 0 0 0 0 0 2 0 -P 211 321 1.0977767389319530e+00 3.1868442334370795e-01 -2.4770380304560078e+02 2.4770693239742806e+02 1 0 0 0 0 -P 212 -211 1.6804735433903449e-02 -4.2423390924212670e-02 -8.0724325227349169e+01 8.0724458780093229e+01 1 0 0 0 0 -V -57 0 0 0 0 0 0 2 0 -P 213 211 4.8735411154823403e-02 -4.3391527553418574e-01 5.7573302557377576e+02 5.7573320806926313e+02 1 0 0 0 0 -P 214 -211 2.4482588483854287e-01 7.7909997263942679e-04 1.0140498242515802e+03 1.0140498634114431e+03 1 0 0 0 0 -V -58 0 0 0 0 0 0 2 0 -P 215 -211 2.2644715345669786e-01 -1.8312403295315868e-01 3.1678254960143175e+02 3.1678271421353344e+02 1 0 0 0 0 -P 216 211 -1.9928619525354679e-01 -2.2203313483144810e-01 1.2997895205791938e+03 1.2997895623142140e+03 1 0 0 0 0 -V -59 0 -1.5147243004817694e-05 1.0094785584425737e-04 8.2958988283135748e-02 8.2959052302129133e-02 0 2 0 -P 217 22 -9.8281010852660555e-02 2.5143009431644470e-01 2.1253074378795648e+02 2.1253091523661075e+02 1 0 0 0 0 -P 218 22 -4.5575709842319061e-02 7.0729404434862853e-01 5.7534913658297194e+02 5.7534957313687289e+02 1 0 0 0 0 -V -60 0 0 0 0 0 0 2 0 -P 219 -2212 -3.3519434428000028e-01 -4.0216052205848135e-01 5.6696550298238196e+02 5.6696652106715453e+02 1 0 0 0 0 -P 220 111 -3.4003331637259090e-02 -4.0291788547051194e-01 2.4175947776846803e+02 2.4175985359346117e+02 2 0 0 -117 0 -V -61 0 0 0 0 0 0 2 0 -P 221 2112 -1.5928388612196823e-01 -2.9344070178772974e-01 5.2068168002132694e+01 5.2077714904602516e+01 1 0 0 0 0 -P 222 111 6.0767090723995811e-02 1.5192470187574267e-01 8.1321949629446006e+00 8.1349608646936105e+00 2 0 0 -118 0 -V -62 0 0 0 0 0 0 3 0 -P 223 -211 -2.0855792861887895e-01 3.0026778285653749e-01 1.2281199215305971e+01 1.2287432242008229e+01 1 0 0 0 0 -P 224 211 1.8322216671360106e-01 8.4641186236416213e-02 3.0390432107555543e+00 3.0489338980243836e+00 1 0 0 0 0 -P 225 111 -4.1465490166762591e-02 -3.5765910717375442e-02 1.9984446344580136e+00 2.0037462775107624e+00 2 0 0 -119 0 -V -63 0 0 0 0 0 0 3 0 -P 226 211 2.5229722362814772e-01 7.8453898573060024e-02 2.0068040102688629e+00 2.0289285408271467e+00 1 0 0 0 0 -P 227 -211 -4.0632702319755090e-02 -1.2069487246477217e-01 6.9918612236714750e-01 7.2426465283617236e-01 1 0 0 0 0 -P 228 111 -1.0286168933441908e-01 -7.6499887889112148e-02 3.1988902541620599e+00 3.2043019861668447e+00 2 0 0 -120 0 -V -64 0 0 0 0 0 0 3 0 -P 229 -211 -1.6757424870507753e-01 -2.0645190227526286e-01 8.7703893221804687e+00 8.7755291671955220e+00 1 0 0 0 0 -P 230 211 9.8968590493889952e-02 -2.6775289950262515e-01 5.1595877232286771e+00 5.1693627901017445e+00 1 0 0 0 0 -P 231 111 -4.4664340621416956e-02 1.0405778336843771e-01 8.0887900876842203e+00 8.0907087210343445e+00 2 0 0 -121 0 -V -65 0 0 0 0 0 0 3 0 -P 232 22 4.3201839353883581e-02 2.1195937699919901e-02 3.1454940200310616e-01 3.1820903978210507e-01 1 0 0 0 0 -P 233 211 -1.0483563972662920e-01 -3.3980469291825055e-01 5.8420066258245038e+00 5.8544836614140072e+00 1 0 0 0 0 -P 234 -211 -1.7885887895793467e-01 -2.0510136573886101e-01 8.3797429311231948e+00 8.3853222028386707e+00 1 0 0 0 0 -V -66 0 0 0 0 0 0 3 0 -P 235 211 -6.2449587517871177e-02 -1.5860535579672613e-01 1.4572062057648969e+01 1.4573727320309697e+01 1 0 0 0 0 -P 236 -211 -6.9803021048007466e-02 1.9955448295151124e-01 3.0748651976026064e+01 3.0749695487615565e+01 1 0 0 0 0 -P 237 111 -2.1379581197174061e-01 2.7391517770198009e-01 1.7311417557900477e+01 1.7315430564620016e+01 2 0 0 -122 0 -V -67 0 9.9012612323046163e-06 2.3990675043343193e-05 5.0259087072063646e-04 5.0661887099154334e-04 0 2 0 -P 238 22 7.2226354217322569e-02 2.8177786734834089e-02 9.0357006333380763e-01 9.0689001166727001e-01 1 0 0 0 0 -P 239 22 -4.9277372803545674e-02 2.7427407669828176e-02 2.6132684023139513e-01 2.6734292507420448e-01 1 0 0 0 0 -V -68 0 -1.8040088071645551e-05 1.8980771602814036e-05 3.2803886097063062e-04 3.2918821827960463e-04 0 2 0 -P 240 22 -2.6219607110444487e-01 2.0044463067522406e-01 3.6450568212061958e+00 3.6599677675480899e+00 1 0 0 0 0 -P 241 22 -2.9527711295698492e-02 1.0649081569596784e-01 1.6596144706705973e+00 1.6632896232530285e+00 1 0 0 0 0 -V -69 0 0 0 0 0 0 2 0 -P 242 -211 -1.5779048821080130e-01 2.4427658010237480e-01 1.1215533923889044e+01 1.1220171561458509e+01 1 0 0 0 0 -P 243 111 4.7885545567532817e-01 -2.7126526635969879e-02 7.1201563610581680e+00 7.1375685357266061e+00 2 0 0 -123 0 -V -70 0 0 0 0 0 0 3 0 -P 244 -211 1.4447474134589635e-02 1.0331254294609675e-01 1.3021878060525166e+01 1.3023043815449808e+01 1 0 0 0 0 -P 245 211 -2.2533489453973266e-01 6.7750325072043191e-02 1.3920844135234320e+01 1.3923532136050548e+01 1 0 0 0 0 -P 246 111 -4.4248312943774556e-02 1.3821775128610481e-01 2.1230751378670416e+01 2.1231676470860343e+01 2 0 0 -124 0 -V -71 0 0 0 0 0 0 3 0 -P 247 -211 4.3968497828360605e-02 -8.9581304918981322e-02 2.7716342830236234e+00 2.7769397585695201e+00 1 0 0 0 0 -P 248 211 -3.0260312919721499e-01 -2.2696578300232692e-01 6.5963063148826535e+00 6.6086170190982152e+00 1 0 0 0 0 -P 249 111 -4.8351748599884498e-01 6.8085391814766527e-02 1.1578342287069946e+01 1.1589419937891513e+01 2 0 0 -125 0 -V -72 0 0 0 0 0 0 2 0 -P 250 211 2.7918293477948802e-01 -1.1595431069407330e-01 1.5372053925904542e+01 1.5375659667118606e+01 1 0 0 0 0 -P 251 -211 -3.4690021616336185e-02 7.3188080772198266e-02 7.3508544257158037e-01 7.5258905489484496e-01 1 0 0 0 0 -V -73 0 0 0 0 0 0 3 0 -P 252 211 6.9604979207269713e-02 6.4059599095633635e-02 3.4643965893791207e-01 3.8529041975080902e-01 1 0 0 0 0 -P 253 -211 -1.7967466933591134e-01 -5.9481031195502451e-02 9.5730795988163619e-01 9.8576837787879446e-01 1 0 0 0 0 -P 254 111 1.5727707714584355e-01 -3.3174440295699437e-01 8.1664405133604978e-01 9.0549297891888092e-01 2 0 0 -126 0 -V -74 0 0 0 0 0 0 3 0 -P 255 -211 -2.6768527911412210e-02 -3.1628709299904190e-01 1.4372749842883532e+00 1.4785104817502697e+00 1 0 0 0 0 -P 256 211 5.8658587383824110e-02 4.7066254481115677e-02 1.1853313384479452e-01 1.9795441622710730e-01 1 0 0 0 0 -P 257 111 1.3411328140931753e-01 -1.4694297772286691e-01 1.1236134462109026e+00 1.1490454246279296e+00 2 0 0 -127 0 -V -75 0 0 0 0 0 0 3 0 -P 258 111 -2.9382405415384755e-01 1.5899008760270572e-01 -2.7730141991355345e-01 4.5467142052408799e-01 2 0 0 -128 0 -P 259 111 -2.9461008023809460e-01 7.9261822040132043e-03 -1.9522454331244052e-01 3.7840473894202054e-01 2 0 0 -129 0 -P 260 111 -5.6947447824850161e-01 -6.7738430395329619e-02 -2.4221023236473779e-01 6.3700476716505527e-01 2 0 0 -130 0 -V -76 0 0 0 0 0 0 2 0 -P 261 -211 -1.1998250888346944e+00 2.2147907356684138e-01 -5.3025571611185474e-01 1.3376412572863117e+00 1 0 0 0 0 -P 262 111 1.1957147566873839e-01 -2.6522135805362312e-01 -3.4214359030111036e-01 4.6895793344983716e-01 2 0 0 -131 0 -V -77 0 0 0 0 0 0 1 0 -P 263 310 -1.2221059279354842e+00 7.8797526225771200e-02 -6.0729148702831515e-01 1.4547268913275146e+00 2 0 0 -132 0 -V -78 0 0 0 0 0 0 2 0 -P 264 311 6.1455156080652751e-01 -1.6499131271689300e-02 -2.1080593895117539e+00 2.2515629373462178e+00 2 0 0 -133 0 -P 265 211 1.0915840528824405e+00 -1.2515087994438999e-02 -3.5835761605516261e+00 3.7487611627454607e+00 1 0 0 0 0 -V -79 0 0 0 0 0 0 2 0 -P 266 -211 1.7582177056811502e-01 -1.1719437561076100e-01 -3.7786363095881875e-02 2.5603790894419687e-01 1 0 0 0 0 -P 267 111 3.3145760189254819e-01 -3.6043831788505409e-01 -1.3814531933934078e+00 1.4718737883354707e+00 2 0 0 -134 0 -V -80 0 0 0 0 0 0 2 0 -P 268 -211 1.4142297312131940e+00 3.0559262664089600e-02 -3.1393293993058156e+00 3.4461352938368117e+00 1 0 0 0 0 -P 269 211 4.2350384391560253e-01 3.4379285852778824e-01 -3.2627959808932827e+00 3.3110219620563313e+00 1 0 0 0 0 -V -81 0 0 0 0 0 0 2 0 -P 270 211 2.2262437178167788e-01 2.2164126913244933e-01 -1.1281504278306380e+00 1.1793598415277167e+00 1 0 0 0 0 -P 271 -211 9.3697441288108851e-01 1.1617066478887220e-01 -6.0163047616962251e-01 1.1282090624115000e+00 1 0 0 0 0 -V -82 0 0 0 0 0 0 2 0 -P 272 -211 2.3127343736279543e-01 4.0719281310637140e-01 -1.3765569924613603e+00 1.4607129520440862e+00 1 0 0 0 0 -P 273 211 -1.8596767408214455e-02 -2.3324161234313170e-01 -2.3184009526130650e-01 3.5773887705591995e-01 1 0 0 0 0 -V -83 0 0 0 0 0 0 3 0 -P 274 111 -1.4346763318903757e-01 1.0781369477650569e-02 -5.8080541309671737e+01 5.8080876350349484e+01 2 0 0 -135 0 -P 275 111 -2.6461917860165884e-01 -1.6666569637677223e-01 -6.3921636890275806e+01 6.3922544404120060e+01 2 0 0 -136 0 -P 276 111 -6.3263579171512346e-02 3.2972257103575209e-02 -1.6871339394895315e+01 1.6872030169138945e+01 2 0 0 -137 0 -V -84 0 0 0 0 0 0 2 0 -P 277 -321 -1.9241511971658415e-01 6.8333986075057515e-02 -1.5062462347721974e+01 1.5071931065676043e+01 1 0 0 0 0 -P 278 211 -3.6177450768530445e-01 4.9189474727843974e-01 -1.1900910688400808e+01 1.1917382104934106e+01 1 0 0 0 0 -V -85 0 3.5965274506955190e+01 -4.6449923613080180e+01 -1.1845199806065368e+03 1.1870855245326934e+03 0 2 0 -P 279 -2212 7.0831682930111939e-01 -9.1340702772143101e-01 -2.1316092442071589e+01 2.1368017519667180e+01 1 0 0 0 0 -P 280 211 7.3612976178848225e-02 -9.6472091324671175e-02 -4.4368453769818323e+00 4.4406984156562039e+00 1 0 0 0 0 -V -86 0 0 0 0 0 0 2 0 -P 281 -321 -4.4123751089775892e-01 -4.2768077428762763e-01 -1.7597613328393198e+01 1.7615255808570037e+01 1 0 0 0 0 -P 282 211 -2.2251296710200200e-01 -9.6639171739989163e-02 -1.3148198706335124e+01 1.3151177139564950e+01 1 0 0 0 0 -V -87 0 0 0 0 0 0 2 0 -P 283 311 1.1053483946443671e-01 2.3990656324443796e-01 -9.0517810821029947e+00 9.0692992726583253e+00 2 0 0 -138 0 -P 284 211 -2.1064306399016169e-01 -5.2260446477074120e-03 -1.1383456938792117e+01 1.1386262313603362e+01 1 0 0 0 0 -V -88 0 0 0 0 0 0 2 0 -P 285 22 -3.5874584636615608e-02 1.0662985418752213e-01 -2.4754642143430844e-01 2.7191201222423805e-01 1 0 0 0 0 -P 286 113 -1.8011439266886359e-01 2.8077452479029485e-01 -2.5609809355757700e+00 2.7283064666710946e+00 2 0 0 -139 0 -V -89 0 0 0 0 0 0 2 0 -P 287 2212 3.2237536636423531e-01 1.2209256343323748e-02 -2.9549510500184519e+00 3.1170757519964258e+00 1 0 0 0 0 -P 288 -211 4.8767346650093954e-02 1.4882602618582788e-01 -2.3244126658180475e-01 3.1310727790919962e-01 1 0 0 0 0 -V -90 0 0 0 0 0 0 2 0 -P 289 211 9.9155276979379939e-02 6.7357724758643656e-02 -5.1838620433734066e+00 5.1871258228102608e+00 1 0 0 0 0 -P 290 111 4.4253202957958163e-02 7.6399174961335814e-01 -2.3232855375278914e+00 2.4497993854059930e+00 2 0 0 -140 0 -V -91 0 9.6383408543088094e-06 7.6587722623014910e-06 -7.2125325163580596e-05 7.3351287749992734e-05 0 2 0 -P 291 22 -1.2269390628257775e-02 -2.5957213503575527e-04 -1.5849465772618179e-01 1.5896905941667261e-01 1 0 0 0 0 -P 292 22 2.6360212558589025e-01 1.9997238663270561e-01 -1.7222704560088657e+00 1.7537646819542143e+00 1 0 0 0 0 -V -92 0 0 0 0 0 0 3 0 -P 293 211 2.4603887976188546e-01 -2.1260457138838254e-01 -2.7393540734610169e+00 2.7621144724317976e+00 1 0 0 0 0 -P 294 -211 1.6587673815884174e-01 -1.3851309640486942e-01 -4.3161880209091308e+00 4.3238477987641240e+00 1 0 0 0 0 -P 295 111 -6.0279320681069205e-02 -9.2315970712068443e-02 -4.7308201386323090e-01 5.0416468260993141e-01 2 0 0 -141 0 -V -93 0 0 0 0 0 0 2 0 -P 296 2112 7.4171566481101445e-02 -3.8781235549565807e-01 -4.8819322937294800e+01 4.8829959898459137e+01 1 0 0 0 0 -P 297 111 -2.2377722266168973e-01 7.9799221498159933e-03 -1.1264902435367182e+01 1.1267936208697719e+01 2 0 0 -142 0 -V -94 0 5.0154104234163355e-01 3.0829670479462740e-01 -5.9353555524325564e+01 5.9412378560295316e+01 0 2 0 -P 298 -2112 3.2040808606255766e-01 2.1628229926567114e-01 -2.5231223973342530e+01 2.5251671119996491e+01 1 0 0 0 0 -P 299 211 -8.7336220343602930e-02 -7.3013290121362429e-02 -2.3510529596090493e+00 2.3579415513758439e+00 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 300 -311 -2.8878157481450778e-01 4.5737313947049302e-01 -1.9055191875712950e+01 1.9069362806234462e+01 2 0 0 -143 0 -P 301 -211 1.5737610531318013e-02 3.7670828302362941e-01 -2.7139552080295822e+01 2.7142529795633884e+01 1 0 0 0 0 -V -96 0 0 0 0 0 0 2 0 -P 302 -211 2.0611775579728736e-01 -5.2708370551699557e-01 -2.3061051418638730e+01 2.3068417242625809e+01 1 0 0 0 0 -P 303 211 -3.3050248543040528e-01 -9.0924683313200385e-03 -1.2204737552097738e+01 1.2210012820072743e+01 1 0 0 0 0 -V -97 0 -7.4282491859497750e-06 -1.1249076815240985e-05 -2.3418839530493129e-04 2.3469948674397263e-04 0 2 0 -P 304 22 -1.3782377984232405e-01 -1.7354840433172641e-01 -4.0358135637561290e+00 4.0418938091362637e+00 1 0 0 0 0 -P 305 22 6.0810257120624319e-03 -2.5958144784292918e-02 -1.1760447735839455e-01 1.2058862819144350e-01 1 0 0 0 0 -V -98 0 1.1329499597191234e-05 -6.2655200061162853e-06 -6.7121608805501367e-04 6.7138702239328879e-04 0 2 0 -P 306 22 8.3512273166797750e-04 -7.8008196154925541e-03 -3.4118096618637224e+00 3.4118186820233136e+00 1 0 0 0 0 -P 307 22 1.9356459172481594e-01 -9.9707485553815978e-02 -8.1053994378958087e+00 8.1083234322322628e+00 1 0 0 0 0 -V -99 0 2.0041229932726539e-04 -1.2090146041663490e-04 -2.0866428136954773e-02 2.0867864647033187e-02 0 2 0 -P 308 22 3.4255432656942236e-01 -2.0736141795750798e-01 -3.0756055443747755e+01 3.0758662010614099e+01 1 0 0 0 0 -P 309 22 3.3690374561586876e-02 -1.9613343538932699e-02 -8.4176032808599981e+00 8.4176935509988660e+00 1 0 0 0 0 -V -100 0 -1.4655426294584716e+01 -3.9557503781629491e+00 -6.5141421674948333e+03 6.5143325441403531e+03 0 2 0 -P 310 -2212 -2.9021401161431271e-01 -1.7933607075051763e-01 -1.2972263526808578e+02 1.2972647700869905e+02 1 0 0 0 0 -P 311 211 -5.4498994801466791e-02 8.6292130705541509e-02 -2.3497713675750649e+01 2.3498349819608933e+01 1 0 0 0 0 -V -101 0 6.2882302674241096e+01 2.4169769943670968e+01 -2.5322405107628230e+04 2.5322619679928397e+04 0 2 0 -P 312 -211 -3.0454181678031815e-02 -9.4438048079860462e-03 -1.9166526513342280e+01 1.9167061199207968e+01 1 0 0 0 0 -P 313 211 4.2383582982990159e-01 1.6064602755654347e-01 -1.3924639783538171e+02 1.3924720547957548e+02 1 0 0 0 0 -V -102 0 -6.8085613147043767e-05 1.9012424329253531e-05 8.3014485275483495e-04 8.3336772172386763e-04 0 2 0 -P 314 22 -6.4530051532456653e-02 4.1147663561012245e-02 5.0009863277170408e-01 5.0592084387524461e-01 1 0 0 0 0 -P 315 22 -4.1706123551801033e-01 9.3333285929744852e-02 5.3717810433809960e+00 5.3887552138190218e+00 1 0 0 0 0 -V -103 0 -2.8663356649283047e-05 7.9115884245727316e-06 6.7397580072297365e-04 6.7540547063320853e-04 0 2 0 -P 316 22 -1.4492624902482243e-01 2.8380174303346873e-02 2.6356982873021977e+00 2.6398322889224670e+00 1 0 0 0 0 -P 317 22 2.5240978913187006e-02 4.6550563290277975e-03 1.7852116177452235e-01 1.8035681791173727e-01 1 0 0 0 0 -V -104 0 -5.0220982389912621e-04 2.2160674326314827e-04 4.1840244562597866e-03 4.2201110684245468e-03 0 2 0 -P 318 22 -5.4063197640540028e-01 2.1622423351256712e-01 3.9809929604217249e+00 4.0233494508925567e+00 1 0 0 0 0 -P 319 22 -9.9347804282512375e-01 4.6072215222226937e-01 8.8000271104699053e+00 8.8679050890347977e+00 1 0 0 0 0 -V -105 0 -8.7423611880936946e+01 -3.6126385262244547e+01 3.0603430416013998e+02 3.2827571422449716e+02 0 2 0 -P 320 -2212 -1.2471878380698003e+00 -5.8148956872730395e-01 4.2864941247651371e+00 4.5986943904236481e+00 1 0 0 0 0 -P 321 211 -1.1064351208874038e-01 2.0387854652763094e-02 4.6671800491127502e-01 4.9996313103371370e-01 1 0 0 0 0 -V -106 0 -4.0330373995144954e-04 5.1041555013131883e-05 4.1814369434113808e-04 5.8518806325543013e-04 0 2 0 -P 322 22 -6.6701805187467311e-01 1.7389112972455496e-02 6.7968573557433076e-01 9.5246425755503927e-01 1 0 0 0 0 -P 323 22 -4.5792166884553959e-01 1.2498167845266275e-01 4.8664723914508007e-01 6.7980748018439574e-01 1 0 0 0 0 -V -107 0 -6.3235648545427708e-04 5.8780562177968304e-05 4.9684663912939536e-04 8.0910028321579759e-04 0 2 0 -P 324 22 -5.8725927969364689e-01 4.2508583447097834e-02 3.7714975811299251e-01 6.9922984868901916e-01 1 0 0 0 0 -P 325 22 -6.9129603308469112e-01 7.6339252843770522e-02 6.2741953896410996e-01 9.3668199766906590e-01 1 0 0 0 0 -V -108 0 -4.1370582402169445e-05 2.3641332843672301e-05 -4.3564824109938025e-05 7.3872132712754089e-05 0 2 0 -P 326 22 9.3824316308741933e-03 3.0669441389115419e-02 -7.5056453382808377e-02 8.1621785405822295e-02 1 0 0 0 0 -P 327 22 -1.6493420608249607e-01 5.8221046989452609e-02 -8.8745584212347600e-02 1.9613454913860082e-01 1 0 0 0 0 -V -109 0 4.6124625705683339e-05 3.1832261632231989e-05 9.6598352337218242e-06 7.4110358974856751e-05 0 2 0 -P 328 22 1.1229413325862778e-01 1.1712115941134178e-01 5.1212087590440727e-02 1.7014704305845085e-01 1 0 0 0 0 -P 329 22 1.8719174672564270e-02 -2.6704167802973904e-02 -2.3774098692370686e-02 4.0357500506175224e-02 1 0 0 0 0 -V -110 0 1.6839083418133907e+02 3.1648099143667501e+01 -9.8155650633128566e+00 1.7256806749881488e+02 0 2 0 -P 330 -211 3.3855716052889000e+00 7.5517900606175214e-01 -3.2190843642233902e-01 3.4864731824688899e+00 1 0 0 0 0 -P 331 211 1.2535932196400428e+00 1.1672562602205658e-01 5.1489773792014568e-02 1.2677743544506974e+00 1 0 0 0 0 -V -111 0 2.8845818951176322e-05 -2.7495107403999699e-05 -1.8369212665482548e-05 4.5775054719574976e-05 0 2 0 -P 332 22 2.7030395986030997e-01 -2.9002381019296813e-01 -1.9934251311767295e-01 4.4375159575046091e-01 1 0 0 0 0 -P 333 22 2.8440430632540273e-02 5.2681886990469471e-03 9.1000640864471617e-03 3.0321989926628289e-02 1 0 0 0 0 -V -112 0 1.3628206968224917e-04 -2.7003120695176234e-06 -6.1509002492339389e-06 1.3659618133936836e-04 0 2 0 -P 334 22 1.8626901422113438e+00 2.7688122150641023e-02 -8.2117109705569513e-02 1.8647049143781296e+00 1 0 0 0 0 -P 335 22 1.0246907154836133e+00 -8.4899091998007395e-02 -4.8200779350839988e-02 1.0293309639520400e+00 1 0 0 0 0 -V -113 0 -1.2886014039213245e-05 4.9643921958561860e-06 -3.4195863645979687e-04 3.4228819896250966e-04 0 2 0 -P 336 22 -1.0943481290995041e-01 -2.2126551863527927e-02 -2.1629656728282032e+00 2.1658453463733665e+00 1 0 0 0 0 -P 337 22 -1.8538134664903849e-01 1.3570574223792362e-01 -5.6606275362368574e+00 5.6652878476000419e+00 1 0 0 0 0 -V -114 0 -1.8756333083447605e-04 2.7795536553286909e-04 -1.0918770904720895e-02 1.0923957781981871e-02 0 2 0 -P 338 22 -6.4454009407804935e-01 1.0195210531070349e+00 -4.0546413266977950e+01 4.0564349913774876e+01 1 0 0 0 0 -P 339 22 -2.2060320357166030e-01 2.6255908732698097e-01 -9.8168503025321545e+00 9.8228383326862136e+00 1 0 0 0 0 -V -115 0 0 0 0 0 0 1 0 -P 340 310 -2.1609164566645891e+00 -2.4014342910428788e+00 -4.6611982375210808e+00 5.6930563869726507e+00 2 0 0 -144 0 -V -116 0 4.6647014059706234e-04 4.0174175072356605e-04 -1.8177659679026900e-01 1.8177767628387106e-01 0 2 0 -P 341 22 5.0612377474012493e-01 4.3386844717429307e-01 -2.0411988422196481e+02 2.0412097280263274e+02 1 0 0 0 0 -P 342 22 3.6515589074457233e-02 3.3473123180800382e-02 -7.3387457182011460e+00 7.3389129000579238e+00 1 0 0 0 0 -V -117 0 -3.9679966035151650e-06 -4.7018239803615207e-05 2.8211964547665943e-02 2.8212008404318353e-02 0 2 0 -P 343 22 -6.4946256002850131e-02 -9.4207688108994117e-02 5.6256023690559296e+01 5.6256140061129656e+01 1 0 0 0 0 -P 344 22 3.0942924365591040e-02 -3.0871019736151784e-01 1.8550345407790874e+02 1.8550371353233157e+02 1 0 0 0 0 -V -118 0 7.1394658205115038e-06 1.7849484044905112e-05 9.5544360100083161e-04 9.5576856408141815e-04 0 2 0 -P 345 22 4.9543228363903562e-02 1.4447608620664792e-01 8.0641017625724594e+00 8.0655480351980131e+00 1 0 0 0 0 -P 346 22 1.1223862360092251e-02 7.4486156690947375e-03 6.8093200372141963e-02 6.9412829495597211e-02 1 0 0 0 0 -V -119 0 -1.0479404296005302e-06 -9.0389728160656921e-07 5.0505876581810914e-05 5.0639862845471187e-05 0 2 0 -P 347 22 -1.9649059503414921e-02 -4.1995057254422583e-02 2.0580015458011841e-01 2.1095822808881290e-01 1 0 0 0 0 -P 348 22 -2.1816430663347673e-02 6.2291465370471460e-03 1.7926444798778951e+00 1.7927880494219495e+00 1 0 0 0 0 -V -120 0 -2.7048403984485163e-05 -2.0116331802263564e-05 8.4117688963188434e-04 8.4259995311128431e-04 0 2 0 -P 349 22 -1.9642405802245206e-02 -9.2859174775794529e-02 2.0999420753842948e+00 2.1020859569520560e+00 1 0 0 0 0 -P 350 22 -8.3219283532173879e-02 1.6359286886682384e-02 1.0989481787777651e+00 1.1022160292147887e+00 1 0 0 0 0 -V -121 0 -4.3697548852092644e-06 1.0180537782309538e-05 7.9137024098687022e-04 7.9155795130203402e-04 0 2 0 -P 351 22 1.5286718904049673e-02 1.0121571509495164e-01 3.4164405283291086e+00 3.4179736962660661e+00 1 0 0 0 0 -P 352 22 -5.9951059525466630e-02 2.8420682734860746e-03 4.6723495593551112e+00 4.6727350247682775e+00 1 0 0 0 0 -V -122 0 -3.9128110223879112e-05 5.0130931781456886e-05 3.1682709221014086e-03 3.1690053675884522e-03 0 2 0 -P 353 22 -1.6779084043867753e-02 6.1438708636000997e-02 5.8657625123023784e+00 5.8661082587446449e+00 1 0 0 0 0 -P 354 22 -1.9701672792787284e-01 2.1247646906597906e-01 1.1445655045598098e+01 1.1449322305875373e+01 1 0 0 0 0 -V -123 0 8.8138363471338031e-05 -4.9929214254940152e-06 1.3105393744311845e-03 1.3137442676021075e-03 0 2 0 -P 355 22 -5.9221845589798100e-03 -9.3634280590004035e-03 8.7044995957186830e-02 8.7747235718017694e-02 1 0 0 0 0 -P 356 22 4.8477764023430803e-01 -1.7763098576969477e-02 7.0331113651009813e+00 7.0498213000085883e+00 1 0 0 0 0 -V -124 0 -3.1128397509633289e-06 9.7235280142512896e-06 1.4935694140095549e-03 1.4936344936374668e-03 0 2 0 -P 357 22 -6.0821289540813332e-02 1.1730330566840588e-01 2.0518413827214008e+01 2.0518839277103105e+01 1 0 0 0 0 -P 358 22 1.6572976597038779e-02 2.0914445617698917e-02 7.1233755145640765e-01 7.1283719375723653e-01 1 0 0 0 0 -V -125 0 -1.9515749056143327e-04 2.7480648777391942e-05 4.6732544138254686e-03 4.6777255789813401e-03 0 2 0 -P 359 22 -4.0023515920812236e-01 8.6281187916333033e-02 1.0367007136428276e+01 1.0375088895658166e+01 1 0 0 0 0 -P 360 22 -8.3282326790722602e-02 -1.8195796101566498e-02 1.2113351506416694e+00 1.2143310422333451e+00 1 0 0 0 0 -V -126 0 4.8454558846432039e-06 -1.0220515911640566e-05 2.5159500646974626e-05 2.7896794388778152e-05 0 2 0 -P 361 22 7.4423022937854688e-02 -2.8130602976180735e-01 5.5912723271329023e-01 6.3031351808856284e-01 1 0 0 0 0 -P 362 22 8.2854054207988859e-02 -5.0438373195187056e-02 2.5751681862275960e-01 2.7517946083031813e-01 1 0 0 0 0 -V -127 0 1.7487216930583767e-05 -1.9160098842285034e-05 1.4650951698096147e-04 1.4982562794983061e-04 0 2 0 -P 363 22 4.5214485644001358e-02 -3.4494364021055254e-02 9.6759820543419181e-02 1.1223490425381649e-01 1 0 0 0 0 -P 364 22 8.8898795765316174e-02 -1.1244861370181165e-01 1.0268536256674834e+00 1.0368105203741129e+00 1 0 0 0 0 -V -128 0 -7.3439902585215092e-06 3.9738804160137968e-06 -6.9310149993812259e-06 1.1364292459897351e-05 0 2 0 -P 365 22 -6.5906669162900097e-02 -1.1544111646086784e-02 -1.7213513211336788e-02 6.9088787736666518e-02 1 0 0 0 0 -P 366 22 -2.2791738499094746e-01 1.7053419924879248e-01 -2.6008790670221665e-01 3.8558263278742178e-01 1 0 0 0 0 -V -129 0 -6.5385547125916253e-05 1.7591311186985337e-06 -4.3327993280389105e-05 8.3982872788221195e-05 0 2 0 -P 367 22 -7.0058961208586297e-03 -2.3646751404207671e-02 -4.7549279496351946e-02 5.3564777728007648e-02 1 0 0 0 0 -P 368 22 -2.8760418411723598e-01 3.1572933608220874e-02 -1.4767526381608859e-01 3.2483996121401310e-01 1 0 0 0 0 -V -130 0 -6.6891221062580290e-05 -7.9566451089120833e-06 -2.8450332395157243e-05 7.4823417599693525e-05 0 2 0 -P 370 22 -4.0216266385833066e-01 -8.2083877934753996e-02 -2.2531815989549669e-01 4.6823161405134645e-01 1 0 0 0 0 -P 369 22 -1.6731181439017095e-01 1.4345447539424376e-02 -1.6892072469241130e-02 1.6877315311370919e-01 1 0 0 0 0 -V -131 0 4.0004438564436408e-06 -8.8733800974629270e-06 -1.1446929262908617e-05 1.5689694162488194e-05 0 2 0 -P 371 22 -2.7787464980002757e-02 -3.9536920145469653e-02 -3.1512507197267656e-02 5.7691848422995934e-02 1 0 0 0 0 -P 372 22 1.4735894064874117e-01 -2.2568443790815346e-01 -3.1063108310384269e-01 4.1126608502684042e-01 1 0 0 0 0 -V -132 0 -1.7190259592768666e+02 1.1083735870402483e+01 -8.5422204997653452e+01 2.0462328450321920e+02 0 2 0 -P 373 -211 -7.0116200068741419e-01 2.3007912747604026e-01 -2.5557192099985926e-01 7.9332297824509768e-01 1 0 0 0 0 -P 374 211 -5.2094392724806982e-01 -1.5128160125026907e-01 -3.5171956602845583e-01 6.6140391308241664e-01 1 0 0 0 0 -V -133 0 0 0 0 0 0 1 0 -P 375 310 6.1455156080652751e-01 -1.6499131271689300e-02 -2.1080593895117539e+00 2.2515629373462178e+00 2 0 0 -145 0 -V -134 0 1.2422833674547942e-04 -1.3509013664050564e-04 -5.1776043610738624e-04 5.5164953701517157e-04 0 2 0 -P 376 22 1.7293581745775335e-01 -1.5989646707223276e-01 -4.7684903414621088e-01 5.3184459996143318e-01 1 0 0 0 0 -P 377 22 1.5852178443479484e-01 -2.0054185081282136e-01 -9.0460415924719695e-01 9.4002918837403693e-01 1 0 0 0 0 -V -135 0 -3.0421302276829038e-05 2.2861135473366665e-06 -1.2315570169442151e-02 1.2315641212460739e-02 0 2 0 -P 378 22 -6.3213644028068727e-02 -5.2095115397050848e-02 -1.5820369430860998e+01 1.5820581493572236e+01 1 0 0 0 0 -P 379 22 -8.0253989160968833e-02 6.2876484874701419e-02 -4.2260171878810738e+01 4.2260294856777207e+01 1 0 0 0 0 -V -136 0 -2.2626919204406364e-05 -1.4251163751589497e-05 -5.4657781078933680e-03 5.4658557071155340e-03 0 2 0 -P 380 22 -7.2231888147834891e-02 9.0709435203236623e-03 -9.2446848491878608e+00 9.2449714812153534e+00 1 0 0 0 0 -P 381 22 -1.9238729045382397e-01 -1.7573663989709587e-01 -5.4676952041087944e+01 5.4677572922904659e+01 1 0 0 0 0 -V -137 0 -1.4712307122146771e-05 7.6678869480818771e-06 -3.9235264585132075e-03 3.9236871020138959e-03 0 2 0 -P 382 22 -7.3391735447519918e-03 5.7884281344822895e-02 -1.3555871924925388e+01 1.3555997495517444e+01 1 0 0 0 0 -P 383 22 -5.5924405626760355e-02 -2.4912024241247683e-02 -3.3154674699699282e+00 3.3160326736214896e+00 1 0 0 0 0 -V -138 0 0 0 0 0 0 1 0 -P 384 130 1.1053483946443671e-01 2.3990656324443796e-01 -9.0517810821029947e+00 9.0692992726583253e+00 1 0 0 0 0 -V -139 0 0 0 0 0 0 2 0 -P 385 -211 1.9994195185511940e-01 4.2490055020102374e-01 -1.6472487730842742e+00 1.7185533355122891e+00 1 0 0 0 0 -P 386 211 -3.8005634452398301e-01 -1.4412602541072891e-01 -9.1373216249149591e-01 1.0097531311588057e+00 1 0 0 0 0 -V -140 0 1.1290931347859454e-05 1.9492777513552132e-04 -5.9277195213696494e-04 6.2505117884745329e-04 0 2 0 -P 387 22 -1.8864812224141009e-02 3.1518847790773763e-01 -7.8454208373630496e-01 8.4569849172110512e-01 1 0 0 0 0 -P 388 22 6.3118015182099169e-02 4.4880327170562045e-01 -1.5387434537915861e+00 1.6041008936848880e+00 1 0 0 0 0 -V -141 0 -2.2062332681418194e-05 -3.3787800437129711e-05 -1.7314881218831880e-04 1.8452512119060968e-04 0 2 0 -P 389 22 2.4873558701757840e-02 -5.2976666599621790e-03 -1.3627493951424749e-02 2.8852517843785962e-02 1 0 0 0 0 -P 390 22 -8.5152879382827049e-02 -8.7018304052106268e-02 -4.5945451991180614e-01 4.7531216476614546e-01 1 0 0 0 0 -V -142 0 -4.1677118704622027e-05 1.4862109679246677e-06 -2.0980181557823914e-03 2.0985831772341542e-03 0 2 0 -P 391 22 -1.5643583805594760e-01 5.2378617282550582e-02 -5.5116465463091462e+00 5.5141149192248653e+00 1 0 0 0 0 -P 392 22 -6.7341384605742141e-02 -4.4398695132734589e-02 -5.7532558890580363e+00 5.7538212894728558e+00 1 0 0 0 0 -V -143 0 0 0 0 0 0 1 0 -P 393 310 -2.8878157481450778e-01 4.5737313947049302e-01 -1.9055191875712950e+01 1.9069362806234462e+01 2 0 0 -146 0 -V -144 0 -1.0043507998486164e+02 -1.1161386843781975e+02 -2.1664318227892988e+02 2.6460188769466896e+02 0 2 0 -P 394 -211 -1.1691333412424345e+00 -1.3186003706581355e+00 -2.1817307937141353e+00 2.8080257741418579e+00 1 0 0 0 0 -P 395 211 -9.9178311542215425e-01 -1.0828339203847432e+00 -2.4794674438069451e+00 2.8850306128307914e+00 1 0 0 0 0 -V -145 0 1.4136025654935059e+01 -3.7951598826736549e-01 -4.8489961644807160e+01 5.1790856090669863e+01 0 2 0 -P 396 -211 2.2123670885310345e-01 -1.8774985570499705e-01 -1.1205504408707445e+00 1.1658939767822030e+00 1 0 0 0 0 -P 397 211 3.9331485195342403e-01 1.7125072443330774e-01 -9.8750894864100902e-01 1.0856689605640144e+00 1 0 0 0 0 -V -146 0 -1.0106759107552426e+01 1.6007115917497323e+01 -6.6689238799159602e+02 6.6738834131272722e+02 0 2 0 -P 398 211 -1.3082730519347252e-01 3.3475366485323066e-01 -6.2686630319197212e+00 6.2805088800648798e+00 1 0 0 0 0 -P 399 -211 -1.5795426962103520e-01 1.2261947461726234e-01 -1.2786528843793228e+01 1.2788853926169581e+01 1 0 0 0 0 -E 8 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 186 0 0 -V -1 0 0 0 0 0 1 2 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 41 2203 -3.5096158275163236e-01 -6.5324073291532936e-01 6.4120718804435573e+03 6.4120719697163750e+03 2 0 0 -13 0 -P 3 1 3.5096158275163236e-01 6.5324073291532936e-01 4.1594615987003954e+02 4.1594682088954704e+02 3 0 0 -3 0 -V -2 0 0 0 0 0 1 2 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 2 2.7501906829241841e-02 -1.2146878480571459e-01 -2.4425191616079805e+03 2.4425191647831903e+03 3 0 0 -4 0 -P 25 2103 -2.7501906829241841e-02 1.2146878480571459e-01 -4.3752498996173417e+03 4.3752499693803265e+03 2 0 0 -11 0 -V -3 0 0 0 0 0 0 3 0 -P 5 1 -4.9399896685999328e-01 1.2324525037290512e+00 2.6907605385966201e+02 2.6907932981713935e+02 3 0 0 -5 0 -P 39 21 5.6879342880917538e-01 7.5338012753840347e-02 1.3882129535590456e+01 1.3893981510846166e+01 2 0 0 -13 0 -P 40 21 4.0353127377792430e-01 -1.0794042666778709e+00 2.4382432099069892e+01 2.4409648627655276e+01 2 0 0 -13 0 -V -4 0 0 0 0 0 0 27 0 -P 12 21 3.6714966898125962e+00 -2.8959215128987843e+00 -1.0957485461237511e+00 4.8028027471995083e+00 2 0 0 -9 0 -P 13 21 9.0366392277633989e-02 -5.2691266877741805e-01 1.9123724213929416e-01 5.6778052815543023e-01 2 0 0 -9 0 -P 14 21 -5.4742252565373975e-02 9.9812434983835754e-02 5.6673941239040604e-01 5.7805951073393502e-01 2 0 0 -9 0 -P 15 21 -4.2785424343628164e-01 -3.2385695231399270e-01 -3.5095687498530953e-02 5.3774927844631759e-01 2 0 0 -9 0 -P 16 -4 2.9718367737999309e+00 -5.2406590168947231e-01 -2.3934560712361521e+00 4.1334115261319404e+00 2 0 0 -9 0 -P 11 2 1.6176455215218464e+00 -3.5208120614031763e-01 -8.1690576640657608e-01 1.8753594962580435e+00 2 0 0 -9 0 -P 6 -2 -2.5309383529199383e+01 2.5605502229007829e+01 3.5459450278646557e+01 5.0532952150964263e+01 3 0 0 -5 0 -P 17 4 3.7194740649112351e-02 1.2081735484703142e+00 -1.0381037228237732e+01 1.0558266936671616e+01 2 0 0 -11 0 -P 18 21 -3.8063394485410336e+00 5.6572199649196686e-01 -5.4033256081716328e+00 6.6335653311592448e+00 2 0 0 -11 0 -P 19 21 1.4421971897575430e+00 -1.4182830615990176e+00 5.7062472324337099e-01 2.1016831711130513e+00 2 0 0 -11 0 -P 20 21 2.7303036205130007e+00 -7.3316197951629114e-01 9.1820481918052266e-01 2.9724038148207561e+00 2 0 0 -11 0 -P 21 21 -2.0182388692079840e+00 1.5399105798395493e-01 -1.0724900871680109e+01 1.0914233829567960e+01 2 0 0 -11 0 -P 22 21 1.2491774325410158e-01 -5.4800394801420538e-01 -7.6805684279456621e+00 7.7011066831965493e+00 2 0 0 -11 0 -P 30 21 1.5370980407646048e-01 8.1756875564613984e-01 -1.5100758824998671e+01 1.5123655724223996e+01 2 0 0 -13 0 -P 31 21 3.5609178221999949e-01 -1.2821539734905008e+00 -1.5993658274378207e+01 1.6048919750771034e+01 2 0 0 -13 0 -P 32 21 -5.7321384139990961e-01 1.8778171682794662e-01 1.6282864814338351e+00 1.7364195768210722e+00 2 0 0 -13 0 -P 33 21 3.1657101493395272e+00 -1.6119295557286719e+00 4.4063722475163161e+00 5.6600489420096816e+00 2 0 0 -13 0 -P 34 21 2.6326825731670658e+00 -1.7437994078856278e+00 2.2174731113567527e+00 3.8586319992440359e+00 2 0 0 -13 0 -P 35 21 6.8425955467206965e+00 -4.4447064866609622e+00 1.5000198384257514e+01 1.7075786398747489e+01 2 0 0 -13 0 -P 36 21 4.0164782232489156e+00 -5.4148487689946281e+00 1.3344639617162901e+01 1.4950989633494801e+01 2 0 0 -13 0 -P 37 21 3.9627824931833042e+00 -7.3524675138650126e+00 1.5839388268499249e+01 1.7906664802553045e+01 2 0 0 -13 0 -P 23 21 6.3545309142797402e-01 5.0932772066100540e-01 -1.0519858948403776e+01 1.0551333927648679e+01 2 0 0 -11 0 -P 24 21 -1.3293995544884336e+00 5.4471300945374300e-02 -2.4605532627938929e+00 2.7972473357117349e+00 2 0 0 -11 0 -P 26 2 -9.0376759228672943e-01 8.5542850621349587e-01 -2.0776141357023594e+03 2.0776145345862528e+03 2 0 0 -13 0 -P 27 21 4.5222474530545992e-01 3.0982198771832353e-01 -1.3647713867247677e+02 1.3647823957360674e+02 2 0 0 -13 0 -P 28 21 -9.6670908210745185e-02 -1.0947679481510482e+00 -1.0578578360202395e+02 1.0579149244820697e+02 2 0 0 -13 0 -P 29 21 -4.8393908701574007e-01 2.0274532889938918e-01 -2.1573305980675745e+01 2.1579685670653127e+01 2 0 0 -13 0 -V -5 0 0 0 0 0 0 2 0 -P 8 22 -5.8563239941287950e+00 -1.9298209509462974e-01 8.3500314047580435e+00 1.0200823362537069e+01 3 0 0 -7 0 -P 7 -24 -1.9947058501930567e+01 2.7030936827831496e+01 2.9618547273355034e+02 3.0941145860556639e+02 3 0 0 -6 0 -V -6 0 0 0 0 0 0 1 0 -P 9 -24 -1.9947058501930567e+01 2.7030936827831496e+01 2.9618547273355034e+02 3.0941145860556639e+02 2 0 0 -8 0 -V -7 0 0 0 0 0 0 1 0 -P 10 22 -5.8563239941287950e+00 -1.9298209509462974e-01 8.3500314047580435e+00 1.0200823362537033e+01 1 0 0 0 0 -V -8 0 0 0 0 0 0 10 0 -P 46 21 -3.7285968742864894e+00 2.8910858542250293e+00 1.1679555837123013e+01 1.2596540660828801e+01 2 0 0 -17 0 -P 47 21 -1.8023297258181672e+00 2.5930887493787522e+00 1.4214934742857999e+01 1.4561485894181056e+01 2 0 0 -17 0 -P 48 21 4.5585582966435784e-01 6.8325648113844262e-01 4.4766795478450598e+00 4.5514067858796050e+00 2 0 0 -17 0 -P 49 21 1.8795211728249670e+00 2.1980346924035365e+00 1.6255259634668267e+01 1.6510524587019709e+01 2 0 0 -17 0 -P 50 21 1.0534179425365028e+01 3.0060939727642277e+00 5.9681656292270027e+01 6.0678708250320625e+01 2 0 0 -17 0 -P 51 1 1.4568595374906375e+01 4.2271332429249249e+00 9.1375908388900839e+01 9.2627091936149995e+01 2 0 0 -17 0 -P 42 -2 -3.0517819564912308e+01 1.0428844168876985e+01 7.4912511307218153e+01 8.1560354045635137e+01 2 0 0 -15 0 -P 43 21 -5.7206370395985298e+00 5.4834348217882312e-01 1.3778163054100464e+01 1.4928635096975666e+01 2 0 0 -15 0 -P 44 2 -2.2525958537263930e+00 1.3998775512003811e-01 5.1363462708508241e+00 5.6200300413691791e+00 2 0 0 -15 0 -P 45 -2 -3.3632312463497884e+00 3.1506842882115055e-01 4.6744576577204295e+00 5.7766813072113079e+00 2 0 0 -17 0 -V -9 0 0 0 0 0 0 1 0 -P 63 92 7.8687488814103510e+00 -4.5230258068361495e+00 -3.5832294167353105e+00 1.2495163086925176e+01 2 0 0 -10 0 -V -10 0 0 0 0 0 0 6 0 -P 64 321 1.7132926485905779e+00 -1.1048478524837397e+00 -3.9254690998346925e-01 2.1339621630642891e+00 1 0 0 0 0 -P 65 -311 7.0071389671228546e-01 -5.7580058229065734e-01 -6.8836441564177575e-01 1.2426050350911262e+00 2 0 0 -23 0 -P 66 -211 1.0077824213790697e-01 -4.4819776346861628e-01 6.6159383291203300e-01 8.1744949318836269e-01 1 0 0 0 0 -P 67 213 2.9009203059815278e+00 -1.7893295104458362e+00 -1.1484922938389688e+00 3.6608745191428511e+00 2 0 0 -24 0 -P 68 2112 5.5409088873312584e-01 1.6103136011254437e-01 -4.0047552306756740e-01 1.1730815152379661e+00 1 0 0 0 0 -P 69 -4122 1.8989528992549274e+00 -7.6588145825984388e-01 -1.6149441071155617e+00 3.4671903612005783e+00 2 0 0 -25 0 -V -11 0 0 0 0 0 0 1 0 -P 70 92 -2.2114133934649618e+00 -8.6294579771183808e-02 -4.4209313144221505e+03 4.4294798104102165e+03 2 0 0 -12 0 -V -12 0 0 0 0 0 0 28 0 -P 71 433 -1.0247884433601786e+00 1.2618214732734563e+00 -8.6694897878898782e+00 9.0699874159992895e+00 2 0 0 -26 0 -P 72 -311 1.5493234368667361e-01 -5.2903668164922500e-02 -2.2756098012880561e+00 2.3351398728649673e+00 2 0 0 -27 0 -P 73 311 -1.0479399410759047e+00 3.5508361290150353e-01 -1.2285977863989042e+00 1.7266703338789495e+00 2 0 0 -28 0 -P 74 -321 7.1709044630839699e-02 -8.0540288172282606e-02 -1.1040623347056104e+00 1.2141760679639282e+00 1 0 0 0 0 -P 75 323 -9.5436433963787692e-01 -2.9602351803484112e-01 -1.0976303074658433e+00 1.7459894215858962e+00 2 0 0 -29 0 -P 76 -313 4.5229065483994757e-01 8.1631980606907503e-02 -5.8961679501597064e-01 1.1604642453115961e+00 2 0 0 -30 0 -P 77 113 -2.4190544648866458e-01 -1.5219642166406071e-02 2.7578108978004551e-01 9.1680871617924098e-01 2 0 0 -31 0 -P 78 -211 9.1225699860842469e-01 -2.2413756750953776e-01 -9.7235135008989171e-02 9.5466482969645439e-01 1 0 0 0 0 -P 79 211 -1.6019746019187674e-02 -1.0962764287148888e-01 -3.9451013408667096e-01 4.3288899632718902e-01 1 0 0 0 0 -P 80 -211 2.2284319500814491e-02 -1.1912520537149757e-01 8.0408625454810090e-02 2.0157563691564462e-01 1 0 0 0 0 -P 81 111 2.6147842628995627e-01 -5.3714869055077885e-01 3.2448827889606002e-01 6.9311754177514195e-01 2 0 0 -32 0 -P 82 223 8.0109014259129629e-01 -6.0688849198709971e-01 -2.0305333370163012e-01 1.2882559187308529e+00 2 0 0 -33 0 -P 83 211 1.0621591005162476e+00 -2.6715583755681332e-01 -2.2047937637000264e-01 1.1258974805259456e+00 1 0 0 0 0 -P 84 -213 -3.9080845150093041e-01 2.6753344288388836e-01 -1.4175065470742074e+00 1.6446536225973012e+00 2 0 0 -34 0 -P 85 213 -7.0973282225719359e-01 3.4100256795269435e-01 -4.5663121010528904e+00 4.6984477584393929e+00 2 0 0 -35 0 -P 86 113 -2.3157800835597475e-01 -5.5195889026928313e-01 -5.6838651946392025e+00 5.7714335617292285e+00 2 0 0 -36 0 -P 87 111 -4.6066273585814793e-01 3.9227103753437581e-01 -4.7966952888036269e+00 4.8365888823764545e+00 2 0 0 -37 0 -P 88 311 2.7517509894565889e-01 -1.1487381757051843e-01 -2.1239959178119161e+00 2.2018063985792806e+00 2 0 0 -38 0 -P 89 -323 -7.0371163798211422e-01 -2.0006265444806237e-01 -4.1983731881486621e+00 4.3521687974762546e+00 2 0 0 -39 0 -P 90 211 -1.0761954765935261e-01 -1.6382379153854643e-01 -2.3860134843071883e+00 2.3981159967583294e+00 1 0 0 0 0 -P 91 111 -1.7970542608682286e-01 6.5692258472370091e-01 -2.4966648992850491e+00 2.5914082160491692e+00 2 0 0 -40 0 -P 92 -213 -3.7677031801546979e-01 -2.2171436967981403e-01 -7.8528785468690341e+00 7.8980386958816329e+00 2 0 0 -41 0 -P 93 111 6.5806093929116216e-01 1.7165685794549929e-01 -8.5486801528223268e+01 8.5489613201855903e+01 2 0 0 -42 0 -P 94 323 -4.8433024369999383e-01 -1.4687330505886736e-01 -8.3957716820012237e+01 8.3964255353447285e+01 2 0 0 -43 0 -P 95 331 3.5807589393682532e-01 -1.5224080954598848e-01 -4.3981009527858146e+02 4.3981131055034541e+02 2 0 0 -44 0 -P 96 -313 -4.8374978977586536e-01 -3.5240006944584942e-02 -6.3924051825900631e+02 6.3924131911008010e+02 2 0 0 -45 0 -P 97 2114 2.5503907680222165e-01 4.3505021898565793e-01 -1.9084717226924338e+03 1.9084721994174818e+03 2 0 0 -46 0 -P 98 223 -8.2278535331352418e-02 -1.5371015913753452e-01 -1.2132425478781010e+03 1.2132428143693633e+03 2 0 0 -47 0 -V -13 0 0 0 0 0 1 1 0 -P 38 21 1.1792977287052229e+00 3.1505474039551125e+00 1.2907478596245630e+02 1.2911861625393684e+02 2 0 0 -13 0 -P 99 92 2.1325344736888994e+01 -1.9078086942355402e+01 4.2593028050939884e+03 9.0133192852153970e+03 2 0 0 -14 0 -V -14 0 0 0 0 0 0 39 0 -P 100 211 -6.4145635586214866e-01 7.4210211658539504e-01 -1.2602904261354940e+03 1.2602908155939158e+03 1 0 0 0 0 -P 101 -213 2.5952690952053969e-01 1.7113996608260679e-01 -5.5927702746122156e+02 5.5927759069273088e+02 2 0 0 -48 0 -P 102 211 4.2014540449212504e-02 -3.5537589858044005e-01 -7.2949847678164119e+01 7.2950858893526046e+01 1 0 0 0 0 -P 103 223 -6.3998361774731272e-01 2.5907507037149113e-02 -1.3487047205365673e+02 1.3487424091129336e+02 2 0 0 -49 0 -P 104 -213 -1.2839848855141253e-01 -2.0565346315218563e-01 -7.5718320753566431e+01 7.5722517718575858e+01 2 0 0 -50 0 -P 105 323 -1.9872082796055467e-02 2.6794098698287805e-01 -6.8108399991638535e+01 6.8114172641420211e+01 2 0 0 -51 0 -P 106 -321 2.7142152013196741e-01 5.2993467515270787e-01 -2.6160140573056200e+01 2.6171570380158332e+01 1 0 0 0 0 -P 107 211 2.9437631694032651e-01 -4.6347150711519880e-01 -6.0143844523795785e+01 6.0146512593344127e+01 1 0 0 0 0 -P 108 -213 2.4619007605199436e-01 -6.0434473709003467e-01 -5.8018576150880186e+01 5.8030267612341916e+01 2 0 0 -52 0 -P 109 323 -9.9384342697108385e-02 -5.3376492002751497e-01 -2.0781667217870002e+01 2.0807229643207261e+01 2 0 0 -53 0 -P 110 -323 -2.7981634786068688e-01 3.1851689070453132e-01 -2.3479670779247950e+01 2.3502171437618404e+01 2 0 0 -54 0 -P 111 213 6.3127980478257359e-04 8.7114195588813836e-01 -3.8001408612870264e+00 3.9658129295852458e+00 2 0 0 -55 0 -P 112 223 1.1771085064566952e-01 -1.8207163509755123e-01 -9.8029417254923035e-01 1.2741930596758400e+00 2 0 0 -56 0 -P 113 2112 1.9209205934717882e-01 -5.3351059012014823e-01 -4.1646177314502335e+00 4.3067813437698792e+00 1 0 0 0 0 -P 114 113 -2.7598565373989276e-01 3.7960657283068916e-01 -4.9916024639480350e-01 1.0051155152174889e+00 2 0 0 -57 0 -P 115 -2112 -9.9845269053552094e-02 -3.5876231396345826e-01 -1.8622805531032363e+00 2.1188582111692340e+00 1 0 0 0 0 -P 116 -213 3.7849030650847143e-01 3.7784357170711968e-03 -9.0606253780559282e-02 1.0192850428959987e+00 2 0 0 -58 0 -P 117 321 5.8085707824128519e-01 -9.7162071509718617e-01 3.6764844693599641e-01 1.2885061505027517e+00 1 0 0 0 0 -P 118 333 4.7060519423644726e-01 1.3602005935586783e-01 1.1809574745448215e+00 1.6340056336417663e+00 2 0 0 -59 0 -P 119 -323 1.4599984686426251e+00 -7.3997071978743245e-01 2.5814573561830843e+00 3.1906207354049889e+00 2 0 0 -60 0 -P 120 213 1.6442662451119143e+00 -1.1808050207330052e+00 3.0613568265944324e+00 3.7231193798014286e+00 2 0 0 -61 0 -P 121 -211 2.3285071815343761e+00 -1.4930049131139151e+00 3.7980187414499524e+00 4.7005782102146254e+00 1 0 0 0 0 -P 122 113 2.0705991745434469e+00 -2.1281647954902798e+00 5.8472746169042855e+00 6.6028251690195514e+00 2 0 0 -62 0 -P 123 213 1.6982439540579044e+00 -2.0586767864933027e+00 5.4934725034644734e+00 6.1605691667856659e+00 2 0 0 -63 0 -P 124 113 2.9418564684892945e+00 -3.1012166205676479e+00 5.9093890342429791e+00 7.3452154730835240e+00 2 0 0 -64 0 -P 125 2112 2.3972505494101850e+00 -3.1969828230803983e+00 9.5256435215448363e+00 1.0372472494645029e+01 1 0 0 0 0 -P 126 -2112 3.4184366439918845e+00 -3.6749985902842326e+00 9.6543481666732056e+00 1.0921563717518836e+01 1 0 0 0 0 -P 127 313 7.2107705342681427e-01 -1.9937173017311436e+00 4.6809918289416128e+00 5.2178012042881861e+00 2 0 0 -65 0 -P 128 -313 2.7935483674053357e-01 -8.1871255653283084e-02 1.1718388726820061e+01 1.1756180517434442e+01 2 0 0 -66 0 -P 129 113 -8.2708674444163105e-02 3.4522701208939077e-01 6.1206736781408893e+00 6.1737560715212680e+00 2 0 0 -67 0 -P 130 311 2.4695926864221421e-01 4.1868501205522318e-01 1.8281949053007391e+01 1.8295180311364682e+01 2 0 0 -68 0 -P 131 -311 2.9376002073213692e-01 5.4077841199444876e-01 2.3165952234661379e+01 2.3179468384934378e+01 2 0 0 -69 0 -P 132 -211 8.2622565565000405e-01 2.0025688618269719e-01 1.2637005194543391e+01 1.2666338528806758e+01 1 0 0 0 0 -P 133 221 -1.9997941753530871e-01 6.5041493910278059e-01 4.3772957762713439e+01 4.3781669271045850e+01 2 0 0 -70 0 -P 134 2224 1.1786850791080654e+00 3.2621875180768561e-01 6.7450236130820841e+01 6.7471056333264244e+01 2 0 0 -71 0 -P 135 -213 -6.0071912138819927e-01 -1.7948907599716118e-01 5.4158753007648563e+01 5.4167324041288985e+01 2 0 0 -72 0 -P 136 -2214 4.8755136324043447e-01 -5.7626612657803589e-01 1.5857152644493947e+03 1.5857159489133173e+03 2 0 0 -73 0 -P 137 113 -4.1376307441085342e-01 -8.6244447369672600e-02 1.4358186673828980e+03 1.4358189407957868e+03 2 0 0 -74 0 -P 138 2224 -3.9430912224019385e-02 -3.0577286480143262e-01 3.3195578920930161e+03 3.3195581504912811e+03 2 0 0 -75 0 -V -15 0 0 0 0 0 0 1 0 -P 139 92 -3.8491052458237228e+01 1.1117175406175845e+01 9.3827020632169436e+01 1.0210901918397998e+02 2 0 0 -16 0 -V -16 0 0 0 0 0 0 5 0 -P 140 -211 -1.9166473046608434e+01 6.1868455401856188e+00 4.6556411760049734e+01 5.0726223026563673e+01 1 0 0 0 0 -P 141 211 -3.8214210133710984e+00 4.1209563848882319e-01 8.8452891185503653e+00 9.6452942283966223e+00 1 0 0 0 0 -P 142 -211 -1.9337263835215596e-01 3.8299880626085796e-02 7.4065220340539428e-01 7.7904128865453037e-01 1 0 0 0 0 -P 143 -313 -8.2556654128106732e+00 2.7128082773100708e+00 2.0430817739322297e+01 2.2220577016158007e+01 2 0 0 -76 0 -P 144 323 -7.0541203470947975e+00 1.7671260695652278e+00 1.7253849810841484e+01 1.8737883624206951e+01 2 0 0 -77 0 -V -17 0 0 0 0 0 0 1 0 -P 145 92 1.8543993956306284e+01 1.5913761421656066e+01 2.0235845210138564e+02 2.0730243942159109e+02 2 0 0 -18 0 -V -18 0 0 0 0 0 0 14 0 -P 146 -2112 -2.6743483898333138e+00 8.2173272799491937e-01 3.9048032086408360e+00 4.8946566651373811e+00 1 0 0 0 0 -P 147 -211 -3.4761870385601772e+00 1.5018145990736227e+00 1.0041938198918368e+01 1.0733094893498349e+01 1 0 0 0 0 -P 148 2212 -1.5117020725326820e+00 1.9137806911799142e+00 8.1880940760776273e+00 8.5949424012979971e+00 1 0 0 0 0 -P 149 113 -1.2447883978844071e-01 2.5267362074443822e-01 1.5280844145927219e+00 1.6030732744200233e+00 2 0 0 -78 0 -P 150 -2212 1.3647329543852704e-01 5.2795247924943911e-01 4.2715630293953559e+00 4.4072621986569747e+00 1 0 0 0 0 -P 151 2212 5.8338973945168648e-01 1.6779417880182423e+00 1.4261748231538144e+01 1.4402556906492567e+01 1 0 0 0 0 -P 152 111 1.4165244960744796e+00 4.6731499980347514e-02 6.0300599428003485e+00 6.1958508693507808e+00 2 0 0 -79 0 -P 153 -211 -8.8908673032611560e-03 7.5389806891575817e-01 4.3882568137415596e+00 4.4547411814925377e+00 1 0 0 0 0 -P 154 113 1.8185267740322264e+00 1.0824417118785685e+00 1.1430218213996847e+01 1.1643291552010357e+01 2 0 0 -80 0 -P 155 213 1.5036150668328048e+00 3.5431629391135439e-01 8.4987502245096724e+00 8.6550697519553221e+00 2 0 0 -81 0 -P 156 223 4.6405083798304085e+00 1.6629892500258932e+00 3.0667601777968951e+01 3.1071117824765778e+01 2 0 0 -82 0 -P 157 -213 3.9970063450751039e+00 1.4686799434037365e+00 2.8332911049604355e+01 2.8661754230859430e+01 2 0 0 -83 0 -P 158 113 9.3580203216703879e+00 3.1521852498297869e+00 5.4878039383787858e+01 5.5765298071186237e+01 2 0 0 -84 0 -P 159 221 2.8855367459185346e+00 6.9662349745004337e-01 1.5936383535813000e+01 1.6219729600467367e+01 2 0 0 -85 0 -V -19 0 0 0 0 0 9 1 0 -P 52 3 1.0101998152855945e+01 6.4603650197245228e+00 2.6444321311193690e+01 2.9035991673749287e+01 2 0 0 -19 0 -P 53 21 -1.1792977287052229e+00 -3.1505474039551125e+00 3.5604699631516148e+00 4.8983301681289770e+00 2 0 0 -19 0 -P 54 21 5.4393098289857278e+00 1.2064682052724261e-01 -6.0927087448274282e+00 8.1683380757838790e+00 2 0 0 -19 0 -P 55 21 4.3229282211027176e+00 8.4560344871155246e-01 -3.2960883103994504e+01 3.3253910575937830e+01 2 0 0 -19 0 -P 56 21 2.9321949272632235e+00 6.6737924249356242e+00 -6.4867381486965698e+01 6.5275680413138062e+01 2 0 0 -19 0 -P 57 21 -4.3229282211027176e+00 -8.4560344871155246e-01 -3.3185882553128543e+01 3.3476940637210568e+01 2 0 0 -19 0 -P 58 21 -2.9321949272632235e+00 -6.6737924249356242e+00 -1.3725188086854727e+01 1.5540851342257129e+01 2 0 0 -19 0 -P 59 21 -5.4393098289857278e+00 -1.2064682052724261e-01 -6.8094310938794118e+00 8.7160196703137292e+00 2 0 0 -19 0 -P 60 -3 -1.0101998152855945e+01 -6.4603650197245228e+00 -1.0742083072280693e+01 1.6099038219724946e+01 2 0 0 -19 0 -P 160 92 -1.1792977287052206e+00 -3.1505474039551116e+00 -1.3837876686758571e+02 2.1446510077624441e+02 2 0 0 -20 0 -V -20 0 0 0 0 0 0 36 0 -P 161 -313 8.2000806394988448e+00 5.4003406550455937e+00 2.2177543996883074e+01 2.4268717313332942e+01 2 0 0 -86 0 -P 162 3214 1.1200777844798961e+00 4.1111180711726349e-02 3.7259896703360691e+00 4.1247208876059354e+00 2 0 0 -87 0 -P 163 -3122 5.4889822392614185e-01 6.7168289205653042e-02 1.2394553573684344e+00 1.7569269434479631e+00 2 0 0 -88 0 -P 164 -211 -1.8246867227292973e-01 -7.4395915930269774e-01 9.3316746363469338e-01 1.2153400129831278e+00 1 0 0 0 0 -P 165 213 -2.4505059959837305e-01 -1.9411646561574297e-01 4.9179202248504200e-01 1.1013212363778255e+00 2 0 0 -89 0 -P 166 111 1.0831519365169956e-01 -8.5977649139333909e-02 -1.2164921808366023e-01 2.2834725745604548e-01 2 0 0 -90 0 -P 167 2112 2.1446758121909784e-01 -3.2834007745682020e-01 2.5652908362645738e-01 1.0499535730233749e+00 1 0 0 0 0 -P 168 -3122 -1.6966076865868715e-01 -3.3109432038849090e-01 -2.5618579747388798e-01 1.2036532933709381e+00 2 0 0 -91 0 -P 169 -323 1.8511690574403743e+00 7.7549450304113823e-02 -1.7771148289683374e+00 2.7167454062741467e+00 2 0 0 -92 0 -P 170 221 1.1371300019760869e-01 -4.0058843868012450e-01 -1.2195001765893660e+00 1.4001013987635382e+00 2 0 0 -93 0 -P 171 2212 1.2523629043783191e-01 1.5016324154887450e-01 -1.0511017569858179e+00 1.4224621696177961e+00 1 0 0 0 0 -P 172 -211 5.5214282633985745e-01 1.1107501711974165e-01 -2.9656055335364906e+00 3.0218364160802897e+00 1 0 0 0 0 -P 173 -3114 2.4243956428752380e+00 1.3862290434432972e-01 -3.4795719084528560e+00 4.4684697068205574e+00 2 0 0 -94 0 -P 174 -321 9.7258158118116156e-01 -3.2442714147895962e-01 -5.7679095353058232e+00 5.8790806483371956e+00 1 0 0 0 0 -P 175 321 1.1597250287476084e+00 4.0770177789498285e-01 -8.7674225604355964e+00 8.8669342049683344e+00 1 0 0 0 0 -P 176 -321 1.2473896171875081e+00 5.8064712076131186e-01 -7.6950130852787115e+00 7.8326240353106558e+00 1 0 0 0 0 -P 177 211 4.6411646485160624e-01 -3.1056116558930160e-03 -6.8807161452354304e+00 6.8977639995852016e+00 1 0 0 0 0 -P 178 113 1.1429721118154468e+00 2.0039644079081445e+00 -1.8192672029751531e+01 1.8365275501470027e+01 2 0 0 -95 0 -P 179 113 -3.7950464568590037e-01 6.9483727246069926e-01 -1.1395936644018100e+01 1.1448140272842123e+01 2 0 0 -96 0 -P 180 -211 1.1066748123962553e+00 1.5207401839636081e+00 -2.0061478070674706e+01 2.0149932059750874e+01 1 0 0 0 0 -P 181 211 2.4841143236311466e-02 2.3230814679517509e-01 -4.8359467720177013e-01 5.5491238423969202e-01 1 0 0 0 0 -P 182 221 -4.2542141885817947e-01 5.9981854143176938e-01 -9.4453389518417676e+00 9.4897257644226993e+00 2 0 0 -97 0 -P 183 111 -3.2417120919680359e-01 -3.9808752168111899e-01 -7.9310594479818883e+00 7.9488039487468249e+00 2 0 0 -98 0 -P 184 111 -5.0210374058263441e-01 1.5238011936667630e+00 -8.2367846286676585e+00 8.3926705442060054e+00 2 0 0 -99 0 -P 185 -211 2.4005831721027357e-01 -3.1272585897954058e-01 -3.1418638717544294e+00 3.1695762858893386e+00 1 0 0 0 0 -P 186 111 -7.1801802285008720e-01 -1.5663690926018516e+00 -4.6475347856871210e+00 4.9585140112706885e+00 2 0 0 -100 0 -P 187 213 -8.7754060313250792e-01 1.0687002965254111e-01 -7.7721991707009082e+00 7.8598301364746987e+00 2 0 0 -101 0 -P 188 -213 -1.7607285674592426e+00 -2.1828765548774491e+00 -9.9325807070362337e+00 1.0374911328171784e+01 2 0 0 -102 0 -P 189 111 6.0732737211851184e-02 -1.4876097180116929e-01 -8.8365199189003499e-02 2.2769782811477235e-01 2 0 0 -103 0 -P 190 3322 -8.9819328650589736e-01 -1.4101551478664545e+00 -4.9514548113054522e+00 5.3889846427113186e+00 2 0 0 -104 0 -P 191 311 -9.8211331445284256e-01 -7.9298343389061809e-01 -1.4504485608208735e+00 1.9861635746679696e+00 2 0 0 -105 0 -P 192 -3212 -1.7421317431910346e+00 -8.2221491446806805e-01 -3.7329995940397152e+00 4.3667518646939678e+00 2 0 0 -106 0 -P 193 211 -1.4263310139354122e+00 -6.0848557736261411e-01 -2.6734691732657865e+00 3.0937989696285668e+00 1 0 0 0 0 -P 194 -211 -2.5524022272364206e+00 -5.2387494780839883e-01 -2.0619036105597894e+00 3.3256771302521524e+00 1 0 0 0 0 -P 195 211 -2.0644196153139507e-01 1.6631552161324753e-02 -9.1057393117718233e-01 9.4420313547863910e-01 1 0 0 0 0 -P 196 311 -9.4646039874614889e+00 -5.6457554838761190e+00 -1.0111196049899565e+01 1.4964532889856393e+01 2 0 0 -107 0 -V -21 0 0 0 0 0 2 1 0 -P 61 1 2.6048674114218304e+00 1.3071749066125802e+00 -4.9087263234386977e+00 5.7087331857413925e+00 2 0 0 -21 0 -P 62 -1 -2.6048674114218304e+00 -1.3071749066125802e+00 3.9636024064472406e+00 4.9197748428113490e+00 2 0 0 -21 0 -P 197 92 0 0 -9.4512391699145715e-01 1.0628508028552741e+01 2 0 0 -22 0 -V -22 0 0 0 0 0 0 7 0 -P 198 2112 8.8440371644850424e-01 7.2509545653771157e-01 -1.6825725857017333e+00 2.2409318699627123e+00 1 0 0 0 0 -P 199 111 1.2648914843620779e-01 -7.9047867519565176e-02 -4.6372272917197632e-01 5.0547644849410533e-01 2 0 0 -108 0 -P 200 -2112 7.9792227079239864e-01 4.2225813261826067e-01 -1.8859938515610912e+00 2.2923233789792832e+00 1 0 0 0 0 -P 201 313 -3.4282732844273572e-01 -3.3700984327477074e-01 4.3482101578220667e-01 1.2094706287093313e+00 2 0 0 -109 0 -P 202 -321 3.5673637654704443e-01 4.8759571964329723e-01 3.3223694327211195e-01 8.4795800287583600e-01 1 0 0 0 0 -P 203 321 -1.2446271985425277e+00 -6.2023897699434571e-01 1.2956105175346537e+00 1.9636804284509302e+00 1 0 0 0 0 -P 204 -313 -5.7809698523889164e-01 -5.9865262101058792e-01 1.0244967728543724e+00 1.5686672710805456e+00 2 0 0 -110 0 -V -23 0 0 0 0 0 0 1 0 -P 205 130 7.0071389671228546e-01 -5.7580058229065734e-01 -6.8836441564177575e-01 1.2426050350911262e+00 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 206 211 2.3601805446980989e-01 -2.6618733465545696e-01 -2.6116918438156855e-01 4.6287076699357904e-01 1 0 0 0 0 -P 207 111 2.6649022515117178e+00 -1.5231421757903791e+00 -8.8732310945740023e-01 3.1980037521492721e+00 2 0 0 -111 0 -V -25 0 5.6566919601848354e-03 -2.2814444155476094e-03 -4.8106729505785935e-03 1.0328232916324018e-02 0 3 0 -P 210 -2214 7.5977813013376927e-01 -1.0292071107408740e-01 -1.0394990117134257e+00 1.7454207711993177e+00 2 0 0 -114 0 -P 208 311 9.8128386922335242e-01 -7.1757193254617169e-01 -6.8412429949797804e-01 1.4810567161454691e+00 2 0 0 -112 0 -P 209 111 1.5789089989780553e-01 5.4611185360415225e-02 1.0867920409584220e-01 2.4071287385579151e-01 2 0 0 -113 0 -V -26 0 0 0 0 0 0 2 0 -P 211 431 -8.9544496400355400e-01 1.0812584738803073e+00 -7.5166320522356385e+00 7.8959287756155350e+00 2 0 0 -115 0 -P 212 22 -1.2934347935662455e-01 1.8056299939314888e-01 -1.1528577356542393e+00 1.1740586403837536e+00 1 0 0 0 0 -V -27 0 0 0 0 0 0 1 0 -P 213 130 1.5493234368667361e-01 -5.2903668164922500e-02 -2.2756098012880561e+00 2.3351398728649673e+00 1 0 0 0 0 -V -28 0 0 0 0 0 0 1 0 -P 214 310 -1.0479399410759047e+00 3.5508361290150353e-01 -1.2285977863989042e+00 1.7266703338789495e+00 2 0 0 -116 0 -V -29 0 0 0 0 0 0 2 0 -P 215 311 -6.3303113772774122e-01 -2.0717802444266725e-01 -3.2448067298090227e-01 8.9253251547659829e-01 2 0 0 -117 0 -P 216 211 -3.2133320191013570e-01 -8.8845493592173877e-02 -7.7314963448494112e-01 8.5345690610929803e-01 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 217 -311 2.9210454944064679e-01 -1.6108553023224306e-01 -1.5223884321452796e-01 6.1816317436209656e-01 2 0 0 -118 0 -P 218 111 1.6018610539930081e-01 2.4271751083915055e-01 -4.3737795180144273e-01 5.4230107094949964e-01 2 0 0 -119 0 -V -31 0 0 0 0 0 0 2 0 -P 219 -211 1.9395608964315619e-02 -2.0304028947714121e-03 5.1617951780191884e-01 5.3507138933158549e-01 1 0 0 0 0 -P 220 211 -2.6130105545298021e-01 -1.3189239271634661e-02 -2.4039842802187339e-01 3.8173732684765543e-01 1 0 0 0 0 -V -32 0 8.0482296730048227e-05 -1.6533279978182732e-04 9.9876545526457765e-05 2.1333955713841350e-04 0 2 0 -P 221 22 5.4686178191785839e-02 -5.8094679943429033e-02 2.1759714948860068e-03 7.9814189057458726e-02 1 0 0 0 0 -P 222 22 2.0679224809817040e-01 -4.7905401060734981e-01 3.2231230740117400e-01 6.1330335271768321e-01 1 0 0 0 0 -V -33 0 0 0 0 0 0 3 0 -P 223 -211 4.2801781509197134e-01 -1.0403622668171376e-01 -1.1956260927992245e-01 4.7728166624761242e-01 1 0 0 0 0 -P 224 211 3.2705663503245730e-01 -4.8246898921629483e-01 -1.9339384413010952e-01 6.2978038388121327e-01 1 0 0 0 0 -P 225 111 4.6015692466867701e-02 -2.0383276089091178e-02 1.0990311970840183e-01 1.8119386860202738e-01 2 0 0 -120 0 -V -34 0 0 0 0 0 0 2 0 -P 226 -211 -2.1866773818747592e-01 3.1579766966145423e-01 -1.3502781361186795e+00 1.4107709160837443e+00 1 0 0 0 0 -P 227 111 -1.7214071331345446e-01 -4.8264226777565866e-02 -6.7228410955527756e-02 2.3388270651355680e-01 2 0 0 -121 0 -V -35 0 0 0 0 0 0 2 0 -P 228 211 -3.9269766283052082e-01 -1.2163004153164388e-01 -1.0675916516465207e+00 1.1524916663303422e+00 1 0 0 0 0 -P 229 111 -3.1703515942667282e-01 4.6263260948433826e-01 -3.4987204494063704e+00 3.5459560921090518e+00 2 0 0 -122 0 -V -36 0 0 0 0 0 0 2 0 -P 230 -211 -2.5667807075318744e-01 -1.0146763652409606e-01 -7.0052877713175954e-01 7.6576737052259081e-01 1 0 0 0 0 -P 231 211 2.5100062397212689e-02 -4.5049125374518711e-01 -4.9833364175074433e+00 5.0056661912066387e+00 1 0 0 0 0 -V -37 0 -2.1056308062828918e-04 1.7930210471794663e-04 -2.1925084410489518e-03 2.2107432955447886e-03 0 2 0 -P 232 22 -2.3018986810834105e-01 2.7063917719313463e-01 -3.0344545295281806e+00 3.0551836657369069e+00 1 0 0 0 0 -P 233 22 -2.3047286774980685e-01 1.2163186034124118e-01 -1.7622407592754459e+00 1.7814052166395471e+00 1 0 0 0 0 -V -38 0 0 0 0 0 0 1 0 -P 234 310 2.7517509894565889e-01 -1.1487381757051843e-01 -2.1239959178119161e+00 2.2018063985792806e+00 2 0 0 -123 0 -V -39 0 0 0 0 0 0 2 0 -P 235 -321 -2.9230515250873707e-01 6.8174647361061602e-02 -1.5259649802190853e+00 1.6316556516560088e+00 1 0 0 0 0 -P 236 111 -4.1140648547337716e-01 -2.6823730180912397e-01 -2.6724082079295770e+00 2.7205131458202456e+00 2 0 0 -124 0 -V -40 0 -4.3948076794121348e-05 1.6065449346688851e-04 -6.1057488976406712e-04 6.3374495564102974e-04 0 2 0 -P 237 22 -2.3452133138899382e-02 1.5314581901608029e-01 -3.8829621787147561e-01 4.1806410662022048e-01 1 0 0 0 0 -P 238 22 -1.5625329294792351e-01 5.0377676570762064e-01 -2.1083686814135736e+00 2.1733441094289487e+00 1 0 0 0 0 -V -41 0 0 0 0 0 0 2 0 -P 239 -211 -1.5863681543682859e-01 3.1354292411407046e-02 -6.1213933937085041e-01 6.4833871284224542e-01 1 0 0 0 0 -P 240 111 -2.1813350257864123e-01 -2.5306866209122109e-01 -7.2407392074981836e+00 7.2496999830393873e+00 2 0 0 -125 0 -V -42 0 3.5910695792528850e-04 9.3673956898613795e-05 -4.6650550741745643e-02 4.6652085085306563e-02 0 2 0 -P 241 22 3.4522379636973621e-01 1.5547952859967618e-01 -4.9535364031978155e+01 4.9536810990757047e+01 1 0 0 0 0 -P 242 22 3.1283714292142595e-01 1.6177329345823128e-02 -3.5951437496245113e+01 3.5952802211098856e+01 1 0 0 0 0 -V -43 0 0 0 0 0 0 2 0 -P 243 311 -3.9600823279035513e-01 8.5430585125442424e-02 -3.6195759503890365e+01 3.6201447517988591e+01 2 0 0 -126 0 -P 244 211 -8.8322010909638760e-02 -2.3230389018430980e-01 -4.7761957316121880e+01 4.7762807835458695e+01 1 0 0 0 0 -V -44 0 0 0 0 0 0 3 0 -P 245 111 5.2116772754951829e-02 1.2637830758610888e-01 -7.9018190793191891e+01 7.9018424329167104e+01 2 0 0 -127 0 -P 246 111 -5.2246677240471596e-03 -1.4230926848259157e-01 -7.6470870445203118e+01 7.6471122166949328e+01 2 0 0 -128 0 -P 247 221 3.1118378890592058e-01 -1.3630984864950577e-01 -2.8432103404018636e+02 2.8432176405422894e+02 2 0 0 -129 0 -V -45 0 0 0 0 0 0 2 0 -P 248 -311 -5.5517974597127173e-01 -1.4786398120312963e-01 -3.9774196700709734e+02 3.9774269331115448e+02 2 0 0 -130 0 -P 249 111 7.1429956195406319e-02 1.1262397425854469e-01 -2.4149855125190902e+02 2.4149862579892570e+02 2 0 0 -131 0 -V -46 0 0 0 0 0 0 2 0 -P 250 2112 2.2151623266281140e-01 2.2948599839512826e-01 -1.1254541776645710e+03 1.1254546150545946e+03 1 0 0 0 0 -P 251 111 3.3522844139410250e-02 2.0556422059052964e-01 -7.8301754502786298e+02 7.8301758436288753e+02 2 0 0 -132 0 -V -47 0 0 0 0 0 0 3 0 -P 252 -211 -5.8614752007926270e-02 -3.3655372812363318e-02 -8.2483134952050921e+02 8.2483136409813051e+02 1 0 0 0 0 -P 253 211 -1.0931233412869321e-01 5.8050394161407254e-02 -2.2407062653002762e+02 2.2407070418146742e+02 1 0 0 0 0 -P 254 111 8.5648550805267079e-02 -1.7810518048657847e-01 -1.6434057182756410e+02 1.6434074608976536e+02 2 0 0 -133 0 -V -48 0 0 0 0 0 0 2 0 -P 255 -211 -1.9543881906526395e-01 2.2757020818337852e-02 -2.9277793211329066e+02 2.9277803149576221e+02 1 0 0 0 0 -P 256 111 4.5496572858580364e-01 1.4838294526426893e-01 -2.6649909534793096e+02 2.6649955919696873e+02 2 0 0 -134 0 -V -49 0 0 0 0 0 0 2 0 -P 257 22 -1.4711751798151942e-01 -5.6259697251430631e-02 -9.8098834067931008e+01 9.8098960515415683e+01 1 0 0 0 0 -P 258 111 -4.9286609976579326e-01 8.2167204288579737e-02 -3.6771637985725704e+01 3.6775280395877665e+01 2 0 0 -135 0 -V -50 0 0 0 0 0 0 2 0 -P 259 -211 -2.3197224114737774e-01 2.0693030568941703e-01 -3.8896053948983713e+01 3.8897546501794004e+01 1 0 0 0 0 -P 260 111 1.0357375259596519e-01 -4.1258376884160269e-01 -3.6822266804582732e+01 3.6824971216781876e+01 2 0 0 -136 0 -V -51 0 0 0 0 0 0 2 0 -P 261 311 -1.6443516368771718e-01 3.8717781180786159e-01 -4.8340509295770076e+01 4.8344901075339337e+01 2 0 0 -137 0 -P 262 211 1.4456308089166173e-01 -1.1923682482498356e-01 -1.9767890695868459e+01 1.9769271566080882e+01 1 0 0 0 0 -V -52 0 0 0 0 0 0 2 0 -P 263 -211 1.8683106059886168e-01 -2.5164614323774132e-01 -5.7120358611063180e+00 5.7223303898040978e+00 1 0 0 0 0 -P 264 111 5.9359015453132734e-02 -3.5269859385229346e-01 -5.2306540289773871e+01 5.2307937222537824e+01 2 0 0 -138 0 -V -53 0 0 0 0 0 0 2 0 -P 265 321 -2.7060017363760236e-01 -2.0970188485683577e-01 -9.6242418100430420e+00 9.6429700151284194e+00 1 0 0 0 0 -P 266 111 1.7121583094049395e-01 -3.2406303517067925e-01 -1.1157425407826961e+01 1.1164259628078851e+01 2 0 0 -139 0 -V -54 0 0 0 0 0 0 2 0 -P 267 -321 -4.0442913609014586e-01 -1.6147687955186629e-02 -1.3223821966351727e+01 1.3239219464595010e+01 1 0 0 0 0 -P 268 111 1.2461278822945901e-01 3.3466457865971788e-01 -1.0255848812896222e+01 1.0262951973023387e+01 2 0 0 -140 0 -V -55 0 0 0 0 0 0 2 0 -P 269 211 1.4409689320731370e-01 5.6493751537046411e-01 -3.2584013389051369e+00 3.3130918159905778e+00 1 0 0 0 0 -P 270 111 -1.4346561340253111e-01 3.0620444051767443e-01 -5.4173952238189038e-01 6.5272111359466933e-01 2 0 0 -141 0 -V -56 0 0 0 0 0 0 3 0 -P 271 -211 -1.1482207741060419e-02 -1.8312117192440214e-01 -6.4775573213280524e-01 6.8755543639220962e-01 1 0 0 0 0 -P 272 211 5.9785090683486621e-02 -1.8030085794299547e-01 -1.0356062916028855e-01 2.5746309493806629e-01 1 0 0 0 0 -P 273 111 6.9407967703243298e-02 1.8135039476984641e-01 -2.2897781125613634e-01 3.2917452834556382e-01 2 0 0 -142 0 -V -57 0 0 0 0 0 0 2 0 -P 274 -211 -4.3837163049861572e-01 2.9152299187613313e-02 -2.8462395439024579e-01 5.4176574576719017e-01 1 0 0 0 0 -P 275 211 1.6238597675872291e-01 3.5045427364307591e-01 -2.1453629200455779e-01 4.6334976945029910e-01 1 0 0 0 0 -V -58 0 0 0 0 0 0 2 0 -P 276 -211 2.0464411704977142e-01 2.3284289266599723e-01 -4.3412562821404987e-01 5.5139810779544129e-01 1 0 0 0 0 -P 277 111 1.7384618945869995e-01 -2.2906445694892602e-01 3.4351937443349062e-01 4.6788693510055751e-01 2 0 0 -143 0 -V -59 0 0 0 0 0 0 2 0 -P 278 213 4.3992394891943581e-01 2.2880560970011726e-01 1.0362837885132530e+00 1.4104866020206339e+00 2 0 0 -144 0 -P 279 -211 3.0681245317011434e-02 -9.2785550344249429e-02 1.4467368603156844e-01 2.2351903162113226e-01 1 0 0 0 0 -V -60 0 0 0 0 0 0 2 0 -P 280 -311 8.9352434965555338e-01 -6.9110102864767708e-01 1.3634045967932928e+00 1.8391720742449138e+00 2 0 0 -145 0 -P 281 -211 5.6647411898707156e-01 -4.8869691139755277e-02 1.2180527593897912e+00 1.3514486611600747e+00 1 0 0 0 0 -V -61 0 0 0 0 0 0 2 0 -P 282 211 3.3902061508967224e-01 -3.9965183653292830e-01 1.1898441795454691e+00 1.3076182640197989e+00 1 0 0 0 0 -P 283 111 1.3052456300222421e+00 -7.8115318420007707e-01 1.8715126470489638e+00 2.4155011157816300e+00 2 0 0 -146 0 -V -62 0 0 0 0 0 0 2 0 -P 284 211 1.4070112479551919e-01 -1.0793828470377013e-02 3.5863792581214382e-01 4.0989542566685100e-01 1 0 0 0 0 -P 285 -211 1.9298980497479277e+00 -2.1173709670199026e+00 5.4886366910921414e+00 6.1929297433527006e+00 1 0 0 0 0 -V -63 0 0 0 0 0 0 2 0 -P 286 211 6.1961341303921946e-01 -3.1792097930846813e-01 1.0711169548656323e+00 1.2852104289194011e+00 1 0 0 0 0 -P 287 111 1.0786305410186852e+00 -1.7407558071848346e+00 4.4223555485988415e+00 4.8753587378662653e+00 2 0 0 -147 0 -V -64 0 0 0 0 0 0 2 0 -P 288 211 1.0422416969481501e+00 -1.3006721691053791e+00 1.6880434592323161e+00 2.3763388545196276e+00 1 0 0 0 0 -P 289 -211 1.8996147715411444e+00 -1.8005444514622688e+00 4.2213455750106634e+00 4.9688766185638968e+00 1 0 0 0 0 -V -65 0 0 0 0 0 0 2 0 -P 290 321 4.0566606545034806e-01 -6.9985854291668093e-01 1.6213274746742699e+00 1.8779538537687956e+00 1 0 0 0 0 -P 291 -211 3.1541098797646633e-01 -1.2938587588144628e+00 3.0596643542673432e+00 3.3398473505193902e+00 1 0 0 0 0 -V -66 0 0 0 0 0 0 2 0 -P 292 -311 2.5175435783133765e-01 2.1313109775713732e-01 6.3817070071050166e+00 6.4095760292667956e+00 2 0 0 -148 0 -P 293 111 2.7600478909195956e-02 -2.9500235341042041e-01 5.3366817197150453e+00 5.3466044881676478e+00 2 0 0 -149 0 -V -67 0 0 0 0 0 0 2 0 -P 294 -211 2.7565212559822333e-01 1.2963583969597678e-01 3.5266895443427737e+00 3.5425708845917452e+00 1 0 0 0 0 -P 295 211 -3.5836080004238641e-01 2.1559117239341402e-01 2.5939841337981151e+00 2.6311851869295220e+00 1 0 0 0 0 -V -68 0 0 0 0 0 0 1 0 -P 296 310 2.4695926864221421e-01 4.1868501205522318e-01 1.8281949053007391e+01 1.8295180311364678e+01 2 0 0 -150 0 -V -69 0 0 0 0 0 0 1 0 -P 297 310 2.9376002073213692e-01 5.4077841199444876e-01 2.3165952234661379e+01 2.3179468384934378e+01 2 0 0 -151 0 -V -70 0 0 0 0 0 0 3 0 -P 298 111 -7.3014847317132536e-02 3.6666985674012392e-01 2.2327277065206818e+01 2.2330815003010546e+01 2 0 0 -152 0 -P 299 111 -6.8709360746503190e-02 2.8337710712952435e-01 1.3589332359602992e+01 1.3593130512919101e+01 2 0 0 -153 0 -P 300 111 -5.8255209471673002e-02 3.6797523313229671e-04 7.8563483379036310e+00 7.8577237551162042e+00 2 0 0 -154 0 -V -71 0 0 0 0 0 0 2 0 -P 301 2212 1.0317604671954461e+00 2.0632794933723184e-01 5.2326524268660144e+01 5.2345511684536277e+01 1 0 0 0 0 -P 302 211 1.4692461191261935e-01 1.1989080247045376e-01 1.5123711862160690e+01 1.5125544648727947e+01 1 0 0 0 0 -V -72 0 0 0 0 0 0 2 0 -P 303 -211 -3.2198747189268129e-01 -9.6850833808676623e-02 4.6988507635577655e+01 4.6989917914587856e+01 1 0 0 0 0 -P 304 111 -2.7873164949551793e-01 -8.2638242188484548e-02 7.1702453720709034e+00 7.1774061267011149e+00 2 0 0 -155 0 -V -73 0 0 0 0 0 0 2 0 -P 305 -2212 2.5338377157655873e-01 -6.0579834534973953e-01 1.4196072898296641e+03 1.4196077517691594e+03 1 0 0 0 0 -P 306 111 2.3416759166387574e-01 2.9532218771703617e-02 1.6610797461973073e+02 1.6610819714415794e+02 2 0 0 -156 0 -V -74 0 0 0 0 0 0 2 0 -P 307 -211 5.8030238191292306e-02 2.4649524600033157e-01 4.1657029500783335e+02 4.1657039535967152e+02 1 0 0 0 0 -P 308 211 -4.7179331260214574e-01 -3.3273969337000420e-01 1.0192483723750648e+03 1.0192485454361155e+03 1 0 0 0 0 -V -75 0 0 0 0 0 0 2 0 -P 309 2212 -2.6758753905159788e-01 -2.7884430113976838e-01 2.3144541620770879e+03 2.3144543845286262e+03 1 0 0 0 0 -P 310 211 2.2815662682757848e-01 -2.6928563661664261e-02 1.0051037300159285e+03 1.0051037659626548e+03 1 0 0 0 0 -V -76 0 0 0 0 0 0 2 0 -P 311 -321 -4.5347624236370176e+00 1.1907450897810774e+00 1.0993094460568804e+01 1.1961342353041172e+01 1 0 0 0 0 -P 312 211 -3.7209029891736556e+00 1.5220631875289932e+00 9.4377232787534950e+00 1.0259234663116835e+01 1 0 0 0 0 -V -77 0 0 0 0 0 0 2 0 -P 313 311 -3.5596336877401362e+00 8.8923992828974985e-01 8.7633501659252779e+00 9.5134494900893749e+00 2 0 0 -157 0 -P 314 211 -3.4944866593546617e+00 8.7788614127547804e-01 8.4904996449162073e+00 9.2244341341175780e+00 1 0 0 0 0 -V -78 0 0 0 0 0 0 2 0 -P 315 -211 -4.7673302181934996e-02 1.6089739047097859e-01 1.2551797364767447e+00 1.2740159613455126e+00 1 0 0 0 0 -P 316 211 -7.6805537606505728e-02 9.1776230273459644e-02 2.7290467811597724e-01 3.2905731307451080e-01 1 0 0 0 0 -V -79 0 9.0412383846874141e-05 2.9827273200513847e-06 3.8488010315316091e-04 3.9546202597281295e-04 0 2 0 -P 317 22 1.3001177241993309e+00 7.6588306497609115e-02 5.4468358006212130e+00 5.6003742825277634e+00 1 0 0 0 0 -P 318 22 1.1640677187514868e-01 -2.9856806517261601e-02 5.8322414217913543e-01 5.9547658682301741e-01 1 0 0 0 0 -V -80 0 0 0 0 0 0 2 0 -P 319 -211 1.2815868877039274e+00 5.8886373999562425e-01 8.6631621951294644e+00 8.7783303913122701e+00 1 0 0 0 0 -P 320 211 5.3693988632829892e-01 4.9357797188294417e-01 2.7670560188673816e+00 2.8649611606980869e+00 1 0 0 0 0 -V -81 0 0 0 0 0 0 2 0 -P 321 211 1.2611864020975216e-01 1.2389612141421584e-01 1.5268330665860421e+00 1.5433584024556255e+00 1 0 0 0 0 -P 322 111 1.3774964266230527e+00 2.3042017249713853e-01 6.9719171579236301e+00 7.1117113494996964e+00 2 0 0 -158 0 -V -82 0 0 0 0 0 0 2 0 -P 323 22 3.8757047271998544e+00 1.0974957903932110e+00 2.5137272071142927e+01 2.5457965969830195e+01 1 0 0 0 0 -P 324 111 7.6480365263055428e-01 5.6549345963268216e-01 5.5303297068260200e+00 5.6131518549355803e+00 2 0 0 -159 0 -V -83 0 0 0 0 0 0 2 0 -P 325 -211 3.8588647504390106e+00 1.3164304993742422e+00 2.6975321409456164e+01 2.7282068677983851e+01 1 0 0 0 0 -P 326 111 1.3814159463609341e-01 1.5224944402949425e-01 1.3575896401481926e+00 1.3796855528755789e+00 2 0 0 -160 0 -V -84 0 0 0 0 0 0 2 0 -P 327 211 4.4402643587743125e+00 1.2312481262739294e+00 2.3969983537631109e+01 2.4409250502697965e+01 1 0 0 0 0 -P 328 -211 4.9177559628960754e+00 1.9209371235558570e+00 3.0908055846156746e+01 3.1356047568488268e+01 1 0 0 0 0 -V -85 0 0 0 0 0 0 2 0 -P 329 22 2.3023456618513665e+00 4.3664135995883580e-01 1.3453062152332874e+01 1.3655633727454896e+01 1 0 0 0 0 -P 330 22 5.8319108406716824e-01 2.5998213749120752e-01 2.4833213834801269e+00 2.5640958730124712e+00 1 0 0 0 0 -V -86 0 0 0 0 0 0 2 0 -P 331 -321 3.8129236036372465e+00 2.3916504287804465e+00 9.7796113830415905e+00 1.0776957731381170e+01 1 0 0 0 0 -P 332 211 4.3871570358615983e+00 3.0086902262651471e+00 1.2397932613841485e+01 1.3491759581951781e+01 1 0 0 0 0 -V -87 0 0 0 0 0 0 2 0 -P 333 3122 1.1609162906290964e+00 -1.4066122912385346e-02 3.5008612023205194e+00 3.8534005125310915e+00 2 0 0 -161 0 -P 334 111 -4.0838506149200336e-02 5.5177303624111697e-02 2.2512846801554973e-01 2.7132037507484408e-01 2 0 0 -162 0 -V -88 0 1.0975634495181953e+02 1.3430806656920803e+01 2.4783845861744948e+02 3.5131081000941208e+02 0 2 0 -P 335 -2212 4.3598416274050478e-01 5.6969389177054186e-02 1.1732545494018880e+00 1.5653129182549963e+00 1 0 0 0 0 -P 336 211 1.1291406118563700e-01 1.0198900028598853e-02 6.6200807966546288e-02 1.9161402519296616e-01 1 0 0 0 0 -V -89 0 0 0 0 0 0 2 0 -P 337 211 2.1870704015585739e-02 -4.7659285060522572e-01 4.7808091053954144e-01 6.8968124149092913e-01 1 0 0 0 0 -P 338 111 -2.6692130361395883e-01 2.8247638498948274e-01 1.3711111945500606e-02 4.1163999488689595e-01 2 0 0 -163 0 -V -90 0 8.5034176885997429e-06 -6.7497812436783921e-06 -9.5502217000439534e-06 1.7926682700109905e-05 0 2 0 -P 339 22 1.8935384391547218e-02 -1.1026659860805992e-02 2.9922270718085193e-02 3.7087441198712261e-02 1 0 0 0 0 -P 340 22 8.9379809260152335e-02 -7.4950989278527919e-02 -1.5157148880174542e-01 1.9125981625733321e-01 1 0 0 0 0 -V -91 0 -2.6421968631437817e+01 -5.1562678965288278e+01 -3.9896866896154776e+01 1.8744987313214875e+02 0 2 0 -P 341 -2212 -7.3950672556528596e-02 -2.6360618044473205e-01 -2.8746064573095914e-01 1.0187939615468300e+00 1 0 0 0 0 -P 342 211 -9.5710096102158526e-02 -6.7488139943758838e-02 3.1274848257071206e-02 1.8485933182410788e-01 1 0 0 0 0 -V -92 0 0 0 0 0 0 2 0 -P 343 -311 1.1140884226725156e+00 1.6365689466410080e-01 -1.4262615386176185e+00 1.8841109304241952e+00 2 0 0 -164 0 -P 344 -211 7.3708063476785890e-01 -8.6107444359986976e-02 -3.5085329035071899e-01 8.3263447584995176e-01 1 0 0 0 0 -V -93 0 0 0 0 0 0 2 0 -P 345 22 -5.7123332739010456e-02 -3.3479252640843915e-01 -2.7213051787595932e-01 4.3520584743497520e-01 1 0 0 0 0 -P 346 22 1.7083633293661915e-01 -6.5795912271685339e-02 -9.4736965871340673e-01 9.6489555132856297e-01 1 0 0 0 0 -V -94 0 0 0 0 0 0 2 0 -P 347 -3212 1.9971148756783932e+00 8.2087761602473608e-02 -2.6812799831652443e+00 3.5505836249669493e+00 2 0 0 -165 0 -P 348 211 4.2728076719684455e-01 5.6535142741856115e-02 -7.9829192528761195e-01 9.1788608185360798e-01 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 349 211 6.1625006614860123e-01 3.3726744154614779e-01 -3.8762194687017835e+00 3.9418359460533079e+00 1 0 0 0 0 -P 350 -211 5.2672204566684544e-01 1.6666969663619966e+00 -1.4316452561049747e+01 1.4423439555416719e+01 1 0 0 0 0 -V -96 0 0 0 0 0 0 2 0 -P 351 211 -2.6966608895498762e-01 -6.5970053751465196e-02 -3.2902343026367840e+00 3.3048741880247143e+00 1 0 0 0 0 -P 352 -211 -1.0983855673091272e-01 7.6080732621216451e-01 -8.1057023413813170e+00 8.1432660848174052e+00 1 0 0 0 0 -V -97 0 0 0 0 0 0 3 0 -P 353 -211 -9.5798582554692188e-02 6.9395665012517205e-02 -2.6561900193963992e+00 2.6624834892977387e+00 1 0 0 0 0 -P 354 211 -1.0201638753756302e-01 7.8384892820417440e-02 -1.4266697985266141e+00 1.4392421733942666e+00 1 0 0 0 0 -P 355 111 -2.2760644876592431e-01 4.5203798359883485e-01 -5.3624791339187565e+00 5.3880001017306958e+00 2 0 0 -166 0 -V -98 0 -3.9923320403745477e-04 -4.9026487318803503e-04 -9.7674999660659484e-03 9.7893532142676720e-03 0 2 0 -P 356 22 -1.4843256441632337e-02 -9.8178167278801382e-02 -1.6499349459668522e+00 1.6529200224798102e+00 1 0 0 0 0 -P 357 22 -3.0932795275517122e-01 -2.9990935440231759e-01 -6.2811245020150359e+00 6.2958839262670150e+00 1 0 0 0 0 -V -99 0 -1.7845130097297728e-05 5.4156996543876026e-05 -2.9274128312893144e-04 2.9828158131490031e-04 0 2 0 -P 358 22 -4.1125557872182977e-01 1.3713585033970590e+00 -7.2366302516774024e+00 7.3768945156726886e+00 1 0 0 0 0 -P 359 22 -9.0848161860804577e-02 1.5244269026970386e-01 -1.0001543769902554e+00 1.0157760285333168e+00 1 0 0 0 0 -V -100 0 -1.7464889567159729e-05 -3.8099967344991282e-05 -1.1304546572434142e-04 1.2060964609259914e-04 0 2 0 -P 360 22 -3.0645574781966489e-01 -8.1589910932750886e-01 -2.2644604052437702e+00 2.4263939104955554e+00 1 0 0 0 0 -P 361 22 -4.1156227503042225e-01 -7.5046998327434278e-01 -2.3830743804433507e+00 2.5321201007751331e+00 1 0 0 0 0 -V -101 0 0 0 0 0 0 2 0 -P 362 211 -3.5384588913819282e-01 -2.4715825133371802e-01 -4.6086448568373415e+00 4.6309158182605330e+00 1 0 0 0 0 -P 363 111 -5.2369471399431522e-01 3.5402828098625916e-01 -3.1635543138635680e+00 3.2289143182141680e+00 2 0 0 -167 0 -V -102 0 0 0 0 0 0 2 0 -P 364 -211 -1.7431049169384474e+00 -1.7742747005688735e+00 -7.4560336745052949e+00 7.8611947822701023e+00 1 0 0 0 0 -P 365 111 -1.7623650520795352e-02 -4.0860185430857604e-01 -2.4765470325309402e+00 2.5137165459016839e+00 2 0 0 -168 0 -V -103 0 3.7599471820826971e-07 -9.2097511557332473e-07 -5.4706653600331399e-07 1.4096710382080819e-06 0 2 0 -P 366 22 -9.0039096884929875e-03 -2.1160661174125472e-02 3.1671981710379361e-02 3.9140240117649924e-02 1 0 0 0 0 -P 367 22 6.9736646900344174e-02 -1.2760031062704383e-01 -1.2003718089938287e-01 1.8855758799712244e-01 1 0 0 0 0 -V -104 0 -3.8731844410967580e+02 -6.0808637297836094e+02 -2.1351637808991841e+03 2.3238351683362093e+03 0 2 0 -P 368 3122 -8.6514155217381961e-01 -1.3957847305443358e+00 -4.6801671989749298e+00 5.0838363262480524e+00 2 0 0 -169 0 -P 369 111 -3.3051734332077809e-02 -1.4370417322118634e-02 -2.7128761233052251e-01 3.0514831646326673e-01 2 0 0 -170 0 -V -105 0 0 0 0 0 0 1 0 -P 370 130 -9.8211331445284256e-01 -7.9298343389061809e-01 -1.4504485608208735e+00 1.9861635746679696e+00 1 0 0 0 0 -V -106 0 0 0 0 0 0 2 0 -P 371 -3122 -1.6814953787803824e+00 -7.7260118861255445e-01 -3.6931903303234876e+00 4.2788708772175195e+00 2 0 0 -171 0 -P 372 22 -6.0636364410652108e-02 -4.9613725855513595e-02 -3.9809263716227318e-02 8.7880987476447889e-02 1 0 0 0 0 -V -107 0 0 0 0 0 0 1 0 -P 373 130 -9.4646039874614889e+00 -5.6457554838761190e+00 -1.0111196049899565e+01 1.4964532889856393e+01 1 0 0 0 0 -V -108 0 6.1241494302732311e-06 -3.8272133129143903e-06 -2.2451785965620250e-05 2.4473350815725669e-05 0 2 0 -P 374 22 9.7949275500252477e-03 -8.2164757971790112e-02 -1.6085439852995365e-01 1.8088981614426572e-01 1 0 0 0 0 -P 375 22 1.1669422088618255e-01 3.1168904522249487e-03 -3.0286833064202273e-01 3.2458663234983964e-01 1 0 0 0 0 -V -109 0 0 0 0 0 0 2 0 -P 376 321 -3.1631630540514204e-02 -2.4636611909620174e-01 6.0355908816096149e-01 8.1830395183627624e-01 1 0 0 0 0 -P 377 -211 -3.1119569790222151e-01 -9.0643724178569043e-02 -1.6873807237875477e-01 3.9116667687305512e-01 1 0 0 0 0 -V -110 0 0 0 0 0 0 2 0 -P 378 -321 -5.0002061820812771e-01 -6.6876333827903711e-01 9.9856599175467453e-01 1.3921350585156445e+00 1 0 0 0 0 -P 379 211 -7.8076367030763885e-02 7.0110717268449307e-02 2.5930781099697733e-02 1.7653221256490112e-01 1 0 0 0 0 -V -111 0 5.7242773048955394e-05 -3.2717478414302510e-05 -1.9059924373192351e-05 6.8693927850502852e-05 0 2 0 -P 380 22 1.7977262661769522e+00 -9.7971204743102736e-01 -6.4165230874684842e-01 2.1455472750103133e+00 1 0 0 0 0 -P 381 22 8.6717598533476581e-01 -5.4343012835935178e-01 -2.4567080071055178e-01 1.0524564771389584e+00 1 0 0 0 0 -V -112 0 5.6566919601848354e-03 -2.2814444155476094e-03 -4.8106729505785935e-03 1.0328232916324018e-02 0 1 0 -P 382 130 9.8128386922335242e-01 -7.1757193254617169e-01 -6.8412429949797804e-01 1.4810567161454691e+00 1 0 0 0 0 -V -113 0 5.6927899618635560e-03 -2.2689588659554980e-03 -4.7858260335337677e-03 1.0383266193923678e-02 0 2 0 -P 383 22 1.0727648575389558e-01 4.4401346708756603e-02 -4.6291163569520894e-03 1.1619446072641836e-01 1 0 0 0 0 -P 384 22 5.0614414143909950e-02 1.0209838651658623e-02 1.1330832045279429e-01 1.2451841312937319e-01 1 0 0 0 0 -V -114 0 5.6566919601848354e-03 -2.2814444155476094e-03 -4.8106729505785935e-03 1.0328232916324018e-02 0 2 0 -P 385 -2212 7.7903213016385631e-01 -1.3109001191938108e-01 -1.0369975033227592e+00 1.6061724894451079e+00 1 0 0 0 0 -P 386 111 -1.9254000030087138e-02 2.8169300845293684e-02 -2.5015083906664392e-03 1.3924828175420992e-01 2 0 0 -172 0 -V -115 0 -2.5371547209646385e-02 3.0636389190498072e-02 -2.1297633314969514e-01 2.2372333057617133e-01 0 3 0 -P 387 -11 -2.7872666759670595e-01 4.0869513283640058e-01 -7.5930543668767891e-01 9.0623687472823267e-01 1 0 0 0 0 -P 388 12 2.1061848626626939e-01 -1.0932717228124468e-01 -5.7973006096139035e-01 6.2641800815302651e-01 1 0 0 0 0 -P 389 333 -8.2733678267311739e-01 7.8189051332515147e-01 -6.1775965545865690e+00 6.3632738927342753e+00 2 0 0 -173 0 -V -116 0 -1.6652958063643953e+02 5.6426826413973046e+01 -1.9523816787611872e+02 2.7438756299624157e+02 0 2 0 -P 390 111 -5.5063191197028871e-01 1.7973867556858722e-03 -7.4723439495187260e-01 9.3796459127106524e-01 2 0 0 -174 0 -P 391 111 -4.9730802910561589e-01 3.5328622614581767e-01 -4.8136339144703161e-01 7.8870574260788417e-01 2 0 0 -175 0 -V -117 0 0 0 0 0 0 1 0 -P 392 130 -6.3303113772774122e-01 -2.0717802444266725e-01 -3.2448067298090227e-01 8.9253251547659829e-01 1 0 0 0 0 -V -118 0 0 0 0 0 0 1 0 -P 393 310 2.9210454944064679e-01 -1.6108553023224306e-01 -1.5223884321452796e-01 6.1816317436209656e-01 2 0 0 -176 0 -V -119 0 3.0128146157781292e-05 4.5650829848109356e-05 -8.2262982954840020e-05 1.0199714816937651e-04 0 2 0 -P 394 22 1.7327331324276590e-01 2.5107595073573147e-01 -4.1746127939969052e-01 5.1704612358860558e-01 1 0 0 0 0 -P 395 22 -1.3087207843465083e-02 -8.3584398965809228e-03 -1.9916672401752208e-02 2.5254947360894051e-02 1 0 0 0 0 -V -120 0 1.0816420442246132e-06 -4.7912803730757445e-07 2.5833759896941966e-06 4.2591319597499850e-06 0 2 0 -P 396 22 -3.7013800308679519e-02 2.0425699872580520e-02 6.6978992311673077e-02 7.9204899088772901e-02 1 0 0 0 0 -P 397 22 8.3029492775547220e-02 -4.0808975961671698e-02 4.2924127396728746e-02 1.0198896951325444e-01 1 0 0 0 0 -V -121 0 -8.0635541185482363e-05 -2.2608318341409421e-05 -3.1491674433623302e-05 1.0955722356805153e-04 0 2 0 -P 398 22 6.1605732605138725e-03 2.0252052130026385e-02 1.4978030975011219e-02 2.5931442116933264e-02 1 0 0 0 0 -P 399 22 -1.7830128657396835e-01 -6.8516278907592251e-02 -8.2206441930538970e-02 2.0795126439662356e-01 1 0 0 0 0 -V -122 0 -1.1689491264961073e-04 1.7057855214648910e-04 -1.2900229175160562e-03 1.3074393023033567e-03 0 2 0 -P 400 22 -1.0971836549544467e-01 2.1286683469193721e-01 -1.1299214575560315e+00 1.1550207397637076e+00 1 0 0 0 0 -P 401 22 -2.0731679393122815e-01 2.4976577479240111e-01 -2.3687989918503392e+00 2.3909353523453438e+00 1 0 0 0 0 -V -123 0 8.7532349491237973e+00 -3.6541006746257270e+00 -6.7563654454282670e+01 7.0038781826892503e+01 0 2 0 -P 402 -211 1.3178166664474288e-02 1.0972312838034502e-01 -3.9607722339418833e-01 4.3424622136508695e-01 1 0 0 0 0 -P 403 211 2.6199693228118459e-01 -2.2459694595086344e-01 -1.7279186944177274e+00 1.7675601772141933e+00 1 0 0 0 0 -V -124 0 -5.1006948095061883e-05 -3.3256564039807341e-05 -3.3133018453473608e-04 3.3729432500588654e-04 0 2 0 -P 404 22 -1.2481427652994612e-01 -4.0398131487697303e-02 -9.9515989211106448e-01 1.0037698060411546e+00 1 0 0 0 0 -P 405 22 -2.8659220894343101e-01 -2.2783917032142667e-01 -1.6772483158185125e+00 1.7167433397790914e+00 1 0 0 0 0 -V -125 0 -6.6771289255523520e-05 -7.7465041537621302e-05 -2.2164109883733708e-03 2.2191539074048012e-03 0 2 0 -P 406 22 -1.9030878728761155e-01 -1.4045162333880731e-01 -5.5124814429757212e+00 5.5175534208713453e+00 1 0 0 0 0 -P 407 22 -2.7824715291029679e-02 -1.1261703875241377e-01 -1.7282577645224619e+00 1.7321465621680421e+00 1 0 0 0 0 -V -126 0 0 0 0 0 0 1 0 -P 408 130 -3.9600823279035513e-01 8.5430585125442424e-02 -3.6195759503890365e+01 3.6201447517988591e+01 1 0 0 0 0 -V -127 0 2.2759620483605243e-07 5.5189954518948540e-07 -3.4507586304512335e-04 3.4507688290684615e-04 0 2 0 -P 409 22 3.0856412353213424e-02 5.9777091246928050e-03 -3.6768297434222319e+00 3.6769640756069517e+00 1 0 0 0 0 -P 410 22 2.1260360401738412e-02 1.2040059846141607e-01 -7.5341361049769660e+01 7.5341460253560143e+01 1 0 0 0 0 -V -128 0 -1.4546449214941991e-06 -3.9621554061126310e-05 -2.1290916324375901e-02 2.1290986408404031e-02 0 2 0 -P 411 22 3.8619005530965513e-02 5.6053830183775341e-03 -2.1420869175201346e+01 2.1420904721066243e+01 1 0 0 0 0 -P 412 22 -4.3843673255012677e-02 -1.4791465150096908e-01 -5.5050001270001772e+01 5.5050217445883071e+01 1 0 0 0 0 -V -129 0 0 0 0 0 0 2 0 -P 413 22 4.4122106100820724e-01 -2.1533581732208446e-01 -2.0951066441389207e+02 2.0951123967150164e+02 1 0 0 0 0 -P 414 22 -1.3003727210228663e-01 7.9025968672578689e-02 -7.4810369626294275e+01 7.4810524382727280e+01 1 0 0 0 0 -V -130 0 0 0 0 0 0 1 0 -P 415 130 -5.5517974597127173e-01 -1.4786398120312963e-01 -3.9774196700709734e+02 3.9774269331115448e+02 1 0 0 0 0 -V -131 0 3.1162561148663985e-05 4.9134168233791584e-05 -1.0535794464319381e-01 1.0535797716562684e-01 0 2 0 -P 416 22 -1.0407303676525636e-02 3.1435820824456277e-02 -1.4769705612958035e+02 1.4769705984164750e+02 1 0 0 0 0 -P 417 22 8.1837259871931953e-02 8.1188153434088417e-02 -9.3801495122328660e+01 9.3801565957278186e+01 1 0 0 0 0 -V -132 0 2.6061695549965017e-06 1.5981198106929131e-05 -6.0874205016532332e-02 6.0874208074558754e-02 0 2 0 -P 418 22 6.6075216703169640e-02 6.9070271124056309e-02 -2.0477358048603864e+02 2.0477360279515705e+02 1 0 0 0 0 -P 419 22 -3.2552372563759389e-02 1.3649394946647336e-01 -5.7824396454182443e+02 5.7824398156773043e+02 1 0 0 0 0 -V -133 0 6.6869850793435513e-05 -1.3905508888006766e-04 -1.2830841169050197e-01 1.2830854774519626e-01 0 2 0 -P 420 22 4.6019185382323302e-02 9.8218810952675831e-03 -2.9691019717235697e+01 2.9691057005166559e+01 1 0 0 0 0 -P 421 22 3.9629365422943770e-02 -1.8792706158184605e-01 -1.3464955211032841e+02 1.3464968908459880e+02 1 0 0 0 0 -V -134 0 9.0991403364029891e-05 2.9676020800185506e-05 -5.3298798475057925e-02 5.3298891243089092e-02 0 2 0 -P 422 22 3.9077415047769848e-02 4.8750449525309471e-02 -5.1996999227038948e+01 5.1997036764294414e+01 1 0 0 0 0 -P 423 22 4.1588831353803374e-01 9.9632495738959437e-02 -2.1450209612089199e+02 2.1450252243267425e+02 1 0 0 0 0 -V -135 0 -1.2095638437121250e-05 2.0165006173806986e-06 -9.0242854606434981e-04 9.0251793601480227e-04 0 2 0 -P 424 22 -3.5447452752054448e-01 9.8399755132051580e-03 -2.8089725048300163e+01 2.8091963304562395e+01 1 0 0 0 0 -P 425 22 -1.3839157224524873e-01 7.2327228775374577e-02 -8.6819129374255386e+00 8.6833170913152617e+00 1 0 0 0 0 -V -136 0 1.0813245780814463e-05 -4.3074327093877904e-05 -3.8442965634151380e-03 3.8445789078611868e-03 0 2 0 -P 426 22 1.0313626454632320e-01 -3.8557612802981556e-01 -3.0050256643978344e+01 3.0052907187301116e+01 1 0 0 0 0 -P 427 22 4.3748804964200425e-04 -2.7007640811787147e-02 -6.7720101606043936e+00 6.7720640294807559e+00 1 0 0 0 0 -V -137 0 0 0 0 0 0 1 0 -P 428 130 -1.6443516368771718e-01 3.8717781180786159e-01 -4.8340509295770076e+01 4.8344901075339337e+01 1 0 0 0 0 -V -138 0 1.2358140420271945e-05 -7.3429431327083619e-05 -1.0889863399267724e-02 1.0890154231100478e-02 0 2 0 -P 429 22 5.4301957071902614e-02 -2.3699319567331695e-01 -2.5848595506596457e+01 2.5849738956921321e+01 1 0 0 0 0 -P 430 22 5.0570583812301105e-03 -1.1570539817897650e-01 -2.6457944783177410e+01 2.6458198265616499e+01 1 0 0 0 0 -V -139 0 1.8563265975374583e-05 -3.5135000552321780e-05 -1.2096910332893111e-03 1.2104320012685755e-03 0 2 0 -P 431 22 -2.0573197242309865e-02 -6.4597219190626887e-02 -2.0488562601975113e+00 2.0499775686876340e+00 1 0 0 0 0 -P 432 22 1.9178902818280380e-01 -2.5946581598005236e-01 -9.1085691476294492e+00 9.1142820593912131e+00 1 0 0 0 0 -V -140 0 7.3023607112404456e-06 1.9611482138964182e-05 -6.0099696424263584e-04 6.0141321235147990e-04 0 2 0 -P 433 22 8.5228359671132362e-03 2.1369962414334492e-01 -5.5669311705913973e+00 5.5710378589805023e+00 1 0 0 0 0 -P 434 22 1.1608995226234577e-01 1.2096495451637290e-01 -4.6889176423048236e+00 4.6919141140428886e+00 1 0 0 0 0 -V -141 0 -2.3365100375587745e-05 4.9869075372593264e-05 -8.8228795860378044e-05 1.0630348258864234e-04 0 2 0 -P 435 22 -2.1041114039385373e-02 1.8088591190867334e-01 -2.1317543175488898e-01 2.8036798374802724e-01 1 0 0 0 0 -P 436 22 -1.2242449936314574e-01 1.2531852860900106e-01 -3.2856409062700143e-01 3.7235312984664198e-01 1 0 0 0 0 -V -142 0 4.2726307465371662e-06 1.1163606978137926e-05 -1.4095465823616622e-05 2.0263397090077968e-05 0 2 0 -P 437 22 1.0186902240864532e-01 1.7539794796065869e-01 -2.0495815398301412e-01 2.8835669362688277e-01 1 0 0 0 0 -P 438 22 -3.2461054705402004e-02 5.9524468091877421e-03 -2.4019657273122230e-02 4.0817834718681036e-02 1 0 0 0 0 -V -143 0 4.2281042290289621e-05 -5.5710648715487775e-05 8.3547170307156796e-05 1.1379454074695370e-04 0 2 0 -P 439 22 -2.2282498559312240e-02 -1.7643232610581851e-02 4.1478065186052578e-02 5.0281440816421281e-02 1 0 0 0 0 -P 440 22 1.9612868801801220e-01 -2.1142122433834418e-01 3.0204130924743805e-01 4.1760549428413618e-01 1 0 0 0 0 -V -144 0 0 0 0 0 0 2 0 -P 441 211 1.7357088956032946e-01 -1.8008964314199971e-01 3.5114064368815236e-02 2.8856873650185011e-01 1 0 0 0 0 -P 442 111 2.6635305935910647e-01 4.0889525284211697e-01 1.0011697241444379e+00 1.1219178655187840e+00 2 0 0 -177 0 -V -145 0 0 0 0 0 0 1 0 -P 443 310 8.9352434965555338e-01 -6.9110102864767708e-01 1.3634045967932928e+00 1.8391720742449138e+00 2 0 0 -178 0 -V -146 0 5.7833814820138906e-04 -3.4611928637845181e-04 8.2924403938539407e-04 1.0702785821667389e-03 0 2 0 -P 444 22 2.6959401219222473e-01 -1.8065595805513682e-01 4.8652922632802997e-01 5.8483176611917398e-01 1 0 0 0 0 -P 445 22 1.0356516178300175e+00 -6.0049722614494039e-01 1.3849834207209339e+00 1.8306693496624562e+00 1 0 0 0 0 -V -147 0 5.5018284876725698e-05 -8.8791662444546657e-05 2.2557345462255435e-04 2.4868003057175941e-04 0 2 0 -P 446 22 9.0519481106229416e-01 -1.5401715592524401e+00 3.8907227545652390e+00 4.2812649568551482e+00 1 0 0 0 0 -P 447 22 1.7343572995639095e-01 -2.0058424793239438e-01 5.3163279403360253e-01 5.9409378101111721e-01 1 0 0 0 0 -V -148 0 0 0 0 0 0 1 0 -P 448 130 2.5175435783133765e-01 2.1313109775713732e-01 6.3817070071050166e+00 6.4095760292667956e+00 1 0 0 0 0 -V -149 0 1.8668185865974611e-05 -1.9953127561604650e-04 3.6095810720876997e-03 3.6162925529423487e-03 0 2 0 -P 449 22 7.2766800981078810e-03 2.7433684711522560e-03 8.3729214991090684e-01 8.3732826325536569e-01 1 0 0 0 0 -P 450 22 2.0323798811088076e-02 -2.9774572188157267e-01 4.4993895698041380e+00 4.5092762249122815e+00 1 0 0 0 0 -V -150 0 1.3696078707448002e+01 2.3219792114969632e+01 1.0138959939920347e+03 1.0146297844541476e+03 0 2 0 -P 451 111 7.0206635722018476e-02 6.5462957243239944e-02 1.1020395065887524e+01 1.1021639686503478e+01 2 0 0 -179 0 -P 452 111 1.7675263292019575e-01 3.5322205481198321e-01 7.2615539871198669e+00 7.2735406248611998e+00 2 0 0 -180 0 -V -151 0 1.5467461870827629e+01 2.8473818347520936e+01 1.2197659912945378e+03 1.2204776624690801e+03 0 2 0 -P 453 211 -5.2601173246719701e-02 3.3039934938404780e-01 1.0273766610755112e+01 1.0280160055693049e+01 1 0 0 0 0 -P 454 -211 3.4636119397885656e-01 2.1037906261040085e-01 1.2892185623906263e+01 1.2899308329241325e+01 1 0 0 0 0 -V -152 0 -8.6330281890986453e-06 4.3353801666958921e-05 2.6399016004587045e-03 2.6403199142388894e-03 0 2 0 -P 455 22 2.6083272253419752e-02 1.5952465080702885e-01 7.3460499969475057e+00 7.3478281831408516e+00 1 0 0 0 0 -P 456 22 -9.9098119570552284e-02 2.0714520593309504e-01 1.4981227068259312e+01 1.4982986819869694e+01 1 0 0 0 0 -V -153 0 -1.3713360241077502e-05 5.6557830140187285e-05 2.7122273887907147e-03 2.7129854433572071e-03 0 2 0 -P 457 22 -3.2139365825025600e-02 1.3537777065909119e-02 3.3379524226511128e+00 3.3381345967659777e+00 1 0 0 0 0 -P 458 22 -3.6569994921477583e-02 2.6983933006361521e-01 1.0251379936951878e+01 1.0254995916153122e+01 1 0 0 0 0 -V -154 0 -1.8577981731263623e-05 1.1734979962630551e-07 2.5054428130927703e-03 2.5058814429780593e-03 0 2 0 -P 459 22 -3.2575852346062410e-02 6.3591920058035073e-02 5.2340628634658524e+00 5.2345505229355744e+00 1 0 0 0 0 -P 460 22 -2.5679357125610595e-02 -6.3223944824902775e-02 2.6222854744377790e+00 2.6231732321806303e+00 1 0 0 0 0 -V -155 0 -5.1794463602787913e-05 -1.5356000780595467e-05 1.3323891047857367e-03 1.3337197303021943e-03 0 2 0 -P 461 22 -2.4156328517547213e-01 -1.1451197786655225e-01 6.4209768595352923e+00 6.4265394766162753e+00 1 0 0 0 0 -P 462 22 -3.7168364320045832e-02 3.1873735678067699e-02 7.4926851253561166e-01 7.5086665008484121e-01 1 0 0 0 0 -V -156 0 7.5943080969019332e-05 9.5776177456424032e-06 5.3870611541554550e-02 5.3870683708631448e-02 0 2 0 -P 463 22 -1.5680821504989124e-02 -5.4140422597006924e-03 1.8017934436852070e+01 1.8017942073686338e+01 1 0 0 0 0 -P 464 22 2.4984841316886486e-01 3.4946261031404309e-02 1.4809004018287865e+02 1.4809025507047161e+02 1 0 0 0 0 -V -157 0 0 0 0 0 0 1 0 -P 465 130 -3.5596336877401362e+00 8.8923992828974985e-01 8.7633501659252779e+00 9.5134494900893749e+00 1 0 0 0 0 -V -158 0 1.3287239623354180e-04 2.2226177773322776e-05 6.7250652793784471e-04 6.8599098340012060e-04 0 2 0 -P 466 22 1.1106353772405320e+00 1.4436855076860167e-01 5.3887210357718693e+00 5.5038775078120601e+00 1 0 0 0 0 -P 467 22 2.6686104938252070e-01 8.6051621728536865e-02 1.5831961221517605e+00 1.6078338416876363e+00 1 0 0 0 0 -V -159 0 5.7037006887288153e-05 4.2172986806283377e-05 4.1243716932087290e-04 4.1861382317954235e-04 0 2 0 -P 468 22 3.2331850119604405e-01 1.6744575558836336e-01 2.2859616585715821e+00 2.3147772330700751e+00 1 0 0 0 0 -P 469 22 4.4148515143451034e-01 3.9804770404431883e-01 3.2443680482544379e+00 3.2983746218655052e+00 1 0 0 0 0 -V -160 0 1.1983470401006283e-05 1.3207294377217294e-05 1.1776782592010122e-04 1.1968459629508770e-04 0 2 0 -P 470 22 -2.4301340066221078e-02 4.3907283769436582e-02 2.4401938288657385e-01 2.4912620079262698e-01 1 0 0 0 0 -P 471 22 1.6244293470231447e-01 1.0834216026005766e-01 1.1135702572616186e+00 1.1305593520829520e+00 1 0 0 0 0 -V -161 0 3.4630075284514206e+01 -4.1959174778499408e-01 1.0443051577069147e+02 1.1494674588296520e+02 0 2 0 -P 472 2212 1.1005933998556439e+00 -6.1749009761674328e-02 3.0746031880408422e+00 3.3983310799307449e+00 1 0 0 0 0 -P 473 -211 6.0322890773452480e-02 4.7682886849288987e-02 4.2625801427967658e-01 4.5506943260034610e-01 1 0 0 0 0 -V -162 0 -4.7357584723182360e-06 6.3985294212991023e-06 2.6106587882268586e-05 3.1463143149236232e-05 0 2 0 -P 474 22 4.3973266892092941e-04 5.6365207826361091e-02 1.6625948052190604e-02 5.8767781707013016e-02 1 0 0 0 0 -P 475 22 -4.1278238818121267e-02 -1.1879042022493941e-03 2.0850251996335911e-01 2.1255259336783106e-01 1 0 0 0 0 -V -163 0 -5.7563317206079826e-06 6.0917871793002808e-06 2.9568905721680543e-07 8.8772845327675524e-06 0 2 0 -P 476 22 2.1872890559984882e-03 -1.0401663083794799e-02 8.9124295742047579e-03 1.3871201434570646e-02 1 0 0 0 0 -P 477 22 -2.6910859266995735e-01 2.9287804807327755e-01 4.7986823712958485e-03 3.9776879345232552e-01 1 0 0 0 0 -V -164 0 0 0 0 0 0 1 0 -P 478 130 1.1140884226725156e+00 1.6365689466410080e-01 -1.4262615386176185e+00 1.8841109304241952e+00 1 0 0 0 0 -V -165 0 0 0 0 0 0 2 0 -P 479 -3122 2.0131910069921948e+00 6.7764893728527717e-02 -2.6715368988585211e+00 3.5269507192217597e+00 2 0 0 -181 0 -P 480 22 -1.6076131313801340e-02 1.4322867873945886e-02 -9.7430843067236299e-03 2.3632905745189673e-02 1 0 0 0 0 -V -166 0 -2.3588379760226790e-05 4.6847721938416594e-05 -5.5574960618648883e-04 5.5839451490441211e-04 0 2 0 -P 481 22 -1.1949049708917285e-01 1.3519180044689011e-01 -2.3681807243708217e+00 2.3750441564493485e+00 1 0 0 0 0 -P 482 22 -1.0811595167675146e-01 3.1684618315194474e-01 -2.9942984095479352e+00 3.0129559452813477e+00 1 0 0 0 0 -V -167 0 -1.5531878903456809e-04 1.0499866127610461e-04 -9.3825546056534588e-04 9.5764010672608495e-04 0 2 0 -P 483 22 -4.9585461648451970e-02 9.0657133681034840e-02 -5.6380526423615873e-01 5.7319613560678850e-01 1 0 0 0 0 -P 484 22 -4.7410925234586326e-01 2.6337114730522432e-01 -2.5997490496274094e+00 2.6557181826073788e+00 1 0 0 0 0 -V -168 0 -2.3742914991980702e-06 -5.5047613892291266e-05 -3.3364509581962891e-04 3.3865264289515399e-04 0 2 0 -P 485 22 -5.1346047785156834e-02 -1.6412250976727824e-01 -7.3990671605158653e-01 7.5962791108127992e-01 1 0 0 0 0 -P 486 22 3.3722397264361485e-02 -2.4447934454129777e-01 -1.7366403164793534e+00 1.7540886348204032e+00 1 0 0 0 0 -V -169 0 -3.9442071647588028e+02 -6.1954489476130664e+02 -2.1735850335635319e+03 2.3655702926791487e+03 0 2 0 -P 487 2112 -8.5269966598634783e-01 -1.2482982212205354e+00 -4.0873634023688021e+00 4.4581023471202919e+00 1 0 0 0 0 -P 488 111 -1.2441886187471768e-02 -1.4748650932380047e-01 -5.9280379660612814e-01 6.2573397912776096e-01 2 0 0 -182 0 -V -170 0 -3.8731845683595071e+02 -6.0808637851156175e+02 -2.1351638853560548e+03 2.3238352858308413e+03 0 2 0 -P 489 22 -2.4294136801933316e-02 3.4539658646784890e-02 -1.6139449553526541e-02 4.5207023063660166e-02 1 0 0 0 0 -P 490 22 -8.7575975301444949e-03 -4.8910075968903524e-02 -2.5514816277699598e-01 2.5994129339960659e-01 1 0 0 0 0 -V -171 0 -1.0933195237963346e+02 -5.0235045203099851e+01 -2.4013370147750371e+02 2.7821504173616125e+02 0 2 0 -P 491 -2112 -1.5658670185772878e+00 -7.6716146142654740e-01 -3.3317517907494221e+00 3.8760595980748569e+00 1 0 0 0 0 -P 492 111 -1.1562836020309447e-01 -5.4397271860069998e-03 -3.6143853957406552e-01 4.0281127914266263e-01 2 0 0 -183 0 -V -172 0 5.6564325317259301e-03 -2.2810648622965798e-03 -4.8107066559107698e-03 1.0330109148124387e-02 0 2 0 -P 493 22 8.3504725860153537e-03 -6.1686271916450621e-03 6.1045606206374968e-02 6.1922115523802154e-02 1 0 0 0 0 -P 494 22 -2.7604472616102490e-02 3.4337928036938747e-02 -6.3547114597041404e-02 7.7326166230407709e-02 1 0 0 0 0 -V -173 0 -2.5371547209646385e-02 3.0636389190498072e-02 -2.1297633314969514e-01 2.2372333057617133e-01 0 2 0 -P 495 130 -3.8381231838876934e-01 4.9594078006557590e-01 -3.2339673281313233e+00 3.3315895997856435e+00 1 0 0 0 0 -P 496 310 -4.4352446428434805e-01 2.8594973325957562e-01 -2.9436292264552462e+00 3.0316842929486327e+00 2 0 0 -184 0 -V -174 0 -1.6652989478516312e+02 5.6426827439425338e+01 -1.9523859419127828e+02 2.7438809812755659e+02 0 2 0 -P 497 22 -4.9611896691106377e-01 -3.9673980701964699e-02 -6.7175137907101601e-01 8.3603706219129592e-01 1 0 0 0 0 -P 498 22 -5.4512945059224993e-02 4.1471367457650572e-02 -7.5483015880856680e-02 1.0192752907976933e-01 1 0 0 0 0 -V -175 0 -1.6653019204785372e+02 5.6427260758923254e+01 -1.9523875968452452e+02 2.7438853266426469e+02 0 2 0 -P 499 22 -3.5393953143123574e-01 1.7673538127712854e-01 -2.7700993705699223e-01 4.8295247399019869e-01 1 0 0 0 0 -P 500 22 -1.4336849767438012e-01 1.7655084486868911e-01 -2.0435345439003930e-01 3.0575326861768554e-01 1 0 0 0 0 -V -176 0 1.6356688133589280e+01 -9.0201463342084711e+00 -8.5247671939611500e+00 3.4614668885069442e+01 0 2 0 -P 501 211 4.6978346947700922e-02 -2.6100259924274977e-01 -6.8335267097857338e-02 3.0737406449267235e-01 1 0 0 0 0 -P 502 -211 2.4512620249294581e-01 9.9917069010506745e-02 -8.3903576116670597e-02 3.1078910986942410e-01 1 0 0 0 0 -V -177 0 2.9469706054036896e-04 4.5240790314715406e-04 1.1077093520806618e-03 1.2413069252204430e-03 0 2 0 -P 503 22 3.6126609958871479e-02 1.4057616038319654e-01 2.0926363458958655e-01 2.5467245154677925e-01 1 0 0 0 0 -P 504 22 2.3022644940023498e-01 2.6831909245892044e-01 7.9190608955485142e-01 8.6724541397200472e-01 1 0 0 0 0 -V -178 0 4.9225703194877646e+01 -3.8073874681758369e+01 7.5112166828078713e+01 1.0132296751172809e+02 0 2 0 -P 505 111 6.6272058382572374e-01 -5.4061401949282739e-01 1.2309991175446522e+00 1.5050051555041968e+00 2 0 0 -185 0 -P 506 111 2.3080376582982970e-01 -1.5048700915484961e-01 1.3240547924864057e-01 3.3416691874071680e-01 2 0 0 -186 0 -V -179 0 1.3696084322539210e+01 2.3219797350663836e+01 1.0138968753976570e+03 1.0146306659593140e+03 0 2 0 -P 507 22 2.8921549282624782e-02 5.7479359671112923e-02 1.8015767429731999e+00 1.8027254626323534e+00 1 0 0 0 0 -P 508 22 4.1285086439393701e-02 7.9835975721270214e-03 9.2188183229143235e+00 9.2189142238711259e+00 1 0 0 0 0 -V -180 0 1.3696084629698909e+01 2.3219803949982214e+01 1.0138962372967254e+03 1.0146300281604611e+03 0 2 0 -P 509 22 1.6307939697786111e-01 3.2581921906134687e-01 5.6713531296788773e+00 5.6830449034603641e+00 1 0 0 0 0 -P 510 22 1.3673235942334631e-02 2.7402835750636373e-02 1.5902008574409892e+00 1.5904957214008373e+00 1 0 0 0 0 -V -181 0 8.8043644790361924e+01 2.9635877628943978e+00 -1.1683533502310971e+02 1.5424547161086937e+02 0 2 0 -P 511 -2212 1.7770563282207339e+00 -3.4186617193049003e-02 -2.3164858133551092e+00 3.0668477358421207e+00 1 0 0 0 0 -P 512 211 2.3613467877146080e-01 1.0195151092157670e-01 -3.5505108550341169e-01 4.6010298337963895e-01 1 0 0 0 0 -V -182 0 -3.9442072465575706e+02 -6.1954499172582257e+02 -2.1735854233004197e+03 2.3655707040658758e+03 0 2 0 -P 513 22 4.0197117264212073e-02 -1.3040481351109726e-01 -3.2880641676034111e-01 3.5599843163417444e-01 1 0 0 0 0 -P 514 22 -5.2639003451683840e-02 -1.7081695812703201e-02 -2.6399737984578697e-01 2.6973554749358647e-01 1 0 0 0 0 -V -183 0 -1.0933195723816462e+02 -5.0235045431669072e+01 -2.4013371666461182e+02 2.7821505866169014e+02 0 2 0 -P 515 22 -1.2710329868660584e-02 -1.5687834458189054e-02 6.0244861742229771e-03 2.1070241313784526e-02 1 0 0 0 0 -P 516 22 -1.0291803033443389e-01 1.0248107272182054e-02 -3.6746302574828849e-01 3.8174103782887814e-01 1 0 0 0 0 -V -184 0 -4.0011104427493628e+01 2.5810295848911871e+01 -2.6559444100062234e+02 2.7354374979360034e+02 0 2 0 -P 517 211 -1.1916503545197171e-01 1.2306843499863213e-01 -1.9838673343442541e+00 1.9961351483668279e+00 1 0 0 0 0 -P 518 -211 -3.2435942883237623e-01 1.6288129826094347e-01 -9.5976189211099172e-01 1.0355491445818044e+00 1 0 0 0 0 -V -185 0 4.9226282621175962e+01 -3.8074347348501760e+01 7.5113243108609780e+01 1.0132428335974532e+02 0 2 0 -P 519 22 4.4143146561474261e-01 -4.2964177430910294e-01 8.2724985573673759e-01 1.0314049238212444e+00 1 0 0 0 0 -P 520 22 2.2128911821098113e-01 -1.1097224518372439e-01 4.0374926180791465e-01 4.7360023168295245e-01 1 0 0 0 0 -V -186 0 4.9225767848899054e+01 -3.8073916837007772e+01 7.5112203918230421e+01 1.0132306112040489e+02 0 2 0 -P 521 22 4.9356772561742791e-02 -1.0513068125950643e-01 7.6076014406641593e-02 1.3883843526847706e-01 1 0 0 0 0 -P 522 22 1.8144699326808689e-01 -4.5356327895343163e-02 5.6329464841998966e-02 1.9532848347223983e-01 1 0 0 0 0 -E 9 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 115 0 0 -V -1 0 0 0 0 0 1 3 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 -2 -1.3063956680622808e+00 1.2879304852865372e+00 5.1893828474231309e+00 5.5041010995066388e+00 3 0 0 -3 0 -P 14 2224 6.2629672068355446e-01 -5.5829354058455705e-01 1.9862339814540292e+03 1.9862345051592931e+03 2 0 0 -9 0 -P 20 1 6.8009894737872634e-01 -7.2963694470198015e-01 2.2511960482291925e+03 2.2511962933887798e+03 2 0 0 -14 0 -V -2 0 0 0 0 0 1 2 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 1 7.0565678882479643e-01 -1.5984513018320162e-01 -1.0981823600478867e+03 1.0981825983971498e+03 3 0 0 -4 0 -P 28 2203 -7.0565678882479643e-01 1.5984513018320162e-01 -4.3114475678564886e+03 4.3114476975637281e+03 2 0 0 -14 0 -V -3 0 0 0 0 0 0 1 0 -P 5 -2 -1.3063956680622806e+00 1.2879304852865372e+00 5.1893828474231309e+00 5.5041010995066388e+00 3 0 0 -5 0 -V -4 0 0 0 0 0 0 1 0 -P 6 1 7.0565678882479621e-01 -1.5984513018320196e-01 -1.0981823600478865e+03 1.0981825983971496e+03 3 0 0 -5 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 -2.9723146839427486e+00 2.9479669518244265e+00 2.6457283967879142e+00 4.9522764946033000e+00 3 0 0 -6 0 -P 8 -24 2.3715758047052646e+00 -1.8198815967210915e+00 -1.0956387055972511e+03 1.0987344230020528e+03 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 -2.9723146839427486e+00 2.9479669518244265e+00 2.6457283967879142e+00 4.9522764946033284e+00 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 -24 2.3715758047052646e+00 -1.8198815967210915e+00 -1.0956387055972511e+03 1.0987344230020528e+03 2 0 0 -8 0 -V -8 0 0 0 0 0 0 3 0 -P 11 -12 -5.4134620057879408e+00 2.7818509720381723e+01 -1.5330074559902630e+02 1.5589834397827471e+02 1 0 0 0 0 -P 12 11 7.7686205977028244e+00 -2.9576059382324004e+01 -9.4035688046136852e+02 9.4085395114538073e+02 1 0 0 0 0 -P 13 22 1.6417212790378732e-02 -6.2331934778808794e-02 -1.9810795368566805e+00 1.9821278783976966e+00 1 0 0 0 0 -V -9 0 0 0 0 0 0 2 0 -P 31 2212 3.9845666526000445e-01 -4.2000187219924662e-01 1.7208369731688658e+03 1.7208373263457715e+03 1 0 0 0 0 -P 32 211 2.2784005542354996e-01 -1.3829166838531035e-01 2.6539700828516311e+02 2.6539717881352135e+02 1 0 0 0 0 -V -10 0 0 0 0 0 2 1 0 -P 15 2 -5.8774466266559076e+00 -9.3245626556735572e-01 -1.6938612621707563e+02 1.6949062985417058e+02 2 0 0 -10 0 -P 16 -2 5.8774466266559076e+00 9.3245626556735572e-01 -2.6116865900135838e+02 2.6123644902291909e+02 2 0 0 -10 0 -P 33 92 0 0 -4.3055478521843401e+02 4.3072707887708964e+02 2 0 0 -11 0 -V -11 0 0 0 0 0 0 7 0 -P 34 211 -3.4223096422762840e+00 -1.1755942505505563e+00 -1.0212463398588793e+02 1.0218881823206500e+02 1 0 0 0 0 -P 35 313 -1.4318407714997392e+00 1.0448174597780837e+00 -7.2468641710313307e+01 7.2496138880553076e+01 2 0 0 -18 0 -P 36 -313 1.0440864295074967e+00 -4.5871170804924338e-01 -4.5617120785926659e+01 4.5640092033581006e+01 2 0 0 -19 0 -P 37 -213 3.2409711340366965e-01 2.3335471252859891e-01 -4.0111237075385660e+01 4.0121708510378014e+01 2 0 0 -20 0 -P 38 111 1.2936126903917291e+00 4.7104501694792161e-01 -5.4152907899216984e+01 5.4170572922410656e+01 2 0 0 -21 0 -P 39 213 1.2548924127288779e+00 -4.7071757914042800e-01 -7.1343007544735329e+01 7.1361058743643341e+01 2 0 0 -22 0 -P 40 -211 9.3746176774424972e-01 3.5580634848562342e-01 -4.4737236216968142e+01 4.4748689554458579e+01 1 0 0 0 0 -V -12 0 0 0 0 0 3 1 0 -P 17 2 -1.2925484085993182e+00 -2.9944775922487810e+00 -1.1193505744225627e+03 1.1193553260862077e+03 2 0 0 -12 0 -P 18 21 1.4025793372001376e+00 -2.7884933102773206e+00 9.4380500095915245e+00 9.9408104157635311e+00 2 0 0 -12 0 -P 19 -2 1.2925484085993182e+00 2.9944775922487810e+00 6.0026559409271556e+02 6.0027445475292370e+02 2 0 0 -12 0 -P 41 92 1.4025793372001376e+00 -2.7884933102773206e+00 -5.0964693032025559e+02 1.7295705912548949e+03 2 0 0 -13 0 -V -13 0 0 0 0 0 0 24 0 -P 42 2212 -6.4915649404280318e-01 -4.2701824006267358e-01 -3.3481058142234315e+02 3.3481279774180007e+02 1 0 0 0 0 -P 43 -2212 -4.9702749607820934e-01 -1.9489755847429249e+00 -5.5795580111420406e+02 5.5796021532878854e+02 1 0 0 0 0 -P 44 113 1.6533916537684344e-02 -2.9412170960257544e-01 -7.6806020852310596e+01 7.6812204400634272e+01 2 0 0 -23 0 -P 45 221 -1.4972892483807126e-01 4.5696574621284011e-03 -1.0055577843303921e+02 1.0055738022348076e+02 2 0 0 -24 0 -P 46 221 3.0200268424734572e-01 2.8534525335404792e-01 -2.8870835357085056e+01 2.8879014236177056e+01 2 0 0 -25 0 -P 47 211 -6.4308952739707492e-01 -7.2529706032234698e-01 -5.7806554947847131e+00 5.8630263260746780e+00 1 0 0 0 0 -P 48 -213 3.3534244198776286e-01 1.3819689112114653e-01 -4.9513827912839794e+00 4.9961422616793758e+00 2 0 0 -26 0 -P 49 213 3.8463247216398370e-02 -2.6825695664888762e-02 -6.2305386932288869e+00 6.2750941019503417e+00 2 0 0 -27 0 -P 50 -211 -3.0493494659552672e-01 4.0145043880181042e-01 -5.0694511698343381e-01 7.2843730890360803e-01 1 0 0 0 0 -P 51 213 4.5194685326190176e-01 -3.3844629401524673e-01 -1.5162335922911572e+00 1.8063449324268250e+00 2 0 0 -28 0 -P 52 113 2.7127567356955044e-02 -3.5096115077676360e-01 -2.0560156402869595e-01 8.5167643807785465e-01 2 0 0 -29 0 -P 53 313 1.5417297555815859e-01 -2.8232887295282283e-01 9.8735536340780428e-01 1.3695271653989567e+00 2 0 0 -30 0 -P 54 -321 1.6551837760939633e-01 -1.1656322834342046e+00 1.9035451055119379e+00 2.2919903756841866e+00 1 0 0 0 0 -P 55 223 2.7048492858539253e-01 6.4531024760498323e-01 4.8493013060375016e+00 4.9634403118180437e+00 2 0 0 -31 0 -P 56 211 3.8312833002830518e-02 -6.7146029886687178e-02 -3.8093840362958112e-02 1.6403471606902364e-01 1 0 0 0 0 -P 57 113 -1.9506129454061361e-01 -4.4996827569324266e-01 9.0912943373856825e-01 1.1300284456403529e+00 2 0 0 -32 0 -P 58 311 2.5486600266519988e-01 -5.5963768406031345e-01 7.0488897796228791e+00 7.0931427146862651e+00 2 0 0 -33 0 -P 59 -323 5.8984323195972610e-01 5.0704121519152545e-01 1.2620140238622938e+01 1.2677108878334321e+01 2 0 0 -34 0 -P 60 113 4.7159765669982140e-01 -9.8137013413514440e-01 2.4370406619890971e+01 2.4406162239602889e+01 2 0 0 -35 0 -P 61 113 -3.7486729996664692e-01 7.1444064961249365e-01 3.2438220987768268e+01 3.2455915309327651e+01 2 0 0 -36 0 -P 62 223 1.4179614786791939e-01 3.7607095473386615e-01 9.2454157450938268e+01 9.2458324597560690e+01 2 0 0 -37 0 -P 63 223 -2.5333004221869093e-01 -1.7482317991745372e-01 4.1049255544223520e+01 4.1057845264441667e+01 2 0 0 -38 0 -P 64 321 8.9930855079187644e-01 4.6279031139923948e-01 1.3433665469657635e+02 1.3434136878403856e+02 1 0 0 0 0 -P 65 -321 3.1245794752940531e-01 1.4688432657087267e+00 2.5561448142535130e+02 2.5561936915229936e+02 1 0 0 0 0 -V -14 0 0 0 0 0 7 1 0 -P 21 21 4.5189465118581147e+00 3.0246444971641862e-01 7.5589346639934547e+01 7.5724907974672121e+01 2 0 0 -14 0 -P 22 21 2.3306161753086991e+00 2.5263018388499852e+00 1.6213072005400015e+01 1.6573402685926418e+01 2 0 0 -14 0 -P 23 21 -2.3306161753086991e+00 -2.5263018388499852e+00 1.7097855225215859e+01 1.7439914737177720e+01 2 0 0 -14 0 -P 24 21 -4.5189465118581147e+00 -3.0246444971641862e-01 -3.2145610931228710e+00 5.5538964107909132e+00 2 0 0 -14 0 -P 25 21 3.3444552178150491e+00 -3.3682323125838081e+00 -1.2861369300978330e+01 1.3709310336835030e+01 2 0 0 -14 0 -P 26 21 -1.4025793372001376e+00 2.7884933102773206e+00 -5.6917899608951075e+00 6.4914864782689392e+00 2 0 0 -14 0 -P 27 21 -3.3444552178150491e+00 3.3682323125838081e+00 -1.4040682664225221e+01 1.4821306936062644e+01 2 0 0 -14 0 -P 66 92 -1.4281371786462076e+00 2.2187014957585420e+00 -1.9871596487759671e+03 6.7129582165122420e+03 2 0 0 -15 0 -V -15 0 0 0 0 0 0 35 0 -P 67 -213 5.4216260460293231e-01 -7.8759029792302415e-01 1.9393385450254702e+03 1.9393389087263906e+03 2 0 0 -39 0 -P 68 211 1.0135732704315257e-02 5.3514575211682114e-01 2.3409980209226654e+02 2.3410045558078767e+02 1 0 0 0 0 -P 69 1114 8.9641438172015775e-01 -3.6392129443568710e-01 4.4812864618973961e+01 4.4840773987411758e+01 2 0 0 -40 0 -P 70 211 3.8473184386194154e-01 1.7416136993019182e-01 7.6482609489049134e+00 7.6611830745584788e+00 1 0 0 0 0 -P 71 -2212 1.3570820383715327e+00 -3.4833837508799126e-01 5.9400969475256197e+01 5.9424898287465744e+01 1 0 0 0 0 -P 72 223 5.3513808491869197e-01 5.6258841694084194e-01 1.3497984646533387e+01 1.3542742700934161e+01 2 0 0 -41 0 -P 73 111 1.4249126471823113e+00 -8.7326689179198683e-02 2.6487334767795783e+01 2.6526121554128995e+01 2 0 0 -42 0 -P 74 113 1.0243223484583437e+00 8.9460184235475726e-01 7.8398598406213731e+00 8.0044033243370425e+00 2 0 0 -43 0 -P 75 213 7.8146511190515611e-01 8.1085897447583399e-01 9.7004079181519618e+00 9.7985969509811213e+00 2 0 0 -44 0 -P 76 223 -6.0070864720254791e-01 -7.5020685309669766e-01 4.3286489963019363e+00 4.5018892429835349e+00 2 0 0 -45 0 -P 77 -213 2.0007537718930121e-01 -8.0481277249238786e-02 2.7952951677960907e+00 2.9524405521698647e+00 2 0 0 -46 0 -P 78 113 -4.2184079371557825e-01 6.6478556099176161e-02 2.1918020937664431e+00 2.2875634621838854e+00 2 0 0 -47 0 -P 79 213 -6.8390630107822026e-01 -1.2031666983062672e+00 6.5479758970760322e+00 6.7835848615007661e+00 2 0 0 -48 0 -P 80 111 -5.9823858771689586e-01 -1.2013185150743945e-01 9.0499212497479931e-01 1.0997960793922275e+00 2 0 0 -49 0 -P 81 -211 -1.8659891773971918e-01 3.9874400471142490e-01 -3.5494610553090200e-01 5.8247957914977033e-01 1 0 0 0 0 -P 82 113 -9.1461437410828916e-01 -4.4389801834541065e-01 -7.0381543247325407e-01 1.5379185055407165e+00 2 0 0 -50 0 -P 83 213 -1.2615073893577071e+00 1.7769459083209821e-01 -8.9289455873395662e-01 1.7351143047719249e+00 2 0 0 -51 0 -P 84 -211 -8.7219080940381755e-01 -1.8926094685784717e-01 -5.3480327737921796e-01 1.0497765688037612e+00 1 0 0 0 0 -P 85 113 6.2141214984468351e-01 -8.6421893286914353e-02 -2.4332734261172653e+00 2.6283177307616250e+00 2 0 0 -52 0 -P 86 211 -3.5446434481312317e-01 -1.2268348898738159e+00 -1.2253959392308320e+00 1.7753432939966589e+00 1 0 0 0 0 -P 87 2112 9.1472463744437760e-01 -1.2569570091894453e-01 -3.6476223116165620e+00 3.8782033062592536e+00 1 0 0 0 0 -P 88 -2212 8.6361312614816066e-01 -9.1836205712359598e-01 -4.8715921735632639e+00 5.1187867115208592e+00 1 0 0 0 0 -P 89 113 2.0594892520170244e-02 2.0438980965336340e-01 -5.7002702256806792e-01 9.3915477322444918e-01 2 0 0 -53 0 -P 90 213 -6.4584413784606176e-01 7.8022036598574573e-01 -3.1474571005361729e+00 3.4019473481372686e+00 2 0 0 -54 0 -P 91 113 -1.0973380029073554e+00 7.4299977704846509e-01 -5.3024187721700224e+00 5.5125660457410666e+00 2 0 0 -55 0 -P 92 313 -5.3612158238681562e-01 9.9278532523932750e-01 -3.4650732050135691e+00 3.7239560285499427e+00 2 0 0 -56 0 -P 93 -321 -1.2221331636647612e+00 1.5690691103915120e+00 -4.6853289562246045e+00 5.1138572262970730e+00 1 0 0 0 0 -P 94 221 -6.2878961836263358e-01 3.9774130133513302e-01 -4.6596960331790589e+00 4.7503729486297237e+00 2 0 0 -57 0 -P 95 213 -1.5227279129650367e-01 7.2806206429657749e-01 -2.1391236973384483e+01 2.1421593665725354e+01 2 0 0 -58 0 -P 96 113 3.0209002088422593e-01 -3.9448441998462064e-01 -1.0899232925753084e+01 1.0936206424161766e+01 2 0 0 -59 0 -P 97 111 -8.0811401894910795e-01 4.0766228483193984e-01 -2.8448690697297046e+01 2.8463405607849737e+01 2 0 0 -60 0 -P 98 -213 1.2089810072332315e-01 -5.2079050430329710e-01 -1.1939975039352846e+02 1.1940300095633448e+02 2 0 0 -61 0 -P 99 223 5.4114373167817453e-01 2.7085749567615108e-01 -4.2861438876063943e+02 4.2861551326973716e+02 2 0 0 -62 0 -P 100 2212 -8.2348818137401925e-01 8.9103884396884103e-02 -1.7961757953324147e+03 1.7961762313762292e+03 1 0 0 0 0 -P 101 213 -1.6088234688084649e-01 6.2448336922287219e-02 -1.9053309529925027e+03 1.9053311124555951e+03 2 0 0 -63 0 -V -16 0 0 0 0 0 2 1 0 -P 29 21 1.7182462671114402e+00 2.3426872894360549e+00 2.1255453864254928e-01 2.9130282186112093e+00 2 0 0 -16 0 -P 30 21 -1.7182462671114402e+00 -2.3426872894360549e+00 2.0339078055224470e+03 2.0339098804812140e+03 2 0 0 -16 0 -P 102 92 0 0 2.0341203600610895e+03 2.0368229086998253e+03 2 0 0 -17 0 -V -17 0 0 0 0 0 0 20 0 -P 103 -211 -6.0384089246498240e-02 -2.1593397066779253e-02 6.7328643487245954e-01 6.9058447804325818e-01 1 0 0 0 0 -P 104 111 3.0137821631491024e-01 6.9978369862249840e-02 2.1411449928155655e+00 2.1675902016241224e+00 2 0 0 -64 0 -P 105 211 -7.4504913328202721e-02 1.3535438527297250e-01 7.5149850953364265e+01 7.5150139387026329e+01 1 0 0 0 0 -P 106 311 -3.0824762001330436e-01 -1.4402182869475991e-01 3.9741975944594941e+02 3.9742021668806382e+02 2 0 0 -65 0 -P 107 333 -9.1866028181973891e-01 -2.0597240947952193e+00 9.9285414260558821e+02 9.9285721752589359e+02 2 0 0 -66 0 -P 108 -323 -2.3490715754350402e-01 8.3095883242977953e-02 4.9572324857581219e+02 4.9572416549705343e+02 2 0 0 -67 0 -P 109 111 4.1806436528339791e-01 -2.2899116272598369e-01 6.4652151043041934e+00 6.4841684672322852e+00 2 0 0 -68 0 -P 110 3222 -5.6454807151714115e-01 3.0038362700044496e-01 1.5559636563150063e+01 1.5618125233927406e+01 2 0 0 -69 0 -P 111 -3212 -1.2459659851310380e-01 1.4248779043166906e-01 1.5027023583236335e+01 1.5075458213813077e+01 2 0 0 -70 0 -P 112 -213 3.7655640018993020e-01 -3.8287574679571718e-01 1.8935226661500398e+01 1.8955778084047072e+01 2 0 0 -71 0 -P 113 211 -1.4243498041231339e-01 3.1036147917840962e-01 3.6873645553705686e-01 5.2159211070040012e-01 1 0 0 0 0 -P 114 113 3.8953818738287976e-01 3.5983308392962821e-03 2.9199479223354214e+00 3.0414263991854740e+00 2 0 0 -72 0 -P 115 111 -9.0634448722506072e-03 6.1399994260374857e-01 8.6138652128429471e-01 1.0664353777893050e+00 2 0 0 -73 0 -P 116 -213 2.1126425569031212e-01 7.2662728626688444e-01 1.7631477856117816e-01 1.0907967455146763e+00 2 0 0 -74 0 -P 117 211 1.8890292053918842e-01 -3.9217829654797970e-01 4.2376063239215755e-01 6.2333056088797001e-01 1 0 0 0 0 -P 118 -211 -5.8451538057038684e-02 1.9531982712468343e-01 3.1711758377891242e-01 4.0200716910401635e-01 1 0 0 0 0 -P 119 221 9.1656294346312978e-02 -7.2250132436744510e-02 4.2083038462435490e-01 7.0030041628825801e-01 2 0 0 -75 0 -P 120 323 3.2393892176032707e-01 5.9901412523414366e-01 3.2048749331960464e+00 3.3826342799303069e+00 2 0 0 -76 0 -P 121 -323 8.3047607121168998e-01 3.6045783335863357e-01 4.3175731064757974e+00 4.4982902518816132e+00 2 0 0 -77 0 -P 122 211 -6.3597693739585281e-01 -2.3904422135293027e-01 1.1612828223115010e+00 1.3526516118193193e+00 1 0 0 0 0 -V -18 0 0 0 0 0 0 2 0 -P 123 311 -8.8835934438628372e-01 6.8074086066904238e-01 -5.6890766581735761e+01 5.6903950549417800e+01 2 0 0 -78 0 -P 124 111 -5.4348142711345571e-01 3.6407659910904144e-01 -1.5577875128577560e+01 1.5592188331135288e+01 2 0 0 -79 0 -V -19 0 0 0 0 0 0 2 0 -P 125 -321 1.0773689084100895e+00 -5.1649738648580301e-01 -4.0378564311746878e+01 4.0399252346459754e+01 1 0 0 0 0 -P 126 211 -3.3282478902592651e-02 5.7785678436559643e-02 -5.2385564741797834e+00 5.2408396871212544e+00 1 0 0 0 0 -V -20 0 0 0 0 0 0 2 0 -P 127 -211 2.3663845137153569e-01 3.6141929721200028e-01 -3.7375453158979781e+01 3.7378210233892375e+01 1 0 0 0 0 -P 128 111 8.7458662032133927e-02 -1.2806458468340143e-01 -2.7357839164058722e+00 2.7434982764856324e+00 2 0 0 -80 0 -V -21 0 1.8697213022662409e-04 6.8082425988507642e-05 -7.8269830089690295e-03 7.8295362206386096e-03 0 2 0 -P 129 22 1.1490964488537836e-01 8.5213701923610385e-02 -5.5616412847888865e+00 5.5634808692177042e+00 1 0 0 0 0 -P 130 22 1.1787030455063505e+00 3.8583131502431123e-01 -4.8591266614428093e+01 4.8607092053192950e+01 1 0 0 0 0 -V -22 0 0 0 0 0 0 2 0 -P 131 211 9.2572302897073211e-01 -2.0288737845322695e-02 -3.1494950736642860e+01 3.1508868219085731e+01 1 0 0 0 0 -P 132 111 3.2916938375814553e-01 -4.5042884129510524e-01 -3.9848056808092458e+01 3.9852190524557592e+01 2 0 0 -81 0 -V -23 0 0 0 0 0 0 2 0 -P 133 211 5.5628915281980412e-02 -1.7240521926811242e-01 -4.4020576842464809e+00 4.4079938493808974e+00 1 0 0 0 0 -P 134 -211 -3.9094998744296061e-02 -1.2171649033446306e-01 -7.2403963168064124e+01 7.2404210551253385e+01 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 135 22 -1.5444404052236614e-02 -1.2303691275080576e-01 -5.4080212553685936e+00 5.4094427171414141e+00 1 0 0 0 0 -P 136 22 -1.3428452078583464e-01 1.2760657021293417e-01 -9.5147757177670613e+01 9.5147937506339346e+01 1 0 0 0 0 -V -25 0 0 0 0 0 0 3 0 -P 137 111 9.2311480631191989e-02 1.8010222032173673e-01 -1.5022100885582585e+01 1.5024070448325322e+01 2 0 0 -82 0 -P 138 111 1.5389951085199688e-01 1.3360790730478667e-01 -6.2955950525981503e+00 6.3003391019081789e+00 2 0 0 -83 0 -P 139 111 5.5791692764156894e-02 -2.8364874272475478e-02 -7.5531394189043217e+00 7.5546046859435538e+00 2 0 0 -84 0 -V -26 0 0 0 0 0 0 2 0 -P 140 -211 3.4795871222769470e-01 1.2913562700567929e-01 -4.6335489000911831e+00 4.6504845414229168e+00 1 0 0 0 0 -P 141 111 -1.2616270239931780e-02 9.0612641154672498e-03 -3.1783389119279665e-01 3.4565772025645797e-01 2 0 0 -85 0 -V -27 0 0 0 0 0 0 2 0 -P 142 211 -2.6507126648343393e-01 1.6611475780357760e-01 -3.6620259310433121e+00 3.6780117718148904e+00 1 0 0 0 0 -P 143 111 3.0353451369983231e-01 -1.9294045346846636e-01 -2.5685127621855748e+00 2.5970823301354509e+00 2 0 0 -86 0 -V -28 0 0 0 0 0 0 2 0 -P 144 211 4.2568471861282581e-01 -5.3585815142727589e-01 -8.6305498665514868e-01 1.1102680455646092e+00 1 0 0 0 0 -P 145 111 2.6262134649075942e-02 1.9741185741202916e-01 -6.5317860563600838e-01 6.9607688686221558e-01 2 0 0 -87 0 -V -29 0 0 0 0 0 0 2 0 -P 146 211 2.7491546942463990e-01 1.5012758060953384e-02 6.4340006694604740e-02 3.1531463587189956e-01 1 0 0 0 0 -P 147 -211 -2.4778790206768489e-01 -3.6597390883771697e-01 -2.6994157072330072e-01 5.3636180220595964e-01 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 148 321 -3.4500238693339409e-02 -1.0597931797356490e-01 9.4631402810185450e-01 1.0731137321320592e+00 1 0 0 0 0 -P 149 -211 1.8867321425149802e-01 -1.7634955497925797e-01 4.1041335305949819e-02 2.9641343326689734e-01 1 0 0 0 0 -V -31 0 0 0 0 0 0 3 0 -P 150 -211 1.7372815870072264e-01 3.9816647204593414e-01 1.3106575762200228e+00 1.3878116153102316e+00 1 0 0 0 0 -P 151 211 2.2174429060384263e-02 -7.0700764257547011e-02 9.6535187332727646e-01 9.7819953363679191e-01 1 0 0 0 0 -P 152 111 7.4582340824285623e-02 3.1784453981659611e-01 2.5732918564902025e+00 2.5974291628710198e+00 2 0 0 -88 0 -V -32 0 0 0 0 0 0 2 0 -P 153 -211 3.3962108465623669e-02 -1.2136739619253469e-02 3.0383058001969304e-01 3.3629381724188662e-01 1 0 0 0 0 -P 154 211 -2.2902340300623730e-01 -4.3783153607398917e-01 6.0529885371887526e-01 7.9373462839846587e-01 1 0 0 0 0 -V -33 0 0 0 0 0 0 1 0 -P 155 130 2.5486600266519988e-01 -5.5963768406031345e-01 7.0488897796228791e+00 7.0931427146862633e+00 1 0 0 0 0 -V -34 0 0 0 0 0 0 2 0 -P 156 -311 6.3629118454362399e-01 2.6066327066419842e-01 7.2899009219783402e+00 7.3391513605703720e+00 2 0 0 -89 0 -P 157 -211 -4.6447952583897813e-02 2.4637794452732709e-01 5.3302393166445974e+00 5.3379575177639449e+00 1 0 0 0 0 -V -35 0 0 0 0 0 0 2 0 -P 158 -211 -1.3843969334754791e-01 -1.1573951633130124e-01 2.7775781205311443e+00 2.7869304234027963e+00 1 0 0 0 0 -P 159 211 6.1003735004736936e-01 -8.6563061780384321e-01 2.1592828499359829e+01 2.1619231816200092e+01 1 0 0 0 0 -V -36 0 0 0 0 0 0 2 0 -P 160 -211 -5.3563447701898401e-02 6.6112470805366741e-01 1.6778003219314172e+01 1.6791689216238652e+01 1 0 0 0 0 -P 161 211 -3.2130385226474850e-01 5.3315941558826262e-02 1.5660217768454098e+01 1.5664226093088988e+01 1 0 0 0 0 -V -37 0 0 0 0 0 0 3 0 -P 162 211 -6.6907931039927135e-02 1.2175756451401197e-01 1.3514430333249674e+01 1.3515865070091197e+01 1 0 0 0 0 -P 163 -211 1.5997741131462320e-01 -8.4859508363502090e-02 1.5752145709471709e+01 1.5753804878365688e+01 1 0 0 0 0 -P 164 111 4.8726667593223340e-02 3.3917289858335631e-01 6.3187581408216893e+01 6.3188654649103782e+01 2 0 0 -90 0 -V -38 0 0 0 0 0 0 3 0 -P 165 -211 -2.2781057367096993e-01 -1.8076023205047512e-01 2.2204623661144236e+01 2.2206966556396523e+01 1 0 0 0 0 -P 166 211 -8.8088472241610968e-02 1.2956137830090980e-01 4.4468232102231378e+00 4.4517706789061249e+00 1 0 0 0 0 -P 167 111 6.2569003693889999e-02 -1.2362432616788839e-01 1.4397808672856140e+01 1.4399108029138999e+01 2 0 0 -91 0 -V -39 0 0 0 0 0 0 2 0 -P 168 -211 1.1575661872227846e-01 -5.9566096362919352e-01 7.2921715829360608e+02 7.2921742412065646e+02 1 0 0 0 0 -P 169 111 4.2640598588065382e-01 -1.9192933429383069e-01 1.2101213867318643e+03 1.2101214846057335e+03 2 0 0 -92 0 -V -40 0 0 0 0 0 0 2 0 -P 170 2112 5.7730953717981204e-01 -4.9267549823692297e-01 3.3126349100956851e+01 3.3148360622987781e+01 1 0 0 0 0 -P 171 -211 3.1910484454034588e-01 1.2875420380123584e-01 1.1686515518017115e+01 1.1692413364423977e+01 1 0 0 0 0 -V -41 0 0 0 0 0 0 3 0 -P 172 -211 9.5487207154282661e-02 -6.2863114436684478e-02 1.2548498161728181e+00 1.2677529033434551e+00 1 0 0 0 0 -P 173 211 2.1429886442208966e-02 1.3131790882612157e-01 1.6489652622608375e+00 1.6602017510695333e+00 1 0 0 0 0 -P 174 111 4.1822099132220031e-01 4.9413362255140486e-01 1.0594169568099732e+01 1.0614788046521172e+01 2 0 0 -93 0 -V -42 0 1.8062935474981218e-04 -1.1069986325174275e-05 3.3576726247816625e-03 3.3625894399998031e-03 0 2 0 -P 175 22 6.7619288638646513e-01 -9.1896050652983813e-02 1.1803182198575048e+01 1.1822892696649337e+01 1 0 0 0 0 -P 176 22 7.4871976079584612e-01 4.5693614737851275e-03 1.4684152569220737e+01 1.4703228857479658e+01 1 0 0 0 0 -V -43 0 0 0 0 0 0 2 0 -P 177 -211 1.8255094262342417e-01 4.9281267235300757e-01 4.5388757870887497e+00 4.5713304816218363e+00 1 0 0 0 0 -P 178 211 8.4177140583491938e-01 4.0178917000174957e-01 3.3009840535326229e+00 3.4330728427152049e+00 1 0 0 0 0 -V -44 0 0 0 0 0 0 2 0 -P 179 211 6.4478111510714742e-01 7.1330192574342022e-01 9.2323181717291547e+00 9.2833033416240607e+00 1 0 0 0 0 -P 180 111 1.3668399679800877e-01 9.7557048732413817e-02 4.6808974642280660e-01 5.1529360935705770e-01 2 0 0 -94 0 -V -45 0 0 0 0 0 0 3 0 -P 181 -211 -3.3985093605444544e-01 -3.3839691300994644e-02 1.0124513152340913e+00 1.0775811960421686e+00 1 0 0 0 0 -P 182 211 -1.2829685354263031e-02 -1.2856125071302602e-01 5.3883610377089486e-01 5.7141642226854616e-01 1 0 0 0 0 -P 183 111 -2.4802802579383956e-01 -5.8780591108267710e-01 2.7773615772969507e+00 2.8528916246728215e+00 2 0 0 -95 0 -V -46 0 0 0 0 0 0 2 0 -P 184 -211 1.3358989959828704e-01 3.8645547651348672e-01 1.6675168582308439e+00 1.7225813054790797e+00 1 0 0 0 0 -P 185 111 6.6485477591014169e-02 -4.6693675376272548e-01 1.1277783095652469e+00 1.2298592466907843e+00 2 0 0 -96 0 -V -47 0 0 0 0 0 0 2 0 -P 186 211 -9.3953505824433764e-02 -1.5916621156773283e-01 8.5366541626208947e-01 8.8452561974396915e-01 1 0 0 0 0 -P 187 -211 -3.2788728789114446e-01 2.2564476766690900e-01 1.3381366775043535e+00 1.4030378424399157e+00 1 0 0 0 0 -V -48 0 0 0 0 0 0 2 0 -P 188 211 -3.1297297759670162e-01 -1.2700760300481633e+00 5.6378957412772790e+00 5.7893344506273889e+00 1 0 0 0 0 -P 189 111 -3.7093332348151864e-01 6.6909331741895992e-02 9.1008015579875357e-01 9.9425041087337529e-01 2 0 0 -97 0 -V -49 0 -1.4965826533362982e-04 -3.0052766366232216e-05 2.2639721733967781e-04 2.7513031897644541e-04 0 2 0 -P 190 22 -3.0753609678583916e-02 -4.0951860957295985e-02 6.0453254742586303e-02 7.9230268414921035e-02 1 0 0 0 0 -P 191 22 -5.6748497803831199e-01 -7.9179990550143464e-02 8.4453887023221308e-01 1.0205658109773066e+00 1 0 0 0 0 -V -50 0 0 0 0 0 0 2 0 -P 192 211 -3.7395809242150829e-01 -5.4704665311005618e-01 -6.9450929608971679e-01 9.7001424877239883e-01 1 0 0 0 0 -P 193 -211 -5.4065628168678093e-01 1.0314863476464556e-01 -9.3061363835372987e-03 5.6790425676831746e-01 1 0 0 0 0 -V -51 0 0 0 0 0 0 2 0 -P 194 211 -1.0036870681900585e+00 6.0908344293775021e-02 -9.7858835208038319e-01 1.4100398948199884e+00 1 0 0 0 0 -P 195 111 -2.5782032116764880e-01 1.1678624653832320e-01 8.5693793346426558e-02 3.2507440995193648e-01 2 0 0 -98 0 -V -52 0 0 0 0 0 0 2 0 -P 196 -211 -4.1290701932326097e-02 -2.0666261137288519e-01 -1.0930205176097356e+00 1.1218680821831855e+00 1 0 0 0 0 -P 197 211 6.6270285177700960e-01 1.2024071808597084e-01 -1.3402529085075296e+00 1.5064496485784395e+00 1 0 0 0 0 -V -53 0 0 0 0 0 0 2 0 -P 198 -211 -3.1658924960087986e-01 1.5111911254455840e-01 -2.9258169938081902e-01 4.7765005480128553e-01 1 0 0 0 0 -P 199 211 3.3718414212105013e-01 5.3270697108805012e-02 -2.7744532318724890e-01 4.6150471842316365e-01 1 0 0 0 0 -V -54 0 0 0 0 0 0 2 0 -P 200 211 7.8603340975565442e-02 2.4826114704283447e-02 -1.3818930413805391e-01 2.1300443624955517e-01 1 0 0 0 0 -P 201 111 -7.2444747882162719e-01 7.5539425128146231e-01 -3.0092677963981189e+00 3.1889429118877124e+00 2 0 0 -99 0 -V -55 0 0 0 0 0 0 2 0 -P 202 211 -7.1336812839619990e-01 1.2156278646260546e-01 -2.1215576393421842e+00 2.2459203457859389e+00 1 0 0 0 0 -P 203 -211 -3.8396987451115550e-01 6.2143699058585955e-01 -3.1808611328278378e+00 3.2666456999551263e+00 1 0 0 0 0 -V -56 0 0 0 0 0 0 2 0 -P 204 321 -1.7893673284703560e-01 6.0568524101514520e-01 -1.7601004507644631e+00 1.9340288318240793e+00 1 0 0 0 0 -P 205 -211 -3.5718484953977997e-01 3.8710008422418218e-01 -1.7049727542491055e+00 1.7899271967258628e+00 1 0 0 0 0 -V -57 0 0 0 0 0 0 3 0 -P 206 111 -2.9554292158215627e-02 6.8699727020969506e-02 -6.7667418059625295e-01 6.9404658039885136e-01 2 0 0 -100 0 -P 207 111 -8.3861532678087297e-02 5.2894938783996322e-02 -8.9880718379003643e-01 9.1427817716746196e-01 2 0 0 -101 0 -P 208 111 -5.1537379352633073e-01 2.7614663553016722e-01 -3.0842146687927694e+00 3.1420481910634095e+00 2 0 0 -102 0 -V -58 0 0 0 0 0 0 2 0 -P 209 211 -2.8787457288157677e-02 2.4879370258541306e-01 -1.6687893171284660e+01 1.6690356056874656e+01 1 0 0 0 0 -P 210 111 -1.2348533400834598e-01 4.7926836171116444e-01 -4.7033438020998224e+00 4.7312376088506980e+00 2 0 0 -103 0 -V -59 0 0 0 0 0 0 2 0 -P 211 -211 3.0913726888285875e-01 -2.4912078764392806e-01 -2.5465295938249941e+00 2.5810695021589738e+00 1 0 0 0 0 -P 212 211 -7.0472479986327845e-03 -1.4536363234069261e-01 -8.3527033319280903e+00 8.3551369220027905e+00 1 0 0 0 0 -V -60 0 -2.5008859253652064e-05 1.2616002773522305e-05 -8.8040707736340902e-04 8.8086246251737634e-04 0 2 0 -P 213 22 -3.0216804572784750e-01 1.8884543693933467e-01 -1.3003859249159436e+01 1.3008740273326284e+01 1 0 0 0 0 -P 214 22 -5.0594597322126056e-01 2.1881684789260519e-01 -1.5444831448137609e+01 1.5454665334523453e+01 1 0 0 0 0 -V -61 0 0 0 0 0 0 2 0 -P 215 -211 -2.2421009461650029e-01 -6.5249877864224176e-02 -5.1189059483439948e+01 5.1189782362275601e+01 1 0 0 0 0 -P 216 111 3.4510819533982345e-01 -4.5554062643907289e-01 -6.8210690910088516e+01 6.8213218594058873e+01 2 0 0 -104 0 -V -62 0 0 0 0 0 0 3 0 -P 217 211 3.1996614273406238e-01 2.2698112849886470e-01 -2.1384580773417935e+02 2.1384621311595322e+02 1 0 0 0 0 -P 218 -211 2.0155403003524568e-02 1.0084712989668214e-01 -1.6553192481345258e+02 1.6553201560005030e+02 1 0 0 0 0 -P 219 111 2.0102218594058774e-01 -5.6970762719395704e-02 -4.9236656213007620e+01 4.9237284553733737e+01 2 0 0 -105 0 -V -63 0 0 0 0 0 0 2 0 -P 220 211 -1.1965928167053523e-02 -1.7609060069797053e-01 -1.5658354689143539e+03 1.5658354850817191e+03 1 0 0 0 0 -P 221 111 -1.4891641871379296e-01 2.3853893762025774e-01 -3.3949548407814893e+02 3.3949562737387589e+02 2 0 0 -106 0 -V -64 0 1.7224079361358685e-05 3.9993368161236640e-06 1.2236866927998514e-04 1.2388004054236708e-04 0 2 0 -P 222 22 3.4213945668553833e-02 6.0764556174071421e-02 3.9702505912805364e-01 4.0310274489375181e-01 1 0 0 0 0 -P 223 22 2.6716427064635639e-01 9.2138136881784183e-03 1.7441199336875117e+00 1.7644874567303706e+00 1 0 0 0 0 -V -65 0 0 0 0 0 0 1 0 -P 224 130 -3.0824762001330436e-01 -1.4402182869475991e-01 3.9741975944594941e+02 3.9742021668806376e+02 1 0 0 0 0 -V -66 0 0 0 0 0 0 2 0 -P 225 130 -5.6718967892915073e-01 -1.1431034690863549e+00 5.6205241242334318e+02 5.6205408136228459e+02 1 0 0 0 0 -P 226 310 -3.5147060289058818e-01 -9.1662062570886449e-01 4.3080173018224508e+02 4.3080313616360888e+02 2 0 0 -107 0 -V -67 0 0 0 0 0 0 2 0 -P 227 -311 -2.4546654743398341e-01 -2.3146159829648183e-01 2.8342132256983007e+02 2.8342196031881150e+02 2 0 0 -108 0 -P 228 -211 1.0559389890479413e-02 3.1455748153945978e-01 2.1230192600598207e+02 2.1230220517824185e+02 1 0 0 0 0 -V -68 0 4.8796540959387777e-05 -2.6727885893172615e-05 7.5462096233572576e-04 7.5683320195057979e-04 0 2 0 -P 229 22 2.6685060975905711e-01 -1.4011960385428618e-01 4.8753534441163167e+00 4.8846610892025959e+00 1 0 0 0 0 -P 230 22 1.5121375552434085e-01 -8.8871558871697537e-02 1.5898616601878772e+00 1.5995073780296898e+00 1 0 0 0 0 -V -69 0 -1.2542959339478501e+00 6.6738331238764326e-01 3.4569932764836054e+01 3.4699881135292600e+01 0 2 0 -P 231 2112 -4.8062679974778633e-01 3.6572879428995364e-01 1.4593581181314528e+01 1.4636261925509741e+01 1 0 0 0 0 -P 232 211 -8.3921271769354780e-02 -6.5345167289508649e-02 9.6605538183553463e-01 9.8186330841766378e-01 1 0 0 0 0 -V -70 0 0 0 0 0 0 2 0 -P 233 -3122 -6.4332980426235087e-02 1.6435334128651716e-01 1.4602391787438231e+01 1.4646014424730232e+01 2 0 0 -109 0 -P 234 22 -6.0263618086868719e-02 -2.1865550854848093e-02 4.2463179579810417e-01 4.2944378908284236e-01 1 0 0 0 0 -V -71 0 0 0 0 0 0 2 0 -P 235 -211 1.2164753959102612e-01 -4.5521551591701886e-01 7.1835598725210605e+00 7.2003494024120069e+00 1 0 0 0 0 -P 236 111 2.5490886059890411e-01 7.2339769121301689e-02 1.1751666788979339e+01 1.1755428681635065e+01 2 0 0 -110 0 -V -72 0 0 0 0 0 0 2 0 -P 237 -211 1.1930293579631301e-01 2.0049976557463289e-01 2.3525837282285753e+00 2.3682405557102864e+00 1 0 0 0 0 -P 238 211 2.7023525158656675e-01 -1.9690143473533661e-01 5.6736419410684646e-01 6.7318584347518806e-01 1 0 0 0 0 -V -73 0 -1.4041331718659690e-06 9.5122516778726869e-05 1.3344830860466966e-04 1.6521502703569109e-04 0 2 0 -P 239 22 -3.4840433826297368e-02 2.3835644419272761e-01 4.3776599393873217e-01 4.9966660461408824e-01 1 0 0 0 0 -P 240 22 2.5776988954046759e-02 3.7564349841102102e-01 4.2362052734556249e-01 5.6676877317521679e-01 1 0 0 0 0 -V -74 0 0 0 0 0 0 2 0 -P 241 -211 -4.8632585458811266e-02 5.7613097737265306e-01 -1.6428978489932830e-01 6.1705992397744047e-01 1 0 0 0 0 -P 242 111 2.5989684114912343e-01 1.5049630889423141e-01 3.4060456346050649e-01 4.7373682153723579e-01 2 0 0 -111 0 -V -75 0 0 0 0 0 0 2 0 -P 243 22 -8.2029197985667976e-02 -1.7893268748394126e-01 4.5302511305727694e-01 4.9394073433252722e-01 1 0 0 0 0 -P 244 22 1.7368549233198097e-01 1.0668255504719676e-01 -3.2194728432922044e-02 2.0635968195573082e-01 1 0 0 0 0 -V -76 0 0 0 0 0 0 2 0 -P 245 321 3.1196765661891573e-01 5.2753774638899031e-01 3.0966105128831014e+00 3.1950363880775470e+00 1 0 0 0 0 -P 246 111 1.1971265141411374e-02 7.1476378845153385e-02 1.0826442031294552e-01 1.8759789185276041e-01 2 0 0 -112 0 -V -77 0 0 0 0 0 0 2 0 -P 247 -321 3.7146363264552096e-01 2.5233125086536835e-02 1.5308117489269486e+00 1.6509535158909296e+00 1 0 0 0 0 -P 248 111 4.5901243856616902e-01 3.3522470827209677e-01 2.7867613575488490e+00 2.8473367359906829e+00 2 0 0 -113 0 -V -78 0 0 0 0 0 0 1 0 -P 249 130 -8.8835934438628372e-01 6.8074086066904238e-01 -5.6890766581735761e+01 5.6903950549417793e+01 1 0 0 0 0 -V -79 0 -4.4817862219771405e-06 3.0023353222897988e-06 -1.2846199085357989e-04 1.2858002379972176e-04 0 2 0 -P 250 22 -4.3665145174182041e-01 3.4929125535303568e-01 -1.3346660737281969e+01 1.3358368976318870e+01 1 0 0 0 0 -P 251 22 -1.0682997537163530e-01 1.4785343756005780e-02 -2.2312143912955911e+00 2.2338193548164194e+00 1 0 0 0 0 -V -80 0 1.1498498947914117e-05 -1.6837102901323914e-05 -3.5968316635069550e-04 3.6069740049514610e-04 0 2 0 -P 252 22 2.1038819336212194e-02 -3.0885983525310211e-02 -1.3571303869921980e-01 1.4076435902018464e-01 1 0 0 0 0 -P 253 22 6.6419842695921730e-02 -9.7178601158091210e-02 -2.6000708777066524e+00 2.6027339174654478e+00 1 0 0 0 0 -V -81 0 1.4686859594192499e-04 -2.0097206713904554e-04 -1.7779381811276310e-02 1.7781226190380851e-02 0 2 0 -P 254 22 1.3160148159474916e-01 -1.7607773501339169e-01 -1.1351519572335821e+01 1.1353647824371190e+01 1 0 0 0 0 -P 255 22 1.9756790216339634e-01 -2.7435110628171355e-01 -2.8496537235756634e+01 2.8498542700186409e+01 1 0 0 0 0 -V -82 0 5.4468947599719818e-06 1.0627040465845464e-05 -8.8638815061755207e-04 8.8650436585870627e-04 0 2 0 -P 256 22 7.4170914151783521e-02 1.1931245135626149e-01 -1.3390197719027501e+01 1.3390934685084687e+01 1 0 0 0 0 -P 257 22 1.8140566479408472e-02 6.0789768965475235e-02 -1.6319031665550834e+00 1.6331357632406374e+00 1 0 0 0 0 -V -83 0 1.1901070929278200e-05 1.0331918358570022e-05 -4.8683925535694022e-04 4.8720611336069926e-04 0 2 0 -P 258 22 5.7800358510051483e-02 1.0610466901086330e-01 -4.7377783347524538e+00 4.7393187940335411e+00 1 0 0 0 0 -P 259 22 9.6099152341945396e-02 2.7503238293923368e-02 -1.5578167178456963e+00 1.5610203078746385e+00 1 0 0 0 0 -V -84 0 1.9717825146052879e-05 -1.0024675780293960e-05 -2.6694203919439990e-03 2.6699382446536131e-03 0 2 0 -P 260 22 -3.1659375525207083e-02 2.9139435087521169e-02 -1.8076191689495109e+00 1.8081312127966784e+00 1 0 0 0 0 -P 261 22 8.7451068289363970e-02 -5.7504309359996640e-02 -5.7455202499548106e+00 5.7464734731468763e+00 1 0 0 0 0 -V -85 0 -1.1098678875795688e-05 7.9712988635923251e-06 -2.7960215080273293e-04 3.0407909509766429e-04 0 2 0 -P 262 22 -1.2404392105220950e-02 1.3072052856764920e-02 -3.3120578315562949e-01 3.3169567121854948e-01 1 0 0 0 0 -P 263 22 -2.1187813471082882e-04 -4.0107887412976712e-03 1.3371891962832829e-02 1.3962049037908679e-02 1 0 0 0 0 -V -86 0 4.3701901577387691e-05 -2.7778932303276074e-05 -3.6980602490661738e-04 3.7391937739307860e-04 0 2 0 -P 264 22 6.2980374428364197e-02 -1.0968065014364305e-01 -7.0367021794103213e-01 7.1494625545998147e-01 1 0 0 0 0 -P 265 22 2.4055413927146813e-01 -8.3259803324823314e-02 -1.8648425442445429e+00 1.8821360746754701e+00 1 0 0 0 0 -V -87 0 4.8701731099785062e-07 3.6608978379173926e-06 -1.2112849635753707e-05 1.2908375431671910e-05 0 2 0 -P 266 22 -2.7090617015867346e-02 1.4244131973944305e-01 -5.4202119215789846e-01 5.6107967691557348e-01 1 0 0 0 0 -P 267 22 5.3352751664943285e-02 5.4970537672586084e-02 -1.1115741347810988e-01 1.3499720994664230e-01 1 0 0 0 0 -V -88 0 5.7146814384201549e-06 2.4354026327390962e-05 1.9717191825030330e-04 1.9902137772319508e-04 0 2 0 -P 268 22 -2.7936966043945702e-02 1.5190345905548287e-02 3.2316443733638378e-01 3.2472522883110322e-01 1 0 0 0 0 -P 269 22 1.0251930686823132e-01 3.0265419391104781e-01 2.2501274191538188e+00 2.2727039340399169e+00 1 0 0 0 0 -V -89 0 0 0 0 0 0 1 0 -P 270 310 6.3629118454362399e-01 2.6066327066419842e-01 7.2899009219783402e+00 7.3391513605703720e+00 2 0 0 -114 0 -V -90 0 7.9367802508350484e-06 5.5245739059513326e-05 1.0292227500665664e-02 1.0292402314119905e-02 0 2 0 -P 271 22 7.8535141648213305e-02 9.9560856692336122e-02 2.1477224930174994e+01 2.1477599280040344e+01 1 0 0 0 0 -P 272 22 -2.9808474054989965e-02 2.3961204189102020e-01 4.1710356478041902e+01 4.1711055369063452e+01 1 0 0 0 0 -V -91 0 5.5297266074583105e-05 -1.0925677018674232e-04 1.2724502710143248e-02 1.2725651055903247e-02 0 2 0 -P 273 22 6.8440360627038010e-02 -7.5865663977273692e-02 4.4101211349196099e+00 4.4113045810279425e+00 1 0 0 0 0 -P 274 22 -5.8713569331480097e-03 -4.7758662190614712e-02 9.9876875379365302e+00 9.9878034481110625e+00 1 0 0 0 0 -V -92 0 8.1925385454488015e-05 -3.6875384522501292e-05 2.3250063164562518e-01 2.3250065045013255e-01 0 2 0 -P 275 22 1.6711452594100847e-02 1.6870653625057283e-02 3.6019552965433256e+01 3.6019560793008758e+01 1 0 0 0 0 -P 276 22 4.0969453328655292e-01 -2.0879998791888793e-01 1.1741018337664309e+03 1.1741019238127251e+03 1 0 0 0 0 -V -93 0 2.5961841133729550e-05 3.0674258044667582e-05 6.5765265966504665e-04 6.5893258982709882e-04 0 2 0 -P 277 22 1.3018449916600637e-02 3.4011182350692962e-02 2.7215110360084871e-01 2.7457688131793440e-01 1 0 0 0 0 -P 278 22 4.0520254140559964e-01 4.6012244020071186e-01 1.0322018464498882e+01 1.0340211165203236e+01 1 0 0 0 0 -V -94 0 3.8901737926929142e-05 2.7765787009590177e-05 1.3322338436249194e-04 1.4665811226059863e-04 0 2 0 -P 279 22 8.0063088182418432e-02 3.1238773946188861e-02 7.9613488602169380e-02 1.1715061525393101e-01 1 0 0 0 0 -P 280 22 5.6620908615590333e-02 6.6318274786224957e-02 3.8847625782063722e-01 3.9814299410312703e-01 1 0 0 0 0 -V -95 0 -2.0261701110488303e-04 -4.8018556141857103e-04 2.2688593345382702e-03 2.3305607184803791e-03 0 2 0 -P 281 22 -1.5904416100449204e-01 -5.0608925283349793e-01 2.3153084317170132e+00 2.3753051406004837e+00 1 0 0 0 0 -P 282 22 -8.8983864789347528e-02 -8.1716658249179147e-02 4.6205314557993754e-01 4.7758648407233734e-01 1 0 0 0 0 -V -96 0 5.8495528174864427e-06 -4.1082222803042357e-05 9.9224658184738723e-05 1.0820598546116414e-04 0 2 0 -P 283 22 9.1972477577124914e-02 -4.4592456889574522e-01 1.0769225359730650e+00 1.1692176043248705e+00 1 0 0 0 0 -P 284 22 -2.5486999986110755e-02 -2.1012184866980223e-02 5.0855773592181873e-02 6.0641642365914170e-02 1 0 0 0 0 -V -97 0 -4.3582543869767395e-05 7.8614637762069199e-06 1.0692921289149186e-04 1.1681873643143345e-04 0 2 0 -P 285 22 -1.8371320086265014e-01 7.4984574553145597e-02 5.9982550796311540e-01 6.3179416473668593e-01 1 0 0 0 0 -P 286 22 -1.8722012261886847e-01 -8.0752428112496038e-03 3.1025464783563805e-01 3.6245624613668997e-01 1 0 0 0 0 -V -98 0 -3.1549862434167774e-05 1.4291309528277945e-05 1.0486479030424113e-05 3.9779846943029794e-05 0 2 0 -P 287 22 -4.5641294538943424e-02 8.0409127662733962e-02 -2.3546345316033672e-03 9.2489458223355650e-02 1 0 0 0 0 -P 288 22 -2.1217902662870536e-01 3.6377118875589240e-02 8.8048427878029925e-02 2.3258495172858076e-01 1 0 0 0 0 -V -99 0 -2.0055761571577863e-04 2.0912498751302585e-04 -8.3309224193529549e-04 8.8283389170218331e-04 0 2 0 -P 289 22 -1.9843402797534637e-01 2.8458700251599517e-01 -8.9233754423776901e-01 9.5740906529855474e-01 1 0 0 0 0 -P 290 22 -5.2601345084628082e-01 4.7080724876546715e-01 -2.1169302521603504e+00 2.2315338465891585e+00 1 0 0 0 0 -V -100 0 -7.0205171904481768e-06 1.6319376283750368e-05 -1.6074154954470244e-04 1.6486830144931802e-04 0 2 0 -P 291 22 -4.8089177585023853e-02 1.0362587097307130e-01 -4.7632411591871276e-01 4.8983216874912877e-01 1 0 0 0 0 -P 292 22 1.8534885426808229e-02 -3.4926143952101800e-02 -2.0035006467754016e-01 2.0421441164972265e-01 1 0 0 0 0 -V -101 0 -2.9445537543939600e-06 1.8572518962028519e-06 -3.1558999495805265e-05 3.2102218420846526e-05 0 2 0 -P 293 22 3.5666402381186346e-02 2.3073588652214965e-02 -2.9391385055853259e-01 2.9696773276275618e-01 1 0 0 0 0 -P 294 22 -1.1952793505927364e-01 2.9821350131781360e-02 -6.0489333323150396e-01 6.1731044440470606e-01 1 0 0 0 0 -V -102 0 -8.7759702361641637e-05 4.7023241861943939e-05 -5.2519116174042308e-04 5.3503926182768037e-04 0 2 0 -P 295 22 -2.1472465776296304e-01 4.2117950914751449e-02 -1.0811445000066504e+00 1.1030657416198317e+00 1 0 0 0 0 -P 296 22 -3.0064913576336771e-01 2.3402868461541579e-01 -2.0030701687861194e+00 2.0389824494435782e+00 1 0 0 0 0 -V -103 0 -4.0051840698321302e-05 1.5544825812030132e-04 -1.5255056661093622e-03 1.5345528806099953e-03 0 2 0 -P 297 22 -5.4313704046613225e-02 4.0017399337820786e-01 -3.9524382331551000e+00 3.9730161326540991e+00 1 0 0 0 0 -P 298 22 -6.9171629961732761e-02 7.9094368332956660e-02 -7.5090556894472305e-01 7.5822147619659941e-01 1 0 0 0 0 -V -104 0 1.1538667519395299e-04 -1.5230967855984055e-04 -2.2806195109471177e-02 2.2807040238776183e-02 0 2 0 -P 299 22 4.9612560842926725e-03 -4.1366033271512226e-02 -2.5491239845056692e+00 2.5494644243747766e+00 1 0 0 0 0 -P 300 22 3.4014693925553080e-01 -4.1417459316756067e-01 -6.5661566925582846e+01 6.5663754169684097e+01 1 0 0 0 0 -V -105 0 7.5620785956994322e-05 -2.1431335219304692e-05 -1.8521909028600417e-02 1.8522145398627614e-02 0 2 0 -P 301 22 -1.0974672239015704e-03 -4.5233445978568466e-02 -1.0867124610184147e+01 1.0867218805303377e+01 1 0 0 0 0 -P 302 22 2.0211965316448932e-01 -1.1737316740827236e-02 -3.8369531602823471e+01 3.8370065748430363e+01 1 0 0 0 0 -V -106 0 -6.2050380654414509e-06 9.9394224008864708e-06 -1.4146072138620869e-02 1.4146078109456379e-02 0 2 0 -P 303 22 -9.4033662273491525e-02 4.0317931435716235e-02 -8.8853780567535210e+01 8.8853839472523276e+01 1 0 0 0 0 -P 304 22 -5.4882756440301453e-02 1.9822100618454153e-01 -2.5064170351061375e+02 2.5064178790135270e+02 1 0 0 0 0 -V -107 0 -2.2144550003270545e+01 -5.7752059811266328e+01 2.7142840331616411e+04 2.7142928916050954e+04 0 2 0 -P 305 211 -2.3773313121780820e-01 -8.7164593426833892e-01 3.6426137340252683e+02 3.6426252060369370e+02 1 0 0 0 0 -P 306 -211 -1.1373747167277996e-01 -4.4974691440525599e-02 6.6540356779718223e+01 6.6540615559915182e+01 1 0 0 0 0 -V -108 0 0 0 0 0 0 1 0 -P 307 310 -2.4546654743398341e-01 -2.3146159829648183e-01 2.8342132256983007e+02 2.8342196031881150e+02 2 0 0 -115 0 -V -109 0 -5.6270946127520340e-03 1.4375702714435555e-02 1.2772459726874328e+00 1.2810615693794176e+00 0 2 0 -P 308 -2212 4.0919391927145221e-02 1.1725248601390804e-01 1.2564638925178782e+01 1.2600235095232547e+01 1 0 0 0 0 -P 309 211 -1.0525237235338031e-01 4.7100855272609099e-02 2.0377528622594481e+00 2.0457793294976856e+00 1 0 0 0 0 -V -110 0 1.1450288377146512e-04 3.2494406652989600e-05 5.2787483859840093e-03 5.2804381960459557e-03 0 2 0 -P 310 22 -6.3766087007953286e-03 3.0788902609582693e-02 9.4162923456893888e-01 9.4215403892214522e-01 1 0 0 0 0 -P 311 22 2.6128546929969942e-01 4.1550866511718992e-02 1.0810037554410400e+01 1.0813274642712919e+01 1 0 0 0 0 -V -111 0 5.7894541595921829e-05 3.3524512174853601e-05 7.5872969366759844e-05 1.0552947084212687e-04 0 2 0 -P 312 22 1.8493418015052648e-01 6.9153434526408500e-02 1.3164339122203578e-01 2.3730324681129761e-01 1 0 0 0 0 -P 313 22 7.4962660998596956e-02 8.1342874367822907e-02 2.0896117223847074e-01 2.3643357472593826e-01 1 0 0 0 0 -V -112 0 6.9261092346014606e-07 4.1353457778057710e-06 6.2637590300657296e-06 1.0853685686557134e-05 0 2 0 -P 314 22 5.9945933835984077e-03 7.3910957463011503e-02 1.3827374467382689e-01 1.5690249599371084e-01 1 0 0 0 0 -P 315 22 5.9766717578129680e-03 -2.4345786178581225e-03 -3.0009324360881350e-02 3.0695395859049578e-02 1 0 0 0 0 -V -113 0 5.8480414582225960e-05 4.2709256374829027e-05 3.5504693519910010e-04 3.6276453269127142e-04 0 2 0 -P 316 22 4.6099053514328703e-01 3.2869887519126678e-01 2.7819803904781000e+00 2.8390086504004146e+00 1 0 0 0 0 -P 317 22 -1.9780965771179549e-03 6.5258330808300215e-03 4.7809670707489029e-03 8.3280855902691311e-03 1 0 0 0 0 -V -114 0 3.0355799215239374e+00 1.2435567393166538e+00 3.4778223250929109e+01 3.5013184297298878e+01 0 2 0 -P 318 -211 2.5778681463971853e-01 3.2771288396927750e-01 3.8506537962191199e+00 3.8756759693449960e+00 1 0 0 0 0 -P 319 211 3.7850436990390546e-01 -6.7049613305079067e-02 3.4392471257592194e+00 3.4634753912253751e+00 1 0 0 0 0 -V -115 0 -3.3015133249945685e+00 -3.1131474287994143e+00 3.8120032356080346e+03 3.8120118133013384e+03 0 2 0 -P 320 211 -2.0869993064495407e-01 7.4933172581466437e-02 1.1763461578134871e+02 1.1763490757616057e+02 1 0 0 0 0 -P 321 -211 -3.6766616789029316e-02 -3.0639477087794825e-01 1.6578670678848133e+02 1.6578705274265090e+02 1 0 0 0 0 -E 10 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 136 0 0 -V -1 0 0 0 0 0 1 3 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 16 2103 -4.3597932309017928e-02 -1.9178552605452839e-01 5.7710271643278456e+03 5.7710272192255625e+03 2 0 0 -9 0 -P 28 2 6.9871172008364035e-01 1.9445633487239519e-01 5.4217114364762290e+02 5.4217172917398170e+02 2 0 0 -13 0 -P 3 21 -6.5511378777462237e-01 -2.6708088178667958e-03 1.3902379475140679e+01 1.3917806446382523e+01 3 0 0 -3 0 -V -2 0 0 0 0 0 1 2 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 2 1.5554951969939107e-01 -1.1414155502218004e+00 -2.5318090541773952e+02 2.5318352610953531e+02 3 0 0 -4 0 -P 31 2103 -1.5554951969939107e-01 1.1414155502218004e+00 -3.0079396582618142e+03 3.0079399777454469e+03 2 0 0 -13 0 -V -3 0 0 0 0 0 0 6 0 -P 12 21 -9.6370912240519885e-02 2.1371062251800688e-01 2.0354592242001850e+00 2.0489152828471759e+00 2 0 0 -9 0 -P 13 21 9.5280060735029493e-01 -3.6665346932772618e-02 2.4849955628758677e-02 9.5382957876527541e-01 2 0 0 -9 0 -P 14 21 1.8560548483485220e-02 -1.7257190047342610e-01 -1.8018846212308559e-01 2.5018680355946143e-01 2 0 0 -9 0 -P 15 21 7.9695242284356750e-05 -2.5824124117734876e-01 -4.6415843771256871e-01 5.3116061628844602e-01 2 0 0 -9 0 -P 11 1 1.1257705880566493e+00 -9.6356028506991842e-01 3.2813867683361453e+00 3.6155507136961815e+00 2 0 0 -9 0 -P 5 -1 -2.6336683162149233e+00 1.2040498771434778e+00 7.5527386554890201e+00 8.0888692723150033e+00 3 0 0 -5 0 -V -4 0 0 0 0 0 0 2 0 -P 6 2 1.2812912648480181e+00 -6.4858594580034412e-01 -2.4187105165040478e+02 2.4187531498172203e+02 3 0 0 -5 0 -P 30 21 -1.1480277436005311e+00 -4.8222213924733737e-01 -9.6575619960129195e+00 9.7375053067246053e+00 2 0 0 -13 0 -V -5 0 0 0 0 0 0 2 0 -P 8 22 1.3514360574585182e+00 -3.7655964528149486e+00 -4.3922038667661063e+01 4.4103872582647035e+01 3 0 0 -7 0 -P 7 24 -2.7038131088254236e+00 4.3210603841580824e+00 -1.9039627432725470e+02 2.0586031167139001e+02 3 0 0 -6 0 -V -6 0 0 0 0 0 0 1 0 -P 9 24 -2.7038131088254236e+00 4.3210603841580824e+00 -1.9039627432725470e+02 2.0586031167139001e+02 2 0 0 -8 0 -V -7 0 0 0 0 0 0 1 0 -P 10 22 1.3514360574585182e+00 -3.7655964528149486e+00 -4.3922038667661063e+01 4.4103872582647043e+01 1 0 0 0 0 -V -8 0 0 0 0 0 0 11 0 -P 17 4 1.2527727551424732e+01 -2.0291998608611124e+00 -5.0600275742191691e+01 5.2189074669550124e+01 2 0 0 -11 0 -P 18 21 8.4413619755245706e-01 -5.9573077753593484e-01 -9.7003942899011300e+00 9.7552606556087653e+00 2 0 0 -11 0 -P 19 21 1.3955327171164982e+00 -1.7699729137026712e+00 -8.4370450330890154e+00 8.7329287510064866e+00 2 0 0 -11 0 -P 20 21 1.7406612186275408e+00 -4.8453470359648625e+00 -2.0800170594403422e+01 2.1427888046498008e+01 2 0 0 -11 0 -P 21 21 4.3275523129907159e+00 -8.8306149160675105e+00 -5.6722222314980336e+01 5.7568376502795338e+01 2 0 0 -11 0 -P 22 21 5.0727116372506353e-01 5.3006276683040177e-01 -4.1876929772878206e+00 4.2514777480721468e+00 2 0 0 -11 0 -P 23 21 -1.4242475998353649e-02 2.6112816047433607e-01 -9.0335618313322297e-01 9.4044838131622055e-01 2 0 0 -11 0 -P 24 21 -2.1919670271754521e+00 3.5035232013803053e+00 -4.8234484426313431e+00 6.3517752754294783e+00 2 0 0 -11 0 -P 25 21 -1.7594584975864209e+00 2.2946842674852479e+00 -5.0312742416153835e+00 5.8030156458961768e+00 2 0 0 -11 0 -P 26 21 -1.6358735708068866e+00 1.9697163809587677e+00 -2.8994328596137606e+00 3.8681488943020028e+00 2 0 0 -11 0 -P 27 -3 -1.8445152698695317e+01 1.3832811111161117e+01 -2.6290961648407542e+01 3.4971917100915213e+01 2 0 0 -11 0 -V -9 0 0 0 0 0 0 1 0 -P 39 92 1.9572425945831762e+00 -1.4091136771899875e+00 5.7757245133761753e+03 5.7784268622207192e+03 2 0 0 -10 0 -V -10 0 0 0 0 0 0 16 0 -P 40 -211 7.4997996932615019e-01 -6.4116142761545669e-01 1.9858860190347392e+00 2.2218868099320424e+00 1 0 0 0 0 -P 41 223 2.8112506374623569e-01 5.4000903387299448e-01 5.8416822415061209e-01 1.1500024027454310e+00 2 0 0 -19 0 -P 42 2214 4.4881519761355032e-01 -1.3187483483780489e+00 2.3761689627847922e+00 3.0194592377826033e+00 2 0 0 -20 0 -P 43 223 4.4098049591794489e-02 3.6975571581476430e-01 1.2240256589844973e+00 1.5000787933206947e+00 2 0 0 -21 0 -P 44 -3122 5.1854209512044214e-01 2.8340706828298096e-01 1.4726857248798244e+00 1.9397810643032543e+00 2 0 0 -22 0 -P 45 -313 2.7417269706128827e-01 4.4906334318631121e-02 2.5317079951813390e+00 2.6984767938152476e+00 2 0 0 -23 0 -P 46 -213 -4.0680312455968282e-01 -2.5441007810341781e-01 1.5500120461449101e+00 1.7845955709874386e+00 2 0 0 -24 0 -P 47 111 1.0967169427730127e-01 -4.8556656735419729e-01 1.5733209930176220e+00 1.6557056862038457e+00 2 0 0 -25 0 -P 48 211 -2.0496925059681456e-01 3.5773003283645954e-01 8.1445332873483611e+00 8.1561562898039721e+00 1 0 0 0 0 -P 49 -211 2.9397211730379580e-01 -2.7463569397919968e-01 7.6207890473349726e+00 7.6326764544974779e+00 1 0 0 0 0 -P 50 223 -2.5509337878352928e-01 2.6149346255806938e-01 1.3907466962922905e+02 1.3907740332277268e+02 2 0 0 -26 0 -P 51 213 -3.6699974497245429e-02 -1.8001381623673610e-01 1.8723285347838268e+02 1.8723606959241326e+02 2 0 0 -27 0 -P 52 311 -2.0826395264017022e-01 -3.8873428077532614e-02 7.7769704741499027e+02 7.7769723550906360e+02 2 0 0 -28 0 -P 53 -321 2.9365263740186642e-01 -1.5350918725169876e-01 9.7138769739024906e+02 9.7138787931445381e+02 1 0 0 0 0 -P 54 2212 7.1090572027448316e-03 3.1651971253956951e-01 1.4534367235662871e+03 1.4534370608997706e+03 1 0 0 0 0 -P 55 113 4.7933697015449042e-02 -2.3601649041716902e-01 2.2178322239381737e+03 2.2178323944788513e+03 2 0 0 -29 0 -V -11 0 0 0 0 0 0 1 0 -P 56 92 -2.7038131088254218e+00 4.3210603841580841e+00 -1.9039627432725467e+02 2.0586031167138998e+02 2 0 0 -12 0 -V -12 0 0 0 0 0 0 20 0 -P 57 423 9.9248375242903197e+00 -1.8312835036795285e+00 -4.1176681461967789e+01 4.2442925679844130e+01 2 0 0 -30 0 -P 58 213 3.1593705763741533e+00 -9.7376654979652177e-01 -1.3392766193005166e+01 1.3814953051794681e+01 2 0 0 -31 0 -P 59 113 9.3523891341231291e-01 -2.2812398079724634e+00 -1.3732909593833934e+01 1.3984515733375392e+01 2 0 0 -32 0 -P 60 -213 1.0751687044528315e+00 -1.8471396089324810e+00 -1.0247617174688440e+01 1.0494828426213823e+01 2 0 0 -33 0 -P 61 211 1.0910074909423624e+00 -1.6408161014628322e+00 -1.4658262289795276e+01 1.4790764279287474e+01 1 0 0 0 0 -P 62 2112 1.8670048695663655e+00 -2.5858616180543601e+00 -1.5263383116042007e+01 1.5621332959215980e+01 1 0 0 0 0 -P 63 111 3.8895094638623819e-02 -6.8899625648955701e-02 -4.4678720222461937e-01 4.7339031599011050e-01 2 0 0 -34 0 -P 64 -2214 1.1524734474439160e+00 -3.9869224263739502e+00 -2.0153218017127685e+01 2.0618217127901126e+01 2 0 0 -35 0 -P 65 221 8.6263433165107117e-01 -6.4053962327754621e-01 -6.5229053808755504e+00 6.6334323776976012e+00 2 0 0 -36 0 -P 66 211 2.7687726878260471e-01 -4.4854367382269267e-01 -5.0833022953049456e+00 5.1124646169579897e+00 1 0 0 0 0 -P 67 -211 3.6317039313948940e-01 -6.1629174309821100e-01 -4.9883909457620250e+00 5.0413522253185885e+00 1 0 0 0 0 -P 68 111 -3.8693244171548362e-03 -6.3946170356676169e-01 -1.8470751031459909e+00 1.9592938215238989e+00 2 0 0 -37 0 -P 69 321 3.3833666963563275e-01 5.4299664689447102e-01 -3.1762619017227935e+00 3.2774376712447890e+00 1 0 0 0 0 -P 70 -323 -1.3745959258300033e+00 1.5798806728773855e+00 -2.7160124589975716e+00 3.5482417244696087e+00 2 0 0 -38 0 -P 71 211 -1.0294428816501737e+00 9.5496503398017951e-01 -2.7208975408319782e+00 3.0650406319183578e+00 1 0 0 0 0 -P 72 -211 -3.6822566989713057e-01 1.1035290774262612e+00 -1.2321916930023735e+00 1.7003360614597640e+00 1 0 0 0 0 -P 73 213 -1.6161918040002012e+00 1.2552448784983889e+00 -1.7897181449593560e+00 2.7573168640824823e+00 2 0 0 -39 0 -P 74 2112 -3.2740868421481886e+00 2.8787612972034244e+00 -6.5131664185879137e+00 7.8937342137498883e+00 1 0 0 0 0 -P 75 -2112 -2.6281380275611408e+00 3.1441450497976531e+00 -4.6117236755707163e+00 6.2404763144169966e+00 1 0 0 0 0 -P 76 313 -1.3494277917651111e+01 1.0422303713166622e+01 -2.0123003719808548e+01 2.6390257574927315e+01 2 0 0 -40 0 -V -13 0 0 0 0 0 1 1 0 -P 29 21 1.5824732804086550e+00 3.3756291283162567e+00 -3.7328965916562061e+03 3.7328984533592948e+03 2 0 0 -13 0 -P 77 92 9.7760773719237326e-01 4.2292788741631151e+00 -6.2083226682664099e+03 7.2927476655854471e+03 2 0 0 -14 0 -V -14 0 0 0 0 0 0 30 0 -P 78 211 3.8125690076946724e-02 1.8129069100767256e-01 4.0322325983256000e+01 4.0322993097831421e+01 1 0 0 0 0 -P 79 -213 8.1415453961843220e-01 -1.3658531520860595e-01 1.8147547255500226e+02 1.8147807889488487e+02 2 0 0 -41 0 -P 80 213 -3.1343969057550247e-01 -6.8751614116676532e-02 2.3490909782090895e+02 2.3491051292454674e+02 2 0 0 -42 0 -P 81 -211 2.4510416203644247e-01 1.9103572210561356e-01 4.9160055436805315e+01 4.9161235755746112e+01 1 0 0 0 0 -P 82 2212 5.9834549250678958e-02 2.2658407019457144e-01 9.6037237171125334e+00 9.6522940455458546e+00 1 0 0 0 0 -P 83 331 -4.4228289654992226e-01 -2.6644076626223800e-01 1.5250029814397761e+01 1.5288792292206974e+01 2 0 0 -43 0 -P 84 -2212 4.0600120601960499e-01 1.1341309506958630e-01 5.8544874327854846e+00 5.9441629522554207e+00 1 0 0 0 0 -P 85 211 3.1262473932432039e-01 6.7353189834058402e-01 1.8631926232668552e+00 2.0105586243668481e+00 1 0 0 0 0 -P 86 -213 -4.0230691978361560e-01 -7.2916784443047689e-01 1.2727585532551626e+00 1.6552834098551243e+00 2 0 0 -44 0 -P 87 111 -1.0918019607099445e-01 9.2778953753129487e-02 8.7863240603013404e-01 9.0041254700272333e-01 2 0 0 -45 0 -P 88 211 -1.3970682706965667e-01 -6.9289838877254262e-02 1.0396580156519743e-01 2.3368301627760824e-01 1 0 0 0 0 -P 89 311 3.4248690127551151e-01 -3.5064896127775863e-01 6.5641413010847338e-01 9.5854416210028415e-01 2 0 0 -46 0 -P 90 -311 3.4345529704259643e-02 4.2425337653113343e-01 -1.1177846011983017e+00 1.2954877021742741e+00 2 0 0 -47 0 -P 91 221 -2.2059027947856552e-02 6.8777216446446396e-02 -2.5995327345599137e+00 2.6575343547665886e+00 2 0 0 -48 0 -P 92 -211 7.8520032410541465e-02 8.6029665973671565e-02 -1.7637091485257692e-01 2.5328439237984829e-01 1 0 0 0 0 -P 93 211 9.1990315018622704e-02 -2.4519229699912645e-01 -1.7635783993765985e+00 1.7883707770517441e+00 1 0 0 0 0 -P 94 113 2.3916994123891654e-02 3.2774863600096921e-01 -2.1964548095601693e+00 2.3336785531389950e+00 2 0 0 -49 0 -P 95 -211 -2.2116319795837658e-01 -7.0985668931981008e-02 -1.4721936080260471e+02 1.4721961019863397e+02 1 0 0 0 0 -P 96 213 5.5418235924584147e-01 1.7536325683372644e+00 -1.7140605218064102e+03 1.7140616606041549e+03 2 0 0 -50 0 -P 97 113 -6.1783849261428873e-02 1.4046889857876368e-01 -1.0047869804122965e+02 1.0048130714945734e+02 2 0 0 -51 0 -P 98 221 5.3919364001689940e-01 -4.4261608605164110e-01 -1.6979921711826634e+02 1.6980153260279991e+02 2 0 0 -52 0 -P 99 1114 -2.0186593100368855e-01 5.2273469161686792e-01 -6.6287974334912337e+02 6.6288096452226989e+02 2 0 0 -53 0 -P 100 223 5.4569932897003848e-01 4.9089417068522490e-01 -5.5137637879476370e+02 5.5137741731893857e+02 2 0 0 -54 0 -P 101 -2114 -3.7116038230162590e-01 4.2691750743684054e-01 -3.0183378648302647e+02 3.0183654713177589e+02 2 0 0 -55 0 -P 102 213 1.2718626065914557e-01 -4.3273443653089196e-02 -2.0958549985729146e+01 2.0973175423021143e+01 2 0 0 -56 0 -P 103 111 -4.7798486804409918e-01 9.0585383083558874e-02 -8.5228987495888582e+00 8.5378391845859252e+00 2 0 0 -57 0 -P 104 113 1.5181900039448251e-01 4.9030903333713738e-02 -9.3885028370079510e+01 9.3887609752929094e+01 2 0 0 -58 0 -P 105 -211 -2.9881524415693622e-01 -4.2409333153494246e-02 -1.6592385765903004e+00 1.6922297540891829e+00 1 0 0 0 0 -P 106 2224 -3.7739651006785435e-01 -2.1399552580528344e-01 -1.0092898709838120e+02 1.0093591655187358e+02 2 0 0 -59 0 -P 107 -213 5.1568029838271176e-02 1.0489281204351286e+00 -2.8682166939055642e+03 2.8682169478887886e+03 2 0 0 -60 0 -V -15 0 0 0 0 0 2 1 0 -P 32 21 1.9264630307413937e+00 -4.3605697082707904e+00 -3.8703467637965021e+00 6.1404732766727497e+00 2 0 0 -15 0 -P 33 21 -1.9264630307413937e+00 4.3605697082707904e+00 1.0934871286863569e+01 1.1928840599562703e+01 2 0 0 -15 0 -P 108 92 0 0 7.0645245230670666e+00 1.8069313876235451e+01 2 0 0 -16 0 -V -16 0 0 0 0 0 0 12 0 -P 109 221 -2.7330901053064516e-01 1.7937353255594365e-01 6.5560086158529540e-01 9.1454178233157846e-01 2 0 0 -61 0 -P 110 211 -3.8949504695687842e-01 6.3318573167586201e-01 2.8287487702745040e-01 8.0754476244672213e-01 1 0 0 0 0 -P 111 -3214 1.3070293253442316e-02 6.8191945199945314e-01 3.6368408201980333e+00 3.9512642278438408e+00 2 0 0 -62 0 -P 112 111 -5.1252162865341999e-01 2.2292822157692199e-01 -3.3826285438294201e-01 6.6709577338512560e-01 2 0 0 -63 0 -P 113 3312 -2.8307230829558164e-02 7.4361433324065440e-01 2.8196795987175673e+00 3.2015918392796796e+00 2 0 0 -64 0 -P 114 321 1.7310712184575286e-01 2.5372564212865023e-01 -3.7818935156200967e-02 5.8259248962174692e-01 1 0 0 0 0 -P 115 -211 -1.7176330612558119e-01 2.3528839325019374e-01 6.2378220828836273e-01 7.0245803405367480e-01 1 0 0 0 0 -P 116 -2114 -2.3785732100599724e-01 -4.3066782908091966e-01 9.2976032860807897e-02 1.3554702372103349e+00 2 0 0 -65 0 -P 117 2214 6.0515337633293520e-01 -9.5121595517125890e-01 -9.1396794922064373e-01 1.8612896641441454e+00 2 0 0 -66 0 -P 118 221 1.5610406892865505e-01 -4.1180279740384002e-01 2.4550193443675206e-01 7.4425985152895202e-01 2 0 0 -67 0 -P 119 223 -1.6654532327853938e-01 2.6409934496084531e-01 9.2003618590961966e-01 1.2501855628480039e+00 2 0 0 -68 0 -P 120 -213 8.3236400701983415e-01 -1.4204480697325057e+00 -9.2271825719703426e-01 2.0310196515416505e+00 2 0 0 -69 0 -V -17 0 0 0 0 0 5 1 0 -P 37 21 -2.4549304752250420e+00 1.9106102320850373e+00 1.4255136986869084e+02 1.4258530838251687e+02 2 0 0 -17 0 -P 38 21 2.4549304752250420e+00 -1.9106102320850373e+00 3.9326543344547179e+02 3.9327773679443379e+02 2 0 0 -17 0 -P 34 21 -1.2874686984272923e+00 -4.5354152466705555e+00 2.9174823306294378e+01 2.9553305772157866e+01 2 0 0 -17 0 -P 35 21 -1.5824732804086550e+00 -3.3756291283162567e+00 1.8613755585412271e+01 1.8983439906629435e+01 2 0 0 -17 0 -P 36 21 1.2874686984272923e+00 4.5354152466705555e+00 7.6246561156214881e+01 7.6392183207822896e+01 2 0 0 -17 0 -P 121 92 -1.5824732804086552e+00 -3.3756291283162563e+00 6.5985194336208417e+02 6.6079197406356082e+02 2 0 0 -18 0 -V -18 0 0 0 0 0 0 21 0 -P 122 -213 2.4470237977472631e-01 9.0661371500187479e-02 1.0957930773391942e+01 1.0984198835469098e+01 2 0 0 -70 0 -P 123 211 1.4542095804863758e-01 8.3928851259360959e-01 1.4793046030567339e+01 1.4818206474124844e+01 1 0 0 0 0 -P 124 -211 1.6346163015651471e-01 6.7768762034861363e-01 3.6385442177273340e+01 3.6392387424238997e+01 1 0 0 0 0 -P 125 111 -3.2068447332136946e-01 3.8594024532024324e-01 2.9733721957725852e+00 3.0184350613158366e+00 2 0 0 -71 0 -P 126 321 3.3497849686451375e-01 1.2223626454055394e+00 2.9996662117980971e+01 3.0027483414541404e+01 1 0 0 0 0 -P 127 221 -5.8214749389140619e-01 5.7231243477632643e-01 4.5061968638670571e+01 4.5072687476149831e+01 2 0 0 -72 0 -P 128 -313 -9.2056140784737284e-02 1.1853320044069728e+00 4.0445501109361459e+01 4.0472952620159873e+01 2 0 0 -73 0 -P 129 -211 -6.8690343434950507e-02 -2.4724652780047213e-01 1.0978301805670297e+01 1.0982187374565884e+01 1 0 0 0 0 -P 130 3222 -5.6571475378204539e-01 -1.8495675331422309e-02 7.6655798754955228e+01 7.6667114586566711e+01 2 0 0 -74 0 -P 131 -3222 8.9269875728812620e-01 -2.0156941201723866e-01 1.7491908481387679e+02 1.7492552236429151e+02 2 0 0 -75 0 -P 132 111 5.4105896816734045e-01 -3.9755607846732188e-01 3.4247692832522112e+01 3.4254539547244640e+01 2 0 0 -76 0 -P 133 221 4.7159087264181826e-01 1.2020772703630062e-01 4.8034580061584379e+01 4.8040164769118533e+01 2 0 0 -77 0 -P 134 223 -3.9429121872598855e-01 -3.4625309703953722e-01 2.6395512218946230e+01 2.6411912261172318e+01 2 0 0 -78 0 -P 135 213 3.9795313085803385e-01 -6.1677401758222283e-01 3.1845668885775709e+01 3.1863855985015093e+01 2 0 0 -79 0 -P 136 313 1.0265114771882194e-01 -2.2622249924026197e-01 2.3452325229467018e+01 2.3473299881761864e+01 2 0 0 -80 0 -P 137 -313 -5.5700154512051092e-01 -1.6396713032419616e+00 1.3646660379336359e+01 1.3785980020161174e+01 2 0 0 -81 0 -P 138 111 -5.4077088808668135e-02 -2.3831882224430384e-01 3.8434254226100957e+00 3.8535514492654079e+00 2 0 0 -82 0 -P 139 -213 -5.8266223094836611e-01 -1.4614386039001783e+00 9.6551877108618420e+00 9.8199075697669720e+00 2 0 0 -83 0 -P 140 111 -7.2162541386152523e-01 -9.6677069323893028e-01 7.6826305172722131e+00 7.7779444634529762e+00 2 0 0 -84 0 -P 141 323 -9.0562613680950854e-01 -1.6754637359482516e+00 1.0954221378986349e+01 1.1149779322154751e+01 2 0 0 -85 0 -P 142 -313 -3.2412782438111951e-02 -4.3364122365194685e-01 6.9269303072013768e+00 6.9998631630231944e+00 2 0 0 -86 0 -V -19 0 0 0 0 0 0 3 0 -P 143 211 8.5723244854931269e-02 6.0053586839736363e-02 3.4776255196298755e-01 3.8906745616741811e-01 1 0 0 0 0 -P 144 -211 1.8531506706893134e-02 1.1294735671448289e-01 -1.0826952941544615e-01 2.1048182351323930e-01 1 0 0 0 0 -P 145 111 1.7687031218441127e-01 3.6700809031877518e-01 3.4467520160307075e-01 5.5045312306477356e-01 2 0 0 -87 0 -V -20 0 0 0 0 0 0 2 0 -P 146 2112 2.4934049273082956e-01 -1.0034513778020797e+00 2.1420894051923574e+00 2.5574252977683418e+00 1 0 0 0 0 -P 147 211 1.9947470488272068e-01 -3.1529697057596912e-01 2.3407955759243465e-01 4.6203394001426124e-01 1 0 0 0 0 -V -21 0 0 0 0 0 0 3 0 -P 148 211 2.4202018503168082e-01 1.4484617014986720e-01 6.7976534371923969e-01 7.4907602444050325e-01 1 0 0 0 0 -P 149 -211 -6.6861426897547510e-02 -6.1023832547298297e-02 2.4621632999211213e-01 2.9714747954563148e-01 1 0 0 0 0 -P 150 111 -1.3106070854233884e-01 2.8593337821219544e-01 2.9804398527314574e-01 4.5385528933456026e-01 2 0 0 -88 0 -V -22 0 9.6563352047872456e+01 5.2776306427173331e+01 2.7424479409799136e+02 3.6122768733868139e+02 0 2 0 -P 151 -2212 3.3107085829399807e-01 2.5462012600502582e-01 1.1978746459665013e+00 1.5778762886005071e+00 1 0 0 0 0 -P 152 211 1.8747123682644409e-01 2.8786942277955141e-02 2.7481107891332301e-01 3.6190477570274704e-01 1 0 0 0 0 -V -23 0 0 0 0 0 0 2 0 -P 153 -321 1.1436683630808112e-01 1.7624680147292271e-01 8.9963936691443347e-01 1.0474419596229463e+00 1 0 0 0 0 -P 154 211 1.5980586075320719e-01 -1.3134046715429157e-01 1.6320686282669057e+00 1.6510348341923013e+00 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 155 -211 -3.7892725164608876e-01 -2.1323299448707161e-01 3.4834728880062177e-01 5.7435162617748858e-01 1 0 0 0 0 -P 156 111 -2.7875872913594103e-02 -4.1177083616346186e-02 1.2016647573442882e+00 1.2102439448099500e+00 2 0 0 -89 0 -V -25 0 1.9645533442150538e-05 -8.6979728910064382e-05 2.8182960414027593e-04 2.9658720641656587e-04 0 2 0 -P 157 22 6.3688804206746011e-02 -1.4462149743960712e-01 3.3361177481488985e-01 3.6914557778483581e-01 1 0 0 0 0 -P 158 22 4.5982890070555262e-02 -3.4094506991459012e-01 1.2397092182027323e+00 1.2865601084190099e+00 1 0 0 0 0 -V -26 0 0 0 0 0 0 3 0 -P 159 -211 -9.6603613340956990e-02 8.1396753813179970e-02 1.3365449629037009e+01 1.3366775275318552e+01 1 0 0 0 0 -P 160 211 -1.1685871788492098e-01 3.0883905152444485e-01 5.6084708578525380e+01 5.6085854309644873e+01 1 0 0 0 0 -P 161 111 -4.1631047557651339e-02 -1.2874234277955540e-01 6.9624511421666696e+01 6.9624773737809306e+01 2 0 0 -90 0 -V -27 0 0 0 0 0 0 2 0 -P 162 211 4.9615297183541651e-01 -1.7952305223659404e-01 8.7694255163022987e+01 8.7695953525120132e+01 1 0 0 0 0 -P 163 111 -5.3285294633266200e-01 -4.9076400014206613e-04 9.9538598315359692e+01 9.9540116067293155e+01 2 0 0 -91 0 -V -28 0 0 0 0 0 0 1 0 -P 164 130 -2.0826395264017022e-01 -3.8873428077532614e-02 7.7769704741499027e+02 7.7769723550906360e+02 1 0 0 0 0 -V -29 0 0 0 0 0 0 2 0 -P 165 211 4.9099984147424301e-03 1.9716298245156322e-01 1.5278552690721040e+03 1.5278552881763790e+03 1 0 0 0 0 -P 166 -211 4.3023698600706616e-02 -4.3317947286873226e-01 6.8997695486606995e+02 6.8997710630247286e+02 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 167 421 8.7573421888733503e+00 -1.5584005896471986e+00 -3.6683661548972424e+01 3.7792684999883136e+01 2 0 0 -92 0 -P 168 22 1.1674953354169699e+00 -2.7288291403232995e-01 -4.4930199129953658e+00 4.6502406799609899e+00 1 0 0 0 0 -V -31 0 0 0 0 0 0 2 0 -P 169 211 4.2875839023686985e-01 -2.0671583581217681e-01 -3.0239811985057781e+00 3.0643934583846248e+00 1 0 0 0 0 -P 170 111 2.7306121861372836e+00 -7.6705071398434499e-01 -1.0368784994499388e+01 1.0750559593410056e+01 2 0 0 -93 0 -V -32 0 0 0 0 0 0 2 0 -P 171 -211 6.6913532265409348e-01 -1.1497333163713761e+00 -9.4612474426376263e+00 9.5553289705019964e+00 1 0 0 0 0 -P 172 211 2.6610359075821943e-01 -1.1315064916010875e+00 -4.2716621511963080e+00 4.4291867628733934e+00 1 0 0 0 0 -V -33 0 0 0 0 0 0 2 0 -P 173 -211 9.8073095541060518e-01 -1.0256404175782887e+00 -6.3296668889138790e+00 6.4882920851779993e+00 1 0 0 0 0 -P 174 111 9.4437749042226293e-02 -8.2149919135419225e-01 -3.9179502857745612e+00 4.0065363410358232e+00 2 0 0 -94 0 -V -34 0 5.6807710352650527e-07 -1.0063042688640729e-06 -6.5254907358017688e-06 6.9140389564218331e-06 0 2 0 -P 175 22 -3.1320614758231377e-02 -6.7555428947804044e-02 -1.3895740843388496e-01 1.5765112827955549e-01 1 0 0 0 0 -P 176 22 7.0215709396855189e-02 -1.3441967011516463e-03 -3.0782979379073439e-01 3.1573918771055498e-01 1 0 0 0 0 -V -35 0 0 0 0 0 0 2 0 -P 177 -2112 1.0158607703232485e+00 -2.5256186969806884e+00 -1.3305053132739511e+01 1.3613153696228572e+01 1 0 0 0 0 -P 178 -211 1.3661267712066744e-01 -1.4613037293932616e+00 -6.8481648843881722e+00 7.0050634316725500e+00 1 0 0 0 0 -V -36 0 0 0 0 0 0 3 0 -P 179 111 2.0577497595879218e-01 -9.0184808666137053e-02 -1.4114507077389808e+00 1.4355797927046268e+00 2 0 0 -95 0 -P 180 111 4.1762967717743038e-01 -1.7457001757955024e-01 -2.2827569132806103e+00 2.3311130311135639e+00 2 0 0 -96 0 -P 181 111 2.3922967851484872e-01 -3.7578479703185902e-01 -2.8286977598559608e+00 2.8667395538794112e+00 2 0 0 -97 0 -V -37 0 -1.4153395206062958e-06 -2.3390528252416852e-04 -6.7563174062637891e-04 7.1667962649706767e-04 0 2 0 -P 182 22 -5.2764102271312105e-02 -2.7285017863169636e-01 -6.6581425086460921e-01 7.2148450234377659e-01 1 0 0 0 0 -P 183 22 4.8894777854157266e-02 -3.6661152493506532e-01 -1.1812608522813814e+00 1.2378093191801220e+00 1 0 0 0 0 -V -38 0 0 0 0 0 0 2 0 -P 184 -311 -4.6100841314703395e-01 9.2307915799673013e-01 -1.4688030567429675e+00 1.8627028043458205e+00 2 0 0 -98 0 -P 185 -211 -9.1358751268296934e-01 6.5680151488065541e-01 -1.2472094022546043e+00 1.6855389201237880e+00 1 0 0 0 0 -V -39 0 0 0 0 0 0 2 0 -P 186 211 -2.9732466916018679e-01 3.8062348944596097e-01 -5.2622083077712678e-01 7.2778042516476327e-01 1 0 0 0 0 -P 187 111 -1.3188671348400147e+00 8.7462138905242814e-01 -1.2634973141822292e+00 2.0295364389177188e+00 2 0 0 -99 0 -V -40 0 0 0 0 0 0 2 0 -P 188 321 -1.0177148179868251e+01 7.8877952464503291e+00 -1.5602898362297932e+01 2.0235753931818788e+01 1 0 0 0 0 -P 189 -211 -3.3171297377828615e+00 2.5345084667162929e+00 -4.5201053575106149e+00 6.1545036431085274e+00 1 0 0 0 0 -V -41 0 0 0 0 0 0 2 0 -P 190 -211 6.5734504515515368e-01 -8.4783501213816281e-02 1.6242754517480276e+02 1.6242895739999059e+02 1 0 0 0 0 -P 191 111 1.5680949446327844e-01 -5.1801813994789669e-02 1.9047927380199486e+01 1.9049121494894198e+01 2 0 0 -100 0 -V -42 0 0 0 0 0 0 2 0 -P 192 211 -5.0619922995651788e-02 -2.7314198696764880e-01 1.7851834426888692e+02 1.7851861496553065e+02 1 0 0 0 0 -P 193 111 -2.6281976757985070e-01 2.0439037285097228e-01 5.6390753552022026e+01 5.6391897959015616e+01 2 0 0 -101 0 -V -43 0 0 0 0 0 0 3 0 -P 194 211 -7.4549090353008274e-03 -4.7591526351828985e-02 3.6465918317571173e+00 3.6495797431193293e+00 1 0 0 0 0 -P 195 -211 4.1840956779000425e-02 1.1065370009422846e-02 2.3223399295776672e+00 2.3269326680177986e+00 1 0 0 0 0 -P 196 221 -4.7666894429362194e-01 -2.2991460991983190e-01 9.2810980530629781e+00 9.3122798810698342e+00 2 0 0 -102 0 -V -44 0 0 0 0 0 0 2 0 -P 197 -211 3.2159859847224199e-02 5.1524931983974856e-02 2.2591055305043298e-01 2.7240491566948427e-01 1 0 0 0 0 -P 198 111 -4.3446677963083974e-01 -7.8069277641445167e-01 1.0468480002047293e+00 1.3828784941856385e+00 2 0 0 -103 0 -V -45 0 -3.5529310722325376e-06 3.0192034773813072e-06 2.8592368293834157e-05 2.9301135473266580e-05 0 2 0 -P 199 22 1.0875639270421181e-02 -2.5150996814891705e-02 1.6074224664701259e-01 1.6306109906244409e-01 1 0 0 0 0 -P 200 22 -1.2005583534141563e-01 1.1792995056802119e-01 7.1789015938312140e-01 7.3735144794027918e-01 1 0 0 0 0 -V -46 0 0 0 0 0 0 1 0 -P 201 130 3.4248690127551151e-01 -3.5064896127775863e-01 6.5641413010847338e-01 9.5854416210028470e-01 1 0 0 0 0 -V -47 0 0 0 0 0 0 1 0 -P 202 130 3.4345529704259643e-02 4.2425337653113343e-01 -1.1177846011983017e+00 1.2954877021742739e+00 1 0 0 0 0 -V -48 0 0 0 0 0 0 3 0 -P 203 -211 3.7755731400707987e-03 1.0039370246368491e-01 -9.8458836148270468e-01 9.9949346016574825e-01 1 0 0 0 0 -P 204 211 -9.9161576416783720e-02 -1.0551044999043914e-01 -9.9295638064943059e-01 1.0131177779839140e+00 1 0 0 0 0 -P 205 111 7.3326975328856361e-02 7.3893963973200610e-02 -6.2198799242777869e-01 6.4492311661692658e-01 2 0 0 -104 0 -V -49 0 0 0 0 0 0 2 0 -P 206 -211 -1.4056740735774267e-01 4.3090739428138275e-01 -9.2027408298128321e-01 1.0352895977284280e+00 1 0 0 0 0 -P 207 211 1.6448440148163432e-01 -1.0315875828041352e-01 -1.2761807265788860e+00 1.2983889554105663e+00 1 0 0 0 0 -V -50 0 0 0 0 0 0 2 0 -P 208 211 -1.4298661753468034e-01 3.7573616782950625e-01 -3.6032083344042366e+02 3.6032108474779415e+02 1 0 0 0 0 -P 209 111 6.9716897678052181e-01 1.3778964005077581e+00 -1.3537396883659865e+03 1.3537405758563607e+03 2 0 0 -105 0 -V -51 0 0 0 0 0 0 2 0 -P 210 211 -2.9078012283491389e-01 -1.1660259005217517e-01 -4.0121417247561617e+01 4.0122883133963313e+01 1 0 0 0 0 -P 211 -211 2.2899627357348501e-01 2.5707148863093887e-01 -6.0357280793668032e+01 6.0358424015494023e+01 1 0 0 0 0 -V -52 0 0 0 0 0 0 3 0 -P 212 -211 2.6751267029558212e-01 -1.2905333117748891e-01 -6.3913699019142889e+01 6.3914541537005043e+01 1 0 0 0 0 -P 213 211 -1.1274188888036062e-02 -1.4725853542175005e-01 -4.0564276257440682e+01 4.0564785223866963e+01 1 0 0 0 0 -P 214 111 2.8295515860935339e-01 -1.6630421945240220e-01 -6.5321241841682792e+01 6.5322205841927925e+01 2 0 0 -106 0 -V -53 0 0 0 0 0 0 2 0 -P 215 2112 -2.1845128615593268e-01 4.4798446087771526e-01 -4.9336036526094443e+02 4.9336151168614583e+02 1 0 0 0 0 -P 216 -211 1.6585355152244120e-02 7.4750230739152670e-02 -1.6951937808817900e+02 1.6951945283612403e+02 1 0 0 0 0 -V -54 0 0 0 0 0 0 3 0 -P 217 -211 1.9855211504001832e-01 2.6538607577308887e-01 -1.3606712490783372e+02 1.3606760015955496e+02 1 0 0 0 0 -P 218 211 3.7148306018183180e-01 3.1989607288807170e-01 -3.3769988231507233e+02 3.3770026699509737e+02 1 0 0 0 0 -P 219 111 -2.4335846251811649e-02 -9.4387977975935594e-02 -7.7609371571857679e+01 7.7609550164286290e+01 2 0 0 -107 0 -V -55 0 0 0 0 0 0 2 0 -P 220 -2112 -4.2947348594333151e-01 4.2878118755364686e-01 -2.4264944626776290e+02 2.4265202423762878e+02 1 0 0 0 0 -P 221 111 5.8313103641705534e-02 -1.8636801168062198e-03 -5.9184340215263624e+01 5.9184522894147172e+01 2 0 0 -108 0 -V -56 0 0 0 0 0 0 2 0 -P 222 211 2.1682504245500336e-01 -3.0690088139902211e-01 -1.5974570443628508e+01 1.5979598927801305e+01 1 0 0 0 0 -P 223 111 -8.9638781795857811e-02 2.6362743774593289e-01 -4.9839795421006370e+00 4.9935764952198349e+00 2 0 0 -109 0 -V -57 0 -4.7599329251464510e-06 9.0207949310365042e-07 -8.4873871722890296e-05 8.5022653563515400e-05 0 2 0 -P 224 22 -3.7654176681799945e-01 1.0398317559965164e-01 -7.3943111915591366e+00 7.4046224887284371e+00 1 0 0 0 0 -P 225 22 -1.0144310122609973e-01 -1.3397792516092778e-02 -1.1285875580297213e+00 1.1332166958574881e+00 1 0 0 0 0 -V -58 0 0 0 0 0 0 2 0 -P 226 211 3.4496114997444949e-01 1.7950342099730848e-01 -4.8049026935169458e+01 4.8050803207383346e+01 1 0 0 0 0 -P 227 -211 -1.9314214957996700e-01 -1.3047251766359474e-01 -4.5836001434910052e+01 4.5836806545545755e+01 1 0 0 0 0 -V -59 0 0 0 0 0 0 2 0 -P 228 2212 -3.3167235353726043e-01 -1.2810071106104892e-01 -8.1283552071314276e+01 8.1289744766884553e+01 1 0 0 0 0 -P 229 211 -4.5724156530593883e-02 -8.5894814744234493e-02 -1.9645435027066917e+01 1.9646171784989004e+01 1 0 0 0 0 -V -60 0 0 0 0 0 0 2 0 -P 230 -211 5.0134055720976158e-02 4.0626914941326336e-01 -5.8639213486603819e+02 5.8639229435641471e+02 1 0 0 0 0 -P 231 111 1.4339741172950205e-03 6.4265897102186520e-01 -2.2818245590395259e+03 2.2818246535323738e+03 2 0 0 -110 0 -V -61 0 0 0 0 0 0 3 0 -P 232 22 -3.0900926286086272e-01 3.2953746163256012e-02 3.5998311172387848e-01 4.7556336554281858e-01 1 0 0 0 0 -P 233 211 3.2072488781638424e-02 7.4310750623015523e-02 1.9183184940054263e-01 2.5065908229951850e-01 1 0 0 0 0 -P 234 -211 3.6277635485791552e-03 7.2109035769672120e-02 1.0378590046087431e-01 1.8831933448924135e-01 1 0 0 0 0 -V -62 0 0 0 0 0 0 2 0 -P 235 -3112 8.3232122072788059e-02 5.2781217484367471e-01 3.2795184750343456e+00 3.5319424202200054e+00 2 0 0 -111 0 -P 236 -211 -7.0161828819345753e-02 1.5410727715577854e-01 3.5732234516368805e-01 4.1932180762383553e-01 1 0 0 0 0 -V -63 0 -1.8944492746949275e-05 8.2401636158269830e-06 -1.2503312705566621e-05 2.4658063843313472e-05 0 2 0 -P 237 22 -6.0517711111023132e-03 6.5087741414458159e-04 -3.6556075964248064e-02 3.7059334382760996e-02 1 0 0 0 0 -P 238 22 -5.0646985754231766e-01 2.2227734416277739e-01 -3.0170677841869392e-01 6.3003643900236450e-01 1 0 0 0 0 -V -64 0 -7.8563955847677602e-01 2.0638289911218017e+01 7.8257454723169033e+01 8.8857056141573736e+01 0 2 0 -P 239 3122 5.1931187238816325e-02 4.9930613611396391e-01 2.3055770821192110e+00 2.6100634110615828e+00 2 0 0 -112 0 -P 240 -211 -8.0238418068374492e-02 2.4430819712669047e-01 5.1410251659835626e-01 5.9152842821809692e-01 1 0 0 0 0 -V -65 0 0 0 0 0 0 2 0 -P 241 -2112 3.0395501563056263e-02 -2.4405351662998401e-01 -5.3666462824919672e-02 9.7270647146344724e-01 1 0 0 0 0 -P 242 111 -2.6825282256905353e-01 -1.8661431245093574e-01 1.4664249568572760e-01 3.8276376574688753e-01 2 0 0 -113 0 -V -66 0 0 0 0 0 0 2 0 -P 243 2112 5.0572982604360539e-01 -5.8752637152712439e-01 -6.5446855545169724e-01 1.3827764711496053e+00 1 0 0 0 0 -P 244 211 9.9423550289329768e-02 -3.6368958364413451e-01 -2.5949939376894660e-01 4.7851319299453970e-01 1 0 0 0 0 -V -67 0 0 0 0 0 0 3 0 -P 245 111 8.1991508324625768e-03 -2.2739275841531278e-01 -6.9069109264228244e-03 2.6465448885791415e-01 2 0 0 -114 0 -P 246 111 1.4009134464458384e-01 -4.0884284586234554e-02 6.9315279214559475e-02 2.1052628791447428e-01 2 0 0 -115 0 -P 247 111 7.8135734516086748e-03 -1.4352575440229270e-01 1.8309356614861544e-01 2.6907907475656356e-01 2 0 0 -116 0 -V -68 0 0 0 0 0 0 3 0 -P 248 211 -1.7564763129426919e-01 3.9036294667704030e-01 5.7373381789943145e-01 7.2930487398558319e-01 1 0 0 0 0 -P 249 -211 9.8183549295323566e-02 -9.0366883444205459e-02 2.8497224847354313e-01 3.4423124535072736e-01 1 0 0 0 0 -P 250 111 -8.9081241279593756e-02 -3.5896718271989543e-02 6.1330119536645196e-02 1.7664944351169345e-01 2 0 0 -117 0 -V -69 0 0 0 0 0 0 2 0 -P 251 -211 3.2224716368830358e-01 -8.0081349545995439e-01 -1.1081394023791091e-01 8.8142214816000508e-01 1 0 0 0 0 -P 252 111 5.1011684333153062e-01 -6.1963457427255142e-01 -8.1190431695912335e-01 1.1495975033816452e+00 2 0 0 -118 0 -V -70 0 0 0 0 0 0 2 0 -P 253 -211 -1.3608073804842804e-02 3.4069193915745993e-01 4.6360081699615536e+00 4.6506244434408828e+00 1 0 0 0 0 -P 254 111 2.5831045357956911e-01 -2.5003056765727244e-01 6.3219226034303873e+00 6.3335743920282130e+00 2 0 0 -119 0 -V -71 0 -2.2191327105470943e-05 2.6707018703971986e-05 2.0575699945590383e-04 2.0887534434869823e-04 0 2 0 -P 255 22 -3.3464530112944861e-02 1.3062552833387439e-01 7.1639911157906921e-01 7.2897914270537523e-01 1 0 0 0 0 -P 256 22 -2.8721994320842464e-01 2.5531471698636882e-01 2.2569730841935161e+00 2.2894559186104617e+00 1 0 0 0 0 -V -72 0 0 0 0 0 0 3 0 -P 257 -211 -2.5370115195927556e-01 2.4389521354651730e-01 1.1941656171072713e+01 1.1947655880661921e+01 1 0 0 0 0 -P 258 211 -1.2411261561070656e-01 1.6023975462299647e-01 1.1180974600038915e+01 1.1183682466519279e+01 1 0 0 0 0 -P 259 111 -2.0433372632142410e-01 1.6817746660681263e-01 2.1939337867558944e+01 2.1941349128968632e+01 2 0 0 -120 0 -V -73 0 0 0 0 0 0 2 0 -P 260 -311 -2.2181622425943659e-01 8.2064928378335456e-01 3.4099179264428734e+01 3.4113404544560858e+01 2 0 0 -121 0 -P 261 111 1.2976008347469933e-01 3.6468272062361839e-01 6.3463218449327279e+00 6.3595480755990161e+00 2 0 0 -122 0 -V -74 0 -1.0001014862923057e+01 -3.2697666563000749e-01 1.3551631410569682e+03 1.3553631885179477e+03 0 2 0 -P 262 2112 -2.6701945902112212e-01 3.2379757227036086e-02 5.3708962497965480e+01 5.3717853570604774e+01 1 0 0 0 0 -P 263 211 -2.9869529476092338e-01 -5.0875432558458403e-02 2.2946836256989762e+01 2.2949261015961937e+01 1 0 0 0 0 -V -75 0 3.8177060219193604e+00 -8.6202960607973977e-01 7.4805709987901992e+02 7.4808463063873478e+02 0 2 0 -P 264 -2212 5.6058624701577420e-01 -8.4272389450154115e-03 1.2543095886015534e+02 1.2543572106513193e+02 1 0 0 0 0 -P 265 111 3.3211251027235189e-01 -1.9314217307222326e-01 4.9488125953721443e+01 4.9489801299159566e+01 2 0 0 -123 0 -V -76 0 4.0150324535365861e-04 -2.9501415761643132e-04 2.5414161167512602e-02 2.5419241904258205e-02 0 2 0 -P 266 22 2.1495426154852360e-01 -2.1249167000350005e-01 1.7862096858763419e+01 1.7864653991505818e+01 1 0 0 0 0 -P 267 22 3.2610470661881691e-01 -1.8506440846382186e-01 1.6385595973758694e+01 1.6389885555738825e+01 1 0 0 0 0 -V -77 0 0 0 0 0 0 3 0 -P 268 111 2.1756652006665286e-01 4.4921344540010552e-02 2.8253044127043143e+01 2.8254239950189710e+01 2 0 0 -124 0 -P 269 111 2.1168570079863799e-01 1.5888476958365427e-02 1.4419743327632153e+01 1.4421937474376135e+01 2 0 0 -125 0 -P 270 111 4.2338651776527382e-02 5.9397905537924622e-02 5.3617926069090789e+00 5.3639873445526884e+00 2 0 0 -126 0 -V -78 0 0 0 0 0 0 3 0 -P 271 211 -1.6517201415503185e-01 -2.4079978785390410e-01 5.3890218212193854e+00 5.3987315460735052e+00 1 0 0 0 0 -P 272 -211 6.1921227808798385e-02 6.5909961337744488e-02 6.8540815103096717e+00 6.8560988540368788e+00 1 0 0 0 0 -P 273 111 -2.9104043237975502e-01 -1.7136327052337760e-01 1.4152408887417174e+01 1.4157081861061936e+01 2 0 0 -127 0 -V -79 0 0 0 0 0 0 2 0 -P 274 211 -5.2151867703930009e-02 -4.6577522637422542e-01 9.3560383894911787e+00 9.3688099836287453e+00 1 0 0 0 0 -P 275 111 4.5010499856196384e-01 -1.5099879120799736e-01 2.2489630496284530e+01 2.2495046001386349e+01 2 0 0 -128 0 -V -80 0 0 0 0 0 0 2 0 -P 276 321 -2.0352232346411694e-01 -3.1853415646239830e-01 1.2546225242926846e+01 1.2561619885637212e+01 1 0 0 0 0 -P 277 -211 3.0617347118293892e-01 9.2311657222136315e-02 1.0906099986540170e+01 1.0911679996124647e+01 1 0 0 0 0 -V -81 0 0 0 0 0 0 2 0 -P 278 -321 -7.0220195411522102e-01 -1.2527226016438842e+00 1.0523045321644643e+01 1.0632051791748376e+01 1 0 0 0 0 -P 279 211 1.4520040899471007e-01 -3.8694870159807759e-01 3.1236150576917168e+00 3.1539282284127990e+00 1 0 0 0 0 -V -82 0 -7.3070249558822658e-06 -3.2202206515903731e-05 5.1933279134994169e-04 5.2070104417390720e-04 0 2 0 -P 280 22 1.2505542083726177e-02 -1.7814709059026052e-01 3.0137330713764303e+00 3.0190196753212120e+00 1 0 0 0 0 -P 281 22 -6.6582630892394315e-02 -6.0171731654043326e-02 8.2969235123366514e-01 8.3453177394419598e-01 1 0 0 0 0 -V -83 0 0 0 0 0 0 2 0 -P 282 -211 5.1916430522214251e-02 -8.9640749655295293e-01 4.1885959318955983e+00 4.2860304923351693e+00 1 0 0 0 0 -P 283 111 -6.3457866147058040e-01 -5.6503110734722573e-01 5.4665917789662455e+00 5.5338770774318045e+00 2 0 0 -129 0 -V -84 0 -1.3711706269638147e-04 -1.8369746299331976e-04 1.4597874604678092e-03 1.4778981978161132e-03 0 2 0 -P 284 22 -5.2667737066255793e-01 -6.6014242113744759e-01 5.7128746555838257e+00 5.7749557486932526e+00 1 0 0 0 0 -P 285 22 -1.9494804319896730e-01 -3.0662827210148269e-01 1.9697558616883879e+00 2.0029887147597236e+00 1 0 0 0 0 -V -85 0 0 0 0 0 0 2 0 -P 286 311 -8.8640989536248971e-01 -1.6453928479315294e+00 1.0105514131225380e+01 1.0288932471929078e+01 2 0 0 -130 0 -P 287 211 -1.9216241447018820e-02 -3.0070888016722131e-02 8.4870724776096818e-01 8.6084685022567276e-01 1 0 0 0 0 -V -86 0 0 0 0 0 0 2 0 -P 288 -321 -3.0096672158605109e-01 -3.2856288480682283e-01 5.3121460379397503e+00 5.3536035550994834e+00 1 0 0 0 0 -P 289 211 2.6855393914793912e-01 -1.0507833884512403e-01 1.6147842692616270e+00 1.6462596079237115e+00 1 0 0 0 0 -V -87 0 4.4109844203045144e-05 9.1528473519848896e-05 8.5958854573134038e-05 1.3727799312159968e-04 0 2 0 -P 290 22 -8.7160338195142774e-03 1.0407506512888258e-01 1.1322702962452645e-01 1.5403878948082347e-01 1 0 0 0 0 -P 291 22 1.8558634600392554e-01 2.6293302518989264e-01 2.3144817197854431e-01 3.9641433358395012e-01 1 0 0 0 0 -V -88 0 -3.5053496386335686e-05 7.6475739764950647e-05 7.9714842662904328e-05 1.2138813319072600e-04 0 2 0 -P 292 22 -1.3461824233850531e-01 2.0304834831798538e-01 1.5577729727085340e-01 2.8916650786351850e-01 1 0 0 0 0 -P 293 22 3.5575337961664942e-03 8.2885029894210052e-02 1.4226668800229234e-01 1.6468878147104177e-01 1 0 0 0 0 -V -89 0 -4.4554774813408138e-06 -6.5814465924921522e-06 1.9206538511148803e-04 1.9343662025378980e-04 0 2 0 -P 294 22 1.8693463926493268e-02 -3.1342886660051500e-02 1.0632171065932128e+00 1.0638432393403643e+00 1 0 0 0 0 -P 295 22 -4.6569336840087371e-02 -9.8341969562946805e-03 1.3844765075107546e-01 1.4640070546958606e-01 1 0 0 0 0 -V -90 0 -1.1519603842379508e-05 -3.5623912285813612e-05 1.9265592300701549e-02 1.9265664885424284e-02 0 2 0 -P 296 22 -8.3815127063187972e-02 -1.2256295385089019e-01 5.3865030303772741e+01 5.3865234950564684e+01 1 0 0 0 0 -P 297 22 4.2184079505536640e-02 -6.1793889286651952e-03 1.5759481117893948e+01 1.5759538787244599e+01 1 0 0 0 0 -V -91 0 -1.5697360852585788e-04 -1.4457458960692370e-07 2.9323161432635091e-02 2.9323608548484745e-02 0 2 0 -P 298 22 -4.9644516570737324e-01 -3.7151389408233211e-02 8.9402750785785713e+01 8.9404136851118892e+01 1 0 0 0 0 -P 299 22 -3.6407780625288773e-02 3.6660625408091146e-02 1.0135847529573983e+01 1.0135979216174251e+01 1 0 0 0 0 -V -92 0 1.8966305837442445e-02 -3.3751224473166320e-03 -7.9448025344839107e-02 8.1849904533435089e-02 0 4 0 -P 300 -311 2.6183277643501564e+00 6.1386138582397727e-02 -9.6191913944512102e+00 9.9817797537093131e+00 2 0 0 -131 0 -P 301 211 8.8637402086832295e-01 -3.1039363085465904e-01 -3.8525417889436788e+00 3.9678156624776282e+00 1 0 0 0 0 -P 302 -211 1.5690167489104487e+00 -1.3700604791982612e-01 -6.5896015529868883e+00 6.7766446437418670e+00 1 0 0 0 0 -P 303 111 3.6836236547444208e+00 -1.1723870494551110e+00 -1.6622326812590639e+01 1.7066444939954319e+01 2 0 0 -132 0 -V -93 0 7.4128442659675373e-04 -2.0823270018832646e-04 -2.8148335666901884e-03 2.9184746351946975e-03 0 2 0 -P 304 22 8.1742943599848239e-01 -1.6584406973187246e-01 -3.0563856276486878e+00 3.1681521811932414e+00 1 0 0 0 0 -P 305 22 1.9131827501388010e+00 -6.0120664425247261e-01 -7.3123993668507001e+00 7.5824074122168170e+00 1 0 0 0 0 -V -94 0 1.4833994199896756e-05 -1.2903859275933336e-04 -6.1541970667552427e-04 6.2933453462583595e-04 0 2 0 -P 306 22 5.6644467513777601e-02 -3.9192437164538596e-01 -2.1953408676426514e+00 2.2307700091967217e+00 1 0 0 0 0 -P 307 22 3.7793281528448693e-02 -4.2957481970880629e-01 -1.7226094181319094e+00 1.7757663318391017e+00 1 0 0 0 0 -V -95 0 4.5181862789650803e-06 -1.9801813276266907e-06 -3.0991121206199972e-05 3.1520921781356387e-05 0 2 0 -P 308 22 8.6260522514302745e-02 2.2530582118513855e-02 -3.3478032046315359e-01 3.4644821812855597e-01 1 0 0 0 0 -P 309 22 1.1951445344448942e-01 -1.1271539078465091e-01 -1.0766703872758272e+00 1.0891315745760710e+00 1 0 0 0 0 -V -96 0 8.5116093559703892e-05 -3.5578692705565099e-05 -4.6524316068253217e-04 4.7509850400360835e-04 0 2 0 -P 310 22 4.1443767343060667e-01 -1.4967313990932649e-01 -2.2238064740485206e+00 2.2670412144442822e+00 1 0 0 0 0 -P 311 22 3.1920037468237635e-03 -2.4896877670223756e-02 -5.8950439232089813e-02 6.4071816669282453e-02 1 0 0 0 0 -V -97 0 3.0282600980360872e-06 -4.7568266335714519e-06 -3.5806730204857039e-05 3.6288277676784827e-05 0 2 0 -P 312 22 9.3367976806222705e-02 -2.3060951027911883e-01 -1.2351119821318959e+00 1.2599206061216093e+00 1 0 0 0 0 -P 313 22 1.4586170170862600e-01 -1.4517528675274019e-01 -1.5935857777240650e+00 1.6068189477578019e+00 1 0 0 0 0 -V -98 0 0 0 0 0 0 1 0 -P 314 130 -4.6100841314703395e-01 9.2307915799673013e-01 -1.4688030567429675e+00 1.8627028043458205e+00 1 0 0 0 0 -V -99 0 -6.0749677413030187e-04 4.0286823319709669e-04 -5.8199231917407284e-04 9.3484537376994871e-04 0 2 0 -P 315 22 -5.8507372946487168e-01 3.1792411425789363e-01 -4.8939393290153504e-01 8.2637366420853020e-01 1 0 0 0 0 -P 316 22 -7.3379340537514304e-01 5.5669727479453446e-01 -7.7410338128069411e-01 1.2031627747091891e+00 1 0 0 0 0 -V -100 0 1.3016547532871910e-04 -4.2999996681327984e-05 1.5811431125117299e-02 1.5812422343840164e-02 0 2 0 -P 317 22 1.5804746333869230e-01 -3.9281593826614072e-02 1.8887316070568861e+01 1.8888018170095304e+01 1 0 0 0 0 -P 318 22 -1.2379688754138632e-03 -1.2520220168175604e-02 1.6061130963062439e-01 1.6110332479890169e-01 1 0 0 0 0 -V -101 0 -3.1320010615501288e-05 2.4357028797134874e-05 6.7200386642486745e-03 6.7201750422674266e-03 0 2 0 -P 319 22 -2.0941596228200959e-01 1.9785744195153840e-01 3.9131333015929883e+01 3.9132393566151876e+01 1 0 0 0 0 -P 320 22 -5.3403805297841091e-02 6.5329308994338591e-03 1.7259420536092140e+01 1.7259504392863857e+01 1 0 0 0 0 -V -102 0 0 0 0 0 0 3 0 -P 321 -211 -6.0151917037470526e-02 7.9311722353406680e-02 2.2910866605242663e+00 2.2974913434783999e+00 1 0 0 0 0 -P 322 211 -1.8066085545057711e-01 -1.2250346517093816e-01 3.1803689410937466e+00 3.1909045473101791e+00 1 0 0 0 0 -P 323 111 -2.3585617180557428e-01 -1.8672286710230040e-01 3.8096424514449647e+00 3.8238839902812538e+00 2 0 0 -133 0 -V -103 0 -1.9160483241735818e-05 -3.4429446762634630e-05 4.6167197366874553e-05 6.0986527521654494e-05 0 2 0 -P 324 22 -4.2152681502119949e-01 -7.5137863584649212e-01 1.0392920720559295e+00 1.3499565627185053e+00 1 0 0 0 0 -P 325 22 -1.2939964609640288e-02 -2.9314140567959529e-02 7.5559281487998032e-03 3.2921931467134069e-02 1 0 0 0 0 -V -104 0 2.9830838171712643e-05 3.0061500167775855e-05 -2.5303679939952156e-04 2.6236725350684323e-04 0 2 0 -P 326 22 3.5218510592828343e-02 1.0791532602972706e-01 -4.9896979581793105e-01 5.1171956990041656e-01 1 0 0 0 0 -P 327 22 3.8108464736028018e-02 -3.4021362056526450e-02 -1.2301819660984770e-01 1.3320354671651011e-01 1 0 0 0 0 -V -105 0 4.2377491725209733e-04 8.3755581868205121e-04 -8.2287213505597279e-01 8.2287267451795754e-01 0 2 0 -P 328 22 4.5179522665667199e-01 1.0179315933320865e+00 -9.5340158429428311e+02 9.5340223475640357e+02 1 0 0 0 0 -P 329 22 2.4537375012384985e-01 3.5996480717567148e-01 -4.0033810407170330e+02 4.0033834109995706e+02 1 0 0 0 0 -V -106 0 2.7213670290870733e-05 -1.5994577439058151e-05 -6.2823761447091137e-03 6.2824688589927487e-03 0 2 0 -P 330 22 2.2167340558834825e-01 -9.7157200552894965e-02 -5.5547760321911738e+01 5.5548287600977559e+01 1 0 0 0 0 -P 331 22 6.1281753021005136e-02 -6.9147018899507251e-02 -9.7734815197710532e+00 9.7739182409503673e+00 1 0 0 0 0 -V -107 0 -5.8316299800032171e-06 -2.2618311951053398e-05 -1.8597633026793233e-02 1.8597675823125447e-02 0 2 0 -P 332 22 -1.7984737530842031e-02 -2.1226756412069968e-02 -2.7141048367785494e+00 2.7142474262669105e+00 1 0 0 0 0 -P 333 22 -6.3511087209696176e-03 -7.3161221563865633e-02 -7.4895266735079133e+01 7.4895302738019382e+01 1 0 0 0 0 -V -108 0 5.8868838727987346e-06 -1.8814413465442004e-07 -5.9748378353555037e-03 5.9748562773403457e-03 0 2 0 -P 334 22 6.9648943109769781e-02 2.9835063326280664e-02 -1.6959451898039372e+01 1.6959621156977278e+01 1 0 0 0 0 -P 335 22 -1.1335839468064239e-02 -3.1698743443086888e-02 -4.2224888317224256e+01 4.2224901737169894e+01 1 0 0 0 0 -V -109 0 -1.1760798667907243e-05 3.4588480081390835e-05 -6.5390870765183397e-04 6.5516784829608410e-04 0 2 0 -P 336 22 -6.1848075575125581e-02 1.9449485808627826e-01 -2.4447993736844960e+00 2.4533033672667659e+00 1 0 0 0 0 -P 337 22 -2.7790706220732229e-02 6.9132579659654650e-02 -2.5391801684161410e+00 2.5402731279530690e+00 1 0 0 0 0 -V -110 0 1.1133139557567718e-07 4.9894987127144138e-05 -1.7715711152160191e-01 1.7715711885787144e-01 0 2 0 -P 338 22 5.1210149305939139e-02 5.3680022191438881e-01 -1.8410429184390396e+03 1.8410429974097549e+03 1 0 0 0 0 -P 339 22 -4.9776175188644113e-02 1.0585874910747640e-01 -4.4078164060048624e+02 4.4078165612261887e+02 1 0 0 0 0 -V -111 0 8.3651444920921989e+00 5.3047128888430507e+01 3.2960406661453277e+02 3.5497363213991264e+02 0 2 0 -P 340 -2112 2.4959979502932808e-01 4.1483457435636895e-01 2.8145873045782719e+00 3.0065064878947614e+00 1 0 0 0 0 -P 341 211 -1.6636767295654004e-01 1.1297760048730578e-01 4.6493117045607391e-01 5.2543593232524399e-01 1 0 0 0 0 -V -112 0 5.6116033604361382e-01 3.3587453741407344e+01 1.3805102263693735e+02 1.5654726916412105e+02 0 2 0 -P 342 2212 1.1992793272742071e-01 4.4331641651508663e-01 2.1078582809441220e+00 2.3525155216586264e+00 1 0 0 0 0 -P 343 -211 -6.7996745488604390e-02 5.5989719598877254e-02 1.9771880117508914e-01 2.5754788940295620e-01 1 0 0 0 0 -V -113 0 -1.9934912146134204e-05 -1.3868036460130835e-05 1.0897575057695162e-05 2.8444666377829044e-05 0 2 0 -P 344 22 -7.6471623616945908e-03 -4.7325606667598510e-02 -9.0136760118943275e-03 4.8779488454572417e-02 1 0 0 0 0 -P 345 22 -2.6060566020735898e-01 -1.3928870578333724e-01 1.5565617169762194e-01 3.3398427729231522e-01 1 0 0 0 0 -V -114 0 2.1360272638227475e-06 -5.9239931243597419e-05 -1.7993753681444694e-06 6.8947286767231003e-05 0 2 0 -P 346 22 -4.6502144541311519e-02 -2.4623793396686189e-02 1.1401113821310007e-02 5.3840189863615641e-02 1 0 0 0 0 -P 347 22 5.4701295373774099e-02 -2.0276896501862660e-01 -1.8308024747732833e-02 2.1081429899429852e-01 1 0 0 0 0 -V -115 0 4.8539793062532255e-05 -1.4165862411844778e-05 2.4016825005729855e-05 7.2944566814726108e-05 0 2 0 -P 348 22 -1.5453741505853599e-02 -1.0327941204819121e-03 4.5670963822391386e-02 4.8225737181418267e-02 1 0 0 0 0 -P 349 22 1.5554508615043744e-01 -3.9851490465752641e-02 2.3644315392168085e-02 1.6230055073305602e-01 1 0 0 0 0 -V -116 0 1.1104293133444440e-06 -2.0397223612887224e-05 2.6020420003133673e-05 3.8240287119304297e-05 0 2 0 -P 350 22 5.0771406605997528e-02 -4.0452964763788126e-03 5.4032352941951377e-02 7.4253587905076579e-02 1 0 0 0 0 -P 351 22 -4.2957833154388850e-02 -1.3948045792591390e-01 1.2906121320666405e-01 1.9482548685148704e-01 1 0 0 0 0 -V -117 0 -2.6036576342430157e-05 -1.0491857009467409e-05 1.7925506161217156e-05 5.1630923141319130e-05 0 2 0 -P 352 22 -1.0270748918179354e-01 -7.3080935605012304e-02 4.7240148627235183e-02 1.3461531534433765e-01 1 0 0 0 0 -P 353 22 1.3626247902199785e-02 3.7184217333022761e-02 1.4089970909410013e-02 4.2034128167355814e-02 1 0 0 0 0 -V -118 0 1.0691248272362538e-04 -1.2986567995721066e-04 -1.7016239984005995e-04 2.4093759072278827e-04 0 2 0 -P 354 22 2.0070538345311324e-02 -3.6272560866489251e-02 -8.3680527288135988e-03 4.2291245994366115e-02 1 0 0 0 0 -P 355 22 4.9004630498621926e-01 -5.8336201340606209e-01 -8.0353626423030966e-01 1.1073062573872792e+00 1 0 0 0 0 -V -119 0 2.7525122215137944e-05 -2.6642831665992929e-05 6.7365331090041411e-04 6.7489490565872043e-04 0 2 0 -P 356 22 -1.3261749120023297e-02 1.7702328450182473e-03 2.6929989477908284e-01 2.6963204750562036e-01 1 0 0 0 0 -P 357 22 2.7157220269959242e-01 -2.5180080050229070e-01 6.0526227086513051e+00 6.0639423445225926e+00 1 0 0 0 0 -V -120 0 -3.1715703820054426e-05 2.6103702096238404e-05 3.4053191039106886e-03 3.4056312822883005e-03 0 2 0 -P 358 22 -1.2742245539164479e-01 1.6454266915182736e-01 1.2849928685755119e+01 1.2851613828663774e+01 1 0 0 0 0 -P 359 22 -7.6911270929779313e-02 3.6347974549852820e-03 9.0894091818038234e+00 9.0897353003048575e+00 1 0 0 0 0 -V -121 0 0 0 0 0 0 1 0 -P 360 130 -2.2181622425943659e-01 8.2064928378335456e-01 3.4099179264428734e+01 3.4113404544560858e+01 1 0 0 0 0 -V -122 0 1.6365951152252307e-05 4.5995497474848116e-05 8.0042791688625977e-04 8.0209607121551534e-04 0 2 0 -P 361 22 1.6457473104822637e-02 1.2357630669817704e-01 3.0214087375441823e+00 3.0239796148959881e+00 1 0 0 0 0 -P 362 22 1.1330261036987670e-01 2.4110641392544135e-01 3.3249131073885452e+00 3.3355684607030280e+00 1 0 0 0 0 -V -123 0 3.8177543412316921e+00 -8.6205770648757274e-01 7.4806429994568623e+02 7.4809183094914840e+02 0 2 0 -P 363 22 2.8847555483102255e-01 -1.8442581482610237e-01 3.6678513532652126e+01 3.6680111586414981e+01 1 0 0 0 0 -P 364 22 4.3636955441329298e-02 -8.7163582461208516e-03 1.2809612421069319e+01 1.2809689712744593e+01 1 0 0 0 0 -V -124 0 1.8055353550502218e-05 3.7279208096233577e-06 2.3446562478244642e-03 2.3447554864834664e-03 0 2 0 -P 365 22 3.2840553761882885e-02 3.3487323111844082e-02 1.2824422473230022e+01 1.2824508242995824e+01 1 0 0 0 0 -P 366 22 1.8472596630477001e-01 1.1434021428166474e-02 1.5428621653813121e+01 1.5429731707193888e+01 1 0 0 0 0 -V -125 0 1.5000494737206010e-05 1.1258909510514894e-06 1.0218133916554050e-03 1.0219688735163036e-03 0 2 0 -P 367 22 2.0590072325621228e-01 1.6406750822116400e-02 1.4396424714445700e+01 1.4397906405030316e+01 1 0 0 0 0 -P 368 22 5.7849775424257200e-03 -5.1827386375097220e-04 2.3318613186452682e-02 2.4031069345820253e-02 1 0 0 0 0 -V -126 0 1.1025628596229910e-05 1.5468117627169742e-05 1.3962923100580519e-03 1.3968638531069975e-03 0 2 0 -P 369 22 -4.6518556081000337e-03 8.8937831391877178e-02 2.3566496719389329e+00 2.3583318794993993e+00 1 0 0 0 0 -P 370 22 4.6990507384627421e-02 -2.9539925853952553e-02 3.0051429349701460e+00 3.0056554650532892e+00 1 0 0 0 0 -V -127 0 -5.5259884809614866e-05 -3.2536766497669014e-05 2.6871197190801157e-03 2.6880069771947918e-03 0 2 0 -P 371 22 -1.0110895637559562e-01 -5.3295271113881944e-02 2.6031718919982696e+00 2.6056798165300958e+00 1 0 0 0 0 -P 372 22 -1.8993147600415941e-01 -1.1806799940949568e-01 1.1549236995418905e+01 1.1551402044531839e+01 1 0 0 0 0 -V -128 0 3.9393832255598700e-05 -1.3215629843371153e-05 1.9683245778019608e-03 1.9687985505421920e-03 0 2 0 -P 373 22 4.0519797499710603e-01 -1.6100216218666105e-01 1.8439347310789309e+01 1.8444501520590993e+01 1 0 0 0 0 -P 374 22 4.4907023564857852e-02 1.0003370978663674e-02 4.0502831854952213e+00 4.0505444807953541e+00 1 0 0 0 0 -V -129 0 -2.0539396101361708e-04 -1.8288351670226675e-04 1.7693707760742391e-03 1.7911489965044658e-03 0 2 0 -P 375 22 -2.7639354994895160e-01 -2.6866740687512319e-01 2.9022806969822539e+00 2.9277651569151142e+00 1 0 0 0 0 -P 376 22 -3.5818511152162880e-01 -2.9636370047210259e-01 2.5643110819839920e+00 2.6061119205166898e+00 1 0 0 0 0 -V -130 0 0 0 0 0 0 1 0 -P 377 310 -8.8640989536248971e-01 -1.6453928479315294e+00 1.0105514131225380e+01 1.0288932471929078e+01 2 0 0 -134 0 -V -131 0 1.8966305837442445e-02 -3.3751224473166320e-03 -7.9448025344839107e-02 8.1849904533435089e-02 0 1 0 -P 378 130 2.6183277643501564e+00 6.1386138582397727e-02 -9.6191913944512102e+00 9.9817797537093131e+00 1 0 0 0 0 -V -132 0 2.0149870341415778e-02 -3.7518155698254710e-03 -8.4788852159078762e-02 8.7333428458016546e-02 0 2 0 -P 379 22 2.8921594225230942e+00 -9.1550660519293359e-01 -1.2794645715543083e+01 1.3149361104468387e+01 1 0 0 0 0 -P 380 22 7.9146423222132656e-01 -2.5688044426217738e-01 -3.8276810970475545e+00 3.9170838354859354e+00 1 0 0 0 0 -V -133 0 -1.1231803604738254e-05 -8.8920063263619592e-06 1.8142054749441223e-04 1.8209874966319139e-04 0 2 0 -P 381 22 -1.1488886556337818e-01 -1.3618640965757867e-01 2.8158840839305816e+00 2.8215154374448228e+00 1 0 0 0 0 -P 382 22 -1.2096730624219609e-01 -5.0536457444721711e-02 9.9375836751438251e-01 1.0023685528364348e+00 1 0 0 0 0 -V -134 0 -5.4534669499812850e+01 -1.0122964063099396e+02 6.2172238391663780e+02 6.3300684570210751e+02 0 2 0 -P 383 111 -2.7057189871723214e-01 -3.1393099110360240e-01 1.6814506090419195e+00 1.7370254950915891e+00 2 0 0 -135 0 -P 384 111 -6.1583799664525751e-01 -1.3314618568279268e+00 8.4240635221834612e+00 8.5519069768374898e+00 2 0 0 -136 0 -V -135 0 -5.4534759776515948e+01 -1.0122974537452058e+02 6.2172294493505149e+02 6.3300742526316185e+02 0 2 0 -P 385 22 -1.0129816071137022e-01 -2.0517523717889224e-01 1.0348101654081705e+00 1.0598067152773691e+00 1 0 0 0 0 -P 386 22 -1.6927373800586196e-01 -1.0875575392471017e-01 6.4664044363374906e-01 6.7721877981422007e-01 1 0 0 0 0 -V -136 0 -5.4534805123554811e+01 -1.0122993385395240e+02 6.2172423911723217e+02 6.3300872905719666e+02 0 2 0 -P 387 22 -3.0111265749682459e-01 -7.1575180908117086e-01 4.0963761753010273e+00 4.1693245561219676e+00 1 0 0 0 0 -P 388 22 -3.1472533914843293e-01 -6.1571004774675597e-01 4.3276873468824339e+00 4.3825824207155222e+00 1 0 0 0 0 -HepMC::IO_Ascii-END_EVENT_LISTING +0 Run HepMC::IO_AsciiParticles eye-readable events output +# HepMC::Version 2.06.03 + # stat pdg moth1 px py pz energy mass eta +1 Event +210 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 2 1 -7.76e-01 -9.12e-01 1.88e+03 1.88e+03 0 8.05 + 4 3 -1 2 -1.01e+00 -1.27e-02 -4.15e+00 4.27e+00 0 -2.12 + 5 3 2 3 -5.02e+00 1.15e+00 1.48e+03 1.48e+03 0 6.35 + 6 3 -1 4 2.54e-02 8.35e+00 6.60e-01 8.37e+00 0 0.079 + 7 3 22 5 -4.03e+00 -1.23e+00 2.46e+02 2.46e+02 0 4.76 + 8 3 24 5 -9.67e-01 1.07e+01 1.23e+03 1.24e+03 137 5.43 + 9 1 22 7 -4.03e+00 -1.23e+00 2.46e+02 2.46e+02 0 4.76 + 10 2 24 8 -9.67e-01 1.07e+01 1.23e+03 1.24e+03 137 5.43 + 11 1 -13 10 -2.56e+01 4.70e+01 2.09e+02 2.16e+02 0.106 2.07 + 12 1 14 10 2.47e+01 -3.63e+01 1.02e+03 1.02e+03 0 3.84 + 13 2 2214 2 1.00e+00 2.73e-02 -4.08e+03 4.08e+03 1.2 -9.01 + 14 2 1 0 2.31e+00 5.82e+00 1.51e+02 1.51e+02 0 3.87 + 15 2 -1 0 -2.31e+00 -5.82e+00 4.62e+01 4.66e+01 0 2.7 + 16 2 2 0 -3.95e+00 -1.33e+00 3.41e+01 3.44e+01 0 2.8 + 17 2 -2 0 3.95e+00 1.33e+00 4.38e+02 4.38e+02 0 5.35 + 18 2 2 0 1.54e+00 3.04e+00 -6.32e+01 6.33e+01 0 -3.61 + 19 2 -2 0 -1.54e+00 -3.04e+00 -3.11e+02 3.11e+02 0 -5.21 + 20 2 2101 1 7.76e-01 9.12e-01 4.45e+03 4.45e+03 0.579 8.91 + 21 2 21 3 1.46e+00 -3.91e-01 1.09e+02 1.09e+02 0 4.97 + 22 2 21 3 3.11e+00 2.32e-01 1.46e+02 1.47e+02 0 4.54 + 23 2 21 3 -1.09e-01 -1.87e+00 8.61e+01 8.61e+01 0 4.52 + 24 2 21 4 -5.37e-01 -6.68e+00 4.75e+01 4.79e+01 0 2.66 + 25 2 21 4 -7.11e-01 -1.71e+00 1.08e+01 1.10e+01 0 2.46 + 26 2 1 2 8.08e-03 -1.46e-02 -2.46e+03 2.46e+03 0.33 -12.6 + 27 2 21 0 -1.37e-01 -5.99e+00 -1.38e+01 1.51e+01 0 -1.57 + 28 2 21 0 1.37e-01 5.99e+00 -6.12e+01 6.15e+01 0 -3.02 + 29 1 2212 13 1.02e+00 1.18e-01 -3.74e+03 3.74e+03 0.938 -8.89 + 30 2 111 13 -2.46e-02 -9.09e-02 -3.46e+02 3.46e+02 0.135 -8.9 + 31 2 92 14 0.00e+00 0.00e+00 1.97e+02 1.97e+02 14.8 999 + 32 1 -211 31 2.54e-01 1.65e+00 3.42e+01 3.42e+01 0.14 3.71 + 33 1 211 31 1.83e-01 -2.25e-01 8.98e+00 8.99e+00 0.14 4.13 + 34 1 -211 31 1.65e+00 3.36e+00 8.55e+01 8.56e+01 0.14 3.82 + 35 2 221 31 1.53e-01 1.01e-01 1.68e+01 1.68e+01 0.547 5.21 + 36 1 211 31 -5.43e-01 7.13e-02 3.10e+00 3.15e+00 0.14 2.44 + 37 2 221 31 -4.39e-01 -1.09e+00 1.62e+01 1.63e+01 0.547 3.32 + 38 2 -213 31 -1.18e+00 -2.20e+00 1.67e+01 1.70e+01 1.07 2.6 + 39 1 211 31 -8.40e-02 -1.67e+00 1.53e+01 1.54e+01 0.14 2.91 + 40 2 92 16 0.00e+00 0.00e+00 4.72e+02 4.72e+02 16.1 999 + 41 2 221 40 -2.68e+00 -7.41e-01 2.70e+01 2.71e+01 0.547 2.97 + 42 1 211 40 -1.08e+00 -1.77e-01 8.94e+00 9.00e+00 0.14 2.8 + 43 2 223 40 7.31e-01 -2.42e-01 2.97e+01 2.97e+01 0.78 4.35 + 44 2 -213 40 6.83e-02 2.16e-01 2.67e+01 2.67e+01 0.8 5.46 + 45 1 211 40 -7.62e-02 3.34e-01 9.98e+00 9.98e+00 0.14 4.07 + 46 2 223 40 1.18e+00 7.67e-03 1.59e+02 1.59e+02 0.783 5.6 + 47 2 -213 40 4.18e-01 2.70e-01 5.63e+01 5.63e+01 0.44 5.42 + 48 2 111 40 1.44e+00 3.32e-01 1.54e+02 1.54e+02 0.135 5.34 + 49 2 92 18 0.00e+00 0.00e+00 -3.75e+02 3.75e+02 9.1 -999 + 50 2 113 49 1.57e+00 2.83e+00 -6.11e+01 6.12e+01 0.589 -3.63 + 51 1 211 49 2.02e-01 1.20e-01 -2.70e+01 2.70e+01 0.14 -5.44 + 52 1 -211 49 -1.77e+00 -2.95e+00 -2.86e+02 2.86e+02 0.14 -5.11 + 53 2 92 20 3.99e+00 -9.52e+00 2.38e+03 7.31e+03 6.91e+03 6.14 + 54 1 2212 53 8.22e-01 7.58e-01 2.86e+03 2.86e+03 0.938 8.54 + 55 2 113 53 -3.60e-01 -1.69e-01 8.62e+02 8.62e+02 0.424 8.37 + 56 2 -2214 53 1.03e+00 9.30e-02 4.53e+02 4.53e+02 1.27 6.78 + 57 2 223 53 -3.60e-01 4.04e-01 1.25e+02 1.25e+02 0.808 6.13 + 58 1 2212 53 1.68e+00 -6.25e-01 1.57e+02 1.57e+02 0.938 5.16 + 59 2 -213 53 5.56e-01 3.45e-01 9.14e+01 9.14e+01 0.587 5.63 + 60 2 -311 53 6.88e-02 -2.98e-02 3.77e+01 3.77e+01 0.498 6.91 + 61 2 311 53 5.59e-01 -2.32e-01 5.88e+01 5.88e+01 0.498 5.27 + 62 1 211 53 3.24e-01 -1.11e+00 5.03e+01 5.03e+01 0.14 4.47 + 63 2 113 53 -1.65e-02 -7.81e-02 4.91e+00 4.95e+00 0.592 4.81 + 64 1 -211 53 7.06e-01 -6.40e-01 6.56e+01 6.56e+01 0.14 4.92 + 65 2 213 53 4.72e-01 -4.39e-01 1.44e+01 1.44e+01 0.787 3.8 + 66 2 -213 53 -3.00e-01 -3.82e-01 1.62e+01 1.63e+01 0.806 4.2 + 67 1 211 53 -4.39e-01 -3.19e+00 2.48e+01 2.50e+01 0.14 2.74 + 68 1 -211 53 -1.40e-01 -1.20e-01 4.92e-01 5.44e-01 0.14 1.71 + 69 2 -311 53 -2.66e-01 -2.65e+00 2.07e+01 2.08e+01 0.498 2.74 + 70 2 323 53 1.09e-01 -8.86e-01 4.66e+00 4.83e+00 0.89 2.36 + 71 2 113 53 -4.98e-01 -2.28e-01 1.70e+00 1.96e+00 0.801 1.85 + 72 2 -323 53 -2.90e-01 -2.30e-01 6.43e-01 1.16e+00 0.889 1.32 + 73 2 311 53 7.90e-02 -3.23e-02 -8.47e-01 9.86e-01 0.498 -2.99 + 74 2 113 53 1.28e-01 1.79e-01 -7.07e-01 1.09e+00 0.794 -1.89 + 75 1 -2112 53 2.40e-01 -6.43e-01 -2.35e+00 2.62e+00 0.94 -1.94 + 76 1 2112 53 1.43e-01 -2.20e-01 -2.23e+00 2.43e+00 0.94 -2.83 + 77 2 221 53 -1.58e-01 9.23e-01 -1.12e+01 1.12e+01 0.547 -3.18 + 78 1 211 53 -3.97e-01 -5.01e-01 -1.11e+00 1.29e+00 0.14 -1.32 + 79 2 111 53 2.87e-01 2.82e-01 -1.04e+00 1.12e+00 0.135 -1.68 + 80 2 223 53 4.06e-01 -2.45e-01 -3.51e+01 3.51e+01 0.854 -5 + 81 1 -321 53 -6.14e-01 2.77e-01 -2.28e+02 2.28e+02 0.494 -6.52 + 82 2 323 53 1.26e-01 -3.07e-01 -1.50e+03 1.50e+03 0.886 -9.11 + 83 1 -321 53 1.94e-01 2.93e-01 -1.69e+02 1.69e+02 0.494 -6.87 + 84 2 311 53 -9.36e-02 -1.11e-01 -5.09e+02 5.09e+02 0.498 -8.86 + 85 2 92 27 0.00e+00 0.00e+00 -7.51e+01 7.66e+01 15.3 -999 + 86 1 -2112 85 -3.84e-02 -2.48e+00 -7.98e+00 8.41e+00 0.94 -1.88 + 87 1 2212 85 1.88e-01 -2.14e+00 -4.49e+00 5.07e+00 0.938 -1.48 + 88 2 -213 85 2.00e-01 -1.11e-01 -1.66e+00 1.83e+00 0.735 -2.68 + 89 2 -313 85 -6.26e-01 1.37e+00 -1.29e+01 1.30e+01 0.922 -2.84 + 90 1 321 85 7.89e-02 7.45e-01 -1.09e+01 1.10e+01 0.494 -3.38 + 91 1 -211 85 4.23e-02 3.92e-01 -8.74e+00 8.75e+00 0.14 -3.79 + 92 1 211 85 6.44e-02 3.67e-01 -1.38e+00 1.43e+00 0.14 -2.02 + 93 1 -2212 85 4.16e-02 5.64e-01 -1.20e+01 1.20e+01 0.938 -3.75 + 94 1 2112 85 4.92e-02 1.30e+00 -1.50e+01 1.51e+01 0.94 -3.14 + 95 1 22 30 -4.57e-02 -1.20e-01 -2.72e+02 2.72e+02 0 -8.35 + 96 1 22 30 2.11e-02 2.92e-02 -7.38e+01 7.38e+01 0 -8.32 + 97 1 211 35 1.91e-01 1.34e-01 6.86e+00 6.86e+00 0.14 4.08 + 98 1 -211 35 -4.99e-02 -5.38e-02 4.31e+00 4.31e+00 0.14 4.77 + 99 2 111 35 1.27e-02 2.08e-02 5.61e+00 5.61e+00 0.135 6.13 + 100 2 111 37 2.02e-02 -1.98e-01 2.68e+00 2.69e+00 0.135 3.3 + 101 2 111 37 -1.94e-01 -3.08e-01 5.97e+00 5.98e+00 0.135 3.49 + 102 2 111 37 -2.65e-01 -5.85e-01 7.55e+00 7.58e+00 0.135 3.16 + 103 1 -211 38 5.93e-02 -7.99e-01 3.99e+00 4.07e+00 0.14 2.31 + 104 2 111 38 -1.24e+00 -1.40e+00 1.27e+01 1.29e+01 0.135 2.62 + 105 1 22 41 -6.34e-03 -7.93e-02 8.01e-01 8.05e-01 0 3 + 106 1 22 41 -2.67e+00 -6.61e-01 2.62e+01 2.63e+01 0 2.95 + 107 1 -211 43 1.76e-02 3.37e-02 3.20e+00 3.21e+00 0.14 5.13 + 108 1 211 43 3.94e-01 9.73e-02 1.40e+01 1.40e+01 0.14 4.24 + 109 2 111 43 3.20e-01 -3.73e-01 1.25e+01 1.25e+01 0.135 3.93 + 110 1 -211 44 -8.41e-02 -1.88e-01 1.75e+01 1.75e+01 0.14 5.14 + 111 2 111 44 1.52e-01 4.04e-01 9.17e+00 9.18e+00 0.135 3.75 + 112 1 -211 46 4.71e-01 6.85e-02 4.92e+01 4.92e+01 0.14 5.33 + 113 1 211 46 5.97e-01 -1.23e-01 1.01e+02 1.01e+02 0.14 5.8 + 114 2 111 46 1.09e-01 6.20e-02 9.26e+00 9.26e+00 0.135 5 + 115 1 -211 47 4.07e-02 6.55e-03 6.59e+00 6.59e+00 0.14 5.77 + 116 2 111 47 3.77e-01 2.64e-01 4.98e+01 4.98e+01 0.135 5.38 + 117 1 22 48 4.72e-01 4.59e-02 5.06e+01 5.06e+01 0 5.36 + 118 1 22 48 9.67e-01 2.86e-01 1.03e+02 1.03e+02 0 5.32 + 119 1 -211 50 9.16e-01 2.13e+00 -4.37e+01 4.38e+01 0.14 -3.63 + 120 1 211 50 6.49e-01 7.08e-01 -1.74e+01 1.75e+01 0.14 -3.59 + 121 1 211 55 -1.07e-01 4.26e-02 1.56e+02 1.56e+02 0.14 7.9 + 122 1 -211 55 -2.53e-01 -2.12e-01 7.07e+02 7.07e+02 0.14 8.36 + 123 1 -2212 56 4.99e-01 1.49e-01 3.29e+02 3.29e+02 0.938 7.14 + 124 2 111 56 5.28e-01 -5.58e-02 1.24e+02 1.24e+02 0.135 6.15 + 125 1 211 57 -1.22e-01 3.51e-01 3.18e+01 3.18e+01 0.14 5.14 + 126 1 -211 57 -2.21e-01 7.11e-02 8.21e+01 8.21e+01 0.14 6.56 + 127 2 111 57 -1.66e-02 -1.80e-02 1.09e+01 1.09e+01 0.135 6.79 + 128 1 -211 59 3.11e-01 3.56e-01 3.44e+01 3.44e+01 0.14 4.98 + 129 2 111 59 2.45e-01 -1.18e-02 5.70e+01 5.70e+01 0.135 6.14 + 130 2 310 60 6.88e-02 -2.98e-02 3.77e+01 3.77e+01 0.498 6.91 + 131 1 130 61 5.59e-01 -2.32e-01 5.88e+01 5.88e+01 0.498 5.27 + 132 1 211 63 1.08e-01 -5.14e-02 4.37e+00 4.38e+00 0.14 4.29 + 133 1 -211 63 -1.25e-01 -2.68e-02 5.37e-01 5.69e-01 0.14 2.14 + 134 1 211 65 1.82e-01 -5.33e-01 1.18e+01 1.18e+01 0.14 3.74 + 135 2 111 65 2.91e-01 9.43e-02 2.56e+00 2.58e+00 0.135 2.82 + 136 1 -211 66 -4.94e-01 -2.13e-01 6.74e+00 6.77e+00 0.14 3.22 + 137 2 111 66 1.93e-01 -1.69e-01 9.48e+00 9.49e+00 0.135 4.3 + 138 1 130 69 -2.66e-01 -2.65e+00 2.07e+01 2.08e+01 0.498 2.74 + 139 2 311 70 -4.56e-02 -1.94e-01 1.85e+00 1.93e+00 0.498 2.93 + 140 1 211 70 1.54e-01 -6.92e-01 2.81e+00 2.90e+00 0.14 2.08 + 141 1 211 71 7.24e-02 -1.33e-01 6.29e-02 2.15e-01 0.14 0.404 + 142 1 -211 71 -5.70e-01 -9.51e-02 1.64e+00 1.75e+00 0.14 1.77 + 143 2 -311 72 -1.02e-01 -3.76e-01 2.53e-01 6.81e-01 0.498 0.611 + 144 1 -211 72 -1.88e-01 1.45e-01 3.90e-01 4.77e-01 0.14 1.27 + 145 2 310 73 7.90e-02 -3.23e-02 -8.47e-01 9.86e-01 0.498 -2.99 + 146 1 -211 74 -7.31e-02 3.05e-01 -7.33e-01 8.10e-01 0.14 -1.58 + 147 1 211 74 2.01e-01 -1.27e-01 2.56e-02 2.77e-01 0.14 0.108 + 148 1 -211 77 -1.37e-01 2.12e-01 -2.48e+00 2.50e+00 0.14 -2.98 + 149 1 211 77 -6.29e-02 5.66e-01 -6.65e+00 6.68e+00 0.14 -3.15 + 150 2 111 77 4.20e-02 1.44e-01 -2.05e+00 2.06e+00 0.135 -3.31 + 151 1 22 79 1.31e-01 1.64e-01 -6.99e-01 7.30e-01 0 -1.92 + 152 1 22 79 1.57e-01 1.18e-01 -3.38e-01 3.91e-01 0 -1.31 + 153 1 -211 80 -6.79e-02 2.16e-01 -6.21e+00 6.22e+00 0.14 -4.01 + 154 1 211 80 4.74e-01 -4.61e-01 -2.89e+01 2.89e+01 0.14 -4.47 + 155 1 321 82 2.70e-01 -1.79e-01 -6.57e+02 6.57e+02 0.494 -8.31 + 156 2 111 82 -1.45e-01 -1.29e-01 -8.42e+02 8.42e+02 0.135 -9.07 + 157 1 130 84 -9.36e-02 -1.11e-01 -5.09e+02 5.09e+02 0.498 -8.86 + 158 1 -211 88 -1.33e-01 -2.94e-01 -9.51e-01 1.01e+00 0.14 -1.8 + 159 2 111 88 3.33e-01 1.83e-01 -7.05e-01 8.13e-01 0.135 -1.38 + 160 2 -311 89 -2.82e-02 5.68e-01 -5.71e+00 5.76e+00 0.498 -3 + 161 2 111 89 -5.98e-01 7.99e-01 -7.16e+00 7.23e+00 0.135 -2.67 + 162 1 22 99 5.81e-02 5.34e-02 3.78e+00 3.78e+00 0 4.56 + 163 1 22 99 -4.54e-02 -3.26e-02 1.83e+00 1.83e+00 0 4.18 + 164 1 22 100 2.39e-02 -9.50e-02 2.06e+00 2.06e+00 0 3.74 + 165 1 22 100 -3.65e-03 -1.03e-01 6.27e-01 6.35e-01 0 2.5 + 166 1 22 101 -2.13e-01 -2.53e-01 5.08e+00 5.10e+00 0 3.43 + 167 1 22 101 1.82e-02 -5.48e-02 8.85e-01 8.87e-01 0 3.42 + 168 1 22 102 -2.34e-01 -3.64e-01 4.90e+00 4.92e+00 0 3.12 + 169 1 22 102 -3.04e-02 -2.21e-01 2.65e+00 2.66e+00 0 3.17 + 170 1 22 104 -1.22e-02 -1.70e-02 7.27e-02 7.56e-02 0 1.96 + 171 1 22 104 -1.22e+00 -1.38e+00 1.27e+01 1.28e+01 0 2.62 + 172 1 22 109 3.26e-01 -3.46e-01 1.21e+01 1.21e+01 0 3.93 + 173 1 22 109 -6.46e-03 -2.66e-02 3.50e-01 3.51e-01 0 3.24 + 174 1 22 111 -2.15e-02 1.49e-02 4.86e-01 4.86e-01 0 3.62 + 175 1 22 111 1.74e-01 3.89e-01 8.68e+00 8.69e+00 0 3.71 + 176 1 22 114 -1.64e-02 4.04e-02 4.24e+00 4.24e+00 0 5.27 + 177 1 22 114 1.25e-01 2.17e-02 5.02e+00 5.02e+00 0 4.37 + 178 1 22 116 1.08e-01 2.89e-02 7.90e+00 7.91e+00 0 4.96 + 179 1 22 116 2.70e-01 2.35e-01 4.19e+01 4.19e+01 0 5.46 + 180 1 22 124 2.10e-01 4.29e-02 4.58e+01 4.58e+01 0 6.06 + 181 1 22 124 3.18e-01 -9.86e-02 7.82e+01 7.82e+01 0 6.15 + 182 1 22 127 -6.61e-02 -4.57e-02 6.07e+00 6.07e+00 0 5.02 + 183 1 22 127 4.94e-02 2.77e-02 4.78e+00 4.78e+00 0 5.13 + 184 1 22 129 1.69e-01 5.36e-02 3.26e+01 3.26e+01 0 5.91 + 185 1 22 129 7.62e-02 -6.54e-02 2.44e+01 2.44e+01 0 6.19 + 186 1 211 130 1.58e-01 -6.43e-02 3.22e+01 3.22e+01 0.14 5.93 + 187 1 -211 130 -8.94e-02 3.44e-02 5.50e+00 5.50e+00 0.14 4.74 + 188 1 22 135 1.27e-02 -2.62e-02 3.17e-01 3.18e-01 0 3.08 + 189 1 22 135 2.78e-01 1.20e-01 2.24e+00 2.26e+00 0 2.7 + 190 1 22 137 3.61e-04 4.27e-04 -3.17e-04 6.42e-04 0 -0.541 + 191 1 22 137 1.93e-01 -1.69e-01 9.49e+00 9.49e+00 0 4.3 + 192 2 310 139 -4.56e-02 -1.94e-01 1.85e+00 1.93e+00 0.498 2.93 + 193 2 310 143 -1.02e-01 -3.76e-01 2.53e-01 6.81e-01 0.498 0.611 + 194 1 211 145 3.78e-02 1.72e-01 -5.70e-01 6.12e-01 0.14 -1.89 + 195 1 -211 145 4.12e-02 -2.04e-01 -2.77e-01 3.74e-01 0.14 -1.1 + 196 1 22 150 2.27e-02 1.42e-01 -1.05e+00 1.06e+00 0 -2.69 + 197 1 22 150 1.93e-02 2.42e-03 -9.95e-01 9.95e-01 0 -4.63 + 198 1 22 156 -1.62e-01 -1.30e-01 -6.73e+02 6.73e+02 0 -8.78 + 199 1 22 156 1.77e-02 1.35e-03 -1.69e+02 1.69e+02 0 -9.85 + 200 1 22 159 1.34e-01 3.84e-02 -1.48e-01 2.03e-01 0 -0.924 + 201 1 22 159 1.99e-01 1.45e-01 -5.58e-01 6.10e-01 0 -1.56 + 202 2 310 160 -2.82e-02 5.68e-01 -5.71e+00 5.76e+00 0.498 -3 + 203 1 22 161 -4.61e-01 6.62e-01 -6.07e+00 6.13e+00 0 -2.72 + 204 1 22 161 -1.37e-01 1.37e-01 -1.09e+00 1.10e+00 0 -2.43 + 205 1 -211 192 -6.12e-02 7.90e-02 2.98e-01 3.44e-01 0.14 1.81 + 206 1 211 192 1.56e-02 -2.73e-01 1.56e+00 1.59e+00 0.14 2.44 + 207 1 -211 193 -2.41e-01 -3.27e-01 1.77e-01 4.65e-01 0.14 0.424 + 208 1 211 193 1.38e-01 -4.84e-02 7.57e-02 2.16e-01 0.14 0.496 + 209 1 211 202 5.42e-02 4.89e-01 -5.04e+00 5.07e+00 0.14 -3.02 + 210 1 -211 202 -8.24e-02 7.87e-02 -6.67e-01 6.91e-01 0.14 -2.47 +2 Event +624 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 21 1 2.24e-03 -3.47e-01 8.58e+00 8.58e+00 0 3.9 + 4 3 1 2 1.81e-01 -9.21e-01 -1.91e+03 1.91e+03 0 -8.31 + 5 3 -2 3 -1.22e+01 1.16e+00 -1.11e+01 1.65e+01 0 -0.813 + 6 3 1 4 -1.04e+01 -7.53e+00 -8.52e+02 8.53e+02 0 -4.89 + 7 3 22 5 -1.33e+01 -8.08e+00 -1.04e+02 1.05e+02 0 -2.6 + 8 3 -24 5 -9.28e+00 1.71e+00 -7.59e+02 7.64e+02 81.1 -5.08 + 9 1 22 7 -1.33e+01 -8.08e+00 -1.04e+02 1.05e+02 0 -2.6 + 10 2 -24 8 -9.28e+00 1.71e+00 -7.59e+02 7.64e+02 81.1 -5.08 + 11 2 -4 3 1.95e+00 -1.06e+00 -8.18e+00 8.61e+00 1.5 -2.02 + 12 2 21 3 1.85e+00 6.48e+00 -3.61e+01 3.67e+01 0 -2.38 + 13 2 1 1 -1.60e-01 2.55e-01 4.51e+02 4.51e+02 0.33 8.01 + 14 2 4 3 1.07e+01 -5.18e+00 -2.71e+01 2.96e+01 1.5 -1.56 + 15 2 21 3 3.52e-01 -6.45e-01 -1.11e+00 1.33e+00 0 -1.2 + 16 2 21 3 3.32e-02 9.61e-02 -6.60e-02 1.21e-01 0 -0.611 + 17 2 21 3 -3.76e-02 -1.65e-01 -9.73e-01 9.88e-01 0 -2.45 + 18 2 21 0 -3.89e+00 -1.90e+00 4.34e+01 4.36e+01 0 3 + 19 2 21 0 -3.91e+00 3.13e+00 7.89e+02 7.89e+02 0 5.75 + 20 2 21 0 3.89e+00 1.90e+00 1.42e+03 1.42e+03 0 6.48 + 21 2 21 0 4.37e+00 6.72e+00 8.31e+01 8.35e+01 0 3.03 + 22 2 21 0 3.91e+00 -3.13e+00 3.66e+01 3.69e+01 0 2.69 + 23 2 21 0 -1.76e+00 -3.29e+00 9.66e+00 1.04e+01 0 1.68 + 24 2 21 0 -4.37e+00 -6.72e+00 8.76e-01 8.07e+00 0 0.109 + 25 2 21 0 -2.35e+00 -1.77e+00 -4.88e+00 5.70e+00 0 -1.28 + 26 2 21 0 1.76e+00 3.29e+00 -4.65e+00 5.96e+00 0 -1.04 + 27 2 21 0 2.35e+00 1.77e+00 -7.28e+02 7.28e+02 0 -6.21 + 28 2 21 4 8.30e-01 1.28e+00 -3.84e+01 3.84e+01 0 -3.92 + 29 2 21 4 1.45e+00 3.41e+00 -3.48e+01 3.50e+01 0 -2.94 + 30 2 21 4 4.75e+00 5.08e+00 -7.07e+01 7.11e+01 0 -3.02 + 31 2 21 4 7.05e+00 5.30e+00 -7.09e+01 7.14e+01 0 -2.78 + 32 2 21 4 6.43e-05 -2.87e-01 -2.01e+00 2.03e+00 0 -2.65 + 33 2 21 4 -2.01e+00 1.84e-01 -1.00e+02 1.00e+02 0 -4.6 + 34 2 21 4 -1.92e+00 -1.52e+00 -2.29e+02 2.29e+02 0 -5.23 + 35 2 21 4 -3.17e+00 -1.74e+00 -8.38e+01 8.39e+01 0 -3.84 + 36 2 21 4 -3.72e-01 -3.53e+00 -1.09e+02 1.09e+02 0 -4.12 + 37 2 21 4 -3.12e-01 2.46e-01 -7.86e+01 7.86e+01 0 -5.98 + 38 2 21 4 2.18e+00 -6.98e-01 -1.55e+02 1.55e+02 0 -4.91 + 39 2 2203 2 -1.81e-01 9.21e-01 -4.33e+03 4.33e+03 0.771 -9.13 + 40 2 2 3 -5.76e-01 -2.17e+00 2.82e+00 3.62e+00 0.33 1.05 + 41 2 2203 1 1.57e-01 9.19e-02 4.12e+03 4.12e+03 0.771 10.7 + 42 2 -4 10 -3.64e+01 2.35e+01 -3.49e+02 3.52e+02 1.5 -2.78 + 43 2 21 10 -1.27e+00 -7.35e-02 -1.13e+01 1.14e+01 0 -2.88 + 44 2 21 10 -4.16e-02 -2.47e-01 -1.97e+00 1.98e+00 0 -2.76 + 45 2 21 10 9.29e-01 -5.25e-01 -8.27e+00 8.34e+00 0 -2.74 + 46 2 21 10 2.59e+00 -1.54e+00 -4.01e+01 4.02e+01 0 -3.28 + 47 2 3 10 2.49e+01 -1.94e+01 -3.48e+02 3.50e+02 0.5 -3.1 + 48 2 3 0 2.68e+00 -2.13e+00 -4.93e+00 6.00e+00 0 -1.16 + 49 2 -3 0 -2.68e+00 2.13e+00 2.54e+01 2.56e+01 0 2.7 + 50 2 21 0 1.28e+00 -2.63e+00 9.77e-01 3.09e+00 0 0.328 + 51 2 21 0 -1.28e+00 2.63e+00 2.15e+00 3.63e+00 0 0.68 + 52 2 92 11 3.65e+00 5.68e+00 4.07e+02 4.96e+02 284 4.79 + 53 2 -423 52 1.80e+00 -7.41e-01 -9.90e+00 1.03e+01 2.01 -2.33 + 54 2 -323 52 5.03e-01 1.51e+00 -6.41e+00 6.67e+00 0.968 -2.1 + 55 2 313 52 6.48e-01 1.70e+00 -1.25e+01 1.27e+01 0.951 -2.62 + 56 2 113 52 3.14e-01 1.06e+00 -3.82e+00 4.04e+00 0.749 -1.95 + 57 2 223 52 8.27e-03 4.69e-01 -5.55e+00 5.62e+00 0.777 -3.16 + 58 2 213 52 1.90e-01 8.19e-01 -3.63e+00 3.80e+00 0.704 -2.17 + 59 2 223 52 4.76e-01 3.30e-01 -1.30e+00 1.62e+00 0.766 -1.55 + 60 2 -323 52 -1.01e-01 5.65e-03 1.73e-01 8.22e-01 0.797 1.3 + 61 2 313 52 -7.71e-02 3.71e-01 6.58e-01 1.14e+00 0.846 1.32 + 62 2 213 52 -3.58e-01 -1.85e-01 2.02e-01 7.59e-01 0.61 0.482 + 63 2 221 52 5.37e-01 2.24e-01 7.68e+00 7.72e+00 0.547 3.27 + 64 2 -213 52 -3.57e-01 -2.47e-01 4.39e+00 4.44e+00 0.443 3.01 + 65 1 211 52 -9.70e-03 -2.00e-01 9.73e-01 1.00e+00 0.14 2.29 + 66 2 -213 52 3.60e-01 -1.91e-02 2.45e+01 2.45e+01 0.739 4.91 + 67 2 113 52 -3.73e-01 1.18e-02 3.83e+01 3.84e+01 0.748 5.33 + 68 2 113 52 -9.06e-02 1.63e-01 1.67e+02 1.67e+02 0.742 7.49 + 69 2 221 52 1.73e-01 4.07e-01 2.06e+02 2.06e+02 0.547 6.83 + 70 2 92 14 1.93e+01 2.76e+00 -3.69e+03 8.47e+03 7.62e+03 -5.94 + 71 2 423 70 6.74e+00 -3.13e+00 -1.81e+01 1.96e+01 2.01 -1.62 + 72 2 213 70 1.08e+00 -6.60e-01 -2.31e+00 2.70e+00 0.597 -1.36 + 73 2 331 70 8.84e-01 -9.17e-01 -1.33e+00 2.07e+00 0.958 -0.911 + 74 2 -213 70 1.67e+00 -6.02e-01 -4.33e+00 4.71e+00 0.59 -1.63 + 75 2 111 70 -2.29e-01 -5.45e-02 -1.11e+00 1.15e+00 0.135 -2.26 + 76 1 211 70 1.91e-01 -3.77e-01 3.30e-01 5.54e-01 0.14 0.718 + 77 1 -211 70 2.15e-01 4.10e-01 1.16e-01 4.98e-01 0.14 0.248 + 78 1 211 70 1.18e-01 -7.30e-01 -1.31e+00 1.51e+00 0.14 -1.34 + 79 2 3112 70 -1.25e-01 -5.92e-02 4.02e+00 4.19e+00 1.2 4.06 + 80 2 311 70 -1.08e-01 -3.01e-02 1.70e+00 1.77e+00 0.498 3.41 + 81 2 -1114 70 -5.93e-01 -4.62e-01 7.53e+00 7.69e+00 1.37 3 + 82 1 -211 70 -3.95e-01 3.08e-01 9.39e+00 9.40e+00 0.14 3.62 + 83 1 211 70 -3.13e-01 -7.22e-01 8.53e+00 8.56e+00 0.14 3.08 + 84 2 -213 70 -1.27e-01 -1.01e-01 5.15e+00 5.19e+00 0.646 4.15 + 85 2 213 70 -1.20e+00 -1.22e-01 2.34e+01 2.35e+01 0.775 3.66 + 86 2 223 70 -7.42e-02 1.42e-01 1.52e+01 1.52e+01 0.781 5.24 + 87 2 -213 70 -9.01e-01 -6.04e-01 2.49e+01 2.49e+01 0.699 3.83 + 88 2 323 70 -3.96e-01 4.77e-01 8.35e+01 8.35e+01 0.901 5.6 + 89 2 -313 70 -1.18e+00 4.38e-01 2.34e+02 2.34e+02 0.898 5.92 + 90 2 111 70 -2.10e-02 1.47e-01 2.20e+01 2.20e+01 0.135 5.69 + 91 2 -213 70 -1.47e+00 1.82e+00 3.92e+02 3.92e+02 0.824 5.81 + 92 2 213 70 1.75e+00 1.50e+00 6.91e+02 6.91e+02 0.87 6.4 + 93 1 -211 70 -8.94e-02 -3.08e-01 1.41e+02 1.41e+02 0.14 6.78 + 94 2 111 70 7.06e-01 3.83e-01 1.68e+02 1.68e+02 0.135 6.04 + 95 2 223 70 1.83e-01 6.58e-01 2.64e+02 2.64e+02 0.784 6.65 + 96 2 113 70 1.17e+00 -6.49e-01 1.09e+02 1.09e+02 0.829 5.1 + 97 2 213 70 -3.59e-02 9.92e-01 3.73e+01 3.74e+01 0.911 4.32 + 98 2 221 70 4.22e-01 3.30e-01 8.56e+00 8.60e+00 0.547 3.47 + 99 2 -213 70 9.75e-01 2.54e+00 3.20e+01 3.22e+01 0.923 3.16 + 100 2 111 70 1.28e+00 5.91e-01 1.83e+01 1.84e+01 0.135 3.26 + 101 2 331 70 1.59e+00 2.22e+00 3.03e+01 3.04e+01 0.958 3.1 + 102 2 213 70 1.77e+00 -1.58e+00 1.71e+01 1.73e+01 0.88 2.67 + 103 1 -211 70 -1.88e-01 -1.28e-01 3.87e+00 3.88e+00 0.14 3.53 + 104 1 211 70 6.95e-01 -7.43e-02 2.83e+00 2.91e+00 0.14 2.11 + 105 2 311 70 6.37e-01 -2.90e-01 6.13e+00 6.19e+00 0.498 2.87 + 106 2 333 70 8.72e-02 -2.03e+00 7.62e+00 7.95e+00 1.02 2.03 + 107 2 -323 70 -1.98e-01 -1.55e-01 2.64e+00 2.79e+00 0.867 3.05 + 108 2 113 70 -1.10e+00 -1.90e+00 5.32e+00 5.81e+00 0.796 1.62 + 109 2 213 70 -7.23e-01 -7.70e-01 6.13e-01 1.63e+00 1.08 0.552 + 110 1 -211 70 -4.35e-01 -8.15e-01 1.78e-01 9.51e-01 0.14 0.191 + 111 2 213 70 -5.97e-01 -1.22e+00 2.67e-01 1.55e+00 0.704 0.196 + 112 1 -211 70 -1.43e+00 -1.65e+00 4.83e-01 2.24e+00 0.14 0.22 + 113 2 111 70 4.36e-02 -2.43e-01 6.27e-02 2.89e-01 0.135 0.251 + 114 2 213 70 -1.15e+00 -1.72e+00 -2.01e+00 2.97e+00 0.71 -0.861 + 115 2 -213 70 -9.95e-01 -3.87e-01 -1.11e+00 1.63e+00 0.55 -0.907 + 116 1 321 70 3.64e-01 4.39e-01 9.92e-02 7.61e-01 0.494 0.173 + 117 1 -321 70 -1.27e-01 -1.02e+00 -1.45e+00 1.85e+00 0.494 -1.14 + 118 1 211 70 -2.01e-01 3.58e-01 -1.79e+00 1.84e+00 0.14 -2.18 + 119 2 311 70 -2.88e-01 7.23e-01 -1.33e+00 1.62e+00 0.498 -1.3 + 120 1 -321 70 1.03e-01 -1.31e-01 -8.45e-01 9.93e-01 0.494 -2.33 + 121 2 113 70 -2.01e-02 9.67e-01 -2.76e+00 3.05e+00 0.864 -1.77 + 122 2 213 70 6.99e-01 4.88e-01 -2.14e+00 2.37e+00 0.552 -1.65 + 123 2 223 70 1.59e-01 -2.33e-01 -7.42e+00 7.46e+00 0.768 -3.96 + 124 2 223 70 -3.07e-01 5.68e-01 -1.77e+01 1.77e+01 0.787 -4 + 125 2 1114 70 7.70e-01 -3.47e-01 -1.94e+02 1.94e+02 1.1 -6.13 + 126 2 111 70 6.52e-01 1.56e+00 -1.11e+02 1.11e+02 0.135 -4.88 + 127 1 -2112 70 1.08e-01 9.33e-02 -7.63e+01 7.63e+01 0.94 -6.97 + 128 1 211 70 3.93e-01 -4.83e-01 -5.97e+01 5.97e+01 0.14 -5.26 + 129 1 -211 70 -4.91e-02 3.02e-01 -5.27e+01 5.27e+01 0.14 -5.84 + 130 2 113 70 7.74e-01 8.64e-01 -8.89e+01 8.89e+01 0.742 -5.03 + 131 2 223 70 1.70e-02 2.83e-01 -9.69e+01 9.69e+01 0.764 -6.53 + 132 2 223 70 3.02e-01 2.43e-01 -3.21e+01 3.21e+01 0.75 -5.11 + 133 2 221 70 6.52e-01 -1.30e-02 -7.49e+00 7.53e+00 0.547 -3.14 + 134 2 213 70 1.25e+00 2.45e+00 -3.91e+01 3.93e+01 1.09 -3.35 + 135 2 221 70 8.86e-01 9.16e-01 -1.24e+01 1.25e+01 0.547 -2.97 + 136 1 -211 70 1.82e+00 1.89e+00 -2.77e+01 2.78e+01 0.14 -3.05 + 137 2 111 70 7.22e-01 1.16e+00 -1.29e+01 1.29e+01 0.135 -2.94 + 138 2 113 70 1.21e+00 1.68e+00 -1.89e+01 1.90e+01 0.755 -2.91 + 139 1 211 70 1.12e+00 5.04e-01 -1.16e+01 1.17e+01 0.14 -2.95 + 140 2 -213 70 4.58e-01 1.15e+00 -1.84e+01 1.85e+01 1.15 -3.39 + 141 2 213 70 2.08e+00 1.68e+00 -2.61e+01 2.63e+01 0.705 -2.98 + 142 2 313 70 1.78e+00 1.24e+00 -2.26e+01 2.27e+01 0.964 -3.04 + 143 2 -313 70 1.42e+00 6.47e-01 -1.81e+01 1.82e+01 0.948 -3.15 + 144 1 2112 70 -1.12e+00 5.37e-01 -5.10e+01 5.10e+01 0.94 -4.41 + 145 2 -213 70 -5.75e-01 -4.78e-01 -9.45e+01 9.45e+01 0.604 -5.53 + 146 2 -1114 70 -8.04e-01 -7.43e-01 -3.40e+01 3.40e+01 1.26 -4.13 + 147 2 -213 70 -1.80e-01 6.29e-02 -4.32e+01 4.32e+01 0.734 -6.12 + 148 1 211 70 -1.19e+00 -2.34e-01 -3.93e+01 3.93e+01 0.14 -4.18 + 149 2 311 70 -1.41e+00 -2.18e+00 -7.90e+01 7.90e+01 0.498 -4.11 + 150 2 -323 70 -3.04e-01 -3.92e-01 -7.88e+01 7.88e+01 0.891 -5.76 + 151 2 213 70 -1.80e+00 -1.21e+00 -8.93e+01 8.94e+01 0.954 -4.41 + 152 2 113 70 4.91e-01 -9.72e-01 -5.04e+01 5.05e+01 0.945 -4.53 + 153 2 221 70 2.67e-01 -2.61e-01 -2.16e+01 2.16e+01 0.547 -4.75 + 154 2 311 70 4.13e-01 1.80e-01 -8.91e+01 8.91e+01 0.498 -5.98 + 155 1 -321 70 3.69e-01 -3.68e-01 -5.25e+01 5.25e+01 0.494 -5.31 + 156 2 221 70 -4.10e-01 -2.74e-01 -4.88e+01 4.88e+01 0.547 -5.29 + 157 1 211 70 7.13e-01 -3.28e-01 -1.35e+02 1.35e+02 0.14 -5.84 + 158 2 113 70 -8.56e-01 4.51e-01 -3.86e+02 3.86e+02 0.787 -6.68 + 159 1 -211 70 8.50e-01 -2.44e-01 -2.40e+03 2.40e+03 0.14 -8.6 + 160 2 2224 70 -1.90e-03 7.51e-01 -1.39e+03 1.39e+03 1.25 -8.22 + 161 2 92 40 -4.19e-01 -2.08e+00 4.13e+03 4.13e+03 81.2 8.27 + 162 1 211 161 -3.13e-01 -1.66e+00 2.96e+00 3.41e+00 0.14 1.33 + 163 2 223 161 -1.35e-02 1.05e-01 2.90e+00 3.01e+00 0.784 4 + 164 2 -213 161 -7.67e-02 -1.58e-01 2.83e+00 2.94e+00 0.769 3.47 + 165 2 113 161 -3.96e-01 -2.46e-01 7.66e+00 7.72e+00 0.81 3.49 + 166 2 223 161 8.97e-02 -2.51e-02 1.83e+01 1.83e+01 0.784 5.97 + 167 2 331 161 7.92e-02 -2.14e-01 1.65e+01 1.65e+01 0.958 4.97 + 168 1 211 161 1.55e-01 -4.55e-02 2.09e+01 2.09e+01 0.14 5.56 + 169 2 113 161 -9.07e-02 1.70e-01 7.69e+00 7.71e+00 0.431 4.38 + 170 1 -211 161 1.96e-02 -3.42e-02 4.36e+00 4.36e+00 0.14 5.4 + 171 1 211 161 1.50e-01 -7.36e-02 6.14e+01 6.14e+01 0.14 6.6 + 172 2 313 161 -9.79e-02 5.68e-01 7.20e+01 7.20e+01 0.889 5.52 + 173 2 -313 161 -1.30e-01 -7.96e-01 2.37e+02 2.37e+02 0.887 6.37 + 174 1 2112 161 5.28e-01 -1.88e-01 1.06e+03 1.06e+03 0.94 8.24 + 175 1 211 161 -3.22e-01 5.25e-01 2.61e+03 2.61e+03 0.14 9.05 + 176 2 92 42 -9.28e+00 1.71e+00 -7.59e+02 7.64e+02 81.1 -5.08 + 177 2 -411 176 -2.64e+01 1.68e+01 -2.54e+02 2.56e+02 1.87 -2.79 + 178 1 -2112 176 -3.30e+00 1.95e+00 -3.12e+01 3.14e+01 0.94 -2.79 + 179 1 2112 176 -3.69e+00 2.38e+00 -3.47e+01 3.50e+01 0.94 -2.76 + 180 2 -313 176 -1.69e+00 9.52e-01 -1.93e+01 1.94e+01 0.913 -2.99 + 181 2 323 176 -1.07e+00 1.14e+00 -1.19e+01 1.20e+01 0.927 -2.73 + 182 2 -323 176 -1.04e+00 -2.43e-02 -1.56e+01 1.57e+01 0.935 -3.4 + 183 1 321 176 9.73e-01 -7.75e-01 -1.20e+01 1.21e+01 0.494 -2.96 + 184 2 113 176 9.16e+00 -6.89e+00 -1.32e+02 1.32e+02 0.946 -3.14 + 185 2 111 176 1.57e+00 -1.44e+00 -2.40e+01 2.41e+01 0.135 -3.11 + 186 1 -321 176 1.62e+01 -1.24e+01 -2.25e+02 2.26e+02 0.494 -3.1 + 187 2 92 48 0.00e+00 0.00e+00 2.05e+01 3.16e+01 24.1 999 + 188 1 -321 187 2.32e+00 -1.47e+00 -3.73e+00 4.66e+00 0.494 -1.12 + 189 2 213 187 -1.88e-01 -4.78e-01 -1.86e-02 8.02e-01 0.616 -0.0362 + 190 1 -211 187 5.28e-01 -6.99e-02 3.78e-01 6.68e-01 0.14 0.66 + 191 2 213 187 -1.69e-01 6.66e-02 1.66e+00 1.95e+00 0.998 2.91 + 192 2 113 187 -7.42e-01 4.97e-01 2.71e+00 2.94e+00 0.68 1.83 + 193 2 -213 187 2.70e-02 3.31e-01 2.97e-01 7.93e-01 0.656 0.805 + 194 1 211 187 -6.87e-03 -3.65e-01 8.22e-01 9.10e-01 0.14 1.55 + 195 2 113 187 -1.79e-01 4.58e-01 4.36e+00 4.46e+00 0.779 2.88 + 196 2 -213 187 -8.75e-02 1.16e-01 1.21e+00 1.46e+00 0.805 2.82 + 197 2 323 187 -7.63e-01 6.20e-01 7.15e+00 7.28e+00 0.966 2.68 + 198 2 221 187 -7.36e-01 2.91e-01 5.63e+00 5.72e+00 0.547 2.66 + 199 2 92 50 0.00e+00 0.00e+00 3.12e+00 6.71e+00 5.94 999 + 200 2 213 199 4.69e-02 -1.77e-01 -3.64e-01 1.10e+00 1.03 -1.44 + 201 2 111 199 3.73e-01 -3.78e-02 1.18e+00 1.24e+00 0.135 1.86 + 202 2 -213 199 -7.72e-01 1.13e+00 1.14e+00 1.96e+00 0.814 0.757 + 203 2 223 199 4.07e-01 -5.29e-01 1.12e-01 1.04e+00 0.787 0.167 + 204 2 223 199 -5.49e-02 -3.91e-01 1.06e+00 1.37e+00 0.777 1.71 + 205 2 -421 53 1.62e+00 -6.80e-01 -9.14e+00 9.49e+00 1.86 -2.35 + 206 2 111 53 1.80e-01 -6.13e-02 -7.60e-01 7.95e-01 0.135 -2.1 + 207 2 -311 54 3.84e-01 6.75e-01 -2.32e+00 2.49e+00 0.498 -1.81 + 208 1 -211 54 1.19e-01 8.35e-01 -4.09e+00 4.18e+00 0.14 -2.28 + 209 2 311 55 4.92e-01 1.67e+00 -1.03e+01 1.05e+01 0.498 -2.48 + 210 2 111 55 1.56e-01 3.28e-02 -2.20e+00 2.21e+00 0.135 -3.32 + 211 1 -211 56 2.07e-01 -7.41e-03 -8.44e-01 8.80e-01 0.14 -2.11 + 212 1 211 56 1.07e-01 1.07e+00 -2.97e+00 3.16e+00 0.14 -1.74 + 213 1 211 57 1.65e-01 9.37e-02 -1.12e+00 1.14e+00 0.14 -2.47 + 214 1 -211 57 -3.30e-02 9.79e-02 -3.21e+00 3.22e+00 0.14 -4.13 + 215 2 111 57 -1.24e-01 2.78e-01 -1.22e+00 1.26e+00 0.135 -2.1 + 216 1 211 58 2.62e-01 8.26e-01 -2.45e+00 2.61e+00 0.14 -1.76 + 217 2 111 58 -7.15e-02 -6.31e-03 -1.18e+00 1.19e+00 0.135 -3.49 + 218 1 -211 59 1.28e-01 -6.04e-02 -2.75e-01 3.39e-01 0.14 -1.42 + 219 1 211 59 2.00e-01 3.04e-01 -9.82e-01 1.06e+00 0.14 -1.72 + 220 2 111 59 1.49e-01 8.68e-02 -4.65e-02 2.24e-01 0.135 -0.266 + 221 2 -311 60 -8.28e-02 1.40e-01 2.87e-01 5.97e-01 0.498 1.33 + 222 1 -211 60 -1.84e-02 -1.34e-01 -1.14e-01 2.25e-01 0.14 -0.764 + 223 1 321 61 -1.86e-02 1.84e-02 1.85e-01 5.28e-01 0.494 2.65 + 224 1 -211 61 -5.85e-02 3.52e-01 4.73e-01 6.09e-01 0.14 1.09 + 225 1 211 62 1.06e-01 -2.99e-02 1.77e-01 2.51e-01 0.14 1.25 + 226 2 111 62 -4.64e-01 -1.55e-01 2.53e-02 5.08e-01 0.135 0.0516 + 227 1 22 63 9.24e-02 1.22e-01 1.51e+00 1.52e+00 0 2.99 + 228 1 -211 63 1.64e-01 -1.14e-01 3.22e+00 3.23e+00 0.14 3.48 + 229 1 211 63 2.81e-01 2.16e-01 2.94e+00 2.97e+00 0.14 2.81 + 230 1 -211 64 -3.46e-01 -7.92e-02 3.34e+00 3.37e+00 0.14 2.94 + 231 2 111 64 -1.13e-02 -1.68e-01 1.05e+00 1.07e+00 0.135 2.53 + 232 1 -211 66 2.45e-01 2.11e-01 2.06e+01 2.06e+01 0.14 4.85 + 233 2 111 66 1.15e-01 -2.30e-01 3.89e+00 3.90e+00 0.135 3.41 + 234 1 -211 67 1.07e-02 2.95e-01 1.86e+01 1.86e+01 0.14 4.83 + 235 1 211 67 -3.83e-01 -2.83e-01 1.98e+01 1.98e+01 0.14 4.42 + 236 1 211 68 -2.00e-02 -2.69e-01 6.04e+01 6.04e+01 0.14 6.11 + 237 1 -211 68 -7.06e-02 4.32e-01 1.07e+02 1.07e+02 0.14 6.19 + 238 1 211 69 2.30e-02 1.07e-01 4.89e+01 4.89e+01 0.14 6.79 + 239 1 -211 69 1.52e-01 2.49e-01 1.36e+02 1.36e+02 0.14 6.84 + 240 2 111 69 -1.84e-03 5.13e-02 2.10e+01 2.10e+01 0.135 6.7 + 241 2 421 71 6.24e+00 -2.87e+00 -1.68e+01 1.82e+01 1.86 -1.63 + 242 2 111 71 4.94e-01 -2.63e-01 -1.28e+00 1.40e+00 0.135 -1.57 + 243 1 211 72 2.70e-01 -4.65e-01 -9.32e-01 1.08e+00 0.14 -1.32 + 244 2 111 72 8.10e-01 -1.96e-01 -1.38e+00 1.62e+00 0.135 -1.28 + 245 1 211 73 4.27e-01 -3.13e-01 -3.45e-01 6.47e-01 0.14 -0.612 + 246 1 -211 73 6.70e-02 -6.53e-02 -1.12e-01 2.02e-01 0.14 -1.01 + 247 2 221 73 3.89e-01 -5.39e-01 -8.71e-01 1.22e+00 0.547 -1.09 + 248 1 -211 74 8.95e-01 -3.43e-01 -1.67e+00 1.93e+00 0.14 -1.32 + 249 2 111 74 7.72e-01 -2.59e-01 -2.66e+00 2.78e+00 0.135 -1.9 + 250 1 22 75 -1.87e-01 -7.34e-02 -6.48e-01 6.78e-01 0 -1.89 + 251 1 22 75 -4.27e-02 1.89e-02 -4.65e-01 4.68e-01 0 -2.99 + 252 1 2112 79 2.35e-02 -7.71e-02 3.69e+00 3.81e+00 0.94 4.52 + 253 1 -211 79 -1.48e-01 1.79e-02 3.30e-01 3.88e-01 0.14 1.53 + 254 2 310 80 -1.08e-01 -3.01e-02 1.70e+00 1.77e+00 0.498 3.41 + 255 1 -2112 81 -7.16e-01 -5.94e-01 6.69e+00 6.82e+00 0.94 2.67 + 256 1 211 81 1.23e-01 1.32e-01 8.42e-01 8.72e-01 0.14 2.25 + 257 1 -211 84 1.09e-01 -2.00e-01 3.92e+00 3.93e+00 0.14 3.54 + 258 2 111 84 -2.36e-01 9.89e-02 1.22e+00 1.25e+00 0.135 2.27 + 259 1 211 85 -9.25e-02 6.68e-02 1.06e+00 1.07e+00 0.14 2.92 + 260 2 111 85 -1.11e+00 -1.89e-01 2.24e+01 2.24e+01 0.135 3.68 + 261 1 211 86 -8.80e-02 -1.85e-01 7.90e+00 7.90e+00 0.14 4.35 + 262 1 -211 86 -9.38e-02 7.23e-02 3.34e+00 3.35e+00 0.14 4.03 + 263 2 111 86 1.08e-01 2.55e-01 3.93e+00 3.94e+00 0.135 3.35 + 264 1 -211 87 -5.80e-01 -4.05e-01 2.11e+01 2.11e+01 0.14 4.09 + 265 2 111 87 -3.21e-01 -1.99e-01 3.80e+00 3.82e+00 0.135 3 + 266 1 321 88 -2.79e-01 6.38e-01 6.43e+01 6.43e+01 0.494 5.22 + 267 2 111 88 -1.18e-01 -1.61e-01 1.92e+01 1.92e+01 0.135 5.26 + 268 1 -321 89 -8.94e-01 2.08e-02 1.54e+02 1.54e+02 0.494 5.84 + 269 1 211 89 -2.85e-01 4.17e-01 8.01e+01 8.01e+01 0.14 5.76 + 270 1 22 90 3.30e-03 1.38e-01 2.13e+01 2.13e+01 0 5.73 + 271 1 22 90 -2.43e-02 9.55e-03 7.24e-01 7.25e-01 0 4.02 + 272 1 -211 91 -2.85e-01 9.40e-01 1.43e+02 1.43e+02 0.14 5.68 + 273 2 111 91 -1.19e+00 8.85e-01 2.49e+02 2.49e+02 0.135 5.82 + 274 1 211 92 1.79e+00 1.29e+00 6.18e+02 6.18e+02 0.14 6.33 + 275 2 111 92 -3.94e-02 2.10e-01 7.29e+01 7.29e+01 0.135 6.52 + 276 1 22 94 2.50e-01 1.51e-01 4.86e+01 4.86e+01 0 5.81 + 277 1 22 94 4.56e-01 2.32e-01 1.20e+02 1.20e+02 0 6.15 + 278 1 211 95 2.62e-01 6.67e-02 8.45e+01 8.45e+01 0.14 6.44 + 279 1 -211 95 3.03e-02 5.27e-01 1.40e+02 1.40e+02 0.14 6.27 + 280 2 111 95 -1.09e-01 6.39e-02 3.93e+01 3.93e+01 0.135 6.43 + 281 1 -211 96 1.05e+00 -3.90e-01 9.92e+01 9.92e+01 0.14 5.18 + 282 1 211 96 1.20e-01 -2.59e-01 1.03e+01 1.03e+01 0.14 4.28 + 283 1 211 97 -1.62e-01 3.10e-02 2.19e+00 2.20e+00 0.14 3.28 + 284 2 111 97 1.27e-01 9.61e-01 3.52e+01 3.52e+01 0.135 4.28 + 285 2 111 98 2.92e-01 2.10e-01 3.56e+00 3.58e+00 0.135 2.99 + 286 2 111 98 7.22e-02 1.09e-01 1.73e+00 1.74e+00 0.135 3.28 + 287 2 111 98 5.73e-02 1.07e-02 3.27e+00 3.27e+00 0.135 4.72 + 288 1 -211 99 5.56e-01 1.36e+00 1.23e+01 1.24e+01 0.14 2.82 + 289 2 111 99 4.18e-01 1.18e+00 1.97e+01 1.98e+01 0.135 3.45 + 290 1 22 100 1.23e+00 5.60e-01 1.78e+01 1.79e+01 0 3.28 + 291 1 22 100 5.03e-02 3.14e-02 4.95e-01 4.99e-01 0 2.82 + 292 1 211 101 3.32e-01 2.48e-01 4.45e+00 4.47e+00 0.14 3.07 + 293 1 -211 101 3.06e-01 6.92e-01 8.24e+00 8.28e+00 0.14 3.08 + 294 2 221 101 9.56e-01 1.28e+00 1.76e+01 1.77e+01 0.547 3.09 + 295 1 211 102 8.03e-02 2.02e-02 5.69e-01 5.92e-01 0.14 2.63 + 296 2 111 102 1.69e+00 -1.60e+00 1.65e+01 1.67e+01 0.135 2.66 + 297 2 310 105 6.37e-01 -2.90e-01 6.13e+00 6.19e+00 0.498 2.87 + 298 1 130 106 1.44e-01 -1.08e+00 4.20e+00 4.37e+00 0.498 2.06 + 299 2 310 106 -5.64e-02 -9.48e-01 3.42e+00 3.58e+00 0.498 1.99 + 300 1 -321 107 -2.21e-01 1.56e-01 1.65e+00 1.74e+00 0.494 2.51 + 301 2 111 107 2.32e-02 -3.11e-01 9.92e-01 1.05e+00 0.135 1.87 + 302 1 -211 108 -1.16e+00 -1.76e+00 5.02e+00 5.45e+00 0.14 1.6 + 303 1 211 108 5.82e-02 -1.40e-01 3.02e-01 3.65e-01 0.14 1.44 + 304 1 211 109 1.49e-03 1.26e-01 -1.51e-01 2.41e-01 0.14 -1.02 + 305 2 111 109 -7.25e-01 -8.95e-01 7.64e-01 1.39e+00 0.135 0.622 + 306 1 211 111 1.06e-01 -2.72e-01 -4.01e-02 3.26e-01 0.14 -0.137 + 307 2 111 111 -7.03e-01 -9.49e-01 3.08e-01 1.23e+00 0.135 0.258 + 308 1 22 113 5.40e-02 -1.99e-02 1.91e-02 6.07e-02 0 0.325 + 309 1 22 113 -1.04e-02 -2.23e-01 4.36e-02 2.28e-01 0 0.194 + 310 1 211 114 -4.37e-02 -6.49e-02 -3.59e-02 1.64e-01 0.14 -0.444 + 311 2 111 114 -1.10e+00 -1.65e+00 -1.97e+00 2.80e+00 0.135 -0.876 + 312 1 -211 115 -7.40e-01 -4.72e-01 -9.20e-01 1.28e+00 0.14 -0.915 + 313 2 111 115 -2.55e-01 8.51e-02 -1.87e-01 3.54e-01 0.135 -0.649 + 314 2 310 119 -2.88e-01 7.23e-01 -1.33e+00 1.62e+00 0.498 -1.3 + 315 1 -211 121 -5.02e-03 1.03e+00 -2.68e+00 2.88e+00 0.14 -1.69 + 316 1 211 121 -1.50e-02 -6.21e-02 -7.50e-02 1.71e-01 0.14 -0.999 + 317 1 211 122 2.31e-01 4.39e-01 -1.27e+00 1.37e+00 0.14 -1.67 + 318 2 111 122 4.68e-01 4.92e-02 -8.74e-01 1.00e+00 0.135 -1.38 + 319 1 -211 123 2.57e-01 5.62e-02 -5.93e+00 5.93e+00 0.14 -3.81 + 320 1 211 123 -9.87e-02 -2.90e-01 -1.49e+00 1.53e+00 0.14 -2.29 + 321 1 -211 124 -1.81e-01 2.32e-01 -1.48e+01 1.48e+01 0.14 -4.61 + 322 1 211 124 -1.26e-01 3.36e-01 -2.88e+00 2.90e+00 0.14 -2.78 + 323 1 2112 125 6.85e-01 -3.51e-01 -1.63e+02 1.63e+02 0.94 -6.05 + 324 1 -211 125 8.47e-02 3.52e-03 -3.06e+01 3.06e+01 0.14 -6.58 + 325 1 22 126 6.52e-01 1.50e+00 -1.08e+02 1.08e+02 0 -4.88 + 326 1 22 126 -1.55e-04 6.21e-02 -3.67e+00 3.67e+00 0 -4.77 + 327 1 -211 130 6.68e-01 7.08e-01 -4.84e+01 4.84e+01 0.14 -4.6 + 328 1 211 130 1.06e-01 1.56e-01 -4.05e+01 4.05e+01 0.14 -6.06 + 329 1 211 131 -1.62e-01 5.36e-02 -3.29e+01 3.29e+01 0.14 -5.95 + 330 1 -211 131 6.38e-02 -3.43e-02 -4.30e+01 4.30e+01 0.14 -7.08 + 331 2 111 131 1.15e-01 2.64e-01 -2.11e+01 2.11e+01 0.135 -4.99 + 332 1 -211 132 5.67e-02 -4.99e-02 -1.78e+01 1.78e+01 0.14 -6.15 + 333 1 211 132 8.54e-02 2.91e-01 -8.16e+00 8.17e+00 0.14 -3.99 + 334 2 111 132 1.60e-01 1.64e-03 -6.16e+00 6.16e+00 0.135 -4.35 + 335 2 111 133 3.20e-01 -1.06e-01 -2.80e+00 2.83e+00 0.135 -2.81 + 336 2 111 133 2.91e-01 8.79e-02 -3.67e+00 3.68e+00 0.135 -3.18 + 337 2 111 133 4.06e-02 5.17e-03 -1.02e+00 1.02e+00 0.135 -3.9 + 338 1 211 134 6.58e-01 5.66e-01 -1.72e+01 1.72e+01 0.14 -3.68 + 339 2 111 134 5.88e-01 1.89e+00 -2.20e+01 2.20e+01 0.135 -3.1 + 340 1 22 135 6.66e-01 6.36e-01 -6.31e+00 6.38e+00 0 -2.62 + 341 1 22 135 2.20e-01 2.80e-01 -6.11e+00 6.12e+00 0 -3.54 + 342 1 22 137 5.79e-02 1.36e-01 -1.76e+00 1.76e+00 0 -3.17 + 343 1 22 137 6.65e-01 1.03e+00 -1.11e+01 1.12e+01 0 -2.9 + 344 1 -211 138 4.13e-01 1.29e-01 -3.64e+00 3.67e+00 0.14 -2.83 + 345 1 211 138 8.01e-01 1.55e+00 -1.52e+01 1.53e+01 0.14 -2.86 + 346 1 -211 140 4.43e-01 4.32e-01 -3.36e+00 3.42e+00 0.14 -2.39 + 347 2 111 140 1.51e-02 7.22e-01 -1.51e+01 1.51e+01 0.135 -3.73 + 348 1 211 141 2.03e+00 1.63e+00 -2.51e+01 2.52e+01 0.14 -2.96 + 349 2 111 141 5.56e-02 5.31e-02 -1.06e+00 1.07e+00 0.135 -3.32 + 350 1 321 142 5.53e-01 4.44e-01 -6.45e+00 6.51e+00 0.494 -2.9 + 351 1 -211 142 1.23e+00 7.92e-01 -1.62e+01 1.62e+01 0.14 -3.1 + 352 2 -311 143 4.98e-01 5.10e-01 -7.52e+00 7.57e+00 0.498 -3.05 + 353 2 111 143 9.21e-01 1.38e-01 -1.06e+01 1.06e+01 0.135 -3.12 + 354 1 -211 145 -4.16e-01 -6.42e-04 -4.57e+01 4.57e+01 0.14 -5.39 + 355 2 111 145 -1.59e-01 -4.77e-01 -4.88e+01 4.88e+01 0.135 -5.27 + 356 1 -2112 146 -5.09e-01 -4.51e-01 -2.85e+01 2.85e+01 0.94 -4.43 + 357 1 211 146 -2.95e-01 -2.92e-01 -5.48e+00 5.50e+00 0.14 -3.28 + 358 1 -211 147 -2.49e-01 3.34e-01 -2.84e+01 2.84e+01 0.14 -4.91 + 359 2 111 147 6.89e-02 -2.71e-01 -1.49e+01 1.49e+01 0.135 -4.66 + 360 1 130 149 -1.41e+00 -2.18e+00 -7.90e+01 7.90e+01 0.498 -4.11 + 361 1 -321 150 -3.90e-02 2.37e-02 -4.50e+01 4.50e+01 0.494 -7.59 + 362 2 111 150 -2.65e-01 -4.16e-01 -3.38e+01 3.38e+01 0.135 -4.92 + 363 1 211 151 -1.88e+00 -1.09e+00 -8.20e+01 8.20e+01 0.14 -4.33 + 364 2 111 151 7.55e-02 -1.18e-01 -7.35e+00 7.36e+00 0.135 -4.65 + 365 1 -211 152 3.30e-01 -1.08e+00 -4.62e+01 4.62e+01 0.14 -4.41 + 366 1 211 152 1.61e-01 1.05e-01 -4.23e+00 4.23e+00 0.14 -3.78 + 367 1 22 153 -1.53e-01 -5.63e-02 -3.12e+00 3.12e+00 0 -3.64 + 368 1 22 153 4.20e-01 -2.04e-01 -1.84e+01 1.85e+01 0 -4.37 + 369 1 130 154 4.13e-01 1.80e-01 -8.91e+01 8.91e+01 0.498 -5.98 + 370 1 211 156 -2.54e-01 -1.08e-01 -2.26e+01 2.26e+01 0.14 -5.1 + 371 1 -211 156 -9.47e-02 -7.03e-02 -6.26e+00 6.26e+00 0.14 -4.66 + 372 2 111 156 -6.13e-02 -9.53e-02 -1.99e+01 1.99e+01 0.135 -5.86 + 373 1 211 158 -5.66e-01 1.70e-01 -3.23e+02 3.23e+02 0.14 -7 + 374 1 -211 158 -2.90e-01 2.81e-01 -6.32e+01 6.32e+01 0.14 -5.75 + 375 1 2212 160 9.56e-04 8.62e-01 -1.17e+03 1.17e+03 0.938 -7.91 + 376 1 211 160 -2.86e-03 -1.12e-01 -2.17e+02 2.17e+02 0.14 -8.27 + 377 1 -211 163 6.98e-02 4.75e-02 2.34e+00 2.34e+00 0.14 4.01 + 378 1 211 163 -3.36e-03 -3.94e-02 1.39e-01 2.01e-01 0.14 1.97 + 379 2 111 163 -7.99e-02 9.68e-02 4.23e-01 4.62e-01 0.135 1.93 + 380 1 -211 164 2.46e-01 -2.54e-01 9.52e-01 1.02e+00 0.14 1.72 + 381 2 111 164 -3.23e-01 9.61e-02 1.88e+00 1.91e+00 0.135 2.42 + 382 1 -211 165 -4.58e-01 -1.09e-01 2.26e+00 2.31e+00 0.14 2.27 + 383 1 211 165 6.19e-02 -1.38e-01 5.40e+00 5.41e+00 0.14 4.27 + 384 1 211 166 1.54e-02 2.33e-01 6.44e+00 6.45e+00 0.14 4.01 + 385 1 -211 166 -1.25e-01 -1.91e-01 6.30e+00 6.31e+00 0.14 4.01 + 386 2 111 166 1.99e-01 -6.72e-02 5.57e+00 5.57e+00 0.135 3.97 + 387 1 22 167 -3.78e-03 6.83e-02 3.46e-01 3.53e-01 0 2.33 + 388 2 113 167 8.30e-02 -2.83e-01 1.61e+01 1.61e+01 0.804 4.7 + 389 1 211 169 -1.47e-01 1.94e-03 5.31e+00 5.31e+00 0.14 4.28 + 390 1 -211 169 5.60e-02 1.68e-01 2.38e+00 2.39e+00 0.14 3.3 + 391 1 321 172 1.98e-01 2.04e-01 3.95e+01 3.95e+01 0.494 5.63 + 392 1 -211 172 -2.96e-01 3.65e-01 3.25e+01 3.25e+01 0.14 4.93 + 393 1 -321 173 8.77e-02 -3.77e-01 1.73e+02 1.73e+02 0.494 6.79 + 394 1 211 173 -2.18e-01 -4.20e-01 6.41e+01 6.41e+01 0.14 5.6 + 395 1 13 177 -1.41e+00 1.04e+00 -1.32e+01 1.33e+01 0.106 -2.71 + 396 1 -14 177 -1.31e+00 1.05e+00 -1.23e+01 1.24e+01 0 -2.69 + 397 2 323 177 -2.16e+01 1.35e+01 -2.09e+02 2.11e+02 0.883 -2.8 + 398 1 -211 177 -2.09e+00 1.24e+00 -1.91e+01 1.92e+01 0.14 -2.76 + 399 2 -311 180 -4.47e-01 3.05e-01 -6.33e+00 6.37e+00 0.498 -3.15 + 400 2 111 180 -1.24e+00 6.47e-01 -1.29e+01 1.30e+01 0.135 -2.92 + 401 2 311 181 -9.33e-01 9.63e-01 -1.12e+01 1.13e+01 0.498 -2.82 + 402 1 211 181 -1.36e-01 1.77e-01 -7.16e-01 7.63e-01 0.14 -1.88 + 403 1 -321 182 -9.22e-01 -9.25e-02 -1.49e+01 1.49e+01 0.494 -3.47 + 404 2 111 182 -1.17e-01 6.82e-02 -7.01e-01 7.26e-01 0.135 -2.35 + 405 1 -211 184 8.07e+00 -6.29e+00 -1.19e+02 1.20e+02 0.14 -3.15 + 406 1 211 184 1.09e+00 -5.97e-01 -1.23e+01 1.24e+01 0.14 -2.99 + 407 1 22 185 1.03e+00 -8.53e-01 -1.49e+01 1.50e+01 0 -3.11 + 408 1 22 185 5.46e-01 -5.88e-01 -9.04e+00 9.08e+00 0 -3.12 + 409 1 211 189 6.32e-02 -4.07e-02 -1.95e-01 2.51e-01 0.14 -1.68 + 410 2 111 189 -2.51e-01 -4.37e-01 1.76e-01 5.51e-01 0.135 0.343 + 411 1 211 191 -8.99e-02 -4.44e-01 8.88e-01 1.01e+00 0.14 1.43 + 412 2 111 191 -7.90e-02 5.11e-01 7.72e-01 9.39e-01 0.135 1.19 + 413 1 -211 192 -6.65e-02 8.33e-02 1.29e+00 1.30e+00 0.14 3.18 + 414 1 211 192 -6.76e-01 4.14e-01 1.43e+00 1.64e+00 0.14 1.35 + 415 1 -211 193 -1.79e-01 3.73e-02 3.36e-01 4.08e-01 0.14 1.37 + 416 2 111 193 2.06e-01 2.93e-01 -3.94e-02 3.85e-01 0.135 -0.11 + 417 1 -211 195 -4.09e-01 9.88e-02 1.62e+00 1.68e+00 0.14 2.06 + 418 1 211 195 2.30e-01 3.59e-01 2.75e+00 2.78e+00 0.14 2.56 + 419 1 -211 196 1.71e-01 -8.56e-03 1.11e+00 1.13e+00 0.14 2.57 + 420 2 111 196 -2.59e-01 1.24e-01 1.06e-01 3.34e-01 0.135 0.362 + 421 1 321 197 -4.34e-01 3.13e-01 2.39e+00 2.49e+00 0.494 2.2 + 422 2 111 197 -3.29e-01 3.07e-01 4.76e+00 4.78e+00 0.135 3.05 + 423 1 22 198 -3.68e-01 1.74e-01 3.63e+00 3.66e+00 0 2.89 + 424 1 211 198 -2.05e-01 1.05e-01 1.26e+00 1.28e+00 0.14 2.4 + 425 1 -211 198 -1.63e-01 1.25e-02 7.47e-01 7.77e-01 0.14 2.22 + 426 1 211 200 -3.67e-01 -1.30e-01 -4.96e-01 6.46e-01 0.14 -1.06 + 427 2 111 200 4.14e-01 -4.69e-02 1.31e-01 4.58e-01 0.135 0.31 + 428 1 22 201 1.73e-01 -3.58e-02 3.54e-01 3.96e-01 0 1.44 + 429 1 22 201 2.00e-01 -2.02e-03 8.22e-01 8.46e-01 0 2.12 + 430 1 -211 202 -3.73e-02 7.08e-01 6.44e-01 9.68e-01 0.14 0.815 + 431 2 111 202 -7.34e-01 4.26e-01 4.97e-01 9.93e-01 0.135 0.556 + 432 1 211 203 3.59e-01 -2.82e-01 1.18e-01 4.92e-01 0.14 0.255 + 433 1 -211 203 -1.50e-02 9.43e-02 3.19e-02 1.72e-01 0.14 0.328 + 434 2 111 203 6.29e-02 -3.41e-01 -3.80e-02 3.74e-01 0.135 -0.109 + 435 1 -211 204 6.25e-02 -1.04e-01 1.78e-01 2.57e-01 0.14 1.18 + 436 1 211 204 2.00e-02 -2.71e-01 8.68e-01 9.20e-01 0.14 1.88 + 437 2 111 204 -1.37e-01 -1.63e-02 1.18e-02 1.94e-01 0.135 0.0849 + 438 2 10323 205 8.73e-01 -6.30e-01 -7.46e+00 7.64e+00 1.29 -2.63 + 439 1 -211 205 7.49e-01 -4.97e-02 -1.68e+00 1.85e+00 0.14 -1.55 + 440 1 22 206 1.83e-01 -8.44e-02 -7.27e-01 7.54e-01 0 -1.99 + 441 1 22 206 -3.44e-03 2.31e-02 -3.29e-02 4.04e-02 0 -1.14 + 442 2 310 207 3.84e-01 6.75e-01 -2.32e+00 2.49e+00 0.498 -1.81 + 443 2 310 209 4.92e-01 1.67e+00 -1.03e+01 1.05e+01 0.498 -2.48 + 444 1 22 210 1.58e-01 4.61e-02 -2.17e+00 2.18e+00 0 -3.27 + 445 1 22 210 -2.08e-03 -1.33e-02 -2.27e-02 2.64e-02 0 -1.3 + 446 1 22 215 -2.52e-02 2.45e-02 -3.81e-01 3.83e-01 0 -3.08 + 447 1 22 215 -9.85e-02 2.53e-01 -8.38e-01 8.81e-01 0 -1.84 + 448 1 22 217 -9.35e-02 -3.77e-02 -1.03e+00 1.04e+00 0 -3.02 + 449 1 22 217 2.21e-02 3.14e-02 -1.46e-01 1.51e-01 0 -2.05 + 450 1 22 220 1.62e-01 9.36e-02 -6.67e-02 1.99e-01 0 -0.349 + 451 1 22 220 -1.32e-02 -6.86e-03 2.02e-02 2.51e-02 0 1.11 + 452 1 130 221 -8.28e-02 1.40e-01 2.87e-01 5.97e-01 0.498 1.33 + 453 1 22 226 -2.22e-01 -3.76e-02 -4.59e-02 2.30e-01 0 -0.202 + 454 1 22 226 -2.42e-01 -1.18e-01 7.12e-02 2.78e-01 0 0.262 + 455 1 22 231 4.72e-02 -1.23e-01 8.16e-01 8.27e-01 0 2.53 + 456 1 22 231 -5.85e-02 -4.52e-02 2.34e-01 2.45e-01 0 1.87 + 457 1 22 233 4.00e-02 3.07e-04 9.61e-01 9.62e-01 0 3.87 + 458 1 22 233 7.48e-02 -2.30e-01 2.93e+00 2.94e+00 0 3.19 + 459 1 22 240 6.53e-02 3.07e-02 8.88e+00 8.88e+00 0 5.51 + 460 1 22 240 -6.72e-02 2.07e-02 1.21e+01 1.21e+01 0 5.84 + 461 2 -313 241 3.33e+00 -1.55e+00 -7.24e+00 8.16e+00 0.867 -1.43 + 462 2 111 241 2.92e+00 -1.31e+00 -9.56e+00 1.01e+01 0.135 -1.82 + 463 1 22 242 3.13e-01 -2.24e-01 -9.52e-01 1.03e+00 0 -1.64 + 464 1 22 242 1.81e-01 -3.87e-02 -3.28e-01 3.76e-01 0 -1.34 + 465 1 22 244 6.12e-01 -2.00e-01 -1.10e+00 1.28e+00 0 -1.31 + 466 1 22 244 1.98e-01 3.77e-03 -2.74e-01 3.39e-01 0 -1.13 + 467 1 -211 247 1.74e-01 -1.31e-01 -4.30e-01 5.02e-01 0.14 -1.43 + 468 1 211 247 5.41e-02 -2.04e-01 -3.15e-01 4.04e-01 0.14 -1.19 + 469 2 111 247 1.61e-01 -2.04e-01 -1.26e-01 3.19e-01 0.135 -0.467 + 470 1 22 249 2.51e-02 -3.16e-02 -2.06e-01 2.10e-01 0 -2.33 + 471 1 22 249 7.47e-01 -2.27e-01 -2.45e+00 2.57e+00 0 -1.86 + 472 1 211 254 1.20e-02 1.80e-01 6.79e-01 7.16e-01 0.14 2.03 + 473 1 -211 254 -1.20e-01 -2.10e-01 1.02e+00 1.05e+00 0.14 2.14 + 474 1 22 258 -1.60e-01 3.34e-03 8.26e-01 8.41e-01 0 2.34 + 475 1 22 258 -7.61e-02 9.56e-02 3.95e-01 4.13e-01 0 1.89 + 476 1 22 260 -9.81e-01 -1.35e-01 2.02e+01 2.02e+01 0 3.71 + 477 1 22 260 -1.30e-01 -5.37e-02 2.22e+00 2.22e+00 0 3.45 + 478 1 22 263 1.10e-01 2.16e-01 2.55e+00 2.56e+00 0 3.05 + 479 1 22 263 -2.65e-03 3.91e-02 1.38e+00 1.38e+00 0 4.25 + 480 1 22 265 -2.34e-01 -1.54e-01 3.28e+00 3.29e+00 0 3.16 + 481 1 22 265 -8.72e-02 -4.50e-02 5.19e-01 5.28e-01 0 2.37 + 482 1 22 267 -9.69e-02 -1.72e-01 1.33e+01 1.34e+01 0 4.91 + 483 1 22 267 -2.08e-02 1.15e-02 5.82e+00 5.82e+00 0 6.19 + 484 1 22 273 -5.91e-01 4.58e-01 1.37e+02 1.37e+02 0 5.9 + 485 1 22 273 -5.96e-01 4.27e-01 1.12e+02 1.12e+02 0 5.72 + 486 1 22 275 -5.34e-02 1.01e-01 2.01e+01 2.01e+01 0 5.87 + 487 1 22 275 1.40e-02 1.09e-01 5.28e+01 5.28e+01 0 6.86 + 488 1 22 280 -5.83e-02 1.46e-02 3.27e+01 3.27e+01 0 6.99 + 489 1 22 280 -5.08e-02 4.93e-02 6.60e+00 6.60e+00 0 5.23 + 490 1 22 284 -2.52e-02 2.35e-01 8.00e+00 8.00e+00 0 4.21 + 491 1 22 284 1.52e-01 7.26e-01 2.72e+01 2.72e+01 0 4.29 + 492 1 22 285 2.42e-01 1.03e-01 2.23e+00 2.25e+00 0 2.83 + 493 1 22 285 5.02e-02 1.07e-01 1.33e+00 1.33e+00 0 3.11 + 494 1 22 286 2.13e-02 6.88e-02 1.49e+00 1.49e+00 0 3.72 + 495 1 22 286 5.09e-02 4.05e-02 2.47e-01 2.55e-01 0 2.04 + 496 1 22 287 -1.28e-02 -2.31e-02 1.49e-01 1.51e-01 0 2.43 + 497 1 22 287 7.01e-02 3.38e-02 3.12e+00 3.12e+00 0 4.39 + 498 1 22 289 2.65e-01 6.35e-01 1.17e+01 1.18e+01 0 3.53 + 499 1 22 289 1.54e-01 5.40e-01 7.99e+00 8.01e+00 0 3.35 + 500 2 111 294 3.73e-01 4.04e-01 4.84e+00 4.87e+00 0.135 2.87 + 501 2 111 294 4.30e-01 7.17e-01 9.92e+00 9.96e+00 0.135 3.17 + 502 2 111 294 1.53e-01 1.59e-01 2.85e+00 2.86e+00 0.135 3.25 + 503 1 22 296 1.04e+00 -1.02e+00 1.08e+01 1.09e+01 0 2.7 + 504 1 22 296 6.52e-01 -5.77e-01 5.78e+00 5.84e+00 0 2.59 + 505 1 -211 297 1.68e-01 3.96e-04 7.88e-01 8.18e-01 0.14 2.25 + 506 1 211 297 4.69e-01 -2.90e-01 5.34e+00 5.37e+00 0.14 2.97 + 507 1 211 299 -9.80e-03 -8.77e-01 3.10e+00 3.22e+00 0.14 1.98 + 508 1 -211 299 -4.66e-02 -7.14e-02 3.18e-01 3.57e-01 0.14 2.03 + 509 1 22 301 -1.58e-02 -2.94e-01 9.06e-01 9.53e-01 0 1.84 + 510 1 22 301 3.90e-02 -1.71e-02 8.60e-02 9.59e-02 0 1.45 + 511 1 22 305 -1.23e-01 -1.25e-01 1.74e-01 2.47e-01 0 0.875 + 512 1 22 305 -6.01e-01 -7.71e-01 5.90e-01 1.14e+00 0 0.572 + 513 1 22 307 -4.88e-01 -5.82e-01 1.49e-01 7.74e-01 0 0.195 + 514 1 22 307 -2.15e-01 -3.67e-01 1.58e-01 4.54e-01 0 0.364 + 515 1 22 311 -1.08e+00 -1.63e+00 -1.96e+00 2.76e+00 0 -0.883 + 516 1 22 311 -2.45e-02 -2.46e-02 -1.45e-02 3.76e-02 0 -0.408 + 517 1 22 313 -1.13e-01 -2.84e-02 -9.56e-02 1.51e-01 0 -0.75 + 518 1 22 313 -1.42e-01 1.13e-01 -9.12e-02 2.04e-01 0 -0.482 + 519 1 -211 314 -3.73e-01 4.98e-01 -1.02e+00 1.20e+00 0.14 -1.27 + 520 1 211 314 8.58e-02 2.25e-01 -3.14e-01 4.20e-01 0.14 -1.08 + 521 1 22 318 1.99e-02 1.62e-02 -1.31e-01 1.33e-01 0 -2.33 + 522 1 22 318 4.48e-01 3.29e-02 -7.43e-01 8.69e-01 0 -1.28 + 523 1 22 331 5.11e-03 1.71e-01 -1.28e+01 1.28e+01 0 -5.01 + 524 1 22 331 1.10e-01 9.28e-02 -8.25e+00 8.26e+00 0 -4.74 + 525 1 22 334 9.75e-02 6.03e-02 -2.60e+00 2.61e+00 0 -3.82 + 526 1 22 334 6.22e-02 -5.86e-02 -3.55e+00 3.56e+00 0 -4.42 + 527 1 22 335 5.30e-02 1.88e-02 -7.85e-01 7.87e-01 0 -3.33 + 528 1 22 335 2.67e-01 -1.25e-01 -2.02e+00 2.04e+00 0 -2.62 + 529 1 22 336 2.68e-01 3.23e-02 -2.79e+00 2.81e+00 0 -3.03 + 530 1 22 336 2.34e-02 5.56e-02 -8.74e-01 8.76e-01 0 -3.37 + 531 1 22 337 -1.54e-02 -5.04e-02 -2.38e-01 2.44e-01 0 -2.21 + 532 1 22 337 5.60e-02 5.56e-02 -7.77e-01 7.81e-01 0 -2.98 + 533 1 22 339 9.44e-02 2.34e-01 -3.28e+00 3.29e+00 0 -3.26 + 534 1 22 339 4.93e-01 1.65e+00 -1.87e+01 1.88e+01 0 -3.08 + 535 1 22 347 -3.85e-02 1.69e-01 -2.84e+00 2.85e+00 0 -3.49 + 536 1 22 347 5.35e-02 5.53e-01 -1.22e+01 1.23e+01 0 -3.79 + 537 1 22 349 -2.80e-02 6.26e-02 -5.73e-01 5.77e-01 0 -2.82 + 538 1 22 349 8.36e-02 -9.58e-03 -4.84e-01 4.91e-01 0 -2.45 + 539 2 310 352 4.98e-01 5.10e-01 -7.52e+00 7.57e+00 0.498 -3.05 + 540 1 22 353 2.76e-01 8.46e-03 -3.75e+00 3.76e+00 0 -3.3 + 541 1 22 353 6.45e-01 1.29e-01 -6.82e+00 6.85e+00 0 -3.03 + 542 1 22 355 -7.47e-03 4.92e-03 -2.71e-01 2.71e-01 0 -4.11 + 543 1 22 355 -1.51e-01 -4.82e-01 -4.85e+01 4.85e+01 0 -5.26 + 544 1 22 359 1.36e-02 -6.16e-02 -1.31e+00 1.31e+00 0 -3.73 + 545 1 22 359 5.54e-02 -2.10e-01 -1.35e+01 1.35e+01 0 -4.83 + 546 1 22 362 -2.39e-02 -6.37e-02 -2.40e+00 2.40e+00 0 -4.25 + 547 1 22 362 -2.41e-01 -3.52e-01 -3.14e+01 3.14e+01 0 -4.99 + 548 1 22 364 -7.69e-03 -3.50e-03 -3.43e+00 3.43e+00 0 -6.7 + 549 1 11 364 3.80e-02 -5.45e-02 -1.98e+00 1.99e+00 0.00051 -4.09 + 550 1 -11 364 4.52e-02 -6.00e-02 -1.94e+00 1.94e+00 0.00051 -3.95 + 551 1 22 372 3.73e-02 2.39e-03 -4.50e+00 4.50e+00 0 -5.48 + 552 1 22 372 -9.86e-02 -9.77e-02 -1.54e+01 1.54e+01 0 -5.4 + 553 1 22 379 -6.55e-03 1.04e-01 1.84e-01 2.11e-01 0 1.34 + 554 1 22 379 -7.33e-02 -6.90e-03 2.39e-01 2.50e-01 0 1.89 + 555 1 22 381 -1.22e-01 -2.90e-02 7.14e-01 7.25e-01 0 2.44 + 556 1 22 381 -2.00e-01 1.25e-01 1.16e+00 1.19e+00 0 2.3 + 557 1 22 386 9.39e-02 3.48e-02 1.85e+00 1.85e+00 0 3.61 + 558 1 22 386 1.05e-01 -1.02e-01 3.72e+00 3.72e+00 0 3.93 + 559 1 211 388 2.80e-01 -4.59e-01 9.99e+00 1.00e+01 0.14 3.62 + 560 1 -211 388 -1.97e-01 1.77e-01 6.12e+00 6.13e+00 0.14 3.83 + 561 2 311 397 -1.87e+01 1.16e+01 -1.82e+02 1.84e+02 0.498 -2.81 + 562 1 211 397 -2.87e+00 1.93e+00 -2.71e+01 2.73e+01 0.14 -2.76 + 563 2 310 399 -4.47e-01 3.05e-01 -6.33e+00 6.37e+00 0.498 -3.15 + 564 1 22 400 -2.94e-01 1.77e-01 -3.70e+00 3.71e+00 0 -3.07 + 565 1 22 400 -9.48e-01 4.69e-01 -9.23e+00 9.29e+00 0 -2.86 + 566 2 310 401 -9.33e-01 9.63e-01 -1.12e+01 1.13e+01 0.498 -2.82 + 567 1 22 404 1.75e-02 4.41e-02 -2.82e-01 2.86e-01 0 -2.48 + 568 1 22 404 -1.34e-01 2.41e-02 -4.19e-01 4.40e-01 0 -1.84 + 569 1 22 410 -1.16e-01 -2.11e-01 1.32e-02 2.41e-01 0 0.0551 + 570 1 22 410 -1.36e-01 -2.27e-01 1.63e-01 3.10e-01 0 0.583 + 571 1 22 412 -9.13e-02 4.77e-01 7.59e-01 9.01e-01 0 1.23 + 572 1 22 412 1.23e-02 3.33e-02 1.37e-02 3.81e-02 0 0.377 + 573 1 22 416 2.03e-01 2.67e-01 -7.22e-02 3.43e-01 0 -0.214 + 574 1 22 416 3.43e-03 2.63e-02 3.28e-02 4.22e-02 0 1.04 + 575 1 22 420 -3.89e-02 8.36e-02 4.53e-02 1.03e-01 0 0.473 + 576 1 22 420 -2.20e-01 4.05e-02 6.09e-02 2.32e-01 0 0.269 + 577 1 22 422 -2.64e-01 1.59e-01 3.14e+00 3.16e+00 0 3.02 + 578 1 22 422 -6.51e-02 1.48e-01 1.62e+00 1.62e+00 0 3 + 579 1 22 427 4.15e-01 -2.52e-02 1.20e-01 4.33e-01 0 0.285 + 580 1 22 427 -9.68e-04 -2.17e-02 1.13e-02 2.45e-02 0 0.497 + 581 1 22 431 -3.41e-01 2.71e-01 2.25e-01 4.90e-01 0 0.495 + 582 1 22 431 -3.94e-01 1.56e-01 2.73e-01 5.03e-01 0 0.606 + 583 1 22 434 5.58e-02 -8.25e-02 3.46e-02 1.05e-01 0 0.341 + 584 1 22 434 7.11e-03 -2.58e-01 -7.26e-02 2.69e-01 0 -0.277 + 585 1 22 437 -9.46e-02 4.14e-02 4.73e-02 1.14e-01 0 0.443 + 586 1 22 437 -4.29e-02 -5.77e-02 -3.55e-02 8.02e-02 0 -0.476 + 587 1 321 438 3.86e-01 -2.73e-01 -2.92e+00 3.00e+00 0.494 -2.52 + 588 2 223 438 4.87e-01 -3.58e-01 -4.53e+00 4.64e+00 0.795 -2.71 + 589 1 -211 442 1.48e-01 5.93e-01 -1.74e+00 1.85e+00 0.14 -1.77 + 590 1 211 442 2.36e-01 8.15e-02 -5.72e-01 6.40e-01 0.14 -1.57 + 591 1 211 443 2.44e-01 1.36e+00 -7.90e+00 8.02e+00 0.14 -2.44 + 592 1 -211 443 2.48e-01 3.05e-01 -2.40e+00 2.43e+00 0.14 -2.51 + 593 1 -321 461 2.28e+00 -1.05e+00 -5.51e+00 6.07e+00 0.494 -1.53 + 594 1 211 461 1.05e+00 -5.07e-01 -1.73e+00 2.09e+00 0.14 -1.19 + 595 1 22 462 2.61e+00 -1.13e+00 -8.44e+00 8.90e+00 0 -1.81 + 596 1 22 462 3.12e-01 -1.85e-01 -1.12e+00 1.18e+00 0 -1.85 + 597 1 22 469 1.53e-02 -6.02e-02 -9.24e-02 1.11e-01 0 -1.19 + 598 1 22 469 1.46e-01 -1.44e-01 -3.35e-02 2.08e-01 0 -0.163 + 599 1 22 500 6.24e-02 9.07e-02 5.92e-01 6.02e-01 0 2.38 + 600 1 22 500 3.10e-01 3.13e-01 4.25e+00 4.27e+00 0 2.96 + 601 1 22 501 2.70e-01 3.42e-01 4.68e+00 4.70e+00 0 3.07 + 602 1 22 501 1.60e-01 3.75e-01 5.24e+00 5.26e+00 0 3.25 + 603 1 22 502 1.66e-01 9.32e-02 2.21e+00 2.21e+00 0 3.14 + 604 1 22 502 -1.33e-02 6.57e-02 6.40e-01 6.43e-01 0 2.95 + 605 1 -211 539 -2.61e-02 1.43e-01 -1.27e+00 1.29e+00 0.14 -2.87 + 606 1 211 539 5.24e-01 3.67e-01 -6.25e+00 6.28e+00 0.14 -2.98 + 607 1 130 561 -1.87e+01 1.16e+01 -1.82e+02 1.84e+02 0.498 -2.81 + 608 2 111 563 -3.60e-01 3.29e-01 -3.33e+00 3.37e+00 0.135 -2.62 + 609 2 111 563 -8.72e-02 -2.40e-02 -2.99e+00 3.00e+00 0.135 -4.19 + 610 2 111 566 -1.61e-01 2.25e-01 -1.49e+00 1.52e+00 0.135 -2.38 + 611 2 111 566 -7.72e-01 7.38e-01 -9.69e+00 9.75e+00 0.135 -2.9 + 612 1 -211 588 3.21e-01 -2.23e-01 -1.77e+00 1.82e+00 0.14 -2.22 + 613 1 211 588 1.03e-01 -2.97e-01 -2.00e+00 2.03e+00 0.14 -2.55 + 614 2 111 588 6.30e-02 1.63e-01 -7.63e-01 7.94e-01 0.135 -2.18 + 615 1 22 608 -3.26e-01 2.76e-01 -3.12e+00 3.15e+00 0 -2.69 + 616 1 22 608 -3.41e-02 5.33e-02 -2.15e-01 2.24e-01 0 -1.94 + 617 1 22 609 -1.01e-01 2.75e-02 -2.29e+00 2.30e+00 0 -3.78 + 618 1 22 609 1.37e-02 -5.15e-02 -7.01e-01 7.03e-01 0 -3.27 + 619 1 22 610 -7.30e-02 2.04e-01 -1.01e+00 1.03e+00 0 -2.24 + 620 1 22 610 -8.76e-02 2.04e-02 -4.77e-01 4.85e-01 0 -2.37 + 621 1 22 611 -6.72e-01 5.71e-01 -7.86e+00 7.91e+00 0 -2.88 + 622 1 22 611 -1.00e-01 1.67e-01 -1.82e+00 1.83e+00 0 -2.93 + 623 1 22 614 -8.72e-03 -2.00e-02 -1.18e-01 1.20e-01 0 -2.39 + 624 1 22 614 7.17e-02 1.83e-01 -6.45e-01 6.74e-01 0 -1.9 +3 Event +280 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 21 1 5.50e-01 2.26e-01 5.57e+01 5.57e+01 0 5.23 + 4 3 1 2 -2.49e+00 -5.11e-01 -1.27e+03 1.27e+03 0 -6.9 + 5 3 -2 3 5.15e-01 -3.71e-01 4.37e+00 4.41e+00 0 2.63 + 6 3 1 4 2.57e+00 4.38e-01 -4.63e+02 4.63e+02 0 -5.87 + 7 3 22 5 6.11e-01 4.73e+00 -5.78e+00 7.50e+00 0 -1.02 + 8 3 -24 5 2.48e+00 -4.66e+00 -4.53e+02 4.60e+02 80.2 -5.14 + 9 1 22 7 6.11e-01 4.73e+00 -5.78e+00 7.50e+00 0 -1.02 + 10 2 -24 8 2.48e+00 -4.66e+00 -4.53e+02 4.60e+02 80.2 -5.14 + 11 1 13 10 1.17e+01 3.45e+01 -2.85e+02 2.87e+02 0.106 -2.75 + 12 1 -14 10 -9.19e+00 -3.92e+01 -1.68e+02 1.73e+02 0 -2.13 + 13 2 2 3 -1.06e+00 5.40e-01 6.25e-01 1.38e+00 0.33 0.503 + 14 2 2101 1 -9.42e-01 2.17e-01 6.53e+03 6.53e+03 0.579 9.51 + 15 2 2 1 3.93e-01 -4.42e-01 2.02e+01 2.03e+01 0.33 4.23 + 16 2 21 3 1.28e+00 -8.74e-01 5.02e+01 5.02e+01 0 4.17 + 17 2 21 3 -1.67e-01 9.43e-01 -4.22e+00 4.33e+00 0 -2.19 + 18 2 21 0 9.34e-01 2.91e+00 1.97e+01 2.00e+01 0 2.56 + 19 2 21 0 -2.14e+00 4.17e+00 -2.51e+00 5.32e+00 0 -0.513 + 20 2 21 0 2.14e+00 -4.17e+00 -7.24e+00 8.62e+00 0 -1.22 + 21 2 21 0 2.68e+00 -1.72e+00 -3.07e+01 3.09e+01 0 -2.96 + 22 2 21 0 -2.68e+00 1.72e+00 -1.05e+02 1.05e+02 0 -4.19 + 23 2 21 4 -6.21e-01 -2.83e+00 -4.24e+01 4.25e+01 0 -3.38 + 24 2 21 4 -1.09e-01 2.50e-02 -1.28e+01 1.28e+01 0 -5.44 + 25 2 21 4 -4.72e-02 -2.81e-01 -7.30e+00 7.31e+00 0 -3.94 + 26 2 21 4 -3.65e+00 1.06e+00 -1.44e+02 1.44e+02 0 -4.33 + 27 2 21 4 -8.57e-01 1.30e+00 -8.64e+01 8.64e+01 0 -4.71 + 28 2 21 4 2.10e-01 -2.36e-01 -5.04e+02 5.04e+02 0 -8.07 + 29 2 2203 2 2.49e+00 5.11e-01 -5.57e+03 5.57e+03 0.771 -8.39 + 30 2 21 0 -3.00e+00 2.35e+00 2.36e+02 2.36e+02 0 4.82 + 31 2 21 0 -9.34e-01 -2.91e+00 1.02e+02 1.02e+02 0 4.2 + 32 2 21 0 3.00e+00 -2.35e+00 2.97e+01 3.00e+01 0 2.75 + 33 2 21 0 1.02e+00 -2.88e+00 -9.85e+00 1.03e+01 0 -1.89 + 34 2 21 0 -1.02e+00 2.88e+00 -7.45e+00 8.05e+00 0 -1.62 + 35 2 92 13 -2.00e+00 7.56e-01 6.53e+03 6.54e+03 99.6 8.72 + 36 1 321 35 -2.73e-01 1.76e-01 9.69e-01 1.13e+00 0.494 1.81 + 37 2 333 35 -1.11e+00 1.44e-01 2.44e+00 2.87e+00 1.02 1.52 + 38 1 -321 35 5.75e-01 -1.63e-01 3.07e+00 3.17e+00 0.494 2.34 + 39 2 323 35 -4.93e-01 1.18e-01 1.14e+01 1.14e+01 0.776 3.8 + 40 2 333 35 4.67e-02 -1.10e-02 6.10e+01 6.10e+01 1.02 7.84 + 41 2 -313 35 6.61e-02 2.00e-01 1.02e+02 1.02e+02 0.984 6.87 + 42 1 -211 35 6.62e-01 2.34e-03 1.91e+01 1.92e+01 0.14 4.06 + 43 2 213 35 -1.13e+00 2.68e-01 8.99e+02 8.99e+02 0.794 7.34 + 44 1 2112 35 -3.44e-01 2.18e-02 5.44e+03 5.44e+03 0.94 10.4 + 45 2 92 15 -1.50e-01 2.09e+00 -6.43e+03 6.61e+03 1.55e+03 -8.72 + 46 1 211 45 1.39e+00 -8.14e-01 3.12e+01 3.13e+01 0.14 3.66 + 47 2 113 45 6.88e-02 -1.41e-01 2.65e+01 2.66e+01 0.811 5.82 + 48 1 -211 45 -3.37e-01 -1.68e-01 9.43e+00 9.44e+00 0.14 3.91 + 49 2 113 45 6.00e-01 -2.67e-01 2.22e+00 2.44e+00 0.792 1.93 + 50 2 323 45 -3.07e-01 -6.12e-02 -1.42e-02 9.76e-01 0.924 -0.0453 + 51 2 -313 45 1.43e-02 4.68e-01 -3.88e-01 1.12e+00 0.936 -0.755 + 52 2 111 45 8.08e-02 -1.35e-02 -7.15e-01 7.33e-01 0.135 -2.86 + 53 2 113 45 -2.30e-01 1.48e-01 -1.62e+00 1.84e+00 0.816 -2.48 + 54 2 223 45 3.60e-01 7.58e-01 8.72e-01 1.44e+00 0.784 0.908 + 55 2 113 45 1.21e-01 1.16e-01 9.83e-01 1.26e+00 0.769 2.47 + 56 2 -213 45 8.69e-02 1.01e+00 7.42e+00 7.52e+00 0.697 2.69 + 57 2 323 45 1.76e-01 4.23e-01 1.93e+00 2.16e+00 0.876 2.14 + 58 1 -321 45 1.93e-01 1.97e-01 6.13e+00 6.16e+00 0.494 3.79 + 59 2 223 45 -2.63e-01 7.90e-01 6.47e-01 1.31e+00 0.784 0.715 + 60 2 213 45 1.35e-01 1.08e+00 5.74e-01 1.37e+00 0.601 0.506 + 61 1 -211 45 -1.05e+00 1.11e+00 -1.21e-01 1.54e+00 0.14 -0.0789 + 62 2 213 45 -9.08e-02 5.82e-01 -1.54e+00 1.76e+00 0.619 -1.69 + 63 2 221 45 1.94e-01 -2.74e-01 -2.66e-01 6.95e-01 0.547 -0.728 + 64 2 -213 45 2.31e-01 2.74e-01 -1.31e+00 1.58e+00 0.818 -2 + 65 2 213 45 -4.52e-01 2.86e-01 -1.23e+00 1.57e+00 0.822 -1.57 + 66 2 2114 45 9.53e-01 -6.69e-01 -3.09e+00 3.53e+00 1.24 -1.7 + 67 1 211 45 -1.36e-01 -6.50e-01 -8.86e-01 1.12e+00 0.14 -1.1 + 68 1 -2212 45 8.49e-01 -2.09e+00 -5.29e+00 5.82e+00 0.938 -1.59 + 69 1 -211 45 1.20e-01 2.39e-01 -1.06e+00 1.10e+00 0.14 -2.08 + 70 2 323 45 1.48e+00 -9.63e-01 -1.55e+01 1.56e+01 0.978 -2.86 + 71 1 -321 45 -2.78e-01 3.30e-01 -8.84e+00 8.87e+00 0.494 -3.71 + 72 2 213 45 4.81e-01 -1.41e-01 -1.37e+01 1.37e+01 0.788 -4 + 73 2 111 45 -6.69e-01 1.78e-01 -1.87e+01 1.87e+01 0.135 -3.99 + 74 2 -213 45 -3.45e-01 -1.71e-01 -1.77e+01 1.77e+01 0.733 -4.52 + 75 1 2212 45 -3.93e-01 8.27e-02 -3.98e+01 3.98e+01 0.938 -5.29 + 76 1 -2212 45 -6.65e-01 6.91e-02 -2.61e+01 2.61e+01 0.938 -4.36 + 77 2 3224 45 -4.07e-01 -1.66e+00 -3.45e+01 3.46e+01 1.37 -3.7 + 78 2 311 45 -2.78e-01 5.33e-02 -1.90e+01 1.90e+01 0.498 -4.9 + 79 1 -2112 45 -1.86e+00 2.64e-01 -6.69e+01 6.69e+01 0.94 -4.27 + 80 1 -211 45 -4.20e-01 -6.99e-02 -4.46e+01 4.47e+01 0.14 -5.34 + 81 1 211 45 -1.23e+00 5.35e-01 -3.48e+01 3.49e+01 0.14 -3.95 + 82 2 311 45 -1.74e-02 2.33e-01 -6.04e+01 6.04e+01 0.498 -6.25 + 83 2 -323 45 -5.63e-01 -7.34e-02 -1.48e+02 1.48e+02 1.01 -6.26 + 84 1 211 45 -1.34e-01 -9.12e-02 -7.11e+00 7.11e+00 0.14 -4.48 + 85 2 113 45 1.80e-02 8.34e-01 -6.47e+02 6.47e+02 0.798 -7.35 + 86 1 -211 45 2.67e-01 -2.79e-01 -5.20e+02 5.20e+02 0.14 -7.9 + 87 2 213 45 3.40e-01 1.94e-01 -1.02e+03 1.02e+03 0.63 -8.56 + 88 2 2214 45 5.67e-01 9.88e-02 -8.80e+02 8.80e+02 1.2 -8.03 + 89 2 223 45 1.23e+00 3.33e-01 -2.87e+03 2.87e+03 0.784 -8.41 + 90 2 92 30 -9.34e-01 -2.91e+00 3.67e+02 3.67e+02 15 5.48 + 91 1 211 90 -8.24e-01 -1.45e-02 1.59e+01 1.59e+01 0.14 3.66 + 92 1 -211 90 -1.30e+00 8.92e-01 8.32e+01 8.33e+01 0.14 4.66 + 93 2 -311 90 -2.08e-02 -2.14e-01 2.11e+01 2.11e+01 0.498 5.28 + 94 2 313 90 -3.62e-01 5.42e-01 5.03e+01 5.03e+01 0.796 5.04 + 95 2 213 90 -8.94e-01 -3.47e-01 5.52e+01 5.52e+01 0.708 4.75 + 96 2 113 90 -1.28e-01 -1.56e-01 3.41e+01 3.41e+01 0.72 5.82 + 97 1 -211 90 -5.72e-01 -9.49e-01 3.99e+01 3.99e+01 0.14 4.28 + 98 2 111 90 4.23e-01 -2.45e-01 3.08e+00 3.12e+00 0.135 2.54 + 99 1 -2112 90 1.14e+00 -1.49e+00 2.49e+01 2.50e+01 0.94 3.28 + 100 1 2112 90 5.39e-01 -8.02e-01 1.40e+01 1.41e+01 0.94 3.37 + 101 2 223 90 1.06e+00 -1.22e-01 2.53e+01 2.53e+01 0.776 3.86 + 102 2 92 33 0.00e+00 0.00e+00 -1.73e+01 1.84e+01 6.17 -999 + 103 2 113 102 2.54e-01 -1.28e-01 -3.69e+00 3.77e+00 0.722 -3.26 + 104 2 223 102 -7.85e-02 4.34e-02 -9.82e-01 1.26e+00 0.782 -3.09 + 105 2 213 102 1.78e-01 3.27e-01 -2.62e+00 2.77e+00 0.812 -2.65 + 106 2 111 102 1.94e-01 -8.30e-01 -1.78e+00 1.98e+00 0.135 -1.48 + 107 1 -211 102 -2.88e-01 5.23e-01 -3.10e+00 3.16e+00 0.14 -2.35 + 108 2 223 102 2.53e-01 -1.38e-01 -2.52e+00 2.66e+00 0.783 -2.86 + 109 2 113 102 -5.13e-01 2.04e-01 -2.60e+00 2.77e+00 0.78 -2.25 + 110 1 321 37 -5.35e-01 -4.15e-03 1.39e+00 1.57e+00 0.494 1.68 + 111 1 -321 37 -5.74e-01 1.48e-01 1.05e+00 1.30e+00 0.494 1.33 + 112 2 311 39 -1.65e-01 7.95e-02 8.26e+00 8.27e+00 0.498 4.5 + 113 1 211 39 -3.29e-01 3.86e-02 3.09e+00 3.12e+00 0.14 2.93 + 114 1 321 40 -8.91e-02 3.84e-02 3.21e+01 3.21e+01 0.494 6.5 + 115 1 -321 40 1.36e-01 -4.94e-02 2.89e+01 2.89e+01 0.494 5.99 + 116 2 -311 41 -2.08e-01 2.83e-01 4.52e+01 4.53e+01 0.498 5.55 + 117 2 111 41 2.74e-01 -8.21e-02 5.65e+01 5.65e+01 0.135 5.98 + 118 1 211 43 -1.03e+00 4.32e-01 6.38e+02 6.38e+02 0.14 7.04 + 119 2 111 43 -1.00e-01 -1.65e-01 2.61e+02 2.61e+02 0.135 7.9 + 120 1 -211 47 2.55e-01 -1.00e-02 2.33e+01 2.33e+01 0.14 5.21 + 121 1 211 47 -1.86e-01 -1.31e-01 3.23e+00 3.24e+00 0.14 3.34 + 122 1 211 49 7.62e-01 -2.15e-01 1.64e+00 1.83e+00 0.14 1.48 + 123 1 -211 49 -1.62e-01 -5.17e-02 5.74e-01 6.14e-01 0.14 1.93 + 124 2 311 50 -4.48e-01 -2.27e-01 -7.65e-02 7.11e-01 0.498 -0.152 + 125 1 211 50 1.40e-01 1.66e-01 6.23e-02 2.65e-01 0.14 0.283 + 126 1 -321 51 -2.60e-02 2.92e-01 9.54e-02 5.82e-01 0.494 0.32 + 127 1 211 51 4.03e-02 1.76e-01 -4.83e-01 5.35e-01 0.14 -1.71 + 128 1 22 52 -1.68e-02 2.28e-02 -3.88e-02 4.80e-02 0 -1.12 + 129 1 22 52 9.76e-02 -3.63e-02 -6.77e-01 6.85e-01 0 -2.57 + 130 1 -211 53 -8.09e-02 2.95e-01 -1.97e-01 3.90e-01 0.14 -0.608 + 131 1 211 53 -1.49e-01 -1.47e-01 -1.43e+00 1.45e+00 0.14 -2.62 + 132 1 211 54 1.97e-01 3.51e-01 6.75e-01 7.98e-01 0.14 1.29 + 133 1 -211 54 -3.88e-02 1.47e-01 2.00e-01 2.87e-01 0.14 1.09 + 134 2 111 54 2.02e-01 2.60e-01 -3.27e-03 3.56e-01 0.135 -0.00991 + 135 1 -211 55 1.15e-01 2.71e-01 9.97e-01 1.05e+00 0.14 1.93 + 136 1 211 55 5.83e-03 -1.56e-01 -1.47e-02 2.10e-01 0.14 -0.0941 + 137 1 -211 56 -8.49e-03 1.28e-01 3.83e-01 4.28e-01 0.14 1.81 + 138 2 111 56 9.53e-02 8.80e-01 7.03e+00 7.09e+00 0.135 2.77 + 139 2 311 57 6.63e-02 5.21e-01 1.76e+00 1.90e+00 0.498 1.92 + 140 1 211 57 1.10e-01 -9.78e-02 1.66e-01 2.62e-01 0.14 0.97 + 141 1 211 59 -1.81e-01 4.47e-01 1.25e-01 5.17e-01 0.14 0.256 + 142 1 -211 59 -2.25e-01 2.99e-01 3.59e-01 5.38e-01 0.14 0.852 + 143 2 111 59 1.43e-01 4.38e-02 1.63e-01 2.59e-01 0.135 0.942 + 144 1 211 60 6.61e-02 1.08e+00 5.00e-01 1.20e+00 0.14 0.447 + 145 2 111 60 6.86e-02 -8.01e-04 7.43e-02 1.69e-01 0.135 0.939 + 146 1 211 62 -4.09e-02 -5.32e-02 -5.87e-01 6.07e-01 0.14 -2.86 + 147 2 111 62 -4.99e-02 6.35e-01 -9.56e-01 1.16e+00 0.135 -1.2 + 148 2 111 63 -8.07e-02 -5.76e-02 -3.25e-02 1.71e-01 0.135 -0.323 + 149 2 111 63 2.01e-01 -6.40e-02 -9.60e-02 2.68e-01 0.135 -0.442 + 150 2 111 63 7.41e-02 -1.52e-01 -1.38e-01 2.57e-01 0.135 -0.744 + 151 1 -211 64 4.35e-01 4.07e-01 -8.38e-01 1.04e+00 0.14 -1.14 + 152 2 111 64 -2.04e-01 -1.33e-01 -4.69e-01 5.45e-01 0.135 -1.41 + 153 1 211 65 -1.15e-01 -2.61e-01 -4.89e-01 5.83e-01 0.14 -1.31 + 154 2 111 65 -3.37e-01 5.47e-01 -7.40e-01 9.89e-01 0.135 -0.984 + 155 1 2212 66 6.04e-01 -7.13e-01 -2.45e+00 2.79e+00 0.938 -1.69 + 156 1 -211 66 3.49e-01 4.35e-02 -6.38e-01 7.42e-01 0.14 -1.36 + 157 2 311 70 5.39e-01 -2.99e-01 -4.42e+00 4.49e+00 0.498 -2.67 + 158 1 211 70 9.45e-01 -6.64e-01 -1.11e+01 1.11e+01 0.14 -2.95 + 159 1 211 72 1.18e-04 -3.58e-01 -6.34e+00 6.36e+00 0.14 -3.57 + 160 2 111 72 4.80e-01 2.17e-01 -7.34e+00 7.36e+00 0.135 -3.33 + 161 1 22 73 -5.04e-01 7.96e-02 -1.28e+01 1.28e+01 0 -3.91 + 162 1 22 73 -1.65e-01 9.88e-02 -5.90e+00 5.90e+00 0 -4.12 + 163 1 -211 74 1.33e-01 1.21e-01 -7.19e+00 7.19e+00 0.14 -4.38 + 164 2 111 74 -4.77e-01 -2.92e-01 -1.05e+01 1.05e+01 0.135 -3.62 + 165 2 3122 77 -4.69e-01 -1.62e+00 -3.09e+01 3.09e+01 1.12 -3.6 + 166 1 211 77 6.12e-02 -3.83e-02 -3.63e+00 3.64e+00 0.14 -4.61 + 167 1 130 78 -2.78e-01 5.33e-02 -1.90e+01 1.90e+01 0.498 -4.9 + 168 2 310 82 -1.74e-02 2.33e-01 -6.04e+01 6.04e+01 0.498 -6.25 + 169 2 -311 83 -5.45e-01 2.59e-01 -8.99e+01 8.99e+01 0.498 -5.7 + 170 1 -211 83 -1.76e-02 -3.32e-01 -5.80e+01 5.80e+01 0.14 -5.85 + 171 1 211 85 9.30e-02 -1.09e-02 -3.29e+01 3.29e+01 0.14 -6.56 + 172 1 -211 85 -7.50e-02 8.45e-01 -6.14e+02 6.14e+02 0.14 -7.28 + 173 1 211 87 8.59e-02 3.47e-01 -6.99e+02 6.99e+02 0.14 -8.27 + 174 2 111 87 2.54e-01 -1.53e-01 -3.24e+02 3.24e+02 0.135 -7.69 + 175 1 2212 88 3.83e-01 1.63e-01 -5.77e+02 5.77e+02 0.938 -7.93 + 176 2 111 88 1.84e-01 -6.41e-02 -3.04e+02 3.04e+02 0.135 -8.04 + 177 1 211 89 5.33e-01 7.46e-02 -1.01e+03 1.01e+03 0.14 -8.23 + 178 1 -211 89 4.00e-01 -1.62e-02 -1.32e+03 1.32e+03 0.14 -8.8 + 179 2 111 89 2.98e-01 2.74e-01 -5.41e+02 5.41e+02 0.135 -7.89 + 180 1 130 93 -2.08e-02 -2.14e-01 2.11e+01 2.11e+01 0.498 5.28 + 181 1 321 94 -3.90e-01 2.06e-01 3.09e+01 3.09e+01 0.494 4.94 + 182 1 -211 94 2.79e-02 3.36e-01 1.94e+01 1.94e+01 0.14 4.75 + 183 1 211 95 -8.91e-01 -1.82e-01 3.63e+01 3.63e+01 0.14 4.38 + 184 2 111 95 -2.63e-03 -1.65e-01 1.89e+01 1.89e+01 0.135 5.43 + 185 1 -211 96 -1.20e-02 -3.34e-01 2.86e+01 2.86e+01 0.14 5.14 + 186 1 211 96 -1.16e-01 1.78e-01 5.45e+00 5.46e+00 0.14 3.94 + 187 1 22 98 2.88e-01 -9.56e-02 1.70e+00 1.72e+00 0 2.42 + 188 1 22 98 1.35e-01 -1.49e-01 1.38e+00 1.40e+00 0 2.62 + 189 1 211 101 5.04e-01 -1.97e-01 8.76e+00 8.77e+00 0.14 3.48 + 190 1 -211 101 2.54e-02 -9.08e-02 3.85e+00 3.86e+00 0.14 4.4 + 191 2 111 101 5.32e-01 1.66e-01 1.27e+01 1.27e+01 0.135 3.82 + 192 1 -211 103 -1.71e-01 -5.67e-02 -2.24e+00 2.25e+00 0.14 -3.21 + 193 1 211 103 4.26e-01 -7.15e-02 -1.45e+00 1.52e+00 0.14 -1.93 + 194 1 -211 104 7.65e-02 -8.75e-02 -7.83e-01 8.04e-01 0.14 -2.61 + 195 1 211 104 -1.94e-01 1.20e-01 -1.32e-01 2.98e-01 0.14 -0.548 + 196 2 111 104 3.92e-02 1.08e-02 -6.72e-02 1.56e-01 0.135 -1.28 + 197 1 211 105 -2.80e-01 2.51e-01 -1.39e+00 1.44e+00 0.14 -2.02 + 198 2 111 105 4.58e-01 7.63e-02 -1.24e+00 1.33e+00 0.135 -1.71 + 199 1 22 106 1.08e-01 -5.84e-01 -1.11e+00 1.25e+00 0 -1.38 + 200 1 22 106 8.65e-02 -2.46e-01 -6.78e-01 7.27e-01 0 -1.68 + 201 1 -211 108 -4.19e-02 9.47e-02 -3.16e-01 3.61e-01 0.14 -1.83 + 202 1 211 108 1.25e-01 2.93e-02 -2.70e-01 3.30e-01 0.14 -1.49 + 203 2 111 108 1.70e-01 -2.62e-01 -1.93e+00 1.96e+00 0.135 -2.52 + 204 1 211 109 -6.28e-01 1.34e-01 -1.31e+00 1.46e+00 0.14 -1.46 + 205 1 -211 109 1.15e-01 6.97e-02 -1.29e+00 1.30e+00 0.14 -2.95 + 206 2 310 112 -1.65e-01 7.95e-02 8.26e+00 8.27e+00 0.498 4.5 + 207 2 310 116 -2.08e-01 2.83e-01 4.52e+01 4.53e+01 0.498 5.55 + 208 1 22 117 3.27e-02 -6.35e-02 1.64e+01 1.64e+01 0 6.13 + 209 1 22 117 2.41e-01 -1.86e-02 4.01e+01 4.01e+01 0 5.8 + 210 1 22 119 -3.55e-02 -4.32e-03 1.12e+02 1.12e+02 0 8.74 + 211 1 22 119 -6.45e-02 -1.60e-01 1.49e+02 1.49e+02 0 7.45 + 212 2 310 124 -4.48e-01 -2.27e-01 -7.65e-02 7.11e-01 0.498 -0.152 + 213 1 22 134 5.96e-02 3.17e-04 -3.48e-03 5.97e-02 0 -0.0584 + 214 1 22 134 1.43e-01 2.60e-01 2.13e-04 2.96e-01 0 0.000719 + 215 1 22 138 9.82e-02 6.35e-01 5.48e+00 5.52e+00 0 2.84 + 216 1 22 138 -2.90e-03 2.45e-01 1.55e+00 1.57e+00 0 2.54 + 217 2 310 139 6.63e-02 5.21e-01 1.76e+00 1.90e+00 0.498 1.92 + 218 1 22 143 1.46e-01 -9.35e-03 1.35e-01 1.99e-01 0 0.825 + 219 1 22 143 -2.87e-03 5.32e-02 2.80e-02 6.02e-02 0 0.505 + 220 1 22 145 2.42e-02 6.45e-02 1.68e-02 7.09e-02 0 0.241 + 221 1 22 145 4.44e-02 -6.53e-02 5.76e-02 9.78e-02 0 0.676 + 222 1 22 147 -6.98e-02 2.12e-01 -3.96e-01 4.55e-01 0 -1.34 + 223 1 22 147 1.99e-02 4.23e-01 -5.60e-01 7.02e-01 0 -1.09 + 224 1 22 148 -1.12e-01 -6.36e-02 -5.73e-03 1.29e-01 0 -0.0445 + 225 1 22 148 3.13e-02 6.07e-03 -2.68e-02 4.17e-02 0 -0.764 + 226 1 22 149 1.78e-01 -9.49e-02 -1.07e-01 2.28e-01 0 -0.507 + 227 1 22 149 2.25e-02 3.09e-02 1.06e-02 3.97e-02 0 0.274 + 228 1 22 150 2.08e-02 -3.01e-03 -8.82e-02 9.06e-02 0 -2.14 + 229 1 22 150 5.32e-02 -1.49e-01 -4.97e-02 1.66e-01 0 -0.309 + 230 1 22 152 -5.35e-02 -1.09e-01 -1.58e-01 1.99e-01 0 -1.08 + 231 1 22 152 -1.50e-01 -2.43e-02 -3.11e-01 3.46e-01 0 -1.46 + 232 1 22 154 -2.19e-01 4.46e-01 -6.11e-01 7.88e-01 0 -1.03 + 233 1 22 154 -1.17e-01 1.01e-01 -1.29e-01 2.01e-01 0 -0.757 + 234 1 130 157 5.39e-01 -2.99e-01 -4.42e+00 4.49e+00 0.498 -2.67 + 235 1 22 160 2.66e-01 1.44e-01 -3.31e+00 3.33e+00 0 -3.09 + 236 1 22 160 2.15e-01 7.28e-02 -4.03e+00 4.03e+00 0 -3.57 + 237 1 22 164 -1.85e-01 -4.71e-02 -2.98e+00 2.99e+00 0 -3.44 + 238 1 22 164 -2.92e-01 -2.45e-01 -7.48e+00 7.49e+00 0 -3.67 + 239 1 2212 165 -4.74e-01 -1.44e+00 -2.62e+01 2.62e+01 0.938 -3.54 + 240 1 -211 165 5.01e-03 -1.82e-01 -4.71e+00 4.71e+00 0.14 -3.95 + 241 1 -211 168 -1.84e-01 -3.33e-04 -2.55e+01 2.55e+01 0.14 -5.62 + 242 1 211 168 1.67e-01 2.33e-01 -3.49e+01 3.49e+01 0.14 -5.5 + 243 1 130 169 -5.45e-01 2.59e-01 -8.99e+01 8.99e+01 0.498 -5.7 + 244 1 22 174 1.63e-01 -5.83e-02 -2.39e+02 2.39e+02 0 -7.92 + 245 1 22 174 9.09e-02 -9.45e-02 -8.53e+01 8.53e+01 0 -7.17 + 246 1 22 176 3.56e-02 -7.99e-02 -1.18e+02 1.18e+02 0 -7.9 + 247 1 22 176 1.49e-01 1.58e-02 -1.86e+02 1.86e+02 0 -7.82 + 248 1 22 179 1.81e-01 2.40e-01 -4.18e+02 4.18e+02 0 -7.93 + 249 1 22 179 1.17e-01 3.44e-02 -1.23e+02 1.23e+02 0 -7.61 + 250 1 22 184 -1.32e-02 -1.02e-02 2.51e-01 2.52e-01 0 3.4 + 251 1 22 184 1.06e-02 -1.55e-01 1.86e+01 1.86e+01 0 5.48 + 252 1 22 191 1.83e-01 1.10e-01 5.73e+00 5.73e+00 0 3.98 + 253 1 22 191 3.49e-01 5.63e-02 6.96e+00 6.97e+00 0 3.67 + 254 1 22 196 7.69e-02 3.56e-02 -7.15e-02 1.11e-01 0 -0.766 + 255 1 22 196 -3.77e-02 -2.48e-02 4.24e-03 4.53e-02 0 0.0937 + 256 1 22 198 1.21e-01 -3.91e-02 -3.40e-01 3.63e-01 0 -1.71 + 257 1 22 198 3.37e-01 1.15e-01 -8.96e-01 9.65e-01 0 -1.65 + 258 1 22 203 3.78e-02 -1.90e-02 -5.69e-01 5.70e-01 0 -3.29 + 259 1 11 203 1.27e-01 -2.18e-01 -1.21e+00 1.24e+00 0.00051 -2.27 + 260 1 -11 203 4.80e-03 -2.48e-02 -1.54e-01 1.56e-01 0.00051 -2.51 + 261 2 111 206 9.20e-02 1.32e-01 2.25e+00 2.26e+00 0.135 3.33 + 262 2 111 206 -2.57e-01 -5.26e-02 6.00e+00 6.01e+00 0.135 3.82 + 263 2 111 207 -2.89e-01 1.56e-01 3.66e+01 3.66e+01 0.135 5.41 + 264 2 111 207 8.17e-02 1.26e-01 8.62e+00 8.62e+00 0.135 4.74 + 265 1 211 212 -2.95e-01 -9.17e-02 1.55e-01 3.73e-01 0.14 0.481 + 266 1 -211 212 -1.52e-01 -1.35e-01 -2.31e-01 3.38e-01 0.14 -0.973 + 267 2 111 217 1.60e-01 1.55e-01 1.10e+00 1.13e+00 0.135 2.3 + 268 2 111 217 -9.38e-02 3.66e-01 6.60e-01 7.72e-01 0.135 1.32 + 269 1 22 261 1.66e-02 -2.70e-02 2.39e-01 2.41e-01 0 2.72 + 270 1 22 261 7.54e-02 1.59e-01 2.02e+00 2.02e+00 0 3.13 + 271 1 22 262 -7.17e-02 -3.17e-02 3.25e+00 3.25e+00 0 4.42 + 272 1 22 262 -1.85e-01 -2.09e-02 2.76e+00 2.76e+00 0 3.39 + 273 1 22 263 -9.96e-02 2.50e-02 6.20e+00 6.20e+00 0 4.79 + 274 1 22 263 -1.90e-01 1.31e-01 3.04e+01 3.04e+01 0 5.58 + 275 1 22 264 7.76e-02 2.39e-03 3.60e+00 3.60e+00 0 4.53 + 276 1 22 264 4.09e-03 1.24e-01 5.01e+00 5.02e+00 0 4.39 + 277 1 22 267 1.49e-01 9.93e-02 5.70e-01 5.98e-01 0 1.88 + 278 1 22 267 1.13e-02 5.56e-02 5.29e-01 5.32e-01 0 2.93 + 279 1 22 268 -6.60e-02 5.16e-02 1.69e-01 1.89e-01 0 1.45 + 280 1 22 268 -2.77e-02 3.15e-01 4.91e-01 5.84e-01 0 1.22 +4 Event +510 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 2 1 -9.28e-02 1.61e-01 2.37e+03 2.37e+03 0 10.1 + 4 3 21 2 2.84e-01 -3.15e-01 -3.80e+03 3.80e+03 0 -9.79 + 5 3 2 3 1.83e-01 6.40e-01 1.85e+03 1.85e+03 0 8.62 + 6 3 -1 4 -5.80e+00 -1.93e+00 2.42e+00 6.57e+00 0 0.386 + 7 3 22 5 1.36e+01 -1.06e+01 9.92e+02 9.92e+02 0 4.74 + 8 3 24 5 -1.93e+01 9.29e+00 8.63e+02 8.67e+02 80.4 4.39 + 9 1 22 7 1.36e+01 -1.06e+01 9.92e+02 9.92e+02 0 4.74 + 10 2 24 8 -1.93e+01 9.29e+00 8.63e+02 8.67e+02 80.4 4.39 + 11 2 1 4 -9.88e-01 -4.96e+00 1.90e+01 1.97e+01 0.33 2.04 + 12 2 21 4 2.60e-01 -3.10e+00 1.17e+01 1.21e+01 0 2.04 + 13 2 21 4 7.57e-01 -5.40e-01 5.15e+00 5.24e+00 0 2.41 + 14 2 2203 2 -1.44e-01 4.40e-01 -2.91e+03 2.91e+03 0.771 -9.44 + 15 2 2 4 -1.83e-01 -1.48e+00 -2.14e+03 2.14e+03 0.33 -7.96 + 16 2 21 4 4.40e-01 -2.95e-01 -3.13e-01 6.15e-01 0 -0.561 + 17 2 21 4 2.73e-01 -3.30e-01 -7.68e-01 8.80e-01 0 -1.35 + 18 2 21 4 2.93e-01 1.38e-01 -2.16e+00 2.18e+00 0 -2.6 + 19 2 21 4 1.02e+00 -1.45e+00 -2.47e+01 2.48e+01 0 -3.33 + 20 2 21 4 1.21e+00 -7.49e-01 -1.12e+01 1.13e+01 0 -2.76 + 21 2 21 4 -5.49e-01 1.05e-01 3.41e+00 3.46e+00 0 2.51 + 22 2 21 4 6.43e-01 3.12e+00 7.51e+00 8.16e+00 0 1.59 + 23 2 21 4 1.21e+00 3.41e+00 6.31e+00 7.28e+00 0 1.32 + 24 2 21 4 2.44e+00 6.91e+00 2.44e+01 2.55e+01 0 1.92 + 25 2 21 0 -8.08e-01 -3.34e+00 1.96e+00 3.96e+00 0 0.544 + 26 2 21 0 8.08e-01 3.34e+00 -1.61e+02 1.61e+02 0 -4.54 + 27 2 21 3 1.94e-01 -5.22e-01 1.21e+02 1.21e+02 0 6.08 + 28 2 21 3 -2.38e-01 7.16e-01 1.02e+02 1.02e+02 0 5.6 + 29 2 21 3 3.42e-01 2.43e-01 3.19e+01 3.19e+01 0 5.03 + 30 2 21 3 -5.97e-01 -9.51e-01 1.80e+02 1.80e+02 0 5.77 + 31 2 2103 1 9.28e-02 -1.61e-01 4.27e+03 4.27e+03 0.771 10.7 + 32 2 -2 4 -7.16e-01 8.70e-01 -1.62e+03 1.62e+03 0.33 -7.96 + 33 2 1 2 -1.41e-01 -1.25e-01 -8.45e+01 8.45e+01 0.33 -6.8 + 34 2 4 10 -2.27e+01 -1.64e+01 3.48e+02 3.49e+02 1.5 3.22 + 35 2 21 10 -7.45e+00 -8.52e+00 1.24e+02 1.25e+02 0 3.09 + 36 2 21 10 -2.00e+00 -1.10e+00 2.19e+01 2.20e+01 0 2.95 + 37 2 21 10 -1.03e+00 -2.60e-01 3.03e+00 3.21e+00 0 1.77 + 38 2 21 10 -2.65e-01 5.59e-01 2.27e+00 2.35e+00 0 2.01 + 39 2 21 10 2.37e-01 2.80e+00 2.63e+01 2.64e+01 0 2.93 + 40 2 21 10 3.37e-01 1.99e+00 1.88e+01 1.90e+01 0 2.93 + 41 2 21 10 9.33e+00 2.19e+01 2.29e+02 2.30e+02 0 2.96 + 42 2 -3 10 4.29e+00 8.32e+00 8.93e+01 8.97e+01 0.5 2.95 + 43 2 2 0 2.14e+00 2.35e+00 -5.47e+00 6.32e+00 0 -1.31 + 44 2 -2 0 -2.14e+00 -2.35e+00 -2.41e+01 2.43e+01 0 -2.72 + 45 2 1 0 1.87e+00 2.31e+00 2.44e+01 2.46e+01 0 2.8 + 46 2 -1 0 -1.87e+00 -2.31e+00 -3.05e+00 4.26e+00 0 -0.901 + 47 2 21 0 -1.60e-01 4.02e+00 7.57e+00 8.57e+00 0 1.39 + 48 2 21 0 1.60e-01 -4.02e+00 2.91e+02 2.91e+02 0 4.97 + 49 2 21 0 -2.65e+00 1.50e+00 2.50e+01 2.51e+01 0 2.8 + 50 2 21 0 2.65e+00 -1.50e+00 1.79e+00 3.53e+00 0 0.556 + 51 2 92 11 -1.15e-01 -8.16e+00 -2.88e+03 2.95e+03 652 -6.56 + 52 2 -213 51 3.06e-01 -2.53e+00 1.21e+01 1.24e+01 0.849 2.26 + 53 2 213 51 -1.54e-01 -1.75e+00 5.56e+00 5.86e+00 0.574 1.87 + 54 2 223 51 -5.12e-01 -1.42e+00 5.97e+00 6.21e+00 0.787 2.09 + 55 2 223 51 2.16e-01 -1.87e+00 7.10e+00 7.39e+00 0.777 2.04 + 56 2 113 51 -4.77e-02 -1.02e+00 2.44e+00 2.73e+00 0.707 1.61 + 57 1 -211 51 2.20e-01 4.78e-03 2.24e+00 2.25e+00 0.14 3.01 + 58 1 211 51 -3.35e-01 6.96e-02 -1.11e-01 3.86e-01 0.14 -0.318 + 59 2 113 51 1.39e-01 -3.31e-01 -1.73e+00 1.95e+00 0.829 -2.28 + 60 1 -211 51 -2.86e-01 6.48e-01 -3.48e+00 3.55e+00 0.14 -2.3 + 61 2 111 51 4.14e-01 -3.00e-01 -3.14e+00 3.18e+00 0.135 -2.51 + 62 1 211 51 5.50e-01 1.48e-01 -1.82e+00 1.91e+00 0.14 -1.88 + 63 2 113 51 -8.79e-01 -4.15e-01 -2.37e+01 2.38e+01 0.805 -3.89 + 64 1 -211 51 4.40e-01 6.53e-01 -3.07e+01 3.07e+01 0.14 -4.36 + 65 1 211 51 4.59e-02 -7.34e-01 -5.85e+02 5.85e+02 0.14 -7.37 + 66 2 2214 51 -4.99e-01 6.32e-01 -1.27e+03 1.27e+03 1.15 -8.05 + 67 2 111 51 2.66e-01 4.88e-02 -9.99e+02 9.99e+02 0.135 -8.91 + 68 2 92 15 6.59e+00 8.71e+00 2.41e+03 7.10e+03 6.68e+03 6.09 + 69 2 323 68 2.70e-02 -7.84e-01 -6.33e+02 6.33e+02 0.905 -7.39 + 70 2 -311 68 -5.13e-01 -3.57e-01 -6.68e+02 6.68e+02 0.498 -7.67 + 71 1 -211 68 5.76e-01 6.14e-02 -3.36e+02 3.36e+02 0.14 -7.05 + 72 2 213 68 2.75e-01 -4.60e-01 -3.86e+02 3.86e+02 0.783 -7.27 + 73 2 223 68 -5.79e-01 -1.95e-02 -8.41e+01 8.41e+01 0.795 -5.67 + 74 2 -213 68 -7.32e-02 3.66e-01 -1.68e+01 1.68e+01 0.857 -4.5 + 75 1 211 68 6.41e-01 -6.35e-01 -1.70e+01 1.70e+01 0.14 -3.63 + 76 1 -211 68 -1.59e-01 1.82e-02 -3.38e-01 3.99e-01 0.14 -1.49 + 77 2 331 68 -2.19e-02 -2.44e-01 -4.96e+00 5.06e+00 0.958 -3.7 + 78 1 211 68 3.82e-01 4.98e-03 -3.96e+00 3.98e+00 0.14 -3.03 + 79 1 -211 68 8.28e-01 -4.72e-02 -5.32e+00 5.39e+00 0.14 -2.56 + 80 2 213 68 -9.30e-03 -9.33e-01 -5.79e+00 5.91e+00 0.773 -2.52 + 81 2 111 68 6.89e-02 -7.43e-02 -3.25e-01 3.66e-01 0.135 -1.88 + 82 2 311 68 8.09e-01 -2.24e-01 -2.21e+00 2.41e+00 0.498 -1.69 + 83 2 -311 68 2.08e-01 -2.99e-01 -7.98e+00 8.01e+00 0.498 -3.78 + 84 2 221 68 4.86e-02 -2.94e-01 -1.26e+00 1.40e+00 0.547 -2.15 + 85 2 221 68 2.43e-01 2.79e-02 -2.05e+00 2.13e+00 0.547 -2.82 + 86 2 113 68 -1.42e-01 2.01e-01 -9.33e-01 1.20e+00 0.713 -2.04 + 87 2 -213 68 6.30e-01 -5.34e-01 -3.03e+00 3.29e+00 0.983 -2.01 + 88 2 213 68 -4.45e-01 2.67e-02 -1.18e+00 1.46e+00 0.745 -1.7 + 89 1 2112 68 -5.65e-02 4.18e-01 8.20e-01 1.32e+00 0.94 1.42 + 90 1 -2212 68 -3.05e-02 -4.08e-01 1.41e+00 1.75e+00 0.938 1.95 + 91 1 211 68 3.52e-01 1.21e+00 9.47e-01 1.58e+00 0.14 0.695 + 92 2 -213 68 -3.00e-01 5.76e-01 1.98e+00 2.17e+00 0.593 1.83 + 93 2 323 68 5.36e-01 1.54e+00 4.13e+00 4.54e+00 0.915 1.66 + 94 2 -323 68 1.68e+00 4.27e+00 1.14e+01 1.23e+01 0.89 1.64 + 95 2 221 68 1.65e-01 1.73e+00 5.38e+00 5.68e+00 0.547 1.85 + 96 2 111 68 3.41e-01 4.26e-01 7.75e-01 9.57e-01 0.135 1.15 + 97 2 111 68 1.86e-01 1.46e+00 5.43e+00 5.63e+00 0.135 2.02 + 98 2 223 68 1.01e+00 1.35e+00 6.76e+00 7.01e+00 0.785 2.1 + 99 1 211 68 -3.41e-01 1.52e-01 5.24e-01 6.59e-01 0.14 1.14 + 100 1 2112 68 -2.12e-01 -1.07e+00 7.02e-01 1.60e+00 0.94 0.604 + 101 1 -2212 68 4.75e-02 2.78e-01 1.00e+00 1.40e+00 0.938 1.98 + 102 2 111 68 1.74e-01 -5.60e-01 1.26e-01 6.15e-01 0.135 0.213 + 103 2 113 68 -3.19e-01 -8.46e-02 1.39e-01 9.73e-01 0.904 0.41 + 104 2 111 68 -1.19e-01 -2.63e-01 1.55e-01 3.55e-01 0.135 0.514 + 105 1 211 68 2.93e-01 -6.23e-01 -2.67e-01 7.52e-01 0.14 -0.378 + 106 2 1114 68 -4.41e-01 2.46e-01 -2.32e+01 2.33e+01 1.24 -4.52 + 107 1 211 68 1.68e-01 1.03e-01 -3.22e+00 3.23e+00 0.14 -3.49 + 108 1 -2212 68 3.45e-01 1.22e+00 -5.30e+01 5.31e+01 0.938 -4.43 + 109 2 2214 68 1.20e-01 3.75e-01 -1.10e+01 1.10e+01 1.25 -4.02 + 110 1 211 68 2.10e-01 4.01e-01 -1.66e+01 1.66e+01 0.14 -4.3 + 111 2 -2224 68 1.97e-01 5.19e-01 -3.04e+01 3.04e+01 1.24 -4.7 + 112 2 323 68 -7.04e-01 -1.90e-01 -1.37e+01 1.38e+01 0.927 -3.63 + 113 2 333 68 8.29e-01 6.43e-01 -5.40e+00 5.59e+00 1.03 -2.34 + 114 2 -323 68 -4.44e-01 -1.38e-02 -1.06e+00 1.45e+00 0.885 -1.61 + 115 2 213 68 4.70e-01 -2.21e-01 2.78e-01 1.15e+00 0.986 0.513 + 116 2 223 68 2.86e-01 -7.04e-02 -7.33e-01 1.13e+00 0.802 -1.64 + 117 2 -213 68 -2.15e-01 4.27e-01 -7.43e-04 1.01e+00 0.893 -0.00155 + 118 2 113 68 1.74e-01 -4.16e-01 1.20e+01 1.21e+01 0.985 3.98 + 119 2 221 68 -1.96e-01 2.89e-01 5.31e+00 5.35e+00 0.547 3.42 + 120 2 111 68 -1.91e-01 5.43e-01 6.23e+01 6.23e+01 0.135 5.38 + 121 2 323 68 1.31e-01 -6.17e-01 2.92e+01 2.92e+01 0.85 4.53 + 122 2 -311 68 -4.99e-02 1.28e-02 4.53e+00 4.56e+00 0.498 5.17 + 123 1 2112 68 -4.79e-02 -1.08e-01 1.47e+02 1.47e+02 0.94 7.82 + 124 1 -2112 68 1.93e-01 -6.50e-03 2.18e+02 2.18e+02 0.94 7.72 + 125 2 313 68 -5.93e-01 -3.39e-01 5.99e+02 5.99e+02 0.899 7.47 + 126 2 3224 68 3.52e-02 -3.44e-02 2.52e+03 2.52e+03 1.4 11.5 + 127 2 -213 68 1.17e-01 -2.46e-01 1.11e+03 1.11e+03 0.688 9.01 + 128 2 92 32 -8.57e-01 7.45e-01 -1.70e+03 1.70e+03 1.75 -8.01 + 129 2 113 128 -7.85e-01 8.65e-01 -1.68e+03 1.68e+03 0.781 -7.96 + 130 1 -211 128 -7.20e-02 -1.21e-01 -2.84e+01 2.84e+01 0.14 -6 + 131 2 92 34 -1.93e+01 9.29e+00 8.63e+02 8.67e+02 80.4 4.39 + 132 2 423 131 -1.91e+01 -1.41e+01 2.95e+02 2.96e+02 2.01 3.21 + 133 1 211 131 -4.56e+00 -4.74e+00 7.27e+01 7.30e+01 0.14 3.1 + 134 2 113 131 -5.16e+00 -3.69e+00 7.32e+01 7.34e+01 0.778 3.14 + 135 2 111 131 -1.10e-01 -3.72e-02 3.18e+00 3.19e+00 0.135 4.01 + 136 2 -213 131 -1.86e+00 -2.62e+00 3.11e+01 3.13e+01 0.811 2.97 + 137 2 113 131 -1.97e+00 -7.50e-01 1.86e+01 1.87e+01 0.726 2.87 + 138 2 331 131 -1.85e-01 -3.79e-02 3.70e+00 3.83e+00 0.958 3.67 + 139 2 323 131 5.48e-01 3.22e+00 3.64e+01 3.65e+01 0.916 3.1 + 140 2 -323 131 1.33e+00 3.74e+00 3.41e+01 3.44e+01 0.868 2.85 + 141 2 113 131 4.48e-01 3.00e+00 2.94e+01 2.95e+01 0.925 2.96 + 142 2 213 131 4.78e+00 1.09e+01 1.14e+02 1.15e+02 0.89 2.96 + 143 2 313 131 6.62e+00 1.44e+01 1.52e+02 1.53e+02 0.91 2.95 + 144 2 92 43 0.00e+00 0.00e+00 -2.95e+01 3.06e+01 8.01 -999 + 145 2 323 144 1.88e+00 1.83e+00 -5.00e+00 5.73e+00 0.999 -1.4 + 146 1 -321 144 3.71e-02 1.70e-01 -1.64e+00 1.72e+00 0.494 -2.93 + 147 2 323 144 -4.79e-01 -6.41e-01 -5.40e+00 5.54e+00 0.903 -2.61 + 148 1 -321 144 -1.44e+00 -1.36e+00 -1.75e+01 1.76e+01 0.494 -2.88 + 149 2 92 45 0.00e+00 0.00e+00 2.13e+01 2.88e+01 19.4 999 + 150 1 -211 149 1.12e+00 9.73e-01 1.01e+01 1.02e+01 0.14 2.61 + 151 2 213 149 -2.08e-01 4.25e-01 6.37e+00 6.44e+00 0.789 3.3 + 152 2 311 149 3.66e-01 2.76e-02 1.15e+00 1.31e+00 0.498 1.86 + 153 2 -313 149 6.64e-02 5.14e-01 4.79e+00 4.91e+00 0.979 2.92 + 154 2 111 149 1.43e-01 2.70e-01 1.02e-01 3.49e-01 0.135 0.326 + 155 2 -213 149 2.42e-01 -2.64e-01 1.35e+00 1.66e+00 0.897 2.04 + 156 2 223 149 -1.11e+00 -8.18e-01 -1.31e+00 2.06e+00 0.788 -0.845 + 157 2 213 149 -6.15e-01 -1.13e+00 -1.17e+00 1.93e+00 0.829 -0.818 + 158 2 92 47 0.00e+00 0.00e+00 2.98e+02 2.99e+02 24.8 999 + 159 1 2112 158 1.80e-01 2.32e-01 5.57e+00 5.65e+00 0.94 3.64 + 160 1 -2212 158 -1.51e-01 6.01e-01 3.25e+00 3.44e+00 0.938 2.36 + 161 2 213 158 -1.32e-01 5.13e-01 2.85e+00 3.00e+00 0.77 2.39 + 162 1 2112 158 -2.96e-02 8.17e-01 3.90e+00 4.10e+00 0.94 2.27 + 163 2 111 158 -1.67e-02 7.68e-01 2.22e+00 2.36e+00 0.135 1.78 + 164 1 -2112 158 1.50e-01 2.66e-01 4.07e+00 4.18e+00 0.94 3.28 + 165 2 -213 158 1.61e-01 -1.25e-01 4.74e+00 4.81e+00 0.818 3.84 + 166 2 3222 158 -3.88e-01 -4.92e-01 5.03e+01 5.03e+01 1.19 5.08 + 167 2 -3322 158 -1.23e-01 -2.51e+00 1.84e+02 1.84e+02 1.31 4.99 + 168 2 -313 158 2.74e-01 1.36e-01 1.72e+01 1.73e+01 0.966 4.72 + 169 2 223 158 7.53e-02 -2.08e-01 2.05e+01 2.05e+01 0.778 5.22 + 170 2 92 49 0.00e+00 0.00e+00 2.67e+01 2.87e+01 10.4 999 + 171 2 113 170 2.22e-01 3.15e-01 1.48e+00 1.69e+00 0.714 2.05 + 172 2 111 170 3.46e-01 -1.03e-01 9.35e-01 1.01e+00 0.135 1.68 + 173 2 -3222 170 -8.26e-02 1.70e-01 3.95e+00 4.13e+00 1.19 3.73 + 174 2 3222 170 -6.93e-01 6.61e-01 1.15e+01 1.16e+01 1.19 3.18 + 175 1 -211 170 -1.76e-01 -5.67e-01 2.18e+00 2.27e+00 0.14 2.01 + 176 1 -2112 170 -1.90e-01 1.94e-02 1.69e+00 1.94e+00 0.94 2.87 + 177 2 223 170 2.45e-01 -2.84e-01 2.32e+00 2.48e+00 0.778 2.52 + 178 2 3212 170 8.65e-01 -4.41e-01 1.96e+00 2.49e+00 1.19 1.45 + 179 1 321 170 -5.38e-01 2.28e-01 6.75e-01 1.02e+00 0.494 0.987 + 180 1 -211 52 -1.50e-01 -5.70e-01 4.09e+00 4.13e+00 0.14 2.64 + 181 2 111 52 4.56e-01 -1.96e+00 8.02e+00 8.27e+00 0.135 2.09 + 182 1 211 53 1.85e-02 -7.65e-01 1.70e+00 1.87e+00 0.14 1.54 + 183 2 111 53 -1.73e-01 -9.86e-01 3.86e+00 3.99e+00 0.135 2.06 + 184 1 -211 54 -2.52e-02 -7.75e-01 3.08e+00 3.17e+00 0.14 2.09 + 185 1 211 54 -3.77e-01 -6.01e-01 2.23e+00 2.35e+00 0.14 1.86 + 186 2 111 54 -1.09e-01 -4.08e-02 6.65e-01 6.88e-01 0.135 2.44 + 187 1 -211 55 1.10e-01 -1.29e-01 6.07e-01 6.45e-01 0.14 1.99 + 188 1 211 55 8.55e-02 -1.04e+00 3.12e+00 3.30e+00 0.14 1.81 + 189 2 111 55 2.01e-02 -7.01e-01 3.37e+00 3.44e+00 0.135 2.27 + 190 1 211 56 6.05e-02 -7.58e-01 1.01e+00 1.27e+00 0.14 1.09 + 191 1 -211 56 -1.08e-01 -2.57e-01 1.43e+00 1.46e+00 0.14 2.34 + 192 1 211 59 3.26e-01 1.25e-01 -9.11e-01 9.85e-01 0.14 -1.69 + 193 1 -211 59 -1.87e-01 -4.56e-01 -8.22e-01 9.69e-01 0.14 -1.28 + 194 1 22 61 2.36e-01 -1.26e-01 -1.96e+00 1.98e+00 0 -2.69 + 195 1 22 61 1.77e-01 -1.75e-01 -1.18e+00 1.20e+00 0 -2.26 + 196 1 -211 63 -7.04e-01 -3.19e-02 -1.88e+01 1.88e+01 0.14 -3.98 + 197 1 211 63 -1.75e-01 -3.83e-01 -4.96e+00 4.98e+00 0.14 -3.16 + 198 1 2212 66 -5.17e-01 4.28e-01 -1.09e+03 1.09e+03 0.938 -8.08 + 199 2 111 66 1.89e-02 2.04e-01 -1.76e+02 1.76e+02 0.135 -7.45 + 200 1 22 67 1.67e-01 5.71e-02 -4.18e+02 4.18e+02 0 -8.46 + 201 1 22 67 9.92e-02 -8.29e-03 -5.81e+02 5.81e+02 0 -9.37 + 202 2 311 69 -2.59e-01 -6.05e-01 -4.05e+02 4.05e+02 0.498 -7.12 + 203 1 211 69 2.86e-01 -1.79e-01 -2.27e+02 2.27e+02 0.14 -7.21 + 204 1 130 70 -5.13e-01 -3.57e-01 -6.68e+02 6.68e+02 0.498 -7.67 + 205 1 211 72 5.01e-01 -1.79e-01 -1.94e+02 1.94e+02 0.14 -6.59 + 206 2 111 72 -2.27e-01 -2.81e-01 -1.91e+02 1.91e+02 0.135 -6.97 + 207 1 211 73 -1.30e-01 -6.31e-02 -6.41e+00 6.41e+00 0.14 -4.49 + 208 1 -211 73 -6.55e-02 -1.07e-01 -3.23e+01 3.23e+01 0.14 -6.25 + 209 2 111 73 -3.84e-01 1.50e-01 -4.54e+01 4.54e+01 0.135 -5.39 + 210 1 -211 74 2.54e-01 -7.43e-02 -3.11e+00 3.13e+00 0.14 -3.16 + 211 2 111 74 -3.27e-01 4.40e-01 -1.37e+01 1.37e+01 0.135 -3.91 + 212 2 111 77 -7.89e-02 -1.74e-01 -1.57e+00 1.59e+00 0.135 -2.8 + 213 2 111 77 -7.84e-03 -2.59e-02 -1.34e+00 1.35e+00 0.135 -4.6 + 214 2 221 77 6.49e-02 -4.41e-02 -2.06e+00 2.13e+00 0.547 -3.96 + 215 1 211 80 -1.80e-02 -1.01e+00 -5.40e+00 5.50e+00 0.14 -2.38 + 216 2 111 80 8.75e-03 7.60e-02 -3.82e-01 4.12e-01 0.135 -2.31 + 217 1 22 81 3.67e-02 3.21e-02 -5.12e-02 7.07e-02 0 -0.916 + 218 1 22 81 3.22e-02 -1.06e-01 -2.74e-01 2.95e-01 0 -1.63 + 219 2 310 82 8.09e-01 -2.24e-01 -2.21e+00 2.41e+00 0.498 -1.69 + 220 1 130 83 2.08e-01 -2.99e-01 -7.98e+00 8.01e+00 0.498 -3.78 + 221 1 -211 84 2.03e-02 -6.88e-02 -1.28e-01 2.02e-01 0.14 -1.34 + 222 1 211 84 -6.82e-02 -8.95e-02 -3.59e-01 4.01e-01 0.14 -1.88 + 223 2 111 84 9.64e-02 -1.36e-01 -7.69e-01 7.99e-01 0.135 -2.23 + 224 2 111 85 2.62e-01 3.88e-02 -1.03e+00 1.07e+00 0.135 -2.07 + 225 2 111 85 -1.71e-02 2.34e-02 -2.95e-01 3.26e-01 0.135 -3.01 + 226 2 111 85 -1.29e-03 -3.44e-02 -7.25e-01 7.38e-01 0.135 -3.74 + 227 1 -211 86 4.10e-02 4.13e-01 -4.93e-01 6.59e-01 0.14 -1.01 + 228 1 211 86 -1.83e-01 -2.12e-01 -4.40e-01 5.40e-01 0.14 -1.23 + 229 1 -211 87 1.43e-01 -6.94e-01 -2.09e+00 2.21e+00 0.14 -1.8 + 230 2 111 87 4.87e-01 1.60e-01 -9.33e-01 1.07e+00 0.135 -1.36 + 231 1 211 88 -5.96e-01 3.42e-03 -1.07e+00 1.23e+00 0.14 -1.35 + 232 2 111 88 1.51e-01 2.33e-02 -1.09e-01 2.31e-01 0.135 -0.661 + 233 1 -211 92 -1.93e-01 1.68e-01 1.43e+00 1.46e+00 0.14 2.43 + 234 2 111 92 -1.07e-01 4.08e-01 5.46e-01 7.04e-01 0.135 1.07 + 235 2 311 93 6.39e-01 1.21e+00 3.62e+00 3.90e+00 0.498 1.7 + 236 1 211 93 -1.03e-01 3.31e-01 5.14e-01 6.36e-01 0.14 1.18 + 237 1 -321 94 6.01e-01 1.38e+00 3.70e+00 4.02e+00 0.494 1.63 + 238 2 111 94 1.08e+00 2.89e+00 7.72e+00 8.32e+00 0.135 1.65 + 239 2 111 95 2.88e-03 5.75e-01 2.01e+00 2.10e+00 0.135 1.97 + 240 2 111 95 -3.18e-02 5.55e-01 1.40e+00 1.52e+00 0.135 1.66 + 241 2 111 95 1.94e-01 6.00e-01 1.96e+00 2.06e+00 0.135 1.85 + 242 1 22 96 2.70e-01 2.90e-01 4.61e-01 6.08e-01 0 0.993 + 243 1 22 96 7.05e-02 1.36e-01 3.14e-01 3.49e-01 0 1.46 + 244 1 22 97 8.65e-02 2.88e-01 1.20e+00 1.23e+00 0 2.09 + 245 1 22 97 9.99e-02 1.17e+00 4.23e+00 4.39e+00 0 1.99 + 246 1 -211 98 4.95e-01 7.95e-01 2.61e+00 2.78e+00 0.14 1.75 + 247 1 211 98 2.92e-01 2.77e-01 1.57e+00 1.63e+00 0.14 2.07 + 248 2 111 98 2.19e-01 2.79e-01 2.57e+00 2.60e+00 0.135 2.68 + 249 1 22 102 7.94e-02 -1.34e-01 -1.44e-02 1.57e-01 0 -0.0923 + 250 1 22 102 9.50e-02 -4.26e-01 1.40e-01 4.59e-01 0 0.316 + 251 1 -211 103 -2.58e-02 -4.04e-01 -1.25e-01 4.46e-01 0.14 -0.303 + 252 1 211 103 -2.93e-01 3.20e-01 2.64e-01 5.26e-01 0.14 0.576 + 253 1 22 104 1.75e-02 -1.39e-02 -1.15e-02 2.51e-02 0 -0.492 + 254 1 22 104 -1.37e-01 -2.49e-01 1.67e-01 3.30e-01 0 0.556 + 255 1 2112 106 -1.91e-01 3.04e-01 -1.52e+01 1.52e+01 0.94 -4.44 + 256 1 -211 106 -2.49e-01 -5.73e-02 -8.05e+00 8.06e+00 0.14 -4.14 + 257 1 2112 109 8.30e-02 1.07e-01 -9.48e+00 9.53e+00 0.94 -4.94 + 258 1 211 109 3.72e-02 2.67e-01 -1.48e+00 1.52e+00 0.14 -2.41 + 259 1 -2212 111 2.00e-01 5.22e-01 -2.94e+01 2.94e+01 0.938 -4.66 + 260 1 -211 111 -3.40e-03 -2.45e-03 -9.81e-01 9.90e-01 0.14 -6.15 + 261 2 311 112 -3.80e-01 1.65e-01 -6.15e+00 6.18e+00 0.498 -3.39 + 262 1 211 112 -3.24e-01 -3.55e-01 -7.59e+00 7.61e+00 0.14 -3.45 + 263 1 -321 113 2.66e-01 1.78e-01 -2.22e+00 2.30e+00 0.494 -2.63 + 264 1 321 113 5.63e-01 4.65e-01 -3.18e+00 3.30e+00 0.494 -2.18 + 265 2 -311 114 -3.95e-01 2.53e-01 -7.73e-01 1.03e+00 0.498 -1.27 + 266 1 -211 114 -4.97e-02 -2.67e-01 -2.92e-01 4.23e-01 0.14 -0.934 + 267 1 211 115 4.64e-02 -3.19e-01 -2.65e-01 4.40e-01 0.14 -0.748 + 268 2 111 115 4.23e-01 9.80e-02 5.43e-01 7.08e-01 0.135 1.05 + 269 1 -211 116 1.64e-01 -2.88e-01 -3.96e-01 5.35e-01 0.14 -1.01 + 270 1 211 116 -1.43e-02 -1.70e-02 -5.15e-03 1.41e-01 0.14 -0.23 + 271 2 111 116 1.36e-01 2.35e-01 -3.31e-01 4.49e-01 0.135 -1.03 + 272 1 -211 117 -3.77e-01 4.68e-01 2.65e-01 6.71e-01 0.14 0.427 + 273 2 111 117 1.62e-01 -4.04e-02 -2.65e-01 3.41e-01 0.135 -1.24 + 274 1 -211 118 4.59e-01 -5.15e-01 9.62e+00 9.64e+00 0.14 3.33 + 275 1 211 118 -2.85e-01 9.91e-02 2.39e+00 2.41e+00 0.14 2.77 + 276 2 111 119 -2.95e-03 9.29e-03 1.77e+00 1.77e+00 0.135 5.9 + 277 2 111 119 -1.44e-01 2.44e-01 2.93e+00 2.94e+00 0.135 3.03 + 278 2 111 119 -4.92e-02 3.56e-02 6.13e-01 6.30e-01 0.135 3.01 + 279 1 22 120 1.24e-02 1.40e-02 4.18e+00 4.18e+00 0 6.1 + 280 1 22 120 -2.03e-01 5.29e-01 5.81e+01 5.81e+01 0 5.32 + 281 1 321 121 2.16e-01 -6.73e-01 2.15e+01 2.15e+01 0.494 4.11 + 282 2 111 121 -8.57e-02 5.63e-02 7.74e+00 7.74e+00 0.135 5.02 + 283 2 310 122 -4.99e-02 1.28e-02 4.53e+00 4.56e+00 0.498 5.17 + 284 1 321 125 -2.79e-01 -2.94e-01 2.26e+02 2.26e+02 0.494 7.01 + 285 1 -211 125 -3.14e-01 -4.43e-02 3.73e+02 3.73e+02 0.14 7.76 + 286 2 3122 126 7.43e-02 -2.45e-01 2.10e+03 2.10e+03 1.12 9.7 + 287 1 211 126 -3.90e-02 2.11e-01 4.22e+02 4.22e+02 0.14 8.28 + 288 1 -211 127 -2.01e-01 6.34e-02 5.36e+02 5.36e+02 0.14 8.54 + 289 2 111 127 3.17e-01 -3.10e-01 5.75e+02 5.75e+02 0.135 7.86 + 290 1 -211 129 -3.53e-01 5.22e-02 -8.05e+02 8.05e+02 0.14 -8.41 + 291 1 211 129 -4.32e-01 8.13e-01 -8.70e+02 8.70e+02 0.14 -7.54 + 292 2 421 132 -1.77e+01 -1.31e+01 2.72e+02 2.73e+02 1.86 3.21 + 293 2 111 132 -1.48e+00 -1.06e+00 2.29e+01 2.30e+01 0.135 3.23 + 294 1 -211 134 -1.16e+00 -1.04e+00 2.10e+01 2.11e+01 0.14 3.3 + 295 1 211 134 -4.00e+00 -2.65e+00 5.22e+01 5.24e+01 0.14 3.08 + 296 1 22 135 -8.58e-02 3.54e-02 1.24e+00 1.24e+00 0 3.29 + 297 1 22 135 -2.39e-02 -7.25e-02 1.94e+00 1.94e+00 0 3.93 + 298 1 -211 136 -3.71e-01 -1.58e-01 3.39e+00 3.41e+00 0.14 2.82 + 299 2 111 136 -1.49e+00 -2.46e+00 2.77e+01 2.78e+01 0.135 2.96 + 300 1 211 137 -1.31e+00 -6.67e-01 1.47e+01 1.48e+01 0.14 3 + 301 1 -211 137 -6.60e-01 -8.38e-02 3.86e+00 3.92e+00 0.14 2.46 + 302 2 111 138 -1.01e-01 1.73e-02 1.10e+00 1.11e+00 0.135 3.07 + 303 2 111 138 2.67e-02 -6.47e-02 2.10e-01 2.60e-01 0.135 1.82 + 304 2 221 138 -1.10e-01 9.39e-03 2.39e+00 2.45e+00 0.547 3.77 + 305 2 311 139 2.17e-01 2.55e+00 2.99e+01 3.00e+01 0.498 3.15 + 306 1 211 139 3.30e-01 6.69e-01 6.48e+00 6.53e+00 0.14 2.86 + 307 2 -311 140 7.41e-01 1.81e+00 1.52e+01 1.54e+01 0.498 2.75 + 308 1 -211 140 5.90e-01 1.93e+00 1.89e+01 1.90e+01 0.14 2.93 + 309 1 -211 141 5.65e-01 2.34e+00 1.98e+01 1.99e+01 0.14 2.8 + 310 1 211 141 -1.17e-01 6.64e-01 9.59e+00 9.61e+00 0.14 3.35 + 311 1 211 142 1.37e+00 3.53e+00 3.29e+01 3.31e+01 0.14 2.86 + 312 2 111 142 3.41e+00 7.36e+00 8.10e+01 8.14e+01 0.135 3 + 313 1 321 143 5.14e+00 1.08e+01 1.12e+02 1.13e+02 0.494 2.93 + 314 1 -211 143 1.48e+00 3.62e+00 3.97e+01 3.99e+01 0.14 3.01 + 315 2 311 145 8.38e-01 1.11e+00 -2.10e+00 2.57e+00 0.498 -1.2 + 316 1 211 145 1.04e+00 7.26e-01 -2.90e+00 3.17e+00 0.14 -1.57 + 317 2 311 147 1.61e-02 -3.97e-01 -2.76e+00 2.83e+00 0.498 -2.64 + 318 1 211 147 -4.95e-01 -2.44e-01 -2.65e+00 2.71e+00 0.14 -2.27 + 319 1 211 151 5.54e-02 5.30e-01 5.02e+00 5.05e+00 0.14 2.94 + 320 2 111 151 -2.63e-01 -1.05e-01 1.35e+00 1.39e+00 0.135 2.27 + 321 1 130 152 3.66e-01 2.76e-02 1.15e+00 1.31e+00 0.498 1.86 + 322 1 -321 153 -1.84e-01 1.03e-01 3.32e+00 3.36e+00 0.494 3.45 + 323 1 211 153 2.51e-01 4.11e-01 1.47e+00 1.55e+00 0.14 1.83 + 324 1 22 154 1.46e-03 5.34e-02 -2.74e-02 6.01e-02 0 -0.493 + 325 1 22 154 1.41e-01 2.17e-01 1.29e-01 2.89e-01 0 0.48 + 326 1 -211 155 -1.72e-01 -4.43e-01 6.65e-01 8.29e-01 0.14 1.14 + 327 2 111 155 4.14e-01 1.79e-01 6.85e-01 8.31e-01 0.135 1.21 + 328 1 -211 156 -3.96e-01 -2.16e-01 -2.09e-01 5.16e-01 0.14 -0.449 + 329 1 211 156 -7.26e-01 -5.65e-01 -8.69e-01 1.27e+00 0.14 -0.841 + 330 2 111 156 7.52e-03 -3.73e-02 -2.35e-01 2.74e-01 0.135 -2.52 + 331 1 211 157 -2.12e-01 -9.44e-01 -1.08e+00 1.45e+00 0.14 -0.958 + 332 2 111 157 -4.02e-01 -1.83e-01 -9.61e-02 4.72e-01 0.135 -0.216 + 333 1 211 161 2.01e-01 -5.33e-02 5.70e-01 6.23e-01 0.14 1.73 + 334 2 111 161 -3.33e-01 5.66e-01 2.28e+00 2.38e+00 0.135 1.96 + 335 1 22 163 -9.26e-03 7.65e-01 2.14e+00 2.28e+00 0 1.75 + 336 1 22 163 -7.49e-03 2.86e-03 7.89e-02 7.93e-02 0 2.98 + 337 1 -211 165 9.34e-02 -2.62e-01 6.64e-01 7.33e-01 0.14 1.6 + 338 2 111 165 6.73e-02 1.37e-01 4.07e+00 4.08e+00 0.135 3.98 + 339 1 2112 166 -3.31e-01 -5.74e-01 3.99e+01 4.00e+01 0.94 4.79 + 340 1 211 166 -5.68e-02 8.20e-02 1.03e+01 1.03e+01 0.14 5.33 + 341 2 -3122 167 -6.20e-02 -1.86e+00 1.41e+02 1.41e+02 1.12 5.02 + 342 2 111 167 -6.11e-02 -6.47e-01 4.31e+01 4.31e+01 0.135 4.89 + 343 2 -311 168 2.30e-01 2.86e-01 1.60e+01 1.61e+01 0.498 4.47 + 344 2 111 168 4.33e-02 -1.50e-01 1.19e+00 1.20e+00 0.135 2.72 + 345 1 211 169 -9.50e-03 1.05e-01 5.45e+00 5.46e+00 0.14 4.64 + 346 1 -211 169 1.60e-01 -1.99e-01 1.32e+01 1.32e+01 0.14 4.64 + 347 2 111 169 -7.47e-02 -1.13e-01 1.84e+00 1.85e+00 0.135 3.3 + 348 1 211 171 9.42e-02 -2.00e-01 4.46e-01 5.17e-01 0.14 1.45 + 349 1 -211 171 1.28e-01 5.15e-01 1.03e+00 1.17e+00 0.14 1.42 + 350 1 22 172 2.06e-01 -1.08e-01 4.51e-01 5.08e-01 0 1.42 + 351 1 22 172 1.40e-01 5.42e-03 4.84e-01 5.04e-01 0 1.95 + 352 1 -2212 173 -2.04e-01 3.21e-02 2.90e+00 3.06e+00 0.938 3.34 + 353 2 111 173 1.22e-01 1.38e-01 1.05e+00 1.07e+00 0.135 2.44 + 354 1 2212 174 -4.06e-01 6.30e-01 8.63e+00 8.71e+00 0.938 3.14 + 355 2 111 174 -2.88e-01 3.14e-02 2.92e+00 2.94e+00 0.135 3.01 + 356 1 22 177 8.29e-02 2.59e-01 5.84e-01 6.45e-01 0 1.51 + 357 2 111 177 1.63e-01 -5.43e-01 1.74e+00 1.83e+00 0.135 1.84 + 358 2 3122 178 8.23e-01 -4.90e-01 1.90e+00 2.40e+00 1.12 1.44 + 359 1 22 178 4.24e-02 4.90e-02 5.51e-02 8.51e-02 0 0.772 + 360 1 22 181 3.90e-01 -1.77e+00 7.36e+00 7.58e+00 0 2.11 + 361 1 22 181 6.58e-02 -1.86e-01 6.57e-01 6.85e-01 0 1.92 + 362 1 22 183 -2.80e-02 -2.90e-02 1.13e-01 1.20e-01 0 1.75 + 363 1 22 183 -1.45e-01 -9.57e-01 3.75e+00 3.87e+00 0 2.06 + 364 1 22 186 -9.27e-02 3.58e-02 4.02e-01 4.14e-01 0 2.11 + 365 1 22 186 -1.67e-02 -7.66e-02 2.63e-01 2.74e-01 0 1.92 + 366 1 22 189 -5.29e-03 -1.85e-01 1.20e+00 1.21e+00 0 2.57 + 367 1 22 189 2.54e-02 -5.16e-01 2.17e+00 2.23e+00 0 2.14 + 368 1 22 199 1.28e-02 1.69e-01 -8.72e+01 8.72e+01 0 -6.94 + 369 1 22 199 6.11e-03 3.55e-02 -8.86e+01 8.86e+01 0 -8.5 + 370 1 130 202 -2.59e-01 -6.05e-01 -4.05e+02 4.05e+02 0.498 -7.12 + 371 1 22 206 -1.36e-02 -2.42e-02 -4.47e+01 4.47e+01 0 -8.08 + 372 1 22 206 -2.13e-01 -2.57e-01 -1.47e+02 1.47e+02 0 -6.78 + 373 1 22 209 -2.06e-01 9.15e-02 -3.15e+01 3.15e+01 0 -5.63 + 374 1 22 209 -1.78e-01 5.88e-02 -1.38e+01 1.38e+01 0 -4.99 + 375 1 22 211 -1.45e-01 1.81e-01 -4.25e+00 4.26e+00 0 -3.6 + 376 1 22 211 -1.81e-01 2.59e-01 -9.44e+00 9.45e+00 0 -4.09 + 377 1 22 212 -5.14e-02 -1.91e-01 -1.42e+00 1.44e+00 0 -2.67 + 378 1 22 212 -2.75e-02 1.76e-02 -1.48e-01 1.51e-01 0 -2.21 + 379 1 22 213 -3.06e-02 4.71e-02 -7.52e-01 7.54e-01 0 -3.29 + 380 1 22 213 2.28e-02 -7.30e-02 -5.86e-01 5.91e-01 0 -2.73 + 381 2 111 214 2.98e-02 1.08e-01 -6.68e-01 6.91e-01 0.135 -2.48 + 382 2 111 214 9.41e-02 -1.58e-01 -9.16e-01 9.44e-01 0.135 -2.31 + 383 2 111 214 -5.90e-02 5.19e-03 -4.72e-01 4.94e-01 0.135 -2.77 + 384 1 22 216 5.59e-02 8.13e-02 -3.16e-01 3.31e-01 0 -1.88 + 385 1 22 216 -4.72e-02 -5.30e-03 -6.61e-02 8.14e-02 0 -1.13 + 386 1 211 219 3.92e-01 -2.15e-01 -1.57e+00 1.64e+00 0.14 -1.97 + 387 1 -211 219 4.18e-01 -8.73e-03 -6.34e-01 7.72e-01 0.14 -1.2 + 388 1 22 223 -2.66e-02 -6.58e-02 -3.08e-01 3.16e-01 0 -2.17 + 389 1 22 223 1.23e-01 -7.00e-02 -4.61e-01 4.83e-01 0 -1.9 + 390 1 22 224 1.99e-01 7.61e-02 -6.21e-01 6.57e-01 0 -1.79 + 391 1 22 224 6.23e-02 -3.73e-02 -4.06e-01 4.12e-01 0 -2.42 + 392 1 22 225 -2.39e-03 -3.01e-02 -5.23e-03 3.07e-02 0 -0.172 + 393 1 22 225 -1.47e-02 5.36e-02 -2.90e-01 2.95e-01 0 -2.35 + 394 1 22 226 3.00e-02 -5.26e-02 -6.68e-01 6.71e-01 0 -3.1 + 395 1 22 226 -3.13e-02 1.82e-02 -5.70e-02 6.75e-02 0 -1.24 + 396 1 22 230 4.75e-01 1.25e-01 -8.87e-01 1.01e+00 0 -1.35 + 397 1 22 230 1.14e-02 3.51e-02 -4.66e-02 5.94e-02 0 -1.06 + 398 1 22 232 3.13e-02 -1.59e-02 2.82e-02 4.50e-02 0 0.735 + 399 1 22 232 1.20e-01 3.93e-02 -1.37e-01 1.86e-01 0 -0.939 + 400 1 22 234 9.81e-03 2.84e-02 2.87e-03 3.02e-02 0 0.0956 + 401 1 22 234 -1.17e-01 3.80e-01 5.43e-01 6.73e-01 0 1.12 + 402 2 310 235 6.39e-01 1.21e+00 3.62e+00 3.90e+00 0.498 1.7 + 403 1 22 238 2.42e-02 6.60e-02 2.38e-01 2.48e-01 0 1.93 + 404 1 22 238 1.05e+00 2.82e+00 7.49e+00 8.07e+00 0 1.64 + 405 1 22 239 -1.87e-02 1.83e-02 1.85e-01 1.87e-01 0 2.65 + 406 1 22 239 2.16e-02 5.57e-01 1.83e+00 1.91e+00 0 1.9 + 407 1 22 240 -4.47e-02 1.97e-01 6.62e-01 6.92e-01 0 1.9 + 408 1 22 240 1.30e-02 3.58e-01 7.43e-01 8.25e-01 0 1.48 + 409 1 22 241 9.54e-02 1.42e-01 4.15e-01 4.49e-01 0 1.62 + 410 1 22 241 9.87e-02 4.58e-01 1.55e+00 1.62e+00 0 1.91 + 411 1 22 248 2.25e-01 2.05e-01 1.98e+00 2.00e+00 0 2.57 + 412 1 22 248 -5.40e-03 7.43e-02 5.95e-01 5.99e-01 0 2.78 + 413 1 130 261 -3.80e-01 1.65e-01 -6.15e+00 6.18e+00 0.498 -3.39 + 414 1 130 265 -3.95e-01 2.53e-01 -7.73e-01 1.03e+00 0.498 -1.27 + 415 1 22 268 1.36e-01 -3.08e-02 1.85e-01 2.32e-01 0 1.09 + 416 1 22 268 2.87e-01 1.29e-01 3.58e-01 4.77e-01 0 0.976 + 417 1 22 271 1.52e-01 1.48e-01 -2.04e-01 2.94e-01 0 -0.855 + 418 1 22 271 -1.57e-02 8.67e-02 -1.27e-01 1.55e-01 0 -1.16 + 419 1 22 273 1.77e-01 -5.07e-02 -2.67e-01 3.24e-01 0 -1.17 + 420 1 22 273 -1.42e-02 1.03e-02 1.40e-03 1.76e-02 0 0.0795 + 421 1 22 276 4.67e-02 -3.22e-02 1.23e+00 1.23e+00 0 3.77 + 422 1 22 276 -4.96e-02 4.15e-02 5.39e-01 5.43e-01 0 2.82 + 423 1 22 277 -1.62e-02 1.60e-01 1.55e+00 1.55e+00 0 2.96 + 424 1 22 277 -1.27e-01 8.37e-02 1.38e+00 1.39e+00 0 2.9 + 425 1 22 278 -4.49e-04 2.53e-03 5.23e-01 5.23e-01 0 6.01 + 426 1 22 278 -4.87e-02 3.31e-02 8.96e-02 1.07e-01 0 1.21 + 427 1 22 282 -2.64e-02 8.40e-02 5.96e+00 5.96e+00 0 4.91 + 428 1 22 282 -5.93e-02 -2.77e-02 1.78e+00 1.78e+00 0 3.99 + 429 1 211 283 -1.75e-01 1.48e-01 2.29e+00 2.31e+00 0.14 3 + 430 1 -211 283 1.25e-01 -1.36e-01 2.24e+00 2.25e+00 0.14 3.19 + 431 1 2212 286 8.18e-02 -1.17e-01 1.82e+03 1.82e+03 0.938 10.1 + 432 1 -211 286 -7.56e-03 -1.28e-01 2.76e+02 2.76e+02 0.14 8.37 + 433 1 22 289 5.31e-02 -3.23e-03 4.31e+01 4.31e+01 0 7.39 + 434 1 22 289 2.64e-01 -3.07e-01 5.32e+02 5.32e+02 0 7.88 + 435 1 -11 292 -3.44e+00 -2.17e+00 5.19e+01 5.21e+01 0.00051 3.24 + 436 1 12 292 -4.22e+00 -2.94e+00 5.82e+01 5.84e+01 0 3.12 + 437 2 -323 292 -9.99e+00 -7.96e+00 1.62e+02 1.62e+02 0.891 3.23 + 438 1 22 293 -3.86e-01 -3.21e-01 6.95e+00 6.97e+00 0 3.32 + 439 1 22 293 -1.09e+00 -7.37e-01 1.60e+01 1.60e+01 0 3.19 + 440 1 22 299 -1.04e+00 -1.80e+00 1.96e+01 1.97e+01 0 2.94 + 441 1 22 299 -4.43e-01 -6.61e-01 8.13e+00 8.17e+00 0 3.02 + 442 1 22 302 -8.08e-02 -3.22e-02 3.34e-01 3.45e-01 0 2.06 + 443 1 22 302 -2.05e-02 4.95e-02 7.66e-01 7.68e-01 0 3.35 + 444 1 22 303 4.44e-02 -8.11e-02 6.71e-02 1.14e-01 0 0.673 + 445 1 22 303 -1.76e-02 1.65e-02 1.43e-01 1.45e-01 0 2.48 + 446 1 -211 304 -1.21e-02 -3.04e-03 2.19e-01 2.60e-01 0.14 3.56 + 447 1 211 304 -3.90e-02 6.79e-02 9.78e-01 9.91e-01 0.14 3.22 + 448 2 111 304 -5.91e-02 -5.54e-02 1.19e+00 1.20e+00 0.135 3.38 + 449 1 130 305 2.17e-01 2.55e+00 2.99e+01 3.00e+01 0.498 3.15 + 450 1 130 307 7.41e-01 1.81e+00 1.52e+01 1.54e+01 0.498 2.75 + 451 1 22 312 1.03e+00 2.37e+00 2.55e+01 2.57e+01 0 2.99 + 452 1 22 312 2.38e+00 5.00e+00 5.55e+01 5.58e+01 0 3 + 453 2 310 315 8.38e-01 1.11e+00 -2.10e+00 2.57e+00 0.498 -1.2 + 454 1 130 317 1.61e-02 -3.97e-01 -2.76e+00 2.83e+00 0.498 -2.64 + 455 1 22 320 -2.33e-01 -1.25e-01 1.01e+00 1.04e+00 0 2.05 + 456 1 22 320 -3.05e-02 2.01e-02 3.44e-01 3.46e-01 0 2.94 + 457 1 22 327 2.43e-01 9.07e-02 2.74e-01 3.77e-01 0 0.92 + 458 1 22 327 1.71e-01 8.79e-02 4.11e-01 4.54e-01 0 1.5 + 459 1 22 330 -3.59e-03 -8.66e-02 -1.20e-01 1.48e-01 0 -1.13 + 460 1 22 330 1.11e-02 4.93e-02 -1.15e-01 1.26e-01 0 -1.56 + 461 1 22 332 -4.10e-01 -1.77e-01 -1.05e-01 4.59e-01 0 -0.234 + 462 1 22 332 7.55e-03 -6.02e-03 9.18e-03 1.33e-02 0 0.846 + 463 1 22 334 -1.00e-01 2.53e-01 1.12e+00 1.16e+00 0 2.13 + 464 1 22 334 -2.33e-01 3.13e-01 1.16e+00 1.22e+00 0 1.81 + 465 1 22 338 8.32e-03 1.31e-01 2.02e+00 2.03e+00 0 3.43 + 466 1 22 338 5.90e-02 6.38e-03 2.05e+00 2.05e+00 0 4.24 + 467 1 -2112 341 1.70e-02 -1.42e+00 1.10e+02 1.10e+02 0.94 5.05 + 468 2 111 341 -7.90e-02 -4.41e-01 3.03e+01 3.03e+01 0.135 4.91 + 469 1 22 342 -6.00e-02 -9.93e-02 7.73e+00 7.73e+00 0 4.89 + 470 1 22 342 -1.17e-03 -5.48e-01 3.54e+01 3.54e+01 0 4.86 + 471 2 310 343 2.30e-01 2.86e-01 1.60e+01 1.61e+01 0.498 4.47 + 472 1 22 344 -2.86e-03 -9.57e-02 1.00e+00 1.00e+00 0 3.04 + 473 1 22 344 4.62e-02 -5.44e-02 1.85e-01 1.98e-01 0 1.68 + 474 1 22 347 -5.61e-02 -1.80e-02 1.29e+00 1.30e+00 0 3.78 + 475 1 22 347 -1.86e-02 -9.53e-02 5.44e-01 5.53e-01 0 2.42 + 476 1 22 353 8.54e-02 9.38e-04 4.48e-01 4.56e-01 0 2.36 + 477 1 22 353 3.65e-02 1.37e-01 6.01e-01 6.18e-01 0 2.15 + 478 1 22 355 -2.58e-01 2.34e-02 2.84e+00 2.85e+00 0 3.09 + 479 1 22 355 -2.91e-02 7.98e-03 7.91e-02 8.47e-02 0 1.69 + 480 1 22 357 8.00e-02 -3.01e-01 7.39e-01 8.02e-01 0 1.6 + 481 1 22 357 8.26e-02 -2.43e-01 9.99e-01 1.03e+00 0 2.07 + 482 1 2112 358 6.42e-01 -4.95e-01 1.67e+00 2.08e+00 0.94 1.47 + 483 2 111 358 1.81e-01 5.21e-03 2.34e-01 3.25e-01 0.135 1.08 + 484 1 22 381 3.31e-02 9.53e-02 -6.70e-01 6.78e-01 0 -2.59 + 485 1 22 381 -3.26e-03 1.30e-02 1.60e-03 1.35e-02 0 0.119 + 486 1 22 382 6.16e-02 -1.66e-01 -5.87e-01 6.13e-01 0 -1.91 + 487 1 22 382 3.25e-02 8.71e-03 -3.29e-01 3.31e-01 0 -2.98 + 488 1 22 383 2.96e-02 1.86e-02 -3.92e-02 5.25e-02 0 -0.965 + 489 1 22 383 -8.86e-02 -1.34e-02 -4.33e-01 4.42e-01 0 -2.28 + 490 1 -211 402 3.44e-01 9.01e-01 2.06e+00 2.28e+00 0.14 1.5 + 491 1 211 402 2.96e-01 3.11e-01 1.55e+00 1.62e+00 0.14 2 + 492 2 -311 437 -5.35e+00 -4.25e+00 9.01e+01 9.04e+01 0.498 3.27 + 493 1 -211 437 -4.64e+00 -3.71e+00 7.18e+01 7.21e+01 0.14 3.19 + 494 1 22 448 1.94e-02 5.27e-03 2.99e-02 3.60e-02 0 1.19 + 495 1 22 448 -7.85e-02 -6.07e-02 1.16e+00 1.17e+00 0 3.16 + 496 1 -211 453 7.37e-01 1.02e+00 -1.68e+00 2.10e+00 0.14 -1.1 + 497 1 211 453 1.01e-01 8.71e-02 -4.23e-01 4.65e-01 0.14 -1.87 + 498 1 22 468 -1.65e-02 -3.60e-01 2.53e+01 2.53e+01 0 4.94 + 499 1 22 468 -6.25e-02 -8.08e-02 5.00e+00 5.00e+00 0 4.58 + 500 2 111 471 2.31e-01 1.34e-01 4.41e+00 4.42e+00 0.135 3.5 + 501 2 111 471 -6.24e-04 1.52e-01 1.16e+01 1.16e+01 0.135 5.03 + 502 1 22 483 1.38e-01 4.90e-02 9.96e-02 1.77e-01 0 0.635 + 503 1 22 483 4.20e-02 -4.38e-02 1.34e-01 1.47e-01 0 1.54 + 504 2 310 492 -5.35e+00 -4.25e+00 9.01e+01 9.04e+01 0.498 3.27 + 505 1 22 500 1.46e-01 1.15e-01 2.01e+00 2.01e+00 0 3.08 + 506 1 22 500 8.56e-02 1.92e-02 2.40e+00 2.41e+00 0 4 + 507 1 22 501 -5.34e-02 1.03e-01 4.79e+00 4.79e+00 0 4.42 + 508 1 22 501 5.28e-02 4.97e-02 6.84e+00 6.84e+00 0 5.24 + 509 1 -211 504 -1.74e+00 -1.55e+00 2.88e+01 2.89e+01 0.14 3.21 + 510 1 211 504 -3.61e+00 -2.71e+00 6.13e+01 6.14e+01 0.14 3.3 +5 Event +582 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 21 1 3.30e-01 -7.12e-01 9.01e+02 9.01e+02 0 7.74 + 4 3 21 2 -4.46e-01 -4.45e-01 -3.40e+01 3.40e+01 0 -4.68 + 5 3 1 3 -3.01e-01 1.14e+00 5.04e+02 5.04e+02 0 6.75 + 6 3 -2 4 3.65e+00 3.83e+00 -1.80e+00 5.59e+00 0 -0.335 + 7 3 -24 5 -9.06e-01 3.70e+00 4.91e+02 4.98e+02 80.4 5.55 + 8 3 22 5 4.25e+00 1.27e+00 1.13e+01 1.22e+01 0 1.67 + 9 2 -24 7 -9.06e-01 3.70e+00 4.91e+02 4.98e+02 80.4 5.55 + 10 1 22 8 4.25e+00 1.27e+00 1.13e+01 1.22e+01 0 1.67 + 11 1 11 9 -3.16e+01 2.69e+01 2.85e+02 2.88e+02 0.00051 2.63 + 12 1 -12 9 3.07e+01 -2.32e+01 2.06e+02 2.09e+02 0 2.38 + 13 2 -1 3 1.27e+00 -1.38e+00 7.87e+01 7.87e+01 0.33 4.43 + 14 2 2 1 -5.54e-01 3.45e-01 2.51e+00 2.61e+00 0.33 2.06 + 15 2 2 4 -4.12e+00 -3.01e+00 -2.96e+01 3.00e+01 0.33 -2.46 + 16 2 2203 2 2.38e-01 1.38e-01 -6.29e+03 6.29e+03 0.771 -10.7 + 17 2 2 0 -3.69e+00 8.19e+00 2.96e+02 2.96e+02 0 4.19 + 18 2 -2 0 3.69e+00 -8.19e+00 1.03e+02 1.03e+02 0 3.13 + 19 2 1 0 4.07e+00 -5.25e+00 5.14e+01 5.18e+01 0 2.74 + 20 2 -1 0 -4.07e+00 5.25e+00 3.45e+01 3.51e+01 0 2.35 + 21 2 3 0 -1.87e+00 -4.64e+00 -2.51e+00 5.59e+00 0 -0.483 + 22 2 -3 0 1.87e+00 4.64e+00 -3.85e+02 3.85e+02 0 -5.04 + 23 2 3 0 1.30e-01 -4.30e+00 2.53e+00 4.99e+00 0 0.559 + 24 2 -3 0 -1.30e-01 4.30e+00 -3.32e+01 3.34e+01 0 -2.74 + 25 2 2 0 -2.84e+00 2.93e+00 -2.82e+00 4.96e+00 0 -0.645 + 26 2 -2 0 2.84e+00 -2.93e+00 6.31e+01 6.33e+01 0 3.43 + 27 2 2 0 -3.54e+00 1.33e+00 1.49e+01 1.54e+01 0 2.08 + 28 2 -2 0 3.54e+00 -1.33e+00 4.72e+00 6.05e+00 0 1.05 + 29 2 2101 1 2.24e-01 3.67e-01 5.40e+03 5.40e+03 0.579 10.1 + 30 2 21 3 -4.61e-01 -2.27e-01 5.71e+01 5.71e+01 0 5.4 + 31 2 21 3 -4.04e-01 1.17e+00 1.50e+02 1.50e+02 0 5.49 + 32 2 21 3 2.51e-01 -1.39e+00 1.08e+02 1.08e+02 0 5.02 + 33 2 21 0 8.85e-01 -5.76e+00 -2.42e+01 2.49e+01 0 -2.13 + 34 2 21 0 -8.85e-01 5.76e+00 -6.30e+01 6.32e+01 0 -3.08 + 35 2 21 4 -1.62e-01 -8.54e-01 8.86e-01 1.24e+00 0 0.895 + 36 2 21 4 1.64e-01 -4.25e-01 -8.62e-02 4.63e-01 0 -0.188 + 37 2 1 2 2.08e-01 3.07e-01 -7.44e+01 7.44e+01 0.33 -5.99 + 38 2 21 0 -6.31e+00 7.09e+00 2.26e+01 2.45e+01 0 1.6 + 39 2 21 0 6.31e+00 -7.09e+00 -3.59e+00 1.02e+01 0 -0.37 + 40 2 21 0 4.06e+00 -2.67e+00 -1.82e+01 1.88e+01 0 -2.03 + 41 2 21 0 -4.06e+00 2.67e+00 6.54e+01 6.56e+01 0 3.29 + 42 2 21 0 -3.60e+00 9.89e-01 -6.90e+00 7.84e+00 0 -1.37 + 43 2 21 0 3.60e+00 -9.89e-01 -5.41e+01 5.42e+01 0 -3.37 + 44 2 21 0 1.60e+00 -2.44e+00 2.87e+01 2.88e+01 0 2.98 + 45 2 21 0 -1.60e+00 2.44e+00 8.26e-01 3.03e+00 0 0.28 + 46 2 92 13 7.14e-01 -1.04e+00 8.12e+01 8.13e+01 4.37 4.86 + 47 2 111 46 -1.30e-01 -2.51e-01 2.53e+00 2.55e+00 0.135 2.89 + 48 2 213 46 7.48e-01 -1.74e-02 4.38e+01 4.38e+01 0.903 4.76 + 49 2 -213 46 -2.91e-01 -4.39e-01 1.43e+01 1.43e+01 0.722 3.99 + 50 2 213 46 -2.11e-01 -2.77e-01 1.56e+01 1.57e+01 0.848 4.5 + 51 2 111 46 5.97e-01 -5.47e-02 5.01e+00 5.05e+00 0.135 2.82 + 52 2 92 15 -3.88e+00 -2.88e+00 -6.31e+03 6.32e+03 74.2 -7.87 + 53 2 113 52 -2.64e+00 -2.32e+00 -2.26e+01 2.29e+01 0.783 -2.56 + 54 2 221 52 -5.16e-01 1.60e-02 -2.00e+01 2.00e+01 0.547 -4.35 + 55 1 211 52 -8.75e-01 -6.72e-01 -6.52e+00 6.61e+00 0.14 -2.48 + 56 2 111 52 1.92e-01 2.52e-01 -9.42e+00 9.43e+00 0.135 -4.09 + 57 2 -213 52 9.43e-02 -4.82e-01 -4.32e+01 4.32e+01 0.827 -5.17 + 58 1 321 52 -4.21e-01 7.60e-01 -5.48e+01 5.48e+01 0.494 -4.84 + 59 2 -323 52 5.33e-01 -4.04e-01 -6.36e+01 6.36e+01 0.883 -5.25 + 60 2 111 52 -4.72e-01 -5.26e-01 -3.32e+01 3.32e+01 0.135 -4.54 + 61 2 2224 52 6.82e-03 3.78e-02 -9.12e+02 9.12e+02 1.26 -10.8 + 62 2 111 52 2.24e-01 4.56e-01 -5.15e+03 5.15e+03 0.135 -9.92 + 63 2 92 17 0.00e+00 0.00e+00 3.99e+02 3.99e+02 20.5 999 + 64 2 213 63 -1.58e+00 3.04e+00 1.06e+02 1.06e+02 0.588 4.12 + 65 2 -213 63 -1.14e+00 2.40e+00 9.63e+01 9.63e+01 0.757 4.28 + 66 2 213 63 -3.00e-01 1.78e+00 5.74e+01 5.75e+01 0.783 4.15 + 67 2 -213 63 -2.50e-01 3.14e-01 4.06e+01 4.06e+01 0.813 5.31 + 68 2 213 63 3.33e-01 -8.32e-01 6.89e+00 6.98e+00 0.629 2.74 + 69 2 223 63 1.82e+00 -4.92e+00 6.75e+01 6.77e+01 0.779 3.25 + 70 1 -211 63 1.13e+00 -1.78e+00 2.40e+01 2.41e+01 0.14 3.13 + 71 2 92 19 0.00e+00 0.00e+00 8.59e+01 8.69e+01 13.5 999 + 72 1 -211 71 4.17e-01 -9.72e-01 7.56e+00 7.64e+00 0.14 2.66 + 73 1 211 71 2.67e+00 -2.93e+00 3.30e+01 3.32e+01 0.14 2.81 + 74 2 111 71 3.61e-01 -6.21e-01 3.13e+00 3.22e+00 0.135 2.18 + 75 2 113 71 -4.49e-01 -3.38e-03 8.45e+00 8.50e+00 0.759 3.63 + 76 2 -213 71 -2.79e-01 3.34e-01 4.98e+00 5.06e+00 0.765 3.13 + 77 2 213 71 -3.06e-01 7.03e-01 4.18e+00 4.33e+00 0.839 2.4 + 78 1 -211 71 -3.29e-01 9.23e-01 4.76e+00 4.87e+00 0.14 2.28 + 79 2 213 71 -2.08e+00 2.57e+00 1.98e+01 2.01e+01 0.747 2.49 + 80 2 92 21 0.00e+00 0.00e+00 -3.88e+02 3.91e+02 49.3 -999 + 81 2 -313 80 -1.62e+00 -4.20e+00 -2.45e+00 5.20e+00 0.885 -0.521 + 82 1 -211 80 -4.28e-02 2.09e-02 -1.40e-01 2.03e-01 0.14 -1.8 + 83 2 323 80 -4.47e-01 -4.85e-01 -3.37e+00 3.54e+00 0.856 -2.33 + 84 2 333 80 2.92e-01 4.19e-01 -1.16e+01 1.17e+01 1.02 -3.82 + 85 2 -313 80 -1.96e-01 3.27e-01 -4.08e+01 4.08e+01 0.887 -5.37 + 86 2 -213 80 4.25e-01 4.09e-01 -2.77e+01 2.77e+01 0.551 -4.54 + 87 2 113 80 3.68e-01 4.47e-01 -2.07e+01 2.07e+01 0.849 -4.27 + 88 1 211 80 -2.90e-01 -7.06e-02 -1.42e+01 1.42e+01 0.14 -4.56 + 89 1 -211 80 -1.95e-02 2.57e-01 -1.45e+01 1.45e+01 0.14 -4.73 + 90 2 323 80 1.53e+00 2.87e+00 -2.52e+02 2.52e+02 1 -5.04 + 91 2 92 23 0.00e+00 0.00e+00 -3.06e+01 3.84e+01 23.2 -999 + 92 2 -311 91 2.29e-01 -1.34e+00 9.89e-01 1.75e+00 0.498 0.674 + 93 2 -213 91 -3.76e-01 -1.54e+00 1.65e-01 1.79e+00 0.806 0.104 + 94 2 2114 91 1.62e-01 -1.28e+00 5.24e-01 1.92e+00 1.32 0.396 + 95 1 211 91 2.60e-01 2.24e-01 -6.79e-01 7.73e-01 0.14 -1.44 + 96 2 -2214 91 -1.86e-01 2.93e-01 -4.59e+00 4.73e+00 1.1 -3.28 + 97 2 111 91 2.44e-01 3.31e-01 -2.03e+00 2.08e+00 0.135 -2.3 + 98 2 213 91 -2.74e-01 2.81e-01 -1.73e+00 1.87e+00 0.589 -2.19 + 99 2 111 91 -1.01e-01 5.22e-01 -1.76e+00 1.84e+00 0.135 -1.91 + 100 2 313 91 4.32e-02 2.51e+00 -2.15e+01 2.17e+01 0.898 -2.84 + 101 2 92 25 0.00e+00 0.00e+00 6.03e+01 6.82e+01 31.9 999 + 102 2 213 101 -1.24e+00 1.48e+00 -1.53e+00 2.57e+00 0.764 -0.727 + 103 2 221 101 -9.00e-01 5.41e-01 -5.36e-01 1.30e+00 0.547 -0.491 + 104 1 -211 101 -8.68e-03 5.68e-02 9.72e-02 1.80e-01 0.14 1.3 + 105 1 321 101 -4.01e-01 4.13e-01 1.24e-01 7.68e-01 0.494 0.214 + 106 2 -313 101 -4.39e-01 1.58e-02 1.55e+00 1.85e+00 0.9 1.97 + 107 2 -213 101 2.70e-01 -2.02e-01 1.43e-01 8.24e-01 0.738 0.413 + 108 2 213 101 7.76e-01 1.36e-01 4.81e+00 4.95e+00 0.86 2.51 + 109 1 -211 101 1.61e-01 -9.88e-02 1.34e+01 1.34e+01 0.14 4.96 + 110 1 211 101 3.37e-01 -7.43e-01 6.75e+00 6.80e+00 0.14 2.81 + 111 2 -213 101 1.44e+00 -1.59e+00 3.55e+01 3.56e+01 0.796 3.5 + 112 2 92 27 0.00e+00 0.00e+00 1.97e+01 2.15e+01 8.61 999 + 113 2 223 112 -1.78e-01 1.08e-01 2.98e+00 3.09e+00 0.777 3.35 + 114 2 113 112 -1.09e+00 4.51e-01 4.85e+00 5.10e+00 1.06 2.12 + 115 2 111 112 -3.32e-01 2.32e-01 5.13e-01 6.67e-01 0.135 1.06 + 116 2 213 112 5.44e-02 -3.58e-01 3.70e+00 3.78e+00 0.687 3.02 + 117 2 223 112 -3.69e-01 -2.05e-01 1.55e+00 1.78e+00 0.773 2.01 + 118 2 113 112 -2.20e-01 6.17e-01 1.87e+00 2.09e+00 0.669 1.77 + 119 2 111 112 1.14e+00 -2.72e-01 1.30e+00 1.75e+00 0.135 0.955 + 120 2 -213 112 9.96e-01 -5.73e-01 2.90e+00 3.20e+00 0.695 1.66 + 121 2 92 29 -1.80e-01 -1.06e+00 5.55e+03 5.88e+03 1.93e+03 9.24 + 122 2 221 121 1.16e-01 -3.12e-02 5.34e+02 5.34e+02 0.547 9.1 + 123 1 2212 121 -6.28e-02 7.69e-01 2.99e+03 2.99e+03 0.938 8.95 + 124 1 -211 121 -6.37e-02 -6.45e-01 1.99e+02 1.99e+02 0.14 6.42 + 125 2 113 121 1.50e-01 2.07e-01 1.23e+03 1.23e+03 0.755 9.17 + 126 2 113 121 -9.98e-02 5.01e-01 2.18e+02 2.18e+02 0.864 6.75 + 127 2 -313 121 -9.19e-01 -4.53e-01 1.99e+02 1.99e+02 0.848 5.96 + 128 2 323 121 7.15e-01 1.51e-01 1.04e+02 1.04e+02 0.855 5.65 + 129 2 -213 121 -2.64e-01 -3.36e-01 1.53e+02 1.53e+02 0.677 6.57 + 130 1 211 121 3.07e-01 5.64e-02 1.75e+01 1.75e+01 0.14 4.72 + 131 1 -211 121 -1.34e-01 4.79e-01 4.97e+01 4.97e+01 0.14 5.3 + 132 1 211 121 -4.42e-01 -8.05e-01 1.90e+01 1.91e+01 0.14 3.73 + 133 2 -2114 121 -1.35e-01 -2.60e-01 1.87e+00 2.19e+00 1.1 2.55 + 134 2 221 121 5.99e-01 3.12e-01 3.68e-01 9.44e-01 0.547 0.522 + 135 2 1114 121 -7.91e-02 -5.35e-02 2.50e+00 2.85e+00 1.37 3.96 + 136 2 223 121 -1.33e-01 -3.15e-01 -4.31e-02 8.54e-01 0.781 -0.126 + 137 1 211 121 3.02e-02 -2.13e-01 -2.35e-01 3.48e-01 0.14 -0.947 + 138 2 111 121 -3.63e-02 7.44e-02 -7.66e-02 1.76e-01 0.135 -0.828 + 139 2 113 121 1.66e-01 -2.55e-03 -1.17e-01 7.99e-01 0.773 -0.657 + 140 2 -213 121 1.82e-01 -6.41e-01 -2.31e+00 2.52e+00 0.777 -1.95 + 141 2 113 121 -9.25e-02 -1.20e+00 -5.32e+00 5.52e+00 0.883 -2.19 + 142 2 221 121 4.33e-01 -2.29e+00 -1.11e+01 1.14e+01 0.547 -2.27 + 143 1 211 121 1.43e-01 3.38e-01 -4.88e+00 4.89e+00 0.14 -3.28 + 144 1 -211 121 -1.52e-01 1.26e-01 -2.35e+00 2.36e+00 0.14 -3.17 + 145 2 111 121 2.88e-01 1.88e-01 -6.99e-01 7.90e-01 0.135 -1.46 + 146 2 111 121 -2.93e-01 -2.13e-01 -6.21e+00 6.22e+00 0.135 -3.53 + 147 2 213 121 -6.99e-02 1.27e+00 -1.85e+01 1.86e+01 0.671 -3.37 + 148 2 223 121 5.51e-02 1.20e-01 -3.01e+00 3.11e+00 0.783 -3.82 + 149 2 -2214 121 -1.88e-01 1.52e+00 -1.91e+01 1.92e+01 1.23 -3.22 + 150 2 2214 121 -2.87e-01 2.95e-01 -7.59e+00 7.70e+00 1.24 -3.61 + 151 2 -213 121 -1.34e-01 2.86e-01 -7.15e-01 1.15e+00 0.84 -1.55 + 152 2 221 121 1.55e-01 -3.52e-01 -2.35e-02 6.69e-01 0.547 -0.0612 + 153 2 -311 121 9.34e-02 4.10e-01 -2.98e+00 3.05e+00 0.498 -2.66 + 154 2 333 121 -3.24e-01 -4.27e-01 -9.27e-02 1.17e+00 1.03 -0.172 + 155 2 333 121 -1.09e-01 3.76e-01 -1.15e+01 1.15e+01 1.02 -4.07 + 156 1 321 121 6.24e-02 -5.28e-01 -2.47e+00 2.58e+00 0.494 -2.24 + 157 2 113 121 1.78e-01 -2.14e-01 -4.20e+01 4.20e+01 0.824 -5.71 + 158 1 -211 121 1.63e-01 4.39e-01 -1.79e+01 1.79e+01 0.14 -4.34 + 159 2 92 38 0.00e+00 0.00e+00 1.90e+01 3.47e+01 29 999 + 160 2 213 159 -5.14e-01 1.56e-01 1.42e+00 1.75e+00 0.869 1.7 + 161 2 -213 159 1.27e-01 8.20e-01 1.52e+00 1.84e+00 0.615 1.37 + 162 2 223 159 -1.70e+00 2.08e+00 6.56e+00 7.13e+00 0.782 1.62 + 163 1 211 159 -2.91e-01 -2.97e-02 1.19e+00 1.24e+00 0.14 2.11 + 164 1 -211 159 -1.09e+00 1.25e+00 2.47e+00 2.98e+00 0.14 1.19 + 165 1 211 159 -1.29e+00 1.41e+00 5.34e+00 5.67e+00 0.14 1.75 + 166 1 -2212 159 1.42e-01 -3.60e-02 5.66e-01 1.11e+00 0.938 2.06 + 167 1 211 159 -1.80e-01 -1.58e-01 5.48e-02 2.83e-01 0.14 0.227 + 168 2 2114 159 3.57e-01 2.27e-01 3.65e-01 1.30e+00 1.17 0.781 + 169 2 111 159 -5.14e-01 -7.73e-01 1.11e-01 9.45e-01 0.135 0.12 + 170 1 -211 159 1.57e+00 -6.06e-01 -5.49e-02 1.69e+00 0.14 -0.0326 + 171 2 -1114 159 8.86e-01 -1.60e+00 -4.22e-01 2.30e+00 1.34 -0.229 + 172 2 3112 159 1.25e+00 -1.25e+00 -6.85e-01 2.24e+00 1.2 -0.378 + 173 2 313 159 6.82e-01 -3.68e-01 5.45e-02 1.16e+00 0.855 0.0704 + 174 2 213 159 8.75e-01 -9.15e-01 -1.99e-01 1.63e+00 1 -0.157 + 175 1 -211 159 7.32e-02 7.18e-02 -4.46e-02 1.79e-01 0.14 -0.422 + 176 2 113 159 -3.89e-01 -2.89e-01 7.63e-01 1.23e+00 0.837 1.24 + 177 2 92 40 0.00e+00 0.00e+00 4.72e+01 8.44e+01 70 999 + 178 1 -321 177 -3.36e-02 2.47e-01 -2.70e-01 6.15e-01 0.494 -0.938 + 179 1 211 177 9.20e-01 -9.05e-01 -3.48e+00 3.71e+00 0.14 -1.72 + 180 2 331 177 2.85e+00 -1.40e+00 -1.13e+01 1.18e+01 0.959 -1.98 + 181 1 -211 177 -2.20e-01 -7.82e-02 -3.69e-01 4.58e-01 0.14 -1.24 + 182 1 211 177 2.96e-01 -2.06e-01 2.02e-01 4.36e-01 0.14 0.534 + 183 2 -213 177 4.85e-01 -2.42e-01 -1.26e+00 1.54e+00 0.704 -1.58 + 184 2 223 177 -4.98e-01 -7.99e-02 1.45e+00 1.73e+00 0.784 1.78 + 185 2 111 177 -8.14e-02 2.18e-01 -4.82e-01 5.52e-01 0.135 -1.48 + 186 1 211 177 -4.10e-02 -8.18e-02 -7.40e-02 1.83e-01 0.14 -0.739 + 187 2 -213 177 -1.92e-01 1.02e+00 1.01e+01 1.02e+01 0.73 2.97 + 188 2 113 177 -4.05e-01 -1.87e-01 1.45e+01 1.45e+01 0.681 4.17 + 189 2 323 177 -1.82e+00 8.55e-01 1.56e+01 1.58e+01 0.887 2.75 + 190 2 -313 177 -6.13e-01 4.49e-01 1.58e+01 1.59e+01 0.906 3.73 + 191 1 2112 177 -2.09e-01 2.23e-01 2.83e+00 3.00e+00 0.94 2.92 + 192 2 -3122 177 -4.46e-01 1.71e-01 3.92e+00 4.11e+00 1.12 2.8 + 193 2 92 42 0.00e+00 0.00e+00 -6.10e+01 6.20e+01 11.5 -999 + 194 2 -313 193 9.94e-01 -6.35e-01 -1.46e+01 1.47e+01 0.896 -3.21 + 195 2 -213 193 6.98e-01 -2.02e-01 -9.74e+00 9.79e+00 0.607 -3.29 + 196 1 321 193 9.01e-01 -4.48e-01 -8.94e+00 9.01e+00 0.494 -2.88 + 197 1 -321 193 -6.36e-01 1.45e-01 -4.63e+00 4.70e+00 0.494 -2.66 + 198 2 113 193 3.69e-01 -1.47e-01 -8.50e+00 8.54e+00 0.668 -3.76 + 199 2 221 193 -1.12e+00 7.25e-01 -2.45e+00 2.84e+00 0.547 -1.37 + 200 1 211 193 -3.42e-01 -2.27e-01 -6.75e+00 6.76e+00 0.14 -3.49 + 201 2 -213 193 -1.76e-01 3.35e-01 -1.77e+00 1.93e+00 0.669 -2.25 + 202 2 323 193 -6.92e-01 4.53e-01 -3.53e+00 3.74e+00 0.919 -2.16 + 203 2 92 44 0.00e+00 0.00e+00 2.95e+01 3.19e+01 12 999 + 204 2 111 203 1.05e-01 -1.60e-01 7.76e-01 8.11e-01 0.135 2.11 + 205 2 111 203 1.25e-01 -3.64e-02 2.12e+00 2.13e+00 0.135 3.48 + 206 2 -2224 203 -5.52e-01 1.03e+00 8.54e-01 1.97e+00 1.34 0.677 + 207 2 2224 203 -4.50e-01 7.16e-01 1.83e+00 2.38e+00 1.26 1.52 + 208 2 -213 203 -5.07e-01 -5.45e-02 1.30e+00 1.57e+00 0.717 1.67 + 209 1 211 203 1.12e+00 -1.12e-01 4.66e+00 4.79e+00 0.14 2.12 + 210 1 -211 203 3.70e-03 -8.38e-01 6.72e+00 6.77e+00 0.14 2.78 + 211 2 213 203 2.32e-01 -5.38e-03 3.23e+00 3.37e+00 0.946 3.33 + 212 2 221 203 -8.08e-02 -5.43e-01 8.03e+00 8.07e+00 0.547 3.38 + 213 1 22 47 1.50e-02 -1.06e-01 7.70e-01 7.77e-01 0 2.67 + 214 1 22 47 -1.45e-01 -1.45e-01 1.76e+00 1.77e+00 0 2.85 + 215 1 211 48 7.82e-02 -3.35e-01 9.18e+00 9.19e+00 0.14 3.98 + 216 2 111 48 6.70e-01 3.18e-01 3.46e+01 3.46e+01 0.135 4.54 + 217 1 -211 49 -4.97e-01 -3.63e-01 1.08e+01 1.08e+01 0.14 3.56 + 218 2 111 49 2.06e-01 -7.67e-02 3.44e+00 3.45e+00 0.135 3.45 + 219 1 211 50 1.51e-01 -4.48e-01 8.89e+00 8.90e+00 0.14 3.63 + 220 2 111 50 -3.62e-01 1.71e-01 6.74e+00 6.75e+00 0.135 3.52 + 221 1 22 51 3.99e-01 -8.34e-02 2.99e+00 3.02e+00 0 2.69 + 222 1 22 51 1.98e-01 2.87e-02 2.02e+00 2.03e+00 0 3.01 + 223 1 -211 53 -8.01e-01 -4.36e-01 -4.45e+00 4.54e+00 0.14 -2.29 + 224 1 211 53 -1.84e+00 -1.88e+00 -1.81e+01 1.83e+01 0.14 -2.63 + 225 1 22 54 -5.59e-01 -1.51e-01 -1.57e+01 1.57e+01 0 -3.99 + 226 1 22 54 4.30e-02 1.67e-01 -4.34e+00 4.35e+00 0 -3.92 + 227 1 22 56 1.16e-01 8.93e-02 -2.85e+00 2.86e+00 0 -3.66 + 228 1 -11 56 1.58e-02 1.47e-02 -1.03e+00 1.03e+00 0.00051 -4.56 + 229 1 11 56 5.99e-02 1.48e-01 -5.54e+00 5.54e+00 0.00051 -4.24 + 230 1 -211 57 1.45e-01 1.89e-01 -1.19e+01 1.19e+01 0.14 -4.61 + 231 2 111 57 -5.04e-02 -6.70e-01 -3.13e+01 3.13e+01 0.135 -4.53 + 232 2 -311 59 5.30e-01 -1.23e-01 -3.40e+01 3.40e+01 0.498 -4.83 + 233 1 -211 59 2.94e-03 -2.80e-01 -2.96e+01 2.96e+01 0.14 -5.35 + 234 1 22 60 -4.42e-02 -3.67e-03 -2.10e+00 2.10e+00 0 -4.55 + 235 1 22 60 -4.28e-01 -5.22e-01 -3.11e+01 3.11e+01 0 -4.52 + 236 1 2212 61 1.30e-01 -1.43e-01 -6.06e+02 6.06e+02 0.938 -8.74 + 237 1 211 61 -1.23e-01 1.81e-01 -3.06e+02 3.06e+02 0.14 -7.94 + 238 1 22 62 9.29e-02 1.97e-01 -2.88e+03 2.88e+03 0 -10.2 + 239 1 22 62 1.31e-01 2.59e-01 -2.27e+03 2.27e+03 0 -9.65 + 240 1 211 64 -9.28e-01 1.28e+00 5.20e+01 5.20e+01 0.14 4.19 + 241 2 111 64 -6.55e-01 1.76e+00 5.39e+01 5.39e+01 0.135 4.05 + 242 1 -211 65 -7.60e-01 2.03e+00 6.91e+01 6.91e+01 0.14 4.15 + 243 2 111 65 -3.84e-01 3.73e-01 2.72e+01 2.72e+01 0.135 4.62 + 244 1 211 66 1.10e-01 1.19e+00 3.03e+01 3.03e+01 0.14 3.93 + 245 2 111 66 -4.10e-01 5.92e-01 2.72e+01 2.72e+01 0.135 4.32 + 246 1 -211 67 -3.17e-01 -4.35e-02 7.76e+00 7.77e+00 0.14 3.88 + 247 2 111 67 6.64e-02 3.57e-01 3.29e+01 3.29e+01 0.135 5.2 + 248 1 211 68 2.81e-02 -7.31e-01 4.87e+00 4.93e+00 0.14 2.59 + 249 2 111 68 3.04e-01 -1.00e-01 2.02e+00 2.05e+00 0.135 2.54 + 250 1 -211 69 5.78e-01 -1.66e+00 2.01e+01 2.02e+01 0.14 3.13 + 251 1 211 69 5.81e-01 -1.99e+00 2.96e+01 2.97e+01 0.14 3.35 + 252 2 111 69 6.59e-01 -1.27e+00 1.78e+01 1.79e+01 0.135 3.22 + 253 1 22 74 2.78e-01 -5.59e-01 2.78e+00 2.85e+00 0 2.2 + 254 1 22 74 8.32e-02 -6.27e-02 3.54e-01 3.69e-01 0 1.94 + 255 1 211 75 -3.45e-01 2.05e-01 2.25e+00 2.29e+00 0.14 2.42 + 256 1 -211 75 -1.04e-01 -2.09e-01 6.21e+00 6.21e+00 0.14 3.97 + 257 1 -211 76 1.29e-03 3.22e-01 9.12e-01 9.77e-01 0.14 1.76 + 258 2 111 76 -2.81e-01 1.19e-02 4.07e+00 4.08e+00 0.135 3.37 + 259 1 211 77 7.81e-02 1.92e-02 2.08e+00 2.09e+00 0.14 3.95 + 260 2 111 77 -3.84e-01 6.84e-01 2.10e+00 2.25e+00 0.135 1.71 + 261 1 211 79 -1.92e-01 1.14e-01 1.00e+00 1.04e+00 0.14 2.21 + 262 2 111 79 -1.89e+00 2.46e+00 1.88e+01 1.91e+01 0.135 2.5 + 263 2 -311 81 -1.43e+00 -3.59e+00 -2.32e+00 4.53e+00 0.498 -0.57 + 264 2 111 81 -1.92e-01 -6.09e-01 -1.28e-01 6.65e-01 0.135 -0.199 + 265 2 311 83 -2.97e-01 -4.62e-02 -1.54e+00 1.65e+00 0.498 -2.34 + 266 1 211 83 -1.50e-01 -4.38e-01 -1.83e+00 1.89e+00 0.14 -2.08 + 267 1 -321 84 1.31e-01 2.22e-01 -7.08e+00 7.10e+00 0.494 -4.01 + 268 1 321 84 1.61e-01 1.97e-01 -4.54e+00 4.57e+00 0.494 -3.57 + 269 1 -321 85 7.01e-02 1.61e-01 -1.50e+01 1.50e+01 0.494 -5.14 + 270 1 211 85 -2.66e-01 1.66e-01 -2.58e+01 2.58e+01 0.14 -5.1 + 271 1 -211 86 4.86e-02 -7.48e-02 -8.16e+00 8.16e+00 0.14 -5.21 + 272 2 111 86 3.76e-01 4.84e-01 -1.96e+01 1.96e+01 0.135 -4.16 + 273 1 -211 87 5.30e-01 2.85e-01 -8.46e+00 8.48e+00 0.14 -3.34 + 274 1 211 87 -1.63e-01 1.62e-01 -1.22e+01 1.23e+01 0.14 -4.67 + 275 2 311 90 8.01e-01 1.20e+00 -1.36e+02 1.36e+02 0.498 -5.24 + 276 1 211 90 7.33e-01 1.68e+00 -1.16e+02 1.16e+02 0.14 -4.84 + 277 1 130 92 2.29e-01 -1.34e+00 9.89e-01 1.75e+00 0.498 0.674 + 278 1 -211 93 -3.85e-01 -9.02e-01 4.33e-01 1.08e+00 0.14 0.428 + 279 2 111 93 8.98e-03 -6.39e-01 -2.68e-01 7.06e-01 0.135 -0.408 + 280 1 2112 94 2.47e-01 -8.47e-01 6.46e-01 1.44e+00 0.94 0.678 + 281 2 111 94 -8.54e-02 -4.30e-01 -1.22e-01 4.75e-01 0.135 -0.274 + 282 1 -2212 96 -1.20e-01 2.30e-01 -3.61e+00 3.74e+00 0.938 -3.33 + 283 2 111 96 -6.64e-02 6.23e-02 -9.83e-01 9.97e-01 0.135 -3.07 + 284 1 22 97 1.55e-01 9.77e-02 -8.57e-01 8.76e-01 0 -2.25 + 285 1 22 97 8.94e-02 2.33e-01 -1.17e+00 1.20e+00 0 -2.25 + 286 1 211 98 -3.19e-01 1.38e-01 -5.12e-01 6.34e-01 0.14 -1.18 + 287 2 111 98 4.52e-02 1.43e-01 -1.22e+00 1.24e+00 0.135 -2.79 + 288 1 22 99 -9.13e-02 1.55e-01 -5.15e-01 5.46e-01 0 -1.77 + 289 1 22 99 -9.83e-03 3.66e-01 -1.24e+00 1.30e+00 0 -1.94 + 290 2 311 100 2.93e-01 1.29e+00 -1.16e+01 1.17e+01 0.498 -2.87 + 291 2 111 100 -2.50e-01 1.22e+00 -9.88e+00 9.96e+00 0.135 -2.77 + 292 1 211 102 -8.18e-01 7.82e-01 -1.28e+00 1.72e+00 0.14 -0.972 + 293 2 111 102 -4.20e-01 6.94e-01 -2.44e-01 8.57e-01 0.135 -0.296 + 294 1 22 103 -2.40e-01 1.69e-01 -4.50e-01 5.37e-01 0 -1.21 + 295 1 22 103 -6.60e-01 3.73e-01 -8.62e-02 7.63e-01 0 -0.114 + 296 1 -321 106 2.97e-02 1.02e-01 7.85e-01 9.34e-01 0.494 2.7 + 297 1 211 106 -4.69e-01 -8.59e-02 7.65e-01 9.12e-01 0.14 1.25 + 298 1 -211 107 -1.29e-01 -9.92e-02 2.95e-01 3.64e-01 0.14 1.35 + 299 2 111 107 3.99e-01 -1.03e-01 -1.51e-01 4.59e-01 0.135 -0.36 + 300 1 211 108 2.07e-02 -2.58e-01 1.52e+00 1.54e+00 0.14 2.47 + 301 2 111 108 7.55e-01 3.94e-01 3.29e+00 3.40e+00 0.135 2.06 + 302 1 -211 111 1.18e+00 -7.71e-01 2.29e+01 2.29e+01 0.14 3.48 + 303 2 111 111 2.67e-01 -8.24e-01 1.26e+01 1.26e+01 0.135 3.37 + 304 1 211 113 -3.00e-01 2.22e-01 1.26e+00 1.32e+00 0.14 1.93 + 305 1 -211 113 -2.85e-02 -1.21e-01 9.91e-01 1.01e+00 0.14 2.77 + 306 2 111 113 1.50e-01 6.19e-03 7.33e-01 7.61e-01 0.135 2.29 + 307 1 211 114 5.12e-02 3.31e-01 6.23e-01 7.21e-01 0.14 1.38 + 308 1 -211 114 -1.14e+00 1.20e-01 4.23e+00 4.38e+00 0.14 2.01 + 309 1 22 115 -8.30e-02 1.37e-01 1.80e-01 2.40e-01 0 0.966 + 310 1 22 115 -2.49e-01 9.51e-02 3.33e-01 4.27e-01 0 1.05 + 311 1 211 116 1.03e-01 4.27e-03 2.26e-01 2.85e-01 0.14 1.53 + 312 2 111 116 -4.87e-02 -3.62e-01 3.47e+00 3.49e+00 0.135 2.95 + 313 1 -211 117 3.06e-02 -4.35e-02 4.08e-02 1.55e-01 0.14 0.707 + 314 1 211 117 -1.56e-01 -2.36e-01 9.09e-01 9.62e-01 0.14 1.88 + 315 2 111 117 -2.44e-01 7.43e-02 5.97e-01 6.63e-01 0.135 1.59 + 316 2 111 118 -3.64e-01 6.75e-01 1.50e+00 1.69e+00 0.135 1.42 + 317 1 22 118 1.44e-01 -5.76e-02 3.76e-01 4.07e-01 0 1.62 + 318 1 22 119 1.05e+00 -2.79e-01 1.23e+00 1.64e+00 0 0.971 + 319 1 22 119 9.31e-02 7.16e-03 7.21e-02 1.18e-01 0 0.711 + 320 1 -211 120 9.37e-01 -6.72e-01 2.59e+00 2.84e+00 0.14 1.55 + 321 2 111 120 5.81e-02 9.88e-02 3.10e-01 3.57e-01 0.135 1.72 + 322 1 -211 122 8.37e-02 -1.04e-01 2.50e+02 2.50e+02 0.14 8.23 + 323 1 211 122 6.68e-04 -1.06e-03 2.13e+02 2.13e+02 0.14 12.7 + 324 2 111 122 3.12e-02 7.41e-02 7.11e+01 7.11e+01 0.135 7.48 + 325 1 211 125 1.23e-01 2.05e-01 1.18e+03 1.18e+03 0.14 9.2 + 326 1 -211 125 2.72e-02 2.16e-03 4.46e+01 4.46e+01 0.14 8.09 + 327 1 211 126 3.80e-02 4.42e-01 2.06e+02 2.06e+02 0.14 6.83 + 328 1 -211 126 -1.38e-01 5.93e-02 1.17e+01 1.17e+01 0.14 5.05 + 329 1 -321 127 -8.36e-01 -5.26e-01 1.47e+02 1.47e+02 0.494 5.7 + 330 1 211 127 -8.23e-02 7.30e-02 5.14e+01 5.14e+01 0.14 6.84 + 331 2 311 128 1.85e-01 2.15e-01 5.41e+01 5.41e+01 0.498 5.94 + 332 1 211 128 5.30e-01 -6.46e-02 4.99e+01 4.99e+01 0.14 5.23 + 333 1 -211 129 -7.65e-02 -4.03e-01 1.32e+02 1.32e+02 0.14 6.47 + 334 2 111 129 -1.87e-01 6.72e-02 2.09e+01 2.09e+01 0.135 5.35 + 335 1 -2212 133 -1.29e-01 -1.52e-01 1.50e+00 1.78e+00 0.938 2.72 + 336 1 211 133 -5.54e-03 -1.08e-01 3.68e-01 4.08e-01 0.14 1.94 + 337 1 22 134 4.67e-01 1.61e-01 5.01e-01 7.04e-01 0 0.891 + 338 1 22 134 1.32e-01 1.50e-01 -1.33e-01 2.40e-01 0 -0.624 + 339 1 2112 135 1.82e-01 -1.53e-01 1.36e+00 1.67e+00 0.94 2.44 + 340 1 -211 135 -2.61e-01 9.99e-02 1.14e+00 1.18e+00 0.14 2.11 + 341 1 211 136 4.59e-02 1.34e-01 -2.68e-02 2.01e-01 0.14 -0.187 + 342 1 -211 136 -2.32e-01 -1.27e-01 -1.72e-02 3.00e-01 0.14 -0.0647 + 343 2 111 136 5.32e-02 -3.22e-01 8.15e-04 3.53e-01 0.135 0.0025 + 344 1 22 138 2.89e-02 7.67e-02 -9.95e-03 8.26e-02 0 -0.121 + 345 1 22 138 -6.53e-02 -2.34e-03 -6.67e-02 9.33e-02 0 -0.896 + 346 1 211 139 -1.62e-01 -1.70e-01 -2.63e-01 3.79e-01 0.14 -0.965 + 347 1 -211 139 3.28e-01 1.67e-01 1.46e-01 4.20e-01 0.14 0.387 + 348 1 -211 140 4.64e-01 -4.08e-01 -1.47e+00 1.60e+00 0.14 -1.6 + 349 2 111 140 -2.82e-01 -2.33e-01 -8.38e-01 9.24e-01 0.135 -1.57 + 350 1 211 141 -4.37e-01 -8.02e-01 -2.86e+00 3.00e+00 0.14 -1.86 + 351 1 -211 141 3.45e-01 -3.94e-01 -2.46e+00 2.52e+00 0.14 -2.25 + 352 1 22 142 3.29e-01 -2.27e+00 -1.06e+01 1.09e+01 0 -2.24 + 353 1 22 142 1.04e-01 -2.79e-02 -4.90e-01 5.02e-01 0 -2.22 + 354 1 22 145 2.24e-01 1.60e-01 -6.47e-01 7.03e-01 0 -1.59 + 355 1 22 145 6.45e-02 2.78e-02 -5.12e-02 8.69e-02 0 -0.677 + 356 1 22 146 -2.53e-01 -1.98e-01 -4.48e+00 4.49e+00 0 -3.33 + 357 1 22 146 -4.02e-02 -1.53e-02 -1.73e+00 1.73e+00 0 -4.39 + 358 1 211 147 -2.33e-01 3.53e-01 -3.86e+00 3.89e+00 0.14 -2.91 + 359 2 111 147 1.63e-01 9.16e-01 -1.46e+01 1.47e+01 0.135 -3.45 + 360 1 211 148 -5.11e-02 -1.17e-01 -1.42e+00 1.44e+00 0.14 -3.11 + 361 1 -211 148 -3.99e-02 2.38e-01 -4.99e-01 5.71e-01 0.14 -1.47 + 362 2 111 148 1.46e-01 -7.17e-04 -1.08e+00 1.10e+00 0.135 -2.7 + 363 1 -2212 149 -1.14e-01 1.31e+00 -1.37e+01 1.38e+01 0.938 -3.05 + 364 2 111 149 -7.39e-02 2.19e-01 -5.36e+00 5.37e+00 0.135 -3.84 + 365 1 2212 150 -9.27e-02 3.27e-02 -5.02e+00 5.11e+00 0.938 -4.63 + 366 2 111 150 -1.94e-01 2.63e-01 -2.57e+00 2.59e+00 0.135 -2.76 + 367 1 -211 151 -8.93e-02 4.95e-01 -7.27e-01 8.95e-01 0.14 -1.16 + 368 2 111 151 -4.47e-02 -2.09e-01 1.14e-02 2.53e-01 0.135 0.0534 + 369 1 -211 152 5.27e-02 -2.61e-01 -2.79e-02 3.02e-01 0.14 -0.105 + 370 1 211 152 1.18e-01 -3.64e-02 -7.49e-02 2.01e-01 0.14 -0.574 + 371 2 111 152 -1.62e-02 -5.44e-02 7.93e-02 1.67e-01 0.135 1.14 + 372 1 130 153 9.34e-02 4.10e-01 -2.98e+00 3.05e+00 0.498 -2.66 + 373 1 130 154 -2.23e-01 -9.62e-02 -1.00e-02 5.54e-01 0.498 -0.0413 + 374 2 310 154 -1.01e-01 -3.31e-01 -8.27e-02 6.12e-01 0.498 -0.237 + 375 1 -321 155 5.89e-02 2.36e-01 -5.91e+00 5.94e+00 0.494 -3.89 + 376 1 321 155 -1.68e-01 1.40e-01 -5.56e+00 5.59e+00 0.494 -3.93 + 377 1 211 157 4.46e-01 -2.99e-01 -2.77e+01 2.78e+01 0.14 -4.64 + 378 1 -211 157 -2.68e-01 8.45e-02 -1.42e+01 1.42e+01 0.14 -4.62 + 379 1 211 160 -4.77e-01 4.23e-01 1.23e+00 1.39e+00 0.14 1.41 + 380 2 111 160 -3.71e-02 -2.68e-01 1.90e-01 3.57e-01 0.135 0.654 + 381 1 -211 161 1.82e-01 8.52e-01 1.27e+00 1.54e+00 0.14 1.17 + 382 2 111 161 -5.50e-02 -3.18e-02 2.55e-01 2.96e-01 0.135 2.1 + 383 1 211 162 -6.22e-01 4.22e-01 1.49e+00 1.68e+00 0.14 1.44 + 384 1 -211 162 -5.37e-01 7.66e-01 2.01e+00 2.22e+00 0.14 1.51 + 385 2 111 162 -5.43e-01 8.91e-01 3.06e+00 3.24e+00 0.135 1.8 + 386 1 2212 168 1.56e-01 1.97e-01 1.71e-01 9.86e-01 0.938 0.638 + 387 1 -211 168 2.02e-01 3.01e-02 1.94e-01 3.14e-01 0.14 0.846 + 388 1 22 169 -1.17e-01 -9.66e-02 4.13e-02 1.57e-01 0 0.269 + 389 1 22 169 -3.97e-01 -6.76e-01 7.01e-02 7.88e-01 0 0.0893 + 390 1 -2112 171 3.03e-01 -8.91e-01 -3.43e-01 1.37e+00 0.94 -0.357 + 391 1 211 171 5.83e-01 -7.06e-01 -7.91e-02 9.29e-01 0.14 -0.0863 + 392 1 2112 172 7.24e-01 -8.63e-01 -4.48e-01 1.53e+00 0.94 -0.388 + 393 1 -211 172 5.26e-01 -3.88e-01 -2.37e-01 7.09e-01 0.14 -0.356 + 394 2 311 173 5.72e-01 -9.16e-02 -1.38e-01 7.76e-01 0.498 -0.236 + 395 2 111 173 1.10e-01 -2.76e-01 1.93e-01 3.79e-01 0.135 0.611 + 396 1 211 174 1.28e-01 -7.30e-01 1.53e-01 7.70e-01 0.14 0.206 + 397 2 111 174 7.47e-01 -1.85e-01 -3.53e-01 8.58e-01 0.135 -0.444 + 398 1 -211 176 -5.19e-01 -4.06e-01 7.49e-01 1.01e+00 0.14 0.974 + 399 1 211 176 1.30e-01 1.17e-01 1.40e-02 2.25e-01 0.14 0.0799 + 400 1 -211 180 4.39e-01 -2.15e-01 -1.66e+00 1.74e+00 0.14 -1.94 + 401 1 211 180 7.22e-01 -5.56e-01 -3.37e+00 3.49e+00 0.14 -2.02 + 402 2 221 180 1.69e+00 -6.28e-01 -6.27e+00 6.54e+00 0.547 -1.96 + 403 1 -211 183 5.44e-01 4.25e-02 -8.88e-01 1.05e+00 0.14 -1.26 + 404 2 111 183 -5.85e-02 -2.84e-01 -3.75e-01 4.93e-01 0.135 -1.07 + 405 1 211 184 -1.80e-01 -1.50e-01 1.83e-01 3.29e-01 0.14 0.719 + 406 1 -211 184 -3.40e-01 1.00e-01 5.82e-01 6.95e-01 0.14 1.27 + 407 2 111 184 2.21e-02 -3.01e-02 6.89e-01 7.03e-01 0.135 3.61 + 408 1 22 185 -8.87e-02 2.18e-01 -4.88e-01 5.42e-01 0 -1.48 + 409 1 22 185 7.31e-03 1.79e-04 6.53e-03 9.81e-03 0 0.803 + 410 1 -211 187 -1.32e-01 -4.15e-02 1.75e+00 1.76e+00 0.14 3.23 + 411 2 111 187 -6.00e-02 1.06e+00 8.34e+00 8.41e+00 0.135 2.76 + 412 1 -211 188 2.10e-02 1.75e-01 3.00e+00 3.00e+00 0.14 3.53 + 413 1 211 188 -4.26e-01 -3.62e-01 1.15e+01 1.15e+01 0.14 3.71 + 414 2 311 189 -7.88e-01 5.44e-01 9.15e+00 9.21e+00 0.498 2.95 + 415 1 211 189 -1.03e+00 3.11e-01 6.49e+00 6.58e+00 0.14 2.5 + 416 2 -311 190 -7.26e-01 3.64e-01 1.14e+01 1.14e+01 0.498 3.33 + 417 2 111 190 1.13e-01 8.48e-02 4.43e+00 4.44e+00 0.135 4.14 + 418 1 -2212 192 -4.41e-01 7.02e-02 3.45e+00 3.61e+00 0.938 2.74 + 419 1 211 192 -5.35e-03 1.01e-01 4.72e-01 5.03e-01 0.14 2.25 + 420 1 -321 194 8.27e-01 -4.44e-01 -1.34e+01 1.34e+01 0.494 -3.35 + 421 1 211 194 1.67e-01 -1.91e-01 -1.26e+00 1.30e+00 0.14 -2.31 + 422 1 -211 195 -4.56e-03 8.51e-02 -2.39e+00 2.40e+00 0.14 -4.03 + 423 2 111 195 7.02e-01 -2.87e-01 -7.35e+00 7.39e+00 0.135 -2.97 + 424 1 211 198 4.68e-01 6.71e-02 -6.11e+00 6.13e+00 0.14 -3.25 + 425 1 -211 198 -9.85e-02 -2.14e-01 -2.40e+00 2.41e+00 0.14 -3.01 + 426 2 111 199 -1.48e-01 1.56e-01 -6.36e-01 6.84e-01 0.135 -1.81 + 427 2 111 199 -5.97e-01 4.05e-01 -1.05e+00 1.28e+00 0.135 -1.17 + 428 2 111 199 -3.71e-01 1.64e-01 -7.63e-01 8.74e-01 0.135 -1.39 + 429 1 -211 201 1.49e-01 2.94e-01 -5.26e-01 6.36e-01 0.14 -1.25 + 430 2 111 201 -3.25e-01 4.14e-02 -1.25e+00 1.30e+00 0.135 -2.05 + 431 1 321 202 -1.39e-01 4.26e-01 -1.92e+00 2.03e+00 0.494 -2.16 + 432 2 111 202 -5.53e-01 2.76e-02 -1.62e+00 1.71e+00 0.135 -1.79 + 433 1 22 204 7.35e-03 -7.24e-02 1.11e-01 1.33e-01 0 1.21 + 434 1 22 204 9.78e-02 -8.75e-02 6.65e-01 6.78e-01 0 2.33 + 435 1 22 205 8.07e-02 4.13e-02 1.36e+00 1.37e+00 0 3.4 + 436 1 22 205 4.41e-02 -7.76e-02 7.54e-01 7.59e-01 0 2.83 + 437 1 -2212 206 -3.36e-01 6.32e-01 9.14e-01 1.49e+00 0.938 1.06 + 438 1 -211 206 -2.16e-01 4.01e-01 -5.92e-02 4.80e-01 0.14 -0.13 + 439 1 2212 207 -3.13e-01 6.32e-01 1.07e+00 1.59e+00 0.938 1.2 + 440 1 211 207 -1.37e-01 8.42e-02 7.66e-01 7.95e-01 0.14 2.27 + 441 1 -211 208 1.07e-01 -1.65e-01 3.82e-01 4.52e-01 0.14 1.42 + 442 2 111 208 -6.14e-01 1.11e-01 9.19e-01 1.12e+00 0.135 1.18 + 443 1 211 211 9.76e-02 3.95e-01 2.34e+00 2.38e+00 0.14 2.45 + 444 2 111 211 1.34e-01 -4.00e-01 8.87e-01 9.91e-01 0.135 1.49 + 445 1 22 212 4.45e-02 6.93e-02 2.72e-01 2.84e-01 0 1.91 + 446 1 22 212 -1.25e-01 -6.12e-01 7.76e+00 7.79e+00 0 3.21 + 447 1 22 216 4.22e-01 2.70e-01 2.33e+01 2.33e+01 0 4.53 + 448 1 22 216 2.48e-01 4.74e-02 1.13e+01 1.13e+01 0 4.49 + 449 1 22 218 -8.21e-03 8.97e-03 6.58e-01 6.59e-01 0 4.68 + 450 1 22 218 2.14e-01 -8.57e-02 2.78e+00 2.79e+00 0 3.19 + 451 1 22 220 -3.55e-01 1.42e-01 6.52e+00 6.54e+00 0 3.53 + 452 1 22 220 -7.06e-03 2.88e-02 2.15e-01 2.17e-01 0 2.68 + 453 1 22 231 -5.50e-02 -1.37e-01 -8.40e+00 8.40e+00 0 -4.74 + 454 1 22 231 4.65e-03 -5.33e-01 -2.29e+01 2.29e+01 0 -4.45 + 455 2 310 232 5.30e-01 -1.23e-01 -3.40e+01 3.40e+01 0.498 -4.83 + 456 1 22 241 -3.64e-01 8.07e-01 2.45e+01 2.45e+01 0 4.01 + 457 1 22 241 -2.91e-01 9.51e-01 2.94e+01 2.94e+01 0 4.08 + 458 1 22 243 -3.69e-01 3.21e-01 2.26e+01 2.26e+01 0 4.53 + 459 1 22 243 -1.54e-02 5.23e-02 4.59e+00 4.59e+00 0 5.13 + 460 1 22 245 -2.81e-01 3.12e-01 1.41e+01 1.41e+01 0 4.21 + 461 1 22 245 -1.29e-01 2.81e-01 1.30e+01 1.30e+01 0 4.43 + 462 1 22 247 -1.35e-02 2.28e-02 6.37e+00 6.37e+00 0 6.18 + 463 1 22 247 7.99e-02 3.34e-01 2.65e+01 2.65e+01 0 5.04 + 464 1 22 249 1.32e-01 -4.01e-02 4.96e-01 5.15e-01 0 1.99 + 465 1 22 249 1.72e-01 -6.00e-02 1.52e+00 1.53e+00 0 2.82 + 466 1 22 252 2.01e-01 -3.18e-01 4.08e+00 4.10e+00 0 3.08 + 467 1 22 252 4.59e-01 -9.50e-01 1.37e+01 1.38e+01 0 3.26 + 468 1 22 258 -1.19e-01 2.73e-02 9.64e-01 9.72e-01 0 2.77 + 469 1 22 258 -1.62e-01 -1.54e-02 3.11e+00 3.11e+00 0 3.64 + 470 1 22 260 -6.48e-02 1.10e-01 2.20e-01 2.54e-01 0 1.31 + 471 1 22 260 -3.19e-01 5.74e-01 1.88e+00 1.99e+00 0 1.78 + 472 1 22 262 -1.01e-01 1.11e-01 7.65e-01 7.79e-01 0 2.33 + 473 1 22 262 -1.79e+00 2.35e+00 1.81e+01 1.83e+01 0 2.51 + 474 1 130 263 -1.43e+00 -3.59e+00 -2.32e+00 4.53e+00 0.498 -0.57 + 475 1 22 264 -9.00e-02 -4.22e-01 -1.35e-01 4.52e-01 0 -0.308 + 476 1 22 264 -1.02e-01 -1.87e-01 6.82e-03 2.13e-01 0 0.032 + 477 2 310 265 -2.97e-01 -4.62e-02 -1.54e+00 1.65e+00 0.498 -2.34 + 478 1 22 272 1.29e-01 8.73e-02 -3.93e+00 3.94e+00 0 -3.92 + 479 1 22 272 2.47e-01 3.96e-01 -1.56e+01 1.56e+01 0 -4.2 + 480 1 130 275 8.01e-01 1.20e+00 -1.36e+02 1.36e+02 0.498 -5.24 + 481 1 22 279 -2.40e-02 -6.20e-02 5.34e-03 6.67e-02 0 0.0802 + 482 1 22 279 3.30e-02 -5.77e-01 -2.73e-01 6.39e-01 0 -0.457 + 483 1 22 281 -3.78e-02 -4.27e-02 -5.40e-02 7.85e-02 0 -0.844 + 484 1 22 281 -4.77e-02 -3.87e-01 -6.78e-02 3.96e-01 0 -0.173 + 485 1 22 283 -9.12e-03 3.26e-02 -8.26e-01 8.26e-01 0 -3.89 + 486 1 22 283 -5.73e-02 2.97e-02 -1.58e-01 1.70e-01 0 -1.63 + 487 1 22 287 -3.63e-03 5.09e-02 -8.67e-01 8.69e-01 0 -3.53 + 488 1 22 287 4.89e-02 9.21e-02 -3.53e-01 3.68e-01 0 -1.93 + 489 1 130 290 2.93e-01 1.29e+00 -1.16e+01 1.17e+01 0.498 -2.87 + 490 1 22 291 -9.50e-02 6.45e-01 -4.72e+00 4.77e+00 0 -2.68 + 491 1 22 291 -1.55e-01 5.72e-01 -5.16e+00 5.19e+00 0 -2.86 + 492 1 22 293 -3.70e-01 6.22e-01 -2.59e-01 7.69e-01 0 -0.35 + 493 1 22 293 -4.97e-02 7.14e-02 1.54e-02 8.83e-02 0 0.177 + 494 1 22 299 3.27e-01 -4.69e-02 -7.19e-02 3.39e-01 0 -0.216 + 495 1 22 299 7.17e-02 -5.61e-02 -7.96e-02 1.21e-01 0 -0.789 + 496 1 22 301 4.47e-01 2.50e-01 1.72e+00 1.79e+00 0 1.92 + 497 1 22 301 3.08e-01 1.44e-01 1.58e+00 1.61e+00 0 2.24 + 498 1 22 303 1.24e-01 -2.94e-01 5.52e+00 5.53e+00 0 3.55 + 499 1 22 303 1.43e-01 -5.30e-01 7.09e+00 7.11e+00 0 3.25 + 500 1 22 306 1.41e-01 -4.03e-02 6.31e-01 6.48e-01 0 2.16 + 501 1 22 306 8.95e-03 4.65e-02 1.02e-01 1.12e-01 0 1.51 + 502 1 22 312 2.41e-02 -2.66e-01 2.23e+00 2.25e+00 0 2.82 + 503 1 22 312 -7.27e-02 -9.55e-02 1.23e+00 1.24e+00 0 3.03 + 504 1 22 315 -1.55e-01 3.31e-02 2.05e-01 2.59e-01 0 1.08 + 505 1 22 315 -8.95e-02 4.13e-02 3.92e-01 4.04e-01 0 2.09 + 506 1 22 316 -1.59e-01 4.26e-01 9.25e-01 1.03e+00 0 1.46 + 507 1 22 316 -2.05e-01 2.49e-01 5.71e-01 6.55e-01 0 1.34 + 508 1 22 321 -3.77e-02 1.42e-02 3.34e-02 5.23e-02 0 0.755 + 509 1 22 321 9.57e-02 8.46e-02 2.77e-01 3.05e-01 0 1.52 + 510 1 22 324 -4.02e-02 4.75e-02 1.60e+01 1.60e+01 0 6.24 + 511 1 22 324 7.14e-02 2.66e-02 5.51e+01 5.51e+01 0 7.28 + 512 1 130 331 1.85e-01 2.15e-01 5.41e+01 5.41e+01 0.498 5.94 + 513 1 22 334 -2.64e-02 -3.93e-02 3.82e+00 3.82e+00 0 5.08 + 514 1 22 334 -1.61e-01 1.06e-01 1.71e+01 1.71e+01 0 5.18 + 515 1 22 343 7.18e-02 -2.26e-01 5.21e-02 2.42e-01 0 0.218 + 516 1 22 343 -1.87e-02 -9.64e-02 -5.13e-02 1.11e-01 0 -0.501 + 517 1 22 349 -1.97e-01 -2.33e-01 -6.54e-01 7.22e-01 0 -1.51 + 518 1 22 349 -8.46e-02 -1.21e-04 -1.84e-01 2.03e-01 0 -1.52 + 519 1 22 359 9.19e-04 -1.48e-03 -2.59e-01 2.59e-01 0 -5.7 + 520 1 22 359 1.62e-01 9.17e-01 -1.44e+01 1.44e+01 0 -3.43 + 521 1 22 362 8.59e-02 -6.67e-02 -6.44e-01 6.53e-01 0 -2.48 + 522 1 22 362 6.01e-02 6.60e-02 -4.40e-01 4.49e-01 0 -2.3 + 523 1 22 364 -3.17e-02 -2.09e-03 -3.01e-01 3.02e-01 0 -2.94 + 524 1 22 364 -4.22e-02 2.21e-01 -5.06e+00 5.06e+00 0 -3.81 + 525 1 22 366 -1.99e-01 2.30e-01 -1.98e+00 2.00e+00 0 -2.57 + 526 1 22 366 5.37e-03 3.31e-02 -5.92e-01 5.93e-01 0 -3.56 + 527 1 22 368 2.65e-02 3.28e-03 -9.16e-03 2.82e-02 0 -0.337 + 528 1 22 368 -7.12e-02 -2.12e-01 2.06e-02 2.25e-01 0 0.0918 + 529 1 22 371 4.40e-02 1.91e-02 4.43e-02 6.53e-02 0 0.826 + 530 1 22 371 -6.02e-02 -7.35e-02 3.50e-02 1.01e-01 0 0.36 + 531 1 -211 374 7.23e-02 -3.25e-01 2.98e-02 3.62e-01 0.14 0.0895 + 532 1 211 374 -1.73e-01 -5.57e-03 -1.13e-01 2.49e-01 0.14 -0.611 + 533 1 22 380 -4.18e-02 -2.20e-01 2.08e-01 3.05e-01 0 0.829 + 534 1 22 380 4.66e-03 -4.76e-02 -1.81e-02 5.11e-02 0 -0.37 + 535 1 22 382 1.09e-03 -1.87e-02 2.33e-01 2.34e-01 0 3.22 + 536 1 22 382 -5.61e-02 -1.31e-02 2.21e-02 6.17e-02 0 0.374 + 537 1 22 385 -2.17e-01 4.03e-01 1.54e+00 1.60e+00 0 1.92 + 538 1 22 385 -3.26e-01 4.88e-01 1.52e+00 1.63e+00 0 1.68 + 539 2 310 394 5.72e-01 -9.16e-02 -1.38e-01 7.76e-01 0.498 -0.236 + 540 1 22 395 6.68e-02 -6.10e-02 5.62e-03 9.06e-02 0 0.0621 + 541 1 22 395 4.29e-02 -2.15e-01 1.87e-01 2.88e-01 0 0.774 + 542 1 22 397 2.34e-01 -5.57e-03 -1.46e-01 2.75e-01 0 -0.589 + 543 1 22 397 5.14e-01 -1.79e-01 -2.07e-01 5.82e-01 0 -0.372 + 544 1 211 402 7.20e-01 -3.67e-01 -2.90e+00 3.01e+00 0.14 -1.99 + 545 1 -211 402 2.08e-01 -9.71e-02 -9.37e-01 9.74e-01 0.14 -2.11 + 546 2 111 402 7.64e-01 -1.63e-01 -2.43e+00 2.55e+00 0.135 -1.85 + 547 1 22 404 2.09e-02 3.68e-03 -2.13e-02 3.01e-02 0 -0.884 + 548 1 22 404 -7.94e-02 -2.88e-01 -3.53e-01 4.63e-01 0 -1.01 + 549 1 22 407 -5.67e-02 -1.77e-02 2.57e-01 2.64e-01 0 2.17 + 550 1 22 407 7.88e-02 -1.24e-02 4.32e-01 4.40e-01 0 2.39 + 551 1 22 411 -7.02e-02 3.39e-01 3.02e+00 3.04e+00 0 2.86 + 552 1 22 411 1.02e-02 7.17e-01 5.32e+00 5.37e+00 0 2.7 + 553 1 130 414 -7.88e-01 5.44e-01 9.15e+00 9.21e+00 0.498 2.95 + 554 2 310 416 -7.26e-01 3.64e-01 1.14e+01 1.14e+01 0.498 3.33 + 555 1 22 417 7.99e-02 1.22e-01 3.16e+00 3.17e+00 0 3.77 + 556 1 22 417 3.35e-02 -3.67e-02 1.27e+00 1.27e+00 0 3.93 + 557 1 22 423 4.84e-01 -1.71e-01 -4.37e+00 4.40e+00 0 -2.84 + 558 1 22 423 2.18e-01 -1.16e-01 -2.98e+00 2.99e+00 0 -3.18 + 559 1 22 426 -1.18e-02 -1.61e-02 -1.18e-02 2.32e-02 0 -0.562 + 560 1 22 426 -1.36e-01 1.72e-01 -6.24e-01 6.61e-01 0 -1.77 + 561 1 22 427 -3.72e-01 3.13e-01 -6.32e-01 7.97e-01 0 -1.08 + 562 1 22 427 -2.25e-01 9.18e-02 -4.20e-01 4.86e-01 0 -1.32 + 563 1 22 428 -2.91e-01 1.17e-01 -6.85e-01 7.53e-01 0 -1.52 + 564 1 22 428 -7.96e-02 4.73e-02 -7.79e-02 1.21e-01 0 -0.765 + 565 1 22 430 -2.08e-01 -3.56e-03 -9.75e-01 9.97e-01 0 -2.25 + 566 1 22 430 -1.17e-01 4.50e-02 -2.72e-01 2.99e-01 0 -1.52 + 567 1 22 432 -2.36e-01 7.87e-02 -7.14e-01 7.56e-01 0 -1.78 + 568 1 22 432 -3.17e-01 -5.11e-02 -9.02e-01 9.57e-01 0 -1.76 + 569 1 22 442 -2.54e-01 4.50e-02 5.01e-01 5.64e-01 0 1.42 + 570 1 22 442 -3.60e-01 6.59e-02 4.19e-01 5.56e-01 0 0.98 + 571 1 22 444 2.94e-02 -1.91e-01 5.35e-01 5.68e-01 0 1.74 + 572 1 22 444 1.05e-01 -2.10e-01 3.52e-01 4.23e-01 0 1.2 + 573 1 211 455 3.76e-01 -7.24e-02 -2.96e+01 2.96e+01 0.14 -5.04 + 574 1 -211 455 1.55e-01 -5.07e-02 -4.42e+00 4.43e+00 0.14 -4 + 575 1 211 477 -1.87e-01 -7.55e-02 -1.39e+00 1.41e+00 0.14 -2.63 + 576 1 -211 477 -1.09e-01 2.93e-02 -1.49e-01 2.34e-01 0.14 -1.09 + 577 1 211 539 4.23e-01 1.28e-01 -9.44e-02 4.73e-01 0.14 -0.212 + 578 1 -211 539 1.49e-01 -2.20e-01 -4.39e-02 3.03e-01 0.14 -0.165 + 579 1 22 546 7.43e-01 -1.47e-01 -2.39e+00 2.51e+00 0 -1.87 + 580 1 22 546 2.17e-02 -1.67e-02 -3.53e-02 4.47e-02 0 -1.07 + 581 1 211 554 -4.14e-01 3.95e-01 8.26e+00 8.28e+00 0.14 3.36 + 582 1 -211 554 -3.12e-01 -3.09e-02 3.12e+00 3.14e+00 0.14 2.99 +6 Event +481 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 2 1 5.16e-01 3.85e-01 1.73e+03 1.73e+03 0 8.59 + 4 3 21 2 -4.98e-01 1.09e+00 -1.31e+02 1.31e+02 0 -5.38 + 5 3 2 3 -3.15e+00 -4.68e+00 8.54e+02 8.54e+02 0 5.71 + 6 3 -1 4 2.65e+00 4.77e+00 -9.52e-01 5.54e+00 0 -0.173 + 7 3 22 5 1.34e+01 -5.23e+00 3.24e+02 3.25e+02 0 3.81 + 8 3 24 5 -1.39e+01 5.32e+00 5.29e+02 5.35e+02 79.8 4.27 + 9 1 22 7 1.34e+01 -5.23e+00 3.24e+02 3.25e+02 0 3.81 + 10 2 24 8 -1.39e+01 5.32e+00 5.29e+02 5.35e+02 79.8 4.27 + 11 2 1 4 1.05e+00 1.62e+00 -6.14e+00 6.45e+00 0.33 -1.88 + 12 2 21 4 2.05e-02 -8.92e-01 6.38e-01 1.10e+00 0 0.665 + 13 2 21 4 2.44e-01 -1.46e-01 1.10e+00 1.13e+00 0 2.06 + 14 2 21 4 2.24e-01 3.98e-02 2.57e+00 2.58e+00 0 3.12 + 15 2 21 4 2.29e-01 5.61e-02 2.96e+00 2.97e+00 0 3.22 + 16 2 21 4 -6.42e-01 -7.00e-01 1.06e+00 1.42e+00 0 0.961 + 17 2 21 4 -6.01e-01 1.09e+00 -4.37e+00 4.54e+00 0 -1.97 + 18 2 21 4 -3.03e+00 -1.64e+00 -5.71e+00 6.67e+00 0 -1.28 + 19 2 2103 2 2.91e-01 -6.51e-01 -6.77e+03 6.77e+03 0.771 -9.85 + 20 2 -3 10 7.59e-01 2.09e+01 5.42e+01 5.81e+01 0.5 1.68 + 21 2 21 10 8.77e-01 1.95e+00 3.73e+00 4.30e+00 0 1.32 + 22 2 21 10 -2.09e-01 -7.81e-02 5.45e-01 5.89e-01 0 1.63 + 23 2 21 10 4.33e-01 -2.44e-01 8.26e+00 8.27e+00 0 3.5 + 24 2 21 10 2.66e-01 -6.11e-01 4.54e+00 4.58e+00 0 2.62 + 25 2 21 10 1.63e+00 -3.66e-01 9.34e+00 9.49e+00 0 2.42 + 26 2 21 10 2.65e+00 -1.87e+00 9.44e+00 9.98e+00 0 1.79 + 27 2 21 10 4.85e-01 -5.12e-01 3.04e+01 3.04e+01 0 4.46 + 28 2 21 10 -5.87e-01 -6.62e-01 4.01e+01 4.01e+01 0 4.51 + 29 2 21 10 4.18e-02 4.20e-01 1.85e+01 1.85e+01 0 4.47 + 30 2 21 10 -2.51e+00 -1.94e+00 6.59e+01 6.60e+01 0 3.73 + 31 2 21 10 8.71e-02 -8.94e-01 2.13e+01 2.13e+01 0 3.86 + 32 2 21 10 -1.50e+00 -4.02e-01 2.06e+01 2.06e+01 0 3.28 + 33 2 4 10 -1.63e+01 -1.03e+01 2.42e+02 2.43e+02 1.5 3.22 + 34 2 2101 1 -5.16e-01 -3.85e-01 4.22e+03 4.22e+03 0.579 9.48 + 35 2 21 3 -5.55e-01 9.81e-01 7.07e+02 7.07e+02 0 7.13 + 36 2 21 3 3.93e+00 2.03e+00 5.70e+01 5.71e+01 0 3.25 + 37 2 21 3 7.21e-01 2.74e+00 3.14e+01 3.15e+01 0 3.1 + 38 2 21 0 -3.68e+00 1.82e-01 2.32e+02 2.32e+02 0 4.84 + 39 2 21 0 1.93e+00 3.04e+00 4.15e+02 4.15e+02 0 5.44 + 40 2 21 0 3.68e+00 -1.82e-01 5.03e+01 5.04e+01 0 3.31 + 41 2 21 0 -3.13e-01 3.66e+00 2.96e+01 2.98e+01 0 2.78 + 42 2 21 4 -6.73e-03 8.71e-02 7.40e-02 1.15e-01 0 0.769 + 43 2 21 4 -5.49e-01 -5.74e+00 6.33e+01 6.36e+01 0 3.09 + 44 2 21 4 4.92e-01 -5.49e-01 4.40e+00 4.46e+00 0 2.49 + 45 2 21 4 4.38e-01 2.80e-01 -4.32e+00 4.35e+00 0 -2.81 + 46 2 21 4 -1.44e+00 2.14e+00 -1.06e+02 1.06e+02 0 -4.41 + 47 2 2 2 2.07e-01 -4.43e-01 -5.76e+01 5.76e+01 0.33 -5.46 + 48 2 21 0 1.59e+00 -9.25e+00 -1.33e+01 1.63e+01 0 -1.15 + 49 2 21 0 3.13e-01 -3.66e+00 -1.60e+01 1.64e+01 0 -2.18 + 50 2 21 0 -1.59e+00 9.25e+00 3.46e-01 9.39e+00 0 0.0368 + 51 2 21 0 -1.93e+00 -3.04e+00 -2.24e+00 4.24e+00 0 -0.588 + 52 2 21 0 -3.04e+00 7.70e-01 3.09e+02 3.10e+02 0 5.29 + 53 2 21 0 3.04e+00 -7.70e-01 4.26e+00 5.29e+00 0 1.12 + 54 2 92 11 -2.22e+00 -1.22e+00 -6.78e+03 6.80e+03 507 -8.59 + 55 2 223 54 4.39e-01 3.68e-01 -2.81e+00 2.97e+00 0.78 -2.29 + 56 2 2214 54 9.38e-03 9.17e-01 -1.53e+00 2.17e+00 1.24 -1.29 + 57 2 -2214 54 1.88e-01 2.02e-01 -1.21e+00 1.70e+00 1.17 -2.18 + 58 1 -211 54 4.31e-02 -2.36e-02 2.13e-01 2.60e-01 0.14 2.17 + 59 2 213 54 5.49e-01 -4.49e-01 1.84e+00 2.21e+00 0.981 1.68 + 60 2 313 54 -7.81e-02 -2.97e-01 1.54e+00 1.79e+00 0.875 2.31 + 61 2 -313 54 -2.81e-01 -4.10e-01 1.36e+00 1.70e+00 0.888 1.73 + 62 2 111 54 5.23e-01 3.16e-01 1.66e+00 1.77e+00 0.135 1.72 + 63 2 223 54 4.21e-01 -5.35e-02 -5.19e-01 1.03e+00 0.779 -1.03 + 64 2 313 54 -1.02e+00 3.03e-01 -4.71e-01 1.48e+00 0.921 -0.431 + 65 2 -311 54 -5.94e-01 4.52e-02 -9.62e-01 1.24e+00 0.498 -1.26 + 66 1 -211 54 -1.44e-02 -7.15e-01 -2.67e-01 7.76e-01 0.14 -0.365 + 67 1 211 54 -1.32e-01 -4.33e-01 -1.15e+00 1.24e+00 0.14 -1.66 + 68 2 -213 54 -5.22e-01 7.93e-02 -8.58e-01 1.20e+00 0.654 -1.26 + 69 2 223 54 -9.56e-01 -1.79e-01 -3.06e+00 3.31e+00 0.78 -1.86 + 70 1 211 54 7.10e-02 3.90e-01 -2.79e+00 2.82e+00 0.14 -2.65 + 71 2 221 54 -7.94e-01 -1.14e+00 -5.82e+00 6.01e+00 0.547 -2.14 + 72 1 -211 54 -2.29e-01 5.39e-01 -8.07e+00 8.09e+00 0.14 -3.32 + 73 2 323 54 -3.77e-01 -5.25e-02 -9.33e+00 9.38e+00 0.851 -3.89 + 74 2 -323 54 4.71e-01 -1.59e-02 -3.23e+01 3.23e+01 0.888 -4.92 + 75 1 211 54 -9.18e-02 3.22e-01 -1.66e+01 1.66e+01 0.14 -4.6 + 76 1 -211 54 -5.65e-01 -4.88e-01 -5.15e+01 5.15e+01 0.14 -4.93 + 77 1 2212 54 4.16e-01 4.81e-01 -2.26e+02 2.26e+02 0.938 -6.57 + 78 1 -2212 54 1.69e-01 -2.79e-01 -3.04e+02 3.04e+02 0.938 -7.53 + 79 2 113 54 -3.48e-01 -1.33e-01 -5.86e+02 5.86e+02 0.648 -8.05 + 80 2 223 54 3.11e-01 9.50e-02 -1.61e+02 1.61e+02 0.764 -6.9 + 81 2 111 54 -3.07e-01 -2.62e-01 -8.89e+02 8.89e+02 0.135 -8.39 + 82 2 2214 54 4.75e-01 -3.41e-01 -4.48e+03 4.48e+03 1.22 -9.64 + 83 2 92 20 -1.39e+01 5.32e+00 5.29e+02 5.35e+02 79.8 4.27 + 84 2 311 83 2.59e-01 6.89e+00 1.84e+01 1.97e+01 0.498 1.71 + 85 2 -2214 83 5.98e-01 7.04e+00 1.74e+01 1.88e+01 1.27 1.63 + 86 1 2212 83 3.49e-01 4.99e+00 1.23e+01 1.33e+01 0.938 1.63 + 87 2 213 83 -1.76e-01 5.50e-01 3.14e+00 3.28e+00 0.761 2.39 + 88 2 -213 83 9.36e-01 3.13e+00 1.23e+01 1.27e+01 0.491 2.03 + 89 2 223 83 2.19e-01 -5.24e-01 2.40e+00 2.58e+00 0.772 2.15 + 90 2 213 83 6.12e-01 -1.68e-01 4.56e+00 4.66e+00 0.69 2.67 + 91 2 221 83 5.43e-01 7.80e-02 1.08e+00 1.33e+00 0.547 1.43 + 92 1 -211 83 8.01e-01 -5.74e-01 6.22e+00 6.30e+00 0.14 2.54 + 93 2 213 83 5.51e-01 -1.05e+00 9.48e+00 9.58e+00 0.73 2.77 + 94 1 -321 83 1.56e+00 -8.31e-01 8.88e+00 9.07e+00 0.494 2.32 + 95 2 313 83 3.33e-01 -1.83e-01 7.42e+00 7.46e+00 0.732 3.67 + 96 2 -1114 83 -5.06e-01 -3.33e-02 2.32e+01 2.33e+01 1.24 4.52 + 97 1 -211 83 1.79e-02 -9.00e-03 3.57e+00 3.58e+00 0.14 5.88 + 98 2 3122 83 -6.54e-01 -1.07e+00 2.94e+01 2.94e+01 1.12 3.85 + 99 1 321 83 -2.41e-01 -2.69e-01 4.73e+01 4.73e+01 0.494 5.57 + 100 1 -211 83 5.73e-02 -6.85e-01 2.06e+01 2.06e+01 0.14 4.09 + 101 2 223 83 -2.34e+00 -1.15e+00 4.43e+01 4.44e+01 0.788 3.53 + 102 2 223 83 -3.20e+00 -2.90e+00 5.71e+01 5.73e+01 0.806 3.28 + 103 2 111 83 -9.42e-01 -2.60e-01 1.39e+01 1.40e+01 0.135 3.35 + 104 2 411 83 -1.26e+01 -7.64e+00 1.86e+02 1.87e+02 1.87 3.23 + 105 2 92 34 4.34e+00 7.83e+00 5.64e+03 5.98e+03 1.98e+03 7.14 + 106 1 2212 105 -3.42e-01 -4.27e-01 3.85e+03 3.85e+03 0.938 9.55 + 107 2 223 105 -2.59e-01 2.68e-01 3.40e+02 3.40e+02 0.781 7.51 + 108 2 -213 105 -8.44e-02 9.59e-02 4.27e+02 4.27e+02 1.01 8.81 + 109 2 113 105 -3.46e-01 3.38e-01 1.41e+02 1.41e+02 0.845 6.37 + 110 2 213 105 2.47e-01 1.30e-01 1.21e+02 1.21e+02 0.664 6.77 + 111 2 -213 105 7.18e-01 2.41e-02 1.82e+01 1.82e+01 0.728 3.93 + 112 1 211 105 3.29e-01 9.73e-01 3.94e+01 3.94e+01 0.14 4.34 + 113 2 111 105 3.65e-02 -1.26e-01 1.08e+00 1.10e+00 0.135 2.81 + 114 2 -323 105 8.62e-01 1.20e+00 3.06e+01 3.07e+01 0.932 3.73 + 115 1 321 105 9.69e-03 7.51e-01 1.23e+01 1.23e+01 0.494 3.49 + 116 2 113 105 1.74e+00 5.98e-01 2.00e+01 2.01e+01 0.783 3.08 + 117 2 111 105 3.05e-01 1.83e+00 4.19e+01 4.19e+01 0.135 3.81 + 118 1 -211 105 -3.51e-01 -4.57e-01 4.38e+01 4.38e+01 0.14 5.02 + 119 1 211 105 -3.70e-01 2.54e-01 1.03e+01 1.03e+01 0.14 3.82 + 120 2 -323 105 -7.35e-01 2.68e-01 6.01e+01 6.01e+01 0.912 5.03 + 121 2 311 105 -6.95e-01 3.26e-01 7.29e+01 7.29e+01 0.498 5.25 + 122 2 113 105 -5.29e-01 3.14e-01 7.31e+01 7.31e+01 0.94 5.47 + 123 1 211 105 6.60e-01 4.74e-01 8.64e+01 8.64e+01 0.14 5.36 + 124 2 -323 105 3.09e-01 4.30e-01 1.94e+02 1.94e+02 0.897 6.6 + 125 2 323 105 6.23e-01 6.57e-01 2.05e+01 2.06e+01 0.848 3.82 + 126 2 -213 105 8.23e-01 5.35e-01 3.76e+01 3.76e+01 0.633 4.34 + 127 2 213 105 9.80e-01 8.75e-02 3.46e+01 3.46e+01 0.865 4.25 + 128 1 -211 105 -5.49e-01 6.94e-01 8.21e+00 8.26e+00 0.14 2.92 + 129 2 113 105 -1.85e-01 6.04e-01 1.31e+01 1.31e+01 0.638 3.73 + 130 2 -3112 105 1.41e+00 4.77e-01 2.04e+01 2.05e+01 1.2 3.32 + 131 2 3122 105 5.38e-01 4.08e-01 1.16e+01 1.17e+01 1.12 3.54 + 132 2 113 105 3.07e-03 -8.83e-01 1.37e+01 1.38e+01 0.569 3.44 + 133 2 221 105 -7.55e-02 1.81e-01 5.69e+00 5.72e+00 0.547 4.06 + 134 2 -323 105 3.41e-02 2.92e-01 9.41e+00 9.46e+00 0.892 4.16 + 135 2 311 105 3.14e-01 -1.65e+00 1.70e+01 1.71e+01 0.498 3.01 + 136 2 111 105 -4.09e-01 4.86e-02 1.86e+00 1.91e+00 0.135 2.21 + 137 1 211 105 4.25e-01 1.01e-01 1.72e+00 1.78e+00 0.14 2.08 + 138 2 331 105 -6.48e-01 -1.86e+00 1.57e+01 1.59e+01 0.957 2.77 + 139 2 223 105 2.60e-01 -7.56e-01 9.46e+00 9.53e+00 0.78 3.17 + 140 2 -213 105 1.84e-01 -1.42e-02 4.98e+00 5.05e+00 0.777 3.99 + 141 2 223 105 2.30e-02 -2.47e-01 7.19e-01 1.09e+00 0.782 1.79 + 142 1 211 105 -2.59e-01 3.71e-01 -1.33e+00 1.41e+00 0.14 -1.8 + 143 2 113 105 3.83e-01 -4.06e-01 -2.28e+00 2.51e+00 0.897 -2.11 + 144 2 -213 105 -1.79e-02 -4.42e-02 -7.72e+00 7.76e+00 0.782 -5.78 + 145 1 -2112 105 1.24e-01 6.09e-01 -5.55e+00 5.67e+00 0.94 -2.89 + 146 1 2212 105 -6.40e-01 -1.87e-02 -7.69e+00 7.77e+00 0.938 -3.18 + 147 2 223 105 -1.76e-02 5.08e-01 -3.09e+01 3.09e+01 0.787 -4.8 + 148 2 -213 105 -6.64e-02 1.12e+00 -6.65e+01 6.65e+01 0.852 -4.77 + 149 2 213 105 -4.18e-01 -2.45e-01 -4.51e+01 4.51e+01 0.509 -5.23 + 150 2 92 48 -1.62e+00 -6.70e+00 -3.12e+01 4.64e+01 33.6 -2.22 + 151 2 -213 150 -9.16e-01 1.98e+00 1.00e-01 2.37e+00 0.921 0.046 + 152 2 221 150 -1.15e-01 -7.93e-01 -1.44e+00 1.74e+00 0.547 -1.35 + 153 2 213 150 -7.21e-01 -1.40e+00 -1.44e+00 2.36e+00 0.993 -0.82 + 154 2 311 150 -4.24e-01 -1.13e+00 -4.25e-01 1.37e+00 0.498 -0.345 + 155 2 -323 150 6.87e-01 -3.46e+00 -5.69e+00 6.76e+00 0.912 -1.25 + 156 1 211 150 3.20e-01 -2.38e+00 -4.94e+00 5.50e+00 0.14 -1.47 + 157 1 -211 150 3.79e-01 -1.74e+00 -1.63e+00 2.42e+00 0.14 -0.819 + 158 1 211 150 3.59e-02 -2.54e-01 -5.92e-01 6.60e-01 0.14 -1.58 + 159 2 113 150 -1.81e-01 -3.16e+00 -1.13e+01 1.17e+01 1.09 -1.98 + 160 1 -211 150 2.85e-01 1.05e-02 -1.42e+00 1.46e+00 0.14 -2.31 + 161 2 111 150 8.02e-02 -3.48e-01 -8.86e-01 9.65e-01 0.135 -1.64 + 162 1 211 150 3.85e-02 2.07e-01 -7.84e-02 2.64e-01 0.14 -0.365 + 163 1 2112 150 -6.25e-01 3.14e+00 1.14e-02 3.34e+00 0.94 0.00356 + 164 1 -2212 150 4.72e-01 9.00e-01 -1.44e+00 2.00e+00 0.938 -1.15 + 165 2 213 150 -8.81e-01 -2.27e-01 -3.02e-01 1.28e+00 0.846 -0.326 + 166 2 113 150 -5.60e-02 1.97e+00 2.01e-01 2.15e+00 0.825 0.102 + 167 2 92 52 0.00e+00 0.00e+00 3.14e+02 3.15e+02 25.6 999 + 168 2 213 167 3.30e-01 5.69e-01 1.16e+01 1.17e+01 0.812 3.56 + 169 2 311 167 -3.95e-01 -2.89e-01 8.42e+00 8.45e+00 0.498 3.54 + 170 2 -323 167 5.21e-01 9.71e-02 8.40e+00 8.46e+00 0.882 3.46 + 171 2 113 167 3.86e-01 -2.76e-01 4.73e+00 4.81e+00 0.754 2.99 + 172 2 213 167 6.03e-01 -3.07e-01 1.46e+00 1.79e+00 0.779 1.51 + 173 2 1114 167 3.67e-01 1.30e-01 3.11e+00 3.35e+00 1.17 2.78 + 174 2 -1114 167 9.74e-01 -6.35e-02 1.23e+01 1.24e+01 1.22 3.23 + 175 1 2112 167 -3.22e-01 -3.96e-01 1.22e+01 1.23e+01 0.94 3.87 + 176 1 211 167 -2.60e-01 -2.60e-02 2.18e+01 2.18e+01 0.14 5.12 + 177 2 -3222 167 -1.34e+00 1.02e+00 7.07e+01 7.07e+01 1.19 4.43 + 178 2 -323 167 6.53e-01 4.58e-01 4.37e+01 4.37e+01 0.948 4.7 + 179 2 113 167 -1.21e+00 -6.53e-01 8.28e+01 8.28e+01 0.446 4.79 + 180 2 213 167 2.02e-01 1.59e-01 2.29e+01 2.30e+01 1.07 5.18 + 181 1 -211 167 -5.12e-01 -4.23e-01 9.66e+00 9.68e+00 0.14 3.37 + 182 1 22 55 1.86e-01 -2.20e-01 -1.21e+00 1.24e+00 0 -2.14 + 183 2 111 55 2.53e-01 5.88e-01 -1.61e+00 1.74e+00 0.135 -1.65 + 184 1 2212 56 -1.82e-01 5.74e-01 -9.91e-01 1.49e+00 0.938 -1.27 + 185 2 111 56 1.91e-01 3.43e-01 -5.42e-01 6.82e-01 0.135 -1.13 + 186 1 -2212 57 3.15e-01 2.11e-01 -1.07e+00 1.47e+00 0.938 -1.76 + 187 2 111 57 -1.27e-01 -8.93e-03 -1.34e-01 2.29e-01 0.135 -0.916 + 188 1 211 59 7.98e-01 -3.21e-01 1.55e+00 1.78e+00 0.14 1.35 + 189 2 111 59 -2.49e-01 -1.29e-01 2.93e-01 4.27e-01 0.135 0.914 + 190 1 321 60 -1.51e-01 -4.28e-01 1.39e+00 1.54e+00 0.494 1.84 + 191 1 -211 60 7.26e-02 1.31e-01 1.48e-01 2.53e-01 0.14 0.87 + 192 1 -321 61 -7.31e-02 -3.29e-02 1.01e+00 1.13e+00 0.494 3.23 + 193 1 211 61 -2.08e-01 -3.77e-01 3.52e-01 5.74e-01 0.14 0.746 + 194 1 22 62 2.72e-01 2.10e-01 7.68e-01 8.42e-01 0 1.54 + 195 1 22 62 2.51e-01 1.05e-01 8.89e-01 9.30e-01 0 1.9 + 196 1 211 63 4.81e-02 -3.37e-02 -1.49e-01 2.12e-01 0.14 -1.66 + 197 1 -211 63 3.78e-01 -2.81e-02 -4.90e-01 6.35e-01 0.14 -1.08 + 198 2 111 63 -5.01e-03 8.27e-03 1.20e-01 1.81e-01 0.135 3.21 + 199 2 311 64 -8.46e-01 9.97e-03 -5.24e-01 1.11e+00 0.498 -0.586 + 200 2 111 64 -1.71e-01 2.93e-01 5.35e-02 3.69e-01 0.135 0.157 + 201 2 310 65 -5.94e-01 4.52e-02 -9.62e-01 1.24e+00 0.498 -1.26 + 202 1 -211 68 5.76e-02 -1.11e-01 -3.45e-01 3.92e-01 0.14 -1.74 + 203 2 111 68 -5.80e-01 1.91e-01 -5.13e-01 8.09e-01 0.135 -0.764 + 204 1 211 69 -2.95e-01 -2.28e-01 -7.61e-01 8.59e-01 0.14 -1.46 + 205 1 -211 69 -3.15e-01 -1.67e-01 -1.36e+00 1.41e+00 0.14 -2.05 + 206 2 111 69 -3.46e-01 2.16e-01 -9.45e-01 1.04e+00 0.135 -1.58 + 207 1 22 71 -2.73e-01 -1.17e-01 -6.83e-01 7.45e-01 0 -1.57 + 208 1 22 71 -5.21e-01 -1.03e+00 -5.14e+00 5.27e+00 0 -2.2 + 209 2 311 73 -1.71e-01 -2.66e-01 -5.17e+00 5.20e+00 0.498 -3.49 + 210 1 211 73 -2.06e-01 2.13e-01 -4.17e+00 4.18e+00 0.14 -3.34 + 211 1 -321 74 5.02e-01 -1.08e-01 -1.72e+01 1.72e+01 0.494 -4.21 + 212 2 111 74 -3.12e-02 9.23e-02 -1.51e+01 1.51e+01 0.135 -5.73 + 213 1 211 79 9.13e-02 -4.69e-02 -3.31e+02 3.31e+02 0.14 -8.77 + 214 1 -211 79 -4.39e-01 -8.59e-02 -2.55e+02 2.55e+02 0.14 -7.04 + 215 1 -211 80 -1.20e-02 1.54e-01 -3.74e+01 3.74e+01 0.14 -6.18 + 216 1 211 80 7.55e-02 -1.10e-01 -1.57e+01 1.57e+01 0.14 -5.46 + 217 2 111 80 2.48e-01 5.07e-02 -1.08e+02 1.08e+02 0.135 -6.75 + 218 1 22 81 -2.03e-01 -1.04e-01 -5.71e+02 5.71e+02 0 -8.52 + 219 1 22 81 -1.04e-01 -1.58e-01 -3.18e+02 3.18e+02 0 -8.12 + 220 1 2212 82 1.97e-01 -2.95e-01 -2.92e+03 2.92e+03 0.938 -9.71 + 221 2 111 82 2.78e-01 -4.62e-02 -1.56e+03 1.56e+03 0.135 -9.31 + 222 1 130 84 2.59e-01 6.89e+00 1.84e+01 1.97e+01 0.498 1.71 + 223 1 -2212 85 6.41e-01 6.66e+00 1.67e+01 1.80e+01 0.938 1.64 + 224 2 111 85 -4.24e-02 3.76e-01 7.07e-01 8.13e-01 0.135 1.38 + 225 1 211 87 7.16e-02 -4.53e-02 1.58e+00 1.59e+00 0.14 3.62 + 226 2 111 87 -2.48e-01 5.95e-01 1.56e+00 1.69e+00 0.135 1.61 + 227 1 -211 88 8.32e-01 2.46e+00 1.01e+01 1.05e+01 0.14 2.07 + 228 2 111 88 1.04e-01 6.66e-01 2.15e+00 2.26e+00 0.135 1.88 + 229 1 211 89 1.50e-02 -2.37e-01 1.44e+00 1.46e+00 0.14 2.5 + 230 1 -211 89 2.25e-01 -2.37e-02 5.61e-01 6.21e-01 0.14 1.64 + 231 2 111 89 -2.15e-02 -2.64e-01 3.99e-01 4.97e-01 0.135 1.2 + 232 1 211 90 2.39e-01 -1.17e-01 3.64e+00 3.65e+00 0.14 3.31 + 233 2 111 90 3.73e-01 -5.12e-02 9.22e-01 1.00e+00 0.135 1.63 + 234 2 111 91 2.57e-01 -7.37e-02 3.87e-01 4.89e-01 0.135 1.17 + 235 2 111 91 1.69e-01 1.34e-01 2.27e-01 3.40e-01 0.135 0.919 + 236 2 111 91 1.17e-01 1.80e-02 4.64e-01 4.98e-01 0.135 2.07 + 237 1 211 93 4.06e-01 -1.11e+00 8.31e+00 8.39e+00 0.14 2.65 + 238 2 111 93 1.44e-01 5.32e-02 1.17e+00 1.19e+00 0.135 2.73 + 239 2 311 95 2.52e-01 -3.22e-02 4.01e+00 4.05e+00 0.498 3.45 + 240 2 111 95 8.10e-02 -1.50e-01 3.41e+00 3.41e+00 0.135 3.69 + 241 1 -2112 96 -2.66e-01 -4.14e-02 1.39e+01 1.39e+01 0.94 4.64 + 242 1 211 96 -2.41e-01 8.07e-03 9.37e+00 9.37e+00 0.14 4.35 + 243 1 2212 98 -6.43e-01 -9.63e-01 2.72e+01 2.72e+01 0.938 3.85 + 244 1 -211 98 -1.05e-02 -1.07e-01 2.19e+00 2.19e+00 0.14 3.71 + 245 1 211 101 -1.07e+00 -8.23e-01 2.16e+01 2.16e+01 0.14 3.47 + 246 1 -211 101 -4.91e-01 -3.00e-02 7.27e+00 7.28e+00 0.14 3.39 + 247 2 111 101 -7.84e-01 -2.98e-01 1.55e+01 1.55e+01 0.135 3.61 + 248 1 -211 102 -1.22e+00 -9.34e-01 2.09e+01 2.10e+01 0.14 3.31 + 249 1 211 102 -1.01e+00 -1.14e+00 1.68e+01 1.69e+01 0.14 3.09 + 250 2 111 102 -9.62e-01 -8.25e-01 1.94e+01 1.95e+01 0.135 3.42 + 251 1 22 103 -5.41e-01 -1.77e-01 8.95e+00 8.97e+00 0 3.45 + 252 1 22 103 -4.01e-01 -8.26e-02 4.99e+00 5.01e+00 0 3.19 + 253 1 -13 104 -2.66e+00 -1.62e+00 3.61e+01 3.63e+01 0.106 3.15 + 254 1 14 104 -1.76e+00 -6.11e-01 2.38e+01 2.38e+01 0 3.24 + 255 2 -323 104 -7.39e+00 -4.91e+00 1.12e+02 1.12e+02 0.837 3.23 + 256 1 211 104 -8.30e-01 -5.01e-01 1.39e+01 1.40e+01 0.14 3.36 + 257 1 -211 107 1.39e-01 2.65e-01 1.20e+02 1.20e+02 0.14 6.69 + 258 1 211 107 -1.80e-01 3.72e-02 6.07e+01 6.07e+01 0.14 6.49 + 259 2 111 107 -2.18e-01 -3.38e-02 1.59e+02 1.59e+02 0.135 7.27 + 260 1 -211 108 -3.18e-01 3.04e-01 3.64e+02 3.64e+02 0.14 7.41 + 261 2 111 108 2.34e-01 -2.08e-01 6.30e+01 6.30e+01 0.135 6 + 262 1 211 109 -3.28e-01 -2.05e-01 6.35e+01 6.35e+01 0.14 5.79 + 263 1 -211 109 -1.77e-02 5.43e-01 7.72e+01 7.72e+01 0.14 5.65 + 264 1 211 110 2.33e-01 2.59e-01 1.10e+02 1.10e+02 0.14 6.44 + 265 2 111 110 1.38e-02 -1.30e-01 1.18e+01 1.18e+01 0.135 5.2 + 266 1 -211 111 4.55e-01 2.28e-01 5.93e+00 5.96e+00 0.14 3.15 + 267 2 111 111 2.63e-01 -2.04e-01 1.23e+01 1.23e+01 0.135 4.3 + 268 1 22 113 -4.67e-02 -1.79e-02 2.27e-01 2.33e-01 0 2.22 + 269 1 22 113 8.32e-02 -1.08e-01 8.55e-01 8.65e-01 0 2.53 + 270 2 -311 114 7.45e-01 8.65e-01 1.75e+01 1.76e+01 0.498 3.42 + 271 1 -211 114 1.17e-01 3.33e-01 1.31e+01 1.31e+01 0.14 4.31 + 272 1 -211 116 1.48e+00 5.93e-01 1.86e+01 1.87e+01 0.14 3.15 + 273 1 211 116 2.54e-01 5.15e-03 1.35e+00 1.38e+00 0.14 2.38 + 274 1 22 117 1.64e-01 1.18e+00 2.56e+01 2.56e+01 0 3.76 + 275 1 22 117 1.41e-01 6.49e-01 1.63e+01 1.63e+01 0 3.89 + 276 2 -311 120 -4.76e-01 -8.43e-02 2.73e+01 2.74e+01 0.498 4.73 + 277 1 -211 120 -2.59e-01 3.52e-01 3.28e+01 3.28e+01 0.14 5.01 + 278 2 310 121 -6.95e-01 3.26e-01 7.29e+01 7.29e+01 0.498 5.25 + 279 1 -211 122 -3.59e-01 -1.68e-01 5.29e+01 5.29e+01 0.14 5.59 + 280 1 211 122 -1.70e-01 4.82e-01 2.02e+01 2.02e+01 0.14 4.37 + 281 1 -321 124 3.41e-01 1.10e-01 1.56e+02 1.56e+02 0.494 6.77 + 282 2 111 124 -3.26e-02 3.19e-01 3.79e+01 3.79e+01 0.135 5.46 + 283 1 321 125 4.99e-01 5.03e-01 1.89e+01 1.90e+01 0.494 3.98 + 284 2 111 125 1.24e-01 1.54e-01 1.61e+00 1.63e+00 0.135 2.79 + 285 1 -211 126 1.79e-01 1.15e-01 3.51e+00 3.52e+00 0.14 3.5 + 286 2 111 126 6.45e-01 4.20e-01 3.41e+01 3.41e+01 0.135 4.48 + 287 1 211 127 1.52e-01 -2.71e-01 5.53e+00 5.54e+00 0.14 3.57 + 288 2 111 127 8.28e-01 3.59e-01 2.90e+01 2.90e+01 0.135 4.16 + 289 1 -211 129 2.22e-02 5.98e-01 7.49e+00 7.51e+00 0.14 3.22 + 290 1 211 129 -2.07e-01 5.68e-03 5.61e+00 5.62e+00 0.14 3.99 + 291 1 -2112 130 8.71e-01 2.93e-01 1.51e+01 1.52e+01 0.94 3.49 + 292 1 211 130 5.35e-01 1.84e-01 5.33e+00 5.36e+00 0.14 2.94 + 293 1 2212 131 4.23e-01 2.98e-01 8.79e+00 8.85e+00 0.938 3.53 + 294 1 -211 131 1.15e-01 1.10e-01 2.82e+00 2.83e+00 0.14 3.57 + 295 1 211 132 1.84e-01 -7.50e-01 1.00e+01 1.01e+01 0.14 3.26 + 296 1 -211 132 -1.81e-01 -1.32e-01 3.67e+00 3.68e+00 0.14 3.49 + 297 1 -211 133 -9.23e-02 1.32e-02 1.69e+00 1.70e+00 0.14 3.59 + 298 1 211 133 9.04e-02 1.96e-01 2.56e+00 2.57e+00 0.14 3.17 + 299 2 111 133 -7.35e-02 -2.80e-02 1.44e+00 1.45e+00 0.135 3.6 + 300 1 -321 134 -1.67e-01 1.34e-01 3.65e+00 3.69e+00 0.494 3.53 + 301 2 111 134 2.01e-01 1.58e-01 5.76e+00 5.77e+00 0.135 3.81 + 302 2 310 135 3.14e-01 -1.65e+00 1.70e+01 1.71e+01 0.498 3.01 + 303 1 22 136 -1.78e-01 -1.33e-02 5.50e-01 5.78e-01 0 1.84 + 304 1 22 136 -2.32e-01 6.20e-02 1.31e+00 1.33e+00 0 2.4 + 305 1 22 138 -4.81e-01 -1.05e+00 7.76e+00 7.84e+00 0 2.61 + 306 2 113 138 -1.67e-01 -8.16e-01 7.99e+00 8.05e+00 0.615 2.96 + 307 1 211 139 -1.82e-01 -2.85e-01 3.01e+00 3.04e+00 0.14 2.88 + 308 1 -211 139 3.52e-01 -2.34e-01 3.18e+00 3.21e+00 0.14 2.71 + 309 2 111 139 9.05e-02 -2.37e-01 3.27e+00 3.29e+00 0.135 3.25 + 310 1 -211 140 2.79e-01 2.86e-01 3.45e+00 3.48e+00 0.14 2.85 + 311 2 111 140 -9.42e-02 -3.00e-01 1.53e+00 1.57e+00 0.135 2.28 + 312 1 211 141 -2.46e-01 -1.38e-01 4.72e-01 5.67e-01 0.14 1.29 + 313 1 -211 141 7.94e-02 -1.55e-01 9.74e-02 2.43e-01 0.14 0.535 + 314 2 111 141 1.90e-01 4.50e-02 1.49e-01 2.80e-01 0.135 0.706 + 315 1 211 143 5.77e-01 -3.95e-01 -1.11e+00 1.32e+00 0.14 -1.24 + 316 1 -211 143 -1.94e-01 -1.14e-02 -1.16e+00 1.19e+00 0.14 -2.49 + 317 1 -211 144 -2.90e-01 1.20e-01 -2.01e+00 2.04e+00 0.14 -2.55 + 318 2 111 144 2.72e-01 -1.64e-01 -5.71e+00 5.72e+00 0.135 -3.58 + 319 1 211 147 2.62e-01 1.20e-01 -1.48e+01 1.48e+01 0.14 -4.63 + 320 1 -211 147 -2.61e-01 2.35e-01 -1.15e+01 1.15e+01 0.14 -4.18 + 321 2 111 147 -1.79e-02 1.53e-01 -4.65e+00 4.66e+00 0.135 -4.1 + 322 1 -211 148 1.12e-01 1.11e+00 -4.62e+01 4.62e+01 0.14 -4.41 + 323 2 111 148 -1.78e-01 1.10e-02 -2.03e+01 2.03e+01 0.135 -5.43 + 324 1 211 149 -1.89e-01 9.91e-02 -1.27e+01 1.27e+01 0.14 -4.78 + 325 2 111 149 -2.30e-01 -3.45e-01 -3.23e+01 3.23e+01 0.135 -5.05 + 326 1 -211 151 -1.02e+00 1.54e+00 -1.06e-01 1.86e+00 0.14 -0.0572 + 327 2 111 151 1.04e-01 4.38e-01 2.06e-01 5.13e-01 0.135 0.443 + 328 1 22 152 6.53e-03 -1.30e-01 -9.64e-02 1.62e-01 0 -0.684 + 329 1 -211 152 -1.24e-01 -5.90e-01 -1.24e+00 1.39e+00 0.14 -1.47 + 330 1 211 152 2.94e-03 -7.27e-02 -1.04e-01 1.89e-01 0.14 -1.15 + 331 1 211 153 -2.32e-01 -3.60e-01 6.47e-02 4.55e-01 0.14 0.151 + 332 2 111 153 -4.89e-01 -1.04e+00 -1.51e+00 1.90e+00 0.135 -1.08 + 333 1 130 154 -4.24e-01 -1.13e+00 -4.25e-01 1.37e+00 0.498 -0.345 + 334 2 -311 155 5.45e-01 -2.19e+00 -4.15e+00 4.75e+00 0.498 -1.37 + 335 1 -211 155 1.42e-01 -1.27e+00 -1.53e+00 2.00e+00 0.14 -1.02 + 336 1 211 159 -1.22e-01 -3.15e+00 -1.02e+01 1.07e+01 0.14 -1.89 + 337 1 -211 159 -5.90e-02 -1.16e-02 -1.06e+00 1.07e+00 0.14 -3.56 + 338 1 22 161 1.50e-02 -1.99e-01 -3.33e-01 3.89e-01 0 -1.28 + 339 1 22 161 6.52e-02 -1.48e-01 -5.53e-01 5.76e-01 0 -1.94 + 340 1 211 165 8.59e-02 -1.62e-01 5.61e-02 2.37e-01 0.14 0.302 + 341 2 111 165 -9.67e-01 -6.54e-02 -3.58e-01 1.04e+00 0.135 -0.362 + 342 1 211 166 -3.39e-01 8.24e-01 -1.32e-01 9.12e-01 0.14 -0.148 + 343 1 -211 166 2.83e-01 1.15e+00 3.33e-01 1.24e+00 0.14 0.279 + 344 1 211 168 1.04e-01 -1.62e-01 4.07e+00 4.08e+00 0.14 3.75 + 345 2 111 168 2.26e-01 7.32e-01 7.54e+00 7.58e+00 0.135 2.98 + 346 1 130 169 -3.95e-01 -2.89e-01 8.42e+00 8.45e+00 0.498 3.54 + 347 2 -311 170 5.01e-01 -1.67e-01 6.25e+00 6.29e+00 0.498 3.17 + 348 1 -211 170 2.04e-02 2.65e-01 2.15e+00 2.17e+00 0.14 2.79 + 349 1 -211 171 3.66e-01 -4.30e-01 4.25e+00 4.29e+00 0.14 2.72 + 350 1 211 171 1.98e-02 1.54e-01 4.78e-01 5.22e-01 0.14 1.84 + 351 1 211 172 1.59e-01 -1.91e-01 1.22e+00 1.25e+00 0.14 2.29 + 352 2 111 172 4.44e-01 -1.16e-01 2.40e-01 5.35e-01 0.135 0.502 + 353 1 2112 173 2.45e-01 -3.69e-02 2.29e+00 2.49e+00 0.94 2.92 + 354 1 -211 173 1.22e-01 1.66e-01 8.23e-01 8.60e-01 0.14 2.09 + 355 1 -2112 174 1.03e+00 -1.27e-01 1.10e+01 1.11e+01 0.94 3.06 + 356 1 211 174 -5.68e-02 6.31e-02 1.23e+00 1.24e+00 0.14 3.36 + 357 1 -2112 177 -1.14e+00 9.79e-01 5.61e+01 5.61e+01 0.94 4.31 + 358 1 -211 177 -2.04e-01 4.09e-02 1.46e+01 1.46e+01 0.14 4.94 + 359 2 -311 178 4.73e-01 2.00e-01 3.82e+01 3.83e+01 0.498 5 + 360 1 -211 178 1.80e-01 2.59e-01 5.46e+00 5.47e+00 0.14 3.55 + 361 1 -211 179 -3.21e-01 -3.53e-01 2.81e+01 2.81e+01 0.14 4.77 + 362 1 211 179 -8.84e-01 -2.99e-01 5.47e+01 5.47e+01 0.14 4.76 + 363 1 211 180 9.34e-02 -3.77e-01 1.53e+01 1.53e+01 0.14 4.37 + 364 2 111 180 1.09e-01 5.36e-01 7.65e+00 7.67e+00 0.135 3.33 + 365 1 22 183 2.12e-01 4.81e-01 -1.44e+00 1.53e+00 0 -1.73 + 366 1 22 183 4.10e-02 1.07e-01 -1.71e-01 2.06e-01 0 -1.19 + 367 1 22 185 6.06e-02 3.00e-02 -4.56e-02 8.16e-02 0 -0.632 + 368 1 22 185 1.30e-01 3.13e-01 -4.96e-01 6.01e-01 0 -1.17 + 369 1 22 187 2.77e-02 1.03e-02 -2.01e-02 3.57e-02 0 -0.637 + 370 1 22 187 -1.55e-01 -1.92e-02 -1.14e-01 1.93e-01 0 -0.676 + 371 1 22 189 -1.81e-01 -2.11e-02 1.53e-01 2.38e-01 0 0.761 + 372 1 22 189 -6.73e-02 -1.07e-01 1.40e-01 1.89e-01 0 0.955 + 373 1 22 198 1.34e-03 7.12e-02 5.32e-02 8.89e-02 0 0.691 + 374 1 22 198 -6.35e-03 -6.29e-02 6.66e-02 9.19e-02 0 0.919 + 375 1 130 199 -8.46e-01 9.97e-03 -5.24e-01 1.11e+00 0.498 -0.586 + 376 1 22 200 -6.95e-02 5.87e-02 6.75e-02 1.13e-01 0 0.686 + 377 1 22 200 -1.01e-01 2.34e-01 -1.40e-02 2.56e-01 0 -0.0549 + 378 1 -211 201 -4.66e-01 -1.16e-01 -7.85e-01 9.31e-01 0.14 -1.27 + 379 1 211 201 -1.27e-01 1.61e-01 -1.77e-01 3.05e-01 0.14 -0.779 + 380 1 22 203 -1.12e-01 1.95e-02 -3.66e-02 1.19e-01 0 -0.318 + 381 1 22 203 -4.68e-01 1.71e-01 -4.77e-01 6.89e-01 0 -0.85 + 382 1 22 206 -1.57e-02 5.92e-02 -1.81e-01 1.91e-01 0 -1.81 + 383 1 22 206 -3.30e-01 1.57e-01 -7.64e-01 8.47e-01 0 -1.48 + 384 1 130 209 -1.71e-01 -2.66e-01 -5.17e+00 5.20e+00 0.498 -3.49 + 385 1 22 212 -4.69e-02 2.85e-02 -2.00e+00 2.00e+00 0 -4.29 + 386 1 22 212 1.57e-02 6.39e-02 -1.31e+01 1.31e+01 0 -5.98 + 387 1 22 217 2.37e-01 7.36e-02 -8.39e+01 8.39e+01 0 -6.51 + 388 1 22 217 1.03e-02 -2.30e-02 -2.37e+01 2.37e+01 0 -7.54 + 389 1 22 221 4.24e-02 -5.34e-02 -5.27e+02 5.27e+02 0 -9.65 + 390 1 22 221 2.36e-01 7.19e-03 -1.03e+03 1.03e+03 0 -9.08 + 391 1 22 224 -8.51e-02 2.75e-01 5.60e-01 6.30e-01 0 1.42 + 392 1 22 224 4.27e-02 1.02e-01 1.47e-01 1.84e-01 0 1.1 + 393 1 22 226 -2.22e-01 5.35e-01 1.26e+00 1.39e+00 0 1.52 + 394 1 22 226 -2.62e-02 6.09e-02 2.95e-01 3.02e-01 0 2.2 + 395 1 22 228 -4.01e-03 1.55e-01 6.73e-01 6.90e-01 0 2.17 + 396 1 22 228 1.08e-01 5.11e-01 1.48e+00 1.57e+00 0 1.76 + 397 1 22 231 -3.42e-02 -7.73e-02 2.32e-01 2.47e-01 0 1.73 + 398 1 22 231 1.27e-02 -1.86e-01 1.67e-01 2.51e-01 0 0.805 + 399 1 22 233 2.80e-01 -1.69e-03 5.35e-01 6.04e-01 0 1.4 + 400 1 22 233 9.24e-02 -4.95e-02 3.86e-01 4.00e-01 0 2.02 + 401 1 22 234 1.57e-02 1.97e-04 1.24e-01 1.25e-01 0 2.76 + 402 1 22 234 2.41e-01 -7.39e-02 2.63e-01 3.65e-01 0 0.913 + 403 1 22 235 -4.84e-03 6.82e-02 6.76e-02 9.61e-02 0 0.873 + 404 1 22 235 1.73e-01 6.55e-02 1.59e-01 2.44e-01 0 0.777 + 405 1 22 236 7.52e-02 1.64e-02 4.45e-01 4.51e-01 0 2.45 + 406 1 22 236 4.22e-02 1.58e-03 1.95e-02 4.65e-02 0 0.447 + 407 1 22 238 7.08e-02 5.87e-02 2.81e-01 2.96e-01 0 1.84 + 408 1 22 238 7.34e-02 -5.49e-03 8.93e-01 8.96e-01 0 3.19 + 409 1 130 239 2.52e-01 -3.22e-02 4.01e+00 4.05e+00 0.498 3.45 + 410 1 22 240 2.26e-02 1.58e-02 1.76e-01 1.78e-01 0 2.55 + 411 1 22 240 5.84e-02 -1.66e-01 3.23e+00 3.23e+00 0 3.6 + 412 1 22 247 -6.41e-01 -2.96e-01 1.27e+01 1.27e+01 0 3.58 + 413 1 22 247 -1.44e-01 -1.83e-03 2.79e+00 2.79e+00 0 3.66 + 414 1 22 250 -1.90e-01 -2.36e-01 4.42e+00 4.43e+00 0 3.37 + 415 1 22 250 -7.72e-01 -5.89e-01 1.50e+01 1.50e+01 0 3.43 + 416 2 -311 255 -5.75e+00 -4.03e+00 9.04e+01 9.07e+01 0.498 3.25 + 417 1 -211 255 -1.63e+00 -8.85e-01 2.17e+01 2.18e+01 0.14 3.15 + 418 1 22 259 -7.26e-02 3.72e-02 8.18e+01 8.18e+01 0 7.6 + 419 1 22 259 -1.45e-01 -7.10e-02 7.70e+01 7.70e+01 0 6.86 + 420 1 22 261 7.52e-02 -1.46e-01 3.70e+01 3.70e+01 0 6.11 + 421 1 22 261 1.59e-01 -6.23e-02 2.60e+01 2.60e+01 0 5.72 + 422 1 22 265 5.30e-02 -1.04e-01 1.05e+01 1.05e+01 0 5.19 + 423 1 22 265 -3.92e-02 -2.58e-02 1.30e+00 1.30e+00 0 4.02 + 424 1 22 267 1.46e-01 -1.26e-01 4.71e+00 4.72e+00 0 3.89 + 425 1 22 267 1.17e-01 -7.78e-02 7.57e+00 7.57e+00 0 4.68 + 426 1 130 270 7.45e-01 8.65e-01 1.75e+01 1.76e+01 0.498 3.42 + 427 2 310 276 -4.76e-01 -8.43e-02 2.73e+01 2.74e+01 0.498 4.73 + 428 1 -211 278 -4.89e-01 3.54e-01 4.01e+01 4.01e+01 0.14 4.89 + 429 1 211 278 -2.06e-01 -2.80e-02 3.28e+01 3.28e+01 0.14 5.75 + 430 1 22 282 5.31e-02 1.24e-01 1.45e+01 1.45e+01 0 5.37 + 431 1 22 282 -8.57e-02 1.96e-01 2.34e+01 2.34e+01 0 5.39 + 432 1 22 284 -5.31e-03 6.23e-02 7.92e-01 7.95e-01 0 3.23 + 433 1 22 284 1.29e-01 9.20e-02 8.15e-01 8.30e-01 0 2.34 + 434 1 22 286 4.74e-01 2.66e-01 2.60e+01 2.60e+01 0 4.56 + 435 1 22 286 1.71e-01 1.54e-01 8.07e+00 8.07e+00 0 4.25 + 436 1 22 288 1.14e-01 6.49e-03 4.34e+00 4.35e+00 0 4.33 + 437 1 22 288 7.14e-01 3.52e-01 2.47e+01 2.47e+01 0 4.13 + 438 1 22 299 -1.07e-01 -3.03e-02 8.22e-01 8.30e-01 0 2.7 + 439 1 22 299 3.38e-02 2.24e-03 6.17e-01 6.18e-01 0 3.6 + 440 1 22 301 1.81e-02 2.96e-02 2.18e+00 2.18e+00 0 4.83 + 441 1 22 301 1.83e-01 1.29e-01 3.58e+00 3.59e+00 0 3.47 + 442 1 -211 302 1.72e-01 -6.23e-01 4.82e+00 4.86e+00 0.14 2.71 + 443 1 211 302 1.42e-01 -1.03e+00 1.22e+01 1.22e+01 0.14 3.16 + 444 1 211 306 -1.88e-01 -5.71e-01 7.00e+00 7.03e+00 0.14 3.15 + 445 1 -211 306 2.18e-02 -2.45e-01 9.87e-01 1.03e+00 0.14 2.1 + 446 1 22 309 4.19e-02 -2.35e-01 2.81e+00 2.82e+00 0 3.16 + 447 1 22 309 4.86e-02 -2.97e-03 4.66e-01 4.69e-01 0 2.96 + 448 1 22 311 -2.82e-03 -2.16e-01 1.05e+00 1.07e+00 0 2.29 + 449 1 22 311 -9.14e-02 -8.42e-02 4.77e-01 4.93e-01 0 2.05 + 450 1 22 314 2.09e-01 4.32e-02 1.20e-01 2.45e-01 0 0.537 + 451 1 22 314 -1.95e-02 1.78e-03 2.91e-02 3.51e-02 0 1.18 + 452 1 22 318 1.95e-01 -1.05e-01 -4.83e+00 4.83e+00 0 -3.78 + 453 1 22 318 7.70e-02 -5.94e-02 -8.79e-01 8.85e-01 0 -2.9 + 454 1 22 321 -7.16e-02 5.21e-02 -1.72e+00 1.72e+00 0 -3.66 + 455 1 22 321 5.37e-02 1.01e-01 -2.94e+00 2.94e+00 0 -3.94 + 456 1 22 323 -6.46e-02 -3.23e-02 -3.26e+00 3.26e+00 0 -4.5 + 457 1 22 323 -1.14e-01 4.32e-02 -1.70e+01 1.70e+01 0 -5.63 + 458 1 22 325 -1.74e-01 -1.74e-01 -1.52e+01 1.52e+01 0 -4.81 + 459 1 22 325 -5.56e-02 -1.70e-01 -1.72e+01 1.72e+01 0 -5.25 + 460 1 22 327 5.40e-02 7.92e-02 -1.10e-03 9.58e-02 0 -0.0115 + 461 1 22 327 5.00e-02 3.59e-01 2.07e-01 4.18e-01 0 0.544 + 462 1 22 332 -3.17e-01 -5.82e-01 -7.77e-01 1.02e+00 0 -0.998 + 463 1 22 332 -1.72e-01 -4.62e-01 -7.31e-01 8.82e-01 0 -1.19 + 464 2 310 334 5.45e-01 -2.19e+00 -4.15e+00 4.75e+00 0.498 -1.37 + 465 1 22 341 -8.33e-01 -4.86e-02 -3.56e-01 9.07e-01 0 -0.414 + 466 1 22 341 -1.33e-01 -1.68e-02 -2.52e-03 1.34e-01 0 -0.0188 + 467 1 22 345 9.45e-02 1.29e-01 1.71e+00 1.72e+00 0 3.06 + 468 1 22 345 1.32e-01 6.02e-01 5.83e+00 5.86e+00 0 2.94 + 469 1 130 347 5.01e-01 -1.67e-01 6.25e+00 6.29e+00 0.498 3.17 + 470 1 22 352 2.57e-01 -1.71e-02 7.96e-02 2.70e-01 0 0.304 + 471 1 22 352 1.87e-01 -9.90e-02 1.61e-01 2.65e-01 0 0.701 + 472 2 310 359 4.73e-01 2.00e-01 3.82e+01 3.83e+01 0.498 5 + 473 1 22 364 5.69e-02 7.93e-02 9.62e-01 9.67e-01 0 2.98 + 474 1 22 364 5.20e-02 4.57e-01 6.69e+00 6.71e+00 0 3.37 + 475 1 130 416 -5.75e+00 -4.03e+00 9.04e+01 9.07e+01 0.498 3.25 + 476 1 -211 427 -3.84e-01 1.04e-01 1.37e+01 1.37e+01 0.14 4.23 + 477 1 211 427 -9.18e-02 -1.88e-01 1.36e+01 1.36e+01 0.14 4.87 + 478 1 211 464 4.39e-01 -1.92e+00 -3.36e+00 3.89e+00 0.14 -1.3 + 479 1 -211 464 1.06e-01 -2.74e-01 -7.97e-01 8.61e-01 0.14 -1.72 + 480 1 211 472 -1.68e-02 1.30e-02 4.22e+00 4.22e+00 0.14 5.99 + 481 1 -211 472 4.90e-01 1.87e-01 3.40e+01 3.40e+01 0.14 4.87 +7 Event +399 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 2 1 9.56e-02 7.94e-02 2.43e+02 2.43e+02 0 8.27 + 4 3 21 2 -3.18e-03 5.06e-01 -2.57e+01 2.57e+01 0 -4.62 + 5 3 2 3 -2.13e-01 8.39e-01 2.30e+02 2.30e+02 0 6.28 + 6 3 -3 4 -1.98e+00 8.38e-01 -1.16e+01 1.18e+01 0 -2.39 + 7 3 22 5 1.40e+00 -8.24e-02 8.34e+01 8.34e+01 0 4.78 + 8 3 24 5 -3.60e+00 1.76e+00 1.35e+02 1.58e+02 82.7 4.21 + 9 1 22 7 1.40e+00 -8.24e-02 8.34e+01 8.34e+01 0 4.78 + 10 2 24 8 -3.60e+00 1.76e+00 1.35e+02 1.58e+02 82.7 4.21 + 11 2 3 4 -2.86e-01 -1.48e+00 -1.08e+01 1.09e+01 0.5 -2.67 + 12 2 2101 2 3.87e-01 -2.04e-01 -5.11e+03 5.11e+03 0.579 -10.1 + 13 2 2 10 -4.94e+00 1.43e+00 5.93e+01 5.95e+01 0.33 3.14 + 14 2 21 10 -6.66e+00 2.46e+00 7.04e+01 7.08e+01 0 2.99 + 15 2 21 10 -1.14e+00 -8.44e-01 1.52e+00 2.08e+00 0 0.933 + 16 2 21 10 -7.02e+00 -9.61e-01 5.94e+00 9.25e+00 0 0.762 + 17 2 21 10 1.92e+00 -1.00e+00 2.04e-01 2.18e+00 0 0.0939 + 18 2 21 10 6.52e+00 1.46e+00 -1.42e+00 6.83e+00 0 -0.211 + 19 2 -3 10 7.72e+00 -7.89e-01 -8.92e-01 7.82e+00 0.5 -0.115 + 20 2 3 0 2.95e+00 -4.25e+00 -4.19e+01 4.22e+01 0 -2.79 + 21 2 -3 0 -2.95e+00 4.25e+00 -1.44e+02 1.44e+02 0 -4.02 + 22 2 3 0 -2.38e+00 -2.49e+00 -4.33e+00 5.53e+00 0 -1.05 + 23 2 -3 0 2.38e+00 2.49e+00 -9.67e+02 9.67e+02 0 -6.33 + 24 2 2101 1 -9.56e-02 -7.94e-02 6.50e+03 6.50e+03 0.579 11.6 + 25 2 21 3 -3.65e-03 -1.44e+00 8.17e+00 8.29e+00 0 2.43 + 26 2 21 3 2.96e-01 6.87e-01 4.04e+00 4.10e+00 0 2.39 + 27 2 21 0 -3.28e+00 8.80e-01 2.48e+02 2.48e+02 0 4.98 + 28 2 21 0 3.28e+00 -8.80e-01 5.60e+00 6.55e+00 0 1.27 + 29 2 21 0 -3.77e+00 9.06e-01 -3.32e+00 5.11e+00 0 -0.776 + 30 2 21 0 3.77e+00 -9.06e-01 -1.22e+01 1.28e+01 0 -1.86 + 31 2 21 4 1.22e+00 -4.76e-02 -9.72e-01 1.56e+00 0 -0.731 + 32 2 21 4 1.06e+00 1.19e+00 -1.45e+00 2.15e+00 0 -0.815 + 33 2 2 2 -3.84e-01 -3.01e-01 -1.41e+02 1.41e+02 0.33 -6.36 + 34 2 21 0 -1.78e+00 -2.52e+00 -1.60e+02 1.60e+02 0 -4.64 + 35 2 21 0 1.78e+00 2.52e+00 -3.90e+00 4.98e+00 0 -1.06 + 36 2 21 0 -7.98e-01 2.83e+00 -4.95e+01 4.96e+01 0 -3.52 + 37 2 21 0 7.98e-01 -2.83e+00 -3.39e+02 3.39e+02 0 -5.44 + 38 2 92 11 1.01e-01 -1.68e+00 -5.12e+03 5.12e+03 34.4 -8.71 + 39 2 -313 38 -2.10e-01 -5.84e-01 -1.19e+01 1.19e+01 0.934 -3.64 + 40 2 113 38 -2.63e-01 -5.65e-01 -1.20e+01 1.20e+01 0.588 -3.65 + 41 1 -211 38 2.12e-02 1.20e-01 -3.89e+01 3.89e+01 0.14 -6.46 + 42 2 2114 38 -3.09e-01 -4.58e-01 -6.04e+01 6.05e+01 1.27 -5.39 + 43 2 223 38 7.59e-01 -4.58e-02 -7.58e+01 7.58e+01 0.797 -5.29 + 44 2 -3114 38 -4.71e-01 -3.70e-02 -1.62e+02 1.62e+02 1.38 -6.53 + 45 2 -311 38 3.93e-01 1.51e-01 -1.58e+02 1.58e+02 0.498 -6.62 + 46 1 2112 38 1.81e-01 -2.64e-01 -4.60e+03 4.60e+03 0.94 -10.3 + 47 2 92 13 -3.60e+00 1.76e+00 1.35e+02 1.58e+02 82.7 4.21 + 48 2 213 47 -4.60e+00 1.48e+00 4.42e+01 4.45e+01 0.582 2.91 + 49 2 111 47 6.67e-02 -2.73e-02 1.56e+00 1.57e+00 0.135 3.77 + 50 2 -213 47 -1.25e+00 6.36e-01 2.31e+01 2.31e+01 0.448 3.49 + 51 2 223 47 -4.97e+00 1.24e+00 4.44e+01 4.47e+01 0.78 2.86 + 52 1 211 47 2.02e-01 1.98e-01 8.65e-01 9.20e-01 0.14 1.84 + 53 2 3112 47 -7.06e-01 -6.57e-02 9.00e+00 9.11e+00 1.2 3.24 + 54 2 -3212 47 -1.37e+00 -6.04e-01 5.07e+00 5.42e+00 1.19 1.94 + 55 1 211 47 -2.64e-01 7.34e-01 2.69e+00 2.80e+00 0.14 1.95 + 56 2 -213 47 -3.47e+00 -5.07e-01 3.41e+00 4.94e+00 0.727 0.861 + 57 2 111 47 -2.27e-01 -6.42e-01 5.54e-01 8.88e-01 0.135 0.744 + 58 2 113 47 -5.03e-01 -2.24e-02 4.26e-01 1.05e+00 0.815 0.768 + 59 2 213 47 -1.20e+00 6.22e-02 1.61e+00 2.26e+00 1.04 1.1 + 60 2 -213 47 -2.93e-02 -5.24e-01 9.35e-02 9.69e-01 0.809 0.177 + 61 2 213 47 4.87e-01 -5.44e-01 -2.14e-01 9.90e-01 0.633 -0.289 + 62 1 -211 47 1.87e-01 4.28e-02 -2.69e-01 3.59e-01 0.14 -1.14 + 63 1 211 47 1.30e-01 -2.15e-02 3.55e-01 4.03e-01 0.14 1.72 + 64 2 311 47 4.64e+00 8.72e-01 -2.70e-01 4.75e+00 0.498 -0.0573 + 65 2 -323 47 2.25e+00 -8.17e-01 -6.89e-01 2.62e+00 0.796 -0.284 + 66 2 323 47 7.03e+00 2.65e-01 -7.65e-01 7.13e+00 0.841 -0.109 + 67 2 92 20 0.00e+00 0.00e+00 -1.86e+02 1.86e+02 12.4 -999 + 68 2 -313 67 6.71e-01 -1.00e+00 -1.21e+01 1.21e+01 0.838 -3 + 69 2 111 67 1.88e+00 -2.10e+00 -2.66e+01 2.67e+01 0.135 -2.94 + 70 2 113 67 -1.11e-01 -5.13e-01 -9.01e+00 9.06e+00 0.784 -3.54 + 71 2 223 67 -2.07e-01 1.74e-01 -1.31e+01 1.32e+01 0.784 -4.58 + 72 2 113 67 -4.41e-01 5.77e-01 -2.48e+01 2.48e+01 0.785 -4.22 + 73 1 -211 67 7.79e-02 -3.66e-02 -1.34e+00 1.35e+00 0.14 -3.44 + 74 2 323 67 -1.87e+00 2.90e+00 -9.91e+01 9.91e+01 0.84 -4.05 + 75 2 92 22 0.00e+00 0.00e+00 -9.71e+02 9.72e+02 48.5 -999 + 76 2 -323 75 -2.24e+00 -2.43e+00 -4.86e+00 5.95e+00 0.92 -1.18 + 77 2 111 75 -6.75e-02 -1.26e-01 -1.77e+00 1.78e+00 0.135 -3.21 + 78 2 113 75 1.54e-01 6.23e-01 -1.02e+01 1.02e+01 0.544 -3.46 + 79 2 111 75 -1.67e-01 -5.14e-01 -7.96e+00 7.98e+00 0.135 -3.38 + 80 1 211 75 -9.67e-02 5.13e-01 -4.12e+00 4.16e+00 0.14 -2.76 + 81 2 111 75 4.48e-02 -6.33e-01 -2.89e+01 2.89e+01 0.135 -4.51 + 82 1 -211 75 -1.16e-01 2.97e-01 -1.54e+01 1.54e+01 0.14 -4.57 + 83 2 213 75 1.37e+00 2.00e+00 -5.69e+02 5.69e+02 0.638 -6.15 + 84 2 313 75 1.11e+00 2.76e-01 -3.28e+02 3.28e+02 0.908 -6.35 + 85 2 92 24 2.09e+00 5.09e-03 6.61e+03 6.93e+03 2.09e+03 8.75 + 86 2 113 85 2.94e-01 -4.33e-01 1.59e+03 1.59e+03 0.656 8.71 + 87 1 2112 85 -1.16e-01 7.59e-01 1.58e+03 1.58e+03 0.94 8.32 + 88 2 113 85 2.72e-02 -4.05e-01 1.62e+03 1.62e+03 0.709 8.98 + 89 2 111 85 -1.44e-01 9.59e-01 7.88e+02 7.88e+02 0.135 7.39 + 90 2 -2214 85 -3.69e-01 -8.05e-01 8.09e+02 8.09e+02 1.21 7.51 + 91 1 211 85 3.58e-01 -5.01e-01 3.00e+01 3.00e+01 0.14 4.58 + 92 2 2114 85 -9.85e-02 -1.42e-01 6.02e+01 6.02e+01 1.21 6.55 + 93 2 223 85 -6.68e-02 3.49e-01 1.73e+01 1.73e+01 0.785 4.58 + 94 2 223 85 1.09e-01 -1.19e-01 5.90e+00 5.96e+00 0.773 4.3 + 95 2 223 85 -1.13e-01 -3.70e-01 2.20e+01 2.20e+01 0.769 4.73 + 96 1 211 85 1.71e-02 3.14e-01 1.01e+01 1.01e+01 0.14 4.17 + 97 2 221 85 -2.40e-01 -5.24e-01 1.45e+01 1.46e+01 0.547 3.92 + 98 1 -211 85 -2.76e-01 -5.70e-01 6.88e+00 6.91e+00 0.14 3.08 + 99 1 211 85 -3.20e-01 5.98e-01 1.93e+01 1.93e+01 0.14 4.04 + 100 2 223 85 -3.46e-01 3.15e-01 6.26e+01 6.26e+01 0.789 5.59 + 101 2 111 85 2.29e-02 5.56e-02 1.16e+00 1.17e+00 0.135 3.66 + 102 2 111 85 -2.92e-01 3.07e-01 5.30e+00 5.32e+00 0.135 3.22 + 103 2 -213 85 3.21e-01 2.17e-01 1.83e+01 1.84e+01 0.812 4.55 + 104 1 211 85 -4.16e-01 -2.49e-01 7.63e+00 7.65e+00 0.14 3.45 + 105 2 221 85 -2.55e-01 3.09e-01 4.82e+01 4.82e+01 0.547 5.48 + 106 2 223 85 -7.42e-01 -2.48e-01 2.09e+01 2.10e+01 0.768 3.98 + 107 2 113 85 2.44e-01 -4.28e-02 1.61e+01 1.61e+01 0.787 4.87 + 108 2 223 85 4.72e-02 -3.27e-01 2.12e+00 2.28e+00 0.76 2.56 + 109 1 -2212 85 9.49e-01 4.16e-01 3.24e+00 3.53e+00 0.938 1.86 + 110 2 223 85 1.66e-01 -4.16e-01 2.68e+00 2.83e+00 0.777 2.49 + 111 1 2212 85 1.57e+00 1.91e-01 4.10e+00 4.49e+00 0.938 1.68 + 112 2 221 85 -1.16e+00 9.92e-02 -7.15e-01 1.47e+00 0.547 -0.582 + 113 2 -213 85 -1.08e+00 -4.37e-02 -8.72e-01 1.81e+00 1.15 -0.738 + 114 2 -311 85 -1.22e+00 7.88e-02 -6.07e-01 1.45e+00 0.498 -0.478 + 115 2 323 85 1.71e+00 -2.90e-02 -5.69e+00 6.00e+00 0.835 -1.92 + 116 2 -213 85 5.07e-01 -4.78e-01 -1.42e+00 1.73e+00 0.697 -1.46 + 117 2 113 85 1.84e+00 3.74e-01 -6.40e+00 6.76e+00 1.07 -1.94 + 118 2 113 85 1.16e+00 3.38e-01 -1.73e+00 2.31e+00 0.935 -1.16 + 119 1 211 85 2.72e-01 -2.27e-02 -1.30e-01 3.33e-01 0.14 -0.458 + 120 2 113 85 2.13e-01 1.74e-01 -1.61e+00 1.82e+00 0.803 -2.47 + 121 2 221 85 -4.71e-01 -1.23e-01 -1.39e+02 1.39e+02 0.547 -6.35 + 122 2 92 34 0.00e+00 0.00e+00 -1.64e+02 1.65e+02 19.1 -999 + 123 1 -211 122 -6.01e-01 3.13e-01 -2.37e+00 2.47e+00 0.14 -1.97 + 124 2 -313 122 -5.54e-01 5.60e-01 -2.70e+01 2.70e+01 0.882 -4.23 + 125 2 -3122 122 7.82e-01 -1.01e+00 -2.58e+01 2.58e+01 1.12 -3.7 + 126 1 2112 122 -5.29e-01 -7.06e-01 -3.14e+01 3.14e+01 0.94 -4.26 + 127 2 -313 122 -6.64e-01 -5.24e-01 -3.07e+01 3.08e+01 0.744 -4.29 + 128 2 323 122 -1.00e-01 2.35e-01 -2.04e+01 2.05e+01 0.875 -5.08 + 129 1 -2212 122 7.64e-01 -3.68e-03 -3.63e+00 3.82e+00 0.938 -2.26 + 130 2 331 122 -2.16e-01 3.87e-01 -2.81e+00 3.00e+00 0.957 -2.54 + 131 2 2114 122 3.71e-01 1.61e-01 -3.19e+00 3.43e+00 1.2 -2.76 + 132 2 213 122 1.43e-01 8.31e-01 -7.51e+00 7.64e+00 1.12 -2.88 + 133 2 111 122 2.51e-01 2.00e-01 -1.88e+00 1.91e+00 0.135 -2.47 + 134 2 223 122 3.52e-01 -4.43e-01 -7.53e+00 7.59e+00 0.781 -3.28 + 135 2 92 36 0.00e+00 0.00e+00 -3.88e+02 3.88e+02 8.81 -999 + 136 2 2114 135 -1.50e-01 -3.80e-01 -6.01e+01 6.01e+01 1.22 -5.68 + 137 1 -211 135 2.98e-01 5.48e-01 -4.44e+01 4.44e+01 0.14 -4.96 + 138 2 -3112 135 2.33e-01 1.43e-01 -2.76e+01 2.76e+01 1.2 -5.31 + 139 2 -323 135 -2.73e-01 8.34e-01 -4.62e+01 4.62e+01 0.902 -4.66 + 140 2 113 135 -1.24e-01 -5.36e-01 -3.53e+01 3.53e+01 0.767 -4.85 + 141 1 321 135 1.79e-01 3.32e-01 -2.01e+01 2.01e+01 0.494 -4.67 + 142 1 -321 135 -8.83e-02 -9.50e-01 -1.29e+02 1.29e+02 0.494 -5.6 + 143 2 111 135 -1.32e-01 -2.00e-01 -4.15e+00 4.16e+00 0.135 -3.55 + 144 1 211 135 5.73e-02 2.08e-01 -2.11e+01 2.11e+01 0.14 -5.27 + 145 1 -321 39 4.73e-03 -6.40e-01 -1.02e+01 1.03e+01 0.494 -3.47 + 146 1 211 39 -2.15e-01 5.53e-02 -1.62e+00 1.64e+00 0.14 -2.69 + 147 1 -211 40 -4.06e-02 -3.75e-01 -3.27e+00 3.29e+00 0.14 -2.86 + 148 1 211 40 -2.22e-01 -1.90e-01 -8.69e+00 8.70e+00 0.14 -4.09 + 149 1 2112 42 -5.03e-01 -3.50e-01 -4.89e+01 4.89e+01 0.94 -5.07 + 150 2 111 42 1.94e-01 -1.08e-01 -1.15e+01 1.15e+01 0.135 -4.64 + 151 1 211 43 5.55e-02 -8.86e-02 -8.81e+00 8.81e+00 0.14 -5.13 + 152 1 -211 43 3.28e-01 2.70e-01 -2.78e+01 2.78e+01 0.14 -4.88 + 153 2 111 43 3.76e-01 -2.27e-01 -3.92e+01 3.92e+01 0.135 -5.18 + 154 2 -3122 44 -3.45e-01 -9.30e-02 -1.53e+02 1.53e+02 1.12 -6.75 + 155 1 211 44 -1.27e-01 5.60e-02 -9.14e+00 9.14e+00 0.14 -4.88 + 156 2 310 45 3.93e-01 1.51e-01 -1.58e+02 1.58e+02 0.498 -6.62 + 157 1 211 48 -4.12e+00 1.35e+00 3.83e+01 3.86e+01 0.14 2.88 + 158 2 111 48 -4.82e-01 1.34e-01 5.87e+00 5.89e+00 0.135 3.16 + 159 1 22 49 9.23e-02 1.89e-02 1.19e+00 1.20e+00 0 3.23 + 160 1 22 49 -2.56e-02 -4.62e-02 3.69e-01 3.72e-01 0 2.64 + 161 1 -211 50 -1.13e+00 6.03e-01 2.03e+01 2.03e+01 0.14 3.45 + 162 2 111 50 -1.20e-01 3.30e-02 2.81e+00 2.82e+00 0.135 3.81 + 163 1 22 51 -3.44e+00 5.65e-01 3.16e+01 3.18e+01 0 2.9 + 164 2 111 51 -1.53e+00 6.77e-01 1.28e+01 1.29e+01 0.135 2.73 + 165 1 2112 53 -5.19e-01 -3.42e-02 5.82e+00 5.92e+00 0.94 3.11 + 166 1 -211 53 -1.87e-01 -3.14e-02 3.18e+00 3.19e+00 0.14 3.51 + 167 2 -3122 54 -1.36e+00 -5.61e-01 4.75e+00 5.10e+00 1.12 1.89 + 168 1 22 54 -8.91e-03 -4.27e-02 3.17e-01 3.20e-01 0 2.68 + 169 1 -211 56 -2.34e+00 -6.49e-01 2.24e+00 3.31e+00 0.14 0.824 + 170 2 111 56 -1.12e+00 1.42e-01 1.17e+00 1.63e+00 0.135 0.901 + 171 1 22 57 -2.12e-01 -5.96e-01 5.53e-01 8.40e-01 0 0.789 + 172 1 22 57 -1.48e-02 -4.54e-02 1.50e-03 4.78e-02 0 0.0314 + 173 1 -211 58 -4.03e-02 -2.78e-01 3.90e-01 5.01e-01 0.14 1.13 + 174 1 211 58 -4.63e-01 2.56e-01 3.59e-02 5.48e-01 0.14 0.0678 + 175 1 211 59 7.80e-02 -5.67e-02 6.00e-01 6.24e-01 0.14 2.53 + 176 2 111 59 -1.28e+00 1.19e-01 1.00e+00 1.64e+00 0.135 0.719 + 177 1 -211 60 1.26e-01 -6.13e-01 2.57e-01 6.91e-01 0.14 0.4 + 178 2 111 60 -1.56e-01 8.89e-02 -1.64e-01 2.78e-01 0.135 -0.819 + 179 1 211 61 3.56e-01 -6.34e-01 -2.42e-01 7.79e-01 0.14 -0.326 + 180 2 111 61 1.31e-01 9.04e-02 2.74e-02 2.11e-01 0.135 0.172 + 181 2 310 64 4.64e+00 8.72e-01 -2.70e-01 4.75e+00 0.498 -0.0573 + 182 1 -321 65 1.95e+00 -5.32e-01 -4.99e-01 2.14e+00 0.494 -0.244 + 183 2 111 65 2.99e-01 -2.85e-01 -1.90e-01 4.74e-01 0.135 -0.446 + 184 1 321 66 4.15e+00 3.22e-01 -6.35e-01 4.24e+00 0.494 -0.152 + 185 2 111 66 2.89e+00 -5.72e-02 -1.30e-01 2.89e+00 0.135 -0.0451 + 186 1 -321 68 7.46e-01 -9.07e-01 -1.09e+01 1.10e+01 0.494 -2.93 + 187 1 211 68 -7.51e-02 -9.49e-02 -1.11e+00 1.13e+00 0.14 -2.92 + 188 1 22 69 1.63e+00 -1.75e+00 -2.26e+01 2.27e+01 0 -2.94 + 189 1 22 69 2.50e-01 -3.50e-01 -3.98e+00 4.00e+00 0 -2.92 + 190 1 -211 70 -3.48e-01 -2.25e-02 -4.12e+00 4.13e+00 0.14 -3.16 + 191 1 211 70 2.37e-01 -4.91e-01 -4.90e+00 4.93e+00 0.14 -2.89 + 192 1 211 71 7.57e-02 1.94e-01 -3.04e+00 3.05e+00 0.14 -3.37 + 193 1 -211 71 1.24e-02 -1.34e-01 -2.27e+00 2.28e+00 0.14 -3.52 + 194 2 111 71 -2.95e-01 1.14e-01 -7.82e+00 7.83e+00 0.135 -3.9 + 195 1 -211 72 -2.58e-01 4.92e-01 -7.69e+00 7.71e+00 0.14 -3.32 + 196 1 211 72 -1.83e-01 8.58e-02 -1.71e+01 1.71e+01 0.14 -5.13 + 197 1 321 74 -1.01e+00 1.62e+00 -4.87e+01 4.88e+01 0.494 -3.94 + 198 2 111 74 -8.65e-01 1.28e+00 -5.04e+01 5.04e+01 0.135 -4.18 + 199 2 -311 76 -2.16e+00 -2.40e+00 -4.66e+00 5.69e+00 0.498 -1.16 + 200 1 -211 76 -7.89e-02 -3.27e-02 -2.02e-01 2.60e-01 0.14 -1.6 + 201 1 22 77 -1.66e-03 2.75e-02 -1.71e-01 1.73e-01 0 -2.53 + 202 1 22 77 -6.59e-02 -1.53e-01 -1.59e+00 1.60e+00 0 -2.95 + 203 1 -211 78 2.06e-01 1.69e-01 -2.20e+00 2.22e+00 0.14 -2.81 + 204 1 211 78 -5.23e-02 4.55e-01 -7.95e+00 7.97e+00 0.14 -3.55 + 205 1 22 79 -1.94e-02 -2.70e-01 -3.61e+00 3.62e+00 0 -3.29 + 206 1 22 79 -1.47e-01 -2.44e-01 -4.34e+00 4.35e+00 0 -3.42 + 207 1 22 81 3.27e-04 -1.65e-01 -5.20e+00 5.20e+00 0 -4.14 + 208 1 22 81 4.45e-02 -4.68e-01 -2.37e+01 2.37e+01 0 -4.61 + 209 1 211 83 8.31e-01 1.53e+00 -3.58e+02 3.58e+02 0.14 -6.02 + 210 2 111 83 5.43e-01 4.67e-01 -2.11e+02 2.11e+02 0.135 -6.38 + 211 1 321 84 1.10e+00 3.19e-01 -2.48e+02 2.48e+02 0.494 -6.07 + 212 1 -211 84 1.68e-02 -4.24e-02 -8.07e+01 8.07e+01 0.14 -8.17 + 213 1 211 86 4.87e-02 -4.34e-01 5.76e+02 5.76e+02 0.14 7.88 + 214 1 -211 86 2.45e-01 7.79e-04 1.01e+03 1.01e+03 0.14 9.02 + 215 1 -211 88 2.26e-01 -1.83e-01 3.17e+02 3.17e+02 0.14 7.69 + 216 1 211 88 -1.99e-01 -2.22e-01 1.30e+03 1.30e+03 0.14 9.07 + 217 1 22 89 -9.83e-02 2.51e-01 2.13e+02 2.13e+02 0 7.36 + 218 1 22 89 -4.56e-02 7.07e-01 5.75e+02 5.75e+02 0 7.39 + 219 1 -2212 90 -3.35e-01 -4.02e-01 5.67e+02 5.67e+02 0.938 7.68 + 220 2 111 90 -3.40e-02 -4.03e-01 2.42e+02 2.42e+02 0.135 7.09 + 221 1 2112 92 -1.59e-01 -2.93e-01 5.21e+01 5.21e+01 0.94 5.74 + 222 2 111 92 6.08e-02 1.52e-01 8.13e+00 8.13e+00 0.135 4.6 + 223 1 -211 93 -2.09e-01 3.00e-01 1.23e+01 1.23e+01 0.14 4.21 + 224 1 211 93 1.83e-01 8.46e-02 3.04e+00 3.05e+00 0.14 3.41 + 225 2 111 93 -4.15e-02 -3.58e-02 2.00e+00 2.00e+00 0.135 4.29 + 226 1 211 94 2.52e-01 7.85e-02 2.01e+00 2.03e+00 0.14 2.72 + 227 1 -211 94 -4.06e-02 -1.21e-01 6.99e-01 7.24e-01 0.14 2.4 + 228 2 111 94 -1.03e-01 -7.65e-02 3.20e+00 3.20e+00 0.135 3.91 + 229 1 -211 95 -1.68e-01 -2.06e-01 8.77e+00 8.78e+00 0.14 4.19 + 230 1 211 95 9.90e-02 -2.68e-01 5.16e+00 5.17e+00 0.14 3.59 + 231 2 111 95 -4.47e-02 1.04e-01 8.09e+00 8.09e+00 0.135 4.96 + 232 1 22 97 4.32e-02 2.12e-02 3.15e-01 3.18e-01 0 2.58 + 233 1 211 97 -1.05e-01 -3.40e-01 5.84e+00 5.85e+00 0.14 3.49 + 234 1 -211 97 -1.79e-01 -2.05e-01 8.38e+00 8.39e+00 0.14 4.12 + 235 1 211 100 -6.24e-02 -1.59e-01 1.46e+01 1.46e+01 0.14 5.14 + 236 1 -211 100 -6.98e-02 2.00e-01 3.07e+01 3.07e+01 0.14 5.67 + 237 2 111 100 -2.14e-01 2.74e-01 1.73e+01 1.73e+01 0.135 4.6 + 238 1 22 101 7.22e-02 2.82e-02 9.04e-01 9.07e-01 0 3.15 + 239 1 22 101 -4.93e-02 2.74e-02 2.61e-01 2.67e-01 0 2.24 + 240 1 22 102 -2.62e-01 2.00e-01 3.65e+00 3.66e+00 0 3.1 + 241 1 22 102 -2.95e-02 1.06e-01 1.66e+00 1.66e+00 0 3.4 + 242 1 -211 103 -1.58e-01 2.44e-01 1.12e+01 1.12e+01 0.14 4.35 + 243 2 111 103 4.79e-01 -2.71e-02 7.12e+00 7.14e+00 0.135 3.39 + 244 1 -211 105 1.44e-02 1.03e-01 1.30e+01 1.30e+01 0.14 5.52 + 245 1 211 105 -2.25e-01 6.78e-02 1.39e+01 1.39e+01 0.14 4.77 + 246 2 111 105 -4.42e-02 1.38e-01 2.12e+01 2.12e+01 0.135 5.68 + 247 1 -211 106 4.40e-02 -8.96e-02 2.77e+00 2.78e+00 0.14 4.02 + 248 1 211 106 -3.03e-01 -2.27e-01 6.60e+00 6.61e+00 0.14 3.55 + 249 2 111 106 -4.84e-01 6.81e-02 1.16e+01 1.16e+01 0.135 3.86 + 250 1 211 107 2.79e-01 -1.16e-01 1.54e+01 1.54e+01 0.14 4.62 + 251 1 -211 107 -3.47e-02 7.32e-02 7.35e-01 7.53e-01 0.14 2.9 + 252 1 211 108 6.96e-02 6.41e-02 3.46e-01 3.85e-01 0.14 2.01 + 253 1 -211 108 -1.80e-01 -5.95e-02 9.57e-01 9.86e-01 0.14 2.32 + 254 2 111 108 1.57e-01 -3.32e-01 8.17e-01 9.05e-01 0.135 1.54 + 255 1 -211 110 -2.68e-02 -3.16e-01 1.44e+00 1.48e+00 0.14 2.22 + 256 1 211 110 5.87e-02 4.71e-02 1.19e-01 1.98e-01 0.14 1.24 + 257 2 111 110 1.34e-01 -1.47e-01 1.12e+00 1.15e+00 0.135 2.43 + 258 2 111 112 -2.94e-01 1.59e-01 -2.77e-01 4.55e-01 0.135 -0.756 + 259 2 111 112 -2.95e-01 7.93e-03 -1.95e-01 3.78e-01 0.135 -0.622 + 260 2 111 112 -5.69e-01 -6.77e-02 -2.42e-01 6.37e-01 0.135 -0.411 + 261 1 -211 113 -1.20e+00 2.21e-01 -5.30e-01 1.34e+00 0.14 -0.422 + 262 2 111 113 1.20e-01 -2.65e-01 -3.42e-01 4.69e-01 0.135 -1 + 263 2 310 114 -1.22e+00 7.88e-02 -6.07e-01 1.45e+00 0.498 -0.478 + 264 2 311 115 6.15e-01 -1.65e-02 -2.11e+00 2.25e+00 0.498 -1.95 + 265 1 211 115 1.09e+00 -1.25e-02 -3.58e+00 3.75e+00 0.14 -1.9 + 266 1 -211 116 1.76e-01 -1.17e-01 -3.78e-02 2.56e-01 0.14 -0.178 + 267 2 111 116 3.31e-01 -3.60e-01 -1.38e+00 1.47e+00 0.135 -1.76 + 268 1 -211 117 1.41e+00 3.06e-02 -3.14e+00 3.45e+00 0.14 -1.54 + 269 1 211 117 4.24e-01 3.44e-01 -3.26e+00 3.31e+00 0.14 -2.49 + 270 1 211 118 2.23e-01 2.22e-01 -1.13e+00 1.18e+00 0.14 -1.99 + 271 1 -211 118 9.37e-01 1.16e-01 -6.02e-01 1.13e+00 0.14 -0.6 + 272 1 -211 120 2.31e-01 4.07e-01 -1.38e+00 1.46e+00 0.14 -1.8 + 273 1 211 120 -1.86e-02 -2.33e-01 -2.32e-01 3.58e-01 0.14 -0.875 + 274 2 111 121 -1.43e-01 1.08e-02 -5.81e+01 5.81e+01 0.135 -6.69 + 275 2 111 121 -2.65e-01 -1.67e-01 -6.39e+01 6.39e+01 0.135 -6.01 + 276 2 111 121 -6.33e-02 3.30e-02 -1.69e+01 1.69e+01 0.135 -6.16 + 277 1 -321 124 -1.92e-01 6.83e-02 -1.51e+01 1.51e+01 0.494 -4.99 + 278 1 211 124 -3.62e-01 4.92e-01 -1.19e+01 1.19e+01 0.14 -3.66 + 279 1 -2212 125 7.08e-01 -9.13e-01 -2.13e+01 2.14e+01 0.938 -3.61 + 280 1 211 125 7.36e-02 -9.65e-02 -4.44e+00 4.44e+00 0.14 -4.29 + 281 1 -321 127 -4.41e-01 -4.28e-01 -1.76e+01 1.76e+01 0.494 -4.05 + 282 1 211 127 -2.23e-01 -9.66e-02 -1.31e+01 1.32e+01 0.14 -4.69 + 283 2 311 128 1.11e-01 2.40e-01 -9.05e+00 9.07e+00 0.498 -4.23 + 284 1 211 128 -2.11e-01 -5.23e-03 -1.14e+01 1.14e+01 0.14 -4.68 + 285 1 22 130 -3.59e-02 1.07e-01 -2.48e-01 2.72e-01 0 -1.53 + 286 2 113 130 -1.80e-01 2.81e-01 -2.56e+00 2.73e+00 0.88 -2.74 + 287 1 2212 131 3.22e-01 1.22e-02 -2.95e+00 3.12e+00 0.938 -2.91 + 288 1 -211 131 4.88e-02 1.49e-01 -2.32e-01 3.13e-01 0.14 -1.19 + 289 1 211 132 9.92e-02 6.74e-02 -5.18e+00 5.19e+00 0.14 -4.46 + 290 2 111 132 4.43e-02 7.64e-01 -2.32e+00 2.45e+00 0.135 -1.83 + 291 1 22 133 -1.23e-02 -2.60e-04 -1.58e-01 1.59e-01 0 -3.25 + 292 1 22 133 2.64e-01 2.00e-01 -1.72e+00 1.75e+00 0 -2.35 + 293 1 211 134 2.46e-01 -2.13e-01 -2.74e+00 2.76e+00 0.14 -2.83 + 294 1 -211 134 1.66e-01 -1.39e-01 -4.32e+00 4.32e+00 0.14 -3.69 + 295 2 111 134 -6.03e-02 -9.23e-02 -4.73e-01 5.04e-01 0.135 -2.16 + 296 1 2112 136 7.42e-02 -3.88e-01 -4.88e+01 4.88e+01 0.94 -5.51 + 297 2 111 136 -2.24e-01 7.98e-03 -1.13e+01 1.13e+01 0.135 -4.61 + 298 1 -2112 138 3.20e-01 2.16e-01 -2.52e+01 2.53e+01 0.94 -4.87 + 299 1 211 138 -8.73e-02 -7.30e-02 -2.35e+00 2.36e+00 0.14 -3.72 + 300 2 -311 139 -2.89e-01 4.57e-01 -1.91e+01 1.91e+01 0.498 -4.26 + 301 1 -211 139 1.57e-02 3.77e-01 -2.71e+01 2.71e+01 0.14 -4.97 + 302 1 -211 140 2.06e-01 -5.27e-01 -2.31e+01 2.31e+01 0.14 -4.4 + 303 1 211 140 -3.31e-01 -9.09e-03 -1.22e+01 1.22e+01 0.14 -4.3 + 304 1 22 143 -1.38e-01 -1.74e-01 -4.04e+00 4.04e+00 0 -3.6 + 305 1 22 143 6.08e-03 -2.60e-02 -1.18e-01 1.21e-01 0 -2.19 + 306 1 22 150 8.35e-04 -7.80e-03 -3.41e+00 3.41e+00 0 -6.77 + 307 1 22 150 1.94e-01 -9.97e-02 -8.11e+00 8.11e+00 0 -4.31 + 308 1 22 153 3.43e-01 -2.07e-01 -3.08e+01 3.08e+01 0 -5.03 + 309 1 22 153 3.37e-02 -1.96e-02 -8.42e+00 8.42e+00 0 -6.07 + 310 1 -2212 154 -2.90e-01 -1.79e-01 -1.30e+02 1.30e+02 0.938 -6.63 + 311 1 211 154 -5.45e-02 8.63e-02 -2.35e+01 2.35e+01 0.14 -6.13 + 312 1 -211 156 -3.05e-02 -9.44e-03 -1.92e+01 1.92e+01 0.14 -7.09 + 313 1 211 156 4.24e-01 1.61e-01 -1.39e+02 1.39e+02 0.14 -6.42 + 314 1 22 158 -6.45e-02 4.11e-02 5.00e-01 5.06e-01 0 2.58 + 315 1 22 158 -4.17e-01 9.33e-02 5.37e+00 5.39e+00 0 3.23 + 316 1 22 162 -1.45e-01 2.84e-02 2.64e+00 2.64e+00 0 3.58 + 317 1 22 162 2.52e-02 4.66e-03 1.79e-01 1.80e-01 0 2.64 + 318 1 22 164 -5.41e-01 2.16e-01 3.98e+00 4.02e+00 0 2.62 + 319 1 22 164 -9.93e-01 4.61e-01 8.80e+00 8.87e+00 0 2.78 + 320 1 -2212 167 -1.25e+00 -5.81e-01 4.29e+00 4.60e+00 0.938 1.85 + 321 1 211 167 -1.11e-01 2.04e-02 4.67e-01 5.00e-01 0.14 2.13 + 322 1 22 170 -6.67e-01 1.74e-02 6.80e-01 9.52e-01 0 0.894 + 323 1 22 170 -4.58e-01 1.25e-01 4.87e-01 6.80e-01 0 0.899 + 324 1 22 176 -5.87e-01 4.25e-02 3.77e-01 6.99e-01 0 0.603 + 325 1 22 176 -6.91e-01 7.63e-02 6.27e-01 9.37e-01 0 0.81 + 326 1 22 178 9.38e-03 3.07e-02 -7.51e-02 8.16e-02 0 -1.59 + 327 1 22 178 -1.65e-01 5.82e-02 -8.87e-02 1.96e-01 0 -0.488 + 328 1 22 180 1.12e-01 1.17e-01 5.12e-02 1.70e-01 0 0.311 + 329 1 22 180 1.87e-02 -2.67e-02 -2.38e-02 4.04e-02 0 -0.676 + 330 1 -211 181 3.39e+00 7.55e-01 -3.22e-01 3.49e+00 0.14 -0.0927 + 331 1 211 181 1.25e+00 1.17e-01 5.15e-02 1.27e+00 0.14 0.0409 + 332 1 22 183 2.70e-01 -2.90e-01 -1.99e-01 4.44e-01 0 -0.484 + 333 1 22 183 2.84e-02 5.27e-03 9.10e-03 3.03e-02 0 0.31 + 334 1 22 185 1.86e+00 2.77e-02 -8.21e-02 1.86e+00 0 -0.0441 + 335 1 22 185 1.02e+00 -8.49e-02 -4.82e-02 1.03e+00 0 -0.0469 + 336 1 22 194 -1.09e-01 -2.21e-02 -2.16e+00 2.17e+00 0 -3.66 + 337 1 22 194 -1.85e-01 1.36e-01 -5.66e+00 5.67e+00 0 -3.9 + 338 1 22 198 -6.45e-01 1.02e+00 -4.05e+01 4.06e+01 0 -4.21 + 339 1 22 198 -2.21e-01 2.63e-01 -9.82e+00 9.82e+00 0 -4.05 + 340 2 310 199 -2.16e+00 -2.40e+00 -4.66e+00 5.69e+00 0.498 -1.16 + 341 1 22 210 5.06e-01 4.34e-01 -2.04e+02 2.04e+02 0 -6.42 + 342 1 22 210 3.65e-02 3.35e-02 -7.34e+00 7.34e+00 0 -5.69 + 343 1 22 220 -6.49e-02 -9.42e-02 5.63e+01 5.63e+01 0 6.89 + 344 1 22 220 3.09e-02 -3.09e-01 1.86e+02 1.86e+02 0 7.09 + 345 1 22 222 4.95e-02 1.44e-01 8.06e+00 8.07e+00 0 4.66 + 346 1 22 222 1.12e-02 7.45e-03 6.81e-02 6.94e-02 0 2.32 + 347 1 22 225 -1.96e-02 -4.20e-02 2.06e-01 2.11e-01 0 2.2 + 348 1 22 225 -2.18e-02 6.23e-03 1.79e+00 1.79e+00 0 5.06 + 349 1 22 228 -1.96e-02 -9.29e-02 2.10e+00 2.10e+00 0 3.79 + 350 1 22 228 -8.32e-02 1.64e-02 1.10e+00 1.10e+00 0 3.26 + 351 1 22 231 1.53e-02 1.01e-01 3.42e+00 3.42e+00 0 4.2 + 352 1 22 231 -6.00e-02 2.84e-03 4.67e+00 4.67e+00 0 5.05 + 353 1 22 237 -1.68e-02 6.14e-02 5.87e+00 5.87e+00 0 5.22 + 354 1 22 237 -1.97e-01 2.12e-01 1.14e+01 1.14e+01 0 4.37 + 355 1 22 243 -5.92e-03 -9.36e-03 8.70e-02 8.77e-02 0 2.76 + 356 1 22 243 4.85e-01 -1.78e-02 7.03e+00 7.05e+00 0 3.37 + 357 1 22 246 -6.08e-02 1.17e-01 2.05e+01 2.05e+01 0 5.74 + 358 1 22 246 1.66e-02 2.09e-02 7.12e-01 7.13e-01 0 3.98 + 359 1 22 249 -4.00e-01 8.63e-02 1.04e+01 1.04e+01 0 3.93 + 360 1 22 249 -8.33e-02 -1.82e-02 1.21e+00 1.21e+00 0 3.35 + 361 1 22 254 7.44e-02 -2.81e-01 5.59e-01 6.30e-01 0 1.41 + 362 1 22 254 8.29e-02 -5.04e-02 2.58e-01 2.75e-01 0 1.7 + 363 1 22 257 4.52e-02 -3.45e-02 9.68e-02 1.12e-01 0 1.3 + 364 1 22 257 8.89e-02 -1.12e-01 1.03e+00 1.04e+00 0 2.67 + 365 1 22 258 -6.59e-02 -1.15e-02 -1.72e-02 6.91e-02 0 -0.255 + 366 1 22 258 -2.28e-01 1.71e-01 -2.60e-01 3.86e-01 0 -0.819 + 367 1 22 259 -7.01e-03 -2.36e-02 -4.75e-02 5.36e-02 0 -1.41 + 368 1 22 259 -2.88e-01 3.16e-02 -1.48e-01 3.25e-01 0 -0.49 + 369 1 22 260 -1.67e-01 1.43e-02 -1.69e-02 1.69e-01 0 -0.1 + 370 1 22 260 -4.02e-01 -8.21e-02 -2.25e-01 4.68e-01 0 -0.525 + 371 1 22 262 -2.78e-02 -3.95e-02 -3.15e-02 5.77e-02 0 -0.613 + 372 1 22 262 1.47e-01 -2.26e-01 -3.11e-01 4.11e-01 0 -0.985 + 373 1 -211 263 -7.01e-01 2.30e-01 -2.56e-01 7.93e-01 0.14 -0.34 + 374 1 211 263 -5.21e-01 -1.51e-01 -3.52e-01 6.61e-01 0.14 -0.61 + 375 2 310 264 6.15e-01 -1.65e-02 -2.11e+00 2.25e+00 0.498 -1.95 + 376 1 22 267 1.73e-01 -1.60e-01 -4.77e-01 5.32e-01 0 -1.45 + 377 1 22 267 1.59e-01 -2.01e-01 -9.05e-01 9.40e-01 0 -1.98 + 378 1 22 274 -6.32e-02 -5.21e-02 -1.58e+01 1.58e+01 0 -5.96 + 379 1 22 274 -8.03e-02 6.29e-02 -4.23e+01 4.23e+01 0 -6.72 + 380 1 22 275 -7.22e-02 9.07e-03 -9.24e+00 9.24e+00 0 -5.54 + 381 1 22 275 -1.92e-01 -1.76e-01 -5.47e+01 5.47e+01 0 -6.04 + 382 1 22 276 -7.34e-03 5.79e-02 -1.36e+01 1.36e+01 0 -6.14 + 383 1 22 276 -5.59e-02 -2.49e-02 -3.32e+00 3.32e+00 0 -4.69 + 384 1 130 283 1.11e-01 2.40e-01 -9.05e+00 9.07e+00 0.498 -4.23 + 385 1 -211 286 2.00e-01 4.25e-01 -1.65e+00 1.72e+00 0.14 -1.97 + 386 1 211 286 -3.80e-01 -1.44e-01 -9.14e-01 1.01e+00 0.14 -1.55 + 387 1 22 290 -1.89e-02 3.15e-01 -7.85e-01 8.46e-01 0 -1.64 + 388 1 22 290 6.31e-02 4.49e-01 -1.54e+00 1.60e+00 0 -1.94 + 389 1 22 295 2.49e-02 -5.30e-03 -1.36e-02 2.89e-02 0 -0.513 + 390 1 22 295 -8.52e-02 -8.70e-02 -4.59e-01 4.75e-01 0 -2.04 + 391 1 22 297 -1.56e-01 5.24e-02 -5.51e+00 5.51e+00 0 -4.2 + 392 1 22 297 -6.73e-02 -4.44e-02 -5.75e+00 5.75e+00 0 -4.96 + 393 2 310 300 -2.89e-01 4.57e-01 -1.91e+01 1.91e+01 0.498 -4.26 + 394 1 -211 340 -1.17e+00 -1.32e+00 -2.18e+00 2.81e+00 0.14 -1.04 + 395 1 211 340 -9.92e-01 -1.08e+00 -2.48e+00 2.89e+00 0.14 -1.3 + 396 1 -211 375 2.21e-01 -1.88e-01 -1.12e+00 1.17e+00 0.14 -2.06 + 397 1 211 375 3.93e-01 1.71e-01 -9.88e-01 1.09e+00 0.14 -1.57 + 398 1 211 393 -1.31e-01 3.35e-01 -6.27e+00 6.28e+00 0.14 -3.55 + 399 1 -211 393 -1.58e-01 1.23e-01 -1.28e+01 1.28e+01 0.14 -4.85 +8 Event +522 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 1 1 3.51e-01 6.53e-01 4.16e+02 4.16e+02 0 7.02 + 4 3 2 2 2.75e-02 -1.21e-01 -2.44e+03 2.44e+03 0 -10.6 + 5 3 1 3 -4.94e-01 1.23e+00 2.69e+02 2.69e+02 0 6 + 6 3 -2 4 -2.53e+01 2.56e+01 3.55e+01 5.05e+01 0 0.871 + 7 3 -24 5 -1.99e+01 2.70e+01 2.96e+02 3.09e+02 83 2.87 + 8 3 22 5 -5.86e+00 -1.93e-01 8.35e+00 1.02e+01 0 1.15 + 9 2 -24 7 -1.99e+01 2.70e+01 2.96e+02 3.09e+02 83 2.87 + 10 1 22 8 -5.86e+00 -1.93e-01 8.35e+00 1.02e+01 0 1.15 + 11 2 2 4 1.62e+00 -3.52e-01 -8.17e-01 1.88e+00 0.33 -0.475 + 12 2 21 4 3.67e+00 -2.90e+00 -1.10e+00 4.80e+00 0 -0.232 + 13 2 21 4 9.04e-02 -5.27e-01 1.91e-01 5.68e-01 0 0.35 + 14 2 21 4 -5.47e-02 9.98e-02 5.67e-01 5.78e-01 0 2.31 + 15 2 21 4 -4.28e-01 -3.24e-01 -3.51e-02 5.38e-01 0 -0.0654 + 16 2 -4 4 2.97e+00 -5.24e-01 -2.39e+00 4.13e+00 1.5 -0.727 + 17 2 4 4 3.72e-02 1.21e+00 -1.04e+01 1.06e+01 1.5 -2.85 + 18 2 21 4 -3.81e+00 5.66e-01 -5.40e+00 6.63e+00 0 -1.14 + 19 2 21 4 1.44e+00 -1.42e+00 5.71e-01 2.10e+00 0 0.278 + 20 2 21 4 2.73e+00 -7.33e-01 9.18e-01 2.97e+00 0 0.319 + 21 2 21 4 -2.02e+00 1.54e-01 -1.07e+01 1.09e+01 0 -2.37 + 22 2 21 4 1.25e-01 -5.48e-01 -7.68e+00 7.70e+00 0 -3.31 + 23 2 21 4 6.35e-01 5.09e-01 -1.05e+01 1.06e+01 0 -3.25 + 24 2 21 4 -1.33e+00 5.45e-02 -2.46e+00 2.80e+00 0 -1.37 + 25 2 2103 2 -2.75e-02 1.21e-01 -4.38e+03 4.38e+03 0.771 -11.2 + 26 2 2 4 -9.04e-01 8.55e-01 -2.08e+03 2.08e+03 0.33 -8.11 + 27 2 21 4 4.52e-01 3.10e-01 -1.36e+02 1.36e+02 0 -6.21 + 28 2 21 4 -9.67e-02 -1.09e+00 -1.06e+02 1.06e+02 0 -5.26 + 29 2 21 4 -4.84e-01 2.03e-01 -2.16e+01 2.16e+01 0 -4.41 + 30 2 21 4 1.54e-01 8.18e-01 -1.51e+01 1.51e+01 0 -3.59 + 31 2 21 4 3.56e-01 -1.28e+00 -1.60e+01 1.60e+01 0 -3.18 + 32 2 21 4 -5.73e-01 1.88e-01 1.63e+00 1.74e+00 0 1.72 + 33 2 21 4 3.17e+00 -1.61e+00 4.41e+00 5.66e+00 0 1.04 + 34 2 21 4 2.63e+00 -1.74e+00 2.22e+00 3.86e+00 0 0.654 + 35 2 21 4 6.84e+00 -4.44e+00 1.50e+01 1.71e+01 0 1.37 + 36 2 21 4 4.02e+00 -5.41e+00 1.33e+01 1.50e+01 0 1.43 + 37 2 21 4 3.96e+00 -7.35e+00 1.58e+01 1.79e+01 0 1.4 + 38 2 21 0 1.18e+00 3.15e+00 1.29e+02 1.29e+02 0 4.34 + 39 2 21 3 5.69e-01 7.53e-02 1.39e+01 1.39e+01 0 3.88 + 40 2 21 3 4.04e-01 -1.08e+00 2.44e+01 2.44e+01 0 3.75 + 41 2 2203 1 -3.51e-01 -6.53e-01 6.41e+03 6.41e+03 0.771 9.76 + 42 2 -2 9 -3.05e+01 1.04e+01 7.49e+01 8.16e+01 0.33 1.58 + 43 2 21 9 -5.72e+00 5.48e-01 1.38e+01 1.49e+01 0 1.61 + 44 2 2 9 -2.25e+00 1.40e-01 5.14e+00 5.62e+00 0.33 1.56 + 45 2 -2 9 -3.36e+00 3.15e-01 4.67e+00 5.78e+00 0.33 1.13 + 46 2 21 9 -3.73e+00 2.89e+00 1.17e+01 1.26e+01 0 1.64 + 47 2 21 9 -1.80e+00 2.59e+00 1.42e+01 1.46e+01 0 2.21 + 48 2 21 9 4.56e-01 6.83e-01 4.48e+00 4.55e+00 0 2.4 + 49 2 21 9 1.88e+00 2.20e+00 1.63e+01 1.65e+01 0 2.43 + 50 2 21 9 1.05e+01 3.01e+00 5.97e+01 6.07e+01 0 2.4 + 51 2 1 9 1.46e+01 4.23e+00 9.14e+01 9.26e+01 0.33 2.5 + 52 2 3 0 1.01e+01 6.46e+00 2.64e+01 2.90e+01 0 1.53 + 53 2 21 0 -1.18e+00 -3.15e+00 3.56e+00 4.90e+00 0 0.922 + 54 2 21 0 5.44e+00 1.21e-01 -6.09e+00 8.17e+00 0 -0.964 + 55 2 21 0 4.32e+00 8.46e-01 -3.30e+01 3.33e+01 0 -2.71 + 56 2 21 0 2.93e+00 6.67e+00 -6.49e+01 6.53e+01 0 -2.88 + 57 2 21 0 -4.32e+00 -8.46e-01 -3.32e+01 3.35e+01 0 -2.72 + 58 2 21 0 -2.93e+00 -6.67e+00 -1.37e+01 1.55e+01 0 -1.39 + 59 2 21 0 -5.44e+00 -1.21e-01 -6.81e+00 8.72e+00 0 -1.05 + 60 2 -3 0 -1.01e+01 -6.46e+00 -1.07e+01 1.61e+01 0 -0.806 + 61 2 1 0 2.60e+00 1.31e+00 -4.91e+00 5.71e+00 0 -1.29 + 62 2 -1 0 -2.60e+00 -1.31e+00 3.96e+00 4.92e+00 0 1.11 + 63 2 92 11 7.87e+00 -4.52e+00 -3.58e+00 1.25e+01 7.8 -0.385 + 64 1 321 63 1.71e+00 -1.10e+00 -3.93e-01 2.13e+00 0.494 -0.191 + 65 2 -311 63 7.01e-01 -5.76e-01 -6.88e-01 1.24e+00 0.498 -0.7 + 66 1 -211 63 1.01e-01 -4.48e-01 6.62e-01 8.17e-01 0.14 1.16 + 67 2 213 63 2.90e+00 -1.79e+00 -1.15e+00 3.66e+00 0.683 -0.331 + 68 1 2112 63 5.54e-01 1.61e-01 -4.00e-01 1.17e+00 0.94 -0.648 + 69 2 -4122 63 1.90e+00 -7.66e-01 -1.61e+00 3.47e+00 2.28 -0.724 + 70 2 92 17 -2.21e+00 -8.63e-02 -4.42e+03 4.43e+03 275 -8.29 + 71 2 433 70 -1.02e+00 1.26e+00 -8.67e+00 9.07e+00 2.11 -2.38 + 72 2 -311 70 1.55e-01 -5.29e-02 -2.28e+00 2.34e+00 0.498 -3.33 + 73 2 311 70 -1.05e+00 3.55e-01 -1.23e+00 1.73e+00 0.498 -0.957 + 74 1 -321 70 7.17e-02 -8.05e-02 -1.10e+00 1.21e+00 0.494 -3.02 + 75 2 323 70 -9.54e-01 -2.96e-01 -1.10e+00 1.75e+00 0.919 -0.949 + 76 2 -313 70 4.52e-01 8.16e-02 -5.90e-01 1.16e+00 0.888 -1.07 + 77 2 113 70 -2.42e-01 -1.52e-02 2.76e-01 9.17e-01 0.84 0.976 + 78 1 -211 70 9.12e-01 -2.24e-01 -9.72e-02 9.55e-01 0.14 -0.103 + 79 1 211 70 -1.60e-02 -1.10e-01 -3.95e-01 4.33e-01 0.14 -1.98 + 80 1 -211 70 2.23e-02 -1.19e-01 8.04e-02 2.02e-01 0.14 0.622 + 81 2 111 70 2.61e-01 -5.37e-01 3.24e-01 6.93e-01 0.135 0.519 + 82 2 223 70 8.01e-01 -6.07e-01 -2.03e-01 1.29e+00 0.78 -0.201 + 83 1 211 70 1.06e+00 -2.67e-01 -2.20e-01 1.13e+00 0.14 -0.2 + 84 2 -213 70 -3.91e-01 2.68e-01 -1.42e+00 1.64e+00 0.686 -1.82 + 85 2 213 70 -7.10e-01 3.41e-01 -4.57e+00 4.70e+00 0.777 -2.46 + 86 2 113 70 -2.32e-01 -5.52e-01 -5.68e+00 5.77e+00 0.803 -2.95 + 87 2 111 70 -4.61e-01 3.92e-01 -4.80e+00 4.84e+00 0.135 -2.77 + 88 2 311 70 2.75e-01 -1.15e-01 -2.12e+00 2.20e+00 0.498 -2.66 + 89 2 -323 70 -7.04e-01 -2.00e-01 -4.20e+00 4.35e+00 0.883 -2.45 + 90 1 211 70 -1.08e-01 -1.64e-01 -2.39e+00 2.40e+00 0.14 -3.19 + 91 2 111 70 -1.80e-01 6.57e-01 -2.50e+00 2.59e+00 0.135 -2.01 + 92 2 -213 70 -3.77e-01 -2.22e-01 -7.85e+00 7.90e+00 0.721 -3.58 + 93 2 111 70 6.58e-01 1.72e-01 -8.55e+01 8.55e+01 0.135 -5.53 + 94 2 323 70 -4.84e-01 -1.47e-01 -8.40e+01 8.40e+01 0.918 -5.8 + 95 2 331 70 3.58e-01 -1.52e-01 -4.40e+02 4.40e+02 0.958 -7.72 + 96 2 -313 70 -4.84e-01 -3.52e-02 -6.39e+02 6.39e+02 0.888 -7.88 + 97 2 2114 70 2.55e-01 4.35e-01 -1.91e+03 1.91e+03 1.25 -8.93 + 98 2 223 70 -8.23e-02 -1.54e-01 -1.21e+03 1.21e+03 0.785 -9.54 + 99 2 92 26 2.13e+01 -1.91e+01 4.26e+03 9.01e+03 7.94e+03 5.7 + 100 1 211 99 -6.41e-01 7.42e-01 -1.26e+03 1.26e+03 0.14 -7.85 + 101 2 -213 99 2.60e-01 1.71e-01 -5.59e+02 5.59e+02 0.73 -8.19 + 102 1 211 99 4.20e-02 -3.55e-01 -7.29e+01 7.30e+01 0.14 -6.01 + 103 2 223 99 -6.40e-01 2.59e-02 -1.35e+02 1.35e+02 0.779 -6.04 + 104 2 -213 99 -1.28e-01 -2.06e-01 -7.57e+01 7.57e+01 0.759 -6.44 + 105 2 323 99 -1.99e-02 2.68e-01 -6.81e+01 6.81e+01 0.845 -6.23 + 106 1 -321 99 2.71e-01 5.30e-01 -2.62e+01 2.62e+01 0.494 -4.48 + 107 1 211 99 2.94e-01 -4.63e-01 -6.01e+01 6.01e+01 0.14 -5.39 + 108 2 -213 99 2.46e-01 -6.04e-01 -5.80e+01 5.80e+01 0.965 -5.18 + 109 2 323 99 -9.94e-02 -5.34e-01 -2.08e+01 2.08e+01 0.877 -4.34 + 110 2 -323 99 -2.80e-01 3.19e-01 -2.35e+01 2.35e+01 0.937 -4.71 + 111 2 213 99 6.31e-04 8.71e-01 -3.80e+00 3.97e+00 0.726 -2.18 + 112 2 223 99 1.18e-01 -1.82e-01 -9.80e-01 1.27e+00 0.785 -2.21 + 113 1 2112 99 1.92e-01 -5.34e-01 -4.16e+00 4.31e+00 0.94 -2.69 + 114 2 113 99 -2.76e-01 3.80e-01 -4.99e-01 1.01e+00 0.735 -0.926 + 115 1 -2112 99 -9.98e-02 -3.59e-01 -1.86e+00 2.12e+00 0.94 -2.31 + 116 2 -213 99 3.78e-01 3.78e-03 -9.06e-02 1.02e+00 0.942 -0.237 + 117 1 321 99 5.81e-01 -9.72e-01 3.68e-01 1.29e+00 0.494 0.319 + 118 2 333 99 4.71e-01 1.36e-01 1.18e+00 1.63e+00 1.02 1.61 + 119 2 -323 99 1.46e+00 -7.40e-01 2.58e+00 3.19e+00 0.915 1.24 + 120 2 213 99 1.64e+00 -1.18e+00 3.06e+00 3.72e+00 0.626 1.2 + 121 1 -211 99 2.33e+00 -1.49e+00 3.80e+00 4.70e+00 0.14 1.12 + 122 2 113 99 2.07e+00 -2.13e+00 5.85e+00 6.60e+00 0.768 1.43 + 123 2 213 99 1.70e+00 -2.06e+00 5.49e+00 6.16e+00 0.808 1.47 + 124 2 113 99 2.94e+00 -3.10e+00 5.91e+00 7.35e+00 0.871 1.13 + 125 1 2112 99 2.40e+00 -3.20e+00 9.53e+00 1.04e+01 0.94 1.6 + 126 1 -2112 99 3.42e+00 -3.67e+00 9.65e+00 1.09e+01 0.94 1.41 + 127 2 313 99 7.21e-01 -1.99e+00 4.68e+00 5.22e+00 0.905 1.53 + 128 2 -313 99 2.79e-01 -8.19e-02 1.17e+01 1.18e+01 0.896 4.39 + 129 2 113 99 -8.27e-02 3.45e-01 6.12e+00 6.17e+00 0.726 3.54 + 130 2 311 99 2.47e-01 4.19e-01 1.83e+01 1.83e+01 0.498 4.32 + 131 2 -311 99 2.94e-01 5.41e-01 2.32e+01 2.32e+01 0.498 4.32 + 132 1 -211 99 8.26e-01 2.00e-01 1.26e+01 1.27e+01 0.14 3.39 + 133 2 221 99 -2.00e-01 6.50e-01 4.38e+01 4.38e+01 0.547 4.86 + 134 2 2224 99 1.18e+00 3.26e-01 6.75e+01 6.75e+01 1.15 4.7 + 135 2 -213 99 -6.01e-01 -1.79e-01 5.42e+01 5.42e+01 0.732 5.15 + 136 2 -2214 99 4.88e-01 -5.76e-01 1.59e+03 1.59e+03 1.27 8.34 + 137 2 113 99 -4.14e-01 -8.62e-02 1.44e+03 1.44e+03 0.779 8.82 + 138 2 2224 99 -3.94e-02 -3.06e-01 3.32e+03 3.32e+03 1.27 9.98 + 139 2 92 42 -3.85e+01 1.11e+01 9.38e+01 1.02e+02 4.19 1.59 + 140 1 -211 139 -1.92e+01 6.19e+00 4.66e+01 5.07e+01 0.14 1.57 + 141 1 211 139 -3.82e+00 4.12e-01 8.85e+00 9.65e+00 0.14 1.57 + 142 1 -211 139 -1.93e-01 3.83e-02 7.41e-01 7.79e-01 0.14 2.03 + 143 2 -313 139 -8.26e+00 2.71e+00 2.04e+01 2.22e+01 0.906 1.59 + 144 2 323 139 -7.05e+00 1.77e+00 1.73e+01 1.87e+01 0.728 1.6 + 145 2 92 45 1.85e+01 1.59e+01 2.02e+02 2.07e+02 37.8 2.81 + 146 1 -2112 145 -2.67e+00 8.22e-01 3.90e+00 4.89e+00 0.94 1.14 + 147 1 -211 145 -3.48e+00 1.50e+00 1.00e+01 1.07e+01 0.14 1.7 + 148 1 2212 145 -1.51e+00 1.91e+00 8.19e+00 8.59e+00 0.938 1.93 + 149 2 113 145 -1.24e-01 2.53e-01 1.53e+00 1.60e+00 0.394 2.39 + 150 1 -2212 145 1.36e-01 5.28e-01 4.27e+00 4.41e+00 0.938 2.76 + 151 1 2212 145 5.83e-01 1.68e+00 1.43e+01 1.44e+01 0.938 2.78 + 152 2 111 145 1.42e+00 4.67e-02 6.03e+00 6.20e+00 0.135 2.15 + 153 1 -211 145 -8.89e-03 7.54e-01 4.39e+00 4.45e+00 0.14 2.46 + 154 2 113 145 1.82e+00 1.08e+00 1.14e+01 1.16e+01 0.662 2.39 + 155 2 213 145 1.50e+00 3.54e-01 8.50e+00 8.66e+00 0.543 2.41 + 156 2 223 145 4.64e+00 1.66e+00 3.07e+01 3.11e+01 0.783 2.53 + 157 2 -213 145 4.00e+00 1.47e+00 2.83e+01 2.87e+01 0.781 2.59 + 158 2 113 145 9.36e+00 3.15e+00 5.49e+01 5.58e+01 0.813 2.42 + 159 2 221 145 2.89e+00 6.97e-01 1.59e+01 1.62e+01 0.547 2.38 + 160 2 92 52 -1.18e+00 -3.15e+00 -1.38e+02 2.14e+02 164 -4.41 + 161 2 -313 160 8.20e+00 5.40e+00 2.22e+01 2.43e+01 0.85 1.55 + 162 2 3214 160 1.12e+00 4.11e-02 3.73e+00 4.12e+00 1.37 1.92 + 163 2 -3122 160 5.49e-01 6.72e-02 1.24e+00 1.76e+00 1.12 1.55 + 164 1 -211 160 -1.82e-01 -7.44e-01 9.33e-01 1.22e+00 0.14 1.03 + 165 2 213 160 -2.45e-01 -1.94e-01 4.92e-01 1.10e+00 0.935 1.23 + 166 2 111 160 1.08e-01 -8.60e-02 -1.22e-01 2.28e-01 0.135 -0.794 + 167 1 2112 160 2.14e-01 -3.28e-01 2.57e-01 1.05e+00 0.94 0.615 + 168 2 -3122 160 -1.70e-01 -3.31e-01 -2.56e-01 1.20e+00 1.12 -0.643 + 169 2 -323 160 1.85e+00 7.75e-02 -1.78e+00 2.72e+00 0.889 -0.852 + 170 2 221 160 1.14e-01 -4.01e-01 -1.22e+00 1.40e+00 0.547 -1.8 + 171 1 2212 160 1.25e-01 1.50e-01 -1.05e+00 1.42e+00 0.938 -2.38 + 172 1 -211 160 5.52e-01 1.11e-01 -2.97e+00 3.02e+00 0.14 -2.36 + 173 2 -3114 160 2.42e+00 1.39e-01 -3.48e+00 4.47e+00 1.4 -1.16 + 174 1 -321 160 9.73e-01 -3.24e-01 -5.77e+00 5.88e+00 0.494 -2.43 + 175 1 321 160 1.16e+00 4.08e-01 -8.77e+00 8.87e+00 0.494 -2.66 + 176 1 -321 160 1.25e+00 5.81e-01 -7.70e+00 7.83e+00 0.494 -2.42 + 177 1 211 160 4.64e-01 -3.11e-03 -6.88e+00 6.90e+00 0.14 -3.39 + 178 2 113 160 1.14e+00 2.00e+00 -1.82e+01 1.84e+01 0.994 -2.76 + 179 2 113 160 -3.80e-01 6.95e-01 -1.14e+01 1.14e+01 0.752 -3.36 + 180 1 -211 160 1.11e+00 1.52e+00 -2.01e+01 2.01e+01 0.14 -3.06 + 181 1 211 160 2.48e-02 2.32e-01 -4.84e-01 5.55e-01 0.14 -1.47 + 182 2 221 160 -4.25e-01 6.00e-01 -9.45e+00 9.49e+00 0.547 -3.25 + 183 2 111 160 -3.24e-01 -3.98e-01 -7.93e+00 7.95e+00 0.135 -3.43 + 184 2 111 160 -5.02e-01 1.52e+00 -8.24e+00 8.39e+00 0.135 -2.34 + 185 1 -211 160 2.40e-01 -3.13e-01 -3.14e+00 3.17e+00 0.14 -2.77 + 186 2 111 160 -7.18e-01 -1.57e+00 -4.65e+00 4.96e+00 0.135 -1.72 + 187 2 213 160 -8.78e-01 1.07e-01 -7.77e+00 7.86e+00 0.767 -2.87 + 188 2 -213 160 -1.76e+00 -2.18e+00 -9.93e+00 1.04e+01 1.06 -1.98 + 189 2 111 160 6.07e-02 -1.49e-01 -8.84e-02 2.28e-01 0.135 -0.525 + 190 2 3322 160 -8.98e-01 -1.41e+00 -4.95e+00 5.39e+00 1.31 -1.81 + 191 2 311 160 -9.82e-01 -7.93e-01 -1.45e+00 1.99e+00 0.498 -0.983 + 192 2 -3212 160 -1.74e+00 -8.22e-01 -3.73e+00 4.37e+00 1.19 -1.42 + 193 1 211 160 -1.43e+00 -6.08e-01 -2.67e+00 3.09e+00 0.14 -1.31 + 194 1 -211 160 -2.55e+00 -5.24e-01 -2.06e+00 3.33e+00 0.14 -0.726 + 195 1 211 160 -2.06e-01 1.66e-02 -9.11e-01 9.44e-01 0.14 -2.19 + 196 2 311 160 -9.46e+00 -5.65e+00 -1.01e+01 1.50e+01 0.498 -0.822 + 197 2 92 61 0.00e+00 0.00e+00 -9.45e-01 1.06e+01 10.6 -999 + 198 1 2112 197 8.84e-01 7.25e-01 -1.68e+00 2.24e+00 0.94 -1.18 + 199 2 111 197 1.26e-01 -7.90e-02 -4.64e-01 5.05e-01 0.135 -1.85 + 200 1 -2112 197 7.98e-01 4.22e-01 -1.89e+00 2.29e+00 0.94 -1.48 + 201 2 313 197 -3.43e-01 -3.37e-01 4.35e-01 1.21e+00 1.02 0.812 + 202 1 -321 197 3.57e-01 4.88e-01 3.32e-01 8.48e-01 0.494 0.525 + 203 1 321 197 -1.24e+00 -6.20e-01 1.30e+00 1.96e+00 0.494 0.832 + 204 2 -313 197 -5.78e-01 -5.99e-01 1.02e+00 1.57e+00 0.848 1.04 + 205 1 130 65 7.01e-01 -5.76e-01 -6.88e-01 1.24e+00 0.498 -0.7 + 206 1 211 67 2.36e-01 -2.66e-01 -2.61e-01 4.63e-01 0.14 -0.68 + 207 2 111 67 2.66e+00 -1.52e+00 -8.87e-01 3.20e+00 0.135 -0.285 + 208 2 311 69 9.81e-01 -7.18e-01 -6.84e-01 1.48e+00 0.498 -0.537 + 209 2 111 69 1.58e-01 5.46e-02 1.09e-01 2.41e-01 0.135 0.612 + 210 2 -2214 69 7.60e-01 -1.03e-01 -1.04e+00 1.75e+00 1.17 -1.11 + 211 2 431 71 -8.95e-01 1.08e+00 -7.52e+00 7.90e+00 1.97 -2.38 + 212 1 22 71 -1.29e-01 1.81e-01 -1.15e+00 1.17e+00 0 -2.35 + 213 1 130 72 1.55e-01 -5.29e-02 -2.28e+00 2.34e+00 0.498 -3.33 + 214 2 310 73 -1.05e+00 3.55e-01 -1.23e+00 1.73e+00 0.498 -0.957 + 215 2 311 75 -6.33e-01 -2.07e-01 -3.24e-01 8.93e-01 0.498 -0.47 + 216 1 211 75 -3.21e-01 -8.88e-02 -7.73e-01 8.53e-01 0.14 -1.58 + 217 2 -311 76 2.92e-01 -1.61e-01 -1.52e-01 6.18e-01 0.498 -0.442 + 218 2 111 76 1.60e-01 2.43e-01 -4.37e-01 5.42e-01 0.135 -1.2 + 219 1 -211 77 1.94e-02 -2.03e-03 5.16e-01 5.35e-01 0.14 3.97 + 220 1 211 77 -2.61e-01 -1.32e-02 -2.40e-01 3.82e-01 0.14 -0.823 + 221 1 22 81 5.47e-02 -5.81e-02 2.18e-03 7.98e-02 0 0.0273 + 222 1 22 81 2.07e-01 -4.79e-01 3.22e-01 6.13e-01 0 0.584 + 223 1 -211 82 4.28e-01 -1.04e-01 -1.20e-01 4.77e-01 0.14 -0.268 + 224 1 211 82 3.27e-01 -4.82e-01 -1.93e-01 6.30e-01 0.14 -0.326 + 225 2 111 82 4.60e-02 -2.04e-02 1.10e-01 1.81e-01 0.135 1.52 + 226 1 -211 84 -2.19e-01 3.16e-01 -1.35e+00 1.41e+00 0.14 -1.97 + 227 2 111 84 -1.72e-01 -4.83e-02 -6.72e-02 2.34e-01 0.135 -0.368 + 228 1 211 85 -3.93e-01 -1.22e-01 -1.07e+00 1.15e+00 0.14 -1.68 + 229 2 111 85 -3.17e-01 4.63e-01 -3.50e+00 3.55e+00 0.135 -2.53 + 230 1 -211 86 -2.57e-01 -1.01e-01 -7.01e-01 7.66e-01 0.14 -1.66 + 231 1 211 86 2.51e-02 -4.50e-01 -4.98e+00 5.01e+00 0.14 -3.1 + 232 1 22 87 -2.30e-01 2.71e-01 -3.03e+00 3.06e+00 0 -2.84 + 233 1 22 87 -2.30e-01 1.22e-01 -1.76e+00 1.78e+00 0 -2.61 + 234 2 310 88 2.75e-01 -1.15e-01 -2.12e+00 2.20e+00 0.498 -2.66 + 235 1 -321 89 -2.92e-01 6.82e-02 -1.53e+00 1.63e+00 0.494 -2.33 + 236 2 111 89 -4.11e-01 -2.68e-01 -2.67e+00 2.72e+00 0.135 -2.4 + 237 1 22 91 -2.35e-02 1.53e-01 -3.88e-01 4.18e-01 0 -1.65 + 238 1 22 91 -1.56e-01 5.04e-01 -2.11e+00 2.17e+00 0 -2.09 + 239 1 -211 92 -1.59e-01 3.14e-02 -6.12e-01 6.48e-01 0.14 -2.04 + 240 2 111 92 -2.18e-01 -2.53e-01 -7.24e+00 7.25e+00 0.135 -3.77 + 241 1 22 93 3.45e-01 1.55e-01 -4.95e+01 4.95e+01 0 -5.57 + 242 1 22 93 3.13e-01 1.62e-02 -3.60e+01 3.60e+01 0 -5.44 + 243 2 311 94 -3.96e-01 8.54e-02 -3.62e+01 3.62e+01 0.498 -5.19 + 244 1 211 94 -8.83e-02 -2.32e-01 -4.78e+01 4.78e+01 0.14 -5.95 + 245 2 111 95 5.21e-02 1.26e-01 -7.90e+01 7.90e+01 0.135 -7.05 + 246 2 111 95 -5.22e-03 -1.42e-01 -7.65e+01 7.65e+01 0.135 -6.98 + 247 2 221 95 3.11e-01 -1.36e-01 -2.84e+02 2.84e+02 0.547 -7.42 + 248 2 -311 96 -5.55e-01 -1.48e-01 -3.98e+02 3.98e+02 0.498 -7.23 + 249 2 111 96 7.14e-02 1.13e-01 -2.41e+02 2.41e+02 0.135 -8.19 + 250 1 2112 97 2.22e-01 2.29e-01 -1.13e+03 1.13e+03 0.94 -8.86 + 251 2 111 97 3.35e-02 2.06e-01 -7.83e+02 7.83e+02 0.135 -8.93 + 252 1 -211 98 -5.86e-02 -3.37e-02 -8.25e+02 8.25e+02 0.14 -10.1 + 253 1 211 98 -1.09e-01 5.81e-02 -2.24e+02 2.24e+02 0.14 -8.19 + 254 2 111 98 8.56e-02 -1.78e-01 -1.64e+02 1.64e+02 0.135 -7.42 + 255 1 -211 101 -1.95e-01 2.28e-02 -2.93e+02 2.93e+02 0.14 -8 + 256 2 111 101 4.55e-01 1.48e-01 -2.66e+02 2.66e+02 0.135 -7.02 + 257 1 22 103 -1.47e-01 -5.63e-02 -9.81e+01 9.81e+01 0 -7.13 + 258 2 111 103 -4.93e-01 8.22e-02 -3.68e+01 3.68e+01 0.135 -4.99 + 259 1 -211 104 -2.32e-01 2.07e-01 -3.89e+01 3.89e+01 0.14 -5.52 + 260 2 111 104 1.04e-01 -4.13e-01 -3.68e+01 3.68e+01 0.135 -5.15 + 261 2 311 105 -1.64e-01 3.87e-01 -4.83e+01 4.83e+01 0.498 -5.44 + 262 1 211 105 1.45e-01 -1.19e-01 -1.98e+01 1.98e+01 0.14 -5.35 + 263 1 -211 108 1.87e-01 -2.52e-01 -5.71e+00 5.72e+00 0.14 -3.6 + 264 2 111 108 5.94e-02 -3.53e-01 -5.23e+01 5.23e+01 0.135 -5.68 + 265 1 321 109 -2.71e-01 -2.10e-01 -9.62e+00 9.64e+00 0.494 -4.03 + 266 2 111 109 1.71e-01 -3.24e-01 -1.12e+01 1.12e+01 0.135 -4.11 + 267 1 -321 110 -4.04e-01 -1.61e-02 -1.32e+01 1.32e+01 0.494 -4.18 + 268 2 111 110 1.25e-01 3.35e-01 -1.03e+01 1.03e+01 0.135 -4.05 + 269 1 211 111 1.44e-01 5.65e-01 -3.26e+00 3.31e+00 0.14 -2.42 + 270 2 111 111 -1.43e-01 3.06e-01 -5.42e-01 6.53e-01 0.135 -1.25 + 271 1 -211 112 -1.15e-02 -1.83e-01 -6.48e-01 6.88e-01 0.14 -1.97 + 272 1 211 112 5.98e-02 -1.80e-01 -1.04e-01 2.57e-01 0.14 -0.521 + 273 2 111 112 6.94e-02 1.81e-01 -2.29e-01 3.29e-01 0.135 -1 + 274 1 -211 114 -4.38e-01 2.92e-02 -2.85e-01 5.42e-01 0.14 -0.609 + 275 1 211 114 1.62e-01 3.50e-01 -2.15e-01 4.63e-01 0.14 -0.53 + 276 1 -211 116 2.05e-01 2.33e-01 -4.34e-01 5.51e-01 0.14 -1.14 + 277 2 111 116 1.74e-01 -2.29e-01 3.44e-01 4.68e-01 0.135 1.01 + 278 2 213 118 4.40e-01 2.29e-01 1.04e+00 1.41e+00 0.818 1.48 + 279 1 -211 118 3.07e-02 -9.28e-02 1.45e-01 2.24e-01 0.14 1.18 + 280 2 -311 119 8.94e-01 -6.91e-01 1.36e+00 1.84e+00 0.498 1.02 + 281 1 -211 119 5.66e-01 -4.89e-02 1.22e+00 1.35e+00 0.14 1.51 + 282 1 211 120 3.39e-01 -4.00e-01 1.19e+00 1.31e+00 0.14 1.56 + 283 2 111 120 1.31e+00 -7.81e-01 1.87e+00 2.42e+00 0.135 1.04 + 284 1 211 122 1.41e-01 -1.08e-02 3.59e-01 4.10e-01 0.14 1.66 + 285 1 -211 122 1.93e+00 -2.12e+00 5.49e+00 6.19e+00 0.14 1.41 + 286 1 211 123 6.20e-01 -3.18e-01 1.07e+00 1.29e+00 0.14 1.22 + 287 2 111 123 1.08e+00 -1.74e+00 4.42e+00 4.88e+00 0.135 1.51 + 288 1 211 124 1.04e+00 -1.30e+00 1.69e+00 2.38e+00 0.14 0.89 + 289 1 -211 124 1.90e+00 -1.80e+00 4.22e+00 4.97e+00 0.14 1.26 + 290 1 321 127 4.06e-01 -7.00e-01 1.62e+00 1.88e+00 0.494 1.45 + 291 1 -211 127 3.15e-01 -1.29e+00 3.06e+00 3.34e+00 0.14 1.57 + 292 2 -311 128 2.52e-01 2.13e-01 6.38e+00 6.41e+00 0.498 3.66 + 293 2 111 128 2.76e-02 -2.95e-01 5.34e+00 5.35e+00 0.135 3.58 + 294 1 -211 129 2.76e-01 1.30e-01 3.53e+00 3.54e+00 0.14 3.14 + 295 1 211 129 -3.58e-01 2.16e-01 2.59e+00 2.63e+00 0.14 2.52 + 296 2 310 130 2.47e-01 4.19e-01 1.83e+01 1.83e+01 0.498 4.32 + 297 2 310 131 2.94e-01 5.41e-01 2.32e+01 2.32e+01 0.498 4.32 + 298 2 111 133 -7.30e-02 3.67e-01 2.23e+01 2.23e+01 0.135 4.78 + 299 2 111 133 -6.87e-02 2.83e-01 1.36e+01 1.36e+01 0.135 4.53 + 300 2 111 133 -5.83e-02 3.68e-04 7.86e+00 7.86e+00 0.135 5.6 + 301 1 2212 134 1.03e+00 2.06e-01 5.23e+01 5.23e+01 0.938 4.6 + 302 1 211 134 1.47e-01 1.20e-01 1.51e+01 1.51e+01 0.14 5.07 + 303 1 -211 135 -3.22e-01 -9.69e-02 4.70e+01 4.70e+01 0.14 5.63 + 304 2 111 135 -2.79e-01 -8.26e-02 7.17e+00 7.18e+00 0.135 3.9 + 305 1 -2212 136 2.53e-01 -6.06e-01 1.42e+03 1.42e+03 0.938 8.37 + 306 2 111 136 2.34e-01 2.95e-02 1.66e+02 1.66e+02 0.135 7.25 + 307 1 -211 137 5.80e-02 2.46e-01 4.17e+02 4.17e+02 0.14 8.1 + 308 1 211 137 -4.72e-01 -3.33e-01 1.02e+03 1.02e+03 0.14 8.17 + 309 1 2212 138 -2.68e-01 -2.79e-01 2.31e+03 2.31e+03 0.938 9.39 + 310 1 211 138 2.28e-01 -2.69e-02 1.01e+03 1.01e+03 0.14 9.08 + 311 1 -321 143 -4.53e+00 1.19e+00 1.10e+01 1.20e+01 0.494 1.59 + 312 1 211 143 -3.72e+00 1.52e+00 9.44e+00 1.03e+01 0.14 1.59 + 313 2 311 144 -3.56e+00 8.89e-01 8.76e+00 9.51e+00 0.498 1.6 + 314 1 211 144 -3.49e+00 8.78e-01 8.49e+00 9.22e+00 0.14 1.59 + 315 1 -211 149 -4.77e-02 1.61e-01 1.26e+00 1.27e+00 0.14 2.71 + 316 1 211 149 -7.68e-02 9.18e-02 2.73e-01 3.29e-01 0.14 1.56 + 317 1 22 152 1.30e+00 7.66e-02 5.45e+00 5.60e+00 0 2.14 + 318 1 22 152 1.16e-01 -2.99e-02 5.83e-01 5.95e-01 0 2.28 + 319 1 -211 154 1.28e+00 5.89e-01 8.66e+00 8.78e+00 0.14 2.51 + 320 1 211 154 5.37e-01 4.94e-01 2.77e+00 2.86e+00 0.14 2.04 + 321 1 211 155 1.26e-01 1.24e-01 1.53e+00 1.54e+00 0.14 2.85 + 322 2 111 155 1.38e+00 2.30e-01 6.97e+00 7.11e+00 0.135 2.31 + 323 1 22 156 3.88e+00 1.10e+00 2.51e+01 2.55e+01 0 2.53 + 324 2 111 156 7.65e-01 5.65e-01 5.53e+00 5.61e+00 0.135 2.46 + 325 1 -211 157 3.86e+00 1.32e+00 2.70e+01 2.73e+01 0.14 2.59 + 326 2 111 157 1.38e-01 1.52e-01 1.36e+00 1.38e+00 0.135 2.59 + 327 1 211 158 4.44e+00 1.23e+00 2.40e+01 2.44e+01 0.14 2.35 + 328 1 -211 158 4.92e+00 1.92e+00 3.09e+01 3.14e+01 0.14 2.47 + 329 1 22 159 2.30e+00 4.37e-01 1.35e+01 1.37e+01 0 2.45 + 330 1 22 159 5.83e-01 2.60e-01 2.48e+00 2.56e+00 0 2.07 + 331 1 -321 161 3.81e+00 2.39e+00 9.78e+00 1.08e+01 0.494 1.52 + 332 1 211 161 4.39e+00 3.01e+00 1.24e+01 1.35e+01 0.14 1.58 + 333 2 3122 162 1.16e+00 -1.41e-02 3.50e+00 3.85e+00 1.12 1.82 + 334 2 111 162 -4.08e-02 5.52e-02 2.25e-01 2.71e-01 0.135 1.9 + 335 1 -2212 163 4.36e-01 5.70e-02 1.17e+00 1.57e+00 0.938 1.71 + 336 1 211 163 1.13e-01 1.02e-02 6.62e-02 1.92e-01 0.14 0.555 + 337 1 211 165 2.19e-02 -4.77e-01 4.78e-01 6.90e-01 0.14 0.883 + 338 2 111 165 -2.67e-01 2.82e-01 1.37e-02 4.12e-01 0.135 0.0353 + 339 1 22 166 1.89e-02 -1.10e-02 2.99e-02 3.71e-02 0 1.12 + 340 1 22 166 8.94e-02 -7.50e-02 -1.52e-01 1.91e-01 0 -1.08 + 341 1 -2212 168 -7.40e-02 -2.64e-01 -2.87e-01 1.02e+00 0.938 -0.916 + 342 1 211 168 -9.57e-02 -6.75e-02 3.13e-02 1.85e-01 0.14 0.264 + 343 2 -311 169 1.11e+00 1.64e-01 -1.43e+00 1.88e+00 0.498 -1.06 + 344 1 -211 169 7.37e-01 -8.61e-02 -3.51e-01 8.33e-01 0.14 -0.457 + 345 1 22 170 -5.71e-02 -3.35e-01 -2.72e-01 4.35e-01 0 -0.734 + 346 1 22 170 1.71e-01 -6.58e-02 -9.47e-01 9.65e-01 0 -2.35 + 347 2 -3212 173 2.00e+00 8.21e-02 -2.68e+00 3.55e+00 1.19 -1.1 + 348 1 211 173 4.27e-01 5.65e-02 -7.98e-01 9.18e-01 0.14 -1.38 + 349 1 211 178 6.16e-01 3.37e-01 -3.88e+00 3.94e+00 0.14 -2.41 + 350 1 -211 178 5.27e-01 1.67e+00 -1.43e+01 1.44e+01 0.14 -2.8 + 351 1 211 179 -2.70e-01 -6.60e-02 -3.29e+00 3.30e+00 0.14 -3.17 + 352 1 -211 179 -1.10e-01 7.61e-01 -8.11e+00 8.14e+00 0.14 -3.05 + 353 1 -211 182 -9.58e-02 6.94e-02 -2.66e+00 2.66e+00 0.14 -3.81 + 354 1 211 182 -1.02e-01 7.84e-02 -1.43e+00 1.44e+00 0.14 -3.1 + 355 2 111 182 -2.28e-01 4.52e-01 -5.36e+00 5.39e+00 0.135 -3.06 + 356 1 22 183 -1.48e-02 -9.82e-02 -1.65e+00 1.65e+00 0 -3.5 + 357 1 22 183 -3.09e-01 -3.00e-01 -6.28e+00 6.30e+00 0 -3.37 + 358 1 22 184 -4.11e-01 1.37e+00 -7.24e+00 7.38e+00 0 -2.32 + 359 1 22 184 -9.08e-02 1.52e-01 -1.00e+00 1.02e+00 0 -2.43 + 360 1 22 186 -3.06e-01 -8.16e-01 -2.26e+00 2.43e+00 0 -1.68 + 361 1 22 186 -4.12e-01 -7.50e-01 -2.38e+00 2.53e+00 0 -1.75 + 362 1 211 187 -3.54e-01 -2.47e-01 -4.61e+00 4.63e+00 0.14 -3.06 + 363 2 111 187 -5.24e-01 3.54e-01 -3.16e+00 3.23e+00 0.135 -2.31 + 364 1 -211 188 -1.74e+00 -1.77e+00 -7.46e+00 7.86e+00 0.14 -1.82 + 365 2 111 188 -1.76e-02 -4.09e-01 -2.48e+00 2.51e+00 0.135 -2.5 + 366 1 22 189 -9.00e-03 -2.12e-02 3.17e-02 3.91e-02 0 1.12 + 367 1 22 189 6.97e-02 -1.28e-01 -1.20e-01 1.89e-01 0 -0.752 + 368 2 3122 190 -8.65e-01 -1.40e+00 -4.68e+00 5.08e+00 1.12 -1.77 + 369 2 111 190 -3.31e-02 -1.44e-02 -2.71e-01 3.05e-01 0.135 -2.72 + 370 1 130 191 -9.82e-01 -7.93e-01 -1.45e+00 1.99e+00 0.498 -0.983 + 371 2 -3122 192 -1.68e+00 -7.73e-01 -3.69e+00 4.28e+00 1.12 -1.44 + 372 1 22 192 -6.06e-02 -4.96e-02 -3.98e-02 8.79e-02 0 -0.488 + 373 1 130 196 -9.46e+00 -5.65e+00 -1.01e+01 1.50e+01 0.498 -0.822 + 374 1 22 199 9.79e-03 -8.22e-02 -1.61e-01 1.81e-01 0 -1.42 + 375 1 22 199 1.17e-01 3.12e-03 -3.03e-01 3.25e-01 0 -1.68 + 376 1 321 201 -3.16e-02 -2.46e-01 6.04e-01 8.18e-01 0.494 1.62 + 377 1 -211 201 -3.11e-01 -9.06e-02 -1.69e-01 3.91e-01 0.14 -0.5 + 378 1 -321 204 -5.00e-01 -6.69e-01 9.99e-01 1.39e+00 0.494 1.01 + 379 1 211 204 -7.81e-02 7.01e-02 2.59e-02 1.77e-01 0.14 0.245 + 380 1 22 207 1.80e+00 -9.80e-01 -6.42e-01 2.15e+00 0 -0.308 + 381 1 22 207 8.67e-01 -5.43e-01 -2.46e-01 1.05e+00 0 -0.238 + 382 1 130 208 9.81e-01 -7.18e-01 -6.84e-01 1.48e+00 0.498 -0.537 + 383 1 22 209 1.07e-01 4.44e-02 -4.63e-03 1.16e-01 0 -0.0399 + 384 1 22 209 5.06e-02 1.02e-02 1.13e-01 1.25e-01 0 1.53 + 385 1 -2212 210 7.79e-01 -1.31e-01 -1.04e+00 1.61e+00 0.938 -1.09 + 386 2 111 210 -1.93e-02 2.82e-02 -2.50e-03 1.39e-01 0.135 -0.0732 + 387 1 -11 211 -2.79e-01 4.09e-01 -7.59e-01 9.06e-01 0.00051 -1.21 + 388 1 12 211 2.11e-01 -1.09e-01 -5.80e-01 6.26e-01 0 -1.63 + 389 2 333 211 -8.27e-01 7.82e-01 -6.18e+00 6.36e+00 1.02 -2.39 + 390 2 111 214 -5.51e-01 1.80e-03 -7.47e-01 9.38e-01 0.135 -1.11 + 391 2 111 214 -4.97e-01 3.53e-01 -4.81e-01 7.89e-01 0.135 -0.724 + 392 1 130 215 -6.33e-01 -2.07e-01 -3.24e-01 8.93e-01 0.498 -0.47 + 393 2 310 217 2.92e-01 -1.61e-01 -1.52e-01 6.18e-01 0.498 -0.442 + 394 1 22 218 1.73e-01 2.51e-01 -4.17e-01 5.17e-01 0 -1.12 + 395 1 22 218 -1.31e-02 -8.36e-03 -1.99e-02 2.53e-02 0 -1.07 + 396 1 22 225 -3.70e-02 2.04e-02 6.70e-02 7.92e-02 0 1.24 + 397 1 22 225 8.30e-02 -4.08e-02 4.29e-02 1.02e-01 0 0.449 + 398 1 22 227 6.16e-03 2.03e-02 1.50e-02 2.59e-02 0 0.659 + 399 1 22 227 -1.78e-01 -6.85e-02 -8.22e-02 2.08e-01 0 -0.418 + 400 1 22 229 -1.10e-01 2.13e-01 -1.13e+00 1.16e+00 0 -2.26 + 401 1 22 229 -2.07e-01 2.50e-01 -2.37e+00 2.39e+00 0 -2.69 + 402 1 -211 234 1.32e-02 1.10e-01 -3.96e-01 4.34e-01 0.14 -1.99 + 403 1 211 234 2.62e-01 -2.25e-01 -1.73e+00 1.77e+00 0.14 -2.31 + 404 1 22 236 -1.25e-01 -4.04e-02 -9.95e-01 1.00e+00 0 -2.72 + 405 1 22 236 -2.87e-01 -2.28e-01 -1.68e+00 1.72e+00 0 -2.23 + 406 1 22 240 -1.90e-01 -1.40e-01 -5.51e+00 5.52e+00 0 -3.84 + 407 1 22 240 -2.78e-02 -1.13e-01 -1.73e+00 1.73e+00 0 -3.4 + 408 1 130 243 -3.96e-01 8.54e-02 -3.62e+01 3.62e+01 0.498 -5.19 + 409 1 22 245 3.09e-02 5.98e-03 -3.68e+00 3.68e+00 0 -5.46 + 410 1 22 245 2.13e-02 1.20e-01 -7.53e+01 7.53e+01 0 -7.12 + 411 1 22 246 3.86e-02 5.61e-03 -2.14e+01 2.14e+01 0 -7 + 412 1 22 246 -4.38e-02 -1.48e-01 -5.51e+01 5.51e+01 0 -6.57 + 413 1 22 247 4.41e-01 -2.15e-01 -2.10e+02 2.10e+02 0 -6.75 + 414 1 22 247 -1.30e-01 7.90e-02 -7.48e+01 7.48e+01 0 -6.89 + 415 1 130 248 -5.55e-01 -1.48e-01 -3.98e+02 3.98e+02 0.498 -7.23 + 416 1 22 249 -1.04e-02 3.14e-02 -1.48e+02 1.48e+02 0 -9.1 + 417 1 22 249 8.18e-02 8.12e-02 -9.38e+01 9.38e+01 0 -7.39 + 418 1 22 251 6.61e-02 6.91e-02 -2.05e+02 2.05e+02 0 -8.36 + 419 1 22 251 -3.26e-02 1.36e-01 -5.78e+02 5.78e+02 0 -9.02 + 420 1 22 254 4.60e-02 9.82e-03 -2.97e+01 2.97e+01 0 -7.14 + 421 1 22 254 3.96e-02 -1.88e-01 -1.35e+02 1.35e+02 0 -7.25 + 422 1 22 256 3.91e-02 4.88e-02 -5.20e+01 5.20e+01 0 -7.42 + 423 1 22 256 4.16e-01 9.96e-02 -2.15e+02 2.15e+02 0 -6.91 + 424 1 22 258 -3.54e-01 9.84e-03 -2.81e+01 2.81e+01 0 -5.07 + 425 1 22 258 -1.38e-01 7.23e-02 -8.68e+00 8.68e+00 0 -4.71 + 426 1 22 260 1.03e-01 -3.86e-01 -3.01e+01 3.01e+01 0 -5.01 + 427 1 22 260 4.37e-04 -2.70e-02 -6.77e+00 6.77e+00 0 -6.22 + 428 1 130 261 -1.64e-01 3.87e-01 -4.83e+01 4.83e+01 0.498 -5.44 + 429 1 22 264 5.43e-02 -2.37e-01 -2.58e+01 2.58e+01 0 -5.36 + 430 1 22 264 5.06e-03 -1.16e-01 -2.65e+01 2.65e+01 0 -6.12 + 431 1 22 266 -2.06e-02 -6.46e-02 -2.05e+00 2.05e+00 0 -4.1 + 432 1 22 266 1.92e-01 -2.59e-01 -9.11e+00 9.11e+00 0 -4.03 + 433 1 22 268 8.52e-03 2.14e-01 -5.57e+00 5.57e+00 0 -3.95 + 434 1 22 268 1.16e-01 1.21e-01 -4.69e+00 4.69e+00 0 -4.02 + 435 1 22 270 -2.10e-02 1.81e-01 -2.13e-01 2.80e-01 0 -0.997 + 436 1 22 270 -1.22e-01 1.25e-01 -3.29e-01 3.72e-01 0 -1.39 + 437 1 22 273 1.02e-01 1.75e-01 -2.05e-01 2.88e-01 0 -0.889 + 438 1 22 273 -3.25e-02 5.95e-03 -2.40e-02 4.08e-02 0 -0.675 + 439 1 22 277 -2.23e-02 -1.76e-02 4.15e-02 5.03e-02 0 1.17 + 440 1 22 277 1.96e-01 -2.11e-01 3.02e-01 4.18e-01 0 0.914 + 441 1 211 278 1.74e-01 -1.80e-01 3.51e-02 2.89e-01 0.14 0.14 + 442 2 111 278 2.66e-01 4.09e-01 1.00e+00 1.12e+00 0.135 1.47 + 443 2 310 280 8.94e-01 -6.91e-01 1.36e+00 1.84e+00 0.498 1.02 + 444 1 22 283 2.70e-01 -1.81e-01 4.87e-01 5.85e-01 0 1.19 + 445 1 22 283 1.04e+00 -6.00e-01 1.38e+00 1.83e+00 0 0.988 + 446 1 22 287 9.05e-01 -1.54e+00 3.89e+00 4.28e+00 0 1.52 + 447 1 22 287 1.73e-01 -2.01e-01 5.32e-01 5.94e-01 0 1.45 + 448 1 130 292 2.52e-01 2.13e-01 6.38e+00 6.41e+00 0.498 3.66 + 449 1 22 293 7.28e-03 2.74e-03 8.37e-01 8.37e-01 0 5.37 + 450 1 22 293 2.03e-02 -2.98e-01 4.50e+00 4.51e+00 0 3.41 + 451 2 111 296 7.02e-02 6.55e-02 1.10e+01 1.10e+01 0.135 5.44 + 452 2 111 296 1.77e-01 3.53e-01 7.26e+00 7.27e+00 0.135 3.61 + 453 1 211 297 -5.26e-02 3.30e-01 1.03e+01 1.03e+01 0.14 4.12 + 454 1 -211 297 3.46e-01 2.10e-01 1.29e+01 1.29e+01 0.14 4.15 + 455 1 22 298 2.61e-02 1.60e-01 7.35e+00 7.35e+00 0 4.51 + 456 1 22 298 -9.91e-02 2.07e-01 1.50e+01 1.50e+01 0 4.87 + 457 1 22 299 -3.21e-02 1.35e-02 3.34e+00 3.34e+00 0 5.25 + 458 1 22 299 -3.66e-02 2.70e-01 1.03e+01 1.03e+01 0 4.32 + 459 1 22 300 -3.26e-02 6.36e-02 5.23e+00 5.23e+00 0 4.99 + 460 1 22 300 -2.57e-02 -6.32e-02 2.62e+00 2.62e+00 0 4.34 + 461 1 22 304 -2.42e-01 -1.15e-01 6.42e+00 6.43e+00 0 3.87 + 462 1 22 304 -3.72e-02 3.19e-02 7.49e-01 7.51e-01 0 3.42 + 463 1 22 306 -1.57e-02 -5.41e-03 1.80e+01 1.80e+01 0 7.68 + 464 1 22 306 2.50e-01 3.49e-02 1.48e+02 1.48e+02 0 7.07 + 465 1 130 313 -3.56e+00 8.89e-01 8.76e+00 9.51e+00 0.498 1.6 + 466 1 22 322 1.11e+00 1.44e-01 5.39e+00 5.50e+00 0 2.27 + 467 1 22 322 2.67e-01 8.61e-02 1.58e+00 1.61e+00 0 2.43 + 468 1 22 324 3.23e-01 1.67e-01 2.29e+00 2.31e+00 0 2.54 + 469 1 22 324 4.41e-01 3.98e-01 3.24e+00 3.30e+00 0 2.4 + 470 1 22 326 -2.43e-02 4.39e-02 2.44e-01 2.49e-01 0 2.29 + 471 1 22 326 1.62e-01 1.08e-01 1.11e+00 1.13e+00 0 2.44 + 472 1 2212 333 1.10e+00 -6.17e-02 3.07e+00 3.40e+00 0.938 1.75 + 473 1 -211 333 6.03e-02 4.77e-02 4.26e-01 4.55e-01 0.14 2.41 + 474 1 22 334 4.40e-04 5.64e-02 1.66e-02 5.88e-02 0 0.291 + 475 1 22 334 -4.13e-02 -1.19e-03 2.09e-01 2.13e-01 0 2.32 + 476 1 22 338 2.19e-03 -1.04e-02 8.91e-03 1.39e-02 0 0.762 + 477 1 22 338 -2.69e-01 2.93e-01 4.80e-03 3.98e-01 0 0.0121 + 478 1 130 343 1.11e+00 1.64e-01 -1.43e+00 1.88e+00 0.498 -1.06 + 479 2 -3122 347 2.01e+00 6.78e-02 -2.67e+00 3.53e+00 1.12 -1.09 + 480 1 22 347 -1.61e-02 1.43e-02 -9.74e-03 2.36e-02 0 -0.438 + 481 1 22 355 -1.19e-01 1.35e-01 -2.37e+00 2.38e+00 0 -3.27 + 482 1 22 355 -1.08e-01 3.17e-01 -2.99e+00 3.01e+00 0 -2.89 + 483 1 22 363 -4.96e-02 9.07e-02 -5.64e-01 5.73e-01 0 -2.4 + 484 1 22 363 -4.74e-01 2.63e-01 -2.60e+00 2.66e+00 0 -2.27 + 485 1 22 365 -5.13e-02 -1.64e-01 -7.40e-01 7.60e-01 0 -2.17 + 486 1 22 365 3.37e-02 -2.44e-01 -1.74e+00 1.75e+00 0 -2.65 + 487 1 2112 368 -8.53e-01 -1.25e+00 -4.09e+00 4.46e+00 0.94 -1.72 + 488 2 111 368 -1.24e-02 -1.47e-01 -5.93e-01 6.26e-01 0.135 -2.1 + 489 1 22 369 -2.43e-02 3.45e-02 -1.61e-02 4.52e-02 0 -0.373 + 490 1 22 369 -8.76e-03 -4.89e-02 -2.55e-01 2.60e-01 0 -2.34 + 491 1 -2112 371 -1.57e+00 -7.67e-01 -3.33e+00 3.88e+00 0.94 -1.4 + 492 2 111 371 -1.16e-01 -5.44e-03 -3.61e-01 4.03e-01 0.135 -1.86 + 493 1 22 386 8.35e-03 -6.17e-03 6.10e-02 6.19e-02 0 2.47 + 494 1 22 386 -2.76e-02 3.43e-02 -6.35e-02 7.73e-02 0 -1.16 + 495 1 130 389 -3.84e-01 4.96e-01 -3.23e+00 3.33e+00 0.498 -2.34 + 496 2 310 389 -4.44e-01 2.86e-01 -2.94e+00 3.03e+00 0.498 -2.42 + 497 1 22 390 -4.96e-01 -3.97e-02 -6.72e-01 8.36e-01 0 -1.11 + 498 1 22 390 -5.45e-02 4.15e-02 -7.55e-02 1.02e-01 0 -0.952 + 499 1 22 391 -3.54e-01 1.77e-01 -2.77e-01 4.83e-01 0 -0.653 + 500 1 22 391 -1.43e-01 1.77e-01 -2.04e-01 3.06e-01 0 -0.808 + 501 1 211 393 4.70e-02 -2.61e-01 -6.83e-02 3.07e-01 0.14 -0.255 + 502 1 -211 393 2.45e-01 9.99e-02 -8.39e-02 3.11e-01 0.14 -0.312 + 503 1 22 442 3.61e-02 1.41e-01 2.09e-01 2.55e-01 0 1.16 + 504 1 22 442 2.30e-01 2.68e-01 7.92e-01 8.67e-01 0 1.55 + 505 2 111 443 6.63e-01 -5.41e-01 1.23e+00 1.51e+00 0.135 1.16 + 506 2 111 443 2.31e-01 -1.50e-01 1.32e-01 3.34e-01 0.135 0.464 + 507 1 22 451 2.89e-02 5.75e-02 1.80e+00 1.80e+00 0 4.03 + 508 1 22 451 4.13e-02 7.98e-03 9.22e+00 9.22e+00 0 6.08 + 509 1 22 452 1.63e-01 3.26e-01 5.67e+00 5.68e+00 0 3.44 + 510 1 22 452 1.37e-02 2.74e-02 1.59e+00 1.59e+00 0 4.64 + 511 1 -2212 479 1.78e+00 -3.42e-02 -2.32e+00 3.07e+00 0.938 -1.08 + 512 1 211 479 2.36e-01 1.02e-01 -3.55e-01 4.60e-01 0.14 -1.13 + 513 1 22 488 4.02e-02 -1.30e-01 -3.29e-01 3.56e-01 0 -1.61 + 514 1 22 488 -5.26e-02 -1.71e-02 -2.64e-01 2.70e-01 0 -2.27 + 515 1 22 492 -1.27e-02 -1.57e-02 6.02e-03 2.11e-02 0 0.294 + 516 1 22 492 -1.03e-01 1.02e-02 -3.67e-01 3.82e-01 0 -1.98 + 517 1 211 496 -1.19e-01 1.23e-01 -1.98e+00 2.00e+00 0.14 -3.14 + 518 1 -211 496 -3.24e-01 1.63e-01 -9.60e-01 1.04e+00 0.14 -1.7 + 519 1 22 505 4.41e-01 -4.30e-01 8.27e-01 1.03e+00 0 1.1 + 520 1 22 505 2.21e-01 -1.11e-01 4.04e-01 4.74e-01 0 1.27 + 521 1 22 506 4.94e-02 -1.05e-01 7.61e-02 1.39e-01 0 0.615 + 522 1 22 506 1.81e-01 -4.54e-02 5.63e-02 1.95e-01 0 0.297 +9 Event +321 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 -2 1 -1.31e+00 1.29e+00 5.19e+00 5.50e+00 0 1.76 + 4 3 1 2 7.06e-01 -1.60e-01 -1.10e+03 1.10e+03 0 -8.02 + 5 3 -2 3 -1.31e+00 1.29e+00 5.19e+00 5.50e+00 0 1.76 + 6 3 1 4 7.06e-01 -1.60e-01 -1.10e+03 1.10e+03 0 -8.02 + 7 3 22 5 -2.97e+00 2.95e+00 2.65e+00 4.95e+00 0 0.596 + 8 3 -24 5 2.37e+00 -1.82e+00 -1.10e+03 1.10e+03 82.4 -6.6 + 9 1 22 7 -2.97e+00 2.95e+00 2.65e+00 4.95e+00 0 0.596 + 10 2 -24 8 2.37e+00 -1.82e+00 -1.10e+03 1.10e+03 82.4 -6.6 + 11 1 -12 10 -5.41e+00 2.78e+01 -1.53e+02 1.56e+02 0 -2.39 + 12 1 11 10 7.77e+00 -2.96e+01 -9.40e+02 9.41e+02 0.00051 -4.12 + 13 1 22 10 1.64e-02 -6.23e-02 -1.98e+00 1.98e+00 0 -4.12 + 14 2 2224 1 6.26e-01 -5.58e-01 1.99e+03 1.99e+03 1.17 8.46 + 15 2 2 0 -5.88e+00 -9.32e-01 -1.69e+02 1.69e+02 0 -4.04 + 16 2 -2 0 5.88e+00 9.32e-01 -2.61e+02 2.61e+02 0 -4.47 + 17 2 2 0 -1.29e+00 -2.99e+00 -1.12e+03 1.12e+03 0 -6.53 + 18 2 21 0 1.40e+00 -2.79e+00 9.44e+00 9.94e+00 0 1.83 + 19 2 -2 0 1.29e+00 2.99e+00 6.00e+02 6.00e+02 0 5.91 + 20 2 1 1 6.80e-01 -7.30e-01 2.25e+03 2.25e+03 0.33 8.41 + 21 2 21 0 4.52e+00 3.02e-01 7.56e+01 7.57e+01 0 3.51 + 22 2 21 0 2.33e+00 2.53e+00 1.62e+01 1.66e+01 0 2.26 + 23 2 21 0 -2.33e+00 -2.53e+00 1.71e+01 1.74e+01 0 2.31 + 24 2 21 0 -4.52e+00 -3.02e-01 -3.21e+00 5.55e+00 0 -0.661 + 25 2 21 0 3.34e+00 -3.37e+00 -1.29e+01 1.37e+01 0 -1.72 + 26 2 21 0 -1.40e+00 2.79e+00 -5.69e+00 6.49e+00 0 -1.36 + 27 2 21 0 -3.34e+00 3.37e+00 -1.40e+01 1.48e+01 0 -1.81 + 28 2 2203 2 -7.06e-01 1.60e-01 -4.31e+03 4.31e+03 0.771 -9.39 + 29 2 21 0 1.72e+00 2.34e+00 2.13e-01 2.91e+00 0 0.0731 + 30 2 21 0 -1.72e+00 -2.34e+00 2.03e+03 2.03e+03 0 7.24 + 31 1 2212 14 3.98e-01 -4.20e-01 1.72e+03 1.72e+03 0.938 8.69 + 32 1 211 14 2.28e-01 -1.38e-01 2.65e+02 2.65e+02 0.14 7.6 + 33 2 92 15 0.00e+00 0.00e+00 -4.31e+02 4.31e+02 12.2 -999 + 34 1 211 33 -3.42e+00 -1.18e+00 -1.02e+02 1.02e+02 0.14 -4.03 + 35 2 313 33 -1.43e+00 1.04e+00 -7.25e+01 7.25e+01 0.919 -4.4 + 36 2 -313 33 1.04e+00 -4.59e-01 -4.56e+01 4.56e+01 0.892 -4.38 + 37 2 -213 33 3.24e-01 2.33e-01 -4.01e+01 4.01e+01 0.825 -5.3 + 38 2 111 33 1.29e+00 4.71e-01 -5.42e+01 5.42e+01 0.135 -4.37 + 39 2 213 33 1.25e+00 -4.71e-01 -7.13e+01 7.14e+01 0.883 -4.67 + 40 1 -211 33 9.37e-01 3.56e-01 -4.47e+01 4.47e+01 0.14 -4.49 + 41 2 92 17 1.40e+00 -2.79e+00 -5.10e+02 1.73e+03 1.65e+03 -5.79 + 42 1 2212 41 -6.49e-01 -4.27e-01 -3.35e+02 3.35e+02 0.938 -6.76 + 43 1 -2212 41 -4.97e-01 -1.95e+00 -5.58e+02 5.58e+02 0.938 -6.32 + 44 2 113 41 1.65e-02 -2.94e-01 -7.68e+01 7.68e+01 0.929 -6.26 + 45 2 221 41 -1.50e-01 4.57e-03 -1.01e+02 1.01e+02 0.547 -7.2 + 46 2 221 41 3.02e-01 2.85e-01 -2.89e+01 2.89e+01 0.547 -4.93 + 47 1 211 41 -6.43e-01 -7.25e-01 -5.78e+00 5.86e+00 0.14 -2.49 + 48 2 -213 41 3.35e-01 1.38e-01 -4.95e+00 5.00e+00 0.56 -3.31 + 49 2 213 41 3.85e-02 -2.68e-02 -6.23e+00 6.28e+00 0.745 -5.58 + 50 1 -211 41 -3.05e-01 4.01e-01 -5.07e-01 7.28e-01 0.14 -0.885 + 51 2 213 41 4.52e-01 -3.38e-01 -1.52e+00 1.81e+00 0.803 -1.71 + 52 2 113 41 2.71e-02 -3.51e-01 -2.06e-01 8.52e-01 0.748 -0.555 + 53 2 313 41 1.54e-01 -2.82e-01 9.87e-01 1.37e+00 0.893 1.84 + 54 1 -321 41 1.66e-01 -1.17e+00 1.90e+00 2.29e+00 0.494 1.26 + 55 2 223 41 2.70e-01 6.45e-01 4.85e+00 4.96e+00 0.794 2.63 + 56 1 211 41 3.83e-02 -6.71e-02 -3.81e-02 1.64e-01 0.14 -0.475 + 57 2 113 41 -1.95e-01 -4.50e-01 9.09e-01 1.13e+00 0.458 1.38 + 58 2 311 41 2.55e-01 -5.60e-01 7.05e+00 7.09e+00 0.498 3.13 + 59 2 -323 41 5.90e-01 5.07e-01 1.26e+01 1.27e+01 0.914 3.48 + 60 2 113 41 4.72e-01 -9.81e-01 2.44e+01 2.44e+01 0.747 3.8 + 61 2 113 41 -3.75e-01 7.14e-01 3.24e+01 3.25e+01 0.705 4.39 + 62 2 223 41 1.42e-01 3.76e-01 9.25e+01 9.25e+01 0.78 6.13 + 63 2 223 41 -2.53e-01 -1.75e-01 4.10e+01 4.11e+01 0.781 5.59 + 64 1 321 41 8.99e-01 4.63e-01 1.34e+02 1.34e+02 0.494 5.58 + 65 1 -321 41 3.12e-01 1.47e+00 2.56e+02 2.56e+02 0.494 5.83 + 66 2 92 20 -1.43e+00 2.22e+00 -1.99e+03 6.71e+03 6.41e+03 -7.32 + 67 2 -213 66 5.42e-01 -7.88e-01 1.94e+03 1.94e+03 0.705 8.31 + 68 1 211 66 1.01e-02 5.35e-01 2.34e+02 2.34e+02 0.14 6.77 + 69 2 1114 66 8.96e-01 -3.64e-01 4.48e+01 4.48e+01 1.25 4.53 + 70 1 211 66 3.85e-01 1.74e-01 7.65e+00 7.66e+00 0.14 3.59 + 71 1 -2212 66 1.36e+00 -3.48e-01 5.94e+01 5.94e+01 0.938 4.44 + 72 2 223 66 5.35e-01 5.63e-01 1.35e+01 1.35e+01 0.779 3.55 + 73 2 111 66 1.42e+00 -8.73e-02 2.65e+01 2.65e+01 0.135 3.61 + 74 2 113 66 1.02e+00 8.95e-01 7.84e+00 8.00e+00 0.87 2.45 + 75 2 213 66 7.81e-01 8.11e-01 9.70e+00 9.80e+00 0.804 2.85 + 76 2 223 66 -6.01e-01 -7.50e-01 4.33e+00 4.50e+00 0.779 2.21 + 77 2 -213 66 2.00e-01 -8.05e-02 2.80e+00 2.95e+00 0.926 3.26 + 78 2 113 66 -4.22e-01 6.65e-02 2.19e+00 2.29e+00 0.497 2.34 + 79 2 213 66 -6.84e-01 -1.20e+00 6.55e+00 6.78e+00 1.11 2.26 + 80 2 111 66 -5.98e-01 -1.20e-01 9.05e-01 1.10e+00 0.135 1.19 + 81 1 -211 66 -1.87e-01 3.99e-01 -3.55e-01 5.82e-01 0.14 -0.738 + 82 2 113 66 -9.15e-01 -4.44e-01 -7.04e-01 1.54e+00 0.914 -0.646 + 83 2 213 66 -1.26e+00 1.78e-01 -8.93e-01 1.74e+00 0.768 -0.653 + 84 1 -211 66 -8.72e-01 -1.89e-01 -5.35e-01 1.05e+00 0.14 -0.568 + 85 2 113 66 6.21e-01 -8.64e-02 -2.43e+00 2.63e+00 0.77 -2.06 + 86 1 211 66 -3.54e-01 -1.23e+00 -1.23e+00 1.78e+00 0.14 -0.853 + 87 1 2112 66 9.15e-01 -1.26e-01 -3.65e+00 3.88e+00 0.94 -2.08 + 88 1 -2212 66 8.64e-01 -9.18e-01 -4.87e+00 5.12e+00 0.938 -2.06 + 89 2 113 66 2.06e-02 2.04e-01 -5.70e-01 9.39e-01 0.718 -1.74 + 90 2 213 66 -6.46e-01 7.80e-01 -3.15e+00 3.40e+00 0.801 -1.85 + 91 2 113 66 -1.10e+00 7.43e-01 -5.30e+00 5.51e+00 0.719 -2.09 + 92 2 313 66 -5.36e-01 9.93e-01 -3.47e+00 3.72e+00 0.767 -1.84 + 93 1 -321 66 -1.22e+00 1.57e+00 -4.69e+00 5.11e+00 0.494 -1.59 + 94 2 221 66 -6.29e-01 3.98e-01 -4.66e+00 4.75e+00 0.547 -2.53 + 95 2 213 66 -1.52e-01 7.28e-01 -2.14e+01 2.14e+01 0.864 -4.05 + 96 2 113 66 3.02e-01 -3.94e-01 -1.09e+01 1.09e+01 0.749 -3.78 + 97 2 111 66 -8.08e-01 4.08e-01 -2.84e+01 2.85e+01 0.135 -4.14 + 98 2 -213 66 1.21e-01 -5.21e-01 -1.19e+02 1.19e+02 0.7 -6.1 + 99 2 223 66 5.41e-01 2.71e-01 -4.29e+02 4.29e+02 0.773 -7.26 + 100 1 2212 66 -8.23e-01 8.91e-02 -1.80e+03 1.80e+03 0.938 -8.37 + 101 2 213 66 -1.61e-01 6.24e-02 -1.91e+03 1.91e+03 0.76 -10 + 102 2 92 29 0.00e+00 0.00e+00 2.03e+03 2.04e+03 105 999 + 103 1 -211 102 -6.04e-02 -2.16e-02 6.73e-01 6.91e-01 0.14 3.05 + 104 2 111 102 3.01e-01 7.00e-02 2.14e+00 2.17e+00 0.135 2.63 + 105 1 211 102 -7.45e-02 1.35e-01 7.51e+01 7.52e+01 0.14 6.88 + 106 2 311 102 -3.08e-01 -1.44e-01 3.97e+02 3.97e+02 0.498 7.76 + 107 2 333 102 -9.19e-01 -2.06e+00 9.93e+02 9.93e+02 1.01 6.78 + 108 2 -323 102 -2.35e-01 8.31e-02 4.96e+02 4.96e+02 0.92 8.29 + 109 2 111 102 4.18e-01 -2.29e-01 6.47e+00 6.48e+00 0.135 3.3 + 110 2 3222 102 -5.65e-01 3.00e-01 1.56e+01 1.56e+01 1.19 3.89 + 111 2 -3212 102 -1.25e-01 1.42e-01 1.50e+01 1.51e+01 1.19 5.07 + 112 2 -213 102 3.77e-01 -3.83e-01 1.89e+01 1.90e+01 0.7 4.26 + 113 1 211 102 -1.42e-01 3.10e-01 3.69e-01 5.22e-01 0.14 0.937 + 114 2 113 102 3.90e-01 3.60e-03 2.92e+00 3.04e+00 0.757 2.71 + 115 2 111 102 -9.06e-03 6.14e-01 8.61e-01 1.07e+00 0.135 1.14 + 116 2 -213 102 2.11e-01 7.27e-01 1.76e-01 1.09e+00 0.766 0.231 + 117 1 211 102 1.89e-01 -3.92e-01 4.24e-01 6.23e-01 0.14 0.863 + 118 1 -211 102 -5.85e-02 1.95e-01 3.17e-01 4.02e-01 0.14 1.23 + 119 2 221 102 9.17e-02 -7.23e-02 4.21e-01 7.00e-01 0.547 1.99 + 120 2 323 102 3.24e-01 5.99e-01 3.20e+00 3.38e+00 0.841 2.25 + 121 2 -323 102 8.30e-01 3.60e-01 4.32e+00 4.50e+00 0.88 2.27 + 122 1 211 102 -6.36e-01 -2.39e-01 1.16e+00 1.35e+00 0.14 1.31 + 123 2 311 35 -8.88e-01 6.81e-01 -5.69e+01 5.69e+01 0.498 -4.62 + 124 2 111 35 -5.43e-01 3.64e-01 -1.56e+01 1.56e+01 0.135 -3.86 + 125 1 -321 36 1.08e+00 -5.16e-01 -4.04e+01 4.04e+01 0.494 -4.21 + 126 1 211 36 -3.33e-02 5.78e-02 -5.24e+00 5.24e+00 0.14 -5.06 + 127 1 -211 37 2.37e-01 3.61e-01 -3.74e+01 3.74e+01 0.14 -5.15 + 128 2 111 37 8.75e-02 -1.28e-01 -2.74e+00 2.74e+00 0.135 -3.56 + 129 1 22 38 1.15e-01 8.52e-02 -5.56e+00 5.56e+00 0 -4.35 + 130 1 22 38 1.18e+00 3.86e-01 -4.86e+01 4.86e+01 0 -4.36 + 131 1 211 39 9.26e-01 -2.03e-02 -3.15e+01 3.15e+01 0.14 -4.22 + 132 2 111 39 3.29e-01 -4.50e-01 -3.98e+01 3.99e+01 0.135 -4.96 + 133 1 211 44 5.56e-02 -1.72e-01 -4.40e+00 4.41e+00 0.14 -3.88 + 134 1 -211 44 -3.91e-02 -1.22e-01 -7.24e+01 7.24e+01 0.14 -7.03 + 135 1 22 45 -1.54e-02 -1.23e-01 -5.41e+00 5.41e+00 0 -4.47 + 136 1 22 45 -1.34e-01 1.28e-01 -9.51e+01 9.51e+01 0 -6.93 + 137 2 111 46 9.23e-02 1.80e-01 -1.50e+01 1.50e+01 0.135 -5 + 138 2 111 46 1.54e-01 1.34e-01 -6.30e+00 6.30e+00 0.135 -4.12 + 139 2 111 46 5.58e-02 -2.84e-02 -7.55e+00 7.55e+00 0.135 -5.49 + 140 1 -211 48 3.48e-01 1.29e-01 -4.63e+00 4.65e+00 0.14 -3.22 + 141 2 111 48 -1.26e-02 9.06e-03 -3.18e-01 3.46e-01 0.135 -3.71 + 142 1 211 49 -2.65e-01 1.66e-01 -3.66e+00 3.68e+00 0.14 -3.16 + 143 2 111 49 3.04e-01 -1.93e-01 -2.57e+00 2.60e+00 0.135 -2.66 + 144 1 211 51 4.26e-01 -5.36e-01 -8.63e-01 1.11e+00 0.14 -1.05 + 145 2 111 51 2.63e-02 1.97e-01 -6.53e-01 6.96e-01 0.135 -1.9 + 146 1 211 52 2.75e-01 1.50e-02 6.43e-02 3.15e-01 0.14 0.232 + 147 1 -211 52 -2.48e-01 -3.66e-01 -2.70e-01 5.36e-01 0.14 -0.578 + 148 1 321 53 -3.45e-02 -1.06e-01 9.46e-01 1.07e+00 0.494 2.84 + 149 1 -211 53 1.89e-01 -1.76e-01 4.10e-02 2.96e-01 0.14 0.158 + 150 1 -211 55 1.74e-01 3.98e-01 1.31e+00 1.39e+00 0.14 1.82 + 151 1 211 55 2.22e-02 -7.07e-02 9.65e-01 9.78e-01 0.14 3.26 + 152 2 111 55 7.46e-02 3.18e-01 2.57e+00 2.60e+00 0.135 2.76 + 153 1 -211 57 3.40e-02 -1.21e-02 3.04e-01 3.36e-01 0.14 2.83 + 154 1 211 57 -2.29e-01 -4.38e-01 6.05e-01 7.94e-01 0.14 1.03 + 155 1 130 58 2.55e-01 -5.60e-01 7.05e+00 7.09e+00 0.498 3.13 + 156 2 -311 59 6.36e-01 2.61e-01 7.29e+00 7.34e+00 0.498 3.06 + 157 1 -211 59 -4.64e-02 2.46e-01 5.33e+00 5.34e+00 0.14 3.75 + 158 1 -211 60 -1.38e-01 -1.16e-01 2.78e+00 2.79e+00 0.14 3.43 + 159 1 211 60 6.10e-01 -8.66e-01 2.16e+01 2.16e+01 0.14 3.71 + 160 1 -211 61 -5.36e-02 6.61e-01 1.68e+01 1.68e+01 0.14 3.92 + 161 1 211 61 -3.21e-01 5.33e-02 1.57e+01 1.57e+01 0.14 4.57 + 162 1 211 62 -6.69e-02 1.22e-01 1.35e+01 1.35e+01 0.14 5.27 + 163 1 -211 62 1.60e-01 -8.49e-02 1.58e+01 1.58e+01 0.14 5.16 + 164 2 111 62 4.87e-02 3.39e-01 6.32e+01 6.32e+01 0.135 5.91 + 165 1 -211 63 -2.28e-01 -1.81e-01 2.22e+01 2.22e+01 0.14 5.03 + 166 1 211 63 -8.81e-02 1.30e-01 4.45e+00 4.45e+00 0.14 4.04 + 167 2 111 63 6.26e-02 -1.24e-01 1.44e+01 1.44e+01 0.135 5.34 + 168 1 -211 67 1.16e-01 -5.96e-01 7.29e+02 7.29e+02 0.14 7.78 + 169 2 111 67 4.26e-01 -1.92e-01 1.21e+03 1.21e+03 0.135 8.55 + 170 1 2112 69 5.77e-01 -4.93e-01 3.31e+01 3.31e+01 0.94 4.47 + 171 1 -211 69 3.19e-01 1.29e-01 1.17e+01 1.17e+01 0.14 4.22 + 172 1 -211 72 9.55e-02 -6.29e-02 1.25e+00 1.27e+00 0.14 3.09 + 173 1 211 72 2.14e-02 1.31e-01 1.65e+00 1.66e+00 0.14 3.21 + 174 2 111 72 4.18e-01 4.94e-01 1.06e+01 1.06e+01 0.135 3.49 + 175 1 22 73 6.76e-01 -9.19e-02 1.18e+01 1.18e+01 0 3.54 + 176 1 22 73 7.49e-01 4.57e-03 1.47e+01 1.47e+01 0 3.67 + 177 1 -211 74 1.83e-01 4.93e-01 4.54e+00 4.57e+00 0.14 2.85 + 178 1 211 74 8.42e-01 4.02e-01 3.30e+00 3.43e+00 0.14 1.98 + 179 1 211 75 6.45e-01 7.13e-01 9.23e+00 9.28e+00 0.14 2.96 + 180 2 111 75 1.37e-01 9.76e-02 4.68e-01 5.15e-01 0.135 1.75 + 181 1 -211 76 -3.40e-01 -3.38e-02 1.01e+00 1.08e+00 0.14 1.81 + 182 1 211 76 -1.28e-02 -1.29e-01 5.39e-01 5.71e-01 0.14 2.14 + 183 2 111 76 -2.48e-01 -5.88e-01 2.78e+00 2.85e+00 0.135 2.18 + 184 1 -211 77 1.34e-01 3.86e-01 1.67e+00 1.72e+00 0.14 2.11 + 185 2 111 77 6.65e-02 -4.67e-01 1.13e+00 1.23e+00 0.135 1.61 + 186 1 211 78 -9.40e-02 -1.59e-01 8.54e-01 8.85e-01 0.14 2.23 + 187 1 -211 78 -3.28e-01 2.26e-01 1.34e+00 1.40e+00 0.14 1.93 + 188 1 211 79 -3.13e-01 -1.27e+00 5.64e+00 5.79e+00 0.14 2.17 + 189 2 111 79 -3.71e-01 6.69e-02 9.10e-01 9.94e-01 0.135 1.62 + 190 1 22 80 -3.08e-02 -4.10e-02 6.05e-02 7.92e-02 0 1 + 191 1 22 80 -5.67e-01 -7.92e-02 8.45e-01 1.02e+00 0 1.18 + 192 1 211 82 -3.74e-01 -5.47e-01 -6.95e-01 9.70e-01 0.14 -0.915 + 193 1 -211 82 -5.41e-01 1.03e-01 -9.31e-03 5.68e-01 0.14 -0.0169 + 194 1 211 83 -1.00e+00 6.09e-02 -9.79e-01 1.41e+00 0.14 -0.862 + 195 2 111 83 -2.58e-01 1.17e-01 8.57e-02 3.25e-01 0.135 0.298 + 196 1 -211 85 -4.13e-02 -2.07e-01 -1.09e+00 1.12e+00 0.14 -2.35 + 197 1 211 85 6.63e-01 1.20e-01 -1.34e+00 1.51e+00 0.14 -1.44 + 198 1 -211 89 -3.17e-01 1.51e-01 -2.93e-01 4.78e-01 0.14 -0.759 + 199 1 211 89 3.37e-01 5.33e-02 -2.77e-01 4.62e-01 0.14 -0.743 + 200 1 211 90 7.86e-02 2.48e-02 -1.38e-01 2.13e-01 0.14 -1.29 + 201 2 111 90 -7.24e-01 7.55e-01 -3.01e+00 3.19e+00 0.135 -1.78 + 202 1 211 91 -7.13e-01 1.22e-01 -2.12e+00 2.25e+00 0.14 -1.8 + 203 1 -211 91 -3.84e-01 6.21e-01 -3.18e+00 3.27e+00 0.14 -2.18 + 204 1 321 92 -1.79e-01 6.06e-01 -1.76e+00 1.93e+00 0.494 -1.75 + 205 1 -211 92 -3.57e-01 3.87e-01 -1.70e+00 1.79e+00 0.14 -1.89 + 206 2 111 94 -2.96e-02 6.87e-02 -6.77e-01 6.94e-01 0.135 -2.9 + 207 2 111 94 -8.39e-02 5.29e-02 -8.99e-01 9.14e-01 0.135 -2.9 + 208 2 111 94 -5.15e-01 2.76e-01 -3.08e+00 3.14e+00 0.135 -2.36 + 209 1 211 95 -2.88e-02 2.49e-01 -1.67e+01 1.67e+01 0.14 -4.89 + 210 2 111 95 -1.23e-01 4.79e-01 -4.70e+00 4.73e+00 0.135 -2.95 + 211 1 -211 96 3.09e-01 -2.49e-01 -2.55e+00 2.58e+00 0.14 -2.56 + 212 1 211 96 -7.05e-03 -1.45e-01 -8.35e+00 8.36e+00 0.14 -4.74 + 213 1 22 97 -3.02e-01 1.89e-01 -1.30e+01 1.30e+01 0 -4.29 + 214 1 22 97 -5.06e-01 2.19e-01 -1.54e+01 1.55e+01 0 -4.03 + 215 1 -211 98 -2.24e-01 -6.52e-02 -5.12e+01 5.12e+01 0.14 -6.08 + 216 2 111 98 3.45e-01 -4.56e-01 -6.82e+01 6.82e+01 0.135 -5.48 + 217 1 211 99 3.20e-01 2.27e-01 -2.14e+02 2.14e+02 0.14 -6.99 + 218 1 -211 99 2.02e-02 1.01e-01 -1.66e+02 1.66e+02 0.14 -8.08 + 219 2 111 99 2.01e-01 -5.70e-02 -4.92e+01 4.92e+01 0.135 -6.16 + 220 1 211 101 -1.20e-02 -1.76e-01 -1.57e+03 1.57e+03 0.14 -9.78 + 221 2 111 101 -1.49e-01 2.39e-01 -3.39e+02 3.39e+02 0.135 -7.79 + 222 1 22 104 3.42e-02 6.08e-02 3.97e-01 4.03e-01 0 2.44 + 223 1 22 104 2.67e-01 9.21e-03 1.74e+00 1.76e+00 0 2.57 + 224 1 130 106 -3.08e-01 -1.44e-01 3.97e+02 3.97e+02 0.498 7.76 + 225 1 130 107 -5.67e-01 -1.14e+00 5.62e+02 5.62e+02 0.498 6.78 + 226 2 310 107 -3.51e-01 -9.17e-01 4.31e+02 4.31e+02 0.498 6.78 + 227 2 -311 108 -2.45e-01 -2.31e-01 2.83e+02 2.83e+02 0.498 7.43 + 228 1 -211 108 1.06e-02 3.15e-01 2.12e+02 2.12e+02 0.14 7.21 + 229 1 22 109 2.67e-01 -1.40e-01 4.88e+00 4.88e+00 0 3.48 + 230 1 22 109 1.51e-01 -8.89e-02 1.59e+00 1.60e+00 0 2.9 + 231 1 2112 110 -4.81e-01 3.66e-01 1.46e+01 1.46e+01 0.94 3.88 + 232 1 211 110 -8.39e-02 -6.53e-02 9.66e-01 9.82e-01 0.14 2.9 + 233 2 -3122 111 -6.43e-02 1.64e-01 1.46e+01 1.46e+01 1.12 5.11 + 234 1 22 111 -6.03e-02 -2.19e-02 4.25e-01 4.29e-01 0 2.59 + 235 1 -211 112 1.22e-01 -4.55e-01 7.18e+00 7.20e+00 0.14 3.42 + 236 2 111 112 2.55e-01 7.23e-02 1.18e+01 1.18e+01 0.135 4.49 + 237 1 -211 114 1.19e-01 2.00e-01 2.35e+00 2.37e+00 0.14 3.01 + 238 1 211 114 2.70e-01 -1.97e-01 5.67e-01 6.73e-01 0.14 1.3 + 239 1 22 115 -3.48e-02 2.38e-01 4.38e-01 5.00e-01 0 1.36 + 240 1 22 115 2.58e-02 3.76e-01 4.24e-01 5.67e-01 0 0.967 + 241 1 -211 116 -4.86e-02 5.76e-01 -1.64e-01 6.17e-01 0.14 -0.28 + 242 2 111 116 2.60e-01 1.50e-01 3.41e-01 4.74e-01 0.135 0.973 + 243 1 22 119 -8.20e-02 -1.79e-01 4.53e-01 4.94e-01 0 1.57 + 244 1 22 119 1.74e-01 1.07e-01 -3.22e-02 2.06e-01 0 -0.157 + 245 1 321 120 3.12e-01 5.28e-01 3.10e+00 3.20e+00 0.494 2.32 + 246 2 111 120 1.20e-02 7.15e-02 1.08e-01 1.88e-01 0.135 1.19 + 247 1 -321 121 3.71e-01 2.52e-02 1.53e+00 1.65e+00 0.494 2.12 + 248 2 111 121 4.59e-01 3.35e-01 2.79e+00 2.85e+00 0.135 2.29 + 249 1 130 123 -8.88e-01 6.81e-01 -5.69e+01 5.69e+01 0.498 -4.62 + 250 1 22 124 -4.37e-01 3.49e-01 -1.33e+01 1.34e+01 0 -3.87 + 251 1 22 124 -1.07e-01 1.48e-02 -2.23e+00 2.23e+00 0 -3.72 + 252 1 22 128 2.10e-02 -3.09e-02 -1.36e-01 1.41e-01 0 -2 + 253 1 22 128 6.64e-02 -9.72e-02 -2.60e+00 2.60e+00 0 -3.79 + 254 1 22 132 1.32e-01 -1.76e-01 -1.14e+01 1.14e+01 0 -4.64 + 255 1 22 132 1.98e-01 -2.74e-01 -2.85e+01 2.85e+01 0 -5.13 + 256 1 22 137 7.42e-02 1.19e-01 -1.34e+01 1.34e+01 0 -5.25 + 257 1 22 137 1.81e-02 6.08e-02 -1.63e+00 1.63e+00 0 -3.94 + 258 1 22 138 5.78e-02 1.06e-01 -4.74e+00 4.74e+00 0 -4.36 + 259 1 22 138 9.61e-02 2.75e-02 -1.56e+00 1.56e+00 0 -3.44 + 260 1 22 139 -3.17e-02 2.91e-02 -1.81e+00 1.81e+00 0 -4.43 + 261 1 22 139 8.75e-02 -5.75e-02 -5.75e+00 5.75e+00 0 -4.7 + 262 1 22 141 -1.24e-02 1.31e-02 -3.31e-01 3.32e-01 0 -3.61 + 263 1 22 141 -2.12e-04 -4.01e-03 1.34e-02 1.40e-02 0 1.92 + 264 1 22 143 6.30e-02 -1.10e-01 -7.04e-01 7.15e-01 0 -2.42 + 265 1 22 143 2.41e-01 -8.33e-02 -1.86e+00 1.88e+00 0 -2.69 + 266 1 22 145 -2.71e-02 1.42e-01 -5.42e-01 5.61e-01 0 -2.03 + 267 1 22 145 5.34e-02 5.50e-02 -1.11e-01 1.35e-01 0 -1.17 + 268 1 22 152 -2.79e-02 1.52e-02 3.23e-01 3.25e-01 0 3.01 + 269 1 22 152 1.03e-01 3.03e-01 2.25e+00 2.27e+00 0 2.65 + 270 2 310 156 6.36e-01 2.61e-01 7.29e+00 7.34e+00 0.498 3.06 + 271 1 22 164 7.85e-02 9.96e-02 2.15e+01 2.15e+01 0 5.83 + 272 1 22 164 -2.98e-02 2.40e-01 4.17e+01 4.17e+01 0 5.84 + 273 1 22 167 6.84e-02 -7.59e-02 4.41e+00 4.41e+00 0 4.46 + 274 1 22 167 -5.87e-03 -4.78e-02 9.99e+00 9.99e+00 0 6.03 + 275 1 22 169 1.67e-02 1.69e-02 3.60e+01 3.60e+01 0 8.02 + 276 1 22 169 4.10e-01 -2.09e-01 1.17e+03 1.17e+03 0 8.54 + 277 1 22 174 1.30e-02 3.40e-02 2.72e-01 2.75e-01 0 2.71 + 278 1 22 174 4.05e-01 4.60e-01 1.03e+01 1.03e+01 0 3.52 + 279 1 22 180 8.01e-02 3.12e-02 7.96e-02 1.17e-01 0 0.828 + 280 1 22 180 5.66e-02 6.63e-02 3.88e-01 3.98e-01 0 2.2 + 281 1 22 183 -1.59e-01 -5.06e-01 2.32e+00 2.38e+00 0 2.18 + 282 1 22 183 -8.90e-02 -8.17e-02 4.62e-01 4.78e-01 0 2.05 + 283 1 22 185 9.20e-02 -4.46e-01 1.08e+00 1.17e+00 0 1.6 + 284 1 22 185 -2.55e-02 -2.10e-02 5.09e-02 6.06e-02 0 1.22 + 285 1 22 189 -1.84e-01 7.50e-02 6.00e-01 6.32e-01 0 1.83 + 286 1 22 189 -1.87e-01 -8.08e-03 3.10e-01 3.62e-01 0 1.28 + 287 1 22 195 -4.56e-02 8.04e-02 -2.35e-03 9.25e-02 0 -0.0255 + 288 1 22 195 -2.12e-01 3.64e-02 8.80e-02 2.33e-01 0 0.398 + 289 1 22 201 -1.98e-01 2.85e-01 -8.92e-01 9.57e-01 0 -1.67 + 290 1 22 201 -5.26e-01 4.71e-01 -2.12e+00 2.23e+00 0 -1.82 + 291 1 22 206 -4.81e-02 1.04e-01 -4.76e-01 4.90e-01 0 -2.14 + 292 1 22 206 1.85e-02 -3.49e-02 -2.00e-01 2.04e-01 0 -2.33 + 293 1 22 207 3.57e-02 2.31e-02 -2.94e-01 2.97e-01 0 -2.63 + 294 1 22 207 -1.20e-01 2.98e-02 -6.05e-01 6.17e-01 0 -2.29 + 295 1 22 208 -2.15e-01 4.21e-02 -1.08e+00 1.10e+00 0 -2.3 + 296 1 22 208 -3.01e-01 2.34e-01 -2.00e+00 2.04e+00 0 -2.36 + 297 1 22 210 -5.43e-02 4.00e-01 -3.95e+00 3.97e+00 0 -2.98 + 298 1 22 210 -6.92e-02 7.91e-02 -7.51e-01 7.58e-01 0 -2.66 + 299 1 22 216 4.96e-03 -4.14e-02 -2.55e+00 2.55e+00 0 -4.81 + 300 1 22 216 3.40e-01 -4.14e-01 -6.57e+01 6.57e+01 0 -5.5 + 301 1 22 219 -1.10e-03 -4.52e-02 -1.09e+01 1.09e+01 0 -6.17 + 302 1 22 219 2.02e-01 -1.17e-02 -3.84e+01 3.84e+01 0 -5.94 + 303 1 22 221 -9.40e-02 4.03e-02 -8.89e+01 8.89e+01 0 -7.46 + 304 1 22 221 -5.49e-02 1.98e-01 -2.51e+02 2.51e+02 0 -7.8 + 305 1 211 226 -2.38e-01 -8.72e-01 3.64e+02 3.64e+02 0.14 6.69 + 306 1 -211 226 -1.14e-01 -4.50e-02 6.65e+01 6.65e+01 0.14 6.99 + 307 2 310 227 -2.45e-01 -2.31e-01 2.83e+02 2.83e+02 0.498 7.43 + 308 1 -2212 233 4.09e-02 1.17e-01 1.26e+01 1.26e+01 0.938 5.31 + 309 1 211 233 -1.05e-01 4.71e-02 2.04e+00 2.05e+00 0.14 3.57 + 310 1 22 236 -6.38e-03 3.08e-02 9.42e-01 9.42e-01 0 4.09 + 311 1 22 236 2.61e-01 4.16e-02 1.08e+01 1.08e+01 0 4.4 + 312 1 22 242 1.85e-01 6.92e-02 1.32e-01 2.37e-01 0 0.625 + 313 1 22 242 7.50e-02 8.13e-02 2.09e-01 2.36e-01 0 1.39 + 314 1 22 246 5.99e-03 7.39e-02 1.38e-01 1.57e-01 0 1.38 + 315 1 22 246 5.98e-03 -2.43e-03 -3.00e-02 3.07e-02 0 -2.24 + 316 1 22 248 4.61e-01 3.29e-01 2.78e+00 2.84e+00 0 2.3 + 317 1 22 248 -1.98e-03 6.53e-03 4.78e-03 8.33e-03 0 0.654 + 318 1 -211 270 2.58e-01 3.28e-01 3.85e+00 3.88e+00 0.14 2.92 + 319 1 211 270 3.79e-01 -6.70e-02 3.44e+00 3.46e+00 0.14 2.89 + 320 1 211 307 -2.09e-01 7.49e-02 1.18e+02 1.18e+02 0.14 6.97 + 321 1 -211 307 -3.68e-02 -3.06e-01 1.66e+02 1.66e+02 0.14 6.98 +10 Event +388 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 21 1 -6.55e-01 -2.67e-03 1.39e+01 1.39e+01 0 3.75 + 4 3 2 2 1.56e-01 -1.14e+00 -2.53e+02 2.53e+02 0 -6.09 + 5 3 -1 3 -2.63e+00 1.20e+00 7.55e+00 8.09e+00 0 1.69 + 6 3 2 4 1.28e+00 -6.49e-01 -2.42e+02 2.42e+02 0 -5.82 + 7 3 24 5 -2.70e+00 4.32e+00 -1.90e+02 2.06e+02 78.1 -4.31 + 8 3 22 5 1.35e+00 -3.77e+00 -4.39e+01 4.41e+01 0 -3.09 + 9 2 24 7 -2.70e+00 4.32e+00 -1.90e+02 2.06e+02 78.1 -4.31 + 10 1 22 8 1.35e+00 -3.77e+00 -4.39e+01 4.41e+01 0 -3.09 + 11 2 1 3 1.13e+00 -9.64e-01 3.28e+00 3.62e+00 0.33 1.54 + 12 2 21 3 -9.64e-02 2.14e-01 2.04e+00 2.05e+00 0 2.86 + 13 2 21 3 9.53e-01 -3.67e-02 2.48e-02 9.54e-01 0 0.0261 + 14 2 21 3 1.86e-02 -1.73e-01 -1.80e-01 2.50e-01 0 -0.908 + 15 2 21 3 7.97e-05 -2.58e-01 -4.64e-01 5.31e-01 0 -1.35 + 16 2 2103 1 -4.36e-02 -1.92e-01 5.77e+03 5.77e+03 0.771 11 + 17 2 4 9 1.25e+01 -2.03e+00 -5.06e+01 5.22e+01 1.5 -2.09 + 18 2 21 9 8.44e-01 -5.96e-01 -9.70e+00 9.76e+00 0 -2.94 + 19 2 21 9 1.40e+00 -1.77e+00 -8.44e+00 8.73e+00 0 -2.03 + 20 2 21 9 1.74e+00 -4.85e+00 -2.08e+01 2.14e+01 0 -2.1 + 21 2 21 9 4.33e+00 -8.83e+00 -5.67e+01 5.76e+01 0 -2.45 + 22 2 21 9 5.07e-01 5.30e-01 -4.19e+00 4.25e+00 0 -2.44 + 23 2 21 9 -1.42e-02 2.61e-01 -9.03e-01 9.40e-01 0 -1.95 + 24 2 21 9 -2.19e+00 3.50e+00 -4.82e+00 6.35e+00 0 -0.995 + 25 2 21 9 -1.76e+00 2.29e+00 -5.03e+00 5.80e+00 0 -1.32 + 26 2 21 9 -1.64e+00 1.97e+00 -2.90e+00 3.87e+00 0 -0.972 + 27 2 -3 9 -1.84e+01 1.38e+01 -2.63e+01 3.50e+01 0.5 -0.977 + 28 2 2 1 6.99e-01 1.94e-01 5.42e+02 5.42e+02 0.33 7.31 + 29 2 21 0 1.58e+00 3.38e+00 -3.73e+03 3.73e+03 0 -7.6 + 30 2 21 4 -1.15e+00 -4.82e-01 -9.66e+00 9.74e+00 0 -2.75 + 31 2 2103 2 -1.56e-01 1.14e+00 -3.01e+03 3.01e+03 0.771 -8.56 + 32 2 21 0 1.93e+00 -4.36e+00 -3.87e+00 6.14e+00 0 -0.742 + 33 2 21 0 -1.93e+00 4.36e+00 1.09e+01 1.19e+01 0 1.57 + 34 2 21 0 -1.29e+00 -4.54e+00 2.92e+01 2.96e+01 0 2.52 + 35 2 21 0 -1.58e+00 -3.38e+00 1.86e+01 1.90e+01 0 2.31 + 36 2 21 0 1.29e+00 4.54e+00 7.62e+01 7.64e+01 0 3.48 + 37 2 21 0 -2.45e+00 1.91e+00 1.43e+02 1.43e+02 0 4.52 + 38 2 21 0 2.45e+00 -1.91e+00 3.93e+02 3.93e+02 0 5.53 + 39 2 92 11 1.96e+00 -1.41e+00 5.78e+03 5.78e+03 177 8.47 + 40 1 -211 39 7.50e-01 -6.41e-01 1.99e+00 2.22e+00 0.14 1.45 + 41 2 223 39 2.81e-01 5.40e-01 5.84e-01 1.15e+00 0.781 0.852 + 42 2 2214 39 4.49e-01 -1.32e+00 2.38e+00 3.02e+00 1.24 1.3 + 43 2 223 39 4.41e-02 3.70e-01 1.22e+00 1.50e+00 0.783 1.91 + 44 2 -3122 39 5.19e-01 2.83e-01 1.47e+00 1.94e+00 1.12 1.64 + 45 2 -313 39 2.74e-01 4.49e-02 2.53e+00 2.70e+00 0.892 2.91 + 46 2 -213 39 -4.07e-01 -2.54e-01 1.55e+00 1.78e+00 0.743 1.89 + 47 2 111 39 1.10e-01 -4.86e-01 1.57e+00 1.66e+00 0.135 1.87 + 48 1 211 39 -2.05e-01 3.58e-01 8.14e+00 8.16e+00 0.14 3.68 + 49 1 -211 39 2.94e-01 -2.75e-01 7.62e+00 7.63e+00 0.14 3.64 + 50 2 223 39 -2.55e-01 2.61e-01 1.39e+02 1.39e+02 0.792 6.64 + 51 2 213 39 -3.67e-02 -1.80e-01 1.87e+02 1.87e+02 1.08 7.62 + 52 2 311 39 -2.08e-01 -3.89e-02 7.78e+02 7.78e+02 0.498 8.9 + 53 1 -321 39 2.94e-01 -1.54e-01 9.71e+02 9.71e+02 0.494 8.68 + 54 1 2212 39 7.11e-03 3.17e-01 1.45e+03 1.45e+03 0.938 9.12 + 55 2 113 39 4.79e-02 -2.36e-01 2.22e+03 2.22e+03 0.836 9.82 + 56 2 92 17 -2.70e+00 4.32e+00 -1.90e+02 2.06e+02 78.1 -4.31 + 57 2 423 56 9.92e+00 -1.83e+00 -4.12e+01 4.24e+01 2.01 -2.11 + 58 2 213 56 3.16e+00 -9.74e-01 -1.34e+01 1.38e+01 0.746 -2.11 + 59 2 113 56 9.35e-01 -2.28e+00 -1.37e+01 1.40e+01 0.946 -2.42 + 60 2 -213 56 1.08e+00 -1.85e+00 -1.02e+01 1.05e+01 0.748 -2.27 + 61 1 211 56 1.09e+00 -1.64e+00 -1.47e+01 1.48e+01 0.14 -2.7 + 62 1 2112 56 1.87e+00 -2.59e+00 -1.53e+01 1.56e+01 0.94 -2.27 + 63 2 111 56 3.89e-02 -6.89e-02 -4.47e-01 4.73e-01 0.135 -2.43 + 64 2 -2214 56 1.15e+00 -3.99e+00 -2.02e+01 2.06e+01 1.32 -2.28 + 65 2 221 56 8.63e-01 -6.41e-01 -6.52e+00 6.63e+00 0.547 -2.5 + 66 1 211 56 2.77e-01 -4.49e-01 -5.08e+00 5.11e+00 0.14 -2.96 + 67 1 -211 56 3.63e-01 -6.16e-01 -4.99e+00 5.04e+00 0.14 -2.64 + 68 2 111 56 -3.87e-03 -6.39e-01 -1.85e+00 1.96e+00 0.135 -1.78 + 69 1 321 56 3.38e-01 5.43e-01 -3.18e+00 3.28e+00 0.494 -2.31 + 70 2 -323 56 -1.37e+00 1.58e+00 -2.72e+00 3.55e+00 0.91 -1.08 + 71 1 211 56 -1.03e+00 9.55e-01 -2.72e+00 3.07e+00 0.14 -1.42 + 72 1 -211 56 -3.68e-01 1.10e+00 -1.23e+00 1.70e+00 0.14 -0.923 + 73 2 213 56 -1.62e+00 1.26e+00 -1.79e+00 2.76e+00 0.46 -0.79 + 74 1 2112 56 -3.27e+00 2.88e+00 -6.51e+00 7.89e+00 0.94 -1.19 + 75 1 -2112 56 -2.63e+00 3.14e+00 -4.61e+00 6.24e+00 0.94 -0.967 + 76 2 313 56 -1.35e+01 1.04e+01 -2.01e+01 2.64e+01 0.889 -1 + 77 2 92 28 9.78e-01 4.23e+00 -6.21e+03 7.29e+03 3.83e+03 -7.96 + 78 1 211 77 3.81e-02 1.81e-01 4.03e+01 4.03e+01 0.14 6.08 + 79 2 -213 77 8.14e-01 -1.37e-01 1.81e+02 1.81e+02 0.514 6.09 + 80 2 213 77 -3.13e-01 -6.88e-02 2.35e+02 2.35e+02 0.75 7.29 + 81 1 -211 77 2.45e-01 1.91e-01 4.92e+01 4.92e+01 0.14 5.76 + 82 1 2212 77 5.98e-02 2.27e-01 9.60e+00 9.65e+00 0.938 4.41 + 83 2 331 77 -4.42e-01 -2.66e-01 1.53e+01 1.53e+01 0.958 4.08 + 84 1 -2212 77 4.06e-01 1.13e-01 5.85e+00 5.94e+00 0.938 3.33 + 85 1 211 77 3.13e-01 6.74e-01 1.86e+00 2.01e+00 0.14 1.65 + 86 2 -213 77 -4.02e-01 -7.29e-01 1.27e+00 1.66e+00 0.653 1.21 + 87 2 111 77 -1.09e-01 9.28e-02 8.79e-01 9.00e-01 0.135 2.51 + 88 1 211 77 -1.40e-01 -6.93e-02 1.04e-01 2.34e-01 0.14 0.625 + 89 2 311 77 3.42e-01 -3.51e-01 6.56e-01 9.59e-01 0.498 1.1 + 90 2 -311 77 3.43e-02 4.24e-01 -1.12e+00 1.30e+00 0.498 -1.69 + 91 2 221 77 -2.21e-02 6.88e-02 -2.60e+00 2.66e+00 0.547 -4.28 + 92 1 -211 77 7.85e-02 8.60e-02 -1.76e-01 2.53e-01 0.14 -1.2 + 93 1 211 77 9.20e-02 -2.45e-01 -1.76e+00 1.79e+00 0.14 -2.61 + 94 2 113 77 2.39e-02 3.28e-01 -2.20e+00 2.33e+00 0.717 -2.6 + 95 1 -211 77 -2.21e-01 -7.10e-02 -1.47e+02 1.47e+02 0.14 -7.14 + 96 2 213 77 5.54e-01 1.75e+00 -1.71e+03 1.71e+03 0.722 -7.53 + 97 2 113 77 -6.18e-02 1.40e-01 -1.00e+02 1.00e+02 0.708 -7.18 + 98 2 221 77 5.39e-01 -4.43e-01 -1.70e+02 1.70e+02 0.547 -6.19 + 99 2 1114 77 -2.02e-01 5.23e-01 -6.63e+02 6.63e+02 1.14 -7.77 + 100 2 223 77 5.46e-01 4.91e-01 -5.51e+02 5.51e+02 0.779 -7.31 + 101 2 -2114 77 -3.71e-01 4.27e-01 -3.02e+02 3.02e+02 1.16 -6.97 + 102 2 213 77 1.27e-01 -4.33e-02 -2.10e+01 2.10e+01 0.772 -5.74 + 103 2 111 77 -4.78e-01 9.06e-02 -8.52e+00 8.54e+00 0.135 -3.56 + 104 2 113 77 1.52e-01 4.90e-02 -9.39e+01 9.39e+01 0.678 -7.07 + 105 1 -211 77 -2.99e-01 -4.24e-02 -1.66e+00 1.69e+00 0.14 -2.41 + 106 2 2224 77 -3.77e-01 -2.14e-01 -1.01e+02 1.01e+02 1.1 -6.14 + 107 2 -213 77 5.16e-02 1.05e+00 -2.87e+03 2.87e+03 0.595 -8.61 + 108 2 92 32 0.00e+00 0.00e+00 7.06e+00 1.81e+01 16.6 999 + 109 2 221 108 -2.73e-01 1.79e-01 6.56e-01 9.15e-01 0.547 1.45 + 110 1 211 108 -3.89e-01 6.33e-01 2.83e-01 8.08e-01 0.14 0.372 + 111 2 -3214 108 1.31e-02 6.82e-01 3.64e+00 3.95e+00 1.39 2.38 + 112 2 111 108 -5.13e-01 2.23e-01 -3.38e-01 6.67e-01 0.135 -0.573 + 113 2 3312 108 -2.83e-02 7.44e-01 2.82e+00 3.20e+00 1.32 2.04 + 114 1 321 108 1.73e-01 2.54e-01 -3.78e-02 5.83e-01 0.494 -0.123 + 115 1 -211 108 -1.72e-01 2.35e-01 6.24e-01 7.02e-01 0.14 1.51 + 116 2 -2114 108 -2.38e-01 -4.31e-01 9.30e-02 1.36e+00 1.26 0.188 + 117 2 2214 108 6.05e-01 -9.51e-01 -9.14e-01 1.86e+00 1.17 -0.741 + 118 2 221 108 1.56e-01 -4.12e-01 2.46e-01 7.44e-01 0.547 0.532 + 119 2 223 108 -1.67e-01 2.64e-01 9.20e-01 1.25e+00 0.787 1.8 + 120 2 -213 108 8.32e-01 -1.42e+00 -9.23e-01 2.03e+00 0.75 -0.535 + 121 2 92 34 -1.58e+00 -3.38e+00 6.60e+02 6.61e+02 35 5.87 + 122 2 -213 121 2.45e-01 9.07e-02 1.10e+01 1.10e+01 0.713 4.43 + 123 1 211 121 1.45e-01 8.39e-01 1.48e+01 1.48e+01 0.14 3.55 + 124 1 -211 121 1.63e-01 6.78e-01 3.64e+01 3.64e+01 0.14 4.65 + 125 2 111 121 -3.21e-01 3.86e-01 2.97e+00 3.02e+00 0.135 2.48 + 126 1 321 121 3.35e-01 1.22e+00 3.00e+01 3.00e+01 0.494 3.86 + 127 2 221 121 -5.82e-01 5.72e-01 4.51e+01 4.51e+01 0.547 4.7 + 128 2 -313 121 -9.21e-02 1.19e+00 4.04e+01 4.05e+01 0.899 4.22 + 129 1 -211 121 -6.87e-02 -2.47e-01 1.10e+01 1.10e+01 0.14 4.45 + 130 2 3222 121 -5.66e-01 -1.85e-02 7.67e+01 7.67e+01 1.19 5.6 + 131 2 -3222 121 8.93e-01 -2.02e-01 1.75e+02 1.75e+02 1.19 5.95 + 132 2 111 121 5.41e-01 -3.98e-01 3.42e+01 3.43e+01 0.135 4.63 + 133 2 221 121 4.72e-01 1.20e-01 4.80e+01 4.80e+01 0.547 5.29 + 134 2 223 121 -3.94e-01 -3.46e-01 2.64e+01 2.64e+01 0.769 4.61 + 135 2 213 121 3.98e-01 -6.17e-01 3.18e+01 3.19e+01 0.787 4.46 + 136 2 313 121 1.03e-01 -2.26e-01 2.35e+01 2.35e+01 0.96 5.24 + 137 2 -313 121 -5.57e-01 -1.64e+00 1.36e+01 1.38e+01 0.907 2.76 + 138 2 111 121 -5.41e-02 -2.38e-01 3.84e+00 3.85e+00 0.135 3.45 + 139 2 -213 121 -5.83e-01 -1.46e+00 9.66e+00 9.82e+00 0.856 2.51 + 140 2 111 121 -7.22e-01 -9.67e-01 7.68e+00 7.78e+00 0.135 2.55 + 141 2 323 121 -9.06e-01 -1.68e+00 1.10e+01 1.11e+01 0.834 2.45 + 142 2 -313 121 -3.24e-02 -4.34e-01 6.93e+00 7.00e+00 0.909 3.46 + 143 1 211 41 8.57e-02 6.01e-02 3.48e-01 3.89e-01 0.14 1.92 + 144 1 -211 41 1.85e-02 1.13e-01 -1.08e-01 2.10e-01 0.14 -0.843 + 145 2 111 41 1.77e-01 3.67e-01 3.45e-01 5.50e-01 0.135 0.768 + 146 1 2112 42 2.49e-01 -1.00e+00 2.14e+00 2.56e+00 0.94 1.48 + 147 1 211 42 1.99e-01 -3.15e-01 2.34e-01 4.62e-01 0.14 0.592 + 148 1 211 43 2.42e-01 1.45e-01 6.80e-01 7.49e-01 0.14 1.61 + 149 1 -211 43 -6.69e-02 -6.10e-02 2.46e-01 2.97e-01 0.14 1.73 + 150 2 111 43 -1.31e-01 2.86e-01 2.98e-01 4.54e-01 0.135 0.844 + 151 1 -2212 44 3.31e-01 2.55e-01 1.20e+00 1.58e+00 0.938 1.78 + 152 1 211 44 1.87e-01 2.88e-02 2.75e-01 3.62e-01 0.14 1.17 + 153 1 -321 45 1.14e-01 1.76e-01 9.00e-01 1.05e+00 0.494 2.16 + 154 1 211 45 1.60e-01 -1.31e-01 1.63e+00 1.65e+00 0.14 2.76 + 155 1 -211 46 -3.79e-01 -2.13e-01 3.48e-01 5.74e-01 0.14 0.734 + 156 2 111 46 -2.79e-02 -4.12e-02 1.20e+00 1.21e+00 0.135 3.88 + 157 1 22 47 6.37e-02 -1.45e-01 3.34e-01 3.69e-01 0 1.49 + 158 1 22 47 4.60e-02 -3.41e-01 1.24e+00 1.29e+00 0 1.99 + 159 1 -211 50 -9.66e-02 8.14e-02 1.34e+01 1.34e+01 0.14 5.35 + 160 1 211 50 -1.17e-01 3.09e-01 5.61e+01 5.61e+01 0.14 5.83 + 161 2 111 50 -4.16e-02 -1.29e-01 6.96e+01 6.96e+01 0.135 6.94 + 162 1 211 51 4.96e-01 -1.80e-01 8.77e+01 8.77e+01 0.14 5.81 + 163 2 111 51 -5.33e-01 -4.91e-04 9.95e+01 9.95e+01 0.135 5.92 + 164 1 130 52 -2.08e-01 -3.89e-02 7.78e+02 7.78e+02 0.498 8.9 + 165 1 211 55 4.91e-03 1.97e-01 1.53e+03 1.53e+03 0.14 9.65 + 166 1 -211 55 4.30e-02 -4.33e-01 6.90e+02 6.90e+02 0.14 8.06 + 167 2 421 57 8.76e+00 -1.56e+00 -3.67e+01 3.78e+01 1.86 -2.12 + 168 1 22 57 1.17e+00 -2.73e-01 -4.49e+00 4.65e+00 0 -2.03 + 169 1 211 58 4.29e-01 -2.07e-01 -3.02e+00 3.06e+00 0.14 -2.55 + 170 2 111 58 2.73e+00 -7.67e-01 -1.04e+01 1.08e+01 0.135 -2.01 + 171 1 -211 59 6.69e-01 -1.15e+00 -9.46e+00 9.56e+00 0.14 -2.66 + 172 1 211 59 2.66e-01 -1.13e+00 -4.27e+00 4.43e+00 0.14 -2.01 + 173 1 -211 60 9.81e-01 -1.03e+00 -6.33e+00 6.49e+00 0.14 -2.2 + 174 2 111 60 9.44e-02 -8.21e-01 -3.92e+00 4.01e+00 0.135 -2.26 + 175 1 22 63 -3.13e-02 -6.76e-02 -1.39e-01 1.58e-01 0 -1.38 + 176 1 22 63 7.02e-02 -1.34e-03 -3.08e-01 3.16e-01 0 -2.18 + 177 1 -2112 64 1.02e+00 -2.53e+00 -1.33e+01 1.36e+01 0.94 -2.29 + 178 1 -211 64 1.37e-01 -1.46e+00 -6.85e+00 7.01e+00 0.14 -2.24 + 179 2 111 65 2.06e-01 -9.02e-02 -1.41e+00 1.44e+00 0.135 -2.54 + 180 2 111 65 4.18e-01 -1.75e-01 -2.28e+00 2.33e+00 0.135 -2.32 + 181 2 111 65 2.39e-01 -3.76e-01 -2.83e+00 2.87e+00 0.135 -2.55 + 182 1 22 68 -5.28e-02 -2.73e-01 -6.66e-01 7.21e-01 0 -1.61 + 183 1 22 68 4.89e-02 -3.67e-01 -1.18e+00 1.24e+00 0 -1.88 + 184 2 -311 70 -4.61e-01 9.23e-01 -1.47e+00 1.86e+00 0.498 -1.15 + 185 1 -211 70 -9.14e-01 6.57e-01 -1.25e+00 1.69e+00 0.14 -0.956 + 186 1 211 73 -2.97e-01 3.81e-01 -5.26e-01 7.28e-01 0.14 -0.943 + 187 2 111 73 -1.32e+00 8.75e-01 -1.26e+00 2.03e+00 0.135 -0.731 + 188 1 321 76 -1.02e+01 7.89e+00 -1.56e+01 2.02e+01 0.494 -1.02 + 189 1 -211 76 -3.32e+00 2.53e+00 -4.52e+00 6.15e+00 0.14 -0.939 + 190 1 -211 79 6.57e-01 -8.48e-02 1.62e+02 1.62e+02 0.14 6.19 + 191 2 111 79 1.57e-01 -5.18e-02 1.90e+01 1.90e+01 0.135 5.44 + 192 1 211 80 -5.06e-02 -2.73e-01 1.79e+02 1.79e+02 0.14 7.16 + 193 2 111 80 -2.63e-01 2.04e-01 5.64e+01 5.64e+01 0.135 5.83 + 194 1 211 83 -7.45e-03 -4.76e-02 3.65e+00 3.65e+00 0.14 5.02 + 195 1 -211 83 4.18e-02 1.11e-02 2.32e+00 2.33e+00 0.14 4.68 + 196 2 221 83 -4.77e-01 -2.30e-01 9.28e+00 9.31e+00 0.547 3.56 + 197 1 -211 86 3.22e-02 5.15e-02 2.26e-01 2.72e-01 0.14 2.02 + 198 2 111 86 -4.34e-01 -7.81e-01 1.05e+00 1.38e+00 0.135 0.998 + 199 1 22 87 1.09e-02 -2.52e-02 1.61e-01 1.63e-01 0 2.47 + 200 1 22 87 -1.20e-01 1.18e-01 7.18e-01 7.37e-01 0 2.16 + 201 1 130 89 3.42e-01 -3.51e-01 6.56e-01 9.59e-01 0.498 1.1 + 202 1 130 90 3.43e-02 4.24e-01 -1.12e+00 1.30e+00 0.498 -1.69 + 203 1 -211 91 3.78e-03 1.00e-01 -9.85e-01 9.99e-01 0.14 -2.98 + 204 1 211 91 -9.92e-02 -1.06e-01 -9.93e-01 1.01e+00 0.14 -2.62 + 205 2 111 91 7.33e-02 7.39e-02 -6.22e-01 6.45e-01 0.135 -2.49 + 206 1 -211 94 -1.41e-01 4.31e-01 -9.20e-01 1.04e+00 0.14 -1.46 + 207 1 211 94 1.64e-01 -1.03e-01 -1.28e+00 1.30e+00 0.14 -2.58 + 208 1 211 96 -1.43e-01 3.76e-01 -3.60e+02 3.60e+02 0.14 -7.49 + 209 2 111 96 6.97e-01 1.38e+00 -1.35e+03 1.35e+03 0.135 -7.47 + 210 1 211 97 -2.91e-01 -1.17e-01 -4.01e+01 4.01e+01 0.14 -5.55 + 211 1 -211 97 2.29e-01 2.57e-01 -6.04e+01 6.04e+01 0.14 -5.86 + 212 1 -211 98 2.68e-01 -1.29e-01 -6.39e+01 6.39e+01 0.14 -6.06 + 213 1 211 98 -1.13e-02 -1.47e-01 -4.06e+01 4.06e+01 0.14 -6.31 + 214 2 111 98 2.83e-01 -1.66e-01 -6.53e+01 6.53e+01 0.135 -5.99 + 215 1 2112 99 -2.18e-01 4.48e-01 -4.93e+02 4.93e+02 0.94 -7.59 + 216 1 -211 99 1.66e-02 7.48e-02 -1.70e+02 1.70e+02 0.14 -8.4 + 217 1 -211 100 1.99e-01 2.65e-01 -1.36e+02 1.36e+02 0.14 -6.71 + 218 1 211 100 3.71e-01 3.20e-01 -3.38e+02 3.38e+02 0.14 -7.23 + 219 2 111 100 -2.43e-02 -9.44e-02 -7.76e+01 7.76e+01 0.135 -7.37 + 220 1 -2112 101 -4.29e-01 4.29e-01 -2.43e+02 2.43e+02 0.94 -6.68 + 221 2 111 101 5.83e-02 -1.86e-03 -5.92e+01 5.92e+01 0.135 -7.62 + 222 1 211 102 2.17e-01 -3.07e-01 -1.60e+01 1.60e+01 0.14 -4.44 + 223 2 111 102 -8.96e-02 2.64e-01 -4.98e+00 4.99e+00 0.135 -3.58 + 224 1 22 103 -3.77e-01 1.04e-01 -7.39e+00 7.40e+00 0 -3.63 + 225 1 22 103 -1.01e-01 -1.34e-02 -1.13e+00 1.13e+00 0 -3.1 + 226 1 211 104 3.45e-01 1.80e-01 -4.80e+01 4.81e+01 0.14 -5.51 + 227 1 -211 104 -1.93e-01 -1.30e-01 -4.58e+01 4.58e+01 0.14 -5.97 + 228 1 2212 106 -3.32e-01 -1.28e-01 -8.13e+01 8.13e+01 0.938 -6.13 + 229 1 211 106 -4.57e-02 -8.59e-02 -1.96e+01 1.96e+01 0.14 -6 + 230 1 -211 107 5.01e-02 4.06e-01 -5.86e+02 5.86e+02 0.14 -7.96 + 231 2 111 107 1.43e-03 6.43e-01 -2.28e+03 2.28e+03 0.135 -8.87 + 232 1 22 109 -3.09e-01 3.30e-02 3.60e-01 4.76e-01 0 0.989 + 233 1 211 109 3.21e-02 7.43e-02 1.92e-01 2.51e-01 0.14 1.6 + 234 1 -211 109 3.63e-03 7.21e-02 1.04e-01 1.88e-01 0.14 1.16 + 235 2 -3112 111 8.32e-02 5.28e-01 3.28e+00 3.53e+00 1.2 2.51 + 236 1 -211 111 -7.02e-02 1.54e-01 3.57e-01 4.19e-01 0.14 1.49 + 237 1 22 112 -6.05e-03 6.51e-04 -3.66e-02 3.71e-02 0 -2.49 + 238 1 22 112 -5.06e-01 2.22e-01 -3.02e-01 6.30e-01 0 -0.522 + 239 2 3122 113 5.19e-02 4.99e-01 2.31e+00 2.61e+00 1.12 2.23 + 240 1 -211 113 -8.02e-02 2.44e-01 5.14e-01 5.92e-01 0.14 1.44 + 241 1 -2112 116 3.04e-02 -2.44e-01 -5.37e-02 9.73e-01 0.94 -0.217 + 242 2 111 116 -2.68e-01 -1.87e-01 1.47e-01 3.83e-01 0.135 0.435 + 243 1 2112 117 5.06e-01 -5.88e-01 -6.54e-01 1.38e+00 0.94 -0.767 + 244 1 211 117 9.94e-02 -3.64e-01 -2.59e-01 4.79e-01 0.14 -0.643 + 245 2 111 118 8.20e-03 -2.27e-01 -6.91e-03 2.65e-01 0.135 -0.0303 + 246 2 111 118 1.40e-01 -4.09e-02 6.93e-02 2.11e-01 0.135 0.459 + 247 2 111 118 7.81e-03 -1.44e-01 1.83e-01 2.69e-01 0.135 1.06 + 248 1 211 119 -1.76e-01 3.90e-01 5.74e-01 7.29e-01 0.14 1.1 + 249 1 -211 119 9.82e-02 -9.04e-02 2.85e-01 3.44e-01 0.14 1.5 + 250 2 111 119 -8.91e-02 -3.59e-02 6.13e-02 1.77e-01 0.135 0.602 + 251 1 -211 120 3.22e-01 -8.01e-01 -1.11e-01 8.81e-01 0.14 -0.128 + 252 2 111 120 5.10e-01 -6.20e-01 -8.12e-01 1.15e+00 0.135 -0.89 + 253 1 -211 122 -1.36e-02 3.41e-01 4.64e+00 4.65e+00 0.14 3.3 + 254 2 111 122 2.58e-01 -2.50e-01 6.32e+00 6.33e+00 0.135 3.56 + 255 1 22 125 -3.35e-02 1.31e-01 7.16e-01 7.29e-01 0 2.37 + 256 1 22 125 -2.87e-01 2.55e-01 2.26e+00 2.29e+00 0 2.47 + 257 1 -211 127 -2.54e-01 2.44e-01 1.19e+01 1.19e+01 0.14 4.22 + 258 1 211 127 -1.24e-01 1.60e-01 1.12e+01 1.12e+01 0.14 4.7 + 259 2 111 127 -2.04e-01 1.68e-01 2.19e+01 2.19e+01 0.135 5.11 + 260 2 -311 128 -2.22e-01 8.21e-01 3.41e+01 3.41e+01 0.498 4.38 + 261 2 111 128 1.30e-01 3.65e-01 6.35e+00 6.36e+00 0.135 3.49 + 262 1 2112 130 -2.67e-01 3.24e-02 5.37e+01 5.37e+01 0.94 5.99 + 263 1 211 130 -2.99e-01 -5.09e-02 2.29e+01 2.29e+01 0.14 5.02 + 264 1 -2212 131 5.61e-01 -8.43e-03 1.25e+02 1.25e+02 0.938 6.1 + 265 2 111 131 3.32e-01 -1.93e-01 4.95e+01 4.95e+01 0.135 5.55 + 266 1 22 132 2.15e-01 -2.12e-01 1.79e+01 1.79e+01 0 4.77 + 267 1 22 132 3.26e-01 -1.85e-01 1.64e+01 1.64e+01 0 4.47 + 268 2 111 133 2.18e-01 4.49e-02 2.83e+01 2.83e+01 0.135 5.54 + 269 2 111 133 2.12e-01 1.59e-02 1.44e+01 1.44e+01 0.135 4.91 + 270 2 111 133 4.23e-02 5.94e-02 5.36e+00 5.36e+00 0.135 4.99 + 271 1 211 134 -1.65e-01 -2.41e-01 5.39e+00 5.40e+00 0.14 3.61 + 272 1 -211 134 6.19e-02 6.59e-02 6.85e+00 6.86e+00 0.14 5.02 + 273 2 111 134 -2.91e-01 -1.71e-01 1.42e+01 1.42e+01 0.135 4.43 + 274 1 211 135 -5.22e-02 -4.66e-01 9.36e+00 9.37e+00 0.14 3.69 + 275 2 111 135 4.50e-01 -1.51e-01 2.25e+01 2.25e+01 0.135 4.55 + 276 1 321 136 -2.04e-01 -3.19e-01 1.25e+01 1.26e+01 0.494 4.2 + 277 1 -211 136 3.06e-01 9.23e-02 1.09e+01 1.09e+01 0.14 4.22 + 278 1 -321 137 -7.02e-01 -1.25e+00 1.05e+01 1.06e+01 0.494 2.69 + 279 1 211 137 1.45e-01 -3.87e-01 3.12e+00 3.15e+00 0.14 2.72 + 280 1 22 138 1.25e-02 -1.78e-01 3.01e+00 3.02e+00 0 3.52 + 281 1 22 138 -6.66e-02 -6.02e-02 8.30e-01 8.35e-01 0 2.92 + 282 1 -211 139 5.19e-02 -8.96e-01 4.19e+00 4.29e+00 0.14 2.24 + 283 2 111 139 -6.35e-01 -5.65e-01 5.47e+00 5.53e+00 0.135 2.56 + 284 1 22 140 -5.27e-01 -6.60e-01 5.71e+00 5.77e+00 0 2.61 + 285 1 22 140 -1.95e-01 -3.07e-01 1.97e+00 2.00e+00 0 2.39 + 286 2 311 141 -8.86e-01 -1.65e+00 1.01e+01 1.03e+01 0.498 2.39 + 287 1 211 141 -1.92e-02 -3.01e-02 8.49e-01 8.61e-01 0.14 3.86 + 288 1 -321 142 -3.01e-01 -3.29e-01 5.31e+00 5.35e+00 0.494 3.17 + 289 1 211 142 2.69e-01 -1.05e-01 1.61e+00 1.65e+00 0.14 2.42 + 290 1 22 145 -8.72e-03 1.04e-01 1.13e-01 1.54e-01 0 0.94 + 291 1 22 145 1.86e-01 2.63e-01 2.31e-01 3.96e-01 0 0.668 + 292 1 22 150 -1.35e-01 2.03e-01 1.56e-01 2.89e-01 0 0.602 + 293 1 22 150 3.56e-03 8.29e-02 1.42e-01 1.65e-01 0 1.31 + 294 1 22 156 1.87e-02 -3.13e-02 1.06e+00 1.06e+00 0 4.07 + 295 1 22 156 -4.66e-02 -9.83e-03 1.38e-01 1.46e-01 0 1.79 + 296 1 22 161 -8.38e-02 -1.23e-01 5.39e+01 5.39e+01 0 6.59 + 297 1 22 161 4.22e-02 -6.18e-03 1.58e+01 1.58e+01 0 6.61 + 298 1 22 163 -4.96e-01 -3.72e-02 8.94e+01 8.94e+01 0 5.88 + 299 1 22 163 -3.64e-02 3.67e-02 1.01e+01 1.01e+01 0 5.97 + 300 2 -311 167 2.62e+00 6.14e-02 -9.62e+00 9.98e+00 0.498 -2.01 + 301 1 211 167 8.86e-01 -3.10e-01 -3.85e+00 3.97e+00 0.14 -2.12 + 302 1 -211 167 1.57e+00 -1.37e-01 -6.59e+00 6.78e+00 0.14 -2.14 + 303 2 111 167 3.68e+00 -1.17e+00 -1.66e+01 1.71e+01 0.135 -2.17 + 304 1 22 170 8.17e-01 -1.66e-01 -3.06e+00 3.17e+00 0 -2.01 + 305 1 22 170 1.91e+00 -6.01e-01 -7.31e+00 7.58e+00 0 -2.01 + 306 1 22 174 5.66e-02 -3.92e-01 -2.20e+00 2.23e+00 0 -2.41 + 307 1 22 174 3.78e-02 -4.30e-01 -1.72e+00 1.78e+00 0 -2.09 + 308 1 22 179 8.63e-02 2.25e-02 -3.35e-01 3.46e-01 0 -2.03 + 309 1 22 179 1.20e-01 -1.13e-01 -1.08e+00 1.09e+00 0 -2.58 + 310 1 22 180 4.14e-01 -1.50e-01 -2.22e+00 2.27e+00 0 -2.32 + 311 1 22 180 3.19e-03 -2.49e-02 -5.90e-02 6.41e-02 0 -1.59 + 312 1 22 181 9.34e-02 -2.31e-01 -1.24e+00 1.26e+00 0 -2.31 + 313 1 22 181 1.46e-01 -1.45e-01 -1.59e+00 1.61e+00 0 -2.74 + 314 1 130 184 -4.61e-01 9.23e-01 -1.47e+00 1.86e+00 0.498 -1.15 + 315 1 22 187 -5.85e-01 3.18e-01 -4.89e-01 8.26e-01 0 -0.681 + 316 1 22 187 -7.34e-01 5.57e-01 -7.74e-01 1.20e+00 0 -0.764 + 317 1 22 191 1.58e-01 -3.93e-02 1.89e+01 1.89e+01 0 5.45 + 318 1 22 191 -1.24e-03 -1.25e-02 1.61e-01 1.61e-01 0 3.24 + 319 1 22 193 -2.09e-01 1.98e-01 3.91e+01 3.91e+01 0 5.6 + 320 1 22 193 -5.34e-02 6.53e-03 1.73e+01 1.73e+01 0 6.46 + 321 1 -211 196 -6.02e-02 7.93e-02 2.29e+00 2.30e+00 0.14 3.83 + 322 1 211 196 -1.81e-01 -1.23e-01 3.18e+00 3.19e+00 0.14 3.37 + 323 2 111 196 -2.36e-01 -1.87e-01 3.81e+00 3.82e+00 0.135 3.23 + 324 1 22 198 -4.22e-01 -7.51e-01 1.04e+00 1.35e+00 0 1.02 + 325 1 22 198 -1.29e-02 -2.93e-02 7.56e-03 3.29e-02 0 0.234 + 326 1 22 205 3.52e-02 1.08e-01 -4.99e-01 5.12e-01 0 -2.19 + 327 1 22 205 3.81e-02 -3.40e-02 -1.23e-01 1.33e-01 0 -1.61 + 328 1 22 209 4.52e-01 1.02e+00 -9.53e+02 9.53e+02 0 -7.45 + 329 1 22 209 2.45e-01 3.60e-01 -4.00e+02 4.00e+02 0 -7.52 + 330 1 22 214 2.22e-01 -9.72e-02 -5.55e+01 5.55e+01 0 -6.13 + 331 1 22 214 6.13e-02 -6.91e-02 -9.77e+00 9.77e+00 0 -5.35 + 332 1 22 219 -1.80e-02 -2.12e-02 -2.71e+00 2.71e+00 0 -5.27 + 333 1 22 219 -6.35e-03 -7.32e-02 -7.49e+01 7.49e+01 0 -7.62 + 334 1 22 221 6.96e-02 2.98e-02 -1.70e+01 1.70e+01 0 -6.1 + 335 1 22 221 -1.13e-02 -3.17e-02 -4.22e+01 4.22e+01 0 -7.83 + 336 1 22 223 -6.18e-02 1.94e-01 -2.44e+00 2.45e+00 0 -3.18 + 337 1 22 223 -2.78e-02 6.91e-02 -2.54e+00 2.54e+00 0 -4.22 + 338 1 22 231 5.12e-02 5.37e-01 -1.84e+03 1.84e+03 0 -8.83 + 339 1 22 231 -4.98e-02 1.06e-01 -4.41e+02 4.41e+02 0 -8.93 + 340 1 -2112 235 2.50e-01 4.15e-01 2.81e+00 3.01e+00 0.94 2.46 + 341 1 211 235 -1.66e-01 1.13e-01 4.65e-01 5.25e-01 0.14 1.58 + 342 1 2212 239 1.20e-01 4.43e-01 2.11e+00 2.35e+00 0.938 2.23 + 343 1 -211 239 -6.80e-02 5.60e-02 1.98e-01 2.58e-01 0.14 1.55 + 344 1 22 242 -7.65e-03 -4.73e-02 -9.01e-03 4.88e-02 0 -0.187 + 345 1 22 242 -2.61e-01 -1.39e-01 1.56e-01 3.34e-01 0 0.505 + 346 1 22 245 -4.65e-02 -2.46e-02 1.14e-02 5.38e-02 0 0.215 + 347 1 22 245 5.47e-02 -2.03e-01 -1.83e-02 2.11e-01 0 -0.0871 + 348 1 22 246 -1.55e-02 -1.03e-03 4.57e-02 4.82e-02 0 1.8 + 349 1 22 246 1.56e-01 -3.99e-02 2.36e-02 1.62e-01 0 0.147 + 350 1 22 247 5.08e-02 -4.05e-03 5.40e-02 7.43e-02 0 0.924 + 351 1 22 247 -4.30e-02 -1.39e-01 1.29e-01 1.95e-01 0 0.797 + 352 1 22 250 -1.03e-01 -7.31e-02 4.72e-02 1.35e-01 0 0.367 + 353 1 22 250 1.36e-02 3.72e-02 1.41e-02 4.20e-02 0 0.349 + 354 1 22 252 2.01e-02 -3.63e-02 -8.37e-03 4.23e-02 0 -0.201 + 355 1 22 252 4.90e-01 -5.83e-01 -8.04e-01 1.11e+00 0 -0.92 + 356 1 22 254 -1.33e-02 1.77e-03 2.69e-01 2.70e-01 0 3.7 + 357 1 22 254 2.72e-01 -2.52e-01 6.05e+00 6.06e+00 0 3.49 + 358 1 22 259 -1.27e-01 1.65e-01 1.28e+01 1.29e+01 0 4.82 + 359 1 22 259 -7.69e-02 3.63e-03 9.09e+00 9.09e+00 0 5.46 + 360 1 130 260 -2.22e-01 8.21e-01 3.41e+01 3.41e+01 0.498 4.38 + 361 1 22 261 1.65e-02 1.24e-01 3.02e+00 3.02e+00 0 3.88 + 362 1 22 261 1.13e-01 2.41e-01 3.32e+00 3.34e+00 0 3.22 + 363 1 22 265 2.88e-01 -1.84e-01 3.67e+01 3.67e+01 0 5.37 + 364 1 22 265 4.36e-02 -8.72e-03 1.28e+01 1.28e+01 0 6.36 + 365 1 22 268 3.28e-02 3.35e-02 1.28e+01 1.28e+01 0 6.3 + 366 1 22 268 1.85e-01 1.14e-02 1.54e+01 1.54e+01 0 5.12 + 367 1 22 269 2.06e-01 1.64e-02 1.44e+01 1.44e+01 0 4.94 + 368 1 22 269 5.78e-03 -5.18e-04 2.33e-02 2.40e-02 0 2.1 + 369 1 22 270 -4.65e-03 8.89e-02 2.36e+00 2.36e+00 0 3.97 + 370 1 22 270 4.70e-02 -2.95e-02 3.01e+00 3.01e+00 0 4.68 + 371 1 22 273 -1.01e-01 -5.33e-02 2.60e+00 2.61e+00 0 3.82 + 372 1 22 273 -1.90e-01 -1.18e-01 1.15e+01 1.16e+01 0 4.64 + 373 1 22 275 4.05e-01 -1.61e-01 1.84e+01 1.84e+01 0 4.44 + 374 1 22 275 4.49e-02 1.00e-02 4.05e+00 4.05e+00 0 5.17 + 375 1 22 283 -2.76e-01 -2.69e-01 2.90e+00 2.93e+00 0 2.72 + 376 1 22 283 -3.58e-01 -2.96e-01 2.56e+00 2.61e+00 0 2.41 + 377 2 310 286 -8.86e-01 -1.65e+00 1.01e+01 1.03e+01 0.498 2.39 + 378 1 130 300 2.62e+00 6.14e-02 -9.62e+00 9.98e+00 0.498 -2.01 + 379 1 22 303 2.89e+00 -9.16e-01 -1.28e+01 1.31e+01 0 -2.15 + 380 1 22 303 7.91e-01 -2.57e-01 -3.83e+00 3.92e+00 0 -2.23 + 381 1 22 323 -1.15e-01 -1.36e-01 2.82e+00 2.82e+00 0 3.45 + 382 1 22 323 -1.21e-01 -5.05e-02 9.94e-01 1.00e+00 0 2.72 + 383 2 111 377 -2.71e-01 -3.14e-01 1.68e+00 1.74e+00 0.135 2.11 + 384 2 111 377 -6.16e-01 -1.33e+00 8.42e+00 8.55e+00 0.135 2.45 + 385 1 22 383 -1.01e-01 -2.05e-01 1.03e+00 1.06e+00 0 2.21 + 386 1 22 383 -1.69e-01 -1.09e-01 6.47e-01 6.77e-01 0 1.88 + 387 1 22 384 -3.01e-01 -7.16e-01 4.10e+00 4.17e+00 0 2.37 + 388 1 22 384 -3.15e-01 -6.16e-01 4.33e+00 4.38e+00 0 2.53 diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc index 2d42023ca7..6d01b37314 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: hepmcEx01.cc,v 1.5 2006/07/05 11:06:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: hepmcEx01.cc,v 1.7 2010/12/10 06:21:34 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -34,11 +34,9 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "ExN04DetectorConstruction.hh" -#include "QGSP.hh" +#include "QGSP_BERT.hh" #include "ExN04PrimaryGeneratorAction.hh" #include "ExN04RunAction.hh" #include "ExN04EventAction.hh" @@ -51,6 +49,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + int main(int argc,char** argv) { // User Verbose output class @@ -67,15 +69,9 @@ int main(int argc,char** argv) G4VUserDetectorConstruction* detector = new ExN04DetectorConstruction; runManager->SetUserInitialization(detector); // - G4VUserPhysicsList* physics = new QGSP; + G4VUserPhysicsList* physics = new QGSP_BERT; runManager->SetUserInitialization(physics); -#ifdef G4VIS_USE - // Visualization, if you choose to have it! - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); -#endif - runManager->Initialize(); // User Action classes @@ -98,28 +94,32 @@ int main(int argc,char** argv) G4UserSteppingAction* stepping_action = new ExN04SteppingAction; runManager->SetUserAction(stepping_action); +#ifdef G4VIS_USE + // Visualization, if you choose to have it! + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + //get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); - if(argc==1) - { - // G4UIterminal is a (dumb) terminal - // -#ifdef G4UI_USE_TCSH - G4UIsession* session = new G4UIterminal(new G4UItcsh); -#else - G4UIsession* session = new G4UIterminal(); -#endif - UImanager->ApplyCommand("/control/execute vis.mac"); - session->SessionStart(); - delete session; - } - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UImanager->ApplyCommand(command+fileName); - } + if (argc!=1) // batch mode + { +#ifdef G4VIS_USE + visManager->SetVerboseLevel("quiet"); +#endif + 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); + ui->SessionStart(); + delete ui; +#endif + } // 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/extended/eventgenerator/HepMC/HepMCEx01/hepmc_ascii.out b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_ascii.out index 181be9d763..355f625d56 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_ascii.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_ascii.out @@ -1,16 +1,17 @@ ************************************************************* - Geant4 version Name: geant4-08-01-ref-00 (30-June-2006) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -<<< Geant4 Physics List engine packaging library: PACK 5.1 -<<< Geant4 Physics List simulation engine: QGSP 3.1 +<<< Geant4 Physics List engine packaging library: PACK 5.5 +<<< Geant4 Physics List simulation engine: QGSP_BERT 3.4 -Visualization Manager instantiating... +### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0 +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -18,18 +19,20 @@ 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) + gMocrenFile (gMocrenFile) FukuiRenderer (DAWN) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) - OpenGLImmediateXm (OGLIXm) - OpenGLStoredXm (OGLSXm) - OpenInventorXt (OIX) + OpenGLImmediateQt (OGLIQt) + OpenGLStoredQt (OGLSQt) RayTracerX (RayTracerX) VRML1 (VRML1) VRML2 (VRML2) @@ -42,530 +45,344 @@ Registered model factories: drawByCharge drawByParticleID drawByOriginVolume - -Registered models: - None + drawByAttribute Registered filter factories: chargeFilter particleFilter originVolumeFilter - -Registered filters: - None + attributeFilter current generator type: hepmcAscii HepMC Ascii inputfile: data/example_MyPythia.dat -IO_Ascii: unformated ascii file IO for machine reading. +IO_AsciiParticles: formated ascii file IO for eye and machine reading. File openmode: 8 file state: 0 bad:0 eof:0 fail:0 good:0 -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 ====== + BetheHeitler : 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 +msc: for e- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc93 : 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 -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. +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 AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban -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 -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. +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 AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban -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. +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 -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 +msc: for proton SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 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 + ===== 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 GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 +hBrems: for proton 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 -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 +hPairProd: for proton 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: 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 +msc: for GenericIon SubType= 10 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 +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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV 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 +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV 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 +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 +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 -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 +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 -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 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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 +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 -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 +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: 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 +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)= 11.4592 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + WentzelVIUni : Emin= 0 eV Emax= 10 TeV + +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 + +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 + +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 + +CoulombScat: for mu+ SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV + +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 ====== + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV + +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 + +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 + +CoulombScat: for mu- SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + +hBrems: for pi+ 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 pi+ 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 + +msc: for pi- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + +hBrems: for pi- 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 pi- 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 +============================================================================================ + HADRONIC PROCESSES SUMMARY (verbose level 1) + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 +AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + ElectroNuclear Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 30000 + + Hadronic Processes for + PhotonInelastic Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 3.5 + TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + muMinusCaptureAtRest + + Hadronic Processes for + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 + NeutronInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LENeutronInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + nCapture Models: G4LCapture: Emin(GeV)= 0 Emax(GeV)= 20000 + nFission Models: G4LFission: Emin(GeV)= 0 Emax(GeV)= 20000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 + PionPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 + PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 + ProtonInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEProtonInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 +============================================================================================ ### Run 0 start. -________________________________________________________________________________ -GenEvent: #1 ID=20 SignalProcessGenVertex Barcode: 0 - Current Memory Usage: 1 events, 78 vertices, 210 particles. - Entries this event: 78 vertices, 210 particles. - RndmState(0)= - Wgts(0)= - EventScale -1 [energy] alphaQCD=-1 alphaQED=-1 - GenParticle Legend - Barcode PDG ID ( Px, Py, Pz, E ) Stat DecayVtx -________________________________________________________________________________ -GenVertex: -1 ID: 0 (X,cT):0 - I: 1 1 2212 +0.00e+00,+0.00e+00,+7.00e+03,+7.00e+03 3 -1 - O: 2 3 2 -7.76e-01,-9.12e-01,+1.88e+03,+1.88e+03 3 -3 - 20 2101 +7.76e-01,+9.12e-01,+4.45e+03,+4.45e+03 2 -16 -GenVertex: -2 ID: 0 (X,cT):0 - I: 1 2 2212 +0.00e+00,+0.00e+00,-7.00e+03,+7.00e+03 3 -2 - O: 3 4 -1 -1.01e+00,-1.27e-02,-4.15e+00,+4.27e+00 3 -4 - 13 2214 +1.00e-00,+2.73e-02,-4.08e+03,+4.08e+03 2 -9 - 26 1 +8.08e-03,-1.46e-02,-2.46e+03,+2.46e+03 2 -16 -GenVertex: -3 ID: 0 (X,cT):0 - I: 1 3 2 -7.76e-01,-9.12e-01,+1.88e+03,+1.88e+03 3 -3 - O: 4 5 2 -5.02e+00,+1.15e+00,+1.48e+03,+1.48e+03 3 -5 - 21 21 +1.46e+00,-3.91e-01,+1.09e+02,+1.09e+02 2 -16 - 22 21 +3.11e+00,+2.32e-01,+1.46e+02,+1.47e+02 2 -16 - 23 21 -1.09e-01,-1.87e+00,+8.61e+01,+8.61e+01 2 -16 -GenVertex: -4 ID: 0 (X,cT):0 - I: 1 4 -1 -1.01e+00,-1.27e-02,-4.15e+00,+4.27e+00 3 -4 - O: 3 6 -1 +2.54e-02,+8.35e+00,+6.60e-01,+8.37e+00 3 -5 - 24 21 -5.37e-01,-6.68e+00,+4.75e+01,+4.79e+01 2 -16 - 25 21 -7.11e-01,-1.71e+00,+1.08e+01,+1.10e+01 2 -16 -GenVertex: -5 ID: 0 (X,cT):0 - I: 2 5 2 -5.02e+00,+1.15e+00,+1.48e+03,+1.48e+03 3 -5 - 6 -1 +2.54e-02,+8.35e+00,+6.60e-01,+8.37e+00 3 -5 - O: 2 7 22 -4.03e+00,-1.23e+00,+2.46e+02,+2.46e+02 3 -6 - 8 24 -9.67e-01,+1.07e+01,+1.23e+03,+1.24e+03 3 -7 -GenVertex: -6 ID: 0 (X,cT):0 - I: 1 7 22 -4.03e+00,-1.23e+00,+2.46e+02,+2.46e+02 3 -6 - O: 1 9 22 -4.03e+00,-1.23e+00,+2.46e+02,+2.46e+02 1 -GenVertex: -7 ID: 0 (X,cT):0 - I: 1 8 24 -9.67e-01,+1.07e+01,+1.23e+03,+1.24e+03 3 -7 - O: 1 10 24 -9.67e-01,+1.07e+01,+1.23e+03,+1.24e+03 2 -8 -GenVertex: -8 ID: 0 (X,cT):0 - I: 1 10 24 -9.67e-01,+1.07e+01,+1.23e+03,+1.24e+03 2 -8 - O: 2 11 -13 -2.56e+01,+4.70e+01,+2.09e+02,+2.16e+02 1 - 12 14 +2.47e+01,-3.63e+01,+1.02e+03,+1.02e+03 1 -GenVertex: -9 ID: 0 (X,cT):0 - I: 1 13 2214 +1.00e-00,+2.73e-02,-4.08e+03,+4.08e+03 2 -9 - O: 2 29 2212 +1.02e+00,+1.18e-01,-3.74e+03,+3.74e+03 1 - 30 111 -2.46e-02,-9.09e-02,-3.46e+02,+3.46e+02 2 -20 -GenVertex: -10 ID: 0 (X,cT):0 - I: 2 14 1 +2.31e+00,+5.82e+00,+1.51e+02,+1.51e+02 2 -10 - 15 -1 -2.31e+00,-5.82e+00,+4.62e+01,+4.66e+01 2 -10 - O: 1 31 92 +0.00e+00,+0.00e+00,+1.97e+02,+1.97e+02 2 -11 -GenVertex: -11 ID: 0 (X,cT):0 - I: 1 31 92 +0.00e+00,+0.00e+00,+1.97e+02,+1.97e+02 2 -11 - O: 8 32 -211 +2.54e-01,+1.65e+00,+3.42e+01,+3.42e+01 1 - 33 211 +1.83e-01,-2.25e-01,+8.98e+00,+8.99e+00 1 - 34 -211 +1.65e+00,+3.36e+00,+8.55e+01,+8.56e+01 1 - 35 221 +1.53e-01,+1.01e-01,+1.68e+01,+1.68e+01 2 -21 - 36 211 -5.43e-01,+7.13e-02,+3.10e+00,+3.15e+00 1 - 37 221 -4.39e-01,-1.09e+00,+1.62e+01,+1.63e+01 2 -22 - 38 -213 -1.18e+00,-2.20e+00,+1.67e+01,+1.70e+01 2 -23 - 39 211 -8.40e-02,-1.67e+00,+1.53e+01,+1.54e+01 1 -GenVertex: -12 ID: 0 (X,cT):0 - I: 2 16 2 -3.95e+00,-1.33e+00,+3.41e+01,+3.44e+01 2 -12 - 17 -2 +3.95e+00,+1.33e+00,+4.38e+02,+4.38e+02 2 -12 - O: 1 40 92 +0.00e+00,+0.00e+00,+4.72e+02,+4.72e+02 2 -13 -GenVertex: -13 ID: 0 (X,cT):0 - I: 1 40 92 +0.00e+00,+0.00e+00,+4.72e+02,+4.72e+02 2 -13 - O: 8 41 221 -2.68e+00,-7.41e-01,+2.70e+01,+2.71e+01 2 -24 - 42 211 -1.08e+00,-1.77e-01,+8.94e+00,+9.00e+00 1 - 43 223 +7.31e-01,-2.42e-01,+2.97e+01,+2.97e+01 2 -25 - 44 -213 +6.83e-02,+2.16e-01,+2.67e+01,+2.67e+01 2 -26 - 45 211 -7.62e-02,+3.34e-01,+9.98e+00,+9.98e+00 1 - 46 223 +1.18e+00,+7.67e-03,+1.59e+02,+1.59e+02 2 -27 - 47 -213 +4.18e-01,+2.70e-01,+5.63e+01,+5.63e+01 2 -28 - 48 111 +1.44e+00,+3.32e-01,+1.54e+02,+1.54e+02 2 -29 -GenVertex: -14 ID: 0 (X,cT):0 - I: 2 18 2 +1.54e+00,+3.04e+00,-6.32e+01,+6.33e+01 2 -14 - 19 -2 -1.54e+00,-3.04e+00,-3.11e+02,+3.11e+02 2 -14 - O: 1 49 92 +0.00e+00,+0.00e+00,-3.75e+02,+3.75e+02 2 -15 -GenVertex: -15 ID: 0 (X,cT):0 - I: 1 49 92 +0.00e+00,+0.00e+00,-3.75e+02,+3.75e+02 2 -15 - O: 3 50 113 +1.57e+00,+2.83e+00,-6.11e+01,+6.12e+01 2 -30 - 51 211 +2.02e-01,+1.20e-01,-2.70e+01,+2.70e+01 1 - 52 -211 -1.77e+00,-2.95e+00,-2.86e+02,+2.86e+02 1 -GenVertex: -16 ID: 0 (X,cT):0 - I: 7 26 1 +8.08e-03,-1.46e-02,-2.46e+03,+2.46e+03 2 -16 - 21 21 +1.46e+00,-3.91e-01,+1.09e+02,+1.09e+02 2 -16 - 22 21 +3.11e+00,+2.32e-01,+1.46e+02,+1.47e+02 2 -16 - 23 21 -1.09e-01,-1.87e+00,+8.61e+01,+8.61e+01 2 -16 - 24 21 -5.37e-01,-6.68e+00,+4.75e+01,+4.79e+01 2 -16 - 25 21 -7.11e-01,-1.71e+00,+1.08e+01,+1.10e+01 2 -16 - 20 2101 +7.76e-01,+9.12e-01,+4.45e+03,+4.45e+03 2 -16 - O: 1 53 92 +3.99e+00,-9.52e+00,+2.38e+03,+7.31e+03 2 -17 -GenVertex: -17 ID: 0 (X,cT):0 - I: 1 53 92 +3.99e+00,-9.52e+00,+2.38e+03,+7.31e+03 2 -17 - O:31 54 2212 +8.22e-01,+7.58e-01,+2.86e+03,+2.86e+03 1 - 55 113 -3.60e-01,-1.69e-01,+8.62e+02,+8.62e+02 2 -31 - 56 -2214 +1.03e+00,+9.30e-02,+4.53e+02,+4.53e+02 2 -32 - 57 223 -3.60e-01,+4.04e-01,+1.25e+02,+1.25e+02 2 -33 - 58 2212 +1.68e+00,-6.25e-01,+1.57e+02,+1.57e+02 1 - 59 -213 +5.56e-01,+3.45e-01,+9.14e+01,+9.14e+01 2 -34 - 60 -311 +6.88e-02,-2.98e-02,+3.77e+01,+3.77e+01 2 -35 - 61 311 +5.59e-01,-2.32e-01,+5.88e+01,+5.88e+01 2 -36 - 62 211 +3.24e-01,-1.11e+00,+5.03e+01,+5.03e+01 1 - 63 113 -1.65e-02,-7.81e-02,+4.91e+00,+4.95e+00 2 -37 - 64 -211 +7.06e-01,-6.40e-01,+6.56e+01,+6.56e+01 1 - 65 213 +4.72e-01,-4.39e-01,+1.44e+01,+1.44e+01 2 -38 - 66 -213 -3.00e-01,-3.82e-01,+1.62e+01,+1.63e+01 2 -39 - 67 211 -4.39e-01,-3.19e+00,+2.48e+01,+2.50e+01 1 - 68 -211 -1.40e-01,-1.20e-01,+4.92e-01,+5.44e-01 1 - 69 -311 -2.66e-01,-2.65e+00,+2.07e+01,+2.08e+01 2 -40 - 70 323 +1.09e-01,-8.86e-01,+4.66e+00,+4.83e+00 2 -41 - 71 113 -4.98e-01,-2.28e-01,+1.70e+00,+1.96e+00 2 -42 - 72 -323 -2.90e-01,-2.30e-01,+6.43e-01,+1.16e+00 2 -43 - 73 311 +7.90e-02,-3.23e-02,-8.47e-01,+9.86e-01 2 -44 - 74 113 +1.28e-01,+1.79e-01,-7.07e-01,+1.09e+00 2 -45 - 75 -2112 +2.40e-01,-6.43e-01,-2.35e+00,+2.62e+00 1 - 76 2112 +1.43e-01,-2.20e-01,-2.23e+00,+2.43e+00 1 - 77 221 -1.58e-01,+9.23e-01,-1.12e+01,+1.12e+01 2 -46 - 78 211 -3.97e-01,-5.01e-01,-1.11e+00,+1.29e+00 1 - 79 111 +2.87e-01,+2.82e-01,-1.04e+00,+1.12e+00 2 -47 - 80 223 +4.06e-01,-2.45e-01,-3.51e+01,+3.51e+01 2 -48 - 81 -321 -6.14e-01,+2.77e-01,-2.28e+02,+2.28e+02 1 - 82 323 +1.26e-01,-3.07e-01,-1.50e+03,+1.50e+03 2 -49 - 83 -321 +1.94e-01,+2.93e-01,-1.69e+02,+1.69e+02 1 - 84 311 -9.36e-02,-1.11e-01,-5.09e+02,+5.09e+02 2 -50 -GenVertex: -18 ID: 0 (X,cT):0 - I: 2 27 21 -1.37e-01,-5.99e+00,-1.38e+01,+1.51e+01 2 -18 - 28 21 +1.37e-01,+5.99e+00,-6.12e+01,+6.15e+01 2 -18 - O: 1 85 92 +0.00e+00,+0.00e+00,-7.51e+01,+7.66e+01 2 -19 -GenVertex: -19 ID: 0 (X,cT):0 - I: 1 85 92 +0.00e+00,+0.00e+00,-7.51e+01,+7.66e+01 2 -19 - O: 9 86 -2112 -3.84e-02,-2.48e+00,-7.98e+00,+8.41e+00 1 - 87 2212 +1.88e-01,-2.14e+00,-4.49e+00,+5.07e+00 1 - 88 -213 +2.00e-01,-1.11e-01,-1.66e+00,+1.83e+00 2 -51 - 89 -313 -6.26e-01,+1.37e+00,-1.29e+01,+1.30e+01 2 -52 - 90 321 +7.89e-02,+7.45e-01,-1.09e+01,+1.10e+01 1 - 91 -211 +4.23e-02,+3.92e-01,-8.74e+00,+8.75e+00 1 - 92 211 +6.44e-02,+3.67e-01,-1.38e+00,+1.43e+00 1 - 93 -2212 +4.16e-02,+5.64e-01,-1.20e+01,+1.20e+01 1 - 94 2112 +4.92e-02,+1.30e+00,-1.50e+01,+1.51e+01 1 -Vertex: -20 ID: 0 (X,cT)=-7.43e-06,-2.74e-05,-1.04e-01,+1.04e-01 - I: 1 30 111 -2.46e-02,-9.09e-02,-3.46e+02,+3.46e+02 2 -20 - O: 2 95 22 -4.57e-02,-1.20e-01,-2.72e+02,+2.72e+02 1 - 96 22 +2.11e-02,+2.92e-02,-7.38e+01,+7.38e+01 1 -GenVertex: -21 ID: 0 (X,cT):0 - I: 1 35 221 +1.53e-01,+1.01e-01,+1.68e+01,+1.68e+01 2 -21 - O: 3 97 211 +1.91e-01,+1.34e-01,+6.86e+00,+6.86e+00 1 - 98 -211 -4.99e-02,-5.38e-02,+4.31e+00,+4.31e+00 1 - 99 111 +1.27e-02,+2.08e-02,+5.61e+00,+5.61e+00 2 -53 -GenVertex: -22 ID: 0 (X,cT):0 - I: 1 37 221 -4.39e-01,-1.09e+00,+1.62e+01,+1.63e+01 2 -22 - O: 3 100 111 +2.02e-02,-1.98e-01,+2.68e+00,+2.69e+00 2 -54 - 101 111 -1.94e-01,-3.08e-01,+5.97e+00,+5.98e+00 2 -55 - 102 111 -2.65e-01,-5.85e-01,+7.55e+00,+7.58e+00 2 -56 -GenVertex: -23 ID: 0 (X,cT):0 - I: 1 38 -213 -1.18e+00,-2.20e+00,+1.67e+01,+1.70e+01 2 -23 - O: 2 103 -211 +5.93e-02,-7.99e-01,+3.99e+00,+4.07e+00 1 - 104 111 -1.24e+00,-1.40e+00,+1.27e+01,+1.29e+01 2 -57 -GenVertex: -24 ID: 0 (X,cT):0 - I: 1 41 221 -2.68e+00,-7.41e-01,+2.70e+01,+2.71e+01 2 -24 - O: 2 105 22 -6.34e-03,-7.93e-02,+8.01e-01,+8.05e-01 1 - 106 22 -2.67e+00,-6.61e-01,+2.62e+01,+2.63e+01 1 -GenVertex: -25 ID: 0 (X,cT):0 - I: 1 43 223 +7.31e-01,-2.42e-01,+2.97e+01,+2.97e+01 2 -25 - O: 3 107 -211 +1.76e-02,+3.37e-02,+3.20e+00,+3.21e+00 1 - 108 211 +3.94e-01,+9.73e-02,+1.40e+01,+1.40e+01 1 - 109 111 +3.20e-01,-3.73e-01,+1.25e+01,+1.25e+01 2 -58 -GenVertex: -26 ID: 0 (X,cT):0 - I: 1 44 -213 +6.83e-02,+2.16e-01,+2.67e+01,+2.67e+01 2 -26 - O: 2 110 -211 -8.41e-02,-1.88e-01,+1.75e+01,+1.75e+01 1 - 111 111 +1.52e-01,+4.04e-01,+9.17e+00,+9.18e+00 2 -59 -GenVertex: -27 ID: 0 (X,cT):0 - I: 1 46 223 +1.18e+00,+7.67e-03,+1.59e+02,+1.59e+02 2 -27 - O: 3 112 -211 +4.71e-01,+6.85e-02,+4.92e+01,+4.92e+01 1 - 113 211 +5.97e-01,-1.23e-01,+1.01e+02,+1.01e+02 1 - 114 111 +1.09e-01,+6.20e-02,+9.26e+00,+9.26e+00 2 -60 -GenVertex: -28 ID: 0 (X,cT):0 - I: 1 47 -213 +4.18e-01,+2.70e-01,+5.63e+01,+5.63e+01 2 -28 - O: 2 115 -211 +4.07e-02,+6.55e-03,+6.59e+00,+6.59e+00 1 - 116 111 +3.77e-01,+2.64e-01,+4.98e+01,+4.98e+01 2 -61 -Vertex: -29 ID: 0 (X,cT)=+3.69e-04,+8.53e-05,+3.95e-02,+3.95e-02 - I: 1 48 111 +1.44e+00,+3.32e-01,+1.54e+02,+1.54e+02 2 -29 - O: 2 117 22 +4.72e-01,+4.59e-02,+5.06e+01,+5.06e+01 1 - 118 22 +9.67e-01,+2.86e-01,+1.03e+02,+1.03e+02 1 -GenVertex: -30 ID: 0 (X,cT):0 - I: 1 50 113 +1.57e+00,+2.83e+00,-6.11e+01,+6.12e+01 2 -30 - O: 2 119 -211 +9.16e-01,+2.13e+00,-4.37e+01,+4.38e+01 1 - 120 211 +6.49e-01,+7.08e-01,-1.74e+01,+1.75e+01 1 -GenVertex: -31 ID: 0 (X,cT):0 - I: 1 55 113 -3.60e-01,-1.69e-01,+8.62e+02,+8.62e+02 2 -31 - O: 2 121 211 -1.07e-01,+4.26e-02,+1.56e+02,+1.56e+02 1 - 122 -211 -2.53e-01,-2.12e-01,+7.07e+02,+7.07e+02 1 -GenVertex: -32 ID: 0 (X,cT):0 - I: 1 56 -2214 +1.03e+00,+9.30e-02,+4.53e+02,+4.53e+02 2 -32 - O: 2 123 -2212 +4.99e-01,+1.49e-01,+3.29e+02,+3.29e+02 1 - 124 111 +5.28e-01,-5.58e-02,+1.24e+02,+1.24e+02 2 -62 -GenVertex: -33 ID: 0 (X,cT):0 - I: 1 57 223 -3.60e-01,+4.04e-01,+1.25e+02,+1.25e+02 2 -33 - O: 3 125 211 -1.22e-01,+3.51e-01,+3.18e+01,+3.18e+01 1 - 126 -211 -2.21e-01,+7.11e-02,+8.21e+01,+8.21e+01 1 - 127 111 -1.66e-02,-1.80e-02,+1.09e+01,+1.09e+01 2 -63 -GenVertex: -34 ID: 0 (X,cT):0 - I: 1 59 -213 +5.56e-01,+3.45e-01,+9.14e+01,+9.14e+01 2 -34 - O: 2 128 -211 +3.11e-01,+3.56e-01,+3.44e+01,+3.44e+01 1 - 129 111 +2.45e-01,-1.18e-02,+5.70e+01,+5.70e+01 2 -64 -GenVertex: -35 ID: 0 (X,cT):0 - I: 1 60 -311 +6.88e-02,-2.98e-02,+3.77e+01,+3.77e+01 2 -35 - O: 1 130 310 +6.88e-02,-2.98e-02,+3.77e+01,+3.77e+01 2 -65 -GenVertex: -36 ID: 0 (X,cT):0 - I: 1 61 311 +5.59e-01,-2.32e-01,+5.88e+01,+5.88e+01 2 -36 - O: 1 131 130 +5.59e-01,-2.32e-01,+5.88e+01,+5.88e+01 1 -GenVertex: -37 ID: 0 (X,cT):0 - I: 1 63 113 -1.65e-02,-7.81e-02,+4.91e+00,+4.95e+00 2 -37 - O: 2 132 211 +1.08e-01,-5.14e-02,+4.37e+00,+4.38e+00 1 - 133 -211 -1.25e-01,-2.68e-02,+5.37e-01,+5.69e-01 1 -GenVertex: -38 ID: 0 (X,cT):0 - I: 1 65 213 +4.72e-01,-4.39e-01,+1.44e+01,+1.44e+01 2 -38 - O: 2 134 211 +1.82e-01,-5.33e-01,+1.18e+01,+1.18e+01 1 - 135 111 +2.91e-01,+9.43e-02,+2.56e+00,+2.58e+00 2 -66 -GenVertex: -39 ID: 0 (X,cT):0 - I: 1 66 -213 -3.00e-01,-3.82e-01,+1.62e+01,+1.63e+01 2 -39 - O: 2 136 -211 -4.94e-01,-2.13e-01,+6.74e+00,+6.77e+00 1 - 137 111 +1.93e-01,-1.69e-01,+9.48e+00,+9.49e+00 2 -67 -GenVertex: -40 ID: 0 (X,cT):0 - I: 1 69 -311 -2.66e-01,-2.65e+00,+2.07e+01,+2.08e+01 2 -40 - O: 1 138 130 -2.66e-01,-2.65e+00,+2.07e+01,+2.08e+01 1 -GenVertex: -41 ID: 0 (X,cT):0 - I: 1 70 323 +1.09e-01,-8.86e-01,+4.66e+00,+4.83e+00 2 -41 - O: 2 139 311 -4.56e-02,-1.94e-01,+1.85e+00,+1.93e+00 2 -68 - 140 211 +1.54e-01,-6.92e-01,+2.81e+00,+2.90e+00 1 -GenVertex: -42 ID: 0 (X,cT):0 - I: 1 71 113 -4.98e-01,-2.28e-01,+1.70e+00,+1.96e+00 2 -42 - O: 2 141 211 +7.24e-02,-1.33e-01,+6.29e-02,+2.15e-01 1 - 142 -211 -5.70e-01,-9.51e-02,+1.64e+00,+1.75e+00 1 -GenVertex: -43 ID: 0 (X,cT):0 - I: 1 72 -323 -2.90e-01,-2.30e-01,+6.43e-01,+1.16e+00 2 -43 - O: 2 143 -311 -1.02e-01,-3.76e-01,+2.53e-01,+6.81e-01 2 -69 - 144 -211 -1.88e-01,+1.45e-01,+3.90e-01,+4.77e-01 1 -GenVertex: -44 ID: 0 (X,cT):0 - I: 1 73 311 +7.90e-02,-3.23e-02,-8.47e-01,+9.86e-01 2 -44 - O: 1 145 310 +7.90e-02,-3.23e-02,-8.47e-01,+9.86e-01 2 -70 -GenVertex: -45 ID: 0 (X,cT):0 - I: 1 74 113 +1.28e-01,+1.79e-01,-7.07e-01,+1.09e+00 2 -45 - O: 2 146 -211 -7.31e-02,+3.05e-01,-7.33e-01,+8.10e-01 1 - 147 211 +2.01e-01,-1.27e-01,+2.56e-02,+2.77e-01 1 -GenVertex: -46 ID: 0 (X,cT):0 - I: 1 77 221 -1.58e-01,+9.23e-01,-1.12e+01,+1.12e+01 2 -46 - O: 3 148 -211 -1.37e-01,+2.12e-01,-2.48e+00,+2.50e+00 1 - 149 211 -6.29e-02,+5.66e-01,-6.65e+00,+6.68e+00 1 - 150 111 +4.20e-02,+1.44e-01,-2.05e+00,+2.06e+00 2 -71 -Vertex: -47 ID: 0 (X,cT)=+2.15e-05,+2.11e-05,-7.77e-05,+8.40e-05 - I: 1 79 111 +2.87e-01,+2.82e-01,-1.04e+00,+1.12e+00 2 -47 - O: 2 151 22 +1.31e-01,+1.64e-01,-6.99e-01,+7.30e-01 1 - 152 22 +1.57e-01,+1.18e-01,-3.38e-01,+3.91e-01 1 -GenVertex: -48 ID: 0 (X,cT):0 - I: 1 80 223 +4.06e-01,-2.45e-01,-3.51e+01,+3.51e+01 2 -48 - O: 2 153 -211 -6.79e-02,+2.16e-01,-6.21e+00,+6.22e+00 1 - 154 211 +4.74e-01,-4.61e-01,-2.89e+01,+2.89e+01 1 -GenVertex: -49 ID: 0 (X,cT):0 - I: 1 82 323 +1.26e-01,-3.07e-01,-1.50e+03,+1.50e+03 2 -49 - O: 2 155 321 +2.70e-01,-1.79e-01,-6.57e+02,+6.57e+02 1 - 156 111 -1.45e-01,-1.29e-01,-8.42e+02,+8.42e+02 2 -72 -GenVertex: -50 ID: 0 (X,cT):0 - I: 1 84 311 -9.36e-02,-1.11e-01,-5.09e+02,+5.09e+02 2 -50 - O: 1 157 130 -9.36e-02,-1.11e-01,-5.09e+02,+5.09e+02 1 -GenVertex: -51 ID: 0 (X,cT):0 - I: 1 88 -213 +2.00e-01,-1.11e-01,-1.66e+00,+1.83e+00 2 -51 - O: 2 158 -211 -1.33e-01,-2.94e-01,-9.51e-01,+1.01e+00 1 - 159 111 +3.33e-01,+1.83e-01,-7.05e-01,+8.13e-01 2 -73 -GenVertex: -52 ID: 0 (X,cT):0 - I: 1 89 -313 -6.26e-01,+1.37e+00,-1.29e+01,+1.30e+01 2 -52 - O: 2 160 -311 -2.82e-02,+5.68e-01,-5.71e+00,+5.76e+00 2 -74 - 161 111 -5.98e-01,+7.99e-01,-7.16e+00,+7.23e+00 2 -75 -Vertex: -53 ID: 0 (X,cT)=+6.33e-07,+1.04e-06,+2.79e-04,+2.79e-04 - I: 1 99 111 +1.27e-02,+2.08e-02,+5.61e+00,+5.61e+00 2 -53 - O: 2 162 22 +5.81e-02,+5.34e-02,+3.78e+00,+3.78e+00 1 - 163 22 -4.54e-02,-3.26e-02,+1.83e+00,+1.83e+00 1 -Vertex: -54 ID: 0 (X,cT)=+3.79e-06,-3.71e-05,+5.03e-04,+5.05e-04 - I: 1 100 111 +2.02e-02,-1.98e-01,+2.68e+00,+2.69e+00 2 -54 - O: 2 164 22 +2.39e-02,-9.50e-02,+2.06e+00,+2.06e+00 1 - 165 22 -3.65e-03,-1.03e-01,+6.27e-01,+6.35e-01 1 -Vertex: -55 ID: 0 (X,cT)=-2.82e-05,-4.46e-05,+8.64e-04,+8.66e-04 - I: 1 101 111 -1.94e-01,-3.08e-01,+5.97e+00,+5.98e+00 2 -55 - O: 2 166 22 -2.13e-01,-2.53e-01,+5.08e+00,+5.10e+00 1 - 167 22 +1.82e-02,-5.48e-02,+8.85e-01,+8.87e-01 1 -Vertex: -56 ID: 0 (X,cT)=-1.01e-04,-2.22e-04,+2.87e-03,+2.88e-03 - I: 1 102 111 -2.65e-01,-5.85e-01,+7.55e+00,+7.58e+00 2 -56 - O: 2 168 22 -2.34e-01,-3.64e-01,+4.90e+00,+4.92e+00 1 - 169 22 -3.04e-02,-2.21e-01,+2.65e+00,+2.66e+00 1 -Vertex: -57 ID: 0 (X,cT)=-2.73e-04,-3.09e-04,+2.81e-03,+2.84e-03 - I: 1 104 111 -1.24e+00,-1.40e+00,+1.27e+01,+1.29e+01 2 -57 - O: 2 170 22 -1.22e-02,-1.70e-02,+7.27e-02,+7.56e-02 1 - 171 22 -1.22e+00,-1.38e+00,+1.27e+01,+1.28e+01 1 -Vertex: -58 ID: 0 (X,cT)=+7.51e-05,-8.77e-05,+2.93e-03,+2.94e-03 - I: 1 109 111 +3.20e-01,-3.73e-01,+1.25e+01,+1.25e+01 2 -58 - O: 2 172 22 +3.26e-01,-3.46e-01,+1.21e+01,+1.21e+01 1 - 173 22 -6.46e-03,-2.66e-02,+3.50e-01,+3.51e-01 1 -Vertex: -59 ID: 0 (X,cT)=+1.45e-06,+3.84e-06,+8.70e-05,+8.71e-05 - I: 1 111 111 +1.52e-01,+4.04e-01,+9.17e+00,+9.18e+00 2 -59 - O: 2 174 22 -2.15e-02,+1.49e-02,+4.86e-01,+4.86e-01 1 - 175 22 +1.74e-01,+3.89e-01,+8.68e+00,+8.69e+00 1 -Vertex: -60 ID: 0 (X,cT)=+1.34e-05,+7.65e-06,+1.14e-03,+1.14e-03 - I: 1 114 111 +1.09e-01,+6.20e-02,+9.26e+00,+9.26e+00 2 -60 - O: 2 176 22 -1.64e-02,+4.04e-02,+4.24e+00,+4.24e+00 1 - 177 22 +1.25e-01,+2.17e-02,+5.02e+00,+5.02e+00 1 -Vertex: -61 ID: 0 (X,cT)=+1.85e-05,+1.29e-05,+2.43e-03,+2.43e-03 - I: 1 116 111 +3.77e-01,+2.64e-01,+4.98e+01,+4.98e+01 2 -61 - O: 2 178 22 +1.08e-01,+2.89e-02,+7.90e+00,+7.91e+00 1 - 179 22 +2.70e-01,+2.35e-01,+4.19e+01,+4.19e+01 1 -Vertex: -62 ID: 0 (X,cT)=+5.58e-05,-5.89e-06,+1.31e-02,+1.31e-02 - I: 1 124 111 +5.28e-01,-5.58e-02,+1.24e+02,+1.24e+02 2 -62 - O: 2 180 22 +2.10e-01,+4.29e-02,+4.58e+01,+4.58e+01 1 - 181 22 +3.18e-01,-9.86e-02,+7.82e+01,+7.82e+01 1 -Vertex: -63 ID: 0 (X,cT)=-7.71e-06,-8.34e-06,+5.03e-03,+5.03e-03 - I: 1 127 111 -1.66e-02,-1.80e-02,+1.09e+01,+1.09e+01 2 -63 - O: 2 182 22 -6.61e-02,-4.57e-02,+6.07e+00,+6.07e+00 1 - 183 22 +4.94e-02,+2.77e-02,+4.78e+00,+4.78e+00 1 -Vertex: -64 ID: 0 (X,cT)=+1.66e-05,-7.99e-07,+3.86e-03,+3.86e-03 - I: 1 129 111 +2.45e-01,-1.18e-02,+5.70e+01,+5.70e+01 2 -64 - O: 2 184 22 +1.69e-01,+5.36e-02,+3.26e+01,+3.26e+01 1 - 185 22 +7.62e-02,-6.54e-02,+2.44e+01,+2.44e+01 1 -Vertex: -65 ID: 0 (X,cT)=+7.56e+00,-3.28e+00,+4.14e+03,+4.14e+03 - I: 1 130 310 +6.88e-02,-2.98e-02,+3.77e+01,+3.77e+01 2 -65 - O: 2 186 211 +1.58e-01,-6.43e-02,+3.22e+01,+3.22e+01 1 - 187 -211 -8.94e-02,+3.44e-02,+5.50e+00,+5.50e+00 1 -Vertex: -66 ID: 0 (X,cT)=+2.53e-06,+8.21e-07,+2.23e-05,+2.25e-05 - I: 1 135 111 +2.91e-01,+9.43e-02,+2.56e+00,+2.58e+00 2 -66 - O: 2 188 22 +1.27e-02,-2.62e-02,+3.17e-01,+3.18e-01 1 - 189 22 +2.78e-01,+1.20e-01,+2.24e+00,+2.26e+00 1 -Vertex: -67 ID: 0 (X,cT)=+1.37e-04,-1.19e-04,+6.70e-03,+6.70e-03 - I: 1 137 111 +1.93e-01,-1.69e-01,+9.48e+00,+9.49e+00 2 -67 - O: 2 190 22 +3.61e-04,+4.27e-04,-3.17e-04,+6.42e-04 1 - 191 22 +1.93e-01,-1.69e-01,+9.49e+00,+9.49e+00 1 -GenVertex: -68 ID: 0 (X,cT):0 - I: 1 139 311 -4.56e-02,-1.94e-01,+1.85e+00,+1.93e+00 2 -68 - O: 1 192 310 -4.56e-02,-1.94e-01,+1.85e+00,+1.93e+00 2 -76 -GenVertex: -69 ID: 0 (X,cT):0 - I: 1 143 -311 -1.02e-01,-3.76e-01,+2.53e-01,+6.81e-01 2 -69 - O: 1 193 310 -1.02e-01,-3.76e-01,+2.53e-01,+6.81e-01 2 -77 -Vertex: -70 ID: 0 (X,cT)=+5.44e+00,-2.22e+00,-5.83e+01,+6.79e+01 - I: 1 145 310 +7.90e-02,-3.23e-02,-8.47e-01,+9.86e-01 2 -70 - O: 2 194 211 +3.78e-02,+1.72e-01,-5.70e-01,+6.12e-01 1 - 195 -211 +4.12e-02,-2.04e-01,-2.77e-01,+3.74e-01 1 -Vertex: -71 ID: 0 (X,cT)=+8.77e-06,+3.01e-05,-4.27e-04,+4.30e-04 - I: 1 150 111 +4.20e-02,+1.44e-01,-2.05e+00,+2.06e+00 2 -71 - O: 2 196 22 +2.27e-02,+1.42e-01,-1.05e+00,+1.06e+00 1 - 197 22 +1.93e-02,+2.42e-03,-9.95e-01,+9.95e-01 1 -Vertex: -72 ID: 0 (X,cT)=-6.15e-05,-5.48e-05,-3.58e-01,+3.58e-01 - I: 1 156 111 -1.45e-01,-1.29e-01,-8.42e+02,+8.42e+02 2 -72 - O: 2 198 22 -1.62e-01,-1.30e-01,-6.73e+02,+6.73e+02 1 - 199 22 +1.77e-02,+1.35e-03,-1.69e+02,+1.69e+02 1 -Vertex: -73 ID: 0 (X,cT)=+1.59e-06,+8.76e-07,-3.37e-06,+3.89e-06 - I: 1 159 111 +3.33e-01,+1.83e-01,-7.05e-01,+8.13e-01 2 -73 - O: 2 200 22 +1.34e-01,+3.84e-02,-1.48e-01,+2.03e-01 1 - 201 22 +1.99e-01,+1.45e-01,-5.58e-01,+6.10e-01 1 -GenVertex: -74 ID: 0 (X,cT):0 - I: 1 160 -311 -2.82e-02,+5.68e-01,-5.71e+00,+5.76e+00 2 -74 - O: 1 202 310 -2.82e-02,+5.68e-01,-5.71e+00,+5.76e+00 2 -78 -Vertex: -75 ID: 0 (X,cT)=-2.71e-05,+3.62e-05,-3.25e-04,+3.28e-04 - I: 1 161 111 -5.98e-01,+7.99e-01,-7.16e+00,+7.23e+00 2 -75 - O: 2 203 22 -4.61e-01,+6.62e-01,-6.07e+00,+6.13e+00 1 - 204 22 -1.37e-01,+1.37e-01,-1.09e+00,+1.10e+00 1 -Vertex: -76 ID: 0 (X,cT)=-2.44e+00,-1.04e+01,+9.94e+01,+1.04e+02 - I: 1 192 310 -4.56e-02,-1.94e-01,+1.85e+00,+1.93e+00 2 -76 - O: 2 205 -211 -6.12e-02,+7.90e-02,+2.98e-01,+3.44e-01 1 - 206 211 +1.56e-02,-2.73e-01,+1.56e+00,+1.59e+00 1 -Vertex: -77 ID: 0 (X,cT)=-1.49e+01,-5.46e+01,+3.68e+01,+9.90e+01 - I: 1 193 310 -1.02e-01,-3.76e-01,+2.53e-01,+6.81e-01 2 -77 - O: 2 207 -211 -2.41e-01,-3.27e-01,+1.77e-01,+4.65e-01 1 - 208 211 +1.38e-01,-4.84e-02,+7.57e-02,+2.16e-01 1 -Vertex: -78 ID: 0 (X,cT)=-1.33e-01,+2.68e+00,-2.69e+01,+2.71e+01 - I: 1 202 310 -2.82e-02,+5.68e-01,-5.71e+00,+5.76e+00 2 -78 - O: 2 209 211 +5.42e-02,+4.89e-01,-5.04e+00,+5.07e+00 1 - 210 -211 -8.24e-02,+7.87e-02,-6.67e-01,+6.91e-01 1 -________________________________________________________________________________ +IO_AsciiParticles input is not yet implemented +HepMCInterface: no generated particles. run terminated... Stage 0->1 : 0 hits found in the muon chamber. ++++++++ event aborted >>> Event 0 @@ -573,1624 +390,3 @@ Stage 0->1 : 0 hits found in the muon chamber. 0 hits are stored in ExN04CalorimeterHitsCollection. Total energy deposition in calorimeter : 0 (GeV) 0 hits are stored in ExN04MuonHitsCollection. -________________________________________________________________________________ -GenEvent: #2 ID=20 SignalProcessGenVertex Barcode: 0 - Current Memory Usage: 1 events, 224 vertices, 624 particles. - Entries this event: 224 vertices, 624 particles. - RndmState(0)= - Wgts(0)= - EventScale -1 [energy] alphaQCD=-1 alphaQED=-1 - GenParticle Legend - Barcode PDG ID ( Px, Py, Pz, E ) Stat DecayVtx -________________________________________________________________________________ -GenVertex: -1 ID: 0 (X,cT):0 - I: 1 1 2212 +0.00e+00,+0.00e+00,+7.00e+03,+7.00e+03 3 -1 - O: 3 3 21 +2.24e-03,-3.47e-01,+8.58e+00,+8.58e+00 3 -3 - 13 1 -1.60e-01,+2.55e-01,+4.51e+02,+4.51e+02 2 -9 - 41 2203 +1.57e-01,+9.19e-02,+4.12e+03,+4.12e+03 2 -13 -GenVertex: -2 ID: 0 (X,cT):0 - I: 1 2 2212 +0.00e+00,+0.00e+00,-7.00e+03,+7.00e+03 3 -2 - O: 2 39 2203 -1.81e-01,+9.21e-01,-4.33e+03,+4.33e+03 2 -11 - 4 1 +1.81e-01,-9.21e-01,-1.91e+03,+1.91e+03 3 -4 -GenVertex: -3 ID: 0 (X,cT):0 - I: 1 3 21 +2.24e-03,-3.47e-01,+8.58e+00,+8.58e+00 3 -3 - O: 8 11 -4 +1.95e+00,-1.06e+00,-8.18e+00,+8.61e+00 2 -9 - 5 -2 -1.22e+01,+1.16e+00,-1.11e+01,+1.65e+01 3 -5 - 12 21 +1.85e+00,+6.48e+00,-3.61e+01,+3.67e+01 2 -9 - 14 4 +1.07e+01,-5.18e+00,-2.71e+01,+2.96e+01 2 -11 - 16 21 +3.32e-02,+9.61e-02,-6.60e-02,+1.21e-01 2 -11 - 17 21 -3.76e-02,-1.65e-01,-9.73e-01,+9.88e-01 2 -11 - 15 21 +3.52e-01,-6.45e-01,-1.11e+00,+1.33e+00 2 -11 - 40 2 -5.76e-01,-2.17e+00,+2.82e+00,+3.62e+00 2 -13 -GenVertex: -4 ID: 0 (X,cT):0 - I: 1 4 1 +1.81e-01,-9.21e-01,-1.91e+03,+1.91e+03 3 -4 - O:12 35 21 -3.17e+00,-1.74e+00,-8.38e+01,+8.39e+01 2 -11 - 36 21 -3.72e-01,-3.53e+00,-1.09e+02,+1.09e+02 2 -11 - 37 21 -3.12e-01,+2.46e-01,-7.86e+01,+7.86e+01 2 -11 - 38 21 +2.18e+00,-6.98e-01,-1.55e+02,+1.55e+02 2 -11 - 28 21 +8.30e-01,+1.28e+00,-3.84e+01,+3.84e+01 2 -11 - 6 1 -1.04e+01,-7.53e+00,-8.52e+02,+8.53e+02 3 -5 - 29 21 +1.45e+00,+3.41e+00,-3.48e+01,+3.50e+01 2 -11 - 30 21 +4.75e+00,+5.08e+00,-7.07e+01,+7.11e+01 2 -11 - 31 21 +7.05e+00,+5.30e+00,-7.09e+01,+7.14e+01 2 -11 - 32 21 +6.43e-05,-2.87e-01,-2.01e+00,+2.03e+00 2 -11 - 33 21 -2.01e+00,+1.84e-01,-1.00e+02,+1.00e+02 2 -11 - 34 21 -1.92e+00,-1.52e+00,-2.29e+02,+2.29e+02 2 -11 -GenVertex: -5 ID: 0 (X,cT):0 - I: 2 5 -2 -1.22e+01,+1.16e+00,-1.11e+01,+1.65e+01 3 -5 - 6 1 -1.04e+01,-7.53e+00,-8.52e+02,+8.53e+02 3 -5 - O: 2 7 22 -1.33e+01,-8.08e+00,-1.04e+02,+1.05e+02 3 -6 - 8 -24 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 3 -7 -GenVertex: -6 ID: 0 (X,cT):0 - I: 1 7 22 -1.33e+01,-8.08e+00,-1.04e+02,+1.05e+02 3 -6 - O: 1 9 22 -1.33e+01,-8.08e+00,-1.04e+02,+1.05e+02 1 -GenVertex: -7 ID: 0 (X,cT):0 - I: 1 8 -24 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 3 -7 - O: 1 10 -24 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 2 -8 -GenVertex: -8 ID: 0 (X,cT):0 - I: 1 10 -24 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 2 -8 - O: 6 42 -4 -3.64e+01,+2.35e+01,-3.49e+02,+3.52e+02 2 -15 - 43 21 -1.27e+00,-7.35e-02,-1.13e+01,+1.14e+01 2 -15 - 44 21 -4.16e-02,-2.47e-01,-1.97e+00,+1.98e+00 2 -15 - 45 21 +9.29e-01,-5.25e-01,-8.27e+00,+8.34e+00 2 -15 - 46 21 +2.59e+00,-1.54e+00,-4.01e+01,+4.02e+01 2 -15 - 47 3 +2.49e+01,-1.94e+01,-3.48e+02,+3.50e+02 2 -15 -GenVertex: -9 ID: 0 (X,cT):0 - I: 3 11 -4 +1.95e+00,-1.06e+00,-8.18e+00,+8.61e+00 2 -9 - 13 1 -1.60e-01,+2.55e-01,+4.51e+02,+4.51e+02 2 -9 - 12 21 +1.85e+00,+6.48e+00,-3.61e+01,+3.67e+01 2 -9 - O: 1 52 92 +3.65e+00,+5.68e+00,+4.07e+02,+4.96e+02 2 -10 -GenVertex: -10 ID: 0 (X,cT):0 - I: 1 52 92 +3.65e+00,+5.68e+00,+4.07e+02,+4.96e+02 2 -10 - O:17 64 -213 -3.57e-01,-2.47e-01,+4.39e+00,+4.44e+00 2 -32 - 67 113 -3.73e-01,+1.18e-02,+3.83e+01,+3.84e+01 2 -34 - 68 113 -9.06e-02,+1.63e-01,+1.67e+02,+1.67e+02 2 -35 - 54 -323 +5.03e-01,+1.51e+00,-6.41e+00,+6.67e+00 2 -22 - 53 -423 +1.80e+00,-7.41e-01,-9.90e+00,+1.03e+01 2 -21 - 55 313 +6.48e-01,+1.70e+00,-1.25e+01,+1.27e+01 2 -23 - 56 113 +3.14e-01,+1.06e+00,-3.82e+00,+4.04e+00 2 -24 - 57 223 +8.27e-03,+4.69e-01,-5.55e+00,+5.62e+00 2 -25 - 58 213 +1.90e-01,+8.19e-01,-3.63e+00,+3.80e+00 2 -26 - 59 223 +4.76e-01,+3.30e-01,-1.30e+00,+1.62e+00 2 -27 - 60 -323 -1.01e-01,+5.65e-03,+1.73e-01,+8.22e-01 2 -28 - 61 313 -7.71e-02,+3.71e-01,+6.58e-01,+1.14e+00 2 -29 - 62 213 -3.58e-01,-1.85e-01,+2.02e-01,+7.59e-01 2 -30 - 63 221 +5.37e-01,+2.24e-01,+7.68e+00,+7.72e+00 2 -31 - 65 211 -9.70e-03,-2.00e-01,+9.73e-01,+1.00e+00 1 - 66 -213 +3.60e-01,-1.91e-02,+2.45e+01,+2.45e+01 2 -33 - 69 221 +1.73e-01,+4.07e-01,+2.06e+02,+2.06e+02 2 -36 -GenVertex: -11 ID: 0 (X,cT):0 - I:26 35 21 -3.17e+00,-1.74e+00,-8.38e+01,+8.39e+01 2 -11 - 36 21 -3.72e-01,-3.53e+00,-1.09e+02,+1.09e+02 2 -11 - 37 21 -3.12e-01,+2.46e-01,-7.86e+01,+7.86e+01 2 -11 - 38 21 +2.18e+00,-6.98e-01,-1.55e+02,+1.55e+02 2 -11 - 39 2203 -1.81e-01,+9.21e-01,-4.33e+03,+4.33e+03 2 -11 - 14 4 +1.07e+01,-5.18e+00,-2.71e+01,+2.96e+01 2 -11 - 28 21 +8.30e-01,+1.28e+00,-3.84e+01,+3.84e+01 2 -11 - 16 21 +3.32e-02,+9.61e-02,-6.60e-02,+1.21e-01 2 -11 - 17 21 -3.76e-02,-1.65e-01,-9.73e-01,+9.88e-01 2 -11 - 15 21 +3.52e-01,-6.45e-01,-1.11e+00,+1.33e+00 2 -11 - 23 21 -1.76e+00,-3.29e+00,+9.66e+00,+1.04e+01 2 -11 - 29 21 +1.45e+00,+3.41e+00,-3.48e+01,+3.50e+01 2 -11 - 30 21 +4.75e+00,+5.08e+00,-7.07e+01,+7.11e+01 2 -11 - 31 21 +7.05e+00,+5.30e+00,-7.09e+01,+7.14e+01 2 -11 - 32 21 +6.43e-05,-2.87e-01,-2.01e+00,+2.03e+00 2 -11 - 33 21 -2.01e+00,+1.84e-01,-1.00e+02,+1.00e+02 2 -11 - 34 21 -1.92e+00,-1.52e+00,-2.29e+02,+2.29e+02 2 -11 - 24 21 -4.37e+00,-6.72e+00,+8.76e-01,+8.07e+00 2 -11 - 25 21 -2.35e+00,-1.77e+00,-4.88e+00,+5.70e+00 2 -11 - 26 21 +1.76e+00,+3.29e+00,-4.65e+00,+5.96e+00 2 -11 - 27 21 +2.35e+00,+1.77e+00,-7.28e+02,+7.28e+02 2 -11 - 19 21 -3.91e+00,+3.13e+00,+7.89e+02,+7.89e+02 2 -11 - 20 21 +3.89e+00,+1.90e+00,+1.42e+03,+1.42e+03 2 -11 - 21 21 +4.37e+00,+6.72e+00,+8.31e+01,+8.35e+01 2 -11 - 22 21 +3.91e+00,-3.13e+00,+3.66e+01,+3.69e+01 2 -11 - 18 21 -3.89e+00,-1.90e+00,+4.34e+01,+4.36e+01 2 -11 - O: 1 70 92 +1.93e+01,+2.76e+00,-3.69e+03,+8.47e+03 2 -12 -GenVertex: -12 ID: 0 (X,cT):0 - I: 1 70 92 +1.93e+01,+2.76e+00,-3.69e+03,+8.47e+03 2 -12 - O:90 75 111 -2.29e-01,-5.45e-02,-1.11e+00,+1.15e+00 2 -41 - 77 -211 +2.15e-01,+4.10e-01,+1.16e-01,+4.98e-01 1 - 80 311 -1.08e-01,-3.01e-02,+1.70e+00,+1.77e+00 2 -43 - 96 113 +1.17e+00,-6.49e-01,+1.09e+02,+1.09e+02 2 -56 - 98 221 +4.22e-01,+3.30e-01,+8.56e+00,+8.60e+00 2 -58 - 101 331 +1.59e+00,+2.22e+00,+3.03e+01,+3.04e+01 2 -61 - 106 333 +8.72e-02,-2.03e+00,+7.62e+00,+7.95e+00 2 -64 - 109 213 -7.23e-01,-7.70e-01,+6.13e-01,+1.63e+00 2 -67 - 120 -321 +1.03e-01,-1.31e-01,-8.45e-01,+9.93e-01 1 - 123 223 +1.59e-01,-2.33e-01,-7.42e+00,+7.46e+00 2 -75 - 157 211 +7.13e-01,-3.28e-01,-1.35e+02,+1.35e+02 1 - 158 113 -8.56e-01,+4.51e-01,-3.86e+02,+3.86e+02 2 -101 - 159 -211 +8.50e-01,-2.44e-01,-2.40e+03,+2.40e+03 1 - 160 2224 -1.90e-03,+7.51e-01,-1.39e+03,+1.39e+03 2 -102 - 71 423 +6.74e+00,-3.13e+00,-1.81e+01,+1.96e+01 2 -37 - 72 213 +1.08e+00,-6.60e-01,-2.31e+00,+2.70e+00 2 -38 - 73 331 +8.84e-01,-9.17e-01,-1.33e+00,+2.07e+00 2 -39 - 74 -213 +1.67e+00,-6.02e-01,-4.33e+00,+4.71e+00 2 -40 - 132 223 +3.02e-01,+2.43e-01,-3.21e+01,+3.21e+01 2 -81 - 76 211 +1.91e-01,-3.77e-01,+3.30e-01,+5.54e-01 1 - 78 211 +1.18e-01,-7.30e-01,-1.31e+00,+1.51e+00 1 - 79 3112 -1.25e-01,-5.92e-02,+4.02e+00,+4.19e+00 2 -42 - 81 -1114 -5.93e-01,-4.62e-01,+7.53e+00,+7.69e+00 2 -44 - 82 -211 -3.95e-01,+3.08e-01,+9.39e+00,+9.40e+00 1 - 83 211 -3.13e-01,-7.22e-01,+8.53e+00,+8.56e+00 1 - 137 111 +7.22e-01,+1.16e+00,-1.29e+01,+1.29e+01 2 -85 - 84 -213 -1.27e-01,-1.01e-01,+5.15e+00,+5.19e+00 2 -45 - 85 213 -1.20e+00,-1.22e-01,+2.34e+01,+2.35e+01 2 -46 - 86 223 -7.42e-02,+1.42e-01,+1.52e+01,+1.52e+01 2 -47 - 138 113 +1.21e+00,+1.68e+00,-1.89e+01,+1.90e+01 2 -86 - 87 -213 -9.01e-01,-6.04e-01,+2.49e+01,+2.49e+01 2 -48 - 141 213 +2.08e+00,+1.68e+00,-2.61e+01,+2.63e+01 2 -88 - 88 323 -3.96e-01,+4.77e-01,+8.35e+01,+8.35e+01 2 -49 - 89 -313 -1.18e+00,+4.38e-01,+2.34e+02,+2.34e+02 2 -50 - 90 111 -2.10e-02,+1.47e-01,+2.20e+01,+2.20e+01 2 -51 - 91 -213 -1.47e+00,+1.82e+00,+3.92e+02,+3.92e+02 2 -52 - 92 213 +1.75e+00,+1.50e+00,+6.91e+02,+6.91e+02 2 -53 - 93 -211 -8.94e-02,-3.08e-01,+1.41e+02,+1.41e+02 1 - 94 111 +7.06e-01,+3.83e-01,+1.68e+02,+1.68e+02 2 -54 - 95 223 +1.83e-01,+6.58e-01,+2.64e+02,+2.64e+02 2 -55 - 97 213 -3.59e-02,+9.92e-01,+3.73e+01,+3.74e+01 2 -57 - 99 -213 +9.75e-01,+2.54e+00,+3.20e+01,+3.22e+01 2 -59 - 100 111 +1.28e+00,+5.91e-01,+1.83e+01,+1.84e+01 2 -60 - 148 211 -1.19e+00,-2.34e-01,-3.93e+01,+3.93e+01 1 - 149 311 -1.41e+00,-2.18e+00,-7.90e+01,+7.90e+01 2 -94 - 102 213 +1.77e+00,-1.58e+00,+1.71e+01,+1.73e+01 2 -62 - 103 -211 -1.88e-01,-1.28e-01,+3.87e+00,+3.88e+00 1 - 104 211 +6.95e-01,-7.43e-02,+2.83e+00,+2.91e+00 1 - 105 311 +6.37e-01,-2.90e-01,+6.13e+00,+6.19e+00 2 -63 - 107 -323 -1.98e-01,-1.55e-01,+2.64e+00,+2.79e+00 2 -65 - 108 113 -1.10e+00,-1.90e+00,+5.32e+00,+5.81e+00 2 -66 - 110 -211 -4.35e-01,-8.15e-01,+1.78e-01,+9.51e-01 1 - 111 213 -5.97e-01,-1.22e+00,+2.67e-01,+1.55e+00 2 -68 - 112 -211 -1.43e+00,-1.65e+00,+4.83e-01,+2.24e+00 1 - 113 111 +4.36e-02,-2.43e-01,+6.27e-02,+2.89e-01 2 -69 - 114 213 -1.15e+00,-1.72e+00,-2.01e+00,+2.97e+00 2 -70 - 115 -213 -9.95e-01,-3.87e-01,-1.11e+00,+1.63e+00 2 -71 - 116 321 +3.64e-01,+4.39e-01,+9.92e-02,+7.61e-01 1 - 117 -321 -1.27e-01,-1.02e+00,-1.45e+00,+1.85e+00 1 - 118 211 -2.01e-01,+3.58e-01,-1.79e+00,+1.84e+00 1 - 119 311 -2.88e-01,+7.23e-01,-1.33e+00,+1.62e+00 2 -72 - 121 113 -2.01e-02,+9.67e-01,-2.76e+00,+3.05e+00 2 -73 - 122 213 +6.99e-01,+4.88e-01,-2.14e+00,+2.37e+00 2 -74 - 124 223 -3.07e-01,+5.68e-01,-1.77e+01,+1.77e+01 2 -76 - 125 1114 +7.70e-01,-3.47e-01,-1.94e+02,+1.94e+02 2 -77 - 126 111 +6.52e-01,+1.56e+00,-1.11e+02,+1.11e+02 2 -78 - 127 -2112 +1.08e-01,+9.33e-02,-7.63e+01,+7.63e+01 1 - 128 211 +3.93e-01,-4.83e-01,-5.97e+01,+5.97e+01 1 - 129 -211 -4.91e-02,+3.02e-01,-5.27e+01,+5.27e+01 1 - 130 113 +7.74e-01,+8.64e-01,-8.89e+01,+8.89e+01 2 -79 - 131 223 +1.70e-02,+2.83e-01,-9.69e+01,+9.69e+01 2 -80 - 133 221 +6.52e-01,-1.30e-02,-7.49e+00,+7.53e+00 2 -82 - 134 213 +1.25e+00,+2.45e+00,-3.91e+01,+3.93e+01 2 -83 - 135 221 +8.86e-01,+9.16e-01,-1.24e+01,+1.25e+01 2 -84 - 136 -211 +1.82e+00,+1.89e+00,-2.77e+01,+2.78e+01 1 - 154 311 +4.13e-01,+1.80e-01,-8.91e+01,+8.91e+01 2 -99 - 139 211 +1.12e+00,+5.04e-01,-1.16e+01,+1.17e+01 1 - 140 -213 +4.58e-01,+1.15e+00,-1.84e+01,+1.85e+01 2 -87 - 142 313 +1.78e+00,+1.24e+00,-2.26e+01,+2.27e+01 2 -89 - 143 -313 +1.42e+00,+6.47e-01,-1.81e+01,+1.82e+01 2 -90 - 144 2112 -1.12e+00,+5.37e-01,-5.10e+01,+5.10e+01 1 - 145 -213 -5.75e-01,-4.78e-01,-9.45e+01,+9.45e+01 2 -91 - 146 -1114 -8.04e-01,-7.43e-01,-3.40e+01,+3.40e+01 2 -92 - 147 -213 -1.80e-01,+6.29e-02,-4.32e+01,+4.32e+01 2 -93 - 150 -323 -3.04e-01,-3.92e-01,-7.88e+01,+7.88e+01 2 -95 - 151 213 -1.80e+00,-1.21e+00,-8.93e+01,+8.94e+01 2 -96 - 152 113 +4.91e-01,-9.72e-01,-5.04e+01,+5.05e+01 2 -97 - 153 221 +2.67e-01,-2.61e-01,-2.16e+01,+2.16e+01 2 -98 - 155 -321 +3.69e-01,-3.68e-01,-5.25e+01,+5.25e+01 1 - 156 221 -4.10e-01,-2.74e-01,-4.88e+01,+4.88e+01 2 -100 -GenVertex: -13 ID: 0 (X,cT):0 - I: 2 41 2203 +1.57e-01,+9.19e-02,+4.12e+03,+4.12e+03 2 -13 - 40 2 -5.76e-01,-2.17e+00,+2.82e+00,+3.62e+00 2 -13 - O: 1 161 92 -4.19e-01,-2.08e+00,+4.13e+03,+4.13e+03 2 -14 -GenVertex: -14 ID: 0 (X,cT):0 - I: 1 161 92 -4.19e-01,-2.08e+00,+4.13e+03,+4.13e+03 2 -14 - O:14 164 -213 -7.67e-02,-1.58e-01,+2.83e+00,+2.94e+00 2 -104 - 165 113 -3.96e-01,-2.46e-01,+7.66e+00,+7.72e+00 2 -105 - 166 223 +8.97e-02,-2.51e-02,+1.83e+01,+1.83e+01 2 -106 - 167 331 +7.92e-02,-2.14e-01,+1.65e+01,+1.65e+01 2 -107 - 168 211 +1.55e-01,-4.55e-02,+2.09e+01,+2.09e+01 1 - 169 113 -9.07e-02,+1.70e-01,+7.69e+00,+7.71e+00 2 -108 - 170 -211 +1.96e-02,-3.42e-02,+4.36e+00,+4.36e+00 1 - 171 211 +1.50e-01,-7.36e-02,+6.14e+01,+6.14e+01 1 - 172 313 -9.79e-02,+5.68e-01,+7.20e+01,+7.20e+01 2 -109 - 173 -313 -1.30e-01,-7.96e-01,+2.37e+02,+2.37e+02 2 -110 - 174 2112 +5.28e-01,-1.88e-01,+1.06e+03,+1.06e+03 1 - 175 211 -3.22e-01,+5.25e-01,+2.61e+03,+2.61e+03 1 - 163 223 -1.35e-02,+1.05e-01,+2.90e+00,+3.01e+00 2 -103 - 162 211 -3.13e-01,-1.66e+00,+2.96e+00,+3.41e+00 1 -GenVertex: -15 ID: 0 (X,cT):0 - I: 6 42 -4 -3.64e+01,+2.35e+01,-3.49e+02,+3.52e+02 2 -15 - 43 21 -1.27e+00,-7.35e-02,-1.13e+01,+1.14e+01 2 -15 - 44 21 -4.16e-02,-2.47e-01,-1.97e+00,+1.98e+00 2 -15 - 45 21 +9.29e-01,-5.25e-01,-8.27e+00,+8.34e+00 2 -15 - 46 21 +2.59e+00,-1.54e+00,-4.01e+01,+4.02e+01 2 -15 - 47 3 +2.49e+01,-1.94e+01,-3.48e+02,+3.50e+02 2 -15 - O: 1 176 92 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 2 -16 -GenVertex: -16 ID: 0 (X,cT):0 - I: 1 176 92 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 2 -16 - O:10 177 -411 -2.64e+01,+1.68e+01,-2.54e+02,+2.56e+02 2 -111 - 178 -2112 -3.30e+00,+1.95e+00,-3.12e+01,+3.14e+01 1 - 179 2112 -3.69e+00,+2.38e+00,-3.47e+01,+3.50e+01 1 - 180 -313 -1.69e+00,+9.52e-01,-1.93e+01,+1.94e+01 2 -112 - 181 323 -1.07e+00,+1.14e+00,-1.19e+01,+1.20e+01 2 -113 - 182 -323 -1.04e+00,-2.43e-02,-1.56e+01,+1.57e+01 2 -114 - 183 321 +9.73e-01,-7.75e-01,-1.20e+01,+1.21e+01 1 - 184 113 +9.16e+00,-6.89e+00,-1.32e+02,+1.32e+02 2 -115 - 185 111 +1.57e+00,-1.44e+00,-2.40e+01,+2.41e+01 2 -116 - 186 -321 +1.62e+01,-1.24e+01,-2.25e+02,+2.26e+02 1 -GenVertex: -17 ID: 0 (X,cT):0 - I: 2 48 3 +2.68e+00,-2.13e+00,-4.93e+00,+6.00e+00 2 -17 - 49 -3 -2.68e+00,+2.13e+00,+2.54e+01,+2.56e+01 2 -17 - O: 1 187 92 +0.00e+00,+0.00e+00,+2.05e+01,+3.16e+01 2 -18 -GenVertex: -18 ID: 0 (X,cT):0 - I: 1 187 92 +0.00e+00,+0.00e+00,+2.05e+01,+3.16e+01 2 -18 - O:11 188 -321 +2.32e+00,-1.47e+00,-3.73e+00,+4.66e+00 1 - 189 213 -1.88e-01,-4.78e-01,-1.86e-02,+8.02e-01 2 -117 - 190 -211 +5.28e-01,-6.99e-02,+3.78e-01,+6.68e-01 1 - 191 213 -1.69e-01,+6.66e-02,+1.66e+00,+1.95e+00 2 -118 - 192 113 -7.42e-01,+4.97e-01,+2.71e+00,+2.94e+00 2 -119 - 193 -213 +2.70e-02,+3.31e-01,+2.97e-01,+7.93e-01 2 -120 - 194 211 -6.87e-03,-3.65e-01,+8.22e-01,+9.10e-01 1 - 195 113 -1.79e-01,+4.58e-01,+4.36e+00,+4.46e+00 2 -121 - 196 -213 -8.75e-02,+1.16e-01,+1.21e+00,+1.46e+00 2 -122 - 197 323 -7.63e-01,+6.20e-01,+7.15e+00,+7.28e+00 2 -123 - 198 221 -7.36e-01,+2.91e-01,+5.63e+00,+5.72e+00 2 -124 -GenVertex: -19 ID: 0 (X,cT):0 - I: 2 51 21 -1.28e+00,+2.63e+00,+2.15e+00,+3.63e+00 2 -19 - 50 21 +1.28e+00,-2.63e+00,+9.77e-01,+3.09e+00 2 -19 - O: 1 199 92 +0.00e+00,+0.00e+00,+3.12e+00,+6.71e+00 2 -20 -GenVertex: -20 ID: 0 (X,cT):0 - I: 1 199 92 +0.00e+00,+0.00e+00,+3.12e+00,+6.71e+00 2 -20 - O: 5 200 213 +4.69e-02,-1.77e-01,-3.64e-01,+1.10e+00 2 -125 - 201 111 +3.73e-01,-3.78e-02,+1.18e+00,+1.24e+00 2 -126 - 202 -213 -7.72e-01,+1.13e+00,+1.14e+00,+1.96e+00 2 -127 - 203 223 +4.07e-01,-5.29e-01,+1.12e-01,+1.04e+00 2 -128 - 204 223 -5.49e-02,-3.91e-01,+1.06e+00,+1.37e+00 2 -129 -GenVertex: -21 ID: 0 (X,cT):0 - I: 1 53 -423 +1.80e+00,-7.41e-01,-9.90e+00,+1.03e+01 2 -21 - O: 2 205 -421 +1.62e+00,-6.80e-01,-9.14e+00,+9.49e+00 2 -130 - 206 111 +1.80e-01,-6.13e-02,-7.60e-01,+7.95e-01 2 -131 -GenVertex: -22 ID: 0 (X,cT):0 - I: 1 54 -323 +5.03e-01,+1.51e+00,-6.41e+00,+6.67e+00 2 -22 - O: 2 207 -311 +3.84e-01,+6.75e-01,-2.32e+00,+2.49e+00 2 -132 - 208 -211 +1.19e-01,+8.35e-01,-4.09e+00,+4.18e+00 1 -GenVertex: -23 ID: 0 (X,cT):0 - I: 1 55 313 +6.48e-01,+1.70e+00,-1.25e+01,+1.27e+01 2 -23 - O: 2 209 311 +4.92e-01,+1.67e+00,-1.03e+01,+1.05e+01 2 -133 - 210 111 +1.56e-01,+3.28e-02,-2.20e+00,+2.21e+00 2 -134 -GenVertex: -24 ID: 0 (X,cT):0 - I: 1 56 113 +3.14e-01,+1.06e+00,-3.82e+00,+4.04e+00 2 -24 - O: 2 211 -211 +2.07e-01,-7.41e-03,-8.44e-01,+8.80e-01 1 - 212 211 +1.07e-01,+1.07e+00,-2.97e+00,+3.16e+00 1 -GenVertex: -25 ID: 0 (X,cT):0 - I: 1 57 223 +8.27e-03,+4.69e-01,-5.55e+00,+5.62e+00 2 -25 - O: 3 213 211 +1.65e-01,+9.37e-02,-1.12e+00,+1.14e+00 1 - 214 -211 -3.30e-02,+9.79e-02,-3.21e+00,+3.22e+00 1 - 215 111 -1.24e-01,+2.78e-01,-1.22e+00,+1.26e+00 2 -135 -GenVertex: -26 ID: 0 (X,cT):0 - I: 1 58 213 +1.90e-01,+8.19e-01,-3.63e+00,+3.80e+00 2 -26 - O: 2 216 211 +2.62e-01,+8.26e-01,-2.45e+00,+2.61e+00 1 - 217 111 -7.15e-02,-6.31e-03,-1.18e+00,+1.19e+00 2 -136 -GenVertex: -27 ID: 0 (X,cT):0 - I: 1 59 223 +4.76e-01,+3.30e-01,-1.30e+00,+1.62e+00 2 -27 - O: 3 218 -211 +1.28e-01,-6.04e-02,-2.75e-01,+3.39e-01 1 - 219 211 +2.00e-01,+3.04e-01,-9.82e-01,+1.06e+00 1 - 220 111 +1.49e-01,+8.68e-02,-4.65e-02,+2.24e-01 2 -137 -GenVertex: -28 ID: 0 (X,cT):0 - I: 1 60 -323 -1.01e-01,+5.65e-03,+1.73e-01,+8.22e-01 2 -28 - O: 2 222 -211 -1.84e-02,-1.34e-01,-1.14e-01,+2.25e-01 1 - 221 -311 -8.28e-02,+1.40e-01,+2.87e-01,+5.97e-01 2 -138 -GenVertex: -29 ID: 0 (X,cT):0 - I: 1 61 313 -7.71e-02,+3.71e-01,+6.58e-01,+1.14e+00 2 -29 - O: 2 223 321 -1.86e-02,+1.84e-02,+1.85e-01,+5.28e-01 1 - 224 -211 -5.85e-02,+3.52e-01,+4.73e-01,+6.09e-01 1 -GenVertex: -30 ID: 0 (X,cT):0 - I: 1 62 213 -3.58e-01,-1.85e-01,+2.02e-01,+7.59e-01 2 -30 - O: 2 225 211 +1.06e-01,-2.99e-02,+1.77e-01,+2.51e-01 1 - 226 111 -4.64e-01,-1.55e-01,+2.53e-02,+5.08e-01 2 -139 -GenVertex: -31 ID: 0 (X,cT):0 - I: 1 63 221 +5.37e-01,+2.24e-01,+7.68e+00,+7.72e+00 2 -31 - O: 3 229 211 +2.81e-01,+2.16e-01,+2.94e+00,+2.97e+00 1 - 227 22 +9.24e-02,+1.22e-01,+1.51e+00,+1.52e+00 1 - 228 -211 +1.64e-01,-1.14e-01,+3.22e+00,+3.23e+00 1 -GenVertex: -32 ID: 0 (X,cT):0 - I: 1 64 -213 -3.57e-01,-2.47e-01,+4.39e+00,+4.44e+00 2 -32 - O: 2 230 -211 -3.46e-01,-7.92e-02,+3.34e+00,+3.37e+00 1 - 231 111 -1.13e-02,-1.68e-01,+1.05e+00,+1.07e+00 2 -140 -GenVertex: -33 ID: 0 (X,cT):0 - I: 1 66 -213 +3.60e-01,-1.91e-02,+2.45e+01,+2.45e+01 2 -33 - O: 2 232 -211 +2.45e-01,+2.11e-01,+2.06e+01,+2.06e+01 1 - 233 111 +1.15e-01,-2.30e-01,+3.89e+00,+3.90e+00 2 -141 -GenVertex: -34 ID: 0 (X,cT):0 - I: 1 67 113 -3.73e-01,+1.18e-02,+3.83e+01,+3.84e+01 2 -34 - O: 2 234 -211 +1.07e-02,+2.95e-01,+1.86e+01,+1.86e+01 1 - 235 211 -3.83e-01,-2.83e-01,+1.98e+01,+1.98e+01 1 -GenVertex: -35 ID: 0 (X,cT):0 - I: 1 68 113 -9.06e-02,+1.63e-01,+1.67e+02,+1.67e+02 2 -35 - O: 2 236 211 -2.00e-02,-2.69e-01,+6.04e+01,+6.04e+01 1 - 237 -211 -7.06e-02,+4.32e-01,+1.07e+02,+1.07e+02 1 -GenVertex: -36 ID: 0 (X,cT):0 - I: 1 69 221 +1.73e-01,+4.07e-01,+2.06e+02,+2.06e+02 2 -36 - O: 3 238 211 +2.30e-02,+1.07e-01,+4.89e+01,+4.89e+01 1 - 239 -211 +1.52e-01,+2.49e-01,+1.36e+02,+1.36e+02 1 - 240 111 -1.84e-03,+5.13e-02,+2.10e+01,+2.10e+01 2 -142 -GenVertex: -37 ID: 0 (X,cT):0 - I: 1 71 423 +6.74e+00,-3.13e+00,-1.81e+01,+1.96e+01 2 -37 - O: 2 241 421 +6.24e+00,-2.87e+00,-1.68e+01,+1.82e+01 2 -143 - 242 111 +4.94e-01,-2.63e-01,-1.28e+00,+1.40e+00 2 -144 -GenVertex: -38 ID: 0 (X,cT):0 - I: 1 72 213 +1.08e+00,-6.60e-01,-2.31e+00,+2.70e+00 2 -38 - O: 2 243 211 +2.70e-01,-4.65e-01,-9.32e-01,+1.08e+00 1 - 244 111 +8.10e-01,-1.96e-01,-1.38e+00,+1.62e+00 2 -145 -GenVertex: -39 ID: 0 (X,cT):0 - I: 1 73 331 +8.84e-01,-9.17e-01,-1.33e+00,+2.07e+00 2 -39 - O: 3 245 211 +4.27e-01,-3.13e-01,-3.45e-01,+6.47e-01 1 - 246 -211 +6.70e-02,-6.53e-02,-1.12e-01,+2.02e-01 1 - 247 221 +3.89e-01,-5.39e-01,-8.71e-01,+1.22e+00 2 -146 -GenVertex: -40 ID: 0 (X,cT):0 - I: 1 74 -213 +1.67e+00,-6.02e-01,-4.33e+00,+4.71e+00 2 -40 - O: 2 248 -211 +8.95e-01,-3.43e-01,-1.67e+00,+1.93e+00 1 - 249 111 +7.72e-01,-2.59e-01,-2.66e+00,+2.78e+00 2 -147 -Vertex: -41 ID: 0 (X,cT)=-1.15e-05,-2.74e-06,-5.60e-05,+5.77e-05 - I: 1 75 111 -2.29e-01,-5.45e-02,-1.11e+00,+1.15e+00 2 -41 - O: 2 250 22 -1.87e-01,-7.34e-02,-6.48e-01,+6.78e-01 1 - 251 22 -4.27e-02,+1.89e-02,-4.65e-01,+4.68e-01 1 -Vertex: -42 ID: 0 (X,cT)=-9.58e+00,-4.54e+00,+3.08e+02,+3.22e+02 - I: 1 79 3112 -1.25e-01,-5.92e-02,+4.02e+00,+4.19e+00 2 -42 - O: 2 252 2112 +2.35e-02,-7.71e-02,+3.69e+00,+3.81e+00 1 - 253 -211 -1.48e-01,+1.79e-02,+3.30e-01,+3.88e-01 1 -GenVertex: -43 ID: 0 (X,cT):0 - I: 1 80 311 -1.08e-01,-3.01e-02,+1.70e+00,+1.77e+00 2 -43 - O: 1 254 310 -1.08e-01,-3.01e-02,+1.70e+00,+1.77e+00 2 -148 -GenVertex: -44 ID: 0 (X,cT):0 - I: 1 81 -1114 -5.93e-01,-4.62e-01,+7.53e+00,+7.69e+00 2 -44 - O: 2 255 -2112 -7.16e-01,-5.94e-01,+6.69e+00,+6.82e+00 1 - 256 211 +1.23e-01,+1.32e-01,+8.42e-01,+8.72e-01 1 -GenVertex: -45 ID: 0 (X,cT):0 - I: 1 84 -213 -1.27e-01,-1.01e-01,+5.15e+00,+5.19e+00 2 -45 - O: 2 257 -211 +1.09e-01,-2.00e-01,+3.92e+00,+3.93e+00 1 - 258 111 -2.36e-01,+9.89e-02,+1.22e+00,+1.25e+00 2 -149 -GenVertex: -46 ID: 0 (X,cT):0 - I: 1 85 213 -1.20e+00,-1.22e-01,+2.34e+01,+2.35e+01 2 -46 - O: 2 259 211 -9.25e-02,+6.68e-02,+1.06e+00,+1.07e+00 1 - 260 111 -1.11e+00,-1.89e-01,+2.24e+01,+2.24e+01 2 -150 -GenVertex: -47 ID: 0 (X,cT):0 - I: 1 86 223 -7.42e-02,+1.42e-01,+1.52e+01,+1.52e+01 2 -47 - O: 3 261 211 -8.80e-02,-1.85e-01,+7.90e+00,+7.90e+00 1 - 262 -211 -9.38e-02,+7.23e-02,+3.34e+00,+3.35e+00 1 - 263 111 +1.08e-01,+2.55e-01,+3.93e+00,+3.94e+00 2 -151 -GenVertex: -48 ID: 0 (X,cT):0 - I: 1 87 -213 -9.01e-01,-6.04e-01,+2.49e+01,+2.49e+01 2 -48 - O: 2 264 -211 -5.80e-01,-4.05e-01,+2.11e+01,+2.11e+01 1 - 265 111 -3.21e-01,-1.99e-01,+3.80e+00,+3.82e+00 2 -152 -GenVertex: -49 ID: 0 (X,cT):0 - I: 1 88 323 -3.96e-01,+4.77e-01,+8.35e+01,+8.35e+01 2 -49 - O: 2 266 321 -2.79e-01,+6.38e-01,+6.43e+01,+6.43e+01 1 - 267 111 -1.18e-01,-1.61e-01,+1.92e+01,+1.92e+01 2 -153 -GenVertex: -50 ID: 0 (X,cT):0 - I: 1 89 -313 -1.18e+00,+4.38e-01,+2.34e+02,+2.34e+02 2 -50 - O: 2 268 -321 -8.94e-01,+2.08e-02,+1.54e+02,+1.54e+02 1 - 269 211 -2.85e-01,+4.17e-01,+8.01e+01,+8.01e+01 1 -Vertex: -51 ID: 0 (X,cT)=-6.60e-06,+4.63e-05,+6.91e-03,+6.91e-03 - I: 1 90 111 -2.10e-02,+1.47e-01,+2.20e+01,+2.20e+01 2 -51 - O: 2 270 22 +3.30e-03,+1.38e-01,+2.13e+01,+2.13e+01 1 - 271 22 -2.43e-02,+9.55e-03,+7.24e-01,+7.25e-01 1 -GenVertex: -52 ID: 0 (X,cT):0 - I: 1 91 -213 -1.47e+00,+1.82e+00,+3.92e+02,+3.92e+02 2 -52 - O: 2 272 -211 -2.85e-01,+9.40e-01,+1.43e+02,+1.43e+02 1 - 273 111 -1.19e+00,+8.85e-01,+2.49e+02,+2.49e+02 2 -154 -GenVertex: -53 ID: 0 (X,cT):0 - I: 1 92 213 +1.75e+00,+1.50e+00,+6.91e+02,+6.91e+02 2 -53 - O: 2 274 211 +1.79e+00,+1.29e+00,+6.18e+02,+6.18e+02 1 - 275 111 -3.94e-02,+2.10e-01,+7.29e+01,+7.29e+01 2 -155 -Vertex: -54 ID: 0 (X,cT)=+1.07e-04,+5.79e-05,+2.54e-02,+2.54e-02 - I: 1 94 111 +7.06e-01,+3.83e-01,+1.68e+02,+1.68e+02 2 -54 - O: 2 276 22 +2.50e-01,+1.51e-01,+4.86e+01,+4.86e+01 1 - 277 22 +4.56e-01,+2.32e-01,+1.20e+02,+1.20e+02 1 -GenVertex: -55 ID: 0 (X,cT):0 - I: 1 95 223 +1.83e-01,+6.58e-01,+2.64e+02,+2.64e+02 2 -55 - O: 3 278 211 +2.62e-01,+6.67e-02,+8.45e+01,+8.45e+01 1 - 279 -211 +3.03e-02,+5.27e-01,+1.40e+02,+1.40e+02 1 - 280 111 -1.09e-01,+6.39e-02,+3.93e+01,+3.93e+01 2 -156 -GenVertex: -56 ID: 0 (X,cT):0 - I: 1 96 113 +1.17e+00,-6.49e-01,+1.09e+02,+1.09e+02 2 -56 - O: 2 281 -211 +1.05e+00,-3.90e-01,+9.92e+01,+9.92e+01 1 - 282 211 +1.20e-01,-2.59e-01,+1.03e+01,+1.03e+01 1 -GenVertex: -57 ID: 0 (X,cT):0 - I: 1 97 213 -3.59e-02,+9.92e-01,+3.73e+01,+3.74e+01 2 -57 - O: 2 283 211 -1.62e-01,+3.10e-02,+2.19e+00,+2.20e+00 1 - 284 111 +1.27e-01,+9.61e-01,+3.52e+01,+3.52e+01 2 -157 -GenVertex: -58 ID: 0 (X,cT):0 - I: 1 98 221 +4.22e-01,+3.30e-01,+8.56e+00,+8.60e+00 2 -58 - O: 3 285 111 +2.92e-01,+2.10e-01,+3.56e+00,+3.58e+00 2 -158 - 286 111 +7.22e-02,+1.09e-01,+1.73e+00,+1.74e+00 2 -159 - 287 111 +5.73e-02,+1.07e-02,+3.27e+00,+3.27e+00 2 -160 -GenVertex: -59 ID: 0 (X,cT):0 - I: 1 99 -213 +9.75e-01,+2.54e+00,+3.20e+01,+3.22e+01 2 -59 - O: 2 288 -211 +5.56e-01,+1.36e+00,+1.23e+01,+1.24e+01 1 - 289 111 +4.18e-01,+1.18e+00,+1.97e+01,+1.98e+01 2 -161 -Vertex: -60 ID: 0 (X,cT)=+3.89e-05,+1.80e-05,+5.58e-04,+5.60e-04 - I: 1 100 111 +1.28e+00,+5.91e-01,+1.83e+01,+1.84e+01 2 -60 - O: 2 290 22 +1.23e+00,+5.60e-01,+1.78e+01,+1.79e+01 1 - 291 22 +5.03e-02,+3.14e-02,+4.95e-01,+4.99e-01 1 -GenVertex: -61 ID: 0 (X,cT):0 - I: 1 101 331 +1.59e+00,+2.22e+00,+3.03e+01,+3.04e+01 2 -61 - O: 3 292 211 +3.32e-01,+2.48e-01,+4.45e+00,+4.47e+00 1 - 293 -211 +3.06e-01,+6.92e-01,+8.24e+00,+8.28e+00 1 - 294 221 +9.56e-01,+1.28e+00,+1.76e+01,+1.77e+01 2 -162 -GenVertex: -62 ID: 0 (X,cT):0 - I: 1 102 213 +1.77e+00,-1.58e+00,+1.71e+01,+1.73e+01 2 -62 - O: 2 295 211 +8.03e-02,+2.02e-02,+5.69e-01,+5.92e-01 1 - 296 111 +1.69e+00,-1.60e+00,+1.65e+01,+1.67e+01 2 -163 -GenVertex: -63 ID: 0 (X,cT):0 - I: 1 105 311 +6.37e-01,-2.90e-01,+6.13e+00,+6.19e+00 2 -63 - O: 1 297 310 +6.37e-01,-2.90e-01,+6.13e+00,+6.19e+00 2 -164 -GenVertex: -64 ID: 0 (X,cT):0 - I: 1 106 333 +8.72e-02,-2.03e+00,+7.62e+00,+7.95e+00 2 -64 - O: 2 298 130 +1.44e-01,-1.08e+00,+4.20e+00,+4.37e+00 1 - 299 310 -5.64e-02,-9.48e-01,+3.42e+00,+3.58e+00 2 -165 -GenVertex: -65 ID: 0 (X,cT):0 - I: 1 107 -323 -1.98e-01,-1.55e-01,+2.64e+00,+2.79e+00 2 -65 - O: 2 300 -321 -2.21e-01,+1.56e-01,+1.65e+00,+1.74e+00 1 - 301 111 +2.32e-02,-3.11e-01,+9.92e-01,+1.05e+00 2 -166 -GenVertex: -66 ID: 0 (X,cT):0 - I: 1 108 113 -1.10e+00,-1.90e+00,+5.32e+00,+5.81e+00 2 -66 - O: 2 302 -211 -1.16e+00,-1.76e+00,+5.02e+00,+5.45e+00 1 - 303 211 +5.82e-02,-1.40e-01,+3.02e-01,+3.65e-01 1 -GenVertex: -67 ID: 0 (X,cT):0 - I: 1 109 213 -7.23e-01,-7.70e-01,+6.13e-01,+1.63e+00 2 -67 - O: 2 304 211 +1.49e-03,+1.26e-01,-1.51e-01,+2.41e-01 1 - 305 111 -7.25e-01,-8.95e-01,+7.64e-01,+1.39e+00 2 -167 -GenVertex: -68 ID: 0 (X,cT):0 - I: 1 111 213 -5.97e-01,-1.22e+00,+2.67e-01,+1.55e+00 2 -68 - O: 2 306 211 +1.06e-01,-2.72e-01,-4.01e-02,+3.26e-01 1 - 307 111 -7.03e-01,-9.49e-01,+3.08e-01,+1.23e+00 2 -168 -Vertex: -69 ID: 0 (X,cT)=+1.27e-05,-7.07e-05,+1.82e-05,+8.39e-05 - I: 1 113 111 +4.36e-02,-2.43e-01,+6.27e-02,+2.89e-01 2 -69 - O: 2 308 22 +5.40e-02,-1.99e-02,+1.91e-02,+6.07e-02 1 - 309 22 -1.04e-02,-2.23e-01,+4.36e-02,+2.28e-01 1 -GenVertex: -70 ID: 0 (X,cT):0 - I: 1 114 213 -1.15e+00,-1.72e+00,-2.01e+00,+2.97e+00 2 -70 - O: 2 310 211 -4.37e-02,-6.49e-02,-3.59e-02,+1.64e-01 1 - 311 111 -1.10e+00,-1.65e+00,-1.97e+00,+2.80e+00 2 -169 -GenVertex: -71 ID: 0 (X,cT):0 - I: 1 115 -213 -9.95e-01,-3.87e-01,-1.11e+00,+1.63e+00 2 -71 - O: 2 312 -211 -7.40e-01,-4.72e-01,-9.20e-01,+1.28e+00 1 - 313 111 -2.55e-01,+8.51e-02,-1.87e-01,+3.54e-01 2 -170 -GenVertex: -72 ID: 0 (X,cT):0 - I: 1 119 311 -2.88e-01,+7.23e-01,-1.33e+00,+1.62e+00 2 -72 - O: 1 314 310 -2.88e-01,+7.23e-01,-1.33e+00,+1.62e+00 2 -171 -GenVertex: -73 ID: 0 (X,cT):0 - I: 1 121 113 -2.01e-02,+9.67e-01,-2.76e+00,+3.05e+00 2 -73 - O: 2 315 -211 -5.02e-03,+1.03e+00,-2.68e+00,+2.88e+00 1 - 316 211 -1.50e-02,-6.21e-02,-7.50e-02,+1.71e-01 1 -GenVertex: -74 ID: 0 (X,cT):0 - I: 1 122 213 +6.99e-01,+4.88e-01,-2.14e+00,+2.37e+00 2 -74 - O: 2 317 211 +2.31e-01,+4.39e-01,-1.27e+00,+1.37e+00 1 - 318 111 +4.68e-01,+4.92e-02,-8.74e-01,+1.00e+00 2 -172 -GenVertex: -75 ID: 0 (X,cT):0 - I: 1 123 223 +1.59e-01,-2.33e-01,-7.42e+00,+7.46e+00 2 -75 - O: 2 319 -211 +2.57e-01,+5.62e-02,-5.93e+00,+5.93e+00 1 - 320 211 -9.87e-02,-2.90e-01,-1.49e+00,+1.53e+00 1 -GenVertex: -76 ID: 0 (X,cT):0 - I: 1 124 223 -3.07e-01,+5.68e-01,-1.77e+01,+1.77e+01 2 -76 - O: 2 321 -211 -1.81e-01,+2.32e-01,-1.48e+01,+1.48e+01 1 - 322 211 -1.26e-01,+3.36e-01,-2.88e+00,+2.90e+00 1 -GenVertex: -77 ID: 0 (X,cT):0 - I: 1 125 1114 +7.70e-01,-3.47e-01,-1.94e+02,+1.94e+02 2 -77 - O: 2 323 2112 +6.85e-01,-3.51e-01,-1.63e+02,+1.63e+02 1 - 324 -211 +8.47e-02,+3.52e-03,-3.06e+01,+3.06e+01 1 -Vertex: -78 ID: 0 (X,cT)=+9.27e-06,+2.22e-05,-1.58e-03,+1.58e-03 - I: 1 126 111 +6.52e-01,+1.56e+00,-1.11e+02,+1.11e+02 2 -78 - O: 2 325 22 +6.52e-01,+1.50e+00,-1.08e+02,+1.08e+02 1 - 326 22 -1.55e-04,+6.21e-02,-3.67e+00,+3.67e+00 1 -GenVertex: -79 ID: 0 (X,cT):0 - I: 1 130 113 +7.74e-01,+8.64e-01,-8.89e+01,+8.89e+01 2 -79 - O: 2 327 -211 +6.68e-01,+7.08e-01,-4.84e+01,+4.84e+01 1 - 328 211 +1.06e-01,+1.56e-01,-4.05e+01,+4.05e+01 1 -GenVertex: -80 ID: 0 (X,cT):0 - I: 1 131 223 +1.70e-02,+2.83e-01,-9.69e+01,+9.69e+01 2 -80 - O: 3 329 211 -1.62e-01,+5.36e-02,-3.29e+01,+3.29e+01 1 - 330 -211 +6.38e-02,-3.43e-02,-4.30e+01,+4.30e+01 1 - 331 111 +1.15e-01,+2.64e-01,-2.11e+01,+2.11e+01 2 -173 -GenVertex: -81 ID: 0 (X,cT):0 - I: 1 132 223 +3.02e-01,+2.43e-01,-3.21e+01,+3.21e+01 2 -81 - O: 3 332 -211 +5.67e-02,-4.99e-02,-1.78e+01,+1.78e+01 1 - 333 211 +8.54e-02,+2.91e-01,-8.16e+00,+8.17e+00 1 - 334 111 +1.60e-01,+1.64e-03,-6.16e+00,+6.16e+00 2 -174 -GenVertex: -82 ID: 0 (X,cT):0 - I: 1 133 221 +6.52e-01,-1.30e-02,-7.49e+00,+7.53e+00 2 -82 - O: 3 335 111 +3.20e-01,-1.06e-01,-2.80e+00,+2.83e+00 2 -175 - 336 111 +2.91e-01,+8.79e-02,-3.67e+00,+3.68e+00 2 -176 - 337 111 +4.06e-02,+5.17e-03,-1.02e+00,+1.02e+00 2 -177 -GenVertex: -83 ID: 0 (X,cT):0 - I: 1 134 213 +1.25e+00,+2.45e+00,-3.91e+01,+3.93e+01 2 -83 - O: 2 338 211 +6.58e-01,+5.66e-01,-1.72e+01,+1.72e+01 1 - 339 111 +5.88e-01,+1.89e+00,-2.20e+01,+2.20e+01 2 -178 -GenVertex: -84 ID: 0 (X,cT):0 - I: 1 135 221 +8.86e-01,+9.16e-01,-1.24e+01,+1.25e+01 2 -84 - O: 2 340 22 +6.66e-01,+6.36e-01,-6.31e+00,+6.38e+00 1 - 341 22 +2.20e-01,+2.80e-01,-6.11e+00,+6.12e+00 1 -Vertex: -85 ID: 0 (X,cT)=+3.02e-04,+4.87e-04,-5.38e-03,+5.41e-03 - I: 1 137 111 +7.22e-01,+1.16e+00,-1.29e+01,+1.29e+01 2 -85 - O: 2 342 22 +5.79e-02,+1.36e-01,-1.76e+00,+1.76e+00 1 - 343 22 +6.65e-01,+1.03e+00,-1.11e+01,+1.12e+01 1 -GenVertex: -86 ID: 0 (X,cT):0 - I: 1 138 113 +1.21e+00,+1.68e+00,-1.89e+01,+1.90e+01 2 -86 - O: 2 344 -211 +4.13e-01,+1.29e-01,-3.64e+00,+3.67e+00 1 - 345 211 +8.01e-01,+1.55e+00,-1.52e+01,+1.53e+01 1 -GenVertex: -87 ID: 0 (X,cT):0 - I: 1 140 -213 +4.58e-01,+1.15e+00,-1.84e+01,+1.85e+01 2 -87 - O: 2 346 -211 +4.43e-01,+4.32e-01,-3.36e+00,+3.42e+00 1 - 347 111 +1.51e-02,+7.22e-01,-1.51e+01,+1.51e+01 2 -179 -GenVertex: -88 ID: 0 (X,cT):0 - I: 1 141 213 +2.08e+00,+1.68e+00,-2.61e+01,+2.63e+01 2 -88 - O: 2 348 211 +2.03e+00,+1.63e+00,-2.51e+01,+2.52e+01 1 - 349 111 +5.56e-02,+5.31e-02,-1.06e+00,+1.07e+00 2 -180 -GenVertex: -89 ID: 0 (X,cT):0 - I: 1 142 313 +1.78e+00,+1.24e+00,-2.26e+01,+2.27e+01 2 -89 - O: 2 350 321 +5.53e-01,+4.44e-01,-6.45e+00,+6.51e+00 1 - 351 -211 +1.23e+00,+7.92e-01,-1.62e+01,+1.62e+01 1 -GenVertex: -90 ID: 0 (X,cT):0 - I: 1 143 -313 +1.42e+00,+6.47e-01,-1.81e+01,+1.82e+01 2 -90 - O: 2 352 -311 +4.98e-01,+5.10e-01,-7.52e+00,+7.57e+00 2 -181 - 353 111 +9.21e-01,+1.38e-01,-1.06e+01,+1.06e+01 2 -182 -GenVertex: -91 ID: 0 (X,cT):0 - I: 1 145 -213 -5.75e-01,-4.78e-01,-9.45e+01,+9.45e+01 2 -91 - O: 2 354 -211 -4.16e-01,-6.42e-04,-4.57e+01,+4.57e+01 1 - 355 111 -1.59e-01,-4.77e-01,-4.88e+01,+4.88e+01 2 -183 -GenVertex: -92 ID: 0 (X,cT):0 - I: 1 146 -1114 -8.04e-01,-7.43e-01,-3.40e+01,+3.40e+01 2 -92 - O: 2 356 -2112 -5.09e-01,-4.51e-01,-2.85e+01,+2.85e+01 1 - 357 211 -2.95e-01,-2.92e-01,-5.48e+00,+5.50e+00 1 -GenVertex: -93 ID: 0 (X,cT):0 - I: 1 147 -213 -1.80e-01,+6.29e-02,-4.32e+01,+4.32e+01 2 -93 - O: 2 358 -211 -2.49e-01,+3.34e-01,-2.84e+01,+2.84e+01 1 - 359 111 +6.89e-02,-2.71e-01,-1.49e+01,+1.49e+01 2 -184 -GenVertex: -94 ID: 0 (X,cT):0 - I: 1 149 311 -1.41e+00,-2.18e+00,-7.90e+01,+7.90e+01 2 -94 - O: 1 360 130 -1.41e+00,-2.18e+00,-7.90e+01,+7.90e+01 1 -GenVertex: -95 ID: 0 (X,cT):0 - I: 1 150 -323 -3.04e-01,-3.92e-01,-7.88e+01,+7.88e+01 2 -95 - O: 2 361 -321 -3.90e-02,+2.37e-02,-4.50e+01,+4.50e+01 1 - 362 111 -2.65e-01,-4.16e-01,-3.38e+01,+3.38e+01 2 -185 -GenVertex: -96 ID: 0 (X,cT):0 - I: 1 151 213 -1.80e+00,-1.21e+00,-8.93e+01,+8.94e+01 2 -96 - O: 2 363 211 -1.88e+00,-1.09e+00,-8.20e+01,+8.20e+01 1 - 364 111 +7.55e-02,-1.18e-01,-7.35e+00,+7.36e+00 2 -186 -GenVertex: -97 ID: 0 (X,cT):0 - I: 1 152 113 +4.91e-01,-9.72e-01,-5.04e+01,+5.05e+01 2 -97 - O: 2 365 -211 +3.30e-01,-1.08e+00,-4.62e+01,+4.62e+01 1 - 366 211 +1.61e-01,+1.05e-01,-4.23e+00,+4.23e+00 1 -GenVertex: -98 ID: 0 (X,cT):0 - I: 1 153 221 +2.67e-01,-2.61e-01,-2.16e+01,+2.16e+01 2 -98 - O: 2 367 22 -1.53e-01,-5.63e-02,-3.12e+00,+3.12e+00 1 - 368 22 +4.20e-01,-2.04e-01,-1.84e+01,+1.85e+01 1 -GenVertex: -99 ID: 0 (X,cT):0 - I: 1 154 311 +4.13e-01,+1.80e-01,-8.91e+01,+8.91e+01 2 -99 - O: 1 369 130 +4.13e-01,+1.80e-01,-8.91e+01,+8.91e+01 1 -GenVertex: -100 ID: 0 (X,cT):0 - I: 1 156 221 -4.10e-01,-2.74e-01,-4.88e+01,+4.88e+01 2 -100 - O: 3 370 211 -2.54e-01,-1.08e-01,-2.26e+01,+2.26e+01 1 - 371 -211 -9.47e-02,-7.03e-02,-6.26e+00,+6.26e+00 1 - 372 111 -6.13e-02,-9.53e-02,-1.99e+01,+1.99e+01 2 -187 -GenVertex: -101 ID: 0 (X,cT):0 - I: 1 158 113 -8.56e-01,+4.51e-01,-3.86e+02,+3.86e+02 2 -101 - O: 2 373 211 -5.66e-01,+1.70e-01,-3.23e+02,+3.23e+02 1 - 374 -211 -2.90e-01,+2.81e-01,-6.32e+01,+6.32e+01 1 -GenVertex: -102 ID: 0 (X,cT):0 - I: 1 160 2224 -1.90e-03,+7.51e-01,-1.39e+03,+1.39e+03 2 -102 - O: 2 375 2212 +9.56e-04,+8.62e-01,-1.17e+03,+1.17e+03 1 - 376 211 -2.86e-03,-1.12e-01,-2.17e+02,+2.17e+02 1 -GenVertex: -103 ID: 0 (X,cT):0 - I: 1 163 223 -1.35e-02,+1.05e-01,+2.90e+00,+3.01e+00 2 -103 - O: 3 377 -211 +6.98e-02,+4.75e-02,+2.34e+00,+2.34e+00 1 - 378 211 -3.36e-03,-3.94e-02,+1.39e-01,+2.01e-01 1 - 379 111 -7.99e-02,+9.68e-02,+4.23e-01,+4.62e-01 2 -188 -GenVertex: -104 ID: 0 (X,cT):0 - I: 1 164 -213 -7.67e-02,-1.58e-01,+2.83e+00,+2.94e+00 2 -104 - O: 2 380 -211 +2.46e-01,-2.54e-01,+9.52e-01,+1.02e+00 1 - 381 111 -3.23e-01,+9.61e-02,+1.88e+00,+1.91e+00 2 -189 -GenVertex: -105 ID: 0 (X,cT):0 - I: 1 165 113 -3.96e-01,-2.46e-01,+7.66e+00,+7.72e+00 2 -105 - O: 2 382 -211 -4.58e-01,-1.09e-01,+2.26e+00,+2.31e+00 1 - 383 211 +6.19e-02,-1.38e-01,+5.40e+00,+5.41e+00 1 -GenVertex: -106 ID: 0 (X,cT):0 - I: 1 166 223 +8.97e-02,-2.51e-02,+1.83e+01,+1.83e+01 2 -106 - O: 3 384 211 +1.54e-02,+2.33e-01,+6.44e+00,+6.45e+00 1 - 385 -211 -1.25e-01,-1.91e-01,+6.30e+00,+6.31e+00 1 - 386 111 +1.99e-01,-6.72e-02,+5.57e+00,+5.57e+00 2 -190 -GenVertex: -107 ID: 0 (X,cT):0 - I: 1 167 331 +7.92e-02,-2.14e-01,+1.65e+01,+1.65e+01 2 -107 - O: 2 387 22 -3.78e-03,+6.83e-02,+3.46e-01,+3.53e-01 1 - 388 113 +8.30e-02,-2.83e-01,+1.61e+01,+1.61e+01 2 -191 -GenVertex: -108 ID: 0 (X,cT):0 - I: 1 169 113 -9.07e-02,+1.70e-01,+7.69e+00,+7.71e+00 2 -108 - O: 2 389 211 -1.47e-01,+1.94e-03,+5.31e+00,+5.31e+00 1 - 390 -211 +5.60e-02,+1.68e-01,+2.38e+00,+2.39e+00 1 -GenVertex: -109 ID: 0 (X,cT):0 - I: 1 172 313 -9.79e-02,+5.68e-01,+7.20e+01,+7.20e+01 2 -109 - O: 2 391 321 +1.98e-01,+2.04e-01,+3.95e+01,+3.95e+01 1 - 392 -211 -2.96e-01,+3.65e-01,+3.25e+01,+3.25e+01 1 -GenVertex: -110 ID: 0 (X,cT):0 - I: 1 173 -313 -1.30e-01,-7.96e-01,+2.37e+02,+2.37e+02 2 -110 - O: 2 393 -321 +8.77e-02,-3.77e-01,+1.73e+02,+1.73e+02 1 - 394 211 -2.18e-01,-4.20e-01,+6.41e+01,+6.41e+01 1 -Vertex: -111 ID: 0 (X,cT)=-3.81e+00,+2.43e+00,-3.67e+01,+3.70e+01 - I: 1 177 -411 -2.64e+01,+1.68e+01,-2.54e+02,+2.56e+02 2 -111 - O: 4 395 13 -1.41e+00,+1.04e+00,-1.32e+01,+1.33e+01 1 - 396 -14 -1.31e+00,+1.05e+00,-1.23e+01,+1.24e+01 1 - 397 323 -2.16e+01,+1.35e+01,-2.09e+02,+2.11e+02 2 -192 - 398 -211 -2.09e+00,+1.24e+00,-1.91e+01,+1.92e+01 1 -GenVertex: -112 ID: 0 (X,cT):0 - I: 1 180 -313 -1.69e+00,+9.52e-01,-1.93e+01,+1.94e+01 2 -112 - O: 2 399 -311 -4.47e-01,+3.05e-01,-6.33e+00,+6.37e+00 2 -193 - 400 111 -1.24e+00,+6.47e-01,-1.29e+01,+1.30e+01 2 -194 -GenVertex: -113 ID: 0 (X,cT):0 - I: 1 181 323 -1.07e+00,+1.14e+00,-1.19e+01,+1.20e+01 2 -113 - O: 2 401 311 -9.33e-01,+9.63e-01,-1.12e+01,+1.13e+01 2 -195 - 402 211 -1.36e-01,+1.77e-01,-7.16e-01,+7.63e-01 1 -GenVertex: -114 ID: 0 (X,cT):0 - I: 1 182 -323 -1.04e+00,-2.43e-02,-1.56e+01,+1.57e+01 2 -114 - O: 2 403 -321 -9.22e-01,-9.25e-02,-1.49e+01,+1.49e+01 1 - 404 111 -1.17e-01,+6.82e-02,-7.01e-01,+7.26e-01 2 -196 -GenVertex: -115 ID: 0 (X,cT):0 - I: 1 184 113 +9.16e+00,-6.89e+00,-1.32e+02,+1.32e+02 2 -115 - O: 2 405 -211 +8.07e+00,-6.29e+00,-1.19e+02,+1.20e+02 1 - 406 211 +1.09e+00,-5.97e-01,-1.23e+01,+1.24e+01 1 -Vertex: -116 ID: 0 (X,cT)=+1.87e-03,-1.71e-03,-2.84e-02,+2.85e-02 - I: 1 185 111 +1.57e+00,-1.44e+00,-2.40e+01,+2.41e+01 2 -116 - O: 2 407 22 +1.03e+00,-8.53e-01,-1.49e+01,+1.50e+01 1 - 408 22 +5.46e-01,-5.88e-01,-9.04e+00,+9.08e+00 1 -GenVertex: -117 ID: 0 (X,cT):0 - I: 1 189 213 -1.88e-01,-4.78e-01,-1.86e-02,+8.02e-01 2 -117 - O: 2 409 211 +6.32e-02,-4.07e-02,-1.95e-01,+2.51e-01 1 - 410 111 -2.51e-01,-4.37e-01,+1.76e-01,+5.51e-01 2 -197 -GenVertex: -118 ID: 0 (X,cT):0 - I: 1 191 213 -1.69e-01,+6.66e-02,+1.66e+00,+1.95e+00 2 -118 - O: 2 411 211 -8.99e-02,-4.44e-01,+8.88e-01,+1.01e+00 1 - 412 111 -7.90e-02,+5.11e-01,+7.72e-01,+9.39e-01 2 -198 -GenVertex: -119 ID: 0 (X,cT):0 - I: 1 192 113 -7.42e-01,+4.97e-01,+2.71e+00,+2.94e+00 2 -119 - O: 2 413 -211 -6.65e-02,+8.33e-02,+1.29e+00,+1.30e+00 1 - 414 211 -6.76e-01,+4.14e-01,+1.43e+00,+1.64e+00 1 -GenVertex: -120 ID: 0 (X,cT):0 - I: 1 193 -213 +2.70e-02,+3.31e-01,+2.97e-01,+7.93e-01 2 -120 - O: 2 415 -211 -1.79e-01,+3.73e-02,+3.36e-01,+4.08e-01 1 - 416 111 +2.06e-01,+2.93e-01,-3.94e-02,+3.85e-01 2 -199 -GenVertex: -121 ID: 0 (X,cT):0 - I: 1 195 113 -1.79e-01,+4.58e-01,+4.36e+00,+4.46e+00 2 -121 - O: 2 417 -211 -4.09e-01,+9.88e-02,+1.62e+00,+1.68e+00 1 - 418 211 +2.30e-01,+3.59e-01,+2.75e+00,+2.78e+00 1 -GenVertex: -122 ID: 0 (X,cT):0 - I: 1 196 -213 -8.75e-02,+1.16e-01,+1.21e+00,+1.46e+00 2 -122 - O: 2 419 -211 +1.71e-01,-8.56e-03,+1.11e+00,+1.13e+00 1 - 420 111 -2.59e-01,+1.24e-01,+1.06e-01,+3.34e-01 2 -200 -GenVertex: -123 ID: 0 (X,cT):0 - I: 1 197 323 -7.63e-01,+6.20e-01,+7.15e+00,+7.28e+00 2 -123 - O: 2 421 321 -4.34e-01,+3.13e-01,+2.39e+00,+2.49e+00 1 - 422 111 -3.29e-01,+3.07e-01,+4.76e+00,+4.78e+00 2 -201 -GenVertex: -124 ID: 0 (X,cT):0 - I: 1 198 221 -7.36e-01,+2.91e-01,+5.63e+00,+5.72e+00 2 -124 - O: 3 423 22 -3.68e-01,+1.74e-01,+3.63e+00,+3.66e+00 1 - 424 211 -2.05e-01,+1.05e-01,+1.26e+00,+1.28e+00 1 - 425 -211 -1.63e-01,+1.25e-02,+7.47e-01,+7.77e-01 1 -GenVertex: -125 ID: 0 (X,cT):0 - I: 1 200 213 +4.69e-02,-1.77e-01,-3.64e-01,+1.10e+00 2 -125 - O: 2 426 211 -3.67e-01,-1.30e-01,-4.96e-01,+6.46e-01 1 - 427 111 +4.14e-01,-4.69e-02,+1.31e-01,+4.58e-01 2 -202 -Vertex: -126 ID: 0 (X,cT)=+6.94e-05,-7.03e-06,+2.19e-04,+2.31e-04 - I: 1 201 111 +3.73e-01,-3.78e-02,+1.18e+00,+1.24e+00 2 -126 - O: 2 428 22 +1.73e-01,-3.58e-02,+3.54e-01,+3.96e-01 1 - 429 22 +2.00e-01,-2.02e-03,+8.22e-01,+8.46e-01 1 -GenVertex: -127 ID: 0 (X,cT):0 - I: 1 202 -213 -7.72e-01,+1.13e+00,+1.14e+00,+1.96e+00 2 -127 - O: 2 430 -211 -3.73e-02,+7.08e-01,+6.44e-01,+9.68e-01 1 - 431 111 -7.34e-01,+4.26e-01,+4.97e-01,+9.93e-01 2 -203 -GenVertex: -128 ID: 0 (X,cT):0 - I: 1 203 223 +4.07e-01,-5.29e-01,+1.12e-01,+1.04e+00 2 -128 - O: 3 432 211 +3.59e-01,-2.82e-01,+1.18e-01,+4.92e-01 1 - 433 -211 -1.50e-02,+9.43e-02,+3.19e-02,+1.72e-01 1 - 434 111 +6.29e-02,-3.41e-01,-3.80e-02,+3.74e-01 2 -204 -GenVertex: -129 ID: 0 (X,cT):0 - I: 1 204 223 -5.49e-02,-3.91e-01,+1.06e+00,+1.37e+00 2 -129 - O: 3 435 -211 +6.25e-02,-1.04e-01,+1.78e-01,+2.57e-01 1 - 436 211 +2.00e-02,-2.71e-01,+8.68e-01,+9.20e-01 1 - 437 111 -1.37e-01,-1.63e-02,+1.18e-02,+1.94e-01 2 -205 -Vertex: -130 ID: 0 (X,cT)=+1.58e-01,-6.64e-02,-8.93e-01,+9.27e-01 - I: 1 205 -421 +1.62e+00,-6.80e-01,-9.14e+00,+9.49e+00 2 -130 - O: 2 438 10323 +8.73e-01,-6.30e-01,-7.46e+00,+7.64e+00 2 -206 - 439 -211 +7.49e-01,-4.97e-02,-1.68e+00,+1.85e+00 1 -Vertex: -131 ID: 0 (X,cT)=+6.33e-05,-2.16e-05,-2.68e-04,+2.80e-04 - I: 1 206 111 +1.80e-01,-6.13e-02,-7.60e-01,+7.95e-01 2 -131 - O: 2 440 22 +1.83e-01,-8.44e-02,-7.27e-01,+7.54e-01 1 - 441 22 -3.44e-03,+2.31e-02,-3.29e-02,+4.04e-02 1 -GenVertex: -132 ID: 0 (X,cT):0 - I: 1 207 -311 +3.84e-01,+6.75e-01,-2.32e+00,+2.49e+00 2 -132 - O: 1 442 310 +3.84e-01,+6.75e-01,-2.32e+00,+2.49e+00 2 -207 -GenVertex: -133 ID: 0 (X,cT):0 - I: 1 209 311 +4.92e-01,+1.67e+00,-1.03e+01,+1.05e+01 2 -133 - O: 1 443 310 +4.92e-01,+1.67e+00,-1.03e+01,+1.05e+01 2 -208 -Vertex: -134 ID: 0 (X,cT)=+9.60e-06,+2.02e-06,-1.35e-04,+1.36e-04 - I: 1 210 111 +1.56e-01,+3.28e-02,-2.20e+00,+2.21e+00 2 -134 - O: 2 444 22 +1.58e-01,+4.61e-02,-2.17e+00,+2.18e+00 1 - 445 22 -2.08e-03,-1.33e-02,-2.27e-02,+2.64e-02 1 -Vertex: -135 ID: 0 (X,cT)=-6.11e-05,+1.37e-04,-6.02e-04,+6.24e-04 - I: 1 215 111 -1.24e-01,+2.78e-01,-1.22e+00,+1.26e+00 2 -135 - O: 2 446 22 -2.52e-02,+2.45e-02,-3.81e-01,+3.83e-01 1 - 447 22 -9.85e-02,+2.53e-01,-8.38e-01,+8.81e-01 1 -Vertex: -136 ID: 0 (X,cT)=-4.44e-05,-3.92e-06,-7.34e-04,+7.40e-04 - I: 1 217 111 -7.15e-02,-6.31e-03,-1.18e+00,+1.19e+00 2 -136 - O: 2 448 22 -9.35e-02,-3.77e-02,-1.03e+00,+1.04e+00 1 - 449 22 +2.21e-02,+3.14e-02,-1.46e-01,+1.51e-01 1 -Vertex: -137 ID: 0 (X,cT)=+3.41e-05,+1.99e-05,-1.06e-05,+5.12e-05 - I: 1 220 111 +1.49e-01,+8.68e-02,-4.65e-02,+2.24e-01 2 -137 - O: 2 450 22 +1.62e-01,+9.36e-02,-6.67e-02,+1.99e-01 1 - 451 22 -1.32e-02,-6.86e-03,+2.02e-02,+2.51e-02 1 -GenVertex: -138 ID: 0 (X,cT):0 - I: 1 221 -311 -8.28e-02,+1.40e-01,+2.87e-01,+5.97e-01 2 -138 - O: 1 452 130 -8.28e-02,+1.40e-01,+2.87e-01,+5.97e-01 1 -Vertex: -139 ID: 0 (X,cT)=-3.00e-05,-1.01e-05,+1.64e-06,+3.29e-05 - I: 1 226 111 -4.64e-01,-1.55e-01,+2.53e-02,+5.08e-01 2 -139 - O: 2 453 22 -2.22e-01,-3.76e-02,-4.59e-02,+2.30e-01 1 - 454 22 -2.42e-01,-1.18e-01,+7.12e-02,+2.78e-01 1 -Vertex: -140 ID: 0 (X,cT)=-5.23e-07,-7.76e-06,+4.86e-05,+4.96e-05 - I: 1 231 111 -1.13e-02,-1.68e-01,+1.05e+00,+1.07e+00 2 -140 - O: 2 455 22 +4.72e-02,-1.23e-01,+8.16e-01,+8.27e-01 1 - 456 22 -5.85e-02,-4.52e-02,+2.34e-01,+2.45e-01 1 -Vertex: -141 ID: 0 (X,cT)=+3.06e-05,-6.13e-05,+1.04e-03,+1.04e-03 - I: 1 233 111 +1.15e-01,-2.30e-01,+3.89e+00,+3.90e+00 2 -141 - O: 2 457 22 +4.00e-02,+3.07e-04,+9.61e-01,+9.62e-01 1 - 458 22 +7.48e-02,-2.30e-01,+2.93e+00,+2.94e+00 1 -Vertex: -142 ID: 0 (X,cT)=-4.86e-07,+1.36e-05,+5.54e-03,+5.54e-03 - I: 1 240 111 -1.84e-03,+5.13e-02,+2.10e+01,+2.10e+01 2 -142 - O: 2 459 22 +6.53e-02,+3.07e-02,+8.88e+00,+8.88e+00 1 - 460 22 -6.72e-02,+2.07e-02,+1.21e+01,+1.21e+01 1 -Vertex: -143 ID: 0 (X,cT)=+9.00e-01,-4.13e-01,-2.42e+00,+2.63e+00 - I: 1 241 421 +6.24e+00,-2.87e+00,-1.68e+01,+1.82e+01 2 -143 - O: 2 461 -313 +3.33e+00,-1.55e+00,-7.24e+00,+8.16e+00 2 -209 - 462 111 +2.92e+00,-1.31e+00,-9.56e+00,+1.01e+01 2 -210 -Vertex: -144 ID: 0 (X,cT)=+1.11e-04,-5.90e-05,-2.87e-04,+3.15e-04 - I: 1 242 111 +4.94e-01,-2.63e-01,-1.28e+00,+1.40e+00 2 -144 - O: 2 463 22 +3.13e-01,-2.24e-01,-9.52e-01,+1.03e+00 1 - 464 22 +1.81e-01,-3.87e-02,-3.28e-01,+3.76e-01 1 -Vertex: -145 ID: 0 (X,cT)=+2.18e-05,-5.26e-06,-3.70e-05,+4.34e-05 - I: 1 244 111 +8.10e-01,-1.96e-01,-1.38e+00,+1.62e+00 2 -145 - O: 2 465 22 +6.12e-01,-2.00e-01,-1.10e+00,+1.28e+00 1 - 466 22 +1.98e-01,+3.77e-03,-2.74e-01,+3.39e-01 1 -GenVertex: -146 ID: 0 (X,cT):0 - I: 1 247 221 +3.89e-01,-5.39e-01,-8.71e-01,+1.22e+00 2 -146 - O: 3 467 -211 +1.74e-01,-1.31e-01,-4.30e-01,+5.02e-01 1 - 468 211 +5.41e-02,-2.04e-01,-3.15e-01,+4.04e-01 1 - 469 111 +1.61e-01,-2.04e-01,-1.26e-01,+3.19e-01 2 -211 -Vertex: -147 ID: 0 (X,cT)=+1.07e-04,-3.60e-05,-3.69e-04,+3.86e-04 - I: 1 249 111 +7.72e-01,-2.59e-01,-2.66e+00,+2.78e+00 2 -147 - O: 2 470 22 +2.51e-02,-3.16e-02,-2.06e-01,+2.10e-01 1 - 471 22 +7.47e-01,-2.27e-01,-2.45e+00,+2.57e+00 1 -Vertex: -148 ID: 0 (X,cT)=-8.22e+00,-2.29e+00,+1.29e+02,+1.35e+02 - I: 1 254 310 -1.08e-01,-3.01e-02,+1.70e+00,+1.77e+00 2 -148 - O: 2 472 211 +1.20e-02,+1.80e-01,+6.79e-01,+7.16e-01 1 - 473 -211 -1.20e-01,-2.10e-01,+1.02e+00,+1.05e+00 1 -Vertex: -149 ID: 0 (X,cT)=-9.20e-06,+3.86e-06,+4.76e-05,+4.89e-05 - I: 1 258 111 -2.36e-01,+9.89e-02,+1.22e+00,+1.25e+00 2 -149 - O: 2 474 22 -1.60e-01,+3.34e-03,+8.26e-01,+8.41e-01 1 - 475 22 -7.61e-02,+9.56e-02,+3.95e-01,+4.13e-01 1 -Vertex: -150 ID: 0 (X,cT)=-5.14e-04,-8.73e-05,+1.03e-02,+1.04e-02 - I: 1 260 111 -1.11e+00,-1.89e-01,+2.24e+01,+2.24e+01 2 -150 - O: 2 476 22 -9.81e-01,-1.35e-01,+2.02e+01,+2.02e+01 1 - 477 22 -1.30e-01,-5.37e-02,+2.22e+00,+2.22e+00 1 -Vertex: -151 ID: 0 (X,cT)=+1.88e-05,+4.46e-05,+6.87e-04,+6.89e-04 - I: 1 263 111 +1.08e-01,+2.55e-01,+3.93e+00,+3.94e+00 2 -151 - O: 2 478 22 +1.10e-01,+2.16e-01,+2.55e+00,+2.56e+00 1 - 479 22 -2.65e-03,+3.91e-02,+1.38e+00,+1.38e+00 1 -Vertex: -152 ID: 0 (X,cT)=-6.14e-05,-3.82e-05,+7.27e-04,+7.31e-04 - I: 1 265 111 -3.21e-01,-1.99e-01,+3.80e+00,+3.82e+00 2 -152 - O: 2 480 22 -2.34e-01,-1.54e-01,+3.28e+00,+3.29e+00 1 - 481 22 -8.72e-02,-4.50e-02,+5.19e-01,+5.28e-01 1 -Vertex: -153 ID: 0 (X,cT)=-2.19e-06,-3.00e-06,+3.58e-04,+3.58e-04 - I: 1 267 111 -1.18e-01,-1.61e-01,+1.92e+01,+1.92e+01 2 -153 - O: 2 482 22 -9.69e-02,-1.72e-01,+1.33e+01,+1.34e+01 1 - 483 22 -2.08e-02,+1.15e-02,+5.82e+00,+5.82e+00 1 -Vertex: -154 ID: 0 (X,cT)=-9.00e-04,+6.71e-04,+1.89e-01,+1.89e-01 - I: 1 273 111 -1.19e+00,+8.85e-01,+2.49e+02,+2.49e+02 2 -154 - O: 2 484 22 -5.91e-01,+4.58e-01,+1.37e+02,+1.37e+02 1 - 485 22 -5.96e-01,+4.27e-01,+1.12e+02,+1.12e+02 1 -Vertex: -155 ID: 0 (X,cT)=-5.19e-06,+2.77e-05,+9.61e-03,+9.61e-03 - I: 1 275 111 -3.94e-02,+2.10e-01,+7.29e+01,+7.29e+01 2 -155 - O: 2 486 22 -5.34e-02,+1.01e-01,+2.01e+01,+2.01e+01 1 - 487 22 +1.40e-02,+1.09e-01,+5.28e+01,+5.28e+01 1 -Vertex: -156 ID: 0 (X,cT)=-3.80e-05,+2.22e-05,+1.37e-02,+1.37e-02 - I: 1 280 111 -1.09e-01,+6.39e-02,+3.93e+01,+3.93e+01 2 -156 - O: 2 488 22 -5.83e-02,+1.46e-02,+3.27e+01,+3.27e+01 1 - 489 22 -5.08e-02,+4.93e-02,+6.60e+00,+6.60e+00 1 -Vertex: -157 ID: 0 (X,cT)=+6.48e-05,+4.92e-04,+1.80e-02,+1.80e-02 - I: 1 284 111 +1.27e-01,+9.61e-01,+3.52e+01,+3.52e+01 2 -157 - O: 2 490 22 -2.52e-02,+2.35e-01,+8.00e+00,+8.00e+00 1 - 491 22 +1.52e-01,+7.26e-01,+2.72e+01,+2.72e+01 1 -Vertex: -158 ID: 0 (X,cT)=+1.48e-04,+1.07e-04,+1.80e-03,+1.81e-03 - I: 1 285 111 +2.92e-01,+2.10e-01,+3.56e+00,+3.58e+00 2 -158 - O: 2 492 22 +2.42e-01,+1.03e-01,+2.23e+00,+2.25e+00 1 - 493 22 +5.02e-02,+1.07e-01,+1.33e+00,+1.33e+00 1 -Vertex: -159 ID: 0 (X,cT)=+2.50e-05,+3.78e-05,+5.99e-04,+6.03e-04 - I: 1 286 111 +7.22e-02,+1.09e-01,+1.73e+00,+1.74e+00 2 -159 - O: 2 494 22 +2.13e-02,+6.88e-02,+1.49e+00,+1.49e+00 1 - 495 22 +5.09e-02,+4.05e-02,+2.47e-01,+2.55e-01 1 -Vertex: -160 ID: 0 (X,cT)=+2.02e-05,+3.78e-06,+1.16e-03,+1.16e-03 - I: 1 287 111 +5.73e-02,+1.07e-02,+3.27e+00,+3.27e+00 2 -160 - O: 2 496 22 -1.28e-02,-2.31e-02,+1.49e-01,+1.51e-01 1 - 497 22 +7.01e-02,+3.38e-02,+3.12e+00,+3.12e+00 1 -Vertex: -161 ID: 0 (X,cT)=+9.91e-05,+2.78e-04,+4.67e-03,+4.68e-03 - I: 1 289 111 +4.18e-01,+1.18e+00,+1.97e+01,+1.98e+01 2 -161 - O: 2 498 22 +2.65e-01,+6.35e-01,+1.17e+01,+1.18e+01 1 - 499 22 +1.54e-01,+5.40e-01,+7.99e+00,+8.01e+00 1 -GenVertex: -162 ID: 0 (X,cT):0 - I: 1 294 221 +9.56e-01,+1.28e+00,+1.76e+01,+1.77e+01 2 -162 - O: 3 500 111 +3.73e-01,+4.04e-01,+4.84e+00,+4.87e+00 2 -212 - 501 111 +4.30e-01,+7.17e-01,+9.92e+00,+9.96e+00 2 -213 - 502 111 +1.53e-01,+1.59e-01,+2.85e+00,+2.86e+00 2 -214 -Vertex: -163 ID: 0 (X,cT)=+2.58e-04,-2.44e-04,+2.53e-03,+2.55e-03 - I: 1 296 111 +1.69e+00,-1.60e+00,+1.65e+01,+1.67e+01 2 -163 - O: 2 503 22 +1.04e+00,-1.02e+00,+1.08e+01,+1.09e+01 1 - 504 22 +6.52e-01,-5.77e-01,+5.78e+00,+5.84e+00 1 -Vertex: -164 ID: 0 (X,cT)=+2.91e+01,-1.32e+01,+2.80e+02,+2.82e+02 - I: 1 297 310 +6.37e-01,-2.90e-01,+6.13e+00,+6.19e+00 2 -164 - O: 2 505 -211 +1.68e-01,+3.96e-04,+7.88e-01,+8.18e-01 1 - 506 211 +4.69e-01,-2.90e-01,+5.34e+00,+5.37e+00 1 -Vertex: -165 ID: 0 (X,cT)=-3.01e+00,-5.05e+01,+1.82e+02,+1.91e+02 - I: 1 299 310 -5.64e-02,-9.48e-01,+3.42e+00,+3.58e+00 2 -165 - O: 2 507 211 -9.80e-03,-8.77e-01,+3.10e+00,+3.22e+00 1 - 508 -211 -4.66e-02,-7.14e-02,+3.18e-01,+3.57e-01 1 -Vertex: -166 ID: 0 (X,cT)=+5.65e-06,-7.57e-05,+2.42e-04,+2.55e-04 - I: 1 301 111 +2.32e-02,-3.11e-01,+9.92e-01,+1.05e+00 2 -166 - O: 2 509 22 -1.58e-02,-2.94e-01,+9.06e-01,+9.53e-01 1 - 510 22 +3.90e-02,-1.71e-02,+8.60e-02,+9.59e-02 1 -Vertex: -167 ID: 0 (X,cT)=-1.40e-04,-1.73e-04,+1.47e-04,+2.68e-04 - I: 1 305 111 -7.25e-01,-8.95e-01,+7.64e-01,+1.39e+00 2 -167 - O: 2 511 22 -1.23e-01,-1.25e-01,+1.74e-01,+2.47e-01 1 - 512 22 -6.01e-01,-7.71e-01,+5.90e-01,+1.14e+00 1 -Vertex: -168 ID: 0 (X,cT)=-2.82e-04,-3.80e-04,+1.23e-04,+4.92e-04 - I: 1 307 111 -7.03e-01,-9.49e-01,+3.08e-01,+1.23e+00 2 -168 - O: 2 513 22 -4.88e-01,-5.82e-01,+1.49e-01,+7.74e-01 1 - 514 22 -2.15e-01,-3.67e-01,+1.58e-01,+4.54e-01 1 -Vertex: -169 ID: 0 (X,cT)=-3.47e-04,-5.20e-04,-6.20e-04,+8.81e-04 - I: 1 311 111 -1.10e+00,-1.65e+00,-1.97e+00,+2.80e+00 2 -169 - O: 2 515 22 -1.08e+00,-1.63e+00,-1.96e+00,+2.76e+00 1 - 516 22 -2.45e-02,-2.46e-02,-1.45e-02,+3.76e-02 1 -Vertex: -170 ID: 0 (X,cT)=-3.29e-06,+1.10e-06,-2.41e-06,+4.57e-06 - I: 1 313 111 -2.55e-01,+8.51e-02,-1.87e-01,+3.54e-01 2 -170 - O: 2 517 22 -1.13e-01,-2.84e-02,-9.56e-02,+1.51e-01 1 - 518 22 -1.42e-01,+1.13e-01,-9.12e-02,+2.04e-01 1 -Vertex: -171 ID: 0 (X,cT)=-2.73e+00,+6.86e+00,-1.26e+01,+1.53e+01 - I: 1 314 310 -2.88e-01,+7.23e-01,-1.33e+00,+1.62e+00 2 -171 - O: 2 519 -211 -3.73e-01,+4.98e-01,-1.02e+00,+1.20e+00 1 - 520 211 +8.58e-02,+2.25e-01,-3.14e-01,+4.20e-01 1 -Vertex: -172 ID: 0 (X,cT)=+3.20e-04,+3.36e-05,-5.97e-04,+6.84e-04 - I: 1 318 111 +4.68e-01,+4.92e-02,-8.74e-01,+1.00e+00 2 -172 - O: 2 521 22 +1.99e-02,+1.62e-02,-1.31e-01,+1.33e-01 1 - 522 22 +4.48e-01,+3.29e-02,-7.43e-01,+8.69e-01 1 -Vertex: -173 ID: 0 (X,cT)=+1.96e-05,+4.48e-05,-3.57e-03,+3.57e-03 - I: 1 331 111 +1.15e-01,+2.64e-01,-2.11e+01,+2.11e+01 2 -173 - O: 2 523 22 +5.11e-03,+1.71e-01,-1.28e+01,+1.28e+01 1 - 524 22 +1.10e-01,+9.28e-02,-8.25e+00,+8.26e+00 1 -Vertex: -174 ID: 0 (X,cT)=+5.52e-05,+5.68e-07,-2.13e-03,+2.13e-03 - I: 1 334 111 +1.60e-01,+1.64e-03,-6.16e+00,+6.16e+00 2 -174 - O: 2 525 22 +9.75e-02,+6.03e-02,-2.60e+00,+2.61e+00 1 - 526 22 +6.22e-02,-5.86e-02,-3.55e+00,+3.56e+00 1 -Vertex: -175 ID: 0 (X,cT)=+5.38e-05,-1.78e-05,-4.71e-04,+4.74e-04 - I: 1 335 111 +3.20e-01,-1.06e-01,-2.80e+00,+2.83e+00 2 -175 - O: 2 527 22 +5.30e-02,+1.88e-02,-7.85e-01,+7.87e-01 1 - 528 22 +2.67e-01,-1.25e-01,-2.02e+00,+2.04e+00 1 -Vertex: -176 ID: 0 (X,cT)=+2.93e-05,+8.83e-06,-3.69e-04,+3.70e-04 - I: 1 336 111 +2.91e-01,+8.79e-02,-3.67e+00,+3.68e+00 2 -176 - O: 2 529 22 +2.68e-01,+3.23e-02,-2.79e+00,+2.81e+00 1 - 530 22 +2.34e-02,+5.56e-02,-8.74e-01,+8.76e-01 1 -Vertex: -177 ID: 0 (X,cT)=+1.18e-05,+1.50e-06,-2.95e-04,+2.98e-04 - I: 1 337 111 +4.06e-02,+5.17e-03,-1.02e+00,+1.02e+00 2 -177 - O: 2 531 22 -1.54e-02,-5.04e-02,-2.38e-01,+2.44e-01 1 - 532 22 +5.60e-02,+5.56e-02,-7.77e-01,+7.81e-01 1 -Vertex: -178 ID: 0 (X,cT)=+3.27e-04,+1.05e-03,-1.22e-02,+1.23e-02 - I: 1 339 111 +5.88e-01,+1.89e+00,-2.20e+01,+2.20e+01 2 -178 - O: 2 533 22 +9.44e-02,+2.34e-01,-3.28e+00,+3.29e+00 1 - 534 22 +4.93e-01,+1.65e+00,-1.87e+01,+1.88e+01 1 -Vertex: -179 ID: 0 (X,cT)=+1.73e-05,+8.31e-04,-1.74e-02,+1.74e-02 - I: 1 347 111 +1.51e-02,+7.22e-01,-1.51e+01,+1.51e+01 2 -179 - O: 2 535 22 -3.85e-02,+1.69e-01,-2.84e+00,+2.85e+00 1 - 536 22 +5.35e-02,+5.53e-01,-1.22e+01,+1.23e+01 1 -Vertex: -180 ID: 0 (X,cT)=+1.08e-05,+1.04e-05,-2.06e-04,+2.08e-04 - I: 1 349 111 +5.56e-02,+5.31e-02,-1.06e+00,+1.07e+00 2 -180 - O: 2 537 22 -2.80e-02,+6.26e-02,-5.73e-01,+5.77e-01 1 - 538 22 +8.36e-02,-9.58e-03,-4.84e-01,+4.91e-01 1 -GenVertex: -181 ID: 0 (X,cT):0 - I: 1 352 -311 +4.98e-01,+5.10e-01,-7.52e+00,+7.57e+00 2 -181 - O: 1 539 310 +4.98e-01,+5.10e-01,-7.52e+00,+7.57e+00 2 -215 -Vertex: -182 ID: 0 (X,cT)=+8.78e-05,+1.31e-05,-1.01e-03,+1.01e-03 - I: 1 353 111 +9.21e-01,+1.38e-01,-1.06e+01,+1.06e+01 2 -182 - O: 2 540 22 +2.76e-01,+8.46e-03,-3.75e+00,+3.76e+00 1 - 541 22 +6.45e-01,+1.29e-01,-6.82e+00,+6.85e+00 1 -Vertex: -183 ID: 0 (X,cT)=-2.61e-05,-7.86e-05,-8.03e-03,+8.03e-03 - I: 1 355 111 -1.59e-01,-4.77e-01,-4.88e+01,+4.88e+01 2 -183 - O: 2 542 22 -7.47e-03,+4.92e-03,-2.71e-01,+2.71e-01 1 - 543 22 -1.51e-01,-4.82e-01,-4.85e+01,+4.85e+01 1 -Vertex: -184 ID: 0 (X,cT)=+3.04e-05,-1.20e-04,-6.56e-03,+6.56e-03 - I: 1 359 111 +6.89e-02,-2.71e-01,-1.49e+01,+1.49e+01 2 -184 - O: 2 544 22 +1.36e-02,-6.16e-02,-1.31e+00,+1.31e+00 1 - 545 22 +5.54e-02,-2.10e-01,-1.35e+01,+1.35e+01 1 -Vertex: -185 ID: 0 (X,cT)=-3.11e-05,-4.88e-05,-3.97e-03,+3.97e-03 - I: 1 362 111 -2.65e-01,-4.16e-01,-3.38e+01,+3.38e+01 2 -185 - O: 2 546 22 -2.39e-02,-6.37e-02,-2.40e+00,+2.40e+00 1 - 547 22 -2.41e-01,-3.52e-01,-3.14e+01,+3.14e+01 1 -Vertex: -186 ID: 0 (X,cT)=+4.99e-06,-7.81e-06,-4.87e-04,+4.87e-04 - I: 1 364 111 +7.55e-02,-1.18e-01,-7.35e+00,+7.36e+00 2 -186 - O: 3 548 22 -7.69e-03,-3.50e-03,-3.43e+00,+3.43e+00 1 - 549 11 +3.80e-02,-5.45e-02,-1.98e+00,+1.99e+00 1 - 550 -11 +4.52e-02,-6.00e-02,-1.94e+00,+1.94e+00 1 -Vertex: -187 ID: 0 (X,cT)=-3.39e-06,-5.26e-06,-1.10e-03,+1.10e-03 - I: 1 372 111 -6.13e-02,-9.53e-02,-1.99e+01,+1.99e+01 2 -187 - O: 2 551 22 +3.73e-02,+2.39e-03,-4.50e+00,+4.50e+00 1 - 552 22 -9.86e-02,-9.77e-02,-1.54e+01,+1.54e+01 1 -Vertex: -188 ID: 0 (X,cT)=-4.64e-06,+5.62e-06,+2.46e-05,+2.68e-05 - I: 1 379 111 -7.99e-02,+9.68e-02,+4.23e-01,+4.62e-01 2 -188 - O: 2 553 22 -6.55e-03,+1.04e-01,+1.84e-01,+2.11e-01 1 - 554 22 -7.33e-02,-6.90e-03,+2.39e-01,+2.50e-01 1 -Vertex: -189 ID: 0 (X,cT)=-4.97e-05,+1.48e-05,+2.90e-04,+2.95e-04 - I: 1 381 111 -3.23e-01,+9.61e-02,+1.88e+00,+1.91e+00 2 -189 - O: 2 555 22 -1.22e-01,-2.90e-02,+7.14e-01,+7.25e-01 1 - 556 22 -2.00e-01,+1.25e-01,+1.16e+00,+1.19e+00 1 -Vertex: -190 ID: 0 (X,cT)=+4.11e-06,-1.39e-06,+1.15e-04,+1.15e-04 - I: 1 386 111 +1.99e-01,-6.72e-02,+5.57e+00,+5.57e+00 2 -190 - O: 2 557 22 +9.39e-02,+3.48e-02,+1.85e+00,+1.85e+00 1 - 558 22 +1.05e-01,-1.02e-01,+3.72e+00,+3.72e+00 1 -GenVertex: -191 ID: 0 (X,cT):0 - I: 1 388 113 +8.30e-02,-2.83e-01,+1.61e+01,+1.61e+01 2 -191 - O: 2 559 211 +2.80e-01,-4.59e-01,+9.99e+00,+1.00e+01 1 - 560 -211 -1.97e-01,+1.77e-01,+6.12e+00,+6.13e+00 1 -Vertex: -192 ID: 0 (X,cT)=-3.81e+00,+2.43e+00,-3.67e+01,+3.70e+01 - I: 1 397 323 -2.16e+01,+1.35e+01,-2.09e+02,+2.11e+02 2 -192 - O: 2 561 311 -1.87e+01,+1.16e+01,-1.82e+02,+1.84e+02 2 -216 - 562 211 -2.87e+00,+1.93e+00,-2.71e+01,+2.73e+01 1 -GenVertex: -193 ID: 0 (X,cT):0 - I: 1 399 -311 -4.47e-01,+3.05e-01,-6.33e+00,+6.37e+00 2 -193 - O: 1 563 310 -4.47e-01,+3.05e-01,-6.33e+00,+6.37e+00 2 -217 -Vertex: -194 ID: 0 (X,cT)=-3.15e-04,+1.64e-04,-3.28e-03,+3.30e-03 - I: 1 400 111 -1.24e+00,+6.47e-01,-1.29e+01,+1.30e+01 2 -194 - O: 2 564 22 -2.94e-01,+1.77e-01,-3.70e+00,+3.71e+00 1 - 565 22 -9.48e-01,+4.69e-01,-9.23e+00,+9.29e+00 1 -GenVertex: -195 ID: 0 (X,cT):0 - I: 1 401 311 -9.33e-01,+9.63e-01,-1.12e+01,+1.13e+01 2 -195 - O: 1 566 310 -9.33e-01,+9.63e-01,-1.12e+01,+1.13e+01 2 -218 -Vertex: -196 ID: 0 (X,cT)=-6.57e-06,+3.84e-06,-3.95e-05,+4.09e-05 - I: 1 404 111 -1.17e-01,+6.82e-02,-7.01e-01,+7.26e-01 2 -196 - O: 2 567 22 +1.75e-02,+4.41e-02,-2.82e-01,+2.86e-01 1 - 568 22 -1.34e-01,+2.41e-02,-4.19e-01,+4.40e-01 1 -Vertex: -197 ID: 0 (X,cT)=-4.47e-05,-7.78e-05,+3.13e-05,+9.80e-05 - I: 1 410 111 -2.51e-01,-4.37e-01,+1.76e-01,+5.51e-01 2 -197 - O: 2 569 22 -1.16e-01,-2.11e-01,+1.32e-02,+2.41e-01 1 - 570 22 -1.36e-01,-2.27e-01,+1.63e-01,+3.10e-01 1 -Vertex: -198 ID: 0 (X,cT)=-4.20e-06,+2.71e-05,+4.10e-05,+4.99e-05 - I: 1 412 111 -7.90e-02,+5.11e-01,+7.72e-01,+9.39e-01 2 -198 - O: 2 571 22 -9.13e-02,+4.77e-01,+7.59e-01,+9.01e-01 1 - 572 22 +1.23e-02,+3.33e-02,+1.37e-02,+3.81e-02 1 -Vertex: -199 ID: 0 (X,cT)=+2.92e-05,+4.15e-05,-5.58e-06,+5.45e-05 - I: 1 416 111 +2.06e-01,+2.93e-01,-3.94e-02,+3.85e-01 2 -199 - O: 2 573 22 +2.03e-01,+2.67e-01,-7.22e-02,+3.43e-01 1 - 574 22 +3.43e-03,+2.63e-02,+3.28e-02,+4.22e-02 1 -Vertex: -200 ID: 0 (X,cT)=-2.16e-05,+1.04e-05,+8.87e-06,+2.79e-05 - I: 1 420 111 -2.59e-01,+1.24e-01,+1.06e-01,+3.34e-01 2 -200 - O: 2 575 22 -3.89e-02,+8.36e-02,+4.53e-02,+1.03e-01 1 - 576 22 -2.20e-01,+4.05e-02,+6.09e-02,+2.32e-01 1 -Vertex: -201 ID: 0 (X,cT)=-5.59e-05,+5.21e-05,+8.09e-04,+8.13e-04 - I: 1 422 111 -3.29e-01,+3.07e-01,+4.76e+00,+4.78e+00 2 -201 - O: 2 577 22 -2.64e-01,+1.59e-01,+3.14e+00,+3.16e+00 1 - 578 22 -6.51e-02,+1.48e-01,+1.62e+00,+1.62e+00 1 -Vertex: -202 ID: 0 (X,cT)=+2.56e-05,-2.90e-06,+8.11e-06,+2.82e-05 - I: 1 427 111 +4.14e-01,-4.69e-02,+1.31e-01,+4.58e-01 2 -202 - O: 2 579 22 +4.15e-01,-2.52e-02,+1.20e-01,+4.33e-01 1 - 580 22 -9.68e-04,-2.17e-02,+1.13e-02,+2.45e-02 1 -Vertex: -203 ID: 0 (X,cT)=-9.79e-05,+5.68e-05,+6.63e-05,+1.32e-04 - I: 1 431 111 -7.34e-01,+4.26e-01,+4.97e-01,+9.93e-01 2 -203 - O: 2 581 22 -3.41e-01,+2.71e-01,+2.25e-01,+4.90e-01 1 - 582 22 -3.94e-01,+1.56e-01,+2.73e-01,+5.03e-01 1 -Vertex: -204 ID: 0 (X,cT)=+1.01e-05,-5.45e-05,-6.08e-06,+5.98e-05 - I: 1 434 111 +6.29e-02,-3.41e-01,-3.80e-02,+3.74e-01 2 -204 - O: 2 583 22 +5.58e-02,-8.25e-02,+3.46e-02,+1.05e-01 1 - 584 22 +7.11e-03,-2.58e-01,-7.26e-02,+2.69e-01 1 -Vertex: -205 ID: 0 (X,cT)=-3.75e-05,-4.46e-06,+3.21e-06,+5.29e-05 - I: 1 437 111 -1.37e-01,-1.63e-02,+1.18e-02,+1.94e-01 2 -205 - O: 2 585 22 -9.46e-02,+4.14e-02,+4.73e-02,+1.14e-01 1 - 586 22 -4.29e-02,-5.77e-02,-3.55e-02,+8.02e-02 1 -Vertex: -206 ID: 0 (X,cT)=+1.58e-01,-6.64e-02,-8.93e-01,+9.27e-01 - I: 1 438 10323 +8.73e-01,-6.30e-01,-7.46e+00,+7.64e+00 2 -206 - O: 2 587 321 +3.86e-01,-2.73e-01,-2.92e+00,+3.00e+00 1 - 588 223 +4.87e-01,-3.58e-01,-4.53e+00,+4.64e+00 2 -219 -Vertex: -207 ID: 0 (X,cT)=+6.34e+00,+1.12e+01,-3.83e+01,+4.12e+01 - I: 1 442 310 +3.84e-01,+6.75e-01,-2.32e+00,+2.49e+00 2 -207 - O: 2 589 -211 +1.48e-01,+5.93e-01,-1.74e+00,+1.85e+00 1 - 590 211 +2.36e-01,+8.15e-02,-5.72e-01,+6.40e-01 1 -Vertex: -208 ID: 0 (X,cT)=+6.83e+00,+2.32e+01,-1.43e+02,+1.45e+02 - I: 1 443 310 +4.92e-01,+1.67e+00,-1.03e+01,+1.05e+01 2 -208 - O: 2 591 211 +2.44e-01,+1.36e+00,-7.90e+00,+8.02e+00 1 - 592 -211 +2.48e-01,+3.05e-01,-2.40e+00,+2.43e+00 1 -Vertex: -209 ID: 0 (X,cT)=+9.00e-01,-4.13e-01,-2.42e+00,+2.63e+00 - I: 1 461 -313 +3.33e+00,-1.55e+00,-7.24e+00,+8.16e+00 2 -209 - O: 2 593 -321 +2.28e+00,-1.05e+00,-5.51e+00,+6.07e+00 1 - 594 211 +1.05e+00,-5.07e-01,-1.73e+00,+2.09e+00 1 -Vertex: -210 ID: 0 (X,cT)=+9.00e-01,-4.13e-01,-2.42e+00,+2.63e+00 - I: 1 462 111 +2.92e+00,-1.31e+00,-9.56e+00,+1.01e+01 2 -210 - O: 2 595 22 +2.61e+00,-1.13e+00,-8.44e+00,+8.90e+00 1 - 596 22 +3.12e-01,-1.85e-01,-1.12e+00,+1.18e+00 1 -Vertex: -211 ID: 0 (X,cT)=+1.16e-05,-1.47e-05,-9.04e-06,+2.29e-05 - I: 1 469 111 +1.61e-01,-2.04e-01,-1.26e-01,+3.19e-01 2 -211 - O: 2 597 22 +1.53e-02,-6.02e-02,-9.24e-02,+1.11e-01 1 - 598 22 +1.46e-01,-1.44e-01,-3.35e-02,+2.08e-01 1 -Vertex: -212 ID: 0 (X,cT)=+4.54e-05,+4.92e-05,+5.89e-04,+5.93e-04 - I: 1 500 111 +3.73e-01,+4.04e-01,+4.84e+00,+4.87e+00 2 -212 - O: 2 599 22 +6.24e-02,+9.07e-02,+5.92e-01,+6.02e-01 1 - 600 22 +3.10e-01,+3.13e-01,+4.25e+00,+4.27e+00 1 -Vertex: -213 ID: 0 (X,cT)=+1.06e-05,+1.77e-05,+2.45e-04,+2.46e-04 - I: 1 501 111 +4.30e-01,+7.17e-01,+9.92e+00,+9.96e+00 2 -213 - O: 2 601 22 +2.70e-01,+3.42e-01,+4.68e+00,+4.70e+00 1 - 602 22 +1.60e-01,+3.75e-01,+5.24e+00,+5.26e+00 1 -Vertex: -214 ID: 0 (X,cT)=+3.42e-05,+3.55e-05,+6.36e-04,+6.39e-04 - I: 1 502 111 +1.53e-01,+1.59e-01,+2.85e+00,+2.86e+00 2 -214 - O: 2 603 22 +1.66e-01,+9.32e-02,+2.21e+00,+2.21e+00 1 - 604 22 -1.33e-02,+6.57e-02,+6.40e-01,+6.43e-01 1 -Vertex: -215 ID: 0 (X,cT)=+2.34e+01,+2.39e+01,-3.53e+02,+3.55e+02 - I: 1 539 310 +4.98e-01,+5.10e-01,-7.52e+00,+7.57e+00 2 -215 - O: 2 605 -211 -2.61e-02,+1.43e-01,-1.27e+00,+1.29e+00 1 - 606 211 +5.24e-01,+3.67e-01,-6.25e+00,+6.28e+00 1 -Vertex: -216 ID: 0 (X,cT)=-3.81e+00,+2.43e+00,-3.67e+01,+3.70e+01 - I: 1 561 311 -1.87e+01,+1.16e+01,-1.82e+02,+1.84e+02 2 -216 - O: 1 607 130 -1.87e+01,+1.16e+01,-1.82e+02,+1.84e+02 1 -Vertex: -217 ID: 0 (X,cT)=-8.57e+01,+5.84e+01,-1.21e+03,+1.22e+03 - I: 1 563 310 -4.47e-01,+3.05e-01,-6.33e+00,+6.37e+00 2 -217 - O: 2 608 111 -3.60e-01,+3.29e-01,-3.33e+00,+3.37e+00 2 -220 - 609 111 -8.72e-02,-2.40e-02,-2.99e+00,+3.00e+00 2 -221 -Vertex: -218 ID: 0 (X,cT)=-1.70e+00,+1.75e+00,-2.03e+01,+2.05e+01 - I: 1 566 310 -9.33e-01,+9.63e-01,-1.12e+01,+1.13e+01 2 -218 - O: 2 610 111 -1.61e-01,+2.25e-01,-1.49e+00,+1.52e+00 2 -222 - 611 111 -7.72e-01,+7.38e-01,-9.69e+00,+9.75e+00 2 -223 -Vertex: -219 ID: 0 (X,cT)=+1.58e-01,-6.64e-02,-8.93e-01,+9.27e-01 - I: 1 588 223 +4.87e-01,-3.58e-01,-4.53e+00,+4.64e+00 2 -219 - O: 3 612 -211 +3.21e-01,-2.23e-01,-1.77e+00,+1.82e+00 1 - 613 211 +1.03e-01,-2.97e-01,-2.00e+00,+2.03e+00 1 - 614 111 +6.30e-02,+1.63e-01,-7.63e-01,+7.94e-01 2 -224 -Vertex: -220 ID: 0 (X,cT)=-8.57e+01,+5.84e+01,-1.21e+03,+1.22e+03 - I: 1 608 111 -3.60e-01,+3.29e-01,-3.33e+00,+3.37e+00 2 -220 - O: 2 615 22 -3.26e-01,+2.76e-01,-3.12e+00,+3.15e+00 1 - 616 22 -3.41e-02,+5.33e-02,-2.15e-01,+2.24e-01 1 -Vertex: -221 ID: 0 (X,cT)=-8.57e+01,+5.84e+01,-1.21e+03,+1.22e+03 - I: 1 609 111 -8.72e-02,-2.40e-02,-2.99e+00,+3.00e+00 2 -221 - O: 2 617 22 -1.01e-01,+2.75e-02,-2.29e+00,+2.30e+00 1 - 618 22 +1.37e-02,-5.15e-02,-7.01e-01,+7.03e-01 1 -Vertex: -222 ID: 0 (X,cT)=-1.70e+00,+1.75e+00,-2.03e+01,+2.05e+01 - I: 1 610 111 -1.61e-01,+2.25e-01,-1.49e+00,+1.52e+00 2 -222 - O: 2 619 22 -7.30e-02,+2.04e-01,-1.01e+00,+1.03e+00 1 - 620 22 -8.76e-02,+2.04e-02,-4.77e-01,+4.85e-01 1 -Vertex: -223 ID: 0 (X,cT)=-1.70e+00,+1.75e+00,-2.03e+01,+2.05e+01 - I: 1 611 111 -7.72e-01,+7.38e-01,-9.69e+00,+9.75e+00 2 -223 - O: 2 621 22 -6.72e-01,+5.71e-01,-7.86e+00,+7.91e+00 1 - 622 22 -1.00e-01,+1.67e-01,-1.82e+00,+1.83e+00 1 -Vertex: -224 ID: 0 (X,cT)=+1.58e-01,-6.64e-02,-8.93e-01,+9.27e-01 - I: 1 614 111 +6.30e-02,+1.63e-01,-7.63e-01,+7.94e-01 2 -224 - O: 2 623 22 -8.72e-03,-2.00e-02,-1.18e-01,+1.20e-01 1 - 624 22 +7.17e-02,+1.83e-01,-6.45e-01,+6.74e-01 1 -________________________________________________________________________________ -Stage 0->1 : 0 hits found in the muon chamber. -++++++++ event aborted ->>> Event 1 - 0 hits are stored in ExN04TrackerHitsCollection. - 0 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0 (GeV) - 0 hits are stored in ExN04MuonHitsCollection. -________________________________________________________________________________ -GenEvent: #3 ID=20 SignalProcessGenVertex Barcode: 0 - Current Memory Usage: 1 events, 102 vertices, 280 particles. - Entries this event: 102 vertices, 280 particles. - RndmState(0)= - Wgts(0)= - EventScale -1 [energy] alphaQCD=-1 alphaQED=-1 - GenParticle Legend - Barcode PDG ID ( Px, Py, Pz, E ) Stat DecayVtx -________________________________________________________________________________ -GenVertex: -1 ID: 0 (X,cT):0 - I: 1 1 2212 +0.00e+00,+0.00e+00,+7.00e+03,+7.00e+03 3 -1 - O: 3 15 2 +3.93e-01,-4.42e-01,+2.02e+01,+2.03e+01 2 -11 - 14 2101 -9.42e-01,+2.17e-01,+6.53e+03,+6.53e+03 2 -9 - 3 21 +5.50e-01,+2.26e-01,+5.57e+01,+5.57e+01 3 -3 -GenVertex: -2 ID: 0 (X,cT):0 - I: 1 2 2212 +0.00e+00,+0.00e+00,-7.00e+03,+7.00e+03 3 -2 - O: 2 29 2203 +2.49e+00,+5.11e-01,-5.57e+03,+5.57e+03 2 -11 - 4 1 -2.49e+00,-5.11e-01,-1.27e+03,+1.27e+03 3 -4 -GenVertex: -3 ID: 0 (X,cT):0 - I: 1 3 21 +5.50e-01,+2.26e-01,+5.57e+01,+5.57e+01 3 -3 - O: 4 17 21 -1.67e-01,+9.43e-01,-4.22e+00,+4.33e+00 2 -11 - 13 2 -1.06e+00,+5.40e-01,+6.25e-01,+1.38e+00 2 -9 - 16 21 +1.28e+00,-8.74e-01,+5.02e+01,+5.02e+01 2 -11 - 5 -2 +5.15e-01,-3.71e-01,+4.37e+00,+4.41e+00 3 -5 -GenVertex: -4 ID: 0 (X,cT):0 - I: 1 4 1 -2.49e+00,-5.11e-01,-1.27e+03,+1.27e+03 3 -4 - O: 7 26 21 -3.65e+00,+1.06e+00,-1.44e+02,+1.44e+02 2 -11 - 27 21 -8.57e-01,+1.30e+00,-8.64e+01,+8.64e+01 2 -11 - 28 21 +2.10e-01,-2.36e-01,-5.04e+02,+5.04e+02 2 -11 - 6 1 +2.57e+00,+4.38e-01,-4.63e+02,+4.63e+02 3 -5 - 23 21 -6.21e-01,-2.83e+00,-4.24e+01,+4.25e+01 2 -11 - 25 21 -4.72e-02,-2.81e-01,-7.30e+00,+7.31e+00 2 -11 - 24 21 -1.09e-01,+2.50e-02,-1.28e+01,+1.28e+01 2 -11 -GenVertex: -5 ID: 0 (X,cT):0 - I: 2 6 1 +2.57e+00,+4.38e-01,-4.63e+02,+4.63e+02 3 -5 - 5 -2 +5.15e-01,-3.71e-01,+4.37e+00,+4.41e+00 3 -5 - O: 2 8 -24 +2.48e+00,-4.66e+00,-4.53e+02,+4.60e+02 3 -7 - 7 22 +6.11e-01,+4.73e+00,-5.78e+00,+7.50e+00 3 -6 -GenVertex: -6 ID: 0 (X,cT):0 - I: 1 7 22 +6.11e-01,+4.73e+00,-5.78e+00,+7.50e+00 3 -6 - O: 1 9 22 +6.11e-01,+4.73e+00,-5.78e+00,+7.50e+00 1 -GenVertex: -7 ID: 0 (X,cT):0 - I: 1 8 -24 +2.48e+00,-4.66e+00,-4.53e+02,+4.60e+02 3 -7 - O: 1 10 -24 +2.48e+00,-4.66e+00,-4.53e+02,+4.60e+02 2 -8 -GenVertex: -8 ID: 0 (X,cT):0 - I: 1 10 -24 +2.48e+00,-4.66e+00,-4.53e+02,+4.60e+02 2 -8 - O: 2 12 -14 -9.19e+00,-3.92e+01,-1.68e+02,+1.73e+02 1 - 11 13 +1.17e+01,+3.45e+01,-2.85e+02,+2.87e+02 1 -GenVertex: -9 ID: 0 (X,cT):0 - I: 2 13 2 -1.06e+00,+5.40e-01,+6.25e-01,+1.38e+00 2 -9 - 14 2101 -9.42e-01,+2.17e-01,+6.53e+03,+6.53e+03 2 -9 - O: 1 35 92 -2.00e+00,+7.56e-01,+6.53e+03,+6.54e+03 2 -10 -GenVertex: -10 ID: 0 (X,cT):0 - I: 1 35 92 -2.00e+00,+7.56e-01,+6.53e+03,+6.54e+03 2 -10 - O: 9 37 333 -1.11e+00,+1.44e-01,+2.44e+00,+2.87e+00 2 -17 - 38 -321 +5.75e-01,-1.63e-01,+3.07e+00,+3.17e+00 1 - 39 323 -4.93e-01,+1.18e-01,+1.14e+01,+1.14e+01 2 -18 - 40 333 +4.67e-02,-1.10e-02,+6.10e+01,+6.10e+01 2 -19 - 41 -313 +6.61e-02,+2.00e-01,+1.02e+02,+1.02e+02 2 -20 - 42 -211 +6.62e-01,+2.34e-03,+1.91e+01,+1.92e+01 1 - 43 213 -1.13e+00,+2.68e-01,+8.99e+02,+8.99e+02 2 -21 - 44 2112 -3.44e-01,+2.18e-02,+5.44e+03,+5.44e+03 1 - 36 321 -2.73e-01,+1.76e-01,+9.69e-01,+1.13e+00 1 -GenVertex: -11 ID: 0 (X,cT):0 - I:15 17 21 -1.67e-01,+9.43e-01,-4.22e+00,+4.33e+00 2 -11 - 26 21 -3.65e+00,+1.06e+00,-1.44e+02,+1.44e+02 2 -11 - 15 2 +3.93e-01,-4.42e-01,+2.02e+01,+2.03e+01 2 -11 - 27 21 -8.57e-01,+1.30e+00,-8.64e+01,+8.64e+01 2 -11 - 28 21 +2.10e-01,-2.36e-01,-5.04e+02,+5.04e+02 2 -11 - 23 21 -6.21e-01,-2.83e+00,-4.24e+01,+4.25e+01 2 -11 - 29 2203 +2.49e+00,+5.11e-01,-5.57e+03,+5.57e+03 2 -11 - 16 21 +1.28e+00,-8.74e-01,+5.02e+01,+5.02e+01 2 -11 - 25 21 -4.72e-02,-2.81e-01,-7.30e+00,+7.31e+00 2 -11 - 24 21 -1.09e-01,+2.50e-02,-1.28e+01,+1.28e+01 2 -11 - 18 21 +9.34e-01,+2.91e+00,+1.97e+01,+2.00e+01 2 -11 - 19 21 -2.14e+00,+4.17e+00,-2.51e+00,+5.32e+00 2 -11 - 20 21 +2.14e+00,-4.17e+00,-7.24e+00,+8.62e+00 2 -11 - 21 21 +2.68e+00,-1.72e+00,-3.07e+01,+3.09e+01 2 -11 - 22 21 -2.68e+00,+1.72e+00,-1.05e+02,+1.05e+02 2 -11 - O: 1 45 92 -1.50e-01,+2.09e+00,-6.43e+03,+6.61e+03 2 -12 -GenVertex: -12 ID: 0 (X,cT):0 - I: 1 45 92 -1.50e-01,+2.09e+00,-6.43e+03,+6.61e+03 2 -12 - O:44 82 311 -1.74e-02,+2.33e-01,-6.04e+01,+6.04e+01 2 -45 - 84 211 -1.34e-01,-9.12e-02,-7.11e+00,+7.11e+00 1 - 72 213 +4.81e-01,-1.41e-01,-1.37e+01,+1.37e+01 2 -40 - 73 111 -6.69e-01,+1.78e-01,-1.87e+01,+1.87e+01 2 -41 - 83 -323 -5.63e-01,-7.34e-02,-1.48e+02,+1.48e+02 2 -46 - 86 -211 +2.67e-01,-2.79e-01,-5.20e+02,+5.20e+02 1 - 47 113 +6.88e-02,-1.41e-01,+2.65e+01,+2.66e+01 2 -22 - 76 -2212 -6.65e-01,+6.91e-02,-2.61e+01,+2.61e+01 1 - 77 3224 -4.07e-01,-1.66e+00,-3.45e+01,+3.46e+01 2 -43 - 78 311 -2.78e-01,+5.33e-02,-1.90e+01,+1.90e+01 2 -44 - 79 -2112 -1.86e+00,+2.64e-01,-6.69e+01,+6.69e+01 1 - 80 -211 -4.20e-01,-6.99e-02,-4.46e+01,+4.47e+01 1 - 81 211 -1.23e+00,+5.35e-01,-3.48e+01,+3.49e+01 1 - 85 113 +1.80e-02,+8.34e-01,-6.47e+02,+6.47e+02 2 -47 - 88 2214 +5.67e-01,+9.88e-02,-8.80e+02,+8.80e+02 2 -49 - 87 213 +3.40e-01,+1.94e-01,-1.02e+03,+1.02e+03 2 -48 - 89 223 +1.23e+00,+3.33e-01,-2.87e+03,+2.87e+03 2 -50 - 48 -211 -3.37e-01,-1.68e-01,+9.43e+00,+9.44e+00 1 - 46 211 +1.39e+00,-8.14e-01,+3.12e+01,+3.13e+01 1 - 71 -321 -2.78e-01,+3.30e-01,-8.84e+00,+8.87e+00 1 - 49 113 +6.00e-01,-2.67e-01,+2.22e+00,+2.44e+00 2 -23 - 50 323 -3.07e-01,-6.12e-02,-1.42e-02,+9.76e-01 2 -24 - 51 -313 +1.43e-02,+4.68e-01,-3.88e-01,+1.12e+00 2 -25 - 52 111 +8.08e-02,-1.35e-02,-7.15e-01,+7.33e-01 2 -26 - 53 113 -2.30e-01,+1.48e-01,-1.62e+00,+1.84e+00 2 -27 - 54 223 +3.60e-01,+7.58e-01,+8.72e-01,+1.44e+00 2 -28 - 55 113 +1.21e-01,+1.16e-01,+9.83e-01,+1.26e+00 2 -29 - 56 -213 +8.69e-02,+1.01e+00,+7.42e+00,+7.52e+00 2 -30 - 57 323 +1.76e-01,+4.23e-01,+1.93e+00,+2.16e+00 2 -31 - 58 -321 +1.93e-01,+1.97e-01,+6.13e+00,+6.16e+00 1 - 59 223 -2.63e-01,+7.90e-01,+6.47e-01,+1.31e+00 2 -32 - 60 213 +1.35e-01,+1.08e+00,+5.74e-01,+1.37e+00 2 -33 - 61 -211 -1.05e+00,+1.11e+00,-1.21e-01,+1.54e+00 1 - 62 213 -9.08e-02,+5.82e-01,-1.54e+00,+1.76e+00 2 -34 - 63 221 +1.94e-01,-2.74e-01,-2.66e-01,+6.95e-01 2 -35 - 64 -213 +2.31e-01,+2.74e-01,-1.31e+00,+1.58e+00 2 -36 - 65 213 -4.52e-01,+2.86e-01,-1.23e+00,+1.57e+00 2 -37 - 66 2114 +9.53e-01,-6.69e-01,-3.09e+00,+3.53e+00 2 -38 - 67 211 -1.36e-01,-6.50e-01,-8.86e-01,+1.12e+00 1 - 68 -2212 +8.49e-01,-2.09e+00,-5.29e+00,+5.82e+00 1 - 69 -211 +1.20e-01,+2.39e-01,-1.06e+00,+1.10e+00 1 - 70 323 +1.48e+00,-9.63e-01,-1.55e+01,+1.56e+01 2 -39 - 75 2212 -3.93e-01,+8.27e-02,-3.98e+01,+3.98e+01 1 - 74 -213 -3.45e-01,-1.71e-01,-1.77e+01,+1.77e+01 2 -42 -GenVertex: -13 ID: 0 (X,cT):0 - I: 3 30 21 -3.00e+00,+2.35e+00,+2.36e+02,+2.36e+02 2 -13 - 31 21 -9.34e-01,-2.91e+00,+1.02e+02,+1.02e+02 2 -13 - 32 21 +3.00e+00,-2.35e+00,+2.97e+01,+3.00e+01 2 -13 - O: 1 90 92 -9.34e-01,-2.91e+00,+3.67e+02,+3.67e+02 2 -14 -GenVertex: -14 ID: 0 (X,cT):0 - I: 1 90 92 -9.34e-01,-2.91e+00,+3.67e+02,+3.67e+02 2 -14 - O:11 96 113 -1.28e-01,-1.56e-01,+3.41e+01,+3.41e+01 2 -54 - 100 2112 +5.39e-01,-8.02e-01,+1.40e+01,+1.41e+01 1 - 92 -211 -1.30e+00,+8.92e-01,+8.32e+01,+8.33e+01 1 - 95 213 -8.94e-01,-3.47e-01,+5.52e+01,+5.52e+01 2 -53 - 97 -211 -5.72e-01,-9.49e-01,+3.99e+01,+3.99e+01 1 - 98 111 +4.23e-01,-2.45e-01,+3.08e+00,+3.12e+00 2 -55 - 99 -2112 +1.14e+00,-1.49e+00,+2.49e+01,+2.50e+01 1 - 101 223 +1.06e+00,-1.22e-01,+2.53e+01,+2.53e+01 2 -56 - 91 211 -8.24e-01,-1.45e-02,+1.59e+01,+1.59e+01 1 - 93 -311 -2.08e-02,-2.14e-01,+2.11e+01,+2.11e+01 2 -51 - 94 313 -3.62e-01,+5.42e-01,+5.03e+01,+5.03e+01 2 -52 -GenVertex: -15 ID: 0 (X,cT):0 - I: 2 33 21 +1.02e+00,-2.88e+00,-9.85e+00,+1.03e+01 2 -15 - 34 21 -1.02e+00,+2.88e+00,-7.45e+00,+8.05e+00 2 -15 - O: 1 102 92 +0.00e+00,+0.00e+00,-1.73e+01,+1.84e+01 2 -16 -GenVertex: -16 ID: 0 (X,cT):0 - I: 1 102 92 +0.00e+00,+0.00e+00,-1.73e+01,+1.84e+01 2 -16 - O: 7 103 113 +2.54e-01,-1.28e-01,-3.69e+00,+3.77e+00 2 -57 - 109 113 -5.13e-01,+2.04e-01,-2.60e+00,+2.77e+00 2 -62 - 104 223 -7.85e-02,+4.34e-02,-9.82e-01,+1.26e+00 2 -58 - 105 213 +1.78e-01,+3.27e-01,-2.62e+00,+2.77e+00 2 -59 - 106 111 +1.94e-01,-8.30e-01,-1.78e+00,+1.98e+00 2 -60 - 107 -211 -2.88e-01,+5.23e-01,-3.10e+00,+3.16e+00 1 - 108 223 +2.53e-01,-1.38e-01,-2.52e+00,+2.66e+00 2 -61 -GenVertex: -17 ID: 0 (X,cT):0 - I: 1 37 333 -1.11e+00,+1.44e-01,+2.44e+00,+2.87e+00 2 -17 - O: 2 111 -321 -5.74e-01,+1.48e-01,+1.05e+00,+1.30e+00 1 - 110 321 -5.35e-01,-4.15e-03,+1.39e+00,+1.57e+00 1 -GenVertex: -18 ID: 0 (X,cT):0 - I: 1 39 323 -4.93e-01,+1.18e-01,+1.14e+01,+1.14e+01 2 -18 - O: 2 112 311 -1.65e-01,+7.95e-02,+8.26e+00,+8.27e+00 2 -63 - 113 211 -3.29e-01,+3.86e-02,+3.09e+00,+3.12e+00 1 -GenVertex: -19 ID: 0 (X,cT):0 - I: 1 40 333 +4.67e-02,-1.10e-02,+6.10e+01,+6.10e+01 2 -19 - O: 2 114 321 -8.91e-02,+3.84e-02,+3.21e+01,+3.21e+01 1 - 115 -321 +1.36e-01,-4.94e-02,+2.89e+01,+2.89e+01 1 -GenVertex: -20 ID: 0 (X,cT):0 - I: 1 41 -313 +6.61e-02,+2.00e-01,+1.02e+02,+1.02e+02 2 -20 - O: 2 116 -311 -2.08e-01,+2.83e-01,+4.52e+01,+4.53e+01 2 -64 - 117 111 +2.74e-01,-8.21e-02,+5.65e+01,+5.65e+01 2 -65 -GenVertex: -21 ID: 0 (X,cT):0 - I: 1 43 213 -1.13e+00,+2.68e-01,+8.99e+02,+8.99e+02 2 -21 - O: 2 118 211 -1.03e+00,+4.32e-01,+6.38e+02,+6.38e+02 1 - 119 111 -1.00e-01,-1.65e-01,+2.61e+02,+2.61e+02 2 -66 -GenVertex: -22 ID: 0 (X,cT):0 - I: 1 47 113 +6.88e-02,-1.41e-01,+2.65e+01,+2.66e+01 2 -22 - O: 2 120 -211 +2.55e-01,-1.00e-02,+2.33e+01,+2.33e+01 1 - 121 211 -1.86e-01,-1.31e-01,+3.23e+00,+3.24e+00 1 -GenVertex: -23 ID: 0 (X,cT):0 - I: 1 49 113 +6.00e-01,-2.67e-01,+2.22e+00,+2.44e+00 2 -23 - O: 2 122 211 +7.62e-01,-2.15e-01,+1.64e+00,+1.83e+00 1 - 123 -211 -1.62e-01,-5.17e-02,+5.74e-01,+6.14e-01 1 -GenVertex: -24 ID: 0 (X,cT):0 - I: 1 50 323 -3.07e-01,-6.12e-02,-1.42e-02,+9.76e-01 2 -24 - O: 2 124 311 -4.48e-01,-2.27e-01,-7.65e-02,+7.11e-01 2 -67 - 125 211 +1.40e-01,+1.66e-01,+6.23e-02,+2.65e-01 1 -GenVertex: -25 ID: 0 (X,cT):0 - I: 1 51 -313 +1.43e-02,+4.68e-01,-3.88e-01,+1.12e+00 2 -25 - O: 2 126 -321 -2.60e-02,+2.92e-01,+9.54e-02,+5.82e-01 1 - 127 211 +4.03e-02,+1.76e-01,-4.83e-01,+5.35e-01 1 -Vertex: -26 ID: 0 (X,cT)=+4.64e-05,-7.72e-06,-4.10e-04,+4.20e-04 - I: 1 52 111 +8.08e-02,-1.35e-02,-7.15e-01,+7.33e-01 2 -26 - O: 2 129 22 +9.76e-02,-3.63e-02,-6.77e-01,+6.85e-01 1 - 128 22 -1.68e-02,+2.28e-02,-3.88e-02,+4.80e-02 1 -GenVertex: -27 ID: 0 (X,cT):0 - I: 1 53 113 -2.30e-01,+1.48e-01,-1.62e+00,+1.84e+00 2 -27 - O: 2 130 -211 -8.09e-02,+2.95e-01,-1.97e-01,+3.90e-01 1 - 131 211 -1.49e-01,-1.47e-01,-1.43e+00,+1.45e+00 1 -GenVertex: -28 ID: 0 (X,cT):0 - I: 1 54 223 +3.60e-01,+7.58e-01,+8.72e-01,+1.44e+00 2 -28 - O: 3 132 211 +1.97e-01,+3.51e-01,+6.75e-01,+7.98e-01 1 - 133 -211 -3.88e-02,+1.47e-01,+2.00e-01,+2.87e-01 1 - 134 111 +2.02e-01,+2.60e-01,-3.27e-03,+3.56e-01 2 -68 -GenVertex: -29 ID: 0 (X,cT):0 - I: 1 55 113 +1.21e-01,+1.16e-01,+9.83e-01,+1.26e+00 2 -29 - O: 2 135 -211 +1.15e-01,+2.71e-01,+9.97e-01,+1.05e+00 1 - 136 211 +5.83e-03,-1.56e-01,-1.47e-02,+2.10e-01 1 -GenVertex: -30 ID: 0 (X,cT):0 - I: 1 56 -213 +8.69e-02,+1.01e+00,+7.42e+00,+7.52e+00 2 -30 - O: 2 137 -211 -8.49e-03,+1.28e-01,+3.83e-01,+4.28e-01 1 - 138 111 +9.53e-02,+8.80e-01,+7.03e+00,+7.09e+00 2 -69 -GenVertex: -31 ID: 0 (X,cT):0 - I: 1 57 323 +1.76e-01,+4.23e-01,+1.93e+00,+2.16e+00 2 -31 - O: 2 139 311 +6.63e-02,+5.21e-01,+1.76e+00,+1.90e+00 2 -70 - 140 211 +1.10e-01,-9.78e-02,+1.66e-01,+2.62e-01 1 -GenVertex: -32 ID: 0 (X,cT):0 - I: 1 59 223 -2.63e-01,+7.90e-01,+6.47e-01,+1.31e+00 2 -32 - O: 3 143 111 +1.43e-01,+4.38e-02,+1.63e-01,+2.59e-01 2 -71 - 141 211 -1.81e-01,+4.47e-01,+1.25e-01,+5.17e-01 1 - 142 -211 -2.25e-01,+2.99e-01,+3.59e-01,+5.38e-01 1 -GenVertex: -33 ID: 0 (X,cT):0 - I: 1 60 213 +1.35e-01,+1.08e+00,+5.74e-01,+1.37e+00 2 -33 - O: 2 144 211 +6.61e-02,+1.08e+00,+5.00e-01,+1.20e+00 1 - 145 111 +6.86e-02,-8.01e-04,+7.43e-02,+1.69e-01 2 -72 -GenVertex: -34 ID: 0 (X,cT):0 - I: 1 62 213 -9.08e-02,+5.82e-01,-1.54e+00,+1.76e+00 2 -34 - O: 2 146 211 -4.09e-02,-5.32e-02,-5.87e-01,+6.07e-01 1 - 147 111 -4.99e-02,+6.35e-01,-9.56e-01,+1.16e+00 2 -73 -GenVertex: -35 ID: 0 (X,cT):0 - I: 1 63 221 +1.94e-01,-2.74e-01,-2.66e-01,+6.95e-01 2 -35 - O: 3 149 111 +2.01e-01,-6.40e-02,-9.60e-02,+2.68e-01 2 -75 - 148 111 -8.07e-02,-5.76e-02,-3.25e-02,+1.71e-01 2 -74 - 150 111 +7.41e-02,-1.52e-01,-1.38e-01,+2.57e-01 2 -76 -GenVertex: -36 ID: 0 (X,cT):0 - I: 1 64 -213 +2.31e-01,+2.74e-01,-1.31e+00,+1.58e+00 2 -36 - O: 2 151 -211 +4.35e-01,+4.07e-01,-8.38e-01,+1.04e+00 1 - 152 111 -2.04e-01,-1.33e-01,-4.69e-01,+5.45e-01 2 -77 -GenVertex: -37 ID: 0 (X,cT):0 - I: 1 65 213 -4.52e-01,+2.86e-01,-1.23e+00,+1.57e+00 2 -37 - O: 2 153 211 -1.15e-01,-2.61e-01,-4.89e-01,+5.83e-01 1 - 154 111 -3.37e-01,+5.47e-01,-7.40e-01,+9.89e-01 2 -78 -GenVertex: -38 ID: 0 (X,cT):0 - I: 1 66 2114 +9.53e-01,-6.69e-01,-3.09e+00,+3.53e+00 2 -38 - O: 2 155 2212 +6.04e-01,-7.13e-01,-2.45e+00,+2.79e+00 1 - 156 -211 +3.49e-01,+4.35e-02,-6.38e-01,+7.42e-01 1 -GenVertex: -39 ID: 0 (X,cT):0 - I: 1 70 323 +1.48e+00,-9.63e-01,-1.55e+01,+1.56e+01 2 -39 - O: 2 157 311 +5.39e-01,-2.99e-01,-4.42e+00,+4.49e+00 2 -79 - 158 211 +9.45e-01,-6.64e-01,-1.11e+01,+1.11e+01 1 -GenVertex: -40 ID: 0 (X,cT):0 - I: 1 72 213 +4.81e-01,-1.41e-01,-1.37e+01,+1.37e+01 2 -40 - O: 2 160 111 +4.80e-01,+2.17e-01,-7.34e+00,+7.36e+00 2 -80 - 159 211 +1.18e-04,-3.58e-01,-6.34e+00,+6.36e+00 1 -Vertex: -41 ID: 0 (X,cT)=-1.16e-04,+3.09e-05,-3.23e-03,+3.24e-03 - I: 1 73 111 -6.69e-01,+1.78e-01,-1.87e+01,+1.87e+01 2 -41 - O: 2 161 22 -5.04e-01,+7.96e-02,-1.28e+01,+1.28e+01 1 - 162 22 -1.65e-01,+9.88e-02,-5.90e+00,+5.90e+00 1 -GenVertex: -42 ID: 0 (X,cT):0 - I: 1 74 -213 -3.45e-01,-1.71e-01,-1.77e+01,+1.77e+01 2 -42 - O: 2 163 -211 +1.33e-01,+1.21e-01,-7.19e+00,+7.19e+00 1 - 164 111 -4.77e-01,-2.92e-01,-1.05e+01,+1.05e+01 2 -81 -GenVertex: -43 ID: 0 (X,cT):0 - I: 1 77 3224 -4.07e-01,-1.66e+00,-3.45e+01,+3.46e+01 2 -43 - O: 2 166 211 +6.12e-02,-3.83e-02,-3.63e+00,+3.64e+00 1 - 165 3122 -4.69e-01,-1.62e+00,-3.09e+01,+3.09e+01 2 -82 -GenVertex: -44 ID: 0 (X,cT):0 - I: 1 78 311 -2.78e-01,+5.33e-02,-1.90e+01,+1.90e+01 2 -44 - O: 1 167 130 -2.78e-01,+5.33e-02,-1.90e+01,+1.90e+01 1 -GenVertex: -45 ID: 0 (X,cT):0 - I: 1 82 311 -1.74e-02,+2.33e-01,-6.04e+01,+6.04e+01 2 -45 - O: 1 168 310 -1.74e-02,+2.33e-01,-6.04e+01,+6.04e+01 2 -83 -GenVertex: -46 ID: 0 (X,cT):0 - I: 1 83 -323 -5.63e-01,-7.34e-02,-1.48e+02,+1.48e+02 2 -46 - O: 2 169 -311 -5.45e-01,+2.59e-01,-8.99e+01,+8.99e+01 2 -84 - 170 -211 -1.76e-02,-3.32e-01,-5.80e+01,+5.80e+01 1 -GenVertex: -47 ID: 0 (X,cT):0 - I: 1 85 113 +1.80e-02,+8.34e-01,-6.47e+02,+6.47e+02 2 -47 - O: 2 171 211 +9.30e-02,-1.09e-02,-3.29e+01,+3.29e+01 1 - 172 -211 -7.50e-02,+8.45e-01,-6.14e+02,+6.14e+02 1 -GenVertex: -48 ID: 0 (X,cT):0 - I: 1 87 213 +3.40e-01,+1.94e-01,-1.02e+03,+1.02e+03 2 -48 - O: 2 173 211 +8.59e-02,+3.47e-01,-6.99e+02,+6.99e+02 1 - 174 111 +2.54e-01,-1.53e-01,-3.24e+02,+3.24e+02 2 -85 -GenVertex: -49 ID: 0 (X,cT):0 - I: 1 88 2214 +5.67e-01,+9.88e-02,-8.80e+02,+8.80e+02 2 -49 - O: 2 175 2212 +3.83e-01,+1.63e-01,-5.77e+02,+5.77e+02 1 - 176 111 +1.84e-01,-6.41e-02,-3.04e+02,+3.04e+02 2 -86 -GenVertex: -50 ID: 0 (X,cT):0 - I: 1 89 223 +1.23e+00,+3.33e-01,-2.87e+03,+2.87e+03 2 -50 - O: 3 177 211 +5.33e-01,+7.46e-02,-1.01e+03,+1.01e+03 1 - 178 -211 +4.00e-01,-1.62e-02,-1.32e+03,+1.32e+03 1 - 179 111 +2.98e-01,+2.74e-01,-5.41e+02,+5.41e+02 2 -87 -GenVertex: -51 ID: 0 (X,cT):0 - I: 1 93 -311 -2.08e-02,-2.14e-01,+2.11e+01,+2.11e+01 2 -51 - O: 1 180 130 -2.08e-02,-2.14e-01,+2.11e+01,+2.11e+01 1 -GenVertex: -52 ID: 0 (X,cT):0 - I: 1 94 313 -3.62e-01,+5.42e-01,+5.03e+01,+5.03e+01 2 -52 - O: 2 181 321 -3.90e-01,+2.06e-01,+3.09e+01,+3.09e+01 1 - 182 -211 +2.79e-02,+3.36e-01,+1.94e+01,+1.94e+01 1 -GenVertex: -53 ID: 0 (X,cT):0 - I: 1 95 213 -8.94e-01,-3.47e-01,+5.52e+01,+5.52e+01 2 -53 - O: 2 183 211 -8.91e-01,-1.82e-01,+3.63e+01,+3.63e+01 1 - 184 111 -2.63e-03,-1.65e-01,+1.89e+01,+1.89e+01 2 -88 -GenVertex: -54 ID: 0 (X,cT):0 - I: 1 96 113 -1.28e-01,-1.56e-01,+3.41e+01,+3.41e+01 2 -54 - O: 2 185 -211 -1.20e-02,-3.34e-01,+2.86e+01,+2.86e+01 1 - 186 211 -1.16e-01,+1.78e-01,+5.45e+00,+5.46e+00 1 -Vertex: -55 ID: 0 (X,cT)=+4.23e-05,-2.45e-05,+3.08e-04,+3.12e-04 - I: 1 98 111 +4.23e-01,-2.45e-01,+3.08e+00,+3.12e+00 2 -55 - O: 2 188 22 +1.35e-01,-1.49e-01,+1.38e+00,+1.40e+00 1 - 187 22 +2.88e-01,-9.56e-02,+1.70e+00,+1.72e+00 1 -GenVertex: -56 ID: 0 (X,cT):0 - I: 1 101 223 +1.06e+00,-1.22e-01,+2.53e+01,+2.53e+01 2 -56 - O: 3 191 111 +5.32e-01,+1.66e-01,+1.27e+01,+1.27e+01 2 -89 - 189 211 +5.04e-01,-1.97e-01,+8.76e+00,+8.77e+00 1 - 190 -211 +2.54e-02,-9.08e-02,+3.85e+00,+3.86e+00 1 -GenVertex: -57 ID: 0 (X,cT):0 - I: 1 103 113 +2.54e-01,-1.28e-01,-3.69e+00,+3.77e+00 2 -57 - O: 2 192 -211 -1.71e-01,-5.67e-02,-2.24e+00,+2.25e+00 1 - 193 211 +4.26e-01,-7.15e-02,-1.45e+00,+1.52e+00 1 -GenVertex: -58 ID: 0 (X,cT):0 - I: 1 104 223 -7.85e-02,+4.34e-02,-9.82e-01,+1.26e+00 2 -58 - O: 3 194 -211 +7.65e-02,-8.75e-02,-7.83e-01,+8.04e-01 1 - 195 211 -1.94e-01,+1.20e-01,-1.32e-01,+2.98e-01 1 - 196 111 +3.92e-02,+1.08e-02,-6.72e-02,+1.56e-01 2 -90 -GenVertex: -59 ID: 0 (X,cT):0 - I: 1 105 213 +1.78e-01,+3.27e-01,-2.62e+00,+2.77e+00 2 -59 - O: 2 197 211 -2.80e-01,+2.51e-01,-1.39e+00,+1.44e+00 1 - 198 111 +4.58e-01,+7.63e-02,-1.24e+00,+1.33e+00 2 -91 -Vertex: -60 ID: 0 (X,cT)=+9.83e-05,-4.21e-04,-9.04e-04,+1.00e-03 - I: 1 106 111 +1.94e-01,-8.30e-01,-1.78e+00,+1.98e+00 2 -60 - O: 2 199 22 +1.08e-01,-5.84e-01,-1.11e+00,+1.25e+00 1 - 200 22 +8.65e-02,-2.46e-01,-6.78e-01,+7.27e-01 1 -GenVertex: -61 ID: 0 (X,cT):0 - I: 1 108 223 +2.53e-01,-1.38e-01,-2.52e+00,+2.66e+00 2 -61 - O: 3 201 -211 -4.19e-02,+9.47e-02,-3.16e-01,+3.61e-01 1 - 202 211 +1.25e-01,+2.93e-02,-2.70e-01,+3.30e-01 1 - 203 111 +1.70e-01,-2.62e-01,-1.93e+00,+1.96e+00 2 -92 -GenVertex: -62 ID: 0 (X,cT):0 - I: 1 109 113 -5.13e-01,+2.04e-01,-2.60e+00,+2.77e+00 2 -62 - O: 2 204 211 -6.28e-01,+1.34e-01,-1.31e+00,+1.46e+00 1 - 205 -211 +1.15e-01,+6.97e-02,-1.29e+00,+1.30e+00 1 -GenVertex: -63 ID: 0 (X,cT):0 - I: 1 112 311 -1.65e-01,+7.95e-02,+8.26e+00,+8.27e+00 2 -63 - O: 1 206 310 -1.65e-01,+7.95e-02,+8.26e+00,+8.27e+00 2 -93 -GenVertex: -64 ID: 0 (X,cT):0 - I: 1 116 -311 -2.08e-01,+2.83e-01,+4.52e+01,+4.53e+01 2 -64 - O: 1 207 310 -2.08e-01,+2.83e-01,+4.52e+01,+4.53e+01 2 -94 -Vertex: -65 ID: 0 (X,cT)=+7.38e-05,-2.21e-05,+1.52e-02,+1.52e-02 - I: 1 117 111 +2.74e-01,-8.21e-02,+5.65e+01,+5.65e+01 2 -65 - O: 2 208 22 +3.27e-02,-6.35e-02,+1.64e+01,+1.64e+01 1 - 209 22 +2.41e-01,-1.86e-02,+4.01e+01,+4.01e+01 1 -Vertex: -66 ID: 0 (X,cT)=-2.41e-05,-3.97e-05,+6.29e-02,+6.29e-02 - I: 1 119 111 -1.00e-01,-1.65e-01,+2.61e+02,+2.61e+02 2 -66 - O: 2 210 22 -3.55e-02,-4.32e-03,+1.12e+02,+1.12e+02 1 - 211 22 -6.45e-02,-1.60e-01,+1.49e+02,+1.49e+02 1 -GenVertex: -67 ID: 0 (X,cT):0 - I: 1 124 311 -4.48e-01,-2.27e-01,-7.65e-02,+7.11e-01 2 -67 - O: 1 212 310 -4.48e-01,-2.27e-01,-7.65e-02,+7.11e-01 2 -95 -Vertex: -68 ID: 0 (X,cT)=+5.62e-07,+7.23e-07,-9.08e-09,+9.90e-07 - I: 1 134 111 +2.02e-01,+2.60e-01,-3.27e-03,+3.56e-01 2 -68 - O: 2 213 22 +5.96e-02,+3.17e-04,-3.48e-03,+5.97e-02 1 - 214 22 +1.43e-01,+2.60e-01,+2.13e-04,+2.96e-01 1 -Vertex: -69 ID: 0 (X,cT)=+6.81e-05,+6.29e-04,+5.02e-03,+5.07e-03 - I: 1 138 111 +9.53e-02,+8.80e-01,+7.03e+00,+7.09e+00 2 -69 - O: 2 215 22 +9.82e-02,+6.35e-01,+5.48e+00,+5.52e+00 1 - 216 22 -2.90e-03,+2.45e-01,+1.55e+00,+1.57e+00 1 -GenVertex: -70 ID: 0 (X,cT):0 - I: 1 139 311 +6.63e-02,+5.21e-01,+1.76e+00,+1.90e+00 2 -70 - O: 1 217 310 +6.63e-02,+5.21e-01,+1.76e+00,+1.90e+00 2 -96 -Vertex: -71 ID: 0 (X,cT)=+2.07e-05,+6.35e-06,+2.36e-05,+3.76e-05 - I: 1 143 111 +1.43e-01,+4.38e-02,+1.63e-01,+2.59e-01 2 -71 - O: 2 219 22 -2.87e-03,+5.32e-02,+2.80e-02,+6.02e-02 1 - 218 22 +1.46e-01,-9.35e-03,+1.35e-01,+1.99e-01 1 -Vertex: -72 ID: 0 (X,cT)=+3.76e-05,-4.39e-07,+4.07e-05,+9.25e-05 - I: 1 145 111 +6.86e-02,-8.01e-04,+7.43e-02,+1.69e-01 2 -72 - O: 2 220 22 +2.42e-02,+6.45e-02,+1.68e-02,+7.09e-02 1 - 221 22 +4.44e-02,-6.53e-02,+5.76e-02,+9.78e-02 1 -Vertex: -73 ID: 0 (X,cT)=-5.91e-06,+7.52e-05,-1.13e-04,+1.37e-04 - I: 1 147 111 -4.99e-02,+6.35e-01,-9.56e-01,+1.16e+00 2 -73 - O: 2 222 22 -6.98e-02,+2.12e-01,-3.96e-01,+4.55e-01 1 - 223 22 +1.99e-02,+4.23e-01,-5.60e-01,+7.02e-01 1 -Vertex: -74 ID: 0 (X,cT)=-3.84e-05,-2.74e-05,-1.55e-05,+8.12e-05 - I: 1 148 111 -8.07e-02,-5.76e-02,-3.25e-02,+1.71e-01 2 -74 - O: 2 224 22 -1.12e-01,-6.36e-02,-5.73e-03,+1.29e-01 1 - 225 22 +3.13e-02,+6.07e-03,-2.68e-02,+4.17e-02 1 -Vertex: -75 ID: 0 (X,cT)=+4.38e-07,-1.40e-07,-2.10e-07,+5.85e-07 - I: 1 149 111 +2.01e-01,-6.40e-02,-9.60e-02,+2.68e-01 2 -75 - O: 2 226 22 +1.78e-01,-9.49e-02,-1.07e-01,+2.28e-01 1 - 227 22 +2.25e-02,+3.09e-02,+1.06e-02,+3.97e-02 1 -Vertex: -76 ID: 0 (X,cT)=+2.78e-06,-5.71e-06,-5.17e-06,+9.63e-06 - I: 1 150 111 +7.41e-02,-1.52e-01,-1.38e-01,+2.57e-01 2 -76 - O: 2 228 22 +2.08e-02,-3.01e-03,-8.82e-02,+9.06e-02 1 - 229 22 +5.32e-02,-1.49e-01,-4.97e-02,+1.66e-01 1 -Vertex: -77 ID: 0 (X,cT)=-1.62e-04,-1.05e-04,-3.72e-04,+4.33e-04 - I: 1 152 111 -2.04e-01,-1.33e-01,-4.69e-01,+5.45e-01 2 -77 - O: 2 230 22 -5.35e-02,-1.09e-01,-1.58e-01,+1.99e-01 1 - 231 22 -1.50e-01,-2.43e-02,-3.11e-01,+3.46e-01 1 -Vertex: -78 ID: 0 (X,cT)=-3.66e-05,+5.95e-05,-8.05e-05,+1.08e-04 - I: 1 154 111 -3.37e-01,+5.47e-01,-7.40e-01,+9.89e-01 2 -78 - O: 2 232 22 -2.19e-01,+4.46e-01,-6.11e-01,+7.88e-01 1 - 233 22 -1.17e-01,+1.01e-01,-1.29e-01,+2.01e-01 1 -GenVertex: -79 ID: 0 (X,cT):0 - I: 1 157 311 +5.39e-01,-2.99e-01,-4.42e+00,+4.49e+00 2 -79 - O: 1 234 130 +5.39e-01,-2.99e-01,-4.42e+00,+4.49e+00 1 -Vertex: -80 ID: 0 (X,cT)=+1.61e-05,+7.28e-06,-2.46e-04,+2.47e-04 - I: 1 160 111 +4.80e-01,+2.17e-01,-7.34e+00,+7.36e+00 2 -80 - O: 2 235 22 +2.66e-01,+1.44e-01,-3.31e+00,+3.33e+00 1 - 236 22 +2.15e-01,+7.28e-02,-4.03e+00,+4.03e+00 1 -Vertex: -81 ID: 0 (X,cT)=-3.45e-05,-2.11e-05,-7.57e-04,+7.58e-04 - I: 1 164 111 -4.77e-01,-2.92e-01,-1.05e+01,+1.05e+01 2 -81 - O: 2 237 22 -1.85e-01,-4.71e-02,-2.98e+00,+2.99e+00 1 - 238 22 -2.92e-01,-2.45e-01,-7.48e+00,+7.49e+00 1 -Vertex: -82 ID: 0 (X,cT)=-9.53e+01,-3.29e+02,-6.28e+03,+6.29e+03 - I: 1 165 3122 -4.69e-01,-1.62e+00,-3.09e+01,+3.09e+01 2 -82 - O: 2 240 -211 +5.01e-03,-1.82e-01,-4.71e+00,+4.71e+00 1 - 239 2212 -4.74e-01,-1.44e+00,-2.62e+01,+2.62e+01 1 -Vertex: -83 ID: 0 (X,cT)=-1.49e+00,+1.99e+01,-5.17e+03,+5.17e+03 - I: 1 168 310 -1.74e-02,+2.33e-01,-6.04e+01,+6.04e+01 2 -83 - O: 2 241 -211 -1.84e-01,-3.33e-04,-2.55e+01,+2.55e+01 1 - 242 211 +1.67e-01,+2.33e-01,-3.49e+01,+3.49e+01 1 -GenVertex: -84 ID: 0 (X,cT):0 - I: 1 169 -311 -5.45e-01,+2.59e-01,-8.99e+01,+8.99e+01 2 -84 - O: 1 243 130 -5.45e-01,+2.59e-01,-8.99e+01,+8.99e+01 1 -Vertex: -85 ID: 0 (X,cT)=+5.73e-06,-3.45e-06,-7.31e-03,+7.31e-03 - I: 1 174 111 +2.54e-01,-1.53e-01,-3.24e+02,+3.24e+02 2 -85 - O: 2 245 22 +9.09e-02,-9.45e-02,-8.53e+01,+8.53e+01 1 - 244 22 +1.63e-01,-5.83e-02,-2.39e+02,+2.39e+02 1 -Vertex: -86 ID: 0 (X,cT)=+4.34e-06,-1.51e-06,-7.14e-03,+7.14e-03 - I: 1 176 111 +1.84e-01,-6.41e-02,-3.04e+02,+3.04e+02 2 -86 - O: 2 246 22 +3.56e-02,-7.99e-02,-1.18e+02,+1.18e+02 1 - 247 22 +1.49e-01,+1.58e-02,-1.86e+02,+1.86e+02 1 -Vertex: -87 ID: 0 (X,cT)=+7.08e-05,+6.51e-05,-1.28e-01,+1.28e-01 - I: 1 179 111 +2.98e-01,+2.74e-01,-5.41e+02,+5.41e+02 2 -87 - O: 2 248 22 +1.81e-01,+2.40e-01,-4.18e+02,+4.18e+02 1 - 249 22 +1.17e-01,+3.44e-02,-1.23e+02,+1.23e+02 1 -Vertex: -88 ID: 0 (X,cT)=-6.24e-07,-3.92e-05,+4.48e-03,+4.48e-03 - I: 1 184 111 -2.63e-03,-1.65e-01,+1.89e+01,+1.89e+01 2 -88 - O: 2 250 22 -1.32e-02,-1.02e-02,+2.51e-01,+2.52e-01 1 - 251 22 +1.06e-02,-1.55e-01,+1.86e+01,+1.86e+01 1 -Vertex: -89 ID: 0 (X,cT)=+1.36e-04,+4.24e-05,+3.24e-03,+3.24e-03 - I: 1 191 111 +5.32e-01,+1.66e-01,+1.27e+01,+1.27e+01 2 -89 - O: 2 252 22 +1.83e-01,+1.10e-01,+5.73e+00,+5.73e+00 1 - 253 22 +3.49e-01,+5.63e-02,+6.96e+00,+6.97e+00 1 -Vertex: -90 ID: 0 (X,cT)=+3.53e-05,+9.71e-06,-6.05e-05,+1.41e-04 - I: 1 196 111 +3.92e-02,+1.08e-02,-6.72e-02,+1.56e-01 2 -90 - O: 2 254 22 +7.69e-02,+3.56e-02,-7.15e-02,+1.11e-01 1 - 255 22 -3.77e-02,-2.48e-02,+4.24e-03,+4.53e-02 1 -Vertex: -91 ID: 0 (X,cT)=+4.08e-05,+6.79e-06,-1.10e-04,+1.18e-04 - I: 1 198 111 +4.58e-01,+7.63e-02,-1.24e+00,+1.33e+00 2 -91 - O: 2 256 22 +1.21e-01,-3.91e-02,-3.40e-01,+3.63e-01 1 - 257 22 +3.37e-01,+1.15e-01,-8.96e-01,+9.65e-01 1 -Vertex: -92 ID: 0 (X,cT)=+5.61e-06,-8.66e-06,-6.40e-05,+6.49e-05 - I: 1 203 111 +1.70e-01,-2.62e-01,-1.93e+00,+1.96e+00 2 -92 - O: 3 260 -11 +4.80e-03,-2.48e-02,-1.54e-01,+1.56e-01 1 - 258 22 +3.78e-02,-1.90e-02,-5.69e-01,+5.70e-01 1 - 259 11 +1.27e-01,-2.18e-01,-1.21e+00,+1.24e+00 1 -Vertex: -93 ID: 0 (X,cT)=-1.44e+01,+6.94e+00,+7.21e+02,+7.22e+02 - I: 1 206 310 -1.65e-01,+7.95e-02,+8.26e+00,+8.27e+00 2 -93 - O: 2 262 111 -2.57e-01,-5.26e-02,+6.00e+00,+6.01e+00 2 -98 - 261 111 +9.20e-02,+1.32e-01,+2.25e+00,+2.26e+00 2 -97 -Vertex: -94 ID: 0 (X,cT)=-7.78e+00,+1.06e+01,+1.70e+03,+1.70e+03 - I: 1 207 310 -2.08e-01,+2.83e-01,+4.52e+01,+4.53e+01 2 -94 - O: 2 263 111 -2.89e-01,+1.56e-01,+3.66e+01,+3.66e+01 2 -99 - 264 111 +8.17e-02,+1.26e-01,+8.62e+00,+8.62e+00 2 -100 -Vertex: -95 ID: 0 (X,cT)=-1.37e+01,-6.92e+00,-2.33e+00,+2.17e+01 - I: 1 212 310 -4.48e-01,-2.27e-01,-7.65e-02,+7.11e-01 2 -95 - O: 2 265 211 -2.95e-01,-9.17e-02,+1.55e-01,+3.73e-01 1 - 266 -211 -1.52e-01,-1.35e-01,-2.31e-01,+3.38e-01 1 -Vertex: -96 ID: 0 (X,cT)=+5.58e+00,+4.38e+01,+1.48e+02,+1.60e+02 - I: 1 217 310 +6.63e-02,+5.21e-01,+1.76e+00,+1.90e+00 2 -96 - O: 2 267 111 +1.60e-01,+1.55e-01,+1.10e+00,+1.13e+00 2 -101 - 268 111 -9.38e-02,+3.66e-01,+6.60e-01,+7.72e-01 2 -102 -Vertex: -97 ID: 0 (X,cT)=-1.44e+01,+6.94e+00,+7.21e+02,+7.22e+02 - I: 1 261 111 +9.20e-02,+1.32e-01,+2.25e+00,+2.26e+00 2 -97 - O: 2 269 22 +1.66e-02,-2.70e-02,+2.39e-01,+2.41e-01 1 - 270 22 +7.54e-02,+1.59e-01,+2.02e+00,+2.02e+00 1 -Vertex: -98 ID: 0 (X,cT)=-1.44e+01,+6.94e+00,+7.21e+02,+7.22e+02 - I: 1 262 111 -2.57e-01,-5.26e-02,+6.00e+00,+6.01e+00 2 -98 - O: 2 271 22 -7.17e-02,-3.17e-02,+3.25e+00,+3.25e+00 1 - 272 22 -1.85e-01,-2.09e-02,+2.76e+00,+2.76e+00 1 -Vertex: -99 ID: 0 (X,cT)=-7.78e+00,+1.06e+01,+1.70e+03,+1.70e+03 - I: 1 263 111 -2.89e-01,+1.56e-01,+3.66e+01,+3.66e+01 2 -99 - O: 2 273 22 -9.96e-02,+2.50e-02,+6.20e+00,+6.20e+00 1 - 274 22 -1.90e-01,+1.31e-01,+3.04e+01,+3.04e+01 1 -Vertex: -100 ID: 0 (X,cT)=-7.78e+00,+1.06e+01,+1.70e+03,+1.70e+03 - I: 1 264 111 +8.17e-02,+1.26e-01,+8.62e+00,+8.62e+00 2 -100 - O: 2 275 22 +7.76e-02,+2.39e-03,+3.60e+00,+3.60e+00 1 - 276 22 +4.09e-03,+1.24e-01,+5.01e+00,+5.02e+00 1 -Vertex: -101 ID: 0 (X,cT)=+5.58e+00,+4.38e+01,+1.48e+02,+1.60e+02 - I: 1 267 111 +1.60e-01,+1.55e-01,+1.10e+00,+1.13e+00 2 -101 - O: 2 277 22 +1.49e-01,+9.93e-02,+5.70e-01,+5.98e-01 1 - 278 22 +1.13e-02,+5.56e-02,+5.29e-01,+5.32e-01 1 -Vertex: -102 ID: 0 (X,cT)=+5.58e+00,+4.38e+01,+1.48e+02,+1.60e+02 - I: 1 268 111 -9.38e-02,+3.66e-01,+6.60e-01,+7.72e-01 2 -102 - O: 2 279 22 -6.60e-02,+5.16e-02,+1.69e-01,+1.89e-01 1 - 280 22 -2.77e-02,+3.15e-01,+4.91e-01,+5.84e-01 1 -________________________________________________________________________________ -Stage 0->1 : 0 hits found in the muon chamber. -++++++++ event aborted ->>> Event 2 - 0 hits are stored in ExN04TrackerHitsCollection. - 0 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0 (GeV) - 0 hits are stored in ExN04MuonHitsCollection. -Graphics systems deleted. -Visualization Manager deleting... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_pygen.out b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_pygen.out index 8a8f32ee15..ec8c16206d 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_pygen.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_pygen.out @@ -1,16 +1,17 @@ ************************************************************* - Geant4 version Name: geant4-08-01-ref-00 (30-June-2006) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -<<< Geant4 Physics List engine packaging library: PACK 5.1 -<<< Geant4 Physics List simulation engine: QGSP 3.1 +<<< Geant4 Physics List engine packaging library: PACK 5.5 +<<< Geant4 Physics List simulation engine: QGSP_BERT 3.4 -Visualization Manager instantiating... +### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0 +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -18,18 +19,20 @@ 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) + gMocrenFile (gMocrenFile) FukuiRenderer (DAWN) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) - OpenGLImmediateXm (OGLIXm) - OpenGLStoredXm (OGLSXm) - OpenInventorXt (OIX) + OpenGLImmediateQt (OGLIQt) + OpenGLStoredQt (OGLSQt) RayTracerX (RayTracerX) VRML1 (VRML1) VRML2 (VRML2) @@ -42,17 +45,13 @@ Registered model factories: drawByCharge drawByParticleID drawByOriginVolume - -Registered models: - None + drawByAttribute Registered filter factories: chargeFilter particleFilter originVolumeFilter - -Registered filters: - None + attributeFilter current generator type: pythia 1 @@ -177,171 +176,363 @@ current generator type: pythia ********************** PYINIT: initialization completed ********************** -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 ====== + BetheHeitler : 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 +msc: for e- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc93 : 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 -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. +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 AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban -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 -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. +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 AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban -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. +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 -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 +msc: for proton SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 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 + ===== 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 GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 +hBrems: for proton 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 -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 +hPairProd: for proton 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: 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 +msc: for GenericIon SubType= 10 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 +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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV 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 +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV 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 +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 +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 -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 +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 -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 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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 +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 -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 +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: 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 +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)= 11.4592 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + WentzelVIUni : Emin= 0 eV Emax= 10 TeV + +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 + +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 + +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 + +CoulombScat: for mu+ SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV + +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 ====== + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV + +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 + +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 + +CoulombScat: for mu- SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + +hBrems: for pi+ 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 pi+ 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 + +msc: for pi- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + +hBrems: for pi- 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 pi- 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 +============================================================================================ + HADRONIC PROCESSES SUMMARY (verbose level 1) + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 +AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + ElectroNuclear Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 30000 + + Hadronic Processes for + PhotonInelastic Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 3.5 + TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + muMinusCaptureAtRest + + Hadronic Processes for + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 + NeutronInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LENeutronInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + nCapture Models: G4LCapture: Emin(GeV)= 0 Emax(GeV)= 20000 + nFission Models: G4LFission: Emin(GeV)= 0 Emax(GeV)= 20000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 + PionPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 + PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 + ProtonInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEProtonInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 +============================================================================================ ### Run 0 start. Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 0 isolated muon found. -++++++++ event aborted +Stage 1->2 : 1 isolated muon found. >>> Event 0 - 213 hits are stored in ExN04TrackerHitsCollection. - 21 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.49951823 (GeV) + 113 hits are stored in ExN04TrackerHitsCollection. + 60 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 1.0056939629609 (GeV) 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 0 hits found in the muon chamber. -++++++++ event aborted +Stage 0->1 : 1 hits found in the muon chamber. +Stage 1->2 : 1 isolated muon found. >>> Event 1 - 0 hits are stored in ExN04TrackerHitsCollection. - 14 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.20789644 (GeV) - 0 hits are stored in ExN04MuonHitsCollection. + 195 hits are stored in ExN04TrackerHitsCollection. + 83 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 1.1392749576813 (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 2 - 129 hits are stored in ExN04TrackerHitsCollection. - 45 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 1.808844 (GeV) + 168 hits are stored in ExN04TrackerHitsCollection. + 90 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 1.4249646122763 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 0 isolated muon found. -++++++++ event aborted +Stage 1->2 : 1 isolated muon found. >>> Event 3 - 166 hits are stored in ExN04TrackerHitsCollection. - 21 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.45672857 (GeV) + 95 hits are stored in ExN04TrackerHitsCollection. + 84 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 1.1816395689383 (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 4 - 177 hits are stored in ExN04TrackerHitsCollection. - 35 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.78347475 (GeV) + 388 hits are stored in ExN04TrackerHitsCollection. + 198 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 2.9995702701574 (GeV) 1 hits are stored in ExN04MuonHitsCollection. 1********* PYSTAT: Statistics on Number of Events and Cross-sections ********* @@ -355,14 +546,12 @@ Stage 1->2 : 1 isolated muon found. I I I I ============================================================================== I I I I - I 0 All included subprocesses I 5 10 I 6.034E-12 I - I 102 g + g -> h0 I 2 4 I 2.874E-12 I - I 123 f + f' -> f + f' + h0 I 1 1 I 6.634E-13 I - I 124 f + f' -> f" + f"' + h0 I 2 5 I 2.497E-12 I + I 0 All included subprocesses I 5 17 I 4.146E-12 I + I 102 g + g -> h0 I 4 6 I 2.995E-12 I + I 123 f + f' -> f + f' + h0 I 0 3 I 4.272E-13 I + I 124 f + f' -> f" + f"' + h0 I 1 8 I 7.240E-13 I I I I I ============================================================================== ********* Fraction of events that fail fragmentation cuts = 0.00000 ********* -Graphics systems deleted. -Visualization Manager deleting... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/HepMCG4AsciiReader.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/HepMCG4AsciiReader.hh index 1b4bb5a4b5..e37270a7f0 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/HepMCG4AsciiReader.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/HepMCG4AsciiReader.hh @@ -26,21 +26,21 @@ // ==================================================================== // // HepMCG4AsciiReader.hh -// $Id: HepMCG4AsciiReader.hh,v 1.3 2006/06/29 17:05:17 gunter Exp $ +// $Id: HepMCG4AsciiReader.hh,v 1.4 2010/12/10 06:21:34 kmura Exp $ // // ==================================================================== #ifndef HEPMC_G4_ASCII_READER_H #define HEPMC_G4_ASCII_READER_H #include "HepMCG4Interface.hh" -#include "HepMC/IO_Ascii.h" +#include "HepMC/IO_AsciiParticles.h" class HepMCG4AsciiReaderMessenger; class HepMCG4AsciiReader : public HepMCG4Interface { protected: G4String filename; - HepMC::IO_Ascii* asciiInput; + HepMC::IO_AsciiParticles* asciiInput; G4int verbose; HepMCG4AsciiReaderMessenger* messenger; diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04EventAction.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04EventAction.cc index a45a9cd5bb..9f8e10af0a 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04EventAction.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04EventAction.cc @@ -34,9 +34,6 @@ #include "G4EventManager.hh" #include "G4HCofThisEvent.hh" #include "G4VHitsCollection.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4SDManager.hh" #include "G4UImanager.hh" #include "G4ios.hh" diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4AsciiReader.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4AsciiReader.cc index f257a43253..1a50e5208b 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4AsciiReader.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4AsciiReader.cc @@ -26,7 +26,7 @@ // ==================================================================== // // HepMCG4AsciiReader.cc -// $Id: HepMCG4AsciiReader.cc,v 1.5 2006/06/29 17:06:37 gunter Exp $ +// $Id: HepMCG4AsciiReader.cc,v 1.6 2010/12/10 06:21:34 kmura Exp $ // // ==================================================================== #include "HepMCG4AsciiReader.hh" @@ -40,7 +40,7 @@ HepMCG4AsciiReader::HepMCG4AsciiReader() : filename("xxx.dat"), verbose(0) //////////////////////////////////////// { - asciiInput= new HepMC::IO_Ascii(filename.c_str(), std::ios::in); + asciiInput= new HepMC::IO_AsciiParticles(filename.c_str(), std::ios::in); messenger= new HepMCG4AsciiReaderMessenger(this); } @@ -59,7 +59,7 @@ void HepMCG4AsciiReader::Initialize() { delete asciiInput; - asciiInput= new HepMC::IO_Ascii(filename.c_str(), std::ios::in); + asciiInput= new HepMC::IO_AsciiParticles(filename.c_str(), std::ios::in); asciiInput-> print(); } diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4Interface.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4Interface.cc index 34850b52d1..17f4e57afc 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4Interface.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4Interface.cc @@ -26,7 +26,7 @@ // ==================================================================== // // HepMCG4Interface.cc -// $Id: HepMCG4Interface.cc,v 1.3 2006/06/29 17:06:41 gunter Exp $ +// $Id: HepMCG4Interface.cc,v 1.4 2010/12/10 06:21:34 kmura Exp $ // // ==================================================================== #include "HepMCG4Interface.hh" @@ -90,7 +90,8 @@ void HepMCG4Interface::HepMC2G4(const HepMC::GenEvent* hepmcevt, if (!qvtx) continue; // check world boundary - G4LorentzVector xvtx= (*vitr)-> position(); + HepMC::FourVector pos= (*vitr)-> position(); + G4LorentzVector xvtx(pos.x(), pos.y(), pos.z(), pos.t()); if (! CheckVertexInsideWorld(xvtx.vect()*mm)) continue; // create G4PrimaryVertex and associated G4PrimaryParticles @@ -105,7 +106,8 @@ void HepMCG4Interface::HepMC2G4(const HepMC::GenEvent* hepmcevt, if( (*vpitr)->status() != 1 ) continue; G4int pdgcode= (*vpitr)-> pdg_id(); - G4LorentzVector p= (*vpitr)-> momentum(); + pos= (*vpitr)-> momentum(); + G4LorentzVector p(pos.px(), pos.py(), pos.pz(), pos.e()); G4PrimaryParticle* g4prim= new G4PrimaryParticle(pdgcode, p.x()*GeV, p.y()*GeV, p.z()*GeV); diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4PythiaInterface.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4PythiaInterface.cc index 77fc7cf60a..8c6512d719 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4PythiaInterface.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/HepMCG4PythiaInterface.cc @@ -26,7 +26,7 @@ // ==================================================================== // // HepMCG4PythiaInterface.cc -// $Id: HepMCG4PythiaInterface.cc,v 1.5 2006/07/05 11:06:36 gcosmo Exp $ +// $Id: HepMCG4PythiaInterface.cc,v 1.6 2010/12/10 06:21:34 kmura Exp $ // // ==================================================================== @@ -36,7 +36,7 @@ #include "HepMCG4PythiaMessenger.hh" #include "HepMC/GenEvent.h" -#include "HepMC/PythiaWrapper6_152.h" +#include "HepMC/PythiaWrapper6_4.h" // additional pythia calls #define pygive pygive_ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/vis.mac b/examples/extended/eventgenerator/HepMC/HepMCEx01/vis.mac index 6042210241..7caa336e57 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/vis.mac +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/vis.mac @@ -7,35 +7,73 @@ /control/verbose 2 /run/verbose 2 # -# create empty scene +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/scene/create +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -/vis/open OGLIX +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -####/vis/open DAWNFILE +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -# draw scene +# Draw geometry: +/vis/drawVolume # -/vis/viewer/set/viewpointThetaPhi 90 180 deg +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: /vis/viewer/zoom 1.4 -/vis/viewer/flush # -# for drawing the tracks -# Draw trajectories at end of event, showing trajectory points as -# markers of size 2 pixels -/vis/scene/add/trajectories +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 -# (if too many tracks cause core dump => storeTrajectory 0) - +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -# Refresh ready for run -/vis/viewer/refresh +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush # # Now ready for /run/beamOn. diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/History b/examples/extended/eventgenerator/HepMC/HepMCEx02/History index 130c87a2eb..84a3ce401c 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/History +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.8 2006/11/22 15:09:07 gcosmo Exp $ +$Id: History,v 1.11 2010/12/10 06:22:25 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,19 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +December 10th 2010 K.Murakami +- change physics list from GGSP to QGSP_BERT +- update outputs +- update data/ directory for latest HEPMC version + +Nov 2, 2010 J.Allison +- hepmcEx02.cc: Removed #include "G4UIterminal.hh" and #include "G4UItcsh.hh". + +May 24, 2010 K.Murakami +- use QGSP physics list instead of old flag physics list +- introduce G4UIExective +- modify for HepMC ver.2 (2.06.00) + Nov, 22nd, 2006 G.Cosmo - Corrected GNUmakefile. diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/README b/examples/extended/eventgenerator/HepMC/HepMCEx02/README index 374e7f90f8..891e5836c7 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/README +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/README @@ -1,4 +1,4 @@ -$Id: README,v 1.1 2002/05/28 14:20:36 murakami Exp $ +$Id: README,v 1.2 2010/05/24 05:32:50 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -33,8 +33,7 @@ in every event. 3. Physics List - Full set of "ordinary" physics processes, which is the same one as -ExN04PhysicsList. + QGSP predefined physics list 4. User actions diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/data/GNUmakefile b/examples/extended/eventgenerator/HepMC/HepMCEx02/data/GNUmakefile index 9c46c20e00..94427a2c99 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/data/GNUmakefile +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/data/GNUmakefile @@ -4,14 +4,12 @@ CLHEPINC := -I$(CLHEPD)/include CLHEPLIB := -L$(CLHEPD)/lib -lCLHEP # // HepMC -HEPMCD := /opt/heplib/HepMC/1.21 -HEPMCINC := -I$(HEPMCD) -HEPMCLIB := -L$(HEPMCD) -lHepMC -#HEPMCLIB := $(HEPMCD)/libHepMC.so +HEPMCD := /opt/heplib/HepMC/2.06.03 +HEPMCINC := -I$(HEPMCD)/include +HEPMCLIB := -L$(HEPMCD)/lib -lHepMC -lHepMCfio # // CERN libraries -CLIBD := /cern/pro/lib -CLIB := -L$(CLIBD) -lpythia6 +CLIB := $(shell cernlib -v pro pythia6205 pdflib804 mathlib) -lg2c CXXFLAGS := $(CLHEPINC) $(HEPMCINC) LOPT := -Wl,-rpath $(HEPMCD) $(HEPMCLIB) $(CLHEP) $(CLIB) -lg2c diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/data/example_MyPythia.cxx b/examples/extended/eventgenerator/HepMC/HepMCEx02/data/example_MyPythia.cxx index cf268180d1..6a313a6156 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/data/example_MyPythia.cxx +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/data/example_MyPythia.cxx @@ -47,7 +47,7 @@ #include #include "HepMC/PythiaWrapper.h" #include "HepMC/IO_HEPEVT.h" -#include "HepMC/IO_Ascii.h" +#include "HepMC/IO_AsciiParticles.h" #include "HepMC/GenEvent.h" int main() { @@ -88,7 +88,7 @@ int main() { // // Instantial an IO strategy to write the data to file - it uses the // same ParticleDataTable - HepMC::IO_Ascii ascii_io("example_MyPythia.dat",std::ios::out); + HepMC::IO_AsciiParticles ascii_io("example_MyPythia.dat",std::ios::out); // //........................................EVENT LOOP for ( int i = 1; i <= 10; i++ ) { diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/data/example_MyPythia.dat b/examples/extended/eventgenerator/HepMC/HepMCEx02/data/example_MyPythia.dat index f8ffcf1197..caa2a2ecaf 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/data/example_MyPythia.dat +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/data/example_MyPythia.dat @@ -1,5892 +1,4340 @@ - -HepMC::IO_Ascii-START_EVENT_LISTING -E 1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 78 0 0 -V -1 0 0 0 0 0 1 2 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 2 -7.7594698288360897e-01 -9.1232539665921930e-01 1.8833052220885656e+03 1.8833056029166935e+03 3 0 0 -3 0 -P 20 2101 7.7594698288360897e-01 9.1232539665921930e-01 4.4469502845870420e+03 4.4469504836059705e+03 2 0 0 -16 0 -V -2 0 0 0 0 0 1 3 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 -1 -1.0077355308447375e+00 -1.2716278982991639e-02 -4.1454166842423659e+00 4.2661659707370658e+00 3 0 0 -4 0 -P 13 2214 9.9965263761245238e-01 2.7342497748314848e-02 -4.0826017593891916e+03 4.0826020585869046e+03 2 0 0 -9 0 -P 26 1 8.0828932322852265e-03 -1.4626218765323211e-02 -2.4623230582064652e+03 2.4623230803764359e+03 2 0 0 -16 0 -V -3 0 0 0 0 0 0 4 0 -P 5 2 -5.0183078832283403e+00 1.1490196188676447e+00 1.4784133950691614e+03 1.4784223585904062e+03 3 0 0 -5 0 -P 21 21 1.4581184692651741e+00 -3.9123134860507047e-01 1.0923177669273832e+02 1.0924220892535446e+02 2 0 0 -16 0 -P 22 21 3.1078318510719791e+00 2.3161265926755781e-01 1.4647261850356662e+02 1.4650576860495917e+02 2 0 0 -16 0 -P 23 21 -1.0916504553308495e-01 -1.8718066652841989e+00 8.6094190154962845e+01 8.6114604775486654e+01 2 0 0 -16 0 -V -4 0 0 0 0 0 0 3 0 -P 6 -1 2.5393345338288575e-02 8.3451451612681318e+00 6.6003848774206497e-01 8.3712450322473053e+00 3 0 0 -5 0 -P 24 21 -5.3671673260814667e-01 -6.6758503288897897e+00 4.7470952833050397e+01 4.7941072217280407e+01 2 0 0 -16 0 -P 25 21 -7.1083651803421799e-01 -1.7119307722665538e+00 1.0816833663101894e+01 1.0974510741696802e+01 2 0 0 -16 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 -4.0262403277658469e+00 -1.2288309207825838e+00 2.4575369641175027e+02 2.4578974741971544e+02 3 0 0 -6 0 -P 8 24 -9.6667421012420562e-01 1.0722995700918359e+01 1.2333197371451533e+03 1.2410038562029381e+03 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 -4.0262403277658469e+00 -1.2288309207825838e+00 2.4575369641175027e+02 2.4578974741971544e+02 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 24 -9.6667421012420562e-01 1.0722995700918359e+01 1.2333197371451533e+03 1.2410038562029381e+03 2 0 0 -8 0 -V -8 0 0 0 0 0 0 2 0 -P 11 -13 -2.5622328442447461e+01 4.7040178447927353e+01 2.0936799887850253e+02 2.1611166609336419e+02 1 0 0 0 0 -P 12 14 2.4655654232323258e+01 -3.6317182747008992e+01 1.0239517382666510e+03 1.0248921901095741e+03 1 0 0 0 0 -V -9 0 0 0 0 0 0 2 0 -P 29 2212 1.0242368375894155e+00 1.1819305384951433e-01 -3.7370902170825884e+03 3.7370904770952066e+03 1 0 0 0 0 -P 30 111 -2.4584199976963136e-02 -9.0850556101199478e-02 -3.4551154230660296e+02 3.4551158149169805e+02 2 0 0 -20 0 -V -10 0 0 0 0 0 2 1 0 -P 14 1 2.3065048155050207e+00 5.8203193328752807e+00 1.5053434005803197e+02 1.5066447364361579e+02 2 0 0 -10 0 -P 15 -1 -2.3065048155050207e+00 -5.8203193328752807e+00 4.6213780965918581e+01 4.6635926416942638e+01 2 0 0 -10 0 -P 31 92 0 0 1.9674812102395055e+02 1.9730040006055842e+02 2 0 0 -11 0 -V -11 0 0 0 0 0 0 8 0 -P 32 -211 2.5433561751902267e-01 1.6471020112402412e+00 3.4162682623605711e+01 3.4203596235891361e+01 1 0 0 0 0 -P 33 211 1.8267397603378879e-01 -2.2451207083727245e-01 8.9833818072340854e+00 8.9891269838019312e+00 1 0 0 0 0 -P 34 -211 1.6527958883141400e+00 3.3636085038226837e+00 8.5511074879269898e+01 8.5593276623858827e+01 1 0 0 0 0 -P 35 221 1.5340695778001462e-01 1.0080214339909595e-01 1.6778513363366923e+01 1.6788445638414284e+01 2 0 0 -21 0 -P 36 211 -5.4270097089667468e-01 7.1269909168117845e-02 3.1032133671979825e+00 3.1542061966557080e+00 1 0 0 0 0 -P 37 221 -4.3895349893169139e-01 -1.0908000994225866e+00 1.6203900382989026e+01 1.6255725580713296e+01 2 0 0 -22 0 -P 38 -213 -1.1775778049994057e+00 -2.1994908478570685e+00 1.6736113732474852e+01 1.6955085170015739e+01 2 0 0 -23 0 -P 39 211 -8.3980164819194153e-02 -1.6679795495132113e+00 1.5269240867812080e+01 1.5360937631207282e+01 1 0 0 0 0 -V -12 0 0 0 0 0 2 1 0 -P 16 2 -3.9452709365158856e+00 -1.3309715048590964e+00 3.4100364633141048e+01 3.4353624496149465e+01 2 0 0 -12 0 -P 17 -2 3.9452709365158856e+00 1.3309715048590964e+00 4.3760023670797966e+02 4.3762004503311903e+02 2 0 0 -12 0 -P 40 92 0 0 4.7170060134112072e+02 4.7197366952926848e+02 2 0 0 -13 0 -V -13 0 0 0 0 0 0 8 0 -P 41 221 -2.6764857527202399e+00 -7.4082656853446693e-01 2.6999649559108772e+01 2.7147618271339081e+01 2 0 0 -24 0 -P 42 211 -1.0793700584347439e+00 -1.7691740782741042e-01 8.9362513158609644e+00 9.0040217046253623e+00 1 0 0 0 0 -P 43 223 7.3128413379081270e-01 -2.4207212017445862e-01 2.9711160638588780e+01 2.9731384214780988e+01 2 0 0 -25 0 -P 44 -213 6.8313854697846552e-02 2.1615069868878325e-01 2.6710541480290658e+01 2.6723469313128675e+01 2 0 0 -26 0 -P 45 211 -7.6171122821958814e-02 3.3362556819896899e-01 9.9768132257362261e+00 9.9836561432089255e+00 1 0 0 0 0 -P 46 223 1.1759907015886510e+00 7.6699830168521430e-03 1.5941193545306197e+02 1.5941819661887365e+02 2 0 0 -27 0 -P 47 -213 4.1784646533132969e-01 2.7042442905701480e-01 5.6342534981914696e+01 5.6346454491891919e+01 2 0 0 -28 0 -P 48 111 1.4385917785683024e+00 3.3194541757471685e-01 1.5361171468655868e+02 1.5361886877141990e+02 2 0 0 -29 0 -V -14 0 0 0 0 0 2 1 0 -P 18 2 1.5410660823344702e+00 3.0415562160378746e+00 -6.3245198112592114e+01 6.3337043135802176e+01 2 0 0 -14 0 -P 19 -2 -1.5410660823344702e+00 -3.0415562160378746e+00 -3.1131552297791711e+02 3.1133419471028151e+02 2 0 0 -14 0 -P 49 92 0 0 -3.7456072109050922e+02 3.7467123784608367e+02 2 0 0 -15 0 -V -15 0 0 0 0 0 0 3 0 -P 50 113 1.5650691169710587e+00 2.8328826851235629e+00 -6.1146078921515716e+01 6.1234504633574247e+01 2 0 0 -30 0 -P 51 211 2.0243674382169874e-01 1.1974235089754615e-01 -2.6986180398301357e+01 2.6987566232256142e+01 1 0 0 0 0 -P 52 -211 -1.7675058607927574e+00 -2.9526250360211090e+00 -2.8642846177069208e+02 2.8644916698025321e+02 1 0 0 0 0 -V -16 0 0 0 0 0 0 1 0 -P 53 92 3.9932619002775978e+00 -9.5215072778841598e+00 2.3847135982279970e+03 7.3100517292471832e+03 2 0 0 -17 0 -V -17 0 0 0 0 0 0 31 0 -P 54 2212 8.2215700554402904e-01 7.5777360143587646e-01 2.8563381940988261e+03 2.8563385670437092e+03 1 0 0 0 0 -P 55 113 -3.6038310812821978e-01 -1.6892929069557774e-01 8.6247137938804929e+02 8.6247157540874730e+02 2 0 0 -31 0 -P 56 -2214 1.0274054900145733e+00 9.2951858077602798e-02 4.5344312824574462e+02 4.5344608664771232e+02 2 0 0 -32 0 -P 57 223 -3.5950138267252507e-01 4.0383168579159467e-01 1.2478306984250651e+02 1.2478685771933476e+02 2 0 0 -33 0 -P 58 2212 1.6784465902779000e+00 -6.2450245543458038e-01 1.5667821954585344e+02 1.5669126337139798e+02 1 0 0 0 0 -P 59 -213 5.5576917486158994e-01 3.4454408402510756e-01 9.1366431045160198e+01 9.1370656398000975e+01 2 0 0 -34 0 -P 60 -311 6.8837804480312736e-02 -2.9839760512711585e-02 3.7650473956009833e+01 3.7653837700767077e+01 2 0 0 -35 0 -P 61 311 5.5852191137677354e-01 -2.3170010256673915e-01 5.8824232435728810e+01 5.8829445252735184e+01 2 0 0 -36 0 -P 62 211 3.2384754659479414e-01 -1.1095603539042695e+00 5.0326870381868780e+01 5.0340335354770062e+01 1 0 0 0 0 -P 63 113 -1.6488951177897816e-02 -7.8122143799785340e-02 4.9112488643673986e+00 4.9474711292126861e+00 2 0 0 -37 0 -P 64 -211 7.0648600777312476e-01 -6.4021847151240463e-01 6.5555221578401913e+01 6.5562302874050388e+01 1 0 0 0 0 -P 65 213 4.7207901564054866e-01 -4.3912457471518479e-01 1.4382616336991193e+01 1.4418576507834425e+01 2 0 0 -38 0 -P 66 -213 -3.0042801873910607e-01 -3.8199301959389176e-01 1.6229684769106441e+01 1.6256964556636262e+01 2 0 0 -39 0 -P 67 211 -4.3941675941743208e-01 -3.1906445983026024e+00 2.4837368567595707e+01 2.5045711353216259e+01 1 0 0 0 0 -P 68 -211 -1.3996633591260657e-01 -1.2032611277813125e-01 4.9245854481282014e-01 5.4411777389114624e-01 1 0 0 0 0 -P 69 -311 -2.6561371175678439e-01 -2.6535883073847484e+00 2.0655232762662497e+01 2.0832628193716424e+01 2 0 0 -40 0 -P 70 323 1.0866371896259655e-01 -8.8626238190570616e-01 4.6627917510728158e+00 4.8302466865539628e+00 2 0 0 -41 0 -P 71 113 -4.9783662946179669e-01 -2.2840858695582428e-01 1.7034444868848415e+00 1.9604937252009362e+00 2 0 0 -42 0 -P 72 -323 -2.9015742650522380e-01 -2.3021536904469947e-01 6.4282764365011924e-01 1.1577885131594590e+00 2 0 0 -43 0 -P 73 311 7.9013389939514289e-02 -3.2312546676672708e-02 -8.4688302464291099e-01 9.8598859161290120e-01 2 0 0 -44 0 -P 74 113 1.2774634435977392e-01 1.7876746229795942e-01 -7.0745137977013928e-01 1.0861776738766289e+00 2 0 0 -45 0 -P 75 -2112 2.3991231535880583e-01 -6.4340230480703609e-01 -2.3473851019465588e+00 2.6200253904556892e+00 1 0 0 0 0 -P 76 2112 1.4332258420217242e-01 -2.1997217583827630e-01 -2.2266533235780592e+00 2.4309886732740313e+00 1 0 0 0 0 -P 77 221 -1.5764236109767513e-01 9.2260932887338432e-01 -1.1183066194239037e+01 1.1235512008581036e+01 2 0 0 -46 0 -P 78 211 -3.9688019773273309e-01 -5.0114132735548866e-01 -1.1139586968129358e+00 1.2919134198703757e+00 1 0 0 0 0 -P 79 111 2.8720505725726897e-01 2.8206480950685814e-01 -1.0371931167428463e+00 1.1207303259460017e+00 2 0 0 -47 0 -P 80 223 4.0600347620418453e-01 -2.4511798802410625e-01 -3.5094643591439350e+01 3.5108232820041870e+01 2 0 0 -48 0 -P 81 -321 -6.1416080466482037e-01 2.7652838022953574e-01 -2.2846185259167453e+02 2.2846337866717087e+02 1 0 0 0 0 -P 82 323 1.2565639040248300e-01 -3.0746308740674749e-01 -1.4994406836076098e+03 1.4994409818689087e+03 2 0 0 -49 0 -P 83 -321 1.9429284964222532e-01 2.9316952731129947e-01 -1.6936871917454789e+02 1.6936980360698905e+02 1 0 0 0 0 -P 84 311 -9.3629085348251956e-02 -1.1090305621819395e-01 -5.0941280621429246e+02 5.0941306998980963e+02 2 0 0 -50 0 -V -18 0 0 0 0 0 2 1 0 -P 27 21 -1.3650212674856288e-01 -5.9889764280123572e+00 -1.3829130975861951e+01 1.5070877049244315e+01 2 0 0 -18 0 -P 28 21 1.3650212674856288e-01 5.9889764280123572e+00 -6.1244142694407962e+01 6.1536424058104799e+01 2 0 0 -18 0 -P 85 92 0 0 -7.5073273670269913e+01 7.6607301107349116e+01 2 0 0 -19 0 -V -19 0 0 0 0 0 0 9 0 -P 86 -2112 -3.8391846582458374e-02 -2.4829965966375998e+00 -7.9823040467504578e+00 8.4122955079137967e+00 1 0 0 0 0 -P 87 2212 1.8826721276030065e-01 -2.1411823793389910e+00 -4.4940750564267944e+00 5.0692373914317530e+00 1 0 0 0 0 -P 88 -213 2.0012868143999138e-01 -1.1118139792674885e-01 -1.6567370969599078e+00 1.8269381912397860e+00 2 0 0 -51 0 -P 89 -313 -6.2630872275736982e-01 1.3663451184419380e+00 -1.2866054962931736e+01 1.2986301018153689e+01 2 0 0 -52 0 -P 90 321 7.8884764052036593e-02 7.4459657794075773e-01 -1.0937413012935250e+01 1.0974119155786763e+01 1 0 0 0 0 -P 91 -211 4.2278301863584250e-02 3.9247341077632097e-01 -8.7403526103734830e+00 8.7503752131858565e+00 1 0 0 0 0 -P 92 211 6.4367355561099904e-02 3.6656271279001679e-01 -1.3767381548990618e+00 1.4329686357086739e+00 1 0 0 0 0 -P 93 -2212 4.1585942036274817e-02 5.6395536708324689e-01 -1.1971979631427098e+01 1.2021997418683901e+01 1 0 0 0 0 -P 94 2112 4.9188311626540610e-02 1.3014271868710594e+00 -1.5047619097566116e+01 1.5133068575244886e+01 1 0 0 0 0 -V -20 0 -7.4269769026061745e-06 -2.7446285922861489e-05 -1.0438030306862014e-01 1.0438031490658096e-01 0 2 0 -P 95 22 -4.5719298565037564e-02 -1.2006795010764217e-01 -2.7170906130817190e+02 2.7170909168361442e+02 1 0 0 0 0 -P 96 22 2.1135098588074424e-02 2.9217394006442684e-02 -7.3802480998431093e+01 7.3802489808083607e+01 1 0 0 0 0 -V -21 0 0 0 0 0 0 3 0 -P 97 211 1.9058278725344435e-01 1.3383881894953986e-01 6.8583567178648615e+00 6.8637286719855979e+00 1 0 0 0 0 -P 98 -211 -4.9893773724282060e-02 -5.3826599477990789e-02 4.3098583175285032e+00 4.3127421895514972e+00 1 0 0 0 0 -P 99 111 1.2717944250852329e-02 2.0789923927546888e-02 5.6102983279735579e+00 5.6119747768771902e+00 2 0 0 -53 0 -V -22 0 0 0 0 0 0 3 0 -P 100 111 2.0228195634579012e-02 -1.9810461285380357e-01 2.6837098683979255e+00 2.6944707969597661e+00 2 0 0 -54 0 -P 101 111 -1.9448733826450373e-01 -3.0772173043153522e-01 5.9693477937278034e+00 5.9819604370981914e+00 2 0 0 -55 0 -P 102 111 -2.6469435630176663e-01 -5.8497375613724767e-01 7.5508427208632973e+00 7.5792943466553382e+00 2 0 0 -56 0 -V -23 0 0 0 0 0 0 2 0 -P 103 -211 5.9300840341949650e-02 -7.9895912928811963e-01 3.9895681488508994e+00 4.0716073090566693e+00 1 0 0 0 0 -P 104 111 -1.2368786453413552e+00 -1.4005317185689488e+00 1.2746545583623952e+01 1.2883477860959070e+01 2 0 0 -57 0 -V -24 0 0 0 0 0 0 2 0 -P 105 22 -6.3422905570294317e-03 -7.9336321700606463e-02 8.0076038030440988e-01 8.0470594831637421e-01 1 0 0 0 0 -P 106 22 -2.6701434621632107e+00 -6.6149024683386048e-01 2.6198889178804361e+01 2.6342912323022706e+01 1 0 0 0 0 -V -25 0 0 0 0 0 0 3 0 -P 107 -211 1.7586778974385729e-02 3.3676945404653977e-02 3.2030504088469960e+00 3.2063148844056766e+00 1 0 0 0 0 -P 108 211 3.9410357646856603e-01 9.7313149537317151e-02 1.4025732004537366e+01 1.4032299367033970e+01 1 0 0 0 0 -P 109 111 3.1959377834786096e-01 -3.7306221511642979e-01 1.2482378225204421e+01 1.2492769963341344e+01 2 0 0 -58 0 -V -26 0 0 0 0 0 0 2 0 -P 110 -211 -8.4080503689870231e-02 -1.8799913200941373e-01 1.7544692223771495e+01 1.7546456001611979e+01 1 0 0 0 0 -P 111 111 1.5239435838771678e-01 4.0414983069819693e-01 9.1658492565191594e+00 9.1770133115166939e+00 2 0 0 -59 0 -V -27 0 0 0 0 0 0 3 0 -P 112 -211 4.7070025031333157e-01 6.8525031471775202e-02 4.9225309974297012e+01 4.9227805925676876e+01 1 0 0 0 0 -P 113 211 5.9651172498042482e-01 -1.2288599138979327e-01 1.0093129545527971e+02 1.0093322946022674e+02 1 0 0 0 0 -P 114 111 1.0877872629489453e-01 6.2030942934870215e-02 9.2553300234852465e+00 9.2571612329700255e+00 2 0 0 -60 0 -V -28 0 0 0 0 0 0 2 0 -P 115 -211 4.0683649987303769e-02 6.5512868154666238e-03 6.5875064226277624e+00 6.5891136529731558e+00 1 0 0 0 0 -P 116 111 3.7716281534402596e-01 2.6387314224154818e-01 4.9755028559286941e+01 4.9757340838918765e+01 2 0 0 -61 0 -V -29 0 3.6949163916019824e-04 8.5257720973118501e-05 3.9454030739861111e-02 3.9455868213549919e-02 0 2 0 -P 117 22 4.7151597958341473e-01 4.5921772870311794e-02 5.0588381905928500e+01 5.0590600114925508e+01 1 0 0 0 0 -P 118 22 9.6707579898488760e-01 2.8602364470440500e-01 1.0302333278063017e+02 1.0302826865649438e+02 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 119 -211 9.1583466897251198e-01 2.1251086350657316e+00 -4.3722848514166444e+01 4.3784264317553273e+01 1 0 0 0 0 -P 120 211 6.4923444799854679e-01 7.0777405005783134e-01 -1.7423230407349280e+01 1.7450240316020970e+01 1 0 0 0 0 -V -31 0 0 0 0 0 0 2 0 -P 121 211 -1.0733243092126835e-01 4.2644543258701532e-02 1.5591728243781708e+02 1.5591738768138310e+02 1 0 0 0 0 -P 122 -211 -2.5305067720695146e-01 -2.1157383395427928e-01 7.0655409695023229e+02 7.0655418772736425e+02 1 0 0 0 0 -V -32 0 0 0 0 0 0 2 0 -P 123 -2212 4.9944981990249282e-01 1.4870720522775491e-01 3.2948710527509917e+02 3.2948885331238847e+02 1 0 0 0 0 -P 124 111 5.2795567011208044e-01 -5.5755347150152117e-02 1.2395602297064545e+02 1.2395723333532385e+02 2 0 0 -62 0 -V -33 0 0 0 0 0 0 3 0 -P 125 211 -1.2188920384027405e-01 3.5075345690126225e-01 3.1795559830185887e+01 3.1798034367950663e+01 1 0 0 0 0 -P 126 -211 -2.2097435527052245e-01 7.1076741178384292e-02 8.2130801390093922e+01 8.2131248001797573e+01 1 0 0 0 0 -P 127 111 -1.6637823561728583e-02 -1.7998512288051847e-02 1.0856708622226705e+01 1.0857575349586533e+01 2 0 0 -63 0 -V -34 0 0 0 0 0 0 2 0 -P 128 -211 3.1091271140052751e-01 3.5632832396911990e-01 3.4350353332907815e+01 3.4353891926084358e+01 1 0 0 0 0 -P 129 111 2.4485646346106241e-01 -1.1784239944012394e-02 5.7016077712252383e+01 5.7016764471916609e+01 2 0 0 -64 0 -V -35 0 0 0 0 0 0 1 0 -P 130 310 6.8837804480312736e-02 -2.9839760512711585e-02 3.7650473956009833e+01 3.7653837700767077e+01 2 0 0 -65 0 -V -36 0 0 0 0 0 0 1 0 -P 131 130 5.5852191137677354e-01 -2.3170010256673915e-01 5.8824232435728810e+01 5.8829445252735191e+01 1 0 0 0 0 -V -37 0 0 0 0 0 0 2 0 -P 132 211 1.0828998400047013e-01 -5.1351427865948790e-02 4.3747265017350578e+00 4.3785928606872950e+00 1 0 0 0 0 -P 133 -211 -1.2477893517836794e-01 -2.6770715933836557e-02 5.3652236263234054e-01 5.6887826852539047e-01 1 0 0 0 0 -V -38 0 0 0 0 0 0 2 0 -P 134 211 1.8156078434278519e-01 -5.3337778057810092e-01 1.1827166973830426e+01 1.1841402559958460e+01 1 0 0 0 0 -P 135 111 2.9051823129776339e-01 9.4253205862916190e-02 2.5554493631607658e+00 2.5771739478759641e+00 2 0 0 -66 0 -V -39 0 0 0 0 0 0 2 0 -P 136 -211 -4.9377802104061563e-01 -2.1311641152282343e-01 6.7449678075376100e+00 6.7678139637952421e+00 1 0 0 0 0 -P 137 111 1.9335000230150959e-01 -1.6887660807106833e-01 9.4847169615688305e+00 9.4891505928410194e+00 2 0 0 -67 0 -V -40 0 0 0 0 0 0 1 0 -P 138 130 -2.6561371175678439e-01 -2.6535883073847484e+00 2.0655232762662497e+01 2.0832628193716424e+01 1 0 0 0 0 -V -41 0 0 0 0 0 0 2 0 -P 139 311 -4.5567411934308917e-02 -1.9406127316992008e-01 1.8546771679191969e+00 1.9306058616080843e+00 2 0 0 -68 0 -P 140 211 1.5423113089690546e-01 -6.9220110873578600e-01 2.8081145831536185e+00 2.8996408249458776e+00 1 0 0 0 0 -V -42 0 0 0 0 0 0 2 0 -P 141 211 7.2357677730123915e-02 -1.3328084686398270e-01 6.2898311502468995e-02 2.1548874717056224e-01 1 0 0 0 0 -P 142 -211 -5.7019430719192066e-01 -9.5127740091841564e-02 1.6405461753823727e+00 1.7450049780303740e+00 1 0 0 0 0 -V -43 0 0 0 0 0 0 2 0 -P 143 -311 -1.0247389161942042e-01 -3.7550445704827762e-01 2.5312077640729019e-01 6.8062475129529332e-01 2 0 0 -69 0 -P 144 -211 -1.8768353488580339e-01 1.4528908800357815e-01 3.8970686724282899e-01 4.7716376186416543e-01 1 0 0 0 0 -V -44 0 0 0 0 0 0 1 0 -P 145 310 7.9013389939514289e-02 -3.2312546676672708e-02 -8.4688302464291099e-01 9.8598859161290064e-01 2 0 0 -70 0 -V -45 0 0 0 0 0 0 2 0 -P 146 -211 -7.3050709928776256e-02 3.0537971459793700e-01 -7.3307859769912698e-01 8.0961545909989518e-01 1 0 0 0 0 -P 147 211 2.0079705428855016e-01 -1.2661225229997761e-01 2.5627217928987662e-02 2.7656221477673332e-01 1 0 0 0 0 -V -46 0 0 0 0 0 0 3 0 -P 148 -211 -1.3676538015193693e-01 2.1243887536093334e-01 -2.4816336935736563e+00 2.4983635882218485e+00 1 0 0 0 0 -P 149 211 -6.2902915281313837e-02 5.6601656520515309e-01 -6.6535918753555769e+00 6.6793784259866031e+00 1 0 0 0 0 -P 150 111 4.2025934335575603e-02 1.4415388830729814e-01 -2.0478406253098065e+00 2.0577699943725856e+00 2 0 0 -71 0 -V -47 0 2.1528371579891772e-05 2.1143067906480407e-05 -7.7746119899777387e-05 8.4007917995002846e-05 0 2 0 -P 151 22 1.3065354257831752e-01 1.6396812327723584e-01 -6.9933227768013839e-01 7.3008323377859696e-01 1 0 0 0 0 -P 152 22 1.5655151467895148e-01 1.1809668622962230e-01 -3.3786083906270786e-01 3.9064709216740479e-01 1 0 0 0 0 -V -48 0 0 0 0 0 0 2 0 -P 153 -211 -6.7869057726822266e-02 2.1587332720713015e-01 -6.2122541431505294e+00 6.2179408831531298e+00 1 0 0 0 0 -P 154 211 4.7387253393100676e-01 -4.6099131523123638e-01 -2.8882389448288819e+01 2.8890291936888733e+01 1 0 0 0 0 -V -49 0 0 0 0 0 0 2 0 -P 155 321 2.7028747166747208e-01 -1.7866346638866426e-01 -6.5733789914797921e+02 6.5733816432121944e+02 1 0 0 0 0 -P 156 111 -1.4463108126498905e-01 -1.2879962101808320e-01 -8.4210278445963058e+02 8.4210281754768846e+02 2 0 0 -72 0 -V -50 0 0 0 0 0 0 1 0 -P 157 130 -9.3629085348251956e-02 -1.1090305621819395e-01 -5.0941280621429246e+02 5.0941306998980963e+02 1 0 0 0 0 -V -51 0 0 0 0 0 0 2 0 -P 158 -211 -1.3297904895597815e-01 -2.9438247842001541e-01 -9.5132803387557174e-01 1.0143220809977018e+00 1 0 0 0 0 -P 159 111 3.3310773039596953e-01 1.8320108049326658e-01 -7.0540906308433615e-01 8.1261611024208424e-01 2 0 0 -73 0 -V -52 0 0 0 0 0 0 2 0 -P 160 -311 -2.8181023933901379e-02 5.6769404948908375e-01 -5.7061728336847795e+00 5.7559668641087107e+00 2 0 0 -74 0 -P 161 111 -5.9812769882346839e-01 7.9865106895285420e-01 -7.1598821292469550e+00 7.2303341540449777e+00 2 0 0 -75 0 -V -53 0 6.3322798099678783e-07 1.0351328244606082e-06 2.7933743165875751e-04 2.7942090225223967e-04 0 2 0 -P 162 22 5.8096471301070769e-02 5.3428646123028153e-02 3.7765134140627472e+00 3.7773381350893178e+00 1 0 0 0 0 -P 163 22 -4.5378527050218442e-02 -3.2638722195481272e-02 1.8337849139108104e+00 1.8346366417878721e+00 1 0 0 0 0 -V -54 0 3.7908084154555169e-06 -3.7125240783364860e-05 5.0293314033274142e-04 5.0494976204667260e-04 0 2 0 -P 164 22 2.3879476083673905e-02 -9.5043452643842410e-02 2.0569871554342769e+00 2.0593201899874849e+00 1 0 0 0 0 -P 165 22 -3.6512804490948913e-03 -1.0306116020996116e-01 6.2672271296364868e-01 6.3515060697228121e-01 1 0 0 0 0 -V -55 0 -2.8163829617978358e-05 -4.4561370745053719e-05 8.6442488078252821e-04 8.6625132533200738e-04 0 2 0 -P 166 22 -2.1272696263621679e-01 -2.5289224126334287e-01 5.0842833699721055e+00 5.0950117401727875e+00 1 0 0 0 0 -P 167 22 1.8239624371713066e-02 -5.4829489168192323e-02 8.8506442375569738e-01 8.8694869692540323e-01 1 0 0 0 0 -V -56 0 -1.0050177887851955e-04 -2.2210863847062044e-04 2.8669788660454984e-03 2.8777816615566582e-03 0 2 0 -P 168 22 -2.3432702581842058e-01 -3.6425243249658318e-01 4.8985588570153329e+00 4.9176689462846062e+00 1 0 0 0 0 -P 169 22 -3.0367330483346080e-02 -2.2072132364066455e-01 2.6522838638479649e+00 2.6616254003707325e+00 1 0 0 0 0 -V -57 0 -2.7250250929128789e-04 -3.0855768194360781e-04 2.8082509706315608e-03 2.8384191599824990e-03 0 2 0 -P 170 22 -1.2172414307179868e-02 -1.7033656066235661e-02 7.2692940643269088e-02 7.5647714627834581e-02 1 0 0 0 0 -P 171 22 -1.2247062310341752e+00 -1.3834980625027131e+00 1.2673852642980682e+01 1.2807830146331236e+01 1 0 0 0 0 -V -58 0 7.5098213197226507e-05 -8.7662237705231396e-05 2.9331118584683597e-03 2.9355537112795457e-03 0 2 0 -P 172 22 3.2605188375907718e-01 -3.4647857601151411e-01 1.2132012012470367e+01 1.2141337352419752e+01 1 0 0 0 0 -P 173 22 -6.4581054112161709e-03 -2.6583639104915669e-02 3.5036621273405388e-01 3.5143261092159195e-01 1 0 0 0 0 -V -59 0 1.4467157300980747e-06 3.8366900426852168e-06 8.7013577401450696e-05 8.7119560419112813e-05 0 2 0 -P 174 22 -2.1452482341985615e-02 1.4905556420087129e-02 4.8556153445010763e-01 4.8626370247877698e-01 1 0 0 0 0 -P 175 22 1.7384684072970241e-01 3.8924427427810981e-01 8.6802877220690533e+00 8.6907496090379173e+00 1 0 0 0 0 -V -60 0 1.3419342637882059e-05 7.6523646281469803e-06 1.1417714569953998e-03 1.1419973617136749e-03 0 2 0 -P 176 22 -1.6355529844852102e-02 4.0361833523059554e-02 4.2397615259600352e+00 4.2399851860558204e+00 1 0 0 0 0 -P 177 22 1.2513425613974663e-01 2.1669109411810668e-02 5.0155684975252131e+00 5.0171760469142059e+00 1 0 0 0 0 -V -61 0 1.8450118173567006e-05 1.2908193647738750e-05 2.4339254011843977e-03 2.4340385136936960e-03 0 2 0 -P 178 22 1.0751210652606756e-01 2.8884350394443786e-02 7.9047322108340383e+00 7.9055160795323509e+00 1 0 0 0 0 -P 179 22 2.6965070881795838e-01 2.3498879184710436e-01 4.1850296348452900e+01 4.1851824759386410e+01 1 0 0 0 0 -V -62 0 5.5808110402548016e-05 -5.8936777184863162e-06 1.3102902017394719e-02 1.3103029960268379e-02 0 2 0 -P 180 22 2.0951224553846201e-01 4.2892218244458290e-02 4.5755572283853013e+01 4.5756072057665904e+01 1 0 0 0 0 -P 181 22 3.1844342457361852e-01 -9.8647565394610406e-02 7.8200450686792436e+01 7.8201161277657945e+01 1 0 0 0 0 -V -63 0 -7.7083740048796682e-06 -8.3387868451053499e-06 5.0299590094601649e-03 5.0303605679107057e-03 0 2 0 -P 182 22 -6.6083273365725573e-02 -4.5663363344813121e-02 6.0722671538732644e+00 6.0727984101054098e+00 1 0 0 0 0 -P 183 22 4.9445449803996989e-02 2.7664851056761277e-02 4.7844414683534406e+00 4.7847769394811230e+00 1 0 0 0 0 -V -64 0 1.6595430708072929e-05 -7.9869052535450839e-07 3.8643307738137509e-03 3.8643773197462525e-03 0 2 0 -P 184 22 1.6865708784952835e-01 5.3640703946320818e-02 3.2632464854177648e+01 3.2632944779739709e+01 1 0 0 0 0 -P 185 22 7.6199375611534031e-02 -6.5424943890333209e-02 2.4383612858074731e+01 2.4383819692176896e+01 1 0 0 0 0 -V -65 0 7.5637609908900192e+00 -3.2787335134736542e+00 4.1369591657798037e+03 4.1373287673609439e+03 0 2 0 -P 186 211 1.5828490107324933e-01 -6.4280458726054257e-02 3.2153714760343846e+01 3.2154471520485849e+01 1 0 0 0 0 -P 187 -211 -8.9447096592936592e-02 3.4440698213342676e-02 5.4967591956659874e+00 5.4993661802812257e+00 1 0 0 0 0 -V -66 0 2.5320261325297056e-06 8.2146851594660370e-07 2.2272146360575985e-05 2.2461488062029682e-05 0 2 0 -P 188 22 1.2669605830908041e-02 -2.6208921583066511e-02 3.1664036093791548e-01 3.1797569821819927e-01 1 0 0 0 0 -P 189 22 2.7784862546685535e-01 1.2046212744598270e-01 2.2388090022228502e+00 2.2591982496577647e+00 1 0 0 0 0 -V -67 0 1.3660190168239829e-04 -1.1931143282950388e-04 6.7009586679455911e-03 6.7040910313070105e-03 0 2 0 -P 190 22 3.6058703115079364e-04 4.2662265957210021e-04 -3.1743476677878273e-04 6.4249103640209230e-04 1 0 0 0 0 -P 191 22 1.9298941527035879e-01 -1.6930323073064041e-01 9.4850343963356085e+00 9.4885081018046158e+00 1 0 0 0 0 -V -68 0 0 0 0 0 0 1 0 -P 192 310 -4.5567411934308917e-02 -1.9406127316992008e-01 1.8546771679191969e+00 1.9306058616080843e+00 2 0 0 -76 0 -V -69 0 0 0 0 0 0 1 0 -P 193 310 -1.0247389161942042e-01 -3.7550445704827762e-01 2.5312077640729019e-01 6.8062475129529332e-01 2 0 0 -77 0 -V -70 0 5.4385624976392712e+00 -2.2241015692846111e+00 -5.8291718166200262e+01 6.7866479106276032e+01 0 2 0 -P 194 211 3.7783620486313486e-02 1.7172654641153431e-01 -5.6951638254031056e-01 6.1216525840763614e-01 1 0 0 0 0 -P 195 -211 4.1229769453200796e-02 -2.0403909308820700e-01 -2.7736664210260031e-01 3.7382333320526429e-01 1 0 0 0 0 -V -71 0 8.7730673005939703e-06 3.0092650734755197e-05 -4.2749421067659666e-04 4.2956700273743739e-04 0 2 0 -P 196 22 2.2729804313198435e-02 1.4173360040581309e-01 -1.0529592182762286e+00 1.0626985333767038e+00 1 0 0 0 0 -P 197 22 1.9296130022377168e-02 2.4202879014850413e-03 -9.9488140703357786e-01 9.9507146099588162e-01 1 0 0 0 0 -V -72 0 -6.1533975488663230e-05 -5.4798406078115862e-05 -3.5827660033139480e-01 3.5827661440886521e-01 0 2 0 -P 198 22 -1.6235924682431213e-01 -1.3015266567446149e-01 -6.7338370639108132e+02 6.7338373854232020e+02 1 0 0 0 0 -P 199 22 1.7728165559323081e-02 1.3530446563782706e-03 -1.6871907806854932e+02 1.6871907900536871e+02 1 0 0 0 0 -V -73 0 1.5932823142593387e-06 8.7626618918794967e-07 -3.3740309274555397e-06 3.8868112583033451e-06 0 2 0 -P 200 22 1.3362069744752528e-01 3.8397322366062157e-02 -1.4759414341141447e-01 2.0276310394298949e-01 1 0 0 0 0 -P 201 22 1.9948703294844422e-01 1.4480375812720442e-01 -5.5781491967292174e-01 6.0985300629909467e-01 1 0 0 0 0 -V -74 0 0 0 0 0 0 1 0 -P 202 310 -2.8181023933901379e-02 5.6769404948908375e-01 -5.7061728336847795e+00 5.7559668641087107e+00 2 0 0 -78 0 -V -75 0 -2.7124016605470135e-05 3.6217391200682724e-05 -3.2468779183593861e-04 3.2788266459349427e-04 0 2 0 -P 203 22 -4.6115329401590260e-01 6.6198954161011503e-01 -6.0743062014745783e+00 6.1276494957736771e+00 1 0 0 0 0 -P 204 22 -1.3697440480756579e-01 1.3666152734273918e-01 -1.0855759277723773e+00 1.1026846582713004e+00 1 0 0 0 0 -V -76 0 -2.4429198574998088e+00 -1.0403841641959659e+01 9.9431314846080440e+01 1.0350193693526136e+02 0 2 0 -P 205 -211 -6.1157976329956530e-02 7.9033809450869533e-02 2.9779915054099509e-01 3.4373065046345536e-01 1 0 0 0 0 -P 206 211 1.5590564395647613e-02 -2.7309508262078958e-01 1.5568780173782018e+00 1.5868752111446289e+00 1 0 0 0 0 -V -77 0 -1.4903509094708578e+01 -5.4612291992451460e+01 3.6813160246280908e+01 9.8988113076509521e+01 0 2 0 -P 207 -211 -2.4069686163035753e-01 -3.2706064871694290e-01 1.7742951834380868e-01 4.6461238254868642e-01 1 0 0 0 0 -P 208 211 1.3822297001093711e-01 -4.8443808331334694e-02 7.5691258063481481e-02 2.1601236874660687e-01 1 0 0 0 0 -V -78 0 -1.3280346540154400e-01 2.6752660668688737e+00 -2.6890418469921691e+01 2.7125073527598740e+01 0 2 0 -P 209 211 5.4187093550292845e-02 4.8896006520894103e-01 -5.0394127666042294e+00 5.0652916010423583e+00 1 0 0 0 0 -P 210 -211 -8.2368117484194217e-02 7.8733984280142638e-02 -6.6676006708054880e-01 6.9067526306635141e-01 1 0 0 0 0 -E 2 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 224 0 0 -V -1 0 0 0 0 0 1 3 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 21 2.2381466690269431e-03 -3.4720102421292970e-01 8.5760509831394440e+00 8.5830766060849815e+00 3 0 0 -3 0 -P 13 1 -1.5953315142106061e-01 2.5534284672707136e-01 4.5110225338059212e+02 4.5110247456187125e+02 2 0 0 -9 0 -P 41 2203 1.5729500475203367e-01 9.1858177485858339e-02 4.1239913742420931e+03 4.1239914503976361e+03 2 0 0 -13 0 -V -2 0 0 0 0 0 1 2 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 1 1.8117451391948236e-01 -9.2107013792072212e-01 -1.9146656945590603e+03 1.9146659246760862e+03 3 0 0 -4 0 -P 39 2203 -1.8117451391948236e-01 9.2107013792072212e-01 -4.3349283892041103e+03 4.3349285594657858e+03 2 0 0 -11 0 -V -3 0 0 0 0 0 0 8 0 -P 5 -2 -1.2188640529118391e+01 1.1628197337501724e+00 -1.1080748662284646e+01 1.6513573162643777e+01 3 0 0 -5 0 -P 11 -4 1.9522097387122794e+00 -1.0579566003536176e+00 -8.1797583597675185e+00 8.6074875461043483e+00 2 0 0 -9 0 -P 12 21 1.8528631058109368e+00 6.4833945342773376e+00 -3.6105831959994241e+01 3.6730077700698025e+01 2 0 0 -9 0 -P 14 4 1.0685515977985798e+01 -5.1823216653895150e+00 -2.7066366488563993e+01 2.9595183805014884e+01 2 0 0 -11 0 -P 16 21 3.3207848203048465e-02 9.6085117788368979e-02 -6.6003952661133902e-02 1.2120904590654386e-01 2 0 0 -11 0 -P 17 21 -3.7579969777487718e-02 -1.6462158612486150e-01 -9.7318874051882720e-01 9.8772913565377995e-01 2 0 0 -11 0 -P 15 21 3.5171262487128507e-01 -6.4498578844444887e-01 -1.1127260710033722e+00 1.3333670713197316e+00 2 0 0 -11 0 -P 40 2 -5.7580659856764782e-01 -2.1687633978359599e+00 2.8191957870207176e+00 3.6182665463315975e+00 2 0 0 -13 0 -V -4 0 0 0 0 0 0 12 0 -P 6 1 -1.0356250591506910e+01 -7.5276061205649762e+00 -8.5247158145293622e+02 8.5256771811105455e+02 3 0 0 -5 0 -P 28 21 8.2987543073312353e-01 1.2838272062790441e+00 -3.8410647385758452e+01 3.8441055372078296e+01 2 0 0 -11 0 -P 29 21 1.4485320516326545e+00 3.4111844708869525e+00 -3.4836760966940879e+01 3.5033331832225194e+01 2 0 0 -11 0 -P 30 21 4.7483608911375708e+00 5.0805058534361418e+00 -7.0730773803904057e+01 7.1071800552528032e+01 2 0 0 -11 0 -P 31 21 7.0471823787681096e+00 5.3004641843654632e+00 -7.0878720555638282e+01 7.1425140725473000e+01 2 0 0 -11 0 -P 32 21 6.4330986433301513e-05 -2.8659752464543387e-01 -2.0138946295725479e+00 2.0341852728531187e+00 2 0 0 -11 0 -P 33 21 -2.0101138190485397e+00 1.8374935910906517e-01 -1.0007919765693144e+02 1.0009955107315744e+02 2 0 0 -11 0 -P 34 21 -1.9229525710899356e+00 -1.5157785543803595e+00 -2.2906932968426068e+02 2.2908241559144841e+02 2 0 0 -11 0 -P 35 21 -3.1664534528418580e+00 -1.7416366637989906e+00 -8.3806850645725774e+01 8.3884730081777633e+01 2 0 0 -11 0 -P 36 21 -3.7168946513508216e-01 -3.5284021138698476e+00 -1.0878664867278101e+02 1.0884448862478403e+02 2 0 0 -11 0 -P 37 21 -3.1241121155591017e-01 2.4591674095968902e-01 -7.8556145968468542e+01 7.8557152094687893e+01 2 0 0 -11 0 -P 38 21 2.1757864903890276e+00 -6.9754834757800643e-01 -1.5468366370543001e+02 1.5470053793663271e+02 2 0 0 -11 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 -1.3261813212669724e+01 -8.0763106975450007e+00 -1.0418644172499936e+02 1.0533715927196684e+02 3 0 0 -6 0 -P 8 -24 -9.2830779079555814e+00 1.7115243107301954e+00 -7.5936588839022193e+02 7.6374413200173183e+02 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 -1.3261813212669724e+01 -8.0763106975450007e+00 -1.0418644172499936e+02 1.0533715927196684e+02 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 -24 -9.2830779079555814e+00 1.7115243107301954e+00 -7.5936588839022193e+02 7.6374413200173183e+02 2 0 0 -8 0 -V -8 0 0 0 0 0 0 6 0 -P 42 -4 -3.6405680130529461e+01 2.3505435732580519e+01 -3.4936432423810379e+02 3.5204482684040653e+02 2 0 0 -15 0 -P 43 21 -1.2696872981433902e+00 -7.3488203514654904e-02 -1.1342868074612710e+01 1.1413945965755696e+01 2 0 0 -15 0 -P 44 21 -4.1552470502532822e-02 -2.4740042534493506e-01 -1.9652301256829328e+00 1.9811771816668682e+00 2 0 0 -15 0 -P 45 21 9.2875684016986071e-01 -5.2482893316735224e-01 -8.2669188038171093e+00 8.3354652651280841e+00 2 0 0 -15 0 -P 46 21 2.5933060912540751e+00 -1.5432000571134972e+00 -4.0105536618336508e+01 4.0218910606130805e+01 2 0 0 -15 0 -P 47 3 2.4911779059795872e+01 -1.9404993802709878e+01 -3.4832101052966868e+02 3.4974980614264371e+02 2 0 0 -15 0 -V -9 0 0 0 0 0 0 1 0 -P 52 92 3.6455396931021555e+00 5.6807807806507915e+00 4.0681666306083036e+02 4.9644003980867365e+02 2 0 0 -10 0 -V -10 0 0 0 0 0 0 17 0 -P 53 -423 1.8014118894544171e+00 -7.4135744726077624e-01 -9.8985325423010675e+00 1.0286033591286305e+01 2 0 0 -21 0 -P 54 -323 5.0264419845508967e-01 1.5096096593072483e+00 -6.4075559093590417e+00 6.6727104662027399e+00 2 0 0 -22 0 -P 55 313 6.4824466837653216e-01 1.7028313815609744e+00 -1.2490128522047499e+01 1.2658108385343498e+01 2 0 0 -23 0 -P 56 113 3.1373653839431187e-01 1.0591234964860790e+00 -3.8183528211076077e+00 4.0448247418494256e+00 2 0 0 -24 0 -P 57 223 8.2692544173461439e-03 4.6939097115965078e-01 -5.5469163366739194e+00 5.6207627549321177e+00 2 0 0 -25 0 -P 58 213 1.9044107216389983e-01 8.1937027750395064e-01 -3.6346431429697050e+00 3.7966133083889493e+00 2 0 0 -26 0 -P 59 223 4.7623181452657998e-01 3.2991099537503743e-01 -1.3035235691380478e+00 1.6193069146444774e+00 2 0 0 -27 0 -P 60 -323 -1.0115943353617618e-01 5.6476717758048370e-03 1.7300715275273690e-01 8.2205819328193652e-01 2 0 0 -28 0 -P 61 313 -7.7118065121252105e-02 3.7088297201745679e-01 6.5831368662425160e-01 1.1370141416373667e+00 2 0 0 -29 0 -P 62 213 -3.5806889091875166e-01 -1.8533975814985065e-01 2.0214743365951066e-01 7.5874614723662881e-01 2 0 0 -30 0 -P 63 221 5.3742504319834894e-01 2.2371832414580742e-01 7.6764387006558730e+00 7.7179199395330977e+00 2 0 0 -31 0 -P 64 -213 -3.5723363435424654e-01 -2.4687075875660527e-01 4.3946274554500251e+00 4.4381896913330143e+00 2 0 0 -32 0 -P 65 211 -9.6962110337190308e-03 -1.9969339915386206e-01 9.7285408505103610e-01 1.0029438298701092e+00 1 0 0 0 0 -P 66 -213 3.6007407932397151e-01 -1.9108983779111039e-02 2.4483370677350226e+01 2.4497188617868417e+01 2 0 0 -33 0 -P 67 113 -3.7252120952480011e-01 1.1767633929689882e-02 3.8343277541438461e+01 3.8352383249490323e+01 2 0 0 -34 0 -P 68 113 -9.0606939026123462e-02 1.6342699333927246e-01 1.6719221309737839e+02 1.6719396525633584e+02 2 0 0 -35 0 -P 69 221 1.7346551830672804e-01 4.0747075115002573e-01 2.0582006607406680e+02 2.0582127057943939e+02 2 0 0 -36 0 -V -11 0 0 0 0 0 10 1 0 -P 23 21 -1.7556414536864717e+00 -3.2948210135311675e+00 9.6577188877003675e+00 1.0354209604743055e+01 2 0 0 -11 0 -P 24 21 -4.3740574207816687e+00 -6.7194450447463385e+00 8.7596980484749754e-01 8.0653978902882315e+00 2 0 0 -11 0 -P 25 21 -2.3472186202550427e+00 -1.7652302001002413e+00 -4.8822773731482902e+00 5.6975525674603205e+00 2 0 0 -11 0 -P 26 21 1.7556414536864717e+00 3.2948210135311675e+00 -4.6484359802172142e+00 5.9620532945694862e+00 2 0 0 -11 0 -P 27 21 2.3472186202550427e+00 1.7652302001002413e+00 -7.2800433838180606e+02 7.2801026241093734e+02 2 0 0 -11 0 -P 19 21 -3.9110823174159708e+00 3.1313981445182435e+00 7.8933491919030098e+02 7.8935081989720652e+02 2 0 0 -11 0 -P 20 21 3.8916892480043179e+00 1.8950634673498339e+00 1.4168700767391088e+03 1.4168766886604622e+03 2 0 0 -11 0 -P 21 21 4.3740574207816687e+00 6.7194450447463385e+00 8.3124634883261848e+01 8.3510408001070459e+01 2 0 0 -11 0 -P 22 21 3.9110823174159708e+00 -3.1313981445182435e+00 3.6591766345710994e+01 3.6933177273722393e+01 2 0 0 -11 0 -P 18 21 -3.8916892480043179e+00 -1.8950634673498339e+00 4.3405633505207952e+01 4.3620929961851424e+01 2 0 0 -11 0 -P 70 92 1.9317863021338749e+01 2.7609108265139839e+00 -3.6936736405113015e+03 8.4685219372436368e+03 2 0 0 -12 0 -V -12 0 0 0 0 0 0 90 0 -P 157 211 7.1285808765427905e-01 -3.2842857210290849e-01 -1.3495391606091425e+02 1.3495627059140784e+02 1 0 0 0 0 -P 158 113 -8.5570937057012242e-01 4.5138982048336918e-01 -3.8575888425787775e+02 3.8576089945786532e+02 2 0 0 -101 0 -P 159 -211 8.5048282385916807e-01 -2.4394986791084675e-01 -2.3972504452141907e+03 2.3972506125543050e+03 1 0 0 0 0 -P 160 2224 -1.9025691153649760e-03 7.5090832178153066e-01 -1.3897064940632451e+03 1.3897072600852762e+03 2 0 0 -102 0 -P 71 423 6.7375280292117559e+00 -3.1280786052117606e+00 -1.8078833346658740e+01 1.9648160722343899e+01 2 0 0 -37 0 -P 72 213 1.0805121219025640e+00 -6.6038780518628226e-01 -2.3089962780132609e+00 2.7002122967490942e+00 2 0 0 -38 0 -P 73 331 8.8350480325607927e-01 -9.1723208806001100e-01 -1.3273651063348788e+00 2.0738588580152020e+00 2 0 0 -39 0 -P 74 -213 1.6671177452769768e+00 -6.0237742035546349e-01 -4.3269280810687976e+00 4.7129738478160546e+00 2 0 0 -40 0 -P 75 111 -2.2944867559712592e-01 -5.4494370034286373e-02 -1.1132060518150413e+00 1.1458898923091787e+00 2 0 0 -41 0 -P 76 211 1.9057714121074421e-01 -3.7678379479520874e-01 3.2988192916386494e-01 5.5370348279671411e-01 1 0 0 0 0 -P 77 -211 2.1514156450681340e-01 4.1042646895793555e-01 1.1603516057783952e-01 4.9767431377362004e-01 1 0 0 0 0 -P 78 211 1.1821640765841486e-01 -7.3020341573840120e-01 -1.3087805912292785e+00 1.5098207073272469e+00 1 0 0 0 0 -P 79 3112 -1.2499623449219958e-01 -5.9241869360866006e-02 4.0162992375308786e+00 4.1932869895481408e+00 2 0 0 -42 0 -P 80 311 -1.0795922983869366e-01 -3.0104120411989399e-02 1.6962385074932020e+00 1.7712882195102833e+00 2 0 0 -43 0 -P 81 -1114 -5.9337323488907867e-01 -4.6246084613168187e-01 7.5339721507890793e+00 7.6936474040793801e+00 2 0 0 -44 0 -P 82 -211 -3.9495796561206009e-01 3.0833169972538993e-01 9.3878856442942862e+00 9.4022835995784941e+00 1 0 0 0 0 -P 83 211 -3.1344790463608746e-01 -7.2171857255188154e-01 8.5253322989485287e+00 8.5627038883335214e+00 1 0 0 0 0 -P 84 -213 -1.2690227290925465e-01 -1.0105632908426881e-01 5.1452653640166943e+00 5.1881794411189812e+00 2 0 0 -45 0 -P 85 213 -1.2041062649028871e+00 -1.2215218528395928e-01 2.3429585452245682e+01 2.3473631837985316e+01 2 0 0 -46 0 -P 86 223 -7.4237011822675184e-02 1.4248179815169867e-01 1.5165880769368950e+01 1.5186849387363358e+01 2 0 0 -47 0 -P 87 -213 -9.0074449059785699e-01 -6.0424612216057405e-01 2.4880423729369195e+01 2.4913870228144820e+01 2 0 0 -48 0 -P 88 323 -3.9622224355221425e-01 4.7691198706436511e-01 8.3475162278290014e+01 8.3482329557234976e+01 2 0 0 -49 0 -P 89 -313 -1.1785958161298775e+00 4.3758697222424819e-01 2.3405851550380999e+02 2.3406361463389302e+02 2 0 0 -50 0 -P 90 111 -2.1010818134776000e-02 1.4739930625154105e-01 2.2010537086033544e+01 2.2011454527723057e+01 2 0 0 -51 0 -P 91 -213 -1.4723087124553025e+00 1.8245140592851474e+00 3.9234982586875026e+02 3.9235769486019092e+02 2 0 0 -52 0 -P 92 213 1.7539750249024346e+00 1.4987779798051035e+00 6.9123026432414906e+02 6.9123466203199087e+02 2 0 0 -53 0 -P 93 -211 -8.9424661017914325e-02 -3.0761209203019885e-01 1.4068666240461201e+02 1.4068709635323111e+02 1 0 0 0 0 -P 94 111 7.0564265001932358e-01 3.8262897153753883e-01 1.6816678510920750e+02 1.6816875503507225e+02 2 0 0 -54 0 -P 95 223 1.8302919870385345e-01 6.5783452518379060e-01 2.6383157492994411e+02 2.6383362307134547e+02 2 0 0 -55 0 -P 96 113 1.1656756707026841e+00 -6.4896512612338464e-01 1.0945955049891027e+02 1.0947082232861229e+02 2 0 0 -56 0 -P 97 213 -3.5903158855632840e-02 9.9198943525646954e-01 3.7343100725470698e+01 3.7367385916754081e+01 2 0 0 -57 0 -P 98 221 4.2162092047841054e-01 3.3016782868221339e-01 8.5630844493739087e+00 8.5972607140467154e+00 2 0 0 -58 0 -P 99 -213 9.7457004419126791e-01 2.5386776349576827e+00 3.2029157610337023e+01 3.2157623407268844e+01 2 0 0 -59 0 -P 100 111 1.2787995261416203e+00 5.9131216608945592e-01 1.8321222064458190e+01 1.8375809528872868e+01 2 0 0 -60 0 -P 101 331 1.5941076518656097e+00 2.2203899316199833e+00 3.0301907248901987e+01 3.0440010892784585e+01 2 0 0 -61 0 -P 102 213 1.7703923967892532e+00 -1.5783757695402438e+00 1.7113365104763496e+01 1.7299350723397684e+01 2 0 0 -62 0 -P 103 -211 -1.8759452428865081e-01 -1.2769116703025019e-01 3.8721698603132602e+00 3.8813239946826195e+00 1 0 0 0 0 -P 104 211 6.9482022183564407e-01 -7.4276553322659658e-02 2.8254613298076237e+00 2.9139326790753919e+00 1 0 0 0 0 -P 105 311 6.3686850058466904e-01 -2.8985459322238305e-01 6.1254602664267574e+00 6.1853501175537389e+00 2 0 0 -63 0 -P 106 333 8.7207094479077651e-02 -2.0295472311855449e+00 7.6184364527955317e+00 7.9504887791525123e+00 2 0 0 -64 0 -P 107 -323 -1.9822568338569455e-01 -1.5507438333859327e-01 2.6398270078375625e+00 2.7898910808615089e+00 2 0 0 -65 0 -P 108 113 -1.1042506848572424e+00 -1.9030565630970109e+00 5.3217383054275196e+00 5.8133432539368144e+00 2 0 0 -66 0 -P 109 213 -7.2310463393123914e-01 -7.6975522680298714e-01 6.1285789995101991e-01 1.6294860676683323e+00 2 0 0 -67 0 -P 110 -211 -4.3482640295969677e-01 -8.1532294744635425e-01 1.7768661421435300e-01 9.5125066471169373e-01 1 0 0 0 0 -P 111 213 -5.9736000021821500e-01 -1.2204809639168086e+00 2.6747136936349564e-01 1.5533645053088498e+00 2 0 0 -68 0 -P 112 -211 -1.4286103486218285e+00 -1.6452141393289603e+00 4.8302563621898731e-01 2.2361687419741094e+00 1 0 0 0 0 -P 113 111 4.3583065059189477e-02 -2.4339437891750076e-01 6.2664394827260231e-02 2.8859441094320626e-01 2 0 0 -69 0 -P 114 213 -1.1457523430575574e+00 -1.7185955494709606e+00 -2.0075212146900698e+00 2.9665875925104452e+00 2 0 0 -70 0 -P 115 -213 -9.9510244241403112e-01 -3.8721112665348262e-01 -1.1073021899671061e+00 1.6337817612725141e+00 2 0 0 -71 0 -P 116 321 3.6387094509041512e-01 4.3920647350883402e-01 9.9248798190379642e-02 7.6078622161241372e-01 1 0 0 0 0 -P 117 -321 -1.2747399230810363e-01 -1.0200080057828731e+00 -1.4513610769384608e+00 1.8457399291959007e+00 1 0 0 0 0 -P 118 211 -2.0133216812193178e-01 3.5802685432120634e-01 -1.7925786519980291e+00 1.8443253180593948e+00 1 0 0 0 0 -P 119 311 -2.8765138987802308e-01 7.2322394316508809e-01 -1.3293539465693636e+00 1.6188432716682488e+00 2 0 0 -72 0 -P 120 -321 1.0298266079353463e-01 -1.3133623038629999e-01 -8.4534917780111540e-01 9.9303113055191838e-01 1 0 0 0 0 -P 121 113 -2.0064710281109285e-02 9.6668445379680457e-01 -2.7580016928497004e+00 3.0477179748732270e+00 2 0 0 -73 0 -P 122 213 6.9914421880252642e-01 4.8815033788881651e-01 -2.1395488946251060e+00 2.3683512678933512e+00 2 0 0 -74 0 -P 123 223 1.5872029432710627e-01 -2.3339814721712135e-01 -7.4179222929870310e+00 7.4628850957322737e+00 2 0 0 -75 0 -P 124 223 -3.0717425565275075e-01 5.6842261363386204e-01 -1.7694534053195312e+01 1.7723823647209741e+01 2 0 0 -76 0 -P 125 1114 7.6998734838977989e-01 -3.4728630806103294e-01 -1.9364499157932190e+02 1.9364995150560429e+02 2 0 0 -77 0 -P 126 111 6.5158363716255141e-01 1.5605607263941090e+00 -1.1121050811925711e+02 1.1122344737851247e+02 2 0 0 -78 0 -P 127 -2112 1.0813888713417015e-01 9.3320687480095546e-02 -7.6290462496469246e+01 7.6296381712894501e+01 1 0 0 0 0 -P 128 211 3.9294549049558353e-01 -4.8295703118897615e-01 -5.9670507038186024e+01 5.9673918453806799e+01 1 0 0 0 0 -P 129 -211 -4.9079394553889405e-02 3.0193103218666079e-01 -5.2738809586108296e+01 5.2739881375291844e+01 1 0 0 0 0 -P 130 113 7.7374346420721107e-01 8.6434540604482102e-01 -8.8859763366085502e+01 8.8870436517698323e+01 2 0 0 -79 0 -P 131 223 1.6985777384718924e-02 2.8325881170135603e-01 -9.6927730933742907e+01 9.6931159023301547e+01 2 0 0 -80 0 -P 132 223 3.0185368861046491e-01 2.4293189269126073e-01 -3.2090245504750932e+01 3.2101336386389761e+01 2 0 0 -81 0 -P 133 221 6.5201407902947539e-01 -1.2988330070145512e-02 -7.4859939959601558e+00 7.5342616536739797e+00 2 0 0 -82 0 -P 134 213 1.2458254485181726e+00 2.4534172247832897e+00 -3.9148897598913670e+01 3.9260611329490111e+01 2 0 0 -83 0 -P 135 221 8.8556817596659831e-01 9.1587012185965244e-01 -1.2421218347891800e+01 1.2498376527489638e+01 2 0 0 -84 0 -P 136 -211 1.8161190527346487e+00 1.8932700926893988e+00 -2.7662401209321924e+01 2.7786879646840031e+01 1 0 0 0 0 -P 137 111 7.2247895685888563e-01 1.1632455888028332e+00 -1.2867988035904569e+01 1.2941346600549585e+01 2 0 0 -85 0 -P 138 113 1.2139941660877747e+00 1.6756779361740803e+00 -1.8860823514754017e+01 1.8989026284653107e+01 2 0 0 -86 0 -P 139 211 1.1157147548814101e+00 5.0436447513334515e-01 -1.1621107696187737e+01 1.1686266589862242e+01 1 0 0 0 0 -P 140 -213 4.5823331418939195e-01 1.1538176266903686e+00 -1.8447864138782936e+01 1.8525111286873642e+01 2 0 0 -87 0 -P 141 213 2.0821117255183093e+00 1.6804026242358250e+00 -2.6142179810664658e+01 2.6288201716404078e+01 2 0 0 -88 0 -P 142 313 1.7813828024493763e+00 1.2357154576419902e+00 -2.2601396009113010e+01 2.2725602197916988e+01 2 0 0 -89 0 -P 143 -313 1.4186766512402984e+00 6.4743845122084742e-01 -1.8091956801791984e+01 1.8183781843473593e+01 2 0 0 -90 0 -P 144 2112 -1.1231017999695494e+00 5.3690695272926670e-01 -5.0961864079027272e+01 5.0985723579479917e+01 1 0 0 0 0 -P 145 -213 -5.7530555364241898e-01 -4.7810186265971222e-01 -9.4505926829143817e+01 9.4510818189169768e+01 2 0 0 -91 0 -P 146 -1114 -8.0379050531219987e-01 -7.4317351469684056e-01 -3.3976739042042894e+01 3.4017782197130039e+01 2 0 0 -92 0 -P 147 -213 -1.7993965627187491e-01 6.2933882558033644e-02 -4.3212693477627020e+01 4.3219348613222635e+01 2 0 0 -93 0 -P 148 211 -1.1857733256197995e+00 -2.3402786696214123e-01 -3.9319959891382794e+01 3.9338779252375360e+01 1 0 0 0 0 -P 149 311 -1.4096245121895092e+00 -2.1826091973706498e+00 -7.8978356177349141e+01 7.9022650196503378e+01 2 0 0 -94 0 -P 150 -323 -3.0387368245023250e-01 -3.9194042956116942e-01 -7.8833271694584482e+01 7.8839861573241009e+01 2 0 0 -95 0 -P 151 213 -1.8006034881526349e+00 -1.2055027990336920e+00 -8.9338286707006162e+01 8.9369650117474464e+01 2 0 0 -96 0 -P 152 113 4.9137946671111676e-01 -9.7164155725422818e-01 -5.0430982625195028e+01 5.0451579348850466e+01 2 0 0 -97 0 -P 153 221 2.6692022391655834e-01 -2.6056453113669759e-01 -2.1564701043027426e+01 2.1574873646408001e+01 2 0 0 -98 0 -P 154 311 4.1329176006341922e-01 1.8028596136298070e-01 -8.9119644403072215e+01 8.9122174609160766e+01 2 0 0 -99 0 -P 155 -321 3.6881058325853905e-01 -3.6759956648503250e-01 -5.2482305038393726e+01 5.2487209239876819e+01 1 0 0 0 0 -P 156 221 -4.0997910950580485e-01 -2.7374853556398043e-01 -4.8760304863457051e+01 4.8765869755503466e+01 2 0 0 -100 0 -V -13 0 0 0 0 0 0 1 0 -P 161 92 -4.1851159381561415e-01 -2.0769052203501017e+00 4.1268105700291135e+03 4.1276097169439681e+03 2 0 0 -14 0 -V -14 0 0 0 0 0 0 14 0 -P 162 211 -3.1267035370541174e-01 -1.6630336354906903e+00 2.9600402088397786e+00 3.4124421527269715e+00 1 0 0 0 0 -P 163 223 -1.3456644959131422e-02 1.0490675531334205e-01 2.8997985766568299e+00 3.0056909067982369e+00 2 0 0 -103 0 -P 164 -213 -7.6664826358880125e-02 -1.5791348259790233e-01 2.8310851989334567e+00 2.9388621741173262e+00 2 0 0 -104 0 -P 165 113 -3.9648671529754964e-01 -2.4605982607667140e-01 7.6583440010326704e+00 7.7151393693837971e+00 2 0 0 -105 0 -P 166 223 8.9691194834938370e-02 -2.5125974088198971e-02 1.8317488091703201e+01 1.8334490887220280e+01 2 0 0 -106 0 -P 167 331 7.9224066352126379e-02 -2.1422931649456503e-01 1.6453778503957725e+01 1.6483212902440073e+01 2 0 0 -107 0 -P 168 211 1.5527914687816030e-01 -4.5548875201547573e-02 2.0928087163014524e+01 2.0929178158760095e+01 1 0 0 0 0 -P 169 113 -9.0692399597892714e-02 1.6957858902038977e-01 7.6922069406224782e+00 7.7066837587922024e+00 2 0 0 -108 0 -P 170 -211 1.9561892851724411e-02 -3.4229386330714748e-02 4.3617570241825661e+00 4.3641675542360279e+00 1 0 0 0 0 -P 171 211 1.4955539305015297e-01 -7.3620802444243974e-02 6.1402424512466673e+01 6.1402809403415823e+01 1 0 0 0 0 -P 172 313 -9.7870346573322886e-02 5.6843447855507345e-01 7.2008545829421976e+01 7.2016348838853801e+01 2 0 0 -109 0 -P 173 -313 -1.3048017096509981e-01 -7.9611017480924984e-01 2.3671747454399076e+02 2.3672050958431549e+02 2 0 0 -110 0 -P 174 2112 5.2848587189431351e-01 -1.8847878506702731e-01 1.0586464613615185e+03 1.0586470269955985e+03 1 0 0 0 0 -P 175 211 -3.2198770221974171e-01 5.2452521536190455e-01 2.6139330780727728e+03 2.6139331542573095e+03 1 0 0 0 0 -V -15 0 0 0 0 0 0 1 0 -P 176 92 -9.2830779079555690e+00 1.7115243107302014e+00 -7.5936588839022170e+02 7.6374413200173171e+02 2 0 0 -16 0 -V -16 0 0 0 0 0 0 10 0 -P 177 -411 -2.6390450740240546e+01 1.6827024890099779e+01 -2.5400527191191205e+02 2.5593314966697744e+02 2 0 0 -111 0 -P 178 -2112 -3.3029260138577476e+00 1.9451764508002454e+00 -3.1157827697945482e+01 3.1406783507986372e+01 1 0 0 0 0 -P 179 2112 -3.6871070129151744e+00 2.3786739914127644e+00 -3.4678443322119684e+01 3.4967557408439028e+01 1 0 0 0 0 -P 180 -313 -1.6887882543152506e+00 9.5163004863946332e-01 -1.9256191761625256e+01 1.9375050572033444e+01 2 0 0 -112 0 -P 181 323 -1.0684585629853891e+00 1.1397180800571156e+00 -1.1888673019374792e+01 1.2026652906041873e+01 2 0 0 -113 0 -P 182 -323 -1.0389598140931948e+00 -2.4279557457761929e-02 -1.5588480592748905e+01 1.5651040269879616e+01 2 0 0 -114 0 -P 183 321 9.7335278175105699e-01 -7.7540269787809635e-01 -1.2014313647022332e+01 1.2088673969904482e+01 1 0 0 0 0 -P 184 113 9.1572165877639158e+00 -6.8871050884448293e+00 -1.3173902282931255e+02 1.3223974804671991e+02 2 0 0 -115 0 -P 185 111 1.5749182160948232e+00 -1.4409120111312630e+00 -2.3979729812343567e+01 2.4074930036961863e+01 2 0 0 -116 0 -P 186 -321 1.6188124904841935e+01 -1.2402999795367213e+01 -2.2505793379581706e+02 2.2598054561678759e+02 1 0 0 0 0 -V -17 0 0 0 0 0 2 1 0 -P 48 3 2.6809949063516858e+00 -2.1334338920576483e+00 -4.9258539041941329e+00 6.0002758724185767e+00 2 0 0 -17 0 -P 49 -3 -2.6809949063516858e+00 2.1334338920576483e+00 2.5402154973416849e+01 2.5632181942884813e+01 2 0 0 -17 0 -P 187 92 0 0 2.0476301069222714e+01 3.1632457815303390e+01 2 0 0 -18 0 -V -18 0 0 0 0 0 0 11 0 -P 188 -321 2.3165815711701914e+00 -1.4668486212149290e+00 -3.7345492849367883e+00 4.6592589942036238e+00 1 0 0 0 0 -P 189 213 -1.8805628523845630e-01 -4.7820853896800425e-01 -1.8580072096583751e-02 8.0239109587132929e-01 2 0 0 -117 0 -P 190 -211 5.2779424626199234e-01 -6.9896042852539919e-02 3.7768327334195961e-01 6.6751529050352554e-01 1 0 0 0 0 -P 191 213 -1.6891692283320525e-01 6.6648603572310589e-02 1.6599824117289130e+00 1.9453974090260178e+00 2 0 0 -118 0 -P 192 113 -7.4221913151521435e-01 4.9737556351137047e-01 2.7144616154803280e+00 2.9374218163653363e+00 2 0 0 -119 0 -P 193 -213 2.6977494445296846e-02 3.3051528732393581e-01 2.9686265628592207e-01 7.9252551915710912e-01 2 0 0 -120 0 -P 194 211 -6.8694313677862559e-03 -3.6465893769440583e-01 8.2207140953389746e-01 9.1011236515101712e-01 1 0 0 0 0 -P 195 113 -1.7926234409549882e-01 4.5811796288984646e-01 4.3631920667074748e+00 4.4594263972685484e+00 2 0 0 -121 0 -P 196 -213 -8.7517280978279891e-02 1.1556616042151517e-01 1.2143912094050173e+00 1.4643347407834515e+00 2 0 0 -122 0 -P 197 323 -7.6278088917320597e-01 6.2000960206627131e-01 7.1458893862408148e+00 7.2776101788726990e+00 2 0 0 -123 0 -P 198 221 -7.3573102667583368e-01 2.9137896094462912e-01 5.6348963975317616e+00 5.7164640081007310e+00 2 0 0 -124 0 -V -19 0 0 0 0 0 2 1 0 -P 50 21 1.2797607567819380e+00 -2.6322105018962016e+00 9.7689792994647917e-01 3.0855549397840010e+00 2 0 0 -19 0 -P 51 21 -1.2797607567819380e+00 2.6322105018962016e+00 2.1455385372104661e+00 3.6290019751368225e+00 2 0 0 -19 0 -P 199 92 0 0 3.1224364671569451e+00 6.7145569149208235e+00 2 0 0 -20 0 -V -20 0 0 0 0 0 0 5 0 -P 200 213 4.6881355005877492e-02 -1.7685658006218710e-01 -3.6436198676174875e-01 1.1033453735196406e+00 2 0 0 -125 0 -P 201 111 3.7295347928756839e-01 -3.7777914400943240e-02 1.1758598639554589e+00 1.2415262738220798e+00 2 0 0 -126 0 -P 202 -213 -7.7174053973165080e-01 1.1344979778855320e+00 1.1415247517969562e+00 1.9615336994911579e+00 2 0 0 -127 0 -P 203 223 4.0683186443833641e-01 -5.2896991332825460e-01 1.1174071860398992e-01 1.0379283489087789e+00 2 0 0 -128 0 -P 204 223 -5.4926159000131487e-02 -3.9089357009414699e-01 1.0576731195622895e+00 1.3702232191791681e+00 2 0 0 -129 0 -V -21 0 0 0 0 0 0 2 0 -P 205 -421 1.6217223175989148e+00 -6.8010125330790361e-01 -9.1387443651518652e+00 9.4913397269165518e+00 2 0 0 -130 0 -P 206 111 1.7968957185550219e-01 -6.1256193952872552e-02 -7.5978817714920155e-01 7.9469386436974088e-01 2 0 0 -131 0 -V -22 0 0 0 0 0 0 2 0 -P 207 -311 3.8379010207120906e-01 6.7470718262439966e-01 -2.3156482330478920e+00 2.4924740305268194e+00 2 0 0 -132 0 -P 208 -211 1.1885409638388056e-01 8.3490247668284856e-01 -4.0919076763111493e+00 4.1802364356759165e+00 1 0 0 0 0 -V -23 0 0 0 0 0 0 2 0 -P 209 311 4.9216148712404084e-01 1.6700552201381169e+00 -1.0293091901049095e+01 1.0451158963486355e+01 2 0 0 -133 0 -P 210 111 1.5608318125249132e-01 3.2776161422857351e-02 -2.1970366209984036e+00 2.2069494218571477e+00 2 0 0 -134 0 -V -24 0 0 0 0 0 0 2 0 -P 211 -211 2.0686418792920924e-01 -7.4052015170417047e-03 -8.4407254316637448e-01 8.8021921831125127e-01 1 0 0 0 0 -P 212 211 1.0687235046510266e-01 1.0665286980031208e+00 -2.9742802779412334e+00 3.1646055235381785e+00 1 0 0 0 0 -V -25 0 0 0 0 0 0 3 0 -P 213 211 1.6494907868686517e-01 9.3669242179650447e-02 -1.1169618990498749e+00 1.1415190731298617e+00 1 0 0 0 0 -P 214 -211 -3.2961684312823265e-02 9.7904714471502771e-02 -3.2110680804773697e+00 3.2157596004846356e+00 1 0 0 0 0 -P 215 111 -1.2371813995669578e-01 2.7781701450849755e-01 -1.2188863571466753e+00 1.2634840813176285e+00 2 0 0 -135 0 -V -26 0 0 0 0 0 0 2 0 -P 216 211 2.6192308140908338e-01 8.2567800152099802e-01 -2.4544236849886327e+00 2.6065347250907127e+00 1 0 0 0 0 -P 217 111 -7.1482009245183581e-02 -6.3077240170473347e-03 -1.1802194579810725e+00 1.1900785832982377e+00 2 0 0 -136 0 -V -27 0 0 0 0 0 0 3 0 -P 218 -211 1.2750107324969964e-01 -6.0407306768978437e-02 -2.7535093013034662e-01 3.3941639031513160e-01 1 0 0 0 0 -P 219 211 1.9975853129734369e-01 3.0355779618777118e-01 -9.8170033356441933e-01 1.0560616157558897e+00 1 0 0 0 0 -P 220 111 1.4897220997953661e-01 8.6760505956244627e-02 -4.6472305443281688e-02 2.2382890857345566e-01 2 0 0 -137 0 -V -28 0 0 0 0 0 0 2 0 -P 221 -311 -8.2754245304295648e-02 1.3966417583534083e-01 2.8673365676272389e-01 5.9686343994935065e-01 2 0 0 -138 0 -P 222 -211 -1.8405188231880528e-02 -1.3401650405953600e-01 -1.1372650400998702e-01 2.2519475333258582e-01 1 0 0 0 0 -V -29 0 0 0 0 0 0 2 0 -P 223 321 -1.8606728549463221e-02 1.8438159657958669e-02 1.8496301802780613e-01 5.2776742426644740e-01 1 0 0 0 0 -P 224 -211 -5.8511336571788884e-02 3.5244481235949815e-01 4.7335066859644559e-01 6.0924671737091951e-01 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 225 211 1.0573260084598722e-01 -2.9908689762051261e-02 1.7688449051444560e-01 2.5068270879638765e-01 1 0 0 0 0 -P 226 111 -4.6380149176473889e-01 -1.5543106838779938e-01 2.5262943145065019e-02 5.0806343844024116e-01 2 0 0 -139 0 -V -31 0 0 0 0 0 0 3 0 -P 227 22 9.2357515717230873e-02 1.2167869364811841e-01 1.5090349685127447e+00 1.5167472272569451e+00 1 0 0 0 0 -P 228 -211 1.6376765932694964e-01 -1.1407305807929946e-01 3.2242673069684358e+00 3.2334520192058642e+00 1 0 0 0 0 -P 229 211 2.8129986815416846e-01 2.1611268857698845e-01 2.9431364251746919e+00 2.9677206930702882e+00 1 0 0 0 0 -V -32 0 0 0 0 0 0 2 0 -P 230 -211 -3.4592648683826727e-01 -7.9172091937077929e-02 3.3441833061786439e+00 3.3658542934390199e+00 1 0 0 0 0 -P 231 111 -1.1307147515979296e-02 -1.6769866681952736e-01 1.0504441492713814e+00 1.0723353978939945e+00 2 0 0 -140 0 -V -33 0 0 0 0 0 0 2 0 -P 232 -211 2.4529482978165587e-01 2.1068895148048891e-01 2.0592913103800264e+01 2.0595924579230772e+01 1 0 0 0 0 -P 233 111 1.1477924954231560e-01 -2.2979793525959996e-01 3.8904575735499605e+00 3.9012640386376463e+00 2 0 0 -141 0 -V -34 0 0 0 0 0 0 2 0 -P 234 -211 1.0683530591018791e-02 2.9505319405206820e-01 1.8571534555359463e+01 1.8574405671540525e+01 1 0 0 0 0 -P 235 211 -3.8320474011581890e-01 -2.8328556012237832e-01 1.9771742986078998e+01 1.9777977577949802e+01 1 0 0 0 0 -V -35 0 0 0 0 0 0 2 0 -P 236 211 -2.0039518369288894e-02 -2.6884321977876424e-01 6.0433873079858088e+01 6.0434635545160802e+01 1 0 0 0 0 -P 237 -211 -7.0567420656834565e-02 4.3227021311803671e-01 1.0675834001752031e+02 1.0675932971117506e+02 1 0 0 0 0 -V -36 0 0 0 0 0 0 3 0 -P 238 211 2.3019840431794759e-02 1.0722469130411325e-01 4.8915482888414573e+01 4.8915804941134901e+01 1 0 0 0 0 -P 239 -211 1.5228297752088477e-01 2.4892222450875526e-01 1.3594839004485266e+02 1.3594877486741612e+02 1 0 0 0 0 -P 240 111 -1.8372996459514808e-03 5.1323835337157217e-02 2.0956193140799577e+01 2.0956690770888397e+01 2 0 0 -142 0 -V -37 0 0 0 0 0 0 2 0 -P 241 421 6.2436518356625337e+00 -2.8651113247762519e+00 -1.6799099320280089e+01 1.8244948598748316e+01 2 0 0 -143 0 -P 242 111 4.9387619354922196e-01 -2.6296728043550860e-01 -1.2797340263786521e+00 1.4032121235955854e+00 2 0 0 -144 0 -V -38 0 0 0 0 0 0 2 0 -P 243 211 2.7007673122422310e-01 -4.6451763092717235e-01 -9.3209210659772479e-01 1.0848933358965471e+00 1 0 0 0 0 -P 244 111 8.1043539067834081e-01 -1.9587017425910982e-01 -1.3769041714155361e+00 1.6153189608525471e+00 2 0 0 -145 0 -V -39 0 0 0 0 0 0 3 0 -P 245 211 4.2743761782097450e-01 -3.1321195981240602e-01 -3.4462938877908883e-01 6.4734368723904778e-01 1 0 0 0 0 -P 246 -211 6.6967622594905324e-02 -6.5307943664755175e-02 -1.1166100354230166e-01 2.0173684490892191e-01 1 0 0 0 0 -P 247 221 3.8909956284019970e-01 -5.3871218458285008e-01 -8.7107471401348857e-01 1.2247783258672331e+00 2 0 0 -146 0 -V -40 0 0 0 0 0 0 2 0 -P 248 -211 8.9544666103778403e-01 -3.4343535149518389e-01 -1.6695180355689065e+00 1.9304255539673623e+00 1 0 0 0 0 -P 249 111 7.7167108423919306e-01 -2.5894206886027965e-01 -2.6574100454998915e+00 2.7825482938486923e+00 2 0 0 -147 0 -V -41 0 -1.1546839958446812e-05 -2.7423900695209169e-06 -5.6021295776194672e-05 5.7666086596760802e-05 0 2 0 -P 250 22 -1.8671110918704986e-01 -7.3362208509199348e-02 -6.4793461233395855e-01 6.7827893509349302e-01 1 0 0 0 0 -P 251 22 -4.2737566410076068e-02 1.8867838474912971e-02 -4.6527143948108279e-01 4.6761095721568580e-01 1 0 0 0 0 -V -42 0 -9.5849625824338869e+00 -4.5427856562572915e+00 3.0797790083823350e+02 3.2154967752035753e+02 0 2 0 -P 252 2112 2.3494946269770597e-02 -7.7140433032913139e-02 3.6864044468885173e+00 3.8051113242385117e+00 1 0 0 0 0 -P 253 -211 -1.4849118076197018e-01 1.7898563672047136e-02 3.2989479064236149e-01 3.8817566530963010e-01 1 0 0 0 0 -V -43 0 0 0 0 0 0 1 0 -P 254 310 -1.0795922983869366e-01 -3.0104120411989399e-02 1.6962385074932020e+00 1.7712882195102833e+00 2 0 0 -148 0 -V -44 0 0 0 0 0 0 2 0 -P 255 -2112 -7.1620069765306504e-01 -5.9406387712284348e-01 6.6924011570619157e+00 6.8217945118102632e+00 1 0 0 0 0 -P 256 211 1.2282746276398639e-01 1.3160303099116163e-01 8.4157099372716293e-01 8.7185289226911644e-01 1 0 0 0 0 -V -45 0 0 0 0 0 0 2 0 -P 257 -211 1.0917582350152771e-01 -1.9998037871313329e-01 3.9245082818393935e+00 3.9335933383400823e+00 1 0 0 0 0 -P 258 111 -2.3607809641078237e-01 9.8924049628864474e-02 1.2207570821773017e+00 1.2545861027789014e+00 2 0 0 -149 0 -V -46 0 0 0 0 0 0 2 0 -P 259 211 -9.2512366564428780e-02 6.6785049859374487e-02 1.0583879226240367e+00 1.0736310169273680e+00 1 0 0 0 0 -P 260 111 -1.1115938983384583e+00 -1.8893723514333377e-01 2.2371197529621647e+01 2.2400000821057944e+01 2 0 0 -150 0 -V -47 0 0 0 0 0 0 3 0 -P 261 211 -8.7979223122396005e-02 -1.8498323078029286e-01 7.8982483377437287e+00 7.9021367824748960e+00 1 0 0 0 0 -P 262 -211 -9.3830291977028552e-02 7.2250537096242073e-02 3.3416130761211456e+00 3.3466224763494039e+00 1 0 0 0 0 -P 263 111 1.0757250327674936e-01 2.5521449183574951e-01 3.9260193555040792e+00 3.9380901285390704e+00 2 0 0 -151 0 -V -48 0 0 0 0 0 0 2 0 -P 264 -211 -5.8001042529546454e-01 -4.0485193410956233e-01 2.1083579793599277e+01 2.1095903248734608e+01 1 0 0 0 0 -P 265 111 -3.2073406530239251e-01 -1.9939418805101175e-01 3.7968439357699193e+00 3.8179669794102113e+00 2 0 0 -152 0 -V -49 0 0 0 0 0 0 2 0 -P 266 321 -2.7856704535459481e-01 6.3755292333151825e-01 6.4308924492340807e+01 6.4314582200698453e+01 1 0 0 0 0 -P 267 111 -1.1765519819761945e-01 -1.6064093626715317e-01 1.9166237785949200e+01 1.9167747356536566e+01 2 0 0 -153 0 -V -50 0 0 0 0 0 0 2 0 -P 268 -321 -8.9367168692652132e-01 2.0771029167550126e-02 1.5400335786204033e+02 1.5400674321036507e+02 1 0 0 0 0 -P 269 211 -2.8492412920335630e-01 4.1681594305669806e-01 8.0055157641769668e+01 8.0056871423527923e+01 1 0 0 0 0 -V -51 0 -6.6002531619560156e-06 4.6303420024687618e-05 6.9143008171581527e-03 6.9145890185681727e-03 0 2 0 -P 270 22 3.2985399197000089e-03 1.3785210455256494e-01 2.1286406525307036e+01 2.1286853145632609e+01 1 0 0 0 0 -P 271 22 -2.4309358054476007e-02 9.5472016989760957e-03 7.2413056072650817e-01 7.2460138209044855e-01 1 0 0 0 0 -V -52 0 0 0 0 0 0 2 0 -P 272 -211 -2.8540776280327329e-01 9.3966682333239981e-01 1.4340676176985525e+02 1.4341019221948926e+02 1 0 0 0 0 -P 273 111 -1.1869009496520293e+00 8.8484723595274772e-01 2.4894306409889506e+02 2.4894750264070180e+02 2 0 0 -154 0 -V -53 0 0 0 0 0 0 2 0 -P 274 211 1.7933401902204655e+00 1.2885124651880893e+00 6.1833606751116611e+02 6.1834002635958245e+02 1 0 0 0 0 -P 275 111 -3.9365165318030595e-02 2.1026551461701451e-01 7.2894196812983083e+01 7.2894635672408640e+01 2 0 0 -155 0 -V -54 0 1.0676767945586468e-04 5.7893903355371724e-05 2.5444575107770855e-02 2.5444873168571566e-02 0 2 0 -P 276 22 2.4999471933883968e-01 1.5059317622941079e-01 4.8566265682726126e+01 4.8567142576329971e+01 1 0 0 0 0 -P 277 22 4.5564793068048387e-01 2.3203579530812810e-01 1.1960051942648138e+02 1.1960161245874228e+02 1 0 0 0 0 -V -55 0 0 0 0 0 0 3 0 -P 278 211 2.6192602171711871e-01 6.6663279626861305e-02 8.4515411988941139e+01 8.4515959396311999e+01 1 0 0 0 0 -P 279 -211 3.0260190289747680e-02 5.2722368310901424e-01 1.3997838615805080e+02 1.3997945189094159e+02 1 0 0 0 0 -P 280 111 -1.0915701330301296e-01 6.3947562447915010e-02 3.9337776782952176e+01 3.9338211784091911e+01 2 0 0 -156 0 -V -56 0 0 0 0 0 0 2 0 -P 281 -211 1.0460657961309405e+00 -3.9020867461042025e-01 9.9157631500447565e+01 9.9164015050939852e+01 1 0 0 0 0 -P 282 211 1.1960987457174342e-01 -2.5875645151296439e-01 1.0301918998462718e+01 1.0306807277672448e+01 1 0 0 0 0 -V -57 0 0 0 0 0 0 2 0 -P 283 211 -1.6242543744049195e-01 3.1007645455399614e-02 2.1896606379610399e+00 2.2003265646581580e+00 1 0 0 0 0 -P 284 111 1.2652227858485912e-01 9.6098178980106996e-01 3.5153440087509658e+01 3.5167059352095940e+01 2 0 0 -157 0 -V -58 0 0 0 0 0 0 3 0 -P 285 111 2.9219528435810188e-01 2.1022194446087650e-01 3.5594569879955653e+00 3.5801571194466431e+00 2 0 0 -158 0 -P 286 111 7.2165970952666164e-02 1.0925849693542053e-01 1.7329492789665644e+00 1.7431231024763754e+00 2 0 0 -159 0 -P 287 111 5.7259665167642498e-02 1.0687387285916360e-02 3.2706781824117788e+00 3.2739804921236972e+00 2 0 0 -160 0 -V -59 0 0 0 0 0 0 2 0 -P 288 -211 5.5626398321002368e-01 1.3631010577680165e+00 1.2299140896707550e+01 1.2387728633396405e+01 1 0 0 0 0 -P 289 111 4.1830606098124423e-01 1.1755765771896662e+00 1.9730016713629471e+01 1.9769894773872441e+01 2 0 0 -161 0 -V -60 0 3.8941374669982273e-05 1.8006347465645076e-05 5.5790884985439169e-04 5.5957112049228436e-04 0 2 0 -P 290 22 1.2285446892288159e+00 5.5994878566880602e-01 1.7826169650336105e+01 1.7877225430658086e+01 1 0 0 0 0 -P 291 22 5.0254836912804378e-02 3.1363380420649907e-02 4.9505241412208734e-01 4.9858409821478411e-01 1 0 0 0 0 -V -61 0 0 0 0 0 0 3 0 -P 292 211 3.3246427160202974e-01 2.4826372883767425e-01 4.4532204940244178e+00 4.4746865727386238e+00 1 0 0 0 0 -P 293 -211 3.0564376993854531e-01 6.9193900353716309e-01 8.2429344382337373e+00 8.2787466223238155e+00 1 0 0 0 0 -P 294 221 9.5599961032503467e-01 1.2801871992451461e+00 1.7605752316643834e+01 1.7686577697722150e+01 2 0 0 -162 0 -V -62 0 0 0 0 0 0 2 0 -P 295 211 8.0273279393105107e-02 2.0186889552187660e-02 5.6907814730655848e-01 5.9176095894894998e-01 1 0 0 0 0 -P 296 111 1.6901191173961481e+00 -1.5985626590924316e+00 1.6544286957456936e+01 1.6707589764448741e+01 2 0 0 -163 0 -V -63 0 0 0 0 0 0 1 0 -P 297 310 6.3686850058466904e-01 -2.8985459322238305e-01 6.1254602664267574e+00 6.1853501175537380e+00 2 0 0 -164 0 -V -64 0 0 0 0 0 0 2 0 -P 298 130 1.4358399666748303e-01 -1.0812535661317952e+00 4.2011710653840471e+00 4.3688945269818387e+00 1 0 0 0 0 -P 299 310 -5.6376902188405402e-02 -9.4829366505374968e-01 3.4172653874114838e+00 3.5815942521706718e+00 2 0 0 -165 0 -V -65 0 0 0 0 0 0 2 0 -P 300 -321 -2.2142072696580159e-01 1.5578586639161984e-01 1.6476923364331792e+00 1.7412143377649063e+00 1 0 0 0 0 -P 301 111 2.3195043580107069e-02 -3.1086024973021309e-01 9.9213467140438327e-01 1.0486767430966022e+00 2 0 0 -166 0 -V -66 0 0 0 0 0 0 2 0 -P 302 -211 -1.1624801152423032e+00 -1.7625857585222973e+00 5.0201713535008983e+00 5.4479049898002465e+00 1 0 0 0 0 -P 303 211 5.8229430385060822e-02 -1.4047080457471348e-01 3.0156695192662147e-01 3.6543826413656960e-01 1 0 0 0 0 -V -67 0 0 0 0 0 0 2 0 -P 304 211 1.4948479945856540e-03 1.2568218777132778e-01 -1.5080220659718138e-01 2.4087203513088271e-01 1 0 0 0 0 -P 305 111 -7.2459948192582480e-01 -8.9543741457431492e-01 7.6366010654820127e-01 1.3886140325374496e+00 2 0 0 -167 0 -V -68 0 0 0 0 0 0 2 0 -P 306 211 1.0563433052605793e-01 -2.7158694112764570e-01 -4.0122677357734220e-02 3.2558822539384402e-01 1 0 0 0 0 -P 307 111 -7.0299433074427298e-01 -9.4889402278916302e-01 3.0759404672122986e-01 1.2277762799150060e+00 2 0 0 -168 0 -V -69 0 1.2667704663510530e-05 -7.0744177920900302e-05 1.8213818727785282e-05 8.3881864673891209e-05 0 2 0 -P 308 22 5.4027065630195055e-02 -1.9904590108705426e-02 1.9071272126093892e-02 6.0653358921930293e-02 1 0 0 0 0 -P 309 22 -1.0444000571005583e-02 -2.2348978880879536e-01 4.3593122701166338e-02 2.2794105202127599e-01 1 0 0 0 0 -V -70 0 0 0 0 0 0 2 0 -P 310 211 -4.3737588677301271e-02 -6.4946955578646784e-02 -3.5924173334191872e-02 1.6401650780328356e-01 1 0 0 0 0 -P 311 111 -1.1020147543802561e+00 -1.6536485938923138e+00 -1.9715970413558779e+00 2.8025710847072287e+00 2 0 0 -169 0 -V -71 0 0 0 0 0 0 2 0 -P 312 -211 -7.4010583846387956e-01 -4.7229998155360581e-01 -9.2048603238071680e-01 1.2796867762901407e+00 1 0 0 0 0 -P 313 111 -2.5499660395015161e-01 8.5088854900123176e-02 -1.8681615758638939e-01 3.5409498498237357e-01 2 0 0 -170 0 -V -72 0 0 0 0 0 0 1 0 -P 314 310 -2.8765138987802308e-01 7.2322394316508809e-01 -1.3293539465693636e+00 1.6188432716682486e+00 2 0 0 -171 0 -V -73 0 0 0 0 0 0 2 0 -P 315 -211 -5.0232272700335232e-03 1.0288006080287391e+00 -2.6829806284030435e+00 2.8768595310126805e+00 1 0 0 0 0 -P 316 211 -1.5041483011075760e-02 -6.2116154231934534e-02 -7.5021064446656849e-02 1.7085844386054616e-01 1 0 0 0 0 -V -74 0 0 0 0 0 0 2 0 -P 317 211 2.3075821910509536e-01 4.3897541651857841e-01 -1.2656582782473587e+00 1.3664989696989467e+00 1 0 0 0 0 -P 318 111 4.6838599969743122e-01 4.9174921370238156e-02 -8.7389061637774768e-01 1.0018522981944049e+00 2 0 0 -172 0 -V -75 0 0 0 0 0 0 2 0 -P 319 -211 2.5742640827553703e-01 5.6243178021327091e-02 -5.9271374260145144e+00 5.9346330554225126e+00 1 0 0 0 0 -P 320 211 -9.8706113948430804e-02 -2.8964132523844838e-01 -1.4907848669725159e+00 1.5282520403097610e+00 1 0 0 0 0 -V -76 0 0 0 0 0 0 2 0 -P 321 -211 -1.8116809968197792e-01 2.3195288966429489e-01 -1.4818039389156070e+01 1.4821619181008760e+01 1 0 0 0 0 -P 322 211 -1.2600615597077278e-01 3.3646972396956704e-01 -2.8764946640392428e+00 2.9022044662009816e+00 1 0 0 0 0 -V -77 0 0 0 0 0 0 2 0 -P 323 2112 6.8523780701355297e-01 -3.5080743538294351e-01 -1.6307557677702232e+02 1.6308010040974429e+02 1 0 0 0 0 -P 324 -211 8.4749541376226964e-02 3.5211273219105275e-03 -3.0569414802299615e+01 3.0569851095860052e+01 1 0 0 0 0 -V -78 0 9.2659059340455155e-06 2.2192099479511942e-05 -1.5814794116037168e-03 1.5816634155477668e-03 0 2 0 -P 325 22 6.5173830040521086e-01 1.4984807920980339e+00 -1.0754272896002473e+02 1.0755514287873845e+02 1 0 0 0 0 -P 326 22 -1.5466324265940194e-04 6.2079934296075334e-02 -3.6677791592323956e+00 3.6683044997740333e+00 1 0 0 0 0 -V -79 0 0 0 0 0 0 2 0 -P 327 -211 6.6823265779759167e-01 7.0798190000280858e-01 -4.8392336668505656e+01 4.8402329502603237e+01 1 0 0 0 0 -P 328 211 1.0551080640961935e-01 1.5636350604201216e-01 -4.0467426697579832e+01 4.0468107015095086e+01 1 0 0 0 0 -V -80 0 0 0 0 0 0 3 0 -P 329 211 -1.6210443044946699e-01 5.3631565721785644e-02 -3.2851753809151361e+01 3.2852494004461882e+01 1 0 0 0 0 -P 330 -211 6.3753390431136939e-02 -3.4266989260422084e-02 -4.3006183481217263e+01 4.3006470863422045e+01 1 0 0 0 0 -P 331 111 1.1533681740304895e-01 2.6389423523999250e-01 -2.1069793643374290e+01 2.1072194155417638e+01 2 0 0 -173 0 -V -81 0 0 0 0 0 0 3 0 -P 332 -211 5.6711449398208394e-02 -4.9900954611827149e-02 -1.7771001367628735e+01 1.7771709982073371e+01 1 0 0 0 0 -P 333 211 8.5429989515703270e-02 2.9119120815685540e-01 -8.1609305243617207e+00 8.1677633052859324e+00 1 0 0 0 0 -P 334 111 1.5971224969655323e-01 1.6416391462325010e-03 -6.1583136127604776e+00 6.1618630990304570e+00 2 0 0 -174 0 -V -82 0 0 0 0 0 0 3 0 -P 335 111 3.2030294786127822e-01 -1.0601635141293821e-01 -2.8028052211989629e+00 2.8262643460150190e+00 2 0 0 -175 0 -P 336 111 2.9110855186201823e-01 8.7859720184946685e-02 -3.6679991381187156e+00 3.6830559046853768e+00 2 0 0 -176 0 -P 337 111 4.0602579306178992e-02 5.1683011578460081e-03 -1.0151896366424780e+00 1.0249414029735842e+00 2 0 0 -177 0 -V -83 0 0 0 0 0 0 2 0 -P 338 211 6.5793571993552347e-01 5.6569505409351306e-01 -1.7197107586476218e+01 1.7219549338804743e+01 1 0 0 0 0 -P 339 111 5.8788972858264898e-01 1.8877221706897764e+00 -2.1951790012437453e+01 2.2041061990685371e+01 2 0 0 -178 0 -V -84 0 0 0 0 0 0 2 0 -P 340 22 6.6593323470164767e-01 6.3569398019847445e-01 -6.3111210203307069e+00 6.3779167792313567e+00 1 0 0 0 0 -P 341 22 2.1963494126495064e-01 2.8017614166117788e-01 -6.1100973275610935e+00 6.1204597482582805e+00 1 0 0 0 0 -V -85 0 3.0223187720401600e-04 4.8661610779874898e-04 -5.3830165474146501e-03 5.4137043570611056e-03 0 2 0 -P 342 22 5.7856337531910038e-02 1.3626196294686996e-01 -1.7555647494935451e+00 1.7617951833295136e+00 1 0 0 0 0 -P 343 22 6.6462261932697564e-01 1.0269836258559635e+00 -1.1112423286411024e+01 1.1179551417220072e+01 1 0 0 0 0 -V -86 0 0 0 0 0 0 2 0 -P 344 -211 4.1265547372750555e-01 1.2949869224888536e-01 -3.6370992906819448e+00 3.6653820382697559e+00 1 0 0 0 0 -P 345 211 8.0133869236026911e-01 1.5461792439251949e+00 -1.5223724224072070e+01 1.5323644246383349e+01 1 0 0 0 0 -V -87 0 0 0 0 0 0 2 0 -P 346 -211 4.4315996363918092e-01 4.3179607305874240e-01 -3.3584103881800651e+00 3.4177827201882520e+00 1 0 0 0 0 -P 347 111 1.5073350550211109e-02 7.2202155363162623e-01 -1.5089453750602873e+01 1.5107328566685394e+01 2 0 0 -179 0 -V -88 0 0 0 0 0 0 2 0 -P 348 211 2.0265472465231706e+00 1.6273344433143688e+00 -2.5085446979218137e+01 2.5220115801971495e+01 1 0 0 0 0 -P 349 111 5.5564478995138736e-02 5.3068180921456376e-02 -1.0567328314465232e+00 1.0680859144325889e+00 2 0 0 -180 0 -V -89 0 0 0 0 0 0 2 0 -P 350 321 5.5334359353845797e-01 4.4390121636406382e-01 -6.4488659797201224e+00 6.5065160267835447e+00 1 0 0 0 0 -P 351 -211 1.2280392089109184e+00 7.9181424127792643e-01 -1.6152530029392889e+01 1.6219086171133444e+01 1 0 0 0 0 -V -90 0 0 0 0 0 0 2 0 -P 352 -311 4.9782761336762366e-01 5.0953796112831118e-01 -7.5199540324803458e+00 7.5699963900902567e+00 2 0 0 -181 0 -P 353 111 9.2084903787267469e-01 1.3790049009253627e-01 -1.0572002769311638e+01 1.0613785453383338e+01 2 0 0 -182 0 -V -91 0 0 0 0 0 0 2 0 -P 354 -211 -4.1646899766105938e-01 -6.4165585437284340e-04 -4.5711127402477864e+01 4.5713237634499237e+01 1 0 0 0 0 -P 355 111 -1.5883655598135957e-01 -4.7746020680533935e-01 -4.8794799426665946e+01 4.8797580554670517e+01 2 0 0 -183 0 -V -92 0 0 0 0 0 0 2 0 -P 356 -2112 -5.0910243761024854e-01 -4.5126876099486196e-01 -2.8494746972763384e+01 2.8518348928599259e+01 1 0 0 0 0 -P 357 211 -2.9468806770195133e-01 -2.9190475370197855e-01 -5.4819920692795092e+00 5.4994332685307823e+00 1 0 0 0 0 -V -93 0 0 0 0 0 0 2 0 -P 358 -211 -2.4885074976450763e-01 3.3424025035342403e-01 -2.8357333619216721e+01 2.8360738583772349e+01 1 0 0 0 0 -P 359 111 6.8911093492632733e-02 -2.7130636779539036e-01 -1.4855359858410299e+01 1.4858610029450290e+01 2 0 0 -184 0 -V -94 0 0 0 0 0 0 1 0 -P 360 130 -1.4096245121895092e+00 -2.1826091973706498e+00 -7.8978356177349141e+01 7.9022650196503378e+01 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 361 -321 -3.8980393264709728e-02 2.3659798443371793e-02 -4.5021650566010770e+01 4.5024379395002207e+01 1 0 0 0 0 -P 362 111 -2.6489328918552280e-01 -4.1560022800454127e-01 -3.3811621128573726e+01 3.3815482178238803e+01 2 0 0 -185 0 -V -96 0 0 0 0 0 0 2 0 -P 363 211 -1.8760543427401080e+00 -1.0875370782743450e+00 -8.1985678412572810e+01 8.2014469829099326e+01 1 0 0 0 0 -P 364 111 7.5450854587473110e-02 -1.1796572075934705e-01 -7.3526082944333560e+00 7.3551802883751556e+00 2 0 0 -186 0 -V -97 0 0 0 0 0 0 2 0 -P 365 -211 3.3024357657183534e-01 -1.0764108627154867e+00 -4.6204481583885297e+01 4.6218408879857975e+01 1 0 0 0 0 -P 366 211 1.6113589013928148e-01 1.0476930546125837e-01 -4.2265010413097350e+00 4.2331704689924887e+00 1 0 0 0 0 -V -98 0 0 0 0 0 0 2 0 -P 367 22 -1.5306529296572205e-01 -5.6288475914386925e-02 -3.1187132731459890e+00 3.1229745206338810e+00 1 0 0 0 0 -P 368 22 4.1998551688228036e-01 -2.0427605522231063e-01 -1.8445987769881434e+01 1.8451899125774119e+01 1 0 0 0 0 -V -99 0 0 0 0 0 0 1 0 -P 369 130 4.1329176006341922e-01 1.8028596136298070e-01 -8.9119644403072215e+01 8.9122174609160780e+01 1 0 0 0 0 -V -100 0 0 0 0 0 0 3 0 -P 370 211 -2.5393868742732295e-01 -1.0813557949514663e-01 -2.2588965411228937e+01 2.2591082672043903e+01 1 0 0 0 0 -P 371 -211 -9.4699960295409211e-02 -7.0342706977206501e-02 -6.2577223207694175e+00 6.2603901322250373e+00 1 0 0 0 0 -P 372 111 -6.1340461783072626e-02 -9.5270249091627290e-02 -1.9913617131458697e+01 1.9914396951234526e+01 2 0 0 -187 0 -V -101 0 0 0 0 0 0 2 0 -P 373 211 -5.6588712441174915e-01 1.7007007181064696e-01 -3.2251333498529675e+02 3.2251390648341049e+02 1 0 0 0 0 -P 374 -211 -2.8982224615837326e-01 2.8131974867272219e-01 -6.3245549272580966e+01 6.3246992974454749e+01 1 0 0 0 0 -V -102 0 0 0 0 0 0 2 0 -P 375 2212 9.5560807623884438e-04 8.6244164763986575e-01 -1.1728103150663380e+03 1.1728110074871845e+03 1 0 0 0 0 -P 376 211 -2.8581771916038204e-03 -1.1153332585833524e-01 -2.1689617899690685e+02 2.1689625259809148e+02 1 0 0 0 0 -V -103 0 0 0 0 0 0 3 0 -P 377 -211 6.9777075380562020e-02 4.7507027834957305e-02 2.3372071430252870e+00 2.3428919676866879e+00 1 0 0 0 0 -P 378 211 -3.3611510436482870e-03 -3.9382859649498635e-02 1.3924281785635231e-01 2.0107375312329462e-01 1 0 0 0 0 -P 379 111 -7.9872569296045165e-02 9.6782587127883388e-02 4.2334861577519067e-01 4.6172518598825418e-01 2 0 0 -188 0 -V -104 0 0 0 0 0 0 2 0 -P 380 -211 2.4592593317047373e-01 -2.5402408844388685e-01 9.5163384838481568e-01 1.0247412202147479e+00 1 0 0 0 0 -P 381 111 -3.2259075952935390e-01 9.6110605845984534e-02 1.8794513505486412e+00 1.9141209539025790e+00 2 0 0 -189 0 -V -105 0 0 0 0 0 0 2 0 -P 382 -211 -4.5837447734990650e-01 -1.0851873872112007e-01 2.2553461445730871e+00 2.3082351472239804e+00 1 0 0 0 0 -P 383 211 6.1887762052356861e-02 -1.3754108735555134e-01 5.4029978564595833e+00 5.4069042221598167e+00 1 0 0 0 0 -V -106 0 0 0 0 0 0 3 0 -P 384 211 1.5445020817728534e-02 2.3301757642101320e-01 6.4439298137185208e+00 6.4496702992183712e+00 1 0 0 0 0 -P 385 -211 -1.2475197802699829e-01 -1.9095926689690346e-01 6.3048485731892709e+00 6.3105169212499730e+00 1 0 0 0 0 -P 386 111 1.9899815204420815e-01 -6.7184283612308757e-02 5.5687097047954106e+00 5.5743036667519377e+00 2 0 0 -190 0 -V -107 0 0 0 0 0 0 2 0 -P 387 22 -3.7754050692170192e-03 6.8280684928958862e-02 3.4642925362567140e-01 3.5311433472098541e-01 1 0 0 0 0 -P 388 113 8.2999471421343396e-02 -2.8251000142352389e-01 1.6107349250332053e+01 1.6130098567719088e+01 2 0 0 -191 0 -V -108 0 0 0 0 0 0 2 0 -P 389 211 -1.4673680780120973e-01 1.9405519317056662e-03 5.3082618403845041e+00 5.3121237756181632e+00 1 0 0 0 0 -P 390 -211 5.6044408203317006e-02 1.6763803708868413e-01 2.3839451002379750e+00 2.3945599831740396e+00 1 0 0 0 0 -V -109 0 0 0 0 0 0 2 0 -P 391 321 1.9846678448419963e-01 2.0386347738843802e-01 3.9517065449383580e+01 3.9521172200136242e+01 1 0 0 0 0 -P 392 -211 -2.9633713105752252e-01 3.6457100116663532e-01 3.2491480380038389e+01 3.2495176638717545e+01 1 0 0 0 0 -V -110 0 0 0 0 0 0 2 0 -P 393 -321 8.7679693769441944e-02 -3.7650460777736888e-01 1.7261252844619153e+02 1.7261366707475875e+02 1 0 0 0 0 -P 394 211 -2.1815986473454180e-01 -4.1960556703188107e-01 6.4104946097799257e+01 6.4106842509556756e+01 1 0 0 0 0 -V -111 0 -3.8117306469070869e+00 2.4304278506338637e+00 -3.6687500677897781e+01 3.6965955593079201e+01 0 4 0 -P 395 13 -1.4149561259899173e+00 1.0402134060499841e+00 -1.3160839701082471e+01 1.3277914385994174e+01 1 0 0 0 0 -P 396 -14 -1.3089155169219182e+00 1.0462816645268493e+00 -1.2289940437364569e+01 1.2403652732398342e+01 1 0 0 0 0 -P 397 323 -2.1581479174280773e+01 1.3503790177823028e+01 -2.0949493928636579e+02 2.1103796270682068e+02 2 0 0 -192 0 -P 398 -211 -2.0850999230479355e+00 1.2367396416999163e+00 -1.9059552487099179e+01 1.9213619841764203e+01 1 0 0 0 0 -V -112 0 0 0 0 0 0 2 0 -P 399 -311 -4.4690407303060170e-01 3.0479452171944948e-01 -6.3255618455358773e+00 6.3681261797769668e+00 2 0 0 -193 0 -P 400 111 -1.2418841812846488e+00 6.4683552692001378e-01 -1.2930629916089380e+01 1.3006924392256479e+01 2 0 0 -194 0 -V -113 0 0 0 0 0 0 2 0 -P 401 311 -9.3258822715903111e-01 9.6253600257025262e-01 -1.1172693777377827e+01 1.1263789683300944e+01 2 0 0 -195 0 -P 402 211 -1.3587033582635805e-01 1.7718207748686304e-01 -7.1597924199696528e-01 7.6286322274092955e-01 1 0 0 0 0 -V -114 0 0 0 0 0 0 2 0 -P 403 -321 -9.2232459910796916e-01 -9.2465403799705914e-02 -1.4887975269241240e+01 1.4924968378343664e+01 1 0 0 0 0 -P 404 111 -1.1663521498522561e-01 6.8185846341943981e-02 -7.0050532350766603e-01 7.2607189153595308e-01 2 0 0 -196 0 -V -115 0 0 0 0 0 0 2 0 -P 405 -211 8.0700028232659307e+00 -6.2899386723757056e+00 -1.1945209016908863e+02 1.1988957252246230e+02 1 0 0 0 0 -P 406 211 1.0872137644979858e+00 -5.9716641606912368e-01 -1.2286932660223906e+01 1.2350175524257606e+01 1 0 0 0 0 -V -116 0 1.8675243735831720e-03 -1.7086209769348198e-03 -2.8434955821092834e-02 2.8547843422511342e-02 0 2 0 -P 407 22 1.0284917633797830e+00 -8.5251486620572126e-01 -1.4939793795464507e+01 1.4999400506534974e+01 1 0 0 0 0 -P 408 22 5.4642645271504009e-01 -5.8839714492554174e-01 -9.0399360168790608e+00 9.0755295304268895e+00 1 0 0 0 0 -V -117 0 0 0 0 0 0 2 0 -P 409 211 6.3239069735772049e-02 -4.0712194024407136e-02 -1.9482115859367102e-01 2.5118067485200196e-01 1 0 0 0 0 -P 410 111 -2.5129535497422834e-01 -4.3749634494359707e-01 1.7624108649708728e-01 5.5121042101932738e-01 2 0 0 -197 0 -V -118 0 0 0 0 0 0 2 0 -P 411 211 -8.9867935841088972e-02 -4.4410153793443752e-01 8.8775575440297683e-01 1.0064255989707680e+00 1 0 0 0 0 -P 412 111 -7.9048986992116252e-02 5.1075014150674813e-01 7.7222665732593598e-01 9.3897181005524955e-01 2 0 0 -198 0 -V -119 0 0 0 0 0 0 2 0 -P 413 -211 -6.6518601310751921e-02 8.3313999049881182e-02 1.2857659839509159e+00 1.2977056280772190e+00 1 0 0 0 0 -P 414 211 -6.7570053020446241e-01 4.1406156446148923e-01 1.4286956315294119e+00 1.6397161882881173e+00 1 0 0 0 0 -V -120 0 0 0 0 0 0 2 0 -P 415 -211 -1.7917883923619066e-01 3.7320756329498238e-02 3.3628350035695148e-01 4.0750984380178873e-01 1 0 0 0 0 -P 416 111 2.0615633368148753e-01 2.9319453099443760e-01 -3.9420844071029401e-02 3.8501567535532039e-01 2 0 0 -199 0 -V -121 0 0 0 0 0 0 2 0 -P 417 -211 -4.0949193990631622e-01 9.8784294800820266e-02 1.6177062253094043e+00 1.6774669004342038e+00 1 0 0 0 0 -P 418 211 2.3022959581081737e-01 3.5933366808902623e-01 2.7454858413980707e+00 2.7819594968343444e+00 1 0 0 0 0 -V -122 0 0 0 0 0 0 2 0 -P 419 -211 1.7106562716093260e-01 -8.5567367789404127e-03 1.1082111017219458e+00 1.1300213703377633e+00 1 0 0 0 0 -P 420 111 -2.5858290813921248e-01 1.2412289720045558e-01 1.0618010768307151e-01 3.3431337044568815e-01 2 0 0 -200 0 -V -123 0 0 0 0 0 0 2 0 -P 421 321 -4.3364031456645963e-01 3.1333513178025424e-01 2.3850228401197859e+00 2.4936314353003528e+00 1 0 0 0 0 -P 422 111 -3.2914057460674639e-01 3.0667447028601713e-01 4.7608665461210302e+00 4.7839787435723471e+00 2 0 0 -201 0 -V -124 0 0 0 0 0 0 3 0 -P 423 22 -3.6801339550226492e-01 1.7380726639585706e-01 3.6329416264764558e+00 3.6556678851485542e+00 1 0 0 0 0 -P 424 211 -2.0485179035825907e-01 1.0503476392148384e-01 1.2552849482286934e+00 1.2838288997349061e+00 1 0 0 0 0 -P 425 -211 -1.6286584081530955e-01 1.2536930627288169e-02 7.4666982282661187e-01 7.7696722321727008e-01 1 0 0 0 0 -V -125 0 0 0 0 0 0 2 0 -P 426 211 -3.6738729491780953e-01 -1.2990768478039541e-01 -4.9576508877336578e-01 6.4584227113010451e-01 1 0 0 0 0 -P 427 111 4.1426864992368700e-01 -4.6948895281791733e-02 1.3140310201161695e-01 4.5750310238953612e-01 2 0 0 -202 0 -V -126 0 6.9426357033436299e-05 -7.0324668325621512e-06 2.1888967731901427e-04 2.3111366735984392e-04 0 2 0 -P 428 22 1.7329754036781519e-01 -3.5760193007135399e-02 3.5401094689066487e-01 3.9577086732081140e-01 1 0 0 0 0 -P 429 22 1.9965593891975320e-01 -2.0177213938078393e-03 8.2184891706479402e-01 8.4575540650126857e-01 1 0 0 0 0 -V -127 0 0 0 0 0 0 2 0 -P 430 -211 -3.7279482875192040e-02 7.0816911438682062e-01 6.4425103332057665e-01 9.6821094460323387e-01 1 0 0 0 0 -P 431 111 -7.3446105685645879e-01 4.2632886349871141e-01 4.9727371847637947e-01 9.9332275488792399e-01 2 0 0 -203 0 -V -128 0 0 0 0 0 0 3 0 -P 432 211 3.5893828107734344e-01 -2.8226148103218018e-01 1.1790620111171650e-01 4.9182302757987484e-01 1 0 0 0 0 -P 433 -211 -1.5008674707049818e-02 9.4286417803348802e-02 3.1852852341836643e-02 1.7207433858934496e-01 1 0 0 0 0 -P 434 111 6.2902258068042838e-02 -3.4099485009942332e-01 -3.8018334849563219e-02 3.7403098273955909e-01 2 0 0 -204 0 -V -129 0 0 0 0 0 0 3 0 -P 435 -211 6.2512878218440995e-02 -1.0363521755860323e-01 1.7834621769483228e-01 2.5677865278800954e-01 1 0 0 0 0 -P 436 211 2.0006607633586731e-02 -2.7092422208840949e-01 8.6756397153503473e-01 9.1975389538118113e-01 1 0 0 0 0 -P 437 111 -1.3744564485215921e-01 -1.6334130447134231e-02 1.1762930332422402e-02 1.9369067100997739e-01 2 0 0 -205 0 -V -130 0 1.5843923112336528e-01 -6.6444617855219837e-02 -8.9283819735022774e-01 9.2728610338778894e-01 0 2 0 -P 438 10323 8.7256927989165967e-01 -6.3042634964667288e-01 -7.4558774953617020e+00 7.6433087325073386e+00 2 0 0 -206 0 -P 439 -211 7.4915303770725516e-01 -4.9674903661230729e-02 -1.6828668697901639e+00 1.8480309944092130e+00 1 0 0 0 0 -V -131 0 6.3341395332392340e-05 -2.1593088333733440e-05 -2.6782880498143764e-04 2.8013321925965200e-04 0 2 0 -P 440 22 1.8312594343566238e-01 -8.4377915874067108e-02 -7.2688918009528936e-01 7.5433588273795882e-01 1 0 0 0 0 -P 441 22 -3.4363715801602034e-03 2.3121721921194556e-02 -3.2898997053912235e-02 4.0357981631782891e-02 1 0 0 0 0 -V -132 0 0 0 0 0 0 1 0 -P 442 310 3.8379010207120906e-01 6.7470718262439966e-01 -2.3156482330478920e+00 2.4924740305268194e+00 2 0 0 -207 0 -V -133 0 0 0 0 0 0 1 0 -P 443 310 4.9216148712404084e-01 1.6700552201381169e+00 -1.0293091901049095e+01 1.0451158963486355e+01 2 0 0 -208 0 -V -134 0 9.6048817494557951e-06 2.0169447607449687e-06 -1.3519891620979356e-04 1.3580891966622047e-04 0 2 0 -P 444 22 1.5816391710962158e-01 4.6061575462403102e-02 -2.1743161685814321e+00 2.1805477051337747e+00 1 0 0 0 0 -P 445 22 -2.0807358571302472e-03 -1.3285414039545751e-02 -2.2720452416971754e-02 2.6401716723371889e-02 1 0 0 0 0 -V -135 0 -6.1063190212079914e-05 1.3712130821739223e-04 -6.0160207306227294e-04 6.2361403763779813e-04 0 2 0 -P 446 22 -2.5237797460208114e-02 2.4511377645867576e-02 -3.8105441354096364e-01 3.8267508428664126e-01 1 0 0 0 0 -P 447 22 -9.8480342496487655e-02 2.5330563686262997e-01 -8.3783194360571156e-01 8.8080899703098514e-01 1 0 0 0 0 -V -136 0 -4.4426904102195735e-05 -3.9203241902067923e-06 -7.3352018546965340e-04 7.3964774707043087e-04 0 2 0 -P 448 22 -9.3539797166090302e-02 -3.7702636311332943e-02 -1.0340724780016020e+00 1.0389788603234766e+00 1 0 0 0 0 -P 449 22 2.2057787920906725e-02 3.1394912294285607e-02 -1.4614697997947071e-01 1.5109972297476049e-01 1 0 0 0 0 -V -137 0 3.4098188860393095e-05 1.9858577100558979e-05 -1.0637027187826258e-05 5.1232108310682472e-05 0 2 0 -P 450 22 1.6215511123058321e-01 9.3620873556322176e-02 -6.6667187162900293e-02 1.9875528145904667e-01 1 0 0 0 0 -P 451 22 -1.3182901251046604e-02 -6.8603676000775432e-03 2.0194881719618613e-02 2.5073627114409011e-02 1 0 0 0 0 -V -138 0 0 0 0 0 0 1 0 -P 452 130 -8.2754245304295648e-02 1.3966417583534083e-01 2.8673365676272389e-01 5.9686343994935065e-01 1 0 0 0 0 -V -139 0 -3.0024804301746423e-05 -1.0062036223726178e-05 1.6354301085376340e-06 3.2890160085510046e-05 0 2 0 -P 453 22 -2.2227458161680197e-01 -3.7647953140759721e-02 -4.5941596270482596e-02 2.3007387569320689e-01 1 0 0 0 0 -P 454 22 -2.4152691014793695e-01 -1.1778311524703966e-01 7.1204539415547607e-02 2.7798956274703429e-01 1 0 0 0 0 -V -140 0 -5.2312039080510034e-07 -7.7585077934244670e-06 4.8598353661629399e-05 4.9611143007349821e-05 0 2 0 -P 455 22 4.7206675991752704e-02 -1.2250638112759871e-01 8.1646707124802609e-01 8.2695511492915996e-01 1 0 0 0 0 -P 456 22 -5.8513823507732002e-02 -4.5192285691928666e-02 2.3397707802335543e-01 2.4538028296483455e-01 1 0 0 0 0 -V -141 0 3.0596166820026153e-05 -6.1256159019476770e-05 1.0370610489371156e-03 1.0399416777082222e-03 0 2 0 -P 457 22 4.0001623016009347e-02 3.0748574500628228e-04 9.6083364275377592e-01 9.6166600929786894e-01 1 0 0 0 0 -P 458 22 7.4777626526306248e-02 -2.3010542100460624e-01 2.9296239307961844e+00 2.9395980293397774e+00 1 0 0 0 0 -V -142 0 -4.8576316925451316e-07 1.3569495300677073e-05 5.5406023824234275e-03 5.5407339507114817e-03 0 2 0 -P 459 22 6.5319363905594258e-02 3.0658385922958279e-02 8.8762098019672298e+00 8.8765030842369192e+00 1 0 0 0 0 -P 460 22 -6.7156663551545731e-02 2.0665449414198934e-02 1.2079983338832347e+01 1.2080187686651476e+01 1 0 0 0 0 -V -143 0 9.0037533931825553e-01 -4.1316775008103196e-01 -2.4225397489886213e+00 2.6310406502189263e+00 0 2 0 -P 461 -313 3.3260378225084786e+00 -1.5544554022213999e+00 -7.2364383456584944e+00 8.1606541269951336e+00 2 0 0 -209 0 -P 462 111 2.9176140131540547e+00 -1.3106559225548522e+00 -9.5626609746215951e+00 1.0084294471753186e+01 2 0 0 -210 0 -V -144 0 1.1084488636694684e-04 -5.9020010882937835e-05 -2.8722172598448888e-04 3.1493497848296892e-04 0 2 0 -P 463 22 3.1314551809140151e-01 -2.2424078531812608e-01 -9.5181719689775401e-01 1.0267911285218234e+00 1 0 0 0 0 -P 464 22 1.8073067545782046e-01 -3.8726495117382520e-02 -3.2791682948089795e-01 3.7642099507376175e-01 1 0 0 0 0 -V -145 0 2.1762554097457766e-05 -5.2596854880985613e-06 -3.6973893122269703e-05 4.3376025620967871e-05 0 2 0 -P 465 22 6.1212626343456389e-01 -1.9963698177142020e-01 -1.1024657025825368e+00 1.2767083113413062e+00 1 0 0 0 0 -P 466 22 1.9830912724377689e-01 3.7668075123103504e-03 -2.7443846883299938e-01 3.3861064951124098e-01 1 0 0 0 0 -V -146 0 0 0 0 0 0 3 0 -P 467 -211 1.7393789155705139e-01 -1.3065291375810584e-01 -4.3049883216363505e-01 5.0212907044608479e-01 1 0 0 0 0 -P 468 211 5.4061889742620196e-02 -2.0391370194446679e-01 -3.1469861234019963e-01 4.0375547955673285e-01 1 0 0 0 0 -P 469 111 1.6109978154052820e-01 -2.0414556888027760e-01 -1.2587726950965411e-01 3.1889377586441564e-01 2 0 0 -211 0 -V -147 0 1.0714041926560731e-04 -3.5952055726626964e-05 -3.6896034107096622e-04 3.8633479589775667e-04 0 2 0 -P 470 22 2.5050241289919523e-02 -3.1553935481967076e-02 -2.0563051401164908e-01 2.0954014824319075e-01 1 0 0 0 0 -P 471 22 7.4662084294927367e-01 -2.2738813337831260e-01 -2.4517795314882425e+00 2.5730081456055021e+00 1 0 0 0 0 -V -148 0 -8.2236368158045554e+00 -2.2931374491773147e+00 1.2920849342338417e+02 1.3492529573552881e+02 0 2 0 -P 472 211 1.1959041323412727e-02 1.8026949323956257e-01 6.7905858545809583e-01 7.1640802357774702e-01 1 0 0 0 0 -P 473 -211 -1.1991827116210638e-01 -2.1037361365155197e-01 1.0171799220351061e+00 1.0548801959325360e+00 1 0 0 0 0 -V -149 0 -9.2045643512728860e-06 3.8569981482441684e-06 4.7596694869231805e-05 4.8915671097022722e-05 0 2 0 -P 474 22 -1.6000027299236894e-01 3.3406489255377600e-03 8.2592413992356950e-01 8.4128588018661254e-01 1 0 0 0 0 -P 475 22 -7.6077823418413418e-02 9.5583400703326729e-02 3.9483294225373233e-01 4.1330022259228810e-01 1 0 0 0 0 -V -150 0 -5.1376001790767983e-04 -8.7323614726347900e-05 1.0339591518642124e-02 1.0352903915864018e-02 0 2 0 -P 476 22 -9.8141079344267446e-01 -1.3524648836133710e-01 2.0155938367930911e+01 2.0180270321527644e+01 1 0 0 0 0 -P 477 22 -1.3018310489578394e-01 -5.3690746781996687e-02 2.2152591616907351e+00 2.2197304995303044e+00 1 0 0 0 0 -V -151 0 1.8812133423387019e-05 4.4631564068415145e-05 6.8657693823981141e-04 6.8868785865107516e-04 0 2 0 -P 478 22 1.1022166047224506e-01 2.1611844596084642e-01 2.5503585056497373e+00 2.5618712895970677e+00 1 0 0 0 0 -P 479 22 -2.6491571954957035e-03 3.9096045874903049e-02 1.3756608498543419e+00 1.3762188389420000e+00 1 0 0 0 0 -V -152 0 -6.1390506341479101e-05 -3.8165294835329746e-05 7.2673967916918672e-04 7.3078276184993679e-04 0 2 0 -P 480 22 -2.3353319762731059e-01 -1.5443990800084420e-01 3.2775654162838568e+00 3.2895021656167542e+00 1 0 0 0 0 -P 481 22 -8.7200867675081895e-02 -4.4954280050167550e-02 5.1927851948606241e-01 5.2846481379345667e-01 1 0 0 0 0 -V -153 0 -2.1949467253790887e-06 -2.9968781866244220e-06 3.5756066464182236e-04 3.5758882682307923e-04 0 2 0 -P 482 22 -9.6872819742027924e-02 -1.7212501507269221e-01 1.3349169664484013e+01 1.3350630775180569e+01 1 0 0 0 0 -P 483 22 -2.0782378455591517e-02 1.1484078805539037e-02 5.8170681214651880e+00 5.8171165813559886e+00 1 0 0 0 0 -V -154 0 -8.9986340215037180e-04 6.7085770245716900e-04 1.8873921422629708e-01 1.8874257936079455e-01 0 2 0 -P 484 22 -5.9132218144870774e-01 4.5823878854928546e-01 1.3682075425726194e+02 1.3682279941674801e+02 1 0 0 0 0 -P 485 22 -5.9557876820332156e-01 4.2660844740346221e-01 1.1212230984163310e+02 1.1212470322395373e+02 1 0 0 0 0 -V -155 0 -5.1873522246844111e-06 2.7707778595899736e-05 9.6056467932884703e-03 9.6057046240736067e-03 0 2 0 -P 486 22 -5.3358764522310233e-02 1.0089755553224661e-01 2.0124549509027762e+01 2.0124873177632029e+01 1 0 0 0 0 -P 487 22 1.3993599204279632e-02 1.0936795908476790e-01 5.2769647303955324e+01 5.2769762494776600e+01 1 0 0 0 0 -V -156 0 -3.7961104939160116e-05 2.2238792132853197e-05 1.3680343821661578e-02 1.3680495100296034e-02 0 2 0 -P 488 22 -5.8340790011343790e-02 1.4637676680264345e-02 3.2736459456784488e+01 3.2736514714841775e+01 1 0 0 0 0 -P 489 22 -5.0816223291669176e-02 4.9309885767650677e-02 6.6013173261676918e+00 6.6016970692501333e+00 1 0 0 0 0 -V -157 0 6.4821581940860607e-05 4.9234301285117272e-04 1.8010279475067351e-02 1.8017257078420904e-02 0 2 0 -P 490 22 -2.5234079465957855e-02 2.3544476449702920e-01 7.9958679452732673e+00 7.9993734250967465e+00 1 0 0 0 0 -P 491 22 1.5175635805081697e-01 7.2553702530404074e-01 2.7157572142236390e+01 2.7167685926999180e+01 1 0 0 0 0 -V -158 0 1.4804463480565830e-04 1.0651174971634308e-04 1.8034463186217421e-03 1.8139343160849324e-03 0 2 0 -P 492 22 2.4200308501046050e-01 1.0332693936441227e-01 2.2320018200418206e+00 2.2474594710968643e+00 1 0 0 0 0 -P 493 22 5.0192199347641360e-02 1.0689500509646421e-01 1.3274551679537445e+00 1.3326976483497788e+00 1 0 0 0 0 -V -159 0 2.4952594602505824e-05 3.7777957462761067e-05 5.9919627289598465e-04 6.0271404297856631e-04 0 2 0 -P 494 22 2.1275464521165535e-02 6.8760375565027509e-02 1.4863415101773401e+00 1.4880832367561605e+00 1 0 0 0 0 -P 495 22 5.0890506431500629e-02 4.0498121370393020e-02 2.4660776878922408e-01 2.5503986572021459e-01 1 0 0 0 0 -V -160 0 2.0236519733306777e-05 3.7771007405603190e-06 1.1559121658481918e-03 1.1570792571236135e-03 0 2 0 -P 496 22 -1.2833830815182560e-02 -2.3124364578967924e-02 1.4876882759176302e-01 1.5110131539335275e-01 1 0 0 0 0 -P 497 22 7.0093495982825063e-02 3.3811751864884283e-02 3.1219093548200161e+00 3.1228791767303448e+00 1 0 0 0 0 -V -161 0 9.9092870836126360e-05 2.7848331350535774e-04 4.6738600755917839e-03 4.6833068224631591e-03 0 2 0 -P 498 22 2.6456748621759857e-01 6.3513480445463311e-01 1.1741987252901410e+01 1.1762128073690251e+01 1 0 0 0 0 -P 499 22 1.5373857476364564e-01 5.4044177273503313e-01 7.9880294607280593e+00 8.0077667001821897e+00 1 0 0 0 0 -V -162 0 0 0 0 0 0 3 0 -P 500 111 3.7256730615539213e-01 4.0392989421236170e-01 4.8383474581306611e+00 4.8713233810796961e+00 2 0 0 -212 0 -P 501 111 4.3040406011067917e-01 7.1737842978781352e-01 9.9218515099128535e+00 9.9579735112945826e+00 2 0 0 -213 0 -P 502 111 1.5302824405896340e-01 1.5887887524497102e-01 2.8455533486003191e+00 2.8572808053478687e+00 2 0 0 -214 0 -V -163 0 2.5839849297056158e-04 -2.4440063293579029e-04 2.5294186504828259e-03 2.5543856476549264e-03 0 2 0 -P 503 22 1.0377695069292572e+00 -1.0215680356798684e+00 1.0766543901355142e+01 1.0864577045648971e+01 1 0 0 0 0 -P 504 22 6.5234961046689088e-01 -5.7699462341256325e-01 5.7777430561017944e+00 5.8430127187997627e+00 1 0 0 0 0 -V -164 0 2.9081685912101332e+01 -1.3235793939462669e+01 2.7971035052250431e+02 2.8244513460775647e+02 0 2 0 -P 505 -211 1.6762062809584813e-01 3.9634778053940575e-04 7.8798055709064896e-01 8.1761236249686153e-01 1 0 0 0 0 -P 506 211 4.6924787248882088e-01 -2.9025094100292242e-01 5.3374797093361082e+00 5.3677377550568766e+00 1 0 0 0 0 -V -165 0 -3.0050263375036868e+00 -5.0546364354167757e+01 1.8214857668293783e+02 1.9090770581995881e+02 0 2 0 -P 507 211 -9.7967500090645355e-03 -8.7693414903352140e-01 3.0997225316964849e+00 3.2244176274885290e+00 1 0 0 0 0 -P 508 -211 -4.6580152179340854e-02 -7.1359516020228234e-02 3.1754285571499852e-01 3.5717662468214256e-01 1 0 0 0 0 -V -166 0 5.6480984727818789e-06 -7.5695882859026960e-05 2.4158929915350398e-04 2.5535755044692415e-04 0 2 0 -P 509 22 -1.5831173828552911e-02 -2.9378876913681856e-01 9.0618464764577900e-01 9.5275027292812764e-01 1 0 0 0 0 -P 510 22 3.9026217408659976e-02 -1.7071480593394573e-02 8.5950023758604277e-02 9.5926470168474803e-02 1 0 0 0 0 -V -167 0 -1.3980777099787572e-04 -1.7277007798433808e-04 1.4734431911646548e-04 2.6792598878135266e-04 0 2 0 -P 511 22 -1.2336930388478158e-01 -1.2478121246765621e-01 1.7383616081680370e-01 2.4700070229341370e-01 1 0 0 0 0 -P 512 22 -6.0123017804104317e-01 -7.7065620210665875e-01 5.8982394573139763e-01 1.1416133302440359e+00 1 0 0 0 0 -V -168 0 -2.8186737865916890e-04 -3.8046149041595802e-04 1.2333062138451006e-04 4.9228004617499265e-04 0 2 0 -P 513 22 -4.8768644239564540e-01 -5.8187949922834425e-01 1.4921470252584854e-01 7.7374856715125973e-01 1 0 0 0 0 -P 514 22 -2.1530788834862755e-01 -3.6701452356081865e-01 1.5837934419538133e-01 4.5402771276374626e-01 1 0 0 0 0 -V -169 0 -3.4658007413822462e-04 -5.2006713158035483e-04 -6.2006088942802176e-04 8.8139953703405920e-04 0 2 0 -P 515 22 -1.0775610701610787e+00 -1.6290514307907258e+00 -1.9570560690361336e+00 2.7649620036157683e+00 1 0 0 0 0 -P 516 22 -2.4453684219177260e-02 -2.4597163101588097e-02 -1.4540972319744369e-02 3.7609081091414698e-02 1 0 0 0 0 -V -170 0 -3.2936317532428194e-06 1.0990395558401315e-06 -2.4129875422404844e-06 4.5736236017871529e-06 0 2 0 -P 517 22 -1.1277518702680793e-01 -2.8406275204800626e-02 -9.5641457125978296e-02 1.5057372812387532e-01 1 0 0 0 0 -P 518 22 -1.4222141692334364e-01 1.1349513010492379e-01 -9.1174700460411068e-02 2.0352125685849817e-01 1 0 0 0 0 -V -171 0 -2.7271832796903617e+00 6.8567867727248952e+00 -1.2603422001234511e+01 1.5348030492065396e+01 0 2 0 -P 519 -211 -3.7348317016183979e-01 4.9790328223054242e-01 -1.0151019995738311e+00 1.1988783137953889e+00 1 0 0 0 0 -P 520 211 8.5831780283816786e-02 2.2532066093454553e-01 -3.1425194699553238e-01 4.1996495787285959e-01 1 0 0 0 0 -V -172 0 3.1974236939944823e-04 3.3569120093488014e-05 -5.9655894167858436e-04 6.8391161951871296e-04 0 2 0 -P 521 22 1.9897288125315632e-02 1.6243576481117575e-02 -1.3069032052262358e-01 1.3319052417475438e-01 1 0 0 0 0 -P 522 22 4.4848871157211562e-01 3.2931344889120584e-02 -7.4320029585512404e-01 8.6866177401965050e-01 1 0 0 0 0 -V -173 0 1.9560921305414770e-05 4.4755997995360398e-05 -3.5733999312562766e-03 3.5738070538753140e-03 0 2 0 -P 523 22 5.1120391576480297e-03 1.7106579289460694e-01 -1.2815304960687456e+01 1.2816447669844537e+01 1 0 0 0 0 -P 524 22 1.1022477824540093e-01 9.2828442345385592e-02 -8.2544886826868353e+00 8.2557464855730984e+00 1 0 0 0 0 -V -174 0 5.5231096619475536e-05 5.6770554839812856e-07 -2.1296451261918815e-03 2.1308725963420996e-03 0 2 0 -P 525 22 9.7472420846883984e-02 6.0287687292296423e-02 -2.6041322266357367e+00 2.6066530516867035e+00 1 0 0 0 0 -P 526 22 6.2239828849669235e-02 -5.8646048146063924e-02 -3.5541813861247409e+00 3.5552100473437531e+00 1 0 0 0 0 -V -175 0 5.3769907760083674e-05 -1.7797180683467078e-05 -4.7051261694481660e-04 4.7445074797331378e-04 0 2 0 -P 527 22 5.3037730429285952e-02 1.8802208065621582e-02 -7.8476669872783666e-01 7.8678160585350465e-01 1 0 0 0 0 -P 528 22 2.6726521743199222e-01 -1.2481855947855978e-01 -2.0180385224711261e+00 2.0394827401615143e+00 1 0 0 0 0 -V -176 0 2.9254383701421145e-05 8.8292904820199445e-06 -3.6860838857756469e-04 3.7012148884077044e-04 0 2 0 -P 529 22 2.6766648875802562e-01 3.2296618557240302e-02 -2.7936079938788474e+00 2.8065876156354146e+00 1 0 0 0 0 -P 530 22 2.3442063103992584e-02 5.5563101627706384e-02 -8.7439114423986819e-01 8.7646828904996255e-01 1 0 0 0 0 -V -177 0 1.1791599049523860e-05 1.5009523055407391e-06 -2.9482632283654421e-04 2.9765838229104172e-04 0 2 0 -P 531 22 -1.5428123271640134e-02 -5.0390978815312924e-02 -2.3845419747560437e-01 2.4420827591911123e-01 1 0 0 0 0 -P 532 22 5.6030702577819128e-02 5.5559279973158932e-02 -7.7673543916687360e-01 7.8073312705447295e-01 1 0 0 0 0 -V -178 0 3.2723311563305957e-04 1.0507501276705404e-03 -1.2218877606198402e-02 1.2268568468549786e-02 0 2 0 -P 533 22 9.4401096396448003e-02 2.3410779978091101e-01 -3.2781170771961121e+00 3.2878214064519824e+00 1 0 0 0 0 -P 534 22 4.9348863218620098e-01 1.6536143709088655e+00 -1.8673672935241342e+01 1.8753240584233389e+01 1 0 0 0 0 -V -179 0 1.7342743189630799e-05 8.3072667488889255e-04 -1.7361270833368348e-02 1.7381836821258590e-02 0 2 0 -P 535 22 -3.8453506099116352e-02 1.6907034517103431e-01 -2.8447753591404483e+00 2.8500544376766270e+00 1 0 0 0 0 -P 536 22 5.3526856649327458e-02 5.5295120846059187e-01 -1.2244678391462424e+01 1.2257274129008765e+01 1 0 0 0 0 -V -180 0 1.0839912633860633e-05 1.0352917101532169e-05 -2.0615493526385194e-04 2.0836977521051438e-04 0 2 0 -P 537 22 -2.8004400899389711e-02 6.2646397586995417e-02 -5.7297679271081736e-01 5.7707124567555479e-01 1 0 0 0 0 -P 538 22 8.3568879894528450e-02 -9.5782166655390463e-03 -4.8375603873570577e-01 4.9101466875703387e-01 1 0 0 0 0 -V -181 0 0 0 0 0 0 1 0 -P 539 310 4.9782761336762366e-01 5.0953796112831118e-01 -7.5199540324803458e+00 7.5699963900902567e+00 2 0 0 -215 0 -V -182 0 8.7757799449387813e-05 1.3142049408522492e-05 -1.0075220374350941e-03 1.0115039674349258e-03 0 2 0 -P 540 22 2.7618616299673959e-01 8.4600539789103923e-03 -3.7511108822759187e+00 3.7612741485131078e+00 1 0 0 0 0 -P 541 22 6.4466287487593510e-01 1.2944043611362591e-01 -6.8208918870357209e+00 6.8525113048702293e+00 1 0 0 0 0 -V -183 0 -2.6136531610599666e-05 -7.8566005859732383e-05 -8.0291769723185909e-03 8.0296346065171897e-03 0 2 0 -P 542 22 -7.4716552899476629e-03 4.9182992465864129e-03 -2.7131229900018922e-01 2.7145971872272112e-01 1 0 0 0 0 -P 543 22 -1.5136490069141190e-01 -4.8237850605192573e-01 -4.8523487127665760e+01 4.8526120835947800e+01 1 0 0 0 0 -V -184 0 3.0415448928081571e-05 -1.1974711988028776e-04 -6.5567445846735376e-03 6.5581791201926257e-03 0 2 0 -P 544 22 1.3556393099985419e-02 -6.1583833433596850e-02 -1.3131200271624943e+00 1.3146332378536185e+00 1 0 0 0 0 -P 545 22 5.5354700392647317e-02 -2.0972253436179353e-01 -1.3542239831247805e+01 1.3543976791596672e+01 1 0 0 0 0 -V -185 0 -3.1088009732033299e-05 -4.8775051918327588e-05 -3.9681488720718049e-03 3.9686020068036556e-03 0 2 0 -P 546 22 -2.3880690879437318e-02 -6.3743256993639932e-02 -2.3974399240098516e+00 2.3984060705905081e+00 1 0 0 0 0 -P 547 22 -2.4101259830608548e-01 -3.5185697101090135e-01 -3.1414181204563874e+01 3.1417076107648302e+01 1 0 0 0 0 -V -186 0 4.9936185293428575e-06 -7.8074106944437902e-06 -4.8662299743094315e-04 4.8679322156790417e-04 0 3 0 -P 548 22 -7.6945087736918416e-03 -3.4952019188524259e-03 -3.4251266665547355e+00 3.4251370927082716e+00 1 0 0 0 0 -P 549 11 3.7993073439308529e-02 -5.4461719288112491e-02 -1.9843239859383353e+00 1.9854348374518325e+00 1 0 0 0 0 -P 550 -11 4.5152289921856444e-02 -6.0008799552382155e-02 -1.9431576419402867e+00 1.9446083582150522e+00 1 0 0 0 0 -V -187 0 -3.3864176965536530e-06 -5.2595766008398732e-06 -1.0993693802770681e-03 1.0994124317216158e-03 0 2 0 -P 551 22 3.7271706047568784e-02 2.3949720321528242e-03 -4.4966347495633086e+00 4.4967898535447492e+00 1 0 0 0 0 -P 552 22 -9.8612167830641417e-02 -9.7665221123780122e-02 -1.5416982381895389e+01 1.5417607097689778e+01 1 0 0 0 0 -V -188 0 -4.6383230818921369e-06 5.6203138543926335e-06 2.4584505964231955e-05 2.6813092486387573e-05 0 2 0 -P 553 22 -6.5476919329221801e-03 1.0368115961250647e-01 1.8400605847919932e-01 2.1130755946083196e-01 1 0 0 0 0 -P 554 22 -7.3324877363122987e-02 -6.8985724846230816e-03 2.3934255729599138e-01 2.5041762652742228e-01 1 0 0 0 0 -V -189 0 -4.9726058411939644e-05 1.4815060441523449e-05 2.8970980996520599e-04 2.9505398883757013e-04 0 2 0 -P 555 22 -1.2227550286838383e-01 -2.9022998042734331e-02 7.1445373986730298e-01 7.2542248340362359e-01 1 0 0 0 0 -P 556 22 -2.0031525666097008e-01 1.2513360388871886e-01 1.1649976106813382e+00 1.1886984704989552e+00 1 0 0 0 0 -V -190 0 4.1144825782597785e-06 -1.3891011630816487e-06 1.1513855193327027e-04 1.1525421260035257e-04 0 2 0 -P 557 22 9.3887241474577124e-02 3.4826553659132765e-02 1.8468116251162237e+00 1.8495245014911006e+00 1 0 0 0 0 -P 558 22 1.0511091056963101e-01 -1.0201083727144152e-01 3.7218980796791872e+00 3.7247791652608369e+00 1 0 0 0 0 -V -191 0 0 0 0 0 0 2 0 -P 559 211 2.7960965099084567e-01 -4.5946947899938018e-01 9.9891123687115861e+00 1.0004555935108064e+01 1 0 0 0 0 -P 560 -211 -1.9661017956950227e-01 1.7695947757585628e-01 6.1182368816204669e+00 6.1255426326110252e+00 1 0 0 0 0 -V -192 0 -3.8117306469070869e+00 2.4304278506338637e+00 -3.6687500677897781e+01 3.6965955593079201e+01 0 2 0 -P 561 311 -1.8715297405296983e+01 1.1577069668267237e+01 -1.8242722485100242e+02 1.8375045834320991e+02 2 0 0 -216 0 -P 562 211 -2.8661817689837927e+00 1.9267205095557918e+00 -2.7067714435363381e+01 2.7287504363610779e+01 1 0 0 0 0 -V -193 0 0 0 0 0 0 1 0 -P 563 310 -4.4690407303060170e-01 3.0479452171944948e-01 -6.3255618455358773e+00 6.3681261797769668e+00 2 0 0 -217 0 -V -194 0 -3.1527778681318056e-04 1.6421247362094913e-04 -3.2827057816517463e-03 3.3020747002308936e-03 0 2 0 -P 564 22 -2.9431917300519211e-01 1.7742963419472862e-01 -3.6976505269072799e+00 3.7135864699541625e+00 1 0 0 0 0 -P 565 22 -9.4756500827945667e-01 4.6940589272528510e-01 -9.2329793891821001e+00 9.2933379223023156e+00 1 0 0 0 0 -V -195 0 0 0 0 0 0 1 0 -P 566 310 -9.3258822715903111e-01 9.6253600257025262e-01 -1.1172693777377827e+01 1.1263789683300944e+01 2 0 0 -218 0 -V -196 0 -6.5693861061007710e-06 3.8405137903525116e-06 -3.9455407529225346e-05 4.0895424224071609e-05 0 2 0 -P 567 22 1.7454219099767260e-02 4.4134073479361206e-02 -2.8161765485158968e-01 2.8558881233405026e-01 1 0 0 0 0 -P 568 22 -1.3408943408499285e-01 2.4051772862582772e-02 -4.1888766865607635e-01 4.4048307920190266e-01 1 0 0 0 0 -V -197 0 -4.4674668139318611e-05 -7.7777020687567041e-05 3.1331705484877706e-05 9.7992828544315845e-05 0 2 0 -P 569 22 -1.1564015998464669e-01 -2.1072831940990802e-01 1.3246041090625361e-02 2.4073746863995532e-01 1 0 0 0 0 -P 570 22 -1.3565519498958165e-01 -2.2676802553368905e-01 1.6299504540646192e-01 3.1047295237937217e-01 1 0 0 0 0 -V -198 0 -4.1994933803133881e-06 2.7133704299912539e-05 4.1024696949819633e-05 4.9883066825652891e-05 0 2 0 -P 571 22 -9.1327603613570452e-02 4.7743485030051019e-01 7.5852594270345663e-01 9.0091418748815133e-01 1 0 0 0 0 -P 572 22 1.2278616621454207e-02 3.3315291206237996e-02 1.3700714622479238e-02 3.8057622567098298e-02 1 0 0 0 0 -V -199 0 2.9180616181076244e-05 4.1500529828774420e-05 -5.5798650462421432e-06 5.4497450772478213e-05 0 2 0 -P 573 22 2.0272262046875161e-01 2.6691626730043372e-01 -7.2202577647962327e-02 3.4286143967836935e-01 1 0 0 0 0 -P 574 22 3.4337132127359193e-03 2.6278263694003868e-02 3.2781733576932932e-02 4.2154235676950993e-02 1 0 0 0 0 -V -200 0 -2.1589576501028010e-05 1.0363255653369697e-05 8.8651781906517996e-06 2.7912456157651145e-05 0 2 0 -P 575 22 -3.8865980834170609e-02 8.3634946299046928e-02 4.5307746193725261e-02 1.0275291029358541e-01 1 0 0 0 0 -P 576 22 -2.1971692730504189e-01 4.0487950901408658e-02 6.0872361489346244e-02 2.3156046015210280e-01 1 0 0 0 0 -V -201 0 -5.5928360981912877e-05 5.2110866302600545e-05 8.0897793623986721e-04 8.1290521662359661e-04 0 2 0 -P 577 22 -2.6406015212804240e-01 1.5887290229264120e-01 3.1439228369676688e+00 3.1589902133168448e+00 1 0 0 0 0 -P 578 22 -6.5080422478704020e-02 1.4780156799337593e-01 1.6169437091533618e+00 1.6249885302555025e+00 1 0 0 0 0 -V -202 0 2.5577613621733289e-05 -2.8987004054158923e-06 8.1130391415557820e-06 2.8246978345620541e-05 0 2 0 -P 579 22 4.1523619773097542e-01 -2.5212523152159896e-02 1.2013330443018896e-01 4.3299974834068033e-01 1 0 0 0 0 -P 580 22 -9.6754780728841897e-04 -2.1736372129631837e-02 1.1269797581427982e-02 2.4503354048855987e-02 1 0 0 0 0 -V -203 0 -9.7897731963963699e-05 5.6826197138257549e-05 6.6282573799741188e-05 1.3240190736311445e-04 0 2 0 -P 581 22 -3.4078459999881455e-01 2.7082520501007290e-01 2.2460587057992729e-01 4.8982469554328012e-01 1 0 0 0 0 -P 582 22 -3.9367645685764430e-01 1.5550365848863854e-01 2.7266784789645226e-01 5.0349805934464398e-01 1 0 0 0 0 -V -204 0 1.0051858600423073e-05 -5.4491398591193902e-05 -6.0753769080588552e-06 5.9770613427078703e-05 0 2 0 -P 583 22 5.5789906689558660e-02 -8.2513813655285095e-02 3.4609669383240317e-02 1.0544606368748895e-01 1 0 0 0 0 -P 584 22 7.1123513784841722e-03 -2.5848103644413822e-01 -7.2628004232803536e-02 2.6858491905207016e-01 1 0 0 0 0 -V -205 0 -3.7511928053308099e-05 -4.4579420963488085e-06 3.2103614254240428e-06 5.2862428077211607e-05 0 2 0 -P 585 22 -9.4580225870565235e-02 4.1353138776709604e-02 4.7263360195968919e-02 1.1353116941803613e-01 1 0 0 0 0 -P 586 22 -4.2865418981593975e-02 -5.7687269223843832e-02 -3.5500429863546519e-02 8.0159501591941129e-02 1 0 0 0 0 -V -206 0 1.5843923112336528e-01 -6.6444617855219837e-02 -8.9283819735022774e-01 9.2728610338778894e-01 0 2 0 -P 587 321 3.8552872954303585e-01 -2.7291260034918019e-01 -2.9224624236940806e+00 3.0012566145926773e+00 1 0 0 0 0 -P 588 223 4.8704055034862392e-01 -3.5751374929749274e-01 -4.5334150716676227e+00 4.6420521179146625e+00 2 0 0 -219 0 -V -207 0 6.3429893183150927e+00 1.1151044358051168e+01 -3.8271263192902083e+01 4.1193704752906903e+01 0 2 0 -P 589 -211 1.4786817700154750e-01 5.9321872089188232e-01 -1.7433086461786294e+00 1.8526678788513411e+00 1 0 0 0 0 -P 590 211 2.3592192506966145e-01 8.1488461732517337e-02 -5.7233958686926234e-01 6.3980615167547805e-01 1 0 0 0 0 -V -208 0 6.8329392612838751e+00 2.3186263413004074e+01 -1.4290446044786810e+02 1.4509898940858528e+02 0 2 0 -P 591 211 2.4410696810169960e-01 1.3645749729262360e+00 -7.8972249366110239e+00 8.0191829105553794e+00 1 0 0 0 0 -P 592 -211 2.4805451902234124e-01 3.0548024721188094e-01 -2.3958669644380710e+00 2.4319760529309771e+00 1 0 0 0 0 -V -209 0 9.0037533931825553e-01 -4.1316775008103196e-01 -2.4225397489886213e+00 2.6310406502189263e+00 0 2 0 -P 593 -321 2.2771576165304452e+00 -1.0470309598375531e+00 -5.5075471687666786e+00 6.0711150061229135e+00 1 0 0 0 0 -P 594 211 1.0488802059780338e+00 -5.0742444238384699e-01 -1.7288911768918163e+00 2.0895391208722200e+00 1 0 0 0 0 -V -210 0 9.0046542976216415e-01 -4.1320822067561436e-01 -2.4228350260089080e+00 2.6313520343024166e+00 0 2 0 -P 595 22 2.6060905464746402e+00 -1.1260542878061872e+00 -8.4399332612949678e+00 8.9046156374446763e+00 1 0 0 0 0 -P 596 22 3.1152346667941438e-01 -1.8460163474866495e-01 -1.1227277133266274e+00 1.1796788343085065e+00 1 0 0 0 0 -V -211 0 1.1569229356777967e-05 -1.4660522105994798e-05 -9.0397577689810670e-06 2.2901056712458870e-05 0 2 0 -P 597 22 1.5315840728112597e-02 -6.0222579655507182e-02 -9.2350984073855877e-02 1.1131054908220694e-01 1 0 0 0 0 -P 598 22 1.4578394081241561e-01 -1.4392298922477043e-01 -3.3526285435798248e-02 2.0758322678220872e-01 1 0 0 0 0 -V -212 0 4.5366605022425090e-05 4.9185550274341878e-05 5.8915367630974652e-04 5.9316907338555658e-04 0 2 0 -P 599 22 6.2412753514439541e-02 9.0724804124025227e-02 5.9158564124042290e-01 6.0174738288291663e-01 1 0 0 0 0 -P 600 22 3.1015455264095260e-01 3.1320509008833647e-01 4.2467618168902384e+00 4.2695759981967800e+00 1 0 0 0 0 -V -213 0 1.0618662664215143e-05 1.7698716751283111e-05 2.4478578143780885e-04 2.4567696110588694e-04 0 2 0 -P 601 22 2.7037667242088931e-01 3.4218773845439160e-01 4.6801937946366561e+00 4.7004691200659314e+00 1 0 0 0 0 -P 602 22 1.6002738768978980e-01 3.7519069133342203e-01 5.2416577152761965e+00 5.2575043912286512e+00 1 0 0 0 0 -V -214 0 3.4213984360743327e-05 3.5522065787995497e-05 6.3620750774059183e-04 6.3882952712151966e-04 0 2 0 -P 603 22 1.6633397364096600e-01 9.3159794517856359e-02 2.2056974914033418e+00 2.2139212184910280e+00 1 0 0 0 0 -P 604 22 -1.3305729582002584e-02 6.5719080727114673e-02 6.3985585719697713e-01 6.4335958685684069e-01 1 0 0 0 0 -V -215 0 2.3355944705345006e+01 2.3905344191100344e+01 -3.5280411502535122e+02 3.5515188864392519e+02 0 2 0 -P 605 -211 -2.6117036784758577e-02 1.4271093127076998e-01 -1.2708986814665231e+00 1.2867446339378819e+00 1 0 0 0 0 -P 606 211 5.2394465015238212e-01 3.6682702985754118e-01 -6.2490553510138218e+00 6.2832517561523735e+00 1 0 0 0 0 -V -216 0 -3.8117306469070869e+00 2.4304278506338637e+00 -3.6687500677897781e+01 3.6965955593079201e+01 0 1 0 -P 607 130 -1.8715297405296983e+01 1.1577069668267237e+01 -1.8242722485100242e+02 1.8375045834320991e+02 1 0 0 0 0 -V -217 0 -8.5683490912819821e+01 5.8437280409922408e+01 -1.2127797744938878e+03 1.2209404983857619e+03 0 2 0 -P 608 111 -3.5967176370115622e-01 3.2878999327079506e-01 -3.3312469013489321e+00 3.3694053118355725e+00 2 0 0 -220 0 -P 609 111 -8.7232309329445451e-02 -2.3995471551345536e-02 -2.9943149441869452e+00 2.9987208679413939e+00 2 0 0 -221 0 -V -218 0 -1.6982282479171256e+00 1.7527626680229260e+00 -2.0345296697419474e+01 2.0511180885320400e+01 0 2 0 -P 610 111 -1.6065970337379756e-01 2.2472617477739559e-01 -1.4854185479765942e+00 1.5169051575464865e+00 2 0 0 -222 0 -P 611 111 -7.7192852378523358e-01 7.3780982779285698e-01 -9.6872752294012336e+00 9.7468845257544565e+00 2 0 0 -223 0 -V -219 0 1.5843923112336528e-01 -6.6444617855219837e-02 -8.9283819735022774e-01 9.2728610338778894e-01 0 3 0 -P 612 -211 3.2073970588280426e-01 -2.2344149637641733e-01 -1.7720504229152780e+00 1.8200116888325020e+00 1 0 0 0 0 -P 613 211 1.0327478319521827e-01 -2.9696360012404494e-01 -1.9981974224513948e+00 2.0275911285646449e+00 1 0 0 0 0 -P 614 111 6.3026061270601327e-02 1.6289134720296952e-01 -7.6316722630094946e-01 7.9444930051751483e-01 2 0 0 -224 0 -V -220 0 -8.5683537123124310e+01 5.8437322652564823e+01 -1.2127802024894916e+03 1.2209409312839239e+03 0 2 0 -P 615 22 -3.2562028377162922e-01 2.7551611057831837e-01 -3.1161850712685530e+00 3.1452419771440030e+00 1 0 0 0 0 -P 616 22 -3.4051479929526993e-02 5.3273882692476640e-02 -2.1506183008037907e-01 2.2416333469156946e-01 1 0 0 0 0 -V -221 0 -8.5683519961278023e+01 5.8437272419403094e+01 -1.2127807716041691e+03 1.2209414969632207e+03 0 2 0 -P 617 22 -1.0095930423421715e-01 2.7455429715276092e-02 -2.2937984531900248e+00 2.2961833388449753e+00 1 0 0 0 0 -P 618 22 1.3726994904771693e-02 -5.1450901266621621e-02 -7.0051649099692037e-01 7.0253752909641898e-01 1 0 0 0 0 -V -222 0 -1.6982374833223159e+00 1.7527755862422265e+00 -2.0345382085615018e+01 2.0511268083500596e+01 0 2 0 -P 619 22 -7.3037469158247367e-02 2.0430474030481502e-01 -1.0086454152325899e+00 1.0317172444433522e+00 1 0 0 0 0 -P 620 22 -8.7622234215550196e-02 2.0421434472580581e-02 -4.7677313274400424e-01 4.8518791310313425e-01 1 0 0 0 0 -V -223 0 -1.6983640114226690e+00 1.7528924308773342e+00 -2.0347000454184229e+01 2.0512895125914664e+01 0 2 0 -P 621 22 -6.7157134859009704e-01 5.7128422133885581e-01 -7.8635746548436938e+00 7.9128490501271402e+00 1 0 0 0 0 -P 622 22 -1.0035717519513651e-01 1.6652560645400125e-01 -1.8237005745575405e+00 1.8340354756273183e+00 1 0 0 0 0 -V -224 0 1.5844801754335897e-01 -6.6421909284177794e-02 -8.9294458997005066e-01 9.2739685702013275e-01 0 2 0 -P 623 22 -8.7214544347417808e-03 -2.0043855121139119e-02 -1.1849558188276470e-01 1.2049490786464623e-01 1 0 0 0 0 -P 624 22 7.1747515705343115e-02 1.8293520232410862e-01 -6.4467164441818470e-01 6.7395439265287005e-01 1 0 0 0 0 -E 3 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 102 0 0 -V -1 0 0 0 0 0 1 3 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 14 2101 -9.4236956683619111e-01 2.1652326170818870e-01 6.5343226954385455e+03 6.5343227926610143e+03 2 0 0 -9 0 -P 15 2 3.9267024168019415e-01 -4.4202803044505923e-01 2.0241152885643043e+01 2.0252475128694172e+01 2 0 0 -11 0 -P 3 21 5.4969932515599695e-01 2.2550476873687056e-01 5.5705531929900893e+01 5.5708700481541165e+01 3 0 0 -3 0 -V -2 0 0 0 0 0 1 2 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 29 2203 2.4852244145458005e+00 5.1082941165122786e-01 -5.5694416402834304e+03 5.5694422716067393e+03 2 0 0 -11 0 -P 4 1 -2.4852244145458005e+00 -5.1082941165122786e-01 -1.2650126797311423e+03 1.2650152240853247e+03 3 0 0 -4 0 -V -3 0 0 0 0 0 0 4 0 -P 13 2 -1.0608618276380355e+00 5.3963075851129338e-01 6.2467108078944122e-01 1.3841037287882854e+00 2 0 0 -9 0 -P 16 21 1.2784868462321570e+00 -8.7405515584658322e-01 5.0158545116382854e+01 5.0182448617257258e+01 2 0 0 -11 0 -P 5 -2 5.1478982848448318e-01 -3.7127142663721519e-01 4.3686552602229858e+00 4.4145214715099570e+00 3 0 0 -5 0 -P 17 21 -1.6686180664312625e-01 9.4299371379547992e-01 -4.2196845113635542e+00 4.3269871021549715e+00 2 0 0 -11 0 -V -4 0 0 0 0 0 0 7 0 -P 6 1 2.5722674946760922e+00 4.3788611284604106e-01 -4.6269073817910544e+02 4.6269809541539877e+02 3 0 0 -5 0 -P 23 21 -6.2117781148280848e-01 -2.8319314770868491e+00 -4.2435587401747085e+01 4.2534512761940860e+01 2 0 0 -11 0 -P 24 21 -1.0853374093767046e-01 2.4951738842432462e-02 -1.2807245422014727e+01 1.2807729598250830e+01 2 0 0 -11 0 -P 25 21 -4.7236154263853830e-02 -2.8124786400644658e-01 -7.3009915305624826e+00 7.3065593095945598e+00 2 0 0 -11 0 -P 26 21 -3.6487430314729372e+00 1.0613239469355105e+00 -1.4428971573317793e+02 1.4433974435543163e+02 2 0 0 -11 0 -P 27 21 -8.5735899903395096e-01 1.3023755707753566e+00 -8.6410163495004923e+01 8.6424230409151221e+01 2 0 0 -11 0 -P 28 21 2.0970411268715061e-01 -2.3598056104377471e-01 -5.0430489298734267e+02 5.0430499179922384e+02 2 0 0 -11 0 -V -5 0 0 0 0 0 0 2 0 -P 8 -24 2.4764319374549677e+00 -4.6617630836504320e+00 -4.5253788365526782e+02 4.5961679266155716e+02 3 0 0 -7 0 -P 7 22 6.1062538570560743e-01 4.7283777698592582e+00 -5.7841992636145454e+00 7.4958242253514973e+00 3 0 0 -6 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 6.1062538570560743e-01 4.7283777698592582e+00 -5.7841992636145454e+00 7.4958242253514982e+00 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 -24 2.4764319374549677e+00 -4.6617630836504320e+00 -4.5253788365526782e+02 4.5961679266155716e+02 2 0 0 -8 0 -V -8 0 0 0 0 0 0 2 0 -P 12 -14 -9.1890454246686382e+00 -3.9174945591477190e+01 -1.6776899637465104e+02 1.7252695749496510e+02 1 0 0 0 0 -P 11 13 1.1665477362123605e+01 3.4513182507826755e+01 -2.8476888728061687e+02 2.8708983516659214e+02 1 0 0 0 0 -V -9 0 0 0 0 0 0 1 0 -P 35 92 -2.0032313944742266e+00 7.5615402021948208e-01 6.5349473665193345e+03 6.5357068963898028e+03 2 0 0 -10 0 -V -10 0 0 0 0 0 0 9 0 -P 37 333 -1.1091211096030533e+00 1.4407005271255402e-01 2.4365019278869586e+00 2.8692745467802063e+00 2 0 0 -17 0 -P 38 -321 5.7487835922576980e-01 -1.6335008561432823e-01 3.0727085777785232e+00 3.1689662892385013e+00 1 0 0 0 0 -P 39 323 -4.9346996389094194e-01 1.1818828175705887e-01 1.1352455312350665e+01 1.1390232114301151e+01 2 0 0 -18 0 -P 40 333 4.6705005789470379e-02 -1.1036790308186785e-02 6.0989748896587884e+01 6.0998269072082245e+01 2 0 0 -19 0 -P 41 -313 6.6116839338003747e-02 2.0047724383885190e-01 1.0174249585391416e+02 1.0174747600392061e+02 2 0 0 -20 0 -P 42 -211 6.6195102743584266e-01 2.3352413161979789e-03 1.9139236560226081e+01 1.9151189010327013e+01 1 0 0 0 0 -P 43 213 -1.1330549383455299e+00 2.6772966756529654e-01 8.9903421865118207e+02 8.9903532297395714e+02 2 0 0 -21 0 -P 44 2112 -3.4375880581316148e-01 2.1765097284394738e-02 5.4362110987103097e+03 5.4362111908181760e+03 1 0 0 0 0 -P 36 321 -2.7347780861062648e-01 1.7597531166764313e-01 9.6890202910053802e-01 1.1349755610206478e+00 1 0 0 0 0 -V -11 0 0 0 0 0 5 1 0 -P 18 21 9.3397002995552358e-01 2.9110210203548919e+00 1.9719566949430803e+01 1.9955141294184987e+01 2 0 0 -11 0 -P 19 21 -2.1357165232265416e+00 4.1733949000175592e+00 -2.5122523216850832e+00 5.3188271063165358e+00 2 0 0 -11 0 -P 20 21 2.1357165232265416e+00 -4.1733949000175592e+00 -7.2379746050422105e+00 8.6236179438975249e+00 2 0 0 -11 0 -P 21 21 2.6814323415953143e+00 -1.7234320325764891e+00 -3.0705360378789067e+01 3.0870365293672400e+01 2 0 0 -11 0 -P 22 21 -2.6814323415953143e+00 1.7234320325764891e+00 -1.0476850460974710e+02 1.0481698266758141e+02 2 0 0 -11 0 -P 45 92 -1.4985589873352057e-01 2.0882523139261866e+00 -6.4263147483284502e+03 6.6115068849940917e+03 2 0 0 -12 0 -V -12 0 0 0 0 0 0 44 0 -P 46 211 1.3949741497349764e+00 -8.1413890613658435e-01 3.1237954613440834e+01 3.1279994617218282e+01 1 0 0 0 0 -P 47 113 6.8753804353602468e-02 -1.4130704072596839e-01 2.6547465088091574e+01 2.6560329224240288e+01 2 0 0 -22 0 -P 48 -211 -3.3705321336487631e-01 -1.6764450883023393e-01 9.4322808686628328e+00 9.4408215596006979e+00 1 0 0 0 0 -P 49 113 5.9981396172818402e-01 -2.6687872216516484e-01 2.2150499557325571e+00 2.4423648313647601e+00 2 0 0 -23 0 -P 50 323 -3.0748077012799063e-01 -6.1187613112430157e-02 -1.4211926385251549e-02 9.7630268316421653e-01 2 0 0 -24 0 -P 51 -313 1.4293786442054000e-02 4.6772668279335211e-01 -3.8804113875347573e-01 1.1164769507355792e+00 2 0 0 -25 0 -P 52 111 8.0828878413878216e-02 -1.3461691433235596e-02 -7.1537625213290668e-01 7.3259627847649700e-01 2 0 0 -26 0 -P 53 113 -2.3019258837112086e-01 1.4760214205834568e-01 -1.6237023486867372e+00 1.8378775046348748e+00 2 0 0 -27 0 -P 54 223 3.6047327332852880e-01 7.5799280465086738e-01 8.7170208350794642e-01 1.4416890830588578e+00 2 0 0 -28 0 -P 55 113 1.2071093866836292e-01 1.1591242726102904e-01 9.8276244825033521e-01 1.2590091097043403e+00 2 0 0 -29 0 -P 56 -213 8.6853791013771414e-02 1.0081227171470937e+00 7.4151556572422583e+00 7.5162670018422455e+00 2 0 0 -30 0 -P 57 323 1.7595879809624551e-01 4.2346453954444735e-01 1.9254698599629185e+00 2.1644899849972110e+00 2 0 0 -31 0 -P 58 -321 1.9281037659969705e-01 1.9746412913081476e-01 6.1305191305880840e+00 6.1565472217895207e+00 1 0 0 0 0 -P 59 223 -2.6288378130564161e-01 7.8988896286242360e-01 6.4711248501236418e-01 1.3136617569823170e+00 2 0 0 -32 0 -P 60 213 1.3477705105748747e-01 1.0791582261049506e+00 5.7410962076755911e-01 1.3686690060033124e+00 2 0 0 -33 0 -P 61 -211 -1.0477191658271894e+00 1.1109784504404854e+00 -1.2067512533016968e-01 1.5381907679342692e+00 1 0 0 0 0 -P 62 213 -9.0771555535794080e-02 5.8156740475700852e-01 -1.5429989954783372e+00 1.7635958777355596e+00 2 0 0 -34 0 -P 63 221 1.9394945996907104e-01 -2.7378498648517408e-01 -2.6641812525406994e-01 6.9516525503715665e-01 2 0 0 -35 0 -P 64 -213 2.3145858795471871e-01 2.7432639064021358e-01 -1.3070279086378056e+00 1.5830182128523671e+00 2 0 0 -36 0 -P 65 213 -4.5215145872547829e-01 2.8618967307221177e-01 -1.2291118677569723e+00 1.5726626222361686e+00 2 0 0 -37 0 -P 66 2114 9.5337951957865841e-01 -6.6930286811799566e-01 -3.0888059546382411e+00 3.5274937030638558e+00 2 0 0 -38 0 -P 67 211 -1.3638801371095294e-01 -6.4982930487435098e-01 -8.8570463039764313e-01 1.1157205263708860e+00 1 0 0 0 0 -P 68 -2212 8.4949812677802405e-01 -2.0925593127370514e+00 -5.2863706614781849e+00 5.8246473634168812e+00 1 0 0 0 0 -P 69 -211 1.1996322072747415e-01 2.3947821917494630e-01 -1.0577767107781229e+00 1.1000510654288269e+00 1 0 0 0 0 -P 70 323 1.4839074584839513e+00 -9.6300995788224397e-01 -1.5468440231889129e+01 1.5599973376532240e+01 2 0 0 -39 0 -P 71 -321 -2.7807528173586266e-01 3.2958209552231060e-01 -8.8436515986138815e+00 8.8679064484052397e+00 1 0 0 0 0 -P 72 213 4.8061490063831430e-01 -1.4112979134958886e-01 -1.3685006725010053e+01 1.3716801676932008e+01 2 0 0 -40 0 -P 73 111 -6.6907029234828486e-01 1.7831713785343023e-01 -1.8676644255472887e+01 1.8689962875930050e+01 2 0 0 -41 0 -P 74 -213 -3.4452308143729315e-01 -1.7121136884034183e-01 -1.7652850045181019e+01 1.7672257910595317e+01 2 0 0 -42 0 -P 75 2212 -3.9310532187388653e-01 8.2724580957524885e-02 -3.9775536449638281e+01 3.9788629350604467e+01 1 0 0 0 0 -P 76 -2212 -6.6472940215998422e-01 6.9112739079230504e-02 -2.6053725752692522e+01 2.6079179778862152e+01 1 0 0 0 0 -P 77 3224 -4.0748859480073829e-01 -1.6567442175761489e+00 -3.4492491111585458e+01 3.4561985780104671e+01 2 0 0 -43 0 -P 78 311 -2.7836629784373346e-01 5.3322922791229938e-02 -1.9006813991509159e+01 1.9015440690833291e+01 2 0 0 -44 0 -P 79 -2112 -1.8554501644645200e+00 2.6350454241754517e-01 -6.6852567158069846e+01 6.6885429335288151e+01 1 0 0 0 0 -P 80 -211 -4.2046149174458702e-01 -6.9882022956308021e-02 -4.4649768696748026e+01 4.4652021184053616e+01 1 0 0 0 0 -P 81 211 -1.2259199970940475e+00 5.3487296324306122e-01 -3.4837579454291500e+01 3.4863525222574047e+01 1 0 0 0 0 -P 82 311 -1.7383101241416014e-02 2.3283172203271379e-01 -6.0426993477096801e+01 6.0429493865934312e+01 2 0 0 -45 0 -P 83 -323 -5.6275410327378561e-01 -7.3372721057032519e-02 -1.4782442541338469e+02 1.4782894973592141e+02 2 0 0 -46 0 -P 84 211 -1.3376613799881737e-01 -9.1221013772773460e-02 -7.1076645245746004e+00 7.1108782461679887e+00 1 0 0 0 0 -P 85 113 1.7962314176801067e-02 8.3402302003156015e-01 -6.4704726517325719e+02 6.4704829538644378e+02 2 0 0 -47 0 -P 86 -211 2.6669980751781586e-01 -2.7900006105441300e-01 -5.1992006516225081e+02 5.1992022715790301e+02 1 0 0 0 0 -P 87 213 3.4004774827278034e-01 1.9424841399564963e-01 -1.0234108895905553e+03 1.0234111585835141e+03 2 0 0 -48 0 -P 88 2214 5.6694851511787103e-01 9.8756119003734349e-02 -8.8006311174153848e+02 8.8006411796473139e+02 2 0 0 -49 0 -P 89 223 1.2311994476002099e+00 3.3274939646704554e-01 -2.8709726179406398e+03 2.8709730082148681e+03 2 0 0 -50 0 -V -13 0 0 0 0 0 3 1 0 -P 30 21 -3.0018432040494889e+00 2.3510280488458859e+00 2.3572952493951814e+02 2.3576035994992682e+02 2 0 0 -13 0 -P 31 21 -9.3397002995552358e-01 -2.9110210203548919e+00 1.0151020105427864e+02 1.0155622709355579e+02 2 0 0 -13 0 -P 32 21 3.0018432040494889e+00 -2.3510280488458859e+00 2.9747792961823656e+01 2.9991158390560429e+01 2 0 0 -13 0 -P 90 92 -9.3397002995552336e-01 -2.9110210203548919e+00 3.6698751895562049e+02 3.6730774543404306e+02 2 0 0 -14 0 -V -14 0 0 0 0 0 0 11 0 -P 91 211 -8.2406320068481598e-01 -1.4474846551483079e-02 1.5925371343061592e+01 1.5947295127362915e+01 1 0 0 0 0 -P 92 -211 -1.2971269419881442e+00 8.9201364509882908e-01 8.3237290846445731e+01 8.3252293024801261e+01 1 0 0 0 0 -P 93 -311 -2.0800376351271022e-02 -2.1447848449823942e-01 2.1067216961652552e+01 2.1074196060922706e+01 2 0 0 -51 0 -P 94 313 -3.6169721163227725e-01 5.4167305000773069e-01 5.0328382832671906e+01 5.0338889823024189e+01 2 0 0 -52 0 -P 95 213 -8.9383792146133589e-01 -3.4747707496988950e-01 5.5172517965309702e+01 5.5185392155323349e+01 2 0 0 -53 0 -P 96 113 -1.2750819481863768e-01 -1.5623904654280926e-01 3.4052323819224185e+01 3.4060522483400433e+01 2 0 0 -54 0 -P 97 -211 -5.7174412643767436e-01 -9.4910638921379709e-01 3.9932536181067732e+01 3.9948149142624189e+01 1 0 0 0 0 -P 98 111 4.2301035938398712e-01 -2.4488475692500022e-01 3.0794121251526874e+00 3.1208820780762889e+00 2 0 0 -55 0 -P 99 -2112 1.1392327237977038e+00 -1.4946995580917366e+00 2.4907483094827445e+01 2.4995949349283496e+01 1 0 0 0 0 -P 100 2112 5.3941297703374469e-01 -8.0160103815638795e-01 1.3991639212989071e+01 1.4056396772840444e+01 1 0 0 0 0 -P 101 223 1.0611518832031974e+00 -1.2174652051210852e-01 2.5293344573217894e+01 2.5327779416383844e+01 2 0 0 -56 0 -V -15 0 0 0 0 0 2 1 0 -P 33 21 1.0190408349472695e+00 -2.8843457133167565e+00 -9.8491291741771736e+00 1.0313255543563667e+01 2 0 0 -15 0 -P 34 21 -1.0190408349472695e+00 2.8843457133167565e+00 -7.4489250551266313e+00 8.0526007534281785e+00 2 0 0 -15 0 -P 102 92 0 0 -1.7298054229303805e+01 1.8365856296991847e+01 2 0 0 -16 0 -V -16 0 0 0 0 0 0 7 0 -P 103 113 2.5426454423078015e-01 -1.2821686593910947e-01 -3.6908260328296461e+00 3.7716166626566090e+00 2 0 0 -57 0 -P 104 223 -7.8492867790755053e-02 4.3394394227840256e-02 -9.8224104521300815e-01 1.2585985464264791e+00 2 0 0 -58 0 -P 105 213 1.7802555916136972e-01 3.2682068270571213e-01 -2.6219971626667316e+00 2.7700960092936304e+00 2 0 0 -59 0 -P 106 111 1.9399017214205891e-01 -8.3030313783991927e-01 -1.7838453636238722e+00 1.9817566372581945e+00 2 0 0 -60 0 -P 107 -211 -2.8807161077252330e-01 5.2270945259205381e-01 -3.1028538235201237e+00 3.1628139464400387e+00 1 0 0 0 0 -P 108 223 2.5327277586763380e-01 -1.3809611761063298e-01 -2.5208029155085732e+00 2.6552334264970665e+00 2 0 0 -61 0 -P 109 113 -5.1298857283856425e-01 2.0369159186405553e-01 -2.5954878859418495e+00 2.7657410684198265e+00 2 0 0 -62 0 -V -17 0 0 0 0 0 0 2 0 -P 110 321 -5.3517797822608215e-01 -4.1546823888825380e-03 1.3908700471651065e+00 1.5699022829032940e+00 1 0 0 0 0 -P 111 -321 -5.7394313137697117e-01 1.4822473510143655e-01 1.0456318807218525e+00 1.2993722638769123e+00 1 0 0 0 0 -V -18 0 0 0 0 0 0 2 0 -P 112 311 -1.6481661079814763e-01 7.9549466215372497e-02 8.2576997208588896e+00 8.2747068069837457e+00 2 0 0 -63 0 -P 113 211 -3.2865335309279431e-01 3.8638815541686355e-02 3.0947555914917761e+00 3.1155253073174056e+00 1 0 0 0 0 -V -19 0 0 0 0 0 0 2 0 -P 114 321 -8.9052577900346819e-02 3.8384145837852435e-02 3.2135901794444422e+01 3.2139838655576021e+01 1 0 0 0 0 -P 115 -321 1.3575758368981719e-01 -4.9420936146039221e-02 2.8853847102143465e+01 2.8858430416506227e+01 1 0 0 0 0 -V -20 0 0 0 0 0 0 2 0 -P 116 -311 -2.0774100376841340e-01 2.8253422511277831e-01 4.5249454551591235e+01 4.5253550076855042e+01 2 0 0 -64 0 -P 117 111 2.7385784310641714e-01 -8.2056981273926410e-02 5.6493041302322936e+01 5.6493925927065568e+01 2 0 0 -65 0 -V -21 0 0 0 0 0 0 2 0 -P 118 211 -1.0330625473694905e+00 4.3248162283071701e-01 6.3795354712657922e+02 6.3795454542604386e+02 1 0 0 0 0 -P 119 111 -9.9992390976039472e-02 -1.6475195526542039e-01 2.6108067152460302e+02 2.6108077754791344e+02 2 0 0 -66 0 -V -22 0 0 0 0 0 0 2 0 -P 120 -211 2.5499953205520359e-01 -1.0027654595046133e-02 2.3322262674548515e+01 2.3324076431034285e+01 1 0 0 0 0 -P 121 211 -1.8624572770160111e-01 -1.3127938613092227e-01 3.2252024135430615e+00 3.2362527932060021e+00 1 0 0 0 0 -V -23 0 0 0 0 0 0 2 0 -P 122 211 7.6228828054477105e-01 -2.1517928961636448e-01 1.6414979312633347e+00 1.8279444172560420e+00 1 0 0 0 0 -P 123 -211 -1.6247431881658703e-01 -5.1699432548800363e-02 5.7355202446922249e-01 6.1442041410871839e-01 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 124 311 -4.4770508064804587e-01 -2.2677035333779219e-01 -7.6463961108518649e-02 7.1090561865793589e-01 2 0 0 -67 0 -P 125 211 1.4022431052005524e-01 1.6558274022536204e-01 6.2252034723267097e-02 2.6539706450628059e-01 1 0 0 0 0 -V -25 0 0 0 0 0 0 2 0 -P 126 -321 -2.5986605631982164e-02 2.9198614472084311e-01 9.5408561624206661e-02 5.8195787305647173e-01 1 0 0 0 0 -P 127 211 4.0280392074036164e-02 1.7574053807250894e-01 -4.8344970037768237e-01 5.3451907767910722e-01 1 0 0 0 0 -V -26 0 4.6370571701477952e-05 -7.7228131835718235e-06 -4.1040289614321631e-04 4.2028182162054536e-04 0 2 0 -P 128 22 -1.6794961432842453e-02 2.2822192504643863e-02 -3.8769689788982341e-02 4.8020954244825338e-02 1 0 0 0 0 -P 129 22 9.7623839846720670e-02 -3.6283883937879464e-02 -6.7660656234392436e-01 6.8457532423167167e-01 1 0 0 0 0 -V -27 0 0 0 0 0 0 2 0 -P 130 -211 -8.0905401518794953e-02 2.9454613008823682e-01 -1.9743357093526082e-01 3.8956758922826545e-01 1 0 0 0 0 -P 131 211 -1.4928718685232592e-01 -1.4694398802989114e-01 -1.4262687777514764e+00 1.4483099154066095e+00 1 0 0 0 0 -V -28 0 0 0 0 0 0 3 0 -P 132 211 1.9697316487609509e-01 3.5057333972336180e-01 6.7516622935079007e-01 7.9814116317971096e-01 1 0 0 0 0 -P 133 -211 -3.8819295397041619e-02 1.4724962955523235e-01 1.9980284787495695e-01 2.8738537544248732e-01 1 0 0 0 0 -P 134 111 2.0231940384947528e-01 2.6016983537227312e-01 -3.2669937178005843e-03 3.5616254443665946e-01 2 0 0 -68 0 -V -29 0 0 0 0 0 0 2 0 -P 135 -211 1.1488257758393901e-01 2.7148426262030395e-01 9.9743688408424791e-01 1.0494102315655771e+00 1 0 0 0 0 -P 136 211 5.8283610844239242e-03 -1.5557183535927488e-01 -1.4674435833912692e-02 2.0959887813876332e-01 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 137 -211 -8.4860032327779208e-03 1.2798646073174491e-01 3.8322629520223433e-01 4.2754499718268074e-01 1 0 0 0 0 -P 138 111 9.5339794246549328e-02 8.8013625641534876e-01 7.0319293620400245e+00 7.0887220046595649e+00 2 0 0 -69 0 -V -31 0 0 0 0 0 0 2 0 -P 139 311 6.6329685576106023e-02 5.2124166663591132e-01 1.7596312276628496e+00 1.9026481515225586e+00 2 0 0 -70 0 -P 140 211 1.0962911252013950e-01 -9.7777127091463953e-02 1.6583863230006918e-01 2.6184183347465939e-01 1 0 0 0 0 -V -32 0 0 0 0 0 0 3 0 -P 141 211 -1.8053057003619555e-01 4.4658535224822332e-01 1.2486955297486922e-01 5.1681907251997494e-01 1 0 0 0 0 -P 142 -211 -2.2545152457920553e-01 2.9947362949028894e-01 3.5940892111084544e-01 5.3774287737657378e-01 1 0 0 0 0 -P 143 111 1.4309831330975950e-01 4.3829981123911323e-02 1.6283401092664959e-01 2.5909980708576519e-01 2 0 0 -71 0 -V -33 0 0 0 0 0 0 2 0 -P 144 211 6.6134181730062705e-02 1.0799589201098942e+00 4.9977866601512050e-01 1.1999764576948531e+00 1 0 0 0 0 -P 145 111 6.8642869327424763e-02 -8.0069400494364870e-04 7.4330954752438616e-02 1.6869254830845534e-01 2 0 0 -72 0 -V -34 0 0 0 0 0 0 2 0 -P 146 211 -4.0874140835117249e-02 -5.3240879661743137e-02 -5.8665739429170261e-01 6.0675528002094503e-01 1 0 0 0 0 -P 147 111 -4.9897414700676830e-02 6.3480828441875170e-01 -9.5634160118663458e-01 1.1568405977146143e+00 2 0 0 -73 0 -V -35 0 0 0 0 0 0 3 0 -P 148 111 -8.0692078035366516e-02 -5.7579150443156604e-02 -3.2542865426087308e-02 1.7060248683287640e-01 2 0 0 -74 0 -P 149 111 2.0056546976702694e-01 -6.3971292668162691e-02 -9.6007889896875975e-02 2.6787300959774685e-01 2 0 0 -75 0 -P 150 111 7.4076068237410586e-02 -1.5223454337385475e-01 -1.3786736993110663e-01 2.5668975860653298e-01 2 0 0 -76 0 -V -36 0 0 0 0 0 0 2 0 -P 151 -211 4.3518580826092879e-01 4.0714118730605248e-01 -8.3812731381468930e-01 1.0378284122025792e+00 1 0 0 0 0 -P 152 111 -2.0372722030621004e-01 -1.3281479666583887e-01 -4.6890059482311636e-01 5.4518980064978795e-01 2 0 0 -77 0 -V -37 0 0 0 0 0 0 2 0 -P 153 211 -1.1547174774767054e-01 -2.6117390082266756e-01 -4.8927985529292894e-01 5.8345530479574848e-01 1 0 0 0 0 -P 154 111 -3.3667971097780769e-01 5.4736357389487933e-01 -7.3983201246404340e-01 9.8920731744041990e-01 2 0 0 -78 0 -V -38 0 0 0 0 0 0 2 0 -P 155 2212 6.0433317807337594e-01 -7.1283905966837302e-01 -2.4506791222575126e+00 2.7855945268969080e+00 1 0 0 0 0 -P 156 -211 3.4904634150528252e-01 4.3536191550377301e-02 -6.3812683238072887e-01 7.4189917616694812e-01 1 0 0 0 0 -V -39 0 0 0 0 0 0 2 0 -P 157 311 5.3882428291032602e-01 -2.9867949202148447e-01 -4.4165576592752496e+00 4.4870032352797464e+00 2 0 0 -79 0 -P 158 211 9.4508317557362542e-01 -6.6433046586075961e-01 -1.1051882572613879e+01 1.1112970141252495e+01 1 0 0 0 0 -V -40 0 0 0 0 0 0 2 0 -P 159 211 1.1797515950852807e-04 -3.5831001471481000e-01 -6.3446479853082618e+00 6.3562901068893360e+00 1 0 0 0 0 -P 160 111 4.8049692547880568e-01 2.1718022336522114e-01 -7.3403587397017889e+00 7.3605115700426689e+00 2 0 0 -80 0 -V -41 0 -1.1583593514972181e-04 3.0871991557086950e-05 -3.2334817096694663e-03 3.2357875583571205e-03 0 2 0 -P 161 22 -5.0398876263600001e-01 7.9556733552219663e-02 -1.2778281559309137e+01 1.2788464081182569e+01 1 0 0 0 0 -P 162 22 -1.6508152971228482e-01 9.8760404301210553e-02 -5.8983626961637485e+00 5.9014987947474795e+00 1 0 0 0 0 -V -42 0 0 0 0 0 0 2 0 -P 163 -211 1.3279309858393523e-01 1.2066647820448219e-01 -7.1877811768646929e+00 7.1913748641955930e+00 1 0 0 0 0 -P 164 111 -4.7731618002122833e-01 -2.9187784704482400e-01 -1.0465068868316324e+01 1.0480883046399720e+01 2 0 0 -81 0 -V -43 0 0 0 0 0 0 2 0 -P 165 3122 -4.6866358421255944e-01 -1.6184680144817571e+00 -3.0858384900186707e+01 3.0924484551557821e+01 2 0 0 -82 0 -P 166 211 6.1174989411821111e-02 -3.8276203094391698e-02 -3.6341062113987506e+00 3.6375012285468498e+00 1 0 0 0 0 -V -44 0 0 0 0 0 0 1 0 -P 167 130 -2.7836629784373346e-01 5.3322922791229938e-02 -1.9006813991509159e+01 1.9015440690833294e+01 1 0 0 0 0 -V -45 0 0 0 0 0 0 1 0 -P 168 310 -1.7383101241416014e-02 2.3283172203271379e-01 -6.0426993477096801e+01 6.0429493865934312e+01 2 0 0 -83 0 -V -46 0 0 0 0 0 0 2 0 -P 169 -311 -5.4517775501888455e-01 2.5850199343546754e-01 -8.9865234716413994e+01 8.9868638178901193e+01 2 0 0 -84 0 -P 170 -211 -1.7576348254901095e-02 -3.3187471449250006e-01 -5.7959190696970708e+01 5.7960311557020233e+01 1 0 0 0 0 -V -47 0 0 0 0 0 0 2 0 -P 171 211 9.2955499979074457e-02 -1.0866822487967489e-02 -3.2945012188350809e+01 3.2945440757232113e+01 1 0 0 0 0 -P 172 -211 -7.4993185802273390e-02 8.4488984251952770e-01 -6.1410225298490639e+02 6.1410285462921172e+02 1 0 0 0 0 -V -48 0 0 0 0 0 0 2 0 -P 173 211 8.5949161239965377e-02 3.4709531138046762e-01 -6.9899167123526638e+02 6.9899177663150601e+02 1 0 0 0 0 -P 174 111 2.5409858703281496e-01 -1.5284689738481802e-01 -3.2441921835528876e+02 3.2441938195200805e+02 2 0 0 -85 0 -V -49 0 0 0 0 0 0 2 0 -P 175 2212 3.8253495145818550e-01 1.6289928814342811e-01 -5.7652974840092349e+02 5.7653066181339580e+02 1 0 0 0 0 -P 176 111 1.8441356365968553e-01 -6.4143169139693756e-02 -3.0353336334061498e+02 3.0353345615133566e+02 2 0 0 -86 0 -V -50 0 0 0 0 0 0 3 0 -P 177 211 5.3333410812648374e-01 7.4617552270279233e-02 -1.0059322469405662e+03 1.0059324007743916e+03 1 0 0 0 0 -P 178 -211 3.9966223398528372e-01 -1.6207176715030084e-02 -1.3243593232465137e+03 1.3243593910046934e+03 1 0 0 0 0 -P 179 111 2.9820310548844248e-01 2.7433902091179635e-01 -5.4068104775355994e+02 5.4068121643578320e+02 2 0 0 -87 0 -V -51 0 0 0 0 0 0 1 0 -P 180 130 -2.0800376351271022e-02 -2.1447848449823942e-01 2.1067216961652552e+01 2.1074196060922702e+01 1 0 0 0 0 -V -52 0 0 0 0 0 0 2 0 -P 181 321 -3.8962671843311852e-01 2.0566888018468360e-01 3.0940913755190643e+01 3.0947986907618706e+01 1 0 0 0 0 -P 182 -211 2.7929506800841261e-02 3.3600416982304704e-01 1.9387469077481260e+01 1.9390902915405476e+01 1 0 0 0 0 -V -53 0 0 0 0 0 0 2 0 -P 183 211 -8.9120775201636582e-01 -1.8208840020122474e-01 3.6286732442122407e+01 3.6298399944816033e+01 1 0 0 0 0 -P 184 111 -2.6301694449702272e-03 -1.6538867476866476e-01 1.8885785523187302e+01 1.8886992210507319e+01 2 0 0 -88 0 -V -54 0 0 0 0 0 0 2 0 -P 185 -211 -1.1987217934407324e-02 -3.3403146114971544e-01 2.8599290261216566e+01 2.8601583941115017e+01 1 0 0 0 0 -P 186 211 -1.1552097688423035e-01 1.7779241460690620e-01 5.4530335580076184e+00 5.4589385422854200e+00 1 0 0 0 0 -V -55 0 4.2254465579185501e-05 -2.4461515664588543e-05 3.0760219167180113e-04 3.1174462142442600e-04 0 2 0 -P 187 22 2.8751370315703634e-01 -9.5574760408875581e-02 1.6953251489157042e+00 1.7221864082834764e+00 1 0 0 0 0 -P 188 22 1.3549665622695076e-01 -1.4930999651612464e-01 1.3840869762369830e+00 1.3986956697928123e+00 1 0 0 0 0 -V -56 0 0 0 0 0 0 3 0 -P 189 211 5.0375258570605386e-01 -1.9695435251561838e-01 8.7561249240525978e+00 8.7739250712036227e+00 1 0 0 0 0 -P 190 -211 2.5412965478975740e-02 -9.0827288189110802e-02 3.8528483651797676e+00 3.8565289737097310e+00 1 0 0 0 0 -P 191 111 5.3198633201816781e-01 1.6603512019262065e-01 1.2684371283985527e+01 1.2697325371470487e+01 2 0 0 -89 0 -V -57 0 0 0 0 0 0 2 0 -P 192 -211 -1.7141939419169341e-01 -5.6722519524079404e-02 -2.2381290066936166e+00 2.2497340483776216e+00 1 0 0 0 0 -P 193 211 4.2568393842247360e-01 -7.1494346415030066e-02 -1.4526970261360295e+00 1.5218826142789872e+00 1 0 0 0 0 -V -58 0 0 0 0 0 0 3 0 -P 194 -211 7.6459071874841397e-02 -8.7541130858253866e-02 -7.8342648501977918e-01 8.0420537277137760e-01 1 0 0 0 0 -P 195 211 -1.9416584560678463e-01 1.2013959035912780e-01 -1.3157418602565010e-01 2.9820370235825233e-01 1 0 0 0 0 -P 196 111 3.9213905941188162e-02 1.0795934726966315e-02 -6.7240374167578831e-02 1.5618947129684915e-01 2 0 0 -90 0 -V -59 0 0 0 0 0 0 2 0 -P 197 211 -2.8016474706981570e-01 2.5051985090551032e-01 -1.3859234437513488e+00 1.4427460130036787e+00 1 0 0 0 0 -P 198 111 4.5819030623118540e-01 7.6300831800201821e-02 -1.2360737189153828e+00 1.3273499962899518e+00 2 0 0 -91 0 -V -60 0 9.8262426864790465e-05 -4.2057595215624915e-04 -9.0357657115137360e-04 1.0038251653789662e-03 0 2 0 -P 199 22 1.0753811039473163e-01 -5.8421054425128616e-01 -1.1054519305528825e+00 1.2549463637800418e+00 1 0 0 0 0 -P 200 22 8.6452061747327294e-02 -2.4609259358863311e-01 -6.7839343307098976e-01 7.2681027347815286e-01 1 0 0 0 0 -V -61 0 0 0 0 0 0 3 0 -P 201 -211 -4.1923779688965344e-02 9.4741716713696952e-02 -3.1625212825159438e-01 3.6087226232135133e-01 1 0 0 0 0 -P 202 211 1.2543443318519545e-01 2.9266802084010526e-02 -2.6988866705562498e-01 3.3001518182922718e-01 1 0 0 0 0 -P 203 111 1.6976212237140365e-01 -2.6210463640834042e-01 -1.9346621202013536e+00 1.9643459823464879e+00 2 0 0 -92 0 -V -62 0 0 0 0 0 0 2 0 -P 204 211 -6.2798117767117945e-01 1.3395368585235701e-01 -1.3083434892807686e+00 1.4640855235627768e+00 1 0 0 0 0 -P 205 -211 1.1499260483261517e-01 6.9737906011698547e-02 -1.2871443966610814e+00 1.3016555448570508e+00 1 0 0 0 0 -V -63 0 0 0 0 0 0 1 0 -P 206 310 -1.6481661079814763e-01 7.9549466215372497e-02 8.2576997208588896e+00 8.2747068069837439e+00 2 0 0 -93 0 -V -64 0 0 0 0 0 0 1 0 -P 207 310 -2.0774100376841340e-01 2.8253422511277831e-01 4.5249454551591235e+01 4.5253550076855049e+01 2 0 0 -94 0 -V -65 0 7.3754023811518823e-05 -2.2099175550823247e-05 1.5214423169825254e-02 1.5214661412533925e-02 0 2 0 -P 208 22 3.2723447556854225e-02 -6.3493276229220436e-02 1.6358826635059781e+01 1.6358982581324781e+01 1 0 0 0 0 -P 209 22 2.4113439554956292e-01 -1.8563705044705985e-02 4.0134214667263159e+01 4.0134943345740787e+01 1 0 0 0 0 -V -66 0 -2.4091747932102252e-05 -3.9694646150891612e-05 6.2903683639507407e-02 6.2903709184319812e-02 0 2 0 -P 210 22 -3.5501503450890148e-02 -4.3221742365836700e-03 1.1206888944609352e+02 1.1206889515257420e+02 1 0 0 0 0 -P 211 22 -6.4490887525149324e-02 -1.6042978102883673e-01 1.4901178207850950e+02 1.4901188239533926e+02 1 0 0 0 0 -V -67 0 0 0 0 0 0 1 0 -P 212 310 -4.4770508064804587e-01 -2.2677035333779219e-01 -7.6463961108518649e-02 7.1090561865793789e-01 2 0 0 -95 0 -V -68 0 5.6216918348570056e-07 7.2291367578196445e-07 -9.0777412143587177e-09 9.8964114654623947e-07 0 2 0 -P 213 22 5.9588311079569842e-02 3.1727756685069239e-04 -3.4800397785193422e-03 5.9690687374414804e-02 1 0 0 0 0 -P 214 22 1.4273109276990548e-01 2.5985255780542243e-01 2.1304606071875768e-04 2.9647185706224466e-01 1 0 0 0 0 -V -69 0 6.8125667432656671e-05 6.2890706209118587e-04 5.0247106668746657e-03 5.0652922174674346e-03 0 2 0 -P 215 22 9.8238845130149910e-02 6.3480873157616224e-01 5.4797247598160750e+00 5.5172471795016902e+00 1 0 0 0 0 -P 216 22 -2.8990508836005870e-03 2.4532752483918649e-01 1.5522046022239493e+00 1.5714748251578743e+00 1 0 0 0 0 -V -70 0 0 0 0 0 0 1 0 -P 217 310 6.6329685576106023e-02 5.2124166663591132e-01 1.7596312276628496e+00 1.9026481515225759e+00 2 0 0 -96 0 -V -71 0 2.0742689619148677e-05 6.3533362024919996e-06 2.3603460236328297e-05 3.7557583695116871e-05 0 2 0 -P 219 22 -2.8722140438245738e-03 5.3180710552864677e-02 2.8023708625927783e-02 6.0181108610361057e-02 1 0 0 0 0 -P 218 22 1.4597052735358410e-01 -9.3507294289533575e-03 1.3481030230072180e-01 1.9891869847540525e-01 1 0 0 0 0 -V -72 0 3.7626593470519508e-05 -4.3890047303515130e-07 4.0744517881454282e-05 9.2468831779623026e-05 0 2 0 -P 220 22 2.4209710898237435e-02 6.4530876697482267e-02 1.6755104325429430e-02 7.0930090018820904e-02 1 0 0 0 0 -P 221 22 4.4433158429187325e-02 -6.5331570702425915e-02 5.7575850427009183e-02 9.7762458289636103e-02 1 0 0 0 0 -V -73 0 -5.9090765758585417e-06 7.5176856078054691e-05 -1.1325427956519639e-04 1.3699827373751485e-04 0 2 0 -P 222 22 -6.9815720431071801e-02 2.1207143051907135e-01 -3.9649262793632423e-01 4.5503288943720027e-01 1 0 0 0 0 -P 223 22 1.9918305730394971e-02 4.2273685389968030e-01 -5.5984897325031024e-01 7.0180770827741401e-01 1 0 0 0 0 -V -74 0 -3.8400536521541616e-05 -2.7401330134324772e-05 -1.5486817575355602e-05 8.1187982585110302e-05 0 2 0 -P 224 22 -1.1199399900954692e-01 -6.3644204944269311e-02 -5.7287936449814218e-03 1.2894207891051448e-01 1 0 0 0 0 -P 225 22 3.1301920974180393e-02 6.0650545011126985e-03 -2.6814071781105887e-02 4.1660407922362044e-02 1 0 0 0 0 -V -75 0 4.3814671092180448e-07 -1.3974893838171328e-07 -2.0973471270863068e-07 5.8518387156228786e-07 0 2 0 -P 226 22 1.7806955474676234e-01 -9.4868783602879855e-02 -1.0662617316560713e-01 2.2820603242233170e-01 1 0 0 0 0 -P 227 22 2.2495915020264604e-02 3.0897490934717161e-02 1.0618283268731158e-02 3.9666977175415293e-02 1 0 0 0 0 -V -76 0 2.7804071585685933e-06 -5.7140453624173457e-06 -5.1747808895705093e-06 9.6347181936474378e-06 0 2 0 -P 228 22 2.0833233827278030e-02 -3.0122302260885887e-03 -8.8160895834764164e-02 9.0639068381273363e-02 1 0 0 0 0 -P 229 22 5.3242834410132556e-02 -1.4922231314776616e-01 -4.9706474096342455e-02 1.6605069022525973e-01 1 0 0 0 0 -V -77 0 -1.6175287979886273e-04 -1.0545068944792832e-04 -3.7229203558581531e-04 4.3286321857002722e-04 0 2 0 -P 230 22 -5.3478825919207371e-02 -1.0851873814833554e-01 -1.5766115696858526e-01 1.9872931783628903e-01 1 0 0 0 0 -P 231 22 -1.5024839438700266e-01 -2.4296058517503317e-02 -3.1123943785453106e-01 3.4646048281349889e-01 1 0 0 0 0 -V -78 0 -3.6620022303480086e-05 5.9535711926116886e-05 -8.0470143919802894e-05 1.0759422931137554e-04 0 2 0 -P 232 22 -2.1948986096420983e-01 4.4633454790483357e-01 -6.1110621067207616e-01 7.8793472346475779e-01 1 0 0 0 0 -P 233 22 -1.1718985001359787e-01 1.0102902599004575e-01 -1.2872580179196724e-01 2.0127259397566213e-01 1 0 0 0 0 -V -79 0 0 0 0 0 0 1 0 -P 234 130 5.3882428291032602e-01 -2.9867949202148447e-01 -4.4165576592752496e+00 4.4870032352797464e+00 1 0 0 0 0 -V -80 0 1.6108302389358591e-05 7.2808056107108974e-06 -2.4608007243264460e-04 2.4675568109509100e-04 0 2 0 -P 235 22 2.6570728735577170e-01 1.4441211255928108e-01 -3.3133962149639591e+00 3.3271684204658607e+00 1 0 0 0 0 -P 236 22 2.1478963812303389e-01 7.2768110805940062e-02 -4.0269625247378293e+00 4.0333431495768082e+00 1 0 0 0 0 -V -81 0 -3.4512069906198131e-05 -2.1104058657373751e-05 -7.5667074252636459e-04 7.5781417751216165e-04 0 2 0 -P 237 22 -1.8517356431284140e-01 -4.7137481113194234e-02 -2.9821525694305429e+00 2.9882679161024384e+00 1 0 0 0 0 -P 238 22 -2.9214261570838684e-01 -2.4474036593162976e-01 -7.4829162988857805e+00 7.4926151302972830e+00 1 0 0 0 0 -V -82 0 -9.5308150963195587e+01 -3.2913415731351159e+02 -6.2754088553496240e+03 6.2888509826317713e+03 0 2 0 -P 239 2212 -4.7367594868960872e-01 -1.4369308345140306e+00 -2.6150068211133135e+01 2.6210600091706407e+01 1 0 0 0 0 -P 240 -211 5.0123644770492803e-03 -1.8153717996772661e-01 -4.7083166890535697e+00 4.7138844598514140e+00 1 0 0 0 0 -V -83 0 -1.4864983960191469e+00 1.9910370223202563e+01 -5.1673534907541507e+03 5.1675673089874317e+03 0 2 0 -P 241 -211 -1.8400658600957862e-01 -3.3309345305199931e-04 -2.5499791367105406e+01 2.5500837203618424e+01 1 0 0 0 0 -P 242 211 1.6662348476816261e-01 2.3316481548576576e-01 -3.4927202109991391e+01 3.4928656662315888e+01 1 0 0 0 0 -V -84 0 0 0 0 0 0 1 0 -P 243 130 -5.4517775501888455e-01 2.5850199343546754e-01 -8.9865234716413994e+01 8.9868638178901193e+01 1 0 0 0 0 -V -85 0 5.7272233467841676e-06 -3.4450735417619763e-06 -7.3122064282472015e-03 7.3122101156150102e-03 0 2 0 -P 244 22 1.6319053796774280e-01 -5.8337248729609763e-02 -2.3911426643792683e+02 2.3911432924133621e+02 1 0 0 0 0 -P 245 22 9.0908049065072161e-02 -9.4509648655208264e-02 -8.5304951917361947e+01 8.5305052710671873e+01 1 0 0 0 0 -V -86 0 4.3353964989961207e-06 -1.5079480348632104e-06 -7.1357955165588264e-03 7.1357976984551316e-03 0 2 0 -P 246 22 3.5587885991872119e-02 -7.9942846660418745e-02 -1.1802533908101961e+02 1.1802537152047441e+02 1 0 0 0 0 -P 247 22 1.4882567766781341e-01 1.5799677520724986e-02 -1.8550802425959540e+02 1.8550808463086122e+02 1 0 0 0 0 -V -87 0 7.0770676303012794e-05 6.5107162497295579e-05 -1.2831644845235862e-01 1.2831648848465474e-01 0 2 0 -P 248 22 1.8114845821850648e-01 2.3989936867935877e-01 -4.1762092695334275e+02 4.1762103514530997e+02 1 0 0 0 0 -P 249 22 1.1705464726993600e-01 3.4439652232437577e-02 -1.2306012080021719e+02 1.2306018129047324e+02 1 0 0 0 0 -V -88 0 -6.2417076750674925e-07 -3.9248716946618685e-05 4.4818235066635065e-03 4.4821098680430417e-03 0 2 0 -P 250 22 -1.3241355407539917e-02 -1.0246241139417403e-02 2.5096339222582625e-01 2.5152125792467273e-01 1 0 0 0 0 -P 251 22 1.0611185962569689e-02 -1.5514243362924734e-01 1.8634822130961478e+01 1.8635470952582644e+01 1 0 0 0 0 -V -89 0 1.3582222174720734e-04 4.2390673510491999e-05 3.2384657002777202e-03 3.2417730276224663e-03 0 2 0 -P 252 22 1.8270933871487663e-01 1.0969751742799415e-01 5.7283206751857012e+00 5.7322834896351260e+00 1 0 0 0 0 -P 253 22 3.4927699330329121e-01 5.6337602764626502e-02 6.9560506087998260e+00 6.9650418818353623e+00 1 0 0 0 0 -V -90 0 3.5279272098553364e-05 9.7126952709604466e-06 -6.0493628454770447e-05 1.4051777614489206e-04 0 2 0 -P 254 22 7.6896925214123460e-02 3.5622213305934604e-02 -7.1477115362458474e-02 1.1086504051655867e-01 1 0 0 0 0 -P 255 22 -3.7683019272935298e-02 -2.4826278578968294e-02 4.2367411948796398e-03 4.5324430780290477e-02 1 0 0 0 0 -V -91 0 4.0801170434363689e-05 6.7944764440148752e-06 -1.1007054009880686e-04 1.1819855786593737e-04 0 2 0 -P 257 22 3.3735132400291051e-01 1.1541367327565770e-01 -8.9640270848063985e-01 9.6470930728221138e-01 1 0 0 0 0 -P 256 22 1.2083898222827490e-01 -3.9112841475455871e-02 -3.3967101043474301e-01 3.6264068900774049e-01 1 0 0 0 0 -V -92 0 5.6114899634550859e-06 -8.6638734014096062e-06 -6.3950290668699704e-05 6.4931491257954731e-05 0 3 0 -P 258 22 3.7763112644272664e-02 -1.9003168856709707e-02 -5.6880931194233830e-01 5.7037812585643310e-01 1 0 0 0 0 -P 259 11 1.2719536651632049e-01 -2.1827911800405031e-01 -1.2119610200457922e+00 1.2380122005983156e+00 1 0 0 0 0 -P 260 -11 4.8036432108104722e-03 -2.4822349547580416e-02 -1.5389178821322286e-01 1.5595565589173888e-01 1 0 0 0 0 -V -93 0 -1.4381524495815356e+01 6.9413064099863986e+00 7.2054819134743707e+02 7.2203219119746802e+02 0 2 0 -P 261 111 9.2014239650662466e-02 1.3215606270806735e-01 2.2548623593500721e+00 2.2646314722759553e+00 2 0 0 -97 0 -P 262 111 -2.5683085044881010e-01 -5.2606596492694856e-02 6.0028373615088171e+00 6.0100753347077882e+00 2 0 0 -98 0 -V -94 0 -7.7825606900085225e+00 1.0584524547671682e+01 1.6951714868486924e+03 1.6953249167125366e+03 0 2 0 -P 263 111 -2.8943395680254397e-01 1.5615697178674603e-01 3.6631605117101834e+01 3.6633330043429979e+01 2 0 0 -99 0 -P 264 111 8.1692953034130586e-02 1.2637725332603228e-01 8.6178494344894041e+00 8.6202200334250758e+00 2 0 0 -100 0 -V -95 0 -1.3657774741477642e+01 -6.9178987190624293e+00 -2.3326238673673467e+00 2.1687019472789341e+01 0 2 0 -P 265 211 -2.9529816783651242e-01 -9.1672761735730857e-02 1.5454665700808420e-01 3.7278594027166795e-01 1 0 0 0 0 -P 266 -211 -1.5240691281153346e-01 -1.3509759160206133e-01 -2.3101061811660287e-01 3.3811967838627000e-01 1 0 0 0 0 -V -96 0 5.5767429881696557e+00 4.3823979931555911e+01 1.4794297644263381e+02 1.5996728532329485e+02 0 2 0 -P 267 111 1.6009544349417862e-01 1.5482137875335267e-01 1.0998242066687225e+00 1.1302358587132031e+00 2 0 0 -101 0 -P 268 111 -9.3765757918072581e-02 3.6642028788255870e-01 6.5980702099412725e-01 7.7241229280937296e-01 2 0 0 -102 0 -V -97 0 -1.4381499058109947e+01 6.9413429450597066e+00 7.2054881471317537e+02 7.2203281726391674e+02 0 2 0 -P 269 22 1.6608090838720359e-02 -2.6977769960342162e-02 2.3862848367837755e-01 2.4072220914569153e-01 1 0 0 0 0 -P 270 22 7.5406148811942117e-02 1.5913383266840953e-01 2.0162338756716944e+00 2.0239092631302644e+00 1 0 0 0 0 -V -98 0 -1.4381537586881612e+01 6.9413037285466928e+00 7.2054849732135528e+02 7.2203249754031685e+02 0 2 0 -P 271 22 -7.1650056340312379e-02 -3.1679388923150559e-02 3.2465350796190910e+00 3.2474801519722116e+00 1 0 0 0 0 -P 272 22 -1.8518079410849772e-01 -2.0927207569544297e-02 2.7563022818897256e+00 2.7625951827355784e+00 1 0 0 0 0 -V -99 0 -7.7826677342413646e+00 1.0584582300754398e+01 1.6951850346787774e+03 1.6953384651805682e+03 0 2 0 -P 273 22 -9.9605722022381674e-02 2.5022940238770892e-02 6.2018655777368492e+00 6.2027158641771596e+00 1 0 0 0 0 -P 274 22 -1.8982823478016234e-01 1.3113403154797515e-01 3.0429739539364984e+01 3.0430614179252810e+01 1 0 0 0 0 -V -100 0 -7.7825535982837781e+00 1.0584535518418377e+01 1.6951722349599286e+03 1.6953256650295632e+03 0 2 0 -P 275 22 7.7600359093490293e-02 2.3880769340730748e-03 3.6033115788038983e+00 3.6041478677469825e+00 1 0 0 0 0 -P 276 22 4.0925939406402977e-03 1.2398917639195919e-01 5.0145378556855054e+00 5.0160721656780911e+00 1 0 0 0 0 -V -101 0 5.5767505180503374e+00 4.3823987213377826e+01 1.4794302817143299e+02 1.5996733848246649e+02 0 2 0 -P 277 22 1.4877919418107663e-01 9.9270607473697217e-02 5.7038285808899925e-01 5.9776793735624267e-01 1 0 0 0 0 -P 278 22 1.1316249313101989e-02 5.5550771279655430e-02 5.2944134857972314e-01 5.3246792135695076e-01 1 0 0 0 0 -V -102 0 5.5767344317322669e+00 4.3824013368626339e+01 1.4794303665221980e+02 1.5996735580848653e+02 0 2 0 -P 279 22 -6.6030914697511434e-02 5.1578189162365749e-02 1.6923379462356794e-01 1.8883979595347436e-01 1 0 0 0 0 -P 280 22 -2.7734843220561155e-02 3.1484209872019292e-01 4.9057322637055928e-01 5.8357249685589085e-01 1 0 0 0 0 -E 4 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 189 0 0 -V -1 0 0 0 0 0 1 2 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 2 -9.2820880453940977e-02 1.6078548997780676e-01 2.3716619521660218e+03 2.3716619594325907e+03 3 0 0 -3 0 -P 31 2103 9.2820880453940977e-02 -1.6078548997780676e-01 4.2732759596864398e+03 4.2732760333322394e+03 2 0 0 -11 0 -V -2 0 0 0 0 0 1 3 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 21 2.8438240035156620e-01 -3.1515117320208030e-01 -3.8035697500337951e+03 3.8035697737212290e+03 3 0 0 -4 0 -P 14 2203 -1.4352353535702972e-01 4.4026544033137993e-01 -2.9147371774374851e+03 2.9147373162806402e+03 2 0 0 -9 0 -P 33 1 -1.4085886499453648e-01 -1.2511426712929963e-01 -8.4457632655431709e+01 8.4458487486809346e+01 2 0 0 -13 0 -V -3 0 0 0 0 0 0 5 0 -P 5 2 1.8330374025472010e-01 6.4045820926453234e-01 1.8525053358893920e+03 1.8525054556696041e+03 3 0 0 -5 0 -P 30 21 -5.9675894419355358e-01 -9.5050198748863479e-01 1.7993365505285936e+02 1.7993715512908133e+02 2 0 0 -11 0 -P 27 21 1.9372450554350890e-01 -5.2219821644400299e-01 1.2126803157754753e+02 1.2126931063898388e+02 2 0 0 -11 0 -P 28 21 -2.3795161344271451e-01 7.1609049465699426e-01 1.0167002308049599e+02 1.0167282330965078e+02 2 0 0 -11 0 -P 29 21 3.4192681965240401e-01 2.4291397251790178e-01 3.1944822354571826e+01 3.1947575751740445e+01 2 0 0 -11 0 -V -4 0 0 0 0 0 0 15 0 -P 6 -1 -5.7988882832211965e+00 -1.9327729931963271e+00 2.4200413742942017e+00 6.5741400211589776e+00 3 0 0 -5 0 -P 11 1 -9.8845705950266671e-01 -4.9594742583225058e+00 1.9044643416753072e+01 1.9707378698059269e+01 2 0 0 -9 0 -P 12 21 2.6044264833858743e-01 -3.1030363873699462e+00 1.1727671819750038e+01 1.2134041021282840e+01 2 0 0 -9 0 -P 13 21 7.5691010065949327e-01 -5.4011599026484958e-01 5.1524452837099819e+00 5.2356786174330239e+00 2 0 0 -9 0 -P 15 2 -1.8311360214351913e-01 -1.4805571719661075e+00 -2.1411903451828903e+03 2.1411908903188796e+03 2 0 0 -11 0 -P 16 21 4.3968109830755170e-01 -2.9544412986812052e-01 -3.1326029880598599e-01 6.1541751428642444e-01 2 0 0 -11 0 -P 17 21 2.7322936418785587e-01 -3.3048055802107390e-01 -7.6828223487860681e-01 8.7984616673284832e-01 2 0 0 -11 0 -P 18 21 2.9260573411497637e-01 1.3800589535119959e-01 -2.1582422861451325e+00 2.1823550372232328e+00 2 0 0 -11 0 -P 19 21 1.0223538075759215e+00 -1.4522275427264191e+00 -2.4692904014076042e+01 2.4756689616992229e+01 2 0 0 -11 0 -P 20 21 1.2063407328190996e+00 -7.4888083722587195e-01 -1.1210724096630058e+01 1.1300283856734948e+01 2 0 0 -11 0 -P 21 21 -5.4913410279006636e-01 1.0519596533332111e-01 3.4138908785026851e+00 3.4593735537367594e+00 2 0 0 -11 0 -P 22 21 6.4314231442077185e-01 3.1223541119268439e+00 7.5129505920112933e+00 8.1613205938051365e+00 2 0 0 -11 0 -P 23 21 1.2086144926726743e+00 3.4136643559921347e+00 6.3113339858338602e+00 7.2764544943269689e+00 2 0 0 -11 0 -P 24 21 2.4400337609788756e+00 6.9128514496625586e+00 2.4435124802319205e+01 2.5511107463705560e+01 2 0 0 -11 0 -P 32 -2 -7.1644398238490137e-01 8.6978994307757240e-01 -1.6189139599034304e+03 1.6189143857217191e+03 2 0 0 -13 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 1.3643288924243656e+01 -1.0581519988970058e+01 9.9183478070503759e+02 9.9198505034811774e+02 3 0 0 -6 0 -P 8 24 -1.9258873467210137e+01 9.2892052050382574e+00 8.6309059655865008e+02 8.6709454534264773e+02 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 1.3643288924243656e+01 -1.0581519988970058e+01 9.9183478070503759e+02 9.9198505034811762e+02 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 24 -1.9258873467210137e+01 9.2892052050382574e+00 8.6309059655865008e+02 8.6709454534264773e+02 2 0 0 -8 0 -V -8 0 0 0 0 0 0 9 0 -P 37 21 -1.0274145350843458e+00 -2.5975390684764665e-01 3.0272901154602945e+00 3.2074192370485028e+00 2 0 0 -15 0 -P 38 21 -2.6505880313310659e-01 5.5852304317418111e-01 2.2691371688433564e+00 2.3518477097595722e+00 2 0 0 -15 0 -P 39 21 2.3721188780666763e-01 2.7959374185858841e+00 2.6258281663350946e+01 2.6407780888220010e+01 2 0 0 -15 0 -P 40 21 3.3737992516561754e-01 1.9913397179993726e+00 1.8847206960760861e+01 1.8955117232772242e+01 2 0 0 -15 0 -P 41 21 9.3276664365375481e+00 2.1890146052654789e+01 2.2925649830527726e+02 2.3048801676129600e+02 2 0 0 -15 0 -P 34 4 -2.2700858926615656e+01 -1.6386334061858157e+01 3.4828459595439756e+02 3.4941129163080990e+02 2 0 0 -15 0 -P 35 21 -7.4503781777991165e+00 -8.5245909374436160e+00 1.2403122509900038e+02 1.2454686501555096e+02 2 0 0 -15 0 -P 36 21 -2.0027042250268927e+00 -1.0978633289287578e+00 2.1859513177439908e+01 2.1978499595209318e+01 2 0 0 -15 0 -P 42 -3 4.2852829509391617e+00 8.3218012077022046e+00 8.9256848114117304e+01 8.9747707271978427e+01 2 0 0 -15 0 -V -9 0 0 0 0 0 0 1 0 -P 51 92 -1.1462784586161573e-01 -8.1623611956259214e+00 -2.8788124169172720e+03 2.9518144146174154e+03 2 0 0 -10 0 -V -10 0 0 0 0 0 0 16 0 -P 52 -213 3.0616585418758002e-01 -2.5300431240125230e+00 1.2105798622634046e+01 1.2400251650786375e+01 2 0 0 -25 0 -P 53 213 -1.5404831881885364e-01 -1.7509696799112910e+00 5.5613068929310039e+00 5.8606722227440304e+00 2 0 0 -26 0 -P 54 223 -5.1151607297610935e-01 -1.4176238804041423e+00 5.9722475655096865e+00 6.2094845467470412e+00 2 0 0 -27 0 -P 62 211 5.4968392420735113e-01 1.4756230968950473e-01 -1.8166962247609939e+00 1.9088719207253644e+00 1 0 0 0 0 -P 63 113 -8.7881886984997282e-01 -4.1468335965402653e-01 -2.3734060373081363e+01 2.3767575310168922e+01 2 0 0 -32 0 -P 64 -211 4.4026111693685754e-01 6.5311510758350333e-01 -3.0666546764622510e+01 3.0676977677837161e+01 1 0 0 0 0 -P 65 211 4.5884509599108031e-02 -7.3354084743733938e-01 -5.8516434437769988e+02 5.8516482259132022e+02 1 0 0 0 0 -P 66 2214 -4.9851835496356245e-01 6.3248545172766857e-01 -1.2651382944982172e+03 1.2651390770952955e+03 2 0 0 -33 0 -P 67 111 2.6622991607876895e-01 4.8781176567800157e-02 -9.9923848265446202e+02 9.9923852842810425e+02 2 0 0 -34 0 -P 55 223 2.1595395219106844e-01 -1.8737275125004771e+00 7.0985598228311808e+00 7.3857993220666733e+00 2 0 0 -28 0 -P 56 113 -4.7677120078934182e-02 -1.0152067643004612e+00 2.4368651745900176e+00 2.7334250167134941e+00 2 0 0 -29 0 -P 57 -211 2.1984336478833474e-01 4.7825007839895524e-03 2.2352079885760445e+00 2.2503307566776294e+00 1 0 0 0 0 -P 58 211 -3.3498969538027201e-01 6.9648415330084867e-02 -1.1066497586449596e-01 3.8574022288587678e-01 1 0 0 0 0 -P 59 113 1.3909780482065315e-01 -3.3069396730450967e-01 -1.7329298988899207e+00 1.9541788674726714e+00 2 0 0 -30 0 -P 60 -211 -2.8599753074680223e-01 6.4799383066966643e-01 -3.4804982825084108e+00 3.5545799571290018e+00 1 0 0 0 0 -P 61 111 4.1381767414316867e-01 -3.0024085245337195e-01 -3.1398849342385469e+00 3.1840990307421961e+00 2 0 0 -31 0 -V -11 0 0 0 0 0 2 1 0 -P 25 21 -8.0759531061318546e-01 -3.3406171290107096e+00 1.9645698208408786e+00 3.9587204459677277e+00 2 0 0 -11 0 -P 26 21 8.0759531061318546e-01 3.3406171290107096e+00 -1.6092526703563814e+02 1.6096196290888045e+02 2 0 0 -11 0 -P 68 92 6.5875152481577262e+00 8.7100003117229168e+00 2.4104713366823571e+03 7.0983573201329691e+03 2 0 0 -12 0 -V -12 0 0 0 0 0 0 59 0 -P 71 -211 5.7620530575271300e-01 6.1421445206986870e-02 -3.3565202145218319e+02 3.3565255066790428e+02 1 0 0 0 0 -P 72 213 2.7459733564460981e-01 -4.6031431506940862e-01 -3.8571257213471154e+02 3.8571373935139655e+02 2 0 0 -37 0 -P 73 223 -5.7926526471571715e-01 -1.9525945624624185e-02 -8.4084403531743789e+01 8.4090163084732680e+01 2 0 0 -38 0 -P 74 -213 -7.3223666424297493e-02 3.6563852853395723e-01 -1.6810679233890163e+01 1.6836622172984743e+01 2 0 0 -39 0 -P 75 211 6.4146448505876097e-01 -6.3543078272220832e-01 -1.6981265495312542e+01 1.7005825665706883e+01 1 0 0 0 0 -P 76 -211 -1.5924531765929986e-01 1.8172819723608069e-02 -3.3819669982319928e-01 3.9943224111784109e-01 1 0 0 0 0 -P 77 331 -2.1878967436288869e-02 -2.4374301737778187e-01 -4.9639779751442061e+00 5.0614320935167747e+00 2 0 0 -40 0 -P 78 211 3.8160876729373411e-01 4.9824059133778851e-03 -3.9596912966490905e+00 3.9804880385830423e+00 1 0 0 0 0 -P 79 -211 8.2763694246190667e-01 -4.7171503722470046e-02 -5.3206398228798824e+00 5.3866405086107614e+00 1 0 0 0 0 -P 80 213 -9.2963436667075124e-03 -9.3331491880418926e-01 -5.7858987283250789e+00 5.9114736383731179e+00 2 0 0 -41 0 -P 69 323 2.6965373089886259e-02 -7.8436620352785036e-01 -6.3251215118341054e+02 6.3251328488303113e+02 2 0 0 -35 0 -P 70 -311 -5.1319872938403244e-01 -3.5703956672451648e-01 -6.6805309680723667e+02 6.6805357470741524e+02 2 0 0 -36 0 -P 81 111 6.8908760945870035e-02 -7.4336047790866958e-02 -3.2488145678831243e-01 3.6611723081706654e-01 2 0 0 -42 0 -P 82 311 8.0944838552899079e-01 -2.2401821592795629e-01 -2.2078412448770441e+00 2.4140483096622667e+00 2 0 0 -43 0 -P 83 -311 2.0825369584158310e-01 -2.9899435700293758e-01 -7.9825277911540260e+00 8.0063220390387535e+00 2 0 0 -44 0 -P 84 221 4.8600128562752809e-02 -2.9412330619311078e-01 -1.2557942635204722e+00 1.4019954445479514e+00 2 0 0 -45 0 -P 85 221 2.4321537069915566e-01 2.7897521224850303e-02 -2.0466306405757497e+00 2.1326815209210972e+00 2 0 0 -46 0 -P 86 113 -1.4242560875299726e-01 2.0098755311294011e-01 -9.3281640560500445e-01 1.1994889447031605e+00 2 0 0 -47 0 -P 87 -213 6.2995506969133175e-01 -5.3351618156801850e-01 -3.0268003767966487e+00 3.2877827626531611e+00 2 0 0 -48 0 -P 88 213 -4.4470514704296038e-01 2.6740585629040976e-02 -1.1790528923872898e+00 1.4643031719074535e+00 2 0 0 -49 0 -P 89 2112 -5.6465354678112804e-02 4.1816050990651149e-01 8.1955389032907600e-01 1.3162472839013655e+00 1 0 0 0 0 -P 90 -2212 -3.0528283048302102e-02 -4.0769401042822612e-01 1.4135481591829637e+00 1.7451691532440265e+00 1 0 0 0 0 -P 91 211 3.5221781060737328e-01 1.2088893752373304e+00 9.4706264424757203e-01 1.5817327033035504e+00 1 0 0 0 0 -P 92 -213 -2.9970119748950869e-01 5.7605009045793187e-01 1.9803888278068278e+00 2.1668024374217025e+00 2 0 0 -50 0 -P 93 323 5.3610594923405364e-01 1.5427556638110751e+00 4.1323311180303905e+00 4.5365775346539055e+00 2 0 0 -51 0 -P 94 -323 1.6764230184000011e+00 4.2661339477853915e+00 1.1422857768230408e+01 1.2340341966212989e+01 2 0 0 -52 0 -P 95 221 1.6521720620708708e-01 1.7305666862956806e+00 5.3795959051527014e+00 5.6799569880571275e+00 2 0 0 -53 0 -P 96 111 3.4091599571513381e-01 4.2578712335088759e-01 7.7507818540955942e-01 9.5733180478016111e-01 2 0 0 -54 0 -P 97 111 1.8636424148468736e-01 1.4599342475026946e+00 5.4281639450086834e+00 5.6257731070340586e+00 2 0 0 -55 0 -P 98 223 1.0069287360881967e+00 1.3509470596584172e+00 6.7582433289884696e+00 7.0091592256500288e+00 2 0 0 -56 0 -P 99 211 -3.4146209562673929e-01 1.5158950380356184e-01 5.2424511386917438e-01 6.5870210621260206e-01 1 0 0 0 0 -P 100 2112 -2.1154881148046689e-01 -1.0735068025792132e+00 7.0201326895106064e-01 1.6039900777454950e+00 1 0 0 0 0 -P 101 -2212 4.7469686931938010e-02 2.7754353367769968e-01 1.0039073590343506e+00 1.4026633105228941e+00 1 0 0 0 0 -P 102 111 1.7437178164815947e-01 -5.6048963315392508e-01 1.2589521396946993e-01 6.1532377851712639e-01 2 0 0 -57 0 -P 103 113 -3.1883151078144545e-01 -8.4606752962111467e-02 1.3914257241876302e-01 9.7271600632710076e-01 2 0 0 -58 0 -P 104 111 -1.1927545843921665e-01 -2.6335718259241964e-01 1.5515874628685319e-01 3.5479216107209921e-01 2 0 0 -59 0 -P 105 211 2.9312098402116255e-01 -6.2323282486230425e-01 -2.6684020281172388e-01 7.5167981481212065e-01 1 0 0 0 0 -P 106 1114 -4.4062914350054427e-01 2.4638804826043872e-01 -2.3241854935092199e+01 2.3280385473541951e+01 2 0 0 -60 0 -P 107 211 1.6813770838362588e-01 1.0298303158833499e-01 -3.2163782230045408e+00 3.2254370947351405e+00 1 0 0 0 0 -P 108 -2212 3.4457685450197267e-01 1.2186713305630190e+00 -5.3030716885410776e+01 5.3054134400573211e+01 1 0 0 0 0 -P 109 2214 1.2020287573136482e-01 3.7479987432403911e-01 -1.0966878173055145e+01 1.1045072570427967e+01 2 0 0 -61 0 -P 110 211 2.1009296797946009e-01 4.0052377799798089e-01 -1.6589816940124287e+01 1.6596567845300751e+01 1 0 0 0 0 -P 111 -2224 1.9658035577195881e-01 5.1914185814482328e-01 -3.0401238446225552e+01 3.0431387801714855e+01 2 0 0 -62 0 -P 112 323 -7.0406239463945264e-01 -1.9001858472173550e-01 -1.3737092732247977e+01 1.3787611740640099e+01 2 0 0 -63 0 -P 113 333 8.2916907628090986e-01 6.4319863963863733e-01 -5.3961951740099057e+00 5.5928926174794418e+00 2 0 0 -64 0 -P 114 -323 -4.4426618158725512e-01 -1.3800261314922405e-02 -1.0646399753717462e+00 1.4542717828265139e+00 2 0 0 -65 0 -P 115 213 4.6955864160020383e-01 -2.2138569541027434e-01 2.7803521001940323e-01 1.1481484305370542e+00 2 0 0 -66 0 -P 116 223 2.8564258373702955e-01 -7.0418327707246611e-02 -7.3250403882459747e-01 1.1252011437712499e+00 2 0 0 -67 0 -P 117 -213 -2.1467687225524573e-01 4.2741287912168013e-01 -7.4289123826589104e-04 1.0126576271927121e+00 2 0 0 -68 0 -P 118 113 1.7395230303924547e-01 -4.1608763137866295e-01 1.2004688227692567e+01 1.2053458057779810e+01 2 0 0 -69 0 -P 119 221 -1.9567117285229671e-01 2.8889340409270481e-01 5.3075723066706981e+00 5.3471274437637426e+00 2 0 0 -70 0 -P 120 111 -1.9087267842121336e-01 5.4252206762536037e-01 6.2318609039251946e+01 6.2321408960009578e+01 2 0 0 -71 0 -P 121 323 1.3070310306706950e-01 -6.1697493783128776e-01 2.9221144136450206e+01 2.9240305127864819e+01 2 0 0 -72 0 -P 122 -311 -4.9885948856357186e-02 1.2822300091927889e-02 4.5329270329114166e+00 4.5604556717363289e+00 2 0 0 -73 0 -P 123 2112 -4.7863725043095502e-02 -1.0825222107858737e-01 1.4718621532001902e+02 1.4718926177372941e+02 1 0 0 0 0 -P 124 -2112 1.9344894382294975e-01 -6.5018197886060145e-03 2.1812090513132770e+02 2.1812301463133616e+02 1 0 0 0 0 -P 125 313 -5.9342554539725090e-01 -3.3850796627627300e-01 5.9882469556753961e+02 5.9882576075663053e+02 2 0 0 -74 0 -P 126 3224 3.5223036811653632e-02 -3.4414941922204685e-02 2.5172332877548356e+03 2.5172336781781446e+03 2 0 0 -75 0 -P 127 -213 1.1663718569999987e-01 -2.4641154449404332e-01 1.1115119089591544e+03 1.1115121550661386e+03 2 0 0 -76 0 -V -13 0 0 0 0 0 0 1 0 -P 128 92 -8.5730284737943785e-01 7.4467567594827277e-01 -1.7033715925588622e+03 1.7033728732085285e+03 2 0 0 -14 0 -V -14 0 0 0 0 0 0 2 0 -P 129 113 -7.8533622992976027e-01 8.6523895857592903e-01 -1.6750124441451264e+03 1.6750130337654648e+03 2 0 0 -77 0 -P 130 -211 -7.1966617449677556e-02 -1.2056328262765621e-01 -2.8359148413735429e+01 2.8359839443063105e+01 1 0 0 0 0 -V -15 0 0 0 0 0 0 1 0 -P 131 92 -1.9258873467210122e+01 9.2892052050382539e+00 8.6309059655864780e+02 8.6709454534264501e+02 2 0 0 -16 0 -V -16 0 0 0 0 0 0 12 0 -P 132 423 -1.9137366351719628e+01 -1.4131846763827689e+01 2.9493587085754592e+02 2.9590056209345943e+02 2 0 0 -78 0 -P 133 211 -4.5604000871635657e+00 -4.7377185099919146e+00 7.2689922512815102e+01 7.2986899785775833e+01 1 0 0 0 0 -P 134 113 -5.1617104439380377e+00 -3.6881619942643642e+00 7.3158252581438703e+01 7.3436922903472933e+01 2 0 0 -79 0 -P 135 111 -1.0963849349911059e-01 -3.7173119868868731e-02 3.1818045250357909e+00 3.1867698498692643e+00 2 0 0 -80 0 -P 136 -213 -1.8575628946181175e+00 -2.6189368213267570e+00 3.1084349603980588e+01 3.1260260648800589e+01 2 0 0 -81 0 -P 137 113 -1.9702196225596913e+00 -7.5035350425204206e-01 1.8597051073293592e+01 1.8730245499430811e+01 2 0 0 -82 0 -P 138 331 -1.8481053319477775e-01 -3.7946619601020762e-02 3.7006231730721044e+00 3.8272144972627773e+00 2 0 0 -83 0 -P 139 323 5.4756376576753629e-01 3.2204856220182068e+00 3.6360592290988627e+01 3.6518541749074082e+01 2 0 0 -84 0 -P 140 -323 1.3311259853615089e+00 3.7379512567484707e+00 3.4112393141607136e+01 3.4353366987544497e+01 2 0 0 -85 0 -P 141 113 4.4805357982732119e-01 3.0030852094344707e+00 2.9362369493599097e+01 2.9533424673175375e+01 2 0 0 -86 0 -P 142 213 4.7752867246856443e+00 1.0891165458689070e+01 1.1393626861842178e+02 1.1455865944632977e+02 2 0 0 -87 0 -P 143 313 6.6208049038407921e+00 1.4438654991280693e+01 1.5197109868684942e+02 1.5280167720844955e+02 2 0 0 -88 0 -V -17 0 0 0 0 0 2 1 0 -P 43 2 2.1378197802742376e+00 2.3547451315414101e+00 -5.4651779492327037e+00 6.3232324063115968e+00 2 0 0 -17 0 -P 44 -2 -2.1378197802742376e+00 -2.3547451315414101e+00 -2.4068773120863955e+01 2.4277992865784292e+01 2 0 0 -17 0 -P 144 92 0 0 -2.9533951070096659e+01 3.0601225272095888e+01 2 0 0 -18 0 -V -18 0 0 0 0 0 0 4 0 -P 145 323 1.8776251777286357e+00 1.8318837713470195e+00 -4.9994852273624932e+00 5.7335457349190850e+00 2 0 0 -89 0 -P 146 -321 3.7073773471981229e-02 1.7044744097734246e-01 -1.6359966049568000e+00 1.7177172777396612e+00 1 0 0 0 0 -P 147 323 -4.7852083980675375e-01 -6.4107933193332411e-01 -5.4042107535842536e+00 5.5372300715771994e+00 2 0 0 -90 0 -P 148 -321 -1.4361781113938632e+00 -1.3612518803910378e+00 -1.7494258484193114e+01 1.7612732187859947e+01 1 0 0 0 0 -V -19 0 0 0 0 0 2 1 0 -P 45 1 1.8673293224089542e+00 2.3063057798131541e+00 2.4390505988349268e+01 2.4570363194630016e+01 2 0 0 -19 0 -P 46 -1 -1.8673293224089542e+00 -2.3063057798131541e+00 -3.0519906661080940e+00 4.2568312362999272e+00 2 0 0 -19 0 -P 149 92 0 0 2.1338515322241175e+01 2.8827194430929943e+01 2 0 0 -20 0 -V -20 0 0 0 0 0 0 8 0 -P 150 -211 1.1192865003182519e+00 9.7257533806658769e-01 1.0060654115125574e+01 1.0170297245759494e+01 1 0 0 0 0 -P 151 213 -2.0771851785387677e-01 4.2519322630392231e-01 6.3745975039723319e+00 6.4406040423465116e+00 2 0 0 -91 0 -P 152 311 3.6602657683902218e-01 2.7637537539729494e-02 1.1512728067232807e+00 1.3068449765883683e+00 2 0 0 -92 0 -P 153 -313 6.6372648031348541e-02 5.1378838214452516e-01 4.7850741764275320e+00 4.9115056800953063e+00 2 0 0 -93 0 -P 154 111 1.4261163265033819e-01 2.7035572090208759e-01 1.0157832817158920e-01 3.4923924571247367e-01 2 0 0 -94 0 -P 155 -213 2.4227172397104807e-01 -2.6403356349582480e-01 1.3501615848246171e+00 1.6600803924695697e+00 2 0 0 -95 0 -P 156 223 -1.1140200512928606e+00 -8.1846412592718654e-01 -1.3130036485215084e+00 2.0628775198106455e+00 2 0 0 -96 0 -P 157 213 -6.1483051266327160e-01 -1.1270525155338409e+00 -1.1718195444822426e+00 1.9257453281475732e+00 2 0 0 -97 0 -V -21 0 0 0 0 0 2 1 0 -P 47 21 -1.6032500697232532e-01 4.0174652936366986e+00 7.5678264791499856e+00 8.5695816182565032e+00 2 0 0 -21 0 -P 48 21 1.6032500697232532e-01 -4.0174652936366986e+00 2.9067715926331368e+02 2.9070496495396026e+02 2 0 0 -21 0 -P 158 92 0 0 2.9824498574246365e+02 2.9927454657221676e+02 2 0 0 -22 0 -V -22 0 0 0 0 0 0 11 0 -P 159 2112 1.7964317510379571e-01 2.3175583066793864e-01 5.5679324197099680e+00 5.6542590717765355e+00 1 0 0 0 0 -P 160 -2212 -1.5090219905010202e-01 6.0109050142401987e-01 3.2508753296939252e+00 3.4398578846651389e+00 1 0 0 0 0 -P 161 213 -1.3185920968150541e-01 5.1253454596483206e-01 2.8515148690980490e+00 3.0007314728969532e+00 2 0 0 -98 0 -P 162 2112 -2.9589184870575446e-02 8.1735278132525635e-01 3.9016671878094096e+00 4.0956977083678945e+00 1 0 0 0 0 -P 163 111 -1.6746154439354902e-02 7.6768893592516851e-01 2.2228509364031699e+00 2.3556130034237106e+00 2 0 0 -99 0 -P 164 -2112 1.5035799035598119e-01 2.6606398705642531e-01 4.0650357319587354e+00 4.1833843784038702e+00 1 0 0 0 0 -P 165 -213 1.6067245661882737e-01 -1.2470285603911700e-01 4.7366324423320982e+00 4.8109860944668297e+00 2 0 0 -100 0 -P 166 3222 -3.8764262791963577e-01 -4.9242591697810201e-01 5.0258807822997092e+01 5.0276785049131227e+01 2 0 0 -101 0 -P 167 -3322 -1.2309526187710051e-01 -2.5079778996359208e+00 1.8364860958891464e+02 1.8367048176432749e+02 2 0 0 -102 0 -P 168 -313 2.7382092931236746e-01 1.3620019933979283e-01 1.7228910752887057e+01 1.7258673294130080e+01 2 0 0 -103 0 -P 169 223 7.5340086447302335e-02 -2.0758010905029387e-01 2.0512148660659509e+01 2.0528076850627027e+01 2 0 0 -104 0 -V -23 0 0 0 0 0 2 1 0 -P 49 21 -2.6546407805414689e+00 1.5019300198250121e+00 2.4952404169620731e+01 2.5138126129492459e+01 2 0 0 -23 0 -P 50 21 2.6546407805414689e+00 -1.5019300198250121e+00 1.7863101526357177e+00 3.5346591659698707e+00 2 0 0 -23 0 -P 170 92 0 0 2.6738714322256449e+01 2.8672785295462329e+01 2 0 0 -24 0 -V -24 0 0 0 0 0 0 9 0 -P 171 113 2.2244165301205804e-01 3.1494817743372011e-01 1.4782187353346177e+00 1.6863066829397060e+00 2 0 0 -105 0 -P 172 111 3.4623449760310282e-01 -1.0264048500571971e-01 9.3540089980756547e-01 1.0117350642601477e+00 2 0 0 -106 0 -P 173 -3222 -8.2595480421942175e-02 1.6978619896754682e-01 3.9520196416308315e+00 4.1314294876570097e+00 2 0 0 -107 0 -P 174 3222 -6.9310081431249626e-01 6.6149599980748386e-01 1.1548527819325548e+01 1.1649079855816854e+01 2 0 0 -108 0 -P 175 -211 -1.7560637096079756e-01 -5.6685470235918856e-01 2.1835043271014025e+00 2.2670096564592077e+00 1 0 0 0 0 -P 176 -2112 -1.9019072817495811e-01 1.9359363989648683e-02 1.6880525050363864e+00 1.9413552850309042e+00 1 0 0 0 0 -P 177 223 2.4540057371541862e-01 -2.8376756848088225e-01 2.3218440550203154e+00 2.4773736223134661e+00 2 0 0 -109 0 -P 178 3212 8.6531980859782553e-01 -4.4081003261827684e-01 1.9558781200763713e+00 2.4881170750393125e+00 2 0 0 -110 0 -P 179 321 -5.3790313905821097e-01 2.2848304826566801e-01 6.7526821892341016e-01 1.0203785659457194e+00 1 0 0 0 0 -V -25 0 0 0 0 0 0 2 0 -P 180 -211 -1.4955554398415169e-01 -5.6951699534149869e-01 4.0889018315438204e+00 4.1334385735875658e+00 1 0 0 0 0 -P 181 111 4.5572139817173168e-01 -1.9605261286710240e+00 8.0168967910902253e+00 8.2668130771988633e+00 2 0 0 -111 0 -V -26 0 0 0 0 0 0 2 0 -P 182 211 1.8489337684983235e-02 -7.6473513145543626e-01 1.7001134900440293e+00 1.8694992219361533e+00 1 0 0 0 0 -P 183 111 -1.7253765650383687e-01 -9.8623454845585490e-01 3.8611934028869754e+00 3.9911730008078652e+00 2 0 0 -112 0 -V -27 0 0 0 0 0 0 3 0 -P 184 -211 -2.5172946512403243e-02 -7.7548570243937753e-01 3.0753336193267011e+00 3.1747706069864448e+00 1 0 0 0 0 -P 185 211 -3.7700741046237424e-01 -6.0130878108935260e-01 2.2322285260513164e+00 2.3464933017539047e+00 1 0 0 0 0 -P 186 111 -1.0933571600133193e-01 -4.0829396875412233e-02 6.6468542013166909e-01 6.8822063800669864e-01 2 0 0 -113 0 -V -28 0 0 0 0 0 0 3 0 -P 187 -211 1.1038114308213799e-01 -1.2888105525180060e-01 6.0684971341572025e-01 6.4539963024755354e-01 1 0 0 0 0 -P 188 211 8.5502102732195953e-02 -1.0434887961818418e+00 3.1241617499531409e+00 3.2978850650225713e+00 1 0 0 0 0 -P 189 111 2.0070706376734491e-02 -7.0135766106683461e-01 3.3675483594623192e+00 3.4425146267966618e+00 2 0 0 -114 0 -V -29 0 0 0 0 0 0 2 0 -P 190 211 6.0515548805711243e-02 -7.5842708879401355e-01 1.0059791141196675e+00 1.2689946980223401e+00 1 0 0 0 0 -P 191 -211 -1.0819266888464543e-01 -2.5677967550644770e-01 1.4308860604703502e+00 1.4644303186911753e+00 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 192 211 3.2630837518369948e-01 1.2528291854798834e-01 -9.1079671575371779e-01 9.8549652851884084e-01 1 0 0 0 0 -P 193 -211 -1.8721057036304636e-01 -4.5597688585249807e-01 -8.2213318313620309e-01 9.6868233895383105e-01 1 0 0 0 0 -V -31 0 1.9363804248396288e-05 -1.4049194748185942e-05 -1.4692489235742219e-04 1.4899380618883134e-04 0 2 0 -P 194 22 2.3644587135507725e-01 -1.2558235327998157e-01 -1.9632153706257331e+00 1.9813864259647422e+00 1 0 0 0 0 -P 195 22 1.7737180278809139e-01 -1.7465849917339041e-01 -1.1766695636128137e+00 1.2027126047774541e+00 1 0 0 0 0 -V -32 0 0 0 0 0 0 2 0 -P 196 -211 -7.0389269565655677e-01 -3.1919107716430056e-02 -1.8774282217689745e+01 1.8788018424804608e+01 1 0 0 0 0 -P 197 211 -1.7492617419341611e-01 -3.8276425193759644e-01 -4.9597781553916187e+00 4.9795568853643175e+00 1 0 0 0 0 -V -33 0 0 0 0 0 0 2 0 -P 198 2212 -5.1743590343267754e-01 4.2825914755438255e-01 -1.0893061128262852e+03 1.0893067239933462e+03 1 0 0 0 0 -P 199 111 1.8917548469115111e-02 2.0422630417328605e-01 -1.7583218167193181e+02 1.7583235310194934e+02 2 0 0 -115 0 -V -34 0 3.2334201386706010e-05 5.9245798152790670e-06 -1.2135968341715789e-01 1.2135968897646612e-01 0 2 0 -P 200 22 1.6703387848561871e-01 5.7069751590140542e-02 -4.1826167954092972e+02 4.1826171678707635e+02 1 0 0 0 0 -P 201 22 9.9196037593150224e-02 -8.2885750223403894e-03 -5.8097680311353236e+02 5.8097681164102789e+02 1 0 0 0 0 -V -35 0 0 0 0 0 0 2 0 -P 202 311 -2.5901715207887410e-01 -6.0542629745708865e-01 -4.0542979190677522e+02 4.0543063213315133e+02 2 0 0 -116 0 -P 203 211 2.8598252516876038e-01 -1.7893990607076177e-01 -2.2708235927663534e+02 2.2708265274987977e+02 1 0 0 0 0 -V -36 0 0 0 0 0 0 1 0 -P 204 130 -5.1319872938403244e-01 -3.5703956672451648e-01 -6.6805309680723667e+02 6.6805357470741524e+02 1 0 0 0 0 -V -37 0 0 0 0 0 0 2 0 -P 205 211 5.0113066374848658e-01 -1.7917812277643974e-01 -1.9423655414467504e+02 1.9423733339016991e+02 1 0 0 0 0 -P 206 111 -2.2653332810387683e-01 -2.8113619229296893e-01 -1.9147601799003647e+02 1.9147640596122679e+02 2 0 0 -117 0 -V -38 0 0 0 0 0 0 3 0 -P 207 211 -1.2953975496923764e-01 -6.3100220954130662e-02 -6.4093109045566621e+00 6.4124494728746901e+00 1 0 0 0 0 -P 208 -211 -6.5502456608810988e-02 -1.0670875197924584e-01 -3.2314799704027415e+01 3.2315343677978753e+01 1 0 0 0 0 -P 209 111 -3.8422305313766852e-01 1.5028302730875231e-01 -4.5360292923159719e+01 4.5362369933879265e+01 2 0 0 -118 0 -V -39 0 0 0 0 0 0 2 0 -P 210 -211 2.5359517635261491e-01 -7.4343477557339457e-02 -3.1117407054990411e+00 3.1260594155076933e+00 1 0 0 0 0 -P 211 111 -3.2681884277691242e-01 4.3998200609129667e-01 -1.3698938528391123e+01 1.3710562757477057e+01 2 0 0 -119 0 -V -40 0 0 0 0 0 0 3 0 -P 212 111 -7.8940863078874490e-02 -1.7382885204461537e-01 -1.5695053597983348e+00 1.5868253856371490e+00 2 0 0 -120 0 -P 213 111 -7.8383943780866334e-03 -2.5856424870530047e-02 -1.3381901875049935e+00 1.3452518624659702e+00 2 0 0 -121 0 -P 214 221 6.4900290020672255e-02 -4.4057740462636476e-02 -2.0562824278408782e+00 2.1293548454136566e+00 2 0 0 -122 0 -V -41 0 0 0 0 0 0 2 0 -P 215 211 -1.8048202178105321e-02 -1.0093102102911666e+00 -5.4042555680151514e+00 5.4994991469698977e+00 1 0 0 0 0 -P 216 111 8.7518585113978108e-03 7.5995291486977395e-02 -3.8164316030992712e-01 4.1197449140322134e-01 2 0 0 -123 0 -V -42 0 6.0737920994850714e-07 -6.5521668592152024e-07 -2.8635871526700522e-06 3.2270496719116053e-06 0 2 0 -P 217 22 3.6690098624894099e-02 3.2104328088457951e-02 -5.1174608902313651e-02 7.0680208088407345e-02 1 0 0 0 0 -P 218 22 3.2218662320975935e-02 -1.0644037587932491e-01 -2.7370684788599875e-01 2.9543702272865918e-01 1 0 0 0 0 -V -43 0 0 0 0 0 0 1 0 -P 219 310 8.0944838552899079e-01 -2.2401821592795629e-01 -2.2078412448770441e+00 2.4140483096622671e+00 2 0 0 -124 0 -V -44 0 0 0 0 0 0 1 0 -P 220 130 2.0825369584158310e-01 -2.9899435700293758e-01 -7.9825277911540260e+00 8.0063220390387517e+00 1 0 0 0 0 -V -45 0 0 0 0 0 0 3 0 -P 221 -211 2.0336907664022314e-02 -6.8795029656673473e-02 -1.2781071680927664e-01 2.0238999518281200e-01 1 0 0 0 0 -P 222 211 -6.8179243585667487e-02 -8.9502122733327735e-02 -3.5872734119120031e-01 4.0102883867347155e-01 1 0 0 0 0 -P 223 111 9.6442464484397972e-02 -1.3582615380310958e-01 -7.6925620551999541e-01 7.9857661069166797e-01 2 0 0 -125 0 -V -46 0 0 0 0 0 0 3 0 -P 224 111 2.6160440603946145e-01 3.8824481999259884e-02 -1.0269049807729116e+00 1.0689703670345518e+00 2 0 0 -126 0 -P 225 111 -1.7096717800365663e-02 2.3430492041171140e-02 -2.9482920802539647e-01 3.2555360237865472e-01 2 0 0 -127 0 -P 226 111 -1.2923175399401406e-03 -3.4357452815580718e-02 -7.2489645177744166e-01 7.3815755150789031e-01 2 0 0 -128 0 -V -47 0 0 0 0 0 0 2 0 -P 227 -211 4.0983186168897998e-02 4.1316543328976252e-01 -4.9254568519727593e-01 6.5914060239111794e-01 1 0 0 0 0 -P 228 211 -1.8340879492189527e-01 -2.1217788017682243e-01 -4.4027072040772847e-01 5.4034834231204232e-01 1 0 0 0 0 -V -48 0 0 0 0 0 0 2 0 -P 229 -211 1.4311547145631315e-01 -6.9370880998933593e-01 -2.0936733660680962e+00 2.2146471276277619e+00 1 0 0 0 0 -P 230 111 4.8683959823501871e-01 1.6019262842131735e-01 -9.3312701072855297e-01 1.0731356350254004e+00 2 0 0 -129 0 -V -49 0 0 0 0 0 0 2 0 -P 231 211 -5.9605235147848823e-01 3.4238597371628854e-03 -1.0703021959451100e+00 1.2330112343622257e+00 1 0 0 0 0 -P 232 111 1.5134720443552790e-01 2.3316725891878089e-02 -1.0875069644217970e-01 2.3129193754522784e-01 2 0 0 -130 0 -V -50 0 0 0 0 0 0 2 0 -P 233 -211 -1.9269073508976683e-01 1.6767418600061659e-01 1.4340467581323610e+00 1.4632888441624703e+00 1 0 0 0 0 -P 234 111 -1.0701046239974184e-01 4.0837590445731536e-01 5.4634206967446686e-01 7.0351359325923257e-01 2 0 0 -131 0 -V -51 0 0 0 0 0 0 2 0 -P 235 311 6.3943275598408489e-01 1.2113139656898524e+00 3.6184751514319600e+00 3.9009221503807563e+00 2 0 0 -132 0 -P 236 211 -1.0332680675003121e-01 3.3144169812122276e-01 5.1385596659843058e-01 6.3565538427314960e-01 1 0 0 0 0 -V -52 0 0 0 0 0 0 2 0 -P 237 -321 6.0112350196689945e-01 1.3754851910638788e+00 3.6979799224894263e+00 4.0214432039490360e+00 1 0 0 0 0 -P 238 111 1.0752995164331018e+00 2.8906487567215131e+00 7.7248778457409824e+00 8.3188987622639523e+00 2 0 0 -133 0 -V -53 0 0 0 0 0 0 3 0 -P 239 111 2.8770026660581679e-03 5.7529118234130172e-01 2.0142417965499644e+00 2.0991326392090666e+00 2 0 0 -134 0 -P 240 111 -3.1779121290212139e-02 5.5540485052736488e-01 1.4046209535474936e+00 1.5167940150475190e+00 2 0 0 -135 0 -P 241 111 1.9411932483124106e-01 5.9987065342701418e-01 1.9607331550552445e+00 2.0640303338005435e+00 2 0 0 -136 0 -V -54 0 5.4954611087139647e-05 6.8635576106003366e-05 1.2494022215636810e-04 1.5431894564725410e-04 0 2 0 -P 242 22 2.7045544910683439e-01 2.8952946094327370e-01 4.6146839849127375e-01 6.0821586752713319e-01 1 0 0 0 0 -P 243 22 7.0460546608299382e-02 1.3625766240761386e-01 3.1360978691828562e-01 3.4911593725302786e-01 1 0 0 0 0 -V -55 0 9.6240369574681310e-05 7.5392473585625148e-04 2.8031584815723328e-03 2.9052058412651406e-03 0 2 0 -P 244 22 8.6498389738220507e-02 2.8849502818976608e-01 1.1962677619018982e+00 1.2335995747742843e+00 1 0 0 0 0 -P 245 22 9.9865851746466866e-02 1.1714392193129286e+00 4.2318961831067856e+00 4.3921735322597746e+00 1 0 0 0 0 -V -56 0 0 0 0 0 0 3 0 -P 246 -211 4.9508715212394944e-01 7.9494983361117566e-01 2.6140269814839323e+00 2.7802290141250303e+00 1 0 0 0 0 -P 247 211 2.9246050150768399e-01 2.7688149449938243e-01 1.5693519673596861e+00 1.6262047501142205e+00 1 0 0 0 0 -P 248 111 2.1938108245656321e-01 2.7911573154785918e-01 2.5748643801448514e+00 2.6027254614107957e+00 2 0 0 -137 0 -V -57 0 8.3373127297123383e-06 -2.6798931049491529e-05 6.0194818227837910e-06 2.9420739543035361e-05 0 2 0 -P 249 22 7.9399386678645364e-02 -1.3411768106791125e-01 -1.4409354255737384e-02 1.5652298383958299e-01 1 0 0 0 0 -P 250 22 9.4972394969514082e-02 -4.2637195208601375e-01 1.4030456822520732e-01 4.5880079467754337e-01 1 0 0 0 0 -V -58 0 0 0 0 0 0 2 0 -P 251 -211 -2.5832734309574518e-02 -4.0424593103120743e-01 -1.2480732107260117e-01 4.4624965569792446e-01 1 0 0 0 0 -P 252 211 -2.9299877647187089e-01 3.1963917806909597e-01 2.6394989349136422e-01 5.2646635062917657e-01 1 0 0 0 0 -V -59 0 -5.4768382651334292e-05 -1.2092719775668951e-04 7.1245113617988620e-05 1.6291191074476475e-04 0 2 0 -P 253 22 1.7493171764315394e-02 -1.3904813024503002e-02 -1.1450675993148609e-02 2.5109218711905378e-02 1 0 0 0 0 -P 254 22 -1.3676863020353203e-01 -2.4945236956791661e-01 1.6660942228000178e-01 3.2968294236019380e-01 1 0 0 0 0 -V -60 0 0 0 0 0 0 2 0 -P 256 -211 -2.4924753882325268e-01 -5.7307336326951931e-02 -8.0502092127927884e+00 8.0554799125216761e+00 1 0 0 0 0 -P 255 2112 -1.9138160467729162e-01 3.0369538458739065e-01 -1.5191645722299414e+01 1.5224905561020293e+01 1 0 0 0 0 -V -61 0 0 0 0 0 0 2 0 -P 257 2112 8.3027060514221970e-02 1.0739718499538585e-01 -9.4824633945358805e+00 9.5298652383827278e+00 1 0 0 0 0 -P 258 211 3.7175815217142839e-02 2.6740268932865324e-01 -1.4844147785192647e+00 1.5152073320452397e+00 1 0 0 0 0 -V -62 0 0 0 0 0 0 2 0 -P 259 -2212 1.9997999199392005e-01 5.2159092633940130e-01 -2.9420638804998770e+01 2.9440896511124400e+01 1 0 0 0 0 -P 260 -211 -3.3996362219612538e-03 -2.4490681945780598e-03 -9.8059964122678123e-01 9.9049129059046015e-01 1 0 0 0 0 -V -63 0 0 0 0 0 0 2 0 -P 261 311 -3.7995269441653340e-01 1.6535799088428479e-01 -6.1483584577768262e+00 6.1823696483920711e+00 2 0 0 -138 0 -P 262 211 -3.2410970022291918e-01 -3.5537657560602026e-01 -7.5887342744711495e+00 7.6052420922480319e+00 1 0 0 0 0 -V -64 0 0 0 0 0 0 2 0 -P 263 -321 2.6631810341032058e-01 1.7773913266626884e-01 -2.2183705565824408e+00 2.2950654495671614e+00 1 0 0 0 0 -P 264 321 5.6285097287058927e-01 4.6545950697236843e-01 -3.1778246174274649e+00 3.2978271679122821e+00 1 0 0 0 0 -V -65 0 0 0 0 0 0 2 0 -P 265 -311 -3.9453058218165832e-01 2.5328290511276014e-01 -7.7255254295189668e-01 1.0316586018738949e+00 2 0 0 -139 0 -P 266 -211 -4.9735599405596756e-02 -2.6708316642768254e-01 -2.9208743241984952e-01 4.2261318095261929e-01 1 0 0 0 0 -V -66 0 0 0 0 0 0 2 0 -P 267 211 4.6420703636526520e-02 -3.1935185958196421e-01 -2.6465407149408987e-01 4.4007051071727998e-01 1 0 0 0 0 -P 268 111 4.2313793796367721e-01 9.7966164171689893e-02 5.4268928151349305e-01 7.0807791981977419e-01 2 0 0 -140 0 -V -67 0 0 0 0 0 0 3 0 -P 269 -211 1.6386205957906591e-01 -2.8797173352374816e-01 -3.9627447208558847e-01 5.3506236646289917e-01 1 0 0 0 0 -P 270 211 -1.4271113813788025e-02 -1.6982856077004688e-02 -5.1470645008149614e-03 1.4141555523701732e-01 1 0 0 0 0 -P 271 111 1.3605163797175168e-01 2.3453626189350621e-01 -3.3108250223819413e-01 4.4872322207133397e-01 2 0 0 -141 0 -V -68 0 0 0 0 0 0 2 0 -P 272 -211 -3.7696463658742585e-01 4.6783841638839324e-01 2.6462046064315636e-01 6.7117724497876563e-01 1 0 0 0 0 -P 273 111 1.6228776433218009e-01 -4.0425537266713100e-02 -2.6536335188142224e-01 3.4148038221394672e-01 2 0 0 -142 0 -V -69 0 0 0 0 0 0 2 0 -P 274 -211 4.5889677578228821e-01 -5.1523219110723040e-01 9.6187324222664792e+00 9.6444566284284221e+00 1 0 0 0 0 -P 275 211 -2.8494447274304274e-01 9.9144559728567477e-02 2.3859558054260877e+00 2.4090014293513886e+00 1 0 0 0 0 -V -70 0 0 0 0 0 0 3 0 -P 276 111 -2.9460756327081435e-03 9.2886448846853601e-03 1.7698034532282698e+00 1.7749700903801551e+00 2 0 0 -143 0 -P 277 111 -1.4355787675334006e-01 2.4399905742791486e-01 2.9250863072903583e+00 2.9418521223034277e+00 2 0 0 -144 0 -P 278 111 -4.9167220466248530e-02 3.5605701780104602e-02 6.1268254615206985e-01 6.3030523108015979e-01 2 0 0 -145 0 -V -71 0 -7.5868240100300521e-05 2.1564214861322876e-04 2.4770455533049511e-02 2.4771568448014918e-02 0 2 0 -P 279 22 1.2440521239830230e-02 1.3976757843603155e-02 4.1819631103660040e+00 4.1820049704406896e+00 1 0 0 0 0 -P 280 22 -2.0331319966104358e-01 5.2854530978175718e-01 5.8136645928885947e+01 5.8139403989568891e+01 1 0 0 0 0 -V -72 0 0 0 0 0 0 2 0 -P 281 321 2.1642746277190641e-01 -6.7327959002127669e-01 2.1482677626049064e+01 2.1499981981335011e+01 1 0 0 0 0 -P 282 111 -8.5724359704836925e-02 5.6304652189988848e-02 7.7384665104011416e+00 7.7403231465298052e+00 2 0 0 -146 0 -V -73 0 0 0 0 0 0 1 0 -P 283 310 -4.9885948856357186e-02 1.2822300091927889e-02 4.5329270329114166e+00 4.5604556717363280e+00 2 0 0 -147 0 -V -74 0 0 0 0 0 0 2 0 -P 284 321 -2.7920309589361664e-01 -2.9417814389614927e-01 2.2570322131419886e+02 2.2570412545568442e+02 1 0 0 0 0 -P 285 -211 -3.1422244950363426e-01 -4.4329822380123687e-02 3.7312147425334075e+02 3.7312163530094614e+02 1 0 0 0 0 -V -75 0 0 0 0 0 0 2 0 -P 286 3122 7.4262577958025780e-02 -2.4548660956187812e-01 2.0956003441221887e+03 2.0956006568059443e+03 2 0 0 -148 0 -P 287 211 -3.9039541146372155e-02 2.1107166763967344e-01 4.2163294363264680e+02 4.2163302137220023e+02 1 0 0 0 0 -V -76 0 0 0 0 0 0 2 0 -P 288 -211 -2.0057133852812120e-01 6.3358175356901622e-02 5.3623025438152285e+02 5.3623031379900362e+02 1 0 0 0 0 -P 289 111 3.1720852422812107e-01 -3.0976971985094492e-01 5.7528165457763157e+02 5.7528184126713484e+02 2 0 0 -149 0 -V -77 0 0 0 0 0 0 2 0 -P 290 -211 -3.5297618575010037e-01 5.2153555934991228e-02 -8.0473046163509775e+02 8.0473055284076520e+02 1 0 0 0 0 -P 291 211 -4.3236004417965990e-01 8.1308540264093787e-01 -8.7028198251002880e+02 8.7028248092469994e+02 1 0 0 0 0 -V -78 0 0 0 0 0 0 2 0 -P 292 421 -1.7659721204514614e+01 -1.3074065417320448e+01 2.7202781467015444e+02 2.7292014446359110e+02 2 0 0 -150 0 -P 293 111 -1.4776451472050109e+00 -1.0577813465072390e+00 2.2908056187391484e+01 2.2980417629868313e+01 2 0 0 -151 0 -V -79 0 0 0 0 0 0 2 0 -P 294 -211 -1.1583166595630789e+00 -1.0356886852578260e+00 2.0998472633156180e+01 2.1056345391518004e+01 1 0 0 0 0 -P 295 211 -4.0033937843749587e+00 -2.6524733090065382e+00 5.2159779948282527e+01 5.2380577511954947e+01 1 0 0 0 0 -V -80 0 -1.4431088124816109e-05 -4.8928852593760701e-06 4.1880274008966248e-04 4.1945629741203458e-04 0 2 0 -P 296 22 -8.5756643853515627e-02 3.5367132902272655e-02 1.2404140135934969e+00 1.2438777918967254e+00 1 0 0 0 0 -P 297 22 -2.3881849645594963e-02 -7.2540252771141386e-02 1.9413905114422942e+00 1.9428920579725391e+00 1 0 0 0 0 -V -81 0 0 0 0 0 0 2 0 -P 298 -211 -3.7116803471142029e-01 -1.5843331213655415e-01 3.3881934198240016e+00 3.4149965240721345e+00 1 0 0 0 0 -P 299 111 -1.4863948599066970e+00 -2.4605035091902030e+00 2.7696156184156585e+01 2.7845264124728452e+01 2 0 0 -152 0 -V -82 0 0 0 0 0 0 2 0 -P 300 211 -1.3102071172472114e+00 -6.6653559707336441e-01 1.4736991379972928e+01 1.4810783473893188e+01 1 0 0 0 0 -P 301 -211 -6.6001250531248001e-01 -8.3817907178677653e-02 3.8600596933206637e+00 3.9194620255376229e+00 1 0 0 0 0 -V -83 0 0 0 0 0 0 3 0 -P 302 111 -1.0129607511280893e-01 1.7331886710189474e-02 1.1003937127586700e+00 1.1133944550827461e+00 2 0 0 -153 0 -P 303 111 2.6736441445761979e-02 -6.4664089522388349e-02 2.1034626839622458e-01 2.5954081529339207e-01 2 0 0 -154 0 -P 304 221 -1.1025089952773082e-01 9.3855832111780987e-03 2.3898831919172103e+00 2.4542792268866394e+00 2 0 0 -155 0 -V -84 0 0 0 0 0 0 2 0 -P 305 311 2.1723555449960955e-01 2.5511909827769035e+00 2.9876035175259780e+01 2.9989680224020404e+01 2 0 0 -156 0 -P 306 211 3.3032821126792672e-01 6.6929463924130272e-01 6.4845571157288475e+00 6.5288615250536779e+00 1 0 0 0 0 -V -85 0 0 0 0 0 0 2 0 -P 307 -311 7.4141747198539887e-01 1.8100047541943822e+00 1.5235835672865862e+01 1.5368935589605529e+01 2 0 0 -157 0 -P 308 -211 5.8970851337611008e-01 1.9279465025540885e+00 1.8876557468741275e+01 1.8984431397938966e+01 1 0 0 0 0 -V -86 0 0 0 0 0 0 2 0 -P 309 -211 5.6503765038489062e-01 2.3392525032674194e+00 1.9776469739542058e+01 1.9922841287434835e+01 1 0 0 0 0 -P 310 211 -1.1698407055756944e-01 6.6383270616705115e-01 9.5858997540570403e+00 9.6105833857405401e+00 1 0 0 0 0 -V -87 0 0 0 0 0 0 2 0 -P 311 211 1.3668928578316808e+00 3.5273910635892820e+00 3.2919426948257488e+01 3.3136370262701405e+01 1 0 0 0 0 -P 312 111 3.4083938668539631e+00 7.3637743950997869e+00 8.1016841670164283e+01 8.1422289183628351e+01 2 0 0 -158 0 -V -88 0 0 0 0 0 0 2 0 -P 313 321 5.1398658600433409e+00 1.0815446396235405e+01 1.1230433937571154e+02 1.1294202222992146e+02 1 0 0 0 0 -P 314 -211 1.4809390437974521e+00 3.6232085950452890e+00 3.9666759311137888e+01 3.9859654978528077e+01 1 0 0 0 0 -V -89 0 0 0 0 0 0 2 0 -P 315 311 8.3836765391802071e-01 1.1061415327090975e+00 -2.0993031465343575e+00 2.5653768813702778e+00 2 0 0 -159 0 -P 316 211 1.0392575238106148e+00 7.2574223863792198e-01 -2.9001820808281353e+00 3.1681688535488077e+00 1 0 0 0 0 -V -90 0 0 0 0 0 0 2 0 -P 317 311 1.6058894356953304e-02 -3.9658053507255009e-01 -2.7554049904710340e+00 2.8279791546790221e+00 2 0 0 -160 0 -P 318 211 -4.9457973416370704e-01 -2.4449879686077405e-01 -2.6488057631132196e+00 2.7092509168981773e+00 1 0 0 0 0 -V -91 0 0 0 0 0 0 2 0 -P 319 211 5.5367043874559790e-02 5.2998456753257217e-01 5.0211679739135224e+00 5.0512925829459654e+00 1 0 0 0 0 -P 320 111 -2.6308556172843650e-01 -1.0479134122864993e-01 1.3534295300588093e+00 1.3893114594005462e+00 2 0 0 -161 0 -V -92 0 0 0 0 0 0 1 0 -P 321 130 3.6602657683902218e-01 2.7637537539729494e-02 1.1512728067232807e+00 1.3068449765883683e+00 1 0 0 0 0 -V -93 0 0 0 0 0 0 2 0 -P 322 -321 -1.8424422202606633e-01 1.0267733119375648e-01 3.3182378596813287e+00 3.3613735319231615e+00 1 0 0 0 0 -P 323 211 2.5061687005741484e-01 4.1111105095076861e-01 1.4668363167462029e+00 1.5501321481721444e+00 1 0 0 0 0 -V -94 0 4.9204414482214235e-05 9.3279171563236449e-05 3.5046945812757313e-05 1.2049586895639305e-04 0 2 0 -P 324 22 1.4638419996119670e-03 5.3436389585819963e-02 -2.7413433695101901e-02 6.0075676544863857e-02 1 0 0 0 0 -P 325 22 1.4114779065072622e-01 2.1691933131626764e-01 1.2899176186669112e-01 2.8916356916760982e-01 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 326 -211 -1.7165868603711240e-01 -4.4258740952734626e-01 6.6513282107305505e-01 8.2899443552578533e-01 1 0 0 0 0 -P 327 111 4.1393041000816050e-01 1.7855384603152144e-01 6.8502876375156219e-01 8.3108595694378429e-01 2 0 0 -162 0 -V -96 0 0 0 0 0 0 3 0 -P 328 -211 -3.9561090808922145e-01 -2.1572664482033080e-01 -2.0918580262695435e-01 5.1602757756276807e-01 1 0 0 0 0 -P 329 211 -7.2592869091610646e-01 -5.6546117318346967e-01 -8.6889461933755874e-01 1.2732542743250301e+00 1 0 0 0 0 -P 330 111 7.5195477124670789e-03 -3.7276307923386154e-02 -2.3492322655699543e-01 2.7359566792284662e-01 2 0 0 -163 0 -V -97 0 0 0 0 0 0 2 0 -P 331 211 -2.1245054419147788e-01 -9.4426467212448351e-01 -1.0757049671517334e+00 1.4537509986254611e+00 1 0 0 0 0 -P 332 111 -4.0237996847179375e-01 -1.8278784340935744e-01 -9.6114577330509182e-02 4.7199432952211190e-01 2 0 0 -164 0 -V -98 0 0 0 0 0 0 2 0 -P 333 211 2.0149439122852938e-01 -5.3302766918694060e-02 5.7020627225908882e-01 6.2294153215317916e-01 1 0 0 0 0 -P 334 111 -3.3335360091003480e-01 5.6583731288352612e-01 2.2813085968389601e+00 2.3777899407437744e+00 2 0 0 -165 0 -V -99 0 -3.5153111932296456e-07 1.6115135681743178e-05 4.6661535374685549e-05 4.9448443747731639e-05 0 2 0 -P 335 22 -9.2603642081564800e-03 7.6483303944505310e-01 2.1439769219474183e+00 2.2763330982997969e+00 1 0 0 0 0 -P 336 22 -7.4857902311984215e-03 2.8558964801153959e-03 7.8874014455751498e-02 7.9279905123913585e-02 1 0 0 0 0 -V -100 0 0 0 0 0 0 2 0 -P 337 -211 9.3383194809242093e-02 -2.6183692551778537e-01 6.6393712447782982e-01 7.3319253051110411e-01 1 0 0 0 0 -P 338 111 6.7289261809585277e-02 1.3713406947866838e-01 4.0726953178542686e+00 4.0777935639557263e+00 2 0 0 -166 0 -V -101 0 -1.9219786930458220e+00 -2.4415068214109641e+00 2.4918920370571573e+02 2.4927833695139438e+02 0 2 0 -P 339 2112 -3.3088369099467252e-01 -5.7444073773084292e-01 3.9933593320707132e+01 3.9950145600068296e+01 1 0 0 0 0 -P 340 211 -5.6758936924963282e-02 8.2014820752740830e-02 1.0325214502289962e+01 1.0326639449062938e+01 1 0 0 0 0 -V -102 0 -2.1522575615476658e+01 -4.3850708113160948e+02 3.2110018097210530e+04 3.2113842334975812e+04 0 2 0 -P 341 -3122 -6.1950855666021008e-02 -1.8608321980917468e+00 1.4056162772703544e+02 1.4057838548480370e+02 2 0 0 -167 0 -P 342 111 -6.1144406211079527e-02 -6.4714570154417439e-01 4.3086981861879245e+01 4.3092096279523801e+01 2 0 0 -168 0 -V -103 0 0 0 0 0 0 2 0 -P 343 -311 2.3049720807893612e-01 2.8623903870378370e-01 1.6043582351245217e+01 1.6055505966499382e+01 2 0 0 -169 0 -P 344 111 4.3323721233431339e-02 -1.5003883936399090e-01 1.1853284016418417e+00 1.2031673276307036e+00 2 0 0 -170 0 -V -104 0 0 0 0 0 0 3 0 -P 345 211 -9.5026966603014729e-03 1.0472305562351994e-01 5.4539722523898408e+00 5.4567710538707095e+00 1 0 0 0 0 -P 346 -211 1.5951683483820989e-01 -1.9899631133411760e-01 1.3219014899412011e+01 1.3222211609571907e+01 1 0 0 0 0 -P 347 111 -7.4674051730606081e-02 -1.1330685333969616e-01 1.8391615088576583e+00 1.8490941871844135e+00 2 0 0 -171 0 -V -105 0 0 0 0 0 0 2 0 -P 348 211 9.4240763765740421e-02 -2.0039207547628959e-01 4.4634358422556447e-01 5.1743664882589113e-01 1 0 0 0 0 -P 349 -211 1.2820088924631756e-01 5.1534025291000973e-01 1.0318751511090531e+00 1.1688700341138147e+00 1 0 0 0 0 -V -106 0 1.7283871159768377e-04 -5.1237670737495545e-05 4.6694794270726891e-04 5.0505361596110525e-04 0 2 0 -P 350 22 2.0590099653440450e-01 -1.0805686291631406e-01 4.5142756285929947e-01 5.0779754873991134e-01 1 0 0 0 0 -P 351 22 1.4033350106869832e-01 5.4163779105943517e-03 4.8397333694826589e-01 5.0393751552023625e-01 1 0 0 0 0 -V -107 0 -5.9571695161317901e+00 1.2245768940169006e+01 2.8503800469478131e+02 2.9797787574076551e+02 0 2 0 -P 352 -2212 -2.0445056851432947e-01 3.2050366895688145e-02 2.9022963766333598e+00 3.0572049508829320e+00 1 0 0 0 0 -P 353 111 1.2185508809238729e-01 1.3773583207185866e-01 1.0497232649974710e+00 1.0742245367740775e+00 2 0 0 -172 0 -V -108 0 -9.6322276038832619e+00 9.1930061220952801e+00 1.6049331662647239e+02 1.6189071810331086e+02 0 2 0 -P 354 2212 -4.0557945128879624e-01 6.3010018115544275e-01 8.6263887815885774e+00 8.7095611217567726e+00 1 0 0 0 0 -P 355 111 -2.8752136302370007e-01 3.1395818652041142e-02 2.9221390377369709e+00 2.9395187340600821e+00 2 0 0 -173 0 -V -109 0 0 0 0 0 0 2 0 -P 356 22 8.2860331849337263e-02 2.5946703798069704e-01 5.8422378213656290e-01 6.4459786379308515e-01 1 0 0 0 0 -P 357 111 1.6254024186608135e-01 -5.4323460646157928e-01 1.7376202728837526e+00 1.8327757585203810e+00 2 0 0 -174 0 -V -110 0 0 0 0 0 0 2 0 -P 358 3122 8.2287967470987355e-01 -4.8977375048154131e-01 1.9007652783367175e+00 2.4030521824217304e+00 2 0 0 -175 0 -P 359 22 4.2440133887952043e-02 4.8963717863264443e-02 5.5112841739653869e-02 8.5064892617582183e-02 1 0 0 0 0 -V -111 0 1.9575759832658340e-06 -8.4215463207310107e-06 3.4437014986610818e-05 3.5510543948550919e-05 0 2 0 -P 360 22 3.8993041770294784e-01 -1.7748547164591819e+00 7.3603534731863398e+00 7.5813559635089769e+00 1 0 0 0 0 -P 361 22 6.5790980468783872e-02 -1.8567141221184214e-01 6.5654331790388576e-01 6.8545711368985129e-01 1 0 0 0 0 -V -112 0 -1.9123820769240353e-05 -1.0931279074538166e-04 4.2796901319070433e-04 4.4237576117062659e-04 0 2 0 -P 362 22 -2.8016866721716417e-02 -2.9039021747390238e-02 1.1296536115102888e-01 1.1995575194600025e-01 1 0 0 0 0 -P 363 22 -1.4452078978212046e-01 -9.5719552670846475e-01 3.7482280417359468e+00 3.8712172488618730e+00 1 0 0 0 0 -V -113 0 -5.2829075954546687e-05 -1.9728039359830118e-05 3.2116418888762709e-04 3.3253598813309538e-04 0 2 0 -P 364 22 -9.2677622365995471e-02 3.5763487191755067e-02 4.0184387193941451e-01 4.1394041372978913e-01 1 0 0 0 0 -P 365 22 -1.6658093635336459e-02 -7.6592884067167299e-02 2.6284154819225458e-01 2.7428022427690846e-01 1 0 0 0 0 -V -114 0 1.9026721056032020e-06 -6.6487627924737098e-05 3.1923840683783920e-04 3.2634509371974645e-04 0 2 0 -P 366 22 -5.2922013066489092e-03 -1.8495279301222559e-01 1.1983795218151989e+00 1.2125794907319167e+00 1 0 0 0 0 -P 367 22 2.5362907683383399e-02 -5.1640486805460895e-01 2.1691688376471201e+00 2.2299351360646953e+00 1 0 0 0 0 -V -115 0 8.3080161206741342e-07 8.9690026702319606e-06 -7.7220185387585991e-03 7.7220260674473792e-03 0 2 0 -P 368 22 1.2807334442024216e-02 1.6872475428951880e-01 -8.7236246335492766e+01 8.7236410441840746e+01 1 0 0 0 0 -P 369 22 6.1102140270908939e-03 3.5501549883767261e-02 -8.8595935336439027e+01 8.8595942660108562e+01 1 0 0 0 0 -V -116 0 0 0 0 0 0 1 0 -P 370 130 -2.5901715207887410e-01 -6.0542629745708865e-01 -4.0542979190677522e+02 4.0543063213315133e+02 1 0 0 0 0 -V -117 0 -2.5932220974105986e-05 -3.2182840041165912e-05 -2.1919063527299769e-02 2.1919107939990485e-02 0 2 0 -P 371 22 -1.3648486710504911e-02 -2.4201149018738738e-02 -4.4727716633536524e+01 4.4727725263272021e+01 1 0 0 0 0 -P 372 22 -2.1288484139337188e-01 -2.5693504327423017e-01 -1.4674830135649992e+02 1.4674868069795471e+02 1 0 0 0 0 -V -118 0 -6.3426606413962393e-05 2.4808356359595279e-05 -7.4879667489093568e-03 7.4883096167834978e-03 0 2 0 -P 373 22 -2.0640267653597780e-01 9.1527235463937567e-02 -3.1540598860155647e+01 3.1541407003444920e+01 1 0 0 0 0 -P 374 22 -1.7782037660169078e-01 5.8755791844814761e-02 -1.3819694063004073e+01 1.3820962930434334e+01 1 0 0 0 0 -V -119 0 -7.6594382175148806e-05 1.0311568830732706e-04 -3.2105301032281353e-03 3.2132543973279917e-03 0 2 0 -P 375 22 -1.4532360372654066e-01 1.8123345408859942e-01 -4.2544899258831723e+00 4.2608272722702969e+00 1 0 0 0 0 -P 376 22 -1.8149523905037179e-01 2.5874855200269725e-01 -9.4444486025079506e+00 9.4497354852067552e+00 1 0 0 0 0 -V -120 0 -2.6945611630769845e-05 -5.9334602571253519e-05 -5.3573371544319063e-04 5.4164571933427151e-04 0 2 0 -P 377 22 -5.1425758174186931e-02 -1.9143430287238708e-01 -1.4218012667249478e+00 1.4355523476978096e+00 1 0 0 0 0 -P 378 22 -2.7515104904687560e-02 1.7605450827771700e-02 -1.4770409307338708e-01 1.5127303793933949e-01 1 0 0 0 0 -V -121 0 -3.9050402682915103e-07 -1.2881513157305690e-06 -6.6667818902411055e-05 6.7019627241645576e-05 0 2 0 -P 379 22 -3.0608461630266422e-02 4.7117413463821520e-02 -7.5238235400289355e-01 7.5447739209987430e-01 1 0 0 0 0 -P 380 22 2.2770067252179792e-02 -7.2973838334351560e-02 -5.8580783350209997e-01 5.9077447036609565e-01 1 0 0 0 0 -V -122 0 0 0 0 0 0 3 0 -P 381 111 2.9839928828064254e-02 1.0831091175723169e-01 -6.6841704714606320e-01 6.9110247016893900e-01 2 0 0 -176 0 -P 382 111 9.4051595670043689e-02 -1.5755662152753916e-01 -9.1611447140274083e-01 9.4401012534229567e-01 2 0 0 -177 0 -P 383 111 -5.8991234477435692e-02 5.1879693076710056e-03 -4.7175090929207414e-01 4.9424224990242172e-01 2 0 0 -178 0 -V -123 0 1.5187813460115701e-06 1.3188082387851436e-05 -6.6229648474863657e-05 7.1493291597544587e-05 0 2 0 -P 384 22 5.5902947386336610e-02 8.1294574520283755e-02 -3.1554495833037971e-01 3.3060938900859188e-01 1 0 0 0 0 -P 385 22 -4.7151088874938803e-02 -5.2992830333063673e-03 -6.6098201979547425e-02 8.1365102394629227e-02 1 0 0 0 0 -V -124 0 1.3941114862900531e+02 -3.8582616698811592e+01 -3.8025609716628168e+02 4.1577110253421068e+02 0 2 0 -P 386 211 3.9155250151203191e-01 -2.1528995768384931e-01 -1.5735145062373210e+00 1.6416731750135662e+00 1 0 0 0 0 -P 387 -211 4.1789588401695882e-01 -8.7282582441069474e-03 -6.3432673863972289e-01 7.7237513464870078e-01 1 0 0 0 0 -V -125 0 8.4498806531586952e-06 -1.1900512863807261e-05 -6.7398973710353891e-05 6.9967903545644137e-05 0 2 0 -P 388 22 -2.6630265638253693e-02 -6.5818770699674248e-02 -3.0798444672715158e-01 3.1606281187480750e-01 1 0 0 0 0 -P 389 22 1.2307273012265166e-01 -7.0007383103435336e-02 -4.6127175879284371e-01 4.8251379881686041e-01 1 0 0 0 0 -V -126 0 7.8004833521485510e-05 1.1576629387707435e-05 -3.0620108155017886e-04 3.1874407920848768e-04 0 2 0 -P 390 22 1.9933684671653129e-01 7.6146875018833646e-02 -6.2136899240287891e-01 6.5698778508720601e-01 1 0 0 0 0 -P 391 22 6.2267559322930169e-02 -3.7322393019573769e-02 -4.0553598837003274e-01 4.1198258194734583e-01 1 0 0 0 0 -V -127 0 -8.7813863521750088e-06 1.2034602514798763e-05 -1.5143311212175529e-04 1.6721408133485042e-04 0 2 0 -P 392 22 -2.3942903281016213e-03 -3.0130749814585231e-02 -5.2283330825283574e-03 3.0674585203165079e-02 1 0 0 0 0 -P 393 22 -1.4702427472264043e-02 5.3561241855756364e-02 -2.8960087494286813e-01 2.9487901717548981e-01 1 0 0 0 0 -V -128 0 -2.1423274294986983e-09 -5.6955749109414071e-08 -1.2016903773209067e-06 1.2236738425450761e-06 0 2 0 -P 394 22 2.9979179212612915e-02 -5.2589578798866686e-02 -6.6790136325526994e-01 6.7063898337537198e-01 1 0 0 0 0 -P 395 22 -3.1271496752553057e-02 1.8232125983285968e-02 -5.6995088522171715e-02 6.7518568132518497e-02 1 0 0 0 0 -V -129 0 6.4230189101412486e-04 2.1134687592085452e-04 -1.2311020831505474e-03 1.4158196050410717e-03 0 2 0 -P 396 22 4.7543339096574699e-01 1.2513612268912652e-01 -8.8650115517581829e-01 1.0136963335116276e+00 1 0 0 0 0 -P 397 22 1.1406207269271662e-02 3.5056505732190810e-02 -4.6625855552734644e-02 5.9439301513772705e-02 1 0 0 0 0 -V -130 0 6.1987795725867684e-06 9.5499117210155789e-07 -4.4541397254386405e-06 9.4731035377011082e-06 0 2 0 -P 398 22 3.1268929850001737e-02 -1.5940111577112004e-02 2.8161984871342943e-02 4.4999228026143444e-02 1 0 0 0 0 -P 399 22 1.2007827458552617e-01 3.9256837468990093e-02 -1.3691268131352266e-01 1.8629270951908428e-01 1 0 0 0 0 -V -131 0 -6.1020743762232836e-06 2.3286883231540951e-05 3.1154149503248974e-05 4.0116565936475085e-05 0 2 0 -P 400 22 9.8091349468157167e-03 2.8377074072342766e-02 2.8749442920756804e-03 3.0161942344527581e-02 1 0 0 0 0 -P 401 22 -1.1681959734655756e-01 3.7999883038497267e-01 5.4346712538239117e-01 6.7335165091470495e-01 1 0 0 0 0 -V -132 0 0 0 0 0 0 1 0 -P 402 310 6.3943275598408489e-01 1.2113139656898524e+00 3.6184751514319600e+00 3.9009221503807563e+00 2 0 0 -179 0 -V -133 0 2.1682042467538229e-04 5.8286243176109223e-04 1.5576230338453930e-03 1.6773997708551909e-03 0 2 0 -P 403 22 2.4201269272194240e-02 6.6012324731882441e-02 2.3795568295198377e-01 2.4812544307272844e-01 1 0 0 0 0 -P 404 22 1.0510982471609078e+00 2.8246364319896307e+00 7.4869221627889990e+00 8.0707733191912254e+00 1 0 0 0 0 -V -134 0 3.4028799303023395e-07 6.8044664732665194e-05 2.3824180161942965e-04 2.4828257593497463e-04 0 2 0 -P 405 22 -1.8724816343446530e-02 1.8332032364017255e-02 1.8532644632463863e-01 1.8716990640861672e-01 1 0 0 0 0 -P 406 22 2.1601819009504697e-02 5.5695914997728446e-01 1.8289153502253255e+00 1.9119627328004498e+00 1 0 0 0 0 -V -135 0 -2.8410493234902523e-07 4.9653121634296811e-06 1.2557293115166877e-05 1.3560118830762203e-05 0 2 0 -P 407 22 -4.4743249094535947e-02 1.9716395208185372e-01 6.6189268680366531e-01 6.9208201189183216e-01 1 0 0 0 0 -P 408 22 1.2964127804323806e-02 3.5824089844551110e-01 7.4272826674382830e-01 8.2471200315568660e-01 1 0 0 0 0 -V -136 0 1.2820883171547144e-04 3.9619298966311092e-04 1.2949937227216559e-03 1.3632177937560695e-03 0 2 0 -P 409 22 9.5401467154298369e-02 1.4201353519440010e-01 4.1464312309795665e-01 4.4855122744902953e-01 1 0 0 0 0 -P 410 22 9.8717857676942675e-02 4.5785711823261399e-01 1.5460900319572877e+00 1.6154791063515139e+00 1 0 0 0 0 -V -137 0 2.1777252934043211e-04 2.7706919009262037e-04 2.5559848756957063e-03 2.5836416730343919e-03 0 2 0 -P 411 22 2.2477690016267710e-01 2.0485754477111837e-01 1.9801073036459287e+00 2.0033262845698210e+00 1 0 0 0 0 -P 412 22 -5.3958177061138798e-03 7.4258186776740800e-02 5.9475707649892273e-01 5.9939917684096833e-01 1 0 0 0 0 -V -138 0 0 0 0 0 0 1 0 -P 413 130 -3.7995269441653340e-01 1.6535799088428479e-01 -6.1483584577768262e+00 6.1823696483920711e+00 1 0 0 0 0 -V -139 0 0 0 0 0 0 1 0 -P 414 130 -3.9453058218165832e-01 2.5328290511276014e-01 -7.7255254295189668e-01 1.0316586018738949e+00 1 0 0 0 0 -V -140 0 5.1667498257619163e-05 1.1962214121015359e-05 6.6265382966993475e-05 8.6460256588212749e-05 0 2 0 -P 415 22 1.3628231428135446e-01 -3.0848081013764246e-02 1.8460013377020124e-01 2.3152037205414516e-01 1 0 0 0 0 -P 416 22 2.8685562368232276e-01 1.2881424518545415e-01 3.5808914774329187e-01 4.7655754776562892e-01 1 0 0 0 0 -V -141 0 1.4713679733888919e-04 2.5364571091757474e-04 -3.5805830609983571e-04 4.8528410808895716e-04 0 2 0 -P 417 22 1.5170505358038230e-01 1.4788339243534807e-01 -2.0395109752352847e-01 2.9407477148008737e-01 1 0 0 0 0 -P 418 22 -1.5653415608630622e-02 8.6652869458158130e-02 -1.2713140471466566e-01 1.5464845059124649e-01 1 0 0 0 0 -V -142 0 9.7597729456307835e-06 -2.4311387032276793e-06 -1.5958603367984514e-05 2.0536181575424412e-05 0 2 0 -P 419 22 1.7652769046773198e-01 -5.0690402920813803e-02 -2.6675987154484626e-01 3.2387091798549728e-01 1 0 0 0 0 -P 420 22 -1.4239926135551901e-02 1.0264865654100702e-02 1.3965196634240379e-03 1.7609464228449393e-02 1 0 0 0 0 -V -143 0 -2.1652244280857262e-08 6.8267089224883744e-08 1.3007207375452835e-05 1.3045179682912007e-05 0 2 0 -P 421 22 4.6650114506723746e-02 -3.2179447089061786e-02 1.2307133927841611e+00 1.2320175344437061e+00 1 0 0 0 0 -P 422 22 -4.9596190139431888e-02 4.1468091973747144e-02 5.3909006044410879e-01 5.4295255593644887e-01 1 0 0 0 0 -V -144 0 -3.5047386073016382e-05 5.9568512439212194e-05 7.1411357862754014e-04 7.1820668730872685e-04 0 2 0 -P 423 22 -1.6211167583281016e-02 1.6029005891738021e-01 1.5450176957825907e+00 1.5533947937415964e+00 1 0 0 0 0 -P 424 22 -1.2734670917005905e-01 8.3708998510534635e-02 1.3800686115077676e+00 1.3884573285618313e+00 1 0 0 0 0 -V -145 0 -7.8293712475779411e-06 5.6698396843146972e-06 9.7563357563170913e-05 1.0036958783961753e-04 0 2 0 -P 425 22 -4.4907714662178962e-04 2.5252550384878151e-03 5.2306614750949010e-01 5.2307243595291153e-01 1 0 0 0 0 -P 426 22 -4.8718143319626740e-02 3.3080446741616781e-02 8.9616398642579656e-02 1.0723279512724822e-01 1 0 0 0 0 -V -146 0 -5.4416939621261388e-05 3.5741612642758141e-05 4.9122987480755935e-03 4.9134773215459586e-03 0 2 0 -P 427 22 -2.6387009064352013e-02 8.4004864299616053e-02 5.9618585584390296e+00 5.9625087473567762e+00 1 0 0 0 0 -P 428 22 -5.9337350640484919e-02 -2.7700212109627198e-02 1.7766079519621116e+00 1.7778143991730293e+00 1 0 0 0 0 -V -147 0 -4.8810730286750834e+00 1.2545934191710093e+00 4.4352264291904982e+02 4.4621617285212420e+02 0 2 0 -P 429 211 -1.7457052418593882e-01 1.4834074360287047e-01 2.2901757748054155e+00 2.3058327581446125e+00 1 0 0 0 0 -P 430 -211 1.2468457532958163e-01 -1.3551844351094258e-01 2.2427512581060007e+00 2.2546229135917155e+00 1 0 0 0 0 -V -148 0 3.3734014604774782e+00 -1.1151308101528222e+01 9.5193318840002597e+04 9.5193333043762643e+04 0 2 0 -P 431 2212 8.1826167453099480e-02 -1.1732909246796693e-01 1.8196620878460528e+03 1.8196623353678799e+03 1 0 0 0 0 -P 432 -211 -7.5635894950737050e-03 -1.2815751709391118e-01 2.7593825627613575e+02 2.7593832143806401e+02 1 0 0 0 0 -V -149 0 5.5860599777425171e-05 -5.4550622136858487e-05 1.0130742338609310e-01 1.0130745626221979e-01 0 2 0 -P 433 22 5.3127991794322899e-02 -3.2276297017659527e-03 4.3064051628352409e+01 4.3064084521216841e+01 1 0 0 0 0 -P 434 22 2.6408053243379820e-01 -3.0654209014917899e-01 5.3221760294927924e+02 5.3221775674591811e+02 1 0 0 0 0 -V -150 0 -1.5319121601429257e+00 -1.1341243479074379e+00 2.3597355380886921e+01 2.3674761521425197e+01 0 3 0 -P 435 -11 -3.4448541147224727e+00 -2.1673819217200201e+00 5.1935029434568854e+01 5.2094259250861342e+01 1 0 0 0 0 -P 436 12 -4.2238184423944363e+00 -2.9424417727589072e+00 5.8151692879242468e+01 5.8379088640900576e+01 1 0 0 0 0 -P 437 -323 -9.9910486473977098e+00 -7.9642417228415239e+00 1.6194109235634318e+02 1.6244679657182928e+02 2 0 0 -180 0 -V -151 0 -3.0267907484688106e-04 -2.1667467318300509e-04 4.6924589888549329e-03 4.7072814206849970e-03 0 2 0 -P 438 22 -3.8616153777891304e-01 -3.2085121577077497e-01 6.9505767564859688e+00 6.9686859223044602e+00 1 0 0 0 0 -P 439 22 -1.0914836094260980e+00 -7.3693013073646418e-01 1.5957479430905517e+01 1.6011731707563854e+01 1 0 0 0 0 -V -152 0 -1.7062890829058920e-05 -2.8245053783665636e-05 3.1793469023735265e-04 3.1964635688822040e-04 0 2 0 -P 440 22 -1.0435465547979850e+00 -1.7996058853758738e+00 1.9566723582087082e+01 1.9676997801811968e+01 1 0 0 0 0 -P 441 22 -4.4284830510871187e-01 -6.6089762381432915e-01 8.1294326020695031e+00 8.1682663229164856e+00 1 0 0 0 0 -V -153 0 -3.1542001895608145e-05 5.3968764619798570e-06 3.4264526572323572e-04 3.4669349205948460e-04 0 2 0 -P 442 22 -8.0791166844111639e-02 -3.2189915652128150e-02 3.3426949576462373e-01 3.4539759569003958e-01 1 0 0 0 0 -P 443 22 -2.0504908268697278e-02 4.9521802362317624e-02 7.6612421699404609e-01 7.6799685939270645e-01 1 0 0 0 0 -V -154 0 9.1194079493466010e-06 -2.2055972303718910e-05 7.1746026337098247e-05 8.8525564591978662e-05 0 2 0 -P 444 22 4.4375559630183692e-02 -8.1141214280723017e-02 6.7063784646850977e-02 1.1423938969813084e-01 1 0 0 0 0 -P 445 22 -1.7639118184421713e-02 1.6477124758334672e-02 1.4328248374937363e-01 1.4530142559526124e-01 1 0 0 0 0 -V -155 0 0 0 0 0 0 3 0 -P 446 -211 -1.2083893186628652e-02 -3.0447187204953679e-03 2.1866051202995368e-01 2.5970655595851694e-01 1 0 0 0 0 -P 447 211 -3.9017277570356779e-02 6.7873350480066846e-02 9.7799031246865564e-01 9.9099645601633257e-01 1 0 0 0 0 -P 448 111 -5.9149728770745383e-02 -5.5443048548393381e-02 1.1932323674186009e+00 1.2035762149117901e+00 2 0 0 -181 0 -V -156 0 0 0 0 0 0 1 0 -P 449 130 2.1723555449960955e-01 2.5511909827769035e+00 2.9876035175259780e+01 2.9989680224020404e+01 1 0 0 0 0 -V -157 0 0 0 0 0 0 1 0 -P 450 130 7.4141747198539887e-01 1.8100047541943822e+00 1.5235835672865862e+01 1.5368935589605529e+01 1 0 0 0 0 -V -158 0 1.7351913697729272e-03 3.7488501266216717e-03 4.1245152398448455e-02 4.1451563116734411e-02 0 2 0 -P 451 22 1.0308594459127123e+00 2.3659970894042619e+00 2.5530134555087137e+01 2.5660249099047178e+01 1 0 0 0 0 -P 452 22 2.3775344209412506e+00 4.9977773056955250e+00 5.5486707115077145e+01 5.5762040084581187e+01 1 0 0 0 0 -V -159 0 0 0 0 0 0 1 0 -P 453 310 8.3836765391802071e-01 1.1061415327090975e+00 -2.0993031465343575e+00 2.5653768813702778e+00 2 0 0 -182 0 -V -160 0 0 0 0 0 0 1 0 -P 454 130 1.6058894356953304e-02 -3.9658053507255009e-01 -2.7554049904710340e+00 2.8279791546790221e+00 1 0 0 0 0 -V -161 0 -1.9621188813682868e-04 -7.8154448263063547e-05 1.0094015110836691e-03 1.0361626189904641e-03 0 2 0 -P 455 22 -2.3254182817736807e-01 -1.2491575400732739e-01 1.0094632796952816e+00 1.0434058464971556e+00 1 0 0 0 0 -P 456 22 -3.0543733551068413e-02 2.0124412778677454e-02 3.4396625036352763e-01 3.4590561290339050e-01 1 0 0 0 0 -V -162 0 8.3568869810553821e-05 3.6048434114535610e-05 1.3830121728265946e-04 1.6778886609429203e-04 0 2 0 -P 457 22 2.4288492612237900e-01 9.0668436853967346e-02 2.7353811306807857e-01 3.7687790075813715e-01 1 0 0 0 0 -P 458 22 1.7104548388578150e-01 8.7885409177554094e-02 4.1149065068348356e-01 4.5420805618564708e-01 1 0 0 0 0 -V -163 0 1.3216006764163915e-07 -6.5515102303526367e-07 -4.1289011918747853e-06 4.8085900059113686e-06 0 2 0 -P 459 22 -3.5887241341837671e-03 -8.6583539240239468e-02 -1.1971285349112167e-01 1.4778618169255256e-01 1 0 0 0 0 -P 460 22 1.1108271846650846e-02 4.9307231316853314e-02 -1.1521037306587376e-01 1.2580948623029431e-01 1 0 0 0 0 -V -164 0 -1.5055072319461211e-05 -6.8390188808296272e-06 -3.5961330733259308e-06 1.7659698101569677e-05 0 2 0 -P 461 22 -4.0993083371611022e-01 -1.7677142719017691e-01 -1.0529647981044868e-01 4.5867066023728786e-01 1 0 0 0 0 -P 462 22 7.5508652443164728e-03 -6.0164162191805306e-03 9.1819024799394983e-03 1.3323669284824168e-02 1 0 0 0 0 -V -165 0 -2.7392401929328713e-06 4.6496102213396840e-06 1.8746016793834067e-05 1.9538825314188313e-05 0 2 0 -P 463 22 -1.0003731834853867e-01 2.5283097632200424e-01 1.1235326616057013e+00 1.1559656609714217e+00 1 0 0 0 0 -P 464 22 -2.3331628256149614e-01 3.1300633656152188e-01 1.1577759352332588e+00 1.2218242797723524e+00 1 0 0 0 0 -V -166 0 8.0199826021123069e-06 1.6344552188550145e-05 4.8541096624487993e-04 4.8601860918723636e-04 0 2 0 -P 465 22 8.3203992980317998e-03 1.3075378695986642e-01 2.0217898032967851e+00 2.0260305502542839e+00 1 0 0 0 0 -P 466 22 5.8968862511553477e-02 6.3802825188019703e-03 2.0509055145574835e+00 2.0517630137014415e+00 1 0 0 0 0 -V -167 0 -2.2176502920647817e+01 -4.5814924703217315e+02 3.3593727812626566e+04 3.3597728938269509e+04 0 2 0 -P 467 -2112 1.7006220476968738e-02 -1.4198676287057894e+00 1.1029194055578076e+02 1.1030508264191346e+02 1 0 0 0 0 -P 468 111 -7.8957076142989746e-02 -4.4096456938595763e-01 3.0269687171254702e+01 3.0273302842890274e+01 2 0 0 -183 0 -V -168 0 -2.1522583089730073e+01 -4.3850716023828937e+02 3.2110023364135854e+04 3.2113847602526319e+04 0 2 0 -P 469 22 -5.9972763472978974e-02 -9.9333440691246874e-02 7.7279221313918729e+00 7.7287932003421123e+00 1 0 0 0 0 -P 470 22 -1.1716427381005567e-03 -5.4781226085292756e-01 3.5359059730487374e+01 3.5363303079181698e+01 1 0 0 0 0 -V -169 0 0 0 0 0 0 1 0 -P 471 310 2.3049720807893612e-01 2.8623903870378370e-01 1.6043582351245217e+01 1.6055505966499382e+01 2 0 0 -184 0 -V -170 0 3.4914532678784311e-06 -1.2091611271883410e-05 9.5525467425175406e-05 9.6963104236280875e-05 0 2 0 -P 472 22 -2.8578799884222700e-03 -9.5650782111636912e-02 1.0001698534411347e+00 1.0047372668160850e+00 1 0 0 0 0 -P 473 22 4.6181601221853615e-02 -5.4388057252354009e-02 1.8515854820070704e-01 1.9843006081461845e-01 1 0 0 0 0 -V -171 0 -9.1930787284703778e-06 -1.3949140284832638e-05 2.2641809508738701e-04 2.2764090129283901e-04 0 2 0 -P 474 22 -5.6083499290132392e-02 -1.8008624103932162e-02 1.2949529474570507e+00 1.2962919445720726e+00 1 0 0 0 0 -P 475 22 -1.8590552440473678e-02 -9.5298229235763990e-02 5.4420856140060736e-01 5.5280224261234023e-01 1 0 0 0 0 -V -172 0 -5.9571323110808398e+00 1.2245810993961999e+01 2.8503832519848919e+02 2.9797820372525308e+02 0 2 0 -P 476 22 8.5402691888110185e-02 9.3794685734850029e-04 4.4832020929371880e-01 4.5638307329173206e-01 1 0 0 0 0 -P 477 22 3.6452396204277100e-02 1.3679788521451017e-01 6.0140305570375219e-01 6.1784146348234537e-01 1 0 0 0 0 -V -173 0 -9.6322483005437558e+00 9.1930083820616098e+00 1.6049352697091061e+02 1.6189092969879238e+02 0 2 0 -P 478 22 -2.5840597269925236e-01 2.3419710580106768e-02 2.8430324580141546e+00 2.8548477519637201e+00 1 0 0 0 0 -P 479 22 -2.9115390324447706e-02 7.9761080719343742e-03 7.9106579722816081e-02 8.4670982096361508e-02 1 0 0 0 0 -V -174 0 1.9362453383904747e-06 -6.4712311384416142e-06 2.0699238014152610e-05 2.1832768783954246e-05 0 2 0 -P 480 22 7.9982585631339087e-02 -3.0055554413619706e-01 7.3899963334118335e-01 8.0178008655346600e-01 1 0 0 0 0 -P 481 22 8.2557656234742274e-02 -2.4267906232538228e-01 9.9862063954256941e-01 1.0309956719669151e+00 1 0 0 0 0 -V -175 0 5.9189417978298913e+00 -3.5229237181331476e+00 1.3672131417971420e+01 1.7285061767891126e+01 0 2 0 -P 482 2112 6.4235137517222740e-01 -4.9497879877226753e-01 1.6667267978295450e+00 2.0780734597031976e+00 1 0 0 0 0 -P 483 111 1.8052829953764615e-01 5.2050482907261431e-03 2.3403848050717271e-01 3.2497872271853295e-01 2 0 0 -185 0 -V -176 0 3.2368107173649057e-05 1.1748751882197927e-04 -7.2504846587870763e-04 7.4965590405039033e-04 0 2 0 -P 484 22 3.3096438086071843e-02 9.5270032922071729e-02 -6.7001799393867234e-01 6.7756613373792551e-01 1 0 0 0 0 -P 485 22 -3.2565092580075930e-03 1.3040878835159950e-02 1.6009467926091832e-03 1.3536336431013284e-02 1 0 0 0 0 -V -177 0 1.7771818971166606e-05 -2.9771613501586606e-05 -1.7310732929777555e-04 1.7837844148214842e-04 0 2 0 -P 486 22 6.1558622792612913e-02 -1.6626655517397546e-01 -5.8726617661499658e-01 6.1344567290473251e-01 1 0 0 0 0 -P 487 22 3.2492972877430783e-02 8.7099336464362964e-03 -3.2884829478774430e-01 3.3056445243756311e-01 1 0 0 0 0 -V -178 0 -9.0319580215618126e-06 7.9431328093258927e-07 -7.2228263183565165e-05 7.5671839946126528e-05 0 2 0 -P 488 22 2.9573892989124079e-02 1.8632854481216092e-02 -3.9234195500013468e-02 5.2546365327999708e-02 1 0 0 0 0 -P 489 22 -8.8565127466559770e-02 -1.3444885173545086e-02 -4.3251671379206064e-01 4.4169588457442188e-01 1 0 0 0 0 -V -179 0 3.8965967184924509e+01 7.3815455645638423e+01 2.2050384921737077e+02 2.3771569892247584e+02 0 2 0 -P 490 -211 3.4370582722418813e-01 9.0073938794577968e-01 2.0637289851098379e+00 2.2820872572159208e+00 1 0 0 0 0 -P 491 211 2.9572692875989670e-01 3.1057457774407260e-01 1.5547461663221218e+00 1.6188348931648355e+00 1 0 0 0 0 -V -180 0 -1.5319121601429257e+00 -1.1341243479074379e+00 2.3597355380886921e+01 2.3674761521425197e+01 0 2 0 -P 492 -311 -5.3510513540338858e+00 -4.2539020075613285e+00 9.0128199084237636e+01 9.0388436088253655e+01 2 0 0 -186 0 -P 493 -211 -4.6399972933638240e+00 -3.7103397152801953e+00 7.1812893272105555e+01 7.2058360483575626e+01 1 0 0 0 0 -V -181 0 -6.5602296668407379e-06 -6.1491259464092745e-06 1.3234005529448296e-04 1.3348727974680637e-04 0 2 0 -P 494 22 1.9370444762873518e-02 5.2687557162780880e-03 2.9877395026023861e-02 3.5994897564105149e-02 1 0 0 0 0 -P 495 22 -7.8520173533618898e-02 -6.0711804264671466e-02 1.1633549723925771e+00 1.1675813173476850e+00 1 0 0 0 0 -V -182 0 5.7856733218161665e+01 7.6336122058612588e+01 -1.4487536765697124e+02 1.7703966169953557e+02 0 2 0 -P 496 -211 7.3723989960307834e-01 1.0190140014707236e+00 -1.6758967864123988e+00 2.1000052448428641e+00 1 0 0 0 0 -P 497 211 1.0112775431494231e-01 8.7127531238373843e-02 -4.2340636012195859e-01 4.6537163652741326e-01 1 0 0 0 0 -V -183 0 -2.2176503811378527e+01 -4.5814925200678346e+02 3.3593728154105018e+04 3.3597729279788749e+04 0 2 0 -P 498 22 -1.6452711791992366e-02 -3.6019051458233342e-01 2.5273229778463250e+01 2.5275801695169278e+01 1 0 0 0 0 -P 499 22 -6.2504364350997391e-02 -8.0774054803624262e-02 4.9964573927914531e+00 4.9975011477210005e+00 1 0 0 0 0 -V -184 0 8.3204896062159062e+00 1.0332658544013446e+01 5.7914133239431510e+02 5.7957175112961193e+02 0 2 0 -P 500 111 2.3112168034984848e-01 1.3399634313306413e-01 4.4107569879031141e+00 4.4209013852196390e+00 2 0 0 -187 0 -P 501 111 -6.2447227091235033e-04 1.5224269557071959e-01 1.1632825363342103e+01 1.1634604581279744e+01 2 0 0 -188 0 -V -185 0 5.9191423123642126e+00 -3.5229179368354964e+00 1.3672391366783058e+01 1.7285422724912362e+01 0 2 0 -P 502 22 1.3849160653925421e-01 4.8985762220871587e-02 9.9620470836708538e-02 1.7749300885361896e-01 1 0 0 0 0 -P 503 22 4.2036692998391960e-02 -4.3780713930145439e-02 1.3441800967046419e-01 1.4748571386491399e-01 1 0 0 0 0 -V -186 0 -1.5319121601429257e+00 -1.1341243479074379e+00 2.3597355380886921e+01 2.3674761521425197e+01 0 1 0 -P 504 310 -5.3510513540338858e+00 -4.2539020075613285e+00 9.0128199084237636e+01 9.0388436088253655e+01 2 0 0 -189 0 -V -187 0 8.3205058018096860e+00 1.0332667933657628e+01 5.7914164147318786e+02 5.7957206091934199e+02 0 2 0 -P 505 22 1.4556432632519314e-01 1.1477835496819101e-01 2.0062005312401254e+00 2.0147465387526720e+00 1 0 0 0 0 -P 506 22 8.5557354024655349e-02 1.9217988164873117e-02 2.4045564566629887e+00 2.4061548464669662e+00 1 0 0 0 0 -V -188 0 8.3204895606801834e+00 1.0332669645357106e+01 5.7914218064513989e+02 5.7957259951017500e+02 0 2 0 -P 507 22 -5.3429310476486372e-02 1.0250131131284537e-01 4.7891381981192582e+00 4.7905329443313311e+00 1 0 0 0 0 -P 508 22 5.2804838205574023e-02 4.9741384257874215e-02 6.8436871652228444e+00 6.8440716369484100e+00 1 0 0 0 0 -V -189 0 -3.2981548940590801e+02 -2.6210829108664274e+02 5.5529047098669216e+03 5.5689474897177488e+03 0 2 0 -P 509 -211 -1.7367273505747305e+00 -1.5458641657711161e+00 2.8848140564360470e+01 2.8942021555434749e+01 1 0 0 0 0 -P 510 211 -3.6143240034591551e+00 -2.7080378417902127e+00 6.1280058519877166e+01 6.1446414532818906e+01 1 0 0 0 0 -E 5 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 218 0 0 -V -1 0 0 0 0 0 1 3 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 21 3.2992939111429004e-01 -7.1181912190923491e-01 9.0096214824555136e+02 9.0096248984688827e+02 3 0 0 -3 0 -P 14 2 -5.5365822308336554e-01 3.4509673924388229e-01 2.5091064739376443e+00 2.6134545117488437e+00 2 0 0 -9 0 -P 29 2101 2.2372883196907553e-01 3.6672238266535262e-01 5.3966101099142470e+03 5.3966101581077546e+03 2 0 0 -25 0 -V -2 0 0 0 0 0 1 3 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 21 -4.4604738137447780e-01 -4.4508489499117149e-01 -3.3991077613470765e+01 3.3996917744924559e+01 3 0 0 -4 0 -P 16 2203 2.3781727192142083e-01 1.3771298185638053e-01 -6.2853045277091305e+03 6.2853045810455988e+03 2 0 0 -11 0 -P 37 1 2.0823010945305698e-01 3.0737191313479095e-01 -7.4415207898946619e+01 7.4416865722193066e+01 2 0 0 -25 0 -V -3 0 0 0 0 0 0 5 0 -P 5 1 -3.0085522013949689e-01 1.1399974905881729e+00 5.0422379313784262e+02 5.0422517159941145e+02 3 0 0 -5 0 -P 13 -1 1.2673117148687165e+00 -1.3842638091505211e+00 7.8698417845006162e+01 7.8721484593363400e+01 2 0 0 -9 0 -P 30 21 -4.6149507887473545e-01 -2.2715799945074164e-01 5.7059132312250952e+01 5.7061450723684736e+01 2 0 0 -25 0 -P 31 21 -4.0362956554163681e-01 1.1673687347620827e+00 1.4998499597455123e+02 1.4999008195235854e+02 2 0 0 -25 0 -P 32 21 2.5074276787416866e-01 -1.3942091873039719e+00 1.0761474191487194e+02 1.0762406500684733e+02 2 0 0 -25 0 -V -4 0 0 0 0 0 0 4 0 -P 6 -2 3.6455143299337252e+00 3.8342312877411899e+00 -1.8047247107697999e+00 5.5900031824060150e+00 3 0 0 -5 0 -P 15 2 -4.1159171909325689e+00 -3.0147215458824776e+00 -2.9604825409076863e+01 3.0043034264596933e+01 2 0 0 -11 0 -P 35 21 -1.6212560032512757e-01 -8.5363446188281877e-01 8.8578769426193138e-01 1.2408047163436402e+00 2 0 0 -25 0 -P 36 21 1.6433585287674621e-01 -4.2451452632135017e-01 -8.6248126834592029e-02 4.6331155282492553e-01 2 0 0 -25 0 -V -5 0 0 0 0 0 0 2 0 -P 7 -24 -9.0579211800333426e-01 3.7016351602104836e+00 4.9106971928988440e+02 4.9762938157847765e+02 3 0 0 -6 0 -P 8 22 4.2504512277975630e+00 1.2725936181188806e+00 1.1349349137188561e+01 1.2185793203339950e+01 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 -24 -9.0579211800333426e-01 3.7016351602104836e+00 4.9106971928988440e+02 4.9762938157847765e+02 2 0 0 -8 0 -V -7 0 0 0 0 0 0 1 0 -P 10 22 4.2504512277975630e+00 1.2725936181188806e+00 1.1349349137188561e+01 1.2185793203339923e+01 1 0 0 0 0 -V -8 0 0 0 0 0 0 2 0 -P 11 11 -3.1560318019062390e+01 2.6910330199055338e+01 2.8518798748746264e+02 2.8818814644654589e+02 1 0 0 0 0 -P 12 -12 3.0654525901059060e+01 -2.3208695038844859e+01 2.0588173180242171e+02 2.0944123513193171e+02 1 0 0 0 0 -V -9 0 0 0 0 0 0 1 0 -P 46 92 7.1365349178535098e-01 -1.0391670699066387e+00 8.1207524318943811e+01 8.1334939105112241e+01 2 0 0 -10 0 -V -10 0 0 0 0 0 0 5 0 -P 47 111 -1.2987933502875690e-01 -2.5113340363148784e-01 2.5317152752162979e+00 2.5510269428703771e+00 2 0 0 -35 0 -P 48 213 7.4830653663342495e-01 -1.7382372879353764e-02 4.3774839145295914e+01 4.3790551134415779e+01 2 0 0 -36 0 -P 49 -213 -2.9117511823875525e-01 -4.3939165795158736e-01 1.4260854072619713e+01 1.4288861360745033e+01 2 0 0 -37 0 -P 50 213 -2.1069355383734140e-01 -2.7656697558868826e-01 1.5627412790254821e+01 1.5654259573374869e+01 2 0 0 -38 0 -P 51 111 5.9709496225677960e-01 -5.4692659855521464e-02 5.0127030355570623e+00 5.0502400937061882e+00 2 0 0 -39 0 -V -11 0 0 0 0 0 0 1 0 -P 52 92 -3.8780999190111483e+00 -2.8770085640260969e+00 -6.3149093531182070e+03 6.3153476153101956e+03 2 0 0 -12 0 -V -12 0 0 0 0 0 0 10 0 -P 53 113 -2.6442133118282958e+00 -2.3165293324998335e+00 -2.2580063872574136e+01 2.2865503691765191e+01 2 0 0 -40 0 -P 54 221 -5.1630481154154895e-01 1.5967696321760094e-02 -2.0035205258790207e+01 2.0049338564902872e+01 2 0 0 -41 0 -P 55 211 -8.7519077897546693e-01 -6.7220077889196328e-01 -6.5156567288365199e+00 6.6099224790975617e+00 1 0 0 0 0 -P 56 111 1.9202974635290213e-01 2.5211810958452568e-01 -9.4217139466307191e+00 9.4280089232669173e+00 2 0 0 -42 0 -P 57 -213 9.4326428486984373e-02 -4.8155754348202640e-01 -4.3195836080971688e+01 4.3206533032295752e+01 2 0 0 -43 0 -P 58 321 -4.2092082351619076e-01 7.6023322511133951e-01 -5.4832750693731569e+01 5.4841857358199974e+01 1 0 0 0 0 -P 59 -323 5.3330045068290033e-01 -4.0351878893496296e-01 -6.3591499500441905e+01 6.3601150529299844e+01 2 0 0 -44 0 -P 60 111 -4.7209376929507818e-01 -5.2551861933480060e-01 -3.3238644448347941e+01 3.3246424570325850e+01 2 0 0 -45 0 -P 61 2224 6.8188613475259922e-03 3.7782727808420416e-02 -9.1247280998350175e+02 9.1247367669780419e+02 2 0 0 -46 0 -P 62 111 2.2414808927512009e-01 4.5621474029144382e-01 -5.1490251726043825e+03 5.1490251994632381e+03 2 0 0 -47 0 -V -13 0 0 0 0 0 2 1 0 -P 17 2 -3.6919233007313528e+00 8.1942682496522661e+00 2.9565764077792278e+02 2.9579421373680213e+02 2 0 0 -13 0 -P 18 -2 3.6919233007313528e+00 -8.1942682496522661e+00 1.0292203617146285e+02 1.0331370605822661e+02 2 0 0 -13 0 -P 63 92 0 0 3.9857967694938566e+02 3.9910791979502875e+02 2 0 0 -14 0 -V -14 0 0 0 0 0 0 7 0 -P 64 213 -1.5835447595257053e+00 3.0390962863600426e+00 1.0583303842892066e+02 1.0589013999419520e+02 2 0 0 -48 0 -P 65 -213 -1.1443922070689834e+00 2.4049085538196557e+00 9.6289570725061836e+01 9.6329373550777277e+01 2 0 0 -49 0 -P 66 213 -3.0046508081645801e-01 1.7803118867427987e+00 5.7444662891378144e+01 5.7478363119977544e+01 2 0 0 -50 0 -P 67 -213 -2.5016439277491315e-01 3.1350862441051930e-01 4.0612390002610852e+01 4.0622507641923903e+01 2 0 0 -51 0 -P 68 213 3.3250187937355535e-01 -8.3151583915031479e-01 6.8897046607273635e+00 6.9760920973408034e+00 2 0 0 -52 0 -P 69 223 1.8182876739207015e+00 -4.9227019655990896e+00 6.7504589614192298e+01 6.7712745517919686e+01 2 0 0 -53 0 -P 70 -211 1.1277768868918030e+00 -1.7836075465836119e+00 2.4005720626494561e+01 2.4098697872894373e+01 1 0 0 0 0 -V -15 0 0 0 0 0 2 1 0 -P 19 1 4.0721905699000063e+00 -5.2481001487683923e+00 5.1379595964107374e+01 5.1807221240325212e+01 2 0 0 -15 0 -P 20 -1 -4.0721905699000063e+00 5.2481001487683923e+00 3.4479876218613377e+01 3.5113916831649327e+01 2 0 0 -15 0 -P 71 92 0 0 8.5859472182720751e+01 8.6921138071974539e+01 2 0 0 -16 0 -V -16 0 0 0 0 0 0 8 0 -P 72 -211 4.1720297738051321e-01 -9.7235207672939661e-01 7.5602071648272782e+00 7.6351646377442872e+00 1 0 0 0 0 -P 73 211 2.6665249123579446e+00 -2.9349752846126558e+00 3.2950695340201079e+01 3.3188736616767464e+01 1 0 0 0 0 -P 74 111 3.6072230697643126e-01 -6.2146570580823457e-01 3.1338517615404928e+00 3.2180097373930638e+00 2 0 0 -54 0 -P 75 113 -4.4948408298591003e-01 -3.3788088157719054e-03 8.4523847160801058e+00 8.4982551917835956e+00 2 0 0 -55 0 -P 76 -213 -2.7928243095832456e-01 3.3421120888543193e-01 4.9816177588983468e+00 5.0588216417181506e+00 2 0 0 -56 0 -P 77 213 -3.0578817058647956e-01 7.0283103003245251e-01 4.1808064202695698e+00 4.3325688354318341e+00 2 0 0 -57 0 -P 78 -211 -3.2872639824348276e-01 9.2343958879558319e-01 4.7634610442269851e+00 4.8652690186489309e+00 1 0 0 0 0 -P 79 213 -2.0811691139406925e+00 2.5716900482525915e+00 1.9836447976676894e+01 2.0124312392487205e+01 2 0 0 -58 0 -V -17 0 0 0 0 0 2 1 0 -P 21 3 -1.8652550805155896e+00 -4.6351934290813315e+00 -2.5073948479495525e+00 5.5902793815615270e+00 2 0 0 -17 0 -P 22 -3 1.8652550805155896e+00 4.6351934290813315e+00 -3.8523971426252422e+02 3.8527211375820042e+02 2 0 0 -17 0 -P 80 92 0 0 -3.8774710911047379e+02 3.9086239313976193e+02 2 0 0 -18 0 -V -18 0 0 0 0 0 0 10 0 -P 81 -313 -1.6233937553850981e+00 -4.1954492475589094e+00 -2.4490241228785110e+00 5.1978988434783595e+00 2 0 0 -59 0 -P 82 -211 -4.2766056399724119e-02 2.0905450136158240e-02 -1.4002124745972655e-01 2.0335119391229980e-01 1 0 0 0 0 -P 83 323 -4.4702319815240105e-01 -4.8462854486530810e-01 -3.3690973393284223e+00 3.5379978508332535e+00 2 0 0 -60 0 -P 84 333 2.9235882051604356e-01 4.1909099446358361e-01 -1.1614528740318077e+01 1.1670274542743341e+01 2 0 0 -61 0 -P 85 -313 -1.9559777497210154e-01 3.2725284319419412e-01 -4.0791168457425862e+01 4.0802601861674923e+01 2 0 0 -62 0 -P 86 -213 4.2480750680325324e-01 4.0902356994726946e-01 -2.7722906134034435e+01 2.7734649552550263e+01 2 0 0 -63 0 -P 87 113 3.6771897497445705e-01 4.4681480751080627e-01 -2.0704917165556715e+01 2.0730406353871473e+01 2 0 0 -64 0 -P 88 211 -2.8978227338924745e-01 -7.0628302343640245e-02 -1.4183290555585218e+01 1.4187112916027539e+01 1 0 0 0 0 -P 89 -211 -1.9540105972758251e-02 2.5692526030371343e-01 -1.4545461008205347e+01 1.4548412563961943e+01 1 0 0 0 0 -P 90 323 1.5332178619775767e+00 2.8706931692121325e+00 -2.5222669433968153e+02 2.5224968746070860e+02 2 0 0 -65 0 -V -19 0 0 0 0 0 2 1 0 -P 23 3 1.3025773740614568e-01 -4.3032393523974077e+00 2.5316489086932532e+00 4.9944050896041228e+00 2 0 0 -19 0 -P 24 -3 -1.3025773740614568e-01 4.3032393523974077e+00 -3.3157804489828713e+01 3.3436130676079749e+01 2 0 0 -19 0 -P 91 92 0 0 -3.0626155581135460e+01 3.8430535765683871e+01 2 0 0 -20 0 -V -20 0 0 0 0 0 0 9 0 -P 92 -311 2.2891228831712537e-01 -1.3418287413741594e+00 9.8860382248171286e-01 1.7543996561917701e+00 2 0 0 -66 0 -P 93 -213 -3.7639146848800681e-01 -1.5406289235386026e+00 1.6502657513639488e-01 1.7867414552349492e+00 2 0 0 -67 0 -P 94 2114 1.6153252959411044e-01 -1.2772848818918856e+00 5.2372112884638644e-01 1.9163288714391824e+00 2 0 0 -68 0 -P 95 211 2.5979025784637988e-01 2.2354774310929568e-01 -6.7894811146840361e-01 7.7324956804880274e-01 1 0 0 0 0 -P 96 -2214 -1.8636538951424170e-01 2.9256938238575925e-01 -4.5902650063153603e+00 4.7327213645256432e+00 2 0 0 -69 0 -P 97 111 2.4447109857296742e-01 3.3083128753819330e-01 -2.0318743236789594e+00 2.0774860592739199e+00 2 0 0 -70 0 -P 98 213 -2.7401510515621635e-01 2.8125233782844189e-01 -1.7321877321484938e+00 1.8713869334189455e+00 2 0 0 -71 0 -P 99 111 -1.0109282624214720e-01 5.2155147439574179e-01 -1.7600692215106526e+00 1.8434475758402007e+00 2 0 0 -72 0 -P 100 313 4.3158615070028994e-02 2.5099903215472157e+00 -2.1510162712478085e+01 2.1674774281710462e+01 2 0 0 -73 0 -V -21 0 0 0 0 0 2 1 0 -P 25 2 -2.8388113750031851e+00 2.9291876839233497e+00 -2.8168940832775746e+00 4.9572051386744045e+00 2 0 0 -21 0 -P 26 -2 2.8388113750031851e+00 -2.9291876839233497e+00 6.3131813241358550e+01 6.3263455751739258e+01 2 0 0 -21 0 -P 101 92 0 0 6.0314919158080976e+01 6.8220660890413654e+01 2 0 0 -22 0 -V -22 0 0 0 0 0 0 10 0 -P 102 213 -1.2382245544498864e+00 1.4759587873216322e+00 -1.5264135160047374e+00 2.5739330296056240e+00 2 0 0 -74 0 -P 103 221 -8.9982101828616334e-01 5.4142902707731055e-01 -5.3645233237309187e-01 1.3001176345700249e+00 2 0 0 -75 0 -P 104 -211 -8.6753321823725624e-03 5.6832963889609747e-02 9.7176499890667928e-02 1.7952243370663501e-01 1 0 0 0 0 -P 105 321 -4.0054756700537497e-01 4.1344381052312046e-01 1.2388557587843947e-01 7.6835065810119207e-01 1 0 0 0 0 -P 106 -313 -4.3881953299186965e-01 1.5849794511534281e-02 1.5502399495560006e+00 1.8454355154493816e+00 2 0 0 -76 0 -P 107 -213 2.6975585621736647e-01 -2.0224994353228565e-01 1.4308574448043745e-01 8.2389832737315261e-01 2 0 0 -77 0 -P 108 213 7.7555631014750070e-01 1.3582975137081782e-01 4.8071584803948841e+00 4.9465123732681642e+00 2 0 0 -78 0 -P 109 -211 1.6084505806401775e-01 -9.8786281136593837e-02 1.3415766842308592e+01 1.3417820598522365e+01 1 0 0 0 0 -P 110 211 3.3737414580549596e-01 -7.4336572542037649e-01 6.7542972105104546e+00 6.8048824022753731e+00 1 0 0 0 0 -P 111 -213 1.4425566346812861e+00 -1.5949421846047691e+00 3.5486174703439339e+01 3.5560187917541761e+01 2 0 0 -79 0 -V -23 0 0 0 0 0 2 1 0 -P 27 2 -3.5408957207564704e+00 1.3337324649314468e+00 1.4937252408811208e+01 1.5409032880678133e+01 2 0 0 -23 0 -P 28 -2 3.5408957207564704e+00 -1.3337324649314468e+00 4.7168621002604638e+00 6.0469474006441590e+00 2 0 0 -23 0 -P 112 92 0 0 1.9654114509071672e+01 2.1455980281322294e+01 2 0 0 -24 0 -V -24 0 0 0 0 0 0 8 0 -P 113 223 -1.7834465290486393e-01 1.0779146855581252e-01 2.9797667718739342e+00 3.0863604647422442e+00 2 0 0 -80 0 -P 114 113 -1.0902801693616622e+00 4.5065934647299072e-01 4.8491888434946748e+00 5.1024990374205057e+00 2 0 0 -81 0 -P 115 111 -3.3248940486964124e-01 2.3166493925117712e-01 5.1260100030508238e-01 6.6723102021907743e-01 2 0 0 -82 0 -P 116 213 5.4395505009151517e-02 -3.5753673771347694e-01 3.6959306688638129e+00 3.7765891594248417e+00 2 0 0 -83 0 -P 117 223 -3.6940382873256322e-01 -2.0534285256312060e-01 1.5468769853517426e+00 1.7802756873006378e+00 2 0 0 -84 0 -P 118 113 -2.1983674369034181e-01 6.1736195755313583e-01 1.8723689218941149e+00 2.0935892371951130e+00 2 0 0 -85 0 -P 119 111 1.1404511704074396e+00 -2.7154403133829735e-01 1.2971289847431351e+00 1.7536043557484422e+00 2 0 0 -86 0 -P 120 -213 9.9550812414248135e-01 -5.7305409021822129e-01 2.9002523325451683e+00 3.1958313192714209e+00 2 0 0 -87 0 -V -25 0 0 0 0 0 2 1 0 -P 33 21 8.8527156785984806e-01 -5.7553602736705196e+00 -2.4199878604494717e+01 2.4890600677783713e+01 2 0 0 -25 0 -P 34 21 -8.8527156785984806e-01 5.7553602736705196e+00 -6.2954009301687258e+01 6.3222742464919470e+01 2 0 0 -25 0 -P 121 92 -1.8021268256845246e-01 -1.0580531443966563e+00 5.5504994238782192e+03 5.8755200809247099e+03 2 0 0 -26 0 -V -26 0 0 0 0 0 0 37 0 -P 122 221 1.1563614818692559e-01 -3.1187647073665451e-02 5.3420846984279729e+02 5.3420876377842535e+02 2 0 0 -88 0 -P 123 2212 -6.2791982027313717e-02 7.6867611752465992e-01 2.9853349842085568e+03 2.9853352312756942e+03 1 0 0 0 0 -P 124 -211 -6.3737058678301636e-02 -6.4464644421178707e-01 1.9900387741310286e+02 1.9900498068310966e+02 1 0 0 0 0 -P 125 113 1.5027328344524130e-01 2.0693100318503993e-01 1.2269984836524957e+03 1.2269987428070176e+03 2 0 0 -89 0 -P 126 113 -9.9821919675496071e-02 5.0103807635626529e-01 2.1777529106655865e+02 2.1777760470222898e+02 2 0 0 -90 0 -P 127 -313 -9.1855261829841561e-01 -4.5271496597028515e-01 1.9852981625081372e+02 1.9853426767512232e+02 2 0 0 -91 0 -P 128 323 7.1450236264555178e-01 1.5079031761695599e-01 1.0405513205706657e+02 1.0406120895549580e+02 2 0 0 -92 0 -P 129 -213 -2.6371613026223212e-01 -3.3569803118640140e-01 1.5291910085517253e+02 1.5292119444523502e+02 2 0 0 -93 0 -P 130 211 3.0711481321928247e-01 5.6434962399740579e-02 1.7469094645523576e+01 1.7472442643564186e+01 1 0 0 0 0 -P 131 -211 -1.3416783174028993e-01 4.7853828154534966e-01 4.9650636537858709e+01 4.9653320012799036e+01 1 0 0 0 0 -P 132 211 -4.4171694323995486e-01 -8.0515863604828064e-01 1.9039571188948941e+01 1.9062217739053946e+01 1 0 0 0 0 -P 133 -2114 -1.3488630166892554e-01 -2.6020823766813067e-01 1.8719458121583301e+00 2.1920492447609377e+00 2 0 0 -94 0 -P 134 221 5.9907600476643053e-01 3.1183801267853273e-01 3.6841720694354785e-01 9.4422865160420322e-01 2 0 0 -95 0 -P 135 1114 -7.9078364399711776e-02 -5.3473729042418372e-02 2.4990460379589137e+00 2.8511181245797439e+00 2 0 0 -96 0 -P 136 223 -1.3331819562169198e-01 -3.1501969795261053e-01 -4.3131521562232121e-02 8.5408332284258204e-01 2 0 0 -97 0 -P 137 211 3.0231113463725909e-02 -2.1285675831915882e-01 -2.3543486414109713e-01 3.4803919310407555e-01 1 0 0 0 0 -P 138 111 -3.6331973746602270e-02 7.4355670744629440e-02 -7.6645288247255569e-02 1.7590588022778733e-01 2 0 0 -98 0 -P 139 113 1.6627168576861587e-01 -2.5512952828724614e-03 -1.1719602585717434e-01 7.9896620060520418e-01 2 0 0 -99 0 -P 140 -213 1.8246870701846693e-01 -6.4142436952788440e-01 -2.3077172616991168e+00 2.5247664616293304e+00 2 0 0 -100 0 -P 141 113 -9.2484989919595070e-02 -1.1964227291138891e+00 -5.3193696218967101e+00 5.5240094460187201e+00 2 0 0 -101 0 -P 142 221 4.3290844393668704e-01 -2.2932482823933737e+00 -1.1118240214783999e+01 1.1373713746251170e+01 2 0 0 -102 0 -P 143 211 1.4314659529045259e-01 3.3792954234072853e-01 -4.8759767464944481e+00 4.8917600452786267e+00 1 0 0 0 0 -P 144 -211 -1.5173971936078676e-01 1.2638509867730544e-01 -2.3517255215454607e+00 2.3641258107781722e+00 1 0 0 0 0 -P 145 111 2.8806011104816087e-01 1.8808112209402078e-01 -6.9861950017284147e-01 7.9034292714425880e-01 2 0 0 -103 0 -P 146 111 -2.9325266533451849e-01 -2.1300619373632457e-01 -6.2084500620099243e+00 6.2204855547752071e+00 2 0 0 -104 0 -P 147 213 -6.9858610278359504e-02 1.2685306871492477e+00 -1.8500623011952744e+01 1.8556331415289904e+01 2 0 0 -105 0 -P 148 223 5.5063662683315945e-02 1.1997527113990876e-01 -3.0076947242410959e+00 3.1107144834006855e+00 2 0 0 -106 0 -P 149 -2214 -1.8794218320233000e-01 1.5241617555512106e+00 -1.9106462282427337e+01 1.9207265750409690e+01 2 0 0 -107 0 -P 150 2214 -2.8650488155922194e-01 2.9534757115427968e-01 -7.5922854307518755e+00 7.7042773613584803e+00 2 0 0 -108 0 -P 151 -213 -1.3395677309501619e-01 2.8646169779760616e-01 -7.1516780777701350e-01 1.1477456820086733e+00 2 0 0 -109 0 -P 152 221 1.5464435260082576e-01 -3.5154860600178450e-01 -2.3517657972875368e-02 6.6914563505238200e-01 2 0 0 -110 0 -P 153 -311 9.3352618998182743e-02 4.0984422314125646e-01 -2.9781253674948460e+00 3.0485395080484676e+00 2 0 0 -111 0 -P 154 333 -3.2368338848019457e-01 -4.2702770182420224e-01 -9.2713163076349650e-02 1.1654977849741417e+00 2 0 0 -112 0 -P 155 333 -1.0877256872155437e-01 3.7570467122067591e-01 -1.1471981162283685e+01 1.1523662684436765e+01 2 0 0 -113 0 -P 156 321 6.2410157985014460e-02 -5.2815613120594274e-01 -2.4718281324740081e+00 2.5761248423242393e+00 1 0 0 0 0 -P 157 113 1.7841524909498518e-01 -2.1422710011190485e-01 -4.1990941872267165e+01 4.1999942208294883e+01 2 0 0 -114 0 -P 158 -211 1.6252710659019495e-01 4.3949932995684760e-01 -1.7920595656609230e+01 1.7927264241762899e+01 1 0 0 0 0 -V -27 0 0 0 0 0 2 1 0 -P 38 21 -6.3139095306073623e+00 7.0920315162380083e+00 2.2607817567288038e+01 2.4520925344362215e+01 2 0 0 -27 0 -P 39 21 6.3139095306073623e+00 -7.0920315162380083e+00 -3.5928099200277863e+00 1.0152371531295421e+01 2 0 0 -27 0 -P 159 92 0 0 1.9015007647260251e+01 3.4673296875657634e+01 2 0 0 -28 0 -V -28 0 0 0 0 0 0 17 0 -P 160 213 -5.1422483611792558e-01 1.5560370109051272e-01 1.4202938423971254e+00 1.7497322796917145e+00 2 0 0 -115 0 -P 161 -213 1.2736655420832138e-01 8.1992574492073922e-01 1.5226761082985145e+00 1.8398587605528547e+00 2 0 0 -116 0 -P 162 223 -1.7023916178032368e+00 2.0795757104791130e+00 6.5575562691596261e+00 7.1299160716087355e+00 2 0 0 -117 0 -P 163 211 -2.9059822685827419e-01 -2.9736811450474465e-02 1.1929840970980694e+00 1.2361320512944036e+00 1 0 0 0 0 -P 164 -211 -1.0881062221915685e+00 1.2539725263908137e+00 2.4746291473983963e+00 2.9832350644507852e+00 1 0 0 0 0 -P 165 211 -1.2852746139432256e+00 1.4134826699002714e+00 5.3384294397887020e+00 5.6716992832711099e+00 1 0 0 0 0 -P 166 -2212 1.4237307138452032e-01 -3.5996864709774652e-02 5.6565571914432167e-01 1.1053880998206356e+00 1 0 0 0 0 -P 167 211 -1.7998566349533646e-01 -1.5840940836931164e-01 5.4777086598057086e-02 2.8278736506418189e-01 1 0 0 0 0 -P 168 2114 3.5739987847657645e-01 2.2720806770406607e-01 3.6523500098511946e-01 1.3004119985260876e+00 2 0 0 -118 0 -P 169 111 -5.1434735918982422e-01 -7.7300339775299809e-01 1.1148117917540183e-01 9.4484660794944053e-01 2 0 0 -119 0 -P 170 -211 1.5714668856322211e+00 -6.0581539196193168e-01 -5.4913199377787304e-02 1.6908624149062295e+00 1 0 0 0 0 -P 171 -1114 8.8585869246348492e-01 -1.5968024045320024e+00 -4.2221015967941866e-01 2.3027386541183241e+00 2 0 0 -120 0 -P 172 3112 1.2493548114864377e+00 -1.2508727455032398e+00 -6.8508891720731258e-01 2.2424940241854410e+00 2 0 0 -121 0 -P 173 313 6.8179411573870519e-01 -3.6752254254946726e-01 5.4549415498849577e-02 1.1551152151744939e+00 2 0 0 -122 0 -P 174 213 8.7514099172343518e-01 -9.1457541533900566e-01 -1.9944632590699943e-01 1.6271978862616123e+00 2 0 0 -123 0 -P 175 -211 7.3183821062345222e-02 7.1751877688641233e-02 -4.4579470420669780e-02 1.7880525076215875e-01 1 0 0 0 0 -P 176 113 -3.8901028257665571e-01 -2.8878531600595153e-01 7.6297841431025348e-01 1.2320758480194269e+00 2 0 0 -124 0 -V -29 0 0 0 0 0 2 1 0 -P 40 21 4.0592867731266056e+00 -2.6703314664466724e+00 -1.8206386794109676e+01 1.8843593058222922e+01 2 0 0 -29 0 -P 41 21 -4.0592867731266056e+00 2.6703314664466724e+00 6.5387013204165399e+01 6.5567293485463281e+01 2 0 0 -29 0 -P 177 92 0 0 4.7180626410055723e+01 8.4410886543686203e+01 2 0 0 -30 0 -V -30 0 0 0 0 0 0 15 0 -P 178 -321 -3.3623874390774883e-02 2.4690994028450861e-01 -2.6951601874273334e-01 6.1512188052391659e-01 1 0 0 0 0 -P 179 211 9.2022143347366359e-01 -9.0492262529110890e-01 -3.4802493120833939e+00 3.7144727086822180e+00 1 0 0 0 0 -P 180 331 2.8547714123264654e+00 -1.3978162152551836e+00 -1.1295889724261475e+01 1.1773753288764665e+01 2 0 0 -125 0 -P 181 -211 -2.1966458442153422e-01 -7.8242988024705071e-02 -3.6872339754814093e-01 4.5805155127295866e-01 1 0 0 0 0 -P 182 211 2.9560049319651122e-01 -2.0553784478372053e-01 2.0154644030530203e-01 4.3557572213806423e-01 1 0 0 0 0 -P 183 -213 4.8499322815683815e-01 -2.4176671902283986e-01 -1.2630218756659783e+00 1.5443904458672615e+00 2 0 0 -126 0 -P 184 223 -4.9798993623797905e-01 -7.9872460916706869e-02 1.4542593319776393e+00 1.7271969649830978e+00 2 0 0 -127 0 -P 185 111 -8.1435240888755867e-02 2.1770867381234621e-01 -4.8166487593616319e-01 5.5158808745506804e-01 2 0 0 -128 0 -P 186 211 -4.0963834077238803e-02 -8.1786285732019265e-02 -7.3954640395227589e-02 1.8252700066602331e-01 1 0 0 0 0 -P 187 -213 -1.9208712477878448e-01 1.0153734892728536e+00 1.0093633192296094e+01 1.0172602378103548e+01 2 0 0 -129 0 -P 188 113 -4.0460519527275640e-01 -1.8742290283792634e-01 1.4460803220046335e+01 1.4483694098040059e+01 2 0 0 -130 0 -P 189 323 -1.8174133915270314e+00 8.5518474033833691e-01 1.5636980567886377e+01 1.5790404265907304e+01 2 0 0 -131 0 -P 190 -313 -6.1300964784639689e-01 4.4874979596463827e-01 1.5814169758309760e+01 1.5858292211205139e+01 2 0 0 -132 0 -P 191 2112 -2.0875628243328179e-01 2.2254556192762173e-01 2.8276378449769140e+00 2.9952350959206409e+00 1 0 0 0 0 -P 192 -3122 -4.4603745527894489e-01 1.7089584026390511e-01 3.9246158988903992e+00 4.1079808441562280e+00 2 0 0 -133 0 -V -31 0 0 0 0 0 2 1 0 -P 42 21 -3.5966403857613591e+00 9.8909210856074747e-01 -6.8991601771054407e+00 7.8429928224539607e+00 2 0 0 -31 0 -P 43 21 3.5966403857613591e+00 -9.8909210856074747e-01 -5.4062667533947362e+01 5.4191199895830252e+01 2 0 0 -31 0 -P 193 92 0 0 -6.0961827711052806e+01 6.2034192718284217e+01 2 0 0 -32 0 -V -32 0 0 0 0 0 0 9 0 -P 194 -313 9.9449836339841191e-01 -6.3495009228094301e-01 -1.4642299615826484e+01 1.4717074686290321e+01 2 0 0 -134 0 -P 195 -213 6.9761486862091593e-01 -2.0191774573662452e-01 -9.7431391037408730e+00 9.7889921005604528e+00 2 0 0 -135 0 -P 196 321 9.0124089448534161e-01 -4.4767419129957531e-01 -8.9439134555301649e+00 9.0138713209953245e+00 1 0 0 0 0 -P 197 -321 -6.3603380049890879e-01 1.4504099316767780e-01 -4.6266617828900456e+00 4.6984269812705879e+00 1 0 0 0 0 -P 198 113 3.6907253066300794e-01 -1.4699212866480399e-01 -8.5021209501925501e+00 8.5375578909228391e+00 2 0 0 -136 0 -P 199 221 -1.1158814362096265e+00 7.2491333857959150e-01 -2.4507253306324639e+00 2.8419090198019128e+00 2 0 0 -137 0 -P 200 211 -3.4212525303292468e-01 -2.2696230407884616e-01 -6.7469338663752003e+00 6.7608548245304183e+00 1 0 0 0 0 -P 201 -213 -1.7598972275668995e-01 3.3505003289999202e-01 -1.7733387402423706e+00 1.9326147762775303e+00 2 0 0 -138 0 -P 202 323 -6.9239644466952743e-01 4.5349209741353164e-01 -3.5326948656226587e+00 3.7428911176348358e+00 2 0 0 -139 0 -V -33 0 0 0 0 0 2 1 0 -P 44 21 1.6002652901426460e+00 -2.4352657274836234e+00 2.8688832362561115e+01 2.8836443443833804e+01 2 0 0 -33 0 -P 45 21 -1.6002652901426460e+00 2.4352657274836234e+00 8.2577967751982451e-01 3.0287423525444375e+00 2 0 0 -33 0 -P 203 92 0 0 2.9514612040080941e+01 3.1865185796378242e+01 2 0 0 -34 0 -V -34 0 0 0 0 0 0 9 0 -P 204 111 1.0518787012931753e-01 -1.5995524457287180e-01 7.7600686419646514e-01 8.1059016893171143e-01 2 0 0 -140 0 -P 205 111 1.2478783609177713e-01 -3.6358255829143427e-02 2.1168354202844193e+00 2.1251131084660222e+00 2 0 0 -141 0 -P 206 -2224 -5.5186870172860858e-01 1.0329040235764173e+00 8.5442774549095424e-01 1.9723301257490100e+00 2 0 0 -142 0 -P 207 2224 -4.4972267469397098e-01 7.1644814273694990e-01 1.8328017645199988e+00 2.3811516687914014e+00 2 0 0 -143 0 -P 208 -213 -5.0716668288443600e-01 -5.4504576392598904e-02 1.3018912898240806e+00 1.5715730784703104e+00 2 0 0 -144 0 -P 209 211 1.1243572544296603e+00 -1.1191386976602283e-01 4.6556363922388408e+00 4.7928210848594484e+00 1 0 0 0 0 -P 210 -211 3.7004756859602959e-03 -8.3816613942284957e-01 6.7174081650278819e+00 6.7709370408591569e+00 1 0 0 0 0 -P 211 213 2.3150705552517567e-01 -5.3768853904646212e-03 3.2265766557190916e+00 3.3703104910732882e+00 2 0 0 -145 0 -P 212 221 -8.0782432554875203e-02 -5.4307719493941597e-01 8.0330277427792112e+00 8.0703590291778973e+00 2 0 0 -146 0 -V -35 0 -1.6215267168984296e-05 -3.1353680968872467e-05 3.1608138103218157e-04 3.1849241778733736e-04 0 2 0 -P 213 22 1.5032738330306678e-02 -1.0610389672991376e-01 7.6971546215477149e-01 7.7713957099295439e-01 1 0 0 0 0 -P 214 22 -1.4491207335906356e-01 -1.4502950690157407e-01 1.7619998130615260e+00 1.7738873718774226e+00 1 0 0 0 0 -V -36 0 0 0 0 0 0 2 0 -P 215 211 7.8196068794107787e-02 -3.3495008531546488e-01 9.1794139134572532e+00 9.1869160094288596e+00 1 0 0 0 0 -P 216 111 6.7011046783931716e-01 3.1756771243611115e-01 3.4595425231838661e+01 3.4603635124986923e+01 2 0 0 -147 0 -V -37 0 0 0 0 0 0 2 0 -P 217 -211 -4.9685789383140927e-01 -3.6267488655702912e-01 1.0819762776427670e+01 1.0838133933619364e+01 1 0 0 0 0 -P 218 111 2.0568277559265397e-01 -7.6716771394558292e-02 3.4410912961920448e+00 3.4507274271256705e+00 2 0 0 -148 0 -V -38 0 0 0 0 0 0 2 0 -P 219 211 1.5091075346411628e-01 -4.4759866324261638e-01 8.8874577707197915e+00 8.9010956645839556e+00 1 0 0 0 0 -P 220 111 -3.6160430730145765e-01 1.7103168765392807e-01 6.7399550195350288e+00 6.7531639087909117e+00 2 0 0 -149 0 -V -39 0 6.6134868952544265e-05 -6.0578167977499482e-06 5.5521228499667028e-04 5.5936992922159148e-04 0 2 0 -P 221 22 3.9890753756978531e-01 -8.3411821985644619e-02 2.9894333750092708e+00 3.0170841319386961e+00 1 0 0 0 0 -P 222 22 1.9818742468699430e-01 2.8719162130123162e-02 2.0232696605477911e+00 2.0331559617674917e+00 1 0 0 0 0 -V -40 0 0 0 0 0 0 2 0 -P 223 -211 -8.0116535432035585e-01 -4.3595563284300476e-01 -4.4464390949206933e+00 4.5411698546200583e+00 1 0 0 0 0 -P 224 211 -1.8430479575079395e+00 -1.8805736996568283e+00 -1.8133624777653438e+01 1.8324333837145126e+01 1 0 0 0 0 -V -41 0 0 0 0 0 0 2 0 -P 225 22 -5.5928768554192265e-01 -1.5147257359489372e-01 -1.5692017076727673e+01 1.5702711440769178e+01 1 0 0 0 0 -P 226 22 4.2982874000373740e-02 1.6744026991665381e-01 -4.3431881820625335e+00 4.3466271241336942e+00 1 0 0 0 0 -V -42 0 7.6394153622048107e-05 1.0029878162263965e-04 -3.7481894148792775e-03 3.7506937113298347e-03 0 3 0 -P 227 22 1.1629338988407917e-01 8.9272709148877694e-02 -2.8532131053532828e+00 2.8569772126653779e+00 1 0 0 0 0 -P 228 -11 1.5797118386348692e-02 1.4711735030322620e-02 -1.0283381816186061e+00 1.0285648545286661e+00 1 0 0 0 0 -P 229 11 5.9939238082474242e-02 1.4813366540532533e-01 -5.5401626596588285e+00 5.5424668560728723e+00 1 0 0 0 0 -V -43 0 0 0 0 0 0 2 0 -P 230 -211 1.4467675491244145e-01 1.8856155472397737e-01 -1.1886630144118609e+01 1.1889825179173203e+01 1 0 0 0 0 -P 231 111 -5.0350326425457087e-02 -6.7011909820600379e-01 -3.1309205936853076e+01 3.1316707853122548e+01 2 0 0 -150 0 -V -44 0 0 0 0 0 0 2 0 -P 232 -311 5.3036395409351500e-01 -1.2314697068839459e-01 -3.4041141413635536e+01 3.4049132665491257e+01 2 0 0 -151 0 -P 233 -211 2.9364965893852782e-03 -2.8037181824656832e-01 -2.9550358086806355e+01 2.9552017863808569e+01 1 0 0 0 0 -V -45 0 -4.8872289253927846e-05 -5.4402958994364631e-05 -3.4409448959975063e-03 3.4417503130490870e-03 0 2 0 -P 234 22 -4.4188958398665414e-02 -3.6742753102171405e-03 -2.1044367148210967e+00 2.1049038103985716e+00 1 0 0 0 0 -P 235 22 -4.2790481089641280e-01 -5.2184434402458346e-01 -3.1134207733526843e+01 3.1141520759927278e+01 1 0 0 0 0 -V -46 0 0 0 0 0 0 2 0 -P 236 2212 1.2977839391996976e-01 -1.4318504925871164e-01 -6.0637712423823552e+02 6.0637788094093207e+02 1 0 0 0 0 -P 237 211 -1.2295953257244377e-01 1.8096777706713205e-01 -3.0609568574526622e+02 3.0609579575687195e+02 1 0 0 0 0 -V -47 0 4.2169714021909966e-05 8.5829172994005684e-05 -9.6870296651885690e-01 9.6870297157190144e-01 0 2 0 -P 238 22 9.2913107559837393e-02 1.9693827307980796e-01 -2.8833621000331136e+03 2.8833621082557238e+03 1 0 0 0 0 -P 239 22 1.3123498171528272e-01 2.5927646721163589e-01 -2.2656630725712694e+03 2.2656630912075148e+03 1 0 0 0 0 -V -48 0 0 0 0 0 0 2 0 -P 240 211 -9.2822980160143120e-01 1.2804318498963387e+00 5.1973118949309658e+01 5.1997362331091381e+01 1 0 0 0 0 -P 241 111 -6.5531495792427386e-01 1.7586644364637036e+00 5.3859919479611001e+01 5.3892777663103821e+01 2 0 0 -152 0 -V -49 0 0 0 0 0 0 2 0 -P 242 -211 -7.6039881533248244e-01 2.0320687957741885e+00 6.9082683121476649e+01 6.9116887205634285e+01 1 0 0 0 0 -P 243 111 -3.8399339173650116e-01 3.7283975804546754e-01 2.7206887603585198e+01 2.7212486345143006e+01 2 0 0 -153 0 -V -50 0 0 0 0 0 0 2 0 -P 244 211 1.0973573194578165e-01 1.1879012864271921e+00 3.0285434690618651e+01 3.0309242576840955e+01 1 0 0 0 0 -P 245 111 -4.1020081276223969e-01 5.9241060031560666e-01 2.7159228200759497e+01 2.7169120543136597e+01 2 0 0 -154 0 -V -51 0 0 0 0 0 0 2 0 -P 246 -211 -3.1659081224093022e-01 -4.3498967383643228e-02 7.7575986968116100e+00 7.7654323271941532e+00 1 0 0 0 0 -P 247 111 6.6426419466017059e-02 3.5700759179416253e-01 3.2854791305799246e+01 3.2857075314729755e+01 2 0 0 -155 0 -V -52 0 0 0 0 0 0 2 0 -P 248 211 2.8109806984337099e-02 -7.3137418999519999e-01 4.8717155060388739e+00 4.9283658674777211e+00 1 0 0 0 0 -P 249 111 3.0439207238921828e-01 -1.0014164915511482e-01 2.0179891546884896e+00 2.0477262298630827e+00 2 0 0 -156 0 -V -53 0 0 0 0 0 0 3 0 -P 250 -211 5.7751284344357268e-01 -1.6610167022038862e+00 2.0077346456800402e+01 2.0154697172139258e+01 1 0 0 0 0 -P 251 211 5.8128837571324521e-01 -1.9934568518397549e+00 2.9607592755877548e+01 2.9680646808630684e+01 1 0 0 0 0 -P 252 111 6.5948645476388301e-01 -1.2682284115554467e+00 1.7819650401514330e+01 1.7877401537149723e+01 2 0 0 -157 0 -V -54 0 5.1864047261200106e-06 -8.9353295080138478e-06 4.5057994120876729e-05 4.6268003358622562e-05 0 2 0 -P 253 22 2.7757152045232775e-01 -5.5879187093033122e-01 2.7799486518070124e+00 2.8491066688819608e+00 1 0 0 0 0 -P 254 22 8.3150786524103473e-02 -6.2673834877903317e-02 3.5390310973347999e-01 3.6890306851110266e-01 1 0 0 0 0 -V -55 0 0 0 0 0 0 2 0 -P 255 211 -3.4537287284459200e-01 2.0534899061500686e-01 2.2461602796552680e+00 2.2860810169468100e+00 1 0 0 0 0 -P 256 -211 -1.0411121014131801e-01 -2.0872779943077877e-01 6.2062244364248373e+00 6.2121741748367851e+00 1 0 0 0 0 -V -56 0 0 0 0 0 0 2 0 -P 257 -211 1.2850549764079238e-03 3.2229511813417006e-01 9.1196910591118752e-01 9.7726313220946881e-01 1 0 0 0 0 -P 258 111 -2.8056748593473252e-01 1.1916090751261861e-02 4.0696486529871594e+00 4.0815585095086817e+00 2 0 0 -158 0 -V -57 0 0 0 0 0 0 2 0 -P 259 211 7.8085905486046631e-02 1.9157586059214773e-02 2.0788278036794767e+00 2.0850585708775737e+00 1 0 0 0 0 -P 260 111 -3.8387407607252627e-01 6.8367344397323782e-01 2.1019786165900940e+00 2.2475102645542622e+00 2 0 0 -159 0 -V -58 0 0 0 0 0 0 2 0 -P 261 211 -1.9218849411493319e-01 1.1374276734294492e-01 1.0045138277378207e+00 1.0384611930204639e+00 1 0 0 0 0 -P 262 111 -1.8889806198257593e+00 2.4579472809096470e+00 1.8831934148939073e+01 1.9085851199466742e+01 2 0 0 -160 0 -V -59 0 0 0 0 0 0 2 0 -P 263 -311 -1.4318375653716335e+00 -3.5863038245912704e+00 -2.3209274506000757e+00 4.5327821032712690e+00 2 0 0 -161 0 -P 264 111 -1.9155619001346455e-01 -6.0914542296763896e-01 -1.2809667227843524e-01 6.6511674020709111e-01 2 0 0 -162 0 -V -60 0 0 0 0 0 0 2 0 -P 265 311 -2.9659176075774984e-01 -4.6221487895696203e-02 -1.5427574353175526e+00 1.6485991118583883e+00 2 0 0 -163 0 -P 266 211 -1.5043143739465120e-01 -4.3840705696961185e-01 -1.8263399040108697e+00 1.8893987389748650e+00 1 0 0 0 0 -V -61 0 0 0 0 0 0 2 0 -P 267 -321 1.3117237531214782e-01 2.2171635567557227e-01 -7.0771807964257647e+00 7.0990487616100166e+00 1 0 0 0 0 -P 268 321 1.6118644520389575e-01 1.9737463878801137e-01 -4.5373479438923123e+00 4.5712257811333235e+00 1 0 0 0 0 -V -62 0 0 0 0 0 0 2 0 -P 269 -321 7.0076510378991513e-02 1.6115182850873450e-01 -1.4990960823910882e+01 1.5000114266670419e+01 1 0 0 0 0 -P 270 211 -2.6567428535109305e-01 1.6610101468545962e-01 -2.5800207633514976e+01 2.5802487595004493e+01 1 0 0 0 0 -V -63 0 0 0 0 0 0 2 0 -P 271 -211 4.8599111099490840e-02 -7.4756967766754417e-02 -8.1617511091659747e+00 8.1634313515029557e+00 1 0 0 0 0 -P 272 111 3.7620839570376235e-01 4.8378053771402385e-01 -1.9561155024868459e+01 1.9571218201047309e+01 2 0 0 -164 0 -V -64 0 0 0 0 0 0 2 0 -P 273 -211 5.3030438115813272e-01 2.8459142744427268e-01 -8.4553036392123389e+00 8.4778449168068466e+00 1 0 0 0 0 -P 274 211 -1.6258540618367565e-01 1.6222338006653356e-01 -1.2249613526344374e+01 1.2252561437064626e+01 1 0 0 0 0 -V -65 0 0 0 0 0 0 2 0 -P 275 311 8.0055295557585249e-01 1.1955698343636345e+00 -1.3612825986589098e+02 1.3613677343689312e+02 2 0 0 -165 0 -P 276 211 7.3266490640172433e-01 1.6751233348484984e+00 -1.1609843447379056e+02 1.1611291402381548e+02 1 0 0 0 0 -V -66 0 0 0 0 0 0 1 0 -P 277 130 2.2891228831712537e-01 -1.3418287413741594e+00 9.8860382248171286e-01 1.7543996561917690e+00 1 0 0 0 0 -V -67 0 0 0 0 0 0 2 0 -P 278 -211 -3.8537250695572384e-01 -9.0184159113101237e-01 4.3277868687666932e-01 1.0810214620097742e+00 1 0 0 0 0 -P 279 111 8.9810384677170528e-03 -6.3878733240759011e-01 -2.6775211174027441e-01 7.0571999322517431e-01 2 0 0 -166 0 -V -68 0 0 0 0 0 0 2 0 -P 280 2112 2.4694209341644854e-01 -8.4716433213517051e-01 6.4556864532723501e-01 1.4416027413516419e+00 1 0 0 0 0 -P 281 111 -8.5409563822338136e-02 -4.3012054975671515e-01 -1.2184751648084854e-01 4.7472613008753961e-01 2 0 0 -167 0 -V -69 0 0 0 0 0 0 2 0 -P 282 -2212 -1.1996124512738150e-01 2.3026123610330118e-01 -3.6071253594137636e+00 3.7361898892602081e+00 1 0 0 0 0 -P 283 111 -6.6404144386860195e-02 6.2308146282458045e-02 -9.8313964690159639e-01 9.9653147526543429e-01 2 0 0 -168 0 -V -70 0 2.2607956805941250e-06 3.0594289068836569e-06 -1.8790166695767641e-05 1.9211970399434110e-05 0 2 0 -P 284 22 1.5503350124231352e-01 9.7732231082630405e-02 -8.5706126698882723e-01 8.7643652985959741e-01 1 0 0 0 0 -P 285 22 8.9437597330653915e-02 2.3309905645556292e-01 -1.1748130566901320e+00 1.2010495294143226e+00 1 0 0 0 0 -V -71 0 0 0 0 0 0 2 0 -P 286 211 -3.1925262209964905e-01 1.3821580424106233e-01 -5.1157300993405530e-01 6.3420231366062840e-01 1 0 0 0 0 -P 287 111 4.5237516943432650e-02 1.4303653358737961e-01 -1.2206147222144386e+00 1.2371846197583172e+00 2 0 0 -169 0 -V -72 0 -9.3894008003613711e-06 4.8441180380011681e-05 -1.6347347256430333e-04 1.7121757089428238e-04 0 2 0 -P 288 22 -9.1259807998499157e-02 1.5539919386615769e-01 -5.1519193076376746e-01 5.4580215054016890e-01 1 0 0 0 0 -P 289 22 -9.8330182436480451e-03 3.6615228052958404e-01 -1.2448772907468852e+00 1.2976454253000318e+00 1 0 0 0 0 -V -73 0 0 0 0 0 0 2 0 -P 290 311 2.9288036009376067e-01 1.2928728715900386e+00 -1.1628140700302700e+01 1.1714035630061840e+01 2 0 0 -170 0 -P 291 111 -2.4972174502373165e-01 1.2171174499571773e+00 -9.8820220121753870e+00 9.9607386516486240e+00 2 0 0 -171 0 -V -74 0 0 0 0 0 0 2 0 -P 292 211 -8.1826523521756611e-01 7.8243572685105356e-01 -1.2828767012552214e+00 1.7166875304906464e+00 1 0 0 0 0 -P 293 111 -4.1995931923232044e-01 6.9352306047057866e-01 -2.4353681474951611e-01 8.5724549911498049e-01 2 0 0 -172 0 -V -75 0 0 0 0 0 0 2 0 -P 294 22 -2.3993756374341146e-01 1.6870365091332759e-01 -4.5024786003822342e-01 5.3735843884283452e-01 1 0 0 0 0 -P 295 22 -6.5988345454275177e-01 3.7272537616398288e-01 -8.6204472334868429e-02 7.6275919572719031e-01 1 0 0 0 0 -V -76 0 0 0 0 0 0 2 0 -P 296 -321 2.9684402714531981e-02 1.0172982955755167e-01 7.8543908048649558e-01 9.3369461342657356e-01 1 0 0 0 0 -P 297 211 -4.6850393570640159e-01 -8.5880035046017392e-02 7.6480086906950495e-01 9.1174090202280789e-01 1 0 0 0 0 -V -77 0 0 0 0 0 0 2 0 -P 298 -211 -1.2939988042445941e-01 -9.9234300444954626e-02 2.9453547623268478e-01 3.6444849718208244e-01 1 0 0 0 0 -P 299 111 3.9915573664182591e-01 -1.0301564308733102e-01 -1.5144973175224732e-01 4.5944983019106961e-01 2 0 0 -173 0 -V -78 0 0 0 0 0 0 2 0 -P 300 211 2.0689198584967584e-02 -2.5828734371727674e-01 1.5152033244273926e+00 1.5435223659275032e+00 1 0 0 0 0 -P 301 111 7.5486711156253306e-01 3.9411709508809456e-01 3.2919551559674907e+00 3.4029900073406600e+00 2 0 0 -174 0 -V -79 0 0 0 0 0 0 2 0 -P 302 -211 1.1757002829753060e+00 -7.7106228617607020e-01 2.2873454234941420e+01 2.2917050347446786e+01 1 0 0 0 0 -P 303 111 2.6685635170597993e-01 -8.2387989842869880e-01 1.2612720468497917e+01 1.2643137570094973e+01 2 0 0 -175 0 -V -80 0 0 0 0 0 0 3 0 -P 304 211 -3.0013898117931026e-01 2.2241352690799113e-01 1.2558660560100285e+00 1.3176610036398551e+00 1 0 0 0 0 -P 305 -211 -2.8515883010338406e-02 -1.2080898873270086e-01 9.9053262633137185e-01 1.0079894027564984e+00 1 0 0 0 0 -P 306 111 1.5031021128478475e-01 6.1869303805222545e-03 7.3336808953253430e-01 7.6071005834589123e-01 2 0 0 -176 0 -V -81 0 0 0 0 0 0 2 0 -P 307 211 5.1240948779819634e-02 3.3106285181225731e-01 6.2296340656530647e-01 7.2096562851593138e-01 1 0 0 0 0 -P 308 -211 -1.1415211181414819e+00 1.1959649466073342e-01 4.2262254369293686e+00 4.3815334089045752e+00 1 0 0 0 0 -V -82 0 -5.1481558743536353e-05 3.5870232266659004e-05 7.9369441921158649e-05 1.0331184230181930e-04 0 2 0 -P 309 22 -8.3041828422767416e-02 1.3659289369937574e-01 1.7956183625056635e-01 2.4040802173521689e-01 1 0 0 0 0 -P 310 22 -2.4944757644687382e-01 9.5072045551801362e-02 3.3303916405451600e-01 4.2682299848386052e-01 1 0 0 0 0 -V -83 0 0 0 0 0 0 2 0 -P 311 211 1.0309018758041712e-01 4.2724264587845878e-03 2.2631018679628315e-01 2.8520505947647545e-01 1 0 0 0 0 -P 312 111 -4.8694682571265593e-02 -3.6180916417226161e-01 3.4696204820675303e+00 3.4913840999483670e+00 2 0 0 -177 0 -V -84 0 0 0 0 0 0 3 0 -P 313 -211 3.0574739693101170e-02 -4.3491576202209295e-02 4.0806616924722747e-02 1.5482666693013367e-01 1 0 0 0 0 -P 314 211 -1.5562677085262105e-01 -2.3620058456930920e-01 9.0884352597140916e-01 9.6202221780842523e-01 1 0 0 0 0 -P 315 111 -2.4435179757304334e-01 7.4349308208397899e-02 5.9722684245561075e-01 6.6342680256207898e-01 2 0 0 -178 0 -V -85 0 0 0 0 0 0 2 0 -P 316 111 -3.6392887739340002e-01 6.7496682775182959e-01 1.4962438007820593e+00 1.6867096840135030e+00 2 0 0 -179 0 -P 317 22 1.4409213370305821e-01 -5.7604870198693786e-02 3.7612512111205554e-01 4.0687955318161023e-01 1 0 0 0 0 -V -86 0 3.5647739613994551e-04 -8.4878083113578028e-05 4.0545108369145441e-04 5.4813422162874350e-04 0 2 0 -P 318 22 1.0473665451576206e+00 -2.7870050354220938e-01 1.2250032599908525e+00 1.6356294316190043e+00 1 0 0 0 0 -P 319 22 9.3084625249818934e-02 7.1564722039120275e-03 7.2125724752282516e-02 1.1797492412943782e-01 1 0 0 0 0 -V -87 0 0 0 0 0 0 2 0 -P 320 -211 9.3744393824816696e-01 -6.7184195479951447e-01 2.5898309235071864e+00 2.8384638005162497e+00 1 0 0 0 0 -P 321 111 5.8064185894314453e-02 9.8787864581293211e-02 3.1042140903798182e-01 3.5736751875517092e-01 2 0 0 -180 0 -V -88 0 0 0 0 0 0 3 0 -P 322 -211 8.3735586764706563e-02 -1.0421123019306522e-01 2.4974112587102385e+02 2.4974120065127514e+02 1 0 0 0 0 -P 323 211 6.6821925997163825e-04 -1.0568054772206613e-03 2.1333331792164230e+02 2.1333336358105069e+02 1 0 0 0 0 -P 324 111 3.1232342162247389e-02 7.4080388596620431e-02 7.1134026050131084e+01 7.1134199546099481e+01 2 0 0 -181 0 -V -89 0 0 0 0 0 0 2 0 -P 325 211 1.2309113191819084e-01 2.0477190657215033e-01 1.1824104023206878e+03 1.1824104346963943e+03 1 0 0 0 0 -P 326 -211 2.7182151527050440e-02 2.1590966128895990e-03 4.4588081331807786e+01 4.4588308110623188e+01 1 0 0 0 0 -V -90 0 0 0 0 0 0 2 0 -P 327 211 3.8045312551576935e-02 4.4176323178469101e-01 2.0603934105508088e+02 2.0603986542510555e+02 1 0 0 0 0 -P 328 -211 -1.3786723222707301e-01 5.9274844571574309e-02 1.1735950011477758e+01 1.1737739277123415e+01 1 0 0 0 0 -V -91 0 0 0 0 0 0 2 0 -P 329 -321 -8.3627361383984444e-01 -5.2573367818186700e-01 1.4711426769101732e+02 1.4711841199755347e+02 1 0 0 0 0 -P 330 211 -8.2279004458571267e-02 7.3018712211581877e-02 5.1415548559796406e+01 5.1415855677568857e+01 1 0 0 0 0 -V -92 0 0 0 0 0 0 2 0 -P 331 311 1.8498251272975502e-01 2.1534491855260202e-01 5.4113827121414495e+01 5.4116860155770283e+01 2 0 0 -182 0 -P 332 211 5.2951984991579670e-01 -6.4554600935646037e-02 4.9941304935652070e+01 4.9944348799725510e+01 1 0 0 0 0 -V -93 0 0 0 0 0 0 2 0 -P 333 -211 -7.6476777911200444e-02 -4.0287232681542129e-01 1.3202657166015865e+02 1.3202728225230263e+02 1 0 0 0 0 -P 334 111 -1.8723935235103165e-01 6.7174295629019873e-02 2.0892529195013871e+01 2.0893912192932397e+01 2 0 0 -183 0 -V -94 0 0 0 0 0 0 2 0 -P 335 -2212 -1.2935100172353481e-01 -1.5203835057338125e-01 1.5037893482216367e+00 1.7836984998639236e+00 1 0 0 0 0 -P 336 211 -5.5352999453907193e-03 -1.0816988709474940e-01 3.6815646393669343e-01 4.0835074489701390e-01 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 337 22 4.6738825445375309e-01 1.6146085191757137e-01 5.0134341685598127e-01 7.0417796665907206e-01 1 0 0 0 0 -P 338 22 1.3168775031267746e-01 1.5037716076096133e-01 -1.3292620991243345e-01 2.4005068494513118e-01 1 0 0 0 0 -V -96 0 0 0 0 0 0 2 0 -P 339 2112 1.8167414076157981e-01 -1.5341709619492785e-01 1.3596341969857564e+00 1.6697123205329250e+00 1 0 0 0 0 -P 340 -211 -2.6075250516129161e-01 9.9943367152509469e-02 1.1394118409731577e+00 1.1814058040468192e+00 1 0 0 0 0 -V -97 0 0 0 0 0 0 3 0 -P 341 211 4.5932154060343913e-02 1.3436313571120873e-01 -2.6773721114820626e-02 2.0089756608059256e-01 1 0 0 0 0 -P 342 -211 -2.3240549013258138e-01 -1.2739824390148866e-01 -1.7172491484146121e-02 3.0002883820846565e-01 1 0 0 0 0 -P 343 111 5.3155140450545445e-02 -3.2198458976233074e-01 8.1469103673461631e-04 3.5315691855352199e-01 2 0 0 -184 0 -V -98 0 -5.3456041917950884e-06 1.0940115392255510e-05 -1.1276991913333317e-05 2.5881423818737699e-05 0 2 0 -P 344 22 2.8925221694516508e-02 7.6693657802626408e-02 -9.9535856321624535e-03 8.2569119313216199e-02 1 0 0 0 0 -P 345 22 -6.5257195441118784e-02 -2.3379870579969641e-03 -6.6691702615093121e-02 9.3336760914571146e-02 1 0 0 0 0 -V -99 0 0 0 0 0 0 2 0 -P 346 211 -1.6181000821158892e-01 -1.6963424504261243e-01 -2.6313301097208053e-01 3.7904751972786288e-01 1 0 0 0 0 -P 347 -211 3.2808169398020481e-01 1.6708294975973997e-01 1.4593698511490616e-01 4.1991868087733947e-01 1 0 0 0 0 -V -100 0 0 0 0 0 0 2 0 -P 348 -211 4.6420365845633227e-01 -4.0847882605596070e-01 -1.4697255584821705e+00 1.6005976977416989e+00 1 0 0 0 0 -P 349 111 -2.8173495143786537e-01 -2.3294554347192373e-01 -8.3799170321694616e-01 9.2416876388761626e-01 2 0 0 -185 0 -V -101 0 0 0 0 0 0 2 0 -P 350 211 -4.3713138842513549e-01 -8.0193348901581640e-01 -2.8575036213923499e+00 3.0031629830433717e+00 1 0 0 0 0 -P 351 -211 3.4464639850554046e-01 -3.9448924009807262e-01 -2.4618660005043602e+00 2.5208464629753493e+00 1 0 0 0 0 -V -102 0 0 0 0 0 0 2 0 -P 352 22 3.2856276203468715e-01 -2.2653644571307425e+00 -1.0628501612512524e+01 1.0872206590172965e+01 1 0 0 0 0 -P 353 22 1.0434568190199986e-01 -2.7883825262630772e-02 -4.8973860227147370e-01 5.0150715607820417e-01 1 0 0 0 0 -V -103 0 4.9037358891567776e-06 3.2017628026642254e-06 -1.1892814674675885e-05 1.3454250789796279e-05 0 2 0 -P 354 22 2.2354910027528657e-01 1.6029891550903602e-01 -6.4738274096045079e-01 7.0340198737330506e-01 1 0 0 0 0 -P 355 22 6.4511010772874300e-02 2.7782206584984766e-02 -5.1236759212390626e-02 8.6940939770953726e-02 1 0 0 0 0 -V -104 0 -1.3726373686040436e-04 -9.9702507710567058e-05 -2.9060095827281827e-03 2.9116430753003118e-03 0 2 0 -P 356 22 -2.5303124530879706e-01 -1.9767059562620412e-01 -4.4765459960137299e+00 4.4880466274209283e+00 1 0 0 0 0 -P 357 22 -4.0221420025721384e-02 -1.5335598110120413e-02 -1.7319040659961942e+00 1.7324389273542784e+00 1 0 0 0 0 -V -105 0 0 0 0 0 0 2 0 -P 358 211 -2.3305194831128404e-01 3.5257524413723085e-01 -3.8645950116748433e+00 3.8901409874903243e+00 1 0 0 0 0 -P 359 111 1.6319333803292452e-01 9.1595544301201692e-01 -1.4636028000277902e+01 1.4666190427799593e+01 2 0 0 -186 0 -V -106 0 0 0 0 0 0 3 0 -P 360 211 -5.1068619640013913e-02 -1.1688780893563810e-01 -1.4247259084409054e+00 1.4372176115232076e+00 1 0 0 0 0 -P 361 -211 -3.9918742821603924e-02 2.3757962531374108e-01 -4.9884072044398658e-01 5.7127877053654863e-01 1 0 0 0 0 -P 362 111 1.4605102514493379e-01 -7.1654523819423611e-04 -1.0841280953562038e+00 1.1022181013409436e+00 2 0 0 -187 0 -V -107 0 0 0 0 0 0 2 0 -P 363 -2212 -1.1406253960346636e-01 1.3050504356992600e+00 -1.3746559005676280e+01 1.3840679246052170e+01 1 0 0 0 0 -P 364 111 -7.3879643598863620e-02 2.1911131985195054e-01 -5.3599032767510568e+00 5.3665865043575209e+00 2 0 0 -188 0 -V -108 0 0 0 0 0 0 2 0 -P 366 111 -1.9383253021003571e-01 2.6263377003627869e-01 -2.5692229458455249e+00 2.5933903857287377e+00 2 0 0 -189 0 -P 365 2212 -9.2672351349186208e-02 3.2713801118000992e-02 -5.0230624849063501e+00 5.1108869756297421e+00 1 0 0 0 0 -V -109 0 0 0 0 0 0 2 0 -P 367 -211 -8.9256978629664779e-02 4.9532478206519792e-01 -7.2657351357255473e-01 8.9481970445850134e-01 1 0 0 0 0 -P 368 111 -4.4699794465351418e-02 -2.0886308426759173e-01 1.1405705795541135e-02 2.5292597755017221e-01 2 0 0 -190 0 -V -110 0 0 0 0 0 0 3 0 -P 369 -211 5.2655584360949588e-02 -2.6070291359845066e-01 -2.7865206099874709e-02 3.0165356675183341e-01 1 0 0 0 0 -P 370 211 1.1822125040940321e-01 -3.6410489305205150e-02 -7.4902779595835356e-02 2.0097810594935350e-01 1 0 0 0 0 -P 371 111 -1.6232482169526979e-02 -5.4435203098128715e-02 7.9250327722834704e-02 1.6651396235119514e-01 2 0 0 -191 0 -V -111 0 0 0 0 0 0 1 0 -P 372 130 9.3352618998182743e-02 4.0984422314125646e-01 -2.9781253674948460e+00 3.0485395080484676e+00 1 0 0 0 0 -V -112 0 0 0 0 0 0 2 0 -P 373 130 -2.2310089003166997e-01 -9.6246577399157734e-02 -1.0045105369445986e-02 5.5390770335486272e-01 1 0 0 0 0 -P 374 310 -1.0058249844852461e-01 -3.3078112442504448e-01 -8.2668057706903650e-02 6.1159008161927886e-01 2 0 0 -192 0 -V -113 0 0 0 0 0 0 2 0 -P 375 -321 5.8939484155127987e-02 2.3553953346591427e-01 -5.9125978676033464e+00 5.9381316286021688e+00 1 0 0 0 0 -P 376 321 -1.6771205287668237e-01 1.4016513775476167e-01 -5.5593832946803383e+00 5.5855310558345961e+00 1 0 0 0 0 -V -114 0 0 0 0 0 0 2 0 -P 377 211 4.4626469507733829e-01 -2.9876737728109021e-01 -2.7747433142093183e+01 2.7752980738717618e+01 1 0 0 0 0 -P 378 -211 -2.6784944598235311e-01 8.4540277169185385e-02 -1.4243508730173986e+01 1.4246961469577274e+01 1 0 0 0 0 -V -115 0 0 0 0 0 0 2 0 -P 379 211 -4.7708602474535206e-01 4.2323427871643926e-01 1.2306474356724806e+00 1.3930941194029927e+00 1 0 0 0 0 -P 380 111 -3.7138811372573445e-02 -2.6763057762592657e-01 1.8964640672464467e-01 3.5663816028872181e-01 2 0 0 -193 0 -V -116 0 0 0 0 0 0 2 0 -P 381 -211 1.8239573851947732e-01 8.5172318449127438e-01 1.2672881147092623e+00 1.5440853405862578e+00 1 0 0 0 0 -P 382 111 -5.5029184311155943e-02 -3.1797439570535158e-02 2.5538799358925224e-01 2.9577341996659695e-01 2 0 0 -194 0 -V -117 0 0 0 0 0 0 3 0 -P 383 211 -6.2243035013886994e-01 4.2244827222762471e-01 1.4918178951339065e+00 1.6765686686276411e+00 1 0 0 0 0 -P 384 -211 -5.3662832160087004e-01 7.6596039196045107e-01 2.0066624387491827e+00 2.2182964647637142e+00 1 0 0 0 0 -P 385 111 -5.4333294606349714e-01 8.9116704629103738e-01 3.0590759352765375e+00 3.2350509382173804e+00 2 0 0 -195 0 -V -118 0 0 0 0 0 0 2 0 -P 386 2212 1.5566891027165103e-01 1.9712389042807388e-01 1.7138534409912462e-01 9.8631342223181673e-01 1 0 0 0 0 -P 387 -211 2.0173096820492542e-01 3.0084177275992156e-02 1.9384965688599484e-01 3.1409857629427085e-01 1 0 0 0 0 -V -119 0 -7.1660461754768958e-05 -1.0769721945931413e-04 1.5531901999572816e-05 1.3163894594449711e-04 0 2 0 -P 388 22 -1.1697413369043864e-01 -9.6649254231599702e-02 4.1343221873855411e-02 1.5726820495912039e-01 1 0 0 0 0 -P 389 22 -3.9737322549938564e-01 -6.7635414352139833e-01 7.0137957301546427e-02 7.8757840299032089e-01 1 0 0 0 0 -V -120 0 0 0 0 0 0 2 0 -P 390 -2112 3.0284788000153912e-01 -8.9128481759035616e-01 -3.4314384176045293e-01 1.3735519449684543e+00 1 0 0 0 0 -P 391 211 5.8301081246194575e-01 -7.0551758694164624e-01 -7.9066317918965748e-02 9.2918670914986956e-01 1 0 0 0 0 -V -121 0 2.2874989631111603e+01 -2.2902782156161990e+01 -1.2543595889194581e+01 4.1058814581296019e+01 0 2 0 -P 392 2112 7.2363470358385507e-01 -8.6288876686327309e-01 -4.4761632740272878e-01 1.5334198282490092e+00 1 0 0 0 0 -P 393 -211 5.2572010790258272e-01 -3.8798397863996692e-01 -2.3747258980458383e-01 7.0907419593643206e-01 1 0 0 0 0 -V -122 0 0 0 0 0 0 2 0 -P 394 311 5.7209538578317543e-01 -9.1601292232158002e-02 -1.3829998035577337e-01 7.7619987157909842e-01 2 0 0 -196 0 -P 395 111 1.0969872995552975e-01 -2.7592125031730930e-01 1.9284939585462296e-01 3.7891534359539542e-01 2 0 0 -197 0 -V -123 0 0 0 0 0 0 2 0 -P 396 211 1.2768453337087937e-01 -7.3004776309065877e-01 1.5341155177660637e-01 7.6960247243256708e-01 1 0 0 0 0 -P 397 111 7.4745645835255581e-01 -1.8452765224834686e-01 -3.5285787768360583e-01 8.5759541382904525e-01 2 0 0 -198 0 -V -124 0 0 0 0 0 0 2 0 -P 398 -211 -5.1931286949743072e-01 -4.0616083780816176e-01 7.4895484048546535e-01 1.0075046504018192e+00 1 0 0 0 0 -P 399 211 1.3030258692077507e-01 1.1737552180221024e-01 1.4023573824788065e-02 2.2457119761760758e-01 1 0 0 0 0 -V -125 0 0 0 0 0 0 3 0 -P 400 -211 4.3941879075108720e-01 -2.1455387542550161e-01 -1.6625524305449231e+00 1.7385863821898757e+00 1 0 0 0 0 -P 401 211 7.2245244435792022e-01 -5.5562326516907601e-01 -3.3678421544139758e+00 3.4917753806772347e+00 1 0 0 0 0 -P 402 221 1.6929001772174577e+00 -6.2763907466060598e-01 -6.2654951393025753e+00 6.5433915258975537e+00 2 0 0 -199 0 -V -126 0 0 0 0 0 0 2 0 -P 403 -211 5.4351932812512205e-01 4.2529626811621611e-02 -8.8825094786447778e-01 1.0515186924084912e+00 1 0 0 0 0 -P 404 111 -5.8526099968283993e-02 -2.8429634583446145e-01 -3.7477092780150040e-01 4.9287175345877016e-01 2 0 0 -200 0 -V -127 0 0 0 0 0 0 3 0 -P 407 111 2.2104562458507233e-02 -3.0138619608482096e-02 6.8918524799908965e-01 7.0327295876704488e-01 2 0 0 -201 0 -P 405 211 -1.7994431618017598e-01 -1.4981023610554228e-01 1.8335551296569244e-01 3.2851498109288968e-01 1 0 0 0 0 -P 406 -211 -3.4015018251631030e-01 1.0007639479731749e-01 5.8171857101285707e-01 6.9540902512316316e-01 1 0 0 0 0 -V -128 0 -9.5716033249145031e-06 2.5588689164333307e-05 -5.6613145337201016e-05 6.4831666416758084e-05 0 2 0 -P 408 22 -8.8748848813062955e-02 2.1752980276142420e-01 -4.8819357581726175e-01 5.4178274310309327e-01 1 0 0 0 0 -P 409 22 7.3136079243070681e-03 1.7887105092202264e-04 6.5286998810985524e-03 9.8053443519745542e-03 1 0 0 0 0 -V -129 0 0 0 0 0 0 2 0 -P 410 -211 -1.3210591454662315e-01 -4.1453641988988016e-02 1.7499835301972946e+00 1.7609919130859564e+00 1 0 0 0 0 -P 411 111 -5.9981210232161325e-02 1.0568271312618416e+00 8.3436496620987999e+00 8.4116104650175920e+00 2 0 0 -202 0 -V -130 0 0 0 0 0 0 2 0 -P 412 -211 2.1039382235683586e-02 1.7495114851534666e-01 2.9952412067790757e+00 3.0036644672231736e+00 1 0 0 0 0 -P 413 211 -4.2564457750844004e-01 -3.6237405135327300e-01 1.1465562013267260e+01 1.1480029630816887e+01 1 0 0 0 0 -V -131 0 0 0 0 0 0 2 0 -P 414 311 -7.8781697561949271e-01 5.4422089375246685e-01 9.1458600181790075e+00 9.2093030609974118e+00 2 0 0 -203 0 -P 415 211 -1.0295964159075386e+00 3.1096384658587001e-01 6.4911205497073698e+00 6.5811012049098920e+00 1 0 0 0 0 -V -132 0 0 0 0 0 0 2 0 -P 416 -311 -7.2639469362242060e-01 3.6391099384214726e-01 1.1382133321844409e+01 1.1421940064958441e+01 2 0 0 -204 0 -P 417 111 1.1338504577602361e-01 8.4838802122491092e-02 4.4320364364653537e+00 4.4363521462467022e+00 2 0 0 -205 0 -V -133 0 -3.6644226869673425e+01 1.4039955316751673e+01 3.2242699278545501e+02 3.3749134797523197e+02 0 2 0 -P 418 -2212 -4.4069160658852696e-01 7.0169749752342234e-02 3.4521641169690143e+00 3.6051242099664664e+00 1 0 0 0 0 -P 419 211 -5.3458486904178924e-03 1.0072609051156285e-01 4.7245178192138493e-01 5.0285663418976212e-01 1 0 0 0 0 -V -134 0 0 0 0 0 0 2 0 -P 420 -321 8.2738509392200044e-01 -4.4400280839202599e-01 -1.3379709157489843e+01 1.3421697459208426e+01 1 0 0 0 0 -P 421 211 1.6711326947641161e-01 -1.9094728388891710e-01 -1.2625904583366416e+00 1.2953772270818957e+00 1 0 0 0 0 -V -135 0 0 0 0 0 0 2 0 -P 422 -211 -4.5648702994576327e-03 8.5062884111795842e-02 -2.3933131666525642e+00 2.3988922924689202e+00 1 0 0 0 0 -P 423 111 7.0217973892037344e-01 -2.8698062984842038e-01 -7.3498259370883083e+00 7.3900998080915326e+00 2 0 0 -206 0 -V -136 0 0 0 0 0 0 2 0 -P 424 211 4.6755588266707993e-01 6.7144388467335656e-02 -6.1051702587828593e+00 6.1250061670128959e+00 1 0 0 0 0 -P 425 -211 -9.8483352004072017e-02 -2.1413651713213966e-01 -2.3969506914096916e+00 2.4125517239099432e+00 1 0 0 0 0 -V -137 0 0 0 0 0 0 3 0 -P 426 111 -1.4763122465585482e-01 1.5578289972556411e-01 -6.3575580169438950e-01 6.8444746338076856e-01 2 0 0 -207 0 -P 427 111 -5.9749928543227060e-01 4.0523346497645923e-01 -1.0521574728239369e+00 1.2831502270771551e+00 2 0 0 -208 0 -P 428 111 -3.7075092612150112e-01 1.6389697387756819e-01 -7.6281205611413760e-01 8.7431132934398903e-01 2 0 0 -209 0 -V -138 0 0 0 0 0 0 2 0 -P 429 -211 1.4873964520465802e-01 2.9361212237253576e-01 -5.2603507832528784e-01 6.3602220793648723e-01 1 0 0 0 0 -P 430 111 -3.2472936796134794e-01 4.1437910527456240e-02 -1.2473036619170828e+00 1.2965925683410431e+00 2 0 0 -210 0 -V -139 0 0 0 0 0 0 2 0 -P 431 321 -1.3937482792474679e-01 4.2593421262169195e-01 -1.9171899663819201e+00 2.0298038386347144e+00 1 0 0 0 0 -P 432 111 -5.5302161674478068e-01 2.7557884791839724e-02 -1.6155048992407390e+00 1.7130872790001219e+00 2 0 0 -211 0 -V -140 0 1.8598834508787614e-05 -2.8282549299325688e-05 1.3720995802205736e-04 1.4332481861146809e-04 0 2 0 -P 433 22 7.3486303836907945e-03 -7.2423525982247119e-02 1.1094367272080649e-01 1.3269388833325652e-01 1 0 0 0 0 -P 434 22 9.7839239745626749e-02 -8.7531718590624669e-02 6.6506319147565862e-01 6.7789628059845486e-01 1 0 0 0 0 -V -141 0 7.9626809661280000e-06 -2.3200113145596084e-06 1.3507474476220213e-04 1.3560294199833913e-04 0 2 0 -P 435 22 8.0733491049569533e-02 4.1269360133104692e-02 1.3628764571598302e+00 1.3658891954120498e+00 1 0 0 0 0 -P 436 22 4.4054345042207586e-02 -7.7627615962248125e-02 7.5395896312458921e-01 7.5922391305397241e-01 1 0 0 0 0 -V -142 0 0 0 0 0 0 2 0 -P 437 -2212 -3.3636249934798157e-01 6.3185487895276859e-01 9.1363404725172559e-01 1.4924671132797558e+00 1 0 0 0 0 -P 438 -211 -2.1550620238062704e-01 4.0104914462364860e-01 -5.9206301760771352e-02 4.7986301246925406e-01 1 0 0 0 0 -V -143 0 0 0 0 0 0 2 0 -P 439 2212 -3.1316133468193180e-01 6.3226783732812875e-01 1.0670883973236167e+00 1.5864617487547701e+00 1 0 0 0 0 -P 440 211 -1.3656134001203910e-01 8.4180305408821043e-02 7.6571336719638172e-01 7.9468992003663097e-01 1 0 0 0 0 -V -144 0 0 0 0 0 0 2 0 -P 441 -211 1.0685444223770994e-01 -1.6539225620957393e-01 3.8242266590415475e-01 4.5221604409537064e-01 1 0 0 0 0 -P 442 111 -6.1402112512214591e-01 1.1088767981697505e-01 9.1946862391992579e-01 1.1193570343749397e+00 2 0 0 -212 0 -V -145 0 0 0 0 0 0 2 0 -P 443 211 9.7606484216440248e-02 3.9484400593725694e-01 2.3399496935609863e+00 2.3791328605359197e+00 1 0 0 0 0 -P 444 111 1.3390057130873545e-01 -4.0022089132772154e-01 8.8662696215810521e-01 9.9117763053736829e-01 2 0 0 -213 0 -V -146 0 0 0 0 0 0 2 0 -P 445 22 4.4521386228282923e-02 6.9294890896827888e-02 2.7189184044015768e-01 2.8409348572965798e-01 1 0 0 0 0 -P 446 22 -1.2530381878315813e-01 -6.1237208583624381e-01 7.7611359023390527e+00 7.7862655434482386e+00 1 0 0 0 0 -V -147 0 5.6913008971348268e-04 2.6971275534858177e-04 2.9382166688662489e-02 2.9389139415471353e-02 0 2 0 -P 447 22 4.2233155950894929e-01 2.7013379931995773e-01 2.3306869194700617e+01 2.3312260462567259e+01 1 0 0 0 0 -P 448 22 2.4777890833036781e-01 4.7433913116153387e-02 1.1288556037138038e+01 1.1291374662419651e+01 1 0 0 0 0 -V -148 0 7.2343549030833013e-05 -2.6983122416924707e-05 1.2103140682944620e-03 1.2137033258959099e-03 0 2 0 -P 449 22 -8.2133726674077593e-03 8.9676039303206116e-03 6.5846311157447568e-01 6.5857539182326363e-01 1 0 0 0 0 -P 450 22 2.1389614826006173e-01 -8.5684375324878909e-02 2.7826281846175691e+00 2.7921520353024070e+00 1 0 0 0 0 -V -149 0 -7.5113701994512593e-05 3.5527295882971153e-05 1.4000468538991121e-03 1.4027906502289988e-03 0 2 0 -P 451 22 -3.5454234029793569e-01 1.4220281432805057e-01 6.5246306076120621e+00 6.5358034301266219e+00 1 0 0 0 0 -P 452 22 -7.0619670035219672e-03 2.8828873325877486e-02 2.1532441192296625e-01 2.1736047866429073e-01 1 0 0 0 0 -V -150 0 -5.0929560966308059e-06 -6.7782820668099025e-05 -3.1669389769068959e-03 3.1676977988036627e-03 0 2 0 -P 453 22 -5.5002501226308863e-02 -1.3676652957384980e-01 -8.4032580701003532e+00 8.4045509428796699e+00 1 0 0 0 0 -P 454 22 4.6521748008517740e-03 -5.3335256863215397e-01 -2.2905947866752722e+01 2.2912156910242874e+01 1 0 0 0 0 -V -151 0 0 0 0 0 0 1 0 -P 455 310 5.3036395409351500e-01 -1.2314697068839459e-01 -3.4041141413635536e+01 3.4049132665491257e+01 2 0 0 -214 0 -V -152 0 -4.4479064681634288e-05 1.1936817293250047e-04 3.6557060285476724e-03 3.6579362557860790e-03 0 2 0 -P 456 22 -3.6430534851601371e-01 8.0739446461353415e-01 2.4463146973768701e+01 2.4479178173881873e+01 1 0 0 0 0 -P 457 22 -2.9100960940826009e-01 9.5126997185016959e-01 2.9396772505842296e+01 2.9413599489221941e+01 1 0 0 0 0 -V -153 0 -3.2688397628246890e-06 3.1738916671182650e-06 2.3160543367457004e-04 2.3165309436201878e-04 0 2 0 -P 458 22 -3.6863888541709272e-01 3.2058557735849108e-01 2.2617594353889025e+01 2.2622869935030884e+01 1 0 0 0 0 -P 459 22 -1.5354506319408460e-02 5.2254180686976508e-02 4.5892932496961736e+00 4.5896164101121171e+00 1 0 0 0 0 -V -154 0 -4.2854531593272900e-05 6.1890366858268527e-05 2.8373810259926832e-03 2.8384144995640204e-03 0 2 0 -P 460 22 -2.8096998668766182e-01 3.1168131470771288e-01 1.4142709945501387e+01 1.4148934022672554e+01 1 0 0 0 0 -P 461 22 -1.2923082607457784e-01 2.8072928560789373e-01 1.3016518255258111e+01 1.3020186520464037e+01 1 0 0 0 0 -V -155 0 4.8419069681422279e-05 2.6022741558005558e-04 2.3948279049090002e-02 2.3949943892512968e-02 0 2 0 -P 462 22 -1.3484395339657791e-02 2.2805801648532943e-02 6.3682372456238570e+00 6.3682923574579586e+00 1 0 0 0 0 -P 463 22 7.9910814805674857e-02 3.3420179014562956e-01 2.6486554060175386e+01 2.6488782957271795e+01 1 0 0 0 0 -V -156 0 6.4458166593028880e-05 -2.1206028966113369e-05 4.2733005526343507e-04 4.3362718820302870e-04 0 2 0 -P 464 22 1.3203767002721134e-01 -4.0120215621858198e-02 4.9619347728990221e-01 5.1502577111519743e-01 1 0 0 0 0 -P 465 22 1.7235440236200694e-01 -6.0021433533256625e-02 1.5217956773985872e+00 1.5327004587478847e+00 1 0 0 0 0 -V -157 0 1.3825358825667505e-05 -2.6586918860885477e-05 3.7356803793201702e-04 3.7477872265037859e-04 0 2 0 -P 466 22 2.0055595174990928e-01 -3.1804893931032557e-01 4.0786477119442743e+00 4.0959425015162259e+00 1 0 0 0 0 -P 467 22 4.5893050301397365e-01 -9.5017947224512112e-01 1.3741002689570054e+01 1.3781459035633496e+01 1 0 0 0 0 -V -158 0 -3.6148472811710377e-05 1.5352758396390464e-06 5.2433582314645737e-04 5.2587029576442771e-04 0 2 0 -P 468 22 -1.1858415852348296e-01 2.7338446840418432e-02 9.6412493381788344e-01 9.7177491289789286e-01 1 0 0 0 0 -P 469 22 -1.6198332741124952e-01 -1.5422356089156571e-02 3.1055237191692759e+00 3.1097835966107890e+00 1 0 0 0 0 -V -159 0 -4.4031131225084997e-05 7.8418723750972992e-05 2.4110118934396308e-04 2.5779396306412045e-04 0 2 0 -P 470 22 -6.4845192110584787e-02 1.0986152109814992e-01 2.2013532446554113e-01 2.5442879914704414e-01 1 0 0 0 0 -P 471 22 -3.1902888396194151e-01 5.7381192287508798e-01 1.8818432921245529e+00 1.9930814654072178e+00 1 0 0 0 0 -V -160 0 -2.1425183974074652e-06 2.7878514019335631e-06 2.1359544375097700e-05 2.1647542010680192e-05 0 2 0 -P 472 22 -1.0106649381417249e-01 1.1138815142136117e-01 7.6457489296899328e-01 7.7922815876192886e-01 1 0 0 0 0 -P 473 22 -1.7879141260115867e+00 2.3465591294882859e+00 1.8067359255970079e+01 1.8306623040704810e+01 1 0 0 0 0 -V -161 0 0 0 0 0 0 1 0 -P 474 130 -1.4318375653716335e+00 -3.5863038245912704e+00 -2.3209274506000757e+00 4.5327821032712690e+00 1 0 0 0 0 -V -162 0 -6.6832389808381253e-07 -2.1252586175838513e-06 -4.4691882492897211e-07 2.3205379709460523e-06 0 2 0 -P 475 22 -8.9978113978881197e-02 -4.2173754181458945e-01 -1.3491536512632196e-01 4.5184153297165791e-01 1 0 0 0 0 -P 476 22 -1.0157807603458334e-01 -1.8740788115304952e-01 6.8186928478867403e-03 2.1327520723543308e-01 1 0 0 0 0 -V -163 0 0 0 0 0 0 1 0 -P 477 310 -2.9659176075774984e-01 -4.6221487895696203e-02 -1.5427574353175526e+00 1.6485991118583883e+00 2 0 0 -215 0 -V -164 0 4.3951762908156004e-06 5.6519226407509845e-06 -2.2852952185035586e-04 2.2864708816162558e-04 0 2 0 -P 478 22 1.2883066985740826e-01 8.7348139542502687e-02 -3.9328723885587951e+00 3.9359512527044345e+00 1 0 0 0 0 -P 479 22 2.4737772584635406e-01 3.9643239817152115e-01 -1.5628282636309663e+01 1.5635266948342874e+01 1 0 0 0 0 -V -165 0 0 0 0 0 0 1 0 -P 480 130 8.0055295557585249e-01 1.1955698343636345e+00 -1.3612825986589098e+02 1.3613677343689312e+02 1 0 0 0 0 -V -166 0 4.3515025435173503e-07 -3.0950593427809659e-05 -1.2973154490519804e-05 3.4193622002278503e-05 0 2 0 -P 481 22 -2.4004418795421954e-02 -6.1969176712752407e-02 5.3372209402327469e-03 6.6669910090888906e-02 1 0 0 0 0 -P 482 22 3.2985457263139006e-02 -5.7681815569483774e-01 -2.7308933268050717e-01 6.3905008313428557e-01 1 0 0 0 0 -V -167 0 -1.3223933000948637e-05 -6.6595414819650182e-05 -1.8865608512255433e-05 7.3501681277001948e-05 0 2 0 -P 483 22 -3.7755194341771034e-02 -4.2694828777757612e-02 -5.4028993871350510e-02 7.8533020334744422e-02 1 0 0 0 0 -P 484 22 -4.7654369480567102e-02 -3.8742572097895756e-01 -6.7818522609498041e-02 3.9619310975279542e-01 1 0 0 0 0 -V -168 0 -3.2646319843143344e-06 3.0632601190069616e-06 -4.8334168988367450e-05 4.8992552461397858e-05 0 2 0 -P 485 22 -9.1214787830148150e-03 3.2607644996470279e-02 -8.2554522871056302e-01 8.2623930222071917e-01 1 0 0 0 0 -P 486 22 -5.7282665603845380e-02 2.9700501285987765e-02 -1.5759441819103331e-01 1.7029217304471525e-01 1 0 0 0 0 -V -169 0 5.0024187811615822e-05 1.5817151124905720e-04 -1.3497703728087306e-03 1.3680935638846403e-03 0 2 0 -P 487 22 -3.6296416944126709e-03 5.0920677562811878e-02 -8.6736175513884239e-01 8.6886276475621793e-01 1 0 0 0 0 -P 488 22 4.8867158637845319e-02 9.2115856024567719e-02 -3.5325296707559606e-01 3.6832185500209919e-01 1 0 0 0 0 -V -170 0 0 0 0 0 0 1 0 -P 489 130 2.9288036009376067e-01 1.2928728715900386e+00 -1.1628140700302700e+01 1.1714035630061840e+01 1 0 0 0 0 -V -171 0 -6.0930955149452699e-06 2.9697104970938514e-05 -2.4111678378370367e-04 2.4303743351679105e-04 0 2 0 -P 490 22 -9.4973743741273875e-02 6.4498168710204640e-01 -4.7230425563942617e+00 4.7678247008681511e+00 1 0 0 0 0 -P 491 22 -1.5474800128245778e-01 5.7213576285513090e-01 -5.1589794557811262e+00 5.1929139507804729e+00 1 0 0 0 0 -V -172 0 -1.1660551399751801e-05 1.9256296796349287e-05 -6.7620205483465163e-06 2.3802198800847105e-05 0 2 0 -P 492 22 -3.7027549960274636e-01 6.2212464289035718e-01 -2.5897423070960202e-01 7.6890224935888085e-01 1 0 0 0 0 -P 493 22 -4.9683819629574119e-02 7.1398417580221585e-02 1.5437415960085871e-02 8.8343249756098599e-02 1 0 0 0 0 -V -173 0 3.5746214235745734e-05 -9.2255200399066187e-06 -1.3563013280753561e-05 4.1145824932297914e-05 0 2 0 -P 494 22 3.2749523814777576e-01 -4.6886764491434571e-02 -7.1889393460914761e-02 3.3855514260770275e-01 1 0 0 0 0 -P 495 22 7.1660498494050137e-02 -5.6128878595896443e-02 -7.9560338291332564e-02 1.2089468758336715e-01 1 0 0 0 0 -V -174 0 1.1296287249582715e-05 5.8978061805748885e-06 4.9262804651243690e-05 5.0924397210535035e-05 0 2 0 -P 496 22 4.4736495198225906e-01 2.4974300382315295e-01 1.7169319940927230e+00 1.7917484311587706e+00 1 0 0 0 0 -P 497 22 3.0750215958027394e-01 1.4437409126494161e-01 1.5750231618747674e+00 1.6112415761818897e+00 1 0 0 0 0 -V -175 0 1.3475981409980000e-04 -4.1605118725126302e-04 6.3692988934369579e-03 6.3846592284279354e-03 0 2 0 -P 498 22 1.2364083130382091e-01 -2.9386391435205311e-01 5.5204694179527154e+00 5.5296677702982304e+00 1 0 0 0 0 -P 499 22 1.4321552040215901e-01 -5.3001598407664563e-01 7.0922510505452010e+00 7.1134697997967420e+00 1 0 0 0 0 -V -176 0 4.7324747145545989e-05 1.9479376242148272e-06 2.3089887975729631e-04 2.3950742171524708e-04 0 2 0 -P 500 22 1.4135983992053097e-01 -4.0296581708771914e-02 6.3148368395046228e-01 6.4836568534694761e-01 1 0 0 0 0 -P 501 22 8.9503713642537751e-03 4.6483512089294167e-02 1.0188440558207200e-01 1.1234437299894350e-01 1 0 0 0 0 -V -177 0 -9.0223456025112655e-07 -6.7037449449237448e-06 6.4286516403409821e-05 6.4689761422605756e-05 0 2 0 -P 502 22 2.4050370315804339e-02 -2.6635670283075513e-01 2.2348889868834592e+00 2.2508338670697521e+00 1 0 0 0 0 -P 503 22 -7.2745052887069936e-02 -9.5452461341506492e-02 1.2347314951840711e+00 1.2405502328786151e+00 1 0 0 0 0 -V -178 0 -1.1141606101247371e-05 3.3900741233981917e-06 2.7231501048168288e-05 3.0249992775056765e-05 0 2 0 -P 504 22 -1.5484032034025672e-01 3.3070965672253198e-02 2.0512268590893062e-01 2.5912261547009452e-01 1 0 0 0 0 -P 505 22 -8.9511477232786629e-02 4.1278342536144701e-02 3.9210415654668013e-01 4.0430418709198446e-01 1 0 0 0 0 -V -179 0 -5.7452969269882372e-05 1.0655611802714043e-04 2.3621002466825029e-04 2.6627862107816958e-04 0 2 0 -P 506 22 -1.5904748085006137e-01 4.2641811118253042e-01 9.2542971764623405e-01 1.0312849601405114e+00 1 0 0 0 0 -P 507 22 -2.0488139654333862e-01 2.4854871656929914e-01 5.7081408313582516e-01 6.5542472387299155e-01 1 0 0 0 0 -V -180 0 1.2541142567955775e-05 2.1336951076054253e-05 6.7047166629993952e-05 7.7186942912155069e-05 0 2 0 -P 508 22 -3.7656617144148925e-02 1.4185309883022947e-02 3.3350767109029379e-02 5.2263921570995034e-02 1 0 0 0 0 -P 509 22 9.5720803038463378e-02 8.4602554698270271e-02 2.7707064192895242e-01 3.0510359718417601e-01 1 0 0 0 0 -V -181 0 1.2584156716671960e-05 2.9848520962308407e-05 2.8661370545072881e-02 2.8661440450187415e-02 0 2 0 -P 510 22 -4.0194037712829624e-02 4.7510012834891861e-02 1.6029784814713764e+01 1.6029905613197329e+01 1 0 0 0 0 -P 511 22 7.1426379875077009e-02 2.6570375761728566e-02 5.5104241235417319e+01 5.5104293932902152e+01 1 0 0 0 0 -V -182 0 0 0 0 0 0 1 0 -P 512 130 1.8498251272975502e-01 2.1534491855260202e-01 5.4113827121414495e+01 5.4116860155770283e+01 1 0 0 0 0 -V -183 0 -2.2239658429523491e-05 7.9787361538852465e-06 2.4815441155492533e-03 2.4817083833750635e-03 0 2 0 -P 513 22 -2.6447337141224440e-02 -3.9309724692202258e-02 3.8222339420741900e+00 3.8225275700825549e+00 1 0 0 0 0 -P 514 22 -1.6079201520980721e-01 1.0648402032122213e-01 1.7070295252939683e+01 1.7071384622849845e+01 1 0 0 0 0 -V -184 0 3.4803808964272598e-06 -2.1082232229174461e-05 5.3342632466181025e-08 2.3123268650157156e-05 0 2 0 -P 515 22 7.1813325473446363e-02 -2.2554379405664721e-01 5.2069084583338858e-02 2.4235995197715629e-01 1 0 0 0 0 -P 516 22 -1.8658185022900918e-02 -9.6440795705683577e-02 -5.1254393546604243e-02 1.1079696657636637e-01 1 0 0 0 0 -V -185 0 -5.3747799410516562e-05 -4.4440032307684720e-05 -1.5986731409189337e-04 1.7630768596296016e-04 0 2 0 -P 517 22 -1.9710479787187180e-01 -2.3282431232600628e-01 -6.5389094601821218e-01 7.2154752514216858e-01 1 0 0 0 0 -P 518 22 -8.4630153565993557e-02 -1.2123114591746497e-04 -1.8410075719873392e-01 2.0262123874545424e-01 1 0 0 0 0 -V -186 0 7.6865554396668605e-05 4.3142338883686831e-04 -6.8937030148838192e-03 6.9079097940412853e-03 0 2 0 -P 519 22 9.1906525835010915e-04 -1.4789438215505925e-03 -2.5924226335474737e-01 2.5924811101542949e-01 1 0 0 0 0 -P 520 22 1.6227427277457440e-01 9.1743438683356748e-01 -1.4376785736923154e+01 1.4406942316784155e+01 1 0 0 0 0 -V -187 0 9.6604711234698149e-06 -4.7395522046942198e-08 -7.1709104054133583e-05 7.2905658342372988e-05 0 2 0 -P 521 22 8.5947444322755293e-02 -6.6719307979624706e-02 -6.4429326409960863e-01 6.5341582427043943e-01 1 0 0 0 0 -P 522 22 6.0103580822178510e-02 6.6002762741430479e-02 -4.3983483125659523e-01 4.4880227707049974e-01 1 0 0 0 0 -V -188 0 -4.4469111055583206e-06 1.3188593151499278e-05 -3.2261949631913662e-04 3.2302176841489226e-04 0 2 0 -P 523 22 -3.1712032262728999e-02 -2.0883585220431546e-03 -3.0080324114774448e-01 3.0247744397977422e-01 1 0 0 0 0 -P 524 22 -4.2167611336134614e-02 2.2119967837399371e-01 -5.0591000356033122e+00 5.0641090603777545e+00 1 0 0 0 0 -V -189 0 -4.3236035757693638e-05 5.8582752132276060e-05 -5.7308757738288424e-04 5.7847833554835050e-04 0 2 0 -P 525 22 -1.9920557528452923e-01 2.2951795799458932e-01 -1.9774628498852040e+00 2.0006800536174132e+00 1 0 0 0 0 -P 526 22 5.3730450744935102e-03 3.3115812041689355e-02 -5.9176009596032075e-01 5.9271033211132973e-01 1 0 0 0 0 -V -190 0 -4.6563360052264990e-06 -2.1757073182779297e-05 1.1881217619907731e-06 2.6347063784305840e-05 0 2 0 -P 527 22 2.6481780274558765e-02 3.2840805847918842e-03 -9.1585090480877599e-03 2.8212553230456044e-02 1 0 0 0 0 -P 528 22 -7.1181574739910172e-02 -2.1214716485238358e-01 2.0564214843628897e-02 2.2471342431971594e-01 1 0 0 0 0 -V -191 0 -6.7958182803273389e-06 -2.2789598315534417e-05 3.3178587244766811e-05 6.9711989667256509e-05 0 2 0 -P 529 22 4.4007402269560576e-02 1.9050423208921346e-02 4.4254119127109588e-02 6.5253330479526792e-02 1 0 0 0 0 -P 530 22 -6.0239884439087552e-02 -7.3485626307050064e-02 3.4996208595725116e-02 1.0126063187166835e-01 1 0 0 0 0 -V -192 0 -9.2399879437066819e+00 -3.0387131447697538e+01 -7.5942819906423047e+00 5.6183581317030246e+01 0 2 0 -P 531 -211 7.2339661850637116e-02 -3.2521430738104773e-01 2.9845760368060501e-02 3.6244713644053916e-01 1 0 0 0 0 -P 532 211 -1.7292216029916171e-01 -5.5668170439967064e-03 -1.1251381807496415e-01 2.4914294517873958e-01 1 0 0 0 0 -V -193 0 -3.3735231507927859e-06 -2.4310362020575016e-05 1.7226629499045319e-05 3.2395411854205048e-05 0 2 0 -P 533 22 -4.1799321747595368e-02 -2.2002625342251989e-01 2.0776320166063492e-01 3.0549023463604780e-01 1 0 0 0 0 -P 534 22 4.6605103750219246e-03 -4.7604324203406684e-02 -1.8116794935990260e-02 5.1147925652673905e-02 1 0 0 0 0 -V -194 0 -1.7223995802044271e-06 -9.9525183324882429e-07 7.9935797423441558e-06 9.2576333951367783e-06 0 2 0 -P 535 22 1.0874576406073361e-03 -1.8699332423074717e-02 2.3331489504831751e-01 2.3406556314117663e-01 1 0 0 0 0 -P 536 22 -5.6116641951763281e-02 -1.3098107147460443e-02 2.2073098540934744e-02 6.1707856825420224e-02 1 0 0 0 0 -V -195 0 -1.0561297718282755e-04 1.7322491781130437e-04 5.9462272496750264e-04 6.2882871984594924e-04 0 2 0 -P 537 22 -2.1748912590842331e-01 4.0316638854421255e-01 1.5358537367294918e+00 1.6027137477934530e+00 1 0 0 0 0 -P 538 22 -3.2584382015507379e-01 4.8800065774682477e-01 1.5232221985470455e+00 1.6323371904239272e+00 1 0 0 0 0 -V -196 0 0 0 0 0 0 1 0 -P 539 310 5.7209538578317543e-01 -9.1601292232158002e-02 -1.3829998035577337e-01 7.7619987157909842e-01 2 0 0 -216 0 -V -197 0 2.4019926994931783e-07 -6.0416454152739986e-07 4.2226818955174602e-07 8.2968315987892530e-07 0 2 0 -P 540 22 6.6848277001447187e-02 -6.0958209970164400e-02 5.6178057143901434e-03 9.0643009889750908e-02 1 0 0 0 0 -P 541 22 4.2850452954082546e-02 -2.1496304034714489e-01 1.8723159014023277e-01 2.8827233370564426e-01 1 0 0 0 0 -V -198 0 6.5287521213597090e-06 -1.6117799071818023e-06 -3.0820813596859984e-06 7.4907746327396357e-06 0 2 0 -P 542 22 2.3363370799508734e-01 -5.5730263288117409e-03 -1.4570219730322215e-01 2.7539952511393773e-01 1 0 0 0 0 -P 543 22 5.1382275035746849e-01 -1.7895462591953512e-01 -2.0715568038038368e-01 5.8219588871510730e-01 1 0 0 0 0 -V -199 0 0 0 0 0 0 3 0 -P 544 211 7.2039523215605261e-01 -3.6736437975442332e-01 -2.9003951596164219e+00 3.0142491179150896e+00 1 0 0 0 0 -P 545 -211 2.0811046164856656e-01 -9.7076490529901388e-02 -9.3664893491201751e-01 9.7443564253007409e-01 1 0 0 0 0 -P 546 111 7.6439448341283889e-01 -1.6319820437628141e-01 -2.4284510447741372e+00 2.5547067654523916e+00 2 0 0 -217 0 -V -200 0 -1.6432909207964205e-05 -7.9824489275475590e-05 -1.0522786643367612e-04 1.3838811709899012e-04 0 2 0 -P 547 22 2.0913225215301631e-02 3.6758058149488726e-03 -2.1306516927539914e-02 3.0080595088506565e-02 1 0 0 0 0 -P 548 22 -7.9439325183585624e-02 -2.8797215164941031e-01 -3.5346441087396047e-01 4.6279115837026358e-01 1 0 0 0 0 -V -201 0 1.6164268726202693e-07 -2.2039284754121565e-07 5.0397629773053878e-06 5.1427813216031760e-06 0 2 0 -P 549 22 -5.6717912031914300e-02 -1.7745651231293166e-02 2.5677103342421997e-01 2.6355870937729325e-01 1 0 0 0 0 -P 550 22 7.8822474490421540e-02 -1.2392968377188934e-02 4.3241421457486973e-01 4.3971424938975157e-01 1 0 0 0 0 -V -202 0 -3.8148426826111342e-05 6.7214870004697462e-04 5.3066136439277271e-03 5.3498371418724423e-03 0 2 0 -P 551 22 -7.0179649086229604e-02 3.3943873319233780e-01 3.0226410969029458e+00 3.0424501700806421e+00 1 0 0 0 0 -P 552 22 1.0198438854068275e-02 7.1738839806950361e-01 5.3210085651958536e+00 5.3691602949369495e+00 1 0 0 0 0 -V -203 0 0 0 0 0 0 1 0 -P 553 130 -7.8781697561949271e-01 5.4422089375246685e-01 9.1458600181790075e+00 9.2093030609974118e+00 1 0 0 0 0 -V -204 0 0 0 0 0 0 1 0 -P 554 310 -7.2639469362242060e-01 3.6391099384214726e-01 1.1382133321844409e+01 1.1421940064958441e+01 2 0 0 -218 0 -V -205 0 1.1779236187810234e-05 8.8136515821122369e-06 4.6043112317678921e-04 4.6087946946870634e-04 0 2 0 -P 555 22 7.9864146623307694e-02 1.2156376086533430e-01 3.1649610887278126e+00 3.1683015517833417e+00 1 0 0 0 0 -P 556 22 3.3520899152715923e-02 -3.6724958742843213e-02 1.2670753477375407e+00 1.2680505944633595e+00 1 0 0 0 0 -V -206 0 3.9918137703655458e-05 -1.6314529835601096e-05 -4.1782943538884980e-04 4.2011896019205453e-04 0 2 0 -P 557 22 4.8444453326069842e-01 -1.7062202826696454e-01 -4.3743293539038568e+00 4.4043791479345922e+00 1 0 0 0 0 -P 558 22 2.1773520565967508e-01 -1.1635860158145582e-01 -2.9754965831844515e+00 2.9857206601569413e+00 1 0 0 0 0 -V -207 0 -9.8382711082984495e-05 1.0381505708631199e-04 -4.2367310508488541e-04 4.5612164498563096e-04 0 2 0 -P 559 22 -1.1820584450122643e-02 -1.6060206837071978e-02 -1.1815502929093931e-02 2.3178925123038745e-02 1 0 0 0 0 -P 560 22 -1.3581064020573216e-01 1.7184310656263610e-01 -6.2394029876529555e-01 6.6126853825772958e-01 1 0 0 0 0 -V -208 0 -4.3921776029805596e-05 2.9788443136967845e-05 -7.7343397718084210e-05 9.4323521818948618e-05 0 2 0 -P 561 22 -3.7219271349381805e-01 3.1341750210245684e-01 -6.3166726390592265e-01 7.9734652372254633e-01 1 0 0 0 0 -P 562 22 -2.2530657193845258e-01 9.1815962874002371e-02 -4.2049020891801436e-01 4.8580370335460860e-01 1 0 0 0 0 -V -209 0 -4.5476606945718249e-05 2.0103734705655713e-05 -9.3567140646843043e-05 1.0724373122600039e-04 0 2 0 -P 563 22 -2.9119152917936542e-01 1.1654730397796420e-01 -6.8492021847390561e-01 7.5332030797310356e-01 1 0 0 0 0 -P 564 22 -7.9559396942135666e-02 4.7349669899603999e-02 -7.7891837640231998e-02 1.2099102137088527e-01 1 0 0 0 0 -V -210 0 -3.1513825920006135e-05 4.0214012888618100e-06 -1.2104636768091706e-04 1.2582968009452371e-04 0 2 0 -P 565 22 -2.0821687003115755e-01 -3.5550488162903690e-03 -9.7529066000740405e-01 9.9727567644826054e-01 1 0 0 0 0 -P 566 22 -1.1651249793019035e-01 4.4992959343746600e-02 -2.7201300190967870e-01 2.9931689189278221e-01 1 0 0 0 0 -V -211 0 -7.6322960167519920e-05 3.8032859468481829e-06 -2.2295713646956259e-04 2.3642455954656021e-04 0 2 0 -P 567 22 -2.3596479193032335e-01 7.8693352480712103e-02 -7.1353458927233204e-01 7.5564782593706314e-01 1 0 0 0 0 -P 568 22 -3.1705682481445735e-01 -5.1135467688872380e-02 -9.0197030996840699e-01 9.5743945306305900e-01 1 0 0 0 0 -V -212 0 -1.8139484355414673e-04 3.2758568898555692e-05 2.7163050319436966e-04 3.3068177270168745e-04 0 2 0 -P 569 22 -2.5438740051631026e-01 4.5020203517792519e-02 5.0087060048465426e-01 5.6356998384946588e-01 1 0 0 0 0 -P 570 22 -3.5963372460583565e-01 6.5867476299182534e-02 4.1859802343527158e-01 5.5578705052547384e-01 1 0 0 0 0 -V -213 0 2.4428922970138252e-05 -7.3016606499326774e-05 1.6175690327614769e-04 1.8083120743594527e-04 0 2 0 -P 571 22 2.9367307545180181e-02 -1.9052347198993341e-01 5.3467463287475814e-01 5.6836484336323057e-01 1 0 0 0 0 -P 572 22 1.0453326376355529e-01 -2.0969741933778815e-01 3.5195232928334702e-01 4.2281278717413778e-01 1 0 0 0 0 -V -214 0 4.9579155221870880e-01 -1.1511948969643888e-01 -3.1822129333071317e+01 3.1829599665719567e+01 0 2 0 -P 573 211 3.7577127580332814e-01 -7.2432832855482146e-02 -2.9616994036592914e+01 2.9619795173422023e+01 1 0 0 0 0 -P 574 -211 1.5459267829018677e-01 -5.0714137832912419e-02 -4.4241473770426190e+00 4.4293374920692319e+00 1 0 0 0 0 -V -215 0 -4.7708493299121385e-01 -7.4349925969399086e-02 -2.4816142086001607e+00 2.6518666425556883e+00 0 2 0 -P 575 211 -1.8710039471863932e-01 -7.5516186697918888e-02 -1.3934778944835580e+00 1.4149097778556750e+00 1 0 0 0 0 -P 576 -211 -1.0949136603911050e-01 2.9294698802222685e-02 -1.4927954083399445e-01 2.3368933400271319e-01 1 0 0 0 0 -V -216 0 1.0046434401596073e+01 -1.6085890506737788e+00 -2.4286538834502935e+00 1.3630665945105468e+01 0 2 0 -P 577 211 4.2277088197502372e-01 1.2823578574380656e-01 -9.4354533417582487e-02 4.7282364393896442e-01 1 0 0 0 0 -P 578 -211 1.4932450380815165e-01 -2.1983707797596455e-01 -4.3945446938190864e-02 3.0337622764013394e-01 1 0 0 0 0 -V -217 0 2.4449966258954613e-05 -5.2200672258999185e-06 -7.7676575897242336e-05 8.1714998697994160e-05 0 2 0 -P 579 22 7.4264847022229474e-01 -1.4651608537616675e-01 -2.3931683946888840e+00 2.5100296171430410e+00 1 0 0 0 0 -P 580 22 2.1746013190544179e-02 -1.6682119000114660e-02 -3.5282650085253067e-02 4.4677148309350663e-02 1 0 0 0 0 -V -218 0 -3.3167578833116316e+01 1.6616374930143870e+01 5.1971443012433133e+02 5.2153202777739250e+02 0 2 0 -P 581 211 -4.1414101287442306e-01 3.9477834598429262e-01 8.2622830335795356e+00 8.2832459478684441e+00 1 0 0 0 0 -P 582 -211 -3.1225368074799753e-01 -3.0867352142145359e-02 3.1198502882648715e+00 3.1386941170899947e+00 1 0 0 0 0 -E 6 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 168 0 0 -V -1 0 0 0 0 0 1 2 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 2 5.1553292069003653e-01 3.8485835711180655e-01 1.7290951843317296e+03 1.7290953040157517e+03 3 0 0 -3 0 -P 34 2101 -5.1553292069003653e-01 -3.8485835711180655e-01 4.2219673894488587e+03 4.2219674782123802e+03 2 0 0 -13 0 -V -2 0 0 0 0 0 1 3 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 21 -4.9797130516589477e-01 1.0933883123411841e+00 -1.3097958796984543e+02 1.3098509815308313e+02 3 0 0 -4 0 -P 19 2103 2.9142878896144259e-01 -6.5062234924971918e-01 -6.7718730985476304e+03 6.7718731800014712e+03 2 0 0 -9 0 -P 47 2 2.0654251620445219e-01 -4.4276596309146488e-01 -5.7621689243983575e+01 5.7624705403492385e+01 2 0 0 -13 0 -V -3 0 0 0 0 0 0 4 0 -P 5 2 -3.1543729466487069e+00 -4.6848142715162355e+00 8.5430129997171412e+02 8.5431996856377293e+02 3 0 0 -5 0 -P 36 21 3.9295485495835827e+00 2.0268615205012281e+00 5.6968906941557279e+01 5.7140229939532411e+01 2 0 0 -13 0 -P 37 21 7.2056915500682295e-01 2.7350626169661183e+00 3.1393811690569535e+01 3.1520964450486176e+01 2 0 0 -13 0 -P 35 21 -5.5465777356364798e-01 9.8068482118457034e-01 7.0650666253777854e+02 7.0650756089247534e+02 2 0 0 -13 0 -V -4 0 0 0 0 0 0 14 0 -P 6 -1 2.6542267443335232e+00 4.7733493416006816e+00 -9.5183018160378474e-01 5.5439845095298299e+00 3 0 0 -5 0 -P 11 1 1.0452289512758353e+00 1.6158783855979435e+00 -6.1449917248529795e+00 6.4477430017130333e+00 2 0 0 -9 0 -P 12 21 2.0507170473914881e-02 -8.9170706750033535e-01 6.3770653890766849e-01 1.0964632543028934e+00 2 0 0 -9 0 -P 13 21 2.4396972905842967e-01 -1.4625120878663037e-01 1.0957508431732279e+00 1.1320691476598213e+00 2 0 0 -9 0 -P 14 21 2.2404339997558728e-01 3.9772174914434660e-02 2.5679435268111024e+00 2.5780052808055083e+00 2 0 0 -9 0 -P 15 21 2.2907916028215539e-01 5.6145433093357851e-02 2.9566325145909338e+00 2.9660251849350718e+00 2 0 0 -9 0 -P 16 21 -6.4153613197677273e-01 -7.0041909254235180e-01 1.0594798881277963e+00 1.4229030701972845e+00 2 0 0 -9 0 -P 17 21 -6.0129688723679253e-01 1.0936253434099126e+00 -4.3678739538393438e+00 4.5426751166000470e+00 2 0 0 -9 0 -P 18 21 -3.0305601865621408e+00 -1.6350966724517046e+00 -5.7074862415394945e+00 6.6658259330709209e+00 2 0 0 -9 0 -P 42 21 -6.7308225475211777e-03 8.7119620191138739e-02 7.4004359099556938e-02 1.1450666950073547e-01 2 0 0 -13 0 -P 43 21 -5.4922530444249185e-01 -5.7443001559112279e+00 6.3312048654001273e+01 6.3574477091698256e+01 2 0 0 -13 0 -P 44 21 4.9246236874230154e-01 -5.4861752836502131e-01 4.3982393709953467e+00 4.4595975089272537e+00 2 0 0 -13 0 -P 45 21 4.3766303360700642e-01 2.8042708174598313e-01 -4.3159676870355774e+00 4.3471560076327940e+00 2 0 0 -13 0 -P 46 21 -1.4413565938367516e+00 2.1405263273210222e+00 -1.0566874068613508e+02 1.0570024654645897e+02 2 0 0 -13 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 1.3362652386696274e+01 -5.2304954478332810e+00 3.2435236228283662e+02 3.2466963744688843e+02 3 0 0 -6 0 -P 8 24 -1.3862798589011460e+01 5.3190305179177280e+00 5.2899710750727365e+02 5.3519431562641421e+02 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 1.3362652386696274e+01 -5.2304954478332810e+00 3.2435236228283662e+02 3.2466963744688843e+02 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 24 -1.3862798589011460e+01 5.3190305179177280e+00 5.2899710750727365e+02 5.3519431562641421e+02 2 0 0 -8 0 -V -8 0 0 0 0 0 0 14 0 -P 20 -3 7.5856117110311561e-01 2.0869673719529196e+01 5.4238786725784678e+01 5.8122411182736293e+01 2 0 0 -11 0 -P 21 21 8.7653865698945155e-01 1.9452440200741499e+00 3.7291978086873669e+00 4.2964183468500563e+00 2 0 0 -11 0 -P 22 21 -2.0857452765265194e-01 -7.8097599171663326e-02 5.4489705676514189e-01 5.8865556232250016e-01 2 0 0 -11 0 -P 23 21 4.3330618320281716e-01 -2.4374988476555451e-01 8.2552704145238334e+00 8.2702271958899356e+00 2 0 0 -11 0 -P 24 21 2.6578215572600017e-01 -6.1069772931963884e-01 4.5356490599717514e+00 4.5842888506420660e+00 2 0 0 -11 0 -P 25 21 1.6304916049466662e+00 -3.6620941265445184e-01 9.3379838052457362e+00 9.4863351066020183e+00 2 0 0 -11 0 -P 26 21 2.6494131576136009e+00 -1.8737085154722346e+00 9.4375769353402248e+00 9.9798813665872306e+00 2 0 0 -11 0 -P 27 21 4.8537372653729438e-01 -5.1150354578642432e-01 3.0414025015288576e+01 3.0422198164537093e+01 2 0 0 -11 0 -P 28 21 -5.8689790026581257e-01 -6.6235167154779151e-01 4.0123127325052408e+01 4.0132885583078945e+01 2 0 0 -11 0 -P 29 21 4.1758121948632577e-02 4.2034989308576348e-01 1.8538918442599272e+01 1.8543730336550770e+01 2 0 0 -11 0 -P 33 4 -1.6288441893558204e+01 -1.0335743124208518e+01 2.4206509617684176e+02 2.4283719178155783e+02 2 0 0 -11 0 -P 30 21 -2.5101750377319743e+00 -1.9382973720472618e+00 6.5945986831567893e+01 6.6022201982453325e+01 2 0 0 -11 0 -P 31 21 8.7123477679498865e-02 -8.9409756075726099e-01 2.1265649086936058e+01 2.1284614913998784e+01 2 0 0 -11 0 -P 32 21 -1.4970574855498966e+00 -4.0178069904057806e-01 2.0564942822669387e+01 2.0623275252607758e+01 2 0 0 -11 0 -V -9 0 0 0 0 0 0 1 0 -P 54 92 -2.2191360057483411e+00 -1.2186750535150928e+00 -6.7797759371562515e+03 6.7987248899907554e+03 2 0 0 -10 0 -V -10 0 0 0 0 0 0 28 0 -P 55 223 4.3914986813415746e-01 3.6830815462664462e-01 -2.8127082215870023e+00 2.9747272598040237e+00 2 0 0 -19 0 -P 56 2214 9.3832780090047519e-03 9.1663704029871862e-01 -1.5328564926592643e+00 2.1740194902635626e+00 2 0 0 -20 0 -P 57 -2214 1.8785147040946842e-01 2.0187292697287215e-01 -1.2056659478163527e+00 1.7030569421445392e+00 2 0 0 -21 0 -P 74 -323 4.7081490132332504e-01 -1.5865648494546025e-02 -3.2261583443112883e+01 3.2277241798891765e+01 2 0 0 -33 0 -P 75 211 -9.1757958893698033e-02 3.2181918311161262e-01 -1.6614336925585420e+01 1.6618292883789543e+01 1 0 0 0 0 -P 76 -211 -5.6452720769387055e-01 -4.8762420703273973e-01 -5.1472406189058162e+01 5.1478000612026534e+01 1 0 0 0 0 -P 77 2212 4.1629393788876684e-01 4.8136660226161482e-01 -2.2629571529474541e+02 2.2629855528880839e+02 1 0 0 0 0 -P 78 -2212 1.6931670804072943e-01 -2.7905712401517913e-01 -3.0378841559864082e+02 3.0379003990182349e+02 1 0 0 0 0 -P 79 113 -3.4822564064186329e-01 -1.3279027021738696e-01 -5.8612314068012904e+02 5.8612361777362742e+02 2 0 0 -34 0 -P 80 223 3.1115346594947385e-01 9.5015147249963641e-02 -1.6070126147938757e+02 1.6070340807922597e+02 2 0 0 -35 0 -P 81 111 -3.0700454395497856e-01 -2.6156960683994035e-01 -8.8893536417835003e+02 8.8893546592367738e+02 2 0 0 -36 0 -P 82 2214 4.7537093601289926e-01 -3.4129421297560109e-01 -4.4813354731965437e+03 4.4813356767779196e+03 2 0 0 -37 0 -P 65 -311 -5.9377456944595330e-01 4.5203893895285015e-02 -9.6189558945220821e-01 1.2359329210161991e+00 2 0 0 -28 0 -P 66 -211 -1.4391794255819610e-02 -7.1461790982322015e-01 -2.6658286748581150e-01 7.7552052901194535e-01 1 0 0 0 0 -P 67 211 -1.3248904077166496e-01 -4.3317492476548036e-01 -1.1482597221245971e+00 1.2422455617645944e+00 1 0 0 0 0 -P 68 -213 -5.2211437200382105e-01 7.9286955835134260e-02 -8.5790184370084488e-01 1.2011011581202928e+00 2 0 0 -29 0 -P 69 223 -9.5592288677932846e-01 -1.7918868574715585e-01 -3.0639090063121457e+00 3.3077794403724048e+00 2 0 0 -30 0 -P 70 211 7.0967562238259174e-02 3.8996758193883674e-01 -2.7910900605680138e+00 2.8225475409556564e+00 1 0 0 0 0 -P 71 221 -7.9420492103182139e-01 -1.1446092486693100e+00 -5.8237902163823607e+00 6.0130795584011185e+00 2 0 0 -31 0 -P 72 -211 -2.2868738909695571e-01 5.3871835020221159e-01 -8.0709761702752125e+00 8.0933708372239366e+00 1 0 0 0 0 -P 73 323 -3.7655233898013341e-01 -5.2497601208213923e-02 -9.3341650875051556e+00 9.3805406988977769e+00 2 0 0 -32 0 -P 58 -211 4.3147175131205556e-02 -2.3557373365294690e-02 2.1335388761743965e-01 2.5964648047518357e-01 1 0 0 0 0 -P 59 213 5.4943604442193794e-01 -4.4949867669686494e-01 1.8435024615148028e+00 2.2056789519361231e+00 2 0 0 -22 0 -P 60 313 -7.8106864351388319e-02 -2.9683058321885142e-01 1.5358913398195986e+00 1.7943222638789789e+00 2 0 0 -23 0 -P 61 -313 -2.8127679350961809e-01 -4.0985048763141485e-01 1.3613208314607497e+00 1.6998147557129637e+00 2 0 0 -24 0 -P 62 111 5.2287976246185208e-01 3.1551855841571058e-01 1.6575473956800690e+00 1.7716202121286238e+00 2 0 0 -25 0 -P 63 223 4.2062353527572627e-01 -5.3534021227090882e-02 -5.1902760003831150e-01 1.0278601073623364e+00 2 0 0 -26 0 -P 64 313 -1.0164883296342317e+00 3.0317113360459302e-01 -4.7102726088297031e-01 1.4817262414936587e+00 2 0 0 -27 0 -V -11 0 0 0 0 0 0 1 0 -P 83 92 -1.3862798589011463e+01 5.3190305179177262e+00 5.2899710750727411e+02 5.3519431562641466e+02 2 0 0 -12 0 -V -12 0 0 0 0 0 0 21 0 -P 84 311 2.5888648514865614e-01 6.8942858996681888e+00 1.8438621810969973e+01 1.9693365634025938e+01 2 0 0 -38 0 -P 85 -2214 5.9843068834265156e-01 7.0360055489560640e+00 1.7358883624012101e+01 1.8783497498949131e+01 2 0 0 -39 0 -P 86 2212 3.4886119643935054e-01 4.9862993156252911e+00 1.2320349332712045e+01 1.3328775010192965e+01 1 0 0 0 0 -P 87 213 -1.7633909923617705e-01 5.5008275946494822e-01 3.1366704522030666e+00 3.2788845202711485e+00 2 0 0 -40 0 -P 88 -213 9.3596281426276295e-01 3.1300597444033751e+00 1.2279947128812188e+01 1.2716588374863234e+01 2 0 0 -41 0 -P 89 223 2.1870910397305326e-01 -5.2382770779191845e-01 2.3985226478001938e+00 2.5828193483021984e+00 2 0 0 -42 0 -P 90 213 6.1204214328732109e-01 -1.6796573188674388e-01 4.5599062798313206e+00 4.6552912175547361e+00 2 0 0 -43 0 -P 91 221 5.4269273511143312e-01 7.7987872353382517e-02 1.0780774373457542e+00 1.3276106267994858e+00 2 0 0 -44 0 -P 92 -211 8.0098137319982554e-01 -5.7398530539559300e-01 6.2237539585614439e+00 6.3028266208608654e+00 1 0 0 0 0 -P 93 213 5.5057551623275680e-01 -1.0534036535349371e+00 9.4814928549044328e+00 9.5835615561107037e+00 2 0 0 -45 0 -P 94 -321 1.5575020040762801e+00 -8.3099763629883872e-01 8.8844400576506484e+00 9.0715646755244688e+00 1 0 0 0 0 -P 95 313 3.3279971362282484e-01 -1.8260757454558951e-01 7.4157827342161626e+00 7.4614577188472992e+00 2 0 0 -46 0 -P 96 -1114 -5.0615240179884302e-01 -3.3322629949875109e-02 2.3237572673526984e+01 2.3276087644739984e+01 2 0 0 -47 0 -P 97 -211 1.7928451814409808e-02 -8.9954836115038374e-03 3.5726096339188897e+00 3.5753911295660967e+00 1 0 0 0 0 -P 98 3122 -6.5369447377612477e-01 -1.0702310712709195e+00 2.9383501117182917e+01 2.9431404838655745e+01 2 0 0 -48 0 -P 99 321 -2.4057580701681808e-01 -2.6944576020956384e-01 4.7340903611494610e+01 4.7344854772714633e+01 1 0 0 0 0 -P 100 -211 5.7342976079554991e-02 -6.8530273376454165e-01 2.0599804297672083e+01 2.0611752592661787e+01 1 0 0 0 0 -P 101 223 -2.3410430059255853e+00 -1.1503275478832635e+00 4.4285266064355085e+01 4.4369010681721200e+01 2 0 0 -49 0 -P 102 223 -3.1953002833548410e+00 -2.9014902189151588e+00 5.7122129530076670e+01 5.7290619886004976e+01 2 0 0 -50 0 -P 103 111 -9.4229307627474845e-01 -2.6009023256420677e-01 1.3944330755467364e+01 1.3979203946897107e+01 2 0 0 -51 0 -P 104 411 -1.2640115643219200e+01 -7.6436973349308683e+00 1.8593454150456017e+02 1.8652974733115090e+02 2 0 0 -52 0 -V -13 0 0 0 0 0 4 1 0 -P 40 21 3.6780928056629758e+00 -1.8218289456156361e-01 5.0306149033881333e+01 5.0440759192474694e+01 2 0 0 -13 0 -P 41 21 -3.1335321392207005e-01 3.6624933692512527e+00 2.9580619506280872e+01 2.9808138121859425e+01 2 0 0 -13 0 -P 38 21 -3.6780928056629758e+00 1.8218289456156361e-01 2.3176136987604477e+02 2.3179062561742003e+02 2 0 0 -13 0 -P 39 21 1.9326626594872165e+00 3.0361539888006712e+00 4.1524606600260074e+02 4.1526166298688753e+02 2 0 0 -13 0 -P 105 92 4.3385916536288640e+00 7.8287873414824647e+00 5.6439088698045143e+03 5.9802581086412247e+03 2 0 0 -14 0 -V -14 0 0 0 0 0 0 44 0 -P 106 2212 -3.4160521964083146e-01 -4.2707439382586243e-01 3.8512250996931152e+03 3.8512252528180561e+03 1 0 0 0 0 -P 107 223 -2.5910643630590879e-01 2.6822308539292211e-01 3.3980500829705886e+02 3.3980610932012291e+02 2 0 0 -53 0 -P 108 -213 -8.4375493495365134e-02 9.5940084333554179e-02 4.2717554323319206e+02 4.2717675743312810e+02 2 0 0 -54 0 -P 109 113 -3.4570270925533353e-01 3.3786281887310854e-01 1.4073143387350351e+02 1.4073480152132342e+02 2 0 0 -55 0 -P 110 213 2.4695902556986107e-01 1.2962129105176443e-01 1.2135495094371257e+02 1.2135708944265656e+02 2 0 0 -56 0 -P 111 -213 7.1828294249699365e-01 2.4088172256065112e-02 1.8213566215684704e+01 1.8242281874573358e+01 2 0 0 -57 0 -P 112 211 3.2873577492781386e-01 9.7272501560572222e-01 3.9426955314388032e+01 3.9440569802087708e+01 1 0 0 0 0 -P 113 111 3.6542984071301632e-02 -1.2598519400611854e-01 1.0816686858157469e+00 1.0979227682619390e+00 2 0 0 -58 0 -P 114 -323 8.6173923366826966e-01 1.1984057445008052e+00 3.0606103245405613e+01 3.0655843761329539e+01 2 0 0 -59 0 -P 115 321 9.6888861415451444e-03 7.5096383158525493e-01 1.2274824797803829e+01 1.2307680745276246e+01 1 0 0 0 0 -P 116 113 1.7372162770218658e+00 5.9807209762691627e-01 1.9986477309083451e+01 2.0086000654430649e+01 2 0 0 -60 0 -P 117 111 3.0531402020407761e-01 1.8264305008182584e+00 4.1855045772255252e+01 4.1896206764135989e+01 2 0 0 -61 0 -P 118 -211 -3.5077119331308954e-01 -4.5694813801297091e-01 4.3816705499162680e+01 4.3820714309743344e+01 1 0 0 0 0 -P 119 211 -3.7029195227841366e-01 2.5395295815850005e-01 1.0279729792404048e+01 1.0290477764643340e+01 1 0 0 0 0 -P 120 -323 -7.3509947734007886e-01 2.6814421430056673e-01 6.0116876101422612e+01 6.0128892408855542e+01 2 0 0 -62 0 -P 121 311 -6.9510494917716592e-01 3.2581753110533535e-01 7.2855221980526849e+01 7.2860966046400250e+01 2 0 0 -63 0 -P 122 113 -5.2905073522641244e-01 3.1400871973230815e-01 7.3063252128309969e+01 7.3071887443745908e+01 2 0 0 -64 0 -P 123 211 6.6028226411728730e-01 4.7432898901159826e-01 8.6408369660818963e+01 8.6412306923746485e+01 1 0 0 0 0 -P 124 -323 3.0867648137115933e-01 4.2956262666170625e-01 1.9432116829669465e+02 1.9432395791775645e+02 2 0 0 -65 0 -P 125 323 6.2311833999943100e-01 6.5723937948714817e-01 2.0539373968623146e+01 2.0576811112060657e+01 2 0 0 -66 0 -P 126 -213 8.2345550936719503e-01 5.3491978714712018e-01 3.7603445724436263e+01 3.7621593707277178e+01 2 0 0 -67 0 -P 127 213 9.8022239868273831e-01 8.7532758950826225e-02 3.4555170316705698e+01 3.4579992236556180e+01 2 0 0 -68 0 -P 128 -211 -5.4933402605629666e-01 6.9404217019334813e-01 8.2074041622333471e+00 8.2561749783622673e+00 1 0 0 0 0 -P 129 113 -1.8452176626646558e-01 6.0381110882112632e-01 1.3101634256941848e+01 1.3132355266544623e+01 2 0 0 -69 0 -P 130 -3112 1.4055290907999738e+00 4.7729917439304131e-01 2.0435320259645351e+01 2.0524120034603992e+01 2 0 0 -70 0 -P 131 3122 5.3829758889303592e-01 4.0787393536340916e-01 1.1614299998698201e+01 1.1687293603033934e+01 2 0 0 -71 0 -P 132 113 3.0711687734085993e-03 -8.8265073989745946e-01 1.3713684841961960e+01 1.3753831262363400e+01 2 0 0 -72 0 -P 133 221 -7.5480206365605290e-02 1.8124278719185263e-01 5.6912987989439365e+00 5.7209378366508021e+00 2 0 0 -73 0 -P 134 -323 3.4119607349226949e-02 2.9236525030979216e-01 9.4123046873792351e+00 9.4590213924699373e+00 2 0 0 -74 0 -P 135 311 3.1370849344690394e-01 -1.6502140696154801e+00 1.7013060483686480e+01 1.7103026689591879e+01 2 0 0 -75 0 -P 136 111 -4.0944263992706453e-01 4.8640258974619648e-02 1.8573871902464190e+00 1.9073845771304352e+00 2 0 0 -76 0 -P 137 211 4.2521983009641312e-01 1.0095857429967137e-01 1.7231640563937192e+00 1.7831933960676001e+00 1 0 0 0 0 -P 138 331 -6.4813629763747049e-01 -1.8623822616724834e+00 1.5746494503179859e+01 1.5898343095215896e+01 2 0 0 -77 0 -P 139 223 2.6048232688869083e-01 -7.5634998087022398e-01 9.4625709838721264e+00 9.5283224643966609e+00 2 0 0 -78 0 -P 140 -213 1.8439421727607613e-01 -1.4205338969033782e-02 4.9823217426385797e+00 5.0459413515342293e+00 2 0 0 -79 0 -P 141 223 2.2982888723697886e-02 -2.4721922626951739e-01 7.1905766008958572e-01 1.0910344129213754e+00 2 0 0 -80 0 -P 142 211 -2.5858770326589875e-01 3.7058982588567041e-01 -1.3267284914603703e+00 1.4085072574477475e+00 1 0 0 0 0 -P 143 113 3.8294560107957676e-01 -4.0649528732935525e-01 -2.2779494568707106e+00 2.5112020323957029e+00 2 0 0 -81 0 -P 144 -213 -1.7928345872764893e-02 -4.4205911706645860e-02 -7.7159032233104536e+00 7.7555350485384382e+00 2 0 0 -82 0 -P 145 -2112 1.2412666094555554e-01 6.0949944184229277e-01 -5.5543953322427688e+00 5.6675388211554232e+00 1 0 0 0 0 -P 146 2212 -6.3965319906624407e-01 -1.8727663295352737e-02 -7.6895933419740139e+00 7.7730112117685382e+00 1 0 0 0 0 -P 147 223 -1.7596507607359885e-02 5.0768816135776895e-01 -3.0916304915378632e+01 3.0930486957261824e+01 2 0 0 -83 0 -P 148 -213 -6.6424238417843881e-02 1.1248577022620441e+00 -6.6508630910885344e+01 6.6523631467643838e+01 2 0 0 -84 0 -P 149 213 -4.1830686176762299e-01 -2.4546245054114987e-01 -4.5077618999398048e+01 4.5083098707959479e+01 2 0 0 -85 0 -V -15 0 0 0 0 0 4 1 0 -P 48 21 1.5946597234291504e+00 -9.2504118596319991e+00 -1.3340867622115992e+01 1.6312320745901555e+01 2 0 0 -15 0 -P 49 21 3.1335321392207005e-01 -3.6624933692512527e+00 -1.5996227394120206e+01 1.6413145303715751e+01 2 0 0 -15 0 -P 50 21 -1.5946597234291504e+00 9.2504118596319991e+00 3.4553214778277602e-01 9.3932130643086573e+00 2 0 0 -15 0 -P 51 21 -1.9326626594872165e+00 -3.0361539888006712e+00 -2.2403930493388815e+00 4.2394312135724528e+00 2 0 0 -15 0 -P 150 92 -1.6193094455651464e+00 -6.6986473580519243e+00 -3.1231955917792302e+01 4.6358110327498416e+01 2 0 0 -16 0 -V -16 0 0 0 0 0 0 16 0 -P 151 -213 -9.1575437638018786e-01 1.9786173531659450e+00 1.0038490462694034e-01 2.3689498194545235e+00 2 0 0 -86 0 -P 152 221 -1.1496652822320098e-01 -7.9300120639953120e-01 -1.4401545991065330e+00 1.7366102003012958e+00 2 0 0 -87 0 -P 153 213 -7.2057087624760130e-01 -1.4035436254698561e+00 -1.4434746483930367e+00 2.3576881056684051e+00 2 0 0 -88 0 -P 154 311 -4.2407341657881786e-01 -1.1323088737363824e+00 -4.2536503779649254e-01 1.3749809062203735e+00 2 0 0 -89 0 -P 155 -323 6.8739672657553341e-01 -3.4637271310558235e+00 -5.6861873569991586e+00 6.7553227489313796e+00 2 0 0 -90 0 -P 156 211 3.2027042541495282e-01 -2.3824354336932485e+00 -4.9432086795529084e+00 5.4984873897845601e+00 1 0 0 0 0 -P 157 -211 3.7929530102443287e-01 -1.7398661940045272e+00 -1.6262506930350391e+00 2.4156097366743579e+00 1 0 0 0 0 -P 158 211 3.5929042858649445e-02 -2.5352917615846560e-01 -5.9214749380134923e-01 6.6006543508924009e-01 1 0 0 0 0 -P 159 113 -1.8124205568734308e-01 -3.1612383038769862e+00 -1.1255356346808174e+01 1.1743159345237892e+01 2 0 0 -91 0 -P 160 -211 2.8532095261363383e-01 1.0522733295491603e-02 -1.4240332868527008e+00 1.4590645499363166e+00 1 0 0 0 0 -P 161 111 8.0154759639689030e-02 -3.4769109444583562e-01 -8.8595154092897399e-01 9.6459505281971181e-01 2 0 0 -92 0 -P 162 211 3.8450845074859470e-02 2.0662978645006660e-01 -7.8432525673484271e-02 2.6420783886723115e-01 1 0 0 0 0 -P 163 2112 -6.2517197323617857e-01 3.1384370147711613e+00 1.1380234215497604e-02 3.3351983728762726e+00 1 0 0 0 0 -P 164 -2212 4.7227611869119018e-01 9.0023711940114270e-01 -1.4423015082082278e+00 1.9985134067384713e+00 1 0 0 0 0 -P 165 213 -8.8060853310417464e-01 -2.2704271380420674e-01 -3.0207510516881181e-01 1.2785039593373555e+00 2 0 0 -93 0 -P 166 113 -5.6015858000582994e-02 1.9712923875091308e+00 2.0121776569014715e-01 2.1471534595610358e+00 2 0 0 -94 0 -V -17 0 0 0 0 0 2 1 0 -P 52 21 -3.0362721334232550e+00 7.6960555799361619e-01 3.0949052196359327e+02 3.0950637219042926e+02 2 0 0 -17 0 -P 53 21 3.0362721334232550e+00 -7.6960555799361619e-01 4.2639680730324301e+00 5.2908094759627442e+00 2 0 0 -17 0 -P 167 92 0 0 3.1375449003662573e+02 3.1479718166639202e+02 2 0 0 -18 0 -V -18 0 0 0 0 0 0 14 0 -P 168 213 3.2999323989997326e-01 5.6942160313396906e-01 1.1610979057575713e+01 1.1657922862124975e+01 2 0 0 -95 0 -P 169 311 -3.9549707014260671e-01 -2.8851686492632728e-01 8.4163752596000130e+00 8.4452772514077648e+00 2 0 0 -96 0 -P 170 -323 5.2128742450140031e-01 9.7134097701761499e-02 8.3960820516559060e+00 8.4589041202825257e+00 2 0 0 -97 0 -P 171 113 3.8591072460653691e-01 -2.7644757220945215e-01 4.7314982713787517e+00 4.8147268927460747e+00 2 0 0 -98 0 -P 172 213 6.0325469359176376e-01 -3.0740340709509106e-01 1.4598324375000185e+00 1.7877548921809201e+00 2 0 0 -99 0 -P 173 1114 3.6710399464270077e-01 1.2951245679680667e-01 3.1121459445196282e+00 3.3467359928685627e+00 2 0 0 -100 0 -P 174 -1114 9.7380249513257433e-01 -6.3457340363777717e-02 1.2276570613075052e+01 1.2375786282599574e+01 2 0 0 -101 0 -P 175 2112 -3.2151359419442543e-01 -3.9573049090654866e-01 1.2203622044795935e+01 1.2250353317754321e+01 1 0 0 0 0 -P 176 211 -2.6031509045536677e-01 -2.5957138973744100e-02 2.1813184663724797e+01 2.1815199808345582e+01 1 0 0 0 0 -P 177 -3222 -1.3419797779501037e+00 1.0195367754860356e+00 7.0658805821816856e+01 7.0688908649965128e+01 2 0 0 -102 0 -P 178 -323 6.5303950764476326e-01 4.5843110713109797e-01 4.3702629036619392e+01 4.3720185385460475e+01 2 0 0 -103 0 -P 179 113 -1.2053222613750429e+00 -6.5261496518697781e-01 8.2787798768823720e+01 8.2800346532049119e+01 2 0 0 -104 0 -P 180 213 2.0228441721426238e-01 1.5934395893829920e-01 2.2925780883396051e+01 2.2952070100818403e+01 2 0 0 -105 0 -P 181 -211 -5.1204870311642947e-01 -4.2325221952605135e-01 9.6591851821438173e+00 9.6830095777884910e+00 1 0 0 0 0 -V -19 0 0 0 0 0 0 2 0 -P 182 22 1.8587946456084625e-01 -2.1984404913873207e-01 -1.2052101682909502e+00 1.2391182877510287e+00 1 0 0 0 0 -P 183 111 2.5327040357331115e-01 5.8815220376537669e-01 -1.6074980532960521e+00 1.7356089720529952e+00 2 0 0 -106 0 -V -20 0 0 0 0 0 0 2 0 -P 184 2212 -1.8155431084997567e-01 5.7356379733320284e-01 -9.9133230842357767e-01 1.4916526861249948e+00 1 0 0 0 0 -P 185 111 1.9093758885898043e-01 3.4307324296551578e-01 -5.4152418423568671e-01 6.8236680413856798e-01 2 0 0 -107 0 -V -21 0 0 0 0 0 0 2 0 -P 186 -2212 3.1520905862425908e-01 2.1080784939947769e-01 -1.0716835086387424e+00 1.4739921423113049e+00 1 0 0 0 0 -P 187 111 -1.2735758821479068e-01 -8.9349224266055422e-03 -1.3398243917761030e-01 2.2906479983323427e-01 2 0 0 -108 0 -V -22 0 0 0 0 0 0 2 0 -P 188 211 7.9805875536976001e-01 -3.2097636430674814e-01 1.5504153910727283e+00 1.7785362726807428e+00 1 0 0 0 0 -P 189 111 -2.4862271094782207e-01 -1.2852231239011683e-01 2.9308707044207477e-01 4.2714267925538041e-01 2 0 0 -109 0 -V -23 0 0 0 0 0 0 2 0 -P 190 321 -1.5072910497911379e-01 -4.2818751301287367e-01 1.3882161311751551e+00 1.5417032127627126e+00 1 0 0 0 0 -P 191 -211 7.2622240627725473e-02 1.3135692979402222e-01 1.4767520864444364e-01 2.5261905111626654e-01 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 192 -321 -7.3081843994436652e-02 -3.2872056572966601e-02 1.0091837996890252e+00 1.1262834588058825e+00 1 0 0 0 0 -P 193 211 -2.0819494951518142e-01 -3.7697843105844819e-01 3.5213703177172428e-01 5.7353129690708116e-01 1 0 0 0 0 -V -25 0 1.4713437953703780e-06 8.8784517316833685e-07 4.6642120258844947e-06 4.9852042362384955e-06 0 2 0 -P 194 22 2.7205036877184846e-01 2.1002866456737385e-01 7.6826252672454298e-01 8.4163576032511367e-01 1 0 0 0 0 -P 195 22 2.5082939369000368e-01 1.0548989384833672e-01 8.8928486895552616e-01 9.2998445180351008e-01 1 0 0 0 0 -V -26 0 0 0 0 0 0 3 0 -P 196 211 4.8097144381577590e-02 -3.3729039691863125e-02 -1.4857572844262404e-01 2.1214503387648262e-01 1 0 0 0 0 -P 197 -211 3.7753509906070848e-01 -2.8072898252255268e-02 -4.9028060511515958e-01 6.3496117620776427e-01 1 0 0 0 0 -P 198 111 -5.0087081665597831e-03 8.2679167170274983e-03 1.1982873351947212e-01 1.8075389727808949e-01 2 0 0 -110 0 -V -27 0 0 0 0 0 0 2 0 -P 199 311 -8.4559749187529187e-01 9.9710033077653488e-03 -5.2448860633214933e-01 1.1126087660291861e+00 2 0 0 -111 0 -P 200 111 -1.7089083775893985e-01 2.9320013029682768e-01 5.3461345449179000e-02 3.6911747546447249e-01 2 0 0 -112 0 -V -28 0 0 0 0 0 0 1 0 -P 201 310 -5.9377456944595330e-01 4.5203893895285015e-02 -9.6189558945220821e-01 1.2359329210161991e+00 2 0 0 -113 0 -V -29 0 0 0 0 0 0 2 0 -P 202 -211 5.7565215324936768e-02 -1.1132129032450142e-01 -3.4466881494030727e-01 3.9240611690858496e-01 1 0 0 0 0 -P 203 111 -5.7967958732875779e-01 1.9060824615963567e-01 -5.1323302876053767e-01 8.0869504121170799e-01 2 0 0 -114 0 -V -30 0 0 0 0 0 0 3 0 -P 204 211 -2.9500658243202599e-01 -2.2831491421237085e-01 -7.6054280475650438e-01 8.5852299124538090e-01 1 0 0 0 0 -P 205 -211 -3.1517645369553471e-01 -1.6670151526215007e-01 -1.3583103023518337e+00 1.4112449307366599e+00 1 0 0 0 0 -P 206 111 -3.4573985065176793e-01 2.1582774372736507e-01 -9.4505589920380773e-01 1.0380115183903642e+00 2 0 0 -115 0 -V -31 0 0 0 0 0 0 2 0 -P 207 22 -2.7296924447765503e-01 -1.1720991606231085e-01 -6.8344889887257443e-01 7.4521994754848742e-01 1 0 0 0 0 -P 208 22 -5.2123567655416625e-01 -1.0273993326069992e+00 -5.1403413175097858e+00 5.2678596108526312e+00 1 0 0 0 0 -V -32 0 0 0 0 0 0 2 0 -P 209 311 -1.7100390911822591e-01 -2.6586260149101487e-01 -5.1674196262737446e+00 5.2009447490532308e+00 2 0 0 -116 0 -P 210 211 -2.0554842986190747e-01 2.1336500028280095e-01 -4.1667454612314101e+00 4.1795959498445461e+00 1 0 0 0 0 -V -33 0 0 0 0 0 0 2 0 -P 211 -321 5.0202951655587369e-01 -1.0818066855080209e-01 -1.7205959210260328e+01 1.7220697140292657e+01 1 0 0 0 0 -P 212 111 -3.1214615232548548e-02 9.2315020056256067e-02 -1.5055624232852555e+01 1.5056544658599103e+01 2 0 0 -117 0 -V -34 0 0 0 0 0 0 2 0 -P 213 211 9.1259248721195466e-02 -4.6924362818728679e-02 -3.3138429820366952e+02 3.3138434348331810e+02 1 0 0 0 0 -P 214 -211 -4.3948488936305879e-01 -8.5865907398658278e-02 -2.5473884247645952e+02 2.5473927429030923e+02 1 0 0 0 0 -V -35 0 0 0 0 0 0 3 0 -P 215 -211 -1.2003912619075557e-02 1.5417261170584987e-01 -3.7414862979715281e+01 3.7415442866066513e+01 1 0 0 0 0 -P 216 211 7.5480641148820526e-02 -1.0982597901254602e-01 -1.5712350184328226e+01 1.5713535158350382e+01 1 0 0 0 0 -P 217 111 2.4767673741972890e-01 5.0668514556659799e-02 -1.0757404831534404e+02 1.0757443005480903e+02 2 0 0 -118 0 -V -36 0 -7.0045040781826522e-05 -5.9678770686458553e-05 -2.0281626139517797e-01 2.0281628460902201e-01 0 2 0 -P 218 22 -2.0306043592456660e-01 -1.0355072122695697e-01 -5.7088734079546225e+02 5.7088738630031651e+02 1 0 0 0 0 -P 219 22 -1.0394410803041193e-01 -1.5801888561298336e-01 -3.1804802338288772e+02 3.1804807962336088e+02 1 0 0 0 0 -V -37 0 0 0 0 0 0 2 0 -P 220 2212 1.9744570739179240e-01 -2.9511038265664724e-01 -2.9201396219359308e+03 2.9201397942608260e+03 1 0 0 0 0 -P 221 111 2.7792522862110680e-01 -4.6183830318953831e-02 -1.5611958512606125e+03 1.5611958825170939e+03 2 0 0 -119 0 -V -38 0 0 0 0 0 0 1 0 -P 222 130 2.5888648514865614e-01 6.8942858996681888e+00 1.8438621810969973e+01 1.9693365634025938e+01 1 0 0 0 0 -V -39 0 0 0 0 0 0 2 0 -P 223 -2212 6.4080126117661795e-01 6.6596959653282841e+00 1.6651831163988486e+01 1.7970142133934655e+01 1 0 0 0 0 -P 224 111 -4.2370572833966343e-02 3.7630958362777911e-01 7.0705246002361244e-01 8.1335536501447692e-01 2 0 0 -120 0 -V -40 0 0 0 0 0 0 2 0 -P 225 211 7.1578317760274915e-02 -4.5300168548451349e-02 1.5812339005719036e+00 1.5896402089975410e+00 1 0 0 0 0 -P 226 111 -2.4791741699645198e-01 5.9538292801339954e-01 1.5554365516311630e+00 1.6892443112736077e+00 2 0 0 -121 0 -V -41 0 0 0 0 0 0 2 0 -P 227 -211 8.3215158992368088e-01 2.4641162172429856e+00 1.0127048332028291e+01 1.0456621476596988e+01 1 0 0 0 0 -P 228 111 1.0381122433908205e-01 6.6594352716038974e-01 2.1528987967838971e+00 2.2599668982662449e+00 2 0 0 -122 0 -V -42 0 0 0 0 0 0 3 0 -P 229 211 1.4965349692285381e-02 -2.3653199756728413e-01 1.4382398007146437e+00 1.4643035398524038e+00 1 0 0 0 0 -P 230 -211 2.2523982939715814e-01 -2.3702484908296056e-02 5.6148232442395496e-01 6.2131873791011349e-01 1 0 0 0 0 -P 231 111 -2.1496075116390248e-02 -2.6359322531633833e-01 3.9880052266159505e-01 4.9719707053968126e-01 2 0 0 -123 0 -V -43 0 0 0 0 0 0 2 0 -P 232 211 2.3913424705178085e-01 -1.1677536002552498e-01 3.6380966329753557e+00 3.6504860729208013e+00 1 0 0 0 0 -P 233 111 3.7290789623554016e-01 -5.1190371861218900e-02 9.2180964685596467e-01 1.0048051446339359e+00 2 0 0 -124 0 -V -44 0 0 0 0 0 0 3 0 -P 234 111 2.5665924518427391e-01 -7.3737349265815239e-02 3.8717337870206897e-01 4.8931992641919431e-01 2 0 0 -125 0 -P 235 111 1.6865575199696520e-01 1.3369711769649753e-01 2.2670061612841966e-01 3.4048854858132604e-01 2 0 0 -126 0 -P 236 111 1.1737773793019404e-01 1.8028103922700229e-02 4.6420344251526557e-01 4.9780215179896570e-01 2 0 0 -127 0 -V -45 0 0 0 0 0 0 2 0 -P 237 211 4.0644969833856254e-01 -1.1066065128461260e+00 8.3074841847963157e+00 8.3918742005045495e+00 1 0 0 0 0 -P 238 111 1.4412581789419426e-01 5.3202859311188878e-02 1.1740086701081160e+00 1.1916873556061522e+00 2 0 0 -128 0 -V -46 0 0 0 0 0 0 2 0 -P 239 311 2.5178180326027377e-01 -3.2242494783834660e-02 4.0106627287096375e+00 4.0493857073985327e+00 2 0 0 -129 0 -P 240 111 8.1017910362551057e-02 -1.5036507976175487e-01 3.4051200055065252e+00 3.4120720114487666e+00 2 0 0 -130 0 -V -47 0 0 0 0 0 0 2 0 -P 241 -2112 -2.6558420839918023e-01 -4.1394355142160610e-02 1.3870983886355736e+01 1.3905367101404735e+01 1 0 0 0 0 -P 242 211 -2.4056819339966279e-01 8.0717251922855018e-03 9.3665887871712474e+00 9.3707205433352510e+00 1 0 0 0 0 -V -48 0 -1.7671461207839840e+01 -2.8931783299526622e+01 7.9433041118326389e+02 7.9562540263520054e+02 0 2 0 -P 243 2212 -6.4323292945979427e-01 -9.6342862692646503e-01 2.7198319694383319e+01 2.7239142572986808e+01 1 0 0 0 0 -P 244 -211 -1.0461544316330479e-02 -1.0680244434445450e-01 2.1851814227995972e+00 2.1922622656689379e+00 1 0 0 0 0 -V -49 0 0 0 0 0 0 3 0 -P 245 211 -1.0658262219708090e+00 -8.2252278997220341e-01 2.1555528495606971e+01 2.1597981798892423e+01 1 0 0 0 0 -P 246 -211 -4.9088454070215592e-01 -3.0027745336315973e-02 7.2664188190925962e+00 7.2843799693009830e+00 1 0 0 0 0 -P 247 111 -7.8433224325262052e-01 -2.9777701257474420e-01 1.5463318749655521e+01 1.5486648913527794e+01 2 0 0 -131 0 -V -50 0 0 0 0 0 0 3 0 -P 248 -211 -1.2188640219493940e+00 -9.3422180369870000e-01 2.0922904541008972e+01 2.0979652382715557e+01 1 0 0 0 0 -P 249 211 -1.0146380362055605e+00 -1.1421994186045756e+00 1.6785995231936074e+01 1.6855955195949480e+01 1 0 0 0 0 -P 250 111 -9.6179822519988656e-01 -8.2506899661188349e-01 1.9413229757131628e+01 1.9455012307339945e+01 2 0 0 -132 0 -V -51 0 -6.7612250962819850e-05 -1.8662225712865060e-05 1.0005460236156168e-03 1.0030482758662050e-03 0 2 0 -P 251 22 -5.4111388577644548e-01 -1.7745401666901453e-01 8.9546946112744887e+00 8.9727838348307714e+00 1 0 0 0 0 -P 252 22 -4.0117919049830292e-01 -8.2636215895192267e-02 4.9896361441928754e+00 5.0064201120663352e+00 1 0 0 0 0 -V -52 0 -1.0031594106859512e+00 -6.0662790835180747e-01 1.4756351155848559e+01 1.4803588565939812e+01 0 4 0 -P 253 -13 -2.6618575532310844e+00 -1.6167266063331194e+00 3.6143438395162441e+01 3.6277521878069642e+01 1 0 0 0 0 -P 254 14 -1.7622608552463395e+00 -6.1124567981443900e-01 2.3767021479078203e+01 2.3840102654770387e+01 1 0 0 0 0 -P 255 -323 -7.3856701894561985e+00 -4.9147012895514184e+00 1.1208276364753114e+02 1.1243641907035618e+02 2 0 0 -133 0 -P 256 211 -8.3032704528557788e-01 -5.0102375923189180e-01 1.3941317982788394e+01 1.3975703727954690e+01 1 0 0 0 0 -V -53 0 0 0 0 0 0 3 0 -P 259 111 -2.1788911425523635e-01 -3.3819150870949083e-02 1.5879812474349990e+02 1.5879833519610222e+02 2 0 0 -134 0 -P 257 -211 1.3857831485530528e-01 2.6488289772950824e-01 1.2033220667879797e+02 1.2033265895372175e+02 1 0 0 0 0 -P 258 211 -1.7979563690597777e-01 3.7159338534362971e-02 6.0674676874761047e+01 6.0675115170299051e+01 1 0 0 0 0 -V -54 0 0 0 0 0 0 2 0 -P 260 -211 -3.1834604045503856e-01 3.0376945733427041e-01 3.6415849333717392e+02 3.6415878592925657e+02 1 0 0 0 0 -P 261 111 2.3397054695967343e-01 -2.0782937300071624e-01 6.3017049896018172e+01 6.3017971503871578e+01 2 0 0 -135 0 -V -55 0 0 0 0 0 0 2 0 -P 262 211 -3.2804553869109360e-01 -2.0500235184311433e-01 6.3497741005976408e+01 6.3499072689974568e+01 1 0 0 0 0 -P 263 -211 -1.7657170564239925e-02 5.4286517071622287e-01 7.7233692867527111e+01 7.7235728831348879e+01 1 0 0 0 0 -V -56 0 0 0 0 0 0 2 0 -P 264 211 2.3313981532533326e-01 2.5928411580336491e-01 1.0957397434947973e+02 1.0957461803242364e+02 1 0 0 0 0 -P 265 111 1.3819210244527837e-02 -1.2966282475160049e-01 1.1780976594232847e+01 1.1782471410232937e+01 2 0 0 -136 0 -V -57 0 0 0 0 0 0 2 0 -P 266 -211 4.5549648708790008e-01 2.2808652686664740e-01 5.9317208860832444e+00 5.9551904225460079e+00 1 0 0 0 0 -P 267 111 2.6278645540909368e-01 -2.0399835461058230e-01 1.2281845329601460e+01 1.2287091452027347e+01 2 0 0 -137 0 -V -58 0 2.1464610372068443e-05 -7.4001157013187091e-05 6.3535032736792402e-04 6.4489764692951892e-04 0 2 0 -P 268 22 -4.6675719704953711e-02 -1.7936313484327244e-02 2.2709027355224920e-01 2.3253027005837071e-01 1 0 0 0 0 -P 269 22 8.3218703776255343e-02 -1.0804888052179129e-01 8.5457841226349773e-01 8.6539249820356823e-01 1 0 0 0 0 -V -59 0 0 0 0 0 0 2 0 -P 270 -311 7.4489573882419291e-01 8.6535957172601397e-01 1.7511148478823699e+01 1.7555389865406173e+01 2 0 0 -138 0 -P 271 -211 1.1684349484407686e-01 3.3304617277479132e-01 1.3094954766581912e+01 1.3100453895923364e+01 1 0 0 0 0 -V -60 0 0 0 0 0 0 2 0 -P 272 -211 1.4834296209480378e+00 5.9292167637229842e-01 1.8632553603080105e+01 1.8701434520142339e+01 1 0 0 0 0 -P 273 211 2.5378665607382822e-01 5.1504212546178629e-03 1.3539237060033491e+00 1.3845661342883115e+00 1 0 0 0 0 -V -61 0 2.9762149049519281e-06 1.7804127290848588e-05 4.0800488294499739e-04 4.0840612215915523e-04 0 2 0 -P 274 22 1.6410544409971853e-01 1.1774821168325287e+00 2.5564031639197310e+01 2.5591660914878588e+01 1 0 0 0 0 -P 275 22 1.4120857610435908e-01 6.4894838398572974e-01 1.6291014133057946e+01 1.6304545849257401e+01 1 0 0 0 0 -V -62 0 0 0 0 0 0 2 0 -P 276 -311 -4.7598331792509141e-01 -8.4343084301410715e-02 2.7348337649344273e+01 2.7357136573228090e+01 2 0 0 -139 0 -P 277 -211 -2.5911615941498739e-01 3.5248729860197742e-01 3.2768538452078332e+01 3.2771755835627452e+01 1 0 0 0 0 -V -63 0 0 0 0 0 0 1 0 -P 278 310 -6.9510494917716592e-01 3.2581753110533535e-01 7.2855221980526849e+01 7.2860966046400236e+01 2 0 0 -140 0 -V -64 0 0 0 0 0 0 2 0 -P 279 -211 -3.5884084719608189e-01 -1.6833740109714063e-01 5.2889439384711885e+01 5.2891108727726980e+01 1 0 0 0 0 -P 280 211 -1.7020988803033060e-01 4.8234612082944878e-01 2.0173812743598088e+01 2.0180778716018942e+01 1 0 0 0 0 -V -65 0 0 0 0 0 0 2 0 -P 281 -321 3.4124973471434705e-01 1.1009176865102556e-01 1.5639404073440900e+02 1.5639523071300783e+02 1 0 0 0 0 -P 282 111 -3.2573253343187690e-02 3.1947085801068070e-01 3.7927127562285655e+01 3.7928727204748640e+01 2 0 0 -141 0 -V -66 0 0 0 0 0 0 2 0 -P 283 321 4.9926846924895973e-01 5.0291971801674606e-01 1.8932076706358586e+01 1.8951764208711591e+01 1 0 0 0 0 -P 284 111 1.2384987075047131e-01 1.5431966147040221e-01 1.6072972622645629e+00 1.6250469033490718e+00 2 0 0 -142 0 -V -67 0 0 0 0 0 0 2 0 -P 285 -211 1.7859206659747753e-01 1.1537889269107618e-01 3.5102971391524509e+00 3.5194989991719074e+00 1 0 0 0 0 -P 286 111 6.4486344276971752e-01 4.1954089445604403e-01 3.4093148585283814e+01 3.4102094708105270e+01 2 0 0 -143 0 -V -68 0 0 0 0 0 0 2 0 -P 287 211 1.5204545582315820e-01 -2.7098259271716346e-01 5.5290903643553468e+00 5.5395730366427456e+00 1 0 0 0 0 -P 288 111 8.2817694285958010e-01 3.5851535166798970e-01 2.9026079952350351e+01 2.9040419199913433e+01 2 0 0 -144 0 -V -69 0 0 0 0 0 0 2 0 -P 289 -211 2.2195516193061104e-02 5.9812657288889171e-01 7.4880607642605312e+00 7.5132404348784751e+00 1 0 0 0 0 -P 290 211 -2.0671728245952670e-01 5.6845359322346689e-03 5.6135734926813177e+00 5.6191148316661534e+00 1 0 0 0 0 -V -70 0 2.8328565239901664e+01 9.6200077887030560e+00 4.1187571780827233e+02 4.1366548525931290e+02 0 2 0 -P 291 -2112 8.7074311781260816e-01 2.9303660553681032e-01 1.5105424132384448e+01 1.5162476513865569e+01 1 0 0 0 0 -P 292 211 5.3478597298736574e-01 1.8426256885623099e-01 5.3298961272609038e+00 5.3616435207384239e+00 1 0 0 0 0 -V -71 0 2.3556324247227142e+01 1.7848882981569922e+01 5.0825086777096664e+02 5.1144512508733749e+02 0 2 0 -P 293 2212 4.2293484863058523e-01 2.9818090643247958e-01 8.7896810414164062e+00 8.8547517831886218e+00 1 0 0 0 0 -P 294 -211 1.1536274026245073e-01 1.0969302893092955e-01 2.8246189572817935e+00 2.8325418198453116e+00 1 0 0 0 0 -V -72 0 0 0 0 0 0 2 0 -P 295 211 1.8426627916469118e-01 -7.5048765015658725e-01 1.0044347862878006e+01 1.0074998240698443e+01 1 0 0 0 0 -P 296 -211 -1.8119511039128258e-01 -1.3216308974087224e-01 3.6693369790839530e+00 3.6788330216649565e+00 1 0 0 0 0 -V -73 0 0 0 0 0 0 3 0 -P 297 -211 -9.2330691001946449e-02 1.3153518843286626e-02 1.6918771409868543e+00 1.7001841125750792e+00 1 0 0 0 0 -P 298 211 9.0350579840365638e-02 1.9611894399870142e-01 2.5597390976925207e+00 2.5726192684943445e+00 1 0 0 0 0 -P 299 111 -7.3500095204024493e-02 -2.8029675650135422e-02 1.4396825602645615e+00 1.4481344555813784e+00 2 0 0 -145 0 -V -74 0 0 0 0 0 0 2 0 -P 300 -321 -1.6702756185750384e-01 1.3389650322075297e-01 3.6488781901075438e+00 3.6883301758705538e+00 1 0 0 0 0 -P 301 111 2.0114716920673079e-01 1.5846874708903921e-01 5.7634264972716922e+00 5.7706912165993858e+00 2 0 0 -146 0 -V -75 0 0 0 0 0 0 1 0 -P 302 310 3.1370849344690394e-01 -1.6502140696154801e+00 1.7013060483686480e+01 1.7103026689591879e+01 2 0 0 -147 0 -V -76 0 -4.4060919108810952e-05 5.2342729044881510e-06 1.9987704934143461e-04 2.0525736542072959e-04 0 2 0 -P 303 22 -1.7794066347471776e-01 -1.3349370806625340e-02 5.5028936743970702e-01 5.7849760011252294e-01 1 0 0 0 0 -P 304 22 -2.3150197645234680e-01 6.1989629781244990e-02 1.3070978228067121e+00 1.3288869770179124e+00 1 0 0 0 0 -V -77 0 0 0 0 0 0 2 0 -P 305 22 -4.8147715868567109e-01 -1.0464340696446410e+00 7.7587519913374754e+00 7.8437922575456005e+00 1 0 0 0 0 -P 306 113 -1.6665913895179937e-01 -8.1594819202784230e-01 7.9877425118423817e+00 8.0545508376702948e+00 2 0 0 -148 0 -V -78 0 0 0 0 0 0 3 0 -P 307 211 -1.8184679283982430e-01 -2.8499906586894308e-01 3.0136790064542227e+00 3.0357920980289825e+00 1 0 0 0 0 -P 308 -211 3.5179468682444448e-01 -2.3385890449493285e-01 3.1756943767047940e+00 3.2067061056517057e+00 1 0 0 0 0 -P 309 111 9.0534432904070691e-02 -2.3749201050634819e-01 3.2731976007131105e+00 3.2858242607159731e+00 2 0 0 -149 0 -V -79 0 0 0 0 0 0 2 0 -P 310 -211 2.7856484699452511e-01 2.8577154471696598e-01 3.4544645566440200e+00 3.4802397773372986e+00 1 0 0 0 0 -P 311 111 -9.4170629718448959e-02 -2.9997688368599973e-01 1.5278571859945593e+00 1.5657015741969307e+00 2 0 0 -150 0 -V -80 0 0 0 0 0 0 3 0 -P 312 211 -2.4615362835751831e-01 -1.3753471735515529e-01 4.7223885765926288e-01 5.6744755776623024e-01 1 0 0 0 0 -P 313 -211 7.9426483332274311e-02 -1.5467016237984951e-01 9.7427050026002354e-02 2.4331716002351791e-01 1 0 0 0 0 -P 314 111 1.8971003374894185e-01 4.4985653465487427e-02 1.4939175240432037e-01 2.8026969513162736e-01 2 0 0 -151 0 -V -81 0 0 0 0 0 0 2 0 -P 315 211 5.7720189775931130e-01 -3.9507585597671829e-01 -1.1132509901501841e+00 1.3221401267350796e+00 1 0 0 0 0 -P 316 -211 -1.9425629667973457e-01 -1.1419431352636915e-02 -1.1646984667205262e+00 1.1890619056606293e+00 1 0 0 0 0 -V -82 0 0 0 0 0 0 2 0 -P 317 -211 -2.9021697517593742e-01 1.1988738882319924e-01 -2.0078266346984845e+00 2.0370190128184267e+00 1 0 0 0 0 -P 318 111 2.7228862930317249e-01 -1.6409330052984511e-01 -5.7080765886119700e+00 5.7185160357199880e+00 2 0 0 -152 0 -V -83 0 0 0 0 0 0 3 0 -P 319 211 2.6159158905174562e-01 1.1976908035329931e-01 -1.4753856976310765e+01 1.4757321920131888e+01 1 0 0 0 0 -P 320 -211 -2.6126819940006357e-01 2.3461403354789964e-01 -1.1509852823941991e+01 1.1516053865385521e+01 1 0 0 0 0 -P 321 111 -1.7919897259041917e-02 1.5330504745657006e-01 -4.6525951151258740e+00 4.6571111717444085e+00 2 0 0 -153 0 -V -84 0 0 0 0 0 0 2 0 -P 322 -211 1.1189448533215496e-01 1.1139057069963787e+00 -4.6227315661100803e+01 4.6241080213549104e+01 1 0 0 0 0 -P 323 111 -1.7831872374999885e-01 1.0951995265665338e-02 -2.0281315249784544e+01 2.0282551254094816e+01 2 0 0 -154 0 -V -85 0 0 0 0 0 0 2 0 -P 324 211 -1.8870258535806511e-01 9.9084535100534471e-02 -1.2736262200082729e+01 1.2738810031748375e+01 1 0 0 0 0 -P 325 111 -2.2960427640955786e-01 -3.4454698564168434e-01 -3.2341356799315314e+01 3.2344288676211129e+01 2 0 0 -155 0 -V -86 0 0 0 0 0 0 2 0 -P 326 -211 -1.0197116374969704e+00 1.5402199673687851e+00 -1.0565560002434418e-01 1.8554601214374720e+00 1 0 0 0 0 -P 327 111 1.0395726111678255e-01 4.3839738579715976e-01 2.0604050465128451e-01 5.1348969801705135e-01 2 0 0 -156 0 -V -87 0 0 0 0 0 0 3 0 -P 328 22 6.5303627407064125e-03 -1.3036945355560819e-01 -9.6430844554637241e-02 1.6228908724690547e-01 1 0 0 0 0 -P 329 -211 -1.2443340358908676e-01 -5.8991175846200250e-01 -1.2399150957152332e+00 1.3857664969911101e+00 1 0 0 0 0 -P 330 211 2.9365126251793771e-03 -7.2719994381920436e-02 -1.0380865883666240e-01 1.8855461606328006e-01 1 0 0 0 0 -V -88 0 0 0 0 0 0 2 0 -P 331 211 -2.3181192257978658e-01 -3.5965984364971582e-01 6.4686117305103930e-02 4.5470435368081163e-01 1 0 0 0 0 -P 332 111 -4.8875895366781463e-01 -1.0438837818201401e+00 -1.5081607656981406e+00 1.9029837519875930e+00 2 0 0 -157 0 -V -89 0 0 0 0 0 0 1 0 -P 333 130 -4.2407341657881786e-01 -1.1323088737363824e+00 -4.2536503779649254e-01 1.3749809062203728e+00 1 0 0 0 0 -V -90 0 0 0 0 0 0 2 0 -P 334 -311 5.4533423118825564e-01 -2.1932503402815775e+00 -4.1527351550146987e+00 4.7540110617715117e+00 2 0 0 -158 0 -P 335 -211 1.4206249538727772e-01 -1.2704767907742456e+00 -1.5334522019844594e+00 2.0013116871598671e+00 1 0 0 0 0 -V -91 0 0 0 0 0 0 2 0 -P 336 211 -1.2225698895883293e-01 -3.1496728462498411e+00 -1.0197663615851679e+01 1.0674605792099211e+01 1 0 0 0 0 -P 337 -211 -5.8985066728510137e-02 -1.1565457627145266e-02 -1.0576927309564947e+00 1.0685535531386812e+00 1 0 0 0 0 -V -92 0 3.8527617637917094e-05 -1.6712307045937573e-04 -4.2584623006883233e-04 4.6364744324007163e-04 0 2 0 -P 338 22 1.4995858064857176e-02 -1.9939694528972410e-01 -3.3316020649286715e-01 3.8856111583680686e-01 1 0 0 0 0 -P 339 22 6.5158901574831854e-02 -1.4829414915611150e-01 -5.5279133443610673e-01 5.7603393698290495e-01 1 0 0 0 0 -V -93 0 0 0 0 0 0 2 0 -P 340 211 8.5893108070628790e-02 -1.6165390012367403e-01 5.6069209211904635e-02 2.3692435620019278e-01 1 0 0 0 0 -P 341 111 -9.6650164117480342e-01 -6.5388813680532676e-02 -3.5814431438071642e-01 1.0415796031371627e+00 2 0 0 -159 0 -V -94 0 0 0 0 0 0 2 0 -P 342 211 -3.3890199253143205e-01 8.2436823164178752e-01 -1.3217187365235175e-01 9.1180410778124699e-01 1 0 0 0 0 -P 343 -211 2.8288613453084904e-01 1.1469241558673431e+00 3.3338963934249888e-01 1.2353493517797889e+00 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 344 211 1.0363531280713142e-01 -1.6220264472005022e-01 4.0741120327917821e+00 4.0810438145961632e+00 1 0 0 0 0 -P 345 111 2.2635792709284186e-01 7.3162424785401936e-01 7.5368670247839322e+00 7.5768790475288128e+00 2 0 0 -160 0 -V -96 0 0 0 0 0 0 1 0 -P 346 130 -3.9549707014260671e-01 -2.8851686492632728e-01 8.4163752596000130e+00 8.4452772514077648e+00 1 0 0 0 0 -V -97 0 0 0 0 0 0 2 0 -P 347 -311 5.0093079509551341e-01 -1.6736784839411437e-01 6.2499799234045614e+00 6.2919685417213573e+00 2 0 0 -161 0 -P 348 -211 2.0356629405886905e-02 2.6450194609587585e-01 2.1461021282513455e+00 2.1669355785611693e+00 1 0 0 0 0 -V -98 0 0 0 0 0 0 2 0 -P 349 -211 3.6607738155790637e-01 -4.3044115371221930e-01 4.2533118453167278e+00 4.2929516273199475e+00 1 0 0 0 0 -P 350 211 1.9833343048630526e-02 1.5399358150276715e-01 4.7818642606202344e-01 5.2177526542612684e-01 1 0 0 0 0 -V -99 0 0 0 0 0 0 2 0 -P 351 211 1.5940818450812536e-01 -1.9127479523860261e-01 1.2196341057309632e+00 1.2525909760747569e+00 1 0 0 0 0 -P 352 111 4.4384650908363849e-01 -1.1612861185648843e-01 2.4019833176905525e-01 5.3516391610616321e-01 2 0 0 -162 0 -V -100 0 0 0 0 0 0 2 0 -P 353 2112 2.4461206701185767e-01 -3.6870254613733507e-02 2.2892535780963792e+00 2.4868993161626327e+00 1 0 0 0 0 -P 354 -211 1.2249192763084313e-01 1.6638271141054020e-01 8.2289236642324926e-01 8.5983667670593000e-01 1 0 0 0 0 -V -101 0 0 0 0 0 0 2 0 -P 355 -2112 1.0306418575496812e+00 -1.2658702532810939e-01 1.1049846019117362e+01 1.1138228573010105e+01 1 0 0 0 0 -P 356 211 -5.6839362417106777e-02 6.3129684964331675e-02 1.2267245939576892e+00 1.2375577095894705e+00 1 0 0 0 0 -V -102 0 -3.0012621268697615e+01 2.2801365277584146e+01 1.5802443623017721e+03 1.5809175950845424e+03 0 2 0 -P 357 -2112 -1.1378581036056166e+00 9.7861646295080473e-01 5.6072853838445951e+01 5.6100803386565886e+01 1 0 0 0 0 -P 358 -211 -2.0412167434448733e-01 4.0920312535230922e-02 1.4585951983370913e+01 1.4588105263399255e+01 1 0 0 0 0 -V -103 0 0 0 0 0 0 2 0 -P 359 -311 4.7336032540883582e-01 1.9957792363092278e-01 3.8244208976342740e+01 3.8250896682304671e+01 2 0 0 -163 0 -P 360 -211 1.7967918223592744e-01 2.5885318350017517e-01 5.4584200602766515e+00 5.4692887031558053e+00 1 0 0 0 0 -V -104 0 0 0 0 0 0 2 0 -P 361 -211 -3.2092342397034901e-01 -3.5332105099211819e-01 2.8100859079842962e+01 2.8105259088277762e+01 1 0 0 0 0 -P 362 211 -8.8439883740469394e-01 -2.9929391419485957e-01 5.4686939688980750e+01 5.4695087443771357e+01 1 0 0 0 0 -V -105 0 0 0 0 0 0 2 0 -P 363 211 9.3368745682880214e-02 -3.7681332268505119e-01 1.5272857477423360e+01 1.5278427972583108e+01 1 0 0 0 0 -P 364 111 1.0891567153138218e-01 5.3615728162335041e-01 7.6529234059726923e+00 7.6736421282352971e+00 2 0 0 -164 0 -V -106 0 3.8458390904380503e-05 8.9309240418746158e-05 -2.4409401035204432e-04 2.6354728923169718e-04 0 2 0 -P 365 22 2.1224395554242417e-01 4.8081206587306669e-01 -1.4361207927576540e+00 1.5292712874909715e+00 1 0 0 0 0 -P 366 22 4.1026448030886967e-02 1.0734013789231003e-01 -1.7137726053839816e-01 2.0633768456202375e-01 1 0 0 0 0 -V -107 0 4.3736281292517583e-06 7.8584567595844059e-06 -1.2404186200301000e-05 1.5630335896051612e-05 0 2 0 -P 367 22 6.0632728091395464e-02 2.9953596761870191e-02 -4.5605230561117767e-02 8.1568270358703371e-02 1 0 0 0 0 -P 368 22 1.3030486076758502e-01 3.1311964620364563e-01 -4.9591895367456895e-01 6.0079853377986470e-01 1 0 0 0 0 -V -108 0 -1.3697641095364497e-05 -9.6097423271048161e-07 -1.4410161111415212e-05 2.4636517224285515e-05 0 2 0 -P 369 22 2.7690702351260706e-02 1.0286881774652524e-02 -2.0116122984700145e-02 3.5738681247177738e-02 1 0 0 0 0 -P 370 22 -1.5504829056605138e-01 -1.9221804201258064e-02 -1.1386631619291016e-01 1.9332611858605653e-01 1 0 0 0 0 -V -109 0 -1.2153169023578906e-05 -6.2824244005050017e-06 1.4326674711770995e-05 2.0879577567088964e-05 0 2 0 -P 371 22 -1.8133550327440726e-01 -2.1084177871680054e-02 1.5281630107905045e-01 2.3807546950450442e-01 1 0 0 0 0 -P 372 22 -6.7287207673414770e-02 -1.0743813451843676e-01 1.4027076936302429e-01 1.8906720975087596e-01 1 0 0 0 0 -V -110 0 -5.9930910720649131e-07 9.8928458623747859e-07 1.4337918863531024e-05 2.1627823622279452e-05 0 2 0 -P 373 22 1.3368502630494792e-03 7.1193937795053341e-02 5.3178847259601876e-02 8.8872682772896006e-02 1 0 0 0 0 -P 374 22 -6.3455584296092616e-03 -6.2926021078025848e-02 6.6649886259870242e-02 9.1881214505193501e-02 1 0 0 0 0 -V -111 0 0 0 0 0 0 1 0 -P 375 130 -8.4559749187529187e-01 9.9710033077653488e-03 -5.2448860633214933e-01 1.1126087660291861e+00 1 0 0 0 0 -V -112 0 -3.8983732874524748e-05 6.6885010970516116e-05 1.2195638089406324e-05 8.4203326822728840e-05 0 2 0 -P 376 22 -6.9501739814868346e-02 5.8747270131682114e-02 6.7485383437181481e-02 1.1329611892241456e-01 1 0 0 0 0 -P 377 22 -1.0138909794407150e-01 2.3445286016514555e-01 -1.4024037988002492e-02 2.5582135654205801e-01 1 0 0 0 0 -V -113 0 -1.1912408123196776e+02 9.0688833868512901e+00 -1.9297715704041471e+02 2.4795500052785277e+02 0 2 0 -P 378 -211 -4.6643829830683509e-01 -1.1593546915583072e-01 -7.8530117194117199e-01 9.3122684383985455e-01 1 0 0 0 0 -P 379 211 -1.2733627113911816e-01 1.6113936305111573e-01 -1.7659441751103602e-01 3.0470607717634451e-01 1 0 0 0 0 -V -114 0 -1.5133275992010396e-04 4.9760717101996210e-05 -1.3398603715268880e-04 2.1112016913381942e-04 0 2 0 -P 380 22 -1.1176794650841664e-01 1.9471339867306089e-02 -3.6632243387093595e-02 1.1921882484955004e-01 1 0 0 0 0 -P 381 22 -4.6791164082034109e-01 1.7113690629232955e-01 -4.7660078537344397e-01 6.8947621636215795e-01 1 0 0 0 0 -V -115 0 -2.3405923657104216e-04 1.4611123604191701e-04 -6.3978468743944869e-04 7.0271385577448068e-04 0 2 0 -P 382 22 -1.5654606706326107e-02 5.9193877959733618e-02 -1.8136750724565426e-01 1.9142401778132240e-01 1 0 0 0 0 -P 383 22 -3.3008524394544181e-01 1.5663386576763144e-01 -7.6368839195815341e-01 8.4658750060904175e-01 1 0 0 0 0 -V -116 0 0 0 0 0 0 1 0 -P 384 130 -1.7100390911822591e-01 -2.6586260149101487e-01 -5.1674196262737446e+00 5.2009447490532308e+00 1 0 0 0 0 -V -117 0 -1.5719477175582176e-05 4.6489243577943278e-05 -7.5819144246790952e-03 7.5823779450975570e-03 0 2 0 -P 385 22 -4.6933693407794318e-02 2.8454853467780084e-02 -1.9950342681093154e+00 1.9957891124047258e+00 1 0 0 0 0 -P 386 22 1.5719078175245767e-02 6.3860166588475972e-02 -1.3060589964743238e+01 1.3060755546194381e+01 1 0 0 0 0 -V -118 0 4.6249141509978390e-06 9.4614267138868386e-07 -2.0087503716210106e-03 2.0087574999136074e-03 0 2 0 -P 387 22 2.3741658257604767e-01 7.3640089833744204e-02 -8.3863686540923268e+01 8.3864054932555888e+01 1 0 0 0 0 -P 388 22 1.0260154843681210e-02 -2.2971575277084405e-02 -2.3710361774420765e+01 2.3710375122253165e+01 1 0 0 0 0 -V -119 0 8.0119424837326258e-05 -1.3313731683508782e-05 -4.5005670871262882e-01 4.5005671772315053e-01 0 2 0 -P 389 22 4.2401624770675016e-02 -5.3374706122119440e-02 -5.2723836697148852e+02 5.2723837137818316e+02 1 0 0 0 0 -P 390 22 2.3552360385043181e-01 7.1908758031656028e-03 -1.0339574842891241e+03 1.0339575111389108e+03 1 0 0 0 0 -V -120 0 -1.0574775438722866e-05 9.3918705274453874e-05 1.7646494932804896e-04 2.0299584739183731e-04 0 2 0 -P 391 22 -8.5106936416403350e-02 2.7456829559547896e-01 5.6036665343756142e-01 6.2979498716423898e-01 1 0 0 0 0 -P 392 22 4.2736363582437008e-02 1.0174128803230018e-01 1.4668580658605107e-01 1.8356037785023779e-01 1 0 0 0 0 -V -121 0 -4.3851597869865436e-05 1.0531124861711626e-04 2.7512539861286188e-04 2.9879329632975386e-04 0 2 0 -P 393 22 -2.2168226147523581e-01 5.3450139560674614e-01 1.2608632340692663e+00 1.3873034498572918e+00 1 0 0 0 0 -P 394 22 -2.6235155521216191e-02 6.0881532406653491e-02 2.9457331756189681e-01 3.0194086141631588e-01 1 0 0 0 0 -V -122 0 3.4877577943497759e-05 2.2373782240192860e-04 7.2331191609908019e-04 7.5928371084947772e-04 0 2 0 -P 395 22 -4.0112956797155415e-03 1.5481676149413653e-01 6.7269609638733785e-01 6.9029295101958354e-01 1 0 0 0 0 -P 396 22 1.0782252001879759e-01 5.1112676566625326e-01 1.4802027003965594e+00 1.5696739472466619e+00 1 0 0 0 0 -V -123 0 -3.1383658047148092e-07 -3.8483860900566085e-06 5.8223741610822792e-06 7.2589357635634373e-06 0 2 0 -P 397 22 -3.4203777351233013e-02 -7.7314876934825694e-02 2.3165639285197370e-01 2.4660124275787404e-01 1 0 0 0 0 -P 398 22 1.2707702234842765e-02 -1.8627834838151267e-01 1.6714412980962137e-01 2.5059582778180722e-01 1 0 0 0 0 -V -124 0 3.2236808159334187e-05 -4.4252594647466681e-06 7.9687775574346266e-05 8.6862496107126174e-05 0 2 0 -P 399 22 2.8048142698490619e-01 -1.6909267864752442e-03 5.3537686917943428e-01 6.0440142469161939e-01 1 0 0 0 0 -P 400 22 9.2426469250633983e-02 -4.9499445074743652e-02 3.8643277767653045e-01 4.0040371994231605e-01 1 0 0 0 0 -V -125 0 4.2009406464945751e-05 -1.2069163044297390e-05 6.3371665519486119e-05 8.0090782101313509e-05 0 2 0 -P 401 22 1.5677840685418869e-02 1.9658044984528937e-04 1.2369344343658331e-01 1.2468320368690350e-01 1 0 0 0 0 -P 402 22 2.4098140449885502e-01 -7.3933929715660526e-02 2.6347993526548569e-01 3.6463672273229075e-01 1 0 0 0 0 -V -126 0 4.1067867362733860e-05 3.2555400164699854e-05 5.5201857772271590e-05 8.2909348694607668e-05 0 2 0 -P 403 22 -4.8371529729373045e-03 6.8203982431913487e-02 6.7555697751643287e-02 9.6119475483211703e-02 1 0 0 0 0 -P 404 22 1.7349290496990249e-01 6.5493135264584043e-02 1.5914491837677636e-01 2.4436907309811426e-01 1 0 0 0 0 -V -127 0 2.2996903462980960e-06 3.5321056006164265e-07 9.0947755025366818e-06 9.7530487726669384e-06 0 2 0 -P 405 22 7.5194678532599424e-02 1.6444172407965130e-02 4.4468114488586097e-01 4.5129366392937964e-01 1 0 0 0 0 -P 406 22 4.2183059397594619e-02 1.5839315147350983e-03 1.9522297629404592e-02 4.6508487869585918e-02 1 0 0 0 0 -V -128 0 4.2478406964594337e-05 1.5680554272100167e-05 3.4601724241679823e-04 3.5122770649711978e-04 0 2 0 -P 407 22 7.0751074460728869e-02 5.8688867322594630e-02 2.8102517910808417e-01 2.9567760986873448e-01 1 0 0 0 0 -P 408 22 7.3374743433465395e-02 -5.4860080114057562e-03 8.9298349100003183e-01 8.9600974573741798e-01 1 0 0 0 0 -V -129 0 0 0 0 0 0 1 0 -P 409 130 2.5178180326027377e-01 -3.2242494783834660e-02 4.0106627287096375e+00 4.0493857073985327e+00 1 0 0 0 0 -V -130 0 9.7296294408389538e-05 -1.8057692433404323e-04 4.0892878755954612e-03 4.0976367013533495e-03 0 2 0 -P 410 22 2.2610663559113998e-02 1.5843981511661730e-02 1.7624472459684748e-01 1.7839416135329073e-01 1 0 0 0 0 -P 411 22 5.8407246803437063e-02 -1.6620906127341661e-01 3.2288752809096777e+00 3.2336778500954755e+00 1 0 0 0 0 -V -131 0 -5.9918336999371855e-06 -2.2748399729338936e-06 1.1813059477552841e-04 1.1830882340672078e-04 0 2 0 -P 412 22 -6.4079677880824115e-01 -2.9594268267928575e-01 1.2675721449920001e+01 1.2695358083139070e+01 1 0 0 0 0 -P 413 22 -1.4353546444437934e-01 -1.8343298954584674e-03 2.7875972997355194e+00 2.7912908303887272e+00 1 0 0 0 0 -V -132 0 -2.1628437162218839e-04 -1.8553738695043266e-04 4.3655499554553336e-03 4.3749458062479468e-03 0 2 0 -P 414 22 -1.8975057145655388e-01 -2.3624605238895813e-01 4.4154025237974253e+00 4.4257877178864025e+00 1 0 0 0 0 -P 415 22 -7.7204765374333273e-01 -5.8882294422292536e-01 1.4997827233334203e+01 1.5029224589453543e+01 1 0 0 0 0 -V -133 0 -1.0031594106859512e+00 -6.0662790835180747e-01 1.4756351155848559e+01 1.4803588565939812e+01 0 2 0 -P 416 -311 -5.7533254882839175e+00 -4.0301381457755010e+00 9.0395852379808090e+01 9.0669733486699556e+01 2 0 0 -165 0 -P 417 -211 -1.6323447011722816e+00 -8.8456314377591827e-01 2.1686911267723048e+01 2.1766685583656617e+01 1 0 0 0 0 -V -134 0 -2.3360926691629899e-05 -3.6259117715442567e-06 1.7025501083802078e-02 1.7025523647425003e-02 0 2 0 -P 418 22 -7.2611311153853525e-02 3.7197986780457486e-02 8.1779099887878104e+01 8.1779140583429168e+01 1 0 0 0 0 -P 419 22 -1.4527780310138280e-01 -7.1017137651406562e-02 7.7019024855621765e+01 7.7019194612673004e+01 1 0 0 0 0 -V -135 0 1.2076169997944896e-05 -1.0726917860116507e-05 3.2525658344699942e-03 3.2526134023936229e-03 0 2 0 -P 420 22 7.5246657878530437e-02 -1.4550284380572404e-01 3.7015590489964843e+01 3.7015952945424132e+01 1 0 0 0 0 -P 421 22 1.5872388908114299e-01 -6.2326529194992208e-02 2.6001459406053321e+01 2.6002018558447446e+01 1 0 0 0 0 -V -136 0 3.2332819614426833e-06 -3.0337223685055661e-05 2.7563962365646020e-03 2.7567459788091471e-03 0 2 0 -P 422 22 5.2995067612266689e-02 -1.0388453409721403e-01 1.0481693098366938e+01 1.0482341851035432e+01 1 0 0 0 0 -P 423 22 -3.9175857367738848e-02 -2.5778290654386461e-02 1.2992834958659103e+00 1.3001295591975057e+00 1 0 0 0 0 -V -137 0 3.1210382498907047e-05 -2.4228290863135666e-05 1.4586790248855876e-03 1.4593020915778690e-03 0 2 0 -P 424 22 1.4570887631797527e-01 -1.2616945494337359e-01 4.7114504656630327e+00 4.7153913197522614e+00 1 0 0 0 0 -P 425 22 1.1707757909111839e-01 -7.7828899667208698e-02 7.5703948639384269e+00 7.5717001322750876e+00 1 0 0 0 0 -V -138 0 0 0 0 0 0 1 0 -P 426 130 7.4489573882419291e-01 8.6535957172601397e-01 1.7511148478823699e+01 1.7555389865406173e+01 1 0 0 0 0 -V -139 0 0 0 0 0 0 1 0 -P 427 310 -4.7598331792509141e-01 -8.4343084301410715e-02 2.7348337649344273e+01 2.7357136573228090e+01 2 0 0 -166 0 -V -140 0 -8.3925193175608200e+01 3.9338375119302427e+01 8.7963531058230437e+03 8.7970466296407194e+03 0 2 0 -P 428 -211 -4.8915716729371289e-01 3.5379275820838541e-01 4.0094024505926598e+01 4.0098812013784375e+01 1 0 0 0 0 -P 429 211 -2.0594778188345286e-01 -2.7975227103050119e-02 3.2761197474600237e+01 3.2762154032615854e+01 1 0 0 0 0 -V -141 0 -2.3066035847172713e-06 2.2622629018241768e-05 2.6857264600342206e-03 2.6858397352112653e-03 0 2 0 -P 430 22 5.3127791655494534e-02 1.2374417391665785e-01 1.4536463780597019e+01 1.4537087549692799e+01 1 0 0 0 0 -P 431 22 -8.5701044998682224e-02 1.9572668409402283e-01 2.3390663781688637e+01 2.3391639655055833e+01 1 0 0 0 0 -V -142 0 7.4745864093440425e-06 9.3134989752651984e-06 9.7003591521736574e-05 9.8074817718559216e-05 0 2 0 -P 432 22 -5.3080603537296158e-03 6.2270797239337615e-02 7.9227269487634211e-01 7.9473382383044622e-01 1 0 0 0 0 -P 433 22 1.2915793110420093e-01 9.2048864231064606e-02 8.1502456738822093e-01 8.3031307951862532e-01 1 0 0 0 0 -V -143 0 1.6683368743087236e-04 1.0854011843115621e-04 8.8202948366584450e-03 8.8226093028841972e-03 0 2 0 -P 434 22 4.7366546711335589e-01 2.6593638108134854e-01 2.6023432393861224e+01 2.6029101303951776e+01 1 0 0 0 0 -P 435 22 1.7119797565636166e-01 1.5360451337469549e-01 8.0697161914225859e+00 8.0729934041534896e+00 1 0 0 0 0 -V -144 0 1.7954480389756124e-04 7.7724415131910377e-05 6.2927154370721232e-03 6.2958241174259407e-03 0 2 0 -P 436 22 1.1422002392478928e-01 6.4918508167836715e-03 4.3441170283238124e+00 4.3456232135063573e+00 1 0 0 0 0 -P 437 22 7.1395691893479074e-01 3.5202350085120604e-01 2.4681962924026539e+01 2.4694795986407076e+01 1 0 0 0 0 -V -145 0 -1.9609651427977344e-05 -7.4782511180791459e-06 3.8410389939440802e-04 3.8635884505955950e-04 0 2 0 -P 438 22 -1.0729773963663858e-01 -3.0268391562004265e-02 8.2224722500628999e-01 8.2977073911377908e-01 1 0 0 0 0 -P 439 22 3.3797644432614085e-02 2.2387159118688409e-03 6.1743533525827154e-01 6.1836371646759947e-01 1 0 0 0 0 -V -146 0 5.2131973766054339e-06 4.1070866662282870e-06 1.4937262112277159e-04 1.4956090324421662e-04 0 2 0 -P 440 22 1.8118299159397690e-02 2.9575529460455215e-02 2.1818118251376073e+00 2.1820874925212306e+00 1 0 0 0 0 -P 441 22 1.8302887004733309e-01 1.2889321762858399e-01 3.5816146721340854e+00 3.5886037240781548e+00 1 0 0 0 0 -V -147 0 6.1675119851635953e+00 -3.2443224410695379e+01 3.3447693202227225e+02 3.3624566849186726e+02 0 2 0 -P 442 -211 1.7168112378432487e-01 -6.2348686049339996e-01 4.8195537594747444e+00 4.8647495823360636e+00 1 0 0 0 0 -P 443 211 1.4202736966257906e-01 -1.0267272091220803e+00 1.2193506724211735e+01 1.2238277107255811e+01 1 0 0 0 0 -V -148 0 0 0 0 0 0 2 0 -P 444 211 -1.8843760989747041e-01 -5.7132487376221974e-01 7.0005634871052020e+00 7.0277514018421163e+00 1 0 0 0 0 -P 445 -211 2.1778470945671029e-02 -2.4462331826562256e-01 9.8717902473717956e-01 1.0267994358281778e+00 1 0 0 0 0 -V -149 0 3.3815872655375920e-05 -8.8706576341638220e-05 1.2225849291934955e-03 1.2273011627084497e-03 0 2 0 -P 446 22 4.1946401175051981e-02 -2.3452337052872346e-01 2.8068387162995183e+00 2.8169317157527307e+00 1 0 0 0 0 -P 447 22 4.8588031729018710e-02 -2.9686399776247515e-03 4.6635888441359208e-01 4.6889254496324323e-01 1 0 0 0 0 -V -150 0 -2.2719145518260682e-06 -7.2370955710423777e-06 3.6860335163427627e-05 3.7773350362741714e-05 0 2 0 -P 448 22 -2.8163592205792350e-03 -2.1581075512772691e-01 1.0509549888338077e+00 1.0728879729322758e+00 1 0 0 0 0 -P 449 22 -9.1354270497869719e-02 -8.4166128558272837e-02 4.7690219716075166e-01 4.9281360126465479e-01 1 0 0 0 0 -V -151 0 5.9843090047528281e-05 1.4190501461534226e-05 4.7124887992592318e-05 8.8409686466827799e-05 0 2 0 -P 450 22 2.0924146209939254e-01 4.3206977463747263e-02 1.2033302804903956e-01 2.4521188797139343e-01 1 0 0 0 0 -P 451 22 -1.9531428350450693e-02 1.7786760017401684e-03 2.9058724355280816e-02 3.5057807160233830e-02 1 0 0 0 0 -V -152 0 1.0195251485624900e-05 -6.1441143182856532e-06 -2.1372642871293361e-04 2.1411731095032145e-04 0 2 0 -P 452 22 1.9533270339594799e-01 -1.0471989149621931e-01 -4.8287806447212560e+00 4.8338642549750723e+00 1 0 0 0 0 -P 453 22 7.6955925907224484e-02 -5.9373409033625792e-02 -8.7929594389071397e-01 8.8465178074493211e-01 1 0 0 0 0 -V -153 0 -4.3180098738504445e-06 3.6940653122024246e-05 -1.1210974792840959e-03 1.1221856762077622e-03 0 2 0 -P 454 22 -7.1590286058456104e-02 5.2136269562120231e-02 -1.7161269640007177e+00 1.7184106366733500e+00 1 0 0 0 0 -P 455 22 5.3670388799414187e-02 1.0116877789444984e-01 -2.9364681511251565e+00 2.9387005350710602e+00 1 0 0 0 0 -V -154 0 -6.2729864115820472e-05 3.8527483842666313e-06 -7.1346638364952423e-03 7.1350986443538779e-03 0 2 0 -P 456 22 -6.4640508041547584e-02 -3.2289955193366408e-02 -3.2563504549031794e+00 3.2571520261778351e+00 1 0 0 0 0 -P 457 22 -1.1367821570845126e-01 4.3241950459031744e-02 -1.7024964794881363e+01 1.7025399227916957e+01 1 0 0 0 0 -V -155 0 -3.5839923770696304e-05 -5.3781827995199834e-05 -5.0483021503518492e-03 5.0487597996870161e-03 0 2 0 -P 458 22 -1.7396435578211061e-01 -1.7417492837193710e-01 -1.5179023412587368e+01 1.5181019473758385e+01 1 0 0 0 0 -P 459 22 -5.5639920627447256e-02 -1.7037205726974725e-01 -1.7162333386727944e+01 1.7163269202452724e+01 1 0 0 0 0 -V -156 0 4.5507577628584387e-06 1.9190966414477778e-05 9.0194798894498126e-06 2.2478153082292885e-05 0 2 0 -P 460 22 5.3961060971557492e-02 7.9158052349659946e-02 -1.0977173258833227e-03 9.5807089175567753e-02 1 0 0 0 0 -P 461 22 4.9996200145225052e-02 3.5923933344749981e-01 2.0713822197716783e-01 4.1768260884148362e-01 1 0 0 0 0 -V -157 0 -5.1581249311847977e-06 -1.1016643111822161e-05 -1.5916397208488843e-05 2.0083167502314703e-05 0 2 0 -P 462 22 -3.1716501142518883e-01 -5.8150051590051388e-01 -7.7670585418244320e-01 1.0207881652851305e+00 1 0 0 0 0 -P 463 22 -1.7159394224262578e-01 -4.6238326591962625e-01 -7.3145491151569741e-01 8.8219558670246279e-01 1 0 0 0 0 -V -158 0 0 0 0 0 0 1 0 -P 464 310 5.4533423118825564e-01 -2.1932503402815775e+00 -4.1527351550146987e+00 4.7540110617715117e+00 2 0 0 -167 0 -V -159 0 -2.9899249577558377e-04 -2.0228382203658472e-05 -1.1079387539825041e-04 3.2221826826116836e-04 0 2 0 -P 465 22 -8.3346775443643040e-01 -4.8634651175075268e-02 -3.5562649196823404e-01 9.0747122751625553e-01 1 0 0 0 0 -P 466 22 -1.3303388673837305e-01 -1.6754162505457412e-02 -2.5178224124823680e-03 1.3410837562090722e-01 1 0 0 0 0 -V -160 0 3.8723550913267867e-05 1.2516057721069469e-04 1.2893485008857004e-03 1.2961934460564023e-03 0 2 0 -P 467 22 9.4494307196249280e-02 1.2938868819578370e-01 1.7092391437658199e+00 1.7167320866421871e+00 1 0 0 0 0 -P 468 22 1.3186361989659259e-01 6.0223555965823572e-01 5.8276278810181124e+00 5.8601469608866257e+00 1 0 0 0 0 -V -161 0 0 0 0 0 0 1 0 -P 469 130 5.0093079509551341e-01 -1.6736784839411437e-01 6.2499799234045614e+00 6.2919685417213573e+00 1 0 0 0 0 -V -162 0 1.1030443660979173e-04 -2.8860204694531712e-05 5.9693928234557251e-05 1.3299857732767785e-04 0 2 0 -P 470 22 2.5718881712629815e-01 -1.7110260067217876e-02 7.9616960930951566e-02 2.6977344035740969e-01 1 0 0 0 0 -P 471 22 1.8665769195734039e-01 -9.9018351789270556e-02 1.6058137083810370e-01 2.6539047574875341e-01 1 0 0 0 0 -V -163 0 0 0 0 0 0 1 0 -P 472 310 4.7336032540883582e-01 1.9957792363092278e-01 3.8244208976342740e+01 3.8250896682304671e+01 2 0 0 -168 0 -V -164 0 5.0645331992271131e-05 2.4931089480602684e-04 3.5585773943948317e-03 3.5682115136422437e-03 0 2 0 -P 473 22 5.6913977335912823e-02 7.9267004492891840e-02 9.6228112476905237e-01 9.6721632632222521e-01 1 0 0 0 0 -P 474 22 5.2001694195469371e-02 4.5689027713045866e-01 6.6906422812036404e+00 6.7064258019130722e+00 1 0 0 0 0 -V -165 0 -1.0031594106859512e+00 -6.0662790835180747e-01 1.4756351155848559e+01 1.4803588565939812e+01 0 1 0 -P 475 130 -5.7533254882839175e+00 -4.0301381457755010e+00 9.0395852379808090e+01 9.0669733486699556e+01 1 0 0 0 0 -V -166 0 -2.1954338730932741e+00 -3.8902553359153652e-01 1.2614195621370837e+02 1.2618254052583406e+02 0 2 0 -P 476 -211 -3.8419677861900481e-01 1.0373514257599888e-01 1.3727450016645596e+01 1.3733926310014542e+01 1 0 0 0 0 -P 477 211 -9.1786539306086476e-02 -1.8807822687740958e-01 1.3620887632698674e+01 1.3623210263213544e+01 1 0 0 0 0 -V -167 0 6.0843234933367697e+01 -2.4470212594333566e+02 -4.6332290584815917e+02 5.3040758376185750e+02 0 2 0 -P 478 211 4.3923811914830291e-01 -1.9192225167157120e+00 -3.3556575631746446e+00 3.8931045015736121e+00 1 0 0 0 0 -P 479 -211 1.0609611203995273e-01 -2.7402782356586536e-01 -7.9707759184005411e-01 8.6090656019789924e-01 1 0 0 0 0 -V -168 0 1.7832638234533317e+01 7.5185872593688456e+00 1.4407526500071178e+03 1.4410045922055583e+03 0 2 0 -P 480 211 -1.6780378320731124e-02 1.2970062371486263e-02 4.2224922518224925e+00 4.2248515246355689e+00 1 0 0 0 0 -P 481 -211 4.9014070372956692e-01 1.8660786125943651e-01 3.4021716724520246e+01 3.4026045157669103e+01 1 0 0 0 0 -E 7 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 146 0 0 -V -1 0 0 0 0 0 1 2 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 2 9.5585977786327769e-02 7.9414932775068517e-02 2.4315489624226007e+02 2.4315492799858069e+02 3 0 0 -3 0 -P 24 2101 -9.5585977786327769e-02 -7.9414932775068517e-02 6.5004858943937879e+03 6.5004859213968966e+03 2 0 0 -17 0 -V -2 0 0 0 0 0 1 3 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 21 -3.1839018050093307e-03 5.0554804870918790e-01 -2.5725369994220681e+01 2.5730337158815754e+01 3 0 0 -4 0 -P 12 2101 3.8701429021918715e-01 -2.0438006852161128e-01 -5.1057965796384815e+03 5.1057966312635817e+03 2 0 0 -9 0 -P 33 2 -3.8383038841417783e-01 -3.0116798018757662e-01 -1.4059242432952470e+02 1.4059365813141250e+02 2 0 0 -17 0 -V -3 0 0 0 0 0 0 3 0 -P 5 2 -2.1264769648708381e-01 8.3899334394629999e-01 2.3005421402360733e+02 2.3005584217509832e+02 3 0 0 -5 0 -P 25 21 -3.6511185605667584e-03 -1.4425395575640334e+00 8.1652186717378754e+00 8.2916662778419035e+00 2 0 0 -17 0 -P 26 21 2.9593935486652639e-01 6.8709099958216890e-01 4.0361549279216140e+00 4.1049020384963599e+00 2 0 0 -17 0 -V -4 0 0 0 0 0 0 4 0 -P 6 -3 -1.9831035912957480e+00 8.3830206726540324e-01 -1.1595024534665217e+01 1.1793220262900215e+01 3 0 0 -5 0 -P 11 3 -2.8557959363283214e-01 -1.4780078065351945e+00 -1.0810465318999622e+01 1.0926217240828231e+01 2 0 0 -9 0 -P 31 21 1.2172273336784700e+00 -4.7627796523471329e-02 -9.7231787370062306e-01 1.5586253033918638e+00 2 0 0 -17 0 -P 32 21 1.0642173874125529e+00 1.1887517313130824e+00 -1.4482536478625649e+00 2.1547918588388710e+00 2 0 0 -17 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 1.4000883323926923e+00 -8.2378971281789837e-02 8.3381755872705611e+01 8.3393550386399113e+01 3 0 0 -6 0 -P 8 24 -3.5958396201755241e+00 1.7596743824934931e+00 1.3507743361623650e+02 1.5845551205159941e+02 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 1.4000883323926923e+00 -8.2378971281789837e-02 8.3381755872705611e+01 8.3393550386399113e+01 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 24 -3.5958396201755241e+00 1.7596743824934931e+00 1.3507743361623650e+02 1.5845551205159941e+02 2 0 0 -8 0 -V -8 0 0 0 0 0 0 7 0 -P 13 2 -4.9357754672154250e+00 1.4347517927759370e+00 5.9322107559486689e+01 5.9545291480258513e+01 2 0 0 -11 0 -P 14 21 -6.6611694690988275e+00 2.4614122585280231e+00 7.0400917686742488e+01 7.0758172249839646e+01 2 0 0 -11 0 -P 15 21 -1.1364538745352168e+00 -8.4363652633784314e-01 1.5206113213728849e+00 2.0773802704860946e+00 2 0 0 -11 0 -P 16 21 -7.0207935266386619e+00 -9.6120038752047388e-01 5.9385495803026025e+00 9.2456378388066369e+00 2 0 0 -11 0 -P 17 21 1.9233062830932506e+00 -9.9992930184166651e-01 2.0384347101481007e-01 2.1772730255856527e+00 2 0 0 -11 0 -P 18 21 6.5191036641582967e+00 1.4569596471037023e+00 -1.4166998204938244e+00 6.8285051349997472e+00 2 0 0 -11 0 -P 19 -3 7.7159427700610506e+00 -7.8868310021418342e-01 -8.9189618218918798e-01 7.8232520516230650e+00 2 0 0 -11 0 -V -9 0 0 0 0 0 0 1 0 -P 38 92 1.0143469658635501e-01 -1.6823878750568058e+00 -5.1166070449574809e+03 5.1167228485044097e+03 2 0 0 -10 0 -V -10 0 0 0 0 0 0 8 0 -P 39 -313 -2.1040013596164128e-01 -5.8425235058654956e-01 -1.1872843281185203e+01 1.1925692262405972e+01 2 0 0 -23 0 -P 40 113 -2.6276647691303950e-01 -5.6521457952856013e-01 -1.1962401435561386e+01 1.1993068060118460e+01 2 0 0 -24 0 -P 41 -211 2.1202252232348538e-02 1.2037186058540997e-01 -3.8928936098051310e+01 3.8929378166513047e+01 1 0 0 0 0 -P 42 2114 -3.0865407405585576e-01 -4.5752156743261424e-01 -6.0439787274539817e+01 6.0455579370402425e+01 2 0 0 -25 0 -P 43 223 7.5934744704867152e-01 -4.5802192101885630e-02 -7.5778630043207073e+01 7.5786642607491785e+01 2 0 0 -26 0 -P 44 -3114 -4.7130125309522669e-01 -3.6998042550758815e-02 -1.6236037253483892e+02 1.6236696425649211e+02 2 0 0 -27 0 -P 45 -311 3.9338164815186982e-01 1.5120222274855744e-01 -1.5841292434872400e+02 1.5841426667878346e+02 2 0 0 -28 0 -P 46 2112 1.8062528917922832e-01 -2.6417322619040490e-01 -4.5968511499413735e+03 4.5968512571022029e+03 1 0 0 0 0 -V -11 0 0 0 0 0 0 1 0 -P 47 92 -3.5958396201755329e+00 1.7596743824934951e+00 1.3507743361623648e+02 1.5845551205159936e+02 2 0 0 -12 0 -V -12 0 0 0 0 0 0 19 0 -P 48 213 -4.6020701303904872e+00 1.4837736955946597e+00 4.4190052474360535e+01 4.4457621785313627e+01 2 0 0 -29 0 -P 49 111 6.6697298340082936e-02 -2.7309372095162640e-02 1.5613189066221931e+00 1.5687991139677566e+00 2 0 0 -30 0 -P 50 -213 -1.2537860530518419e+00 6.3570399222428886e-01 2.3101138766532216e+01 2.3148198586365478e+01 2 0 0 -31 0 -P 51 223 -4.9718024532112670e+00 1.2416775214387061e+00 4.4371163546531150e+01 4.4672913013609495e+01 2 0 0 -32 0 -P 52 211 2.0193990881854440e-01 1.9756624416254592e-01 8.6476093093118023e-01 9.2038220331072151e-01 1 0 0 0 0 -P 53 3112 -7.0584972907924126e-01 -6.5661601113311763e-02 9.0004313706404595e+00 9.1073685934583164e+00 2 0 0 -33 0 -P 54 -3212 -1.3667402501295773e+00 -6.0384937118763382e-01 5.0703170378781293e+00 5.4187547777607730e+00 2 0 0 -34 0 -P 55 211 -2.6364081709202364e-01 7.3413299932848253e-01 2.6874106938374962e+00 2.8018054470987304e+00 1 0 0 0 0 -P 56 -213 -3.4695940866764934e+00 -5.0692299600103696e-01 3.4058985381402325e+00 4.9419726631930434e+00 2 0 0 -35 0 -P 57 111 -2.2664032636498591e-01 -6.4174781661402613e-01 5.5446080822234844e-01 8.8817368004139652e-01 2 0 0 -36 0 -P 58 113 -5.0290045956692175e-01 -2.2402253400552827e-02 4.2604824703776056e-01 1.0487762353368946e+00 2 0 0 -37 0 -P 59 213 -1.2005200767227959e+00 6.2152297680195367e-02 1.6050487128422106e+00 2.2598983813267526e+00 2 0 0 -38 0 -P 60 -213 -2.9276047393825264e-02 -5.2442944213790954e-01 9.3491138108836302e-02 9.6897732639620227e-01 2 0 0 -39 0 -P 61 213 4.8741035118588283e-01 -5.4382265811505015e-01 -2.1420018845659008e-01 9.8970129623833414e-01 2 0 0 -40 0 -P 62 -211 1.8697788601233423e-01 4.2760734454290197e-02 -2.6920172278503485e-01 3.5880156454388884e-01 1 0 0 0 0 -P 63 211 1.2983839367590966e-01 -2.1540737154801419e-02 3.5452183158205530e-01 4.0309741477440403e-01 1 0 0 0 0 -P 64 311 4.6391648249289439e+00 8.7190463208380886e-01 -2.7041866263032449e-01 4.7542475369195865e+00 2 0 0 -41 0 -P 65 -323 2.2512956578581989e+00 -8.1702811801166697e-01 -6.8930905945599441e-01 2.6161470913906841e+00 2 0 0 -42 0 -P 66 323 7.0336564886840316e+00 2.6471663135766954e-01 -7.6549975370238721e-01 7.1298753405532898e+00 2 0 0 -43 0 -V -13 0 0 0 0 0 2 1 0 -P 20 3 2.9480913835759774e+00 -4.2454566557718891e+00 -4.1875620167901211e+01 4.2193396514955836e+01 2 0 0 -13 0 -P 21 -3 -2.9480913835759774e+00 4.2454566557718891e+00 -1.4413638757204703e+02 1.4422903094502612e+02 2 0 0 -13 0 -P 67 92 0 0 -1.8601200773994825e+02 1.8642242745998198e+02 2 0 0 -14 0 -V -14 0 0 0 0 0 0 7 0 -P 68 -313 6.7124336041434551e-01 -1.0017568531182413e+00 -1.2051454636583410e+01 1.2140615058432582e+01 2 0 0 -44 0 -P 69 111 1.8807531206737291e+00 -2.0970278275644705e+00 -2.6588570500903835e+01 2.6737708557249952e+01 2 0 0 -45 0 -P 70 113 -1.1068971892740748e-01 -5.1341043207208503e-01 -9.0115038018838742e+00 9.0608170742198180e+00 2 0 0 -46 0 -P 71 223 -2.0672406052829917e-01 1.7379335103852600e-01 -1.3130580146872006e+01 1.3156750961396625e+01 2 0 0 -47 0 -P 72 113 -4.4140526611159947e-01 5.7742869906215955e-01 -2.4813075874939347e+01 2.4836133069027387e+01 2 0 0 -48 0 -P 73 -211 7.7896309901419436e-02 -3.6602920137854170e-02 -1.3397448490641568e+00 1.3497420695647062e+00 1 0 0 0 0 -P 74 323 -1.8710737454221880e+00 2.8975759827919654e+00 -9.9077077929701588e+01 9.9140660670090867e+01 2 0 0 -49 0 -V -15 0 0 0 0 0 2 1 0 -P 22 3 -2.3797373606868244e+00 -2.4917871101526390e+00 -4.3280761946634883e+00 5.5321240455167233e+00 2 0 0 -15 0 -P 23 -3 2.3797373606868244e+00 2.4917871101526390e+00 -9.6661085500222009e+02 9.6661699610602295e+02 2 0 0 -15 0 -P 75 92 0 0 -9.7093893119688357e+02 9.7214912015153971e+02 2 0 0 -16 0 -V -16 0 0 0 0 0 0 9 0 -P 76 -323 -2.2398361126526320e+00 -2.4341442137074423e+00 -4.8632735500917565e+00 5.9530803627759008e+00 2 0 0 -50 0 -P 77 111 -6.7528675734192661e-02 -1.2563759364867366e-01 -1.7655103539140375e+00 1.7763984173495295e+00 2 0 0 -51 0 -P 78 113 1.5354061763556762e-01 6.2318321309839064e-01 -1.0151106705392891e+01 1.0185911304933418e+01 2 0 0 -52 0 -P 79 111 -1.6671670434852973e-01 -5.1368748512571094e-01 -7.9559061682556891e+00 7.9753577882357432e+00 2 0 0 -53 0 -P 80 211 -9.6736485997603927e-02 5.1279243800840213e-01 -4.1217511496160233e+00 4.1569972764560212e+00 1 0 0 0 0 -P 81 111 4.4784540883304857e-02 -6.3293049003740509e-01 -2.8876930883969312e+01 2.8884216512452983e+01 2 0 0 -54 0 -P 82 -211 -1.1552696499474494e-01 2.9652397766424610e-01 -1.5381300035866197e+01 1.5385224844870098e+01 1 0 0 0 0 -P 83 213 1.3734383108429742e+00 1.9976391213286977e+00 -5.6939502407682789e+02 5.6940054246694490e+02 2 0 0 -55 0 -P 84 313 1.1145814743658564e+00 2.7626103241949523e-01 -3.2842812827294995e+02 3.2843139117752128e+02 2 0 0 -56 0 -V -17 0 0 0 0 0 4 1 0 -P 27 21 -3.2798144322212153e+00 8.7986496652623636e-01 2.4766780065185029e+02 2.4769107942110830e+02 2 0 0 -17 0 -P 28 21 3.2798144322212153e+00 -8.7986496652623636e-01 5.5985508273586087e+00 6.5479093179154937e+00 2 0 0 -17 0 -P 29 21 -3.7733390949497778e+00 9.0629369874865717e-01 -3.3241294584168473e+00 5.1097253204240456e+00 2 0 0 -17 0 -P 30 21 3.7733390949497778e+00 -9.0629369874865717e-01 -1.2185775397046967e+01 1.2788767658423664e+01 2 0 0 -17 0 -P 85 92 2.0943165911964767e+00 5.0924638451013138e-03 6.6074307187661043e+03 6.9293270467247485e+03 2 0 0 -18 0 -V -18 0 0 0 0 0 0 36 0 -P 86 113 2.9356129599336628e-01 -4.3313617556154632e-01 1.5897828498253559e+03 1.5897830714807062e+03 2 0 0 -57 0 -P 87 2112 -1.1641820817776909e-01 7.5916177472945279e-01 1.5838148551780225e+03 1.5838153200907500e+03 1 0 0 0 0 -P 88 113 2.7160958203151061e-02 -4.0515716778460686e-01 1.6165720701806258e+03 1.6165722765277476e+03 2 0 0 -58 0 -P 89 111 -1.4385672069497962e-01 9.5872413866507322e-01 7.8787988037092839e+02 7.8788048837348356e+02 2 0 0 -59 0 -P 90 -2214 -3.6919767591725938e-01 -8.0507840752899340e-01 8.0872498075085002e+02 8.0872637466061587e+02 2 0 0 -60 0 -P 91 211 3.5761092944521689e-01 -5.0085597321715558e-01 3.0003167406315214e+01 3.0009803006335137e+01 1 0 0 0 0 -P 92 2114 -9.8516795397972409e-02 -1.4151599991198704e-01 6.0200362965077282e+01 6.0212675769296112e+01 2 0 0 -61 0 -P 93 223 -6.6801252072040476e-02 3.4914305837557824e-01 1.7318687060519537e+01 1.7340112417543374e+01 2 0 0 -62 0 -P 94 223 1.0880283197397357e-01 -1.1874086178082427e-01 5.9048803867980695e+00 5.9574951798301630e+00 2 0 0 -63 0 -P 95 223 -1.1326999883260454e-01 -3.7014701840945025e-01 2.2018767133093363e+01 2.2035600678331608e+01 2 0 0 -64 0 -P 96 211 1.7074748485127106e-02 3.1351296613888224e-01 1.0137555013396343e+01 1.0143376329482720e+01 1 0 0 0 0 -P 97 221 -2.4049267933068028e-01 -5.2371012095719160e-01 1.4536298958950805e+01 1.4558014904034785e+01 2 0 0 -65 0 -P 98 -211 -2.7609773133260801e-01 -5.7044915366057758e-01 6.8816596070175269e+00 6.9121893004977597e+00 1 0 0 0 0 -P 99 211 -3.2003753499352694e-01 5.9754365375792062e-01 1.9274593244220643e+01 1.9287013946098735e+01 1 0 0 0 0 -P 100 223 -3.4604842053761919e-01 3.1486430485676520e-01 6.2632131591575501e+01 6.2638853372545277e+01 2 0 0 -66 0 -P 101 111 2.2948981413776891e-02 5.5605194404662266e-02 1.1648969035652028e+00 1.1742329367414746e+00 2 0 0 -67 0 -P 102 111 -2.9172378240014335e-01 3.0693544637119191e-01 5.3046712918767929e+00 5.3232573908011185e+00 2 0 0 -68 0 -P 103 -213 3.2106496746452690e-01 2.1715005346640492e-01 1.8335690284947212e+01 1.8357740097185115e+01 2 0 0 -69 0 -P 104 211 -4.1566685736877346e-01 -2.4857973476376449e-01 7.6291201423937034e+00 7.6457520724142878e+00 1 0 0 0 0 -P 105 221 -2.5513573334891759e-01 3.0928061930424477e-01 4.8173473574429913e+01 4.8178252422360707e+01 2 0 0 -70 0 -P 106 223 -7.4215211736769937e-01 -2.4846169610654173e-01 2.0946282884976224e+01 2.0974976715559247e+01 2 0 0 -71 0 -P 107 113 2.4449291316315186e-01 -4.2766229921875031e-02 1.6107139368476123e+01 1.6128248722013453e+01 2 0 0 -72 0 -P 108 223 4.7207387017201917e-02 -3.2716583505686320e-01 2.1203916701555983e+00 2.2765517765484846e+00 2 0 0 -73 0 -P 109 -2212 9.4887946882507612e-01 4.1648238312682367e-01 3.2378432709009703e+00 3.5267278689504029e+00 1 0 0 0 0 -P 110 223 1.6600334088172941e-01 -4.1616381624079307e-01 2.6794215643440502e+00 2.8255103226053060e+00 2 0 0 -74 0 -P 111 2212 1.5707280006131925e+00 1.9053939806349487e-01 4.0977610121829917e+00 4.4917132165791367e+00 1 0 0 0 0 -P 112 221 -1.1579086126404439e+00 9.9177839411389315e-02 -7.1473619559073187e-01 1.4700809266311647e+00 2 0 0 -75 0 -P 113 -213 -1.0802536131659559e+00 -4.3742284486781746e-02 -8.7239930641296504e-01 1.8065991907361469e+00 2 0 0 -76 0 -P 114 -311 -1.2221059279354842e+00 7.8797526225771200e-02 -6.0729148702831515e-01 1.4547268913275133e+00 2 0 0 -77 0 -P 115 323 1.7061356136889678e+00 -2.9014219266128297e-02 -5.6916355500633795e+00 6.0003241000917313e+00 2 0 0 -78 0 -P 116 -213 5.0727937246066324e-01 -4.7763269349581511e-01 -1.4192395564892897e+00 1.7279116972796664e+00 2 0 0 -79 0 -P 117 113 1.8377335751287966e+00 3.7435212119187783e-01 -6.4021253801990987e+00 6.7571572558931825e+00 2 0 0 -80 0 -P 118 113 1.1595987846627662e+00 3.3781193392132147e-01 -1.7297809040002605e+00 2.3075689039392140e+00 2 0 0 -81 0 -P 119 211 2.7239080429789903e-01 -2.2711690982550835e-02 -1.2958981254113522e-01 3.3314542708521427e-01 1 0 0 0 0 -P 120 113 2.1267666995458101e-01 1.7395120076323969e-01 -1.6083970877226670e+00 1.8184518290999967e+00 2 0 0 -82 0 -P 121 221 -4.7135039096220882e-01 -1.2291206979554646e-01 -1.3887351759484287e+02 1.3887545092360841e+02 2 0 0 -83 0 -V -19 0 0 0 0 0 2 1 0 -P 34 21 -1.7804898284392838e+00 -2.5209727458596531e+00 -1.6027171333206104e+02 1.6030142713653206e+02 2 0 0 -19 0 -P 35 21 1.7804898284392838e+00 2.5209727458596531e+00 -3.9047632682122253e+00 4.9772104431420550e+00 2 0 0 -19 0 -P 122 92 0 0 -1.6417647660027328e+02 1.6527863757967410e+02 2 0 0 -20 0 -V -20 0 0 0 0 0 0 12 0 -P 123 -211 -6.0070155236750178e-01 3.1318832669430013e-01 -2.3722419674713313e+00 2.4710202387124545e+00 1 0 0 0 0 -P 124 -313 -5.5418962740188848e-01 5.6022873335349721e-01 -2.6963373036122778e+01 2.6989313170610149e+01 2 0 0 -84 0 -P 125 -3122 7.8192980547996760e-01 -1.0098791190461021e+00 -2.5752937819053422e+01 2.5808715935323384e+01 2 0 0 -85 0 -P 126 2112 -5.2911926360048755e-01 -7.0628422357488740e-01 -3.1365989018949879e+01 3.1392465075577743e+01 1 0 0 0 0 -P 127 -313 -6.6375047799976095e-01 -5.2431994602761678e-01 -3.0745812034728321e+01 3.0766432948134987e+01 2 0 0 -86 0 -P 128 323 -1.0010822452572499e-01 2.3468051859673056e-01 -2.0435238020895113e+01 2.0455561586261695e+01 2 0 0 -87 0 -P 129 -2212 7.6440809257191722e-01 -3.6826018672418046e-03 -3.6284282265723400e+00 3.8249412128597280e+00 1 0 0 0 0 -P 130 331 -2.1598897730547920e-01 3.8740437897781693e-01 -2.8085273570100782e+00 3.0002184788953326e+00 2 0 0 -88 0 -P 131 2114 3.7114271301432933e-01 1.6103528252915164e-01 -3.1873923166002567e+00 3.4301830299056255e+00 2 0 0 -89 0 -P 132 213 1.4340847993733810e-01 8.3134947437200180e-01 -7.5071475809012984e+00 7.6369252082162546e+00 2 0 0 -90 0 -P 133 111 2.5133273495763248e-01 1.9971281449766987e-01 -1.8807651137350476e+00 1.9127337413708869e+00 2 0 0 -91 0 -P 134 223 3.5163629723965795e-01 -4.4343363850532036e-01 -7.5286241082333785e+00 7.5901269538058527e+00 2 0 0 -92 0 -V -21 0 0 0 0 0 2 1 0 -P 36 21 -7.9835767352754738e-01 2.8310917836013409e+00 -4.9511789036910145e+01 4.9599089803115852e+01 2 0 0 -21 0 -P 37 21 7.9835767352754738e-01 -2.8310917836013409e+00 -3.3864087660105230e+02 3.3865365162772304e+02 2 0 0 -21 0 -P 135 92 0 0 -3.8815266563796246e+02 3.8825274143083885e+02 2 0 0 -22 0 -V -22 0 0 0 0 0 0 9 0 -P 136 2114 -1.4960565618058827e-01 -3.7983243334584205e-01 -6.0084225372661976e+01 6.0097896107156856e+01 2 0 0 -93 0 -P 137 -211 2.9811563003694558e-01 5.4783511804293061e-01 -4.4437689646128113e+01 4.4442285462337956e+01 1 0 0 0 0 -P 138 -3112 2.3307186571895475e-01 1.4326900914430873e-01 -2.7582276932951583e+01 2.7609612671372336e+01 2 0 0 -94 0 -P 139 -323 -2.7304396428318978e-01 8.3408142249412254e-01 -4.6194743956008772e+01 4.6211892601868342e+01 2 0 0 -95 0 -P 140 113 -1.2438472963311790e-01 -5.3617617384831562e-01 -3.5265788970736466e+01 3.5278430062698547e+01 2 0 0 -96 0 -P 141 321 1.7857873999080959e-01 3.3202431338286048e-01 -2.0117667576333965e+01 2.0127253170339291e+01 1 0 0 0 0 -P 142 -321 -8.8311177964749923e-02 -9.5005248461867819e-01 -1.2922147930037769e+02 1.2922594457819073e+02 1 0 0 0 0 -P 143 111 -1.3174275413026160e-01 -1.9950654911601931e-01 -4.1534180411145236e+00 4.1624824373277072e+00 2 0 0 -97 0 -P 144 211 5.7322046445197547e-02 2.0835777786463264e-01 -2.1095375841649318e+01 2.1096944339547068e+01 1 0 0 0 0 -V -23 0 0 0 0 0 0 2 0 -P 145 -321 4.7317159073082486e-03 -6.3950612894738934e-01 -1.0249740682428344e+01 1.0281527877466626e+01 1 0 0 0 0 -P 146 211 -2.1513185186894951e-01 5.5253778360839806e-02 -1.6231025987568579e+00 1.6441643849393461e+00 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 147 -211 -4.0628598070699080e-02 -3.7486371473267571e-01 -3.2698973194384027e+00 3.2945229931167308e+00 1 0 0 0 0 -P 148 211 -2.2213787884234046e-01 -1.9035086479588445e-01 -8.6925041161229846e+00 8.6985450670017315e+00 1 0 0 0 0 -V -25 0 0 0 0 0 0 2 0 -P 149 2112 -5.0305378851233962e-01 -3.5001326226330570e-01 -4.8922578174780284e+01 4.8935437256146848e+01 1 0 0 0 0 -P 150 111 1.9439971445648394e-01 -1.0750830516930852e-01 -1.1517209099759532e+01 1.1520142114255574e+01 2 0 0 -98 0 -V -26 0 0 0 0 0 0 3 0 -P 151 211 5.5467664486743833e-02 -8.8581067293380639e-02 -8.8067473190807988e+00 8.8084732726121882e+00 1 0 0 0 0 -P 152 -211 3.2763508143091863e-01 2.6975363668793567e-01 -2.7798223999518537e+01 2.7801813773266648e+01 1 0 0 0 0 -P 153 111 3.7624470113100927e-01 -2.2697476149644069e-01 -3.9173658724607755e+01 3.9176355561612958e+01 2 0 0 -99 0 -V -27 0 0 0 0 0 0 2 0 -P 154 -3122 -3.4471300641577951e-01 -9.3043940044976126e-02 -1.5322034894383646e+02 1.5322482682830801e+02 2 0 0 -100 0 -P 155 211 -1.2658824667944718e-01 5.6045897494217310e-02 -9.1400235910024410e+00 9.1421374281840926e+00 1 0 0 0 0 -V -28 0 0 0 0 0 0 1 0 -P 156 310 3.9338164815186982e-01 1.5120222274855744e-01 -1.5841292434872400e+02 1.5841426667878343e+02 2 0 0 -101 0 -V -29 0 0 0 0 0 0 2 0 -P 157 211 -4.1204788433400203e+00 1.3492927461039024e+00 3.8318172798207833e+01 3.8562945727619358e+01 1 0 0 0 0 -P 158 111 -4.8159128705046694e-01 1.3448094949075709e-01 5.8718796761526999e+00 5.8946760576942649e+00 2 0 0 -102 0 -V -30 0 3.6262632367244094e-07 -1.4847823601754692e-07 8.4887296679066190e-06 8.5293987828113712e-06 0 2 0 -P 159 22 9.2329242767276706e-02 1.8864949736969224e-02 1.1925858469138277e+00 1.1963032966843019e+00 1 0 0 0 0 -P 160 22 -2.5631944427193760e-02 -4.6174321832131868e-02 3.6873305970836540e-01 3.7249581728345482e-01 1 0 0 0 0 -V -31 0 0 0 0 0 0 2 0 -P 161 -211 -1.1341007829402066e+00 6.0266876159191429e-01 2.0286919317455499e+01 2.0328009479531275e+01 1 0 0 0 0 -P 162 111 -1.1968527011163542e-01 3.3035230632374672e-02 2.8142194490767198e+00 2.8201891068342042e+00 2 0 0 -103 0 -V -32 0 0 0 0 0 0 2 0 -P 163 22 -3.4376924339807431e+00 5.6473113570386968e-01 3.1590143475639518e+01 3.1781658473682139e+01 1 0 0 0 0 -P 164 111 -1.5341100192305239e+00 6.7694638573483645e-01 1.2781020070891630e+01 1.2891254539927354e+01 2 0 0 -104 0 -V -33 0 -2.7789154446939715e+01 -2.5850833391285808e+00 3.5434507819968331e+02 3.5855517402969622e+02 0 2 0 -P 165 2112 -5.1909013901515177e-01 -3.4217945727699796e-02 5.8209743622944101e+00 5.9192195221685608e+00 1 0 0 0 0 -P 166 -211 -1.8675959006408943e-01 -3.1443655385611960e-02 3.1794570083460498e+00 3.1881490712897551e+00 1 0 0 0 0 -V -34 0 0 0 0 0 0 2 0 -P 167 -3122 -1.3578313501585406e+00 -5.6110171407454090e-01 4.7532121296764123e+00 5.0986575214573620e+00 2 0 0 -105 0 -P 168 22 -8.9088999710365789e-03 -4.2747657113092849e-02 3.1710490820171716e-01 3.2009725630341157e-01 1 0 0 0 0 -V -35 0 0 0 0 0 0 2 0 -P 169 -211 -2.3446543659562806e+00 -6.4929378742615518e-01 2.2395655634208214e+00 3.3097009254536083e+00 1 0 0 0 0 -P 170 111 -1.1249397207202128e+00 1.4237079142511824e-01 1.1663329747194109e+00 1.6322717377394349e+00 2 0 0 -106 0 -V -36 0 -6.7418093062859160e-05 -1.9089901041571765e-04 1.6493397696685196e-04 2.6420265438809298e-04 0 2 0 -P 171 22 -2.1187394174684773e-01 -5.9635452415112900e-01 5.5296385850315732e-01 8.4041556058747868e-01 1 0 0 0 0 -P 172 22 -1.4766384618138196e-02 -4.5393292462897188e-02 1.4969497191911496e-03 4.7758119453917933e-02 1 0 0 0 0 -V -37 0 0 0 0 0 0 2 0 -P 173 -211 -4.0255782642450305e-02 -2.7831301333626307e-01 3.9015845799110332e-01 5.0078145799386653e-01 1 0 0 0 0 -P 174 211 -4.6264467692447137e-01 2.5591075993571022e-01 3.5889789046657225e-02 5.4799477734302793e-01 1 0 0 0 0 -V -38 0 0 0 0 0 0 2 0 -P 175 211 7.8035236055542037e-02 -5.6695538610673002e-02 6.0047941576510799e-01 6.2398653496866729e-01 1 0 0 0 0 -P 176 111 -1.2785553127783380e+00 1.1884783629086837e-01 1.0045692970771025e+00 1.6359118463580851e+00 2 0 0 -107 0 -V -39 0 0 0 0 0 0 2 0 -P 177 -211 1.2627572705779661e-01 -6.1331993051647760e-01 2.5729317570399224e-01 6.9122099185177921e-01 1 0 0 0 0 -P 178 111 -1.5555177445162185e-01 8.8890488378568028e-02 -1.6380203759515596e-01 2.7775633454442306e-01 2 0 0 -108 0 -V -40 0 0 0 0 0 0 2 0 -P 179 211 3.5639704325469085e-01 -6.3423964972341818e-01 -2.4163817735466017e-01 7.7919675267370847e-01 1 0 0 0 0 -P 180 111 1.3101330793119204e-01 9.0416991608367872e-02 2.7437988898070045e-02 2.1050454356462622e-01 2 0 0 -109 0 -V -41 0 0 0 0 0 0 1 0 -P 181 310 4.6391648249289439e+00 8.7190463208380886e-01 -2.7041866263032449e-01 4.7542475369195882e+00 2 0 0 -110 0 -V -42 0 0 0 0 0 0 2 0 -P 182 -321 1.9525512673653487e+00 -5.3227249651774589e-01 -4.9906661042476869e-01 2.1420735057135949e+00 1 0 0 0 0 -P 183 111 2.9874439049285023e-01 -2.8475562149392120e-01 -1.9024244903122581e-01 4.7407358567708918e-01 2 0 0 -111 0 -V -43 0 0 0 0 0 0 2 0 -P 184 321 4.1462756309890736e+00 3.2192760120503588e-01 -6.3518186464597759e-01 4.2358394622231152e+00 1 0 0 0 0 -P 185 111 2.8873808576949571e+00 -5.7210969847366372e-02 -1.3031788905640951e-01 2.8940358783301670e+00 2 0 0 -112 0 -V -44 0 0 0 0 0 0 2 0 -P 186 -321 7.4632910485972637e-01 -9.0683090050122783e-01 -1.0937761687495565e+01 1.1011703823991564e+01 1 0 0 0 0 -P 187 211 -7.5085744445380881e-02 -9.4925952617013309e-02 -1.1136929490878451e+00 1.1289112344410193e+00 1 0 0 0 0 -V -45 0 5.4870443770135152e-04 -6.1180197566582301e-04 -7.7571407249639283e-03 7.8006513337980929e-03 0 2 0 -P 188 22 1.6307255770237250e+00 -1.7467424291525475e+00 -2.2610684940145120e+01 2.2736610312090640e+01 1 0 0 0 0 -P 189 22 2.5002754365000407e-01 -3.5028539841192269e-01 -3.9778855607587129e+00 4.0010982451593105e+00 1 0 0 0 0 -V -46 0 0 0 0 0 0 2 0 -P 190 -211 -3.4771060598395914e-01 -2.2516011178622557e-02 -4.1162097602971910e+00 4.1332883049624050e+00 1 0 0 0 0 -P 191 211 2.3702088705655167e-01 -4.9089442089346247e-01 -4.8952940415866841e+00 4.9275287692574148e+00 1 0 0 0 0 -V -47 0 0 0 0 0 0 3 0 -P 192 211 7.5704020926990898e-02 1.9439819800615879e-01 -3.0400693063104991e+00 3.0504135670829546e+00 1 0 0 0 0 -P 193 -211 1.2388078103698906e-02 -1.3418403734202855e-01 -2.2669176314964452e+00 2.2752042003402604e+00 1 0 0 0 0 -P 194 111 -2.9481615955898893e-01 1.1357919037439569e-01 -7.8235932090650602e+00 7.8311331939734075e+00 2 0 0 -113 0 -V -48 0 0 0 0 0 0 2 0 -P 195 -211 -2.5840149143461150e-01 4.9160936948202588e-01 -7.6888525573623507e+00 7.7101481527072950e+00 1 0 0 0 0 -P 196 211 -1.8300377467698797e-01 8.5819329580133663e-02 -1.7124223317576995e+01 1.7125984916320089e+01 1 0 0 0 0 -V -49 0 0 0 0 0 0 2 0 -P 197 321 -1.0059304477724786e+00 1.6154958423579500e+00 -4.8713814360191492e+01 4.8753472423629795e+01 1 0 0 0 0 -P 198 111 -8.6514329764970965e-01 1.2820801404340156e+00 -5.0363263569510103e+01 5.0387188246461093e+01 2 0 0 -114 0 -V -50 0 0 0 0 0 0 2 0 -P 199 -311 -2.1609164566645891e+00 -2.4014342910428788e+00 -4.6611982375210808e+00 5.6930563869726507e+00 2 0 0 -115 0 -P 200 -211 -7.8919655988042958e-02 -3.2709922664563601e-02 -2.0207531257067607e-01 2.6002397580325015e-01 1 0 0 0 0 -V -51 0 -1.5071098302075203e-05 -2.8039888295285812e-05 -3.9402786753742279e-04 3.9645787334712418e-04 0 2 0 -P 201 22 -1.6628700951457295e-03 2.7466545158185005e-02 -1.7085866096558761e-01 1.7306027350849057e-01 1 0 0 0 0 -P 202 22 -6.5865805639046926e-02 -1.5310413880685866e-01 -1.5946516929484500e+00 1.6033381438410388e+00 1 0 0 0 0 -V -52 0 0 0 0 0 0 2 0 -P 203 -211 2.0587461757273046e-01 1.6855553016750627e-01 -2.1998932359118348e+00 2.2203164997858775e+00 1 0 0 0 0 -P 204 211 -5.2333999937162846e-02 4.5462768293088435e-01 -7.9512134694810550e+00 7.9655948051475409e+00 1 0 0 0 0 -V -53 0 -5.1634935389906184e-06 -1.5909755539324514e-05 -2.4640764257625601e-04 2.4701009158988296e-04 0 2 0 -P 205 22 -1.9369005581290913e-02 -2.6993645287572443e-01 -3.6129505223448715e+00 3.6230722217312223e+00 1 0 0 0 0 -P 206 22 -1.4734769876723883e-01 -2.4375103224998654e-01 -4.3429556459108172e+00 4.3522855665045208e+00 1 0 0 0 0 -V -54 0 1.6507694663061706e-06 -2.3329977412751538e-05 -1.0644109517188483e-03 1.0646795018213276e-03 0 2 0 -P 207 22 3.2699543974523036e-04 -1.6531900817126896e-01 -5.2016361454811575e+00 5.2042625867037895e+00 1 0 0 0 0 -P 208 22 4.4457545443559635e-02 -4.6761148186613616e-01 -2.3675294738488155e+01 2.3679953925749196e+01 1 0 0 0 0 -V -55 0 0 0 0 0 0 2 0 -P 209 211 8.3079894702839219e-01 1.5302975509736045e+00 -3.5793639413666205e+02 3.5794065676425424e+02 1 0 0 0 0 -P 210 111 5.4263936381458211e-01 4.6734157035509338e-01 -2.1145862994016593e+02 2.1145988570269063e+02 2 0 0 -116 0 -V -56 0 0 0 0 0 0 2 0 -P 211 321 1.0977767389319530e+00 3.1868442334370795e-01 -2.4770380304560078e+02 2.4770693239742806e+02 1 0 0 0 0 -P 212 -211 1.6804735433903449e-02 -4.2423390924212670e-02 -8.0724325227349169e+01 8.0724458780093229e+01 1 0 0 0 0 -V -57 0 0 0 0 0 0 2 0 -P 213 211 4.8735411154823403e-02 -4.3391527553418574e-01 5.7573302557377576e+02 5.7573320806926313e+02 1 0 0 0 0 -P 214 -211 2.4482588483854287e-01 7.7909997263942679e-04 1.0140498242515802e+03 1.0140498634114431e+03 1 0 0 0 0 -V -58 0 0 0 0 0 0 2 0 -P 215 -211 2.2644715345669786e-01 -1.8312403295315868e-01 3.1678254960143175e+02 3.1678271421353344e+02 1 0 0 0 0 -P 216 211 -1.9928619525354679e-01 -2.2203313483144810e-01 1.2997895205791938e+03 1.2997895623142140e+03 1 0 0 0 0 -V -59 0 -1.5147243004817694e-05 1.0094785584425737e-04 8.2958988283135748e-02 8.2959052302129133e-02 0 2 0 -P 217 22 -9.8281010852660555e-02 2.5143009431644470e-01 2.1253074378795648e+02 2.1253091523661075e+02 1 0 0 0 0 -P 218 22 -4.5575709842319061e-02 7.0729404434862853e-01 5.7534913658297194e+02 5.7534957313687289e+02 1 0 0 0 0 -V -60 0 0 0 0 0 0 2 0 -P 219 -2212 -3.3519434428000028e-01 -4.0216052205848135e-01 5.6696550298238196e+02 5.6696652106715453e+02 1 0 0 0 0 -P 220 111 -3.4003331637259090e-02 -4.0291788547051194e-01 2.4175947776846803e+02 2.4175985359346117e+02 2 0 0 -117 0 -V -61 0 0 0 0 0 0 2 0 -P 221 2112 -1.5928388612196823e-01 -2.9344070178772974e-01 5.2068168002132694e+01 5.2077714904602516e+01 1 0 0 0 0 -P 222 111 6.0767090723995811e-02 1.5192470187574267e-01 8.1321949629446006e+00 8.1349608646936105e+00 2 0 0 -118 0 -V -62 0 0 0 0 0 0 3 0 -P 223 -211 -2.0855792861887895e-01 3.0026778285653749e-01 1.2281199215305971e+01 1.2287432242008229e+01 1 0 0 0 0 -P 224 211 1.8322216671360106e-01 8.4641186236416213e-02 3.0390432107555543e+00 3.0489338980243836e+00 1 0 0 0 0 -P 225 111 -4.1465490166762591e-02 -3.5765910717375442e-02 1.9984446344580136e+00 2.0037462775107624e+00 2 0 0 -119 0 -V -63 0 0 0 0 0 0 3 0 -P 226 211 2.5229722362814772e-01 7.8453898573060024e-02 2.0068040102688629e+00 2.0289285408271467e+00 1 0 0 0 0 -P 227 -211 -4.0632702319755090e-02 -1.2069487246477217e-01 6.9918612236714750e-01 7.2426465283617236e-01 1 0 0 0 0 -P 228 111 -1.0286168933441908e-01 -7.6499887889112148e-02 3.1988902541620599e+00 3.2043019861668447e+00 2 0 0 -120 0 -V -64 0 0 0 0 0 0 3 0 -P 229 -211 -1.6757424870507753e-01 -2.0645190227526286e-01 8.7703893221804687e+00 8.7755291671955220e+00 1 0 0 0 0 -P 230 211 9.8968590493889952e-02 -2.6775289950262515e-01 5.1595877232286771e+00 5.1693627901017445e+00 1 0 0 0 0 -P 231 111 -4.4664340621416956e-02 1.0405778336843771e-01 8.0887900876842203e+00 8.0907087210343445e+00 2 0 0 -121 0 -V -65 0 0 0 0 0 0 3 0 -P 232 22 4.3201839353883581e-02 2.1195937699919901e-02 3.1454940200310616e-01 3.1820903978210507e-01 1 0 0 0 0 -P 233 211 -1.0483563972662920e-01 -3.3980469291825055e-01 5.8420066258245038e+00 5.8544836614140072e+00 1 0 0 0 0 -P 234 -211 -1.7885887895793467e-01 -2.0510136573886101e-01 8.3797429311231948e+00 8.3853222028386707e+00 1 0 0 0 0 -V -66 0 0 0 0 0 0 3 0 -P 235 211 -6.2449587517871177e-02 -1.5860535579672613e-01 1.4572062057648969e+01 1.4573727320309697e+01 1 0 0 0 0 -P 236 -211 -6.9803021048007466e-02 1.9955448295151124e-01 3.0748651976026064e+01 3.0749695487615565e+01 1 0 0 0 0 -P 237 111 -2.1379581197174061e-01 2.7391517770198009e-01 1.7311417557900477e+01 1.7315430564620016e+01 2 0 0 -122 0 -V -67 0 9.9012612323046163e-06 2.3990675043343193e-05 5.0259087072063646e-04 5.0661887099154334e-04 0 2 0 -P 238 22 7.2226354217322569e-02 2.8177786734834089e-02 9.0357006333380763e-01 9.0689001166727001e-01 1 0 0 0 0 -P 239 22 -4.9277372803545674e-02 2.7427407669828176e-02 2.6132684023139513e-01 2.6734292507420448e-01 1 0 0 0 0 -V -68 0 -1.8040088071645551e-05 1.8980771602814036e-05 3.2803886097063062e-04 3.2918821827960463e-04 0 2 0 -P 240 22 -2.6219607110444487e-01 2.0044463067522406e-01 3.6450568212061958e+00 3.6599677675480899e+00 1 0 0 0 0 -P 241 22 -2.9527711295698492e-02 1.0649081569596784e-01 1.6596144706705973e+00 1.6632896232530285e+00 1 0 0 0 0 -V -69 0 0 0 0 0 0 2 0 -P 242 -211 -1.5779048821080130e-01 2.4427658010237480e-01 1.1215533923889044e+01 1.1220171561458509e+01 1 0 0 0 0 -P 243 111 4.7885545567532817e-01 -2.7126526635969879e-02 7.1201563610581680e+00 7.1375685357266061e+00 2 0 0 -123 0 -V -70 0 0 0 0 0 0 3 0 -P 244 -211 1.4447474134589635e-02 1.0331254294609675e-01 1.3021878060525166e+01 1.3023043815449808e+01 1 0 0 0 0 -P 245 211 -2.2533489453973266e-01 6.7750325072043191e-02 1.3920844135234320e+01 1.3923532136050548e+01 1 0 0 0 0 -P 246 111 -4.4248312943774556e-02 1.3821775128610481e-01 2.1230751378670416e+01 2.1231676470860343e+01 2 0 0 -124 0 -V -71 0 0 0 0 0 0 3 0 -P 247 -211 4.3968497828360605e-02 -8.9581304918981322e-02 2.7716342830236234e+00 2.7769397585695201e+00 1 0 0 0 0 -P 248 211 -3.0260312919721499e-01 -2.2696578300232692e-01 6.5963063148826535e+00 6.6086170190982152e+00 1 0 0 0 0 -P 249 111 -4.8351748599884498e-01 6.8085391814766527e-02 1.1578342287069946e+01 1.1589419937891513e+01 2 0 0 -125 0 -V -72 0 0 0 0 0 0 2 0 -P 250 211 2.7918293477948802e-01 -1.1595431069407330e-01 1.5372053925904542e+01 1.5375659667118606e+01 1 0 0 0 0 -P 251 -211 -3.4690021616336185e-02 7.3188080772198266e-02 7.3508544257158037e-01 7.5258905489484496e-01 1 0 0 0 0 -V -73 0 0 0 0 0 0 3 0 -P 252 211 6.9604979207269713e-02 6.4059599095633635e-02 3.4643965893791207e-01 3.8529041975080902e-01 1 0 0 0 0 -P 253 -211 -1.7967466933591134e-01 -5.9481031195502451e-02 9.5730795988163619e-01 9.8576837787879446e-01 1 0 0 0 0 -P 254 111 1.5727707714584355e-01 -3.3174440295699437e-01 8.1664405133604978e-01 9.0549297891888092e-01 2 0 0 -126 0 -V -74 0 0 0 0 0 0 3 0 -P 255 -211 -2.6768527911412210e-02 -3.1628709299904190e-01 1.4372749842883532e+00 1.4785104817502697e+00 1 0 0 0 0 -P 256 211 5.8658587383824110e-02 4.7066254481115677e-02 1.1853313384479452e-01 1.9795441622710730e-01 1 0 0 0 0 -P 257 111 1.3411328140931753e-01 -1.4694297772286691e-01 1.1236134462109026e+00 1.1490454246279296e+00 2 0 0 -127 0 -V -75 0 0 0 0 0 0 3 0 -P 258 111 -2.9382405415384755e-01 1.5899008760270572e-01 -2.7730141991355345e-01 4.5467142052408799e-01 2 0 0 -128 0 -P 259 111 -2.9461008023809460e-01 7.9261822040132043e-03 -1.9522454331244052e-01 3.7840473894202054e-01 2 0 0 -129 0 -P 260 111 -5.6947447824850161e-01 -6.7738430395329619e-02 -2.4221023236473779e-01 6.3700476716505527e-01 2 0 0 -130 0 -V -76 0 0 0 0 0 0 2 0 -P 261 -211 -1.1998250888346944e+00 2.2147907356684138e-01 -5.3025571611185474e-01 1.3376412572863117e+00 1 0 0 0 0 -P 262 111 1.1957147566873839e-01 -2.6522135805362312e-01 -3.4214359030111036e-01 4.6895793344983716e-01 2 0 0 -131 0 -V -77 0 0 0 0 0 0 1 0 -P 263 310 -1.2221059279354842e+00 7.8797526225771200e-02 -6.0729148702831515e-01 1.4547268913275146e+00 2 0 0 -132 0 -V -78 0 0 0 0 0 0 2 0 -P 264 311 6.1455156080652751e-01 -1.6499131271689300e-02 -2.1080593895117539e+00 2.2515629373462178e+00 2 0 0 -133 0 -P 265 211 1.0915840528824405e+00 -1.2515087994438999e-02 -3.5835761605516261e+00 3.7487611627454607e+00 1 0 0 0 0 -V -79 0 0 0 0 0 0 2 0 -P 266 -211 1.7582177056811502e-01 -1.1719437561076100e-01 -3.7786363095881875e-02 2.5603790894419687e-01 1 0 0 0 0 -P 267 111 3.3145760189254819e-01 -3.6043831788505409e-01 -1.3814531933934078e+00 1.4718737883354707e+00 2 0 0 -134 0 -V -80 0 0 0 0 0 0 2 0 -P 268 -211 1.4142297312131940e+00 3.0559262664089600e-02 -3.1393293993058156e+00 3.4461352938368117e+00 1 0 0 0 0 -P 269 211 4.2350384391560253e-01 3.4379285852778824e-01 -3.2627959808932827e+00 3.3110219620563313e+00 1 0 0 0 0 -V -81 0 0 0 0 0 0 2 0 -P 270 211 2.2262437178167788e-01 2.2164126913244933e-01 -1.1281504278306380e+00 1.1793598415277167e+00 1 0 0 0 0 -P 271 -211 9.3697441288108851e-01 1.1617066478887220e-01 -6.0163047616962251e-01 1.1282090624115000e+00 1 0 0 0 0 -V -82 0 0 0 0 0 0 2 0 -P 272 -211 2.3127343736279543e-01 4.0719281310637140e-01 -1.3765569924613603e+00 1.4607129520440862e+00 1 0 0 0 0 -P 273 211 -1.8596767408214455e-02 -2.3324161234313170e-01 -2.3184009526130650e-01 3.5773887705591995e-01 1 0 0 0 0 -V -83 0 0 0 0 0 0 3 0 -P 274 111 -1.4346763318903757e-01 1.0781369477650569e-02 -5.8080541309671737e+01 5.8080876350349484e+01 2 0 0 -135 0 -P 275 111 -2.6461917860165884e-01 -1.6666569637677223e-01 -6.3921636890275806e+01 6.3922544404120060e+01 2 0 0 -136 0 -P 276 111 -6.3263579171512346e-02 3.2972257103575209e-02 -1.6871339394895315e+01 1.6872030169138945e+01 2 0 0 -137 0 -V -84 0 0 0 0 0 0 2 0 -P 277 -321 -1.9241511971658415e-01 6.8333986075057515e-02 -1.5062462347721974e+01 1.5071931065676043e+01 1 0 0 0 0 -P 278 211 -3.6177450768530445e-01 4.9189474727843974e-01 -1.1900910688400808e+01 1.1917382104934106e+01 1 0 0 0 0 -V -85 0 3.5965274506955190e+01 -4.6449923613080180e+01 -1.1845199806065368e+03 1.1870855245326934e+03 0 2 0 -P 279 -2212 7.0831682930111939e-01 -9.1340702772143101e-01 -2.1316092442071589e+01 2.1368017519667180e+01 1 0 0 0 0 -P 280 211 7.3612976178848225e-02 -9.6472091324671175e-02 -4.4368453769818323e+00 4.4406984156562039e+00 1 0 0 0 0 -V -86 0 0 0 0 0 0 2 0 -P 281 -321 -4.4123751089775892e-01 -4.2768077428762763e-01 -1.7597613328393198e+01 1.7615255808570037e+01 1 0 0 0 0 -P 282 211 -2.2251296710200200e-01 -9.6639171739989163e-02 -1.3148198706335124e+01 1.3151177139564950e+01 1 0 0 0 0 -V -87 0 0 0 0 0 0 2 0 -P 283 311 1.1053483946443671e-01 2.3990656324443796e-01 -9.0517810821029947e+00 9.0692992726583253e+00 2 0 0 -138 0 -P 284 211 -2.1064306399016169e-01 -5.2260446477074120e-03 -1.1383456938792117e+01 1.1386262313603362e+01 1 0 0 0 0 -V -88 0 0 0 0 0 0 2 0 -P 285 22 -3.5874584636615608e-02 1.0662985418752213e-01 -2.4754642143430844e-01 2.7191201222423805e-01 1 0 0 0 0 -P 286 113 -1.8011439266886359e-01 2.8077452479029485e-01 -2.5609809355757700e+00 2.7283064666710946e+00 2 0 0 -139 0 -V -89 0 0 0 0 0 0 2 0 -P 287 2212 3.2237536636423531e-01 1.2209256343323748e-02 -2.9549510500184519e+00 3.1170757519964258e+00 1 0 0 0 0 -P 288 -211 4.8767346650093954e-02 1.4882602618582788e-01 -2.3244126658180475e-01 3.1310727790919962e-01 1 0 0 0 0 -V -90 0 0 0 0 0 0 2 0 -P 289 211 9.9155276979379939e-02 6.7357724758643656e-02 -5.1838620433734066e+00 5.1871258228102608e+00 1 0 0 0 0 -P 290 111 4.4253202957958163e-02 7.6399174961335814e-01 -2.3232855375278914e+00 2.4497993854059930e+00 2 0 0 -140 0 -V -91 0 9.6383408543088094e-06 7.6587722623014910e-06 -7.2125325163580596e-05 7.3351287749992734e-05 0 2 0 -P 291 22 -1.2269390628257775e-02 -2.5957213503575527e-04 -1.5849465772618179e-01 1.5896905941667261e-01 1 0 0 0 0 -P 292 22 2.6360212558589025e-01 1.9997238663270561e-01 -1.7222704560088657e+00 1.7537646819542143e+00 1 0 0 0 0 -V -92 0 0 0 0 0 0 3 0 -P 293 211 2.4603887976188546e-01 -2.1260457138838254e-01 -2.7393540734610169e+00 2.7621144724317976e+00 1 0 0 0 0 -P 294 -211 1.6587673815884174e-01 -1.3851309640486942e-01 -4.3161880209091308e+00 4.3238477987641240e+00 1 0 0 0 0 -P 295 111 -6.0279320681069205e-02 -9.2315970712068443e-02 -4.7308201386323090e-01 5.0416468260993141e-01 2 0 0 -141 0 -V -93 0 0 0 0 0 0 2 0 -P 296 2112 7.4171566481101445e-02 -3.8781235549565807e-01 -4.8819322937294800e+01 4.8829959898459137e+01 1 0 0 0 0 -P 297 111 -2.2377722266168973e-01 7.9799221498159933e-03 -1.1264902435367182e+01 1.1267936208697719e+01 2 0 0 -142 0 -V -94 0 5.0154104234163355e-01 3.0829670479462740e-01 -5.9353555524325564e+01 5.9412378560295316e+01 0 2 0 -P 298 -2112 3.2040808606255766e-01 2.1628229926567114e-01 -2.5231223973342530e+01 2.5251671119996491e+01 1 0 0 0 0 -P 299 211 -8.7336220343602930e-02 -7.3013290121362429e-02 -2.3510529596090493e+00 2.3579415513758439e+00 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 300 -311 -2.8878157481450778e-01 4.5737313947049302e-01 -1.9055191875712950e+01 1.9069362806234462e+01 2 0 0 -143 0 -P 301 -211 1.5737610531318013e-02 3.7670828302362941e-01 -2.7139552080295822e+01 2.7142529795633884e+01 1 0 0 0 0 -V -96 0 0 0 0 0 0 2 0 -P 302 -211 2.0611775579728736e-01 -5.2708370551699557e-01 -2.3061051418638730e+01 2.3068417242625809e+01 1 0 0 0 0 -P 303 211 -3.3050248543040528e-01 -9.0924683313200385e-03 -1.2204737552097738e+01 1.2210012820072743e+01 1 0 0 0 0 -V -97 0 -7.4282491859497750e-06 -1.1249076815240985e-05 -2.3418839530493129e-04 2.3469948674397263e-04 0 2 0 -P 304 22 -1.3782377984232405e-01 -1.7354840433172641e-01 -4.0358135637561290e+00 4.0418938091362637e+00 1 0 0 0 0 -P 305 22 6.0810257120624319e-03 -2.5958144784292918e-02 -1.1760447735839455e-01 1.2058862819144350e-01 1 0 0 0 0 -V -98 0 1.1329499597191234e-05 -6.2655200061162853e-06 -6.7121608805501367e-04 6.7138702239328879e-04 0 2 0 -P 306 22 8.3512273166797750e-04 -7.8008196154925541e-03 -3.4118096618637224e+00 3.4118186820233136e+00 1 0 0 0 0 -P 307 22 1.9356459172481594e-01 -9.9707485553815978e-02 -8.1053994378958087e+00 8.1083234322322628e+00 1 0 0 0 0 -V -99 0 2.0041229932726539e-04 -1.2090146041663490e-04 -2.0866428136954773e-02 2.0867864647033187e-02 0 2 0 -P 308 22 3.4255432656942236e-01 -2.0736141795750798e-01 -3.0756055443747755e+01 3.0758662010614099e+01 1 0 0 0 0 -P 309 22 3.3690374561586876e-02 -1.9613343538932699e-02 -8.4176032808599981e+00 8.4176935509988660e+00 1 0 0 0 0 -V -100 0 -1.4655426294584716e+01 -3.9557503781629491e+00 -6.5141421674948333e+03 6.5143325441403531e+03 0 2 0 -P 310 -2212 -2.9021401161431271e-01 -1.7933607075051763e-01 -1.2972263526808578e+02 1.2972647700869905e+02 1 0 0 0 0 -P 311 211 -5.4498994801466791e-02 8.6292130705541509e-02 -2.3497713675750649e+01 2.3498349819608933e+01 1 0 0 0 0 -V -101 0 6.2882302674241096e+01 2.4169769943670968e+01 -2.5322405107628230e+04 2.5322619679928397e+04 0 2 0 -P 312 -211 -3.0454181678031815e-02 -9.4438048079860462e-03 -1.9166526513342280e+01 1.9167061199207968e+01 1 0 0 0 0 -P 313 211 4.2383582982990159e-01 1.6064602755654347e-01 -1.3924639783538171e+02 1.3924720547957548e+02 1 0 0 0 0 -V -102 0 -6.8085613147043767e-05 1.9012424329253531e-05 8.3014485275483495e-04 8.3336772172386763e-04 0 2 0 -P 314 22 -6.4530051532456653e-02 4.1147663561012245e-02 5.0009863277170408e-01 5.0592084387524461e-01 1 0 0 0 0 -P 315 22 -4.1706123551801033e-01 9.3333285929744852e-02 5.3717810433809960e+00 5.3887552138190218e+00 1 0 0 0 0 -V -103 0 -2.8663356649283047e-05 7.9115884245727316e-06 6.7397580072297365e-04 6.7540547063320853e-04 0 2 0 -P 316 22 -1.4492624902482243e-01 2.8380174303346873e-02 2.6356982873021977e+00 2.6398322889224670e+00 1 0 0 0 0 -P 317 22 2.5240978913187006e-02 4.6550563290277975e-03 1.7852116177452235e-01 1.8035681791173727e-01 1 0 0 0 0 -V -104 0 -5.0220982389912621e-04 2.2160674326314827e-04 4.1840244562597866e-03 4.2201110684245468e-03 0 2 0 -P 318 22 -5.4063197640540028e-01 2.1622423351256712e-01 3.9809929604217249e+00 4.0233494508925567e+00 1 0 0 0 0 -P 319 22 -9.9347804282512375e-01 4.6072215222226937e-01 8.8000271104699053e+00 8.8679050890347977e+00 1 0 0 0 0 -V -105 0 -8.7423611880936946e+01 -3.6126385262244547e+01 3.0603430416013998e+02 3.2827571422449716e+02 0 2 0 -P 320 -2212 -1.2471878380698003e+00 -5.8148956872730395e-01 4.2864941247651371e+00 4.5986943904236481e+00 1 0 0 0 0 -P 321 211 -1.1064351208874038e-01 2.0387854652763094e-02 4.6671800491127502e-01 4.9996313103371370e-01 1 0 0 0 0 -V -106 0 -4.0330373995144954e-04 5.1041555013131883e-05 4.1814369434113808e-04 5.8518806325543013e-04 0 2 0 -P 322 22 -6.6701805187467311e-01 1.7389112972455496e-02 6.7968573557433076e-01 9.5246425755503927e-01 1 0 0 0 0 -P 323 22 -4.5792166884553959e-01 1.2498167845266275e-01 4.8664723914508007e-01 6.7980748018439574e-01 1 0 0 0 0 -V -107 0 -6.3235648545427708e-04 5.8780562177968304e-05 4.9684663912939536e-04 8.0910028321579759e-04 0 2 0 -P 324 22 -5.8725927969364689e-01 4.2508583447097834e-02 3.7714975811299251e-01 6.9922984868901916e-01 1 0 0 0 0 -P 325 22 -6.9129603308469112e-01 7.6339252843770522e-02 6.2741953896410996e-01 9.3668199766906590e-01 1 0 0 0 0 -V -108 0 -4.1370582402169445e-05 2.3641332843672301e-05 -4.3564824109938025e-05 7.3872132712754089e-05 0 2 0 -P 326 22 9.3824316308741933e-03 3.0669441389115419e-02 -7.5056453382808377e-02 8.1621785405822295e-02 1 0 0 0 0 -P 327 22 -1.6493420608249607e-01 5.8221046989452609e-02 -8.8745584212347600e-02 1.9613454913860082e-01 1 0 0 0 0 -V -109 0 4.6124625705683339e-05 3.1832261632231989e-05 9.6598352337218242e-06 7.4110358974856751e-05 0 2 0 -P 328 22 1.1229413325862778e-01 1.1712115941134178e-01 5.1212087590440727e-02 1.7014704305845085e-01 1 0 0 0 0 -P 329 22 1.8719174672564270e-02 -2.6704167802973904e-02 -2.3774098692370686e-02 4.0357500506175224e-02 1 0 0 0 0 -V -110 0 1.6839083418133907e+02 3.1648099143667501e+01 -9.8155650633128566e+00 1.7256806749881488e+02 0 2 0 -P 330 -211 3.3855716052889000e+00 7.5517900606175214e-01 -3.2190843642233902e-01 3.4864731824688899e+00 1 0 0 0 0 -P 331 211 1.2535932196400428e+00 1.1672562602205658e-01 5.1489773792014568e-02 1.2677743544506974e+00 1 0 0 0 0 -V -111 0 2.8845818951176322e-05 -2.7495107403999699e-05 -1.8369212665482548e-05 4.5775054719574976e-05 0 2 0 -P 332 22 2.7030395986030997e-01 -2.9002381019296813e-01 -1.9934251311767295e-01 4.4375159575046091e-01 1 0 0 0 0 -P 333 22 2.8440430632540273e-02 5.2681886990469471e-03 9.1000640864471617e-03 3.0321989926628289e-02 1 0 0 0 0 -V -112 0 1.3628206968224917e-04 -2.7003120695176234e-06 -6.1509002492339389e-06 1.3659618133936836e-04 0 2 0 -P 334 22 1.8626901422113438e+00 2.7688122150641023e-02 -8.2117109705569513e-02 1.8647049143781296e+00 1 0 0 0 0 -P 335 22 1.0246907154836133e+00 -8.4899091998007395e-02 -4.8200779350839988e-02 1.0293309639520400e+00 1 0 0 0 0 -V -113 0 -1.2886014039213245e-05 4.9643921958561860e-06 -3.4195863645979687e-04 3.4228819896250966e-04 0 2 0 -P 336 22 -1.0943481290995041e-01 -2.2126551863527927e-02 -2.1629656728282032e+00 2.1658453463733665e+00 1 0 0 0 0 -P 337 22 -1.8538134664903849e-01 1.3570574223792362e-01 -5.6606275362368574e+00 5.6652878476000419e+00 1 0 0 0 0 -V -114 0 -1.8756333083447605e-04 2.7795536553286909e-04 -1.0918770904720895e-02 1.0923957781981871e-02 0 2 0 -P 338 22 -6.4454009407804935e-01 1.0195210531070349e+00 -4.0546413266977950e+01 4.0564349913774876e+01 1 0 0 0 0 -P 339 22 -2.2060320357166030e-01 2.6255908732698097e-01 -9.8168503025321545e+00 9.8228383326862136e+00 1 0 0 0 0 -V -115 0 0 0 0 0 0 1 0 -P 340 310 -2.1609164566645891e+00 -2.4014342910428788e+00 -4.6611982375210808e+00 5.6930563869726507e+00 2 0 0 -144 0 -V -116 0 4.6647014059706234e-04 4.0174175072356605e-04 -1.8177659679026900e-01 1.8177767628387106e-01 0 2 0 -P 341 22 5.0612377474012493e-01 4.3386844717429307e-01 -2.0411988422196481e+02 2.0412097280263274e+02 1 0 0 0 0 -P 342 22 3.6515589074457233e-02 3.3473123180800382e-02 -7.3387457182011460e+00 7.3389129000579238e+00 1 0 0 0 0 -V -117 0 -3.9679966035151650e-06 -4.7018239803615207e-05 2.8211964547665943e-02 2.8212008404318353e-02 0 2 0 -P 343 22 -6.4946256002850131e-02 -9.4207688108994117e-02 5.6256023690559296e+01 5.6256140061129656e+01 1 0 0 0 0 -P 344 22 3.0942924365591040e-02 -3.0871019736151784e-01 1.8550345407790874e+02 1.8550371353233157e+02 1 0 0 0 0 -V -118 0 7.1394658205115038e-06 1.7849484044905112e-05 9.5544360100083161e-04 9.5576856408141815e-04 0 2 0 -P 345 22 4.9543228363903562e-02 1.4447608620664792e-01 8.0641017625724594e+00 8.0655480351980131e+00 1 0 0 0 0 -P 346 22 1.1223862360092251e-02 7.4486156690947375e-03 6.8093200372141963e-02 6.9412829495597211e-02 1 0 0 0 0 -V -119 0 -1.0479404296005302e-06 -9.0389728160656921e-07 5.0505876581810914e-05 5.0639862845471187e-05 0 2 0 -P 347 22 -1.9649059503414921e-02 -4.1995057254422583e-02 2.0580015458011841e-01 2.1095822808881290e-01 1 0 0 0 0 -P 348 22 -2.1816430663347673e-02 6.2291465370471460e-03 1.7926444798778951e+00 1.7927880494219495e+00 1 0 0 0 0 -V -120 0 -2.7048403984485163e-05 -2.0116331802263564e-05 8.4117688963188434e-04 8.4259995311128431e-04 0 2 0 -P 349 22 -1.9642405802245206e-02 -9.2859174775794529e-02 2.0999420753842948e+00 2.1020859569520560e+00 1 0 0 0 0 -P 350 22 -8.3219283532173879e-02 1.6359286886682384e-02 1.0989481787777651e+00 1.1022160292147887e+00 1 0 0 0 0 -V -121 0 -4.3697548852092644e-06 1.0180537782309538e-05 7.9137024098687022e-04 7.9155795130203402e-04 0 2 0 -P 351 22 1.5286718904049673e-02 1.0121571509495164e-01 3.4164405283291086e+00 3.4179736962660661e+00 1 0 0 0 0 -P 352 22 -5.9951059525466630e-02 2.8420682734860746e-03 4.6723495593551112e+00 4.6727350247682775e+00 1 0 0 0 0 -V -122 0 -3.9128110223879112e-05 5.0130931781456886e-05 3.1682709221014086e-03 3.1690053675884522e-03 0 2 0 -P 353 22 -1.6779084043867753e-02 6.1438708636000997e-02 5.8657625123023784e+00 5.8661082587446449e+00 1 0 0 0 0 -P 354 22 -1.9701672792787284e-01 2.1247646906597906e-01 1.1445655045598098e+01 1.1449322305875373e+01 1 0 0 0 0 -V -123 0 8.8138363471338031e-05 -4.9929214254940152e-06 1.3105393744311845e-03 1.3137442676021075e-03 0 2 0 -P 355 22 -5.9221845589798100e-03 -9.3634280590004035e-03 8.7044995957186830e-02 8.7747235718017694e-02 1 0 0 0 0 -P 356 22 4.8477764023430803e-01 -1.7763098576969477e-02 7.0331113651009813e+00 7.0498213000085883e+00 1 0 0 0 0 -V -124 0 -3.1128397509633289e-06 9.7235280142512896e-06 1.4935694140095549e-03 1.4936344936374668e-03 0 2 0 -P 357 22 -6.0821289540813332e-02 1.1730330566840588e-01 2.0518413827214008e+01 2.0518839277103105e+01 1 0 0 0 0 -P 358 22 1.6572976597038779e-02 2.0914445617698917e-02 7.1233755145640765e-01 7.1283719375723653e-01 1 0 0 0 0 -V -125 0 -1.9515749056143327e-04 2.7480648777391942e-05 4.6732544138254686e-03 4.6777255789813401e-03 0 2 0 -P 359 22 -4.0023515920812236e-01 8.6281187916333033e-02 1.0367007136428276e+01 1.0375088895658166e+01 1 0 0 0 0 -P 360 22 -8.3282326790722602e-02 -1.8195796101566498e-02 1.2113351506416694e+00 1.2143310422333451e+00 1 0 0 0 0 -V -126 0 4.8454558846432039e-06 -1.0220515911640566e-05 2.5159500646974626e-05 2.7896794388778152e-05 0 2 0 -P 361 22 7.4423022937854688e-02 -2.8130602976180735e-01 5.5912723271329023e-01 6.3031351808856284e-01 1 0 0 0 0 -P 362 22 8.2854054207988859e-02 -5.0438373195187056e-02 2.5751681862275960e-01 2.7517946083031813e-01 1 0 0 0 0 -V -127 0 1.7487216930583767e-05 -1.9160098842285034e-05 1.4650951698096147e-04 1.4982562794983061e-04 0 2 0 -P 363 22 4.5214485644001358e-02 -3.4494364021055254e-02 9.6759820543419181e-02 1.1223490425381649e-01 1 0 0 0 0 -P 364 22 8.8898795765316174e-02 -1.1244861370181165e-01 1.0268536256674834e+00 1.0368105203741129e+00 1 0 0 0 0 -V -128 0 -7.3439902585215092e-06 3.9738804160137968e-06 -6.9310149993812259e-06 1.1364292459897351e-05 0 2 0 -P 365 22 -6.5906669162900097e-02 -1.1544111646086784e-02 -1.7213513211336788e-02 6.9088787736666518e-02 1 0 0 0 0 -P 366 22 -2.2791738499094746e-01 1.7053419924879248e-01 -2.6008790670221665e-01 3.8558263278742178e-01 1 0 0 0 0 -V -129 0 -6.5385547125916253e-05 1.7591311186985337e-06 -4.3327993280389105e-05 8.3982872788221195e-05 0 2 0 -P 367 22 -7.0058961208586297e-03 -2.3646751404207671e-02 -4.7549279496351946e-02 5.3564777728007648e-02 1 0 0 0 0 -P 368 22 -2.8760418411723598e-01 3.1572933608220874e-02 -1.4767526381608859e-01 3.2483996121401310e-01 1 0 0 0 0 -V -130 0 -6.6891221062580290e-05 -7.9566451089120833e-06 -2.8450332395157243e-05 7.4823417599693525e-05 0 2 0 -P 370 22 -4.0216266385833066e-01 -8.2083877934753996e-02 -2.2531815989549669e-01 4.6823161405134645e-01 1 0 0 0 0 -P 369 22 -1.6731181439017095e-01 1.4345447539424376e-02 -1.6892072469241130e-02 1.6877315311370919e-01 1 0 0 0 0 -V -131 0 4.0004438564436408e-06 -8.8733800974629270e-06 -1.1446929262908617e-05 1.5689694162488194e-05 0 2 0 -P 371 22 -2.7787464980002757e-02 -3.9536920145469653e-02 -3.1512507197267656e-02 5.7691848422995934e-02 1 0 0 0 0 -P 372 22 1.4735894064874117e-01 -2.2568443790815346e-01 -3.1063108310384269e-01 4.1126608502684042e-01 1 0 0 0 0 -V -132 0 -1.7190259592768666e+02 1.1083735870402483e+01 -8.5422204997653452e+01 2.0462328450321920e+02 0 2 0 -P 373 -211 -7.0116200068741419e-01 2.3007912747604026e-01 -2.5557192099985926e-01 7.9332297824509768e-01 1 0 0 0 0 -P 374 211 -5.2094392724806982e-01 -1.5128160125026907e-01 -3.5171956602845583e-01 6.6140391308241664e-01 1 0 0 0 0 -V -133 0 0 0 0 0 0 1 0 -P 375 310 6.1455156080652751e-01 -1.6499131271689300e-02 -2.1080593895117539e+00 2.2515629373462178e+00 2 0 0 -145 0 -V -134 0 1.2422833674547942e-04 -1.3509013664050564e-04 -5.1776043610738624e-04 5.5164953701517157e-04 0 2 0 -P 376 22 1.7293581745775335e-01 -1.5989646707223276e-01 -4.7684903414621088e-01 5.3184459996143318e-01 1 0 0 0 0 -P 377 22 1.5852178443479484e-01 -2.0054185081282136e-01 -9.0460415924719695e-01 9.4002918837403693e-01 1 0 0 0 0 -V -135 0 -3.0421302276829038e-05 2.2861135473366665e-06 -1.2315570169442151e-02 1.2315641212460739e-02 0 2 0 -P 378 22 -6.3213644028068727e-02 -5.2095115397050848e-02 -1.5820369430860998e+01 1.5820581493572236e+01 1 0 0 0 0 -P 379 22 -8.0253989160968833e-02 6.2876484874701419e-02 -4.2260171878810738e+01 4.2260294856777207e+01 1 0 0 0 0 -V -136 0 -2.2626919204406364e-05 -1.4251163751589497e-05 -5.4657781078933680e-03 5.4658557071155340e-03 0 2 0 -P 380 22 -7.2231888147834891e-02 9.0709435203236623e-03 -9.2446848491878608e+00 9.2449714812153534e+00 1 0 0 0 0 -P 381 22 -1.9238729045382397e-01 -1.7573663989709587e-01 -5.4676952041087944e+01 5.4677572922904659e+01 1 0 0 0 0 -V -137 0 -1.4712307122146771e-05 7.6678869480818771e-06 -3.9235264585132075e-03 3.9236871020138959e-03 0 2 0 -P 382 22 -7.3391735447519918e-03 5.7884281344822895e-02 -1.3555871924925388e+01 1.3555997495517444e+01 1 0 0 0 0 -P 383 22 -5.5924405626760355e-02 -2.4912024241247683e-02 -3.3154674699699282e+00 3.3160326736214896e+00 1 0 0 0 0 -V -138 0 0 0 0 0 0 1 0 -P 384 130 1.1053483946443671e-01 2.3990656324443796e-01 -9.0517810821029947e+00 9.0692992726583253e+00 1 0 0 0 0 -V -139 0 0 0 0 0 0 2 0 -P 385 -211 1.9994195185511940e-01 4.2490055020102374e-01 -1.6472487730842742e+00 1.7185533355122891e+00 1 0 0 0 0 -P 386 211 -3.8005634452398301e-01 -1.4412602541072891e-01 -9.1373216249149591e-01 1.0097531311588057e+00 1 0 0 0 0 -V -140 0 1.1290931347859454e-05 1.9492777513552132e-04 -5.9277195213696494e-04 6.2505117884745329e-04 0 2 0 -P 387 22 -1.8864812224141009e-02 3.1518847790773763e-01 -7.8454208373630496e-01 8.4569849172110512e-01 1 0 0 0 0 -P 388 22 6.3118015182099169e-02 4.4880327170562045e-01 -1.5387434537915861e+00 1.6041008936848880e+00 1 0 0 0 0 -V -141 0 -2.2062332681418194e-05 -3.3787800437129711e-05 -1.7314881218831880e-04 1.8452512119060968e-04 0 2 0 -P 389 22 2.4873558701757840e-02 -5.2976666599621790e-03 -1.3627493951424749e-02 2.8852517843785962e-02 1 0 0 0 0 -P 390 22 -8.5152879382827049e-02 -8.7018304052106268e-02 -4.5945451991180614e-01 4.7531216476614546e-01 1 0 0 0 0 -V -142 0 -4.1677118704622027e-05 1.4862109679246677e-06 -2.0980181557823914e-03 2.0985831772341542e-03 0 2 0 -P 391 22 -1.5643583805594760e-01 5.2378617282550582e-02 -5.5116465463091462e+00 5.5141149192248653e+00 1 0 0 0 0 -P 392 22 -6.7341384605742141e-02 -4.4398695132734589e-02 -5.7532558890580363e+00 5.7538212894728558e+00 1 0 0 0 0 -V -143 0 0 0 0 0 0 1 0 -P 393 310 -2.8878157481450778e-01 4.5737313947049302e-01 -1.9055191875712950e+01 1.9069362806234462e+01 2 0 0 -146 0 -V -144 0 -1.0043507998486164e+02 -1.1161386843781975e+02 -2.1664318227892988e+02 2.6460188769466896e+02 0 2 0 -P 394 -211 -1.1691333412424345e+00 -1.3186003706581355e+00 -2.1817307937141353e+00 2.8080257741418579e+00 1 0 0 0 0 -P 395 211 -9.9178311542215425e-01 -1.0828339203847432e+00 -2.4794674438069451e+00 2.8850306128307914e+00 1 0 0 0 0 -V -145 0 1.4136025654935059e+01 -3.7951598826736549e-01 -4.8489961644807160e+01 5.1790856090669863e+01 0 2 0 -P 396 -211 2.2123670885310345e-01 -1.8774985570499705e-01 -1.1205504408707445e+00 1.1658939767822030e+00 1 0 0 0 0 -P 397 211 3.9331485195342403e-01 1.7125072443330774e-01 -9.8750894864100902e-01 1.0856689605640144e+00 1 0 0 0 0 -V -146 0 -1.0106759107552426e+01 1.6007115917497323e+01 -6.6689238799159602e+02 6.6738834131272722e+02 0 2 0 -P 398 211 -1.3082730519347252e-01 3.3475366485323066e-01 -6.2686630319197212e+00 6.2805088800648798e+00 1 0 0 0 0 -P 399 -211 -1.5795426962103520e-01 1.2261947461726234e-01 -1.2786528843793228e+01 1.2788853926169581e+01 1 0 0 0 0 -E 8 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 186 0 0 -V -1 0 0 0 0 0 1 2 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 41 2203 -3.5096158275163236e-01 -6.5324073291532936e-01 6.4120718804435573e+03 6.4120719697163750e+03 2 0 0 -13 0 -P 3 1 3.5096158275163236e-01 6.5324073291532936e-01 4.1594615987003954e+02 4.1594682088954704e+02 3 0 0 -3 0 -V -2 0 0 0 0 0 1 2 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 2 2.7501906829241841e-02 -1.2146878480571459e-01 -2.4425191616079805e+03 2.4425191647831903e+03 3 0 0 -4 0 -P 25 2103 -2.7501906829241841e-02 1.2146878480571459e-01 -4.3752498996173417e+03 4.3752499693803265e+03 2 0 0 -11 0 -V -3 0 0 0 0 0 0 3 0 -P 5 1 -4.9399896685999328e-01 1.2324525037290512e+00 2.6907605385966201e+02 2.6907932981713935e+02 3 0 0 -5 0 -P 39 21 5.6879342880917538e-01 7.5338012753840347e-02 1.3882129535590456e+01 1.3893981510846166e+01 2 0 0 -13 0 -P 40 21 4.0353127377792430e-01 -1.0794042666778709e+00 2.4382432099069892e+01 2.4409648627655276e+01 2 0 0 -13 0 -V -4 0 0 0 0 0 0 27 0 -P 12 21 3.6714966898125962e+00 -2.8959215128987843e+00 -1.0957485461237511e+00 4.8028027471995083e+00 2 0 0 -9 0 -P 13 21 9.0366392277633989e-02 -5.2691266877741805e-01 1.9123724213929416e-01 5.6778052815543023e-01 2 0 0 -9 0 -P 14 21 -5.4742252565373975e-02 9.9812434983835754e-02 5.6673941239040604e-01 5.7805951073393502e-01 2 0 0 -9 0 -P 15 21 -4.2785424343628164e-01 -3.2385695231399270e-01 -3.5095687498530953e-02 5.3774927844631759e-01 2 0 0 -9 0 -P 16 -4 2.9718367737999309e+00 -5.2406590168947231e-01 -2.3934560712361521e+00 4.1334115261319404e+00 2 0 0 -9 0 -P 11 2 1.6176455215218464e+00 -3.5208120614031763e-01 -8.1690576640657608e-01 1.8753594962580435e+00 2 0 0 -9 0 -P 6 -2 -2.5309383529199383e+01 2.5605502229007829e+01 3.5459450278646557e+01 5.0532952150964263e+01 3 0 0 -5 0 -P 17 4 3.7194740649112351e-02 1.2081735484703142e+00 -1.0381037228237732e+01 1.0558266936671616e+01 2 0 0 -11 0 -P 18 21 -3.8063394485410336e+00 5.6572199649196686e-01 -5.4033256081716328e+00 6.6335653311592448e+00 2 0 0 -11 0 -P 19 21 1.4421971897575430e+00 -1.4182830615990176e+00 5.7062472324337099e-01 2.1016831711130513e+00 2 0 0 -11 0 -P 20 21 2.7303036205130007e+00 -7.3316197951629114e-01 9.1820481918052266e-01 2.9724038148207561e+00 2 0 0 -11 0 -P 21 21 -2.0182388692079840e+00 1.5399105798395493e-01 -1.0724900871680109e+01 1.0914233829567960e+01 2 0 0 -11 0 -P 22 21 1.2491774325410158e-01 -5.4800394801420538e-01 -7.6805684279456621e+00 7.7011066831965493e+00 2 0 0 -11 0 -P 30 21 1.5370980407646048e-01 8.1756875564613984e-01 -1.5100758824998671e+01 1.5123655724223996e+01 2 0 0 -13 0 -P 31 21 3.5609178221999949e-01 -1.2821539734905008e+00 -1.5993658274378207e+01 1.6048919750771034e+01 2 0 0 -13 0 -P 32 21 -5.7321384139990961e-01 1.8778171682794662e-01 1.6282864814338351e+00 1.7364195768210722e+00 2 0 0 -13 0 -P 33 21 3.1657101493395272e+00 -1.6119295557286719e+00 4.4063722475163161e+00 5.6600489420096816e+00 2 0 0 -13 0 -P 34 21 2.6326825731670658e+00 -1.7437994078856278e+00 2.2174731113567527e+00 3.8586319992440359e+00 2 0 0 -13 0 -P 35 21 6.8425955467206965e+00 -4.4447064866609622e+00 1.5000198384257514e+01 1.7075786398747489e+01 2 0 0 -13 0 -P 36 21 4.0164782232489156e+00 -5.4148487689946281e+00 1.3344639617162901e+01 1.4950989633494801e+01 2 0 0 -13 0 -P 37 21 3.9627824931833042e+00 -7.3524675138650126e+00 1.5839388268499249e+01 1.7906664802553045e+01 2 0 0 -13 0 -P 23 21 6.3545309142797402e-01 5.0932772066100540e-01 -1.0519858948403776e+01 1.0551333927648679e+01 2 0 0 -11 0 -P 24 21 -1.3293995544884336e+00 5.4471300945374300e-02 -2.4605532627938929e+00 2.7972473357117349e+00 2 0 0 -11 0 -P 26 2 -9.0376759228672943e-01 8.5542850621349587e-01 -2.0776141357023594e+03 2.0776145345862528e+03 2 0 0 -13 0 -P 27 21 4.5222474530545992e-01 3.0982198771832353e-01 -1.3647713867247677e+02 1.3647823957360674e+02 2 0 0 -13 0 -P 28 21 -9.6670908210745185e-02 -1.0947679481510482e+00 -1.0578578360202395e+02 1.0579149244820697e+02 2 0 0 -13 0 -P 29 21 -4.8393908701574007e-01 2.0274532889938918e-01 -2.1573305980675745e+01 2.1579685670653127e+01 2 0 0 -13 0 -V -5 0 0 0 0 0 0 2 0 -P 8 22 -5.8563239941287950e+00 -1.9298209509462974e-01 8.3500314047580435e+00 1.0200823362537069e+01 3 0 0 -7 0 -P 7 -24 -1.9947058501930567e+01 2.7030936827831496e+01 2.9618547273355034e+02 3.0941145860556639e+02 3 0 0 -6 0 -V -6 0 0 0 0 0 0 1 0 -P 9 -24 -1.9947058501930567e+01 2.7030936827831496e+01 2.9618547273355034e+02 3.0941145860556639e+02 2 0 0 -8 0 -V -7 0 0 0 0 0 0 1 0 -P 10 22 -5.8563239941287950e+00 -1.9298209509462974e-01 8.3500314047580435e+00 1.0200823362537033e+01 1 0 0 0 0 -V -8 0 0 0 0 0 0 10 0 -P 46 21 -3.7285968742864894e+00 2.8910858542250293e+00 1.1679555837123013e+01 1.2596540660828801e+01 2 0 0 -17 0 -P 47 21 -1.8023297258181672e+00 2.5930887493787522e+00 1.4214934742857999e+01 1.4561485894181056e+01 2 0 0 -17 0 -P 48 21 4.5585582966435784e-01 6.8325648113844262e-01 4.4766795478450598e+00 4.5514067858796050e+00 2 0 0 -17 0 -P 49 21 1.8795211728249670e+00 2.1980346924035365e+00 1.6255259634668267e+01 1.6510524587019709e+01 2 0 0 -17 0 -P 50 21 1.0534179425365028e+01 3.0060939727642277e+00 5.9681656292270027e+01 6.0678708250320625e+01 2 0 0 -17 0 -P 51 1 1.4568595374906375e+01 4.2271332429249249e+00 9.1375908388900839e+01 9.2627091936149995e+01 2 0 0 -17 0 -P 42 -2 -3.0517819564912308e+01 1.0428844168876985e+01 7.4912511307218153e+01 8.1560354045635137e+01 2 0 0 -15 0 -P 43 21 -5.7206370395985298e+00 5.4834348217882312e-01 1.3778163054100464e+01 1.4928635096975666e+01 2 0 0 -15 0 -P 44 2 -2.2525958537263930e+00 1.3998775512003811e-01 5.1363462708508241e+00 5.6200300413691791e+00 2 0 0 -15 0 -P 45 -2 -3.3632312463497884e+00 3.1506842882115055e-01 4.6744576577204295e+00 5.7766813072113079e+00 2 0 0 -17 0 -V -9 0 0 0 0 0 0 1 0 -P 63 92 7.8687488814103510e+00 -4.5230258068361495e+00 -3.5832294167353105e+00 1.2495163086925176e+01 2 0 0 -10 0 -V -10 0 0 0 0 0 0 6 0 -P 64 321 1.7132926485905779e+00 -1.1048478524837397e+00 -3.9254690998346925e-01 2.1339621630642891e+00 1 0 0 0 0 -P 65 -311 7.0071389671228546e-01 -5.7580058229065734e-01 -6.8836441564177575e-01 1.2426050350911262e+00 2 0 0 -23 0 -P 66 -211 1.0077824213790697e-01 -4.4819776346861628e-01 6.6159383291203300e-01 8.1744949318836269e-01 1 0 0 0 0 -P 67 213 2.9009203059815278e+00 -1.7893295104458362e+00 -1.1484922938389688e+00 3.6608745191428511e+00 2 0 0 -24 0 -P 68 2112 5.5409088873312584e-01 1.6103136011254437e-01 -4.0047552306756740e-01 1.1730815152379661e+00 1 0 0 0 0 -P 69 -4122 1.8989528992549274e+00 -7.6588145825984388e-01 -1.6149441071155617e+00 3.4671903612005783e+00 2 0 0 -25 0 -V -11 0 0 0 0 0 0 1 0 -P 70 92 -2.2114133934649618e+00 -8.6294579771183808e-02 -4.4209313144221505e+03 4.4294798104102165e+03 2 0 0 -12 0 -V -12 0 0 0 0 0 0 28 0 -P 71 433 -1.0247884433601786e+00 1.2618214732734563e+00 -8.6694897878898782e+00 9.0699874159992895e+00 2 0 0 -26 0 -P 72 -311 1.5493234368667361e-01 -5.2903668164922500e-02 -2.2756098012880561e+00 2.3351398728649673e+00 2 0 0 -27 0 -P 73 311 -1.0479399410759047e+00 3.5508361290150353e-01 -1.2285977863989042e+00 1.7266703338789495e+00 2 0 0 -28 0 -P 74 -321 7.1709044630839699e-02 -8.0540288172282606e-02 -1.1040623347056104e+00 1.2141760679639282e+00 1 0 0 0 0 -P 75 323 -9.5436433963787692e-01 -2.9602351803484112e-01 -1.0976303074658433e+00 1.7459894215858962e+00 2 0 0 -29 0 -P 76 -313 4.5229065483994757e-01 8.1631980606907503e-02 -5.8961679501597064e-01 1.1604642453115961e+00 2 0 0 -30 0 -P 77 113 -2.4190544648866458e-01 -1.5219642166406071e-02 2.7578108978004551e-01 9.1680871617924098e-01 2 0 0 -31 0 -P 78 -211 9.1225699860842469e-01 -2.2413756750953776e-01 -9.7235135008989171e-02 9.5466482969645439e-01 1 0 0 0 0 -P 79 211 -1.6019746019187674e-02 -1.0962764287148888e-01 -3.9451013408667096e-01 4.3288899632718902e-01 1 0 0 0 0 -P 80 -211 2.2284319500814491e-02 -1.1912520537149757e-01 8.0408625454810090e-02 2.0157563691564462e-01 1 0 0 0 0 -P 81 111 2.6147842628995627e-01 -5.3714869055077885e-01 3.2448827889606002e-01 6.9311754177514195e-01 2 0 0 -32 0 -P 82 223 8.0109014259129629e-01 -6.0688849198709971e-01 -2.0305333370163012e-01 1.2882559187308529e+00 2 0 0 -33 0 -P 83 211 1.0621591005162476e+00 -2.6715583755681332e-01 -2.2047937637000264e-01 1.1258974805259456e+00 1 0 0 0 0 -P 84 -213 -3.9080845150093041e-01 2.6753344288388836e-01 -1.4175065470742074e+00 1.6446536225973012e+00 2 0 0 -34 0 -P 85 213 -7.0973282225719359e-01 3.4100256795269435e-01 -4.5663121010528904e+00 4.6984477584393929e+00 2 0 0 -35 0 -P 86 113 -2.3157800835597475e-01 -5.5195889026928313e-01 -5.6838651946392025e+00 5.7714335617292285e+00 2 0 0 -36 0 -P 87 111 -4.6066273585814793e-01 3.9227103753437581e-01 -4.7966952888036269e+00 4.8365888823764545e+00 2 0 0 -37 0 -P 88 311 2.7517509894565889e-01 -1.1487381757051843e-01 -2.1239959178119161e+00 2.2018063985792806e+00 2 0 0 -38 0 -P 89 -323 -7.0371163798211422e-01 -2.0006265444806237e-01 -4.1983731881486621e+00 4.3521687974762546e+00 2 0 0 -39 0 -P 90 211 -1.0761954765935261e-01 -1.6382379153854643e-01 -2.3860134843071883e+00 2.3981159967583294e+00 1 0 0 0 0 -P 91 111 -1.7970542608682286e-01 6.5692258472370091e-01 -2.4966648992850491e+00 2.5914082160491692e+00 2 0 0 -40 0 -P 92 -213 -3.7677031801546979e-01 -2.2171436967981403e-01 -7.8528785468690341e+00 7.8980386958816329e+00 2 0 0 -41 0 -P 93 111 6.5806093929116216e-01 1.7165685794549929e-01 -8.5486801528223268e+01 8.5489613201855903e+01 2 0 0 -42 0 -P 94 323 -4.8433024369999383e-01 -1.4687330505886736e-01 -8.3957716820012237e+01 8.3964255353447285e+01 2 0 0 -43 0 -P 95 331 3.5807589393682532e-01 -1.5224080954598848e-01 -4.3981009527858146e+02 4.3981131055034541e+02 2 0 0 -44 0 -P 96 -313 -4.8374978977586536e-01 -3.5240006944584942e-02 -6.3924051825900631e+02 6.3924131911008010e+02 2 0 0 -45 0 -P 97 2114 2.5503907680222165e-01 4.3505021898565793e-01 -1.9084717226924338e+03 1.9084721994174818e+03 2 0 0 -46 0 -P 98 223 -8.2278535331352418e-02 -1.5371015913753452e-01 -1.2132425478781010e+03 1.2132428143693633e+03 2 0 0 -47 0 -V -13 0 0 0 0 0 1 1 0 -P 38 21 1.1792977287052229e+00 3.1505474039551125e+00 1.2907478596245630e+02 1.2911861625393684e+02 2 0 0 -13 0 -P 99 92 2.1325344736888994e+01 -1.9078086942355402e+01 4.2593028050939884e+03 9.0133192852153970e+03 2 0 0 -14 0 -V -14 0 0 0 0 0 0 39 0 -P 100 211 -6.4145635586214866e-01 7.4210211658539504e-01 -1.2602904261354940e+03 1.2602908155939158e+03 1 0 0 0 0 -P 101 -213 2.5952690952053969e-01 1.7113996608260679e-01 -5.5927702746122156e+02 5.5927759069273088e+02 2 0 0 -48 0 -P 102 211 4.2014540449212504e-02 -3.5537589858044005e-01 -7.2949847678164119e+01 7.2950858893526046e+01 1 0 0 0 0 -P 103 223 -6.3998361774731272e-01 2.5907507037149113e-02 -1.3487047205365673e+02 1.3487424091129336e+02 2 0 0 -49 0 -P 104 -213 -1.2839848855141253e-01 -2.0565346315218563e-01 -7.5718320753566431e+01 7.5722517718575858e+01 2 0 0 -50 0 -P 105 323 -1.9872082796055467e-02 2.6794098698287805e-01 -6.8108399991638535e+01 6.8114172641420211e+01 2 0 0 -51 0 -P 106 -321 2.7142152013196741e-01 5.2993467515270787e-01 -2.6160140573056200e+01 2.6171570380158332e+01 1 0 0 0 0 -P 107 211 2.9437631694032651e-01 -4.6347150711519880e-01 -6.0143844523795785e+01 6.0146512593344127e+01 1 0 0 0 0 -P 108 -213 2.4619007605199436e-01 -6.0434473709003467e-01 -5.8018576150880186e+01 5.8030267612341916e+01 2 0 0 -52 0 -P 109 323 -9.9384342697108385e-02 -5.3376492002751497e-01 -2.0781667217870002e+01 2.0807229643207261e+01 2 0 0 -53 0 -P 110 -323 -2.7981634786068688e-01 3.1851689070453132e-01 -2.3479670779247950e+01 2.3502171437618404e+01 2 0 0 -54 0 -P 111 213 6.3127980478257359e-04 8.7114195588813836e-01 -3.8001408612870264e+00 3.9658129295852458e+00 2 0 0 -55 0 -P 112 223 1.1771085064566952e-01 -1.8207163509755123e-01 -9.8029417254923035e-01 1.2741930596758400e+00 2 0 0 -56 0 -P 113 2112 1.9209205934717882e-01 -5.3351059012014823e-01 -4.1646177314502335e+00 4.3067813437698792e+00 1 0 0 0 0 -P 114 113 -2.7598565373989276e-01 3.7960657283068916e-01 -4.9916024639480350e-01 1.0051155152174889e+00 2 0 0 -57 0 -P 115 -2112 -9.9845269053552094e-02 -3.5876231396345826e-01 -1.8622805531032363e+00 2.1188582111692340e+00 1 0 0 0 0 -P 116 -213 3.7849030650847143e-01 3.7784357170711968e-03 -9.0606253780559282e-02 1.0192850428959987e+00 2 0 0 -58 0 -P 117 321 5.8085707824128519e-01 -9.7162071509718617e-01 3.6764844693599641e-01 1.2885061505027517e+00 1 0 0 0 0 -P 118 333 4.7060519423644726e-01 1.3602005935586783e-01 1.1809574745448215e+00 1.6340056336417663e+00 2 0 0 -59 0 -P 119 -323 1.4599984686426251e+00 -7.3997071978743245e-01 2.5814573561830843e+00 3.1906207354049889e+00 2 0 0 -60 0 -P 120 213 1.6442662451119143e+00 -1.1808050207330052e+00 3.0613568265944324e+00 3.7231193798014286e+00 2 0 0 -61 0 -P 121 -211 2.3285071815343761e+00 -1.4930049131139151e+00 3.7980187414499524e+00 4.7005782102146254e+00 1 0 0 0 0 -P 122 113 2.0705991745434469e+00 -2.1281647954902798e+00 5.8472746169042855e+00 6.6028251690195514e+00 2 0 0 -62 0 -P 123 213 1.6982439540579044e+00 -2.0586767864933027e+00 5.4934725034644734e+00 6.1605691667856659e+00 2 0 0 -63 0 -P 124 113 2.9418564684892945e+00 -3.1012166205676479e+00 5.9093890342429791e+00 7.3452154730835240e+00 2 0 0 -64 0 -P 125 2112 2.3972505494101850e+00 -3.1969828230803983e+00 9.5256435215448363e+00 1.0372472494645029e+01 1 0 0 0 0 -P 126 -2112 3.4184366439918845e+00 -3.6749985902842326e+00 9.6543481666732056e+00 1.0921563717518836e+01 1 0 0 0 0 -P 127 313 7.2107705342681427e-01 -1.9937173017311436e+00 4.6809918289416128e+00 5.2178012042881861e+00 2 0 0 -65 0 -P 128 -313 2.7935483674053357e-01 -8.1871255653283084e-02 1.1718388726820061e+01 1.1756180517434442e+01 2 0 0 -66 0 -P 129 113 -8.2708674444163105e-02 3.4522701208939077e-01 6.1206736781408893e+00 6.1737560715212680e+00 2 0 0 -67 0 -P 130 311 2.4695926864221421e-01 4.1868501205522318e-01 1.8281949053007391e+01 1.8295180311364682e+01 2 0 0 -68 0 -P 131 -311 2.9376002073213692e-01 5.4077841199444876e-01 2.3165952234661379e+01 2.3179468384934378e+01 2 0 0 -69 0 -P 132 -211 8.2622565565000405e-01 2.0025688618269719e-01 1.2637005194543391e+01 1.2666338528806758e+01 1 0 0 0 0 -P 133 221 -1.9997941753530871e-01 6.5041493910278059e-01 4.3772957762713439e+01 4.3781669271045850e+01 2 0 0 -70 0 -P 134 2224 1.1786850791080654e+00 3.2621875180768561e-01 6.7450236130820841e+01 6.7471056333264244e+01 2 0 0 -71 0 -P 135 -213 -6.0071912138819927e-01 -1.7948907599716118e-01 5.4158753007648563e+01 5.4167324041288985e+01 2 0 0 -72 0 -P 136 -2214 4.8755136324043447e-01 -5.7626612657803589e-01 1.5857152644493947e+03 1.5857159489133173e+03 2 0 0 -73 0 -P 137 113 -4.1376307441085342e-01 -8.6244447369672600e-02 1.4358186673828980e+03 1.4358189407957868e+03 2 0 0 -74 0 -P 138 2224 -3.9430912224019385e-02 -3.0577286480143262e-01 3.3195578920930161e+03 3.3195581504912811e+03 2 0 0 -75 0 -V -15 0 0 0 0 0 0 1 0 -P 139 92 -3.8491052458237228e+01 1.1117175406175845e+01 9.3827020632169436e+01 1.0210901918397998e+02 2 0 0 -16 0 -V -16 0 0 0 0 0 0 5 0 -P 140 -211 -1.9166473046608434e+01 6.1868455401856188e+00 4.6556411760049734e+01 5.0726223026563673e+01 1 0 0 0 0 -P 141 211 -3.8214210133710984e+00 4.1209563848882319e-01 8.8452891185503653e+00 9.6452942283966223e+00 1 0 0 0 0 -P 142 -211 -1.9337263835215596e-01 3.8299880626085796e-02 7.4065220340539428e-01 7.7904128865453037e-01 1 0 0 0 0 -P 143 -313 -8.2556654128106732e+00 2.7128082773100708e+00 2.0430817739322297e+01 2.2220577016158007e+01 2 0 0 -76 0 -P 144 323 -7.0541203470947975e+00 1.7671260695652278e+00 1.7253849810841484e+01 1.8737883624206951e+01 2 0 0 -77 0 -V -17 0 0 0 0 0 0 1 0 -P 145 92 1.8543993956306284e+01 1.5913761421656066e+01 2.0235845210138564e+02 2.0730243942159109e+02 2 0 0 -18 0 -V -18 0 0 0 0 0 0 14 0 -P 146 -2112 -2.6743483898333138e+00 8.2173272799491937e-01 3.9048032086408360e+00 4.8946566651373811e+00 1 0 0 0 0 -P 147 -211 -3.4761870385601772e+00 1.5018145990736227e+00 1.0041938198918368e+01 1.0733094893498349e+01 1 0 0 0 0 -P 148 2212 -1.5117020725326820e+00 1.9137806911799142e+00 8.1880940760776273e+00 8.5949424012979971e+00 1 0 0 0 0 -P 149 113 -1.2447883978844071e-01 2.5267362074443822e-01 1.5280844145927219e+00 1.6030732744200233e+00 2 0 0 -78 0 -P 150 -2212 1.3647329543852704e-01 5.2795247924943911e-01 4.2715630293953559e+00 4.4072621986569747e+00 1 0 0 0 0 -P 151 2212 5.8338973945168648e-01 1.6779417880182423e+00 1.4261748231538144e+01 1.4402556906492567e+01 1 0 0 0 0 -P 152 111 1.4165244960744796e+00 4.6731499980347514e-02 6.0300599428003485e+00 6.1958508693507808e+00 2 0 0 -79 0 -P 153 -211 -8.8908673032611560e-03 7.5389806891575817e-01 4.3882568137415596e+00 4.4547411814925377e+00 1 0 0 0 0 -P 154 113 1.8185267740322264e+00 1.0824417118785685e+00 1.1430218213996847e+01 1.1643291552010357e+01 2 0 0 -80 0 -P 155 213 1.5036150668328048e+00 3.5431629391135439e-01 8.4987502245096724e+00 8.6550697519553221e+00 2 0 0 -81 0 -P 156 223 4.6405083798304085e+00 1.6629892500258932e+00 3.0667601777968951e+01 3.1071117824765778e+01 2 0 0 -82 0 -P 157 -213 3.9970063450751039e+00 1.4686799434037365e+00 2.8332911049604355e+01 2.8661754230859430e+01 2 0 0 -83 0 -P 158 113 9.3580203216703879e+00 3.1521852498297869e+00 5.4878039383787858e+01 5.5765298071186237e+01 2 0 0 -84 0 -P 159 221 2.8855367459185346e+00 6.9662349745004337e-01 1.5936383535813000e+01 1.6219729600467367e+01 2 0 0 -85 0 -V -19 0 0 0 0 0 9 1 0 -P 52 3 1.0101998152855945e+01 6.4603650197245228e+00 2.6444321311193690e+01 2.9035991673749287e+01 2 0 0 -19 0 -P 53 21 -1.1792977287052229e+00 -3.1505474039551125e+00 3.5604699631516148e+00 4.8983301681289770e+00 2 0 0 -19 0 -P 54 21 5.4393098289857278e+00 1.2064682052724261e-01 -6.0927087448274282e+00 8.1683380757838790e+00 2 0 0 -19 0 -P 55 21 4.3229282211027176e+00 8.4560344871155246e-01 -3.2960883103994504e+01 3.3253910575937830e+01 2 0 0 -19 0 -P 56 21 2.9321949272632235e+00 6.6737924249356242e+00 -6.4867381486965698e+01 6.5275680413138062e+01 2 0 0 -19 0 -P 57 21 -4.3229282211027176e+00 -8.4560344871155246e-01 -3.3185882553128543e+01 3.3476940637210568e+01 2 0 0 -19 0 -P 58 21 -2.9321949272632235e+00 -6.6737924249356242e+00 -1.3725188086854727e+01 1.5540851342257129e+01 2 0 0 -19 0 -P 59 21 -5.4393098289857278e+00 -1.2064682052724261e-01 -6.8094310938794118e+00 8.7160196703137292e+00 2 0 0 -19 0 -P 60 -3 -1.0101998152855945e+01 -6.4603650197245228e+00 -1.0742083072280693e+01 1.6099038219724946e+01 2 0 0 -19 0 -P 160 92 -1.1792977287052206e+00 -3.1505474039551116e+00 -1.3837876686758571e+02 2.1446510077624441e+02 2 0 0 -20 0 -V -20 0 0 0 0 0 0 36 0 -P 161 -313 8.2000806394988448e+00 5.4003406550455937e+00 2.2177543996883074e+01 2.4268717313332942e+01 2 0 0 -86 0 -P 162 3214 1.1200777844798961e+00 4.1111180711726349e-02 3.7259896703360691e+00 4.1247208876059354e+00 2 0 0 -87 0 -P 163 -3122 5.4889822392614185e-01 6.7168289205653042e-02 1.2394553573684344e+00 1.7569269434479631e+00 2 0 0 -88 0 -P 164 -211 -1.8246867227292973e-01 -7.4395915930269774e-01 9.3316746363469338e-01 1.2153400129831278e+00 1 0 0 0 0 -P 165 213 -2.4505059959837305e-01 -1.9411646561574297e-01 4.9179202248504200e-01 1.1013212363778255e+00 2 0 0 -89 0 -P 166 111 1.0831519365169956e-01 -8.5977649139333909e-02 -1.2164921808366023e-01 2.2834725745604548e-01 2 0 0 -90 0 -P 167 2112 2.1446758121909784e-01 -3.2834007745682020e-01 2.5652908362645738e-01 1.0499535730233749e+00 1 0 0 0 0 -P 168 -3122 -1.6966076865868715e-01 -3.3109432038849090e-01 -2.5618579747388798e-01 1.2036532933709381e+00 2 0 0 -91 0 -P 169 -323 1.8511690574403743e+00 7.7549450304113823e-02 -1.7771148289683374e+00 2.7167454062741467e+00 2 0 0 -92 0 -P 170 221 1.1371300019760869e-01 -4.0058843868012450e-01 -1.2195001765893660e+00 1.4001013987635382e+00 2 0 0 -93 0 -P 171 2212 1.2523629043783191e-01 1.5016324154887450e-01 -1.0511017569858179e+00 1.4224621696177961e+00 1 0 0 0 0 -P 172 -211 5.5214282633985745e-01 1.1107501711974165e-01 -2.9656055335364906e+00 3.0218364160802897e+00 1 0 0 0 0 -P 173 -3114 2.4243956428752380e+00 1.3862290434432972e-01 -3.4795719084528560e+00 4.4684697068205574e+00 2 0 0 -94 0 -P 174 -321 9.7258158118116156e-01 -3.2442714147895962e-01 -5.7679095353058232e+00 5.8790806483371956e+00 1 0 0 0 0 -P 175 321 1.1597250287476084e+00 4.0770177789498285e-01 -8.7674225604355964e+00 8.8669342049683344e+00 1 0 0 0 0 -P 176 -321 1.2473896171875081e+00 5.8064712076131186e-01 -7.6950130852787115e+00 7.8326240353106558e+00 1 0 0 0 0 -P 177 211 4.6411646485160624e-01 -3.1056116558930160e-03 -6.8807161452354304e+00 6.8977639995852016e+00 1 0 0 0 0 -P 178 113 1.1429721118154468e+00 2.0039644079081445e+00 -1.8192672029751531e+01 1.8365275501470027e+01 2 0 0 -95 0 -P 179 113 -3.7950464568590037e-01 6.9483727246069926e-01 -1.1395936644018100e+01 1.1448140272842123e+01 2 0 0 -96 0 -P 180 -211 1.1066748123962553e+00 1.5207401839636081e+00 -2.0061478070674706e+01 2.0149932059750874e+01 1 0 0 0 0 -P 181 211 2.4841143236311466e-02 2.3230814679517509e-01 -4.8359467720177013e-01 5.5491238423969202e-01 1 0 0 0 0 -P 182 221 -4.2542141885817947e-01 5.9981854143176938e-01 -9.4453389518417676e+00 9.4897257644226993e+00 2 0 0 -97 0 -P 183 111 -3.2417120919680359e-01 -3.9808752168111899e-01 -7.9310594479818883e+00 7.9488039487468249e+00 2 0 0 -98 0 -P 184 111 -5.0210374058263441e-01 1.5238011936667630e+00 -8.2367846286676585e+00 8.3926705442060054e+00 2 0 0 -99 0 -P 185 -211 2.4005831721027357e-01 -3.1272585897954058e-01 -3.1418638717544294e+00 3.1695762858893386e+00 1 0 0 0 0 -P 186 111 -7.1801802285008720e-01 -1.5663690926018516e+00 -4.6475347856871210e+00 4.9585140112706885e+00 2 0 0 -100 0 -P 187 213 -8.7754060313250792e-01 1.0687002965254111e-01 -7.7721991707009082e+00 7.8598301364746987e+00 2 0 0 -101 0 -P 188 -213 -1.7607285674592426e+00 -2.1828765548774491e+00 -9.9325807070362337e+00 1.0374911328171784e+01 2 0 0 -102 0 -P 189 111 6.0732737211851184e-02 -1.4876097180116929e-01 -8.8365199189003499e-02 2.2769782811477235e-01 2 0 0 -103 0 -P 190 3322 -8.9819328650589736e-01 -1.4101551478664545e+00 -4.9514548113054522e+00 5.3889846427113186e+00 2 0 0 -104 0 -P 191 311 -9.8211331445284256e-01 -7.9298343389061809e-01 -1.4504485608208735e+00 1.9861635746679696e+00 2 0 0 -105 0 -P 192 -3212 -1.7421317431910346e+00 -8.2221491446806805e-01 -3.7329995940397152e+00 4.3667518646939678e+00 2 0 0 -106 0 -P 193 211 -1.4263310139354122e+00 -6.0848557736261411e-01 -2.6734691732657865e+00 3.0937989696285668e+00 1 0 0 0 0 -P 194 -211 -2.5524022272364206e+00 -5.2387494780839883e-01 -2.0619036105597894e+00 3.3256771302521524e+00 1 0 0 0 0 -P 195 211 -2.0644196153139507e-01 1.6631552161324753e-02 -9.1057393117718233e-01 9.4420313547863910e-01 1 0 0 0 0 -P 196 311 -9.4646039874614889e+00 -5.6457554838761190e+00 -1.0111196049899565e+01 1.4964532889856393e+01 2 0 0 -107 0 -V -21 0 0 0 0 0 2 1 0 -P 61 1 2.6048674114218304e+00 1.3071749066125802e+00 -4.9087263234386977e+00 5.7087331857413925e+00 2 0 0 -21 0 -P 62 -1 -2.6048674114218304e+00 -1.3071749066125802e+00 3.9636024064472406e+00 4.9197748428113490e+00 2 0 0 -21 0 -P 197 92 0 0 -9.4512391699145715e-01 1.0628508028552741e+01 2 0 0 -22 0 -V -22 0 0 0 0 0 0 7 0 -P 198 2112 8.8440371644850424e-01 7.2509545653771157e-01 -1.6825725857017333e+00 2.2409318699627123e+00 1 0 0 0 0 -P 199 111 1.2648914843620779e-01 -7.9047867519565176e-02 -4.6372272917197632e-01 5.0547644849410533e-01 2 0 0 -108 0 -P 200 -2112 7.9792227079239864e-01 4.2225813261826067e-01 -1.8859938515610912e+00 2.2923233789792832e+00 1 0 0 0 0 -P 201 313 -3.4282732844273572e-01 -3.3700984327477074e-01 4.3482101578220667e-01 1.2094706287093313e+00 2 0 0 -109 0 -P 202 -321 3.5673637654704443e-01 4.8759571964329723e-01 3.3223694327211195e-01 8.4795800287583600e-01 1 0 0 0 0 -P 203 321 -1.2446271985425277e+00 -6.2023897699434571e-01 1.2956105175346537e+00 1.9636804284509302e+00 1 0 0 0 0 -P 204 -313 -5.7809698523889164e-01 -5.9865262101058792e-01 1.0244967728543724e+00 1.5686672710805456e+00 2 0 0 -110 0 -V -23 0 0 0 0 0 0 1 0 -P 205 130 7.0071389671228546e-01 -5.7580058229065734e-01 -6.8836441564177575e-01 1.2426050350911262e+00 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 206 211 2.3601805446980989e-01 -2.6618733465545696e-01 -2.6116918438156855e-01 4.6287076699357904e-01 1 0 0 0 0 -P 207 111 2.6649022515117178e+00 -1.5231421757903791e+00 -8.8732310945740023e-01 3.1980037521492721e+00 2 0 0 -111 0 -V -25 0 5.6566919601848354e-03 -2.2814444155476094e-03 -4.8106729505785935e-03 1.0328232916324018e-02 0 3 0 -P 210 -2214 7.5977813013376927e-01 -1.0292071107408740e-01 -1.0394990117134257e+00 1.7454207711993177e+00 2 0 0 -114 0 -P 208 311 9.8128386922335242e-01 -7.1757193254617169e-01 -6.8412429949797804e-01 1.4810567161454691e+00 2 0 0 -112 0 -P 209 111 1.5789089989780553e-01 5.4611185360415225e-02 1.0867920409584220e-01 2.4071287385579151e-01 2 0 0 -113 0 -V -26 0 0 0 0 0 0 2 0 -P 211 431 -8.9544496400355400e-01 1.0812584738803073e+00 -7.5166320522356385e+00 7.8959287756155350e+00 2 0 0 -115 0 -P 212 22 -1.2934347935662455e-01 1.8056299939314888e-01 -1.1528577356542393e+00 1.1740586403837536e+00 1 0 0 0 0 -V -27 0 0 0 0 0 0 1 0 -P 213 130 1.5493234368667361e-01 -5.2903668164922500e-02 -2.2756098012880561e+00 2.3351398728649673e+00 1 0 0 0 0 -V -28 0 0 0 0 0 0 1 0 -P 214 310 -1.0479399410759047e+00 3.5508361290150353e-01 -1.2285977863989042e+00 1.7266703338789495e+00 2 0 0 -116 0 -V -29 0 0 0 0 0 0 2 0 -P 215 311 -6.3303113772774122e-01 -2.0717802444266725e-01 -3.2448067298090227e-01 8.9253251547659829e-01 2 0 0 -117 0 -P 216 211 -3.2133320191013570e-01 -8.8845493592173877e-02 -7.7314963448494112e-01 8.5345690610929803e-01 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 217 -311 2.9210454944064679e-01 -1.6108553023224306e-01 -1.5223884321452796e-01 6.1816317436209656e-01 2 0 0 -118 0 -P 218 111 1.6018610539930081e-01 2.4271751083915055e-01 -4.3737795180144273e-01 5.4230107094949964e-01 2 0 0 -119 0 -V -31 0 0 0 0 0 0 2 0 -P 219 -211 1.9395608964315619e-02 -2.0304028947714121e-03 5.1617951780191884e-01 5.3507138933158549e-01 1 0 0 0 0 -P 220 211 -2.6130105545298021e-01 -1.3189239271634661e-02 -2.4039842802187339e-01 3.8173732684765543e-01 1 0 0 0 0 -V -32 0 8.0482296730048227e-05 -1.6533279978182732e-04 9.9876545526457765e-05 2.1333955713841350e-04 0 2 0 -P 221 22 5.4686178191785839e-02 -5.8094679943429033e-02 2.1759714948860068e-03 7.9814189057458726e-02 1 0 0 0 0 -P 222 22 2.0679224809817040e-01 -4.7905401060734981e-01 3.2231230740117400e-01 6.1330335271768321e-01 1 0 0 0 0 -V -33 0 0 0 0 0 0 3 0 -P 223 -211 4.2801781509197134e-01 -1.0403622668171376e-01 -1.1956260927992245e-01 4.7728166624761242e-01 1 0 0 0 0 -P 224 211 3.2705663503245730e-01 -4.8246898921629483e-01 -1.9339384413010952e-01 6.2978038388121327e-01 1 0 0 0 0 -P 225 111 4.6015692466867701e-02 -2.0383276089091178e-02 1.0990311970840183e-01 1.8119386860202738e-01 2 0 0 -120 0 -V -34 0 0 0 0 0 0 2 0 -P 226 -211 -2.1866773818747592e-01 3.1579766966145423e-01 -1.3502781361186795e+00 1.4107709160837443e+00 1 0 0 0 0 -P 227 111 -1.7214071331345446e-01 -4.8264226777565866e-02 -6.7228410955527756e-02 2.3388270651355680e-01 2 0 0 -121 0 -V -35 0 0 0 0 0 0 2 0 -P 228 211 -3.9269766283052082e-01 -1.2163004153164388e-01 -1.0675916516465207e+00 1.1524916663303422e+00 1 0 0 0 0 -P 229 111 -3.1703515942667282e-01 4.6263260948433826e-01 -3.4987204494063704e+00 3.5459560921090518e+00 2 0 0 -122 0 -V -36 0 0 0 0 0 0 2 0 -P 230 -211 -2.5667807075318744e-01 -1.0146763652409606e-01 -7.0052877713175954e-01 7.6576737052259081e-01 1 0 0 0 0 -P 231 211 2.5100062397212689e-02 -4.5049125374518711e-01 -4.9833364175074433e+00 5.0056661912066387e+00 1 0 0 0 0 -V -37 0 -2.1056308062828918e-04 1.7930210471794663e-04 -2.1925084410489518e-03 2.2107432955447886e-03 0 2 0 -P 232 22 -2.3018986810834105e-01 2.7063917719313463e-01 -3.0344545295281806e+00 3.0551836657369069e+00 1 0 0 0 0 -P 233 22 -2.3047286774980685e-01 1.2163186034124118e-01 -1.7622407592754459e+00 1.7814052166395471e+00 1 0 0 0 0 -V -38 0 0 0 0 0 0 1 0 -P 234 310 2.7517509894565889e-01 -1.1487381757051843e-01 -2.1239959178119161e+00 2.2018063985792806e+00 2 0 0 -123 0 -V -39 0 0 0 0 0 0 2 0 -P 235 -321 -2.9230515250873707e-01 6.8174647361061602e-02 -1.5259649802190853e+00 1.6316556516560088e+00 1 0 0 0 0 -P 236 111 -4.1140648547337716e-01 -2.6823730180912397e-01 -2.6724082079295770e+00 2.7205131458202456e+00 2 0 0 -124 0 -V -40 0 -4.3948076794121348e-05 1.6065449346688851e-04 -6.1057488976406712e-04 6.3374495564102974e-04 0 2 0 -P 237 22 -2.3452133138899382e-02 1.5314581901608029e-01 -3.8829621787147561e-01 4.1806410662022048e-01 1 0 0 0 0 -P 238 22 -1.5625329294792351e-01 5.0377676570762064e-01 -2.1083686814135736e+00 2.1733441094289487e+00 1 0 0 0 0 -V -41 0 0 0 0 0 0 2 0 -P 239 -211 -1.5863681543682859e-01 3.1354292411407046e-02 -6.1213933937085041e-01 6.4833871284224542e-01 1 0 0 0 0 -P 240 111 -2.1813350257864123e-01 -2.5306866209122109e-01 -7.2407392074981836e+00 7.2496999830393873e+00 2 0 0 -125 0 -V -42 0 3.5910695792528850e-04 9.3673956898613795e-05 -4.6650550741745643e-02 4.6652085085306563e-02 0 2 0 -P 241 22 3.4522379636973621e-01 1.5547952859967618e-01 -4.9535364031978155e+01 4.9536810990757047e+01 1 0 0 0 0 -P 242 22 3.1283714292142595e-01 1.6177329345823128e-02 -3.5951437496245113e+01 3.5952802211098856e+01 1 0 0 0 0 -V -43 0 0 0 0 0 0 2 0 -P 243 311 -3.9600823279035513e-01 8.5430585125442424e-02 -3.6195759503890365e+01 3.6201447517988591e+01 2 0 0 -126 0 -P 244 211 -8.8322010909638760e-02 -2.3230389018430980e-01 -4.7761957316121880e+01 4.7762807835458695e+01 1 0 0 0 0 -V -44 0 0 0 0 0 0 3 0 -P 245 111 5.2116772754951829e-02 1.2637830758610888e-01 -7.9018190793191891e+01 7.9018424329167104e+01 2 0 0 -127 0 -P 246 111 -5.2246677240471596e-03 -1.4230926848259157e-01 -7.6470870445203118e+01 7.6471122166949328e+01 2 0 0 -128 0 -P 247 221 3.1118378890592058e-01 -1.3630984864950577e-01 -2.8432103404018636e+02 2.8432176405422894e+02 2 0 0 -129 0 -V -45 0 0 0 0 0 0 2 0 -P 248 -311 -5.5517974597127173e-01 -1.4786398120312963e-01 -3.9774196700709734e+02 3.9774269331115448e+02 2 0 0 -130 0 -P 249 111 7.1429956195406319e-02 1.1262397425854469e-01 -2.4149855125190902e+02 2.4149862579892570e+02 2 0 0 -131 0 -V -46 0 0 0 0 0 0 2 0 -P 250 2112 2.2151623266281140e-01 2.2948599839512826e-01 -1.1254541776645710e+03 1.1254546150545946e+03 1 0 0 0 0 -P 251 111 3.3522844139410250e-02 2.0556422059052964e-01 -7.8301754502786298e+02 7.8301758436288753e+02 2 0 0 -132 0 -V -47 0 0 0 0 0 0 3 0 -P 252 -211 -5.8614752007926270e-02 -3.3655372812363318e-02 -8.2483134952050921e+02 8.2483136409813051e+02 1 0 0 0 0 -P 253 211 -1.0931233412869321e-01 5.8050394161407254e-02 -2.2407062653002762e+02 2.2407070418146742e+02 1 0 0 0 0 -P 254 111 8.5648550805267079e-02 -1.7810518048657847e-01 -1.6434057182756410e+02 1.6434074608976536e+02 2 0 0 -133 0 -V -48 0 0 0 0 0 0 2 0 -P 255 -211 -1.9543881906526395e-01 2.2757020818337852e-02 -2.9277793211329066e+02 2.9277803149576221e+02 1 0 0 0 0 -P 256 111 4.5496572858580364e-01 1.4838294526426893e-01 -2.6649909534793096e+02 2.6649955919696873e+02 2 0 0 -134 0 -V -49 0 0 0 0 0 0 2 0 -P 257 22 -1.4711751798151942e-01 -5.6259697251430631e-02 -9.8098834067931008e+01 9.8098960515415683e+01 1 0 0 0 0 -P 258 111 -4.9286609976579326e-01 8.2167204288579737e-02 -3.6771637985725704e+01 3.6775280395877665e+01 2 0 0 -135 0 -V -50 0 0 0 0 0 0 2 0 -P 259 -211 -2.3197224114737774e-01 2.0693030568941703e-01 -3.8896053948983713e+01 3.8897546501794004e+01 1 0 0 0 0 -P 260 111 1.0357375259596519e-01 -4.1258376884160269e-01 -3.6822266804582732e+01 3.6824971216781876e+01 2 0 0 -136 0 -V -51 0 0 0 0 0 0 2 0 -P 261 311 -1.6443516368771718e-01 3.8717781180786159e-01 -4.8340509295770076e+01 4.8344901075339337e+01 2 0 0 -137 0 -P 262 211 1.4456308089166173e-01 -1.1923682482498356e-01 -1.9767890695868459e+01 1.9769271566080882e+01 1 0 0 0 0 -V -52 0 0 0 0 0 0 2 0 -P 263 -211 1.8683106059886168e-01 -2.5164614323774132e-01 -5.7120358611063180e+00 5.7223303898040978e+00 1 0 0 0 0 -P 264 111 5.9359015453132734e-02 -3.5269859385229346e-01 -5.2306540289773871e+01 5.2307937222537824e+01 2 0 0 -138 0 -V -53 0 0 0 0 0 0 2 0 -P 265 321 -2.7060017363760236e-01 -2.0970188485683577e-01 -9.6242418100430420e+00 9.6429700151284194e+00 1 0 0 0 0 -P 266 111 1.7121583094049395e-01 -3.2406303517067925e-01 -1.1157425407826961e+01 1.1164259628078851e+01 2 0 0 -139 0 -V -54 0 0 0 0 0 0 2 0 -P 267 -321 -4.0442913609014586e-01 -1.6147687955186629e-02 -1.3223821966351727e+01 1.3239219464595010e+01 1 0 0 0 0 -P 268 111 1.2461278822945901e-01 3.3466457865971788e-01 -1.0255848812896222e+01 1.0262951973023387e+01 2 0 0 -140 0 -V -55 0 0 0 0 0 0 2 0 -P 269 211 1.4409689320731370e-01 5.6493751537046411e-01 -3.2584013389051369e+00 3.3130918159905778e+00 1 0 0 0 0 -P 270 111 -1.4346561340253111e-01 3.0620444051767443e-01 -5.4173952238189038e-01 6.5272111359466933e-01 2 0 0 -141 0 -V -56 0 0 0 0 0 0 3 0 -P 271 -211 -1.1482207741060419e-02 -1.8312117192440214e-01 -6.4775573213280524e-01 6.8755543639220962e-01 1 0 0 0 0 -P 272 211 5.9785090683486621e-02 -1.8030085794299547e-01 -1.0356062916028855e-01 2.5746309493806629e-01 1 0 0 0 0 -P 273 111 6.9407967703243298e-02 1.8135039476984641e-01 -2.2897781125613634e-01 3.2917452834556382e-01 2 0 0 -142 0 -V -57 0 0 0 0 0 0 2 0 -P 274 -211 -4.3837163049861572e-01 2.9152299187613313e-02 -2.8462395439024579e-01 5.4176574576719017e-01 1 0 0 0 0 -P 275 211 1.6238597675872291e-01 3.5045427364307591e-01 -2.1453629200455779e-01 4.6334976945029910e-01 1 0 0 0 0 -V -58 0 0 0 0 0 0 2 0 -P 276 -211 2.0464411704977142e-01 2.3284289266599723e-01 -4.3412562821404987e-01 5.5139810779544129e-01 1 0 0 0 0 -P 277 111 1.7384618945869995e-01 -2.2906445694892602e-01 3.4351937443349062e-01 4.6788693510055751e-01 2 0 0 -143 0 -V -59 0 0 0 0 0 0 2 0 -P 278 213 4.3992394891943581e-01 2.2880560970011726e-01 1.0362837885132530e+00 1.4104866020206339e+00 2 0 0 -144 0 -P 279 -211 3.0681245317011434e-02 -9.2785550344249429e-02 1.4467368603156844e-01 2.2351903162113226e-01 1 0 0 0 0 -V -60 0 0 0 0 0 0 2 0 -P 280 -311 8.9352434965555338e-01 -6.9110102864767708e-01 1.3634045967932928e+00 1.8391720742449138e+00 2 0 0 -145 0 -P 281 -211 5.6647411898707156e-01 -4.8869691139755277e-02 1.2180527593897912e+00 1.3514486611600747e+00 1 0 0 0 0 -V -61 0 0 0 0 0 0 2 0 -P 282 211 3.3902061508967224e-01 -3.9965183653292830e-01 1.1898441795454691e+00 1.3076182640197989e+00 1 0 0 0 0 -P 283 111 1.3052456300222421e+00 -7.8115318420007707e-01 1.8715126470489638e+00 2.4155011157816300e+00 2 0 0 -146 0 -V -62 0 0 0 0 0 0 2 0 -P 284 211 1.4070112479551919e-01 -1.0793828470377013e-02 3.5863792581214382e-01 4.0989542566685100e-01 1 0 0 0 0 -P 285 -211 1.9298980497479277e+00 -2.1173709670199026e+00 5.4886366910921414e+00 6.1929297433527006e+00 1 0 0 0 0 -V -63 0 0 0 0 0 0 2 0 -P 286 211 6.1961341303921946e-01 -3.1792097930846813e-01 1.0711169548656323e+00 1.2852104289194011e+00 1 0 0 0 0 -P 287 111 1.0786305410186852e+00 -1.7407558071848346e+00 4.4223555485988415e+00 4.8753587378662653e+00 2 0 0 -147 0 -V -64 0 0 0 0 0 0 2 0 -P 288 211 1.0422416969481501e+00 -1.3006721691053791e+00 1.6880434592323161e+00 2.3763388545196276e+00 1 0 0 0 0 -P 289 -211 1.8996147715411444e+00 -1.8005444514622688e+00 4.2213455750106634e+00 4.9688766185638968e+00 1 0 0 0 0 -V -65 0 0 0 0 0 0 2 0 -P 290 321 4.0566606545034806e-01 -6.9985854291668093e-01 1.6213274746742699e+00 1.8779538537687956e+00 1 0 0 0 0 -P 291 -211 3.1541098797646633e-01 -1.2938587588144628e+00 3.0596643542673432e+00 3.3398473505193902e+00 1 0 0 0 0 -V -66 0 0 0 0 0 0 2 0 -P 292 -311 2.5175435783133765e-01 2.1313109775713732e-01 6.3817070071050166e+00 6.4095760292667956e+00 2 0 0 -148 0 -P 293 111 2.7600478909195956e-02 -2.9500235341042041e-01 5.3366817197150453e+00 5.3466044881676478e+00 2 0 0 -149 0 -V -67 0 0 0 0 0 0 2 0 -P 294 -211 2.7565212559822333e-01 1.2963583969597678e-01 3.5266895443427737e+00 3.5425708845917452e+00 1 0 0 0 0 -P 295 211 -3.5836080004238641e-01 2.1559117239341402e-01 2.5939841337981151e+00 2.6311851869295220e+00 1 0 0 0 0 -V -68 0 0 0 0 0 0 1 0 -P 296 310 2.4695926864221421e-01 4.1868501205522318e-01 1.8281949053007391e+01 1.8295180311364678e+01 2 0 0 -150 0 -V -69 0 0 0 0 0 0 1 0 -P 297 310 2.9376002073213692e-01 5.4077841199444876e-01 2.3165952234661379e+01 2.3179468384934378e+01 2 0 0 -151 0 -V -70 0 0 0 0 0 0 3 0 -P 298 111 -7.3014847317132536e-02 3.6666985674012392e-01 2.2327277065206818e+01 2.2330815003010546e+01 2 0 0 -152 0 -P 299 111 -6.8709360746503190e-02 2.8337710712952435e-01 1.3589332359602992e+01 1.3593130512919101e+01 2 0 0 -153 0 -P 300 111 -5.8255209471673002e-02 3.6797523313229671e-04 7.8563483379036310e+00 7.8577237551162042e+00 2 0 0 -154 0 -V -71 0 0 0 0 0 0 2 0 -P 301 2212 1.0317604671954461e+00 2.0632794933723184e-01 5.2326524268660144e+01 5.2345511684536277e+01 1 0 0 0 0 -P 302 211 1.4692461191261935e-01 1.1989080247045376e-01 1.5123711862160690e+01 1.5125544648727947e+01 1 0 0 0 0 -V -72 0 0 0 0 0 0 2 0 -P 303 -211 -3.2198747189268129e-01 -9.6850833808676623e-02 4.6988507635577655e+01 4.6989917914587856e+01 1 0 0 0 0 -P 304 111 -2.7873164949551793e-01 -8.2638242188484548e-02 7.1702453720709034e+00 7.1774061267011149e+00 2 0 0 -155 0 -V -73 0 0 0 0 0 0 2 0 -P 305 -2212 2.5338377157655873e-01 -6.0579834534973953e-01 1.4196072898296641e+03 1.4196077517691594e+03 1 0 0 0 0 -P 306 111 2.3416759166387574e-01 2.9532218771703617e-02 1.6610797461973073e+02 1.6610819714415794e+02 2 0 0 -156 0 -V -74 0 0 0 0 0 0 2 0 -P 307 -211 5.8030238191292306e-02 2.4649524600033157e-01 4.1657029500783335e+02 4.1657039535967152e+02 1 0 0 0 0 -P 308 211 -4.7179331260214574e-01 -3.3273969337000420e-01 1.0192483723750648e+03 1.0192485454361155e+03 1 0 0 0 0 -V -75 0 0 0 0 0 0 2 0 -P 309 2212 -2.6758753905159788e-01 -2.7884430113976838e-01 2.3144541620770879e+03 2.3144543845286262e+03 1 0 0 0 0 -P 310 211 2.2815662682757848e-01 -2.6928563661664261e-02 1.0051037300159285e+03 1.0051037659626548e+03 1 0 0 0 0 -V -76 0 0 0 0 0 0 2 0 -P 311 -321 -4.5347624236370176e+00 1.1907450897810774e+00 1.0993094460568804e+01 1.1961342353041172e+01 1 0 0 0 0 -P 312 211 -3.7209029891736556e+00 1.5220631875289932e+00 9.4377232787534950e+00 1.0259234663116835e+01 1 0 0 0 0 -V -77 0 0 0 0 0 0 2 0 -P 313 311 -3.5596336877401362e+00 8.8923992828974985e-01 8.7633501659252779e+00 9.5134494900893749e+00 2 0 0 -157 0 -P 314 211 -3.4944866593546617e+00 8.7788614127547804e-01 8.4904996449162073e+00 9.2244341341175780e+00 1 0 0 0 0 -V -78 0 0 0 0 0 0 2 0 -P 315 -211 -4.7673302181934996e-02 1.6089739047097859e-01 1.2551797364767447e+00 1.2740159613455126e+00 1 0 0 0 0 -P 316 211 -7.6805537606505728e-02 9.1776230273459644e-02 2.7290467811597724e-01 3.2905731307451080e-01 1 0 0 0 0 -V -79 0 9.0412383846874141e-05 2.9827273200513847e-06 3.8488010315316091e-04 3.9546202597281295e-04 0 2 0 -P 317 22 1.3001177241993309e+00 7.6588306497609115e-02 5.4468358006212130e+00 5.6003742825277634e+00 1 0 0 0 0 -P 318 22 1.1640677187514868e-01 -2.9856806517261601e-02 5.8322414217913543e-01 5.9547658682301741e-01 1 0 0 0 0 -V -80 0 0 0 0 0 0 2 0 -P 319 -211 1.2815868877039274e+00 5.8886373999562425e-01 8.6631621951294644e+00 8.7783303913122701e+00 1 0 0 0 0 -P 320 211 5.3693988632829892e-01 4.9357797188294417e-01 2.7670560188673816e+00 2.8649611606980869e+00 1 0 0 0 0 -V -81 0 0 0 0 0 0 2 0 -P 321 211 1.2611864020975216e-01 1.2389612141421584e-01 1.5268330665860421e+00 1.5433584024556255e+00 1 0 0 0 0 -P 322 111 1.3774964266230527e+00 2.3042017249713853e-01 6.9719171579236301e+00 7.1117113494996964e+00 2 0 0 -158 0 -V -82 0 0 0 0 0 0 2 0 -P 323 22 3.8757047271998544e+00 1.0974957903932110e+00 2.5137272071142927e+01 2.5457965969830195e+01 1 0 0 0 0 -P 324 111 7.6480365263055428e-01 5.6549345963268216e-01 5.5303297068260200e+00 5.6131518549355803e+00 2 0 0 -159 0 -V -83 0 0 0 0 0 0 2 0 -P 325 -211 3.8588647504390106e+00 1.3164304993742422e+00 2.6975321409456164e+01 2.7282068677983851e+01 1 0 0 0 0 -P 326 111 1.3814159463609341e-01 1.5224944402949425e-01 1.3575896401481926e+00 1.3796855528755789e+00 2 0 0 -160 0 -V -84 0 0 0 0 0 0 2 0 -P 327 211 4.4402643587743125e+00 1.2312481262739294e+00 2.3969983537631109e+01 2.4409250502697965e+01 1 0 0 0 0 -P 328 -211 4.9177559628960754e+00 1.9209371235558570e+00 3.0908055846156746e+01 3.1356047568488268e+01 1 0 0 0 0 -V -85 0 0 0 0 0 0 2 0 -P 329 22 2.3023456618513665e+00 4.3664135995883580e-01 1.3453062152332874e+01 1.3655633727454896e+01 1 0 0 0 0 -P 330 22 5.8319108406716824e-01 2.5998213749120752e-01 2.4833213834801269e+00 2.5640958730124712e+00 1 0 0 0 0 -V -86 0 0 0 0 0 0 2 0 -P 331 -321 3.8129236036372465e+00 2.3916504287804465e+00 9.7796113830415905e+00 1.0776957731381170e+01 1 0 0 0 0 -P 332 211 4.3871570358615983e+00 3.0086902262651471e+00 1.2397932613841485e+01 1.3491759581951781e+01 1 0 0 0 0 -V -87 0 0 0 0 0 0 2 0 -P 333 3122 1.1609162906290964e+00 -1.4066122912385346e-02 3.5008612023205194e+00 3.8534005125310915e+00 2 0 0 -161 0 -P 334 111 -4.0838506149200336e-02 5.5177303624111697e-02 2.2512846801554973e-01 2.7132037507484408e-01 2 0 0 -162 0 -V -88 0 1.0975634495181953e+02 1.3430806656920803e+01 2.4783845861744948e+02 3.5131081000941208e+02 0 2 0 -P 335 -2212 4.3598416274050478e-01 5.6969389177054186e-02 1.1732545494018880e+00 1.5653129182549963e+00 1 0 0 0 0 -P 336 211 1.1291406118563700e-01 1.0198900028598853e-02 6.6200807966546288e-02 1.9161402519296616e-01 1 0 0 0 0 -V -89 0 0 0 0 0 0 2 0 -P 337 211 2.1870704015585739e-02 -4.7659285060522572e-01 4.7808091053954144e-01 6.8968124149092913e-01 1 0 0 0 0 -P 338 111 -2.6692130361395883e-01 2.8247638498948274e-01 1.3711111945500606e-02 4.1163999488689595e-01 2 0 0 -163 0 -V -90 0 8.5034176885997429e-06 -6.7497812436783921e-06 -9.5502217000439534e-06 1.7926682700109905e-05 0 2 0 -P 339 22 1.8935384391547218e-02 -1.1026659860805992e-02 2.9922270718085193e-02 3.7087441198712261e-02 1 0 0 0 0 -P 340 22 8.9379809260152335e-02 -7.4950989278527919e-02 -1.5157148880174542e-01 1.9125981625733321e-01 1 0 0 0 0 -V -91 0 -2.6421968631437817e+01 -5.1562678965288278e+01 -3.9896866896154776e+01 1.8744987313214875e+02 0 2 0 -P 341 -2212 -7.3950672556528596e-02 -2.6360618044473205e-01 -2.8746064573095914e-01 1.0187939615468300e+00 1 0 0 0 0 -P 342 211 -9.5710096102158526e-02 -6.7488139943758838e-02 3.1274848257071206e-02 1.8485933182410788e-01 1 0 0 0 0 -V -92 0 0 0 0 0 0 2 0 -P 343 -311 1.1140884226725156e+00 1.6365689466410080e-01 -1.4262615386176185e+00 1.8841109304241952e+00 2 0 0 -164 0 -P 344 -211 7.3708063476785890e-01 -8.6107444359986976e-02 -3.5085329035071899e-01 8.3263447584995176e-01 1 0 0 0 0 -V -93 0 0 0 0 0 0 2 0 -P 345 22 -5.7123332739010456e-02 -3.3479252640843915e-01 -2.7213051787595932e-01 4.3520584743497520e-01 1 0 0 0 0 -P 346 22 1.7083633293661915e-01 -6.5795912271685339e-02 -9.4736965871340673e-01 9.6489555132856297e-01 1 0 0 0 0 -V -94 0 0 0 0 0 0 2 0 -P 347 -3212 1.9971148756783932e+00 8.2087761602473608e-02 -2.6812799831652443e+00 3.5505836249669493e+00 2 0 0 -165 0 -P 348 211 4.2728076719684455e-01 5.6535142741856115e-02 -7.9829192528761195e-01 9.1788608185360798e-01 1 0 0 0 0 -V -95 0 0 0 0 0 0 2 0 -P 349 211 6.1625006614860123e-01 3.3726744154614779e-01 -3.8762194687017835e+00 3.9418359460533079e+00 1 0 0 0 0 -P 350 -211 5.2672204566684544e-01 1.6666969663619966e+00 -1.4316452561049747e+01 1.4423439555416719e+01 1 0 0 0 0 -V -96 0 0 0 0 0 0 2 0 -P 351 211 -2.6966608895498762e-01 -6.5970053751465196e-02 -3.2902343026367840e+00 3.3048741880247143e+00 1 0 0 0 0 -P 352 -211 -1.0983855673091272e-01 7.6080732621216451e-01 -8.1057023413813170e+00 8.1432660848174052e+00 1 0 0 0 0 -V -97 0 0 0 0 0 0 3 0 -P 353 -211 -9.5798582554692188e-02 6.9395665012517205e-02 -2.6561900193963992e+00 2.6624834892977387e+00 1 0 0 0 0 -P 354 211 -1.0201638753756302e-01 7.8384892820417440e-02 -1.4266697985266141e+00 1.4392421733942666e+00 1 0 0 0 0 -P 355 111 -2.2760644876592431e-01 4.5203798359883485e-01 -5.3624791339187565e+00 5.3880001017306958e+00 2 0 0 -166 0 -V -98 0 -3.9923320403745477e-04 -4.9026487318803503e-04 -9.7674999660659484e-03 9.7893532142676720e-03 0 2 0 -P 356 22 -1.4843256441632337e-02 -9.8178167278801382e-02 -1.6499349459668522e+00 1.6529200224798102e+00 1 0 0 0 0 -P 357 22 -3.0932795275517122e-01 -2.9990935440231759e-01 -6.2811245020150359e+00 6.2958839262670150e+00 1 0 0 0 0 -V -99 0 -1.7845130097297728e-05 5.4156996543876026e-05 -2.9274128312893144e-04 2.9828158131490031e-04 0 2 0 -P 358 22 -4.1125557872182977e-01 1.3713585033970590e+00 -7.2366302516774024e+00 7.3768945156726886e+00 1 0 0 0 0 -P 359 22 -9.0848161860804577e-02 1.5244269026970386e-01 -1.0001543769902554e+00 1.0157760285333168e+00 1 0 0 0 0 -V -100 0 -1.7464889567159729e-05 -3.8099967344991282e-05 -1.1304546572434142e-04 1.2060964609259914e-04 0 2 0 -P 360 22 -3.0645574781966489e-01 -8.1589910932750886e-01 -2.2644604052437702e+00 2.4263939104955554e+00 1 0 0 0 0 -P 361 22 -4.1156227503042225e-01 -7.5046998327434278e-01 -2.3830743804433507e+00 2.5321201007751331e+00 1 0 0 0 0 -V -101 0 0 0 0 0 0 2 0 -P 362 211 -3.5384588913819282e-01 -2.4715825133371802e-01 -4.6086448568373415e+00 4.6309158182605330e+00 1 0 0 0 0 -P 363 111 -5.2369471399431522e-01 3.5402828098625916e-01 -3.1635543138635680e+00 3.2289143182141680e+00 2 0 0 -167 0 -V -102 0 0 0 0 0 0 2 0 -P 364 -211 -1.7431049169384474e+00 -1.7742747005688735e+00 -7.4560336745052949e+00 7.8611947822701023e+00 1 0 0 0 0 -P 365 111 -1.7623650520795352e-02 -4.0860185430857604e-01 -2.4765470325309402e+00 2.5137165459016839e+00 2 0 0 -168 0 -V -103 0 3.7599471820826971e-07 -9.2097511557332473e-07 -5.4706653600331399e-07 1.4096710382080819e-06 0 2 0 -P 366 22 -9.0039096884929875e-03 -2.1160661174125472e-02 3.1671981710379361e-02 3.9140240117649924e-02 1 0 0 0 0 -P 367 22 6.9736646900344174e-02 -1.2760031062704383e-01 -1.2003718089938287e-01 1.8855758799712244e-01 1 0 0 0 0 -V -104 0 -3.8731844410967580e+02 -6.0808637297836094e+02 -2.1351637808991841e+03 2.3238351683362093e+03 0 2 0 -P 368 3122 -8.6514155217381961e-01 -1.3957847305443358e+00 -4.6801671989749298e+00 5.0838363262480524e+00 2 0 0 -169 0 -P 369 111 -3.3051734332077809e-02 -1.4370417322118634e-02 -2.7128761233052251e-01 3.0514831646326673e-01 2 0 0 -170 0 -V -105 0 0 0 0 0 0 1 0 -P 370 130 -9.8211331445284256e-01 -7.9298343389061809e-01 -1.4504485608208735e+00 1.9861635746679696e+00 1 0 0 0 0 -V -106 0 0 0 0 0 0 2 0 -P 371 -3122 -1.6814953787803824e+00 -7.7260118861255445e-01 -3.6931903303234876e+00 4.2788708772175195e+00 2 0 0 -171 0 -P 372 22 -6.0636364410652108e-02 -4.9613725855513595e-02 -3.9809263716227318e-02 8.7880987476447889e-02 1 0 0 0 0 -V -107 0 0 0 0 0 0 1 0 -P 373 130 -9.4646039874614889e+00 -5.6457554838761190e+00 -1.0111196049899565e+01 1.4964532889856393e+01 1 0 0 0 0 -V -108 0 6.1241494302732311e-06 -3.8272133129143903e-06 -2.2451785965620250e-05 2.4473350815725669e-05 0 2 0 -P 374 22 9.7949275500252477e-03 -8.2164757971790112e-02 -1.6085439852995365e-01 1.8088981614426572e-01 1 0 0 0 0 -P 375 22 1.1669422088618255e-01 3.1168904522249487e-03 -3.0286833064202273e-01 3.2458663234983964e-01 1 0 0 0 0 -V -109 0 0 0 0 0 0 2 0 -P 376 321 -3.1631630540514204e-02 -2.4636611909620174e-01 6.0355908816096149e-01 8.1830395183627624e-01 1 0 0 0 0 -P 377 -211 -3.1119569790222151e-01 -9.0643724178569043e-02 -1.6873807237875477e-01 3.9116667687305512e-01 1 0 0 0 0 -V -110 0 0 0 0 0 0 2 0 -P 378 -321 -5.0002061820812771e-01 -6.6876333827903711e-01 9.9856599175467453e-01 1.3921350585156445e+00 1 0 0 0 0 -P 379 211 -7.8076367030763885e-02 7.0110717268449307e-02 2.5930781099697733e-02 1.7653221256490112e-01 1 0 0 0 0 -V -111 0 5.7242773048955394e-05 -3.2717478414302510e-05 -1.9059924373192351e-05 6.8693927850502852e-05 0 2 0 -P 380 22 1.7977262661769522e+00 -9.7971204743102736e-01 -6.4165230874684842e-01 2.1455472750103133e+00 1 0 0 0 0 -P 381 22 8.6717598533476581e-01 -5.4343012835935178e-01 -2.4567080071055178e-01 1.0524564771389584e+00 1 0 0 0 0 -V -112 0 5.6566919601848354e-03 -2.2814444155476094e-03 -4.8106729505785935e-03 1.0328232916324018e-02 0 1 0 -P 382 130 9.8128386922335242e-01 -7.1757193254617169e-01 -6.8412429949797804e-01 1.4810567161454691e+00 1 0 0 0 0 -V -113 0 5.6927899618635560e-03 -2.2689588659554980e-03 -4.7858260335337677e-03 1.0383266193923678e-02 0 2 0 -P 383 22 1.0727648575389558e-01 4.4401346708756603e-02 -4.6291163569520894e-03 1.1619446072641836e-01 1 0 0 0 0 -P 384 22 5.0614414143909950e-02 1.0209838651658623e-02 1.1330832045279429e-01 1.2451841312937319e-01 1 0 0 0 0 -V -114 0 5.6566919601848354e-03 -2.2814444155476094e-03 -4.8106729505785935e-03 1.0328232916324018e-02 0 2 0 -P 385 -2212 7.7903213016385631e-01 -1.3109001191938108e-01 -1.0369975033227592e+00 1.6061724894451079e+00 1 0 0 0 0 -P 386 111 -1.9254000030087138e-02 2.8169300845293684e-02 -2.5015083906664392e-03 1.3924828175420992e-01 2 0 0 -172 0 -V -115 0 -2.5371547209646385e-02 3.0636389190498072e-02 -2.1297633314969514e-01 2.2372333057617133e-01 0 3 0 -P 387 -11 -2.7872666759670595e-01 4.0869513283640058e-01 -7.5930543668767891e-01 9.0623687472823267e-01 1 0 0 0 0 -P 388 12 2.1061848626626939e-01 -1.0932717228124468e-01 -5.7973006096139035e-01 6.2641800815302651e-01 1 0 0 0 0 -P 389 333 -8.2733678267311739e-01 7.8189051332515147e-01 -6.1775965545865690e+00 6.3632738927342753e+00 2 0 0 -173 0 -V -116 0 -1.6652958063643953e+02 5.6426826413973046e+01 -1.9523816787611872e+02 2.7438756299624157e+02 0 2 0 -P 390 111 -5.5063191197028871e-01 1.7973867556858722e-03 -7.4723439495187260e-01 9.3796459127106524e-01 2 0 0 -174 0 -P 391 111 -4.9730802910561589e-01 3.5328622614581767e-01 -4.8136339144703161e-01 7.8870574260788417e-01 2 0 0 -175 0 -V -117 0 0 0 0 0 0 1 0 -P 392 130 -6.3303113772774122e-01 -2.0717802444266725e-01 -3.2448067298090227e-01 8.9253251547659829e-01 1 0 0 0 0 -V -118 0 0 0 0 0 0 1 0 -P 393 310 2.9210454944064679e-01 -1.6108553023224306e-01 -1.5223884321452796e-01 6.1816317436209656e-01 2 0 0 -176 0 -V -119 0 3.0128146157781292e-05 4.5650829848109356e-05 -8.2262982954840020e-05 1.0199714816937651e-04 0 2 0 -P 394 22 1.7327331324276590e-01 2.5107595073573147e-01 -4.1746127939969052e-01 5.1704612358860558e-01 1 0 0 0 0 -P 395 22 -1.3087207843465083e-02 -8.3584398965809228e-03 -1.9916672401752208e-02 2.5254947360894051e-02 1 0 0 0 0 -V -120 0 1.0816420442246132e-06 -4.7912803730757445e-07 2.5833759896941966e-06 4.2591319597499850e-06 0 2 0 -P 396 22 -3.7013800308679519e-02 2.0425699872580520e-02 6.6978992311673077e-02 7.9204899088772901e-02 1 0 0 0 0 -P 397 22 8.3029492775547220e-02 -4.0808975961671698e-02 4.2924127396728746e-02 1.0198896951325444e-01 1 0 0 0 0 -V -121 0 -8.0635541185482363e-05 -2.2608318341409421e-05 -3.1491674433623302e-05 1.0955722356805153e-04 0 2 0 -P 398 22 6.1605732605138725e-03 2.0252052130026385e-02 1.4978030975011219e-02 2.5931442116933264e-02 1 0 0 0 0 -P 399 22 -1.7830128657396835e-01 -6.8516278907592251e-02 -8.2206441930538970e-02 2.0795126439662356e-01 1 0 0 0 0 -V -122 0 -1.1689491264961073e-04 1.7057855214648910e-04 -1.2900229175160562e-03 1.3074393023033567e-03 0 2 0 -P 400 22 -1.0971836549544467e-01 2.1286683469193721e-01 -1.1299214575560315e+00 1.1550207397637076e+00 1 0 0 0 0 -P 401 22 -2.0731679393122815e-01 2.4976577479240111e-01 -2.3687989918503392e+00 2.3909353523453438e+00 1 0 0 0 0 -V -123 0 8.7532349491237973e+00 -3.6541006746257270e+00 -6.7563654454282670e+01 7.0038781826892503e+01 0 2 0 -P 402 -211 1.3178166664474288e-02 1.0972312838034502e-01 -3.9607722339418833e-01 4.3424622136508695e-01 1 0 0 0 0 -P 403 211 2.6199693228118459e-01 -2.2459694595086344e-01 -1.7279186944177274e+00 1.7675601772141933e+00 1 0 0 0 0 -V -124 0 -5.1006948095061883e-05 -3.3256564039807341e-05 -3.3133018453473608e-04 3.3729432500588654e-04 0 2 0 -P 404 22 -1.2481427652994612e-01 -4.0398131487697303e-02 -9.9515989211106448e-01 1.0037698060411546e+00 1 0 0 0 0 -P 405 22 -2.8659220894343101e-01 -2.2783917032142667e-01 -1.6772483158185125e+00 1.7167433397790914e+00 1 0 0 0 0 -V -125 0 -6.6771289255523520e-05 -7.7465041537621302e-05 -2.2164109883733708e-03 2.2191539074048012e-03 0 2 0 -P 406 22 -1.9030878728761155e-01 -1.4045162333880731e-01 -5.5124814429757212e+00 5.5175534208713453e+00 1 0 0 0 0 -P 407 22 -2.7824715291029679e-02 -1.1261703875241377e-01 -1.7282577645224619e+00 1.7321465621680421e+00 1 0 0 0 0 -V -126 0 0 0 0 0 0 1 0 -P 408 130 -3.9600823279035513e-01 8.5430585125442424e-02 -3.6195759503890365e+01 3.6201447517988591e+01 1 0 0 0 0 -V -127 0 2.2759620483605243e-07 5.5189954518948540e-07 -3.4507586304512335e-04 3.4507688290684615e-04 0 2 0 -P 409 22 3.0856412353213424e-02 5.9777091246928050e-03 -3.6768297434222319e+00 3.6769640756069517e+00 1 0 0 0 0 -P 410 22 2.1260360401738412e-02 1.2040059846141607e-01 -7.5341361049769660e+01 7.5341460253560143e+01 1 0 0 0 0 -V -128 0 -1.4546449214941991e-06 -3.9621554061126310e-05 -2.1290916324375901e-02 2.1290986408404031e-02 0 2 0 -P 411 22 3.8619005530965513e-02 5.6053830183775341e-03 -2.1420869175201346e+01 2.1420904721066243e+01 1 0 0 0 0 -P 412 22 -4.3843673255012677e-02 -1.4791465150096908e-01 -5.5050001270001772e+01 5.5050217445883071e+01 1 0 0 0 0 -V -129 0 0 0 0 0 0 2 0 -P 413 22 4.4122106100820724e-01 -2.1533581732208446e-01 -2.0951066441389207e+02 2.0951123967150164e+02 1 0 0 0 0 -P 414 22 -1.3003727210228663e-01 7.9025968672578689e-02 -7.4810369626294275e+01 7.4810524382727280e+01 1 0 0 0 0 -V -130 0 0 0 0 0 0 1 0 -P 415 130 -5.5517974597127173e-01 -1.4786398120312963e-01 -3.9774196700709734e+02 3.9774269331115448e+02 1 0 0 0 0 -V -131 0 3.1162561148663985e-05 4.9134168233791584e-05 -1.0535794464319381e-01 1.0535797716562684e-01 0 2 0 -P 416 22 -1.0407303676525636e-02 3.1435820824456277e-02 -1.4769705612958035e+02 1.4769705984164750e+02 1 0 0 0 0 -P 417 22 8.1837259871931953e-02 8.1188153434088417e-02 -9.3801495122328660e+01 9.3801565957278186e+01 1 0 0 0 0 -V -132 0 2.6061695549965017e-06 1.5981198106929131e-05 -6.0874205016532332e-02 6.0874208074558754e-02 0 2 0 -P 418 22 6.6075216703169640e-02 6.9070271124056309e-02 -2.0477358048603864e+02 2.0477360279515705e+02 1 0 0 0 0 -P 419 22 -3.2552372563759389e-02 1.3649394946647336e-01 -5.7824396454182443e+02 5.7824398156773043e+02 1 0 0 0 0 -V -133 0 6.6869850793435513e-05 -1.3905508888006766e-04 -1.2830841169050197e-01 1.2830854774519626e-01 0 2 0 -P 420 22 4.6019185382323302e-02 9.8218810952675831e-03 -2.9691019717235697e+01 2.9691057005166559e+01 1 0 0 0 0 -P 421 22 3.9629365422943770e-02 -1.8792706158184605e-01 -1.3464955211032841e+02 1.3464968908459880e+02 1 0 0 0 0 -V -134 0 9.0991403364029891e-05 2.9676020800185506e-05 -5.3298798475057925e-02 5.3298891243089092e-02 0 2 0 -P 422 22 3.9077415047769848e-02 4.8750449525309471e-02 -5.1996999227038948e+01 5.1997036764294414e+01 1 0 0 0 0 -P 423 22 4.1588831353803374e-01 9.9632495738959437e-02 -2.1450209612089199e+02 2.1450252243267425e+02 1 0 0 0 0 -V -135 0 -1.2095638437121250e-05 2.0165006173806986e-06 -9.0242854606434981e-04 9.0251793601480227e-04 0 2 0 -P 424 22 -3.5447452752054448e-01 9.8399755132051580e-03 -2.8089725048300163e+01 2.8091963304562395e+01 1 0 0 0 0 -P 425 22 -1.3839157224524873e-01 7.2327228775374577e-02 -8.6819129374255386e+00 8.6833170913152617e+00 1 0 0 0 0 -V -136 0 1.0813245780814463e-05 -4.3074327093877904e-05 -3.8442965634151380e-03 3.8445789078611868e-03 0 2 0 -P 426 22 1.0313626454632320e-01 -3.8557612802981556e-01 -3.0050256643978344e+01 3.0052907187301116e+01 1 0 0 0 0 -P 427 22 4.3748804964200425e-04 -2.7007640811787147e-02 -6.7720101606043936e+00 6.7720640294807559e+00 1 0 0 0 0 -V -137 0 0 0 0 0 0 1 0 -P 428 130 -1.6443516368771718e-01 3.8717781180786159e-01 -4.8340509295770076e+01 4.8344901075339337e+01 1 0 0 0 0 -V -138 0 1.2358140420271945e-05 -7.3429431327083619e-05 -1.0889863399267724e-02 1.0890154231100478e-02 0 2 0 -P 429 22 5.4301957071902614e-02 -2.3699319567331695e-01 -2.5848595506596457e+01 2.5849738956921321e+01 1 0 0 0 0 -P 430 22 5.0570583812301105e-03 -1.1570539817897650e-01 -2.6457944783177410e+01 2.6458198265616499e+01 1 0 0 0 0 -V -139 0 1.8563265975374583e-05 -3.5135000552321780e-05 -1.2096910332893111e-03 1.2104320012685755e-03 0 2 0 -P 431 22 -2.0573197242309865e-02 -6.4597219190626887e-02 -2.0488562601975113e+00 2.0499775686876340e+00 1 0 0 0 0 -P 432 22 1.9178902818280380e-01 -2.5946581598005236e-01 -9.1085691476294492e+00 9.1142820593912131e+00 1 0 0 0 0 -V -140 0 7.3023607112404456e-06 1.9611482138964182e-05 -6.0099696424263584e-04 6.0141321235147990e-04 0 2 0 -P 433 22 8.5228359671132362e-03 2.1369962414334492e-01 -5.5669311705913973e+00 5.5710378589805023e+00 1 0 0 0 0 -P 434 22 1.1608995226234577e-01 1.2096495451637290e-01 -4.6889176423048236e+00 4.6919141140428886e+00 1 0 0 0 0 -V -141 0 -2.3365100375587745e-05 4.9869075372593264e-05 -8.8228795860378044e-05 1.0630348258864234e-04 0 2 0 -P 435 22 -2.1041114039385373e-02 1.8088591190867334e-01 -2.1317543175488898e-01 2.8036798374802724e-01 1 0 0 0 0 -P 436 22 -1.2242449936314574e-01 1.2531852860900106e-01 -3.2856409062700143e-01 3.7235312984664198e-01 1 0 0 0 0 -V -142 0 4.2726307465371662e-06 1.1163606978137926e-05 -1.4095465823616622e-05 2.0263397090077968e-05 0 2 0 -P 437 22 1.0186902240864532e-01 1.7539794796065869e-01 -2.0495815398301412e-01 2.8835669362688277e-01 1 0 0 0 0 -P 438 22 -3.2461054705402004e-02 5.9524468091877421e-03 -2.4019657273122230e-02 4.0817834718681036e-02 1 0 0 0 0 -V -143 0 4.2281042290289621e-05 -5.5710648715487775e-05 8.3547170307156796e-05 1.1379454074695370e-04 0 2 0 -P 439 22 -2.2282498559312240e-02 -1.7643232610581851e-02 4.1478065186052578e-02 5.0281440816421281e-02 1 0 0 0 0 -P 440 22 1.9612868801801220e-01 -2.1142122433834418e-01 3.0204130924743805e-01 4.1760549428413618e-01 1 0 0 0 0 -V -144 0 0 0 0 0 0 2 0 -P 441 211 1.7357088956032946e-01 -1.8008964314199971e-01 3.5114064368815236e-02 2.8856873650185011e-01 1 0 0 0 0 -P 442 111 2.6635305935910647e-01 4.0889525284211697e-01 1.0011697241444379e+00 1.1219178655187840e+00 2 0 0 -177 0 -V -145 0 0 0 0 0 0 1 0 -P 443 310 8.9352434965555338e-01 -6.9110102864767708e-01 1.3634045967932928e+00 1.8391720742449138e+00 2 0 0 -178 0 -V -146 0 5.7833814820138906e-04 -3.4611928637845181e-04 8.2924403938539407e-04 1.0702785821667389e-03 0 2 0 -P 444 22 2.6959401219222473e-01 -1.8065595805513682e-01 4.8652922632802997e-01 5.8483176611917398e-01 1 0 0 0 0 -P 445 22 1.0356516178300175e+00 -6.0049722614494039e-01 1.3849834207209339e+00 1.8306693496624562e+00 1 0 0 0 0 -V -147 0 5.5018284876725698e-05 -8.8791662444546657e-05 2.2557345462255435e-04 2.4868003057175941e-04 0 2 0 -P 446 22 9.0519481106229416e-01 -1.5401715592524401e+00 3.8907227545652390e+00 4.2812649568551482e+00 1 0 0 0 0 -P 447 22 1.7343572995639095e-01 -2.0058424793239438e-01 5.3163279403360253e-01 5.9409378101111721e-01 1 0 0 0 0 -V -148 0 0 0 0 0 0 1 0 -P 448 130 2.5175435783133765e-01 2.1313109775713732e-01 6.3817070071050166e+00 6.4095760292667956e+00 1 0 0 0 0 -V -149 0 1.8668185865974611e-05 -1.9953127561604650e-04 3.6095810720876997e-03 3.6162925529423487e-03 0 2 0 -P 449 22 7.2766800981078810e-03 2.7433684711522560e-03 8.3729214991090684e-01 8.3732826325536569e-01 1 0 0 0 0 -P 450 22 2.0323798811088076e-02 -2.9774572188157267e-01 4.4993895698041380e+00 4.5092762249122815e+00 1 0 0 0 0 -V -150 0 1.3696078707448002e+01 2.3219792114969632e+01 1.0138959939920347e+03 1.0146297844541476e+03 0 2 0 -P 451 111 7.0206635722018476e-02 6.5462957243239944e-02 1.1020395065887524e+01 1.1021639686503478e+01 2 0 0 -179 0 -P 452 111 1.7675263292019575e-01 3.5322205481198321e-01 7.2615539871198669e+00 7.2735406248611998e+00 2 0 0 -180 0 -V -151 0 1.5467461870827629e+01 2.8473818347520936e+01 1.2197659912945378e+03 1.2204776624690801e+03 0 2 0 -P 453 211 -5.2601173246719701e-02 3.3039934938404780e-01 1.0273766610755112e+01 1.0280160055693049e+01 1 0 0 0 0 -P 454 -211 3.4636119397885656e-01 2.1037906261040085e-01 1.2892185623906263e+01 1.2899308329241325e+01 1 0 0 0 0 -V -152 0 -8.6330281890986453e-06 4.3353801666958921e-05 2.6399016004587045e-03 2.6403199142388894e-03 0 2 0 -P 455 22 2.6083272253419752e-02 1.5952465080702885e-01 7.3460499969475057e+00 7.3478281831408516e+00 1 0 0 0 0 -P 456 22 -9.9098119570552284e-02 2.0714520593309504e-01 1.4981227068259312e+01 1.4982986819869694e+01 1 0 0 0 0 -V -153 0 -1.3713360241077502e-05 5.6557830140187285e-05 2.7122273887907147e-03 2.7129854433572071e-03 0 2 0 -P 457 22 -3.2139365825025600e-02 1.3537777065909119e-02 3.3379524226511128e+00 3.3381345967659777e+00 1 0 0 0 0 -P 458 22 -3.6569994921477583e-02 2.6983933006361521e-01 1.0251379936951878e+01 1.0254995916153122e+01 1 0 0 0 0 -V -154 0 -1.8577981731263623e-05 1.1734979962630551e-07 2.5054428130927703e-03 2.5058814429780593e-03 0 2 0 -P 459 22 -3.2575852346062410e-02 6.3591920058035073e-02 5.2340628634658524e+00 5.2345505229355744e+00 1 0 0 0 0 -P 460 22 -2.5679357125610595e-02 -6.3223944824902775e-02 2.6222854744377790e+00 2.6231732321806303e+00 1 0 0 0 0 -V -155 0 -5.1794463602787913e-05 -1.5356000780595467e-05 1.3323891047857367e-03 1.3337197303021943e-03 0 2 0 -P 461 22 -2.4156328517547213e-01 -1.1451197786655225e-01 6.4209768595352923e+00 6.4265394766162753e+00 1 0 0 0 0 -P 462 22 -3.7168364320045832e-02 3.1873735678067699e-02 7.4926851253561166e-01 7.5086665008484121e-01 1 0 0 0 0 -V -156 0 7.5943080969019332e-05 9.5776177456424032e-06 5.3870611541554550e-02 5.3870683708631448e-02 0 2 0 -P 463 22 -1.5680821504989124e-02 -5.4140422597006924e-03 1.8017934436852070e+01 1.8017942073686338e+01 1 0 0 0 0 -P 464 22 2.4984841316886486e-01 3.4946261031404309e-02 1.4809004018287865e+02 1.4809025507047161e+02 1 0 0 0 0 -V -157 0 0 0 0 0 0 1 0 -P 465 130 -3.5596336877401362e+00 8.8923992828974985e-01 8.7633501659252779e+00 9.5134494900893749e+00 1 0 0 0 0 -V -158 0 1.3287239623354180e-04 2.2226177773322776e-05 6.7250652793784471e-04 6.8599098340012060e-04 0 2 0 -P 466 22 1.1106353772405320e+00 1.4436855076860167e-01 5.3887210357718693e+00 5.5038775078120601e+00 1 0 0 0 0 -P 467 22 2.6686104938252070e-01 8.6051621728536865e-02 1.5831961221517605e+00 1.6078338416876363e+00 1 0 0 0 0 -V -159 0 5.7037006887288153e-05 4.2172986806283377e-05 4.1243716932087290e-04 4.1861382317954235e-04 0 2 0 -P 468 22 3.2331850119604405e-01 1.6744575558836336e-01 2.2859616585715821e+00 2.3147772330700751e+00 1 0 0 0 0 -P 469 22 4.4148515143451034e-01 3.9804770404431883e-01 3.2443680482544379e+00 3.2983746218655052e+00 1 0 0 0 0 -V -160 0 1.1983470401006283e-05 1.3207294377217294e-05 1.1776782592010122e-04 1.1968459629508770e-04 0 2 0 -P 470 22 -2.4301340066221078e-02 4.3907283769436582e-02 2.4401938288657385e-01 2.4912620079262698e-01 1 0 0 0 0 -P 471 22 1.6244293470231447e-01 1.0834216026005766e-01 1.1135702572616186e+00 1.1305593520829520e+00 1 0 0 0 0 -V -161 0 3.4630075284514206e+01 -4.1959174778499408e-01 1.0443051577069147e+02 1.1494674588296520e+02 0 2 0 -P 472 2212 1.1005933998556439e+00 -6.1749009761674328e-02 3.0746031880408422e+00 3.3983310799307449e+00 1 0 0 0 0 -P 473 -211 6.0322890773452480e-02 4.7682886849288987e-02 4.2625801427967658e-01 4.5506943260034610e-01 1 0 0 0 0 -V -162 0 -4.7357584723182360e-06 6.3985294212991023e-06 2.6106587882268586e-05 3.1463143149236232e-05 0 2 0 -P 474 22 4.3973266892092941e-04 5.6365207826361091e-02 1.6625948052190604e-02 5.8767781707013016e-02 1 0 0 0 0 -P 475 22 -4.1278238818121267e-02 -1.1879042022493941e-03 2.0850251996335911e-01 2.1255259336783106e-01 1 0 0 0 0 -V -163 0 -5.7563317206079826e-06 6.0917871793002808e-06 2.9568905721680543e-07 8.8772845327675524e-06 0 2 0 -P 476 22 2.1872890559984882e-03 -1.0401663083794799e-02 8.9124295742047579e-03 1.3871201434570646e-02 1 0 0 0 0 -P 477 22 -2.6910859266995735e-01 2.9287804807327755e-01 4.7986823712958485e-03 3.9776879345232552e-01 1 0 0 0 0 -V -164 0 0 0 0 0 0 1 0 -P 478 130 1.1140884226725156e+00 1.6365689466410080e-01 -1.4262615386176185e+00 1.8841109304241952e+00 1 0 0 0 0 -V -165 0 0 0 0 0 0 2 0 -P 479 -3122 2.0131910069921948e+00 6.7764893728527717e-02 -2.6715368988585211e+00 3.5269507192217597e+00 2 0 0 -181 0 -P 480 22 -1.6076131313801340e-02 1.4322867873945886e-02 -9.7430843067236299e-03 2.3632905745189673e-02 1 0 0 0 0 -V -166 0 -2.3588379760226790e-05 4.6847721938416594e-05 -5.5574960618648883e-04 5.5839451490441211e-04 0 2 0 -P 481 22 -1.1949049708917285e-01 1.3519180044689011e-01 -2.3681807243708217e+00 2.3750441564493485e+00 1 0 0 0 0 -P 482 22 -1.0811595167675146e-01 3.1684618315194474e-01 -2.9942984095479352e+00 3.0129559452813477e+00 1 0 0 0 0 -V -167 0 -1.5531878903456809e-04 1.0499866127610461e-04 -9.3825546056534588e-04 9.5764010672608495e-04 0 2 0 -P 483 22 -4.9585461648451970e-02 9.0657133681034840e-02 -5.6380526423615873e-01 5.7319613560678850e-01 1 0 0 0 0 -P 484 22 -4.7410925234586326e-01 2.6337114730522432e-01 -2.5997490496274094e+00 2.6557181826073788e+00 1 0 0 0 0 -V -168 0 -2.3742914991980702e-06 -5.5047613892291266e-05 -3.3364509581962891e-04 3.3865264289515399e-04 0 2 0 -P 485 22 -5.1346047785156834e-02 -1.6412250976727824e-01 -7.3990671605158653e-01 7.5962791108127992e-01 1 0 0 0 0 -P 486 22 3.3722397264361485e-02 -2.4447934454129777e-01 -1.7366403164793534e+00 1.7540886348204032e+00 1 0 0 0 0 -V -169 0 -3.9442071647588028e+02 -6.1954489476130664e+02 -2.1735850335635319e+03 2.3655702926791487e+03 0 2 0 -P 487 2112 -8.5269966598634783e-01 -1.2482982212205354e+00 -4.0873634023688021e+00 4.4581023471202919e+00 1 0 0 0 0 -P 488 111 -1.2441886187471768e-02 -1.4748650932380047e-01 -5.9280379660612814e-01 6.2573397912776096e-01 2 0 0 -182 0 -V -170 0 -3.8731845683595071e+02 -6.0808637851156175e+02 -2.1351638853560548e+03 2.3238352858308413e+03 0 2 0 -P 489 22 -2.4294136801933316e-02 3.4539658646784890e-02 -1.6139449553526541e-02 4.5207023063660166e-02 1 0 0 0 0 -P 490 22 -8.7575975301444949e-03 -4.8910075968903524e-02 -2.5514816277699598e-01 2.5994129339960659e-01 1 0 0 0 0 -V -171 0 -1.0933195237963346e+02 -5.0235045203099851e+01 -2.4013370147750371e+02 2.7821504173616125e+02 0 2 0 -P 491 -2112 -1.5658670185772878e+00 -7.6716146142654740e-01 -3.3317517907494221e+00 3.8760595980748569e+00 1 0 0 0 0 -P 492 111 -1.1562836020309447e-01 -5.4397271860069998e-03 -3.6143853957406552e-01 4.0281127914266263e-01 2 0 0 -183 0 -V -172 0 5.6564325317259301e-03 -2.2810648622965798e-03 -4.8107066559107698e-03 1.0330109148124387e-02 0 2 0 -P 493 22 8.3504725860153537e-03 -6.1686271916450621e-03 6.1045606206374968e-02 6.1922115523802154e-02 1 0 0 0 0 -P 494 22 -2.7604472616102490e-02 3.4337928036938747e-02 -6.3547114597041404e-02 7.7326166230407709e-02 1 0 0 0 0 -V -173 0 -2.5371547209646385e-02 3.0636389190498072e-02 -2.1297633314969514e-01 2.2372333057617133e-01 0 2 0 -P 495 130 -3.8381231838876934e-01 4.9594078006557590e-01 -3.2339673281313233e+00 3.3315895997856435e+00 1 0 0 0 0 -P 496 310 -4.4352446428434805e-01 2.8594973325957562e-01 -2.9436292264552462e+00 3.0316842929486327e+00 2 0 0 -184 0 -V -174 0 -1.6652989478516312e+02 5.6426827439425338e+01 -1.9523859419127828e+02 2.7438809812755659e+02 0 2 0 -P 497 22 -4.9611896691106377e-01 -3.9673980701964699e-02 -6.7175137907101601e-01 8.3603706219129592e-01 1 0 0 0 0 -P 498 22 -5.4512945059224993e-02 4.1471367457650572e-02 -7.5483015880856680e-02 1.0192752907976933e-01 1 0 0 0 0 -V -175 0 -1.6653019204785372e+02 5.6427260758923254e+01 -1.9523875968452452e+02 2.7438853266426469e+02 0 2 0 -P 499 22 -3.5393953143123574e-01 1.7673538127712854e-01 -2.7700993705699223e-01 4.8295247399019869e-01 1 0 0 0 0 -P 500 22 -1.4336849767438012e-01 1.7655084486868911e-01 -2.0435345439003930e-01 3.0575326861768554e-01 1 0 0 0 0 -V -176 0 1.6356688133589280e+01 -9.0201463342084711e+00 -8.5247671939611500e+00 3.4614668885069442e+01 0 2 0 -P 501 211 4.6978346947700922e-02 -2.6100259924274977e-01 -6.8335267097857338e-02 3.0737406449267235e-01 1 0 0 0 0 -P 502 -211 2.4512620249294581e-01 9.9917069010506745e-02 -8.3903576116670597e-02 3.1078910986942410e-01 1 0 0 0 0 -V -177 0 2.9469706054036896e-04 4.5240790314715406e-04 1.1077093520806618e-03 1.2413069252204430e-03 0 2 0 -P 503 22 3.6126609958871479e-02 1.4057616038319654e-01 2.0926363458958655e-01 2.5467245154677925e-01 1 0 0 0 0 -P 504 22 2.3022644940023498e-01 2.6831909245892044e-01 7.9190608955485142e-01 8.6724541397200472e-01 1 0 0 0 0 -V -178 0 4.9225703194877646e+01 -3.8073874681758369e+01 7.5112166828078713e+01 1.0132296751172809e+02 0 2 0 -P 505 111 6.6272058382572374e-01 -5.4061401949282739e-01 1.2309991175446522e+00 1.5050051555041968e+00 2 0 0 -185 0 -P 506 111 2.3080376582982970e-01 -1.5048700915484961e-01 1.3240547924864057e-01 3.3416691874071680e-01 2 0 0 -186 0 -V -179 0 1.3696084322539210e+01 2.3219797350663836e+01 1.0138968753976570e+03 1.0146306659593140e+03 0 2 0 -P 507 22 2.8921549282624782e-02 5.7479359671112923e-02 1.8015767429731999e+00 1.8027254626323534e+00 1 0 0 0 0 -P 508 22 4.1285086439393701e-02 7.9835975721270214e-03 9.2188183229143235e+00 9.2189142238711259e+00 1 0 0 0 0 -V -180 0 1.3696084629698909e+01 2.3219803949982214e+01 1.0138962372967254e+03 1.0146300281604611e+03 0 2 0 -P 509 22 1.6307939697786111e-01 3.2581921906134687e-01 5.6713531296788773e+00 5.6830449034603641e+00 1 0 0 0 0 -P 510 22 1.3673235942334631e-02 2.7402835750636373e-02 1.5902008574409892e+00 1.5904957214008373e+00 1 0 0 0 0 -V -181 0 8.8043644790361924e+01 2.9635877628943978e+00 -1.1683533502310971e+02 1.5424547161086937e+02 0 2 0 -P 511 -2212 1.7770563282207339e+00 -3.4186617193049003e-02 -2.3164858133551092e+00 3.0668477358421207e+00 1 0 0 0 0 -P 512 211 2.3613467877146080e-01 1.0195151092157670e-01 -3.5505108550341169e-01 4.6010298337963895e-01 1 0 0 0 0 -V -182 0 -3.9442072465575706e+02 -6.1954499172582257e+02 -2.1735854233004197e+03 2.3655707040658758e+03 0 2 0 -P 513 22 4.0197117264212073e-02 -1.3040481351109726e-01 -3.2880641676034111e-01 3.5599843163417444e-01 1 0 0 0 0 -P 514 22 -5.2639003451683840e-02 -1.7081695812703201e-02 -2.6399737984578697e-01 2.6973554749358647e-01 1 0 0 0 0 -V -183 0 -1.0933195723816462e+02 -5.0235045431669072e+01 -2.4013371666461182e+02 2.7821505866169014e+02 0 2 0 -P 515 22 -1.2710329868660584e-02 -1.5687834458189054e-02 6.0244861742229771e-03 2.1070241313784526e-02 1 0 0 0 0 -P 516 22 -1.0291803033443389e-01 1.0248107272182054e-02 -3.6746302574828849e-01 3.8174103782887814e-01 1 0 0 0 0 -V -184 0 -4.0011104427493628e+01 2.5810295848911871e+01 -2.6559444100062234e+02 2.7354374979360034e+02 0 2 0 -P 517 211 -1.1916503545197171e-01 1.2306843499863213e-01 -1.9838673343442541e+00 1.9961351483668279e+00 1 0 0 0 0 -P 518 -211 -3.2435942883237623e-01 1.6288129826094347e-01 -9.5976189211099172e-01 1.0355491445818044e+00 1 0 0 0 0 -V -185 0 4.9226282621175962e+01 -3.8074347348501760e+01 7.5113243108609780e+01 1.0132428335974532e+02 0 2 0 -P 519 22 4.4143146561474261e-01 -4.2964177430910294e-01 8.2724985573673759e-01 1.0314049238212444e+00 1 0 0 0 0 -P 520 22 2.2128911821098113e-01 -1.1097224518372439e-01 4.0374926180791465e-01 4.7360023168295245e-01 1 0 0 0 0 -V -186 0 4.9225767848899054e+01 -3.8073916837007772e+01 7.5112203918230421e+01 1.0132306112040489e+02 0 2 0 -P 521 22 4.9356772561742791e-02 -1.0513068125950643e-01 7.6076014406641593e-02 1.3883843526847706e-01 1 0 0 0 0 -P 522 22 1.8144699326808689e-01 -4.5356327895343163e-02 5.6329464841998966e-02 1.9532848347223983e-01 1 0 0 0 0 -E 9 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 115 0 0 -V -1 0 0 0 0 0 1 3 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 3 -2 -1.3063956680622808e+00 1.2879304852865372e+00 5.1893828474231309e+00 5.5041010995066388e+00 3 0 0 -3 0 -P 14 2224 6.2629672068355446e-01 -5.5829354058455705e-01 1.9862339814540292e+03 1.9862345051592931e+03 2 0 0 -9 0 -P 20 1 6.8009894737872634e-01 -7.2963694470198015e-01 2.2511960482291925e+03 2.2511962933887798e+03 2 0 0 -14 0 -V -2 0 0 0 0 0 1 2 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 1 7.0565678882479643e-01 -1.5984513018320162e-01 -1.0981823600478867e+03 1.0981825983971498e+03 3 0 0 -4 0 -P 28 2203 -7.0565678882479643e-01 1.5984513018320162e-01 -4.3114475678564886e+03 4.3114476975637281e+03 2 0 0 -14 0 -V -3 0 0 0 0 0 0 1 0 -P 5 -2 -1.3063956680622806e+00 1.2879304852865372e+00 5.1893828474231309e+00 5.5041010995066388e+00 3 0 0 -5 0 -V -4 0 0 0 0 0 0 1 0 -P 6 1 7.0565678882479621e-01 -1.5984513018320196e-01 -1.0981823600478865e+03 1.0981825983971496e+03 3 0 0 -5 0 -V -5 0 0 0 0 0 0 2 0 -P 7 22 -2.9723146839427486e+00 2.9479669518244265e+00 2.6457283967879142e+00 4.9522764946033000e+00 3 0 0 -6 0 -P 8 -24 2.3715758047052646e+00 -1.8198815967210915e+00 -1.0956387055972511e+03 1.0987344230020528e+03 3 0 0 -7 0 -V -6 0 0 0 0 0 0 1 0 -P 9 22 -2.9723146839427486e+00 2.9479669518244265e+00 2.6457283967879142e+00 4.9522764946033284e+00 1 0 0 0 0 -V -7 0 0 0 0 0 0 1 0 -P 10 -24 2.3715758047052646e+00 -1.8198815967210915e+00 -1.0956387055972511e+03 1.0987344230020528e+03 2 0 0 -8 0 -V -8 0 0 0 0 0 0 3 0 -P 11 -12 -5.4134620057879408e+00 2.7818509720381723e+01 -1.5330074559902630e+02 1.5589834397827471e+02 1 0 0 0 0 -P 12 11 7.7686205977028244e+00 -2.9576059382324004e+01 -9.4035688046136852e+02 9.4085395114538073e+02 1 0 0 0 0 -P 13 22 1.6417212790378732e-02 -6.2331934778808794e-02 -1.9810795368566805e+00 1.9821278783976966e+00 1 0 0 0 0 -V -9 0 0 0 0 0 0 2 0 -P 31 2212 3.9845666526000445e-01 -4.2000187219924662e-01 1.7208369731688658e+03 1.7208373263457715e+03 1 0 0 0 0 -P 32 211 2.2784005542354996e-01 -1.3829166838531035e-01 2.6539700828516311e+02 2.6539717881352135e+02 1 0 0 0 0 -V -10 0 0 0 0 0 2 1 0 -P 15 2 -5.8774466266559076e+00 -9.3245626556735572e-01 -1.6938612621707563e+02 1.6949062985417058e+02 2 0 0 -10 0 -P 16 -2 5.8774466266559076e+00 9.3245626556735572e-01 -2.6116865900135838e+02 2.6123644902291909e+02 2 0 0 -10 0 -P 33 92 0 0 -4.3055478521843401e+02 4.3072707887708964e+02 2 0 0 -11 0 -V -11 0 0 0 0 0 0 7 0 -P 34 211 -3.4223096422762840e+00 -1.1755942505505563e+00 -1.0212463398588793e+02 1.0218881823206500e+02 1 0 0 0 0 -P 35 313 -1.4318407714997392e+00 1.0448174597780837e+00 -7.2468641710313307e+01 7.2496138880553076e+01 2 0 0 -18 0 -P 36 -313 1.0440864295074967e+00 -4.5871170804924338e-01 -4.5617120785926659e+01 4.5640092033581006e+01 2 0 0 -19 0 -P 37 -213 3.2409711340366965e-01 2.3335471252859891e-01 -4.0111237075385660e+01 4.0121708510378014e+01 2 0 0 -20 0 -P 38 111 1.2936126903917291e+00 4.7104501694792161e-01 -5.4152907899216984e+01 5.4170572922410656e+01 2 0 0 -21 0 -P 39 213 1.2548924127288779e+00 -4.7071757914042800e-01 -7.1343007544735329e+01 7.1361058743643341e+01 2 0 0 -22 0 -P 40 -211 9.3746176774424972e-01 3.5580634848562342e-01 -4.4737236216968142e+01 4.4748689554458579e+01 1 0 0 0 0 -V -12 0 0 0 0 0 3 1 0 -P 17 2 -1.2925484085993182e+00 -2.9944775922487810e+00 -1.1193505744225627e+03 1.1193553260862077e+03 2 0 0 -12 0 -P 18 21 1.4025793372001376e+00 -2.7884933102773206e+00 9.4380500095915245e+00 9.9408104157635311e+00 2 0 0 -12 0 -P 19 -2 1.2925484085993182e+00 2.9944775922487810e+00 6.0026559409271556e+02 6.0027445475292370e+02 2 0 0 -12 0 -P 41 92 1.4025793372001376e+00 -2.7884933102773206e+00 -5.0964693032025559e+02 1.7295705912548949e+03 2 0 0 -13 0 -V -13 0 0 0 0 0 0 24 0 -P 42 2212 -6.4915649404280318e-01 -4.2701824006267358e-01 -3.3481058142234315e+02 3.3481279774180007e+02 1 0 0 0 0 -P 43 -2212 -4.9702749607820934e-01 -1.9489755847429249e+00 -5.5795580111420406e+02 5.5796021532878854e+02 1 0 0 0 0 -P 44 113 1.6533916537684344e-02 -2.9412170960257544e-01 -7.6806020852310596e+01 7.6812204400634272e+01 2 0 0 -23 0 -P 45 221 -1.4972892483807126e-01 4.5696574621284011e-03 -1.0055577843303921e+02 1.0055738022348076e+02 2 0 0 -24 0 -P 46 221 3.0200268424734572e-01 2.8534525335404792e-01 -2.8870835357085056e+01 2.8879014236177056e+01 2 0 0 -25 0 -P 47 211 -6.4308952739707492e-01 -7.2529706032234698e-01 -5.7806554947847131e+00 5.8630263260746780e+00 1 0 0 0 0 -P 48 -213 3.3534244198776286e-01 1.3819689112114653e-01 -4.9513827912839794e+00 4.9961422616793758e+00 2 0 0 -26 0 -P 49 213 3.8463247216398370e-02 -2.6825695664888762e-02 -6.2305386932288869e+00 6.2750941019503417e+00 2 0 0 -27 0 -P 50 -211 -3.0493494659552672e-01 4.0145043880181042e-01 -5.0694511698343381e-01 7.2843730890360803e-01 1 0 0 0 0 -P 51 213 4.5194685326190176e-01 -3.3844629401524673e-01 -1.5162335922911572e+00 1.8063449324268250e+00 2 0 0 -28 0 -P 52 113 2.7127567356955044e-02 -3.5096115077676360e-01 -2.0560156402869595e-01 8.5167643807785465e-01 2 0 0 -29 0 -P 53 313 1.5417297555815859e-01 -2.8232887295282283e-01 9.8735536340780428e-01 1.3695271653989567e+00 2 0 0 -30 0 -P 54 -321 1.6551837760939633e-01 -1.1656322834342046e+00 1.9035451055119379e+00 2.2919903756841866e+00 1 0 0 0 0 -P 55 223 2.7048492858539253e-01 6.4531024760498323e-01 4.8493013060375016e+00 4.9634403118180437e+00 2 0 0 -31 0 -P 56 211 3.8312833002830518e-02 -6.7146029886687178e-02 -3.8093840362958112e-02 1.6403471606902364e-01 1 0 0 0 0 -P 57 113 -1.9506129454061361e-01 -4.4996827569324266e-01 9.0912943373856825e-01 1.1300284456403529e+00 2 0 0 -32 0 -P 58 311 2.5486600266519988e-01 -5.5963768406031345e-01 7.0488897796228791e+00 7.0931427146862651e+00 2 0 0 -33 0 -P 59 -323 5.8984323195972610e-01 5.0704121519152545e-01 1.2620140238622938e+01 1.2677108878334321e+01 2 0 0 -34 0 -P 60 113 4.7159765669982140e-01 -9.8137013413514440e-01 2.4370406619890971e+01 2.4406162239602889e+01 2 0 0 -35 0 -P 61 113 -3.7486729996664692e-01 7.1444064961249365e-01 3.2438220987768268e+01 3.2455915309327651e+01 2 0 0 -36 0 -P 62 223 1.4179614786791939e-01 3.7607095473386615e-01 9.2454157450938268e+01 9.2458324597560690e+01 2 0 0 -37 0 -P 63 223 -2.5333004221869093e-01 -1.7482317991745372e-01 4.1049255544223520e+01 4.1057845264441667e+01 2 0 0 -38 0 -P 64 321 8.9930855079187644e-01 4.6279031139923948e-01 1.3433665469657635e+02 1.3434136878403856e+02 1 0 0 0 0 -P 65 -321 3.1245794752940531e-01 1.4688432657087267e+00 2.5561448142535130e+02 2.5561936915229936e+02 1 0 0 0 0 -V -14 0 0 0 0 0 7 1 0 -P 21 21 4.5189465118581147e+00 3.0246444971641862e-01 7.5589346639934547e+01 7.5724907974672121e+01 2 0 0 -14 0 -P 22 21 2.3306161753086991e+00 2.5263018388499852e+00 1.6213072005400015e+01 1.6573402685926418e+01 2 0 0 -14 0 -P 23 21 -2.3306161753086991e+00 -2.5263018388499852e+00 1.7097855225215859e+01 1.7439914737177720e+01 2 0 0 -14 0 -P 24 21 -4.5189465118581147e+00 -3.0246444971641862e-01 -3.2145610931228710e+00 5.5538964107909132e+00 2 0 0 -14 0 -P 25 21 3.3444552178150491e+00 -3.3682323125838081e+00 -1.2861369300978330e+01 1.3709310336835030e+01 2 0 0 -14 0 -P 26 21 -1.4025793372001376e+00 2.7884933102773206e+00 -5.6917899608951075e+00 6.4914864782689392e+00 2 0 0 -14 0 -P 27 21 -3.3444552178150491e+00 3.3682323125838081e+00 -1.4040682664225221e+01 1.4821306936062644e+01 2 0 0 -14 0 -P 66 92 -1.4281371786462076e+00 2.2187014957585420e+00 -1.9871596487759671e+03 6.7129582165122420e+03 2 0 0 -15 0 -V -15 0 0 0 0 0 0 35 0 -P 67 -213 5.4216260460293231e-01 -7.8759029792302415e-01 1.9393385450254702e+03 1.9393389087263906e+03 2 0 0 -39 0 -P 68 211 1.0135732704315257e-02 5.3514575211682114e-01 2.3409980209226654e+02 2.3410045558078767e+02 1 0 0 0 0 -P 69 1114 8.9641438172015775e-01 -3.6392129443568710e-01 4.4812864618973961e+01 4.4840773987411758e+01 2 0 0 -40 0 -P 70 211 3.8473184386194154e-01 1.7416136993019182e-01 7.6482609489049134e+00 7.6611830745584788e+00 1 0 0 0 0 -P 71 -2212 1.3570820383715327e+00 -3.4833837508799126e-01 5.9400969475256197e+01 5.9424898287465744e+01 1 0 0 0 0 -P 72 223 5.3513808491869197e-01 5.6258841694084194e-01 1.3497984646533387e+01 1.3542742700934161e+01 2 0 0 -41 0 -P 73 111 1.4249126471823113e+00 -8.7326689179198683e-02 2.6487334767795783e+01 2.6526121554128995e+01 2 0 0 -42 0 -P 74 113 1.0243223484583437e+00 8.9460184235475726e-01 7.8398598406213731e+00 8.0044033243370425e+00 2 0 0 -43 0 -P 75 213 7.8146511190515611e-01 8.1085897447583399e-01 9.7004079181519618e+00 9.7985969509811213e+00 2 0 0 -44 0 -P 76 223 -6.0070864720254791e-01 -7.5020685309669766e-01 4.3286489963019363e+00 4.5018892429835349e+00 2 0 0 -45 0 -P 77 -213 2.0007537718930121e-01 -8.0481277249238786e-02 2.7952951677960907e+00 2.9524405521698647e+00 2 0 0 -46 0 -P 78 113 -4.2184079371557825e-01 6.6478556099176161e-02 2.1918020937664431e+00 2.2875634621838854e+00 2 0 0 -47 0 -P 79 213 -6.8390630107822026e-01 -1.2031666983062672e+00 6.5479758970760322e+00 6.7835848615007661e+00 2 0 0 -48 0 -P 80 111 -5.9823858771689586e-01 -1.2013185150743945e-01 9.0499212497479931e-01 1.0997960793922275e+00 2 0 0 -49 0 -P 81 -211 -1.8659891773971918e-01 3.9874400471142490e-01 -3.5494610553090200e-01 5.8247957914977033e-01 1 0 0 0 0 -P 82 113 -9.1461437410828916e-01 -4.4389801834541065e-01 -7.0381543247325407e-01 1.5379185055407165e+00 2 0 0 -50 0 -P 83 213 -1.2615073893577071e+00 1.7769459083209821e-01 -8.9289455873395662e-01 1.7351143047719249e+00 2 0 0 -51 0 -P 84 -211 -8.7219080940381755e-01 -1.8926094685784717e-01 -5.3480327737921796e-01 1.0497765688037612e+00 1 0 0 0 0 -P 85 113 6.2141214984468351e-01 -8.6421893286914353e-02 -2.4332734261172653e+00 2.6283177307616250e+00 2 0 0 -52 0 -P 86 211 -3.5446434481312317e-01 -1.2268348898738159e+00 -1.2253959392308320e+00 1.7753432939966589e+00 1 0 0 0 0 -P 87 2112 9.1472463744437760e-01 -1.2569570091894453e-01 -3.6476223116165620e+00 3.8782033062592536e+00 1 0 0 0 0 -P 88 -2212 8.6361312614816066e-01 -9.1836205712359598e-01 -4.8715921735632639e+00 5.1187867115208592e+00 1 0 0 0 0 -P 89 113 2.0594892520170244e-02 2.0438980965336340e-01 -5.7002702256806792e-01 9.3915477322444918e-01 2 0 0 -53 0 -P 90 213 -6.4584413784606176e-01 7.8022036598574573e-01 -3.1474571005361729e+00 3.4019473481372686e+00 2 0 0 -54 0 -P 91 113 -1.0973380029073554e+00 7.4299977704846509e-01 -5.3024187721700224e+00 5.5125660457410666e+00 2 0 0 -55 0 -P 92 313 -5.3612158238681562e-01 9.9278532523932750e-01 -3.4650732050135691e+00 3.7239560285499427e+00 2 0 0 -56 0 -P 93 -321 -1.2221331636647612e+00 1.5690691103915120e+00 -4.6853289562246045e+00 5.1138572262970730e+00 1 0 0 0 0 -P 94 221 -6.2878961836263358e-01 3.9774130133513302e-01 -4.6596960331790589e+00 4.7503729486297237e+00 2 0 0 -57 0 -P 95 213 -1.5227279129650367e-01 7.2806206429657749e-01 -2.1391236973384483e+01 2.1421593665725354e+01 2 0 0 -58 0 -P 96 113 3.0209002088422593e-01 -3.9448441998462064e-01 -1.0899232925753084e+01 1.0936206424161766e+01 2 0 0 -59 0 -P 97 111 -8.0811401894910795e-01 4.0766228483193984e-01 -2.8448690697297046e+01 2.8463405607849737e+01 2 0 0 -60 0 -P 98 -213 1.2089810072332315e-01 -5.2079050430329710e-01 -1.1939975039352846e+02 1.1940300095633448e+02 2 0 0 -61 0 -P 99 223 5.4114373167817453e-01 2.7085749567615108e-01 -4.2861438876063943e+02 4.2861551326973716e+02 2 0 0 -62 0 -P 100 2212 -8.2348818137401925e-01 8.9103884396884103e-02 -1.7961757953324147e+03 1.7961762313762292e+03 1 0 0 0 0 -P 101 213 -1.6088234688084649e-01 6.2448336922287219e-02 -1.9053309529925027e+03 1.9053311124555951e+03 2 0 0 -63 0 -V -16 0 0 0 0 0 2 1 0 -P 29 21 1.7182462671114402e+00 2.3426872894360549e+00 2.1255453864254928e-01 2.9130282186112093e+00 2 0 0 -16 0 -P 30 21 -1.7182462671114402e+00 -2.3426872894360549e+00 2.0339078055224470e+03 2.0339098804812140e+03 2 0 0 -16 0 -P 102 92 0 0 2.0341203600610895e+03 2.0368229086998253e+03 2 0 0 -17 0 -V -17 0 0 0 0 0 0 20 0 -P 103 -211 -6.0384089246498240e-02 -2.1593397066779253e-02 6.7328643487245954e-01 6.9058447804325818e-01 1 0 0 0 0 -P 104 111 3.0137821631491024e-01 6.9978369862249840e-02 2.1411449928155655e+00 2.1675902016241224e+00 2 0 0 -64 0 -P 105 211 -7.4504913328202721e-02 1.3535438527297250e-01 7.5149850953364265e+01 7.5150139387026329e+01 1 0 0 0 0 -P 106 311 -3.0824762001330436e-01 -1.4402182869475991e-01 3.9741975944594941e+02 3.9742021668806382e+02 2 0 0 -65 0 -P 107 333 -9.1866028181973891e-01 -2.0597240947952193e+00 9.9285414260558821e+02 9.9285721752589359e+02 2 0 0 -66 0 -P 108 -323 -2.3490715754350402e-01 8.3095883242977953e-02 4.9572324857581219e+02 4.9572416549705343e+02 2 0 0 -67 0 -P 109 111 4.1806436528339791e-01 -2.2899116272598369e-01 6.4652151043041934e+00 6.4841684672322852e+00 2 0 0 -68 0 -P 110 3222 -5.6454807151714115e-01 3.0038362700044496e-01 1.5559636563150063e+01 1.5618125233927406e+01 2 0 0 -69 0 -P 111 -3212 -1.2459659851310380e-01 1.4248779043166906e-01 1.5027023583236335e+01 1.5075458213813077e+01 2 0 0 -70 0 -P 112 -213 3.7655640018993020e-01 -3.8287574679571718e-01 1.8935226661500398e+01 1.8955778084047072e+01 2 0 0 -71 0 -P 113 211 -1.4243498041231339e-01 3.1036147917840962e-01 3.6873645553705686e-01 5.2159211070040012e-01 1 0 0 0 0 -P 114 113 3.8953818738287976e-01 3.5983308392962821e-03 2.9199479223354214e+00 3.0414263991854740e+00 2 0 0 -72 0 -P 115 111 -9.0634448722506072e-03 6.1399994260374857e-01 8.6138652128429471e-01 1.0664353777893050e+00 2 0 0 -73 0 -P 116 -213 2.1126425569031212e-01 7.2662728626688444e-01 1.7631477856117816e-01 1.0907967455146763e+00 2 0 0 -74 0 -P 117 211 1.8890292053918842e-01 -3.9217829654797970e-01 4.2376063239215755e-01 6.2333056088797001e-01 1 0 0 0 0 -P 118 -211 -5.8451538057038684e-02 1.9531982712468343e-01 3.1711758377891242e-01 4.0200716910401635e-01 1 0 0 0 0 -P 119 221 9.1656294346312978e-02 -7.2250132436744510e-02 4.2083038462435490e-01 7.0030041628825801e-01 2 0 0 -75 0 -P 120 323 3.2393892176032707e-01 5.9901412523414366e-01 3.2048749331960464e+00 3.3826342799303069e+00 2 0 0 -76 0 -P 121 -323 8.3047607121168998e-01 3.6045783335863357e-01 4.3175731064757974e+00 4.4982902518816132e+00 2 0 0 -77 0 -P 122 211 -6.3597693739585281e-01 -2.3904422135293027e-01 1.1612828223115010e+00 1.3526516118193193e+00 1 0 0 0 0 -V -18 0 0 0 0 0 0 2 0 -P 123 311 -8.8835934438628372e-01 6.8074086066904238e-01 -5.6890766581735761e+01 5.6903950549417800e+01 2 0 0 -78 0 -P 124 111 -5.4348142711345571e-01 3.6407659910904144e-01 -1.5577875128577560e+01 1.5592188331135288e+01 2 0 0 -79 0 -V -19 0 0 0 0 0 0 2 0 -P 125 -321 1.0773689084100895e+00 -5.1649738648580301e-01 -4.0378564311746878e+01 4.0399252346459754e+01 1 0 0 0 0 -P 126 211 -3.3282478902592651e-02 5.7785678436559643e-02 -5.2385564741797834e+00 5.2408396871212544e+00 1 0 0 0 0 -V -20 0 0 0 0 0 0 2 0 -P 127 -211 2.3663845137153569e-01 3.6141929721200028e-01 -3.7375453158979781e+01 3.7378210233892375e+01 1 0 0 0 0 -P 128 111 8.7458662032133927e-02 -1.2806458468340143e-01 -2.7357839164058722e+00 2.7434982764856324e+00 2 0 0 -80 0 -V -21 0 1.8697213022662409e-04 6.8082425988507642e-05 -7.8269830089690295e-03 7.8295362206386096e-03 0 2 0 -P 129 22 1.1490964488537836e-01 8.5213701923610385e-02 -5.5616412847888865e+00 5.5634808692177042e+00 1 0 0 0 0 -P 130 22 1.1787030455063505e+00 3.8583131502431123e-01 -4.8591266614428093e+01 4.8607092053192950e+01 1 0 0 0 0 -V -22 0 0 0 0 0 0 2 0 -P 131 211 9.2572302897073211e-01 -2.0288737845322695e-02 -3.1494950736642860e+01 3.1508868219085731e+01 1 0 0 0 0 -P 132 111 3.2916938375814553e-01 -4.5042884129510524e-01 -3.9848056808092458e+01 3.9852190524557592e+01 2 0 0 -81 0 -V -23 0 0 0 0 0 0 2 0 -P 133 211 5.5628915281980412e-02 -1.7240521926811242e-01 -4.4020576842464809e+00 4.4079938493808974e+00 1 0 0 0 0 -P 134 -211 -3.9094998744296061e-02 -1.2171649033446306e-01 -7.2403963168064124e+01 7.2404210551253385e+01 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 135 22 -1.5444404052236614e-02 -1.2303691275080576e-01 -5.4080212553685936e+00 5.4094427171414141e+00 1 0 0 0 0 -P 136 22 -1.3428452078583464e-01 1.2760657021293417e-01 -9.5147757177670613e+01 9.5147937506339346e+01 1 0 0 0 0 -V -25 0 0 0 0 0 0 3 0 -P 137 111 9.2311480631191989e-02 1.8010222032173673e-01 -1.5022100885582585e+01 1.5024070448325322e+01 2 0 0 -82 0 -P 138 111 1.5389951085199688e-01 1.3360790730478667e-01 -6.2955950525981503e+00 6.3003391019081789e+00 2 0 0 -83 0 -P 139 111 5.5791692764156894e-02 -2.8364874272475478e-02 -7.5531394189043217e+00 7.5546046859435538e+00 2 0 0 -84 0 -V -26 0 0 0 0 0 0 2 0 -P 140 -211 3.4795871222769470e-01 1.2913562700567929e-01 -4.6335489000911831e+00 4.6504845414229168e+00 1 0 0 0 0 -P 141 111 -1.2616270239931780e-02 9.0612641154672498e-03 -3.1783389119279665e-01 3.4565772025645797e-01 2 0 0 -85 0 -V -27 0 0 0 0 0 0 2 0 -P 142 211 -2.6507126648343393e-01 1.6611475780357760e-01 -3.6620259310433121e+00 3.6780117718148904e+00 1 0 0 0 0 -P 143 111 3.0353451369983231e-01 -1.9294045346846636e-01 -2.5685127621855748e+00 2.5970823301354509e+00 2 0 0 -86 0 -V -28 0 0 0 0 0 0 2 0 -P 144 211 4.2568471861282581e-01 -5.3585815142727589e-01 -8.6305498665514868e-01 1.1102680455646092e+00 1 0 0 0 0 -P 145 111 2.6262134649075942e-02 1.9741185741202916e-01 -6.5317860563600838e-01 6.9607688686221558e-01 2 0 0 -87 0 -V -29 0 0 0 0 0 0 2 0 -P 146 211 2.7491546942463990e-01 1.5012758060953384e-02 6.4340006694604740e-02 3.1531463587189956e-01 1 0 0 0 0 -P 147 -211 -2.4778790206768489e-01 -3.6597390883771697e-01 -2.6994157072330072e-01 5.3636180220595964e-01 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 148 321 -3.4500238693339409e-02 -1.0597931797356490e-01 9.4631402810185450e-01 1.0731137321320592e+00 1 0 0 0 0 -P 149 -211 1.8867321425149802e-01 -1.7634955497925797e-01 4.1041335305949819e-02 2.9641343326689734e-01 1 0 0 0 0 -V -31 0 0 0 0 0 0 3 0 -P 150 -211 1.7372815870072264e-01 3.9816647204593414e-01 1.3106575762200228e+00 1.3878116153102316e+00 1 0 0 0 0 -P 151 211 2.2174429060384263e-02 -7.0700764257547011e-02 9.6535187332727646e-01 9.7819953363679191e-01 1 0 0 0 0 -P 152 111 7.4582340824285623e-02 3.1784453981659611e-01 2.5732918564902025e+00 2.5974291628710198e+00 2 0 0 -88 0 -V -32 0 0 0 0 0 0 2 0 -P 153 -211 3.3962108465623669e-02 -1.2136739619253469e-02 3.0383058001969304e-01 3.3629381724188662e-01 1 0 0 0 0 -P 154 211 -2.2902340300623730e-01 -4.3783153607398917e-01 6.0529885371887526e-01 7.9373462839846587e-01 1 0 0 0 0 -V -33 0 0 0 0 0 0 1 0 -P 155 130 2.5486600266519988e-01 -5.5963768406031345e-01 7.0488897796228791e+00 7.0931427146862633e+00 1 0 0 0 0 -V -34 0 0 0 0 0 0 2 0 -P 156 -311 6.3629118454362399e-01 2.6066327066419842e-01 7.2899009219783402e+00 7.3391513605703720e+00 2 0 0 -89 0 -P 157 -211 -4.6447952583897813e-02 2.4637794452732709e-01 5.3302393166445974e+00 5.3379575177639449e+00 1 0 0 0 0 -V -35 0 0 0 0 0 0 2 0 -P 158 -211 -1.3843969334754791e-01 -1.1573951633130124e-01 2.7775781205311443e+00 2.7869304234027963e+00 1 0 0 0 0 -P 159 211 6.1003735004736936e-01 -8.6563061780384321e-01 2.1592828499359829e+01 2.1619231816200092e+01 1 0 0 0 0 -V -36 0 0 0 0 0 0 2 0 -P 160 -211 -5.3563447701898401e-02 6.6112470805366741e-01 1.6778003219314172e+01 1.6791689216238652e+01 1 0 0 0 0 -P 161 211 -3.2130385226474850e-01 5.3315941558826262e-02 1.5660217768454098e+01 1.5664226093088988e+01 1 0 0 0 0 -V -37 0 0 0 0 0 0 3 0 -P 162 211 -6.6907931039927135e-02 1.2175756451401197e-01 1.3514430333249674e+01 1.3515865070091197e+01 1 0 0 0 0 -P 163 -211 1.5997741131462320e-01 -8.4859508363502090e-02 1.5752145709471709e+01 1.5753804878365688e+01 1 0 0 0 0 -P 164 111 4.8726667593223340e-02 3.3917289858335631e-01 6.3187581408216893e+01 6.3188654649103782e+01 2 0 0 -90 0 -V -38 0 0 0 0 0 0 3 0 -P 165 -211 -2.2781057367096993e-01 -1.8076023205047512e-01 2.2204623661144236e+01 2.2206966556396523e+01 1 0 0 0 0 -P 166 211 -8.8088472241610968e-02 1.2956137830090980e-01 4.4468232102231378e+00 4.4517706789061249e+00 1 0 0 0 0 -P 167 111 6.2569003693889999e-02 -1.2362432616788839e-01 1.4397808672856140e+01 1.4399108029138999e+01 2 0 0 -91 0 -V -39 0 0 0 0 0 0 2 0 -P 168 -211 1.1575661872227846e-01 -5.9566096362919352e-01 7.2921715829360608e+02 7.2921742412065646e+02 1 0 0 0 0 -P 169 111 4.2640598588065382e-01 -1.9192933429383069e-01 1.2101213867318643e+03 1.2101214846057335e+03 2 0 0 -92 0 -V -40 0 0 0 0 0 0 2 0 -P 170 2112 5.7730953717981204e-01 -4.9267549823692297e-01 3.3126349100956851e+01 3.3148360622987781e+01 1 0 0 0 0 -P 171 -211 3.1910484454034588e-01 1.2875420380123584e-01 1.1686515518017115e+01 1.1692413364423977e+01 1 0 0 0 0 -V -41 0 0 0 0 0 0 3 0 -P 172 -211 9.5487207154282661e-02 -6.2863114436684478e-02 1.2548498161728181e+00 1.2677529033434551e+00 1 0 0 0 0 -P 173 211 2.1429886442208966e-02 1.3131790882612157e-01 1.6489652622608375e+00 1.6602017510695333e+00 1 0 0 0 0 -P 174 111 4.1822099132220031e-01 4.9413362255140486e-01 1.0594169568099732e+01 1.0614788046521172e+01 2 0 0 -93 0 -V -42 0 1.8062935474981218e-04 -1.1069986325174275e-05 3.3576726247816625e-03 3.3625894399998031e-03 0 2 0 -P 175 22 6.7619288638646513e-01 -9.1896050652983813e-02 1.1803182198575048e+01 1.1822892696649337e+01 1 0 0 0 0 -P 176 22 7.4871976079584612e-01 4.5693614737851275e-03 1.4684152569220737e+01 1.4703228857479658e+01 1 0 0 0 0 -V -43 0 0 0 0 0 0 2 0 -P 177 -211 1.8255094262342417e-01 4.9281267235300757e-01 4.5388757870887497e+00 4.5713304816218363e+00 1 0 0 0 0 -P 178 211 8.4177140583491938e-01 4.0178917000174957e-01 3.3009840535326229e+00 3.4330728427152049e+00 1 0 0 0 0 -V -44 0 0 0 0 0 0 2 0 -P 179 211 6.4478111510714742e-01 7.1330192574342022e-01 9.2323181717291547e+00 9.2833033416240607e+00 1 0 0 0 0 -P 180 111 1.3668399679800877e-01 9.7557048732413817e-02 4.6808974642280660e-01 5.1529360935705770e-01 2 0 0 -94 0 -V -45 0 0 0 0 0 0 3 0 -P 181 -211 -3.3985093605444544e-01 -3.3839691300994644e-02 1.0124513152340913e+00 1.0775811960421686e+00 1 0 0 0 0 -P 182 211 -1.2829685354263031e-02 -1.2856125071302602e-01 5.3883610377089486e-01 5.7141642226854616e-01 1 0 0 0 0 -P 183 111 -2.4802802579383956e-01 -5.8780591108267710e-01 2.7773615772969507e+00 2.8528916246728215e+00 2 0 0 -95 0 -V -46 0 0 0 0 0 0 2 0 -P 184 -211 1.3358989959828704e-01 3.8645547651348672e-01 1.6675168582308439e+00 1.7225813054790797e+00 1 0 0 0 0 -P 185 111 6.6485477591014169e-02 -4.6693675376272548e-01 1.1277783095652469e+00 1.2298592466907843e+00 2 0 0 -96 0 -V -47 0 0 0 0 0 0 2 0 -P 186 211 -9.3953505824433764e-02 -1.5916621156773283e-01 8.5366541626208947e-01 8.8452561974396915e-01 1 0 0 0 0 -P 187 -211 -3.2788728789114446e-01 2.2564476766690900e-01 1.3381366775043535e+00 1.4030378424399157e+00 1 0 0 0 0 -V -48 0 0 0 0 0 0 2 0 -P 188 211 -3.1297297759670162e-01 -1.2700760300481633e+00 5.6378957412772790e+00 5.7893344506273889e+00 1 0 0 0 0 -P 189 111 -3.7093332348151864e-01 6.6909331741895992e-02 9.1008015579875357e-01 9.9425041087337529e-01 2 0 0 -97 0 -V -49 0 -1.4965826533362982e-04 -3.0052766366232216e-05 2.2639721733967781e-04 2.7513031897644541e-04 0 2 0 -P 190 22 -3.0753609678583916e-02 -4.0951860957295985e-02 6.0453254742586303e-02 7.9230268414921035e-02 1 0 0 0 0 -P 191 22 -5.6748497803831199e-01 -7.9179990550143464e-02 8.4453887023221308e-01 1.0205658109773066e+00 1 0 0 0 0 -V -50 0 0 0 0 0 0 2 0 -P 192 211 -3.7395809242150829e-01 -5.4704665311005618e-01 -6.9450929608971679e-01 9.7001424877239883e-01 1 0 0 0 0 -P 193 -211 -5.4065628168678093e-01 1.0314863476464556e-01 -9.3061363835372987e-03 5.6790425676831746e-01 1 0 0 0 0 -V -51 0 0 0 0 0 0 2 0 -P 194 211 -1.0036870681900585e+00 6.0908344293775021e-02 -9.7858835208038319e-01 1.4100398948199884e+00 1 0 0 0 0 -P 195 111 -2.5782032116764880e-01 1.1678624653832320e-01 8.5693793346426558e-02 3.2507440995193648e-01 2 0 0 -98 0 -V -52 0 0 0 0 0 0 2 0 -P 196 -211 -4.1290701932326097e-02 -2.0666261137288519e-01 -1.0930205176097356e+00 1.1218680821831855e+00 1 0 0 0 0 -P 197 211 6.6270285177700960e-01 1.2024071808597084e-01 -1.3402529085075296e+00 1.5064496485784395e+00 1 0 0 0 0 -V -53 0 0 0 0 0 0 2 0 -P 198 -211 -3.1658924960087986e-01 1.5111911254455840e-01 -2.9258169938081902e-01 4.7765005480128553e-01 1 0 0 0 0 -P 199 211 3.3718414212105013e-01 5.3270697108805012e-02 -2.7744532318724890e-01 4.6150471842316365e-01 1 0 0 0 0 -V -54 0 0 0 0 0 0 2 0 -P 200 211 7.8603340975565442e-02 2.4826114704283447e-02 -1.3818930413805391e-01 2.1300443624955517e-01 1 0 0 0 0 -P 201 111 -7.2444747882162719e-01 7.5539425128146231e-01 -3.0092677963981189e+00 3.1889429118877124e+00 2 0 0 -99 0 -V -55 0 0 0 0 0 0 2 0 -P 202 211 -7.1336812839619990e-01 1.2156278646260546e-01 -2.1215576393421842e+00 2.2459203457859389e+00 1 0 0 0 0 -P 203 -211 -3.8396987451115550e-01 6.2143699058585955e-01 -3.1808611328278378e+00 3.2666456999551263e+00 1 0 0 0 0 -V -56 0 0 0 0 0 0 2 0 -P 204 321 -1.7893673284703560e-01 6.0568524101514520e-01 -1.7601004507644631e+00 1.9340288318240793e+00 1 0 0 0 0 -P 205 -211 -3.5718484953977997e-01 3.8710008422418218e-01 -1.7049727542491055e+00 1.7899271967258628e+00 1 0 0 0 0 -V -57 0 0 0 0 0 0 3 0 -P 206 111 -2.9554292158215627e-02 6.8699727020969506e-02 -6.7667418059625295e-01 6.9404658039885136e-01 2 0 0 -100 0 -P 207 111 -8.3861532678087297e-02 5.2894938783996322e-02 -8.9880718379003643e-01 9.1427817716746196e-01 2 0 0 -101 0 -P 208 111 -5.1537379352633073e-01 2.7614663553016722e-01 -3.0842146687927694e+00 3.1420481910634095e+00 2 0 0 -102 0 -V -58 0 0 0 0 0 0 2 0 -P 209 211 -2.8787457288157677e-02 2.4879370258541306e-01 -1.6687893171284660e+01 1.6690356056874656e+01 1 0 0 0 0 -P 210 111 -1.2348533400834598e-01 4.7926836171116444e-01 -4.7033438020998224e+00 4.7312376088506980e+00 2 0 0 -103 0 -V -59 0 0 0 0 0 0 2 0 -P 211 -211 3.0913726888285875e-01 -2.4912078764392806e-01 -2.5465295938249941e+00 2.5810695021589738e+00 1 0 0 0 0 -P 212 211 -7.0472479986327845e-03 -1.4536363234069261e-01 -8.3527033319280903e+00 8.3551369220027905e+00 1 0 0 0 0 -V -60 0 -2.5008859253652064e-05 1.2616002773522305e-05 -8.8040707736340902e-04 8.8086246251737634e-04 0 2 0 -P 213 22 -3.0216804572784750e-01 1.8884543693933467e-01 -1.3003859249159436e+01 1.3008740273326284e+01 1 0 0 0 0 -P 214 22 -5.0594597322126056e-01 2.1881684789260519e-01 -1.5444831448137609e+01 1.5454665334523453e+01 1 0 0 0 0 -V -61 0 0 0 0 0 0 2 0 -P 215 -211 -2.2421009461650029e-01 -6.5249877864224176e-02 -5.1189059483439948e+01 5.1189782362275601e+01 1 0 0 0 0 -P 216 111 3.4510819533982345e-01 -4.5554062643907289e-01 -6.8210690910088516e+01 6.8213218594058873e+01 2 0 0 -104 0 -V -62 0 0 0 0 0 0 3 0 -P 217 211 3.1996614273406238e-01 2.2698112849886470e-01 -2.1384580773417935e+02 2.1384621311595322e+02 1 0 0 0 0 -P 218 -211 2.0155403003524568e-02 1.0084712989668214e-01 -1.6553192481345258e+02 1.6553201560005030e+02 1 0 0 0 0 -P 219 111 2.0102218594058774e-01 -5.6970762719395704e-02 -4.9236656213007620e+01 4.9237284553733737e+01 2 0 0 -105 0 -V -63 0 0 0 0 0 0 2 0 -P 220 211 -1.1965928167053523e-02 -1.7609060069797053e-01 -1.5658354689143539e+03 1.5658354850817191e+03 1 0 0 0 0 -P 221 111 -1.4891641871379296e-01 2.3853893762025774e-01 -3.3949548407814893e+02 3.3949562737387589e+02 2 0 0 -106 0 -V -64 0 1.7224079361358685e-05 3.9993368161236640e-06 1.2236866927998514e-04 1.2388004054236708e-04 0 2 0 -P 222 22 3.4213945668553833e-02 6.0764556174071421e-02 3.9702505912805364e-01 4.0310274489375181e-01 1 0 0 0 0 -P 223 22 2.6716427064635639e-01 9.2138136881784183e-03 1.7441199336875117e+00 1.7644874567303706e+00 1 0 0 0 0 -V -65 0 0 0 0 0 0 1 0 -P 224 130 -3.0824762001330436e-01 -1.4402182869475991e-01 3.9741975944594941e+02 3.9742021668806376e+02 1 0 0 0 0 -V -66 0 0 0 0 0 0 2 0 -P 225 130 -5.6718967892915073e-01 -1.1431034690863549e+00 5.6205241242334318e+02 5.6205408136228459e+02 1 0 0 0 0 -P 226 310 -3.5147060289058818e-01 -9.1662062570886449e-01 4.3080173018224508e+02 4.3080313616360888e+02 2 0 0 -107 0 -V -67 0 0 0 0 0 0 2 0 -P 227 -311 -2.4546654743398341e-01 -2.3146159829648183e-01 2.8342132256983007e+02 2.8342196031881150e+02 2 0 0 -108 0 -P 228 -211 1.0559389890479413e-02 3.1455748153945978e-01 2.1230192600598207e+02 2.1230220517824185e+02 1 0 0 0 0 -V -68 0 4.8796540959387777e-05 -2.6727885893172615e-05 7.5462096233572576e-04 7.5683320195057979e-04 0 2 0 -P 229 22 2.6685060975905711e-01 -1.4011960385428618e-01 4.8753534441163167e+00 4.8846610892025959e+00 1 0 0 0 0 -P 230 22 1.5121375552434085e-01 -8.8871558871697537e-02 1.5898616601878772e+00 1.5995073780296898e+00 1 0 0 0 0 -V -69 0 -1.2542959339478501e+00 6.6738331238764326e-01 3.4569932764836054e+01 3.4699881135292600e+01 0 2 0 -P 231 2112 -4.8062679974778633e-01 3.6572879428995364e-01 1.4593581181314528e+01 1.4636261925509741e+01 1 0 0 0 0 -P 232 211 -8.3921271769354780e-02 -6.5345167289508649e-02 9.6605538183553463e-01 9.8186330841766378e-01 1 0 0 0 0 -V -70 0 0 0 0 0 0 2 0 -P 233 -3122 -6.4332980426235087e-02 1.6435334128651716e-01 1.4602391787438231e+01 1.4646014424730232e+01 2 0 0 -109 0 -P 234 22 -6.0263618086868719e-02 -2.1865550854848093e-02 4.2463179579810417e-01 4.2944378908284236e-01 1 0 0 0 0 -V -71 0 0 0 0 0 0 2 0 -P 235 -211 1.2164753959102612e-01 -4.5521551591701886e-01 7.1835598725210605e+00 7.2003494024120069e+00 1 0 0 0 0 -P 236 111 2.5490886059890411e-01 7.2339769121301689e-02 1.1751666788979339e+01 1.1755428681635065e+01 2 0 0 -110 0 -V -72 0 0 0 0 0 0 2 0 -P 237 -211 1.1930293579631301e-01 2.0049976557463289e-01 2.3525837282285753e+00 2.3682405557102864e+00 1 0 0 0 0 -P 238 211 2.7023525158656675e-01 -1.9690143473533661e-01 5.6736419410684646e-01 6.7318584347518806e-01 1 0 0 0 0 -V -73 0 -1.4041331718659690e-06 9.5122516778726869e-05 1.3344830860466966e-04 1.6521502703569109e-04 0 2 0 -P 239 22 -3.4840433826297368e-02 2.3835644419272761e-01 4.3776599393873217e-01 4.9966660461408824e-01 1 0 0 0 0 -P 240 22 2.5776988954046759e-02 3.7564349841102102e-01 4.2362052734556249e-01 5.6676877317521679e-01 1 0 0 0 0 -V -74 0 0 0 0 0 0 2 0 -P 241 -211 -4.8632585458811266e-02 5.7613097737265306e-01 -1.6428978489932830e-01 6.1705992397744047e-01 1 0 0 0 0 -P 242 111 2.5989684114912343e-01 1.5049630889423141e-01 3.4060456346050649e-01 4.7373682153723579e-01 2 0 0 -111 0 -V -75 0 0 0 0 0 0 2 0 -P 243 22 -8.2029197985667976e-02 -1.7893268748394126e-01 4.5302511305727694e-01 4.9394073433252722e-01 1 0 0 0 0 -P 244 22 1.7368549233198097e-01 1.0668255504719676e-01 -3.2194728432922044e-02 2.0635968195573082e-01 1 0 0 0 0 -V -76 0 0 0 0 0 0 2 0 -P 245 321 3.1196765661891573e-01 5.2753774638899031e-01 3.0966105128831014e+00 3.1950363880775470e+00 1 0 0 0 0 -P 246 111 1.1971265141411374e-02 7.1476378845153385e-02 1.0826442031294552e-01 1.8759789185276041e-01 2 0 0 -112 0 -V -77 0 0 0 0 0 0 2 0 -P 247 -321 3.7146363264552096e-01 2.5233125086536835e-02 1.5308117489269486e+00 1.6509535158909296e+00 1 0 0 0 0 -P 248 111 4.5901243856616902e-01 3.3522470827209677e-01 2.7867613575488490e+00 2.8473367359906829e+00 2 0 0 -113 0 -V -78 0 0 0 0 0 0 1 0 -P 249 130 -8.8835934438628372e-01 6.8074086066904238e-01 -5.6890766581735761e+01 5.6903950549417793e+01 1 0 0 0 0 -V -79 0 -4.4817862219771405e-06 3.0023353222897988e-06 -1.2846199085357989e-04 1.2858002379972176e-04 0 2 0 -P 250 22 -4.3665145174182041e-01 3.4929125535303568e-01 -1.3346660737281969e+01 1.3358368976318870e+01 1 0 0 0 0 -P 251 22 -1.0682997537163530e-01 1.4785343756005780e-02 -2.2312143912955911e+00 2.2338193548164194e+00 1 0 0 0 0 -V -80 0 1.1498498947914117e-05 -1.6837102901323914e-05 -3.5968316635069550e-04 3.6069740049514610e-04 0 2 0 -P 252 22 2.1038819336212194e-02 -3.0885983525310211e-02 -1.3571303869921980e-01 1.4076435902018464e-01 1 0 0 0 0 -P 253 22 6.6419842695921730e-02 -9.7178601158091210e-02 -2.6000708777066524e+00 2.6027339174654478e+00 1 0 0 0 0 -V -81 0 1.4686859594192499e-04 -2.0097206713904554e-04 -1.7779381811276310e-02 1.7781226190380851e-02 0 2 0 -P 254 22 1.3160148159474916e-01 -1.7607773501339169e-01 -1.1351519572335821e+01 1.1353647824371190e+01 1 0 0 0 0 -P 255 22 1.9756790216339634e-01 -2.7435110628171355e-01 -2.8496537235756634e+01 2.8498542700186409e+01 1 0 0 0 0 -V -82 0 5.4468947599719818e-06 1.0627040465845464e-05 -8.8638815061755207e-04 8.8650436585870627e-04 0 2 0 -P 256 22 7.4170914151783521e-02 1.1931245135626149e-01 -1.3390197719027501e+01 1.3390934685084687e+01 1 0 0 0 0 -P 257 22 1.8140566479408472e-02 6.0789768965475235e-02 -1.6319031665550834e+00 1.6331357632406374e+00 1 0 0 0 0 -V -83 0 1.1901070929278200e-05 1.0331918358570022e-05 -4.8683925535694022e-04 4.8720611336069926e-04 0 2 0 -P 258 22 5.7800358510051483e-02 1.0610466901086330e-01 -4.7377783347524538e+00 4.7393187940335411e+00 1 0 0 0 0 -P 259 22 9.6099152341945396e-02 2.7503238293923368e-02 -1.5578167178456963e+00 1.5610203078746385e+00 1 0 0 0 0 -V -84 0 1.9717825146052879e-05 -1.0024675780293960e-05 -2.6694203919439990e-03 2.6699382446536131e-03 0 2 0 -P 260 22 -3.1659375525207083e-02 2.9139435087521169e-02 -1.8076191689495109e+00 1.8081312127966784e+00 1 0 0 0 0 -P 261 22 8.7451068289363970e-02 -5.7504309359996640e-02 -5.7455202499548106e+00 5.7464734731468763e+00 1 0 0 0 0 -V -85 0 -1.1098678875795688e-05 7.9712988635923251e-06 -2.7960215080273293e-04 3.0407909509766429e-04 0 2 0 -P 262 22 -1.2404392105220950e-02 1.3072052856764920e-02 -3.3120578315562949e-01 3.3169567121854948e-01 1 0 0 0 0 -P 263 22 -2.1187813471082882e-04 -4.0107887412976712e-03 1.3371891962832829e-02 1.3962049037908679e-02 1 0 0 0 0 -V -86 0 4.3701901577387691e-05 -2.7778932303276074e-05 -3.6980602490661738e-04 3.7391937739307860e-04 0 2 0 -P 264 22 6.2980374428364197e-02 -1.0968065014364305e-01 -7.0367021794103213e-01 7.1494625545998147e-01 1 0 0 0 0 -P 265 22 2.4055413927146813e-01 -8.3259803324823314e-02 -1.8648425442445429e+00 1.8821360746754701e+00 1 0 0 0 0 -V -87 0 4.8701731099785062e-07 3.6608978379173926e-06 -1.2112849635753707e-05 1.2908375431671910e-05 0 2 0 -P 266 22 -2.7090617015867346e-02 1.4244131973944305e-01 -5.4202119215789846e-01 5.6107967691557348e-01 1 0 0 0 0 -P 267 22 5.3352751664943285e-02 5.4970537672586084e-02 -1.1115741347810988e-01 1.3499720994664230e-01 1 0 0 0 0 -V -88 0 5.7146814384201549e-06 2.4354026327390962e-05 1.9717191825030330e-04 1.9902137772319508e-04 0 2 0 -P 268 22 -2.7936966043945702e-02 1.5190345905548287e-02 3.2316443733638378e-01 3.2472522883110322e-01 1 0 0 0 0 -P 269 22 1.0251930686823132e-01 3.0265419391104781e-01 2.2501274191538188e+00 2.2727039340399169e+00 1 0 0 0 0 -V -89 0 0 0 0 0 0 1 0 -P 270 310 6.3629118454362399e-01 2.6066327066419842e-01 7.2899009219783402e+00 7.3391513605703720e+00 2 0 0 -114 0 -V -90 0 7.9367802508350484e-06 5.5245739059513326e-05 1.0292227500665664e-02 1.0292402314119905e-02 0 2 0 -P 271 22 7.8535141648213305e-02 9.9560856692336122e-02 2.1477224930174994e+01 2.1477599280040344e+01 1 0 0 0 0 -P 272 22 -2.9808474054989965e-02 2.3961204189102020e-01 4.1710356478041902e+01 4.1711055369063452e+01 1 0 0 0 0 -V -91 0 5.5297266074583105e-05 -1.0925677018674232e-04 1.2724502710143248e-02 1.2725651055903247e-02 0 2 0 -P 273 22 6.8440360627038010e-02 -7.5865663977273692e-02 4.4101211349196099e+00 4.4113045810279425e+00 1 0 0 0 0 -P 274 22 -5.8713569331480097e-03 -4.7758662190614712e-02 9.9876875379365302e+00 9.9878034481110625e+00 1 0 0 0 0 -V -92 0 8.1925385454488015e-05 -3.6875384522501292e-05 2.3250063164562518e-01 2.3250065045013255e-01 0 2 0 -P 275 22 1.6711452594100847e-02 1.6870653625057283e-02 3.6019552965433256e+01 3.6019560793008758e+01 1 0 0 0 0 -P 276 22 4.0969453328655292e-01 -2.0879998791888793e-01 1.1741018337664309e+03 1.1741019238127251e+03 1 0 0 0 0 -V -93 0 2.5961841133729550e-05 3.0674258044667582e-05 6.5765265966504665e-04 6.5893258982709882e-04 0 2 0 -P 277 22 1.3018449916600637e-02 3.4011182350692962e-02 2.7215110360084871e-01 2.7457688131793440e-01 1 0 0 0 0 -P 278 22 4.0520254140559964e-01 4.6012244020071186e-01 1.0322018464498882e+01 1.0340211165203236e+01 1 0 0 0 0 -V -94 0 3.8901737926929142e-05 2.7765787009590177e-05 1.3322338436249194e-04 1.4665811226059863e-04 0 2 0 -P 279 22 8.0063088182418432e-02 3.1238773946188861e-02 7.9613488602169380e-02 1.1715061525393101e-01 1 0 0 0 0 -P 280 22 5.6620908615590333e-02 6.6318274786224957e-02 3.8847625782063722e-01 3.9814299410312703e-01 1 0 0 0 0 -V -95 0 -2.0261701110488303e-04 -4.8018556141857103e-04 2.2688593345382702e-03 2.3305607184803791e-03 0 2 0 -P 281 22 -1.5904416100449204e-01 -5.0608925283349793e-01 2.3153084317170132e+00 2.3753051406004837e+00 1 0 0 0 0 -P 282 22 -8.8983864789347528e-02 -8.1716658249179147e-02 4.6205314557993754e-01 4.7758648407233734e-01 1 0 0 0 0 -V -96 0 5.8495528174864427e-06 -4.1082222803042357e-05 9.9224658184738723e-05 1.0820598546116414e-04 0 2 0 -P 283 22 9.1972477577124914e-02 -4.4592456889574522e-01 1.0769225359730650e+00 1.1692176043248705e+00 1 0 0 0 0 -P 284 22 -2.5486999986110755e-02 -2.1012184866980223e-02 5.0855773592181873e-02 6.0641642365914170e-02 1 0 0 0 0 -V -97 0 -4.3582543869767395e-05 7.8614637762069199e-06 1.0692921289149186e-04 1.1681873643143345e-04 0 2 0 -P 285 22 -1.8371320086265014e-01 7.4984574553145597e-02 5.9982550796311540e-01 6.3179416473668593e-01 1 0 0 0 0 -P 286 22 -1.8722012261886847e-01 -8.0752428112496038e-03 3.1025464783563805e-01 3.6245624613668997e-01 1 0 0 0 0 -V -98 0 -3.1549862434167774e-05 1.4291309528277945e-05 1.0486479030424113e-05 3.9779846943029794e-05 0 2 0 -P 287 22 -4.5641294538943424e-02 8.0409127662733962e-02 -2.3546345316033672e-03 9.2489458223355650e-02 1 0 0 0 0 -P 288 22 -2.1217902662870536e-01 3.6377118875589240e-02 8.8048427878029925e-02 2.3258495172858076e-01 1 0 0 0 0 -V -99 0 -2.0055761571577863e-04 2.0912498751302585e-04 -8.3309224193529549e-04 8.8283389170218331e-04 0 2 0 -P 289 22 -1.9843402797534637e-01 2.8458700251599517e-01 -8.9233754423776901e-01 9.5740906529855474e-01 1 0 0 0 0 -P 290 22 -5.2601345084628082e-01 4.7080724876546715e-01 -2.1169302521603504e+00 2.2315338465891585e+00 1 0 0 0 0 -V -100 0 -7.0205171904481768e-06 1.6319376283750368e-05 -1.6074154954470244e-04 1.6486830144931802e-04 0 2 0 -P 291 22 -4.8089177585023853e-02 1.0362587097307130e-01 -4.7632411591871276e-01 4.8983216874912877e-01 1 0 0 0 0 -P 292 22 1.8534885426808229e-02 -3.4926143952101800e-02 -2.0035006467754016e-01 2.0421441164972265e-01 1 0 0 0 0 -V -101 0 -2.9445537543939600e-06 1.8572518962028519e-06 -3.1558999495805265e-05 3.2102218420846526e-05 0 2 0 -P 293 22 3.5666402381186346e-02 2.3073588652214965e-02 -2.9391385055853259e-01 2.9696773276275618e-01 1 0 0 0 0 -P 294 22 -1.1952793505927364e-01 2.9821350131781360e-02 -6.0489333323150396e-01 6.1731044440470606e-01 1 0 0 0 0 -V -102 0 -8.7759702361641637e-05 4.7023241861943939e-05 -5.2519116174042308e-04 5.3503926182768037e-04 0 2 0 -P 295 22 -2.1472465776296304e-01 4.2117950914751449e-02 -1.0811445000066504e+00 1.1030657416198317e+00 1 0 0 0 0 -P 296 22 -3.0064913576336771e-01 2.3402868461541579e-01 -2.0030701687861194e+00 2.0389824494435782e+00 1 0 0 0 0 -V -103 0 -4.0051840698321302e-05 1.5544825812030132e-04 -1.5255056661093622e-03 1.5345528806099953e-03 0 2 0 -P 297 22 -5.4313704046613225e-02 4.0017399337820786e-01 -3.9524382331551000e+00 3.9730161326540991e+00 1 0 0 0 0 -P 298 22 -6.9171629961732761e-02 7.9094368332956660e-02 -7.5090556894472305e-01 7.5822147619659941e-01 1 0 0 0 0 -V -104 0 1.1538667519395299e-04 -1.5230967855984055e-04 -2.2806195109471177e-02 2.2807040238776183e-02 0 2 0 -P 299 22 4.9612560842926725e-03 -4.1366033271512226e-02 -2.5491239845056692e+00 2.5494644243747766e+00 1 0 0 0 0 -P 300 22 3.4014693925553080e-01 -4.1417459316756067e-01 -6.5661566925582846e+01 6.5663754169684097e+01 1 0 0 0 0 -V -105 0 7.5620785956994322e-05 -2.1431335219304692e-05 -1.8521909028600417e-02 1.8522145398627614e-02 0 2 0 -P 301 22 -1.0974672239015704e-03 -4.5233445978568466e-02 -1.0867124610184147e+01 1.0867218805303377e+01 1 0 0 0 0 -P 302 22 2.0211965316448932e-01 -1.1737316740827236e-02 -3.8369531602823471e+01 3.8370065748430363e+01 1 0 0 0 0 -V -106 0 -6.2050380654414509e-06 9.9394224008864708e-06 -1.4146072138620869e-02 1.4146078109456379e-02 0 2 0 -P 303 22 -9.4033662273491525e-02 4.0317931435716235e-02 -8.8853780567535210e+01 8.8853839472523276e+01 1 0 0 0 0 -P 304 22 -5.4882756440301453e-02 1.9822100618454153e-01 -2.5064170351061375e+02 2.5064178790135270e+02 1 0 0 0 0 -V -107 0 -2.2144550003270545e+01 -5.7752059811266328e+01 2.7142840331616411e+04 2.7142928916050954e+04 0 2 0 -P 305 211 -2.3773313121780820e-01 -8.7164593426833892e-01 3.6426137340252683e+02 3.6426252060369370e+02 1 0 0 0 0 -P 306 -211 -1.1373747167277996e-01 -4.4974691440525599e-02 6.6540356779718223e+01 6.6540615559915182e+01 1 0 0 0 0 -V -108 0 0 0 0 0 0 1 0 -P 307 310 -2.4546654743398341e-01 -2.3146159829648183e-01 2.8342132256983007e+02 2.8342196031881150e+02 2 0 0 -115 0 -V -109 0 -5.6270946127520340e-03 1.4375702714435555e-02 1.2772459726874328e+00 1.2810615693794176e+00 0 2 0 -P 308 -2212 4.0919391927145221e-02 1.1725248601390804e-01 1.2564638925178782e+01 1.2600235095232547e+01 1 0 0 0 0 -P 309 211 -1.0525237235338031e-01 4.7100855272609099e-02 2.0377528622594481e+00 2.0457793294976856e+00 1 0 0 0 0 -V -110 0 1.1450288377146512e-04 3.2494406652989600e-05 5.2787483859840093e-03 5.2804381960459557e-03 0 2 0 -P 310 22 -6.3766087007953286e-03 3.0788902609582693e-02 9.4162923456893888e-01 9.4215403892214522e-01 1 0 0 0 0 -P 311 22 2.6128546929969942e-01 4.1550866511718992e-02 1.0810037554410400e+01 1.0813274642712919e+01 1 0 0 0 0 -V -111 0 5.7894541595921829e-05 3.3524512174853601e-05 7.5872969366759844e-05 1.0552947084212687e-04 0 2 0 -P 312 22 1.8493418015052648e-01 6.9153434526408500e-02 1.3164339122203578e-01 2.3730324681129761e-01 1 0 0 0 0 -P 313 22 7.4962660998596956e-02 8.1342874367822907e-02 2.0896117223847074e-01 2.3643357472593826e-01 1 0 0 0 0 -V -112 0 6.9261092346014606e-07 4.1353457778057710e-06 6.2637590300657296e-06 1.0853685686557134e-05 0 2 0 -P 314 22 5.9945933835984077e-03 7.3910957463011503e-02 1.3827374467382689e-01 1.5690249599371084e-01 1 0 0 0 0 -P 315 22 5.9766717578129680e-03 -2.4345786178581225e-03 -3.0009324360881350e-02 3.0695395859049578e-02 1 0 0 0 0 -V -113 0 5.8480414582225960e-05 4.2709256374829027e-05 3.5504693519910010e-04 3.6276453269127142e-04 0 2 0 -P 316 22 4.6099053514328703e-01 3.2869887519126678e-01 2.7819803904781000e+00 2.8390086504004146e+00 1 0 0 0 0 -P 317 22 -1.9780965771179549e-03 6.5258330808300215e-03 4.7809670707489029e-03 8.3280855902691311e-03 1 0 0 0 0 -V -114 0 3.0355799215239374e+00 1.2435567393166538e+00 3.4778223250929109e+01 3.5013184297298878e+01 0 2 0 -P 318 -211 2.5778681463971853e-01 3.2771288396927750e-01 3.8506537962191199e+00 3.8756759693449960e+00 1 0 0 0 0 -P 319 211 3.7850436990390546e-01 -6.7049613305079067e-02 3.4392471257592194e+00 3.4634753912253751e+00 1 0 0 0 0 -V -115 0 -3.3015133249945685e+00 -3.1131474287994143e+00 3.8120032356080346e+03 3.8120118133013384e+03 0 2 0 -P 320 211 -2.0869993064495407e-01 7.4933172581466437e-02 1.1763461578134871e+02 1.1763490757616057e+02 1 0 0 0 0 -P 321 -211 -3.6766616789029316e-02 -3.0639477087794825e-01 1.6578670678848133e+02 1.6578705274265090e+02 1 0 0 0 0 -E 10 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 0 136 0 0 -V -1 0 0 0 0 0 1 3 0 -P 1 2212 0 0 6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -1 0 -P 16 2103 -4.3597932309017928e-02 -1.9178552605452839e-01 5.7710271643278456e+03 5.7710272192255625e+03 2 0 0 -9 0 -P 28 2 6.9871172008364035e-01 1.9445633487239519e-01 5.4217114364762290e+02 5.4217172917398170e+02 2 0 0 -13 0 -P 3 21 -6.5511378777462237e-01 -2.6708088178667958e-03 1.3902379475140679e+01 1.3917806446382523e+01 3 0 0 -3 0 -V -2 0 0 0 0 0 1 2 0 -P 2 2212 0 0 -6.9999999371178146e+03 7.0000000000000000e+03 3 0 0 -2 0 -P 4 2 1.5554951969939107e-01 -1.1414155502218004e+00 -2.5318090541773952e+02 2.5318352610953531e+02 3 0 0 -4 0 -P 31 2103 -1.5554951969939107e-01 1.1414155502218004e+00 -3.0079396582618142e+03 3.0079399777454469e+03 2 0 0 -13 0 -V -3 0 0 0 0 0 0 6 0 -P 12 21 -9.6370912240519885e-02 2.1371062251800688e-01 2.0354592242001850e+00 2.0489152828471759e+00 2 0 0 -9 0 -P 13 21 9.5280060735029493e-01 -3.6665346932772618e-02 2.4849955628758677e-02 9.5382957876527541e-01 2 0 0 -9 0 -P 14 21 1.8560548483485220e-02 -1.7257190047342610e-01 -1.8018846212308559e-01 2.5018680355946143e-01 2 0 0 -9 0 -P 15 21 7.9695242284356750e-05 -2.5824124117734876e-01 -4.6415843771256871e-01 5.3116061628844602e-01 2 0 0 -9 0 -P 11 1 1.1257705880566493e+00 -9.6356028506991842e-01 3.2813867683361453e+00 3.6155507136961815e+00 2 0 0 -9 0 -P 5 -1 -2.6336683162149233e+00 1.2040498771434778e+00 7.5527386554890201e+00 8.0888692723150033e+00 3 0 0 -5 0 -V -4 0 0 0 0 0 0 2 0 -P 6 2 1.2812912648480181e+00 -6.4858594580034412e-01 -2.4187105165040478e+02 2.4187531498172203e+02 3 0 0 -5 0 -P 30 21 -1.1480277436005311e+00 -4.8222213924733737e-01 -9.6575619960129195e+00 9.7375053067246053e+00 2 0 0 -13 0 -V -5 0 0 0 0 0 0 2 0 -P 8 22 1.3514360574585182e+00 -3.7655964528149486e+00 -4.3922038667661063e+01 4.4103872582647035e+01 3 0 0 -7 0 -P 7 24 -2.7038131088254236e+00 4.3210603841580824e+00 -1.9039627432725470e+02 2.0586031167139001e+02 3 0 0 -6 0 -V -6 0 0 0 0 0 0 1 0 -P 9 24 -2.7038131088254236e+00 4.3210603841580824e+00 -1.9039627432725470e+02 2.0586031167139001e+02 2 0 0 -8 0 -V -7 0 0 0 0 0 0 1 0 -P 10 22 1.3514360574585182e+00 -3.7655964528149486e+00 -4.3922038667661063e+01 4.4103872582647043e+01 1 0 0 0 0 -V -8 0 0 0 0 0 0 11 0 -P 17 4 1.2527727551424732e+01 -2.0291998608611124e+00 -5.0600275742191691e+01 5.2189074669550124e+01 2 0 0 -11 0 -P 18 21 8.4413619755245706e-01 -5.9573077753593484e-01 -9.7003942899011300e+00 9.7552606556087653e+00 2 0 0 -11 0 -P 19 21 1.3955327171164982e+00 -1.7699729137026712e+00 -8.4370450330890154e+00 8.7329287510064866e+00 2 0 0 -11 0 -P 20 21 1.7406612186275408e+00 -4.8453470359648625e+00 -2.0800170594403422e+01 2.1427888046498008e+01 2 0 0 -11 0 -P 21 21 4.3275523129907159e+00 -8.8306149160675105e+00 -5.6722222314980336e+01 5.7568376502795338e+01 2 0 0 -11 0 -P 22 21 5.0727116372506353e-01 5.3006276683040177e-01 -4.1876929772878206e+00 4.2514777480721468e+00 2 0 0 -11 0 -P 23 21 -1.4242475998353649e-02 2.6112816047433607e-01 -9.0335618313322297e-01 9.4044838131622055e-01 2 0 0 -11 0 -P 24 21 -2.1919670271754521e+00 3.5035232013803053e+00 -4.8234484426313431e+00 6.3517752754294783e+00 2 0 0 -11 0 -P 25 21 -1.7594584975864209e+00 2.2946842674852479e+00 -5.0312742416153835e+00 5.8030156458961768e+00 2 0 0 -11 0 -P 26 21 -1.6358735708068866e+00 1.9697163809587677e+00 -2.8994328596137606e+00 3.8681488943020028e+00 2 0 0 -11 0 -P 27 -3 -1.8445152698695317e+01 1.3832811111161117e+01 -2.6290961648407542e+01 3.4971917100915213e+01 2 0 0 -11 0 -V -9 0 0 0 0 0 0 1 0 -P 39 92 1.9572425945831762e+00 -1.4091136771899875e+00 5.7757245133761753e+03 5.7784268622207192e+03 2 0 0 -10 0 -V -10 0 0 0 0 0 0 16 0 -P 40 -211 7.4997996932615019e-01 -6.4116142761545669e-01 1.9858860190347392e+00 2.2218868099320424e+00 1 0 0 0 0 -P 41 223 2.8112506374623569e-01 5.4000903387299448e-01 5.8416822415061209e-01 1.1500024027454310e+00 2 0 0 -19 0 -P 42 2214 4.4881519761355032e-01 -1.3187483483780489e+00 2.3761689627847922e+00 3.0194592377826033e+00 2 0 0 -20 0 -P 43 223 4.4098049591794489e-02 3.6975571581476430e-01 1.2240256589844973e+00 1.5000787933206947e+00 2 0 0 -21 0 -P 44 -3122 5.1854209512044214e-01 2.8340706828298096e-01 1.4726857248798244e+00 1.9397810643032543e+00 2 0 0 -22 0 -P 45 -313 2.7417269706128827e-01 4.4906334318631121e-02 2.5317079951813390e+00 2.6984767938152476e+00 2 0 0 -23 0 -P 46 -213 -4.0680312455968282e-01 -2.5441007810341781e-01 1.5500120461449101e+00 1.7845955709874386e+00 2 0 0 -24 0 -P 47 111 1.0967169427730127e-01 -4.8556656735419729e-01 1.5733209930176220e+00 1.6557056862038457e+00 2 0 0 -25 0 -P 48 211 -2.0496925059681456e-01 3.5773003283645954e-01 8.1445332873483611e+00 8.1561562898039721e+00 1 0 0 0 0 -P 49 -211 2.9397211730379580e-01 -2.7463569397919968e-01 7.6207890473349726e+00 7.6326764544974779e+00 1 0 0 0 0 -P 50 223 -2.5509337878352928e-01 2.6149346255806938e-01 1.3907466962922905e+02 1.3907740332277268e+02 2 0 0 -26 0 -P 51 213 -3.6699974497245429e-02 -1.8001381623673610e-01 1.8723285347838268e+02 1.8723606959241326e+02 2 0 0 -27 0 -P 52 311 -2.0826395264017022e-01 -3.8873428077532614e-02 7.7769704741499027e+02 7.7769723550906360e+02 2 0 0 -28 0 -P 53 -321 2.9365263740186642e-01 -1.5350918725169876e-01 9.7138769739024906e+02 9.7138787931445381e+02 1 0 0 0 0 -P 54 2212 7.1090572027448316e-03 3.1651971253956951e-01 1.4534367235662871e+03 1.4534370608997706e+03 1 0 0 0 0 -P 55 113 4.7933697015449042e-02 -2.3601649041716902e-01 2.2178322239381737e+03 2.2178323944788513e+03 2 0 0 -29 0 -V -11 0 0 0 0 0 0 1 0 -P 56 92 -2.7038131088254218e+00 4.3210603841580841e+00 -1.9039627432725467e+02 2.0586031167138998e+02 2 0 0 -12 0 -V -12 0 0 0 0 0 0 20 0 -P 57 423 9.9248375242903197e+00 -1.8312835036795285e+00 -4.1176681461967789e+01 4.2442925679844130e+01 2 0 0 -30 0 -P 58 213 3.1593705763741533e+00 -9.7376654979652177e-01 -1.3392766193005166e+01 1.3814953051794681e+01 2 0 0 -31 0 -P 59 113 9.3523891341231291e-01 -2.2812398079724634e+00 -1.3732909593833934e+01 1.3984515733375392e+01 2 0 0 -32 0 -P 60 -213 1.0751687044528315e+00 -1.8471396089324810e+00 -1.0247617174688440e+01 1.0494828426213823e+01 2 0 0 -33 0 -P 61 211 1.0910074909423624e+00 -1.6408161014628322e+00 -1.4658262289795276e+01 1.4790764279287474e+01 1 0 0 0 0 -P 62 2112 1.8670048695663655e+00 -2.5858616180543601e+00 -1.5263383116042007e+01 1.5621332959215980e+01 1 0 0 0 0 -P 63 111 3.8895094638623819e-02 -6.8899625648955701e-02 -4.4678720222461937e-01 4.7339031599011050e-01 2 0 0 -34 0 -P 64 -2214 1.1524734474439160e+00 -3.9869224263739502e+00 -2.0153218017127685e+01 2.0618217127901126e+01 2 0 0 -35 0 -P 65 221 8.6263433165107117e-01 -6.4053962327754621e-01 -6.5229053808755504e+00 6.6334323776976012e+00 2 0 0 -36 0 -P 66 211 2.7687726878260471e-01 -4.4854367382269267e-01 -5.0833022953049456e+00 5.1124646169579897e+00 1 0 0 0 0 -P 67 -211 3.6317039313948940e-01 -6.1629174309821100e-01 -4.9883909457620250e+00 5.0413522253185885e+00 1 0 0 0 0 -P 68 111 -3.8693244171548362e-03 -6.3946170356676169e-01 -1.8470751031459909e+00 1.9592938215238989e+00 2 0 0 -37 0 -P 69 321 3.3833666963563275e-01 5.4299664689447102e-01 -3.1762619017227935e+00 3.2774376712447890e+00 1 0 0 0 0 -P 70 -323 -1.3745959258300033e+00 1.5798806728773855e+00 -2.7160124589975716e+00 3.5482417244696087e+00 2 0 0 -38 0 -P 71 211 -1.0294428816501737e+00 9.5496503398017951e-01 -2.7208975408319782e+00 3.0650406319183578e+00 1 0 0 0 0 -P 72 -211 -3.6822566989713057e-01 1.1035290774262612e+00 -1.2321916930023735e+00 1.7003360614597640e+00 1 0 0 0 0 -P 73 213 -1.6161918040002012e+00 1.2552448784983889e+00 -1.7897181449593560e+00 2.7573168640824823e+00 2 0 0 -39 0 -P 74 2112 -3.2740868421481886e+00 2.8787612972034244e+00 -6.5131664185879137e+00 7.8937342137498883e+00 1 0 0 0 0 -P 75 -2112 -2.6281380275611408e+00 3.1441450497976531e+00 -4.6117236755707163e+00 6.2404763144169966e+00 1 0 0 0 0 -P 76 313 -1.3494277917651111e+01 1.0422303713166622e+01 -2.0123003719808548e+01 2.6390257574927315e+01 2 0 0 -40 0 -V -13 0 0 0 0 0 1 1 0 -P 29 21 1.5824732804086550e+00 3.3756291283162567e+00 -3.7328965916562061e+03 3.7328984533592948e+03 2 0 0 -13 0 -P 77 92 9.7760773719237326e-01 4.2292788741631151e+00 -6.2083226682664099e+03 7.2927476655854471e+03 2 0 0 -14 0 -V -14 0 0 0 0 0 0 30 0 -P 78 211 3.8125690076946724e-02 1.8129069100767256e-01 4.0322325983256000e+01 4.0322993097831421e+01 1 0 0 0 0 -P 79 -213 8.1415453961843220e-01 -1.3658531520860595e-01 1.8147547255500226e+02 1.8147807889488487e+02 2 0 0 -41 0 -P 80 213 -3.1343969057550247e-01 -6.8751614116676532e-02 2.3490909782090895e+02 2.3491051292454674e+02 2 0 0 -42 0 -P 81 -211 2.4510416203644247e-01 1.9103572210561356e-01 4.9160055436805315e+01 4.9161235755746112e+01 1 0 0 0 0 -P 82 2212 5.9834549250678958e-02 2.2658407019457144e-01 9.6037237171125334e+00 9.6522940455458546e+00 1 0 0 0 0 -P 83 331 -4.4228289654992226e-01 -2.6644076626223800e-01 1.5250029814397761e+01 1.5288792292206974e+01 2 0 0 -43 0 -P 84 -2212 4.0600120601960499e-01 1.1341309506958630e-01 5.8544874327854846e+00 5.9441629522554207e+00 1 0 0 0 0 -P 85 211 3.1262473932432039e-01 6.7353189834058402e-01 1.8631926232668552e+00 2.0105586243668481e+00 1 0 0 0 0 -P 86 -213 -4.0230691978361560e-01 -7.2916784443047689e-01 1.2727585532551626e+00 1.6552834098551243e+00 2 0 0 -44 0 -P 87 111 -1.0918019607099445e-01 9.2778953753129487e-02 8.7863240603013404e-01 9.0041254700272333e-01 2 0 0 -45 0 -P 88 211 -1.3970682706965667e-01 -6.9289838877254262e-02 1.0396580156519743e-01 2.3368301627760824e-01 1 0 0 0 0 -P 89 311 3.4248690127551151e-01 -3.5064896127775863e-01 6.5641413010847338e-01 9.5854416210028415e-01 2 0 0 -46 0 -P 90 -311 3.4345529704259643e-02 4.2425337653113343e-01 -1.1177846011983017e+00 1.2954877021742741e+00 2 0 0 -47 0 -P 91 221 -2.2059027947856552e-02 6.8777216446446396e-02 -2.5995327345599137e+00 2.6575343547665886e+00 2 0 0 -48 0 -P 92 -211 7.8520032410541465e-02 8.6029665973671565e-02 -1.7637091485257692e-01 2.5328439237984829e-01 1 0 0 0 0 -P 93 211 9.1990315018622704e-02 -2.4519229699912645e-01 -1.7635783993765985e+00 1.7883707770517441e+00 1 0 0 0 0 -P 94 113 2.3916994123891654e-02 3.2774863600096921e-01 -2.1964548095601693e+00 2.3336785531389950e+00 2 0 0 -49 0 -P 95 -211 -2.2116319795837658e-01 -7.0985668931981008e-02 -1.4721936080260471e+02 1.4721961019863397e+02 1 0 0 0 0 -P 96 213 5.5418235924584147e-01 1.7536325683372644e+00 -1.7140605218064102e+03 1.7140616606041549e+03 2 0 0 -50 0 -P 97 113 -6.1783849261428873e-02 1.4046889857876368e-01 -1.0047869804122965e+02 1.0048130714945734e+02 2 0 0 -51 0 -P 98 221 5.3919364001689940e-01 -4.4261608605164110e-01 -1.6979921711826634e+02 1.6980153260279991e+02 2 0 0 -52 0 -P 99 1114 -2.0186593100368855e-01 5.2273469161686792e-01 -6.6287974334912337e+02 6.6288096452226989e+02 2 0 0 -53 0 -P 100 223 5.4569932897003848e-01 4.9089417068522490e-01 -5.5137637879476370e+02 5.5137741731893857e+02 2 0 0 -54 0 -P 101 -2114 -3.7116038230162590e-01 4.2691750743684054e-01 -3.0183378648302647e+02 3.0183654713177589e+02 2 0 0 -55 0 -P 102 213 1.2718626065914557e-01 -4.3273443653089196e-02 -2.0958549985729146e+01 2.0973175423021143e+01 2 0 0 -56 0 -P 103 111 -4.7798486804409918e-01 9.0585383083558874e-02 -8.5228987495888582e+00 8.5378391845859252e+00 2 0 0 -57 0 -P 104 113 1.5181900039448251e-01 4.9030903333713738e-02 -9.3885028370079510e+01 9.3887609752929094e+01 2 0 0 -58 0 -P 105 -211 -2.9881524415693622e-01 -4.2409333153494246e-02 -1.6592385765903004e+00 1.6922297540891829e+00 1 0 0 0 0 -P 106 2224 -3.7739651006785435e-01 -2.1399552580528344e-01 -1.0092898709838120e+02 1.0093591655187358e+02 2 0 0 -59 0 -P 107 -213 5.1568029838271176e-02 1.0489281204351286e+00 -2.8682166939055642e+03 2.8682169478887886e+03 2 0 0 -60 0 -V -15 0 0 0 0 0 2 1 0 -P 32 21 1.9264630307413937e+00 -4.3605697082707904e+00 -3.8703467637965021e+00 6.1404732766727497e+00 2 0 0 -15 0 -P 33 21 -1.9264630307413937e+00 4.3605697082707904e+00 1.0934871286863569e+01 1.1928840599562703e+01 2 0 0 -15 0 -P 108 92 0 0 7.0645245230670666e+00 1.8069313876235451e+01 2 0 0 -16 0 -V -16 0 0 0 0 0 0 12 0 -P 109 221 -2.7330901053064516e-01 1.7937353255594365e-01 6.5560086158529540e-01 9.1454178233157846e-01 2 0 0 -61 0 -P 110 211 -3.8949504695687842e-01 6.3318573167586201e-01 2.8287487702745040e-01 8.0754476244672213e-01 1 0 0 0 0 -P 111 -3214 1.3070293253442316e-02 6.8191945199945314e-01 3.6368408201980333e+00 3.9512642278438408e+00 2 0 0 -62 0 -P 112 111 -5.1252162865341999e-01 2.2292822157692199e-01 -3.3826285438294201e-01 6.6709577338512560e-01 2 0 0 -63 0 -P 113 3312 -2.8307230829558164e-02 7.4361433324065440e-01 2.8196795987175673e+00 3.2015918392796796e+00 2 0 0 -64 0 -P 114 321 1.7310712184575286e-01 2.5372564212865023e-01 -3.7818935156200967e-02 5.8259248962174692e-01 1 0 0 0 0 -P 115 -211 -1.7176330612558119e-01 2.3528839325019374e-01 6.2378220828836273e-01 7.0245803405367480e-01 1 0 0 0 0 -P 116 -2114 -2.3785732100599724e-01 -4.3066782908091966e-01 9.2976032860807897e-02 1.3554702372103349e+00 2 0 0 -65 0 -P 117 2214 6.0515337633293520e-01 -9.5121595517125890e-01 -9.1396794922064373e-01 1.8612896641441454e+00 2 0 0 -66 0 -P 118 221 1.5610406892865505e-01 -4.1180279740384002e-01 2.4550193443675206e-01 7.4425985152895202e-01 2 0 0 -67 0 -P 119 223 -1.6654532327853938e-01 2.6409934496084531e-01 9.2003618590961966e-01 1.2501855628480039e+00 2 0 0 -68 0 -P 120 -213 8.3236400701983415e-01 -1.4204480697325057e+00 -9.2271825719703426e-01 2.0310196515416505e+00 2 0 0 -69 0 -V -17 0 0 0 0 0 5 1 0 -P 37 21 -2.4549304752250420e+00 1.9106102320850373e+00 1.4255136986869084e+02 1.4258530838251687e+02 2 0 0 -17 0 -P 38 21 2.4549304752250420e+00 -1.9106102320850373e+00 3.9326543344547179e+02 3.9327773679443379e+02 2 0 0 -17 0 -P 34 21 -1.2874686984272923e+00 -4.5354152466705555e+00 2.9174823306294378e+01 2.9553305772157866e+01 2 0 0 -17 0 -P 35 21 -1.5824732804086550e+00 -3.3756291283162567e+00 1.8613755585412271e+01 1.8983439906629435e+01 2 0 0 -17 0 -P 36 21 1.2874686984272923e+00 4.5354152466705555e+00 7.6246561156214881e+01 7.6392183207822896e+01 2 0 0 -17 0 -P 121 92 -1.5824732804086552e+00 -3.3756291283162563e+00 6.5985194336208417e+02 6.6079197406356082e+02 2 0 0 -18 0 -V -18 0 0 0 0 0 0 21 0 -P 122 -213 2.4470237977472631e-01 9.0661371500187479e-02 1.0957930773391942e+01 1.0984198835469098e+01 2 0 0 -70 0 -P 123 211 1.4542095804863758e-01 8.3928851259360959e-01 1.4793046030567339e+01 1.4818206474124844e+01 1 0 0 0 0 -P 124 -211 1.6346163015651471e-01 6.7768762034861363e-01 3.6385442177273340e+01 3.6392387424238997e+01 1 0 0 0 0 -P 125 111 -3.2068447332136946e-01 3.8594024532024324e-01 2.9733721957725852e+00 3.0184350613158366e+00 2 0 0 -71 0 -P 126 321 3.3497849686451375e-01 1.2223626454055394e+00 2.9996662117980971e+01 3.0027483414541404e+01 1 0 0 0 0 -P 127 221 -5.8214749389140619e-01 5.7231243477632643e-01 4.5061968638670571e+01 4.5072687476149831e+01 2 0 0 -72 0 -P 128 -313 -9.2056140784737284e-02 1.1853320044069728e+00 4.0445501109361459e+01 4.0472952620159873e+01 2 0 0 -73 0 -P 129 -211 -6.8690343434950507e-02 -2.4724652780047213e-01 1.0978301805670297e+01 1.0982187374565884e+01 1 0 0 0 0 -P 130 3222 -5.6571475378204539e-01 -1.8495675331422309e-02 7.6655798754955228e+01 7.6667114586566711e+01 2 0 0 -74 0 -P 131 -3222 8.9269875728812620e-01 -2.0156941201723866e-01 1.7491908481387679e+02 1.7492552236429151e+02 2 0 0 -75 0 -P 132 111 5.4105896816734045e-01 -3.9755607846732188e-01 3.4247692832522112e+01 3.4254539547244640e+01 2 0 0 -76 0 -P 133 221 4.7159087264181826e-01 1.2020772703630062e-01 4.8034580061584379e+01 4.8040164769118533e+01 2 0 0 -77 0 -P 134 223 -3.9429121872598855e-01 -3.4625309703953722e-01 2.6395512218946230e+01 2.6411912261172318e+01 2 0 0 -78 0 -P 135 213 3.9795313085803385e-01 -6.1677401758222283e-01 3.1845668885775709e+01 3.1863855985015093e+01 2 0 0 -79 0 -P 136 313 1.0265114771882194e-01 -2.2622249924026197e-01 2.3452325229467018e+01 2.3473299881761864e+01 2 0 0 -80 0 -P 137 -313 -5.5700154512051092e-01 -1.6396713032419616e+00 1.3646660379336359e+01 1.3785980020161174e+01 2 0 0 -81 0 -P 138 111 -5.4077088808668135e-02 -2.3831882224430384e-01 3.8434254226100957e+00 3.8535514492654079e+00 2 0 0 -82 0 -P 139 -213 -5.8266223094836611e-01 -1.4614386039001783e+00 9.6551877108618420e+00 9.8199075697669720e+00 2 0 0 -83 0 -P 140 111 -7.2162541386152523e-01 -9.6677069323893028e-01 7.6826305172722131e+00 7.7779444634529762e+00 2 0 0 -84 0 -P 141 323 -9.0562613680950854e-01 -1.6754637359482516e+00 1.0954221378986349e+01 1.1149779322154751e+01 2 0 0 -85 0 -P 142 -313 -3.2412782438111951e-02 -4.3364122365194685e-01 6.9269303072013768e+00 6.9998631630231944e+00 2 0 0 -86 0 -V -19 0 0 0 0 0 0 3 0 -P 143 211 8.5723244854931269e-02 6.0053586839736363e-02 3.4776255196298755e-01 3.8906745616741811e-01 1 0 0 0 0 -P 144 -211 1.8531506706893134e-02 1.1294735671448289e-01 -1.0826952941544615e-01 2.1048182351323930e-01 1 0 0 0 0 -P 145 111 1.7687031218441127e-01 3.6700809031877518e-01 3.4467520160307075e-01 5.5045312306477356e-01 2 0 0 -87 0 -V -20 0 0 0 0 0 0 2 0 -P 146 2112 2.4934049273082956e-01 -1.0034513778020797e+00 2.1420894051923574e+00 2.5574252977683418e+00 1 0 0 0 0 -P 147 211 1.9947470488272068e-01 -3.1529697057596912e-01 2.3407955759243465e-01 4.6203394001426124e-01 1 0 0 0 0 -V -21 0 0 0 0 0 0 3 0 -P 148 211 2.4202018503168082e-01 1.4484617014986720e-01 6.7976534371923969e-01 7.4907602444050325e-01 1 0 0 0 0 -P 149 -211 -6.6861426897547510e-02 -6.1023832547298297e-02 2.4621632999211213e-01 2.9714747954563148e-01 1 0 0 0 0 -P 150 111 -1.3106070854233884e-01 2.8593337821219544e-01 2.9804398527314574e-01 4.5385528933456026e-01 2 0 0 -88 0 -V -22 0 9.6563352047872456e+01 5.2776306427173331e+01 2.7424479409799136e+02 3.6122768733868139e+02 0 2 0 -P 151 -2212 3.3107085829399807e-01 2.5462012600502582e-01 1.1978746459665013e+00 1.5778762886005071e+00 1 0 0 0 0 -P 152 211 1.8747123682644409e-01 2.8786942277955141e-02 2.7481107891332301e-01 3.6190477570274704e-01 1 0 0 0 0 -V -23 0 0 0 0 0 0 2 0 -P 153 -321 1.1436683630808112e-01 1.7624680147292271e-01 8.9963936691443347e-01 1.0474419596229463e+00 1 0 0 0 0 -P 154 211 1.5980586075320719e-01 -1.3134046715429157e-01 1.6320686282669057e+00 1.6510348341923013e+00 1 0 0 0 0 -V -24 0 0 0 0 0 0 2 0 -P 155 -211 -3.7892725164608876e-01 -2.1323299448707161e-01 3.4834728880062177e-01 5.7435162617748858e-01 1 0 0 0 0 -P 156 111 -2.7875872913594103e-02 -4.1177083616346186e-02 1.2016647573442882e+00 1.2102439448099500e+00 2 0 0 -89 0 -V -25 0 1.9645533442150538e-05 -8.6979728910064382e-05 2.8182960414027593e-04 2.9658720641656587e-04 0 2 0 -P 157 22 6.3688804206746011e-02 -1.4462149743960712e-01 3.3361177481488985e-01 3.6914557778483581e-01 1 0 0 0 0 -P 158 22 4.5982890070555262e-02 -3.4094506991459012e-01 1.2397092182027323e+00 1.2865601084190099e+00 1 0 0 0 0 -V -26 0 0 0 0 0 0 3 0 -P 159 -211 -9.6603613340956990e-02 8.1396753813179970e-02 1.3365449629037009e+01 1.3366775275318552e+01 1 0 0 0 0 -P 160 211 -1.1685871788492098e-01 3.0883905152444485e-01 5.6084708578525380e+01 5.6085854309644873e+01 1 0 0 0 0 -P 161 111 -4.1631047557651339e-02 -1.2874234277955540e-01 6.9624511421666696e+01 6.9624773737809306e+01 2 0 0 -90 0 -V -27 0 0 0 0 0 0 2 0 -P 162 211 4.9615297183541651e-01 -1.7952305223659404e-01 8.7694255163022987e+01 8.7695953525120132e+01 1 0 0 0 0 -P 163 111 -5.3285294633266200e-01 -4.9076400014206613e-04 9.9538598315359692e+01 9.9540116067293155e+01 2 0 0 -91 0 -V -28 0 0 0 0 0 0 1 0 -P 164 130 -2.0826395264017022e-01 -3.8873428077532614e-02 7.7769704741499027e+02 7.7769723550906360e+02 1 0 0 0 0 -V -29 0 0 0 0 0 0 2 0 -P 165 211 4.9099984147424301e-03 1.9716298245156322e-01 1.5278552690721040e+03 1.5278552881763790e+03 1 0 0 0 0 -P 166 -211 4.3023698600706616e-02 -4.3317947286873226e-01 6.8997695486606995e+02 6.8997710630247286e+02 1 0 0 0 0 -V -30 0 0 0 0 0 0 2 0 -P 167 421 8.7573421888733503e+00 -1.5584005896471986e+00 -3.6683661548972424e+01 3.7792684999883136e+01 2 0 0 -92 0 -P 168 22 1.1674953354169699e+00 -2.7288291403232995e-01 -4.4930199129953658e+00 4.6502406799609899e+00 1 0 0 0 0 -V -31 0 0 0 0 0 0 2 0 -P 169 211 4.2875839023686985e-01 -2.0671583581217681e-01 -3.0239811985057781e+00 3.0643934583846248e+00 1 0 0 0 0 -P 170 111 2.7306121861372836e+00 -7.6705071398434499e-01 -1.0368784994499388e+01 1.0750559593410056e+01 2 0 0 -93 0 -V -32 0 0 0 0 0 0 2 0 -P 171 -211 6.6913532265409348e-01 -1.1497333163713761e+00 -9.4612474426376263e+00 9.5553289705019964e+00 1 0 0 0 0 -P 172 211 2.6610359075821943e-01 -1.1315064916010875e+00 -4.2716621511963080e+00 4.4291867628733934e+00 1 0 0 0 0 -V -33 0 0 0 0 0 0 2 0 -P 173 -211 9.8073095541060518e-01 -1.0256404175782887e+00 -6.3296668889138790e+00 6.4882920851779993e+00 1 0 0 0 0 -P 174 111 9.4437749042226293e-02 -8.2149919135419225e-01 -3.9179502857745612e+00 4.0065363410358232e+00 2 0 0 -94 0 -V -34 0 5.6807710352650527e-07 -1.0063042688640729e-06 -6.5254907358017688e-06 6.9140389564218331e-06 0 2 0 -P 175 22 -3.1320614758231377e-02 -6.7555428947804044e-02 -1.3895740843388496e-01 1.5765112827955549e-01 1 0 0 0 0 -P 176 22 7.0215709396855189e-02 -1.3441967011516463e-03 -3.0782979379073439e-01 3.1573918771055498e-01 1 0 0 0 0 -V -35 0 0 0 0 0 0 2 0 -P 177 -2112 1.0158607703232485e+00 -2.5256186969806884e+00 -1.3305053132739511e+01 1.3613153696228572e+01 1 0 0 0 0 -P 178 -211 1.3661267712066744e-01 -1.4613037293932616e+00 -6.8481648843881722e+00 7.0050634316725500e+00 1 0 0 0 0 -V -36 0 0 0 0 0 0 3 0 -P 179 111 2.0577497595879218e-01 -9.0184808666137053e-02 -1.4114507077389808e+00 1.4355797927046268e+00 2 0 0 -95 0 -P 180 111 4.1762967717743038e-01 -1.7457001757955024e-01 -2.2827569132806103e+00 2.3311130311135639e+00 2 0 0 -96 0 -P 181 111 2.3922967851484872e-01 -3.7578479703185902e-01 -2.8286977598559608e+00 2.8667395538794112e+00 2 0 0 -97 0 -V -37 0 -1.4153395206062958e-06 -2.3390528252416852e-04 -6.7563174062637891e-04 7.1667962649706767e-04 0 2 0 -P 182 22 -5.2764102271312105e-02 -2.7285017863169636e-01 -6.6581425086460921e-01 7.2148450234377659e-01 1 0 0 0 0 -P 183 22 4.8894777854157266e-02 -3.6661152493506532e-01 -1.1812608522813814e+00 1.2378093191801220e+00 1 0 0 0 0 -V -38 0 0 0 0 0 0 2 0 -P 184 -311 -4.6100841314703395e-01 9.2307915799673013e-01 -1.4688030567429675e+00 1.8627028043458205e+00 2 0 0 -98 0 -P 185 -211 -9.1358751268296934e-01 6.5680151488065541e-01 -1.2472094022546043e+00 1.6855389201237880e+00 1 0 0 0 0 -V -39 0 0 0 0 0 0 2 0 -P 186 211 -2.9732466916018679e-01 3.8062348944596097e-01 -5.2622083077712678e-01 7.2778042516476327e-01 1 0 0 0 0 -P 187 111 -1.3188671348400147e+00 8.7462138905242814e-01 -1.2634973141822292e+00 2.0295364389177188e+00 2 0 0 -99 0 -V -40 0 0 0 0 0 0 2 0 -P 188 321 -1.0177148179868251e+01 7.8877952464503291e+00 -1.5602898362297932e+01 2.0235753931818788e+01 1 0 0 0 0 -P 189 -211 -3.3171297377828615e+00 2.5345084667162929e+00 -4.5201053575106149e+00 6.1545036431085274e+00 1 0 0 0 0 -V -41 0 0 0 0 0 0 2 0 -P 190 -211 6.5734504515515368e-01 -8.4783501213816281e-02 1.6242754517480276e+02 1.6242895739999059e+02 1 0 0 0 0 -P 191 111 1.5680949446327844e-01 -5.1801813994789669e-02 1.9047927380199486e+01 1.9049121494894198e+01 2 0 0 -100 0 -V -42 0 0 0 0 0 0 2 0 -P 192 211 -5.0619922995651788e-02 -2.7314198696764880e-01 1.7851834426888692e+02 1.7851861496553065e+02 1 0 0 0 0 -P 193 111 -2.6281976757985070e-01 2.0439037285097228e-01 5.6390753552022026e+01 5.6391897959015616e+01 2 0 0 -101 0 -V -43 0 0 0 0 0 0 3 0 -P 194 211 -7.4549090353008274e-03 -4.7591526351828985e-02 3.6465918317571173e+00 3.6495797431193293e+00 1 0 0 0 0 -P 195 -211 4.1840956779000425e-02 1.1065370009422846e-02 2.3223399295776672e+00 2.3269326680177986e+00 1 0 0 0 0 -P 196 221 -4.7666894429362194e-01 -2.2991460991983190e-01 9.2810980530629781e+00 9.3122798810698342e+00 2 0 0 -102 0 -V -44 0 0 0 0 0 0 2 0 -P 197 -211 3.2159859847224199e-02 5.1524931983974856e-02 2.2591055305043298e-01 2.7240491566948427e-01 1 0 0 0 0 -P 198 111 -4.3446677963083974e-01 -7.8069277641445167e-01 1.0468480002047293e+00 1.3828784941856385e+00 2 0 0 -103 0 -V -45 0 -3.5529310722325376e-06 3.0192034773813072e-06 2.8592368293834157e-05 2.9301135473266580e-05 0 2 0 -P 199 22 1.0875639270421181e-02 -2.5150996814891705e-02 1.6074224664701259e-01 1.6306109906244409e-01 1 0 0 0 0 -P 200 22 -1.2005583534141563e-01 1.1792995056802119e-01 7.1789015938312140e-01 7.3735144794027918e-01 1 0 0 0 0 -V -46 0 0 0 0 0 0 1 0 -P 201 130 3.4248690127551151e-01 -3.5064896127775863e-01 6.5641413010847338e-01 9.5854416210028470e-01 1 0 0 0 0 -V -47 0 0 0 0 0 0 1 0 -P 202 130 3.4345529704259643e-02 4.2425337653113343e-01 -1.1177846011983017e+00 1.2954877021742739e+00 1 0 0 0 0 -V -48 0 0 0 0 0 0 3 0 -P 203 -211 3.7755731400707987e-03 1.0039370246368491e-01 -9.8458836148270468e-01 9.9949346016574825e-01 1 0 0 0 0 -P 204 211 -9.9161576416783720e-02 -1.0551044999043914e-01 -9.9295638064943059e-01 1.0131177779839140e+00 1 0 0 0 0 -P 205 111 7.3326975328856361e-02 7.3893963973200610e-02 -6.2198799242777869e-01 6.4492311661692658e-01 2 0 0 -104 0 -V -49 0 0 0 0 0 0 2 0 -P 206 -211 -1.4056740735774267e-01 4.3090739428138275e-01 -9.2027408298128321e-01 1.0352895977284280e+00 1 0 0 0 0 -P 207 211 1.6448440148163432e-01 -1.0315875828041352e-01 -1.2761807265788860e+00 1.2983889554105663e+00 1 0 0 0 0 -V -50 0 0 0 0 0 0 2 0 -P 208 211 -1.4298661753468034e-01 3.7573616782950625e-01 -3.6032083344042366e+02 3.6032108474779415e+02 1 0 0 0 0 -P 209 111 6.9716897678052181e-01 1.3778964005077581e+00 -1.3537396883659865e+03 1.3537405758563607e+03 2 0 0 -105 0 -V -51 0 0 0 0 0 0 2 0 -P 210 211 -2.9078012283491389e-01 -1.1660259005217517e-01 -4.0121417247561617e+01 4.0122883133963313e+01 1 0 0 0 0 -P 211 -211 2.2899627357348501e-01 2.5707148863093887e-01 -6.0357280793668032e+01 6.0358424015494023e+01 1 0 0 0 0 -V -52 0 0 0 0 0 0 3 0 -P 212 -211 2.6751267029558212e-01 -1.2905333117748891e-01 -6.3913699019142889e+01 6.3914541537005043e+01 1 0 0 0 0 -P 213 211 -1.1274188888036062e-02 -1.4725853542175005e-01 -4.0564276257440682e+01 4.0564785223866963e+01 1 0 0 0 0 -P 214 111 2.8295515860935339e-01 -1.6630421945240220e-01 -6.5321241841682792e+01 6.5322205841927925e+01 2 0 0 -106 0 -V -53 0 0 0 0 0 0 2 0 -P 215 2112 -2.1845128615593268e-01 4.4798446087771526e-01 -4.9336036526094443e+02 4.9336151168614583e+02 1 0 0 0 0 -P 216 -211 1.6585355152244120e-02 7.4750230739152670e-02 -1.6951937808817900e+02 1.6951945283612403e+02 1 0 0 0 0 -V -54 0 0 0 0 0 0 3 0 -P 217 -211 1.9855211504001832e-01 2.6538607577308887e-01 -1.3606712490783372e+02 1.3606760015955496e+02 1 0 0 0 0 -P 218 211 3.7148306018183180e-01 3.1989607288807170e-01 -3.3769988231507233e+02 3.3770026699509737e+02 1 0 0 0 0 -P 219 111 -2.4335846251811649e-02 -9.4387977975935594e-02 -7.7609371571857679e+01 7.7609550164286290e+01 2 0 0 -107 0 -V -55 0 0 0 0 0 0 2 0 -P 220 -2112 -4.2947348594333151e-01 4.2878118755364686e-01 -2.4264944626776290e+02 2.4265202423762878e+02 1 0 0 0 0 -P 221 111 5.8313103641705534e-02 -1.8636801168062198e-03 -5.9184340215263624e+01 5.9184522894147172e+01 2 0 0 -108 0 -V -56 0 0 0 0 0 0 2 0 -P 222 211 2.1682504245500336e-01 -3.0690088139902211e-01 -1.5974570443628508e+01 1.5979598927801305e+01 1 0 0 0 0 -P 223 111 -8.9638781795857811e-02 2.6362743774593289e-01 -4.9839795421006370e+00 4.9935764952198349e+00 2 0 0 -109 0 -V -57 0 -4.7599329251464510e-06 9.0207949310365042e-07 -8.4873871722890296e-05 8.5022653563515400e-05 0 2 0 -P 224 22 -3.7654176681799945e-01 1.0398317559965164e-01 -7.3943111915591366e+00 7.4046224887284371e+00 1 0 0 0 0 -P 225 22 -1.0144310122609973e-01 -1.3397792516092778e-02 -1.1285875580297213e+00 1.1332166958574881e+00 1 0 0 0 0 -V -58 0 0 0 0 0 0 2 0 -P 226 211 3.4496114997444949e-01 1.7950342099730848e-01 -4.8049026935169458e+01 4.8050803207383346e+01 1 0 0 0 0 -P 227 -211 -1.9314214957996700e-01 -1.3047251766359474e-01 -4.5836001434910052e+01 4.5836806545545755e+01 1 0 0 0 0 -V -59 0 0 0 0 0 0 2 0 -P 228 2212 -3.3167235353726043e-01 -1.2810071106104892e-01 -8.1283552071314276e+01 8.1289744766884553e+01 1 0 0 0 0 -P 229 211 -4.5724156530593883e-02 -8.5894814744234493e-02 -1.9645435027066917e+01 1.9646171784989004e+01 1 0 0 0 0 -V -60 0 0 0 0 0 0 2 0 -P 230 -211 5.0134055720976158e-02 4.0626914941326336e-01 -5.8639213486603819e+02 5.8639229435641471e+02 1 0 0 0 0 -P 231 111 1.4339741172950205e-03 6.4265897102186520e-01 -2.2818245590395259e+03 2.2818246535323738e+03 2 0 0 -110 0 -V -61 0 0 0 0 0 0 3 0 -P 232 22 -3.0900926286086272e-01 3.2953746163256012e-02 3.5998311172387848e-01 4.7556336554281858e-01 1 0 0 0 0 -P 233 211 3.2072488781638424e-02 7.4310750623015523e-02 1.9183184940054263e-01 2.5065908229951850e-01 1 0 0 0 0 -P 234 -211 3.6277635485791552e-03 7.2109035769672120e-02 1.0378590046087431e-01 1.8831933448924135e-01 1 0 0 0 0 -V -62 0 0 0 0 0 0 2 0 -P 235 -3112 8.3232122072788059e-02 5.2781217484367471e-01 3.2795184750343456e+00 3.5319424202200054e+00 2 0 0 -111 0 -P 236 -211 -7.0161828819345753e-02 1.5410727715577854e-01 3.5732234516368805e-01 4.1932180762383553e-01 1 0 0 0 0 -V -63 0 -1.8944492746949275e-05 8.2401636158269830e-06 -1.2503312705566621e-05 2.4658063843313472e-05 0 2 0 -P 237 22 -6.0517711111023132e-03 6.5087741414458159e-04 -3.6556075964248064e-02 3.7059334382760996e-02 1 0 0 0 0 -P 238 22 -5.0646985754231766e-01 2.2227734416277739e-01 -3.0170677841869392e-01 6.3003643900236450e-01 1 0 0 0 0 -V -64 0 -7.8563955847677602e-01 2.0638289911218017e+01 7.8257454723169033e+01 8.8857056141573736e+01 0 2 0 -P 239 3122 5.1931187238816325e-02 4.9930613611396391e-01 2.3055770821192110e+00 2.6100634110615828e+00 2 0 0 -112 0 -P 240 -211 -8.0238418068374492e-02 2.4430819712669047e-01 5.1410251659835626e-01 5.9152842821809692e-01 1 0 0 0 0 -V -65 0 0 0 0 0 0 2 0 -P 241 -2112 3.0395501563056263e-02 -2.4405351662998401e-01 -5.3666462824919672e-02 9.7270647146344724e-01 1 0 0 0 0 -P 242 111 -2.6825282256905353e-01 -1.8661431245093574e-01 1.4664249568572760e-01 3.8276376574688753e-01 2 0 0 -113 0 -V -66 0 0 0 0 0 0 2 0 -P 243 2112 5.0572982604360539e-01 -5.8752637152712439e-01 -6.5446855545169724e-01 1.3827764711496053e+00 1 0 0 0 0 -P 244 211 9.9423550289329768e-02 -3.6368958364413451e-01 -2.5949939376894660e-01 4.7851319299453970e-01 1 0 0 0 0 -V -67 0 0 0 0 0 0 3 0 -P 245 111 8.1991508324625768e-03 -2.2739275841531278e-01 -6.9069109264228244e-03 2.6465448885791415e-01 2 0 0 -114 0 -P 246 111 1.4009134464458384e-01 -4.0884284586234554e-02 6.9315279214559475e-02 2.1052628791447428e-01 2 0 0 -115 0 -P 247 111 7.8135734516086748e-03 -1.4352575440229270e-01 1.8309356614861544e-01 2.6907907475656356e-01 2 0 0 -116 0 -V -68 0 0 0 0 0 0 3 0 -P 248 211 -1.7564763129426919e-01 3.9036294667704030e-01 5.7373381789943145e-01 7.2930487398558319e-01 1 0 0 0 0 -P 249 -211 9.8183549295323566e-02 -9.0366883444205459e-02 2.8497224847354313e-01 3.4423124535072736e-01 1 0 0 0 0 -P 250 111 -8.9081241279593756e-02 -3.5896718271989543e-02 6.1330119536645196e-02 1.7664944351169345e-01 2 0 0 -117 0 -V -69 0 0 0 0 0 0 2 0 -P 251 -211 3.2224716368830358e-01 -8.0081349545995439e-01 -1.1081394023791091e-01 8.8142214816000508e-01 1 0 0 0 0 -P 252 111 5.1011684333153062e-01 -6.1963457427255142e-01 -8.1190431695912335e-01 1.1495975033816452e+00 2 0 0 -118 0 -V -70 0 0 0 0 0 0 2 0 -P 253 -211 -1.3608073804842804e-02 3.4069193915745993e-01 4.6360081699615536e+00 4.6506244434408828e+00 1 0 0 0 0 -P 254 111 2.5831045357956911e-01 -2.5003056765727244e-01 6.3219226034303873e+00 6.3335743920282130e+00 2 0 0 -119 0 -V -71 0 -2.2191327105470943e-05 2.6707018703971986e-05 2.0575699945590383e-04 2.0887534434869823e-04 0 2 0 -P 255 22 -3.3464530112944861e-02 1.3062552833387439e-01 7.1639911157906921e-01 7.2897914270537523e-01 1 0 0 0 0 -P 256 22 -2.8721994320842464e-01 2.5531471698636882e-01 2.2569730841935161e+00 2.2894559186104617e+00 1 0 0 0 0 -V -72 0 0 0 0 0 0 3 0 -P 257 -211 -2.5370115195927556e-01 2.4389521354651730e-01 1.1941656171072713e+01 1.1947655880661921e+01 1 0 0 0 0 -P 258 211 -1.2411261561070656e-01 1.6023975462299647e-01 1.1180974600038915e+01 1.1183682466519279e+01 1 0 0 0 0 -P 259 111 -2.0433372632142410e-01 1.6817746660681263e-01 2.1939337867558944e+01 2.1941349128968632e+01 2 0 0 -120 0 -V -73 0 0 0 0 0 0 2 0 -P 260 -311 -2.2181622425943659e-01 8.2064928378335456e-01 3.4099179264428734e+01 3.4113404544560858e+01 2 0 0 -121 0 -P 261 111 1.2976008347469933e-01 3.6468272062361839e-01 6.3463218449327279e+00 6.3595480755990161e+00 2 0 0 -122 0 -V -74 0 -1.0001014862923057e+01 -3.2697666563000749e-01 1.3551631410569682e+03 1.3553631885179477e+03 0 2 0 -P 262 2112 -2.6701945902112212e-01 3.2379757227036086e-02 5.3708962497965480e+01 5.3717853570604774e+01 1 0 0 0 0 -P 263 211 -2.9869529476092338e-01 -5.0875432558458403e-02 2.2946836256989762e+01 2.2949261015961937e+01 1 0 0 0 0 -V -75 0 3.8177060219193604e+00 -8.6202960607973977e-01 7.4805709987901992e+02 7.4808463063873478e+02 0 2 0 -P 264 -2212 5.6058624701577420e-01 -8.4272389450154115e-03 1.2543095886015534e+02 1.2543572106513193e+02 1 0 0 0 0 -P 265 111 3.3211251027235189e-01 -1.9314217307222326e-01 4.9488125953721443e+01 4.9489801299159566e+01 2 0 0 -123 0 -V -76 0 4.0150324535365861e-04 -2.9501415761643132e-04 2.5414161167512602e-02 2.5419241904258205e-02 0 2 0 -P 266 22 2.1495426154852360e-01 -2.1249167000350005e-01 1.7862096858763419e+01 1.7864653991505818e+01 1 0 0 0 0 -P 267 22 3.2610470661881691e-01 -1.8506440846382186e-01 1.6385595973758694e+01 1.6389885555738825e+01 1 0 0 0 0 -V -77 0 0 0 0 0 0 3 0 -P 268 111 2.1756652006665286e-01 4.4921344540010552e-02 2.8253044127043143e+01 2.8254239950189710e+01 2 0 0 -124 0 -P 269 111 2.1168570079863799e-01 1.5888476958365427e-02 1.4419743327632153e+01 1.4421937474376135e+01 2 0 0 -125 0 -P 270 111 4.2338651776527382e-02 5.9397905537924622e-02 5.3617926069090789e+00 5.3639873445526884e+00 2 0 0 -126 0 -V -78 0 0 0 0 0 0 3 0 -P 271 211 -1.6517201415503185e-01 -2.4079978785390410e-01 5.3890218212193854e+00 5.3987315460735052e+00 1 0 0 0 0 -P 272 -211 6.1921227808798385e-02 6.5909961337744488e-02 6.8540815103096717e+00 6.8560988540368788e+00 1 0 0 0 0 -P 273 111 -2.9104043237975502e-01 -1.7136327052337760e-01 1.4152408887417174e+01 1.4157081861061936e+01 2 0 0 -127 0 -V -79 0 0 0 0 0 0 2 0 -P 274 211 -5.2151867703930009e-02 -4.6577522637422542e-01 9.3560383894911787e+00 9.3688099836287453e+00 1 0 0 0 0 -P 275 111 4.5010499856196384e-01 -1.5099879120799736e-01 2.2489630496284530e+01 2.2495046001386349e+01 2 0 0 -128 0 -V -80 0 0 0 0 0 0 2 0 -P 276 321 -2.0352232346411694e-01 -3.1853415646239830e-01 1.2546225242926846e+01 1.2561619885637212e+01 1 0 0 0 0 -P 277 -211 3.0617347118293892e-01 9.2311657222136315e-02 1.0906099986540170e+01 1.0911679996124647e+01 1 0 0 0 0 -V -81 0 0 0 0 0 0 2 0 -P 278 -321 -7.0220195411522102e-01 -1.2527226016438842e+00 1.0523045321644643e+01 1.0632051791748376e+01 1 0 0 0 0 -P 279 211 1.4520040899471007e-01 -3.8694870159807759e-01 3.1236150576917168e+00 3.1539282284127990e+00 1 0 0 0 0 -V -82 0 -7.3070249558822658e-06 -3.2202206515903731e-05 5.1933279134994169e-04 5.2070104417390720e-04 0 2 0 -P 280 22 1.2505542083726177e-02 -1.7814709059026052e-01 3.0137330713764303e+00 3.0190196753212120e+00 1 0 0 0 0 -P 281 22 -6.6582630892394315e-02 -6.0171731654043326e-02 8.2969235123366514e-01 8.3453177394419598e-01 1 0 0 0 0 -V -83 0 0 0 0 0 0 2 0 -P 282 -211 5.1916430522214251e-02 -8.9640749655295293e-01 4.1885959318955983e+00 4.2860304923351693e+00 1 0 0 0 0 -P 283 111 -6.3457866147058040e-01 -5.6503110734722573e-01 5.4665917789662455e+00 5.5338770774318045e+00 2 0 0 -129 0 -V -84 0 -1.3711706269638147e-04 -1.8369746299331976e-04 1.4597874604678092e-03 1.4778981978161132e-03 0 2 0 -P 284 22 -5.2667737066255793e-01 -6.6014242113744759e-01 5.7128746555838257e+00 5.7749557486932526e+00 1 0 0 0 0 -P 285 22 -1.9494804319896730e-01 -3.0662827210148269e-01 1.9697558616883879e+00 2.0029887147597236e+00 1 0 0 0 0 -V -85 0 0 0 0 0 0 2 0 -P 286 311 -8.8640989536248971e-01 -1.6453928479315294e+00 1.0105514131225380e+01 1.0288932471929078e+01 2 0 0 -130 0 -P 287 211 -1.9216241447018820e-02 -3.0070888016722131e-02 8.4870724776096818e-01 8.6084685022567276e-01 1 0 0 0 0 -V -86 0 0 0 0 0 0 2 0 -P 288 -321 -3.0096672158605109e-01 -3.2856288480682283e-01 5.3121460379397503e+00 5.3536035550994834e+00 1 0 0 0 0 -P 289 211 2.6855393914793912e-01 -1.0507833884512403e-01 1.6147842692616270e+00 1.6462596079237115e+00 1 0 0 0 0 -V -87 0 4.4109844203045144e-05 9.1528473519848896e-05 8.5958854573134038e-05 1.3727799312159968e-04 0 2 0 -P 290 22 -8.7160338195142774e-03 1.0407506512888258e-01 1.1322702962452645e-01 1.5403878948082347e-01 1 0 0 0 0 -P 291 22 1.8558634600392554e-01 2.6293302518989264e-01 2.3144817197854431e-01 3.9641433358395012e-01 1 0 0 0 0 -V -88 0 -3.5053496386335686e-05 7.6475739764950647e-05 7.9714842662904328e-05 1.2138813319072600e-04 0 2 0 -P 292 22 -1.3461824233850531e-01 2.0304834831798538e-01 1.5577729727085340e-01 2.8916650786351850e-01 1 0 0 0 0 -P 293 22 3.5575337961664942e-03 8.2885029894210052e-02 1.4226668800229234e-01 1.6468878147104177e-01 1 0 0 0 0 -V -89 0 -4.4554774813408138e-06 -6.5814465924921522e-06 1.9206538511148803e-04 1.9343662025378980e-04 0 2 0 -P 294 22 1.8693463926493268e-02 -3.1342886660051500e-02 1.0632171065932128e+00 1.0638432393403643e+00 1 0 0 0 0 -P 295 22 -4.6569336840087371e-02 -9.8341969562946805e-03 1.3844765075107546e-01 1.4640070546958606e-01 1 0 0 0 0 -V -90 0 -1.1519603842379508e-05 -3.5623912285813612e-05 1.9265592300701549e-02 1.9265664885424284e-02 0 2 0 -P 296 22 -8.3815127063187972e-02 -1.2256295385089019e-01 5.3865030303772741e+01 5.3865234950564684e+01 1 0 0 0 0 -P 297 22 4.2184079505536640e-02 -6.1793889286651952e-03 1.5759481117893948e+01 1.5759538787244599e+01 1 0 0 0 0 -V -91 0 -1.5697360852585788e-04 -1.4457458960692370e-07 2.9323161432635091e-02 2.9323608548484745e-02 0 2 0 -P 298 22 -4.9644516570737324e-01 -3.7151389408233211e-02 8.9402750785785713e+01 8.9404136851118892e+01 1 0 0 0 0 -P 299 22 -3.6407780625288773e-02 3.6660625408091146e-02 1.0135847529573983e+01 1.0135979216174251e+01 1 0 0 0 0 -V -92 0 1.8966305837442445e-02 -3.3751224473166320e-03 -7.9448025344839107e-02 8.1849904533435089e-02 0 4 0 -P 300 -311 2.6183277643501564e+00 6.1386138582397727e-02 -9.6191913944512102e+00 9.9817797537093131e+00 2 0 0 -131 0 -P 301 211 8.8637402086832295e-01 -3.1039363085465904e-01 -3.8525417889436788e+00 3.9678156624776282e+00 1 0 0 0 0 -P 302 -211 1.5690167489104487e+00 -1.3700604791982612e-01 -6.5896015529868883e+00 6.7766446437418670e+00 1 0 0 0 0 -P 303 111 3.6836236547444208e+00 -1.1723870494551110e+00 -1.6622326812590639e+01 1.7066444939954319e+01 2 0 0 -132 0 -V -93 0 7.4128442659675373e-04 -2.0823270018832646e-04 -2.8148335666901884e-03 2.9184746351946975e-03 0 2 0 -P 304 22 8.1742943599848239e-01 -1.6584406973187246e-01 -3.0563856276486878e+00 3.1681521811932414e+00 1 0 0 0 0 -P 305 22 1.9131827501388010e+00 -6.0120664425247261e-01 -7.3123993668507001e+00 7.5824074122168170e+00 1 0 0 0 0 -V -94 0 1.4833994199896756e-05 -1.2903859275933336e-04 -6.1541970667552427e-04 6.2933453462583595e-04 0 2 0 -P 306 22 5.6644467513777601e-02 -3.9192437164538596e-01 -2.1953408676426514e+00 2.2307700091967217e+00 1 0 0 0 0 -P 307 22 3.7793281528448693e-02 -4.2957481970880629e-01 -1.7226094181319094e+00 1.7757663318391017e+00 1 0 0 0 0 -V -95 0 4.5181862789650803e-06 -1.9801813276266907e-06 -3.0991121206199972e-05 3.1520921781356387e-05 0 2 0 -P 308 22 8.6260522514302745e-02 2.2530582118513855e-02 -3.3478032046315359e-01 3.4644821812855597e-01 1 0 0 0 0 -P 309 22 1.1951445344448942e-01 -1.1271539078465091e-01 -1.0766703872758272e+00 1.0891315745760710e+00 1 0 0 0 0 -V -96 0 8.5116093559703892e-05 -3.5578692705565099e-05 -4.6524316068253217e-04 4.7509850400360835e-04 0 2 0 -P 310 22 4.1443767343060667e-01 -1.4967313990932649e-01 -2.2238064740485206e+00 2.2670412144442822e+00 1 0 0 0 0 -P 311 22 3.1920037468237635e-03 -2.4896877670223756e-02 -5.8950439232089813e-02 6.4071816669282453e-02 1 0 0 0 0 -V -97 0 3.0282600980360872e-06 -4.7568266335714519e-06 -3.5806730204857039e-05 3.6288277676784827e-05 0 2 0 -P 312 22 9.3367976806222705e-02 -2.3060951027911883e-01 -1.2351119821318959e+00 1.2599206061216093e+00 1 0 0 0 0 -P 313 22 1.4586170170862600e-01 -1.4517528675274019e-01 -1.5935857777240650e+00 1.6068189477578019e+00 1 0 0 0 0 -V -98 0 0 0 0 0 0 1 0 -P 314 130 -4.6100841314703395e-01 9.2307915799673013e-01 -1.4688030567429675e+00 1.8627028043458205e+00 1 0 0 0 0 -V -99 0 -6.0749677413030187e-04 4.0286823319709669e-04 -5.8199231917407284e-04 9.3484537376994871e-04 0 2 0 -P 315 22 -5.8507372946487168e-01 3.1792411425789363e-01 -4.8939393290153504e-01 8.2637366420853020e-01 1 0 0 0 0 -P 316 22 -7.3379340537514304e-01 5.5669727479453446e-01 -7.7410338128069411e-01 1.2031627747091891e+00 1 0 0 0 0 -V -100 0 1.3016547532871910e-04 -4.2999996681327984e-05 1.5811431125117299e-02 1.5812422343840164e-02 0 2 0 -P 317 22 1.5804746333869230e-01 -3.9281593826614072e-02 1.8887316070568861e+01 1.8888018170095304e+01 1 0 0 0 0 -P 318 22 -1.2379688754138632e-03 -1.2520220168175604e-02 1.6061130963062439e-01 1.6110332479890169e-01 1 0 0 0 0 -V -101 0 -3.1320010615501288e-05 2.4357028797134874e-05 6.7200386642486745e-03 6.7201750422674266e-03 0 2 0 -P 319 22 -2.0941596228200959e-01 1.9785744195153840e-01 3.9131333015929883e+01 3.9132393566151876e+01 1 0 0 0 0 -P 320 22 -5.3403805297841091e-02 6.5329308994338591e-03 1.7259420536092140e+01 1.7259504392863857e+01 1 0 0 0 0 -V -102 0 0 0 0 0 0 3 0 -P 321 -211 -6.0151917037470526e-02 7.9311722353406680e-02 2.2910866605242663e+00 2.2974913434783999e+00 1 0 0 0 0 -P 322 211 -1.8066085545057711e-01 -1.2250346517093816e-01 3.1803689410937466e+00 3.1909045473101791e+00 1 0 0 0 0 -P 323 111 -2.3585617180557428e-01 -1.8672286710230040e-01 3.8096424514449647e+00 3.8238839902812538e+00 2 0 0 -133 0 -V -103 0 -1.9160483241735818e-05 -3.4429446762634630e-05 4.6167197366874553e-05 6.0986527521654494e-05 0 2 0 -P 324 22 -4.2152681502119949e-01 -7.5137863584649212e-01 1.0392920720559295e+00 1.3499565627185053e+00 1 0 0 0 0 -P 325 22 -1.2939964609640288e-02 -2.9314140567959529e-02 7.5559281487998032e-03 3.2921931467134069e-02 1 0 0 0 0 -V -104 0 2.9830838171712643e-05 3.0061500167775855e-05 -2.5303679939952156e-04 2.6236725350684323e-04 0 2 0 -P 326 22 3.5218510592828343e-02 1.0791532602972706e-01 -4.9896979581793105e-01 5.1171956990041656e-01 1 0 0 0 0 -P 327 22 3.8108464736028018e-02 -3.4021362056526450e-02 -1.2301819660984770e-01 1.3320354671651011e-01 1 0 0 0 0 -V -105 0 4.2377491725209733e-04 8.3755581868205121e-04 -8.2287213505597279e-01 8.2287267451795754e-01 0 2 0 -P 328 22 4.5179522665667199e-01 1.0179315933320865e+00 -9.5340158429428311e+02 9.5340223475640357e+02 1 0 0 0 0 -P 329 22 2.4537375012384985e-01 3.5996480717567148e-01 -4.0033810407170330e+02 4.0033834109995706e+02 1 0 0 0 0 -V -106 0 2.7213670290870733e-05 -1.5994577439058151e-05 -6.2823761447091137e-03 6.2824688589927487e-03 0 2 0 -P 330 22 2.2167340558834825e-01 -9.7157200552894965e-02 -5.5547760321911738e+01 5.5548287600977559e+01 1 0 0 0 0 -P 331 22 6.1281753021005136e-02 -6.9147018899507251e-02 -9.7734815197710532e+00 9.7739182409503673e+00 1 0 0 0 0 -V -107 0 -5.8316299800032171e-06 -2.2618311951053398e-05 -1.8597633026793233e-02 1.8597675823125447e-02 0 2 0 -P 332 22 -1.7984737530842031e-02 -2.1226756412069968e-02 -2.7141048367785494e+00 2.7142474262669105e+00 1 0 0 0 0 -P 333 22 -6.3511087209696176e-03 -7.3161221563865633e-02 -7.4895266735079133e+01 7.4895302738019382e+01 1 0 0 0 0 -V -108 0 5.8868838727987346e-06 -1.8814413465442004e-07 -5.9748378353555037e-03 5.9748562773403457e-03 0 2 0 -P 334 22 6.9648943109769781e-02 2.9835063326280664e-02 -1.6959451898039372e+01 1.6959621156977278e+01 1 0 0 0 0 -P 335 22 -1.1335839468064239e-02 -3.1698743443086888e-02 -4.2224888317224256e+01 4.2224901737169894e+01 1 0 0 0 0 -V -109 0 -1.1760798667907243e-05 3.4588480081390835e-05 -6.5390870765183397e-04 6.5516784829608410e-04 0 2 0 -P 336 22 -6.1848075575125581e-02 1.9449485808627826e-01 -2.4447993736844960e+00 2.4533033672667659e+00 1 0 0 0 0 -P 337 22 -2.7790706220732229e-02 6.9132579659654650e-02 -2.5391801684161410e+00 2.5402731279530690e+00 1 0 0 0 0 -V -110 0 1.1133139557567718e-07 4.9894987127144138e-05 -1.7715711152160191e-01 1.7715711885787144e-01 0 2 0 -P 338 22 5.1210149305939139e-02 5.3680022191438881e-01 -1.8410429184390396e+03 1.8410429974097549e+03 1 0 0 0 0 -P 339 22 -4.9776175188644113e-02 1.0585874910747640e-01 -4.4078164060048624e+02 4.4078165612261887e+02 1 0 0 0 0 -V -111 0 8.3651444920921989e+00 5.3047128888430507e+01 3.2960406661453277e+02 3.5497363213991264e+02 0 2 0 -P 340 -2112 2.4959979502932808e-01 4.1483457435636895e-01 2.8145873045782719e+00 3.0065064878947614e+00 1 0 0 0 0 -P 341 211 -1.6636767295654004e-01 1.1297760048730578e-01 4.6493117045607391e-01 5.2543593232524399e-01 1 0 0 0 0 -V -112 0 5.6116033604361382e-01 3.3587453741407344e+01 1.3805102263693735e+02 1.5654726916412105e+02 0 2 0 -P 342 2212 1.1992793272742071e-01 4.4331641651508663e-01 2.1078582809441220e+00 2.3525155216586264e+00 1 0 0 0 0 -P 343 -211 -6.7996745488604390e-02 5.5989719598877254e-02 1.9771880117508914e-01 2.5754788940295620e-01 1 0 0 0 0 -V -113 0 -1.9934912146134204e-05 -1.3868036460130835e-05 1.0897575057695162e-05 2.8444666377829044e-05 0 2 0 -P 344 22 -7.6471623616945908e-03 -4.7325606667598510e-02 -9.0136760118943275e-03 4.8779488454572417e-02 1 0 0 0 0 -P 345 22 -2.6060566020735898e-01 -1.3928870578333724e-01 1.5565617169762194e-01 3.3398427729231522e-01 1 0 0 0 0 -V -114 0 2.1360272638227475e-06 -5.9239931243597419e-05 -1.7993753681444694e-06 6.8947286767231003e-05 0 2 0 -P 346 22 -4.6502144541311519e-02 -2.4623793396686189e-02 1.1401113821310007e-02 5.3840189863615641e-02 1 0 0 0 0 -P 347 22 5.4701295373774099e-02 -2.0276896501862660e-01 -1.8308024747732833e-02 2.1081429899429852e-01 1 0 0 0 0 -V -115 0 4.8539793062532255e-05 -1.4165862411844778e-05 2.4016825005729855e-05 7.2944566814726108e-05 0 2 0 -P 348 22 -1.5453741505853599e-02 -1.0327941204819121e-03 4.5670963822391386e-02 4.8225737181418267e-02 1 0 0 0 0 -P 349 22 1.5554508615043744e-01 -3.9851490465752641e-02 2.3644315392168085e-02 1.6230055073305602e-01 1 0 0 0 0 -V -116 0 1.1104293133444440e-06 -2.0397223612887224e-05 2.6020420003133673e-05 3.8240287119304297e-05 0 2 0 -P 350 22 5.0771406605997528e-02 -4.0452964763788126e-03 5.4032352941951377e-02 7.4253587905076579e-02 1 0 0 0 0 -P 351 22 -4.2957833154388850e-02 -1.3948045792591390e-01 1.2906121320666405e-01 1.9482548685148704e-01 1 0 0 0 0 -V -117 0 -2.6036576342430157e-05 -1.0491857009467409e-05 1.7925506161217156e-05 5.1630923141319130e-05 0 2 0 -P 352 22 -1.0270748918179354e-01 -7.3080935605012304e-02 4.7240148627235183e-02 1.3461531534433765e-01 1 0 0 0 0 -P 353 22 1.3626247902199785e-02 3.7184217333022761e-02 1.4089970909410013e-02 4.2034128167355814e-02 1 0 0 0 0 -V -118 0 1.0691248272362538e-04 -1.2986567995721066e-04 -1.7016239984005995e-04 2.4093759072278827e-04 0 2 0 -P 354 22 2.0070538345311324e-02 -3.6272560866489251e-02 -8.3680527288135988e-03 4.2291245994366115e-02 1 0 0 0 0 -P 355 22 4.9004630498621926e-01 -5.8336201340606209e-01 -8.0353626423030966e-01 1.1073062573872792e+00 1 0 0 0 0 -V -119 0 2.7525122215137944e-05 -2.6642831665992929e-05 6.7365331090041411e-04 6.7489490565872043e-04 0 2 0 -P 356 22 -1.3261749120023297e-02 1.7702328450182473e-03 2.6929989477908284e-01 2.6963204750562036e-01 1 0 0 0 0 -P 357 22 2.7157220269959242e-01 -2.5180080050229070e-01 6.0526227086513051e+00 6.0639423445225926e+00 1 0 0 0 0 -V -120 0 -3.1715703820054426e-05 2.6103702096238404e-05 3.4053191039106886e-03 3.4056312822883005e-03 0 2 0 -P 358 22 -1.2742245539164479e-01 1.6454266915182736e-01 1.2849928685755119e+01 1.2851613828663774e+01 1 0 0 0 0 -P 359 22 -7.6911270929779313e-02 3.6347974549852820e-03 9.0894091818038234e+00 9.0897353003048575e+00 1 0 0 0 0 -V -121 0 0 0 0 0 0 1 0 -P 360 130 -2.2181622425943659e-01 8.2064928378335456e-01 3.4099179264428734e+01 3.4113404544560858e+01 1 0 0 0 0 -V -122 0 1.6365951152252307e-05 4.5995497474848116e-05 8.0042791688625977e-04 8.0209607121551534e-04 0 2 0 -P 361 22 1.6457473104822637e-02 1.2357630669817704e-01 3.0214087375441823e+00 3.0239796148959881e+00 1 0 0 0 0 -P 362 22 1.1330261036987670e-01 2.4110641392544135e-01 3.3249131073885452e+00 3.3355684607030280e+00 1 0 0 0 0 -V -123 0 3.8177543412316921e+00 -8.6205770648757274e-01 7.4806429994568623e+02 7.4809183094914840e+02 0 2 0 -P 363 22 2.8847555483102255e-01 -1.8442581482610237e-01 3.6678513532652126e+01 3.6680111586414981e+01 1 0 0 0 0 -P 364 22 4.3636955441329298e-02 -8.7163582461208516e-03 1.2809612421069319e+01 1.2809689712744593e+01 1 0 0 0 0 -V -124 0 1.8055353550502218e-05 3.7279208096233577e-06 2.3446562478244642e-03 2.3447554864834664e-03 0 2 0 -P 365 22 3.2840553761882885e-02 3.3487323111844082e-02 1.2824422473230022e+01 1.2824508242995824e+01 1 0 0 0 0 -P 366 22 1.8472596630477001e-01 1.1434021428166474e-02 1.5428621653813121e+01 1.5429731707193888e+01 1 0 0 0 0 -V -125 0 1.5000494737206010e-05 1.1258909510514894e-06 1.0218133916554050e-03 1.0219688735163036e-03 0 2 0 -P 367 22 2.0590072325621228e-01 1.6406750822116400e-02 1.4396424714445700e+01 1.4397906405030316e+01 1 0 0 0 0 -P 368 22 5.7849775424257200e-03 -5.1827386375097220e-04 2.3318613186452682e-02 2.4031069345820253e-02 1 0 0 0 0 -V -126 0 1.1025628596229910e-05 1.5468117627169742e-05 1.3962923100580519e-03 1.3968638531069975e-03 0 2 0 -P 369 22 -4.6518556081000337e-03 8.8937831391877178e-02 2.3566496719389329e+00 2.3583318794993993e+00 1 0 0 0 0 -P 370 22 4.6990507384627421e-02 -2.9539925853952553e-02 3.0051429349701460e+00 3.0056554650532892e+00 1 0 0 0 0 -V -127 0 -5.5259884809614866e-05 -3.2536766497669014e-05 2.6871197190801157e-03 2.6880069771947918e-03 0 2 0 -P 371 22 -1.0110895637559562e-01 -5.3295271113881944e-02 2.6031718919982696e+00 2.6056798165300958e+00 1 0 0 0 0 -P 372 22 -1.8993147600415941e-01 -1.1806799940949568e-01 1.1549236995418905e+01 1.1551402044531839e+01 1 0 0 0 0 -V -128 0 3.9393832255598700e-05 -1.3215629843371153e-05 1.9683245778019608e-03 1.9687985505421920e-03 0 2 0 -P 373 22 4.0519797499710603e-01 -1.6100216218666105e-01 1.8439347310789309e+01 1.8444501520590993e+01 1 0 0 0 0 -P 374 22 4.4907023564857852e-02 1.0003370978663674e-02 4.0502831854952213e+00 4.0505444807953541e+00 1 0 0 0 0 -V -129 0 -2.0539396101361708e-04 -1.8288351670226675e-04 1.7693707760742391e-03 1.7911489965044658e-03 0 2 0 -P 375 22 -2.7639354994895160e-01 -2.6866740687512319e-01 2.9022806969822539e+00 2.9277651569151142e+00 1 0 0 0 0 -P 376 22 -3.5818511152162880e-01 -2.9636370047210259e-01 2.5643110819839920e+00 2.6061119205166898e+00 1 0 0 0 0 -V -130 0 0 0 0 0 0 1 0 -P 377 310 -8.8640989536248971e-01 -1.6453928479315294e+00 1.0105514131225380e+01 1.0288932471929078e+01 2 0 0 -134 0 -V -131 0 1.8966305837442445e-02 -3.3751224473166320e-03 -7.9448025344839107e-02 8.1849904533435089e-02 0 1 0 -P 378 130 2.6183277643501564e+00 6.1386138582397727e-02 -9.6191913944512102e+00 9.9817797537093131e+00 1 0 0 0 0 -V -132 0 2.0149870341415778e-02 -3.7518155698254710e-03 -8.4788852159078762e-02 8.7333428458016546e-02 0 2 0 -P 379 22 2.8921594225230942e+00 -9.1550660519293359e-01 -1.2794645715543083e+01 1.3149361104468387e+01 1 0 0 0 0 -P 380 22 7.9146423222132656e-01 -2.5688044426217738e-01 -3.8276810970475545e+00 3.9170838354859354e+00 1 0 0 0 0 -V -133 0 -1.1231803604738254e-05 -8.8920063263619592e-06 1.8142054749441223e-04 1.8209874966319139e-04 0 2 0 -P 381 22 -1.1488886556337818e-01 -1.3618640965757867e-01 2.8158840839305816e+00 2.8215154374448228e+00 1 0 0 0 0 -P 382 22 -1.2096730624219609e-01 -5.0536457444721711e-02 9.9375836751438251e-01 1.0023685528364348e+00 1 0 0 0 0 -V -134 0 -5.4534669499812850e+01 -1.0122964063099396e+02 6.2172238391663780e+02 6.3300684570210751e+02 0 2 0 -P 383 111 -2.7057189871723214e-01 -3.1393099110360240e-01 1.6814506090419195e+00 1.7370254950915891e+00 2 0 0 -135 0 -P 384 111 -6.1583799664525751e-01 -1.3314618568279268e+00 8.4240635221834612e+00 8.5519069768374898e+00 2 0 0 -136 0 -V -135 0 -5.4534759776515948e+01 -1.0122974537452058e+02 6.2172294493505149e+02 6.3300742526316185e+02 0 2 0 -P 385 22 -1.0129816071137022e-01 -2.0517523717889224e-01 1.0348101654081705e+00 1.0598067152773691e+00 1 0 0 0 0 -P 386 22 -1.6927373800586196e-01 -1.0875575392471017e-01 6.4664044363374906e-01 6.7721877981422007e-01 1 0 0 0 0 -V -136 0 -5.4534805123554811e+01 -1.0122993385395240e+02 6.2172423911723217e+02 6.3300872905719666e+02 0 2 0 -P 387 22 -3.0111265749682459e-01 -7.1575180908117086e-01 4.0963761753010273e+00 4.1693245561219676e+00 1 0 0 0 0 -P 388 22 -3.1472533914843293e-01 -6.1571004774675597e-01 4.3276873468824339e+00 4.3825824207155222e+00 1 0 0 0 0 -HepMC::IO_Ascii-END_EVENT_LISTING +0 Run HepMC::IO_AsciiParticles eye-readable events output +# HepMC::Version 2.06.03 + # stat pdg moth1 px py pz energy mass eta +1 Event +210 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 2 1 -7.76e-01 -9.12e-01 1.88e+03 1.88e+03 0 8.05 + 4 3 -1 2 -1.01e+00 -1.27e-02 -4.15e+00 4.27e+00 0 -2.12 + 5 3 2 3 -5.02e+00 1.15e+00 1.48e+03 1.48e+03 0 6.35 + 6 3 -1 4 2.54e-02 8.35e+00 6.60e-01 8.37e+00 0 0.079 + 7 3 22 5 -4.03e+00 -1.23e+00 2.46e+02 2.46e+02 0 4.76 + 8 3 24 5 -9.67e-01 1.07e+01 1.23e+03 1.24e+03 137 5.43 + 9 1 22 7 -4.03e+00 -1.23e+00 2.46e+02 2.46e+02 0 4.76 + 10 2 24 8 -9.67e-01 1.07e+01 1.23e+03 1.24e+03 137 5.43 + 11 1 -13 10 -2.56e+01 4.70e+01 2.09e+02 2.16e+02 0.106 2.07 + 12 1 14 10 2.47e+01 -3.63e+01 1.02e+03 1.02e+03 0 3.84 + 13 2 2214 2 1.00e+00 2.73e-02 -4.08e+03 4.08e+03 1.2 -9.01 + 14 2 1 0 2.31e+00 5.82e+00 1.51e+02 1.51e+02 0 3.87 + 15 2 -1 0 -2.31e+00 -5.82e+00 4.62e+01 4.66e+01 0 2.7 + 16 2 2 0 -3.95e+00 -1.33e+00 3.41e+01 3.44e+01 0 2.8 + 17 2 -2 0 3.95e+00 1.33e+00 4.38e+02 4.38e+02 0 5.35 + 18 2 2 0 1.54e+00 3.04e+00 -6.32e+01 6.33e+01 0 -3.61 + 19 2 -2 0 -1.54e+00 -3.04e+00 -3.11e+02 3.11e+02 0 -5.21 + 20 2 2101 1 7.76e-01 9.12e-01 4.45e+03 4.45e+03 0.579 8.91 + 21 2 21 3 1.46e+00 -3.91e-01 1.09e+02 1.09e+02 0 4.97 + 22 2 21 3 3.11e+00 2.32e-01 1.46e+02 1.47e+02 0 4.54 + 23 2 21 3 -1.09e-01 -1.87e+00 8.61e+01 8.61e+01 0 4.52 + 24 2 21 4 -5.37e-01 -6.68e+00 4.75e+01 4.79e+01 0 2.66 + 25 2 21 4 -7.11e-01 -1.71e+00 1.08e+01 1.10e+01 0 2.46 + 26 2 1 2 8.08e-03 -1.46e-02 -2.46e+03 2.46e+03 0.33 -12.6 + 27 2 21 0 -1.37e-01 -5.99e+00 -1.38e+01 1.51e+01 0 -1.57 + 28 2 21 0 1.37e-01 5.99e+00 -6.12e+01 6.15e+01 0 -3.02 + 29 1 2212 13 1.02e+00 1.18e-01 -3.74e+03 3.74e+03 0.938 -8.89 + 30 2 111 13 -2.46e-02 -9.09e-02 -3.46e+02 3.46e+02 0.135 -8.9 + 31 2 92 14 0.00e+00 0.00e+00 1.97e+02 1.97e+02 14.8 999 + 32 1 -211 31 2.54e-01 1.65e+00 3.42e+01 3.42e+01 0.14 3.71 + 33 1 211 31 1.83e-01 -2.25e-01 8.98e+00 8.99e+00 0.14 4.13 + 34 1 -211 31 1.65e+00 3.36e+00 8.55e+01 8.56e+01 0.14 3.82 + 35 2 221 31 1.53e-01 1.01e-01 1.68e+01 1.68e+01 0.547 5.21 + 36 1 211 31 -5.43e-01 7.13e-02 3.10e+00 3.15e+00 0.14 2.44 + 37 2 221 31 -4.39e-01 -1.09e+00 1.62e+01 1.63e+01 0.547 3.32 + 38 2 -213 31 -1.18e+00 -2.20e+00 1.67e+01 1.70e+01 1.07 2.6 + 39 1 211 31 -8.40e-02 -1.67e+00 1.53e+01 1.54e+01 0.14 2.91 + 40 2 92 16 0.00e+00 0.00e+00 4.72e+02 4.72e+02 16.1 999 + 41 2 221 40 -2.68e+00 -7.41e-01 2.70e+01 2.71e+01 0.547 2.97 + 42 1 211 40 -1.08e+00 -1.77e-01 8.94e+00 9.00e+00 0.14 2.8 + 43 2 223 40 7.31e-01 -2.42e-01 2.97e+01 2.97e+01 0.78 4.35 + 44 2 -213 40 6.83e-02 2.16e-01 2.67e+01 2.67e+01 0.8 5.46 + 45 1 211 40 -7.62e-02 3.34e-01 9.98e+00 9.98e+00 0.14 4.07 + 46 2 223 40 1.18e+00 7.67e-03 1.59e+02 1.59e+02 0.783 5.6 + 47 2 -213 40 4.18e-01 2.70e-01 5.63e+01 5.63e+01 0.44 5.42 + 48 2 111 40 1.44e+00 3.32e-01 1.54e+02 1.54e+02 0.135 5.34 + 49 2 92 18 0.00e+00 0.00e+00 -3.75e+02 3.75e+02 9.1 -999 + 50 2 113 49 1.57e+00 2.83e+00 -6.11e+01 6.12e+01 0.589 -3.63 + 51 1 211 49 2.02e-01 1.20e-01 -2.70e+01 2.70e+01 0.14 -5.44 + 52 1 -211 49 -1.77e+00 -2.95e+00 -2.86e+02 2.86e+02 0.14 -5.11 + 53 2 92 20 3.99e+00 -9.52e+00 2.38e+03 7.31e+03 6.91e+03 6.14 + 54 1 2212 53 8.22e-01 7.58e-01 2.86e+03 2.86e+03 0.938 8.54 + 55 2 113 53 -3.60e-01 -1.69e-01 8.62e+02 8.62e+02 0.424 8.37 + 56 2 -2214 53 1.03e+00 9.30e-02 4.53e+02 4.53e+02 1.27 6.78 + 57 2 223 53 -3.60e-01 4.04e-01 1.25e+02 1.25e+02 0.808 6.13 + 58 1 2212 53 1.68e+00 -6.25e-01 1.57e+02 1.57e+02 0.938 5.16 + 59 2 -213 53 5.56e-01 3.45e-01 9.14e+01 9.14e+01 0.587 5.63 + 60 2 -311 53 6.88e-02 -2.98e-02 3.77e+01 3.77e+01 0.498 6.91 + 61 2 311 53 5.59e-01 -2.32e-01 5.88e+01 5.88e+01 0.498 5.27 + 62 1 211 53 3.24e-01 -1.11e+00 5.03e+01 5.03e+01 0.14 4.47 + 63 2 113 53 -1.65e-02 -7.81e-02 4.91e+00 4.95e+00 0.592 4.81 + 64 1 -211 53 7.06e-01 -6.40e-01 6.56e+01 6.56e+01 0.14 4.92 + 65 2 213 53 4.72e-01 -4.39e-01 1.44e+01 1.44e+01 0.787 3.8 + 66 2 -213 53 -3.00e-01 -3.82e-01 1.62e+01 1.63e+01 0.806 4.2 + 67 1 211 53 -4.39e-01 -3.19e+00 2.48e+01 2.50e+01 0.14 2.74 + 68 1 -211 53 -1.40e-01 -1.20e-01 4.92e-01 5.44e-01 0.14 1.71 + 69 2 -311 53 -2.66e-01 -2.65e+00 2.07e+01 2.08e+01 0.498 2.74 + 70 2 323 53 1.09e-01 -8.86e-01 4.66e+00 4.83e+00 0.89 2.36 + 71 2 113 53 -4.98e-01 -2.28e-01 1.70e+00 1.96e+00 0.801 1.85 + 72 2 -323 53 -2.90e-01 -2.30e-01 6.43e-01 1.16e+00 0.889 1.32 + 73 2 311 53 7.90e-02 -3.23e-02 -8.47e-01 9.86e-01 0.498 -2.99 + 74 2 113 53 1.28e-01 1.79e-01 -7.07e-01 1.09e+00 0.794 -1.89 + 75 1 -2112 53 2.40e-01 -6.43e-01 -2.35e+00 2.62e+00 0.94 -1.94 + 76 1 2112 53 1.43e-01 -2.20e-01 -2.23e+00 2.43e+00 0.94 -2.83 + 77 2 221 53 -1.58e-01 9.23e-01 -1.12e+01 1.12e+01 0.547 -3.18 + 78 1 211 53 -3.97e-01 -5.01e-01 -1.11e+00 1.29e+00 0.14 -1.32 + 79 2 111 53 2.87e-01 2.82e-01 -1.04e+00 1.12e+00 0.135 -1.68 + 80 2 223 53 4.06e-01 -2.45e-01 -3.51e+01 3.51e+01 0.854 -5 + 81 1 -321 53 -6.14e-01 2.77e-01 -2.28e+02 2.28e+02 0.494 -6.52 + 82 2 323 53 1.26e-01 -3.07e-01 -1.50e+03 1.50e+03 0.886 -9.11 + 83 1 -321 53 1.94e-01 2.93e-01 -1.69e+02 1.69e+02 0.494 -6.87 + 84 2 311 53 -9.36e-02 -1.11e-01 -5.09e+02 5.09e+02 0.498 -8.86 + 85 2 92 27 0.00e+00 0.00e+00 -7.51e+01 7.66e+01 15.3 -999 + 86 1 -2112 85 -3.84e-02 -2.48e+00 -7.98e+00 8.41e+00 0.94 -1.88 + 87 1 2212 85 1.88e-01 -2.14e+00 -4.49e+00 5.07e+00 0.938 -1.48 + 88 2 -213 85 2.00e-01 -1.11e-01 -1.66e+00 1.83e+00 0.735 -2.68 + 89 2 -313 85 -6.26e-01 1.37e+00 -1.29e+01 1.30e+01 0.922 -2.84 + 90 1 321 85 7.89e-02 7.45e-01 -1.09e+01 1.10e+01 0.494 -3.38 + 91 1 -211 85 4.23e-02 3.92e-01 -8.74e+00 8.75e+00 0.14 -3.79 + 92 1 211 85 6.44e-02 3.67e-01 -1.38e+00 1.43e+00 0.14 -2.02 + 93 1 -2212 85 4.16e-02 5.64e-01 -1.20e+01 1.20e+01 0.938 -3.75 + 94 1 2112 85 4.92e-02 1.30e+00 -1.50e+01 1.51e+01 0.94 -3.14 + 95 1 22 30 -4.57e-02 -1.20e-01 -2.72e+02 2.72e+02 0 -8.35 + 96 1 22 30 2.11e-02 2.92e-02 -7.38e+01 7.38e+01 0 -8.32 + 97 1 211 35 1.91e-01 1.34e-01 6.86e+00 6.86e+00 0.14 4.08 + 98 1 -211 35 -4.99e-02 -5.38e-02 4.31e+00 4.31e+00 0.14 4.77 + 99 2 111 35 1.27e-02 2.08e-02 5.61e+00 5.61e+00 0.135 6.13 + 100 2 111 37 2.02e-02 -1.98e-01 2.68e+00 2.69e+00 0.135 3.3 + 101 2 111 37 -1.94e-01 -3.08e-01 5.97e+00 5.98e+00 0.135 3.49 + 102 2 111 37 -2.65e-01 -5.85e-01 7.55e+00 7.58e+00 0.135 3.16 + 103 1 -211 38 5.93e-02 -7.99e-01 3.99e+00 4.07e+00 0.14 2.31 + 104 2 111 38 -1.24e+00 -1.40e+00 1.27e+01 1.29e+01 0.135 2.62 + 105 1 22 41 -6.34e-03 -7.93e-02 8.01e-01 8.05e-01 0 3 + 106 1 22 41 -2.67e+00 -6.61e-01 2.62e+01 2.63e+01 0 2.95 + 107 1 -211 43 1.76e-02 3.37e-02 3.20e+00 3.21e+00 0.14 5.13 + 108 1 211 43 3.94e-01 9.73e-02 1.40e+01 1.40e+01 0.14 4.24 + 109 2 111 43 3.20e-01 -3.73e-01 1.25e+01 1.25e+01 0.135 3.93 + 110 1 -211 44 -8.41e-02 -1.88e-01 1.75e+01 1.75e+01 0.14 5.14 + 111 2 111 44 1.52e-01 4.04e-01 9.17e+00 9.18e+00 0.135 3.75 + 112 1 -211 46 4.71e-01 6.85e-02 4.92e+01 4.92e+01 0.14 5.33 + 113 1 211 46 5.97e-01 -1.23e-01 1.01e+02 1.01e+02 0.14 5.8 + 114 2 111 46 1.09e-01 6.20e-02 9.26e+00 9.26e+00 0.135 5 + 115 1 -211 47 4.07e-02 6.55e-03 6.59e+00 6.59e+00 0.14 5.77 + 116 2 111 47 3.77e-01 2.64e-01 4.98e+01 4.98e+01 0.135 5.38 + 117 1 22 48 4.72e-01 4.59e-02 5.06e+01 5.06e+01 0 5.36 + 118 1 22 48 9.67e-01 2.86e-01 1.03e+02 1.03e+02 0 5.32 + 119 1 -211 50 9.16e-01 2.13e+00 -4.37e+01 4.38e+01 0.14 -3.63 + 120 1 211 50 6.49e-01 7.08e-01 -1.74e+01 1.75e+01 0.14 -3.59 + 121 1 211 55 -1.07e-01 4.26e-02 1.56e+02 1.56e+02 0.14 7.9 + 122 1 -211 55 -2.53e-01 -2.12e-01 7.07e+02 7.07e+02 0.14 8.36 + 123 1 -2212 56 4.99e-01 1.49e-01 3.29e+02 3.29e+02 0.938 7.14 + 124 2 111 56 5.28e-01 -5.58e-02 1.24e+02 1.24e+02 0.135 6.15 + 125 1 211 57 -1.22e-01 3.51e-01 3.18e+01 3.18e+01 0.14 5.14 + 126 1 -211 57 -2.21e-01 7.11e-02 8.21e+01 8.21e+01 0.14 6.56 + 127 2 111 57 -1.66e-02 -1.80e-02 1.09e+01 1.09e+01 0.135 6.79 + 128 1 -211 59 3.11e-01 3.56e-01 3.44e+01 3.44e+01 0.14 4.98 + 129 2 111 59 2.45e-01 -1.18e-02 5.70e+01 5.70e+01 0.135 6.14 + 130 2 310 60 6.88e-02 -2.98e-02 3.77e+01 3.77e+01 0.498 6.91 + 131 1 130 61 5.59e-01 -2.32e-01 5.88e+01 5.88e+01 0.498 5.27 + 132 1 211 63 1.08e-01 -5.14e-02 4.37e+00 4.38e+00 0.14 4.29 + 133 1 -211 63 -1.25e-01 -2.68e-02 5.37e-01 5.69e-01 0.14 2.14 + 134 1 211 65 1.82e-01 -5.33e-01 1.18e+01 1.18e+01 0.14 3.74 + 135 2 111 65 2.91e-01 9.43e-02 2.56e+00 2.58e+00 0.135 2.82 + 136 1 -211 66 -4.94e-01 -2.13e-01 6.74e+00 6.77e+00 0.14 3.22 + 137 2 111 66 1.93e-01 -1.69e-01 9.48e+00 9.49e+00 0.135 4.3 + 138 1 130 69 -2.66e-01 -2.65e+00 2.07e+01 2.08e+01 0.498 2.74 + 139 2 311 70 -4.56e-02 -1.94e-01 1.85e+00 1.93e+00 0.498 2.93 + 140 1 211 70 1.54e-01 -6.92e-01 2.81e+00 2.90e+00 0.14 2.08 + 141 1 211 71 7.24e-02 -1.33e-01 6.29e-02 2.15e-01 0.14 0.404 + 142 1 -211 71 -5.70e-01 -9.51e-02 1.64e+00 1.75e+00 0.14 1.77 + 143 2 -311 72 -1.02e-01 -3.76e-01 2.53e-01 6.81e-01 0.498 0.611 + 144 1 -211 72 -1.88e-01 1.45e-01 3.90e-01 4.77e-01 0.14 1.27 + 145 2 310 73 7.90e-02 -3.23e-02 -8.47e-01 9.86e-01 0.498 -2.99 + 146 1 -211 74 -7.31e-02 3.05e-01 -7.33e-01 8.10e-01 0.14 -1.58 + 147 1 211 74 2.01e-01 -1.27e-01 2.56e-02 2.77e-01 0.14 0.108 + 148 1 -211 77 -1.37e-01 2.12e-01 -2.48e+00 2.50e+00 0.14 -2.98 + 149 1 211 77 -6.29e-02 5.66e-01 -6.65e+00 6.68e+00 0.14 -3.15 + 150 2 111 77 4.20e-02 1.44e-01 -2.05e+00 2.06e+00 0.135 -3.31 + 151 1 22 79 1.31e-01 1.64e-01 -6.99e-01 7.30e-01 0 -1.92 + 152 1 22 79 1.57e-01 1.18e-01 -3.38e-01 3.91e-01 0 -1.31 + 153 1 -211 80 -6.79e-02 2.16e-01 -6.21e+00 6.22e+00 0.14 -4.01 + 154 1 211 80 4.74e-01 -4.61e-01 -2.89e+01 2.89e+01 0.14 -4.47 + 155 1 321 82 2.70e-01 -1.79e-01 -6.57e+02 6.57e+02 0.494 -8.31 + 156 2 111 82 -1.45e-01 -1.29e-01 -8.42e+02 8.42e+02 0.135 -9.07 + 157 1 130 84 -9.36e-02 -1.11e-01 -5.09e+02 5.09e+02 0.498 -8.86 + 158 1 -211 88 -1.33e-01 -2.94e-01 -9.51e-01 1.01e+00 0.14 -1.8 + 159 2 111 88 3.33e-01 1.83e-01 -7.05e-01 8.13e-01 0.135 -1.38 + 160 2 -311 89 -2.82e-02 5.68e-01 -5.71e+00 5.76e+00 0.498 -3 + 161 2 111 89 -5.98e-01 7.99e-01 -7.16e+00 7.23e+00 0.135 -2.67 + 162 1 22 99 5.81e-02 5.34e-02 3.78e+00 3.78e+00 0 4.56 + 163 1 22 99 -4.54e-02 -3.26e-02 1.83e+00 1.83e+00 0 4.18 + 164 1 22 100 2.39e-02 -9.50e-02 2.06e+00 2.06e+00 0 3.74 + 165 1 22 100 -3.65e-03 -1.03e-01 6.27e-01 6.35e-01 0 2.5 + 166 1 22 101 -2.13e-01 -2.53e-01 5.08e+00 5.10e+00 0 3.43 + 167 1 22 101 1.82e-02 -5.48e-02 8.85e-01 8.87e-01 0 3.42 + 168 1 22 102 -2.34e-01 -3.64e-01 4.90e+00 4.92e+00 0 3.12 + 169 1 22 102 -3.04e-02 -2.21e-01 2.65e+00 2.66e+00 0 3.17 + 170 1 22 104 -1.22e-02 -1.70e-02 7.27e-02 7.56e-02 0 1.96 + 171 1 22 104 -1.22e+00 -1.38e+00 1.27e+01 1.28e+01 0 2.62 + 172 1 22 109 3.26e-01 -3.46e-01 1.21e+01 1.21e+01 0 3.93 + 173 1 22 109 -6.46e-03 -2.66e-02 3.50e-01 3.51e-01 0 3.24 + 174 1 22 111 -2.15e-02 1.49e-02 4.86e-01 4.86e-01 0 3.62 + 175 1 22 111 1.74e-01 3.89e-01 8.68e+00 8.69e+00 0 3.71 + 176 1 22 114 -1.64e-02 4.04e-02 4.24e+00 4.24e+00 0 5.27 + 177 1 22 114 1.25e-01 2.17e-02 5.02e+00 5.02e+00 0 4.37 + 178 1 22 116 1.08e-01 2.89e-02 7.90e+00 7.91e+00 0 4.96 + 179 1 22 116 2.70e-01 2.35e-01 4.19e+01 4.19e+01 0 5.46 + 180 1 22 124 2.10e-01 4.29e-02 4.58e+01 4.58e+01 0 6.06 + 181 1 22 124 3.18e-01 -9.86e-02 7.82e+01 7.82e+01 0 6.15 + 182 1 22 127 -6.61e-02 -4.57e-02 6.07e+00 6.07e+00 0 5.02 + 183 1 22 127 4.94e-02 2.77e-02 4.78e+00 4.78e+00 0 5.13 + 184 1 22 129 1.69e-01 5.36e-02 3.26e+01 3.26e+01 0 5.91 + 185 1 22 129 7.62e-02 -6.54e-02 2.44e+01 2.44e+01 0 6.19 + 186 1 211 130 1.58e-01 -6.43e-02 3.22e+01 3.22e+01 0.14 5.93 + 187 1 -211 130 -8.94e-02 3.44e-02 5.50e+00 5.50e+00 0.14 4.74 + 188 1 22 135 1.27e-02 -2.62e-02 3.17e-01 3.18e-01 0 3.08 + 189 1 22 135 2.78e-01 1.20e-01 2.24e+00 2.26e+00 0 2.7 + 190 1 22 137 3.61e-04 4.27e-04 -3.17e-04 6.42e-04 0 -0.541 + 191 1 22 137 1.93e-01 -1.69e-01 9.49e+00 9.49e+00 0 4.3 + 192 2 310 139 -4.56e-02 -1.94e-01 1.85e+00 1.93e+00 0.498 2.93 + 193 2 310 143 -1.02e-01 -3.76e-01 2.53e-01 6.81e-01 0.498 0.611 + 194 1 211 145 3.78e-02 1.72e-01 -5.70e-01 6.12e-01 0.14 -1.89 + 195 1 -211 145 4.12e-02 -2.04e-01 -2.77e-01 3.74e-01 0.14 -1.1 + 196 1 22 150 2.27e-02 1.42e-01 -1.05e+00 1.06e+00 0 -2.69 + 197 1 22 150 1.93e-02 2.42e-03 -9.95e-01 9.95e-01 0 -4.63 + 198 1 22 156 -1.62e-01 -1.30e-01 -6.73e+02 6.73e+02 0 -8.78 + 199 1 22 156 1.77e-02 1.35e-03 -1.69e+02 1.69e+02 0 -9.85 + 200 1 22 159 1.34e-01 3.84e-02 -1.48e-01 2.03e-01 0 -0.924 + 201 1 22 159 1.99e-01 1.45e-01 -5.58e-01 6.10e-01 0 -1.56 + 202 2 310 160 -2.82e-02 5.68e-01 -5.71e+00 5.76e+00 0.498 -3 + 203 1 22 161 -4.61e-01 6.62e-01 -6.07e+00 6.13e+00 0 -2.72 + 204 1 22 161 -1.37e-01 1.37e-01 -1.09e+00 1.10e+00 0 -2.43 + 205 1 -211 192 -6.12e-02 7.90e-02 2.98e-01 3.44e-01 0.14 1.81 + 206 1 211 192 1.56e-02 -2.73e-01 1.56e+00 1.59e+00 0.14 2.44 + 207 1 -211 193 -2.41e-01 -3.27e-01 1.77e-01 4.65e-01 0.14 0.424 + 208 1 211 193 1.38e-01 -4.84e-02 7.57e-02 2.16e-01 0.14 0.496 + 209 1 211 202 5.42e-02 4.89e-01 -5.04e+00 5.07e+00 0.14 -3.02 + 210 1 -211 202 -8.24e-02 7.87e-02 -6.67e-01 6.91e-01 0.14 -2.47 +2 Event +624 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 21 1 2.24e-03 -3.47e-01 8.58e+00 8.58e+00 0 3.9 + 4 3 1 2 1.81e-01 -9.21e-01 -1.91e+03 1.91e+03 0 -8.31 + 5 3 -2 3 -1.22e+01 1.16e+00 -1.11e+01 1.65e+01 0 -0.813 + 6 3 1 4 -1.04e+01 -7.53e+00 -8.52e+02 8.53e+02 0 -4.89 + 7 3 22 5 -1.33e+01 -8.08e+00 -1.04e+02 1.05e+02 0 -2.6 + 8 3 -24 5 -9.28e+00 1.71e+00 -7.59e+02 7.64e+02 81.1 -5.08 + 9 1 22 7 -1.33e+01 -8.08e+00 -1.04e+02 1.05e+02 0 -2.6 + 10 2 -24 8 -9.28e+00 1.71e+00 -7.59e+02 7.64e+02 81.1 -5.08 + 11 2 -4 3 1.95e+00 -1.06e+00 -8.18e+00 8.61e+00 1.5 -2.02 + 12 2 21 3 1.85e+00 6.48e+00 -3.61e+01 3.67e+01 0 -2.38 + 13 2 1 1 -1.60e-01 2.55e-01 4.51e+02 4.51e+02 0.33 8.01 + 14 2 4 3 1.07e+01 -5.18e+00 -2.71e+01 2.96e+01 1.5 -1.56 + 15 2 21 3 3.52e-01 -6.45e-01 -1.11e+00 1.33e+00 0 -1.2 + 16 2 21 3 3.32e-02 9.61e-02 -6.60e-02 1.21e-01 0 -0.611 + 17 2 21 3 -3.76e-02 -1.65e-01 -9.73e-01 9.88e-01 0 -2.45 + 18 2 21 0 -3.89e+00 -1.90e+00 4.34e+01 4.36e+01 0 3 + 19 2 21 0 -3.91e+00 3.13e+00 7.89e+02 7.89e+02 0 5.75 + 20 2 21 0 3.89e+00 1.90e+00 1.42e+03 1.42e+03 0 6.48 + 21 2 21 0 4.37e+00 6.72e+00 8.31e+01 8.35e+01 0 3.03 + 22 2 21 0 3.91e+00 -3.13e+00 3.66e+01 3.69e+01 0 2.69 + 23 2 21 0 -1.76e+00 -3.29e+00 9.66e+00 1.04e+01 0 1.68 + 24 2 21 0 -4.37e+00 -6.72e+00 8.76e-01 8.07e+00 0 0.109 + 25 2 21 0 -2.35e+00 -1.77e+00 -4.88e+00 5.70e+00 0 -1.28 + 26 2 21 0 1.76e+00 3.29e+00 -4.65e+00 5.96e+00 0 -1.04 + 27 2 21 0 2.35e+00 1.77e+00 -7.28e+02 7.28e+02 0 -6.21 + 28 2 21 4 8.30e-01 1.28e+00 -3.84e+01 3.84e+01 0 -3.92 + 29 2 21 4 1.45e+00 3.41e+00 -3.48e+01 3.50e+01 0 -2.94 + 30 2 21 4 4.75e+00 5.08e+00 -7.07e+01 7.11e+01 0 -3.02 + 31 2 21 4 7.05e+00 5.30e+00 -7.09e+01 7.14e+01 0 -2.78 + 32 2 21 4 6.43e-05 -2.87e-01 -2.01e+00 2.03e+00 0 -2.65 + 33 2 21 4 -2.01e+00 1.84e-01 -1.00e+02 1.00e+02 0 -4.6 + 34 2 21 4 -1.92e+00 -1.52e+00 -2.29e+02 2.29e+02 0 -5.23 + 35 2 21 4 -3.17e+00 -1.74e+00 -8.38e+01 8.39e+01 0 -3.84 + 36 2 21 4 -3.72e-01 -3.53e+00 -1.09e+02 1.09e+02 0 -4.12 + 37 2 21 4 -3.12e-01 2.46e-01 -7.86e+01 7.86e+01 0 -5.98 + 38 2 21 4 2.18e+00 -6.98e-01 -1.55e+02 1.55e+02 0 -4.91 + 39 2 2203 2 -1.81e-01 9.21e-01 -4.33e+03 4.33e+03 0.771 -9.13 + 40 2 2 3 -5.76e-01 -2.17e+00 2.82e+00 3.62e+00 0.33 1.05 + 41 2 2203 1 1.57e-01 9.19e-02 4.12e+03 4.12e+03 0.771 10.7 + 42 2 -4 10 -3.64e+01 2.35e+01 -3.49e+02 3.52e+02 1.5 -2.78 + 43 2 21 10 -1.27e+00 -7.35e-02 -1.13e+01 1.14e+01 0 -2.88 + 44 2 21 10 -4.16e-02 -2.47e-01 -1.97e+00 1.98e+00 0 -2.76 + 45 2 21 10 9.29e-01 -5.25e-01 -8.27e+00 8.34e+00 0 -2.74 + 46 2 21 10 2.59e+00 -1.54e+00 -4.01e+01 4.02e+01 0 -3.28 + 47 2 3 10 2.49e+01 -1.94e+01 -3.48e+02 3.50e+02 0.5 -3.1 + 48 2 3 0 2.68e+00 -2.13e+00 -4.93e+00 6.00e+00 0 -1.16 + 49 2 -3 0 -2.68e+00 2.13e+00 2.54e+01 2.56e+01 0 2.7 + 50 2 21 0 1.28e+00 -2.63e+00 9.77e-01 3.09e+00 0 0.328 + 51 2 21 0 -1.28e+00 2.63e+00 2.15e+00 3.63e+00 0 0.68 + 52 2 92 11 3.65e+00 5.68e+00 4.07e+02 4.96e+02 284 4.79 + 53 2 -423 52 1.80e+00 -7.41e-01 -9.90e+00 1.03e+01 2.01 -2.33 + 54 2 -323 52 5.03e-01 1.51e+00 -6.41e+00 6.67e+00 0.968 -2.1 + 55 2 313 52 6.48e-01 1.70e+00 -1.25e+01 1.27e+01 0.951 -2.62 + 56 2 113 52 3.14e-01 1.06e+00 -3.82e+00 4.04e+00 0.749 -1.95 + 57 2 223 52 8.27e-03 4.69e-01 -5.55e+00 5.62e+00 0.777 -3.16 + 58 2 213 52 1.90e-01 8.19e-01 -3.63e+00 3.80e+00 0.704 -2.17 + 59 2 223 52 4.76e-01 3.30e-01 -1.30e+00 1.62e+00 0.766 -1.55 + 60 2 -323 52 -1.01e-01 5.65e-03 1.73e-01 8.22e-01 0.797 1.3 + 61 2 313 52 -7.71e-02 3.71e-01 6.58e-01 1.14e+00 0.846 1.32 + 62 2 213 52 -3.58e-01 -1.85e-01 2.02e-01 7.59e-01 0.61 0.482 + 63 2 221 52 5.37e-01 2.24e-01 7.68e+00 7.72e+00 0.547 3.27 + 64 2 -213 52 -3.57e-01 -2.47e-01 4.39e+00 4.44e+00 0.443 3.01 + 65 1 211 52 -9.70e-03 -2.00e-01 9.73e-01 1.00e+00 0.14 2.29 + 66 2 -213 52 3.60e-01 -1.91e-02 2.45e+01 2.45e+01 0.739 4.91 + 67 2 113 52 -3.73e-01 1.18e-02 3.83e+01 3.84e+01 0.748 5.33 + 68 2 113 52 -9.06e-02 1.63e-01 1.67e+02 1.67e+02 0.742 7.49 + 69 2 221 52 1.73e-01 4.07e-01 2.06e+02 2.06e+02 0.547 6.83 + 70 2 92 14 1.93e+01 2.76e+00 -3.69e+03 8.47e+03 7.62e+03 -5.94 + 71 2 423 70 6.74e+00 -3.13e+00 -1.81e+01 1.96e+01 2.01 -1.62 + 72 2 213 70 1.08e+00 -6.60e-01 -2.31e+00 2.70e+00 0.597 -1.36 + 73 2 331 70 8.84e-01 -9.17e-01 -1.33e+00 2.07e+00 0.958 -0.911 + 74 2 -213 70 1.67e+00 -6.02e-01 -4.33e+00 4.71e+00 0.59 -1.63 + 75 2 111 70 -2.29e-01 -5.45e-02 -1.11e+00 1.15e+00 0.135 -2.26 + 76 1 211 70 1.91e-01 -3.77e-01 3.30e-01 5.54e-01 0.14 0.718 + 77 1 -211 70 2.15e-01 4.10e-01 1.16e-01 4.98e-01 0.14 0.248 + 78 1 211 70 1.18e-01 -7.30e-01 -1.31e+00 1.51e+00 0.14 -1.34 + 79 2 3112 70 -1.25e-01 -5.92e-02 4.02e+00 4.19e+00 1.2 4.06 + 80 2 311 70 -1.08e-01 -3.01e-02 1.70e+00 1.77e+00 0.498 3.41 + 81 2 -1114 70 -5.93e-01 -4.62e-01 7.53e+00 7.69e+00 1.37 3 + 82 1 -211 70 -3.95e-01 3.08e-01 9.39e+00 9.40e+00 0.14 3.62 + 83 1 211 70 -3.13e-01 -7.22e-01 8.53e+00 8.56e+00 0.14 3.08 + 84 2 -213 70 -1.27e-01 -1.01e-01 5.15e+00 5.19e+00 0.646 4.15 + 85 2 213 70 -1.20e+00 -1.22e-01 2.34e+01 2.35e+01 0.775 3.66 + 86 2 223 70 -7.42e-02 1.42e-01 1.52e+01 1.52e+01 0.781 5.24 + 87 2 -213 70 -9.01e-01 -6.04e-01 2.49e+01 2.49e+01 0.699 3.83 + 88 2 323 70 -3.96e-01 4.77e-01 8.35e+01 8.35e+01 0.901 5.6 + 89 2 -313 70 -1.18e+00 4.38e-01 2.34e+02 2.34e+02 0.898 5.92 + 90 2 111 70 -2.10e-02 1.47e-01 2.20e+01 2.20e+01 0.135 5.69 + 91 2 -213 70 -1.47e+00 1.82e+00 3.92e+02 3.92e+02 0.824 5.81 + 92 2 213 70 1.75e+00 1.50e+00 6.91e+02 6.91e+02 0.87 6.4 + 93 1 -211 70 -8.94e-02 -3.08e-01 1.41e+02 1.41e+02 0.14 6.78 + 94 2 111 70 7.06e-01 3.83e-01 1.68e+02 1.68e+02 0.135 6.04 + 95 2 223 70 1.83e-01 6.58e-01 2.64e+02 2.64e+02 0.784 6.65 + 96 2 113 70 1.17e+00 -6.49e-01 1.09e+02 1.09e+02 0.829 5.1 + 97 2 213 70 -3.59e-02 9.92e-01 3.73e+01 3.74e+01 0.911 4.32 + 98 2 221 70 4.22e-01 3.30e-01 8.56e+00 8.60e+00 0.547 3.47 + 99 2 -213 70 9.75e-01 2.54e+00 3.20e+01 3.22e+01 0.923 3.16 + 100 2 111 70 1.28e+00 5.91e-01 1.83e+01 1.84e+01 0.135 3.26 + 101 2 331 70 1.59e+00 2.22e+00 3.03e+01 3.04e+01 0.958 3.1 + 102 2 213 70 1.77e+00 -1.58e+00 1.71e+01 1.73e+01 0.88 2.67 + 103 1 -211 70 -1.88e-01 -1.28e-01 3.87e+00 3.88e+00 0.14 3.53 + 104 1 211 70 6.95e-01 -7.43e-02 2.83e+00 2.91e+00 0.14 2.11 + 105 2 311 70 6.37e-01 -2.90e-01 6.13e+00 6.19e+00 0.498 2.87 + 106 2 333 70 8.72e-02 -2.03e+00 7.62e+00 7.95e+00 1.02 2.03 + 107 2 -323 70 -1.98e-01 -1.55e-01 2.64e+00 2.79e+00 0.867 3.05 + 108 2 113 70 -1.10e+00 -1.90e+00 5.32e+00 5.81e+00 0.796 1.62 + 109 2 213 70 -7.23e-01 -7.70e-01 6.13e-01 1.63e+00 1.08 0.552 + 110 1 -211 70 -4.35e-01 -8.15e-01 1.78e-01 9.51e-01 0.14 0.191 + 111 2 213 70 -5.97e-01 -1.22e+00 2.67e-01 1.55e+00 0.704 0.196 + 112 1 -211 70 -1.43e+00 -1.65e+00 4.83e-01 2.24e+00 0.14 0.22 + 113 2 111 70 4.36e-02 -2.43e-01 6.27e-02 2.89e-01 0.135 0.251 + 114 2 213 70 -1.15e+00 -1.72e+00 -2.01e+00 2.97e+00 0.71 -0.861 + 115 2 -213 70 -9.95e-01 -3.87e-01 -1.11e+00 1.63e+00 0.55 -0.907 + 116 1 321 70 3.64e-01 4.39e-01 9.92e-02 7.61e-01 0.494 0.173 + 117 1 -321 70 -1.27e-01 -1.02e+00 -1.45e+00 1.85e+00 0.494 -1.14 + 118 1 211 70 -2.01e-01 3.58e-01 -1.79e+00 1.84e+00 0.14 -2.18 + 119 2 311 70 -2.88e-01 7.23e-01 -1.33e+00 1.62e+00 0.498 -1.3 + 120 1 -321 70 1.03e-01 -1.31e-01 -8.45e-01 9.93e-01 0.494 -2.33 + 121 2 113 70 -2.01e-02 9.67e-01 -2.76e+00 3.05e+00 0.864 -1.77 + 122 2 213 70 6.99e-01 4.88e-01 -2.14e+00 2.37e+00 0.552 -1.65 + 123 2 223 70 1.59e-01 -2.33e-01 -7.42e+00 7.46e+00 0.768 -3.96 + 124 2 223 70 -3.07e-01 5.68e-01 -1.77e+01 1.77e+01 0.787 -4 + 125 2 1114 70 7.70e-01 -3.47e-01 -1.94e+02 1.94e+02 1.1 -6.13 + 126 2 111 70 6.52e-01 1.56e+00 -1.11e+02 1.11e+02 0.135 -4.88 + 127 1 -2112 70 1.08e-01 9.33e-02 -7.63e+01 7.63e+01 0.94 -6.97 + 128 1 211 70 3.93e-01 -4.83e-01 -5.97e+01 5.97e+01 0.14 -5.26 + 129 1 -211 70 -4.91e-02 3.02e-01 -5.27e+01 5.27e+01 0.14 -5.84 + 130 2 113 70 7.74e-01 8.64e-01 -8.89e+01 8.89e+01 0.742 -5.03 + 131 2 223 70 1.70e-02 2.83e-01 -9.69e+01 9.69e+01 0.764 -6.53 + 132 2 223 70 3.02e-01 2.43e-01 -3.21e+01 3.21e+01 0.75 -5.11 + 133 2 221 70 6.52e-01 -1.30e-02 -7.49e+00 7.53e+00 0.547 -3.14 + 134 2 213 70 1.25e+00 2.45e+00 -3.91e+01 3.93e+01 1.09 -3.35 + 135 2 221 70 8.86e-01 9.16e-01 -1.24e+01 1.25e+01 0.547 -2.97 + 136 1 -211 70 1.82e+00 1.89e+00 -2.77e+01 2.78e+01 0.14 -3.05 + 137 2 111 70 7.22e-01 1.16e+00 -1.29e+01 1.29e+01 0.135 -2.94 + 138 2 113 70 1.21e+00 1.68e+00 -1.89e+01 1.90e+01 0.755 -2.91 + 139 1 211 70 1.12e+00 5.04e-01 -1.16e+01 1.17e+01 0.14 -2.95 + 140 2 -213 70 4.58e-01 1.15e+00 -1.84e+01 1.85e+01 1.15 -3.39 + 141 2 213 70 2.08e+00 1.68e+00 -2.61e+01 2.63e+01 0.705 -2.98 + 142 2 313 70 1.78e+00 1.24e+00 -2.26e+01 2.27e+01 0.964 -3.04 + 143 2 -313 70 1.42e+00 6.47e-01 -1.81e+01 1.82e+01 0.948 -3.15 + 144 1 2112 70 -1.12e+00 5.37e-01 -5.10e+01 5.10e+01 0.94 -4.41 + 145 2 -213 70 -5.75e-01 -4.78e-01 -9.45e+01 9.45e+01 0.604 -5.53 + 146 2 -1114 70 -8.04e-01 -7.43e-01 -3.40e+01 3.40e+01 1.26 -4.13 + 147 2 -213 70 -1.80e-01 6.29e-02 -4.32e+01 4.32e+01 0.734 -6.12 + 148 1 211 70 -1.19e+00 -2.34e-01 -3.93e+01 3.93e+01 0.14 -4.18 + 149 2 311 70 -1.41e+00 -2.18e+00 -7.90e+01 7.90e+01 0.498 -4.11 + 150 2 -323 70 -3.04e-01 -3.92e-01 -7.88e+01 7.88e+01 0.891 -5.76 + 151 2 213 70 -1.80e+00 -1.21e+00 -8.93e+01 8.94e+01 0.954 -4.41 + 152 2 113 70 4.91e-01 -9.72e-01 -5.04e+01 5.05e+01 0.945 -4.53 + 153 2 221 70 2.67e-01 -2.61e-01 -2.16e+01 2.16e+01 0.547 -4.75 + 154 2 311 70 4.13e-01 1.80e-01 -8.91e+01 8.91e+01 0.498 -5.98 + 155 1 -321 70 3.69e-01 -3.68e-01 -5.25e+01 5.25e+01 0.494 -5.31 + 156 2 221 70 -4.10e-01 -2.74e-01 -4.88e+01 4.88e+01 0.547 -5.29 + 157 1 211 70 7.13e-01 -3.28e-01 -1.35e+02 1.35e+02 0.14 -5.84 + 158 2 113 70 -8.56e-01 4.51e-01 -3.86e+02 3.86e+02 0.787 -6.68 + 159 1 -211 70 8.50e-01 -2.44e-01 -2.40e+03 2.40e+03 0.14 -8.6 + 160 2 2224 70 -1.90e-03 7.51e-01 -1.39e+03 1.39e+03 1.25 -8.22 + 161 2 92 40 -4.19e-01 -2.08e+00 4.13e+03 4.13e+03 81.2 8.27 + 162 1 211 161 -3.13e-01 -1.66e+00 2.96e+00 3.41e+00 0.14 1.33 + 163 2 223 161 -1.35e-02 1.05e-01 2.90e+00 3.01e+00 0.784 4 + 164 2 -213 161 -7.67e-02 -1.58e-01 2.83e+00 2.94e+00 0.769 3.47 + 165 2 113 161 -3.96e-01 -2.46e-01 7.66e+00 7.72e+00 0.81 3.49 + 166 2 223 161 8.97e-02 -2.51e-02 1.83e+01 1.83e+01 0.784 5.97 + 167 2 331 161 7.92e-02 -2.14e-01 1.65e+01 1.65e+01 0.958 4.97 + 168 1 211 161 1.55e-01 -4.55e-02 2.09e+01 2.09e+01 0.14 5.56 + 169 2 113 161 -9.07e-02 1.70e-01 7.69e+00 7.71e+00 0.431 4.38 + 170 1 -211 161 1.96e-02 -3.42e-02 4.36e+00 4.36e+00 0.14 5.4 + 171 1 211 161 1.50e-01 -7.36e-02 6.14e+01 6.14e+01 0.14 6.6 + 172 2 313 161 -9.79e-02 5.68e-01 7.20e+01 7.20e+01 0.889 5.52 + 173 2 -313 161 -1.30e-01 -7.96e-01 2.37e+02 2.37e+02 0.887 6.37 + 174 1 2112 161 5.28e-01 -1.88e-01 1.06e+03 1.06e+03 0.94 8.24 + 175 1 211 161 -3.22e-01 5.25e-01 2.61e+03 2.61e+03 0.14 9.05 + 176 2 92 42 -9.28e+00 1.71e+00 -7.59e+02 7.64e+02 81.1 -5.08 + 177 2 -411 176 -2.64e+01 1.68e+01 -2.54e+02 2.56e+02 1.87 -2.79 + 178 1 -2112 176 -3.30e+00 1.95e+00 -3.12e+01 3.14e+01 0.94 -2.79 + 179 1 2112 176 -3.69e+00 2.38e+00 -3.47e+01 3.50e+01 0.94 -2.76 + 180 2 -313 176 -1.69e+00 9.52e-01 -1.93e+01 1.94e+01 0.913 -2.99 + 181 2 323 176 -1.07e+00 1.14e+00 -1.19e+01 1.20e+01 0.927 -2.73 + 182 2 -323 176 -1.04e+00 -2.43e-02 -1.56e+01 1.57e+01 0.935 -3.4 + 183 1 321 176 9.73e-01 -7.75e-01 -1.20e+01 1.21e+01 0.494 -2.96 + 184 2 113 176 9.16e+00 -6.89e+00 -1.32e+02 1.32e+02 0.946 -3.14 + 185 2 111 176 1.57e+00 -1.44e+00 -2.40e+01 2.41e+01 0.135 -3.11 + 186 1 -321 176 1.62e+01 -1.24e+01 -2.25e+02 2.26e+02 0.494 -3.1 + 187 2 92 48 0.00e+00 0.00e+00 2.05e+01 3.16e+01 24.1 999 + 188 1 -321 187 2.32e+00 -1.47e+00 -3.73e+00 4.66e+00 0.494 -1.12 + 189 2 213 187 -1.88e-01 -4.78e-01 -1.86e-02 8.02e-01 0.616 -0.0362 + 190 1 -211 187 5.28e-01 -6.99e-02 3.78e-01 6.68e-01 0.14 0.66 + 191 2 213 187 -1.69e-01 6.66e-02 1.66e+00 1.95e+00 0.998 2.91 + 192 2 113 187 -7.42e-01 4.97e-01 2.71e+00 2.94e+00 0.68 1.83 + 193 2 -213 187 2.70e-02 3.31e-01 2.97e-01 7.93e-01 0.656 0.805 + 194 1 211 187 -6.87e-03 -3.65e-01 8.22e-01 9.10e-01 0.14 1.55 + 195 2 113 187 -1.79e-01 4.58e-01 4.36e+00 4.46e+00 0.779 2.88 + 196 2 -213 187 -8.75e-02 1.16e-01 1.21e+00 1.46e+00 0.805 2.82 + 197 2 323 187 -7.63e-01 6.20e-01 7.15e+00 7.28e+00 0.966 2.68 + 198 2 221 187 -7.36e-01 2.91e-01 5.63e+00 5.72e+00 0.547 2.66 + 199 2 92 50 0.00e+00 0.00e+00 3.12e+00 6.71e+00 5.94 999 + 200 2 213 199 4.69e-02 -1.77e-01 -3.64e-01 1.10e+00 1.03 -1.44 + 201 2 111 199 3.73e-01 -3.78e-02 1.18e+00 1.24e+00 0.135 1.86 + 202 2 -213 199 -7.72e-01 1.13e+00 1.14e+00 1.96e+00 0.814 0.757 + 203 2 223 199 4.07e-01 -5.29e-01 1.12e-01 1.04e+00 0.787 0.167 + 204 2 223 199 -5.49e-02 -3.91e-01 1.06e+00 1.37e+00 0.777 1.71 + 205 2 -421 53 1.62e+00 -6.80e-01 -9.14e+00 9.49e+00 1.86 -2.35 + 206 2 111 53 1.80e-01 -6.13e-02 -7.60e-01 7.95e-01 0.135 -2.1 + 207 2 -311 54 3.84e-01 6.75e-01 -2.32e+00 2.49e+00 0.498 -1.81 + 208 1 -211 54 1.19e-01 8.35e-01 -4.09e+00 4.18e+00 0.14 -2.28 + 209 2 311 55 4.92e-01 1.67e+00 -1.03e+01 1.05e+01 0.498 -2.48 + 210 2 111 55 1.56e-01 3.28e-02 -2.20e+00 2.21e+00 0.135 -3.32 + 211 1 -211 56 2.07e-01 -7.41e-03 -8.44e-01 8.80e-01 0.14 -2.11 + 212 1 211 56 1.07e-01 1.07e+00 -2.97e+00 3.16e+00 0.14 -1.74 + 213 1 211 57 1.65e-01 9.37e-02 -1.12e+00 1.14e+00 0.14 -2.47 + 214 1 -211 57 -3.30e-02 9.79e-02 -3.21e+00 3.22e+00 0.14 -4.13 + 215 2 111 57 -1.24e-01 2.78e-01 -1.22e+00 1.26e+00 0.135 -2.1 + 216 1 211 58 2.62e-01 8.26e-01 -2.45e+00 2.61e+00 0.14 -1.76 + 217 2 111 58 -7.15e-02 -6.31e-03 -1.18e+00 1.19e+00 0.135 -3.49 + 218 1 -211 59 1.28e-01 -6.04e-02 -2.75e-01 3.39e-01 0.14 -1.42 + 219 1 211 59 2.00e-01 3.04e-01 -9.82e-01 1.06e+00 0.14 -1.72 + 220 2 111 59 1.49e-01 8.68e-02 -4.65e-02 2.24e-01 0.135 -0.266 + 221 2 -311 60 -8.28e-02 1.40e-01 2.87e-01 5.97e-01 0.498 1.33 + 222 1 -211 60 -1.84e-02 -1.34e-01 -1.14e-01 2.25e-01 0.14 -0.764 + 223 1 321 61 -1.86e-02 1.84e-02 1.85e-01 5.28e-01 0.494 2.65 + 224 1 -211 61 -5.85e-02 3.52e-01 4.73e-01 6.09e-01 0.14 1.09 + 225 1 211 62 1.06e-01 -2.99e-02 1.77e-01 2.51e-01 0.14 1.25 + 226 2 111 62 -4.64e-01 -1.55e-01 2.53e-02 5.08e-01 0.135 0.0516 + 227 1 22 63 9.24e-02 1.22e-01 1.51e+00 1.52e+00 0 2.99 + 228 1 -211 63 1.64e-01 -1.14e-01 3.22e+00 3.23e+00 0.14 3.48 + 229 1 211 63 2.81e-01 2.16e-01 2.94e+00 2.97e+00 0.14 2.81 + 230 1 -211 64 -3.46e-01 -7.92e-02 3.34e+00 3.37e+00 0.14 2.94 + 231 2 111 64 -1.13e-02 -1.68e-01 1.05e+00 1.07e+00 0.135 2.53 + 232 1 -211 66 2.45e-01 2.11e-01 2.06e+01 2.06e+01 0.14 4.85 + 233 2 111 66 1.15e-01 -2.30e-01 3.89e+00 3.90e+00 0.135 3.41 + 234 1 -211 67 1.07e-02 2.95e-01 1.86e+01 1.86e+01 0.14 4.83 + 235 1 211 67 -3.83e-01 -2.83e-01 1.98e+01 1.98e+01 0.14 4.42 + 236 1 211 68 -2.00e-02 -2.69e-01 6.04e+01 6.04e+01 0.14 6.11 + 237 1 -211 68 -7.06e-02 4.32e-01 1.07e+02 1.07e+02 0.14 6.19 + 238 1 211 69 2.30e-02 1.07e-01 4.89e+01 4.89e+01 0.14 6.79 + 239 1 -211 69 1.52e-01 2.49e-01 1.36e+02 1.36e+02 0.14 6.84 + 240 2 111 69 -1.84e-03 5.13e-02 2.10e+01 2.10e+01 0.135 6.7 + 241 2 421 71 6.24e+00 -2.87e+00 -1.68e+01 1.82e+01 1.86 -1.63 + 242 2 111 71 4.94e-01 -2.63e-01 -1.28e+00 1.40e+00 0.135 -1.57 + 243 1 211 72 2.70e-01 -4.65e-01 -9.32e-01 1.08e+00 0.14 -1.32 + 244 2 111 72 8.10e-01 -1.96e-01 -1.38e+00 1.62e+00 0.135 -1.28 + 245 1 211 73 4.27e-01 -3.13e-01 -3.45e-01 6.47e-01 0.14 -0.612 + 246 1 -211 73 6.70e-02 -6.53e-02 -1.12e-01 2.02e-01 0.14 -1.01 + 247 2 221 73 3.89e-01 -5.39e-01 -8.71e-01 1.22e+00 0.547 -1.09 + 248 1 -211 74 8.95e-01 -3.43e-01 -1.67e+00 1.93e+00 0.14 -1.32 + 249 2 111 74 7.72e-01 -2.59e-01 -2.66e+00 2.78e+00 0.135 -1.9 + 250 1 22 75 -1.87e-01 -7.34e-02 -6.48e-01 6.78e-01 0 -1.89 + 251 1 22 75 -4.27e-02 1.89e-02 -4.65e-01 4.68e-01 0 -2.99 + 252 1 2112 79 2.35e-02 -7.71e-02 3.69e+00 3.81e+00 0.94 4.52 + 253 1 -211 79 -1.48e-01 1.79e-02 3.30e-01 3.88e-01 0.14 1.53 + 254 2 310 80 -1.08e-01 -3.01e-02 1.70e+00 1.77e+00 0.498 3.41 + 255 1 -2112 81 -7.16e-01 -5.94e-01 6.69e+00 6.82e+00 0.94 2.67 + 256 1 211 81 1.23e-01 1.32e-01 8.42e-01 8.72e-01 0.14 2.25 + 257 1 -211 84 1.09e-01 -2.00e-01 3.92e+00 3.93e+00 0.14 3.54 + 258 2 111 84 -2.36e-01 9.89e-02 1.22e+00 1.25e+00 0.135 2.27 + 259 1 211 85 -9.25e-02 6.68e-02 1.06e+00 1.07e+00 0.14 2.92 + 260 2 111 85 -1.11e+00 -1.89e-01 2.24e+01 2.24e+01 0.135 3.68 + 261 1 211 86 -8.80e-02 -1.85e-01 7.90e+00 7.90e+00 0.14 4.35 + 262 1 -211 86 -9.38e-02 7.23e-02 3.34e+00 3.35e+00 0.14 4.03 + 263 2 111 86 1.08e-01 2.55e-01 3.93e+00 3.94e+00 0.135 3.35 + 264 1 -211 87 -5.80e-01 -4.05e-01 2.11e+01 2.11e+01 0.14 4.09 + 265 2 111 87 -3.21e-01 -1.99e-01 3.80e+00 3.82e+00 0.135 3 + 266 1 321 88 -2.79e-01 6.38e-01 6.43e+01 6.43e+01 0.494 5.22 + 267 2 111 88 -1.18e-01 -1.61e-01 1.92e+01 1.92e+01 0.135 5.26 + 268 1 -321 89 -8.94e-01 2.08e-02 1.54e+02 1.54e+02 0.494 5.84 + 269 1 211 89 -2.85e-01 4.17e-01 8.01e+01 8.01e+01 0.14 5.76 + 270 1 22 90 3.30e-03 1.38e-01 2.13e+01 2.13e+01 0 5.73 + 271 1 22 90 -2.43e-02 9.55e-03 7.24e-01 7.25e-01 0 4.02 + 272 1 -211 91 -2.85e-01 9.40e-01 1.43e+02 1.43e+02 0.14 5.68 + 273 2 111 91 -1.19e+00 8.85e-01 2.49e+02 2.49e+02 0.135 5.82 + 274 1 211 92 1.79e+00 1.29e+00 6.18e+02 6.18e+02 0.14 6.33 + 275 2 111 92 -3.94e-02 2.10e-01 7.29e+01 7.29e+01 0.135 6.52 + 276 1 22 94 2.50e-01 1.51e-01 4.86e+01 4.86e+01 0 5.81 + 277 1 22 94 4.56e-01 2.32e-01 1.20e+02 1.20e+02 0 6.15 + 278 1 211 95 2.62e-01 6.67e-02 8.45e+01 8.45e+01 0.14 6.44 + 279 1 -211 95 3.03e-02 5.27e-01 1.40e+02 1.40e+02 0.14 6.27 + 280 2 111 95 -1.09e-01 6.39e-02 3.93e+01 3.93e+01 0.135 6.43 + 281 1 -211 96 1.05e+00 -3.90e-01 9.92e+01 9.92e+01 0.14 5.18 + 282 1 211 96 1.20e-01 -2.59e-01 1.03e+01 1.03e+01 0.14 4.28 + 283 1 211 97 -1.62e-01 3.10e-02 2.19e+00 2.20e+00 0.14 3.28 + 284 2 111 97 1.27e-01 9.61e-01 3.52e+01 3.52e+01 0.135 4.28 + 285 2 111 98 2.92e-01 2.10e-01 3.56e+00 3.58e+00 0.135 2.99 + 286 2 111 98 7.22e-02 1.09e-01 1.73e+00 1.74e+00 0.135 3.28 + 287 2 111 98 5.73e-02 1.07e-02 3.27e+00 3.27e+00 0.135 4.72 + 288 1 -211 99 5.56e-01 1.36e+00 1.23e+01 1.24e+01 0.14 2.82 + 289 2 111 99 4.18e-01 1.18e+00 1.97e+01 1.98e+01 0.135 3.45 + 290 1 22 100 1.23e+00 5.60e-01 1.78e+01 1.79e+01 0 3.28 + 291 1 22 100 5.03e-02 3.14e-02 4.95e-01 4.99e-01 0 2.82 + 292 1 211 101 3.32e-01 2.48e-01 4.45e+00 4.47e+00 0.14 3.07 + 293 1 -211 101 3.06e-01 6.92e-01 8.24e+00 8.28e+00 0.14 3.08 + 294 2 221 101 9.56e-01 1.28e+00 1.76e+01 1.77e+01 0.547 3.09 + 295 1 211 102 8.03e-02 2.02e-02 5.69e-01 5.92e-01 0.14 2.63 + 296 2 111 102 1.69e+00 -1.60e+00 1.65e+01 1.67e+01 0.135 2.66 + 297 2 310 105 6.37e-01 -2.90e-01 6.13e+00 6.19e+00 0.498 2.87 + 298 1 130 106 1.44e-01 -1.08e+00 4.20e+00 4.37e+00 0.498 2.06 + 299 2 310 106 -5.64e-02 -9.48e-01 3.42e+00 3.58e+00 0.498 1.99 + 300 1 -321 107 -2.21e-01 1.56e-01 1.65e+00 1.74e+00 0.494 2.51 + 301 2 111 107 2.32e-02 -3.11e-01 9.92e-01 1.05e+00 0.135 1.87 + 302 1 -211 108 -1.16e+00 -1.76e+00 5.02e+00 5.45e+00 0.14 1.6 + 303 1 211 108 5.82e-02 -1.40e-01 3.02e-01 3.65e-01 0.14 1.44 + 304 1 211 109 1.49e-03 1.26e-01 -1.51e-01 2.41e-01 0.14 -1.02 + 305 2 111 109 -7.25e-01 -8.95e-01 7.64e-01 1.39e+00 0.135 0.622 + 306 1 211 111 1.06e-01 -2.72e-01 -4.01e-02 3.26e-01 0.14 -0.137 + 307 2 111 111 -7.03e-01 -9.49e-01 3.08e-01 1.23e+00 0.135 0.258 + 308 1 22 113 5.40e-02 -1.99e-02 1.91e-02 6.07e-02 0 0.325 + 309 1 22 113 -1.04e-02 -2.23e-01 4.36e-02 2.28e-01 0 0.194 + 310 1 211 114 -4.37e-02 -6.49e-02 -3.59e-02 1.64e-01 0.14 -0.444 + 311 2 111 114 -1.10e+00 -1.65e+00 -1.97e+00 2.80e+00 0.135 -0.876 + 312 1 -211 115 -7.40e-01 -4.72e-01 -9.20e-01 1.28e+00 0.14 -0.915 + 313 2 111 115 -2.55e-01 8.51e-02 -1.87e-01 3.54e-01 0.135 -0.649 + 314 2 310 119 -2.88e-01 7.23e-01 -1.33e+00 1.62e+00 0.498 -1.3 + 315 1 -211 121 -5.02e-03 1.03e+00 -2.68e+00 2.88e+00 0.14 -1.69 + 316 1 211 121 -1.50e-02 -6.21e-02 -7.50e-02 1.71e-01 0.14 -0.999 + 317 1 211 122 2.31e-01 4.39e-01 -1.27e+00 1.37e+00 0.14 -1.67 + 318 2 111 122 4.68e-01 4.92e-02 -8.74e-01 1.00e+00 0.135 -1.38 + 319 1 -211 123 2.57e-01 5.62e-02 -5.93e+00 5.93e+00 0.14 -3.81 + 320 1 211 123 -9.87e-02 -2.90e-01 -1.49e+00 1.53e+00 0.14 -2.29 + 321 1 -211 124 -1.81e-01 2.32e-01 -1.48e+01 1.48e+01 0.14 -4.61 + 322 1 211 124 -1.26e-01 3.36e-01 -2.88e+00 2.90e+00 0.14 -2.78 + 323 1 2112 125 6.85e-01 -3.51e-01 -1.63e+02 1.63e+02 0.94 -6.05 + 324 1 -211 125 8.47e-02 3.52e-03 -3.06e+01 3.06e+01 0.14 -6.58 + 325 1 22 126 6.52e-01 1.50e+00 -1.08e+02 1.08e+02 0 -4.88 + 326 1 22 126 -1.55e-04 6.21e-02 -3.67e+00 3.67e+00 0 -4.77 + 327 1 -211 130 6.68e-01 7.08e-01 -4.84e+01 4.84e+01 0.14 -4.6 + 328 1 211 130 1.06e-01 1.56e-01 -4.05e+01 4.05e+01 0.14 -6.06 + 329 1 211 131 -1.62e-01 5.36e-02 -3.29e+01 3.29e+01 0.14 -5.95 + 330 1 -211 131 6.38e-02 -3.43e-02 -4.30e+01 4.30e+01 0.14 -7.08 + 331 2 111 131 1.15e-01 2.64e-01 -2.11e+01 2.11e+01 0.135 -4.99 + 332 1 -211 132 5.67e-02 -4.99e-02 -1.78e+01 1.78e+01 0.14 -6.15 + 333 1 211 132 8.54e-02 2.91e-01 -8.16e+00 8.17e+00 0.14 -3.99 + 334 2 111 132 1.60e-01 1.64e-03 -6.16e+00 6.16e+00 0.135 -4.35 + 335 2 111 133 3.20e-01 -1.06e-01 -2.80e+00 2.83e+00 0.135 -2.81 + 336 2 111 133 2.91e-01 8.79e-02 -3.67e+00 3.68e+00 0.135 -3.18 + 337 2 111 133 4.06e-02 5.17e-03 -1.02e+00 1.02e+00 0.135 -3.9 + 338 1 211 134 6.58e-01 5.66e-01 -1.72e+01 1.72e+01 0.14 -3.68 + 339 2 111 134 5.88e-01 1.89e+00 -2.20e+01 2.20e+01 0.135 -3.1 + 340 1 22 135 6.66e-01 6.36e-01 -6.31e+00 6.38e+00 0 -2.62 + 341 1 22 135 2.20e-01 2.80e-01 -6.11e+00 6.12e+00 0 -3.54 + 342 1 22 137 5.79e-02 1.36e-01 -1.76e+00 1.76e+00 0 -3.17 + 343 1 22 137 6.65e-01 1.03e+00 -1.11e+01 1.12e+01 0 -2.9 + 344 1 -211 138 4.13e-01 1.29e-01 -3.64e+00 3.67e+00 0.14 -2.83 + 345 1 211 138 8.01e-01 1.55e+00 -1.52e+01 1.53e+01 0.14 -2.86 + 346 1 -211 140 4.43e-01 4.32e-01 -3.36e+00 3.42e+00 0.14 -2.39 + 347 2 111 140 1.51e-02 7.22e-01 -1.51e+01 1.51e+01 0.135 -3.73 + 348 1 211 141 2.03e+00 1.63e+00 -2.51e+01 2.52e+01 0.14 -2.96 + 349 2 111 141 5.56e-02 5.31e-02 -1.06e+00 1.07e+00 0.135 -3.32 + 350 1 321 142 5.53e-01 4.44e-01 -6.45e+00 6.51e+00 0.494 -2.9 + 351 1 -211 142 1.23e+00 7.92e-01 -1.62e+01 1.62e+01 0.14 -3.1 + 352 2 -311 143 4.98e-01 5.10e-01 -7.52e+00 7.57e+00 0.498 -3.05 + 353 2 111 143 9.21e-01 1.38e-01 -1.06e+01 1.06e+01 0.135 -3.12 + 354 1 -211 145 -4.16e-01 -6.42e-04 -4.57e+01 4.57e+01 0.14 -5.39 + 355 2 111 145 -1.59e-01 -4.77e-01 -4.88e+01 4.88e+01 0.135 -5.27 + 356 1 -2112 146 -5.09e-01 -4.51e-01 -2.85e+01 2.85e+01 0.94 -4.43 + 357 1 211 146 -2.95e-01 -2.92e-01 -5.48e+00 5.50e+00 0.14 -3.28 + 358 1 -211 147 -2.49e-01 3.34e-01 -2.84e+01 2.84e+01 0.14 -4.91 + 359 2 111 147 6.89e-02 -2.71e-01 -1.49e+01 1.49e+01 0.135 -4.66 + 360 1 130 149 -1.41e+00 -2.18e+00 -7.90e+01 7.90e+01 0.498 -4.11 + 361 1 -321 150 -3.90e-02 2.37e-02 -4.50e+01 4.50e+01 0.494 -7.59 + 362 2 111 150 -2.65e-01 -4.16e-01 -3.38e+01 3.38e+01 0.135 -4.92 + 363 1 211 151 -1.88e+00 -1.09e+00 -8.20e+01 8.20e+01 0.14 -4.33 + 364 2 111 151 7.55e-02 -1.18e-01 -7.35e+00 7.36e+00 0.135 -4.65 + 365 1 -211 152 3.30e-01 -1.08e+00 -4.62e+01 4.62e+01 0.14 -4.41 + 366 1 211 152 1.61e-01 1.05e-01 -4.23e+00 4.23e+00 0.14 -3.78 + 367 1 22 153 -1.53e-01 -5.63e-02 -3.12e+00 3.12e+00 0 -3.64 + 368 1 22 153 4.20e-01 -2.04e-01 -1.84e+01 1.85e+01 0 -4.37 + 369 1 130 154 4.13e-01 1.80e-01 -8.91e+01 8.91e+01 0.498 -5.98 + 370 1 211 156 -2.54e-01 -1.08e-01 -2.26e+01 2.26e+01 0.14 -5.1 + 371 1 -211 156 -9.47e-02 -7.03e-02 -6.26e+00 6.26e+00 0.14 -4.66 + 372 2 111 156 -6.13e-02 -9.53e-02 -1.99e+01 1.99e+01 0.135 -5.86 + 373 1 211 158 -5.66e-01 1.70e-01 -3.23e+02 3.23e+02 0.14 -7 + 374 1 -211 158 -2.90e-01 2.81e-01 -6.32e+01 6.32e+01 0.14 -5.75 + 375 1 2212 160 9.56e-04 8.62e-01 -1.17e+03 1.17e+03 0.938 -7.91 + 376 1 211 160 -2.86e-03 -1.12e-01 -2.17e+02 2.17e+02 0.14 -8.27 + 377 1 -211 163 6.98e-02 4.75e-02 2.34e+00 2.34e+00 0.14 4.01 + 378 1 211 163 -3.36e-03 -3.94e-02 1.39e-01 2.01e-01 0.14 1.97 + 379 2 111 163 -7.99e-02 9.68e-02 4.23e-01 4.62e-01 0.135 1.93 + 380 1 -211 164 2.46e-01 -2.54e-01 9.52e-01 1.02e+00 0.14 1.72 + 381 2 111 164 -3.23e-01 9.61e-02 1.88e+00 1.91e+00 0.135 2.42 + 382 1 -211 165 -4.58e-01 -1.09e-01 2.26e+00 2.31e+00 0.14 2.27 + 383 1 211 165 6.19e-02 -1.38e-01 5.40e+00 5.41e+00 0.14 4.27 + 384 1 211 166 1.54e-02 2.33e-01 6.44e+00 6.45e+00 0.14 4.01 + 385 1 -211 166 -1.25e-01 -1.91e-01 6.30e+00 6.31e+00 0.14 4.01 + 386 2 111 166 1.99e-01 -6.72e-02 5.57e+00 5.57e+00 0.135 3.97 + 387 1 22 167 -3.78e-03 6.83e-02 3.46e-01 3.53e-01 0 2.33 + 388 2 113 167 8.30e-02 -2.83e-01 1.61e+01 1.61e+01 0.804 4.7 + 389 1 211 169 -1.47e-01 1.94e-03 5.31e+00 5.31e+00 0.14 4.28 + 390 1 -211 169 5.60e-02 1.68e-01 2.38e+00 2.39e+00 0.14 3.3 + 391 1 321 172 1.98e-01 2.04e-01 3.95e+01 3.95e+01 0.494 5.63 + 392 1 -211 172 -2.96e-01 3.65e-01 3.25e+01 3.25e+01 0.14 4.93 + 393 1 -321 173 8.77e-02 -3.77e-01 1.73e+02 1.73e+02 0.494 6.79 + 394 1 211 173 -2.18e-01 -4.20e-01 6.41e+01 6.41e+01 0.14 5.6 + 395 1 13 177 -1.41e+00 1.04e+00 -1.32e+01 1.33e+01 0.106 -2.71 + 396 1 -14 177 -1.31e+00 1.05e+00 -1.23e+01 1.24e+01 0 -2.69 + 397 2 323 177 -2.16e+01 1.35e+01 -2.09e+02 2.11e+02 0.883 -2.8 + 398 1 -211 177 -2.09e+00 1.24e+00 -1.91e+01 1.92e+01 0.14 -2.76 + 399 2 -311 180 -4.47e-01 3.05e-01 -6.33e+00 6.37e+00 0.498 -3.15 + 400 2 111 180 -1.24e+00 6.47e-01 -1.29e+01 1.30e+01 0.135 -2.92 + 401 2 311 181 -9.33e-01 9.63e-01 -1.12e+01 1.13e+01 0.498 -2.82 + 402 1 211 181 -1.36e-01 1.77e-01 -7.16e-01 7.63e-01 0.14 -1.88 + 403 1 -321 182 -9.22e-01 -9.25e-02 -1.49e+01 1.49e+01 0.494 -3.47 + 404 2 111 182 -1.17e-01 6.82e-02 -7.01e-01 7.26e-01 0.135 -2.35 + 405 1 -211 184 8.07e+00 -6.29e+00 -1.19e+02 1.20e+02 0.14 -3.15 + 406 1 211 184 1.09e+00 -5.97e-01 -1.23e+01 1.24e+01 0.14 -2.99 + 407 1 22 185 1.03e+00 -8.53e-01 -1.49e+01 1.50e+01 0 -3.11 + 408 1 22 185 5.46e-01 -5.88e-01 -9.04e+00 9.08e+00 0 -3.12 + 409 1 211 189 6.32e-02 -4.07e-02 -1.95e-01 2.51e-01 0.14 -1.68 + 410 2 111 189 -2.51e-01 -4.37e-01 1.76e-01 5.51e-01 0.135 0.343 + 411 1 211 191 -8.99e-02 -4.44e-01 8.88e-01 1.01e+00 0.14 1.43 + 412 2 111 191 -7.90e-02 5.11e-01 7.72e-01 9.39e-01 0.135 1.19 + 413 1 -211 192 -6.65e-02 8.33e-02 1.29e+00 1.30e+00 0.14 3.18 + 414 1 211 192 -6.76e-01 4.14e-01 1.43e+00 1.64e+00 0.14 1.35 + 415 1 -211 193 -1.79e-01 3.73e-02 3.36e-01 4.08e-01 0.14 1.37 + 416 2 111 193 2.06e-01 2.93e-01 -3.94e-02 3.85e-01 0.135 -0.11 + 417 1 -211 195 -4.09e-01 9.88e-02 1.62e+00 1.68e+00 0.14 2.06 + 418 1 211 195 2.30e-01 3.59e-01 2.75e+00 2.78e+00 0.14 2.56 + 419 1 -211 196 1.71e-01 -8.56e-03 1.11e+00 1.13e+00 0.14 2.57 + 420 2 111 196 -2.59e-01 1.24e-01 1.06e-01 3.34e-01 0.135 0.362 + 421 1 321 197 -4.34e-01 3.13e-01 2.39e+00 2.49e+00 0.494 2.2 + 422 2 111 197 -3.29e-01 3.07e-01 4.76e+00 4.78e+00 0.135 3.05 + 423 1 22 198 -3.68e-01 1.74e-01 3.63e+00 3.66e+00 0 2.89 + 424 1 211 198 -2.05e-01 1.05e-01 1.26e+00 1.28e+00 0.14 2.4 + 425 1 -211 198 -1.63e-01 1.25e-02 7.47e-01 7.77e-01 0.14 2.22 + 426 1 211 200 -3.67e-01 -1.30e-01 -4.96e-01 6.46e-01 0.14 -1.06 + 427 2 111 200 4.14e-01 -4.69e-02 1.31e-01 4.58e-01 0.135 0.31 + 428 1 22 201 1.73e-01 -3.58e-02 3.54e-01 3.96e-01 0 1.44 + 429 1 22 201 2.00e-01 -2.02e-03 8.22e-01 8.46e-01 0 2.12 + 430 1 -211 202 -3.73e-02 7.08e-01 6.44e-01 9.68e-01 0.14 0.815 + 431 2 111 202 -7.34e-01 4.26e-01 4.97e-01 9.93e-01 0.135 0.556 + 432 1 211 203 3.59e-01 -2.82e-01 1.18e-01 4.92e-01 0.14 0.255 + 433 1 -211 203 -1.50e-02 9.43e-02 3.19e-02 1.72e-01 0.14 0.328 + 434 2 111 203 6.29e-02 -3.41e-01 -3.80e-02 3.74e-01 0.135 -0.109 + 435 1 -211 204 6.25e-02 -1.04e-01 1.78e-01 2.57e-01 0.14 1.18 + 436 1 211 204 2.00e-02 -2.71e-01 8.68e-01 9.20e-01 0.14 1.88 + 437 2 111 204 -1.37e-01 -1.63e-02 1.18e-02 1.94e-01 0.135 0.0849 + 438 2 10323 205 8.73e-01 -6.30e-01 -7.46e+00 7.64e+00 1.29 -2.63 + 439 1 -211 205 7.49e-01 -4.97e-02 -1.68e+00 1.85e+00 0.14 -1.55 + 440 1 22 206 1.83e-01 -8.44e-02 -7.27e-01 7.54e-01 0 -1.99 + 441 1 22 206 -3.44e-03 2.31e-02 -3.29e-02 4.04e-02 0 -1.14 + 442 2 310 207 3.84e-01 6.75e-01 -2.32e+00 2.49e+00 0.498 -1.81 + 443 2 310 209 4.92e-01 1.67e+00 -1.03e+01 1.05e+01 0.498 -2.48 + 444 1 22 210 1.58e-01 4.61e-02 -2.17e+00 2.18e+00 0 -3.27 + 445 1 22 210 -2.08e-03 -1.33e-02 -2.27e-02 2.64e-02 0 -1.3 + 446 1 22 215 -2.52e-02 2.45e-02 -3.81e-01 3.83e-01 0 -3.08 + 447 1 22 215 -9.85e-02 2.53e-01 -8.38e-01 8.81e-01 0 -1.84 + 448 1 22 217 -9.35e-02 -3.77e-02 -1.03e+00 1.04e+00 0 -3.02 + 449 1 22 217 2.21e-02 3.14e-02 -1.46e-01 1.51e-01 0 -2.05 + 450 1 22 220 1.62e-01 9.36e-02 -6.67e-02 1.99e-01 0 -0.349 + 451 1 22 220 -1.32e-02 -6.86e-03 2.02e-02 2.51e-02 0 1.11 + 452 1 130 221 -8.28e-02 1.40e-01 2.87e-01 5.97e-01 0.498 1.33 + 453 1 22 226 -2.22e-01 -3.76e-02 -4.59e-02 2.30e-01 0 -0.202 + 454 1 22 226 -2.42e-01 -1.18e-01 7.12e-02 2.78e-01 0 0.262 + 455 1 22 231 4.72e-02 -1.23e-01 8.16e-01 8.27e-01 0 2.53 + 456 1 22 231 -5.85e-02 -4.52e-02 2.34e-01 2.45e-01 0 1.87 + 457 1 22 233 4.00e-02 3.07e-04 9.61e-01 9.62e-01 0 3.87 + 458 1 22 233 7.48e-02 -2.30e-01 2.93e+00 2.94e+00 0 3.19 + 459 1 22 240 6.53e-02 3.07e-02 8.88e+00 8.88e+00 0 5.51 + 460 1 22 240 -6.72e-02 2.07e-02 1.21e+01 1.21e+01 0 5.84 + 461 2 -313 241 3.33e+00 -1.55e+00 -7.24e+00 8.16e+00 0.867 -1.43 + 462 2 111 241 2.92e+00 -1.31e+00 -9.56e+00 1.01e+01 0.135 -1.82 + 463 1 22 242 3.13e-01 -2.24e-01 -9.52e-01 1.03e+00 0 -1.64 + 464 1 22 242 1.81e-01 -3.87e-02 -3.28e-01 3.76e-01 0 -1.34 + 465 1 22 244 6.12e-01 -2.00e-01 -1.10e+00 1.28e+00 0 -1.31 + 466 1 22 244 1.98e-01 3.77e-03 -2.74e-01 3.39e-01 0 -1.13 + 467 1 -211 247 1.74e-01 -1.31e-01 -4.30e-01 5.02e-01 0.14 -1.43 + 468 1 211 247 5.41e-02 -2.04e-01 -3.15e-01 4.04e-01 0.14 -1.19 + 469 2 111 247 1.61e-01 -2.04e-01 -1.26e-01 3.19e-01 0.135 -0.467 + 470 1 22 249 2.51e-02 -3.16e-02 -2.06e-01 2.10e-01 0 -2.33 + 471 1 22 249 7.47e-01 -2.27e-01 -2.45e+00 2.57e+00 0 -1.86 + 472 1 211 254 1.20e-02 1.80e-01 6.79e-01 7.16e-01 0.14 2.03 + 473 1 -211 254 -1.20e-01 -2.10e-01 1.02e+00 1.05e+00 0.14 2.14 + 474 1 22 258 -1.60e-01 3.34e-03 8.26e-01 8.41e-01 0 2.34 + 475 1 22 258 -7.61e-02 9.56e-02 3.95e-01 4.13e-01 0 1.89 + 476 1 22 260 -9.81e-01 -1.35e-01 2.02e+01 2.02e+01 0 3.71 + 477 1 22 260 -1.30e-01 -5.37e-02 2.22e+00 2.22e+00 0 3.45 + 478 1 22 263 1.10e-01 2.16e-01 2.55e+00 2.56e+00 0 3.05 + 479 1 22 263 -2.65e-03 3.91e-02 1.38e+00 1.38e+00 0 4.25 + 480 1 22 265 -2.34e-01 -1.54e-01 3.28e+00 3.29e+00 0 3.16 + 481 1 22 265 -8.72e-02 -4.50e-02 5.19e-01 5.28e-01 0 2.37 + 482 1 22 267 -9.69e-02 -1.72e-01 1.33e+01 1.34e+01 0 4.91 + 483 1 22 267 -2.08e-02 1.15e-02 5.82e+00 5.82e+00 0 6.19 + 484 1 22 273 -5.91e-01 4.58e-01 1.37e+02 1.37e+02 0 5.9 + 485 1 22 273 -5.96e-01 4.27e-01 1.12e+02 1.12e+02 0 5.72 + 486 1 22 275 -5.34e-02 1.01e-01 2.01e+01 2.01e+01 0 5.87 + 487 1 22 275 1.40e-02 1.09e-01 5.28e+01 5.28e+01 0 6.86 + 488 1 22 280 -5.83e-02 1.46e-02 3.27e+01 3.27e+01 0 6.99 + 489 1 22 280 -5.08e-02 4.93e-02 6.60e+00 6.60e+00 0 5.23 + 490 1 22 284 -2.52e-02 2.35e-01 8.00e+00 8.00e+00 0 4.21 + 491 1 22 284 1.52e-01 7.26e-01 2.72e+01 2.72e+01 0 4.29 + 492 1 22 285 2.42e-01 1.03e-01 2.23e+00 2.25e+00 0 2.83 + 493 1 22 285 5.02e-02 1.07e-01 1.33e+00 1.33e+00 0 3.11 + 494 1 22 286 2.13e-02 6.88e-02 1.49e+00 1.49e+00 0 3.72 + 495 1 22 286 5.09e-02 4.05e-02 2.47e-01 2.55e-01 0 2.04 + 496 1 22 287 -1.28e-02 -2.31e-02 1.49e-01 1.51e-01 0 2.43 + 497 1 22 287 7.01e-02 3.38e-02 3.12e+00 3.12e+00 0 4.39 + 498 1 22 289 2.65e-01 6.35e-01 1.17e+01 1.18e+01 0 3.53 + 499 1 22 289 1.54e-01 5.40e-01 7.99e+00 8.01e+00 0 3.35 + 500 2 111 294 3.73e-01 4.04e-01 4.84e+00 4.87e+00 0.135 2.87 + 501 2 111 294 4.30e-01 7.17e-01 9.92e+00 9.96e+00 0.135 3.17 + 502 2 111 294 1.53e-01 1.59e-01 2.85e+00 2.86e+00 0.135 3.25 + 503 1 22 296 1.04e+00 -1.02e+00 1.08e+01 1.09e+01 0 2.7 + 504 1 22 296 6.52e-01 -5.77e-01 5.78e+00 5.84e+00 0 2.59 + 505 1 -211 297 1.68e-01 3.96e-04 7.88e-01 8.18e-01 0.14 2.25 + 506 1 211 297 4.69e-01 -2.90e-01 5.34e+00 5.37e+00 0.14 2.97 + 507 1 211 299 -9.80e-03 -8.77e-01 3.10e+00 3.22e+00 0.14 1.98 + 508 1 -211 299 -4.66e-02 -7.14e-02 3.18e-01 3.57e-01 0.14 2.03 + 509 1 22 301 -1.58e-02 -2.94e-01 9.06e-01 9.53e-01 0 1.84 + 510 1 22 301 3.90e-02 -1.71e-02 8.60e-02 9.59e-02 0 1.45 + 511 1 22 305 -1.23e-01 -1.25e-01 1.74e-01 2.47e-01 0 0.875 + 512 1 22 305 -6.01e-01 -7.71e-01 5.90e-01 1.14e+00 0 0.572 + 513 1 22 307 -4.88e-01 -5.82e-01 1.49e-01 7.74e-01 0 0.195 + 514 1 22 307 -2.15e-01 -3.67e-01 1.58e-01 4.54e-01 0 0.364 + 515 1 22 311 -1.08e+00 -1.63e+00 -1.96e+00 2.76e+00 0 -0.883 + 516 1 22 311 -2.45e-02 -2.46e-02 -1.45e-02 3.76e-02 0 -0.408 + 517 1 22 313 -1.13e-01 -2.84e-02 -9.56e-02 1.51e-01 0 -0.75 + 518 1 22 313 -1.42e-01 1.13e-01 -9.12e-02 2.04e-01 0 -0.482 + 519 1 -211 314 -3.73e-01 4.98e-01 -1.02e+00 1.20e+00 0.14 -1.27 + 520 1 211 314 8.58e-02 2.25e-01 -3.14e-01 4.20e-01 0.14 -1.08 + 521 1 22 318 1.99e-02 1.62e-02 -1.31e-01 1.33e-01 0 -2.33 + 522 1 22 318 4.48e-01 3.29e-02 -7.43e-01 8.69e-01 0 -1.28 + 523 1 22 331 5.11e-03 1.71e-01 -1.28e+01 1.28e+01 0 -5.01 + 524 1 22 331 1.10e-01 9.28e-02 -8.25e+00 8.26e+00 0 -4.74 + 525 1 22 334 9.75e-02 6.03e-02 -2.60e+00 2.61e+00 0 -3.82 + 526 1 22 334 6.22e-02 -5.86e-02 -3.55e+00 3.56e+00 0 -4.42 + 527 1 22 335 5.30e-02 1.88e-02 -7.85e-01 7.87e-01 0 -3.33 + 528 1 22 335 2.67e-01 -1.25e-01 -2.02e+00 2.04e+00 0 -2.62 + 529 1 22 336 2.68e-01 3.23e-02 -2.79e+00 2.81e+00 0 -3.03 + 530 1 22 336 2.34e-02 5.56e-02 -8.74e-01 8.76e-01 0 -3.37 + 531 1 22 337 -1.54e-02 -5.04e-02 -2.38e-01 2.44e-01 0 -2.21 + 532 1 22 337 5.60e-02 5.56e-02 -7.77e-01 7.81e-01 0 -2.98 + 533 1 22 339 9.44e-02 2.34e-01 -3.28e+00 3.29e+00 0 -3.26 + 534 1 22 339 4.93e-01 1.65e+00 -1.87e+01 1.88e+01 0 -3.08 + 535 1 22 347 -3.85e-02 1.69e-01 -2.84e+00 2.85e+00 0 -3.49 + 536 1 22 347 5.35e-02 5.53e-01 -1.22e+01 1.23e+01 0 -3.79 + 537 1 22 349 -2.80e-02 6.26e-02 -5.73e-01 5.77e-01 0 -2.82 + 538 1 22 349 8.36e-02 -9.58e-03 -4.84e-01 4.91e-01 0 -2.45 + 539 2 310 352 4.98e-01 5.10e-01 -7.52e+00 7.57e+00 0.498 -3.05 + 540 1 22 353 2.76e-01 8.46e-03 -3.75e+00 3.76e+00 0 -3.3 + 541 1 22 353 6.45e-01 1.29e-01 -6.82e+00 6.85e+00 0 -3.03 + 542 1 22 355 -7.47e-03 4.92e-03 -2.71e-01 2.71e-01 0 -4.11 + 543 1 22 355 -1.51e-01 -4.82e-01 -4.85e+01 4.85e+01 0 -5.26 + 544 1 22 359 1.36e-02 -6.16e-02 -1.31e+00 1.31e+00 0 -3.73 + 545 1 22 359 5.54e-02 -2.10e-01 -1.35e+01 1.35e+01 0 -4.83 + 546 1 22 362 -2.39e-02 -6.37e-02 -2.40e+00 2.40e+00 0 -4.25 + 547 1 22 362 -2.41e-01 -3.52e-01 -3.14e+01 3.14e+01 0 -4.99 + 548 1 22 364 -7.69e-03 -3.50e-03 -3.43e+00 3.43e+00 0 -6.7 + 549 1 11 364 3.80e-02 -5.45e-02 -1.98e+00 1.99e+00 0.00051 -4.09 + 550 1 -11 364 4.52e-02 -6.00e-02 -1.94e+00 1.94e+00 0.00051 -3.95 + 551 1 22 372 3.73e-02 2.39e-03 -4.50e+00 4.50e+00 0 -5.48 + 552 1 22 372 -9.86e-02 -9.77e-02 -1.54e+01 1.54e+01 0 -5.4 + 553 1 22 379 -6.55e-03 1.04e-01 1.84e-01 2.11e-01 0 1.34 + 554 1 22 379 -7.33e-02 -6.90e-03 2.39e-01 2.50e-01 0 1.89 + 555 1 22 381 -1.22e-01 -2.90e-02 7.14e-01 7.25e-01 0 2.44 + 556 1 22 381 -2.00e-01 1.25e-01 1.16e+00 1.19e+00 0 2.3 + 557 1 22 386 9.39e-02 3.48e-02 1.85e+00 1.85e+00 0 3.61 + 558 1 22 386 1.05e-01 -1.02e-01 3.72e+00 3.72e+00 0 3.93 + 559 1 211 388 2.80e-01 -4.59e-01 9.99e+00 1.00e+01 0.14 3.62 + 560 1 -211 388 -1.97e-01 1.77e-01 6.12e+00 6.13e+00 0.14 3.83 + 561 2 311 397 -1.87e+01 1.16e+01 -1.82e+02 1.84e+02 0.498 -2.81 + 562 1 211 397 -2.87e+00 1.93e+00 -2.71e+01 2.73e+01 0.14 -2.76 + 563 2 310 399 -4.47e-01 3.05e-01 -6.33e+00 6.37e+00 0.498 -3.15 + 564 1 22 400 -2.94e-01 1.77e-01 -3.70e+00 3.71e+00 0 -3.07 + 565 1 22 400 -9.48e-01 4.69e-01 -9.23e+00 9.29e+00 0 -2.86 + 566 2 310 401 -9.33e-01 9.63e-01 -1.12e+01 1.13e+01 0.498 -2.82 + 567 1 22 404 1.75e-02 4.41e-02 -2.82e-01 2.86e-01 0 -2.48 + 568 1 22 404 -1.34e-01 2.41e-02 -4.19e-01 4.40e-01 0 -1.84 + 569 1 22 410 -1.16e-01 -2.11e-01 1.32e-02 2.41e-01 0 0.0551 + 570 1 22 410 -1.36e-01 -2.27e-01 1.63e-01 3.10e-01 0 0.583 + 571 1 22 412 -9.13e-02 4.77e-01 7.59e-01 9.01e-01 0 1.23 + 572 1 22 412 1.23e-02 3.33e-02 1.37e-02 3.81e-02 0 0.377 + 573 1 22 416 2.03e-01 2.67e-01 -7.22e-02 3.43e-01 0 -0.214 + 574 1 22 416 3.43e-03 2.63e-02 3.28e-02 4.22e-02 0 1.04 + 575 1 22 420 -3.89e-02 8.36e-02 4.53e-02 1.03e-01 0 0.473 + 576 1 22 420 -2.20e-01 4.05e-02 6.09e-02 2.32e-01 0 0.269 + 577 1 22 422 -2.64e-01 1.59e-01 3.14e+00 3.16e+00 0 3.02 + 578 1 22 422 -6.51e-02 1.48e-01 1.62e+00 1.62e+00 0 3 + 579 1 22 427 4.15e-01 -2.52e-02 1.20e-01 4.33e-01 0 0.285 + 580 1 22 427 -9.68e-04 -2.17e-02 1.13e-02 2.45e-02 0 0.497 + 581 1 22 431 -3.41e-01 2.71e-01 2.25e-01 4.90e-01 0 0.495 + 582 1 22 431 -3.94e-01 1.56e-01 2.73e-01 5.03e-01 0 0.606 + 583 1 22 434 5.58e-02 -8.25e-02 3.46e-02 1.05e-01 0 0.341 + 584 1 22 434 7.11e-03 -2.58e-01 -7.26e-02 2.69e-01 0 -0.277 + 585 1 22 437 -9.46e-02 4.14e-02 4.73e-02 1.14e-01 0 0.443 + 586 1 22 437 -4.29e-02 -5.77e-02 -3.55e-02 8.02e-02 0 -0.476 + 587 1 321 438 3.86e-01 -2.73e-01 -2.92e+00 3.00e+00 0.494 -2.52 + 588 2 223 438 4.87e-01 -3.58e-01 -4.53e+00 4.64e+00 0.795 -2.71 + 589 1 -211 442 1.48e-01 5.93e-01 -1.74e+00 1.85e+00 0.14 -1.77 + 590 1 211 442 2.36e-01 8.15e-02 -5.72e-01 6.40e-01 0.14 -1.57 + 591 1 211 443 2.44e-01 1.36e+00 -7.90e+00 8.02e+00 0.14 -2.44 + 592 1 -211 443 2.48e-01 3.05e-01 -2.40e+00 2.43e+00 0.14 -2.51 + 593 1 -321 461 2.28e+00 -1.05e+00 -5.51e+00 6.07e+00 0.494 -1.53 + 594 1 211 461 1.05e+00 -5.07e-01 -1.73e+00 2.09e+00 0.14 -1.19 + 595 1 22 462 2.61e+00 -1.13e+00 -8.44e+00 8.90e+00 0 -1.81 + 596 1 22 462 3.12e-01 -1.85e-01 -1.12e+00 1.18e+00 0 -1.85 + 597 1 22 469 1.53e-02 -6.02e-02 -9.24e-02 1.11e-01 0 -1.19 + 598 1 22 469 1.46e-01 -1.44e-01 -3.35e-02 2.08e-01 0 -0.163 + 599 1 22 500 6.24e-02 9.07e-02 5.92e-01 6.02e-01 0 2.38 + 600 1 22 500 3.10e-01 3.13e-01 4.25e+00 4.27e+00 0 2.96 + 601 1 22 501 2.70e-01 3.42e-01 4.68e+00 4.70e+00 0 3.07 + 602 1 22 501 1.60e-01 3.75e-01 5.24e+00 5.26e+00 0 3.25 + 603 1 22 502 1.66e-01 9.32e-02 2.21e+00 2.21e+00 0 3.14 + 604 1 22 502 -1.33e-02 6.57e-02 6.40e-01 6.43e-01 0 2.95 + 605 1 -211 539 -2.61e-02 1.43e-01 -1.27e+00 1.29e+00 0.14 -2.87 + 606 1 211 539 5.24e-01 3.67e-01 -6.25e+00 6.28e+00 0.14 -2.98 + 607 1 130 561 -1.87e+01 1.16e+01 -1.82e+02 1.84e+02 0.498 -2.81 + 608 2 111 563 -3.60e-01 3.29e-01 -3.33e+00 3.37e+00 0.135 -2.62 + 609 2 111 563 -8.72e-02 -2.40e-02 -2.99e+00 3.00e+00 0.135 -4.19 + 610 2 111 566 -1.61e-01 2.25e-01 -1.49e+00 1.52e+00 0.135 -2.38 + 611 2 111 566 -7.72e-01 7.38e-01 -9.69e+00 9.75e+00 0.135 -2.9 + 612 1 -211 588 3.21e-01 -2.23e-01 -1.77e+00 1.82e+00 0.14 -2.22 + 613 1 211 588 1.03e-01 -2.97e-01 -2.00e+00 2.03e+00 0.14 -2.55 + 614 2 111 588 6.30e-02 1.63e-01 -7.63e-01 7.94e-01 0.135 -2.18 + 615 1 22 608 -3.26e-01 2.76e-01 -3.12e+00 3.15e+00 0 -2.69 + 616 1 22 608 -3.41e-02 5.33e-02 -2.15e-01 2.24e-01 0 -1.94 + 617 1 22 609 -1.01e-01 2.75e-02 -2.29e+00 2.30e+00 0 -3.78 + 618 1 22 609 1.37e-02 -5.15e-02 -7.01e-01 7.03e-01 0 -3.27 + 619 1 22 610 -7.30e-02 2.04e-01 -1.01e+00 1.03e+00 0 -2.24 + 620 1 22 610 -8.76e-02 2.04e-02 -4.77e-01 4.85e-01 0 -2.37 + 621 1 22 611 -6.72e-01 5.71e-01 -7.86e+00 7.91e+00 0 -2.88 + 622 1 22 611 -1.00e-01 1.67e-01 -1.82e+00 1.83e+00 0 -2.93 + 623 1 22 614 -8.72e-03 -2.00e-02 -1.18e-01 1.20e-01 0 -2.39 + 624 1 22 614 7.17e-02 1.83e-01 -6.45e-01 6.74e-01 0 -1.9 +3 Event +280 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 21 1 5.50e-01 2.26e-01 5.57e+01 5.57e+01 0 5.23 + 4 3 1 2 -2.49e+00 -5.11e-01 -1.27e+03 1.27e+03 0 -6.9 + 5 3 -2 3 5.15e-01 -3.71e-01 4.37e+00 4.41e+00 0 2.63 + 6 3 1 4 2.57e+00 4.38e-01 -4.63e+02 4.63e+02 0 -5.87 + 7 3 22 5 6.11e-01 4.73e+00 -5.78e+00 7.50e+00 0 -1.02 + 8 3 -24 5 2.48e+00 -4.66e+00 -4.53e+02 4.60e+02 80.2 -5.14 + 9 1 22 7 6.11e-01 4.73e+00 -5.78e+00 7.50e+00 0 -1.02 + 10 2 -24 8 2.48e+00 -4.66e+00 -4.53e+02 4.60e+02 80.2 -5.14 + 11 1 13 10 1.17e+01 3.45e+01 -2.85e+02 2.87e+02 0.106 -2.75 + 12 1 -14 10 -9.19e+00 -3.92e+01 -1.68e+02 1.73e+02 0 -2.13 + 13 2 2 3 -1.06e+00 5.40e-01 6.25e-01 1.38e+00 0.33 0.503 + 14 2 2101 1 -9.42e-01 2.17e-01 6.53e+03 6.53e+03 0.579 9.51 + 15 2 2 1 3.93e-01 -4.42e-01 2.02e+01 2.03e+01 0.33 4.23 + 16 2 21 3 1.28e+00 -8.74e-01 5.02e+01 5.02e+01 0 4.17 + 17 2 21 3 -1.67e-01 9.43e-01 -4.22e+00 4.33e+00 0 -2.19 + 18 2 21 0 9.34e-01 2.91e+00 1.97e+01 2.00e+01 0 2.56 + 19 2 21 0 -2.14e+00 4.17e+00 -2.51e+00 5.32e+00 0 -0.513 + 20 2 21 0 2.14e+00 -4.17e+00 -7.24e+00 8.62e+00 0 -1.22 + 21 2 21 0 2.68e+00 -1.72e+00 -3.07e+01 3.09e+01 0 -2.96 + 22 2 21 0 -2.68e+00 1.72e+00 -1.05e+02 1.05e+02 0 -4.19 + 23 2 21 4 -6.21e-01 -2.83e+00 -4.24e+01 4.25e+01 0 -3.38 + 24 2 21 4 -1.09e-01 2.50e-02 -1.28e+01 1.28e+01 0 -5.44 + 25 2 21 4 -4.72e-02 -2.81e-01 -7.30e+00 7.31e+00 0 -3.94 + 26 2 21 4 -3.65e+00 1.06e+00 -1.44e+02 1.44e+02 0 -4.33 + 27 2 21 4 -8.57e-01 1.30e+00 -8.64e+01 8.64e+01 0 -4.71 + 28 2 21 4 2.10e-01 -2.36e-01 -5.04e+02 5.04e+02 0 -8.07 + 29 2 2203 2 2.49e+00 5.11e-01 -5.57e+03 5.57e+03 0.771 -8.39 + 30 2 21 0 -3.00e+00 2.35e+00 2.36e+02 2.36e+02 0 4.82 + 31 2 21 0 -9.34e-01 -2.91e+00 1.02e+02 1.02e+02 0 4.2 + 32 2 21 0 3.00e+00 -2.35e+00 2.97e+01 3.00e+01 0 2.75 + 33 2 21 0 1.02e+00 -2.88e+00 -9.85e+00 1.03e+01 0 -1.89 + 34 2 21 0 -1.02e+00 2.88e+00 -7.45e+00 8.05e+00 0 -1.62 + 35 2 92 13 -2.00e+00 7.56e-01 6.53e+03 6.54e+03 99.6 8.72 + 36 1 321 35 -2.73e-01 1.76e-01 9.69e-01 1.13e+00 0.494 1.81 + 37 2 333 35 -1.11e+00 1.44e-01 2.44e+00 2.87e+00 1.02 1.52 + 38 1 -321 35 5.75e-01 -1.63e-01 3.07e+00 3.17e+00 0.494 2.34 + 39 2 323 35 -4.93e-01 1.18e-01 1.14e+01 1.14e+01 0.776 3.8 + 40 2 333 35 4.67e-02 -1.10e-02 6.10e+01 6.10e+01 1.02 7.84 + 41 2 -313 35 6.61e-02 2.00e-01 1.02e+02 1.02e+02 0.984 6.87 + 42 1 -211 35 6.62e-01 2.34e-03 1.91e+01 1.92e+01 0.14 4.06 + 43 2 213 35 -1.13e+00 2.68e-01 8.99e+02 8.99e+02 0.794 7.34 + 44 1 2112 35 -3.44e-01 2.18e-02 5.44e+03 5.44e+03 0.94 10.4 + 45 2 92 15 -1.50e-01 2.09e+00 -6.43e+03 6.61e+03 1.55e+03 -8.72 + 46 1 211 45 1.39e+00 -8.14e-01 3.12e+01 3.13e+01 0.14 3.66 + 47 2 113 45 6.88e-02 -1.41e-01 2.65e+01 2.66e+01 0.811 5.82 + 48 1 -211 45 -3.37e-01 -1.68e-01 9.43e+00 9.44e+00 0.14 3.91 + 49 2 113 45 6.00e-01 -2.67e-01 2.22e+00 2.44e+00 0.792 1.93 + 50 2 323 45 -3.07e-01 -6.12e-02 -1.42e-02 9.76e-01 0.924 -0.0453 + 51 2 -313 45 1.43e-02 4.68e-01 -3.88e-01 1.12e+00 0.936 -0.755 + 52 2 111 45 8.08e-02 -1.35e-02 -7.15e-01 7.33e-01 0.135 -2.86 + 53 2 113 45 -2.30e-01 1.48e-01 -1.62e+00 1.84e+00 0.816 -2.48 + 54 2 223 45 3.60e-01 7.58e-01 8.72e-01 1.44e+00 0.784 0.908 + 55 2 113 45 1.21e-01 1.16e-01 9.83e-01 1.26e+00 0.769 2.47 + 56 2 -213 45 8.69e-02 1.01e+00 7.42e+00 7.52e+00 0.697 2.69 + 57 2 323 45 1.76e-01 4.23e-01 1.93e+00 2.16e+00 0.876 2.14 + 58 1 -321 45 1.93e-01 1.97e-01 6.13e+00 6.16e+00 0.494 3.79 + 59 2 223 45 -2.63e-01 7.90e-01 6.47e-01 1.31e+00 0.784 0.715 + 60 2 213 45 1.35e-01 1.08e+00 5.74e-01 1.37e+00 0.601 0.506 + 61 1 -211 45 -1.05e+00 1.11e+00 -1.21e-01 1.54e+00 0.14 -0.0789 + 62 2 213 45 -9.08e-02 5.82e-01 -1.54e+00 1.76e+00 0.619 -1.69 + 63 2 221 45 1.94e-01 -2.74e-01 -2.66e-01 6.95e-01 0.547 -0.728 + 64 2 -213 45 2.31e-01 2.74e-01 -1.31e+00 1.58e+00 0.818 -2 + 65 2 213 45 -4.52e-01 2.86e-01 -1.23e+00 1.57e+00 0.822 -1.57 + 66 2 2114 45 9.53e-01 -6.69e-01 -3.09e+00 3.53e+00 1.24 -1.7 + 67 1 211 45 -1.36e-01 -6.50e-01 -8.86e-01 1.12e+00 0.14 -1.1 + 68 1 -2212 45 8.49e-01 -2.09e+00 -5.29e+00 5.82e+00 0.938 -1.59 + 69 1 -211 45 1.20e-01 2.39e-01 -1.06e+00 1.10e+00 0.14 -2.08 + 70 2 323 45 1.48e+00 -9.63e-01 -1.55e+01 1.56e+01 0.978 -2.86 + 71 1 -321 45 -2.78e-01 3.30e-01 -8.84e+00 8.87e+00 0.494 -3.71 + 72 2 213 45 4.81e-01 -1.41e-01 -1.37e+01 1.37e+01 0.788 -4 + 73 2 111 45 -6.69e-01 1.78e-01 -1.87e+01 1.87e+01 0.135 -3.99 + 74 2 -213 45 -3.45e-01 -1.71e-01 -1.77e+01 1.77e+01 0.733 -4.52 + 75 1 2212 45 -3.93e-01 8.27e-02 -3.98e+01 3.98e+01 0.938 -5.29 + 76 1 -2212 45 -6.65e-01 6.91e-02 -2.61e+01 2.61e+01 0.938 -4.36 + 77 2 3224 45 -4.07e-01 -1.66e+00 -3.45e+01 3.46e+01 1.37 -3.7 + 78 2 311 45 -2.78e-01 5.33e-02 -1.90e+01 1.90e+01 0.498 -4.9 + 79 1 -2112 45 -1.86e+00 2.64e-01 -6.69e+01 6.69e+01 0.94 -4.27 + 80 1 -211 45 -4.20e-01 -6.99e-02 -4.46e+01 4.47e+01 0.14 -5.34 + 81 1 211 45 -1.23e+00 5.35e-01 -3.48e+01 3.49e+01 0.14 -3.95 + 82 2 311 45 -1.74e-02 2.33e-01 -6.04e+01 6.04e+01 0.498 -6.25 + 83 2 -323 45 -5.63e-01 -7.34e-02 -1.48e+02 1.48e+02 1.01 -6.26 + 84 1 211 45 -1.34e-01 -9.12e-02 -7.11e+00 7.11e+00 0.14 -4.48 + 85 2 113 45 1.80e-02 8.34e-01 -6.47e+02 6.47e+02 0.798 -7.35 + 86 1 -211 45 2.67e-01 -2.79e-01 -5.20e+02 5.20e+02 0.14 -7.9 + 87 2 213 45 3.40e-01 1.94e-01 -1.02e+03 1.02e+03 0.63 -8.56 + 88 2 2214 45 5.67e-01 9.88e-02 -8.80e+02 8.80e+02 1.2 -8.03 + 89 2 223 45 1.23e+00 3.33e-01 -2.87e+03 2.87e+03 0.784 -8.41 + 90 2 92 30 -9.34e-01 -2.91e+00 3.67e+02 3.67e+02 15 5.48 + 91 1 211 90 -8.24e-01 -1.45e-02 1.59e+01 1.59e+01 0.14 3.66 + 92 1 -211 90 -1.30e+00 8.92e-01 8.32e+01 8.33e+01 0.14 4.66 + 93 2 -311 90 -2.08e-02 -2.14e-01 2.11e+01 2.11e+01 0.498 5.28 + 94 2 313 90 -3.62e-01 5.42e-01 5.03e+01 5.03e+01 0.796 5.04 + 95 2 213 90 -8.94e-01 -3.47e-01 5.52e+01 5.52e+01 0.708 4.75 + 96 2 113 90 -1.28e-01 -1.56e-01 3.41e+01 3.41e+01 0.72 5.82 + 97 1 -211 90 -5.72e-01 -9.49e-01 3.99e+01 3.99e+01 0.14 4.28 + 98 2 111 90 4.23e-01 -2.45e-01 3.08e+00 3.12e+00 0.135 2.54 + 99 1 -2112 90 1.14e+00 -1.49e+00 2.49e+01 2.50e+01 0.94 3.28 + 100 1 2112 90 5.39e-01 -8.02e-01 1.40e+01 1.41e+01 0.94 3.37 + 101 2 223 90 1.06e+00 -1.22e-01 2.53e+01 2.53e+01 0.776 3.86 + 102 2 92 33 0.00e+00 0.00e+00 -1.73e+01 1.84e+01 6.17 -999 + 103 2 113 102 2.54e-01 -1.28e-01 -3.69e+00 3.77e+00 0.722 -3.26 + 104 2 223 102 -7.85e-02 4.34e-02 -9.82e-01 1.26e+00 0.782 -3.09 + 105 2 213 102 1.78e-01 3.27e-01 -2.62e+00 2.77e+00 0.812 -2.65 + 106 2 111 102 1.94e-01 -8.30e-01 -1.78e+00 1.98e+00 0.135 -1.48 + 107 1 -211 102 -2.88e-01 5.23e-01 -3.10e+00 3.16e+00 0.14 -2.35 + 108 2 223 102 2.53e-01 -1.38e-01 -2.52e+00 2.66e+00 0.783 -2.86 + 109 2 113 102 -5.13e-01 2.04e-01 -2.60e+00 2.77e+00 0.78 -2.25 + 110 1 321 37 -5.35e-01 -4.15e-03 1.39e+00 1.57e+00 0.494 1.68 + 111 1 -321 37 -5.74e-01 1.48e-01 1.05e+00 1.30e+00 0.494 1.33 + 112 2 311 39 -1.65e-01 7.95e-02 8.26e+00 8.27e+00 0.498 4.5 + 113 1 211 39 -3.29e-01 3.86e-02 3.09e+00 3.12e+00 0.14 2.93 + 114 1 321 40 -8.91e-02 3.84e-02 3.21e+01 3.21e+01 0.494 6.5 + 115 1 -321 40 1.36e-01 -4.94e-02 2.89e+01 2.89e+01 0.494 5.99 + 116 2 -311 41 -2.08e-01 2.83e-01 4.52e+01 4.53e+01 0.498 5.55 + 117 2 111 41 2.74e-01 -8.21e-02 5.65e+01 5.65e+01 0.135 5.98 + 118 1 211 43 -1.03e+00 4.32e-01 6.38e+02 6.38e+02 0.14 7.04 + 119 2 111 43 -1.00e-01 -1.65e-01 2.61e+02 2.61e+02 0.135 7.9 + 120 1 -211 47 2.55e-01 -1.00e-02 2.33e+01 2.33e+01 0.14 5.21 + 121 1 211 47 -1.86e-01 -1.31e-01 3.23e+00 3.24e+00 0.14 3.34 + 122 1 211 49 7.62e-01 -2.15e-01 1.64e+00 1.83e+00 0.14 1.48 + 123 1 -211 49 -1.62e-01 -5.17e-02 5.74e-01 6.14e-01 0.14 1.93 + 124 2 311 50 -4.48e-01 -2.27e-01 -7.65e-02 7.11e-01 0.498 -0.152 + 125 1 211 50 1.40e-01 1.66e-01 6.23e-02 2.65e-01 0.14 0.283 + 126 1 -321 51 -2.60e-02 2.92e-01 9.54e-02 5.82e-01 0.494 0.32 + 127 1 211 51 4.03e-02 1.76e-01 -4.83e-01 5.35e-01 0.14 -1.71 + 128 1 22 52 -1.68e-02 2.28e-02 -3.88e-02 4.80e-02 0 -1.12 + 129 1 22 52 9.76e-02 -3.63e-02 -6.77e-01 6.85e-01 0 -2.57 + 130 1 -211 53 -8.09e-02 2.95e-01 -1.97e-01 3.90e-01 0.14 -0.608 + 131 1 211 53 -1.49e-01 -1.47e-01 -1.43e+00 1.45e+00 0.14 -2.62 + 132 1 211 54 1.97e-01 3.51e-01 6.75e-01 7.98e-01 0.14 1.29 + 133 1 -211 54 -3.88e-02 1.47e-01 2.00e-01 2.87e-01 0.14 1.09 + 134 2 111 54 2.02e-01 2.60e-01 -3.27e-03 3.56e-01 0.135 -0.00991 + 135 1 -211 55 1.15e-01 2.71e-01 9.97e-01 1.05e+00 0.14 1.93 + 136 1 211 55 5.83e-03 -1.56e-01 -1.47e-02 2.10e-01 0.14 -0.0941 + 137 1 -211 56 -8.49e-03 1.28e-01 3.83e-01 4.28e-01 0.14 1.81 + 138 2 111 56 9.53e-02 8.80e-01 7.03e+00 7.09e+00 0.135 2.77 + 139 2 311 57 6.63e-02 5.21e-01 1.76e+00 1.90e+00 0.498 1.92 + 140 1 211 57 1.10e-01 -9.78e-02 1.66e-01 2.62e-01 0.14 0.97 + 141 1 211 59 -1.81e-01 4.47e-01 1.25e-01 5.17e-01 0.14 0.256 + 142 1 -211 59 -2.25e-01 2.99e-01 3.59e-01 5.38e-01 0.14 0.852 + 143 2 111 59 1.43e-01 4.38e-02 1.63e-01 2.59e-01 0.135 0.942 + 144 1 211 60 6.61e-02 1.08e+00 5.00e-01 1.20e+00 0.14 0.447 + 145 2 111 60 6.86e-02 -8.01e-04 7.43e-02 1.69e-01 0.135 0.939 + 146 1 211 62 -4.09e-02 -5.32e-02 -5.87e-01 6.07e-01 0.14 -2.86 + 147 2 111 62 -4.99e-02 6.35e-01 -9.56e-01 1.16e+00 0.135 -1.2 + 148 2 111 63 -8.07e-02 -5.76e-02 -3.25e-02 1.71e-01 0.135 -0.323 + 149 2 111 63 2.01e-01 -6.40e-02 -9.60e-02 2.68e-01 0.135 -0.442 + 150 2 111 63 7.41e-02 -1.52e-01 -1.38e-01 2.57e-01 0.135 -0.744 + 151 1 -211 64 4.35e-01 4.07e-01 -8.38e-01 1.04e+00 0.14 -1.14 + 152 2 111 64 -2.04e-01 -1.33e-01 -4.69e-01 5.45e-01 0.135 -1.41 + 153 1 211 65 -1.15e-01 -2.61e-01 -4.89e-01 5.83e-01 0.14 -1.31 + 154 2 111 65 -3.37e-01 5.47e-01 -7.40e-01 9.89e-01 0.135 -0.984 + 155 1 2212 66 6.04e-01 -7.13e-01 -2.45e+00 2.79e+00 0.938 -1.69 + 156 1 -211 66 3.49e-01 4.35e-02 -6.38e-01 7.42e-01 0.14 -1.36 + 157 2 311 70 5.39e-01 -2.99e-01 -4.42e+00 4.49e+00 0.498 -2.67 + 158 1 211 70 9.45e-01 -6.64e-01 -1.11e+01 1.11e+01 0.14 -2.95 + 159 1 211 72 1.18e-04 -3.58e-01 -6.34e+00 6.36e+00 0.14 -3.57 + 160 2 111 72 4.80e-01 2.17e-01 -7.34e+00 7.36e+00 0.135 -3.33 + 161 1 22 73 -5.04e-01 7.96e-02 -1.28e+01 1.28e+01 0 -3.91 + 162 1 22 73 -1.65e-01 9.88e-02 -5.90e+00 5.90e+00 0 -4.12 + 163 1 -211 74 1.33e-01 1.21e-01 -7.19e+00 7.19e+00 0.14 -4.38 + 164 2 111 74 -4.77e-01 -2.92e-01 -1.05e+01 1.05e+01 0.135 -3.62 + 165 2 3122 77 -4.69e-01 -1.62e+00 -3.09e+01 3.09e+01 1.12 -3.6 + 166 1 211 77 6.12e-02 -3.83e-02 -3.63e+00 3.64e+00 0.14 -4.61 + 167 1 130 78 -2.78e-01 5.33e-02 -1.90e+01 1.90e+01 0.498 -4.9 + 168 2 310 82 -1.74e-02 2.33e-01 -6.04e+01 6.04e+01 0.498 -6.25 + 169 2 -311 83 -5.45e-01 2.59e-01 -8.99e+01 8.99e+01 0.498 -5.7 + 170 1 -211 83 -1.76e-02 -3.32e-01 -5.80e+01 5.80e+01 0.14 -5.85 + 171 1 211 85 9.30e-02 -1.09e-02 -3.29e+01 3.29e+01 0.14 -6.56 + 172 1 -211 85 -7.50e-02 8.45e-01 -6.14e+02 6.14e+02 0.14 -7.28 + 173 1 211 87 8.59e-02 3.47e-01 -6.99e+02 6.99e+02 0.14 -8.27 + 174 2 111 87 2.54e-01 -1.53e-01 -3.24e+02 3.24e+02 0.135 -7.69 + 175 1 2212 88 3.83e-01 1.63e-01 -5.77e+02 5.77e+02 0.938 -7.93 + 176 2 111 88 1.84e-01 -6.41e-02 -3.04e+02 3.04e+02 0.135 -8.04 + 177 1 211 89 5.33e-01 7.46e-02 -1.01e+03 1.01e+03 0.14 -8.23 + 178 1 -211 89 4.00e-01 -1.62e-02 -1.32e+03 1.32e+03 0.14 -8.8 + 179 2 111 89 2.98e-01 2.74e-01 -5.41e+02 5.41e+02 0.135 -7.89 + 180 1 130 93 -2.08e-02 -2.14e-01 2.11e+01 2.11e+01 0.498 5.28 + 181 1 321 94 -3.90e-01 2.06e-01 3.09e+01 3.09e+01 0.494 4.94 + 182 1 -211 94 2.79e-02 3.36e-01 1.94e+01 1.94e+01 0.14 4.75 + 183 1 211 95 -8.91e-01 -1.82e-01 3.63e+01 3.63e+01 0.14 4.38 + 184 2 111 95 -2.63e-03 -1.65e-01 1.89e+01 1.89e+01 0.135 5.43 + 185 1 -211 96 -1.20e-02 -3.34e-01 2.86e+01 2.86e+01 0.14 5.14 + 186 1 211 96 -1.16e-01 1.78e-01 5.45e+00 5.46e+00 0.14 3.94 + 187 1 22 98 2.88e-01 -9.56e-02 1.70e+00 1.72e+00 0 2.42 + 188 1 22 98 1.35e-01 -1.49e-01 1.38e+00 1.40e+00 0 2.62 + 189 1 211 101 5.04e-01 -1.97e-01 8.76e+00 8.77e+00 0.14 3.48 + 190 1 -211 101 2.54e-02 -9.08e-02 3.85e+00 3.86e+00 0.14 4.4 + 191 2 111 101 5.32e-01 1.66e-01 1.27e+01 1.27e+01 0.135 3.82 + 192 1 -211 103 -1.71e-01 -5.67e-02 -2.24e+00 2.25e+00 0.14 -3.21 + 193 1 211 103 4.26e-01 -7.15e-02 -1.45e+00 1.52e+00 0.14 -1.93 + 194 1 -211 104 7.65e-02 -8.75e-02 -7.83e-01 8.04e-01 0.14 -2.61 + 195 1 211 104 -1.94e-01 1.20e-01 -1.32e-01 2.98e-01 0.14 -0.548 + 196 2 111 104 3.92e-02 1.08e-02 -6.72e-02 1.56e-01 0.135 -1.28 + 197 1 211 105 -2.80e-01 2.51e-01 -1.39e+00 1.44e+00 0.14 -2.02 + 198 2 111 105 4.58e-01 7.63e-02 -1.24e+00 1.33e+00 0.135 -1.71 + 199 1 22 106 1.08e-01 -5.84e-01 -1.11e+00 1.25e+00 0 -1.38 + 200 1 22 106 8.65e-02 -2.46e-01 -6.78e-01 7.27e-01 0 -1.68 + 201 1 -211 108 -4.19e-02 9.47e-02 -3.16e-01 3.61e-01 0.14 -1.83 + 202 1 211 108 1.25e-01 2.93e-02 -2.70e-01 3.30e-01 0.14 -1.49 + 203 2 111 108 1.70e-01 -2.62e-01 -1.93e+00 1.96e+00 0.135 -2.52 + 204 1 211 109 -6.28e-01 1.34e-01 -1.31e+00 1.46e+00 0.14 -1.46 + 205 1 -211 109 1.15e-01 6.97e-02 -1.29e+00 1.30e+00 0.14 -2.95 + 206 2 310 112 -1.65e-01 7.95e-02 8.26e+00 8.27e+00 0.498 4.5 + 207 2 310 116 -2.08e-01 2.83e-01 4.52e+01 4.53e+01 0.498 5.55 + 208 1 22 117 3.27e-02 -6.35e-02 1.64e+01 1.64e+01 0 6.13 + 209 1 22 117 2.41e-01 -1.86e-02 4.01e+01 4.01e+01 0 5.8 + 210 1 22 119 -3.55e-02 -4.32e-03 1.12e+02 1.12e+02 0 8.74 + 211 1 22 119 -6.45e-02 -1.60e-01 1.49e+02 1.49e+02 0 7.45 + 212 2 310 124 -4.48e-01 -2.27e-01 -7.65e-02 7.11e-01 0.498 -0.152 + 213 1 22 134 5.96e-02 3.17e-04 -3.48e-03 5.97e-02 0 -0.0584 + 214 1 22 134 1.43e-01 2.60e-01 2.13e-04 2.96e-01 0 0.000719 + 215 1 22 138 9.82e-02 6.35e-01 5.48e+00 5.52e+00 0 2.84 + 216 1 22 138 -2.90e-03 2.45e-01 1.55e+00 1.57e+00 0 2.54 + 217 2 310 139 6.63e-02 5.21e-01 1.76e+00 1.90e+00 0.498 1.92 + 218 1 22 143 1.46e-01 -9.35e-03 1.35e-01 1.99e-01 0 0.825 + 219 1 22 143 -2.87e-03 5.32e-02 2.80e-02 6.02e-02 0 0.505 + 220 1 22 145 2.42e-02 6.45e-02 1.68e-02 7.09e-02 0 0.241 + 221 1 22 145 4.44e-02 -6.53e-02 5.76e-02 9.78e-02 0 0.676 + 222 1 22 147 -6.98e-02 2.12e-01 -3.96e-01 4.55e-01 0 -1.34 + 223 1 22 147 1.99e-02 4.23e-01 -5.60e-01 7.02e-01 0 -1.09 + 224 1 22 148 -1.12e-01 -6.36e-02 -5.73e-03 1.29e-01 0 -0.0445 + 225 1 22 148 3.13e-02 6.07e-03 -2.68e-02 4.17e-02 0 -0.764 + 226 1 22 149 1.78e-01 -9.49e-02 -1.07e-01 2.28e-01 0 -0.507 + 227 1 22 149 2.25e-02 3.09e-02 1.06e-02 3.97e-02 0 0.274 + 228 1 22 150 2.08e-02 -3.01e-03 -8.82e-02 9.06e-02 0 -2.14 + 229 1 22 150 5.32e-02 -1.49e-01 -4.97e-02 1.66e-01 0 -0.309 + 230 1 22 152 -5.35e-02 -1.09e-01 -1.58e-01 1.99e-01 0 -1.08 + 231 1 22 152 -1.50e-01 -2.43e-02 -3.11e-01 3.46e-01 0 -1.46 + 232 1 22 154 -2.19e-01 4.46e-01 -6.11e-01 7.88e-01 0 -1.03 + 233 1 22 154 -1.17e-01 1.01e-01 -1.29e-01 2.01e-01 0 -0.757 + 234 1 130 157 5.39e-01 -2.99e-01 -4.42e+00 4.49e+00 0.498 -2.67 + 235 1 22 160 2.66e-01 1.44e-01 -3.31e+00 3.33e+00 0 -3.09 + 236 1 22 160 2.15e-01 7.28e-02 -4.03e+00 4.03e+00 0 -3.57 + 237 1 22 164 -1.85e-01 -4.71e-02 -2.98e+00 2.99e+00 0 -3.44 + 238 1 22 164 -2.92e-01 -2.45e-01 -7.48e+00 7.49e+00 0 -3.67 + 239 1 2212 165 -4.74e-01 -1.44e+00 -2.62e+01 2.62e+01 0.938 -3.54 + 240 1 -211 165 5.01e-03 -1.82e-01 -4.71e+00 4.71e+00 0.14 -3.95 + 241 1 -211 168 -1.84e-01 -3.33e-04 -2.55e+01 2.55e+01 0.14 -5.62 + 242 1 211 168 1.67e-01 2.33e-01 -3.49e+01 3.49e+01 0.14 -5.5 + 243 1 130 169 -5.45e-01 2.59e-01 -8.99e+01 8.99e+01 0.498 -5.7 + 244 1 22 174 1.63e-01 -5.83e-02 -2.39e+02 2.39e+02 0 -7.92 + 245 1 22 174 9.09e-02 -9.45e-02 -8.53e+01 8.53e+01 0 -7.17 + 246 1 22 176 3.56e-02 -7.99e-02 -1.18e+02 1.18e+02 0 -7.9 + 247 1 22 176 1.49e-01 1.58e-02 -1.86e+02 1.86e+02 0 -7.82 + 248 1 22 179 1.81e-01 2.40e-01 -4.18e+02 4.18e+02 0 -7.93 + 249 1 22 179 1.17e-01 3.44e-02 -1.23e+02 1.23e+02 0 -7.61 + 250 1 22 184 -1.32e-02 -1.02e-02 2.51e-01 2.52e-01 0 3.4 + 251 1 22 184 1.06e-02 -1.55e-01 1.86e+01 1.86e+01 0 5.48 + 252 1 22 191 1.83e-01 1.10e-01 5.73e+00 5.73e+00 0 3.98 + 253 1 22 191 3.49e-01 5.63e-02 6.96e+00 6.97e+00 0 3.67 + 254 1 22 196 7.69e-02 3.56e-02 -7.15e-02 1.11e-01 0 -0.766 + 255 1 22 196 -3.77e-02 -2.48e-02 4.24e-03 4.53e-02 0 0.0937 + 256 1 22 198 1.21e-01 -3.91e-02 -3.40e-01 3.63e-01 0 -1.71 + 257 1 22 198 3.37e-01 1.15e-01 -8.96e-01 9.65e-01 0 -1.65 + 258 1 22 203 3.78e-02 -1.90e-02 -5.69e-01 5.70e-01 0 -3.29 + 259 1 11 203 1.27e-01 -2.18e-01 -1.21e+00 1.24e+00 0.00051 -2.27 + 260 1 -11 203 4.80e-03 -2.48e-02 -1.54e-01 1.56e-01 0.00051 -2.51 + 261 2 111 206 9.20e-02 1.32e-01 2.25e+00 2.26e+00 0.135 3.33 + 262 2 111 206 -2.57e-01 -5.26e-02 6.00e+00 6.01e+00 0.135 3.82 + 263 2 111 207 -2.89e-01 1.56e-01 3.66e+01 3.66e+01 0.135 5.41 + 264 2 111 207 8.17e-02 1.26e-01 8.62e+00 8.62e+00 0.135 4.74 + 265 1 211 212 -2.95e-01 -9.17e-02 1.55e-01 3.73e-01 0.14 0.481 + 266 1 -211 212 -1.52e-01 -1.35e-01 -2.31e-01 3.38e-01 0.14 -0.973 + 267 2 111 217 1.60e-01 1.55e-01 1.10e+00 1.13e+00 0.135 2.3 + 268 2 111 217 -9.38e-02 3.66e-01 6.60e-01 7.72e-01 0.135 1.32 + 269 1 22 261 1.66e-02 -2.70e-02 2.39e-01 2.41e-01 0 2.72 + 270 1 22 261 7.54e-02 1.59e-01 2.02e+00 2.02e+00 0 3.13 + 271 1 22 262 -7.17e-02 -3.17e-02 3.25e+00 3.25e+00 0 4.42 + 272 1 22 262 -1.85e-01 -2.09e-02 2.76e+00 2.76e+00 0 3.39 + 273 1 22 263 -9.96e-02 2.50e-02 6.20e+00 6.20e+00 0 4.79 + 274 1 22 263 -1.90e-01 1.31e-01 3.04e+01 3.04e+01 0 5.58 + 275 1 22 264 7.76e-02 2.39e-03 3.60e+00 3.60e+00 0 4.53 + 276 1 22 264 4.09e-03 1.24e-01 5.01e+00 5.02e+00 0 4.39 + 277 1 22 267 1.49e-01 9.93e-02 5.70e-01 5.98e-01 0 1.88 + 278 1 22 267 1.13e-02 5.56e-02 5.29e-01 5.32e-01 0 2.93 + 279 1 22 268 -6.60e-02 5.16e-02 1.69e-01 1.89e-01 0 1.45 + 280 1 22 268 -2.77e-02 3.15e-01 4.91e-01 5.84e-01 0 1.22 +4 Event +510 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 2 1 -9.28e-02 1.61e-01 2.37e+03 2.37e+03 0 10.1 + 4 3 21 2 2.84e-01 -3.15e-01 -3.80e+03 3.80e+03 0 -9.79 + 5 3 2 3 1.83e-01 6.40e-01 1.85e+03 1.85e+03 0 8.62 + 6 3 -1 4 -5.80e+00 -1.93e+00 2.42e+00 6.57e+00 0 0.386 + 7 3 22 5 1.36e+01 -1.06e+01 9.92e+02 9.92e+02 0 4.74 + 8 3 24 5 -1.93e+01 9.29e+00 8.63e+02 8.67e+02 80.4 4.39 + 9 1 22 7 1.36e+01 -1.06e+01 9.92e+02 9.92e+02 0 4.74 + 10 2 24 8 -1.93e+01 9.29e+00 8.63e+02 8.67e+02 80.4 4.39 + 11 2 1 4 -9.88e-01 -4.96e+00 1.90e+01 1.97e+01 0.33 2.04 + 12 2 21 4 2.60e-01 -3.10e+00 1.17e+01 1.21e+01 0 2.04 + 13 2 21 4 7.57e-01 -5.40e-01 5.15e+00 5.24e+00 0 2.41 + 14 2 2203 2 -1.44e-01 4.40e-01 -2.91e+03 2.91e+03 0.771 -9.44 + 15 2 2 4 -1.83e-01 -1.48e+00 -2.14e+03 2.14e+03 0.33 -7.96 + 16 2 21 4 4.40e-01 -2.95e-01 -3.13e-01 6.15e-01 0 -0.561 + 17 2 21 4 2.73e-01 -3.30e-01 -7.68e-01 8.80e-01 0 -1.35 + 18 2 21 4 2.93e-01 1.38e-01 -2.16e+00 2.18e+00 0 -2.6 + 19 2 21 4 1.02e+00 -1.45e+00 -2.47e+01 2.48e+01 0 -3.33 + 20 2 21 4 1.21e+00 -7.49e-01 -1.12e+01 1.13e+01 0 -2.76 + 21 2 21 4 -5.49e-01 1.05e-01 3.41e+00 3.46e+00 0 2.51 + 22 2 21 4 6.43e-01 3.12e+00 7.51e+00 8.16e+00 0 1.59 + 23 2 21 4 1.21e+00 3.41e+00 6.31e+00 7.28e+00 0 1.32 + 24 2 21 4 2.44e+00 6.91e+00 2.44e+01 2.55e+01 0 1.92 + 25 2 21 0 -8.08e-01 -3.34e+00 1.96e+00 3.96e+00 0 0.544 + 26 2 21 0 8.08e-01 3.34e+00 -1.61e+02 1.61e+02 0 -4.54 + 27 2 21 3 1.94e-01 -5.22e-01 1.21e+02 1.21e+02 0 6.08 + 28 2 21 3 -2.38e-01 7.16e-01 1.02e+02 1.02e+02 0 5.6 + 29 2 21 3 3.42e-01 2.43e-01 3.19e+01 3.19e+01 0 5.03 + 30 2 21 3 -5.97e-01 -9.51e-01 1.80e+02 1.80e+02 0 5.77 + 31 2 2103 1 9.28e-02 -1.61e-01 4.27e+03 4.27e+03 0.771 10.7 + 32 2 -2 4 -7.16e-01 8.70e-01 -1.62e+03 1.62e+03 0.33 -7.96 + 33 2 1 2 -1.41e-01 -1.25e-01 -8.45e+01 8.45e+01 0.33 -6.8 + 34 2 4 10 -2.27e+01 -1.64e+01 3.48e+02 3.49e+02 1.5 3.22 + 35 2 21 10 -7.45e+00 -8.52e+00 1.24e+02 1.25e+02 0 3.09 + 36 2 21 10 -2.00e+00 -1.10e+00 2.19e+01 2.20e+01 0 2.95 + 37 2 21 10 -1.03e+00 -2.60e-01 3.03e+00 3.21e+00 0 1.77 + 38 2 21 10 -2.65e-01 5.59e-01 2.27e+00 2.35e+00 0 2.01 + 39 2 21 10 2.37e-01 2.80e+00 2.63e+01 2.64e+01 0 2.93 + 40 2 21 10 3.37e-01 1.99e+00 1.88e+01 1.90e+01 0 2.93 + 41 2 21 10 9.33e+00 2.19e+01 2.29e+02 2.30e+02 0 2.96 + 42 2 -3 10 4.29e+00 8.32e+00 8.93e+01 8.97e+01 0.5 2.95 + 43 2 2 0 2.14e+00 2.35e+00 -5.47e+00 6.32e+00 0 -1.31 + 44 2 -2 0 -2.14e+00 -2.35e+00 -2.41e+01 2.43e+01 0 -2.72 + 45 2 1 0 1.87e+00 2.31e+00 2.44e+01 2.46e+01 0 2.8 + 46 2 -1 0 -1.87e+00 -2.31e+00 -3.05e+00 4.26e+00 0 -0.901 + 47 2 21 0 -1.60e-01 4.02e+00 7.57e+00 8.57e+00 0 1.39 + 48 2 21 0 1.60e-01 -4.02e+00 2.91e+02 2.91e+02 0 4.97 + 49 2 21 0 -2.65e+00 1.50e+00 2.50e+01 2.51e+01 0 2.8 + 50 2 21 0 2.65e+00 -1.50e+00 1.79e+00 3.53e+00 0 0.556 + 51 2 92 11 -1.15e-01 -8.16e+00 -2.88e+03 2.95e+03 652 -6.56 + 52 2 -213 51 3.06e-01 -2.53e+00 1.21e+01 1.24e+01 0.849 2.26 + 53 2 213 51 -1.54e-01 -1.75e+00 5.56e+00 5.86e+00 0.574 1.87 + 54 2 223 51 -5.12e-01 -1.42e+00 5.97e+00 6.21e+00 0.787 2.09 + 55 2 223 51 2.16e-01 -1.87e+00 7.10e+00 7.39e+00 0.777 2.04 + 56 2 113 51 -4.77e-02 -1.02e+00 2.44e+00 2.73e+00 0.707 1.61 + 57 1 -211 51 2.20e-01 4.78e-03 2.24e+00 2.25e+00 0.14 3.01 + 58 1 211 51 -3.35e-01 6.96e-02 -1.11e-01 3.86e-01 0.14 -0.318 + 59 2 113 51 1.39e-01 -3.31e-01 -1.73e+00 1.95e+00 0.829 -2.28 + 60 1 -211 51 -2.86e-01 6.48e-01 -3.48e+00 3.55e+00 0.14 -2.3 + 61 2 111 51 4.14e-01 -3.00e-01 -3.14e+00 3.18e+00 0.135 -2.51 + 62 1 211 51 5.50e-01 1.48e-01 -1.82e+00 1.91e+00 0.14 -1.88 + 63 2 113 51 -8.79e-01 -4.15e-01 -2.37e+01 2.38e+01 0.805 -3.89 + 64 1 -211 51 4.40e-01 6.53e-01 -3.07e+01 3.07e+01 0.14 -4.36 + 65 1 211 51 4.59e-02 -7.34e-01 -5.85e+02 5.85e+02 0.14 -7.37 + 66 2 2214 51 -4.99e-01 6.32e-01 -1.27e+03 1.27e+03 1.15 -8.05 + 67 2 111 51 2.66e-01 4.88e-02 -9.99e+02 9.99e+02 0.135 -8.91 + 68 2 92 15 6.59e+00 8.71e+00 2.41e+03 7.10e+03 6.68e+03 6.09 + 69 2 323 68 2.70e-02 -7.84e-01 -6.33e+02 6.33e+02 0.905 -7.39 + 70 2 -311 68 -5.13e-01 -3.57e-01 -6.68e+02 6.68e+02 0.498 -7.67 + 71 1 -211 68 5.76e-01 6.14e-02 -3.36e+02 3.36e+02 0.14 -7.05 + 72 2 213 68 2.75e-01 -4.60e-01 -3.86e+02 3.86e+02 0.783 -7.27 + 73 2 223 68 -5.79e-01 -1.95e-02 -8.41e+01 8.41e+01 0.795 -5.67 + 74 2 -213 68 -7.32e-02 3.66e-01 -1.68e+01 1.68e+01 0.857 -4.5 + 75 1 211 68 6.41e-01 -6.35e-01 -1.70e+01 1.70e+01 0.14 -3.63 + 76 1 -211 68 -1.59e-01 1.82e-02 -3.38e-01 3.99e-01 0.14 -1.49 + 77 2 331 68 -2.19e-02 -2.44e-01 -4.96e+00 5.06e+00 0.958 -3.7 + 78 1 211 68 3.82e-01 4.98e-03 -3.96e+00 3.98e+00 0.14 -3.03 + 79 1 -211 68 8.28e-01 -4.72e-02 -5.32e+00 5.39e+00 0.14 -2.56 + 80 2 213 68 -9.30e-03 -9.33e-01 -5.79e+00 5.91e+00 0.773 -2.52 + 81 2 111 68 6.89e-02 -7.43e-02 -3.25e-01 3.66e-01 0.135 -1.88 + 82 2 311 68 8.09e-01 -2.24e-01 -2.21e+00 2.41e+00 0.498 -1.69 + 83 2 -311 68 2.08e-01 -2.99e-01 -7.98e+00 8.01e+00 0.498 -3.78 + 84 2 221 68 4.86e-02 -2.94e-01 -1.26e+00 1.40e+00 0.547 -2.15 + 85 2 221 68 2.43e-01 2.79e-02 -2.05e+00 2.13e+00 0.547 -2.82 + 86 2 113 68 -1.42e-01 2.01e-01 -9.33e-01 1.20e+00 0.713 -2.04 + 87 2 -213 68 6.30e-01 -5.34e-01 -3.03e+00 3.29e+00 0.983 -2.01 + 88 2 213 68 -4.45e-01 2.67e-02 -1.18e+00 1.46e+00 0.745 -1.7 + 89 1 2112 68 -5.65e-02 4.18e-01 8.20e-01 1.32e+00 0.94 1.42 + 90 1 -2212 68 -3.05e-02 -4.08e-01 1.41e+00 1.75e+00 0.938 1.95 + 91 1 211 68 3.52e-01 1.21e+00 9.47e-01 1.58e+00 0.14 0.695 + 92 2 -213 68 -3.00e-01 5.76e-01 1.98e+00 2.17e+00 0.593 1.83 + 93 2 323 68 5.36e-01 1.54e+00 4.13e+00 4.54e+00 0.915 1.66 + 94 2 -323 68 1.68e+00 4.27e+00 1.14e+01 1.23e+01 0.89 1.64 + 95 2 221 68 1.65e-01 1.73e+00 5.38e+00 5.68e+00 0.547 1.85 + 96 2 111 68 3.41e-01 4.26e-01 7.75e-01 9.57e-01 0.135 1.15 + 97 2 111 68 1.86e-01 1.46e+00 5.43e+00 5.63e+00 0.135 2.02 + 98 2 223 68 1.01e+00 1.35e+00 6.76e+00 7.01e+00 0.785 2.1 + 99 1 211 68 -3.41e-01 1.52e-01 5.24e-01 6.59e-01 0.14 1.14 + 100 1 2112 68 -2.12e-01 -1.07e+00 7.02e-01 1.60e+00 0.94 0.604 + 101 1 -2212 68 4.75e-02 2.78e-01 1.00e+00 1.40e+00 0.938 1.98 + 102 2 111 68 1.74e-01 -5.60e-01 1.26e-01 6.15e-01 0.135 0.213 + 103 2 113 68 -3.19e-01 -8.46e-02 1.39e-01 9.73e-01 0.904 0.41 + 104 2 111 68 -1.19e-01 -2.63e-01 1.55e-01 3.55e-01 0.135 0.514 + 105 1 211 68 2.93e-01 -6.23e-01 -2.67e-01 7.52e-01 0.14 -0.378 + 106 2 1114 68 -4.41e-01 2.46e-01 -2.32e+01 2.33e+01 1.24 -4.52 + 107 1 211 68 1.68e-01 1.03e-01 -3.22e+00 3.23e+00 0.14 -3.49 + 108 1 -2212 68 3.45e-01 1.22e+00 -5.30e+01 5.31e+01 0.938 -4.43 + 109 2 2214 68 1.20e-01 3.75e-01 -1.10e+01 1.10e+01 1.25 -4.02 + 110 1 211 68 2.10e-01 4.01e-01 -1.66e+01 1.66e+01 0.14 -4.3 + 111 2 -2224 68 1.97e-01 5.19e-01 -3.04e+01 3.04e+01 1.24 -4.7 + 112 2 323 68 -7.04e-01 -1.90e-01 -1.37e+01 1.38e+01 0.927 -3.63 + 113 2 333 68 8.29e-01 6.43e-01 -5.40e+00 5.59e+00 1.03 -2.34 + 114 2 -323 68 -4.44e-01 -1.38e-02 -1.06e+00 1.45e+00 0.885 -1.61 + 115 2 213 68 4.70e-01 -2.21e-01 2.78e-01 1.15e+00 0.986 0.513 + 116 2 223 68 2.86e-01 -7.04e-02 -7.33e-01 1.13e+00 0.802 -1.64 + 117 2 -213 68 -2.15e-01 4.27e-01 -7.43e-04 1.01e+00 0.893 -0.00155 + 118 2 113 68 1.74e-01 -4.16e-01 1.20e+01 1.21e+01 0.985 3.98 + 119 2 221 68 -1.96e-01 2.89e-01 5.31e+00 5.35e+00 0.547 3.42 + 120 2 111 68 -1.91e-01 5.43e-01 6.23e+01 6.23e+01 0.135 5.38 + 121 2 323 68 1.31e-01 -6.17e-01 2.92e+01 2.92e+01 0.85 4.53 + 122 2 -311 68 -4.99e-02 1.28e-02 4.53e+00 4.56e+00 0.498 5.17 + 123 1 2112 68 -4.79e-02 -1.08e-01 1.47e+02 1.47e+02 0.94 7.82 + 124 1 -2112 68 1.93e-01 -6.50e-03 2.18e+02 2.18e+02 0.94 7.72 + 125 2 313 68 -5.93e-01 -3.39e-01 5.99e+02 5.99e+02 0.899 7.47 + 126 2 3224 68 3.52e-02 -3.44e-02 2.52e+03 2.52e+03 1.4 11.5 + 127 2 -213 68 1.17e-01 -2.46e-01 1.11e+03 1.11e+03 0.688 9.01 + 128 2 92 32 -8.57e-01 7.45e-01 -1.70e+03 1.70e+03 1.75 -8.01 + 129 2 113 128 -7.85e-01 8.65e-01 -1.68e+03 1.68e+03 0.781 -7.96 + 130 1 -211 128 -7.20e-02 -1.21e-01 -2.84e+01 2.84e+01 0.14 -6 + 131 2 92 34 -1.93e+01 9.29e+00 8.63e+02 8.67e+02 80.4 4.39 + 132 2 423 131 -1.91e+01 -1.41e+01 2.95e+02 2.96e+02 2.01 3.21 + 133 1 211 131 -4.56e+00 -4.74e+00 7.27e+01 7.30e+01 0.14 3.1 + 134 2 113 131 -5.16e+00 -3.69e+00 7.32e+01 7.34e+01 0.778 3.14 + 135 2 111 131 -1.10e-01 -3.72e-02 3.18e+00 3.19e+00 0.135 4.01 + 136 2 -213 131 -1.86e+00 -2.62e+00 3.11e+01 3.13e+01 0.811 2.97 + 137 2 113 131 -1.97e+00 -7.50e-01 1.86e+01 1.87e+01 0.726 2.87 + 138 2 331 131 -1.85e-01 -3.79e-02 3.70e+00 3.83e+00 0.958 3.67 + 139 2 323 131 5.48e-01 3.22e+00 3.64e+01 3.65e+01 0.916 3.1 + 140 2 -323 131 1.33e+00 3.74e+00 3.41e+01 3.44e+01 0.868 2.85 + 141 2 113 131 4.48e-01 3.00e+00 2.94e+01 2.95e+01 0.925 2.96 + 142 2 213 131 4.78e+00 1.09e+01 1.14e+02 1.15e+02 0.89 2.96 + 143 2 313 131 6.62e+00 1.44e+01 1.52e+02 1.53e+02 0.91 2.95 + 144 2 92 43 0.00e+00 0.00e+00 -2.95e+01 3.06e+01 8.01 -999 + 145 2 323 144 1.88e+00 1.83e+00 -5.00e+00 5.73e+00 0.999 -1.4 + 146 1 -321 144 3.71e-02 1.70e-01 -1.64e+00 1.72e+00 0.494 -2.93 + 147 2 323 144 -4.79e-01 -6.41e-01 -5.40e+00 5.54e+00 0.903 -2.61 + 148 1 -321 144 -1.44e+00 -1.36e+00 -1.75e+01 1.76e+01 0.494 -2.88 + 149 2 92 45 0.00e+00 0.00e+00 2.13e+01 2.88e+01 19.4 999 + 150 1 -211 149 1.12e+00 9.73e-01 1.01e+01 1.02e+01 0.14 2.61 + 151 2 213 149 -2.08e-01 4.25e-01 6.37e+00 6.44e+00 0.789 3.3 + 152 2 311 149 3.66e-01 2.76e-02 1.15e+00 1.31e+00 0.498 1.86 + 153 2 -313 149 6.64e-02 5.14e-01 4.79e+00 4.91e+00 0.979 2.92 + 154 2 111 149 1.43e-01 2.70e-01 1.02e-01 3.49e-01 0.135 0.326 + 155 2 -213 149 2.42e-01 -2.64e-01 1.35e+00 1.66e+00 0.897 2.04 + 156 2 223 149 -1.11e+00 -8.18e-01 -1.31e+00 2.06e+00 0.788 -0.845 + 157 2 213 149 -6.15e-01 -1.13e+00 -1.17e+00 1.93e+00 0.829 -0.818 + 158 2 92 47 0.00e+00 0.00e+00 2.98e+02 2.99e+02 24.8 999 + 159 1 2112 158 1.80e-01 2.32e-01 5.57e+00 5.65e+00 0.94 3.64 + 160 1 -2212 158 -1.51e-01 6.01e-01 3.25e+00 3.44e+00 0.938 2.36 + 161 2 213 158 -1.32e-01 5.13e-01 2.85e+00 3.00e+00 0.77 2.39 + 162 1 2112 158 -2.96e-02 8.17e-01 3.90e+00 4.10e+00 0.94 2.27 + 163 2 111 158 -1.67e-02 7.68e-01 2.22e+00 2.36e+00 0.135 1.78 + 164 1 -2112 158 1.50e-01 2.66e-01 4.07e+00 4.18e+00 0.94 3.28 + 165 2 -213 158 1.61e-01 -1.25e-01 4.74e+00 4.81e+00 0.818 3.84 + 166 2 3222 158 -3.88e-01 -4.92e-01 5.03e+01 5.03e+01 1.19 5.08 + 167 2 -3322 158 -1.23e-01 -2.51e+00 1.84e+02 1.84e+02 1.31 4.99 + 168 2 -313 158 2.74e-01 1.36e-01 1.72e+01 1.73e+01 0.966 4.72 + 169 2 223 158 7.53e-02 -2.08e-01 2.05e+01 2.05e+01 0.778 5.22 + 170 2 92 49 0.00e+00 0.00e+00 2.67e+01 2.87e+01 10.4 999 + 171 2 113 170 2.22e-01 3.15e-01 1.48e+00 1.69e+00 0.714 2.05 + 172 2 111 170 3.46e-01 -1.03e-01 9.35e-01 1.01e+00 0.135 1.68 + 173 2 -3222 170 -8.26e-02 1.70e-01 3.95e+00 4.13e+00 1.19 3.73 + 174 2 3222 170 -6.93e-01 6.61e-01 1.15e+01 1.16e+01 1.19 3.18 + 175 1 -211 170 -1.76e-01 -5.67e-01 2.18e+00 2.27e+00 0.14 2.01 + 176 1 -2112 170 -1.90e-01 1.94e-02 1.69e+00 1.94e+00 0.94 2.87 + 177 2 223 170 2.45e-01 -2.84e-01 2.32e+00 2.48e+00 0.778 2.52 + 178 2 3212 170 8.65e-01 -4.41e-01 1.96e+00 2.49e+00 1.19 1.45 + 179 1 321 170 -5.38e-01 2.28e-01 6.75e-01 1.02e+00 0.494 0.987 + 180 1 -211 52 -1.50e-01 -5.70e-01 4.09e+00 4.13e+00 0.14 2.64 + 181 2 111 52 4.56e-01 -1.96e+00 8.02e+00 8.27e+00 0.135 2.09 + 182 1 211 53 1.85e-02 -7.65e-01 1.70e+00 1.87e+00 0.14 1.54 + 183 2 111 53 -1.73e-01 -9.86e-01 3.86e+00 3.99e+00 0.135 2.06 + 184 1 -211 54 -2.52e-02 -7.75e-01 3.08e+00 3.17e+00 0.14 2.09 + 185 1 211 54 -3.77e-01 -6.01e-01 2.23e+00 2.35e+00 0.14 1.86 + 186 2 111 54 -1.09e-01 -4.08e-02 6.65e-01 6.88e-01 0.135 2.44 + 187 1 -211 55 1.10e-01 -1.29e-01 6.07e-01 6.45e-01 0.14 1.99 + 188 1 211 55 8.55e-02 -1.04e+00 3.12e+00 3.30e+00 0.14 1.81 + 189 2 111 55 2.01e-02 -7.01e-01 3.37e+00 3.44e+00 0.135 2.27 + 190 1 211 56 6.05e-02 -7.58e-01 1.01e+00 1.27e+00 0.14 1.09 + 191 1 -211 56 -1.08e-01 -2.57e-01 1.43e+00 1.46e+00 0.14 2.34 + 192 1 211 59 3.26e-01 1.25e-01 -9.11e-01 9.85e-01 0.14 -1.69 + 193 1 -211 59 -1.87e-01 -4.56e-01 -8.22e-01 9.69e-01 0.14 -1.28 + 194 1 22 61 2.36e-01 -1.26e-01 -1.96e+00 1.98e+00 0 -2.69 + 195 1 22 61 1.77e-01 -1.75e-01 -1.18e+00 1.20e+00 0 -2.26 + 196 1 -211 63 -7.04e-01 -3.19e-02 -1.88e+01 1.88e+01 0.14 -3.98 + 197 1 211 63 -1.75e-01 -3.83e-01 -4.96e+00 4.98e+00 0.14 -3.16 + 198 1 2212 66 -5.17e-01 4.28e-01 -1.09e+03 1.09e+03 0.938 -8.08 + 199 2 111 66 1.89e-02 2.04e-01 -1.76e+02 1.76e+02 0.135 -7.45 + 200 1 22 67 1.67e-01 5.71e-02 -4.18e+02 4.18e+02 0 -8.46 + 201 1 22 67 9.92e-02 -8.29e-03 -5.81e+02 5.81e+02 0 -9.37 + 202 2 311 69 -2.59e-01 -6.05e-01 -4.05e+02 4.05e+02 0.498 -7.12 + 203 1 211 69 2.86e-01 -1.79e-01 -2.27e+02 2.27e+02 0.14 -7.21 + 204 1 130 70 -5.13e-01 -3.57e-01 -6.68e+02 6.68e+02 0.498 -7.67 + 205 1 211 72 5.01e-01 -1.79e-01 -1.94e+02 1.94e+02 0.14 -6.59 + 206 2 111 72 -2.27e-01 -2.81e-01 -1.91e+02 1.91e+02 0.135 -6.97 + 207 1 211 73 -1.30e-01 -6.31e-02 -6.41e+00 6.41e+00 0.14 -4.49 + 208 1 -211 73 -6.55e-02 -1.07e-01 -3.23e+01 3.23e+01 0.14 -6.25 + 209 2 111 73 -3.84e-01 1.50e-01 -4.54e+01 4.54e+01 0.135 -5.39 + 210 1 -211 74 2.54e-01 -7.43e-02 -3.11e+00 3.13e+00 0.14 -3.16 + 211 2 111 74 -3.27e-01 4.40e-01 -1.37e+01 1.37e+01 0.135 -3.91 + 212 2 111 77 -7.89e-02 -1.74e-01 -1.57e+00 1.59e+00 0.135 -2.8 + 213 2 111 77 -7.84e-03 -2.59e-02 -1.34e+00 1.35e+00 0.135 -4.6 + 214 2 221 77 6.49e-02 -4.41e-02 -2.06e+00 2.13e+00 0.547 -3.96 + 215 1 211 80 -1.80e-02 -1.01e+00 -5.40e+00 5.50e+00 0.14 -2.38 + 216 2 111 80 8.75e-03 7.60e-02 -3.82e-01 4.12e-01 0.135 -2.31 + 217 1 22 81 3.67e-02 3.21e-02 -5.12e-02 7.07e-02 0 -0.916 + 218 1 22 81 3.22e-02 -1.06e-01 -2.74e-01 2.95e-01 0 -1.63 + 219 2 310 82 8.09e-01 -2.24e-01 -2.21e+00 2.41e+00 0.498 -1.69 + 220 1 130 83 2.08e-01 -2.99e-01 -7.98e+00 8.01e+00 0.498 -3.78 + 221 1 -211 84 2.03e-02 -6.88e-02 -1.28e-01 2.02e-01 0.14 -1.34 + 222 1 211 84 -6.82e-02 -8.95e-02 -3.59e-01 4.01e-01 0.14 -1.88 + 223 2 111 84 9.64e-02 -1.36e-01 -7.69e-01 7.99e-01 0.135 -2.23 + 224 2 111 85 2.62e-01 3.88e-02 -1.03e+00 1.07e+00 0.135 -2.07 + 225 2 111 85 -1.71e-02 2.34e-02 -2.95e-01 3.26e-01 0.135 -3.01 + 226 2 111 85 -1.29e-03 -3.44e-02 -7.25e-01 7.38e-01 0.135 -3.74 + 227 1 -211 86 4.10e-02 4.13e-01 -4.93e-01 6.59e-01 0.14 -1.01 + 228 1 211 86 -1.83e-01 -2.12e-01 -4.40e-01 5.40e-01 0.14 -1.23 + 229 1 -211 87 1.43e-01 -6.94e-01 -2.09e+00 2.21e+00 0.14 -1.8 + 230 2 111 87 4.87e-01 1.60e-01 -9.33e-01 1.07e+00 0.135 -1.36 + 231 1 211 88 -5.96e-01 3.42e-03 -1.07e+00 1.23e+00 0.14 -1.35 + 232 2 111 88 1.51e-01 2.33e-02 -1.09e-01 2.31e-01 0.135 -0.661 + 233 1 -211 92 -1.93e-01 1.68e-01 1.43e+00 1.46e+00 0.14 2.43 + 234 2 111 92 -1.07e-01 4.08e-01 5.46e-01 7.04e-01 0.135 1.07 + 235 2 311 93 6.39e-01 1.21e+00 3.62e+00 3.90e+00 0.498 1.7 + 236 1 211 93 -1.03e-01 3.31e-01 5.14e-01 6.36e-01 0.14 1.18 + 237 1 -321 94 6.01e-01 1.38e+00 3.70e+00 4.02e+00 0.494 1.63 + 238 2 111 94 1.08e+00 2.89e+00 7.72e+00 8.32e+00 0.135 1.65 + 239 2 111 95 2.88e-03 5.75e-01 2.01e+00 2.10e+00 0.135 1.97 + 240 2 111 95 -3.18e-02 5.55e-01 1.40e+00 1.52e+00 0.135 1.66 + 241 2 111 95 1.94e-01 6.00e-01 1.96e+00 2.06e+00 0.135 1.85 + 242 1 22 96 2.70e-01 2.90e-01 4.61e-01 6.08e-01 0 0.993 + 243 1 22 96 7.05e-02 1.36e-01 3.14e-01 3.49e-01 0 1.46 + 244 1 22 97 8.65e-02 2.88e-01 1.20e+00 1.23e+00 0 2.09 + 245 1 22 97 9.99e-02 1.17e+00 4.23e+00 4.39e+00 0 1.99 + 246 1 -211 98 4.95e-01 7.95e-01 2.61e+00 2.78e+00 0.14 1.75 + 247 1 211 98 2.92e-01 2.77e-01 1.57e+00 1.63e+00 0.14 2.07 + 248 2 111 98 2.19e-01 2.79e-01 2.57e+00 2.60e+00 0.135 2.68 + 249 1 22 102 7.94e-02 -1.34e-01 -1.44e-02 1.57e-01 0 -0.0923 + 250 1 22 102 9.50e-02 -4.26e-01 1.40e-01 4.59e-01 0 0.316 + 251 1 -211 103 -2.58e-02 -4.04e-01 -1.25e-01 4.46e-01 0.14 -0.303 + 252 1 211 103 -2.93e-01 3.20e-01 2.64e-01 5.26e-01 0.14 0.576 + 253 1 22 104 1.75e-02 -1.39e-02 -1.15e-02 2.51e-02 0 -0.492 + 254 1 22 104 -1.37e-01 -2.49e-01 1.67e-01 3.30e-01 0 0.556 + 255 1 2112 106 -1.91e-01 3.04e-01 -1.52e+01 1.52e+01 0.94 -4.44 + 256 1 -211 106 -2.49e-01 -5.73e-02 -8.05e+00 8.06e+00 0.14 -4.14 + 257 1 2112 109 8.30e-02 1.07e-01 -9.48e+00 9.53e+00 0.94 -4.94 + 258 1 211 109 3.72e-02 2.67e-01 -1.48e+00 1.52e+00 0.14 -2.41 + 259 1 -2212 111 2.00e-01 5.22e-01 -2.94e+01 2.94e+01 0.938 -4.66 + 260 1 -211 111 -3.40e-03 -2.45e-03 -9.81e-01 9.90e-01 0.14 -6.15 + 261 2 311 112 -3.80e-01 1.65e-01 -6.15e+00 6.18e+00 0.498 -3.39 + 262 1 211 112 -3.24e-01 -3.55e-01 -7.59e+00 7.61e+00 0.14 -3.45 + 263 1 -321 113 2.66e-01 1.78e-01 -2.22e+00 2.30e+00 0.494 -2.63 + 264 1 321 113 5.63e-01 4.65e-01 -3.18e+00 3.30e+00 0.494 -2.18 + 265 2 -311 114 -3.95e-01 2.53e-01 -7.73e-01 1.03e+00 0.498 -1.27 + 266 1 -211 114 -4.97e-02 -2.67e-01 -2.92e-01 4.23e-01 0.14 -0.934 + 267 1 211 115 4.64e-02 -3.19e-01 -2.65e-01 4.40e-01 0.14 -0.748 + 268 2 111 115 4.23e-01 9.80e-02 5.43e-01 7.08e-01 0.135 1.05 + 269 1 -211 116 1.64e-01 -2.88e-01 -3.96e-01 5.35e-01 0.14 -1.01 + 270 1 211 116 -1.43e-02 -1.70e-02 -5.15e-03 1.41e-01 0.14 -0.23 + 271 2 111 116 1.36e-01 2.35e-01 -3.31e-01 4.49e-01 0.135 -1.03 + 272 1 -211 117 -3.77e-01 4.68e-01 2.65e-01 6.71e-01 0.14 0.427 + 273 2 111 117 1.62e-01 -4.04e-02 -2.65e-01 3.41e-01 0.135 -1.24 + 274 1 -211 118 4.59e-01 -5.15e-01 9.62e+00 9.64e+00 0.14 3.33 + 275 1 211 118 -2.85e-01 9.91e-02 2.39e+00 2.41e+00 0.14 2.77 + 276 2 111 119 -2.95e-03 9.29e-03 1.77e+00 1.77e+00 0.135 5.9 + 277 2 111 119 -1.44e-01 2.44e-01 2.93e+00 2.94e+00 0.135 3.03 + 278 2 111 119 -4.92e-02 3.56e-02 6.13e-01 6.30e-01 0.135 3.01 + 279 1 22 120 1.24e-02 1.40e-02 4.18e+00 4.18e+00 0 6.1 + 280 1 22 120 -2.03e-01 5.29e-01 5.81e+01 5.81e+01 0 5.32 + 281 1 321 121 2.16e-01 -6.73e-01 2.15e+01 2.15e+01 0.494 4.11 + 282 2 111 121 -8.57e-02 5.63e-02 7.74e+00 7.74e+00 0.135 5.02 + 283 2 310 122 -4.99e-02 1.28e-02 4.53e+00 4.56e+00 0.498 5.17 + 284 1 321 125 -2.79e-01 -2.94e-01 2.26e+02 2.26e+02 0.494 7.01 + 285 1 -211 125 -3.14e-01 -4.43e-02 3.73e+02 3.73e+02 0.14 7.76 + 286 2 3122 126 7.43e-02 -2.45e-01 2.10e+03 2.10e+03 1.12 9.7 + 287 1 211 126 -3.90e-02 2.11e-01 4.22e+02 4.22e+02 0.14 8.28 + 288 1 -211 127 -2.01e-01 6.34e-02 5.36e+02 5.36e+02 0.14 8.54 + 289 2 111 127 3.17e-01 -3.10e-01 5.75e+02 5.75e+02 0.135 7.86 + 290 1 -211 129 -3.53e-01 5.22e-02 -8.05e+02 8.05e+02 0.14 -8.41 + 291 1 211 129 -4.32e-01 8.13e-01 -8.70e+02 8.70e+02 0.14 -7.54 + 292 2 421 132 -1.77e+01 -1.31e+01 2.72e+02 2.73e+02 1.86 3.21 + 293 2 111 132 -1.48e+00 -1.06e+00 2.29e+01 2.30e+01 0.135 3.23 + 294 1 -211 134 -1.16e+00 -1.04e+00 2.10e+01 2.11e+01 0.14 3.3 + 295 1 211 134 -4.00e+00 -2.65e+00 5.22e+01 5.24e+01 0.14 3.08 + 296 1 22 135 -8.58e-02 3.54e-02 1.24e+00 1.24e+00 0 3.29 + 297 1 22 135 -2.39e-02 -7.25e-02 1.94e+00 1.94e+00 0 3.93 + 298 1 -211 136 -3.71e-01 -1.58e-01 3.39e+00 3.41e+00 0.14 2.82 + 299 2 111 136 -1.49e+00 -2.46e+00 2.77e+01 2.78e+01 0.135 2.96 + 300 1 211 137 -1.31e+00 -6.67e-01 1.47e+01 1.48e+01 0.14 3 + 301 1 -211 137 -6.60e-01 -8.38e-02 3.86e+00 3.92e+00 0.14 2.46 + 302 2 111 138 -1.01e-01 1.73e-02 1.10e+00 1.11e+00 0.135 3.07 + 303 2 111 138 2.67e-02 -6.47e-02 2.10e-01 2.60e-01 0.135 1.82 + 304 2 221 138 -1.10e-01 9.39e-03 2.39e+00 2.45e+00 0.547 3.77 + 305 2 311 139 2.17e-01 2.55e+00 2.99e+01 3.00e+01 0.498 3.15 + 306 1 211 139 3.30e-01 6.69e-01 6.48e+00 6.53e+00 0.14 2.86 + 307 2 -311 140 7.41e-01 1.81e+00 1.52e+01 1.54e+01 0.498 2.75 + 308 1 -211 140 5.90e-01 1.93e+00 1.89e+01 1.90e+01 0.14 2.93 + 309 1 -211 141 5.65e-01 2.34e+00 1.98e+01 1.99e+01 0.14 2.8 + 310 1 211 141 -1.17e-01 6.64e-01 9.59e+00 9.61e+00 0.14 3.35 + 311 1 211 142 1.37e+00 3.53e+00 3.29e+01 3.31e+01 0.14 2.86 + 312 2 111 142 3.41e+00 7.36e+00 8.10e+01 8.14e+01 0.135 3 + 313 1 321 143 5.14e+00 1.08e+01 1.12e+02 1.13e+02 0.494 2.93 + 314 1 -211 143 1.48e+00 3.62e+00 3.97e+01 3.99e+01 0.14 3.01 + 315 2 311 145 8.38e-01 1.11e+00 -2.10e+00 2.57e+00 0.498 -1.2 + 316 1 211 145 1.04e+00 7.26e-01 -2.90e+00 3.17e+00 0.14 -1.57 + 317 2 311 147 1.61e-02 -3.97e-01 -2.76e+00 2.83e+00 0.498 -2.64 + 318 1 211 147 -4.95e-01 -2.44e-01 -2.65e+00 2.71e+00 0.14 -2.27 + 319 1 211 151 5.54e-02 5.30e-01 5.02e+00 5.05e+00 0.14 2.94 + 320 2 111 151 -2.63e-01 -1.05e-01 1.35e+00 1.39e+00 0.135 2.27 + 321 1 130 152 3.66e-01 2.76e-02 1.15e+00 1.31e+00 0.498 1.86 + 322 1 -321 153 -1.84e-01 1.03e-01 3.32e+00 3.36e+00 0.494 3.45 + 323 1 211 153 2.51e-01 4.11e-01 1.47e+00 1.55e+00 0.14 1.83 + 324 1 22 154 1.46e-03 5.34e-02 -2.74e-02 6.01e-02 0 -0.493 + 325 1 22 154 1.41e-01 2.17e-01 1.29e-01 2.89e-01 0 0.48 + 326 1 -211 155 -1.72e-01 -4.43e-01 6.65e-01 8.29e-01 0.14 1.14 + 327 2 111 155 4.14e-01 1.79e-01 6.85e-01 8.31e-01 0.135 1.21 + 328 1 -211 156 -3.96e-01 -2.16e-01 -2.09e-01 5.16e-01 0.14 -0.449 + 329 1 211 156 -7.26e-01 -5.65e-01 -8.69e-01 1.27e+00 0.14 -0.841 + 330 2 111 156 7.52e-03 -3.73e-02 -2.35e-01 2.74e-01 0.135 -2.52 + 331 1 211 157 -2.12e-01 -9.44e-01 -1.08e+00 1.45e+00 0.14 -0.958 + 332 2 111 157 -4.02e-01 -1.83e-01 -9.61e-02 4.72e-01 0.135 -0.216 + 333 1 211 161 2.01e-01 -5.33e-02 5.70e-01 6.23e-01 0.14 1.73 + 334 2 111 161 -3.33e-01 5.66e-01 2.28e+00 2.38e+00 0.135 1.96 + 335 1 22 163 -9.26e-03 7.65e-01 2.14e+00 2.28e+00 0 1.75 + 336 1 22 163 -7.49e-03 2.86e-03 7.89e-02 7.93e-02 0 2.98 + 337 1 -211 165 9.34e-02 -2.62e-01 6.64e-01 7.33e-01 0.14 1.6 + 338 2 111 165 6.73e-02 1.37e-01 4.07e+00 4.08e+00 0.135 3.98 + 339 1 2112 166 -3.31e-01 -5.74e-01 3.99e+01 4.00e+01 0.94 4.79 + 340 1 211 166 -5.68e-02 8.20e-02 1.03e+01 1.03e+01 0.14 5.33 + 341 2 -3122 167 -6.20e-02 -1.86e+00 1.41e+02 1.41e+02 1.12 5.02 + 342 2 111 167 -6.11e-02 -6.47e-01 4.31e+01 4.31e+01 0.135 4.89 + 343 2 -311 168 2.30e-01 2.86e-01 1.60e+01 1.61e+01 0.498 4.47 + 344 2 111 168 4.33e-02 -1.50e-01 1.19e+00 1.20e+00 0.135 2.72 + 345 1 211 169 -9.50e-03 1.05e-01 5.45e+00 5.46e+00 0.14 4.64 + 346 1 -211 169 1.60e-01 -1.99e-01 1.32e+01 1.32e+01 0.14 4.64 + 347 2 111 169 -7.47e-02 -1.13e-01 1.84e+00 1.85e+00 0.135 3.3 + 348 1 211 171 9.42e-02 -2.00e-01 4.46e-01 5.17e-01 0.14 1.45 + 349 1 -211 171 1.28e-01 5.15e-01 1.03e+00 1.17e+00 0.14 1.42 + 350 1 22 172 2.06e-01 -1.08e-01 4.51e-01 5.08e-01 0 1.42 + 351 1 22 172 1.40e-01 5.42e-03 4.84e-01 5.04e-01 0 1.95 + 352 1 -2212 173 -2.04e-01 3.21e-02 2.90e+00 3.06e+00 0.938 3.34 + 353 2 111 173 1.22e-01 1.38e-01 1.05e+00 1.07e+00 0.135 2.44 + 354 1 2212 174 -4.06e-01 6.30e-01 8.63e+00 8.71e+00 0.938 3.14 + 355 2 111 174 -2.88e-01 3.14e-02 2.92e+00 2.94e+00 0.135 3.01 + 356 1 22 177 8.29e-02 2.59e-01 5.84e-01 6.45e-01 0 1.51 + 357 2 111 177 1.63e-01 -5.43e-01 1.74e+00 1.83e+00 0.135 1.84 + 358 2 3122 178 8.23e-01 -4.90e-01 1.90e+00 2.40e+00 1.12 1.44 + 359 1 22 178 4.24e-02 4.90e-02 5.51e-02 8.51e-02 0 0.772 + 360 1 22 181 3.90e-01 -1.77e+00 7.36e+00 7.58e+00 0 2.11 + 361 1 22 181 6.58e-02 -1.86e-01 6.57e-01 6.85e-01 0 1.92 + 362 1 22 183 -2.80e-02 -2.90e-02 1.13e-01 1.20e-01 0 1.75 + 363 1 22 183 -1.45e-01 -9.57e-01 3.75e+00 3.87e+00 0 2.06 + 364 1 22 186 -9.27e-02 3.58e-02 4.02e-01 4.14e-01 0 2.11 + 365 1 22 186 -1.67e-02 -7.66e-02 2.63e-01 2.74e-01 0 1.92 + 366 1 22 189 -5.29e-03 -1.85e-01 1.20e+00 1.21e+00 0 2.57 + 367 1 22 189 2.54e-02 -5.16e-01 2.17e+00 2.23e+00 0 2.14 + 368 1 22 199 1.28e-02 1.69e-01 -8.72e+01 8.72e+01 0 -6.94 + 369 1 22 199 6.11e-03 3.55e-02 -8.86e+01 8.86e+01 0 -8.5 + 370 1 130 202 -2.59e-01 -6.05e-01 -4.05e+02 4.05e+02 0.498 -7.12 + 371 1 22 206 -1.36e-02 -2.42e-02 -4.47e+01 4.47e+01 0 -8.08 + 372 1 22 206 -2.13e-01 -2.57e-01 -1.47e+02 1.47e+02 0 -6.78 + 373 1 22 209 -2.06e-01 9.15e-02 -3.15e+01 3.15e+01 0 -5.63 + 374 1 22 209 -1.78e-01 5.88e-02 -1.38e+01 1.38e+01 0 -4.99 + 375 1 22 211 -1.45e-01 1.81e-01 -4.25e+00 4.26e+00 0 -3.6 + 376 1 22 211 -1.81e-01 2.59e-01 -9.44e+00 9.45e+00 0 -4.09 + 377 1 22 212 -5.14e-02 -1.91e-01 -1.42e+00 1.44e+00 0 -2.67 + 378 1 22 212 -2.75e-02 1.76e-02 -1.48e-01 1.51e-01 0 -2.21 + 379 1 22 213 -3.06e-02 4.71e-02 -7.52e-01 7.54e-01 0 -3.29 + 380 1 22 213 2.28e-02 -7.30e-02 -5.86e-01 5.91e-01 0 -2.73 + 381 2 111 214 2.98e-02 1.08e-01 -6.68e-01 6.91e-01 0.135 -2.48 + 382 2 111 214 9.41e-02 -1.58e-01 -9.16e-01 9.44e-01 0.135 -2.31 + 383 2 111 214 -5.90e-02 5.19e-03 -4.72e-01 4.94e-01 0.135 -2.77 + 384 1 22 216 5.59e-02 8.13e-02 -3.16e-01 3.31e-01 0 -1.88 + 385 1 22 216 -4.72e-02 -5.30e-03 -6.61e-02 8.14e-02 0 -1.13 + 386 1 211 219 3.92e-01 -2.15e-01 -1.57e+00 1.64e+00 0.14 -1.97 + 387 1 -211 219 4.18e-01 -8.73e-03 -6.34e-01 7.72e-01 0.14 -1.2 + 388 1 22 223 -2.66e-02 -6.58e-02 -3.08e-01 3.16e-01 0 -2.17 + 389 1 22 223 1.23e-01 -7.00e-02 -4.61e-01 4.83e-01 0 -1.9 + 390 1 22 224 1.99e-01 7.61e-02 -6.21e-01 6.57e-01 0 -1.79 + 391 1 22 224 6.23e-02 -3.73e-02 -4.06e-01 4.12e-01 0 -2.42 + 392 1 22 225 -2.39e-03 -3.01e-02 -5.23e-03 3.07e-02 0 -0.172 + 393 1 22 225 -1.47e-02 5.36e-02 -2.90e-01 2.95e-01 0 -2.35 + 394 1 22 226 3.00e-02 -5.26e-02 -6.68e-01 6.71e-01 0 -3.1 + 395 1 22 226 -3.13e-02 1.82e-02 -5.70e-02 6.75e-02 0 -1.24 + 396 1 22 230 4.75e-01 1.25e-01 -8.87e-01 1.01e+00 0 -1.35 + 397 1 22 230 1.14e-02 3.51e-02 -4.66e-02 5.94e-02 0 -1.06 + 398 1 22 232 3.13e-02 -1.59e-02 2.82e-02 4.50e-02 0 0.735 + 399 1 22 232 1.20e-01 3.93e-02 -1.37e-01 1.86e-01 0 -0.939 + 400 1 22 234 9.81e-03 2.84e-02 2.87e-03 3.02e-02 0 0.0956 + 401 1 22 234 -1.17e-01 3.80e-01 5.43e-01 6.73e-01 0 1.12 + 402 2 310 235 6.39e-01 1.21e+00 3.62e+00 3.90e+00 0.498 1.7 + 403 1 22 238 2.42e-02 6.60e-02 2.38e-01 2.48e-01 0 1.93 + 404 1 22 238 1.05e+00 2.82e+00 7.49e+00 8.07e+00 0 1.64 + 405 1 22 239 -1.87e-02 1.83e-02 1.85e-01 1.87e-01 0 2.65 + 406 1 22 239 2.16e-02 5.57e-01 1.83e+00 1.91e+00 0 1.9 + 407 1 22 240 -4.47e-02 1.97e-01 6.62e-01 6.92e-01 0 1.9 + 408 1 22 240 1.30e-02 3.58e-01 7.43e-01 8.25e-01 0 1.48 + 409 1 22 241 9.54e-02 1.42e-01 4.15e-01 4.49e-01 0 1.62 + 410 1 22 241 9.87e-02 4.58e-01 1.55e+00 1.62e+00 0 1.91 + 411 1 22 248 2.25e-01 2.05e-01 1.98e+00 2.00e+00 0 2.57 + 412 1 22 248 -5.40e-03 7.43e-02 5.95e-01 5.99e-01 0 2.78 + 413 1 130 261 -3.80e-01 1.65e-01 -6.15e+00 6.18e+00 0.498 -3.39 + 414 1 130 265 -3.95e-01 2.53e-01 -7.73e-01 1.03e+00 0.498 -1.27 + 415 1 22 268 1.36e-01 -3.08e-02 1.85e-01 2.32e-01 0 1.09 + 416 1 22 268 2.87e-01 1.29e-01 3.58e-01 4.77e-01 0 0.976 + 417 1 22 271 1.52e-01 1.48e-01 -2.04e-01 2.94e-01 0 -0.855 + 418 1 22 271 -1.57e-02 8.67e-02 -1.27e-01 1.55e-01 0 -1.16 + 419 1 22 273 1.77e-01 -5.07e-02 -2.67e-01 3.24e-01 0 -1.17 + 420 1 22 273 -1.42e-02 1.03e-02 1.40e-03 1.76e-02 0 0.0795 + 421 1 22 276 4.67e-02 -3.22e-02 1.23e+00 1.23e+00 0 3.77 + 422 1 22 276 -4.96e-02 4.15e-02 5.39e-01 5.43e-01 0 2.82 + 423 1 22 277 -1.62e-02 1.60e-01 1.55e+00 1.55e+00 0 2.96 + 424 1 22 277 -1.27e-01 8.37e-02 1.38e+00 1.39e+00 0 2.9 + 425 1 22 278 -4.49e-04 2.53e-03 5.23e-01 5.23e-01 0 6.01 + 426 1 22 278 -4.87e-02 3.31e-02 8.96e-02 1.07e-01 0 1.21 + 427 1 22 282 -2.64e-02 8.40e-02 5.96e+00 5.96e+00 0 4.91 + 428 1 22 282 -5.93e-02 -2.77e-02 1.78e+00 1.78e+00 0 3.99 + 429 1 211 283 -1.75e-01 1.48e-01 2.29e+00 2.31e+00 0.14 3 + 430 1 -211 283 1.25e-01 -1.36e-01 2.24e+00 2.25e+00 0.14 3.19 + 431 1 2212 286 8.18e-02 -1.17e-01 1.82e+03 1.82e+03 0.938 10.1 + 432 1 -211 286 -7.56e-03 -1.28e-01 2.76e+02 2.76e+02 0.14 8.37 + 433 1 22 289 5.31e-02 -3.23e-03 4.31e+01 4.31e+01 0 7.39 + 434 1 22 289 2.64e-01 -3.07e-01 5.32e+02 5.32e+02 0 7.88 + 435 1 -11 292 -3.44e+00 -2.17e+00 5.19e+01 5.21e+01 0.00051 3.24 + 436 1 12 292 -4.22e+00 -2.94e+00 5.82e+01 5.84e+01 0 3.12 + 437 2 -323 292 -9.99e+00 -7.96e+00 1.62e+02 1.62e+02 0.891 3.23 + 438 1 22 293 -3.86e-01 -3.21e-01 6.95e+00 6.97e+00 0 3.32 + 439 1 22 293 -1.09e+00 -7.37e-01 1.60e+01 1.60e+01 0 3.19 + 440 1 22 299 -1.04e+00 -1.80e+00 1.96e+01 1.97e+01 0 2.94 + 441 1 22 299 -4.43e-01 -6.61e-01 8.13e+00 8.17e+00 0 3.02 + 442 1 22 302 -8.08e-02 -3.22e-02 3.34e-01 3.45e-01 0 2.06 + 443 1 22 302 -2.05e-02 4.95e-02 7.66e-01 7.68e-01 0 3.35 + 444 1 22 303 4.44e-02 -8.11e-02 6.71e-02 1.14e-01 0 0.673 + 445 1 22 303 -1.76e-02 1.65e-02 1.43e-01 1.45e-01 0 2.48 + 446 1 -211 304 -1.21e-02 -3.04e-03 2.19e-01 2.60e-01 0.14 3.56 + 447 1 211 304 -3.90e-02 6.79e-02 9.78e-01 9.91e-01 0.14 3.22 + 448 2 111 304 -5.91e-02 -5.54e-02 1.19e+00 1.20e+00 0.135 3.38 + 449 1 130 305 2.17e-01 2.55e+00 2.99e+01 3.00e+01 0.498 3.15 + 450 1 130 307 7.41e-01 1.81e+00 1.52e+01 1.54e+01 0.498 2.75 + 451 1 22 312 1.03e+00 2.37e+00 2.55e+01 2.57e+01 0 2.99 + 452 1 22 312 2.38e+00 5.00e+00 5.55e+01 5.58e+01 0 3 + 453 2 310 315 8.38e-01 1.11e+00 -2.10e+00 2.57e+00 0.498 -1.2 + 454 1 130 317 1.61e-02 -3.97e-01 -2.76e+00 2.83e+00 0.498 -2.64 + 455 1 22 320 -2.33e-01 -1.25e-01 1.01e+00 1.04e+00 0 2.05 + 456 1 22 320 -3.05e-02 2.01e-02 3.44e-01 3.46e-01 0 2.94 + 457 1 22 327 2.43e-01 9.07e-02 2.74e-01 3.77e-01 0 0.92 + 458 1 22 327 1.71e-01 8.79e-02 4.11e-01 4.54e-01 0 1.5 + 459 1 22 330 -3.59e-03 -8.66e-02 -1.20e-01 1.48e-01 0 -1.13 + 460 1 22 330 1.11e-02 4.93e-02 -1.15e-01 1.26e-01 0 -1.56 + 461 1 22 332 -4.10e-01 -1.77e-01 -1.05e-01 4.59e-01 0 -0.234 + 462 1 22 332 7.55e-03 -6.02e-03 9.18e-03 1.33e-02 0 0.846 + 463 1 22 334 -1.00e-01 2.53e-01 1.12e+00 1.16e+00 0 2.13 + 464 1 22 334 -2.33e-01 3.13e-01 1.16e+00 1.22e+00 0 1.81 + 465 1 22 338 8.32e-03 1.31e-01 2.02e+00 2.03e+00 0 3.43 + 466 1 22 338 5.90e-02 6.38e-03 2.05e+00 2.05e+00 0 4.24 + 467 1 -2112 341 1.70e-02 -1.42e+00 1.10e+02 1.10e+02 0.94 5.05 + 468 2 111 341 -7.90e-02 -4.41e-01 3.03e+01 3.03e+01 0.135 4.91 + 469 1 22 342 -6.00e-02 -9.93e-02 7.73e+00 7.73e+00 0 4.89 + 470 1 22 342 -1.17e-03 -5.48e-01 3.54e+01 3.54e+01 0 4.86 + 471 2 310 343 2.30e-01 2.86e-01 1.60e+01 1.61e+01 0.498 4.47 + 472 1 22 344 -2.86e-03 -9.57e-02 1.00e+00 1.00e+00 0 3.04 + 473 1 22 344 4.62e-02 -5.44e-02 1.85e-01 1.98e-01 0 1.68 + 474 1 22 347 -5.61e-02 -1.80e-02 1.29e+00 1.30e+00 0 3.78 + 475 1 22 347 -1.86e-02 -9.53e-02 5.44e-01 5.53e-01 0 2.42 + 476 1 22 353 8.54e-02 9.38e-04 4.48e-01 4.56e-01 0 2.36 + 477 1 22 353 3.65e-02 1.37e-01 6.01e-01 6.18e-01 0 2.15 + 478 1 22 355 -2.58e-01 2.34e-02 2.84e+00 2.85e+00 0 3.09 + 479 1 22 355 -2.91e-02 7.98e-03 7.91e-02 8.47e-02 0 1.69 + 480 1 22 357 8.00e-02 -3.01e-01 7.39e-01 8.02e-01 0 1.6 + 481 1 22 357 8.26e-02 -2.43e-01 9.99e-01 1.03e+00 0 2.07 + 482 1 2112 358 6.42e-01 -4.95e-01 1.67e+00 2.08e+00 0.94 1.47 + 483 2 111 358 1.81e-01 5.21e-03 2.34e-01 3.25e-01 0.135 1.08 + 484 1 22 381 3.31e-02 9.53e-02 -6.70e-01 6.78e-01 0 -2.59 + 485 1 22 381 -3.26e-03 1.30e-02 1.60e-03 1.35e-02 0 0.119 + 486 1 22 382 6.16e-02 -1.66e-01 -5.87e-01 6.13e-01 0 -1.91 + 487 1 22 382 3.25e-02 8.71e-03 -3.29e-01 3.31e-01 0 -2.98 + 488 1 22 383 2.96e-02 1.86e-02 -3.92e-02 5.25e-02 0 -0.965 + 489 1 22 383 -8.86e-02 -1.34e-02 -4.33e-01 4.42e-01 0 -2.28 + 490 1 -211 402 3.44e-01 9.01e-01 2.06e+00 2.28e+00 0.14 1.5 + 491 1 211 402 2.96e-01 3.11e-01 1.55e+00 1.62e+00 0.14 2 + 492 2 -311 437 -5.35e+00 -4.25e+00 9.01e+01 9.04e+01 0.498 3.27 + 493 1 -211 437 -4.64e+00 -3.71e+00 7.18e+01 7.21e+01 0.14 3.19 + 494 1 22 448 1.94e-02 5.27e-03 2.99e-02 3.60e-02 0 1.19 + 495 1 22 448 -7.85e-02 -6.07e-02 1.16e+00 1.17e+00 0 3.16 + 496 1 -211 453 7.37e-01 1.02e+00 -1.68e+00 2.10e+00 0.14 -1.1 + 497 1 211 453 1.01e-01 8.71e-02 -4.23e-01 4.65e-01 0.14 -1.87 + 498 1 22 468 -1.65e-02 -3.60e-01 2.53e+01 2.53e+01 0 4.94 + 499 1 22 468 -6.25e-02 -8.08e-02 5.00e+00 5.00e+00 0 4.58 + 500 2 111 471 2.31e-01 1.34e-01 4.41e+00 4.42e+00 0.135 3.5 + 501 2 111 471 -6.24e-04 1.52e-01 1.16e+01 1.16e+01 0.135 5.03 + 502 1 22 483 1.38e-01 4.90e-02 9.96e-02 1.77e-01 0 0.635 + 503 1 22 483 4.20e-02 -4.38e-02 1.34e-01 1.47e-01 0 1.54 + 504 2 310 492 -5.35e+00 -4.25e+00 9.01e+01 9.04e+01 0.498 3.27 + 505 1 22 500 1.46e-01 1.15e-01 2.01e+00 2.01e+00 0 3.08 + 506 1 22 500 8.56e-02 1.92e-02 2.40e+00 2.41e+00 0 4 + 507 1 22 501 -5.34e-02 1.03e-01 4.79e+00 4.79e+00 0 4.42 + 508 1 22 501 5.28e-02 4.97e-02 6.84e+00 6.84e+00 0 5.24 + 509 1 -211 504 -1.74e+00 -1.55e+00 2.88e+01 2.89e+01 0.14 3.21 + 510 1 211 504 -3.61e+00 -2.71e+00 6.13e+01 6.14e+01 0.14 3.3 +5 Event +582 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 21 1 3.30e-01 -7.12e-01 9.01e+02 9.01e+02 0 7.74 + 4 3 21 2 -4.46e-01 -4.45e-01 -3.40e+01 3.40e+01 0 -4.68 + 5 3 1 3 -3.01e-01 1.14e+00 5.04e+02 5.04e+02 0 6.75 + 6 3 -2 4 3.65e+00 3.83e+00 -1.80e+00 5.59e+00 0 -0.335 + 7 3 -24 5 -9.06e-01 3.70e+00 4.91e+02 4.98e+02 80.4 5.55 + 8 3 22 5 4.25e+00 1.27e+00 1.13e+01 1.22e+01 0 1.67 + 9 2 -24 7 -9.06e-01 3.70e+00 4.91e+02 4.98e+02 80.4 5.55 + 10 1 22 8 4.25e+00 1.27e+00 1.13e+01 1.22e+01 0 1.67 + 11 1 11 9 -3.16e+01 2.69e+01 2.85e+02 2.88e+02 0.00051 2.63 + 12 1 -12 9 3.07e+01 -2.32e+01 2.06e+02 2.09e+02 0 2.38 + 13 2 -1 3 1.27e+00 -1.38e+00 7.87e+01 7.87e+01 0.33 4.43 + 14 2 2 1 -5.54e-01 3.45e-01 2.51e+00 2.61e+00 0.33 2.06 + 15 2 2 4 -4.12e+00 -3.01e+00 -2.96e+01 3.00e+01 0.33 -2.46 + 16 2 2203 2 2.38e-01 1.38e-01 -6.29e+03 6.29e+03 0.771 -10.7 + 17 2 2 0 -3.69e+00 8.19e+00 2.96e+02 2.96e+02 0 4.19 + 18 2 -2 0 3.69e+00 -8.19e+00 1.03e+02 1.03e+02 0 3.13 + 19 2 1 0 4.07e+00 -5.25e+00 5.14e+01 5.18e+01 0 2.74 + 20 2 -1 0 -4.07e+00 5.25e+00 3.45e+01 3.51e+01 0 2.35 + 21 2 3 0 -1.87e+00 -4.64e+00 -2.51e+00 5.59e+00 0 -0.483 + 22 2 -3 0 1.87e+00 4.64e+00 -3.85e+02 3.85e+02 0 -5.04 + 23 2 3 0 1.30e-01 -4.30e+00 2.53e+00 4.99e+00 0 0.559 + 24 2 -3 0 -1.30e-01 4.30e+00 -3.32e+01 3.34e+01 0 -2.74 + 25 2 2 0 -2.84e+00 2.93e+00 -2.82e+00 4.96e+00 0 -0.645 + 26 2 -2 0 2.84e+00 -2.93e+00 6.31e+01 6.33e+01 0 3.43 + 27 2 2 0 -3.54e+00 1.33e+00 1.49e+01 1.54e+01 0 2.08 + 28 2 -2 0 3.54e+00 -1.33e+00 4.72e+00 6.05e+00 0 1.05 + 29 2 2101 1 2.24e-01 3.67e-01 5.40e+03 5.40e+03 0.579 10.1 + 30 2 21 3 -4.61e-01 -2.27e-01 5.71e+01 5.71e+01 0 5.4 + 31 2 21 3 -4.04e-01 1.17e+00 1.50e+02 1.50e+02 0 5.49 + 32 2 21 3 2.51e-01 -1.39e+00 1.08e+02 1.08e+02 0 5.02 + 33 2 21 0 8.85e-01 -5.76e+00 -2.42e+01 2.49e+01 0 -2.13 + 34 2 21 0 -8.85e-01 5.76e+00 -6.30e+01 6.32e+01 0 -3.08 + 35 2 21 4 -1.62e-01 -8.54e-01 8.86e-01 1.24e+00 0 0.895 + 36 2 21 4 1.64e-01 -4.25e-01 -8.62e-02 4.63e-01 0 -0.188 + 37 2 1 2 2.08e-01 3.07e-01 -7.44e+01 7.44e+01 0.33 -5.99 + 38 2 21 0 -6.31e+00 7.09e+00 2.26e+01 2.45e+01 0 1.6 + 39 2 21 0 6.31e+00 -7.09e+00 -3.59e+00 1.02e+01 0 -0.37 + 40 2 21 0 4.06e+00 -2.67e+00 -1.82e+01 1.88e+01 0 -2.03 + 41 2 21 0 -4.06e+00 2.67e+00 6.54e+01 6.56e+01 0 3.29 + 42 2 21 0 -3.60e+00 9.89e-01 -6.90e+00 7.84e+00 0 -1.37 + 43 2 21 0 3.60e+00 -9.89e-01 -5.41e+01 5.42e+01 0 -3.37 + 44 2 21 0 1.60e+00 -2.44e+00 2.87e+01 2.88e+01 0 2.98 + 45 2 21 0 -1.60e+00 2.44e+00 8.26e-01 3.03e+00 0 0.28 + 46 2 92 13 7.14e-01 -1.04e+00 8.12e+01 8.13e+01 4.37 4.86 + 47 2 111 46 -1.30e-01 -2.51e-01 2.53e+00 2.55e+00 0.135 2.89 + 48 2 213 46 7.48e-01 -1.74e-02 4.38e+01 4.38e+01 0.903 4.76 + 49 2 -213 46 -2.91e-01 -4.39e-01 1.43e+01 1.43e+01 0.722 3.99 + 50 2 213 46 -2.11e-01 -2.77e-01 1.56e+01 1.57e+01 0.848 4.5 + 51 2 111 46 5.97e-01 -5.47e-02 5.01e+00 5.05e+00 0.135 2.82 + 52 2 92 15 -3.88e+00 -2.88e+00 -6.31e+03 6.32e+03 74.2 -7.87 + 53 2 113 52 -2.64e+00 -2.32e+00 -2.26e+01 2.29e+01 0.783 -2.56 + 54 2 221 52 -5.16e-01 1.60e-02 -2.00e+01 2.00e+01 0.547 -4.35 + 55 1 211 52 -8.75e-01 -6.72e-01 -6.52e+00 6.61e+00 0.14 -2.48 + 56 2 111 52 1.92e-01 2.52e-01 -9.42e+00 9.43e+00 0.135 -4.09 + 57 2 -213 52 9.43e-02 -4.82e-01 -4.32e+01 4.32e+01 0.827 -5.17 + 58 1 321 52 -4.21e-01 7.60e-01 -5.48e+01 5.48e+01 0.494 -4.84 + 59 2 -323 52 5.33e-01 -4.04e-01 -6.36e+01 6.36e+01 0.883 -5.25 + 60 2 111 52 -4.72e-01 -5.26e-01 -3.32e+01 3.32e+01 0.135 -4.54 + 61 2 2224 52 6.82e-03 3.78e-02 -9.12e+02 9.12e+02 1.26 -10.8 + 62 2 111 52 2.24e-01 4.56e-01 -5.15e+03 5.15e+03 0.135 -9.92 + 63 2 92 17 0.00e+00 0.00e+00 3.99e+02 3.99e+02 20.5 999 + 64 2 213 63 -1.58e+00 3.04e+00 1.06e+02 1.06e+02 0.588 4.12 + 65 2 -213 63 -1.14e+00 2.40e+00 9.63e+01 9.63e+01 0.757 4.28 + 66 2 213 63 -3.00e-01 1.78e+00 5.74e+01 5.75e+01 0.783 4.15 + 67 2 -213 63 -2.50e-01 3.14e-01 4.06e+01 4.06e+01 0.813 5.31 + 68 2 213 63 3.33e-01 -8.32e-01 6.89e+00 6.98e+00 0.629 2.74 + 69 2 223 63 1.82e+00 -4.92e+00 6.75e+01 6.77e+01 0.779 3.25 + 70 1 -211 63 1.13e+00 -1.78e+00 2.40e+01 2.41e+01 0.14 3.13 + 71 2 92 19 0.00e+00 0.00e+00 8.59e+01 8.69e+01 13.5 999 + 72 1 -211 71 4.17e-01 -9.72e-01 7.56e+00 7.64e+00 0.14 2.66 + 73 1 211 71 2.67e+00 -2.93e+00 3.30e+01 3.32e+01 0.14 2.81 + 74 2 111 71 3.61e-01 -6.21e-01 3.13e+00 3.22e+00 0.135 2.18 + 75 2 113 71 -4.49e-01 -3.38e-03 8.45e+00 8.50e+00 0.759 3.63 + 76 2 -213 71 -2.79e-01 3.34e-01 4.98e+00 5.06e+00 0.765 3.13 + 77 2 213 71 -3.06e-01 7.03e-01 4.18e+00 4.33e+00 0.839 2.4 + 78 1 -211 71 -3.29e-01 9.23e-01 4.76e+00 4.87e+00 0.14 2.28 + 79 2 213 71 -2.08e+00 2.57e+00 1.98e+01 2.01e+01 0.747 2.49 + 80 2 92 21 0.00e+00 0.00e+00 -3.88e+02 3.91e+02 49.3 -999 + 81 2 -313 80 -1.62e+00 -4.20e+00 -2.45e+00 5.20e+00 0.885 -0.521 + 82 1 -211 80 -4.28e-02 2.09e-02 -1.40e-01 2.03e-01 0.14 -1.8 + 83 2 323 80 -4.47e-01 -4.85e-01 -3.37e+00 3.54e+00 0.856 -2.33 + 84 2 333 80 2.92e-01 4.19e-01 -1.16e+01 1.17e+01 1.02 -3.82 + 85 2 -313 80 -1.96e-01 3.27e-01 -4.08e+01 4.08e+01 0.887 -5.37 + 86 2 -213 80 4.25e-01 4.09e-01 -2.77e+01 2.77e+01 0.551 -4.54 + 87 2 113 80 3.68e-01 4.47e-01 -2.07e+01 2.07e+01 0.849 -4.27 + 88 1 211 80 -2.90e-01 -7.06e-02 -1.42e+01 1.42e+01 0.14 -4.56 + 89 1 -211 80 -1.95e-02 2.57e-01 -1.45e+01 1.45e+01 0.14 -4.73 + 90 2 323 80 1.53e+00 2.87e+00 -2.52e+02 2.52e+02 1 -5.04 + 91 2 92 23 0.00e+00 0.00e+00 -3.06e+01 3.84e+01 23.2 -999 + 92 2 -311 91 2.29e-01 -1.34e+00 9.89e-01 1.75e+00 0.498 0.674 + 93 2 -213 91 -3.76e-01 -1.54e+00 1.65e-01 1.79e+00 0.806 0.104 + 94 2 2114 91 1.62e-01 -1.28e+00 5.24e-01 1.92e+00 1.32 0.396 + 95 1 211 91 2.60e-01 2.24e-01 -6.79e-01 7.73e-01 0.14 -1.44 + 96 2 -2214 91 -1.86e-01 2.93e-01 -4.59e+00 4.73e+00 1.1 -3.28 + 97 2 111 91 2.44e-01 3.31e-01 -2.03e+00 2.08e+00 0.135 -2.3 + 98 2 213 91 -2.74e-01 2.81e-01 -1.73e+00 1.87e+00 0.589 -2.19 + 99 2 111 91 -1.01e-01 5.22e-01 -1.76e+00 1.84e+00 0.135 -1.91 + 100 2 313 91 4.32e-02 2.51e+00 -2.15e+01 2.17e+01 0.898 -2.84 + 101 2 92 25 0.00e+00 0.00e+00 6.03e+01 6.82e+01 31.9 999 + 102 2 213 101 -1.24e+00 1.48e+00 -1.53e+00 2.57e+00 0.764 -0.727 + 103 2 221 101 -9.00e-01 5.41e-01 -5.36e-01 1.30e+00 0.547 -0.491 + 104 1 -211 101 -8.68e-03 5.68e-02 9.72e-02 1.80e-01 0.14 1.3 + 105 1 321 101 -4.01e-01 4.13e-01 1.24e-01 7.68e-01 0.494 0.214 + 106 2 -313 101 -4.39e-01 1.58e-02 1.55e+00 1.85e+00 0.9 1.97 + 107 2 -213 101 2.70e-01 -2.02e-01 1.43e-01 8.24e-01 0.738 0.413 + 108 2 213 101 7.76e-01 1.36e-01 4.81e+00 4.95e+00 0.86 2.51 + 109 1 -211 101 1.61e-01 -9.88e-02 1.34e+01 1.34e+01 0.14 4.96 + 110 1 211 101 3.37e-01 -7.43e-01 6.75e+00 6.80e+00 0.14 2.81 + 111 2 -213 101 1.44e+00 -1.59e+00 3.55e+01 3.56e+01 0.796 3.5 + 112 2 92 27 0.00e+00 0.00e+00 1.97e+01 2.15e+01 8.61 999 + 113 2 223 112 -1.78e-01 1.08e-01 2.98e+00 3.09e+00 0.777 3.35 + 114 2 113 112 -1.09e+00 4.51e-01 4.85e+00 5.10e+00 1.06 2.12 + 115 2 111 112 -3.32e-01 2.32e-01 5.13e-01 6.67e-01 0.135 1.06 + 116 2 213 112 5.44e-02 -3.58e-01 3.70e+00 3.78e+00 0.687 3.02 + 117 2 223 112 -3.69e-01 -2.05e-01 1.55e+00 1.78e+00 0.773 2.01 + 118 2 113 112 -2.20e-01 6.17e-01 1.87e+00 2.09e+00 0.669 1.77 + 119 2 111 112 1.14e+00 -2.72e-01 1.30e+00 1.75e+00 0.135 0.955 + 120 2 -213 112 9.96e-01 -5.73e-01 2.90e+00 3.20e+00 0.695 1.66 + 121 2 92 29 -1.80e-01 -1.06e+00 5.55e+03 5.88e+03 1.93e+03 9.24 + 122 2 221 121 1.16e-01 -3.12e-02 5.34e+02 5.34e+02 0.547 9.1 + 123 1 2212 121 -6.28e-02 7.69e-01 2.99e+03 2.99e+03 0.938 8.95 + 124 1 -211 121 -6.37e-02 -6.45e-01 1.99e+02 1.99e+02 0.14 6.42 + 125 2 113 121 1.50e-01 2.07e-01 1.23e+03 1.23e+03 0.755 9.17 + 126 2 113 121 -9.98e-02 5.01e-01 2.18e+02 2.18e+02 0.864 6.75 + 127 2 -313 121 -9.19e-01 -4.53e-01 1.99e+02 1.99e+02 0.848 5.96 + 128 2 323 121 7.15e-01 1.51e-01 1.04e+02 1.04e+02 0.855 5.65 + 129 2 -213 121 -2.64e-01 -3.36e-01 1.53e+02 1.53e+02 0.677 6.57 + 130 1 211 121 3.07e-01 5.64e-02 1.75e+01 1.75e+01 0.14 4.72 + 131 1 -211 121 -1.34e-01 4.79e-01 4.97e+01 4.97e+01 0.14 5.3 + 132 1 211 121 -4.42e-01 -8.05e-01 1.90e+01 1.91e+01 0.14 3.73 + 133 2 -2114 121 -1.35e-01 -2.60e-01 1.87e+00 2.19e+00 1.1 2.55 + 134 2 221 121 5.99e-01 3.12e-01 3.68e-01 9.44e-01 0.547 0.522 + 135 2 1114 121 -7.91e-02 -5.35e-02 2.50e+00 2.85e+00 1.37 3.96 + 136 2 223 121 -1.33e-01 -3.15e-01 -4.31e-02 8.54e-01 0.781 -0.126 + 137 1 211 121 3.02e-02 -2.13e-01 -2.35e-01 3.48e-01 0.14 -0.947 + 138 2 111 121 -3.63e-02 7.44e-02 -7.66e-02 1.76e-01 0.135 -0.828 + 139 2 113 121 1.66e-01 -2.55e-03 -1.17e-01 7.99e-01 0.773 -0.657 + 140 2 -213 121 1.82e-01 -6.41e-01 -2.31e+00 2.52e+00 0.777 -1.95 + 141 2 113 121 -9.25e-02 -1.20e+00 -5.32e+00 5.52e+00 0.883 -2.19 + 142 2 221 121 4.33e-01 -2.29e+00 -1.11e+01 1.14e+01 0.547 -2.27 + 143 1 211 121 1.43e-01 3.38e-01 -4.88e+00 4.89e+00 0.14 -3.28 + 144 1 -211 121 -1.52e-01 1.26e-01 -2.35e+00 2.36e+00 0.14 -3.17 + 145 2 111 121 2.88e-01 1.88e-01 -6.99e-01 7.90e-01 0.135 -1.46 + 146 2 111 121 -2.93e-01 -2.13e-01 -6.21e+00 6.22e+00 0.135 -3.53 + 147 2 213 121 -6.99e-02 1.27e+00 -1.85e+01 1.86e+01 0.671 -3.37 + 148 2 223 121 5.51e-02 1.20e-01 -3.01e+00 3.11e+00 0.783 -3.82 + 149 2 -2214 121 -1.88e-01 1.52e+00 -1.91e+01 1.92e+01 1.23 -3.22 + 150 2 2214 121 -2.87e-01 2.95e-01 -7.59e+00 7.70e+00 1.24 -3.61 + 151 2 -213 121 -1.34e-01 2.86e-01 -7.15e-01 1.15e+00 0.84 -1.55 + 152 2 221 121 1.55e-01 -3.52e-01 -2.35e-02 6.69e-01 0.547 -0.0612 + 153 2 -311 121 9.34e-02 4.10e-01 -2.98e+00 3.05e+00 0.498 -2.66 + 154 2 333 121 -3.24e-01 -4.27e-01 -9.27e-02 1.17e+00 1.03 -0.172 + 155 2 333 121 -1.09e-01 3.76e-01 -1.15e+01 1.15e+01 1.02 -4.07 + 156 1 321 121 6.24e-02 -5.28e-01 -2.47e+00 2.58e+00 0.494 -2.24 + 157 2 113 121 1.78e-01 -2.14e-01 -4.20e+01 4.20e+01 0.824 -5.71 + 158 1 -211 121 1.63e-01 4.39e-01 -1.79e+01 1.79e+01 0.14 -4.34 + 159 2 92 38 0.00e+00 0.00e+00 1.90e+01 3.47e+01 29 999 + 160 2 213 159 -5.14e-01 1.56e-01 1.42e+00 1.75e+00 0.869 1.7 + 161 2 -213 159 1.27e-01 8.20e-01 1.52e+00 1.84e+00 0.615 1.37 + 162 2 223 159 -1.70e+00 2.08e+00 6.56e+00 7.13e+00 0.782 1.62 + 163 1 211 159 -2.91e-01 -2.97e-02 1.19e+00 1.24e+00 0.14 2.11 + 164 1 -211 159 -1.09e+00 1.25e+00 2.47e+00 2.98e+00 0.14 1.19 + 165 1 211 159 -1.29e+00 1.41e+00 5.34e+00 5.67e+00 0.14 1.75 + 166 1 -2212 159 1.42e-01 -3.60e-02 5.66e-01 1.11e+00 0.938 2.06 + 167 1 211 159 -1.80e-01 -1.58e-01 5.48e-02 2.83e-01 0.14 0.227 + 168 2 2114 159 3.57e-01 2.27e-01 3.65e-01 1.30e+00 1.17 0.781 + 169 2 111 159 -5.14e-01 -7.73e-01 1.11e-01 9.45e-01 0.135 0.12 + 170 1 -211 159 1.57e+00 -6.06e-01 -5.49e-02 1.69e+00 0.14 -0.0326 + 171 2 -1114 159 8.86e-01 -1.60e+00 -4.22e-01 2.30e+00 1.34 -0.229 + 172 2 3112 159 1.25e+00 -1.25e+00 -6.85e-01 2.24e+00 1.2 -0.378 + 173 2 313 159 6.82e-01 -3.68e-01 5.45e-02 1.16e+00 0.855 0.0704 + 174 2 213 159 8.75e-01 -9.15e-01 -1.99e-01 1.63e+00 1 -0.157 + 175 1 -211 159 7.32e-02 7.18e-02 -4.46e-02 1.79e-01 0.14 -0.422 + 176 2 113 159 -3.89e-01 -2.89e-01 7.63e-01 1.23e+00 0.837 1.24 + 177 2 92 40 0.00e+00 0.00e+00 4.72e+01 8.44e+01 70 999 + 178 1 -321 177 -3.36e-02 2.47e-01 -2.70e-01 6.15e-01 0.494 -0.938 + 179 1 211 177 9.20e-01 -9.05e-01 -3.48e+00 3.71e+00 0.14 -1.72 + 180 2 331 177 2.85e+00 -1.40e+00 -1.13e+01 1.18e+01 0.959 -1.98 + 181 1 -211 177 -2.20e-01 -7.82e-02 -3.69e-01 4.58e-01 0.14 -1.24 + 182 1 211 177 2.96e-01 -2.06e-01 2.02e-01 4.36e-01 0.14 0.534 + 183 2 -213 177 4.85e-01 -2.42e-01 -1.26e+00 1.54e+00 0.704 -1.58 + 184 2 223 177 -4.98e-01 -7.99e-02 1.45e+00 1.73e+00 0.784 1.78 + 185 2 111 177 -8.14e-02 2.18e-01 -4.82e-01 5.52e-01 0.135 -1.48 + 186 1 211 177 -4.10e-02 -8.18e-02 -7.40e-02 1.83e-01 0.14 -0.739 + 187 2 -213 177 -1.92e-01 1.02e+00 1.01e+01 1.02e+01 0.73 2.97 + 188 2 113 177 -4.05e-01 -1.87e-01 1.45e+01 1.45e+01 0.681 4.17 + 189 2 323 177 -1.82e+00 8.55e-01 1.56e+01 1.58e+01 0.887 2.75 + 190 2 -313 177 -6.13e-01 4.49e-01 1.58e+01 1.59e+01 0.906 3.73 + 191 1 2112 177 -2.09e-01 2.23e-01 2.83e+00 3.00e+00 0.94 2.92 + 192 2 -3122 177 -4.46e-01 1.71e-01 3.92e+00 4.11e+00 1.12 2.8 + 193 2 92 42 0.00e+00 0.00e+00 -6.10e+01 6.20e+01 11.5 -999 + 194 2 -313 193 9.94e-01 -6.35e-01 -1.46e+01 1.47e+01 0.896 -3.21 + 195 2 -213 193 6.98e-01 -2.02e-01 -9.74e+00 9.79e+00 0.607 -3.29 + 196 1 321 193 9.01e-01 -4.48e-01 -8.94e+00 9.01e+00 0.494 -2.88 + 197 1 -321 193 -6.36e-01 1.45e-01 -4.63e+00 4.70e+00 0.494 -2.66 + 198 2 113 193 3.69e-01 -1.47e-01 -8.50e+00 8.54e+00 0.668 -3.76 + 199 2 221 193 -1.12e+00 7.25e-01 -2.45e+00 2.84e+00 0.547 -1.37 + 200 1 211 193 -3.42e-01 -2.27e-01 -6.75e+00 6.76e+00 0.14 -3.49 + 201 2 -213 193 -1.76e-01 3.35e-01 -1.77e+00 1.93e+00 0.669 -2.25 + 202 2 323 193 -6.92e-01 4.53e-01 -3.53e+00 3.74e+00 0.919 -2.16 + 203 2 92 44 0.00e+00 0.00e+00 2.95e+01 3.19e+01 12 999 + 204 2 111 203 1.05e-01 -1.60e-01 7.76e-01 8.11e-01 0.135 2.11 + 205 2 111 203 1.25e-01 -3.64e-02 2.12e+00 2.13e+00 0.135 3.48 + 206 2 -2224 203 -5.52e-01 1.03e+00 8.54e-01 1.97e+00 1.34 0.677 + 207 2 2224 203 -4.50e-01 7.16e-01 1.83e+00 2.38e+00 1.26 1.52 + 208 2 -213 203 -5.07e-01 -5.45e-02 1.30e+00 1.57e+00 0.717 1.67 + 209 1 211 203 1.12e+00 -1.12e-01 4.66e+00 4.79e+00 0.14 2.12 + 210 1 -211 203 3.70e-03 -8.38e-01 6.72e+00 6.77e+00 0.14 2.78 + 211 2 213 203 2.32e-01 -5.38e-03 3.23e+00 3.37e+00 0.946 3.33 + 212 2 221 203 -8.08e-02 -5.43e-01 8.03e+00 8.07e+00 0.547 3.38 + 213 1 22 47 1.50e-02 -1.06e-01 7.70e-01 7.77e-01 0 2.67 + 214 1 22 47 -1.45e-01 -1.45e-01 1.76e+00 1.77e+00 0 2.85 + 215 1 211 48 7.82e-02 -3.35e-01 9.18e+00 9.19e+00 0.14 3.98 + 216 2 111 48 6.70e-01 3.18e-01 3.46e+01 3.46e+01 0.135 4.54 + 217 1 -211 49 -4.97e-01 -3.63e-01 1.08e+01 1.08e+01 0.14 3.56 + 218 2 111 49 2.06e-01 -7.67e-02 3.44e+00 3.45e+00 0.135 3.45 + 219 1 211 50 1.51e-01 -4.48e-01 8.89e+00 8.90e+00 0.14 3.63 + 220 2 111 50 -3.62e-01 1.71e-01 6.74e+00 6.75e+00 0.135 3.52 + 221 1 22 51 3.99e-01 -8.34e-02 2.99e+00 3.02e+00 0 2.69 + 222 1 22 51 1.98e-01 2.87e-02 2.02e+00 2.03e+00 0 3.01 + 223 1 -211 53 -8.01e-01 -4.36e-01 -4.45e+00 4.54e+00 0.14 -2.29 + 224 1 211 53 -1.84e+00 -1.88e+00 -1.81e+01 1.83e+01 0.14 -2.63 + 225 1 22 54 -5.59e-01 -1.51e-01 -1.57e+01 1.57e+01 0 -3.99 + 226 1 22 54 4.30e-02 1.67e-01 -4.34e+00 4.35e+00 0 -3.92 + 227 1 22 56 1.16e-01 8.93e-02 -2.85e+00 2.86e+00 0 -3.66 + 228 1 -11 56 1.58e-02 1.47e-02 -1.03e+00 1.03e+00 0.00051 -4.56 + 229 1 11 56 5.99e-02 1.48e-01 -5.54e+00 5.54e+00 0.00051 -4.24 + 230 1 -211 57 1.45e-01 1.89e-01 -1.19e+01 1.19e+01 0.14 -4.61 + 231 2 111 57 -5.04e-02 -6.70e-01 -3.13e+01 3.13e+01 0.135 -4.53 + 232 2 -311 59 5.30e-01 -1.23e-01 -3.40e+01 3.40e+01 0.498 -4.83 + 233 1 -211 59 2.94e-03 -2.80e-01 -2.96e+01 2.96e+01 0.14 -5.35 + 234 1 22 60 -4.42e-02 -3.67e-03 -2.10e+00 2.10e+00 0 -4.55 + 235 1 22 60 -4.28e-01 -5.22e-01 -3.11e+01 3.11e+01 0 -4.52 + 236 1 2212 61 1.30e-01 -1.43e-01 -6.06e+02 6.06e+02 0.938 -8.74 + 237 1 211 61 -1.23e-01 1.81e-01 -3.06e+02 3.06e+02 0.14 -7.94 + 238 1 22 62 9.29e-02 1.97e-01 -2.88e+03 2.88e+03 0 -10.2 + 239 1 22 62 1.31e-01 2.59e-01 -2.27e+03 2.27e+03 0 -9.65 + 240 1 211 64 -9.28e-01 1.28e+00 5.20e+01 5.20e+01 0.14 4.19 + 241 2 111 64 -6.55e-01 1.76e+00 5.39e+01 5.39e+01 0.135 4.05 + 242 1 -211 65 -7.60e-01 2.03e+00 6.91e+01 6.91e+01 0.14 4.15 + 243 2 111 65 -3.84e-01 3.73e-01 2.72e+01 2.72e+01 0.135 4.62 + 244 1 211 66 1.10e-01 1.19e+00 3.03e+01 3.03e+01 0.14 3.93 + 245 2 111 66 -4.10e-01 5.92e-01 2.72e+01 2.72e+01 0.135 4.32 + 246 1 -211 67 -3.17e-01 -4.35e-02 7.76e+00 7.77e+00 0.14 3.88 + 247 2 111 67 6.64e-02 3.57e-01 3.29e+01 3.29e+01 0.135 5.2 + 248 1 211 68 2.81e-02 -7.31e-01 4.87e+00 4.93e+00 0.14 2.59 + 249 2 111 68 3.04e-01 -1.00e-01 2.02e+00 2.05e+00 0.135 2.54 + 250 1 -211 69 5.78e-01 -1.66e+00 2.01e+01 2.02e+01 0.14 3.13 + 251 1 211 69 5.81e-01 -1.99e+00 2.96e+01 2.97e+01 0.14 3.35 + 252 2 111 69 6.59e-01 -1.27e+00 1.78e+01 1.79e+01 0.135 3.22 + 253 1 22 74 2.78e-01 -5.59e-01 2.78e+00 2.85e+00 0 2.2 + 254 1 22 74 8.32e-02 -6.27e-02 3.54e-01 3.69e-01 0 1.94 + 255 1 211 75 -3.45e-01 2.05e-01 2.25e+00 2.29e+00 0.14 2.42 + 256 1 -211 75 -1.04e-01 -2.09e-01 6.21e+00 6.21e+00 0.14 3.97 + 257 1 -211 76 1.29e-03 3.22e-01 9.12e-01 9.77e-01 0.14 1.76 + 258 2 111 76 -2.81e-01 1.19e-02 4.07e+00 4.08e+00 0.135 3.37 + 259 1 211 77 7.81e-02 1.92e-02 2.08e+00 2.09e+00 0.14 3.95 + 260 2 111 77 -3.84e-01 6.84e-01 2.10e+00 2.25e+00 0.135 1.71 + 261 1 211 79 -1.92e-01 1.14e-01 1.00e+00 1.04e+00 0.14 2.21 + 262 2 111 79 -1.89e+00 2.46e+00 1.88e+01 1.91e+01 0.135 2.5 + 263 2 -311 81 -1.43e+00 -3.59e+00 -2.32e+00 4.53e+00 0.498 -0.57 + 264 2 111 81 -1.92e-01 -6.09e-01 -1.28e-01 6.65e-01 0.135 -0.199 + 265 2 311 83 -2.97e-01 -4.62e-02 -1.54e+00 1.65e+00 0.498 -2.34 + 266 1 211 83 -1.50e-01 -4.38e-01 -1.83e+00 1.89e+00 0.14 -2.08 + 267 1 -321 84 1.31e-01 2.22e-01 -7.08e+00 7.10e+00 0.494 -4.01 + 268 1 321 84 1.61e-01 1.97e-01 -4.54e+00 4.57e+00 0.494 -3.57 + 269 1 -321 85 7.01e-02 1.61e-01 -1.50e+01 1.50e+01 0.494 -5.14 + 270 1 211 85 -2.66e-01 1.66e-01 -2.58e+01 2.58e+01 0.14 -5.1 + 271 1 -211 86 4.86e-02 -7.48e-02 -8.16e+00 8.16e+00 0.14 -5.21 + 272 2 111 86 3.76e-01 4.84e-01 -1.96e+01 1.96e+01 0.135 -4.16 + 273 1 -211 87 5.30e-01 2.85e-01 -8.46e+00 8.48e+00 0.14 -3.34 + 274 1 211 87 -1.63e-01 1.62e-01 -1.22e+01 1.23e+01 0.14 -4.67 + 275 2 311 90 8.01e-01 1.20e+00 -1.36e+02 1.36e+02 0.498 -5.24 + 276 1 211 90 7.33e-01 1.68e+00 -1.16e+02 1.16e+02 0.14 -4.84 + 277 1 130 92 2.29e-01 -1.34e+00 9.89e-01 1.75e+00 0.498 0.674 + 278 1 -211 93 -3.85e-01 -9.02e-01 4.33e-01 1.08e+00 0.14 0.428 + 279 2 111 93 8.98e-03 -6.39e-01 -2.68e-01 7.06e-01 0.135 -0.408 + 280 1 2112 94 2.47e-01 -8.47e-01 6.46e-01 1.44e+00 0.94 0.678 + 281 2 111 94 -8.54e-02 -4.30e-01 -1.22e-01 4.75e-01 0.135 -0.274 + 282 1 -2212 96 -1.20e-01 2.30e-01 -3.61e+00 3.74e+00 0.938 -3.33 + 283 2 111 96 -6.64e-02 6.23e-02 -9.83e-01 9.97e-01 0.135 -3.07 + 284 1 22 97 1.55e-01 9.77e-02 -8.57e-01 8.76e-01 0 -2.25 + 285 1 22 97 8.94e-02 2.33e-01 -1.17e+00 1.20e+00 0 -2.25 + 286 1 211 98 -3.19e-01 1.38e-01 -5.12e-01 6.34e-01 0.14 -1.18 + 287 2 111 98 4.52e-02 1.43e-01 -1.22e+00 1.24e+00 0.135 -2.79 + 288 1 22 99 -9.13e-02 1.55e-01 -5.15e-01 5.46e-01 0 -1.77 + 289 1 22 99 -9.83e-03 3.66e-01 -1.24e+00 1.30e+00 0 -1.94 + 290 2 311 100 2.93e-01 1.29e+00 -1.16e+01 1.17e+01 0.498 -2.87 + 291 2 111 100 -2.50e-01 1.22e+00 -9.88e+00 9.96e+00 0.135 -2.77 + 292 1 211 102 -8.18e-01 7.82e-01 -1.28e+00 1.72e+00 0.14 -0.972 + 293 2 111 102 -4.20e-01 6.94e-01 -2.44e-01 8.57e-01 0.135 -0.296 + 294 1 22 103 -2.40e-01 1.69e-01 -4.50e-01 5.37e-01 0 -1.21 + 295 1 22 103 -6.60e-01 3.73e-01 -8.62e-02 7.63e-01 0 -0.114 + 296 1 -321 106 2.97e-02 1.02e-01 7.85e-01 9.34e-01 0.494 2.7 + 297 1 211 106 -4.69e-01 -8.59e-02 7.65e-01 9.12e-01 0.14 1.25 + 298 1 -211 107 -1.29e-01 -9.92e-02 2.95e-01 3.64e-01 0.14 1.35 + 299 2 111 107 3.99e-01 -1.03e-01 -1.51e-01 4.59e-01 0.135 -0.36 + 300 1 211 108 2.07e-02 -2.58e-01 1.52e+00 1.54e+00 0.14 2.47 + 301 2 111 108 7.55e-01 3.94e-01 3.29e+00 3.40e+00 0.135 2.06 + 302 1 -211 111 1.18e+00 -7.71e-01 2.29e+01 2.29e+01 0.14 3.48 + 303 2 111 111 2.67e-01 -8.24e-01 1.26e+01 1.26e+01 0.135 3.37 + 304 1 211 113 -3.00e-01 2.22e-01 1.26e+00 1.32e+00 0.14 1.93 + 305 1 -211 113 -2.85e-02 -1.21e-01 9.91e-01 1.01e+00 0.14 2.77 + 306 2 111 113 1.50e-01 6.19e-03 7.33e-01 7.61e-01 0.135 2.29 + 307 1 211 114 5.12e-02 3.31e-01 6.23e-01 7.21e-01 0.14 1.38 + 308 1 -211 114 -1.14e+00 1.20e-01 4.23e+00 4.38e+00 0.14 2.01 + 309 1 22 115 -8.30e-02 1.37e-01 1.80e-01 2.40e-01 0 0.966 + 310 1 22 115 -2.49e-01 9.51e-02 3.33e-01 4.27e-01 0 1.05 + 311 1 211 116 1.03e-01 4.27e-03 2.26e-01 2.85e-01 0.14 1.53 + 312 2 111 116 -4.87e-02 -3.62e-01 3.47e+00 3.49e+00 0.135 2.95 + 313 1 -211 117 3.06e-02 -4.35e-02 4.08e-02 1.55e-01 0.14 0.707 + 314 1 211 117 -1.56e-01 -2.36e-01 9.09e-01 9.62e-01 0.14 1.88 + 315 2 111 117 -2.44e-01 7.43e-02 5.97e-01 6.63e-01 0.135 1.59 + 316 2 111 118 -3.64e-01 6.75e-01 1.50e+00 1.69e+00 0.135 1.42 + 317 1 22 118 1.44e-01 -5.76e-02 3.76e-01 4.07e-01 0 1.62 + 318 1 22 119 1.05e+00 -2.79e-01 1.23e+00 1.64e+00 0 0.971 + 319 1 22 119 9.31e-02 7.16e-03 7.21e-02 1.18e-01 0 0.711 + 320 1 -211 120 9.37e-01 -6.72e-01 2.59e+00 2.84e+00 0.14 1.55 + 321 2 111 120 5.81e-02 9.88e-02 3.10e-01 3.57e-01 0.135 1.72 + 322 1 -211 122 8.37e-02 -1.04e-01 2.50e+02 2.50e+02 0.14 8.23 + 323 1 211 122 6.68e-04 -1.06e-03 2.13e+02 2.13e+02 0.14 12.7 + 324 2 111 122 3.12e-02 7.41e-02 7.11e+01 7.11e+01 0.135 7.48 + 325 1 211 125 1.23e-01 2.05e-01 1.18e+03 1.18e+03 0.14 9.2 + 326 1 -211 125 2.72e-02 2.16e-03 4.46e+01 4.46e+01 0.14 8.09 + 327 1 211 126 3.80e-02 4.42e-01 2.06e+02 2.06e+02 0.14 6.83 + 328 1 -211 126 -1.38e-01 5.93e-02 1.17e+01 1.17e+01 0.14 5.05 + 329 1 -321 127 -8.36e-01 -5.26e-01 1.47e+02 1.47e+02 0.494 5.7 + 330 1 211 127 -8.23e-02 7.30e-02 5.14e+01 5.14e+01 0.14 6.84 + 331 2 311 128 1.85e-01 2.15e-01 5.41e+01 5.41e+01 0.498 5.94 + 332 1 211 128 5.30e-01 -6.46e-02 4.99e+01 4.99e+01 0.14 5.23 + 333 1 -211 129 -7.65e-02 -4.03e-01 1.32e+02 1.32e+02 0.14 6.47 + 334 2 111 129 -1.87e-01 6.72e-02 2.09e+01 2.09e+01 0.135 5.35 + 335 1 -2212 133 -1.29e-01 -1.52e-01 1.50e+00 1.78e+00 0.938 2.72 + 336 1 211 133 -5.54e-03 -1.08e-01 3.68e-01 4.08e-01 0.14 1.94 + 337 1 22 134 4.67e-01 1.61e-01 5.01e-01 7.04e-01 0 0.891 + 338 1 22 134 1.32e-01 1.50e-01 -1.33e-01 2.40e-01 0 -0.624 + 339 1 2112 135 1.82e-01 -1.53e-01 1.36e+00 1.67e+00 0.94 2.44 + 340 1 -211 135 -2.61e-01 9.99e-02 1.14e+00 1.18e+00 0.14 2.11 + 341 1 211 136 4.59e-02 1.34e-01 -2.68e-02 2.01e-01 0.14 -0.187 + 342 1 -211 136 -2.32e-01 -1.27e-01 -1.72e-02 3.00e-01 0.14 -0.0647 + 343 2 111 136 5.32e-02 -3.22e-01 8.15e-04 3.53e-01 0.135 0.0025 + 344 1 22 138 2.89e-02 7.67e-02 -9.95e-03 8.26e-02 0 -0.121 + 345 1 22 138 -6.53e-02 -2.34e-03 -6.67e-02 9.33e-02 0 -0.896 + 346 1 211 139 -1.62e-01 -1.70e-01 -2.63e-01 3.79e-01 0.14 -0.965 + 347 1 -211 139 3.28e-01 1.67e-01 1.46e-01 4.20e-01 0.14 0.387 + 348 1 -211 140 4.64e-01 -4.08e-01 -1.47e+00 1.60e+00 0.14 -1.6 + 349 2 111 140 -2.82e-01 -2.33e-01 -8.38e-01 9.24e-01 0.135 -1.57 + 350 1 211 141 -4.37e-01 -8.02e-01 -2.86e+00 3.00e+00 0.14 -1.86 + 351 1 -211 141 3.45e-01 -3.94e-01 -2.46e+00 2.52e+00 0.14 -2.25 + 352 1 22 142 3.29e-01 -2.27e+00 -1.06e+01 1.09e+01 0 -2.24 + 353 1 22 142 1.04e-01 -2.79e-02 -4.90e-01 5.02e-01 0 -2.22 + 354 1 22 145 2.24e-01 1.60e-01 -6.47e-01 7.03e-01 0 -1.59 + 355 1 22 145 6.45e-02 2.78e-02 -5.12e-02 8.69e-02 0 -0.677 + 356 1 22 146 -2.53e-01 -1.98e-01 -4.48e+00 4.49e+00 0 -3.33 + 357 1 22 146 -4.02e-02 -1.53e-02 -1.73e+00 1.73e+00 0 -4.39 + 358 1 211 147 -2.33e-01 3.53e-01 -3.86e+00 3.89e+00 0.14 -2.91 + 359 2 111 147 1.63e-01 9.16e-01 -1.46e+01 1.47e+01 0.135 -3.45 + 360 1 211 148 -5.11e-02 -1.17e-01 -1.42e+00 1.44e+00 0.14 -3.11 + 361 1 -211 148 -3.99e-02 2.38e-01 -4.99e-01 5.71e-01 0.14 -1.47 + 362 2 111 148 1.46e-01 -7.17e-04 -1.08e+00 1.10e+00 0.135 -2.7 + 363 1 -2212 149 -1.14e-01 1.31e+00 -1.37e+01 1.38e+01 0.938 -3.05 + 364 2 111 149 -7.39e-02 2.19e-01 -5.36e+00 5.37e+00 0.135 -3.84 + 365 1 2212 150 -9.27e-02 3.27e-02 -5.02e+00 5.11e+00 0.938 -4.63 + 366 2 111 150 -1.94e-01 2.63e-01 -2.57e+00 2.59e+00 0.135 -2.76 + 367 1 -211 151 -8.93e-02 4.95e-01 -7.27e-01 8.95e-01 0.14 -1.16 + 368 2 111 151 -4.47e-02 -2.09e-01 1.14e-02 2.53e-01 0.135 0.0534 + 369 1 -211 152 5.27e-02 -2.61e-01 -2.79e-02 3.02e-01 0.14 -0.105 + 370 1 211 152 1.18e-01 -3.64e-02 -7.49e-02 2.01e-01 0.14 -0.574 + 371 2 111 152 -1.62e-02 -5.44e-02 7.93e-02 1.67e-01 0.135 1.14 + 372 1 130 153 9.34e-02 4.10e-01 -2.98e+00 3.05e+00 0.498 -2.66 + 373 1 130 154 -2.23e-01 -9.62e-02 -1.00e-02 5.54e-01 0.498 -0.0413 + 374 2 310 154 -1.01e-01 -3.31e-01 -8.27e-02 6.12e-01 0.498 -0.237 + 375 1 -321 155 5.89e-02 2.36e-01 -5.91e+00 5.94e+00 0.494 -3.89 + 376 1 321 155 -1.68e-01 1.40e-01 -5.56e+00 5.59e+00 0.494 -3.93 + 377 1 211 157 4.46e-01 -2.99e-01 -2.77e+01 2.78e+01 0.14 -4.64 + 378 1 -211 157 -2.68e-01 8.45e-02 -1.42e+01 1.42e+01 0.14 -4.62 + 379 1 211 160 -4.77e-01 4.23e-01 1.23e+00 1.39e+00 0.14 1.41 + 380 2 111 160 -3.71e-02 -2.68e-01 1.90e-01 3.57e-01 0.135 0.654 + 381 1 -211 161 1.82e-01 8.52e-01 1.27e+00 1.54e+00 0.14 1.17 + 382 2 111 161 -5.50e-02 -3.18e-02 2.55e-01 2.96e-01 0.135 2.1 + 383 1 211 162 -6.22e-01 4.22e-01 1.49e+00 1.68e+00 0.14 1.44 + 384 1 -211 162 -5.37e-01 7.66e-01 2.01e+00 2.22e+00 0.14 1.51 + 385 2 111 162 -5.43e-01 8.91e-01 3.06e+00 3.24e+00 0.135 1.8 + 386 1 2212 168 1.56e-01 1.97e-01 1.71e-01 9.86e-01 0.938 0.638 + 387 1 -211 168 2.02e-01 3.01e-02 1.94e-01 3.14e-01 0.14 0.846 + 388 1 22 169 -1.17e-01 -9.66e-02 4.13e-02 1.57e-01 0 0.269 + 389 1 22 169 -3.97e-01 -6.76e-01 7.01e-02 7.88e-01 0 0.0893 + 390 1 -2112 171 3.03e-01 -8.91e-01 -3.43e-01 1.37e+00 0.94 -0.357 + 391 1 211 171 5.83e-01 -7.06e-01 -7.91e-02 9.29e-01 0.14 -0.0863 + 392 1 2112 172 7.24e-01 -8.63e-01 -4.48e-01 1.53e+00 0.94 -0.388 + 393 1 -211 172 5.26e-01 -3.88e-01 -2.37e-01 7.09e-01 0.14 -0.356 + 394 2 311 173 5.72e-01 -9.16e-02 -1.38e-01 7.76e-01 0.498 -0.236 + 395 2 111 173 1.10e-01 -2.76e-01 1.93e-01 3.79e-01 0.135 0.611 + 396 1 211 174 1.28e-01 -7.30e-01 1.53e-01 7.70e-01 0.14 0.206 + 397 2 111 174 7.47e-01 -1.85e-01 -3.53e-01 8.58e-01 0.135 -0.444 + 398 1 -211 176 -5.19e-01 -4.06e-01 7.49e-01 1.01e+00 0.14 0.974 + 399 1 211 176 1.30e-01 1.17e-01 1.40e-02 2.25e-01 0.14 0.0799 + 400 1 -211 180 4.39e-01 -2.15e-01 -1.66e+00 1.74e+00 0.14 -1.94 + 401 1 211 180 7.22e-01 -5.56e-01 -3.37e+00 3.49e+00 0.14 -2.02 + 402 2 221 180 1.69e+00 -6.28e-01 -6.27e+00 6.54e+00 0.547 -1.96 + 403 1 -211 183 5.44e-01 4.25e-02 -8.88e-01 1.05e+00 0.14 -1.26 + 404 2 111 183 -5.85e-02 -2.84e-01 -3.75e-01 4.93e-01 0.135 -1.07 + 405 1 211 184 -1.80e-01 -1.50e-01 1.83e-01 3.29e-01 0.14 0.719 + 406 1 -211 184 -3.40e-01 1.00e-01 5.82e-01 6.95e-01 0.14 1.27 + 407 2 111 184 2.21e-02 -3.01e-02 6.89e-01 7.03e-01 0.135 3.61 + 408 1 22 185 -8.87e-02 2.18e-01 -4.88e-01 5.42e-01 0 -1.48 + 409 1 22 185 7.31e-03 1.79e-04 6.53e-03 9.81e-03 0 0.803 + 410 1 -211 187 -1.32e-01 -4.15e-02 1.75e+00 1.76e+00 0.14 3.23 + 411 2 111 187 -6.00e-02 1.06e+00 8.34e+00 8.41e+00 0.135 2.76 + 412 1 -211 188 2.10e-02 1.75e-01 3.00e+00 3.00e+00 0.14 3.53 + 413 1 211 188 -4.26e-01 -3.62e-01 1.15e+01 1.15e+01 0.14 3.71 + 414 2 311 189 -7.88e-01 5.44e-01 9.15e+00 9.21e+00 0.498 2.95 + 415 1 211 189 -1.03e+00 3.11e-01 6.49e+00 6.58e+00 0.14 2.5 + 416 2 -311 190 -7.26e-01 3.64e-01 1.14e+01 1.14e+01 0.498 3.33 + 417 2 111 190 1.13e-01 8.48e-02 4.43e+00 4.44e+00 0.135 4.14 + 418 1 -2212 192 -4.41e-01 7.02e-02 3.45e+00 3.61e+00 0.938 2.74 + 419 1 211 192 -5.35e-03 1.01e-01 4.72e-01 5.03e-01 0.14 2.25 + 420 1 -321 194 8.27e-01 -4.44e-01 -1.34e+01 1.34e+01 0.494 -3.35 + 421 1 211 194 1.67e-01 -1.91e-01 -1.26e+00 1.30e+00 0.14 -2.31 + 422 1 -211 195 -4.56e-03 8.51e-02 -2.39e+00 2.40e+00 0.14 -4.03 + 423 2 111 195 7.02e-01 -2.87e-01 -7.35e+00 7.39e+00 0.135 -2.97 + 424 1 211 198 4.68e-01 6.71e-02 -6.11e+00 6.13e+00 0.14 -3.25 + 425 1 -211 198 -9.85e-02 -2.14e-01 -2.40e+00 2.41e+00 0.14 -3.01 + 426 2 111 199 -1.48e-01 1.56e-01 -6.36e-01 6.84e-01 0.135 -1.81 + 427 2 111 199 -5.97e-01 4.05e-01 -1.05e+00 1.28e+00 0.135 -1.17 + 428 2 111 199 -3.71e-01 1.64e-01 -7.63e-01 8.74e-01 0.135 -1.39 + 429 1 -211 201 1.49e-01 2.94e-01 -5.26e-01 6.36e-01 0.14 -1.25 + 430 2 111 201 -3.25e-01 4.14e-02 -1.25e+00 1.30e+00 0.135 -2.05 + 431 1 321 202 -1.39e-01 4.26e-01 -1.92e+00 2.03e+00 0.494 -2.16 + 432 2 111 202 -5.53e-01 2.76e-02 -1.62e+00 1.71e+00 0.135 -1.79 + 433 1 22 204 7.35e-03 -7.24e-02 1.11e-01 1.33e-01 0 1.21 + 434 1 22 204 9.78e-02 -8.75e-02 6.65e-01 6.78e-01 0 2.33 + 435 1 22 205 8.07e-02 4.13e-02 1.36e+00 1.37e+00 0 3.4 + 436 1 22 205 4.41e-02 -7.76e-02 7.54e-01 7.59e-01 0 2.83 + 437 1 -2212 206 -3.36e-01 6.32e-01 9.14e-01 1.49e+00 0.938 1.06 + 438 1 -211 206 -2.16e-01 4.01e-01 -5.92e-02 4.80e-01 0.14 -0.13 + 439 1 2212 207 -3.13e-01 6.32e-01 1.07e+00 1.59e+00 0.938 1.2 + 440 1 211 207 -1.37e-01 8.42e-02 7.66e-01 7.95e-01 0.14 2.27 + 441 1 -211 208 1.07e-01 -1.65e-01 3.82e-01 4.52e-01 0.14 1.42 + 442 2 111 208 -6.14e-01 1.11e-01 9.19e-01 1.12e+00 0.135 1.18 + 443 1 211 211 9.76e-02 3.95e-01 2.34e+00 2.38e+00 0.14 2.45 + 444 2 111 211 1.34e-01 -4.00e-01 8.87e-01 9.91e-01 0.135 1.49 + 445 1 22 212 4.45e-02 6.93e-02 2.72e-01 2.84e-01 0 1.91 + 446 1 22 212 -1.25e-01 -6.12e-01 7.76e+00 7.79e+00 0 3.21 + 447 1 22 216 4.22e-01 2.70e-01 2.33e+01 2.33e+01 0 4.53 + 448 1 22 216 2.48e-01 4.74e-02 1.13e+01 1.13e+01 0 4.49 + 449 1 22 218 -8.21e-03 8.97e-03 6.58e-01 6.59e-01 0 4.68 + 450 1 22 218 2.14e-01 -8.57e-02 2.78e+00 2.79e+00 0 3.19 + 451 1 22 220 -3.55e-01 1.42e-01 6.52e+00 6.54e+00 0 3.53 + 452 1 22 220 -7.06e-03 2.88e-02 2.15e-01 2.17e-01 0 2.68 + 453 1 22 231 -5.50e-02 -1.37e-01 -8.40e+00 8.40e+00 0 -4.74 + 454 1 22 231 4.65e-03 -5.33e-01 -2.29e+01 2.29e+01 0 -4.45 + 455 2 310 232 5.30e-01 -1.23e-01 -3.40e+01 3.40e+01 0.498 -4.83 + 456 1 22 241 -3.64e-01 8.07e-01 2.45e+01 2.45e+01 0 4.01 + 457 1 22 241 -2.91e-01 9.51e-01 2.94e+01 2.94e+01 0 4.08 + 458 1 22 243 -3.69e-01 3.21e-01 2.26e+01 2.26e+01 0 4.53 + 459 1 22 243 -1.54e-02 5.23e-02 4.59e+00 4.59e+00 0 5.13 + 460 1 22 245 -2.81e-01 3.12e-01 1.41e+01 1.41e+01 0 4.21 + 461 1 22 245 -1.29e-01 2.81e-01 1.30e+01 1.30e+01 0 4.43 + 462 1 22 247 -1.35e-02 2.28e-02 6.37e+00 6.37e+00 0 6.18 + 463 1 22 247 7.99e-02 3.34e-01 2.65e+01 2.65e+01 0 5.04 + 464 1 22 249 1.32e-01 -4.01e-02 4.96e-01 5.15e-01 0 1.99 + 465 1 22 249 1.72e-01 -6.00e-02 1.52e+00 1.53e+00 0 2.82 + 466 1 22 252 2.01e-01 -3.18e-01 4.08e+00 4.10e+00 0 3.08 + 467 1 22 252 4.59e-01 -9.50e-01 1.37e+01 1.38e+01 0 3.26 + 468 1 22 258 -1.19e-01 2.73e-02 9.64e-01 9.72e-01 0 2.77 + 469 1 22 258 -1.62e-01 -1.54e-02 3.11e+00 3.11e+00 0 3.64 + 470 1 22 260 -6.48e-02 1.10e-01 2.20e-01 2.54e-01 0 1.31 + 471 1 22 260 -3.19e-01 5.74e-01 1.88e+00 1.99e+00 0 1.78 + 472 1 22 262 -1.01e-01 1.11e-01 7.65e-01 7.79e-01 0 2.33 + 473 1 22 262 -1.79e+00 2.35e+00 1.81e+01 1.83e+01 0 2.51 + 474 1 130 263 -1.43e+00 -3.59e+00 -2.32e+00 4.53e+00 0.498 -0.57 + 475 1 22 264 -9.00e-02 -4.22e-01 -1.35e-01 4.52e-01 0 -0.308 + 476 1 22 264 -1.02e-01 -1.87e-01 6.82e-03 2.13e-01 0 0.032 + 477 2 310 265 -2.97e-01 -4.62e-02 -1.54e+00 1.65e+00 0.498 -2.34 + 478 1 22 272 1.29e-01 8.73e-02 -3.93e+00 3.94e+00 0 -3.92 + 479 1 22 272 2.47e-01 3.96e-01 -1.56e+01 1.56e+01 0 -4.2 + 480 1 130 275 8.01e-01 1.20e+00 -1.36e+02 1.36e+02 0.498 -5.24 + 481 1 22 279 -2.40e-02 -6.20e-02 5.34e-03 6.67e-02 0 0.0802 + 482 1 22 279 3.30e-02 -5.77e-01 -2.73e-01 6.39e-01 0 -0.457 + 483 1 22 281 -3.78e-02 -4.27e-02 -5.40e-02 7.85e-02 0 -0.844 + 484 1 22 281 -4.77e-02 -3.87e-01 -6.78e-02 3.96e-01 0 -0.173 + 485 1 22 283 -9.12e-03 3.26e-02 -8.26e-01 8.26e-01 0 -3.89 + 486 1 22 283 -5.73e-02 2.97e-02 -1.58e-01 1.70e-01 0 -1.63 + 487 1 22 287 -3.63e-03 5.09e-02 -8.67e-01 8.69e-01 0 -3.53 + 488 1 22 287 4.89e-02 9.21e-02 -3.53e-01 3.68e-01 0 -1.93 + 489 1 130 290 2.93e-01 1.29e+00 -1.16e+01 1.17e+01 0.498 -2.87 + 490 1 22 291 -9.50e-02 6.45e-01 -4.72e+00 4.77e+00 0 -2.68 + 491 1 22 291 -1.55e-01 5.72e-01 -5.16e+00 5.19e+00 0 -2.86 + 492 1 22 293 -3.70e-01 6.22e-01 -2.59e-01 7.69e-01 0 -0.35 + 493 1 22 293 -4.97e-02 7.14e-02 1.54e-02 8.83e-02 0 0.177 + 494 1 22 299 3.27e-01 -4.69e-02 -7.19e-02 3.39e-01 0 -0.216 + 495 1 22 299 7.17e-02 -5.61e-02 -7.96e-02 1.21e-01 0 -0.789 + 496 1 22 301 4.47e-01 2.50e-01 1.72e+00 1.79e+00 0 1.92 + 497 1 22 301 3.08e-01 1.44e-01 1.58e+00 1.61e+00 0 2.24 + 498 1 22 303 1.24e-01 -2.94e-01 5.52e+00 5.53e+00 0 3.55 + 499 1 22 303 1.43e-01 -5.30e-01 7.09e+00 7.11e+00 0 3.25 + 500 1 22 306 1.41e-01 -4.03e-02 6.31e-01 6.48e-01 0 2.16 + 501 1 22 306 8.95e-03 4.65e-02 1.02e-01 1.12e-01 0 1.51 + 502 1 22 312 2.41e-02 -2.66e-01 2.23e+00 2.25e+00 0 2.82 + 503 1 22 312 -7.27e-02 -9.55e-02 1.23e+00 1.24e+00 0 3.03 + 504 1 22 315 -1.55e-01 3.31e-02 2.05e-01 2.59e-01 0 1.08 + 505 1 22 315 -8.95e-02 4.13e-02 3.92e-01 4.04e-01 0 2.09 + 506 1 22 316 -1.59e-01 4.26e-01 9.25e-01 1.03e+00 0 1.46 + 507 1 22 316 -2.05e-01 2.49e-01 5.71e-01 6.55e-01 0 1.34 + 508 1 22 321 -3.77e-02 1.42e-02 3.34e-02 5.23e-02 0 0.755 + 509 1 22 321 9.57e-02 8.46e-02 2.77e-01 3.05e-01 0 1.52 + 510 1 22 324 -4.02e-02 4.75e-02 1.60e+01 1.60e+01 0 6.24 + 511 1 22 324 7.14e-02 2.66e-02 5.51e+01 5.51e+01 0 7.28 + 512 1 130 331 1.85e-01 2.15e-01 5.41e+01 5.41e+01 0.498 5.94 + 513 1 22 334 -2.64e-02 -3.93e-02 3.82e+00 3.82e+00 0 5.08 + 514 1 22 334 -1.61e-01 1.06e-01 1.71e+01 1.71e+01 0 5.18 + 515 1 22 343 7.18e-02 -2.26e-01 5.21e-02 2.42e-01 0 0.218 + 516 1 22 343 -1.87e-02 -9.64e-02 -5.13e-02 1.11e-01 0 -0.501 + 517 1 22 349 -1.97e-01 -2.33e-01 -6.54e-01 7.22e-01 0 -1.51 + 518 1 22 349 -8.46e-02 -1.21e-04 -1.84e-01 2.03e-01 0 -1.52 + 519 1 22 359 9.19e-04 -1.48e-03 -2.59e-01 2.59e-01 0 -5.7 + 520 1 22 359 1.62e-01 9.17e-01 -1.44e+01 1.44e+01 0 -3.43 + 521 1 22 362 8.59e-02 -6.67e-02 -6.44e-01 6.53e-01 0 -2.48 + 522 1 22 362 6.01e-02 6.60e-02 -4.40e-01 4.49e-01 0 -2.3 + 523 1 22 364 -3.17e-02 -2.09e-03 -3.01e-01 3.02e-01 0 -2.94 + 524 1 22 364 -4.22e-02 2.21e-01 -5.06e+00 5.06e+00 0 -3.81 + 525 1 22 366 -1.99e-01 2.30e-01 -1.98e+00 2.00e+00 0 -2.57 + 526 1 22 366 5.37e-03 3.31e-02 -5.92e-01 5.93e-01 0 -3.56 + 527 1 22 368 2.65e-02 3.28e-03 -9.16e-03 2.82e-02 0 -0.337 + 528 1 22 368 -7.12e-02 -2.12e-01 2.06e-02 2.25e-01 0 0.0918 + 529 1 22 371 4.40e-02 1.91e-02 4.43e-02 6.53e-02 0 0.826 + 530 1 22 371 -6.02e-02 -7.35e-02 3.50e-02 1.01e-01 0 0.36 + 531 1 -211 374 7.23e-02 -3.25e-01 2.98e-02 3.62e-01 0.14 0.0895 + 532 1 211 374 -1.73e-01 -5.57e-03 -1.13e-01 2.49e-01 0.14 -0.611 + 533 1 22 380 -4.18e-02 -2.20e-01 2.08e-01 3.05e-01 0 0.829 + 534 1 22 380 4.66e-03 -4.76e-02 -1.81e-02 5.11e-02 0 -0.37 + 535 1 22 382 1.09e-03 -1.87e-02 2.33e-01 2.34e-01 0 3.22 + 536 1 22 382 -5.61e-02 -1.31e-02 2.21e-02 6.17e-02 0 0.374 + 537 1 22 385 -2.17e-01 4.03e-01 1.54e+00 1.60e+00 0 1.92 + 538 1 22 385 -3.26e-01 4.88e-01 1.52e+00 1.63e+00 0 1.68 + 539 2 310 394 5.72e-01 -9.16e-02 -1.38e-01 7.76e-01 0.498 -0.236 + 540 1 22 395 6.68e-02 -6.10e-02 5.62e-03 9.06e-02 0 0.0621 + 541 1 22 395 4.29e-02 -2.15e-01 1.87e-01 2.88e-01 0 0.774 + 542 1 22 397 2.34e-01 -5.57e-03 -1.46e-01 2.75e-01 0 -0.589 + 543 1 22 397 5.14e-01 -1.79e-01 -2.07e-01 5.82e-01 0 -0.372 + 544 1 211 402 7.20e-01 -3.67e-01 -2.90e+00 3.01e+00 0.14 -1.99 + 545 1 -211 402 2.08e-01 -9.71e-02 -9.37e-01 9.74e-01 0.14 -2.11 + 546 2 111 402 7.64e-01 -1.63e-01 -2.43e+00 2.55e+00 0.135 -1.85 + 547 1 22 404 2.09e-02 3.68e-03 -2.13e-02 3.01e-02 0 -0.884 + 548 1 22 404 -7.94e-02 -2.88e-01 -3.53e-01 4.63e-01 0 -1.01 + 549 1 22 407 -5.67e-02 -1.77e-02 2.57e-01 2.64e-01 0 2.17 + 550 1 22 407 7.88e-02 -1.24e-02 4.32e-01 4.40e-01 0 2.39 + 551 1 22 411 -7.02e-02 3.39e-01 3.02e+00 3.04e+00 0 2.86 + 552 1 22 411 1.02e-02 7.17e-01 5.32e+00 5.37e+00 0 2.7 + 553 1 130 414 -7.88e-01 5.44e-01 9.15e+00 9.21e+00 0.498 2.95 + 554 2 310 416 -7.26e-01 3.64e-01 1.14e+01 1.14e+01 0.498 3.33 + 555 1 22 417 7.99e-02 1.22e-01 3.16e+00 3.17e+00 0 3.77 + 556 1 22 417 3.35e-02 -3.67e-02 1.27e+00 1.27e+00 0 3.93 + 557 1 22 423 4.84e-01 -1.71e-01 -4.37e+00 4.40e+00 0 -2.84 + 558 1 22 423 2.18e-01 -1.16e-01 -2.98e+00 2.99e+00 0 -3.18 + 559 1 22 426 -1.18e-02 -1.61e-02 -1.18e-02 2.32e-02 0 -0.562 + 560 1 22 426 -1.36e-01 1.72e-01 -6.24e-01 6.61e-01 0 -1.77 + 561 1 22 427 -3.72e-01 3.13e-01 -6.32e-01 7.97e-01 0 -1.08 + 562 1 22 427 -2.25e-01 9.18e-02 -4.20e-01 4.86e-01 0 -1.32 + 563 1 22 428 -2.91e-01 1.17e-01 -6.85e-01 7.53e-01 0 -1.52 + 564 1 22 428 -7.96e-02 4.73e-02 -7.79e-02 1.21e-01 0 -0.765 + 565 1 22 430 -2.08e-01 -3.56e-03 -9.75e-01 9.97e-01 0 -2.25 + 566 1 22 430 -1.17e-01 4.50e-02 -2.72e-01 2.99e-01 0 -1.52 + 567 1 22 432 -2.36e-01 7.87e-02 -7.14e-01 7.56e-01 0 -1.78 + 568 1 22 432 -3.17e-01 -5.11e-02 -9.02e-01 9.57e-01 0 -1.76 + 569 1 22 442 -2.54e-01 4.50e-02 5.01e-01 5.64e-01 0 1.42 + 570 1 22 442 -3.60e-01 6.59e-02 4.19e-01 5.56e-01 0 0.98 + 571 1 22 444 2.94e-02 -1.91e-01 5.35e-01 5.68e-01 0 1.74 + 572 1 22 444 1.05e-01 -2.10e-01 3.52e-01 4.23e-01 0 1.2 + 573 1 211 455 3.76e-01 -7.24e-02 -2.96e+01 2.96e+01 0.14 -5.04 + 574 1 -211 455 1.55e-01 -5.07e-02 -4.42e+00 4.43e+00 0.14 -4 + 575 1 211 477 -1.87e-01 -7.55e-02 -1.39e+00 1.41e+00 0.14 -2.63 + 576 1 -211 477 -1.09e-01 2.93e-02 -1.49e-01 2.34e-01 0.14 -1.09 + 577 1 211 539 4.23e-01 1.28e-01 -9.44e-02 4.73e-01 0.14 -0.212 + 578 1 -211 539 1.49e-01 -2.20e-01 -4.39e-02 3.03e-01 0.14 -0.165 + 579 1 22 546 7.43e-01 -1.47e-01 -2.39e+00 2.51e+00 0 -1.87 + 580 1 22 546 2.17e-02 -1.67e-02 -3.53e-02 4.47e-02 0 -1.07 + 581 1 211 554 -4.14e-01 3.95e-01 8.26e+00 8.28e+00 0.14 3.36 + 582 1 -211 554 -3.12e-01 -3.09e-02 3.12e+00 3.14e+00 0.14 2.99 +6 Event +481 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 2 1 5.16e-01 3.85e-01 1.73e+03 1.73e+03 0 8.59 + 4 3 21 2 -4.98e-01 1.09e+00 -1.31e+02 1.31e+02 0 -5.38 + 5 3 2 3 -3.15e+00 -4.68e+00 8.54e+02 8.54e+02 0 5.71 + 6 3 -1 4 2.65e+00 4.77e+00 -9.52e-01 5.54e+00 0 -0.173 + 7 3 22 5 1.34e+01 -5.23e+00 3.24e+02 3.25e+02 0 3.81 + 8 3 24 5 -1.39e+01 5.32e+00 5.29e+02 5.35e+02 79.8 4.27 + 9 1 22 7 1.34e+01 -5.23e+00 3.24e+02 3.25e+02 0 3.81 + 10 2 24 8 -1.39e+01 5.32e+00 5.29e+02 5.35e+02 79.8 4.27 + 11 2 1 4 1.05e+00 1.62e+00 -6.14e+00 6.45e+00 0.33 -1.88 + 12 2 21 4 2.05e-02 -8.92e-01 6.38e-01 1.10e+00 0 0.665 + 13 2 21 4 2.44e-01 -1.46e-01 1.10e+00 1.13e+00 0 2.06 + 14 2 21 4 2.24e-01 3.98e-02 2.57e+00 2.58e+00 0 3.12 + 15 2 21 4 2.29e-01 5.61e-02 2.96e+00 2.97e+00 0 3.22 + 16 2 21 4 -6.42e-01 -7.00e-01 1.06e+00 1.42e+00 0 0.961 + 17 2 21 4 -6.01e-01 1.09e+00 -4.37e+00 4.54e+00 0 -1.97 + 18 2 21 4 -3.03e+00 -1.64e+00 -5.71e+00 6.67e+00 0 -1.28 + 19 2 2103 2 2.91e-01 -6.51e-01 -6.77e+03 6.77e+03 0.771 -9.85 + 20 2 -3 10 7.59e-01 2.09e+01 5.42e+01 5.81e+01 0.5 1.68 + 21 2 21 10 8.77e-01 1.95e+00 3.73e+00 4.30e+00 0 1.32 + 22 2 21 10 -2.09e-01 -7.81e-02 5.45e-01 5.89e-01 0 1.63 + 23 2 21 10 4.33e-01 -2.44e-01 8.26e+00 8.27e+00 0 3.5 + 24 2 21 10 2.66e-01 -6.11e-01 4.54e+00 4.58e+00 0 2.62 + 25 2 21 10 1.63e+00 -3.66e-01 9.34e+00 9.49e+00 0 2.42 + 26 2 21 10 2.65e+00 -1.87e+00 9.44e+00 9.98e+00 0 1.79 + 27 2 21 10 4.85e-01 -5.12e-01 3.04e+01 3.04e+01 0 4.46 + 28 2 21 10 -5.87e-01 -6.62e-01 4.01e+01 4.01e+01 0 4.51 + 29 2 21 10 4.18e-02 4.20e-01 1.85e+01 1.85e+01 0 4.47 + 30 2 21 10 -2.51e+00 -1.94e+00 6.59e+01 6.60e+01 0 3.73 + 31 2 21 10 8.71e-02 -8.94e-01 2.13e+01 2.13e+01 0 3.86 + 32 2 21 10 -1.50e+00 -4.02e-01 2.06e+01 2.06e+01 0 3.28 + 33 2 4 10 -1.63e+01 -1.03e+01 2.42e+02 2.43e+02 1.5 3.22 + 34 2 2101 1 -5.16e-01 -3.85e-01 4.22e+03 4.22e+03 0.579 9.48 + 35 2 21 3 -5.55e-01 9.81e-01 7.07e+02 7.07e+02 0 7.13 + 36 2 21 3 3.93e+00 2.03e+00 5.70e+01 5.71e+01 0 3.25 + 37 2 21 3 7.21e-01 2.74e+00 3.14e+01 3.15e+01 0 3.1 + 38 2 21 0 -3.68e+00 1.82e-01 2.32e+02 2.32e+02 0 4.84 + 39 2 21 0 1.93e+00 3.04e+00 4.15e+02 4.15e+02 0 5.44 + 40 2 21 0 3.68e+00 -1.82e-01 5.03e+01 5.04e+01 0 3.31 + 41 2 21 0 -3.13e-01 3.66e+00 2.96e+01 2.98e+01 0 2.78 + 42 2 21 4 -6.73e-03 8.71e-02 7.40e-02 1.15e-01 0 0.769 + 43 2 21 4 -5.49e-01 -5.74e+00 6.33e+01 6.36e+01 0 3.09 + 44 2 21 4 4.92e-01 -5.49e-01 4.40e+00 4.46e+00 0 2.49 + 45 2 21 4 4.38e-01 2.80e-01 -4.32e+00 4.35e+00 0 -2.81 + 46 2 21 4 -1.44e+00 2.14e+00 -1.06e+02 1.06e+02 0 -4.41 + 47 2 2 2 2.07e-01 -4.43e-01 -5.76e+01 5.76e+01 0.33 -5.46 + 48 2 21 0 1.59e+00 -9.25e+00 -1.33e+01 1.63e+01 0 -1.15 + 49 2 21 0 3.13e-01 -3.66e+00 -1.60e+01 1.64e+01 0 -2.18 + 50 2 21 0 -1.59e+00 9.25e+00 3.46e-01 9.39e+00 0 0.0368 + 51 2 21 0 -1.93e+00 -3.04e+00 -2.24e+00 4.24e+00 0 -0.588 + 52 2 21 0 -3.04e+00 7.70e-01 3.09e+02 3.10e+02 0 5.29 + 53 2 21 0 3.04e+00 -7.70e-01 4.26e+00 5.29e+00 0 1.12 + 54 2 92 11 -2.22e+00 -1.22e+00 -6.78e+03 6.80e+03 507 -8.59 + 55 2 223 54 4.39e-01 3.68e-01 -2.81e+00 2.97e+00 0.78 -2.29 + 56 2 2214 54 9.38e-03 9.17e-01 -1.53e+00 2.17e+00 1.24 -1.29 + 57 2 -2214 54 1.88e-01 2.02e-01 -1.21e+00 1.70e+00 1.17 -2.18 + 58 1 -211 54 4.31e-02 -2.36e-02 2.13e-01 2.60e-01 0.14 2.17 + 59 2 213 54 5.49e-01 -4.49e-01 1.84e+00 2.21e+00 0.981 1.68 + 60 2 313 54 -7.81e-02 -2.97e-01 1.54e+00 1.79e+00 0.875 2.31 + 61 2 -313 54 -2.81e-01 -4.10e-01 1.36e+00 1.70e+00 0.888 1.73 + 62 2 111 54 5.23e-01 3.16e-01 1.66e+00 1.77e+00 0.135 1.72 + 63 2 223 54 4.21e-01 -5.35e-02 -5.19e-01 1.03e+00 0.779 -1.03 + 64 2 313 54 -1.02e+00 3.03e-01 -4.71e-01 1.48e+00 0.921 -0.431 + 65 2 -311 54 -5.94e-01 4.52e-02 -9.62e-01 1.24e+00 0.498 -1.26 + 66 1 -211 54 -1.44e-02 -7.15e-01 -2.67e-01 7.76e-01 0.14 -0.365 + 67 1 211 54 -1.32e-01 -4.33e-01 -1.15e+00 1.24e+00 0.14 -1.66 + 68 2 -213 54 -5.22e-01 7.93e-02 -8.58e-01 1.20e+00 0.654 -1.26 + 69 2 223 54 -9.56e-01 -1.79e-01 -3.06e+00 3.31e+00 0.78 -1.86 + 70 1 211 54 7.10e-02 3.90e-01 -2.79e+00 2.82e+00 0.14 -2.65 + 71 2 221 54 -7.94e-01 -1.14e+00 -5.82e+00 6.01e+00 0.547 -2.14 + 72 1 -211 54 -2.29e-01 5.39e-01 -8.07e+00 8.09e+00 0.14 -3.32 + 73 2 323 54 -3.77e-01 -5.25e-02 -9.33e+00 9.38e+00 0.851 -3.89 + 74 2 -323 54 4.71e-01 -1.59e-02 -3.23e+01 3.23e+01 0.888 -4.92 + 75 1 211 54 -9.18e-02 3.22e-01 -1.66e+01 1.66e+01 0.14 -4.6 + 76 1 -211 54 -5.65e-01 -4.88e-01 -5.15e+01 5.15e+01 0.14 -4.93 + 77 1 2212 54 4.16e-01 4.81e-01 -2.26e+02 2.26e+02 0.938 -6.57 + 78 1 -2212 54 1.69e-01 -2.79e-01 -3.04e+02 3.04e+02 0.938 -7.53 + 79 2 113 54 -3.48e-01 -1.33e-01 -5.86e+02 5.86e+02 0.648 -8.05 + 80 2 223 54 3.11e-01 9.50e-02 -1.61e+02 1.61e+02 0.764 -6.9 + 81 2 111 54 -3.07e-01 -2.62e-01 -8.89e+02 8.89e+02 0.135 -8.39 + 82 2 2214 54 4.75e-01 -3.41e-01 -4.48e+03 4.48e+03 1.22 -9.64 + 83 2 92 20 -1.39e+01 5.32e+00 5.29e+02 5.35e+02 79.8 4.27 + 84 2 311 83 2.59e-01 6.89e+00 1.84e+01 1.97e+01 0.498 1.71 + 85 2 -2214 83 5.98e-01 7.04e+00 1.74e+01 1.88e+01 1.27 1.63 + 86 1 2212 83 3.49e-01 4.99e+00 1.23e+01 1.33e+01 0.938 1.63 + 87 2 213 83 -1.76e-01 5.50e-01 3.14e+00 3.28e+00 0.761 2.39 + 88 2 -213 83 9.36e-01 3.13e+00 1.23e+01 1.27e+01 0.491 2.03 + 89 2 223 83 2.19e-01 -5.24e-01 2.40e+00 2.58e+00 0.772 2.15 + 90 2 213 83 6.12e-01 -1.68e-01 4.56e+00 4.66e+00 0.69 2.67 + 91 2 221 83 5.43e-01 7.80e-02 1.08e+00 1.33e+00 0.547 1.43 + 92 1 -211 83 8.01e-01 -5.74e-01 6.22e+00 6.30e+00 0.14 2.54 + 93 2 213 83 5.51e-01 -1.05e+00 9.48e+00 9.58e+00 0.73 2.77 + 94 1 -321 83 1.56e+00 -8.31e-01 8.88e+00 9.07e+00 0.494 2.32 + 95 2 313 83 3.33e-01 -1.83e-01 7.42e+00 7.46e+00 0.732 3.67 + 96 2 -1114 83 -5.06e-01 -3.33e-02 2.32e+01 2.33e+01 1.24 4.52 + 97 1 -211 83 1.79e-02 -9.00e-03 3.57e+00 3.58e+00 0.14 5.88 + 98 2 3122 83 -6.54e-01 -1.07e+00 2.94e+01 2.94e+01 1.12 3.85 + 99 1 321 83 -2.41e-01 -2.69e-01 4.73e+01 4.73e+01 0.494 5.57 + 100 1 -211 83 5.73e-02 -6.85e-01 2.06e+01 2.06e+01 0.14 4.09 + 101 2 223 83 -2.34e+00 -1.15e+00 4.43e+01 4.44e+01 0.788 3.53 + 102 2 223 83 -3.20e+00 -2.90e+00 5.71e+01 5.73e+01 0.806 3.28 + 103 2 111 83 -9.42e-01 -2.60e-01 1.39e+01 1.40e+01 0.135 3.35 + 104 2 411 83 -1.26e+01 -7.64e+00 1.86e+02 1.87e+02 1.87 3.23 + 105 2 92 34 4.34e+00 7.83e+00 5.64e+03 5.98e+03 1.98e+03 7.14 + 106 1 2212 105 -3.42e-01 -4.27e-01 3.85e+03 3.85e+03 0.938 9.55 + 107 2 223 105 -2.59e-01 2.68e-01 3.40e+02 3.40e+02 0.781 7.51 + 108 2 -213 105 -8.44e-02 9.59e-02 4.27e+02 4.27e+02 1.01 8.81 + 109 2 113 105 -3.46e-01 3.38e-01 1.41e+02 1.41e+02 0.845 6.37 + 110 2 213 105 2.47e-01 1.30e-01 1.21e+02 1.21e+02 0.664 6.77 + 111 2 -213 105 7.18e-01 2.41e-02 1.82e+01 1.82e+01 0.728 3.93 + 112 1 211 105 3.29e-01 9.73e-01 3.94e+01 3.94e+01 0.14 4.34 + 113 2 111 105 3.65e-02 -1.26e-01 1.08e+00 1.10e+00 0.135 2.81 + 114 2 -323 105 8.62e-01 1.20e+00 3.06e+01 3.07e+01 0.932 3.73 + 115 1 321 105 9.69e-03 7.51e-01 1.23e+01 1.23e+01 0.494 3.49 + 116 2 113 105 1.74e+00 5.98e-01 2.00e+01 2.01e+01 0.783 3.08 + 117 2 111 105 3.05e-01 1.83e+00 4.19e+01 4.19e+01 0.135 3.81 + 118 1 -211 105 -3.51e-01 -4.57e-01 4.38e+01 4.38e+01 0.14 5.02 + 119 1 211 105 -3.70e-01 2.54e-01 1.03e+01 1.03e+01 0.14 3.82 + 120 2 -323 105 -7.35e-01 2.68e-01 6.01e+01 6.01e+01 0.912 5.03 + 121 2 311 105 -6.95e-01 3.26e-01 7.29e+01 7.29e+01 0.498 5.25 + 122 2 113 105 -5.29e-01 3.14e-01 7.31e+01 7.31e+01 0.94 5.47 + 123 1 211 105 6.60e-01 4.74e-01 8.64e+01 8.64e+01 0.14 5.36 + 124 2 -323 105 3.09e-01 4.30e-01 1.94e+02 1.94e+02 0.897 6.6 + 125 2 323 105 6.23e-01 6.57e-01 2.05e+01 2.06e+01 0.848 3.82 + 126 2 -213 105 8.23e-01 5.35e-01 3.76e+01 3.76e+01 0.633 4.34 + 127 2 213 105 9.80e-01 8.75e-02 3.46e+01 3.46e+01 0.865 4.25 + 128 1 -211 105 -5.49e-01 6.94e-01 8.21e+00 8.26e+00 0.14 2.92 + 129 2 113 105 -1.85e-01 6.04e-01 1.31e+01 1.31e+01 0.638 3.73 + 130 2 -3112 105 1.41e+00 4.77e-01 2.04e+01 2.05e+01 1.2 3.32 + 131 2 3122 105 5.38e-01 4.08e-01 1.16e+01 1.17e+01 1.12 3.54 + 132 2 113 105 3.07e-03 -8.83e-01 1.37e+01 1.38e+01 0.569 3.44 + 133 2 221 105 -7.55e-02 1.81e-01 5.69e+00 5.72e+00 0.547 4.06 + 134 2 -323 105 3.41e-02 2.92e-01 9.41e+00 9.46e+00 0.892 4.16 + 135 2 311 105 3.14e-01 -1.65e+00 1.70e+01 1.71e+01 0.498 3.01 + 136 2 111 105 -4.09e-01 4.86e-02 1.86e+00 1.91e+00 0.135 2.21 + 137 1 211 105 4.25e-01 1.01e-01 1.72e+00 1.78e+00 0.14 2.08 + 138 2 331 105 -6.48e-01 -1.86e+00 1.57e+01 1.59e+01 0.957 2.77 + 139 2 223 105 2.60e-01 -7.56e-01 9.46e+00 9.53e+00 0.78 3.17 + 140 2 -213 105 1.84e-01 -1.42e-02 4.98e+00 5.05e+00 0.777 3.99 + 141 2 223 105 2.30e-02 -2.47e-01 7.19e-01 1.09e+00 0.782 1.79 + 142 1 211 105 -2.59e-01 3.71e-01 -1.33e+00 1.41e+00 0.14 -1.8 + 143 2 113 105 3.83e-01 -4.06e-01 -2.28e+00 2.51e+00 0.897 -2.11 + 144 2 -213 105 -1.79e-02 -4.42e-02 -7.72e+00 7.76e+00 0.782 -5.78 + 145 1 -2112 105 1.24e-01 6.09e-01 -5.55e+00 5.67e+00 0.94 -2.89 + 146 1 2212 105 -6.40e-01 -1.87e-02 -7.69e+00 7.77e+00 0.938 -3.18 + 147 2 223 105 -1.76e-02 5.08e-01 -3.09e+01 3.09e+01 0.787 -4.8 + 148 2 -213 105 -6.64e-02 1.12e+00 -6.65e+01 6.65e+01 0.852 -4.77 + 149 2 213 105 -4.18e-01 -2.45e-01 -4.51e+01 4.51e+01 0.509 -5.23 + 150 2 92 48 -1.62e+00 -6.70e+00 -3.12e+01 4.64e+01 33.6 -2.22 + 151 2 -213 150 -9.16e-01 1.98e+00 1.00e-01 2.37e+00 0.921 0.046 + 152 2 221 150 -1.15e-01 -7.93e-01 -1.44e+00 1.74e+00 0.547 -1.35 + 153 2 213 150 -7.21e-01 -1.40e+00 -1.44e+00 2.36e+00 0.993 -0.82 + 154 2 311 150 -4.24e-01 -1.13e+00 -4.25e-01 1.37e+00 0.498 -0.345 + 155 2 -323 150 6.87e-01 -3.46e+00 -5.69e+00 6.76e+00 0.912 -1.25 + 156 1 211 150 3.20e-01 -2.38e+00 -4.94e+00 5.50e+00 0.14 -1.47 + 157 1 -211 150 3.79e-01 -1.74e+00 -1.63e+00 2.42e+00 0.14 -0.819 + 158 1 211 150 3.59e-02 -2.54e-01 -5.92e-01 6.60e-01 0.14 -1.58 + 159 2 113 150 -1.81e-01 -3.16e+00 -1.13e+01 1.17e+01 1.09 -1.98 + 160 1 -211 150 2.85e-01 1.05e-02 -1.42e+00 1.46e+00 0.14 -2.31 + 161 2 111 150 8.02e-02 -3.48e-01 -8.86e-01 9.65e-01 0.135 -1.64 + 162 1 211 150 3.85e-02 2.07e-01 -7.84e-02 2.64e-01 0.14 -0.365 + 163 1 2112 150 -6.25e-01 3.14e+00 1.14e-02 3.34e+00 0.94 0.00356 + 164 1 -2212 150 4.72e-01 9.00e-01 -1.44e+00 2.00e+00 0.938 -1.15 + 165 2 213 150 -8.81e-01 -2.27e-01 -3.02e-01 1.28e+00 0.846 -0.326 + 166 2 113 150 -5.60e-02 1.97e+00 2.01e-01 2.15e+00 0.825 0.102 + 167 2 92 52 0.00e+00 0.00e+00 3.14e+02 3.15e+02 25.6 999 + 168 2 213 167 3.30e-01 5.69e-01 1.16e+01 1.17e+01 0.812 3.56 + 169 2 311 167 -3.95e-01 -2.89e-01 8.42e+00 8.45e+00 0.498 3.54 + 170 2 -323 167 5.21e-01 9.71e-02 8.40e+00 8.46e+00 0.882 3.46 + 171 2 113 167 3.86e-01 -2.76e-01 4.73e+00 4.81e+00 0.754 2.99 + 172 2 213 167 6.03e-01 -3.07e-01 1.46e+00 1.79e+00 0.779 1.51 + 173 2 1114 167 3.67e-01 1.30e-01 3.11e+00 3.35e+00 1.17 2.78 + 174 2 -1114 167 9.74e-01 -6.35e-02 1.23e+01 1.24e+01 1.22 3.23 + 175 1 2112 167 -3.22e-01 -3.96e-01 1.22e+01 1.23e+01 0.94 3.87 + 176 1 211 167 -2.60e-01 -2.60e-02 2.18e+01 2.18e+01 0.14 5.12 + 177 2 -3222 167 -1.34e+00 1.02e+00 7.07e+01 7.07e+01 1.19 4.43 + 178 2 -323 167 6.53e-01 4.58e-01 4.37e+01 4.37e+01 0.948 4.7 + 179 2 113 167 -1.21e+00 -6.53e-01 8.28e+01 8.28e+01 0.446 4.79 + 180 2 213 167 2.02e-01 1.59e-01 2.29e+01 2.30e+01 1.07 5.18 + 181 1 -211 167 -5.12e-01 -4.23e-01 9.66e+00 9.68e+00 0.14 3.37 + 182 1 22 55 1.86e-01 -2.20e-01 -1.21e+00 1.24e+00 0 -2.14 + 183 2 111 55 2.53e-01 5.88e-01 -1.61e+00 1.74e+00 0.135 -1.65 + 184 1 2212 56 -1.82e-01 5.74e-01 -9.91e-01 1.49e+00 0.938 -1.27 + 185 2 111 56 1.91e-01 3.43e-01 -5.42e-01 6.82e-01 0.135 -1.13 + 186 1 -2212 57 3.15e-01 2.11e-01 -1.07e+00 1.47e+00 0.938 -1.76 + 187 2 111 57 -1.27e-01 -8.93e-03 -1.34e-01 2.29e-01 0.135 -0.916 + 188 1 211 59 7.98e-01 -3.21e-01 1.55e+00 1.78e+00 0.14 1.35 + 189 2 111 59 -2.49e-01 -1.29e-01 2.93e-01 4.27e-01 0.135 0.914 + 190 1 321 60 -1.51e-01 -4.28e-01 1.39e+00 1.54e+00 0.494 1.84 + 191 1 -211 60 7.26e-02 1.31e-01 1.48e-01 2.53e-01 0.14 0.87 + 192 1 -321 61 -7.31e-02 -3.29e-02 1.01e+00 1.13e+00 0.494 3.23 + 193 1 211 61 -2.08e-01 -3.77e-01 3.52e-01 5.74e-01 0.14 0.746 + 194 1 22 62 2.72e-01 2.10e-01 7.68e-01 8.42e-01 0 1.54 + 195 1 22 62 2.51e-01 1.05e-01 8.89e-01 9.30e-01 0 1.9 + 196 1 211 63 4.81e-02 -3.37e-02 -1.49e-01 2.12e-01 0.14 -1.66 + 197 1 -211 63 3.78e-01 -2.81e-02 -4.90e-01 6.35e-01 0.14 -1.08 + 198 2 111 63 -5.01e-03 8.27e-03 1.20e-01 1.81e-01 0.135 3.21 + 199 2 311 64 -8.46e-01 9.97e-03 -5.24e-01 1.11e+00 0.498 -0.586 + 200 2 111 64 -1.71e-01 2.93e-01 5.35e-02 3.69e-01 0.135 0.157 + 201 2 310 65 -5.94e-01 4.52e-02 -9.62e-01 1.24e+00 0.498 -1.26 + 202 1 -211 68 5.76e-02 -1.11e-01 -3.45e-01 3.92e-01 0.14 -1.74 + 203 2 111 68 -5.80e-01 1.91e-01 -5.13e-01 8.09e-01 0.135 -0.764 + 204 1 211 69 -2.95e-01 -2.28e-01 -7.61e-01 8.59e-01 0.14 -1.46 + 205 1 -211 69 -3.15e-01 -1.67e-01 -1.36e+00 1.41e+00 0.14 -2.05 + 206 2 111 69 -3.46e-01 2.16e-01 -9.45e-01 1.04e+00 0.135 -1.58 + 207 1 22 71 -2.73e-01 -1.17e-01 -6.83e-01 7.45e-01 0 -1.57 + 208 1 22 71 -5.21e-01 -1.03e+00 -5.14e+00 5.27e+00 0 -2.2 + 209 2 311 73 -1.71e-01 -2.66e-01 -5.17e+00 5.20e+00 0.498 -3.49 + 210 1 211 73 -2.06e-01 2.13e-01 -4.17e+00 4.18e+00 0.14 -3.34 + 211 1 -321 74 5.02e-01 -1.08e-01 -1.72e+01 1.72e+01 0.494 -4.21 + 212 2 111 74 -3.12e-02 9.23e-02 -1.51e+01 1.51e+01 0.135 -5.73 + 213 1 211 79 9.13e-02 -4.69e-02 -3.31e+02 3.31e+02 0.14 -8.77 + 214 1 -211 79 -4.39e-01 -8.59e-02 -2.55e+02 2.55e+02 0.14 -7.04 + 215 1 -211 80 -1.20e-02 1.54e-01 -3.74e+01 3.74e+01 0.14 -6.18 + 216 1 211 80 7.55e-02 -1.10e-01 -1.57e+01 1.57e+01 0.14 -5.46 + 217 2 111 80 2.48e-01 5.07e-02 -1.08e+02 1.08e+02 0.135 -6.75 + 218 1 22 81 -2.03e-01 -1.04e-01 -5.71e+02 5.71e+02 0 -8.52 + 219 1 22 81 -1.04e-01 -1.58e-01 -3.18e+02 3.18e+02 0 -8.12 + 220 1 2212 82 1.97e-01 -2.95e-01 -2.92e+03 2.92e+03 0.938 -9.71 + 221 2 111 82 2.78e-01 -4.62e-02 -1.56e+03 1.56e+03 0.135 -9.31 + 222 1 130 84 2.59e-01 6.89e+00 1.84e+01 1.97e+01 0.498 1.71 + 223 1 -2212 85 6.41e-01 6.66e+00 1.67e+01 1.80e+01 0.938 1.64 + 224 2 111 85 -4.24e-02 3.76e-01 7.07e-01 8.13e-01 0.135 1.38 + 225 1 211 87 7.16e-02 -4.53e-02 1.58e+00 1.59e+00 0.14 3.62 + 226 2 111 87 -2.48e-01 5.95e-01 1.56e+00 1.69e+00 0.135 1.61 + 227 1 -211 88 8.32e-01 2.46e+00 1.01e+01 1.05e+01 0.14 2.07 + 228 2 111 88 1.04e-01 6.66e-01 2.15e+00 2.26e+00 0.135 1.88 + 229 1 211 89 1.50e-02 -2.37e-01 1.44e+00 1.46e+00 0.14 2.5 + 230 1 -211 89 2.25e-01 -2.37e-02 5.61e-01 6.21e-01 0.14 1.64 + 231 2 111 89 -2.15e-02 -2.64e-01 3.99e-01 4.97e-01 0.135 1.2 + 232 1 211 90 2.39e-01 -1.17e-01 3.64e+00 3.65e+00 0.14 3.31 + 233 2 111 90 3.73e-01 -5.12e-02 9.22e-01 1.00e+00 0.135 1.63 + 234 2 111 91 2.57e-01 -7.37e-02 3.87e-01 4.89e-01 0.135 1.17 + 235 2 111 91 1.69e-01 1.34e-01 2.27e-01 3.40e-01 0.135 0.919 + 236 2 111 91 1.17e-01 1.80e-02 4.64e-01 4.98e-01 0.135 2.07 + 237 1 211 93 4.06e-01 -1.11e+00 8.31e+00 8.39e+00 0.14 2.65 + 238 2 111 93 1.44e-01 5.32e-02 1.17e+00 1.19e+00 0.135 2.73 + 239 2 311 95 2.52e-01 -3.22e-02 4.01e+00 4.05e+00 0.498 3.45 + 240 2 111 95 8.10e-02 -1.50e-01 3.41e+00 3.41e+00 0.135 3.69 + 241 1 -2112 96 -2.66e-01 -4.14e-02 1.39e+01 1.39e+01 0.94 4.64 + 242 1 211 96 -2.41e-01 8.07e-03 9.37e+00 9.37e+00 0.14 4.35 + 243 1 2212 98 -6.43e-01 -9.63e-01 2.72e+01 2.72e+01 0.938 3.85 + 244 1 -211 98 -1.05e-02 -1.07e-01 2.19e+00 2.19e+00 0.14 3.71 + 245 1 211 101 -1.07e+00 -8.23e-01 2.16e+01 2.16e+01 0.14 3.47 + 246 1 -211 101 -4.91e-01 -3.00e-02 7.27e+00 7.28e+00 0.14 3.39 + 247 2 111 101 -7.84e-01 -2.98e-01 1.55e+01 1.55e+01 0.135 3.61 + 248 1 -211 102 -1.22e+00 -9.34e-01 2.09e+01 2.10e+01 0.14 3.31 + 249 1 211 102 -1.01e+00 -1.14e+00 1.68e+01 1.69e+01 0.14 3.09 + 250 2 111 102 -9.62e-01 -8.25e-01 1.94e+01 1.95e+01 0.135 3.42 + 251 1 22 103 -5.41e-01 -1.77e-01 8.95e+00 8.97e+00 0 3.45 + 252 1 22 103 -4.01e-01 -8.26e-02 4.99e+00 5.01e+00 0 3.19 + 253 1 -13 104 -2.66e+00 -1.62e+00 3.61e+01 3.63e+01 0.106 3.15 + 254 1 14 104 -1.76e+00 -6.11e-01 2.38e+01 2.38e+01 0 3.24 + 255 2 -323 104 -7.39e+00 -4.91e+00 1.12e+02 1.12e+02 0.837 3.23 + 256 1 211 104 -8.30e-01 -5.01e-01 1.39e+01 1.40e+01 0.14 3.36 + 257 1 -211 107 1.39e-01 2.65e-01 1.20e+02 1.20e+02 0.14 6.69 + 258 1 211 107 -1.80e-01 3.72e-02 6.07e+01 6.07e+01 0.14 6.49 + 259 2 111 107 -2.18e-01 -3.38e-02 1.59e+02 1.59e+02 0.135 7.27 + 260 1 -211 108 -3.18e-01 3.04e-01 3.64e+02 3.64e+02 0.14 7.41 + 261 2 111 108 2.34e-01 -2.08e-01 6.30e+01 6.30e+01 0.135 6 + 262 1 211 109 -3.28e-01 -2.05e-01 6.35e+01 6.35e+01 0.14 5.79 + 263 1 -211 109 -1.77e-02 5.43e-01 7.72e+01 7.72e+01 0.14 5.65 + 264 1 211 110 2.33e-01 2.59e-01 1.10e+02 1.10e+02 0.14 6.44 + 265 2 111 110 1.38e-02 -1.30e-01 1.18e+01 1.18e+01 0.135 5.2 + 266 1 -211 111 4.55e-01 2.28e-01 5.93e+00 5.96e+00 0.14 3.15 + 267 2 111 111 2.63e-01 -2.04e-01 1.23e+01 1.23e+01 0.135 4.3 + 268 1 22 113 -4.67e-02 -1.79e-02 2.27e-01 2.33e-01 0 2.22 + 269 1 22 113 8.32e-02 -1.08e-01 8.55e-01 8.65e-01 0 2.53 + 270 2 -311 114 7.45e-01 8.65e-01 1.75e+01 1.76e+01 0.498 3.42 + 271 1 -211 114 1.17e-01 3.33e-01 1.31e+01 1.31e+01 0.14 4.31 + 272 1 -211 116 1.48e+00 5.93e-01 1.86e+01 1.87e+01 0.14 3.15 + 273 1 211 116 2.54e-01 5.15e-03 1.35e+00 1.38e+00 0.14 2.38 + 274 1 22 117 1.64e-01 1.18e+00 2.56e+01 2.56e+01 0 3.76 + 275 1 22 117 1.41e-01 6.49e-01 1.63e+01 1.63e+01 0 3.89 + 276 2 -311 120 -4.76e-01 -8.43e-02 2.73e+01 2.74e+01 0.498 4.73 + 277 1 -211 120 -2.59e-01 3.52e-01 3.28e+01 3.28e+01 0.14 5.01 + 278 2 310 121 -6.95e-01 3.26e-01 7.29e+01 7.29e+01 0.498 5.25 + 279 1 -211 122 -3.59e-01 -1.68e-01 5.29e+01 5.29e+01 0.14 5.59 + 280 1 211 122 -1.70e-01 4.82e-01 2.02e+01 2.02e+01 0.14 4.37 + 281 1 -321 124 3.41e-01 1.10e-01 1.56e+02 1.56e+02 0.494 6.77 + 282 2 111 124 -3.26e-02 3.19e-01 3.79e+01 3.79e+01 0.135 5.46 + 283 1 321 125 4.99e-01 5.03e-01 1.89e+01 1.90e+01 0.494 3.98 + 284 2 111 125 1.24e-01 1.54e-01 1.61e+00 1.63e+00 0.135 2.79 + 285 1 -211 126 1.79e-01 1.15e-01 3.51e+00 3.52e+00 0.14 3.5 + 286 2 111 126 6.45e-01 4.20e-01 3.41e+01 3.41e+01 0.135 4.48 + 287 1 211 127 1.52e-01 -2.71e-01 5.53e+00 5.54e+00 0.14 3.57 + 288 2 111 127 8.28e-01 3.59e-01 2.90e+01 2.90e+01 0.135 4.16 + 289 1 -211 129 2.22e-02 5.98e-01 7.49e+00 7.51e+00 0.14 3.22 + 290 1 211 129 -2.07e-01 5.68e-03 5.61e+00 5.62e+00 0.14 3.99 + 291 1 -2112 130 8.71e-01 2.93e-01 1.51e+01 1.52e+01 0.94 3.49 + 292 1 211 130 5.35e-01 1.84e-01 5.33e+00 5.36e+00 0.14 2.94 + 293 1 2212 131 4.23e-01 2.98e-01 8.79e+00 8.85e+00 0.938 3.53 + 294 1 -211 131 1.15e-01 1.10e-01 2.82e+00 2.83e+00 0.14 3.57 + 295 1 211 132 1.84e-01 -7.50e-01 1.00e+01 1.01e+01 0.14 3.26 + 296 1 -211 132 -1.81e-01 -1.32e-01 3.67e+00 3.68e+00 0.14 3.49 + 297 1 -211 133 -9.23e-02 1.32e-02 1.69e+00 1.70e+00 0.14 3.59 + 298 1 211 133 9.04e-02 1.96e-01 2.56e+00 2.57e+00 0.14 3.17 + 299 2 111 133 -7.35e-02 -2.80e-02 1.44e+00 1.45e+00 0.135 3.6 + 300 1 -321 134 -1.67e-01 1.34e-01 3.65e+00 3.69e+00 0.494 3.53 + 301 2 111 134 2.01e-01 1.58e-01 5.76e+00 5.77e+00 0.135 3.81 + 302 2 310 135 3.14e-01 -1.65e+00 1.70e+01 1.71e+01 0.498 3.01 + 303 1 22 136 -1.78e-01 -1.33e-02 5.50e-01 5.78e-01 0 1.84 + 304 1 22 136 -2.32e-01 6.20e-02 1.31e+00 1.33e+00 0 2.4 + 305 1 22 138 -4.81e-01 -1.05e+00 7.76e+00 7.84e+00 0 2.61 + 306 2 113 138 -1.67e-01 -8.16e-01 7.99e+00 8.05e+00 0.615 2.96 + 307 1 211 139 -1.82e-01 -2.85e-01 3.01e+00 3.04e+00 0.14 2.88 + 308 1 -211 139 3.52e-01 -2.34e-01 3.18e+00 3.21e+00 0.14 2.71 + 309 2 111 139 9.05e-02 -2.37e-01 3.27e+00 3.29e+00 0.135 3.25 + 310 1 -211 140 2.79e-01 2.86e-01 3.45e+00 3.48e+00 0.14 2.85 + 311 2 111 140 -9.42e-02 -3.00e-01 1.53e+00 1.57e+00 0.135 2.28 + 312 1 211 141 -2.46e-01 -1.38e-01 4.72e-01 5.67e-01 0.14 1.29 + 313 1 -211 141 7.94e-02 -1.55e-01 9.74e-02 2.43e-01 0.14 0.535 + 314 2 111 141 1.90e-01 4.50e-02 1.49e-01 2.80e-01 0.135 0.706 + 315 1 211 143 5.77e-01 -3.95e-01 -1.11e+00 1.32e+00 0.14 -1.24 + 316 1 -211 143 -1.94e-01 -1.14e-02 -1.16e+00 1.19e+00 0.14 -2.49 + 317 1 -211 144 -2.90e-01 1.20e-01 -2.01e+00 2.04e+00 0.14 -2.55 + 318 2 111 144 2.72e-01 -1.64e-01 -5.71e+00 5.72e+00 0.135 -3.58 + 319 1 211 147 2.62e-01 1.20e-01 -1.48e+01 1.48e+01 0.14 -4.63 + 320 1 -211 147 -2.61e-01 2.35e-01 -1.15e+01 1.15e+01 0.14 -4.18 + 321 2 111 147 -1.79e-02 1.53e-01 -4.65e+00 4.66e+00 0.135 -4.1 + 322 1 -211 148 1.12e-01 1.11e+00 -4.62e+01 4.62e+01 0.14 -4.41 + 323 2 111 148 -1.78e-01 1.10e-02 -2.03e+01 2.03e+01 0.135 -5.43 + 324 1 211 149 -1.89e-01 9.91e-02 -1.27e+01 1.27e+01 0.14 -4.78 + 325 2 111 149 -2.30e-01 -3.45e-01 -3.23e+01 3.23e+01 0.135 -5.05 + 326 1 -211 151 -1.02e+00 1.54e+00 -1.06e-01 1.86e+00 0.14 -0.0572 + 327 2 111 151 1.04e-01 4.38e-01 2.06e-01 5.13e-01 0.135 0.443 + 328 1 22 152 6.53e-03 -1.30e-01 -9.64e-02 1.62e-01 0 -0.684 + 329 1 -211 152 -1.24e-01 -5.90e-01 -1.24e+00 1.39e+00 0.14 -1.47 + 330 1 211 152 2.94e-03 -7.27e-02 -1.04e-01 1.89e-01 0.14 -1.15 + 331 1 211 153 -2.32e-01 -3.60e-01 6.47e-02 4.55e-01 0.14 0.151 + 332 2 111 153 -4.89e-01 -1.04e+00 -1.51e+00 1.90e+00 0.135 -1.08 + 333 1 130 154 -4.24e-01 -1.13e+00 -4.25e-01 1.37e+00 0.498 -0.345 + 334 2 -311 155 5.45e-01 -2.19e+00 -4.15e+00 4.75e+00 0.498 -1.37 + 335 1 -211 155 1.42e-01 -1.27e+00 -1.53e+00 2.00e+00 0.14 -1.02 + 336 1 211 159 -1.22e-01 -3.15e+00 -1.02e+01 1.07e+01 0.14 -1.89 + 337 1 -211 159 -5.90e-02 -1.16e-02 -1.06e+00 1.07e+00 0.14 -3.56 + 338 1 22 161 1.50e-02 -1.99e-01 -3.33e-01 3.89e-01 0 -1.28 + 339 1 22 161 6.52e-02 -1.48e-01 -5.53e-01 5.76e-01 0 -1.94 + 340 1 211 165 8.59e-02 -1.62e-01 5.61e-02 2.37e-01 0.14 0.302 + 341 2 111 165 -9.67e-01 -6.54e-02 -3.58e-01 1.04e+00 0.135 -0.362 + 342 1 211 166 -3.39e-01 8.24e-01 -1.32e-01 9.12e-01 0.14 -0.148 + 343 1 -211 166 2.83e-01 1.15e+00 3.33e-01 1.24e+00 0.14 0.279 + 344 1 211 168 1.04e-01 -1.62e-01 4.07e+00 4.08e+00 0.14 3.75 + 345 2 111 168 2.26e-01 7.32e-01 7.54e+00 7.58e+00 0.135 2.98 + 346 1 130 169 -3.95e-01 -2.89e-01 8.42e+00 8.45e+00 0.498 3.54 + 347 2 -311 170 5.01e-01 -1.67e-01 6.25e+00 6.29e+00 0.498 3.17 + 348 1 -211 170 2.04e-02 2.65e-01 2.15e+00 2.17e+00 0.14 2.79 + 349 1 -211 171 3.66e-01 -4.30e-01 4.25e+00 4.29e+00 0.14 2.72 + 350 1 211 171 1.98e-02 1.54e-01 4.78e-01 5.22e-01 0.14 1.84 + 351 1 211 172 1.59e-01 -1.91e-01 1.22e+00 1.25e+00 0.14 2.29 + 352 2 111 172 4.44e-01 -1.16e-01 2.40e-01 5.35e-01 0.135 0.502 + 353 1 2112 173 2.45e-01 -3.69e-02 2.29e+00 2.49e+00 0.94 2.92 + 354 1 -211 173 1.22e-01 1.66e-01 8.23e-01 8.60e-01 0.14 2.09 + 355 1 -2112 174 1.03e+00 -1.27e-01 1.10e+01 1.11e+01 0.94 3.06 + 356 1 211 174 -5.68e-02 6.31e-02 1.23e+00 1.24e+00 0.14 3.36 + 357 1 -2112 177 -1.14e+00 9.79e-01 5.61e+01 5.61e+01 0.94 4.31 + 358 1 -211 177 -2.04e-01 4.09e-02 1.46e+01 1.46e+01 0.14 4.94 + 359 2 -311 178 4.73e-01 2.00e-01 3.82e+01 3.83e+01 0.498 5 + 360 1 -211 178 1.80e-01 2.59e-01 5.46e+00 5.47e+00 0.14 3.55 + 361 1 -211 179 -3.21e-01 -3.53e-01 2.81e+01 2.81e+01 0.14 4.77 + 362 1 211 179 -8.84e-01 -2.99e-01 5.47e+01 5.47e+01 0.14 4.76 + 363 1 211 180 9.34e-02 -3.77e-01 1.53e+01 1.53e+01 0.14 4.37 + 364 2 111 180 1.09e-01 5.36e-01 7.65e+00 7.67e+00 0.135 3.33 + 365 1 22 183 2.12e-01 4.81e-01 -1.44e+00 1.53e+00 0 -1.73 + 366 1 22 183 4.10e-02 1.07e-01 -1.71e-01 2.06e-01 0 -1.19 + 367 1 22 185 6.06e-02 3.00e-02 -4.56e-02 8.16e-02 0 -0.632 + 368 1 22 185 1.30e-01 3.13e-01 -4.96e-01 6.01e-01 0 -1.17 + 369 1 22 187 2.77e-02 1.03e-02 -2.01e-02 3.57e-02 0 -0.637 + 370 1 22 187 -1.55e-01 -1.92e-02 -1.14e-01 1.93e-01 0 -0.676 + 371 1 22 189 -1.81e-01 -2.11e-02 1.53e-01 2.38e-01 0 0.761 + 372 1 22 189 -6.73e-02 -1.07e-01 1.40e-01 1.89e-01 0 0.955 + 373 1 22 198 1.34e-03 7.12e-02 5.32e-02 8.89e-02 0 0.691 + 374 1 22 198 -6.35e-03 -6.29e-02 6.66e-02 9.19e-02 0 0.919 + 375 1 130 199 -8.46e-01 9.97e-03 -5.24e-01 1.11e+00 0.498 -0.586 + 376 1 22 200 -6.95e-02 5.87e-02 6.75e-02 1.13e-01 0 0.686 + 377 1 22 200 -1.01e-01 2.34e-01 -1.40e-02 2.56e-01 0 -0.0549 + 378 1 -211 201 -4.66e-01 -1.16e-01 -7.85e-01 9.31e-01 0.14 -1.27 + 379 1 211 201 -1.27e-01 1.61e-01 -1.77e-01 3.05e-01 0.14 -0.779 + 380 1 22 203 -1.12e-01 1.95e-02 -3.66e-02 1.19e-01 0 -0.318 + 381 1 22 203 -4.68e-01 1.71e-01 -4.77e-01 6.89e-01 0 -0.85 + 382 1 22 206 -1.57e-02 5.92e-02 -1.81e-01 1.91e-01 0 -1.81 + 383 1 22 206 -3.30e-01 1.57e-01 -7.64e-01 8.47e-01 0 -1.48 + 384 1 130 209 -1.71e-01 -2.66e-01 -5.17e+00 5.20e+00 0.498 -3.49 + 385 1 22 212 -4.69e-02 2.85e-02 -2.00e+00 2.00e+00 0 -4.29 + 386 1 22 212 1.57e-02 6.39e-02 -1.31e+01 1.31e+01 0 -5.98 + 387 1 22 217 2.37e-01 7.36e-02 -8.39e+01 8.39e+01 0 -6.51 + 388 1 22 217 1.03e-02 -2.30e-02 -2.37e+01 2.37e+01 0 -7.54 + 389 1 22 221 4.24e-02 -5.34e-02 -5.27e+02 5.27e+02 0 -9.65 + 390 1 22 221 2.36e-01 7.19e-03 -1.03e+03 1.03e+03 0 -9.08 + 391 1 22 224 -8.51e-02 2.75e-01 5.60e-01 6.30e-01 0 1.42 + 392 1 22 224 4.27e-02 1.02e-01 1.47e-01 1.84e-01 0 1.1 + 393 1 22 226 -2.22e-01 5.35e-01 1.26e+00 1.39e+00 0 1.52 + 394 1 22 226 -2.62e-02 6.09e-02 2.95e-01 3.02e-01 0 2.2 + 395 1 22 228 -4.01e-03 1.55e-01 6.73e-01 6.90e-01 0 2.17 + 396 1 22 228 1.08e-01 5.11e-01 1.48e+00 1.57e+00 0 1.76 + 397 1 22 231 -3.42e-02 -7.73e-02 2.32e-01 2.47e-01 0 1.73 + 398 1 22 231 1.27e-02 -1.86e-01 1.67e-01 2.51e-01 0 0.805 + 399 1 22 233 2.80e-01 -1.69e-03 5.35e-01 6.04e-01 0 1.4 + 400 1 22 233 9.24e-02 -4.95e-02 3.86e-01 4.00e-01 0 2.02 + 401 1 22 234 1.57e-02 1.97e-04 1.24e-01 1.25e-01 0 2.76 + 402 1 22 234 2.41e-01 -7.39e-02 2.63e-01 3.65e-01 0 0.913 + 403 1 22 235 -4.84e-03 6.82e-02 6.76e-02 9.61e-02 0 0.873 + 404 1 22 235 1.73e-01 6.55e-02 1.59e-01 2.44e-01 0 0.777 + 405 1 22 236 7.52e-02 1.64e-02 4.45e-01 4.51e-01 0 2.45 + 406 1 22 236 4.22e-02 1.58e-03 1.95e-02 4.65e-02 0 0.447 + 407 1 22 238 7.08e-02 5.87e-02 2.81e-01 2.96e-01 0 1.84 + 408 1 22 238 7.34e-02 -5.49e-03 8.93e-01 8.96e-01 0 3.19 + 409 1 130 239 2.52e-01 -3.22e-02 4.01e+00 4.05e+00 0.498 3.45 + 410 1 22 240 2.26e-02 1.58e-02 1.76e-01 1.78e-01 0 2.55 + 411 1 22 240 5.84e-02 -1.66e-01 3.23e+00 3.23e+00 0 3.6 + 412 1 22 247 -6.41e-01 -2.96e-01 1.27e+01 1.27e+01 0 3.58 + 413 1 22 247 -1.44e-01 -1.83e-03 2.79e+00 2.79e+00 0 3.66 + 414 1 22 250 -1.90e-01 -2.36e-01 4.42e+00 4.43e+00 0 3.37 + 415 1 22 250 -7.72e-01 -5.89e-01 1.50e+01 1.50e+01 0 3.43 + 416 2 -311 255 -5.75e+00 -4.03e+00 9.04e+01 9.07e+01 0.498 3.25 + 417 1 -211 255 -1.63e+00 -8.85e-01 2.17e+01 2.18e+01 0.14 3.15 + 418 1 22 259 -7.26e-02 3.72e-02 8.18e+01 8.18e+01 0 7.6 + 419 1 22 259 -1.45e-01 -7.10e-02 7.70e+01 7.70e+01 0 6.86 + 420 1 22 261 7.52e-02 -1.46e-01 3.70e+01 3.70e+01 0 6.11 + 421 1 22 261 1.59e-01 -6.23e-02 2.60e+01 2.60e+01 0 5.72 + 422 1 22 265 5.30e-02 -1.04e-01 1.05e+01 1.05e+01 0 5.19 + 423 1 22 265 -3.92e-02 -2.58e-02 1.30e+00 1.30e+00 0 4.02 + 424 1 22 267 1.46e-01 -1.26e-01 4.71e+00 4.72e+00 0 3.89 + 425 1 22 267 1.17e-01 -7.78e-02 7.57e+00 7.57e+00 0 4.68 + 426 1 130 270 7.45e-01 8.65e-01 1.75e+01 1.76e+01 0.498 3.42 + 427 2 310 276 -4.76e-01 -8.43e-02 2.73e+01 2.74e+01 0.498 4.73 + 428 1 -211 278 -4.89e-01 3.54e-01 4.01e+01 4.01e+01 0.14 4.89 + 429 1 211 278 -2.06e-01 -2.80e-02 3.28e+01 3.28e+01 0.14 5.75 + 430 1 22 282 5.31e-02 1.24e-01 1.45e+01 1.45e+01 0 5.37 + 431 1 22 282 -8.57e-02 1.96e-01 2.34e+01 2.34e+01 0 5.39 + 432 1 22 284 -5.31e-03 6.23e-02 7.92e-01 7.95e-01 0 3.23 + 433 1 22 284 1.29e-01 9.20e-02 8.15e-01 8.30e-01 0 2.34 + 434 1 22 286 4.74e-01 2.66e-01 2.60e+01 2.60e+01 0 4.56 + 435 1 22 286 1.71e-01 1.54e-01 8.07e+00 8.07e+00 0 4.25 + 436 1 22 288 1.14e-01 6.49e-03 4.34e+00 4.35e+00 0 4.33 + 437 1 22 288 7.14e-01 3.52e-01 2.47e+01 2.47e+01 0 4.13 + 438 1 22 299 -1.07e-01 -3.03e-02 8.22e-01 8.30e-01 0 2.7 + 439 1 22 299 3.38e-02 2.24e-03 6.17e-01 6.18e-01 0 3.6 + 440 1 22 301 1.81e-02 2.96e-02 2.18e+00 2.18e+00 0 4.83 + 441 1 22 301 1.83e-01 1.29e-01 3.58e+00 3.59e+00 0 3.47 + 442 1 -211 302 1.72e-01 -6.23e-01 4.82e+00 4.86e+00 0.14 2.71 + 443 1 211 302 1.42e-01 -1.03e+00 1.22e+01 1.22e+01 0.14 3.16 + 444 1 211 306 -1.88e-01 -5.71e-01 7.00e+00 7.03e+00 0.14 3.15 + 445 1 -211 306 2.18e-02 -2.45e-01 9.87e-01 1.03e+00 0.14 2.1 + 446 1 22 309 4.19e-02 -2.35e-01 2.81e+00 2.82e+00 0 3.16 + 447 1 22 309 4.86e-02 -2.97e-03 4.66e-01 4.69e-01 0 2.96 + 448 1 22 311 -2.82e-03 -2.16e-01 1.05e+00 1.07e+00 0 2.29 + 449 1 22 311 -9.14e-02 -8.42e-02 4.77e-01 4.93e-01 0 2.05 + 450 1 22 314 2.09e-01 4.32e-02 1.20e-01 2.45e-01 0 0.537 + 451 1 22 314 -1.95e-02 1.78e-03 2.91e-02 3.51e-02 0 1.18 + 452 1 22 318 1.95e-01 -1.05e-01 -4.83e+00 4.83e+00 0 -3.78 + 453 1 22 318 7.70e-02 -5.94e-02 -8.79e-01 8.85e-01 0 -2.9 + 454 1 22 321 -7.16e-02 5.21e-02 -1.72e+00 1.72e+00 0 -3.66 + 455 1 22 321 5.37e-02 1.01e-01 -2.94e+00 2.94e+00 0 -3.94 + 456 1 22 323 -6.46e-02 -3.23e-02 -3.26e+00 3.26e+00 0 -4.5 + 457 1 22 323 -1.14e-01 4.32e-02 -1.70e+01 1.70e+01 0 -5.63 + 458 1 22 325 -1.74e-01 -1.74e-01 -1.52e+01 1.52e+01 0 -4.81 + 459 1 22 325 -5.56e-02 -1.70e-01 -1.72e+01 1.72e+01 0 -5.25 + 460 1 22 327 5.40e-02 7.92e-02 -1.10e-03 9.58e-02 0 -0.0115 + 461 1 22 327 5.00e-02 3.59e-01 2.07e-01 4.18e-01 0 0.544 + 462 1 22 332 -3.17e-01 -5.82e-01 -7.77e-01 1.02e+00 0 -0.998 + 463 1 22 332 -1.72e-01 -4.62e-01 -7.31e-01 8.82e-01 0 -1.19 + 464 2 310 334 5.45e-01 -2.19e+00 -4.15e+00 4.75e+00 0.498 -1.37 + 465 1 22 341 -8.33e-01 -4.86e-02 -3.56e-01 9.07e-01 0 -0.414 + 466 1 22 341 -1.33e-01 -1.68e-02 -2.52e-03 1.34e-01 0 -0.0188 + 467 1 22 345 9.45e-02 1.29e-01 1.71e+00 1.72e+00 0 3.06 + 468 1 22 345 1.32e-01 6.02e-01 5.83e+00 5.86e+00 0 2.94 + 469 1 130 347 5.01e-01 -1.67e-01 6.25e+00 6.29e+00 0.498 3.17 + 470 1 22 352 2.57e-01 -1.71e-02 7.96e-02 2.70e-01 0 0.304 + 471 1 22 352 1.87e-01 -9.90e-02 1.61e-01 2.65e-01 0 0.701 + 472 2 310 359 4.73e-01 2.00e-01 3.82e+01 3.83e+01 0.498 5 + 473 1 22 364 5.69e-02 7.93e-02 9.62e-01 9.67e-01 0 2.98 + 474 1 22 364 5.20e-02 4.57e-01 6.69e+00 6.71e+00 0 3.37 + 475 1 130 416 -5.75e+00 -4.03e+00 9.04e+01 9.07e+01 0.498 3.25 + 476 1 -211 427 -3.84e-01 1.04e-01 1.37e+01 1.37e+01 0.14 4.23 + 477 1 211 427 -9.18e-02 -1.88e-01 1.36e+01 1.36e+01 0.14 4.87 + 478 1 211 464 4.39e-01 -1.92e+00 -3.36e+00 3.89e+00 0.14 -1.3 + 479 1 -211 464 1.06e-01 -2.74e-01 -7.97e-01 8.61e-01 0.14 -1.72 + 480 1 211 472 -1.68e-02 1.30e-02 4.22e+00 4.22e+00 0.14 5.99 + 481 1 -211 472 4.90e-01 1.87e-01 3.40e+01 3.40e+01 0.14 4.87 +7 Event +399 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 2 1 9.56e-02 7.94e-02 2.43e+02 2.43e+02 0 8.27 + 4 3 21 2 -3.18e-03 5.06e-01 -2.57e+01 2.57e+01 0 -4.62 + 5 3 2 3 -2.13e-01 8.39e-01 2.30e+02 2.30e+02 0 6.28 + 6 3 -3 4 -1.98e+00 8.38e-01 -1.16e+01 1.18e+01 0 -2.39 + 7 3 22 5 1.40e+00 -8.24e-02 8.34e+01 8.34e+01 0 4.78 + 8 3 24 5 -3.60e+00 1.76e+00 1.35e+02 1.58e+02 82.7 4.21 + 9 1 22 7 1.40e+00 -8.24e-02 8.34e+01 8.34e+01 0 4.78 + 10 2 24 8 -3.60e+00 1.76e+00 1.35e+02 1.58e+02 82.7 4.21 + 11 2 3 4 -2.86e-01 -1.48e+00 -1.08e+01 1.09e+01 0.5 -2.67 + 12 2 2101 2 3.87e-01 -2.04e-01 -5.11e+03 5.11e+03 0.579 -10.1 + 13 2 2 10 -4.94e+00 1.43e+00 5.93e+01 5.95e+01 0.33 3.14 + 14 2 21 10 -6.66e+00 2.46e+00 7.04e+01 7.08e+01 0 2.99 + 15 2 21 10 -1.14e+00 -8.44e-01 1.52e+00 2.08e+00 0 0.933 + 16 2 21 10 -7.02e+00 -9.61e-01 5.94e+00 9.25e+00 0 0.762 + 17 2 21 10 1.92e+00 -1.00e+00 2.04e-01 2.18e+00 0 0.0939 + 18 2 21 10 6.52e+00 1.46e+00 -1.42e+00 6.83e+00 0 -0.211 + 19 2 -3 10 7.72e+00 -7.89e-01 -8.92e-01 7.82e+00 0.5 -0.115 + 20 2 3 0 2.95e+00 -4.25e+00 -4.19e+01 4.22e+01 0 -2.79 + 21 2 -3 0 -2.95e+00 4.25e+00 -1.44e+02 1.44e+02 0 -4.02 + 22 2 3 0 -2.38e+00 -2.49e+00 -4.33e+00 5.53e+00 0 -1.05 + 23 2 -3 0 2.38e+00 2.49e+00 -9.67e+02 9.67e+02 0 -6.33 + 24 2 2101 1 -9.56e-02 -7.94e-02 6.50e+03 6.50e+03 0.579 11.6 + 25 2 21 3 -3.65e-03 -1.44e+00 8.17e+00 8.29e+00 0 2.43 + 26 2 21 3 2.96e-01 6.87e-01 4.04e+00 4.10e+00 0 2.39 + 27 2 21 0 -3.28e+00 8.80e-01 2.48e+02 2.48e+02 0 4.98 + 28 2 21 0 3.28e+00 -8.80e-01 5.60e+00 6.55e+00 0 1.27 + 29 2 21 0 -3.77e+00 9.06e-01 -3.32e+00 5.11e+00 0 -0.776 + 30 2 21 0 3.77e+00 -9.06e-01 -1.22e+01 1.28e+01 0 -1.86 + 31 2 21 4 1.22e+00 -4.76e-02 -9.72e-01 1.56e+00 0 -0.731 + 32 2 21 4 1.06e+00 1.19e+00 -1.45e+00 2.15e+00 0 -0.815 + 33 2 2 2 -3.84e-01 -3.01e-01 -1.41e+02 1.41e+02 0.33 -6.36 + 34 2 21 0 -1.78e+00 -2.52e+00 -1.60e+02 1.60e+02 0 -4.64 + 35 2 21 0 1.78e+00 2.52e+00 -3.90e+00 4.98e+00 0 -1.06 + 36 2 21 0 -7.98e-01 2.83e+00 -4.95e+01 4.96e+01 0 -3.52 + 37 2 21 0 7.98e-01 -2.83e+00 -3.39e+02 3.39e+02 0 -5.44 + 38 2 92 11 1.01e-01 -1.68e+00 -5.12e+03 5.12e+03 34.4 -8.71 + 39 2 -313 38 -2.10e-01 -5.84e-01 -1.19e+01 1.19e+01 0.934 -3.64 + 40 2 113 38 -2.63e-01 -5.65e-01 -1.20e+01 1.20e+01 0.588 -3.65 + 41 1 -211 38 2.12e-02 1.20e-01 -3.89e+01 3.89e+01 0.14 -6.46 + 42 2 2114 38 -3.09e-01 -4.58e-01 -6.04e+01 6.05e+01 1.27 -5.39 + 43 2 223 38 7.59e-01 -4.58e-02 -7.58e+01 7.58e+01 0.797 -5.29 + 44 2 -3114 38 -4.71e-01 -3.70e-02 -1.62e+02 1.62e+02 1.38 -6.53 + 45 2 -311 38 3.93e-01 1.51e-01 -1.58e+02 1.58e+02 0.498 -6.62 + 46 1 2112 38 1.81e-01 -2.64e-01 -4.60e+03 4.60e+03 0.94 -10.3 + 47 2 92 13 -3.60e+00 1.76e+00 1.35e+02 1.58e+02 82.7 4.21 + 48 2 213 47 -4.60e+00 1.48e+00 4.42e+01 4.45e+01 0.582 2.91 + 49 2 111 47 6.67e-02 -2.73e-02 1.56e+00 1.57e+00 0.135 3.77 + 50 2 -213 47 -1.25e+00 6.36e-01 2.31e+01 2.31e+01 0.448 3.49 + 51 2 223 47 -4.97e+00 1.24e+00 4.44e+01 4.47e+01 0.78 2.86 + 52 1 211 47 2.02e-01 1.98e-01 8.65e-01 9.20e-01 0.14 1.84 + 53 2 3112 47 -7.06e-01 -6.57e-02 9.00e+00 9.11e+00 1.2 3.24 + 54 2 -3212 47 -1.37e+00 -6.04e-01 5.07e+00 5.42e+00 1.19 1.94 + 55 1 211 47 -2.64e-01 7.34e-01 2.69e+00 2.80e+00 0.14 1.95 + 56 2 -213 47 -3.47e+00 -5.07e-01 3.41e+00 4.94e+00 0.727 0.861 + 57 2 111 47 -2.27e-01 -6.42e-01 5.54e-01 8.88e-01 0.135 0.744 + 58 2 113 47 -5.03e-01 -2.24e-02 4.26e-01 1.05e+00 0.815 0.768 + 59 2 213 47 -1.20e+00 6.22e-02 1.61e+00 2.26e+00 1.04 1.1 + 60 2 -213 47 -2.93e-02 -5.24e-01 9.35e-02 9.69e-01 0.809 0.177 + 61 2 213 47 4.87e-01 -5.44e-01 -2.14e-01 9.90e-01 0.633 -0.289 + 62 1 -211 47 1.87e-01 4.28e-02 -2.69e-01 3.59e-01 0.14 -1.14 + 63 1 211 47 1.30e-01 -2.15e-02 3.55e-01 4.03e-01 0.14 1.72 + 64 2 311 47 4.64e+00 8.72e-01 -2.70e-01 4.75e+00 0.498 -0.0573 + 65 2 -323 47 2.25e+00 -8.17e-01 -6.89e-01 2.62e+00 0.796 -0.284 + 66 2 323 47 7.03e+00 2.65e-01 -7.65e-01 7.13e+00 0.841 -0.109 + 67 2 92 20 0.00e+00 0.00e+00 -1.86e+02 1.86e+02 12.4 -999 + 68 2 -313 67 6.71e-01 -1.00e+00 -1.21e+01 1.21e+01 0.838 -3 + 69 2 111 67 1.88e+00 -2.10e+00 -2.66e+01 2.67e+01 0.135 -2.94 + 70 2 113 67 -1.11e-01 -5.13e-01 -9.01e+00 9.06e+00 0.784 -3.54 + 71 2 223 67 -2.07e-01 1.74e-01 -1.31e+01 1.32e+01 0.784 -4.58 + 72 2 113 67 -4.41e-01 5.77e-01 -2.48e+01 2.48e+01 0.785 -4.22 + 73 1 -211 67 7.79e-02 -3.66e-02 -1.34e+00 1.35e+00 0.14 -3.44 + 74 2 323 67 -1.87e+00 2.90e+00 -9.91e+01 9.91e+01 0.84 -4.05 + 75 2 92 22 0.00e+00 0.00e+00 -9.71e+02 9.72e+02 48.5 -999 + 76 2 -323 75 -2.24e+00 -2.43e+00 -4.86e+00 5.95e+00 0.92 -1.18 + 77 2 111 75 -6.75e-02 -1.26e-01 -1.77e+00 1.78e+00 0.135 -3.21 + 78 2 113 75 1.54e-01 6.23e-01 -1.02e+01 1.02e+01 0.544 -3.46 + 79 2 111 75 -1.67e-01 -5.14e-01 -7.96e+00 7.98e+00 0.135 -3.38 + 80 1 211 75 -9.67e-02 5.13e-01 -4.12e+00 4.16e+00 0.14 -2.76 + 81 2 111 75 4.48e-02 -6.33e-01 -2.89e+01 2.89e+01 0.135 -4.51 + 82 1 -211 75 -1.16e-01 2.97e-01 -1.54e+01 1.54e+01 0.14 -4.57 + 83 2 213 75 1.37e+00 2.00e+00 -5.69e+02 5.69e+02 0.638 -6.15 + 84 2 313 75 1.11e+00 2.76e-01 -3.28e+02 3.28e+02 0.908 -6.35 + 85 2 92 24 2.09e+00 5.09e-03 6.61e+03 6.93e+03 2.09e+03 8.75 + 86 2 113 85 2.94e-01 -4.33e-01 1.59e+03 1.59e+03 0.656 8.71 + 87 1 2112 85 -1.16e-01 7.59e-01 1.58e+03 1.58e+03 0.94 8.32 + 88 2 113 85 2.72e-02 -4.05e-01 1.62e+03 1.62e+03 0.709 8.98 + 89 2 111 85 -1.44e-01 9.59e-01 7.88e+02 7.88e+02 0.135 7.39 + 90 2 -2214 85 -3.69e-01 -8.05e-01 8.09e+02 8.09e+02 1.21 7.51 + 91 1 211 85 3.58e-01 -5.01e-01 3.00e+01 3.00e+01 0.14 4.58 + 92 2 2114 85 -9.85e-02 -1.42e-01 6.02e+01 6.02e+01 1.21 6.55 + 93 2 223 85 -6.68e-02 3.49e-01 1.73e+01 1.73e+01 0.785 4.58 + 94 2 223 85 1.09e-01 -1.19e-01 5.90e+00 5.96e+00 0.773 4.3 + 95 2 223 85 -1.13e-01 -3.70e-01 2.20e+01 2.20e+01 0.769 4.73 + 96 1 211 85 1.71e-02 3.14e-01 1.01e+01 1.01e+01 0.14 4.17 + 97 2 221 85 -2.40e-01 -5.24e-01 1.45e+01 1.46e+01 0.547 3.92 + 98 1 -211 85 -2.76e-01 -5.70e-01 6.88e+00 6.91e+00 0.14 3.08 + 99 1 211 85 -3.20e-01 5.98e-01 1.93e+01 1.93e+01 0.14 4.04 + 100 2 223 85 -3.46e-01 3.15e-01 6.26e+01 6.26e+01 0.789 5.59 + 101 2 111 85 2.29e-02 5.56e-02 1.16e+00 1.17e+00 0.135 3.66 + 102 2 111 85 -2.92e-01 3.07e-01 5.30e+00 5.32e+00 0.135 3.22 + 103 2 -213 85 3.21e-01 2.17e-01 1.83e+01 1.84e+01 0.812 4.55 + 104 1 211 85 -4.16e-01 -2.49e-01 7.63e+00 7.65e+00 0.14 3.45 + 105 2 221 85 -2.55e-01 3.09e-01 4.82e+01 4.82e+01 0.547 5.48 + 106 2 223 85 -7.42e-01 -2.48e-01 2.09e+01 2.10e+01 0.768 3.98 + 107 2 113 85 2.44e-01 -4.28e-02 1.61e+01 1.61e+01 0.787 4.87 + 108 2 223 85 4.72e-02 -3.27e-01 2.12e+00 2.28e+00 0.76 2.56 + 109 1 -2212 85 9.49e-01 4.16e-01 3.24e+00 3.53e+00 0.938 1.86 + 110 2 223 85 1.66e-01 -4.16e-01 2.68e+00 2.83e+00 0.777 2.49 + 111 1 2212 85 1.57e+00 1.91e-01 4.10e+00 4.49e+00 0.938 1.68 + 112 2 221 85 -1.16e+00 9.92e-02 -7.15e-01 1.47e+00 0.547 -0.582 + 113 2 -213 85 -1.08e+00 -4.37e-02 -8.72e-01 1.81e+00 1.15 -0.738 + 114 2 -311 85 -1.22e+00 7.88e-02 -6.07e-01 1.45e+00 0.498 -0.478 + 115 2 323 85 1.71e+00 -2.90e-02 -5.69e+00 6.00e+00 0.835 -1.92 + 116 2 -213 85 5.07e-01 -4.78e-01 -1.42e+00 1.73e+00 0.697 -1.46 + 117 2 113 85 1.84e+00 3.74e-01 -6.40e+00 6.76e+00 1.07 -1.94 + 118 2 113 85 1.16e+00 3.38e-01 -1.73e+00 2.31e+00 0.935 -1.16 + 119 1 211 85 2.72e-01 -2.27e-02 -1.30e-01 3.33e-01 0.14 -0.458 + 120 2 113 85 2.13e-01 1.74e-01 -1.61e+00 1.82e+00 0.803 -2.47 + 121 2 221 85 -4.71e-01 -1.23e-01 -1.39e+02 1.39e+02 0.547 -6.35 + 122 2 92 34 0.00e+00 0.00e+00 -1.64e+02 1.65e+02 19.1 -999 + 123 1 -211 122 -6.01e-01 3.13e-01 -2.37e+00 2.47e+00 0.14 -1.97 + 124 2 -313 122 -5.54e-01 5.60e-01 -2.70e+01 2.70e+01 0.882 -4.23 + 125 2 -3122 122 7.82e-01 -1.01e+00 -2.58e+01 2.58e+01 1.12 -3.7 + 126 1 2112 122 -5.29e-01 -7.06e-01 -3.14e+01 3.14e+01 0.94 -4.26 + 127 2 -313 122 -6.64e-01 -5.24e-01 -3.07e+01 3.08e+01 0.744 -4.29 + 128 2 323 122 -1.00e-01 2.35e-01 -2.04e+01 2.05e+01 0.875 -5.08 + 129 1 -2212 122 7.64e-01 -3.68e-03 -3.63e+00 3.82e+00 0.938 -2.26 + 130 2 331 122 -2.16e-01 3.87e-01 -2.81e+00 3.00e+00 0.957 -2.54 + 131 2 2114 122 3.71e-01 1.61e-01 -3.19e+00 3.43e+00 1.2 -2.76 + 132 2 213 122 1.43e-01 8.31e-01 -7.51e+00 7.64e+00 1.12 -2.88 + 133 2 111 122 2.51e-01 2.00e-01 -1.88e+00 1.91e+00 0.135 -2.47 + 134 2 223 122 3.52e-01 -4.43e-01 -7.53e+00 7.59e+00 0.781 -3.28 + 135 2 92 36 0.00e+00 0.00e+00 -3.88e+02 3.88e+02 8.81 -999 + 136 2 2114 135 -1.50e-01 -3.80e-01 -6.01e+01 6.01e+01 1.22 -5.68 + 137 1 -211 135 2.98e-01 5.48e-01 -4.44e+01 4.44e+01 0.14 -4.96 + 138 2 -3112 135 2.33e-01 1.43e-01 -2.76e+01 2.76e+01 1.2 -5.31 + 139 2 -323 135 -2.73e-01 8.34e-01 -4.62e+01 4.62e+01 0.902 -4.66 + 140 2 113 135 -1.24e-01 -5.36e-01 -3.53e+01 3.53e+01 0.767 -4.85 + 141 1 321 135 1.79e-01 3.32e-01 -2.01e+01 2.01e+01 0.494 -4.67 + 142 1 -321 135 -8.83e-02 -9.50e-01 -1.29e+02 1.29e+02 0.494 -5.6 + 143 2 111 135 -1.32e-01 -2.00e-01 -4.15e+00 4.16e+00 0.135 -3.55 + 144 1 211 135 5.73e-02 2.08e-01 -2.11e+01 2.11e+01 0.14 -5.27 + 145 1 -321 39 4.73e-03 -6.40e-01 -1.02e+01 1.03e+01 0.494 -3.47 + 146 1 211 39 -2.15e-01 5.53e-02 -1.62e+00 1.64e+00 0.14 -2.69 + 147 1 -211 40 -4.06e-02 -3.75e-01 -3.27e+00 3.29e+00 0.14 -2.86 + 148 1 211 40 -2.22e-01 -1.90e-01 -8.69e+00 8.70e+00 0.14 -4.09 + 149 1 2112 42 -5.03e-01 -3.50e-01 -4.89e+01 4.89e+01 0.94 -5.07 + 150 2 111 42 1.94e-01 -1.08e-01 -1.15e+01 1.15e+01 0.135 -4.64 + 151 1 211 43 5.55e-02 -8.86e-02 -8.81e+00 8.81e+00 0.14 -5.13 + 152 1 -211 43 3.28e-01 2.70e-01 -2.78e+01 2.78e+01 0.14 -4.88 + 153 2 111 43 3.76e-01 -2.27e-01 -3.92e+01 3.92e+01 0.135 -5.18 + 154 2 -3122 44 -3.45e-01 -9.30e-02 -1.53e+02 1.53e+02 1.12 -6.75 + 155 1 211 44 -1.27e-01 5.60e-02 -9.14e+00 9.14e+00 0.14 -4.88 + 156 2 310 45 3.93e-01 1.51e-01 -1.58e+02 1.58e+02 0.498 -6.62 + 157 1 211 48 -4.12e+00 1.35e+00 3.83e+01 3.86e+01 0.14 2.88 + 158 2 111 48 -4.82e-01 1.34e-01 5.87e+00 5.89e+00 0.135 3.16 + 159 1 22 49 9.23e-02 1.89e-02 1.19e+00 1.20e+00 0 3.23 + 160 1 22 49 -2.56e-02 -4.62e-02 3.69e-01 3.72e-01 0 2.64 + 161 1 -211 50 -1.13e+00 6.03e-01 2.03e+01 2.03e+01 0.14 3.45 + 162 2 111 50 -1.20e-01 3.30e-02 2.81e+00 2.82e+00 0.135 3.81 + 163 1 22 51 -3.44e+00 5.65e-01 3.16e+01 3.18e+01 0 2.9 + 164 2 111 51 -1.53e+00 6.77e-01 1.28e+01 1.29e+01 0.135 2.73 + 165 1 2112 53 -5.19e-01 -3.42e-02 5.82e+00 5.92e+00 0.94 3.11 + 166 1 -211 53 -1.87e-01 -3.14e-02 3.18e+00 3.19e+00 0.14 3.51 + 167 2 -3122 54 -1.36e+00 -5.61e-01 4.75e+00 5.10e+00 1.12 1.89 + 168 1 22 54 -8.91e-03 -4.27e-02 3.17e-01 3.20e-01 0 2.68 + 169 1 -211 56 -2.34e+00 -6.49e-01 2.24e+00 3.31e+00 0.14 0.824 + 170 2 111 56 -1.12e+00 1.42e-01 1.17e+00 1.63e+00 0.135 0.901 + 171 1 22 57 -2.12e-01 -5.96e-01 5.53e-01 8.40e-01 0 0.789 + 172 1 22 57 -1.48e-02 -4.54e-02 1.50e-03 4.78e-02 0 0.0314 + 173 1 -211 58 -4.03e-02 -2.78e-01 3.90e-01 5.01e-01 0.14 1.13 + 174 1 211 58 -4.63e-01 2.56e-01 3.59e-02 5.48e-01 0.14 0.0678 + 175 1 211 59 7.80e-02 -5.67e-02 6.00e-01 6.24e-01 0.14 2.53 + 176 2 111 59 -1.28e+00 1.19e-01 1.00e+00 1.64e+00 0.135 0.719 + 177 1 -211 60 1.26e-01 -6.13e-01 2.57e-01 6.91e-01 0.14 0.4 + 178 2 111 60 -1.56e-01 8.89e-02 -1.64e-01 2.78e-01 0.135 -0.819 + 179 1 211 61 3.56e-01 -6.34e-01 -2.42e-01 7.79e-01 0.14 -0.326 + 180 2 111 61 1.31e-01 9.04e-02 2.74e-02 2.11e-01 0.135 0.172 + 181 2 310 64 4.64e+00 8.72e-01 -2.70e-01 4.75e+00 0.498 -0.0573 + 182 1 -321 65 1.95e+00 -5.32e-01 -4.99e-01 2.14e+00 0.494 -0.244 + 183 2 111 65 2.99e-01 -2.85e-01 -1.90e-01 4.74e-01 0.135 -0.446 + 184 1 321 66 4.15e+00 3.22e-01 -6.35e-01 4.24e+00 0.494 -0.152 + 185 2 111 66 2.89e+00 -5.72e-02 -1.30e-01 2.89e+00 0.135 -0.0451 + 186 1 -321 68 7.46e-01 -9.07e-01 -1.09e+01 1.10e+01 0.494 -2.93 + 187 1 211 68 -7.51e-02 -9.49e-02 -1.11e+00 1.13e+00 0.14 -2.92 + 188 1 22 69 1.63e+00 -1.75e+00 -2.26e+01 2.27e+01 0 -2.94 + 189 1 22 69 2.50e-01 -3.50e-01 -3.98e+00 4.00e+00 0 -2.92 + 190 1 -211 70 -3.48e-01 -2.25e-02 -4.12e+00 4.13e+00 0.14 -3.16 + 191 1 211 70 2.37e-01 -4.91e-01 -4.90e+00 4.93e+00 0.14 -2.89 + 192 1 211 71 7.57e-02 1.94e-01 -3.04e+00 3.05e+00 0.14 -3.37 + 193 1 -211 71 1.24e-02 -1.34e-01 -2.27e+00 2.28e+00 0.14 -3.52 + 194 2 111 71 -2.95e-01 1.14e-01 -7.82e+00 7.83e+00 0.135 -3.9 + 195 1 -211 72 -2.58e-01 4.92e-01 -7.69e+00 7.71e+00 0.14 -3.32 + 196 1 211 72 -1.83e-01 8.58e-02 -1.71e+01 1.71e+01 0.14 -5.13 + 197 1 321 74 -1.01e+00 1.62e+00 -4.87e+01 4.88e+01 0.494 -3.94 + 198 2 111 74 -8.65e-01 1.28e+00 -5.04e+01 5.04e+01 0.135 -4.18 + 199 2 -311 76 -2.16e+00 -2.40e+00 -4.66e+00 5.69e+00 0.498 -1.16 + 200 1 -211 76 -7.89e-02 -3.27e-02 -2.02e-01 2.60e-01 0.14 -1.6 + 201 1 22 77 -1.66e-03 2.75e-02 -1.71e-01 1.73e-01 0 -2.53 + 202 1 22 77 -6.59e-02 -1.53e-01 -1.59e+00 1.60e+00 0 -2.95 + 203 1 -211 78 2.06e-01 1.69e-01 -2.20e+00 2.22e+00 0.14 -2.81 + 204 1 211 78 -5.23e-02 4.55e-01 -7.95e+00 7.97e+00 0.14 -3.55 + 205 1 22 79 -1.94e-02 -2.70e-01 -3.61e+00 3.62e+00 0 -3.29 + 206 1 22 79 -1.47e-01 -2.44e-01 -4.34e+00 4.35e+00 0 -3.42 + 207 1 22 81 3.27e-04 -1.65e-01 -5.20e+00 5.20e+00 0 -4.14 + 208 1 22 81 4.45e-02 -4.68e-01 -2.37e+01 2.37e+01 0 -4.61 + 209 1 211 83 8.31e-01 1.53e+00 -3.58e+02 3.58e+02 0.14 -6.02 + 210 2 111 83 5.43e-01 4.67e-01 -2.11e+02 2.11e+02 0.135 -6.38 + 211 1 321 84 1.10e+00 3.19e-01 -2.48e+02 2.48e+02 0.494 -6.07 + 212 1 -211 84 1.68e-02 -4.24e-02 -8.07e+01 8.07e+01 0.14 -8.17 + 213 1 211 86 4.87e-02 -4.34e-01 5.76e+02 5.76e+02 0.14 7.88 + 214 1 -211 86 2.45e-01 7.79e-04 1.01e+03 1.01e+03 0.14 9.02 + 215 1 -211 88 2.26e-01 -1.83e-01 3.17e+02 3.17e+02 0.14 7.69 + 216 1 211 88 -1.99e-01 -2.22e-01 1.30e+03 1.30e+03 0.14 9.07 + 217 1 22 89 -9.83e-02 2.51e-01 2.13e+02 2.13e+02 0 7.36 + 218 1 22 89 -4.56e-02 7.07e-01 5.75e+02 5.75e+02 0 7.39 + 219 1 -2212 90 -3.35e-01 -4.02e-01 5.67e+02 5.67e+02 0.938 7.68 + 220 2 111 90 -3.40e-02 -4.03e-01 2.42e+02 2.42e+02 0.135 7.09 + 221 1 2112 92 -1.59e-01 -2.93e-01 5.21e+01 5.21e+01 0.94 5.74 + 222 2 111 92 6.08e-02 1.52e-01 8.13e+00 8.13e+00 0.135 4.6 + 223 1 -211 93 -2.09e-01 3.00e-01 1.23e+01 1.23e+01 0.14 4.21 + 224 1 211 93 1.83e-01 8.46e-02 3.04e+00 3.05e+00 0.14 3.41 + 225 2 111 93 -4.15e-02 -3.58e-02 2.00e+00 2.00e+00 0.135 4.29 + 226 1 211 94 2.52e-01 7.85e-02 2.01e+00 2.03e+00 0.14 2.72 + 227 1 -211 94 -4.06e-02 -1.21e-01 6.99e-01 7.24e-01 0.14 2.4 + 228 2 111 94 -1.03e-01 -7.65e-02 3.20e+00 3.20e+00 0.135 3.91 + 229 1 -211 95 -1.68e-01 -2.06e-01 8.77e+00 8.78e+00 0.14 4.19 + 230 1 211 95 9.90e-02 -2.68e-01 5.16e+00 5.17e+00 0.14 3.59 + 231 2 111 95 -4.47e-02 1.04e-01 8.09e+00 8.09e+00 0.135 4.96 + 232 1 22 97 4.32e-02 2.12e-02 3.15e-01 3.18e-01 0 2.58 + 233 1 211 97 -1.05e-01 -3.40e-01 5.84e+00 5.85e+00 0.14 3.49 + 234 1 -211 97 -1.79e-01 -2.05e-01 8.38e+00 8.39e+00 0.14 4.12 + 235 1 211 100 -6.24e-02 -1.59e-01 1.46e+01 1.46e+01 0.14 5.14 + 236 1 -211 100 -6.98e-02 2.00e-01 3.07e+01 3.07e+01 0.14 5.67 + 237 2 111 100 -2.14e-01 2.74e-01 1.73e+01 1.73e+01 0.135 4.6 + 238 1 22 101 7.22e-02 2.82e-02 9.04e-01 9.07e-01 0 3.15 + 239 1 22 101 -4.93e-02 2.74e-02 2.61e-01 2.67e-01 0 2.24 + 240 1 22 102 -2.62e-01 2.00e-01 3.65e+00 3.66e+00 0 3.1 + 241 1 22 102 -2.95e-02 1.06e-01 1.66e+00 1.66e+00 0 3.4 + 242 1 -211 103 -1.58e-01 2.44e-01 1.12e+01 1.12e+01 0.14 4.35 + 243 2 111 103 4.79e-01 -2.71e-02 7.12e+00 7.14e+00 0.135 3.39 + 244 1 -211 105 1.44e-02 1.03e-01 1.30e+01 1.30e+01 0.14 5.52 + 245 1 211 105 -2.25e-01 6.78e-02 1.39e+01 1.39e+01 0.14 4.77 + 246 2 111 105 -4.42e-02 1.38e-01 2.12e+01 2.12e+01 0.135 5.68 + 247 1 -211 106 4.40e-02 -8.96e-02 2.77e+00 2.78e+00 0.14 4.02 + 248 1 211 106 -3.03e-01 -2.27e-01 6.60e+00 6.61e+00 0.14 3.55 + 249 2 111 106 -4.84e-01 6.81e-02 1.16e+01 1.16e+01 0.135 3.86 + 250 1 211 107 2.79e-01 -1.16e-01 1.54e+01 1.54e+01 0.14 4.62 + 251 1 -211 107 -3.47e-02 7.32e-02 7.35e-01 7.53e-01 0.14 2.9 + 252 1 211 108 6.96e-02 6.41e-02 3.46e-01 3.85e-01 0.14 2.01 + 253 1 -211 108 -1.80e-01 -5.95e-02 9.57e-01 9.86e-01 0.14 2.32 + 254 2 111 108 1.57e-01 -3.32e-01 8.17e-01 9.05e-01 0.135 1.54 + 255 1 -211 110 -2.68e-02 -3.16e-01 1.44e+00 1.48e+00 0.14 2.22 + 256 1 211 110 5.87e-02 4.71e-02 1.19e-01 1.98e-01 0.14 1.24 + 257 2 111 110 1.34e-01 -1.47e-01 1.12e+00 1.15e+00 0.135 2.43 + 258 2 111 112 -2.94e-01 1.59e-01 -2.77e-01 4.55e-01 0.135 -0.756 + 259 2 111 112 -2.95e-01 7.93e-03 -1.95e-01 3.78e-01 0.135 -0.622 + 260 2 111 112 -5.69e-01 -6.77e-02 -2.42e-01 6.37e-01 0.135 -0.411 + 261 1 -211 113 -1.20e+00 2.21e-01 -5.30e-01 1.34e+00 0.14 -0.422 + 262 2 111 113 1.20e-01 -2.65e-01 -3.42e-01 4.69e-01 0.135 -1 + 263 2 310 114 -1.22e+00 7.88e-02 -6.07e-01 1.45e+00 0.498 -0.478 + 264 2 311 115 6.15e-01 -1.65e-02 -2.11e+00 2.25e+00 0.498 -1.95 + 265 1 211 115 1.09e+00 -1.25e-02 -3.58e+00 3.75e+00 0.14 -1.9 + 266 1 -211 116 1.76e-01 -1.17e-01 -3.78e-02 2.56e-01 0.14 -0.178 + 267 2 111 116 3.31e-01 -3.60e-01 -1.38e+00 1.47e+00 0.135 -1.76 + 268 1 -211 117 1.41e+00 3.06e-02 -3.14e+00 3.45e+00 0.14 -1.54 + 269 1 211 117 4.24e-01 3.44e-01 -3.26e+00 3.31e+00 0.14 -2.49 + 270 1 211 118 2.23e-01 2.22e-01 -1.13e+00 1.18e+00 0.14 -1.99 + 271 1 -211 118 9.37e-01 1.16e-01 -6.02e-01 1.13e+00 0.14 -0.6 + 272 1 -211 120 2.31e-01 4.07e-01 -1.38e+00 1.46e+00 0.14 -1.8 + 273 1 211 120 -1.86e-02 -2.33e-01 -2.32e-01 3.58e-01 0.14 -0.875 + 274 2 111 121 -1.43e-01 1.08e-02 -5.81e+01 5.81e+01 0.135 -6.69 + 275 2 111 121 -2.65e-01 -1.67e-01 -6.39e+01 6.39e+01 0.135 -6.01 + 276 2 111 121 -6.33e-02 3.30e-02 -1.69e+01 1.69e+01 0.135 -6.16 + 277 1 -321 124 -1.92e-01 6.83e-02 -1.51e+01 1.51e+01 0.494 -4.99 + 278 1 211 124 -3.62e-01 4.92e-01 -1.19e+01 1.19e+01 0.14 -3.66 + 279 1 -2212 125 7.08e-01 -9.13e-01 -2.13e+01 2.14e+01 0.938 -3.61 + 280 1 211 125 7.36e-02 -9.65e-02 -4.44e+00 4.44e+00 0.14 -4.29 + 281 1 -321 127 -4.41e-01 -4.28e-01 -1.76e+01 1.76e+01 0.494 -4.05 + 282 1 211 127 -2.23e-01 -9.66e-02 -1.31e+01 1.32e+01 0.14 -4.69 + 283 2 311 128 1.11e-01 2.40e-01 -9.05e+00 9.07e+00 0.498 -4.23 + 284 1 211 128 -2.11e-01 -5.23e-03 -1.14e+01 1.14e+01 0.14 -4.68 + 285 1 22 130 -3.59e-02 1.07e-01 -2.48e-01 2.72e-01 0 -1.53 + 286 2 113 130 -1.80e-01 2.81e-01 -2.56e+00 2.73e+00 0.88 -2.74 + 287 1 2212 131 3.22e-01 1.22e-02 -2.95e+00 3.12e+00 0.938 -2.91 + 288 1 -211 131 4.88e-02 1.49e-01 -2.32e-01 3.13e-01 0.14 -1.19 + 289 1 211 132 9.92e-02 6.74e-02 -5.18e+00 5.19e+00 0.14 -4.46 + 290 2 111 132 4.43e-02 7.64e-01 -2.32e+00 2.45e+00 0.135 -1.83 + 291 1 22 133 -1.23e-02 -2.60e-04 -1.58e-01 1.59e-01 0 -3.25 + 292 1 22 133 2.64e-01 2.00e-01 -1.72e+00 1.75e+00 0 -2.35 + 293 1 211 134 2.46e-01 -2.13e-01 -2.74e+00 2.76e+00 0.14 -2.83 + 294 1 -211 134 1.66e-01 -1.39e-01 -4.32e+00 4.32e+00 0.14 -3.69 + 295 2 111 134 -6.03e-02 -9.23e-02 -4.73e-01 5.04e-01 0.135 -2.16 + 296 1 2112 136 7.42e-02 -3.88e-01 -4.88e+01 4.88e+01 0.94 -5.51 + 297 2 111 136 -2.24e-01 7.98e-03 -1.13e+01 1.13e+01 0.135 -4.61 + 298 1 -2112 138 3.20e-01 2.16e-01 -2.52e+01 2.53e+01 0.94 -4.87 + 299 1 211 138 -8.73e-02 -7.30e-02 -2.35e+00 2.36e+00 0.14 -3.72 + 300 2 -311 139 -2.89e-01 4.57e-01 -1.91e+01 1.91e+01 0.498 -4.26 + 301 1 -211 139 1.57e-02 3.77e-01 -2.71e+01 2.71e+01 0.14 -4.97 + 302 1 -211 140 2.06e-01 -5.27e-01 -2.31e+01 2.31e+01 0.14 -4.4 + 303 1 211 140 -3.31e-01 -9.09e-03 -1.22e+01 1.22e+01 0.14 -4.3 + 304 1 22 143 -1.38e-01 -1.74e-01 -4.04e+00 4.04e+00 0 -3.6 + 305 1 22 143 6.08e-03 -2.60e-02 -1.18e-01 1.21e-01 0 -2.19 + 306 1 22 150 8.35e-04 -7.80e-03 -3.41e+00 3.41e+00 0 -6.77 + 307 1 22 150 1.94e-01 -9.97e-02 -8.11e+00 8.11e+00 0 -4.31 + 308 1 22 153 3.43e-01 -2.07e-01 -3.08e+01 3.08e+01 0 -5.03 + 309 1 22 153 3.37e-02 -1.96e-02 -8.42e+00 8.42e+00 0 -6.07 + 310 1 -2212 154 -2.90e-01 -1.79e-01 -1.30e+02 1.30e+02 0.938 -6.63 + 311 1 211 154 -5.45e-02 8.63e-02 -2.35e+01 2.35e+01 0.14 -6.13 + 312 1 -211 156 -3.05e-02 -9.44e-03 -1.92e+01 1.92e+01 0.14 -7.09 + 313 1 211 156 4.24e-01 1.61e-01 -1.39e+02 1.39e+02 0.14 -6.42 + 314 1 22 158 -6.45e-02 4.11e-02 5.00e-01 5.06e-01 0 2.58 + 315 1 22 158 -4.17e-01 9.33e-02 5.37e+00 5.39e+00 0 3.23 + 316 1 22 162 -1.45e-01 2.84e-02 2.64e+00 2.64e+00 0 3.58 + 317 1 22 162 2.52e-02 4.66e-03 1.79e-01 1.80e-01 0 2.64 + 318 1 22 164 -5.41e-01 2.16e-01 3.98e+00 4.02e+00 0 2.62 + 319 1 22 164 -9.93e-01 4.61e-01 8.80e+00 8.87e+00 0 2.78 + 320 1 -2212 167 -1.25e+00 -5.81e-01 4.29e+00 4.60e+00 0.938 1.85 + 321 1 211 167 -1.11e-01 2.04e-02 4.67e-01 5.00e-01 0.14 2.13 + 322 1 22 170 -6.67e-01 1.74e-02 6.80e-01 9.52e-01 0 0.894 + 323 1 22 170 -4.58e-01 1.25e-01 4.87e-01 6.80e-01 0 0.899 + 324 1 22 176 -5.87e-01 4.25e-02 3.77e-01 6.99e-01 0 0.603 + 325 1 22 176 -6.91e-01 7.63e-02 6.27e-01 9.37e-01 0 0.81 + 326 1 22 178 9.38e-03 3.07e-02 -7.51e-02 8.16e-02 0 -1.59 + 327 1 22 178 -1.65e-01 5.82e-02 -8.87e-02 1.96e-01 0 -0.488 + 328 1 22 180 1.12e-01 1.17e-01 5.12e-02 1.70e-01 0 0.311 + 329 1 22 180 1.87e-02 -2.67e-02 -2.38e-02 4.04e-02 0 -0.676 + 330 1 -211 181 3.39e+00 7.55e-01 -3.22e-01 3.49e+00 0.14 -0.0927 + 331 1 211 181 1.25e+00 1.17e-01 5.15e-02 1.27e+00 0.14 0.0409 + 332 1 22 183 2.70e-01 -2.90e-01 -1.99e-01 4.44e-01 0 -0.484 + 333 1 22 183 2.84e-02 5.27e-03 9.10e-03 3.03e-02 0 0.31 + 334 1 22 185 1.86e+00 2.77e-02 -8.21e-02 1.86e+00 0 -0.0441 + 335 1 22 185 1.02e+00 -8.49e-02 -4.82e-02 1.03e+00 0 -0.0469 + 336 1 22 194 -1.09e-01 -2.21e-02 -2.16e+00 2.17e+00 0 -3.66 + 337 1 22 194 -1.85e-01 1.36e-01 -5.66e+00 5.67e+00 0 -3.9 + 338 1 22 198 -6.45e-01 1.02e+00 -4.05e+01 4.06e+01 0 -4.21 + 339 1 22 198 -2.21e-01 2.63e-01 -9.82e+00 9.82e+00 0 -4.05 + 340 2 310 199 -2.16e+00 -2.40e+00 -4.66e+00 5.69e+00 0.498 -1.16 + 341 1 22 210 5.06e-01 4.34e-01 -2.04e+02 2.04e+02 0 -6.42 + 342 1 22 210 3.65e-02 3.35e-02 -7.34e+00 7.34e+00 0 -5.69 + 343 1 22 220 -6.49e-02 -9.42e-02 5.63e+01 5.63e+01 0 6.89 + 344 1 22 220 3.09e-02 -3.09e-01 1.86e+02 1.86e+02 0 7.09 + 345 1 22 222 4.95e-02 1.44e-01 8.06e+00 8.07e+00 0 4.66 + 346 1 22 222 1.12e-02 7.45e-03 6.81e-02 6.94e-02 0 2.32 + 347 1 22 225 -1.96e-02 -4.20e-02 2.06e-01 2.11e-01 0 2.2 + 348 1 22 225 -2.18e-02 6.23e-03 1.79e+00 1.79e+00 0 5.06 + 349 1 22 228 -1.96e-02 -9.29e-02 2.10e+00 2.10e+00 0 3.79 + 350 1 22 228 -8.32e-02 1.64e-02 1.10e+00 1.10e+00 0 3.26 + 351 1 22 231 1.53e-02 1.01e-01 3.42e+00 3.42e+00 0 4.2 + 352 1 22 231 -6.00e-02 2.84e-03 4.67e+00 4.67e+00 0 5.05 + 353 1 22 237 -1.68e-02 6.14e-02 5.87e+00 5.87e+00 0 5.22 + 354 1 22 237 -1.97e-01 2.12e-01 1.14e+01 1.14e+01 0 4.37 + 355 1 22 243 -5.92e-03 -9.36e-03 8.70e-02 8.77e-02 0 2.76 + 356 1 22 243 4.85e-01 -1.78e-02 7.03e+00 7.05e+00 0 3.37 + 357 1 22 246 -6.08e-02 1.17e-01 2.05e+01 2.05e+01 0 5.74 + 358 1 22 246 1.66e-02 2.09e-02 7.12e-01 7.13e-01 0 3.98 + 359 1 22 249 -4.00e-01 8.63e-02 1.04e+01 1.04e+01 0 3.93 + 360 1 22 249 -8.33e-02 -1.82e-02 1.21e+00 1.21e+00 0 3.35 + 361 1 22 254 7.44e-02 -2.81e-01 5.59e-01 6.30e-01 0 1.41 + 362 1 22 254 8.29e-02 -5.04e-02 2.58e-01 2.75e-01 0 1.7 + 363 1 22 257 4.52e-02 -3.45e-02 9.68e-02 1.12e-01 0 1.3 + 364 1 22 257 8.89e-02 -1.12e-01 1.03e+00 1.04e+00 0 2.67 + 365 1 22 258 -6.59e-02 -1.15e-02 -1.72e-02 6.91e-02 0 -0.255 + 366 1 22 258 -2.28e-01 1.71e-01 -2.60e-01 3.86e-01 0 -0.819 + 367 1 22 259 -7.01e-03 -2.36e-02 -4.75e-02 5.36e-02 0 -1.41 + 368 1 22 259 -2.88e-01 3.16e-02 -1.48e-01 3.25e-01 0 -0.49 + 369 1 22 260 -1.67e-01 1.43e-02 -1.69e-02 1.69e-01 0 -0.1 + 370 1 22 260 -4.02e-01 -8.21e-02 -2.25e-01 4.68e-01 0 -0.525 + 371 1 22 262 -2.78e-02 -3.95e-02 -3.15e-02 5.77e-02 0 -0.613 + 372 1 22 262 1.47e-01 -2.26e-01 -3.11e-01 4.11e-01 0 -0.985 + 373 1 -211 263 -7.01e-01 2.30e-01 -2.56e-01 7.93e-01 0.14 -0.34 + 374 1 211 263 -5.21e-01 -1.51e-01 -3.52e-01 6.61e-01 0.14 -0.61 + 375 2 310 264 6.15e-01 -1.65e-02 -2.11e+00 2.25e+00 0.498 -1.95 + 376 1 22 267 1.73e-01 -1.60e-01 -4.77e-01 5.32e-01 0 -1.45 + 377 1 22 267 1.59e-01 -2.01e-01 -9.05e-01 9.40e-01 0 -1.98 + 378 1 22 274 -6.32e-02 -5.21e-02 -1.58e+01 1.58e+01 0 -5.96 + 379 1 22 274 -8.03e-02 6.29e-02 -4.23e+01 4.23e+01 0 -6.72 + 380 1 22 275 -7.22e-02 9.07e-03 -9.24e+00 9.24e+00 0 -5.54 + 381 1 22 275 -1.92e-01 -1.76e-01 -5.47e+01 5.47e+01 0 -6.04 + 382 1 22 276 -7.34e-03 5.79e-02 -1.36e+01 1.36e+01 0 -6.14 + 383 1 22 276 -5.59e-02 -2.49e-02 -3.32e+00 3.32e+00 0 -4.69 + 384 1 130 283 1.11e-01 2.40e-01 -9.05e+00 9.07e+00 0.498 -4.23 + 385 1 -211 286 2.00e-01 4.25e-01 -1.65e+00 1.72e+00 0.14 -1.97 + 386 1 211 286 -3.80e-01 -1.44e-01 -9.14e-01 1.01e+00 0.14 -1.55 + 387 1 22 290 -1.89e-02 3.15e-01 -7.85e-01 8.46e-01 0 -1.64 + 388 1 22 290 6.31e-02 4.49e-01 -1.54e+00 1.60e+00 0 -1.94 + 389 1 22 295 2.49e-02 -5.30e-03 -1.36e-02 2.89e-02 0 -0.513 + 390 1 22 295 -8.52e-02 -8.70e-02 -4.59e-01 4.75e-01 0 -2.04 + 391 1 22 297 -1.56e-01 5.24e-02 -5.51e+00 5.51e+00 0 -4.2 + 392 1 22 297 -6.73e-02 -4.44e-02 -5.75e+00 5.75e+00 0 -4.96 + 393 2 310 300 -2.89e-01 4.57e-01 -1.91e+01 1.91e+01 0.498 -4.26 + 394 1 -211 340 -1.17e+00 -1.32e+00 -2.18e+00 2.81e+00 0.14 -1.04 + 395 1 211 340 -9.92e-01 -1.08e+00 -2.48e+00 2.89e+00 0.14 -1.3 + 396 1 -211 375 2.21e-01 -1.88e-01 -1.12e+00 1.17e+00 0.14 -2.06 + 397 1 211 375 3.93e-01 1.71e-01 -9.88e-01 1.09e+00 0.14 -1.57 + 398 1 211 393 -1.31e-01 3.35e-01 -6.27e+00 6.28e+00 0.14 -3.55 + 399 1 -211 393 -1.58e-01 1.23e-01 -1.28e+01 1.28e+01 0.14 -4.85 +8 Event +522 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 1 1 3.51e-01 6.53e-01 4.16e+02 4.16e+02 0 7.02 + 4 3 2 2 2.75e-02 -1.21e-01 -2.44e+03 2.44e+03 0 -10.6 + 5 3 1 3 -4.94e-01 1.23e+00 2.69e+02 2.69e+02 0 6 + 6 3 -2 4 -2.53e+01 2.56e+01 3.55e+01 5.05e+01 0 0.871 + 7 3 -24 5 -1.99e+01 2.70e+01 2.96e+02 3.09e+02 83 2.87 + 8 3 22 5 -5.86e+00 -1.93e-01 8.35e+00 1.02e+01 0 1.15 + 9 2 -24 7 -1.99e+01 2.70e+01 2.96e+02 3.09e+02 83 2.87 + 10 1 22 8 -5.86e+00 -1.93e-01 8.35e+00 1.02e+01 0 1.15 + 11 2 2 4 1.62e+00 -3.52e-01 -8.17e-01 1.88e+00 0.33 -0.475 + 12 2 21 4 3.67e+00 -2.90e+00 -1.10e+00 4.80e+00 0 -0.232 + 13 2 21 4 9.04e-02 -5.27e-01 1.91e-01 5.68e-01 0 0.35 + 14 2 21 4 -5.47e-02 9.98e-02 5.67e-01 5.78e-01 0 2.31 + 15 2 21 4 -4.28e-01 -3.24e-01 -3.51e-02 5.38e-01 0 -0.0654 + 16 2 -4 4 2.97e+00 -5.24e-01 -2.39e+00 4.13e+00 1.5 -0.727 + 17 2 4 4 3.72e-02 1.21e+00 -1.04e+01 1.06e+01 1.5 -2.85 + 18 2 21 4 -3.81e+00 5.66e-01 -5.40e+00 6.63e+00 0 -1.14 + 19 2 21 4 1.44e+00 -1.42e+00 5.71e-01 2.10e+00 0 0.278 + 20 2 21 4 2.73e+00 -7.33e-01 9.18e-01 2.97e+00 0 0.319 + 21 2 21 4 -2.02e+00 1.54e-01 -1.07e+01 1.09e+01 0 -2.37 + 22 2 21 4 1.25e-01 -5.48e-01 -7.68e+00 7.70e+00 0 -3.31 + 23 2 21 4 6.35e-01 5.09e-01 -1.05e+01 1.06e+01 0 -3.25 + 24 2 21 4 -1.33e+00 5.45e-02 -2.46e+00 2.80e+00 0 -1.37 + 25 2 2103 2 -2.75e-02 1.21e-01 -4.38e+03 4.38e+03 0.771 -11.2 + 26 2 2 4 -9.04e-01 8.55e-01 -2.08e+03 2.08e+03 0.33 -8.11 + 27 2 21 4 4.52e-01 3.10e-01 -1.36e+02 1.36e+02 0 -6.21 + 28 2 21 4 -9.67e-02 -1.09e+00 -1.06e+02 1.06e+02 0 -5.26 + 29 2 21 4 -4.84e-01 2.03e-01 -2.16e+01 2.16e+01 0 -4.41 + 30 2 21 4 1.54e-01 8.18e-01 -1.51e+01 1.51e+01 0 -3.59 + 31 2 21 4 3.56e-01 -1.28e+00 -1.60e+01 1.60e+01 0 -3.18 + 32 2 21 4 -5.73e-01 1.88e-01 1.63e+00 1.74e+00 0 1.72 + 33 2 21 4 3.17e+00 -1.61e+00 4.41e+00 5.66e+00 0 1.04 + 34 2 21 4 2.63e+00 -1.74e+00 2.22e+00 3.86e+00 0 0.654 + 35 2 21 4 6.84e+00 -4.44e+00 1.50e+01 1.71e+01 0 1.37 + 36 2 21 4 4.02e+00 -5.41e+00 1.33e+01 1.50e+01 0 1.43 + 37 2 21 4 3.96e+00 -7.35e+00 1.58e+01 1.79e+01 0 1.4 + 38 2 21 0 1.18e+00 3.15e+00 1.29e+02 1.29e+02 0 4.34 + 39 2 21 3 5.69e-01 7.53e-02 1.39e+01 1.39e+01 0 3.88 + 40 2 21 3 4.04e-01 -1.08e+00 2.44e+01 2.44e+01 0 3.75 + 41 2 2203 1 -3.51e-01 -6.53e-01 6.41e+03 6.41e+03 0.771 9.76 + 42 2 -2 9 -3.05e+01 1.04e+01 7.49e+01 8.16e+01 0.33 1.58 + 43 2 21 9 -5.72e+00 5.48e-01 1.38e+01 1.49e+01 0 1.61 + 44 2 2 9 -2.25e+00 1.40e-01 5.14e+00 5.62e+00 0.33 1.56 + 45 2 -2 9 -3.36e+00 3.15e-01 4.67e+00 5.78e+00 0.33 1.13 + 46 2 21 9 -3.73e+00 2.89e+00 1.17e+01 1.26e+01 0 1.64 + 47 2 21 9 -1.80e+00 2.59e+00 1.42e+01 1.46e+01 0 2.21 + 48 2 21 9 4.56e-01 6.83e-01 4.48e+00 4.55e+00 0 2.4 + 49 2 21 9 1.88e+00 2.20e+00 1.63e+01 1.65e+01 0 2.43 + 50 2 21 9 1.05e+01 3.01e+00 5.97e+01 6.07e+01 0 2.4 + 51 2 1 9 1.46e+01 4.23e+00 9.14e+01 9.26e+01 0.33 2.5 + 52 2 3 0 1.01e+01 6.46e+00 2.64e+01 2.90e+01 0 1.53 + 53 2 21 0 -1.18e+00 -3.15e+00 3.56e+00 4.90e+00 0 0.922 + 54 2 21 0 5.44e+00 1.21e-01 -6.09e+00 8.17e+00 0 -0.964 + 55 2 21 0 4.32e+00 8.46e-01 -3.30e+01 3.33e+01 0 -2.71 + 56 2 21 0 2.93e+00 6.67e+00 -6.49e+01 6.53e+01 0 -2.88 + 57 2 21 0 -4.32e+00 -8.46e-01 -3.32e+01 3.35e+01 0 -2.72 + 58 2 21 0 -2.93e+00 -6.67e+00 -1.37e+01 1.55e+01 0 -1.39 + 59 2 21 0 -5.44e+00 -1.21e-01 -6.81e+00 8.72e+00 0 -1.05 + 60 2 -3 0 -1.01e+01 -6.46e+00 -1.07e+01 1.61e+01 0 -0.806 + 61 2 1 0 2.60e+00 1.31e+00 -4.91e+00 5.71e+00 0 -1.29 + 62 2 -1 0 -2.60e+00 -1.31e+00 3.96e+00 4.92e+00 0 1.11 + 63 2 92 11 7.87e+00 -4.52e+00 -3.58e+00 1.25e+01 7.8 -0.385 + 64 1 321 63 1.71e+00 -1.10e+00 -3.93e-01 2.13e+00 0.494 -0.191 + 65 2 -311 63 7.01e-01 -5.76e-01 -6.88e-01 1.24e+00 0.498 -0.7 + 66 1 -211 63 1.01e-01 -4.48e-01 6.62e-01 8.17e-01 0.14 1.16 + 67 2 213 63 2.90e+00 -1.79e+00 -1.15e+00 3.66e+00 0.683 -0.331 + 68 1 2112 63 5.54e-01 1.61e-01 -4.00e-01 1.17e+00 0.94 -0.648 + 69 2 -4122 63 1.90e+00 -7.66e-01 -1.61e+00 3.47e+00 2.28 -0.724 + 70 2 92 17 -2.21e+00 -8.63e-02 -4.42e+03 4.43e+03 275 -8.29 + 71 2 433 70 -1.02e+00 1.26e+00 -8.67e+00 9.07e+00 2.11 -2.38 + 72 2 -311 70 1.55e-01 -5.29e-02 -2.28e+00 2.34e+00 0.498 -3.33 + 73 2 311 70 -1.05e+00 3.55e-01 -1.23e+00 1.73e+00 0.498 -0.957 + 74 1 -321 70 7.17e-02 -8.05e-02 -1.10e+00 1.21e+00 0.494 -3.02 + 75 2 323 70 -9.54e-01 -2.96e-01 -1.10e+00 1.75e+00 0.919 -0.949 + 76 2 -313 70 4.52e-01 8.16e-02 -5.90e-01 1.16e+00 0.888 -1.07 + 77 2 113 70 -2.42e-01 -1.52e-02 2.76e-01 9.17e-01 0.84 0.976 + 78 1 -211 70 9.12e-01 -2.24e-01 -9.72e-02 9.55e-01 0.14 -0.103 + 79 1 211 70 -1.60e-02 -1.10e-01 -3.95e-01 4.33e-01 0.14 -1.98 + 80 1 -211 70 2.23e-02 -1.19e-01 8.04e-02 2.02e-01 0.14 0.622 + 81 2 111 70 2.61e-01 -5.37e-01 3.24e-01 6.93e-01 0.135 0.519 + 82 2 223 70 8.01e-01 -6.07e-01 -2.03e-01 1.29e+00 0.78 -0.201 + 83 1 211 70 1.06e+00 -2.67e-01 -2.20e-01 1.13e+00 0.14 -0.2 + 84 2 -213 70 -3.91e-01 2.68e-01 -1.42e+00 1.64e+00 0.686 -1.82 + 85 2 213 70 -7.10e-01 3.41e-01 -4.57e+00 4.70e+00 0.777 -2.46 + 86 2 113 70 -2.32e-01 -5.52e-01 -5.68e+00 5.77e+00 0.803 -2.95 + 87 2 111 70 -4.61e-01 3.92e-01 -4.80e+00 4.84e+00 0.135 -2.77 + 88 2 311 70 2.75e-01 -1.15e-01 -2.12e+00 2.20e+00 0.498 -2.66 + 89 2 -323 70 -7.04e-01 -2.00e-01 -4.20e+00 4.35e+00 0.883 -2.45 + 90 1 211 70 -1.08e-01 -1.64e-01 -2.39e+00 2.40e+00 0.14 -3.19 + 91 2 111 70 -1.80e-01 6.57e-01 -2.50e+00 2.59e+00 0.135 -2.01 + 92 2 -213 70 -3.77e-01 -2.22e-01 -7.85e+00 7.90e+00 0.721 -3.58 + 93 2 111 70 6.58e-01 1.72e-01 -8.55e+01 8.55e+01 0.135 -5.53 + 94 2 323 70 -4.84e-01 -1.47e-01 -8.40e+01 8.40e+01 0.918 -5.8 + 95 2 331 70 3.58e-01 -1.52e-01 -4.40e+02 4.40e+02 0.958 -7.72 + 96 2 -313 70 -4.84e-01 -3.52e-02 -6.39e+02 6.39e+02 0.888 -7.88 + 97 2 2114 70 2.55e-01 4.35e-01 -1.91e+03 1.91e+03 1.25 -8.93 + 98 2 223 70 -8.23e-02 -1.54e-01 -1.21e+03 1.21e+03 0.785 -9.54 + 99 2 92 26 2.13e+01 -1.91e+01 4.26e+03 9.01e+03 7.94e+03 5.7 + 100 1 211 99 -6.41e-01 7.42e-01 -1.26e+03 1.26e+03 0.14 -7.85 + 101 2 -213 99 2.60e-01 1.71e-01 -5.59e+02 5.59e+02 0.73 -8.19 + 102 1 211 99 4.20e-02 -3.55e-01 -7.29e+01 7.30e+01 0.14 -6.01 + 103 2 223 99 -6.40e-01 2.59e-02 -1.35e+02 1.35e+02 0.779 -6.04 + 104 2 -213 99 -1.28e-01 -2.06e-01 -7.57e+01 7.57e+01 0.759 -6.44 + 105 2 323 99 -1.99e-02 2.68e-01 -6.81e+01 6.81e+01 0.845 -6.23 + 106 1 -321 99 2.71e-01 5.30e-01 -2.62e+01 2.62e+01 0.494 -4.48 + 107 1 211 99 2.94e-01 -4.63e-01 -6.01e+01 6.01e+01 0.14 -5.39 + 108 2 -213 99 2.46e-01 -6.04e-01 -5.80e+01 5.80e+01 0.965 -5.18 + 109 2 323 99 -9.94e-02 -5.34e-01 -2.08e+01 2.08e+01 0.877 -4.34 + 110 2 -323 99 -2.80e-01 3.19e-01 -2.35e+01 2.35e+01 0.937 -4.71 + 111 2 213 99 6.31e-04 8.71e-01 -3.80e+00 3.97e+00 0.726 -2.18 + 112 2 223 99 1.18e-01 -1.82e-01 -9.80e-01 1.27e+00 0.785 -2.21 + 113 1 2112 99 1.92e-01 -5.34e-01 -4.16e+00 4.31e+00 0.94 -2.69 + 114 2 113 99 -2.76e-01 3.80e-01 -4.99e-01 1.01e+00 0.735 -0.926 + 115 1 -2112 99 -9.98e-02 -3.59e-01 -1.86e+00 2.12e+00 0.94 -2.31 + 116 2 -213 99 3.78e-01 3.78e-03 -9.06e-02 1.02e+00 0.942 -0.237 + 117 1 321 99 5.81e-01 -9.72e-01 3.68e-01 1.29e+00 0.494 0.319 + 118 2 333 99 4.71e-01 1.36e-01 1.18e+00 1.63e+00 1.02 1.61 + 119 2 -323 99 1.46e+00 -7.40e-01 2.58e+00 3.19e+00 0.915 1.24 + 120 2 213 99 1.64e+00 -1.18e+00 3.06e+00 3.72e+00 0.626 1.2 + 121 1 -211 99 2.33e+00 -1.49e+00 3.80e+00 4.70e+00 0.14 1.12 + 122 2 113 99 2.07e+00 -2.13e+00 5.85e+00 6.60e+00 0.768 1.43 + 123 2 213 99 1.70e+00 -2.06e+00 5.49e+00 6.16e+00 0.808 1.47 + 124 2 113 99 2.94e+00 -3.10e+00 5.91e+00 7.35e+00 0.871 1.13 + 125 1 2112 99 2.40e+00 -3.20e+00 9.53e+00 1.04e+01 0.94 1.6 + 126 1 -2112 99 3.42e+00 -3.67e+00 9.65e+00 1.09e+01 0.94 1.41 + 127 2 313 99 7.21e-01 -1.99e+00 4.68e+00 5.22e+00 0.905 1.53 + 128 2 -313 99 2.79e-01 -8.19e-02 1.17e+01 1.18e+01 0.896 4.39 + 129 2 113 99 -8.27e-02 3.45e-01 6.12e+00 6.17e+00 0.726 3.54 + 130 2 311 99 2.47e-01 4.19e-01 1.83e+01 1.83e+01 0.498 4.32 + 131 2 -311 99 2.94e-01 5.41e-01 2.32e+01 2.32e+01 0.498 4.32 + 132 1 -211 99 8.26e-01 2.00e-01 1.26e+01 1.27e+01 0.14 3.39 + 133 2 221 99 -2.00e-01 6.50e-01 4.38e+01 4.38e+01 0.547 4.86 + 134 2 2224 99 1.18e+00 3.26e-01 6.75e+01 6.75e+01 1.15 4.7 + 135 2 -213 99 -6.01e-01 -1.79e-01 5.42e+01 5.42e+01 0.732 5.15 + 136 2 -2214 99 4.88e-01 -5.76e-01 1.59e+03 1.59e+03 1.27 8.34 + 137 2 113 99 -4.14e-01 -8.62e-02 1.44e+03 1.44e+03 0.779 8.82 + 138 2 2224 99 -3.94e-02 -3.06e-01 3.32e+03 3.32e+03 1.27 9.98 + 139 2 92 42 -3.85e+01 1.11e+01 9.38e+01 1.02e+02 4.19 1.59 + 140 1 -211 139 -1.92e+01 6.19e+00 4.66e+01 5.07e+01 0.14 1.57 + 141 1 211 139 -3.82e+00 4.12e-01 8.85e+00 9.65e+00 0.14 1.57 + 142 1 -211 139 -1.93e-01 3.83e-02 7.41e-01 7.79e-01 0.14 2.03 + 143 2 -313 139 -8.26e+00 2.71e+00 2.04e+01 2.22e+01 0.906 1.59 + 144 2 323 139 -7.05e+00 1.77e+00 1.73e+01 1.87e+01 0.728 1.6 + 145 2 92 45 1.85e+01 1.59e+01 2.02e+02 2.07e+02 37.8 2.81 + 146 1 -2112 145 -2.67e+00 8.22e-01 3.90e+00 4.89e+00 0.94 1.14 + 147 1 -211 145 -3.48e+00 1.50e+00 1.00e+01 1.07e+01 0.14 1.7 + 148 1 2212 145 -1.51e+00 1.91e+00 8.19e+00 8.59e+00 0.938 1.93 + 149 2 113 145 -1.24e-01 2.53e-01 1.53e+00 1.60e+00 0.394 2.39 + 150 1 -2212 145 1.36e-01 5.28e-01 4.27e+00 4.41e+00 0.938 2.76 + 151 1 2212 145 5.83e-01 1.68e+00 1.43e+01 1.44e+01 0.938 2.78 + 152 2 111 145 1.42e+00 4.67e-02 6.03e+00 6.20e+00 0.135 2.15 + 153 1 -211 145 -8.89e-03 7.54e-01 4.39e+00 4.45e+00 0.14 2.46 + 154 2 113 145 1.82e+00 1.08e+00 1.14e+01 1.16e+01 0.662 2.39 + 155 2 213 145 1.50e+00 3.54e-01 8.50e+00 8.66e+00 0.543 2.41 + 156 2 223 145 4.64e+00 1.66e+00 3.07e+01 3.11e+01 0.783 2.53 + 157 2 -213 145 4.00e+00 1.47e+00 2.83e+01 2.87e+01 0.781 2.59 + 158 2 113 145 9.36e+00 3.15e+00 5.49e+01 5.58e+01 0.813 2.42 + 159 2 221 145 2.89e+00 6.97e-01 1.59e+01 1.62e+01 0.547 2.38 + 160 2 92 52 -1.18e+00 -3.15e+00 -1.38e+02 2.14e+02 164 -4.41 + 161 2 -313 160 8.20e+00 5.40e+00 2.22e+01 2.43e+01 0.85 1.55 + 162 2 3214 160 1.12e+00 4.11e-02 3.73e+00 4.12e+00 1.37 1.92 + 163 2 -3122 160 5.49e-01 6.72e-02 1.24e+00 1.76e+00 1.12 1.55 + 164 1 -211 160 -1.82e-01 -7.44e-01 9.33e-01 1.22e+00 0.14 1.03 + 165 2 213 160 -2.45e-01 -1.94e-01 4.92e-01 1.10e+00 0.935 1.23 + 166 2 111 160 1.08e-01 -8.60e-02 -1.22e-01 2.28e-01 0.135 -0.794 + 167 1 2112 160 2.14e-01 -3.28e-01 2.57e-01 1.05e+00 0.94 0.615 + 168 2 -3122 160 -1.70e-01 -3.31e-01 -2.56e-01 1.20e+00 1.12 -0.643 + 169 2 -323 160 1.85e+00 7.75e-02 -1.78e+00 2.72e+00 0.889 -0.852 + 170 2 221 160 1.14e-01 -4.01e-01 -1.22e+00 1.40e+00 0.547 -1.8 + 171 1 2212 160 1.25e-01 1.50e-01 -1.05e+00 1.42e+00 0.938 -2.38 + 172 1 -211 160 5.52e-01 1.11e-01 -2.97e+00 3.02e+00 0.14 -2.36 + 173 2 -3114 160 2.42e+00 1.39e-01 -3.48e+00 4.47e+00 1.4 -1.16 + 174 1 -321 160 9.73e-01 -3.24e-01 -5.77e+00 5.88e+00 0.494 -2.43 + 175 1 321 160 1.16e+00 4.08e-01 -8.77e+00 8.87e+00 0.494 -2.66 + 176 1 -321 160 1.25e+00 5.81e-01 -7.70e+00 7.83e+00 0.494 -2.42 + 177 1 211 160 4.64e-01 -3.11e-03 -6.88e+00 6.90e+00 0.14 -3.39 + 178 2 113 160 1.14e+00 2.00e+00 -1.82e+01 1.84e+01 0.994 -2.76 + 179 2 113 160 -3.80e-01 6.95e-01 -1.14e+01 1.14e+01 0.752 -3.36 + 180 1 -211 160 1.11e+00 1.52e+00 -2.01e+01 2.01e+01 0.14 -3.06 + 181 1 211 160 2.48e-02 2.32e-01 -4.84e-01 5.55e-01 0.14 -1.47 + 182 2 221 160 -4.25e-01 6.00e-01 -9.45e+00 9.49e+00 0.547 -3.25 + 183 2 111 160 -3.24e-01 -3.98e-01 -7.93e+00 7.95e+00 0.135 -3.43 + 184 2 111 160 -5.02e-01 1.52e+00 -8.24e+00 8.39e+00 0.135 -2.34 + 185 1 -211 160 2.40e-01 -3.13e-01 -3.14e+00 3.17e+00 0.14 -2.77 + 186 2 111 160 -7.18e-01 -1.57e+00 -4.65e+00 4.96e+00 0.135 -1.72 + 187 2 213 160 -8.78e-01 1.07e-01 -7.77e+00 7.86e+00 0.767 -2.87 + 188 2 -213 160 -1.76e+00 -2.18e+00 -9.93e+00 1.04e+01 1.06 -1.98 + 189 2 111 160 6.07e-02 -1.49e-01 -8.84e-02 2.28e-01 0.135 -0.525 + 190 2 3322 160 -8.98e-01 -1.41e+00 -4.95e+00 5.39e+00 1.31 -1.81 + 191 2 311 160 -9.82e-01 -7.93e-01 -1.45e+00 1.99e+00 0.498 -0.983 + 192 2 -3212 160 -1.74e+00 -8.22e-01 -3.73e+00 4.37e+00 1.19 -1.42 + 193 1 211 160 -1.43e+00 -6.08e-01 -2.67e+00 3.09e+00 0.14 -1.31 + 194 1 -211 160 -2.55e+00 -5.24e-01 -2.06e+00 3.33e+00 0.14 -0.726 + 195 1 211 160 -2.06e-01 1.66e-02 -9.11e-01 9.44e-01 0.14 -2.19 + 196 2 311 160 -9.46e+00 -5.65e+00 -1.01e+01 1.50e+01 0.498 -0.822 + 197 2 92 61 0.00e+00 0.00e+00 -9.45e-01 1.06e+01 10.6 -999 + 198 1 2112 197 8.84e-01 7.25e-01 -1.68e+00 2.24e+00 0.94 -1.18 + 199 2 111 197 1.26e-01 -7.90e-02 -4.64e-01 5.05e-01 0.135 -1.85 + 200 1 -2112 197 7.98e-01 4.22e-01 -1.89e+00 2.29e+00 0.94 -1.48 + 201 2 313 197 -3.43e-01 -3.37e-01 4.35e-01 1.21e+00 1.02 0.812 + 202 1 -321 197 3.57e-01 4.88e-01 3.32e-01 8.48e-01 0.494 0.525 + 203 1 321 197 -1.24e+00 -6.20e-01 1.30e+00 1.96e+00 0.494 0.832 + 204 2 -313 197 -5.78e-01 -5.99e-01 1.02e+00 1.57e+00 0.848 1.04 + 205 1 130 65 7.01e-01 -5.76e-01 -6.88e-01 1.24e+00 0.498 -0.7 + 206 1 211 67 2.36e-01 -2.66e-01 -2.61e-01 4.63e-01 0.14 -0.68 + 207 2 111 67 2.66e+00 -1.52e+00 -8.87e-01 3.20e+00 0.135 -0.285 + 208 2 311 69 9.81e-01 -7.18e-01 -6.84e-01 1.48e+00 0.498 -0.537 + 209 2 111 69 1.58e-01 5.46e-02 1.09e-01 2.41e-01 0.135 0.612 + 210 2 -2214 69 7.60e-01 -1.03e-01 -1.04e+00 1.75e+00 1.17 -1.11 + 211 2 431 71 -8.95e-01 1.08e+00 -7.52e+00 7.90e+00 1.97 -2.38 + 212 1 22 71 -1.29e-01 1.81e-01 -1.15e+00 1.17e+00 0 -2.35 + 213 1 130 72 1.55e-01 -5.29e-02 -2.28e+00 2.34e+00 0.498 -3.33 + 214 2 310 73 -1.05e+00 3.55e-01 -1.23e+00 1.73e+00 0.498 -0.957 + 215 2 311 75 -6.33e-01 -2.07e-01 -3.24e-01 8.93e-01 0.498 -0.47 + 216 1 211 75 -3.21e-01 -8.88e-02 -7.73e-01 8.53e-01 0.14 -1.58 + 217 2 -311 76 2.92e-01 -1.61e-01 -1.52e-01 6.18e-01 0.498 -0.442 + 218 2 111 76 1.60e-01 2.43e-01 -4.37e-01 5.42e-01 0.135 -1.2 + 219 1 -211 77 1.94e-02 -2.03e-03 5.16e-01 5.35e-01 0.14 3.97 + 220 1 211 77 -2.61e-01 -1.32e-02 -2.40e-01 3.82e-01 0.14 -0.823 + 221 1 22 81 5.47e-02 -5.81e-02 2.18e-03 7.98e-02 0 0.0273 + 222 1 22 81 2.07e-01 -4.79e-01 3.22e-01 6.13e-01 0 0.584 + 223 1 -211 82 4.28e-01 -1.04e-01 -1.20e-01 4.77e-01 0.14 -0.268 + 224 1 211 82 3.27e-01 -4.82e-01 -1.93e-01 6.30e-01 0.14 -0.326 + 225 2 111 82 4.60e-02 -2.04e-02 1.10e-01 1.81e-01 0.135 1.52 + 226 1 -211 84 -2.19e-01 3.16e-01 -1.35e+00 1.41e+00 0.14 -1.97 + 227 2 111 84 -1.72e-01 -4.83e-02 -6.72e-02 2.34e-01 0.135 -0.368 + 228 1 211 85 -3.93e-01 -1.22e-01 -1.07e+00 1.15e+00 0.14 -1.68 + 229 2 111 85 -3.17e-01 4.63e-01 -3.50e+00 3.55e+00 0.135 -2.53 + 230 1 -211 86 -2.57e-01 -1.01e-01 -7.01e-01 7.66e-01 0.14 -1.66 + 231 1 211 86 2.51e-02 -4.50e-01 -4.98e+00 5.01e+00 0.14 -3.1 + 232 1 22 87 -2.30e-01 2.71e-01 -3.03e+00 3.06e+00 0 -2.84 + 233 1 22 87 -2.30e-01 1.22e-01 -1.76e+00 1.78e+00 0 -2.61 + 234 2 310 88 2.75e-01 -1.15e-01 -2.12e+00 2.20e+00 0.498 -2.66 + 235 1 -321 89 -2.92e-01 6.82e-02 -1.53e+00 1.63e+00 0.494 -2.33 + 236 2 111 89 -4.11e-01 -2.68e-01 -2.67e+00 2.72e+00 0.135 -2.4 + 237 1 22 91 -2.35e-02 1.53e-01 -3.88e-01 4.18e-01 0 -1.65 + 238 1 22 91 -1.56e-01 5.04e-01 -2.11e+00 2.17e+00 0 -2.09 + 239 1 -211 92 -1.59e-01 3.14e-02 -6.12e-01 6.48e-01 0.14 -2.04 + 240 2 111 92 -2.18e-01 -2.53e-01 -7.24e+00 7.25e+00 0.135 -3.77 + 241 1 22 93 3.45e-01 1.55e-01 -4.95e+01 4.95e+01 0 -5.57 + 242 1 22 93 3.13e-01 1.62e-02 -3.60e+01 3.60e+01 0 -5.44 + 243 2 311 94 -3.96e-01 8.54e-02 -3.62e+01 3.62e+01 0.498 -5.19 + 244 1 211 94 -8.83e-02 -2.32e-01 -4.78e+01 4.78e+01 0.14 -5.95 + 245 2 111 95 5.21e-02 1.26e-01 -7.90e+01 7.90e+01 0.135 -7.05 + 246 2 111 95 -5.22e-03 -1.42e-01 -7.65e+01 7.65e+01 0.135 -6.98 + 247 2 221 95 3.11e-01 -1.36e-01 -2.84e+02 2.84e+02 0.547 -7.42 + 248 2 -311 96 -5.55e-01 -1.48e-01 -3.98e+02 3.98e+02 0.498 -7.23 + 249 2 111 96 7.14e-02 1.13e-01 -2.41e+02 2.41e+02 0.135 -8.19 + 250 1 2112 97 2.22e-01 2.29e-01 -1.13e+03 1.13e+03 0.94 -8.86 + 251 2 111 97 3.35e-02 2.06e-01 -7.83e+02 7.83e+02 0.135 -8.93 + 252 1 -211 98 -5.86e-02 -3.37e-02 -8.25e+02 8.25e+02 0.14 -10.1 + 253 1 211 98 -1.09e-01 5.81e-02 -2.24e+02 2.24e+02 0.14 -8.19 + 254 2 111 98 8.56e-02 -1.78e-01 -1.64e+02 1.64e+02 0.135 -7.42 + 255 1 -211 101 -1.95e-01 2.28e-02 -2.93e+02 2.93e+02 0.14 -8 + 256 2 111 101 4.55e-01 1.48e-01 -2.66e+02 2.66e+02 0.135 -7.02 + 257 1 22 103 -1.47e-01 -5.63e-02 -9.81e+01 9.81e+01 0 -7.13 + 258 2 111 103 -4.93e-01 8.22e-02 -3.68e+01 3.68e+01 0.135 -4.99 + 259 1 -211 104 -2.32e-01 2.07e-01 -3.89e+01 3.89e+01 0.14 -5.52 + 260 2 111 104 1.04e-01 -4.13e-01 -3.68e+01 3.68e+01 0.135 -5.15 + 261 2 311 105 -1.64e-01 3.87e-01 -4.83e+01 4.83e+01 0.498 -5.44 + 262 1 211 105 1.45e-01 -1.19e-01 -1.98e+01 1.98e+01 0.14 -5.35 + 263 1 -211 108 1.87e-01 -2.52e-01 -5.71e+00 5.72e+00 0.14 -3.6 + 264 2 111 108 5.94e-02 -3.53e-01 -5.23e+01 5.23e+01 0.135 -5.68 + 265 1 321 109 -2.71e-01 -2.10e-01 -9.62e+00 9.64e+00 0.494 -4.03 + 266 2 111 109 1.71e-01 -3.24e-01 -1.12e+01 1.12e+01 0.135 -4.11 + 267 1 -321 110 -4.04e-01 -1.61e-02 -1.32e+01 1.32e+01 0.494 -4.18 + 268 2 111 110 1.25e-01 3.35e-01 -1.03e+01 1.03e+01 0.135 -4.05 + 269 1 211 111 1.44e-01 5.65e-01 -3.26e+00 3.31e+00 0.14 -2.42 + 270 2 111 111 -1.43e-01 3.06e-01 -5.42e-01 6.53e-01 0.135 -1.25 + 271 1 -211 112 -1.15e-02 -1.83e-01 -6.48e-01 6.88e-01 0.14 -1.97 + 272 1 211 112 5.98e-02 -1.80e-01 -1.04e-01 2.57e-01 0.14 -0.521 + 273 2 111 112 6.94e-02 1.81e-01 -2.29e-01 3.29e-01 0.135 -1 + 274 1 -211 114 -4.38e-01 2.92e-02 -2.85e-01 5.42e-01 0.14 -0.609 + 275 1 211 114 1.62e-01 3.50e-01 -2.15e-01 4.63e-01 0.14 -0.53 + 276 1 -211 116 2.05e-01 2.33e-01 -4.34e-01 5.51e-01 0.14 -1.14 + 277 2 111 116 1.74e-01 -2.29e-01 3.44e-01 4.68e-01 0.135 1.01 + 278 2 213 118 4.40e-01 2.29e-01 1.04e+00 1.41e+00 0.818 1.48 + 279 1 -211 118 3.07e-02 -9.28e-02 1.45e-01 2.24e-01 0.14 1.18 + 280 2 -311 119 8.94e-01 -6.91e-01 1.36e+00 1.84e+00 0.498 1.02 + 281 1 -211 119 5.66e-01 -4.89e-02 1.22e+00 1.35e+00 0.14 1.51 + 282 1 211 120 3.39e-01 -4.00e-01 1.19e+00 1.31e+00 0.14 1.56 + 283 2 111 120 1.31e+00 -7.81e-01 1.87e+00 2.42e+00 0.135 1.04 + 284 1 211 122 1.41e-01 -1.08e-02 3.59e-01 4.10e-01 0.14 1.66 + 285 1 -211 122 1.93e+00 -2.12e+00 5.49e+00 6.19e+00 0.14 1.41 + 286 1 211 123 6.20e-01 -3.18e-01 1.07e+00 1.29e+00 0.14 1.22 + 287 2 111 123 1.08e+00 -1.74e+00 4.42e+00 4.88e+00 0.135 1.51 + 288 1 211 124 1.04e+00 -1.30e+00 1.69e+00 2.38e+00 0.14 0.89 + 289 1 -211 124 1.90e+00 -1.80e+00 4.22e+00 4.97e+00 0.14 1.26 + 290 1 321 127 4.06e-01 -7.00e-01 1.62e+00 1.88e+00 0.494 1.45 + 291 1 -211 127 3.15e-01 -1.29e+00 3.06e+00 3.34e+00 0.14 1.57 + 292 2 -311 128 2.52e-01 2.13e-01 6.38e+00 6.41e+00 0.498 3.66 + 293 2 111 128 2.76e-02 -2.95e-01 5.34e+00 5.35e+00 0.135 3.58 + 294 1 -211 129 2.76e-01 1.30e-01 3.53e+00 3.54e+00 0.14 3.14 + 295 1 211 129 -3.58e-01 2.16e-01 2.59e+00 2.63e+00 0.14 2.52 + 296 2 310 130 2.47e-01 4.19e-01 1.83e+01 1.83e+01 0.498 4.32 + 297 2 310 131 2.94e-01 5.41e-01 2.32e+01 2.32e+01 0.498 4.32 + 298 2 111 133 -7.30e-02 3.67e-01 2.23e+01 2.23e+01 0.135 4.78 + 299 2 111 133 -6.87e-02 2.83e-01 1.36e+01 1.36e+01 0.135 4.53 + 300 2 111 133 -5.83e-02 3.68e-04 7.86e+00 7.86e+00 0.135 5.6 + 301 1 2212 134 1.03e+00 2.06e-01 5.23e+01 5.23e+01 0.938 4.6 + 302 1 211 134 1.47e-01 1.20e-01 1.51e+01 1.51e+01 0.14 5.07 + 303 1 -211 135 -3.22e-01 -9.69e-02 4.70e+01 4.70e+01 0.14 5.63 + 304 2 111 135 -2.79e-01 -8.26e-02 7.17e+00 7.18e+00 0.135 3.9 + 305 1 -2212 136 2.53e-01 -6.06e-01 1.42e+03 1.42e+03 0.938 8.37 + 306 2 111 136 2.34e-01 2.95e-02 1.66e+02 1.66e+02 0.135 7.25 + 307 1 -211 137 5.80e-02 2.46e-01 4.17e+02 4.17e+02 0.14 8.1 + 308 1 211 137 -4.72e-01 -3.33e-01 1.02e+03 1.02e+03 0.14 8.17 + 309 1 2212 138 -2.68e-01 -2.79e-01 2.31e+03 2.31e+03 0.938 9.39 + 310 1 211 138 2.28e-01 -2.69e-02 1.01e+03 1.01e+03 0.14 9.08 + 311 1 -321 143 -4.53e+00 1.19e+00 1.10e+01 1.20e+01 0.494 1.59 + 312 1 211 143 -3.72e+00 1.52e+00 9.44e+00 1.03e+01 0.14 1.59 + 313 2 311 144 -3.56e+00 8.89e-01 8.76e+00 9.51e+00 0.498 1.6 + 314 1 211 144 -3.49e+00 8.78e-01 8.49e+00 9.22e+00 0.14 1.59 + 315 1 -211 149 -4.77e-02 1.61e-01 1.26e+00 1.27e+00 0.14 2.71 + 316 1 211 149 -7.68e-02 9.18e-02 2.73e-01 3.29e-01 0.14 1.56 + 317 1 22 152 1.30e+00 7.66e-02 5.45e+00 5.60e+00 0 2.14 + 318 1 22 152 1.16e-01 -2.99e-02 5.83e-01 5.95e-01 0 2.28 + 319 1 -211 154 1.28e+00 5.89e-01 8.66e+00 8.78e+00 0.14 2.51 + 320 1 211 154 5.37e-01 4.94e-01 2.77e+00 2.86e+00 0.14 2.04 + 321 1 211 155 1.26e-01 1.24e-01 1.53e+00 1.54e+00 0.14 2.85 + 322 2 111 155 1.38e+00 2.30e-01 6.97e+00 7.11e+00 0.135 2.31 + 323 1 22 156 3.88e+00 1.10e+00 2.51e+01 2.55e+01 0 2.53 + 324 2 111 156 7.65e-01 5.65e-01 5.53e+00 5.61e+00 0.135 2.46 + 325 1 -211 157 3.86e+00 1.32e+00 2.70e+01 2.73e+01 0.14 2.59 + 326 2 111 157 1.38e-01 1.52e-01 1.36e+00 1.38e+00 0.135 2.59 + 327 1 211 158 4.44e+00 1.23e+00 2.40e+01 2.44e+01 0.14 2.35 + 328 1 -211 158 4.92e+00 1.92e+00 3.09e+01 3.14e+01 0.14 2.47 + 329 1 22 159 2.30e+00 4.37e-01 1.35e+01 1.37e+01 0 2.45 + 330 1 22 159 5.83e-01 2.60e-01 2.48e+00 2.56e+00 0 2.07 + 331 1 -321 161 3.81e+00 2.39e+00 9.78e+00 1.08e+01 0.494 1.52 + 332 1 211 161 4.39e+00 3.01e+00 1.24e+01 1.35e+01 0.14 1.58 + 333 2 3122 162 1.16e+00 -1.41e-02 3.50e+00 3.85e+00 1.12 1.82 + 334 2 111 162 -4.08e-02 5.52e-02 2.25e-01 2.71e-01 0.135 1.9 + 335 1 -2212 163 4.36e-01 5.70e-02 1.17e+00 1.57e+00 0.938 1.71 + 336 1 211 163 1.13e-01 1.02e-02 6.62e-02 1.92e-01 0.14 0.555 + 337 1 211 165 2.19e-02 -4.77e-01 4.78e-01 6.90e-01 0.14 0.883 + 338 2 111 165 -2.67e-01 2.82e-01 1.37e-02 4.12e-01 0.135 0.0353 + 339 1 22 166 1.89e-02 -1.10e-02 2.99e-02 3.71e-02 0 1.12 + 340 1 22 166 8.94e-02 -7.50e-02 -1.52e-01 1.91e-01 0 -1.08 + 341 1 -2212 168 -7.40e-02 -2.64e-01 -2.87e-01 1.02e+00 0.938 -0.916 + 342 1 211 168 -9.57e-02 -6.75e-02 3.13e-02 1.85e-01 0.14 0.264 + 343 2 -311 169 1.11e+00 1.64e-01 -1.43e+00 1.88e+00 0.498 -1.06 + 344 1 -211 169 7.37e-01 -8.61e-02 -3.51e-01 8.33e-01 0.14 -0.457 + 345 1 22 170 -5.71e-02 -3.35e-01 -2.72e-01 4.35e-01 0 -0.734 + 346 1 22 170 1.71e-01 -6.58e-02 -9.47e-01 9.65e-01 0 -2.35 + 347 2 -3212 173 2.00e+00 8.21e-02 -2.68e+00 3.55e+00 1.19 -1.1 + 348 1 211 173 4.27e-01 5.65e-02 -7.98e-01 9.18e-01 0.14 -1.38 + 349 1 211 178 6.16e-01 3.37e-01 -3.88e+00 3.94e+00 0.14 -2.41 + 350 1 -211 178 5.27e-01 1.67e+00 -1.43e+01 1.44e+01 0.14 -2.8 + 351 1 211 179 -2.70e-01 -6.60e-02 -3.29e+00 3.30e+00 0.14 -3.17 + 352 1 -211 179 -1.10e-01 7.61e-01 -8.11e+00 8.14e+00 0.14 -3.05 + 353 1 -211 182 -9.58e-02 6.94e-02 -2.66e+00 2.66e+00 0.14 -3.81 + 354 1 211 182 -1.02e-01 7.84e-02 -1.43e+00 1.44e+00 0.14 -3.1 + 355 2 111 182 -2.28e-01 4.52e-01 -5.36e+00 5.39e+00 0.135 -3.06 + 356 1 22 183 -1.48e-02 -9.82e-02 -1.65e+00 1.65e+00 0 -3.5 + 357 1 22 183 -3.09e-01 -3.00e-01 -6.28e+00 6.30e+00 0 -3.37 + 358 1 22 184 -4.11e-01 1.37e+00 -7.24e+00 7.38e+00 0 -2.32 + 359 1 22 184 -9.08e-02 1.52e-01 -1.00e+00 1.02e+00 0 -2.43 + 360 1 22 186 -3.06e-01 -8.16e-01 -2.26e+00 2.43e+00 0 -1.68 + 361 1 22 186 -4.12e-01 -7.50e-01 -2.38e+00 2.53e+00 0 -1.75 + 362 1 211 187 -3.54e-01 -2.47e-01 -4.61e+00 4.63e+00 0.14 -3.06 + 363 2 111 187 -5.24e-01 3.54e-01 -3.16e+00 3.23e+00 0.135 -2.31 + 364 1 -211 188 -1.74e+00 -1.77e+00 -7.46e+00 7.86e+00 0.14 -1.82 + 365 2 111 188 -1.76e-02 -4.09e-01 -2.48e+00 2.51e+00 0.135 -2.5 + 366 1 22 189 -9.00e-03 -2.12e-02 3.17e-02 3.91e-02 0 1.12 + 367 1 22 189 6.97e-02 -1.28e-01 -1.20e-01 1.89e-01 0 -0.752 + 368 2 3122 190 -8.65e-01 -1.40e+00 -4.68e+00 5.08e+00 1.12 -1.77 + 369 2 111 190 -3.31e-02 -1.44e-02 -2.71e-01 3.05e-01 0.135 -2.72 + 370 1 130 191 -9.82e-01 -7.93e-01 -1.45e+00 1.99e+00 0.498 -0.983 + 371 2 -3122 192 -1.68e+00 -7.73e-01 -3.69e+00 4.28e+00 1.12 -1.44 + 372 1 22 192 -6.06e-02 -4.96e-02 -3.98e-02 8.79e-02 0 -0.488 + 373 1 130 196 -9.46e+00 -5.65e+00 -1.01e+01 1.50e+01 0.498 -0.822 + 374 1 22 199 9.79e-03 -8.22e-02 -1.61e-01 1.81e-01 0 -1.42 + 375 1 22 199 1.17e-01 3.12e-03 -3.03e-01 3.25e-01 0 -1.68 + 376 1 321 201 -3.16e-02 -2.46e-01 6.04e-01 8.18e-01 0.494 1.62 + 377 1 -211 201 -3.11e-01 -9.06e-02 -1.69e-01 3.91e-01 0.14 -0.5 + 378 1 -321 204 -5.00e-01 -6.69e-01 9.99e-01 1.39e+00 0.494 1.01 + 379 1 211 204 -7.81e-02 7.01e-02 2.59e-02 1.77e-01 0.14 0.245 + 380 1 22 207 1.80e+00 -9.80e-01 -6.42e-01 2.15e+00 0 -0.308 + 381 1 22 207 8.67e-01 -5.43e-01 -2.46e-01 1.05e+00 0 -0.238 + 382 1 130 208 9.81e-01 -7.18e-01 -6.84e-01 1.48e+00 0.498 -0.537 + 383 1 22 209 1.07e-01 4.44e-02 -4.63e-03 1.16e-01 0 -0.0399 + 384 1 22 209 5.06e-02 1.02e-02 1.13e-01 1.25e-01 0 1.53 + 385 1 -2212 210 7.79e-01 -1.31e-01 -1.04e+00 1.61e+00 0.938 -1.09 + 386 2 111 210 -1.93e-02 2.82e-02 -2.50e-03 1.39e-01 0.135 -0.0732 + 387 1 -11 211 -2.79e-01 4.09e-01 -7.59e-01 9.06e-01 0.00051 -1.21 + 388 1 12 211 2.11e-01 -1.09e-01 -5.80e-01 6.26e-01 0 -1.63 + 389 2 333 211 -8.27e-01 7.82e-01 -6.18e+00 6.36e+00 1.02 -2.39 + 390 2 111 214 -5.51e-01 1.80e-03 -7.47e-01 9.38e-01 0.135 -1.11 + 391 2 111 214 -4.97e-01 3.53e-01 -4.81e-01 7.89e-01 0.135 -0.724 + 392 1 130 215 -6.33e-01 -2.07e-01 -3.24e-01 8.93e-01 0.498 -0.47 + 393 2 310 217 2.92e-01 -1.61e-01 -1.52e-01 6.18e-01 0.498 -0.442 + 394 1 22 218 1.73e-01 2.51e-01 -4.17e-01 5.17e-01 0 -1.12 + 395 1 22 218 -1.31e-02 -8.36e-03 -1.99e-02 2.53e-02 0 -1.07 + 396 1 22 225 -3.70e-02 2.04e-02 6.70e-02 7.92e-02 0 1.24 + 397 1 22 225 8.30e-02 -4.08e-02 4.29e-02 1.02e-01 0 0.449 + 398 1 22 227 6.16e-03 2.03e-02 1.50e-02 2.59e-02 0 0.659 + 399 1 22 227 -1.78e-01 -6.85e-02 -8.22e-02 2.08e-01 0 -0.418 + 400 1 22 229 -1.10e-01 2.13e-01 -1.13e+00 1.16e+00 0 -2.26 + 401 1 22 229 -2.07e-01 2.50e-01 -2.37e+00 2.39e+00 0 -2.69 + 402 1 -211 234 1.32e-02 1.10e-01 -3.96e-01 4.34e-01 0.14 -1.99 + 403 1 211 234 2.62e-01 -2.25e-01 -1.73e+00 1.77e+00 0.14 -2.31 + 404 1 22 236 -1.25e-01 -4.04e-02 -9.95e-01 1.00e+00 0 -2.72 + 405 1 22 236 -2.87e-01 -2.28e-01 -1.68e+00 1.72e+00 0 -2.23 + 406 1 22 240 -1.90e-01 -1.40e-01 -5.51e+00 5.52e+00 0 -3.84 + 407 1 22 240 -2.78e-02 -1.13e-01 -1.73e+00 1.73e+00 0 -3.4 + 408 1 130 243 -3.96e-01 8.54e-02 -3.62e+01 3.62e+01 0.498 -5.19 + 409 1 22 245 3.09e-02 5.98e-03 -3.68e+00 3.68e+00 0 -5.46 + 410 1 22 245 2.13e-02 1.20e-01 -7.53e+01 7.53e+01 0 -7.12 + 411 1 22 246 3.86e-02 5.61e-03 -2.14e+01 2.14e+01 0 -7 + 412 1 22 246 -4.38e-02 -1.48e-01 -5.51e+01 5.51e+01 0 -6.57 + 413 1 22 247 4.41e-01 -2.15e-01 -2.10e+02 2.10e+02 0 -6.75 + 414 1 22 247 -1.30e-01 7.90e-02 -7.48e+01 7.48e+01 0 -6.89 + 415 1 130 248 -5.55e-01 -1.48e-01 -3.98e+02 3.98e+02 0.498 -7.23 + 416 1 22 249 -1.04e-02 3.14e-02 -1.48e+02 1.48e+02 0 -9.1 + 417 1 22 249 8.18e-02 8.12e-02 -9.38e+01 9.38e+01 0 -7.39 + 418 1 22 251 6.61e-02 6.91e-02 -2.05e+02 2.05e+02 0 -8.36 + 419 1 22 251 -3.26e-02 1.36e-01 -5.78e+02 5.78e+02 0 -9.02 + 420 1 22 254 4.60e-02 9.82e-03 -2.97e+01 2.97e+01 0 -7.14 + 421 1 22 254 3.96e-02 -1.88e-01 -1.35e+02 1.35e+02 0 -7.25 + 422 1 22 256 3.91e-02 4.88e-02 -5.20e+01 5.20e+01 0 -7.42 + 423 1 22 256 4.16e-01 9.96e-02 -2.15e+02 2.15e+02 0 -6.91 + 424 1 22 258 -3.54e-01 9.84e-03 -2.81e+01 2.81e+01 0 -5.07 + 425 1 22 258 -1.38e-01 7.23e-02 -8.68e+00 8.68e+00 0 -4.71 + 426 1 22 260 1.03e-01 -3.86e-01 -3.01e+01 3.01e+01 0 -5.01 + 427 1 22 260 4.37e-04 -2.70e-02 -6.77e+00 6.77e+00 0 -6.22 + 428 1 130 261 -1.64e-01 3.87e-01 -4.83e+01 4.83e+01 0.498 -5.44 + 429 1 22 264 5.43e-02 -2.37e-01 -2.58e+01 2.58e+01 0 -5.36 + 430 1 22 264 5.06e-03 -1.16e-01 -2.65e+01 2.65e+01 0 -6.12 + 431 1 22 266 -2.06e-02 -6.46e-02 -2.05e+00 2.05e+00 0 -4.1 + 432 1 22 266 1.92e-01 -2.59e-01 -9.11e+00 9.11e+00 0 -4.03 + 433 1 22 268 8.52e-03 2.14e-01 -5.57e+00 5.57e+00 0 -3.95 + 434 1 22 268 1.16e-01 1.21e-01 -4.69e+00 4.69e+00 0 -4.02 + 435 1 22 270 -2.10e-02 1.81e-01 -2.13e-01 2.80e-01 0 -0.997 + 436 1 22 270 -1.22e-01 1.25e-01 -3.29e-01 3.72e-01 0 -1.39 + 437 1 22 273 1.02e-01 1.75e-01 -2.05e-01 2.88e-01 0 -0.889 + 438 1 22 273 -3.25e-02 5.95e-03 -2.40e-02 4.08e-02 0 -0.675 + 439 1 22 277 -2.23e-02 -1.76e-02 4.15e-02 5.03e-02 0 1.17 + 440 1 22 277 1.96e-01 -2.11e-01 3.02e-01 4.18e-01 0 0.914 + 441 1 211 278 1.74e-01 -1.80e-01 3.51e-02 2.89e-01 0.14 0.14 + 442 2 111 278 2.66e-01 4.09e-01 1.00e+00 1.12e+00 0.135 1.47 + 443 2 310 280 8.94e-01 -6.91e-01 1.36e+00 1.84e+00 0.498 1.02 + 444 1 22 283 2.70e-01 -1.81e-01 4.87e-01 5.85e-01 0 1.19 + 445 1 22 283 1.04e+00 -6.00e-01 1.38e+00 1.83e+00 0 0.988 + 446 1 22 287 9.05e-01 -1.54e+00 3.89e+00 4.28e+00 0 1.52 + 447 1 22 287 1.73e-01 -2.01e-01 5.32e-01 5.94e-01 0 1.45 + 448 1 130 292 2.52e-01 2.13e-01 6.38e+00 6.41e+00 0.498 3.66 + 449 1 22 293 7.28e-03 2.74e-03 8.37e-01 8.37e-01 0 5.37 + 450 1 22 293 2.03e-02 -2.98e-01 4.50e+00 4.51e+00 0 3.41 + 451 2 111 296 7.02e-02 6.55e-02 1.10e+01 1.10e+01 0.135 5.44 + 452 2 111 296 1.77e-01 3.53e-01 7.26e+00 7.27e+00 0.135 3.61 + 453 1 211 297 -5.26e-02 3.30e-01 1.03e+01 1.03e+01 0.14 4.12 + 454 1 -211 297 3.46e-01 2.10e-01 1.29e+01 1.29e+01 0.14 4.15 + 455 1 22 298 2.61e-02 1.60e-01 7.35e+00 7.35e+00 0 4.51 + 456 1 22 298 -9.91e-02 2.07e-01 1.50e+01 1.50e+01 0 4.87 + 457 1 22 299 -3.21e-02 1.35e-02 3.34e+00 3.34e+00 0 5.25 + 458 1 22 299 -3.66e-02 2.70e-01 1.03e+01 1.03e+01 0 4.32 + 459 1 22 300 -3.26e-02 6.36e-02 5.23e+00 5.23e+00 0 4.99 + 460 1 22 300 -2.57e-02 -6.32e-02 2.62e+00 2.62e+00 0 4.34 + 461 1 22 304 -2.42e-01 -1.15e-01 6.42e+00 6.43e+00 0 3.87 + 462 1 22 304 -3.72e-02 3.19e-02 7.49e-01 7.51e-01 0 3.42 + 463 1 22 306 -1.57e-02 -5.41e-03 1.80e+01 1.80e+01 0 7.68 + 464 1 22 306 2.50e-01 3.49e-02 1.48e+02 1.48e+02 0 7.07 + 465 1 130 313 -3.56e+00 8.89e-01 8.76e+00 9.51e+00 0.498 1.6 + 466 1 22 322 1.11e+00 1.44e-01 5.39e+00 5.50e+00 0 2.27 + 467 1 22 322 2.67e-01 8.61e-02 1.58e+00 1.61e+00 0 2.43 + 468 1 22 324 3.23e-01 1.67e-01 2.29e+00 2.31e+00 0 2.54 + 469 1 22 324 4.41e-01 3.98e-01 3.24e+00 3.30e+00 0 2.4 + 470 1 22 326 -2.43e-02 4.39e-02 2.44e-01 2.49e-01 0 2.29 + 471 1 22 326 1.62e-01 1.08e-01 1.11e+00 1.13e+00 0 2.44 + 472 1 2212 333 1.10e+00 -6.17e-02 3.07e+00 3.40e+00 0.938 1.75 + 473 1 -211 333 6.03e-02 4.77e-02 4.26e-01 4.55e-01 0.14 2.41 + 474 1 22 334 4.40e-04 5.64e-02 1.66e-02 5.88e-02 0 0.291 + 475 1 22 334 -4.13e-02 -1.19e-03 2.09e-01 2.13e-01 0 2.32 + 476 1 22 338 2.19e-03 -1.04e-02 8.91e-03 1.39e-02 0 0.762 + 477 1 22 338 -2.69e-01 2.93e-01 4.80e-03 3.98e-01 0 0.0121 + 478 1 130 343 1.11e+00 1.64e-01 -1.43e+00 1.88e+00 0.498 -1.06 + 479 2 -3122 347 2.01e+00 6.78e-02 -2.67e+00 3.53e+00 1.12 -1.09 + 480 1 22 347 -1.61e-02 1.43e-02 -9.74e-03 2.36e-02 0 -0.438 + 481 1 22 355 -1.19e-01 1.35e-01 -2.37e+00 2.38e+00 0 -3.27 + 482 1 22 355 -1.08e-01 3.17e-01 -2.99e+00 3.01e+00 0 -2.89 + 483 1 22 363 -4.96e-02 9.07e-02 -5.64e-01 5.73e-01 0 -2.4 + 484 1 22 363 -4.74e-01 2.63e-01 -2.60e+00 2.66e+00 0 -2.27 + 485 1 22 365 -5.13e-02 -1.64e-01 -7.40e-01 7.60e-01 0 -2.17 + 486 1 22 365 3.37e-02 -2.44e-01 -1.74e+00 1.75e+00 0 -2.65 + 487 1 2112 368 -8.53e-01 -1.25e+00 -4.09e+00 4.46e+00 0.94 -1.72 + 488 2 111 368 -1.24e-02 -1.47e-01 -5.93e-01 6.26e-01 0.135 -2.1 + 489 1 22 369 -2.43e-02 3.45e-02 -1.61e-02 4.52e-02 0 -0.373 + 490 1 22 369 -8.76e-03 -4.89e-02 -2.55e-01 2.60e-01 0 -2.34 + 491 1 -2112 371 -1.57e+00 -7.67e-01 -3.33e+00 3.88e+00 0.94 -1.4 + 492 2 111 371 -1.16e-01 -5.44e-03 -3.61e-01 4.03e-01 0.135 -1.86 + 493 1 22 386 8.35e-03 -6.17e-03 6.10e-02 6.19e-02 0 2.47 + 494 1 22 386 -2.76e-02 3.43e-02 -6.35e-02 7.73e-02 0 -1.16 + 495 1 130 389 -3.84e-01 4.96e-01 -3.23e+00 3.33e+00 0.498 -2.34 + 496 2 310 389 -4.44e-01 2.86e-01 -2.94e+00 3.03e+00 0.498 -2.42 + 497 1 22 390 -4.96e-01 -3.97e-02 -6.72e-01 8.36e-01 0 -1.11 + 498 1 22 390 -5.45e-02 4.15e-02 -7.55e-02 1.02e-01 0 -0.952 + 499 1 22 391 -3.54e-01 1.77e-01 -2.77e-01 4.83e-01 0 -0.653 + 500 1 22 391 -1.43e-01 1.77e-01 -2.04e-01 3.06e-01 0 -0.808 + 501 1 211 393 4.70e-02 -2.61e-01 -6.83e-02 3.07e-01 0.14 -0.255 + 502 1 -211 393 2.45e-01 9.99e-02 -8.39e-02 3.11e-01 0.14 -0.312 + 503 1 22 442 3.61e-02 1.41e-01 2.09e-01 2.55e-01 0 1.16 + 504 1 22 442 2.30e-01 2.68e-01 7.92e-01 8.67e-01 0 1.55 + 505 2 111 443 6.63e-01 -5.41e-01 1.23e+00 1.51e+00 0.135 1.16 + 506 2 111 443 2.31e-01 -1.50e-01 1.32e-01 3.34e-01 0.135 0.464 + 507 1 22 451 2.89e-02 5.75e-02 1.80e+00 1.80e+00 0 4.03 + 508 1 22 451 4.13e-02 7.98e-03 9.22e+00 9.22e+00 0 6.08 + 509 1 22 452 1.63e-01 3.26e-01 5.67e+00 5.68e+00 0 3.44 + 510 1 22 452 1.37e-02 2.74e-02 1.59e+00 1.59e+00 0 4.64 + 511 1 -2212 479 1.78e+00 -3.42e-02 -2.32e+00 3.07e+00 0.938 -1.08 + 512 1 211 479 2.36e-01 1.02e-01 -3.55e-01 4.60e-01 0.14 -1.13 + 513 1 22 488 4.02e-02 -1.30e-01 -3.29e-01 3.56e-01 0 -1.61 + 514 1 22 488 -5.26e-02 -1.71e-02 -2.64e-01 2.70e-01 0 -2.27 + 515 1 22 492 -1.27e-02 -1.57e-02 6.02e-03 2.11e-02 0 0.294 + 516 1 22 492 -1.03e-01 1.02e-02 -3.67e-01 3.82e-01 0 -1.98 + 517 1 211 496 -1.19e-01 1.23e-01 -1.98e+00 2.00e+00 0.14 -3.14 + 518 1 -211 496 -3.24e-01 1.63e-01 -9.60e-01 1.04e+00 0.14 -1.7 + 519 1 22 505 4.41e-01 -4.30e-01 8.27e-01 1.03e+00 0 1.1 + 520 1 22 505 2.21e-01 -1.11e-01 4.04e-01 4.74e-01 0 1.27 + 521 1 22 506 4.94e-02 -1.05e-01 7.61e-02 1.39e-01 0 0.615 + 522 1 22 506 1.81e-01 -4.54e-02 5.63e-02 1.95e-01 0 0.297 +9 Event +321 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 -2 1 -1.31e+00 1.29e+00 5.19e+00 5.50e+00 0 1.76 + 4 3 1 2 7.06e-01 -1.60e-01 -1.10e+03 1.10e+03 0 -8.02 + 5 3 -2 3 -1.31e+00 1.29e+00 5.19e+00 5.50e+00 0 1.76 + 6 3 1 4 7.06e-01 -1.60e-01 -1.10e+03 1.10e+03 0 -8.02 + 7 3 22 5 -2.97e+00 2.95e+00 2.65e+00 4.95e+00 0 0.596 + 8 3 -24 5 2.37e+00 -1.82e+00 -1.10e+03 1.10e+03 82.4 -6.6 + 9 1 22 7 -2.97e+00 2.95e+00 2.65e+00 4.95e+00 0 0.596 + 10 2 -24 8 2.37e+00 -1.82e+00 -1.10e+03 1.10e+03 82.4 -6.6 + 11 1 -12 10 -5.41e+00 2.78e+01 -1.53e+02 1.56e+02 0 -2.39 + 12 1 11 10 7.77e+00 -2.96e+01 -9.40e+02 9.41e+02 0.00051 -4.12 + 13 1 22 10 1.64e-02 -6.23e-02 -1.98e+00 1.98e+00 0 -4.12 + 14 2 2224 1 6.26e-01 -5.58e-01 1.99e+03 1.99e+03 1.17 8.46 + 15 2 2 0 -5.88e+00 -9.32e-01 -1.69e+02 1.69e+02 0 -4.04 + 16 2 -2 0 5.88e+00 9.32e-01 -2.61e+02 2.61e+02 0 -4.47 + 17 2 2 0 -1.29e+00 -2.99e+00 -1.12e+03 1.12e+03 0 -6.53 + 18 2 21 0 1.40e+00 -2.79e+00 9.44e+00 9.94e+00 0 1.83 + 19 2 -2 0 1.29e+00 2.99e+00 6.00e+02 6.00e+02 0 5.91 + 20 2 1 1 6.80e-01 -7.30e-01 2.25e+03 2.25e+03 0.33 8.41 + 21 2 21 0 4.52e+00 3.02e-01 7.56e+01 7.57e+01 0 3.51 + 22 2 21 0 2.33e+00 2.53e+00 1.62e+01 1.66e+01 0 2.26 + 23 2 21 0 -2.33e+00 -2.53e+00 1.71e+01 1.74e+01 0 2.31 + 24 2 21 0 -4.52e+00 -3.02e-01 -3.21e+00 5.55e+00 0 -0.661 + 25 2 21 0 3.34e+00 -3.37e+00 -1.29e+01 1.37e+01 0 -1.72 + 26 2 21 0 -1.40e+00 2.79e+00 -5.69e+00 6.49e+00 0 -1.36 + 27 2 21 0 -3.34e+00 3.37e+00 -1.40e+01 1.48e+01 0 -1.81 + 28 2 2203 2 -7.06e-01 1.60e-01 -4.31e+03 4.31e+03 0.771 -9.39 + 29 2 21 0 1.72e+00 2.34e+00 2.13e-01 2.91e+00 0 0.0731 + 30 2 21 0 -1.72e+00 -2.34e+00 2.03e+03 2.03e+03 0 7.24 + 31 1 2212 14 3.98e-01 -4.20e-01 1.72e+03 1.72e+03 0.938 8.69 + 32 1 211 14 2.28e-01 -1.38e-01 2.65e+02 2.65e+02 0.14 7.6 + 33 2 92 15 0.00e+00 0.00e+00 -4.31e+02 4.31e+02 12.2 -999 + 34 1 211 33 -3.42e+00 -1.18e+00 -1.02e+02 1.02e+02 0.14 -4.03 + 35 2 313 33 -1.43e+00 1.04e+00 -7.25e+01 7.25e+01 0.919 -4.4 + 36 2 -313 33 1.04e+00 -4.59e-01 -4.56e+01 4.56e+01 0.892 -4.38 + 37 2 -213 33 3.24e-01 2.33e-01 -4.01e+01 4.01e+01 0.825 -5.3 + 38 2 111 33 1.29e+00 4.71e-01 -5.42e+01 5.42e+01 0.135 -4.37 + 39 2 213 33 1.25e+00 -4.71e-01 -7.13e+01 7.14e+01 0.883 -4.67 + 40 1 -211 33 9.37e-01 3.56e-01 -4.47e+01 4.47e+01 0.14 -4.49 + 41 2 92 17 1.40e+00 -2.79e+00 -5.10e+02 1.73e+03 1.65e+03 -5.79 + 42 1 2212 41 -6.49e-01 -4.27e-01 -3.35e+02 3.35e+02 0.938 -6.76 + 43 1 -2212 41 -4.97e-01 -1.95e+00 -5.58e+02 5.58e+02 0.938 -6.32 + 44 2 113 41 1.65e-02 -2.94e-01 -7.68e+01 7.68e+01 0.929 -6.26 + 45 2 221 41 -1.50e-01 4.57e-03 -1.01e+02 1.01e+02 0.547 -7.2 + 46 2 221 41 3.02e-01 2.85e-01 -2.89e+01 2.89e+01 0.547 -4.93 + 47 1 211 41 -6.43e-01 -7.25e-01 -5.78e+00 5.86e+00 0.14 -2.49 + 48 2 -213 41 3.35e-01 1.38e-01 -4.95e+00 5.00e+00 0.56 -3.31 + 49 2 213 41 3.85e-02 -2.68e-02 -6.23e+00 6.28e+00 0.745 -5.58 + 50 1 -211 41 -3.05e-01 4.01e-01 -5.07e-01 7.28e-01 0.14 -0.885 + 51 2 213 41 4.52e-01 -3.38e-01 -1.52e+00 1.81e+00 0.803 -1.71 + 52 2 113 41 2.71e-02 -3.51e-01 -2.06e-01 8.52e-01 0.748 -0.555 + 53 2 313 41 1.54e-01 -2.82e-01 9.87e-01 1.37e+00 0.893 1.84 + 54 1 -321 41 1.66e-01 -1.17e+00 1.90e+00 2.29e+00 0.494 1.26 + 55 2 223 41 2.70e-01 6.45e-01 4.85e+00 4.96e+00 0.794 2.63 + 56 1 211 41 3.83e-02 -6.71e-02 -3.81e-02 1.64e-01 0.14 -0.475 + 57 2 113 41 -1.95e-01 -4.50e-01 9.09e-01 1.13e+00 0.458 1.38 + 58 2 311 41 2.55e-01 -5.60e-01 7.05e+00 7.09e+00 0.498 3.13 + 59 2 -323 41 5.90e-01 5.07e-01 1.26e+01 1.27e+01 0.914 3.48 + 60 2 113 41 4.72e-01 -9.81e-01 2.44e+01 2.44e+01 0.747 3.8 + 61 2 113 41 -3.75e-01 7.14e-01 3.24e+01 3.25e+01 0.705 4.39 + 62 2 223 41 1.42e-01 3.76e-01 9.25e+01 9.25e+01 0.78 6.13 + 63 2 223 41 -2.53e-01 -1.75e-01 4.10e+01 4.11e+01 0.781 5.59 + 64 1 321 41 8.99e-01 4.63e-01 1.34e+02 1.34e+02 0.494 5.58 + 65 1 -321 41 3.12e-01 1.47e+00 2.56e+02 2.56e+02 0.494 5.83 + 66 2 92 20 -1.43e+00 2.22e+00 -1.99e+03 6.71e+03 6.41e+03 -7.32 + 67 2 -213 66 5.42e-01 -7.88e-01 1.94e+03 1.94e+03 0.705 8.31 + 68 1 211 66 1.01e-02 5.35e-01 2.34e+02 2.34e+02 0.14 6.77 + 69 2 1114 66 8.96e-01 -3.64e-01 4.48e+01 4.48e+01 1.25 4.53 + 70 1 211 66 3.85e-01 1.74e-01 7.65e+00 7.66e+00 0.14 3.59 + 71 1 -2212 66 1.36e+00 -3.48e-01 5.94e+01 5.94e+01 0.938 4.44 + 72 2 223 66 5.35e-01 5.63e-01 1.35e+01 1.35e+01 0.779 3.55 + 73 2 111 66 1.42e+00 -8.73e-02 2.65e+01 2.65e+01 0.135 3.61 + 74 2 113 66 1.02e+00 8.95e-01 7.84e+00 8.00e+00 0.87 2.45 + 75 2 213 66 7.81e-01 8.11e-01 9.70e+00 9.80e+00 0.804 2.85 + 76 2 223 66 -6.01e-01 -7.50e-01 4.33e+00 4.50e+00 0.779 2.21 + 77 2 -213 66 2.00e-01 -8.05e-02 2.80e+00 2.95e+00 0.926 3.26 + 78 2 113 66 -4.22e-01 6.65e-02 2.19e+00 2.29e+00 0.497 2.34 + 79 2 213 66 -6.84e-01 -1.20e+00 6.55e+00 6.78e+00 1.11 2.26 + 80 2 111 66 -5.98e-01 -1.20e-01 9.05e-01 1.10e+00 0.135 1.19 + 81 1 -211 66 -1.87e-01 3.99e-01 -3.55e-01 5.82e-01 0.14 -0.738 + 82 2 113 66 -9.15e-01 -4.44e-01 -7.04e-01 1.54e+00 0.914 -0.646 + 83 2 213 66 -1.26e+00 1.78e-01 -8.93e-01 1.74e+00 0.768 -0.653 + 84 1 -211 66 -8.72e-01 -1.89e-01 -5.35e-01 1.05e+00 0.14 -0.568 + 85 2 113 66 6.21e-01 -8.64e-02 -2.43e+00 2.63e+00 0.77 -2.06 + 86 1 211 66 -3.54e-01 -1.23e+00 -1.23e+00 1.78e+00 0.14 -0.853 + 87 1 2112 66 9.15e-01 -1.26e-01 -3.65e+00 3.88e+00 0.94 -2.08 + 88 1 -2212 66 8.64e-01 -9.18e-01 -4.87e+00 5.12e+00 0.938 -2.06 + 89 2 113 66 2.06e-02 2.04e-01 -5.70e-01 9.39e-01 0.718 -1.74 + 90 2 213 66 -6.46e-01 7.80e-01 -3.15e+00 3.40e+00 0.801 -1.85 + 91 2 113 66 -1.10e+00 7.43e-01 -5.30e+00 5.51e+00 0.719 -2.09 + 92 2 313 66 -5.36e-01 9.93e-01 -3.47e+00 3.72e+00 0.767 -1.84 + 93 1 -321 66 -1.22e+00 1.57e+00 -4.69e+00 5.11e+00 0.494 -1.59 + 94 2 221 66 -6.29e-01 3.98e-01 -4.66e+00 4.75e+00 0.547 -2.53 + 95 2 213 66 -1.52e-01 7.28e-01 -2.14e+01 2.14e+01 0.864 -4.05 + 96 2 113 66 3.02e-01 -3.94e-01 -1.09e+01 1.09e+01 0.749 -3.78 + 97 2 111 66 -8.08e-01 4.08e-01 -2.84e+01 2.85e+01 0.135 -4.14 + 98 2 -213 66 1.21e-01 -5.21e-01 -1.19e+02 1.19e+02 0.7 -6.1 + 99 2 223 66 5.41e-01 2.71e-01 -4.29e+02 4.29e+02 0.773 -7.26 + 100 1 2212 66 -8.23e-01 8.91e-02 -1.80e+03 1.80e+03 0.938 -8.37 + 101 2 213 66 -1.61e-01 6.24e-02 -1.91e+03 1.91e+03 0.76 -10 + 102 2 92 29 0.00e+00 0.00e+00 2.03e+03 2.04e+03 105 999 + 103 1 -211 102 -6.04e-02 -2.16e-02 6.73e-01 6.91e-01 0.14 3.05 + 104 2 111 102 3.01e-01 7.00e-02 2.14e+00 2.17e+00 0.135 2.63 + 105 1 211 102 -7.45e-02 1.35e-01 7.51e+01 7.52e+01 0.14 6.88 + 106 2 311 102 -3.08e-01 -1.44e-01 3.97e+02 3.97e+02 0.498 7.76 + 107 2 333 102 -9.19e-01 -2.06e+00 9.93e+02 9.93e+02 1.01 6.78 + 108 2 -323 102 -2.35e-01 8.31e-02 4.96e+02 4.96e+02 0.92 8.29 + 109 2 111 102 4.18e-01 -2.29e-01 6.47e+00 6.48e+00 0.135 3.3 + 110 2 3222 102 -5.65e-01 3.00e-01 1.56e+01 1.56e+01 1.19 3.89 + 111 2 -3212 102 -1.25e-01 1.42e-01 1.50e+01 1.51e+01 1.19 5.07 + 112 2 -213 102 3.77e-01 -3.83e-01 1.89e+01 1.90e+01 0.7 4.26 + 113 1 211 102 -1.42e-01 3.10e-01 3.69e-01 5.22e-01 0.14 0.937 + 114 2 113 102 3.90e-01 3.60e-03 2.92e+00 3.04e+00 0.757 2.71 + 115 2 111 102 -9.06e-03 6.14e-01 8.61e-01 1.07e+00 0.135 1.14 + 116 2 -213 102 2.11e-01 7.27e-01 1.76e-01 1.09e+00 0.766 0.231 + 117 1 211 102 1.89e-01 -3.92e-01 4.24e-01 6.23e-01 0.14 0.863 + 118 1 -211 102 -5.85e-02 1.95e-01 3.17e-01 4.02e-01 0.14 1.23 + 119 2 221 102 9.17e-02 -7.23e-02 4.21e-01 7.00e-01 0.547 1.99 + 120 2 323 102 3.24e-01 5.99e-01 3.20e+00 3.38e+00 0.841 2.25 + 121 2 -323 102 8.30e-01 3.60e-01 4.32e+00 4.50e+00 0.88 2.27 + 122 1 211 102 -6.36e-01 -2.39e-01 1.16e+00 1.35e+00 0.14 1.31 + 123 2 311 35 -8.88e-01 6.81e-01 -5.69e+01 5.69e+01 0.498 -4.62 + 124 2 111 35 -5.43e-01 3.64e-01 -1.56e+01 1.56e+01 0.135 -3.86 + 125 1 -321 36 1.08e+00 -5.16e-01 -4.04e+01 4.04e+01 0.494 -4.21 + 126 1 211 36 -3.33e-02 5.78e-02 -5.24e+00 5.24e+00 0.14 -5.06 + 127 1 -211 37 2.37e-01 3.61e-01 -3.74e+01 3.74e+01 0.14 -5.15 + 128 2 111 37 8.75e-02 -1.28e-01 -2.74e+00 2.74e+00 0.135 -3.56 + 129 1 22 38 1.15e-01 8.52e-02 -5.56e+00 5.56e+00 0 -4.35 + 130 1 22 38 1.18e+00 3.86e-01 -4.86e+01 4.86e+01 0 -4.36 + 131 1 211 39 9.26e-01 -2.03e-02 -3.15e+01 3.15e+01 0.14 -4.22 + 132 2 111 39 3.29e-01 -4.50e-01 -3.98e+01 3.99e+01 0.135 -4.96 + 133 1 211 44 5.56e-02 -1.72e-01 -4.40e+00 4.41e+00 0.14 -3.88 + 134 1 -211 44 -3.91e-02 -1.22e-01 -7.24e+01 7.24e+01 0.14 -7.03 + 135 1 22 45 -1.54e-02 -1.23e-01 -5.41e+00 5.41e+00 0 -4.47 + 136 1 22 45 -1.34e-01 1.28e-01 -9.51e+01 9.51e+01 0 -6.93 + 137 2 111 46 9.23e-02 1.80e-01 -1.50e+01 1.50e+01 0.135 -5 + 138 2 111 46 1.54e-01 1.34e-01 -6.30e+00 6.30e+00 0.135 -4.12 + 139 2 111 46 5.58e-02 -2.84e-02 -7.55e+00 7.55e+00 0.135 -5.49 + 140 1 -211 48 3.48e-01 1.29e-01 -4.63e+00 4.65e+00 0.14 -3.22 + 141 2 111 48 -1.26e-02 9.06e-03 -3.18e-01 3.46e-01 0.135 -3.71 + 142 1 211 49 -2.65e-01 1.66e-01 -3.66e+00 3.68e+00 0.14 -3.16 + 143 2 111 49 3.04e-01 -1.93e-01 -2.57e+00 2.60e+00 0.135 -2.66 + 144 1 211 51 4.26e-01 -5.36e-01 -8.63e-01 1.11e+00 0.14 -1.05 + 145 2 111 51 2.63e-02 1.97e-01 -6.53e-01 6.96e-01 0.135 -1.9 + 146 1 211 52 2.75e-01 1.50e-02 6.43e-02 3.15e-01 0.14 0.232 + 147 1 -211 52 -2.48e-01 -3.66e-01 -2.70e-01 5.36e-01 0.14 -0.578 + 148 1 321 53 -3.45e-02 -1.06e-01 9.46e-01 1.07e+00 0.494 2.84 + 149 1 -211 53 1.89e-01 -1.76e-01 4.10e-02 2.96e-01 0.14 0.158 + 150 1 -211 55 1.74e-01 3.98e-01 1.31e+00 1.39e+00 0.14 1.82 + 151 1 211 55 2.22e-02 -7.07e-02 9.65e-01 9.78e-01 0.14 3.26 + 152 2 111 55 7.46e-02 3.18e-01 2.57e+00 2.60e+00 0.135 2.76 + 153 1 -211 57 3.40e-02 -1.21e-02 3.04e-01 3.36e-01 0.14 2.83 + 154 1 211 57 -2.29e-01 -4.38e-01 6.05e-01 7.94e-01 0.14 1.03 + 155 1 130 58 2.55e-01 -5.60e-01 7.05e+00 7.09e+00 0.498 3.13 + 156 2 -311 59 6.36e-01 2.61e-01 7.29e+00 7.34e+00 0.498 3.06 + 157 1 -211 59 -4.64e-02 2.46e-01 5.33e+00 5.34e+00 0.14 3.75 + 158 1 -211 60 -1.38e-01 -1.16e-01 2.78e+00 2.79e+00 0.14 3.43 + 159 1 211 60 6.10e-01 -8.66e-01 2.16e+01 2.16e+01 0.14 3.71 + 160 1 -211 61 -5.36e-02 6.61e-01 1.68e+01 1.68e+01 0.14 3.92 + 161 1 211 61 -3.21e-01 5.33e-02 1.57e+01 1.57e+01 0.14 4.57 + 162 1 211 62 -6.69e-02 1.22e-01 1.35e+01 1.35e+01 0.14 5.27 + 163 1 -211 62 1.60e-01 -8.49e-02 1.58e+01 1.58e+01 0.14 5.16 + 164 2 111 62 4.87e-02 3.39e-01 6.32e+01 6.32e+01 0.135 5.91 + 165 1 -211 63 -2.28e-01 -1.81e-01 2.22e+01 2.22e+01 0.14 5.03 + 166 1 211 63 -8.81e-02 1.30e-01 4.45e+00 4.45e+00 0.14 4.04 + 167 2 111 63 6.26e-02 -1.24e-01 1.44e+01 1.44e+01 0.135 5.34 + 168 1 -211 67 1.16e-01 -5.96e-01 7.29e+02 7.29e+02 0.14 7.78 + 169 2 111 67 4.26e-01 -1.92e-01 1.21e+03 1.21e+03 0.135 8.55 + 170 1 2112 69 5.77e-01 -4.93e-01 3.31e+01 3.31e+01 0.94 4.47 + 171 1 -211 69 3.19e-01 1.29e-01 1.17e+01 1.17e+01 0.14 4.22 + 172 1 -211 72 9.55e-02 -6.29e-02 1.25e+00 1.27e+00 0.14 3.09 + 173 1 211 72 2.14e-02 1.31e-01 1.65e+00 1.66e+00 0.14 3.21 + 174 2 111 72 4.18e-01 4.94e-01 1.06e+01 1.06e+01 0.135 3.49 + 175 1 22 73 6.76e-01 -9.19e-02 1.18e+01 1.18e+01 0 3.54 + 176 1 22 73 7.49e-01 4.57e-03 1.47e+01 1.47e+01 0 3.67 + 177 1 -211 74 1.83e-01 4.93e-01 4.54e+00 4.57e+00 0.14 2.85 + 178 1 211 74 8.42e-01 4.02e-01 3.30e+00 3.43e+00 0.14 1.98 + 179 1 211 75 6.45e-01 7.13e-01 9.23e+00 9.28e+00 0.14 2.96 + 180 2 111 75 1.37e-01 9.76e-02 4.68e-01 5.15e-01 0.135 1.75 + 181 1 -211 76 -3.40e-01 -3.38e-02 1.01e+00 1.08e+00 0.14 1.81 + 182 1 211 76 -1.28e-02 -1.29e-01 5.39e-01 5.71e-01 0.14 2.14 + 183 2 111 76 -2.48e-01 -5.88e-01 2.78e+00 2.85e+00 0.135 2.18 + 184 1 -211 77 1.34e-01 3.86e-01 1.67e+00 1.72e+00 0.14 2.11 + 185 2 111 77 6.65e-02 -4.67e-01 1.13e+00 1.23e+00 0.135 1.61 + 186 1 211 78 -9.40e-02 -1.59e-01 8.54e-01 8.85e-01 0.14 2.23 + 187 1 -211 78 -3.28e-01 2.26e-01 1.34e+00 1.40e+00 0.14 1.93 + 188 1 211 79 -3.13e-01 -1.27e+00 5.64e+00 5.79e+00 0.14 2.17 + 189 2 111 79 -3.71e-01 6.69e-02 9.10e-01 9.94e-01 0.135 1.62 + 190 1 22 80 -3.08e-02 -4.10e-02 6.05e-02 7.92e-02 0 1 + 191 1 22 80 -5.67e-01 -7.92e-02 8.45e-01 1.02e+00 0 1.18 + 192 1 211 82 -3.74e-01 -5.47e-01 -6.95e-01 9.70e-01 0.14 -0.915 + 193 1 -211 82 -5.41e-01 1.03e-01 -9.31e-03 5.68e-01 0.14 -0.0169 + 194 1 211 83 -1.00e+00 6.09e-02 -9.79e-01 1.41e+00 0.14 -0.862 + 195 2 111 83 -2.58e-01 1.17e-01 8.57e-02 3.25e-01 0.135 0.298 + 196 1 -211 85 -4.13e-02 -2.07e-01 -1.09e+00 1.12e+00 0.14 -2.35 + 197 1 211 85 6.63e-01 1.20e-01 -1.34e+00 1.51e+00 0.14 -1.44 + 198 1 -211 89 -3.17e-01 1.51e-01 -2.93e-01 4.78e-01 0.14 -0.759 + 199 1 211 89 3.37e-01 5.33e-02 -2.77e-01 4.62e-01 0.14 -0.743 + 200 1 211 90 7.86e-02 2.48e-02 -1.38e-01 2.13e-01 0.14 -1.29 + 201 2 111 90 -7.24e-01 7.55e-01 -3.01e+00 3.19e+00 0.135 -1.78 + 202 1 211 91 -7.13e-01 1.22e-01 -2.12e+00 2.25e+00 0.14 -1.8 + 203 1 -211 91 -3.84e-01 6.21e-01 -3.18e+00 3.27e+00 0.14 -2.18 + 204 1 321 92 -1.79e-01 6.06e-01 -1.76e+00 1.93e+00 0.494 -1.75 + 205 1 -211 92 -3.57e-01 3.87e-01 -1.70e+00 1.79e+00 0.14 -1.89 + 206 2 111 94 -2.96e-02 6.87e-02 -6.77e-01 6.94e-01 0.135 -2.9 + 207 2 111 94 -8.39e-02 5.29e-02 -8.99e-01 9.14e-01 0.135 -2.9 + 208 2 111 94 -5.15e-01 2.76e-01 -3.08e+00 3.14e+00 0.135 -2.36 + 209 1 211 95 -2.88e-02 2.49e-01 -1.67e+01 1.67e+01 0.14 -4.89 + 210 2 111 95 -1.23e-01 4.79e-01 -4.70e+00 4.73e+00 0.135 -2.95 + 211 1 -211 96 3.09e-01 -2.49e-01 -2.55e+00 2.58e+00 0.14 -2.56 + 212 1 211 96 -7.05e-03 -1.45e-01 -8.35e+00 8.36e+00 0.14 -4.74 + 213 1 22 97 -3.02e-01 1.89e-01 -1.30e+01 1.30e+01 0 -4.29 + 214 1 22 97 -5.06e-01 2.19e-01 -1.54e+01 1.55e+01 0 -4.03 + 215 1 -211 98 -2.24e-01 -6.52e-02 -5.12e+01 5.12e+01 0.14 -6.08 + 216 2 111 98 3.45e-01 -4.56e-01 -6.82e+01 6.82e+01 0.135 -5.48 + 217 1 211 99 3.20e-01 2.27e-01 -2.14e+02 2.14e+02 0.14 -6.99 + 218 1 -211 99 2.02e-02 1.01e-01 -1.66e+02 1.66e+02 0.14 -8.08 + 219 2 111 99 2.01e-01 -5.70e-02 -4.92e+01 4.92e+01 0.135 -6.16 + 220 1 211 101 -1.20e-02 -1.76e-01 -1.57e+03 1.57e+03 0.14 -9.78 + 221 2 111 101 -1.49e-01 2.39e-01 -3.39e+02 3.39e+02 0.135 -7.79 + 222 1 22 104 3.42e-02 6.08e-02 3.97e-01 4.03e-01 0 2.44 + 223 1 22 104 2.67e-01 9.21e-03 1.74e+00 1.76e+00 0 2.57 + 224 1 130 106 -3.08e-01 -1.44e-01 3.97e+02 3.97e+02 0.498 7.76 + 225 1 130 107 -5.67e-01 -1.14e+00 5.62e+02 5.62e+02 0.498 6.78 + 226 2 310 107 -3.51e-01 -9.17e-01 4.31e+02 4.31e+02 0.498 6.78 + 227 2 -311 108 -2.45e-01 -2.31e-01 2.83e+02 2.83e+02 0.498 7.43 + 228 1 -211 108 1.06e-02 3.15e-01 2.12e+02 2.12e+02 0.14 7.21 + 229 1 22 109 2.67e-01 -1.40e-01 4.88e+00 4.88e+00 0 3.48 + 230 1 22 109 1.51e-01 -8.89e-02 1.59e+00 1.60e+00 0 2.9 + 231 1 2112 110 -4.81e-01 3.66e-01 1.46e+01 1.46e+01 0.94 3.88 + 232 1 211 110 -8.39e-02 -6.53e-02 9.66e-01 9.82e-01 0.14 2.9 + 233 2 -3122 111 -6.43e-02 1.64e-01 1.46e+01 1.46e+01 1.12 5.11 + 234 1 22 111 -6.03e-02 -2.19e-02 4.25e-01 4.29e-01 0 2.59 + 235 1 -211 112 1.22e-01 -4.55e-01 7.18e+00 7.20e+00 0.14 3.42 + 236 2 111 112 2.55e-01 7.23e-02 1.18e+01 1.18e+01 0.135 4.49 + 237 1 -211 114 1.19e-01 2.00e-01 2.35e+00 2.37e+00 0.14 3.01 + 238 1 211 114 2.70e-01 -1.97e-01 5.67e-01 6.73e-01 0.14 1.3 + 239 1 22 115 -3.48e-02 2.38e-01 4.38e-01 5.00e-01 0 1.36 + 240 1 22 115 2.58e-02 3.76e-01 4.24e-01 5.67e-01 0 0.967 + 241 1 -211 116 -4.86e-02 5.76e-01 -1.64e-01 6.17e-01 0.14 -0.28 + 242 2 111 116 2.60e-01 1.50e-01 3.41e-01 4.74e-01 0.135 0.973 + 243 1 22 119 -8.20e-02 -1.79e-01 4.53e-01 4.94e-01 0 1.57 + 244 1 22 119 1.74e-01 1.07e-01 -3.22e-02 2.06e-01 0 -0.157 + 245 1 321 120 3.12e-01 5.28e-01 3.10e+00 3.20e+00 0.494 2.32 + 246 2 111 120 1.20e-02 7.15e-02 1.08e-01 1.88e-01 0.135 1.19 + 247 1 -321 121 3.71e-01 2.52e-02 1.53e+00 1.65e+00 0.494 2.12 + 248 2 111 121 4.59e-01 3.35e-01 2.79e+00 2.85e+00 0.135 2.29 + 249 1 130 123 -8.88e-01 6.81e-01 -5.69e+01 5.69e+01 0.498 -4.62 + 250 1 22 124 -4.37e-01 3.49e-01 -1.33e+01 1.34e+01 0 -3.87 + 251 1 22 124 -1.07e-01 1.48e-02 -2.23e+00 2.23e+00 0 -3.72 + 252 1 22 128 2.10e-02 -3.09e-02 -1.36e-01 1.41e-01 0 -2 + 253 1 22 128 6.64e-02 -9.72e-02 -2.60e+00 2.60e+00 0 -3.79 + 254 1 22 132 1.32e-01 -1.76e-01 -1.14e+01 1.14e+01 0 -4.64 + 255 1 22 132 1.98e-01 -2.74e-01 -2.85e+01 2.85e+01 0 -5.13 + 256 1 22 137 7.42e-02 1.19e-01 -1.34e+01 1.34e+01 0 -5.25 + 257 1 22 137 1.81e-02 6.08e-02 -1.63e+00 1.63e+00 0 -3.94 + 258 1 22 138 5.78e-02 1.06e-01 -4.74e+00 4.74e+00 0 -4.36 + 259 1 22 138 9.61e-02 2.75e-02 -1.56e+00 1.56e+00 0 -3.44 + 260 1 22 139 -3.17e-02 2.91e-02 -1.81e+00 1.81e+00 0 -4.43 + 261 1 22 139 8.75e-02 -5.75e-02 -5.75e+00 5.75e+00 0 -4.7 + 262 1 22 141 -1.24e-02 1.31e-02 -3.31e-01 3.32e-01 0 -3.61 + 263 1 22 141 -2.12e-04 -4.01e-03 1.34e-02 1.40e-02 0 1.92 + 264 1 22 143 6.30e-02 -1.10e-01 -7.04e-01 7.15e-01 0 -2.42 + 265 1 22 143 2.41e-01 -8.33e-02 -1.86e+00 1.88e+00 0 -2.69 + 266 1 22 145 -2.71e-02 1.42e-01 -5.42e-01 5.61e-01 0 -2.03 + 267 1 22 145 5.34e-02 5.50e-02 -1.11e-01 1.35e-01 0 -1.17 + 268 1 22 152 -2.79e-02 1.52e-02 3.23e-01 3.25e-01 0 3.01 + 269 1 22 152 1.03e-01 3.03e-01 2.25e+00 2.27e+00 0 2.65 + 270 2 310 156 6.36e-01 2.61e-01 7.29e+00 7.34e+00 0.498 3.06 + 271 1 22 164 7.85e-02 9.96e-02 2.15e+01 2.15e+01 0 5.83 + 272 1 22 164 -2.98e-02 2.40e-01 4.17e+01 4.17e+01 0 5.84 + 273 1 22 167 6.84e-02 -7.59e-02 4.41e+00 4.41e+00 0 4.46 + 274 1 22 167 -5.87e-03 -4.78e-02 9.99e+00 9.99e+00 0 6.03 + 275 1 22 169 1.67e-02 1.69e-02 3.60e+01 3.60e+01 0 8.02 + 276 1 22 169 4.10e-01 -2.09e-01 1.17e+03 1.17e+03 0 8.54 + 277 1 22 174 1.30e-02 3.40e-02 2.72e-01 2.75e-01 0 2.71 + 278 1 22 174 4.05e-01 4.60e-01 1.03e+01 1.03e+01 0 3.52 + 279 1 22 180 8.01e-02 3.12e-02 7.96e-02 1.17e-01 0 0.828 + 280 1 22 180 5.66e-02 6.63e-02 3.88e-01 3.98e-01 0 2.2 + 281 1 22 183 -1.59e-01 -5.06e-01 2.32e+00 2.38e+00 0 2.18 + 282 1 22 183 -8.90e-02 -8.17e-02 4.62e-01 4.78e-01 0 2.05 + 283 1 22 185 9.20e-02 -4.46e-01 1.08e+00 1.17e+00 0 1.6 + 284 1 22 185 -2.55e-02 -2.10e-02 5.09e-02 6.06e-02 0 1.22 + 285 1 22 189 -1.84e-01 7.50e-02 6.00e-01 6.32e-01 0 1.83 + 286 1 22 189 -1.87e-01 -8.08e-03 3.10e-01 3.62e-01 0 1.28 + 287 1 22 195 -4.56e-02 8.04e-02 -2.35e-03 9.25e-02 0 -0.0255 + 288 1 22 195 -2.12e-01 3.64e-02 8.80e-02 2.33e-01 0 0.398 + 289 1 22 201 -1.98e-01 2.85e-01 -8.92e-01 9.57e-01 0 -1.67 + 290 1 22 201 -5.26e-01 4.71e-01 -2.12e+00 2.23e+00 0 -1.82 + 291 1 22 206 -4.81e-02 1.04e-01 -4.76e-01 4.90e-01 0 -2.14 + 292 1 22 206 1.85e-02 -3.49e-02 -2.00e-01 2.04e-01 0 -2.33 + 293 1 22 207 3.57e-02 2.31e-02 -2.94e-01 2.97e-01 0 -2.63 + 294 1 22 207 -1.20e-01 2.98e-02 -6.05e-01 6.17e-01 0 -2.29 + 295 1 22 208 -2.15e-01 4.21e-02 -1.08e+00 1.10e+00 0 -2.3 + 296 1 22 208 -3.01e-01 2.34e-01 -2.00e+00 2.04e+00 0 -2.36 + 297 1 22 210 -5.43e-02 4.00e-01 -3.95e+00 3.97e+00 0 -2.98 + 298 1 22 210 -6.92e-02 7.91e-02 -7.51e-01 7.58e-01 0 -2.66 + 299 1 22 216 4.96e-03 -4.14e-02 -2.55e+00 2.55e+00 0 -4.81 + 300 1 22 216 3.40e-01 -4.14e-01 -6.57e+01 6.57e+01 0 -5.5 + 301 1 22 219 -1.10e-03 -4.52e-02 -1.09e+01 1.09e+01 0 -6.17 + 302 1 22 219 2.02e-01 -1.17e-02 -3.84e+01 3.84e+01 0 -5.94 + 303 1 22 221 -9.40e-02 4.03e-02 -8.89e+01 8.89e+01 0 -7.46 + 304 1 22 221 -5.49e-02 1.98e-01 -2.51e+02 2.51e+02 0 -7.8 + 305 1 211 226 -2.38e-01 -8.72e-01 3.64e+02 3.64e+02 0.14 6.69 + 306 1 -211 226 -1.14e-01 -4.50e-02 6.65e+01 6.65e+01 0.14 6.99 + 307 2 310 227 -2.45e-01 -2.31e-01 2.83e+02 2.83e+02 0.498 7.43 + 308 1 -2212 233 4.09e-02 1.17e-01 1.26e+01 1.26e+01 0.938 5.31 + 309 1 211 233 -1.05e-01 4.71e-02 2.04e+00 2.05e+00 0.14 3.57 + 310 1 22 236 -6.38e-03 3.08e-02 9.42e-01 9.42e-01 0 4.09 + 311 1 22 236 2.61e-01 4.16e-02 1.08e+01 1.08e+01 0 4.4 + 312 1 22 242 1.85e-01 6.92e-02 1.32e-01 2.37e-01 0 0.625 + 313 1 22 242 7.50e-02 8.13e-02 2.09e-01 2.36e-01 0 1.39 + 314 1 22 246 5.99e-03 7.39e-02 1.38e-01 1.57e-01 0 1.38 + 315 1 22 246 5.98e-03 -2.43e-03 -3.00e-02 3.07e-02 0 -2.24 + 316 1 22 248 4.61e-01 3.29e-01 2.78e+00 2.84e+00 0 2.3 + 317 1 22 248 -1.98e-03 6.53e-03 4.78e-03 8.33e-03 0 0.654 + 318 1 -211 270 2.58e-01 3.28e-01 3.85e+00 3.88e+00 0.14 2.92 + 319 1 211 270 3.79e-01 -6.70e-02 3.44e+00 3.46e+00 0.14 2.89 + 320 1 211 307 -2.09e-01 7.49e-02 1.18e+02 1.18e+02 0.14 6.97 + 321 1 -211 307 -3.68e-02 -3.06e-01 1.66e+02 1.66e+02 0.14 6.98 +10 Event +388 particles + 1 3 2212 0 0.00e+00 0.00e+00 7.00e+03 7.00e+03 0.938 999 + 2 3 2212 0 0.00e+00 0.00e+00 -7.00e+03 7.00e+03 0.938 -999 + 3 3 21 1 -6.55e-01 -2.67e-03 1.39e+01 1.39e+01 0 3.75 + 4 3 2 2 1.56e-01 -1.14e+00 -2.53e+02 2.53e+02 0 -6.09 + 5 3 -1 3 -2.63e+00 1.20e+00 7.55e+00 8.09e+00 0 1.69 + 6 3 2 4 1.28e+00 -6.49e-01 -2.42e+02 2.42e+02 0 -5.82 + 7 3 24 5 -2.70e+00 4.32e+00 -1.90e+02 2.06e+02 78.1 -4.31 + 8 3 22 5 1.35e+00 -3.77e+00 -4.39e+01 4.41e+01 0 -3.09 + 9 2 24 7 -2.70e+00 4.32e+00 -1.90e+02 2.06e+02 78.1 -4.31 + 10 1 22 8 1.35e+00 -3.77e+00 -4.39e+01 4.41e+01 0 -3.09 + 11 2 1 3 1.13e+00 -9.64e-01 3.28e+00 3.62e+00 0.33 1.54 + 12 2 21 3 -9.64e-02 2.14e-01 2.04e+00 2.05e+00 0 2.86 + 13 2 21 3 9.53e-01 -3.67e-02 2.48e-02 9.54e-01 0 0.0261 + 14 2 21 3 1.86e-02 -1.73e-01 -1.80e-01 2.50e-01 0 -0.908 + 15 2 21 3 7.97e-05 -2.58e-01 -4.64e-01 5.31e-01 0 -1.35 + 16 2 2103 1 -4.36e-02 -1.92e-01 5.77e+03 5.77e+03 0.771 11 + 17 2 4 9 1.25e+01 -2.03e+00 -5.06e+01 5.22e+01 1.5 -2.09 + 18 2 21 9 8.44e-01 -5.96e-01 -9.70e+00 9.76e+00 0 -2.94 + 19 2 21 9 1.40e+00 -1.77e+00 -8.44e+00 8.73e+00 0 -2.03 + 20 2 21 9 1.74e+00 -4.85e+00 -2.08e+01 2.14e+01 0 -2.1 + 21 2 21 9 4.33e+00 -8.83e+00 -5.67e+01 5.76e+01 0 -2.45 + 22 2 21 9 5.07e-01 5.30e-01 -4.19e+00 4.25e+00 0 -2.44 + 23 2 21 9 -1.42e-02 2.61e-01 -9.03e-01 9.40e-01 0 -1.95 + 24 2 21 9 -2.19e+00 3.50e+00 -4.82e+00 6.35e+00 0 -0.995 + 25 2 21 9 -1.76e+00 2.29e+00 -5.03e+00 5.80e+00 0 -1.32 + 26 2 21 9 -1.64e+00 1.97e+00 -2.90e+00 3.87e+00 0 -0.972 + 27 2 -3 9 -1.84e+01 1.38e+01 -2.63e+01 3.50e+01 0.5 -0.977 + 28 2 2 1 6.99e-01 1.94e-01 5.42e+02 5.42e+02 0.33 7.31 + 29 2 21 0 1.58e+00 3.38e+00 -3.73e+03 3.73e+03 0 -7.6 + 30 2 21 4 -1.15e+00 -4.82e-01 -9.66e+00 9.74e+00 0 -2.75 + 31 2 2103 2 -1.56e-01 1.14e+00 -3.01e+03 3.01e+03 0.771 -8.56 + 32 2 21 0 1.93e+00 -4.36e+00 -3.87e+00 6.14e+00 0 -0.742 + 33 2 21 0 -1.93e+00 4.36e+00 1.09e+01 1.19e+01 0 1.57 + 34 2 21 0 -1.29e+00 -4.54e+00 2.92e+01 2.96e+01 0 2.52 + 35 2 21 0 -1.58e+00 -3.38e+00 1.86e+01 1.90e+01 0 2.31 + 36 2 21 0 1.29e+00 4.54e+00 7.62e+01 7.64e+01 0 3.48 + 37 2 21 0 -2.45e+00 1.91e+00 1.43e+02 1.43e+02 0 4.52 + 38 2 21 0 2.45e+00 -1.91e+00 3.93e+02 3.93e+02 0 5.53 + 39 2 92 11 1.96e+00 -1.41e+00 5.78e+03 5.78e+03 177 8.47 + 40 1 -211 39 7.50e-01 -6.41e-01 1.99e+00 2.22e+00 0.14 1.45 + 41 2 223 39 2.81e-01 5.40e-01 5.84e-01 1.15e+00 0.781 0.852 + 42 2 2214 39 4.49e-01 -1.32e+00 2.38e+00 3.02e+00 1.24 1.3 + 43 2 223 39 4.41e-02 3.70e-01 1.22e+00 1.50e+00 0.783 1.91 + 44 2 -3122 39 5.19e-01 2.83e-01 1.47e+00 1.94e+00 1.12 1.64 + 45 2 -313 39 2.74e-01 4.49e-02 2.53e+00 2.70e+00 0.892 2.91 + 46 2 -213 39 -4.07e-01 -2.54e-01 1.55e+00 1.78e+00 0.743 1.89 + 47 2 111 39 1.10e-01 -4.86e-01 1.57e+00 1.66e+00 0.135 1.87 + 48 1 211 39 -2.05e-01 3.58e-01 8.14e+00 8.16e+00 0.14 3.68 + 49 1 -211 39 2.94e-01 -2.75e-01 7.62e+00 7.63e+00 0.14 3.64 + 50 2 223 39 -2.55e-01 2.61e-01 1.39e+02 1.39e+02 0.792 6.64 + 51 2 213 39 -3.67e-02 -1.80e-01 1.87e+02 1.87e+02 1.08 7.62 + 52 2 311 39 -2.08e-01 -3.89e-02 7.78e+02 7.78e+02 0.498 8.9 + 53 1 -321 39 2.94e-01 -1.54e-01 9.71e+02 9.71e+02 0.494 8.68 + 54 1 2212 39 7.11e-03 3.17e-01 1.45e+03 1.45e+03 0.938 9.12 + 55 2 113 39 4.79e-02 -2.36e-01 2.22e+03 2.22e+03 0.836 9.82 + 56 2 92 17 -2.70e+00 4.32e+00 -1.90e+02 2.06e+02 78.1 -4.31 + 57 2 423 56 9.92e+00 -1.83e+00 -4.12e+01 4.24e+01 2.01 -2.11 + 58 2 213 56 3.16e+00 -9.74e-01 -1.34e+01 1.38e+01 0.746 -2.11 + 59 2 113 56 9.35e-01 -2.28e+00 -1.37e+01 1.40e+01 0.946 -2.42 + 60 2 -213 56 1.08e+00 -1.85e+00 -1.02e+01 1.05e+01 0.748 -2.27 + 61 1 211 56 1.09e+00 -1.64e+00 -1.47e+01 1.48e+01 0.14 -2.7 + 62 1 2112 56 1.87e+00 -2.59e+00 -1.53e+01 1.56e+01 0.94 -2.27 + 63 2 111 56 3.89e-02 -6.89e-02 -4.47e-01 4.73e-01 0.135 -2.43 + 64 2 -2214 56 1.15e+00 -3.99e+00 -2.02e+01 2.06e+01 1.32 -2.28 + 65 2 221 56 8.63e-01 -6.41e-01 -6.52e+00 6.63e+00 0.547 -2.5 + 66 1 211 56 2.77e-01 -4.49e-01 -5.08e+00 5.11e+00 0.14 -2.96 + 67 1 -211 56 3.63e-01 -6.16e-01 -4.99e+00 5.04e+00 0.14 -2.64 + 68 2 111 56 -3.87e-03 -6.39e-01 -1.85e+00 1.96e+00 0.135 -1.78 + 69 1 321 56 3.38e-01 5.43e-01 -3.18e+00 3.28e+00 0.494 -2.31 + 70 2 -323 56 -1.37e+00 1.58e+00 -2.72e+00 3.55e+00 0.91 -1.08 + 71 1 211 56 -1.03e+00 9.55e-01 -2.72e+00 3.07e+00 0.14 -1.42 + 72 1 -211 56 -3.68e-01 1.10e+00 -1.23e+00 1.70e+00 0.14 -0.923 + 73 2 213 56 -1.62e+00 1.26e+00 -1.79e+00 2.76e+00 0.46 -0.79 + 74 1 2112 56 -3.27e+00 2.88e+00 -6.51e+00 7.89e+00 0.94 -1.19 + 75 1 -2112 56 -2.63e+00 3.14e+00 -4.61e+00 6.24e+00 0.94 -0.967 + 76 2 313 56 -1.35e+01 1.04e+01 -2.01e+01 2.64e+01 0.889 -1 + 77 2 92 28 9.78e-01 4.23e+00 -6.21e+03 7.29e+03 3.83e+03 -7.96 + 78 1 211 77 3.81e-02 1.81e-01 4.03e+01 4.03e+01 0.14 6.08 + 79 2 -213 77 8.14e-01 -1.37e-01 1.81e+02 1.81e+02 0.514 6.09 + 80 2 213 77 -3.13e-01 -6.88e-02 2.35e+02 2.35e+02 0.75 7.29 + 81 1 -211 77 2.45e-01 1.91e-01 4.92e+01 4.92e+01 0.14 5.76 + 82 1 2212 77 5.98e-02 2.27e-01 9.60e+00 9.65e+00 0.938 4.41 + 83 2 331 77 -4.42e-01 -2.66e-01 1.53e+01 1.53e+01 0.958 4.08 + 84 1 -2212 77 4.06e-01 1.13e-01 5.85e+00 5.94e+00 0.938 3.33 + 85 1 211 77 3.13e-01 6.74e-01 1.86e+00 2.01e+00 0.14 1.65 + 86 2 -213 77 -4.02e-01 -7.29e-01 1.27e+00 1.66e+00 0.653 1.21 + 87 2 111 77 -1.09e-01 9.28e-02 8.79e-01 9.00e-01 0.135 2.51 + 88 1 211 77 -1.40e-01 -6.93e-02 1.04e-01 2.34e-01 0.14 0.625 + 89 2 311 77 3.42e-01 -3.51e-01 6.56e-01 9.59e-01 0.498 1.1 + 90 2 -311 77 3.43e-02 4.24e-01 -1.12e+00 1.30e+00 0.498 -1.69 + 91 2 221 77 -2.21e-02 6.88e-02 -2.60e+00 2.66e+00 0.547 -4.28 + 92 1 -211 77 7.85e-02 8.60e-02 -1.76e-01 2.53e-01 0.14 -1.2 + 93 1 211 77 9.20e-02 -2.45e-01 -1.76e+00 1.79e+00 0.14 -2.61 + 94 2 113 77 2.39e-02 3.28e-01 -2.20e+00 2.33e+00 0.717 -2.6 + 95 1 -211 77 -2.21e-01 -7.10e-02 -1.47e+02 1.47e+02 0.14 -7.14 + 96 2 213 77 5.54e-01 1.75e+00 -1.71e+03 1.71e+03 0.722 -7.53 + 97 2 113 77 -6.18e-02 1.40e-01 -1.00e+02 1.00e+02 0.708 -7.18 + 98 2 221 77 5.39e-01 -4.43e-01 -1.70e+02 1.70e+02 0.547 -6.19 + 99 2 1114 77 -2.02e-01 5.23e-01 -6.63e+02 6.63e+02 1.14 -7.77 + 100 2 223 77 5.46e-01 4.91e-01 -5.51e+02 5.51e+02 0.779 -7.31 + 101 2 -2114 77 -3.71e-01 4.27e-01 -3.02e+02 3.02e+02 1.16 -6.97 + 102 2 213 77 1.27e-01 -4.33e-02 -2.10e+01 2.10e+01 0.772 -5.74 + 103 2 111 77 -4.78e-01 9.06e-02 -8.52e+00 8.54e+00 0.135 -3.56 + 104 2 113 77 1.52e-01 4.90e-02 -9.39e+01 9.39e+01 0.678 -7.07 + 105 1 -211 77 -2.99e-01 -4.24e-02 -1.66e+00 1.69e+00 0.14 -2.41 + 106 2 2224 77 -3.77e-01 -2.14e-01 -1.01e+02 1.01e+02 1.1 -6.14 + 107 2 -213 77 5.16e-02 1.05e+00 -2.87e+03 2.87e+03 0.595 -8.61 + 108 2 92 32 0.00e+00 0.00e+00 7.06e+00 1.81e+01 16.6 999 + 109 2 221 108 -2.73e-01 1.79e-01 6.56e-01 9.15e-01 0.547 1.45 + 110 1 211 108 -3.89e-01 6.33e-01 2.83e-01 8.08e-01 0.14 0.372 + 111 2 -3214 108 1.31e-02 6.82e-01 3.64e+00 3.95e+00 1.39 2.38 + 112 2 111 108 -5.13e-01 2.23e-01 -3.38e-01 6.67e-01 0.135 -0.573 + 113 2 3312 108 -2.83e-02 7.44e-01 2.82e+00 3.20e+00 1.32 2.04 + 114 1 321 108 1.73e-01 2.54e-01 -3.78e-02 5.83e-01 0.494 -0.123 + 115 1 -211 108 -1.72e-01 2.35e-01 6.24e-01 7.02e-01 0.14 1.51 + 116 2 -2114 108 -2.38e-01 -4.31e-01 9.30e-02 1.36e+00 1.26 0.188 + 117 2 2214 108 6.05e-01 -9.51e-01 -9.14e-01 1.86e+00 1.17 -0.741 + 118 2 221 108 1.56e-01 -4.12e-01 2.46e-01 7.44e-01 0.547 0.532 + 119 2 223 108 -1.67e-01 2.64e-01 9.20e-01 1.25e+00 0.787 1.8 + 120 2 -213 108 8.32e-01 -1.42e+00 -9.23e-01 2.03e+00 0.75 -0.535 + 121 2 92 34 -1.58e+00 -3.38e+00 6.60e+02 6.61e+02 35 5.87 + 122 2 -213 121 2.45e-01 9.07e-02 1.10e+01 1.10e+01 0.713 4.43 + 123 1 211 121 1.45e-01 8.39e-01 1.48e+01 1.48e+01 0.14 3.55 + 124 1 -211 121 1.63e-01 6.78e-01 3.64e+01 3.64e+01 0.14 4.65 + 125 2 111 121 -3.21e-01 3.86e-01 2.97e+00 3.02e+00 0.135 2.48 + 126 1 321 121 3.35e-01 1.22e+00 3.00e+01 3.00e+01 0.494 3.86 + 127 2 221 121 -5.82e-01 5.72e-01 4.51e+01 4.51e+01 0.547 4.7 + 128 2 -313 121 -9.21e-02 1.19e+00 4.04e+01 4.05e+01 0.899 4.22 + 129 1 -211 121 -6.87e-02 -2.47e-01 1.10e+01 1.10e+01 0.14 4.45 + 130 2 3222 121 -5.66e-01 -1.85e-02 7.67e+01 7.67e+01 1.19 5.6 + 131 2 -3222 121 8.93e-01 -2.02e-01 1.75e+02 1.75e+02 1.19 5.95 + 132 2 111 121 5.41e-01 -3.98e-01 3.42e+01 3.43e+01 0.135 4.63 + 133 2 221 121 4.72e-01 1.20e-01 4.80e+01 4.80e+01 0.547 5.29 + 134 2 223 121 -3.94e-01 -3.46e-01 2.64e+01 2.64e+01 0.769 4.61 + 135 2 213 121 3.98e-01 -6.17e-01 3.18e+01 3.19e+01 0.787 4.46 + 136 2 313 121 1.03e-01 -2.26e-01 2.35e+01 2.35e+01 0.96 5.24 + 137 2 -313 121 -5.57e-01 -1.64e+00 1.36e+01 1.38e+01 0.907 2.76 + 138 2 111 121 -5.41e-02 -2.38e-01 3.84e+00 3.85e+00 0.135 3.45 + 139 2 -213 121 -5.83e-01 -1.46e+00 9.66e+00 9.82e+00 0.856 2.51 + 140 2 111 121 -7.22e-01 -9.67e-01 7.68e+00 7.78e+00 0.135 2.55 + 141 2 323 121 -9.06e-01 -1.68e+00 1.10e+01 1.11e+01 0.834 2.45 + 142 2 -313 121 -3.24e-02 -4.34e-01 6.93e+00 7.00e+00 0.909 3.46 + 143 1 211 41 8.57e-02 6.01e-02 3.48e-01 3.89e-01 0.14 1.92 + 144 1 -211 41 1.85e-02 1.13e-01 -1.08e-01 2.10e-01 0.14 -0.843 + 145 2 111 41 1.77e-01 3.67e-01 3.45e-01 5.50e-01 0.135 0.768 + 146 1 2112 42 2.49e-01 -1.00e+00 2.14e+00 2.56e+00 0.94 1.48 + 147 1 211 42 1.99e-01 -3.15e-01 2.34e-01 4.62e-01 0.14 0.592 + 148 1 211 43 2.42e-01 1.45e-01 6.80e-01 7.49e-01 0.14 1.61 + 149 1 -211 43 -6.69e-02 -6.10e-02 2.46e-01 2.97e-01 0.14 1.73 + 150 2 111 43 -1.31e-01 2.86e-01 2.98e-01 4.54e-01 0.135 0.844 + 151 1 -2212 44 3.31e-01 2.55e-01 1.20e+00 1.58e+00 0.938 1.78 + 152 1 211 44 1.87e-01 2.88e-02 2.75e-01 3.62e-01 0.14 1.17 + 153 1 -321 45 1.14e-01 1.76e-01 9.00e-01 1.05e+00 0.494 2.16 + 154 1 211 45 1.60e-01 -1.31e-01 1.63e+00 1.65e+00 0.14 2.76 + 155 1 -211 46 -3.79e-01 -2.13e-01 3.48e-01 5.74e-01 0.14 0.734 + 156 2 111 46 -2.79e-02 -4.12e-02 1.20e+00 1.21e+00 0.135 3.88 + 157 1 22 47 6.37e-02 -1.45e-01 3.34e-01 3.69e-01 0 1.49 + 158 1 22 47 4.60e-02 -3.41e-01 1.24e+00 1.29e+00 0 1.99 + 159 1 -211 50 -9.66e-02 8.14e-02 1.34e+01 1.34e+01 0.14 5.35 + 160 1 211 50 -1.17e-01 3.09e-01 5.61e+01 5.61e+01 0.14 5.83 + 161 2 111 50 -4.16e-02 -1.29e-01 6.96e+01 6.96e+01 0.135 6.94 + 162 1 211 51 4.96e-01 -1.80e-01 8.77e+01 8.77e+01 0.14 5.81 + 163 2 111 51 -5.33e-01 -4.91e-04 9.95e+01 9.95e+01 0.135 5.92 + 164 1 130 52 -2.08e-01 -3.89e-02 7.78e+02 7.78e+02 0.498 8.9 + 165 1 211 55 4.91e-03 1.97e-01 1.53e+03 1.53e+03 0.14 9.65 + 166 1 -211 55 4.30e-02 -4.33e-01 6.90e+02 6.90e+02 0.14 8.06 + 167 2 421 57 8.76e+00 -1.56e+00 -3.67e+01 3.78e+01 1.86 -2.12 + 168 1 22 57 1.17e+00 -2.73e-01 -4.49e+00 4.65e+00 0 -2.03 + 169 1 211 58 4.29e-01 -2.07e-01 -3.02e+00 3.06e+00 0.14 -2.55 + 170 2 111 58 2.73e+00 -7.67e-01 -1.04e+01 1.08e+01 0.135 -2.01 + 171 1 -211 59 6.69e-01 -1.15e+00 -9.46e+00 9.56e+00 0.14 -2.66 + 172 1 211 59 2.66e-01 -1.13e+00 -4.27e+00 4.43e+00 0.14 -2.01 + 173 1 -211 60 9.81e-01 -1.03e+00 -6.33e+00 6.49e+00 0.14 -2.2 + 174 2 111 60 9.44e-02 -8.21e-01 -3.92e+00 4.01e+00 0.135 -2.26 + 175 1 22 63 -3.13e-02 -6.76e-02 -1.39e-01 1.58e-01 0 -1.38 + 176 1 22 63 7.02e-02 -1.34e-03 -3.08e-01 3.16e-01 0 -2.18 + 177 1 -2112 64 1.02e+00 -2.53e+00 -1.33e+01 1.36e+01 0.94 -2.29 + 178 1 -211 64 1.37e-01 -1.46e+00 -6.85e+00 7.01e+00 0.14 -2.24 + 179 2 111 65 2.06e-01 -9.02e-02 -1.41e+00 1.44e+00 0.135 -2.54 + 180 2 111 65 4.18e-01 -1.75e-01 -2.28e+00 2.33e+00 0.135 -2.32 + 181 2 111 65 2.39e-01 -3.76e-01 -2.83e+00 2.87e+00 0.135 -2.55 + 182 1 22 68 -5.28e-02 -2.73e-01 -6.66e-01 7.21e-01 0 -1.61 + 183 1 22 68 4.89e-02 -3.67e-01 -1.18e+00 1.24e+00 0 -1.88 + 184 2 -311 70 -4.61e-01 9.23e-01 -1.47e+00 1.86e+00 0.498 -1.15 + 185 1 -211 70 -9.14e-01 6.57e-01 -1.25e+00 1.69e+00 0.14 -0.956 + 186 1 211 73 -2.97e-01 3.81e-01 -5.26e-01 7.28e-01 0.14 -0.943 + 187 2 111 73 -1.32e+00 8.75e-01 -1.26e+00 2.03e+00 0.135 -0.731 + 188 1 321 76 -1.02e+01 7.89e+00 -1.56e+01 2.02e+01 0.494 -1.02 + 189 1 -211 76 -3.32e+00 2.53e+00 -4.52e+00 6.15e+00 0.14 -0.939 + 190 1 -211 79 6.57e-01 -8.48e-02 1.62e+02 1.62e+02 0.14 6.19 + 191 2 111 79 1.57e-01 -5.18e-02 1.90e+01 1.90e+01 0.135 5.44 + 192 1 211 80 -5.06e-02 -2.73e-01 1.79e+02 1.79e+02 0.14 7.16 + 193 2 111 80 -2.63e-01 2.04e-01 5.64e+01 5.64e+01 0.135 5.83 + 194 1 211 83 -7.45e-03 -4.76e-02 3.65e+00 3.65e+00 0.14 5.02 + 195 1 -211 83 4.18e-02 1.11e-02 2.32e+00 2.33e+00 0.14 4.68 + 196 2 221 83 -4.77e-01 -2.30e-01 9.28e+00 9.31e+00 0.547 3.56 + 197 1 -211 86 3.22e-02 5.15e-02 2.26e-01 2.72e-01 0.14 2.02 + 198 2 111 86 -4.34e-01 -7.81e-01 1.05e+00 1.38e+00 0.135 0.998 + 199 1 22 87 1.09e-02 -2.52e-02 1.61e-01 1.63e-01 0 2.47 + 200 1 22 87 -1.20e-01 1.18e-01 7.18e-01 7.37e-01 0 2.16 + 201 1 130 89 3.42e-01 -3.51e-01 6.56e-01 9.59e-01 0.498 1.1 + 202 1 130 90 3.43e-02 4.24e-01 -1.12e+00 1.30e+00 0.498 -1.69 + 203 1 -211 91 3.78e-03 1.00e-01 -9.85e-01 9.99e-01 0.14 -2.98 + 204 1 211 91 -9.92e-02 -1.06e-01 -9.93e-01 1.01e+00 0.14 -2.62 + 205 2 111 91 7.33e-02 7.39e-02 -6.22e-01 6.45e-01 0.135 -2.49 + 206 1 -211 94 -1.41e-01 4.31e-01 -9.20e-01 1.04e+00 0.14 -1.46 + 207 1 211 94 1.64e-01 -1.03e-01 -1.28e+00 1.30e+00 0.14 -2.58 + 208 1 211 96 -1.43e-01 3.76e-01 -3.60e+02 3.60e+02 0.14 -7.49 + 209 2 111 96 6.97e-01 1.38e+00 -1.35e+03 1.35e+03 0.135 -7.47 + 210 1 211 97 -2.91e-01 -1.17e-01 -4.01e+01 4.01e+01 0.14 -5.55 + 211 1 -211 97 2.29e-01 2.57e-01 -6.04e+01 6.04e+01 0.14 -5.86 + 212 1 -211 98 2.68e-01 -1.29e-01 -6.39e+01 6.39e+01 0.14 -6.06 + 213 1 211 98 -1.13e-02 -1.47e-01 -4.06e+01 4.06e+01 0.14 -6.31 + 214 2 111 98 2.83e-01 -1.66e-01 -6.53e+01 6.53e+01 0.135 -5.99 + 215 1 2112 99 -2.18e-01 4.48e-01 -4.93e+02 4.93e+02 0.94 -7.59 + 216 1 -211 99 1.66e-02 7.48e-02 -1.70e+02 1.70e+02 0.14 -8.4 + 217 1 -211 100 1.99e-01 2.65e-01 -1.36e+02 1.36e+02 0.14 -6.71 + 218 1 211 100 3.71e-01 3.20e-01 -3.38e+02 3.38e+02 0.14 -7.23 + 219 2 111 100 -2.43e-02 -9.44e-02 -7.76e+01 7.76e+01 0.135 -7.37 + 220 1 -2112 101 -4.29e-01 4.29e-01 -2.43e+02 2.43e+02 0.94 -6.68 + 221 2 111 101 5.83e-02 -1.86e-03 -5.92e+01 5.92e+01 0.135 -7.62 + 222 1 211 102 2.17e-01 -3.07e-01 -1.60e+01 1.60e+01 0.14 -4.44 + 223 2 111 102 -8.96e-02 2.64e-01 -4.98e+00 4.99e+00 0.135 -3.58 + 224 1 22 103 -3.77e-01 1.04e-01 -7.39e+00 7.40e+00 0 -3.63 + 225 1 22 103 -1.01e-01 -1.34e-02 -1.13e+00 1.13e+00 0 -3.1 + 226 1 211 104 3.45e-01 1.80e-01 -4.80e+01 4.81e+01 0.14 -5.51 + 227 1 -211 104 -1.93e-01 -1.30e-01 -4.58e+01 4.58e+01 0.14 -5.97 + 228 1 2212 106 -3.32e-01 -1.28e-01 -8.13e+01 8.13e+01 0.938 -6.13 + 229 1 211 106 -4.57e-02 -8.59e-02 -1.96e+01 1.96e+01 0.14 -6 + 230 1 -211 107 5.01e-02 4.06e-01 -5.86e+02 5.86e+02 0.14 -7.96 + 231 2 111 107 1.43e-03 6.43e-01 -2.28e+03 2.28e+03 0.135 -8.87 + 232 1 22 109 -3.09e-01 3.30e-02 3.60e-01 4.76e-01 0 0.989 + 233 1 211 109 3.21e-02 7.43e-02 1.92e-01 2.51e-01 0.14 1.6 + 234 1 -211 109 3.63e-03 7.21e-02 1.04e-01 1.88e-01 0.14 1.16 + 235 2 -3112 111 8.32e-02 5.28e-01 3.28e+00 3.53e+00 1.2 2.51 + 236 1 -211 111 -7.02e-02 1.54e-01 3.57e-01 4.19e-01 0.14 1.49 + 237 1 22 112 -6.05e-03 6.51e-04 -3.66e-02 3.71e-02 0 -2.49 + 238 1 22 112 -5.06e-01 2.22e-01 -3.02e-01 6.30e-01 0 -0.522 + 239 2 3122 113 5.19e-02 4.99e-01 2.31e+00 2.61e+00 1.12 2.23 + 240 1 -211 113 -8.02e-02 2.44e-01 5.14e-01 5.92e-01 0.14 1.44 + 241 1 -2112 116 3.04e-02 -2.44e-01 -5.37e-02 9.73e-01 0.94 -0.217 + 242 2 111 116 -2.68e-01 -1.87e-01 1.47e-01 3.83e-01 0.135 0.435 + 243 1 2112 117 5.06e-01 -5.88e-01 -6.54e-01 1.38e+00 0.94 -0.767 + 244 1 211 117 9.94e-02 -3.64e-01 -2.59e-01 4.79e-01 0.14 -0.643 + 245 2 111 118 8.20e-03 -2.27e-01 -6.91e-03 2.65e-01 0.135 -0.0303 + 246 2 111 118 1.40e-01 -4.09e-02 6.93e-02 2.11e-01 0.135 0.459 + 247 2 111 118 7.81e-03 -1.44e-01 1.83e-01 2.69e-01 0.135 1.06 + 248 1 211 119 -1.76e-01 3.90e-01 5.74e-01 7.29e-01 0.14 1.1 + 249 1 -211 119 9.82e-02 -9.04e-02 2.85e-01 3.44e-01 0.14 1.5 + 250 2 111 119 -8.91e-02 -3.59e-02 6.13e-02 1.77e-01 0.135 0.602 + 251 1 -211 120 3.22e-01 -8.01e-01 -1.11e-01 8.81e-01 0.14 -0.128 + 252 2 111 120 5.10e-01 -6.20e-01 -8.12e-01 1.15e+00 0.135 -0.89 + 253 1 -211 122 -1.36e-02 3.41e-01 4.64e+00 4.65e+00 0.14 3.3 + 254 2 111 122 2.58e-01 -2.50e-01 6.32e+00 6.33e+00 0.135 3.56 + 255 1 22 125 -3.35e-02 1.31e-01 7.16e-01 7.29e-01 0 2.37 + 256 1 22 125 -2.87e-01 2.55e-01 2.26e+00 2.29e+00 0 2.47 + 257 1 -211 127 -2.54e-01 2.44e-01 1.19e+01 1.19e+01 0.14 4.22 + 258 1 211 127 -1.24e-01 1.60e-01 1.12e+01 1.12e+01 0.14 4.7 + 259 2 111 127 -2.04e-01 1.68e-01 2.19e+01 2.19e+01 0.135 5.11 + 260 2 -311 128 -2.22e-01 8.21e-01 3.41e+01 3.41e+01 0.498 4.38 + 261 2 111 128 1.30e-01 3.65e-01 6.35e+00 6.36e+00 0.135 3.49 + 262 1 2112 130 -2.67e-01 3.24e-02 5.37e+01 5.37e+01 0.94 5.99 + 263 1 211 130 -2.99e-01 -5.09e-02 2.29e+01 2.29e+01 0.14 5.02 + 264 1 -2212 131 5.61e-01 -8.43e-03 1.25e+02 1.25e+02 0.938 6.1 + 265 2 111 131 3.32e-01 -1.93e-01 4.95e+01 4.95e+01 0.135 5.55 + 266 1 22 132 2.15e-01 -2.12e-01 1.79e+01 1.79e+01 0 4.77 + 267 1 22 132 3.26e-01 -1.85e-01 1.64e+01 1.64e+01 0 4.47 + 268 2 111 133 2.18e-01 4.49e-02 2.83e+01 2.83e+01 0.135 5.54 + 269 2 111 133 2.12e-01 1.59e-02 1.44e+01 1.44e+01 0.135 4.91 + 270 2 111 133 4.23e-02 5.94e-02 5.36e+00 5.36e+00 0.135 4.99 + 271 1 211 134 -1.65e-01 -2.41e-01 5.39e+00 5.40e+00 0.14 3.61 + 272 1 -211 134 6.19e-02 6.59e-02 6.85e+00 6.86e+00 0.14 5.02 + 273 2 111 134 -2.91e-01 -1.71e-01 1.42e+01 1.42e+01 0.135 4.43 + 274 1 211 135 -5.22e-02 -4.66e-01 9.36e+00 9.37e+00 0.14 3.69 + 275 2 111 135 4.50e-01 -1.51e-01 2.25e+01 2.25e+01 0.135 4.55 + 276 1 321 136 -2.04e-01 -3.19e-01 1.25e+01 1.26e+01 0.494 4.2 + 277 1 -211 136 3.06e-01 9.23e-02 1.09e+01 1.09e+01 0.14 4.22 + 278 1 -321 137 -7.02e-01 -1.25e+00 1.05e+01 1.06e+01 0.494 2.69 + 279 1 211 137 1.45e-01 -3.87e-01 3.12e+00 3.15e+00 0.14 2.72 + 280 1 22 138 1.25e-02 -1.78e-01 3.01e+00 3.02e+00 0 3.52 + 281 1 22 138 -6.66e-02 -6.02e-02 8.30e-01 8.35e-01 0 2.92 + 282 1 -211 139 5.19e-02 -8.96e-01 4.19e+00 4.29e+00 0.14 2.24 + 283 2 111 139 -6.35e-01 -5.65e-01 5.47e+00 5.53e+00 0.135 2.56 + 284 1 22 140 -5.27e-01 -6.60e-01 5.71e+00 5.77e+00 0 2.61 + 285 1 22 140 -1.95e-01 -3.07e-01 1.97e+00 2.00e+00 0 2.39 + 286 2 311 141 -8.86e-01 -1.65e+00 1.01e+01 1.03e+01 0.498 2.39 + 287 1 211 141 -1.92e-02 -3.01e-02 8.49e-01 8.61e-01 0.14 3.86 + 288 1 -321 142 -3.01e-01 -3.29e-01 5.31e+00 5.35e+00 0.494 3.17 + 289 1 211 142 2.69e-01 -1.05e-01 1.61e+00 1.65e+00 0.14 2.42 + 290 1 22 145 -8.72e-03 1.04e-01 1.13e-01 1.54e-01 0 0.94 + 291 1 22 145 1.86e-01 2.63e-01 2.31e-01 3.96e-01 0 0.668 + 292 1 22 150 -1.35e-01 2.03e-01 1.56e-01 2.89e-01 0 0.602 + 293 1 22 150 3.56e-03 8.29e-02 1.42e-01 1.65e-01 0 1.31 + 294 1 22 156 1.87e-02 -3.13e-02 1.06e+00 1.06e+00 0 4.07 + 295 1 22 156 -4.66e-02 -9.83e-03 1.38e-01 1.46e-01 0 1.79 + 296 1 22 161 -8.38e-02 -1.23e-01 5.39e+01 5.39e+01 0 6.59 + 297 1 22 161 4.22e-02 -6.18e-03 1.58e+01 1.58e+01 0 6.61 + 298 1 22 163 -4.96e-01 -3.72e-02 8.94e+01 8.94e+01 0 5.88 + 299 1 22 163 -3.64e-02 3.67e-02 1.01e+01 1.01e+01 0 5.97 + 300 2 -311 167 2.62e+00 6.14e-02 -9.62e+00 9.98e+00 0.498 -2.01 + 301 1 211 167 8.86e-01 -3.10e-01 -3.85e+00 3.97e+00 0.14 -2.12 + 302 1 -211 167 1.57e+00 -1.37e-01 -6.59e+00 6.78e+00 0.14 -2.14 + 303 2 111 167 3.68e+00 -1.17e+00 -1.66e+01 1.71e+01 0.135 -2.17 + 304 1 22 170 8.17e-01 -1.66e-01 -3.06e+00 3.17e+00 0 -2.01 + 305 1 22 170 1.91e+00 -6.01e-01 -7.31e+00 7.58e+00 0 -2.01 + 306 1 22 174 5.66e-02 -3.92e-01 -2.20e+00 2.23e+00 0 -2.41 + 307 1 22 174 3.78e-02 -4.30e-01 -1.72e+00 1.78e+00 0 -2.09 + 308 1 22 179 8.63e-02 2.25e-02 -3.35e-01 3.46e-01 0 -2.03 + 309 1 22 179 1.20e-01 -1.13e-01 -1.08e+00 1.09e+00 0 -2.58 + 310 1 22 180 4.14e-01 -1.50e-01 -2.22e+00 2.27e+00 0 -2.32 + 311 1 22 180 3.19e-03 -2.49e-02 -5.90e-02 6.41e-02 0 -1.59 + 312 1 22 181 9.34e-02 -2.31e-01 -1.24e+00 1.26e+00 0 -2.31 + 313 1 22 181 1.46e-01 -1.45e-01 -1.59e+00 1.61e+00 0 -2.74 + 314 1 130 184 -4.61e-01 9.23e-01 -1.47e+00 1.86e+00 0.498 -1.15 + 315 1 22 187 -5.85e-01 3.18e-01 -4.89e-01 8.26e-01 0 -0.681 + 316 1 22 187 -7.34e-01 5.57e-01 -7.74e-01 1.20e+00 0 -0.764 + 317 1 22 191 1.58e-01 -3.93e-02 1.89e+01 1.89e+01 0 5.45 + 318 1 22 191 -1.24e-03 -1.25e-02 1.61e-01 1.61e-01 0 3.24 + 319 1 22 193 -2.09e-01 1.98e-01 3.91e+01 3.91e+01 0 5.6 + 320 1 22 193 -5.34e-02 6.53e-03 1.73e+01 1.73e+01 0 6.46 + 321 1 -211 196 -6.02e-02 7.93e-02 2.29e+00 2.30e+00 0.14 3.83 + 322 1 211 196 -1.81e-01 -1.23e-01 3.18e+00 3.19e+00 0.14 3.37 + 323 2 111 196 -2.36e-01 -1.87e-01 3.81e+00 3.82e+00 0.135 3.23 + 324 1 22 198 -4.22e-01 -7.51e-01 1.04e+00 1.35e+00 0 1.02 + 325 1 22 198 -1.29e-02 -2.93e-02 7.56e-03 3.29e-02 0 0.234 + 326 1 22 205 3.52e-02 1.08e-01 -4.99e-01 5.12e-01 0 -2.19 + 327 1 22 205 3.81e-02 -3.40e-02 -1.23e-01 1.33e-01 0 -1.61 + 328 1 22 209 4.52e-01 1.02e+00 -9.53e+02 9.53e+02 0 -7.45 + 329 1 22 209 2.45e-01 3.60e-01 -4.00e+02 4.00e+02 0 -7.52 + 330 1 22 214 2.22e-01 -9.72e-02 -5.55e+01 5.55e+01 0 -6.13 + 331 1 22 214 6.13e-02 -6.91e-02 -9.77e+00 9.77e+00 0 -5.35 + 332 1 22 219 -1.80e-02 -2.12e-02 -2.71e+00 2.71e+00 0 -5.27 + 333 1 22 219 -6.35e-03 -7.32e-02 -7.49e+01 7.49e+01 0 -7.62 + 334 1 22 221 6.96e-02 2.98e-02 -1.70e+01 1.70e+01 0 -6.1 + 335 1 22 221 -1.13e-02 -3.17e-02 -4.22e+01 4.22e+01 0 -7.83 + 336 1 22 223 -6.18e-02 1.94e-01 -2.44e+00 2.45e+00 0 -3.18 + 337 1 22 223 -2.78e-02 6.91e-02 -2.54e+00 2.54e+00 0 -4.22 + 338 1 22 231 5.12e-02 5.37e-01 -1.84e+03 1.84e+03 0 -8.83 + 339 1 22 231 -4.98e-02 1.06e-01 -4.41e+02 4.41e+02 0 -8.93 + 340 1 -2112 235 2.50e-01 4.15e-01 2.81e+00 3.01e+00 0.94 2.46 + 341 1 211 235 -1.66e-01 1.13e-01 4.65e-01 5.25e-01 0.14 1.58 + 342 1 2212 239 1.20e-01 4.43e-01 2.11e+00 2.35e+00 0.938 2.23 + 343 1 -211 239 -6.80e-02 5.60e-02 1.98e-01 2.58e-01 0.14 1.55 + 344 1 22 242 -7.65e-03 -4.73e-02 -9.01e-03 4.88e-02 0 -0.187 + 345 1 22 242 -2.61e-01 -1.39e-01 1.56e-01 3.34e-01 0 0.505 + 346 1 22 245 -4.65e-02 -2.46e-02 1.14e-02 5.38e-02 0 0.215 + 347 1 22 245 5.47e-02 -2.03e-01 -1.83e-02 2.11e-01 0 -0.0871 + 348 1 22 246 -1.55e-02 -1.03e-03 4.57e-02 4.82e-02 0 1.8 + 349 1 22 246 1.56e-01 -3.99e-02 2.36e-02 1.62e-01 0 0.147 + 350 1 22 247 5.08e-02 -4.05e-03 5.40e-02 7.43e-02 0 0.924 + 351 1 22 247 -4.30e-02 -1.39e-01 1.29e-01 1.95e-01 0 0.797 + 352 1 22 250 -1.03e-01 -7.31e-02 4.72e-02 1.35e-01 0 0.367 + 353 1 22 250 1.36e-02 3.72e-02 1.41e-02 4.20e-02 0 0.349 + 354 1 22 252 2.01e-02 -3.63e-02 -8.37e-03 4.23e-02 0 -0.201 + 355 1 22 252 4.90e-01 -5.83e-01 -8.04e-01 1.11e+00 0 -0.92 + 356 1 22 254 -1.33e-02 1.77e-03 2.69e-01 2.70e-01 0 3.7 + 357 1 22 254 2.72e-01 -2.52e-01 6.05e+00 6.06e+00 0 3.49 + 358 1 22 259 -1.27e-01 1.65e-01 1.28e+01 1.29e+01 0 4.82 + 359 1 22 259 -7.69e-02 3.63e-03 9.09e+00 9.09e+00 0 5.46 + 360 1 130 260 -2.22e-01 8.21e-01 3.41e+01 3.41e+01 0.498 4.38 + 361 1 22 261 1.65e-02 1.24e-01 3.02e+00 3.02e+00 0 3.88 + 362 1 22 261 1.13e-01 2.41e-01 3.32e+00 3.34e+00 0 3.22 + 363 1 22 265 2.88e-01 -1.84e-01 3.67e+01 3.67e+01 0 5.37 + 364 1 22 265 4.36e-02 -8.72e-03 1.28e+01 1.28e+01 0 6.36 + 365 1 22 268 3.28e-02 3.35e-02 1.28e+01 1.28e+01 0 6.3 + 366 1 22 268 1.85e-01 1.14e-02 1.54e+01 1.54e+01 0 5.12 + 367 1 22 269 2.06e-01 1.64e-02 1.44e+01 1.44e+01 0 4.94 + 368 1 22 269 5.78e-03 -5.18e-04 2.33e-02 2.40e-02 0 2.1 + 369 1 22 270 -4.65e-03 8.89e-02 2.36e+00 2.36e+00 0 3.97 + 370 1 22 270 4.70e-02 -2.95e-02 3.01e+00 3.01e+00 0 4.68 + 371 1 22 273 -1.01e-01 -5.33e-02 2.60e+00 2.61e+00 0 3.82 + 372 1 22 273 -1.90e-01 -1.18e-01 1.15e+01 1.16e+01 0 4.64 + 373 1 22 275 4.05e-01 -1.61e-01 1.84e+01 1.84e+01 0 4.44 + 374 1 22 275 4.49e-02 1.00e-02 4.05e+00 4.05e+00 0 5.17 + 375 1 22 283 -2.76e-01 -2.69e-01 2.90e+00 2.93e+00 0 2.72 + 376 1 22 283 -3.58e-01 -2.96e-01 2.56e+00 2.61e+00 0 2.41 + 377 2 310 286 -8.86e-01 -1.65e+00 1.01e+01 1.03e+01 0.498 2.39 + 378 1 130 300 2.62e+00 6.14e-02 -9.62e+00 9.98e+00 0.498 -2.01 + 379 1 22 303 2.89e+00 -9.16e-01 -1.28e+01 1.31e+01 0 -2.15 + 380 1 22 303 7.91e-01 -2.57e-01 -3.83e+00 3.92e+00 0 -2.23 + 381 1 22 323 -1.15e-01 -1.36e-01 2.82e+00 2.82e+00 0 3.45 + 382 1 22 323 -1.21e-01 -5.05e-02 9.94e-01 1.00e+00 0 2.72 + 383 2 111 377 -2.71e-01 -3.14e-01 1.68e+00 1.74e+00 0.135 2.11 + 384 2 111 377 -6.16e-01 -1.33e+00 8.42e+00 8.55e+00 0.135 2.45 + 385 1 22 383 -1.01e-01 -2.05e-01 1.03e+00 1.06e+00 0 2.21 + 386 1 22 383 -1.69e-01 -1.09e-01 6.47e-01 6.77e-01 0 1.88 + 387 1 22 384 -3.01e-01 -7.16e-01 4.10e+00 4.17e+00 0 2.37 + 388 1 22 384 -3.15e-01 -6.16e-01 4.33e+00 4.38e+00 0 2.53 diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc index f16113186f..2ee96bcf0d 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: hepmcEx02.cc,v 1.5 2006/07/05 12:04:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: hepmcEx02.cc,v 1.8 2010/12/10 06:22:25 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -34,11 +34,9 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "H02DetectorConstruction.hh" -#include "H02PhysicsList.hh" +#include "QGSP_BERT.hh" #include "H02PrimaryGeneratorAction.hh" #include "H02EventAction.hh" #include "H02SteppingAction.hh" @@ -47,6 +45,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + int main(int argc, char** argv) { G4RunManager* runManager= new G4RunManager; @@ -56,7 +58,7 @@ int main(int argc, char** argv) G4VUserDetectorConstruction* detector = new H02DetectorConstruction; runManager-> SetUserInitialization(detector); // - G4VUserPhysicsList* physics = new H02PhysicsList; + G4VUserPhysicsList* physics = new QGSP_BERT; runManager-> SetUserInitialization(physics); runManager-> Initialize(); @@ -80,27 +82,22 @@ int main(int argc, char** argv) G4cout << G4endl; #endif - if(argc==1) // G4UIterminal is a (dumb) terminal - { -#ifdef QERAUOY - G4UItcsh* tcsh= new - G4UItcsh("hepmcEx02(%s)[%/]:"); - G4UIterminal* session= new G4UIterminal(tcsh); - tcsh-> SetLsColor(RED, GREEN); -#else - G4UItcsh* tcsh= new G4UItcsh("hepmcEx01(%s)[%/]:"); - G4UIterminal* session= new G4UIterminal(tcsh); -#endif - session->SessionStart(); - delete session; + //get the pointer to the User Interface manager + G4UImanager* UImanager = G4UImanager::GetUIpointer(); - } - else // Batch mode - { - G4UImanager* UImanager= G4UImanager::GetUIpointer(); - G4String command= "/control/execute "; - G4String fileName= argv[1]; - UImanager-> ApplyCommand(command+fileName); + if (argc!=1) { // batch mode +#ifdef G4VIS_USE + visManager-> SetVerboseLevel("quiet"); +#endif + 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); + ui-> SessionStart(); + delete ui; +#endif } // Free the store: user actions, physics_list and detector_description are diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_ascii.out b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_ascii.out index da401d70f8..9135cdf119 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_ascii.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_ascii.out @@ -1,12 +1,17 @@ ************************************************************* - Geant4 version Name: geant4-08-01-ref-00 (30-June-2006) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -Visualization Manager instantiating... + +<<< Geant4 Physics List engine packaging library: PACK 5.5 +<<< Geant4 Physics List simulation engine: QGSP_BERT 3.4 + +### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0 +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -14,18 +19,20 @@ 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) + gMocrenFile (gMocrenFile) FukuiRenderer (DAWN) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) - OpenGLImmediateXm (OGLIXm) - OpenGLStoredXm (OGLSXm) - OpenInventorXt (OIX) + OpenGLImmediateQt (OGLIQt) + OpenGLStoredQt (OGLSQt) RayTracerX (RayTracerX) VRML1 (VRML1) VRML2 (VRML2) @@ -38,2213 +45,345 @@ Registered model factories: drawByCharge drawByParticleID drawByOriginVolume - -Registered models: - None + drawByAttribute Registered filter factories: chargeFilter particleFilter originVolumeFilter - -Registered filters: - None + attributeFilter current generator type: hepmcAscii HepMC Ascii inputfile: data/example_MyPythia.dat -IO_Ascii: unformated ascii file IO for machine reading. +IO_AsciiParticles: formated ascii file IO for eye and machine reading. File openmode: 8 file state: 0 bad:0 eof:0 fail:0 good:0 -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 ====== + BetheHeitler : 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 +msc: for e- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc93 : 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 -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. +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 AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban -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 -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. +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 AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban -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. +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 -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 +msc: for proton SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 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 +hBrems: for proton 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 -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 +hPairProd: for proton 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 -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 +msc: for GenericIon SubType= 10 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 +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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV 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 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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV 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 +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 +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 -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 +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 -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 +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 +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 -========= Table of registered couples ============================== +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 -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- 8.07135 keV e+ 8.07135 keV - Region(s) which use this couple : - DefaultRegionForTheWorld +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)= 11.4592 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + WentzelVIUni : Emin= 0 eV Emax= 10 TeV -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 - Region(s) which use this couple : - DefaultRegionForTheWorld +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 -Index : 2 used in the geometry : Yes recalculation needed : No - Material : ArgonGas - Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 990 eV e- 10.3667 keV e+ 10.2399 keV - Region(s) which use this couple : - DefaultRegionForTheWorld +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 -==================================================================== +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 -________________________________________________________________________________ -GenEvent: #1 ID=20 SignalProcessGenVertex Barcode: 0 - Current Memory Usage: 1 events, 78 vertices, 210 particles. - Entries this event: 78 vertices, 210 particles. - RndmState(0)= - Wgts(0)= - EventScale -1 [energy] alphaQCD=-1 alphaQED=-1 - GenParticle Legend - Barcode PDG ID ( Px, Py, Pz, E ) Stat DecayVtx -________________________________________________________________________________ -GenVertex: -1 ID: 0 (X,cT):0 - I: 1 1 2212 +0.00e+00,+0.00e+00,+7.00e+03,+7.00e+03 3 -1 - O: 2 3 2 -7.76e-01,-9.12e-01,+1.88e+03,+1.88e+03 3 -3 - 20 2101 +7.76e-01,+9.12e-01,+4.45e+03,+4.45e+03 2 -16 -GenVertex: -2 ID: 0 (X,cT):0 - I: 1 2 2212 +0.00e+00,+0.00e+00,-7.00e+03,+7.00e+03 3 -2 - O: 3 26 1 +8.08e-03,-1.46e-02,-2.46e+03,+2.46e+03 2 -16 - 4 -1 -1.01e+00,-1.27e-02,-4.15e+00,+4.27e+00 3 -4 - 13 2214 +1.00e-00,+2.73e-02,-4.08e+03,+4.08e+03 2 -9 -GenVertex: -3 ID: 0 (X,cT):0 - I: 1 3 2 -7.76e-01,-9.12e-01,+1.88e+03,+1.88e+03 3 -3 - O: 4 5 2 -5.02e+00,+1.15e+00,+1.48e+03,+1.48e+03 3 -5 - 21 21 +1.46e+00,-3.91e-01,+1.09e+02,+1.09e+02 2 -16 - 22 21 +3.11e+00,+2.32e-01,+1.46e+02,+1.47e+02 2 -16 - 23 21 -1.09e-01,-1.87e+00,+8.61e+01,+8.61e+01 2 -16 -GenVertex: -4 ID: 0 (X,cT):0 - I: 1 4 -1 -1.01e+00,-1.27e-02,-4.15e+00,+4.27e+00 3 -4 - O: 3 6 -1 +2.54e-02,+8.35e+00,+6.60e-01,+8.37e+00 3 -5 - 24 21 -5.37e-01,-6.68e+00,+4.75e+01,+4.79e+01 2 -16 - 25 21 -7.11e-01,-1.71e+00,+1.08e+01,+1.10e+01 2 -16 -GenVertex: -5 ID: 0 (X,cT):0 - I: 2 5 2 -5.02e+00,+1.15e+00,+1.48e+03,+1.48e+03 3 -5 - 6 -1 +2.54e-02,+8.35e+00,+6.60e-01,+8.37e+00 3 -5 - O: 2 7 22 -4.03e+00,-1.23e+00,+2.46e+02,+2.46e+02 3 -6 - 8 24 -9.67e-01,+1.07e+01,+1.23e+03,+1.24e+03 3 -7 -GenVertex: -6 ID: 0 (X,cT):0 - I: 1 7 22 -4.03e+00,-1.23e+00,+2.46e+02,+2.46e+02 3 -6 - O: 1 9 22 -4.03e+00,-1.23e+00,+2.46e+02,+2.46e+02 1 -GenVertex: -7 ID: 0 (X,cT):0 - I: 1 8 24 -9.67e-01,+1.07e+01,+1.23e+03,+1.24e+03 3 -7 - O: 1 10 24 -9.67e-01,+1.07e+01,+1.23e+03,+1.24e+03 2 -8 -GenVertex: -8 ID: 0 (X,cT):0 - I: 1 10 24 -9.67e-01,+1.07e+01,+1.23e+03,+1.24e+03 2 -8 - O: 2 11 -13 -2.56e+01,+4.70e+01,+2.09e+02,+2.16e+02 1 - 12 14 +2.47e+01,-3.63e+01,+1.02e+03,+1.02e+03 1 -GenVertex: -9 ID: 0 (X,cT):0 - I: 1 13 2214 +1.00e-00,+2.73e-02,-4.08e+03,+4.08e+03 2 -9 - O: 2 29 2212 +1.02e+00,+1.18e-01,-3.74e+03,+3.74e+03 1 - 30 111 -2.46e-02,-9.09e-02,-3.46e+02,+3.46e+02 2 -20 -GenVertex: -10 ID: 0 (X,cT):0 - I: 2 14 1 +2.31e+00,+5.82e+00,+1.51e+02,+1.51e+02 2 -10 - 15 -1 -2.31e+00,-5.82e+00,+4.62e+01,+4.66e+01 2 -10 - O: 1 31 92 +0.00e+00,+0.00e+00,+1.97e+02,+1.97e+02 2 -11 -GenVertex: -11 ID: 0 (X,cT):0 - I: 1 31 92 +0.00e+00,+0.00e+00,+1.97e+02,+1.97e+02 2 -11 - O: 8 32 -211 +2.54e-01,+1.65e+00,+3.42e+01,+3.42e+01 1 - 33 211 +1.83e-01,-2.25e-01,+8.98e+00,+8.99e+00 1 - 34 -211 +1.65e+00,+3.36e+00,+8.55e+01,+8.56e+01 1 - 35 221 +1.53e-01,+1.01e-01,+1.68e+01,+1.68e+01 2 -21 - 36 211 -5.43e-01,+7.13e-02,+3.10e+00,+3.15e+00 1 - 37 221 -4.39e-01,-1.09e+00,+1.62e+01,+1.63e+01 2 -22 - 38 -213 -1.18e+00,-2.20e+00,+1.67e+01,+1.70e+01 2 -23 - 39 211 -8.40e-02,-1.67e+00,+1.53e+01,+1.54e+01 1 -GenVertex: -12 ID: 0 (X,cT):0 - I: 2 16 2 -3.95e+00,-1.33e+00,+3.41e+01,+3.44e+01 2 -12 - 17 -2 +3.95e+00,+1.33e+00,+4.38e+02,+4.38e+02 2 -12 - O: 1 40 92 +0.00e+00,+0.00e+00,+4.72e+02,+4.72e+02 2 -13 -GenVertex: -13 ID: 0 (X,cT):0 - I: 1 40 92 +0.00e+00,+0.00e+00,+4.72e+02,+4.72e+02 2 -13 - O: 8 41 221 -2.68e+00,-7.41e-01,+2.70e+01,+2.71e+01 2 -24 - 42 211 -1.08e+00,-1.77e-01,+8.94e+00,+9.00e+00 1 - 43 223 +7.31e-01,-2.42e-01,+2.97e+01,+2.97e+01 2 -25 - 44 -213 +6.83e-02,+2.16e-01,+2.67e+01,+2.67e+01 2 -26 - 45 211 -7.62e-02,+3.34e-01,+9.98e+00,+9.98e+00 1 - 46 223 +1.18e+00,+7.67e-03,+1.59e+02,+1.59e+02 2 -27 - 47 -213 +4.18e-01,+2.70e-01,+5.63e+01,+5.63e+01 2 -28 - 48 111 +1.44e+00,+3.32e-01,+1.54e+02,+1.54e+02 2 -29 -GenVertex: -14 ID: 0 (X,cT):0 - I: 2 18 2 +1.54e+00,+3.04e+00,-6.32e+01,+6.33e+01 2 -14 - 19 -2 -1.54e+00,-3.04e+00,-3.11e+02,+3.11e+02 2 -14 - O: 1 49 92 +0.00e+00,+0.00e+00,-3.75e+02,+3.75e+02 2 -15 -GenVertex: -15 ID: 0 (X,cT):0 - I: 1 49 92 +0.00e+00,+0.00e+00,-3.75e+02,+3.75e+02 2 -15 - O: 3 50 113 +1.57e+00,+2.83e+00,-6.11e+01,+6.12e+01 2 -30 - 51 211 +2.02e-01,+1.20e-01,-2.70e+01,+2.70e+01 1 - 52 -211 -1.77e+00,-2.95e+00,-2.86e+02,+2.86e+02 1 -GenVertex: -16 ID: 0 (X,cT):0 - I: 7 26 1 +8.08e-03,-1.46e-02,-2.46e+03,+2.46e+03 2 -16 - 21 21 +1.46e+00,-3.91e-01,+1.09e+02,+1.09e+02 2 -16 - 22 21 +3.11e+00,+2.32e-01,+1.46e+02,+1.47e+02 2 -16 - 23 21 -1.09e-01,-1.87e+00,+8.61e+01,+8.61e+01 2 -16 - 24 21 -5.37e-01,-6.68e+00,+4.75e+01,+4.79e+01 2 -16 - 25 21 -7.11e-01,-1.71e+00,+1.08e+01,+1.10e+01 2 -16 - 20 2101 +7.76e-01,+9.12e-01,+4.45e+03,+4.45e+03 2 -16 - O: 1 53 92 +3.99e+00,-9.52e+00,+2.38e+03,+7.31e+03 2 -17 -GenVertex: -17 ID: 0 (X,cT):0 - I: 1 53 92 +3.99e+00,-9.52e+00,+2.38e+03,+7.31e+03 2 -17 - O:31 54 2212 +8.22e-01,+7.58e-01,+2.86e+03,+2.86e+03 1 - 55 113 -3.60e-01,-1.69e-01,+8.62e+02,+8.62e+02 2 -31 - 56 -2214 +1.03e+00,+9.30e-02,+4.53e+02,+4.53e+02 2 -32 - 57 223 -3.60e-01,+4.04e-01,+1.25e+02,+1.25e+02 2 -33 - 58 2212 +1.68e+00,-6.25e-01,+1.57e+02,+1.57e+02 1 - 59 -213 +5.56e-01,+3.45e-01,+9.14e+01,+9.14e+01 2 -34 - 60 -311 +6.88e-02,-2.98e-02,+3.77e+01,+3.77e+01 2 -35 - 61 311 +5.59e-01,-2.32e-01,+5.88e+01,+5.88e+01 2 -36 - 62 211 +3.24e-01,-1.11e+00,+5.03e+01,+5.03e+01 1 - 63 113 -1.65e-02,-7.81e-02,+4.91e+00,+4.95e+00 2 -37 - 64 -211 +7.06e-01,-6.40e-01,+6.56e+01,+6.56e+01 1 - 65 213 +4.72e-01,-4.39e-01,+1.44e+01,+1.44e+01 2 -38 - 66 -213 -3.00e-01,-3.82e-01,+1.62e+01,+1.63e+01 2 -39 - 67 211 -4.39e-01,-3.19e+00,+2.48e+01,+2.50e+01 1 - 68 -211 -1.40e-01,-1.20e-01,+4.92e-01,+5.44e-01 1 - 69 -311 -2.66e-01,-2.65e+00,+2.07e+01,+2.08e+01 2 -40 - 70 323 +1.09e-01,-8.86e-01,+4.66e+00,+4.83e+00 2 -41 - 71 113 -4.98e-01,-2.28e-01,+1.70e+00,+1.96e+00 2 -42 - 72 -323 -2.90e-01,-2.30e-01,+6.43e-01,+1.16e+00 2 -43 - 73 311 +7.90e-02,-3.23e-02,-8.47e-01,+9.86e-01 2 -44 - 74 113 +1.28e-01,+1.79e-01,-7.07e-01,+1.09e+00 2 -45 - 75 -2112 +2.40e-01,-6.43e-01,-2.35e+00,+2.62e+00 1 - 76 2112 +1.43e-01,-2.20e-01,-2.23e+00,+2.43e+00 1 - 77 221 -1.58e-01,+9.23e-01,-1.12e+01,+1.12e+01 2 -46 - 78 211 -3.97e-01,-5.01e-01,-1.11e+00,+1.29e+00 1 - 79 111 +2.87e-01,+2.82e-01,-1.04e+00,+1.12e+00 2 -47 - 80 223 +4.06e-01,-2.45e-01,-3.51e+01,+3.51e+01 2 -48 - 81 -321 -6.14e-01,+2.77e-01,-2.28e+02,+2.28e+02 1 - 82 323 +1.26e-01,-3.07e-01,-1.50e+03,+1.50e+03 2 -49 - 83 -321 +1.94e-01,+2.93e-01,-1.69e+02,+1.69e+02 1 - 84 311 -9.36e-02,-1.11e-01,-5.09e+02,+5.09e+02 2 -50 -GenVertex: -18 ID: 0 (X,cT):0 - I: 2 27 21 -1.37e-01,-5.99e+00,-1.38e+01,+1.51e+01 2 -18 - 28 21 +1.37e-01,+5.99e+00,-6.12e+01,+6.15e+01 2 -18 - O: 1 85 92 +0.00e+00,+0.00e+00,-7.51e+01,+7.66e+01 2 -19 -GenVertex: -19 ID: 0 (X,cT):0 - I: 1 85 92 +0.00e+00,+0.00e+00,-7.51e+01,+7.66e+01 2 -19 - O: 9 86 -2112 -3.84e-02,-2.48e+00,-7.98e+00,+8.41e+00 1 - 87 2212 +1.88e-01,-2.14e+00,-4.49e+00,+5.07e+00 1 - 88 -213 +2.00e-01,-1.11e-01,-1.66e+00,+1.83e+00 2 -51 - 89 -313 -6.26e-01,+1.37e+00,-1.29e+01,+1.30e+01 2 -52 - 90 321 +7.89e-02,+7.45e-01,-1.09e+01,+1.10e+01 1 - 91 -211 +4.23e-02,+3.92e-01,-8.74e+00,+8.75e+00 1 - 92 211 +6.44e-02,+3.67e-01,-1.38e+00,+1.43e+00 1 - 93 -2212 +4.16e-02,+5.64e-01,-1.20e+01,+1.20e+01 1 - 94 2112 +4.92e-02,+1.30e+00,-1.50e+01,+1.51e+01 1 -Vertex: -20 ID: 0 (X,cT)=-7.43e-06,-2.74e-05,-1.04e-01,+1.04e-01 - I: 1 30 111 -2.46e-02,-9.09e-02,-3.46e+02,+3.46e+02 2 -20 - O: 2 95 22 -4.57e-02,-1.20e-01,-2.72e+02,+2.72e+02 1 - 96 22 +2.11e-02,+2.92e-02,-7.38e+01,+7.38e+01 1 -GenVertex: -21 ID: 0 (X,cT):0 - I: 1 35 221 +1.53e-01,+1.01e-01,+1.68e+01,+1.68e+01 2 -21 - O: 3 97 211 +1.91e-01,+1.34e-01,+6.86e+00,+6.86e+00 1 - 98 -211 -4.99e-02,-5.38e-02,+4.31e+00,+4.31e+00 1 - 99 111 +1.27e-02,+2.08e-02,+5.61e+00,+5.61e+00 2 -53 -GenVertex: -22 ID: 0 (X,cT):0 - I: 1 37 221 -4.39e-01,-1.09e+00,+1.62e+01,+1.63e+01 2 -22 - O: 3 100 111 +2.02e-02,-1.98e-01,+2.68e+00,+2.69e+00 2 -54 - 101 111 -1.94e-01,-3.08e-01,+5.97e+00,+5.98e+00 2 -55 - 102 111 -2.65e-01,-5.85e-01,+7.55e+00,+7.58e+00 2 -56 -GenVertex: -23 ID: 0 (X,cT):0 - I: 1 38 -213 -1.18e+00,-2.20e+00,+1.67e+01,+1.70e+01 2 -23 - O: 2 103 -211 +5.93e-02,-7.99e-01,+3.99e+00,+4.07e+00 1 - 104 111 -1.24e+00,-1.40e+00,+1.27e+01,+1.29e+01 2 -57 -GenVertex: -24 ID: 0 (X,cT):0 - I: 1 41 221 -2.68e+00,-7.41e-01,+2.70e+01,+2.71e+01 2 -24 - O: 2 105 22 -6.34e-03,-7.93e-02,+8.01e-01,+8.05e-01 1 - 106 22 -2.67e+00,-6.61e-01,+2.62e+01,+2.63e+01 1 -GenVertex: -25 ID: 0 (X,cT):0 - I: 1 43 223 +7.31e-01,-2.42e-01,+2.97e+01,+2.97e+01 2 -25 - O: 3 107 -211 +1.76e-02,+3.37e-02,+3.20e+00,+3.21e+00 1 - 108 211 +3.94e-01,+9.73e-02,+1.40e+01,+1.40e+01 1 - 109 111 +3.20e-01,-3.73e-01,+1.25e+01,+1.25e+01 2 -58 -GenVertex: -26 ID: 0 (X,cT):0 - I: 1 44 -213 +6.83e-02,+2.16e-01,+2.67e+01,+2.67e+01 2 -26 - O: 2 110 -211 -8.41e-02,-1.88e-01,+1.75e+01,+1.75e+01 1 - 111 111 +1.52e-01,+4.04e-01,+9.17e+00,+9.18e+00 2 -59 -GenVertex: -27 ID: 0 (X,cT):0 - I: 1 46 223 +1.18e+00,+7.67e-03,+1.59e+02,+1.59e+02 2 -27 - O: 3 112 -211 +4.71e-01,+6.85e-02,+4.92e+01,+4.92e+01 1 - 113 211 +5.97e-01,-1.23e-01,+1.01e+02,+1.01e+02 1 - 114 111 +1.09e-01,+6.20e-02,+9.26e+00,+9.26e+00 2 -60 -GenVertex: -28 ID: 0 (X,cT):0 - I: 1 47 -213 +4.18e-01,+2.70e-01,+5.63e+01,+5.63e+01 2 -28 - O: 2 115 -211 +4.07e-02,+6.55e-03,+6.59e+00,+6.59e+00 1 - 116 111 +3.77e-01,+2.64e-01,+4.98e+01,+4.98e+01 2 -61 -Vertex: -29 ID: 0 (X,cT)=+3.69e-04,+8.53e-05,+3.95e-02,+3.95e-02 - I: 1 48 111 +1.44e+00,+3.32e-01,+1.54e+02,+1.54e+02 2 -29 - O: 2 117 22 +4.72e-01,+4.59e-02,+5.06e+01,+5.06e+01 1 - 118 22 +9.67e-01,+2.86e-01,+1.03e+02,+1.03e+02 1 -GenVertex: -30 ID: 0 (X,cT):0 - I: 1 50 113 +1.57e+00,+2.83e+00,-6.11e+01,+6.12e+01 2 -30 - O: 2 119 -211 +9.16e-01,+2.13e+00,-4.37e+01,+4.38e+01 1 - 120 211 +6.49e-01,+7.08e-01,-1.74e+01,+1.75e+01 1 -GenVertex: -31 ID: 0 (X,cT):0 - I: 1 55 113 -3.60e-01,-1.69e-01,+8.62e+02,+8.62e+02 2 -31 - O: 2 121 211 -1.07e-01,+4.26e-02,+1.56e+02,+1.56e+02 1 - 122 -211 -2.53e-01,-2.12e-01,+7.07e+02,+7.07e+02 1 -GenVertex: -32 ID: 0 (X,cT):0 - I: 1 56 -2214 +1.03e+00,+9.30e-02,+4.53e+02,+4.53e+02 2 -32 - O: 2 123 -2212 +4.99e-01,+1.49e-01,+3.29e+02,+3.29e+02 1 - 124 111 +5.28e-01,-5.58e-02,+1.24e+02,+1.24e+02 2 -62 -GenVertex: -33 ID: 0 (X,cT):0 - I: 1 57 223 -3.60e-01,+4.04e-01,+1.25e+02,+1.25e+02 2 -33 - O: 3 125 211 -1.22e-01,+3.51e-01,+3.18e+01,+3.18e+01 1 - 126 -211 -2.21e-01,+7.11e-02,+8.21e+01,+8.21e+01 1 - 127 111 -1.66e-02,-1.80e-02,+1.09e+01,+1.09e+01 2 -63 -GenVertex: -34 ID: 0 (X,cT):0 - I: 1 59 -213 +5.56e-01,+3.45e-01,+9.14e+01,+9.14e+01 2 -34 - O: 2 128 -211 +3.11e-01,+3.56e-01,+3.44e+01,+3.44e+01 1 - 129 111 +2.45e-01,-1.18e-02,+5.70e+01,+5.70e+01 2 -64 -GenVertex: -35 ID: 0 (X,cT):0 - I: 1 60 -311 +6.88e-02,-2.98e-02,+3.77e+01,+3.77e+01 2 -35 - O: 1 130 310 +6.88e-02,-2.98e-02,+3.77e+01,+3.77e+01 2 -65 -GenVertex: -36 ID: 0 (X,cT):0 - I: 1 61 311 +5.59e-01,-2.32e-01,+5.88e+01,+5.88e+01 2 -36 - O: 1 131 130 +5.59e-01,-2.32e-01,+5.88e+01,+5.88e+01 1 -GenVertex: -37 ID: 0 (X,cT):0 - I: 1 63 113 -1.65e-02,-7.81e-02,+4.91e+00,+4.95e+00 2 -37 - O: 2 132 211 +1.08e-01,-5.14e-02,+4.37e+00,+4.38e+00 1 - 133 -211 -1.25e-01,-2.68e-02,+5.37e-01,+5.69e-01 1 -GenVertex: -38 ID: 0 (X,cT):0 - I: 1 65 213 +4.72e-01,-4.39e-01,+1.44e+01,+1.44e+01 2 -38 - O: 2 134 211 +1.82e-01,-5.33e-01,+1.18e+01,+1.18e+01 1 - 135 111 +2.91e-01,+9.43e-02,+2.56e+00,+2.58e+00 2 -66 -GenVertex: -39 ID: 0 (X,cT):0 - I: 1 66 -213 -3.00e-01,-3.82e-01,+1.62e+01,+1.63e+01 2 -39 - O: 2 136 -211 -4.94e-01,-2.13e-01,+6.74e+00,+6.77e+00 1 - 137 111 +1.93e-01,-1.69e-01,+9.48e+00,+9.49e+00 2 -67 -GenVertex: -40 ID: 0 (X,cT):0 - I: 1 69 -311 -2.66e-01,-2.65e+00,+2.07e+01,+2.08e+01 2 -40 - O: 1 138 130 -2.66e-01,-2.65e+00,+2.07e+01,+2.08e+01 1 -GenVertex: -41 ID: 0 (X,cT):0 - I: 1 70 323 +1.09e-01,-8.86e-01,+4.66e+00,+4.83e+00 2 -41 - O: 2 139 311 -4.56e-02,-1.94e-01,+1.85e+00,+1.93e+00 2 -68 - 140 211 +1.54e-01,-6.92e-01,+2.81e+00,+2.90e+00 1 -GenVertex: -42 ID: 0 (X,cT):0 - I: 1 71 113 -4.98e-01,-2.28e-01,+1.70e+00,+1.96e+00 2 -42 - O: 2 141 211 +7.24e-02,-1.33e-01,+6.29e-02,+2.15e-01 1 - 142 -211 -5.70e-01,-9.51e-02,+1.64e+00,+1.75e+00 1 -GenVertex: -43 ID: 0 (X,cT):0 - I: 1 72 -323 -2.90e-01,-2.30e-01,+6.43e-01,+1.16e+00 2 -43 - O: 2 143 -311 -1.02e-01,-3.76e-01,+2.53e-01,+6.81e-01 2 -69 - 144 -211 -1.88e-01,+1.45e-01,+3.90e-01,+4.77e-01 1 -GenVertex: -44 ID: 0 (X,cT):0 - I: 1 73 311 +7.90e-02,-3.23e-02,-8.47e-01,+9.86e-01 2 -44 - O: 1 145 310 +7.90e-02,-3.23e-02,-8.47e-01,+9.86e-01 2 -70 -GenVertex: -45 ID: 0 (X,cT):0 - I: 1 74 113 +1.28e-01,+1.79e-01,-7.07e-01,+1.09e+00 2 -45 - O: 2 146 -211 -7.31e-02,+3.05e-01,-7.33e-01,+8.10e-01 1 - 147 211 +2.01e-01,-1.27e-01,+2.56e-02,+2.77e-01 1 -GenVertex: -46 ID: 0 (X,cT):0 - I: 1 77 221 -1.58e-01,+9.23e-01,-1.12e+01,+1.12e+01 2 -46 - O: 3 148 -211 -1.37e-01,+2.12e-01,-2.48e+00,+2.50e+00 1 - 149 211 -6.29e-02,+5.66e-01,-6.65e+00,+6.68e+00 1 - 150 111 +4.20e-02,+1.44e-01,-2.05e+00,+2.06e+00 2 -71 -Vertex: -47 ID: 0 (X,cT)=+2.15e-05,+2.11e-05,-7.77e-05,+8.40e-05 - I: 1 79 111 +2.87e-01,+2.82e-01,-1.04e+00,+1.12e+00 2 -47 - O: 2 151 22 +1.31e-01,+1.64e-01,-6.99e-01,+7.30e-01 1 - 152 22 +1.57e-01,+1.18e-01,-3.38e-01,+3.91e-01 1 -GenVertex: -48 ID: 0 (X,cT):0 - I: 1 80 223 +4.06e-01,-2.45e-01,-3.51e+01,+3.51e+01 2 -48 - O: 2 153 -211 -6.79e-02,+2.16e-01,-6.21e+00,+6.22e+00 1 - 154 211 +4.74e-01,-4.61e-01,-2.89e+01,+2.89e+01 1 -GenVertex: -49 ID: 0 (X,cT):0 - I: 1 82 323 +1.26e-01,-3.07e-01,-1.50e+03,+1.50e+03 2 -49 - O: 2 155 321 +2.70e-01,-1.79e-01,-6.57e+02,+6.57e+02 1 - 156 111 -1.45e-01,-1.29e-01,-8.42e+02,+8.42e+02 2 -72 -GenVertex: -50 ID: 0 (X,cT):0 - I: 1 84 311 -9.36e-02,-1.11e-01,-5.09e+02,+5.09e+02 2 -50 - O: 1 157 130 -9.36e-02,-1.11e-01,-5.09e+02,+5.09e+02 1 -GenVertex: -51 ID: 0 (X,cT):0 - I: 1 88 -213 +2.00e-01,-1.11e-01,-1.66e+00,+1.83e+00 2 -51 - O: 2 158 -211 -1.33e-01,-2.94e-01,-9.51e-01,+1.01e+00 1 - 159 111 +3.33e-01,+1.83e-01,-7.05e-01,+8.13e-01 2 -73 -GenVertex: -52 ID: 0 (X,cT):0 - I: 1 89 -313 -6.26e-01,+1.37e+00,-1.29e+01,+1.30e+01 2 -52 - O: 2 160 -311 -2.82e-02,+5.68e-01,-5.71e+00,+5.76e+00 2 -74 - 161 111 -5.98e-01,+7.99e-01,-7.16e+00,+7.23e+00 2 -75 -Vertex: -53 ID: 0 (X,cT)=+6.33e-07,+1.04e-06,+2.79e-04,+2.79e-04 - I: 1 99 111 +1.27e-02,+2.08e-02,+5.61e+00,+5.61e+00 2 -53 - O: 2 162 22 +5.81e-02,+5.34e-02,+3.78e+00,+3.78e+00 1 - 163 22 -4.54e-02,-3.26e-02,+1.83e+00,+1.83e+00 1 -Vertex: -54 ID: 0 (X,cT)=+3.79e-06,-3.71e-05,+5.03e-04,+5.05e-04 - I: 1 100 111 +2.02e-02,-1.98e-01,+2.68e+00,+2.69e+00 2 -54 - O: 2 164 22 +2.39e-02,-9.50e-02,+2.06e+00,+2.06e+00 1 - 165 22 -3.65e-03,-1.03e-01,+6.27e-01,+6.35e-01 1 -Vertex: -55 ID: 0 (X,cT)=-2.82e-05,-4.46e-05,+8.64e-04,+8.66e-04 - I: 1 101 111 -1.94e-01,-3.08e-01,+5.97e+00,+5.98e+00 2 -55 - O: 2 166 22 -2.13e-01,-2.53e-01,+5.08e+00,+5.10e+00 1 - 167 22 +1.82e-02,-5.48e-02,+8.85e-01,+8.87e-01 1 -Vertex: -56 ID: 0 (X,cT)=-1.01e-04,-2.22e-04,+2.87e-03,+2.88e-03 - I: 1 102 111 -2.65e-01,-5.85e-01,+7.55e+00,+7.58e+00 2 -56 - O: 2 168 22 -2.34e-01,-3.64e-01,+4.90e+00,+4.92e+00 1 - 169 22 -3.04e-02,-2.21e-01,+2.65e+00,+2.66e+00 1 -Vertex: -57 ID: 0 (X,cT)=-2.73e-04,-3.09e-04,+2.81e-03,+2.84e-03 - I: 1 104 111 -1.24e+00,-1.40e+00,+1.27e+01,+1.29e+01 2 -57 - O: 2 170 22 -1.22e-02,-1.70e-02,+7.27e-02,+7.56e-02 1 - 171 22 -1.22e+00,-1.38e+00,+1.27e+01,+1.28e+01 1 -Vertex: -58 ID: 0 (X,cT)=+7.51e-05,-8.77e-05,+2.93e-03,+2.94e-03 - I: 1 109 111 +3.20e-01,-3.73e-01,+1.25e+01,+1.25e+01 2 -58 - O: 2 172 22 +3.26e-01,-3.46e-01,+1.21e+01,+1.21e+01 1 - 173 22 -6.46e-03,-2.66e-02,+3.50e-01,+3.51e-01 1 -Vertex: -59 ID: 0 (X,cT)=+1.45e-06,+3.84e-06,+8.70e-05,+8.71e-05 - I: 1 111 111 +1.52e-01,+4.04e-01,+9.17e+00,+9.18e+00 2 -59 - O: 2 174 22 -2.15e-02,+1.49e-02,+4.86e-01,+4.86e-01 1 - 175 22 +1.74e-01,+3.89e-01,+8.68e+00,+8.69e+00 1 -Vertex: -60 ID: 0 (X,cT)=+1.34e-05,+7.65e-06,+1.14e-03,+1.14e-03 - I: 1 114 111 +1.09e-01,+6.20e-02,+9.26e+00,+9.26e+00 2 -60 - O: 2 176 22 -1.64e-02,+4.04e-02,+4.24e+00,+4.24e+00 1 - 177 22 +1.25e-01,+2.17e-02,+5.02e+00,+5.02e+00 1 -Vertex: -61 ID: 0 (X,cT)=+1.85e-05,+1.29e-05,+2.43e-03,+2.43e-03 - I: 1 116 111 +3.77e-01,+2.64e-01,+4.98e+01,+4.98e+01 2 -61 - O: 2 178 22 +1.08e-01,+2.89e-02,+7.90e+00,+7.91e+00 1 - 179 22 +2.70e-01,+2.35e-01,+4.19e+01,+4.19e+01 1 -Vertex: -62 ID: 0 (X,cT)=+5.58e-05,-5.89e-06,+1.31e-02,+1.31e-02 - I: 1 124 111 +5.28e-01,-5.58e-02,+1.24e+02,+1.24e+02 2 -62 - O: 2 180 22 +2.10e-01,+4.29e-02,+4.58e+01,+4.58e+01 1 - 181 22 +3.18e-01,-9.86e-02,+7.82e+01,+7.82e+01 1 -Vertex: -63 ID: 0 (X,cT)=-7.71e-06,-8.34e-06,+5.03e-03,+5.03e-03 - I: 1 127 111 -1.66e-02,-1.80e-02,+1.09e+01,+1.09e+01 2 -63 - O: 2 182 22 -6.61e-02,-4.57e-02,+6.07e+00,+6.07e+00 1 - 183 22 +4.94e-02,+2.77e-02,+4.78e+00,+4.78e+00 1 -Vertex: -64 ID: 0 (X,cT)=+1.66e-05,-7.99e-07,+3.86e-03,+3.86e-03 - I: 1 129 111 +2.45e-01,-1.18e-02,+5.70e+01,+5.70e+01 2 -64 - O: 2 184 22 +1.69e-01,+5.36e-02,+3.26e+01,+3.26e+01 1 - 185 22 +7.62e-02,-6.54e-02,+2.44e+01,+2.44e+01 1 -Vertex: -65 ID: 0 (X,cT)=+7.56e+00,-3.28e+00,+4.14e+03,+4.14e+03 - I: 1 130 310 +6.88e-02,-2.98e-02,+3.77e+01,+3.77e+01 2 -65 - O: 2 186 211 +1.58e-01,-6.43e-02,+3.22e+01,+3.22e+01 1 - 187 -211 -8.94e-02,+3.44e-02,+5.50e+00,+5.50e+00 1 -Vertex: -66 ID: 0 (X,cT)=+2.53e-06,+8.21e-07,+2.23e-05,+2.25e-05 - I: 1 135 111 +2.91e-01,+9.43e-02,+2.56e+00,+2.58e+00 2 -66 - O: 2 188 22 +1.27e-02,-2.62e-02,+3.17e-01,+3.18e-01 1 - 189 22 +2.78e-01,+1.20e-01,+2.24e+00,+2.26e+00 1 -Vertex: -67 ID: 0 (X,cT)=+1.37e-04,-1.19e-04,+6.70e-03,+6.70e-03 - I: 1 137 111 +1.93e-01,-1.69e-01,+9.48e+00,+9.49e+00 2 -67 - O: 2 190 22 +3.61e-04,+4.27e-04,-3.17e-04,+6.42e-04 1 - 191 22 +1.93e-01,-1.69e-01,+9.49e+00,+9.49e+00 1 -GenVertex: -68 ID: 0 (X,cT):0 - I: 1 139 311 -4.56e-02,-1.94e-01,+1.85e+00,+1.93e+00 2 -68 - O: 1 192 310 -4.56e-02,-1.94e-01,+1.85e+00,+1.93e+00 2 -76 -GenVertex: -69 ID: 0 (X,cT):0 - I: 1 143 -311 -1.02e-01,-3.76e-01,+2.53e-01,+6.81e-01 2 -69 - O: 1 193 310 -1.02e-01,-3.76e-01,+2.53e-01,+6.81e-01 2 -77 -Vertex: -70 ID: 0 (X,cT)=+5.44e+00,-2.22e+00,-5.83e+01,+6.79e+01 - I: 1 145 310 +7.90e-02,-3.23e-02,-8.47e-01,+9.86e-01 2 -70 - O: 2 194 211 +3.78e-02,+1.72e-01,-5.70e-01,+6.12e-01 1 - 195 -211 +4.12e-02,-2.04e-01,-2.77e-01,+3.74e-01 1 -Vertex: -71 ID: 0 (X,cT)=+8.77e-06,+3.01e-05,-4.27e-04,+4.30e-04 - I: 1 150 111 +4.20e-02,+1.44e-01,-2.05e+00,+2.06e+00 2 -71 - O: 2 196 22 +2.27e-02,+1.42e-01,-1.05e+00,+1.06e+00 1 - 197 22 +1.93e-02,+2.42e-03,-9.95e-01,+9.95e-01 1 -Vertex: -72 ID: 0 (X,cT)=-6.15e-05,-5.48e-05,-3.58e-01,+3.58e-01 - I: 1 156 111 -1.45e-01,-1.29e-01,-8.42e+02,+8.42e+02 2 -72 - O: 2 198 22 -1.62e-01,-1.30e-01,-6.73e+02,+6.73e+02 1 - 199 22 +1.77e-02,+1.35e-03,-1.69e+02,+1.69e+02 1 -Vertex: -73 ID: 0 (X,cT)=+1.59e-06,+8.76e-07,-3.37e-06,+3.89e-06 - I: 1 159 111 +3.33e-01,+1.83e-01,-7.05e-01,+8.13e-01 2 -73 - O: 2 200 22 +1.34e-01,+3.84e-02,-1.48e-01,+2.03e-01 1 - 201 22 +1.99e-01,+1.45e-01,-5.58e-01,+6.10e-01 1 -GenVertex: -74 ID: 0 (X,cT):0 - I: 1 160 -311 -2.82e-02,+5.68e-01,-5.71e+00,+5.76e+00 2 -74 - O: 1 202 310 -2.82e-02,+5.68e-01,-5.71e+00,+5.76e+00 2 -78 -Vertex: -75 ID: 0 (X,cT)=-2.71e-05,+3.62e-05,-3.25e-04,+3.28e-04 - I: 1 161 111 -5.98e-01,+7.99e-01,-7.16e+00,+7.23e+00 2 -75 - O: 2 203 22 -4.61e-01,+6.62e-01,-6.07e+00,+6.13e+00 1 - 204 22 -1.37e-01,+1.37e-01,-1.09e+00,+1.10e+00 1 -Vertex: -76 ID: 0 (X,cT)=-2.44e+00,-1.04e+01,+9.94e+01,+1.04e+02 - I: 1 192 310 -4.56e-02,-1.94e-01,+1.85e+00,+1.93e+00 2 -76 - O: 2 205 -211 -6.12e-02,+7.90e-02,+2.98e-01,+3.44e-01 1 - 206 211 +1.56e-02,-2.73e-01,+1.56e+00,+1.59e+00 1 -Vertex: -77 ID: 0 (X,cT)=-1.49e+01,-5.46e+01,+3.68e+01,+9.90e+01 - I: 1 193 310 -1.02e-01,-3.76e-01,+2.53e-01,+6.81e-01 2 -77 - O: 2 207 -211 -2.41e-01,-3.27e-01,+1.77e-01,+4.65e-01 1 - 208 211 +1.38e-01,-4.84e-02,+7.57e-02,+2.16e-01 1 -Vertex: -78 ID: 0 (X,cT)=-1.33e-01,+2.68e+00,-2.69e+01,+2.71e+01 - I: 1 202 310 -2.82e-02,+5.68e-01,-5.71e+00,+5.76e+00 2 -78 - O: 2 209 211 +5.42e-02,+4.89e-01,-5.04e+00,+5.07e+00 1 - 210 -211 -8.24e-02,+7.87e-02,-6.67e-01,+6.91e-01 1 -________________________________________________________________________________ +CoulombScat: for mu+ SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV + +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 ====== + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV + +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 + +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 + +CoulombScat: for mu- SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + +hBrems: for pi+ 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 pi+ 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 + +msc: for pi- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + +hBrems: for pi- 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 pi- 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 +============================================================================================ + HADRONIC PROCESSES SUMMARY (verbose level 1) + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 +AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + ElectroNuclear Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 30000 + + Hadronic Processes for + PhotonInelastic Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 3.5 + TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + muMinusCaptureAtRest + + Hadronic Processes for + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 + NeutronInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LENeutronInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + nCapture Models: G4LCapture: Emin(GeV)= 0 Emax(GeV)= 20000 + nFission Models: G4LFission: Emin(GeV)= 0 Emax(GeV)= 20000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 + PionPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 + PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 + ProtonInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEProtonInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 +============================================================================================ +IO_AsciiParticles input is not yet implemented +HepMCInterface: no generated particles. run terminated... Print out hit information ------------------------------------------ -*** Muon System Hit (#hits=10) -E0 : pi+ : pT=0.139 : TOF=27.3 : x=(-0.214,-1.45,7.9) -E0 : e- : pT=0.000553 : TOF=29.8 : x=(1.86,0.407,7.9) -E1 : e- : pT=0.000991 : TOF=28.7 : x=(-0.81,-0.78,-7.9) -E0 : pi- : pT=0.0424 : TOF=30 : x=(-1.19,-1.24,7.9) -E0 : pi+ : pT=0.0881 : TOF=27 : x=(-0.215,-1.52,7.9) -E0 : pi- : pT=0.472 : TOF=26.9 : x=(0.169,-1.5,7.9) -E1 : proton : pT=1.4 : TOF=30.5 : x=(-0.567,-3.97,-7.9) -E0 : pi+ : pT=3.22 : TOF=26.6 : x=(-0.174,-1.01,7.9) -E0 : pi+ : pT=0.38 : TOF=26.8 : x=(-1.31,0.622,7.9) -E0 : mu+ : pT=52.3 : TOF=27.2 : x=(-0.962,1.78,7.9) +*** Muon System Hit (#hits=0) -________________________________________________________________________________ -GenEvent: #2 ID=20 SignalProcessGenVertex Barcode: 0 - Current Memory Usage: 1 events, 224 vertices, 624 particles. - Entries this event: 224 vertices, 624 particles. - RndmState(0)= - Wgts(0)= - EventScale -1 [energy] alphaQCD=-1 alphaQED=-1 - GenParticle Legend - Barcode PDG ID ( Px, Py, Pz, E ) Stat DecayVtx -________________________________________________________________________________ -GenVertex: -1 ID: 0 (X,cT):0 - I: 1 1 2212 +0.00e+00,+0.00e+00,+7.00e+03,+7.00e+03 3 -1 - O: 3 3 21 +2.24e-03,-3.47e-01,+8.58e+00,+8.58e+00 3 -3 - 41 2203 +1.57e-01,+9.19e-02,+4.12e+03,+4.12e+03 2 -13 - 13 1 -1.60e-01,+2.55e-01,+4.51e+02,+4.51e+02 2 -9 -GenVertex: -2 ID: 0 (X,cT):0 - I: 1 2 2212 +0.00e+00,+0.00e+00,-7.00e+03,+7.00e+03 3 -2 - O: 2 4 1 +1.81e-01,-9.21e-01,-1.91e+03,+1.91e+03 3 -4 - 39 2203 -1.81e-01,+9.21e-01,-4.33e+03,+4.33e+03 2 -11 -GenVertex: -3 ID: 0 (X,cT):0 - I: 1 3 21 +2.24e-03,-3.47e-01,+8.58e+00,+8.58e+00 3 -3 - O: 8 16 21 +3.32e-02,+9.61e-02,-6.60e-02,+1.21e-01 2 -11 - 5 -2 -1.22e+01,+1.16e+00,-1.11e+01,+1.65e+01 3 -5 - 11 -4 +1.95e+00,-1.06e+00,-8.18e+00,+8.61e+00 2 -9 - 12 21 +1.85e+00,+6.48e+00,-3.61e+01,+3.67e+01 2 -9 - 14 4 +1.07e+01,-5.18e+00,-2.71e+01,+2.96e+01 2 -11 - 17 21 -3.76e-02,-1.65e-01,-9.73e-01,+9.88e-01 2 -11 - 15 21 +3.52e-01,-6.45e-01,-1.11e+00,+1.33e+00 2 -11 - 40 2 -5.76e-01,-2.17e+00,+2.82e+00,+3.62e+00 2 -13 -GenVertex: -4 ID: 0 (X,cT):0 - I: 1 4 1 +1.81e-01,-9.21e-01,-1.91e+03,+1.91e+03 3 -4 - O:12 28 21 +8.30e-01,+1.28e+00,-3.84e+01,+3.84e+01 2 -11 - 29 21 +1.45e+00,+3.41e+00,-3.48e+01,+3.50e+01 2 -11 - 30 21 +4.75e+00,+5.08e+00,-7.07e+01,+7.11e+01 2 -11 - 31 21 +7.05e+00,+5.30e+00,-7.09e+01,+7.14e+01 2 -11 - 32 21 +6.43e-05,-2.87e-01,-2.01e+00,+2.03e+00 2 -11 - 33 21 -2.01e+00,+1.84e-01,-1.00e+02,+1.00e+02 2 -11 - 34 21 -1.92e+00,-1.52e+00,-2.29e+02,+2.29e+02 2 -11 - 6 1 -1.04e+01,-7.53e+00,-8.52e+02,+8.53e+02 3 -5 - 35 21 -3.17e+00,-1.74e+00,-8.38e+01,+8.39e+01 2 -11 - 36 21 -3.72e-01,-3.53e+00,-1.09e+02,+1.09e+02 2 -11 - 37 21 -3.12e-01,+2.46e-01,-7.86e+01,+7.86e+01 2 -11 - 38 21 +2.18e+00,-6.98e-01,-1.55e+02,+1.55e+02 2 -11 -GenVertex: -5 ID: 0 (X,cT):0 - I: 2 5 -2 -1.22e+01,+1.16e+00,-1.11e+01,+1.65e+01 3 -5 - 6 1 -1.04e+01,-7.53e+00,-8.52e+02,+8.53e+02 3 -5 - O: 2 7 22 -1.33e+01,-8.08e+00,-1.04e+02,+1.05e+02 3 -6 - 8 -24 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 3 -7 -GenVertex: -6 ID: 0 (X,cT):0 - I: 1 7 22 -1.33e+01,-8.08e+00,-1.04e+02,+1.05e+02 3 -6 - O: 1 9 22 -1.33e+01,-8.08e+00,-1.04e+02,+1.05e+02 1 -GenVertex: -7 ID: 0 (X,cT):0 - I: 1 8 -24 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 3 -7 - O: 1 10 -24 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 2 -8 -GenVertex: -8 ID: 0 (X,cT):0 - I: 1 10 -24 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 2 -8 - O: 6 45 21 +9.29e-01,-5.25e-01,-8.27e+00,+8.34e+00 2 -15 - 42 -4 -3.64e+01,+2.35e+01,-3.49e+02,+3.52e+02 2 -15 - 43 21 -1.27e+00,-7.35e-02,-1.13e+01,+1.14e+01 2 -15 - 44 21 -4.16e-02,-2.47e-01,-1.97e+00,+1.98e+00 2 -15 - 46 21 +2.59e+00,-1.54e+00,-4.01e+01,+4.02e+01 2 -15 - 47 3 +2.49e+01,-1.94e+01,-3.48e+02,+3.50e+02 2 -15 -GenVertex: -9 ID: 0 (X,cT):0 - I: 3 13 1 -1.60e-01,+2.55e-01,+4.51e+02,+4.51e+02 2 -9 - 11 -4 +1.95e+00,-1.06e+00,-8.18e+00,+8.61e+00 2 -9 - 12 21 +1.85e+00,+6.48e+00,-3.61e+01,+3.67e+01 2 -9 - O: 1 52 92 +3.65e+00,+5.68e+00,+4.07e+02,+4.96e+02 2 -10 -GenVertex: -10 ID: 0 (X,cT):0 - I: 1 52 92 +3.65e+00,+5.68e+00,+4.07e+02,+4.96e+02 2 -10 - O:17 60 -323 -1.01e-01,+5.65e-03,+1.73e-01,+8.22e-01 2 -28 - 63 221 +5.37e-01,+2.24e-01,+7.68e+00,+7.72e+00 2 -31 - 65 211 -9.70e-03,-2.00e-01,+9.73e-01,+1.00e+00 1 - 53 -423 +1.80e+00,-7.41e-01,-9.90e+00,+1.03e+01 2 -21 - 54 -323 +5.03e-01,+1.51e+00,-6.41e+00,+6.67e+00 2 -22 - 55 313 +6.48e-01,+1.70e+00,-1.25e+01,+1.27e+01 2 -23 - 56 113 +3.14e-01,+1.06e+00,-3.82e+00,+4.04e+00 2 -24 - 57 223 +8.27e-03,+4.69e-01,-5.55e+00,+5.62e+00 2 -25 - 58 213 +1.90e-01,+8.19e-01,-3.63e+00,+3.80e+00 2 -26 - 59 223 +4.76e-01,+3.30e-01,-1.30e+00,+1.62e+00 2 -27 - 61 313 -7.71e-02,+3.71e-01,+6.58e-01,+1.14e+00 2 -29 - 62 213 -3.58e-01,-1.85e-01,+2.02e-01,+7.59e-01 2 -30 - 64 -213 -3.57e-01,-2.47e-01,+4.39e+00,+4.44e+00 2 -32 - 66 -213 +3.60e-01,-1.91e-02,+2.45e+01,+2.45e+01 2 -33 - 67 113 -3.73e-01,+1.18e-02,+3.83e+01,+3.84e+01 2 -34 - 68 113 -9.06e-02,+1.63e-01,+1.67e+02,+1.67e+02 2 -35 - 69 221 +1.73e-01,+4.07e-01,+2.06e+02,+2.06e+02 2 -36 -GenVertex: -11 ID: 0 (X,cT):0 - I:26 28 21 +8.30e-01,+1.28e+00,-3.84e+01,+3.84e+01 2 -11 - 29 21 +1.45e+00,+3.41e+00,-3.48e+01,+3.50e+01 2 -11 - 30 21 +4.75e+00,+5.08e+00,-7.07e+01,+7.11e+01 2 -11 - 31 21 +7.05e+00,+5.30e+00,-7.09e+01,+7.14e+01 2 -11 - 32 21 +6.43e-05,-2.87e-01,-2.01e+00,+2.03e+00 2 -11 - 33 21 -2.01e+00,+1.84e-01,-1.00e+02,+1.00e+02 2 -11 - 34 21 -1.92e+00,-1.52e+00,-2.29e+02,+2.29e+02 2 -11 - 16 21 +3.32e-02,+9.61e-02,-6.60e-02,+1.21e-01 2 -11 - 39 2203 -1.81e-01,+9.21e-01,-4.33e+03,+4.33e+03 2 -11 - 14 4 +1.07e+01,-5.18e+00,-2.71e+01,+2.96e+01 2 -11 - 17 21 -3.76e-02,-1.65e-01,-9.73e-01,+9.88e-01 2 -11 - 15 21 +3.52e-01,-6.45e-01,-1.11e+00,+1.33e+00 2 -11 - 26 21 +1.76e+00,+3.29e+00,-4.65e+00,+5.96e+00 2 -11 - 21 21 +4.37e+00,+6.72e+00,+8.31e+01,+8.35e+01 2 -11 - 35 21 -3.17e+00,-1.74e+00,-8.38e+01,+8.39e+01 2 -11 - 36 21 -3.72e-01,-3.53e+00,-1.09e+02,+1.09e+02 2 -11 - 37 21 -3.12e-01,+2.46e-01,-7.86e+01,+7.86e+01 2 -11 - 38 21 +2.18e+00,-6.98e-01,-1.55e+02,+1.55e+02 2 -11 - 23 21 -1.76e+00,-3.29e+00,+9.66e+00,+1.04e+01 2 -11 - 24 21 -4.37e+00,-6.72e+00,+8.76e-01,+8.07e+00 2 -11 - 25 21 -2.35e+00,-1.77e+00,-4.88e+00,+5.70e+00 2 -11 - 27 21 +2.35e+00,+1.77e+00,-7.28e+02,+7.28e+02 2 -11 - 19 21 -3.91e+00,+3.13e+00,+7.89e+02,+7.89e+02 2 -11 - 20 21 +3.89e+00,+1.90e+00,+1.42e+03,+1.42e+03 2 -11 - 22 21 +3.91e+00,-3.13e+00,+3.66e+01,+3.69e+01 2 -11 - 18 21 -3.89e+00,-1.90e+00,+4.34e+01,+4.36e+01 2 -11 - O: 1 70 92 +1.93e+01,+2.76e+00,-3.69e+03,+8.47e+03 2 -12 -GenVertex: -12 ID: 0 (X,cT):0 - I: 1 70 92 +1.93e+01,+2.76e+00,-3.69e+03,+8.47e+03 2 -12 - O:90 158 113 -8.56e-01,+4.51e-01,-3.86e+02,+3.86e+02 2 -101 - 73 331 +8.84e-01,-9.17e-01,-1.33e+00,+2.07e+00 2 -39 - 74 -213 +1.67e+00,-6.02e-01,-4.33e+00,+4.71e+00 2 -40 - 78 211 +1.18e-01,-7.30e-01,-1.31e+00,+1.51e+00 1 - 80 311 -1.08e-01,-3.01e-02,+1.70e+00,+1.77e+00 2 -43 - 86 223 -7.42e-02,+1.42e-01,+1.52e+01,+1.52e+01 2 -47 - 94 111 +7.06e-01,+3.83e-01,+1.68e+02,+1.68e+02 2 -54 - 99 -213 +9.75e-01,+2.54e+00,+3.20e+01,+3.22e+01 2 -59 - 103 -211 -1.88e-01,-1.28e-01,+3.87e+00,+3.88e+00 1 - 106 333 +8.72e-02,-2.03e+00,+7.62e+00,+7.95e+00 2 -64 - 115 -213 -9.95e-01,-3.87e-01,-1.11e+00,+1.63e+00 2 -71 - 122 213 +6.99e-01,+4.88e-01,-2.14e+00,+2.37e+00 2 -74 - 157 211 +7.13e-01,-3.28e-01,-1.35e+02,+1.35e+02 1 - 159 -211 +8.50e-01,-2.44e-01,-2.40e+03,+2.40e+03 1 - 160 2224 -1.90e-03,+7.51e-01,-1.39e+03,+1.39e+03 2 -102 - 71 423 +6.74e+00,-3.13e+00,-1.81e+01,+1.96e+01 2 -37 - 127 -2112 +1.08e-01,+9.33e-02,-7.63e+01,+7.63e+01 1 - 72 213 +1.08e+00,-6.60e-01,-2.31e+00,+2.70e+00 2 -38 - 132 223 +3.02e-01,+2.43e-01,-3.21e+01,+3.21e+01 2 -81 - 75 111 -2.29e-01,-5.45e-02,-1.11e+00,+1.15e+00 2 -41 - 76 211 +1.91e-01,-3.77e-01,+3.30e-01,+5.54e-01 1 - 77 -211 +2.15e-01,+4.10e-01,+1.16e-01,+4.98e-01 1 - 79 3112 -1.25e-01,-5.92e-02,+4.02e+00,+4.19e+00 2 -42 - 81 -1114 -5.93e-01,-4.62e-01,+7.53e+00,+7.69e+00 2 -44 - 137 111 +7.22e-01,+1.16e+00,-1.29e+01,+1.29e+01 2 -85 - 82 -211 -3.95e-01,+3.08e-01,+9.39e+00,+9.40e+00 1 - 138 113 +1.21e+00,+1.68e+00,-1.89e+01,+1.90e+01 2 -86 - 83 211 -3.13e-01,-7.22e-01,+8.53e+00,+8.56e+00 1 - 84 -213 -1.27e-01,-1.01e-01,+5.15e+00,+5.19e+00 2 -45 - 85 213 -1.20e+00,-1.22e-01,+2.34e+01,+2.35e+01 2 -46 - 139 211 +1.12e+00,+5.04e-01,-1.16e+01,+1.17e+01 1 - 87 -213 -9.01e-01,-6.04e-01,+2.49e+01,+2.49e+01 2 -48 - 88 323 -3.96e-01,+4.77e-01,+8.35e+01,+8.35e+01 2 -49 - 89 -313 -1.18e+00,+4.38e-01,+2.34e+02,+2.34e+02 2 -50 - 90 111 -2.10e-02,+1.47e-01,+2.20e+01,+2.20e+01 2 -51 - 91 -213 -1.47e+00,+1.82e+00,+3.92e+02,+3.92e+02 2 -52 - 92 213 +1.75e+00,+1.50e+00,+6.91e+02,+6.91e+02 2 -53 - 93 -211 -8.94e-02,-3.08e-01,+1.41e+02,+1.41e+02 1 - 95 223 +1.83e-01,+6.58e-01,+2.64e+02,+2.64e+02 2 -55 - 96 113 +1.17e+00,-6.49e-01,+1.09e+02,+1.09e+02 2 -56 - 97 213 -3.59e-02,+9.92e-01,+3.73e+01,+3.74e+01 2 -57 - 146 -1114 -8.04e-01,-7.43e-01,-3.40e+01,+3.40e+01 2 -92 - 98 221 +4.22e-01,+3.30e-01,+8.56e+00,+8.60e+00 2 -58 - 100 111 +1.28e+00,+5.91e-01,+1.83e+01,+1.84e+01 2 -60 - 101 331 +1.59e+00,+2.22e+00,+3.03e+01,+3.04e+01 2 -61 - 102 213 +1.77e+00,-1.58e+00,+1.71e+01,+1.73e+01 2 -62 - 104 211 +6.95e-01,-7.43e-02,+2.83e+00,+2.91e+00 1 - 105 311 +6.37e-01,-2.90e-01,+6.13e+00,+6.19e+00 2 -63 - 107 -323 -1.98e-01,-1.55e-01,+2.64e+00,+2.79e+00 2 -65 - 108 113 -1.10e+00,-1.90e+00,+5.32e+00,+5.81e+00 2 -66 - 109 213 -7.23e-01,-7.70e-01,+6.13e-01,+1.63e+00 2 -67 - 110 -211 -4.35e-01,-8.15e-01,+1.78e-01,+9.51e-01 1 - 111 213 -5.97e-01,-1.22e+00,+2.67e-01,+1.55e+00 2 -68 - 112 -211 -1.43e+00,-1.65e+00,+4.83e-01,+2.24e+00 1 - 113 111 +4.36e-02,-2.43e-01,+6.27e-02,+2.89e-01 2 -69 - 114 213 -1.15e+00,-1.72e+00,-2.01e+00,+2.97e+00 2 -70 - 116 321 +3.64e-01,+4.39e-01,+9.92e-02,+7.61e-01 1 - 117 -321 -1.27e-01,-1.02e+00,-1.45e+00,+1.85e+00 1 - 118 211 -2.01e-01,+3.58e-01,-1.79e+00,+1.84e+00 1 - 119 311 -2.88e-01,+7.23e-01,-1.33e+00,+1.62e+00 2 -72 - 120 -321 +1.03e-01,-1.31e-01,-8.45e-01,+9.93e-01 1 - 121 113 -2.01e-02,+9.67e-01,-2.76e+00,+3.05e+00 2 -73 - 123 223 +1.59e-01,-2.33e-01,-7.42e+00,+7.46e+00 2 -75 - 124 223 -3.07e-01,+5.68e-01,-1.77e+01,+1.77e+01 2 -76 - 125 1114 +7.70e-01,-3.47e-01,-1.94e+02,+1.94e+02 2 -77 - 126 111 +6.52e-01,+1.56e+00,-1.11e+02,+1.11e+02 2 -78 - 128 211 +3.93e-01,-4.83e-01,-5.97e+01,+5.97e+01 1 - 129 -211 -4.91e-02,+3.02e-01,-5.27e+01,+5.27e+01 1 - 130 113 +7.74e-01,+8.64e-01,-8.89e+01,+8.89e+01 2 -79 - 131 223 +1.70e-02,+2.83e-01,-9.69e+01,+9.69e+01 2 -80 - 133 221 +6.52e-01,-1.30e-02,-7.49e+00,+7.53e+00 2 -82 - 134 213 +1.25e+00,+2.45e+00,-3.91e+01,+3.93e+01 2 -83 - 135 221 +8.86e-01,+9.16e-01,-1.24e+01,+1.25e+01 2 -84 - 136 -211 +1.82e+00,+1.89e+00,-2.77e+01,+2.78e+01 1 - 155 -321 +3.69e-01,-3.68e-01,-5.25e+01,+5.25e+01 1 - 140 -213 +4.58e-01,+1.15e+00,-1.84e+01,+1.85e+01 2 -87 - 141 213 +2.08e+00,+1.68e+00,-2.61e+01,+2.63e+01 2 -88 - 142 313 +1.78e+00,+1.24e+00,-2.26e+01,+2.27e+01 2 -89 - 143 -313 +1.42e+00,+6.47e-01,-1.81e+01,+1.82e+01 2 -90 - 144 2112 -1.12e+00,+5.37e-01,-5.10e+01,+5.10e+01 1 - 145 -213 -5.75e-01,-4.78e-01,-9.45e+01,+9.45e+01 2 -91 - 147 -213 -1.80e-01,+6.29e-02,-4.32e+01,+4.32e+01 2 -93 - 148 211 -1.19e+00,-2.34e-01,-3.93e+01,+3.93e+01 1 - 149 311 -1.41e+00,-2.18e+00,-7.90e+01,+7.90e+01 2 -94 - 150 -323 -3.04e-01,-3.92e-01,-7.88e+01,+7.88e+01 2 -95 - 151 213 -1.80e+00,-1.21e+00,-8.93e+01,+8.94e+01 2 -96 - 152 113 +4.91e-01,-9.72e-01,-5.04e+01,+5.05e+01 2 -97 - 153 221 +2.67e-01,-2.61e-01,-2.16e+01,+2.16e+01 2 -98 - 154 311 +4.13e-01,+1.80e-01,-8.91e+01,+8.91e+01 2 -99 - 156 221 -4.10e-01,-2.74e-01,-4.88e+01,+4.88e+01 2 -100 -GenVertex: -13 ID: 0 (X,cT):0 - I: 2 41 2203 +1.57e-01,+9.19e-02,+4.12e+03,+4.12e+03 2 -13 - 40 2 -5.76e-01,-2.17e+00,+2.82e+00,+3.62e+00 2 -13 - O: 1 161 92 -4.19e-01,-2.08e+00,+4.13e+03,+4.13e+03 2 -14 -GenVertex: -14 ID: 0 (X,cT):0 - I: 1 161 92 -4.19e-01,-2.08e+00,+4.13e+03,+4.13e+03 2 -14 - O:14 162 211 -3.13e-01,-1.66e+00,+2.96e+00,+3.41e+00 1 - 163 223 -1.35e-02,+1.05e-01,+2.90e+00,+3.01e+00 2 -103 - 164 -213 -7.67e-02,-1.58e-01,+2.83e+00,+2.94e+00 2 -104 - 165 113 -3.96e-01,-2.46e-01,+7.66e+00,+7.72e+00 2 -105 - 166 223 +8.97e-02,-2.51e-02,+1.83e+01,+1.83e+01 2 -106 - 167 331 +7.92e-02,-2.14e-01,+1.65e+01,+1.65e+01 2 -107 - 168 211 +1.55e-01,-4.55e-02,+2.09e+01,+2.09e+01 1 - 169 113 -9.07e-02,+1.70e-01,+7.69e+00,+7.71e+00 2 -108 - 170 -211 +1.96e-02,-3.42e-02,+4.36e+00,+4.36e+00 1 - 171 211 +1.50e-01,-7.36e-02,+6.14e+01,+6.14e+01 1 - 172 313 -9.79e-02,+5.68e-01,+7.20e+01,+7.20e+01 2 -109 - 173 -313 -1.30e-01,-7.96e-01,+2.37e+02,+2.37e+02 2 -110 - 174 2112 +5.28e-01,-1.88e-01,+1.06e+03,+1.06e+03 1 - 175 211 -3.22e-01,+5.25e-01,+2.61e+03,+2.61e+03 1 -GenVertex: -15 ID: 0 (X,cT):0 - I: 6 45 21 +9.29e-01,-5.25e-01,-8.27e+00,+8.34e+00 2 -15 - 42 -4 -3.64e+01,+2.35e+01,-3.49e+02,+3.52e+02 2 -15 - 43 21 -1.27e+00,-7.35e-02,-1.13e+01,+1.14e+01 2 -15 - 44 21 -4.16e-02,-2.47e-01,-1.97e+00,+1.98e+00 2 -15 - 46 21 +2.59e+00,-1.54e+00,-4.01e+01,+4.02e+01 2 -15 - 47 3 +2.49e+01,-1.94e+01,-3.48e+02,+3.50e+02 2 -15 - O: 1 176 92 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 2 -16 -GenVertex: -16 ID: 0 (X,cT):0 - I: 1 176 92 -9.28e+00,+1.71e+00,-7.59e+02,+7.64e+02 2 -16 - O:10 177 -411 -2.64e+01,+1.68e+01,-2.54e+02,+2.56e+02 2 -111 - 178 -2112 -3.30e+00,+1.95e+00,-3.12e+01,+3.14e+01 1 - 179 2112 -3.69e+00,+2.38e+00,-3.47e+01,+3.50e+01 1 - 180 -313 -1.69e+00,+9.52e-01,-1.93e+01,+1.94e+01 2 -112 - 181 323 -1.07e+00,+1.14e+00,-1.19e+01,+1.20e+01 2 -113 - 182 -323 -1.04e+00,-2.43e-02,-1.56e+01,+1.57e+01 2 -114 - 183 321 +9.73e-01,-7.75e-01,-1.20e+01,+1.21e+01 1 - 184 113 +9.16e+00,-6.89e+00,-1.32e+02,+1.32e+02 2 -115 - 185 111 +1.57e+00,-1.44e+00,-2.40e+01,+2.41e+01 2 -116 - 186 -321 +1.62e+01,-1.24e+01,-2.25e+02,+2.26e+02 1 -GenVertex: -17 ID: 0 (X,cT):0 - I: 2 48 3 +2.68e+00,-2.13e+00,-4.93e+00,+6.00e+00 2 -17 - 49 -3 -2.68e+00,+2.13e+00,+2.54e+01,+2.56e+01 2 -17 - O: 1 187 92 +0.00e+00,+0.00e+00,+2.05e+01,+3.16e+01 2 -18 -GenVertex: -18 ID: 0 (X,cT):0 - I: 1 187 92 +0.00e+00,+0.00e+00,+2.05e+01,+3.16e+01 2 -18 - O:11 188 -321 +2.32e+00,-1.47e+00,-3.73e+00,+4.66e+00 1 - 189 213 -1.88e-01,-4.78e-01,-1.86e-02,+8.02e-01 2 -117 - 190 -211 +5.28e-01,-6.99e-02,+3.78e-01,+6.68e-01 1 - 191 213 -1.69e-01,+6.66e-02,+1.66e+00,+1.95e+00 2 -118 - 192 113 -7.42e-01,+4.97e-01,+2.71e+00,+2.94e+00 2 -119 - 193 -213 +2.70e-02,+3.31e-01,+2.97e-01,+7.93e-01 2 -120 - 194 211 -6.87e-03,-3.65e-01,+8.22e-01,+9.10e-01 1 - 195 113 -1.79e-01,+4.58e-01,+4.36e+00,+4.46e+00 2 -121 - 196 -213 -8.75e-02,+1.16e-01,+1.21e+00,+1.46e+00 2 -122 - 197 323 -7.63e-01,+6.20e-01,+7.15e+00,+7.28e+00 2 -123 - 198 221 -7.36e-01,+2.91e-01,+5.63e+00,+5.72e+00 2 -124 -GenVertex: -19 ID: 0 (X,cT):0 - I: 2 50 21 +1.28e+00,-2.63e+00,+9.77e-01,+3.09e+00 2 -19 - 51 21 -1.28e+00,+2.63e+00,+2.15e+00,+3.63e+00 2 -19 - O: 1 199 92 +0.00e+00,+0.00e+00,+3.12e+00,+6.71e+00 2 -20 -GenVertex: -20 ID: 0 (X,cT):0 - I: 1 199 92 +0.00e+00,+0.00e+00,+3.12e+00,+6.71e+00 2 -20 - O: 5 200 213 +4.69e-02,-1.77e-01,-3.64e-01,+1.10e+00 2 -125 - 201 111 +3.73e-01,-3.78e-02,+1.18e+00,+1.24e+00 2 -126 - 202 -213 -7.72e-01,+1.13e+00,+1.14e+00,+1.96e+00 2 -127 - 203 223 +4.07e-01,-5.29e-01,+1.12e-01,+1.04e+00 2 -128 - 204 223 -5.49e-02,-3.91e-01,+1.06e+00,+1.37e+00 2 -129 -GenVertex: -21 ID: 0 (X,cT):0 - I: 1 53 -423 +1.80e+00,-7.41e-01,-9.90e+00,+1.03e+01 2 -21 - O: 2 205 -421 +1.62e+00,-6.80e-01,-9.14e+00,+9.49e+00 2 -130 - 206 111 +1.80e-01,-6.13e-02,-7.60e-01,+7.95e-01 2 -131 -GenVertex: -22 ID: 0 (X,cT):0 - I: 1 54 -323 +5.03e-01,+1.51e+00,-6.41e+00,+6.67e+00 2 -22 - O: 2 207 -311 +3.84e-01,+6.75e-01,-2.32e+00,+2.49e+00 2 -132 - 208 -211 +1.19e-01,+8.35e-01,-4.09e+00,+4.18e+00 1 -GenVertex: -23 ID: 0 (X,cT):0 - I: 1 55 313 +6.48e-01,+1.70e+00,-1.25e+01,+1.27e+01 2 -23 - O: 2 209 311 +4.92e-01,+1.67e+00,-1.03e+01,+1.05e+01 2 -133 - 210 111 +1.56e-01,+3.28e-02,-2.20e+00,+2.21e+00 2 -134 -GenVertex: -24 ID: 0 (X,cT):0 - I: 1 56 113 +3.14e-01,+1.06e+00,-3.82e+00,+4.04e+00 2 -24 - O: 2 211 -211 +2.07e-01,-7.41e-03,-8.44e-01,+8.80e-01 1 - 212 211 +1.07e-01,+1.07e+00,-2.97e+00,+3.16e+00 1 -GenVertex: -25 ID: 0 (X,cT):0 - I: 1 57 223 +8.27e-03,+4.69e-01,-5.55e+00,+5.62e+00 2 -25 - O: 3 213 211 +1.65e-01,+9.37e-02,-1.12e+00,+1.14e+00 1 - 214 -211 -3.30e-02,+9.79e-02,-3.21e+00,+3.22e+00 1 - 215 111 -1.24e-01,+2.78e-01,-1.22e+00,+1.26e+00 2 -135 -GenVertex: -26 ID: 0 (X,cT):0 - I: 1 58 213 +1.90e-01,+8.19e-01,-3.63e+00,+3.80e+00 2 -26 - O: 2 216 211 +2.62e-01,+8.26e-01,-2.45e+00,+2.61e+00 1 - 217 111 -7.15e-02,-6.31e-03,-1.18e+00,+1.19e+00 2 -136 -GenVertex: -27 ID: 0 (X,cT):0 - I: 1 59 223 +4.76e-01,+3.30e-01,-1.30e+00,+1.62e+00 2 -27 - O: 3 220 111 +1.49e-01,+8.68e-02,-4.65e-02,+2.24e-01 2 -137 - 218 -211 +1.28e-01,-6.04e-02,-2.75e-01,+3.39e-01 1 - 219 211 +2.00e-01,+3.04e-01,-9.82e-01,+1.06e+00 1 -GenVertex: -28 ID: 0 (X,cT):0 - I: 1 60 -323 -1.01e-01,+5.65e-03,+1.73e-01,+8.22e-01 2 -28 - O: 2 222 -211 -1.84e-02,-1.34e-01,-1.14e-01,+2.25e-01 1 - 221 -311 -8.28e-02,+1.40e-01,+2.87e-01,+5.97e-01 2 -138 -GenVertex: -29 ID: 0 (X,cT):0 - I: 1 61 313 -7.71e-02,+3.71e-01,+6.58e-01,+1.14e+00 2 -29 - O: 2 224 -211 -5.85e-02,+3.52e-01,+4.73e-01,+6.09e-01 1 - 223 321 -1.86e-02,+1.84e-02,+1.85e-01,+5.28e-01 1 -GenVertex: -30 ID: 0 (X,cT):0 - I: 1 62 213 -3.58e-01,-1.85e-01,+2.02e-01,+7.59e-01 2 -30 - O: 2 225 211 +1.06e-01,-2.99e-02,+1.77e-01,+2.51e-01 1 - 226 111 -4.64e-01,-1.55e-01,+2.53e-02,+5.08e-01 2 -139 -GenVertex: -31 ID: 0 (X,cT):0 - I: 1 63 221 +5.37e-01,+2.24e-01,+7.68e+00,+7.72e+00 2 -31 - O: 3 227 22 +9.24e-02,+1.22e-01,+1.51e+00,+1.52e+00 1 - 228 -211 +1.64e-01,-1.14e-01,+3.22e+00,+3.23e+00 1 - 229 211 +2.81e-01,+2.16e-01,+2.94e+00,+2.97e+00 1 -GenVertex: -32 ID: 0 (X,cT):0 - I: 1 64 -213 -3.57e-01,-2.47e-01,+4.39e+00,+4.44e+00 2 -32 - O: 2 230 -211 -3.46e-01,-7.92e-02,+3.34e+00,+3.37e+00 1 - 231 111 -1.13e-02,-1.68e-01,+1.05e+00,+1.07e+00 2 -140 -GenVertex: -33 ID: 0 (X,cT):0 - I: 1 66 -213 +3.60e-01,-1.91e-02,+2.45e+01,+2.45e+01 2 -33 - O: 2 232 -211 +2.45e-01,+2.11e-01,+2.06e+01,+2.06e+01 1 - 233 111 +1.15e-01,-2.30e-01,+3.89e+00,+3.90e+00 2 -141 -GenVertex: -34 ID: 0 (X,cT):0 - I: 1 67 113 -3.73e-01,+1.18e-02,+3.83e+01,+3.84e+01 2 -34 - O: 2 234 -211 +1.07e-02,+2.95e-01,+1.86e+01,+1.86e+01 1 - 235 211 -3.83e-01,-2.83e-01,+1.98e+01,+1.98e+01 1 -GenVertex: -35 ID: 0 (X,cT):0 - I: 1 68 113 -9.06e-02,+1.63e-01,+1.67e+02,+1.67e+02 2 -35 - O: 2 236 211 -2.00e-02,-2.69e-01,+6.04e+01,+6.04e+01 1 - 237 -211 -7.06e-02,+4.32e-01,+1.07e+02,+1.07e+02 1 -GenVertex: -36 ID: 0 (X,cT):0 - I: 1 69 221 +1.73e-01,+4.07e-01,+2.06e+02,+2.06e+02 2 -36 - O: 3 238 211 +2.30e-02,+1.07e-01,+4.89e+01,+4.89e+01 1 - 239 -211 +1.52e-01,+2.49e-01,+1.36e+02,+1.36e+02 1 - 240 111 -1.84e-03,+5.13e-02,+2.10e+01,+2.10e+01 2 -142 -GenVertex: -37 ID: 0 (X,cT):0 - I: 1 71 423 +6.74e+00,-3.13e+00,-1.81e+01,+1.96e+01 2 -37 - O: 2 241 421 +6.24e+00,-2.87e+00,-1.68e+01,+1.82e+01 2 -143 - 242 111 +4.94e-01,-2.63e-01,-1.28e+00,+1.40e+00 2 -144 -GenVertex: -38 ID: 0 (X,cT):0 - I: 1 72 213 +1.08e+00,-6.60e-01,-2.31e+00,+2.70e+00 2 -38 - O: 2 243 211 +2.70e-01,-4.65e-01,-9.32e-01,+1.08e+00 1 - 244 111 +8.10e-01,-1.96e-01,-1.38e+00,+1.62e+00 2 -145 -GenVertex: -39 ID: 0 (X,cT):0 - I: 1 73 331 +8.84e-01,-9.17e-01,-1.33e+00,+2.07e+00 2 -39 - O: 3 245 211 +4.27e-01,-3.13e-01,-3.45e-01,+6.47e-01 1 - 246 -211 +6.70e-02,-6.53e-02,-1.12e-01,+2.02e-01 1 - 247 221 +3.89e-01,-5.39e-01,-8.71e-01,+1.22e+00 2 -146 -GenVertex: -40 ID: 0 (X,cT):0 - I: 1 74 -213 +1.67e+00,-6.02e-01,-4.33e+00,+4.71e+00 2 -40 - O: 2 248 -211 +8.95e-01,-3.43e-01,-1.67e+00,+1.93e+00 1 - 249 111 +7.72e-01,-2.59e-01,-2.66e+00,+2.78e+00 2 -147 -Vertex: -41 ID: 0 (X,cT)=-1.15e-05,-2.74e-06,-5.60e-05,+5.77e-05 - I: 1 75 111 -2.29e-01,-5.45e-02,-1.11e+00,+1.15e+00 2 -41 - O: 2 250 22 -1.87e-01,-7.34e-02,-6.48e-01,+6.78e-01 1 - 251 22 -4.27e-02,+1.89e-02,-4.65e-01,+4.68e-01 1 -Vertex: -42 ID: 0 (X,cT)=-9.58e+00,-4.54e+00,+3.08e+02,+3.22e+02 - I: 1 79 3112 -1.25e-01,-5.92e-02,+4.02e+00,+4.19e+00 2 -42 - O: 2 252 2112 +2.35e-02,-7.71e-02,+3.69e+00,+3.81e+00 1 - 253 -211 -1.48e-01,+1.79e-02,+3.30e-01,+3.88e-01 1 -GenVertex: -43 ID: 0 (X,cT):0 - I: 1 80 311 -1.08e-01,-3.01e-02,+1.70e+00,+1.77e+00 2 -43 - O: 1 254 310 -1.08e-01,-3.01e-02,+1.70e+00,+1.77e+00 2 -148 -GenVertex: -44 ID: 0 (X,cT):0 - I: 1 81 -1114 -5.93e-01,-4.62e-01,+7.53e+00,+7.69e+00 2 -44 - O: 2 255 -2112 -7.16e-01,-5.94e-01,+6.69e+00,+6.82e+00 1 - 256 211 +1.23e-01,+1.32e-01,+8.42e-01,+8.72e-01 1 -GenVertex: -45 ID: 0 (X,cT):0 - I: 1 84 -213 -1.27e-01,-1.01e-01,+5.15e+00,+5.19e+00 2 -45 - O: 2 257 -211 +1.09e-01,-2.00e-01,+3.92e+00,+3.93e+00 1 - 258 111 -2.36e-01,+9.89e-02,+1.22e+00,+1.25e+00 2 -149 -GenVertex: -46 ID: 0 (X,cT):0 - I: 1 85 213 -1.20e+00,-1.22e-01,+2.34e+01,+2.35e+01 2 -46 - O: 2 259 211 -9.25e-02,+6.68e-02,+1.06e+00,+1.07e+00 1 - 260 111 -1.11e+00,-1.89e-01,+2.24e+01,+2.24e+01 2 -150 -GenVertex: -47 ID: 0 (X,cT):0 - I: 1 86 223 -7.42e-02,+1.42e-01,+1.52e+01,+1.52e+01 2 -47 - O: 3 261 211 -8.80e-02,-1.85e-01,+7.90e+00,+7.90e+00 1 - 262 -211 -9.38e-02,+7.23e-02,+3.34e+00,+3.35e+00 1 - 263 111 +1.08e-01,+2.55e-01,+3.93e+00,+3.94e+00 2 -151 -GenVertex: -48 ID: 0 (X,cT):0 - I: 1 87 -213 -9.01e-01,-6.04e-01,+2.49e+01,+2.49e+01 2 -48 - O: 2 264 -211 -5.80e-01,-4.05e-01,+2.11e+01,+2.11e+01 1 - 265 111 -3.21e-01,-1.99e-01,+3.80e+00,+3.82e+00 2 -152 -GenVertex: -49 ID: 0 (X,cT):0 - I: 1 88 323 -3.96e-01,+4.77e-01,+8.35e+01,+8.35e+01 2 -49 - O: 2 266 321 -2.79e-01,+6.38e-01,+6.43e+01,+6.43e+01 1 - 267 111 -1.18e-01,-1.61e-01,+1.92e+01,+1.92e+01 2 -153 -GenVertex: -50 ID: 0 (X,cT):0 - I: 1 89 -313 -1.18e+00,+4.38e-01,+2.34e+02,+2.34e+02 2 -50 - O: 2 268 -321 -8.94e-01,+2.08e-02,+1.54e+02,+1.54e+02 1 - 269 211 -2.85e-01,+4.17e-01,+8.01e+01,+8.01e+01 1 -Vertex: -51 ID: 0 (X,cT)=-6.60e-06,+4.63e-05,+6.91e-03,+6.91e-03 - I: 1 90 111 -2.10e-02,+1.47e-01,+2.20e+01,+2.20e+01 2 -51 - O: 2 270 22 +3.30e-03,+1.38e-01,+2.13e+01,+2.13e+01 1 - 271 22 -2.43e-02,+9.55e-03,+7.24e-01,+7.25e-01 1 -GenVertex: -52 ID: 0 (X,cT):0 - I: 1 91 -213 -1.47e+00,+1.82e+00,+3.92e+02,+3.92e+02 2 -52 - O: 2 272 -211 -2.85e-01,+9.40e-01,+1.43e+02,+1.43e+02 1 - 273 111 -1.19e+00,+8.85e-01,+2.49e+02,+2.49e+02 2 -154 -GenVertex: -53 ID: 0 (X,cT):0 - I: 1 92 213 +1.75e+00,+1.50e+00,+6.91e+02,+6.91e+02 2 -53 - O: 2 274 211 +1.79e+00,+1.29e+00,+6.18e+02,+6.18e+02 1 - 275 111 -3.94e-02,+2.10e-01,+7.29e+01,+7.29e+01 2 -155 -Vertex: -54 ID: 0 (X,cT)=+1.07e-04,+5.79e-05,+2.54e-02,+2.54e-02 - I: 1 94 111 +7.06e-01,+3.83e-01,+1.68e+02,+1.68e+02 2 -54 - O: 2 276 22 +2.50e-01,+1.51e-01,+4.86e+01,+4.86e+01 1 - 277 22 +4.56e-01,+2.32e-01,+1.20e+02,+1.20e+02 1 -GenVertex: -55 ID: 0 (X,cT):0 - I: 1 95 223 +1.83e-01,+6.58e-01,+2.64e+02,+2.64e+02 2 -55 - O: 3 278 211 +2.62e-01,+6.67e-02,+8.45e+01,+8.45e+01 1 - 279 -211 +3.03e-02,+5.27e-01,+1.40e+02,+1.40e+02 1 - 280 111 -1.09e-01,+6.39e-02,+3.93e+01,+3.93e+01 2 -156 -GenVertex: -56 ID: 0 (X,cT):0 - I: 1 96 113 +1.17e+00,-6.49e-01,+1.09e+02,+1.09e+02 2 -56 - O: 2 281 -211 +1.05e+00,-3.90e-01,+9.92e+01,+9.92e+01 1 - 282 211 +1.20e-01,-2.59e-01,+1.03e+01,+1.03e+01 1 -GenVertex: -57 ID: 0 (X,cT):0 - I: 1 97 213 -3.59e-02,+9.92e-01,+3.73e+01,+3.74e+01 2 -57 - O: 2 283 211 -1.62e-01,+3.10e-02,+2.19e+00,+2.20e+00 1 - 284 111 +1.27e-01,+9.61e-01,+3.52e+01,+3.52e+01 2 -157 -GenVertex: -58 ID: 0 (X,cT):0 - I: 1 98 221 +4.22e-01,+3.30e-01,+8.56e+00,+8.60e+00 2 -58 - O: 3 285 111 +2.92e-01,+2.10e-01,+3.56e+00,+3.58e+00 2 -158 - 286 111 +7.22e-02,+1.09e-01,+1.73e+00,+1.74e+00 2 -159 - 287 111 +5.73e-02,+1.07e-02,+3.27e+00,+3.27e+00 2 -160 -GenVertex: -59 ID: 0 (X,cT):0 - I: 1 99 -213 +9.75e-01,+2.54e+00,+3.20e+01,+3.22e+01 2 -59 - O: 2 288 -211 +5.56e-01,+1.36e+00,+1.23e+01,+1.24e+01 1 - 289 111 +4.18e-01,+1.18e+00,+1.97e+01,+1.98e+01 2 -161 -Vertex: -60 ID: 0 (X,cT)=+3.89e-05,+1.80e-05,+5.58e-04,+5.60e-04 - I: 1 100 111 +1.28e+00,+5.91e-01,+1.83e+01,+1.84e+01 2 -60 - O: 2 290 22 +1.23e+00,+5.60e-01,+1.78e+01,+1.79e+01 1 - 291 22 +5.03e-02,+3.14e-02,+4.95e-01,+4.99e-01 1 -GenVertex: -61 ID: 0 (X,cT):0 - I: 1 101 331 +1.59e+00,+2.22e+00,+3.03e+01,+3.04e+01 2 -61 - O: 3 292 211 +3.32e-01,+2.48e-01,+4.45e+00,+4.47e+00 1 - 293 -211 +3.06e-01,+6.92e-01,+8.24e+00,+8.28e+00 1 - 294 221 +9.56e-01,+1.28e+00,+1.76e+01,+1.77e+01 2 -162 -GenVertex: -62 ID: 0 (X,cT):0 - I: 1 102 213 +1.77e+00,-1.58e+00,+1.71e+01,+1.73e+01 2 -62 - O: 2 295 211 +8.03e-02,+2.02e-02,+5.69e-01,+5.92e-01 1 - 296 111 +1.69e+00,-1.60e+00,+1.65e+01,+1.67e+01 2 -163 -GenVertex: -63 ID: 0 (X,cT):0 - I: 1 105 311 +6.37e-01,-2.90e-01,+6.13e+00,+6.19e+00 2 -63 - O: 1 297 310 +6.37e-01,-2.90e-01,+6.13e+00,+6.19e+00 2 -164 -GenVertex: -64 ID: 0 (X,cT):0 - I: 1 106 333 +8.72e-02,-2.03e+00,+7.62e+00,+7.95e+00 2 -64 - O: 2 298 130 +1.44e-01,-1.08e+00,+4.20e+00,+4.37e+00 1 - 299 310 -5.64e-02,-9.48e-01,+3.42e+00,+3.58e+00 2 -165 -GenVertex: -65 ID: 0 (X,cT):0 - I: 1 107 -323 -1.98e-01,-1.55e-01,+2.64e+00,+2.79e+00 2 -65 - O: 2 300 -321 -2.21e-01,+1.56e-01,+1.65e+00,+1.74e+00 1 - 301 111 +2.32e-02,-3.11e-01,+9.92e-01,+1.05e+00 2 -166 -GenVertex: -66 ID: 0 (X,cT):0 - I: 1 108 113 -1.10e+00,-1.90e+00,+5.32e+00,+5.81e+00 2 -66 - O: 2 302 -211 -1.16e+00,-1.76e+00,+5.02e+00,+5.45e+00 1 - 303 211 +5.82e-02,-1.40e-01,+3.02e-01,+3.65e-01 1 -GenVertex: -67 ID: 0 (X,cT):0 - I: 1 109 213 -7.23e-01,-7.70e-01,+6.13e-01,+1.63e+00 2 -67 - O: 2 304 211 +1.49e-03,+1.26e-01,-1.51e-01,+2.41e-01 1 - 305 111 -7.25e-01,-8.95e-01,+7.64e-01,+1.39e+00 2 -167 -GenVertex: -68 ID: 0 (X,cT):0 - I: 1 111 213 -5.97e-01,-1.22e+00,+2.67e-01,+1.55e+00 2 -68 - O: 2 306 211 +1.06e-01,-2.72e-01,-4.01e-02,+3.26e-01 1 - 307 111 -7.03e-01,-9.49e-01,+3.08e-01,+1.23e+00 2 -168 -Vertex: -69 ID: 0 (X,cT)=+1.27e-05,-7.07e-05,+1.82e-05,+8.39e-05 - I: 1 113 111 +4.36e-02,-2.43e-01,+6.27e-02,+2.89e-01 2 -69 - O: 2 308 22 +5.40e-02,-1.99e-02,+1.91e-02,+6.07e-02 1 - 309 22 -1.04e-02,-2.23e-01,+4.36e-02,+2.28e-01 1 -GenVertex: -70 ID: 0 (X,cT):0 - I: 1 114 213 -1.15e+00,-1.72e+00,-2.01e+00,+2.97e+00 2 -70 - O: 2 310 211 -4.37e-02,-6.49e-02,-3.59e-02,+1.64e-01 1 - 311 111 -1.10e+00,-1.65e+00,-1.97e+00,+2.80e+00 2 -169 -GenVertex: -71 ID: 0 (X,cT):0 - I: 1 115 -213 -9.95e-01,-3.87e-01,-1.11e+00,+1.63e+00 2 -71 - O: 2 312 -211 -7.40e-01,-4.72e-01,-9.20e-01,+1.28e+00 1 - 313 111 -2.55e-01,+8.51e-02,-1.87e-01,+3.54e-01 2 -170 -GenVertex: -72 ID: 0 (X,cT):0 - I: 1 119 311 -2.88e-01,+7.23e-01,-1.33e+00,+1.62e+00 2 -72 - O: 1 314 310 -2.88e-01,+7.23e-01,-1.33e+00,+1.62e+00 2 -171 -GenVertex: -73 ID: 0 (X,cT):0 - I: 1 121 113 -2.01e-02,+9.67e-01,-2.76e+00,+3.05e+00 2 -73 - O: 2 315 -211 -5.02e-03,+1.03e+00,-2.68e+00,+2.88e+00 1 - 316 211 -1.50e-02,-6.21e-02,-7.50e-02,+1.71e-01 1 -GenVertex: -74 ID: 0 (X,cT):0 - I: 1 122 213 +6.99e-01,+4.88e-01,-2.14e+00,+2.37e+00 2 -74 - O: 2 317 211 +2.31e-01,+4.39e-01,-1.27e+00,+1.37e+00 1 - 318 111 +4.68e-01,+4.92e-02,-8.74e-01,+1.00e+00 2 -172 -GenVertex: -75 ID: 0 (X,cT):0 - I: 1 123 223 +1.59e-01,-2.33e-01,-7.42e+00,+7.46e+00 2 -75 - O: 2 319 -211 +2.57e-01,+5.62e-02,-5.93e+00,+5.93e+00 1 - 320 211 -9.87e-02,-2.90e-01,-1.49e+00,+1.53e+00 1 -GenVertex: -76 ID: 0 (X,cT):0 - I: 1 124 223 -3.07e-01,+5.68e-01,-1.77e+01,+1.77e+01 2 -76 - O: 2 321 -211 -1.81e-01,+2.32e-01,-1.48e+01,+1.48e+01 1 - 322 211 -1.26e-01,+3.36e-01,-2.88e+00,+2.90e+00 1 -GenVertex: -77 ID: 0 (X,cT):0 - I: 1 125 1114 +7.70e-01,-3.47e-01,-1.94e+02,+1.94e+02 2 -77 - O: 2 323 2112 +6.85e-01,-3.51e-01,-1.63e+02,+1.63e+02 1 - 324 -211 +8.47e-02,+3.52e-03,-3.06e+01,+3.06e+01 1 -Vertex: -78 ID: 0 (X,cT)=+9.27e-06,+2.22e-05,-1.58e-03,+1.58e-03 - I: 1 126 111 +6.52e-01,+1.56e+00,-1.11e+02,+1.11e+02 2 -78 - O: 2 325 22 +6.52e-01,+1.50e+00,-1.08e+02,+1.08e+02 1 - 326 22 -1.55e-04,+6.21e-02,-3.67e+00,+3.67e+00 1 -GenVertex: -79 ID: 0 (X,cT):0 - I: 1 130 113 +7.74e-01,+8.64e-01,-8.89e+01,+8.89e+01 2 -79 - O: 2 327 -211 +6.68e-01,+7.08e-01,-4.84e+01,+4.84e+01 1 - 328 211 +1.06e-01,+1.56e-01,-4.05e+01,+4.05e+01 1 -GenVertex: -80 ID: 0 (X,cT):0 - I: 1 131 223 +1.70e-02,+2.83e-01,-9.69e+01,+9.69e+01 2 -80 - O: 3 329 211 -1.62e-01,+5.36e-02,-3.29e+01,+3.29e+01 1 - 330 -211 +6.38e-02,-3.43e-02,-4.30e+01,+4.30e+01 1 - 331 111 +1.15e-01,+2.64e-01,-2.11e+01,+2.11e+01 2 -173 -GenVertex: -81 ID: 0 (X,cT):0 - I: 1 132 223 +3.02e-01,+2.43e-01,-3.21e+01,+3.21e+01 2 -81 - O: 3 332 -211 +5.67e-02,-4.99e-02,-1.78e+01,+1.78e+01 1 - 333 211 +8.54e-02,+2.91e-01,-8.16e+00,+8.17e+00 1 - 334 111 +1.60e-01,+1.64e-03,-6.16e+00,+6.16e+00 2 -174 -GenVertex: -82 ID: 0 (X,cT):0 - I: 1 133 221 +6.52e-01,-1.30e-02,-7.49e+00,+7.53e+00 2 -82 - O: 3 335 111 +3.20e-01,-1.06e-01,-2.80e+00,+2.83e+00 2 -175 - 336 111 +2.91e-01,+8.79e-02,-3.67e+00,+3.68e+00 2 -176 - 337 111 +4.06e-02,+5.17e-03,-1.02e+00,+1.02e+00 2 -177 -GenVertex: -83 ID: 0 (X,cT):0 - I: 1 134 213 +1.25e+00,+2.45e+00,-3.91e+01,+3.93e+01 2 -83 - O: 2 338 211 +6.58e-01,+5.66e-01,-1.72e+01,+1.72e+01 1 - 339 111 +5.88e-01,+1.89e+00,-2.20e+01,+2.20e+01 2 -178 -GenVertex: -84 ID: 0 (X,cT):0 - I: 1 135 221 +8.86e-01,+9.16e-01,-1.24e+01,+1.25e+01 2 -84 - O: 2 340 22 +6.66e-01,+6.36e-01,-6.31e+00,+6.38e+00 1 - 341 22 +2.20e-01,+2.80e-01,-6.11e+00,+6.12e+00 1 -Vertex: -85 ID: 0 (X,cT)=+3.02e-04,+4.87e-04,-5.38e-03,+5.41e-03 - I: 1 137 111 +7.22e-01,+1.16e+00,-1.29e+01,+1.29e+01 2 -85 - O: 2 342 22 +5.79e-02,+1.36e-01,-1.76e+00,+1.76e+00 1 - 343 22 +6.65e-01,+1.03e+00,-1.11e+01,+1.12e+01 1 -GenVertex: -86 ID: 0 (X,cT):0 - I: 1 138 113 +1.21e+00,+1.68e+00,-1.89e+01,+1.90e+01 2 -86 - O: 2 344 -211 +4.13e-01,+1.29e-01,-3.64e+00,+3.67e+00 1 - 345 211 +8.01e-01,+1.55e+00,-1.52e+01,+1.53e+01 1 -GenVertex: -87 ID: 0 (X,cT):0 - I: 1 140 -213 +4.58e-01,+1.15e+00,-1.84e+01,+1.85e+01 2 -87 - O: 2 346 -211 +4.43e-01,+4.32e-01,-3.36e+00,+3.42e+00 1 - 347 111 +1.51e-02,+7.22e-01,-1.51e+01,+1.51e+01 2 -179 -GenVertex: -88 ID: 0 (X,cT):0 - I: 1 141 213 +2.08e+00,+1.68e+00,-2.61e+01,+2.63e+01 2 -88 - O: 2 348 211 +2.03e+00,+1.63e+00,-2.51e+01,+2.52e+01 1 - 349 111 +5.56e-02,+5.31e-02,-1.06e+00,+1.07e+00 2 -180 -GenVertex: -89 ID: 0 (X,cT):0 - I: 1 142 313 +1.78e+00,+1.24e+00,-2.26e+01,+2.27e+01 2 -89 - O: 2 350 321 +5.53e-01,+4.44e-01,-6.45e+00,+6.51e+00 1 - 351 -211 +1.23e+00,+7.92e-01,-1.62e+01,+1.62e+01 1 -GenVertex: -90 ID: 0 (X,cT):0 - I: 1 143 -313 +1.42e+00,+6.47e-01,-1.81e+01,+1.82e+01 2 -90 - O: 2 352 -311 +4.98e-01,+5.10e-01,-7.52e+00,+7.57e+00 2 -181 - 353 111 +9.21e-01,+1.38e-01,-1.06e+01,+1.06e+01 2 -182 -GenVertex: -91 ID: 0 (X,cT):0 - I: 1 145 -213 -5.75e-01,-4.78e-01,-9.45e+01,+9.45e+01 2 -91 - O: 2 354 -211 -4.16e-01,-6.42e-04,-4.57e+01,+4.57e+01 1 - 355 111 -1.59e-01,-4.77e-01,-4.88e+01,+4.88e+01 2 -183 -GenVertex: -92 ID: 0 (X,cT):0 - I: 1 146 -1114 -8.04e-01,-7.43e-01,-3.40e+01,+3.40e+01 2 -92 - O: 2 356 -2112 -5.09e-01,-4.51e-01,-2.85e+01,+2.85e+01 1 - 357 211 -2.95e-01,-2.92e-01,-5.48e+00,+5.50e+00 1 -GenVertex: -93 ID: 0 (X,cT):0 - I: 1 147 -213 -1.80e-01,+6.29e-02,-4.32e+01,+4.32e+01 2 -93 - O: 2 358 -211 -2.49e-01,+3.34e-01,-2.84e+01,+2.84e+01 1 - 359 111 +6.89e-02,-2.71e-01,-1.49e+01,+1.49e+01 2 -184 -GenVertex: -94 ID: 0 (X,cT):0 - I: 1 149 311 -1.41e+00,-2.18e+00,-7.90e+01,+7.90e+01 2 -94 - O: 1 360 130 -1.41e+00,-2.18e+00,-7.90e+01,+7.90e+01 1 -GenVertex: -95 ID: 0 (X,cT):0 - I: 1 150 -323 -3.04e-01,-3.92e-01,-7.88e+01,+7.88e+01 2 -95 - O: 2 361 -321 -3.90e-02,+2.37e-02,-4.50e+01,+4.50e+01 1 - 362 111 -2.65e-01,-4.16e-01,-3.38e+01,+3.38e+01 2 -185 -GenVertex: -96 ID: 0 (X,cT):0 - I: 1 151 213 -1.80e+00,-1.21e+00,-8.93e+01,+8.94e+01 2 -96 - O: 2 363 211 -1.88e+00,-1.09e+00,-8.20e+01,+8.20e+01 1 - 364 111 +7.55e-02,-1.18e-01,-7.35e+00,+7.36e+00 2 -186 -GenVertex: -97 ID: 0 (X,cT):0 - I: 1 152 113 +4.91e-01,-9.72e-01,-5.04e+01,+5.05e+01 2 -97 - O: 2 365 -211 +3.30e-01,-1.08e+00,-4.62e+01,+4.62e+01 1 - 366 211 +1.61e-01,+1.05e-01,-4.23e+00,+4.23e+00 1 -GenVertex: -98 ID: 0 (X,cT):0 - I: 1 153 221 +2.67e-01,-2.61e-01,-2.16e+01,+2.16e+01 2 -98 - O: 2 367 22 -1.53e-01,-5.63e-02,-3.12e+00,+3.12e+00 1 - 368 22 +4.20e-01,-2.04e-01,-1.84e+01,+1.85e+01 1 -GenVertex: -99 ID: 0 (X,cT):0 - I: 1 154 311 +4.13e-01,+1.80e-01,-8.91e+01,+8.91e+01 2 -99 - O: 1 369 130 +4.13e-01,+1.80e-01,-8.91e+01,+8.91e+01 1 -GenVertex: -100 ID: 0 (X,cT):0 - I: 1 156 221 -4.10e-01,-2.74e-01,-4.88e+01,+4.88e+01 2 -100 - O: 3 370 211 -2.54e-01,-1.08e-01,-2.26e+01,+2.26e+01 1 - 371 -211 -9.47e-02,-7.03e-02,-6.26e+00,+6.26e+00 1 - 372 111 -6.13e-02,-9.53e-02,-1.99e+01,+1.99e+01 2 -187 -GenVertex: -101 ID: 0 (X,cT):0 - I: 1 158 113 -8.56e-01,+4.51e-01,-3.86e+02,+3.86e+02 2 -101 - O: 2 373 211 -5.66e-01,+1.70e-01,-3.23e+02,+3.23e+02 1 - 374 -211 -2.90e-01,+2.81e-01,-6.32e+01,+6.32e+01 1 -GenVertex: -102 ID: 0 (X,cT):0 - I: 1 160 2224 -1.90e-03,+7.51e-01,-1.39e+03,+1.39e+03 2 -102 - O: 2 375 2212 +9.56e-04,+8.62e-01,-1.17e+03,+1.17e+03 1 - 376 211 -2.86e-03,-1.12e-01,-2.17e+02,+2.17e+02 1 -GenVertex: -103 ID: 0 (X,cT):0 - I: 1 163 223 -1.35e-02,+1.05e-01,+2.90e+00,+3.01e+00 2 -103 - O: 3 377 -211 +6.98e-02,+4.75e-02,+2.34e+00,+2.34e+00 1 - 378 211 -3.36e-03,-3.94e-02,+1.39e-01,+2.01e-01 1 - 379 111 -7.99e-02,+9.68e-02,+4.23e-01,+4.62e-01 2 -188 -GenVertex: -104 ID: 0 (X,cT):0 - I: 1 164 -213 -7.67e-02,-1.58e-01,+2.83e+00,+2.94e+00 2 -104 - O: 2 380 -211 +2.46e-01,-2.54e-01,+9.52e-01,+1.02e+00 1 - 381 111 -3.23e-01,+9.61e-02,+1.88e+00,+1.91e+00 2 -189 -GenVertex: -105 ID: 0 (X,cT):0 - I: 1 165 113 -3.96e-01,-2.46e-01,+7.66e+00,+7.72e+00 2 -105 - O: 2 382 -211 -4.58e-01,-1.09e-01,+2.26e+00,+2.31e+00 1 - 383 211 +6.19e-02,-1.38e-01,+5.40e+00,+5.41e+00 1 -GenVertex: -106 ID: 0 (X,cT):0 - I: 1 166 223 +8.97e-02,-2.51e-02,+1.83e+01,+1.83e+01 2 -106 - O: 3 384 211 +1.54e-02,+2.33e-01,+6.44e+00,+6.45e+00 1 - 385 -211 -1.25e-01,-1.91e-01,+6.30e+00,+6.31e+00 1 - 386 111 +1.99e-01,-6.72e-02,+5.57e+00,+5.57e+00 2 -190 -GenVertex: -107 ID: 0 (X,cT):0 - I: 1 167 331 +7.92e-02,-2.14e-01,+1.65e+01,+1.65e+01 2 -107 - O: 2 387 22 -3.78e-03,+6.83e-02,+3.46e-01,+3.53e-01 1 - 388 113 +8.30e-02,-2.83e-01,+1.61e+01,+1.61e+01 2 -191 -GenVertex: -108 ID: 0 (X,cT):0 - I: 1 169 113 -9.07e-02,+1.70e-01,+7.69e+00,+7.71e+00 2 -108 - O: 2 389 211 -1.47e-01,+1.94e-03,+5.31e+00,+5.31e+00 1 - 390 -211 +5.60e-02,+1.68e-01,+2.38e+00,+2.39e+00 1 -GenVertex: -109 ID: 0 (X,cT):0 - I: 1 172 313 -9.79e-02,+5.68e-01,+7.20e+01,+7.20e+01 2 -109 - O: 2 391 321 +1.98e-01,+2.04e-01,+3.95e+01,+3.95e+01 1 - 392 -211 -2.96e-01,+3.65e-01,+3.25e+01,+3.25e+01 1 -GenVertex: -110 ID: 0 (X,cT):0 - I: 1 173 -313 -1.30e-01,-7.96e-01,+2.37e+02,+2.37e+02 2 -110 - O: 2 393 -321 +8.77e-02,-3.77e-01,+1.73e+02,+1.73e+02 1 - 394 211 -2.18e-01,-4.20e-01,+6.41e+01,+6.41e+01 1 -Vertex: -111 ID: 0 (X,cT)=-3.81e+00,+2.43e+00,-3.67e+01,+3.70e+01 - I: 1 177 -411 -2.64e+01,+1.68e+01,-2.54e+02,+2.56e+02 2 -111 - O: 4 395 13 -1.41e+00,+1.04e+00,-1.32e+01,+1.33e+01 1 - 396 -14 -1.31e+00,+1.05e+00,-1.23e+01,+1.24e+01 1 - 397 323 -2.16e+01,+1.35e+01,-2.09e+02,+2.11e+02 2 -192 - 398 -211 -2.09e+00,+1.24e+00,-1.91e+01,+1.92e+01 1 -GenVertex: -112 ID: 0 (X,cT):0 - I: 1 180 -313 -1.69e+00,+9.52e-01,-1.93e+01,+1.94e+01 2 -112 - O: 2 399 -311 -4.47e-01,+3.05e-01,-6.33e+00,+6.37e+00 2 -193 - 400 111 -1.24e+00,+6.47e-01,-1.29e+01,+1.30e+01 2 -194 -GenVertex: -113 ID: 0 (X,cT):0 - I: 1 181 323 -1.07e+00,+1.14e+00,-1.19e+01,+1.20e+01 2 -113 - O: 2 401 311 -9.33e-01,+9.63e-01,-1.12e+01,+1.13e+01 2 -195 - 402 211 -1.36e-01,+1.77e-01,-7.16e-01,+7.63e-01 1 -GenVertex: -114 ID: 0 (X,cT):0 - I: 1 182 -323 -1.04e+00,-2.43e-02,-1.56e+01,+1.57e+01 2 -114 - O: 2 403 -321 -9.22e-01,-9.25e-02,-1.49e+01,+1.49e+01 1 - 404 111 -1.17e-01,+6.82e-02,-7.01e-01,+7.26e-01 2 -196 -GenVertex: -115 ID: 0 (X,cT):0 - I: 1 184 113 +9.16e+00,-6.89e+00,-1.32e+02,+1.32e+02 2 -115 - O: 2 405 -211 +8.07e+00,-6.29e+00,-1.19e+02,+1.20e+02 1 - 406 211 +1.09e+00,-5.97e-01,-1.23e+01,+1.24e+01 1 -Vertex: -116 ID: 0 (X,cT)=+1.87e-03,-1.71e-03,-2.84e-02,+2.85e-02 - I: 1 185 111 +1.57e+00,-1.44e+00,-2.40e+01,+2.41e+01 2 -116 - O: 2 407 22 +1.03e+00,-8.53e-01,-1.49e+01,+1.50e+01 1 - 408 22 +5.46e-01,-5.88e-01,-9.04e+00,+9.08e+00 1 -GenVertex: -117 ID: 0 (X,cT):0 - I: 1 189 213 -1.88e-01,-4.78e-01,-1.86e-02,+8.02e-01 2 -117 - O: 2 409 211 +6.32e-02,-4.07e-02,-1.95e-01,+2.51e-01 1 - 410 111 -2.51e-01,-4.37e-01,+1.76e-01,+5.51e-01 2 -197 -GenVertex: -118 ID: 0 (X,cT):0 - I: 1 191 213 -1.69e-01,+6.66e-02,+1.66e+00,+1.95e+00 2 -118 - O: 2 411 211 -8.99e-02,-4.44e-01,+8.88e-01,+1.01e+00 1 - 412 111 -7.90e-02,+5.11e-01,+7.72e-01,+9.39e-01 2 -198 -GenVertex: -119 ID: 0 (X,cT):0 - I: 1 192 113 -7.42e-01,+4.97e-01,+2.71e+00,+2.94e+00 2 -119 - O: 2 413 -211 -6.65e-02,+8.33e-02,+1.29e+00,+1.30e+00 1 - 414 211 -6.76e-01,+4.14e-01,+1.43e+00,+1.64e+00 1 -GenVertex: -120 ID: 0 (X,cT):0 - I: 1 193 -213 +2.70e-02,+3.31e-01,+2.97e-01,+7.93e-01 2 -120 - O: 2 415 -211 -1.79e-01,+3.73e-02,+3.36e-01,+4.08e-01 1 - 416 111 +2.06e-01,+2.93e-01,-3.94e-02,+3.85e-01 2 -199 -GenVertex: -121 ID: 0 (X,cT):0 - I: 1 195 113 -1.79e-01,+4.58e-01,+4.36e+00,+4.46e+00 2 -121 - O: 2 417 -211 -4.09e-01,+9.88e-02,+1.62e+00,+1.68e+00 1 - 418 211 +2.30e-01,+3.59e-01,+2.75e+00,+2.78e+00 1 -GenVertex: -122 ID: 0 (X,cT):0 - I: 1 196 -213 -8.75e-02,+1.16e-01,+1.21e+00,+1.46e+00 2 -122 - O: 2 419 -211 +1.71e-01,-8.56e-03,+1.11e+00,+1.13e+00 1 - 420 111 -2.59e-01,+1.24e-01,+1.06e-01,+3.34e-01 2 -200 -GenVertex: -123 ID: 0 (X,cT):0 - I: 1 197 323 -7.63e-01,+6.20e-01,+7.15e+00,+7.28e+00 2 -123 - O: 2 421 321 -4.34e-01,+3.13e-01,+2.39e+00,+2.49e+00 1 - 422 111 -3.29e-01,+3.07e-01,+4.76e+00,+4.78e+00 2 -201 -GenVertex: -124 ID: 0 (X,cT):0 - I: 1 198 221 -7.36e-01,+2.91e-01,+5.63e+00,+5.72e+00 2 -124 - O: 3 423 22 -3.68e-01,+1.74e-01,+3.63e+00,+3.66e+00 1 - 424 211 -2.05e-01,+1.05e-01,+1.26e+00,+1.28e+00 1 - 425 -211 -1.63e-01,+1.25e-02,+7.47e-01,+7.77e-01 1 -GenVertex: -125 ID: 0 (X,cT):0 - I: 1 200 213 +4.69e-02,-1.77e-01,-3.64e-01,+1.10e+00 2 -125 - O: 2 426 211 -3.67e-01,-1.30e-01,-4.96e-01,+6.46e-01 1 - 427 111 +4.14e-01,-4.69e-02,+1.31e-01,+4.58e-01 2 -202 -Vertex: -126 ID: 0 (X,cT)=+6.94e-05,-7.03e-06,+2.19e-04,+2.31e-04 - I: 1 201 111 +3.73e-01,-3.78e-02,+1.18e+00,+1.24e+00 2 -126 - O: 2 428 22 +1.73e-01,-3.58e-02,+3.54e-01,+3.96e-01 1 - 429 22 +2.00e-01,-2.02e-03,+8.22e-01,+8.46e-01 1 -GenVertex: -127 ID: 0 (X,cT):0 - I: 1 202 -213 -7.72e-01,+1.13e+00,+1.14e+00,+1.96e+00 2 -127 - O: 2 430 -211 -3.73e-02,+7.08e-01,+6.44e-01,+9.68e-01 1 - 431 111 -7.34e-01,+4.26e-01,+4.97e-01,+9.93e-01 2 -203 -GenVertex: -128 ID: 0 (X,cT):0 - I: 1 203 223 +4.07e-01,-5.29e-01,+1.12e-01,+1.04e+00 2 -128 - O: 3 432 211 +3.59e-01,-2.82e-01,+1.18e-01,+4.92e-01 1 - 433 -211 -1.50e-02,+9.43e-02,+3.19e-02,+1.72e-01 1 - 434 111 +6.29e-02,-3.41e-01,-3.80e-02,+3.74e-01 2 -204 -GenVertex: -129 ID: 0 (X,cT):0 - I: 1 204 223 -5.49e-02,-3.91e-01,+1.06e+00,+1.37e+00 2 -129 - O: 3 435 -211 +6.25e-02,-1.04e-01,+1.78e-01,+2.57e-01 1 - 436 211 +2.00e-02,-2.71e-01,+8.68e-01,+9.20e-01 1 - 437 111 -1.37e-01,-1.63e-02,+1.18e-02,+1.94e-01 2 -205 -Vertex: -130 ID: 0 (X,cT)=+1.58e-01,-6.64e-02,-8.93e-01,+9.27e-01 - I: 1 205 -421 +1.62e+00,-6.80e-01,-9.14e+00,+9.49e+00 2 -130 - O: 2 438 10323 +8.73e-01,-6.30e-01,-7.46e+00,+7.64e+00 2 -206 - 439 -211 +7.49e-01,-4.97e-02,-1.68e+00,+1.85e+00 1 -Vertex: -131 ID: 0 (X,cT)=+6.33e-05,-2.16e-05,-2.68e-04,+2.80e-04 - I: 1 206 111 +1.80e-01,-6.13e-02,-7.60e-01,+7.95e-01 2 -131 - O: 2 440 22 +1.83e-01,-8.44e-02,-7.27e-01,+7.54e-01 1 - 441 22 -3.44e-03,+2.31e-02,-3.29e-02,+4.04e-02 1 -GenVertex: -132 ID: 0 (X,cT):0 - I: 1 207 -311 +3.84e-01,+6.75e-01,-2.32e+00,+2.49e+00 2 -132 - O: 1 442 310 +3.84e-01,+6.75e-01,-2.32e+00,+2.49e+00 2 -207 -GenVertex: -133 ID: 0 (X,cT):0 - I: 1 209 311 +4.92e-01,+1.67e+00,-1.03e+01,+1.05e+01 2 -133 - O: 1 443 310 +4.92e-01,+1.67e+00,-1.03e+01,+1.05e+01 2 -208 -Vertex: -134 ID: 0 (X,cT)=+9.60e-06,+2.02e-06,-1.35e-04,+1.36e-04 - I: 1 210 111 +1.56e-01,+3.28e-02,-2.20e+00,+2.21e+00 2 -134 - O: 2 444 22 +1.58e-01,+4.61e-02,-2.17e+00,+2.18e+00 1 - 445 22 -2.08e-03,-1.33e-02,-2.27e-02,+2.64e-02 1 -Vertex: -135 ID: 0 (X,cT)=-6.11e-05,+1.37e-04,-6.02e-04,+6.24e-04 - I: 1 215 111 -1.24e-01,+2.78e-01,-1.22e+00,+1.26e+00 2 -135 - O: 2 446 22 -2.52e-02,+2.45e-02,-3.81e-01,+3.83e-01 1 - 447 22 -9.85e-02,+2.53e-01,-8.38e-01,+8.81e-01 1 -Vertex: -136 ID: 0 (X,cT)=-4.44e-05,-3.92e-06,-7.34e-04,+7.40e-04 - I: 1 217 111 -7.15e-02,-6.31e-03,-1.18e+00,+1.19e+00 2 -136 - O: 2 448 22 -9.35e-02,-3.77e-02,-1.03e+00,+1.04e+00 1 - 449 22 +2.21e-02,+3.14e-02,-1.46e-01,+1.51e-01 1 -Vertex: -137 ID: 0 (X,cT)=+3.41e-05,+1.99e-05,-1.06e-05,+5.12e-05 - I: 1 220 111 +1.49e-01,+8.68e-02,-4.65e-02,+2.24e-01 2 -137 - O: 2 450 22 +1.62e-01,+9.36e-02,-6.67e-02,+1.99e-01 1 - 451 22 -1.32e-02,-6.86e-03,+2.02e-02,+2.51e-02 1 -GenVertex: -138 ID: 0 (X,cT):0 - I: 1 221 -311 -8.28e-02,+1.40e-01,+2.87e-01,+5.97e-01 2 -138 - O: 1 452 130 -8.28e-02,+1.40e-01,+2.87e-01,+5.97e-01 1 -Vertex: -139 ID: 0 (X,cT)=-3.00e-05,-1.01e-05,+1.64e-06,+3.29e-05 - I: 1 226 111 -4.64e-01,-1.55e-01,+2.53e-02,+5.08e-01 2 -139 - O: 2 453 22 -2.22e-01,-3.76e-02,-4.59e-02,+2.30e-01 1 - 454 22 -2.42e-01,-1.18e-01,+7.12e-02,+2.78e-01 1 -Vertex: -140 ID: 0 (X,cT)=-5.23e-07,-7.76e-06,+4.86e-05,+4.96e-05 - I: 1 231 111 -1.13e-02,-1.68e-01,+1.05e+00,+1.07e+00 2 -140 - O: 2 455 22 +4.72e-02,-1.23e-01,+8.16e-01,+8.27e-01 1 - 456 22 -5.85e-02,-4.52e-02,+2.34e-01,+2.45e-01 1 -Vertex: -141 ID: 0 (X,cT)=+3.06e-05,-6.13e-05,+1.04e-03,+1.04e-03 - I: 1 233 111 +1.15e-01,-2.30e-01,+3.89e+00,+3.90e+00 2 -141 - O: 2 457 22 +4.00e-02,+3.07e-04,+9.61e-01,+9.62e-01 1 - 458 22 +7.48e-02,-2.30e-01,+2.93e+00,+2.94e+00 1 -Vertex: -142 ID: 0 (X,cT)=-4.86e-07,+1.36e-05,+5.54e-03,+5.54e-03 - I: 1 240 111 -1.84e-03,+5.13e-02,+2.10e+01,+2.10e+01 2 -142 - O: 2 459 22 +6.53e-02,+3.07e-02,+8.88e+00,+8.88e+00 1 - 460 22 -6.72e-02,+2.07e-02,+1.21e+01,+1.21e+01 1 -Vertex: -143 ID: 0 (X,cT)=+9.00e-01,-4.13e-01,-2.42e+00,+2.63e+00 - I: 1 241 421 +6.24e+00,-2.87e+00,-1.68e+01,+1.82e+01 2 -143 - O: 2 461 -313 +3.33e+00,-1.55e+00,-7.24e+00,+8.16e+00 2 -209 - 462 111 +2.92e+00,-1.31e+00,-9.56e+00,+1.01e+01 2 -210 -Vertex: -144 ID: 0 (X,cT)=+1.11e-04,-5.90e-05,-2.87e-04,+3.15e-04 - I: 1 242 111 +4.94e-01,-2.63e-01,-1.28e+00,+1.40e+00 2 -144 - O: 2 463 22 +3.13e-01,-2.24e-01,-9.52e-01,+1.03e+00 1 - 464 22 +1.81e-01,-3.87e-02,-3.28e-01,+3.76e-01 1 -Vertex: -145 ID: 0 (X,cT)=+2.18e-05,-5.26e-06,-3.70e-05,+4.34e-05 - I: 1 244 111 +8.10e-01,-1.96e-01,-1.38e+00,+1.62e+00 2 -145 - O: 2 465 22 +6.12e-01,-2.00e-01,-1.10e+00,+1.28e+00 1 - 466 22 +1.98e-01,+3.77e-03,-2.74e-01,+3.39e-01 1 -GenVertex: -146 ID: 0 (X,cT):0 - I: 1 247 221 +3.89e-01,-5.39e-01,-8.71e-01,+1.22e+00 2 -146 - O: 3 467 -211 +1.74e-01,-1.31e-01,-4.30e-01,+5.02e-01 1 - 468 211 +5.41e-02,-2.04e-01,-3.15e-01,+4.04e-01 1 - 469 111 +1.61e-01,-2.04e-01,-1.26e-01,+3.19e-01 2 -211 -Vertex: -147 ID: 0 (X,cT)=+1.07e-04,-3.60e-05,-3.69e-04,+3.86e-04 - I: 1 249 111 +7.72e-01,-2.59e-01,-2.66e+00,+2.78e+00 2 -147 - O: 2 470 22 +2.51e-02,-3.16e-02,-2.06e-01,+2.10e-01 1 - 471 22 +7.47e-01,-2.27e-01,-2.45e+00,+2.57e+00 1 -Vertex: -148 ID: 0 (X,cT)=-8.22e+00,-2.29e+00,+1.29e+02,+1.35e+02 - I: 1 254 310 -1.08e-01,-3.01e-02,+1.70e+00,+1.77e+00 2 -148 - O: 2 472 211 +1.20e-02,+1.80e-01,+6.79e-01,+7.16e-01 1 - 473 -211 -1.20e-01,-2.10e-01,+1.02e+00,+1.05e+00 1 -Vertex: -149 ID: 0 (X,cT)=-9.20e-06,+3.86e-06,+4.76e-05,+4.89e-05 - I: 1 258 111 -2.36e-01,+9.89e-02,+1.22e+00,+1.25e+00 2 -149 - O: 2 474 22 -1.60e-01,+3.34e-03,+8.26e-01,+8.41e-01 1 - 475 22 -7.61e-02,+9.56e-02,+3.95e-01,+4.13e-01 1 -Vertex: -150 ID: 0 (X,cT)=-5.14e-04,-8.73e-05,+1.03e-02,+1.04e-02 - I: 1 260 111 -1.11e+00,-1.89e-01,+2.24e+01,+2.24e+01 2 -150 - O: 2 476 22 -9.81e-01,-1.35e-01,+2.02e+01,+2.02e+01 1 - 477 22 -1.30e-01,-5.37e-02,+2.22e+00,+2.22e+00 1 -Vertex: -151 ID: 0 (X,cT)=+1.88e-05,+4.46e-05,+6.87e-04,+6.89e-04 - I: 1 263 111 +1.08e-01,+2.55e-01,+3.93e+00,+3.94e+00 2 -151 - O: 2 478 22 +1.10e-01,+2.16e-01,+2.55e+00,+2.56e+00 1 - 479 22 -2.65e-03,+3.91e-02,+1.38e+00,+1.38e+00 1 -Vertex: -152 ID: 0 (X,cT)=-6.14e-05,-3.82e-05,+7.27e-04,+7.31e-04 - I: 1 265 111 -3.21e-01,-1.99e-01,+3.80e+00,+3.82e+00 2 -152 - O: 2 480 22 -2.34e-01,-1.54e-01,+3.28e+00,+3.29e+00 1 - 481 22 -8.72e-02,-4.50e-02,+5.19e-01,+5.28e-01 1 -Vertex: -153 ID: 0 (X,cT)=-2.19e-06,-3.00e-06,+3.58e-04,+3.58e-04 - I: 1 267 111 -1.18e-01,-1.61e-01,+1.92e+01,+1.92e+01 2 -153 - O: 2 482 22 -9.69e-02,-1.72e-01,+1.33e+01,+1.34e+01 1 - 483 22 -2.08e-02,+1.15e-02,+5.82e+00,+5.82e+00 1 -Vertex: -154 ID: 0 (X,cT)=-9.00e-04,+6.71e-04,+1.89e-01,+1.89e-01 - I: 1 273 111 -1.19e+00,+8.85e-01,+2.49e+02,+2.49e+02 2 -154 - O: 2 484 22 -5.91e-01,+4.58e-01,+1.37e+02,+1.37e+02 1 - 485 22 -5.96e-01,+4.27e-01,+1.12e+02,+1.12e+02 1 -Vertex: -155 ID: 0 (X,cT)=-5.19e-06,+2.77e-05,+9.61e-03,+9.61e-03 - I: 1 275 111 -3.94e-02,+2.10e-01,+7.29e+01,+7.29e+01 2 -155 - O: 2 486 22 -5.34e-02,+1.01e-01,+2.01e+01,+2.01e+01 1 - 487 22 +1.40e-02,+1.09e-01,+5.28e+01,+5.28e+01 1 -Vertex: -156 ID: 0 (X,cT)=-3.80e-05,+2.22e-05,+1.37e-02,+1.37e-02 - I: 1 280 111 -1.09e-01,+6.39e-02,+3.93e+01,+3.93e+01 2 -156 - O: 2 488 22 -5.83e-02,+1.46e-02,+3.27e+01,+3.27e+01 1 - 489 22 -5.08e-02,+4.93e-02,+6.60e+00,+6.60e+00 1 -Vertex: -157 ID: 0 (X,cT)=+6.48e-05,+4.92e-04,+1.80e-02,+1.80e-02 - I: 1 284 111 +1.27e-01,+9.61e-01,+3.52e+01,+3.52e+01 2 -157 - O: 2 490 22 -2.52e-02,+2.35e-01,+8.00e+00,+8.00e+00 1 - 491 22 +1.52e-01,+7.26e-01,+2.72e+01,+2.72e+01 1 -Vertex: -158 ID: 0 (X,cT)=+1.48e-04,+1.07e-04,+1.80e-03,+1.81e-03 - I: 1 285 111 +2.92e-01,+2.10e-01,+3.56e+00,+3.58e+00 2 -158 - O: 2 492 22 +2.42e-01,+1.03e-01,+2.23e+00,+2.25e+00 1 - 493 22 +5.02e-02,+1.07e-01,+1.33e+00,+1.33e+00 1 -Vertex: -159 ID: 0 (X,cT)=+2.50e-05,+3.78e-05,+5.99e-04,+6.03e-04 - I: 1 286 111 +7.22e-02,+1.09e-01,+1.73e+00,+1.74e+00 2 -159 - O: 2 494 22 +2.13e-02,+6.88e-02,+1.49e+00,+1.49e+00 1 - 495 22 +5.09e-02,+4.05e-02,+2.47e-01,+2.55e-01 1 -Vertex: -160 ID: 0 (X,cT)=+2.02e-05,+3.78e-06,+1.16e-03,+1.16e-03 - I: 1 287 111 +5.73e-02,+1.07e-02,+3.27e+00,+3.27e+00 2 -160 - O: 2 496 22 -1.28e-02,-2.31e-02,+1.49e-01,+1.51e-01 1 - 497 22 +7.01e-02,+3.38e-02,+3.12e+00,+3.12e+00 1 -Vertex: -161 ID: 0 (X,cT)=+9.91e-05,+2.78e-04,+4.67e-03,+4.68e-03 - I: 1 289 111 +4.18e-01,+1.18e+00,+1.97e+01,+1.98e+01 2 -161 - O: 2 498 22 +2.65e-01,+6.35e-01,+1.17e+01,+1.18e+01 1 - 499 22 +1.54e-01,+5.40e-01,+7.99e+00,+8.01e+00 1 -GenVertex: -162 ID: 0 (X,cT):0 - I: 1 294 221 +9.56e-01,+1.28e+00,+1.76e+01,+1.77e+01 2 -162 - O: 3 500 111 +3.73e-01,+4.04e-01,+4.84e+00,+4.87e+00 2 -212 - 501 111 +4.30e-01,+7.17e-01,+9.92e+00,+9.96e+00 2 -213 - 502 111 +1.53e-01,+1.59e-01,+2.85e+00,+2.86e+00 2 -214 -Vertex: -163 ID: 0 (X,cT)=+2.58e-04,-2.44e-04,+2.53e-03,+2.55e-03 - I: 1 296 111 +1.69e+00,-1.60e+00,+1.65e+01,+1.67e+01 2 -163 - O: 2 503 22 +1.04e+00,-1.02e+00,+1.08e+01,+1.09e+01 1 - 504 22 +6.52e-01,-5.77e-01,+5.78e+00,+5.84e+00 1 -Vertex: -164 ID: 0 (X,cT)=+2.91e+01,-1.32e+01,+2.80e+02,+2.82e+02 - I: 1 297 310 +6.37e-01,-2.90e-01,+6.13e+00,+6.19e+00 2 -164 - O: 2 505 -211 +1.68e-01,+3.96e-04,+7.88e-01,+8.18e-01 1 - 506 211 +4.69e-01,-2.90e-01,+5.34e+00,+5.37e+00 1 -Vertex: -165 ID: 0 (X,cT)=-3.01e+00,-5.05e+01,+1.82e+02,+1.91e+02 - I: 1 299 310 -5.64e-02,-9.48e-01,+3.42e+00,+3.58e+00 2 -165 - O: 2 507 211 -9.80e-03,-8.77e-01,+3.10e+00,+3.22e+00 1 - 508 -211 -4.66e-02,-7.14e-02,+3.18e-01,+3.57e-01 1 -Vertex: -166 ID: 0 (X,cT)=+5.65e-06,-7.57e-05,+2.42e-04,+2.55e-04 - I: 1 301 111 +2.32e-02,-3.11e-01,+9.92e-01,+1.05e+00 2 -166 - O: 2 509 22 -1.58e-02,-2.94e-01,+9.06e-01,+9.53e-01 1 - 510 22 +3.90e-02,-1.71e-02,+8.60e-02,+9.59e-02 1 -Vertex: -167 ID: 0 (X,cT)=-1.40e-04,-1.73e-04,+1.47e-04,+2.68e-04 - I: 1 305 111 -7.25e-01,-8.95e-01,+7.64e-01,+1.39e+00 2 -167 - O: 2 511 22 -1.23e-01,-1.25e-01,+1.74e-01,+2.47e-01 1 - 512 22 -6.01e-01,-7.71e-01,+5.90e-01,+1.14e+00 1 -Vertex: -168 ID: 0 (X,cT)=-2.82e-04,-3.80e-04,+1.23e-04,+4.92e-04 - I: 1 307 111 -7.03e-01,-9.49e-01,+3.08e-01,+1.23e+00 2 -168 - O: 2 513 22 -4.88e-01,-5.82e-01,+1.49e-01,+7.74e-01 1 - 514 22 -2.15e-01,-3.67e-01,+1.58e-01,+4.54e-01 1 -Vertex: -169 ID: 0 (X,cT)=-3.47e-04,-5.20e-04,-6.20e-04,+8.81e-04 - I: 1 311 111 -1.10e+00,-1.65e+00,-1.97e+00,+2.80e+00 2 -169 - O: 2 515 22 -1.08e+00,-1.63e+00,-1.96e+00,+2.76e+00 1 - 516 22 -2.45e-02,-2.46e-02,-1.45e-02,+3.76e-02 1 -Vertex: -170 ID: 0 (X,cT)=-3.29e-06,+1.10e-06,-2.41e-06,+4.57e-06 - I: 1 313 111 -2.55e-01,+8.51e-02,-1.87e-01,+3.54e-01 2 -170 - O: 2 517 22 -1.13e-01,-2.84e-02,-9.56e-02,+1.51e-01 1 - 518 22 -1.42e-01,+1.13e-01,-9.12e-02,+2.04e-01 1 -Vertex: -171 ID: 0 (X,cT)=-2.73e+00,+6.86e+00,-1.26e+01,+1.53e+01 - I: 1 314 310 -2.88e-01,+7.23e-01,-1.33e+00,+1.62e+00 2 -171 - O: 2 519 -211 -3.73e-01,+4.98e-01,-1.02e+00,+1.20e+00 1 - 520 211 +8.58e-02,+2.25e-01,-3.14e-01,+4.20e-01 1 -Vertex: -172 ID: 0 (X,cT)=+3.20e-04,+3.36e-05,-5.97e-04,+6.84e-04 - I: 1 318 111 +4.68e-01,+4.92e-02,-8.74e-01,+1.00e+00 2 -172 - O: 2 521 22 +1.99e-02,+1.62e-02,-1.31e-01,+1.33e-01 1 - 522 22 +4.48e-01,+3.29e-02,-7.43e-01,+8.69e-01 1 -Vertex: -173 ID: 0 (X,cT)=+1.96e-05,+4.48e-05,-3.57e-03,+3.57e-03 - I: 1 331 111 +1.15e-01,+2.64e-01,-2.11e+01,+2.11e+01 2 -173 - O: 2 523 22 +5.11e-03,+1.71e-01,-1.28e+01,+1.28e+01 1 - 524 22 +1.10e-01,+9.28e-02,-8.25e+00,+8.26e+00 1 -Vertex: -174 ID: 0 (X,cT)=+5.52e-05,+5.68e-07,-2.13e-03,+2.13e-03 - I: 1 334 111 +1.60e-01,+1.64e-03,-6.16e+00,+6.16e+00 2 -174 - O: 2 525 22 +9.75e-02,+6.03e-02,-2.60e+00,+2.61e+00 1 - 526 22 +6.22e-02,-5.86e-02,-3.55e+00,+3.56e+00 1 -Vertex: -175 ID: 0 (X,cT)=+5.38e-05,-1.78e-05,-4.71e-04,+4.74e-04 - I: 1 335 111 +3.20e-01,-1.06e-01,-2.80e+00,+2.83e+00 2 -175 - O: 2 527 22 +5.30e-02,+1.88e-02,-7.85e-01,+7.87e-01 1 - 528 22 +2.67e-01,-1.25e-01,-2.02e+00,+2.04e+00 1 -Vertex: -176 ID: 0 (X,cT)=+2.93e-05,+8.83e-06,-3.69e-04,+3.70e-04 - I: 1 336 111 +2.91e-01,+8.79e-02,-3.67e+00,+3.68e+00 2 -176 - O: 2 529 22 +2.68e-01,+3.23e-02,-2.79e+00,+2.81e+00 1 - 530 22 +2.34e-02,+5.56e-02,-8.74e-01,+8.76e-01 1 -Vertex: -177 ID: 0 (X,cT)=+1.18e-05,+1.50e-06,-2.95e-04,+2.98e-04 - I: 1 337 111 +4.06e-02,+5.17e-03,-1.02e+00,+1.02e+00 2 -177 - O: 2 531 22 -1.54e-02,-5.04e-02,-2.38e-01,+2.44e-01 1 - 532 22 +5.60e-02,+5.56e-02,-7.77e-01,+7.81e-01 1 -Vertex: -178 ID: 0 (X,cT)=+3.27e-04,+1.05e-03,-1.22e-02,+1.23e-02 - I: 1 339 111 +5.88e-01,+1.89e+00,-2.20e+01,+2.20e+01 2 -178 - O: 2 533 22 +9.44e-02,+2.34e-01,-3.28e+00,+3.29e+00 1 - 534 22 +4.93e-01,+1.65e+00,-1.87e+01,+1.88e+01 1 -Vertex: -179 ID: 0 (X,cT)=+1.73e-05,+8.31e-04,-1.74e-02,+1.74e-02 - I: 1 347 111 +1.51e-02,+7.22e-01,-1.51e+01,+1.51e+01 2 -179 - O: 2 535 22 -3.85e-02,+1.69e-01,-2.84e+00,+2.85e+00 1 - 536 22 +5.35e-02,+5.53e-01,-1.22e+01,+1.23e+01 1 -Vertex: -180 ID: 0 (X,cT)=+1.08e-05,+1.04e-05,-2.06e-04,+2.08e-04 - I: 1 349 111 +5.56e-02,+5.31e-02,-1.06e+00,+1.07e+00 2 -180 - O: 2 537 22 -2.80e-02,+6.26e-02,-5.73e-01,+5.77e-01 1 - 538 22 +8.36e-02,-9.58e-03,-4.84e-01,+4.91e-01 1 -GenVertex: -181 ID: 0 (X,cT):0 - I: 1 352 -311 +4.98e-01,+5.10e-01,-7.52e+00,+7.57e+00 2 -181 - O: 1 539 310 +4.98e-01,+5.10e-01,-7.52e+00,+7.57e+00 2 -215 -Vertex: -182 ID: 0 (X,cT)=+8.78e-05,+1.31e-05,-1.01e-03,+1.01e-03 - I: 1 353 111 +9.21e-01,+1.38e-01,-1.06e+01,+1.06e+01 2 -182 - O: 2 540 22 +2.76e-01,+8.46e-03,-3.75e+00,+3.76e+00 1 - 541 22 +6.45e-01,+1.29e-01,-6.82e+00,+6.85e+00 1 -Vertex: -183 ID: 0 (X,cT)=-2.61e-05,-7.86e-05,-8.03e-03,+8.03e-03 - I: 1 355 111 -1.59e-01,-4.77e-01,-4.88e+01,+4.88e+01 2 -183 - O: 2 542 22 -7.47e-03,+4.92e-03,-2.71e-01,+2.71e-01 1 - 543 22 -1.51e-01,-4.82e-01,-4.85e+01,+4.85e+01 1 -Vertex: -184 ID: 0 (X,cT)=+3.04e-05,-1.20e-04,-6.56e-03,+6.56e-03 - I: 1 359 111 +6.89e-02,-2.71e-01,-1.49e+01,+1.49e+01 2 -184 - O: 2 544 22 +1.36e-02,-6.16e-02,-1.31e+00,+1.31e+00 1 - 545 22 +5.54e-02,-2.10e-01,-1.35e+01,+1.35e+01 1 -Vertex: -185 ID: 0 (X,cT)=-3.11e-05,-4.88e-05,-3.97e-03,+3.97e-03 - I: 1 362 111 -2.65e-01,-4.16e-01,-3.38e+01,+3.38e+01 2 -185 - O: 2 546 22 -2.39e-02,-6.37e-02,-2.40e+00,+2.40e+00 1 - 547 22 -2.41e-01,-3.52e-01,-3.14e+01,+3.14e+01 1 -Vertex: -186 ID: 0 (X,cT)=+4.99e-06,-7.81e-06,-4.87e-04,+4.87e-04 - I: 1 364 111 +7.55e-02,-1.18e-01,-7.35e+00,+7.36e+00 2 -186 - O: 3 548 22 -7.69e-03,-3.50e-03,-3.43e+00,+3.43e+00 1 - 549 11 +3.80e-02,-5.45e-02,-1.98e+00,+1.99e+00 1 - 550 -11 +4.52e-02,-6.00e-02,-1.94e+00,+1.94e+00 1 -Vertex: -187 ID: 0 (X,cT)=-3.39e-06,-5.26e-06,-1.10e-03,+1.10e-03 - I: 1 372 111 -6.13e-02,-9.53e-02,-1.99e+01,+1.99e+01 2 -187 - O: 2 551 22 +3.73e-02,+2.39e-03,-4.50e+00,+4.50e+00 1 - 552 22 -9.86e-02,-9.77e-02,-1.54e+01,+1.54e+01 1 -Vertex: -188 ID: 0 (X,cT)=-4.64e-06,+5.62e-06,+2.46e-05,+2.68e-05 - I: 1 379 111 -7.99e-02,+9.68e-02,+4.23e-01,+4.62e-01 2 -188 - O: 2 553 22 -6.55e-03,+1.04e-01,+1.84e-01,+2.11e-01 1 - 554 22 -7.33e-02,-6.90e-03,+2.39e-01,+2.50e-01 1 -Vertex: -189 ID: 0 (X,cT)=-4.97e-05,+1.48e-05,+2.90e-04,+2.95e-04 - I: 1 381 111 -3.23e-01,+9.61e-02,+1.88e+00,+1.91e+00 2 -189 - O: 2 555 22 -1.22e-01,-2.90e-02,+7.14e-01,+7.25e-01 1 - 556 22 -2.00e-01,+1.25e-01,+1.16e+00,+1.19e+00 1 -Vertex: -190 ID: 0 (X,cT)=+4.11e-06,-1.39e-06,+1.15e-04,+1.15e-04 - I: 1 386 111 +1.99e-01,-6.72e-02,+5.57e+00,+5.57e+00 2 -190 - O: 2 557 22 +9.39e-02,+3.48e-02,+1.85e+00,+1.85e+00 1 - 558 22 +1.05e-01,-1.02e-01,+3.72e+00,+3.72e+00 1 -GenVertex: -191 ID: 0 (X,cT):0 - I: 1 388 113 +8.30e-02,-2.83e-01,+1.61e+01,+1.61e+01 2 -191 - O: 2 559 211 +2.80e-01,-4.59e-01,+9.99e+00,+1.00e+01 1 - 560 -211 -1.97e-01,+1.77e-01,+6.12e+00,+6.13e+00 1 -Vertex: -192 ID: 0 (X,cT)=-3.81e+00,+2.43e+00,-3.67e+01,+3.70e+01 - I: 1 397 323 -2.16e+01,+1.35e+01,-2.09e+02,+2.11e+02 2 -192 - O: 2 561 311 -1.87e+01,+1.16e+01,-1.82e+02,+1.84e+02 2 -216 - 562 211 -2.87e+00,+1.93e+00,-2.71e+01,+2.73e+01 1 -GenVertex: -193 ID: 0 (X,cT):0 - I: 1 399 -311 -4.47e-01,+3.05e-01,-6.33e+00,+6.37e+00 2 -193 - O: 1 563 310 -4.47e-01,+3.05e-01,-6.33e+00,+6.37e+00 2 -217 -Vertex: -194 ID: 0 (X,cT)=-3.15e-04,+1.64e-04,-3.28e-03,+3.30e-03 - I: 1 400 111 -1.24e+00,+6.47e-01,-1.29e+01,+1.30e+01 2 -194 - O: 2 564 22 -2.94e-01,+1.77e-01,-3.70e+00,+3.71e+00 1 - 565 22 -9.48e-01,+4.69e-01,-9.23e+00,+9.29e+00 1 -GenVertex: -195 ID: 0 (X,cT):0 - I: 1 401 311 -9.33e-01,+9.63e-01,-1.12e+01,+1.13e+01 2 -195 - O: 1 566 310 -9.33e-01,+9.63e-01,-1.12e+01,+1.13e+01 2 -218 -Vertex: -196 ID: 0 (X,cT)=-6.57e-06,+3.84e-06,-3.95e-05,+4.09e-05 - I: 1 404 111 -1.17e-01,+6.82e-02,-7.01e-01,+7.26e-01 2 -196 - O: 2 567 22 +1.75e-02,+4.41e-02,-2.82e-01,+2.86e-01 1 - 568 22 -1.34e-01,+2.41e-02,-4.19e-01,+4.40e-01 1 -Vertex: -197 ID: 0 (X,cT)=-4.47e-05,-7.78e-05,+3.13e-05,+9.80e-05 - I: 1 410 111 -2.51e-01,-4.37e-01,+1.76e-01,+5.51e-01 2 -197 - O: 2 569 22 -1.16e-01,-2.11e-01,+1.32e-02,+2.41e-01 1 - 570 22 -1.36e-01,-2.27e-01,+1.63e-01,+3.10e-01 1 -Vertex: -198 ID: 0 (X,cT)=-4.20e-06,+2.71e-05,+4.10e-05,+4.99e-05 - I: 1 412 111 -7.90e-02,+5.11e-01,+7.72e-01,+9.39e-01 2 -198 - O: 2 571 22 -9.13e-02,+4.77e-01,+7.59e-01,+9.01e-01 1 - 572 22 +1.23e-02,+3.33e-02,+1.37e-02,+3.81e-02 1 -Vertex: -199 ID: 0 (X,cT)=+2.92e-05,+4.15e-05,-5.58e-06,+5.45e-05 - I: 1 416 111 +2.06e-01,+2.93e-01,-3.94e-02,+3.85e-01 2 -199 - O: 2 573 22 +2.03e-01,+2.67e-01,-7.22e-02,+3.43e-01 1 - 574 22 +3.43e-03,+2.63e-02,+3.28e-02,+4.22e-02 1 -Vertex: -200 ID: 0 (X,cT)=-2.16e-05,+1.04e-05,+8.87e-06,+2.79e-05 - I: 1 420 111 -2.59e-01,+1.24e-01,+1.06e-01,+3.34e-01 2 -200 - O: 2 575 22 -3.89e-02,+8.36e-02,+4.53e-02,+1.03e-01 1 - 576 22 -2.20e-01,+4.05e-02,+6.09e-02,+2.32e-01 1 -Vertex: -201 ID: 0 (X,cT)=-5.59e-05,+5.21e-05,+8.09e-04,+8.13e-04 - I: 1 422 111 -3.29e-01,+3.07e-01,+4.76e+00,+4.78e+00 2 -201 - O: 2 577 22 -2.64e-01,+1.59e-01,+3.14e+00,+3.16e+00 1 - 578 22 -6.51e-02,+1.48e-01,+1.62e+00,+1.62e+00 1 -Vertex: -202 ID: 0 (X,cT)=+2.56e-05,-2.90e-06,+8.11e-06,+2.82e-05 - I: 1 427 111 +4.14e-01,-4.69e-02,+1.31e-01,+4.58e-01 2 -202 - O: 2 579 22 +4.15e-01,-2.52e-02,+1.20e-01,+4.33e-01 1 - 580 22 -9.68e-04,-2.17e-02,+1.13e-02,+2.45e-02 1 -Vertex: -203 ID: 0 (X,cT)=-9.79e-05,+5.68e-05,+6.63e-05,+1.32e-04 - I: 1 431 111 -7.34e-01,+4.26e-01,+4.97e-01,+9.93e-01 2 -203 - O: 2 581 22 -3.41e-01,+2.71e-01,+2.25e-01,+4.90e-01 1 - 582 22 -3.94e-01,+1.56e-01,+2.73e-01,+5.03e-01 1 -Vertex: -204 ID: 0 (X,cT)=+1.01e-05,-5.45e-05,-6.08e-06,+5.98e-05 - I: 1 434 111 +6.29e-02,-3.41e-01,-3.80e-02,+3.74e-01 2 -204 - O: 2 583 22 +5.58e-02,-8.25e-02,+3.46e-02,+1.05e-01 1 - 584 22 +7.11e-03,-2.58e-01,-7.26e-02,+2.69e-01 1 -Vertex: -205 ID: 0 (X,cT)=-3.75e-05,-4.46e-06,+3.21e-06,+5.29e-05 - I: 1 437 111 -1.37e-01,-1.63e-02,+1.18e-02,+1.94e-01 2 -205 - O: 2 585 22 -9.46e-02,+4.14e-02,+4.73e-02,+1.14e-01 1 - 586 22 -4.29e-02,-5.77e-02,-3.55e-02,+8.02e-02 1 -Vertex: -206 ID: 0 (X,cT)=+1.58e-01,-6.64e-02,-8.93e-01,+9.27e-01 - I: 1 438 10323 +8.73e-01,-6.30e-01,-7.46e+00,+7.64e+00 2 -206 - O: 2 587 321 +3.86e-01,-2.73e-01,-2.92e+00,+3.00e+00 1 - 588 223 +4.87e-01,-3.58e-01,-4.53e+00,+4.64e+00 2 -219 -Vertex: -207 ID: 0 (X,cT)=+6.34e+00,+1.12e+01,-3.83e+01,+4.12e+01 - I: 1 442 310 +3.84e-01,+6.75e-01,-2.32e+00,+2.49e+00 2 -207 - O: 2 589 -211 +1.48e-01,+5.93e-01,-1.74e+00,+1.85e+00 1 - 590 211 +2.36e-01,+8.15e-02,-5.72e-01,+6.40e-01 1 -Vertex: -208 ID: 0 (X,cT)=+6.83e+00,+2.32e+01,-1.43e+02,+1.45e+02 - I: 1 443 310 +4.92e-01,+1.67e+00,-1.03e+01,+1.05e+01 2 -208 - O: 2 591 211 +2.44e-01,+1.36e+00,-7.90e+00,+8.02e+00 1 - 592 -211 +2.48e-01,+3.05e-01,-2.40e+00,+2.43e+00 1 -Vertex: -209 ID: 0 (X,cT)=+9.00e-01,-4.13e-01,-2.42e+00,+2.63e+00 - I: 1 461 -313 +3.33e+00,-1.55e+00,-7.24e+00,+8.16e+00 2 -209 - O: 2 593 -321 +2.28e+00,-1.05e+00,-5.51e+00,+6.07e+00 1 - 594 211 +1.05e+00,-5.07e-01,-1.73e+00,+2.09e+00 1 -Vertex: -210 ID: 0 (X,cT)=+9.00e-01,-4.13e-01,-2.42e+00,+2.63e+00 - I: 1 462 111 +2.92e+00,-1.31e+00,-9.56e+00,+1.01e+01 2 -210 - O: 2 595 22 +2.61e+00,-1.13e+00,-8.44e+00,+8.90e+00 1 - 596 22 +3.12e-01,-1.85e-01,-1.12e+00,+1.18e+00 1 -Vertex: -211 ID: 0 (X,cT)=+1.16e-05,-1.47e-05,-9.04e-06,+2.29e-05 - I: 1 469 111 +1.61e-01,-2.04e-01,-1.26e-01,+3.19e-01 2 -211 - O: 2 597 22 +1.53e-02,-6.02e-02,-9.24e-02,+1.11e-01 1 - 598 22 +1.46e-01,-1.44e-01,-3.35e-02,+2.08e-01 1 -Vertex: -212 ID: 0 (X,cT)=+4.54e-05,+4.92e-05,+5.89e-04,+5.93e-04 - I: 1 500 111 +3.73e-01,+4.04e-01,+4.84e+00,+4.87e+00 2 -212 - O: 2 599 22 +6.24e-02,+9.07e-02,+5.92e-01,+6.02e-01 1 - 600 22 +3.10e-01,+3.13e-01,+4.25e+00,+4.27e+00 1 -Vertex: -213 ID: 0 (X,cT)=+1.06e-05,+1.77e-05,+2.45e-04,+2.46e-04 - I: 1 501 111 +4.30e-01,+7.17e-01,+9.92e+00,+9.96e+00 2 -213 - O: 2 601 22 +2.70e-01,+3.42e-01,+4.68e+00,+4.70e+00 1 - 602 22 +1.60e-01,+3.75e-01,+5.24e+00,+5.26e+00 1 -Vertex: -214 ID: 0 (X,cT)=+3.42e-05,+3.55e-05,+6.36e-04,+6.39e-04 - I: 1 502 111 +1.53e-01,+1.59e-01,+2.85e+00,+2.86e+00 2 -214 - O: 2 603 22 +1.66e-01,+9.32e-02,+2.21e+00,+2.21e+00 1 - 604 22 -1.33e-02,+6.57e-02,+6.40e-01,+6.43e-01 1 -Vertex: -215 ID: 0 (X,cT)=+2.34e+01,+2.39e+01,-3.53e+02,+3.55e+02 - I: 1 539 310 +4.98e-01,+5.10e-01,-7.52e+00,+7.57e+00 2 -215 - O: 2 605 -211 -2.61e-02,+1.43e-01,-1.27e+00,+1.29e+00 1 - 606 211 +5.24e-01,+3.67e-01,-6.25e+00,+6.28e+00 1 -Vertex: -216 ID: 0 (X,cT)=-3.81e+00,+2.43e+00,-3.67e+01,+3.70e+01 - I: 1 561 311 -1.87e+01,+1.16e+01,-1.82e+02,+1.84e+02 2 -216 - O: 1 607 130 -1.87e+01,+1.16e+01,-1.82e+02,+1.84e+02 1 -Vertex: -217 ID: 0 (X,cT)=-8.57e+01,+5.84e+01,-1.21e+03,+1.22e+03 - I: 1 563 310 -4.47e-01,+3.05e-01,-6.33e+00,+6.37e+00 2 -217 - O: 2 608 111 -3.60e-01,+3.29e-01,-3.33e+00,+3.37e+00 2 -220 - 609 111 -8.72e-02,-2.40e-02,-2.99e+00,+3.00e+00 2 -221 -Vertex: -218 ID: 0 (X,cT)=-1.70e+00,+1.75e+00,-2.03e+01,+2.05e+01 - I: 1 566 310 -9.33e-01,+9.63e-01,-1.12e+01,+1.13e+01 2 -218 - O: 2 610 111 -1.61e-01,+2.25e-01,-1.49e+00,+1.52e+00 2 -222 - 611 111 -7.72e-01,+7.38e-01,-9.69e+00,+9.75e+00 2 -223 -Vertex: -219 ID: 0 (X,cT)=+1.58e-01,-6.64e-02,-8.93e-01,+9.27e-01 - I: 1 588 223 +4.87e-01,-3.58e-01,-4.53e+00,+4.64e+00 2 -219 - O: 3 612 -211 +3.21e-01,-2.23e-01,-1.77e+00,+1.82e+00 1 - 613 211 +1.03e-01,-2.97e-01,-2.00e+00,+2.03e+00 1 - 614 111 +6.30e-02,+1.63e-01,-7.63e-01,+7.94e-01 2 -224 -Vertex: -220 ID: 0 (X,cT)=-8.57e+01,+5.84e+01,-1.21e+03,+1.22e+03 - I: 1 608 111 -3.60e-01,+3.29e-01,-3.33e+00,+3.37e+00 2 -220 - O: 2 615 22 -3.26e-01,+2.76e-01,-3.12e+00,+3.15e+00 1 - 616 22 -3.41e-02,+5.33e-02,-2.15e-01,+2.24e-01 1 -Vertex: -221 ID: 0 (X,cT)=-8.57e+01,+5.84e+01,-1.21e+03,+1.22e+03 - I: 1 609 111 -8.72e-02,-2.40e-02,-2.99e+00,+3.00e+00 2 -221 - O: 2 617 22 -1.01e-01,+2.75e-02,-2.29e+00,+2.30e+00 1 - 618 22 +1.37e-02,-5.15e-02,-7.01e-01,+7.03e-01 1 -Vertex: -222 ID: 0 (X,cT)=-1.70e+00,+1.75e+00,-2.03e+01,+2.05e+01 - I: 1 610 111 -1.61e-01,+2.25e-01,-1.49e+00,+1.52e+00 2 -222 - O: 2 619 22 -7.30e-02,+2.04e-01,-1.01e+00,+1.03e+00 1 - 620 22 -8.76e-02,+2.04e-02,-4.77e-01,+4.85e-01 1 -Vertex: -223 ID: 0 (X,cT)=-1.70e+00,+1.75e+00,-2.03e+01,+2.05e+01 - I: 1 611 111 -7.72e-01,+7.38e-01,-9.69e+00,+9.75e+00 2 -223 - O: 2 621 22 -6.72e-01,+5.71e-01,-7.86e+00,+7.91e+00 1 - 622 22 -1.00e-01,+1.67e-01,-1.82e+00,+1.83e+00 1 -Vertex: -224 ID: 0 (X,cT)=+1.58e-01,-6.64e-02,-8.93e-01,+9.27e-01 - I: 1 614 111 +6.30e-02,+1.63e-01,-7.63e-01,+7.94e-01 2 -224 - O: 2 623 22 -8.72e-03,-2.00e-02,-1.18e-01,+1.20e-01 1 - 624 22 +7.17e-02,+1.83e-01,-6.45e-01,+6.74e-01 1 -________________________________________________________________________________ - Print out hit information ------------------------------------------- -*** Muon System Hit (#hits=34) -E1 : pi+ : pT=0.239 : TOF=26.7 : x=(-0.0908,-1.2,-7.9) -E1 : pi- : pT=0.194 : TOF=30.5 : x=(2.29,1.26,-7.9) -E1 : e- : pT=0.000396 : TOF=35.7 : x=(3.95,1.48,-7.9) -E1 : mu- : pT=0.96 : TOF=29.2 : x=(3.51,-1.01,-7.9) -E1 : pi- : pT=0.13 : TOF=26.7 : x=(0.493,1.02,-7.9) -E1 : pi+ : pT=1.55 : TOF=26.8 : x=(0.345,1.46,-7.9) -E1 : pi- : pT=0.0596 : TOF=28.3 : x=(-0.413,1.85,-7.9) -E1 : kaon+ : pT=0.407 : TOF=27.1 : x=(0.493,-1.02,-7.9) -E1 : pi+ : pT=3.45 : TOF=26.6 : x=(-0.82,0.586,-7.9) -E0 : pi+ : pT=0.346 : TOF=27.3 : x=(-0.408,-2.07,7.9) -E0 : kaon+ : pT=0.356 : TOF=28.3 : x=(-1.08,1.71,7.9) -E0 : pi- : pT=0.17 : TOF=26.9 : x=(0.916,0.779,7.9) -E0 : pi+ : pT=0.39 : TOF=26.7 : x=(0.936,0.768,7.9) -E0 : pi- : pT=0.108 : TOF=28.1 : x=(-1.12,-0.804,7.9) -E1 : pi- : pT=2.42 : TOF=26.6 : x=(-0.884,0.475,-7.9) -E1 : mu- : pT=1.75 : TOF=26.6 : x=(-0.885,0.571,-7.9) -E0 : pi- : pT=0.0974 : TOF=27 : x=(-1.04,-0.93,7.9) -E1 : pi- : pT=0.515 : TOF=27 : x=(0.613,1.51,-7.9) -E1 : e- : pT=0.000203 : TOF=27.8 : x=(0.615,1.58,-8.1) -E1 : pi+ : pT=0.355 : TOF=27.1 : x=(-0.0678,0.998,-8.06) -E1 : e- : pT=7.12e-05 : TOF=27.2 : x=(-0.0803,0.997,-8.04) -E1 : pi- : pT=0.391 : TOF=28.1 : x=(-0.769,2.77,-7.9) -E0 : pi- : pT=1.99 : TOF=29.8 : x=(-1.42,-3.77,7.9) -E0 : pi+ : pT=0.0878 : TOF=27.4 : x=(0.315,-1.11,7.9) -B5 : e- : pT=0.000483 : TOF=38.4 : x=(-2.11,-4.04,7) -E1 : pi+ : pT=0.565 : TOF=29 : x=(2.31,2.43,-7.9) -E1 : pi+ : pT=0.194 : TOF=27.6 : x=(1.73,-0.344,-7.9) -E1 : pi+ : pT=0.67 : TOF=28.3 : x=(0.898,2.9,-7.9) -E1 : pi- : pT=0.816 : TOF=27.1 : x=(0.205,1.74,-7.9) -B0 : kaon- : pT=1.1 : TOF=27.2 : x=(4.25,-1.34,-6.66) -E0 : e- : pT=0.00218 : TOF=26.8 : x=(1.07,-0.431,7.9) -E1 : pi+ : pT=0.0914 : TOF=27.6 : x=(0.255,1.81,-7.9) -B6 : pi- : pT=0.746 : TOF=15.3 : x=(-1.15,-4.25,0.915) -E0 : pi+ : pT=0.5 : TOF=27.4 : x=(1.15,-1.16,7.9) - -________________________________________________________________________________ -GenEvent: #3 ID=20 SignalProcessGenVertex Barcode: 0 - Current Memory Usage: 1 events, 102 vertices, 280 particles. - Entries this event: 102 vertices, 280 particles. - RndmState(0)= - Wgts(0)= - EventScale -1 [energy] alphaQCD=-1 alphaQED=-1 - GenParticle Legend - Barcode PDG ID ( Px, Py, Pz, E ) Stat DecayVtx -________________________________________________________________________________ -GenVertex: -1 ID: 0 (X,cT):0 - I: 1 1 2212 +0.00e+00,+0.00e+00,+7.00e+03,+7.00e+03 3 -1 - O: 3 15 2 +3.93e-01,-4.42e-01,+2.02e+01,+2.03e+01 2 -11 - 14 2101 -9.42e-01,+2.17e-01,+6.53e+03,+6.53e+03 2 -9 - 3 21 +5.50e-01,+2.26e-01,+5.57e+01,+5.57e+01 3 -3 -GenVertex: -2 ID: 0 (X,cT):0 - I: 1 2 2212 +0.00e+00,+0.00e+00,-7.00e+03,+7.00e+03 3 -2 - O: 2 29 2203 +2.49e+00,+5.11e-01,-5.57e+03,+5.57e+03 2 -11 - 4 1 -2.49e+00,-5.11e-01,-1.27e+03,+1.27e+03 3 -4 -GenVertex: -3 ID: 0 (X,cT):0 - I: 1 3 21 +5.50e-01,+2.26e-01,+5.57e+01,+5.57e+01 3 -3 - O: 4 17 21 -1.67e-01,+9.43e-01,-4.22e+00,+4.33e+00 2 -11 - 13 2 -1.06e+00,+5.40e-01,+6.25e-01,+1.38e+00 2 -9 - 16 21 +1.28e+00,-8.74e-01,+5.02e+01,+5.02e+01 2 -11 - 5 -2 +5.15e-01,-3.71e-01,+4.37e+00,+4.41e+00 3 -5 -GenVertex: -4 ID: 0 (X,cT):0 - I: 1 4 1 -2.49e+00,-5.11e-01,-1.27e+03,+1.27e+03 3 -4 - O: 7 26 21 -3.65e+00,+1.06e+00,-1.44e+02,+1.44e+02 2 -11 - 27 21 -8.57e-01,+1.30e+00,-8.64e+01,+8.64e+01 2 -11 - 28 21 +2.10e-01,-2.36e-01,-5.04e+02,+5.04e+02 2 -11 - 6 1 +2.57e+00,+4.38e-01,-4.63e+02,+4.63e+02 3 -5 - 23 21 -6.21e-01,-2.83e+00,-4.24e+01,+4.25e+01 2 -11 - 24 21 -1.09e-01,+2.50e-02,-1.28e+01,+1.28e+01 2 -11 - 25 21 -4.72e-02,-2.81e-01,-7.30e+00,+7.31e+00 2 -11 -GenVertex: -5 ID: 0 (X,cT):0 - I: 2 6 1 +2.57e+00,+4.38e-01,-4.63e+02,+4.63e+02 3 -5 - 5 -2 +5.15e-01,-3.71e-01,+4.37e+00,+4.41e+00 3 -5 - O: 2 8 -24 +2.48e+00,-4.66e+00,-4.53e+02,+4.60e+02 3 -7 - 7 22 +6.11e-01,+4.73e+00,-5.78e+00,+7.50e+00 3 -6 -GenVertex: -6 ID: 0 (X,cT):0 - I: 1 7 22 +6.11e-01,+4.73e+00,-5.78e+00,+7.50e+00 3 -6 - O: 1 9 22 +6.11e-01,+4.73e+00,-5.78e+00,+7.50e+00 1 -GenVertex: -7 ID: 0 (X,cT):0 - I: 1 8 -24 +2.48e+00,-4.66e+00,-4.53e+02,+4.60e+02 3 -7 - O: 1 10 -24 +2.48e+00,-4.66e+00,-4.53e+02,+4.60e+02 2 -8 -GenVertex: -8 ID: 0 (X,cT):0 - I: 1 10 -24 +2.48e+00,-4.66e+00,-4.53e+02,+4.60e+02 2 -8 - O: 2 12 -14 -9.19e+00,-3.92e+01,-1.68e+02,+1.73e+02 1 - 11 13 +1.17e+01,+3.45e+01,-2.85e+02,+2.87e+02 1 -GenVertex: -9 ID: 0 (X,cT):0 - I: 2 14 2101 -9.42e-01,+2.17e-01,+6.53e+03,+6.53e+03 2 -9 - 13 2 -1.06e+00,+5.40e-01,+6.25e-01,+1.38e+00 2 -9 - O: 1 35 92 -2.00e+00,+7.56e-01,+6.53e+03,+6.54e+03 2 -10 -GenVertex: -10 ID: 0 (X,cT):0 - I: 1 35 92 -2.00e+00,+7.56e-01,+6.53e+03,+6.54e+03 2 -10 - O: 9 37 333 -1.11e+00,+1.44e-01,+2.44e+00,+2.87e+00 2 -17 - 38 -321 +5.75e-01,-1.63e-01,+3.07e+00,+3.17e+00 1 - 39 323 -4.93e-01,+1.18e-01,+1.14e+01,+1.14e+01 2 -18 - 40 333 +4.67e-02,-1.10e-02,+6.10e+01,+6.10e+01 2 -19 - 41 -313 +6.61e-02,+2.00e-01,+1.02e+02,+1.02e+02 2 -20 - 42 -211 +6.62e-01,+2.34e-03,+1.91e+01,+1.92e+01 1 - 43 213 -1.13e+00,+2.68e-01,+8.99e+02,+8.99e+02 2 -21 - 44 2112 -3.44e-01,+2.18e-02,+5.44e+03,+5.44e+03 1 - 36 321 -2.73e-01,+1.76e-01,+9.69e-01,+1.13e+00 1 -GenVertex: -11 ID: 0 (X,cT):0 - I:15 26 21 -3.65e+00,+1.06e+00,-1.44e+02,+1.44e+02 2 -11 - 27 21 -8.57e-01,+1.30e+00,-8.64e+01,+8.64e+01 2 -11 - 28 21 +2.10e-01,-2.36e-01,-5.04e+02,+5.04e+02 2 -11 - 15 2 +3.93e-01,-4.42e-01,+2.02e+01,+2.03e+01 2 -11 - 17 21 -1.67e-01,+9.43e-01,-4.22e+00,+4.33e+00 2 -11 - 23 21 -6.21e-01,-2.83e+00,-4.24e+01,+4.25e+01 2 -11 - 24 21 -1.09e-01,+2.50e-02,-1.28e+01,+1.28e+01 2 -11 - 29 2203 +2.49e+00,+5.11e-01,-5.57e+03,+5.57e+03 2 -11 - 16 21 +1.28e+00,-8.74e-01,+5.02e+01,+5.02e+01 2 -11 - 25 21 -4.72e-02,-2.81e-01,-7.30e+00,+7.31e+00 2 -11 - 18 21 +9.34e-01,+2.91e+00,+1.97e+01,+2.00e+01 2 -11 - 19 21 -2.14e+00,+4.17e+00,-2.51e+00,+5.32e+00 2 -11 - 20 21 +2.14e+00,-4.17e+00,-7.24e+00,+8.62e+00 2 -11 - 21 21 +2.68e+00,-1.72e+00,-3.07e+01,+3.09e+01 2 -11 - 22 21 -2.68e+00,+1.72e+00,-1.05e+02,+1.05e+02 2 -11 - O: 1 45 92 -1.50e-01,+2.09e+00,-6.43e+03,+6.61e+03 2 -12 -GenVertex: -12 ID: 0 (X,cT):0 - I: 1 45 92 -1.50e-01,+2.09e+00,-6.43e+03,+6.61e+03 2 -12 - O:44 72 213 +4.81e-01,-1.41e-01,-1.37e+01,+1.37e+01 2 -40 - 81 211 -1.23e+00,+5.35e-01,-3.48e+01,+3.49e+01 1 - 82 311 -1.74e-02,+2.33e-01,-6.04e+01,+6.04e+01 2 -45 - 83 -323 -5.63e-01,-7.34e-02,-1.48e+02,+1.48e+02 2 -46 - 73 111 -6.69e-01,+1.78e-01,-1.87e+01,+1.87e+01 2 -41 - 75 2212 -3.93e-01,+8.27e-02,-3.98e+01,+3.98e+01 1 - 47 113 +6.88e-02,-1.41e-01,+2.65e+01,+2.66e+01 2 -22 - 76 -2212 -6.65e-01,+6.91e-02,-2.61e+01,+2.61e+01 1 - 77 3224 -4.07e-01,-1.66e+00,-3.45e+01,+3.46e+01 2 -43 - 78 311 -2.78e-01,+5.33e-02,-1.90e+01,+1.90e+01 2 -44 - 79 -2112 -1.86e+00,+2.64e-01,-6.69e+01,+6.69e+01 1 - 80 -211 -4.20e-01,-6.99e-02,-4.46e+01,+4.47e+01 1 - 85 113 +1.80e-02,+8.34e-01,-6.47e+02,+6.47e+02 2 -47 - 84 211 -1.34e-01,-9.12e-02,-7.11e+00,+7.11e+00 1 - 86 -211 +2.67e-01,-2.79e-01,-5.20e+02,+5.20e+02 1 - 87 213 +3.40e-01,+1.94e-01,-1.02e+03,+1.02e+03 2 -48 - 48 -211 -3.37e-01,-1.68e-01,+9.43e+00,+9.44e+00 1 - 88 2214 +5.67e-01,+9.88e-02,-8.80e+02,+8.80e+02 2 -49 - 46 211 +1.39e+00,-8.14e-01,+3.12e+01,+3.13e+01 1 - 71 -321 -2.78e-01,+3.30e-01,-8.84e+00,+8.87e+00 1 - 49 113 +6.00e-01,-2.67e-01,+2.22e+00,+2.44e+00 2 -23 - 50 323 -3.07e-01,-6.12e-02,-1.42e-02,+9.76e-01 2 -24 - 51 -313 +1.43e-02,+4.68e-01,-3.88e-01,+1.12e+00 2 -25 - 89 223 +1.23e+00,+3.33e-01,-2.87e+03,+2.87e+03 2 -50 - 52 111 +8.08e-02,-1.35e-02,-7.15e-01,+7.33e-01 2 -26 - 53 113 -2.30e-01,+1.48e-01,-1.62e+00,+1.84e+00 2 -27 - 54 223 +3.60e-01,+7.58e-01,+8.72e-01,+1.44e+00 2 -28 - 55 113 +1.21e-01,+1.16e-01,+9.83e-01,+1.26e+00 2 -29 - 56 -213 +8.69e-02,+1.01e+00,+7.42e+00,+7.52e+00 2 -30 - 57 323 +1.76e-01,+4.23e-01,+1.93e+00,+2.16e+00 2 -31 - 58 -321 +1.93e-01,+1.97e-01,+6.13e+00,+6.16e+00 1 - 59 223 -2.63e-01,+7.90e-01,+6.47e-01,+1.31e+00 2 -32 - 60 213 +1.35e-01,+1.08e+00,+5.74e-01,+1.37e+00 2 -33 - 61 -211 -1.05e+00,+1.11e+00,-1.21e-01,+1.54e+00 1 - 62 213 -9.08e-02,+5.82e-01,-1.54e+00,+1.76e+00 2 -34 - 63 221 +1.94e-01,-2.74e-01,-2.66e-01,+6.95e-01 2 -35 - 64 -213 +2.31e-01,+2.74e-01,-1.31e+00,+1.58e+00 2 -36 - 65 213 -4.52e-01,+2.86e-01,-1.23e+00,+1.57e+00 2 -37 - 66 2114 +9.53e-01,-6.69e-01,-3.09e+00,+3.53e+00 2 -38 - 67 211 -1.36e-01,-6.50e-01,-8.86e-01,+1.12e+00 1 - 68 -2212 +8.49e-01,-2.09e+00,-5.29e+00,+5.82e+00 1 - 69 -211 +1.20e-01,+2.39e-01,-1.06e+00,+1.10e+00 1 - 70 323 +1.48e+00,-9.63e-01,-1.55e+01,+1.56e+01 2 -39 - 74 -213 -3.45e-01,-1.71e-01,-1.77e+01,+1.77e+01 2 -42 -GenVertex: -13 ID: 0 (X,cT):0 - I: 3 30 21 -3.00e+00,+2.35e+00,+2.36e+02,+2.36e+02 2 -13 - 32 21 +3.00e+00,-2.35e+00,+2.97e+01,+3.00e+01 2 -13 - 31 21 -9.34e-01,-2.91e+00,+1.02e+02,+1.02e+02 2 -13 - O: 1 90 92 -9.34e-01,-2.91e+00,+3.67e+02,+3.67e+02 2 -14 -GenVertex: -14 ID: 0 (X,cT):0 - I: 1 90 92 -9.34e-01,-2.91e+00,+3.67e+02,+3.67e+02 2 -14 - O:11 93 -311 -2.08e-02,-2.14e-01,+2.11e+01,+2.11e+01 2 -51 - 94 313 -3.62e-01,+5.42e-01,+5.03e+01,+5.03e+01 2 -52 - 98 111 +4.23e-01,-2.45e-01,+3.08e+00,+3.12e+00 2 -55 - 95 213 -8.94e-01,-3.47e-01,+5.52e+01,+5.52e+01 2 -53 - 92 -211 -1.30e+00,+8.92e-01,+8.32e+01,+8.33e+01 1 - 96 113 -1.28e-01,-1.56e-01,+3.41e+01,+3.41e+01 2 -54 - 97 -211 -5.72e-01,-9.49e-01,+3.99e+01,+3.99e+01 1 - 99 -2112 +1.14e+00,-1.49e+00,+2.49e+01,+2.50e+01 1 - 100 2112 +5.39e-01,-8.02e-01,+1.40e+01,+1.41e+01 1 - 101 223 +1.06e+00,-1.22e-01,+2.53e+01,+2.53e+01 2 -56 - 91 211 -8.24e-01,-1.45e-02,+1.59e+01,+1.59e+01 1 -GenVertex: -15 ID: 0 (X,cT):0 - I: 2 34 21 -1.02e+00,+2.88e+00,-7.45e+00,+8.05e+00 2 -15 - 33 21 +1.02e+00,-2.88e+00,-9.85e+00,+1.03e+01 2 -15 - O: 1 102 92 +0.00e+00,+0.00e+00,-1.73e+01,+1.84e+01 2 -16 -GenVertex: -16 ID: 0 (X,cT):0 - I: 1 102 92 +0.00e+00,+0.00e+00,-1.73e+01,+1.84e+01 2 -16 - O: 7 105 213 +1.78e-01,+3.27e-01,-2.62e+00,+2.77e+00 2 -59 - 106 111 +1.94e-01,-8.30e-01,-1.78e+00,+1.98e+00 2 -60 - 109 113 -5.13e-01,+2.04e-01,-2.60e+00,+2.77e+00 2 -62 - 103 113 +2.54e-01,-1.28e-01,-3.69e+00,+3.77e+00 2 -57 - 104 223 -7.85e-02,+4.34e-02,-9.82e-01,+1.26e+00 2 -58 - 107 -211 -2.88e-01,+5.23e-01,-3.10e+00,+3.16e+00 1 - 108 223 +2.53e-01,-1.38e-01,-2.52e+00,+2.66e+00 2 -61 -GenVertex: -17 ID: 0 (X,cT):0 - I: 1 37 333 -1.11e+00,+1.44e-01,+2.44e+00,+2.87e+00 2 -17 - O: 2 110 321 -5.35e-01,-4.15e-03,+1.39e+00,+1.57e+00 1 - 111 -321 -5.74e-01,+1.48e-01,+1.05e+00,+1.30e+00 1 -GenVertex: -18 ID: 0 (X,cT):0 - I: 1 39 323 -4.93e-01,+1.18e-01,+1.14e+01,+1.14e+01 2 -18 - O: 2 113 211 -3.29e-01,+3.86e-02,+3.09e+00,+3.12e+00 1 - 112 311 -1.65e-01,+7.95e-02,+8.26e+00,+8.27e+00 2 -63 -GenVertex: -19 ID: 0 (X,cT):0 - I: 1 40 333 +4.67e-02,-1.10e-02,+6.10e+01,+6.10e+01 2 -19 - O: 2 114 321 -8.91e-02,+3.84e-02,+3.21e+01,+3.21e+01 1 - 115 -321 +1.36e-01,-4.94e-02,+2.89e+01,+2.89e+01 1 -GenVertex: -20 ID: 0 (X,cT):0 - I: 1 41 -313 +6.61e-02,+2.00e-01,+1.02e+02,+1.02e+02 2 -20 - O: 2 116 -311 -2.08e-01,+2.83e-01,+4.52e+01,+4.53e+01 2 -64 - 117 111 +2.74e-01,-8.21e-02,+5.65e+01,+5.65e+01 2 -65 -GenVertex: -21 ID: 0 (X,cT):0 - I: 1 43 213 -1.13e+00,+2.68e-01,+8.99e+02,+8.99e+02 2 -21 - O: 2 118 211 -1.03e+00,+4.32e-01,+6.38e+02,+6.38e+02 1 - 119 111 -1.00e-01,-1.65e-01,+2.61e+02,+2.61e+02 2 -66 -GenVertex: -22 ID: 0 (X,cT):0 - I: 1 47 113 +6.88e-02,-1.41e-01,+2.65e+01,+2.66e+01 2 -22 - O: 2 120 -211 +2.55e-01,-1.00e-02,+2.33e+01,+2.33e+01 1 - 121 211 -1.86e-01,-1.31e-01,+3.23e+00,+3.24e+00 1 -GenVertex: -23 ID: 0 (X,cT):0 - I: 1 49 113 +6.00e-01,-2.67e-01,+2.22e+00,+2.44e+00 2 -23 - O: 2 122 211 +7.62e-01,-2.15e-01,+1.64e+00,+1.83e+00 1 - 123 -211 -1.62e-01,-5.17e-02,+5.74e-01,+6.14e-01 1 -GenVertex: -24 ID: 0 (X,cT):0 - I: 1 50 323 -3.07e-01,-6.12e-02,-1.42e-02,+9.76e-01 2 -24 - O: 2 125 211 +1.40e-01,+1.66e-01,+6.23e-02,+2.65e-01 1 - 124 311 -4.48e-01,-2.27e-01,-7.65e-02,+7.11e-01 2 -67 -GenVertex: -25 ID: 0 (X,cT):0 - I: 1 51 -313 +1.43e-02,+4.68e-01,-3.88e-01,+1.12e+00 2 -25 - O: 2 126 -321 -2.60e-02,+2.92e-01,+9.54e-02,+5.82e-01 1 - 127 211 +4.03e-02,+1.76e-01,-4.83e-01,+5.35e-01 1 -Vertex: -26 ID: 0 (X,cT)=+4.64e-05,-7.72e-06,-4.10e-04,+4.20e-04 - I: 1 52 111 +8.08e-02,-1.35e-02,-7.15e-01,+7.33e-01 2 -26 - O: 2 128 22 -1.68e-02,+2.28e-02,-3.88e-02,+4.80e-02 1 - 129 22 +9.76e-02,-3.63e-02,-6.77e-01,+6.85e-01 1 -GenVertex: -27 ID: 0 (X,cT):0 - I: 1 53 113 -2.30e-01,+1.48e-01,-1.62e+00,+1.84e+00 2 -27 - O: 2 130 -211 -8.09e-02,+2.95e-01,-1.97e-01,+3.90e-01 1 - 131 211 -1.49e-01,-1.47e-01,-1.43e+00,+1.45e+00 1 -GenVertex: -28 ID: 0 (X,cT):0 - I: 1 54 223 +3.60e-01,+7.58e-01,+8.72e-01,+1.44e+00 2 -28 - O: 3 132 211 +1.97e-01,+3.51e-01,+6.75e-01,+7.98e-01 1 - 133 -211 -3.88e-02,+1.47e-01,+2.00e-01,+2.87e-01 1 - 134 111 +2.02e-01,+2.60e-01,-3.27e-03,+3.56e-01 2 -68 -GenVertex: -29 ID: 0 (X,cT):0 - I: 1 55 113 +1.21e-01,+1.16e-01,+9.83e-01,+1.26e+00 2 -29 - O: 2 135 -211 +1.15e-01,+2.71e-01,+9.97e-01,+1.05e+00 1 - 136 211 +5.83e-03,-1.56e-01,-1.47e-02,+2.10e-01 1 -GenVertex: -30 ID: 0 (X,cT):0 - I: 1 56 -213 +8.69e-02,+1.01e+00,+7.42e+00,+7.52e+00 2 -30 - O: 2 137 -211 -8.49e-03,+1.28e-01,+3.83e-01,+4.28e-01 1 - 138 111 +9.53e-02,+8.80e-01,+7.03e+00,+7.09e+00 2 -69 -GenVertex: -31 ID: 0 (X,cT):0 - I: 1 57 323 +1.76e-01,+4.23e-01,+1.93e+00,+2.16e+00 2 -31 - O: 2 140 211 +1.10e-01,-9.78e-02,+1.66e-01,+2.62e-01 1 - 139 311 +6.63e-02,+5.21e-01,+1.76e+00,+1.90e+00 2 -70 -GenVertex: -32 ID: 0 (X,cT):0 - I: 1 59 223 -2.63e-01,+7.90e-01,+6.47e-01,+1.31e+00 2 -32 - O: 3 141 211 -1.81e-01,+4.47e-01,+1.25e-01,+5.17e-01 1 - 142 -211 -2.25e-01,+2.99e-01,+3.59e-01,+5.38e-01 1 - 143 111 +1.43e-01,+4.38e-02,+1.63e-01,+2.59e-01 2 -71 -GenVertex: -33 ID: 0 (X,cT):0 - I: 1 60 213 +1.35e-01,+1.08e+00,+5.74e-01,+1.37e+00 2 -33 - O: 2 144 211 +6.61e-02,+1.08e+00,+5.00e-01,+1.20e+00 1 - 145 111 +6.86e-02,-8.01e-04,+7.43e-02,+1.69e-01 2 -72 -GenVertex: -34 ID: 0 (X,cT):0 - I: 1 62 213 -9.08e-02,+5.82e-01,-1.54e+00,+1.76e+00 2 -34 - O: 2 147 111 -4.99e-02,+6.35e-01,-9.56e-01,+1.16e+00 2 -73 - 146 211 -4.09e-02,-5.32e-02,-5.87e-01,+6.07e-01 1 -GenVertex: -35 ID: 0 (X,cT):0 - I: 1 63 221 +1.94e-01,-2.74e-01,-2.66e-01,+6.95e-01 2 -35 - O: 3 148 111 -8.07e-02,-5.76e-02,-3.25e-02,+1.71e-01 2 -74 - 149 111 +2.01e-01,-6.40e-02,-9.60e-02,+2.68e-01 2 -75 - 150 111 +7.41e-02,-1.52e-01,-1.38e-01,+2.57e-01 2 -76 -GenVertex: -36 ID: 0 (X,cT):0 - I: 1 64 -213 +2.31e-01,+2.74e-01,-1.31e+00,+1.58e+00 2 -36 - O: 2 151 -211 +4.35e-01,+4.07e-01,-8.38e-01,+1.04e+00 1 - 152 111 -2.04e-01,-1.33e-01,-4.69e-01,+5.45e-01 2 -77 -GenVertex: -37 ID: 0 (X,cT):0 - I: 1 65 213 -4.52e-01,+2.86e-01,-1.23e+00,+1.57e+00 2 -37 - O: 2 153 211 -1.15e-01,-2.61e-01,-4.89e-01,+5.83e-01 1 - 154 111 -3.37e-01,+5.47e-01,-7.40e-01,+9.89e-01 2 -78 -GenVertex: -38 ID: 0 (X,cT):0 - I: 1 66 2114 +9.53e-01,-6.69e-01,-3.09e+00,+3.53e+00 2 -38 - O: 2 155 2212 +6.04e-01,-7.13e-01,-2.45e+00,+2.79e+00 1 - 156 -211 +3.49e-01,+4.35e-02,-6.38e-01,+7.42e-01 1 -GenVertex: -39 ID: 0 (X,cT):0 - I: 1 70 323 +1.48e+00,-9.63e-01,-1.55e+01,+1.56e+01 2 -39 - O: 2 158 211 +9.45e-01,-6.64e-01,-1.11e+01,+1.11e+01 1 - 157 311 +5.39e-01,-2.99e-01,-4.42e+00,+4.49e+00 2 -79 -GenVertex: -40 ID: 0 (X,cT):0 - I: 1 72 213 +4.81e-01,-1.41e-01,-1.37e+01,+1.37e+01 2 -40 - O: 2 159 211 +1.18e-04,-3.58e-01,-6.34e+00,+6.36e+00 1 - 160 111 +4.80e-01,+2.17e-01,-7.34e+00,+7.36e+00 2 -80 -Vertex: -41 ID: 0 (X,cT)=-1.16e-04,+3.09e-05,-3.23e-03,+3.24e-03 - I: 1 73 111 -6.69e-01,+1.78e-01,-1.87e+01,+1.87e+01 2 -41 - O: 2 161 22 -5.04e-01,+7.96e-02,-1.28e+01,+1.28e+01 1 - 162 22 -1.65e-01,+9.88e-02,-5.90e+00,+5.90e+00 1 -GenVertex: -42 ID: 0 (X,cT):0 - I: 1 74 -213 -3.45e-01,-1.71e-01,-1.77e+01,+1.77e+01 2 -42 - O: 2 164 111 -4.77e-01,-2.92e-01,-1.05e+01,+1.05e+01 2 -81 - 163 -211 +1.33e-01,+1.21e-01,-7.19e+00,+7.19e+00 1 -GenVertex: -43 ID: 0 (X,cT):0 - I: 1 77 3224 -4.07e-01,-1.66e+00,-3.45e+01,+3.46e+01 2 -43 - O: 2 165 3122 -4.69e-01,-1.62e+00,-3.09e+01,+3.09e+01 2 -82 - 166 211 +6.12e-02,-3.83e-02,-3.63e+00,+3.64e+00 1 -GenVertex: -44 ID: 0 (X,cT):0 - I: 1 78 311 -2.78e-01,+5.33e-02,-1.90e+01,+1.90e+01 2 -44 - O: 1 167 130 -2.78e-01,+5.33e-02,-1.90e+01,+1.90e+01 1 -GenVertex: -45 ID: 0 (X,cT):0 - I: 1 82 311 -1.74e-02,+2.33e-01,-6.04e+01,+6.04e+01 2 -45 - O: 1 168 310 -1.74e-02,+2.33e-01,-6.04e+01,+6.04e+01 2 -83 -GenVertex: -46 ID: 0 (X,cT):0 - I: 1 83 -323 -5.63e-01,-7.34e-02,-1.48e+02,+1.48e+02 2 -46 - O: 2 169 -311 -5.45e-01,+2.59e-01,-8.99e+01,+8.99e+01 2 -84 - 170 -211 -1.76e-02,-3.32e-01,-5.80e+01,+5.80e+01 1 -GenVertex: -47 ID: 0 (X,cT):0 - I: 1 85 113 +1.80e-02,+8.34e-01,-6.47e+02,+6.47e+02 2 -47 - O: 2 171 211 +9.30e-02,-1.09e-02,-3.29e+01,+3.29e+01 1 - 172 -211 -7.50e-02,+8.45e-01,-6.14e+02,+6.14e+02 1 -GenVertex: -48 ID: 0 (X,cT):0 - I: 1 87 213 +3.40e-01,+1.94e-01,-1.02e+03,+1.02e+03 2 -48 - O: 2 173 211 +8.59e-02,+3.47e-01,-6.99e+02,+6.99e+02 1 - 174 111 +2.54e-01,-1.53e-01,-3.24e+02,+3.24e+02 2 -85 -GenVertex: -49 ID: 0 (X,cT):0 - I: 1 88 2214 +5.67e-01,+9.88e-02,-8.80e+02,+8.80e+02 2 -49 - O: 2 175 2212 +3.83e-01,+1.63e-01,-5.77e+02,+5.77e+02 1 - 176 111 +1.84e-01,-6.41e-02,-3.04e+02,+3.04e+02 2 -86 -GenVertex: -50 ID: 0 (X,cT):0 - I: 1 89 223 +1.23e+00,+3.33e-01,-2.87e+03,+2.87e+03 2 -50 - O: 3 178 -211 +4.00e-01,-1.62e-02,-1.32e+03,+1.32e+03 1 - 177 211 +5.33e-01,+7.46e-02,-1.01e+03,+1.01e+03 1 - 179 111 +2.98e-01,+2.74e-01,-5.41e+02,+5.41e+02 2 -87 -GenVertex: -51 ID: 0 (X,cT):0 - I: 1 93 -311 -2.08e-02,-2.14e-01,+2.11e+01,+2.11e+01 2 -51 - O: 1 180 130 -2.08e-02,-2.14e-01,+2.11e+01,+2.11e+01 1 -GenVertex: -52 ID: 0 (X,cT):0 - I: 1 94 313 -3.62e-01,+5.42e-01,+5.03e+01,+5.03e+01 2 -52 - O: 2 181 321 -3.90e-01,+2.06e-01,+3.09e+01,+3.09e+01 1 - 182 -211 +2.79e-02,+3.36e-01,+1.94e+01,+1.94e+01 1 -GenVertex: -53 ID: 0 (X,cT):0 - I: 1 95 213 -8.94e-01,-3.47e-01,+5.52e+01,+5.52e+01 2 -53 - O: 2 183 211 -8.91e-01,-1.82e-01,+3.63e+01,+3.63e+01 1 - 184 111 -2.63e-03,-1.65e-01,+1.89e+01,+1.89e+01 2 -88 -GenVertex: -54 ID: 0 (X,cT):0 - I: 1 96 113 -1.28e-01,-1.56e-01,+3.41e+01,+3.41e+01 2 -54 - O: 2 186 211 -1.16e-01,+1.78e-01,+5.45e+00,+5.46e+00 1 - 185 -211 -1.20e-02,-3.34e-01,+2.86e+01,+2.86e+01 1 -Vertex: -55 ID: 0 (X,cT)=+4.23e-05,-2.45e-05,+3.08e-04,+3.12e-04 - I: 1 98 111 +4.23e-01,-2.45e-01,+3.08e+00,+3.12e+00 2 -55 - O: 2 187 22 +2.88e-01,-9.56e-02,+1.70e+00,+1.72e+00 1 - 188 22 +1.35e-01,-1.49e-01,+1.38e+00,+1.40e+00 1 -GenVertex: -56 ID: 0 (X,cT):0 - I: 1 101 223 +1.06e+00,-1.22e-01,+2.53e+01,+2.53e+01 2 -56 - O: 3 189 211 +5.04e-01,-1.97e-01,+8.76e+00,+8.77e+00 1 - 190 -211 +2.54e-02,-9.08e-02,+3.85e+00,+3.86e+00 1 - 191 111 +5.32e-01,+1.66e-01,+1.27e+01,+1.27e+01 2 -89 -GenVertex: -57 ID: 0 (X,cT):0 - I: 1 103 113 +2.54e-01,-1.28e-01,-3.69e+00,+3.77e+00 2 -57 - O: 2 192 -211 -1.71e-01,-5.67e-02,-2.24e+00,+2.25e+00 1 - 193 211 +4.26e-01,-7.15e-02,-1.45e+00,+1.52e+00 1 -GenVertex: -58 ID: 0 (X,cT):0 - I: 1 104 223 -7.85e-02,+4.34e-02,-9.82e-01,+1.26e+00 2 -58 - O: 3 194 -211 +7.65e-02,-8.75e-02,-7.83e-01,+8.04e-01 1 - 195 211 -1.94e-01,+1.20e-01,-1.32e-01,+2.98e-01 1 - 196 111 +3.92e-02,+1.08e-02,-6.72e-02,+1.56e-01 2 -90 -GenVertex: -59 ID: 0 (X,cT):0 - I: 1 105 213 +1.78e-01,+3.27e-01,-2.62e+00,+2.77e+00 2 -59 - O: 2 197 211 -2.80e-01,+2.51e-01,-1.39e+00,+1.44e+00 1 - 198 111 +4.58e-01,+7.63e-02,-1.24e+00,+1.33e+00 2 -91 -Vertex: -60 ID: 0 (X,cT)=+9.83e-05,-4.21e-04,-9.04e-04,+1.00e-03 - I: 1 106 111 +1.94e-01,-8.30e-01,-1.78e+00,+1.98e+00 2 -60 - O: 2 199 22 +1.08e-01,-5.84e-01,-1.11e+00,+1.25e+00 1 - 200 22 +8.65e-02,-2.46e-01,-6.78e-01,+7.27e-01 1 -GenVertex: -61 ID: 0 (X,cT):0 - I: 1 108 223 +2.53e-01,-1.38e-01,-2.52e+00,+2.66e+00 2 -61 - O: 3 201 -211 -4.19e-02,+9.47e-02,-3.16e-01,+3.61e-01 1 - 202 211 +1.25e-01,+2.93e-02,-2.70e-01,+3.30e-01 1 - 203 111 +1.70e-01,-2.62e-01,-1.93e+00,+1.96e+00 2 -92 -GenVertex: -62 ID: 0 (X,cT):0 - I: 1 109 113 -5.13e-01,+2.04e-01,-2.60e+00,+2.77e+00 2 -62 - O: 2 204 211 -6.28e-01,+1.34e-01,-1.31e+00,+1.46e+00 1 - 205 -211 +1.15e-01,+6.97e-02,-1.29e+00,+1.30e+00 1 -GenVertex: -63 ID: 0 (X,cT):0 - I: 1 112 311 -1.65e-01,+7.95e-02,+8.26e+00,+8.27e+00 2 -63 - O: 1 206 310 -1.65e-01,+7.95e-02,+8.26e+00,+8.27e+00 2 -93 -GenVertex: -64 ID: 0 (X,cT):0 - I: 1 116 -311 -2.08e-01,+2.83e-01,+4.52e+01,+4.53e+01 2 -64 - O: 1 207 310 -2.08e-01,+2.83e-01,+4.52e+01,+4.53e+01 2 -94 -Vertex: -65 ID: 0 (X,cT)=+7.38e-05,-2.21e-05,+1.52e-02,+1.52e-02 - I: 1 117 111 +2.74e-01,-8.21e-02,+5.65e+01,+5.65e+01 2 -65 - O: 2 208 22 +3.27e-02,-6.35e-02,+1.64e+01,+1.64e+01 1 - 209 22 +2.41e-01,-1.86e-02,+4.01e+01,+4.01e+01 1 -Vertex: -66 ID: 0 (X,cT)=-2.41e-05,-3.97e-05,+6.29e-02,+6.29e-02 - I: 1 119 111 -1.00e-01,-1.65e-01,+2.61e+02,+2.61e+02 2 -66 - O: 2 210 22 -3.55e-02,-4.32e-03,+1.12e+02,+1.12e+02 1 - 211 22 -6.45e-02,-1.60e-01,+1.49e+02,+1.49e+02 1 -GenVertex: -67 ID: 0 (X,cT):0 - I: 1 124 311 -4.48e-01,-2.27e-01,-7.65e-02,+7.11e-01 2 -67 - O: 1 212 310 -4.48e-01,-2.27e-01,-7.65e-02,+7.11e-01 2 -95 -Vertex: -68 ID: 0 (X,cT)=+5.62e-07,+7.23e-07,-9.08e-09,+9.90e-07 - I: 1 134 111 +2.02e-01,+2.60e-01,-3.27e-03,+3.56e-01 2 -68 - O: 2 213 22 +5.96e-02,+3.17e-04,-3.48e-03,+5.97e-02 1 - 214 22 +1.43e-01,+2.60e-01,+2.13e-04,+2.96e-01 1 -Vertex: -69 ID: 0 (X,cT)=+6.81e-05,+6.29e-04,+5.02e-03,+5.07e-03 - I: 1 138 111 +9.53e-02,+8.80e-01,+7.03e+00,+7.09e+00 2 -69 - O: 2 215 22 +9.82e-02,+6.35e-01,+5.48e+00,+5.52e+00 1 - 216 22 -2.90e-03,+2.45e-01,+1.55e+00,+1.57e+00 1 -GenVertex: -70 ID: 0 (X,cT):0 - I: 1 139 311 +6.63e-02,+5.21e-01,+1.76e+00,+1.90e+00 2 -70 - O: 1 217 310 +6.63e-02,+5.21e-01,+1.76e+00,+1.90e+00 2 -96 -Vertex: -71 ID: 0 (X,cT)=+2.07e-05,+6.35e-06,+2.36e-05,+3.76e-05 - I: 1 143 111 +1.43e-01,+4.38e-02,+1.63e-01,+2.59e-01 2 -71 - O: 2 219 22 -2.87e-03,+5.32e-02,+2.80e-02,+6.02e-02 1 - 218 22 +1.46e-01,-9.35e-03,+1.35e-01,+1.99e-01 1 -Vertex: -72 ID: 0 (X,cT)=+3.76e-05,-4.39e-07,+4.07e-05,+9.25e-05 - I: 1 145 111 +6.86e-02,-8.01e-04,+7.43e-02,+1.69e-01 2 -72 - O: 2 220 22 +2.42e-02,+6.45e-02,+1.68e-02,+7.09e-02 1 - 221 22 +4.44e-02,-6.53e-02,+5.76e-02,+9.78e-02 1 -Vertex: -73 ID: 0 (X,cT)=-5.91e-06,+7.52e-05,-1.13e-04,+1.37e-04 - I: 1 147 111 -4.99e-02,+6.35e-01,-9.56e-01,+1.16e+00 2 -73 - O: 2 222 22 -6.98e-02,+2.12e-01,-3.96e-01,+4.55e-01 1 - 223 22 +1.99e-02,+4.23e-01,-5.60e-01,+7.02e-01 1 -Vertex: -74 ID: 0 (X,cT)=-3.84e-05,-2.74e-05,-1.55e-05,+8.12e-05 - I: 1 148 111 -8.07e-02,-5.76e-02,-3.25e-02,+1.71e-01 2 -74 - O: 2 224 22 -1.12e-01,-6.36e-02,-5.73e-03,+1.29e-01 1 - 225 22 +3.13e-02,+6.07e-03,-2.68e-02,+4.17e-02 1 -Vertex: -75 ID: 0 (X,cT)=+4.38e-07,-1.40e-07,-2.10e-07,+5.85e-07 - I: 1 149 111 +2.01e-01,-6.40e-02,-9.60e-02,+2.68e-01 2 -75 - O: 2 226 22 +1.78e-01,-9.49e-02,-1.07e-01,+2.28e-01 1 - 227 22 +2.25e-02,+3.09e-02,+1.06e-02,+3.97e-02 1 -Vertex: -76 ID: 0 (X,cT)=+2.78e-06,-5.71e-06,-5.17e-06,+9.63e-06 - I: 1 150 111 +7.41e-02,-1.52e-01,-1.38e-01,+2.57e-01 2 -76 - O: 2 229 22 +5.32e-02,-1.49e-01,-4.97e-02,+1.66e-01 1 - 228 22 +2.08e-02,-3.01e-03,-8.82e-02,+9.06e-02 1 -Vertex: -77 ID: 0 (X,cT)=-1.62e-04,-1.05e-04,-3.72e-04,+4.33e-04 - I: 1 152 111 -2.04e-01,-1.33e-01,-4.69e-01,+5.45e-01 2 -77 - O: 2 230 22 -5.35e-02,-1.09e-01,-1.58e-01,+1.99e-01 1 - 231 22 -1.50e-01,-2.43e-02,-3.11e-01,+3.46e-01 1 -Vertex: -78 ID: 0 (X,cT)=-3.66e-05,+5.95e-05,-8.05e-05,+1.08e-04 - I: 1 154 111 -3.37e-01,+5.47e-01,-7.40e-01,+9.89e-01 2 -78 - O: 2 232 22 -2.19e-01,+4.46e-01,-6.11e-01,+7.88e-01 1 - 233 22 -1.17e-01,+1.01e-01,-1.29e-01,+2.01e-01 1 -GenVertex: -79 ID: 0 (X,cT):0 - I: 1 157 311 +5.39e-01,-2.99e-01,-4.42e+00,+4.49e+00 2 -79 - O: 1 234 130 +5.39e-01,-2.99e-01,-4.42e+00,+4.49e+00 1 -Vertex: -80 ID: 0 (X,cT)=+1.61e-05,+7.28e-06,-2.46e-04,+2.47e-04 - I: 1 160 111 +4.80e-01,+2.17e-01,-7.34e+00,+7.36e+00 2 -80 - O: 2 235 22 +2.66e-01,+1.44e-01,-3.31e+00,+3.33e+00 1 - 236 22 +2.15e-01,+7.28e-02,-4.03e+00,+4.03e+00 1 -Vertex: -81 ID: 0 (X,cT)=-3.45e-05,-2.11e-05,-7.57e-04,+7.58e-04 - I: 1 164 111 -4.77e-01,-2.92e-01,-1.05e+01,+1.05e+01 2 -81 - O: 2 237 22 -1.85e-01,-4.71e-02,-2.98e+00,+2.99e+00 1 - 238 22 -2.92e-01,-2.45e-01,-7.48e+00,+7.49e+00 1 -Vertex: -82 ID: 0 (X,cT)=-9.53e+01,-3.29e+02,-6.28e+03,+6.29e+03 - I: 1 165 3122 -4.69e-01,-1.62e+00,-3.09e+01,+3.09e+01 2 -82 - O: 2 240 -211 +5.01e-03,-1.82e-01,-4.71e+00,+4.71e+00 1 - 239 2212 -4.74e-01,-1.44e+00,-2.62e+01,+2.62e+01 1 -Vertex: -83 ID: 0 (X,cT)=-1.49e+00,+1.99e+01,-5.17e+03,+5.17e+03 - I: 1 168 310 -1.74e-02,+2.33e-01,-6.04e+01,+6.04e+01 2 -83 - O: 2 241 -211 -1.84e-01,-3.33e-04,-2.55e+01,+2.55e+01 1 - 242 211 +1.67e-01,+2.33e-01,-3.49e+01,+3.49e+01 1 -GenVertex: -84 ID: 0 (X,cT):0 - I: 1 169 -311 -5.45e-01,+2.59e-01,-8.99e+01,+8.99e+01 2 -84 - O: 1 243 130 -5.45e-01,+2.59e-01,-8.99e+01,+8.99e+01 1 -Vertex: -85 ID: 0 (X,cT)=+5.73e-06,-3.45e-06,-7.31e-03,+7.31e-03 - I: 1 174 111 +2.54e-01,-1.53e-01,-3.24e+02,+3.24e+02 2 -85 - O: 2 244 22 +1.63e-01,-5.83e-02,-2.39e+02,+2.39e+02 1 - 245 22 +9.09e-02,-9.45e-02,-8.53e+01,+8.53e+01 1 -Vertex: -86 ID: 0 (X,cT)=+4.34e-06,-1.51e-06,-7.14e-03,+7.14e-03 - I: 1 176 111 +1.84e-01,-6.41e-02,-3.04e+02,+3.04e+02 2 -86 - O: 2 246 22 +3.56e-02,-7.99e-02,-1.18e+02,+1.18e+02 1 - 247 22 +1.49e-01,+1.58e-02,-1.86e+02,+1.86e+02 1 -Vertex: -87 ID: 0 (X,cT)=+7.08e-05,+6.51e-05,-1.28e-01,+1.28e-01 - I: 1 179 111 +2.98e-01,+2.74e-01,-5.41e+02,+5.41e+02 2 -87 - O: 2 248 22 +1.81e-01,+2.40e-01,-4.18e+02,+4.18e+02 1 - 249 22 +1.17e-01,+3.44e-02,-1.23e+02,+1.23e+02 1 -Vertex: -88 ID: 0 (X,cT)=-6.24e-07,-3.92e-05,+4.48e-03,+4.48e-03 - I: 1 184 111 -2.63e-03,-1.65e-01,+1.89e+01,+1.89e+01 2 -88 - O: 2 250 22 -1.32e-02,-1.02e-02,+2.51e-01,+2.52e-01 1 - 251 22 +1.06e-02,-1.55e-01,+1.86e+01,+1.86e+01 1 -Vertex: -89 ID: 0 (X,cT)=+1.36e-04,+4.24e-05,+3.24e-03,+3.24e-03 - I: 1 191 111 +5.32e-01,+1.66e-01,+1.27e+01,+1.27e+01 2 -89 - O: 2 253 22 +3.49e-01,+5.63e-02,+6.96e+00,+6.97e+00 1 - 252 22 +1.83e-01,+1.10e-01,+5.73e+00,+5.73e+00 1 -Vertex: -90 ID: 0 (X,cT)=+3.53e-05,+9.71e-06,-6.05e-05,+1.41e-04 - I: 1 196 111 +3.92e-02,+1.08e-02,-6.72e-02,+1.56e-01 2 -90 - O: 2 254 22 +7.69e-02,+3.56e-02,-7.15e-02,+1.11e-01 1 - 255 22 -3.77e-02,-2.48e-02,+4.24e-03,+4.53e-02 1 -Vertex: -91 ID: 0 (X,cT)=+4.08e-05,+6.79e-06,-1.10e-04,+1.18e-04 - I: 1 198 111 +4.58e-01,+7.63e-02,-1.24e+00,+1.33e+00 2 -91 - O: 2 257 22 +3.37e-01,+1.15e-01,-8.96e-01,+9.65e-01 1 - 256 22 +1.21e-01,-3.91e-02,-3.40e-01,+3.63e-01 1 -Vertex: -92 ID: 0 (X,cT)=+5.61e-06,-8.66e-06,-6.40e-05,+6.49e-05 - I: 1 203 111 +1.70e-01,-2.62e-01,-1.93e+00,+1.96e+00 2 -92 - O: 3 258 22 +3.78e-02,-1.90e-02,-5.69e-01,+5.70e-01 1 - 259 11 +1.27e-01,-2.18e-01,-1.21e+00,+1.24e+00 1 - 260 -11 +4.80e-03,-2.48e-02,-1.54e-01,+1.56e-01 1 -Vertex: -93 ID: 0 (X,cT)=-1.44e+01,+6.94e+00,+7.21e+02,+7.22e+02 - I: 1 206 310 -1.65e-01,+7.95e-02,+8.26e+00,+8.27e+00 2 -93 - O: 2 261 111 +9.20e-02,+1.32e-01,+2.25e+00,+2.26e+00 2 -97 - 262 111 -2.57e-01,-5.26e-02,+6.00e+00,+6.01e+00 2 -98 -Vertex: -94 ID: 0 (X,cT)=-7.78e+00,+1.06e+01,+1.70e+03,+1.70e+03 - I: 1 207 310 -2.08e-01,+2.83e-01,+4.52e+01,+4.53e+01 2 -94 - O: 2 263 111 -2.89e-01,+1.56e-01,+3.66e+01,+3.66e+01 2 -99 - 264 111 +8.17e-02,+1.26e-01,+8.62e+00,+8.62e+00 2 -100 -Vertex: -95 ID: 0 (X,cT)=-1.37e+01,-6.92e+00,-2.33e+00,+2.17e+01 - I: 1 212 310 -4.48e-01,-2.27e-01,-7.65e-02,+7.11e-01 2 -95 - O: 2 265 211 -2.95e-01,-9.17e-02,+1.55e-01,+3.73e-01 1 - 266 -211 -1.52e-01,-1.35e-01,-2.31e-01,+3.38e-01 1 -Vertex: -96 ID: 0 (X,cT)=+5.58e+00,+4.38e+01,+1.48e+02,+1.60e+02 - I: 1 217 310 +6.63e-02,+5.21e-01,+1.76e+00,+1.90e+00 2 -96 - O: 2 267 111 +1.60e-01,+1.55e-01,+1.10e+00,+1.13e+00 2 -101 - 268 111 -9.38e-02,+3.66e-01,+6.60e-01,+7.72e-01 2 -102 -Vertex: -97 ID: 0 (X,cT)=-1.44e+01,+6.94e+00,+7.21e+02,+7.22e+02 - I: 1 261 111 +9.20e-02,+1.32e-01,+2.25e+00,+2.26e+00 2 -97 - O: 2 269 22 +1.66e-02,-2.70e-02,+2.39e-01,+2.41e-01 1 - 270 22 +7.54e-02,+1.59e-01,+2.02e+00,+2.02e+00 1 -Vertex: -98 ID: 0 (X,cT)=-1.44e+01,+6.94e+00,+7.21e+02,+7.22e+02 - I: 1 262 111 -2.57e-01,-5.26e-02,+6.00e+00,+6.01e+00 2 -98 - O: 2 271 22 -7.17e-02,-3.17e-02,+3.25e+00,+3.25e+00 1 - 272 22 -1.85e-01,-2.09e-02,+2.76e+00,+2.76e+00 1 -Vertex: -99 ID: 0 (X,cT)=-7.78e+00,+1.06e+01,+1.70e+03,+1.70e+03 - I: 1 263 111 -2.89e-01,+1.56e-01,+3.66e+01,+3.66e+01 2 -99 - O: 2 273 22 -9.96e-02,+2.50e-02,+6.20e+00,+6.20e+00 1 - 274 22 -1.90e-01,+1.31e-01,+3.04e+01,+3.04e+01 1 -Vertex: -100 ID: 0 (X,cT)=-7.78e+00,+1.06e+01,+1.70e+03,+1.70e+03 - I: 1 264 111 +8.17e-02,+1.26e-01,+8.62e+00,+8.62e+00 2 -100 - O: 2 275 22 +7.76e-02,+2.39e-03,+3.60e+00,+3.60e+00 1 - 276 22 +4.09e-03,+1.24e-01,+5.01e+00,+5.02e+00 1 -Vertex: -101 ID: 0 (X,cT)=+5.58e+00,+4.38e+01,+1.48e+02,+1.60e+02 - I: 1 267 111 +1.60e-01,+1.55e-01,+1.10e+00,+1.13e+00 2 -101 - O: 2 277 22 +1.49e-01,+9.93e-02,+5.70e-01,+5.98e-01 1 - 278 22 +1.13e-02,+5.56e-02,+5.29e-01,+5.32e-01 1 -Vertex: -102 ID: 0 (X,cT)=+5.58e+00,+4.38e+01,+1.48e+02,+1.60e+02 - I: 1 268 111 -9.38e-02,+3.66e-01,+6.60e-01,+7.72e-01 2 -102 - O: 2 279 22 -6.60e-02,+5.16e-02,+1.69e-01,+1.89e-01 1 - 280 22 -2.77e-02,+3.15e-01,+4.91e-01,+5.84e-01 1 -________________________________________________________________________________ - Print out hit information ------------------------------------------- -*** Muon System Hit (#hits=8) -E1 : e+ : pT=0.0265 : TOF=26.7 : x=(0.726,-0.887,-7.9) -E1 : pi- : pT=0.113 : TOF=27 : x=(1.11,0.247,-7.9) -E1 : proton : pT=0.378 : TOF=33.3 : x=(0.88,-3.14,-7.9) -E1 : pi+ : pT=0.21 : TOF=26.8 : x=(-1.13,-0.215,-7.9) -E1 : pi- : pT=0.223 : TOF=26.8 : x=(-1.09,0.807,-7.9) -E1 : anti_proton : pT=1.48 : TOF=29.1 : x=(1.84,-2.81,-7.9) -E1 : e- : pT=0.000165 : TOF=29.4 : x=(1.85,-2.8,-7.9) -E1 : mu- : pT=36.4 : TOF=26.6 : x=(0.321,0.958,-7.9) - -Graphics systems deleted. -Visualization Manager deleting... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_pygen.out b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_pygen.out index 47012e8c74..9234f4e2d7 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_pygen.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_pygen.out @@ -1,12 +1,17 @@ ************************************************************* - Geant4 version Name: geant4-08-01-ref-00 (30-June-2006) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -Visualization Manager instantiating... + +<<< Geant4 Physics List engine packaging library: PACK 5.5 +<<< Geant4 Physics List simulation engine: QGSP_BERT 3.4 + +### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0 +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -14,18 +19,20 @@ 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) + gMocrenFile (gMocrenFile) FukuiRenderer (DAWN) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) - OpenGLImmediateXm (OGLIXm) - OpenGLStoredXm (OGLSXm) - OpenInventorXt (OIX) + OpenGLImmediateQt (OGLIQt) + OpenGLStoredQt (OGLSQt) RayTracerX (RayTracerX) VRML1 (VRML1) VRML2 (VRML2) @@ -38,17 +45,13 @@ Registered model factories: drawByCharge drawByParticleID drawByOriginVolume - -Registered models: - None + drawByAttribute Registered filter factories: chargeFilter particleFilter originVolumeFilter - -Registered filters: - None + attributeFilter current generator type: pythia @@ -174,480 +177,528 @@ current generator type: pythia ********************** PYINIT: initialization completed ********************** -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 ====== + BetheHeitler : 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 +msc: for e- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc93 : 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 -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. +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 AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban -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 -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. +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 AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban -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. +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 -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 +msc: for proton SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 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 +hBrems: for proton 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 -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 +hPairProd: for proton 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 -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 +msc: for GenericIon SubType= 10 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 +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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV 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 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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV 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 +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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 +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 +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 -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 +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 -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 +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 +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 -========= Table of registered couples ============================== +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 -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- 8.07135 keV e+ 8.07135 keV - Region(s) which use this couple : - DefaultRegionForTheWorld +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)= 11.4592 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + WentzelVIUni : Emin= 0 eV Emax= 10 TeV -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 - Region(s) which use this couple : - DefaultRegionForTheWorld +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 -Index : 2 used in the geometry : Yes recalculation needed : No - Material : ArgonGas - Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 990 eV e- 10.3667 keV e+ 10.2399 keV - Region(s) which use this couple : - DefaultRegionForTheWorld +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 -==================================================================== +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 + +CoulombScat: for mu+ SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV + +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 ====== + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV + +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 + +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 + +CoulombScat: for mu- SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + +hBrems: for pi+ 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 pi+ 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 + +msc: for pi- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + +hBrems: for pi- 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 pi- 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 +============================================================================================ + HADRONIC PROCESSES SUMMARY (verbose level 1) + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 +AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + ElectroNuclear Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 30000 + + Hadronic Processes for + PhotonInelastic Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 3.5 + TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + muMinusCaptureAtRest + + Hadronic Processes for + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 + NeutronInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LENeutronInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + nCapture Models: G4LCapture: Emin(GeV)= 0 Emax(GeV)= 20000 + nFission Models: G4LFission: Emin(GeV)= 0 Emax(GeV)= 20000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 + PionPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 + PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 + ProtonInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEProtonInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 +============================================================================================ + Print out hit information +------------------------------------------ +*** Muon System Hit (#hits=22) +E0 : pi+ : pT=0.119 : TOF=27 : x=(-0.336,1.06,7.9) +E0 : pi- : pT=0.324 : TOF=26.7 : x=(1.15,0.335,7.9) +E1 : pi- : pT=0.302 : TOF=26.7 : x=(1.05,0.419,-7.9) +E1 : pi+ : pT=0.534 : TOF=26.6 : x=(-0.532,0.881,-7.9) +E1 : pi+ : pT=1.14 : TOF=27 : x=(-0.652,0.758,-8.04) +E1 : e- : pT=0.000479 : TOF=30.1 : x=(1.12,1.37,-7.9) +E0 : e+ : pT=0.256 : TOF=26.7 : x=(0.872,-0.686,7.9) +E0 : e- : pT=0.000394 : TOF=30.7 : x=(1.14,-1.29,8.1) +E1 : pi- : pT=0.0928 : TOF=35 : x=(1.59,0.823,-7.9) +E1 : e- : pT=0.00301 : TOF=26.9 : x=(-1.03,0.121,-7.9) +E1 : e- : pT=0.00223 : TOF=27.4 : x=(-1.34,-0.349,-7.9) +E0 : pi- : pT=0.299 : TOF=26.6 : x=(0.349,-0.966,7.9) +E0 : e- : pT=0.000343 : TOF=29.7 : x=(-0.131,-0.991,8.06) +E1 : pi+ : pT=1.41 : TOF=26.7 : x=(-1.04,0.681,-7.9) +E1 : mu- : pT=0.104 : TOF=27 : x=(-0.24,1,-7.9) +E0 : mu- : pT=0.0987 : TOF=27 : x=(-1.46,1.16,7.9) +E1 : e- : pT=0.000768 : TOF=27.5 : x=(-0.895,-0.851,-7.9) +B3 : mu+ : pT=42.5 : TOF=14.8 : x=(-4.03,1.98,-0.03) +B1 : mu- : pT=54.9 : TOF=21.4 : x=(2.07,3.94,-4.63) +B1 : e- : pT=0.00211 : TOF=21.4 : x=(2.08,3.93,-4.61) +B4 : mu+ : pT=22.2 : TOF=23.5 : x=(-4.25,-1.08,5.78) +E1 : mu- : pT=26.5 : TOF=28.2 : x=(-1.86,2.72,-7.9) Print out hit information ------------------------------------------ -*** Muon System Hit (#hits=33) -E1 : pi+ : pT=0.219 : TOF=26.7 : x=(-0.239,1.11,-7.9) -E1 : pi+ : pT=0.199 : TOF=27.7 : x=(1.79,0.178,-7.9) -E0 : proton : pT=0.577 : TOF=32.5 : x=(3.6,1.62,7.9) -E1 : pi- : pT=0.0915 : TOF=27.4 : x=(-1.05,0.742,-7.9) -E1 : pi+ : pT=0.272 : TOF=26.6 : x=(1.01,0.266,-7.9) -E1 : pi- : pT=0.276 : TOF=26.8 : x=(1.11,0.516,-7.9) -E0 : pi+ : pT=0.167 : TOF=26.8 : x=(-1.02,0.163,7.9) -E1 : pi+ : pT=1.39 : TOF=26.7 : x=(-0.908,0.911,-7.9) -E1 : mu+ : pT=0.607 : TOF=26.7 : x=(1.08,-0.543,-7.9) -E0 : e- : pT=0.00341 : TOF=28.4 : x=(0.252,2.08,7.9) -B3 : mu- : pT=0.126 : TOF=42.5 : x=(-3.28,2.73,6.81) -E1 : pi+ : pT=3.15 : TOF=27.8 : x=(-0.373,-2.65,-7.9) -E1 : pi- : pT=5.13 : TOF=27.9 : x=(-0.00786,-2.73,-7.9) -E1 : pi- : pT=3.61 : TOF=27.8 : x=(-0.0846,-2.66,-7.9) -E1 : pi+ : pT=1.15 : TOF=27.9 : x=(-1.12,-2.5,-7.9) -E1 : pi- : pT=1.28 : TOF=27.5 : x=(0.728,-2.26,-7.9) -E1 : pi- : pT=0.276 : TOF=26.6 : x=(0.174,1.03,-7.9) -E1 : pi- : pT=0.414 : TOF=26.6 : x=(-0.865,0.685,-7.9) -E1 : pi+ : pT=0.392 : TOF=26.6 : x=(0.889,-0.58,-7.9) -E1 : e- : pT=0.000651 : TOF=27.9 : x=(-0.906,-0.521,-7.9) -E0 : pi+ : pT=0.895 : TOF=27.1 : x=(-1.9,-0.128,7.9) -E1 : pi- : pT=2.61 : TOF=26.9 : x=(-1.31,0.997,-7.9) -E1 : e- : pT=8.28e-05 : TOF=29.8 : x=(-0.488,1.1,-7.9) -E1 : pi- : pT=0.38 : TOF=27.3 : x=(0.423,1.74,-7.9) -E1 : kaon- : pT=0.671 : TOF=27.2 : x=(1.35,0.533,-7.9) -E0 : e- : pT=0.000773 : TOF=36.9 : x=(-2.22,-2.28,7.9) -E0 : pi- : pT=0.238 : TOF=27.3 : x=(-1.65,1.08,7.9) -E0 : pi+ : pT=0.204 : TOF=27.6 : x=(2.07,0.791,7.9) -E1 : pi- : pT=8.96 : TOF=27.8 : x=(-0.113,-2.65,-7.9) -B3 : mu+ : pT=42.6 : TOF=15 : x=(-4.04,1.97,-0.0318) -B1 : mu- : pT=58.5 : TOF=21.4 : x=(2.07,3.94,-4.62) -B4 : mu+ : pT=22.2 : TOF=24.4 : x=(-4.25,-1.08,5.84) -E1 : mu- : pT=27.1 : TOF=28.6 : x=(-1.87,2.73,-7.9) +*** Muon System Hit (#hits=11) +E1 : proton : pT=0.326 : TOF=76.2 : x=(-3.52,0.191,-8.1) +E1 : pi- : pT=0.113 : TOF=27 : x=(-0.619,-0.904,-7.9) +B2 : e- : pT=0.00137 : TOF=29.4 : x=(0.0794,4.25,-4.8) +E0 : mu- : pT=0.094 : TOF=34.6 : x=(1.35,-0.501,7.9) +E0 : e- : pT=0.000447 : TOF=36.5 : x=(1.63,-0.623,8.1) +E1 : pi- : pT=0.359 : TOF=26.6 : x=(-0.153,1.02,-7.9) +E1 : e- : pT=0.00168 : TOF=28.6 : x=(1.76,0.474,-7.9) +B6 : mu+ : pT=28.6 : TOF=16.6 : x=(-0.245,-4.25,-2.73) +E0 : mu- : pT=19.3 : TOF=27.5 : x=(2.64,-0.611,7.9) +E1 : mu- : pT=8.62 : TOF=26.8 : x=(-1.44,0.691,-7.9) +B4 : mu+ : pT=51.2 : TOF=17.3 : x=(-4.25,0.68,2.92) Print out hit information ------------------------------------------ -*** Muon System Hit (#hits=39) -E0 : pi+ : pT=0.0533 : TOF=28 : x=(-0.987,-1.73,7.9) -E0 : pi- : pT=0.0496 : TOF=29.7 : x=(1.63,-1.72,7.9) -E1 : pi+ : pT=0.312 : TOF=27.8 : x=(-1.79,-0.943,-7.9) -E1 : e- : pT=0.0975 : TOF=26.7 : x=(0.426,1.14,-7.9) -E0 : pi- : pT=0.631 : TOF=26.9 : x=(0.487,-0.874,7.99) -E0 : pi+ : pT=0.813 : TOF=26.7 : x=(1.03,-0.719,7.9) -E0 : pi+ : pT=0.877 : TOF=26.9 : x=(0.835,-1.35,7.9) -E0 : pi- : pT=0.173 : TOF=26.8 : x=(1.05,0.265,7.9) -E0 : pi- : pT=1.68 : TOF=27.2 : x=(1.89,0.511,7.9) -E0 : pi- : pT=0.197 : TOF=26.9 : x=(1.3,-0.579,7.9) -B5 : kaon- : pT=1.98 : TOF=21.3 : x=(-3.12,-2.89,4.7) -B5 : pi- : pT=1.51 : TOF=18.3 : x=(-1.97,-4.04,-2.88) -E1 : pi+ : pT=0.33 : TOF=28.3 : x=(2.76,0.816,-7.9) -E1 : e- : pT=0.000478 : TOF=30.8 : x=(1.27,-0.129,-7.9) -E0 : proton : pT=0.852 : TOF=30.2 : x=(-2.71,-2.34,7.9) -E0 : pi- : pT=0.863 : TOF=27.6 : x=(-0.883,-2.2,7.9) -E0 : pi+ : pT=0.445 : TOF=29.3 : x=(-2.91,-2.42,7.9) -E0 : pi+ : pT=1.39 : TOF=27.8 : x=(-0.196,-2.61,7.9) -B7 : pi- : pT=0.72 : TOF=27.6 : x=(3.86,-2.15,6.85) -E0 : pi+ : pT=0.149 : TOF=28.4 : x=(-0.986,-2.59,7.9) -E0 : pi+ : pT=0.638 : TOF=27.3 : x=(1.05,1.71,7.9) -E0 : pi- : pT=1.73 : TOF=27.3 : x=(1.47,1.5,7.9) -E0 : pi+ : pT=0.328 : TOF=27 : x=(1.46,0.325,7.9) -E0 : pi- : pT=6.71 : TOF=27 : x=(1.15,1.24,7.9) -E0 : pi- : pT=1.47 : TOF=26.6 : x=(1.12,-0.25,7.9) -E0 : pi+ : pT=0.721 : TOF=26.9 : x=(1.61,0.191,7.9) -E0 : pi+ : pT=0.223 : TOF=27.1 : x=(-0.146,1.76,7.9) -E0 : e- : pT=0.000828 : TOF=42.3 : x=(1.51,0.106,8.1) -E0 : e- : pT=0.000352 : TOF=47.2 : x=(2.31,0.8,8.1) -E1 : pi- : pT=0.374 : TOF=27.7 : x=(1.51,1.66,-7.9) -B6 : mu- : pT=0.219 : TOF=27.5 : x=(0.744,-4.25,6.34) -E0 : pi+ : pT=1.1 : TOF=27.2 : x=(0.0323,-1.97,7.9) -E0 : kaon- : pT=2.39 : TOF=27.1 : x=(0.807,-1.72,7.9) -E0 : pi+ : pT=4.05 : TOF=26.9 : x=(1.2,1.08,7.9) -E0 : pi+ : pT=43 : TOF=27 : x=(1.32,1.15,7.9) -E0 : mu+ : pT=57.6 : TOF=29.7 : x=(-3.59,-1.95,7.9) -E0 : mu- : pT=37.5 : TOF=29.6 : x=(3.98,-0.525,7.9) -E0 : mu+ : pT=73.3 : TOF=27.2 : x=(-1.96,0.632,7.9) -E0 : mu- : pT=26.8 : TOF=28.3 : x=(2.83,-1.23,7.9) +*** Muon System Hit (#hits=22) +E0 : e- : pT=0.00285 : TOF=27.4 : x=(-1.07,-0.719,7.9) +E1 : e+ : pT=0.0104 : TOF=26.7 : x=(1.02,-0.662,-7.9) +E0 : pi- : pT=0.536 : TOF=26.7 : x=(0.753,-0.959,7.9) +E1 : pi- : pT=1.23 : TOF=26.6 : x=(-1.05,0.00438,-7.9) +E1 : pi+ : pT=0.206 : TOF=26.7 : x=(0.45,0.985,-7.9) +E0 : pi- : pT=3.4 : TOF=26.6 : x=(0.696,-0.81,7.9) +E0 : mu- : pT=0.409 : TOF=26.8 : x=(-0.808,-0.589,7.96) +E0 : kaon+ : pT=0.531 : TOF=26.8 : x=(0.138,1.05,7.9) +E0 : pi- : pT=0.293 : TOF=26.6 : x=(0.135,1.05,7.9) +E1 : e- : pT=0.00105 : TOF=28.6 : x=(-0.704,0.711,-8.04) +E1 : pi- : pT=0.422 : TOF=26.6 : x=(-0.0935,1.06,-7.9) +E1 : kaon+ : pT=2.03 : TOF=26.6 : x=(0.372,0.993,-7.9) +E0 : kaon- : pT=0.222 : TOF=27.9 : x=(-1.1,-0.0252,7.9) +E0 : pi+ : pT=1.7 : TOF=26.7 : x=(-0.924,0.785,7.9) +E0 : e- : pT=0.00169 : TOF=28 : x=(0.89,1.05,7.9) +E0 : e- : pT=0.000173 : TOF=29.3 : x=(1.09,1.13,8.1) +E1 : pi+ : pT=1.19 : TOF=26.7 : x=(-0.866,-0.816,-7.9) +E1 : pi+ : pT=0.303 : TOF=27 : x=(-0.877,-0.48,-8.01) +B6 : mu- : pT=43.1 : TOF=14.8 : x=(-1.27,-4.25,0.425) +E1 : mu+ : pT=24.1 : TOF=27.7 : x=(-2.64,0.759,-7.9) +B7 : mu+ : pT=42.2 : TOF=17.1 : x=(2.11,-3.9,-2.6) +B2 : mu- : pT=51.8 : TOF=22 : x=(1.45,4.25,-4.86) Print out hit information ------------------------------------------ -*** Muon System Hit (#hits=50) -E1 : pi- : pT=0.257 : TOF=26.7 : x=(0.113,1.15,-7.9) -E0 : mu- : pT=0.168 : TOF=27 : x=(-1.6,0.238,7.9) -E1 : mu+ : pT=0.0453 : TOF=27.4 : x=(0.289,1.09,-7.9) -E1 : pi+ : pT=0.445 : TOF=27.7 : x=(0.854,2.01,-7.9) -E1 : pi+ : pT=3.28 : TOF=27 : x=(0.565,1.65,-7.9) -E1 : pi- : pT=0.639 : TOF=26.9 : x=(0.502,1.46,-7.9) -E1 : pi- : pT=1.93 : TOF=27.4 : x=(0.483,2.13,-7.9) -E1 : pi+ : pT=1.62 : TOF=27.2 : x=(0.813,1.81,-7.9) -E1 : pi- : pT=0.271 : TOF=28.5 : x=(0.0364,2.55,-7.9) -E0 : pi- : pT=0.678 : TOF=27.2 : x=(-1.75,0.824,7.9) -E0 : pi- : pT=0.247 : TOF=27.3 : x=(-1.75,0.167,7.9) -E0 : pi+ : pT=0.289 : TOF=29.2 : x=(0.00123,3.13,7.9) -E0 : e- : pT=0.000578 : TOF=35.5 : x=(-0.924,4.35,7.9) -E0 : anti_proton : pT=0.875 : TOF=27.6 : x=(-1.82,0.455,7.9) -E1 : pi+ : pT=0.359 : TOF=26.8 : x=(0.607,1.16,-7.9) -E1 : pi- : pT=0.175 : TOF=28.3 : x=(-0.283,-2.56,-7.9) -E1 : pi+ : pT=1.17 : TOF=27.2 : x=(0.402,-2,-7.9) -E1 : kaon+ : pT=2.67 : TOF=27.8 : x=(0.129,-2.57,-7.9) -E1 : kaon- : pT=3.35 : TOF=27.6 : x=(0.422,-2.45,-7.9) -B7 : pi- : pT=0.515 : TOF=25.7 : x=(2.35,-3.66,5.97) -E1 : pi+ : pT=1.38 : TOF=27.4 : x=(0.16,2.18,-7.9) -E1 : pi- : pT=2.77 : TOF=26.9 : x=(0.577,1.57,-7.9) -E1 : pi- : pT=0.244 : TOF=27.1 : x=(0.412,1.68,-7.9) -E1 : pi+ : pT=0.774 : TOF=27.2 : x=(1.64,0.963,-7.9) -E1 : pi+ : pT=1.82 : TOF=27.1 : x=(0.84,1.73,-7.9) -E1 : e- : pT=0.000315 : TOF=28 : x=(0.927,1.4,-7.9) -E1 : e- : pT=0.000496 : TOF=29.7 : x=(0.755,1.47,-8.1) -E1 : e- : pT=0.000338 : TOF=30.4 : x=(0.635,1.5,-8.1) -E1 : kaon- : pT=6.61 : TOF=26.9 : x=(0.574,1.57,-7.9) -E1 : pi+ : pT=1.35 : TOF=27.1 : x=(0.705,1.8,-7.9) -E1 : pi- : pT=3.68 : TOF=27.1 : x=(0.463,1.85,-7.9) -E1 : pi+ : pT=1.12 : TOF=26.9 : x=(0.92,1.3,-7.9) -E1 : pi- : pT=0.207 : TOF=27.3 : x=(-0.372,1.92,-7.9) -E1 : pi+ : pT=4.28 : TOF=27.1 : x=(0.688,1.83,-7.9) -E1 : pi- : pT=0.61 : TOF=26.9 : x=(0.356,1.47,-7.9) -E1 : e- : pT=0.00209 : TOF=27.3 : x=(0.198,1.77,-7.9) -E1 : anti_proton : pT=3.58 : TOF=27 : x=(0.333,1.69,-7.9) -E1 : pi+ : pT=0.401 : TOF=27.7 : x=(1.49,1.95,-7.9) -E1 : pi+ : pT=1.45 : TOF=26.8 : x=(0.0317,1.45,-7.9) -E1 : pi- : pT=0.208 : TOF=27.5 : x=(0.342,-1.2,-7.9) -E1 : pi- : pT=0.487 : TOF=27.2 : x=(-0.534,-1.7,-7.9) -E0 : mu+ : pT=0.346 : TOF=27.5 : x=(-2.19,-0.5,7.9) -E0 : pi+ : pT=0.0835 : TOF=27 : x=(-0.684,1.08,7.9) -E1 : e- : pT=0.00053 : TOF=31.8 : x=(0.911,0.591,-8.1) -E1 : pi- : pT=1.09 : TOF=26.6 : x=(-0.905,-0.59,-7.9) -E1 : kaon- : pT=0.76 : TOF=29.4 : x=(1.71,-3.22,-7.9) -B4 : mu+ : pT=59 : TOF=22.3 : x=(-4.25,1.21,5) -E0 : mu- : pT=18.4 : TOF=28.6 : x=(1.01,3.2,7.9) -E0 : mu- : pT=70.2 : TOF=27.6 : x=(0.458,-2.41,7.9) -B1 : mu+ : pT=13.9 : TOF=14.6 : x=(3.76,2.25,0.263) +*** Muon System Hit (#hits=29) +E0 : e- : pT=0.000661 : TOF=30 : x=(-0.974,1.22,7.9) +E0 : e- : pT=0.000369 : TOF=32.8 : x=(-1.24,0.766,7.9) +E1 : pi- : pT=3.29 : TOF=26.7 : x=(0.742,-0.996,-7.9) +E0 : mu- : pT=0.432 : TOF=26.5 : x=(0.933,-0.489,7.9) +E0 : e- : pT=0.000694 : TOF=27.6 : x=(-0.853,-0.684,7.9) +E1 : mu+ : pT=0.239 : TOF=26.6 : x=(-0.67,0.771,-7.9) +E1 : mu- : pT=0.0459 : TOF=27.5 : x=(-1.1,-0.409,-7.9) +E1 : e- : pT=0.000308 : TOF=30.9 : x=(-1.79,-0.935,-7.9) +E1 : e- : pT=7.04e-05 : TOF=32.1 : x=(-1.79,-0.841,-7.9) +E1 : pi- : pT=0.294 : TOF=26.7 : x=(0.0561,-1.1,-7.9) +E1 : proton : pT=0.193 : TOF=34.9 : x=(0.968,0.611,-7.9) +E1 : pi- : pT=0.827 : TOF=26.6 : x=(-0.0935,1.01,-7.9) +E1 : pi+ : pT=1.9 : TOF=26.6 : x=(0.495,0.974,-7.9) +E1 : pi- : pT=13 : TOF=26.7 : x=(0.376,1.15,-7.9) +E1 : e+ : pT=0.0978 : TOF=26.7 : x=(0.93,0.766,-7.9) +E1 : e- : pT=0.31 : TOF=26.7 : x=(0.93,0.766,-7.9) +E1 : mu+ : pT=2.55 : TOF=26.6 : x=(0.623,1.13,-7.9) +E1 : pi- : pT=2.59 : TOF=26.6 : x=(0.231,1.09,-7.9) +E1 : pi- : pT=1.06 : TOF=26.6 : x=(0.00503,1.1,-7.9) +E1 : pi+ : pT=0.695 : TOF=26.6 : x=(0.698,0.89,-7.9) +E1 : pi- : pT=0.553 : TOF=26.6 : x=(0.681,-0.891,-7.9) +E1 : pi- : pT=0.312 : TOF=26.6 : x=(-0.983,0.181,-7.9) +E0 : e- : pT=0.000381 : TOF=33.2 : x=(0.0305,3.23,7.9) +E0 : e- : pT=0.000489 : TOF=30.1 : x=(0.0572,1.48,7.9) +E0 : e- : pT=0.000234 : TOF=30.2 : x=(0.14,1.52,7.9) +E1 : pi+ : pT=6.16 : TOF=26.7 : x=(0.481,1.14,-7.9) +B6 : mu- : pT=42.6 : TOF=24.8 : x=(1.52,-4.25,-6.08) +E1 : mu+ : pT=29 : TOF=26.8 : x=(1.58,0.0347,-7.9) +E1 : mu- : pT=69.8 : TOF=26.3 : x=(-1.14,-0.105,-7.9) Print out hit information ------------------------------------------ -*** Muon System Hit (#hits=44) -E1 : e- : pT=0.00162 : TOF=27 : x=(0.126,-0.992,-7.92) -E0 : pi- : pT=1.79 : TOF=26.9 : x=(1.32,1.04,7.9) -E0 : pi+ : pT=2.58 : TOF=26.9 : x=(1.09,1.14,7.9) -B3 : anti_proton : pT=0.867 : TOF=26.5 : x=(-2.67,3.34,-5.88) -E1 : pi+ : pT=0.0861 : TOF=27.8 : x=(1.33,-1.55,-7.9) -E1 : pi- : pT=1.73 : TOF=27.6 : x=(1.13,-2.12,-7.9) -E1 : mu+ : pT=0.231 : TOF=27.9 : x=(1.44,-1.62,-7.9) -E1 : mu- : pT=0.114 : TOF=27.1 : x=(1.34,-0.92,-7.9) -E1 : pi+ : pT=0.0979 : TOF=26.9 : x=(-1.1,-0.866,-7.9) -E1 : pi+ : pT=0.42 : TOF=26.7 : x=(0.171,-1.27,-7.9) -B6 : anti_proton : pT=1.34 : TOF=28.9 : x=(0.926,-4.25,-6.77) -E1 : proton : pT=0.41 : TOF=29 : x=(-0.0289,-2.14,-7.9) -E1 : pi+ : pT=0.087 : TOF=28 : x=(0.171,-1.13,-7.9) -E1 : pi+ : pT=0.964 : TOF=26.7 : x=(-0.912,-0.964,-7.9) -E1 : pi- : pT=0.54 : TOF=26.6 : x=(0.753,-0.746,-7.9) -E1 : pi+ : pT=0.567 : TOF=26.6 : x=(-0.172,-1.03,-7.9) -E0 : pi+ : pT=0.483 : TOF=26.7 : x=(-0.438,-1.12,7.9) -E0 : pi+ : pT=0.258 : TOF=27.3 : x=(0.966,1.44,7.9) -E0 : mu- : pT=0.016 : TOF=30.7 : x=(-0.459,-1.04,7.9) -E0 : pi- : pT=9.78 : TOF=27 : x=(1.17,1.3,7.9) -E0 : kaon+ : pT=5.16 : TOF=26.9 : x=(1.18,1.14,7.9) -E0 : pi+ : pT=5.57 : TOF=27.1 : x=(1.46,1.26,7.9) -E0 : pi- : pT=8.93 : TOF=27.1 : x=(1.18,1.55,7.9) -E0 : pi+ : pT=10.4 : TOF=27.1 : x=(1.18,1.42,7.9) -E0 : pi+ : pT=2.55 : TOF=27.3 : x=(1.51,1.56,7.9) -E0 : pi- : pT=62.2 : TOF=27.2 : x=(1.26,1.55,7.9) -E0 : pi+ : pT=28 : TOF=27.2 : x=(1.28,1.53,7.9) -E1 : pi+ : pT=0.638 : TOF=26.7 : x=(0.318,-1.17,-7.9) -E1 : pi- : pT=0.815 : TOF=27.2 : x=(-1.3,-1.42,-7.9) -E1 : pi+ : pT=1.72 : TOF=27.6 : x=(-0.672,-2.41,-7.9) -E1 : pi- : pT=1.53 : TOF=28.2 : x=(1.34,-2.68,-7.9) -E1 : kaon- : pT=0.734 : TOF=27.1 : x=(0.408,-1.59,-7.9) -E1 : kaon+ : pT=2.35 : TOF=26.6 : x=(-0.145,-1.05,-7.9) -E1 : mu- : pT=0.28 : TOF=26.6 : x=(0.192,-1.07,-7.9) -E0 : anti_proton : pT=6.51 : TOF=27.1 : x=(1.39,1.27,7.9) -E0 : e- : pT=0.00108 : TOF=28.6 : x=(1.68,1.88,7.9) -E0 : pi+ : pT=3.26 : TOF=27 : x=(1.41,0.938,7.9) -E0 : kaon- : pT=5.08 : TOF=27.1 : x=(1.25,1.34,7.9) -E0 : pi- : pT=29.6 : TOF=27.2 : x=(1.28,1.52,7.9) -E0 : anti_proton : pT=26.3 : TOF=27.2 : x=(1.24,1.54,7.9) -B5 : mu+ : pT=58 : TOF=14.8 : x=(-2.26,-3.75,-0.68) -E1 : mu- : pT=63.5 : TOF=29.9 : x=(-2,-3.71,-7.9) -E1 : mu+ : pT=5.63 : TOF=29.5 : x=(2.29,3.28,-7.9) -B5 : mu- : pT=221 : TOF=24.7 : x=(-3.4,-2.61,-6.05) +*** Muon System Hit (#hits=18) +E0 : mu- : pT=0.135 : TOF=27.1 : x=(-0.776,0.63,8.06) +E1 : proton : pT=0.557 : TOF=28.9 : x=(-1.33,-0.231,-7.9) +E1 : pi- : pT=0.531 : TOF=27.1 : x=(-0.775,1.14,-7.9) +E1 : proton : pT=0.535 : TOF=30.6 : x=(-0.399,-1,-7.9) +E1 : mu- : pT=0.0672 : TOF=29.4 : x=(0.684,1.02,-7.9) +E1 : pi+ : pT=0.16 : TOF=28.8 : x=(0.955,-0.803,-7.9) +E1 : pi- : pT=0.358 : TOF=27.9 : x=(-0.978,0.756,-7.9) +E1 : pi+ : pT=0.284 : TOF=27.9 : x=(0.226,-1.06,-7.9) +E1 : pi+ : pT=0.147 : TOF=26.9 : x=(-0.791,-0.843,-7.9) +E0 : anti_proton : pT=0.653 : TOF=27.1 : x=(0.922,-0.593,7.9) +E0 : pi- : pT=0.561 : TOF=27.7 : x=(1.4,-0.972,7.9) +E1 : pi- : pT=0.8 : TOF=26.6 : x=(-0.267,-1.06,-7.9) +E1 : kaon+ : pT=1.11 : TOF=26.8 : x=(0.913,0.768,-7.9) +E1 : kaon+ : pT=0.467 : TOF=26.8 : x=(0.615,-0.804,-7.9) +B5 : mu- : pT=16 : TOF=22 : x=(-2.86,-3.15,-5.08) +B4 : mu+ : pT=65.9 : TOF=20.4 : x=(-4.25,1.12,4.25) +E0 : mu- : pT=23.6 : TOF=27.1 : x=(-1.05,2.13,7.9) +B5 : mu+ : pT=64.8 : TOF=16 : x=(-2.56,-3.45,2.1) Print out hit information ------------------------------------------ -*** Muon System Hit (#hits=7) -E1 : e- : pT=0.000144 : TOF=31.4 : x=(1.47,0.297,-7.9) -E1 : e- : pT=9.85e-05 : TOF=35.5 : x=(1.64,0.645,-8.1) -E1 : pi- : pT=0.479 : TOF=26.7 : x=(1.22,0.118,-7.9) -E1 : proton : pT=4.62 : TOF=26.9 : x=(1.5,-0.603,-7.9) -B1 : mu+ : pT=26 : TOF=23.9 : x=(2.25,3.76,-5.67) -B6 : mu- : pT=69.1 : TOF=14.7 : x=(0.928,-4.25,-0.725) -E1 : mu- : pT=13.4 : TOF=27 : x=(1.57,0.897,-7.9) +*** Muon System Hit (#hits=8) +E1 : e- : pT=0.00073 : TOF=28.2 : x=(0.99,0.139,-7.96) +E1 : pi- : pT=0.165 : TOF=26.9 : x=(-0.182,1.19,-7.9) +E0 : mu- : pT=0.44 : TOF=28.6 : x=(2.58,1.75,7.9) +E0 : pi+ : pT=0.371 : TOF=26.7 : x=(0.694,0.908,7.9) +B5 : mu+ : pT=16.3 : TOF=14.6 : x=(-4,-2.01,0.179) +B1 : mu- : pT=99.8 : TOF=14.3 : x=(3.37,2.64,0.181) +B1 : mu+ : pT=61.3 : TOF=17.5 : x=(3.08,2.93,3.26) +B4 : mu- : pT=29.8 : TOF=18.8 : x=(-4.25,-0.446,3.89) Print out hit information ------------------------------------------ -*** Muon System Hit (#hits=30) -E1 : pi+ : pT=0.166 : TOF=26.7 : x=(1.12,-0.337,-7.9) -E1 : pi+ : pT=1.02 : TOF=26.7 : x=(0.697,-1.04,-7.9) -E1 : e- : pT=0.000289 : TOF=28.4 : x=(0.591,-1.27,-7.9) -E0 : e- : pT=0.000728 : TOF=30.8 : x=(-0.45,-1.41,7.9) -E0 : e- : pT=0.000719 : TOF=31.8 : x=(-0.644,-1.57,7.9) -E0 : e- : pT=0.000316 : TOF=31.7 : x=(0.00585,1.01,8.1) -E0 : e- : pT=9.28e-05 : TOF=32.3 : x=(0.0367,1.07,8.1) -E0 : pi+ : pT=0.494 : TOF=27.4 : x=(1.72,1.35,7.9) -E0 : pi- : pT=0.852 : TOF=27 : x=(0.608,1.57,7.9) -E0 : pi+ : pT=0.157 : TOF=26.9 : x=(0.824,-0.83,7.9) -E0 : pi+ : pT=1.12 : TOF=26.9 : x=(0.824,1.31,7.9) -E0 : pi- : pT=3.91 : TOF=27.1 : x=(0.862,1.62,7.9) -E0 : pi- : pT=5.64 : TOF=27 : x=(0.727,1.58,7.9) -E0 : pi+ : pT=8.16 : TOF=26.9 : x=(0.879,1.39,7.9) -E0 : pi- : pT=10.7 : TOF=26.9 : x=(0.657,1.47,7.9) -B1 : pi+ : pT=0.263 : TOF=19.4 : x=(2.33,3.68,-3.39) -E0 : pi- : pT=4.37 : TOF=26.8 : x=(0.612,1.32,7.9) -E0 : pi+ : pT=15.6 : TOF=26.8 : x=(0.604,1.27,7.9) -E1 : pi+ : pT=0.944 : TOF=26.9 : x=(1.53,0.126,-7.9) -E1 : pi- : pT=1.12 : TOF=26.7 : x=(1.17,-0.392,-7.9) -E0 : pi- : pT=0.469 : TOF=26.7 : x=(-1.16,-0.196,7.9) -E0 : pi+ : pT=0.296 : TOF=27.1 : x=(0.93,1.48,7.9) -E1 : pi- : pT=0.0886 : TOF=27.1 : x=(1.58,0.352,-7.9) -E1 : pi+ : pT=0.16 : TOF=27.5 : x=(0.884,1.03,-7.9) -E0 : anti_proton : pT=16.7 : TOF=26.8 : x=(0.597,1.37,7.9) -E0 : proton : pT=28.3 : TOF=26.7 : x=(0.579,1.24,7.9) -E0 : mu+ : pT=31.2 : TOF=27.2 : x=(-1.93,0.597,7.9) -E0 : mu- : pT=109 : TOF=27.2 : x=(-0.222,-2.01,7.9) -E0 : mu+ : pT=47.9 : TOF=28.6 : x=(-3.08,1.3,7.9) -B0 : mu- : pT=37.8 : TOF=27.2 : x=(4.25,-1.43,6.83) +*** Muon System Hit (#hits=19) +E1 : mu+ : pT=0.116 : TOF=28.3 : x=(1.14,-1.24,-7.9) +E1 : pi- : pT=0.648 : TOF=26.6 : x=(-0.559,0.842,-7.9) +E1 : e+ : pT=0.401 : TOF=26.6 : x=(-1.02,0.138,-7.9) +E1 : e- : pT=0.0355 : TOF=26.6 : x=(-1.06,0.0516,-7.9) +E0 : mu+ : pT=0.366 : TOF=27.9 : x=(-1.03,-2.47,7.9) +E0 : pi+ : pT=0.633 : TOF=26.7 : x=(-0.724,-0.932,7.9) +E1 : e- : pT=0.000843 : TOF=27.9 : x=(-1.08,0.00982,-7.9) +E1 : e- : pT=0.000484 : TOF=32 : x=(-1.85,0.00341,-7.9) +E1 : e- : pT=0.000328 : TOF=33.2 : x=(-2.05,-0.0504,-7.9) +E1 : e- : pT=0.000287 : TOF=33.3 : x=(-2.07,-0.0673,-7.9) +E1 : pi- : pT=0.913 : TOF=26.6 : x=(1.02,0.467,-7.9) +E0 : pi+ : pT=0.692 : TOF=26.6 : x=(-0.161,-0.998,7.9) +E1 : mu+ : pT=0.147 : TOF=27.2 : x=(1.05,0.0827,-7.9) +E1 : pi- : pT=0.311 : TOF=26.7 : x=(0.193,-1.14,-7.9) +E0 : mu+ : pT=4.53 : TOF=27.4 : x=(-2.23,-1,7.9) +E1 : mu- : pT=24.7 : TOF=26.9 : x=(0.367,1.72,-7.9) +E1 : mu+ : pT=21.7 : TOF=28.3 : x=(3.31,-0.638,-7.9) +E1 : e- : pT=0.000552 : TOF=29.1 : x=(3.35,-0.316,-7.9) +B5 : mu- : pT=23.6 : TOF=22.8 : x=(-3.66,-2.35,5.45) Print out hit information ------------------------------------------ -*** Muon System Hit (#hits=20) -E1 : pi+ : pT=0.165 : TOF=29.3 : x=(1.32,-1.81,-7.9) -E1 : e- : pT=0.000597 : TOF=29.2 : x=(1.07,-1.39,-7.9) -E1 : pi+ : pT=0.0943 : TOF=26.7 : x=(0.439,1.03,-7.9) -E1 : anti_proton : pT=0.721 : TOF=27.2 : x=(-1.01,0.89,-7.9) -E1 : pi- : pT=0.611 : TOF=27.5 : x=(-2.17,0.675,-7.9) -E1 : kaon- : pT=1.47 : TOF=28.8 : x=(-3.38,0.16,-7.9) -E1 : pi- : pT=2.38 : TOF=27.6 : x=(2.18,-1.1,-7.9) -E1 : pi+ : pT=0.771 : TOF=27.7 : x=(-1.88,1.58,-7.9) -E1 : pi- : pT=2.16 : TOF=26.8 : x=(-1.12,1.04,-7.9) -E1 : pi+ : pT=2.15 : TOF=27.3 : x=(-1.67,1.33,-7.9) -E1 : pi+ : pT=0.386 : TOF=26.8 : x=(-1.35,-0.352,-7.9) -E1 : kaon- : pT=0.162 : TOF=28.1 : x=(-0.343,1.08,-7.9) -E0 : pi+ : pT=0.0659 : TOF=27.2 : x=(0.999,-0.516,7.9) -E1 : pi+ : pT=3.06 : TOF=28.1 : x=(-2.81,0.669,-7.9) -E1 : pi- : pT=0.469 : TOF=26.9 : x=(-0.826,-1.18,-7.9) -B0 : pi- : pT=0.513 : TOF=26.2 : x=(4.25,1.57,-6.02) -B1 : anti_proton : pT=1.87 : TOF=25.5 : x=(3.28,2.73,-6.11) -B1 : pi- : pT=0.252 : TOF=27.4 : x=(3.01,3,-6.82) -B4 : mu+ : pT=11.7 : TOF=19.7 : x=(-4.25,-0.112,-4.1) -E1 : mu+ : pT=56.4 : TOF=26.9 : x=(-1.46,-0.565,-7.9) +*** Muon System Hit (#hits=6) +E0 : pi+ : pT=0.0446 : TOF=28 : x=(-1.14,-0.198,7.9) +E0 : e- : pT=0.000906 : TOF=27.3 : x=(0.952,-0.655,7.9) +B1 : mu- : pT=18.5 : TOF=21.2 : x=(1.89,4.12,4.53) +E1 : mu+ : pT=11.2 : TOF=26.4 : x=(-1.15,-0.409,-7.9) +B6 : mu+ : pT=14.5 : TOF=19 : x=(0.0224,-4.25,3.78) +E1 : mu- : pT=40.7 : TOF=27.6 : x=(-0.925,-2.41,-7.9) Print out hit information ------------------------------------------ -*** Muon System Hit (#hits=28) -E1 : pi+ : pT=0.307 : TOF=26.6 : x=(-0.554,0.86,-7.9) -E1 : pi- : pT=0.959 : TOF=26.9 : x=(-0.985,-1.17,-7.9) -E0 : pi- : pT=0.596 : TOF=26.7 : x=(-1,-0.81,7.9) -E0 : pi+ : pT=0.309 : TOF=27.2 : x=(-1.76,0.865,7.9) -E0 : pi- : pT=0.214 : TOF=27.8 : x=(-0.206,-2.48,7.9) -E0 : pi- : pT=0.591 : TOF=26.8 : x=(1.25,-0.443,7.9) -E0 : pi- : pT=0.0599 : TOF=27 : x=(0.979,-0.514,7.9) -E0 : pi+ : pT=0.267 : TOF=26.9 : x=(-0.336,1.46,7.9) -B2 : kaon+ : pT=1.36 : TOF=17.2 : x=(-0.516,4.25,-2.62) -E1 : pi+ : pT=0.202 : TOF=27.9 : x=(-0.309,2.25,-7.9) -E1 : pi+ : pT=0.881 : TOF=26.7 : x=(-1.19,0.478,-7.9) -E1 : e- : pT=0.00131 : TOF=27.6 : x=(-1.76,0.594,-7.9) -E1 : proton : pT=0.943 : TOF=26.8 : x=(-0.992,0.124,-7.9) -E1 : pi+ : pT=0.635 : TOF=27.7 : x=(-2.42,0.676,-7.9) -E0 : pi- : pT=0.287 : TOF=26.6 : x=(0.973,-0.258,7.9) -E0 : pi+ : pT=0.265 : TOF=27.6 : x=(0.283,2.32,7.9) -E0 : pi+ : pT=0.327 : TOF=26.9 : x=(0.756,-1.42,7.9) -E0 : pi+ : pT=0.578 : TOF=26.6 : x=(0.742,-0.888,7.9) -E0 : kaon- : pT=1.56 : TOF=26.7 : x=(1.13,-0.183,7.9) -E1 : e- : pT=0.000292 : TOF=30.1 : x=(0.721,-0.693,-8.01) -E1 : pi- : pT=0.211 : TOF=27.6 : x=(-1.82,1.34,-7.9) -E1 : pi+ : pT=0.418 : TOF=26.8 : x=(-0.159,-1.37,-7.9) -E1 : pi- : pT=2.87 : TOF=27 : x=(-1.69,0.163,-7.9) -E1 : e- : pT=0.000833 : TOF=37.8 : x=(-3.32,-0.67,-8.1) -E0 : proton : pT=1.08 : TOF=29.9 : x=(-2.23,2.52,7.9) -B1 : mu- : pT=34.7 : TOF=14.7 : x=(2.31,3.7,-0.56) -B6 : mu+ : pT=49.6 : TOF=15.1 : x=(-1,-4.25,1.16) -B4 : mu- : pT=50.5 : TOF=19.7 : x=(-4.25,1.09,3.97) +*** Muon System Hit (#hits=10) +E1 : pi- : pT=0.882 : TOF=26.6 : x=(0.988,-0.539,-7.9) +E1 : pi+ : pT=0.349 : TOF=26.7 : x=(0.446,-1.09,-7.9) +E1 : e- : pT=0.000883 : TOF=34 : x=(-0.928,-0.372,-8.03) +E0 : e- : pT=0.00264 : TOF=27.6 : x=(-0.991,-0.131,8.06) +E0 : pi- : pT=0.146 : TOF=32.6 : x=(-0.0586,-1.41,7.9) +B1 : mu+ : pT=30 : TOF=15.6 : x=(4.05,1.96,-1.3) +B4 : mu- : pT=68.1 : TOF=14.7 : x=(-4.25,0.687,-1) +B1 : mu- : pT=43.3 : TOF=14.1 : x=(3.15,2.86,0.525) +B4 : mu+ : pT=34.3 : TOF=19.8 : x=(-4.25,-0.729,4.2) +B4 : e- : pT=0.000613 : TOF=21.4 : x=(-4.25,-1.08,4.35) Print out hit information ------------------------------------------ -*** Muon System Hit (#hits=21) -E1 : pi+ : pT=0.27 : TOF=26.6 : x=(0.188,-1,-7.9) -E1 : pi- : pT=0.124 : TOF=27.1 : x=(-1.06,1.21,-7.9) -E1 : pi+ : pT=0.635 : TOF=27.9 : x=(-1.79,1.71,-7.9) -E1 : mu- : pT=0.717 : TOF=26.6 : x=(-0.547,-0.899,-7.9) -E1 : pi+ : pT=0.234 : TOF=26.8 : x=(0.923,-0.816,-7.9) -E1 : pi+ : pT=0.32 : TOF=26.7 : x=(-0.429,1.1,-7.9) -E1 : e- : pT=0.00383 : TOF=26.8 : x=(-0.353,1.24,-7.9) -E1 : anti_proton : pT=0.955 : TOF=26.8 : x=(-0.315,-1.04,-7.9) -E0 : pi+ : pT=0.165 : TOF=27.8 : x=(-2.01,1.34,7.9) -E0 : pi+ : pT=0.625 : TOF=26.6 : x=(0.946,-0.635,7.9) -E1 : pi+ : pT=1.52 : TOF=26.7 : x=(0.648,-1,-7.9) -E0 : pi- : pT=0.373 : TOF=28 : x=(2.69,0.635,7.9) -E0 : e- : pT=0.000599 : TOF=29.8 : x=(0.811,1.33,7.9) -E0 : mu+ : pT=0.17 : TOF=27 : x=(-0.497,1.42,7.9) -E1 : proton : pT=0.407 : TOF=32.5 : x=(-2.95,1.58,-7.9) -E0 : pi+ : pT=0.0365 : TOF=26.7 : x=(-0.879,-0.569,7.9) -E0 : pi+ : pT=0.26 : TOF=27.3 : x=(-1.5,-1.24,7.9) -E0 : mu+ : pT=4.39 : TOF=27.5 : x=(-2.21,-0.958,7.9) -E1 : mu- : pT=24.6 : TOF=27 : x=(0.371,1.72,-7.9) -E1 : mu+ : pT=22.1 : TOF=28.7 : x=(3.32,-0.631,-7.9) -B5 : mu- : pT=23.2 : TOF=23.4 : x=(-3.65,-2.36,5.51) - - Print out hit information ------------------------------------------- -*** Muon System Hit (#hits=20) -E1 : pi+ : pT=0.187 : TOF=26.8 : x=(-0.209,1.14,-7.9) -E1 : pi+ : pT=0.735 : TOF=26.8 : x=(0.0321,1.39,-7.9) -E0 : e- : pT=0.000674 : TOF=30.1 : x=(-0.555,0.832,8.06) -E0 : e- : pT=0.000153 : TOF=32.1 : x=(-0.593,0.805,7.99) -E0 : pi+ : pT=0.353 : TOF=26.7 : x=(1.1,-0.0897,7.9) -E0 : pi- : pT=0.394 : TOF=26.9 : x=(1.48,0.0201,7.9) -E0 : pi- : pT=0.548 : TOF=26.7 : x=(1.15,-0.0456,7.9) -E0 : e- : pT=0.00198 : TOF=27.4 : x=(1.1,0.864,7.9) -E0 : e- : pT=0.00186 : TOF=27.8 : x=(1.02,1.17,7.9) -E1 : pi- : pT=0.998 : TOF=26.7 : x=(1.21,-0.139,-7.9) -E1 : pi+ : pT=0.623 : TOF=26.6 : x=(0.885,0.548,-7.9) -B0 : proton : pT=2.12 : TOF=16.1 : x=(4.25,-1.3,-1.04) -E1 : pi+ : pT=0.182 : TOF=28.6 : x=(1.54,-2.38,-7.9) -E1 : pi+ : pT=1.05 : TOF=26.7 : x=(0.53,-0.848,-7.94) -E1 : pi- : pT=0.872 : TOF=26.6 : x=(0.467,-0.902,-7.9) -E1 : proton : pT=1.27 : TOF=26.7 : x=(-0.53,-0.878,-7.9) -E0 : anti_proton : pT=1.35 : TOF=26.8 : x=(0.734,0.98,7.9) -E0 : pi+ : pT=0.767 : TOF=26.9 : x=(0.887,-1.23,7.9) -E1 : anti_proton : pT=0.777 : TOF=27 : x=(-1.01,-0.448,-7.9) -E1 : mu- : pT=0.151 : TOF=30.9 : x=(-0.318,1.98,-7.9) +*** Muon System Hit (#hits=16) +E0 : pi- : pT=0.151 : TOF=26.8 : x=(0.183,-1.01,7.9) +E0 : e- : pT=0.00193 : TOF=26.9 : x=(0.18,-1.02,7.9) +E0 : pi- : pT=0.481 : TOF=26.7 : x=(0.125,-1.15,7.9) +E1 : pi- : pT=0.312 : TOF=26.7 : x=(1.18,-0.184,-7.9) +E0 : pi+ : pT=0.277 : TOF=26.6 : x=(0.706,-0.785,7.9) +E1 : e- : pT=0.000605 : TOF=29.7 : x=(-1.28,0.977,-7.9) +E0 : pi- : pT=1.08 : TOF=26.6 : x=(0.412,-0.944,7.9) +E0 : pi+ : pT=1.21 : TOF=26.6 : x=(0.752,-0.668,7.9) +E0 : proton : pT=0.539 : TOF=27.5 : x=(0.937,-0.695,7.9) +E0 : pi- : pT=2 : TOF=26.7 : x=(0.67,0.991,7.9) +E0 : pi+ : pT=0.582 : TOF=26.7 : x=(-1.12,-0.464,7.9) +E0 : pi+ : pT=0.668 : TOF=26.6 : x=(0.107,1.03,7.9) +E1 : e- : pT=0.00118 : TOF=31.9 : x=(-0.182,-2.37,-7.9) +E0 : mu- : pT=29.8 : TOF=27.4 : x=(-2.23,-0.524,7.9) +B7 : mu- : pT=55.5 : TOF=15.6 : x=(1.92,-4.09,1.26) +E0 : mu+ : pT=18.1 : TOF=27.2 : x=(1.26,1.59,7.9) 1********* PYSTAT: Statistics on Number of Events and Cross-sections ********* @@ -661,14 +712,12 @@ E1 : mu- : pT=0.151 : TOF=30.9 : x=(-0.318,1.98,-7.9) I I I I ============================================================================== I I I I - I 0 All included subprocesses I 10 36 I 4.123E-12 I - I 102 g + g -> h0 I 4 8 I 2.597E-12 I - I 123 f + f' -> f + f' + h0 I 2 4 I 3.981E-13 I - I 124 f + f' -> f" + f"' + h0 I 4 24 I 1.129E-12 I + I 0 All included subprocesses I 10 43 I 3.988E-12 I + I 102 g + g -> h0 I 7 13 I 2.929E-12 I + I 123 f + f' -> f + f' + h0 I 1 9 I 3.282E-13 I + I 124 f + f' -> f" + f"' + h0 I 2 21 I 7.305E-13 I I I I I ============================================================================== ********* Fraction of events that fail fragmentation cuts = 0.00000 ********* -Graphics systems deleted. -Visualization Manager deleting... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/HepMCG4AsciiReader.hh b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/HepMCG4AsciiReader.hh index 9d6db5d6e7..1452d9e5ac 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/HepMCG4AsciiReader.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/HepMCG4AsciiReader.hh @@ -26,21 +26,21 @@ // ==================================================================== // // HepMCG4AsciiReader.hh -// $Id: HepMCG4AsciiReader.hh,v 1.4 2006/06/29 17:10:08 gunter Exp $ +// $Id: HepMCG4AsciiReader.hh,v 1.5 2010/05/24 05:31:10 kmura Exp $ // // ==================================================================== #ifndef HEPMC_G4_ASCII_READER_H #define HEPMC_G4_ASCII_READER_H #include "HepMCG4Interface.hh" -#include "HepMC/IO_Ascii.h" +#include "HepMC/IO_AsciiParticles.h" class HepMCG4AsciiReaderMessenger; class HepMCG4AsciiReader : public HepMCG4Interface { protected: G4String filename; - HepMC::IO_Ascii* asciiInput; + HepMC::IO_AsciiParticles* asciiInput; G4int verbose; HepMCG4AsciiReaderMessenger* messenger; diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4AsciiReader.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4AsciiReader.cc index 169d250551..cff352bdb8 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4AsciiReader.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4AsciiReader.cc @@ -26,7 +26,7 @@ // ==================================================================== // // HepMCG4AsciiReader.cc -// $Id: HepMCG4AsciiReader.cc,v 1.5 2006/06/29 17:12:09 gunter Exp $ +// $Id: HepMCG4AsciiReader.cc,v 1.6 2010/05/24 05:29:44 kmura Exp $ // // ==================================================================== #include "HepMCG4AsciiReader.hh" @@ -40,7 +40,7 @@ HepMCG4AsciiReader::HepMCG4AsciiReader() : filename("xxx.dat"), verbose(0) //////////////////////////////////////// { - asciiInput= new HepMC::IO_Ascii(filename.c_str(), std::ios::in); + asciiInput= new HepMC::IO_AsciiParticles(filename.c_str(), std::ios::in); messenger= new HepMCG4AsciiReaderMessenger(this); } @@ -59,7 +59,7 @@ void HepMCG4AsciiReader::Initialize() { delete asciiInput; - asciiInput= new HepMC::IO_Ascii(filename.c_str(), std::ios::in); + asciiInput= new HepMC::IO_AsciiParticles(filename.c_str(), std::ios::in); asciiInput-> print(); } diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4Interface.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4Interface.cc index c6c4cb2206..d3fcb4d367 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4Interface.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4Interface.cc @@ -26,7 +26,7 @@ // ==================================================================== // // HepMCG4Interface.cc -// $Id: HepMCG4Interface.cc,v 1.4 2006/06/29 17:12:24 gunter Exp $ +// $Id: HepMCG4Interface.cc,v 1.5 2010/05/24 05:29:44 kmura Exp $ // // ==================================================================== #include "HepMCG4Interface.hh" @@ -90,7 +90,8 @@ void HepMCG4Interface::HepMC2G4(const HepMC::GenEvent* hepmcevt, if (!qvtx) continue; // check world boundary - G4LorentzVector xvtx= (*vitr)-> position(); + HepMC::FourVector pos= (*vitr)-> position(); + G4LorentzVector xvtx(pos.x(), pos.y(), pos.z(), pos.t()); if (! CheckVertexInsideWorld(xvtx.vect()*mm)) continue; // create G4PrimaryVertex and associated G4PrimaryParticles @@ -105,7 +106,8 @@ void HepMCG4Interface::HepMC2G4(const HepMC::GenEvent* hepmcevt, if( (*vpitr)->status() != 1 ) continue; G4int pdgcode= (*vpitr)-> pdg_id(); - G4LorentzVector p= (*vpitr)-> momentum(); + pos= (*vpitr)-> momentum(); + G4LorentzVector p(pos.px(), pos.py(), pos.pz(), pos.e()); G4PrimaryParticle* g4prim= new G4PrimaryParticle(pdgcode, p.x()*GeV, p.y()*GeV, p.z()*GeV); diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4PythiaInterface.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4PythiaInterface.cc index 9aee3b5632..1b716a197f 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4PythiaInterface.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/HepMCG4PythiaInterface.cc @@ -26,7 +26,7 @@ // ==================================================================== // // HepMCG4PythiaInterface.cc -// $Id: HepMCG4PythiaInterface.cc,v 1.6 2006/07/05 12:04:13 gcosmo Exp $ +// $Id: HepMCG4PythiaInterface.cc,v 1.7 2010/05/24 05:29:44 kmura Exp $ // // ==================================================================== @@ -36,7 +36,7 @@ #include "HepMCG4PythiaMessenger.hh" #include "HepMC/GenEvent.h" -#include "HepMC/PythiaWrapper6_152.h" +#include "HepMC/PythiaWrapper6_4.h" // additional pythia calls #define pygive pygive_ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/vis.mac b/examples/extended/eventgenerator/HepMC/HepMCEx02/vis.mac index b68a0abdd6..7caa336e57 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/vis.mac +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/vis.mac @@ -1,5 +1,5 @@ # -# Macro file for the initialization phase +# Macro file for the initialization phase of "exampleN02.cc" # when runing in interactive mode # # Sets some default verbose @@ -7,26 +7,73 @@ /control/verbose 2 /run/verbose 2 # -# create empty scene +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/scene/create +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -/vis/open OGLIX +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -####/vis/open DAWNFILE +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -# draw scene +# Draw geometry: +/vis/drawVolume # -/vis/viewer/set/viewpointThetaPhi 90 180 deg +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: /vis/viewer/zoom 1.4 -/vis/viewer/flush # -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) -/tracking/storeTrajectory 1 -/vis/scene/add/trajectories +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate - +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# +# Now ready for /run/beamOn. diff --git a/examples/extended/eventgenerator/HepMC/History b/examples/extended/eventgenerator/HepMC/History index 6ff387acaa..be32372b10 100644 --- a/examples/extended/eventgenerator/HepMC/History +++ b/examples/extended/eventgenerator/HepMC/History @@ -1,4 +1,4 @@ -$Id: History,v 1.18 2006/11/22 15:09:43 gcosmo Exp $ +$Id: History,v 1.22 2010/12/10 06:23:16 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,22 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +December 10th 2010 K.Murakami (exHepMC-V09-03-03) +- HepMCEx01: update for latest HepMC version (2.06.03) +- HepMCEx01/02 : use QGSP_BERT physics list + update outputs + update data/ directory for latest HepMC + +June 4, 2010 J. Perl (exHepMC-V09-03-02) + +May 24, 2010 K. Murakami (exHepMC-V09-03-01) +- HepMCEx02: Introdiced G4UIExecutive. + update for latest HepMC (2.06.00) + use QGSP physics list + +May 12, 2010 J.Allison (exHepMC-V09-03-00) +- HepMCEx01: Introduced GUIExecutive. + Nov 22, 2006 G.Cosmo (exHepMC-V08-01-05) - Added new example 'MCTruth' showing handling of MC truth information through the HepMC package (W.Pokorski). diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/GNUmakefile b/examples/extended/eventgenerator/HepMC/MCTruth/GNUmakefile index 1671b4e774..922afc7f37 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/GNUmakefile +++ b/examples/extended/eventgenerator/HepMC/MCTruth/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2006/11/22 14:51:26 gcosmo Exp $ +# $Id: GNUmakefile,v 1.2 2010/12/02 15:37:20 witoldp Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. # -------------------------------------------------------------- @@ -21,5 +21,5 @@ all: lib bin else all: @echo 'ERROR - HEPMC_DIR not defined in the environment !' - @echo ' Requires HepMC release 1.27.' + @echo ' Tested with HepMC release 2.06.03.' endif diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/History b/examples/extended/eventgenerator/HepMC/MCTruth/History index 0bcfdb5307..899b07bf50 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/History +++ b/examples/extended/eventgenerator/HepMC/MCTruth/History @@ -1,4 +1,4 @@ -$Id: History,v 1.1 2006/11/22 14:51:26 gcosmo Exp $ +$Id: History,v 1.4 2010/12/03 12:51:29 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,5 +15,9 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -22 November 2006 G.Cosmo (mctruth-V08-01-00) +2 December 2010 W.Pokorski (mctruthex-V09-03-00) +- Updated to use HepMC-2.06.03; reviewd use of 4-vectors. +- Migrated to use particle-based multiple-scattering. + +22 November 2006 G.Cosmo - Created from original example provided by W.Pokorski. diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/README b/examples/extended/eventgenerator/HepMC/MCTruth/README index 03a88ebe26..da31d39ad9 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/README +++ b/examples/extended/eventgenerator/HepMC/MCTruth/README @@ -1,4 +1,4 @@ -$Id: README,v 1.1 2006/11/22 14:51:26 gcosmo Exp $ +$Id: README,v 1.2 2010/12/02 15:37:20 witoldp Exp $ ------------------------------------------------------------------- ========================================================= @@ -19,7 +19,7 @@ MCTruthConfig class. HOW TO BUILD THE EXAMPLE ? -- install HepMC event record (version 1.27) +- install HepMC event record (version 2.06.03) - set HEPMC_DIR variable to point to the directory where HepMC is installed; add the path "$HEPMC_DIR/lib" to your LD_LIBRARY_PATH variable. diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthManager.cc b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthManager.cc index 62b233ff35..0dabbd642e 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthManager.cc +++ b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: MCTruthManager.cc,v 1.2 2006/12/13 15:42:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: MCTruthManager.cc,v 1.4 2010/12/15 07:38:50 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -95,7 +95,8 @@ void MCTruthManager::AddParticle(G4LorentzVector& momentum, // we first check whether the mother's end vertex corresponds to the particle's // production vertex HepMC::GenVertex* motherendvtx = mother->end_vertex(); - G4LorentzVector motherendpos = motherendvtx->position(); + HepMC::FourVector mp0 = motherendvtx->position(); + G4LorentzVector motherendpos(mp0.x(), mp0.y(), mp0.z(), mp0.t()); if( motherendpos.x() == prodpos.x() && motherendpos.y() == prodpos.y() && @@ -118,7 +119,8 @@ void MCTruthManager::AddParticle(G4LorentzVector& momentum, { if((*it)->pdg_id()==-999999) { - G4LorentzVector dummypos = (*it)->end_vertex()->position(); + HepMC::FourVector dp0 = (*it)->end_vertex()->position(); + G4LorentzVector dummypos(dp0.x(), dp0.y(), dp0.z(), dp0.t());; if( dummypos.x() == prodpos.x() && dummypos.y() == prodpos.y() && @@ -259,7 +261,11 @@ void MCTruthManager::printTree(HepMC::GenParticle* particle, G4String offset) { G4cout << offset << "--- barcode: " << particle->barcode() << " pdg: " << particle->pdg_id() << " energy: " << particle->momentum().e() - << " production vertex: "<< particle->production_vertex()->position() + << " production vertex: " + << particle->production_vertex()->position().x() << ", " + << particle->production_vertex()->position().y() << ", " + << particle->production_vertex()->position().z() << ", " + << particle->production_vertex()->position().t() << G4endl; for(HepMC::GenVertex::particles_out_const_iterator @@ -269,7 +275,9 @@ void MCTruthManager::printTree(HepMC::GenParticle* particle, G4String offset) { G4String deltaoffset = ""; - if( std::fmod((*it)->barcode(),10000000) != std::fmod(particle->barcode(),10000000) ) + G4int curr = std::fmod((*it)->barcode(),10000000); + G4int part = std::fmod(particle->barcode(),10000000); + if( curr != part ) { deltaoffset = " | "; } diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/src/PhysicsList.cc b/examples/extended/eventgenerator/HepMC/MCTruth/src/PhysicsList.cc index 4016b43647..e04469b466 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/src/PhysicsList.cc +++ b/examples/extended/eventgenerator/HepMC/MCTruth/src/PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.cc,v 1.1 2006/11/22 14:51:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysicsList.cc,v 1.2 2010/12/02 15:37:20 witoldp Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -129,16 +129,17 @@ void PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" - +#include "G4eMultipleScattering.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 "G4StepLimiter.hh" @@ -160,13 +161,13 @@ void PhysicsList::ConstructEM() } 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); @@ -174,7 +175,7 @@ void PhysicsList::ConstructEM() } 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); @@ -183,7 +184,7 @@ void PhysicsList::ConstructEM() (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); //step limit pmanager->AddProcess(new G4StepLimiter, -1,-1,3); diff --git a/examples/extended/eventgenerator/HepMC/README b/examples/extended/eventgenerator/HepMC/README index 779cc74776..5d1111d238 100644 --- a/examples/extended/eventgenerator/HepMC/README +++ b/examples/extended/eventgenerator/HepMC/README @@ -9,9 +9,8 @@ It also include an example for demonstrating MC truth handling with HepMC. Requirements for external software packages ------------------------------------------- HepMC: - tested version : 1.27.02 - http://lcgapp.cern.ch/project/spi/extsoft/packages.php?pkg=HepMC - http://cern.ch/mdobbs/HepMC/ + tested version : 2.06.03 + http://lcgapp.cern.ch/project/simu/HepMC/ Note: examples were tested only on Linux with gcc. diff --git a/examples/extended/eventgenerator/exgps/GNUmakefile b/examples/extended/eventgenerator/exgps/GNUmakefile index adb7daf6b8..70b2f68574 100644 --- a/examples/extended/eventgenerator/exgps/GNUmakefile +++ b/examples/extended/eventgenerator/exgps/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.5 2008/12/02 21:42:48 flei Exp $ +# $Id: GNUmakefile,v 1.6 2010/01/11 16:33:59 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for tests module. Gabriele Cosmo, 27/06/98. # -------------------------------------------------------------- @@ -8,15 +8,10 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../../../.. endif .PHONY: all all: lib bin include $(G4INSTALL)/config/binmake.gmk - -#G4VIS_BUILD_OPENGLX_DRIVER = 0 -#G4VIS_USE_OPENGLX = 0 -#LDFLAGS += -static - diff --git a/examples/extended/eventgenerator/exgps/History b/examples/extended/eventgenerator/exgps/History index efaae92397..027c60b170 100644 --- a/examples/extended/eventgenerator/exgps/History +++ b/examples/extended/eventgenerator/exgps/History @@ -11,6 +11,30 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +10/11/2010 - F.Lei (exgps-V09-03-05) +- Added extra tests in the macros directory + test35,36,37 for automatic energy biasing + test38 for import energy spectrum in ascii file +- Changed all test*.g4mac files to produced .root rather than .aida files +- Added plotfiles.py and plotall.py and plottest35.C for plotting the results + using pyRoot and Root. + +09/11/2010 - J.Allison (exgps-V09-03-04) +- Removed #include G4UIXm.hh (causes conflict with G4UIExecutive.hh) + +22/10/2010 - G.Folger (exgps-V09-03-03) +- Correct exgps_batch.in removing Vis + +18/10/2010 - G.Folger (exgps-V09-03-02) +- Fix compilation warning; occurs only if G4ANALYSIS_USE not set +- add exgps_batch.in, a copy of exgpgs.in without /analysis commands + +03/06/2010 - J.Perl (exgps-V09-03-01) +- Updated vis usage + +12/05/2010 J.Allison (exgps-V09-03-00) +- Introduced GUIExecutive. + 08/12/2008 G.Barrand - correct / compleete the part concerning AIDA in the README file. diff --git a/examples/extended/eventgenerator/exgps/README b/examples/extended/eventgenerator/exgps/README index 4931300d7e..c21e848921 100644 --- a/examples/extended/eventgenerator/exgps/README +++ b/examples/extended/eventgenerator/exgps/README @@ -34,7 +34,7 @@ 5. VISUALIZATION: Visualisation of the geometry and the tracks is possible with many of the G4 visualisation packages. An - example of displaying the geometry and tracks using VRML is given in the macro file display_vrml.mac. + example of displaying the geometry and tracks using VRML is given in the macro file vis.mac. 6. ANALYSIS: diff --git a/examples/extended/eventgenerator/exgps/display_vrml.mac b/examples/extended/eventgenerator/exgps/display_vrml.mac deleted file mode 100644 index e89308d090..0000000000 --- a/examples/extended/eventgenerator/exgps/display_vrml.mac +++ /dev/null @@ -1,12 +0,0 @@ -/vis/scene/create -/vis/open VRML2FILE -/vis/viewer/reset -/vis/viewer/zoom 1. -/vis/viewer/set/style wireframe -/vis/drawVolume -/vis/scene/endOfEventAction accumulate -/tracking/storeTrajectory 1 -# -# Flush visualization -#/vis/viewer/update - diff --git a/examples/extended/eventgenerator/exgps/exGPS.cc b/examples/extended/eventgenerator/exgps/exGPS.cc index a3baab309f..ee53eed106 100644 --- a/examples/extended/eventgenerator/exgps/exGPS.cc +++ b/examples/extended/eventgenerator/exgps/exGPS.cc @@ -25,12 +25,6 @@ // #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" - -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif #ifdef G4ANALYSIS_USE #include "exGPSAnalysisManager.hh" @@ -40,6 +34,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #include "exGPSGeometryConstruction.hh" #include "exGPSPhysicsList.hh" #include "exGPSPrimaryGeneratorAction.hh" @@ -71,48 +69,34 @@ int main(int argc,char** argv) { runManager->SetUserAction(runAction); runManager->SetUserAction(eventAction); - 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 - } - + //Initialize G4 kernel + runManager->Initialize(); + // visualization manager #ifdef G4VIS_USE G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); #endif - //Initialize G4 kernel - runManager->Initialize(); - // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); // UI->ApplyCommand("/control/execute display.mac"); - if (session) // Define UI session for interactive mode. + if (argc!=1) // batch mode { - // G4UIterminal is a (dumb) terminal. - session->SessionStart(); - delete session; - } - else // Batch mode - { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } - + else + { // interactive mode : define UI session +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; +#endif + } + // job termination #ifdef G4ANALYSIS_USE diff --git a/examples/extended/eventgenerator/exgps/exgps.in b/examples/extended/eventgenerator/exgps/exgps.in index 2cdcd4acec..e347ee3dc7 100644 --- a/examples/extended/eventgenerator/exgps/exgps.in +++ b/examples/extended/eventgenerator/exgps/exgps.in @@ -34,7 +34,7 @@ /event/printModulo 1000 #/tracking/verbose 1 # -/control/execute display_vrml.mac +/control/execute macros/display.mac # /run/beamOn 2000 diff --git a/examples/extended/eventgenerator/exgps/exgps_batch.in b/examples/extended/eventgenerator/exgps/exgps_batch.in new file mode 100644 index 0000000000..efc28da108 --- /dev/null +++ b/examples/extended/eventgenerator/exgps/exgps_batch.in @@ -0,0 +1,40 @@ +# focused beam +# +/gps/verbose 0 +/gps/particle geantino +# +# the incident surface is in the y-z plane +/gps/pos/type Plane +/gps/pos/rot1 0 1 0 +/gps/pos/rot2 0 0 1 +# +# the incident surface is a disc of 10 cm +/gps/pos/shape Circle +/gps/pos/centre -10. 0. 0. cm +/gps/pos/radius 10. cm + +# set the focusing point, default is (0, 0, 0) +/gps/ang/type focused +/gps/ang/focuspoint 10 -5 0 cm +# +# the beam energy is in gaussian profile centered at 400 MeV +/gps/ene/type Gauss +/gps/ene/mono 400 MeV +/gps/ene/sigma 50. MeV + +# +# commands below are independent of gps +# +#/analysis/filename exgps.root +#/analysis/filetype root +#/analysis/maxeng 800 MeV +#/analysis/mineng 200 MeV +#/analysis/maxpos 10 cm +#/analysis/minpos -10 cm +/event/printModulo 1000 +#/tracking/verbose 1 +# +#/control/execute macros/display.mac +# +/run/beamOn 2000 + diff --git a/examples/extended/eventgenerator/exgps/macros/README b/examples/extended/eventgenerator/exgps/macros/README index a07f70c796..4a0861f8ed 100644 --- a/examples/extended/eventgenerator/exgps/macros/README +++ b/examples/extended/eventgenerator/exgps/macros/README @@ -140,3 +140,21 @@ Focused angular distribution. test34.g4mac ------------ Two simultaneous sources, both fired at the same time. + +test35.g4mac +------------ +automatic biasing of the energy distribution sampling, original in power-law + +test36.g4mac +------------ +automatic biasing of the energy distribution sampling, original in arbitrary data points + +test37.g4mac +------------ +automatic biasing of the energy distribution sampling, original in exponetial form + +test38.g4mac +------------ +arbitrary energy distribution, defined using the ascii (spectrum.dat) file input. + + diff --git a/examples/extended/eventgenerator/exgps/macros/display.mac b/examples/extended/eventgenerator/exgps/macros/display.mac index 85cf5e9a31..30914dbf3a 100644 --- a/examples/extended/eventgenerator/exgps/macros/display.mac +++ b/examples/extended/eventgenerator/exgps/macros/display.mac @@ -1,12 +1,68 @@ +# Use this open statement to create an OpenGL view: +#/vis/open OGL 600x600-0+0 # -/vis/scene/create -/vis/sceneHandler/create VRML2FILE -/vis/viewer/create +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: /vis/drawVolume -#/vis/viewer/viewpointThetaPhi 30 30 -#/vis/viewer/update -/vis/scene/endOfEventAction accumulate -/tracking/storeTrajectory 1 - # - +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/eventgenerator/exgps/macros/display_dawn.mac b/examples/extended/eventgenerator/exgps/macros/display_dawn.mac deleted file mode 100644 index db0a1c8136..0000000000 --- a/examples/extended/eventgenerator/exgps/macros/display_dawn.mac +++ /dev/null @@ -1,10 +0,0 @@ -/vis/scene/create -/vis/open DAWNFILE -/vis/viewer/reset -/vis/viewer/zoom 1. -/visviewer/set/style wireframe -/vis/drawVolume -/vis/viewer/update - -/tracking/storeTrajectory 1 - diff --git a/examples/extended/eventgenerator/exgps/macros/display_vrml.mac b/examples/extended/eventgenerator/exgps/macros/display_vrml.mac deleted file mode 100644 index c62cc29805..0000000000 --- a/examples/extended/eventgenerator/exgps/macros/display_vrml.mac +++ /dev/null @@ -1,9 +0,0 @@ -/vis/scene/create -/vis/open VRML2FILE -/vis/viewer/reset -/vis/viewer/zoom 1. -/vis/viewer/set/style wireframe -/vis/drawVolume -/vis/scene/endOfEventAction accumulate -/tracking/storeTrajectory 1 - diff --git a/examples/extended/eventgenerator/exgps/macros/plotall.py b/examples/extended/eventgenerator/exgps/macros/plotall.py new file mode 100644 index 0000000000..b0f0ee738e --- /dev/null +++ b/examples/extended/eventgenerator/exgps/macros/plotall.py @@ -0,0 +1,11 @@ +#!/usr/bin/python + +from plotfiles import * + +for i in range (1,35): + plot_1_file("test"+str(i)) + +plot_1_file('test38') + +for i in range (35,38): + plot_2_files("test"+str(i)) diff --git a/examples/extended/eventgenerator/exgps/macros/plotfiles.py b/examples/extended/eventgenerator/exgps/macros/plotfiles.py new file mode 100644 index 0000000000..06ae651765 --- /dev/null +++ b/examples/extended/eventgenerator/exgps/macros/plotfiles.py @@ -0,0 +1,87 @@ +#!/usr/bin/python + +from ROOT import * +from array import array + +def plot_1_file (file): + gROOT.Reset() + input_file_1=TFile(file+'.root','READ') + h1 = input_file_1.Get("Source Energy Spectrum") + h2 = input_file_1.Get("Source X-Y distribution") + h3 = input_file_1.Get("Source X-Z distribution") + h4 = input_file_1.Get("Source Y-Z distribution") + h5 = input_file_1.Get("Source phi-std::cos(theta) distribution") + h6 = input_file_1.Get("Source phi-theta distribution") + + c1 = TCanvas('c1', file, 200, 10, 700, 900) + c1.Divide(2,3) + + c1.cd(1) + h1.Draw() + c1.cd(2) + h2.Draw() + c1.cd(3) + h3.Draw() + c1.cd(4) + h4.Draw() + c1.cd(5) + h5.Draw() + c1.cd(6) + h6.Draw() + c1.Update() + c1.Print("./"+file+".png") + + input_file_1.Close() + +# h_gam.SetLineColor(2) + +def plot_2_files (file): + gROOT.Reset() + + input_file_1=TFile(file+'a.root','READ') + input_file_2=TFile(file+'b.root','READ') + +#input_file_1.cd() +#h_1_1 = input_file_1.Get("h16") + + c1 = TCanvas('c1', file, 200, 10, 700, 500) + c1.SetGridx() + c1.SetGridy() + c1.SetLogx() + c1.SetLogy() + +# histogram for energy spectra + n = 41 + bin = array( 'f' ) + + for i in range( n ): + bin.append(pow(10,(-2+0.1*i))) +# + h_1 = TH1F('unbiased','Source Spectrum',40,bin) + h_2 = TH1F('biased','Source Spectrum',40,bin) + +# + input_file_1.cd() +# get the tuple t1 + t1 = gROOT.FindObject('MyTuple') + for i in range(t1.GetEntries()): + t1.GetEntry(i) + h_1.Fill(t1.Energy,t1.Weight) + + input_file_2.cd() +# get the tuple t1 + t2 = gROOT.FindObject("MyTuple") + for i in range(t2.GetEntries()): + t2.GetEntry(i) + h_2.Fill(t2.Energy,t2.Weight) + + h_2.SetLineStyle(kDashed); + h_2.SetLineColor(kBlue); + h_2.Draw(); + h_1.Draw("same") ; + c1.Update() + c1.Print("./"+file+".png") + + input_file_1.Close() + input_file_2.Close() + diff --git a/examples/extended/eventgenerator/exgps/macros/plottest35.C b/examples/extended/eventgenerator/exgps/macros/plottest35.C new file mode 100644 index 0000000000..ef665580c0 --- /dev/null +++ b/examples/extended/eventgenerator/exgps/macros/plottest35.C @@ -0,0 +1,54 @@ +{ + + TFile *input_file_1 = new TFile("test35a.root"); + TFile *input_file_2 = new TFile("test35b.root"); + + TCanvas *c1 = new TCanvas("c1", "test35", 200, 10, 700, 500); + c1->SetGridx(); + c1->SetGridy(); + c1->SetLogx(); + c1->SetLogy(); + + // histogram for energy spectra + int n = 41; + float bin[41]; + + for (int i = 0; i < n; i++) { + bin[i] =pow(10,(-2+0.1*i)); + } + // + TH1 *h_1 = new TH1D("unbiased","Source spectrum",40,bin); + TH1 *h_2 = new TH1D("biased","Source spectrum",40,bin); + input_file_1->cd(); + input_file_1->ls(); + // get the tuple t1 + double energy, weight; + TTree *t1 = (TTree *) input_file_1->Get("MyTuple"); + t1->SetBranchAddress("Energy", &energy); + t1->SetBranchAddress("Weight", &weight); + cout <GetEntries() << endl; + for (int i = 0; i < t1->GetEntries(); i++) { + t1.GetEntry(i); + // cout << energy << " " << weight << endl; + h_1->Fill(energy,weight); + } + input_file_2->cd(); + TTree *t2 = (TTree *) input_file_2->Get("MyTuple"); + t2->SetBranchAddress("Energy", &energy); + t2->SetBranchAddress("Weight", &weight); + cout <GetEntries() << endl; + for (int i = 0; i < t1->GetEntries(); i++) { + t2.GetEntry(i); + h_2->Fill(energy,weight); + } + // h_2->SetFillColor(kRed); + h_2->SetLineStyle(kDashed); + h_2->SetLineColor(kBlue); + h_2->Draw(); + h_1->Draw("same") ; + c1->Update(); + c1->Print("./test35.png"); + + input_file_1->Close(); + input_file_2->Close(); +} diff --git a/examples/extended/eventgenerator/exgps/macros/plottest35.py b/examples/extended/eventgenerator/exgps/macros/plottest35.py new file mode 100644 index 0000000000..bd67dff1c6 --- /dev/null +++ b/examples/extended/eventgenerator/exgps/macros/plottest35.py @@ -0,0 +1,57 @@ +#!/usr/bin/python + +from ROOT import * +from array import array + +gROOT.Reset() + +input_file_1=TFile('test35a.root','READ') +input_file_2=TFile('test35b.root','READ') + +#input_file_1.cd() +#h_1_1 = input_file_1.Get("h16") + +c1 = TCanvas('c1', 'test35', 200, 10, 700, 500) +c1.SetGridx() +c1.SetGridy() +c1.SetLogx() +c1.SetLogy() + +# histogram for energy spectra +n = 41 +bin = array( 'f' ) + +for i in range( n ): + bin.append(pow(10,(-2+0.1*i))) +# +h_1 = TH1F('unbiased','Source Spectrum',40,bin) +h_2 = TH1F('biased','Source Spectrum',40,bin) + +# +input_file_1.cd() +# get the tuple t1 +t1 = gROOT.FindObject('MyTuple') +for i in range(t1.GetEntries()): + t1.GetEntry(i) + h_1.Fill(t1.Energy,t1.Weight) + +input_file_2.cd() +# get the tuple t1 +t1 = gROOT.FindObject("MyTuple") +for i in range(t1.GetEntries()): + t1.GetEntry(i) + h_2.Fill(t1.Energy,t1.Weight) + +h_2.SetLineStyle(kDashed); +h_2.SetLineColor(kBlue); +h_2.Draw(); +h_1.Draw("same") ; +c1.Update() +c1.Print("./test35.png") + +input_file_1.Close() +input_file_2.Close() + + + + diff --git a/examples/extended/eventgenerator/exgps/macros/runall.csh b/examples/extended/eventgenerator/exgps/macros/runall.csh index 68647652d4..0254c07233 100755 --- a/examples/extended/eventgenerator/exgps/macros/runall.csh +++ b/examples/extended/eventgenerator/exgps/macros/runall.csh @@ -1,5 +1,5 @@ #!/bin/csh -f -foreach i (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34) +foreach i (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38) ../bin/Linux-g++/exGPS test$i.g4mac end diff --git a/examples/extended/eventgenerator/exgps/macros/spectrum.dat b/examples/extended/eventgenerator/exgps/macros/spectrum.dat new file mode 100644 index 0000000000..bfefac4e77 --- /dev/null +++ b/examples/extended/eventgenerator/exgps/macros/spectrum.dat @@ -0,0 +1,7 @@ +0.01 100. +0.1 10. +1.0 2. +2.0 5. +7.0 1. +10. 1. +100. 0.01 diff --git a/examples/extended/eventgenerator/exgps/macros/test1.g4mac b/examples/extended/eventgenerator/exgps/macros/test1.g4mac index 33e3883a63..a3fcb331a0 100644 --- a/examples/extended/eventgenerator/exgps/macros/test1.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test1.g4mac @@ -10,7 +10,8 @@ # commands below are independent of gps # -/analysis/filename test1.aida +/analysis/filetype root +/analysis/filename test1.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test10.g4mac b/examples/extended/eventgenerator/exgps/macros/test10.g4mac index fabb4e2a73..d76822f895 100644 --- a/examples/extended/eventgenerator/exgps/macros/test10.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test10.g4mac @@ -12,7 +12,8 @@ # commands below are independent of gps # -/analysis/filename test10.aida +/analysis/filetype root +/analysis/filename test10.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 8 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test11.g4mac b/examples/extended/eventgenerator/exgps/macros/test11.g4mac index 535000ee99..63970481ba 100644 --- a/examples/extended/eventgenerator/exgps/macros/test11.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test11.g4mac @@ -12,7 +12,8 @@ # commands below are independent of gps # -/analysis/filename test11.aida +/analysis/filetype root +/analysis/filename test11.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 8 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test12.g4mac b/examples/extended/eventgenerator/exgps/macros/test12.g4mac index 4c63be3fa0..aece781607 100644 --- a/examples/extended/eventgenerator/exgps/macros/test12.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test12.g4mac @@ -13,7 +13,8 @@ # commands below are independent of gps # -/analysis/filename test12.aida +/analysis/filetype root +/analysis/filename test12.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 8 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test13.g4mac b/examples/extended/eventgenerator/exgps/macros/test13.g4mac index ae296284ca..058ab94dc5 100644 --- a/examples/extended/eventgenerator/exgps/macros/test13.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test13.g4mac @@ -16,7 +16,8 @@ # commands below are independent of gps # -/analysis/filename test13.aida +/analysis/filetype root +/analysis/filename test13.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 8 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test14.g4mac b/examples/extended/eventgenerator/exgps/macros/test14.g4mac index aa57cb8b07..39d252b771 100644 --- a/examples/extended/eventgenerator/exgps/macros/test14.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test14.g4mac @@ -12,7 +12,8 @@ # commands below are independent of gps # -/analysis/filename test14.aida +/analysis/filetype root +/analysis/filename test14.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test15.g4mac b/examples/extended/eventgenerator/exgps/macros/test15.g4mac index 3048b00e8a..8fd333874a 100644 --- a/examples/extended/eventgenerator/exgps/macros/test15.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test15.g4mac @@ -13,7 +13,8 @@ # commands below are independent of gps # -/analysis/filename test15.aida +/analysis/filetype root +/analysis/filename test15.root /analysis/maxeng 20 MeV /analysis/mineng 1 MeV /analysis/maxpos 8 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test16.g4mac b/examples/extended/eventgenerator/exgps/macros/test16.g4mac index 0dfdb4da80..96454889e6 100644 --- a/examples/extended/eventgenerator/exgps/macros/test16.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test16.g4mac @@ -16,7 +16,8 @@ # commands below are independent of gps # -/analysis/filename test16.aida +/analysis/filetype root +/analysis/filename test16.root /analysis/maxeng 2 MeV /analysis/mineng 0 MeV /analysis/maxpos 8 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test17.g4mac b/examples/extended/eventgenerator/exgps/macros/test17.g4mac index c83519fcdd..87284f6d54 100644 --- a/examples/extended/eventgenerator/exgps/macros/test17.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test17.g4mac @@ -15,7 +15,8 @@ # commands below are independent of gps # -/analysis/filename test17.aida +/analysis/filetype root +/analysis/filename test17.root /analysis/maxeng 15 MeV /analysis/mineng 0 MeV /analysis/maxpos 10 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test18.g4mac b/examples/extended/eventgenerator/exgps/macros/test18.g4mac index 44be3ca886..5ab9cae02a 100644 --- a/examples/extended/eventgenerator/exgps/macros/test18.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test18.g4mac @@ -15,7 +15,8 @@ # commands below are independent of gps # -/analysis/filename test18.aida +/analysis/filetype root +/analysis/filename test18.root /analysis/maxeng 15 MeV /analysis/mineng 0 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test19.g4mac b/examples/extended/eventgenerator/exgps/macros/test19.g4mac index 8b77fc0198..ef38578b41 100644 --- a/examples/extended/eventgenerator/exgps/macros/test19.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test19.g4mac @@ -15,7 +15,8 @@ # commands below are independent of gps # -/analysis/filename test19.aida +/analysis/filetype root +/analysis/filename test19.root /analysis/maxeng 15 MeV /analysis/mineng 0 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test2.g4mac b/examples/extended/eventgenerator/exgps/macros/test2.g4mac index 33f71136eb..45d6e5d320 100644 --- a/examples/extended/eventgenerator/exgps/macros/test2.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test2.g4mac @@ -16,7 +16,8 @@ # commands below are independent of gps # -/analysis/filename test2.aida +/analysis/filetype root +/analysis/filename test2.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test20.g4mac b/examples/extended/eventgenerator/exgps/macros/test20.g4mac index c070a0c26a..f30395d93c 100644 --- a/examples/extended/eventgenerator/exgps/macros/test20.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test20.g4mac @@ -15,7 +15,8 @@ # commands below are independent of gps # -/analysis/filename test20.aida +/analysis/filetype root +/analysis/filename test20.root /analysis/maxeng 15 MeV /analysis/mineng 0 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test21.g4mac b/examples/extended/eventgenerator/exgps/macros/test21.g4mac index df8c6f3300..36c494f7ad 100644 --- a/examples/extended/eventgenerator/exgps/macros/test21.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test21.g4mac @@ -16,7 +16,8 @@ # commands below are independent of gps # -/analysis/filename test21.aida +/analysis/filetype root +/analysis/filename test21.root /analysis/maxeng 15 MeV /analysis/mineng 0 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test22.g4mac b/examples/extended/eventgenerator/exgps/macros/test22.g4mac index 98ceea0f6e..55255bd881 100644 --- a/examples/extended/eventgenerator/exgps/macros/test22.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test22.g4mac @@ -8,8 +8,7 @@ /gps/ang/type cos /gps/ene/type Arb /gps/hist/type arb -/gps/hist/type arb -/gps/hist/point 1.0 2 +/gps/hist/point 1.0 2. /gps/hist/point 2.0 5. /gps/hist/point 7.0 1. /gps/hist/point 10. 1. @@ -17,11 +16,13 @@ # commands below are independent of gps # -/analysis/filename test22.aida +/analysis/filetype root +/analysis/filename test22.root /analysis/maxeng 15 MeV /analysis/mineng 0 MeV /analysis/maxpos 5 cm /analysis/minpos -5 cm /event/printModulo 10000 #/control/execute display.mac +/gps/verbose 0 /run/beamOn 10000 diff --git a/examples/extended/eventgenerator/exgps/macros/test23.g4mac b/examples/extended/eventgenerator/exgps/macros/test23.g4mac index 2d0b60ecc4..6a1800875b 100644 --- a/examples/extended/eventgenerator/exgps/macros/test23.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test23.g4mac @@ -42,7 +42,8 @@ # commands below are independent of gps # -/analysis/filename test23.aida +/analysis/filetype root +/analysis/filename test23.root /analysis/maxeng 50 MeV /analysis/mineng 0 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test24.g4mac b/examples/extended/eventgenerator/exgps/macros/test24.g4mac index e7955ad386..e5b73a974a 100644 --- a/examples/extended/eventgenerator/exgps/macros/test24.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test24.g4mac @@ -41,7 +41,8 @@ # commands below are independent of gps # -/analysis/filename test24.aida +/analysis/filetype root +/analysis/filename test24.root /analysis/maxeng 15 MeV /analysis/mineng 0 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test25.g4mac b/examples/extended/eventgenerator/exgps/macros/test25.g4mac index d3f13d61e3..de36b43b87 100644 --- a/examples/extended/eventgenerator/exgps/macros/test25.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test25.g4mac @@ -32,7 +32,8 @@ # commands below are independent of gps # -/analysis/filename test25.aida +/analysis/filetype root +/analysis/filename test25.root /analysis/maxeng 15 MeV /analysis/mineng 0. MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test26.g4mac b/examples/extended/eventgenerator/exgps/macros/test26.g4mac index 6b0890b679..b0dd68a959 100644 --- a/examples/extended/eventgenerator/exgps/macros/test26.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test26.g4mac @@ -24,7 +24,8 @@ # commands below are independent of gps # -/analysis/filename test26.aida +/analysis/filetype root +/analysis/filename test26.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test27.g4mac b/examples/extended/eventgenerator/exgps/macros/test27.g4mac index c0dcd967ed..0b8fcc44bf 100644 --- a/examples/extended/eventgenerator/exgps/macros/test27.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test27.g4mac @@ -27,7 +27,8 @@ # commands below are independent of gps # -/analysis/filename test27.aida +/analysis/filetype root +/analysis/filename test27.root /analysis/maxeng 2 MeV /analysis/mineng 0 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test28.g4mac b/examples/extended/eventgenerator/exgps/macros/test28.g4mac index 3c6f23b42a..dce3c920a0 100644 --- a/examples/extended/eventgenerator/exgps/macros/test28.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test28.g4mac @@ -11,7 +11,8 @@ # commands below are independent of gps # -/analysis/filename test28.aida +/analysis/filetype root +/analysis/filename test28.root /analysis/maxeng 15 MeV /analysis/mineng 0 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test29.g4mac b/examples/extended/eventgenerator/exgps/macros/test29.g4mac index e23519a61b..ffec20225d 100644 --- a/examples/extended/eventgenerator/exgps/macros/test29.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test29.g4mac @@ -12,7 +12,8 @@ # commands below are independent of gps # -/analysis/filename test29.aida +/analysis/filetype root +/analysis/filename test29.root /analysis/maxeng 15 MeV /analysis/mineng 0 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test3.g4mac b/examples/extended/eventgenerator/exgps/macros/test3.g4mac index 38d5eea6ae..46d0e912c7 100644 --- a/examples/extended/eventgenerator/exgps/macros/test3.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test3.g4mac @@ -15,7 +15,8 @@ # commands below are independent of gps # -/analysis/filename test3.aida +/analysis/filetype root +/analysis/filename test3.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test30.g4mac b/examples/extended/eventgenerator/exgps/macros/test30.g4mac index 0dc05b6dad..af16469a50 100644 --- a/examples/extended/eventgenerator/exgps/macros/test30.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test30.g4mac @@ -28,7 +28,8 @@ # # commands below are independent of gps # -/analysis/filename test30.aida +/analysis/filetype root +/analysis/filename test30.root /analysis/maxeng 800 MeV /analysis/mineng 200 MeV /analysis/maxpos 5 mm diff --git a/examples/extended/eventgenerator/exgps/macros/test31.g4mac b/examples/extended/eventgenerator/exgps/macros/test31.g4mac index 50db8aa8bf..0f86b16a6b 100644 --- a/examples/extended/eventgenerator/exgps/macros/test31.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test31.g4mac @@ -55,7 +55,8 @@ /gps/ene/sigma 50. MeV # # -/analysis/filename test31.aida +/analysis/filetype root +/analysis/filename test31.root /analysis/maxeng 800 MeV /analysis/mineng 200 MeV /analysis/maxpos 5 mm diff --git a/examples/extended/eventgenerator/exgps/macros/test32.g4mac b/examples/extended/eventgenerator/exgps/macros/test32.g4mac index 35c8f09370..e84344cfb8 100644 --- a/examples/extended/eventgenerator/exgps/macros/test32.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test32.g4mac @@ -50,7 +50,8 @@ # commands below are independent of gps # -/analysis/filename test32.aida +/analysis/filetype root +/analysis/filename test32.root /analysis/maxeng 15 MeV /analysis/mineng 0 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test33.g4mac b/examples/extended/eventgenerator/exgps/macros/test33.g4mac index 0cba2cfe03..be85dea6ef 100644 --- a/examples/extended/eventgenerator/exgps/macros/test33.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test33.g4mac @@ -25,7 +25,8 @@ # # commands below are independent of gps # -/analysis/filename test33.aida +/analysis/filetype root +/analysis/filename test33.root /analysis/maxeng 800 MeV /analysis/mineng 200 MeV /analysis/maxpos 10 cm @@ -33,7 +34,7 @@ /event/printModulo 1000 #/tracking/verbose 1 # -/control/execute display_vrml.mac +/control/execute display.mac # /run/beamOn 20 diff --git a/examples/extended/eventgenerator/exgps/macros/test34.g4mac b/examples/extended/eventgenerator/exgps/macros/test34.g4mac index f214d9ba61..fa1797dafb 100644 --- a/examples/extended/eventgenerator/exgps/macros/test34.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test34.g4mac @@ -48,8 +48,9 @@ # # commands below are independent of gps # -#/analysis/filetype root -/analysis/filename test34.aida +# +/analysis/filetype root +/analysis/filename test34.root /analysis/maxeng 5 MeV /analysis/mineng 0 MeV /analysis/maxpos 10 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test35.g4mac b/examples/extended/eventgenerator/exgps/macros/test35.g4mac new file mode 100644 index 0000000000..dcd5303a71 --- /dev/null +++ b/examples/extended/eventgenerator/exgps/macros/test35.g4mac @@ -0,0 +1,31 @@ +/gps/particle geantino +/gps/pos/type Volume +/gps/pos/shape Cylinder +/gps/pos/centre 2. 2. 2. cm +/gps/pos/radius 2.5 cm +/gps/pos/halfz 4. cm +/gps/ang/type iso +/gps/ene/type Pow +/gps/ene/min 0.01 MeV +/gps/ene/max 100 MeV +/gps/ene/alpha -2.5 + + +# commands below are independent of gps +# +/analysis/filetype root +/analysis/filename test35a.root +/analysis/maxeng 100 MeV +/analysis/mineng 0.01 MeV +/analysis/maxpos 8 cm +/analysis/minpos -8 cm +/event/printModulo 10000 +#/control/execute display.mac +/run/beamOn 100000 + +/analysis/filename test35b.root +/gps/ene/biasAlpha -1. +/run/beamOn 100000 + + + diff --git a/examples/extended/eventgenerator/exgps/macros/test36.g4mac b/examples/extended/eventgenerator/exgps/macros/test36.g4mac new file mode 100644 index 0000000000..259f848e06 --- /dev/null +++ b/examples/extended/eventgenerator/exgps/macros/test36.g4mac @@ -0,0 +1,32 @@ +/gps/particle geantino +/gps/pos/type Volume +/gps/pos/shape Cylinder +/gps/pos/centre 2. 2. 2. cm +/gps/pos/radius 2.5 cm +/gps/pos/halfz 4. cm +/gps/ang/type iso +/gps/ene/type Arb +/gps/hist/file spectrum.dat +/gps/hist/inter Lin + +# commands below are independent of gps +# +/analysis/filetype root +/analysis/filename test36a.root +/analysis/maxeng 100 MeV +/analysis/mineng 0 MeV +/analysis/maxpos 8 cm +/analysis/minpos -8 cm +/event/printModulo 10000 +#/control/execute display.mac +/run/beamOn 100000 + +/analysis/filename test36b.root +/gps/ene/min 0.01 MeV +/gps/ene/max 100. MeV +/gps/ene/biasAlpha -1. +#/gps/verbose 1 +/run/beamOn 100000 + + + diff --git a/examples/extended/eventgenerator/exgps/macros/test37.g4mac b/examples/extended/eventgenerator/exgps/macros/test37.g4mac new file mode 100644 index 0000000000..f20caa4741 --- /dev/null +++ b/examples/extended/eventgenerator/exgps/macros/test37.g4mac @@ -0,0 +1,31 @@ +/gps/particle geantino +/gps/pos/type Volume +/gps/pos/shape Cylinder +/gps/pos/centre 2. 2. 2. cm +/gps/pos/radius 2.5 cm +/gps/pos/halfz 4. cm +/gps/ang/type iso +/gps/ene/min 0.01 MeV +/gps/ene/max 100. MeV +/gps/ene/type Exp +/gps/ene/ezero 1. + + +# commands below are independent of gps +# +/analysis/filetype root +/analysis/filename test37a.root +/analysis/maxeng 100 MeV +/analysis/mineng 0.01 MeV +/analysis/maxpos 8 cm +/analysis/minpos -8 cm +/event/printModulo 10000 +#/control/execute display.mac +/run/beamOn 100000 + +/analysis/filename test37b.root +/gps/ene/biasAlpha -1. +/run/beamOn 100000 + + + diff --git a/examples/extended/eventgenerator/exgps/macros/test38.g4mac b/examples/extended/eventgenerator/exgps/macros/test38.g4mac new file mode 100644 index 0000000000..204be4d9e0 --- /dev/null +++ b/examples/extended/eventgenerator/exgps/macros/test38.g4mac @@ -0,0 +1,23 @@ +/gps/particle geantino +/gps/pos/type Plane +/gps/pos/shape Square +/gps/pos/centre 1. 2. 1. cm +/gps/pos/halfx 2. cm +/gps/pos/halfy 2. cm +/gps/ang/type cos +/gps/ene/type Arb +/gps/hist/file spectrum.dat +/gps/hist/inter Exp + +# commands below are independent of gps +# +/analysis/filetype root +/analysis/filename test38.root +/analysis/maxeng 100 MeV +/analysis/mineng 0 MeV +/analysis/maxpos 5 cm +/analysis/minpos -5 cm +/event/printModulo 10000 +#/control/execute display.mac +/run/beamOn 100000 + diff --git a/examples/extended/eventgenerator/exgps/macros/test4.g4mac b/examples/extended/eventgenerator/exgps/macros/test4.g4mac index 9bae7cee54..998255a2ec 100644 --- a/examples/extended/eventgenerator/exgps/macros/test4.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test4.g4mac @@ -14,7 +14,8 @@ # commands below are independent of gps # -/analysis/filename test4.aida +/analysis/filetype root +/analysis/filename test4.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test5.g4mac b/examples/extended/eventgenerator/exgps/macros/test5.g4mac index 7d7eb1d582..be758a5ef2 100644 --- a/examples/extended/eventgenerator/exgps/macros/test5.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test5.g4mac @@ -12,7 +12,8 @@ # commands below are independent of gps # -/analysis/filename test5.aida +/analysis/filetype root +/analysis/filename test5.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test6.g4mac b/examples/extended/eventgenerator/exgps/macros/test6.g4mac index b1dec58403..1483fc7c76 100644 --- a/examples/extended/eventgenerator/exgps/macros/test6.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test6.g4mac @@ -12,7 +12,8 @@ # commands below are independent of gps # -/analysis/filename test6.aida +/analysis/filetype root +/analysis/filename test6.root /analysis/maxeng 15 MeV /analysis/mineng 1 MeV /analysis/maxpos 5 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test7.g4mac b/examples/extended/eventgenerator/exgps/macros/test7.g4mac index 9c65ba41cc..78610c64f8 100644 --- a/examples/extended/eventgenerator/exgps/macros/test7.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test7.g4mac @@ -12,7 +12,8 @@ # commands below are independent of gps # -/analysis/filename test7.aida +/analysis/filetype root +/analysis/filename test7.root /analysis/maxeng 1 MeV /analysis/mineng 10 keV /analysis/maxpos 10 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test8.g4mac b/examples/extended/eventgenerator/exgps/macros/test8.g4mac index c0557ad976..fb7a865ac0 100644 --- a/examples/extended/eventgenerator/exgps/macros/test8.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test8.g4mac @@ -15,7 +15,8 @@ # commands below are independent of gps # -/analysis/filename test8.aida +/analysis/filetype root +/analysis/filename test8.root /analysis/maxeng 20 MeV /analysis/mineng 1 MeV /analysis/maxpos 10 cm diff --git a/examples/extended/eventgenerator/exgps/macros/test9.g4mac b/examples/extended/eventgenerator/exgps/macros/test9.g4mac index 06cb7d9357..dfac68cbd4 100644 --- a/examples/extended/eventgenerator/exgps/macros/test9.g4mac +++ b/examples/extended/eventgenerator/exgps/macros/test9.g4mac @@ -17,7 +17,8 @@ # commands below are independent of gps # -/analysis/filename test9.aida +/analysis/filetype root +/analysis/filename test9.root /analysis/maxeng 20 MeV /analysis/mineng 1 MeV /analysis/maxpos 10 cm diff --git a/examples/extended/eventgenerator/exgps/src/exGPSEventAction.cc b/examples/extended/eventgenerator/exgps/src/exGPSEventAction.cc index c425cbc29f..0b485c6488 100644 --- a/examples/extended/eventgenerator/exgps/src/exGPSEventAction.cc +++ b/examples/extended/eventgenerator/exgps/src/exGPSEventAction.cc @@ -34,9 +34,6 @@ #include "G4Event.hh" #include "G4EventManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" #include "G4UnitsTable.hh" #include "G4ThreeVector.hh" @@ -70,8 +67,11 @@ void exGPSEventAction::BeginOfEventAction(const G4Event* evt) } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - +#ifdef G4ANALYSIS_USE void exGPSEventAction::EndOfEventAction(const G4Event* evt) +#else +void exGPSEventAction::EndOfEventAction(const G4Event*) +#endif { // G4int evtNb = evt->GetEventID(); @@ -106,24 +106,6 @@ void exGPSEventAction::EndOfEventAction(const G4Event* evt) } #endif -#ifdef G4VIS_USE - // extract the trajectories and draw them - 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(0); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(0); - else if ((drawFlag == "neutral")&&(trj->GetCharge() == 0.)) - trj->DrawTrajectory(0); - } - } -#endif } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/eventgenerator/particleGun/GNUmakefile b/examples/extended/eventgenerator/particleGun/GNUmakefile new file mode 100644 index 0000000000..d780519eb0 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/GNUmakefile @@ -0,0 +1,19 @@ + +name := particleGun +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../../.. +endif + +.PHONY: all +all: lib bin + +#### G4ANALYSIS_USE := true + +include $(G4INSTALL)/config/architecture.gmk +include $(G4INSTALL)/config/binmake.gmk + +histclean: + rm ${G4WORKDIR}/tmp/${G4SYSTEM}/${G4TARGET}/HistoManager.o diff --git a/examples/extended/eventgenerator/particleGun/History b/examples/extended/eventgenerator/particleGun/History new file mode 100644 index 0000000000..c814ae6d81 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/History @@ -0,0 +1,32 @@ +$Id: History,v 1.6 2010/07/16 07:37:48 maire Exp $ +----------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + ParticleGun 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 * + +15-07-10 mma (particleGunExample-V09-03-03) +- remove static data members and functions. +- UI commands : /testem/ -> /gunExample/ + +06-07-10 mma (particleGunExample-V09-03-02) +- split PrimaryGeneratorAction2 in two : sampling methods + rotateUz + +11-06-10 mma (particleGunExample-V09-03-01) +- update vis.mac +- split run1.mac + +10-06-10 Makoto Asai (particleGunExample-V09-03-00) +- Combine three original examples into one. + +13-05-10 Michel Maire +- Created. diff --git a/examples/extended/eventgenerator/particleGun/InstallAida.txt b/examples/extended/eventgenerator/particleGun/InstallAida.txt new file mode 100644 index 0000000000..f0c92330e2 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/InstallAida.txt @@ -0,0 +1,78 @@ +$Id: InstallAida.txt,v 1.1 2010/06/09 01:55:38 asaim 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/extended/eventgenerator/particleGun/README b/examples/extended/eventgenerator/particleGun/README new file mode 100644 index 0000000000..0f7755f1f4 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/README @@ -0,0 +1,166 @@ +$Id: README,v 1.6 2010/07/16 07:37:48 maire Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + ParticleGun + ----------- + + History: + 10-06-2010 : Makoto Asai - merge into one example + 13-05-2010 : Michel Maire - create as three examples + + This example demonstrates 4 ways of the usage of G4ParticleGun shooting + primary particles in different cases. These are + 1) Generate several vertices and particles per event + 2) Show how to sample a tabulated function (eg. energy spectrum) + 3) Divergent beam in an arbitrary direction + 4) Shooting primaries in spherical coordinates with rotation matrix. + These usages can be chosen by a UI command + /gunExample/selectGunAction + where corresponds to above cases. + + 1- Geometry construction + --------------------- + + It is a simple box which represents an 'infinite' homogeneous medium. + + 2- Physics list + ------------ + + PhysicsList.cc defines only geantino and transportation process. + + 3- Primary generator + ----------------- + + There are 4 concrete primary generator action classes + (PrimaryGeneratorActionN, N=1,2,3,4) which can be used as an independent sample + code. + PrimaryGeneratorAction is the class which uses and switches between these + 4 concrete action classes. Each concrete generator action shoots geantinoes + in a distribution decribed below. + + 3.1- Generate several vertices and particles per event + ------------------------------------------------- + + particle 1 : a geantino uniformly randomized on a cylinder surface. + particle 2 and 3 : on opposite side of the cylnder surface to particle 1 + + 3.2- Show how to sample a tabulated function (energy spectrum) + --------------------------------------------------------- + + Energy is sampled from a tabulated function defined in InitFunction(). + The function is assumed positive, linear per segment, continuous. + Two sampling methods are illustrated : RejectAccept() and InverseCumul() + (see Particle Data book, Monte Carlo techniques). + Histogram 1 shows generated energy spectrum. + + 3.3- Divergent beam in an arbitrary direction with rotation matrix + ------------------------------------------------------------- + + A geantino uniformly randomized around a given direction (theta, phi). + One wants to limit particle direction uniformly around this direction. + First, one generates momentum direction in the master frame (eg. World). + AlphaMax = opening angle around z axis. + Then one rotates momentum in local frame, using rotateUz() function. + RotateUz() transforms uz to newUz. It is composition of two simple rotations: + theta around oy, then phi around oz (non commutative). +http://proj-clhep.web.cern.ch/proj-clhep/manual/UserGuide/VectorDefs/node49.html + Histograms 2,3 show momentum direction in local frame. + + 3.4- Shooting primaries in spherical coordinates with rotation matrix + ---------------------------------------------------------------- + + a geantino uniformly randomized within a spherical shell. + + a) Vertex position + One wishes to shoot uniformly within a spherical shell. + One works in spherical coordinates. One uses inverse cumulative method with + analytical formulae. + Histograms 4,5,6 demonstrate uniform distribution of vertex position. + + b) Momentum direction + One wants to limit particle direction uniformly within (alphaMin, alphaMax). + First, one generates momentum direction in the master frame (eg. World). + Then, one rotates momentum in vertex_position frame, using rotateUz() function. + RotateUz() transforms uz to ur. It is composition of two elementary rotations: + theta around oy, then phi around oz (non commutative). +http://proj-clhep.web.cern.ch/proj-clhep/manual/UserGuide/VectorDefs/node49.html + Histograms 7,8 show momentum direction in vertex_position frame. + + 4- Visualisation + ------------- + + Visualization Manager is set in the main(). + Initialisation of the drawing is done via the commands + /vis/.. in the macro vis.mac. This macro is automatically read from the main + in case of interactive running mode. + + 5- How to start ? + -------------- + + - compile and link to generate an executable + % cd gun + % gmake + + - execute particleGun in 'batch' mode from macro files + % ParticleGun run1.mac + + - execute particleGun2 in 'interactive mode' with visualization + % particleGun + .... + Idle> ---> type your commands. For instance: + Idle> /gunExample/selectGunAction 1 + Idle> /run/beamOn 10 + .... + Idle> exit + + 6- Histograms + ---------- + + particleGun produces several 1D histograms which are saved as + particleGun.root by default. + + 1 : energy spectrum dN/dE = f(E) + 2 : momentum direction: angular distr dN/dOmega = f(alpha) + 3 : momentum direction: angular distr dN/dOmega = f(psi) + 4 : vertex position: radial distr dN/dv = f(r) + 5 : vertex position: angular distr dN/dv = f(theta) + 6 : vertex position: angular distr dN/dv = f(phi) + 7 : momentum direction: angular distr dN/dOmega = f(alpha) + 8 : momentum direction: angular distr dN/dOmega = f(psi) + + Please note that histogram 1 will be filled only if you use + PrimaryGeneratorAction2, histos 2,3 with PrimaryGeneratorAction3 + and 4 through 8 will be filled with PrimaryGeneratorAction4. + + The histograms are managed by the HistoManager class and its Messenger. + The histos can be individually activated with the command : + /gunExample/histo/setHisto id nbBins valMin valMax unit + where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..) + + One can control the name of the histograms file with the command: + /gunExample/histo/setFileName name (default particleGun) + + It is possible to choose the format of the histogram file (hbook, root, XML) + with the command /gunExample/histo/setFileType (root by default) + + It is also possible to print selected histograms on an ascii file: + /gunExample/histo/printHisto id + All selected histos will be written on a file name.ascii (default particleGun) + + 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 + + 7- Using histograms + ---------------- + + To use histograms, at least one of the AIDA implementations should be + available. See the file InstallAida.txt + diff --git a/examples/extended/eventgenerator/particleGun/include/DetectorConstruction.hh b/examples/extended/eventgenerator/particleGun/include/DetectorConstruction.hh new file mode 100644 index 0000000000..94b23fd695 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/include/DetectorConstruction.hh @@ -0,0 +1,61 @@ +// +// ******************************************************************** +// * 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.1 2010/06/09 01:55:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef DetectorConstruction_h +#define DetectorConstruction_h 1 + +#include "G4VUserDetectorConstruction.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class DetectorConstruction : public G4VUserDetectorConstruction +{ + public: + + DetectorConstruction(); + ~DetectorConstruction(); + + G4VPhysicalVolume* Construct(); + + G4double GetWorldSizeXY() {return worldSizeXY;}; + G4double GetWorldSizeZ() {return worldSizeZ;}; + + private: + + G4double worldSizeXY, worldSizeZ; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/eventgenerator/particleGun/include/HistoManager.hh b/examples/extended/eventgenerator/particleGun/include/HistoManager.hh new file mode 100644 index 0000000000..d70d752bee --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/include/HistoManager.hh @@ -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: HistoManager.hh,v 1.1 2010/06/09 01:55:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....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 HistoMessenger; + +const G4int MaxHisto = 9; + +//....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 e, G4double weight = 1.0); + void RemoveHisto (G4int); + void PrintHisto (G4int); + + G4bool HistoExist (G4int id) {return exist[id];} + G4double GetHistoUnit(G4int id) {return Unit[id];} + G4double GetBinWidth (G4int id) {return Width[id];} + + private: + + G4String fileName[2]; + G4String fileType; + G4String fileOption; + 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]; + + G4bool factoryOn; + HistoMessenger* histoMessenger; + + private: + void saveAscii(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/eventgenerator/particleGun/include/HistoMessenger.hh b/examples/extended/eventgenerator/particleGun/include/HistoMessenger.hh new file mode 100644 index 0000000000..9fe64f00d0 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/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.2 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/eventgenerator/particleGun/include/PhysicsList.hh b/examples/extended/eventgenerator/particleGun/include/PhysicsList.hh new file mode 100644 index 0000000000..9d6b6a766f --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/include/PhysicsList.hh @@ -0,0 +1,59 @@ +// +// ******************************************************************** +// * 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 2010/06/09 01:55:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysicsList_h +#define PhysicsList_h 1 + +#include "G4VUserPhysicsList.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysicsList: public G4VUserPhysicsList +{ + public: + PhysicsList(); + ~PhysicsList(); + + protected: + // Construct particle and physics + void ConstructParticle(); + void ConstructProcess(); + void SetCuts(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction.hh similarity index 60% rename from examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh rename to examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction.hh index 8cd5f628ce..74078d547e 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh +++ b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction.hh @@ -24,45 +24,59 @@ // ******************************************************************** // // -// $Id: AnaEx01PrimaryGeneratorAction.hh,v 1.4 2006/06/29 16:33:31 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// +// $Id: PrimaryGeneratorAction.hh,v 1.3 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#ifndef AnaEx01PrimaryGeneratorAction_h -#define AnaEx01PrimaryGeneratorAction_h 1 +#ifndef PrimaryGeneratorAction_h +#define PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" +class PrimaryGeneratorAction1; +class PrimaryGeneratorAction2; +class PrimaryGeneratorAction3; +class PrimaryGeneratorAction4; +class PrimaryGeneratorMessenger; + class G4ParticleGun; class G4Event; -class AnaEx01DetectorConstruction; -class AnaEx01PrimaryGeneratorMessenger; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class AnaEx01PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - AnaEx01PrimaryGeneratorAction(AnaEx01DetectorConstruction*); - ~AnaEx01PrimaryGeneratorAction(); + PrimaryGeneratorAction(); + ~PrimaryGeneratorAction(); public: void GeneratePrimaries(G4Event*); - void SetRndmFlag(G4String val) { rndmFlag = val;} - private: - G4ParticleGun* particleGun; //pointer a to G4 service class - AnaEx01DetectorConstruction* AnaEx01Detector; //pointer to the geometry + public: + G4ParticleGun* GetParticleGun() { return particleGun; }; - AnaEx01PrimaryGeneratorMessenger* gunMessenger; //messenger of this class - G4String rndmFlag; //flag for a random impact point + void SelectAction(G4int i) { selectedAction = i; }; + G4int GetSelectedAction() { return selectedAction; }; + PrimaryGeneratorAction1* GetAction1() { return action1; }; + PrimaryGeneratorAction2* GetAction2() { return action2; }; + PrimaryGeneratorAction3* GetAction3() { return action3; }; + PrimaryGeneratorAction4* GetAction4() { return action4; }; + + private: + G4ParticleGun* particleGun; + PrimaryGeneratorAction1* action1; + PrimaryGeneratorAction2* action2; + PrimaryGeneratorAction3* action3; + PrimaryGeneratorAction4* action4; + G4int selectedAction; + + PrimaryGeneratorMessenger* gunMessenger; }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif - - diff --git a/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction1.hh b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction1.hh new file mode 100644 index 0000000000..683b0f30dc --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction1.hh @@ -0,0 +1,59 @@ +// +// ******************************************************************** +// * 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: PrimaryGeneratorAction1.hh,v 1.2 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PrimaryGeneratorAction1_h +#define PrimaryGeneratorAction1_h 1 + +#include "G4VUserPrimaryGeneratorAction.hh" +#include "globals.hh" + +class G4ParticleGun; +class G4Event; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PrimaryGeneratorAction1 +{ + public: + PrimaryGeneratorAction1(G4ParticleGun*); + ~PrimaryGeneratorAction1(); + + public: + void GeneratePrimaries(G4Event*); + + private: + G4ParticleGun* particleGun; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorAction.hh b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction2.hh similarity index 72% rename from examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorAction.hh rename to examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction2.hh index dc75f1b6c2..84e365464b 100644 --- a/examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorAction.hh +++ b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction2.hh @@ -24,47 +24,51 @@ // ******************************************************************** // // -// $Id: ExN03PrimaryGeneratorAction.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// +// $Id: PrimaryGeneratorAction2.hh,v 1.3 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03PrimaryGeneratorAction_h -#define ExN03PrimaryGeneratorAction_h 1 +#ifndef PrimaryGeneratorAction2_h +#define PrimaryGeneratorAction2_h 1 #include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" +#include class G4ParticleGun; class G4Event; -class ExN03DetectorConstruction; -class ExN03PrimaryGeneratorMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +class PrimaryGeneratorAction2 { public: - ExN03PrimaryGeneratorAction(ExN03DetectorConstruction*); - ~ExN03PrimaryGeneratorAction(); + PrimaryGeneratorAction2(G4ParticleGun*); + ~PrimaryGeneratorAction2(); public: void GeneratePrimaries(G4Event*); - void SetRndmFlag(G4String val) { rndmFlag = val;} + + public: + G4double RejectAccept(); + G4double InverseCumul(); + + private: + G4ParticleGun* particleGun; + + G4int nPoints; //tabulated function + std::vector x; + std::vector f; //f(x) + std::vector a; //slopes + std::vector Fc; //cumulative of f + G4double fMax; //max(f) private: - G4ParticleGun* particleGun; //pointer a to G4 class - ExN03DetectorConstruction* ExN03Detector; //pointer to the geometry - - ExN03PrimaryGeneratorMessenger* gunMessenger; //messenger of this class - G4String rndmFlag; //flag for a rndm impact point + void InitFunction(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction3.hh b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction3.hh new file mode 100644 index 0000000000..594bcaf49a --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction3.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. * +// ******************************************************************** +// +// +// $Id: PrimaryGeneratorAction3.hh,v 1.3 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PrimaryGeneratorAction3_h +#define PrimaryGeneratorAction3_h 1 + +#include "G4VUserPrimaryGeneratorAction.hh" +#include "globals.hh" +#include "G4ThreeVector.hh" + +class G4ParticleGun; +class G4Event; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PrimaryGeneratorAction3 +{ + public: + PrimaryGeneratorAction3(G4ParticleGun* ); + ~PrimaryGeneratorAction3(); + + public: + void GeneratePrimaries(G4Event*); + + public: + G4ThreeVector GetNewUz() { return newUz; }; + G4double GetAlphaMax() { return alphaMax; }; + + private: + G4ThreeVector newUz; + G4double alphaMax; //max angle + + G4ParticleGun* particleGun; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction4.hh b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction4.hh new file mode 100644 index 0000000000..45e01d95b0 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorAction4.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: PrimaryGeneratorAction4.hh,v 1.2 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PrimaryGeneratorAction4_h +#define PrimaryGeneratorAction4_h 1 + +#include "G4VUserPrimaryGeneratorAction.hh" +#include "globals.hh" +#include + +class G4ParticleGun; +class G4Event; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PrimaryGeneratorAction4 +{ + public: + PrimaryGeneratorAction4(G4ParticleGun*); + ~PrimaryGeneratorAction4(); + + public: + void GeneratePrimaries(G4Event*); + + G4double GetRmin3() {return Rmin3;}; + G4double GetRmax3() {return Rmax3;}; + G4double GetCosAlphaMin() {return cosAlphaMin;}; + G4double GetCosAlphaMax() {return cosAlphaMax;}; + + private: + G4double Rmin3; + G4double Rmax3; //vertex volume + G4double cosAlphaMin; + G4double cosAlphaMax; //opening angle + + G4ParticleGun* particleGun; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorMessenger.hh b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorMessenger.hh similarity index 79% rename from examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorMessenger.hh rename to examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorMessenger.hh index cd77d92f23..670ecb5a74 100644 --- a/examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorMessenger.hh +++ b/examples/extended/eventgenerator/particleGun/include/PrimaryGeneratorMessenger.hh @@ -23,39 +23,37 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: PrimaryGeneratorMessenger.hh,v 1.1 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03PrimaryGeneratorMessenger_h -#define ExN03PrimaryGeneratorMessenger_h 1 +#ifndef PrimaryGeneratorMessenger_h +#define PrimaryGeneratorMessenger_h 1 #include "G4UImessenger.hh" #include "globals.hh" -class ExN03PrimaryGeneratorAction; +class PrimaryGeneratorAction; class G4UIdirectory; -class G4UIcmdWithAString; +class G4UIcmdWithAnInteger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03PrimaryGeneratorMessenger: public G4UImessenger +class PrimaryGeneratorMessenger: public G4UImessenger { public: - ExN03PrimaryGeneratorMessenger(ExN03PrimaryGeneratorAction*); - ~ExN03PrimaryGeneratorMessenger(); + PrimaryGeneratorMessenger(PrimaryGeneratorAction*); + ~PrimaryGeneratorMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - ExN03PrimaryGeneratorAction* ExN03Action; - G4UIdirectory* gunDir; - G4UIcmdWithAString* RndmCmd; + PrimaryGeneratorAction* Action; + + G4UIdirectory* Dir; + G4UIcmdWithAnInteger* selectActionCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/particleGun/include/RunAction.hh b/examples/extended/eventgenerator/particleGun/include/RunAction.hh new file mode 100644 index 0000000000..e34754a391 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/include/RunAction.hh @@ -0,0 +1,60 @@ +// +// ******************************************************************** +// * 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.1 2010/06/09 01:55:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef RunAction_h +#define RunAction_h 1 + +#include "G4UserRunAction.hh" +#include "globals.hh" + +class G4Run; +class HistoManager; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class RunAction : public G4UserRunAction +{ + public: + RunAction(HistoManager*); + ~RunAction(); + + void BeginOfRunAction(const G4Run*); + void EndOfRunAction(const G4Run*); + + private: + HistoManager* histoManager; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/eventgenerator/particleGun/include/SteppingVerbose.hh b/examples/extended/eventgenerator/particleGun/include/SteppingVerbose.hh new file mode 100644 index 0000000000..4da192f30e --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/include/SteppingVerbose.hh @@ -0,0 +1,54 @@ +// +// ******************************************************************** +// * 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 2010/06/09 01:55:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....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/extended/eventgenerator/particleGun/include/TrackingAction.hh b/examples/extended/eventgenerator/particleGun/include/TrackingAction.hh new file mode 100644 index 0000000000..f5baf36b9c --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/include/TrackingAction.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: TrackingAction.hh,v 1.3 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef TrackingAction_h +#define TrackingAction_h 1 + +#include "G4UserTrackingAction.hh" +#include "G4ThreeVector.hh" +#include "globals.hh" + +class PrimaryGeneratorAction; +class HistoManager; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class TrackingAction : public G4UserTrackingAction { + + public: + TrackingAction(PrimaryGeneratorAction*, HistoManager*); + ~TrackingAction() {}; + + void PreUserTrackingAction(const G4Track*); + void PostUserTrackingAction(const G4Track*); + + private: + PrimaryGeneratorAction* primary; + HistoManager* histoManager; + + // parameters for generator action #3 + G4ThreeVector newUz; + + // parameters for generator action #4 + G4double deltaR3; + G4double cosAlphaMin; + G4double cosAlphaMax; //opening angle + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/extended/eventgenerator/particleGun/particleGun.cc b/examples/extended/eventgenerator/particleGun/particleGun.cc new file mode 100644 index 0000000000..058e0ccc6b --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/particleGun.cc @@ -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. * +// ******************************************************************** +// +// +// $Id: particleGun.cc,v 1.2 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4RunManager.hh" +#include "G4UImanager.hh" +#include "Randomize.hh" + +#include "DetectorConstruction.hh" +#include "PhysicsList.hh" +#include "PrimaryGeneratorAction.hh" +#include "RunAction.hh" +#include "TrackingAction.hh" +#include "SteppingVerbose.hh" +#include "HistoManager.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) { + + //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); + + // set user action classes + // + HistoManager* histo = new HistoManager(); + RunAction* run = new RunAction(histo); + PrimaryGeneratorAction* prim = new PrimaryGeneratorAction(); + TrackingAction* track = new TrackingAction(prim,histo); + + runManager->SetUserAction(run); + runManager->SetUserAction(prim); + runManager->SetUserAction(track); + + //Initialize G4 kernel + runManager->Initialize(); + + // 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(); + UI->ApplyCommand("/control/execute vis.mac"); +#endif + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif + } + + // job termination + // + delete histo; + delete runManager; + + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + diff --git a/examples/extended/eventgenerator/particleGun/particleGun.in b/examples/extended/eventgenerator/particleGun/particleGun.in new file mode 100644 index 0000000000..2483eafede --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/particleGun.in @@ -0,0 +1,7 @@ +# +/control/verbose 2 +/run/verbose 1 +# +/gunExample/selectGunAction 3 +# +/run/beamOn 10000 diff --git a/examples/extended/eventgenerator/particleGun/plotHisto.C b/examples/extended/eventgenerator/particleGun/plotHisto.C new file mode 100644 index 0000000000..428c019362 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/plotHisto.C @@ -0,0 +1,33 @@ +{ + gROOT->Reset(); + + // Draw histos filled by Geant4 simulation + // + TFile f = TFile("run2.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("4"); + hist3->Draw("HIST"); + + TH1D* hist4 = (TH1D*)f.Get("4"); + hist4->Draw("HIST"); + + TH1D* hist5 = (TH1D*)f.Get("5"); + hist5->Draw("HIST"); + + TH1D* hist6 = (TH1D*)f.Get("6"); + hist6->Draw("HIST"); + + TH1D* hist7 = (TH1D*)f.Get("7"); + hist7->Draw("HIST"); + + TH1D* hist8 = (TH1D*)f.Get("8"); + hist8->Draw("HIST"); +*/ +} diff --git a/examples/extended/eventgenerator/particleGun/run1.mac b/examples/extended/eventgenerator/particleGun/run1.mac new file mode 100644 index 0000000000..f6696c340c --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/run1.mac @@ -0,0 +1,12 @@ +# to bun run interactively with visualization +# +/control/verbose 2 +/run/verbose 1 +# +/gunExample/selectGunAction 1 +# +/tracking/verbose 1 +/run/beamOn 1 +# +/tracking/verbose 0 +/run/beamOn 5 diff --git a/examples/extended/eventgenerator/particleGun/run2.mac b/examples/extended/eventgenerator/particleGun/run2.mac new file mode 100644 index 0000000000..428f4f7ba4 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/run2.mac @@ -0,0 +1,11 @@ +/control/verbose 2 +/run/verbose 1 +# +/gunExample/selectGunAction 2 +# +/gunExample/histo/setFileName run2 +###/gunExample/histo/setFileType hbook +/gunExample/histo/setFileType root +/gunExample/histo/setHisto 1 100 0. 200. keV #energy spectrum for gun #2 +# +/run/beamOn 100000 diff --git a/examples/extended/eventgenerator/particleGun/run3.mac b/examples/extended/eventgenerator/particleGun/run3.mac new file mode 100644 index 0000000000..8cc3b9f1a4 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/run3.mac @@ -0,0 +1,12 @@ +/control/verbose 2 +/run/verbose 1 +# +/gunExample/selectGunAction 3 +# +/gunExample/histo/setFileName run3 +###/gunExample/histo/setFileType hbook +/gunExample/histo/setFileType root +/gunExample/histo/setHisto 2 90 0. 180 deg #moment dN/dalfa for gun #3 +/gunExample/histo/setHisto 3 180 0. 360 deg #moment dN/dpsi for gun #3 +# +/run/beamOn 100000 diff --git a/examples/extended/eventgenerator/particleGun/run4.mac b/examples/extended/eventgenerator/particleGun/run4.mac new file mode 100644 index 0000000000..784ac64f62 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/run4.mac @@ -0,0 +1,15 @@ +/control/verbose 2 +/run/verbose 1 +# +/gunExample/selectGunAction 4 +# +/gunExample/histo/setFileName run4 +###/gunExample/histo/setFileType hbook +/gunExample/histo/setFileType root +/gunExample/histo/setHisto 4 100 0. 10. mm #vertex dN/dr for gun #4 +/gunExample/histo/setHisto 5 90 0. 180 deg #vertex dN/dteta for gun #4 +/gunExample/histo/setHisto 6 180 0. 360 deg #vertex dN/dphi for gun #4 +/gunExample/histo/setHisto 7 90 0. 180 deg #moment dN/dalfa for gun #4 +/gunExample/histo/setHisto 8 180 0. 360 deg #moment dN/dpsi for gun #4 +# +/run/beamOn 1000000 diff --git a/examples/extended/eventgenerator/particleGun/src/DetectorConstruction.cc b/examples/extended/eventgenerator/particleGun/src/DetectorConstruction.cc new file mode 100644 index 0000000000..3c737b2d3f --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/src/DetectorConstruction.cc @@ -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: DetectorConstruction.cc,v 1.1 2010/06/09 01:55:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "DetectorConstruction.hh" + +#include "G4NistManager.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +DetectorConstruction::DetectorConstruction() +{ + worldSizeXY = 2*cm; + worldSizeZ = 2*cm; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +DetectorConstruction::~DetectorConstruction() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4VPhysicalVolume* DetectorConstruction::Construct() +{ + // + // define a material + // + G4Material* Air = + G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR"); + + // + // World + // + G4Box* + solidWorld = new G4Box("World", //its name + worldSizeXY/2,worldSizeXY/2,worldSizeZ/2); //its size + + G4LogicalVolume* + logicWorld = new G4LogicalVolume(solidWorld, //its solid + Air, //its material + "World"); //its name + G4VPhysicalVolume* + physiWorld = new G4PVPlacement(0, //no rotation + G4ThreeVector(), //at (0,0,0) + logicWorld, //its logical volume + "World", //its name + 0, //its mother volume + false, //no boolean operation + 0); //copy number + + // + //always return the physical World + // + return physiWorld; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/particleGun/src/HistoManager.cc b/examples/extended/eventgenerator/particleGun/src/HistoManager.cc new file mode 100644 index 0000000000..3e0b0dae3d --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/src/HistoManager.cc @@ -0,0 +1,262 @@ +// +// ******************************************************************** +// * 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.1 2010/06/09 01:55:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....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() +:af(0),tree(0),factoryOn(false) +{ +#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] = "particleGun"; + fileType = "root"; + fileOption = "export=root"; + // 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=0; kcreateHistogram1D( Label[k], Title[k], + Nbins[k], Vmin[k], Vmax[k]); + factoryOn = true; + } + } + delete hf; + 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 e, G4double weight) +{ + if (ih > MaxHisto) { + G4cout << "---> warning from HistoManager::FillHisto() : histo " << ih + << "does not exist; e= " << e << " w= " << weight << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if(exist[ih]) histo[ih]->fill(e/Unit[ih], weight); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::SetHisto(G4int ih, + G4int nbins, G4double valmin, G4double valmax, const G4String& unit) +{ + if (ih > MaxHisto) { + G4cout << "---> warning from HistoManager::SetHisto() : histo " << ih + << "does not exist" << G4endl; + return; + } + + const G4String id[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8" }; + const G4String title[] = + { "dummy", //0 + "energy spectrum dN/dE = f(E)", //1 for GunAction #2 + "moment dir: angular distr dN/dOmega = f(alpha) ", //2 for GunAction #2 + "moment dir: angular distr dN/dOmega = f(psi) ", //3 for GunAction #2 + "vertex posi: radial distr dN/dv = f(r)", //4 for GunAction #3 + "vertex posi: angular distr dN/dv = f(theta)", //5 for GunAction #3 + "vertex posi: angular distr dN/dv = f(phi)", //6 for GunAction #3 + "moment dir: angular distr dN/dOmega = f(alpha) ", //7 for GunAction #3 + "moment dir: angular distr dN/dOmega = f(psi) " //8 for GunAction #3 + }; + + + 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::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...... + diff --git a/examples/extended/eventgenerator/particleGun/src/HistoMessenger.cc b/examples/extended/eventgenerator/particleGun/src/HistoMessenger.cc new file mode 100644 index 0000000000..6a0a02a9fd --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/src/HistoMessenger.cc @@ -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: HistoMessenger.cc,v 1.3 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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" +#include "PrimaryGeneratorAction.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoMessenger::HistoMessenger(HistoManager* manager) +:histoManager (manager) +{ + histoDir = new G4UIdirectory("/gunExample/histo/"); + histoDir->SetGuidance("histograms control"); + + factoryCmd = new G4UIcmdWithAString("/gunExample/histo/setFileName",this); + factoryCmd->SetGuidance("set name for the histograms file"); + + typeCmd = new G4UIcmdWithAString("/gunExample/histo/setFileType",this); + typeCmd->SetGuidance("set histograms file type: hbook, root, XML"); + typeCmd->SetCandidates("hbook root XML"); + + optionCmd = new G4UIcmdWithAString("/gunExample/histo/setFileOption",this); + optionCmd->SetGuidance("set option for the histograms file"); + + histoCmd = new G4UIcommand("/gunExample/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"); + 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 unit"); + histoCmd->SetParameter(valMin); + // + G4UIparameter* valMax = new G4UIparameter("valMax",'d',false); + valMax->SetGuidance("valMax, expressed in 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("/gunExample/histo/printHisto",this); + prhistoCmd->SetGuidance("print histo #id on ascii file"); + prhistoCmd->SetParameterName("id",false); + prhistoCmd->SetRange("id>0"); + + rmhistoCmd = new G4UIcmdWithAnInteger("/gunExample/histo/removeHisto",this); + rmhistoCmd->SetGuidance("desactivate histo #id"); + rmhistoCmd->SetParameterName("id",false); + rmhistoCmd->SetRange("id>0"); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoMessenger::~HistoMessenger() +{ + delete rmhistoCmd; + delete prhistoCmd; + delete histoCmd; + 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; char unts[30]; + const char* t = newValues; + std::istringstream is(t); + 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)); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/novice/N06/src/ExN06EventAction.cc b/examples/extended/eventgenerator/particleGun/src/PhysicsList.cc similarity index 79% rename from examples/novice/N06/src/ExN06EventAction.cc rename to examples/extended/eventgenerator/particleGun/src/PhysicsList.cc index 21c29293a2..648fa63036 100644 --- a/examples/novice/N06/src/ExN06EventAction.cc +++ b/examples/extended/eventgenerator/particleGun/src/PhysicsList.cc @@ -24,42 +24,45 @@ // ******************************************************************** // // -// $Id: ExN06EventAction.cc,v 1.3 2006/06/29 17:54:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// +// $Id: PhysicsList.cc,v 1.2 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "ExN06EventAction.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Event.hh" -#include "G4EventManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" -#include "G4ios.hh" +#include "PhysicsList.hh" +#include "G4ParticleTypes.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -ExN06EventAction::ExN06EventAction() -{} + +PhysicsList::PhysicsList() +: G4VUserPhysicsList() +{ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -ExN06EventAction::~ExN06EventAction() -{} + +PhysicsList::~PhysicsList() +{ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void ExN06EventAction::BeginOfEventAction(const G4Event*) -{} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void ExN06EventAction::EndOfEventAction(const G4Event*) +void PhysicsList::ConstructParticle() { - // Trajectory drawing now done by vis mananger under vis comamnds. - // See vis.mac. + G4Geantino::GeantinoDefinition(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::ConstructProcess() +{ + AddTransportation(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::SetCuts() +{ + SetCutsWithDefault(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction.cc b/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction.cc new file mode 100644 index 0000000000..1201105e31 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/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.3 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PrimaryGeneratorAction.hh" +#include "PrimaryGeneratorAction1.hh" +#include "PrimaryGeneratorAction2.hh" +#include "PrimaryGeneratorAction3.hh" +#include "PrimaryGeneratorAction4.hh" +#include "PrimaryGeneratorMessenger.hh" + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction::PrimaryGeneratorAction() +{ + // default particle kinematic + // + G4int n_particle = 1; + particleGun = new G4ParticleGun(n_particle); + + G4ParticleDefinition* particle + = G4ParticleTable::GetParticleTable()->FindParticle("geantino"); + particleGun->SetParticleDefinition(particle); + + particleGun->SetParticlePosition(G4ThreeVector(0., 0., 0.)); + + action1 = new PrimaryGeneratorAction1(particleGun); + action2 = new PrimaryGeneratorAction2(particleGun); + action3 = new PrimaryGeneratorAction3(particleGun); + action4 = new PrimaryGeneratorAction4(particleGun); + + selectedAction = 1; + + //create a messenger for this class + gunMessenger = new PrimaryGeneratorMessenger(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction::~PrimaryGeneratorAction() +{ + delete action1; + delete action2; + delete action3; + delete action4; + delete particleGun; + delete gunMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +{ + switch(selectedAction) + { + case 1: + action1->GeneratePrimaries(anEvent); + break; + case 2: + action2->GeneratePrimaries(anEvent); + break; + case 3: + action3->GeneratePrimaries(anEvent); + break; + case 4: + action4->GeneratePrimaries(anEvent); + break; + default: + G4cerr << "Invalid generator action" << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction1.cc b/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction1.cc new file mode 100644 index 0000000000..fb9b306c7a --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction1.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: PrimaryGeneratorAction1.cc,v 1.2 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PrimaryGeneratorAction1.hh" +#include "PrimaryGeneratorAction.hh" + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction1::PrimaryGeneratorAction1(G4ParticleGun* gun) +: particleGun(gun) +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction1::~PrimaryGeneratorAction1() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorAction1::GeneratePrimaries(G4Event* anEvent) +{ + const G4double r = 2*mm; + const G4double zmax = 8*mm; + + //vertex 1 uniform on cylinder + // + G4double alpha = twopi*G4UniformRand(); //alpha uniform in (0, 2*pi) + G4double ux = std::cos(alpha); + G4double uy = std::sin(alpha); + G4double z = zmax*(2*G4UniformRand() - 1); //z uniform in (-zmax, +zmax) + + particleGun->SetParticlePosition(G4ThreeVector(r*ux,r*uy,z)); + particleGun->SetParticleMomentumDirection(G4ThreeVector(ux,uy,0)); + particleGun->SetParticleEnergy(1*MeV); + particleGun->GeneratePrimaryVertex(anEvent); + + //vertex 2 at opposite + // + alpha += pi; + ux = std::cos(alpha); + uy = std::sin(alpha); + particleGun->SetParticlePosition(G4ThreeVector(r*ux,r*uy,z)); + + //particle 2 at vertex 2 + // + const G4double dalpha = 10*deg; + ux = std::cos(alpha + dalpha); + uy = std::sin(alpha + dalpha); + + particleGun->SetParticleMomentumDirection(G4ThreeVector(ux,uy,0)); + particleGun->SetParticleEnergy(1*keV); + particleGun->GeneratePrimaryVertex(anEvent); + + //particle 3 at vertex 2 + // + ux = std::cos(alpha - dalpha); + uy = std::sin(alpha - dalpha); + + particleGun->SetParticleMomentumDirection(G4ThreeVector(ux,uy,0)); + particleGun->SetParticleEnergy(1*GeV); + particleGun->GeneratePrimaryVertex(anEvent); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction2.cc b/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction2.cc new file mode 100644 index 0000000000..73342119d0 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction2.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. * +// ******************************************************************** +// +// +// $Id: PrimaryGeneratorAction2.cc,v 1.3 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PrimaryGeneratorAction2.hh" +#include "PrimaryGeneratorAction.hh" + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction2::PrimaryGeneratorAction2(G4ParticleGun* gun) +: particleGun(gun) +{ + // energy distribution + // + InitFunction(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction2::~PrimaryGeneratorAction2() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorAction2::GeneratePrimaries(G4Event* anEvent) +{ + //cosAlpha uniform in [cos(0), cos(pi)] + G4double cosAlpha = 1. - 2*G4UniformRand(); + G4double sinAlpha = std::sqrt(1. - cosAlpha*cosAlpha); + G4double psi = twopi*G4UniformRand(); //psi uniform in [0, 2*pi] + G4ThreeVector dir(sinAlpha*std::cos(psi),sinAlpha*std::sin(psi),cosAlpha); + + particleGun->SetParticleMomentumDirection(dir); + + //set energy from a tabulated distribution + // + //G4double energy = RejectAccept(); + G4double energy = InverseCumul(); + particleGun->SetParticleEnergy(energy); + + //create vertex + // + particleGun->GeneratePrimaryVertex(anEvent); +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorAction2::InitFunction() +{ + // tabulated function + // f is assumed positive, linear per segment, continuous + // + nPoints = 16; + const G4double xx[] = + { 37*keV, 39*keV, 45*keV, 51*keV, 57*keV, 69*keV, 71*keV, 75*keV, + 83*keV, 91*keV, 97*keV, 107*keV, 125*keV, 145*keV, 159*keV, 160*keV }; + + const G4double ff[] = + { 0.000, 0.077, 0.380, 2.044, 5.535, 15.077, 12.443, 14.766, + 17.644, 18.518, 17.772, 14.776, 8.372, 3.217, 0.194, 0.000 }; + + //copy arrays in std::vector and compute fMax + // + x.resize(nPoints); f.resize(nPoints); + fMax = 0.; + for (G4int j=0; j f_inter) { + //choose a point randomly + x_rndm = x[0] + G4UniformRand()*(x[nPoints-1] - x[0]); + y_rndm = G4UniformRand()*fMax; + //find bin + G4int j = nPoints-2; + while ((x[j] > x_rndm) && (j > 0)) j--; + //compute f(x_rndm) by linear interpolation + f_inter = f[j] + a[j]*(x_rndm - x[j]); + }; + return x_rndm; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double PrimaryGeneratorAction2::InverseCumul() +{ + // tabulated function + // f is assumed positive, linear per segment, continuous + // --> cumulative function is second order polynomial + + //choose y randomly + G4double y_rndm = G4UniformRand()*Fc[nPoints-1]; + //find bin + G4int j = nPoints-2; + while ((Fc[j] > y_rndm) && (j > 0)) j--; + //y_rndm --> x_rndm : Fc(x) is second order polynomial + G4double x_rndm = x[j]; + G4double aa = a[j]; + if (aa != 0.) { + G4double b = f[j]/aa, c = 2*(y_rndm - Fc[j])/aa; + G4double delta = b*b + c; + G4int sign = 1; if (aa < 0.) sign = -1; + x_rndm += sign*std::sqrt(delta) - b; + } else if (f[j] > 0.) { + x_rndm += (y_rndm - Fc[j])/f[j]; + }; + return x_rndm; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction3.cc b/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction3.cc new file mode 100644 index 0000000000..ba529f4835 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction3.cc @@ -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: PrimaryGeneratorAction3.cc,v 1.3 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PrimaryGeneratorAction3.hh" +#include "PrimaryGeneratorAction.hh" + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction3::PrimaryGeneratorAction3(G4ParticleGun* gun) +: particleGun(gun) +{ + // direction + // + G4double theta = 90*deg, phi = 45*deg; + newUz = G4ThreeVector(std::sin(theta)*std::cos(phi), + std::sin(theta)*std::sin(phi), + std::cos(theta)); + + alphaMax = 15*deg; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction3::~PrimaryGeneratorAction3() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorAction3::GeneratePrimaries(G4Event* anEvent) +{ + //particle direction uniform around newUz axis + // + //1- in World frame + //cosAlpha uniform in [cos(0), cos(alphaMax)] + G4double cosAlpha = 1. - G4UniformRand()*(1.- std::cos(alphaMax)); + G4double sinAlpha = std::sqrt(1. - cosAlpha*cosAlpha); + G4double psi = twopi*G4UniformRand(); //psi uniform in [0, 2*pi] + G4ThreeVector dir(sinAlpha*std::cos(psi),sinAlpha*std::sin(psi),cosAlpha); + + //2- rotate dir (rotateUz transforms uz to newUz) + dir.rotateUz(newUz); + + particleGun->SetParticleMomentumDirection(dir); + + //set energy + // + particleGun->SetParticleEnergy(1*MeV); + + //create vertex + // + particleGun->GeneratePrimaryVertex(anEvent); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction4.cc b/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction4.cc new file mode 100644 index 0000000000..e7b7dd3cf3 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorAction4.cc @@ -0,0 +1,105 @@ +// +// ******************************************************************** +// * 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: PrimaryGeneratorAction4.cc,v 1.2 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PrimaryGeneratorAction4.hh" +#include "PrimaryGeneratorAction.hh" + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction4::PrimaryGeneratorAction4(G4ParticleGun* gun) +: particleGun(gun) +{ + // vertex volume + // + G4double Rmin = 2.*mm; + G4double Rmax = 8.*mm; + Rmin3 = Rmin*Rmin*Rmin; + Rmax3 = Rmax*Rmax*Rmax; + + //opening angle + // + G4double alphaMin = 0.*deg; + G4double alphaMax = 10.*deg; + cosAlphaMin = std::cos(alphaMin); + cosAlphaMax = std::cos(alphaMax); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction4::~PrimaryGeneratorAction4() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorAction4::GeneratePrimaries(G4Event* anEvent) +{ + //vertex position uniform in spherical shell + // + G4double cosTheta = 2*G4UniformRand() - 1; //cosTheta uniform in [0, pi] + G4double sinTheta = std::sqrt(1. - cosTheta*cosTheta); + G4double phi = twopi*G4UniformRand(); //phi uniform in [0, 2*pi] + G4ThreeVector ur(sinTheta*std::cos(phi),sinTheta*std::sin(phi),cosTheta); + + G4double R3 = Rmin3 + G4UniformRand()*(Rmax3 - Rmin3); + G4double R = std::pow(R3, 1./3); + + particleGun->SetParticlePosition(R*ur); + + //particle direction uniform around ur + // + //1- in World frame + //cosAlpha uniform in [cos(alphaMin), cos(alphaMax)] + G4double cosAlpha = cosAlphaMin - G4UniformRand()*(cosAlphaMin - cosAlphaMax); + G4double sinAlpha = std::sqrt(1. - cosAlpha*cosAlpha); + G4double psi = twopi*G4UniformRand(); //psi uniform in (0,2*pi) + G4ThreeVector dir(sinAlpha*std::cos(psi),sinAlpha*std::sin(psi),cosAlpha); + + //2- rotate dir (rotateUz transforms uz to ur) + dir.rotateUz(ur); + + particleGun->SetParticleMomentumDirection(dir); + + //energy + // + particleGun->SetParticleEnergy(1*MeV); + + //create vertex + // + particleGun->GeneratePrimaryVertex(anEvent); +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorMessenger.cc b/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorMessenger.cc new file mode 100644 index 0000000000..dda1a477a3 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/src/PrimaryGeneratorMessenger.cc @@ -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: PrimaryGeneratorMessenger.cc,v 1.1 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PrimaryGeneratorMessenger.hh" +#include "PrimaryGeneratorAction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAnInteger.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorMessenger::PrimaryGeneratorMessenger( + PrimaryGeneratorAction* Gun) +:Action(Gun) +{ + Dir = new G4UIdirectory("/gunExample/"); + Dir->SetGuidance("this example"); + + selectActionCmd = new G4UIcmdWithAnInteger("/gunExample/selectGunAction",this); + selectActionCmd->SetGuidance("Select primary generator action"); + selectActionCmd->SetGuidance(" id = 1 : Generate several vertices and particles per event"); + selectActionCmd->SetGuidance(" id = 2 : Show how to sample a tabulated function"); + selectActionCmd->SetGuidance(" id = 3 : Divergent beam in an arbitrary direction"); + selectActionCmd->SetGuidance(" id = 4 : In spherical coordinates with rotation matrix"); + selectActionCmd->SetParameterName("id",false); + selectActionCmd->SetRange("id>0 && id<5"); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorMessenger::~PrimaryGeneratorMessenger() +{ + delete selectActionCmd; + delete Dir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, + G4String newValue) +{ + if (command == selectActionCmd) + Action->SelectAction(selectActionCmd->GetNewIntValue(newValue)); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh b/examples/extended/eventgenerator/particleGun/src/RunAction.cc similarity index 74% rename from examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh rename to examples/extended/eventgenerator/particleGun/src/RunAction.cc index 271e9f4433..c65617adc8 100644 --- a/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh +++ b/examples/extended/eventgenerator/particleGun/src/RunAction.cc @@ -24,49 +24,44 @@ // ******************************************************************** // // -// $Id: ProcessesCount.hh,v 1.10 2006/06/29 16:36:41 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// +// $Id: RunAction.cc,v 1.1 2010/06/09 01:55:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// 08.03.01 Hisaya: adapted for STL -// 26.10.98 mma : first version +#include "RunAction.hh" +#include "HistoManager.hh" -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef ProcessesCount_HH -#define ProcessesCount_HH - -#include "globals.hh" -#include +#include "G4Run.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class OneProcessCount -{ -public: - OneProcessCount(G4String name) {Name=name; Counter=0;}; - ~OneProcessCount() {}; - -public: - G4String GetName() {return Name;}; - G4int GetCounter() {return Counter;}; - void Count() {Counter++;}; - -private: - G4String Name; // process name - G4int Counter; // process counter -}; +RunAction::RunAction(HistoManager* histo) +:histoManager(histo) +{ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -typedef std::vector ProcessesCount; - -#endif - +RunAction::~RunAction() +{ } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void RunAction::BeginOfRunAction(const G4Run*) +{ + //histograms + // + histoManager->book(); +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void RunAction::EndOfRunAction(const G4Run*) +{ + //save histograms + // + histoManager->save(); +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc b/examples/extended/eventgenerator/particleGun/src/SteppingVerbose.cc similarity index 64% rename from examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc rename to examples/extended/eventgenerator/particleGun/src/SteppingVerbose.cc index 41e933a20c..80eff25e85 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc +++ b/examples/extended/eventgenerator/particleGun/src/SteppingVerbose.cc @@ -24,43 +24,30 @@ // ******************************************************************** // // -// $Id: Em8SteppingVerbose.cc,v 1.8 2006/06/29 17:00:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -//--------------------------------------------------------------- -// -// Em8SteppingVerbose.cc -// -// Description: -// Implementation of the Em8SteppingVerbose class -// Contact: -// Questions and comments to this code should be sent to -// Katsuya Amako (e-mail: Katsuya.Amako@kek.jp) -// Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp) -// -//--------------------------------------------------------------- +// $Id: SteppingVerbose.cc,v 1.1 2010/06/09 01:55:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "SteppingVerbose.hh" -#include "Em8SteppingVerbose.hh" #include "G4SteppingManager.hh" - #include "G4UnitsTable.hh" -//////////////////////////////////////////////// -Em8SteppingVerbose::Em8SteppingVerbose() -//////////////////////////////////////////////// -{ -} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -////////////////////////////////////////////////// -Em8SteppingVerbose::~Em8SteppingVerbose() -////////////////////////////////////////////////// -{ -} +SteppingVerbose::SteppingVerbose() +{} -///////////////////////////////////////// -void Em8SteppingVerbose::StepInfo() -///////////////////////////////////////// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +SteppingVerbose::~SteppingVerbose() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void SteppingVerbose::StepInfo() { CopyState(); @@ -78,31 +65,33 @@ void Em8SteppingVerbose::StepInfo() << std::setw( 9) << "dEStep" << " " << std::setw(10) << "StepLeng" << std::setw(10) << "TrakLeng" - << std::setw(10) << "NextVolu" + << 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"); + << 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->GetNextVolume()->GetName(); + 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(); + G4cout << " " + << std::setw(10) << fStep->GetPostStepPoint() + ->GetProcessDefinedStep()->GetProcessName(); } else { - G4cout << "User Limit"; + G4cout << " UserLimit"; } G4cout << G4endl; @@ -149,9 +138,9 @@ void Em8SteppingVerbose::StepInfo() G4cout.precision(prec); } -//////////////////////////////////////////////// -void Em8SteppingVerbose::TrackingStarted() -//////////////////////////////////////////////// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void SteppingVerbose::TrackingStarted() { CopyState(); @@ -166,24 +155,27 @@ G4int prec = G4cout.precision(3); << std::setw( 9) << "dEStep" << " " << std::setw(10) << "StepLeng" << std::setw(10) << "TrakLeng" - << std::setw(10) << "NextVolu" + << 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"); + 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->GetNextVolume()->GetName() << " "; + G4cout << std::setw(10) << fTrack->GetVolume()->GetName(); } else { - G4cout << std::setw(10) << "OutOfWorld" << " "; + G4cout << std::setw(10) << "OutOfWorld"; } - G4cout << std::setw(10) << "initStep" << G4endl; + G4cout << " initStep" << G4endl; } G4cout.precision(prec); } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/particleGun/src/TrackingAction.cc b/examples/extended/eventgenerator/particleGun/src/TrackingAction.cc new file mode 100644 index 0000000000..dfd7642221 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/src/TrackingAction.cc @@ -0,0 +1,159 @@ +// +// ******************************************************************** +// * 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.3 2010/07/16 07:37:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "TrackingAction.hh" +#include "PrimaryGeneratorAction.hh" +#include "PrimaryGeneratorAction2.hh" +#include "PrimaryGeneratorAction3.hh" +#include "PrimaryGeneratorAction4.hh" +#include "RunAction.hh" +#include "HistoManager.hh" + +#include "G4Track.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +TrackingAction::TrackingAction(PrimaryGeneratorAction* prim,HistoManager* histo) +:primary(prim),histoManager(histo) +{ + // parameters for generator action #3 + newUz = primary->GetAction3()->GetNewUz(); + + // parameters for generator action #4 + deltaR3 = + (primary->GetAction4()->GetRmax3() - primary->GetAction4()->GetRmin3())/3.; + cosAlphaMin = primary->GetAction4()->GetCosAlphaMin(); + cosAlphaMax = primary->GetAction4()->GetCosAlphaMax(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void TrackingAction::PreUserTrackingAction(const G4Track* track) +{ + G4int selectedGeneratorAction = primary->GetSelectedAction(); + G4int id = 0; + + if(selectedGeneratorAction==2) + { + //energy spectrum + // + id = 1; + histoManager->FillHisto(id, track->GetKineticEnergy()); + } + else if(selectedGeneratorAction==3) + { + //momentum direction : angular distr dN/dOmega = f(alpha) + // + id = 2; + G4ThreeVector um = track->GetMomentumDirection(); + G4double alpha = std::acos(newUz*um); + G4double dalfa = histoManager->GetBinWidth(id); + G4double dOmega = twopi*std::sin(alpha)*dalfa; + if (dOmega > 0.) histoManager->FillHisto(id, alpha, 1./dOmega); + + //momentum direction : angular distr dN/dOmega = f(psi) + // + id = 3; + // complete local frame + G4ThreeVector u1(1.,0.,0.); u1.rotateUz(newUz); + G4ThreeVector u2(0.,1.,0.); u2.rotateUz(newUz); + // + G4double psi = std::atan2(u2*um, u1*um); + if (psi < 0.) psi += twopi; + G4double dpsi = histoManager->GetBinWidth(id); + G4double alphaMax = primary->GetAction3()->GetAlphaMax(); + dOmega = (1. - std::cos(alphaMax))*dpsi; + if (dOmega > 0.) histoManager->FillHisto(id, psi, 1./dOmega); + } + else if(selectedGeneratorAction==4) + { + G4ThreeVector vertex = track->GetVertexPosition(); + G4double r = vertex.mag(); + if (r <= 0.0) return; + //local frame : new uz = ur + G4ThreeVector ur = vertex/r; + + //vertex position: radial distribution : dN/dv = f(r) + // + id = 4; + G4double dr = histoManager->GetBinWidth(id); + G4double dv = 2*twopi*r*r*dr; + if (dv > 0.) histoManager->FillHisto(id, r, 1./dv); + + //vertex position: angular distribution : dN/dv = f(theta) + // + id = 5; + G4double theta = std::acos(ur.z()); + G4double dteta = histoManager->GetBinWidth(id); + dv = deltaR3*twopi*std::sin(theta)*dteta; + if (dv > 0.) histoManager->FillHisto(id, theta, 1./dv); + + //vertex position: angular distribution : dN/dv = f(phi) + // + id = 6; + G4double phi = std::atan2(ur.y(), ur.x()); + if (phi < 0.) phi += twopi; + G4double dphi = histoManager->GetBinWidth(id); + dv = 2*deltaR3*dphi; + if (dv > 0.) histoManager->FillHisto(id, phi, 1./dv); + + //momentum direction : angular distr dN/dOmega = f(alpha) + // + id = 7; + G4ThreeVector um = track->GetMomentumDirection(); + G4double alpha = std::acos(ur*um); + G4double dalfa = histoManager->GetBinWidth(id); + G4double dOmega = twopi*std::sin(alpha)*dalfa; + if (dOmega > 0.) histoManager->FillHisto(id, alpha, 1./dOmega); + + //momentum direction : angular distr dN/dOmega = f(psi) + // + id = 8; + // complete local frame + G4ThreeVector u1(1.,0.,0.); u1.rotateUz(ur); + G4ThreeVector u2(0.,1.,0.); u2.rotateUz(ur); + // + G4double psi = std::atan2(u2*um, u1*um); + if (psi < 0.) psi += twopi; + G4double dpsi = histoManager->GetBinWidth(id); + dOmega = (cosAlphaMin - cosAlphaMax)*dpsi; + if (dOmega > 0.) histoManager->FillHisto(id, psi, 1./dOmega); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void TrackingAction::PostUserTrackingAction(const G4Track*) +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/eventgenerator/particleGun/vis.mac b/examples/extended/eventgenerator/particleGun/vis.mac new file mode 100644 index 0000000000..727f34a673 --- /dev/null +++ b/examples/extended/eventgenerator/particleGun/vis.mac @@ -0,0 +1,79 @@ +# +# Macro file for the initialization phase of "particleGun1.cc" +# +# Sets some default verbose +# and initializes the graphic. +# +/control/verbose 2 +/run/verbose 2 +# +/run/initialize +# +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.5 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/eventgenerator/pythia/decayer6/GNUmakefile b/examples/extended/eventgenerator/pythia/decayer6/GNUmakefile index bca44cb168..6e9e878133 100644 --- a/examples/extended/eventgenerator/pythia/decayer6/GNUmakefile +++ b/examples/extended/eventgenerator/pythia/decayer6/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2008/11/03 11:48:35 gcosmo Exp $ +# $Id: GNUmakefile,v 1.2 2010/01/11 16:34:57 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../../.. + G4INSTALL = ../../../../.. endif .PHONY: all diff --git a/examples/extended/eventgenerator/pythia/decayer6/History b/examples/extended/eventgenerator/pythia/decayer6/History index 5e6bd6e0ad..a110c2ffd4 100644 --- a/examples/extended/eventgenerator/pythia/decayer6/History +++ b/examples/extended/eventgenerator/pythia/decayer6/History @@ -1,4 +1,4 @@ -$Id: History,v 1.1 2008/11/03 11:48:35 gcosmo Exp $ +$Id: History,v 1.5 2010/12/05 21:13:57 gcosmo Exp $ ---------------------------------------------------------------------------- ========================================================= @@ -14,6 +14,18 @@ modifications introduced in the code and keep track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +02/12/2010 - I.Hrivnacova (p6decayer-V09-03-02) +------------------------- +- Migrated to use particle-based multiple-scattering. + +04/06/2010 - J.Perl (p6decayer-V09-03-01) +------------------- +- Updated vis usage + +12/05/2010 - J.Allison (p6decayer-V09-03-00) +---------------------- +- pythia6_decayer.cc: Introduced GUIExecutive. + 03/11/2008 - G.Cosmo (p6decayer-V09-01-00) -------------------- - First version from original code by I.Hrivnakova. diff --git a/examples/extended/eventgenerator/pythia/decayer6/README b/examples/extended/eventgenerator/pythia/decayer6/README index 0bf16eb79d..b1ff7fec2e 100644 --- a/examples/extended/eventgenerator/pythia/decayer6/README +++ b/examples/extended/eventgenerator/pythia/decayer6/README @@ -1,4 +1,4 @@ - $Id: README,v 1.1 2008/11/03 11:48:35 gcosmo Exp $ + $Id: README,v 1.2 2010/10/21 09:21:41 ivana Exp $ ------------------------------------------------------------ Example of the external decayer implementation with Pythia6 @@ -53,10 +53,10 @@ PYTHIA6 the path to pythia-vesrinX.f source code PYTHIA6_VERSION the pythia version - e.g. If you download pythia-6.4.18.f.gz and unzip it in $HOME, + e.g. If you download pythia-6.4.23.f.gz and unzip it in $HOME, then you have to set: export PYTHIA6=$HOME - export PYTHIA6_VERSION="6.4.18" + export PYTHIA6_VERSION="6.4.23" 3. cd $G4INSTALL/example/extended/eventgenerator/pythia/decayer6 make diff --git a/examples/extended/eventgenerator/pythia/decayer6/include/PhysicsList.hh b/examples/extended/eventgenerator/pythia/decayer6/include/PhysicsList.hh index fc53e4ecab..b2a56fef4d 100644 --- a/examples/extended/eventgenerator/pythia/decayer6/include/PhysicsList.hh +++ b/examples/extended/eventgenerator/pythia/decayer6/include/PhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.hh,v 1.1 2008/11/03 11:48:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysicsList.hh,v 1.2 2010/10/21 09:21:41 ivana Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------------- @@ -53,12 +53,6 @@ class PhysicsList: public G4VUserPhysicsList private: - // these methods Construct particles - void ConstructBosons(); - void ConstructLeptons(); - void ConstructMesons(); - void ConstructBaryons(); - // these methods Construct physics processes and register them void ConstructDecay(); void ConstructEM(); diff --git a/examples/extended/eventgenerator/pythia/decayer6/pythia6_decayer.cc b/examples/extended/eventgenerator/pythia/decayer6/pythia6_decayer.cc index 28a543084b..4aad5a3e40 100644 --- a/examples/extended/eventgenerator/pythia/decayer6/pythia6_decayer.cc +++ b/examples/extended/eventgenerator/pythia/decayer6/pythia6_decayer.cc @@ -24,16 +24,14 @@ // ******************************************************************** // // -// $Id: pythia6_decayer.cc,v 1.1 2008/11/03 14:47:54 ivana Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: pythia6_decayer.cc,v 1.2 2010/05/12 13:30:38 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // ---------------------------------------------------------------------------- #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "Randomize.hh" @@ -49,6 +47,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + // ---------------------------------------------------------------------------- int main(int argc,char** argv) @@ -95,35 +97,29 @@ 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 - { + else + { // interactive mode : define UI session +#ifdef G4UI_USE #ifdef G4VIS_USE G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); #endif - - G4UIsession* session = 0; -#if defined(G4UI_USE_TCSH) - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - - UI->ApplyCommand("/control/execute vis.mac"); - session->SessionStart(); - delete session; - + UImanager->ApplyCommand("/control/execute vis.mac"); + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; #ifdef G4VIS_USE delete visManager; #endif +#endif } // Job termination diff --git a/examples/extended/eventgenerator/pythia/decayer6/pythia6_decayer.out b/examples/extended/eventgenerator/pythia/decayer6/pythia6_decayer.out index d1e8a8926f..854b450218 100644 --- a/examples/extended/eventgenerator/pythia/decayer6/pythia6_decayer.out +++ b/examples/extended/eventgenerator/pythia/decayer6/pythia6_decayer.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-09-01-ref-06 (4-July-2008) + Geant4 version Name: geant4-09-03-ref-08 (25-June-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -9,54 +9,54 @@ ***** Table : Nb of materials = 13 ***** - Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.078 cm Imean: 187.200 eV + Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.078 cm Imean: 188.000 eV ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV + Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 823.000 eV ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: Scintillator density: 1.032 g/cm3 RadL: 42.549 cm Nucl.Int.Length: 69.996 cm Imean: 63.913 eV + Material: Scintillator density: 1.032 g/cm3 RadL: 42.549 cm Nucl.Int.Length: 69.996 cm Imean: 64.684 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: Mylar density: 1.397 g/cm3 RadL: 28.599 cm Nucl.Int.Length: 56.054 cm Imean: 75.075 eV + Material: Mylar density: 1.397 g/cm3 RadL: 28.599 cm Nucl.Int.Length: 56.054 cm Imean: 75.967 eV ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 62.49 % ElmAbundance 45.45 % ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 4.20 % ElmAbundance 36.36 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 33.30 % ElmAbundance 18.18 % - Material: quartz density: 2.200 g/cm3 RadL: 12.295 cm Nucl.Int.Length: 43.573 cm Imean: 126.007 eV + Material: quartz density: 2.200 g/cm3 RadL: 12.295 cm Nucl.Int.Length: 43.573 cm Imean: 125.663 eV ---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 46.75 % ElmAbundance 33.33 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 53.25 % ElmAbundance 66.67 % - Material: Air density: 1.290 mg/cm3 RadL: 285.162 m Nucl.Int.Length: 662.680 m Imean: 85.684 eV temperature: 273.15 K pressure: 1.00 atm + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.680 m Imean: 85.703 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: Aerogel density: 200.000 mg/cm3 RadL: 1.493 m Nucl.Int.Length: 4.351 m Imean: 100.118 eV + Material: Aerogel density: 200.000 mg/cm3 RadL: 1.493 m Nucl.Int.Length: 4.351 m Imean: 98.882 eV ---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 29.22 % ElmAbundance 11.12 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 66.49 % ElmAbundance 44.42 % ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 4.19 % ElmAbundance 44.37 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 0.10 % ElmAbundance 0.09 % - Material: CarbonicGas density: 27.000 mg/cm3 RadL: 13.406 m Nucl.Int.Length: 31.794 m Imean: 90.164 eV temperature: 325.00 K pressure: 50.00 atm + Material: CarbonicGas density: 27.000 mg/cm3 RadL: 13.406 m Nucl.Int.Length: 31.794 m Imean: 90.958 eV temperature: 325.00 K pressure: 50.00 atm ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 27.29 % ElmAbundance 33.33 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 72.71 % ElmAbundance 66.67 % - Material: WaterSteam density: 0.300 kg/m3 RadL: 1.203 km Nucl.Int.Length: 2.514 km Imean: 70.893 eV temperature: 500.00 K pressure: 2.00 atm + Material: WaterSteam density: 0.300 kg/m3 RadL: 1.203 km Nucl.Int.Length: 2.514 km Imean: 68.998 eV temperature: 500.00 K pressure: 2.00 atm ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: Galactic density: 0.000 kg/m3 RadL: 204727680.290 pc Nucl.Int.Length: 113804204.102 pc Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm + Material: Galactic density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 113804112.800 pc Imean: 19.200 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 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.486 km Imean: 85.684 eV temperature: 273.15 K pressure: 0.02 atm + Material: Beam density: 0.010 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.486 km Imean: 85.703 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 = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 % @@ -67,186 +67,245 @@ ------------------------------------------------------------ PhysicsList::SetCuts:CutLength : 1 mm -phot: tables are built for gamma - Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model +phot: for gamma SubType= 12 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + PhotoElectric : Emin= 0 eV Emax= 10 TeV -compt: tables are built for gamma - Lambda tables from 100 eV to 100 GeV in 90 bins, spline: 0 - Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV - Sampling according Klein-Nishina model +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: tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins, spline: 0 - Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model +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 -msc: Model variant of multiple scattering for e- - Lambda tables from 100 eV to 100 TeV in 120 bins, spline: 0 - LateralDisplacementFlag= 1 Skin= 3 - Model , RangeFactor= 0.02, Step limit type 1 +msc: for e- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc93 : 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, spline: 0 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.05 - Delta cross sections and sampling from MollerBhabha model - Good description from 1 KeV to 100 GeV. +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 -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, spline: 0 - Total cross sections and sampling from eBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 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 -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, spline: 0 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.05 - Delta cross sections and sampling from MollerBhabha model - Good description from 1 KeV to 100 GeV. +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 -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, spline: 0 - Total cross sections and sampling from eBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 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 -annihil: tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins, spline: 0 - Sampling according eplus2gg model +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 -msc: Model variant of multiple scattering for proton - Lambda tables from 100 eV to 100 TeV in 120 bins, spline: 0 - LateralDisplacementFlag= 1 Skin= 3 - Model , RangeFactor= 0.02, Step limit type 1 +msc: for proton SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : 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, spline: 0 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.05 - NuclearStopping= 1 +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 ===== 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: 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, spline: 0 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.05 - NuclearStopping= 1 +hBrems: for proton 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 ====== - Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV -hIoni: tables are built for kaon+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins - Lambda tables from threshold to 100 TeV in 120 bins, spline: 0 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.05 - NuclearStopping= 1 +hPairProd: for proton 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 + +msc: for GenericIon SubType= 10 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + 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.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= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +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 ===== 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: tables are built for kaon- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins - Lambda tables from threshold to 100 TeV in 120 bins, spline: 0 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.05 - NuclearStopping= 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 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: Model variant of multiple scattering for mu+ - Lambda tables from 100 eV to 100 TeV in 120 bins, spline: 0 - LateralDisplacementFlag= 1 Skin= 3 - Model , RangeFactor= 0.02, Step limit type 1 +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: 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, spline: 0 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.05 - Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, - radiative corrections for E > 1 GeV +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= 100 TeV + MuBetheBloch : Emin= 1 GeV 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, spline: 0 - Theoretical 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, spline: 0 - Theoretical model - -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, spline: 0 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.05 - Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, - radiative corrections for E > 1 GeV +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 ====== - Bragg : Emin= 0 eV Emax= 200 keV + MuBrem : Emin= 0 eV Emax= 10 TeV + +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 + +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 ====== + ICRU73QO : 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: 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, spline: 0 - Theoretical model +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 -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, spline: 0 - Theoretical 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 -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, spline: 0 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.05 - NuclearStopping= 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 ===== 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: Model variant of multiple scattering for pi- - Lambda tables from 100 eV to 100 TeV in 120 bins, spline: 0 - LateralDisplacementFlag= 1 Skin= 3 - Model , RangeFactor= 0.02, Step limit type 1 - -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, spline: 0 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.05 - NuclearStopping= 1 +hBrems: for pi+ 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 ====== - Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV + +hPairProd: for pi+ 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 + +msc: for pi- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 297.504 keV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV + +hBrems: for pi- 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 pi- 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 ========= 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 @@ -290,61 +349,113 @@ nofParticles for tracking: 13 Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -8.99 cm 0 fm 0 fm 229 MeV 0 eV 0 fm 0 fm World initStep - 1 -7.5 cm -1.28 mm -4.98 mm 229 MeV4.34e-19 eV 1.57 cm 1.57 cm World Transportation - 2 -7.46 cm -1.31 mm -5.12 mm 227 MeV 396 keV 419 um 1.62 cm Lead hIoni - 3 -6.5 cm -2.16 mm -8.37 mm 213 MeV 13.4 MeV 1.02 cm 2.64 cm Lead Transportation - 4 -6 cm -2.53 mm -1.02 cm 212 MeV 1.04 MeV 5.35 mm 3.17 cm liquidArgon Transportation - 5 -5 cm -3.34 mm -1.38 cm 198 MeV 14.5 MeV 1.07 cm 4.24 cm Lead Transportation - 6 -4.5 cm -3.99 mm -1.62 cm 196 MeV 1.02 MeV 5.58 mm 4.8 cm liquidArgon Transportation - 7 -3.5 cm -5.15 mm -2.1 cm 180 MeV 16.8 MeV 1.12 cm 5.92 cm Lead Transportation - 8 -3 cm -5.33 mm -2.36 cm 179 MeV 1.02 MeV 5.63 mm 6.48 cm liquidArgon Transportation - 9 -2 cm -5.59 mm -2.86 cm 163 MeV 15.3 MeV 1.12 cm 7.6 cm Lead Transportation - 10 -1.5 cm -6.26 mm -3.1 cm 162 MeV 1.19 MeV 5.56 mm 8.16 cm liquidArgon Transportation - 11 -5 mm -7.61 mm -3.56 cm 147 MeV 15.1 MeV 1.11 cm 9.27 cm Lead Transportation - 12 -0.000258 fm -7.82 mm -3.73 cm 146 MeV 922 keV 5.29 mm 9.8 cm liquidArgon Transportation - 13 1 cm -8.33 mm -4.07 cm 134 MeV 12.3 MeV 1.06 cm 10.9 cm Lead Transportation - 14 1.5 cm -7.58 mm -4.2 cm 133 MeV 1.14 MeV 5.23 mm 11.4 cm liquidArgon Transportation - 15 2.5 cm -6.11 mm -4.47 cm 117 MeV 15.8 MeV 1.05 cm 12.4 cm Lead Transportation - 16 3 cm -5.36 mm -4.7 cm 116 MeV 1.24 MeV 5.56 mm 13 cm liquidArgon Transportation - 17 3.66 cm -4.33 mm -5 cm 105 MeV 11.1 MeV 7.35 mm 13.7 cm Lead Transportation - 18 6.4 cm -2.17 mm -6 cm 105 MeV9.67e-19 eV 2.92 cm 16.7 cm OutOfWorld Transportation + 1 -7.5 cm -1.28 mm -4.98 mm 229 MeV4.39e-19 eV 1.57 cm 1.57 cm World Transportation + 2 -6.5 cm -2.14 mm -8.33 mm 217 MeV 11.4 MeV 1.06 cm 2.63 cm Lead Transportation + 3 -6 cm -2.65 mm -1.02 cm 216 MeV 1.1 MeV 5.35 mm 3.17 cm liquidArgon Transportation + 4 -5.31 cm -3.19 mm -1.23 cm 203 MeV 8.46 MeV 7.28 mm 3.9 cm Lead hIoni + 5 -5 cm -3.5 mm -1.33 cm 199 MeV 4.59 MeV 3.25 mm 4.22 cm Lead Transportation + 6 -4.5 cm -3.95 mm -1.51 cm 198 MeV 973 keV 5.31 mm 4.75 cm liquidArgon Transportation + 7 -3.5 cm -4.85 mm -1.85 cm 184 MeV 13.3 MeV 1.06 cm 5.82 cm Lead Transportation + 8 -3.36 cm -5.04 mm -1.9 cm 183 MeV 263 keV 1.53 mm 5.97 cm liquidArgon hIoni + 9 -3 cm -5.47 mm -2.01 cm 182 MeV 849 keV 3.76 mm 6.35 cm liquidArgon Transportation + 10 -2 cm -6.73 mm -2.33 cm 168 MeV 14.7 MeV 1.06 cm 7.41 cm Lead Transportation + 11 -1.5 cm -7.15 mm -2.46 cm 166 MeV 1.24 MeV 5.18 mm 7.93 cm liquidArgon Transportation + 12 -1.38 cm -7.26 mm -2.49 cm 163 MeV 1.33 MeV 1.28 mm 8.05 cm Lead hIoni + 13 -5 mm -8.11 mm -2.71 cm 151 MeV 12.7 MeV 9.11 mm 8.96 cm Lead Transportation + 14 -4.42e-05 fm -8.8 mm -2.89 cm 150 MeV 1.04 MeV 5.34 mm 9.5 cm liquidArgon Transportation + 15 1 cm -1.02 cm -3.23 cm 135 MeV 14.4 MeV 1.07 cm 10.6 cm Lead Transportation + 16 1.5 cm -1.05 cm -3.31 cm 134 MeV 1.04 MeV 5.07 mm 11.1 cm liquidArgon Transportation + 17 2.5 cm -1.1 cm -3.47 cm 121 MeV 13 MeV 1.02 cm 12.1 cm Lead Transportation + 18 3 cm -1.16 cm -3.53 cm 120 MeV 1.2 MeV 5.08 mm 12.6 cm liquidArgon Transportation + 19 4 cm -1.4 cm -3.68 cm 105 MeV 14.5 MeV 1.04 cm 13.6 cm Lead Transportation + 20 4.5 cm -1.54 cm -3.84 cm 104 MeV 1.13 MeV 5.44 mm 14.2 cm liquidArgon Transportation + 21 5.5 cm -1.83 cm -4.14 cm 90.2 MeV 14.1 MeV 1.09 cm 15.3 cm Lead Transportation + 22 5.64 cm -1.86 cm -4.2 cm 89.2 MeV 437 keV 1.54 mm 15.4 cm liquidArgon hIoni + 23 6 cm -1.96 cm -4.34 cm 88.3 MeV 973 keV 3.98 mm 15.8 cm liquidArgon Transportation + 24 6.83 cm -2.27 cm -4.7 cm 74.5 MeV 13.8 MeV 9.57 mm 16.8 cm Lead hIoni + 25 7 cm -2.35 cm -4.77 cm 71.6 MeV 2.88 MeV 2.06 mm 17 cm Lead Transportation + 26 7.5 cm -2.92 cm -4.8 cm 69.6 MeV 1.94 MeV 7.58 mm 17.8 cm liquidArgon Transportation + 27 9 cm -4.68 cm -4.86 cm 69.6 MeV9.18e-19 eV 2.32 cm 20.1 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 5.64 cm -1.86 cm -4.2 cm 558 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 5.67 cm -1.84 cm -4.2 cm 481 keV 77.2 keV 420 um 420 um liquidArgon msc + 2 5.68 cm -1.84 cm -4.18 cm 437 keV 44.1 keV 266 um 686 um liquidArgon msc + 3 5.7 cm -1.86 cm -4.16 cm 380 keV 57.2 keV 400 um 1.09 mm liquidArgon msc + 4 5.72 cm -1.89 cm -4.15 cm 0 eV 380 keV 1.17 mm 2.26 mm liquidArgon eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.38 cm -7.26 mm -2.49 cm 1.72 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -1.36 cm -7.09 mm -2.5 cm 1.38 MeV 332 keV 370 um 370 um Lead msc + 2 -1.37 cm -7.01 mm -2.48 cm 1.04 MeV 347 keV 279 um 648 um Lead msc + 3 -1.37 cm -7.05 mm -2.48 cm 0 eV 1.04 MeV 774 um 1.42 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.36 cm -5.04 mm -1.9 cm 796 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -3.34 cm -5.3 mm -1.92 cm 715 keV 80.4 keV 434 um 434 um liquidArgon msc + 2 -3.33 cm -5.45 mm -1.94 cm 675 keV 40.4 keV 274 um 707 um liquidArgon msc + 3 -3.31 cm -5.44 mm -1.97 cm 604 keV 71.4 keV 382 um 1.09 mm liquidArgon msc + 4 -3.3 cm -5.28 mm -2 cm 533 keV 70.5 keV 382 um 1.47 mm liquidArgon msc + 5 -3.27 cm -5.32 mm -2.02 cm 429 keV 104 keV 424 um 1.9 mm liquidArgon msc + 6 -3.33 cm -5.04 mm -2.04 cm 142 keV 287 keV 1.33 mm 3.22 mm liquidArgon eIoni + 7 -3.33 cm -5.09 mm -2.04 cm 0 eV 142 keV 264 um 3.49 mm liquidArgon eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.46 cm -1.31 mm -5.12 mm 1.89 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -7.45 cm -1.31 mm -5.17 mm 1.8 MeV 92.7 keV 98.8 um 98.8 um Lead msc - 2 -7.45 cm -1.24 mm -5.17 mm 1.69 MeV 107 keV 98.8 um 198 um Lead msc - 3 -7.45 cm -1.21 mm -5.25 mm 1.59 MeV 106 keV 98.8 um 296 um Lead msc - 4 -7.45 cm -1.26 mm -5.3 mm 1.49 MeV 91.6 keV 98.8 um 395 um Lead msc - 5 -7.45 cm -1.29 mm -5.37 mm 1.4 MeV 93.3 keV 100 um 495 um Lead msc - 6 -7.44 cm -1.26 mm -5.33 mm 1.26 MeV 140 keV 100 um 595 um Lead msc - 7 -7.44 cm -1.22 mm -5.26 mm 1.15 MeV 115 keV 106 um 701 um Lead msc - 8 -7.44 cm -1.22 mm -5.24 mm 929 keV 25.9 keV 35.4 um 737 um Lead eBrem - 9 -7.45 cm -1.26 mm -5.29 mm 789 keV 141 keV 136 um 873 um Lead msc - 10 -7.45 cm -1.33 mm -5.31 mm 637 keV 152 keV 136 um 1.01 mm Lead msc - 11 -7.45 cm -1.29 mm -5.34 mm 248 keV 108 keV 97.5 um 1.11 mm Lead eBrem - 12 -7.45 cm -1.29 mm -5.33 mm 0 eV 248 keV 114 um 1.22 mm Lead eIoni + 0 -5.31 cm -3.19 mm -1.23 cm 4.72 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.26 cm -3.48 mm -1.23 cm 3.92 MeV 598 keV 625 um 625 um Lead eBrem + 2 -5.23 cm -3.77 mm -1.21 cm 2.94 MeV 980 keV 703 um 1.33 mm Lead msc + 3 -5.23 cm -4.08 mm -1.21 cm 2.47 MeV 366 keV 410 um 1.74 mm Lead eBrem + 4 -5.24 cm -4.39 mm -1.22 cm 1.82 MeV 648 keV 564 um 2.3 mm Lead msc + 5 -5.26 cm -4.22 mm -1.24 cm 180 keV 1.64 MeV 1.34 mm 3.64 mm Lead eIoni + 6 -5.26 cm -4.22 mm -1.24 cm 0 eV 180 keV 69.7 um 3.71 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 15 +* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 15 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.45 cm -1.29 mm -5.34 mm 281 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.5 cm -1.42 mm -4.73 mm 281 keV 0 eV 773 um 773 um Lead Transportation - 2 -9 cm -5.34 mm 1.46 cm 281 keV 0 eV 2.48 cm 2.56 cm OutOfWorld Transportation + 0 -5.23 cm -4.08 mm -1.21 cm 109 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.23 cm -4.28 mm -1.19 cm 0 eV 88 keV 294 um 294 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 15 +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 20 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.44 cm -1.22 mm -5.24 mm 190 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.5 cm -1.07 mm -5.38 mm 190 keV 0 eV 604 um 604 um Lead Transportation - 2 -9 cm 2.78 mm -9.26 mm 190 keV 0 eV 1.6 cm 1.66 cm OutOfWorld Transportation + 0 -5.23 cm -4.28 mm -1.19 cm 20.6 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.23 cm -4.28 mm -1.19 cm 0 eV 20.6 keV 2.13 um 2.13 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.26 cm -3.48 mm -1.23 cm 198 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.3 cm -4.12 mm -1.11 cm 0 eV 88 keV 1.42 mm 1.42 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.3 cm -4.12 mm -1.11 cm 110 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.3 cm -4.12 mm -1.11 cm 0 eV 110 keV 32.4 um 32.4 um Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = pi+, Track ID = 13, Parent ID = 1 @@ -352,246 +463,306 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -8.99 cm 0 fm 0 fm 488 MeV 0 eV 0 fm 0 fm World initStep - 1 -7.5 cm 7.55 mm 450 um 488 MeV4.43e-19 eV 1.67 cm 1.67 cm World Transportation - 2 -6.5 cm 1.26 cm 753 um 474 MeV 13.2 MeV 1.12 cm 2.79 cm Lead Transportation - 3 -6 cm 1.52 cm 880 um 473 MeV 1.16 MeV 5.65 mm 3.36 cm liquidArgon Transportation - 4 -5 cm 2.05 cm 1.12 mm 461 MeV 12 MeV 1.13 cm 4.48 cm Lead Transportation - 5 -4.87 cm 2.12 cm 1.15 mm 461 MeV 239 keV 1.51 mm 4.64 cm liquidArgon hIoni - 6 -4.5 cm 2.3 cm 1.22 mm 460 MeV 645 keV 4.11 mm 5.05 cm liquidArgon Transportation - 7 -3.5 cm 2.81 cm 1.45 mm 441 MeV 13.9 MeV 1.12 cm 6.17 cm Lead hIoni - 8 -3.5 cm 2.82 cm 1.46 mm 441 MeV 62.4 keV 58.3 um 6.17 cm Lead Transportation - 9 -3 cm 3.12 cm 1.67 mm 440 MeV 1.27 MeV 5.86 mm 6.76 cm liquidArgon Transportation - 10 -2.08 cm 3.65 cm 2.23 mm 421 MeV 12.9 MeV 1.07 cm 7.83 cm Lead hIoni - 11 -2 cm 3.7 cm 2.32 mm 420 MeV 888 keV 882 um 7.92 cm Lead Transportation - 12 -1.5 cm 4 cm 2.93 mm 419 MeV 1.13 MeV 5.88 mm 8.5 cm liquidArgon Transportation - 13 -1.08 cm 4.26 cm 3.31 mm 410 MeV 6.27 MeV 4.96 mm 9 cm Lead hIoni - 14 -5 mm 4.59 cm 3.98 mm 402 MeV 7.85 MeV 6.71 mm 9.67 cm Lead Transportation - 15 0.000312 fm 4.88 cm 4.35 mm 401 MeV 1.01 MeV 5.77 mm 10.2 cm liquidArgon Transportation - 16 2.13 mm 5 cm 4.51 mm 398 MeV 2.93 MeV 2.45 mm 10.5 cm Lead Transportation - 17 2.05 cm 6 cm 6 mm 398 MeV5.58e-19 eV 2.1 cm 12.6 cm OutOfWorld Transportation + 1 -7.5 cm 7.54 mm 450 um 488 MeV4.5e-19 eV 1.67 cm 1.67 cm World Transportation + 2 -7.3 cm 8.6 mm 515 um 482 MeV 2.73 MeV 2.28 mm 1.9 cm Lead hIoni + 3 -6.5 cm 1.28 cm 1.05 mm 471 MeV 11.2 MeV 9.04 mm 2.8 cm Lead Transportation + 4 -6 cm 1.5 cm 1.4 mm 470 MeV 1.07 MeV 5.46 mm 3.35 cm liquidArgon Transportation + 5 -5 cm 1.93 cm 2.14 mm 457 MeV 13 MeV 1.09 cm 4.44 cm Lead Transportation + 6 -4.5 cm 2.15 cm 2.4 mm 456 MeV 1.27 MeV 5.47 mm 4.99 cm liquidArgon Transportation + 7 -3.5 cm 2.59 cm 2.97 mm 444 MeV 11.6 MeV 1.09 cm 6.08 cm Lead Transportation + 8 -3 cm 2.79 cm 3.18 mm 443 MeV 823 keV 5.42 mm 6.62 cm liquidArgon Transportation + 9 -2 cm 3.21 cm 3.56 mm 429 MeV 14.3 MeV 1.08 cm 7.71 cm Lead Transportation + 10 -1.5 cm 3.45 cm 3.8 mm 428 MeV 915 keV 5.54 mm 8.26 cm liquidArgon Transportation + 11 -1.34 cm 3.52 cm 3.87 mm 423 MeV 1.62 MeV 1.78 mm 8.44 cm Lead hIoni + 12 -5 mm 3.9 cm 4.04 mm 414 MeV 9.77 MeV 9.21 mm 9.36 cm Lead Transportation + 13 -658 um 4.1 cm 4.04 mm 412 MeV 884 keV 4.79 mm 9.84 cm liquidArgon hIoni + 14 0.000119 fm 4.13 cm 4.04 mm 412 MeV 362 keV 726 um 9.91 cm liquidArgon Transportation + 15 641 um 4.16 cm 4.04 mm 405 MeV 629 keV 708 um 9.98 cm Lead hIoni + 16 1 cm 4.59 cm 3.98 mm 394 MeV 11 MeV 1.03 cm 11 cm Lead Transportation + 17 1.5 cm 4.86 cm 3.78 mm 392 MeV 1.21 MeV 5.67 mm 11.6 cm liquidArgon Transportation + 18 1.66 cm 4.95 cm 3.69 mm 387 MeV 1.97 MeV 1.84 mm 11.8 cm Lead hIoni + 19 1.76 cm 5 cm 3.61 mm 386 MeV 1.27 MeV 1.12 mm 11.9 cm Lead Transportation + 20 3.7 cm 6 cm 1.89 mm 386 MeV5.91e-19 eV 2.19 cm 14.1 cm OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 13 +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 13 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.08 cm 4.26 cm 3.31 mm 3 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -1.03 cm 4.25 cm 3.23 mm 1.81 MeV 1.19 MeV 1.04 mm 1.04 mm Lead eBrem - 2 -1.02 cm 4.22 cm 3.07 mm 846 keV 962 keV 1.07 mm 2.11 mm Lead eBrem - 3 -1.02 cm 4.22 cm 3.07 mm 0 eV 846 keV 601 um 2.72 mm Lead eIoni + 0 1.66 cm 4.95 cm 3.69 mm 3.41 MeV 0 eV 0 fm 0 fm Lead initStep + 1 1.67 cm 4.95 cm 3.78 mm 3.26 MeV 150 keV 157 um 157 um Lead msc + 2 1.67 cm 4.96 cm 3.8 mm 3.14 MeV 124 keV 112 um 268 um Lead msc + 3 1.67 cm 4.97 cm 3.76 mm 3.07 MeV 73.2 keV 112 um 380 um Lead msc + 4 1.68 cm 4.98 cm 3.67 mm 2.88 MeV 183 keV 112 um 491 um Lead msc + 5 1.68 cm 4.98 cm 3.57 mm 2.68 MeV 203 keV 112 um 603 um Lead msc + 6 1.68 cm 4.98 cm 3.47 mm 2.47 MeV 205 keV 112 um 715 um Lead msc + 7 1.68 cm 4.99 cm 3.45 mm 2.35 MeV 121 keV 112 um 826 um Lead msc + 8 1.67 cm 4.99 cm 3.37 mm 2.24 MeV 108 keV 112 um 938 um Lead msc + 9 1.67 cm 5 cm 3.34 mm 2.09 MeV 151 keV 112 um 1.05 mm Lead msc + 10 1.67 cm 5 cm 3.35 mm 1.41 MeV 29.9 keV 33.9 um 1.08 mm Lead eBrem + 11 1.66 cm 4.99 cm 3.41 mm 1.3 MeV 111 keV 112 um 1.19 mm Lead msc + 12 1.65 cm 4.99 cm 3.45 mm 1.15 MeV 145 keV 112 um 1.31 mm Lead msc + 13 1.65 cm 4.99 cm 3.45 mm 789 keV 83.6 keV 44.2 um 1.35 mm Lead eBrem + 14 1.65 cm 4.99 cm 3.47 mm 645 keV 145 keV 112 um 1.46 mm Lead msc + 15 1.66 cm 4.99 cm 3.5 mm 546 keV 98.8 keV 112 um 1.57 mm Lead msc + 16 1.66 cm 4.99 cm 3.51 mm 347 keV 199 keV 112 um 1.69 mm Lead msc + 17 1.66 cm 4.99 cm 3.52 mm 244 keV 103 keV 112 um 1.8 mm Lead msc + 18 1.66 cm 4.99 cm 3.52 mm 0 eV 244 keV 111 um 1.91 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 13 +* G4Track Information: Particle = gamma, Track ID = 29, Parent ID = 27 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.08 cm 3.65 cm 2.23 mm 5.88 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2.06 cm 3.66 cm 2.23 mm 5.67 MeV 210 keV 189 um 189 um Lead msc - 2 -2.05 cm 3.67 cm 2.13 mm 5.43 MeV 245 keV 189 um 379 um Lead msc - 3 -2.06 cm 3.67 cm 2.13 mm 5.23 MeV 197 keV 189 um 568 um Lead msc - 4 -2.06 cm 3.66 cm 2.11 mm 4.91 MeV 38.5 keV 19.2 um 587 um Lead eBrem - 5 -2.06 cm 3.65 cm 2.05 mm 4.7 MeV 217 keV 189 um 777 um Lead msc - 6 -2.05 cm 3.64 cm 1.93 mm 4.34 MeV 240 keV 170 um 947 um Lead eBrem - 7 -2.05 cm 3.64 cm 1.92 mm 4.1 MeV 34.3 keV 29.7 um 977 um Lead eBrem - 8 -2.05 cm 3.62 cm 1.91 mm 3.9 MeV 200 keV 189 um 1.17 mm Lead msc - 9 -2.04 cm 3.61 cm 1.81 mm 3.68 MeV 220 keV 189 um 1.36 mm Lead msc - 10 -2.05 cm 3.59 cm 1.8 mm 3.47 MeV 214 keV 189 um 1.54 mm Lead msc - 11 -2.05 cm 3.59 cm 1.65 mm 3.3 MeV 161 keV 189 um 1.73 mm Lead msc - 12 -2.07 cm 3.58 cm 1.59 mm 3.13 MeV 173 keV 189 um 1.92 mm Lead msc - 13 -2.07 cm 3.58 cm 1.59 mm 1.83 MeV 1.56 keV 8.91 um 1.93 mm Lead eBrem - 14 -2.08 cm 3.58 cm 1.49 mm 1.62 MeV 214 keV 189 um 2.12 mm Lead msc - 15 -2.09 cm 3.58 cm 1.58 mm 1.44 MeV 172 keV 189 um 2.31 mm Lead msc - 16 -2.09 cm 3.58 cm 1.56 mm 1.21 MeV 55.3 keV 70.4 um 2.38 mm Lead eBrem - 17 -2.1 cm 3.58 cm 1.48 mm 1.02 MeV 184 keV 202 um 2.58 mm Lead msc - 18 -2.11 cm 3.59 cm 1.53 mm 818 keV 205 keV 202 um 2.78 mm Lead msc - 19 -2.12 cm 3.59 cm 1.57 mm 254 keV 564 keV 523 um 3.31 mm Lead eBrem - 20 -2.12 cm 3.59 cm 1.57 mm 0 eV 254 keV 117 um 3.43 mm Lead eIoni + 0 1.65 cm 4.99 cm 3.45 mm 281 keV 0 eV 0 fm 0 fm Lead initStep + 1 1.68 cm 4.99 cm 3.05 mm 157 keV 0 eV 492 um 492 um Lead compt + 2 1.67 cm 4.99 cm 3.05 mm 0 eV 88 keV 42 um 534 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 20 +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 29 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.09 cm 3.58 cm 1.56 mm 181 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.09 cm 3.58 cm 1.51 mm 167 keV 0 eV 54.7 um 54.7 um Lead compt - 2 -2.09 cm 3.6 cm 1.42 mm 0 eV 88 keV 207 um 262 um Lead phot + 0 1.67 cm 4.99 cm 3.05 mm 69.3 keV 0 eV 0 fm 0 fm Lead initStep + 1 1.67 cm 4.99 cm 3.05 mm 0 eV 69.3 keV 15.2 um 15.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 26 +* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 29 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.09 cm 3.6 cm 1.42 mm 78.7 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.09 cm 3.6 cm 1.42 mm 0 eV 78.7 keV 18.7 um 18.7 um Lead eIoni + 0 1.68 cm 4.99 cm 3.05 mm 124 keV 0 eV 0 fm 0 fm Lead initStep + 1 1.68 cm 4.99 cm 3.05 mm 0 eV 124 keV 38.8 um 38.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 26 +* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 27 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.09 cm 3.58 cm 1.51 mm 14.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.09 cm 3.58 cm 1.51 mm 0 eV 14.2 keV 1.2 um 1.2 um Lead eIoni + 0 1.67 cm 5 cm 3.35 mm 654 keV 0 eV 0 fm 0 fm Lead initStep + 1 1.52 cm 3.5 cm 1.43 mm 0 eV 88 keV 1.52 cm 1.52 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 20 +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 28 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.07 cm 3.58 cm 1.59 mm 1.3 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3 cm 2.93 cm -40.7 um 1.3 MeV 0 eV 1.14 cm 1.14 cm Lead Transportation - 2 -3.5 cm 2.59 cm -915 um 1.3 MeV 0 eV 6.15 mm 1.76 cm liquidArgon Transportation - 3 -3.52 cm 2.58 cm -943 um 297 keV 0 eV 200 um 1.78 cm Lead compt - 4 -3.5 cm 2.57 cm -1.06 mm 297 keV 0 eV 215 um 1.8 cm Lead Transportation - 5 -3 cm 2.32 cm -4.53 mm 297 keV 0 eV 6.59 mm 2.46 cm liquidArgon Transportation - 6 -2.91 cm 2.27 cm -5.19 mm 0 eV 88 keV 1.24 mm 2.58 cm Lead phot + 0 1.52 cm 3.5 cm 1.43 mm 566 keV 0 eV 0 fm 0 fm Lead initStep + 1 1.52 cm 3.5 cm 1.42 mm 501 keV 64.5 keV 52.3 um 52.3 um Lead msc + 2 1.52 cm 3.5 cm 1.41 mm 461 keV 40.2 keV 37.4 um 89.7 um Lead msc + 3 1.52 cm 3.5 cm 1.41 mm 236 keV 225 keV 49.5 um 139 um Lead msc + 4 1.52 cm 3.5 cm 1.42 mm 0 eV 236 keV 106 um 245 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 25 +* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 13 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.91 cm 2.27 cm -5.19 mm 209 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.91 cm 2.27 cm -5.19 mm 0 eV 209 keV 87.7 um 87.7 um Lead eIoni + 0 641 um 4.16 cm 4.04 mm 6.54 MeV 0 eV 0 fm 0 fm Lead initStep + 1 718 um 4.17 cm 4.03 mm 5.33 MeV 171 keV 103 um 103 um Lead eBrem + 2 793 um 4.19 cm 3.91 mm 5.03 MeV 298 keV 229 um 331 um Lead msc + 3 760 um 4.19 cm 3.87 mm 4.03 MeV 79.6 keV 99.9 um 431 um Lead eBrem + 4 745 um 4.2 cm 3.86 mm 3.67 MeV 20.5 keV 21.1 um 452 um Lead eBrem + 5 646 um 4.21 cm 3.72 mm 3.36 MeV 306 keV 229 um 681 um Lead msc + 6 493 um 4.21 cm 3.59 mm 3.11 MeV 252 keV 229 um 910 um Lead msc + 7 416 um 4.2 cm 3.61 mm 2.84 MeV 101 keV 143 um 1.05 mm Lead eBrem + 8 400 um 4.2 cm 3.81 mm 2.55 MeV 293 keV 229 um 1.28 mm Lead msc + 9 455 um 4.19 cm 3.96 mm 2.31 MeV 244 keV 229 um 1.51 mm Lead msc + 10 512 um 4.18 cm 4.11 mm 2.07 MeV 233 keV 229 um 1.74 mm Lead msc + 11 572 um 4.18 cm 4.09 mm 1.05 MeV 68.7 keV 80 um 1.82 mm Lead eBrem + 12 596 um 4.17 cm 4.2 mm 779 keV 275 keV 229 um 2.05 mm Lead msc + 13 528 um 4.17 cm 4.13 mm 590 keV 190 keV 229 um 2.28 mm Lead msc + 14 507 um 4.17 cm 4.14 mm 0 eV 590 keV 384 um 2.66 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 25 +* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 26 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.52 cm 2.58 cm -943 um 1 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.52 cm 2.57 cm -942 um 951 keV 52.1 keV 40.7 um 40.7 um Lead msc - 2 -3.52 cm 2.57 cm -928 um 921 keV 30.6 keV 40.7 um 81.4 um Lead msc - 3 -3.52 cm 2.57 cm -920 um 870 keV 50.8 keV 40.7 um 122 um Lead msc - 4 -3.51 cm 2.57 cm -902 um 810 keV 59.5 keV 40.7 um 163 um Lead msc - 5 -3.51 cm 2.57 cm -894 um 764 keV 45.9 keV 40.7 um 204 um Lead msc - 6 -3.51 cm 2.57 cm -892 um 708 keV 56.8 keV 40.7 um 244 um Lead msc - 7 -3.51 cm 2.57 cm -892 um 663 keV 44.5 keV 40.7 um 285 um Lead msc - 8 -3.52 cm 2.57 cm -911 um 625 keV 38.5 keV 40.7 um 326 um Lead msc - 9 -3.52 cm 2.56 cm -896 um 556 keV 69 keV 40.7 um 366 um Lead msc - 10 -3.52 cm 2.56 cm -878 um 526 keV 29.6 keV 40.7 um 407 um Lead msc - 11 -3.52 cm 2.56 cm -883 um 460 keV 66.4 keV 40.7 um 448 um Lead msc - 12 -3.52 cm 2.56 cm -880 um 378 keV 82 keV 40.7 um 489 um Lead msc - 13 -3.52 cm 2.56 cm -901 um 341 keV 36.5 keV 42.4 um 531 um Lead msc - 14 -3.52 cm 2.56 cm -886 um 288 keV 53.3 keV 42.4 um 573 um Lead msc - 15 -3.52 cm 2.56 cm -880 um 0 eV 288 keV 142 um 715 um Lead eIoni + 0 572 um 4.18 cm 4.09 mm 951 keV 0 eV 0 fm 0 fm Lead initStep + 1 425 um 4.04 cm 2.55 mm 888 keV 0 eV 2.06 mm 2.06 mm Lead compt + 2 603 um 3.66 cm -69.9 um 794 keV 0 eV 4.65 mm 6.71 mm Lead compt + 3 1 mm 3.49 cm -2.45 mm 211 keV 0 eV 2.93 mm 9.64 mm Lead compt + 4 775 um 3.5 cm -2.2 mm 0 eV 88 keV 345 um 9.98 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 20 +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 37 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.05 cm 3.64 cm 1.92 mm 206 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2 cm 3.48 cm 2.54 mm 206 keV 0 eV 1.74 mm 1.74 mm Lead Transportation - 2 -1.5 cm 1.91 cm 8.77 mm 206 keV 0 eV 1.76 cm 1.93 cm liquidArgon Transportation - 3 -1.45 cm 1.76 cm 9.39 mm 0 eV 88 keV 1.76 mm 2.11 cm Lead phot + 0 775 um 3.5 cm -2.2 mm 123 keV 0 eV 0 fm 0 fm Lead initStep + 1 773 um 3.5 cm -2.19 mm 0 eV 123 keV 38.6 um 38.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 24 +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 37 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.45 cm 1.76 cm 9.39 mm 118 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.45 cm 1.76 cm 9.39 mm 0 eV 118 keV 36 um 36 um Lead eIoni + 0 1 mm 3.49 cm -2.45 mm 582 keV 0 eV 0 fm 0 fm Lead initStep + 1 1.01 mm 3.49 cm -2.47 mm 0 eV 582 keV 378 um 378 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 23, Parent ID = 20 +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 37 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.05 cm 3.64 cm 1.93 mm 118 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.04 cm 3.63 cm 1.91 mm 0 eV 88 keV 157 um 157 um Lead phot + 0 603 um 3.66 cm -69.9 um 94.7 keV 0 eV 0 fm 0 fm Lead initStep + 1 603 um 3.66 cm -69.1 um 0 eV 94.7 keV 25.3 um 25.3 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 23 +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 37 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.04 cm 3.63 cm 1.91 mm 30.1 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.04 cm 3.63 cm 1.91 mm 0 eV 30.1 keV 3.92 um 3.92 um Lead eIoni + 0 425 um 4.04 cm 2.55 mm 62.3 keV 0 eV 0 fm 0 fm Lead initStep + 1 425 um 4.04 cm 2.55 mm 0 eV 62.3 keV 12.8 um 12.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 20 +* G4Track Information: Particle = gamma, Track ID = 36, Parent ID = 26 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.06 cm 3.66 cm 2.11 mm 279 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.06 cm 3.66 cm 2.07 mm 0 eV 88 keV 75.6 um 75.6 um Lead phot + 0 416 um 4.2 cm 3.61 mm 166 keV 0 eV 0 fm 0 fm Lead initStep + 1 486 um 4.15 cm 4.63 mm 0 eV 88 keV 1.13 mm 1.13 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 22 +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 36 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.06 cm 3.66 cm 2.07 mm 191 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.06 cm 3.66 cm 2.07 mm 0 eV 191 keV 76.6 um 76.6 um Lead eIoni + 0 486 um 4.15 cm 4.63 mm 78 keV 0 eV 0 fm 0 fm Lead initStep + 1 487 um 4.15 cm 4.63 mm 0 eV 78 keV 18.5 um 18.5 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 13 +* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 26 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.5 cm 2.81 cm 1.45 mm 5 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm 2.82 cm 1.46 mm 4.96 MeV 32.4 keV 54 um 54 um Lead Transportation - 2 -3.28 cm 2.77 cm 1.53 mm 4.11 MeV 857 keV 2.3 mm 2.35 mm liquidArgon eBrem - 3 -3 cm 2.73 cm 1.06 mm 3.47 MeV 638 keV 3.1 mm 5.46 mm liquidArgon Transportation - 4 -3 cm 2.72 cm 1.07 mm 3.42 MeV 46.9 keV 55.8 um 5.51 mm Lead msc - 5 -3 cm 2.72 cm 1.07 mm 3.42 MeV 421 eV 1.04 um 5.51 mm Lead Transportation - 6 -3.02 cm 2.71 cm 894 um 3.3 MeV 39.6 keV 318 um 5.83 mm liquidArgon eBrem - 7 -3.14 cm 2.67 cm 71.6 um 2.99 MeV 303 keV 1.58 mm 7.41 mm liquidArgon msc - 8 -3.24 cm 2.62 cm -1.02 mm 2.45 MeV 546 keV 1.58 mm 8.98 mm liquidArgon msc - 9 -3.25 cm 2.58 cm -2.48 mm 2.18 MeV 266 keV 1.58 mm 1.06 cm liquidArgon msc - 10 -3.25 cm 2.58 cm -2.49 mm 2.16 MeV 889 eV 4.07 um 1.06 cm liquidArgon eBrem - 11 -3.34 cm 2.59 cm -3.7 mm 1.85 MeV 314 keV 1.58 mm 1.21 cm liquidArgon msc - 12 -3.3 cm 2.64 cm -5.04 mm 1.61 MeV 239 keV 1.58 mm 1.37 cm liquidArgon msc - 13 -3.25 cm 2.68 cm -6.37 mm 1.38 MeV 230 keV 1.58 mm 1.53 cm liquidArgon msc - 14 -3.13 cm 2.69 cm -7.04 mm 1.16 MeV 216 keV 1.58 mm 1.69 cm liquidArgon msc - 15 -3.15 cm 2.73 cm -8.34 mm 923 keV 238 keV 1.58 mm 1.84 cm liquidArgon msc - 16 -3.22 cm 2.72 cm -9.4 mm 680 keV 243 keV 1.58 mm 2 cm liquidArgon msc - 17 -3.14 cm 2.74 cm -1.02 cm 401 keV 279 keV 1.58 mm 2.16 cm liquidArgon msc - 18 -3.11 cm 2.78 cm -9.77 mm 65.2 keV 336 keV 1.24 mm 2.28 cm liquidArgon eIoni - 19 -3.11 cm 2.78 cm -9.76 mm 0 eV 65.2 keV 71.2 um 2.29 cm liquidArgon eIoni + 0 745 um 4.2 cm 3.86 mm 341 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.72e-06 fm 4.24 cm 3.63 mm 341 keV 0 eV 874 um 874 um Lead Transportation + 2 -5 mm 4.5 cm 2.1 mm 341 keV 0 eV 5.86 mm 6.74 mm liquidArgon Transportation + 3 -8.96 mm 4.71 cm 877 um 0 eV 88 keV 4.65 mm 1.14 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 19 +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 35 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.25 cm 2.58 cm -2.49 mm 22.7 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -3.26 cm 2.58 cm -2.9 mm 0 eV 3.21 keV 437 um 437 um liquidArgon phot + 0 -8.96 mm 4.71 cm 877 um 253 keV 0 eV 0 fm 0 fm Lead initStep + 1 -8.97 mm 4.71 cm 881 um 0 eV 253 keV 118 um 118 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 35 +* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 26 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.26 cm 2.58 cm -2.9 mm 19.5 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -3.26 cm 2.58 cm -2.91 mm 0 eV 19.5 keV 8.91 um 8.91 um liquidArgon eIoni + 0 760 um 4.19 cm 3.87 mm 920 keV 0 eV 0 fm 0 fm Lead initStep + 1 2.99e-05 fm 4.25 cm 3.58 mm 920 keV 0 eV 996 um 996 um Lead Transportation + 2 -5 mm 4.63 cm 1.63 mm 920 keV 0 eV 6.55 mm 7.55 mm liquidArgon Transportation + 3 -8.32 mm 4.88 cm 334 um 0 eV 88 keV 4.35 mm 1.19 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 19 +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 34 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.02 cm 2.71 cm 894 um 86 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -3.5 cm 2.06 cm -8.36 mm 86 keV 0 eV 1.23 cm 1.23 cm liquidArgon Transportation - 2 -3.52 cm 2.04 cm -8.69 mm 0 eV 15.9 keV 436 um 1.27 cm Lead phot + 0 -8.32 mm 4.88 cm 334 um 832 keV 0 eV 0 fm 0 fm Lead initStep + 1 -8.35 mm 4.88 cm 314 um 0 eV 832 keV 594 um 594 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 34 +* G4Track Information: Particle = gamma, Track ID = 33, Parent ID = 26 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.52 cm 2.04 cm -8.69 mm 70.1 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.52 cm 2.04 cm -8.69 mm 0 eV 70.1 keV 15.6 um 15.6 um Lead eIoni + 0 718 um 4.17 cm 4.03 mm 1.04 MeV 0 eV 0 fm 0 fm Lead initStep + 1 7.09 mm 5 cm -25.6 um 1.04 MeV 0 eV 1.12 cm 1.12 cm Lead Transportation + 2 1.48 cm 6 cm -4.9 mm 1.04 MeV 0 eV 1.35 cm 2.47 cm OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 13 +* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 13 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.87 cm 2.12 cm 1.15 mm 359 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -4.87 cm 2.14 cm 1.5 mm 68.3 keV 290 keV 1.09 mm 1.09 mm liquidArgon eIoni - 2 -4.87 cm 2.15 cm 1.5 mm 0 eV 68.3 keV 77.4 um 1.17 mm liquidArgon eIoni + 0 -658 um 4.1 cm 4.04 mm 524 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -545 um 4.11 cm 3.95 mm 484 keV 40.5 keV 197 um 197 um liquidArgon msc + 2 -563 um 4.13 cm 3.93 mm 443 keV 40.7 keV 125 um 322 um liquidArgon msc + 3 -612 um 4.14 cm 3.93 mm 415 keV 27.6 keV 118 um 440 um liquidArgon msc + 4 -641 um 4.15 cm 3.95 mm 379 keV 36.2 keV 126 um 566 um liquidArgon msc + 5 -640 um 4.16 cm 4.04 mm 360 keV 19 keV 137 um 704 um liquidArgon msc + 6 -608 um 4.17 cm 4.12 mm 330 keV 29.7 keV 142 um 845 um liquidArgon msc + 7 -499 um 4.17 cm 4.08 mm 297 keV 33.5 keV 140 um 985 um liquidArgon msc + 8 -396 um 4.17 cm 4.02 mm 266 keV 30.4 keV 131 um 1.12 mm liquidArgon msc + 9 -393 um 4.17 cm 3.93 mm 236 keV 30.7 keV 101 um 1.22 mm liquidArgon msc + 10 -409 um 4.17 cm 3.86 mm 217 keV 19.1 keV 81.5 um 1.3 mm liquidArgon msc + 11 -394 um 4.16 cm 3.8 mm 194 keV 23.1 keV 87.7 um 1.39 mm liquidArgon msc + 12 -368 um 4.16 cm 3.72 mm 170 keV 23.8 keV 90.4 um 1.48 mm liquidArgon msc + 13 -327 um 4.17 cm 3.66 mm 152 keV 17.4 keV 85.3 um 1.56 mm liquidArgon msc + 14 -310 um 4.16 cm 3.61 mm 126 keV 26.1 keV 79.6 um 1.64 mm liquidArgon msc + 15 -255 um 4.16 cm 3.6 mm 0 eV 126 keV 217 um 1.86 mm liquidArgon eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.34 cm 3.52 cm 3.87 mm 3.18 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -1.32 cm 3.54 cm 3.69 mm 2.77 MeV 406 keV 483 um 483 um Lead msc + 2 -1.31 cm 3.57 cm 3.74 mm 2.46 MeV 314 keV 329 um 812 um Lead msc + 3 -1.3 cm 3.59 cm 3.7 mm 2 MeV 456 keV 442 um 1.25 mm Lead msc + 4 -1.29 cm 3.6 cm 3.65 mm 1.65 MeV 139 keV 130 um 1.38 mm Lead eBrem + 5 -1.27 cm 3.61 cm 3.72 mm 1.05 MeV 479 keV 548 um 1.93 mm Lead eBrem + 6 -1.26 cm 3.61 cm 3.73 mm 0 eV 1.05 MeV 787 um 2.72 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 46, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.27 cm 3.61 cm 3.72 mm 118 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.26 cm 3.6 cm 3.76 mm 0 eV 88 keV 121 um 121 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.26 cm 3.6 cm 3.76 mm 30.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.26 cm 3.6 cm 3.76 mm 0 eV 30.4 keV 3.98 um 3.98 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 45, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.29 cm 3.6 cm 3.65 mm 214 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.25 cm 3.61 cm 3.22 mm 117 keV 0 eV 595 um 595 um Lead compt + 2 -1.26 cm 3.61 cm 3.31 mm 0 eV 88 keV 144 um 740 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 45 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.26 cm 3.61 cm 3.31 mm 28.8 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.26 cm 3.61 cm 3.31 mm 0 eV 28.8 keV 3.65 um 3.65 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 45 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.25 cm 3.61 cm 3.22 mm 97.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.25 cm 3.61 cm 3.22 mm 0 eV 97.1 keV 26.4 um 26.4 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.3 cm 8.6 mm 515 um 2.83 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -7.27 cm 8.36 mm 604 um 2.17 MeV 667 keV 606 um 606 um Lead msc + 2 -7.25 cm 8.56 mm 589 um 1.6 MeV 564 keV 438 um 1.04 mm Lead msc + 3 -7.25 cm 8.57 mm 475 um 0 eV 1.6 MeV 1.22 mm 2.27 mm Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 12, Parent ID = 1 @@ -599,359 +770,477 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -8.99 cm 0 fm 0 fm 1.12 GeV 0 eV 0 fm 0 fm World initStep - 1 -7.5 cm -1.86 mm 688 um 1.12 GeV4.15e-19 eV 1.5 cm 1.5 cm World Transportation - 2 -7.07 cm -2.4 mm 853 um 1.12 GeV 4.99 MeV 4.36 mm 1.94 cm Lead hIoni - 3 -6.5 cm -3.08 mm 1.05 mm 1.11 GeV 7.88 MeV 5.72 mm 2.51 cm Lead Transportation - 4 -6 cm -3.67 mm 1.28 mm 1.11 GeV 830 keV 5.04 mm 3.01 cm liquidArgon Transportation - 5 -5 cm -4.85 mm 1.77 mm 1.1 GeV 11.3 MeV 1.01 cm 4.02 cm Lead Transportation - 6 -4.5 cm -5.27 mm 2.04 mm 1.1 GeV 784 keV 5.02 mm 4.52 cm liquidArgon Transportation - 7 -3.86 cm -5.78 mm 2.46 mm 1.09 GeV 7.25 MeV 6.42 mm 5.17 cm Lead hIoni - 8 -3.55 cm -6.01 mm 2.57 mm 1.08 GeV 3.42 MeV 3.08 mm 5.47 cm Lead hIoni - 9 -3.5 cm -6.05 mm 2.59 mm 1.08 GeV 504 keV 544 um 5.53 cm Lead Transportation - 10 -3 cm -6.4 mm 2.8 mm 1.08 GeV 856 keV 5.02 mm 6.03 cm liquidArgon Transportation - 11 -2 cm -7.03 mm 3.23 mm 1.07 GeV 11.2 MeV 1 cm 7.03 cm Lead Transportation - 12 -1.5 cm -7.29 mm 3.4 mm 1.07 GeV 837 keV 5.01 mm 7.53 cm liquidArgon Transportation - 13 -5 mm -7.82 mm 3.75 mm 1.05 GeV 11.1 MeV 1 cm 8.54 cm Lead Transportation - 14 -6.2e-05 fm -8.22 mm 3.96 mm 1.05 GeV 890 keV 5.02 mm 9.04 cm liquidArgon Transportation - 15 1.82 mm -8.35 mm 4.04 mm 1.05 GeV 2.04 MeV 1.83 mm 9.22 cm Lead hIoni - 16 7.56 mm -8.83 mm 4.34 mm 1.04 GeV 6.67 MeV 5.77 mm 9.8 cm Lead hIoni - 17 1 cm -9.05 mm 4.46 mm 1.04 GeV 2.57 MeV 2.45 mm 10 cm Lead Transportation - 18 1.5 cm -9.5 mm 4.67 mm 1.03 GeV 959 keV 5.02 mm 10.5 cm liquidArgon Transportation - 19 2.5 cm -1.04 cm 5.11 mm 1.02 GeV 11.1 MeV 1.01 cm 11.6 cm Lead Transportation - 20 3 cm -1.1 cm 5.33 mm 1.02 GeV 1.17 MeV 5.04 mm 12.1 cm liquidArgon Transportation - 21 4 cm -1.21 cm 5.8 mm 1.01 GeV 11.6 MeV 1.01 cm 13.1 cm Lead Transportation - 22 4.2 cm -1.24 cm 5.89 mm 1.01 GeV 293 keV 2 mm 13.3 cm liquidArgon hIoni - 23 4.5 cm -1.27 cm 6.03 mm 1.01 GeV 472 keV 3.04 mm 13.6 cm liquidArgon Transportation - 24 5.5 cm -1.39 cm 6.47 mm 997 MeV 12.6 MeV 1.01 cm 14.6 cm Lead Transportation - 25 6 cm -1.46 cm 6.62 mm 996 MeV 881 keV 5.05 mm 15.1 cm liquidArgon Transportation - 26 6.49 cm -1.53 cm 6.72 mm 986 MeV 7.08 MeV 4.93 mm 15.6 cm Lead hIoni - 27 7 cm -1.6 cm 6.8 mm 980 MeV 5.69 MeV 5.16 mm 16.1 cm Lead Transportation - 28 7.5 cm -1.67 cm 6.83 mm 980 MeV 803 keV 5.05 mm 16.6 cm liquidArgon Transportation - 29 9 cm -1.88 cm 6.92 mm 980 MeV4.14e-19 eV 1.51 cm 18.1 cm OutOfWorld Transportation + 1 -7.5 cm -1.86 mm 688 um 1.12 GeV4.2e-19 eV 1.5 cm 1.5 cm World Transportation + 2 -7.26 cm -2.17 mm 808 um 1.11 GeV 4.71 MeV 2.4 mm 1.74 cm Lead hIoni + 3 -6.5 cm -3.12 mm 1.17 mm 1.1 GeV 8.65 MeV 7.69 mm 2.51 cm Lead Transportation + 4 -6.04 cm -3.67 mm 1.3 mm 1.1 GeV 834 keV 4.67 mm 2.98 cm liquidArgon hIoni + 5 -6 cm -3.72 mm 1.31 mm 1.1 GeV 58.6 keV 367 um 3.01 cm liquidArgon Transportation + 6 -5 cm -4.93 mm 1.58 mm 1.09 GeV 10.8 MeV 1.01 cm 4.02 cm Lead Transportation + 7 -4.5 cm -5.53 mm 1.77 mm 1.09 GeV 1.03 MeV 5.04 mm 4.53 cm liquidArgon Transportation + 8 -4.2 cm -5.9 mm 1.9 mm 1.08 GeV 3.46 MeV 3.04 mm 4.83 cm Lead hIoni + 9 -3.5 cm -6.82 mm 2.21 mm 1.07 GeV 8.19 MeV 7.05 mm 5.53 cm Lead Transportation + 10 -3 cm -7.4 mm 2.48 mm 1.07 GeV 1.06 MeV 5.04 mm 6.04 cm liquidArgon Transportation + 11 -2 cm -8.58 mm 3.03 mm 1.06 GeV 10.6 MeV 1.01 cm 7.05 cm Lead Transportation + 12 -1.5 cm -9.05 mm 3.31 mm 1.06 GeV 1.1 MeV 5.03 mm 7.55 cm liquidArgon Transportation + 13 -5 mm -1.01 cm 3.92 mm 1.05 GeV 11.2 MeV 1.01 cm 8.56 cm Lead Transportation + 14 -0.000229 fm -1.04 cm 4.26 mm 1.05 GeV 893 keV 5.02 mm 9.06 cm liquidArgon Transportation + 15 1 cm -1.11 cm 4.91 mm 1.03 GeV 13.1 MeV 1 cm 10.1 cm Lead Transportation + 16 1.5 cm -1.23 cm 5.71 mm 1.03 GeV 816 keV 5.19 mm 10.6 cm liquidArgon Transportation + 17 2.5 cm -1.45 cm 7.31 mm 1.02 GeV 10.8 MeV 1.04 cm 11.6 cm Lead Transportation + 18 3 cm -1.56 cm 8.19 mm 1.02 GeV 1.41 MeV 5.2 mm 12.1 cm liquidArgon Transportation + 19 4 cm -1.79 cm 9.97 mm 1.01 GeV 12.6 MeV 1.04 cm 13.2 cm Lead Transportation + 20 4.5 cm -1.91 cm 1.1 cm 1.01 GeV 995 keV 5.23 mm 13.7 cm liquidArgon Transportation + 21 5.5 cm -2.14 cm 1.3 cm 993 MeV 12.3 MeV 1.05 cm 14.8 cm Lead Transportation + 22 6 cm -2.27 cm 1.4 cm 993 MeV 770 keV 5.26 mm 15.3 cm liquidArgon Transportation + 23 6.11 cm -2.3 cm 1.42 cm 982 MeV 1.19 MeV 1.16 mm 15.4 cm Lead hIoni + 24 6.13 cm -2.31 cm 1.43 cm 977 MeV 191 keV 193 um 15.4 cm Lead hIoni + 25 6.8 cm -2.49 cm 1.56 cm 967 MeV 8.21 MeV 7.09 mm 16.1 cm Lead hIoni + 26 7 cm -2.53 cm 1.59 cm 965 MeV 2 MeV 2.07 mm 16.3 cm Lead Transportation + 27 7.5 cm -2.66 cm 1.7 cm 964 MeV 803 keV 5.25 mm 16.9 cm liquidArgon Transportation + 28 9 cm -3.03 cm 2 cm 964 MeV4.36e-19 eV 1.57 cm 18.4 cm OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 12 +* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 12 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.49 cm -1.53 cm 6.72 mm 2.7 MeV 0 eV 0 fm 0 fm Lead initStep - 1 6.49 cm -1.58 cm 6.5 mm 835 keV 1.86 MeV 1.66 mm 1.66 mm Lead eIoni - 2 6.49 cm -1.58 cm 6.46 mm 0 eV 835 keV 592 um 2.25 mm Lead eIoni + 0 6.8 cm -2.49 cm 1.56 cm 1.54 MeV 0 eV 0 fm 0 fm Lead initStep + 1 6.81 cm -2.51 cm 1.57 cm 242 keV 1.3 MeV 1.18 mm 1.18 mm Lead eIoni + 2 6.81 cm -2.51 cm 1.57 cm 0 eV 242 keV 110 um 1.29 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 12 +* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 12 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.2 cm -1.24 cm 5.89 mm 352 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 4.21 cm -1.24 cm 5.63 mm 0 eV 352 keV 1.07 mm 1.07 mm liquidArgon eIoni + 0 6.13 cm -2.31 cm 1.43 cm 5 MeV 0 eV 0 fm 0 fm Lead initStep + 1 6.14 cm -2.32 cm 1.44 cm 4.24 MeV 299 keV 272 um 272 um Lead eBrem + 2 6.14 cm -2.35 cm 1.43 cm 3.61 MeV 627 keV 287 um 559 um Lead msc + 3 6.11 cm -2.35 cm 1.44 cm 3.21 MeV 399 keV 314 um 873 um Lead msc + 4 6.1 cm -2.34 cm 1.45 cm 2.93 MeV 279 keV 303 um 1.18 mm Lead msc + 5 6.09 cm -2.33 cm 1.45 cm 2.69 MeV 99.1 keV 120 um 1.3 mm Lead eBrem + 6 6.11 cm -2.31 cm 1.44 cm 1.96 MeV 730 keV 246 um 1.54 mm Lead msc + 7 6.11 cm -2.3 cm 1.45 cm 1.74 MeV 221 keV 197 um 1.74 mm Lead msc + 8 6.1 cm -2.29 cm 1.44 cm 1.5 MeV 243 keV 252 um 1.99 mm Lead msc + 9 6.09 cm -2.27 cm 1.44 cm 1.27 MeV 229 keV 244 um 2.24 mm Lead msc + 10 6.1 cm -2.27 cm 1.43 cm 1.05 MeV 218 keV 231 um 2.47 mm Lead msc + 11 6.11 cm -2.26 cm 1.43 cm 828 keV 221 keV 223 um 2.69 mm Lead msc + 12 6.1 cm -2.25 cm 1.42 cm 126 keV 566 keV 432 um 3.12 mm Lead eBrem + 13 6.1 cm -2.25 cm 1.42 cm 0 eV 126 keV 40.1 um 3.16 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 12 +* G4Track Information: Particle = gamma, Track ID = 58, Parent ID = 54 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.56 mm -8.83 mm 4.34 mm 2.89 MeV 0 eV 0 fm 0 fm Lead initStep - 1 7.84 mm -9.02 mm 4.25 mm 2.1 MeV 639 keV 506 um 506 um Lead eBrem - 2 7.8 mm -9.11 mm 4.21 mm 1.4 MeV 133 keV 124 um 630 um Lead eBrem - 3 7.62 mm -9.1 mm 4.26 mm 196 keV 1.21 MeV 1.08 mm 1.71 mm Lead eIoni - 4 7.62 mm -9.11 mm 4.26 mm 0 eV 196 keV 79.4 um 1.79 mm Lead eIoni + 0 6.1 cm -2.25 cm 1.42 cm 136 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.1 cm -2.2 cm 1.4 cm 0 eV 88 keV 588 um 588 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 46, Parent ID = 42 +* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 58 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.8 mm -9.11 mm 4.21 mm 566 keV 0 eV 0 fm 0 fm Lead initStep - 1 -0.000505 fm -9.6 mm 736 um 566 keV 0 eV 8.55 mm 8.55 mm Lead Transportation - 2 -5 mm -9.91 mm -1.49 mm 566 keV 0 eV 5.48 mm 1.4 cm liquidArgon Transportation - 3 -6.94 mm -1 cm -2.35 mm 520 keV 0 eV 2.12 mm 1.62 cm Lead compt - 4 -1.15 cm -9.31 mm -6.9 mm 502 keV 0 eV 6.48 mm 2.26 cm Lead compt - 5 -1.48 cm -7.61 mm -9.77 mm 0 eV 88 keV 4.69 mm 2.73 cm Lead phot + 0 6.1 cm -2.2 cm 1.4 cm 48.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.1 cm -2.2 cm 1.4 cm 0 eV 48.4 keV 8.49 um 8.49 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 46 +* G4Track Information: Particle = gamma, Track ID = 57, Parent ID = 54 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.48 cm -7.61 mm -9.77 mm 414 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.48 cm -7.62 mm -9.74 mm 309 keV 104 keV 49.4 um 49.4 um Lead msc - 2 -1.48 cm -7.62 mm -9.74 mm 0 eV 309 keV 157 um 206 um Lead eIoni + 0 6.09 cm -2.33 cm 1.45 cm 143 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.09 cm -2.32 cm 1.44 cm 0 eV 88 keV 107 um 107 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 46 +* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 57 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.15 cm -9.31 mm -6.9 mm 18.3 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.15 cm -9.31 mm -6.9 mm 0 eV 18.3 keV 1.77 um 1.77 um Lead eIoni + 0 6.09 cm -2.32 cm 1.44 cm 55.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.09 cm -2.32 cm 1.44 cm 0 eV 55.4 keV 10.6 um 10.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 46 +* G4Track Information: Particle = gamma, Track ID = 56, Parent ID = 54 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.94 mm -1 cm -2.35 mm 46 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.94 mm -1 cm -2.35 mm 0 eV 46 keV 7.81 um 7.81 um Lead eIoni + 0 6.14 cm -2.32 cm 1.44 cm 463 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.09 cm -2.51 cm 1.59 cm 438 keV 0 eV 2.4 mm 2.4 mm Lead compt + 2 6.11 cm -2.64 cm 1.75 cm 0 eV 88 keV 2.11 mm 4.51 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 45, Parent ID = 42 +* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 56 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.84 mm -9.02 mm 4.25 mm 152 keV 0 eV 0 fm 0 fm Lead initStep - 1 7.52 mm -9.64 mm 3.26 mm 0 eV 88 keV 1.2 mm 1.2 mm Lead phot + 0 6.11 cm -2.64 cm 1.75 cm 350 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.11 cm -2.64 cm 1.75 cm 0 eV 350 keV 188 um 188 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 45 +* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 56 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.52 mm -9.64 mm 3.26 mm 63.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 7.52 mm -9.64 mm 3.26 mm 0 eV 63.8 keV 13.3 um 13.3 um Lead eIoni + 0 6.09 cm -2.51 cm 1.59 cm 24.8 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.09 cm -2.51 cm 1.59 cm 0 eV 24.8 keV 2.88 um 2.88 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 12 +* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 12 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.82 mm -8.35 mm 4.04 mm 4.23 MeV 0 eV 0 fm 0 fm Lead initStep - 1 2.12 mm -8.11 mm 4.07 mm 3.7 MeV 536 keV 455 um 455 um Lead msc - 2 2.14 mm -7.97 mm 4.06 mm 2.16 MeV 182 keV 149 um 604 um Lead eBrem - 3 1.98 mm -7.79 mm 4.03 mm 440 keV 598 keV 363 um 967 um Lead eBrem - 4 1.98 mm -7.79 mm 4.01 mm 0 eV 440 keV 258 um 1.23 mm Lead eIoni + 0 6.11 cm -2.3 cm 1.42 cm 9.59 MeV 0 eV 0 fm 0 fm Lead initStep + 1 6.15 cm -2.29 cm 1.44 cm 9.14 MeV 450 keV 427 um 427 um Lead msc + 2 6.19 cm -2.29 cm 1.43 cm 8.67 MeV 470 keV 427 um 855 um Lead msc + 3 6.2 cm -2.27 cm 1.41 cm 8.2 MeV 473 keV 427 um 1.28 mm Lead msc + 4 6.21 cm -2.26 cm 1.4 cm 7.25 MeV 60.3 keV 53.3 um 1.34 mm Lead eBrem + 5 6.21 cm -2.22 cm 1.37 cm 6.65 MeV 604 keV 596 um 1.93 mm Lead msc + 6 6.2 cm -2.21 cm 1.33 cm 6.24 MeV 406 keV 427 um 2.36 mm Lead msc + 7 6.18 cm -2.2 cm 1.3 cm 5.76 MeV 480 keV 467 um 2.83 mm Lead msc + 8 6.14 cm -2.21 cm 1.29 cm 5.31 MeV 458 keV 427 um 3.25 mm Lead msc + 9 6.11 cm -2.2 cm 1.29 cm 4.86 MeV 445 keV 427 um 3.68 mm Lead msc + 10 6.11 cm -2.19 cm 1.29 cm 1.42 MeV 78.4 keV 55.9 um 3.74 mm Lead eBrem + 11 6.13 cm -2.2 cm 1.29 cm 1.01 MeV 409 keV 427 um 4.16 mm Lead msc + 12 6.13 cm -2.2 cm 1.29 cm 0 eV 1.01 MeV 751 um 4.91 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 52, Parent ID = 41 +* G4Track Information: Particle = gamma, Track ID = 64, Parent ID = 53 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.98 mm -7.79 mm 4.03 mm 1.12 MeV 0 eV 0 fm 0 fm Lead initStep - 1 4.06 mm -4.34 mm -5.01 mm 428 keV 0 eV 9.9 mm 9.9 mm Lead compt - 2 5.7 mm -1.24 cm -1.05 cm 0 eV 88 keV 9.88 mm 1.98 cm Lead phot + 0 6.11 cm -2.19 cm 1.29 cm 3.36 MeV 0 eV 0 fm 0 fm Lead initStep + 1 7 cm -1.16 cm 1.42 cm 3.36 MeV 0 eV 1.37 cm 1.37 cm Lead Transportation + 2 7.5 cm -5.83 mm 1.5 cm 3.36 MeV 0 eV 7.69 mm 2.14 cm liquidArgon Transportation + 3 9 cm 1.15 cm 1.73 cm 3.36 MeV 0 eV 2.31 cm 4.45 cm OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 52 +* G4Track Information: Particle = gamma, Track ID = 63, Parent ID = 53 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.7 mm -1.24 cm -1.05 cm 340 keV 0 eV 0 fm 0 fm Lead initStep - 1 5.69 mm -1.24 cm -1.05 cm 0 eV 340 keV 180 um 180 um Lead eIoni + 0 6.21 cm -2.26 cm 1.4 cm 881 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.33 cm -2.1 cm 1.17 cm 425 keV 0 eV 3.14 mm 3.14 mm Lead compt + 2 6.33 cm -1.96 cm 1.19 cm 0 eV 88 keV 1.39 mm 4.53 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 52 +* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 63 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.06 mm -4.34 mm -5.01 mm 696 keV 0 eV 0 fm 0 fm Lead initStep - 1 4.07 mm -4.32 mm -5.04 mm 0 eV 696 keV 472 um 472 um Lead eIoni + 0 6.33 cm -1.96 cm 1.19 cm 337 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.33 cm -1.96 cm 1.19 cm 0 eV 337 keV 178 um 178 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 51, Parent ID = 41 +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 63 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.14 mm -7.97 mm 4.06 mm 1.35 MeV 0 eV 0 fm 0 fm Lead initStep - 1 6.67 mm 5 cm 1.4 cm 1.35 MeV 0 eV 5.9 cm 5.9 cm Lead Transportation - 2 7.45 mm 6 cm 1.57 cm 1.35 MeV 0 eV 1.02 cm 6.92 cm OutOfWorld Transportation + 0 6.33 cm -2.1 cm 1.17 cm 457 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.33 cm -2.1 cm 1.16 cm 0 eV 457 keV 273 um 273 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 12 +* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 12 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.55 cm -6.01 mm 2.57 mm 5.96 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.54 cm -6.02 mm 2.5 mm 5.49 MeV 465 keV 136 um 136 um Lead msc - 2 -3.54 cm -6 mm 2.46 mm 4.79 MeV 61.2 keV 57.4 um 193 um Lead eBrem - 3 -3.53 cm -5.97 mm 2.35 mm 4.63 MeV 162 keV 136 um 329 um Lead msc - 4 -3.52 cm -5.88 mm 2.31 mm 4.47 MeV 158 keV 136 um 464 um Lead msc - 5 -3.52 cm -5.95 mm 2.24 mm 4.35 MeV 125 keV 136 um 600 um Lead msc - 6 -3.51 cm -5.93 mm 2.15 mm 4.21 MeV 136 keV 136 um 735 um Lead msc - 7 -3.5 cm -5.92 mm 2.03 mm 4.05 MeV 161 keV 136 um 871 um Lead msc - 8 -3.5 cm -5.85 mm 1.92 mm 3.9 MeV 154 keV 136 um 1.01 mm Lead msc - 9 -3.51 cm -5.83 mm 1.81 mm 3.77 MeV 126 keV 136 um 1.14 mm Lead msc - 10 -3.52 cm -5.84 mm 1.69 mm 3.61 MeV 162 keV 136 um 1.28 mm Lead msc - 11 -3.52 cm -5.79 mm 1.65 mm 2.85 MeV 60.5 keV 65.6 um 1.34 mm Lead eBrem - 12 -3.52 cm -5.68 mm 1.7 mm 2.71 MeV 134 keV 136 um 1.48 mm Lead msc - 13 -3.53 cm -5.6 mm 1.69 mm 2.54 MeV 176 keV 136 um 1.61 mm Lead msc - 14 -3.53 cm -5.49 mm 1.66 mm 2.41 MeV 128 keV 136 um 1.75 mm Lead msc - 15 -3.53 cm -5.38 mm 1.62 mm 2.12 MeV 285 keV 136 um 1.89 mm Lead msc - 16 -3.52 cm -5.36 mm 1.68 mm 1.97 MeV 153 keV 136 um 2.02 mm Lead msc - 17 -3.52 cm -5.4 mm 1.78 mm 1.84 MeV 129 keV 136 um 2.16 mm Lead msc - 18 -3.51 cm -5.47 mm 1.86 mm 1.7 MeV 142 keV 136 um 2.29 mm Lead msc - 19 -3.51 cm -5.56 mm 1.81 mm 1.28 MeV 423 keV 136 um 2.43 mm Lead msc - 20 -3.51 cm -5.47 mm 1.78 mm 1.12 MeV 158 keV 136 um 2.56 mm Lead msc - 21 -3.51 cm -5.47 mm 1.78 mm 994 keV 1.59 keV 3.35 um 2.57 mm Lead eBrem - 22 -3.5 cm -5.48 mm 1.77 mm 822 keV 172 keV 136 um 2.7 mm Lead msc - 23 -3.5 cm -5.47 mm 1.77 mm 809 keV 13.4 keV 17.3 um 2.72 mm Lead Transportation - 24 -3.5 cm -5.47 mm 1.77 mm 809 keV 0 eV 0 fm 2.72 mm liquidArgon Transportation - 25 -3.5 cm -5.46 mm 1.77 mm 794 keV 14.5 keV 11.4 um 2.73 mm Lead msc - 26 -3.5 cm -5.45 mm 1.77 mm 783 keV 11 keV 11.4 um 2.74 mm Lead msc - 27 -3.5 cm -5.45 mm 1.77 mm 782 keV 491 eV 1.04 um 2.74 mm Lead Transportation - 28 -3.5 cm -5.39 mm 1.8 mm 775 keV 7.78 keV 71.7 um 2.82 mm liquidArgon msc - 29 -3.5 cm -5.39 mm 1.8 mm 775 keV 0 eV 538 nm 2.82 mm liquidArgon Transportation - 30 -3.5 cm -5.38 mm 1.81 mm 766 keV 9.08 keV 10.8 um 2.83 mm Lead msc - 31 -3.5 cm -5.37 mm 1.81 mm 760 keV 5.22 keV 10.8 um 2.84 mm Lead msc - 32 -3.5 cm -5.37 mm 1.82 mm 748 keV 12.6 keV 10.8 um 2.85 mm Lead msc - 33 -3.5 cm -5.37 mm 1.82 mm 748 keV 150 eV 2.01 um 2.85 mm Lead Transportation - 34 -3.5 cm -5.31 mm 1.84 mm 737 keV 10.3 keV 65.9 um 2.92 mm liquidArgon msc - 35 -3.49 cm -5.26 mm 1.88 mm 730 keV 7.53 keV 65.9 um 2.98 mm liquidArgon msc - 36 -3.49 cm -5.21 mm 1.92 mm 722 keV 8.04 keV 65.9 um 3.05 mm liquidArgon msc - 37 -3.49 cm -5.15 mm 1.94 mm 710 keV 11.6 keV 65.9 um 3.11 mm liquidArgon msc - 38 -3.49 cm -5.11 mm 1.99 mm 700 keV 9.74 keV 65.9 um 3.18 mm liquidArgon msc - 39 -3.49 cm -5.07 mm 2.04 mm 694 keV 6.8 keV 65.9 um 3.25 mm liquidArgon msc - 40 -3.49 cm -5.02 mm 2.08 mm 685 keV 9.07 keV 65.9 um 3.31 mm liquidArgon msc - 41 -3.49 cm -4.99 mm 2.13 mm 676 keV 8.7 keV 65.9 um 3.38 mm liquidArgon msc - 42 -3.49 cm -4.95 mm 2.19 mm 669 keV 6.53 keV 65.9 um 3.44 mm liquidArgon msc - 43 -3.49 cm -4.92 mm 2.25 mm 660 keV 9.09 keV 65.9 um 3.51 mm liquidArgon msc - 44 -3.48 cm -4.88 mm 2.29 mm 652 keV 8.5 keV 65.9 um 3.58 mm liquidArgon msc - 45 -3.48 cm -4.84 mm 2.31 mm 639 keV 13 keV 65.9 um 3.64 mm liquidArgon msc - 46 -3.48 cm -4.8 mm 2.32 mm 631 keV 7.76 keV 65.9 um 3.71 mm liquidArgon msc - 47 -3.47 cm -4.78 mm 2.31 mm 614 keV 17.3 keV 65.9 um 3.77 mm liquidArgon msc - 48 -3.46 cm -4.77 mm 2.31 mm 603 keV 11 keV 65.9 um 3.84 mm liquidArgon msc - 49 -3.46 cm -4.77 mm 2.32 mm 583 keV 19.4 keV 65.9 um 3.91 mm liquidArgon msc - 50 -3.45 cm -4.76 mm 2.33 mm 574 keV 9.19 keV 74.5 um 3.98 mm liquidArgon msc - 51 -3.44 cm -4.78 mm 2.33 mm 557 keV 17 keV 87.8 um 4.07 mm liquidArgon msc - 52 -3.43 cm -4.78 mm 2.41 mm 539 keV 17.9 keV 102 um 4.17 mm liquidArgon msc - 53 -3.42 cm -4.78 mm 2.44 mm 517 keV 22 keV 118 um 4.29 mm liquidArgon msc - 54 -3.41 cm -4.75 mm 2.5 mm 499 keV 18.6 keV 129 um 4.42 mm liquidArgon msc - 55 -3.41 cm -4.66 mm 2.61 mm 471 keV 27.6 keV 153 um 4.57 mm liquidArgon msc - 56 -3.41 cm -4.65 mm 2.77 mm 442 keV 28.7 keV 172 um 4.74 mm liquidArgon msc - 57 -3.4 cm -4.63 mm 2.86 mm 416 keV 26.3 keV 172 um 4.91 mm liquidArgon msc - 58 -3.38 cm -4.62 mm 2.82 mm 390 keV 26.2 keV 172 um 5.09 mm liquidArgon msc - 59 -3.37 cm -4.71 mm 2.75 mm 354 keV 36.1 keV 196 um 5.28 mm liquidArgon msc - 60 -3.36 cm -4.81 mm 2.66 mm 309 keV 45 keV 227 um 5.51 mm liquidArgon msc - 61 -3.36 cm -4.76 mm 2.41 mm 0 eV 309 keV 883 um 6.39 mm liquidArgon eIoni + 0 -4.2 cm -5.9 mm 1.9 mm 6.76 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.18 cm -5.94 mm 1.94 mm 6.22 MeV 279 keV 219 um 219 um Lead eBrem + 2 -4.14 cm -6.25 mm 1.94 mm 5.21 MeV 817 keV 565 um 784 um Lead eBrem + 3 -4.09 cm -6.42 mm 2.26 mm 3.89 MeV 1.31 MeV 759 um 1.54 mm Lead msc + 4 -4.09 cm -6.21 mm 2.8 mm 3.06 MeV 832 keV 825 um 2.37 mm Lead msc + 5 -4.08 cm -6.64 mm 3.05 mm 1.83 MeV 951 keV 901 um 3.27 mm Lead eBrem + 6 -4.11 cm -6.54 mm 3.2 mm 836 keV 996 keV 920 um 4.19 mm Lead eBrem + 7 -4.11 cm -6.49 mm 3.11 mm 388 keV 212 keV 252 um 4.44 mm Lead eBrem + 8 -4.1 cm -6.5 mm 3.11 mm 0 eV 388 keV 218 um 4.66 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 57, Parent ID = 40 +* G4Track Information: Particle = gamma, Track ID = 70, Parent ID = 52 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.51 cm -5.47 mm 1.78 mm 123 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm -5.43 mm 1.71 mm 123 keV 0 eV 109 um 109 um Lead Transportation - 2 -3 cm -2.69 mm -2.65 mm 123 keV 0 eV 7.17 mm 7.28 mm liquidArgon Transportation - 3 -2.98 cm -2.56 mm -2.86 mm 0 eV 88 keV 347 um 7.63 mm Lead phot + 0 -4.11 cm -6.49 mm 3.11 mm 236 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4 cm -6.91 mm 2.77 mm 0 eV 88 keV 1.15 mm 1.15 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 57 +* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 70 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.98 cm -2.56 mm -2.86 mm 34.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.98 cm -2.56 mm -2.86 mm 0 eV 34.6 keV 4.92 um 4.92 um Lead eIoni + 0 -4 cm -6.91 mm 2.77 mm 148 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4 cm -6.91 mm 2.78 mm 0 eV 148 keV 51.4 um 51.4 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 56, Parent ID = 40 +* G4Track Information: Particle = gamma, Track ID = 69, Parent ID = 52 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.52 cm -5.79 mm 1.65 mm 702 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.53 cm -5.47 mm 1.59 mm 638 keV 0 eV 369 um 369 um Lead compt - 2 -3.56 cm -2.4 mm 506 um 0 eV 88 keV 3.27 mm 3.64 mm Lead phot + 0 -4.08 cm -6.64 mm 3.05 mm 278 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.07 cm -6.5 mm 3.13 mm 0 eV 88 keV 215 um 215 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 56 +* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 69 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.56 cm -2.4 mm 506 um 550 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.56 cm -2.39 mm 486 um 0 eV 550 keV 348 um 348 um Lead eIoni + 0 -4.07 cm -6.5 mm 3.13 mm 190 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.06 cm -6.5 mm 3.13 mm 0 eV 190 keV 75.8 um 75.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 56 +* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 52 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.53 cm -5.47 mm 1.59 mm 63.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.53 cm -5.47 mm 1.59 mm 0 eV 63.8 keV 13.3 um 13.3 um Lead eIoni + 0 -4.14 cm -6.25 mm 1.94 mm 198 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.11 cm -6.33 mm 2.03 mm 0 eV 88 keV 293 um 293 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 55, Parent ID = 40 +* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 68 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.54 cm -6 mm 2.46 mm 639 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm -5.97 mm 2.19 mm 639 keV 0 eV 478 um 478 um Lead Transportation - 2 -3 cm -5.56 mm -1.15 mm 639 keV 0 eV 6.03 mm 6.5 mm liquidArgon Transportation - 3 -2.91 cm -5.49 mm -1.72 mm 0 eV 88 keV 1.03 mm 7.53 mm Lead phot + 0 -4.11 cm -6.33 mm 2.03 mm 110 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.11 cm -6.33 mm 2.03 mm 0 eV 110 keV 32.2 um 32.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 55 +* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 52 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.91 cm -5.49 mm -1.72 mm 551 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.91 cm -5.47 mm -1.73 mm 403 keV 9.26 keV 23.6 um 23.6 um Lead eBrem - 2 -2.91 cm -5.46 mm -1.72 mm 0 eV 403 keV 229 um 252 um Lead eIoni + 0 -4.18 cm -5.94 mm 1.94 mm 256 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.03 cm -6.36 mm 2.5 mm 0 eV 88 keV 1.64 mm 1.64 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 62, Parent ID = 61 +* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 67 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.91 cm -5.47 mm -1.73 mm 138 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.91 cm -5.42 mm -1.74 mm 0 eV 88 keV 56.9 um 56.9 um Lead phot + 0 -4.03 cm -6.36 mm 2.5 mm 168 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.03 cm -6.36 mm 2.5 mm 0 eV 168 keV 63.1 um 63.1 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 62 +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 12 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.91 cm -5.42 mm -1.74 mm 50.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.91 cm -5.42 mm -1.74 mm 0 eV 50.2 keV 8.95 um 8.95 um Lead eIoni + 0 -6.04 cm -3.67 mm 1.3 mm 384 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -6.03 cm -3.7 mm 1.37 mm 370 keV 13.9 keV 109 um 109 um liquidArgon msc + 2 -6.03 cm -3.75 mm 1.4 mm 361 keV 8.68 keV 69.3 um 179 um liquidArgon msc + 3 -6.02 cm -3.81 mm 1.41 mm 349 keV 12.5 keV 62.9 um 242 um liquidArgon msc + 4 -6.02 cm -3.86 mm 1.41 mm 332 keV 16.2 keV 56.5 um 298 um liquidArgon msc + 5 -6.02 cm -3.9 mm 1.4 mm 324 keV 8.66 keV 50.4 um 348 um liquidArgon msc + 6 -6.02 cm -3.93 mm 1.38 mm 293 keV 31 keV 48.7 um 397 um liquidArgon msc + 7 -6.01 cm -3.97 mm 1.36 mm 276 keV 16.8 keV 48.7 um 446 um liquidArgon msc + 8 -6.01 cm -3.99 mm 1.34 mm 268 keV 7.46 keV 48.7 um 495 um liquidArgon msc + 9 -6.01 cm -4.03 mm 1.33 mm 261 keV 7.2 keV 48.7 um 543 um liquidArgon msc + 10 -6.01 cm -4.07 mm 1.34 mm 251 keV 10.7 keV 48.7 um 592 um liquidArgon msc + 11 -6.01 cm -4.11 mm 1.33 mm 241 keV 9.86 keV 48.7 um 641 um liquidArgon msc + 12 -6.01 cm -4.16 mm 1.33 mm 234 keV 6.74 keV 48.7 um 689 um liquidArgon msc + 13 -6 cm -4.2 mm 1.32 mm 225 keV 8.87 keV 48.7 um 738 um liquidArgon msc + 14 -6 cm -4.24 mm 1.3 mm 212 keV 13.2 keV 48.7 um 787 um liquidArgon msc + 15 -6.01 cm -4.28 mm 1.27 mm 201 keV 10.9 keV 48.7 um 836 um liquidArgon msc + 16 -6.01 cm -4.31 mm 1.25 mm 191 keV 9.73 keV 48.7 um 884 um liquidArgon msc + 17 -6.01 cm -4.31 mm 1.24 mm 180 keV 11.1 keV 48.7 um 933 um liquidArgon msc + 18 -6.01 cm -4.34 mm 1.2 mm 163 keV 17.7 keV 48.7 um 982 um liquidArgon msc + 19 -6.01 cm -4.37 mm 1.17 mm 149 keV 13.8 keV 48.7 um 1.03 mm liquidArgon msc + 20 -6.01 cm -4.39 mm 1.13 mm 122 keV 26.6 keV 48.7 um 1.08 mm liquidArgon msc + 21 -6.01 cm -4.39 mm 1.09 mm 108 keV 13.8 keV 48.7 um 1.13 mm liquidArgon msc + 22 -6.01 cm -4.41 mm 1.06 mm 87.4 keV 20.8 keV 48.7 um 1.18 mm liquidArgon msc + 23 -6.01 cm -4.43 mm 1.06 mm 61 keV 26.4 keV 48.7 um 1.23 mm liquidArgon msc + 24 -6.01 cm -4.45 mm 1.05 mm 0 eV 61 keV 63.8 um 1.29 mm liquidArgon eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 12 +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 12 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.86 cm -5.78 mm 2.46 mm 1.72 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.85 cm -5.78 mm 2.5 mm 1.3 MeV 151 keV 165 um 165 um Lead eBrem - 2 -3.85 cm -5.72 mm 2.46 mm 0 eV 1.3 MeV 995 um 1.16 mm Lead eIoni + 0 -7.26 cm -2.17 mm 808 um 9.63 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -7.26 cm -2.18 mm 816 um 6.85 MeV 58.7 keV 39.7 um 39.7 um Lead eBrem + 2 -7.25 cm -2.21 mm 819 um 5.87 MeV 44.6 keV 56.3 um 96 um Lead eBrem + 3 -7.23 cm -2.71 mm 611 um 5.07 MeV 801 keV 704 um 800 um Lead msc + 4 -7.22 cm -3.1 mm 713 um 4.56 MeV 506 keV 487 um 1.29 mm Lead msc + 5 -7.21 cm -3.6 mm 592 um 2.89 MeV 1.68 MeV 642 um 1.93 mm Lead msc + 6 -7.24 cm -3.87 mm 733 um 2.25 MeV 636 keV 634 um 2.56 mm Lead msc + 7 -7.23 cm -4 mm 1.01 mm 1.29 MeV 496 keV 489 um 3.05 mm Lead eBrem + 8 -7.23 cm -3.95 mm 1.03 mm 1.04 MeV 120 keV 92.6 um 3.14 mm Lead eBrem + 9 -7.23 cm -3.92 mm 1.02 mm 713 keV 31.6 keV 37.1 um 3.18 mm Lead eBrem + 10 -7.23 cm -3.94 mm 970 um 439 keV 110 keV 134 um 3.32 mm Lead eBrem + 11 -7.23 cm -3.93 mm 958 um 0 eV 439 keV 258 um 3.57 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 64, Parent ID = 39 +* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 50 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.85 cm -5.78 mm 2.5 mm 270 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.84 cm -5.69 mm 2.45 mm 0 eV 88 keV 141 um 141 um Lead phot + 0 -7.23 cm -3.94 mm 970 um 165 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.24 cm -3.99 mm 642 um 0 eV 88 keV 346 um 346 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 64 +* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 80 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.84 cm -5.69 mm 2.45 mm 182 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.84 cm -5.7 mm 2.45 mm 0 eV 182 keV 71.1 um 71.1 um Lead eIoni + 0 -7.24 cm -3.99 mm 642 um 77.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.24 cm -3.99 mm 641 um 0 eV 77.1 keV 18.1 um 18.1 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 12 +* G4Track Information: Particle = gamma, Track ID = 79, Parent ID = 50 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.07 cm -2.4 mm 853 um 1.38 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -7.06 cm -2.39 mm 860 um 544 keV 113 keV 116 um 116 um Lead eBrem - 2 -7.06 cm -2.4 mm 869 um 0 eV 544 keV 343 um 459 um Lead eIoni + 0 -7.23 cm -3.92 mm 1.02 mm 298 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.18 cm -3.89 mm 641 um 0 eV 88 keV 583 um 583 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 66, Parent ID = 38 +* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 79 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.06 cm -2.39 mm 860 um 727 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.04 cm -7.33 mm 5.98 mm 327 keV 0 eV 7.12 mm 7.12 mm Lead compt - 2 -7.5 cm -4.61 mm 1.02 cm 327 keV 0 eV 6.81 mm 1.39 cm Lead Transportation - 3 -9 cm 4.16 mm 2.36 cm 327 keV 0 eV 2.2 cm 3.59 cm OutOfWorld Transportation + 0 -7.18 cm -3.89 mm 641 um 210 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.18 cm -3.88 mm 639 um 0 eV 210 keV 88.5 um 88.5 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 67, Parent ID = 66 +* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 50 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.04 cm -7.33 mm 5.98 mm 399 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.03 cm -7.34 mm 5.99 mm 0 eV 399 keV 225 um 225 um Lead eIoni + 0 -7.23 cm -3.95 mm 1.03 mm 132 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.23 cm -3.93 mm 1.04 mm 0 eV 88 keV 30.6 um 30.6 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 78 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.23 cm -3.93 mm 1.04 mm 44.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.23 cm -3.93 mm 1.04 mm 0 eV 44.2 keV 7.31 um 7.31 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.23 cm -4 mm 1.01 mm 460 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.8 cm 1.55 mm 8.12 mm 0 eV 88 keV 1 cm 1 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 77 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.8 cm 1.55 mm 8.12 mm 372 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.8 cm 1.56 mm 8.11 mm 0 eV 372 keV 206 um 206 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.25 cm -2.21 mm 819 um 935 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.5 cm -6.94 mm 1.42 mm 935 keV 0 eV 8.92 mm 8.92 mm Lead Transportation + 2 -6 cm -1.01 cm 1.81 mm 935 keV 0 eV 5.92 mm 1.48 cm liquidArgon Transportation + 3 -5.92 cm -1.06 cm 1.88 mm 620 keV 0 eV 1 mm 1.58 cm Lead compt + 4 -5.55 cm -1.01 cm 968 um 0 eV 88 keV 3.77 mm 1.96 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 76 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.55 cm -1.01 cm 968 um 532 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.55 cm -1.01 cm 959 um 0 eV 532 keV 335 um 335 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 76 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.92 cm -1.06 cm 1.88 mm 316 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.92 cm -1.06 cm 1.88 mm 156 keV 35.7 keV 35.3 um 35.3 um Lead eBrem + 2 -5.92 cm -1.06 cm 1.87 mm 0 eV 156 keV 56.2 um 91.5 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 85 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.92 cm -1.06 cm 1.88 mm 124 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.92 cm -1.06 cm 1.87 mm 0 eV 88 keV 2.14 um 2.14 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 87 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.92 cm -1.06 cm 1.87 mm 35.6 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.92 cm -1.06 cm 1.87 mm 0 eV 35.6 keV 5.16 um 5.16 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 75, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.26 cm -2.18 mm 816 um 2.72 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.5 cm -4.52 mm 2.58 mm 2.72 MeV 0 eV 8.13 mm 8.13 mm Lead Transportation + 2 -6 cm -6.06 mm 3.74 mm 2.72 MeV 0 eV 5.36 mm 1.35 cm liquidArgon Transportation + 3 -5 cm -9.14 mm 6.06 mm 2.72 MeV 0 eV 1.07 cm 2.42 cm Lead Transportation + 4 -4.5 cm -1.07 cm 7.22 mm 2.72 MeV 0 eV 5.36 mm 2.96 cm liquidArgon Transportation + 5 -3.5 cm -1.38 cm 9.54 mm 2.72 MeV 0 eV 1.07 cm 4.03 cm Lead Transportation + 6 -3 cm -1.53 cm 1.07 cm 2.72 MeV 0 eV 5.36 mm 4.56 cm liquidArgon Transportation + 7 -2 cm -1.84 cm 1.3 cm 2.72 MeV 0 eV 1.07 cm 5.64 cm Lead Transportation + 8 -1.5 cm -1.99 cm 1.42 cm 2.72 MeV 0 eV 5.36 mm 6.17 cm liquidArgon Transportation + 9 -5 mm -2.3 cm 1.65 cm 2.72 MeV 0 eV 1.07 cm 7.24 cm Lead Transportation + 10 0.000378 fm -2.45 cm 1.77 cm 2.72 MeV 0 eV 5.36 mm 7.78 cm liquidArgon Transportation + 11 6.19 mm -2.64 cm 1.91 cm 0 eV 0 eV 6.63 mm 8.44 cm Lead conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 90, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.19 mm -2.64 cm 1.91 cm 782 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.24 mm -2.65 cm 1.91 cm 0 eV 782 keV 550 um 550 um Lead eIoni + 2 6.24 mm -2.65 cm 1.91 cm 0 eV 0 eV 0 fm 550 um Lead annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 92, Parent ID = 90 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.24 mm -2.65 cm 1.91 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.25 mm -2.63 cm 1.89 cm 0 eV 88 keV 242 um 242 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 92 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.25 mm -2.63 cm 1.89 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.26 mm -2.63 cm 1.89 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 91, Parent ID = 90 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.24 mm -2.65 cm 1.91 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.03 mm -2.93 cm 2.3 cm 0 eV 88 keV 4.86 mm 4.86 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 91 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.03 mm -2.93 cm 2.3 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.02 mm -2.93 cm 2.31 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.19 mm -2.64 cm 1.91 cm 920 keV 0 eV 0 fm 0 fm Lead initStep + 1 6.23 mm -2.64 cm 1.91 cm 0 eV 920 keV 671 um 671 um Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = kaon-, Track ID = 11, Parent ID = 1 @@ -959,7 +1248,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -8.99 cm 0 fm 0 fm 40.4 MeV 0 eV 0 fm 0 fm World initStep - 1 -9 cm 106 um -20.4 um 40.4 MeV2.2e-20 eV 166 um 166 um OutOfWorld Transportation + 1 -9 cm 106 um -20.4 um 40.4 MeV2.24e-20 eV 166 um 166 um OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = pi+, Track ID = 10, Parent ID = 1 @@ -967,7 +1256,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -8.99 cm 0 fm 0 fm 1.26 GeV 0 eV 0 fm 0 fm World initStep - 1 -9 cm 21.5 um 29.5 um 1.26 GeV3.68e-21 eV 132 um 132 um OutOfWorld Transportation + 1 -9 cm 21.5 um 29.5 um 1.26 GeV3.73e-21 eV 132 um 132 um OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 1 @@ -976,9 +1265,495 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -8.99 cm 0 fm 0 fm 41.9 MeV 0 eV 0 fm 0 fm World initStep 1 -7.5 cm -2.93 cm 1.93 mm 41.9 MeV 0 eV 3.29 cm 3.29 cm World Transportation - 2 -6.5 cm -4.9 cm 3.22 mm 41.9 MeV 0 eV 2.21 cm 5.51 cm Lead Transportation - 3 -6.45 cm -5 cm 3.29 mm 41.9 MeV 0 eV 1.08 mm 5.62 cm liquidArgon Transportation - 4 -5.94 cm -6 cm 3.95 mm 41.9 MeV 0 eV 1.12 cm 6.74 cm OutOfWorld Transportation + 2 -7.41 cm -3.1 cm 2.04 mm 0 eV 0 eV 1.93 mm 3.48 cm Lead conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 96, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.41 cm -3.1 cm 2.04 mm 16.3 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -7.38 cm -3.15 cm 2.02 mm 11.9 MeV 602 keV 560 um 560 um Lead eBrem + 2 -7.32 cm -3.21 cm 2.49 mm 10.6 MeV 1.37 MeV 1.09 mm 1.65 mm Lead eBrem + 3 -7.3 cm -3.24 cm 2.27 mm 9.52 MeV 474 keV 456 um 2.11 mm Lead eBrem + 4 -7.19 cm -3.32 cm 2.51 mm 7.57 MeV 1.95 MeV 1.45 mm 3.56 mm Lead msc + 5 -7.19 cm -3.36 cm 3.65 mm 5.86 MeV 1.71 MeV 1.45 mm 5 mm Lead msc + 6 -7.2 cm -3.36 cm 3.5 mm 5.48 MeV 209 keV 190 um 5.19 mm Lead eBrem + 7 -7.27 cm -3.31 cm 3.22 mm 4.13 MeV 1.35 MeV 1.04 mm 6.23 mm Lead eBrem + 8 -7.29 cm -3.29 cm 3.31 mm 3.09 MeV 322 keV 342 um 6.57 mm Lead eBrem + 9 -7.31 cm -3.36 cm 3.26 mm 1.79 MeV 994 keV 1.12 mm 7.69 mm Lead eBrem + 10 -7.35 cm -3.37 cm 3.25 mm 311 keV 1.48 MeV 1.34 mm 9.03 mm Lead eIoni + 11 -7.35 cm -3.36 cm 3.25 mm 0 eV 311 keV 154 um 9.18 mm Lead eIoni + 12 -7.35 cm -3.36 cm 3.25 mm 0 eV 0 eV 0 fm 9.18 mm Lead annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 96 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.35 cm -3.36 cm 3.25 mm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.5 cm -3.4 cm 5.05 mm 511 keV 0 eV 2.37 mm 2.37 mm Lead Transportation + 2 -9 cm -3.7 cm 2.28 cm 511 keV 0 eV 2.34 cm 2.58 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 102, Parent ID = 96 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.35 cm -3.36 cm 3.25 mm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.87 cm -3.27 cm -2.36 mm 0 eV 88 keV 7.42 mm 7.42 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 104, Parent ID = 102 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.87 cm -3.27 cm -2.36 mm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.87 cm -3.27 cm -2.37 mm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 101, Parent ID = 96 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.31 cm -3.36 cm 3.26 mm 305 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.31 cm -3.36 cm 3.25 mm 217 keV 0 eV 23.9 um 23.9 um Lead compt + 2 -7.4 cm -3.52 cm 4.24 mm 0 eV 88 keV 2.13 mm 2.15 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 101 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.4 cm -3.52 cm 4.24 mm 129 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.4 cm -3.52 cm 4.24 mm 0 eV 129 keV 41.6 um 41.6 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 101 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.31 cm -3.36 cm 3.25 mm 88.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.31 cm -3.36 cm 3.25 mm 0 eV 88.1 keV 22.5 um 22.5 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 100, Parent ID = 96 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.29 cm -3.29 cm 3.31 mm 722 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.5 cm -3.46 cm 3.5 mm 722 keV 0 eV 2.7 mm 2.7 mm Lead Transportation + 2 -9 cm -4.69 cm 4.88 mm 722 keV 0 eV 1.94 cm 2.21 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 99, Parent ID = 96 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.2 cm -3.36 cm 3.5 mm 166 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.25 cm -3.35 cm 2.95 mm 0 eV 88 keV 730 um 730 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 99 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.25 cm -3.35 cm 2.95 mm 77.6 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.25 cm -3.35 cm 2.95 mm 0 eV 77.6 keV 18.3 um 18.3 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 98, Parent ID = 96 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.3 cm -3.24 cm 2.27 mm 575 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.2 cm -3.4 cm 2.76 mm 222 keV 0 eV 1.88 mm 1.88 mm Lead compt + 2 -7.2 cm -3.39 cm 2.47 mm 0 eV 88 keV 294 um 2.17 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 98 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.2 cm -3.39 cm 2.47 mm 134 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.2 cm -3.39 cm 2.47 mm 0 eV 134 keV 44 um 44 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 98 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.2 cm -3.4 cm 2.76 mm 353 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.2 cm -3.4 cm 2.77 mm 0 eV 353 keV 191 um 191 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 97, Parent ID = 96 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.38 cm -3.15 cm 2.02 mm 3.72 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.96 cm -4.09 cm 4.54 mm 2.09 MeV 0 eV 1.07 cm 1.07 cm Lead compt + 2 -6.98 cm -4.39 cm 5.31 mm 395 keV 0 eV 3.05 mm 1.37 cm Lead compt + 3 -7.03 cm -4.4 cm 4.68 mm 234 keV 0 eV 807 um 1.45 cm Lead compt + 4 -6.9 cm -4.5 cm 3.44 mm 0 eV 88 keV 2.1 mm 1.66 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 97 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.9 cm -4.5 cm 3.44 mm 146 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.9 cm -4.5 cm 3.44 mm 0 eV 146 keV 50.7 um 50.7 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 97 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.03 cm -4.4 cm 4.68 mm 161 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.03 cm -4.4 cm 4.68 mm 0 eV 161 keV 58.7 um 58.7 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 97 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.98 cm -4.39 cm 5.31 mm 1.69 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -7 cm -4.39 cm 5.56 mm 208 keV 1.48 MeV 1.27 mm 1.27 mm Lead eIoni + 2 -7 cm -4.39 cm 5.56 mm 0 eV 208 keV 87.2 um 1.36 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 97 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.96 cm -4.09 cm 4.54 mm 1.63 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.94 cm -4.09 cm 4.36 mm 324 keV 1.31 MeV 1.24 mm 1.24 mm Lead eIoni + 2 -6.94 cm -4.09 cm 4.36 mm 0 eV 324 keV 168 um 1.41 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 95, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.41 cm -3.1 cm 2.04 mm 24.7 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -7.32 cm -3.22 cm 2.13 mm 22.8 MeV 1.51 MeV 1.52 mm 1.52 mm Lead eBrem + 2 -7.27 cm -3.29 cm 1.85 mm 21.5 MeV 1.14 MeV 974 um 2.49 mm Lead eBrem + 3 -7.26 cm -3.35 cm 1.56 mm 20.5 MeV 751 keV 639 um 3.13 mm Lead eBrem + 4 -7.25 cm -3.39 cm 1.35 mm 18.7 MeV 528 keV 471 um 3.6 mm Lead eBrem + 5 -7.04 cm -3.61 cm 158 um 13.8 MeV 4.78 MeV 3.57 mm 7.17 mm Lead eBrem + 6 -7.03 cm -3.61 cm 188 um 12.4 MeV 105 keV 96 um 7.27 mm Lead eBrem + 7 -6.95 cm -3.68 cm 396 um 10.5 MeV 1.39 MeV 1.2 mm 8.47 mm Lead eBrem + 8 -6.89 cm -3.7 cm 353 um 1.68 MeV 722 keV 659 um 9.13 mm Lead eBrem + 9 -6.89 cm -3.68 cm 196 um 80.7 keV 841 keV 512 um 9.64 mm Lead eBrem + 10 -6.89 cm -3.68 cm 195 um 0 eV 80.7 keV 19.5 um 9.66 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 122, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.89 cm -3.68 cm 196 um 760 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.87 cm -3.65 cm 102 um 265 keV 0 eV 322 um 322 um Lead compt + 2 -6.79 cm -3.72 cm 351 um 0 eV 88 keV 1.08 mm 1.41 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 124, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.79 cm -3.72 cm 351 um 177 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.79 cm -3.72 cm 347 um 0 eV 177 keV 68.1 um 68.1 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.87 cm -3.65 cm 102 um 495 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.87 cm -3.65 cm 95.8 um 0 eV 495 keV 305 um 305 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.89 cm -3.7 cm 353 um 8.11 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.5 cm -3.81 cm 64.7 um 8.11 MeV 0 eV 4.05 mm 4.05 mm Lead Transportation + 2 -6 cm -3.95 cm -306 um 8.11 MeV 0 eV 5.22 mm 9.26 mm liquidArgon Transportation + 3 -5 cm -4.24 cm -1.05 mm 8.11 MeV 0 eV 1.04 cm 1.97 cm Lead Transportation + 4 -4.5 cm -4.38 cm -1.42 mm 8.11 MeV 0 eV 5.22 mm 2.49 cm liquidArgon Transportation + 5 -3.78 cm -4.59 cm -1.96 mm 325 keV 0 eV 7.55 mm 3.25 cm Lead compt + 6 -3.87 cm -4.66 cm -1.21 mm 0 eV 88 keV 1.38 mm 3.38 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 121 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.87 cm -4.66 cm -1.21 mm 237 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.87 cm -4.66 cm -1.21 mm 0 eV 237 keV 106 um 106 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 121 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.78 cm -4.59 cm -1.96 mm 7.79 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.77 cm -4.59 cm -1.96 mm 6.63 MeV 45.5 keV 44.6 um 44.6 um Lead eBrem + 2 -3.76 cm -4.6 cm -1.94 mm 5.36 MeV 182 keV 218 um 262 um Lead eBrem + 3 -3.71 cm -4.62 cm -1.62 mm 4.55 MeV 809 keV 738 um 1 mm Lead msc + 4 -3.72 cm -4.59 cm -1.44 mm 3.61 MeV 937 keV 511 um 1.51 mm Lead msc + 5 -3.71 cm -4.56 cm -1.61 mm 2.91 MeV 326 keV 332 um 1.84 mm Lead eBrem + 6 -3.7 cm -4.55 cm -1.91 mm 2.28 MeV 634 keV 545 um 2.39 mm Lead msc + 7 -3.71 cm -4.54 cm -2.04 mm 1.84 MeV 298 keV 220 um 2.61 mm Lead eBrem + 8 -3.71 cm -4.53 cm -1.97 mm 1.27 MeV 183 keV 209 um 2.82 mm Lead eBrem + 9 -3.72 cm -4.52 cm -1.96 mm 0 eV 1.27 MeV 982 um 3.8 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 131, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.71 cm -4.53 cm -1.97 mm 382 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4 cm -3.29 cm 9.46 mm 230 keV 0 eV 1.71 cm 1.71 cm Lead compt + 2 -3.75 cm -3.03 cm 7.92 mm 225 keV 0 eV 3.9 mm 2.1 cm Lead compt + 3 -3.65 cm -2.9 cm 7.7 mm 0 eV 88 keV 1.65 mm 2.27 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 131 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.65 cm -2.9 cm 7.7 mm 137 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.65 cm -2.9 cm 7.7 mm 0 eV 137 keV 45.8 um 45.8 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 131 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.75 cm -3.03 cm 7.92 mm 4.31 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.75 cm -3.03 cm 7.92 mm 0 eV 4.31 keV 211 nm 211 nm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 131 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4 cm -3.29 cm 9.46 mm 153 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4 cm -3.29 cm 9.46 mm 0 eV 153 keV 54.2 um 54.2 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 130, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.71 cm -4.54 cm -2.04 mm 137 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.71 cm -4.54 cm -2.1 mm 0 eV 88 keV 78.8 um 78.8 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 130 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.71 cm -4.54 cm -2.1 mm 48.6 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.71 cm -4.54 cm -2.1 mm 0 eV 48.6 keV 8.56 um 8.56 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 129, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.71 cm -4.56 cm -1.61 mm 374 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm -4.39 cm -1.72 mm 374 keV 0 eV 2.75 mm 2.75 mm Lead Transportation + 2 -3 cm -3.98 cm -1.99 mm 374 keV 0 eV 6.47 mm 9.22 mm liquidArgon Transportation + 3 -2.93 cm -3.92 cm -2.03 mm 210 keV 0 eV 918 um 1.01 cm Lead compt + 4 -2.83 cm -4.07 cm -2.65 mm 0 eV 88 keV 1.84 mm 1.2 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 137, Parent ID = 129 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.83 cm -4.07 cm -2.65 mm 122 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.83 cm -4.07 cm -2.64 mm 0 eV 122 keV 37.8 um 37.8 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 136, Parent ID = 129 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.93 cm -3.92 cm -2.03 mm 165 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.93 cm -3.92 cm -2.03 mm 0 eV 165 keV 60.9 um 60.9 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 128, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.76 cm -4.6 cm -1.94 mm 1.09 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.6 cm -5 cm -1.22 mm 1.09 MeV 0 eV 4.33 mm 4.33 mm Lead Transportation + 2 -3.19 cm -6 cm 594 um 1.09 MeV 0 eV 1.09 cm 1.53 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 127, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.77 cm -4.59 cm -1.96 mm 1.12 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.76 cm -4.6 cm -1.96 mm 0 eV 88 keV 99.6 um 99.6 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 138, Parent ID = 127 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.76 cm -4.6 cm -1.96 mm 1.03 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.76 cm -4.6 cm -1.97 mm 467 keV 16.1 keV 17.5 um 17.5 um Lead eBrem + 2 -3.76 cm -4.6 cm -1.98 mm 0 eV 467 keV 281 um 299 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 139, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.76 cm -4.6 cm -1.97 mm 545 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.73 cm -4.56 cm -2.39 mm 0 eV 88 keV 630 um 630 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 140, Parent ID = 139 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.73 cm -4.56 cm -2.39 mm 457 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.73 cm -4.56 cm -2.41 mm 0 eV 457 keV 273 um 273 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.95 cm -3.68 cm 396 um 481 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.92 cm -3.7 cm 472 um 254 keV 0 eV 381 um 381 um Lead compt + 2 -6.99 cm -3.9 cm 126 um 0 eV 88 keV 2.18 mm 2.56 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 120 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.99 cm -3.9 cm 126 um 166 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.99 cm -3.9 cm 127 um 0 eV 166 keV 62 um 62 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 120 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.92 cm -3.7 cm 472 um 227 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.92 cm -3.7 cm 473 um 0 eV 227 keV 99.4 um 99.4 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 119, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.03 cm -3.61 cm 188 um 1.35 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.5 cm -4.37 cm -1.67 mm 1.35 MeV 0 eV 9.48 mm 9.48 mm Lead Transportation + 2 -6.06 cm -5 cm -3.2 mm 1.35 MeV 0 eV 7.81 mm 1.73 cm liquidArgon Transportation + 3 -5.36 cm -6 cm -5.64 mm 1.35 MeV 0 eV 1.25 cm 2.97 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.04 cm -3.61 cm 158 um 115 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.04 cm -3.61 cm 179 um 0 eV 88 keV 56.8 um 56.8 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 118 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.04 cm -3.61 cm 179 um 27 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.04 cm -3.61 cm 179 um 0 eV 27 keV 3.3 um 3.3 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 117, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.25 cm -3.39 cm 1.35 mm 1.2 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -7.07 cm -3.91 cm -1.88 mm 1.01 MeV 0 eV 6.42 mm 6.42 mm Lead compt + 2 -6.85 cm -4.49 cm -1 cm 661 keV 0 eV 1.02 cm 1.66 cm Lead compt + 3 -7.06 cm -5 cm -1.26 cm 661 keV 0 eV 6.12 mm 2.28 cm Lead Transportation + 4 -7.46 cm -6 cm -1.76 cm 661 keV 0 eV 1.19 cm 3.47 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 117 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.85 cm -4.49 cm -1 cm 351 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.85 cm -4.49 cm -1.01 cm 0 eV 351 keV 189 um 189 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 117 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.07 cm -3.91 cm -1.88 mm 190 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.07 cm -3.91 cm -1.87 mm 0 eV 190 keV 76.1 um 76.1 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 116, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.26 cm -3.35 cm 1.56 mm 289 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.2 cm -3.49 cm 898 um 0 eV 88 keV 1.71 mm 1.71 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 116 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.2 cm -3.49 cm 898 um 201 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.2 cm -3.49 cm 898 um 0 eV 201 keV 82.9 um 82.9 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.27 cm -3.29 cm 1.85 mm 109 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.27 cm -3.3 cm 1.82 mm 0 eV 88 keV 92.3 um 92.3 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 115 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.27 cm -3.3 cm 1.82 mm 20.7 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.27 cm -3.3 cm 1.82 mm 0 eV 20.7 keV 2.15 um 2.15 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.32 cm -3.22 cm 2.13 mm 401 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.75 cm -4.67 cm -1.19 mm 0 eV 88 keV 1.59 cm 1.59 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 114 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.75 cm -4.67 cm -1.19 mm 313 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.75 cm -4.67 cm -1.2 mm 0 eV 313 keV 160 um 160 um Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 1 @@ -995,934 +1770,1036 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -8.99 cm 0 fm 0 fm 65.5 MeV 0 eV 0 fm 0 fm World initStep 1 -7.5 cm -9.05 mm 8.09 mm 65.5 MeV 0 eV 1.92 cm 1.92 cm World Transportation - 2 -6.61 cm -1.45 cm 1.3 cm 0 eV 0 eV 1.15 cm 3.07 cm Lead conv + 2 -6.5 cm -1.51 cm 1.35 cm 65.5 MeV 0 eV 1.29 cm 3.21 cm Lead Transportation + 3 -6 cm -1.82 cm 1.63 cm 65.5 MeV 0 eV 6.45 mm 3.86 cm liquidArgon Transportation + 4 -5.97 cm -1.84 cm 1.64 cm 0 eV 0 eV 400 um 3.9 cm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 69, Parent ID = 7 +* G4Track Information: Particle = e+, Track ID = 150, Parent ID = 7 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.61 cm -1.45 cm 1.3 cm 57.3 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.6 cm -1.45 cm 1.3 cm 52.7 MeV 67.7 keV 66.5 um 66.5 um Lead eBrem - 2 -6.58 cm -1.47 cm 1.31 cm 49.9 MeV 323 keV 296 um 362 um Lead eBrem - 3 -6.5 cm -1.53 cm 1.36 cm 48.6 MeV 1.24 MeV 1.14 mm 1.5 mm Lead Transportation - 4 -6.19 cm -1.66 cm 1.55 cm 30.5 MeV 805 keV 3.82 mm 5.32 mm liquidArgon eBrem - 5 -6 cm -1.73 cm 1.66 cm 30.1 MeV 399 keV 2.36 mm 7.68 mm liquidArgon Transportation - 6 -5.92 cm -1.76 cm 1.71 cm 21.4 MeV 1.65 MeV 986 um 8.67 mm Lead eIoni - 7 -5.91 cm -1.8 cm 1.73 cm 20.6 MeV 665 keV 412 um 9.08 mm Lead eBrem - 8 -5.91 cm -1.8 cm 1.73 cm 15.9 MeV 37.2 keV 24.3 um 9.11 mm Lead eBrem - 9 -5.9 cm -1.81 cm 1.74 cm 15.5 MeV 173 keV 118 um 9.23 mm Lead eBrem - 10 -5.9 cm -1.82 cm 1.74 cm 14.6 MeV 100 keV 103 um 9.33 mm Lead eBrem - 11 -5.88 cm -1.87 cm 1.76 cm 13.5 MeV 723 keV 581 um 9.91 mm Lead eBrem - 12 -5.89 cm -1.9 cm 1.78 cm 12.9 MeV 401 keV 399 um 1.03 cm Lead eBrem - 13 -5.88 cm -1.95 cm 1.81 cm 11.9 MeV 750 keV 648 um 1.1 cm Lead eBrem - 14 -5.64 cm -1.92 cm 1.75 cm 8.22 MeV 3.65 MeV 3.06 mm 1.4 cm Lead msc - 15 -5.64 cm -1.92 cm 1.75 cm 7.39 MeV 25.6 keV 22.5 um 1.4 cm Lead eBrem - 16 -5.67 cm -1.73 cm 1.75 cm 2.63 MeV 4.76 MeV 2.68 mm 1.67 cm Lead eIoni - 17 -5.71 cm -1.68 cm 1.74 cm 543 keV 2.09 MeV 1.66 mm 1.84 cm Lead eIoni - 18 -5.71 cm -1.68 cm 1.73 cm 0 eV 543 keV 340 um 1.87 cm Lead eIoni - 19 -5.71 cm -1.68 cm 1.73 cm 0 eV 0 eV 0 fm 1.87 cm Lead annihil + 0 -5.97 cm -1.84 cm 1.64 cm 55.6 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.94 cm -1.86 cm 1.66 cm 54.8 MeV 588 keV 409 um 409 um Lead eBrem + 2 -5.9 cm -1.89 cm 1.69 cm 49.9 MeV 1.07 MeV 600 um 1.01 mm Lead eBrem + 3 -5.87 cm -1.89 cm 1.72 cm 46.5 MeV 821 keV 411 um 1.42 mm Lead eBrem + 4 -5.86 cm -1.89 cm 1.72 cm 46.1 MeV 165 keV 101 um 1.52 mm Lead eBrem + 5 -5.82 cm -1.89 cm 1.75 cm 20.8 MeV 1.03 MeV 460 um 1.98 mm Lead eBrem + 6 -5.78 cm -1.9 cm 1.78 cm 18.5 MeV 532 keV 538 um 2.52 mm Lead eBrem + 7 -5.76 cm -1.9 cm 1.81 cm 17.7 MeV 432 keV 355 um 2.87 mm Lead eBrem + 8 -5.73 cm -1.91 cm 1.88 cm 8.02 MeV 876 keV 780 um 3.65 mm Lead eBrem + 9 -5.72 cm -1.83 cm 2.01 cm 5.45 MeV 2.12 MeV 1.88 mm 5.54 mm Lead eBrem + 10 -5.73 cm -1.83 cm 2.1 cm 2.06 MeV 1.9 MeV 1.08 mm 6.62 mm Lead eBrem + 11 -5.74 cm -1.81 cm 2.11 cm 310 keV 494 keV 312 um 6.93 mm Lead eBrem + 12 -5.74 cm -1.81 cm 2.11 cm 0 eV 310 keV 154 um 7.08 mm Lead eIoni + 13 -5.74 cm -1.81 cm 2.11 cm 0 eV 0 eV 0 fm 7.08 mm Lead annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 69 +* G4Track Information: Particle = gamma, Track ID = 163, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.71 cm -1.68 cm 1.73 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.43 cm -1.92 cm 1.98 cm 0 eV 88 keV 4.43 mm 4.43 mm Lead phot + 0 -5.74 cm -1.81 cm 2.11 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.75 cm -1.83 cm 2.08 cm 202 keV 0 eV 364 um 364 um Lead compt + 2 -5.75 cm -1.84 cm 2.1 cm 0 eV 88 keV 219 um 583 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 83 +* G4Track Information: Particle = e-, Track ID = 165, Parent ID = 163 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.43 cm -1.92 cm 1.98 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.43 cm -1.92 cm 1.98 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -5.75 cm -1.84 cm 2.1 cm 114 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.75 cm -1.84 cm 2.1 cm 0 eV 114 keV 34.2 um 34.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 82, Parent ID = 69 +* G4Track Information: Particle = e-, Track ID = 164, Parent ID = 163 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.71 cm -1.68 cm 1.73 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.74 cm -1.66 cm 1.71 cm 0 eV 88 keV 400 um 400 um Lead phot + 0 -5.75 cm -1.83 cm 2.08 cm 309 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.75 cm -1.83 cm 2.08 cm 0 eV 309 keV 157 um 157 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 82 +* G4Track Information: Particle = gamma, Track ID = 162, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.74 cm -1.66 cm 1.71 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.74 cm -1.66 cm 1.71 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -5.74 cm -1.81 cm 2.11 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.67 cm -1.68 cm 2.26 cm 0 eV 88 keV 2.07 mm 2.07 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 81, Parent ID = 69 +* G4Track Information: Particle = e-, Track ID = 166, Parent ID = 162 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.64 cm -1.92 cm 1.75 cm 805 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.18 cm -5.23 mm -270 um 555 keV 0 eV 2.31 cm 2.31 cm Lead compt - 2 -5.71 cm -1.77 mm -8.58 mm 535 keV 0 eV 1.04 cm 3.35 cm Lead compt - 3 -5.87 cm -1.47 mm -1.16 cm 0 eV 88 keV 3.44 mm 3.69 cm Lead phot + 0 -5.67 cm -1.68 cm 2.26 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.67 cm -1.68 cm 2.26 cm 0 eV 423 keV 246 um 246 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 81 +* G4Track Information: Particle = gamma, Track ID = 161, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.87 cm -1.47 mm -1.16 cm 447 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.87 cm -1.51 mm -1.16 cm 108 keV 224 keV 193 um 193 um Lead eBrem - 2 -5.87 cm -1.51 mm -1.16 cm 0 eV 108 keV 31.1 um 224 um Lead eIoni + 0 -5.74 cm -1.81 cm 2.11 cm 1.26 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6 cm -1.63 cm 2.15 cm 1.26 MeV 0 eV 3.16 mm 3.16 mm Lead Transportation + 2 -6.5 cm -1.3 cm 2.24 cm 1.26 MeV 0 eV 6.07 mm 9.23 mm liquidArgon Transportation + 3 -6.7 cm -1.16 cm 2.27 cm 320 keV 0 eV 2.48 mm 1.17 cm Lead compt + 4 -6.68 cm -1.14 cm 2.17 cm 0 eV 88 keV 1.1 mm 1.28 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 89, Parent ID = 88 +* G4Track Information: Particle = e-, Track ID = 168, Parent ID = 161 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.87 cm -1.51 mm -1.16 cm 116 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.87 cm -1.46 mm -1.15 cm 0 eV 88 keV 85.1 um 85.1 um Lead phot + 0 -6.68 cm -1.14 cm 2.17 cm 232 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.68 cm -1.14 cm 2.17 cm 0 eV 232 keV 103 um 103 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 89 +* G4Track Information: Particle = e-, Track ID = 167, Parent ID = 161 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.87 cm -1.46 mm -1.15 cm 28.1 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.87 cm -1.46 mm -1.15 cm 0 eV 28.1 keV 3.51 um 3.51 um Lead eIoni + 0 -6.7 cm -1.16 cm 2.27 cm 939 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.71 cm -1.16 cm 2.28 cm 0 eV 939 keV 688 um 688 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 81 +* G4Track Information: Particle = gamma, Track ID = 160, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.71 cm -1.77 mm -8.58 mm 19.9 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.71 cm -1.77 mm -8.58 mm 0 eV 19.9 keV 2.01 um 2.01 um Lead eIoni + 0 -5.73 cm -1.83 cm 2.1 cm 1.49 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.74 cm -9.85 mm 4.3 cm 237 keV 0 eV 2.35 cm 2.35 cm Lead compt + 2 -5.73 cm -1.07 cm 4.24 cm 0 eV 88 keV 1.04 mm 2.46 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 81 +* G4Track Information: Particle = e-, Track ID = 170, Parent ID = 160 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.18 cm -5.23 mm -270 um 250 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.18 cm -5.21 mm -267 um 117 keV 133 keV 92 um 92 um Lead eBrem - 2 -5.18 cm -5.21 mm -265 um 0 eV 117 keV 35.7 um 128 um Lead eIoni + 0 -5.73 cm -1.07 cm 4.24 cm 149 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.73 cm -1.07 cm 4.24 cm 0 eV 149 keV 52 um 52 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 69 +* G4Track Information: Particle = e-, Track ID = 169, Parent ID = 160 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.88 cm -1.95 cm 1.81 cm 252 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.83 cm -1.95 cm 1.84 cm 250 keV 0 eV 629 um 629 um Lead compt - 2 -5.78 cm -1.95 cm 1.86 cm 0 eV 88 keV 462 um 1.09 mm Lead phot + 0 -5.74 cm -9.85 mm 4.3 cm 1.25 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.74 cm -9.82 mm 4.31 cm 0 eV 1.25 MeV 963 um 963 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 80 +* G4Track Information: Particle = gamma, Track ID = 159, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.78 cm -1.95 cm 1.86 cm 162 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.78 cm -1.95 cm 1.86 cm 0 eV 162 keV 58.9 um 58.9 um Lead eIoni + 0 -5.72 cm -1.83 cm 2.01 cm 447 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.56 cm -1.98 cm 2.4 cm 0 eV 88 keV 4.44 mm 4.44 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 80 +* G4Track Information: Particle = e-, Track ID = 171, Parent ID = 159 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.83 cm -1.95 cm 1.84 cm 2.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.83 cm -1.95 cm 1.84 cm 0 eV 2.6 keV 105 nm 105 nm Lead eIoni + 0 -5.56 cm -1.98 cm 2.4 cm 359 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.56 cm -1.98 cm 2.4 cm 0 eV 359 keV 195 um 195 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 79, Parent ID = 69 +* G4Track Information: Particle = gamma, Track ID = 158, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.89 cm -1.9 cm 1.78 cm 181 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.89 cm -1.91 cm 1.78 cm 116 keV 0 eV 70.5 um 70.5 um Lead compt - 2 -5.88 cm -1.88 cm 1.79 cm 0 eV 88 keV 314 um 385 um Lead phot + 0 -5.73 cm -1.91 cm 1.88 cm 8.81 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -1.89 cm 3.49 cm 8.81 MeV 0 eV 1.76 cm 1.76 cm Lead Transportation + 2 -4.5 cm -1.88 cm 4.59 cm 8.81 MeV 0 eV 1.21 cm 2.98 cm liquidArgon Transportation + 3 -4.31 cm -1.88 cm 5 cm 8.81 MeV 0 eV 4.49 mm 3.43 cm Lead Transportation + 4 -3.86 cm -1.87 cm 6 cm 8.81 MeV 0 eV 1.1 cm 4.52 cm OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 79 +* G4Track Information: Particle = gamma, Track ID = 157, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.88 cm -1.88 cm 1.79 cm 28.4 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.88 cm -1.88 cm 1.79 cm 0 eV 28.4 keV 3.58 um 3.58 um Lead eIoni + 0 -5.76 cm -1.9 cm 1.81 cm 369 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.69 cm -1.9 cm 1.93 cm 307 keV 0 eV 1.4 mm 1.4 mm Lead compt + 2 -5.68 cm -1.9 cm 1.93 cm 215 keV 0 eV 64.2 um 1.46 mm Lead compt + 3 -5.68 cm -1.88 cm 1.95 cm 0 eV 88 keV 256 um 1.72 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 79 +* G4Track Information: Particle = e-, Track ID = 174, Parent ID = 157 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.89 cm -1.91 cm 1.78 cm 64.3 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.89 cm -1.91 cm 1.79 cm 0 eV 64.3 keV 13.5 um 13.5 um Lead eIoni + 0 -5.68 cm -1.88 cm 1.95 cm 127 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.68 cm -1.88 cm 1.95 cm 0 eV 127 keV 40.6 um 40.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 69 +* G4Track Information: Particle = e-, Track ID = 173, Parent ID = 157 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.88 cm -1.87 cm 1.76 cm 457 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.88 cm -1.93 cm 1.81 cm 0 eV 88 keV 777 um 777 um Lead phot + 0 -5.68 cm -1.9 cm 1.93 cm 91.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.68 cm -1.9 cm 1.93 cm 0 eV 91.4 keV 23.9 um 23.9 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 95, Parent ID = 78 +* G4Track Information: Particle = e-, Track ID = 172, Parent ID = 157 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.88 cm -1.93 cm 1.81 cm 369 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.88 cm -1.93 cm 1.81 cm 0 eV 369 keV 202 um 202 um Lead eIoni + 0 -5.69 cm -1.9 cm 1.93 cm 62.6 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.69 cm -1.9 cm 1.93 cm 0 eV 62.6 keV 12.9 um 12.9 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 69 +* G4Track Information: Particle = gamma, Track ID = 156, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.9 cm -1.82 cm 1.74 cm 777 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.77 cm -2.04 cm 1.86 cm 0 eV 88 keV 2.83 mm 2.83 mm Lead phot + 0 -5.78 cm -1.9 cm 1.78 cm 1.8 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.36 cm -2 cm 2.4 cm 1.08 MeV 0 eV 7.56 mm 7.56 mm Lead compt + 2 -5.32 cm -1.73 cm 4.42 cm 385 keV 0 eV 2.03 cm 2.79 cm Lead compt + 3 -5.23 cm -1.56 cm 4.42 cm 0 eV 88 keV 1.92 mm 2.98 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 77 +* G4Track Information: Particle = e-, Track ID = 177, Parent ID = 156 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.77 cm -2.04 cm 1.86 cm 689 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.77 cm -2.04 cm 1.86 cm 0 eV 689 keV 466 um 466 um Lead eIoni + 0 -5.23 cm -1.56 cm 4.42 cm 297 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.23 cm -1.56 cm 4.42 cm 0 eV 297 keV 149 um 149 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 69 +* G4Track Information: Particle = e-, Track ID = 176, Parent ID = 156 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.9 cm -1.81 cm 1.74 cm 256 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.83 cm -1.93 cm 1.8 cm 0 eV 88 keV 1.58 mm 1.58 mm Lead phot + 0 -5.32 cm -1.73 cm 4.42 cm 692 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.32 cm -1.73 cm 4.42 cm 0 eV 692 keV 472 um 472 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 76 +* G4Track Information: Particle = e-, Track ID = 175, Parent ID = 156 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.83 cm -1.93 cm 1.8 cm 168 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.83 cm -1.93 cm 1.8 cm 0 eV 168 keV 62.8 um 62.8 um Lead eIoni + 0 -5.36 cm -2 cm 2.4 cm 725 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.36 cm -2 cm 2.41 cm 169 keV 203 keV 166 um 166 um Lead eBrem + 2 -5.36 cm -2 cm 2.41 cm 0 eV 169 keV 63.3 um 229 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 75, Parent ID = 69 +* G4Track Information: Particle = gamma, Track ID = 178, Parent ID = 175 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.91 cm -1.8 cm 1.73 cm 4.67 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.38 cm -2.59 cm 2.12 cm 0 eV 0 eV 1.03 cm 1.03 cm Lead conv + 0 -5.36 cm -2 cm 2.41 cm 353 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6 cm -2.1 cm 2.68 cm 353 keV 0 eV 7.05 mm 7.05 mm Lead Transportation + 2 -6.5 cm -2.18 cm 2.88 cm 353 keV 0 eV 5.47 mm 1.25 cm liquidArgon Transportation + 3 -6.81 cm -2.23 cm 3.01 cm 220 keV 0 eV 3.43 mm 1.59 cm Lead compt + 4 -6.84 cm -2.25 cm 2.95 cm 0 eV 88 keV 681 um 1.66 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 99, Parent ID = 75 +* G4Track Information: Particle = e-, Track ID = 180, Parent ID = 178 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.38 cm -2.59 cm 2.12 cm 2.02 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.38 cm -2.61 cm 2.16 cm 594 keV 1.43 MeV 1.44 mm 1.44 mm Lead eIoni - 2 -5.38 cm -2.6 cm 2.16 cm 0 eV 594 keV 383 um 1.82 mm Lead eIoni - 3 -5.38 cm -2.6 cm 2.16 cm 0 eV 0 eV 0 fm 1.82 mm Lead annihil + 0 -6.84 cm -2.25 cm 2.95 cm 132 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.84 cm -2.25 cm 2.95 cm 0 eV 132 keV 43.1 um 43.1 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 101, Parent ID = 99 +* G4Track Information: Particle = e-, Track ID = 179, Parent ID = 178 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.38 cm -2.6 cm 2.16 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.23 cm -2.8 cm 2.14 cm 239 keV 0 eV 2.53 mm 2.53 mm Lead compt - 2 -5.34 cm -2.84 cm 2.01 cm 0 eV 88 keV 1.71 mm 4.24 mm Lead phot + 0 -6.81 cm -2.23 cm 3.01 cm 133 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.81 cm -2.23 cm 3.01 cm 0 eV 133 keV 43.8 um 43.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 103, Parent ID = 101 +* G4Track Information: Particle = gamma, Track ID = 155, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.34 cm -2.84 cm 2.01 cm 151 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.34 cm -2.84 cm 2.01 cm 0 eV 151 keV 53.2 um 53.2 um Lead eIoni + 0 -5.82 cm -1.89 cm 1.75 cm 24.2 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.61 cm -1.92 cm 1.95 cm 1.11 MeV 0 eV 2.94 mm 2.94 mm Lead compt + 2 -5.34 cm -1.8 cm 1.92 cm 820 keV 0 eV 2.93 mm 5.87 mm Lead compt + 3 -5.11 cm -1.82 cm 1.97 cm 328 keV 0 eV 2.32 mm 8.19 mm Lead compt + 4 -5.12 cm -1.74 cm 2.05 cm 0 eV 88 keV 1.15 mm 9.34 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 101 +* G4Track Information: Particle = e-, Track ID = 184, Parent ID = 155 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.23 cm -2.8 cm 2.14 cm 272 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.23 cm -2.8 cm 2.14 cm 0 eV 272 keV 130 um 130 um Lead eIoni + 0 -5.12 cm -1.74 cm 2.05 cm 240 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.12 cm -1.74 cm 2.05 cm 0 eV 240 keV 108 um 108 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 100, Parent ID = 99 +* G4Track Information: Particle = e-, Track ID = 183, Parent ID = 155 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.38 cm -2.6 cm 2.16 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.62 cm -2.3 cm 2.2 cm 261 keV 0 eV 3.88 mm 3.88 mm Lead compt - 2 -5.64 cm -2.31 cm 2.2 cm 0 eV 88 keV 238 um 4.12 mm Lead phot + 0 -5.11 cm -1.82 cm 1.97 cm 492 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.11 cm -1.82 cm 1.97 cm 0 eV 492 keV 302 um 302 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 100 +* G4Track Information: Particle = e-, Track ID = 182, Parent ID = 155 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.64 cm -2.31 cm 2.2 cm 173 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.64 cm -2.31 cm 2.2 cm 0 eV 173 keV 65.6 um 65.6 um Lead eIoni + 0 -5.34 cm -1.8 cm 1.92 cm 291 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.34 cm -1.8 cm 1.92 cm 0 eV 291 keV 144 um 144 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 104, Parent ID = 100 +* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 155 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.62 cm -2.3 cm 2.2 cm 250 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.62 cm -2.3 cm 2.2 cm 0 eV 250 keV 115 um 115 um Lead eIoni + 0 -5.61 cm -1.92 cm 1.95 cm 23.1 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.53 cm -1.92 cm 2.01 cm 20.2 MeV 1.39 MeV 972 um 972 um Lead eBrem + 2 -5.52 cm -1.92 cm 2.01 cm 18.3 MeV 144 keV 120 um 1.09 mm Lead eBrem + 3 -5.52 cm -1.92 cm 2.01 cm 17.4 MeV 2.81 keV 2.22 um 1.09 mm Lead eBrem + 4 -5.49 cm -1.92 cm 2.03 cm 14.3 MeV 366 keV 321 um 1.42 mm Lead eBrem + 5 -5.43 cm -1.93 cm 2.03 cm 13.3 MeV 807 keV 596 um 2.01 mm Lead eBrem + 6 -5.37 cm -1.93 cm 2.07 cm 8.96 MeV 704 keV 746 um 2.76 mm Lead eBrem + 7 -5.34 cm -1.9 cm 2.08 cm 6.87 MeV 542 keV 481 um 3.24 mm Lead eBrem + 8 -5.26 cm -1.89 cm 2.05 cm 3.75 MeV 1.22 MeV 1.07 mm 4.31 mm Lead eBrem + 9 -5.22 cm -1.92 cm 2 cm 1.4 MeV 1.36 MeV 1.22 mm 5.52 mm Lead eBrem + 10 -5.24 cm -1.92 cm 2 cm 178 keV 1.22 MeV 1.09 mm 6.61 mm Lead eIoni + 11 -5.24 cm -1.92 cm 2 cm 0 eV 178 keV 69.1 um 6.68 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 75 +* G4Track Information: Particle = gamma, Track ID = 193, Parent ID = 181 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.38 cm -2.59 cm 2.12 cm 1.62 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.36 cm -2.61 cm 2.1 cm 3.94 keV 1.62 MeV 1.23 mm 1.23 mm Lead eIoni - 2 -5.36 cm -2.61 cm 2.1 cm 0 eV 3.94 keV 186 nm 1.23 mm Lead eIoni + 0 -5.22 cm -1.92 cm 2 cm 983 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6 cm -2.78 cm 1.53 cm 983 keV 0 eV 1.26 cm 1.26 cm Lead Transportation + 2 -6.5 cm -3.33 cm 1.22 cm 983 keV 0 eV 8.03 mm 2.06 cm liquidArgon Transportation + 3 -6.91 cm -3.79 cm 9.71 mm 221 keV 0 eV 6.64 mm 2.72 cm Lead compt + 4 -6.83 cm -3.78 cm 1.01 cm 143 keV 0 eV 928 um 2.82 cm Lead compt + 5 -6.83 cm -3.8 cm 9.88 mm 124 keV 0 eV 340 um 2.85 cm Lead compt + 6 -6.8 cm -3.84 cm 1.01 cm 0 eV 88 keV 518 um 2.9 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 74, Parent ID = 69 +* G4Track Information: Particle = e-, Track ID = 197, Parent ID = 193 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.91 cm -1.8 cm 1.73 cm 111 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.91 cm -1.8 cm 1.73 cm 0 eV 88 keV 18.5 um 18.5 um Lead phot + 0 -6.8 cm -3.84 cm 1.01 cm 35.6 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.8 cm -3.84 cm 1.01 cm 0 eV 35.6 keV 5.15 um 5.15 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 74 +* G4Track Information: Particle = e-, Track ID = 196, Parent ID = 193 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.91 cm -1.8 cm 1.73 cm 22.9 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.91 cm -1.8 cm 1.73 cm 0 eV 22.9 keV 2.54 um 2.54 um Lead eIoni + 0 -6.83 cm -3.8 cm 9.88 mm 19.8 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.83 cm -3.8 cm 9.88 mm 0 eV 19.8 keV 2.01 um 2.01 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 69 +* G4Track Information: Particle = e-, Track ID = 195, Parent ID = 193 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.92 cm -1.76 cm 1.71 cm 7.01 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.92 cm -1.77 cm 1.73 cm 6.66 MeV 347 keV 194 um 194 um Lead msc - 2 -5.93 cm -1.78 cm 1.74 cm 6.47 MeV 197 keV 194 um 388 um Lead msc - 3 -5.93 cm -1.8 cm 1.74 cm 6.18 MeV 283 keV 194 um 581 um Lead msc - 4 -5.94 cm -1.81 cm 1.74 cm 5.96 MeV 224 keV 194 um 775 um Lead msc - 5 -5.95 cm -1.83 cm 1.74 cm 5.76 MeV 198 keV 194 um 969 um Lead msc - 6 -5.97 cm -1.84 cm 1.73 cm 5.5 MeV 265 keV 194 um 1.16 mm Lead msc - 7 -5.97 cm -1.85 cm 1.72 cm 5.35 MeV 148 keV 194 um 1.36 mm Lead msc - 8 -5.97 cm -1.87 cm 1.71 cm 5.17 MeV 182 keV 194 um 1.55 mm Lead msc - 9 -5.97 cm -1.87 cm 1.71 cm 4.92 MeV 54 keV 53 um 1.6 mm Lead eBrem - 10 -5.97 cm -1.88 cm 1.69 cm 4.77 MeV 142 keV 194 um 1.8 mm Lead msc - 11 -5.96 cm -1.89 cm 1.68 cm 4.61 MeV 170 keV 194 um 1.99 mm Lead msc - 12 -5.94 cm -1.88 cm 1.67 cm 4.36 MeV 245 keV 194 um 2.19 mm Lead msc - 13 -5.93 cm -1.88 cm 1.67 cm 4.21 MeV 153 keV 194 um 2.38 mm Lead msc - 14 -5.93 cm -1.87 cm 1.68 cm 4.03 MeV 178 keV 194 um 2.57 mm Lead msc - 15 -5.95 cm -1.87 cm 1.69 cm 3.86 MeV 174 keV 194 um 2.77 mm Lead msc - 16 -5.96 cm -1.87 cm 1.7 cm 3.65 MeV 204 keV 194 um 2.96 mm Lead msc - 17 -5.97 cm -1.87 cm 1.71 cm 2.53 MeV 161 keV 160 um 3.12 mm Lead eBrem - 18 -5.97 cm -1.86 cm 1.71 cm 2.33 MeV 15.1 keV 14.8 um 3.14 mm Lead eBrem - 19 -5.99 cm -1.86 cm 1.71 cm 2.12 MeV 211 keV 194 um 3.33 mm Lead msc - 20 -5.98 cm -1.84 cm 1.71 cm 1.92 MeV 200 keV 194 um 3.52 mm Lead msc - 21 -5.98 cm -1.84 cm 1.71 cm 1.5 MeV 40.3 keV 27.2 um 3.55 mm Lead eBrem - 22 -5.98 cm -1.84 cm 1.72 cm 1.26 MeV 237 keV 194 um 3.74 mm Lead msc - 23 -5.98 cm -1.85 cm 1.73 cm 1.1 MeV 166 keV 194 um 3.94 mm Lead msc - 24 -5.99 cm -1.84 cm 1.74 cm 903 keV 196 keV 194 um 4.13 mm Lead msc - 25 -5.98 cm -1.84 cm 1.74 cm 709 keV 193 keV 194 um 4.33 mm Lead msc - 26 -5.97 cm -1.84 cm 1.74 cm 518 keV 191 keV 194 um 4.52 mm Lead msc - 27 -5.98 cm -1.84 cm 1.74 cm 257 keV 261 keV 194 um 4.71 mm Lead msc - 28 -5.98 cm -1.84 cm 1.74 cm 0 eV 257 keV 120 um 4.83 mm Lead eIoni + 0 -6.83 cm -3.78 cm 1.01 cm 77.5 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.83 cm -3.78 cm 1.01 cm 0 eV 77.5 keV 18.3 um 18.3 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 110, Parent ID = 73 +* G4Track Information: Particle = e-, Track ID = 194, Parent ID = 193 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.98 cm -1.84 cm 1.71 cm 381 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.08 cm -2.23 cm 2.32 cm 0 eV 88 keV 1.16 cm 1.16 cm Lead phot + 0 -6.91 cm -3.79 cm 9.71 mm 762 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.92 cm -3.79 cm 9.69 mm 0 eV 762 keV 533 um 533 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 110 +* G4Track Information: Particle = gamma, Track ID = 192, Parent ID = 181 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.08 cm -2.23 cm 2.32 cm 293 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.08 cm -2.23 cm 2.32 cm 0 eV 293 keV 145 um 145 um Lead eIoni + 0 -5.26 cm -1.89 cm 2.05 cm 1.9 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.16 cm -1.95 cm 2.08 cm 268 keV 0 eV 1.24 mm 1.24 mm Lead compt + 2 -5.39 cm -1.52 cm 2.33 cm 164 keV 0 eV 5.49 mm 6.73 mm Lead compt + 3 -5.39 cm -1.55 cm 2.36 cm 0 eV 88 keV 393 um 7.12 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 109, Parent ID = 73 +* G4Track Information: Particle = e-, Track ID = 200, Parent ID = 192 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.97 cm -1.86 cm 1.71 cm 178 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.99 cm -1.86 cm 1.72 cm 0 eV 88 keV 206 um 206 um Lead phot + 0 -5.39 cm -1.55 cm 2.36 cm 76.3 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.39 cm -1.55 cm 2.36 cm 0 eV 76.3 keV 17.8 um 17.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 109 +* G4Track Information: Particle = e-, Track ID = 199, Parent ID = 192 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.99 cm -1.86 cm 1.72 cm 90.4 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.99 cm -1.86 cm 1.72 cm 0 eV 90.4 keV 23.5 um 23.5 um Lead eIoni + 0 -5.39 cm -1.52 cm 2.33 cm 104 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.39 cm -1.52 cm 2.33 cm 0 eV 104 keV 29.3 um 29.3 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 108, Parent ID = 73 +* G4Track Information: Particle = e-, Track ID = 198, Parent ID = 192 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.97 cm -1.87 cm 1.71 cm 963 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6 cm -1.85 cm 1.72 cm 963 keV 0 eV 343 um 343 um Lead Transportation - 2 -6.5 cm -1.62 cm 2.02 cm 963 keV 0 eV 6.24 mm 6.59 mm liquidArgon Transportation - 3 -6.55 cm -1.6 cm 2.05 cm 453 keV 0 eV 617 um 7.2 mm Lead compt - 4 -6.6 cm -1.72 cm 2.29 cm 0 eV 88 keV 2.72 mm 9.93 mm Lead phot + 0 -5.16 cm -1.95 cm 2.08 cm 1.63 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.14 cm -1.95 cm 2.07 cm 244 keV 1.39 MeV 1.24 mm 1.24 mm Lead eIoni + 2 -5.14 cm -1.95 cm 2.07 cm 0 eV 244 keV 111 um 1.35 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 114, Parent ID = 108 +* G4Track Information: Particle = gamma, Track ID = 191, Parent ID = 181 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.6 cm -1.72 cm 2.29 cm 365 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.6 cm -1.72 cm 2.29 cm 0 eV 365 keV 199 um 199 um Lead eIoni + 0 -5.34 cm -1.9 cm 2.08 cm 1.55 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.08 cm -1.9 cm 2.15 cm 0 eV 88 keV 2.7 mm 2.7 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 108 +* G4Track Information: Particle = e-, Track ID = 201, Parent ID = 191 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.55 cm -1.6 cm 2.05 cm 510 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.55 cm -1.6 cm 2.05 cm 0 eV 510 keV 315 um 315 um Lead eIoni + 0 -5.08 cm -1.9 cm 2.15 cm 1.46 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.07 cm -1.92 cm 2.15 cm 1.19 MeV 273 keV 231 um 231 um Lead msc + 2 -5.06 cm -1.92 cm 2.15 cm 984 keV 206 keV 167 um 398 um Lead msc + 3 -5.05 cm -1.93 cm 2.16 cm 851 keV 134 keV 163 um 561 um Lead msc + 4 -5.06 cm -1.93 cm 2.16 cm 679 keV 172 keV 142 um 703 um Lead msc + 5 -5.07 cm -1.94 cm 2.16 cm 534 keV 145 keV 129 um 831 um Lead msc + 6 -5.07 cm -1.94 cm 2.16 cm 0 eV 534 keV 337 um 1.17 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 107, Parent ID = 73 +* G4Track Information: Particle = gamma, Track ID = 190, Parent ID = 181 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.97 cm -1.87 cm 1.71 cm 197 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.99 cm -1.95 cm 1.7 cm 179 keV 0 eV 790 um 790 um Lead compt - 2 -6 cm -1.96 cm 1.72 cm 179 keV 0 eV 243 um 1.03 mm Lead Transportation - 3 -6.5 cm -2.97 cm 2.6 cm 179 keV 0 eV 1.43 cm 1.53 cm liquidArgon Transportation - 4 -6.51 cm -2.99 cm 2.62 cm 0 eV 88 keV 306 um 1.56 cm Lead phot + 0 -5.37 cm -1.93 cm 2.07 cm 3.67 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -1.79 cm 2.13 cm 3.67 MeV 0 eV 4.03 mm 4.03 mm Lead Transportation + 2 -4.5 cm -1.61 cm 2.22 cm 3.67 MeV 0 eV 5.39 mm 9.42 mm liquidArgon Transportation + 3 -3.5 cm -1.24 cm 2.38 cm 3.67 MeV 0 eV 1.08 cm 2.02 cm Lead Transportation + 4 -3 cm -1.06 cm 2.47 cm 3.67 MeV 0 eV 5.39 mm 2.56 cm liquidArgon Transportation + 5 -2.06 cm -7.12 mm 2.63 cm 263 keV 0 eV 1.01 cm 3.57 cm Lead compt + 6 -2.12 cm -7.85 mm 2.65 cm 245 keV 0 eV 967 um 3.67 cm Lead compt + 7 -2.18 cm -8.18 mm 2.69 cm 0 eV 88 keV 836 um 3.75 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 116, Parent ID = 107 +* G4Track Information: Particle = e-, Track ID = 204, Parent ID = 190 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.51 cm -2.99 cm 2.62 cm 91.1 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.51 cm -2.99 cm 2.61 cm 0 eV 91.1 keV 23.8 um 23.8 um Lead eIoni + 0 -2.18 cm -8.18 mm 2.69 cm 157 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.18 cm -8.18 mm 2.69 cm 0 eV 157 keV 56.7 um 56.7 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 115, Parent ID = 107 +* G4Track Information: Particle = e-, Track ID = 203, Parent ID = 190 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.99 cm -1.95 cm 1.7 cm 17.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.99 cm -1.95 cm 1.7 cm 0 eV 17.6 keV 1.67 um 1.67 um Lead eIoni + 0 -2.12 cm -7.85 mm 2.65 cm 17.8 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.12 cm -7.85 mm 2.65 cm 0 eV 17.8 keV 1.69 um 1.69 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 72, Parent ID = 69 +* G4Track Information: Particle = e-, Track ID = 202, Parent ID = 190 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.19 cm -1.66 cm 1.55 cm 17.3 MeV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -6 cm -1.73 cm 1.67 cm 17.3 MeV 0 eV 2.41 mm 2.41 mm liquidArgon Transportation - 2 -5 cm -2.12 cm 2.33 cm 17.3 MeV 0 eV 1.26 cm 1.5 cm Lead Transportation - 3 -4.5 cm -2.31 cm 2.65 cm 17.3 MeV 0 eV 6.29 mm 2.13 cm liquidArgon Transportation - 4 -3.5 cm -2.7 cm 3.31 cm 17.3 MeV 0 eV 1.26 cm 3.38 cm Lead Transportation - 5 -3 cm -2.9 cm 3.64 cm 17.3 MeV 0 eV 6.29 mm 4.01 cm liquidArgon Transportation - 6 -2.14 cm -3.23 cm 4.2 cm 0 eV 0 eV 1.08 cm 5.09 cm Lead conv + 0 -2.06 cm -7.12 mm 2.63 cm 3.4 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -2.05 cm -7.05 mm 2.62 cm 3.15 MeV 255 keV 177 um 177 um Lead msc + 2 -2.04 cm -7.03 mm 2.61 cm 3.07 MeV 81.2 keV 112 um 290 um Lead msc + 3 -2.03 cm -7.09 mm 2.61 cm 2.95 MeV 120 keV 111 um 401 um Lead msc + 4 -2.02 cm -7.13 mm 2.6 cm 2.86 MeV 88.7 keV 111 um 512 um Lead msc + 5 -2.02 cm -7.08 mm 2.6 cm 2.77 MeV 91.6 keV 111 um 623 um Lead msc + 6 -2.01 cm -7.03 mm 2.59 cm 2.65 MeV 115 keV 111 um 734 um Lead msc + 7 -2.01 cm -6.93 mm 2.59 cm 1.43 MeV 1.22 MeV 111 um 846 um Lead msc + 8 -2 cm -6.87 mm 2.59 cm 1.34 MeV 89.5 keV 111 um 957 um Lead msc + 9 -2 cm -6.89 mm 2.59 cm 1.3 MeV 46.7 keV 67.1 um 1.02 mm Lead Transportation + 10 -1.97 cm -7.09 mm 2.6 cm 1.23 MeV 68.6 keV 373 um 1.4 mm liquidArgon msc + 11 -1.93 cm -7.12 mm 2.59 cm 1.17 MeV 55 keV 373 um 1.77 mm liquidArgon msc + 12 -1.91 cm -7.29 mm 2.61 cm 1.11 MeV 64.9 keV 373 um 2.14 mm liquidArgon msc + 13 -1.88 cm -7.45 mm 2.62 cm 1.06 MeV 51.8 keV 373 um 2.52 mm liquidArgon msc + 14 -1.86 cm -7.75 mm 2.62 cm 961 keV 94.8 keV 373 um 2.89 mm liquidArgon msc + 15 -1.84 cm -8.04 mm 2.63 cm 913 keV 48 keV 373 um 3.26 mm liquidArgon msc + 16 -1.81 cm -8.3 mm 2.63 cm 862 keV 51.2 keV 373 um 3.63 mm liquidArgon msc + 17 -1.78 cm -8.47 mm 2.62 cm 814 keV 47.3 keV 373 um 4.01 mm liquidArgon msc + 18 -1.76 cm -8.77 mm 2.63 cm 743 keV 71.3 keV 420 um 4.43 mm liquidArgon msc + 19 -1.74 cm -9.18 mm 2.63 cm 652 keV 90.9 keV 491 um 4.92 mm liquidArgon msc + 20 -1.72 cm -9.62 mm 2.62 cm 547 keV 105 keV 534 um 5.45 mm liquidArgon msc + 21 -1.69 cm -9.87 mm 2.6 cm 463 keV 84 keV 532 um 5.98 mm liquidArgon msc + 22 -1.62 cm -9.74 mm 2.59 cm 151 keV 312 keV 1.41 mm 7.4 mm liquidArgon eIoni + 23 -1.61 cm -9.69 mm 2.59 cm 0 eV 151 keV 290 um 7.69 mm liquidArgon eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 118, Parent ID = 72 +* G4Track Information: Particle = gamma, Track ID = 189, Parent ID = 181 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.14 cm -3.23 cm 4.2 cm 7.55 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2.13 cm -3.25 cm 4.22 cm 7.13 MeV 421 keV 359 um 359 um Lead msc - 2 -2.14 cm -3.26 cm 4.25 cm 6.79 MeV 341 keV 359 um 718 um Lead msc - 3 -2.14 cm -3.26 cm 4.26 cm 6.51 MeV 29.5 keV 33.4 um 751 um Lead eBrem - 4 -2.15 cm -3.28 cm 4.28 cm 6.15 MeV 364 keV 359 um 1.11 mm Lead msc - 5 -2.16 cm -3.28 cm 4.31 cm 5.73 MeV 419 keV 359 um 1.47 mm Lead msc - 6 -2.17 cm -3.29 cm 4.33 cm 4.26 MeV 225 keV 215 um 1.68 mm Lead eBrem - 7 -2.16 cm -3.3 cm 4.34 cm 3.37 MeV 294 keV 167 um 1.85 mm Lead eBrem - 8 -2.16 cm -3.29 cm 4.37 cm 3.05 MeV 323 keV 363 um 2.22 mm Lead msc - 9 -2.19 cm -3.26 cm 4.37 cm 2.66 MeV 384 keV 363 um 2.58 mm Lead msc - 10 -2.21 cm -3.25 cm 4.36 cm 2.32 MeV 349 keV 363 um 2.94 mm Lead msc - 11 -2.21 cm -3.22 cm 4.37 cm 302 keV 288 keV 325 um 3.27 mm Lead eBrem - 12 -2.2 cm -3.22 cm 4.37 cm 0 eV 302 keV 147 um 3.41 mm Lead eIoni - 13 -2.2 cm -3.22 cm 4.37 cm 0 eV 0 eV 0 fm 3.41 mm Lead annihil + 0 -5.43 cm -1.93 cm 2.03 cm 139 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.41 cm -1.94 cm 2.04 cm 0 eV 88 keV 311 um 311 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 124, Parent ID = 118 +* G4Track Information: Particle = e-, Track ID = 205, Parent ID = 189 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.2 cm -3.22 cm 4.37 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.15 cm -3 cm 3.68 cm 0 eV 88 keV 7.3 mm 7.3 mm Lead phot + 0 -5.41 cm -1.94 cm 2.04 cm 51.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.41 cm -1.94 cm 2.04 cm 0 eV 51.2 keV 9.29 um 9.29 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 124 +* G4Track Information: Particle = gamma, Track ID = 188, Parent ID = 181 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.15 cm -3 cm 3.68 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.15 cm -3 cm 3.68 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -5.49 cm -1.92 cm 2.03 cm 2.8 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -1.93 cm 2.18 cm 2.8 MeV 0 eV 5.14 mm 5.14 mm Lead Transportation + 2 -4.5 cm -1.94 cm 2.34 cm 2.8 MeV 0 eV 5.25 mm 1.04 cm liquidArgon Transportation + 3 -4.13 cm -1.94 cm 2.46 cm 1.2 MeV 0 eV 3.9 mm 1.43 cm Lead compt + 4 -3.67 cm -2.13 cm 3.18 cm 1.08 MeV 0 eV 8.74 mm 2.3 cm Lead compt + 5 -3.54 cm -2.2 cm 3.29 cm 0 eV 88 keV 1.87 mm 2.49 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 123, Parent ID = 118 +* G4Track Information: Particle = e-, Track ID = 208, Parent ID = 188 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.2 cm -3.22 cm 4.37 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.23 cm -3.33 cm 4.7 cm 292 keV 0 eV 3.45 mm 3.45 mm Lead compt - 2 -2.22 cm -3.37 cm 4.7 cm 0 eV 88 keV 454 um 3.9 mm Lead phot + 0 -3.54 cm -2.2 cm 3.29 cm 991 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.54 cm -2.21 cm 3.3 cm 890 keV 101 keV 119 um 119 um Lead msc + 2 -3.54 cm -2.21 cm 3.3 cm 811 keV 79.4 keV 85 um 204 um Lead msc + 3 -3.55 cm -2.2 cm 3.3 cm 732 keV 78.9 keV 88.8 um 292 um Lead msc + 4 -3.55 cm -2.2 cm 3.31 cm 657 keV 75 keV 101 um 393 um Lead msc + 5 -3.54 cm -2.2 cm 3.31 cm 551 keV 106 keV 111 um 504 um Lead msc + 6 -3.54 cm -2.2 cm 3.31 cm 157 keV 251 keV 210 um 714 um Lead eBrem + 7 -3.54 cm -2.2 cm 3.31 cm 0 eV 157 keV 56.8 um 771 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 123 +* G4Track Information: Particle = gamma, Track ID = 209, Parent ID = 208 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.22 cm -3.37 cm 4.7 cm 204 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.22 cm -3.37 cm 4.7 cm 0 eV 204 keV 84.6 um 84.6 um Lead eIoni + 0 -3.54 cm -2.2 cm 3.31 cm 142 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.54 cm -2.19 cm 3.32 cm 0 eV 88 keV 53.7 um 53.7 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 123 +* G4Track Information: Particle = e-, Track ID = 210, Parent ID = 209 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.23 cm -3.33 cm 4.7 cm 219 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.23 cm -3.33 cm 4.7 cm 0 eV 219 keV 94 um 94 um Lead eIoni + 0 -3.54 cm -2.19 cm 3.32 cm 54.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.54 cm -2.19 cm 3.32 cm 0 eV 54.1 keV 10.2 um 10.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 122, Parent ID = 118 +* G4Track Information: Particle = e-, Track ID = 207, Parent ID = 188 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.21 cm -3.22 cm 4.37 cm 1.73 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2 cm -3.14 cm 4.23 cm 1.73 MeV 0 eV 2.61 mm 2.61 mm Lead Transportation - 2 -1.5 cm -2.94 cm 3.9 cm 1.73 MeV 0 eV 6.36 mm 8.97 mm liquidArgon Transportation - 3 -1.09 cm -2.77 cm 3.62 cm 0 eV 0 eV 5.24 mm 1.42 cm Lead conv + 0 -3.67 cm -2.13 cm 3.18 cm 124 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.67 cm -2.13 cm 3.18 cm 0 eV 124 keV 39 um 39 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 129, Parent ID = 122 +* G4Track Information: Particle = e-, Track ID = 206, Parent ID = 188 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.09 cm -2.77 cm 3.62 cm 492 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.09 cm -2.77 cm 3.62 cm 0 eV 492 keV 296 um 296 um Lead eIoni - 2 -1.09 cm -2.77 cm 3.62 cm 0 eV 0 eV 0 fm 296 um Lead annihil + 0 -4.13 cm -1.94 cm 2.46 cm 1.6 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.12 cm -1.92 cm 2.46 cm 862 keV 486 keV 433 um 433 um Lead eBrem + 2 -4.12 cm -1.92 cm 2.46 cm 0 eV 862 keV 620 um 1.05 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 131, Parent ID = 129 +* G4Track Information: Particle = gamma, Track ID = 211, Parent ID = 206 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.09 cm -2.77 cm 3.62 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.46 mm -2.77 cm 3.34 cm 218 keV 0 eV 4.39 mm 4.39 mm Lead compt - 2 -7.72 mm -2.83 cm 3.34 cm 0 eV 88 keV 612 um 5.01 mm Lead phot + 0 -4.12 cm -1.92 cm 2.46 cm 250 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.24 cm -2.12 cm 2.48 cm 165 keV 0 eV 2.38 mm 2.38 mm Lead compt + 2 -4.1 cm -2.2 cm 2.45 cm 155 keV 0 eV 1.67 mm 4.05 mm Lead compt + 3 -4.1 cm -2.21 cm 2.45 cm 144 keV 0 eV 33.5 um 4.09 mm Lead compt + 4 -4.07 cm -2.21 cm 2.45 cm 0 eV 88 keV 269 um 4.35 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 131 +* G4Track Information: Particle = e-, Track ID = 215, Parent ID = 211 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.72 mm -2.83 cm 3.34 cm 130 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.72 mm -2.83 cm 3.34 cm 0 eV 130 keV 41.9 um 41.9 um Lead eIoni + 0 -4.07 cm -2.21 cm 2.45 cm 56.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.07 cm -2.21 cm 2.45 cm 0 eV 56.4 keV 10.9 um 10.9 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 131 +* G4Track Information: Particle = e-, Track ID = 214, Parent ID = 211 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.46 mm -2.77 cm 3.34 cm 293 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.45 mm -2.77 cm 3.34 cm 0 eV 293 keV 145 um 145 um Lead eIoni + 0 -4.1 cm -2.21 cm 2.45 cm 10.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.1 cm -2.21 cm 2.45 cm 0 eV 10.4 keV 741 nm 741 nm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 130, Parent ID = 129 +* G4Track Information: Particle = e-, Track ID = 213, Parent ID = 211 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.09 cm -2.77 cm 3.62 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.5 cm -2.77 cm 3.96 cm 511 keV 0 eV 5.37 mm 5.37 mm Lead Transportation - 2 -2 cm -2.77 cm 4.37 cm 511 keV 0 eV 6.47 mm 1.18 cm liquidArgon Transportation - 3 -2.22 cm -2.76 cm 4.55 cm 0 eV 88 keV 2.88 mm 1.47 cm Lead phot + 0 -4.1 cm -2.2 cm 2.45 cm 10.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.1 cm -2.2 cm 2.45 cm 0 eV 10.1 keV 712 nm 712 nm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 130 +* G4Track Information: Particle = e-, Track ID = 212, Parent ID = 211 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.22 cm -2.76 cm 4.55 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.22 cm -2.76 cm 4.55 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -4.24 cm -2.12 cm 2.48 cm 84.9 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.24 cm -2.12 cm 2.48 cm 0 eV 84.9 keV 21.2 um 21.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 122 +* G4Track Information: Particle = gamma, Track ID = 187, Parent ID = 181 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.09 cm -2.77 cm 3.62 cm 211 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.09 cm -2.77 cm 3.62 cm 0 eV 211 keV 89.3 um 89.3 um Lead eIoni + 0 -5.52 cm -1.92 cm 2.01 cm 839 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -1.91 cm 2.27 cm 839 keV 0 eV 5.8 mm 5.8 mm Lead Transportation + 2 -4.5 cm -1.9 cm 2.53 cm 839 keV 0 eV 5.6 mm 1.14 cm liquidArgon Transportation + 3 -3.5 cm -1.89 cm 3.03 cm 839 keV 0 eV 1.12 cm 2.26 cm Lead Transportation + 4 -3 cm -1.88 cm 3.28 cm 839 keV 0 eV 5.6 mm 2.82 cm liquidArgon Transportation + 5 -2.01 cm -1.87 cm 3.79 cm 670 keV 0 eV 1.11 cm 3.93 cm Lead compt + 6 -2 cm -1.88 cm 3.79 cm 670 keV 0 eV 114 um 3.94 cm Lead Transportation + 7 -1.5 cm -2.23 cm 4.11 cm 670 keV 0 eV 6.92 mm 4.64 cm liquidArgon Transportation + 8 -5 mm -2.95 cm 4.74 cm 670 keV 0 eV 1.38 cm 6.02 cm Lead Transportation + 9 -952 um -3.24 cm 5 cm 670 keV 0 eV 5.6 mm 6.58 cm liquidArgon Transportation + 10 1.48 cm -4.36 cm 6 cm 670 keV 0 eV 2.18 cm 8.76 cm OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 118 +* G4Track Information: Particle = e-, Track ID = 216, Parent ID = 187 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.16 cm -3.3 cm 4.34 cm 591 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.23 cm -3.61 cm 5 cm 591 keV 0 eV 7.31 mm 7.31 mm Lead Transportation - 2 -2.34 cm -4.09 cm 6 cm 591 keV 0 eV 1.11 cm 1.84 cm OutOfWorld Transportation + 0 -2.01 cm -1.87 cm 3.79 cm 169 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.01 cm -1.87 cm 3.79 cm 0 eV 169 keV 63.7 um 63.7 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 118 +* G4Track Information: Particle = gamma, Track ID = 186, Parent ID = 181 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.17 cm -3.29 cm 4.33 cm 1.25 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2 cm -3.65 cm 4.72 cm 1.25 MeV 0 eV 5.59 mm 5.59 mm Lead Transportation - 2 -1.88 cm -3.91 cm 5 cm 1.25 MeV 0 eV 3.93 mm 9.52 mm liquidArgon Transportation - 3 -1.46 cm -4.82 cm 6 cm 1.25 MeV 0 eV 1.42 cm 2.37 cm OutOfWorld Transportation + 0 -5.52 cm -1.92 cm 2.01 cm 1.81 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -1.89 cm 2.23 cm 1.81 MeV 0 eV 5.61 mm 5.61 mm Lead Transportation + 2 -4.5 cm -1.87 cm 2.43 cm 1.81 MeV 0 eV 5.42 mm 1.1 cm liquidArgon Transportation + 3 -3.5 cm -1.81 cm 2.85 cm 1.81 MeV 0 eV 1.08 cm 2.19 cm Lead Transportation + 4 -3 cm -1.79 cm 3.05 cm 1.81 MeV 0 eV 5.42 mm 2.73 cm liquidArgon Transportation + 5 -2 cm -1.74 cm 3.47 cm 1.81 MeV 0 eV 1.08 cm 3.81 cm Lead Transportation + 6 -1.5 cm -1.71 cm 3.67 cm 1.81 MeV 0 eV 5.42 mm 4.35 cm liquidArgon Transportation + 7 -5 mm -1.66 cm 4.09 cm 1.81 MeV 0 eV 1.08 cm 5.44 cm Lead Transportation + 8 0.000328 fm -1.64 cm 4.29 cm 1.81 MeV 0 eV 5.42 mm 5.98 cm liquidArgon Transportation + 9 1.05 mm -1.63 cm 4.34 cm 0 eV 88 keV 1.14 mm 6.09 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 119, Parent ID = 118 +* G4Track Information: Particle = e-, Track ID = 217, Parent ID = 186 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.14 cm -3.26 cm 4.26 cm 247 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.17 cm -3.35 cm 4.42 cm 0 eV 88 keV 1.87 mm 1.87 mm Lead phot + 0 1.05 mm -1.63 cm 4.34 cm 1.72 MeV 0 eV 0 fm 0 fm Lead initStep + 1 1.21 mm -1.64 cm 4.33 cm 1.35 MeV 369 keV 316 um 316 um Lead msc + 2 1.15 mm -1.64 cm 4.32 cm 1.09 MeV 265 keV 232 um 548 um Lead msc + 3 1.1 mm -1.64 cm 4.32 cm 0 eV 1.09 MeV 820 um 1.37 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 119 +* G4Track Information: Particle = gamma, Track ID = 185, Parent ID = 181 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.17 cm -3.35 cm 4.42 cm 159 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.17 cm -3.35 cm 4.42 cm 0 eV 159 keV 57.2 um 57.2 um Lead eIoni + 0 -5.53 cm -1.92 cm 2.01 cm 1.44 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -1.89 cm 2.29 cm 1.44 MeV 0 eV 5.99 mm 5.99 mm Lead Transportation + 2 -4.5 cm -1.87 cm 2.55 cm 1.44 MeV 0 eV 5.66 mm 1.16 cm liquidArgon Transportation + 3 -4.14 cm -1.85 cm 2.74 cm 0 eV 88 keV 4.04 mm 1.57 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 72 +* G4Track Information: Particle = e-, Track ID = 218, Parent ID = 185 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.14 cm -3.23 cm 4.2 cm 8.78 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2.13 cm -3.24 cm 4.22 cm 5.95 MeV 273 keV 256 um 256 um Lead eBrem - 2 -2.12 cm -3.24 cm 4.25 cm 5.53 MeV 416 keV 359 um 615 um Lead msc - 3 -2.12 cm -3.22 cm 4.27 cm 5.12 MeV 409 keV 359 um 974 um Lead msc - 4 -2.15 cm -3.22 cm 4.29 cm 4.53 MeV 589 keV 359 um 1.33 mm Lead msc - 5 -2.16 cm -3.19 cm 4.28 cm 4.06 MeV 475 keV 359 um 1.69 mm Lead msc - 6 -2.17 cm -3.18 cm 4.28 cm 3.58 MeV 123 keV 127 um 1.82 mm Lead eBrem - 7 -2.2 cm -3.18 cm 4.3 cm 3.12 MeV 454 keV 370 um 2.19 mm Lead msc - 8 -2.21 cm -3.17 cm 4.3 cm 2.76 MeV 224 keV 179 um 2.37 mm Lead eBrem - 9 -2.24 cm -3.18 cm 4.29 cm 2.32 MeV 440 keV 439 um 2.81 mm Lead msc - 10 -2.27 cm -3.18 cm 4.3 cm 1.87 MeV 457 keV 439 um 3.25 mm Lead msc - 11 -2.3 cm -3.17 cm 4.31 cm 418 keV 1.45 MeV 1.35 mm 4.6 mm Lead eIoni - 12 -2.3 cm -3.17 cm 4.31 cm 0 eV 418 keV 241 um 4.84 mm Lead eIoni + 0 -4.14 cm -1.85 cm 2.74 cm 1.35 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.15 cm -1.86 cm 2.76 cm 583 keV 450 keV 413 um 413 um Lead eBrem + 2 -4.15 cm -1.87 cm 2.76 cm 189 keV 230 keV 206 um 619 um Lead eBrem + 3 -4.15 cm -1.87 cm 2.76 cm 0 eV 189 keV 75.2 um 695 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 138, Parent ID = 117 +* G4Track Information: Particle = gamma, Track ID = 220, Parent ID = 218 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.21 cm -3.17 cm 4.3 cm 134 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.23 cm -3.16 cm 4.29 cm 0 eV 88 keV 159 um 159 um Lead phot + 0 -4.15 cm -1.87 cm 2.76 cm 164 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.14 cm -1.8 cm 2.72 cm 0 eV 88 keV 828 um 828 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 139, Parent ID = 138 +* G4Track Information: Particle = e-, Track ID = 221, Parent ID = 220 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.23 cm -3.16 cm 4.29 cm 45.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.23 cm -3.16 cm 4.29 cm 0 eV 45.8 keV 7.76 um 7.76 um Lead eIoni + 0 -4.14 cm -1.8 cm 2.72 cm 75.8 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.14 cm -1.8 cm 2.72 cm 0 eV 75.8 keV 17.6 um 17.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 137, Parent ID = 117 +* G4Track Information: Particle = gamma, Track ID = 219, Parent ID = 218 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.17 cm -3.18 cm 4.28 cm 360 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3 cm -2.28 cm 4.23 cm 360 keV 0 eV 1.23 cm 1.23 cm Lead Transportation - 2 -3.5 cm -1.73 cm 4.19 cm 360 keV 0 eV 7.45 mm 1.97 cm liquidArgon Transportation - 3 -3.93 cm -1.25 cm 4.16 cm 0 eV 88 keV 6.4 mm 2.61 cm Lead phot + 0 -4.15 cm -1.86 cm 2.76 cm 322 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.09 cm -1.92 cm 2.81 cm 0 eV 88 keV 940 um 940 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 140, Parent ID = 137 +* G4Track Information: Particle = e-, Track ID = 222, Parent ID = 219 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.93 cm -1.25 cm 4.16 cm 272 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.93 cm -1.25 cm 4.16 cm 0 eV 272 keV 130 um 130 um Lead eIoni + 0 -4.09 cm -1.92 cm 2.81 cm 234 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.09 cm -1.92 cm 2.81 cm 58.4 keV 37.1 keV 31 um 31 um Lead eBrem + 2 -4.09 cm -1.92 cm 2.81 cm 0 eV 58.4 keV 11.5 um 42.5 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 136, Parent ID = 117 +* G4Track Information: Particle = gamma, Track ID = 223, Parent ID = 222 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.13 cm -3.24 cm 4.22 cm 2.55 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2 cm -3.23 cm 4.35 cm 2.55 MeV 0 eV 1.88 mm 1.88 mm Lead Transportation - 2 -1.5 cm -3.23 cm 4.91 cm 2.55 MeV 0 eV 7.45 mm 9.32 mm liquidArgon Transportation - 3 -1.42 cm -3.23 cm 5 cm 2.55 MeV 0 eV 1.26 mm 1.06 cm Lead Transportation - 4 -5.1 mm -3.22 cm 6 cm 2.55 MeV 0 eV 1.35 cm 2.41 cm OutOfWorld Transportation + 0 -4.09 cm -1.92 cm 2.81 cm 138 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.09 cm -1.92 cm 2.81 cm 0 eV 88 keV 14.8 um 14.8 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 71, Parent ID = 69 +* G4Track Information: Particle = e-, Track ID = 224, Parent ID = 223 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.58 cm -1.47 cm 1.31 cm 2.51 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -1.53 cm 1.36 cm 2.51 MeV 0 eV 1.14 mm 1.14 mm Lead Transportation - 2 -6 cm -1.91 cm 1.69 cm 2.51 MeV 0 eV 7.08 mm 8.22 mm liquidArgon Transportation - 3 -5.92 cm -1.96 cm 1.74 cm 0 eV 0 eV 1.09 mm 9.31 mm Lead conv + 0 -4.09 cm -1.92 cm 2.81 cm 50.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.09 cm -1.92 cm 2.81 cm 0 eV 50.1 keV 8.98 um 8.98 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 142, Parent ID = 71 +* G4Track Information: Particle = gamma, Track ID = 154, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.92 cm -1.96 cm 1.74 cm 265 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.92 cm -1.96 cm 1.74 cm 0 eV 265 keV 121 um 121 um Lead eIoni - 2 -5.92 cm -1.96 cm 1.74 cm 0 eV 0 eV 0 fm 121 um Lead annihil + 0 -5.86 cm -1.89 cm 1.72 cm 295 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.51 cm -1.9 cm 2 cm 0 eV 88 keV 4.42 mm 4.42 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 144, Parent ID = 142 +* G4Track Information: Particle = e-, Track ID = 225, Parent ID = 154 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.92 cm -1.96 cm 1.74 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.9 cm -1.97 cm 1.76 cm 509 keV 0 eV 320 um 320 um Lead compt - 2 -5.78 cm -2.04 cm 1.85 cm 0 eV 88 keV 1.64 mm 1.96 mm Lead phot + 0 -5.51 cm -1.9 cm 2 cm 207 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.51 cm -1.9 cm 2 cm 0 eV 207 keV 86.9 um 86.9 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 144 +* G4Track Information: Particle = gamma, Track ID = 153, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.78 cm -2.04 cm 1.85 cm 421 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.78 cm -2.04 cm 1.85 cm 0 eV 421 keV 243 um 243 um Lead eIoni + 0 -5.87 cm -1.89 cm 1.72 cm 2.52 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.02 cm -2.01 cm 2.44 cm 240 keV 0 eV 1.12 cm 1.12 cm Lead compt + 2 -5.04 cm -2.01 cm 2.41 cm 0 eV 88 keV 405 um 1.16 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 144 +* G4Track Information: Particle = e-, Track ID = 227, Parent ID = 153 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.9 cm -1.97 cm 1.76 cm 1.67 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.9 cm -1.97 cm 1.76 cm 0 eV 1.67 keV 56.5 nm 56.5 nm Lead eIoni + 0 -5.04 cm -2.01 cm 2.41 cm 152 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.04 cm -2.01 cm 2.41 cm 0 eV 152 keV 53.7 um 53.7 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 143, Parent ID = 142 +* G4Track Information: Particle = e-, Track ID = 226, Parent ID = 153 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.92 cm -1.96 cm 1.74 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6 cm -1.93 cm 1.68 cm 511 keV 0 eV 1.06 mm 1.06 mm Lead Transportation - 2 -6.5 cm -1.71 cm 1.27 cm 511 keV 0 eV 6.82 mm 7.89 mm liquidArgon Transportation - 3 -6.77 cm -1.59 cm 1.05 cm 0 eV 88 keV 3.66 mm 1.15 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 143 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.77 cm -1.59 cm 1.05 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.77 cm -1.59 cm 1.05 cm 0 eV 423 keV 244 um 244 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 71 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.92 cm -1.96 cm 1.74 cm 1.23 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.91 cm -1.97 cm 1.75 cm 861 keV 366 keV 192 um 192 um Lead msc - 2 -5.91 cm -1.97 cm 1.74 cm 567 keV 294 keV 192 um 385 um Lead msc - 3 -5.91 cm -1.97 cm 1.75 cm 0 eV 567 keV 363 um 748 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 70, Parent ID = 69 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.6 cm -1.45 cm 1.3 cm 4.52 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -1.52 cm 1.36 cm 4.52 MeV 0 eV 1.36 mm 1.36 mm Lead Transportation - 2 -6 cm -1.85 cm 1.65 cm 4.52 MeV 0 eV 6.69 mm 8.05 mm liquidArgon Transportation - 3 -5.61 cm -2.11 cm 1.88 cm 2.14 MeV 0 eV 5.17 mm 1.32 cm Lead compt - 4 -5 cm -2.31 cm 1.89 cm 2.14 MeV 0 eV 6.45 mm 1.97 cm Lead Transportation - 5 -4.5 cm -2.47 cm 1.9 cm 2.14 MeV 0 eV 5.26 mm 2.49 cm liquidArgon Transportation - 6 -3.5 cm -2.8 cm 1.92 cm 2.14 MeV 0 eV 1.05 cm 3.54 cm Lead Transportation - 7 -3 cm -2.96 cm 1.94 cm 2.14 MeV 0 eV 5.26 mm 4.07 cm liquidArgon Transportation - 8 -2 cm -3.28 cm 1.96 cm 2.14 MeV 0 eV 1.05 cm 5.12 cm Lead Transportation - 9 -1.5 cm -3.44 cm 1.97 cm 2.14 MeV 0 eV 5.26 mm 5.65 cm liquidArgon Transportation - 10 -5 mm -3.77 cm 1.99 cm 2.14 MeV 0 eV 1.05 cm 6.7 cm Lead Transportation - 11 2.56e-05 fm -3.93 cm 2 cm 2.14 MeV 0 eV 5.26 mm 7.22 cm liquidArgon Transportation - 12 1 cm -4.25 cm 2.03 cm 2.14 MeV 0 eV 1.05 cm 8.28 cm Lead Transportation - 13 1.5 cm -4.42 cm 2.04 cm 2.14 MeV 0 eV 5.26 mm 8.8 cm liquidArgon Transportation - 14 1.63 cm -4.46 cm 2.04 cm 0 eV 0 eV 1.39 mm 8.94 cm Lead conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 150, Parent ID = 70 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.63 cm -4.46 cm 2.04 cm 494 keV 0 eV 0 fm 0 fm Lead initStep - 1 1.63 cm -4.46 cm 2.04 cm 0 eV 494 keV 298 um 298 um Lead eIoni - 2 1.63 cm -4.46 cm 2.04 cm 0 eV 0 eV 0 fm 298 um Lead annihil + 0 -5.02 cm -2.01 cm 2.44 cm 2.28 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.02 cm -2.02 cm 2.45 cm 2.21 MeV 66.8 keV 73.9 um 73.9 um Lead msc + 2 -5.01 cm -2.02 cm 2.44 cm 2.12 MeV 93.5 keV 73.9 um 148 um Lead msc + 3 -5.01 cm -2.01 cm 2.44 cm 2 MeV 115 keV 73.9 um 222 um Lead msc + 4 -5 cm -2.01 cm 2.44 cm 1.93 MeV 71.6 keV 73.9 um 296 um Lead msc + 5 -5 cm -2 cm 2.43 cm 1.87 MeV 64.3 keV 73.9 um 369 um Lead msc + 6 -5 cm -2 cm 2.43 cm 1.76 MeV 110 keV 73.9 um 443 um Lead msc + 7 -5 cm -2 cm 2.43 cm 1.76 MeV 2.45 keV 776 nm 444 um Lead Transportation + 8 -4.99 cm -2.06 cm 2.39 cm 1.54 MeV 218 keV 698 um 1.14 mm liquidArgon msc + 9 -4.94 cm -2.09 cm 2.36 cm 1.44 MeV 103 keV 698 um 1.84 mm liquidArgon msc + 10 -4.9 cm -2.14 cm 2.33 cm 1.33 MeV 102 keV 698 um 2.54 mm liquidArgon msc + 11 -4.92 cm -2.17 cm 2.28 cm 1.2 MeV 131 keV 698 um 3.23 mm liquidArgon msc + 12 -4.92 cm -2.23 cm 2.25 cm 853 keV 349 keV 698 um 3.93 mm liquidArgon msc + 13 -4.94 cm -2.24 cm 2.19 cm 746 keV 108 keV 698 um 4.63 mm liquidArgon msc + 14 -4.94 cm -2.25 cm 2.13 cm 634 keV 112 keV 698 um 5.33 mm liquidArgon msc + 15 -4.95 cm -2.24 cm 2.07 cm 509 keV 125 keV 698 um 6.03 mm liquidArgon msc + 16 -5 cm -2.21 cm 2.06 cm 319 keV 190 keV 698 um 6.72 mm liquidArgon msc + 17 -5 cm -2.21 cm 2.06 cm 308 keV 10.8 keV 55.4 um 6.78 mm liquidArgon Transportation + 18 -5 cm -2.21 cm 2.06 cm 304 keV 4.22 keV 6.28 um 6.79 mm Lead msc + 19 -5 cm -2.21 cm 2.06 cm 300 keV 4.1 keV 6.28 um 6.79 mm Lead msc + 20 -5 cm -2.21 cm 2.06 cm 295 keV 5.3 keV 6.28 um 6.8 mm Lead msc + 21 -5 cm -2.21 cm 2.06 cm 283 keV 11.4 keV 6.28 um 6.8 mm Lead msc + 22 -5 cm -2.21 cm 2.06 cm 272 keV 10.8 keV 6.28 um 6.81 mm Lead msc + 23 -5 cm -2.22 cm 2.06 cm 266 keV 6.22 keV 6.28 um 6.82 mm Lead msc + 24 -5 cm -2.22 cm 2.06 cm 257 keV 9.4 keV 6.28 um 6.82 mm Lead msc + 25 -5 cm -2.22 cm 2.06 cm 245 keV 11.9 keV 6.28 um 6.83 mm Lead msc + 26 -5 cm -2.22 cm 2.06 cm 237 keV 7.84 keV 6.28 um 6.84 mm Lead msc + 27 -5 cm -2.22 cm 2.06 cm 219 keV 18.4 keV 6.28 um 6.84 mm Lead msc + 28 -5 cm -2.22 cm 2.06 cm 213 keV 5.73 keV 6.28 um 6.85 mm Lead msc + 29 -5 cm -2.22 cm 2.06 cm 204 keV 8.87 keV 6.28 um 6.85 mm Lead msc + 30 -5 cm -2.22 cm 2.06 cm 194 keV 10.1 keV 6.28 um 6.86 mm Lead msc + 31 -5 cm -2.22 cm 2.06 cm 188 keV 5.7 keV 6.28 um 6.87 mm Lead msc + 32 -5 cm -2.22 cm 2.06 cm 180 keV 7.78 keV 6.28 um 6.87 mm Lead msc + 33 -5 cm -2.22 cm 2.06 cm 174 keV 6.23 keV 6.28 um 6.88 mm Lead msc + 34 -5 cm -2.22 cm 2.06 cm 167 keV 6.78 keV 6.28 um 6.89 mm Lead msc + 35 -5 cm -2.22 cm 2.06 cm 155 keV 12.9 keV 6.28 um 6.89 mm Lead msc + 36 -5 cm -2.22 cm 2.06 cm 144 keV 10.4 keV 6.28 um 6.9 mm Lead msc + 37 -5 cm -2.22 cm 2.06 cm 141 keV 2.9 keV 2.57 um 6.9 mm Lead Transportation + 38 -5 cm -2.22 cm 2.06 cm 133 keV 8.22 keV 10.4 um 6.91 mm liquidArgon msc + 39 -5 cm -2.22 cm 2.06 cm 132 keV 1.31 keV 10.4 um 6.92 mm liquidArgon msc + 40 -5 cm -2.22 cm 2.06 cm 129 keV 2.21 keV 10.4 um 6.93 mm liquidArgon msc + 41 -5 cm -2.22 cm 2.06 cm 127 keV 2.83 keV 10.4 um 6.94 mm liquidArgon msc + 42 -5 cm -2.22 cm 2.06 cm 124 keV 3.04 keV 10.4 um 6.95 mm liquidArgon msc + 43 -5 cm -2.22 cm 2.06 cm 120 keV 4.08 keV 10.4 um 6.96 mm liquidArgon msc + 44 -5 cm -2.22 cm 2.06 cm 118 keV 1.75 keV 10.4 um 6.97 mm liquidArgon msc + 45 -4.99 cm -2.22 cm 2.06 cm 114 keV 3.52 keV 10.4 um 6.98 mm liquidArgon msc + 46 -4.99 cm -2.22 cm 2.06 cm 112 keV 2.33 keV 10.6 um 6.99 mm liquidArgon msc + 47 -4.99 cm -2.22 cm 2.06 cm 94.1 keV 17.8 keV 13 um 7.01 mm liquidArgon msc + 48 -4.99 cm -2.22 cm 2.07 cm 89.3 keV 4.79 keV 14.1 um 7.02 mm liquidArgon msc + 49 -4.99 cm -2.22 cm 2.07 cm 85.5 keV 3.84 keV 15 um 7.04 mm liquidArgon msc + 50 -4.99 cm -2.22 cm 2.07 cm 82.5 keV 3.02 keV 16.7 um 7.05 mm liquidArgon msc + 51 -4.99 cm -2.22 cm 2.07 cm 72.3 keV 10.2 keV 15.7 um 7.07 mm liquidArgon msc + 52 -4.99 cm -2.22 cm 2.07 cm 66 keV 6.31 keV 15 um 7.08 mm liquidArgon msc + 53 -5 cm -2.22 cm 2.07 cm 63.6 keV 2.32 keV 12.5 um 7.1 mm liquidArgon msc + 54 -5 cm -2.22 cm 2.07 cm 57.3 keV 6.31 keV 10.5 um 7.11 mm liquidArgon msc + 55 -5 cm -2.22 cm 2.06 cm 49.4 keV 7.95 keV 10.4 um 7.12 mm liquidArgon msc + 56 -5 cm -2.22 cm 2.07 cm 39.6 keV 9.75 keV 10.4 um 7.13 mm liquidArgon msc + 57 -5 cm -2.22 cm 2.07 cm 32.5 keV 7.18 keV 10.4 um 7.14 mm liquidArgon msc + 58 -5 cm -2.23 cm 2.07 cm 14.3 keV 18.1 keV 10.4 um 7.15 mm liquidArgon msc + 59 -5 cm -2.23 cm 2.07 cm 0 eV 14.3 keV 5.26 um 7.15 mm liquidArgon eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 152, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.63 cm -4.46 cm 2.04 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 1.62 cm -4.45 cm 2.04 cm 0 eV 88 keV 167 um 167 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 153, Parent ID = 152 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.62 cm -4.45 cm 2.04 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 1.62 cm -4.45 cm 2.04 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -5.9 cm -1.89 cm 1.69 cm 3.83 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -2.08 cm 2.41 cm 3.83 MeV 0 eV 1.16 cm 1.16 cm Lead Transportation + 2 -4.5 cm -2.19 cm 2.81 cm 3.83 MeV 0 eV 6.5 mm 1.82 cm liquidArgon Transportation + 3 -3.5 cm -2.41 cm 3.61 cm 3.83 MeV 0 eV 1.3 cm 3.12 cm Lead Transportation + 4 -3 cm -2.52 cm 4.01 cm 3.83 MeV 0 eV 6.5 mm 3.77 cm liquidArgon Transportation + 5 -2 cm -2.74 cm 4.82 cm 3.83 MeV 0 eV 1.3 cm 5.07 cm Lead Transportation + 6 -1.77 cm -2.79 cm 5 cm 3.83 MeV 0 eV 2.97 mm 5.36 cm liquidArgon Transportation + 7 -5.26 mm -3.06 cm 6 cm 3.83 MeV 0 eV 1.62 cm 6.98 cm OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 151, Parent ID = 150 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.63 cm -4.46 cm 2.04 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 2.5 cm -4.89 cm 2.02 cm 511 keV 0 eV 9.65 mm 9.65 mm Lead Transportation - 2 2.73 cm -5 cm 2.01 cm 511 keV 0 eV 2.58 mm 1.22 cm liquidArgon Transportation - 3 4.76 cm -6 cm 1.95 cm 511 keV 0 eV 2.27 cm 3.49 cm OutOfWorld Transportation + 0 -5.94 cm -1.86 cm 1.66 cm 296 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.71 cm -2.02 cm 1.8 cm 144 keV 0 eV 3.13 mm 3.13 mm Lead compt + 2 -5.72 cm -2 cm 1.78 cm 109 keV 0 eV 293 um 3.42 mm Lead compt + 3 -5.71 cm -1.99 cm 1.79 cm 0 eV 88 keV 56.3 um 3.48 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 149, Parent ID = 70 +* G4Track Information: Particle = e-, Track ID = 230, Parent ID = 151 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.63 cm -4.46 cm 2.04 cm 626 keV 0 eV 0 fm 0 fm Lead initStep - 1 1.63 cm -4.46 cm 2.04 cm 0 eV 626 keV 412 um 412 um Lead eIoni + 0 -5.71 cm -1.99 cm 1.79 cm 20.7 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.71 cm -1.99 cm 1.79 cm 0 eV 20.7 keV 2.15 um 2.15 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 70 +* G4Track Information: Particle = e-, Track ID = 229, Parent ID = 151 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.61 cm -2.11 cm 1.88 cm 2.38 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.62 cm -2.14 cm 1.88 cm 1.03 MeV 567 keV 466 um 466 um Lead eBrem - 2 -5.62 cm -2.14 cm 1.88 cm 0 eV 1.03 MeV 756 um 1.22 mm Lead eIoni + 0 -5.72 cm -2 cm 1.78 cm 35.6 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.72 cm -2 cm 1.78 cm 0 eV 35.6 keV 5.15 um 5.15 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 154, Parent ID = 148 +* G4Track Information: Particle = e-, Track ID = 228, Parent ID = 151 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.62 cm -2.14 cm 1.88 cm 786 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6 cm -2.17 cm 2.07 cm 786 keV 0 eV 4.29 mm 4.29 mm Lead Transportation - 2 -6.5 cm -2.21 cm 2.32 cm 786 keV 0 eV 5.59 mm 9.87 mm liquidArgon Transportation - 3 -7.23 cm -2.27 cm 2.68 cm 0 eV 88 keV 8.16 mm 1.8 cm Lead phot + 0 -5.71 cm -2.02 cm 1.8 cm 152 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.71 cm -2.02 cm 1.8 cm 0 eV 152 keV 53.6 um 53.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 155, Parent ID = 154 +* G4Track Information: Particle = e-, Track ID = 149, Parent ID = 7 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.23 cm -2.27 cm 2.68 cm 698 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.23 cm -2.27 cm 2.68 cm 0 eV 698 keV 473 um 473 um Lead eIoni + 0 -5.97 cm -1.84 cm 1.64 cm 8.8 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.96 cm -1.84 cm 1.65 cm 8.46 MeV 90.2 keV 105 um 105 um Lead eBrem + 2 -5.94 cm -1.86 cm 1.65 cm 8.12 MeV 340 keV 368 um 473 um Lead msc + 3 -5.92 cm -1.89 cm 1.67 cm 7.67 MeV 447 keV 368 um 840 um Lead msc + 4 -5.89 cm -1.91 cm 1.68 cm 7.18 MeV 489 keV 368 um 1.21 mm Lead msc + 5 -5.87 cm -1.94 cm 1.69 cm 6.74 MeV 441 keV 368 um 1.58 mm Lead msc + 6 -5.87 cm -1.97 cm 1.69 cm 6.38 MeV 361 keV 368 um 1.94 mm Lead msc + 7 -5.87 cm -1.97 cm 1.69 cm 5.75 MeV 462 eV 4.74 um 1.95 mm Lead eBrem + 8 -5.87 cm -2.01 cm 1.71 cm 5.39 MeV 361 keV 397 um 2.35 mm Lead msc + 9 -5.87 cm -2.02 cm 1.72 cm 3.38 MeV 197 keV 202 um 2.55 mm Lead eBrem + 10 -5.87 cm -2.02 cm 1.73 cm 3.2 MeV 44.7 keV 74.6 um 2.62 mm Lead eBrem + 11 -5.86 cm -2.05 cm 1.74 cm 2.68 MeV 370 keV 328 um 2.95 mm Lead eBrem + 12 -5.87 cm -2.07 cm 1.73 cm 2.31 MeV 375 keV 368 um 3.32 mm Lead msc + 13 -5.88 cm -2.08 cm 1.73 cm 1.99 MeV 106 keV 95.6 um 3.41 mm Lead eBrem + 14 -5.88 cm -2.1 cm 1.72 cm 1.63 MeV 360 keV 368 um 3.78 mm Lead msc + 15 -5.9 cm -2.1 cm 1.71 cm 638 keV 989 keV 368 um 4.15 mm Lead msc + 16 -5.9 cm -2.1 cm 1.71 cm 0 eV 638 keV 425 um 4.58 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 68, Parent ID = 7 +* G4Track Information: Particle = gamma, Track ID = 236, Parent ID = 149 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.61 cm -1.45 cm 1.3 cm 7.13 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.58 cm -1.45 cm 1.3 cm 6.72 MeV 411 keV 268 um 268 um Lead msc - 2 -6.57 cm -1.44 cm 1.28 cm 6.4 MeV 320 keV 268 um 535 um Lead msc - 3 -6.55 cm -1.45 cm 1.28 cm 6.12 MeV 278 keV 268 um 803 um Lead msc - 4 -6.53 cm -1.46 cm 1.27 cm 5.81 MeV 307 keV 268 um 1.07 mm Lead msc - 5 -6.5 cm -1.46 cm 1.27 cm 5.48 MeV 328 keV 268 um 1.34 mm Lead msc - 6 -6.5 cm -1.47 cm 1.27 cm 5.44 MeV 45.8 keV 44.9 um 1.38 mm Lead Transportation - 7 -6.08 cm -1.64 cm 1.54 cm 4.48 MeV 959 keV 5.57 mm 6.95 mm liquidArgon msc - 8 -6 cm -1.67 cm 1.56 cm 4.31 MeV 167 keV 931 um 7.88 mm liquidArgon Transportation - 9 -5.99 cm -1.68 cm 1.56 cm 4.18 MeV 134 keV 69.3 um 7.95 mm Lead msc - 10 -5.99 cm -1.68 cm 1.56 cm 4.08 MeV 97.9 keV 69.3 um 8.02 mm Lead msc - 11 -5.99 cm -1.68 cm 1.57 cm 4 MeV 74.1 keV 69.3 um 8.09 mm Lead msc - 12 -5.98 cm -1.69 cm 1.57 cm 3.91 MeV 89.7 keV 69.3 um 8.16 mm Lead msc - 13 -5.98 cm -1.69 cm 1.58 cm 3.84 MeV 72.2 keV 69.3 um 8.23 mm Lead msc - 14 -5.98 cm -1.69 cm 1.58 cm 3.8 MeV 45.6 keV 69.3 um 8.3 mm Lead msc - 15 -5.97 cm -1.69 cm 1.59 cm 3.74 MeV 59.2 keV 69.3 um 8.37 mm Lead msc - 16 -5.97 cm -1.69 cm 1.59 cm 3.68 MeV 55.6 keV 69.3 um 8.44 mm Lead msc - 17 -5.97 cm -1.69 cm 1.6 cm 3.59 MeV 96.4 keV 69.3 um 8.51 mm Lead msc - 18 -5.97 cm -1.69 cm 1.61 cm 3.52 MeV 64.3 keV 69.3 um 8.57 mm Lead msc - 19 -5.98 cm -1.69 cm 1.61 cm 3.46 MeV 63.4 keV 69.3 um 8.64 mm Lead msc - 20 -5.98 cm -1.7 cm 1.62 cm 3.39 MeV 65.2 keV 69.3 um 8.71 mm Lead msc - 21 -5.98 cm -1.7 cm 1.62 cm 3.33 MeV 65.1 keV 69.3 um 8.78 mm Lead msc - 22 -5.98 cm -1.7 cm 1.63 cm 3.25 MeV 80.2 keV 69.3 um 8.85 mm Lead msc - 23 -5.98 cm -1.71 cm 1.63 cm 3.17 MeV 72.7 keV 69.3 um 8.92 mm Lead msc - 24 -5.99 cm -1.71 cm 1.63 cm 3.09 MeV 86.5 keV 69.3 um 8.99 mm Lead msc - 25 -5.99 cm -1.72 cm 1.64 cm 3.03 MeV 55.7 keV 69.3 um 9.06 mm Lead msc - 26 -5.99 cm -1.72 cm 1.64 cm 2.11 MeV 918 keV 69.3 um 9.13 mm Lead msc - 27 -6 cm -1.73 cm 1.64 cm 2.01 MeV 99.6 keV 69.3 um 9.2 mm Lead msc - 28 -6 cm -1.73 cm 1.64 cm 2 MeV 18.2 keV 19.2 um 9.22 mm Lead Transportation - 29 -6.01 cm -1.69 cm 1.66 cm 1.92 MeV 73 keV 460 um 9.68 mm liquidArgon msc - 30 -6.03 cm -1.65 cm 1.66 cm 1.85 MeV 70 keV 460 um 1.01 cm liquidArgon msc - 31 -6.05 cm -1.61 cm 1.64 cm 1.79 MeV 64.6 keV 460 um 1.06 cm liquidArgon msc - 32 -6.08 cm -1.57 cm 1.65 cm 1.73 MeV 60.9 keV 460 um 1.11 cm liquidArgon msc - 33 -6.11 cm -1.55 cm 1.64 cm 1.65 MeV 74.7 keV 460 um 1.15 cm liquidArgon msc - 34 -6.14 cm -1.51 cm 1.64 cm 1.26 MeV 391 keV 460 um 1.2 cm liquidArgon msc - 35 -6.18 cm -1.49 cm 1.63 cm 1.2 MeV 61.2 keV 460 um 1.24 cm liquidArgon msc - 36 -6.22 cm -1.48 cm 1.63 cm 1.14 MeV 62 keV 460 um 1.29 cm liquidArgon msc - 37 -6.27 cm -1.48 cm 1.62 cm 1.06 MeV 80.4 keV 460 um 1.34 cm liquidArgon msc - 38 -6.31 cm -1.47 cm 1.64 cm 971 keV 87.6 keV 460 um 1.38 cm liquidArgon msc - 39 -6.34 cm -1.44 cm 1.64 cm 909 keV 61.9 keV 460 um 1.43 cm liquidArgon msc - 40 -6.38 cm -1.45 cm 1.65 cm 832 keV 76.8 keV 460 um 1.47 cm liquidArgon msc - 41 -6.42 cm -1.44 cm 1.64 cm 718 keV 114 keV 460 um 1.52 cm liquidArgon msc - 42 -6.46 cm -1.44 cm 1.64 cm 653 keV 65.4 keV 460 um 1.57 cm liquidArgon msc - 43 -6.47 cm -1.41 cm 1.66 cm 555 keV 97.8 keV 460 um 1.61 cm liquidArgon msc - 44 -6.49 cm -1.4 cm 1.69 cm 483 keV 71.9 keV 460 um 1.66 cm liquidArgon msc - 45 -6.5 cm -1.39 cm 1.7 cm 464 keV 19.4 keV 140 um 1.67 cm liquidArgon Transportation - 46 -6.5 cm -1.39 cm 1.7 cm 456 keV 8.41 keV 5.55 um 1.67 cm Lead msc - 47 -6.5 cm -1.39 cm 1.7 cm 454 keV 1.22 keV 5.55 um 1.67 cm Lead msc - 48 -6.5 cm -1.39 cm 1.7 cm 450 keV 3.92 keV 5.55 um 1.67 cm Lead msc - 49 -6.5 cm -1.39 cm 1.7 cm 439 keV 11.5 keV 5.55 um 1.67 cm Lead msc - 50 -6.5 cm -1.39 cm 1.7 cm 434 keV 5.14 keV 5.55 um 1.67 cm Lead msc - 51 -6.5 cm -1.39 cm 1.7 cm 433 keV 722 eV 5.55 um 1.67 cm Lead msc - 52 -6.5 cm -1.39 cm 1.7 cm 432 keV 1.29 keV 5.55 um 1.68 cm Lead msc - 53 -6.5 cm -1.39 cm 1.7 cm 430 keV 1.51 keV 5.55 um 1.68 cm Lead msc - 54 -6.5 cm -1.39 cm 1.7 cm 420 keV 10.6 keV 5.55 um 1.68 cm Lead msc - 55 -6.5 cm -1.39 cm 1.7 cm 411 keV 8.26 keV 5.55 um 1.68 cm Lead msc - 56 -6.5 cm -1.39 cm 1.7 cm 408 keV 3.86 keV 5.55 um 1.68 cm Lead msc - 57 -6.5 cm -1.39 cm 1.7 cm 406 keV 1.74 keV 5.55 um 1.68 cm Lead msc - 58 -6.5 cm -1.39 cm 1.7 cm 404 keV 2.09 keV 5.55 um 1.68 cm Lead msc - 59 -6.5 cm -1.39 cm 1.7 cm 112 keV 3.28 keV 1.19 um 1.68 cm Lead eBrem - 60 -6.5 cm -1.39 cm 1.7 cm 97.5 keV 14.3 keV 5.55 um 1.68 cm Lead msc - 61 -6.5 cm -1.39 cm 1.7 cm 82.1 keV 15.4 keV 5.55 um 1.68 cm Lead msc - 62 -6.5 cm -1.39 cm 1.7 cm 66.9 keV 15.2 keV 5.55 um 1.68 cm Lead msc - 63 -6.5 cm -1.39 cm 1.7 cm 56.4 keV 10.5 keV 5.55 um 1.68 cm Lead msc - 64 -6.5 cm -1.39 cm 1.7 cm 34.3 keV 22.1 keV 5.55 um 1.68 cm Lead msc - 65 -6.5 cm -1.39 cm 1.7 cm 0 eV 34.3 keV 4.84 um 1.68 cm Lead eIoni + 0 -5.88 cm -2.08 cm 1.73 cm 215 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.9 cm -2.19 cm 1.76 cm 0 eV 88 keV 1.12 mm 1.12 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 156, Parent ID = 68 +* G4Track Information: Particle = e-, Track ID = 237, Parent ID = 236 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.5 cm -1.39 cm 1.7 cm 289 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -1.39 cm 1.7 cm 289 keV 0 eV 7.1 um 7.1 um Lead Transportation - 2 -6 cm -8.58 mm 1.82 cm 289 keV 0 eV 7.38 mm 7.39 mm liquidArgon Transportation - 3 -5.88 cm -7.34 mm 1.85 cm 254 keV 0 eV 1.74 mm 9.12 mm Lead compt - 4 -5.87 cm -7.13 mm 1.84 cm 0 eV 88 keV 291 um 9.41 mm Lead phot + 0 -5.9 cm -2.19 cm 1.76 cm 127 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.9 cm -2.19 cm 1.76 cm 0 eV 127 keV 40.5 um 40.5 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 158, Parent ID = 156 +* G4Track Information: Particle = gamma, Track ID = 235, Parent ID = 149 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.87 cm -7.13 mm 1.84 cm 166 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.87 cm -7.12 mm 1.84 cm 0 eV 166 keV 61.3 um 61.3 um Lead eIoni + 0 -5.86 cm -2.05 cm 1.74 cm 147 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.87 cm -2.06 cm 1.7 cm 0 eV 88 keV 356 um 356 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 157, Parent ID = 156 +* G4Track Information: Particle = e-, Track ID = 238, Parent ID = 235 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.88 cm -7.34 mm 1.85 cm 35.1 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.88 cm -7.34 mm 1.85 cm 0 eV 35.1 keV 5.03 um 5.03 um Lead eIoni + 0 -5.87 cm -2.06 cm 1.7 cm 59.3 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.87 cm -2.06 cm 1.7 cm 0 eV 59.3 keV 11.8 um 11.8 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 234, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.87 cm -2.02 cm 1.73 cm 130 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.87 cm -2.04 cm 1.76 cm 0 eV 88 keV 326 um 326 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 239, Parent ID = 234 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.87 cm -2.04 cm 1.76 cm 42.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.87 cm -2.04 cm 1.76 cm 0 eV 42.2 keV 6.79 um 6.79 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 233, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.87 cm -2.02 cm 1.72 cm 1.82 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.72 cm -2.44 cm 2.15 cm 1.08 MeV 0 eV 6.18 mm 6.18 mm Lead compt + 2 -5.7 cm -2.96 cm 2.25 cm 282 keV 0 eV 5.29 mm 1.15 cm Lead compt + 3 -5.63 cm -2.9 cm 2.33 cm 0 eV 88 keV 1.18 mm 1.27 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 242, Parent ID = 233 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.63 cm -2.9 cm 2.33 cm 194 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.63 cm -2.9 cm 2.33 cm 0 eV 194 keV 78.3 um 78.3 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 241, Parent ID = 233 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.7 cm -2.96 cm 2.25 cm 800 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.7 cm -2.96 cm 2.25 cm 0 eV 800 keV 565 um 565 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 240, Parent ID = 233 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.72 cm -2.44 cm 2.15 cm 734 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.71 cm -2.44 cm 2.15 cm 374 keV 187 keV 151 um 151 um Lead eBrem + 2 -5.71 cm -2.44 cm 2.15 cm 0 eV 374 keV 207 um 358 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 243, Parent ID = 240 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.71 cm -2.44 cm 2.15 cm 173 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.72 cm -2.59 cm 2.12 cm 0 eV 88 keV 1.52 mm 1.52 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 244, Parent ID = 243 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.72 cm -2.59 cm 2.12 cm 85.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.72 cm -2.59 cm 2.12 cm 0 eV 85.4 keV 21.4 um 21.4 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 232, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.87 cm -1.97 cm 1.69 cm 627 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.83 cm -2.12 cm 1.75 cm 619 keV 0 eV 1.63 mm 1.63 mm Lead compt + 2 -5.8 cm -2.55 cm 1.9 cm 356 keV 0 eV 4.57 mm 6.2 mm Lead compt + 3 -6 cm -2.68 cm 1.87 cm 356 keV 0 eV 2.37 mm 8.56 mm Lead Transportation + 4 -6.5 cm -2.98 cm 1.81 cm 356 keV 0 eV 5.87 mm 1.44 cm liquidArgon Transportation + 5 -6.82 cm -3.17 cm 1.78 cm 220 keV 0 eV 3.79 mm 1.82 cm Lead compt + 6 -6.85 cm -3.13 cm 1.76 cm 0 eV 88 keV 495 um 1.87 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 248, Parent ID = 232 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.85 cm -3.13 cm 1.76 cm 132 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.85 cm -3.13 cm 1.76 cm 0 eV 132 keV 43.1 um 43.1 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 247, Parent ID = 232 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.82 cm -3.17 cm 1.78 cm 136 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.82 cm -3.17 cm 1.78 cm 0 eV 136 keV 44.9 um 44.9 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 246, Parent ID = 232 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.8 cm -2.55 cm 1.9 cm 264 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.8 cm -2.55 cm 1.9 cm 0 eV 264 keV 125 um 125 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 245, Parent ID = 232 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.83 cm -2.12 cm 1.75 cm 7.62 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.83 cm -2.12 cm 1.75 cm 0 eV 7.62 keV 469 nm 469 nm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 231, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.96 cm -1.84 cm 1.65 cm 254 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.65 cm -2.08 cm 1.87 cm 153 keV 0 eV 4.51 mm 4.51 mm Lead compt + 2 -5.68 cm -2.04 cm 1.91 cm 0 eV 88 keV 614 um 5.12 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 250, Parent ID = 231 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.68 cm -2.04 cm 1.91 cm 64.8 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.68 cm -2.04 cm 1.91 cm 0 eV 64.8 keV 13.7 um 13.7 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 249, Parent ID = 231 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.65 cm -2.08 cm 1.87 cm 101 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.65 cm -2.08 cm 1.87 cm 0 eV 101 keV 28 um 28 um Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 1 @@ -1931,4727 +2808,5221 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -8.99 cm 0 fm 0 fm 338 MeV 0 eV 0 fm 0 fm World initStep 1 -7.5 cm -549 um -5.7 mm 338 MeV 0 eV 1.59 cm 1.59 cm World Transportation - 2 -6.77 cm -817 um -8.49 mm 0 eV 0 eV 7.78 mm 2.37 cm Lead conv + 2 -6.56 cm -894 um -9.29 mm 0 eV 0 eV 1 cm 2.6 cm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 160, Parent ID = 6 +* G4Track Information: Particle = e+, Track ID = 252, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.77 cm -817 um -8.49 mm 230 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.76 cm -820 um -8.53 mm 215 MeV 128 keV 109 um 109 um Lead eBrem - 2 -6.73 cm -834 um -8.67 mm 213 MeV 579 keV 412 um 521 um Lead eIoni - 3 -6.72 cm -836 um -8.69 mm 212 MeV 56.1 keV 57.6 um 579 um Lead eBrem - 4 -6.66 cm -853 um -8.94 mm 209 MeV 886 keV 692 um 1.27 mm Lead eBrem - 5 -6.6 cm -882 um -9.23 mm 206 MeV 798 keV 663 um 1.93 mm Lead eBrem - 6 -6.56 cm -892 um -9.4 mm 205 MeV 534 keV 388 um 2.32 mm Lead eBrem - 7 -6.53 cm -900 um -9.53 mm 202 MeV 360 keV 306 um 2.63 mm Lead eBrem - 8 -6.5 cm -903 um -9.68 mm 195 MeV 447 keV 359 um 2.99 mm Lead eBrem - 9 -6.5 cm -903 um -9.68 mm 195 MeV 17.2 keV 9.18 um 3 mm Lead Transportation - 10 -6 cm -1.04 mm -1.2 cm 194 MeV 1.17 MeV 5.52 mm 8.52 mm liquidArgon Transportation - 11 -5.99 cm -1.04 mm -1.21 cm 194 MeV 83.2 keV 82.7 um 8.6 mm Lead eBrem - 12 -5.91 cm -1.09 mm -1.25 cm 190 MeV 1.89 MeV 971 um 9.57 mm Lead eBrem - 13 -5.9 cm -1.1 mm -1.25 cm 189 MeV 111 keV 112 um 9.68 mm Lead eBrem - 14 -5.85 cm -1.13 mm -1.28 cm 188 MeV 572 keV 487 um 1.02 cm Lead eBrem - 15 -5.75 cm -1.2 mm -1.33 cm 184 MeV 3.14 MeV 1.16 mm 1.13 cm Lead eBrem - 16 -5.69 cm -1.28 mm -1.37 cm 179 MeV 1.92 MeV 710 um 1.2 cm Lead eBrem - 17 -5.69 cm -1.29 mm -1.37 cm 179 MeV 65.4 keV 68.1 um 1.21 cm Lead eBrem - 18 -5.68 cm -1.29 mm -1.38 cm 176 MeV 24.6 keV 30.3 um 1.21 cm Lead eBrem - 19 -5.62 cm -1.36 mm -1.42 cm 173 MeV 974 keV 774 um 1.29 cm Lead eBrem - 20 -5.62 cm -1.36 mm -1.42 cm 164 MeV 57.8 keV 46 um 1.3 cm Lead eBrem - 21 -5.6 cm -1.37 mm -1.43 cm 137 MeV 291 keV 218 um 1.32 cm Lead eBrem - 22 -5.59 cm -1.38 mm -1.43 cm 136 MeV 58 keV 40.5 um 1.32 cm Lead eBrem - 23 -5.59 cm -1.39 mm -1.44 cm 81.1 MeV 73.4 keV 95.3 um 1.33 cm Lead eBrem - 24 -5.57 cm -1.41 mm -1.45 cm 69.8 MeV 308 keV 234 um 1.35 cm Lead eBrem - 25 -5.44 cm -1.68 mm -1.57 cm 67.6 MeV 1.95 MeV 1.77 mm 1.53 cm Lead eBrem - 26 -5.44 cm -1.68 mm -1.57 cm 66.4 MeV 736 eV 4.36 um 1.53 cm Lead eBrem - 27 -5.35 cm -1.6 mm -1.64 cm 55.8 MeV 1.49 MeV 1.16 mm 1.65 cm Lead eBrem - 28 -5.29 cm -1.56 mm -1.71 cm 53.2 MeV 1.13 MeV 891 um 1.74 cm Lead eBrem - 29 -5.27 cm -1.56 mm -1.73 cm 52.1 MeV 351 keV 306 um 1.77 cm Lead eBrem - 30 -5.17 cm -1.33 mm -1.85 cm 48.6 MeV 1.82 MeV 1.58 mm 1.93 cm Lead eIoni - 31 -5 cm -1.14 mm -1.97 cm 46 MeV 2.57 MeV 2.13 mm 2.14 cm Lead Transportation - 32 -4.53 cm -382 um -2.45 cm 42.2 MeV 1.19 MeV 6.75 mm 2.81 cm liquidArgon eBrem - 33 -4.5 cm -290 um -2.49 cm 42 MeV 104 keV 493 um 2.86 cm liquidArgon Transportation - 34 -4.37 cm -13.9 um -2.59 cm 36.8 MeV 2.09 MeV 1.63 mm 3.03 cm Lead eIoni - 35 -4.36 cm 37.6 um -2.6 cm 32 MeV 201 keV 191 um 3.04 cm Lead eBrem - 36 -4.35 cm 64.3 um -2.6 cm 31.8 MeV 87.4 keV 83.5 um 3.05 cm Lead eBrem - 37 -4.18 cm 375 um -2.71 cm 28.7 MeV 2.94 MeV 2.15 mm 3.27 cm Lead eBrem - 38 -4.17 cm 371 um -2.72 cm 26.8 MeV 55.9 keV 54 um 3.27 cm Lead eBrem - 39 -4.16 cm 363 um -2.72 cm 26.5 MeV 172 keV 145 um 3.29 cm Lead eBrem - 40 -4.14 cm 331 um -2.73 cm 25.9 MeV 194 keV 194 um 3.31 cm Lead eBrem - 41 -4.04 cm -146 um -2.81 cm 22.6 MeV 2.88 MeV 1.43 mm 3.45 cm Lead eBrem - 42 -4 cm -275 um -2.82 cm 21.4 MeV 622 keV 452 um 3.49 cm Lead eBrem - 43 -3.98 cm -291 um -2.83 cm 20.6 MeV 123 keV 141 um 3.51 cm Lead eBrem - 44 -3.88 cm -608 um -2.86 cm 16.1 MeV 1.16 MeV 1.15 mm 3.62 cm Lead eBrem - 45 -3.79 cm -1.43 mm -2.88 cm 2.27 MeV 1.37 MeV 1.3 mm 3.75 cm Lead eBrem - 46 -3.78 cm -1.2 mm -2.93 cm 58.6 keV 2.22 MeV 1.54 mm 3.91 cm Lead eIoni - 47 -3.78 cm -1.2 mm -2.93 cm 0 eV 58.6 keV 10.4 um 3.91 cm Lead eIoni - 48 -3.78 cm -1.2 mm -2.93 cm 0 eV 0 eV 0 fm 3.91 cm Lead annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 203, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.78 cm -1.2 mm -2.93 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.76 cm 1.02 cm -3.48 cm 0 eV 88 keV 1.27 cm 1.27 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 204, Parent ID = 203 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.76 cm 1.02 cm -3.48 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.76 cm 1.03 cm -3.48 cm 0 eV 423 keV 244 um 244 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 202, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.78 cm -1.2 mm -2.93 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.78 cm -1.23 mm -2.93 cm 0 eV 88 keV 30.2 um 30.2 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 205, Parent ID = 202 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.78 cm -1.23 mm -2.93 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.78 cm -1.24 mm -2.93 cm 0 eV 423 keV 244 um 244 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 201, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.79 cm -1.43 mm -2.88 cm 12.4 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm -1.4 mm -2.98 cm 12.4 MeV 0 eV 3.05 mm 3.05 mm Lead Transportation - 2 -3 cm -1.37 mm -3.16 cm 12.4 MeV 0 eV 5.3 mm 8.35 mm liquidArgon Transportation - 3 -2.33 cm -1.32 mm -3.4 cm 0 eV 0 eV 7.11 mm 1.55 cm Lead conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 207, Parent ID = 201 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.33 cm -1.32 mm -3.4 cm 7.02 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2.31 cm -1.32 mm -3.4 cm 6.3 MeV 248 keV 199 um 199 um Lead eBrem - 2 -2.27 cm -1.19 mm -3.41 cm 5.27 MeV 899 keV 437 um 636 um Lead eBrem - 3 -2.28 cm -654 um -3.39 cm 2.71 MeV 937 keV 687 um 1.32 mm Lead eBrem - 4 -2.32 cm -418 um -3.36 cm 1.74 MeV 776 keV 799 um 2.12 mm Lead eBrem - 5 -2.32 cm -472 um -3.35 cm 1.38 MeV 73.8 keV 77.7 um 2.2 mm Lead eBrem - 6 -2.33 cm -500 um -3.34 cm 836 keV 210 keV 220 um 2.42 mm Lead eBrem - 7 -2.34 cm -470 um -3.35 cm 0 eV 836 keV 594 um 3.01 mm Lead eIoni - 8 -2.34 cm -470 um -3.35 cm 0 eV 0 eV 0 fm 3.01 mm Lead annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 215, Parent ID = 207 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.34 cm -470 um -3.35 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.2 cm -5.44 mm -3.98 cm 387 keV 0 eV 8.18 mm 8.18 mm Lead compt - 2 -2.25 cm -8.13 mm -4.02 cm 375 keV 0 eV 2.76 mm 1.09 cm Lead compt - 3 -2.38 cm -1.2 cm -4.19 cm 182 keV 0 eV 4.41 mm 1.53 cm Lead compt - 4 -2.35 cm -1.2 cm -4.18 cm 0 eV 88 keV 270 um 1.56 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 219, Parent ID = 215 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.35 cm -1.2 cm -4.18 cm 93.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.35 cm -1.2 cm -4.18 cm 0 eV 93.8 keV 24.9 um 24.9 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 218, Parent ID = 215 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.38 cm -1.2 cm -4.19 cm 194 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.38 cm -1.2 cm -4.19 cm 0 eV 194 keV 78 um 78 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 217, Parent ID = 215 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.25 cm -8.13 mm -4.02 cm 11.4 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.25 cm -8.13 mm -4.02 cm 0 eV 11.4 keV 852 nm 852 nm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 216, Parent ID = 215 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.2 cm -5.44 mm -3.98 cm 124 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.2 cm -5.44 mm -3.98 cm 0 eV 124 keV 38.9 um 38.9 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 214, Parent ID = 207 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.34 cm -470 um -3.35 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.35 cm -197 um -3.31 cm 440 keV 0 eV 448 um 448 um Lead compt - 2 -2.45 cm 1.12 mm -3.24 cm 440 keV 0 eV 1.84 mm 2.29 mm Lead compt - 3 -2.63 cm 3.14 mm -3.11 cm 0 eV 88 keV 2.97 mm 5.25 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 222, Parent ID = 214 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.63 cm 3.14 mm -3.11 cm 352 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.63 cm 3.14 mm -3.11 cm 0 eV 352 keV 189 um 189 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 221, Parent ID = 214 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.45 cm 1.12 mm -3.24 cm 563 eV 0 eV 0 fm 0 fm Lead initStep - 1 -2.45 cm 1.12 mm -3.24 cm 0 eV 563 eV 14.6 nm 14.6 nm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 220, Parent ID = 214 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.35 cm -197 um -3.31 cm 70.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.35 cm -197 um -3.31 cm 0 eV 70.6 keV 15.7 um 15.7 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 213, Parent ID = 207 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.33 cm -500 um -3.34 cm 339 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.67 cm 1.72 mm -3.59 cm 0 eV 88 keV 4.71 mm 4.71 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 223, Parent ID = 213 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.67 cm 1.72 mm -3.59 cm 251 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.67 cm 1.72 mm -3.59 cm 0 eV 251 keV 115 um 115 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 212, Parent ID = 207 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.32 cm -472 um -3.35 cm 284 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.71 cm -7.79 mm -3.05 cm 0 eV 88 keV 8.82 mm 8.82 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 224, Parent ID = 212 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.71 cm -7.79 mm -3.05 cm 196 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.71 cm -7.79 mm -3.05 cm 0 eV 196 keV 79.5 um 79.5 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 211, Parent ID = 207 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.32 cm -418 um -3.36 cm 190 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.33 cm -585 um -3.25 cm 0 eV 88 keV 1.13 mm 1.13 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 225, Parent ID = 211 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.33 cm -585 um -3.25 cm 102 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.33 cm -587 um -3.25 cm 0 eV 102 keV 28.5 um 28.5 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 210, Parent ID = 207 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.28 cm -654 um -3.39 cm 1.62 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3 cm 2.09 cm -4.27 mm 1.62 MeV 0 eV 3.73 cm 3.73 cm Lead Transportation - 2 -3.5 cm 3.6 cm 1.64 cm 1.62 MeV 0 eV 2.61 cm 6.34 cm liquidArgon Transportation - 3 -3.65 cm 4.05 cm 2.25 cm 333 keV 0 eV 7.71 mm 7.11 cm Lead compt - 4 -3.5 cm 4.12 cm 2.18 cm 333 keV 0 eV 1.81 mm 7.29 cm Lead Transportation - 5 -3 cm 4.39 cm 1.95 cm 333 keV 0 eV 6.12 mm 7.91 cm liquidArgon Transportation - 6 -2.76 cm 4.51 cm 1.83 cm 0 eV 88 keV 2.99 mm 8.21 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 227, Parent ID = 210 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.76 cm 4.51 cm 1.83 cm 245 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.76 cm 4.51 cm 1.83 cm 0 eV 245 keV 112 um 112 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 226, Parent ID = 210 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.65 cm 4.05 cm 2.25 cm 1.29 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.65 cm 4.05 cm 2.26 cm 0 eV 1.29 MeV 982 um 982 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 209, Parent ID = 207 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.27 cm -1.19 mm -3.41 cm 131 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.27 cm -720 um -3.41 cm 0 eV 88 keV 478 um 478 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 228, Parent ID = 209 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.27 cm -720 um -3.41 cm 42.9 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.27 cm -719 um -3.41 cm 0 eV 42.9 keV 6.97 um 6.97 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 208, Parent ID = 207 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.31 cm -1.32 mm -3.4 cm 479 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2 cm -775 um -3.38 cm 479 keV 0 eV 3.16 mm 3.16 mm Lead Transportation - 2 -1.5 cm 108 um -3.34 cm 479 keV 0 eV 5.09 mm 8.24 mm liquidArgon Transportation - 3 -5 mm 1.87 mm -3.27 cm 479 keV 0 eV 1.02 cm 1.84 cm Lead Transportation - 4 -3.73e-05 fm 2.75 mm -3.23 cm 479 keV 0 eV 5.09 mm 2.35 cm liquidArgon Transportation - 5 2.63 mm 3.22 mm -3.22 cm 355 keV 0 eV 2.67 mm 2.62 cm Lead compt - 6 7.36 mm -836 um -3.03 cm 0 eV 88 keV 6.51 mm 3.27 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 230, Parent ID = 208 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.36 mm -836 um -3.03 cm 267 keV 0 eV 0 fm 0 fm Lead initStep - 1 7.36 mm -834 um -3.03 cm 0 eV 267 keV 126 um 126 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 229, Parent ID = 208 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.63 mm 3.22 mm -3.22 cm 124 keV 0 eV 0 fm 0 fm Lead initStep - 1 2.63 mm 3.22 mm -3.22 cm 0 eV 124 keV 38.8 um 38.8 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 206, Parent ID = 201 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.33 cm -1.32 mm -3.4 cm 4.38 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2.3 cm -1.57 mm -3.42 cm 3.2 MeV 704 keV 565 um 565 um Lead eBrem - 2 -2.28 cm -1.47 mm -3.44 cm 2.15 MeV 362 keV 368 um 933 um Lead eBrem - 3 -2.26 cm -1.75 mm -3.46 cm 934 keV 932 keV 911 um 1.84 mm Lead eBrem - 4 -2.26 cm -1.85 mm -3.45 cm 610 keV 179 keV 217 um 2.06 mm Lead eBrem - 5 -2.26 cm -1.85 mm -3.45 cm 0 eV 610 keV 398 um 2.46 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 234, Parent ID = 206 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.26 cm -1.85 mm -3.45 cm 145 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.26 cm -1.66 mm -3.47 cm 0 eV 88 keV 224 um 224 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 235, Parent ID = 234 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.26 cm -1.66 mm -3.47 cm 56.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.26 cm -1.66 mm -3.47 cm 0 eV 56.8 keV 11 um 11 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 233, Parent ID = 206 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.26 cm -1.75 mm -3.46 cm 285 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.24 cm -1.77 mm -3.45 cm 0 eV 88 keV 181 um 181 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 236, Parent ID = 233 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.24 cm -1.77 mm -3.45 cm 197 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.24 cm -1.77 mm -3.45 cm 0 eV 197 keV 80 um 80 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 232, Parent ID = 206 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.28 cm -1.47 mm -3.44 cm 685 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.22 cm -1.43 mm -3.46 cm 0 eV 88 keV 629 um 629 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 237, Parent ID = 232 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.22 cm -1.43 mm -3.46 cm 597 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.22 cm -1.45 mm -3.46 cm 407 keV 24.9 keV 19.8 um 19.8 um Lead eBrem - 2 -2.22 cm -1.46 mm -3.46 cm 0 eV 407 keV 232 um 252 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 238, Parent ID = 237 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.22 cm -1.45 mm -3.46 cm 165 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.23 cm -1.48 mm -3.46 cm 0 eV 88 keV 52.6 um 52.6 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 239, Parent ID = 238 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.23 cm -1.48 mm -3.46 cm 76.9 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.23 cm -1.48 mm -3.46 cm 0 eV 76.9 keV 18 um 18 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 231, Parent ID = 206 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.3 cm -1.57 mm -3.42 cm 479 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.29 cm -1.63 mm -3.45 cm 359 keV 0 eV 289 um 289 um Lead compt - 2 -2.36 cm -2.68 mm -3.58 cm 0 eV 88 keV 1.85 mm 2.14 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 241, Parent ID = 231 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.36 cm -2.68 mm -3.58 cm 271 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.36 cm -2.69 mm -3.58 cm 0 eV 271 keV 130 um 130 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 240, Parent ID = 231 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.29 cm -1.63 mm -3.45 cm 120 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.29 cm -1.63 mm -3.45 cm 0 eV 120 keV 36.9 um 36.9 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 200, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.88 cm -608 um -2.86 cm 3.41 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.62 cm -1.63 mm -2.96 cm 3.27 MeV 0 eV 2.94 mm 2.94 mm Lead compt - 2 -3.5 cm -2.03 mm -2.99 cm 3.27 MeV 0 eV 1.34 mm 4.27 mm Lead Transportation - 3 -3 cm -3.69 mm -3.13 cm 3.27 MeV 0 eV 5.45 mm 9.72 mm liquidArgon Transportation - 4 -2.35 cm -5.85 mm -3.31 cm 2.43 MeV 0 eV 7.09 mm 1.68 cm Lead compt - 5 -2 cm -7.27 mm -3.56 cm 2.43 MeV 0 eV 4.51 mm 2.13 cm Lead Transportation - 6 -1.5 cm -9.31 mm -3.91 cm 2.43 MeV 0 eV 6.46 mm 2.78 cm liquidArgon Transportation - 7 -1.41 cm -9.67 mm -3.97 cm 2.39 MeV 0 eV 1.13 mm 2.89 cm Lead compt - 8 -8.37 mm -1.23 cm -4.47 cm 0 eV 88 keV 8.02 mm 3.69 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 245, Parent ID = 200 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.37 mm -1.23 cm -4.47 cm 2.3 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -8.11 mm -1.26 cm -4.45 cm 775 keV 1.14 MeV 993 um 993 um Lead eBrem - 2 -8.13 mm -1.26 cm -4.45 cm 0 eV 775 keV 540 um 1.53 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 246, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.11 mm -1.26 cm -4.45 cm 385 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.5 cm -1.42 cm -4.29 cm 385 keV 0 eV 7.27 mm 7.27 mm Lead Transportation - 2 -2 cm -1.54 cm -4.17 cm 385 keV 0 eV 5.27 mm 1.25 cm liquidArgon Transportation - 3 -2.47 cm -1.65 cm -4.06 cm 0 eV 88 keV 4.91 mm 1.74 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 247, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.47 cm -1.65 cm -4.06 cm 297 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.47 cm -1.65 cm -4.06 cm 0 eV 297 keV 148 um 148 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 244, Parent ID = 200 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.41 cm -9.67 mm -3.97 cm 43.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.41 cm -9.67 mm -3.97 cm 0 eV 43.2 keV 7.05 um 7.05 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 243, Parent ID = 200 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.35 cm -5.85 mm -3.31 cm 844 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.35 cm -5.86 mm -3.31 cm 0 eV 844 keV 599 um 599 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 242, Parent ID = 200 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.62 cm -1.63 mm -2.96 cm 134 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.62 cm -1.63 mm -2.96 cm 0 eV 134 keV 43.9 um 43.9 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 199, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.98 cm -291 um -2.83 cm 627 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.72 cm -479 um -2.94 cm 0 eV 88 keV 2.84 mm 2.84 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 248, Parent ID = 199 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.72 cm -479 um -2.94 cm 539 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.72 cm -482 um -2.94 cm 0 eV 539 keV 339 um 339 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 198, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4 cm -275 um -2.82 cm 620 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm -1.26 mm -3.08 cm 620 keV 0 eV 5.64 mm 5.64 mm Lead Transportation - 2 -3 cm -2.26 mm -3.33 cm 620 keV 0 eV 5.7 mm 1.13 cm liquidArgon Transportation - 3 -2 cm -4.25 mm -3.84 cm 620 keV 0 eV 1.14 cm 2.27 cm Lead Transportation - 4 -1.5 cm -5.24 mm -4.09 cm 620 keV 0 eV 5.7 mm 2.84 cm liquidArgon Transportation - 5 -1.16 cm -5.92 mm -4.27 cm 0 eV 88 keV 3.89 mm 3.23 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 249, Parent ID = 198 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.16 cm -5.92 mm -4.27 cm 532 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.16 cm -5.93 mm -4.27 cm 0 eV 532 keV 333 um 333 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 197, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.04 cm -146 um -2.81 cm 425 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.54 cm -1.49 mm -3.07 cm 0 eV 88 keV 5.74 mm 5.74 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 250, Parent ID = 197 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.54 cm -1.49 mm -3.07 cm 337 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.54 cm -1.5 mm -3.07 cm 0 eV 337 keV 178 um 178 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 196, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.14 cm 331 um -2.73 cm 339 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm -721 um -3.11 cm 339 keV 0 eV 7.51 mm 7.51 mm Lead Transportation - 2 -3 cm -1.54 mm -3.4 cm 339 keV 0 eV 5.84 mm 1.34 cm liquidArgon Transportation - 3 -2.98 cm -1.58 mm -3.41 cm 327 keV 0 eV 252 um 1.36 cm Lead compt - 4 -2.7 cm -1.48 mm -3.48 cm 0 eV 88 keV 2.87 mm 1.65 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 252, Parent ID = 196 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.7 cm -1.48 mm -3.48 cm 239 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.7 cm -1.49 mm -3.48 cm 0 eV 239 keV 107 um 107 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 251, Parent ID = 196 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.98 cm -1.58 mm -3.41 cm 12.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.98 cm -1.58 mm -3.41 cm 0 eV 12.2 keV 938 nm 938 nm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 195, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.16 cm 363 um -2.72 cm 129 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.14 cm 322 um -2.73 cm 0 eV 88 keV 262 um 262 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 253, Parent ID = 195 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.14 cm 322 um -2.73 cm 40.7 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.14 cm 322 um -2.73 cm 0 eV 40.7 keV 6.38 um 6.38 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 194, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.17 cm 371 um -2.72 cm 1.89 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm 54.9 um -2.95 cm 1.89 MeV 0 eV 7.13 mm 7.13 mm Lead Transportation - 2 -3 cm -180 um -3.13 cm 1.89 MeV 0 eV 5.3 mm 1.24 cm liquidArgon Transportation - 3 -2 cm -649 um -3.48 cm 1.89 MeV 0 eV 1.06 cm 2.3 cm Lead Transportation - 4 -1.5 cm -884 um -3.65 cm 1.89 MeV 0 eV 5.3 mm 2.83 cm liquidArgon Transportation - 5 -1.22 cm -1.01 mm -3.75 cm 754 keV 0 eV 2.96 mm 3.13 cm Lead compt - 6 -7.02 mm -3.38 mm -3.42 cm 410 keV 0 eV 6.6 mm 3.79 cm Lead compt - 7 -7.62 mm -1.11 cm -3.18 cm 0 eV 88 keV 8.1 mm 4.6 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 256, Parent ID = 194 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.62 mm -1.11 cm -3.18 cm 322 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.61 mm -1.11 cm -3.18 cm 0 eV 322 keV 166 um 166 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 255, Parent ID = 194 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.02 mm -3.38 mm -3.42 cm 345 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.01 mm -3.38 mm -3.42 cm 0 eV 345 keV 184 um 184 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 254, Parent ID = 194 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.22 cm -1.01 mm -3.75 cm 1.14 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -1.21 cm -1.09 mm -3.75 cm 710 keV 209 keV 166 um 166 um Lead eBrem - 2 -1.21 cm -1.1 mm -3.75 cm 0 eV 710 keV 484 um 650 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 257, Parent ID = 254 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.21 cm -1.09 mm -3.75 cm 220 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.18 cm -810 um -3.77 cm 0 eV 88 keV 456 um 456 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 258, Parent ID = 257 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.18 cm -810 um -3.77 cm 132 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.18 cm -808 um -3.77 cm 0 eV 132 keV 43.1 um 43.1 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 193, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.18 cm 375 um -2.71 cm 122 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.07 cm 294 um -2.77 cm 0 eV 88 keV 1.21 mm 1.21 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 259, Parent ID = 193 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.07 cm 294 um -2.77 cm 33.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.07 cm 295 um -2.77 cm 0 eV 33.6 keV 4.69 um 4.69 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 192, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.35 cm 64.3 um -2.6 cm 122 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.33 cm 127 um -2.61 cm 0 eV 88 keV 198 um 198 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 260, Parent ID = 192 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.33 cm 127 um -2.61 cm 34.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.33 cm 127 um -2.61 cm 0 eV 34.2 keV 4.83 um 4.83 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 191, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.36 cm 37.6 um -2.6 cm 4.65 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm 2.85 mm -2.97 cm 4.65 MeV 0 eV 9.79 mm 9.79 mm Lead Transportation - 2 -3 cm 4.49 mm -3.19 cm 4.65 MeV 0 eV 5.7 mm 1.55 cm liquidArgon Transportation - 3 -2 cm 7.77 mm -3.63 cm 4.65 MeV 0 eV 1.14 cm 2.69 cm Lead Transportation - 4 -1.5 cm 9.41 mm -3.85 cm 4.65 MeV 0 eV 5.7 mm 3.26 cm liquidArgon Transportation - 5 -1.17 cm 1.05 cm -4 cm 0 eV 0 eV 3.81 mm 3.64 cm Lead conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 262, Parent ID = 191 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.17 cm 1.05 cm -4 cm 1.3 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -1.15 cm 1.05 cm -4 cm 0 eV 1.3 MeV 999 um 999 um Lead eIoni - 2 -1.15 cm 1.05 cm -4 cm 0 eV 0 eV 0 fm 999 um Lead annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 264, Parent ID = 262 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.15 cm 1.05 cm -4 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.46 cm 1.19 cm -4.25 cm 461 keV 0 eV 4.19 mm 4.19 mm Lead compt - 2 -1.5 cm 1.18 cm -4.28 cm 461 keV 0 eV 492 um 4.68 mm Lead Transportation - 3 -1.57 cm 1.17 cm -4.34 cm 281 keV 0 eV 945 um 5.63 mm liquidArgon compt - 4 -1.62 cm 1.16 cm -4.31 cm 218 keV 0 eV 614 um 6.24 mm liquidArgon compt - 5 -2 cm 2.89 cm -1.38 cm 218 keV 0 eV 3.42 cm 4.05 cm liquidArgon Transportation - 6 -2 cm 2.9 cm -1.36 cm 0 eV 88 keV 256 um 4.07 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 268, Parent ID = 264 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2 cm 2.9 cm -1.36 cm 130 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2 cm 2.91 cm -1.36 cm 116 keV 14.4 keV 7.06 um 7.06 um Lead msc - 2 -2 cm 2.9 cm -1.36 cm 108 keV 7.38 keV 7.06 um 14.1 um Lead msc - 3 -2 cm 2.9 cm -1.36 cm 104 keV 4.73 keV 7.06 um 21.2 um Lead msc - 4 -2 cm 2.9 cm -1.36 cm 84.9 keV 18.9 keV 7.06 um 28.2 um Lead msc - 5 -2 cm 2.9 cm -1.36 cm 67.2 keV 17.7 keV 7.06 um 35.3 um Lead msc - 6 -2 cm 2.9 cm -1.36 cm 0 eV 67.2 keV 14.5 um 49.8 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 267, Parent ID = 264 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.62 cm 1.16 cm -4.31 cm 62.8 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -1.62 cm 1.16 cm -4.31 cm 0 eV 62.8 keV 66.6 um 66.6 um liquidArgon eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 266, Parent ID = 264 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.57 cm 1.17 cm -4.34 cm 180 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -1.58 cm 1.17 cm -4.35 cm 0 eV 180 keV 386 um 386 um liquidArgon eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 265, Parent ID = 264 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.46 cm 1.19 cm -4.25 cm 49.7 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.46 cm 1.19 cm -4.25 cm 0 eV 49.7 keV 8.82 um 8.82 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 263, Parent ID = 262 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.15 cm 1.05 cm -4 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.45 mm 7.73 mm -3.52 cm 0 eV 88 keV 8.28 mm 8.28 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 269, Parent ID = 263 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.45 mm 7.73 mm -3.52 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.45 mm 7.73 mm -3.51 cm 0 eV 423 keV 244 um 244 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 261, Parent ID = 191 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.17 cm 1.05 cm -4 cm 2.33 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -1.17 cm 1.09 cm -3.99 cm 660 keV 1.57 MeV 1.22 mm 1.22 mm Lead eBrem - 2 -1.17 cm 1.1 cm -3.99 cm 0 eV 660 keV 441 um 1.66 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 270, Parent ID = 261 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.17 cm 1.09 cm -3.99 cm 106 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.18 cm 1.1 cm -4 cm 0 eV 88 keV 162 um 162 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 271, Parent ID = 270 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.18 cm 1.1 cm -4 cm 17.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.18 cm 1.1 cm -4 cm 0 eV 17.8 keV 1.69 um 1.69 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 190, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.37 cm -13.9 um -2.59 cm 3.13 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.35 cm 126 um -2.6 cm 2.86 MeV 277 keV 314 um 314 um Lead msc - 2 -4.34 cm -11.2 um -2.61 cm 2.51 MeV 349 keV 314 um 627 um Lead msc - 3 -4.33 cm 113 um -2.61 cm 2.07 MeV 207 keV 196 um 823 um Lead eBrem - 4 -4.31 cm 181 um -2.59 cm 1.47 MeV 604 keV 351 um 1.17 mm Lead msc - 5 -4.3 cm 192 um -2.58 cm 259 keV 1.21 MeV 1.12 mm 2.3 mm Lead eIoni - 6 -4.3 cm 195 um -2.58 cm 0 eV 259 keV 121 um 2.42 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 272, Parent ID = 190 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.33 cm 113 um -2.61 cm 231 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.28 cm 287 um -2.61 cm 0 eV 88 keV 459 um 459 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 273, Parent ID = 272 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.28 cm 287 um -2.61 cm 143 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.28 cm 286 um -2.61 cm 0 eV 143 keV 48.9 um 48.9 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 189, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.53 cm -382 um -2.45 cm 2.68 MeV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -4.5 cm -270 um -2.49 cm 2.68 MeV 0 eV 501 um 501 um liquidArgon Transportation - 2 -4.22 cm 636 um -2.77 cm 421 keV 0 eV 4.05 mm 4.55 mm Lead compt - 3 -4.24 cm -3.96 mm -2.92 cm 0 eV 88 keV 4.82 mm 9.38 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 275, Parent ID = 189 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.24 cm -3.96 mm -2.92 cm 333 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.24 cm -3.97 mm -2.92 cm 0 eV 333 keV 175 um 175 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 274, Parent ID = 189 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.22 cm 636 um -2.77 cm 2.26 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.22 cm 678 um -2.78 cm 2.04 MeV 102 keV 122 um 122 um Lead eBrem - 2 -4.25 cm 697 um -2.8 cm 739 keV 1.04 MeV 1.03 mm 1.15 mm Lead eBrem - 3 -4.26 cm 650 um -2.81 cm 100 keV 513 keV 375 um 1.53 mm Lead eBrem - 4 -4.26 cm 651 um -2.81 cm 0 eV 100 keV 27.6 um 1.56 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 278, Parent ID = 274 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.26 cm 650 um -2.81 cm 125 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.26 cm 663 um -2.81 cm 0 eV 88 keV 40.7 um 40.7 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 279, Parent ID = 278 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.26 cm 663 um -2.81 cm 37 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.26 cm 663 um -2.81 cm 0 eV 37 keV 5.48 um 5.48 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 277, Parent ID = 274 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.25 cm 697 um -2.8 cm 263 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.3 cm -120 um -2.72 cm 0 eV 88 keV 1.24 mm 1.24 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 280, Parent ID = 277 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.3 cm -120 um -2.72 cm 175 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.3 cm -121 um -2.72 cm 0 eV 175 keV 67.1 um 67.1 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 276, Parent ID = 274 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.22 cm 678 um -2.78 cm 112 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.22 cm 606 um -2.79 cm 0 eV 88 keV 101 um 101 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 281, Parent ID = 276 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.22 cm 606 um -2.79 cm 24 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.22 cm 606 um -2.79 cm 0 eV 24 keV 2.71 um 2.71 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 188, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.17 cm -1.33 mm -1.85 cm 1.7 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.15 cm -1.35 mm -1.85 cm 1.14 MeV 373 keV 212 um 212 um Lead eBrem - 2 -5.15 cm -1.27 mm -1.84 cm 594 keV 542 keV 555 um 767 um Lead eBrem - 3 -5.15 cm -1.29 mm -1.84 cm 0 eV 594 keV 385 um 1.15 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 282, Parent ID = 188 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.15 cm -1.35 mm -1.85 cm 191 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.13 cm -1.18 mm -1.86 cm 0 eV 88 keV 283 um 283 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 283, Parent ID = 282 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.13 cm -1.18 mm -1.86 cm 103 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.13 cm -1.18 mm -1.86 cm 0 eV 103 keV 28.6 um 28.6 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 187, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.27 cm -1.56 mm -1.73 cm 780 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -1.37 mm -2.09 cm 780 keV 0 eV 4.49 mm 4.49 mm Lead Transportation - 2 -4.77 cm -1.21 mm -2.4 cm 712 keV 0 eV 3.87 mm 8.36 mm liquidArgon compt - 3 -4.5 cm -2.52 mm -3.17 cm 712 keV 0 eV 8.21 mm 1.66 cm liquidArgon Transportation - 4 -3.86 cm -5.6 mm -4.97 cm 0 eV 88 keV 1.94 cm 3.6 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 285, Parent ID = 187 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.86 cm -5.6 mm -4.97 cm 624 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.86 cm -5.64 mm -4.97 cm 542 keV 82.8 keV 64.3 um 64.3 um Lead msc - 2 -3.86 cm -5.63 mm -4.97 cm 484 keV 57.7 keV 64.3 um 129 um Lead msc - 3 -3.86 cm -5.64 mm -4.98 cm 398 keV 85.6 keV 64.3 um 193 um Lead msc - 4 -3.86 cm -5.65 mm -4.98 cm 332 keV 66.3 keV 64.3 um 257 um Lead msc - 5 -3.87 cm -5.66 mm -4.98 cm 0 eV 332 keV 174 um 431 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 284, Parent ID = 187 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.77 cm -1.21 mm -2.4 cm 67.5 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -4.77 cm -1.2 mm -2.4 cm 0 eV 67.5 keV 75.8 um 75.8 um liquidArgon eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 186, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.29 cm -1.56 mm -1.71 cm 1.47 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -1.81 mm -2 cm 1.47 MeV 0 eV 4.11 mm 4.11 mm Lead Transportation - 2 -4.5 cm -2.26 mm -2.51 cm 1.47 MeV 0 eV 7.17 mm 1.13 cm liquidArgon Transportation - 3 -3.55 cm -3.1 mm -3.49 cm 325 keV 0 eV 1.36 cm 2.49 cm Lead compt - 4 -3.87 cm -2.99 mm -3.68 cm 0 eV 88 keV 3.75 mm 2.87 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 287, Parent ID = 186 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.87 cm -2.99 mm -3.68 cm 237 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.87 cm -2.98 mm -3.68 cm 0 eV 237 keV 106 um 106 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 286, Parent ID = 186 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.55 cm -3.1 mm -3.49 cm 1.14 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.54 cm -3.04 mm -3.49 cm 969 keV 176 keV 123 um 123 um Lead msc - 2 -3.54 cm -2.99 mm -3.49 cm 846 keV 123 keV 123 um 247 um Lead msc - 3 -3.54 cm -2.98 mm -3.5 cm 632 keV 214 keV 123 um 370 um Lead msc - 4 -3.54 cm -2.93 mm -3.5 cm 483 keV 149 keV 123 um 494 um Lead msc - 5 -3.54 cm -2.9 mm -3.5 cm 285 keV 199 keV 123 um 617 um Lead msc - 6 -3.54 cm -2.91 mm -3.5 cm 0 eV 285 keV 139 um 756 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 185, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.35 cm -1.6 mm -1.64 cm 9.05 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.25 cm -1.5 mm -1.73 cm 0 eV 0 eV 1.32 mm 1.32 mm Lead conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 289, Parent ID = 185 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.25 cm -1.5 mm -1.73 cm 6.38 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.21 cm -1.2 mm -1.75 cm 5.46 MeV 915 keV 622 um 622 um Lead msc - 2 -5.17 cm -928 um -1.79 cm 4.8 MeV 659 keV 622 um 1.24 mm Lead msc - 3 -5.17 cm -913 um -1.79 cm 4.06 MeV 75.6 keV 83.3 um 1.33 mm Lead eBrem - 4 -5.16 cm -888 um -1.81 cm 3.52 MeV 202 keV 202 um 1.53 mm Lead eBrem - 5 -5.17 cm -956 um -1.86 cm 2.94 MeV 582 keV 622 um 2.15 mm Lead msc - 6 -5.21 cm -747 um -1.88 cm 2.33 MeV 604 keV 622 um 2.77 mm Lead msc - 7 -5.19 cm -378 um -1.89 cm 1.63 MeV 699 keV 622 um 3.4 mm Lead msc - 8 -5.16 cm -403 um -1.89 cm 109 keV 1.52 MeV 1.24 mm 4.64 mm Lead eIoni - 9 -5.16 cm -406 um -1.89 cm 0 eV 109 keV 29.2 um 4.67 mm Lead eIoni - 10 -5.16 cm -406 um -1.89 cm 0 eV 0 eV 0 fm 4.67 mm Lead annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 293, Parent ID = 289 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.16 cm -406 um -1.89 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.18 cm 312 um -2.13 cm 0 eV 88 keV 2.5 mm 2.5 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 294, Parent ID = 293 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.18 cm 312 um -2.13 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.18 cm 310 um -2.13 cm 0 eV 423 keV 244 um 244 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 292, Parent ID = 289 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.16 cm -406 um -1.89 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.12 cm -1.32 mm -1.59 cm 0 eV 88 keV 3.18 mm 3.18 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 295, Parent ID = 292 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.12 cm -1.32 mm -1.59 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.12 cm -1.33 mm -1.59 cm 0 eV 423 keV 244 um 244 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 291, Parent ID = 289 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.16 cm -888 um -1.81 cm 344 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.12 cm -2.07 mm -1.99 cm 286 keV 0 eV 2.21 mm 2.21 mm Lead compt - 2 -5.12 cm -2.66 mm -2.01 cm 0 eV 88 keV 603 um 2.81 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 297, Parent ID = 291 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.12 cm -2.66 mm -2.01 cm 198 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.12 cm -2.66 mm -2.01 cm 0 eV 198 keV 80.8 um 80.8 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 296, Parent ID = 291 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.12 cm -2.07 mm -1.99 cm 57.3 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.12 cm -2.07 mm -1.99 cm 0 eV 57.3 keV 11.2 um 11.2 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 290, Parent ID = 289 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.17 cm -913 um -1.79 cm 663 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.13 cm -190 um -2.03 cm 236 keV 0 eV 2.53 mm 2.53 mm Lead compt - 2 -5.05 cm -160 um -1.98 cm 0 eV 88 keV 894 um 3.43 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 299, Parent ID = 290 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.05 cm -160 um -1.98 cm 148 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.05 cm -158 um -1.98 cm 0 eV 148 keV 51.5 um 51.5 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 298, Parent ID = 290 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.13 cm -190 um -2.03 cm 427 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.13 cm -186 um -2.03 cm 0 eV 427 keV 248 um 248 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 288, Parent ID = 185 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.25 cm -1.5 mm -1.73 cm 1.65 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.25 cm -1.75 mm -1.74 cm 985 keV 664 keV 706 um 706 um Lead eBrem - 2 -5.25 cm -1.79 mm -1.74 cm 761 keV 53.8 keV 61.4 um 768 um Lead eBrem - 3 -5.25 cm -1.77 mm -1.73 cm 149 keV 343 keV 328 um 1.1 mm Lead eBrem - 4 -5.25 cm -1.77 mm -1.73 cm 0 eV 149 keV 52.2 um 1.15 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 301, Parent ID = 288 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.25 cm -1.77 mm -1.73 cm 269 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.23 cm -2.48 mm -1.88 cm 0 eV 88 keV 1.65 mm 1.65 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 302, Parent ID = 301 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.23 cm -2.48 mm -1.88 cm 181 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.23 cm -2.48 mm -1.88 cm 0 eV 181 keV 70.6 um 70.6 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 300, Parent ID = 288 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.25 cm -1.79 mm -1.74 cm 170 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.28 cm -2.43 mm -1.66 cm 0 eV 88 keV 1.05 mm 1.05 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 303, Parent ID = 300 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.28 cm -2.43 mm -1.66 cm 81.7 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.28 cm -2.43 mm -1.66 cm 0 eV 81.7 keV 19.9 um 19.9 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 184, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.44 cm -1.68 mm -1.57 cm 1.22 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -1.71 mm -1.94 cm 1.22 MeV 0 eV 5.73 mm 5.73 mm Lead Transportation - 2 -4.5 cm -1.75 mm -2.37 cm 1.22 MeV 0 eV 6.56 mm 1.23 cm liquidArgon Transportation - 3 -3.5 cm -1.82 mm -3.22 cm 1.22 MeV 0 eV 1.31 cm 2.54 cm Lead Transportation - 4 -3 cm -1.85 mm -3.64 cm 1.22 MeV 0 eV 6.56 mm 3.2 cm liquidArgon Transportation - 5 -2 cm -1.92 mm -4.49 cm 1.22 MeV 0 eV 1.31 cm 4.51 cm Lead Transportation - 6 -1.74 cm -1.93 mm -4.71 cm 792 keV 0 eV 3.42 mm 4.85 cm liquidArgon compt - 7 -1.5 cm -1.16 mm -4.73 cm 792 keV 0 eV 2.53 mm 5.1 cm liquidArgon Transportation - 8 -1.21 cm -200 um -4.76 cm 0 eV 88 keV 3.1 mm 5.41 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 305, Parent ID = 184 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.21 cm -200 um -4.76 cm 704 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.2 cm -284 um -4.76 cm 70.2 keV 421 keV 350 um 350 um Lead eBrem - 2 -1.2 cm -285 um -4.76 cm 0 eV 70.2 keV 15.6 um 366 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 306, Parent ID = 305 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.2 cm -284 um -4.76 cm 213 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.16 cm -274 um -4.86 cm 0 eV 88 keV 1.12 mm 1.12 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 307, Parent ID = 306 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.16 cm -274 um -4.86 cm 125 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.16 cm -273 um -4.86 cm 0 eV 125 keV 39.2 um 39.2 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 304, Parent ID = 184 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.74 cm -1.93 mm -4.71 cm 426 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -1.69 cm -1.7 mm -4.75 cm 10 keV 416 keV 1.31 mm 1.31 mm liquidArgon eIoni - 2 -1.69 cm -1.7 mm -4.75 cm 0 eV 10 keV 2.86 um 1.32 mm liquidArgon eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 183, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.44 cm -1.68 mm -1.57 cm 220 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.41 cm -1.69 mm -1.59 cm 216 keV 0 eV 373 um 373 um Lead compt - 2 -5.37 cm -1.55 mm -1.64 cm 0 eV 88 keV 641 um 1.01 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 309, Parent ID = 183 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.37 cm -1.55 mm -1.64 cm 128 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.37 cm -1.55 mm -1.64 cm 0 eV 128 keV 41 um 41 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 308, Parent ID = 183 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.41 cm -1.69 mm -1.59 cm 4.07 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.41 cm -1.69 mm -1.59 cm 0 eV 4.07 keV 194 nm 194 nm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 182, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.57 cm -1.41 mm -1.45 cm 11 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.35 cm -1.63 mm -1.62 cm 0 eV 0 eV 2.74 mm 2.74 mm Lead conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 311, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.35 cm -1.63 mm -1.62 cm 2 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.31 cm -1.55 mm -1.6 cm 557 keV 840 keV 667 um 667 um Lead eBrem - 2 -5.31 cm -1.52 mm -1.6 cm 0 eV 557 keV 351 um 1.02 mm Lead eIoni - 3 -5.31 cm -1.52 mm -1.6 cm 0 eV 0 eV 0 fm 1.02 mm Lead annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 314, Parent ID = 311 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.31 cm -1.52 mm -1.6 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.18 cm -3.41 mm -1.86 cm 0 eV 88 keV 3.42 mm 3.42 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 315, Parent ID = 314 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.18 cm -3.41 mm -1.86 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.18 cm -3.41 mm -1.86 cm 0 eV 423 keV 244 um 244 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 313, Parent ID = 311 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.31 cm -1.52 mm -1.6 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.95 cm 7.48 mm -4.03 mm 492 keV 0 eV 1.63 cm 1.63 cm Lead compt - 2 -6 cm 7.8 mm -3.5 mm 492 keV 0 eV 785 um 1.71 cm Lead Transportation - 3 -6.5 cm 1.1 cm 2 mm 492 keV 0 eV 8.11 mm 2.52 cm liquidArgon Transportation - 4 -7.05 cm 1.46 cm 8.07 mm 0 eV 88 keV 8.94 mm 3.41 cm Lead phot + 0 -6.56 cm -894 um -9.29 mm 183 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.5 cm -916 um -9.54 mm 182 MeV 966 keV 684 um 684 um Lead Transportation + 2 -6 cm -982 um -1.14 cm 181 MeV 1.25 MeV 5.34 mm 6.03 mm liquidArgon Transportation + 3 -6 cm -982 um -1.14 cm 180 MeV 5.41 keV 7.07 um 6.03 mm Lead eBrem + 4 -5.92 cm -1.01 mm -1.17 cm 177 MeV 1.99 MeV 880 um 6.91 mm Lead eBrem + 5 -5.86 cm -1.04 mm -1.2 cm 175 MeV 1.21 MeV 598 um 7.51 mm Lead eBrem + 6 -5.71 cm -1.05 mm -1.26 cm 169 MeV 2.28 MeV 1.61 mm 9.12 mm Lead eBrem + 7 -5.71 cm -1.05 mm -1.26 cm 31.1 MeV 40.6 keV 46.4 um 9.17 mm Lead eBrem + 8 -5.65 cm -1.07 mm -1.27 cm 29.8 MeV 775 keV 619 um 9.79 mm Lead eBrem + 9 -5.65 cm -1.08 mm -1.27 cm 23.1 MeV 13.7 keV 22.9 um 9.81 mm Lead eBrem + 10 -5.48 cm -2.3 mm -1.3 cm 20.2 MeV 2.89 MeV 2.13 mm 1.19 cm Lead eBrem + 11 -5.4 cm -2.93 mm -1.34 cm 18.6 MeV 1.24 MeV 1.13 mm 1.31 cm Lead eBrem + 12 -5.38 cm -3.08 mm -1.35 cm 17.8 MeV 272 keV 294 um 1.34 cm Lead eBrem + 13 -5.38 cm -3.1 mm -1.36 cm 13.5 MeV 41.9 keV 34.6 um 1.34 cm Lead eIoni + 14 -5.34 cm -3.25 mm -1.41 cm 4.46 MeV 855 keV 708 um 1.41 cm Lead eBrem + 15 -5.34 cm -3.32 mm -1.47 cm 3.38 MeV 853 keV 794 um 1.49 cm Lead eBrem + 16 -5.34 cm -3.18 mm -1.53 cm 1.82 MeV 1.1 MeV 786 um 1.57 cm Lead eBrem + 17 -5.34 cm -3.52 mm -1.55 cm 489 keV 1.33 MeV 1.36 mm 1.7 cm Lead eIoni + 18 -5.34 cm -3.53 mm -1.56 cm 0 eV 489 keV 296 um 1.73 cm Lead eIoni + 19 -5.34 cm -3.53 mm -1.56 cm 0 eV 0 eV 0 fm 1.73 cm Lead annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 317, Parent ID = 313 +* G4Track Information: Particle = gamma, Track ID = 267, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.05 cm 1.46 cm 8.07 mm 404 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.05 cm 1.46 cm 8.08 mm 151 keV 111 keV 94.9 um 94.9 um Lead eBrem - 2 -7.06 cm 1.46 cm 8.07 mm 0 eV 151 keV 53.1 um 148 um Lead eIoni + 0 -5.34 cm -3.53 mm -1.56 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.29 cm 943 um -1.06 cm 0 eV 88 keV 6.71 mm 6.71 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 318, Parent ID = 317 +* G4Track Information: Particle = e-, Track ID = 268, Parent ID = 267 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.05 cm 1.46 cm 8.08 mm 142 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.05 cm 1.44 cm 7.92 mm 0 eV 88 keV 267 um 267 um Lead phot + 0 -5.29 cm 943 um -1.06 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.29 cm 955 um -1.06 cm 0 eV 423 keV 246 um 246 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 319, Parent ID = 318 +* G4Track Information: Particle = gamma, Track ID = 266, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.05 cm 1.44 cm 7.92 mm 53.9 keV 0 eV 0 fm 0 fm Lead initStep - 1 -7.05 cm 1.44 cm 7.92 mm 0 eV 53.9 keV 10.1 um 10.1 um Lead eIoni + 0 -5.34 cm -3.53 mm -1.56 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.34 cm -4.32 mm -1.65 cm 388 keV 0 eV 1.19 mm 1.19 mm Lead compt + 2 -5.02 cm -1.33 cm -1.76 cm 260 keV 0 eV 9.62 mm 1.08 cm Lead compt + 3 -5.02 cm -1.34 cm -1.74 cm 0 eV 88 keV 169 um 1.1 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 316, Parent ID = 313 +* G4Track Information: Particle = e-, Track ID = 271, Parent ID = 266 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.95 cm 7.48 mm -4.03 mm 19.1 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.95 cm 7.48 mm -4.03 mm 0 eV 19.1 keV 1.88 um 1.88 um Lead eIoni + 0 -5.02 cm -1.34 cm -1.74 cm 172 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.02 cm -1.34 cm -1.74 cm 0 eV 172 keV 65.5 um 65.5 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 312, Parent ID = 311 +* G4Track Information: Particle = e-, Track ID = 270, Parent ID = 266 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.31 cm -1.55 mm -1.6 cm 603 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.29 cm -1.05 mm -1.61 cm 0 eV 88 keV 551 um 551 um Lead phot + 0 -5.02 cm -1.33 cm -1.76 cm 128 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.02 cm -1.33 cm -1.76 cm 0 eV 128 keV 40.9 um 40.9 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 320, Parent ID = 312 +* G4Track Information: Particle = e-, Track ID = 269, Parent ID = 266 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.29 cm -1.05 mm -1.61 cm 515 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.29 cm -1.03 mm -1.61 cm 0 eV 515 keV 319 um 319 um Lead eIoni + 0 -5.34 cm -4.32 mm -1.65 cm 123 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.34 cm -4.32 mm -1.65 cm 0 eV 123 keV 38.4 um 38.4 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 310, Parent ID = 182 +* G4Track Information: Particle = gamma, Track ID = 265, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.35 cm -1.63 mm -1.62 cm 7.98 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.27 cm -1.8 mm -1.63 cm 6.92 MeV 1.05 MeV 873 um 873 um Lead msc - 2 -5.26 cm -1.74 mm -1.63 cm 4.74 MeV 172 keV 144 um 1.02 mm Lead eBrem - 3 -5.26 cm -1.64 mm -1.65 cm 3.91 MeV 238 keV 273 um 1.29 mm Lead eBrem - 4 -5.22 cm -1.21 mm -1.64 cm 2.87 MeV 1.04 MeV 873 um 2.16 mm Lead msc - 5 -5.25 cm -858 um -1.64 cm 2.03 MeV 842 keV 801 um 2.97 mm Lead eBrem - 6 -5.25 cm -862 um -1.64 cm 1.08 MeV 6.68 keV 6.52 um 2.97 mm Lead eBrem - 7 -5.25 cm -919 um -1.64 cm 0 eV 1.08 MeV 805 um 3.78 mm Lead eIoni + 0 -5.34 cm -3.18 mm -1.53 cm 456 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm 313 um -1.94 cm 456 keV 0 eV 6.35 mm 6.35 mm Lead Transportation + 2 -4.95 cm 838 um -2 cm 256 keV 0 eV 954 um 7.3 mm liquidArgon compt + 3 -5 cm 7.06 mm -1.65 cm 256 keV 0 eV 7.16 mm 1.45 cm liquidArgon Transportation + 4 -5 cm 7.09 mm -1.65 cm 0 eV 88 keV 39.5 um 1.45 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 323, Parent ID = 310 +* G4Track Information: Particle = e-, Track ID = 273, Parent ID = 265 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.25 cm -862 um -1.64 cm 944 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6 cm -4.57 mm -1.88 cm 944 keV 0 eV 8.72 mm 8.72 mm Lead Transportation - 2 -6.5 cm -7.03 mm -2.03 cm 944 keV 0 eV 5.78 mm 1.45 cm liquidArgon Transportation - 3 -7.5 cm -1.2 cm -2.34 cm 944 keV 0 eV 1.16 cm 2.61 cm Lead Transportation - 4 -9 cm -1.93 cm -2.81 cm 944 keV 0 eV 1.74 cm 4.34 cm OutOfWorld Transportation + 0 -5 cm 7.09 mm -1.65 cm 168 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm 7.09 mm -1.65 cm 165 keV 3.23 keV 2.52 um 2.52 um Lead msc + 2 -5 cm 7.09 mm -1.65 cm 158 keV 6.72 keV 2.52 um 5.04 um Lead msc + 3 -5 cm 7.09 mm -1.65 cm 153 keV 5.6 keV 2.52 um 7.56 um Lead msc + 4 -5 cm 7.09 mm -1.65 cm 146 keV 6.31 keV 2.52 um 10.1 um Lead msc + 5 -5 cm 7.09 mm -1.65 cm 140 keV 6.73 keV 2.52 um 12.6 um Lead msc + 6 -5 cm 7.09 mm -1.65 cm 136 keV 3.79 keV 2.52 um 15.1 um Lead msc + 7 -5 cm 7.09 mm -1.65 cm 133 keV 2.42 keV 2.52 um 17.6 um Lead msc + 8 -5 cm 7.09 mm -1.65 cm 119 keV 14.6 keV 2.52 um 20.2 um Lead msc + 9 -5 cm 7.1 mm -1.65 cm 117 keV 1.45 keV 2.97 um 23.1 um Lead msc + 10 -5 cm 7.1 mm -1.65 cm 115 keV 1.89 keV 3.39 um 26.5 um Lead msc + 11 -5 cm 7.1 mm -1.65 cm 109 keV 6.52 keV 3.38 um 29.9 um Lead msc + 12 -5 cm 7.1 mm -1.65 cm 94.6 keV 14.4 keV 3.32 um 33.2 um Lead msc + 13 -5 cm 7.1 mm -1.65 cm 88.7 keV 5.92 keV 3.47 um 36.7 um Lead msc + 14 -5 cm 7.1 mm -1.65 cm 84.2 keV 4.46 keV 2.85 um 39.5 um Lead msc + 15 -5 cm 7.1 mm -1.65 cm 75.4 keV 8.84 keV 2.52 um 42.1 um Lead msc + 16 -5 cm 7.1 mm -1.65 cm 70.5 keV 4.88 keV 2.52 um 44.6 um Lead msc + 17 -5 cm 7.1 mm -1.65 cm 64 keV 6.52 keV 2.52 um 47.1 um Lead msc + 18 -5 cm 7.1 mm -1.65 cm 58.2 keV 5.77 keV 2.52 um 49.6 um Lead msc + 19 -5 cm 7.1 mm -1.65 cm 54.6 keV 3.64 keV 2.52 um 52.1 um Lead msc + 20 -5 cm 7.1 mm -1.65 cm 45.6 keV 8.99 keV 2.52 um 54.7 um Lead msc + 21 -5 cm 7.1 mm -1.65 cm 40.6 keV 4.93 keV 2.52 um 57.2 um Lead msc + 22 -5 cm 7.1 mm -1.65 cm 0 eV 40.6 keV 6.39 um 63.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 322, Parent ID = 310 +* G4Track Information: Particle = e-, Track ID = 272, Parent ID = 265 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.26 cm -1.64 mm -1.65 cm 590 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.17 cm 542 um -1.81 cm 0 eV 88 keV 2.84 mm 2.84 mm Lead phot + 0 -4.95 cm 838 um -2 cm 200 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.94 cm 845 um -2.01 cm 0 eV 200 keV 454 um 454 um liquidArgon eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 324, Parent ID = 322 +* G4Track Information: Particle = gamma, Track ID = 264, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.17 cm 542 um -1.81 cm 502 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.18 cm 579 um -1.81 cm 129 keV 373 keV 237 um 237 um Lead eBrem - 2 -5.18 cm 578 um -1.81 cm 0 eV 129 keV 41.3 um 279 um Lead eIoni + 0 -5.34 cm -3.32 mm -1.47 cm 230 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.33 cm -3.48 mm -1.51 cm 0 eV 88 keV 441 um 441 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 321, Parent ID = 310 +* G4Track Information: Particle = e-, Track ID = 274, Parent ID = 264 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.26 cm -1.74 mm -1.63 cm 2.01 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.13 cm 2.49 mm -2.04 cm 1.48 MeV 0 eV 6.07 mm 6.07 mm Lead compt - 2 -5 cm 4.98 mm -2.72 cm 1.48 MeV 0 eV 7.32 mm 1.34 cm Lead Transportation - 3 -4.55 cm 1.34 cm -5 cm 1.48 MeV 0 eV 2.47 cm 3.81 cm liquidArgon Transportation - 4 -4.35 cm 1.7 cm -6 cm 1.48 MeV 0 eV 1.08 cm 4.89 cm OutOfWorld Transportation + 0 -5.33 cm -3.48 mm -1.51 cm 142 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.33 cm -3.48 mm -1.51 cm 0 eV 142 keV 48.5 um 48.5 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 325, Parent ID = 321 +* G4Track Information: Particle = gamma, Track ID = 263, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.13 cm 2.49 mm -2.04 cm 537 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.13 cm 2.52 mm -2.04 cm 207 keV 205 keV 178 um 178 um Lead eBrem - 2 -5.13 cm 2.52 mm -2.04 cm 0 eV 207 keV 86.5 um 265 um Lead eIoni + 0 -5.34 cm -3.25 mm -1.41 cm 8.2 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -3.7 mm -1.84 cm 8.2 MeV 0 eV 5.49 mm 5.49 mm Lead Transportation + 2 -4.8 cm -3.97 mm -2.09 cm 0 eV 0 eV 3.28 mm 8.77 mm liquidArgon conv ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 326, Parent ID = 325 +* G4Track Information: Particle = e+, Track ID = 276, Parent ID = 263 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.13 cm 2.52 mm -2.04 cm 124 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.15 cm 2.71 mm -2.03 cm 0 eV 88 keV 302 um 302 um Lead phot + 0 -4.8 cm -3.97 mm -2.09 cm 2.24 MeV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.7 cm -3.94 mm -2.17 cm 2.05 MeV 197 keV 1.29 mm 1.29 mm liquidArgon msc + 2 -4.61 cm -3.46 mm -2.24 cm 1.87 MeV 182 keV 1.29 mm 2.57 mm liquidArgon msc + 3 -4.52 cm -3.16 mm -2.32 cm 1.68 MeV 186 keV 1.29 mm 3.86 mm liquidArgon msc + 4 -4.5 cm -3.28 mm -2.37 cm 1.58 MeV 96.4 keV 598 um 4.46 mm liquidArgon Transportation + 5 -4.5 cm -3.28 mm -2.37 cm 1.58 MeV 0 eV 0 fm 4.46 mm Lead Transportation + 6 -4.51 cm -3.35 mm -2.43 cm 1.51 MeV 72.8 keV 598 um 5.06 mm liquidArgon msc + 7 -4.54 cm -3.6 mm -2.47 cm 1.42 MeV 90.7 keV 598 um 5.65 mm liquidArgon msc + 8 -4.57 cm -3.57 mm -2.52 cm 1.34 MeV 83.1 keV 598 um 6.25 mm liquidArgon msc + 9 -4.59 cm -3.61 mm -2.57 cm 1.25 MeV 84.9 keV 598 um 6.85 mm liquidArgon msc + 10 -4.64 cm -3.53 mm -2.6 cm 1.12 MeV 134 keV 598 um 7.45 mm liquidArgon msc + 11 -4.69 cm -3.76 mm -2.62 cm 963 keV 154 keV 598 um 8.05 mm liquidArgon msc + 12 -4.74 cm -3.91 mm -2.63 cm 886 keV 77 keV 598 um 8.64 mm liquidArgon msc + 13 -4.79 cm -3.71 mm -2.63 cm 765 keV 122 keV 598 um 9.24 mm liquidArgon msc + 14 -4.79 cm -3.2 mm -2.61 cm 675 keV 89.6 keV 598 um 9.84 mm liquidArgon msc + 15 -4.82 cm -2.7 mm -2.61 cm 568 keV 107 keV 598 um 1.04 cm liquidArgon msc + 16 -4.83 cm -2.2 mm -2.61 cm 465 keV 103 keV 598 um 1.1 cm liquidArgon msc + 17 -4.85 cm -1.88 mm -2.63 cm 348 keV 117 keV 598 um 1.16 cm liquidArgon msc + 18 -4.9 cm -1.85 mm -2.65 cm 233 keV 116 keV 598 um 1.22 cm liquidArgon msc + 19 -4.9 cm -2.01 mm -2.67 cm 105 keV 117 keV 396 um 1.26 cm liquidArgon eBrem + 20 -4.91 cm -2 mm -2.67 cm 0 eV 105 keV 150 um 1.28 cm liquidArgon eIoni + 21 -4.91 cm -2 mm -2.67 cm 0 eV 0 eV 0 fm 1.28 cm liquidArgon annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 327, Parent ID = 326 +* G4Track Information: Particle = gamma, Track ID = 279, Parent ID = 276 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.15 cm 2.71 mm -2.03 cm 35.9 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.15 cm 2.71 mm -2.03 cm 0 eV 35.9 keV 5.22 um 5.22 um Lead eIoni + 0 -4.91 cm -2 mm -2.67 cm 511 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.5 cm -4.94 mm -2.62 cm 511 keV 0 eV 5.05 mm 5.05 mm liquidArgon Transportation + 2 -4 cm -8.55 mm -2.56 cm 0 eV 88 keV 6.2 mm 1.12 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 181, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 280, Parent ID = 279 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.59 cm -1.39 mm -1.44 cm 55.2 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -2 mm -1.87 cm 55.2 MeV 0 eV 7.33 mm 7.33 mm Lead Transportation - 2 -4.5 cm -2.53 mm -2.25 cm 55.2 MeV 0 eV 6.25 mm 1.36 cm liquidArgon Transportation - 3 -3.95 cm -3.11 mm -2.65 cm 0 eV 0 eV 6.86 mm 2.04 cm Lead conv + 0 -4 cm -8.55 mm -2.56 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4 cm -8.55 mm -2.56 cm 130 keV 148 keV 113 um 113 um Lead eBrem + 2 -4 cm -8.55 mm -2.56 cm 0 eV 130 keV 41.9 um 155 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 329, Parent ID = 181 +* G4Track Information: Particle = gamma, Track ID = 281, Parent ID = 280 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.95 cm -3.11 mm -2.65 cm 50.4 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.89 cm -3.18 mm -2.7 cm 46.4 MeV 993 keV 794 um 794 um Lead eBrem - 2 -3.87 cm -3.23 mm -2.72 cm 32.3 MeV 329 keV 287 um 1.08 mm Lead eBrem - 3 -3.84 cm -3.3 mm -2.75 cm 28.3 MeV 1.18 MeV 464 um 1.54 mm Lead eBrem - 4 -3.82 cm -3.3 mm -2.78 cm 23.6 MeV 356 keV 301 um 1.85 mm Lead eBrem - 5 -3.69 cm -2.34 mm -3.03 cm 14.2 MeV 3.86 MeV 3.15 mm 4.99 mm Lead eBrem - 6 -3.68 cm -2.21 mm -3.12 cm 11.2 MeV 1.73 MeV 1.02 mm 6.01 mm Lead eBrem - 7 -3.69 cm -1.47 mm -3.2 cm 6.81 MeV 1.44 MeV 1.12 mm 7.13 mm Lead eBrem - 8 -3.69 cm -1.41 mm -3.2 cm 6.15 MeV 71.7 keV 60.4 um 7.19 mm Lead eBrem - 9 -3.81 cm -611 um -3.21 cm 408 keV 2.43 MeV 1.98 mm 9.18 mm Lead eBrem - 10 -3.81 cm -601 um -3.21 cm 0 eV 408 keV 228 um 9.4 mm Lead eIoni - 11 -3.81 cm -601 um -3.21 cm 0 eV 0 eV 0 fm 9.4 mm Lead annihil + 0 -4 cm -8.55 mm -2.56 cm 146 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.96 cm -8.47 mm -2.56 cm 0 eV 88 keV 389 um 389 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 340, Parent ID = 329 +* G4Track Information: Particle = e-, Track ID = 282, Parent ID = 281 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.81 cm -601 um -3.21 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.53 cm -4.79 mm -2.96 cm 341 keV 0 eV 5.63 mm 5.63 mm Lead compt - 2 -3.5 cm -4.96 mm -2.97 cm 341 keV 0 eV 404 um 6.03 mm Lead Transportation - 3 -3 cm -7.51 mm -3.25 cm 341 keV 0 eV 6.25 mm 1.23 cm liquidArgon Transportation - 4 -2.91 cm -7.97 mm -3.3 cm 0 eV 88 keV 1.13 mm 1.34 cm Lead phot + 0 -3.96 cm -8.47 mm -2.56 cm 57.7 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.96 cm -8.47 mm -2.56 cm 0 eV 57.7 keV 11.3 um 11.3 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 342, Parent ID = 340 +* G4Track Information: Particle = gamma, Track ID = 278, Parent ID = 276 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.91 cm -7.97 mm -3.3 cm 253 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.91 cm -7.98 mm -3.3 cm 0 eV 253 keV 117 um 117 um Lead eIoni + 0 -4.91 cm -2 mm -2.67 cm 511 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -5 cm -1.34 mm -2.68 cm 511 keV 0 eV 1.15 mm 1.15 mm liquidArgon Transportation + 2 -6 cm 5.87 mm -2.8 cm 511 keV 0 eV 1.24 cm 1.35 cm Lead Transportation + 3 -6.5 cm 9.48 mm -2.86 cm 511 keV 0 eV 6.19 mm 1.97 cm liquidArgon Transportation + 4 -7.09 cm 1.38 cm -2.94 cm 0 eV 88 keV 7.35 mm 2.71 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 341, Parent ID = 340 +* G4Track Information: Particle = e-, Track ID = 283, Parent ID = 278 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.53 cm -4.79 mm -2.96 cm 170 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.53 cm -4.79 mm -2.96 cm 0 eV 170 keV 63.9 um 63.9 um Lead eIoni + 0 -7.09 cm 1.38 cm -2.94 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.09 cm 1.38 cm -2.94 cm 0 eV 423 keV 246 um 246 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 339, Parent ID = 329 +* G4Track Information: Particle = gamma, Track ID = 277, Parent ID = 276 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.81 cm -601 um -3.21 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.08 cm 3.56 mm -3.46 cm 465 keV 0 eV 5.58 mm 5.58 mm Lead compt - 2 -4.36 cm 6.35 mm -3.49 cm 0 eV 88 keV 3.95 mm 9.54 mm Lead phot + 0 -4.9 cm -2.01 mm -2.67 cm 10.6 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.89 cm -2.09 mm -2.68 cm 0 eV 3.21 keV 153 um 153 um liquidArgon phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 344, Parent ID = 339 +* G4Track Information: Particle = e-, Track ID = 284, Parent ID = 277 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.36 cm 6.35 mm -3.49 cm 377 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.36 cm 6.35 mm -3.49 cm 0 eV 377 keV 208 um 208 um Lead eIoni + 0 -4.89 cm -2.09 mm -2.68 cm 7.43 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.89 cm -2.09 mm -2.68 cm 0 eV 7.43 keV 1.74 um 1.74 um liquidArgon eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 343, Parent ID = 339 +* G4Track Information: Particle = e-, Track ID = 275, Parent ID = 263 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.08 cm 3.56 mm -3.46 cm 46.3 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.08 cm 3.56 mm -3.46 cm 0 eV 46.3 keV 7.91 um 7.91 um Lead eIoni + 0 -4.8 cm -3.97 mm -2.09 cm 4.93 MeV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.5 cm -4.22 mm -2.47 cm 3.97 MeV 958 keV 5.29 mm 5.29 mm liquidArgon Transportation + 2 -4.49 cm -4.22 mm -2.48 cm 3.83 MeV 141 keV 130 um 5.42 mm Lead msc + 3 -4.48 cm -4.24 mm -2.48 cm 3.65 MeV 175 keV 130 um 5.55 mm Lead msc + 4 -4.48 cm -4.26 mm -2.49 cm 3.54 MeV 113 keV 130 um 5.68 mm Lead msc + 5 -4.48 cm -4.32 mm -2.5 cm 3.43 MeV 115 keV 130 um 5.81 mm Lead msc + 6 -4.47 cm -4.41 mm -2.51 cm 3.29 MeV 133 keV 130 um 5.94 mm Lead msc + 7 -4.46 cm -4.44 mm -2.51 cm 3.18 MeV 117 keV 130 um 6.07 mm Lead msc + 8 -4.45 cm -4.52 mm -2.51 cm 3.06 MeV 117 keV 130 um 6.2 mm Lead msc + 9 -4.45 cm -4.6 mm -2.5 cm 2.76 MeV 295 keV 130 um 6.33 mm Lead msc + 10 -4.46 cm -4.61 mm -2.49 cm 2.66 MeV 103 keV 130 um 6.46 mm Lead msc + 11 -4.46 cm -4.7 mm -2.49 cm 2.56 MeV 101 keV 130 um 6.59 mm Lead msc + 12 -4.46 cm -4.81 mm -2.48 cm 2.44 MeV 117 keV 130 um 6.72 mm Lead msc + 13 -4.46 cm -4.9 mm -2.48 cm 2.18 MeV 260 keV 130 um 6.85 mm Lead msc + 14 -4.45 cm -4.96 mm -2.47 cm 1.99 MeV 189 keV 130 um 6.98 mm Lead msc + 15 -4.45 cm -5.05 mm -2.47 cm 1.83 MeV 169 keV 130 um 7.11 mm Lead msc + 16 -4.45 cm -5.06 mm -2.47 cm 1.38 MeV 2.68 keV 5.3 um 7.12 mm Lead eBrem + 17 -4.45 cm -5.06 mm -2.46 cm 1.23 MeV 158 keV 137 um 7.25 mm Lead msc + 18 -4.45 cm -4.98 mm -2.46 cm 1.13 MeV 95 keV 130 um 7.38 mm Lead msc + 19 -4.46 cm -5.02 mm -2.46 cm 675 keV 455 keV 130 um 7.51 mm Lead msc + 20 -4.45 cm -5.07 mm -2.46 cm 301 keV 374 keV 130 um 7.64 mm Lead msc + 21 -4.45 cm -5.07 mm -2.46 cm 0 eV 301 keV 152 um 7.79 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 338, Parent ID = 329 +* G4Track Information: Particle = gamma, Track ID = 285, Parent ID = 275 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.81 cm -611 um -3.21 cm 3.31 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.69 cm 1.65 cm -3.43 cm 0 eV 88 keV 1.73 cm 1.73 cm Lead phot + 0 -4.45 cm -5.06 mm -2.47 cm 439 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.09 cm -6.33 mm -2.23 cm 0 eV 88 keV 4.53 mm 4.53 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 345, Parent ID = 338 +* G4Track Information: Particle = e-, Track ID = 286, Parent ID = 285 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.69 cm 1.65 cm -3.43 cm 3.23 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.69 cm 1.65 cm -3.43 cm 2.67 MeV 60.1 eV 923 nm 923 nm Lead eBrem - 2 -3.68 cm 1.66 cm -3.44 cm 2.09 MeV 267 keV 261 um 262 um Lead eBrem - 3 -3.68 cm 1.66 cm -3.47 cm 1.5 MeV 589 keV 482 um 744 um Lead msc - 4 -3.67 cm 1.68 cm -3.48 cm 225 keV 1.27 MeV 1.14 mm 1.89 mm Lead eIoni - 5 -3.67 cm 1.68 cm -3.48 cm 0 eV 225 keV 97.9 um 1.99 mm Lead eIoni + 0 -4.09 cm -6.33 mm -2.23 cm 351 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.09 cm -6.33 mm -2.22 cm 0 eV 351 keV 189 um 189 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 347, Parent ID = 345 +* G4Track Information: Particle = e-, Track ID = 262, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.68 cm 1.66 cm -3.44 cm 317 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm 1.77 cm -3.58 cm 317 keV 0 eV 2.52 mm 2.52 mm Lead Transportation - 2 -3 cm 2.06 cm -3.94 cm 317 keV 0 eV 6.82 mm 9.34 mm liquidArgon Transportation - 3 -2.98 cm 2.07 cm -3.95 cm 305 keV 0 eV 223 um 9.57 mm Lead compt - 4 -2.98 cm 2.07 cm -3.96 cm 290 keV 0 eV 105 um 9.67 mm Lead compt - 5 -2.96 cm 2.07 cm -4 cm 157 keV 0 eV 451 um 1.01 cm Lead compt - 6 -2.96 cm 2.09 cm -3.99 cm 0 eV 88 keV 264 um 1.04 cm Lead phot + 0 -5.38 cm -3.1 mm -1.36 cm 4.22 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.31 cm -2.65 mm -1.38 cm 2.25 MeV 1.97 MeV 1.53 mm 1.53 mm Lead eBrem + 2 -5.27 cm -2.9 mm -1.36 cm 899 keV 1.35 MeV 1.53 mm 3.06 mm Lead eIoni + 3 -5.27 cm -2.87 mm -1.37 cm 0 eV 899 keV 652 um 3.71 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 351, Parent ID = 347 +* G4Track Information: Particle = gamma, Track ID = 261, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.96 cm 2.09 cm -3.99 cm 68.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.96 cm 2.09 cm -3.99 cm 0 eV 68.6 keV 15 um 15 um Lead eIoni + 0 -5.38 cm -3.08 mm -1.35 cm 519 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -5.81 mm -1.62 cm 519 keV 0 eV 5.41 mm 5.41 mm Lead Transportation + 2 -4.5 cm -9.38 mm -1.98 cm 519 keV 0 eV 7.09 mm 1.25 cm liquidArgon Transportation + 3 -3.5 cm -1.65 cm -2.68 cm 519 keV 0 eV 1.42 cm 2.67 cm Lead Transportation + 4 -3 cm -2.01 cm -3.04 cm 519 keV 0 eV 7.09 mm 3.38 cm liquidArgon Transportation + 5 -2.76 cm -2.18 cm -3.2 cm 227 keV 0 eV 3.36 mm 3.71 cm Lead compt + 6 -2.72 cm -2.08 cm -3.19 cm 0 eV 88 keV 1.11 mm 3.82 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 350, Parent ID = 347 +* G4Track Information: Particle = e-, Track ID = 288, Parent ID = 261 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.96 cm 2.07 cm -4 cm 133 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.96 cm 2.07 cm -4 cm 0 eV 133 keV 43.5 um 43.5 um Lead eIoni + 0 -2.72 cm -2.08 cm -3.19 cm 139 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.72 cm -2.08 cm -3.19 cm 0 eV 139 keV 46.9 um 46.9 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 349, Parent ID = 347 +* G4Track Information: Particle = e-, Track ID = 287, Parent ID = 261 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.98 cm 2.07 cm -3.96 cm 15.1 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.98 cm 2.07 cm -3.96 cm 0 eV 15.1 keV 1.31 um 1.31 um Lead eIoni + 0 -2.76 cm -2.18 cm -3.2 cm 292 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.76 cm -2.18 cm -3.2 cm 0 eV 292 keV 145 um 145 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 348, Parent ID = 347 +* G4Track Information: Particle = gamma, Track ID = 260, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.98 cm 2.07 cm -3.95 cm 11.7 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.98 cm 2.07 cm -3.95 cm 0 eV 11.7 keV 886 nm 886 nm Lead eIoni + 0 -5.4 cm -2.93 mm -1.34 cm 407 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.05 cm -5.05 mm -1.55 cm 0 eV 88 keV 4.59 mm 4.59 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 346, Parent ID = 345 +* G4Track Information: Particle = e-, Track ID = 289, Parent ID = 260 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.69 cm 1.65 cm -3.43 cm 557 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.54 cm 2.35 cm -3.01 cm 378 keV 0 eV 8.31 mm 8.31 mm Lead compt - 2 -3.5 cm 2.36 cm -2.99 cm 378 keV 0 eV 459 um 8.77 mm Lead Transportation - 3 -3 cm 2.46 cm -2.65 cm 378 keV 0 eV 6.12 mm 1.49 cm liquidArgon Transportation - 4 -2 cm 2.65 cm -1.97 cm 378 keV 0 eV 1.22 cm 2.71 cm Lead Transportation - 5 -1.5 cm 2.75 cm -1.64 cm 378 keV 0 eV 6.12 mm 3.32 cm liquidArgon Transportation - 6 -6.49 mm 2.92 cm -1.06 cm 0 eV 88 keV 1.04 cm 4.36 cm Lead phot + 0 -5.05 cm -5.05 mm -1.55 cm 319 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.05 cm -5.06 mm -1.55 cm 0 eV 319 keV 165 um 165 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 353, Parent ID = 346 +* G4Track Information: Particle = gamma, Track ID = 259, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.49 mm 2.92 cm -1.06 cm 290 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.49 mm 2.92 cm -1.06 cm 0 eV 290 keV 143 um 143 um Lead eIoni + 0 -5.65 cm -1.08 mm -1.27 cm 6.66 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.07 cm -3.17 mm -1.41 cm 1.73 MeV 0 eV 6.29 mm 6.29 mm Lead compt + 2 -5 cm -2.93 mm -1.42 cm 1.73 MeV 0 eV 743 um 7.03 mm Lead Transportation + 3 -4.5 cm -1.22 mm -1.49 cm 1.73 MeV 0 eV 5.33 mm 1.24 cm liquidArgon Transportation + 4 -3.93 cm 704 um -1.56 cm 228 keV 0 eV 6.02 mm 1.84 cm Lead compt + 5 -4.33 cm 320 um -1.41 cm 0 eV 88 keV 4.26 mm 2.26 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 352, Parent ID = 346 +* G4Track Information: Particle = e-, Track ID = 292, Parent ID = 259 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.54 cm 2.35 cm -3.01 cm 180 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.54 cm 2.35 cm -3.01 cm 0 eV 180 keV 69.7 um 69.7 um Lead eIoni + 0 -4.33 cm 320 um -1.41 cm 140 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.33 cm 321 um -1.41 cm 0 eV 140 keV 47.2 um 47.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 337, Parent ID = 329 +* G4Track Information: Particle = e-, Track ID = 291, Parent ID = 259 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.69 cm -1.41 mm -3.2 cm 586 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.78 cm 2.85 mm -3.27 cm 474 keV 0 eV 4.43 mm 4.43 mm Lead compt - 2 -4.05 cm 5.05 mm -3.39 cm 0 eV 88 keV 3.64 mm 8.07 mm Lead phot + 0 -3.93 cm 704 um -1.56 cm 1.51 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.93 cm 670 um -1.57 cm 1.12 MeV 207 keV 180 um 180 um Lead eBrem + 2 -3.92 cm 590 um -1.58 cm 81.1 keV 551 keV 258 um 438 um Lead eBrem + 3 -3.92 cm 590 um -1.58 cm 0 eV 81.1 keV 19.7 um 457 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 355, Parent ID = 337 +* G4Track Information: Particle = gamma, Track ID = 294, Parent ID = 291 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.05 cm 5.05 mm -3.39 cm 386 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.05 cm 5.06 mm -3.39 cm 0 eV 386 keV 215 um 215 um Lead eIoni + 0 -3.92 cm 590 um -1.58 cm 486 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.53 cm -9.6 mm -7.53 mm 227 keV 0 eV 1.37 cm 1.37 cm Lead compt + 2 -3.51 cm -9.55 mm -7.62 mm 0 eV 88 keV 214 um 1.39 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 354, Parent ID = 337 +* G4Track Information: Particle = e-, Track ID = 296, Parent ID = 294 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.78 cm 2.85 mm -3.27 cm 112 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.78 cm 2.86 mm -3.27 cm 0 eV 112 keV 33 um 33 um Lead eIoni + 0 -3.51 cm -9.55 mm -7.62 mm 139 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.51 cm -9.55 mm -7.62 mm 0 eV 139 keV 46.7 um 46.7 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 336, Parent ID = 329 +* G4Track Information: Particle = e-, Track ID = 295, Parent ID = 294 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.69 cm -1.47 mm -3.2 cm 2.97 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.22 cm 3.62 cm -2.75 cm 402 keV 0 eV 3.83 cm 3.83 cm Lead compt - 2 -4.24 cm 3.62 cm -2.75 cm 0 eV 88 keV 169 um 3.85 cm Lead phot + 0 -3.53 cm -9.6 mm -7.53 mm 259 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.53 cm -9.61 mm -7.52 mm 0 eV 259 keV 121 um 121 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 357, Parent ID = 336 +* G4Track Information: Particle = gamma, Track ID = 293, Parent ID = 291 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.24 cm 3.62 cm -2.75 cm 314 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.24 cm 3.62 cm -2.75 cm 0 eV 314 keV 160 um 160 um Lead eIoni + 0 -3.93 cm 670 um -1.57 cm 182 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.94 cm 1.7 mm -1.65 cm 0 eV 88 keV 1.27 mm 1.27 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 356, Parent ID = 336 +* G4Track Information: Particle = e-, Track ID = 297, Parent ID = 293 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.22 cm 3.62 cm -2.75 cm 2.57 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.18 cm 3.65 cm -2.77 cm 915 keV 1.65 MeV 1.62 mm 1.62 mm Lead eIoni - 2 -4.18 cm 3.65 cm -2.77 cm 0 eV 915 keV 661 um 2.28 mm Lead eIoni + 0 -3.94 cm 1.7 mm -1.65 cm 94 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.94 cm 1.7 mm -1.65 cm 0 eV 94 keV 25 um 25 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 335, Parent ID = 329 +* G4Track Information: Particle = e-, Track ID = 290, Parent ID = 259 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.68 cm -2.21 mm -3.12 cm 1.27 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.13 cm 2.44 mm -3.8 cm 1.27 MeV 0 eV 9.38 mm 9.38 mm Lead compt - 2 -4.5 cm 6.38 mm -4.35 cm 1.27 MeV 0 eV 7.66 mm 1.7 cm Lead Transportation - 3 -4.94 cm 1.11 cm -5 cm 1.27 MeV 0 eV 9.2 mm 2.62 cm liquidArgon Transportation - 4 -5.62 cm 1.84 cm -6 cm 1.27 MeV 0 eV 1.41 cm 4.03 cm OutOfWorld Transportation + 0 -5.07 cm -3.17 mm -1.41 cm 4.93 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.05 cm -3.2 mm -1.41 cm 4.66 MeV 267 keV 209 um 209 um Lead msc + 2 -5.04 cm -3.21 mm -1.43 cm 4.26 MeV 404 keV 161 um 371 um Lead msc + 3 -5.02 cm -3.19 mm -1.43 cm 4.09 MeV 164 keV 161 um 532 um Lead msc + 4 -5.03 cm -3.3 mm -1.42 cm 3.92 MeV 171 keV 161 um 694 um Lead msc + 5 -5.02 cm -3.45 mm -1.42 cm 3.78 MeV 136 keV 161 um 855 um Lead msc + 6 -5.03 cm -3.53 mm -1.41 cm 3.63 MeV 151 keV 161 um 1.02 mm Lead msc + 7 -5.04 cm -3.54 mm -1.4 cm 3.24 MeV 390 keV 161 um 1.18 mm Lead msc + 8 -5.04 cm -3.45 mm -1.39 cm 3.05 MeV 190 keV 161 um 1.34 mm Lead msc + 9 -5.04 cm -3.33 mm -1.38 cm 2.9 MeV 153 keV 161 um 1.5 mm Lead msc + 10 -5.06 cm -3.36 mm -1.37 cm 2.69 MeV 213 keV 161 um 1.66 mm Lead msc + 11 -5.07 cm -3.32 mm -1.37 cm 2.51 MeV 176 keV 161 um 1.82 mm Lead msc + 12 -5.08 cm -3.39 mm -1.36 cm 1.94 MeV 244 keV 141 um 1.97 mm Lead eBrem + 13 -5.09 cm -3.45 mm -1.36 cm 1.79 MeV 147 keV 161 um 2.13 mm Lead msc + 14 -5.09 cm -3.36 mm -1.35 cm 1.64 MeV 152 keV 181 um 2.31 mm Lead msc + 15 -5.08 cm -3.3 mm -1.33 cm 1.37 MeV 267 keV 206 um 2.51 mm Lead msc + 16 -5.09 cm -3.21 mm -1.32 cm 1.09 MeV 275 keV 202 um 2.71 mm Lead msc + 17 -5.08 cm -3.22 mm -1.32 cm 810 keV 284 keV 197 um 2.91 mm Lead msc + 18 -5.07 cm -3.2 mm -1.32 cm 230 keV 307 keV 231 um 3.14 mm Lead eBrem + 19 -5.07 cm -3.2 mm -1.32 cm 0 eV 230 keV 102 um 3.25 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 358, Parent ID = 335 +* G4Track Information: Particle = gamma, Track ID = 299, Parent ID = 290 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.13 cm 2.44 mm -3.8 cm 970 eV 0 eV 0 fm 0 fm Lead initStep - 1 -4.13 cm 2.44 mm -3.8 cm 0 eV 970 eV 27.5 nm 27.5 nm Lead eIoni + 0 -5.07 cm -3.2 mm -1.32 cm 273 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.02 cm -3.93 mm -1.35 cm 0 eV 88 keV 949 um 949 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 334, Parent ID = 329 +* G4Track Information: Particle = e-, Track ID = 300, Parent ID = 299 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.69 cm -2.34 mm -3.03 cm 5.56 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.19 cm 1.34 mm -5 cm 5.56 MeV 0 eV 2.07 cm 2.07 cm Lead Transportation - 2 -4.44 cm 3.2 mm -6 cm 5.56 MeV 0 eV 1.05 cm 3.11 cm OutOfWorld Transportation + 0 -5.02 cm -3.93 mm -1.35 cm 185 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.02 cm -3.94 mm -1.35 cm 0 eV 185 keV 73.1 um 73.1 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 333, Parent ID = 329 +* G4Track Information: Particle = gamma, Track ID = 298, Parent ID = 290 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.82 cm -3.3 mm -2.78 cm 4.31 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm -2.94 mm -3.17 cm 4.31 MeV 0 eV 5.03 mm 5.03 mm Lead Transportation - 2 -3 cm -2.38 mm -3.78 cm 4.31 MeV 0 eV 7.94 mm 1.3 cm liquidArgon Transportation - 3 -2.33 cm -1.62 mm -4.6 cm 1.17 MeV 0 eV 1.06 cm 2.36 cm Lead compt - 4 -2 cm -1.83 mm -4.63 cm 1.17 MeV 0 eV 3.34 mm 2.69 cm Lead Transportation - 5 -1.5 cm -2.15 mm -4.66 cm 1.17 MeV 0 eV 5.02 mm 3.19 cm liquidArgon Transportation - 6 -5 mm -2.77 mm -4.74 cm 1.17 MeV 0 eV 1 cm 4.2 cm Lead Transportation - 7 0.000373 fm -3.09 mm -4.78 cm 1.17 MeV 0 eV 5.02 mm 4.7 cm liquidArgon Transportation - 8 1 cm -3.72 mm -4.85 cm 1.17 MeV 0 eV 1 cm 5.71 cm Lead Transportation - 9 1.5 cm -4.03 mm -4.89 cm 1.17 MeV 0 eV 5.02 mm 6.21 cm liquidArgon Transportation - 10 2.07 cm -4.39 mm -4.94 cm 0 eV 88 keV 5.76 mm 6.78 cm Lead phot + 0 -5.08 cm -3.39 mm -1.36 cm 331 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.17 cm -2.72 mm -1.1 cm 0 eV 88 keV 2.83 mm 2.83 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 360, Parent ID = 333 +* G4Track Information: Particle = e-, Track ID = 301, Parent ID = 298 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.07 cm -4.39 mm -4.94 cm 1.08 MeV 0 eV 0 fm 0 fm Lead initStep - 1 2.08 cm -4.39 mm -4.93 cm 954 keV 125 keV 162 um 162 um Lead msc - 2 2.09 cm -4.45 mm -4.93 cm 628 keV 325 keV 162 um 323 um Lead msc - 3 2.09 cm -4.46 mm -4.94 cm 0 eV 628 keV 414 um 737 um Lead eIoni + 0 -5.17 cm -2.72 mm -1.1 cm 243 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.17 cm -2.72 mm -1.1 cm 0 eV 243 keV 110 um 110 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 359, Parent ID = 333 +* G4Track Information: Particle = gamma, Track ID = 258, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.33 cm -1.62 mm -4.6 cm 3.14 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2.28 cm -2.04 mm -4.62 cm 1 MeV 2.14 MeV 1.79 mm 1.79 mm Lead eIoni - 2 -2.29 cm -1.96 mm -4.61 cm 648 keV 218 keV 189 um 1.98 mm Lead eBrem - 3 -2.29 cm -2.03 mm -4.61 cm 310 keV 237 keV 217 um 2.19 mm Lead eBrem - 4 -2.29 cm -2.02 mm -4.61 cm 0 eV 310 keV 157 um 2.35 mm Lead eIoni + 0 -5.65 cm -1.07 mm -1.27 cm 520 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.56 cm -1.32 mm -1.29 cm 490 keV 0 eV 977 um 977 um Lead compt + 2 -5.22 cm -3.68 mm -1.37 cm 0 eV 88 keV 4.14 mm 5.12 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 362, Parent ID = 359 +* G4Track Information: Particle = e-, Track ID = 303, Parent ID = 258 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.29 cm -2.03 mm -4.61 cm 101 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.3 cm -2.04 mm -4.61 cm 0 eV 88 keV 81.7 um 81.7 um Lead phot + 0 -5.22 cm -3.68 mm -1.37 cm 402 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.22 cm -3.69 mm -1.37 cm 0 eV 402 keV 229 um 229 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 363, Parent ID = 362 +* G4Track Information: Particle = e-, Track ID = 302, Parent ID = 258 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.3 cm -2.04 mm -4.61 cm 12.9 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.3 cm -2.04 mm -4.61 cm 0 eV 12.9 keV 1.02 um 1.02 um Lead eIoni + 0 -5.56 cm -1.32 mm -1.29 cm 29.9 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.56 cm -1.32 mm -1.29 cm 0 eV 29.9 keV 3.87 um 3.87 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 361, Parent ID = 359 +* G4Track Information: Particle = gamma, Track ID = 257, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.29 cm -1.96 mm -4.61 cm 139 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.29 cm -1.96 mm -4.61 cm 0 eV 88 keV 5.42 um 5.42 um Lead phot + 0 -5.71 cm -1.05 mm -1.26 cm 138 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.36 cm -1.03 mm -1.37 cm 0 eV 0 eV 3.63 mm 3.63 mm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 364, Parent ID = 361 +* G4Track Information: Particle = e+, Track ID = 305, Parent ID = 257 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.29 cm -1.96 mm -4.61 cm 51 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.29 cm -1.96 mm -4.61 cm 0 eV 51 keV 9.2 um 9.2 um Lead eIoni + 0 -5.36 cm -1.03 mm -1.37 cm 84 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.31 cm -1.01 mm -1.39 cm 83.3 MeV 650 keV 560 um 560 um Lead eBrem + 2 -5.29 cm -996 um -1.4 cm 82.9 MeV 284 keV 244 um 804 um Lead eBrem + 3 -5.24 cm -921 um -1.42 cm 72.1 MeV 651 keV 569 um 1.37 mm Lead eBrem + 4 -5.21 cm -893 um -1.43 cm 71.4 MeV 278 keV 267 um 1.64 mm Lead eBrem + 5 -5.21 cm -889 um -1.43 cm 69.6 MeV 79.7 keV 52 um 1.69 mm Lead eBrem + 6 -5.11 cm -825 um -1.49 cm 62.1 MeV 2.01 MeV 1.15 mm 2.84 mm Lead eBrem + 7 -5.04 cm -853 um -1.54 cm 60.7 MeV 1.3 MeV 832 um 3.68 mm Lead eBrem + 8 -5.01 cm -887 um -1.55 cm 51.2 MeV 285 keV 308 um 3.98 mm Lead eBrem + 9 -5 cm -899 um -1.56 cm 51 MeV 229 keV 148 um 4.13 mm Lead Transportation + 10 -4.81 cm -1.03 mm -1.67 cm 49.7 MeV 348 keV 2.17 mm 6.3 mm liquidArgon eIoni + 11 -4.65 cm -1.25 mm -1.8 cm 49.2 MeV 402 keV 2.12 mm 8.42 mm liquidArgon eBrem + 12 -4.5 cm -1.47 mm -1.92 cm 48.9 MeV 294 keV 1.96 mm 1.04 cm liquidArgon Transportation + 13 -4.48 cm -1.48 mm -1.94 cm 48.2 MeV 361 keV 309 um 1.07 cm Lead eBrem + 14 -4.37 cm -1.54 mm -2 cm 46.2 MeV 1.46 MeV 1.18 mm 1.19 cm Lead eBrem + 15 -4.33 cm -1.54 mm -2.03 cm 44.1 MeV 546 keV 517 um 1.24 cm Lead eBrem + 16 -4.31 cm -1.53 mm -2.05 cm 43.7 MeV 252 keV 242 um 1.26 cm Lead eBrem + 17 -4.22 cm -1.38 mm -2.1 cm 26.7 MeV 1.93 MeV 1.08 mm 1.37 cm Lead eBrem + 18 -4.14 cm -1.36 mm -2.15 cm 21.8 MeV 2.11 MeV 982 um 1.47 cm Lead eBrem + 19 -4.08 cm -1.05 mm -2.18 cm 19.8 MeV 1.5 MeV 747 um 1.54 cm Lead eBrem + 20 -4.08 cm -1.05 mm -2.18 cm 19.5 MeV 25.2 keV 14.2 um 1.54 cm Lead eBrem + 21 -3.99 cm -1.31 mm -2.33 cm 15.9 MeV 2.87 MeV 1.8 mm 1.72 cm Lead eBrem + 22 -3.97 cm -1.53 mm -2.38 cm 12.9 MeV 3.02 MeV 592 um 1.78 cm Lead eBrem + 23 -3.96 cm -1.66 mm -2.4 cm 12.4 MeV 311 keV 290 um 1.81 cm Lead eBrem + 24 -3.98 cm -1.6 mm -2.66 cm 0 eV 3.74 MeV 3.17 mm 2.13 cm Lead annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 332, Parent ID = 329 +* G4Track Information: Particle = gamma, Track ID = 327, Parent ID = 305 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.84 cm -3.3 mm -2.75 cm 2.79 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.75 cm -3.39 mm -2.84 cm 2.13 MeV 0 eV 1.26 mm 1.26 mm Lead compt - 2 -3.5 cm -2.37 mm -3.12 cm 2.13 MeV 0 eV 3.88 mm 5.15 mm Lead Transportation - 3 -3 cm -308 um -3.69 cm 2.13 MeV 0 eV 7.82 mm 1.3 cm liquidArgon Transportation - 4 -2 cm 3.81 mm -4.82 cm 2.13 MeV 0 eV 1.56 cm 2.86 cm Lead Transportation - 5 -1.84 cm 4.48 mm -5 cm 2.13 MeV 0 eV 2.53 mm 3.11 cm liquidArgon Transportation - 6 -9.52 mm 8.13 mm -6 cm 2.13 MeV 0 eV 1.38 cm 4.5 cm OutOfWorld Transportation + 0 -3.98 cm -1.6 mm -2.66 cm 7.42 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.89 cm -723 um -2.75 cm 0 eV 0 eV 1.51 mm 1.51 mm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 365, Parent ID = 332 +* G4Track Information: Particle = e+, Track ID = 329, Parent ID = 327 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.75 cm -3.39 mm -2.84 cm 660 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.75 cm -3.41 mm -2.85 cm 0 eV 660 keV 441 um 441 um Lead eIoni + 0 -3.89 cm -723 um -2.75 cm 2.27 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.88 cm -793 um -2.8 cm 728 keV 1.54 MeV 1.22 mm 1.22 mm Lead eBrem + 2 -3.88 cm -846 um -2.8 cm 0 eV 728 keV 503 um 1.73 mm Lead eIoni + 3 -3.88 cm -846 um -2.8 cm 0 eV 0 eV 0 fm 1.73 mm Lead annihil ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 331, Parent ID = 329 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.87 cm -3.23 mm -2.72 cm 13.7 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm -3.96 mm -3.01 cm 13.7 MeV 0 eV 4.72 mm 4.72 mm Lead Transportation - 2 -3 cm -4.94 mm -3.39 cm 13.7 MeV 0 eV 6.38 mm 1.11 cm liquidArgon Transportation - 3 -2 cm -6.91 mm -4.16 cm 13.7 MeV 0 eV 1.28 cm 2.39 cm Lead Transportation - 4 -1.5 cm -7.9 mm -4.54 cm 13.7 MeV 0 eV 6.38 mm 3.02 cm liquidArgon Transportation - 5 -9.01 mm -9.08 mm -5 cm 13.7 MeV 0 eV 7.64 mm 3.79 cm Lead Transportation - 6 4.02 mm -1.16 cm -6 cm 13.7 MeV 0 eV 1.66 cm 5.45 cm OutOfWorld Transportation + 0 -3.88 cm -846 um -2.8 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.22 cm 3.67 mm -2.36 cm 177 keV 0 eV 7.18 mm 7.18 mm Lead compt + 2 -4.22 cm 3.55 mm -2.36 cm 0 eV 88 keV 134 um 7.31 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 333, Parent ID = 331 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.22 cm 3.55 mm -2.36 cm 89.5 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.22 cm 3.55 mm -2.36 cm 0 eV 89.5 keV 23.1 um 23.1 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 332, Parent ID = 331 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.22 cm 3.67 mm -2.36 cm 334 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.22 cm 3.67 mm -2.36 cm 0 eV 334 keV 176 um 176 um Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 330, Parent ID = 329 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.89 cm -3.18 mm -2.7 cm 3.01 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm -4.07 mm -3.06 cm 3.01 MeV 0 eV 5.37 mm 5.37 mm Lead Transportation - 2 -3 cm -5.21 mm -3.52 cm 3.01 MeV 0 eV 6.86 mm 1.22 cm liquidArgon Transportation - 3 -2.59 cm -6.15 mm -3.89 cm 2.65 MeV 0 eV 5.68 mm 1.79 cm Lead compt - 4 -2.18 cm -7.23 mm -4.13 cm 2.21 MeV 0 eV 4.87 mm 2.28 cm Lead compt - 5 -2 cm -8.08 mm -4.19 cm 2.21 MeV 0 eV 2.05 mm 2.48 cm Lead Transportation - 6 -1.5 cm -1.05 cm -4.36 cm 2.21 MeV 0 eV 5.81 mm 3.06 cm liquidArgon Transportation - 7 -1.39 cm -1.1 cm -4.4 cm 382 keV 0 eV 1.23 mm 3.19 cm Lead compt - 8 -1.41 cm -8.3 mm -4.68 cm 0 eV 88 keV 3.9 mm 3.58 cm Lead phot + 0 -3.88 cm -846 um -2.8 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.57 cm -5.01 mm -3.21 cm 0 eV 88 keV 6.63 mm 6.63 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 369, Parent ID = 330 +* G4Track Information: Particle = e-, Track ID = 334, Parent ID = 330 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.41 cm -8.3 mm -4.68 cm 294 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.41 cm -8.3 mm -4.68 cm 0 eV 294 keV 146 um 146 um Lead eIoni + 0 -3.57 cm -5.01 mm -3.21 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.57 cm -5.02 mm -3.21 cm 0 eV 423 keV 246 um 246 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 368, Parent ID = 330 +* G4Track Information: Particle = e-, Track ID = 328, Parent ID = 327 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.39 cm -1.1 cm -4.4 cm 1.83 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -1.38 cm -1.1 cm -4.41 cm 1.49 MeV 332 keV 265 um 265 um Lead msc - 2 -1.37 cm -1.1 cm -4.42 cm 1.23 MeV 263 keV 265 um 529 um Lead msc - 3 -1.37 cm -1.1 cm -4.42 cm 0 eV 1.23 MeV 935 um 1.46 mm Lead eIoni + 0 -3.89 cm -723 um -2.75 cm 4.13 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.89 cm 86.7 um -2.74 cm 2.29 MeV 1.37 MeV 1.38 mm 1.38 mm Lead eBrem + 2 -3.89 cm 81 um -2.74 cm 1.01 MeV 22.7 keV 26.2 um 1.41 mm Lead eBrem + 3 -3.9 cm 73.6 um -2.74 cm 0 eV 1.01 MeV 752 um 2.16 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 367, Parent ID = 330 +* G4Track Information: Particle = gamma, Track ID = 336, Parent ID = 328 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.18 cm -7.23 mm -4.13 cm 446 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.18 cm -7.22 mm -4.13 cm 0 eV 446 keV 263 um 263 um Lead eIoni + 0 -3.89 cm 81 um -2.74 cm 1.25 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.5 cm 1.11 mm -2.81 cm 1.25 MeV 0 eV 6.2 mm 6.2 mm Lead Transportation + 2 -5 cm 1.96 mm -2.86 cm 1.25 MeV 0 eV 5.1 mm 1.13 cm liquidArgon Transportation + 3 -6 cm 3.66 mm -2.97 cm 1.25 MeV 0 eV 1.02 cm 2.15 cm Lead Transportation + 4 -6.5 cm 4.51 mm -3.02 cm 1.25 MeV 0 eV 5.1 mm 2.66 cm liquidArgon Transportation + 5 -6.55 cm 4.6 mm -3.03 cm 0 eV 88 keV 532 um 2.71 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 366, Parent ID = 330 +* G4Track Information: Particle = e-, Track ID = 337, Parent ID = 336 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.59 cm -6.15 mm -3.89 cm 353 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.59 cm -6.15 mm -3.89 cm 0 eV 353 keV 190 um 190 um Lead eIoni + 0 -6.55 cm 4.6 mm -3.03 cm 1.16 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.56 cm 4.6 mm -3.03 cm 999 keV 166 keV 156 um 156 um Lead msc + 2 -6.55 cm 4.65 mm -3.04 cm 905 keV 94.2 keV 113 um 269 um Lead msc + 3 -6.55 cm 4.68 mm -3.03 cm 761 keV 143 keV 147 um 416 um Lead msc + 4 -6.54 cm 4.72 mm -3.03 cm 645 keV 116 keV 128 um 544 um Lead msc + 5 -6.54 cm 4.76 mm -3.03 cm 535 keV 110 keV 110 um 654 um Lead msc + 6 -6.53 cm 4.74 mm -3.03 cm 434 keV 101 keV 99 um 753 um Lead msc + 7 -6.53 cm 4.75 mm -3.03 cm 0 eV 434 keV 255 um 1.01 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 328, Parent ID = 181 +* G4Track Information: Particle = gamma, Track ID = 335, Parent ID = 328 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.95 cm -3.11 mm -2.65 cm 3.83 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.87 cm -2.81 mm -2.63 cm 1.03 MeV 2.54 MeV 1.86 mm 1.86 mm Lead eBrem - 2 -3.88 cm -2.84 mm -2.63 cm 0 eV 1.03 MeV 757 um 2.62 mm Lead eIoni + 0 -3.89 cm 86.7 um -2.74 cm 476 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.32 cm 195 um -2.84 cm 468 keV 0 eV 4.45 mm 4.45 mm Lead compt + 2 -4.5 cm 575 um -2.88 cm 468 keV 0 eV 1.85 mm 6.3 mm Lead Transportation + 3 -5 cm 1.66 mm -3.01 cm 468 keV 0 eV 5.28 mm 1.16 cm liquidArgon Transportation + 4 -5.34 cm 2.39 mm -3.1 cm 202 keV 0 eV 3.56 mm 1.51 cm Lead compt + 5 -5.3 cm 2.78 mm -3.11 cm 127 keV 0 eV 523 um 1.57 cm Lead compt + 6 -5.3 cm 2.64 mm -3.11 cm 0 eV 88 keV 147 um 1.58 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 370, Parent ID = 328 +* G4Track Information: Particle = e-, Track ID = 341, Parent ID = 335 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.87 cm -2.81 mm -2.63 cm 265 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.87 cm -2.76 mm -2.62 cm 0 eV 88 keV 132 um 132 um Lead phot + 0 -5.3 cm 2.64 mm -3.11 cm 39.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.3 cm 2.64 mm -3.11 cm 0 eV 39.4 keV 6.06 um 6.06 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 371, Parent ID = 370 +* G4Track Information: Particle = e-, Track ID = 340, Parent ID = 335 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.87 cm -2.76 mm -2.62 cm 177 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.87 cm -2.76 mm -2.62 cm 0 eV 177 keV 68.1 um 68.1 um Lead eIoni + 0 -5.3 cm 2.78 mm -3.11 cm 74.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.3 cm 2.78 mm -3.11 cm 0 eV 74.2 keV 17.1 um 17.1 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 180, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 339, Parent ID = 335 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.59 cm -1.38 mm -1.43 cm 552 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.23 cm -1.74 mm -1.7 cm 0 eV 88 keV 4.51 mm 4.51 mm Lead phot + 0 -5.34 cm 2.39 mm -3.1 cm 266 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.34 cm 2.39 mm -3.1 cm 0 eV 266 keV 127 um 127 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 372, Parent ID = 180 +* G4Track Information: Particle = e-, Track ID = 338, Parent ID = 335 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.23 cm -1.74 mm -1.7 cm 464 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.23 cm -1.74 mm -1.7 cm 0 eV 464 keV 277 um 277 um Lead eIoni + 0 -4.32 cm 195 um -2.84 cm 7.63 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.32 cm 194 um -2.84 cm 0 eV 7.63 keV 470 nm 470 nm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 179, Parent ID = 160 +* G4Track Information: Particle = gamma, Track ID = 326, Parent ID = 305 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.6 cm -1.37 mm -1.43 cm 26.5 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -1.91 mm -1.86 cm 26.5 MeV 0 eV 7.38 mm 7.38 mm Lead Transportation - 2 -4.5 cm -2.36 mm -2.22 cm 26.5 MeV 0 eV 6.18 mm 1.36 cm liquidArgon Transportation - 3 -4.33 cm -2.51 mm -2.35 cm 0 eV 0 eV 2.1 mm 1.57 cm Lead conv + 0 -3.98 cm -1.6 mm -2.66 cm 2.31 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.95 cm -1.38 mm -2.82 cm 547 keV 0 eV 1.64 mm 1.64 mm Lead compt + 2 -3.5 cm -5.45 mm -2.99 cm 547 keV 0 eV 6.31 mm 7.95 mm Lead Transportation + 3 -3 cm -9.94 mm -3.18 cm 547 keV 0 eV 6.98 mm 1.49 cm liquidArgon Transportation + 4 -2.91 cm -1.07 cm -3.21 cm 0 eV 88 keV 1.25 mm 1.62 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 374, Parent ID = 179 +* G4Track Information: Particle = e-, Track ID = 343, Parent ID = 326 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.33 cm -2.51 mm -2.35 cm 14.5 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.29 cm -2.49 mm -2.36 cm 13.8 MeV 692 keV 487 um 487 um Lead msc - 2 -4.25 cm -2.56 mm -2.37 cm 13.1 MeV 502 keV 335 um 821 um Lead eBrem - 3 -4.21 cm -2.75 mm -2.36 cm 12.6 MeV 553 keV 487 um 1.31 mm Lead msc - 4 -4.17 cm -2.81 mm -2.35 cm 11.8 MeV 707 keV 487 um 1.79 mm Lead msc - 5 -4.11 cm -2.7 mm -2.36 cm 11 MeV 854 keV 576 um 2.37 mm Lead msc - 6 -4.11 cm -2.71 mm -2.36 cm 9.64 MeV 46.3 keV 42.5 um 2.41 mm Lead eBrem - 7 -4.03 cm -2.69 mm -2.33 cm 8.63 MeV 1.01 MeV 955 um 3.37 mm Lead msc - 8 -3.97 cm -2 mm -2.34 cm 6.45 MeV 2.18 MeV 955 um 4.32 mm Lead msc - 9 -3.91 cm -2.11 mm -2.32 cm 5.48 MeV 857 keV 696 um 5.02 mm Lead eBrem - 10 -3.89 cm -2.06 mm -2.36 cm 3.85 MeV 542 keV 499 um 5.52 mm Lead eBrem - 11 -3.88 cm -3.03 mm -2.39 cm 1.92 MeV 1.93 MeV 1.99 mm 7.51 mm Lead eIoni - 12 -3.85 cm -2.88 mm -2.43 cm 92.6 keV 1.83 MeV 1.39 mm 8.9 mm Lead eIoni - 13 -3.85 cm -2.87 mm -2.43 cm 0 eV 92.6 keV 22.4 um 8.92 mm Lead eIoni - 14 -3.85 cm -2.87 mm -2.43 cm 0 eV 0 eV 0 fm 8.92 mm Lead annihil + 0 -2.91 cm -1.07 cm -3.21 cm 459 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.91 cm -1.08 cm -3.21 cm 0 eV 459 keV 275 um 275 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 380, Parent ID = 374 +* G4Track Information: Particle = e-, Track ID = 342, Parent ID = 326 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.85 cm -2.87 mm -2.43 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.5 cm -5.61 mm -1.67 cm 511 keV 0 eV 1.03 cm 1.03 cm Lead Transportation - 2 -5 cm -7.73 mm -1.08 cm 511 keV 0 eV 8.01 mm 1.84 cm liquidArgon Transportation - 3 -5.45 cm -9.64 mm -5.49 mm 0 eV 88 keV 7.2 mm 2.56 cm Lead phot + 0 -3.95 cm -1.38 mm -2.82 cm 1.76 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.93 cm -1.23 mm -2.83 cm 330 keV 1.43 MeV 1.31 mm 1.31 mm Lead eIoni + 2 -3.93 cm -1.22 mm -2.83 cm 0 eV 330 keV 174 um 1.49 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 325, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.96 cm -1.66 mm -2.4 cm 116 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.96 cm -1.67 mm -2.4 cm 0 eV 88 keV 21.9 um 21.9 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 344, Parent ID = 325 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.96 cm -1.67 mm -2.4 cm 28.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.96 cm -1.67 mm -2.4 cm 0 eV 28.1 keV 3.5 um 3.5 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 324, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.99 cm -1.31 mm -2.33 cm 764 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm -5.93 mm -3.06 cm 764 keV 0 eV 9.92 mm 9.92 mm Lead Transportation + 2 -3 cm -1.06 cm -3.79 cm 764 keV 0 eV 1.01 cm 2 cm liquidArgon Transportation + 3 -2.96 cm -1.1 cm -3.85 cm 595 keV 0 eV 863 um 2.08 cm Lead compt + 4 -2.59 cm -1.72 cm -4.03 cm 0 eV 88 keV 7.43 mm 2.83 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 346, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.59 cm -1.72 cm -4.03 cm 507 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.59 cm -1.72 cm -4.03 cm 0 eV 507 keV 314 um 314 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 345, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.96 cm -1.1 cm -3.85 cm 169 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.96 cm -1.1 cm -3.85 cm 0 eV 169 keV 63.6 um 63.6 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 323, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.08 cm -1.05 mm -2.18 cm 255 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.97 cm -943 um -2.3 cm 0 eV 88 keV 1.63 mm 1.63 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 347, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.97 cm -943 um -2.3 cm 167 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.97 cm -942 um -2.3 cm 0 eV 167 keV 62.5 um 62.5 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 322, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.08 cm -1.05 mm -2.18 cm 451 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.05 cm -1.02 mm -2.21 cm 0 eV 88 keV 425 um 425 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 348, Parent ID = 322 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.05 cm -1.02 mm -2.21 cm 363 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.05 cm -1.02 mm -2.21 cm 0 eV 363 keV 199 um 199 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 321, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.14 cm -1.36 mm -2.15 cm 2.84 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm 1.13 mm -2.68 cm 2.84 MeV 0 eV 8.68 mm 8.68 mm Lead Transportation + 2 -3 cm 3.08 mm -3.1 cm 2.84 MeV 0 eV 6.81 mm 1.55 cm liquidArgon Transportation + 3 -2 cm 6.99 mm -3.94 cm 2.84 MeV 0 eV 1.36 cm 2.91 cm Lead Transportation + 4 -1.5 cm 8.94 mm -4.36 cm 2.84 MeV 0 eV 6.81 mm 3.59 cm liquidArgon Transportation + 5 -7.32 mm 1.19 cm -5 cm 2.84 MeV 0 eV 1.05 cm 4.64 cm Lead Transportation + 6 4.62 mm 1.66 cm -6 cm 2.84 MeV 0 eV 1.63 cm 6.26 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 320, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.22 cm -1.38 mm -2.1 cm 15.1 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.19 cm -1.3 mm -2.12 cm 0 eV 0 eV 384 um 384 um Lead conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 350, Parent ID = 320 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.19 cm -1.3 mm -2.12 cm 9.85 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.17 cm -1.2 mm -2.14 cm 9.27 MeV 474 keV 337 um 337 um Lead eBrem + 2 -4.15 cm -1.18 mm -2.18 cm 8.73 MeV 332 keV 384 um 721 um Lead eBrem + 3 -4.14 cm -1.03 mm -2.22 cm 8 MeV 628 keV 533 um 1.25 mm Lead eBrem + 4 -4.07 cm -718 um -2.25 cm 5.53 MeV 2.46 MeV 842 um 2.1 mm Lead msc + 5 -4.02 cm -1.08 mm -2.24 cm 4.75 MeV 785 keV 772 um 2.87 mm Lead msc + 6 -4.09 cm -1.18 mm -2.22 cm 3.9 MeV 842 keV 998 um 3.87 mm Lead msc + 7 -4.09 cm -1.75 mm -2.13 cm 1.54 MeV 2.37 MeV 2.02 mm 5.88 mm Lead eIoni + 8 -4.1 cm -1.92 mm -2.1 cm 216 keV 1.32 MeV 1.19 mm 7.08 mm Lead eIoni + 9 -4.1 cm -1.93 mm -2.1 cm 0 eV 216 keV 88.8 um 7.17 mm Lead eIoni + 10 -4.1 cm -1.93 mm -2.1 cm 0 eV 0 eV 0 fm 7.17 mm Lead annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 355, Parent ID = 350 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.1 cm -1.93 mm -2.1 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.2 cm -2.27 mm -2.09 cm 0 eV 88 keV 1.06 mm 1.06 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 356, Parent ID = 355 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.2 cm -2.27 mm -2.09 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.2 cm -2.26 mm -2.09 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 354, Parent ID = 350 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.1 cm -1.93 mm -2.1 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm 114 um -2.19 cm 511 keV 0 eV 6.4 mm 6.4 mm Lead Transportation + 2 -3 cm 1.82 mm -2.26 cm 511 keV 0 eV 5.33 mm 1.17 cm liquidArgon Transportation + 3 -2.52 cm 3.44 mm -2.32 cm 0 eV 88 keV 5.09 mm 1.68 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 357, Parent ID = 354 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.52 cm 3.44 mm -2.32 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.52 cm 3.45 mm -2.32 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 353, Parent ID = 350 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.14 cm -1.03 mm -2.22 cm 103 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.11 cm -961 um -2.25 cm 0 eV 88 keV 343 um 343 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 358, Parent ID = 353 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.11 cm -961 um -2.25 cm 15 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.11 cm -961 um -2.25 cm 0 eV 15 keV 1.29 um 1.29 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 352, Parent ID = 350 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.15 cm -1.18 mm -2.18 cm 206 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.11 cm -1.07 mm -2.27 cm 0 eV 88 keV 1.09 mm 1.09 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 359, Parent ID = 352 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.11 cm -1.07 mm -2.27 cm 118 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.11 cm -1.07 mm -2.27 cm 0 eV 118 keV 36.2 um 36.2 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 351, Parent ID = 350 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.17 cm -1.2 mm -2.14 cm 109 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.14 cm -1.08 mm -2.19 cm 0 eV 88 keV 585 um 585 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 360, Parent ID = 351 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.14 cm -1.08 mm -2.19 cm 21.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.14 cm -1.08 mm -2.19 cm 0 eV 21.4 keV 2.27 um 2.27 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 349, Parent ID = 320 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.19 cm -1.3 mm -2.12 cm 4.21 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.18 cm -1.42 mm -2.18 cm 3 MeV 1.21 MeV 929 um 929 um Lead msc + 2 -4.18 cm -1.39 mm -2.19 cm 2.71 MeV 47 keV 58.7 um 988 um Lead eBrem + 3 -4.23 cm -1.56 mm -2.2 cm 1.11 MeV 1.6 MeV 1.68 mm 2.67 mm Lead eIoni + 4 -4.23 cm -1.38 mm -2.2 cm 180 keV 744 keV 515 um 3.18 mm Lead eBrem + 5 -4.23 cm -1.38 mm -2.2 cm 0 eV 180 keV 70.1 um 3.25 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 362, Parent ID = 349 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.23 cm -1.38 mm -2.2 cm 187 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.24 cm -1.21 mm -2.18 cm 181 keV 0 eV 254 um 254 um Lead compt + 2 -4.26 cm -648 um -2.17 cm 0 eV 88 keV 617 um 871 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 364, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.26 cm -648 um -2.17 cm 92.5 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.26 cm -646 um -2.17 cm 0 eV 92.5 keV 24.4 um 24.4 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 363, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.24 cm -1.21 mm -2.18 cm 6.21 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.24 cm -1.21 mm -2.18 cm 0 eV 6.21 keV 351 nm 351 nm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 361, Parent ID = 349 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.18 cm -1.39 mm -2.19 cm 235 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.24 cm -477 um -2.31 cm 0 eV 88 keV 1.65 mm 1.65 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 365, Parent ID = 361 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.24 cm -477 um -2.31 cm 147 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.24 cm -475 um -2.31 cm 0 eV 147 keV 50.9 um 50.9 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 319, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.31 cm -1.53 mm -2.05 cm 109 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.31 cm -1.53 mm -2.05 cm 0 eV 88 keV 5.8 um 5.8 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 366, Parent ID = 319 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.31 cm -1.53 mm -2.05 cm 21.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.31 cm -1.53 mm -2.05 cm 0 eV 21.2 keV 2.23 um 2.23 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 318, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.33 cm -1.54 mm -2.03 cm 1.63 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.54 cm -1.15 mm -2.52 cm 1.31 MeV 0 eV 9.31 mm 9.31 mm Lead compt + 2 -3.5 cm -1.33 mm -2.55 cm 1.31 MeV 0 eV 560 um 9.87 mm Lead Transportation + 3 -3 cm -3.56 mm -2.92 cm 1.31 MeV 0 eV 6.61 mm 1.65 cm liquidArgon Transportation + 4 -2 cm -8.01 mm -3.67 cm 1.31 MeV 0 eV 1.32 cm 2.97 cm Lead Transportation + 5 -1.5 cm -1.02 cm -4.04 cm 1.31 MeV 0 eV 6.61 mm 3.63 cm liquidArgon Transportation + 6 -5 mm -1.47 cm -4.78 cm 1.31 MeV 0 eV 1.32 cm 4.95 cm Lead Transportation + 7 -2 mm -1.6 cm -5 cm 1.31 MeV 0 eV 3.96 mm 5.35 cm liquidArgon Transportation + 8 1.15 cm -2.2 cm -6 cm 1.31 MeV 0 eV 1.78 cm 7.13 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 367, Parent ID = 318 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.54 cm -1.15 mm -2.52 cm 320 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.54 cm -1.14 mm -2.52 cm 0 eV 320 keV 165 um 165 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 317, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.37 cm -1.54 mm -2 cm 463 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.89 cm -1.83 mm -2.37 cm 0 eV 88 keV 6.13 mm 6.13 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 368, Parent ID = 317 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.89 cm -1.83 mm -2.37 cm 375 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.89 cm -1.83 mm -2.38 cm 0 eV 375 keV 208 um 208 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 316, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.48 cm -1.48 mm -1.94 cm 398 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.31 cm -1.48 mm -2.06 cm 0 eV 88 keV 1.99 mm 1.99 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 369, Parent ID = 316 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.31 cm -1.48 mm -2.06 cm 310 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.31 cm -1.48 mm -2.06 cm 0 eV 310 keV 158 um 158 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 315, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.65 cm -1.25 mm -1.8 cm 69.4 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.5 cm -1.47 mm -1.92 cm 69.4 keV 0 eV 1.94 mm 1.94 mm liquidArgon Transportation + 2 -4.49 cm -1.49 mm -1.93 cm 0 eV 15.9 keV 185 um 2.13 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 370, Parent ID = 315 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.49 cm -1.49 mm -1.93 cm 53.6 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.49 cm -1.49 mm -1.93 cm 0 eV 53.6 keV 10 um 10 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 314, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.81 cm -1.03 mm -1.67 cm 957 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.79 cm -1.49 mm -1.67 cm 858 keV 98.9 keV 563 um 563 um liquidArgon msc + 2 -4.77 cm -1.76 mm -1.68 cm 782 keV 76.2 keV 355 um 918 um liquidArgon msc + 3 -4.77 cm -2.14 mm -1.65 cm 602 keV 180 keV 507 um 1.43 mm liquidArgon msc + 4 -4.78 cm -2.55 mm -1.65 cm 505 keV 97.3 keV 507 um 1.93 mm liquidArgon msc + 5 -4.79 cm -2.91 mm -1.67 cm 394 keV 111 keV 513 um 2.44 mm liquidArgon msc + 6 -4.74 cm -2.71 mm -1.69 cm 85.2 keV 309 keV 1.22 mm 3.67 mm liquidArgon eIoni + 7 -4.74 cm -2.68 mm -1.69 cm 0 eV 85.2 keV 113 um 3.78 mm liquidArgon eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 313, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.01 cm -887 um -1.55 cm 9.19 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -901 um -1.56 cm 9.19 MeV 0 eV 149 um 149 um Lead Transportation + 2 -4.5 cm -1.45 mm -1.85 cm 9.19 MeV 0 eV 5.8 mm 5.95 mm liquidArgon Transportation + 3 -4.02 cm -1.98 mm -2.12 cm 0 eV 0 eV 5.55 mm 1.15 cm Lead conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 372, Parent ID = 313 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.02 cm -1.98 mm -2.12 cm 665 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.02 cm -1.96 mm -2.13 cm 0 eV 665 keV 447 um 447 um Lead eIoni + 2 -4.02 cm -1.96 mm -2.13 cm 0 eV 0 eV 0 fm 447 um Lead annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 374, Parent ID = 372 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.02 cm -1.96 mm -2.13 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.26 cm -2.43 mm -1.96 cm 224 keV 0 eV 2.96 mm 2.96 mm Lead compt + 2 -4.23 cm -2.46 mm -1.94 cm 0 eV 88 keV 357 um 3.32 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 376, Parent ID = 374 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.23 cm -2.46 mm -1.94 cm 136 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.23 cm -2.46 mm -1.94 cm 0 eV 136 keV 45 um 45 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 375, Parent ID = 374 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.26 cm -2.43 mm -1.96 cm 287 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.26 cm -2.43 mm -1.96 cm 0 eV 287 keV 142 um 142 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 373, Parent ID = 372 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.02 cm -1.96 mm -2.13 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.62 cm -1.18 mm -2.4 cm 0 eV 88 keV 4.89 mm 4.89 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 377, Parent ID = 373 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.62 cm -1.18 mm -2.4 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.62 cm -1.17 mm -2.41 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 371, Parent ID = 313 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.02 cm -1.98 mm -2.12 cm 7.5 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.97 cm -1.82 mm -2.18 cm 6 MeV 1.1 MeV 873 um 873 um Lead eBrem + 2 -3.94 cm -2.35 mm -2.25 cm 4.92 MeV 1.07 MeV 1.12 mm 1.99 mm Lead msc + 3 -3.98 cm -2.6 mm -2.2 cm 1.54 MeV 925 keV 807 um 2.8 mm Lead eBrem + 4 -3.98 cm -2.76 mm -2.21 cm 664 keV 439 keV 384 um 3.18 mm Lead eBrem + 5 -3.97 cm -2.8 mm -2.21 cm 85.1 keV 579 keV 439 um 3.62 mm Lead eBrem + 6 -3.97 cm -2.8 mm -2.21 cm 0 eV 85.1 keV 21.3 um 3.64 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 380, Parent ID = 371 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.98 cm -2.76 mm -2.21 cm 440 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.97 cm -2.7 mm -2.22 cm 194 keV 0 eV 119 um 119 um Lead compt + 2 -3.92 cm -3.52 mm -2.17 cm 0 eV 88 keV 1.11 mm 1.23 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 382, Parent ID = 380 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.92 cm -3.52 mm -2.17 cm 106 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.92 cm -3.52 mm -2.17 cm 0 eV 106 keV 30.4 um 30.4 um Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 381, Parent ID = 380 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.45 cm -9.64 mm -5.49 mm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.45 cm -9.64 mm -5.48 mm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -3.97 cm -2.7 mm -2.22 cm 246 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.97 cm -2.7 mm -2.22 cm 0 eV 246 keV 113 um 113 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 379, Parent ID = 374 +* G4Track Information: Particle = gamma, Track ID = 379, Parent ID = 371 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.85 cm -2.87 mm -2.43 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.8 cm -2.64 mm -2.49 cm 0 eV 88 keV 875 um 875 um Lead phot + 0 -3.98 cm -2.6 mm -2.2 cm 2.46 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.46 cm -1.47 cm -1.72 cm 0 eV 0 eV 1.38 cm 1.38 cm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 382, Parent ID = 379 +* G4Track Information: Particle = e+, Track ID = 384, Parent ID = 379 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.8 cm -2.64 mm -2.49 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.8 cm -2.63 mm -2.49 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -4.46 cm -1.47 cm -1.72 cm 484 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.45 cm -1.47 cm -1.72 cm 0 eV 484 keV 291 um 291 um Lead eIoni + 2 -4.45 cm -1.47 cm -1.72 cm 0 eV 0 eV 0 fm 291 um Lead annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 378, Parent ID = 374 +* G4Track Information: Particle = gamma, Track ID = 386, Parent ID = 384 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.89 cm -2.06 mm -2.36 cm 1.09 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.53 cm -3.33 mm -2.73 cm 742 keV 0 eV 5.36 mm 5.36 mm Lead compt - 2 -3.5 cm -4.6 mm -2.88 cm 742 keV 0 eV 1.92 mm 7.28 mm Lead Transportation - 3 -3.06 cm -2.36 cm -5 cm 742 keV 0 eV 2.88 cm 3.61 cm liquidArgon Transportation - 4 -2.85 cm -3.26 cm -6 cm 742 keV 0 eV 1.36 cm 4.97 cm OutOfWorld Transportation + 0 -4.45 cm -1.47 cm -1.72 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.45 cm -1.74 cm -1.82 cm 0 eV 88 keV 2.88 mm 2.88 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 383, Parent ID = 378 +* G4Track Information: Particle = e-, Track ID = 387, Parent ID = 386 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.53 cm -3.33 mm -2.73 cm 351 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.53 cm -3.33 mm -2.73 cm 0 eV 351 keV 188 um 188 um Lead eIoni + 0 -4.45 cm -1.74 cm -1.82 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.45 cm -1.74 cm -1.82 cm 0 eV 423 keV 246 um 246 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 377, Parent ID = 374 +* G4Track Information: Particle = gamma, Track ID = 385, Parent ID = 384 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.91 cm -2.11 mm -2.32 cm 112 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.91 cm -2.15 mm -2.33 cm 0 eV 88 keV 113 um 113 um Lead phot + 0 -4.45 cm -1.47 cm -1.72 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.46 cm -1.28 cm -1.65 cm 0 eV 88 keV 2.05 mm 2.05 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 384, Parent ID = 377 +* G4Track Information: Particle = e-, Track ID = 388, Parent ID = 385 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.91 cm -2.15 mm -2.33 cm 24.1 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.91 cm -2.15 mm -2.33 cm 0 eV 24.1 keV 2.73 um 2.73 um Lead eIoni + 0 -4.46 cm -1.28 cm -1.65 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.45 cm -1.27 cm -1.66 cm 124 keV 152 keV 162 um 162 um Lead eBrem + 2 -4.45 cm -1.27 cm -1.66 cm 0 eV 124 keV 39.1 um 201 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 376, Parent ID = 374 +* G4Track Information: Particle = gamma, Track ID = 389, Parent ID = 388 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.11 cm -2.71 mm -2.36 cm 1.3 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.5 cm -3.08 mm -2.4 cm 1.3 MeV 0 eV 6.11 mm 6.11 mm Lead Transportation - 2 -3 cm -3.39 mm -2.42 cm 1.3 MeV 0 eV 5.02 mm 1.11 cm liquidArgon Transportation - 3 -2.75 cm -3.54 mm -2.44 cm 230 keV 0 eV 2.46 mm 1.36 cm Lead compt - 4 -2.83 cm -2.94 mm -2.42 cm 187 keV 0 eV 1.01 mm 1.46 cm Lead compt - 5 -2.91 cm -2.79 mm -2.5 cm 0 eV 88 keV 1.13 mm 1.57 cm Lead phot + 0 -4.45 cm -1.27 cm -1.66 cm 147 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.45 cm -1.28 cm -1.66 cm 0 eV 88 keV 51 um 51 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 387, Parent ID = 376 +* G4Track Information: Particle = e-, Track ID = 390, Parent ID = 389 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.91 cm -2.79 mm -2.5 cm 99.5 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.91 cm -2.78 mm -2.5 cm 0 eV 99.5 keV 27.2 um 27.2 um Lead eIoni + 0 -4.45 cm -1.28 cm -1.66 cm 58.6 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.45 cm -1.28 cm -1.66 cm 0 eV 58.6 keV 11.6 um 11.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 386, Parent ID = 376 +* G4Track Information: Particle = e-, Track ID = 383, Parent ID = 379 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.83 cm -2.94 mm -2.42 cm 42.7 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.83 cm -2.94 mm -2.42 cm 0 eV 42.7 keV 6.92 um 6.92 um Lead eIoni + 0 -4.46 cm -1.47 cm -1.72 cm 950 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.46 cm -1.47 cm -1.72 cm 864 keV 85.9 keV 129 um 129 um Lead msc + 2 -4.46 cm -1.47 cm -1.72 cm 784 keV 80 keV 94.8 um 224 um Lead msc + 3 -4.47 cm -1.47 cm -1.71 cm 700 keV 83.8 keV 94.2 um 318 um Lead msc + 4 -4.46 cm -1.47 cm -1.71 cm 613 keV 87.2 keV 81.5 um 400 um Lead msc + 5 -4.46 cm -1.47 cm -1.71 cm 552 keV 61.2 keV 78.2 um 478 um Lead msc + 6 -4.46 cm -1.47 cm -1.7 cm 457 keV 94.8 keV 94.4 um 573 um Lead msc + 7 -4.46 cm -1.47 cm -1.7 cm 0 eV 457 keV 273 um 846 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 385, Parent ID = 376 +* G4Track Information: Particle = gamma, Track ID = 378, Parent ID = 371 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.75 cm -3.54 mm -2.44 cm 1.07 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2.75 cm -3.57 mm -2.43 cm 603 keV 71.7 keV 80.7 um 80.7 um Lead eBrem - 2 -2.75 cm -3.57 mm -2.43 cm 0 eV 603 keV 392 um 473 um Lead eIoni + 0 -3.97 cm -1.82 mm -2.18 cm 399 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.97 cm -1.83 mm -2.18 cm 260 keV 0 eV 23.6 um 23.6 um Lead compt + 2 -3.99 cm -3.57 mm -2.48 cm 247 keV 0 eV 3.47 mm 3.5 mm Lead compt + 3 -3.98 cm -3.72 mm -2.64 cm 0 eV 88 keV 1.54 mm 5.04 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 388, Parent ID = 385 +* G4Track Information: Particle = e-, Track ID = 393, Parent ID = 378 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.75 cm -3.57 mm -2.43 cm 399 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.6 cm -2.87 mm -2.34 cm 0 eV 88 keV 1.91 mm 1.91 mm Lead phot + 0 -3.98 cm -3.72 mm -2.64 cm 159 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.98 cm -3.72 mm -2.64 cm 0 eV 159 keV 57.8 um 57.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 389, Parent ID = 388 +* G4Track Information: Particle = e-, Track ID = 392, Parent ID = 378 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.6 cm -2.87 mm -2.34 cm 311 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.6 cm -2.87 mm -2.34 cm 0 eV 311 keV 158 um 158 um Lead eIoni + 0 -3.99 cm -3.57 mm -2.48 cm 12.3 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.99 cm -3.57 mm -2.48 cm 0 eV 12.3 keV 956 nm 956 nm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 375, Parent ID = 374 +* G4Track Information: Particle = e-, Track ID = 391, Parent ID = 378 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.25 cm -2.56 mm -2.37 cm 175 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.24 cm -2.59 mm -2.37 cm 0 eV 88 keV 168 um 168 um Lead phot + 0 -3.97 cm -1.83 mm -2.18 cm 139 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.97 cm -1.83 mm -2.18 cm 0 eV 139 keV 46.9 um 46.9 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 390, Parent ID = 375 +* G4Track Information: Particle = gamma, Track ID = 312, Parent ID = 305 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.24 cm -2.59 mm -2.37 cm 87.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.24 cm -2.59 mm -2.37 cm 0 eV 87.2 keV 22.2 um 22.2 um Lead eIoni + 0 -5.04 cm -853 um -1.54 cm 143 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.03 cm -871 um -1.54 cm 0 eV 88 keV 132 um 132 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 373, Parent ID = 179 +* G4Track Information: Particle = e-, Track ID = 394, Parent ID = 312 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.33 cm -2.51 mm -2.35 cm 11 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.31 cm -2.52 mm -2.37 cm 10.3 MeV 528 keV 357 um 357 um Lead eBrem - 2 -4.29 cm -2.53 mm -2.41 cm 9.78 MeV 502 keV 424 um 781 um Lead msc - 3 -4.29 cm -2.52 mm -2.42 cm 9.44 MeV 173 keV 145 um 926 um Lead eBrem - 4 -4.25 cm -2.57 mm -2.46 cm 8.94 MeV 500 keV 477 um 1.4 mm Lead msc - 5 -4.24 cm -2.82 mm -2.47 cm 8.34 MeV 387 keV 361 um 1.76 mm Lead eBrem - 6 -4.21 cm -3.2 mm -2.47 cm 7.5 MeV 589 keV 497 um 2.26 mm Lead eBrem - 7 -4.19 cm -3.64 mm -2.47 cm 6.98 MeV 518 keV 504 um 2.77 mm Lead msc - 8 -4.19 cm -3.7 mm -2.49 cm 6.7 MeV 147 keV 164 um 2.93 mm Lead eBrem - 9 -4.19 cm -3.71 mm -2.49 cm 417 keV 5.2 keV 8.9 um 2.94 mm Lead eBrem - 10 -4.19 cm -3.72 mm -2.49 cm 0 eV 417 keV 240 um 3.18 mm Lead eIoni + 0 -5.03 cm -871 um -1.54 cm 55.3 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.03 cm -870 um -1.54 cm 0 eV 55.3 keV 10.6 um 10.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 396, Parent ID = 373 +* G4Track Information: Particle = gamma, Track ID = 311, Parent ID = 305 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.19 cm -3.71 mm -2.49 cm 6.28 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.13 cm -4.84 mm -2.79 cm 0 eV 0 eV 3.28 mm 3.28 mm Lead conv + 0 -5.11 cm -825 um -1.49 cm 5.41 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -975 um -1.56 cm 5.41 MeV 0 eV 1.32 mm 1.32 mm Lead Transportation + 2 -4.5 cm -1.67 mm -1.91 cm 5.41 MeV 0 eV 6.13 mm 7.44 mm liquidArgon Transportation + 3 -3.5 cm -3.06 mm -2.6 cm 5.41 MeV 0 eV 1.23 cm 1.97 cm Lead Transportation + 4 -3 cm -3.76 mm -2.95 cm 5.41 MeV 0 eV 6.13 mm 2.58 cm liquidArgon Transportation + 5 -2.37 cm -4.63 mm -3.38 cm 0 eV 0 eV 7.66 mm 3.35 cm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 398, Parent ID = 396 +* G4Track Information: Particle = e+, Track ID = 396, Parent ID = 311 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.13 cm -4.84 mm -2.79 cm 1.86 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.1 cm -4.97 mm -2.81 cm 289 keV 1.57 MeV 1.36 mm 1.36 mm Lead eIoni - 2 -4.1 cm -4.97 mm -2.81 cm 0 eV 289 keV 138 um 1.5 mm Lead eIoni - 3 -4.1 cm -4.97 mm -2.81 cm 0 eV 0 eV 0 fm 1.5 mm Lead annihil + 0 -2.37 cm -4.63 mm -3.38 cm 2.12 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -2.36 cm -4.85 mm -3.41 cm 1e+03 keV 741 keV 610 um 610 um Lead eBrem + 2 -2.37 cm -4.83 mm -3.42 cm 0 eV 1e+03 keV 746 um 1.36 mm Lead eIoni + 3 -2.37 cm -4.83 mm -3.42 cm 0 eV 0 eV 0 fm 1.36 mm Lead annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 400, Parent ID = 398 +* G4Track Information: Particle = gamma, Track ID = 399, Parent ID = 396 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.1 cm -4.97 mm -2.81 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.1 cm -4.96 mm -2.81 cm 307 keV 0 eV 30.3 um 30.3 um Lead compt - 2 -4.11 cm -4.79 mm -2.8 cm 0 eV 88 keV 233 um 264 um Lead phot + 0 -2.37 cm -4.83 mm -3.42 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3 cm -4.51 mm -3.49 cm 511 keV 0 eV 6.37 mm 6.37 mm Lead Transportation + 2 -3.5 cm -4.26 mm -3.55 cm 511 keV 0 eV 5.04 mm 1.14 cm liquidArgon Transportation + 3 -4.5 cm -3.75 mm -3.66 cm 511 keV 0 eV 1.01 cm 2.15 cm Lead Transportation + 4 -5 cm -3.5 mm -3.71 cm 511 keV 0 eV 5.04 mm 2.65 cm liquidArgon Transportation + 5 -5.88 cm -3.06 mm -3.81 cm 177 keV 0 eV 8.9 mm 3.54 cm Lead compt + 6 -5.73 cm -3.57 mm -3.86 cm 0 eV 88 keV 1.67 mm 3.71 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 402, Parent ID = 400 +* G4Track Information: Particle = e-, Track ID = 401, Parent ID = 399 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.11 cm -4.79 mm -2.8 cm 219 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.11 cm -4.79 mm -2.8 cm 0 eV 219 keV 94.4 um 94.4 um Lead eIoni + 0 -5.73 cm -3.57 mm -3.86 cm 89.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.73 cm -3.57 mm -3.86 cm 0 eV 89.1 keV 23 um 23 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 401, Parent ID = 400 +* G4Track Information: Particle = e-, Track ID = 400, Parent ID = 399 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.1 cm -4.96 mm -2.81 cm 204 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.1 cm -4.96 mm -2.81 cm 0 eV 204 keV 84.3 um 84.3 um Lead eIoni + 0 -5.88 cm -3.06 mm -3.81 cm 334 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.88 cm -3.06 mm -3.81 cm 0 eV 334 keV 176 um 176 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 399, Parent ID = 398 +* G4Track Information: Particle = gamma, Track ID = 398, Parent ID = 396 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.1 cm -4.97 mm -2.81 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.09 cm -5.06 mm -2.8 cm 0 eV 88 keV 154 um 154 um Lead phot + 0 -2.37 cm -4.83 mm -3.42 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2 cm -5.01 mm -3.38 cm 511 keV 0 eV 3.7 mm 3.7 mm Lead Transportation + 2 -1.5 cm -5.26 mm -3.33 cm 511 keV 0 eV 5.04 mm 8.74 mm liquidArgon Transportation + 3 -1.46 cm -5.28 mm -3.32 cm 0 eV 88 keV 400 um 9.14 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 403, Parent ID = 399 +* G4Track Information: Particle = e-, Track ID = 402, Parent ID = 398 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.09 cm -5.06 mm -2.8 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.09 cm -5.07 mm -2.79 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -1.46 cm -5.28 mm -3.32 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.46 cm -5.28 mm -3.32 cm 0 eV 423 keV 246 um 246 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 397, Parent ID = 396 +* G4Track Information: Particle = gamma, Track ID = 397, Parent ID = 396 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.13 cm -4.84 mm -2.79 cm 3.4 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.06 cm -5.01 mm -2.8 cm 413 keV 2.99 MeV 1.85 mm 1.85 mm Lead eIoni - 2 -4.06 cm -5.02 mm -2.8 cm 151 keV 99.9 keV 89.1 um 1.94 mm Lead eBrem - 3 -4.06 cm -5.03 mm -2.8 cm 0 eV 151 keV 53.3 um 2 mm Lead eIoni + 0 -2.36 cm -4.85 mm -3.41 cm 378 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.42 cm -4.45 mm -3.52 cm 0 eV 88 keV 1.31 mm 1.31 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 404, Parent ID = 397 +* G4Track Information: Particle = e-, Track ID = 403, Parent ID = 397 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.06 cm -5.02 mm -2.8 cm 162 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.06 cm -5.49 mm -2.77 cm 0 eV 88 keV 554 um 554 um Lead phot + 0 -2.42 cm -4.45 mm -3.52 cm 290 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.42 cm -4.45 mm -3.52 cm 0 eV 290 keV 144 um 144 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 405, Parent ID = 404 +* G4Track Information: Particle = e-, Track ID = 395, Parent ID = 311 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.06 cm -5.49 mm -2.77 cm 73.5 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.06 cm -5.49 mm -2.77 cm 0 eV 73.5 keV 16.8 um 16.8 um Lead eIoni + 0 -2.37 cm -4.63 mm -3.38 cm 2.27 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -2.36 cm -4.71 mm -3.39 cm 1.7 MeV 118 keV 150 um 150 um Lead eBrem + 2 -2.35 cm -4.85 mm -3.37 cm 729 keV 689 keV 747 um 897 um Lead eBrem + 3 -2.35 cm -4.82 mm -3.37 cm 0 eV 729 keV 504 um 1.4 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 395, Parent ID = 373 +* G4Track Information: Particle = gamma, Track ID = 405, Parent ID = 395 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.19 cm -3.7 mm -2.49 cm 128 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.19 cm -3.77 mm -2.5 cm 0 eV 88 keV 124 um 124 um Lead phot + 0 -2.35 cm -4.85 mm -3.37 cm 280 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.33 cm -4.71 mm -3.37 cm 171 keV 0 eV 193 um 193 um Lead compt + 2 -2.34 cm -4.66 mm -3.37 cm 0 eV 88 keV 99.9 um 293 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 406, Parent ID = 395 +* G4Track Information: Particle = e-, Track ID = 407, Parent ID = 405 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.19 cm -3.77 mm -2.5 cm 40.1 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.19 cm -3.77 mm -2.5 cm 0 eV 40.1 keV 6.22 um 6.22 um Lead eIoni + 0 -2.34 cm -4.66 mm -3.37 cm 83.3 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.34 cm -4.66 mm -3.37 cm 0 eV 83.3 keV 20.6 um 20.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 394, Parent ID = 373 +* G4Track Information: Particle = e-, Track ID = 406, Parent ID = 405 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.21 cm -3.2 mm -2.47 cm 251 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.21 cm -3.38 mm -2.47 cm 0 eV 88 keV 184 um 184 um Lead phot + 0 -2.33 cm -4.71 mm -3.37 cm 109 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.33 cm -4.71 mm -3.37 cm 0 eV 109 keV 31.8 um 31.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 407, Parent ID = 394 +* G4Track Information: Particle = gamma, Track ID = 404, Parent ID = 395 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.21 cm -3.38 mm -2.47 cm 163 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.21 cm -3.38 mm -2.47 cm 0 eV 163 keV 59.7 um 59.7 um Lead eIoni + 0 -2.36 cm -4.71 mm -3.39 cm 456 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.3 cm -5.78 mm -3.39 cm 0 eV 88 keV 1.28 mm 1.28 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 393, Parent ID = 373 +* G4Track Information: Particle = e-, Track ID = 408, Parent ID = 404 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.24 cm -2.82 mm -2.47 cm 218 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.22 cm -3.01 mm -2.48 cm 0 eV 88 keV 285 um 285 um Lead phot + 0 -2.3 cm -5.78 mm -3.39 cm 368 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.3 cm -5.79 mm -3.39 cm 0 eV 368 keV 203 um 203 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 408, Parent ID = 393 +* G4Track Information: Particle = gamma, Track ID = 310, Parent ID = 305 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.22 cm -3.01 mm -2.48 cm 130 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.22 cm -3.01 mm -2.48 cm 0 eV 130 keV 41.9 um 41.9 um Lead eIoni + 0 -5.21 cm -889 um -1.43 cm 1.72 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -517 um -1.57 cm 1.72 MeV 0 eV 2.53 mm 2.53 mm Lead Transportation + 2 -4.5 cm 376 um -1.9 cm 1.72 MeV 0 eV 6.07 mm 8.6 mm liquidArgon Transportation + 3 -3.5 cm 2.16 mm -2.57 cm 1.72 MeV 0 eV 1.21 cm 2.07 cm Lead Transportation + 4 -3 cm 3.05 mm -2.9 cm 1.72 MeV 0 eV 6.07 mm 2.68 cm liquidArgon Transportation + 5 -2.75 cm 3.49 mm -3.06 cm 0 eV 88 keV 2.98 mm 2.98 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 392, Parent ID = 373 +* G4Track Information: Particle = e-, Track ID = 409, Parent ID = 310 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.29 cm -2.52 mm -2.42 cm 171 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.27 cm -2.56 mm -2.45 cm 0 eV 88 keV 300 um 300 um Lead phot + 0 -2.75 cm 3.49 mm -3.06 cm 1.63 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -2.73 cm 3.45 mm -3.06 cm 88.3 keV 1.55 MeV 1.24 mm 1.24 mm Lead eIoni + 2 -2.73 cm 3.45 mm -3.06 cm 0 eV 88.3 keV 22.6 um 1.26 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 409, Parent ID = 392 +* G4Track Information: Particle = gamma, Track ID = 309, Parent ID = 305 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.27 cm -2.56 mm -2.45 cm 82.9 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.27 cm -2.56 mm -2.45 cm 0 eV 82.9 keV 20.4 um 20.4 um Lead eIoni + 0 -5.21 cm -893 um -1.43 cm 441 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -725 um -1.56 cm 441 keV 0 eV 2.49 mm 2.49 mm Lead Transportation + 2 -4.5 cm -331 um -1.86 cm 441 keV 0 eV 5.84 mm 8.33 mm liquidArgon Transportation + 3 -4.38 cm -236 um -1.93 cm 206 keV 0 eV 1.42 mm 9.75 mm Lead compt + 4 -4.38 cm 1.1 mm -1.8 cm 0 eV 88 keV 1.87 mm 1.16 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 391, Parent ID = 373 +* G4Track Information: Particle = e-, Track ID = 411, Parent ID = 309 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.31 cm -2.52 mm -2.37 cm 176 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.15 cm -2.4 mm -2.55 cm 0 eV 88 keV 2.4 mm 2.4 mm Lead phot + 0 -4.38 cm 1.1 mm -1.8 cm 118 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.38 cm 1.1 mm -1.8 cm 0 eV 118 keV 36 um 36 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 410, Parent ID = 391 +* G4Track Information: Particle = e-, Track ID = 410, Parent ID = 309 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.15 cm -2.4 mm -2.55 cm 88.4 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.15 cm -2.4 mm -2.55 cm 0 eV 88.4 keV 22.6 um 22.6 um Lead eIoni + 0 -4.38 cm -236 um -1.93 cm 235 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.38 cm -237 um -1.93 cm 0 eV 235 keV 105 um 105 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 178, Parent ID = 160 +* G4Track Information: Particle = gamma, Track ID = 308, Parent ID = 305 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.62 cm -1.36 mm -1.42 cm 8.75 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -1.8 mm -1.84 cm 8.75 MeV 0 eV 7.44 mm 7.44 mm Lead Transportation - 2 -4.5 cm -2.16 mm -2.17 cm 8.75 MeV 0 eV 6.05 mm 1.35 cm liquidArgon Transportation - 3 -3.96 cm -2.54 mm -2.54 cm 295 keV 0 eV 6.52 mm 2 cm Lead compt - 4 -3.97 cm -2.71 mm -2.52 cm 0 eV 88 keV 260 um 2.03 cm Lead phot + 0 -5.24 cm -921 um -1.42 cm 10.2 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.04 cm -751 um -1.53 cm 1.83 MeV 0 eV 2.26 mm 2.26 mm Lead compt + 2 -5 cm -207 um -1.58 cm 1.83 MeV 0 eV 809 um 3.07 mm Lead Transportation + 3 -4.5 cm 6.08 mm -2.06 cm 1.83 MeV 0 eV 9.35 mm 1.24 cm liquidArgon Transportation + 4 -3.5 cm 1.87 cm -3.01 cm 1.83 MeV 0 eV 1.87 cm 3.11 cm Lead Transportation + 5 -3 cm 2.49 cm -3.49 cm 1.83 MeV 0 eV 9.35 mm 4.05 cm liquidArgon Transportation + 6 -2.99 cm 2.51 cm -3.5 cm 263 keV 0 eV 230 um 4.07 cm Lead compt + 7 -2.97 cm 2.47 cm -3.46 cm 0 eV 88 keV 639 um 4.14 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 412, Parent ID = 178 +* G4Track Information: Particle = e-, Track ID = 414, Parent ID = 308 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.97 cm -2.71 mm -2.52 cm 207 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.97 cm -2.72 mm -2.52 cm 0 eV 207 keV 86.5 um 86.5 um Lead eIoni + 0 -2.97 cm 2.47 cm -3.46 cm 175 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.97 cm 2.47 cm -3.45 cm 0 eV 175 keV 67 um 67 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 411, Parent ID = 178 +* G4Track Information: Particle = e-, Track ID = 413, Parent ID = 308 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.96 cm -2.54 mm -2.54 cm 8.45 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.89 cm -2.54 mm -2.55 cm 7.16 MeV 1.13 MeV 776 um 776 um Lead eBrem - 2 -3.81 cm -2.45 mm -2.52 cm 3.46 MeV 1.77 MeV 1.03 mm 1.81 mm Lead eIoni - 3 -3.82 cm -1.84 mm -2.51 cm 2.22 MeV 1.23 MeV 1.15 mm 2.96 mm Lead msc - 4 -3.82 cm -1.84 mm -2.51 cm 1.88 MeV 127 eV 708 nm 2.96 mm Lead eBrem - 5 -3.83 cm -1.52 mm -2.5 cm 404 keV 1.48 MeV 1.36 mm 4.32 mm Lead eIoni - 6 -3.83 cm -1.52 mm -2.5 cm 0 eV 404 keV 229 um 4.55 mm Lead eIoni + 0 -2.99 cm 2.51 cm -3.5 cm 1.57 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -2.98 cm 2.51 cm -3.51 cm 1.36 MeV 207 keV 49.5 um 49.5 um Lead msc + 2 -2.98 cm 2.52 cm -3.51 cm 1.3 MeV 57.6 keV 49.5 um 98.9 um Lead msc + 3 -2.98 cm 2.51 cm -3.5 cm 1.25 MeV 48.3 keV 49.5 um 148 um Lead msc + 4 -2.98 cm 2.51 cm -3.5 cm 1.2 MeV 49.4 keV 49.5 um 198 um Lead msc + 5 -2.97 cm 2.51 cm -3.5 cm 1.16 MeV 40.3 keV 49.5 um 247 um Lead msc + 6 -2.97 cm 2.51 cm -3.5 cm 1.08 MeV 83.6 keV 49.5 um 297 um Lead msc + 7 -2.97 cm 2.51 cm -3.5 cm 1.04 MeV 42.4 keV 59.4 um 356 um Lead msc + 8 -2.96 cm 2.51 cm -3.51 cm 939 keV 99.7 keV 63.5 um 420 um Lead msc + 9 -2.96 cm 2.51 cm -3.51 cm 855 keV 83.3 keV 77.2 um 497 um Lead msc + 10 -2.96 cm 2.51 cm -3.51 cm 772 keV 83.1 keV 83.1 um 580 um Lead msc + 11 -2.95 cm 2.51 cm -3.51 cm 684 keV 88.6 keV 96 um 676 um Lead msc + 12 -2.96 cm 2.51 cm -3.51 cm 592 keV 91.9 keV 107 um 783 um Lead msc + 13 -2.96 cm 2.51 cm -3.5 cm 466 keV 126 keV 114 um 897 um Lead msc + 14 -2.96 cm 2.51 cm -3.5 cm 0 eV 466 keV 281 um 1.18 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 415, Parent ID = 411 +* G4Track Information: Particle = e-, Track ID = 412, Parent ID = 308 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.82 cm -1.84 mm -2.51 cm 340 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.86 cm -136 um -2.11 cm 315 keV 0 eV 4.34 mm 4.34 mm Lead compt - 2 -3.85 cm 120 um -2.09 cm 0 eV 88 keV 374 um 4.71 mm Lead phot + 0 -5.04 cm -751 um -1.53 cm 8.33 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.01 cm -842 um -1.54 cm 7.74 MeV 590 keV 335 um 335 um Lead msc + 2 -5 cm -836 um -1.54 cm 5.93 MeV 494 keV 106 um 442 um Lead eBrem + 3 -5 cm -831 um -1.54 cm 5.85 MeV 84.9 keV 41.1 um 483 um Lead Transportation + 4 -4.5 cm -591 um -1.31 cm 4.67 MeV 1.18 MeV 6.03 mm 6.51 mm liquidArgon Transportation + 5 -4.49 cm -700 um -1.31 cm 4.42 MeV 253 keV 153 um 6.67 mm Lead msc + 6 -4.49 cm -826 um -1.31 cm 4.3 MeV 118 keV 153 um 6.82 mm Lead msc + 7 -4.49 cm -917 um -1.3 cm 4.15 MeV 152 keV 153 um 6.97 mm Lead msc + 8 -4.49 cm -810 um -1.29 cm 3.97 MeV 181 keV 153 um 7.13 mm Lead msc + 9 -4.49 cm -801 um -1.27 cm 3.68 MeV 286 keV 153 um 7.28 mm Lead msc + 10 -4.5 cm -818 um -1.28 cm 3.61 MeV 68.8 keV 103 um 7.38 mm Lead Transportation + 11 -4.57 cm -3.08 mm -1.54 cm 3.08 MeV 533 keV 3.67 mm 1.1 cm liquidArgon msc + 12 -4.51 cm -5.59 mm -1.73 cm 2.06 MeV 599 keV 3.6 mm 1.46 cm liquidArgon eIoni + 13 -4.5 cm -5.82 mm -1.75 cm 1.99 MeV 71 keV 351 um 1.5 cm liquidArgon Transportation + 14 -4.5 cm -5.86 mm -1.75 cm 1.92 MeV 72.3 keV 64.2 um 1.51 cm Lead msc + 15 -4.5 cm -5.87 mm -1.75 cm 1.92 MeV 6.46 keV 4.86 um 1.51 cm Lead Transportation + 16 -4.51 cm -6.26 mm -1.82 cm 1.8 MeV 113 keV 841 um 1.59 cm liquidArgon msc + 17 -4.55 cm -6.37 mm -1.89 cm 1.65 MeV 147 keV 841 um 1.67 cm liquidArgon msc + 18 -4.59 cm -6.5 mm -1.96 cm 1.46 MeV 199 keV 841 um 1.76 cm liquidArgon msc + 19 -4.59 cm -6.31 mm -2.04 cm 1.27 MeV 183 keV 841 um 1.84 cm liquidArgon msc + 20 -4.56 cm -6.78 mm -2.09 cm 1.15 MeV 124 keV 841 um 1.93 cm liquidArgon msc + 21 -4.54 cm -6.92 mm -2.17 cm 1.03 MeV 116 keV 841 um 2.01 cm liquidArgon msc + 22 -4.6 cm -7.42 mm -2.17 cm 854 keV 178 keV 841 um 2.1 cm liquidArgon msc + 23 -4.65 cm -7.97 mm -2.15 cm 667 keV 187 keV 841 um 2.18 cm liquidArgon msc + 24 -4.65 cm -8.68 mm -2.14 cm 529 keV 138 keV 841 um 2.26 cm liquidArgon msc + 25 -4.62 cm -9.16 mm -2.12 cm 350 keV 179 keV 841 um 2.35 cm liquidArgon msc + 26 -4.65 cm -9.39 mm -2.08 cm 195 keV 155 keV 841 um 2.43 cm liquidArgon msc + 27 -4.65 cm -9.31 mm -2.08 cm 0 eV 195 keV 437 um 2.48 cm liquidArgon eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 416, Parent ID = 412 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.51 cm -5.59 mm -1.73 cm 413 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.51 cm -5.63 mm -1.73 cm 402 keV 10.9 keV 54.2 um 54.2 um liquidArgon msc + 2 -4.52 cm -5.68 mm -1.73 cm 381 keV 21.3 keV 54.2 um 108 um liquidArgon msc + 3 -4.51 cm -5.73 mm -1.73 cm 374 keV 7.33 keV 54.2 um 163 um liquidArgon msc + 4 -4.51 cm -5.79 mm -1.73 cm 366 keV 7.72 keV 54.2 um 217 um liquidArgon msc + 5 -4.51 cm -5.84 mm -1.73 cm 357 keV 8.73 keV 54.2 um 271 um liquidArgon msc + 6 -4.51 cm -5.88 mm -1.72 cm 348 keV 9.46 keV 54.2 um 325 um liquidArgon msc + 7 -4.51 cm -5.93 mm -1.72 cm 337 keV 10.8 keV 54.2 um 379 um liquidArgon msc + 8 -4.51 cm -5.96 mm -1.72 cm 326 keV 11.5 keV 54.2 um 434 um liquidArgon msc + 9 -4.51 cm -5.99 mm -1.73 cm 316 keV 9.54 keV 54.2 um 488 um liquidArgon msc + 10 -4.51 cm -6 mm -1.73 cm 307 keV 8.76 keV 54.2 um 542 um liquidArgon msc + 11 -4.51 cm -5.95 mm -1.73 cm 285 keV 21.8 keV 54.2 um 596 um liquidArgon msc + 12 -4.51 cm -5.9 mm -1.73 cm 279 keV 6.43 keV 54.2 um 650 um liquidArgon msc + 13 -4.51 cm -5.85 mm -1.73 cm 271 keV 8.23 keV 54.2 um 705 um liquidArgon msc + 14 -4.51 cm -5.8 mm -1.73 cm 256 keV 14.6 keV 54.2 um 759 um liquidArgon msc + 15 -4.51 cm -5.76 mm -1.73 cm 249 keV 7.47 keV 54.2 um 813 um liquidArgon msc + 16 -4.51 cm -5.74 mm -1.72 cm 233 keV 16 keV 54.2 um 867 um liquidArgon msc + 17 -4.51 cm -5.72 mm -1.72 cm 218 keV 14.2 keV 54.2 um 921 um liquidArgon msc + 18 -4.52 cm -5.72 mm -1.72 cm 208 keV 10.8 keV 54.2 um 976 um liquidArgon msc + 19 -4.52 cm -5.71 mm -1.72 cm 185 keV 22.8 keV 54.2 um 1.03 mm liquidArgon msc + 20 -4.52 cm -5.68 mm -1.72 cm 174 keV 10.4 keV 54.2 um 1.08 mm liquidArgon msc + 21 -4.53 cm -5.64 mm -1.72 cm 162 keV 12.6 keV 54.2 um 1.14 mm liquidArgon msc + 22 -4.53 cm -5.59 mm -1.72 cm 145 keV 16.8 keV 54.2 um 1.19 mm liquidArgon msc + 23 -4.53 cm -5.55 mm -1.72 cm 125 keV 20 keV 63 um 1.26 mm liquidArgon msc + 24 -4.53 cm -5.56 mm -1.72 cm 108 keV 16.9 keV 58.8 um 1.31 mm liquidArgon msc + 25 -4.53 cm -5.6 mm -1.72 cm 0 eV 108 keV 168 um 1.48 mm liquidArgon eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 415, Parent ID = 412 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5 cm -836 um -1.54 cm 1.31 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -835 um -1.54 cm 1.31 MeV 0 eV 41.7 um 41.7 um Lead Transportation + 2 -4.5 cm -742 um -1.3 cm 1.31 MeV 0 eV 5.55 mm 5.6 mm liquidArgon Transportation + 3 -4.46 cm -735 um -1.28 cm 1.24 MeV 0 eV 404 um 6 mm Lead compt + 4 -4.43 cm -811 um -1.26 cm 457 keV 0 eV 428 um 6.43 mm Lead compt + 5 -4.38 cm -1.68 mm -1.3 cm 0 eV 88 keV 1.05 mm 7.48 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 419, Parent ID = 415 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.38 cm -1.68 mm -1.3 cm 369 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.38 cm -1.68 mm -1.3 cm 0 eV 369 keV 203 um 203 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 418, Parent ID = 415 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.43 cm -811 um -1.26 cm 785 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.43 cm -756 um -1.26 cm 589 keV 80.1 keV 100 um 100 um Lead eBrem + 2 -4.43 cm -747 um -1.26 cm 0 eV 589 keV 383 um 484 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 420, Parent ID = 418 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.43 cm -756 um -1.26 cm 116 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.41 cm -822 um -1.27 cm 0 eV 88 keV 224 um 224 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 421, Parent ID = 420 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.41 cm -822 um -1.27 cm 28 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.41 cm -822 um -1.27 cm 0 eV 28 keV 3.48 um 3.48 um Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 417, Parent ID = 415 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.85 cm 120 um -2.09 cm 227 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.85 cm 122 um -2.08 cm 0 eV 227 keV 99.5 um 99.5 um Lead eIoni + 0 -4.46 cm -735 um -1.28 cm 69.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.46 cm -734 um -1.28 cm 0 eV 69.4 keV 15.3 um 15.3 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 416, Parent ID = 415 +* G4Track Information: Particle = gamma, Track ID = 307, Parent ID = 305 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.86 cm -136 um -2.11 cm 25.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.86 cm -136 um -2.11 cm 0 eV 25.2 keV 2.94 um 2.94 um Lead eIoni + 0 -5.29 cm -996 um -1.4 cm 121 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.25 cm -957 um -1.41 cm 0 eV 88 keV 390 um 390 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 414, Parent ID = 411 +* G4Track Information: Particle = e-, Track ID = 422, Parent ID = 307 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.81 cm -2.45 mm -2.52 cm 1.94 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.81 cm -2.21 mm -2.54 cm 438 keV 1.5 MeV 1.39 mm 1.39 mm Lead eIoni - 2 -3.81 cm -2.23 mm -2.55 cm 0 eV 438 keV 256 um 1.64 mm Lead eIoni + 0 -5.25 cm -957 um -1.41 cm 33.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.25 cm -957 um -1.41 cm 0 eV 33.2 keV 4.6 um 4.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 413, Parent ID = 411 +* G4Track Information: Particle = gamma, Track ID = 306, Parent ID = 305 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.89 cm -2.54 mm -2.55 cm 162 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.86 cm -2.62 mm -2.56 cm 0 eV 88 keV 358 um 358 um Lead phot + 0 -5.31 cm -1.01 mm -1.39 cm 103 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.25 cm -968 um -1.41 cm 0 eV 88 keV 619 um 619 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 418, Parent ID = 413 +* G4Track Information: Particle = e-, Track ID = 423, Parent ID = 306 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.86 cm -2.62 mm -2.56 cm 74.1 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.86 cm -2.62 mm -2.56 cm 0 eV 74.1 keV 17 um 17 um Lead eIoni + 0 -5.25 cm -968 um -1.41 cm 14.5 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.25 cm -968 um -1.41 cm 0 eV 14.5 keV 1.23 um 1.23 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 177, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 304, Parent ID = 257 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.62 cm -1.36 mm -1.42 cm 2.07 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -1.83 mm -1.84 cm 2.07 MeV 0 eV 7.51 mm 7.51 mm Lead Transportation - 2 -4.5 cm -2.21 mm -2.18 cm 2.07 MeV 0 eV 6.06 mm 1.36 cm liquidArgon Transportation - 3 -4.48 cm -2.22 mm -2.19 cm 0 eV 0 eV 184 um 1.38 cm Lead conv + 0 -5.36 cm -1.03 mm -1.37 cm 53.1 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.24 cm -1.14 mm -1.42 cm 30.3 MeV 1.47 MeV 1.36 mm 1.36 mm Lead eBrem + 2 -5.2 cm -1.14 mm -1.45 cm 29.2 MeV 894 keV 506 um 1.87 mm Lead eBrem + 3 -5.15 cm -1.13 mm -1.51 cm 19.8 MeV 950 keV 799 um 2.67 mm Lead eBrem + 4 -5.11 cm -1.13 mm -1.54 cm 18.8 MeV 548 keV 510 um 3.18 mm Lead eBrem + 5 -5.08 cm -1.13 mm -1.57 cm 10.4 MeV 682 keV 401 um 3.58 mm Lead eBrem + 6 -5.01 cm -1.28 mm -1.62 cm 6.13 MeV 1.04 MeV 1.06 mm 4.64 mm Lead eBrem + 7 -5 cm -1.48 mm -1.61 cm 5.88 MeV 254 keV 268 um 4.91 mm Lead Transportation + 8 -4.56 cm -4.75 mm -1.17 cm 4.33 MeV 1.55 MeV 7.83 mm 1.27 cm liquidArgon eIoni + 9 -4.5 cm -5.66 mm -1.07 cm 4.09 MeV 239 keV 1.6 mm 1.43 cm liquidArgon Transportation + 10 -4.49 cm -5.68 mm -1.06 cm 3.52 MeV 103 keV 94.8 um 1.44 cm Lead eBrem + 11 -4.48 cm -5.69 mm -1.06 cm 3.38 MeV 140 keV 134 um 1.46 cm Lead msc + 12 -4.48 cm -5.66 mm -1.06 cm 3.13 MeV 81.3 keV 48.3 um 1.46 cm Lead eBrem + 13 -4.46 cm -5.6 mm -1.06 cm 2.97 MeV 164 keV 134 um 1.47 cm Lead msc + 14 -4.46 cm -5.6 mm -1.06 cm 2.46 MeV 25.5 keV 18.4 um 1.48 cm Lead eBrem + 15 -4.45 cm -5.63 mm -1.05 cm 2.35 MeV 117 keV 134 um 1.49 cm Lead msc + 16 -4.46 cm -5.74 mm -1.05 cm 2.23 MeV 120 keV 134 um 1.5 cm Lead msc + 17 -4.45 cm -5.84 mm -1.05 cm 1.96 MeV 270 keV 134 um 1.52 cm Lead msc + 18 -4.45 cm -5.91 mm -1.06 cm 1.86 MeV 99.2 keV 134 um 1.53 cm Lead msc + 19 -4.45 cm -5.91 mm -1.06 cm 213 keV 164 keV 31.3 um 1.53 cm Lead eBrem + 20 -4.45 cm -5.92 mm -1.06 cm 0 eV 213 keV 90.9 um 1.54 cm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 420, Parent ID = 177 +* G4Track Information: Particle = gamma, Track ID = 433, Parent ID = 304 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.48 cm -2.22 mm -2.19 cm 726 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.49 cm -2.22 mm -2.19 cm 706 keV 19.6 keV 37.9 um 37.9 um Lead msc - 2 -4.49 cm -2.21 mm -2.19 cm 665 keV 40.7 keV 37.9 um 75.8 um Lead msc - 3 -4.49 cm -2.21 mm -2.19 cm 646 keV 19 keV 37.9 um 114 um Lead msc - 4 -4.49 cm -2.21 mm -2.19 cm 557 keV 89.8 keV 37.9 um 152 um Lead msc - 5 -4.5 cm -2.21 mm -2.19 cm 514 keV 42.3 keV 37.9 um 190 um Lead msc - 6 -4.5 cm -2.24 mm -2.19 cm 476 keV 38.4 keV 37.9 um 228 um Lead msc - 7 -4.5 cm -2.23 mm -2.19 cm 425 keV 50.4 keV 37.9 um 265 um Lead msc - 8 -4.49 cm -2.22 mm -2.18 cm 378 keV 47.8 keV 37.9 um 303 um Lead msc - 9 -4.5 cm -2.2 mm -2.18 cm 344 keV 33.8 keV 37.9 um 341 um Lead msc - 10 -4.49 cm -2.18 mm -2.18 cm 307 keV 36.5 keV 37.9 um 379 um Lead msc - 11 -4.49 cm -2.18 mm -2.18 cm 261 keV 46.3 keV 37.9 um 417 um Lead msc - 12 -4.49 cm -2.17 mm -2.18 cm 218 keV 43.3 keV 37.9 um 455 um Lead msc - 13 -4.49 cm -2.18 mm -2.18 cm 190 keV 28.2 keV 37.9 um 493 um Lead msc - 14 -4.49 cm -2.18 mm -2.18 cm 0 eV 190 keV 71.9 um 565 um Lead eIoni - 15 -4.49 cm -2.18 mm -2.18 cm 0 eV 0 eV 0 fm 565 um Lead annihil + 0 -4.45 cm -5.91 mm -1.06 cm 1.48 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.5 cm -5.39 mm -1.18 cm 1.48 MeV 0 eV 1.39 mm 1.39 mm Lead Transportation + 2 -4.92 cm -1.03 mm -2.17 cm 493 keV 0 eV 1.16 cm 1.3 cm liquidArgon compt + 3 -5 cm -3.36 mm -2.35 cm 493 keV 0 eV 3.04 mm 1.6 cm liquidArgon Transportation + 4 -5.11 cm -6.65 mm -2.6 cm 0 eV 88 keV 4.3 mm 2.03 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 422, Parent ID = 420 +* G4Track Information: Particle = e-, Track ID = 435, Parent ID = 433 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.49 cm -2.18 mm -2.18 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.42 cm -1.24 mm -2.22 cm 204 keV 0 eV 1.24 mm 1.24 mm Lead compt - 2 -4.33 cm -4.41 mm -2.28 cm 0 eV 88 keV 3.35 mm 4.59 mm Lead phot + 0 -5.11 cm -6.65 mm -2.6 cm 405 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.11 cm -6.66 mm -2.6 cm 0 eV 405 keV 231 um 231 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 424, Parent ID = 422 +* G4Track Information: Particle = e-, Track ID = 434, Parent ID = 433 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.33 cm -4.41 mm -2.28 cm 116 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.33 cm -4.41 mm -2.28 cm 0 eV 116 keV 35 um 35 um Lead eIoni + 0 -4.92 cm -1.03 mm -2.17 cm 988 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.93 cm -923 um -2.19 cm 955 keV 33.3 keV 237 um 237 um liquidArgon msc + 2 -4.93 cm -821 um -2.21 cm 914 keV 41.1 keV 221 um 458 um liquidArgon msc + 3 -4.94 cm -757 um -2.23 cm 884 keV 30.3 keV 221 um 679 um liquidArgon msc + 4 -4.94 cm -586 um -2.24 cm 842 keV 41.5 keV 221 um 900 um liquidArgon msc + 5 -4.94 cm -379 um -2.24 cm 805 keV 37.4 keV 221 um 1.12 mm liquidArgon msc + 6 -4.94 cm -190 um -2.25 cm 774 keV 30.2 keV 221 um 1.34 mm liquidArgon msc + 7 -4.93 cm 17.8 um -2.25 cm 746 keV 28.1 keV 221 um 1.56 mm liquidArgon msc + 8 -4.92 cm 205 um -2.24 cm 669 keV 77 keV 221 um 1.78 mm liquidArgon msc + 9 -4.92 cm 356 um -2.26 cm 633 keV 36.7 keV 221 um 2 mm liquidArgon msc + 10 -4.93 cm 412 um -2.27 cm 589 keV 43.3 keV 221 um 2.22 mm liquidArgon msc + 11 -4.93 cm 361 um -2.29 cm 557 keV 31.8 keV 221 um 2.45 mm liquidArgon msc + 12 -4.93 cm 533 um -2.3 cm 528 keV 29.3 keV 221 um 2.67 mm liquidArgon msc + 13 -4.95 cm 574 um -2.32 cm 420 keV 109 keV 221 um 2.89 mm liquidArgon msc + 14 -4.96 cm 442 um -2.33 cm 375 keV 44.1 keV 221 um 3.11 mm liquidArgon msc + 15 -4.98 cm 436 um -2.33 cm 327 keV 48.1 keV 221 um 3.33 mm liquidArgon msc + 16 -4.98 cm 313 um -2.32 cm 276 keV 51.5 keV 221 um 3.55 mm liquidArgon msc + 17 -5 cm 210 um -2.31 cm 211 keV 65.1 keV 221 um 3.77 mm liquidArgon msc + 18 -5 cm 215 um -2.3 cm 190 keV 20.3 keV 87.4 um 3.86 mm liquidArgon Transportation + 19 -5 cm 215 um -2.3 cm 186 keV 4.64 keV 3.05 um 3.86 mm Lead msc + 20 -5 cm 215 um -2.3 cm 185 keV 1.23 keV 3.05 um 3.86 mm Lead msc + 21 -5 cm 215 um -2.3 cm 180 keV 4.34 keV 3.05 um 3.87 mm Lead msc + 22 -5 cm 215 um -2.3 cm 179 keV 1.58 keV 3.05 um 3.87 mm Lead msc + 23 -5 cm 213 um -2.3 cm 177 keV 1.45 keV 3.05 um 3.87 mm Lead msc + 24 -5 cm 215 um -2.3 cm 174 keV 3.23 keV 3.05 um 3.88 mm Lead msc + 25 -5 cm 217 um -2.31 cm 160 keV 14.4 keV 3.05 um 3.88 mm Lead msc + 26 -5 cm 218 um -2.31 cm 155 keV 4.99 keV 3.05 um 3.88 mm Lead msc + 27 -5 cm 218 um -2.31 cm 150 keV 4.62 keV 3.05 um 3.89 mm Lead msc + 28 -5 cm 218 um -2.31 cm 145 keV 5.05 keV 3.05 um 3.89 mm Lead msc + 29 -5 cm 216 um -2.31 cm 143 keV 1.8 keV 3.05 um 3.89 mm Lead msc + 30 -5 cm 216 um -2.31 cm 140 keV 2.99 keV 3.05 um 3.89 mm Lead msc + 31 -5 cm 216 um -2.31 cm 100 keV 39.8 keV 3.05 um 3.9 mm Lead msc + 32 -5 cm 215 um -2.31 cm 93.4 keV 6.91 keV 3.05 um 3.9 mm Lead msc + 33 -5 cm 213 um -2.31 cm 88 keV 5.41 keV 3.88 um 3.9 mm Lead msc + 34 -5 cm 212 um -2.31 cm 77.6 keV 10.3 keV 4.23 um 3.91 mm Lead msc + 35 -5 cm 211 um -2.31 cm 61.2 keV 16.4 keV 4.46 um 3.91 mm Lead msc + 36 -5 cm 211 um -2.31 cm 0 eV 61.2 keV 12.5 um 3.93 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 423, Parent ID = 422 +* G4Track Information: Particle = gamma, Track ID = 432, Parent ID = 304 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.42 cm -1.24 mm -2.22 cm 307 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.42 cm -1.23 mm -2.22 cm 0 eV 307 keV 155 um 155 um Lead eIoni + 0 -4.46 cm -5.6 mm -1.06 cm 481 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm -1.07 cm -2.5 mm 481 keV 0 eV 1.36 cm 1.36 cm Lead Transportation + 2 -3 cm -1.33 cm 1.7 mm 481 keV 0 eV 7.05 mm 2.06 cm liquidArgon Transportation + 3 -2.85 cm -1.42 cm 3 mm 461 keV 0 eV 2.17 mm 2.28 cm Lead compt + 4 -2.5 cm -1.53 cm 7.78 mm 458 keV 0 eV 6.02 mm 2.88 cm Lead compt + 5 -2.3 cm -1.64 cm 1.12 cm 444 keV 0 eV 4.08 mm 3.29 cm Lead compt + 6 -2.22 cm -1.7 cm 1.42 cm 0 eV 88 keV 3.14 mm 3.6 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 421, Parent ID = 420 +* G4Track Information: Particle = e-, Track ID = 439, Parent ID = 432 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.49 cm -2.18 mm -2.18 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.5 cm -2.29 mm -2.18 cm 511 keV 0 eV 142 um 142 um Lead Transportation - 2 -5 cm -8.77 mm -1.93 cm 511 keV 0 eV 8.56 mm 8.7 mm liquidArgon Transportation - 3 -5.5 cm -1.52 cm -1.68 cm 0 eV 88 keV 8.55 mm 1.72 cm Lead phot + 0 -2.22 cm -1.7 cm 1.42 cm 356 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.22 cm -1.7 cm 1.42 cm 0 eV 356 keV 193 um 193 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 425, Parent ID = 421 +* G4Track Information: Particle = e-, Track ID = 438, Parent ID = 432 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.5 cm -1.52 cm -1.68 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.5 cm -1.53 cm -1.68 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -2.3 cm -1.64 cm 1.12 cm 14.5 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.3 cm -1.64 cm 1.12 cm 0 eV 14.5 keV 1.23 um 1.23 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 419, Parent ID = 177 +* G4Track Information: Particle = e-, Track ID = 437, Parent ID = 432 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.48 cm -2.22 mm -2.19 cm 325 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.49 cm -2.24 mm -2.19 cm 280 keV 45.4 keV 37.9 um 37.9 um Lead msc - 2 -4.49 cm -2.24 mm -2.19 cm 201 keV 78.7 keV 37.9 um 75.8 um Lead msc - 3 -4.49 cm -2.24 mm -2.19 cm 0 eV 201 keV 82.6 um 158 um Lead eIoni + 0 -2.5 cm -1.53 cm 7.78 mm 2.85 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.5 cm -1.53 cm 7.78 mm 0 eV 2.85 keV 120 nm 120 nm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 176, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 436, Parent ID = 432 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.68 cm -1.29 mm -1.38 cm 3.54 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.66 cm -1.32 mm -1.39 cm 3.1 MeV 0 eV 251 um 251 um Lead compt - 2 -5 cm -3.88 mm -1.84 cm 3.1 MeV 0 eV 8.44 mm 8.7 mm Lead Transportation - 3 -4.5 cm -5.81 mm -2.19 cm 3.1 MeV 0 eV 6.37 mm 1.51 cm liquidArgon Transportation - 4 -3.5 cm -9.68 mm -2.88 cm 3.1 MeV 0 eV 1.27 cm 2.78 cm Lead Transportation - 5 -3 cm -1.16 cm -3.22 cm 3.1 MeV 0 eV 6.37 mm 3.42 cm liquidArgon Transportation - 6 -2 cm -1.55 cm -3.91 cm 3.1 MeV 0 eV 1.27 cm 4.69 cm Lead Transportation - 7 -1.5 cm -1.74 cm -4.25 cm 3.1 MeV 0 eV 6.37 mm 5.33 cm liquidArgon Transportation - 8 -8.99 mm -1.97 cm -4.67 cm 311 keV 0 eV 7.66 mm 6.09 cm Lead compt - 9 -8.63 mm -1.83 cm -4.49 cm 301 keV 0 eV 2.29 mm 6.32 cm Lead compt - 10 -8.55 mm -1.82 cm -4.48 cm 142 keV 0 eV 174 um 6.34 cm Lead compt - 11 -8.56 mm -1.83 cm -4.48 cm 0 eV 88 keV 72.3 um 6.35 cm Lead phot + 0 -2.85 cm -1.42 cm 3 mm 19.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.85 cm -1.42 cm 3 mm 0 eV 19.2 keV 1.91 um 1.91 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 430, Parent ID = 176 +* G4Track Information: Particle = gamma, Track ID = 431, Parent ID = 304 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.56 mm -1.83 cm -4.48 cm 54 keV 0 eV 0 fm 0 fm Lead initStep - 1 -8.56 mm -1.83 cm -4.48 cm 0 eV 54 keV 10.2 um 10.2 um Lead eIoni + 0 -4.48 cm -5.66 mm -1.06 cm 169 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.38 cm -5.45 mm -1.01 cm 0 eV 88 keV 1.15 mm 1.15 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 429, Parent ID = 176 +* G4Track Information: Particle = e-, Track ID = 440, Parent ID = 431 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.55 mm -1.82 cm -4.48 cm 159 keV 0 eV 0 fm 0 fm Lead initStep - 1 -8.54 mm -1.82 cm -4.48 cm 0 eV 159 keV 57.4 um 57.4 um Lead eIoni + 0 -4.38 cm -5.45 mm -1.01 cm 81.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.38 cm -5.45 mm -1.01 cm 0 eV 81.4 keV 19.8 um 19.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 428, Parent ID = 176 +* G4Track Information: Particle = gamma, Track ID = 430, Parent ID = 304 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.63 mm -1.83 cm -4.49 cm 9.58 keV 0 eV 0 fm 0 fm Lead initStep - 1 -8.63 mm -1.83 cm -4.49 cm 0 eV 9.58 keV 656 nm 656 nm Lead eIoni + 0 -4.49 cm -5.68 mm -1.06 cm 466 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.48 cm -5.66 mm -1.06 cm 0 eV 88 keV 96.7 um 96.7 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 427, Parent ID = 176 +* G4Track Information: Particle = e-, Track ID = 441, Parent ID = 430 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.99 mm -1.97 cm -4.67 cm 2.79 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -8.56 mm -2 cm -4.64 cm 263 keV 2.53 MeV 1.69 mm 1.69 mm Lead eIoni - 2 -8.56 mm -2 cm -4.64 cm 0 eV 263 keV 124 um 1.81 mm Lead eIoni + 0 -4.48 cm -5.66 mm -1.06 cm 378 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.48 cm -5.65 mm -1.06 cm 311 keV 67.4 keV 53.1 um 53.1 um Lead msc + 2 -4.48 cm -5.66 mm -1.06 cm 265 keV 45.5 keV 41.6 um 94.7 um Lead msc + 3 -4.48 cm -5.67 mm -1.06 cm 0 eV 265 keV 126 um 220 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 426, Parent ID = 176 +* G4Track Information: Particle = gamma, Track ID = 429, Parent ID = 304 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.66 cm -1.32 mm -1.39 cm 440 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.66 cm -1.28 mm -1.39 cm 28.4 keV 116 keV 91.7 um 91.7 um Lead eBrem - 2 -5.66 cm -1.28 mm -1.39 cm 0 eV 28.4 keV 3.58 um 95.3 um Lead eIoni + 0 -5.01 cm -1.28 mm -1.62 cm 3.21 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -1.49 mm -1.61 cm 3.21 MeV 0 eV 245 um 245 um Lead Transportation + 2 -4.5 cm -1.24 cm -1.15 cm 3.21 MeV 0 eV 1.29 cm 1.31 cm liquidArgon Transportation + 3 -3.5 cm -3.43 cm -2.32 mm 3.21 MeV 0 eV 2.58 cm 3.89 cm Lead Transportation + 4 -3 cm -4.53 cm 2.27 mm 3.21 MeV 0 eV 1.29 cm 5.18 cm liquidArgon Transportation + 5 -2.78 cm -5 cm 4.25 mm 3.21 MeV 0 eV 5.54 mm 5.73 cm Lead Transportation + 6 -2.33 cm -6 cm 8.44 mm 3.21 MeV 0 eV 1.18 cm 6.91 cm OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 431, Parent ID = 426 +* G4Track Information: Particle = gamma, Track ID = 428, Parent ID = 304 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.66 cm -1.28 mm -1.39 cm 296 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.45 cm -458 um -1.46 cm 0 eV 88 keV 2.41 mm 2.41 mm Lead phot + 0 -5.08 cm -1.13 mm -1.57 cm 7.71 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -1.27 mm -1.63 cm 7.71 MeV 0 eV 999 um 999 um Lead Transportation + 2 -4.5 cm -2.1 mm -1.99 cm 7.71 MeV 0 eV 6.23 mm 7.23 mm liquidArgon Transportation + 3 -3.71 cm -3.41 mm -2.57 cm 2.91 MeV 0 eV 9.9 mm 1.71 cm Lead compt + 4 -3.69 cm -3.37 mm -2.57 cm 775 keV 0 eV 152 um 1.73 cm Lead compt + 5 -3.69 cm -3.4 mm -2.58 cm 522 keV 0 eV 130 um 1.74 cm Lead compt + 6 -3.5 cm -8.22 mm -2.83 cm 522 keV 0 eV 5.72 mm 2.31 cm Lead Transportation + 7 -3 cm -2.1 cm -3.47 cm 522 keV 0 eV 1.51 cm 3.82 cm liquidArgon Transportation + 8 -2.99 cm -2.11 cm -3.47 cm 0 eV 88 keV 203 um 3.84 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 432, Parent ID = 431 +* G4Track Information: Particle = e-, Track ID = 445, Parent ID = 428 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.45 cm -458 um -1.46 cm 208 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.45 cm -455 um -1.46 cm 0 eV 208 keV 86.9 um 86.9 um Lead eIoni + 0 -2.99 cm -2.11 cm -3.47 cm 434 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.99 cm -2.11 cm -3.47 cm 396 keV 37.9 keV 20.1 um 20.1 um Lead msc + 2 -2.99 cm -2.11 cm -3.47 cm 379 keV 17.2 keV 13.4 um 33.6 um Lead msc + 3 -2.99 cm -2.12 cm -3.47 cm 367 keV 12.7 keV 18.2 um 51.8 um Lead msc + 4 -2.99 cm -2.11 cm -3.47 cm 249 keV 118 keV 14.8 um 66.6 um Lead msc + 5 -2.99 cm -2.12 cm -3.47 cm 225 keV 24.2 keV 14.1 um 80.7 um Lead msc + 6 -2.99 cm -2.12 cm -3.47 cm 207 keV 18 keV 17.6 um 98.3 um Lead msc + 7 -2.99 cm -2.12 cm -3.47 cm 187 keV 20.2 keV 18.7 um 117 um Lead msc + 8 -2.99 cm -2.12 cm -3.47 cm 165 keV 21.8 keV 15.7 um 133 um Lead msc + 9 -3 cm -2.12 cm -3.47 cm 155 keV 9.79 keV 13.9 um 147 um Lead msc + 10 -3 cm -2.11 cm -3.47 cm 139 keV 15.9 keV 11.9 um 159 um Lead msc + 11 -3 cm -2.11 cm -3.47 cm 125 keV 14 keV 10.8 um 169 um Lead msc + 12 -3 cm -2.11 cm -3.47 cm 101 keV 24.3 keV 10.2 um 180 um Lead msc + 13 -3 cm -2.11 cm -3.47 cm 0 eV 101 keV 28 um 208 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 175, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 444, Parent ID = 428 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.69 cm -1.29 mm -1.37 cm 250 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.69 cm -1.29 mm -1.37 cm 172 keV 0 eV 2.73 um 2.73 um Lead compt - 2 -5.69 cm -1.29 mm -1.37 cm 0 eV 88 keV 4.02 um 6.75 um Lead phot + 0 -3.69 cm -3.4 mm -2.58 cm 252 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.69 cm -3.4 mm -2.58 cm 0 eV 252 keV 117 um 117 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 434, Parent ID = 175 +* G4Track Information: Particle = e-, Track ID = 443, Parent ID = 428 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.69 cm -1.29 mm -1.37 cm 83.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.69 cm -1.29 mm -1.37 cm 0 eV 83.8 keV 20.7 um 20.7 um Lead eIoni + 0 -3.69 cm -3.37 mm -2.57 cm 2.14 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.68 cm -3.16 mm -2.55 cm 926 keV 893 keV 728 um 728 um Lead eBrem + 2 -3.67 cm -3.17 mm -2.54 cm 0 eV 926 keV 676 um 1.4 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 433, Parent ID = 175 +* G4Track Information: Particle = gamma, Track ID = 446, Parent ID = 443 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.69 cm -1.29 mm -1.37 cm 78.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.69 cm -1.29 mm -1.37 cm 0 eV 78.6 keV 18.6 um 18.6 um Lead eIoni + 0 -3.68 cm -3.16 mm -2.55 cm 319 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.66 cm -3.3 mm -2.52 cm 216 keV 0 eV 354 um 354 um Lead compt + 2 -3.66 cm -3.17 mm -2.5 cm 0 eV 88 keV 238 um 592 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 174, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 448, Parent ID = 446 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.69 cm -1.28 mm -1.37 cm 2.91 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -2.15 mm -1.83 cm 2.91 MeV 0 eV 8.35 mm 8.35 mm Lead Transportation - 2 -4.5 cm -2.78 mm -2.16 cm 2.91 MeV 0 eV 6.03 mm 1.44 cm liquidArgon Transportation - 3 -3.98 cm -3.43 mm -2.5 cm 411 keV 0 eV 6.23 mm 2.06 cm Lead compt - 4 -3.98 cm -2.62 mm -2.51 cm 177 keV 0 eV 811 um 2.14 cm Lead compt - 5 -4.01 cm -2.81 mm -2.51 cm 0 eV 88 keV 302 um 2.17 cm Lead phot + 0 -3.66 cm -3.17 mm -2.5 cm 128 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.66 cm -3.17 mm -2.5 cm 0 eV 128 keV 40.8 um 40.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 437, Parent ID = 174 +* G4Track Information: Particle = e-, Track ID = 447, Parent ID = 446 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.01 cm -2.81 mm -2.51 cm 89.3 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.01 cm -2.81 mm -2.51 cm 0 eV 89.3 keV 23 um 23 um Lead eIoni + 0 -3.66 cm -3.3 mm -2.52 cm 103 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.66 cm -3.31 mm -2.52 cm 0 eV 103 keV 29.1 um 29.1 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 436, Parent ID = 174 +* G4Track Information: Particle = e-, Track ID = 442, Parent ID = 428 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.98 cm -2.62 mm -2.51 cm 234 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.98 cm -2.61 mm -2.51 cm 0 eV 234 keV 104 um 104 um Lead eIoni + 0 -3.71 cm -3.41 mm -2.57 cm 4.8 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.68 cm -3.84 mm -2.58 cm 4.03 MeV 771 keV 619 um 619 um Lead msc + 2 -3.68 cm -4.14 mm -2.57 cm 3.6 MeV 427 keV 403 um 1.02 mm Lead msc + 3 -3.69 cm -4.35 mm -2.59 cm 3.21 MeV 391 keV 405 um 1.43 mm Lead msc + 4 -3.71 cm -4.48 mm -2.57 cm 2.84 MeV 373 keV 389 um 1.82 mm Lead msc + 5 -3.72 cm -4.62 mm -2.59 cm 1.36 MeV 379 keV 337 um 2.15 mm Lead eBrem + 6 -3.71 cm -4.65 mm -2.61 cm 202 keV 1.16 MeV 1.05 mm 3.21 mm Lead eIoni + 7 -3.71 cm -4.64 mm -2.61 cm 0 eV 202 keV 83.7 um 3.29 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 435, Parent ID = 174 +* G4Track Information: Particle = gamma, Track ID = 449, Parent ID = 442 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.98 cm -3.43 mm -2.5 cm 2.5 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.95 cm -3.54 mm -2.49 cm 1.57 MeV 585 keV 569 um 569 um Lead eBrem - 2 -3.96 cm -3.56 mm -2.47 cm 271 keV 1.3 MeV 1.19 mm 1.76 mm Lead eIoni - 3 -3.96 cm -3.56 mm -2.47 cm 0 eV 271 keV 130 um 1.89 mm Lead eIoni + 0 -3.72 cm -4.62 mm -2.59 cm 1.1 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.72 cm -4.4 mm -2.96 cm 0 eV 88 keV 3.68 mm 3.68 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 438, Parent ID = 435 +* G4Track Information: Particle = e-, Track ID = 450, Parent ID = 449 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.95 cm -3.54 mm -2.49 cm 342 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.24 cm -3.04 mm -2.41 cm 0 eV 88 keV 3.01 mm 3.01 mm Lead phot + 0 -3.72 cm -4.4 mm -2.96 cm 1.01 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.73 cm -4.4 mm -2.96 cm 122 keV 667 keV 645 um 645 um Lead eBrem + 2 -3.73 cm -4.39 mm -2.96 cm 0 eV 122 keV 38.1 um 683 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 439, Parent ID = 438 +* G4Track Information: Particle = gamma, Track ID = 451, Parent ID = 450 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.24 cm -3.04 mm -2.41 cm 254 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.24 cm -3.05 mm -2.41 cm 0 eV 254 keV 117 um 117 um Lead eIoni + 0 -3.73 cm -4.4 mm -2.96 cm 224 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.74 cm -3.95 mm -2.96 cm 0 eV 88 keV 445 um 445 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 173, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 452, Parent ID = 451 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.75 cm -1.2 mm -1.33 cm 732 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -1.88 mm -1.8 cm 732 keV 0 eV 8.89 mm 8.89 mm Lead Transportation - 2 -4.88 cm -1.99 mm -1.88 cm 348 keV 0 eV 1.4 mm 1.03 cm liquidArgon compt - 3 -4.5 cm 2.06 mm -1.6 cm 348 keV 0 eV 6.22 mm 1.65 cm liquidArgon Transportation - 4 -4.41 cm 3.06 mm -1.53 cm 0 eV 88 keV 1.55 mm 1.81 cm Lead phot + 0 -3.74 cm -3.95 mm -2.96 cm 136 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.74 cm -3.95 mm -2.96 cm 0 eV 136 keV 44.9 um 44.9 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 441, Parent ID = 173 +* G4Track Information: Particle = gamma, Track ID = 427, Parent ID = 304 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.41 cm 3.06 mm -1.53 cm 260 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.4 cm 3.06 mm -1.53 cm 0 eV 260 keV 122 um 122 um Lead eIoni + 0 -5.11 cm -1.13 mm -1.54 cm 485 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.11 cm -1.13 mm -1.54 cm 373 keV 0 eV 26.7 um 26.7 um Lead compt + 2 -5.08 cm -1.3 mm -1.91 cm 0 eV 88 keV 3.69 mm 3.72 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 440, Parent ID = 173 +* G4Track Information: Particle = e-, Track ID = 454, Parent ID = 427 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.88 cm -1.99 mm -1.88 cm 383 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -4.88 cm -2.1 mm -1.9 cm 327 keV 55.7 keV 296 um 296 um liquidArgon msc - 2 -4.89 cm -2.3 mm -1.89 cm 275 keV 52.6 keV 296 um 593 um liquidArgon msc - 3 -4.9 cm -2.44 mm -1.91 cm 0 eV 275 keV 743 um 1.34 mm liquidArgon eIoni + 0 -5.08 cm -1.3 mm -1.91 cm 285 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.08 cm -1.29 mm -1.91 cm 0 eV 285 keV 140 um 140 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 172, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 453, Parent ID = 427 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.85 cm -1.13 mm -1.28 cm 210 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.84 cm -1.13 mm -1.28 cm 0 eV 88 keV 99.9 um 99.9 um Lead phot + 0 -5.11 cm -1.13 mm -1.54 cm 112 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.11 cm -1.13 mm -1.54 cm 0 eV 112 keV 33.3 um 33.3 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 442, Parent ID = 172 +* G4Track Information: Particle = gamma, Track ID = 426, Parent ID = 304 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.84 cm -1.13 mm -1.28 cm 122 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.84 cm -1.13 mm -1.28 cm 0 eV 122 keV 38 um 38 um Lead eIoni + 0 -5.15 cm -1.13 mm -1.51 cm 8.45 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -981 um -1.7 cm 8.45 MeV 0 eV 2.41 mm 2.41 mm Lead Transportation + 2 -4.93 cm -909 um -1.79 cm 759 keV 0 eV 1.12 mm 3.53 mm liquidArgon compt + 3 -5 cm -2.48 mm -1.99 cm 759 keV 0 eV 2.63 mm 6.17 mm liquidArgon Transportation + 4 -5.32 cm -9.54 mm -2.89 cm 0 eV 88 keV 1.19 cm 1.8 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 171, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 456, Parent ID = 426 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.9 cm -1.1 mm -1.25 cm 422 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.78 cm -1.16 mm -1.31 cm 0 eV 88 keV 1.28 mm 1.28 mm Lead phot + 0 -5.32 cm -9.54 mm -2.89 cm 671 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.32 cm -9.56 mm -2.89 cm 0 eV 671 keV 454 um 454 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 443, Parent ID = 171 +* G4Track Information: Particle = e-, Track ID = 455, Parent ID = 426 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.78 cm -1.16 mm -1.31 cm 334 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.78 cm -1.15 mm -1.31 cm 0 eV 334 keV 176 um 176 um Lead eIoni + 0 -4.93 cm -909 um -1.79 cm 7.69 MeV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.5 cm -130 um -2.26 cm 6.55 MeV 1.14 MeV 6.85 mm 6.85 mm liquidArgon Transportation + 2 -4.49 cm -280 um -2.25 cm 6.3 MeV 249 keV 229 um 7.08 mm Lead msc + 3 -4.47 cm -403 um -2.24 cm 6.05 MeV 246 keV 229 um 7.31 mm Lead msc + 4 -4.47 cm -607 um -2.24 cm 5.8 MeV 258 keV 229 um 7.54 mm Lead msc + 5 -4.47 cm -822 um -2.24 cm 5.57 MeV 225 keV 229 um 7.76 mm Lead msc + 6 -4.47 cm -1.02 mm -2.23 cm 5.36 MeV 211 keV 229 um 7.99 mm Lead msc + 7 -4.47 cm -1.2 mm -2.24 cm 5.13 MeV 226 keV 229 um 8.22 mm Lead msc + 8 -4.45 cm -1.24 mm -2.26 cm 4.89 MeV 240 keV 229 um 8.45 mm Lead msc + 9 -4.45 cm -1.3 mm -2.28 cm 4.61 MeV 283 keV 229 um 8.68 mm Lead msc + 10 -4.43 cm -1.32 mm -2.29 cm 4.39 MeV 222 keV 229 um 8.91 mm Lead msc + 11 -4.42 cm -1.3 mm -2.31 cm 4.19 MeV 198 keV 229 um 9.14 mm Lead msc + 12 -4.42 cm -1.35 mm -2.33 cm 3.94 MeV 246 keV 229 um 9.37 mm Lead msc + 13 -4.42 cm -1.25 mm -2.31 cm 3.7 MeV 241 keV 229 um 9.6 mm Lead msc + 14 -4.43 cm -1.39 mm -2.3 cm 3.04 MeV 663 keV 229 um 9.83 mm Lead msc + 15 -4.42 cm -1.46 mm -2.28 cm 2.78 MeV 262 keV 229 um 1.01 cm Lead msc + 16 -4.42 cm -1.65 mm -2.29 cm 2.58 MeV 198 keV 229 um 1.03 cm Lead msc + 17 -4.41 cm -1.6 mm -2.29 cm 2.13 MeV 256 keV 215 um 1.05 cm Lead eBrem + 18 -4.41 cm -1.58 mm -2.31 cm 1.52 MeV 609 keV 229 um 1.07 cm Lead msc + 19 -4.4 cm -1.49 mm -2.31 cm 1.29 MeV 235 keV 229 um 1.1 cm Lead msc + 20 -4.4 cm -1.36 mm -2.31 cm 1.1 MeV 189 keV 229 um 1.12 cm Lead msc + 21 -4.38 cm -1.29 mm -2.31 cm 543 keV 366 keV 323 um 1.15 cm Lead eBrem + 22 -4.39 cm -1.27 mm -2.31 cm 0 eV 543 keV 344 um 1.19 cm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 170, Parent ID = 160 +* G4Track Information: Particle = gamma, Track ID = 458, Parent ID = 455 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.91 cm -1.09 mm -1.25 cm 2.24 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -1.59 mm -1.7 cm 2.24 MeV 0 eV 1.01 cm 1.01 cm Lead Transportation - 2 -4.5 cm -1.87 mm -1.95 cm 2.24 MeV 0 eV 5.6 mm 1.57 cm liquidArgon Transportation - 3 -3.5 cm -2.42 mm -2.45 cm 2.24 MeV 0 eV 1.12 cm 2.69 cm Lead Transportation - 4 -3 cm -2.7 mm -2.7 cm 2.24 MeV 0 eV 5.6 mm 3.25 cm liquidArgon Transportation - 5 -2.62 cm -2.9 mm -2.89 cm 1.34 MeV 0 eV 4.23 mm 3.68 cm Lead compt - 6 -2.59 cm -3.1 mm -2.9 cm 582 keV 0 eV 361 um 3.71 cm Lead compt - 7 -2.52 cm -3.92 mm -2.78 cm 0 eV 88 keV 1.63 mm 3.88 cm Lead phot + 0 -4.38 cm -1.29 mm -2.31 cm 191 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.4 cm -1.1 mm -2.33 cm 0 eV 88 keV 313 um 313 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 446, Parent ID = 170 +* G4Track Information: Particle = e-, Track ID = 459, Parent ID = 458 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.52 cm -3.92 mm -2.78 cm 494 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.52 cm -3.94 mm -2.78 cm 0 eV 494 keV 302 um 302 um Lead eIoni + 0 -4.4 cm -1.1 mm -2.33 cm 103 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.4 cm -1.1 mm -2.33 cm 0 eV 103 keV 28.9 um 28.9 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 445, Parent ID = 170 +* G4Track Information: Particle = gamma, Track ID = 457, Parent ID = 455 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.59 cm -3.1 mm -2.9 cm 758 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.59 cm -3.11 mm -2.9 cm 0 eV 758 keV 525 um 525 um Lead eIoni + 0 -4.41 cm -1.6 mm -2.29 cm 193 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.39 cm -1.47 mm -2.32 cm 0 eV 88 keV 304 um 304 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 444, Parent ID = 170 +* G4Track Information: Particle = e-, Track ID = 460, Parent ID = 457 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.62 cm -2.9 mm -2.89 cm 904 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.62 cm -2.87 mm -2.89 cm 721 keV 40.4 keV 48.1 um 48.1 um Lead eBrem - 2 -2.62 cm -2.86 mm -2.89 cm 0 eV 721 keV 493 um 541 um Lead eIoni + 0 -4.39 cm -1.47 mm -2.32 cm 105 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.39 cm -1.46 mm -2.32 cm 0 eV 105 keV 29.8 um 29.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 447, Parent ID = 444 +* G4Track Information: Particle = gamma, Track ID = 425, Parent ID = 304 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.62 cm -2.87 mm -2.89 cm 143 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.52 cm -2.66 mm -2.92 cm 0 eV 88 keV 1.07 mm 1.07 mm Lead phot + 0 -5.2 cm -1.14 mm -1.45 cm 159 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.15 cm -1.13 mm -1.5 cm 0 eV 88 keV 727 um 727 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 448, Parent ID = 447 +* G4Track Information: Particle = e-, Track ID = 461, Parent ID = 425 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.52 cm -2.66 mm -2.92 cm 54.7 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.52 cm -2.66 mm -2.92 cm 0 eV 54.7 keV 10.4 um 10.4 um Lead eIoni + 0 -5.15 cm -1.13 mm -1.5 cm 71.3 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.15 cm -1.13 mm -1.5 cm 0 eV 71.3 keV 16 um 16 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 169, Parent ID = 160 +* G4Track Information: Particle = gamma, Track ID = 424, Parent ID = 304 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.99 cm -1.04 mm -1.21 cm 265 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.95 cm -1.06 mm -1.23 cm 187 keV 0 eV 495 um 495 um Lead compt - 2 -5.89 cm 77 um -1.19 cm 0 eV 88 keV 1.32 mm 1.82 mm Lead phot + 0 -5.24 cm -1.14 mm -1.42 cm 21.3 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -906 um -1.61 cm 21.3 MeV 0 eV 3.05 mm 3.05 mm Lead Transportation + 2 -4.5 cm -404 um -2.01 cm 21.3 MeV 0 eV 6.44 mm 9.49 mm liquidArgon Transportation + 3 -4.08 cm 13.7 um -2.35 cm 0 eV 0 eV 5.36 mm 1.48 cm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 450, Parent ID = 169 +* G4Track Information: Particle = e+, Track ID = 463, Parent ID = 424 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.89 cm 77 um -1.19 cm 99.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.89 cm 78.8 um -1.19 cm 0 eV 99.2 keV 27.1 um 27.1 um Lead eIoni + 0 -4.08 cm 13.7 um -2.35 cm 2.97 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.04 cm 359 um -2.35 cm 2.11 MeV 725 keV 800 um 800 um Lead eBrem + 2 -4.02 cm 211 um -2.36 cm 0 eV 390 keV 382 um 1.18 mm Lead annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 449, Parent ID = 169 +* G4Track Information: Particle = gamma, Track ID = 466, Parent ID = 463 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.95 cm -1.06 mm -1.23 cm 78.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.95 cm -1.06 mm -1.23 cm 0 eV 78.2 keV 18.5 um 18.5 um Lead eIoni + 0 -4.02 cm 211 um -2.36 cm 2.23 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm -1.38 mm -2.2 cm 2.23 MeV 0 eV 5.69 mm 5.69 mm Lead Transportation + 2 -3 cm -2.9 mm -2.04 cm 2.23 MeV 0 eV 5.46 mm 1.11 cm liquidArgon Transportation + 3 -2 cm -5.94 mm -1.73 cm 2.23 MeV 0 eV 1.09 cm 2.21 cm Lead Transportation + 4 -1.5 cm -7.47 mm -1.57 cm 2.23 MeV 0 eV 5.46 mm 2.75 cm liquidArgon Transportation + 5 -1.15 cm -8.52 mm -1.47 cm 1.7 MeV 0 eV 3.78 mm 3.13 cm Lead compt + 6 -7.04 mm -1.22 cm -1.28 cm 0 eV 88 keV 6.12 mm 3.74 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 168, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 468, Parent ID = 466 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.5 cm -903 um -9.68 mm 6.82 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -903 um -9.68 mm 6.82 MeV 0 eV 9.19 um 9.19 um Lead Transportation - 2 -6 cm -1.02 mm -1.2 cm 6.82 MeV 0 eV 5.52 mm 5.53 mm liquidArgon Transportation - 3 -5.34 cm -1.18 mm -1.51 cm 5.25 MeV 0 eV 7.3 mm 1.28 cm Lead compt - 4 -5 cm -1.52 mm -1.59 cm 5.25 MeV 0 eV 3.5 mm 1.63 cm Lead Transportation - 5 -4.5 cm -2.02 mm -1.71 cm 5.25 MeV 0 eV 5.17 mm 2.15 cm liquidArgon Transportation - 6 -3.5 cm -3.03 mm -1.96 cm 5.25 MeV 0 eV 1.03 cm 3.18 cm Lead Transportation - 7 -3 cm -3.53 mm -2.08 cm 5.25 MeV 0 eV 5.17 mm 3.7 cm liquidArgon Transportation - 8 -2 cm -4.54 mm -2.32 cm 5.25 MeV 0 eV 1.03 cm 4.73 cm Lead Transportation - 9 -1.5 cm -5.04 mm -2.44 cm 5.25 MeV 0 eV 5.17 mm 5.25 cm liquidArgon Transportation - 10 -5 mm -6.05 mm -2.68 cm 5.25 MeV 0 eV 1.03 cm 6.29 cm Lead Transportation - 11 0.000396 fm -6.55 mm -2.8 cm 5.25 MeV 0 eV 5.17 mm 6.8 cm liquidArgon Transportation - 12 1 cm -7.56 mm -3.05 cm 5.25 MeV 0 eV 1.03 cm 7.84 cm Lead Transportation - 13 1.5 cm -8.06 mm -3.17 cm 5.25 MeV 0 eV 5.17 mm 8.35 cm liquidArgon Transportation - 14 2.5 cm -9.07 mm -3.41 cm 5.25 MeV 0 eV 1.03 cm 9.39 cm Lead Transportation - 15 3 cm -9.57 mm -3.53 cm 5.25 MeV 0 eV 5.17 mm 9.9 cm liquidArgon Transportation - 16 4 cm -1.06 cm -3.78 cm 5.25 MeV 0 eV 1.03 cm 10.9 cm Lead Transportation - 17 4.5 cm -1.11 cm -3.9 cm 5.25 MeV 0 eV 5.17 mm 11.5 cm liquidArgon Transportation - 18 5.5 cm -1.21 cm -4.14 cm 5.25 MeV 0 eV 1.03 cm 12.5 cm Lead Transportation - 19 6 cm -1.26 cm -4.26 cm 5.25 MeV 0 eV 5.17 mm 13 cm liquidArgon Transportation - 20 6.06 cm -1.27 cm -4.27 cm 1.13 MeV 0 eV 610 um 13.1 cm Lead compt - 21 6.52 cm -1.98 cm -4.46 cm 326 keV 0 eV 8.67 mm 13.9 cm Lead compt - 22 6.49 cm -1.93 cm -4.62 cm 0 eV 88 keV 1.72 mm 14.1 cm Lead phot + 0 -7.04 mm -1.22 cm -1.28 cm 1.62 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.92 mm -1.23 cm -1.3 cm 307 keV 1.2 MeV 1.14 mm 1.14 mm Lead eBrem + 2 -6.93 mm -1.24 cm -1.3 cm 0 eV 307 keV 156 um 1.29 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 454, Parent ID = 168 +* G4Track Information: Particle = gamma, Track ID = 469, Parent ID = 468 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.49 cm -1.93 cm -4.62 cm 238 keV 0 eV 0 fm 0 fm Lead initStep - 1 6.49 cm -1.93 cm -4.62 cm 0 eV 238 keV 107 um 107 um Lead eIoni + 0 -6.92 mm -1.23 cm -1.3 cm 110 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.93 mm -1.23 cm -1.3 cm 0 eV 88 keV 64.1 um 64.1 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 453, Parent ID = 168 +* G4Track Information: Particle = e-, Track ID = 470, Parent ID = 469 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.52 cm -1.98 cm -4.46 cm 801 keV 0 eV 0 fm 0 fm Lead initStep - 1 6.52 cm -1.98 cm -4.46 cm 0 eV 801 keV 562 um 562 um Lead eIoni + 0 -6.93 mm -1.23 cm -1.3 cm 21.7 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.93 mm -1.23 cm -1.3 cm 0 eV 21.7 keV 2.32 um 2.32 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 452, Parent ID = 168 +* G4Track Information: Particle = e-, Track ID = 467, Parent ID = 466 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.06 cm -1.27 cm -4.27 cm 4.12 MeV 0 eV 0 fm 0 fm Lead initStep - 1 6.07 cm -1.27 cm -4.27 cm 3.95 MeV 172 keV 148 um 148 um Lead msc - 2 6.09 cm -1.26 cm -4.27 cm 3.73 MeV 225 keV 148 um 295 um Lead msc - 3 6.1 cm -1.27 cm -4.27 cm 3.61 MeV 114 keV 148 um 443 um Lead msc - 4 6.11 cm -1.28 cm -4.26 cm 3.4 MeV 211 keV 170 um 612 um Lead msc - 5 6.13 cm -1.28 cm -4.26 cm 3.04 MeV 366 keV 195 um 808 um Lead msc - 6 6.13 cm -1.28 cm -4.26 cm 2.89 MeV 9.32 keV 2.58 um 810 um Lead eBrem - 7 6.15 cm -1.28 cm -4.27 cm 2.54 MeV 349 keV 321 um 1.13 mm Lead msc - 8 6.16 cm -1.28 cm -4.3 cm 2.22 MeV 314 keV 321 um 1.45 mm Lead msc - 9 6.14 cm -1.27 cm -4.3 cm 1.9 MeV 327 keV 321 um 1.77 mm Lead msc - 10 6.14 cm -1.25 cm -4.29 cm 1.59 MeV 304 keV 321 um 2.09 mm Lead msc - 11 6.15 cm -1.25 cm -4.28 cm 1.26 MeV 329 keV 321 um 2.42 mm Lead msc - 12 6.15 cm -1.24 cm -4.27 cm 0 eV 1.26 MeV 963 um 3.38 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 455, Parent ID = 452 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.13 cm -1.28 cm -4.26 cm 141 keV 0 eV 0 fm 0 fm Lead initStep - 1 6.16 cm -1.23 cm -4.26 cm 0 eV 88 keV 587 um 587 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 456, Parent ID = 455 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.16 cm -1.23 cm -4.26 cm 53 keV 0 eV 0 fm 0 fm Lead initStep - 1 6.16 cm -1.23 cm -4.26 cm 0 eV 53 keV 9.83 um 9.83 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 451, Parent ID = 168 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.34 cm -1.18 mm -1.51 cm 1.57 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.32 cm -1.36 mm -1.52 cm 230 keV 1.34 MeV 1.19 mm 1.19 mm Lead eIoni - 2 -5.32 cm -1.36 mm -1.52 cm 0 eV 230 keV 101 um 1.29 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 167, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.53 cm -900 um -9.53 mm 2.57 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -907 um -9.68 mm 2.57 MeV 0 eV 370 um 370 um Lead Transportation - 2 -6 cm -1.01 mm -1.2 cm 2.57 MeV 0 eV 5.5 mm 5.87 mm liquidArgon Transportation - 3 -5 cm -1.22 mm -1.65 cm 2.57 MeV 0 eV 1.1 cm 1.69 cm Lead Transportation - 4 -4.5 cm -1.33 mm -1.88 cm 2.57 MeV 0 eV 5.5 mm 2.24 cm liquidArgon Transportation - 5 -4.11 cm -1.41 mm -2.06 cm 0 eV 88 keV 4.31 mm 2.67 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 457, Parent ID = 167 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.11 cm -1.41 mm -2.06 cm 2.49 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.1 cm -1.29 mm -2.08 cm 1.71 MeV 391 keV 361 um 361 um Lead eBrem - 2 -4.1 cm -1.1 mm -2.07 cm 855 keV 443 keV 409 um 770 um Lead eBrem - 3 -4.1 cm -986 um -2.06 cm 406 keV 449 keV 400 um 1.17 mm Lead eBrem - 4 -4.1 cm -992 um -2.06 cm 0 eV 406 keV 231 um 1.4 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 459, Parent ID = 457 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.1 cm -1.1 mm -2.07 cm 414 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.22 cm -1.01 mm -2.14 cm 0 eV 88 keV 1.36 mm 1.36 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 460, Parent ID = 459 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.22 cm -1.01 mm -2.14 cm 326 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.22 cm -1.01 mm -2.14 cm 0 eV 326 keV 169 um 169 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 458, Parent ID = 457 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.1 cm -1.29 mm -2.08 cm 382 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.05 cm -766 um -2.13 cm 0 eV 88 keV 812 um 812 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 461, Parent ID = 458 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.05 cm -766 um -2.13 cm 294 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.05 cm -760 um -2.13 cm 0 eV 294 keV 146 um 146 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 166, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.56 cm -892 um -9.4 mm 116 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.55 cm -895 um -9.47 mm 0 eV 88 keV 158 um 158 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 462, Parent ID = 166 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.55 cm -895 um -9.47 mm 28.4 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.55 cm -895 um -9.47 mm 0 eV 28.4 keV 3.57 um 3.57 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 165, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.6 cm -882 um -9.23 mm 2.66 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -912 um -9.7 mm 2.66 MeV 0 eV 1.07 mm 1.07 mm Lead Transportation - 2 -6 cm -1.07 mm -1.21 cm 2.66 MeV 0 eV 5.57 mm 6.64 mm liquidArgon Transportation - 3 -5.04 cm -1.37 mm -1.68 cm 0 eV 88 keV 1.07 cm 1.73 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 463, Parent ID = 165 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.04 cm -1.37 mm -1.68 cm 2.57 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.03 cm -1.35 mm -1.68 cm 2.45 MeV 121 keV 105 um 105 um Lead msc - 2 -5.03 cm -1.33 mm -1.69 cm 2.35 MeV 93.2 keV 105 um 210 um Lead msc - 3 -5.02 cm -1.33 mm -1.69 cm 2.02 MeV 52.1 keV 57.8 um 268 um Lead eBrem - 4 -5.02 cm -1.34 mm -1.7 cm 1.94 MeV 74.6 keV 105 um 373 um Lead msc - 5 -5.01 cm -1.35 mm -1.7 cm 1.82 MeV 128 keV 105 um 479 um Lead msc - 6 -5.01 cm -1.35 mm -1.7 cm 967 keV 4.23 keV 11.5 um 490 um Lead eBrem - 7 -5 cm -1.37 mm -1.7 cm 871 keV 96 keV 105 um 595 um Lead msc - 8 -5 cm -1.36 mm -1.7 cm 866 keV 5.58 keV 14.2 um 609 um Lead Transportation - 9 -5 cm -1.31 mm -1.69 cm 824 keV 41.2 keV 85.6 um 695 um liquidArgon msc - 10 -5 cm -1.26 mm -1.69 cm 812 keV 12.8 keV 85.6 um 781 um liquidArgon msc - 11 -5 cm -1.23 mm -1.68 cm 802 keV 9.21 keV 85.6 um 866 um liquidArgon msc - 12 -4.99 cm -1.23 mm -1.67 cm 653 keV 150 keV 85.6 um 952 um liquidArgon msc - 13 -4.99 cm -1.25 mm -1.66 cm 645 keV 8.3 keV 85.6 um 1.04 mm liquidArgon msc - 14 -4.99 cm -1.23 mm -1.65 cm 634 keV 10.7 keV 85.6 um 1.12 mm liquidArgon msc - 15 -4.99 cm -1.2 mm -1.65 cm 624 keV 9.5 keV 85.6 um 1.21 mm liquidArgon msc - 16 -4.99 cm -1.18 mm -1.64 cm 612 keV 12 keV 85.6 um 1.29 mm liquidArgon msc - 17 -4.98 cm -1.2 mm -1.63 cm 600 keV 12.2 keV 85.6 um 1.38 mm liquidArgon msc - 18 -4.98 cm -1.19 mm -1.63 cm 562 keV 38.7 keV 85.6 um 1.47 mm liquidArgon msc - 19 -4.97 cm -1.16 mm -1.62 cm 548 keV 13.4 keV 85.6 um 1.55 mm liquidArgon msc - 20 -4.97 cm -1.13 mm -1.61 cm 531 keV 17 keV 85.6 um 1.64 mm liquidArgon msc - 21 -4.97 cm -1.09 mm -1.6 cm 462 keV 69.5 keV 85.6 um 1.72 mm liquidArgon msc - 22 -4.96 cm -1.08 mm -1.6 cm 439 keV 23.2 keV 85.6 um 1.81 mm liquidArgon msc - 23 -4.96 cm -1.05 mm -1.59 cm 428 keV 10.6 keV 85.6 um 1.89 mm liquidArgon msc - 24 -4.95 cm -1.04 mm -1.59 cm 409 keV 19.4 keV 85.6 um 1.98 mm liquidArgon msc - 25 -4.94 cm -1.03 mm -1.59 cm 395 keV 13.8 keV 85.7 um 2.07 mm liquidArgon msc - 26 -4.94 cm -1.03 mm -1.58 cm 365 keV 29.6 keV 103 um 2.17 mm liquidArgon msc - 27 -4.94 cm -1.14 mm -1.58 cm 326 keV 39.7 keV 117 um 2.29 mm liquidArgon msc - 28 -4.94 cm -1.25 mm -1.58 cm 286 keV 39.3 keV 125 um 2.41 mm liquidArgon msc - 29 -4.94 cm -1.33 mm -1.59 cm 262 keV 24.4 keV 125 um 2.54 mm liquidArgon msc - 30 -4.94 cm -1.42 mm -1.6 cm 230 keV 31.5 keV 125 um 2.66 mm liquidArgon msc - 31 -4.95 cm -1.44 mm -1.61 cm 200 keV 30.6 keV 125 um 2.79 mm liquidArgon msc - 32 -4.95 cm -1.38 mm -1.61 cm 169 keV 30.7 keV 125 um 2.91 mm liquidArgon msc - 33 -4.95 cm -1.36 mm -1.62 cm 0 eV 169 keV 348 um 3.26 mm liquidArgon eIoni + 0 -1.15 cm -8.52 mm -1.47 cm 528 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.15 cm -8.51 mm -1.47 cm 0 eV 528 keV 332 um 332 um Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 465, Parent ID = 463 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.01 cm -1.35 mm -1.7 cm 844 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -1.38 mm -1.7 cm 844 keV 0 eV 70.5 um 70.5 um Lead Transportation - 2 -4.5 cm -3.96 mm -1.7 cm 844 keV 0 eV 5.62 mm 5.7 mm liquidArgon Transportation - 3 -3.57 cm -8.76 mm -1.69 cm 431 keV 0 eV 1.05 cm 1.62 cm Lead compt - 4 -3.55 cm -2.09 cm -1.07 cm 0 eV 88 keV 1.36 cm 2.98 cm Lead phot + 0 -4.02 cm 211 um -2.36 cm 510 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.08 cm 3.82 mm -2.17 cm 464 keV 0 eV 4.12 mm 4.12 mm Lead compt + 2 -4.18 cm 8 mm -1.59 cm 174 keV 0 eV 7.21 mm 1.13 cm Lead compt + 3 -4.08 cm 7.57 mm -1.7 cm 0 eV 88 keV 1.51 mm 1.28 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 467, Parent ID = 465 +* G4Track Information: Particle = e-, Track ID = 473, Parent ID = 465 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.55 cm -2.09 cm -1.07 cm 343 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.55 cm -2.09 cm -1.07 cm 0 eV 343 keV 183 um 183 um Lead eIoni + 0 -4.08 cm 7.57 mm -1.7 cm 86.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.08 cm 7.56 mm -1.7 cm 0 eV 86.1 keV 21.7 um 21.7 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 466, Parent ID = 465 +* G4Track Information: Particle = e-, Track ID = 472, Parent ID = 465 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.57 cm -8.76 mm -1.69 cm 413 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.57 cm -8.76 mm -1.69 cm 0 eV 413 keV 236 um 236 um Lead eIoni + 0 -4.18 cm 8 mm -1.59 cm 290 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.18 cm 8 mm -1.59 cm 0 eV 290 keV 144 um 144 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 471, Parent ID = 465 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.08 cm 3.82 mm -2.17 cm 46.3 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.08 cm 3.82 mm -2.17 cm 0 eV 46.3 keV 7.9 um 7.9 um Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 464, Parent ID = 463 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.02 cm -1.33 mm -1.69 cm 285 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -1.33 mm -1.7 cm 285 keV 0 eV 241 um 241 um Lead Transportation - 2 -4.5 cm -1.43 mm -1.84 cm 285 keV 0 eV 5.18 mm 5.42 mm liquidArgon Transportation - 3 -4.23 cm -1.47 mm -1.91 cm 0 eV 88 keV 2.83 mm 8.25 mm Lead phot + 0 -4.04 cm 359 um -2.35 cm 132 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.04 cm 376 um -2.35 cm 0 eV 88 keV 51.8 um 51.8 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 468, Parent ID = 464 +* G4Track Information: Particle = e-, Track ID = 474, Parent ID = 464 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.23 cm -1.47 mm -1.91 cm 197 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.23 cm -1.47 mm -1.91 cm 0 eV 197 keV 79.8 um 79.8 um Lead eIoni + 0 -4.04 cm 376 um -2.35 cm 44 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.04 cm 376 um -2.35 cm 0 eV 44 keV 7.26 um 7.26 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 164, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 462, Parent ID = 424 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.66 cm -853 um -8.94 mm 1.18 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -939 um -9.67 mm 1.18 MeV 0 eV 1.72 mm 1.72 mm Lead Transportation - 2 -6 cm -1.22 mm -1.2 cm 1.18 MeV 0 eV 5.52 mm 7.24 mm liquidArgon Transportation - 3 -5.19 cm -1.66 mm -1.58 cm 965 keV 0 eV 8.94 mm 1.62 cm Lead compt - 4 -5.03 cm -1.54 mm -1.77 cm 755 keV 0 eV 2.5 mm 1.87 cm Lead compt - 5 -5 cm -1.08 mm -1.9 cm 755 keV 0 eV 1.44 mm 2.01 cm Lead Transportation - 6 -4.5 cm 6.84 mm -4.17 cm 755 keV 0 eV 2.45 cm 4.47 cm liquidArgon Transportation - 7 -4.48 cm 7.22 mm -4.28 cm 238 keV 0 eV 1.21 mm 4.59 cm Lead compt - 8 -4.47 cm 7.24 mm -4.28 cm 0 eV 88 keV 27.6 um 4.59 cm Lead phot + 0 -4.08 cm 13.7 um -2.35 cm 17.3 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.03 cm -42.1 um -2.38 cm 10.9 MeV 663 keV 598 um 598 um Lead eBrem + 2 -4.03 cm -36.1 um -2.38 cm 8.96 MeV 46.6 keV 44.4 um 642 um Lead eBrem + 3 -3.96 cm 78.3 um -2.39 cm 7.43 MeV 981 keV 788 um 1.43 mm Lead eBrem + 4 -3.92 cm -70.7 um -2.39 cm 4.39 MeV 634 keV 519 um 1.95 mm Lead eBrem + 5 -3.9 cm -52 um -2.38 cm 3.62 MeV 249 keV 230 um 2.18 mm Lead eBrem + 6 -3.88 cm 452 um -2.38 cm 1.95 MeV 1.31 MeV 804 um 2.98 mm Lead eBrem + 7 -3.86 cm 676 um -2.38 cm 835 keV 948 keV 564 um 3.55 mm Lead eBrem + 8 -3.86 cm 661 um -2.39 cm 0 eV 835 keV 597 um 4.14 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 472, Parent ID = 164 +* G4Track Information: Particle = gamma, Track ID = 481, Parent ID = 462 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.47 cm 7.24 mm -4.28 cm 150 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.47 cm 7.24 mm -4.28 cm 0 eV 150 keV 52.8 um 52.8 um Lead eIoni + 0 -3.86 cm 676 um -2.38 cm 167 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.87 cm 226 um -2.43 cm 0 eV 88 keV 667 um 667 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 471, Parent ID = 164 +* G4Track Information: Particle = e-, Track ID = 482, Parent ID = 481 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.48 cm 7.22 mm -4.28 cm 517 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.48 cm 7.25 mm -4.28 cm 316 keV 201 keV 61.5 um 61.5 um Lead msc - 2 -4.48 cm 7.25 mm -4.28 cm 0 eV 316 keV 162 um 223 um Lead eIoni + 0 -3.87 cm 226 um -2.43 cm 79.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.87 cm 226 um -2.43 cm 0 eV 79.2 keV 18.9 um 18.9 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 470, Parent ID = 164 +* G4Track Information: Particle = gamma, Track ID = 480, Parent ID = 462 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.03 cm -1.54 mm -1.77 cm 210 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.03 cm -1.54 mm -1.77 cm 0 eV 210 keV 88.4 um 88.4 um Lead eIoni + 0 -3.88 cm 452 um -2.38 cm 357 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.89 cm 3.37 mm -2.22 cm 0 eV 88 keV 3.33 mm 3.33 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 469, Parent ID = 164 +* G4Track Information: Particle = e-, Track ID = 483, Parent ID = 480 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.19 cm -1.66 mm -1.58 cm 218 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.19 cm -1.67 mm -1.58 cm 0 eV 218 keV 93.8 um 93.8 um Lead eIoni + 0 -3.89 cm 3.37 mm -2.22 cm 269 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.89 cm 3.37 mm -2.22 cm 0 eV 269 keV 129 um 129 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 163, Parent ID = 160 +* G4Track Information: Particle = gamma, Track ID = 479, Parent ID = 462 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.72 cm -836 um -8.69 mm 904 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -927 um -9.52 mm 904 keV 0 eV 2.35 mm 2.35 mm Lead Transportation - 2 -6 cm -1.13 mm -1.14 cm 904 keV 0 eV 5.35 mm 7.7 mm liquidArgon Transportation - 3 -5 cm -1.55 mm -1.52 cm 904 keV 0 eV 1.07 cm 1.84 cm Lead Transportation - 4 -4.5 cm -1.76 mm -1.7 cm 904 keV 0 eV 5.35 mm 2.37 cm liquidArgon Transportation - 5 -3.96 cm -1.98 mm -1.91 cm 0 eV 88 keV 5.79 mm 2.95 cm Lead phot + 0 -3.9 cm -52 um -2.38 cm 528 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.71 cm 495 um -2.23 cm 493 keV 0 eV 2.48 mm 2.48 mm Lead compt + 2 -3.5 cm 495 um -1.92 cm 493 keV 0 eV 3.66 mm 6.15 mm Lead Transportation + 3 -3 cm 495 um -1.19 cm 493 keV 0 eV 8.85 mm 1.5 cm liquidArgon Transportation + 4 -2.86 cm 495 um -9.87 mm 473 keV 0 eV 2.5 mm 1.75 cm Lead compt + 5 -2.65 cm 1.47 mm -7.31 mm 0 eV 88 keV 3.45 mm 2.09 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 473, Parent ID = 163 +* G4Track Information: Particle = e-, Track ID = 486, Parent ID = 479 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.96 cm -1.98 mm -1.91 cm 816 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.95 cm -1.98 mm -1.91 cm 0 eV 816 keV 575 um 575 um Lead eIoni + 0 -2.65 cm 1.47 mm -7.31 mm 385 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.65 cm 1.47 mm -7.3 mm 0 eV 385 keV 215 um 215 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 162, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 485, Parent ID = 479 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.73 cm -834 um -8.67 mm 1.91 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.71 cm -797 um -8.64 mm 0 eV 1.91 MeV 1.37 mm 1.37 mm Lead eIoni + 0 -2.86 cm 495 um -9.87 mm 20.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.86 cm 494 um -9.87 mm 0 eV 20.2 keV 2.07 um 2.07 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 161, Parent ID = 160 +* G4Track Information: Particle = e-, Track ID = 484, Parent ID = 479 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.76 cm -820 um -8.53 mm 14.9 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -929 um -9.54 mm 14.9 MeV 0 eV 2.83 mm 2.83 mm Lead Transportation - 2 -6 cm -1.14 mm -1.15 cm 14.9 MeV 0 eV 5.36 mm 8.19 mm liquidArgon Transportation - 3 -5.82 cm -1.21 mm -1.21 cm 0 eV 0 eV 1.89 mm 1.01 cm Lead conv + 0 -3.71 cm 495 um -2.23 cm 34.7 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.71 cm 495 um -2.23 cm 0 eV 34.7 keV 4.93 um 4.93 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 475, Parent ID = 161 +* G4Track Information: Particle = gamma, Track ID = 478, Parent ID = 462 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.82 cm -1.21 mm -1.21 cm 7.6 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.78 cm -1.18 mm -1.22 cm 6.96 MeV 643 keV 441 um 441 um Lead msc - 2 -5.74 cm -1.2 mm -1.2 cm 6.54 MeV 422 keV 441 um 882 um Lead msc - 3 -5.71 cm -1.01 mm -1.2 cm 5.6 MeV 936 keV 441 um 1.32 mm Lead msc - 4 -5.7 cm -624 um -1.17 cm 5 MeV 601 keV 509 um 1.83 mm Lead msc - 5 -5.68 cm -559 um -1.14 cm 4.03 MeV 391 keV 386 um 2.22 mm Lead eBrem - 6 -5.66 cm -127 um -1.12 cm 3.37 MeV 658 keV 636 um 2.85 mm Lead msc - 7 -5.61 cm -33.2 um -1.12 cm 2.78 MeV 598 keV 636 um 3.49 mm Lead msc - 8 -5.6 cm 44.6 um -1.19 cm 884 keV 1.89 MeV 1.71 mm 5.2 mm Lead eIoni - 9 -5.6 cm -11.7 um -1.19 cm 0 eV 884 keV 636 um 5.83 mm Lead eIoni - 10 -5.6 cm -11.7 um -1.19 cm 0 eV 0 eV 0 fm 5.83 mm Lead annihil + 0 -3.92 cm -70.7 um -2.39 cm 2.4 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm 555 um -2.37 cm 2.4 MeV 0 eV 4.21 mm 4.21 mm Lead Transportation + 2 -3 cm 1.31 mm -2.34 cm 2.4 MeV 0 eV 5.06 mm 9.27 mm liquidArgon Transportation + 3 -2 cm 2.81 mm -2.3 cm 2.4 MeV 0 eV 1.01 cm 1.94 cm Lead Transportation + 4 -1.5 cm 3.57 mm -2.27 cm 2.4 MeV 0 eV 5.06 mm 2.45 cm liquidArgon Transportation + 5 -1.22 cm 3.99 mm -2.26 cm 1.43 MeV 0 eV 2.85 mm 2.73 cm Lead compt + 6 -5 mm 2.25 mm -2.52 cm 1.43 MeV 0 eV 7.85 mm 3.52 cm Lead Transportation + 7 0.00036 fm 1.04 mm -2.71 cm 1.43 MeV 0 eV 5.46 mm 4.06 cm liquidArgon Transportation + 8 7.01 mm -649 um -2.97 cm 0 eV 88 keV 7.66 mm 4.83 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 478, Parent ID = 475 +* G4Track Information: Particle = e-, Track ID = 488, Parent ID = 478 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.6 cm -11.7 um -1.19 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.73 cm -100 um -1.09 cm 0 eV 88 keV 1.66 mm 1.66 mm Lead phot + 0 7.01 mm -649 um -2.97 cm 1.34 MeV 0 eV 0 fm 0 fm Lead initStep + 1 7.05 mm -870 um -2.97 cm 104 keV 1.24 MeV 774 um 774 um Lead eBrem + 2 7.05 mm -870 um -2.97 cm 0 eV 104 keV 29.3 um 803 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 479, Parent ID = 478 +* G4Track Information: Particle = e-, Track ID = 487, Parent ID = 478 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.73 cm -100 um -1.09 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.73 cm -94.6 um -1.09 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -1.22 cm 3.99 mm -2.26 cm 973 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.22 cm 4 mm -2.25 cm 758 keV 112 keV 90.1 um 90.1 um Lead eBrem + 2 -1.22 cm 4 mm -2.24 cm 83.9 keV 674 keV 513 um 603 um Lead eBrem + 3 -1.22 cm 4 mm -2.24 cm 0 eV 83.9 keV 20.8 um 624 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 477, Parent ID = 475 +* G4Track Information: Particle = gamma, Track ID = 489, Parent ID = 487 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.6 cm -11.7 um -1.19 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.25 cm 225 um -1.47 cm 0 eV 88 keV 4.44 mm 4.44 mm Lead phot + 0 -1.22 cm 4 mm -2.25 cm 104 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.22 cm 3.98 mm -2.25 cm 0 eV 88 keV 29.6 um 29.6 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 480, Parent ID = 477 +* G4Track Information: Particle = e-, Track ID = 490, Parent ID = 489 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.25 cm 225 um -1.47 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.25 cm 233 um -1.47 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -1.22 cm 3.98 mm -2.25 cm 16 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.22 cm 3.98 mm -2.25 cm 0 eV 16 keV 1.44 um 1.44 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 476, Parent ID = 475 +* G4Track Information: Particle = gamma, Track ID = 477, Parent ID = 462 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.68 cm -559 um -1.14 cm 578 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.71 cm 1.62 mm -8.97 mm 290 keV 0 eV 3.3 mm 3.3 mm Lead compt - 2 -5.95 cm 4.92 mm -1.14 cm 0 eV 88 keV 4.74 mm 8.04 mm Lead phot + 0 -3.96 cm 78.3 um -2.39 cm 545 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm -2.78 mm -2.4 cm 545 keV 0 eV 5.42 mm 5.42 mm Lead Transportation + 2 -3 cm -5.88 mm -2.4 cm 545 keV 0 eV 5.88 mm 1.13 cm liquidArgon Transportation + 3 -2.38 cm -9.71 mm -2.41 cm 446 keV 0 eV 7.25 mm 1.86 cm Lead compt + 4 -2.08 cm -9.4 mm -2.41 cm 0 eV 88 keV 3.03 mm 2.16 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 482, Parent ID = 476 +* G4Track Information: Particle = e-, Track ID = 492, Parent ID = 477 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.95 cm 4.92 mm -1.14 cm 202 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.95 cm 4.93 mm -1.14 cm 0 eV 202 keV 83.1 um 83.1 um Lead eIoni + 0 -2.08 cm -9.4 mm -2.41 cm 358 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.08 cm -9.4 mm -2.41 cm 0 eV 358 keV 194 um 194 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 481, Parent ID = 476 +* G4Track Information: Particle = e-, Track ID = 491, Parent ID = 477 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.71 cm 1.62 mm -8.97 mm 288 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.71 cm 1.62 mm -8.96 mm 0 eV 288 keV 141 um 141 um Lead eIoni + 0 -2.38 cm -9.71 mm -2.41 cm 99 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.38 cm -9.71 mm -2.41 cm 0 eV 99 keV 27.2 um 27.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 474, Parent ID = 161 +* G4Track Information: Particle = gamma, Track ID = 476, Parent ID = 462 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.82 cm -1.21 mm -1.21 cm 6.27 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.79 cm -1.07 mm -1.22 cm 5.69 MeV 575 keV 441 um 441 um Lead msc - 2 -5.75 cm -1.14 mm -1.23 cm 5.16 MeV 528 keV 441 um 882 um Lead msc - 3 -5.73 cm -1.22 mm -1.26 cm 4.7 MeV 465 keV 441 um 1.32 mm Lead msc - 4 -5.71 cm -1.46 mm -1.29 cm 4.13 MeV 570 keV 496 um 1.82 mm Lead msc - 5 -5.7 cm -1.29 mm -1.29 cm 3.78 MeV 241 keV 231 um 2.05 mm Lead eBrem - 6 -5.65 cm -1.36 mm -1.28 cm 2.75 MeV 884 keV 599 um 2.65 mm Lead eBrem - 7 -5.62 cm -1.71 mm -1.27 cm 1.65 MeV 1.11 MeV 1.07 mm 3.72 mm Lead eBrem - 8 -5.6 cm -1.68 mm -1.26 cm 973 keV 674 keV 564 um 4.29 mm Lead eBrem - 9 -5.6 cm -1.7 mm -1.27 cm 684 keV 162 keV 128 um 4.41 mm Lead eBrem - 10 -5.6 cm -1.69 mm -1.27 cm 0 eV 684 keV 462 um 4.87 mm Lead eIoni + 0 -4.03 cm -36.1 um -2.38 cm 1.86 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.61 cm 1.49 mm -2.71 cm 521 keV 0 eV 5.53 mm 5.53 mm Lead compt + 2 -3.5 cm 82.8 um -2.72 cm 521 keV 0 eV 1.8 mm 7.33 mm Lead Transportation + 3 -3 cm -6.25 mm -2.77 cm 521 keV 0 eV 8.09 mm 1.54 cm liquidArgon Transportation + 4 -2.78 cm -9.04 mm -2.8 cm 0 eV 88 keV 3.57 mm 1.9 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 485, Parent ID = 474 +* G4Track Information: Particle = e-, Track ID = 494, Parent ID = 476 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.6 cm -1.7 mm -1.27 cm 127 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.6 cm -1.66 mm -1.26 cm 0 eV 88 keV 103 um 103 um Lead phot + 0 -2.78 cm -9.04 mm -2.8 cm 433 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.78 cm -9.05 mm -2.8 cm 0 eV 433 keV 254 um 254 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 486, Parent ID = 485 +* G4Track Information: Particle = e-, Track ID = 493, Parent ID = 476 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.6 cm -1.66 mm -1.26 cm 38.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.6 cm -1.66 mm -1.26 cm 0 eV 38.8 keV 5.9 um 5.9 um Lead eIoni + 0 -3.61 cm 1.49 mm -2.71 cm 1.33 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.61 cm 1.54 mm -2.71 cm 0 eV 1.33 MeV 1.03 mm 1.03 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 484, Parent ID = 474 +* G4Track Information: Particle = gamma, Track ID = 475, Parent ID = 462 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.65 cm -1.36 mm -1.28 cm 146 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.65 cm -2.33 mm -1.28 cm 0 eV 88 keV 971 um 971 um Lead phot + 0 -4.03 cm -42.1 um -2.38 cm 5.82 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.56 cm 790 um -2.81 cm 0 eV 0 eV 6.49 mm 6.49 mm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 487, Parent ID = 484 +* G4Track Information: Particle = e+, Track ID = 496, Parent ID = 475 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.65 cm -2.33 mm -1.28 cm 57.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.65 cm -2.33 mm -1.28 cm 0 eV 57.8 keV 11.3 um 11.3 um Lead eIoni + 0 -3.56 cm 790 um -2.81 cm 571 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.56 cm 801 um -2.81 cm 0 eV 571 keV 365 um 365 um Lead eIoni + 2 -3.56 cm 801 um -2.81 cm 0 eV 0 eV 0 fm 365 um Lead annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 483, Parent ID = 474 +* G4Track Information: Particle = gamma, Track ID = 498, Parent ID = 496 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.7 cm -1.29 mm -1.29 cm 102 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.69 cm -1.17 mm -1.29 cm 0 eV 88 keV 165 um 165 um Lead phot + 0 -3.56 cm 801 um -2.81 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.54 cm 76.3 um -2.82 cm 0 eV 88 keV 740 um 740 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 488, Parent ID = 483 +* G4Track Information: Particle = e-, Track ID = 499, Parent ID = 498 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.69 cm -1.17 mm -1.29 cm 14.5 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.69 cm -1.17 mm -1.29 cm 0 eV 14.5 keV 1.23 um 1.23 um Lead eIoni + 0 -3.54 cm 76.3 um -2.82 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.54 cm 60.4 um -2.82 cm 0 eV 423 keV 246 um 246 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 159, Parent ID = 6 +* G4Track Information: Particle = gamma, Track ID = 497, Parent ID = 496 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.77 cm -817 um -8.49 mm 107 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.61 cm -817 um -9.05 mm 104 MeV 2.26 MeV 1.77 mm 1.77 mm Lead eBrem - 2 -6.6 cm -815 um -9.06 mm 101 MeV 26.8 keV 29.2 um 1.8 mm Lead eBrem - 3 -6.58 cm -790 um -9.16 mm 101 MeV 378 keV 279 um 2.08 mm Lead eBrem - 4 -6.57 cm -781 um -9.21 mm 89.8 MeV 157 keV 131 um 2.21 mm Lead eBrem - 5 -6.54 cm -748 um -9.33 mm 87.3 MeV 322 keV 324 um 2.53 mm Lead eBrem - 6 -6.5 cm -714 um -9.45 mm 86.8 MeV 404 keV 383 um 2.92 mm Lead Transportation - 7 -6.05 cm -593 um -1.09 cm 83.6 MeV 811 keV 4.74 mm 7.65 mm liquidArgon eIoni - 8 -6 cm -567 um -1.11 cm 83.5 MeV 91 keV 532 um 8.18 mm liquidArgon Transportation - 9 -5.95 cm -557 um -1.13 cm 82.3 MeV 758 keV 574 um 8.76 mm Lead eBrem - 10 -5.93 cm -545 um -1.14 cm 71.5 MeV 346 keV 220 um 8.98 mm Lead eBrem - 11 -5.92 cm -543 um -1.14 cm 69.9 MeV 26.5 keV 39.7 um 9.02 mm Lead eBrem - 12 -5.87 cm -529 um -1.15 cm 68.9 MeV 632 keV 509 um 9.53 mm Lead eBrem - 13 -5.82 cm -525 um -1.17 cm 53.8 MeV 794 keV 576 um 1.01 cm Lead eBrem - 14 -5.8 cm -507 um -1.17 cm 53.1 MeV 236 keV 221 um 1.03 cm Lead eBrem - 15 -5.75 cm -485 um -1.19 cm 41.5 MeV 600 keV 495 um 1.08 cm Lead eBrem - 16 -5.62 cm -549 um -1.25 cm 38.9 MeV 2.03 MeV 1.43 mm 1.23 cm Lead eBrem - 17 -5.61 cm -551 um -1.25 cm 38.7 MeV 90.7 keV 97.1 um 1.23 cm Lead eBrem - 18 -5.45 cm -570 um -1.31 cm 31.1 MeV 2.78 MeV 1.73 mm 1.41 cm Lead eBrem - 19 -5.37 cm -94 um -1.34 cm 28.4 MeV 1.11 MeV 957 um 1.5 cm Lead eIoni - 20 -5.35 cm 85.1 um -1.36 cm 25.7 MeV 571 keV 405 um 1.54 cm Lead eBrem - 21 -5.33 cm 192 um -1.37 cm 21.8 MeV 194 keV 196 um 1.56 cm Lead eBrem - 22 -5.31 cm 357 um -1.39 cm 19 MeV 371 keV 343 um 1.6 cm Lead eBrem - 23 -5.29 cm 453 um -1.41 cm 18.4 MeV 442 keV 312 um 1.63 cm Lead eBrem - 24 -5.28 cm 514 um -1.41 cm 9.29 MeV 151 keV 119 um 1.64 cm Lead eBrem - 25 -5.25 cm 660 um -1.43 cm 6.93 MeV 463 keV 401 um 1.68 cm Lead eBrem - 26 -5.18 cm 1.95 mm -1.46 cm 620 keV 3.21 MeV 2.2 mm 1.9 cm Lead eBrem - 27 -5.18 cm 1.95 mm -1.46 cm 0 eV 620 keV 407 um 1.94 cm Lead eIoni + 0 -3.56 cm 801 um -2.81 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.59 cm 2.71 mm -2.79 cm 0 eV 88 keV 1.96 mm 1.96 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 512, Parent ID = 159 +* G4Track Information: Particle = e-, Track ID = 500, Parent ID = 497 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.18 cm 1.95 mm -1.46 cm 3.1 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.61 cm 6.48 mm -8.29 mm 1.65 MeV 0 eV 8.88 mm 8.88 mm Lead compt - 2 -6 cm 7.01 mm 2.58 mm 1.65 MeV 0 eV 1.16 cm 2.04 cm Lead Transportation - 3 -6.5 cm 7.68 mm 1.65 cm 1.65 MeV 0 eV 1.48 cm 3.53 cm liquidArgon Transportation - 4 -7.5 cm 9.03 mm 4.44 cm 1.65 MeV 0 eV 2.96 cm 6.49 cm Lead Transportation - 5 -8.06 cm 9.79 mm 6 cm 1.65 MeV 0 eV 1.66 cm 8.15 cm OutOfWorld Transportation + 0 -3.59 cm 2.71 mm -2.79 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.59 cm 2.73 mm -2.79 cm 0 eV 423 keV 246 um 246 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 513, Parent ID = 512 +* G4Track Information: Particle = e-, Track ID = 495, Parent ID = 475 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.61 cm 6.48 mm -8.29 mm 1.45 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.63 cm 6.42 mm -8.15 mm 510 keV 941 keV 915 um 915 um Lead eBrem - 2 -5.63 cm 6.41 mm -8.15 mm 0 eV 510 keV 315 um 1.23 mm Lead eIoni + 0 -3.56 cm 790 um -2.81 cm 4.22 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.54 cm 794 um -2.82 cm 4.06 MeV 163 keV 180 um 180 um Lead msc + 2 -3.53 cm 811 um -2.82 cm 3.91 MeV 150 keV 138 um 319 um Lead msc + 3 -3.53 cm 818 um -2.83 cm 3.72 MeV 188 keV 138 um 457 um Lead msc + 4 -3.52 cm 851 um -2.85 cm 3.61 MeV 115 keV 138 um 595 um Lead msc + 5 -3.52 cm 747 um -2.85 cm 3.5 MeV 108 keV 138 um 734 um Lead msc + 6 -3.52 cm 731 um -2.87 cm 3.35 MeV 147 keV 138 um 872 um Lead msc + 7 -3.51 cm 673 um -2.88 cm 3.18 MeV 172 keV 138 um 1.01 mm Lead msc + 8 -3.51 cm 720 um -2.89 cm 3.02 MeV 163 keV 138 um 1.15 mm Lead msc + 9 -3.51 cm 733 um -2.9 cm 2.86 MeV 154 keV 138 um 1.29 mm Lead msc + 10 -3.51 cm 709 um -2.9 cm 2.58 MeV 52 keV 77.1 um 1.36 mm Lead eBrem + 11 -3.52 cm 694 um -2.91 cm 2.45 MeV 130 keV 138 um 1.5 mm Lead msc + 12 -3.53 cm 643 um -2.92 cm 2.3 MeV 147 keV 138 um 1.64 mm Lead msc + 13 -3.54 cm 638 um -2.93 cm 2.13 MeV 169 keV 138 um 1.78 mm Lead msc + 14 -3.54 cm 742 um -2.93 cm 1.97 MeV 159 keV 138 um 1.92 mm Lead msc + 15 -3.55 cm 732 um -2.92 cm 1.82 MeV 151 keV 138 um 2.06 mm Lead msc + 16 -3.55 cm 757 um -2.91 cm 1.69 MeV 133 keV 138 um 2.19 mm Lead msc + 17 -3.54 cm 724 um -2.9 cm 1.57 MeV 118 keV 138 um 2.33 mm Lead msc + 18 -3.54 cm 823 um -2.9 cm 1.47 MeV 104 keV 138 um 2.47 mm Lead msc + 19 -3.55 cm 873 um -2.91 cm 1.31 MeV 158 keV 138 um 2.61 mm Lead msc + 20 -3.54 cm 913 um -2.91 cm 1.2 MeV 115 keV 138 um 2.75 mm Lead msc + 21 -3.55 cm 962 um -2.92 cm 1.07 MeV 128 keV 138 um 2.89 mm Lead msc + 22 -3.56 cm 914 um -2.92 cm 922 keV 146 keV 138 um 3.02 mm Lead msc + 23 -3.55 cm 927 um -2.92 cm 759 keV 163 keV 138 um 3.16 mm Lead msc + 24 -3.55 cm 881 um -2.92 cm 654 keV 106 keV 138 um 3.3 mm Lead msc + 25 -3.54 cm 835 um -2.92 cm 513 keV 141 keV 138 um 3.44 mm Lead msc + 26 -3.55 cm 842 um -2.92 cm 0 eV 513 keV 319 um 3.76 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 511, Parent ID = 159 +* G4Track Information: Particle = gamma, Track ID = 501, Parent ID = 495 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.25 cm 660 um -1.43 cm 1.9 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm 1.1 mm -1.51 cm 1.9 MeV 0 eV 2.62 mm 2.62 mm Lead Transportation - 2 -4.5 cm 1.98 mm -1.66 cm 1.9 MeV 0 eV 5.32 mm 7.94 mm liquidArgon Transportation - 3 -3.5 cm 3.76 mm -1.98 cm 1.9 MeV 0 eV 1.06 cm 1.86 cm Lead Transportation - 4 -3 cm 4.65 mm -2.14 cm 1.9 MeV 0 eV 5.32 mm 2.39 cm liquidArgon Transportation - 5 -2.99 cm 4.66 mm -2.14 cm 623 keV 0 eV 64.2 um 2.4 cm Lead compt - 6 -2.99 cm 4.96 mm -2.2 cm 0 eV 88 keV 670 um 2.46 cm Lead phot + 0 -3.51 cm 709 um -2.9 cm 232 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.71 cm -257 um -3.33 cm 0 eV 88 keV 4.81 mm 4.81 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 515, Parent ID = 511 +* G4Track Information: Particle = e-, Track ID = 502, Parent ID = 501 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.99 cm 4.96 mm -2.2 cm 535 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.98 cm 4.95 mm -2.2 cm 477 keV 57.6 keV 34.4 um 34.4 um Lead msc - 2 -2.98 cm 4.94 mm -2.21 cm 435 keV 41.7 keV 34.4 um 68.8 um Lead msc - 3 -2.98 cm 4.92 mm -2.2 cm 399 keV 36.6 keV 34.4 um 103 um Lead msc - 4 -2.98 cm 4.92 mm -2.21 cm 353 keV 46.2 keV 34.4 um 138 um Lead msc - 5 -2.99 cm 4.92 mm -2.21 cm 304 keV 48.1 keV 34.4 um 172 um Lead msc - 6 -2.99 cm 4.9 mm -2.21 cm 268 keV 36.5 keV 34.4 um 206 um Lead msc - 7 -2.98 cm 4.9 mm -2.21 cm 191 keV 77.1 keV 34.4 um 241 um Lead msc - 8 -2.98 cm 4.9 mm -2.21 cm 0 eV 191 keV 76.2 um 317 um Lead eIoni + 0 -3.71 cm -257 um -3.33 cm 144 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.71 cm -255 um -3.33 cm 0 eV 144 keV 49.6 um 49.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 514, Parent ID = 511 +* G4Track Information: Particle = gamma, Track ID = 256, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.99 cm 4.66 mm -2.14 cm 1.28 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2.99 cm 4.67 mm -2.14 cm 1.27 MeV 13 keV 19.5 um 19.5 um Lead msc - 2 -2.99 cm 4.68 mm -2.14 cm 1.26 MeV 8.76 keV 19.5 um 39.1 um Lead msc - 3 -2.99 cm 4.7 mm -2.14 cm 1.23 MeV 23.3 keV 19.5 um 58.6 um Lead msc - 4 -2.99 cm 4.71 mm -2.14 cm 1.21 MeV 28.5 keV 19.5 um 78.1 um Lead msc - 5 -2.99 cm 4.72 mm -2.15 cm 1.11 MeV 96.5 keV 19.5 um 97.6 um Lead msc - 6 -2.99 cm 4.72 mm -2.15 cm 1.1 MeV 13.6 keV 19.5 um 117 um Lead msc - 7 -3 cm 4.72 mm -2.14 cm 1.07 MeV 25.1 keV 19.5 um 137 um Lead msc - 8 -3 cm 4.72 mm -2.14 cm 1.04 MeV 28.8 keV 19.5 um 156 um Lead msc - 9 -3 cm 4.72 mm -2.14 cm 1.02 MeV 25.8 keV 19.5 um 176 um Lead msc - 10 -3 cm 4.72 mm -2.14 cm 1 MeV 13.4 keV 19.5 um 195 um Lead msc - 11 -3 cm 4.72 mm -2.14 cm 999 keV 3.32 keV 1.2 um 196 um Lead Transportation - 12 -3.01 cm 4.74 mm -2.15 cm 982 keV 17.4 keV 113 um 309 um liquidArgon msc - 13 -3.01 cm 4.77 mm -2.16 cm 970 keV 12.4 keV 113 um 422 um liquidArgon msc - 14 -3.02 cm 4.78 mm -2.17 cm 959 keV 10.8 keV 113 um 534 um liquidArgon msc - 15 -3.03 cm 4.8 mm -2.17 cm 920 keV 38.9 keV 113 um 647 um liquidArgon msc - 16 -3.04 cm 4.82 mm -2.18 cm 906 keV 13.5 keV 113 um 759 um liquidArgon msc - 17 -3.05 cm 4.84 mm -2.18 cm 890 keV 16.4 keV 113 um 872 um liquidArgon msc - 18 -3.06 cm 4.88 mm -2.18 cm 873 keV 17.3 keV 113 um 984 um liquidArgon msc - 19 -3.07 cm 4.94 mm -2.18 cm 865 keV 7.93 keV 113 um 1.1 mm liquidArgon msc - 20 -3.08 cm 5 mm -2.19 cm 848 keV 16.5 keV 117 um 1.21 mm liquidArgon msc - 21 -3.09 cm 5.04 mm -2.19 cm 825 keV 23.4 keV 139 um 1.35 mm liquidArgon msc - 22 -3.1 cm 5.11 mm -2.2 cm 803 keV 21.9 keV 154 um 1.51 mm liquidArgon msc - 23 -3.12 cm 5.15 mm -2.2 cm 772 keV 31 keV 175 um 1.68 mm liquidArgon msc - 24 -3.13 cm 5.21 mm -2.21 cm 745 keV 27.2 keV 201 um 1.88 mm liquidArgon msc - 25 -3.15 cm 5.28 mm -2.2 cm 701 keV 43.8 keV 227 um 2.11 mm liquidArgon msc - 26 -3.17 cm 5.39 mm -2.2 cm 666 keV 35.3 keV 264 um 2.37 mm liquidArgon msc - 27 -3.2 cm 5.54 mm -2.19 cm 619 keV 46.7 keV 295 um 2.67 mm liquidArgon msc - 28 -3.2 cm 5.85 mm -2.19 cm 570 keV 49.3 keV 341 um 3.01 mm liquidArgon msc - 29 -3.21 cm 6 mm -2.16 cm 500 keV 69.3 keV 384 um 3.39 mm liquidArgon msc - 30 -3.23 cm 6.24 mm -2.17 cm 433 keV 67.7 keV 384 um 3.78 mm liquidArgon msc - 31 -3.3 cm 6.33 mm -2.15 cm 113 keV 320 keV 1.33 mm 5.11 mm liquidArgon eIoni - 32 -3.3 cm 6.28 mm -2.15 cm 0 eV 113 keV 180 um 5.29 mm liquidArgon eIoni + 0 -5.71 cm -1.05 mm -1.26 cm 3.91 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.56 cm -1.03 mm -1.31 cm 3.26 MeV 0 eV 1.65 mm 1.65 mm Lead compt + 2 -5 cm 418 um -1.51 cm 3.26 MeV 0 eV 6.08 mm 7.73 mm Lead Transportation + 3 -4.5 cm 1.72 mm -1.69 cm 3.26 MeV 0 eV 5.47 mm 1.32 cm liquidArgon Transportation + 4 -3.5 cm 4.32 mm -2.04 cm 3.26 MeV 0 eV 1.09 cm 2.41 cm Lead Transportation + 5 -3 cm 5.62 mm -2.22 cm 3.26 MeV 0 eV 5.47 mm 2.96 cm liquidArgon Transportation + 6 -2 cm 8.22 mm -2.58 cm 3.26 MeV 0 eV 1.09 cm 4.05 cm Lead Transportation + 7 -1.5 cm 9.51 mm -2.76 cm 3.26 MeV 0 eV 5.47 mm 4.6 cm liquidArgon Transportation + 8 -5 mm 1.21 cm -3.12 cm 3.26 MeV 0 eV 1.09 cm 5.7 cm Lead Transportation + 9 -0.00018 fm 1.34 cm -3.3 cm 3.26 MeV 0 eV 5.47 mm 6.24 cm liquidArgon Transportation + 10 1 cm 1.6 cm -3.66 cm 3.26 MeV 0 eV 1.09 cm 7.34 cm Lead Transportation + 11 1.5 cm 1.73 cm -3.84 cm 3.26 MeV 0 eV 5.47 mm 7.88 cm liquidArgon Transportation + 12 2.5 cm 1.99 cm -4.2 cm 3.26 MeV 0 eV 1.09 cm 8.98 cm Lead Transportation + 13 3 cm 2.12 cm -4.38 cm 3.26 MeV 0 eV 5.47 mm 9.52 cm liquidArgon Transportation + 14 3.07 cm 2.14 cm -4.41 cm 2.41 MeV 0 eV 814 um 9.61 cm Lead compt + 15 3.86 cm 2.58 cm -5 cm 2.41 MeV 0 eV 1.08 cm 10.7 cm Lead Transportation + 16 5.19 cm 3.32 cm -6 cm 2.41 MeV 0 eV 1.82 cm 12.5 cm OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 510, Parent ID = 159 +* G4Track Information: Particle = e-, Track ID = 504, Parent ID = 256 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.28 cm 514 um -1.41 cm 8.92 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm 2.29 mm -1.61 cm 8.92 MeV 0 eV 3.87 mm 3.87 mm Lead Transportation - 2 -4.5 cm 5.49 mm -1.97 cm 8.92 MeV 0 eV 6.94 mm 1.08 cm liquidArgon Transportation - 3 -4.35 cm 6.46 mm -2.09 cm 0 eV 0 eV 2.12 mm 1.29 cm Lead conv + 0 3.07 cm 2.14 cm -4.41 cm 854 keV 0 eV 0 fm 0 fm Lead initStep + 1 3.08 cm 2.14 cm -4.4 cm 477 keV 140 keV 110 um 110 um Lead eBrem + 2 3.08 cm 2.14 cm -4.4 cm 0 eV 477 keV 290 um 400 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 517, Parent ID = 510 +* G4Track Information: Particle = gamma, Track ID = 505, Parent ID = 504 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.35 cm 6.46 mm -2.09 cm 4.35 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.33 cm 6.69 mm -2.1 cm 3.57 MeV 781 keV 383 um 383 um Lead msc - 2 -4.32 cm 6.87 mm -2.13 cm 3.14 MeV 426 keV 383 um 765 um Lead msc - 3 -4.31 cm 6.56 mm -2.13 cm 2.73 MeV 413 keV 383 um 1.15 mm Lead msc - 4 -4.34 cm 6.56 mm -2.12 cm 2.34 MeV 387 keV 383 um 1.53 mm Lead msc - 5 -4.32 cm 6.75 mm -2.14 cm 1.97 MeV 377 keV 383 um 1.91 mm Lead msc - 6 -4.3 cm 6.86 mm -2.15 cm 1.52 MeV 448 keV 383 um 2.3 mm Lead msc - 7 -4.3 cm 6.98 mm -2.14 cm 0 eV 1.52 MeV 1.17 mm 3.47 mm Lead eIoni - 8 -4.3 cm 6.98 mm -2.14 cm 0 eV 0 eV 0 fm 3.47 mm Lead annihil + 0 3.08 cm 2.14 cm -4.4 cm 237 keV 0 eV 0 fm 0 fm Lead initStep + 1 3.05 cm 2.2 cm -4.36 cm 0 eV 88 keV 825 um 825 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 519, Parent ID = 517 +* G4Track Information: Particle = e-, Track ID = 506, Parent ID = 505 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.3 cm 6.98 mm -2.14 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.63 cm 7.91 mm -1.57 cm 294 keV 0 eV 8.79 mm 8.79 mm Lead compt - 2 -3.65 cm 8.3 mm -1.53 cm 0 eV 88 keV 517 um 9.31 mm Lead phot + 0 3.05 cm 2.2 cm -4.36 cm 149 keV 0 eV 0 fm 0 fm Lead initStep + 1 3.05 cm 2.2 cm -4.36 cm 0 eV 149 keV 52.2 um 52.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 521, Parent ID = 519 +* G4Track Information: Particle = e-, Track ID = 503, Parent ID = 256 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.65 cm 8.3 mm -1.53 cm 206 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.65 cm 8.3 mm -1.53 cm 0 eV 206 keV 86 um 86 um Lead eIoni + 0 -5.56 cm -1.03 mm -1.31 cm 645 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.55 cm -1.05 mm -1.31 cm 0 eV 645 keV 431 um 431 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 520, Parent ID = 519 +* G4Track Information: Particle = gamma, Track ID = 255, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.63 cm 7.91 mm -1.57 cm 217 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.63 cm 7.91 mm -1.57 cm 0 eV 217 keV 92.7 um 92.7 um Lead eIoni + 0 -5.86 cm -1.04 mm -1.2 cm 383 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.68 cm -1.13 mm -1.27 cm 207 keV 0 eV 1.96 mm 1.96 mm Lead compt + 2 -5.72 cm -1.59 mm -1.33 cm 0 eV 88 keV 799 um 2.76 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 518, Parent ID = 517 +* G4Track Information: Particle = e-, Track ID = 508, Parent ID = 255 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.3 cm 6.98 mm -2.14 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.5 cm 6.69 mm -2.31 cm 511 keV 0 eV 2.72 mm 2.72 mm Lead Transportation - 2 -5 cm 5.99 mm -2.75 cm 511 keV 0 eV 6.64 mm 9.36 mm liquidArgon Transportation - 3 -5.72 cm 4.98 mm -3.37 cm 229 keV 0 eV 9.61 mm 1.9 cm Lead compt - 4 -5.63 cm 5.67 mm -3.44 cm 0 eV 88 keV 1.42 mm 2.04 cm Lead phot + 0 -5.72 cm -1.59 mm -1.33 cm 119 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.72 cm -1.59 mm -1.33 cm 0 eV 119 keV 36.8 um 36.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 523, Parent ID = 518 +* G4Track Information: Particle = e-, Track ID = 507, Parent ID = 255 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.63 cm 5.67 mm -3.44 cm 141 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.63 cm 5.67 mm -3.45 cm 0 eV 141 keV 47.9 um 47.9 um Lead eIoni + 0 -5.68 cm -1.13 mm -1.27 cm 176 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.68 cm -1.13 mm -1.27 cm 0 eV 176 keV 67.6 um 67.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 522, Parent ID = 518 +* G4Track Information: Particle = gamma, Track ID = 254, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.72 cm 4.98 mm -3.37 cm 282 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.72 cm 4.97 mm -3.37 cm 0 eV 282 keV 137 um 137 um Lead eIoni + 0 -5.92 cm -1.01 mm -1.17 cm 948 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -1.77 mm -1.57 cm 948 keV 0 eV 1 cm 1 cm Lead Transportation + 2 -4.5 cm -2.18 mm -1.78 cm 948 keV 0 eV 5.45 mm 1.55 cm liquidArgon Transportation + 3 -3.5 cm -3.01 mm -2.2 cm 948 keV 0 eV 1.09 cm 2.64 cm Lead Transportation + 4 -3 cm -3.42 mm -2.42 cm 948 keV 0 eV 5.45 mm 3.18 cm liquidArgon Transportation + 5 -2 cm -4.24 mm -2.84 cm 948 keV 0 eV 1.09 cm 4.27 cm Lead Transportation + 6 -1.5 cm -4.66 mm -3.06 cm 948 keV 0 eV 5.45 mm 4.82 cm liquidArgon Transportation + 7 -5 mm -5.48 mm -3.48 cm 948 keV 0 eV 1.09 cm 5.91 cm Lead Transportation + 8 -2.95e-05 fm -5.9 mm -3.7 cm 948 keV 0 eV 5.45 mm 6.45 cm liquidArgon Transportation + 9 1 cm -6.72 mm -4.12 cm 948 keV 0 eV 1.09 cm 7.54 cm Lead Transportation + 10 1.5 cm -7.14 mm -4.34 cm 948 keV 0 eV 5.45 mm 8.09 cm liquidArgon Transportation + 11 1.52 cm -7.15 mm -4.34 cm 685 keV 0 eV 187 um 8.11 cm Lead compt + 12 1.62 cm -7.61 mm -4.53 cm 253 keV 0 eV 2.16 mm 8.32 cm Lead compt + 13 1.5 cm -6.92 mm -4.57 cm 253 keV 0 eV 1.46 mm 8.47 cm Lead Transportation + 14 1 cm -4.06 mm -4.73 cm 253 keV 0 eV 6 mm 9.07 cm liquidArgon Transportation + 15 9.99 mm -4.05 mm -4.73 cm 0 eV 88 keV 10.1 um 9.07 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 516, Parent ID = 510 +* G4Track Information: Particle = e-, Track ID = 511, Parent ID = 254 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.35 cm 6.46 mm -2.09 cm 3.55 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.35 cm 6.72 mm -2.1 cm 3.2 MeV 349 keV 383 um 383 um Lead msc - 2 -4.35 cm 7.01 mm -2.09 cm 2.72 MeV 481 keV 383 um 765 um Lead msc - 3 -4.35 cm 7.16 mm -2.09 cm 2.04 MeV 204 keV 163 um 928 um Lead eBrem - 4 -4.33 cm 7.15 mm -2.08 cm 1.43 MeV 614 keV 383 um 1.31 mm Lead msc - 5 -4.31 cm 7.05 mm -2.08 cm 190 keV 1.24 MeV 1.1 mm 2.41 mm Lead eIoni - 6 -4.31 cm 7.06 mm -2.08 cm 0 eV 190 keV 75.8 um 2.48 mm Lead eIoni + 0 9.99 mm -4.05 mm -4.73 cm 165 keV 0 eV 0 fm 0 fm Lead initStep + 1 9.99 mm -4.05 mm -4.73 cm 161 keV 3.94 keV 2.51 um 2.51 um Lead msc + 2 9.99 mm -4.05 mm -4.73 cm 160 keV 1.64 keV 2.45 um 4.96 um Lead msc + 3 9.99 mm -4.05 mm -4.73 cm 150 keV 9.59 keV 2.45 um 7.41 um Lead msc + 4 9.99 mm -4.05 mm -4.73 cm 150 keV 513 eV 2.45 um 9.87 um Lead msc + 5 9.99 mm -4.04 mm -4.73 cm 146 keV 3.8 keV 2.45 um 12.3 um Lead msc + 6 9.99 mm -4.05 mm -4.73 cm 140 keV 5.48 keV 2.45 um 14.8 um Lead msc + 7 9.99 mm -4.05 mm -4.73 cm 137 keV 3.67 keV 2.57 um 17.3 um Lead msc + 8 9.99 mm -4.05 mm -4.73 cm 135 keV 1.12 keV 2.92 um 20.3 um Lead msc + 9 9.99 mm -4.05 mm -4.73 cm 128 keV 7.22 keV 2.64 um 22.9 um Lead msc + 10 9.98 mm -4.04 mm -4.73 cm 125 keV 3.43 keV 3.09 um 26 um Lead msc + 11 9.98 mm -4.04 mm -4.73 cm 122 keV 3.07 keV 3.42 um 29.4 um Lead msc + 12 9.98 mm -4.04 mm -4.73 cm 118 keV 3.99 keV 3.55 um 33 um Lead msc + 13 9.98 mm -4.05 mm -4.73 cm 112 keV 5.5 keV 3.43 um 36.4 um Lead msc + 14 9.98 mm -4.05 mm -4.73 cm 104 keV 8.09 keV 4.2 um 40.6 um Lead msc + 15 9.98 mm -4.04 mm -4.73 cm 91.2 keV 12.9 keV 4.54 um 45.1 um Lead msc + 16 9.98 mm -4.04 mm -4.73 cm 80.7 keV 10.5 keV 5.23 um 50.4 um Lead msc + 17 9.98 mm -4.04 mm -4.73 cm 69.3 keV 11.4 keV 4.87 um 55.2 um Lead msc + 18 9.98 mm -4.04 mm -4.73 cm 0 eV 69.3 keV 15.3 um 70.5 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 524, Parent ID = 516 +* G4Track Information: Particle = e-, Track ID = 510, Parent ID = 254 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.35 cm 7.16 mm -2.09 cm 475 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.34 cm 7.48 mm -2.09 cm 0 eV 88 keV 333 um 333 um Lead phot + 0 1.62 cm -7.61 mm -4.53 cm 432 keV 0 eV 0 fm 0 fm Lead initStep + 1 1.62 cm -7.62 mm -4.53 cm 0 eV 432 keV 253 um 253 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 525, Parent ID = 524 +* G4Track Information: Particle = e-, Track ID = 509, Parent ID = 254 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.34 cm 7.48 mm -2.09 cm 387 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.34 cm 7.49 mm -2.09 cm 0 eV 387 keV 216 um 216 um Lead eIoni + 0 1.52 cm -7.15 mm -4.34 cm 263 keV 0 eV 0 fm 0 fm Lead initStep + 1 1.52 cm -7.15 mm -4.34 cm 0 eV 263 keV 124 um 124 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 509, Parent ID = 159 +* G4Track Information: Particle = gamma, Track ID = 253, Parent ID = 252 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.29 cm 453 um -1.41 cm 224 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.19 cm 1.05 mm -1.48 cm 131 keV 0 eV 1.37 mm 1.37 mm Lead compt - 2 -5.21 cm 1.11 mm -1.48 cm 0 eV 88 keV 251 um 1.63 mm Lead phot + 0 -6 cm -982 um -1.14 cm 867 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.85 cm -1.05 mm -1.19 cm 331 keV 0 eV 1.55 mm 1.55 mm Lead compt + 2 -5.84 cm -1.1 mm -1.16 cm 0 eV 88 keV 358 um 1.91 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 527, Parent ID = 509 +* G4Track Information: Particle = e-, Track ID = 513, Parent ID = 253 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.21 cm 1.11 mm -1.48 cm 42.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.22 cm 1.11 mm -1.48 cm 0 eV 42.8 keV 6.94 um 6.94 um Lead eIoni + 0 -5.84 cm -1.1 mm -1.16 cm 243 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.84 cm -1.1 mm -1.16 cm 0 eV 243 keV 111 um 111 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 526, Parent ID = 509 +* G4Track Information: Particle = e-, Track ID = 512, Parent ID = 253 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.19 cm 1.05 mm -1.48 cm 93.3 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.19 cm 1.05 mm -1.48 cm 0 eV 93.3 keV 24.7 um 24.7 um Lead eIoni + 0 -5.85 cm -1.05 mm -1.19 cm 536 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.85 cm -1.05 mm -1.2 cm 0 eV 536 keV 339 um 339 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 508, Parent ID = 159 +* G4Track Information: Particle = e-, Track ID = 251, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.31 cm 357 um -1.39 cm 2.35 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.23 cm 827 um -1.45 cm 0 eV 88 keV 1.13 mm 1.13 mm Lead phot + 0 -6.56 cm -894 um -9.29 mm 154 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.56 cm -896 um -9.31 mm 144 MeV 54.6 keV 49.2 um 49.2 um Lead eBrem + 2 -6.52 cm -911 um -9.48 mm 121 MeV 588 keV 460 um 509 um Lead eBrem + 3 -6.5 cm -922 um -9.55 mm 121 MeV 230 keV 181 um 690 um Lead Transportation + 4 -6 cm -1.42 mm -1.18 cm 120 MeV 1.13 MeV 5.49 mm 6.18 mm liquidArgon Transportation + 5 -5.98 cm -1.44 mm -1.19 cm 119 MeV 268 keV 236 um 6.42 mm Lead eBrem + 6 -5.94 cm -1.48 mm -1.2 cm 114 MeV 494 keV 451 um 6.87 mm Lead eBrem + 7 -5.87 cm -1.52 mm -1.23 cm 113 MeV 895 keV 721 um 7.59 mm Lead eBrem + 8 -5.77 cm -1.63 mm -1.27 cm 110 MeV 1.31 MeV 1.07 mm 8.66 mm Lead eBrem + 9 -5.76 cm -1.65 mm -1.28 cm 90.2 MeV 147 keV 136 um 8.8 mm Lead eBrem + 10 -5.73 cm -1.69 mm -1.29 cm 82.4 MeV 409 keV 315 um 9.11 mm Lead eBrem + 11 -5.72 cm -1.71 mm -1.29 cm 81.5 MeV 115 keV 78.8 um 9.19 mm Lead eBrem + 12 -5.7 cm -1.75 mm -1.3 cm 67.6 MeV 964 keV 277 um 9.47 mm Lead eBrem + 13 -5.68 cm -1.79 mm -1.31 cm 66.8 MeV 172 keV 192 um 9.66 mm Lead eBrem + 14 -5.68 cm -1.8 mm -1.31 cm 66.4 MeV 22.7 keV 30 um 9.69 mm Lead eBrem + 15 -5.64 cm -1.87 mm -1.33 cm 46.1 MeV 555 keV 458 um 1.01 cm Lead eBrem + 16 -5.63 cm -1.93 mm -1.35 cm 41.6 MeV 329 keV 175 um 1.03 cm Lead eBrem + 17 -5.61 cm -2.02 mm -1.37 cm 40.8 MeV 422 keV 325 um 1.06 cm Lead eBrem + 18 -5.58 cm -2.12 mm -1.39 cm 40.3 MeV 310 keV 340 um 1.1 cm Lead eBrem + 19 -5.54 cm -2.23 mm -1.42 cm 34.4 MeV 761 keV 536 um 1.15 cm Lead eBrem + 20 -5.53 cm -2.24 mm -1.43 cm 25.2 MeV 260 keV 176 um 1.17 cm Lead eBrem + 21 -5.53 cm -2.24 mm -1.43 cm 22.4 MeV 2.6 keV 4.8 um 1.17 cm Lead eBrem + 22 -5.52 cm -2.25 mm -1.44 cm 21.1 MeV 71.9 keV 73.5 um 1.18 cm Lead eBrem + 23 -5.52 cm -2.26 mm -1.44 cm 19.7 MeV 54.6 keV 45.9 um 1.18 cm Lead eBrem + 24 -5.38 cm -2.18 mm -1.51 cm 9.69 MeV 1.93 MeV 1.58 mm 1.34 cm Lead eBrem + 25 -5.28 cm -3.21 mm -1.68 cm 6.02 MeV 3.67 MeV 3.07 mm 1.65 cm Lead eIoni + 26 -5.28 cm -1.85 mm -1.73 cm 3.48 MeV 2.54 MeV 2.42 mm 1.89 cm Lead eIoni + 27 -5.27 cm -1.17 mm -1.76 cm 1.6 MeV 1.87 MeV 1.89 mm 2.08 cm Lead eIoni + 28 -5.26 cm -1.16 mm -1.75 cm 850 keV 236 keV 155 um 2.09 cm Lead eBrem + 29 -5.27 cm -1.04 mm -1.75 cm 320 keV 423 keV 425 um 2.14 cm Lead eBrem + 30 -5.26 cm -1.03 mm -1.75 cm 201 keV 119 keV 92.4 um 2.15 cm Lead eBrem + 31 -5.26 cm -1.02 mm -1.75 cm 0 eV 201 keV 83.2 um 2.15 cm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 528, Parent ID = 508 +* G4Track Information: Particle = gamma, Track ID = 537, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.23 cm 827 um -1.45 cm 2.26 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.21 cm 1.18 mm -1.44 cm 902 keV 1.1 MeV 792 um 792 um Lead eBrem - 2 -5.22 cm 1.2 mm -1.44 cm 0 eV 902 keV 650 um 1.44 mm Lead eIoni + 0 -5.27 cm -1.04 mm -1.75 cm 107 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.26 cm -1.04 mm -1.74 cm 0 eV 88 keV 51.1 um 51.1 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 529, Parent ID = 528 +* G4Track Information: Particle = e-, Track ID = 538, Parent ID = 537 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.21 cm 1.18 mm -1.44 cm 262 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.43 cm 3.21 mm -1.39 cm 218 keV 0 eV 3.03 mm 3.03 mm Lead compt - 2 -5.58 cm 4.03 mm -1.53 cm 0 eV 88 keV 2.21 mm 5.24 mm Lead phot + 0 -5.26 cm -1.04 mm -1.74 cm 18.8 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.26 cm -1.04 mm -1.74 cm 0 eV 18.8 keV 1.85 um 1.85 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 531, Parent ID = 529 +* G4Track Information: Particle = gamma, Track ID = 536, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.58 cm 4.03 mm -1.53 cm 130 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.58 cm 4.03 mm -1.53 cm 0 eV 130 keV 42 um 42 um Lead eIoni + 0 -5.26 cm -1.16 mm -1.75 cm 517 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm 883 um -1.55 cm 517 keV 0 eV 3.87 mm 3.87 mm Lead Transportation + 2 -4.5 cm 4.74 mm -1.19 cm 517 keV 0 eV 7.3 mm 1.12 cm liquidArgon Transportation + 3 -4.11 cm 7.77 mm -9.02 mm 0 eV 88 keV 5.71 mm 1.69 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 530, Parent ID = 529 +* G4Track Information: Particle = e-, Track ID = 539, Parent ID = 536 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.43 cm 3.21 mm -1.39 cm 43.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.43 cm 3.21 mm -1.39 cm 0 eV 43.6 keV 7.17 um 7.17 um Lead eIoni + 0 -4.11 cm 7.77 mm -9.02 mm 429 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.11 cm 7.77 mm -9.01 mm 0 eV 429 keV 251 um 251 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 507, Parent ID = 159 +* G4Track Information: Particle = gamma, Track ID = 535, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.33 cm 192 um -1.37 cm 3.75 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.27 cm 776 um -1.43 cm 0 eV 0 eV 1.1 mm 1.1 mm Lead conv + 0 -5.38 cm -2.18 mm -1.51 cm 8.07 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.14 cm -2.23 mm -1.6 cm 0 eV 0 eV 2.54 mm 2.54 mm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 533, Parent ID = 507 +* G4Track Information: Particle = e+, Track ID = 541, Parent ID = 535 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.27 cm 776 um -1.43 cm 2.1 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.28 cm 871 um -1.48 cm 715 keV 1.39 MeV 1.47 mm 1.47 mm Lead eIoni - 2 -5.28 cm 914 um -1.48 cm 0 eV 715 keV 487 um 1.96 mm Lead eIoni - 3 -5.28 cm 914 um -1.48 cm 0 eV 0 eV 0 fm 1.96 mm Lead annihil + 0 -5.14 cm -2.23 mm -1.6 cm 6.78 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.11 cm -2.31 mm -1.61 cm 6.34 MeV 448 keV 431 um 431 um Lead msc + 2 -5.08 cm -2.46 mm -1.61 cm 5.61 MeV 729 keV 282 um 713 um Lead msc + 3 -5.08 cm -2.72 mm -1.61 cm 5.29 MeV 312 keV 282 um 995 um Lead msc + 4 -5.08 cm -2.97 mm -1.6 cm 4.65 MeV 645 keV 282 um 1.28 mm Lead msc + 5 -5.09 cm -3.23 mm -1.6 cm 4.29 MeV 364 keV 282 um 1.56 mm Lead msc + 6 -5.09 cm -3.49 mm -1.6 cm 4.03 MeV 253 keV 282 um 1.84 mm Lead msc + 7 -5.1 cm -3.73 mm -1.6 cm 3.75 MeV 286 keV 282 um 2.12 mm Lead msc + 8 -5.11 cm -3.98 mm -1.59 cm 3.48 MeV 271 keV 282 um 2.41 mm Lead msc + 9 -5.1 cm -4.19 mm -1.61 cm 3.08 MeV 398 keV 282 um 2.69 mm Lead msc + 10 -5.12 cm -4.4 mm -1.61 cm 2.73 MeV 350 keV 282 um 2.97 mm Lead msc + 11 -5.12 cm -4.63 mm -1.62 cm 2.42 MeV 308 keV 282 um 3.25 mm Lead msc + 12 -5.11 cm -4.78 mm -1.64 cm 2.07 MeV 347 keV 282 um 3.54 mm Lead msc + 13 -5.12 cm -4.95 mm -1.65 cm 1.84 MeV 229 keV 282 um 3.82 mm Lead msc + 14 -5.11 cm -4.93 mm -1.67 cm 1.56 MeV 279 keV 282 um 4.1 mm Lead msc + 15 -5.1 cm -4.8 mm -1.66 cm 1.3 MeV 259 keV 282 um 4.38 mm Lead msc + 16 -5.09 cm -4.93 mm -1.66 cm 1.03 MeV 269 keV 282 um 4.67 mm Lead msc + 17 -5.08 cm -4.96 mm -1.67 cm 742 keV 293 keV 282 um 4.95 mm Lead msc + 18 -5.08 cm -4.99 mm -1.67 cm 0 eV 742 keV 515 um 5.46 mm Lead eIoni + 19 -5.08 cm -4.99 mm -1.67 cm 0 eV 0 eV 0 fm 5.46 mm Lead annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 535, Parent ID = 533 +* G4Track Information: Particle = gamma, Track ID = 543, Parent ID = 541 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.28 cm 914 um -1.48 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm 902 um -1.58 cm 511 keV 0 eV 3.01 mm 3.01 mm Lead Transportation - 2 -4.5 cm 881 um -1.76 cm 511 keV 0 eV 5.31 mm 8.32 mm liquidArgon Transportation - 3 -3.5 cm 838 um -2.12 cm 511 keV 0 eV 1.06 cm 1.89 cm Lead Transportation - 4 -3 cm 817 um -2.3 cm 511 keV 0 eV 5.31 mm 2.43 cm liquidArgon Transportation - 5 -2 cm 775 um -2.66 cm 511 keV 0 eV 1.06 cm 3.49 cm Lead Transportation - 6 -1.5 cm 753 um -2.84 cm 511 keV 0 eV 5.31 mm 4.02 cm liquidArgon Transportation - 7 -5 mm 711 um -3.2 cm 511 keV 0 eV 1.06 cm 5.08 cm Lead Transportation - 8 -0.000372 fm 689 um -3.38 cm 511 keV 0 eV 5.31 mm 5.61 cm liquidArgon Transportation - 9 10 mm 647 um -3.74 cm 511 keV 0 eV 1.06 cm 6.68 cm Lead Transportation - 10 1.5 cm 626 um -3.92 cm 511 keV 0 eV 5.31 mm 7.21 cm liquidArgon Transportation - 11 2.47 cm 584 um -4.27 cm 455 keV 0 eV 1.03 cm 8.24 cm Lead compt - 12 2.5 cm 435 um -4.29 cm 455 keV 0 eV 451 um 8.28 cm Lead Transportation - 13 3 cm -1.91 mm -4.74 cm 455 keV 0 eV 7.1 mm 8.99 cm liquidArgon Transportation - 14 3.03 cm -2.05 mm -4.77 cm 441 keV 0 eV 412 um 9.03 cm Lead compt - 15 3.05 cm -2.26 mm -4.79 cm 0 eV 88 keV 389 um 9.07 cm Lead phot + 0 -5.08 cm -4.99 mm -1.67 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.06 cm -6.78 mm -1.83 cm 0 eV 88 keV 2.38 mm 2.38 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 538, Parent ID = 535 +* G4Track Information: Particle = e-, Track ID = 544, Parent ID = 543 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.05 cm -2.26 mm -4.79 cm 353 keV 0 eV 0 fm 0 fm Lead initStep - 1 3.05 cm -2.27 mm -4.79 cm 0 eV 353 keV 190 um 190 um Lead eIoni + 0 -5.06 cm -6.78 mm -1.83 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.06 cm -6.79 mm -1.83 cm 0 eV 423 keV 246 um 246 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 537, Parent ID = 535 +* G4Track Information: Particle = gamma, Track ID = 542, Parent ID = 541 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.03 cm -2.05 mm -4.77 cm 13.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 3.03 cm -2.05 mm -4.77 cm 0 eV 13.6 keV 1.11 um 1.11 um Lead eIoni + 0 -5.08 cm -4.99 mm -1.67 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.09 cm -4.33 mm -1.62 cm 192 keV 0 eV 875 um 875 um Lead compt + 2 -5.15 cm -4.78 mm -1.67 cm 0 eV 88 keV 923 um 1.8 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 536, Parent ID = 535 +* G4Track Information: Particle = e-, Track ID = 546, Parent ID = 542 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.47 cm 584 um -4.27 cm 56.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 2.47 cm 585 um -4.27 cm 0 eV 56.2 keV 10.8 um 10.8 um Lead eIoni + 0 -5.15 cm -4.78 mm -1.67 cm 104 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.15 cm -4.78 mm -1.67 cm 0 eV 104 keV 29.6 um 29.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 534, Parent ID = 533 +* G4Track Information: Particle = e-, Track ID = 545, Parent ID = 542 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.28 cm 914 um -1.48 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.94 cm 942 um -1.25 cm 0 eV 88 keV 7 mm 7 mm Lead phot + 0 -5.09 cm -4.33 mm -1.62 cm 319 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.09 cm -4.32 mm -1.62 cm 0 eV 319 keV 165 um 165 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 539, Parent ID = 534 +* G4Track Information: Particle = e-, Track ID = 540, Parent ID = 535 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.94 cm 942 um -1.25 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.94 cm 936 um -1.24 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -5.14 cm -2.23 mm -1.6 cm 269 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.14 cm -2.23 mm -1.6 cm 0 eV 269 keV 129 um 129 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 532, Parent ID = 507 +* G4Track Information: Particle = gamma, Track ID = 534, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.27 cm 776 um -1.43 cm 624 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.27 cm 750 um -1.43 cm 0 eV 624 keV 410 um 410 um Lead eIoni + 0 -5.52 cm -2.26 mm -1.44 cm 1.39 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -3 mm -2 cm 1.39 MeV 0 eV 7.65 mm 7.65 mm Lead Transportation + 2 -4.5 cm -3.71 mm -2.54 cm 1.39 MeV 0 eV 7.38 mm 1.5 cm liquidArgon Transportation + 3 -4.09 cm -4.3 mm -2.98 cm 0 eV 0 eV 6.03 mm 2.11 cm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 506, Parent ID = 159 +* G4Track Information: Particle = e+, Track ID = 548, Parent ID = 534 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.35 cm 85.1 um -1.36 cm 2.13 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm 2.97 mm -1.63 cm 2.13 MeV 0 eV 5.28 mm 5.28 mm Lead Transportation - 2 -4.5 cm 7.15 mm -2.03 cm 2.13 MeV 0 eV 7.63 mm 1.29 cm liquidArgon Transportation - 3 -3.5 cm 1.55 cm -2.83 cm 2.13 MeV 0 eV 1.53 cm 2.82 cm Lead Transportation - 4 -3 cm 1.97 cm -3.22 cm 2.13 MeV 0 eV 7.63 mm 3.58 cm liquidArgon Transportation - 5 -2 cm 2.8 cm -4.02 cm 2.13 MeV 0 eV 1.53 cm 5.11 cm Lead Transportation - 6 -1.5 cm 3.22 cm -4.41 cm 2.13 MeV 0 eV 7.63 mm 5.87 cm liquidArgon Transportation - 7 -7.63 mm 3.84 cm -5 cm 2.13 MeV 0 eV 1.12 cm 6.99 cm Lead Transportation - 8 4.96 mm 4.89 cm -6 cm 2.13 MeV 0 eV 1.92 cm 8.91 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 505, Parent ID = 159 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.37 cm -94 um -1.34 cm 1.55 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.35 cm -159 um -1.32 cm 202 keV 1.35 MeV 1.18 mm 1.18 mm Lead eIoni - 2 -5.35 cm -160 um -1.32 cm 0 eV 202 keV 82.8 um 1.26 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 504, Parent ID = 159 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.45 cm -570 um -1.31 cm 4.88 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm 1.62 mm -1.5 cm 4.88 MeV 0 eV 5.34 mm 5.34 mm Lead Transportation - 2 -4.5 cm 4.04 mm -1.7 cm 4.88 MeV 0 eV 5.91 mm 1.12 cm liquidArgon Transportation - 3 -3.5 cm 8.89 mm -2.1 cm 4.88 MeV 0 eV 1.18 cm 2.31 cm Lead Transportation - 4 -3 cm 1.13 cm -2.3 cm 4.88 MeV 0 eV 5.91 mm 2.9 cm liquidArgon Transportation - 5 -2.75 cm 1.25 cm -2.4 cm 509 keV 0 eV 2.9 mm 3.19 cm Lead compt - 6 -2.84 cm 1.27 cm -2.66 cm 0 eV 88 keV 2.74 mm 3.46 cm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 541, Parent ID = 504 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.84 cm 1.27 cm -2.66 cm 421 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.84 cm 1.28 cm -2.66 cm 0 eV 421 keV 243 um 243 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 540, Parent ID = 504 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.75 cm 1.25 cm -2.4 cm 4.37 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2.73 cm 1.26 cm -2.44 cm 3.52 MeV 843 keV 614 um 614 um Lead msc - 2 -2.71 cm 1.3 cm -2.45 cm 2.75 MeV 584 keV 570 um 1.18 mm Lead eBrem - 3 -2.74 cm 1.3 cm -2.42 cm 2.1 MeV 649 keV 614 um 1.8 mm Lead msc - 4 -2.77 cm 1.29 cm -2.39 cm 563 keV 1.54 MeV 1.46 mm 3.26 mm Lead eIoni - 5 -2.77 cm 1.29 cm -2.39 cm 0 eV 563 keV 360 um 3.61 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 542, Parent ID = 540 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.71 cm 1.3 cm -2.45 cm 189 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.72 cm 1.31 cm -2.44 cm 0 eV 88 keV 83 um 83 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 543, Parent ID = 542 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.72 cm 1.31 cm -2.44 cm 101 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.72 cm 1.31 cm -2.44 cm 0 eV 101 keV 27.7 um 27.7 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 503, Parent ID = 159 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.61 cm -551 um -1.25 cm 116 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.6 cm -559 um -1.25 cm 0 eV 88 keV 68.6 um 68.6 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 544, Parent ID = 503 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.6 cm -559 um -1.25 cm 27.5 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.6 cm -559 um -1.25 cm 0 eV 27.5 keV 3.4 um 3.4 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 502, Parent ID = 159 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.62 cm -549 um -1.25 cm 534 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.56 cm -558 um -1.26 cm 198 keV 0 eV 629 um 629 um Lead compt - 2 -5.56 cm -554 um -1.26 cm 0 eV 88 keV 12.3 um 641 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 546, Parent ID = 502 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.56 cm -554 um -1.26 cm 110 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.56 cm -553 um -1.26 cm 0 eV 110 keV 32.1 um 32.1 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 545, Parent ID = 502 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.56 cm -558 um -1.26 cm 336 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.56 cm -559 um -1.26 cm 0 eV 336 keV 177 um 177 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 501, Parent ID = 159 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.75 cm -485 um -1.19 cm 11 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm 82 um -1.57 cm 11 MeV 0 eV 8.42 mm 8.42 mm Lead Transportation - 2 -4.5 cm 461 um -1.82 cm 11 MeV 0 eV 5.62 mm 1.4 cm liquidArgon Transportation - 3 -3.5 cm 1.22 mm -2.33 cm 11 MeV 0 eV 1.12 cm 2.53 cm Lead Transportation - 4 -3 cm 1.6 mm -2.58 cm 11 MeV 0 eV 5.62 mm 3.09 cm liquidArgon Transportation - 5 -2 cm 2.35 mm -3.09 cm 11 MeV 0 eV 1.12 cm 4.21 cm Lead Transportation - 6 -1.5 cm 2.73 mm -3.34 cm 11 MeV 0 eV 5.62 mm 4.78 cm liquidArgon Transportation - 7 -1.29 cm 2.89 mm -3.45 cm 0 eV 0 eV 2.32 mm 5.01 cm Lead conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 548, Parent ID = 501 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.29 cm 2.89 mm -3.45 cm 2.41 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -1.28 cm 2.79 mm -3.45 cm 2.07 MeV 191 keV 197 um 197 um Lead eBrem - 2 -1.31 cm 2.45 mm -3.48 cm 473 keV 1.6 MeV 1.46 mm 1.66 mm Lead eIoni - 3 -1.31 cm 2.47 mm -3.48 cm 0 eV 473 keV 281 um 1.94 mm Lead eIoni - 4 -1.31 cm 2.47 mm -3.48 cm 0 eV 0 eV 0 fm 1.94 mm Lead annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 551, Parent ID = 548 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.31 cm 2.47 mm -3.48 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.33 cm 2.98 mm -3.44 cm 440 keV 0 eV 677 um 677 um Lead compt - 2 -1.5 cm 4.18 mm -3.37 cm 440 keV 0 eV 2.19 mm 2.87 mm Lead Transportation - 3 -2 cm 7.71 mm -3.18 cm 440 keV 0 eV 6.43 mm 9.29 mm liquidArgon Transportation - 4 -2.04 cm 7.98 mm -3.16 cm 0 eV 88 keV 493 um 9.78 mm Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 553, Parent ID = 551 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.04 cm 7.98 mm -3.16 cm 352 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.04 cm 7.98 mm -3.16 cm 0 eV 352 keV 189 um 189 um Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 552, Parent ID = 551 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.33 cm 2.98 mm -3.44 cm 71.4 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.33 cm 2.98 mm -3.44 cm 0 eV 71.4 keV 16 um 16 um Lead eIoni + 0 -4.09 cm -4.3 mm -2.98 cm 311 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.09 cm -4.31 mm -2.98 cm 0 eV 311 keV 154 um 154 um Lead eIoni + 2 -4.09 cm -4.31 mm -2.98 cm 0 eV 0 eV 0 fm 154 um Lead annihil ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 550, Parent ID = 548 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.31 cm 2.47 mm -3.48 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.02 cm -4.34 mm -4.01 cm 0 eV 88 keV 9.12 mm 9.12 mm Lead phot + 0 -4.09 cm -4.31 mm -2.98 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.16 cm -4.67 mm -3.03 cm 0 eV 88 keV 932 um 932 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 554, Parent ID = 550 +* G4Track Information: Particle = e-, Track ID = 551, Parent ID = 550 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.02 cm -4.34 mm -4.01 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.01 cm -4.35 mm -4.01 cm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -4.16 cm -4.67 mm -3.03 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.16 cm -4.67 mm -3.03 cm 0 eV 423 keV 246 um 246 um Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 549, Parent ID = 548 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.28 cm 2.79 mm -3.45 cm 154 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.27 cm 2.71 mm -3.47 cm 0 eV 88 keV 176 um 176 um Lead phot + 0 -4.09 cm -4.31 mm -2.98 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.65 cm -1.93 mm -2.61 cm 262 keV 0 eV 6.23 mm 6.23 mm Lead compt + 2 -3.6 cm -1.85 mm -2.67 cm 0 eV 88 keV 710 um 6.94 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 555, Parent ID = 549 +* G4Track Information: Particle = e-, Track ID = 553, Parent ID = 549 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.27 cm 2.71 mm -3.47 cm 65.9 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.27 cm 2.71 mm -3.47 cm 0 eV 65.9 keV 14 um 14 um Lead eIoni + 0 -3.6 cm -1.85 mm -2.67 cm 174 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.6 cm -1.84 mm -2.67 cm 0 eV 174 keV 66.4 um 66.4 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 547, Parent ID = 501 +* G4Track Information: Particle = e-, Track ID = 552, Parent ID = 549 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.29 cm 2.89 mm -3.45 cm 7.57 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -1.26 cm 2.76 mm -3.48 cm 7.04 MeV 526 keV 516 um 516 um Lead msc - 2 -1.22 cm 2.78 mm -3.51 cm 6.51 MeV 539 keV 516 um 1.03 mm Lead msc - 3 -1.18 cm 2.64 mm -3.52 cm 6.01 MeV 495 keV 516 um 1.55 mm Lead msc - 4 -1.16 cm 2.48 mm -3.52 cm 5.25 MeV 248 keV 277 um 1.82 mm Lead eBrem - 5 -1.11 cm 2.59 mm -3.55 cm 4.58 MeV 674 keV 720 um 2.54 mm Lead msc - 6 -1.11 cm 2.61 mm -3.55 cm 3.5 MeV 30.5 keV 24.5 um 2.57 mm Lead eBrem - 7 -1.12 cm 2.73 mm -3.56 cm 1.39 MeV 202 keV 218 um 2.79 mm Lead eBrem - 8 -1.13 cm 2.78 mm -3.56 cm 0 eV 1.39 MeV 1.07 mm 3.85 mm Lead eIoni + 0 -3.65 cm -1.93 mm -2.61 cm 249 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.65 cm -1.92 mm -2.61 cm 0 eV 249 keV 115 um 115 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 558, Parent ID = 547 +* G4Track Information: Particle = e-, Track ID = 547, Parent ID = 534 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.12 cm 2.73 mm -3.56 cm 1.91 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -1.21 cm 4.22 mm -3.63 cm 0 eV 88 keV 1.88 mm 1.88 mm Lead phot + 0 -4.09 cm -4.3 mm -2.98 cm 57.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.09 cm -4.3 mm -2.98 cm 0 eV 57.1 keV 11.1 um 11.1 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 559, Parent ID = 558 +* G4Track Information: Particle = gamma, Track ID = 533, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.21 cm 4.22 mm -3.63 cm 1.82 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -1.21 cm 4.19 mm -3.66 cm 343 keV 1.48 MeV 1.33 mm 1.33 mm Lead eIoni - 2 -1.21 cm 4.18 mm -3.66 cm 0 eV 343 keV 182 um 1.52 mm Lead eIoni + 0 -5.52 cm -2.25 mm -1.44 cm 1.17 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.34 cm -2.32 mm -1.61 cm 766 keV 0 eV 2.49 mm 2.49 mm Lead compt + 2 -5 cm 247 um -1.77 cm 766 keV 0 eV 4.54 mm 7.04 mm Lead Transportation + 3 -4.5 cm 4.04 mm -2 cm 766 keV 0 eV 6.71 mm 1.37 cm liquidArgon Transportation + 4 -4.44 cm 4.51 mm -2.03 cm 354 keV 0 eV 829 um 1.46 cm Lead compt + 5 -4.05 cm 2.68 mm -1.81 cm 0 eV 88 keV 4.86 mm 1.94 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 557, Parent ID = 547 +* G4Track Information: Particle = e-, Track ID = 556, Parent ID = 533 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.11 cm 2.61 mm -3.55 cm 1.04 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -1.32 cm 1.07 mm -3.81 cm 275 keV 0 eV 3.7 mm 3.7 mm Lead compt - 2 -1.5 cm 3.51 mm -3.63 cm 0 eV 88 keV 3.57 mm 7.27 mm Lead phot + 0 -4.05 cm 2.68 mm -1.81 cm 266 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.05 cm 2.67 mm -1.81 cm 0 eV 266 keV 127 um 127 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 561, Parent ID = 557 +* G4Track Information: Particle = e-, Track ID = 555, Parent ID = 533 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.5 cm 3.51 mm -3.63 cm 187 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.5 cm 3.52 mm -3.63 cm 177 keV 9.47 keV 4.03 um 4.03 um Lead msc - 2 -1.5 cm 3.52 mm -3.63 cm 171 keV 5.79 keV 4.03 um 8.05 um Lead msc - 3 -1.5 cm 3.52 mm -3.63 cm 171 keV 750 eV 4.03 um 12.1 um Lead msc - 4 -1.5 cm 3.52 mm -3.63 cm 168 keV 2.17 keV 4.03 um 16.1 um Lead msc - 5 -1.5 cm 3.52 mm -3.63 cm 156 keV 12.2 keV 4.03 um 20.1 um Lead msc - 6 -1.5 cm 3.53 mm -3.63 cm 154 keV 1.97 keV 4.03 um 24.2 um Lead msc - 7 -1.5 cm 3.53 mm -3.63 cm 147 keV 7.61 keV 4.03 um 28.2 um Lead msc - 8 -1.5 cm 3.53 mm -3.63 cm 138 keV 8.81 keV 4.03 um 32.2 um Lead msc - 9 -1.5 cm 3.53 mm -3.63 cm 135 keV 3.13 keV 4.03 um 36.2 um Lead msc - 10 -1.5 cm 3.53 mm -3.63 cm 122 keV 12.9 keV 4.03 um 40.3 um Lead msc - 11 -1.5 cm 3.53 mm -3.63 cm 114 keV 7.75 keV 4.03 um 44.3 um Lead msc - 12 -1.5 cm 3.53 mm -3.63 cm 112 keV 1.51 keV 4.03 um 48.3 um Lead msc - 13 -1.5 cm 3.53 mm -3.63 cm 88.4 keV 24.1 keV 4.03 um 52.4 um Lead msc - 14 -1.5 cm 3.53 mm -3.63 cm 75.5 keV 12.9 keV 4.03 um 56.4 um Lead msc - 15 -1.5 cm 3.53 mm -3.63 cm 64.1 keV 11.4 keV 4.03 um 60.4 um Lead msc - 16 -1.5 cm 3.53 mm -3.63 cm 53 keV 11.1 keV 4.03 um 64.4 um Lead msc - 17 -1.5 cm 3.53 mm -3.63 cm 0 eV 53 keV 9.85 um 74.3 um Lead eIoni + 0 -4.44 cm 4.51 mm -2.03 cm 411 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.44 cm 4.52 mm -2.03 cm 0 eV 411 keV 236 um 236 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 560, Parent ID = 557 +* G4Track Information: Particle = e-, Track ID = 554, Parent ID = 533 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.32 cm 1.07 mm -3.81 cm 770 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.32 cm 1.05 mm -3.82 cm 0 eV 770 keV 535 um 535 um Lead eIoni + 0 -5.34 cm -2.32 mm -1.61 cm 403 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.34 cm -2.33 mm -1.61 cm 0 eV 403 keV 230 um 230 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 556, Parent ID = 547 +* G4Track Information: Particle = gamma, Track ID = 532, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.16 cm 2.48 mm -3.52 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5 mm 2.11 mm -3.33 cm 511 keV 0 eV 6.88 mm 6.88 mm Lead Transportation - 2 -0.000134 fm 1.83 mm -3.18 cm 511 keV 0 eV 5.23 mm 1.21 cm liquidArgon Transportation - 3 1.22 mm 1.76 mm -3.14 cm 0 eV 88 keV 1.28 mm 1.34 cm Lead phot + 0 -5.53 cm -2.24 mm -1.43 cm 2.78 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.41 cm -2.46 mm -1.54 cm 0 eV 0 eV 1.63 mm 1.63 mm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 562, Parent ID = 556 +* G4Track Information: Particle = e+, Track ID = 558, Parent ID = 532 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.22 mm 1.76 mm -3.14 cm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 1.23 mm 1.75 mm -3.14 cm 0 eV 423 keV 245 um 245 um Lead eIoni + 0 -5.41 cm -2.46 mm -1.54 cm 1.09 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.41 cm -2.49 mm -1.55 cm 0 eV 1.09 MeV 829 um 829 um Lead eIoni + 2 -5.41 cm -2.49 mm -1.55 cm 0 eV 0 eV 0 fm 829 um Lead annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 500, Parent ID = 159 +* G4Track Information: Particle = gamma, Track ID = 560, Parent ID = 558 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.8 cm -507 um -1.17 cm 437 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.63 cm -243 um -1.23 cm 0 eV 88 keV 1.76 mm 1.76 mm Lead phot + 0 -5.41 cm -2.49 mm -1.55 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.37 cm -3.39 mm -1.57 cm 372 keV 0 eV 978 um 978 um Lead compt + 2 -5.43 cm -4.42 mm -1.65 cm 0 eV 88 keV 1.44 mm 2.42 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 563, Parent ID = 500 +* G4Track Information: Particle = e-, Track ID = 562, Parent ID = 560 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.63 cm -243 um -1.23 cm 349 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.63 cm -237 um -1.23 cm 0 eV 349 keV 186 um 186 um Lead eIoni + 0 -5.43 cm -4.42 mm -1.65 cm 284 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.43 cm -4.43 mm -1.65 cm 0 eV 284 keV 140 um 140 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 499, Parent ID = 159 +* G4Track Information: Particle = e-, Track ID = 561, Parent ID = 560 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.82 cm -525 um -1.17 cm 14.4 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm -110 um -1.39 cm 14.4 MeV 0 eV 8.47 mm 8.47 mm Lead Transportation - 2 -4.5 cm 144 um -1.52 cm 14.4 MeV 0 eV 5.18 mm 1.37 cm liquidArgon Transportation - 3 -4.45 cm 171 um -1.54 cm 2.58 MeV 0 eV 553 um 1.42 cm Lead compt - 4 -3.76 cm -3.8 mm -1.95 cm 303 keV 0 eV 8.95 mm 2.32 cm Lead compt - 5 -4.01 cm -4.79 mm -1.99 cm 0 eV 88 keV 2.69 mm 2.58 cm Lead phot + 0 -5.37 cm -3.39 mm -1.57 cm 139 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.37 cm -3.39 mm -1.57 cm 0 eV 139 keV 46.5 um 46.5 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 566, Parent ID = 499 +* G4Track Information: Particle = gamma, Track ID = 559, Parent ID = 558 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.01 cm -4.79 mm -1.99 cm 215 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.01 cm -4.79 mm -1.99 cm 0 eV 215 keV 91.6 um 91.6 um Lead eIoni + 0 -5.41 cm -2.49 mm -1.55 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.69 cm 5.19 mm -1.4 cm 373 keV 0 eV 8.33 mm 8.33 mm Lead compt + 2 -5.79 cm 5.75 mm -1.45 cm 0 eV 88 keV 1.22 mm 9.55 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 565, Parent ID = 499 +* G4Track Information: Particle = e-, Track ID = 564, Parent ID = 559 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.76 cm -3.8 mm -1.95 cm 2.27 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -3.73 cm -3.59 mm -1.96 cm 1.42 MeV 687 keV 685 um 685 um Lead eBrem - 2 -3.71 cm -3.68 mm -1.96 cm 217 keV 1.2 MeV 991 um 1.68 mm Lead eBrem - 3 -3.71 cm -3.69 mm -1.96 cm 0 eV 217 keV 92.9 um 1.77 mm Lead eIoni + 0 -5.79 cm 5.75 mm -1.45 cm 285 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.79 cm 5.75 mm -1.45 cm 0 eV 285 keV 140 um 140 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 563, Parent ID = 559 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.69 cm 5.19 mm -1.4 cm 138 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.69 cm 5.19 mm -1.4 cm 0 eV 138 keV 46.4 um 46.4 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 557, Parent ID = 532 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.41 cm -2.46 mm -1.54 cm 665 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.4 cm -2.46 mm -1.54 cm 0 eV 665 keV 448 um 448 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 531, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.53 cm -2.24 mm -1.43 cm 8.99 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -3.13 mm -1.85 cm 8.99 MeV 0 eV 6.76 mm 6.76 mm Lead Transportation + 2 -4.5 cm -3.96 mm -2.24 cm 8.99 MeV 0 eV 6.42 mm 1.32 cm liquidArgon Transportation + 3 -3.5 cm -5.64 mm -3.03 cm 8.99 MeV 0 eV 1.28 cm 2.6 cm Lead Transportation + 4 -3.32 cm -5.94 mm -3.17 cm 335 keV 0 eV 2.31 mm 2.83 cm liquidArgon compt + 5 -3.5 cm -1.95 cm -1.41 cm 335 keV 0 eV 2.22 cm 5.06 cm liquidArgon Transportation + 6 -3.52 cm -2.11 cm -1.2 cm 0 eV 88 keV 2.75 mm 5.33 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 566, Parent ID = 531 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.52 cm -2.11 cm -1.2 cm 247 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.52 cm -2.11 cm -1.2 cm 0 eV 247 keV 113 um 113 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 565, Parent ID = 531 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.32 cm -5.94 mm -3.17 cm 8.65 MeV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -3.14 cm -5.92 mm -3.3 cm 8.15 MeV 496 keV 2.23 mm 2.23 mm liquidArgon eBrem + 2 -3 cm -5.74 mm -3.41 cm 7.84 MeV 304 keV 1.82 mm 4.04 mm liquidArgon Transportation + 3 -2.98 cm -5.77 mm -3.43 cm 7.41 MeV 434 keV 303 um 4.35 mm Lead msc + 4 -2.99 cm -5.77 mm -3.45 cm 7.01 MeV 292 keV 220 um 4.57 mm Lead eBrem + 5 -3 cm -5.79 mm -3.46 cm 6.85 MeV 167 keV 196 um 4.76 mm Lead Transportation + 6 -3.45 cm -5.87 mm -4.16 cm 5.3 MeV 1.54 MeV 8.88 mm 1.36 cm liquidArgon eIoni + 7 -3.5 cm -5.16 mm -4.62 cm 4.43 MeV 873 keV 5.09 mm 1.87 cm liquidArgon Transportation + 8 -3.51 cm -5.2 mm -4.63 cm 4.25 MeV 181 keV 145 um 1.89 cm Lead msc + 9 -3.51 cm -5.27 mm -4.65 cm 4.08 MeV 166 keV 145 um 1.9 cm Lead msc + 10 -3.51 cm -5.32 mm -4.66 cm 3.92 MeV 166 keV 145 um 1.92 cm Lead msc + 11 -3.52 cm -5.43 mm -4.66 cm 3.76 MeV 154 keV 145 um 1.93 cm Lead msc + 12 -3.52 cm -5.53 mm -4.67 cm 3.5 MeV 260 keV 145 um 1.95 cm Lead msc + 13 -3.52 cm -5.63 mm -4.68 cm 3.31 MeV 192 keV 145 um 1.96 cm Lead msc + 14 -3.51 cm -5.66 mm -4.68 cm 2.37 MeV 30.3 keV 43.6 um 1.97 cm Lead eBrem + 15 -3.51 cm -5.77 mm -4.68 cm 2.22 MeV 150 keV 145 um 1.98 cm Lead msc + 16 -3.51 cm -5.83 mm -4.7 cm 2.08 MeV 135 keV 145 um 1.99 cm Lead msc + 17 -3.51 cm -5.85 mm -4.7 cm 1.62 MeV 85.5 keV 95.8 um 2 cm Lead eBrem + 18 -3.5 cm -5.81 mm -4.71 cm 1.49 MeV 126 keV 145 um 2.02 cm Lead msc + 19 -3.5 cm -5.8 mm -4.71 cm 1.45 MeV 38.4 keV 39.7 um 2.02 cm Lead Transportation + 20 -3.45 cm -5.87 mm -4.71 cm 1.23 MeV 218 keV 468 um 2.07 cm liquidArgon msc + 21 -3.43 cm -6.02 mm -4.67 cm 1.16 MeV 72.3 keV 468 um 2.12 cm liquidArgon msc + 22 -3.39 cm -6.04 mm -4.65 cm 1.09 MeV 74.4 keV 468 um 2.16 cm liquidArgon msc + 23 -3.38 cm -6.03 mm -4.61 cm 1.02 MeV 63.5 keV 468 um 2.21 cm liquidArgon msc + 24 -3.35 cm -6.03 mm -4.57 cm 925 keV 98.4 keV 468 um 2.26 cm liquidArgon msc + 25 -3.31 cm -5.86 mm -4.59 cm 852 keV 72.7 keV 468 um 2.3 cm liquidArgon msc + 26 -3.29 cm -5.89 mm -4.62 cm 775 keV 76.8 keV 468 um 2.35 cm liquidArgon msc + 27 -3.26 cm -5.83 mm -4.66 cm 709 keV 66.4 keV 468 um 2.4 cm liquidArgon msc + 28 -3.22 cm -5.7 mm -4.66 cm 590 keV 119 keV 469 um 2.44 cm liquidArgon msc + 29 -3.17 cm -5.58 mm -4.66 cm 500 keV 90.5 keV 550 um 2.5 cm liquidArgon msc + 30 -3.15 cm -5.8 mm -4.63 cm 405 keV 94.7 keV 468 um 2.55 cm liquidArgon msc + 31 -3.14 cm -5.8 mm -4.59 cm 313 keV 91.9 keV 468 um 2.59 cm liquidArgon msc + 32 -3.14 cm -6.05 mm -4.59 cm 0 eV 313 keV 905 um 2.68 cm liquidArgon eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 570, Parent ID = 565 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.51 cm -5.85 mm -4.7 cm 380 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm -5.88 mm -4.71 cm 380 keV 0 eV 125 um 125 um Lead Transportation + 2 -3 cm -7.39 mm -4.77 cm 380 keV 0 eV 5.26 mm 5.38 mm liquidArgon Transportation + 3 -2.95 cm -7.53 mm -4.77 cm 0 eV 88 keV 483 um 5.87 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 571, Parent ID = 570 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.95 cm -7.53 mm -4.77 cm 292 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.95 cm -7.52 mm -4.77 cm 0 eV 292 keV 145 um 145 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 569, Parent ID = 565 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.51 cm -5.66 mm -4.68 cm 914 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm -5.95 mm -4.67 cm 914 keV 0 eV 323 um 323 um Lead Transportation + 2 -3 cm -1.71 cm -4.47 cm 914 keV 0 eV 1.24 cm 1.27 cm liquidArgon Transportation + 3 -2.15 cm -3.6 cm -4.13 cm 268 keV 0 eV 2.1 cm 3.37 cm Lead compt + 4 -2.14 cm -3.59 cm -4.14 cm 0 eV 88 keV 223 um 3.4 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 573, Parent ID = 569 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.14 cm -3.59 cm -4.14 cm 180 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.14 cm -3.59 cm -4.14 cm 0 eV 180 keV 69.9 um 69.9 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 572, Parent ID = 569 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.15 cm -3.6 cm -4.13 cm 647 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.15 cm -3.61 cm -4.13 cm 0 eV 647 keV 433 um 433 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 568, Parent ID = 565 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.99 cm -5.77 mm -3.45 cm 103 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3 cm -5.79 mm -3.46 cm 0 eV 88 keV 105 um 105 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 574, Parent ID = 568 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3 cm -5.79 mm -3.46 cm 15.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3 cm -5.79 mm -3.46 cm 0 eV 15.1 keV 1.31 um 1.31 um Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 567, Parent ID = 565 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.73 cm -3.59 mm -1.96 cm 169 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.6 cm -3.55 mm -1.78 cm 0 eV 88 keV 2.22 mm 2.22 mm Lead phot + 0 -3.14 cm -5.92 mm -3.3 cm 10.7 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -3.11 cm -5.86 mm -3.32 cm 0 eV 3.21 keV 427 um 427 um liquidArgon phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 568, Parent ID = 567 +* G4Track Information: Particle = e-, Track ID = 575, Parent ID = 567 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.6 cm -3.55 mm -1.78 cm 81.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.6 cm -3.55 mm -1.78 cm 0 eV 81.2 keV 19.7 um 19.7 um Lead eIoni + 0 -3.11 cm -5.86 mm -3.32 cm 7.53 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -3.11 cm -5.86 mm -3.32 cm 0 eV 7.53 keV 1.77 um 1.77 um liquidArgon eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 564, Parent ID = 499 +* G4Track Information: Particle = gamma, Track ID = 530, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.45 cm 171 um -1.54 cm 11.8 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.42 cm 162 um -1.55 cm 11.5 MeV 290 keV 306 um 306 um Lead msc - 2 -4.39 cm 108 um -1.56 cm 11.1 MeV 388 keV 306 um 613 um Lead msc - 3 -4.38 cm 113 um -1.58 cm 8.28 MeV 206 keV 174 um 787 um Lead eIoni - 4 -4.36 cm 127 um -1.59 cm 7.48 MeV 233 keV 248 um 1.03 mm Lead eBrem - 5 -4.34 cm 193 um -1.61 cm 7.15 MeV 330 keV 306 um 1.34 mm Lead msc - 6 -4.32 cm 358 um -1.62 cm 6.87 MeV 277 keV 306 um 1.65 mm Lead msc - 7 -4.31 cm 613 um -1.63 cm 6.52 MeV 347 keV 306 um 1.95 mm Lead msc - 8 -4.3 cm 682 um -1.64 cm 6.19 MeV 193 keV 172 um 2.13 mm Lead eBrem - 9 -4.27 cm 940 um -1.64 cm 5.77 MeV 415 keV 411 um 2.54 mm Lead msc - 10 -4.27 cm 944 um -1.64 cm 5.64 MeV 19.2 keV 15.9 um 2.55 mm Lead eBrem - 11 -4.23 cm 1.16 mm -1.63 cm 5.05 MeV 590 keV 560 um 3.11 mm Lead msc - 12 -4.19 cm 1.43 mm -1.64 cm 4.39 MeV 667 keV 560 um 3.67 mm Lead msc - 13 -4.17 cm 1.41 mm -1.64 cm 3.56 MeV 261 keV 232 um 3.91 mm Lead eBrem - 14 -4.16 cm 968 um -1.66 cm 2.9 MeV 666 keV 696 um 4.6 mm Lead msc - 15 -4.18 cm 710 um -1.68 cm 2.04 MeV 750 keV 576 um 5.18 mm Lead eBrem - 16 -4.18 cm 714 um -1.7 cm 1.53 MeV 278 keV 242 um 5.42 mm Lead eBrem - 17 -4.18 cm 579 um -1.72 cm 556 keV 457 keV 367 um 5.79 mm Lead eBrem - 18 -4.18 cm 560 um -1.72 cm 0 eV 556 keV 353 um 6.14 mm Lead eIoni + 0 -5.54 cm -2.23 mm -1.42 cm 5.12 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.04 cm -3.04 mm -1.9 cm 2.25 MeV 0 eV 6.94 mm 6.94 mm Lead compt + 2 -5 cm -2.82 mm -2.01 cm 2.25 MeV 0 eV 1.17 mm 8.11 mm Lead Transportation + 3 -4.5 cm -307 um -3.21 cm 2.25 MeV 0 eV 1.33 cm 2.14 cm liquidArgon Transportation + 4 -4.33 cm 545 um -3.62 cm 513 keV 0 eV 4.51 mm 2.59 cm Lead compt + 5 -4.45 cm -954 um -3.76 cm 0 eV 88 keV 2.37 mm 2.83 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 576, Parent ID = 564 +* G4Track Information: Particle = e-, Track ID = 578, Parent ID = 530 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.18 cm 579 um -1.72 cm 514 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.25 cm -841 um -1.71 cm 0 eV 88 keV 1.59 mm 1.59 mm Lead phot + 0 -4.45 cm -954 um -3.76 cm 425 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.45 cm -968 um -3.76 cm 0 eV 425 keV 248 um 248 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 577, Parent ID = 576 +* G4Track Information: Particle = e-, Track ID = 577, Parent ID = 530 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.25 cm -841 um -1.71 cm 426 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.25 cm -857 um -1.71 cm 0 eV 426 keV 247 um 247 um Lead eIoni + 0 -4.33 cm 545 um -3.62 cm 1.74 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.3 cm 538 um -3.61 cm 392 keV 1 MeV 812 um 812 um Lead eBrem + 2 -4.3 cm 539 um -3.61 cm 0 eV 392 keV 221 um 1.03 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 575, Parent ID = 564 +* G4Track Information: Particle = gamma, Track ID = 579, Parent ID = 577 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.18 cm 714 um -1.7 cm 234 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.2 cm 679 um -1.72 cm 0 eV 88 keV 321 um 321 um Lead phot + 0 -4.3 cm 538 um -3.61 cm 346 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.36 cm 987 um -3.41 cm 0 eV 88 keV 2.15 mm 2.15 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 578, Parent ID = 575 +* G4Track Information: Particle = e-, Track ID = 580, Parent ID = 579 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.2 cm 679 um -1.72 cm 146 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.2 cm 680 um -1.72 cm 0 eV 146 keV 50.4 um 50.4 um Lead eIoni + 0 -4.36 cm 987 um -3.41 cm 258 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.36 cm 986 um -3.41 cm 0 eV 258 keV 121 um 121 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 574, Parent ID = 564 +* G4Track Information: Particle = e-, Track ID = 576, Parent ID = 530 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.18 cm 710 um -1.68 cm 108 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.18 cm 704 um -1.69 cm 0 eV 88 keV 46.4 um 46.4 um Lead phot + 0 -5.04 cm -3.04 mm -1.9 cm 2.87 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.03 cm -3.02 mm -1.9 cm 2.56 MeV 126 keV 130 um 130 um Lead eBrem + 2 -5.03 cm -3.06 mm -1.91 cm 2.45 MeV 112 keV 93.5 um 224 um Lead msc + 3 -5.02 cm -3.04 mm -1.92 cm 2.3 MeV 148 keV 93.5 um 318 um Lead msc + 4 -5.02 cm -3.03 mm -1.92 cm 2.19 MeV 106 keV 93.5 um 411 um Lead msc + 5 -5.01 cm -3 mm -1.93 cm 2.1 MeV 94.2 keV 93.5 um 505 um Lead msc + 6 -5.01 cm -2.94 mm -1.93 cm 2 MeV 92.7 keV 93.5 um 598 um Lead msc + 7 -5.02 cm -2.91 mm -1.93 cm 1.88 MeV 129 keV 93.5 um 692 um Lead msc + 8 -5.02 cm -2.9 mm -1.93 cm 1.52 MeV 14 keV 15 um 707 um Lead eBrem + 9 -5.02 cm -2.9 mm -1.93 cm 1.19 MeV 77.9 keV 76.8 um 783 um Lead eBrem + 10 -5.02 cm -2.94 mm -1.93 cm 1.13 MeV 64.9 keV 93.5 um 877 um Lead msc + 11 -5.02 cm -2.98 mm -1.93 cm 1.02 MeV 102 keV 93.5 um 971 um Lead msc + 12 -5.01 cm -2.97 mm -1.94 cm 916 keV 109 keV 93.5 um 1.06 mm Lead msc + 13 -5.01 cm -2.99 mm -1.94 cm 830 keV 86.1 keV 93.5 um 1.16 mm Lead msc + 14 -5.01 cm -3.05 mm -1.94 cm 617 keV 213 keV 93.5 um 1.25 mm Lead msc + 15 -5.01 cm -3.07 mm -1.94 cm 524 keV 93.3 keV 93.5 um 1.34 mm Lead msc + 16 -5.01 cm -3.03 mm -1.95 cm 427 keV 97.3 keV 93.5 um 1.44 mm Lead msc + 17 -5.01 cm -3.01 mm -1.95 cm 163 keV 264 keV 93.5 um 1.53 mm Lead msc + 18 -5.01 cm -3.01 mm -1.95 cm 0 eV 163 keV 60 um 1.59 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 579, Parent ID = 574 +* G4Track Information: Particle = gamma, Track ID = 583, Parent ID = 576 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.18 cm 704 um -1.69 cm 19.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.18 cm 704 um -1.69 cm 0 eV 19.6 keV 1.96 um 1.96 um Lead eIoni + 0 -5.02 cm -2.9 mm -1.93 cm 248 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.1 cm -6.57 mm -1.72 cm 0 eV 88 keV 4.28 mm 4.28 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 573, Parent ID = 564 +* G4Track Information: Particle = e-, Track ID = 584, Parent ID = 583 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.17 cm 1.41 mm -1.64 cm 561 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.02 cm 574 um -1.62 cm 337 keV 0 eV 1.72 mm 1.72 mm Lead compt - 2 -3.92 cm 200 um -1.2 cm 253 keV 0 eV 4.29 mm 6.01 mm Lead compt - 3 -3.76 cm -301 um -1.16 cm 137 keV 0 eV 1.73 mm 7.74 mm Lead compt - 4 -3.77 cm 42.7 um -1.16 cm 0 eV 88 keV 387 um 8.12 mm Lead phot + 0 -5.1 cm -6.57 mm -1.72 cm 160 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.1 cm -6.57 mm -1.72 cm 0 eV 160 keV 58.2 um 58.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 583, Parent ID = 573 +* G4Track Information: Particle = gamma, Track ID = 582, Parent ID = 576 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.77 cm 42.7 um -1.16 cm 49.4 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.77 cm 43.1 um -1.16 cm 0 eV 49.4 keV 8.75 um 8.75 um Lead eIoni + 0 -5.02 cm -2.9 mm -1.93 cm 344 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.14 cm -2.48 mm -1.87 cm 0 eV 88 keV 1.49 mm 1.49 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 582, Parent ID = 573 +* G4Track Information: Particle = e-, Track ID = 585, Parent ID = 582 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.76 cm -301 um -1.16 cm 116 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.76 cm -302 um -1.16 cm 0 eV 116 keV 34.8 um 34.8 um Lead eIoni + 0 -5.14 cm -2.48 mm -1.87 cm 256 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.14 cm -2.47 mm -1.87 cm 0 eV 256 keV 119 um 119 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 581, Parent ID = 573 +* G4Track Information: Particle = gamma, Track ID = 581, Parent ID = 576 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.92 cm 200 um -1.2 cm 83.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.92 cm 200 um -1.2 cm 0 eV 83.8 keV 20.7 um 20.7 um Lead eIoni + 0 -5.03 cm -3.02 mm -1.9 cm 185 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -3.04 mm -1.91 cm 185 keV 0 eV 329 um 329 um Lead Transportation + 2 -4.5 cm -3.4 mm -1.94 cm 185 keV 0 eV 5.02 mm 5.35 mm liquidArgon Transportation + 3 -4.47 cm -3.42 mm -1.94 cm 0 eV 88 keV 285 um 5.64 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 580, Parent ID = 573 +* G4Track Information: Particle = e-, Track ID = 586, Parent ID = 581 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.02 cm 574 um -1.62 cm 225 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.02 cm 571 um -1.62 cm 0 eV 225 keV 98 um 98 um Lead eIoni + 0 -4.47 cm -3.42 mm -1.94 cm 96.6 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.47 cm -3.43 mm -1.94 cm 0 eV 96.6 keV 26.2 um 26.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 572, Parent ID = 564 +* G4Track Information: Particle = gamma, Track ID = 529, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.27 cm 944 um -1.64 cm 111 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.26 cm 989 um -1.65 cm 0 eV 88 keV 193 um 193 um Lead phot + 0 -5.58 cm -2.12 mm -1.39 cm 170 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.58 cm -2.13 mm -1.39 cm 0 eV 88 keV 17.4 um 17.4 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 584, Parent ID = 572 +* G4Track Information: Particle = e-, Track ID = 587, Parent ID = 529 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.26 cm 989 um -1.65 cm 23 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.26 cm 989 um -1.65 cm 0 eV 23 keV 2.54 um 2.54 um Lead eIoni + 0 -5.58 cm -2.13 mm -1.39 cm 81.7 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.58 cm -2.12 mm -1.39 cm 0 eV 81.7 keV 20 um 20 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 571, Parent ID = 564 +* G4Track Information: Particle = gamma, Track ID = 528, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.3 cm 682 um -1.64 cm 141 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.26 cm 766 um -1.65 cm 0 eV 88 keV 440 um 440 um Lead phot + 0 -5.61 cm -2.02 mm -1.37 cm 393 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.1 cm -3.95 mm -1.8 cm 0 eV 88 keV 6.9 mm 6.9 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 585, Parent ID = 571 +* G4Track Information: Particle = e-, Track ID = 588, Parent ID = 528 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.26 cm 766 um -1.65 cm 52.7 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.26 cm 767 um -1.65 cm 0 eV 52.7 keV 9.75 um 9.75 um Lead eIoni + 0 -5.1 cm -3.95 mm -1.8 cm 305 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.1 cm -3.95 mm -1.8 cm 0 eV 305 keV 155 um 155 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 570, Parent ID = 564 +* G4Track Information: Particle = gamma, Track ID = 527, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.36 cm 127 um -1.59 cm 570 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.27 cm 75.6 um -1.65 cm 212 keV 0 eV 1.12 mm 1.12 mm Lead compt - 2 -4.28 cm 30 um -1.66 cm 0 eV 88 keV 121 um 1.24 mm Lead phot + 0 -5.63 cm -1.93 mm -1.35 cm 4.2 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -4.4 mm -1.89 cm 4.2 MeV 0 eV 8.67 mm 8.67 mm Lead Transportation + 2 -4.5 cm -6.37 mm -2.32 cm 4.2 MeV 0 eV 6.91 mm 1.56 cm liquidArgon Transportation + 3 -3.95 cm -8.54 mm -2.8 cm 930 keV 0 eV 7.59 mm 2.32 cm Lead compt + 4 -3.62 cm -2.67 mm -3.73 cm 727 keV 0 eV 1.15 cm 3.47 cm Lead compt + 5 -3.5 cm -620 um -3.83 cm 727 keV 0 eV 2.56 mm 3.72 cm Lead Transportation + 6 -3 cm 7.97 mm -4.23 cm 727 keV 0 eV 1.07 cm 4.79 cm liquidArgon Transportation + 7 -3 cm 8.01 mm -4.23 cm 0 eV 88 keV 50.2 um 4.8 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 587, Parent ID = 570 +* G4Track Information: Particle = e-, Track ID = 591, Parent ID = 527 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.28 cm 30 um -1.66 cm 124 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.28 cm 28.4 um -1.66 cm 0 eV 124 keV 38.8 um 38.8 um Lead eIoni + 0 -3 cm 8.01 mm -4.23 cm 639 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3 cm 8.03 mm -4.23 cm 624 keV 15.5 keV 17.1 um 17.1 um Lead msc + 2 -3 cm 8.04 mm -4.23 cm 612 keV 12.1 keV 17.1 um 34.1 um Lead msc + 3 -3 cm 8.05 mm -4.23 cm 591 keV 20.7 keV 17.1 um 51.2 um Lead msc + 4 -3 cm 8.06 mm -4.23 cm 575 keV 16 keV 17.1 um 68.2 um Lead msc + 5 -2.99 cm 8.07 mm -4.23 cm 559 keV 15.6 keV 17.1 um 85.3 um Lead msc + 6 -2.99 cm 8.08 mm -4.23 cm 549 keV 10.7 keV 17.1 um 102 um Lead msc + 7 -2.99 cm 8.08 mm -4.23 cm 536 keV 12.7 keV 17.1 um 119 um Lead msc + 8 -2.99 cm 8.07 mm -4.23 cm 520 keV 16 keV 17.1 um 136 um Lead msc + 9 -2.99 cm 8.06 mm -4.23 cm 506 keV 14 keV 17.1 um 154 um Lead msc + 10 -2.99 cm 8.06 mm -4.23 cm 489 keV 17 keV 18.4 um 172 um Lead msc + 11 -2.99 cm 8.06 mm -4.23 cm 477 keV 11.7 keV 17.1 um 189 um Lead msc + 12 -2.99 cm 8.04 mm -4.23 cm 465 keV 12.3 keV 18.6 um 208 um Lead msc + 13 -2.99 cm 8.04 mm -4.23 cm 437 keV 27.7 keV 21.7 um 229 um Lead msc + 14 -2.99 cm 8.03 mm -4.23 cm 431 keV 6 keV 22.3 um 252 um Lead msc + 15 -2.99 cm 8.03 mm -4.23 cm 417 keV 13.9 keV 17.6 um 269 um Lead msc + 16 -2.99 cm 8.04 mm -4.23 cm 392 keV 25 keV 17.4 um 287 um Lead msc + 17 -2.99 cm 8.04 mm -4.23 cm 380 keV 12.9 keV 17.1 um 304 um Lead msc + 18 -3 cm 8.04 mm -4.23 cm 369 keV 10.5 keV 17.1 um 321 um Lead msc + 19 -3 cm 8.05 mm -4.23 cm 343 keV 26.5 keV 17.1 um 338 um Lead msc + 20 -3 cm 8.04 mm -4.23 cm 327 keV 15 keV 17.1 um 355 um Lead msc + 21 -3 cm 8.05 mm -4.24 cm 308 keV 19 keV 17.1 um 372 um Lead msc + 22 -3 cm 8.04 mm -4.24 cm 286 keV 22.8 keV 17.1 um 389 um Lead msc + 23 -3 cm 8.03 mm -4.24 cm 261 keV 24.4 keV 17.1 um 406 um Lead msc + 24 -3 cm 8.03 mm -4.24 cm 236 keV 25.1 keV 17.1 um 423 um Lead msc + 25 -3 cm 8.04 mm -4.24 cm 219 keV 17.6 keV 17.1 um 440 um Lead msc + 26 -3 cm 8.03 mm -4.24 cm 195 keV 23.8 keV 17.1 um 457 um Lead msc + 27 -3 cm 8.02 mm -4.24 cm 183 keV 12 keV 17.1 um 474 um Lead msc + 28 -3 cm 8.02 mm -4.24 cm 165 keV 17.3 keV 17.1 um 491 um Lead msc + 29 -3 cm 8.02 mm -4.24 cm 138 keV 27.2 keV 17.1 um 508 um Lead msc + 30 -3 cm 8.02 mm -4.24 cm 127 keV 11.4 keV 3.57 um 512 um Lead Transportation + 31 -3 cm 8.02 mm -4.24 cm 124 keV 2.76 keV 8.74 um 521 um liquidArgon msc + 32 -3 cm 8.02 mm -4.24 cm 118 keV 5.95 keV 8.74 um 529 um liquidArgon msc + 33 -3 cm 8.03 mm -4.24 cm 115 keV 3.04 keV 8.74 um 538 um liquidArgon msc + 34 -3 cm 8.03 mm -4.24 cm 112 keV 3.21 keV 8.74 um 547 um liquidArgon msc + 35 -3 cm 8.03 mm -4.24 cm 109 keV 3 keV 8.74 um 556 um liquidArgon msc + 36 -3 cm 8.03 mm -4.24 cm 105 keV 3.82 keV 8.74 um 564 um liquidArgon msc + 37 -3 cm 8.03 mm -4.24 cm 102 keV 2.92 keV 8.74 um 573 um liquidArgon msc + 38 -3 cm 8.04 mm -4.24 cm 100 keV 1.97 keV 9.04 um 582 um liquidArgon msc + 39 -3 cm 8.04 mm -4.24 cm 96.9 keV 3.24 keV 8.86 um 591 um liquidArgon msc + 40 -3 cm 8.05 mm -4.24 cm 87.2 keV 9.69 keV 9.58 um 601 um liquidArgon msc + 41 -3 cm 8.06 mm -4.25 cm 80.1 keV 7.11 keV 10.2 um 611 um liquidArgon msc + 42 -3 cm 8.06 mm -4.25 cm 69.5 keV 10.5 keV 9.88 um 621 um liquidArgon msc + 43 -3 cm 8.07 mm -4.25 cm 63.2 keV 6.33 keV 9.52 um 630 um liquidArgon msc + 44 -3 cm 8.07 mm -4.25 cm 58.8 keV 4.44 keV 10.7 um 641 um liquidArgon msc + 45 -3 cm 8.08 mm -4.25 cm 49.7 keV 9 keV 9.5 um 650 um liquidArgon msc + 46 -3 cm 8.09 mm -4.25 cm 43.7 keV 6.04 keV 9.55 um 660 um liquidArgon msc + 47 -3 cm 8.09 mm -4.25 cm 38.6 keV 5.08 keV 9.41 um 669 um liquidArgon msc + 48 -3 cm 8.09 mm -4.25 cm 29.8 keV 8.8 keV 8.74 um 678 um liquidArgon msc + 49 -3 cm 8.1 mm -4.25 cm 0 eV 29.8 keV 18.6 um 697 um liquidArgon eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 586, Parent ID = 570 +* G4Track Information: Particle = e-, Track ID = 590, Parent ID = 527 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.27 cm 75.6 um -1.65 cm 358 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.27 cm 76.6 um -1.65 cm 0 eV 358 keV 194 um 194 um Lead eIoni + 0 -3.62 cm -2.67 mm -3.73 cm 202 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.62 cm -2.67 mm -3.73 cm 0 eV 202 keV 83.8 um 83.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 569, Parent ID = 564 +* G4Track Information: Particle = e-, Track ID = 589, Parent ID = 527 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.38 cm 113 um -1.58 cm 2.61 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.38 cm 270 um -1.59 cm 2.37 MeV 249 keV 291 um 291 um Lead msc - 2 -4.38 cm 473 um -1.6 cm 2.1 MeV 261 keV 291 um 582 um Lead msc - 3 -4.4 cm 592 um -1.6 cm 670 keV 1.43 MeV 291 um 872 um Lead msc - 4 -4.4 cm 607 um -1.61 cm 0 eV 670 keV 450 um 1.32 mm Lead eIoni + 0 -3.95 cm -8.54 mm -2.8 cm 3.27 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.94 cm -8.63 mm -2.82 cm 2.49 MeV 287 keV 319 um 319 um Lead eBrem + 2 -3.97 cm -8.76 mm -2.84 cm 1.84 MeV 530 keV 570 um 890 um Lead eBrem + 3 -3.96 cm -8.43 mm -2.84 cm 308 keV 1.53 MeV 1.22 mm 2.11 mm Lead eBrem + 4 -3.96 cm -8.44 mm -2.84 cm 0 eV 308 keV 157 um 2.27 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 498, Parent ID = 159 +* G4Track Information: Particle = gamma, Track ID = 593, Parent ID = 589 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.87 cm -529 um -1.15 cm 364 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.82 cm -485 um -1.17 cm 278 keV 0 eV 532 um 532 um Lead compt - 2 -5.7 cm -1.62 mm -1.12 cm 0 eV 88 keV 1.74 mm 2.27 mm Lead phot + 0 -3.97 cm -8.76 mm -2.84 cm 119 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.97 cm -8.76 mm -2.85 cm 0 eV 88 keV 13.6 um 13.6 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 589, Parent ID = 498 +* G4Track Information: Particle = e-, Track ID = 594, Parent ID = 593 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.7 cm -1.62 mm -1.12 cm 190 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.7 cm -1.63 mm -1.12 cm 0 eV 190 keV 75.7 um 75.7 um Lead eIoni + 0 -3.97 cm -8.76 mm -2.85 cm 31.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.97 cm -8.76 mm -2.85 cm 0 eV 31.1 keV 4.13 um 4.13 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 588, Parent ID = 498 +* G4Track Information: Particle = gamma, Track ID = 592, Parent ID = 589 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.82 cm -485 um -1.17 cm 86.3 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.82 cm -484 um -1.17 cm 0 eV 86.3 keV 21.8 um 21.8 um Lead eIoni + 0 -3.94 cm -8.63 mm -2.82 cm 494 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.94 cm -1.49 cm -3.55 cm 199 keV 0 eV 9.6 mm 9.6 mm Lead compt + 2 -3.86 cm -1.49 cm -3.47 cm 0 eV 88 keV 1.13 mm 1.07 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 497, Parent ID = 159 +* G4Track Information: Particle = e-, Track ID = 596, Parent ID = 592 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.92 cm -543 um -1.14 cm 1.52 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.4 cm -302 um -1.32 cm 825 keV 0 eV 5.54 mm 5.54 mm Lead compt - 2 -5 cm 3.41 mm -1.32 cm 825 keV 0 eV 5.46 mm 1.1 cm Lead Transportation - 3 -4.5 cm 8.04 mm -1.32 cm 825 keV 0 eV 6.82 mm 1.78 cm liquidArgon Transportation - 4 -4.3 cm 9.87 mm -1.31 cm 284 keV 0 eV 2.7 mm 2.05 cm Lead compt - 5 -4.3 cm 9.78 mm -1.28 cm 0 eV 88 keV 308 um 2.08 cm Lead phot + 0 -3.86 cm -1.49 cm -3.47 cm 111 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.86 cm -1.49 cm -3.47 cm 0 eV 111 keV 32.6 um 32.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 592, Parent ID = 497 +* G4Track Information: Particle = e-, Track ID = 595, Parent ID = 592 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.3 cm 9.78 mm -1.28 cm 196 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.3 cm 9.78 mm -1.28 cm 0 eV 196 keV 79.4 um 79.4 um Lead eIoni + 0 -3.94 cm -1.49 cm -3.55 cm 296 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.94 cm -1.49 cm -3.55 cm 0 eV 296 keV 148 um 148 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 591, Parent ID = 497 +* G4Track Information: Particle = gamma, Track ID = 526, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.3 cm 9.87 mm -1.31 cm 541 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.3 cm 9.89 mm -1.31 cm 0 eV 541 keV 340 um 340 um Lead eIoni + 0 -5.64 cm -1.87 mm -1.33 cm 19.8 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -5.13 mm -1.91 cm 19.8 MeV 0 eV 9.18 mm 9.18 mm Lead Transportation + 2 -4.5 cm -7.67 mm -2.35 cm 19.8 MeV 0 eV 7.17 mm 1.64 cm liquidArgon Transportation + 3 -4.43 cm -8.01 mm -2.41 cm 0 eV 0 eV 943 um 1.73 cm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 590, Parent ID = 497 +* G4Track Information: Particle = e+, Track ID = 598, Parent ID = 526 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.4 cm -302 um -1.32 cm 694 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.4 cm -317 um -1.33 cm 0 eV 694 keV 470 um 470 um Lead eIoni + 0 -4.43 cm -8.01 mm -2.41 cm 8.52 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.43 cm -8.03 mm -2.42 cm 8.17 MeV 139 keV 92.9 um 92.9 um Lead eBrem + 2 -4.41 cm -8.17 mm -2.43 cm 7.13 MeV 267 keV 264 um 357 um Lead eBrem + 3 -4.38 cm -8.36 mm -2.43 cm 6.66 MeV 468 keV 393 um 750 um Lead msc + 4 -4.35 cm -8.54 mm -2.42 cm 5.72 MeV 947 keV 393 um 1.14 mm Lead msc + 5 -4.33 cm -8.71 mm -2.39 cm 4.76 MeV 417 keV 392 um 1.53 mm Lead eBrem + 6 -4.32 cm -8.96 mm -2.37 cm 4.2 MeV 565 keV 393 um 1.93 mm Lead msc + 7 -4.33 cm -9.17 mm -2.34 cm 3.85 MeV 346 keV 393 um 2.32 mm Lead msc + 8 -4.33 cm -9.52 mm -2.34 cm 3.35 MeV 501 keV 393 um 2.71 mm Lead msc + 9 -4.33 cm -9.46 mm -2.38 cm 2.99 MeV 358 keV 393 um 3.11 mm Lead msc + 10 -4.32 cm -9.59 mm -2.4 cm 2.78 MeV 216 keV 249 um 3.35 mm Lead eBrem + 11 -4.32 cm -9.62 mm -2.42 cm 1.91 MeV 262 keV 300 um 3.65 mm Lead eBrem + 12 -4.31 cm -9.88 mm -2.42 cm 1.51 MeV 392 keV 424 um 4.08 mm Lead msc + 13 -4.32 cm -9.96 mm -2.39 cm 228 keV 1.29 MeV 1.18 mm 5.26 mm Lead eIoni + 14 -4.32 cm -9.96 mm -2.39 cm 0 eV 228 keV 96.1 um 5.35 mm Lead eIoni + 15 -4.32 cm -9.96 mm -2.39 cm 0 eV 0 eV 0 fm 5.35 mm Lead annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 496, Parent ID = 159 +* G4Track Information: Particle = gamma, Track ID = 604, Parent ID = 598 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.93 cm -545 um -1.14 cm 10.5 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5 cm 174 um -1.5 cm 10.5 MeV 0 eV 9.98 mm 9.98 mm Lead Transportation - 2 -4.5 cm 563 um -1.7 cm 10.5 MeV 0 eV 5.39 mm 1.54 cm liquidArgon Transportation - 3 -3.5 cm 1.34 mm -2.1 cm 10.5 MeV 0 eV 1.08 cm 2.62 cm Lead Transportation - 4 -3 cm 1.73 mm -2.3 cm 10.5 MeV 0 eV 5.39 mm 3.16 cm liquidArgon Transportation - 5 -2.95 cm 1.77 mm -2.32 cm 0 eV 0 eV 524 um 3.21 cm Lead conv + 0 -4.32 cm -9.96 mm -2.39 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.68 cm -5.63 mm -2.32 cm 200 keV 0 eV 7.76 mm 7.76 mm Lead compt + 2 -3.88 cm -5.6 mm -2.14 cm 0 eV 88 keV 2.74 mm 1.05 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 594, Parent ID = 496 +* G4Track Information: Particle = e-, Track ID = 606, Parent ID = 604 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.95 cm 1.77 mm -2.32 cm 2.54 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2.95 cm 1.77 mm -2.32 cm 2.17 MeV 23.7 keV 17.2 um 17.2 um Lead eBrem - 2 -2.95 cm 1.83 mm -2.33 cm 2.02 MeV 150 keV 121 um 139 um Lead msc - 3 -2.94 cm 1.89 mm -2.33 cm 1.89 MeV 131 keV 121 um 260 um Lead msc - 4 -2.93 cm 1.96 mm -2.33 cm 1.77 MeV 119 keV 121 um 381 um Lead msc - 5 -2.93 cm 2.06 mm -2.33 cm 1.66 MeV 109 keV 121 um 503 um Lead msc - 6 -2.94 cm 2.12 mm -2.32 cm 1.52 MeV 143 keV 135 um 637 um Lead msc - 7 -2.94 cm 2.18 mm -2.32 cm 1.16 MeV 125 keV 107 um 744 um Lead eBrem - 8 -2.95 cm 2.26 mm -2.31 cm 1.05 MeV 113 keV 135 um 879 um Lead msc - 9 -2.96 cm 2.19 mm -2.31 cm 948 keV 105 keV 135 um 1.01 mm Lead msc - 10 -2.97 cm 2.2 mm -2.31 cm 819 keV 128 keV 135 um 1.15 mm Lead msc - 11 -2.96 cm 2.18 mm -2.3 cm 672 keV 147 keV 135 um 1.28 mm Lead msc - 12 -2.95 cm 2.15 mm -2.3 cm 553 keV 119 keV 135 um 1.42 mm Lead msc - 13 -2.95 cm 2.22 mm -2.3 cm 408 keV 145 keV 135 um 1.55 mm Lead msc - 14 -2.95 cm 2.22 mm -2.3 cm 0 eV 408 keV 228 um 1.78 mm Lead eIoni - 15 -2.95 cm 2.22 mm -2.3 cm 0 eV 0 eV 0 fm 1.78 mm Lead annihil + 0 -3.88 cm -5.6 mm -2.14 cm 112 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.88 cm -5.6 mm -2.14 cm 0 eV 112 keV 33.3 um 33.3 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 598, Parent ID = 594 +* G4Track Information: Particle = e-, Track ID = 605, Parent ID = 604 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.95 cm 2.22 mm -2.3 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3 cm 2.6 mm -2.38 cm 511 keV 0 eV 950 um 950 um Lead Transportation - 2 -3.5 cm 6.46 mm -3.13 cm 511 keV 0 eV 9.83 mm 1.08 cm liquidArgon Transportation - 3 -3.57 cm 7.04 mm -3.24 cm 320 keV 0 eV 1.46 mm 1.22 cm Lead compt - 4 -3.58 cm 7.77 mm -3.24 cm 0 eV 88 keV 730 um 1.3 cm Lead phot + 0 -3.68 cm -5.63 mm -2.32 cm 311 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.68 cm -5.63 mm -2.32 cm 0 eV 311 keV 159 um 159 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 600, Parent ID = 598 +* G4Track Information: Particle = gamma, Track ID = 603, Parent ID = 598 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.58 cm 7.77 mm -3.24 cm 232 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.58 cm 7.77 mm -3.24 cm 0 eV 232 keV 103 um 103 um Lead eIoni + 0 -4.32 cm -9.96 mm -2.39 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.5 cm -1.12 cm -2.41 cm 511 keV 0 eV 2.24 mm 2.24 mm Lead Transportation + 2 -4.94 cm -1.42 cm -2.46 cm 200 keV 0 eV 5.37 mm 7.61 mm liquidArgon compt + 3 -4.5 cm -1.48 cm -2.76 cm 200 keV 0 eV 5.4 mm 1.3 cm liquidArgon Transportation + 4 -4.47 cm -1.49 cm -2.79 cm 0 eV 88 keV 425 um 1.34 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 599, Parent ID = 598 +* G4Track Information: Particle = e-, Track ID = 608, Parent ID = 603 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.57 cm 7.04 mm -3.24 cm 191 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.57 cm 7.04 mm -3.24 cm 0 eV 191 keV 76.3 um 76.3 um Lead eIoni + 0 -4.47 cm -1.49 cm -2.79 cm 112 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.47 cm -1.49 cm -2.79 cm 0 eV 112 keV 33 um 33 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 597, Parent ID = 594 +* G4Track Information: Particle = e-, Track ID = 607, Parent ID = 603 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.95 cm 2.22 mm -2.3 cm 511 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2 cm -5.13 mm -8.71 mm 511 keV 0 eV 1.87 cm 1.87 cm Lead Transportation - 2 -1.5 cm -9 mm -1.18 mm 511 keV 0 eV 9.83 mm 2.85 cm liquidArgon Transportation - 3 -1.1 cm -1.21 cm 4.82 mm 0 eV 88 keV 7.83 mm 3.64 cm Lead phot + 0 -4.94 cm -1.42 cm -2.46 cm 311 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.95 cm -1.43 cm -2.45 cm 268 keV 43.6 keV 171 um 171 um liquidArgon msc + 2 -4.96 cm -1.43 cm -2.45 cm 244 keV 23.5 keV 109 um 280 um liquidArgon msc + 3 -4.96 cm -1.44 cm -2.45 cm 221 keV 23.5 keV 102 um 382 um liquidArgon msc + 4 -4.96 cm -1.45 cm -2.45 cm 201 keV 19.8 keV 78.7 um 461 um liquidArgon msc + 5 -4.97 cm -1.45 cm -2.45 cm 169 keV 31.4 keV 95.2 um 556 um liquidArgon msc + 6 -4.98 cm -1.45 cm -2.45 cm 146 keV 23.2 keV 78.9 um 635 um liquidArgon msc + 7 -4.98 cm -1.45 cm -2.45 cm 126 keV 20.3 keV 63.3 um 698 um liquidArgon msc + 8 -4.98 cm -1.46 cm -2.45 cm 112 keV 13.8 keV 48.5 um 747 um liquidArgon msc + 9 -4.98 cm -1.46 cm -2.44 cm 96 keV 16.2 keV 39.2 um 786 um liquidArgon msc + 10 -4.99 cm -1.46 cm -2.44 cm 83.3 keV 12.7 keV 40.3 um 826 um liquidArgon msc + 11 -4.99 cm -1.46 cm -2.44 cm 71.1 keV 12.2 keV 35.9 um 862 um liquidArgon msc + 12 -4.99 cm -1.46 cm -2.44 cm 0 eV 71.1 keV 82.8 um 945 um liquidArgon eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 601, Parent ID = 597 +* G4Track Information: Particle = gamma, Track ID = 602, Parent ID = 598 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.1 cm -1.21 cm 4.82 mm 423 keV 0 eV 0 fm 0 fm Lead initStep - 1 -1.1 cm -1.21 cm 4.82 mm 0 eV 423 keV 244 um 244 um Lead eIoni + 0 -4.32 cm -9.62 mm -2.42 cm 610 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.16 cm -1.06 cm -2.48 cm 233 keV 0 eV 1.98 mm 1.98 mm Lead compt + 2 -4.16 cm -1.06 cm -2.48 cm 0 eV 88 keV 102 um 2.08 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 596, Parent ID = 594 +* G4Track Information: Particle = e-, Track ID = 610, Parent ID = 602 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.94 cm 2.18 mm -2.32 cm 228 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3 cm 3.73 mm -2.38 cm 228 keV 0 eV 1.76 mm 1.76 mm Lead Transportation - 2 -3.41 cm 1.49 cm -2.81 cm 193 keV 0 eV 1.26 cm 1.44 cm liquidArgon compt - 3 -3.5 cm 1.52 cm -2.82 cm 193 keV 0 eV 985 um 1.54 cm liquidArgon Transportation - 4 -3.64 cm 1.56 cm -2.85 cm 0 eV 88 keV 1.49 mm 1.69 cm Lead phot + 0 -4.16 cm -1.06 cm -2.48 cm 145 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.16 cm -1.07 cm -2.48 cm 0 eV 145 keV 50 um 50 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 603, Parent ID = 596 +* G4Track Information: Particle = e-, Track ID = 609, Parent ID = 602 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.64 cm 1.56 cm -2.85 cm 105 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.64 cm 1.56 cm -2.85 cm 0 eV 105 keV 29.9 um 29.9 um Lead eIoni + 0 -4.16 cm -1.06 cm -2.48 cm 377 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.16 cm -1.06 cm -2.48 cm 0 eV 377 keV 209 um 209 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 602, Parent ID = 596 +* G4Track Information: Particle = gamma, Track ID = 601, Parent ID = 598 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.41 cm 1.49 cm -2.81 cm 34.7 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -3.41 cm 1.49 cm -2.81 cm 0 eV 34.7 keV 24.1 um 24.1 um liquidArgon eIoni + 0 -4.33 cm -8.71 mm -2.39 cm 535 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.33 cm -1.13 cm -1.92 cm 285 keV 0 eV 5.35 mm 5.35 mm Lead compt + 2 -3.69 cm -8.58 mm -1.64 cm 142 keV 0 eV 7.45 mm 1.28 cm Lead compt + 3 -3.7 cm -8.71 mm -1.64 cm 0 eV 88 keV 156 um 1.3 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 595, Parent ID = 594 +* G4Track Information: Particle = e-, Track ID = 613, Parent ID = 601 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.95 cm 1.77 mm -2.32 cm 344 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.9 cm 2.43 mm -2.4 cm 153 keV 0 eV 1.14 mm 1.14 mm Lead compt - 2 -2.9 cm 2.41 mm -2.38 cm 0 eV 88 keV 155 um 1.3 mm Lead phot + 0 -3.7 cm -8.71 mm -1.64 cm 54.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.7 cm -8.71 mm -1.64 cm 0 eV 54.1 keV 10.2 um 10.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 605, Parent ID = 595 +* G4Track Information: Particle = e-, Track ID = 612, Parent ID = 601 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.9 cm 2.41 mm -2.38 cm 64.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.9 cm 2.41 mm -2.38 cm 0 eV 64.6 keV 13.6 um 13.6 um Lead eIoni + 0 -3.69 cm -8.58 mm -1.64 cm 143 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.69 cm -8.58 mm -1.64 cm 0 eV 143 keV 48.8 um 48.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 604, Parent ID = 595 +* G4Track Information: Particle = e-, Track ID = 611, Parent ID = 601 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.9 cm 2.43 mm -2.4 cm 191 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.9 cm 2.43 mm -2.4 cm 0 eV 191 keV 76.6 um 76.6 um Lead eIoni + 0 -4.33 cm -1.13 cm -1.92 cm 250 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.33 cm -1.13 cm -1.92 cm 0 eV 250 keV 115 um 115 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 593, Parent ID = 496 +* G4Track Information: Particle = gamma, Track ID = 600, Parent ID = 598 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.95 cm 1.77 mm -2.32 cm 6.91 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -2.94 cm 1.74 mm -2.32 cm 6.82 MeV 91.6 keV 121 um 121 um Lead msc - 2 -2.93 cm 1.73 mm -2.32 cm 6.71 MeV 111 keV 121 um 243 um Lead msc - 3 -2.92 cm 1.69 mm -2.32 cm 6.45 MeV 262 keV 121 um 364 um Lead msc - 4 -2.91 cm 1.62 mm -2.32 cm 6.29 MeV 153 keV 142 um 507 um Lead msc - 5 -2.9 cm 1.5 mm -2.32 cm 5.39 MeV 206 keV 162 um 668 um Lead eBrem - 6 -2.88 cm 1.39 mm -2.32 cm 5.24 MeV 150 keV 184 um 852 um Lead msc - 7 -2.87 cm 1.34 mm -2.33 cm 5.04 MeV 199 keV 202 um 1.05 mm Lead msc - 8 -2.85 cm 1.34 mm -2.35 cm 4.79 MeV 256 keV 229 um 1.28 mm Lead msc - 9 -2.84 cm 1.28 mm -2.36 cm 4.52 MeV 268 keV 255 um 1.54 mm Lead msc - 10 -2.84 cm 1.29 mm -2.39 cm 4.22 MeV 298 keV 289 um 1.83 mm Lead msc - 11 -2.87 cm 1.24 mm -2.38 cm 3.91 MeV 312 keV 319 um 2.15 mm Lead msc - 12 -2.88 cm 1.27 mm -2.38 cm 3.37 MeV 187 keV 163 um 2.31 mm Lead eBrem - 13 -2.9 cm 1.45 mm -2.4 cm 3.03 MeV 332 keV 319 um 2.63 mm Lead msc - 14 -2.92 cm 1.49 mm -2.41 cm 2.72 MeV 314 keV 319 um 2.95 mm Lead msc - 15 -2.94 cm 1.35 mm -2.41 cm 2.32 MeV 406 keV 319 um 3.27 mm Lead msc - 16 -2.96 cm 1.42 mm -2.41 cm 1.9 MeV 413 keV 319 um 3.59 mm Lead msc - 17 -2.97 cm 1.57 mm -2.4 cm 1.6 MeV 299 keV 319 um 3.91 mm Lead msc - 18 -2.97 cm 1.48 mm -2.38 cm 1.25 MeV 356 keV 319 um 4.22 mm Lead msc - 19 -2.96 cm 1.42 mm -2.38 cm 752 keV 251 keV 222 um 4.45 mm Lead eBrem - 20 -2.96 cm 1.44 mm -2.37 cm 390 keV 362 keV 319 um 4.77 mm Lead msc - 21 -2.96 cm 1.45 mm -2.37 cm 0 eV 390 keV 218 um 4.98 mm Lead eIoni + 0 -4.41 cm -8.17 mm -2.43 cm 771 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.01 cm -9.87 mm -2.52 cm 705 keV 0 eV 4.38 mm 4.38 mm Lead compt + 2 -3.5 cm -1.48 cm -2.74 cm 705 keV 0 eV 7.44 mm 1.18 cm Lead Transportation + 3 -3 cm -1.95 cm -2.96 cm 705 keV 0 eV 7.23 mm 1.9 cm liquidArgon Transportation + 4 -2.16 cm -2.75 cm -3.32 cm 558 keV 0 eV 1.22 cm 3.12 cm Lead compt + 5 -2.07 cm -2.88 cm -3.53 cm 0 eV 88 keV 2.65 mm 3.39 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 608, Parent ID = 593 +* G4Track Information: Particle = e-, Track ID = 616, Parent ID = 600 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.96 cm 1.42 mm -2.38 cm 245 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.98 cm -1.24 mm -2.73 cm 0 eV 88 keV 4.39 mm 4.39 mm Lead phot + 0 -2.07 cm -2.88 cm -3.53 cm 470 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.07 cm -2.88 cm -3.53 cm 0 eV 470 keV 284 um 284 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 609, Parent ID = 608 +* G4Track Information: Particle = e-, Track ID = 615, Parent ID = 600 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.98 cm -1.24 mm -2.73 cm 157 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.98 cm -1.24 mm -2.73 cm 0 eV 157 keV 56.1 um 56.1 um Lead eIoni + 0 -2.16 cm -2.75 cm -3.32 cm 147 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.16 cm -2.75 cm -3.32 cm 0 eV 147 keV 50.8 um 50.8 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 607, Parent ID = 593 +* G4Track Information: Particle = e-, Track ID = 614, Parent ID = 600 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.88 cm 1.27 mm -2.38 cm 356 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.91 cm 1.41 mm -2.39 cm 353 keV 0 eV 302 um 302 um Lead compt - 2 -3 cm 1.89 mm -2.41 cm 353 keV 0 eV 1.05 mm 1.35 mm Lead Transportation - 3 -3.5 cm 4.52 mm -2.52 cm 353 keV 0 eV 5.76 mm 7.11 mm liquidArgon Transportation - 4 -3.59 cm 5 mm -2.54 cm 0 eV 88 keV 1.03 mm 8.15 mm Lead phot + 0 -4.01 cm -9.87 mm -2.52 cm 66.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.01 cm -9.87 mm -2.52 cm 0 eV 66.4 keV 14.2 um 14.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 611, Parent ID = 607 +* G4Track Information: Particle = gamma, Track ID = 599, Parent ID = 598 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.59 cm 5 mm -2.54 cm 265 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.59 cm 4.99 mm -2.54 cm 0 eV 265 keV 126 um 126 um Lead eIoni + 0 -4.43 cm -8.03 mm -2.42 cm 217 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.38 cm -8.22 mm -2.43 cm 0 eV 88 keV 505 um 505 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 610, Parent ID = 607 +* G4Track Information: Particle = e-, Track ID = 617, Parent ID = 599 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.91 cm 1.41 mm -2.39 cm 2.73 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.91 cm 1.41 mm -2.39 cm 0 eV 2.73 keV 113 nm 113 nm Lead eIoni + 0 -4.38 cm -8.22 mm -2.43 cm 129 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.38 cm -8.22 mm -2.43 cm 0 eV 129 keV 41.3 um 41.3 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 606, Parent ID = 593 +* G4Track Information: Particle = e-, Track ID = 597, Parent ID = 526 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.9 cm 1.5 mm -2.32 cm 695 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.86 cm 1.04 mm -2.32 cm 450 keV 0 eV 575 um 575 um Lead compt - 2 -3 cm -3.97 mm -2.48 cm 450 keV 0 eV 5.42 mm 6 mm Lead Transportation - 3 -3.5 cm -2.22 cm -3.04 cm 450 keV 0 eV 1.97 cm 2.57 cm liquidArgon Transportation - 4 -3.58 cm -2.49 cm -3.13 cm 402 keV 0 eV 2.98 mm 2.87 cm Lead compt - 5 -3.56 cm -2.65 cm -3.11 cm 0 eV 88 keV 1.64 mm 3.03 cm Lead phot + 0 -4.43 cm -8.01 mm -2.41 cm 10.2 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.43 cm -8.02 mm -2.41 cm 9.5 MeV 33.1 keV 27.6 um 27.6 um Lead eBrem + 2 -4.42 cm -8.27 mm -2.45 cm 9 MeV 501 keV 481 um 509 um Lead msc + 3 -4.42 cm -8.31 mm -2.46 cm 8.56 MeV 68.9 keV 70.3 um 579 um Lead eBrem + 4 -4.4 cm -8.53 mm -2.49 cm 7.56 MeV 412 keV 470 um 1.05 mm Lead eBrem + 5 -4.37 cm -8.84 mm -2.49 cm 6.64 MeV 544 keV 453 um 1.5 mm Lead eBrem + 6 -4.33 cm -9.06 mm -2.49 cm 6.15 MeV 494 keV 481 um 1.98 mm Lead msc + 7 -4.31 cm -9.42 mm -2.49 cm 5.63 MeV 516 keV 481 um 2.46 mm Lead msc + 8 -4.28 cm -9.56 mm -2.47 cm 4.99 MeV 641 keV 481 um 2.94 mm Lead msc + 9 -4.25 cm -9.66 mm -2.44 cm 4.28 MeV 712 keV 481 um 3.43 mm Lead msc + 10 -4.22 cm -9.77 mm -2.42 cm 3.52 MeV 332 keV 356 um 3.78 mm Lead eBrem + 11 -4.22 cm -1.01 cm -2.44 cm 885 keV 407 keV 452 um 4.23 mm Lead eBrem + 12 -4.23 cm -1.01 cm -2.44 cm 251 keV 269 keV 202 um 4.44 mm Lead eBrem + 13 -4.23 cm -1.01 cm -2.44 cm 0 eV 251 keV 116 um 4.55 mm Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 614, Parent ID = 606 +* G4Track Information: Particle = gamma, Track ID = 624, Parent ID = 597 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.56 cm -2.65 cm -3.11 cm 314 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.56 cm -2.65 cm -3.11 cm 0 eV 314 keV 160 um 160 um Lead eIoni + 0 -4.23 cm -1.01 cm -2.44 cm 365 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.46 cm -1.08 cm -2.46 cm 0 eV 88 keV 2.43 mm 2.43 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 613, Parent ID = 606 +* G4Track Information: Particle = e-, Track ID = 625, Parent ID = 624 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.58 cm -2.49 cm -3.13 cm 47.6 keV 0 eV 0 fm 0 fm Lead initStep - 1 -3.58 cm -2.49 cm -3.13 cm 0 eV 47.6 keV 8.26 um 8.26 um Lead eIoni + 0 -4.46 cm -1.08 cm -2.46 cm 277 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.46 cm -1.08 cm -2.46 cm 0 eV 277 keV 134 um 134 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 612, Parent ID = 606 +* G4Track Information: Particle = gamma, Track ID = 623, Parent ID = 597 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.86 cm 1.04 mm -2.32 cm 246 keV 0 eV 0 fm 0 fm Lead initStep - 1 -2.86 cm 1.04 mm -2.32 cm 0 eV 246 keV 112 um 112 um Lead eIoni + 0 -4.22 cm -1.01 cm -2.44 cm 2.23 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.5 cm -1.37 cm -2.29 cm 2.23 MeV 0 eV 4.77 mm 4.77 mm Lead Transportation + 2 -4.7 cm -1.64 cm -2.18 cm 677 keV 0 eV 3.51 mm 8.28 mm liquidArgon compt + 3 -4.5 cm -2.3 cm -2.34 cm 677 keV 0 eV 7.11 mm 1.54 cm liquidArgon Transportation + 4 -4.25 cm -3.13 cm -2.53 cm 502 keV 0 eV 8.85 mm 2.42 cm Lead compt + 5 -4 cm -3.49 cm -3.11 cm 369 keV 0 eV 7.29 mm 3.15 cm Lead compt + 6 -3.92 cm -3.7 cm -3.12 cm 0 eV 88 keV 2.25 mm 3.38 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 495, Parent ID = 159 +* G4Track Information: Particle = e-, Track ID = 629, Parent ID = 623 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.95 cm -557 um -1.13 cm 482 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.87 cm -513 um -1.15 cm 322 keV 0 eV 775 um 775 um Lead compt - 2 -5.79 cm 205 um -1.09 cm 0 eV 88 keV 1.28 mm 2.06 mm Lead phot + 0 -3.92 cm -3.7 cm -3.12 cm 281 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.92 cm -3.7 cm -3.12 cm 0 eV 281 keV 137 um 137 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 616, Parent ID = 495 +* G4Track Information: Particle = e-, Track ID = 628, Parent ID = 623 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.79 cm 205 um -1.09 cm 234 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.79 cm 210 um -1.09 cm 0 eV 234 keV 104 um 104 um Lead eIoni + 0 -4 cm -3.49 cm -3.11 cm 133 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4 cm -3.49 cm -3.11 cm 0 eV 133 keV 43.6 um 43.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 615, Parent ID = 495 +* G4Track Information: Particle = e-, Track ID = 627, Parent ID = 623 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.87 cm -513 um -1.15 cm 159 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.87 cm -514 um -1.15 cm 0 eV 159 keV 57.6 um 57.6 um Lead eIoni + 0 -4.25 cm -3.13 cm -2.53 cm 175 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.25 cm -3.13 cm -2.53 cm 0 eV 175 keV 67 um 67 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 494, Parent ID = 159 +* G4Track Information: Particle = e-, Track ID = 626, Parent ID = 623 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.05 cm -593 um -1.09 cm 2.42 MeV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -6.01 cm -414 um -1.08 cm 2.26 MeV 72.6 keV 451 um 451 um liquidArgon eBrem - 2 -6 cm -372 um -1.07 cm 2.24 MeV 24.2 keV 145 um 596 um liquidArgon Transportation - 3 -6 cm -349 um -1.07 cm 2.21 MeV 21.8 keV 35.7 um 631 um Lead msc - 4 -6 cm -346 um -1.07 cm 2.19 MeV 21.9 keV 35.7 um 667 um Lead msc - 5 -6 cm -349 um -1.06 cm 2.17 MeV 25.8 keV 35.7 um 703 um Lead msc - 6 -5.99 cm -374 um -1.06 cm 2.13 MeV 34.8 keV 35.7 um 738 um Lead msc - 7 -5.99 cm -389 um -1.06 cm 2.09 MeV 37.7 keV 35.7 um 774 um Lead msc - 8 -5.99 cm -407 um -1.06 cm 2.07 MeV 28.4 keV 35.7 um 810 um Lead msc - 9 -5.99 cm -433 um -1.06 cm 2.02 MeV 40.9 keV 35.7 um 845 um Lead msc - 10 -5.99 cm -458 um -1.06 cm 2.01 MeV 17.3 keV 35.7 um 881 um Lead msc - 11 -5.98 cm -476 um -1.05 cm 1.97 MeV 36.5 keV 35.7 um 917 um Lead msc - 12 -5.98 cm -496 um -1.05 cm 1.94 MeV 29.3 keV 35.7 um 952 um Lead msc - 13 -5.98 cm -515 um -1.05 cm 1.89 MeV 49.7 keV 35.7 um 988 um Lead msc - 14 -5.98 cm -536 um -1.05 cm 1.85 MeV 41.5 keV 35.7 um 1.02 mm Lead msc - 15 -5.98 cm -549 um -1.05 cm 1.44 MeV 11 keV 17.9 um 1.04 mm Lead eBrem - 16 -5.98 cm -586 um -1.04 cm 1.37 MeV 67.1 keV 46.2 um 1.09 mm Lead msc - 17 -5.98 cm -620 um -1.04 cm 1.32 MeV 51.8 keV 46.2 um 1.13 mm Lead msc - 18 -5.98 cm -657 um -1.04 cm 1.28 MeV 44.2 keV 46.2 um 1.18 mm Lead msc - 19 -5.98 cm -639 um -1.05 cm 1.24 MeV 36.5 keV 46.2 um 1.23 mm Lead msc - 20 -5.98 cm -624 um -1.05 cm 1.21 MeV 27.4 keV 46.2 um 1.27 mm Lead msc - 21 -5.99 cm -631 um -1.04 cm 1.18 MeV 34.3 keV 46.2 um 1.32 mm Lead msc - 22 -5.99 cm -661 um -1.04 cm 1.13 MeV 47.5 keV 46.2 um 1.36 mm Lead msc - 23 -5.99 cm -649 um -1.05 cm 1.07 MeV 58.9 keV 46.2 um 1.41 mm Lead msc - 24 -5.99 cm -610 um -1.05 cm 960 keV 113 keV 46.2 um 1.46 mm Lead msc - 25 -5.99 cm -588 um -1.05 cm 929 keV 31.3 keV 46.2 um 1.5 mm Lead msc - 26 -5.99 cm -555 um -1.05 cm 907 keV 21.4 keV 46.2 um 1.55 mm Lead msc - 27 -5.98 cm -561 um -1.05 cm 860 keV 47.2 keV 46.2 um 1.6 mm Lead msc - 28 -5.98 cm -581 um -1.05 cm 820 keV 39.7 keV 46.2 um 1.64 mm Lead msc - 29 -5.98 cm -604 um -1.04 cm 777 keV 42.9 keV 46.2 um 1.69 mm Lead msc - 30 -5.98 cm -609 um -1.04 cm 658 keV 18.5 keV 12 um 1.7 mm Lead eBrem - 31 -5.98 cm -622 um -1.04 cm 594 keV 63.7 keV 51.6 um 1.75 mm Lead msc - 32 -5.98 cm -611 um -1.04 cm 523 keV 71 keV 51.6 um 1.8 mm Lead msc - 33 -5.98 cm -584 um -1.04 cm 480 keV 42.5 keV 51.6 um 1.86 mm Lead msc - 34 -5.98 cm -578 um -1.04 cm 420 keV 60 keV 51.6 um 1.91 mm Lead msc - 35 -5.98 cm -549 um -1.03 cm 370 keV 50 keV 51.6 um 1.96 mm Lead msc - 36 -5.98 cm -543 um -1.03 cm 0 eV 370 keV 203 um 2.16 mm Lead eIoni + 0 -4.7 cm -1.64 cm -2.18 cm 1.56 MeV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.75 cm -1.67 cm -2.17 cm 1.42 MeV 134 keV 607 um 607 um liquidArgon msc + 2 -4.79 cm -1.7 cm -2.18 cm 1.08 MeV 338 keV 541 um 1.15 mm liquidArgon msc + 3 -4.79 cm -1.75 cm -2.2 cm 992 keV 91.6 keV 552 um 1.7 mm liquidArgon msc + 4 -4.79 cm -1.8 cm -2.2 cm 919 keV 72.6 keV 541 um 2.24 mm liquidArgon msc + 5 -4.79 cm -1.82 cm -2.21 cm 768 keV 42 keV 200 um 2.44 mm liquidArgon eBrem + 6 -4.82 cm -1.85 cm -2.24 cm 655 keV 112 keV 548 um 2.99 mm liquidArgon msc + 7 -4.84 cm -1.87 cm -2.28 cm 575 keV 80.7 keV 541 um 3.53 mm liquidArgon msc + 8 -4.83 cm -1.9 cm -2.24 cm 375 keV 200 keV 541 um 4.07 mm liquidArgon msc + 9 -4.82 cm -1.88 cm -2.21 cm 278 keV 97 keV 541 um 4.61 mm liquidArgon msc + 10 -4.83 cm -1.87 cm -2.21 cm 0 eV 278 keV 756 um 5.37 mm liquidArgon eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 619, Parent ID = 494 +* G4Track Information: Particle = gamma, Track ID = 630, Parent ID = 626 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.98 cm -609 um -1.04 cm 101 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.98 cm -594 um -1.04 cm 0 eV 88 keV 67.1 um 67.1 um Lead phot + 0 -4.79 cm -1.82 cm -2.21 cm 109 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.98 cm -4.57 cm -5 cm 109 keV 0 eV 3.92 cm 3.92 cm liquidArgon Transportation + 2 -5.04 cm -5.56 cm -6 cm 109 keV 0 eV 1.41 cm 5.33 cm OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 620, Parent ID = 619 +* G4Track Information: Particle = gamma, Track ID = 622, Parent ID = 597 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.98 cm -594 um -1.04 cm 13.2 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.98 cm -594 um -1.04 cm 0 eV 13.2 keV 1.07 um 1.07 um Lead eIoni + 0 -4.22 cm -9.77 mm -2.42 cm 421 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.05 cm -1.2 cm -2.44 cm 215 keV 0 eV 2.77 mm 2.77 mm Lead compt + 2 -4.04 cm -1.19 cm -2.44 cm 0 eV 88 keV 160 um 2.93 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 618, Parent ID = 494 +* G4Track Information: Particle = e-, Track ID = 632, Parent ID = 622 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.98 cm -549 um -1.05 cm 399 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.81 cm -3.82 mm -1.09 cm 0 eV 88 keV 3.71 mm 3.71 mm Lead phot + 0 -4.04 cm -1.19 cm -2.44 cm 127 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.04 cm -1.19 cm -2.44 cm 0 eV 127 keV 40.4 um 40.4 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 621, Parent ID = 618 +* G4Track Information: Particle = e-, Track ID = 631, Parent ID = 622 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.81 cm -3.82 mm -1.09 cm 311 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.81 cm -3.83 mm -1.1 cm 0 eV 311 keV 158 um 158 um Lead eIoni + 0 -4.05 cm -1.2 cm -2.44 cm 206 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.05 cm -1.2 cm -2.44 cm 0 eV 206 keV 86.2 um 86.2 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 617, Parent ID = 494 +* G4Track Information: Particle = gamma, Track ID = 621, Parent ID = 597 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.01 cm -414 um -1.08 cm 90 keV 0 eV 0 fm 0 fm liquidArgon initStep - 1 -6 cm -504 um -1.07 cm 90 keV 0 eV 163 um 163 um liquidArgon Transportation - 2 -5.98 cm -656 um -1.06 cm 0 eV 88 keV 272 um 435 um Lead phot + 0 -4.37 cm -8.84 mm -2.49 cm 375 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm -2.03 cm -2.18 cm 375 keV 0 eV 1.47 cm 1.47 cm Lead Transportation + 2 -3 cm -2.69 cm -2.01 cm 375 keV 0 eV 8.44 mm 2.32 cm liquidArgon Transportation + 3 -2.92 cm -2.79 cm -1.98 cm 0 eV 88 keV 1.28 mm 2.44 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 622, Parent ID = 617 +* G4Track Information: Particle = e-, Track ID = 633, Parent ID = 621 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.98 cm -656 um -1.06 cm 1.95 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.98 cm -656 um -1.06 cm 0 eV 1.95 keV 70 nm 70 nm Lead eIoni + 0 -2.92 cm -2.79 cm -1.98 cm 287 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.92 cm -2.79 cm -1.98 cm 0 eV 287 keV 141 um 141 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 493, Parent ID = 159 +* G4Track Information: Particle = gamma, Track ID = 620, Parent ID = 597 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.54 cm -748 um -9.33 mm 2.23 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -715 um -9.45 mm 2.23 MeV 0 eV 384 um 384 um Lead Transportation - 2 -6 cm -262 um -1.12 cm 2.23 MeV 0 eV 5.31 mm 5.7 mm liquidArgon Transportation - 3 -5 cm 645 um -1.47 cm 2.23 MeV 0 eV 1.06 cm 1.63 cm Lead Transportation - 4 -4.5 cm 1.1 mm -1.64 cm 2.23 MeV 0 eV 5.31 mm 2.16 cm liquidArgon Transportation - 5 -3.5 cm 2.01 mm -1.99 cm 2.23 MeV 0 eV 1.06 cm 3.23 cm Lead Transportation - 6 -3 cm 2.46 mm -2.16 cm 2.23 MeV 0 eV 5.31 mm 3.76 cm liquidArgon Transportation - 7 -2 cm 3.37 mm -2.51 cm 2.23 MeV 0 eV 1.06 cm 4.82 cm Lead Transportation - 8 -1.5 cm 3.82 mm -2.68 cm 2.23 MeV 0 eV 5.31 mm 5.35 cm liquidArgon Transportation - 9 -5 mm 4.73 mm -3.03 cm 2.23 MeV 0 eV 1.06 cm 6.41 cm Lead Transportation - 10 2.47e-05 fm 5.18 mm -3.2 cm 2.23 MeV 0 eV 5.31 mm 6.94 cm liquidArgon Transportation - 11 1 cm 6.09 mm -3.55 cm 2.23 MeV 0 eV 1.06 cm 8.01 cm Lead Transportation - 12 1.5 cm 6.54 mm -3.72 cm 2.23 MeV 0 eV 5.31 mm 8.54 cm liquidArgon Transportation - 13 2.5 cm 7.45 mm -4.07 cm 2.23 MeV 0 eV 1.06 cm 9.6 cm Lead Transportation - 14 3 cm 7.9 mm -4.24 cm 2.23 MeV 0 eV 5.31 mm 10.1 cm liquidArgon Transportation - 15 4 cm 8.81 mm -4.59 cm 2.23 MeV 0 eV 1.06 cm 11.2 cm Lead Transportation - 16 4.5 cm 9.26 mm -4.76 cm 2.23 MeV 0 eV 5.31 mm 11.7 cm liquidArgon Transportation - 17 5.19 cm 9.88 mm -5 cm 2.23 MeV 0 eV 7.28 mm 12.5 cm Lead Transportation - 18 8.07 cm 1.25 cm -6 cm 2.23 MeV 0 eV 3.06 cm 15.5 cm OutOfWorld Transportation + 0 -4.4 cm -8.53 mm -2.49 cm 588 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.19 cm -1.19 cm -2.61 cm 0 eV 88 keV 4.12 mm 4.12 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 492, Parent ID = 159 +* G4Track Information: Particle = e-, Track ID = 634, Parent ID = 620 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.57 cm -781 um -9.21 mm 10.6 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -713 um -9.44 mm 10.6 MeV 0 eV 704 um 704 um Lead Transportation - 2 -6 cm -199 um -1.12 cm 10.6 MeV 0 eV 5.32 mm 6.02 mm liquidArgon Transportation - 3 -5 cm 829 um -1.46 cm 10.6 MeV 0 eV 1.06 cm 1.66 cm Lead Transportation - 4 -4.5 cm 1.34 mm -1.64 cm 10.6 MeV 0 eV 5.32 mm 2.2 cm liquidArgon Transportation - 5 -3.5 cm 2.37 mm -1.98 cm 10.6 MeV 0 eV 1.06 cm 3.26 cm Lead Transportation - 6 -3 cm 2.89 mm -2.15 cm 10.6 MeV 0 eV 5.32 mm 3.79 cm liquidArgon Transportation - 7 -2 cm 3.91 mm -2.5 cm 10.6 MeV 0 eV 1.06 cm 4.85 cm Lead Transportation - 8 -1.5 cm 4.43 mm -2.67 cm 10.6 MeV 0 eV 5.32 mm 5.39 cm liquidArgon Transportation - 9 -6.93 mm 5.26 mm -2.95 cm 7.78 MeV 0 eV 8.58 mm 6.24 cm Lead compt - 10 -5 mm 5.56 mm -2.98 cm 7.78 MeV 0 eV 1.98 mm 6.44 cm Lead Transportation - 11 0.000404 fm 6.33 mm -3.06 cm 7.78 MeV 0 eV 5.12 mm 6.95 cm liquidArgon Transportation - 12 1 cm 7.88 mm -3.21 cm 7.78 MeV 0 eV 1.02 cm 7.98 cm Lead Transportation - 13 1.5 cm 8.65 mm -3.29 cm 7.78 MeV 0 eV 5.12 mm 8.49 cm liquidArgon Transportation - 14 2.5 cm 1.02 cm -3.44 cm 7.78 MeV 0 eV 1.02 cm 9.51 cm Lead Transportation - 15 3 cm 1.1 cm -3.52 cm 7.78 MeV 0 eV 5.12 mm 10 cm liquidArgon Transportation - 16 4 cm 1.25 cm -3.68 cm 7.78 MeV 0 eV 1.02 cm 11 cm Lead Transportation - 17 4.5 cm 1.33 cm -3.75 cm 7.78 MeV 0 eV 5.12 mm 11.6 cm liquidArgon Transportation - 18 5.5 cm 1.48 cm -3.91 cm 7.78 MeV 0 eV 1.02 cm 12.6 cm Lead Transportation - 19 6 cm 1.56 cm -3.98 cm 7.78 MeV 0 eV 5.12 mm 13.1 cm liquidArgon Transportation - 20 6.14 cm 1.58 cm -4.01 cm 1.53 MeV 0 eV 1.41 mm 13.2 cm Lead compt - 21 7 cm 1.15 cm -3.73 cm 1.53 MeV 0 eV 1 cm 14.2 cm Lead Transportation - 22 7.5 cm 8.93 mm -3.57 cm 1.53 MeV 0 eV 5.83 mm 14.8 cm liquidArgon Transportation - 23 9 cm 1.33 mm -3.09 cm 1.53 MeV 0 eV 1.75 cm 16.6 cm OutOfWorld Transportation + 0 -4.19 cm -1.19 cm -2.61 cm 500 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.19 cm -1.19 cm -2.61 cm 0 eV 500 keV 309 um 309 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 624, Parent ID = 492 +* G4Track Information: Particle = gamma, Track ID = 619, Parent ID = 597 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.14 cm 1.58 cm -4.01 cm 6.25 MeV 0 eV 0 fm 0 fm Lead initStep - 1 6.16 cm 1.58 cm -4.02 cm 5.91 MeV 342 keV 344 um 344 um Lead msc - 2 6.19 cm 1.58 cm -4.03 cm 5.5 MeV 404 keV 344 um 689 um Lead msc - 3 6.21 cm 1.58 cm -4.03 cm 3.69 MeV 144 keV 151 um 839 um Lead eBrem - 4 6.24 cm 1.57 cm -4.05 cm 3.22 MeV 469 keV 441 um 1.28 mm Lead msc - 5 6.25 cm 1.54 cm -4.07 cm 2.77 MeV 445 keV 441 um 1.72 mm Lead msc - 6 6.25 cm 1.55 cm -4.07 cm 991 keV 53.7 keV 49.3 um 1.77 mm Lead eBrem - 7 6.26 cm 1.55 cm -4.07 cm 669 keV 162 keV 155 um 1.93 mm Lead eBrem - 8 6.26 cm 1.55 cm -4.07 cm 0 eV 669 keV 449 um 2.37 mm Lead eIoni + 0 -4.42 cm -8.31 mm -2.46 cm 375 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.39 cm -9.09 mm -2.52 cm 0 eV 88 keV 1.02 mm 1.02 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 627, Parent ID = 624 +* G4Track Information: Particle = e-, Track ID = 635, Parent ID = 619 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.26 cm 1.55 cm -4.07 cm 161 keV 0 eV 0 fm 0 fm Lead initStep - 1 6.28 cm 1.56 cm -4.07 cm 0 eV 88 keV 229 um 229 um Lead phot + 0 -4.39 cm -9.09 mm -2.52 cm 287 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.39 cm -9.1 mm -2.52 cm 0 eV 287 keV 141 um 141 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 628, Parent ID = 627 +* G4Track Information: Particle = gamma, Track ID = 618, Parent ID = 597 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.28 cm 1.56 cm -4.07 cm 72.8 keV 0 eV 0 fm 0 fm Lead initStep - 1 6.28 cm 1.56 cm -4.07 cm 0 eV 72.8 keV 16.5 um 16.5 um Lead eIoni + 0 -4.43 cm -8.02 mm -2.41 cm 693 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.93 cm -1.26 cm -3.12 cm 509 keV 0 eV 9.81 mm 9.81 mm Lead compt + 2 -3.98 cm -1.33 cm -4.46 cm 422 keV 0 eV 1.34 cm 2.32 cm Lead compt + 3 -3.75 cm -1.48 cm -4.81 cm 0 eV 88 keV 4.4 mm 2.76 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 626, Parent ID = 624 +* G4Track Information: Particle = e-, Track ID = 638, Parent ID = 618 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.25 cm 1.55 cm -4.07 cm 1.73 MeV 0 eV 0 fm 0 fm Lead initStep - 1 6.84 cm 2 cm -4.49 cm 295 keV 0 eV 8.54 mm 8.54 mm Lead compt - 2 6.84 cm 2 cm -4.49 cm 0 eV 88 keV 4.67 um 8.55 mm Lead phot + 0 -3.75 cm -1.48 cm -4.81 cm 334 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.75 cm -1.48 cm -4.81 cm 183 keV 151 keV 121 um 121 um Lead eBrem + 2 -3.75 cm -1.48 cm -4.81 cm 0 eV 183 keV 71.6 um 193 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 630, Parent ID = 626 +* G4Track Information: Particle = e-, Track ID = 637, Parent ID = 618 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.84 cm 2 cm -4.49 cm 207 keV 0 eV 0 fm 0 fm Lead initStep - 1 6.84 cm 2 cm -4.49 cm 0 eV 207 keV 86.3 um 86.3 um Lead eIoni + 0 -3.98 cm -1.33 cm -4.46 cm 86.9 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.98 cm -1.33 cm -4.46 cm 0 eV 86.9 keV 22 um 22 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 629, Parent ID = 626 +* G4Track Information: Particle = e-, Track ID = 636, Parent ID = 618 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.84 cm 2 cm -4.49 cm 1.43 MeV 0 eV 0 fm 0 fm Lead initStep - 1 6.86 cm 1.99 cm -4.5 cm 684 keV 611 keV 609 um 609 um Lead eBrem - 2 6.86 cm 1.98 cm -4.51 cm 0 eV 684 keV 462 um 1.07 mm Lead eIoni + 0 -3.93 cm -1.26 cm -3.12 cm 184 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.93 cm -1.26 cm -3.12 cm 0 eV 184 keV 72.6 um 72.6 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 631, Parent ID = 629 +* G4Track Information: Particle = gamma, Track ID = 525, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.86 cm 1.99 cm -4.5 cm 139 keV 0 eV 0 fm 0 fm Lead initStep - 1 6.83 cm 1.98 cm -4.54 cm 0 eV 88 keV 473 um 473 um Lead phot + 0 -5.68 cm -1.8 mm -1.31 cm 339 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.27 cm -2.8 mm -1.51 cm 0 eV 88 keV 4.67 mm 4.67 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 632, Parent ID = 631 +* G4Track Information: Particle = e-, Track ID = 639, Parent ID = 525 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.83 cm 1.98 cm -4.54 cm 51 keV 0 eV 0 fm 0 fm Lead initStep - 1 6.83 cm 1.98 cm -4.54 cm 0 eV 51 keV 9.22 um 9.22 um Lead eIoni + 0 -5.27 cm -2.8 mm -1.51 cm 251 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.27 cm -2.81 mm -1.51 cm 0 eV 251 keV 116 um 116 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 625, Parent ID = 624 +* G4Track Information: Particle = gamma, Track ID = 524, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.21 cm 1.58 cm -4.03 cm 1.67 MeV 0 eV 0 fm 0 fm Lead initStep - 1 7 cm 8.15 mm -3.82 cm 1.67 MeV 0 eV 1.12 cm 1.12 cm Lead Transportation - 2 7.5 cm 3.29 mm -3.69 cm 1.67 MeV 0 eV 7.1 mm 1.83 cm liquidArgon Transportation - 3 9 cm -1.13 cm -3.28 cm 1.67 MeV 0 eV 2.13 cm 3.97 cm OutOfWorld Transportation + 0 -5.68 cm -1.79 mm -1.31 cm 600 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.03 cm -3.23 mm -1.63 cm 413 keV 0 eV 7.4 mm 7.4 mm Lead compt + 2 -5 cm -3.5 mm -1.62 cm 413 keV 0 eV 419 um 7.82 mm Lead Transportation + 3 -4.5 cm -8.05 mm -1.4 cm 413 keV 0 eV 7.1 mm 1.49 cm liquidArgon Transportation + 4 -4.17 cm -1.1 cm -1.26 cm 0 eV 88 keV 4.66 mm 1.96 cm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 623, Parent ID = 492 +* G4Track Information: Particle = e-, Track ID = 641, Parent ID = 524 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.93 mm 5.26 mm -2.95 cm 2.79 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.73 mm 5.49 mm -2.96 cm 2.2 MeV 469 keV 472 um 472 um Lead eBrem - 2 -6.67 mm 5.77 mm -2.96 cm 1.68 MeV 519 keV 483 um 955 um Lead msc - 3 -6.93 mm 5.7 mm -2.97 cm 59.5 keV 1.62 MeV 946 um 1.9 mm Lead eBrem - 4 -6.93 mm 5.7 mm -2.97 cm 0 eV 59.5 keV 11.9 um 1.91 mm Lead eIoni + 0 -4.17 cm -1.1 cm -1.26 cm 325 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.17 cm -1.1 cm -1.26 cm 0 eV 325 keV 170 um 170 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 633, Parent ID = 623 +* G4Track Information: Particle = e-, Track ID = 640, Parent ID = 524 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.73 mm 5.49 mm -2.96 cm 127 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.69 mm 5.6 mm -2.96 cm 0 eV 88 keV 117 um 117 um Lead phot + 0 -5.03 cm -3.23 mm -1.63 cm 187 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.03 cm -3.23 mm -1.63 cm 0 eV 187 keV 74 um 74 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 634, Parent ID = 633 +* G4Track Information: Particle = gamma, Track ID = 523, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.69 mm 5.6 mm -2.96 cm 39.3 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.69 mm 5.6 mm -2.96 cm 0 eV 39.3 keV 6.02 um 6.02 um Lead eIoni + 0 -5.7 cm -1.75 mm -1.3 cm 13 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -3.23 mm -1.63 cm 13 MeV 0 eV 7.85 mm 7.85 mm Lead Transportation + 2 -4.5 cm -4.28 mm -1.86 cm 13 MeV 0 eV 5.61 mm 1.35 cm liquidArgon Transportation + 3 -3.5 cm -6.39 mm -2.32 cm 13 MeV 0 eV 1.12 cm 2.47 cm Lead Transportation + 4 -3 cm -7.45 mm -2.55 cm 13 MeV 0 eV 5.61 mm 3.03 cm liquidArgon Transportation + 5 -2.92 cm -7.62 mm -2.59 cm 0 eV 0 eV 920 um 3.12 cm Lead conv ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 491, Parent ID = 159 +* G4Track Information: Particle = e+, Track ID = 643, Parent ID = 523 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.58 cm -790 um -9.16 mm 247 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -720 um -9.46 mm 247 keV 0 eV 840 um 840 um Lead Transportation - 2 -6 cm -276 um -1.13 cm 247 keV 0 eV 5.36 mm 6.2 mm liquidArgon Transportation - 3 -5.87 cm -158 um -1.18 cm 0 eV 88 keV 1.42 mm 7.61 mm Lead phot + 0 -2.92 cm -7.62 mm -2.59 cm 11.6 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -2.87 cm -7.91 mm -2.61 cm 10.7 MeV 881 keV 600 um 600 um Lead msc + 2 -2.83 cm -7.72 mm -2.64 cm 10 MeV 734 keV 600 um 1.2 mm Lead msc + 3 -2.78 cm -7.87 mm -2.67 cm 8.56 MeV 1.45 MeV 600 um 1.8 mm Lead msc + 4 -2.77 cm -7.79 mm -2.72 cm 7.95 MeV 611 keV 600 um 2.4 mm Lead msc + 5 -2.77 cm -7.42 mm -2.77 cm 7.37 MeV 588 keV 600 um 3 mm Lead msc + 6 -2.81 cm -7.71 mm -2.79 cm 6.43 MeV 933 keV 600 um 3.6 mm Lead msc + 7 -2.84 cm -7.63 mm -2.78 cm 3.27 MeV 430 keV 321 um 3.92 mm Lead eBrem + 8 -2.87 cm -7.95 mm -2.78 cm 2.6 MeV 670 keV 600 um 4.52 mm Lead msc + 9 -2.84 cm -8.14 mm -2.76 cm 2 MeV 598 keV 600 um 5.12 mm Lead msc + 10 -2.84 cm -8.17 mm -2.76 cm 1.85 MeV 28.6 keV 27 um 5.15 mm Lead eBrem + 11 -2.81 cm -8.21 mm -2.73 cm 347 keV 1.51 MeV 1.37 mm 6.52 mm Lead eIoni + 12 -2.81 cm -8.21 mm -2.73 cm 0 eV 347 keV 181 um 6.7 mm Lead eIoni + 13 -2.81 cm -8.21 mm -2.73 cm 0 eV 0 eV 0 fm 6.7 mm Lead annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 635, Parent ID = 491 +* G4Track Information: Particle = gamma, Track ID = 647, Parent ID = 643 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.87 cm -158 um -1.18 cm 159 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.87 cm -161 um -1.18 cm 0 eV 159 keV 57.5 um 57.5 um Lead eIoni + 0 -2.81 cm -8.21 mm -2.73 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.82 cm -1.13 cm -2.39 cm 0 eV 88 keV 4.62 mm 4.62 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 490, Parent ID = 159 +* G4Track Information: Particle = e-, Track ID = 648, Parent ID = 647 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.6 cm -815 um -9.06 mm 3.01 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.5 cm -723 um -9.45 mm 3.01 MeV 0 eV 1.12 mm 1.12 mm Lead Transportation - 2 -6 cm -281 um -1.13 cm 3.01 MeV 0 eV 5.36 mm 6.47 mm liquidArgon Transportation - 3 -5 cm 604 um -1.51 cm 3.01 MeV 0 eV 1.07 cm 1.72 cm Lead Transportation - 4 -4.5 cm 1.05 mm -1.69 cm 3.01 MeV 0 eV 5.36 mm 2.25 cm liquidArgon Transportation - 5 -4.3 cm 1.23 mm -1.77 cm 608 keV 0 eV 2.18 mm 2.47 cm Lead compt - 6 -4.29 cm 1.3 mm -1.76 cm 438 keV 0 eV 156 um 2.49 cm Lead compt - 7 -4.11 cm 3.32 mm -1.78 cm 164 keV 0 eV 2.71 mm 2.76 cm Lead compt - 8 -4.13 cm 3.19 mm -1.77 cm 0 eV 88 keV 274 um 2.79 cm Lead phot + 0 -2.82 cm -1.13 cm -2.39 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.82 cm -1.13 cm -2.39 cm 51.2 keV 372 keV 226 um 226 um Lead eBrem + 2 -2.82 cm -1.13 cm -2.39 cm 0 eV 51.2 keV 9.31 um 235 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 639, Parent ID = 490 +* G4Track Information: Particle = gamma, Track ID = 646, Parent ID = 643 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.13 cm 3.19 mm -1.77 cm 76.3 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.13 cm 3.19 mm -1.77 cm 0 eV 76.3 keV 17.8 um 17.8 um Lead eIoni + 0 -2.81 cm -8.21 mm -2.73 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.8 cm -5.98 mm -2.97 cm 0 eV 88 keV 3.3 mm 3.3 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 638, Parent ID = 490 +* G4Track Information: Particle = e-, Track ID = 649, Parent ID = 646 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.11 cm 3.32 mm -1.78 cm 273 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.11 cm 3.33 mm -1.78 cm 0 eV 273 keV 131 um 131 um Lead eIoni + 0 -2.8 cm -5.98 mm -2.97 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.8 cm -5.97 mm -2.97 cm 0 eV 423 keV 246 um 246 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 637, Parent ID = 490 +* G4Track Information: Particle = gamma, Track ID = 645, Parent ID = 643 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.29 cm 1.3 mm -1.76 cm 170 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.29 cm 1.3 mm -1.76 cm 0 eV 170 keV 64.1 um 64.1 um Lead eIoni + 0 -2.84 cm -8.17 mm -2.76 cm 120 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.84 cm -8.24 mm -2.76 cm 0 eV 88 keV 83 um 83 um Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 636, Parent ID = 490 +* G4Track Information: Particle = e-, Track ID = 650, Parent ID = 645 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.3 cm 1.23 mm -1.77 cm 2.4 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -4.29 cm 1.53 mm -1.8 cm 793 keV 1.49 MeV 853 um 853 um Lead eBrem - 2 -4.29 cm 1.52 mm -1.8 cm 0 eV 793 keV 555 um 1.41 mm Lead eIoni + 0 -2.84 cm -8.24 mm -2.76 cm 32.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.84 cm -8.24 mm -2.76 cm 0 eV 32.2 keV 4.37 um 4.37 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 640, Parent ID = 636 +* G4Track Information: Particle = gamma, Track ID = 644, Parent ID = 643 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.29 cm 1.53 mm -1.8 cm 117 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.3 cm 1.41 mm -1.83 cm 0 eV 88 keV 326 um 326 um Lead phot + 0 -2.84 cm -7.63 mm -2.78 cm 2.73 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3 cm -7.76 mm -2.84 cm 2.73 MeV 0 eV 1.75 mm 1.75 mm Lead Transportation + 2 -3.5 cm -8.15 mm -3.04 cm 2.73 MeV 0 eV 5.37 mm 7.12 mm liquidArgon Transportation + 3 -4.5 cm -8.94 mm -3.42 cm 2.73 MeV 0 eV 1.07 cm 1.79 cm Lead Transportation + 4 -5 cm -9.34 mm -3.61 cm 2.73 MeV 0 eV 5.37 mm 2.32 cm liquidArgon Transportation + 5 -6 cm -1.01 cm -3.99 cm 2.73 MeV 0 eV 1.07 cm 3.4 cm Lead Transportation + 6 -6.5 cm -1.05 cm -4.19 cm 2.73 MeV 0 eV 5.37 mm 3.93 cm liquidArgon Transportation + 7 -7.5 cm -1.13 cm -4.57 cm 2.73 MeV 0 eV 1.07 cm 5.01 cm Lead Transportation + 8 -9 cm -1.25 cm -5.15 cm 2.73 MeV 0 eV 1.61 cm 6.62 cm OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 641, Parent ID = 640 +* G4Track Information: Particle = e-, Track ID = 642, Parent ID = 523 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.3 cm 1.41 mm -1.83 cm 29.5 keV 0 eV 0 fm 0 fm Lead initStep - 1 -4.3 cm 1.41 mm -1.83 cm 0 eV 29.5 keV 3.79 um 3.79 um Lead eIoni + 0 -2.92 cm -7.62 mm -2.59 cm 325 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.92 cm -7.62 mm -2.59 cm 0 eV 325 keV 169 um 169 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 489, Parent ID = 159 +* G4Track Information: Particle = gamma, Track ID = 522, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.61 cm -817 um -9.05 mm 534 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.6 cm -814 um -9.07 mm 242 keV 0 eV 39.8 um 39.8 um Lead compt - 2 -6.72 cm 1.99 mm -1.01 cm 187 keV 0 eV 3.23 mm 3.27 mm Lead compt - 3 -6.85 cm 2.19 mm -9.76 mm 0 eV 88 keV 1.36 mm 4.64 mm Lead phot + 0 -5.72 cm -1.71 mm -1.29 cm 782 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.57 cm -2.08 mm -1.36 cm 0 eV 88 keV 1.71 mm 1.71 mm Lead phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 644, Parent ID = 489 +* G4Track Information: Particle = e-, Track ID = 651, Parent ID = 522 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.85 cm 2.19 mm -9.76 mm 98.9 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.85 cm 2.18 mm -9.76 mm 0 eV 98.9 keV 27 um 27 um Lead eIoni + 0 -5.57 cm -2.08 mm -1.36 cm 694 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.57 cm -2.09 mm -1.36 cm 0 eV 694 keV 474 um 474 um Lead eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 643, Parent ID = 489 +* G4Track Information: Particle = gamma, Track ID = 521, Parent ID = 251 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.72 cm 1.99 mm -1.01 cm 54.9 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.72 cm 1.99 mm -1.01 cm 0 eV 54.9 keV 10.4 um 10.4 um Lead eIoni + 0 -5.73 cm -1.69 mm -1.29 cm 7.35 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.68 cm -1.79 mm -1.31 cm 0 eV 0 eV 518 um 518 um Lead conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 642, Parent ID = 489 +* G4Track Information: Particle = e+, Track ID = 653, Parent ID = 521 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.6 cm -814 um -9.07 mm 292 keV 0 eV 0 fm 0 fm Lead initStep - 1 -6.6 cm -816 um -9.07 mm 0 eV 292 keV 145 um 145 um Lead eIoni + 0 -5.68 cm -1.79 mm -1.31 cm 2.98 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.65 cm -1.81 mm -1.33 cm 0 eV 2.98 MeV 1.78 mm 1.78 mm Lead eIoni + 2 -5.65 cm -1.81 mm -1.33 cm 0 eV 0 eV 0 fm 1.78 mm Lead annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 655, Parent ID = 653 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.65 cm -1.81 mm -1.33 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6 cm 3.66 mm -1.79 cm 511 keV 0 eV 7.98 mm 7.98 mm Lead Transportation + 2 -6.5 cm 1.14 cm -2.45 cm 511 keV 0 eV 1.13 cm 1.93 cm liquidArgon Transportation + 3 -6.86 cm 1.7 cm -2.92 cm 0 eV 88 keV 8.18 mm 2.75 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 656, Parent ID = 655 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.86 cm 1.7 cm -2.92 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.86 cm 1.7 cm -2.92 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 654, Parent ID = 653 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.65 cm -1.81 mm -1.33 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.57 cm -2.96 mm -1.23 cm 0 eV 88 keV 1.69 mm 1.69 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 657, Parent ID = 654 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.57 cm -2.96 mm -1.23 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.57 cm -2.97 mm -1.23 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 652, Parent ID = 521 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.68 cm -1.79 mm -1.31 cm 3.35 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.63 cm -1.38 mm -1.29 cm 841 keV 2.51 MeV 1.85 mm 1.85 mm Lead eIoni + 2 -5.62 cm -1.36 mm -1.3 cm 0 eV 841 keV 601 um 2.46 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 520, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.76 cm -1.65 mm -1.28 cm 20.1 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.01 cm -3.19 mm -1.6 cm 0 eV 0 eV 8.31 mm 8.31 mm Lead conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 659, Parent ID = 520 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.01 cm -3.19 mm -1.6 cm 8.34 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -3.21 mm -1.6 cm 8.26 MeV 84.7 keV 105 um 105 um Lead Transportation + 2 -4.99 cm -3.23 mm -1.6 cm 8.19 MeV 10.8 keV 62.3 um 168 um liquidArgon eBrem + 3 -4.5 cm -5.26 mm -1.76 cm 7.27 MeV 920 keV 5.81 mm 5.98 mm liquidArgon Transportation + 4 -4.49 cm -5.32 mm -1.76 cm 6.8 MeV 102 keV 89 um 6.07 mm Lead eBrem + 5 -4.49 cm -5.55 mm -1.78 cm 6.45 MeV 356 keV 315 um 6.39 mm Lead msc + 6 -4.49 cm -5.73 mm -1.8 cm 6.13 MeV 322 keV 315 um 6.7 mm Lead msc + 7 -4.48 cm -5.77 mm -1.83 cm 5.77 MeV 358 keV 315 um 7.02 mm Lead msc + 8 -4.49 cm -5.83 mm -1.85 cm 5.47 MeV 193 keV 210 um 7.23 mm Lead eBrem + 9 -4.49 cm -5.84 mm -1.86 cm 3.62 MeV 129 keV 149 um 7.38 mm Lead eBrem + 10 -4.5 cm -5.88 mm -1.87 cm 3.45 MeV 170 keV 156 um 7.53 mm Lead Transportation + 11 -4.59 cm -6.26 mm -2.19 cm 2.85 MeV 597 keV 3.54 mm 1.11 cm liquidArgon msc + 12 -4.5 cm -5.28 mm -2.46 cm 2.25 MeV 602 keV 3.54 mm 1.46 cm liquidArgon msc + 13 -4.5 cm -5.28 mm -2.46 cm 2.25 MeV 102 eV 4.66 um 1.46 cm liquidArgon Transportation + 14 -4.49 cm -5.25 mm -2.46 cm 2.14 MeV 109 keV 74.4 um 1.47 cm Lead msc + 15 -4.49 cm -5.25 mm -2.46 cm 912 keV 14 keV 24.2 um 1.47 cm Lead eBrem + 16 -4.49 cm -5.26 mm -2.47 cm 846 keV 65.9 keV 74.4 um 1.48 cm Lead msc + 17 -4.48 cm -5.23 mm -2.46 cm 778 keV 67.9 keV 74.4 um 1.49 cm Lead msc + 18 -4.48 cm -5.25 mm -2.46 cm 650 keV 128 keV 74.4 um 1.49 cm Lead msc + 19 -4.47 cm -5.26 mm -2.46 cm 579 keV 71.9 keV 74.4 um 1.5 cm Lead msc + 20 -4.47 cm -5.24 mm -2.46 cm 524 keV 54.4 keV 74.4 um 1.51 cm Lead msc + 21 -4.47 cm -5.24 mm -2.47 cm 454 keV 70.1 keV 74.4 um 1.52 cm Lead msc + 22 -4.47 cm -5.23 mm -2.47 cm 381 keV 73.4 keV 74.4 um 1.52 cm Lead msc + 23 -4.47 cm -5.21 mm -2.47 cm 0 eV 381 keV 208 um 1.54 cm Lead eIoni + 24 -4.47 cm -5.21 mm -2.47 cm 0 eV 0 eV 0 fm 1.54 cm Lead annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 666, Parent ID = 659 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.47 cm -5.21 mm -2.47 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.47 cm -4.95 mm -2.48 cm 230 keV 0 eV 298 um 298 um Lead compt + 2 -4.46 cm -5.05 mm -2.5 cm 0 eV 88 keV 174 um 472 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 668, Parent ID = 666 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.46 cm -5.05 mm -2.5 cm 142 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.46 cm -5.05 mm -2.5 cm 0 eV 142 keV 48.3 um 48.3 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 667, Parent ID = 666 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.47 cm -4.95 mm -2.48 cm 281 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.47 cm -4.94 mm -2.48 cm 0 eV 281 keV 137 um 137 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 665, Parent ID = 659 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.47 cm -5.21 mm -2.47 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.47 cm -1.36 cm -2.03 cm 0 eV 88 keV 9.48 mm 9.48 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 669, Parent ID = 665 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.47 cm -1.36 cm -2.03 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.47 cm -1.36 cm -2.03 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 664, Parent ID = 659 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.49 cm -5.25 mm -2.46 cm 1.21 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.6 cm -495 um -2.57 cm 450 keV 0 eV 1.01 cm 1.01 cm Lead compt + 2 -3.5 cm -784 um -2.39 cm 450 keV 0 eV 2.04 mm 1.22 cm Lead Transportation + 3 -3 cm -2.2 mm -1.53 cm 450 keV 0 eV 1 cm 2.22 cm liquidArgon Transportation + 4 -2.91 cm -2.44 mm -1.39 cm 403 keV 0 eV 1.71 mm 2.39 cm Lead compt + 5 -2.91 cm -2.35 mm -1.32 cm 348 keV 0 eV 698 um 2.46 cm Lead compt + 6 -3 cm -3.11 mm -1.1 cm 348 keV 0 eV 2.46 mm 2.71 cm Lead Transportation + 7 -3.5 cm -7.28 mm 926 um 348 keV 0 eV 1.36 cm 4.07 cm liquidArgon Transportation + 8 -3.63 cm -8.36 mm 4.03 mm 0 eV 88 keV 3.53 mm 4.42 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 673, Parent ID = 664 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.63 cm -8.36 mm 4.03 mm 260 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.63 cm -8.36 mm 4.03 mm 0 eV 260 keV 122 um 122 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 672, Parent ID = 664 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.91 cm -2.35 mm -1.32 cm 54.6 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.91 cm -2.35 mm -1.32 cm 0 eV 54.6 keV 10.3 um 10.3 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 671, Parent ID = 664 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.91 cm -2.44 mm -1.39 cm 47.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.91 cm -2.44 mm -1.39 cm 0 eV 47.4 keV 8.2 um 8.2 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 670, Parent ID = 664 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.6 cm -495 um -2.57 cm 764 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.6 cm -440 um -2.56 cm 290 keV 363 keV 380 um 380 um Lead eBrem + 2 -3.6 cm -445 um -2.56 cm 0 eV 290 keV 143 um 524 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 674, Parent ID = 670 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.6 cm -440 um -2.56 cm 112 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.6 cm -452 um -2.55 cm 0 eV 88 keV 67.7 um 67.7 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 675, Parent ID = 674 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.6 cm -452 um -2.55 cm 23.8 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.6 cm -452 um -2.55 cm 0 eV 23.8 keV 2.68 um 2.68 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 663, Parent ID = 659 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.49 cm -5.84 mm -1.86 cm 1.72 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.5 cm -5.87 mm -1.87 cm 1.72 MeV 0 eV 130 um 130 um Lead Transportation + 2 -5 cm -8.14 mm -2.68 cm 1.72 MeV 0 eV 9.81 mm 9.94 mm liquidArgon Transportation + 3 -5.43 cm -1.01 cm -3.38 cm 306 keV 0 eV 8.41 mm 1.83 cm Lead compt + 4 -5.17 cm -7.64 mm -3.44 cm 149 keV 0 eV 3.61 mm 2.2 cm Lead compt + 5 -5.17 cm -7.64 mm -3.44 cm 0 eV 88 keV 23.5 um 2.2 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 678, Parent ID = 663 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.17 cm -7.64 mm -3.44 cm 60.9 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.17 cm -7.64 mm -3.44 cm 0 eV 60.9 keV 12.4 um 12.4 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 677, Parent ID = 663 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.17 cm -7.64 mm -3.44 cm 157 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.17 cm -7.64 mm -3.44 cm 0 eV 157 keV 56.4 um 56.4 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 676, Parent ID = 663 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.43 cm -1.01 cm -3.38 cm 1.41 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.43 cm -1 cm -3.39 cm 872 keV 185 keV 226 um 226 um Lead eBrem + 2 -5.43 cm -1 cm -3.4 cm 0 eV 872 keV 549 um 775 um Lead eBrem + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 679, Parent ID = 676 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.43 cm -1 cm -3.39 cm 356 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.43 cm -8.99 mm -3.55 cm 351 keV 0 eV 1.91 mm 1.91 mm Lead compt + 2 -5.45 cm -8.15 mm -3.76 cm 0 eV 88 keV 2.25 mm 4.16 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 681, Parent ID = 679 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.45 cm -8.15 mm -3.76 cm 263 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.45 cm -8.15 mm -3.76 cm 0 eV 263 keV 124 um 124 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 680, Parent ID = 679 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.43 cm -8.99 mm -3.55 cm 5.4 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.43 cm -8.99 mm -3.55 cm 0 eV 5.4 keV 288 nm 288 nm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 662, Parent ID = 659 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.49 cm -5.83 mm -1.85 cm 109 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.49 cm -5.86 mm -1.85 cm 0 eV 88 keV 86.4 um 86.4 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 682, Parent ID = 662 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.49 cm -5.86 mm -1.85 cm 21.3 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.49 cm -5.86 mm -1.85 cm 0 eV 21.3 keV 2.25 um 2.25 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 661, Parent ID = 659 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.49 cm -5.32 mm -1.76 cm 368 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.07 cm -1.28 cm -2.11 cm 188 keV 0 eV 9.29 mm 9.29 mm Lead compt + 2 -4.12 cm -1.28 cm -2.13 cm 0 eV 88 keV 486 um 9.78 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 684, Parent ID = 661 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.12 cm -1.28 cm -2.13 cm 100 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.12 cm -1.28 cm -2.13 cm 0 eV 100 keV 27.7 um 27.7 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 683, Parent ID = 661 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.07 cm -1.28 cm -2.11 cm 180 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.07 cm -1.28 cm -2.11 cm 0 eV 180 keV 69.9 um 69.9 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 660, Parent ID = 659 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.99 cm -3.23 mm -1.6 cm 53 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.5 cm -5 mm -1.79 cm 53 keV 0 eV 5.58 mm 5.58 mm liquidArgon Transportation + 2 -4.49 cm -5.04 mm -1.8 cm 0 eV 15.9 keV 137 um 5.72 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 685, Parent ID = 660 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.49 cm -5.04 mm -1.8 cm 37.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.49 cm -5.04 mm -1.8 cm 0 eV 37.1 keV 5.5 um 5.5 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 658, Parent ID = 520 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.01 cm -3.19 mm -1.6 cm 10.7 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -3.21 mm -1.6 cm 10.6 MeV 124 keV 116 um 116 um Lead Transportation + 2 -4.5 cm -5.66 mm -1.83 cm 9.31 MeV 1.26 MeV 6.19 mm 6.3 mm liquidArgon Transportation + 3 -4.47 cm -5.83 mm -1.84 cm 8.89 MeV 415 keV 406 um 6.71 mm Lead msc + 4 -4.45 cm -6.1 mm -1.86 cm 8.45 MeV 445 keV 406 um 7.11 mm Lead msc + 5 -4.44 cm -6.31 mm -1.89 cm 7.91 MeV 538 keV 406 um 7.52 mm Lead msc + 6 -4.43 cm -6.41 mm -1.93 cm 7.28 MeV 633 keV 406 um 7.92 mm Lead msc + 7 -4.42 cm -6.56 mm -1.96 cm 6.81 MeV 467 keV 406 um 8.33 mm Lead msc + 8 -4.43 cm -6.64 mm -1.97 cm 5.81 MeV 142 keV 122 um 8.45 mm Lead eBrem + 9 -4.43 cm -6.74 mm -1.98 cm 5.2 MeV 126 keV 128 um 8.58 mm Lead eBrem + 10 -4.44 cm -6.97 mm -2 cm 4.76 MeV 441 keV 406 um 8.98 mm Lead msc + 11 -4.47 cm -7.16 mm -2.01 cm 4.18 MeV 582 keV 406 um 9.39 mm Lead msc + 12 -4.46 cm -7.47 mm -2 cm 3.77 MeV 411 keV 406 um 9.8 mm Lead msc + 13 -4.48 cm -7.71 mm -2 cm 3.33 MeV 435 keV 406 um 1.02 cm Lead msc + 14 -4.49 cm -7.96 mm -2 cm 2.62 MeV 333 keV 316 um 1.05 cm Lead eBrem + 15 -4.5 cm -8.01 mm -2 cm 2.39 MeV 227 keV 222 um 1.07 cm Lead Transportation + 16 -4.56 cm -8.58 mm -2.11 cm 2.18 MeV 215 keV 1.38 mm 1.21 cm liquidArgon msc + 17 -4.58 cm -9.41 mm -2.21 cm 1.81 MeV 372 keV 1.38 mm 1.35 cm liquidArgon msc + 18 -4.5 cm -9.6 mm -2.2 cm 1.64 MeV 161 keV 905 um 1.44 cm liquidArgon Transportation + 19 -4.5 cm -9.62 mm -2.2 cm 1.59 MeV 56.2 keV 52.2 um 1.45 cm Lead msc + 20 -4.5 cm -9.65 mm -2.2 cm 1.56 MeV 32.3 keV 52.2 um 1.45 cm Lead msc + 21 -4.49 cm -9.67 mm -2.21 cm 1.5 MeV 57.3 keV 52.2 um 1.46 cm Lead msc + 22 -4.49 cm -9.68 mm -2.21 cm 1.47 MeV 27.8 keV 52.2 um 1.46 cm Lead msc + 23 -4.49 cm -9.7 mm -2.22 cm 1.42 MeV 55.1 keV 52.2 um 1.47 cm Lead msc + 24 -4.5 cm -9.71 mm -2.22 cm 1.37 MeV 45.4 keV 52.2 um 1.47 cm Lead msc + 25 -4.5 cm -9.73 mm -2.22 cm 1.33 MeV 42.2 keV 52.2 um 1.48 cm Lead msc + 26 -4.5 cm -9.73 mm -2.22 cm 1.33 MeV 325 eV 547 nm 1.48 cm Lead Transportation + 27 -4.53 cm -9.88 mm -2.21 cm 1.24 MeV 85.7 keV 391 um 1.52 cm liquidArgon msc + 28 -4.56 cm -1.01 cm -2.18 cm 1.19 MeV 56 keV 391 um 1.56 cm liquidArgon msc + 29 -4.58 cm -1.03 cm -2.16 cm 1.12 MeV 71.1 keV 391 um 1.6 cm liquidArgon msc + 30 -4.6 cm -1.05 cm -2.14 cm 1.06 MeV 56 keV 391 um 1.63 cm liquidArgon msc + 31 -4.62 cm -1.05 cm -2.11 cm 957 keV 103 keV 391 um 1.67 cm liquidArgon msc + 32 -4.63 cm -1.05 cm -2.07 cm 898 keV 58.3 keV 391 um 1.71 cm liquidArgon msc + 33 -4.65 cm -1.04 cm -2.05 cm 721 keV 177 keV 391 um 1.75 cm liquidArgon msc + 34 -4.66 cm -1.01 cm -2.02 cm 607 keV 114 keV 391 um 1.79 cm liquidArgon msc + 35 -4.63 cm -1.01 cm -1.99 cm 537 keV 69.9 keV 391 um 1.83 cm liquidArgon msc + 36 -4.6 cm -1.01 cm -1.99 cm 457 keV 80.7 keV 391 um 1.87 cm liquidArgon msc + 37 -4.59 cm -1.01 cm -1.96 cm 390 keV 67.1 keV 391 um 1.91 cm liquidArgon msc + 38 -4.56 cm -1 cm -1.93 cm 302 keV 87.6 keV 391 um 1.95 cm liquidArgon msc + 39 -4.57 cm -9.76 mm -1.92 cm 214 keV 88.1 keV 391 um 1.99 cm liquidArgon msc + 40 -4.57 cm -9.57 mm -1.91 cm 96.2 keV 118 keV 391 um 2.03 cm liquidArgon msc + 41 -4.57 cm -9.55 mm -1.91 cm 0 eV 96.2 keV 138 um 2.04 cm liquidArgon eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 688, Parent ID = 658 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.49 cm -7.96 mm -2 cm 381 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.5 cm -8.02 mm -2 cm 381 keV 0 eV 154 um 154 um Lead Transportation + 2 -5 cm -1.01 cm -2.02 cm 381 keV 0 eV 5.43 mm 5.59 mm liquidArgon Transportation + 3 -5.07 cm -1.05 cm -2.02 cm 0 eV 88 keV 794 um 6.38 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 689, Parent ID = 688 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.07 cm -1.05 cm -2.02 cm 293 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.07 cm -1.05 cm -2.02 cm 0 eV 293 keV 146 um 146 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 687, Parent ID = 658 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.43 cm -6.74 mm -1.98 cm 483 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.39 cm -1.05 cm -2.36 cm 0 eV 88 keV 5.37 mm 5.37 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 690, Parent ID = 687 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.39 cm -1.05 cm -2.36 cm 395 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.39 cm -1.05 cm -2.36 cm 0 eV 395 keV 224 um 224 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 686, Parent ID = 658 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.43 cm -6.64 mm -1.97 cm 856 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.46 cm -7.35 mm -2.09 cm 0 eV 88 keV 1.45 mm 1.45 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 691, Parent ID = 686 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.46 cm -7.35 mm -2.09 cm 768 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.47 cm -7.32 mm -2.09 cm 623 keV 145 keV 108 um 108 um Lead msc + 2 -4.47 cm -7.31 mm -2.09 cm 532 keV 91.5 keV 81 um 189 um Lead msc + 3 -4.47 cm -7.29 mm -2.09 cm 396 keV 136 keV 78.9 um 268 um Lead msc + 4 -4.47 cm -7.27 mm -2.09 cm 0 eV 396 keV 224 um 492 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 519, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.77 cm -1.63 mm -1.27 cm 1.14 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -3.02 mm -1.59 cm 1.14 MeV 0 eV 8.45 mm 8.45 mm Lead Transportation + 2 -4.5 cm -3.92 mm -1.79 cm 1.14 MeV 0 eV 5.47 mm 1.39 cm liquidArgon Transportation + 3 -4.41 cm -4.07 mm -1.82 cm 255 keV 0 eV 939 um 1.49 cm Lead compt + 4 -4.47 cm -4.73 mm -1.65 cm 0 eV 88 keV 1.98 mm 1.68 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 693, Parent ID = 519 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.47 cm -4.73 mm -1.65 cm 167 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.47 cm -4.73 mm -1.65 cm 0 eV 167 keV 62.3 um 62.3 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 692, Parent ID = 519 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.41 cm -4.07 mm -1.82 cm 887 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.41 cm -4.03 mm -1.83 cm 519 keV 152 keV 83.8 um 83.8 um Lead eBrem + 2 -4.41 cm -4.02 mm -1.82 cm 0 eV 519 keV 324 um 408 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 694, Parent ID = 692 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.41 cm -4.03 mm -1.83 cm 216 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.43 cm -3.81 mm -1.85 cm 0 eV 88 keV 367 um 367 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 695, Parent ID = 694 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.43 cm -3.81 mm -1.85 cm 128 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.43 cm -3.8 mm -1.85 cm 0 eV 128 keV 40.9 um 40.9 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 518, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.87 cm -1.52 mm -1.23 cm 550 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.68 cm -1.76 mm -1.32 cm 0 eV 88 keV 2.13 mm 2.13 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 696, Parent ID = 518 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.68 cm -1.76 mm -1.32 cm 462 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.68 cm -1.75 mm -1.32 cm 0 eV 462 keV 278 um 278 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 517, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.94 cm -1.48 mm -1.2 cm 4.52 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5 cm -2.41 mm -1.63 cm 4.52 MeV 0 eV 1.03 cm 1.03 cm Lead Transportation + 2 -4.5 cm -2.91 mm -1.86 cm 4.52 MeV 0 eV 5.52 mm 1.59 cm liquidArgon Transportation + 3 -3.95 cm -3.45 mm -2.11 cm 0 eV 0 eV 6.06 mm 2.19 cm Lead conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 698, Parent ID = 517 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.95 cm -3.45 mm -2.11 cm 2.68 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.91 cm -4.02 mm -2.12 cm 1.16 MeV 1.53 MeV 1.6 mm 1.6 mm Lead eBrem + 2 -3.91 cm -4.24 mm -2.11 cm 405 keV 623 keV 644 um 2.24 mm Lead eBrem + 3 -3.91 cm -4.24 mm -2.12 cm 0 eV 405 keV 227 um 2.47 mm Lead eIoni + 4 -3.91 cm -4.24 mm -2.12 cm 0 eV 0 eV 0 fm 2.47 mm Lead annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 701, Parent ID = 698 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.91 cm -4.24 mm -2.12 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.98 cm -6.63 mm -1.93 cm 0 eV 88 keV 3.11 mm 3.11 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 702, Parent ID = 701 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.98 cm -6.63 mm -1.93 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.98 cm -6.64 mm -1.93 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 700, Parent ID = 698 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.91 cm -4.24 mm -2.12 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.67 cm 4 mm -2.76 cm 379 keV 0 eV 1.07 cm 1.07 cm Lead compt + 2 -3.5 cm 4.17 mm -2.96 cm 379 keV 0 eV 2.63 mm 1.34 cm Lead Transportation + 3 -3 cm 4.68 mm -3.55 cm 379 keV 0 eV 7.75 mm 2.11 cm liquidArgon Transportation + 4 -2.99 cm 4.7 mm -3.57 cm 0 eV 88 keV 204 um 2.13 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 704, Parent ID = 700 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.99 cm 4.7 mm -3.57 cm 291 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.99 cm 4.69 mm -3.57 cm 234 keV 57 keV 39.5 um 39.5 um Lead msc + 2 -2.98 cm 4.69 mm -3.57 cm 0 eV 234 keV 105 um 144 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 703, Parent ID = 700 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.67 cm 4 mm -2.76 cm 132 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.67 cm 4 mm -2.76 cm 0 eV 132 keV 43 um 43 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 699, Parent ID = 698 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.91 cm -4.24 mm -2.11 cm 130 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.9 cm -4.17 mm -2.13 cm 0 eV 88 keV 213 um 213 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 705, Parent ID = 699 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.9 cm -4.17 mm -2.13 cm 41.7 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.9 cm -4.17 mm -2.13 cm 0 eV 41.7 keV 6.67 um 6.67 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 697, Parent ID = 517 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.95 cm -3.45 mm -2.11 cm 810 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.95 cm -3.47 mm -2.11 cm 0 eV 810 keV 574 um 574 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 516, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.98 cm -1.44 mm -1.19 cm 256 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.95 cm -1.47 mm -1.2 cm 0 eV 88 keV 368 um 368 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 706, Parent ID = 516 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.95 cm -1.47 mm -1.2 cm 168 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.95 cm -1.47 mm -1.2 cm 0 eV 168 keV 62.8 um 62.8 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 515, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.52 cm -911 um -9.48 mm 22.1 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.5 cm -922 um -9.55 mm 22.1 MeV 0 eV 181 um 181 um Lead Transportation + 2 -6 cm -1.25 mm -1.18 cm 22.1 MeV 0 eV 5.48 mm 5.66 mm liquidArgon Transportation + 3 -5 cm -1.9 mm -1.62 cm 22.1 MeV 0 eV 1.1 cm 1.66 cm Lead Transportation + 4 -4.5 cm -2.22 mm -1.84 cm 22.1 MeV 0 eV 5.48 mm 2.21 cm liquidArgon Transportation + 5 -3.95 cm -2.58 mm -2.08 cm 0 eV 0 eV 5.98 mm 2.81 cm Lead conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 708, Parent ID = 515 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.95 cm -2.58 mm -2.08 cm 10.2 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.92 cm -2.51 mm -2.1 cm 9.63 MeV 416 keV 383 um 383 um Lead eBrem + 2 -3.89 cm -2.57 mm -2.1 cm 8.3 MeV 764 keV 297 um 680 um Lead eBrem + 3 -3.85 cm -2.58 mm -2.11 cm 4.33 MeV 512 keV 512 um 1.19 mm Lead eBrem + 4 -3.81 cm -2.35 mm -2.11 cm 2.71 MeV 1.04 MeV 512 um 1.7 mm Lead eBrem + 5 -3.76 cm -2.26 mm -2.13 cm 1.83 MeV 756 keV 741 um 2.45 mm Lead eBrem + 6 -3.76 cm -2.47 mm -2.11 cm 1.07 MeV 421 keV 387 um 2.83 mm Lead eBrem + 7 -3.77 cm -2.49 mm -2.11 cm 0 eV 1.07 MeV 810 um 3.64 mm Lead eIoni + 8 -3.77 cm -2.49 mm -2.11 cm 0 eV 0 eV 0 fm 3.64 mm Lead annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 716, Parent ID = 708 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.77 cm -2.49 mm -2.11 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm -4.32 mm -1.72 cm 511 keV 0 eV 5.08 mm 5.08 mm Lead Transportation + 2 -3 cm -7.7 mm -9.96 mm 511 keV 0 eV 9.41 mm 1.45 cm liquidArgon Transportation + 3 -2.42 cm -1.17 cm -1.51 mm 0 eV 88 keV 1.1 cm 2.55 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 717, Parent ID = 716 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.42 cm -1.17 cm -1.51 mm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.41 cm -1.17 cm -1.5 mm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 715, Parent ID = 708 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.77 cm -2.49 mm -2.11 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.5 cm 2.46 mm -3.16 cm 511 keV 0 eV 1.37 cm 1.37 cm Lead Transportation + 2 -5 cm 5.84 mm -3.88 cm 511 keV 0 eV 9.41 mm 2.32 cm liquidArgon Transportation + 3 -5.31 cm 7.91 mm -4.32 cm 0 eV 88 keV 5.74 mm 2.89 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 718, Parent ID = 715 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.31 cm 7.91 mm -4.32 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.31 cm 7.92 mm -4.32 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 714, Parent ID = 708 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.76 cm -2.47 mm -2.11 cm 334 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.83 cm -3.32 mm -2.07 cm 0 eV 88 keV 1.16 mm 1.16 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 719, Parent ID = 714 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.83 cm -3.32 mm -2.07 cm 246 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.83 cm -3.33 mm -2.07 cm 0 eV 246 keV 113 um 113 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 713, Parent ID = 708 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.76 cm -2.26 mm -2.13 cm 128 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.76 cm -2.26 mm -2.11 cm 0 eV 88 keV 185 um 185 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 720, Parent ID = 713 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.76 cm -2.26 mm -2.11 cm 40.1 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.76 cm -2.26 mm -2.11 cm 0 eV 40.1 keV 6.24 um 6.24 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 712, Parent ID = 708 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.81 cm -2.35 mm -2.11 cm 584 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm 569 um -2.99 cm 584 keV 0 eV 9.77 mm 9.77 mm Lead Transportation + 2 -3.44 cm 1.17 mm -3.17 cm 370 keV 0 eV 2 mm 1.18 cm liquidArgon compt + 3 -3.14 cm -1.57 cm -5 cm 370 keV 0 eV 2.5 cm 3.68 cm liquidArgon Transportation + 4 -2.98 cm -2.49 cm -6 cm 370 keV 0 eV 1.37 cm 5.05 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 721, Parent ID = 712 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.44 cm 1.17 mm -3.17 cm 214 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -3.43 cm 1.28 mm -3.18 cm 0 eV 214 keV 505 um 505 um liquidArgon eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 711, Parent ID = 708 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.85 cm -2.58 mm -2.11 cm 3.46 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm -2.83 mm -2.06 cm 3.46 MeV 0 eV 3.5 mm 3.5 mm Lead Transportation + 2 -3 cm -3.19 mm -1.99 cm 3.46 MeV 0 eV 5.06 mm 8.56 mm liquidArgon Transportation + 3 -2 cm -3.91 mm -1.85 cm 3.46 MeV 0 eV 1.01 cm 1.87 cm Lead Transportation + 4 -1.5 cm -4.27 mm -1.78 cm 3.46 MeV 0 eV 5.06 mm 2.38 cm liquidArgon Transportation + 5 -9.52 mm -4.66 mm -1.7 cm 2.99 MeV 0 eV 5.55 mm 2.93 cm Lead compt + 6 -7.85 mm -5.16 mm -1.68 cm 0 eV 0 eV 1.76 mm 3.11 cm Lead conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 724, Parent ID = 711 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.85 mm -5.16 mm -1.68 cm 1.29 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -7.81 mm -5.33 mm -1.67 cm 156 keV 1.13 MeV 1 mm 1 mm Lead eIoni + 2 -7.81 mm -5.33 mm -1.67 cm 0 eV 156 keV 52.6 um 1.06 mm Lead eIoni + 3 -7.81 mm -5.33 mm -1.67 cm 0 eV 0 eV 0 fm 1.06 mm Lead annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 726, Parent ID = 724 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.81 mm -5.33 mm -1.67 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.19 cm -3.78 mm -1.86 cm 0 eV 88 keV 4.8 mm 4.8 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 727, Parent ID = 726 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.19 cm -3.78 mm -1.86 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -1.2 cm -3.77 mm -1.86 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 725, Parent ID = 724 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.81 mm -5.33 mm -1.67 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.88 mm -6.05 mm -1.58 cm 385 keV 0 eV 2.24 mm 2.24 mm Lead compt + 2 -5 mm -6 mm -1.61 cm 385 keV 0 eV 928 um 3.17 mm Lead Transportation + 3 -0.000185 fm -5.69 mm -1.78 cm 385 keV 0 eV 5.28 mm 8.45 mm liquidArgon Transportation + 4 2.46 mm -5.54 mm -1.86 cm 0 eV 88 keV 2.6 mm 1.11 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 729, Parent ID = 725 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.46 mm -5.54 mm -1.86 cm 297 keV 0 eV 0 fm 0 fm Lead initStep + 1 2.47 mm -5.54 mm -1.86 cm 0 eV 297 keV 149 um 149 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 728, Parent ID = 725 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.88 mm -6.05 mm -1.58 cm 126 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.88 mm -6.05 mm -1.58 cm 0 eV 126 keV 40.1 um 40.1 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 723, Parent ID = 711 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.85 mm -5.16 mm -1.68 cm 676 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.82 mm -5.17 mm -1.68 cm 0 eV 676 keV 458 um 458 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 722, Parent ID = 711 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -9.52 mm -4.66 mm -1.7 cm 470 keV 0 eV 0 fm 0 fm Lead initStep + 1 -9.54 mm -4.62 mm -1.7 cm 126 keV 221 keV 225 um 225 um Lead eBrem + 2 -9.54 mm -4.62 mm -1.7 cm 0 eV 126 keV 40.2 um 265 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 730, Parent ID = 722 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -9.54 mm -4.62 mm -1.7 cm 122 keV 0 eV 0 fm 0 fm Lead initStep + 1 -9.9 mm -4.2 mm -1.63 cm 0 eV 88 keV 907 um 907 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 731, Parent ID = 730 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -9.9 mm -4.2 mm -1.63 cm 33.7 keV 0 eV 0 fm 0 fm Lead initStep + 1 -9.9 mm -4.2 mm -1.63 cm 0 eV 33.7 keV 4.71 um 4.71 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 710, Parent ID = 708 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.89 cm -2.57 mm -2.1 cm 569 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.75 cm -3.06 mm -2.17 cm 0 eV 88 keV 1.62 mm 1.62 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 732, Parent ID = 710 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.75 cm -3.06 mm -2.17 cm 481 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.75 cm -3.05 mm -2.17 cm 0 eV 481 keV 293 um 293 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 709, Parent ID = 708 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.92 cm -2.51 mm -2.1 cm 166 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.9 cm -2.56 mm -2.11 cm 0 eV 88 keV 252 um 252 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 733, Parent ID = 709 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.9 cm -2.56 mm -2.11 cm 77.7 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.9 cm -2.56 mm -2.11 cm 0 eV 77.7 keV 18.4 um 18.4 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 707, Parent ID = 515 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.95 cm -2.58 mm -2.08 cm 10.8 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -3.85 cm -3.11 mm -2.11 cm 9.11 MeV 1.39 MeV 1.28 mm 1.28 mm Lead eBrem + 2 -3.78 cm -3.14 mm -2.09 cm 8.14 MeV 977 keV 889 um 2.17 mm Lead msc + 3 -3.76 cm -3.19 mm -2.09 cm 7.73 MeV 126 keV 150 um 2.32 mm Lead eBrem + 4 -3.72 cm -3.71 mm -2.07 cm 6.93 MeV 794 keV 779 um 3.1 mm Lead msc + 5 -3.74 cm -4.15 mm -2.08 cm 6.15 MeV 783 keV 536 um 3.64 mm Lead msc + 6 -3.74 cm -4.3 mm -2.09 cm 2.81 MeV 164 keV 182 um 3.82 mm Lead eBrem + 7 -3.74 cm -4.3 mm -2.09 cm 2.66 MeV 4.25 keV 5.87 um 3.82 mm Lead eBrem + 8 -3.78 cm -4.01 mm -2.1 cm 1.36 MeV 980 keV 987 um 4.81 mm Lead eBrem + 9 -3.78 cm -4.01 mm -2.1 cm 638 keV 8.99 keV 14.9 um 4.83 mm Lead eBrem + 10 -3.79 cm -4 mm -2.09 cm 154 keV 484 keV 382 um 5.21 mm Lead eBrem + 11 -3.79 cm -4.01 mm -2.09 cm 0 eV 154 keV 54.9 um 5.26 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 739, Parent ID = 707 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.78 cm -4.01 mm -2.1 cm 711 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.5 cm -4.34 mm -2.14 cm 711 keV 0 eV 7.19 mm 7.19 mm Lead Transportation + 2 -5 cm -4.56 mm -2.18 cm 711 keV 0 eV 5.02 mm 1.22 cm liquidArgon Transportation + 3 -5.69 cm -4.87 mm -2.22 cm 629 keV 0 eV 6.97 mm 1.92 cm Lead compt + 4 -6 cm -4.16 mm -2.13 cm 629 keV 0 eV 3.26 mm 2.24 cm Lead Transportation + 5 -6.5 cm -2.98 mm -1.99 cm 629 keV 0 eV 5.34 mm 2.78 cm liquidArgon Transportation + 6 -7.05 cm -1.69 mm -1.82 cm 0 eV 88 keV 5.89 mm 3.37 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 741, Parent ID = 739 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.05 cm -1.69 mm -1.82 cm 541 keV 0 eV 0 fm 0 fm Lead initStep + 1 -7.05 cm -1.69 mm -1.83 cm 0 eV 541 keV 343 um 343 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 740, Parent ID = 739 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.69 cm -4.87 mm -2.22 cm 82 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.69 cm -4.87 mm -2.22 cm 0 eV 82 keV 20.1 um 20.1 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 738, Parent ID = 707 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.78 cm -4.01 mm -2.1 cm 326 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.5 cm -5.5 mm -2.29 cm 326 keV 0 eV 7.58 mm 7.58 mm Lead Transportation + 2 -4.89 cm -6.32 mm -2.4 cm 265 keV 0 eV 4.16 mm 1.17 cm liquidArgon compt + 3 -5 cm -5.77 mm -2.56 cm 265 keV 0 eV 2.04 mm 1.38 cm liquidArgon Transportation + 4 -5.09 cm -5.28 mm -2.71 cm 0 eV 88 keV 1.8 mm 1.56 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 743, Parent ID = 738 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.09 cm -5.28 mm -2.71 cm 177 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.09 cm -5.27 mm -2.71 cm 0 eV 177 keV 68.5 um 68.5 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 742, Parent ID = 738 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.89 cm -6.32 mm -2.4 cm 60.6 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -4.9 cm -6.33 mm -2.39 cm 0 eV 60.6 keV 63.1 um 63.1 um liquidArgon eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 737, Parent ID = 707 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.74 cm -4.3 mm -2.09 cm 137 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.79 cm -4.6 mm -2.07 cm 0 eV 88 keV 524 um 524 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 744, Parent ID = 737 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.79 cm -4.6 mm -2.07 cm 49 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.79 cm -4.6 mm -2.07 cm 0 eV 49 keV 8.65 um 8.65 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 736, Parent ID = 707 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.74 cm -4.3 mm -2.09 cm 3.18 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.42 cm -9.81 mm -2.76 cm 305 keV 0 eV 1.11 cm 1.11 cm Lead compt + 2 -4.34 cm -9.16 mm -2.81 cm 243 keV 0 eV 1.12 mm 1.22 cm Lead compt + 3 -4.26 cm -9.32 mm -2.8 cm 0 eV 88 keV 862 um 1.31 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 747, Parent ID = 736 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.26 cm -9.32 mm -2.8 cm 155 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.26 cm -9.31 mm -2.8 cm 0 eV 155 keV 55.4 um 55.4 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 746, Parent ID = 736 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.34 cm -9.16 mm -2.81 cm 62.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -4.34 cm -9.15 mm -2.81 cm 0 eV 62.2 keV 12.8 um 12.8 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 745, Parent ID = 736 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.42 cm -9.81 mm -2.76 cm 2.88 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -4.44 cm -9.96 mm -2.76 cm 2.6 MeV 278 keV 234 um 234 um Lead msc + 2 -4.45 cm -1 cm -2.77 cm 2.44 MeV 162 keV 151 um 385 um Lead msc + 3 -4.45 cm -1.01 cm -2.77 cm 2.29 MeV 146 keV 138 um 523 um Lead msc + 4 -4.46 cm -1.01 cm -2.76 cm 2.22 MeV 68.7 keV 113 um 637 um Lead msc + 5 -4.46 cm -1.01 cm -2.75 cm 2.1 MeV 122 keV 115 um 752 um Lead msc + 6 -4.47 cm -1.02 cm -2.75 cm 1.67 MeV 434 keV 93.8 um 846 um Lead msc + 7 -4.48 cm -1.01 cm -2.76 cm 1.58 MeV 90.6 keV 93.8 um 939 um Lead msc + 8 -4.47 cm -1.02 cm -2.76 cm 1.46 MeV 119 keV 93.8 um 1.03 mm Lead msc + 9 -4.47 cm -1.02 cm -2.77 cm 1.37 MeV 89.9 keV 93.8 um 1.13 mm Lead msc + 10 -4.46 cm -1.02 cm -2.76 cm 1.27 MeV 98.6 keV 93.8 um 1.22 mm Lead msc + 11 -4.46 cm -1.02 cm -2.76 cm 1.17 MeV 98.9 keV 93.8 um 1.31 mm Lead msc + 12 -4.46 cm -1.01 cm -2.77 cm 1.09 MeV 76.8 keV 93.8 um 1.41 mm Lead msc + 13 -4.45 cm -1.02 cm -2.76 cm 1.02 MeV 73.9 keV 93.8 um 1.5 mm Lead msc + 14 -4.46 cm -1.02 cm -2.76 cm 918 keV 100 keV 95.7 um 1.6 mm Lead msc + 15 -4.46 cm -1.03 cm -2.77 cm 788 keV 130 keV 110 um 1.71 mm Lead msc + 16 -4.46 cm -1.03 cm -2.77 cm 704 keV 84.4 keV 93.8 um 1.8 mm Lead msc + 17 -4.47 cm -1.03 cm -2.77 cm 636 keV 67.5 keV 93.8 um 1.9 mm Lead msc + 18 -4.46 cm -1.03 cm -2.77 cm 477 keV 159 keV 93.8 um 1.99 mm Lead msc + 19 -4.46 cm -1.03 cm -2.77 cm 412 keV 65.4 keV 93.8 um 2.08 mm Lead msc + 20 -4.46 cm -1.03 cm -2.77 cm 0 eV 412 keV 237 um 2.32 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 735, Parent ID = 707 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.76 cm -3.19 mm -2.09 cm 283 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.5 cm -3.9 mm -2.08 cm 283 keV 0 eV 2.73 mm 2.73 mm Lead Transportation + 2 -3 cm -5.25 mm -2.08 cm 283 keV 0 eV 5.18 mm 7.9 mm liquidArgon Transportation + 3 -2.72 cm -6.01 mm -2.07 cm 179 keV 0 eV 2.93 mm 1.08 cm Lead compt + 4 -2.68 cm -3.73 mm -1.77 cm 0 eV 88 keV 3.77 mm 1.46 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 749, Parent ID = 735 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.68 cm -3.73 mm -1.77 cm 91.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.68 cm -3.73 mm -1.77 cm 0 eV 91.2 keV 23.8 um 23.8 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 748, Parent ID = 735 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.72 cm -6.01 mm -2.07 cm 104 keV 0 eV 0 fm 0 fm Lead initStep + 1 -2.72 cm -6.01 mm -2.07 cm 0 eV 104 keV 29.6 um 29.6 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 734, Parent ID = 707 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.85 cm -3.11 mm -2.11 cm 329 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.82 cm -3.29 mm -2.1 cm 0 eV 88 keV 387 um 387 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 750, Parent ID = 734 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.82 cm -3.29 mm -2.1 cm 241 keV 0 eV 0 fm 0 fm Lead initStep + 1 -3.82 cm -3.29 mm -2.1 cm 0 eV 241 keV 109 um 109 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 514, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.56 cm -896 um -9.31 mm 10.1 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.5 cm -928 um -9.54 mm 10.1 MeV 0 eV 635 um 635 um Lead Transportation + 2 -6.18 cm -1.1 mm -1.08 cm 0 eV 0 eV 3.46 mm 4.09 mm liquidArgon conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 752, Parent ID = 514 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.18 cm -1.1 mm -1.08 cm 8.14 MeV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -6 cm -1.2 mm -1.14 cm 7.86 MeV 283 keV 1.92 mm 1.92 mm liquidArgon Transportation + 2 -5.98 cm -1.25 mm -1.15 cm 7.31 MeV 236 keV 251 um 2.17 mm Lead eBrem + 3 -5.95 cm -1.38 mm -1.16 cm 5.82 MeV 1.49 MeV 353 um 2.52 mm Lead msc + 4 -5.92 cm -1.42 mm -1.18 cm 5.4 MeV 413 keV 353 um 2.87 mm Lead msc + 5 -5.91 cm -1.59 mm -1.2 cm 4.99 MeV 415 keV 353 um 3.23 mm Lead msc + 6 -5.91 cm -1.64 mm -1.22 cm 4.31 MeV 377 keV 216 um 3.44 mm Lead eBrem + 7 -5.91 cm -1.33 mm -1.23 cm 3.96 MeV 342 keV 353 um 3.8 mm Lead msc + 8 -5.91 cm -1.18 mm -1.23 cm 2.62 MeV 198 keV 172 um 3.97 mm Lead eBrem + 9 -5.93 cm -981 um -1.25 cm 2.29 MeV 333 keV 353 um 4.32 mm Lead msc + 10 -5.93 cm -952 um -1.25 cm 513 keV 59.1 keV 54.4 um 4.38 mm Lead eBrem + 11 -5.94 cm -941 um -1.25 cm 0 eV 513 keV 316 um 4.69 mm Lead eIoni + 12 -5.94 cm -941 um -1.25 cm 0 eV 0 eV 0 fm 4.69 mm Lead annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 758, Parent ID = 752 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.94 cm -941 um -1.25 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.89 cm -334 um -1.3 cm 0 eV 88 keV 909 um 909 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 759, Parent ID = 758 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.89 cm -334 um -1.3 cm 423 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.89 cm -329 um -1.3 cm 0 eV 423 keV 246 um 246 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 757, Parent ID = 752 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.94 cm -941 um -1.25 cm 511 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6 cm -1.75 mm -1.19 cm 511 keV 0 eV 1.22 mm 1.22 mm Lead Transportation + 2 -6.5 cm -8.06 mm -6.92 mm 511 keV 0 eV 9.46 mm 1.07 cm liquidArgon Transportation + 3 -6.76 cm -1.14 cm -4.32 mm 438 keV 0 eV 4.95 mm 1.56 cm Lead compt + 4 -6.78 cm -1.2 cm -2.97 mm 0 eV 88 keV 1.52 mm 1.71 cm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 761, Parent ID = 757 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.78 cm -1.2 cm -2.97 mm 350 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.78 cm -1.2 cm -2.97 mm 0 eV 350 keV 188 um 188 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 760, Parent ID = 757 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.76 cm -1.14 cm -4.32 mm 73.2 keV 0 eV 0 fm 0 fm Lead initStep + 1 -6.76 cm -1.14 cm -4.32 mm 0 eV 73.2 keV 16.7 um 16.7 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 756, Parent ID = 752 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.93 cm -952 um -1.25 cm 1.72 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6 cm -643 um -1.29 cm 1.72 MeV 0 eV 832 um 832 um Lead Transportation + 2 -6.5 cm 1.67 mm -1.58 cm 1.72 MeV 0 eV 6.22 mm 7.05 mm liquidArgon Transportation + 3 -7.5 cm 6.28 mm -2.15 cm 1.72 MeV 0 eV 1.24 cm 1.95 cm Lead Transportation + 4 -9 cm 1.32 cm -3.02 cm 1.72 MeV 0 eV 1.86 cm 3.81 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 755, Parent ID = 752 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.91 cm -1.18 mm -1.23 cm 1.14 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.88 cm 6.88 mm -1.52 cm 243 keV 0 eV 8.56 mm 8.56 mm Lead compt + 2 -5.88 cm 6.71 mm -1.53 cm 0 eV 88 keV 192 um 8.75 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 763, Parent ID = 755 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.88 cm 6.71 mm -1.53 cm 155 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.88 cm 6.7 mm -1.53 cm 0 eV 155 keV 55.5 um 55.5 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 762, Parent ID = 755 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.88 cm 6.88 mm -1.52 cm 902 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.88 cm 6.89 mm -1.52 cm 649 keV 36.6 keV 27 um 27 um Lead eBrem + 2 -5.88 cm 6.91 mm -1.52 cm 0 eV 649 keV 435 um 462 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 764, Parent ID = 762 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.88 cm 6.89 mm -1.52 cm 216 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.85 cm 6.74 mm -1.49 cm 205 keV 0 eV 445 um 445 um Lead compt + 2 -5.79 cm 6.09 mm -1.46 cm 0 eV 88 keV 883 um 1.33 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 766, Parent ID = 764 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.79 cm 6.09 mm -1.46 cm 117 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.79 cm 6.09 mm -1.46 cm 0 eV 117 keV 35.4 um 35.4 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 765, Parent ID = 764 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.85 cm 6.74 mm -1.49 cm 11.5 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.85 cm 6.74 mm -1.49 cm 0 eV 11.5 keV 860 nm 860 nm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 754, Parent ID = 752 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.91 cm -1.64 mm -1.22 cm 304 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.82 cm 1.46 mm -1.39 cm 0 eV 88 keV 3.64 mm 3.64 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 767, Parent ID = 754 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.82 cm 1.46 mm -1.39 cm 216 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.82 cm 1.46 mm -1.39 cm 0 eV 216 keV 92.8 um 92.8 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 753, Parent ID = 752 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.98 cm -1.25 mm -1.15 cm 313 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.62 cm -3.11 mm -1.2 cm 0 eV 88 keV 4.11 mm 4.11 mm Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 768, Parent ID = 753 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.62 cm -3.11 mm -1.2 cm 225 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.61 cm -3.12 mm -1.2 cm 0 eV 225 keV 98.6 um 98.6 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 751, Parent ID = 514 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.18 cm -1.1 mm -1.08 cm 972 keV 0 eV 0 fm 0 fm liquidArgon initStep + 1 -6.13 cm -1.11 mm -1.08 cm 877 keV 95.1 keV 532 um 532 um liquidArgon msc + 2 -6.1 cm -980 um -1.1 cm 837 keV 40.6 keV 336 um 869 um liquidArgon msc + 3 -6.09 cm -800 um -1.09 cm 797 keV 39.9 keV 260 um 1.13 mm liquidArgon msc + 4 -6.07 cm -780 um -1.1 cm 773 keV 23.9 keV 214 um 1.34 mm liquidArgon msc + 5 -6.05 cm -846 um -1.1 cm 724 keV 49.4 keV 214 um 1.56 mm liquidArgon msc + 6 -6.03 cm -876 um -1.09 cm 690 keV 33.6 keV 214 um 1.77 mm liquidArgon msc + 7 -6.01 cm -937 um -1.09 cm 653 keV 37.2 keV 214 um 1.99 mm liquidArgon msc + 8 -6 cm -954 um -1.09 cm 632 keV 20.9 keV 113 um 2.1 mm liquidArgon Transportation + 9 -6 cm -957 um -1.09 cm 609 keV 22.8 keV 16.8 um 2.12 mm Lead msc + 10 -6 cm -957 um -1.08 cm 582 keV 26.9 keV 16.8 um 2.13 mm Lead msc + 11 -6 cm -945 um -1.08 cm 571 keV 10.6 keV 16.8 um 2.15 mm Lead msc + 12 -6 cm -936 um -1.08 cm 542 keV 29.4 keV 16.8 um 2.17 mm Lead msc + 13 -6 cm -921 um -1.08 cm 528 keV 14.2 keV 16.8 um 2.18 mm Lead msc + 14 -6 cm -909 um -1.08 cm 468 keV 60.1 keV 16.8 um 2.2 mm Lead msc + 15 -6 cm -901 um -1.08 cm 449 keV 18.8 keV 16.8 um 2.22 mm Lead msc + 16 -5.99 cm -906 um -1.08 cm 436 keV 13.4 keV 16.8 um 2.23 mm Lead msc + 17 -6 cm -898 um -1.08 cm 425 keV 10.9 keV 16.8 um 2.25 mm Lead msc + 18 -6 cm -908 um -1.08 cm 399 keV 25.6 keV 16.8 um 2.27 mm Lead msc + 19 -5.99 cm -911 um -1.08 cm 378 keV 21.4 keV 16.8 um 2.28 mm Lead msc + 20 -6 cm -917 um -1.08 cm 366 keV 11.3 keV 16.8 um 2.3 mm Lead msc + 21 -6 cm -925 um -1.08 cm 351 keV 15 keV 16.8 um 2.32 mm Lead msc + 22 -6 cm -927 um -1.08 cm 330 keV 21 keV 16.8 um 2.33 mm Lead msc + 23 -6 cm -931 um -1.08 cm 306 keV 24.9 keV 16.8 um 2.35 mm Lead msc + 24 -6 cm -926 um -1.08 cm 283 keV 22 keV 16.8 um 2.37 mm Lead msc + 25 -6 cm -932 um -1.08 cm 260 keV 23.9 keV 16.8 um 2.38 mm Lead msc + 26 -6 cm -942 um -1.08 cm 237 keV 22.7 keV 16.8 um 2.4 mm Lead msc + 27 -6 cm -941 um -1.08 cm 216 keV 21.4 keV 16.8 um 2.42 mm Lead msc + 28 -6 cm -939 um -1.08 cm 189 keV 26.7 keV 16.8 um 2.43 mm Lead msc + 29 -6 cm -940 um -1.08 cm 167 keV 21.4 keV 16.8 um 2.45 mm Lead msc + 30 -6 cm -939 um -1.08 cm 133 keV 33.9 keV 16.8 um 2.47 mm Lead msc + 31 -6 cm -943 um -1.08 cm 74.6 keV 58.9 keV 16.8 um 2.48 mm Lead msc + 32 -6 cm -945 um -1.08 cm 4.01 keV 70.6 keV 16.8 um 2.5 mm Lead msc + 33 -6 cm -945 um -1.08 cm 0 eV 4.01 keV 191 nm 2.5 mm Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 1 @@ -6683,18 +8054,18 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -8.99 cm 0 fm 0 fm 224 MeV 0 eV 0 fm 0 fm World initStep - 1 -9 cm -761 um -134 um 224 MeV 0 eV 783 um 783 um OutOfWorld Transportation + 1 -9 cm -762 um -134 um 224 MeV 0 eV 784 um 784 um OutOfWorld Transportation ---> End of event: 0 - Absorber: total energy: 681.55123 MeV total track length: 51.051874 cm - Gap: total energy: 38.429952 MeV total track length: 19.567786 cm + Absorber: total energy: 767.811 MeV total track length: 57.8446 cm + Gap: total energy: 62.777 MeV total track length: 31.0161 cm --------------------End of Run------------------------------ - mean Energy in Absorber : 681.55123 MeV +- 4.9006474 eV - mean Energy in Gap : 38.429952 MeV +- 0.32782555 eV + mean Energy in Absorber : 767.811 MeV +- 5.16329 eV + mean Energy in Gap : 62.777 MeV +- 0 eV - mean trackLength in Absorber : 51.051874 cm +- 3.417795 nm - mean trackLength in Gap : 19.567786 cm +- 7.974558 Ang + mean trackLength in Absorber : 57.8446 cm +- 2.12581 nm + mean trackLength in Gap : 31.0161 cm +- 1.23599 nm ------------------------------------------------------------ ### Run 1 start. @@ -6703,7 +8074,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1242521060, 623794325 + Current couple of seeds = 1281496265, 996537785 ---------------------------------------- ********************************************************************************************************* @@ -6721,7 +8092,7 @@ nofParticles: 14 12th particle PDG: -321 G4 particle name: kaon- 13th particle PDG: 211 G4 particle name: pi+ nofParticles for tracking: 7 - 1 -9 cm 0 fm 0 fm 50 MeV1.53e-20 eV 17.4 um 17.4 um World Decay + 1 -9 cm 0 fm 0 fm 50 MeV2.08e-22 eV 237 nm 237 nm World Decay ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 @@ -6729,7 +8100,7 @@ nofParticles for tracking: 7 Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -9 cm 0 fm 0 fm 838 MeV 0 eV 0 fm 0 fm World initStep - 1 -9 cm -41.6 um -37.9 um 838 MeV2.54e-21 eV 59 um 59 um OutOfWorld Transportation + 1 -9 cm -567 nm -516 nm 838 MeV3.49e-23 eV 802 nm 802 nm OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 7, Parent ID = 1 @@ -6737,7 +8108,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -9 cm 0 fm 0 fm 315 MeV 0 eV 0 fm 0 fm World initStep - 1 -9 cm -11.7 um -10.8 um 315 MeV6.3e-22 eV 23.6 um 23.6 um OutOfWorld Transportation + 1 -9 cm -159 nm -147 nm 315 MeV8.7e-24 eV 321 nm 321 nm OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = pi+, Track ID = 6, Parent ID = 1 @@ -6745,15 +8116,15 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -9 cm 0 fm 0 fm 2.22 MeV 0 eV 0 fm 0 fm World initStep - 1 -9 cm -10.8 um -6.08 um 2.22 MeV1.18e-20 eV 21.4 um 21.4 um OutOfWorld Transportation + 1 -9 cm -147 nm -82.8 nm 2.22 MeV1.63e-22 eV 291 nm 291 nm OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -9 cm 0 fm 0 fm 412 MeV 0 eV 0 fm 0 fm World initStep - 1 -7.94 cm 1.37 cm -6 cm 412 MeV2.56e-18 eV 6.24 cm 6.24 cm OutOfWorld Transportation + 0 -9 cm 0 fm 0 fm 413 MeV 0 eV 0 fm 0 fm World initStep + 1 -7.94 cm 1.37 cm -6 cm 413 MeV2.58e-18 eV 6.24 cm 6.24 cm OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 4, Parent ID = 1 @@ -6761,7 +8132,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -9 cm 0 fm 0 fm 135 MeV 0 eV 0 fm 0 fm World initStep - 1 -7.54 cm -2.3 cm 6 cm 135 MeV2.02e-18 eV 6.59 cm 6.59 cm OutOfWorld Transportation + 1 -7.54 cm -2.3 cm 6 cm 135 MeV2.04e-18 eV 6.59 cm 6.59 cm OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = kaon-, Track ID = 3, Parent ID = 1 @@ -6769,62 +8140,106 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -9 cm 0 fm 0 fm 27.8 MeV 0 eV 0 fm 0 fm World initStep - 1 -7.5 cm -1.54 cm -1.84 cm 27.8 MeV5.16e-18 eV 2.83 cm 2.83 cm World Transportation - 2 -7.4 cm -1.65 cm -1.93 cm 13.1 MeV 14.7 MeV 1.81 mm 3.01 cm Lead hIoni - 3 -7.37 cm -1.71 cm -1.97 cm 0 eV 13.1 MeV 727 um 3.08 cm Lead hIoni - 4 -7.37 cm -1.71 cm -1.97 cm 0 eV 0 eV 0 fm 3.08 cm Lead Decay + 1 -7.5 cm -1.54 cm -1.84 cm 27.8 MeV5.19e-18 eV 2.83 cm 2.83 cm World Transportation + 2 -7.43 cm -1.65 cm -1.96 cm 14.5 MeV 13.3 MeV 1.85 mm 3.01 cm Lead hIoni + 3 -7.39 cm -1.7 cm -2.03 cm 0 eV 14.5 MeV 914 um 3.1 cm Lead hIoni + 4 -7.39 cm -1.7 cm -2.03 cm 0 eV 0 eV 0 fm 3.1 cm Lead Decay ********************************************************************************************************* * G4Track Information: Particle = mu-, Track ID = 10, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.37 cm -1.71 cm -1.97 cm 152 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -6.52 cm 689 um -2.36 cm 128 MeV 24.7 MeV 2.03 cm 2.03 cm Lead muIoni - 2 -6.5 cm 1.15 mm -2.38 cm 127 MeV 769 keV 560 um 2.08 cm Lead Transportation - 3 -6 cm 1.18 cm -2.9 cm 124 MeV 3.02 MeV 1.29 cm 3.37 cm liquidArgon Transportation - 4 -5.3 cm 2.37 cm -3.63 cm 101 MeV 23.2 MeV 1.57 cm 4.94 cm Lead muIoni - 5 -5.16 cm 2.7 cm -3.87 cm 93 MeV 5.57 MeV 4.26 mm 5.37 cm Lead muIoni - 6 -5 cm 3.01 cm -4.08 cm 87.7 MeV 5.28 MeV 4.06 mm 5.77 cm Lead Transportation - 7 -4.5 cm 3.76 cm -4.61 cm 85.4 MeV 2.29 MeV 1.05 cm 6.82 cm liquidArgon Transportation - 8 -4.11 cm 4.33 cm -5 cm 73.8 MeV 11.7 MeV 7.96 mm 7.62 cm Lead Transportation - 9 -3.31 cm 6 cm -5.98 cm 73.8 MeV7.14e-19 eV 2.1 cm 9.72 cm OutOfWorld Transportation + 0 -7.39 cm -1.7 cm -2.03 cm 152 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -7.28 cm -1.74 cm -1.92 cm 149 MeV 1.6 MeV 1.56 mm 1.56 mm Lead muIoni + 2 -6.72 cm -2.02 cm -1.29 cm 137 MeV 11.1 MeV 8.89 mm 1.04 cm Lead muIoni + 3 -6.5 cm -2.11 cm -1.01 cm 133 MeV 3.86 MeV 3.64 mm 1.41 cm Lead Transportation + 4 -6 cm -2.23 cm -4.69 mm 131 MeV 1.3 MeV 7.48 mm 2.16 cm liquidArgon Transportation + 5 -5.88 cm -2.25 cm -3.33 mm 127 MeV 2.38 MeV 1.82 mm 2.34 cm Lead muIoni + 6 -5 cm -2.46 cm 7.55 mm 109 MeV 17.5 MeV 1.43 cm 3.77 cm Lead Transportation + 7 -4.5 cm -2.53 cm 1.21 cm 107 MeV 1.53 MeV 6.82 mm 4.45 cm liquidArgon Transportation + 8 -3.58 cm -2.64 cm 2.18 cm 88.9 MeV 18.5 MeV 1.35 cm 5.8 cm Lead muIoni + 9 -3.5 cm -2.62 cm 2.27 cm 87.2 MeV 1.76 MeV 1.24 mm 5.92 cm Lead Transportation + 10 -3 cm -2.45 cm 2.79 cm 85.6 MeV 1.54 MeV 7.47 mm 6.67 cm liquidArgon Transportation + 11 -2.34 cm -2.09 cm 3.48 cm 69.9 MeV 15.7 MeV 1.02 cm 7.69 cm Lead muIoni + 12 -2 cm -2.03 cm 3.85 cm 62.3 MeV 7.58 MeV 5.09 mm 8.2 cm Lead Transportation + 13 -1.5 cm -1.98 cm 4.25 cm 60.6 MeV 1.67 MeV 6.48 mm 8.85 cm liquidArgon Transportation + 14 -9.77 mm -1.82 cm 4.65 cm 50.8 MeV 9.85 MeV 6.79 mm 9.53 cm Lead muIoni + 15 -5.36 mm -1.73 cm 4.96 cm 42.2 MeV 8.62 MeV 5.55 mm 10.1 cm Lead muIoni + 16 -5.03 mm -1.73 cm 5 cm 40.8 MeV 1.35 MeV 516 um 10.1 cm Lead Transportation + 17 3.25 mm -1.61 cm 6 cm 40.8 MeV5.88e-19 eV 1.3 cm 11.4 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.88 cm -2.25 cm -3.33 mm 2.51 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -5.87 cm -2.27 cm -3.29 mm 2.15 MeV 368 keV 356 um 356 um Lead msc + 2 -5.88 cm -2.28 cm -3.47 mm 1.77 MeV 375 keV 244 um 600 um Lead msc + 3 -5.88 cm -2.27 cm -3.54 mm 1.51 MeV 117 keV 96.9 um 697 um Lead eBrem + 4 -5.88 cm -2.26 cm -3.69 mm 1.05 MeV 460 keV 327 um 1.02 mm Lead msc + 5 -5.88 cm -2.25 cm -3.79 mm 504 keV 436 keV 389 um 1.41 mm Lead eBrem + 6 -5.88 cm -2.25 cm -3.81 mm 0 eV 504 keV 312 um 1.72 mm Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.88 cm -2.25 cm -3.79 mm 109 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.88 cm -2.27 cm -4.02 mm 0 eV 88 keV 283 um 283 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.88 cm -2.27 cm -4.02 mm 20.7 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.88 cm -2.27 cm -4.02 mm 0 eV 20.7 keV 2.15 um 2.15 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.88 cm -2.27 cm -3.54 mm 145 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.88 cm -2.26 cm -3.55 mm 0 eV 88 keV 73.4 um 73.4 um Lead phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.88 cm -2.26 cm -3.55 mm 56.9 keV 0 eV 0 fm 0 fm Lead initStep + 1 -5.88 cm -2.26 cm -3.55 mm 0 eV 56.9 keV 11.1 um 11.1 um Lead eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.72 cm -2.02 cm -1.29 cm 1.52 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -6.72 cm -2.04 cm -1.3 cm 471 keV 1.05 MeV 876 um 876 um Lead eBrem + 2 -6.72 cm -2.04 cm -1.3 cm 0 eV 471 keV 285 um 1.16 mm Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.16 cm 2.7 cm -3.87 cm 2.2 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -5.17 cm 2.7 cm -3.9 cm 1.73 MeV 465 keV 408 um 408 um Lead msc - 2 -5.19 cm 2.68 cm -3.9 cm 1.31 MeV 421 keV 408 um 817 um Lead msc - 3 -5.21 cm 2.68 cm -3.9 cm 159 keV 1.05 MeV 876 um 1.69 mm Lead eBrem - 4 -5.21 cm 2.68 cm -3.9 cm 0 eV 159 keV 57.3 um 1.75 mm Lead eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.21 cm 2.68 cm -3.9 cm 102 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.2 cm 2.68 cm -3.9 cm 0 eV 88 keV 73.4 um 73.4 um Lead phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.2 cm 2.68 cm -3.9 cm 14.3 keV 0 eV 0 fm 0 fm Lead initStep - 1 -5.2 cm 2.68 cm -3.9 cm 0 eV 14.3 keV 1.2 um 1.2 um Lead eIoni + 0 -7.28 cm -1.74 cm -1.92 cm 1.73 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -7.26 cm -1.73 cm -1.93 cm 404 keV 1.32 MeV 1.29 mm 1.29 mm Lead eIoni + 2 -7.26 cm -1.73 cm -1.93 cm 0 eV 404 keV 231 um 1.52 mm Lead eIoni ********************************************************************************************************* * G4Track Information: Particle = anti_nu_mu, Track ID = 9, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.37 cm -1.71 cm -1.97 cm 236 MeV 0 eV 0 fm 0 fm Lead initStep - 1 -7.5 cm -2.01 cm -1.91 cm 236 MeV 0 eV 3.3 mm 3.3 mm Lead Transportation - 2 -9 cm -5.58 cm -1.24 cm 236 MeV 0 eV 3.93 cm 4.26 cm OutOfWorld Transportation + 0 -7.39 cm -1.7 cm -2.03 cm 236 MeV 0 eV 0 fm 0 fm Lead initStep + 1 -7.5 cm -1.66 cm -2.14 cm 236 MeV 0 eV 1.66 mm 1.66 mm Lead Transportation + 2 -9 cm -1.07 cm -3.64 cm 236 MeV 0 eV 2.2 cm 2.37 cm OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = pi+, Track ID = 2, Parent ID = 1 @@ -6832,18 +8247,18 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -9 cm 0 fm 0 fm 246 MeV 0 eV 0 fm 0 fm World initStep - 1 -9 cm 2.41 um 1.77 um 246 MeV4.83e-22 eV 17.7 um 17.7 um OutOfWorld Transportation + 1 -9 cm 32.8 nm 24.1 nm 246 MeV6.68e-24 eV 240 nm 240 nm OutOfWorld Transportation ---> End of event: 0 - Absorber: total energy: 101.20803 MeV total track length: 5.7114623 cm - Gap: total energy: 5.3138455 MeV total track length: 2.336241 cm + Absorber: total energy: 133.433 MeV total track length: 8.02995 cm + Gap: total energy: 6.04417 MeV total track length: 2.82463 cm --------------------End of Run------------------------------ - mean Energy in Absorber : 101.20803 MeV +- 0 eV - mean Energy in Gap : 5.3138455 MeV +- 0 eV + mean Energy in Absorber : 133.433 MeV +- 0 eV + mean Energy in Gap : 6.04417 MeV +- 0 eV - mean trackLength in Absorber : 5.7114623 cm +- 4.2014933 Ang - mean trackLength in Gap : 2.336241 cm +- 1.4542953 Ang + mean trackLength in Absorber : 8.02995 cm +- 0 fm + mean trackLength in Gap : 2.82463 cm +- 0 fm ------------------------------------------------------------ 1 @@ -6859,8 +8274,8 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng ** *:::::::::!!:::::::::::::::::* P Y T H H I A A ** ** *::::::::!!::::::::::::::::*! P Y T H H III A A ** ** *::::::!!::::::::::::::* !! ** - ** !! *:::!!:::::::::::* !! This is PYTHIA version 6.418 ** - ** !! !* -><- * !! Last date of change: 9 Jun 2008 ** + ** !! *:::!!:::::::::::* !! This is PYTHIA version 6.423 ** + ** !! !* -><- * !! Last date of change: 9 Jun 2010 ** ** !! !! !! ** ** !! !! !! Now is 0 Jan 2000 at 0:00:00 ** ** !! !! ** @@ -6869,7 +8284,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng ** !! hh !! of errors and use common sense ** ** !! ll !! when interpreting results. ** ** !! !! ** - ** !! Copyright T. Sjostrand (2008) ** + ** !! Copyright T. Sjostrand (2010) ** ** ** ** An archive of program versions and documentation is found on the web: ** ** http://www.thep.lu.se/~torbjorn/Pythia.html ** @@ -6888,10 +8303,8 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng ** Author: Stephen Mrenna; Computing Division, GDS Group, ** ** Fermi National Accelerator Laboratory, MS 234, Batavia, IL 60510, USA; ** ** phone: + 1 - 630 - 840 - 2556; e-mail: mrenna@fnal.gov ** - ** Author: Peter Skands; Theoretical Physics Department, ** - ** Fermi National Accelerator Laboratory, MS 106, Batavia, IL 60510, USA; ** - ** and CERN/PH, CH-1211 Geneva, Switzerland; ** - ** phone: + 41 - 22 - 767 24 59; e-mail: skands@fnal.gov ** + ** Author: Peter Skands; CERN/PH-TH, CH-1211 Geneva, Switzerland ** + ** phone: + 41 - 22 - 767 24 47; e-mail: peter.skands@cern.ch ** ** ** ** ** ****************************************************************************** diff --git a/examples/extended/eventgenerator/pythia/decayer6/src/EventAction.cc b/examples/extended/eventgenerator/pythia/decayer6/src/EventAction.cc index 4843b35274..b1a2f6c57d 100644 --- a/examples/extended/eventgenerator/pythia/decayer6/src/EventAction.cc +++ b/examples/extended/eventgenerator/pythia/decayer6/src/EventAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: EventAction.cc,v 1.1 2008/11/03 11:48:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.2 2010/06/06 04:52:12 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // ---------------------------------------------------------------------------- @@ -36,9 +36,6 @@ #include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4VTrajectory.hh" -#include "G4VVisManager.hh" #include "G4UnitsTable.hh" #include "Randomize.hh" diff --git a/examples/extended/eventgenerator/pythia/decayer6/src/G4Pythia6Decayer.cc b/examples/extended/eventgenerator/pythia/decayer6/src/G4Pythia6Decayer.cc index 4b580a5f66..f4caffab65 100644 --- a/examples/extended/eventgenerator/pythia/decayer6/src/G4Pythia6Decayer.cc +++ b/examples/extended/eventgenerator/pythia/decayer6/src/G4Pythia6Decayer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Pythia6Decayer.cc,v 1.3 2008/12/18 12:56:38 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Pythia6Decayer.cc,v 1.4 2010/10/21 09:21:41 ivana Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // According to TPythia6Decayer class in Root: // http://root.cern.ch/ @@ -39,7 +39,6 @@ #include "G4DecayProducts.hh" #include "G4DecayTable.hh" #include "G4ParticleTable.hh" -#include "G4DynamicParticle.hh" #include "G4Track.hh" #include @@ -108,7 +107,7 @@ G4Pythia6Decayer::CreateDynamicParticle(const Pythia6Particle* particle) const /// Create G4DynamicParticle. // get particle properties - G4ParticleDefinition* particleDefinition + const G4ParticleDefinition* particleDefinition = GetParticleDefinition(particle); if ( ! particleDefinition ) return 0; diff --git a/examples/extended/eventgenerator/pythia/decayer6/src/PhysicsList.cc b/examples/extended/eventgenerator/pythia/decayer6/src/PhysicsList.cc index 0063b401b4..91bded33d0 100644 --- a/examples/extended/eventgenerator/pythia/decayer6/src/PhysicsList.cc +++ b/examples/extended/eventgenerator/pythia/decayer6/src/PhysicsList.cc @@ -24,14 +24,25 @@ // ******************************************************************** // // -// $Id: PhysicsList.cc,v 1.1 2008/11/03 11:48:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysicsList.cc,v 1.2 2010/10/21 09:21:41 ivana Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------------- #include "PhysicsList.hh" +#include "G4ProcessManager.hh" + +#include "G4BosonConstructor.hh" +#include "G4LeptonConstructor.hh" +#include "G4MesonConstructor.hh" +#include "G4BosonConstructor.hh" +#include "G4BaryonConstructor.hh" +#include "G4IonConstructor.hh" + +/// REMOVE +/* #include "G4ProcessManager.hh" #include "G4ParticleTypes.hh" #include "G4Pythia6Decayer.hh" @@ -53,7 +64,7 @@ #include "G4hIonisation.hh" #include "G4Decay.hh" - +*/ // ---------------------------------------------------------------------------- PhysicsList::PhysicsList(): G4VUserPhysicsList() @@ -77,76 +88,22 @@ void PhysicsList::ConstructParticle() // This ensures that objects of these particle types will be // created in the program. - ConstructBosons(); - ConstructLeptons(); - ConstructMesons(); - ConstructBaryons(); + G4BosonConstructor pBosonConstructor; + pBosonConstructor.ConstructParticle(); + + G4LeptonConstructor pLeptonConstructor; + pLeptonConstructor.ConstructParticle(); + + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); + + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); + + G4IonConstructor pIonConstructor; + pIonConstructor.ConstructParticle(); } -// ---------------------------------------------------------------------------- - -void PhysicsList::ConstructBosons() -{ - // pseudo-particles - G4Geantino::GeantinoDefinition(); - G4ChargedGeantino::ChargedGeantinoDefinition(); - - // gamma - G4Gamma::GammaDefinition(); - - // optical photon - G4OpticalPhoton::OpticalPhotonDefinition(); -} - -// ---------------------------------------------------------------------------- - -void PhysicsList::ConstructLeptons() -{ - // leptons - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); - G4MuonPlus::MuonPlusDefinition(); - G4MuonMinus::MuonMinusDefinition(); - - G4NeutrinoE::NeutrinoEDefinition(); - G4AntiNeutrinoE::AntiNeutrinoEDefinition(); - G4NeutrinoMu::NeutrinoMuDefinition(); - G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); -} - -// ---------------------------------------------------------------------------- - -void PhysicsList::ConstructMesons() -{ - // mesons - G4PionPlus::PionPlusDefinition(); - G4PionMinus::PionMinusDefinition(); - G4PionZero::PionZeroDefinition(); - G4Eta::EtaDefinition(); - G4EtaPrime::EtaPrimeDefinition(); - G4KaonPlus::KaonPlusDefinition(); - G4KaonMinus::KaonMinusDefinition(); - G4KaonZero::KaonZeroDefinition(); - G4AntiKaonZero::AntiKaonZeroDefinition(); - G4KaonZeroLong::KaonZeroLongDefinition(); - G4KaonZeroShort::KaonZeroShortDefinition(); - G4BMesonMinus::BMesonMinusDefinition(); - G4BMesonPlus::BMesonPlusDefinition(); - G4BMesonZero::BMesonZeroDefinition(); -} - -// ---------------------------------------------------------------------------- - -void PhysicsList::ConstructBaryons() -{ - // barions - G4Proton::ProtonDefinition(); - G4AntiProton::AntiProtonDefinition(); - G4Neutron::NeutronDefinition(); - G4AntiNeutron::AntiNeutronDefinition(); -} - - // ---------------------------------------------------------------------------- void PhysicsList::ConstructProcess() @@ -158,11 +115,31 @@ void PhysicsList::ConstructProcess() // ---------------------------------------------------------------------------- +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4eMultipleScattering.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" + +#include "G4ionIonisation.hh" + void PhysicsList::ConstructEM() { theParticleIterator->reset(); - while( (*theParticleIterator)() ) - { + while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); @@ -175,37 +152,60 @@ void PhysicsList::ConstructEM() } else if (particleName == "e-") { //electron - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); + 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 G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); - + 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 G4MultipleScattering,-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-" || + 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 ((!particle->IsShortLived()) && + } else if( particleName == "alpha" || + 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")) { //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); + } } } // ---------------------------------------------------------------------------- +#include "G4Decay.hh" +#include "G4Pythia6Decayer.hh" + void PhysicsList::ConstructDecay() { // Add Decay Process @@ -248,6 +248,7 @@ void PhysicsList::SetCuts() SetCutValue(defaultCutValue, "gamma"); SetCutValue(defaultCutValue, "e-"); SetCutValue(defaultCutValue, "e+"); + SetCutValue(defaultCutValue, "proton"); if (verboseLevel>0) DumpCutValuesTable(); } diff --git a/examples/extended/eventgenerator/pythia/decayer6/src/Pythia6.cc b/examples/extended/eventgenerator/pythia/decayer6/src/Pythia6.cc index 20f0159299..3a45434376 100644 --- a/examples/extended/eventgenerator/pythia/decayer6/src/Pythia6.cc +++ b/examples/extended/eventgenerator/pythia/decayer6/src/Pythia6.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: Pythia6.cc,v 1.1 2008/11/03 11:48:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: Pythia6.cc,v 1.2 2010/10/21 09:21:41 ivana Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // According to TPythia6 class from Root: // (The TPythia6 class is an interface class to F77 routines in Pythia6 // @@ -88,6 +88,8 @@ #include "Pythia6.hh" #include +#include +#include #ifndef WIN32 # define pycomp pycomp_ diff --git a/examples/extended/eventgenerator/pythia/decayer6/vis.mac b/examples/extended/eventgenerator/pythia/decayer6/vis.mac index f2ccd64987..59289a39d9 100644 --- a/examples/extended/eventgenerator/pythia/decayer6/vis.mac +++ b/examples/extended/eventgenerator/pythia/decayer6/vis.mac @@ -1,4 +1,4 @@ -# $Id: vis.mac,v 1.1 2008/11/03 11:48:35 gcosmo Exp $ +# $Id: vis.mac,v 1.4 2010/06/06 04:52:12 perl Exp $ # # Macro file for the initialization phase # when running in interactive mode @@ -9,46 +9,71 @@ /control/saveHistory /run/verbose 2 # -# create empty scene +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/scene/create -# -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) -# -# Use this open statement to get an .eps and .prim files -# suitable for viewing in DAWN. +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# Use this open statement instead for OpenGL in immediate mode. -/vis/open OGLIX -#/vis/open RayTracer -#/vis/open OIX -# Output an empty detector -/vis/viewer/set/viewpointThetaPhi 30 30 deg -/vis/viewer/flush +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# Draw trajectories at end of event, showing trajectory points as -# markers of size 2 pixels -/vis/scene/add/trajectories +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 30. 30. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 # (if too many tracks cause core dump => /tracking/storeTrajectory 0) # -# To draw gammas only +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: #/vis/filtering/trajectories/create/particleFilter #/vis/filtering/trajectories/particleFilter-0/add gamma # -# To draw charged particles only +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: #/vis/filtering/trajectories/particleFilter-0/invert true # -# Many other options available with /vis/modeling and /vis/filtering. -# For example, select colour by particle ID +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: #/vis/modeling/trajectories/create/drawByParticleID -#/vis/modeling/trajectories/drawByParticleID-0/set e- red +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue # +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -# At end of each run, an automatic flush causes graphical output. -#/run/beamOn 1 +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/exoticphysics/monopole/History b/examples/extended/exoticphysics/monopole/History index 47a8371938..add7784199 100644 --- a/examples/extended/exoticphysics/monopole/History +++ b/examples/extended/exoticphysics/monopole/History @@ -1,12 +1,12 @@ -$Id: History,v 1.4 2009/07/15 10:19:47 vnivanch Exp $ +$Id: History,v 1.13 2010/12/08 14:52:51 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= Geant4 - an Object-Oriented Toolkit for Simulation in HEP ========================================================= - monopol History file - -------------------- + Monopole Example 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. @@ -15,6 +15,36 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +08 December 10: V.Ivant (monopole-V09-03-08) +- added forgotten files + +29 November 10: V.Ivant (monopole-V09-03-07) +- Use the most recent version of monopole transportation, + delta-electron prudction enabled, non-integer monopole charge allowed + +9 November 10: M.Asai (monopole-V09-03-06) +- Fix AIDA file option. + +6 June 10: J.Perl (monopole-V09-03-05) +- Remove unused variable in EventAction + +4 June 10: J.Perl (monopole-V09-03-04) +- Updated vis usage + +04 June 10: V.Ivant (monopole-V09-03-03) +- Substituted QGSP by QGSP_BERT +- (J. Apostolakis, B. Bozsogi) Added new classes for monopole + G4MonopoleEquation, G4MonopoleFieldSetup, G4MonopoleTransportation + +12 May 10: J.Allison (monopole-V09-03-02) +- Introduced GUIExecutive. + +31 March 10: V.Ivant (monopole-V09-03-01) +- Removed obsolete header G4MultipleScattering.hh + +23 March 10: V.Ivant (monopole-V09-03-00) +- Cleanup and add test on ionisation of heavy highly charged particle + 14 July 09: V.Ivant (monopole-V09-02-00) - Added messenger to define mass and change of the monopole diff --git a/examples/extended/exoticphysics/monopole/charge.csh b/examples/extended/exoticphysics/monopole/charge.csh new file mode 100644 index 0000000000..3c22f900c1 --- /dev/null +++ b/examples/extended/exoticphysics/monopole/charge.csh @@ -0,0 +1,16 @@ +#/bin/csh +# +# 23 March 2010 V.Ivanchenko test on heavy objects with great charge +# + +gmake + +mv res+.out res+.out.old +mv res-.out res-.out.old + +$G4BIN/Linux-g++/monopole monopole.in '0 100 150 GeV' >& res+.out +$G4BIN/Linux-g++/monopole monopole.in '0 -100 150 GeV' >& res-.out + +tkdiff res+.out res-.out + +# diff --git a/examples/extended/exoticphysics/monopole/include/DetectorConstruction.hh b/examples/extended/exoticphysics/monopole/include/DetectorConstruction.hh index 394e2963fe..488d1488e4 100644 --- a/examples/extended/exoticphysics/monopole/include/DetectorConstruction.hh +++ b/examples/extended/exoticphysics/monopole/include/DetectorConstruction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: DetectorConstruction.hh,v 1.2 2009/07/15 10:19:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: DetectorConstruction.hh,v 1.3 2010/06/04 19:03:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -40,6 +40,7 @@ class G4LogicalVolume; class G4Material; class G4UniformMagField; class DetectorMessenger; +class G4MonopoleFieldSetup; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -82,7 +83,10 @@ private: G4double absorSizeYZ; G4double maxStepSize; G4Material* absorMaterial; + G4UniformMagField* magField; + G4MonopoleFieldSetup* fMFieldSetup; + G4LogicalVolume* lAbsor; DetectorMessenger* detectorMessenger; diff --git a/examples/extended/exoticphysics/monopole/include/G4Monopole.cc b/examples/extended/exoticphysics/monopole/include/G4Monopole.cc new file mode 100644 index 0000000000..aa381446bd --- /dev/null +++ b/examples/extended/exoticphysics/monopole/include/G4Monopole.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. * +// ******************************************************************** +// +//--------------------------------------------------------------------------- +// +// ClassName: G4Monopole +// +// Description: +// +// Authors: 21.03.05 V.Ivanchenko +// +// Modified: +// +// 12.07.10 S.Burdin (changed the magnetic and electric charge variables from integer to double) +//---------------------------------------------------------------------------- +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4Monopole.hh" +#include "G4ParticleTable.hh" + +// ###################################################################### +// ### Monopole ### +// ###################################################################### + +G4Monopole* G4Monopole::theMonopole = 0; +G4double G4Monopole::magCharge = 0.0; + +G4Monopole::G4Monopole( + const G4String& aName, G4double mass, + G4double width, G4double charge, + G4int iSpin, G4int iParity, + G4int iConjugation, G4int iIsospin, + G4int iIsospin3, G4int gParity, + const G4String& pType, G4int lepton, + G4int baryon, G4int encoding, + G4bool stable, G4double lifetime, + G4DecayTable *decaytable) + : G4ParticleDefinition( aName, mass, width, charge, iSpin, iParity, + iConjugation, iIsospin, iIsospin3, gParity, pType, + lepton, baryon, encoding, stable, lifetime, decaytable ) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4Monopole::~G4Monopole() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// +// Arguments for constructor are as follows +// name mass width charge +// 2*spin parity C-conjugation +// 2*Isospin 2*Isospin3 G-parity +// type lepton number baryon number PDG encoding +// stable lifetime decay table +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4Monopole* G4Monopole::MonopoleDefinition(G4double mass, G4double mCharge, G4double eCharge) +{ + if(!theMonopole) { + magCharge = eplus * mCharge / fine_structure_const * 0.5; + theMonopole = new G4Monopole( + "monopole", mass, 0.0*MeV, eplus*eCharge, + 0, 0, 0, + 0, 0, 0, + "boson", 0, 0, 0, + true, -1.0, 0); + + + G4cout << "Monopole is created: m(GeV)= " << theMonopole->GetPDGMass()/GeV + << " Qel= " << theMonopole->GetPDGCharge()/eplus + << " Qmag= " << magCharge/eplus + << G4endl; + } + return theMonopole; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4Monopole* G4Monopole::Monopole() +{ + if(!theMonopole) { theMonopole = MonopoleDefinition(); } + return theMonopole; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Monopole::MagneticCharge() const +{ + return magCharge; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/examples/extended/exoticphysics/monopole/include/G4Monopole.hh b/examples/extended/exoticphysics/monopole/include/G4Monopole.hh index 1811ac32be..fa51e86a26 100644 --- a/examples/extended/exoticphysics/monopole/include/G4Monopole.hh +++ b/examples/extended/exoticphysics/monopole/include/G4Monopole.hh @@ -36,6 +36,7 @@ // // Modified: // +// 12.07.10 S.Burdin (changed the magnetic and electric charge variables from integer to double) //---------------------------------------------------------------------------- // @@ -71,12 +72,12 @@ private: public: static G4Monopole* MonopoleDefinition(G4double mass_ = 100.*GeV, - G4int magCharge_ = 1, - G4int elCharge_ = 0); + G4double magCharge_ = 1.0, + G4double elCharge_ = 0.0); static G4Monopole* Monopole(); - static G4double MagneticCharge() {return magCharge;}; + G4double MagneticCharge() const; private: diff --git a/source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh b/examples/extended/exoticphysics/monopole/include/G4MonopoleEquation.hh similarity index 59% rename from source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh rename to examples/extended/exoticphysics/monopole/include/G4MonopoleEquation.hh index c02bb20c5c..1cae04a3e9 100644 --- a/source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh +++ b/examples/extended/exoticphysics/monopole/include/G4MonopoleEquation.hh @@ -23,56 +23,56 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4MonopoleEquation.hh,v 1.2 2010/11/29 15:14:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: G4PolarizedComptonScattering.hh,v 1.9 2006/06/29 19:51:14 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// --------- G4PolarizedComptonScattering physics process ---------------------- -// by Vicente Lara, March 1998 -// -// ----------------------------------------------------------------------------- - -// class description -// -// inherit from G4ComptonScattering -// - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// +// +// class G4MonopoleEquation +// +// Class description: +// +// This is the right-hand side of equation of motion in a combined +// electric and magnetic field for magnetic monopoles. -#ifndef G4PolarizedComptonScattering_h -#define G4PolarizedComptonScattering_h 1 +// History: +// - Created. V.Grichine, 10.11.98 +// - Modified. S.Burdin, 30.04.10 +// B.Bozsogi, 15.06.10 +// ------------------------------------------------------------------- -#include "G4ComptonScattering52.hh" -#include "G4EnergyLossTables.hh" +#ifndef G4MONOPOLEEQUATION_hh +#define G4MONOPOLEEQUATION_hh -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +#include "G4EquationOfMotion.hh" +#include "G4ElectroMagneticField.hh" -class G4PolarizedComptonScattering : public G4ComptonScattering52 +class G4MonopoleEquation : public G4EquationOfMotion { - public: // with description + public: // with description - G4PolarizedComptonScattering(const G4String& processName = "polarCompt"); + G4MonopoleEquation(G4ElectroMagneticField *emField ); + // : G4EquationOfMotion( emField ) {;} - G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep); + ~G4MonopoleEquation() {;} - private: - - G4ThreeVector SetNewPolarization(G4double, G4double, - G4double, G4double, - G4ThreeVector& ); + void SetChargeMomentumMass(G4double particleMagneticCharge, + G4double particleElectricCharge, + 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. - G4double SetPhi(G4double, G4double, G4double, G4double); - - - void SystemOfRefChange(G4ThreeVector&, G4ThreeVector&, G4ThreeVector&, - G4ThreeVector&); - - // hide assignment operator as private - G4PolarizedComptonScattering& operator=(const G4PolarizedComptonScattering &right); - G4PolarizedComptonScattering(const G4PolarizedComptonScattering& ); + private: + G4double fMagCharge ; + G4double fElCharge; + G4double fMassCof; }; - + #endif - diff --git a/examples/extended/exoticphysics/monopole/include/G4MonopoleFieldMessenger.hh b/examples/extended/exoticphysics/monopole/include/G4MonopoleFieldMessenger.hh new file mode 100644 index 0000000000..2bf02a6ccd --- /dev/null +++ b/examples/extended/exoticphysics/monopole/include/G4MonopoleFieldMessenger.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. * +// ******************************************************************** +// +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// ======================================================================= +// Created: 15 Jun 2010, B. Bozsogi +// ======================================================================= + +#ifndef G4MonopoleFieldMessenger_h +#define G4MonopoleFieldMessenger_h + +#include "globals.hh" +#include "G4UImessenger.hh" + +class G4MonopoleFieldSetup; +class G4UIdirectory; +class G4UIcmdWithADoubleAndUnit; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class G4MonopoleFieldMessenger: public G4UImessenger +{ + public: + + G4MonopoleFieldMessenger(G4MonopoleFieldSetup* ); + ~G4MonopoleFieldMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + + G4MonopoleFieldSetup* Field; + + G4UIdirectory* fieldDir; + G4UIcmdWithADoubleAndUnit* SetFieldCmd; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/exoticphysics/monopole/include/G4MonopoleFieldSetup.hh b/examples/extended/exoticphysics/monopole/include/G4MonopoleFieldSetup.hh new file mode 100644 index 0000000000..e0ed3349a4 --- /dev/null +++ b/examples/extended/exoticphysics/monopole/include/G4MonopoleFieldSetup.hh @@ -0,0 +1,97 @@ +// +// ******************************************************************** +// * 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: G4MonopoleFieldSetup.hh,v 1.2 2010/11/29 15:14:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// +// ------------------------------------------------------------ +// GEANT 4 include file implementation +// ------------------------------------------------------------ +// +// G4MonopoleFieldSetup is responsible for setting up a magnetic field +// and the ability to use it with two different equation of motions, +// one for monopoles and another for the rest of the particles. +// +// + +// ======================================================================= +// Created: 13 May 2010, B. Bozsogi +// ======================================================================= + +#ifndef G4MonopoleFieldSetup_H +#define G4MonopoleFieldSetup_H + +#include "G4MagneticField.hh" +#include "G4UniformMagField.hh" + +class G4FieldManager; +class G4ChordFinder; +class G4Mag_UsualEqRhs; +class G4MagIntegratorStepper; +class G4MonopoleEquation; + +class G4MonopoleFieldMessenger; + +class G4MonopoleFieldSetup +{ +public: + void InitialiseAll(); // Set parameters and call method below + void SetMagField(G4double fieldValue); + void SetStepperAndChordFinder(G4int val); + + static G4MonopoleFieldSetup* GetMonopoleFieldSetup(); + +protected: + G4MonopoleFieldSetup(G4ThreeVector) ; // The value of the field + G4MonopoleFieldSetup() ; // A zero field + + ~G4MonopoleFieldSetup() ; + +protected: + G4FieldManager* GetGlobalFieldManager() ; // static + + G4FieldManager* fFieldManager ; + G4ChordFinder* fChordFinder ; + G4Mag_UsualEqRhs* fEquation ; + G4MonopoleEquation* fMonopoleEquation ; + G4MagneticField* fMagneticField ; + + G4MagIntegratorStepper* fStepper ; + G4MagIntegratorStepper* fMonopoleStepper ; + + G4double fMinStep ; + +private: + static G4MonopoleFieldSetup* fMonopoleFieldSetup; + + G4MonopoleFieldMessenger* fMonopoleFieldMessenger; + +}; + +#endif diff --git a/examples/extended/exoticphysics/monopole/include/G4MonopolePhysics.hh b/examples/extended/exoticphysics/monopole/include/G4MonopolePhysics.hh index 17a850d432..d169a8379c 100644 --- a/examples/extended/exoticphysics/monopole/include/G4MonopolePhysics.hh +++ b/examples/extended/exoticphysics/monopole/include/G4MonopolePhysics.hh @@ -24,8 +24,10 @@ // ******************************************************************** // // -// $Id: G4MonopolePhysics.hh,v 1.2 2009/07/15 10:19:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4MonopolePhysics.hh,v 1.4 2010/11/29 15:14:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// 12.07.10 S.Burdin (changed the magnetic and electric charge variables from integer to double) // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -39,6 +41,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class G4MonopolePhysicsMessenger; +class G4Monopole; class G4MonopolePhysics : public G4VPhysicsConstructor { @@ -55,21 +58,22 @@ public: // registered to the process manager of each particle type virtual void ConstructProcess(); - void SetMagneticCharge(G4int); - void SetElectricCharge(G4int); + void SetMagneticCharge(G4double); + void SetElectricCharge(G4double); void SetMonopoleMass(G4double); private: // hide assignment operator - // G4MonopolePhysics & operator=(const G4MonopolePhysics &right); - // G4MonopolePhysics(const G4MonopolePhysics&); + G4MonopolePhysics & operator=(const G4MonopolePhysics &right); + G4MonopolePhysics(const G4MonopolePhysics&); - G4int magCharge; - G4int elCharge; + G4double magCharge; + G4double elCharge; G4double monopoleMass; G4MonopolePhysicsMessenger* theMessenger; + G4Monopole* mpl; }; diff --git a/examples/extended/exoticphysics/monopole/include/G4MonopolePhysicsMessenger.hh b/examples/extended/exoticphysics/monopole/include/G4MonopolePhysicsMessenger.hh index c5ab6fcc2f..dd8ecb233b 100644 --- a/examples/extended/exoticphysics/monopole/include/G4MonopolePhysicsMessenger.hh +++ b/examples/extended/exoticphysics/monopole/include/G4MonopolePhysicsMessenger.hh @@ -23,8 +23,10 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MonopolePhysicsMessenger.hh,v 1.1 2009/07/15 10:20:07 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4MonopolePhysicsMessenger.hh,v 1.2 2010/11/29 15:14:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// 12.07.10 S.Burdin (changed the magnetic and electric charge variables from integer to double) // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -38,7 +40,7 @@ class G4MonopolePhysics; class G4UIdirectory; class G4UIcommand; -class G4UIcmdWithAnInteger; +class G4UIcmdWithADouble; class G4UIcmdWithADoubleAndUnit; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -58,8 +60,8 @@ private: G4UIdirectory* mPhysicsDir; G4UIcommand* mPhysicsCmd; - G4UIcmdWithAnInteger* mCmd; - G4UIcmdWithAnInteger* zCmd; + G4UIcmdWithADouble* mCmd; + G4UIcmdWithADouble* zCmd; G4UIcmdWithADoubleAndUnit* massCmd; }; diff --git a/examples/extended/exoticphysics/monopole/include/G4MonopoleTransportation.hh b/examples/extended/exoticphysics/monopole/include/G4MonopoleTransportation.hh new file mode 100644 index 0000000000..0b06e5df7f --- /dev/null +++ b/examples/extended/exoticphysics/monopole/include/G4MonopoleTransportation.hh @@ -0,0 +1,227 @@ +// +// ******************************************************************** +// * 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: G4MonopoleTransportation.hh,v 1.1 2010/06/04 19:03:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// +// ------------------------------------------------------------ +// GEANT 4 include file implementation +// ------------------------------------------------------------ +// +// Class description: +// +// G4MonopoleTransportation is a process responsible for the transportation of +// magnetic monopoles, i.e. the geometrical propagation encountering the +// geometrical sub-volumes of the detectors. +// It is also tasked with part of updating the "safety". + +// ======================================================================= +// Created: 3 May 2010, J. Apostolakis, B. Bozsogi +// ======================================================================= + +#ifndef G4MonopoleTransportation_hh +#define G4MonopoleTransportation_hh 1 + +#include "G4VProcess.hh" +#include "G4FieldManager.hh" + +#include "G4Navigator.hh" +#include "G4TransportationManager.hh" +#include "G4PropagatorInField.hh" +#include "G4Track.hh" +#include "G4Step.hh" +#include "G4ParticleChangeForTransport.hh" +#include "G4MonopoleFieldSetup.hh" + +class G4SafetyHelper; +class G4Monopole; + +class G4MonopoleTransportation : public G4VProcess +{ + // Concrete class that does the geometrical transport + + public: // with description + + G4MonopoleTransportation(const G4Monopole* p, G4int verbosityLevel= 1); + ~G4MonopoleTransportation(); + + G4double AlongStepGetPhysicalInteractionLength( + const G4Track& track, + G4double previousStepSize, + G4double currentMinimumStep, + G4double& currentSafety, + G4GPILSelection* selection + ); + + G4VParticleChange* AlongStepDoIt( + const G4Track& track, + const G4Step& stepData + ); + + G4VParticleChange* PostStepDoIt( + const G4Track& track, + const G4Step& stepData + ); + // Responsible for the relocation. + + G4double PostStepGetPhysicalInteractionLength( + const G4Track& , + G4double previousStepSize, + G4ForceCondition* pForceCond + ); + // Forces the PostStepDoIt action to be called, + // but does not limit the step. + + G4PropagatorInField* GetPropagatorInField(); + void SetPropagatorInField( G4PropagatorInField* pFieldPropagator); + // Access/set the assistant class that Propagate in a Field. + + inline void SetVerboseLevel( G4int verboseLevel ); + inline G4int GetVerboseLevel() const; + // Level of warnings regarding eg energy conservation + // in field integration. + + inline G4double GetThresholdWarningEnergy() const; + inline G4double GetThresholdImportantEnergy() const; + inline G4int GetThresholdTrials() const; + + inline void SetThresholdWarningEnergy( G4double newEnWarn ); + inline void SetThresholdImportantEnergy( G4double newEnImp ); + inline void SetThresholdTrials(G4int newMaxTrials ); + + // Get/Set parameters for killing loopers: + // Above 'important' energy a 'looping' particle in field will + // *NOT* be abandoned, except after fThresholdTrials attempts. + // Below Warning energy, no verbosity for looping particles is issued + + inline G4double GetMaxEnergyKilled() const; + inline G4double GetSumEnergyKilled() const; + inline void ResetKilledStatistics( G4int report = 1); + // Statistics for tracks killed (currently due to looping in field) + + inline void EnableShortStepOptimisation(G4bool optimise=true); + // Whether short steps < safety will avoid to call Navigator (if field=0) + + public: // without description + + G4double AtRestGetPhysicalInteractionLength( + const G4Track& , + G4ForceCondition* + ) { return -1.0; }; + // No operation in AtRestDoIt. + + G4VParticleChange* AtRestDoIt( + const G4Track& , + const G4Step& + ) {return 0;}; + // No operation in AtRestDoIt. + + void StartTracking(G4Track* aTrack); + // Reset state for new (potentially resumed) track + + protected: + + G4bool DoesGlobalFieldExist(); + // Checks whether a field exists for the "global" field manager. + + private: + + const G4Monopole* pParticleDef; + + G4MonopoleFieldSetup* magSetup; + + G4Navigator* fLinearNavigator; + G4PropagatorInField* fFieldPropagator; + // The Propagators used to transport the particle + + // G4FieldManager* fGlobalFieldMgr; // Used MagneticField CC + // Field Manager for the whole Detector + + G4ThreeVector fTransportEndPosition; + G4ThreeVector fTransportEndMomentumDir; + G4double fTransportEndKineticEnergy; + G4ThreeVector fTransportEndSpin; + G4bool fMomentumChanged; + G4bool fEnergyChanged; + G4bool fEndGlobalTimeComputed; + G4double fCandidateEndGlobalTime; + // The particle's state after this Step, Store for DoIt + + G4bool fParticleIsLooping; + + G4TouchableHandle fCurrentTouchableHandle; + + // G4bool fFieldExists; + // Whether a magnetic field exists ... + // A data member for this is problematic: it is useful only if it + // can be initialised and updated -- and a scheme is not yet possible. + + G4bool fGeometryLimitedStep; + // Flag to determine whether a boundary was reached. + + G4ThreeVector fPreviousSftOrigin; + G4double fPreviousSafety; + // Remember last safety origin & value. + + G4ParticleChangeForTransport fParticleChange; + // New ParticleChange + + G4double endpointDistance; + + // Thresholds for looping particles: + // + G4double fThreshold_Warning_Energy; // Warn above this energy + G4double fThreshold_Important_Energy; // Hesitate above this + G4int fThresholdTrials; // for this no of trials + // Above 'important' energy a 'looping' particle in field will + // *NOT* be abandoned, except after fThresholdTrials attempts. + G4double fUnimportant_Energy; + // Below this energy, no verbosity for looping particles is issued + + // Counter for steps in which particle reports 'looping', + // if it is above 'Important' Energy + G4int fNoLooperTrials; + // Statistics for tracks abandoned + G4double fSumEnergyKilled; + G4double fMaxEnergyKilled; + + // Whether to avoid calling G4Navigator for short step ( < safety) + // If using it, the safety estimate for endpoint will likely be smaller. + G4bool fShortStepOptimisation; + + G4SafetyHelper* fpSafetyHelper; // To pass it the safety value obtained + + // Verbosity + G4int fVerboseLevel; + // Verbosity level for warnings + // eg about energy non-conservation in magnetic field. +}; + +#include "G4MonopoleTransportation.icc" + +#endif diff --git a/examples/extended/exoticphysics/monopole/include/G4MonopoleTransportation.icc b/examples/extended/exoticphysics/monopole/include/G4MonopoleTransportation.icc new file mode 100644 index 0000000000..d707e35d3e --- /dev/null +++ b/examples/extended/exoticphysics/monopole/include/G4MonopoleTransportation.icc @@ -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. * +// ******************************************************************** +// +// $Id: G4MonopoleTransportation.icc,v 1.1 2010/06/04 19:03:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// +// Inline function implementation. +// +// ======================================================================= +// Created: 3 May 2010, J. Apostolakis, B. Bozsogi +// ======================================================================= +// + +inline void +G4MonopoleTransportation::SetPropagatorInField( G4PropagatorInField* pFieldPropagator) +{ + fFieldPropagator= pFieldPropagator; +} + +inline G4PropagatorInField* G4MonopoleTransportation::GetPropagatorInField() +{ + return fFieldPropagator; +} + +inline G4bool G4MonopoleTransportation::DoesGlobalFieldExist() +{ + G4TransportationManager* transportMgr; + transportMgr= G4TransportationManager::GetTransportationManager(); + + // fFieldExists= transportMgr->GetFieldManager()->DoesFieldExist(); + // return fFieldExists; + return transportMgr->GetFieldManager()->DoesFieldExist(); +} + +inline void G4MonopoleTransportation::SetVerboseLevel( G4int verboseLev ) +{ + fVerboseLevel= verboseLev; +} + +inline G4int G4MonopoleTransportation::GetVerboseLevel( ) const +{ + return fVerboseLevel; +} + +inline G4double G4MonopoleTransportation::GetThresholdWarningEnergy() const +{ + return fThreshold_Warning_Energy; +} + +inline G4double G4MonopoleTransportation::GetThresholdImportantEnergy() const +{ + return fThreshold_Important_Energy; +} + +inline G4int G4MonopoleTransportation::GetThresholdTrials() const +{ + return fThresholdTrials; +} + +inline void G4MonopoleTransportation::SetThresholdWarningEnergy( G4double newEnWarn ) +{ + fThreshold_Warning_Energy= newEnWarn; +} + +inline void G4MonopoleTransportation::SetThresholdImportantEnergy( G4double newEnImp ) +{ + fThreshold_Important_Energy = newEnImp; +} + +inline void G4MonopoleTransportation::SetThresholdTrials(G4int newMaxTrials ) +{ + fThresholdTrials = newMaxTrials; +} + + // Get/Set parameters for killing loopers: + // Above 'important' energy a 'looping' particle in field will + // *NOT* be abandoned, except after fThresholdTrials attempts. + // Below Warning energy, no verbosity for looping particles is issued + +inline G4double G4MonopoleTransportation::GetMaxEnergyKilled() const +{ + return fMaxEnergyKilled; +} + +inline G4double G4MonopoleTransportation::GetSumEnergyKilled() const +{ + return fSumEnergyKilled; +} + +inline void G4MonopoleTransportation::ResetKilledStatistics(G4int report) +{ + if( report ) { + G4cout << " G4MonopoleTransportation: Statistics for looping particles " << G4endl; + G4cout << " Sum of energy of loopers killed: " << fSumEnergyKilled << G4endl; + G4cout << " Max energy of loopers killed: " << fMaxEnergyKilled << G4endl; + } + + fSumEnergyKilled= 0; + fMaxEnergyKilled= -1.0*GeV; +} + // Statistics for tracks killed (currently due to looping in field) + +inline void G4MonopoleTransportation::EnableShortStepOptimisation(G4bool optimiseShortStep) +{ + fShortStepOptimisation=optimiseShortStep; +} diff --git a/examples/extended/exoticphysics/monopole/monopole.cc b/examples/extended/exoticphysics/monopole/monopole.cc index 949bfb1534..faaef56217 100644 --- a/examples/extended/exoticphysics/monopole/monopole.cc +++ b/examples/extended/exoticphysics/monopole/monopole.cc @@ -23,22 +23,20 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: monopole.cc,v 1.2 2009/07/15 10:19:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: monopole.cc,v 1.6 2010/06/06 04:53:49 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "Randomize.hh" #include "globals.hh" #include "DetectorConstruction.hh" #include "G4MonopolePhysics.hh" -#include "QGSP.hh" +#include "QGSP_BERT.hh" #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" @@ -50,6 +48,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -61,18 +63,24 @@ int main(int argc,char** argv) { G4RunManager * runManager = new G4RunManager; //create physicsList - QGSP* phys = new QGSP(); + QGSP_BERT* phys = new QGSP_BERT(); G4MonopolePhysics * theMonopole = new G4MonopolePhysics(); phys->RegisterPhysics(theMonopole); - + + // visualization manager +#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(); // Setup monopole G4String s = ""; - if(argc > 2) s = argv[2]; - UI->ApplyCommand("/control/verbose 1"); - UI->ApplyCommand("/monopole/setup "+s); + if(argc > 2) { s = argv[2]; } + UImanager->ApplyCommand("/control/verbose 1"); + UImanager->ApplyCommand("/monopole/setup "+s); // mandator user classes DetectorConstruction* det = new DetectorConstruction(); @@ -83,11 +91,6 @@ int main(int argc,char** argv) { PrimaryGeneratorAction* kin = new PrimaryGeneratorAction(det); runManager->SetUserAction(kin); -#ifdef G4VIS_USE - //visualization manager - G4VisManager* visManager = 0; -#endif - //user action classes RunAction* run; @@ -96,24 +99,19 @@ int main(int argc,char** argv) { runManager->SetUserAction(new TrackingAction(run)); runManager->SetUserAction(new SteppingAction(det, run)); - if (argc == 1) // Define UI terminal for interactive mode - { - visManager = new G4VisExecutive(); - visManager->Initialize(); - G4UIsession* session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; - } - else // Batch mode + 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 UI session +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; +#endif } //job termination diff --git a/examples/extended/exoticphysics/monopole/src/DetectorConstruction.cc b/examples/extended/exoticphysics/monopole/src/DetectorConstruction.cc index e2d4adaaaf..2dbfb2e8c1 100644 --- a/examples/extended/exoticphysics/monopole/src/DetectorConstruction.cc +++ b/examples/extended/exoticphysics/monopole/src/DetectorConstruction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: DetectorConstruction.cc,v 1.1 2007/08/16 10:32:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.cc,v 1.2 2010/06/04 19:03:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -47,6 +47,10 @@ #include "G4UnitsTable.hh" #include "G4NistManager.hh" +#include "G4MonopoleFieldSetup.hh" +#include "G4FieldManager.hh" +#include "G4TransportationManager.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... DetectorConstruction::DetectorConstruction() @@ -59,6 +63,7 @@ DetectorConstruction::DetectorConstruction() worldMaterial = absorMaterial = 0; magField = 0; lAbsor = 0; + fMFieldSetup = 0; DefineMaterials(); SetMaterial("G4_Al"); @@ -67,15 +72,15 @@ DetectorConstruction::DetectorConstruction() detectorMessenger = new DetectorMessenger(this); } - - DetectorConstruction::~DetectorConstruction() -{delete detectorMessenger;} - +{ + delete detectorMessenger; +} G4VPhysicalVolume* DetectorConstruction::Construct() -{ return ConstructVolumes();} - +{ + return ConstructVolumes(); +} void DetectorConstruction::DefineMaterials() { @@ -116,8 +121,6 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() G4LogicalVolumeStore::GetInstance()->Clean(); G4SolidStore::GetInstance()->Clean(); - - /**************************** World *****************************/ G4Box * sWorld = new G4Box("world", //name worldSizeX / 2, worldSizeYZ / 2, worldSizeYZ / 2); //dimensions @@ -198,15 +201,17 @@ void DetectorConstruction::SetMaterial(G4String materialChoice) //....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(); + G4FieldManager * fieldMgr = + G4TransportationManager::GetTransportationManager()->GetFieldManager(); - if (magField) delete magField; //delete the existing magn field + if (magField) { delete magField; } //delete the existing magn field + + //fMFieldSetup = G4MonopoleFieldSetup::GetMonopoleFieldSetup(); // create the field + if (fieldValue != 0.) // create a new one if non nul { @@ -221,8 +226,8 @@ void DetectorConstruction::SetMagField(G4double fieldValue) } } - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void DetectorConstruction::SetMaxStepSize(G4double step_) { maxStepSize = step_; diff --git a/examples/extended/exoticphysics/monopole/src/EventAction.cc b/examples/extended/exoticphysics/monopole/src/EventAction.cc index d67ba8a512..dfc88f4eb2 100644 --- a/examples/extended/exoticphysics/monopole/src/EventAction.cc +++ b/examples/extended/exoticphysics/monopole/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.1 2007/08/16 10:32:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.3 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,9 +34,6 @@ #include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -65,23 +62,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - 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(1000); - else - if ((drawFlag == "charged") && (trj->GetCharge() != 0.)) - trj->DrawTrajectory(1000); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/exoticphysics/monopole/src/G4Monopole.cc b/examples/extended/exoticphysics/monopole/src/G4Monopole.cc index 15a5092c59..aa381446bd 100644 --- a/examples/extended/exoticphysics/monopole/src/G4Monopole.cc +++ b/examples/extended/exoticphysics/monopole/src/G4Monopole.cc @@ -33,6 +33,7 @@ // // Modified: // +// 12.07.10 S.Burdin (changed the magnetic and electric charge variables from integer to double) //---------------------------------------------------------------------------- // @@ -80,18 +81,18 @@ G4Monopole::~G4Monopole() // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4Monopole* G4Monopole::MonopoleDefinition(G4double mass, G4int mCharge, G4int eCharge) +G4Monopole* G4Monopole::MonopoleDefinition(G4double mass, G4double mCharge, G4double eCharge) { if(!theMonopole) { - magCharge = eplus * G4double(mCharge) / fine_structure_const * 0.5; + magCharge = eplus * mCharge / fine_structure_const * 0.5; theMonopole = new G4Monopole( - "monopole", mass, 0.0*MeV, eplus*G4double(eCharge), - 0, 0, 0, - 0, 0, 0, - "boson", 0, 0, 0, - true, -1.0, 0); - - + "monopole", mass, 0.0*MeV, eplus*eCharge, + 0, 0, 0, + 0, 0, 0, + "boson", 0, 0, 0, + true, -1.0, 0); + + G4cout << "Monopole is created: m(GeV)= " << theMonopole->GetPDGMass()/GeV << " Qel= " << theMonopole->GetPDGCharge()/eplus << " Qmag= " << magCharge/eplus @@ -105,9 +106,16 @@ G4Monopole* G4Monopole::MonopoleDefinition(G4double mass, G4int mCharge, G4int e G4Monopole* G4Monopole::Monopole() { - if(!theMonopole) theMonopole = MonopoleDefinition(); + if(!theMonopole) { theMonopole = MonopoleDefinition(); } return theMonopole; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +G4double G4Monopole::MagneticCharge() const +{ + return magCharge; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/examples/extended/exoticphysics/monopole/src/G4MonopoleEquation.cc b/examples/extended/exoticphysics/monopole/src/G4MonopoleEquation.cc new file mode 100644 index 0000000000..909bb31924 --- /dev/null +++ b/examples/extended/exoticphysics/monopole/src/G4MonopoleEquation.cc @@ -0,0 +1,142 @@ +// +// ******************************************************************** +// * 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: G4MonopoleEquation.cc,v 1.2 2010/11/29 15:14:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// +// +// class G4MonopoleEquation +// +// Class description: +// +// +// 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 +// +// 10.11.98 V.Grichine +// +// 30.04.10 S.Burdin (modified to use for the monopole trajectories). +// +// 15.06.10 B.Bozsogi (replaced the hardcoded magnetic charge with +// the one passed by G4MonopoleTransportation) +// +workaround to pass the electric charge. +// +// 12.07.10 S.Burdin (added equations for the electric charges) +// ------------------------------------------------------------------- + +#include "G4MonopoleEquation.hh" +#include "globals.hh" +#include + +G4MonopoleEquation::G4MonopoleEquation(G4ElectroMagneticField *emField ) + : G4EquationOfMotion( emField ) { +} + +void +G4MonopoleEquation::SetChargeMomentumMass(G4double particleMagneticCharge, // e+ units + G4double particleElectricCharge, + G4double particleMass) +{ + // fElCharge = particleElectricCharge; + fElCharge =eplus* particleElectricCharge*c_light; + + + fMagCharge = eplus*particleMagneticCharge*c_light ; + +// G4cout << " G4MonopoleEquation: ElectricCharge=" << particleElectricCharge +// << "; MagneticCharge=" << particleMagneticCharge +// << G4endl; + + + fMassCof = particleMass*particleMass ; +} + +void +G4MonopoleEquation::EvaluateRhsGivenB(const G4double y[], + const G4double Field[], + G4double dydx[] ) const +{ + + // Components of y: + // 0-2 dr/ds, + // 3-5 dp/ds - momentum derivatives + + G4double pSquared = y[3]*y[3] + y[4]*y[4] + y[5]*y[5] ; + + G4double Energy = std::sqrt( pSquared + fMassCof ); + + // G4double pModuleInverse = (pSquared <= 0.0) ? 0.0 : 1.0/std::sqrt(pSquared); + G4double pModuleInverse = 1.0/std::sqrt(pSquared); + + G4double inverse_velocity = Energy * pModuleInverse / c_light; + + G4double cofEl = fElCharge * pModuleInverse ; + G4double cofMag = fMagCharge * Energy * pModuleInverse; + + + dydx[0] = y[3]*pModuleInverse ; + dydx[1] = y[4]*pModuleInverse ; + dydx[2] = y[5]*pModuleInverse ; + + // G4double magCharge = twopi * hbar_Planck / (eplus * mu0); + // magnetic charge in SI units A*m convention + // see http://en.wikipedia.org/wiki/Magnetic_monopole + // G4cout << "Magnetic charge: " << magCharge << G4endl; + + // dp/ds = dp/dt * dt/ds = dp/dt / v = Force / velocity + + // dydx[3] = fMagCharge * Field[0] * inverse_velocity * c_light; // multiplied by c_light to convert to MeV/mm + // dydx[4] = fMagCharge * Field[1] * inverse_velocity * c_light; + // dydx[5] = fMagCharge * Field[2] * inverse_velocity * c_light; + + dydx[3] = cofMag * Field[0] + cofEl * (y[4]*Field[2] - y[5]*Field[1]); + dydx[4] = cofMag * Field[1] + cofEl * (y[5]*Field[0] - y[3]*Field[2]); + dydx[5] = cofMag * Field[2] + cofEl * (y[3]*Field[1] - y[4]*Field[0]); + +// G4cout << std::setprecision(5)<< "E=" << Energy +// << "; p="<< 1/pModuleInverse +// << "; mC="<< magCharge +// <<"; x=" << y[0] +// <<"; y=" << y[1] +// <<"; z=" << y[2] +// <<"; dydx[3]=" << dydx[3] +// <<"; dydx[4]=" << dydx[4] +// <<"; dydx[5]=" << dydx[5] +// << G4endl; + + dydx[6] = 0.;//not used + + //////// + + // Lab Time of flight + dydx[7] = inverse_velocity; + return ; +} diff --git a/examples/extended/exoticphysics/monopole/src/G4MonopoleFieldMessenger.cc b/examples/extended/exoticphysics/monopole/src/G4MonopoleFieldMessenger.cc new file mode 100644 index 0000000000..fea506d372 --- /dev/null +++ b/examples/extended/exoticphysics/monopole/src/G4MonopoleFieldMessenger.cc @@ -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. * +// ******************************************************************** +// +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// ======================================================================= +// Created: 15 Jun 2010, B. Bozsogi +// ======================================================================= + +#include "G4MonopoleFieldMessenger.hh" + +#include "G4MonopoleFieldSetup.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4MonopoleFieldMessenger::G4MonopoleFieldMessenger(G4MonopoleFieldSetup * fld) +:Field(fld) +{ + fieldDir = new G4UIdirectory("/testex/fld/"); + fieldDir->SetGuidance("field setup commands"); + + SetFieldCmd = new G4UIcmdWithADoubleAndUnit("/testex/fld/setField",this); + SetFieldCmd->SetGuidance("Define magnetic field."); + SetFieldCmd->SetGuidance("Magnetic field will be in Z direction."); + SetFieldCmd->SetParameterName("Bz",false); + SetFieldCmd->SetUnitCategory("Magnetic flux density"); + SetFieldCmd->AvailableForStates(G4State_PreInit,G4State_Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4MonopoleFieldMessenger::~G4MonopoleFieldMessenger() +{ + delete SetFieldCmd; + delete fieldDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4MonopoleFieldMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + if( command == SetFieldCmd ) + { Field->SetMagField(SetFieldCmd->GetNewDoubleValue(newValue));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/exoticphysics/monopole/src/G4MonopoleFieldSetup.cc b/examples/extended/exoticphysics/monopole/src/G4MonopoleFieldSetup.cc new file mode 100644 index 0000000000..80ce2cad2b --- /dev/null +++ b/examples/extended/exoticphysics/monopole/src/G4MonopoleFieldSetup.cc @@ -0,0 +1,189 @@ +// +// ******************************************************************** +// * 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: G4MonopoleFieldSetup.cc,v 1.2 2010/11/29 15:14:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// +// +// G4MonopoleFieldSetup is responsible for setting up a magnetic field +// and the ability to use it with two different equation of motions, +// one for monopoles and another for the rest of the particles. +// +// + +// ======================================================================= +// Created: 13 May 2010, B. Bozsogi +// ======================================================================= + +#include "G4MonopoleFieldSetup.hh" +#include "G4MonopoleFieldMessenger.hh" + +#include "G4MagneticField.hh" +#include "G4UniformMagField.hh" +#include "G4FieldManager.hh" +#include "G4TransportationManager.hh" +#include "G4Mag_UsualEqRhs.hh" +#include "G4MonopoleEquation.hh" +#include "G4MagIntegratorStepper.hh" +#include "G4ChordFinder.hh" + +// #include "G4ExplicitEuler.hh" +// #include "G4ImplicitEuler.hh" +// #include "G4SimpleRunge.hh" +// #include "G4SimpleHeum.hh" +#include "G4ClassicalRK4.hh" +// #include "G4HelixExplicitEuler.hh" +// #include "G4HelixImplicitEuler.hh" +// #include "G4HelixSimpleRunge.hh" +// #include "G4CashKarpRKF45.hh" +// #include "G4RKG3_Stepper.hh" + +// #include "G4SIunits.hh" + +G4MonopoleFieldSetup* G4MonopoleFieldSetup::fMonopoleFieldSetup=0; + +////////////////////////////////////////////////////////////////////////// +// +// Constructor +G4MonopoleFieldSetup::G4MonopoleFieldSetup() +{ + if (!fMonopoleFieldSetup) + { + fChordFinder = 0; + fStepper = 0; + fMagneticField = 0; + + fMonopoleFieldMessenger = new G4MonopoleFieldMessenger(this); + } + else + { + G4cerr << "Only ONE instance of G4MonopoleFieldSetup is allowed!" + << G4endl; + G4Exception("G4MonopoleFieldSetup::G4MonopoleFieldSetup()", + "InvalidSetup", FatalException, + "Only ONE instance of MagneticFieldSetup is allowed!"); + } +} + +////////////////////////////////////////////////////////////////////////// +// Retrieve the static instance of the singleton +// +G4MonopoleFieldSetup* G4MonopoleFieldSetup::GetMonopoleFieldSetup() +{ + static G4MonopoleFieldSetup theInstance; + if (!fMonopoleFieldSetup) + { + fMonopoleFieldSetup = &theInstance; + } + + return fMonopoleFieldSetup; +} + +//////////////////////////////////////////////////////////////////////////////// + +G4MonopoleFieldSetup::~G4MonopoleFieldSetup() +{ + delete fMonopoleFieldMessenger; + if(fMagneticField) delete fMagneticField; + if(fChordFinder) delete fChordFinder; + if(fStepper) delete fStepper; + if(fMonopoleStepper) delete fMonopoleStepper; +} + +//////////////////////////////////////////////////////////////////////////////// + +void G4MonopoleFieldSetup::SetMagField(G4double fieldValue) +{ + //apply a global uniform magnetic field along Z axis + if (fMagneticField) { delete fMagneticField; } //delete the existing magn field + + if (fieldValue != 0.) // create a new one if non nul + { + fMagneticField = new G4UniformMagField(G4ThreeVector(0., 0., fieldValue)); + InitialiseAll(); + } + else + { + fMagneticField = 0; + fFieldManager->SetDetectorField(fMagneticField); + } +} + +//////////////////////////////////////////////////////////////////////////////// + +void +G4MonopoleFieldSetup::InitialiseAll() +{ + fFieldManager = G4TransportationManager::GetTransportationManager() + ->GetFieldManager(); + + fEquation = new G4Mag_UsualEqRhs(fMagneticField); + fMonopoleEquation = new G4MonopoleEquation(fMagneticField); + + fMinStep = 0.01*mm ; // minimal step of 1 mm is default + + fMonopoleStepper = new G4ClassicalRK4( fMonopoleEquation, 8 ); // for time information.. + fStepper = new G4ClassicalRK4( fEquation ); + + SetStepperAndChordFinder(0); +} + +///////////////////////////////////////////////////////////////////////////// +// +// Update field +// +void G4MonopoleFieldSetup::SetStepperAndChordFinder(G4int val) +{ + if (fMagneticField) + { + fFieldManager->SetDetectorField(fMagneticField ); + + if(fChordFinder) delete fChordFinder; + + switch (val) + { + case 0: + fChordFinder = new G4ChordFinder( fMagneticField, fMinStep, fStepper); + break; + case 1: + fChordFinder = new G4ChordFinder( fMagneticField, fMinStep, fMonopoleStepper); + break; + } + + fFieldManager->SetChordFinder( fChordFinder ); + } +} + +//////////////////////////////////////////////////////////////////////////////// +// +// Utility method +G4FieldManager* G4MonopoleFieldSetup::GetGlobalFieldManager() +{ + return G4TransportationManager::GetTransportationManager() + ->GetFieldManager(); +} diff --git a/examples/extended/exoticphysics/monopole/src/G4MonopolePhysics.cc b/examples/extended/exoticphysics/monopole/src/G4MonopolePhysics.cc index 43523a5cff..d479b99ff1 100644 --- a/examples/extended/exoticphysics/monopole/src/G4MonopolePhysics.cc +++ b/examples/extended/exoticphysics/monopole/src/G4MonopolePhysics.cc @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4MonopolePhysics.cc,v 1.2 2009/07/15 10:19:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4MonopolePhysics.cc,v 1.6 2010/11/29 15:14:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -35,6 +34,7 @@ // // Modified: // +// 12.07.10 S.Burdin (changed the magnetic and electric charge variables from integer to double) //---------------------------------------------------------------------------- // // @@ -50,17 +50,22 @@ #include "G4StepLimiter.hh" #include "G4Transportation.hh" -#include "G4MultipleScattering.hh" +#include "G4MonopoleTransportation.hh" +#include "G4hMultipleScattering.hh" #include "G4mplIonisation.hh" +#include "G4mplIonisationWithDeltaModel.hh" #include "G4hhIonisation.hh" +#include "G4hIonisation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4MonopolePhysics::G4MonopolePhysics(const G4String& nam) : G4VPhysicsConstructor(nam) { - magCharge = 1; - elCharge = 0; + magCharge = 1.0; + // magCharge = -1.0; + // elCharge = -50.0; + elCharge = 0.0; monopoleMass = 100.*GeV; theMessenger = new G4MonopolePhysicsMessenger(this); } @@ -72,16 +77,14 @@ G4MonopolePhysics::~G4MonopolePhysics() void G4MonopolePhysics::ConstructParticle() { - G4Monopole::MonopoleDefinition(monopoleMass, magCharge, elCharge); + mpl = G4Monopole::MonopoleDefinition(monopoleMass, magCharge, elCharge); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void G4MonopolePhysics::ConstructProcess() { if(verboseLevel > 0) { G4cout << "G4MonopolePhysics::ConstructProcess" << G4endl; } - G4Monopole* mpl = G4Monopole::Monopole(); G4ProcessManager* pmanager = new G4ProcessManager(mpl); mpl->SetProcessManager(pmanager); @@ -100,31 +103,45 @@ void G4MonopolePhysics::ConstructProcess() if(nbin < 1) nbin = 1; nbin *= 10; - pmanager->AddProcess( new G4Transportation(), -1, 0, 0); + if(magn == 0.0) { + pmanager->AddProcess( new G4Transportation(), -1, 0, 0); + } else { + pmanager->AddProcess( new G4MonopoleTransportation(mpl), -1, 0, 0); + } + + G4int idx = 1; + if(mpl->GetPDGCharge() != 0.0) { + //G4hMultipleScattering* hmsc = new G4hMultipleScattering(); + //pmanager->AddProcess(hmsc, -1, idx, idx); + //++idx; + G4hIonisation* hhioni = new G4hIonisation(); + hhioni->SetDEDXBinning(nbin); + hhioni->SetMinKinEnergy(emin); + hhioni->SetMaxKinEnergy(emax); + pmanager->AddProcess(hhioni, -1, idx, idx); + ++idx; + } if(magn != 0.0) { G4mplIonisation* mplioni = new G4mplIonisation(magn); mplioni->SetDEDXBinning(nbin); mplioni->SetMinKinEnergy(emin); mplioni->SetMaxKinEnergy(emax); - pmanager->AddProcess(mplioni, -1, 1, 1); + G4mplIonisationWithDeltaModel* mod = + new G4mplIonisationWithDeltaModel(magn,"PAI"); + mplioni->AddEmModel(0,mod,mod); + pmanager->AddProcess(mplioni, -1, idx, idx); + ++idx; } - if(mpl->GetPDGCharge() != 0.0) { - G4hhIonisation* hhioni = new G4hhIonisation(); - hhioni->SetDEDXBinning(nbin); - hhioni->SetMinKinEnergy(emin); - hhioni->SetMaxKinEnergy(emax); - pmanager->AddProcess(hhioni, -1, 2, 2); - } - pmanager->AddProcess( new G4StepLimiter(), -1, -1, 3); + pmanager->AddProcess( new G4StepLimiter(), -1, -1, idx); } -void G4MonopolePhysics::SetMagneticCharge(G4int val) +void G4MonopolePhysics::SetMagneticCharge(G4double val) { magCharge = val; } -void G4MonopolePhysics::SetElectricCharge(G4int val) +void G4MonopolePhysics::SetElectricCharge(G4double val) { elCharge = val; } diff --git a/examples/extended/exoticphysics/monopole/src/G4MonopolePhysicsMessenger.cc b/examples/extended/exoticphysics/monopole/src/G4MonopolePhysicsMessenger.cc index 815eb17309..e844501478 100644 --- a/examples/extended/exoticphysics/monopole/src/G4MonopolePhysicsMessenger.cc +++ b/examples/extended/exoticphysics/monopole/src/G4MonopolePhysicsMessenger.cc @@ -23,8 +23,10 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MonopolePhysicsMessenger.cc,v 1.1 2009/07/15 10:20:07 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4MonopolePhysicsMessenger.cc,v 1.2 2010/11/29 15:14:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// 12.07.10 S.Burdin (changed the magnetic and electric charge variables from integer to double) // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,7 +36,7 @@ #include "G4MonopolePhysics.hh" #include "G4UIdirectory.hh" #include "G4UIcommand.hh" -#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithADouble.hh" #include "G4UIcmdWithADoubleAndUnit.hh" #include @@ -50,12 +52,12 @@ G4MonopolePhysicsMessenger::G4MonopolePhysicsMessenger(G4MonopolePhysics* p) mPhysicsCmd = new G4UIcommand("/monopole/setup",this); mPhysicsCmd->SetGuidance("Setup monopole"); // - G4UIparameter* qmag = new G4UIparameter("qmag",'i',false); + G4UIparameter* qmag = new G4UIparameter("qmag",'d',false); qmag->SetGuidance("Magnetic charge"); qmag->SetDefaultValue("1"); mPhysicsCmd->SetParameter(qmag); - G4UIparameter* q = new G4UIparameter("qelec",'i',false); + G4UIparameter* q = new G4UIparameter("qelec",'d',false); q->SetGuidance("Electric charge charge"); q->SetDefaultValue("0"); mPhysicsCmd->SetParameter(q); @@ -71,12 +73,12 @@ G4MonopolePhysicsMessenger::G4MonopolePhysicsMessenger(G4MonopolePhysics* p) qmag->SetDefaultValue("GeV"); mPhysicsCmd->AvailableForStates(G4State_PreInit); - mCmd = new G4UIcmdWithAnInteger("/monopole/magCharge",this); + mCmd = new G4UIcmdWithADouble("/monopole/magCharge",this); mCmd->SetGuidance("Set monopole magnetic charge number"); mCmd->SetParameterName("Qmag",false); mCmd->AvailableForStates(G4State_PreInit); - zCmd = new G4UIcmdWithAnInteger("/monopole/elCharge",this); + zCmd = new G4UIcmdWithADouble("/monopole/elCharge",this); zCmd->SetGuidance("Set monopole electric charge number"); zCmd->SetParameterName("Qel",false); zCmd->AvailableForStates(G4State_PreInit); @@ -107,7 +109,7 @@ void G4MonopolePhysicsMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { if (command == mPhysicsCmd) - { G4int q, m; G4double mass; + { G4double q, m; G4double mass; G4String unts; std::istringstream is(newValue); is >> m >> q >> mass >> unts; @@ -117,8 +119,8 @@ void G4MonopolePhysicsMessenger::SetNewValue(G4UIcommand* command, phys->SetElectricCharge(q); phys->SetMonopoleMass(mass*vUnit); } - if (command == mCmd) {phys->SetMagneticCharge(mCmd->GetNewIntValue(newValue));} - if (command == zCmd) {phys->SetElectricCharge(zCmd->GetNewIntValue(newValue));} + if (command == mCmd) {phys->SetMagneticCharge(mCmd->GetNewDoubleValue(newValue));} + if (command == zCmd) {phys->SetElectricCharge(zCmd->GetNewDoubleValue(newValue));} if (command == massCmd) {phys->SetMonopoleMass(massCmd->GetNewDoubleValue(newValue));} } diff --git a/examples/extended/exoticphysics/monopole/src/G4MonopoleTransportation.cc b/examples/extended/exoticphysics/monopole/src/G4MonopoleTransportation.cc new file mode 100644 index 0000000000..ffc4d5aaa1 --- /dev/null +++ b/examples/extended/exoticphysics/monopole/src/G4MonopoleTransportation.cc @@ -0,0 +1,739 @@ +// +// ******************************************************************** +// * 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: G4MonopoleTransportation.cc,v 1.2 2010/11/29 15:14:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// +// This class is a process responsible for the transportation of +// magnetic monopoles, ie the geometrical propagation that encounters the +// geometrical sub-volumes of the detectors. +// +// For monopoles, uses a different equation of motion and ignores energy +// conservation. +// + +// ======================================================================= +// Created: 3 May 2010, J. Apostolakis, B. Bozsogi +// ======================================================================= + +#include "G4MonopoleTransportation.hh" +#include "G4ProductionCutsTable.hh" +#include "G4ParticleTable.hh" +#include "G4ChordFinder.hh" +#include "G4SafetyHelper.hh" +#include "G4FieldManagerStore.hh" +#include "G4Monopole.hh" + +class G4VSensitiveDetector; + +////////////////////////////////////////////////////////////////////////// +// +// Constructor + +G4MonopoleTransportation::G4MonopoleTransportation( const G4Monopole* mpl, + G4int verb) + : G4VProcess( G4String("MonopoleTransportation"), fTransportation ), + fParticleIsLooping( false ), + fPreviousSftOrigin (0.,0.,0.), + fPreviousSafety ( 0.0 ), + fThreshold_Warning_Energy( 100 * MeV ), + fThreshold_Important_Energy( 250 * MeV ), + fThresholdTrials( 10 ), + fUnimportant_Energy( 1 * MeV ), + fNoLooperTrials(0), + fSumEnergyKilled( 0.0 ), fMaxEnergyKilled( 0.0 ), + fShortStepOptimisation(false), // Old default: true (=fast short steps) + fVerboseLevel( verb ) +{ + pParticleDef = mpl; + + magSetup = G4MonopoleFieldSetup::GetMonopoleFieldSetup(); + + G4TransportationManager* transportMgr ; + + transportMgr = G4TransportationManager::GetTransportationManager() ; + + fLinearNavigator = transportMgr->GetNavigatorForTracking() ; + + // fGlobalFieldMgr = transportMgr->GetFieldManager() ; + + fFieldPropagator = transportMgr->GetPropagatorInField() ; + + fpSafetyHelper = transportMgr->GetSafetyHelper(); // New + + // Cannot determine whether a field exists here, + // because it would only work if the field manager has informed + // about the detector's field before this transportation process + // is constructed. + // Instead later the method DoesGlobalFieldExist() is called + + static G4TouchableHandle nullTouchableHandle; // Points to (G4VTouchable*) 0 + fCurrentTouchableHandle = nullTouchableHandle; + + fEndGlobalTimeComputed = false; + fCandidateEndGlobalTime = 0; +} + +////////////////////////////////////////////////////////////////////////// + +G4MonopoleTransportation::~G4MonopoleTransportation() +{ + if( (fVerboseLevel > 0) && (fSumEnergyKilled > 0.0 ) ){ + G4cout << " G4MonopoleTransportation: Statistics for looping particles " << G4endl; + G4cout << " Sum of energy of loopers killed: " << fSumEnergyKilled << G4endl; + G4cout << " Max energy of loopers killed: " << fMaxEnergyKilled << G4endl; + } +} + +////////////////////////////////////////////////////////////////////////// +// +// Responsibilities: +// Find whether the geometry limits the Step, and to what length +// Calculate the new value of the safety and return it. +// Store the final time, position and momentum. + +G4double G4MonopoleTransportation:: +AlongStepGetPhysicalInteractionLength( const G4Track& track, + G4double, // previousStepSize + G4double currentMinimumStep, + G4double& currentSafety, + G4GPILSelection* selection ) +{ + magSetup->SetStepperAndChordFinder(1); + // change to monopole equation + + G4double geometryStepLength, newSafety ; + fParticleIsLooping = false ; + + // Initial actions moved to StartTrack() + // -------------------------------------- + // Note: in case another process changes touchable handle + // it will be necessary to add here (for all steps) + // fCurrentTouchableHandle = aTrack->GetTouchableHandle(); + + // GPILSelection is set to defaule value of CandidateForSelection + // It is a return value + // + *selection = CandidateForSelection ; + + // Get initial Energy/Momentum of the track + // + const G4DynamicParticle* pParticle = track.GetDynamicParticle() ; + G4ThreeVector startMomentumDir = pParticle->GetMomentumDirection() ; + G4ThreeVector startPosition = track.GetPosition() ; + + // G4double theTime = track.GetGlobalTime() ; + + // The Step Point safety can be limited by other geometries and/or the + // assumptions of any process - it's not always the geometrical safety. + // We calculate the starting point's isotropic safety here. + // + G4ThreeVector OriginShift = startPosition - fPreviousSftOrigin ; + G4double MagSqShift = OriginShift.mag2() ; + if( MagSqShift >= sqr(fPreviousSafety) ) + { + currentSafety = 0.0 ; + } + else + { + currentSafety = fPreviousSafety - std::sqrt(MagSqShift) ; + } + + // Is the monopole charged ? + // + G4double particleMagneticCharge = pParticleDef->MagneticCharge() ; + G4double particleElectricCharge = pParticle->GetCharge(); + + fGeometryLimitedStep = false ; + // fEndGlobalTimeComputed = false ; + + // There is no need to locate the current volume. It is Done elsewhere: + // On track construction + // By the tracking, after all AlongStepDoIts, in "Relocation" + + // Check whether the particle have an (EM) field force exerting upon it + // + G4FieldManager* fieldMgr=0; + G4bool fieldExertsForce = false ; + + if( (particleMagneticCharge != 0.0) ) + { + fieldMgr= fFieldPropagator->FindAndSetFieldManager( track.GetVolume() ); + if (fieldMgr != 0) { + // Message the field Manager, to configure it for this track + fieldMgr->ConfigureForTrack( &track ); + // Moved here, in order to allow a transition + // from a zero-field status (with fieldMgr->(field)0 + // to a finite field status + + // If the field manager has no field, there is no field ! + fieldExertsForce = (fieldMgr->GetDetectorField() != 0); + } + } + + // G4cout << " G4Transport: field exerts force= " << fieldExertsForce + // << " fieldMgr= " << fieldMgr << G4endl; + + // Choose the calculation of the transportation: Field or not + // + if( !fieldExertsForce ) + { + G4double linearStepLength ; + if( fShortStepOptimisation && (currentMinimumStep <= currentSafety) ) + { + // The Step is guaranteed to be taken + // + geometryStepLength = currentMinimumStep ; + fGeometryLimitedStep = false ; + } + else + { + // Find whether the straight path intersects a volume + // + linearStepLength = fLinearNavigator->ComputeStep( startPosition, + startMomentumDir, + currentMinimumStep, + newSafety) ; + // Remember last safety origin & value. + // + fPreviousSftOrigin = startPosition ; + fPreviousSafety = newSafety ; + // fpSafetyHelper->SetCurrentSafety( newSafety, startPosition); + + // The safety at the initial point has been re-calculated: + // + currentSafety = newSafety ; + + fGeometryLimitedStep= (linearStepLength <= currentMinimumStep); + if( fGeometryLimitedStep ) + { + // The geometry limits the Step size (an intersection was found.) + geometryStepLength = linearStepLength ; + } + else + { + // The full Step is taken. + geometryStepLength = currentMinimumStep ; + } + } + endpointDistance = geometryStepLength ; + + // Calculate final position + // + fTransportEndPosition = startPosition+geometryStepLength*startMomentumDir ; + + // Momentum direction, energy and polarisation are unchanged by transport + // + fTransportEndMomentumDir = startMomentumDir ; + fTransportEndKineticEnergy = track.GetKineticEnergy() ; + fTransportEndSpin = track.GetPolarization(); + fParticleIsLooping = false ; + fMomentumChanged = false ; + fEndGlobalTimeComputed = false ; + } + else // A field exerts force + { + // G4double momentumMagnitude = pParticle->GetTotalMomentum() ; + G4ThreeVector EndUnitMomentum ; + G4double lengthAlongCurve ; + G4double restMass = pParticleDef->GetPDGMass() ; + + fFieldPropagator->SetChargeMomentumMass( particleMagneticCharge, // in Mev/c + particleElectricCharge, // in e+ units + restMass ) ; + + // SetChargeMomentumMass is _not_ used here as it would in everywhere else, + // it's just a workaround to pass the electric charge as well. + + + G4ThreeVector spin = track.GetPolarization() ; + G4FieldTrack aFieldTrack = G4FieldTrack( startPosition, + track.GetMomentumDirection(), + 0.0, + track.GetKineticEnergy(), + restMass, + track.GetVelocity(), + track.GetGlobalTime(), // Lab. + track.GetProperTime(), // Part. + &spin ) ; + if( currentMinimumStep > 0 ) + { + // Do the Transport in the field (non recti-linear) + // + lengthAlongCurve = fFieldPropagator->ComputeStep( aFieldTrack, + currentMinimumStep, + currentSafety, + track.GetVolume() ) ; + fGeometryLimitedStep= lengthAlongCurve < currentMinimumStep; + if( fGeometryLimitedStep ) { + geometryStepLength = lengthAlongCurve ; + } else { + geometryStepLength = currentMinimumStep ; + } + } + else + { + geometryStepLength = lengthAlongCurve= 0.0 ; + fGeometryLimitedStep = false ; + } + + // Remember last safety origin & value. + // + fPreviousSftOrigin = startPosition ; + fPreviousSafety = currentSafety ; + // fpSafetyHelper->SetCurrentSafety( newSafety, startPosition); + + // Get the End-Position and End-Momentum (Dir-ection) + // + fTransportEndPosition = aFieldTrack.GetPosition() ; + + // Momentum: Magnitude and direction can be changed too now ... + // + fMomentumChanged = true ; + fTransportEndMomentumDir = aFieldTrack.GetMomentumDir() ; + + fTransportEndKineticEnergy = aFieldTrack.GetKineticEnergy() ; + +// if( fFieldPropagator->GetCurrentFieldManager()->DoesFieldChangeEnergy() ) +// { +// // If the field can change energy, then the time must be integrated +// // - so this should have been updated + + fCandidateEndGlobalTime = aFieldTrack.GetLabTimeOfFlight(); + fEndGlobalTimeComputed = true; + +// // was ( fCandidateEndGlobalTime != track.GetGlobalTime() ); +// // a cleaner way is to have FieldTrack knowing whether time is updated. +// } +// else +// { +// // The energy should be unchanged by field transport, +// // - so the time changed will be calculated elsewhere +// // +// fEndGlobalTimeComputed = false; +// +// // Check that the integration preserved the energy +// // - and if not correct this! +// G4double startEnergy= track.GetKineticEnergy(); +// G4double endEnergy= fTransportEndKineticEnergy; +// +// static G4int no_inexact_steps=0, no_large_ediff; +// G4double absEdiff = std::fabs(startEnergy- endEnergy); +// if( absEdiff > perMillion * endEnergy ) +// { +// no_inexact_steps++; +// // Possible statistics keeping here ... +// } +// if( fVerboseLevel > 1 ) +// { +// if( std::fabs(startEnergy- endEnergy) > perThousand * endEnergy ) +// { +// static G4int no_warnings= 0, warnModulo=1, moduloFactor= 10; +// no_large_ediff ++; +// if( (no_large_ediff% warnModulo) == 0 ) +// { +// no_warnings++; +// G4cout << "WARNING - G4MonopoleTransportation::AlongStepGetPIL() " +// << " Energy change in Step is above 1^-3 relative value. " << G4endl +// << " Relative change in 'tracking' step = " +// << std::setw(15) << (endEnergy-startEnergy)/startEnergy << G4endl +// << " Starting E= " << std::setw(12) << startEnergy / MeV << " MeV " << G4endl +// << " Ending E= " << std::setw(12) << endEnergy / MeV << " MeV " << G4endl; +// G4cout << " Energy has been corrected -- however, review" +// << " field propagation parameters for accuracy." << G4endl; +// if( (fVerboseLevel > 2 ) || (no_warnings<4) || (no_large_ediff == warnModulo * moduloFactor) ){ +// G4cout << " These include EpsilonStepMax(/Min) in G4FieldManager " +// << " which determine fractional error per step for integrated quantities. " << G4endl +// << " Note also the influence of the permitted number of integration steps." +// << G4endl; +// } +// G4cerr << "ERROR - G4MonopoleTransportation::AlongStepGetPIL()" << G4endl +// << " Bad 'endpoint'. Energy change detected" +// << " and corrected. " +// << " Has occurred already " +// << no_large_ediff << " times." << G4endl; +// if( no_large_ediff == warnModulo * moduloFactor ) +// { +// warnModulo *= moduloFactor; +// } +// } +// } +// } // end of if (fVerboseLevel) +// +// // Correct the energy for fields that conserve it +// // This - hides the integration error +// // - but gives a better physical answer +// fTransportEndKineticEnergy= track.GetKineticEnergy(); +// } + + + fTransportEndSpin = aFieldTrack.GetSpin(); + fParticleIsLooping = fFieldPropagator->IsParticleLooping() ; + endpointDistance = (fTransportEndPosition - startPosition).mag() ; + } + + // If we are asked to go a step length of 0, and we are on a boundary + // then a boundary will also limit the step -> we must flag this. + // + if( currentMinimumStep == 0.0 ) + { + if( currentSafety == 0.0 ) fGeometryLimitedStep = true ; + } + + // Update the safety starting from the end-point, + // if it will become negative at the end-point. + // + if( currentSafety < endpointDistance ) + { + // if( particleMagneticCharge == 0.0 ) + // G4cout << " Avoiding call to ComputeSafety : charge = 0.0 " << G4endl; + + if( particleMagneticCharge != 0.0 ) { + + G4double endSafety = + fLinearNavigator->ComputeSafety( fTransportEndPosition) ; + currentSafety = endSafety ; + fPreviousSftOrigin = fTransportEndPosition ; + fPreviousSafety = currentSafety ; + fpSafetyHelper->SetCurrentSafety( currentSafety, fTransportEndPosition); + + // Because the Stepping Manager assumes it is from the start point, + // add the StepLength + // + currentSafety += endpointDistance ; + +#ifdef G4DEBUG_TRANSPORT + G4cout.precision(12) ; + G4cout << "***G4MonopoleTransportation::AlongStepGPIL ** " << G4endl ; + G4cout << " Called Navigator->ComputeSafety at " << fTransportEndPosition + << " and it returned safety= " << endSafety << G4endl ; + G4cout << " Adding endpoint distance " << endpointDistance + << " to obtain pseudo-safety= " << currentSafety << G4endl ; +#endif + } + } + + fParticleChange.ProposeTrueStepLength(geometryStepLength) ; + + magSetup->SetStepperAndChordFinder(0); + // change back to usual equation + + return geometryStepLength ; +} + +////////////////////////////////////////////////////////////////////////// +// +// Initialize ParticleChange (by setting all its members equal +// to corresponding members in G4Track) + +G4VParticleChange* G4MonopoleTransportation::AlongStepDoIt( const G4Track& track, + const G4Step& stepData ) +{ + static G4int noCalls=0; + static const G4ParticleDefinition* fOpticalPhoton = + G4ParticleTable::GetParticleTable()->FindParticle("opticalphoton"); + + noCalls++; + + fParticleChange.Initialize(track) ; + + // Code for specific process + // + fParticleChange.ProposePosition(fTransportEndPosition) ; + fParticleChange.ProposeMomentumDirection(fTransportEndMomentumDir) ; + fParticleChange.ProposeEnergy(fTransportEndKineticEnergy) ; + fParticleChange.SetMomentumChanged(fMomentumChanged) ; + + fParticleChange.ProposePolarization(fTransportEndSpin); + + G4double deltaTime = 0.0 ; + + // Calculate Lab Time of Flight (ONLY if field Equations used it!) + // G4double endTime = fCandidateEndGlobalTime; + // G4double delta_time = endTime - startTime; + + G4double startTime = track.GetGlobalTime() ; + + if (!fEndGlobalTimeComputed) + { + // The time was not integrated .. make the best estimate possible + // + G4double finalVelocity = track.GetVelocity() ; + G4double initialVelocity = stepData.GetPreStepPoint()->GetVelocity() ; + G4double stepLength = track.GetStepLength() ; + + deltaTime= 0.0; // in case initialVelocity = 0 + const G4DynamicParticle* fpDynamicParticle = track.GetDynamicParticle(); + if (fpDynamicParticle->GetDefinition()== fOpticalPhoton) + { + // A photon is in the medium of the final point + // during the step, so it has the final velocity. + deltaTime = stepLength/finalVelocity ; + } + else if (finalVelocity > 0.0) + { + G4double meanInverseVelocity ; + // deltaTime = stepLength/finalVelocity ; + meanInverseVelocity = 0.5 + * ( 1.0 / initialVelocity + 1.0 / finalVelocity ) ; + deltaTime = stepLength * meanInverseVelocity ; + } + else if( initialVelocity > 0.0 ) + { + deltaTime = stepLength/initialVelocity ; + } + fCandidateEndGlobalTime = startTime + deltaTime ; + } + else + { + deltaTime = fCandidateEndGlobalTime - startTime ; + } + + fParticleChange.ProposeGlobalTime( fCandidateEndGlobalTime ) ; + + // Now Correct by Lorentz factor to get "proper" deltaTime + + G4double restMass = track.GetDynamicParticle()->GetMass() ; + G4double deltaProperTime = deltaTime*( restMass/track.GetTotalEnergy() ) ; + + fParticleChange.ProposeProperTime(track.GetProperTime() + deltaProperTime) ; + //fParticleChange. ProposeTrueStepLength( track.GetStepLength() ) ; + + // If the particle is caught looping or is stuck (in very difficult + // boundaries) in a magnetic field (doing many steps) + // THEN this kills it ... + // + if ( fParticleIsLooping ) + { + G4double endEnergy= fTransportEndKineticEnergy; + + if( (endEnergy < fThreshold_Important_Energy) + || (fNoLooperTrials >= fThresholdTrials ) ){ + // Kill the looping particle + // + fParticleChange.ProposeTrackStatus( fStopAndKill ) ; + + // 'Bare' statistics + fSumEnergyKilled += endEnergy; + if( endEnergy > fMaxEnergyKilled) { fMaxEnergyKilled= endEnergy; } + +#ifdef G4VERBOSE + if( (fVerboseLevel > 1) || + ( endEnergy > fThreshold_Warning_Energy ) ) { + G4cout << " G4MonopoleTransportation is killing track that is looping or stuck " + << G4endl + << " This track has " << track.GetKineticEnergy() / MeV + << " MeV energy." << G4endl; + G4cout << " Number of trials = " << fNoLooperTrials + << " No of calls to AlongStepDoIt = " << noCalls + << G4endl; + } +#endif + fNoLooperTrials=0; + } + else{ + fNoLooperTrials ++; +#ifdef G4VERBOSE + if( (fVerboseLevel > 2) ){ + G4cout << " G4MonopoleTransportation::AlongStepDoIt(): Particle looping - " + << " Number of trials = " << fNoLooperTrials + << " No of calls to = " << noCalls + << G4endl; + } +#endif + } + }else{ + fNoLooperTrials=0; + } + + // Another (sometimes better way) is to use a user-limit maximum Step size + // to alleviate this problem .. + + // Introduce smooth curved trajectories to particle-change + // + fParticleChange.SetPointerToVectorOfAuxiliaryPoints + (fFieldPropagator->GimmeTrajectoryVectorAndForgetIt() ); + + return &fParticleChange ; +} + +////////////////////////////////////////////////////////////////////////// +// +// This ensures that the PostStep action is always called, +// so that it can do the relocation if it is needed. +// + +G4double G4MonopoleTransportation:: +PostStepGetPhysicalInteractionLength( const G4Track&, + G4double, // previousStepSize + G4ForceCondition* pForceCond ) +{ + *pForceCond = Forced ; + return DBL_MAX ; // was kInfinity ; but convention now is DBL_MAX +} + +///////////////////////////////////////////////////////////////////////////// +// + +G4VParticleChange* G4MonopoleTransportation::PostStepDoIt( const G4Track& track, + const G4Step& ) +{ + G4TouchableHandle retCurrentTouchable ; // The one to return + + // Initialize ParticleChange (by setting all its members equal + // to corresponding members in G4Track) + // fParticleChange.Initialize(track) ; // To initialise TouchableChange + + fParticleChange.ProposeTrackStatus(track.GetTrackStatus()) ; + + // If the Step was determined by the volume boundary, + // logically relocate the particle + + if(fGeometryLimitedStep) + { + // fCurrentTouchable will now become the previous touchable, + // and what was the previous will be freed. + // (Needed because the preStepPoint can point to the previous touchable) + + fLinearNavigator->SetGeometricallyLimitedStep() ; + fLinearNavigator-> + LocateGlobalPointAndUpdateTouchableHandle( track.GetPosition(), + track.GetMomentumDirection(), + fCurrentTouchableHandle, + true ) ; + // Check whether the particle is out of the world volume + // If so it has exited and must be killed. + // + if( fCurrentTouchableHandle->GetVolume() == 0 ) + { + fParticleChange.ProposeTrackStatus( fStopAndKill ) ; + } + retCurrentTouchable = fCurrentTouchableHandle ; + fParticleChange.SetTouchableHandle( fCurrentTouchableHandle ) ; + } + else // fGeometryLimitedStep is false + { + // This serves only to move the Navigator's location + // + fLinearNavigator->LocateGlobalPointWithinVolume( track.GetPosition() ) ; + + // The value of the track's current Touchable is retained. + // (and it must be correct because we must use it below to + // overwrite the (unset) one in particle change) + // It must be fCurrentTouchable too ?? + // + fParticleChange.SetTouchableHandle( track.GetTouchableHandle() ) ; + retCurrentTouchable = track.GetTouchableHandle() ; + } // endif ( fGeometryLimitedStep ) + + const G4VPhysicalVolume* pNewVol = retCurrentTouchable->GetVolume() ; + const G4Material* pNewMaterial = 0 ; + const G4VSensitiveDetector* pNewSensitiveDetector = 0 ; + + if( pNewVol != 0 ) + { + pNewMaterial= pNewVol->GetLogicalVolume()->GetMaterial(); + pNewSensitiveDetector= pNewVol->GetLogicalVolume()->GetSensitiveDetector(); + } + + // ( pNewMaterial ) ; + // ( pNewSensitiveDetector) ; + + fParticleChange.SetMaterialInTouchable( (G4Material *) pNewMaterial ) ; + fParticleChange.SetSensitiveDetectorInTouchable( (G4VSensitiveDetector *) pNewSensitiveDetector ) ; + + const G4MaterialCutsCouple* pNewMaterialCutsCouple = 0; + if( pNewVol != 0 ) + { + pNewMaterialCutsCouple=pNewVol->GetLogicalVolume()->GetMaterialCutsCouple(); + } + + if( pNewVol!=0 && pNewMaterialCutsCouple!=0 && pNewMaterialCutsCouple->GetMaterial()!=pNewMaterial ) + { + // for parametrized volume + // + pNewMaterialCutsCouple = + G4ProductionCutsTable::GetProductionCutsTable() + ->GetMaterialCutsCouple(pNewMaterial, + pNewMaterialCutsCouple->GetProductionCuts()); + } + fParticleChange.SetMaterialCutsCoupleInTouchable( pNewMaterialCutsCouple ); + + // temporarily until Get/Set Material of ParticleChange, + // and StepPoint can be made const. + // Set the touchable in ParticleChange + // this must always be done because the particle change always + // uses this value to overwrite the current touchable pointer. + // + fParticleChange.SetTouchableHandle(retCurrentTouchable) ; + + return &fParticleChange ; +} + +// New method takes over the responsibility to reset the state of G4MonopoleTransportation +// object at the start of a new track or the resumption of a suspended track. + +void +G4MonopoleTransportation::StartTracking(G4Track* aTrack) +{ + G4VProcess::StartTracking(aTrack); + +// The actions here are those that were taken in AlongStepGPIL +// when track.GetCurrentStepNumber()==1 + + // reset safety value and center + // + fPreviousSafety = 0.0 ; + fPreviousSftOrigin = G4ThreeVector(0.,0.,0.) ; + + // reset looping counter -- for motion in field + fNoLooperTrials= 0; + // Must clear this state .. else it depends on last track's value + // --> a better solution would set this from state of suspended track TODO ? + // Was if( aTrack->GetCurrentStepNumber()==1 ) { .. } + + // ChordFinder reset internal state + // + if( DoesGlobalFieldExist() ) { + fFieldPropagator->ClearPropagatorState(); + // Resets all state of field propagator class (ONLY) + // including safety values (in case of overlaps and to wipe for first track). + + // G4ChordFinder* chordF= fFieldPropagator->GetChordFinder(); + // if( chordF ) chordF->ResetStepEstimate(); + } + + // Make sure to clear the chord finders of all fields (ie managers) + static G4FieldManagerStore* fieldMgrStore= G4FieldManagerStore::GetInstance(); + fieldMgrStore->ClearAllChordFindersState(); + + // Update the current touchable handle (from the track's) + // + fCurrentTouchableHandle = aTrack->GetTouchableHandle(); +} + diff --git a/examples/extended/exoticphysics/monopole/src/PrimaryGeneratorAction.cc b/examples/extended/exoticphysics/monopole/src/PrimaryGeneratorAction.cc index 414e48cf9b..8006d0fe2e 100644 --- a/examples/extended/exoticphysics/monopole/src/PrimaryGeneratorAction.cc +++ b/examples/extended/exoticphysics/monopole/src/PrimaryGeneratorAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PrimaryGeneratorAction.cc,v 1.2 2009/07/15 10:19:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PrimaryGeneratorAction.cc,v 1.3 2010/03/23 14:12:08 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -46,9 +46,9 @@ PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) :detector(det) { particleGun = new G4ParticleGun(1); - G4ParticleDefinition* particle = - G4ParticleTable::GetParticleTable()->FindParticle("monopole"); - particleGun->SetParticleDefinition(particle); + //G4ParticleDefinition* particle = + // G4ParticleTable::GetParticleTable()->FindParticle("monopole"); + //particleGun->SetParticleDefinition(particle); particleGun->SetParticleEnergy(100 * GeV); particleGun->SetParticleMomentumDirection(G4ThreeVector(1., 0., 0.)); diff --git a/examples/extended/exoticphysics/monopole/src/RunAction.cc b/examples/extended/exoticphysics/monopole/src/RunAction.cc index 89fb3456fe..98c01ab334 100644 --- a/examples/extended/exoticphysics/monopole/src/RunAction.cc +++ b/examples/extended/exoticphysics/monopole/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.2 2008/06/11 14:34:19 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.cc,v 1.5 2010/11/09 21:33:25 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -49,9 +49,10 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin):detector(det), kinematic(kin), af(0), tree(0) +RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin) + :detector(det), kinematic(kin), af(0), tree(0) { - verboseLevel = 0; + verboseLevel = 1; binLength = offsetX = 0.; histo[0] = 0; tree = 0; @@ -59,7 +60,7 @@ RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin):det #ifdef G4ANALYSIS_USE // Creating the analysis factory af = AIDA_createAnalysisFactory(); - ftype = "hbook"; + ftype = "root"; fname = "monopole"; #endif @@ -67,8 +68,8 @@ RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin):det runActionMessenger = new RunActionMessenger(this); } - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + RunAction::~RunAction() { #ifdef G4ANALYSIS_USE @@ -76,19 +77,21 @@ RunAction::~RunAction() #endif } - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void RunAction::bookHisto() { G4double length = detector->GetAbsorSizeX(); - if(!binLength) binLength = 5 * mm; - if(binLength > detector->GetMaxStepSize()) binLength = detector->GetMaxStepSize(); + if(!binLength) { binLength = 5 * mm; } + if(binLength > detector->GetMaxStepSize()) { + binLength = detector->GetMaxStepSize(); + } offsetX = 0.5 * length; #ifdef G4ANALYSIS_USE - if(GetVerbose() > 0) G4cout << "\n----> Histogram Tree opened" << G4endl; + if(GetVerbose() > 0) { G4cout << "\n----> Histogram Tree opened" << G4endl; } - G4int nbBins = (int)(0.5 + length / binLength); + G4int nbBins = (G4int)(0.5 + length / binLength); // Create the tree factory AIDA::ITreeFactory* tf = af->createTreeFactory(); @@ -101,7 +104,7 @@ void RunAction::bookHisto() G4String fName = fname; fName += "."; fName += ftype; - G4String option = "--noErrors uncompress"; + G4String option = ""; tree = tf->create(fName,ftype, readOnly, createNew, option); // Create a histogram factory, whose histograms will be handled by the tree @@ -119,8 +122,8 @@ void RunAction::bookHisto() #endif } - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void RunAction::saveHisto() { #ifdef G4ANALYSIS_USE @@ -132,8 +135,8 @@ void RunAction::saveHisto() #endif } - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void RunAction::SetBinSize(G4double size) { binLength = size; @@ -179,8 +182,9 @@ void RunAction::EndOfRunAction(const G4Run* aRun) // G4Material* material = detector->GetAbsorMaterial(); G4double density = material->GetDensity(); - - G4String particle = kinematic->GetParticleGun()->GetParticleDefinition()->GetParticleName(); + const G4ParticleDefinition* part = + kinematic->GetParticleGun()->GetParticleDefinition(); + G4String particle = part->GetParticleName(); G4double energy = kinematic->GetParticleGun()->GetParticleEnergy(); if(GetVerbose() > 0){ @@ -208,13 +212,13 @@ void RunAction::EndOfRunAction(const G4Run* aRun) G4EmCalculator calc; calc.SetVerbose(0); G4int i; - for(i = 0; i < 100; i++) { + for(i = 0; i < 100; ++i) { ekin[i] = std::pow(10., 0.1*G4double(i)) * keV; dedxproton[i] = calc.ComputeElectronicDEDX(ekin[i], "proton", material->GetName()); dedxmp[i] = calc.ComputeElectronicDEDX(ekin[i], "monopole", material->GetName()); } - if(GetVerbose() > 1){ + if(GetVerbose() > 0){ G4cout << "### Stopping Powers" << G4endl; for(i=0; i<100; i++) { G4cout << " E(MeV)= " << ekin[i] << " dedxp= " << dedxproton[i] @@ -222,7 +226,7 @@ void RunAction::EndOfRunAction(const G4Run* aRun) << G4endl; } }; - + G4cout << "### End of stopping power table" << G4endl; #ifdef G4ANALYSIS_USE // normalize histogram G4double fac = (mm/MeV) / (NbofEvents * binLength); @@ -233,8 +237,7 @@ void RunAction::EndOfRunAction(const G4Run* aRun) G4cout << "Range table for " << matName << G4endl; }; - - for(i=0; i<100; i++) { + for(i=0; i<100; ++i) { G4double e = std::log10(ekin[i] / MeV) + 0.05; histo[1]->fill(e, dedxproton[i]); histo[2]->fill(e, dedxmp[i]); diff --git a/examples/extended/exoticphysics/monopole/vis.mac b/examples/extended/exoticphysics/monopole/vis.mac new file mode 100644 index 0000000000..8bacb698f3 --- /dev/null +++ b/examples/extended/exoticphysics/monopole/vis.mac @@ -0,0 +1,69 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# autoRefresh false suppressed initial empty detector view. +# Draw one now if desired: +#/vis/viewer/refresh diff --git a/examples/extended/field/field01/History b/examples/extended/field/field01/History index 4fcc0cda40..825328e0f5 100644 --- a/examples/extended/field/field01/History +++ b/examples/extended/field/field01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.22 2009/11/05 01:15:00 gum Exp $ +$Id: History,v 1.28 2010/08/24 07:38:09 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,26 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +August 16, 2010 - H.Kurashige - fieldex01-V09-03-04 +----------------------------- +- Removed inclusion of G4ParticleWithCuts header. + +June 2, 2010 J.Perl - fieldex01-V09-03-03 +------------------- +- Updated vis usage + +May 12, 2010 John Allison - fieldex01-V09-03-02 +------------------------- +- Introduced G4UIExecutive. + +Apr 8th, 2010 Gabriele Cosmo - fieldex01-V09-03-01 +---------------------------- +- Removed unused pointers to G4MultipleScattering left... + +Mar 25th, 2010 Gabriele Cosmo - fieldex01-V09-03-00 +----------------------------- +- Migrated physics list to use particle-based multiple-scattering processes. + Nov 4th, 2009 Peter Gumplinger - fieldex01-V09-02-00 -------------------------------- - fix the density of STP Carbon Dioxide in DetectorConstruction diff --git a/examples/extended/field/field01/README b/examples/extended/field/field01/README index 148e0b5ea7..f9c747e0b2 100644 --- a/examples/extended/field/field01/README +++ b/examples/extended/field/field01/README @@ -1,4 +1,4 @@ -$Id: README,v 1.4 2004/12/02 11:20:27 japost Exp $ +$Id: README,v 1.5 2010/06/06 04:55:22 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -77,7 +77,7 @@ $Id: README,v 1.4 2004/12/02 11:20:27 japost Exp $ - execute field01 in 'interactive' mode with visualization e.g. % $(G4INSTALL)/bin/$(G4SYSTEM)/field01 .... - Idle> type your commands + Idle> /control/execute vis.mac .... diff --git a/examples/extended/field/field01/field01.cc b/examples/extended/field/field01/field01.cc index 3b2e8b725a..109a8f6ca6 100644 --- a/examples/extended/field/field01/field01.cc +++ b/examples/extended/field/field01/field01.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: field01.cc,v 1.8 2006/06/29 17:15:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: field01.cc,v 1.9 2010/05/12 16:30:59 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // -------------------------------------------------------------- @@ -39,13 +39,8 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" #include "Randomize.hh" -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - #include "F01DetectorConstruction.hh" // #include "F01FieldSetup.hh" #include "F01PhysicsList.hh" @@ -55,6 +50,14 @@ #include "F01SteppingAction.hh" #include "F01SteppingVerbose.hh" +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + int main(int argc,char** argv) { @@ -81,15 +84,6 @@ int main(int argc,char** argv) runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new F01PhysicsList(detector)); -#ifdef G4VIS_USE - - // visualization manager - - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); - -#endif - // Set user action classes runManager->SetUserAction(new F01PrimaryGeneratorAction(detector)); @@ -109,23 +103,34 @@ int main(int argc,char** argv) runManager->Initialize(); +#ifdef G4VIS_USE + + // visualization manager + + 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) // Define UI terminal for interactive mode - { - G4UIsession * session = new G4UIterminal; - session->SessionStart(); - delete session; - } - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); - } - + 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); + ui->SessionStart(); + delete ui; +#endif + } + // job termination #ifdef G4VIS_USE diff --git a/examples/extended/field/field01/field01.out b/examples/extended/field/field01/field01.out index 6e62a63afc..655d0544a1 100644 --- a/examples/extended/field/field01/field01.out +++ b/examples/extended/field/field01/field01.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,51 +13,62 @@ ***** Table : Nb of materials = 11 ***** - Material: Mylar density: 1.390 g/cm3 RadL: 28.743 cm Nucl.Int.Length: 56.337 cm Imean: 75.075 eV + Material: Mylar density: 1.390 g/cm3 RadL: 28.743 cm Nucl.Int.Length: 56.391 cm Imean: 75.967 eV ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 33.30 % ElmAbundance 18.18 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 62.49 % ElmAbundance 45.45 % ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 4.20 % ElmAbundance 36.36 % - Material: Polypropelene density: 910.000 mg/cm3 RadL: 49.214 cm Nucl.Int.Length: 74.351 cm Imean: 56.713 eV + Material: Polypropelene density: 910.000 mg/cm3 RadL: 49.214 cm Nucl.Int.Length: 74.517 cm Imean: 56.518 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 14.40 % ElmAbundance 66.67 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 85.60 % ElmAbundance 33.33 % - Material: Kr density: 3.700 mg/cm3 RadL: 30.736 m Nucl.Int.Length: 413.950 m Imean: 352.800 eV temperature: 273.15 K pressure: 1.00 atm + Material: Kr density: 3.700 mg/cm3 RadL: 30.736 m Nucl.Int.Length: 413.292 m Imean: 352.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Kr ( ) Z = 36.0 N = 83.8 A = 83.80 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Argon density: 1.784 mg/cm3 RadL: 109.604 m Nucl.Int.Length: 670.814 m Imean: 187.200 eV temperature: 273.15 K pressure: 1.00 atm + Material: Argon density: 1.784 mg/cm3 RadL: 109.604 m Nucl.Int.Length: 670.233 m Imean: 188.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Argon (Ar) Z = 18.0 N = 39.9 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: N2 density: 1.251 mg/cm3 RadL: 303.846 m Nucl.Int.Length: 674.714 m Imean: 81.900 eV temperature: 273.15 K pressure: 1.00 atm + Material: N2 density: 1.251 mg/cm3 RadL: 303.846 m Nucl.Int.Length: 675.036 m Imean: 82.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: O2 density: 1.429 mg/cm3 RadL: 239.621 m Nucl.Int.Length: 617.219 m Imean: 95.200 eV temperature: 273.15 K pressure: 1.00 atm + Material: O2 density: 1.429 mg/cm3 RadL: 239.621 m Nucl.Int.Length: 617.219 m Imean: 95.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Air density: 0.000 kg/m3 RadL: 28329263.098 km Nucl.Int.Length: 66178546.991 km Imean: 85.623 eV temperature: 273.15 K pressure: 0.00 atm + Material: Air density: 0.000 kg/m3 RadL: 28329263.098 km Nucl.Int.Length: 66202169.471 km Imean: 85.664 eV temperature: 273.15 K pressure: 0.00 atm ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 75.57 % ElmAbundance 78.48 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 23.15 % ElmAbundance 21.05 % ---> Element: Argon (Ar) Z = 18.0 N = 39.9 A = 39.95 g/mole ElmMassFraction: 1.28 % ElmAbundance 0.47 % - Material: Xenon density: 5.858 mg/cm3 RadL: 14.478 m Nucl.Int.Length: 303.666 m Imean: 480.600 eV temperature: 273.15 K pressure: 1.00 atm + Material: Xenon density: 5.858 mg/cm3 RadL: 14.478 m Nucl.Int.Length: 304.114 m Imean: 482.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Xenon ( ) Z = 54.0 N = 131.3 A = 131.29 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: CO2 density: 1.842 mg/cm3 RadL: 196.501 m Nucl.Int.Length: 466.037 m Imean: 90.164 eV temperature: 273.15 K pressure: 1.00 atm + Material: CO2 density: 1.842 mg/cm3 RadL: 196.501 m Nucl.Int.Length: 466.112 m Imean: 90.958 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 27.29 % ElmAbundance 33.33 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 72.71 % ElmAbundance 66.67 % - Material: Xe20CO2 density: 5.082 mg/cm3 RadL: 17.750 m Nucl.Int.Length: 323.032 m Imean: 411.175 eV temperature: 273.15 K pressure: 1.00 atm + Material: Xe20CO2 density: 5.082 mg/cm3 RadL: 17.750 m Nucl.Int.Length: 323.445 m Imean: 412.598 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Xenon ( ) Z = 54.0 N = 131.3 A = 131.29 g/mole ElmMassFraction: 92.20 % ElmAbundance 56.91 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 2.13 % ElmAbundance 14.36 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 5.67 % ElmAbundance 28.73 % - Material: Kr20CO2 density: 3.601 mg/cm3 RadL: 34.158 m Nucl.Int.Length: 391.555 m Imean: 297.188 eV temperature: 273.15 K pressure: 1.00 atm + Material: Kr20CO2 density: 3.601 mg/cm3 RadL: 34.158 m Nucl.Int.Length: 391.057 m Imean: 296.926 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Kr ( ) Z = 36.0 N = 83.8 A = 83.80 g/mole ElmMassFraction: 89.00 % ElmAbundance 58.62 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 3.00 % ElmAbundance 13.79 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 8.00 % ElmAbundance 27.59 % -Visualization Manager instantiating... + + The WORLD is made of 44000mm of Air, the transverse size (R) of the world is 22000 mm. + The ABSORBER is made of 1mm of Air, the transverse size (R) is 20000 mm. + Z position of the (middle of the) absorber 21990 mm. + + F01FieldSetup: magnetic field set to Uniform( (0.0033,0,0) ) +G4ClassicalRK4 (default) is called +The minimal step is equal to 1 mm +F01PhysicsList::SetCuts:CutLength : 1 mm + +total time(SetCuts)=0 s +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -71,6 +82,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -90,210 +104,158 @@ Registered filter factories: originVolumeFilter attributeFilter - - The WORLD is made of 44000mm of Air, the transverse size (R) of the world is 22000 mm. - The ABSORBER is made of 1mm of Air, the transverse size (R) is 20000 mm. - Z position of the (middle of the) absorber 21990 mm. - - F01FieldSetup: magnetic field set to Uniform( (0.0033,0,0) ) -G4ClassicalRK4 (default) is called -The minimal step is equal to 1 mm - -!!! 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 !!! - -F01PhysicsList::SetCuts:CutLength : 1 mm - -total time(SetCuts)=0 s G4ClassicalRK4 (default) is called The minimal step is equal to 0.1 mm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 +muMsc: 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV ========= Table of registered couples ============================== @@ -319,13 +281,13 @@ Start Run processing. Step# X Y Z Direction x dir y dir z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 21.9895 m 0 0 -1 500 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm 1.01183 m 21.9895 m 0 8.81272e-13 1 500 MeV0.00387493 eV 1.58938 m 1.58938 m World Transportation - 2 0 fm 1.01183 m 21.9905 m 0 -0.00197661 0.999998 500 MeV2.43801e-06 eV 1 mm 1.59038 m Absorber Transportation - 3 0 fm 1.01172 m 22 m 0 -0.0207544 0.999785 500 MeV2.31629e-05 eV 9.50075 mm 1.59988 m OutOfWorld Transportation + 1 0 fm 1.01183 m 21.9895 m 0 8.81272e-13 1 500 MeV0.00387478 eV 1.58938 m 1.58938 m World Transportation + 2 0 fm 1.01183 m 21.9905 m 0 -0.00197661 0.999998 500 MeV2.43792e-06 eV 1 mm 1.59038 m Absorber Transportation + 3 0 fm 1.01172 m 22 m 0 -0.0207544 0.999785 500 MeV2.3162e-05 eV 9.50075 mm 1.59988 m OutOfWorld Transportation Run terminated. Run Summary Number of events processed : 1 - User=0.01s Real=0s Sys=0s + User=0s Real=0s Sys=0s ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. ========= Table of registered couples ============================== @@ -352,9 +314,9 @@ Start Run processing. Step# X Y Z Direction x dir y dir z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 21.9895 m 0 0 -1 250 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm 50.6432 cm 21.9895 m 0 1.17455e-09 1 250 MeV0.00183037 eV 79.5502 cm 79.5502 cm World Transportation - 2 0 fm 50.643 cm 21.9905 m 0 -0.0039492 0.999992 250 MeV2.3009e-06 eV 1 mm 79.6502 cm Absorber Transportation - 3 0 fm 50.6214 cm 22 m 0 -0.0414666 0.99914 250 MeV2.18654e-05 eV 9.50301 mm 80.6005 cm OutOfWorld Transportation + 1 0 fm 50.6432 cm 21.9895 m 0 1.17455e-09 1 250 MeV0.00183029 eV 79.5502 cm 79.5502 cm World Transportation + 2 0 fm 50.643 cm 21.9905 m 0 -0.0039492 0.999992 250 MeV2.3008e-06 eV 1 mm 79.6502 cm Absorber Transportation + 3 0 fm 50.6214 cm 22 m 0 -0.0414666 0.99914 250 MeV2.18645e-05 eV 9.50301 mm 80.6005 cm OutOfWorld Transportation Run terminated. Run Summary Number of events processed : 1 @@ -385,9 +347,9 @@ Start Run processing. Step# X Y Z Direction x dir y dir z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 21.9895 m 0 0 -1 200 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm 40.5352 cm 21.9895 m 0 -2.18033e-09 1 200 MeV0.00143694 eV 63.6725 cm 63.6725 cm World Transportation - 2 0 fm 40.5349 cm 21.9905 m 0 -0.00493399 0.999988 200 MeV2.25678e-06 eV 1 mm 63.7725 cm Absorber Transportation - 3 0 fm 40.5079 cm 22 m 0 -0.0518069 0.998657 200 MeV2.14499e-05 eV 9.50471 mm 64.723 cm OutOfWorld Transportation + 1 0 fm 40.5352 cm 21.9895 m 0 -2.18033e-09 1 200 MeV0.00143688 eV 63.6725 cm 63.6725 cm World Transportation + 2 0 fm 40.5349 cm 21.9905 m 0 -0.00493399 0.999988 200 MeV2.25668e-06 eV 1 mm 63.7725 cm Absorber Transportation + 3 0 fm 40.5079 cm 22 m 0 -0.0518069 0.998657 200 MeV2.1449e-05 eV 9.50471 mm 64.723 cm OutOfWorld Transportation Run terminated. Run Summary Number of events processed : 1 @@ -418,9 +380,9 @@ Start Run processing. Step# X Y Z Direction x dir y dir z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 21.9895 m 0 0 -1 100 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm 20.319 cm 21.9895 m 0 9.914e-09 1 100 MeV0.000676634 eV 31.9171 cm 31.9171 cm World Transportation - 2 0 fm 20.3185 cm 21.9905 m 0 -0.00984297 0.999952 100 MeV2.12001e-06 eV 1.00002 mm 32.0171 cm Absorber Transportation - 3 0 fm 20.2645 cm 22 m 0 -0.103352 0.994645 100 MeV2.01797e-05 eV 9.51883 mm 32.969 cm OutOfWorld Transportation + 1 0 fm 20.319 cm 21.9895 m 0 9.914e-09 1 100 MeV0.000676603 eV 31.9171 cm 31.9171 cm World Transportation + 2 0 fm 20.3185 cm 21.9905 m 0 -0.00984297 0.999952 100 MeV2.11991e-06 eV 1.00002 mm 32.0171 cm Absorber Transportation + 3 0 fm 20.2645 cm 22 m 0 -0.103352 0.994645 100 MeV2.01788e-05 eV 9.51883 mm 32.969 cm OutOfWorld Transportation Run terminated. Run Summary Number of events processed : 1 @@ -451,9 +413,9 @@ Start Run processing. Step# X Y Z Direction x dir y dir z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 21.9895 m 0 0 -1 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm 10.2108 cm 21.9895 m 0 -7.69215e-09 1 50 MeV0.000318182 eV 16.0391 cm 16.0391 cm World Transportation - 2 0 fm 10.2098 cm 21.9905 m 0 -0.0195872 0.999808 50 MeV1.98392e-06 eV 1.00006 mm 16.1391 cm Absorber Transportation - 3 0 fm 10.1016 cm 22 m 0 -0.205667 0.978622 50 MeV1.89958e-05 eV 9.5755 mm 17.0966 cm OutOfWorld Transportation + 1 0 fm 10.2108 cm 21.9895 m 0 -7.69215e-09 1 50 MeV0.000318167 eV 16.0391 cm 16.0391 cm World Transportation + 2 0 fm 10.2098 cm 21.9905 m 0 -0.0195872 0.999808 50 MeV1.98383e-06 eV 1.00006 mm 16.1391 cm Absorber Transportation + 3 0 fm 10.1016 cm 22 m 0 -0.205667 0.978622 50 MeV1.89949e-05 eV 9.5755 mm 17.0966 cm OutOfWorld Transportation Run terminated. Run Summary Number of events processed : 1 @@ -487,7 +449,7 @@ Start Run processing. Step# X Y Z Direction x dir y dir z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 21.9895 m 0 0 -1 500 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm 0 fm -22 m 0 0 -1 500 MeV0.107247 eV 43.9895 m 43.9895 m OutOfWorld Transportation + 1 0 fm 0 fm -22 m 0 0 -1 500 MeV0.107243 eV 43.9895 m 43.9895 m OutOfWorld Transportation Run terminated. Run Summary Number of events processed : 1 @@ -532,7 +494,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=0s Real=0.01s Sys=0s + User=0s Real=0s Sys=0s ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/field/field01/include/F01PhysicsList.hh b/examples/extended/field/field01/include/F01PhysicsList.hh index 7ab4ada1e2..dc5a159663 100644 --- a/examples/extended/field/field01/include/F01PhysicsList.hh +++ b/examples/extended/field/field01/include/F01PhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F01PhysicsList.hh,v 1.5 2007/05/23 09:14:09 japost Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: F01PhysicsList.hh,v 1.6 2010/04/08 14:09:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef F01PhysicsList_h @@ -38,8 +38,6 @@ class G4PhotoElectricEffect; class G4ComptonScattering; class G4GammaConversion; -class G4MultipleScattering; - class G4PAIonisation ; class G4ForwardXrayTR ; class G4eIonisation; @@ -104,14 +102,12 @@ class F01PhysicsList: public G4VUserPhysicsList G4ComptonScattering* theComptonScattering; G4GammaConversion* theGammaConversion; - G4MultipleScattering* theeminusMultipleScattering; G4eIonisation* theeminusIonisation; G4eBremsstrahlung* theeminusBremsstrahlung; G4PAIonisation* fPAIonisation ; G4ForwardXrayTR* fForwardXrayTR ; - G4MultipleScattering* theeplusMultipleScattering; G4eIonisation* theeplusIonisation; G4eBremsstrahlung* theeplusBremsstrahlung; G4eplusAnnihilation* theeplusAnnihilation; diff --git a/examples/extended/field/field01/src/F01EventAction.cc b/examples/extended/field/field01/src/F01EventAction.cc index a678ddb53b..d8bdf1caa6 100644 --- a/examples/extended/field/field01/src/F01EventAction.cc +++ b/examples/extended/field/field01/src/F01EventAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F01EventAction.cc,v 1.6 2006/06/29 17:16:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: F01EventAction.cc,v 1.7 2010/06/06 04:55:22 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -44,9 +44,6 @@ #include "G4HCofThisEvent.hh" #include "G4VHitsCollection.hh" #include "G4SDManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" #include "G4UnitsTable.hh" #include "Randomize.hh" @@ -90,22 +87,6 @@ void F01EventAction::BeginOfEventAction(const G4Event* evt) void F01EventAction::EndOfEventAction(const G4Event* evt) { - - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) - { - 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(50); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(50); - } - } - if(verboselevel>0) G4cout << "<<< Event " << evt->GetEventID() << " ended." << G4endl; diff --git a/examples/extended/field/field01/src/F01PhysicsList.cc b/examples/extended/field/field01/src/F01PhysicsList.cc index b5c51ef8a2..ee4e03bf29 100644 --- a/examples/extended/field/field01/src/F01PhysicsList.cc +++ b/examples/extended/field/field01/src/F01PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F01PhysicsList.cc,v 1.12 2007/05/23 09:14:09 japost Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: F01PhysicsList.cc,v 1.16 2010/08/16 08:24:39 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4Timer.hh" @@ -34,8 +34,6 @@ #include "F01DetectorConstruction.hh" #include "F01PhysicsListMessenger.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -54,10 +52,9 @@ F01PhysicsList::F01PhysicsList(F01DetectorConstruction* p) : G4VUserPhysicsList(), MaxChargedStep(DBL_MAX), - thePhotoElectricEffect(0), theComptonScattering(0), theGammaConversion(0), - theeminusMultipleScattering(0), theeminusIonisation(0), - theeminusBremsstrahlung(0), - theeplusMultipleScattering(0),theeplusIonisation(0), + thePhotoElectricEffect(0), theComptonScattering(0), + theGammaConversion(0), theeminusIonisation(0), + theeminusBremsstrahlung(0), theeplusIonisation(0), theeplusBremsstrahlung(0), theeplusAnnihilation(0), theeminusStepCut(0),theeplusStepCut(0) { @@ -172,7 +169,9 @@ void F01PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -214,7 +213,7 @@ void F01PhysicsList::ConstructEM() { // Construct processes for electron - // theeminusMultipleScattering = new G4MultipleScattering(); + // theeminusMultipleScattering = new G4eMultipleScattering(); theeminusIonisation = new G4eIonisation(); theeminusBremsstrahlung = new G4eBremsstrahlung(); @@ -237,7 +236,7 @@ void F01PhysicsList::ConstructEM() { // Construct processes for positron - // theeplusMultipleScattering = new G4MultipleScattering(); + // theeplusMultipleScattering = new G4eMultipleScattering(); theeplusIonisation = new G4eIonisation(); theeplusBremsstrahlung = new G4eBremsstrahlung(); // theeplusAnnihilation = new G4eplusAnnihilation(); @@ -263,7 +262,7 @@ void F01PhysicsList::ConstructEM() F01StepCut* muonStepCut = new F01StepCut(); G4MuIonisation* themuIonisation = new G4MuIonisation() ; - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + pmanager->AddProcess(new G4MuMultipleScattering(),-1,1,1); pmanager->AddProcess(themuIonisation,-1,2,2); pmanager->AddProcess(new G4MuBremsstrahlung(),-1,-1,3); pmanager->AddProcess(new G4MuPairProduction(),-1,-1,4); @@ -284,8 +283,8 @@ void F01PhysicsList::ConstructEM() F01StepCut* thehadronStepCut = new F01StepCut(); G4hIonisation* thehIonisation = new G4hIonisation() ; - G4MultipleScattering* thehMultipleScattering = - new G4MultipleScattering() ; + G4hMultipleScattering* thehMultipleScattering = + new G4hMultipleScattering() ; pmanager->AddProcess(thehMultipleScattering,-1,1,1); diff --git a/examples/extended/field/field01/vis.mac b/examples/extended/field/field01/vis.mac new file mode 100644 index 0000000000..cd950267fe --- /dev/null +++ b/examples/extended/field/field01/vis.mac @@ -0,0 +1,98 @@ +# Macro file for the initialization phase of field01 +# +# It creates the default geometry (simple absorber cylinder ) +# +/tracking/verbose 1 +/run/verbose 1 +# +/field/setStepperType 4 +# +/field/setMinStep 0.1 mm +# +/field/setFieldZ 1.0 kG +# +/field/update +# +/run/initialize +# +# /run/particle/dumpCutValues +# +/gun/particle e- +# +# /gun/particle proton +# /gun/particle chargedgeantino +# +# +/gun/energy 5.0 MeV +/tracking/verbose 1 + +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 40. 10. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush + +/run/beamOn 1 diff --git a/examples/extended/field/field02/History b/examples/extended/field/field02/History index a2c1261e31..5b2aaf94d4 100644 --- a/examples/extended/field/field02/History +++ b/examples/extended/field/field02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.27 2009/11/05 01:15:41 gum Exp $ +$Id: History,v 1.33 2010/08/24 07:40:28 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,26 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +August 16, 2010 H.Kurashige - fieldex02-V09-03-04 +--------------------------- +- Removed inclusion of G4ParticleWithCuts header. + +June 2, 2010 J.Perl - fieldex02-V09-03-03 +------------------- +- Updated vis usage. + +May 12, 2010 John Allison - fieldex02-V09-03-02 +------------------------- +- Introduced G4UIExecutive. + +Apr 8th, 2010 Gabriele Cosmo - fieldex02-V09-03-01 +---------------------------- +- Removed unused pointers to G4MultipleScattering left... + +Mar 25th, 2010 Gabriele Cosmo - fieldex02-V09-03-00 +----------------------------- +- Migrated physics list to use particle-based multiple-scattering processes. + Nov 4th, 2009 Peter Gumplinger - fieldex02-V09-02-00 -------------------------------- - fix the density of STP Carbon Dioxide in DetectorConstruction diff --git a/examples/extended/field/field02/README b/examples/extended/field/field02/README index 2a73877e8d..acdb970bfc 100644 --- a/examples/extended/field/field02/README +++ b/examples/extended/field/field02/README @@ -1,4 +1,4 @@ -$Id: README,v 1.6 2008/05/05 08:55:52 tnikitin Exp $ +$Id: README,v 1.7 2010/06/06 04:55:59 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -84,5 +84,5 @@ $Id: README,v 1.6 2008/05/05 08:55:52 tnikitin Exp $ - execute field02 in 'interactive' mode with visualization e.g. % $(G4INSTALL)/bin/$(G4SYSTEM)/field02 .... - Idle> type your commands + Idle> /control/execute vis.mac .... diff --git a/examples/extended/field/field02/field02.cc b/examples/extended/field/field02/field02.cc index cb971898ea..a03600ec49 100644 --- a/examples/extended/field/field02/field02.cc +++ b/examples/extended/field/field02/field02.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: field02.cc,v 1.9 2006/06/29 17:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: field02.cc,v 1.10 2010/05/12 16:36:58 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // -------------------------------------------------------------- @@ -39,13 +39,8 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" #include "Randomize.hh" -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - #include "F02DetectorConstruction.hh" #include "F02ElectricFieldSetup.hh" #include "F02PhysicsList.hh" @@ -55,6 +50,14 @@ #include "F02SteppingAction.hh" #include "F02SteppingVerbose.hh" +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + int main(int argc,char** argv) { @@ -82,15 +85,6 @@ int main(int argc,char** argv) runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new F02PhysicsList(detector)); -#ifdef G4VIS_USE - - // visualization manager - - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); - -#endif - // Set user action classes runManager->SetUserAction(new F02PrimaryGeneratorAction(detector)); @@ -110,22 +104,33 @@ int main(int argc,char** argv) runManager->Initialize(); +#ifdef G4VIS_USE + + // visualization manager + + 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) // Define UI terminal for interactive mode - { - G4UIsession * session = new G4UIterminal; - session->SessionStart(); - delete session; - } - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); - } + 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); + ui->SessionStart(); + delete ui; +#endif + } // job termination diff --git a/examples/extended/field/field02/field02.out b/examples/extended/field/field02/field02.out index 818a9233f2..88b1534f34 100644 --- a/examples/extended/field/field02/field02.out +++ b/examples/extended/field/field02/field02.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -15,45 +15,45 @@ The minimal step is equal to 0.01 mm ***** Table : Nb of materials = 11 ***** - Material: Mylar density: 1.390 g/cm3 RadL: 28.743 cm Nucl.Int.Length: 56.337 cm Imean: 75.075 eV + Material: Mylar density: 1.390 g/cm3 RadL: 28.743 cm Nucl.Int.Length: 56.391 cm Imean: 75.967 eV ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 33.30 % ElmAbundance 18.18 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 62.49 % ElmAbundance 45.45 % ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 4.20 % ElmAbundance 36.36 % - Material: Polypropelene density: 910.000 mg/cm3 RadL: 49.214 cm Nucl.Int.Length: 74.351 cm Imean: 56.713 eV + Material: Polypropelene density: 910.000 mg/cm3 RadL: 49.214 cm Nucl.Int.Length: 74.517 cm Imean: 56.518 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 14.40 % ElmAbundance 66.67 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 85.60 % ElmAbundance 33.33 % - Material: Kr density: 3.700 mg/cm3 RadL: 30.736 m Nucl.Int.Length: 413.950 m Imean: 352.800 eV temperature: 273.15 K pressure: 1.00 atm + Material: Kr density: 3.700 mg/cm3 RadL: 30.736 m Nucl.Int.Length: 413.292 m Imean: 352.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Kr ( ) Z = 36.0 N = 83.8 A = 83.80 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Argon density: 1.784 mg/cm3 RadL: 109.604 m Nucl.Int.Length: 670.814 m Imean: 187.200 eV temperature: 273.15 K pressure: 1.00 atm + Material: Argon density: 1.784 mg/cm3 RadL: 109.604 m Nucl.Int.Length: 670.233 m Imean: 188.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Argon (Ar) Z = 18.0 N = 39.9 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: N2 density: 1.251 mg/cm3 RadL: 303.846 m Nucl.Int.Length: 674.714 m Imean: 81.900 eV temperature: 273.15 K pressure: 1.00 atm + Material: N2 density: 1.251 mg/cm3 RadL: 303.846 m Nucl.Int.Length: 675.036 m Imean: 82.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: O2 density: 1.429 mg/cm3 RadL: 239.621 m Nucl.Int.Length: 617.219 m Imean: 95.200 eV temperature: 273.15 K pressure: 1.00 atm + Material: O2 density: 1.429 mg/cm3 RadL: 239.621 m Nucl.Int.Length: 617.219 m Imean: 95.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Air density: 1.293 mg/cm3 RadL: 283.293 m Nucl.Int.Length: 661.785 m Imean: 85.623 eV temperature: 273.15 K pressure: 1.00 atm + Material: Air density: 1.293 mg/cm3 RadL: 283.293 m Nucl.Int.Length: 662.022 m Imean: 85.664 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 75.57 % ElmAbundance 78.48 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 23.15 % ElmAbundance 21.05 % ---> Element: Argon (Ar) Z = 18.0 N = 39.9 A = 39.95 g/mole ElmMassFraction: 1.28 % ElmAbundance 0.47 % - Material: Xenon density: 5.858 mg/cm3 RadL: 14.478 m Nucl.Int.Length: 303.666 m Imean: 480.600 eV temperature: 273.15 K pressure: 1.00 atm + Material: Xenon density: 5.858 mg/cm3 RadL: 14.478 m Nucl.Int.Length: 304.114 m Imean: 482.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Xenon ( ) Z = 54.0 N = 131.3 A = 131.29 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: CO2 density: 1.842 mg/cm3 RadL: 196.501 m Nucl.Int.Length: 466.037 m Imean: 90.164 eV temperature: 273.15 K pressure: 1.00 atm + Material: CO2 density: 1.842 mg/cm3 RadL: 196.501 m Nucl.Int.Length: 466.112 m Imean: 90.958 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 27.29 % ElmAbundance 33.33 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 72.71 % ElmAbundance 66.67 % - Material: Xe20CO2 density: 5.082 mg/cm3 RadL: 17.750 m Nucl.Int.Length: 323.032 m Imean: 411.175 eV temperature: 273.15 K pressure: 1.00 atm + Material: Xe20CO2 density: 5.082 mg/cm3 RadL: 17.750 m Nucl.Int.Length: 323.445 m Imean: 412.598 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Xenon ( ) Z = 54.0 N = 131.3 A = 131.29 g/mole ElmMassFraction: 92.20 % ElmAbundance 56.91 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 2.13 % ElmAbundance 14.36 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 5.67 % ElmAbundance 28.73 % - Material: Kr20CO2 density: 3.601 mg/cm3 RadL: 34.158 m Nucl.Int.Length: 391.555 m Imean: 297.188 eV temperature: 273.15 K pressure: 1.00 atm + Material: Kr20CO2 density: 3.601 mg/cm3 RadL: 34.158 m Nucl.Int.Length: 391.057 m Imean: 296.926 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Kr ( ) Z = 36.0 N = 83.8 A = 83.80 g/mole ElmMassFraction: 89.00 % ElmAbundance 58.62 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 3.00 % ElmAbundance 13.79 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 8.00 % ElmAbundance 27.59 % @@ -61,7 +61,15 @@ The minimal step is equal to 0.01 mm G4ClassicalRK4 (default) is called The minimal step is equal to 0.01 mm -Visualization Manager instantiating... + + The WORLD is made of 800mm of Air, the transverse size (R) of the world is 200 mm. + The ABSORBER is made of 40mm of Kr20CO2, the transverse size (R) is 100 mm. + Z position of the (middle of the) absorber 360 mm. + +F02PhysicsList::SetCuts:CutLength : 1 mm + +total time(SetCuts)=0 s +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -75,6 +83,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -94,207 +105,158 @@ Registered filter factories: originVolumeFilter attributeFilter - - The WORLD is made of 800mm of Air, the transverse size (R) of the world is 200 mm. - The ABSORBER is made of 40mm of Kr20CO2, the transverse size (R) is 100 mm. - Z position of the (middle of the) absorber 360 mm. - - -!!! 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 !!! - -F02PhysicsList::SetCuts:CutLength : 1 mm - -total time(SetCuts)=0 s G4ClassicalRK4 (default) is called The minimal step is equal to 10 mm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 +muMsc: 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV ========= Table of registered couples ============================== @@ -327,70 +289,28 @@ Start Run processing. Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.84 cm 1.54 cm 534 MeV 11.2 keV 5.32 cm 5.32 cm World eIoni - 2 -996 nm -9.11 cm 1.84 cm 961 MeV 8.17 keV 4.28 cm 9.6 cm World eIoni - 3 -1.13 um -9.66 cm 1.87 cm 1.02 GeV 2.24 keV 5.58 mm 10.2 cm World eIoni - 4 1.31 um -18.4 cm 2.18 cm 1.89 GeV 23.7 keV 8.7 cm 18.9 cm World eIoni - 5 1.97 um -20 cm 2.22 cm 2.05 GeV 3.93 keV 1.65 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.31 um -18.4 cm 2.18 cm 1.7 keV 0 eV 0 fm 0 fm World initStep - 1 -6.65 um -18.4 cm 2.18 cm 1.33 MeV 1.7 keV 121 um 121 um World eIoni - 2 -24.7 um -20 cm 2.18 cm 165 MeV 1.46 keV 1.63 cm 1.65 cm OutOfWorldTransportation + 1 0 fm -4.84 cm 1.54 cm 534 MeV 12.8 keV 5.32 cm 5.32 cm World eIoni + 2 -996 nm -9.11 cm 1.84 cm 961 MeV 9.17 keV 4.28 cm 9.6 cm World eIoni + 3 -1.26 um -15.3 cm 2.09 cm 1.58 GeV 14.9 keV 6.25 cm 15.8 cm World eIoni + 4 -1.84 um -20 cm 2.22 cm 2.05 GeV 9.75 keV 4.65 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.13 um -9.66 cm 1.87 cm 3.86 keV 0 eV 0 fm 0 fm World initStep - 1 -22.3 um -9.71 cm 1.87 cm 4.91 MeV 3.86 keV 458 um 458 um World eIoni - 2 -36.3 um -10.2 cm 1.87 cm 50.2 MeV 448 eV 4.53 mm 4.99 mm World eIoni - 3 -55.7 um -20 cm 1.87 cm 1.03 GeV 22.2 keV 9.84 cm 10.3 cm OutOfWorldTransportation + 0 -1.26 um -15.3 cm 2.09 cm 1.29 keV 0 eV 0 fm 0 fm World initStep + 1 1.67 um -15.4 cm 2.09 cm 900 keV 1.29 keV 82 um 82 um World eIoni + 2 11.8 um -20 cm 2.09 cm 465 MeV 7.19 keV 4.64 cm 4.65 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -996 nm -9.11 cm 1.84 cm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 -106 nm -9.11 cm 1.84 cm 642 keV 1.01 keV 58.3 um 58.3 um World eIoni - 2 3.52 um -13 cm 1.84 cm 385 MeV 5.52 keV 3.85 cm 3.85 cm World eIoni - 3 9.18 um -20 cm 1.84 cm 1.09 GeV 16.1 keV 7.04 cm 10.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.52 um -13 cm 1.84 cm 3.4 keV 0 eV 0 fm 0 fm World initStep - 1 -14.4 um -13 cm 1.84 cm 3.97 MeV 3.4 keV 369 um 369 um World eIoni - 2 -32.2 um -14 cm 1.84 cm 99.7 MeV 2.39 keV 9.58 mm 9.95 mm World eIoni - 3 -39.9 um -16.8 cm 1.84 cm 384 MeV 8.87 keV 2.85 cm 3.84 cm World eIoni - 4 -45.1 um -19.6 cm 1.84 cm 660 MeV 6.24 keV 2.76 cm 6.6 cm World eIoni - 5 -45.3 um -20 cm 1.84 cm 704 MeV 563 eV 4.41 mm 7.04 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -45.1 um -19.6 cm 1.84 cm 2.02 keV 0 eV 0 fm 0 fm World initStep - 1 -55.3 um -19.6 cm 1.84 cm 1.72 MeV 2.02 keV 158 um 158 um World eIoni - 2 -68.9 um -20 cm 1.84 cm 44.3 MeV 470 eV 4.26 mm 4.41 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -39.9 um -16.8 cm 1.84 cm 1.56 keV 0 eV 0 fm 0 fm World initStep - 1 -32.6 um -16.8 cm 1.84 cm 1.17 MeV 1.56 keV 107 um 107 um World eIoni - 2 -12.2 um -20 cm 1.84 cm 320 MeV 3.27 keV 3.19 cm 3.2 cm OutOfWorldTransportation + 0 -996 nm -9.11 cm 1.84 cm 1.16 keV 0 eV 0 fm 0 fm World initStep + 1 -2.85 um -9.11 cm 1.84 cm 772 keV 1.16 keV 70.3 um 70.3 um World eIoni + 2 -10.7 um -20 cm 1.83 cm 1.09 GeV 20.4 keV 10.9 cm 10.9 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 @@ -398,8 +318,8 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm -4.84 cm 1.54 cm 1.21 keV 0 eV 0 fm 0 fm World initStep - 1 2.8 um -4.85 cm 1.54 cm 823 keV 1.21 keV 74.6 um 74.6 um World eIoni - 2 14.7 um -20 cm 1.54 cm 1.52 GeV 20.8 keV 15.2 cm 15.2 cm OutOfWorldTransportation + 1 2.8 um -4.85 cm 1.54 cm 824 keV 1.21 keV 74.6 um 74.6 um World eIoni + 2 14.6 um -20 cm 1.54 cm 1.52 GeV 21.7 keV 15.2 cm 15.2 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -407,1455 +327,80 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.88 mm 5.16 mm 78.8 MeV 1.13 keV 6.11 mm 6.11 mm World eIoni - 2 10.2 um -10.9 cm 1.92 cm 1.14 GeV 21.5 keV 10.7 cm 11.4 cm World eIoni - 3 11.1 um -20 cm 2.22 cm 2.05 GeV 21.8 keV 9.15 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 10.2 um -10.9 cm 1.92 cm 1.19 keV 0 eV 0 fm 0 fm World initStep - 1 13.6 um -10.9 cm 1.92 cm 803 keV 1.19 keV 73.2 um 73.2 um World eIoni - 2 27.4 um -18 cm 1.92 cm 719 MeV 8.83 keV 7.18 cm 7.18 cm World eIoni - 3 27.7 um -20 cm 1.92 cm 914 MeV 3.35 keV 1.96 cm 9.14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 27.4 um -18 cm 1.92 cm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 27.3 um -18 cm 1.92 cm 678 keV 1.05 keV 61.7 um 61.7 um World eIoni - 2 26.8 um -20 cm 1.92 cm 196 MeV 3.86 keV 1.95 cm 1.96 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.88 mm 5.16 mm 2.92 keV 0 eV 0 fm 0 fm World initStep - 1 -10.2 um -3.16 mm 5.16 mm 3.08 MeV 2.92 keV 285 um 285 um World eIoni - 2 -19.2 um -7 mm 5.15 mm 41.5 MeV 580 eV 3.84 mm 4.13 mm WorldTransportation - 3 -19.2 um -7 mm 5.15 mm 41.5 MeV9.49e-14 eV 0.000495 fm 4.13 mm World eIoni - 4 -27.7 um -4.26 cm 5.14 mm 397 MeV 4.42 keV 3.56 cm 3.97 cm World eIoni - 5 -37.3 um -20 cm 5.17 mm 1.97 GeV 31.2 keV 15.7 cm 19.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -27.7 um -4.26 cm 5.14 mm 52.7 keV 0 eV 0 fm 0 fm World initStep - 1 -7.6 um -5.15 cm 4.95 mm 91.5 MeV 4.01 keV 9.03 mm 9.03 mm World eIoni - 2 -4.94 um -7 cm 4.93 mm 276 MeV 4.22 keV 1.84 cm 2.75 cm World eIoni - 3 -991 nm -13.5 cm 4.9 mm 926 MeV 15 keV 6.5 cm 9.25 cm World eIoni - 4 -141 nm -14.9 cm 4.9 mm 1.07 GeV 2.22 keV 1.42 cm 10.7 cm World eIoni - 5 352 nm -20 cm 4.89 mm 1.58 GeV 8.67 keV 5.08 cm 15.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -141 nm -14.9 cm 4.9 mm 2.27 keV 0 eV 0 fm 0 fm World initStep - 1 11.2 um -14.9 cm 4.9 mm 2.06 MeV 2.27 keV 190 um 190 um World eIoni - 2 33.9 um -17.8 cm 4.89 mm 284 MeV 4.72 keV 2.82 cm 2.84 cm World eIoni - 3 36.4 um -20 cm 4.89 mm 509 MeV 4.52 keV 2.25 cm 5.08 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -991 nm -13.5 cm 4.9 mm 2.11 keV 0 eV 0 fm 0 fm World initStep - 1 -7.19 um -13.5 cm 4.89 mm 1.84 MeV 2.11 keV 168 um 168 um World eIoni - 2 -18.6 um -14.9 cm 4.88 mm 144 MeV 1.03 keV 1.42 cm 1.44 cm World eIoni - 3 -28.1 um -20 cm 4.87 mm 651 MeV 8.25 keV 5.07 cm 6.51 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -18.6 um -14.9 cm 4.88 mm 1.32 keV 0 eV 0 fm 0 fm World initStep - 1 -12.4 um -14.9 cm 4.88 mm 928 keV 1.32 keV 84.4 um 84.4 um World eIoni - 2 9.02 um -20 cm 4.88 mm 507 MeV 9.07 keV 5.06 cm 5.07 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.94 um -7 cm 4.93 mm 1.32 keV 0 eV 0 fm 0 fm World initStep - 1 -6.42 um -7 cm 4.92 mm 931 keV 1.32 keV 84.7 um 84.7 um World eIoni - 2 -11.9 um -14.7 cm 4.9 mm 766 MeV 8.37 keV 7.65 cm 7.66 cm World eIoni - 3 -9.86 um -15.5 cm 4.89 mm 851 MeV 2.55 keV 8.44 mm 8.51 cm World eIoni - 4 -6.47 um -17 cm 4.89 mm 998 MeV 2.51 keV 1.47 cm 9.98 cm World eIoni - 5 -593 nm -20 cm 4.88 mm 1.3 GeV 8.11 keV 3.03 cm 13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.47 um -17 cm 4.89 mm 1.93 keV 0 eV 0 fm 0 fm World initStep - 1 -11.5 um -17 cm 4.9 mm 1.61 MeV 1.93 keV 148 um 148 um World eIoni - 2 -22 um -18.7 cm 4.92 mm 177 MeV 2.48 keV 1.75 cm 1.77 cm World eIoni - 3 -23.2 um -20 cm 4.92 mm 303 MeV 3.79 keV 1.26 cm 3.03 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -9.86 um -15.5 cm 4.89 mm 1.34 keV 0 eV 0 fm 0 fm World initStep - 1 -12.8 um -15.5 cm 4.9 mm 947 keV 1.34 keV 86.2 um 86.2 um World eIoni - 2 -22.7 um -20 cm 4.92 mm 450 MeV 6.6 keV 4.49 cm 4.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -11.9 um -14.7 cm 4.9 mm 59 keV 0 eV 0 fm 0 fm World initStep - 1 -180 um -16.1 cm 5.01 mm 144 MeV 9.71 keV 1.43 cm 1.43 cm World eIoni - 2 -202 um -18.9 cm 5.02 mm 424 MeV 6.13 keV 2.8 cm 4.23 cm World eIoni - 3 -207 um -20 cm 5.03 mm 536 MeV 1.29 keV 1.12 cm 5.35 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.43 cm 1.02 cm 193 MeV 4.52 keV 1.87 cm 1.87 cm World eIoni - 2 -6.33 um -19.8 cm 2.21 cm 2.03 GeV 38.6 keV 18.4 cm 20.3 cm World eIoni - 3 -6.41 um -20 cm 2.22 cm 2.05 GeV 208 eV 2.33 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.33 um -19.8 cm 2.21 cm 1.64 keV 0 eV 0 fm 0 fm World initStep - 1 1.34 um -19.8 cm 2.21 cm 1.26 MeV 1.64 keV 115 um 115 um World eIoni - 2 11.5 um -20 cm 2.21 cm 23.4 MeV 792 eV 2.22 mm 2.33 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.43 cm 1.02 cm 1.83 keV 0 eV 0 fm 0 fm World initStep - 1 5.75 um -1.45 cm 1.02 cm 1.49 MeV 1.83 keV 136 um 136 um World eIoni - 2 20.7 um -6.02 cm 1.02 cm 459 MeV 6.88 keV 4.58 cm 4.59 cm World eIoni - 3 27.8 um -20 cm 1.02 cm 1.86 GeV 34.8 keV 14 cm 18.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 20.7 um -6.02 cm 1.02 cm 1.49 keV 0 eV 0 fm 0 fm World initStep - 1 16.2 um -6.03 cm 1.02 cm 1.1 MeV 1.49 keV 99.7 um 99.7 um World eIoni - 2 -788 nm -20 cm 1.03 cm 1.4 GeV 19.5 keV 14 cm 14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -9.54 cm 1.86 cm 1 GeV 20.1 keV 10 cm 10 cm World eIoni - 2 4.1 um -18.5 cm 2.18 cm 1.9 GeV 20.1 keV 8.99 cm 19 cm World eIoni - 3 4.12 um -20 cm 2.22 cm 2.05 GeV 1.95 keV 1.48 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.1 um -18.5 cm 2.18 cm 4.08 keV 0 eV 0 fm 0 fm World initStep - 1 25.9 um -18.6 cm 2.18 cm 5.4 MeV 4.08 keV 505 um 505 um World eIoni - 2 34.6 um -18.8 cm 2.18 cm 23.6 MeV 1.78 keV 1.82 mm 2.33 mm World eIoni - 3 45.9 um -20 cm 2.18 cm 148 MeV 2.57 keV 1.24 cm 1.48 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -9.54 cm 1.86 cm 4.02 keV 0 eV 0 fm 0 fm World initStep - 1 -22.4 um -9.59 cm 1.86 cm 5.27 MeV 4.02 keV 492 um 492 um World eIoni - 2 -27.8 um -9.67 cm 1.86 cm 13 MeV 81.5 eV 776 um 1.27 mm World eIoni - 3 -53.4 um -16.7 cm 1.86 cm 714 MeV 11.9 keV 7.01 cm 7.14 cm World eIoni - 4 -51.3 um -20 cm 1.86 cm 1.05 GeV 7.34 keV 3.32 cm 10.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -53.4 um -16.7 cm 1.86 cm 117 keV 0 eV 0 fm 0 fm World initStep - 1 -139 um -18.5 cm 1.84 cm 187 MeV 7.85 keV 1.87 cm 1.87 cm World eIoni - 2 -145 um -20 cm 1.83 cm 333 MeV 1.74 keV 1.46 cm 3.33 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -139 um -18.5 cm 1.84 cm 1.32 keV 0 eV 0 fm 0 fm World initStep - 1 -139 um -18.6 cm 1.84 cm 930 keV 1.32 keV 84.6 um 84.6 um World eIoni - 2 -140 um -20 cm 1.83 cm 146 MeV 1.55 keV 1.45 cm 1.46 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -16.6 cm 2.13 cm 1.71 GeV 36.9 keV 17.1 cm 17.1 cm World eIoni - 2 -738 nm -18.8 cm 2.19 cm 1.93 GeV 5.64 keV 2.19 cm 19.3 cm World eIoni - 3 -1.33 um -20 cm 2.22 cm 2.05 GeV 3.03 keV 1.22 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -738 nm -18.8 cm 2.19 cm 1.25 keV 0 eV 0 fm 0 fm World initStep - 1 5.16 um -18.8 cm 2.19 cm 858 keV 1.25 keV 78 um 78 um World eIoni - 2 20.6 um -20 cm 2.19 cm 122 MeV 2.19 keV 1.21 cm 1.22 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -16.6 cm 2.13 cm 13.7 keV 0 eV 0 fm 0 fm World initStep - 1 38.2 um -16.8 cm 2.12 cm 24.1 MeV 5.54 keV 2.31 mm 2.31 mm World eIoni - 2 53.6 um -19.6 cm 2.12 cm 302 MeV 5.62 keV 2.78 cm 3.01 cm World eIoni - 3 53.9 um -20 cm 2.12 cm 343 MeV 1.29 keV 4.07 mm 3.42 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -7.07 cm 1.72 cm 757 MeV 13.6 keV 7.56 cm 7.56 cm World eIoni - 2 3.33 um -20 cm 2.22 cm 2.05 GeV 31.2 keV 12.9 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -7.07 cm 1.72 cm 1.4 keV 0 eV 0 fm 0 fm World initStep - 1 -6 um -7.08 cm 1.72 cm 1.01 MeV 1.4 keV 91.7 um 91.7 um World eIoni - 2 -25.1 um -11 cm 1.72 cm 389 MeV 5.52 keV 3.88 cm 3.89 cm World eIoni - 3 -26.2 um -18.7 cm 1.72 cm 1.17 GeV 16.8 keV 7.77 cm 11.7 cm World eIoni - 4 -26 um -20 cm 1.72 cm 1.29 GeV 2.39 keV 1.28 cm 12.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -26.2 um -18.7 cm 1.72 cm 1.76 keV 0 eV 0 fm 0 fm World initStep - 1 -33.8 um -18.7 cm 1.72 cm 1.4 MeV 1.76 keV 128 um 128 um World eIoni - 2 -49.6 um -20 cm 1.72 cm 128 MeV 1.4 keV 1.27 cm 1.28 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -25.1 um -11 cm 1.72 cm 5.69 keV 0 eV 0 fm 0 fm World initStep - 1 -35.6 um -11 cm 1.71 cm 9.61 MeV 5.69 keV 904 um 904 um World eIoni - 2 -37.5 um -11.2 cm 1.71 cm 21.8 MeV 190 eV 1.22 mm 2.13 mm World eIoni - 3 -45.6 um -16.8 cm 1.71 cm 589 MeV 10.1 keV 5.67 cm 5.89 cm World eIoni - 4 -45.9 um -17.2 cm 1.71 cm 628 MeV 526 eV 3.91 mm 6.28 cm World eIoni - 5 -49.4 um -20 cm 1.71 cm 905 MeV 6.36 keV 2.77 cm 9.05 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -45.9 um -17.2 cm 1.71 cm 2.36 keV 0 eV 0 fm 0 fm World initStep - 1 -34 um -17.3 cm 1.71 cm 2.19 MeV 2.36 keV 202 um 202 um World eIoni - 2 -17.4 um -18.1 cm 1.71 cm 82.9 MeV 805 eV 8.07 mm 8.27 mm World eIoni - 3 -11.6 um -20 cm 1.71 cm 277 MeV 2.32 keV 1.94 cm 2.77 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -45.6 um -16.8 cm 1.71 cm 1.03 keV 0 eV 0 fm 0 fm World initStep - 1 -40.8 um -16.8 cm 1.71 cm 662 keV 1.03 keV 60.2 um 60.2 um World eIoni - 2 -22.7 um -19.5 cm 1.71 cm 264 MeV 5.52 keV 2.64 cm 2.64 cm World eIoni - 3 -21.8 um -20 cm 1.71 cm 316 MeV 512 eV 5.18 mm 3.16 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -22.7 um -19.5 cm 1.71 cm 4.11 keV 0 eV 0 fm 0 fm World initStep - 1 -45.6 um -19.5 cm 1.71 cm 5.46 MeV 4.11 keV 510 um 510 um World eIoni - 2 -53.9 um -19.7 cm 1.71 cm 21 MeV 232 eV 1.56 mm 2.07 mm World eIoni - 3 -59.7 um -20 cm 1.71 cm 52.3 MeV 1.38 keV 3.12 mm 5.19 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.67 cm 1.27 cm 317 MeV 6.22 keV 3.13 cm 3.13 cm World eIoni - 2 3.44 um -11.4 cm 1.95 cm 1.19 GeV 18.4 keV 8.77 cm 11.9 cm World eIoni - 3 4.26 um -20 cm 2.22 cm 2.05 GeV 15.8 keV 8.6 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.44 um -11.4 cm 1.95 cm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 5.02 um -11.4 cm 1.95 cm 643 keV 1.01 keV 58.6 um 58.6 um World eIoni - 2 12.3 um -20 cm 1.94 cm 859 MeV 13.3 keV 8.59 cm 8.59 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.67 cm 1.27 cm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 -4.13 um -2.67 cm 1.27 cm 776 keV 1.17 keV 70.9 um 70.9 um World eIoni - 2 -19.1 um -6.1 cm 1.27 cm 344 MeV 5.67 keV 3.43 cm 3.44 cm World eIoni - 3 -23 um -18 cm 1.27 cm 1.53 GeV 24.2 keV 11.9 cm 15.3 cm World eIoni - 4 -23.1 um -20 cm 1.27 cm 1.73 GeV 1.99 keV 1.99 cm 17.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -23 um -18 cm 1.27 cm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 -24.2 um -18 cm 1.27 cm 730 keV 1.11 keV 66.4 um 66.4 um World eIoni - 2 -28.3 um -20 cm 1.27 cm 199 MeV 2.13 keV 1.98 cm 1.99 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.14 mm 4.5 mm 71.4 MeV 915 eV 5.12 mm 5.12 mm World eIoni - 2 -8.68 um -20 cm 2.22 cm 2.05 GeV 36 keV 20 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.14 mm 4.5 mm 1.33 keV 0 eV 0 fm 0 fm World initStep - 1 4.18 um -2.22 mm 4.5 mm 924 keV 1.33 keV 85 um 85 um World eIoni - 2 21.1 um -11.2 cm 4.48 mm 1.1 GeV 12.9 keV 11 cm 11 cm World eIoni - 3 23.4 um -19.3 cm 4.48 mm 1.91 GeV 16.5 keV 8.1 cm 19.1 cm World eIoni - 4 23.6 um -20 cm 4.48 mm 1.98 GeV 930 eV 6.76 mm 19.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 23.4 um -19.3 cm 4.48 mm 15.2 keV 0 eV 0 fm 0 fm World initStep - 1 -10.3 um -19.6 cm 4.56 mm 26.4 MeV 3.44 keV 2.53 mm 2.53 mm World eIoni - 2 -11.8 um -19.7 cm 4.56 mm 35.2 MeV 45.2 eV 886 um 3.41 mm World eIoni - 3 -15.3 um -20 cm 4.57 mm 69.1 MeV 939 eV 3.39 mm 6.81 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 21.1 um -11.2 cm 4.48 mm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 18.7 um -11.2 cm 4.48 mm 647 keV 1.01 keV 58.8 um 58.8 um World eIoni - 2 7.49 um -20 cm 4.46 mm 878 MeV 15 keV 8.77 cm 8.78 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.36 cm 1.38 cm 386 MeV 9.66 keV 3.83 cm 3.83 cm World eIoni - 2 -5.45 um -20 cm 2.22 cm 2.05 GeV 27.9 keV 16.7 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.36 cm 1.38 cm 10.2 keV 0 eV 0 fm 0 fm World initStep - 1 16.1 um -3.49 cm 1.37 cm 14.2 MeV 1.63 keV 1.36 mm 1.36 mm World eIoni - 2 29.3 um -11.1 cm 1.37 cm 777 MeV 12.7 keV 7.63 cm 7.77 cm World eIoni - 3 29.6 um -11.4 cm 1.37 cm 808 MeV 1.45 keV 3.03 mm 8.07 cm World eIoni - 4 38.6 um -20 cm 1.37 cm 1.67 GeV 18.3 keV 8.58 cm 16.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 29.6 um -11.4 cm 1.37 cm 7.36 keV 0 eV 0 fm 0 fm World initStep - 1 12.5 um -11.5 cm 1.37 cm 6.62 MeV 3.12 keV 632 um 632 um World eIoni - 2 -6.68 um -15.3 cm 1.37 cm 389 MeV 7.21 keV 3.82 cm 3.89 cm World eIoni - 3 -7.08 um -16.5 cm 1.37 cm 505 MeV 1.55 keV 1.16 cm 5.04 cm World eIoni - 4 2.73 um -20 cm 1.37 cm 858 MeV 10.8 keV 3.53 cm 8.58 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.08 um -16.5 cm 1.37 cm 40.6 keV 0 eV 0 fm 0 fm World initStep - 1 -180 um -17.3 cm 1.38 cm 82 MeV 6.09 keV 8.06 mm 8.06 mm World eIoni - 2 -209 um -20 cm 1.38 cm 356 MeV 4.49 keV 2.74 cm 3.54 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.68 um -15.3 cm 1.37 cm 1.38 keV 0 eV 0 fm 0 fm World initStep - 1 -12.3 um -15.3 cm 1.37 cm 989 keV 1.38 keV 90 um 90 um World eIoni - 2 -27.9 um -17.1 cm 1.37 cm 176 MeV 2.74 keV 1.75 cm 1.76 cm World eIoni - 3 -28.1 um -20 cm 1.37 cm 469 MeV 7.15 keV 2.93 cm 4.69 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -27.9 um -17.1 cm 1.37 cm 2.97 keV 0 eV 0 fm 0 fm World initStep - 1 -36.5 um -17.1 cm 1.38 cm 3.17 MeV 2.97 keV 294 um 294 um World eIoni - 2 -46.9 um -18.2 cm 1.38 cm 117 MeV 2.27 keV 1.14 cm 1.17 cm World eIoni - 3 -49.6 um -20 cm 1.38 cm 294 MeV 4.84 keV 1.76 cm 2.93 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 29.3 um -11.1 cm 1.37 cm 1.99 keV 0 eV 0 fm 0 fm World initStep - 1 19.3 um -11.1 cm 1.37 cm 1.69 MeV 1.99 keV 154 um 154 um World eIoni - 2 -8.18 um -20 cm 1.37 cm 888 MeV 12 keV 8.86 cm 8.88 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.23 cm 1.2 cm 273 MeV 5.84 keV 2.69 cm 2.69 cm World eIoni - 2 2.17 um -3.27 cm 1.36 cm 377 MeV 1.61 keV 1.05 cm 3.74 cm World eIoni - 3 5.11 um -4.84 cm 1.54 cm 534 MeV 3.08 keV 1.58 cm 5.33 cm World eIoni - 4 21.3 um -20 cm 2.22 cm 2.05 GeV 24.3 keV 15.2 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.11 um -4.84 cm 1.54 cm 3.58 keV 0 eV 0 fm 0 fm World initStep - 1 -6.73 um -4.88 cm 1.54 cm 4.32 MeV 3.58 keV 402 um 402 um World eIoni - 2 -10.5 um -4.97 cm 1.54 cm 12.8 MeV 106 eV 852 um 1.25 mm World eIoni - 3 -27 um -16.9 cm 1.55 cm 1.21 GeV 18 keV 11.9 cm 12.1 cm World eIoni - 4 -26 um -20 cm 1.55 cm 1.52 GeV 5.68 keV 3.1 cm 15.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -27 um -16.9 cm 1.55 cm 26.1 keV 0 eV 0 fm 0 fm World initStep - 1 -100 um -17.3 cm 1.53 cm 45.8 MeV 4.4 keV 4.42 mm 4.42 mm World eIoni - 2 -104 um -17.6 cm 1.53 cm 75 MeV 630 eV 2.92 mm 7.35 mm World eIoni - 3 -117 um -20 cm 1.53 cm 312 MeV 4.9 keV 2.37 cm 3.11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.17 um -3.27 cm 1.36 cm 1.21 keV 0 eV 0 fm 0 fm World initStep - 1 -546 nm -3.28 cm 1.36 cm 813 keV 1.21 keV 74.3 um 74.3 um World eIoni - 2 -12.4 um -16.5 cm 1.36 cm 1.32 GeV 18.9 keV 13.2 cm 13.2 cm World eIoni - 3 -13 um -17.8 cm 1.36 cm 1.45 GeV 2.03 keV 1.29 cm 14.5 cm World eIoni - 4 -14.4 um -20 cm 1.36 cm 1.67 GeV 4.1 keV 2.22 cm 16.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -13 um -17.8 cm 1.36 cm 2.9 keV 0 eV 0 fm 0 fm World initStep - 1 1.94 um -17.8 cm 1.36 cm 3.05 MeV 2.9 keV 282 um 282 um World eIoni - 2 4.01 um -17.8 cm 1.36 cm 4.75 MeV 49.5 eV 170 um 452 um World eIoni - 3 24.3 um -20 cm 1.36 cm 222 MeV 5.33 keV 2.17 cm 2.22 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -12.4 um -16.5 cm 1.36 cm 2.32 keV 0 eV 0 fm 0 fm World initStep - 1 -778 nm -16.5 cm 1.36 cm 2.13 MeV 2.32 keV 195 um 195 um World eIoni - 2 11.5 um -16.8 cm 1.36 cm 33.9 MeV 505 eV 3.18 mm 3.37 mm World eIoni - 3 22.9 um -20 cm 1.36 cm 351 MeV 5.49 keV 3.17 cm 3.51 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.23 cm 1.2 cm 4.85 keV 0 eV 0 fm 0 fm World initStep - 1 -26.5 um -2.3 cm 1.2 cm 7.26 MeV 4.85 keV 681 um 681 um World eIoni - 2 -41.7 um -2.97 cm 1.2 cm 74.3 MeV 645 eV 6.7 mm 7.39 mm World eIoni - 3 -82.4 um -8.47 cm 1.2 cm 625 MeV 10.5 keV 5.5 cm 6.24 cm World eIoni - 4 -103 um -20 cm 1.2 cm 1.78 GeV 26.2 keV 11.5 cm 17.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -82.4 um -8.47 cm 1.2 cm 3.15 keV 0 eV 0 fm 0 fm World initStep - 1 -79.3 um -8.51 cm 1.2 cm 3.49 MeV 3.15 keV 324 um 324 um World eIoni - 2 -76.4 um -9.11 cm 1.2 cm 64 MeV 483 eV 6.05 mm 6.38 mm World eIoni - 3 -75 um -10.8 cm 1.2 cm 238 MeV 2.17 keV 1.74 cm 2.38 cm World eIoni - 4 -73.8 um -13.5 cm 1.2 cm 501 MeV 5.93 keV 2.63 cm 5 cm World eIoni - 5 -74.6 um -16.2 cm 1.2 cm 769 MeV 5.78 keV 2.69 cm 7.69 cm World eIoni - 6 -76.8 um -20 cm 1.2 cm 1.15 GeV 8.53 keV 3.84 cm 11.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -74.6 um -16.2 cm 1.2 cm 1.71 keV 0 eV 0 fm 0 fm World initStep - 1 -67 um -16.2 cm 1.2 cm 1.34 MeV 1.71 keV 123 um 123 um World eIoni - 2 -46.7 um -20 cm 1.2 cm 384 MeV 4.44 keV 3.82 cm 3.84 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -73.8 um -13.5 cm 1.2 cm 2.53 keV 0 eV 0 fm 0 fm World initStep - 1 -64.9 um -13.5 cm 1.2 cm 2.45 MeV 2.53 keV 226 um 226 um World eIoni - 2 -56.2 um -13.8 cm 1.2 cm 35.9 MeV 204 eV 3.35 mm 3.57 mm World eIoni - 3 -46.6 um -20 cm 1.2 cm 652 MeV 11.3 keV 6.17 cm 6.52 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -75 um -10.8 cm 1.2 cm 1.24 keV 0 eV 0 fm 0 fm World initStep - 1 -76 um -10.9 cm 1.2 cm 846 keV 1.24 keV 77 um 77 um World eIoni - 2 -79.8 um -20 cm 1.2 cm 915 MeV 14.9 keV 9.14 cm 9.15 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -41.7 um -2.97 cm 1.2 cm 14.9 keV 0 eV 0 fm 0 fm World initStep - 1 35.4 um -3.22 cm 1.2 cm 25.8 MeV 4.73 keV 2.48 mm 2.48 mm World eIoni - 2 50 um -3.84 cm 1.2 cm 88 MeV 521 eV 6.21 mm 8.69 mm World eIoni - 3 84.2 um -16.5 cm 1.2 cm 1.35 GeV 24.8 keV 12.6 cm 13.5 cm World eIoni - 4 88.3 um -20 cm 1.2 cm 1.7 GeV 5.23 keV 3.55 cm 17 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 84.2 um -16.5 cm 1.2 cm 41.6 keV 0 eV 0 fm 0 fm World initStep - 1 36.9 um -16.8 cm 1.21 cm 38.2 MeV 2.2 keV 3.74 mm 3.74 mm World eIoni - 2 21.1 um -20 cm 1.22 cm 356 MeV 8.18 keV 3.18 cm 3.55 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.1 cm 9.2 mm 160 MeV 4.44 keV 1.52 cm 1.52 cm World eIoni - 2 -4 um -6.38 cm 1.67 cm 688 MeV 11.9 keV 5.35 cm 6.87 cm World eIoni - 3 -2.97 um -15.9 cm 2.11 cm 1.64 GeV 21.9 keV 9.55 cm 16.4 cm World eIoni - 4 -3.42 um -20 cm 2.22 cm 2.05 GeV 10.6 keV 4.08 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.97 um -15.9 cm 2.11 cm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 1.87 um -15.9 cm 2.11 cm 677 keV 1.05 keV 61.6 um 61.6 um World eIoni - 2 20.9 um -20 cm 2.11 cm 408 MeV 5.68 keV 4.07 cm 4.08 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4 um -6.38 cm 1.67 cm 1.69 keV 0 eV 0 fm 0 fm World initStep - 1 -11.9 um -6.39 cm 1.67 cm 1.33 MeV 1.69 keV 121 um 121 um World eIoni - 2 -37.8 um -19 cm 1.67 cm 1.26 GeV 17.8 keV 12.6 cm 12.6 cm World eIoni - 3 -37.7 um -20 cm 1.67 cm 1.36 GeV 1.3 keV 1.05 cm 13.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -37.8 um -19 cm 1.67 cm 5.39 keV 0 eV 0 fm 0 fm World initStep - 1 -58.9 um -19 cm 1.67 cm 8.73 MeV 5.39 keV 821 um 821 um World eIoni - 2 -59.4 um -19 cm 1.67 cm 9.71 MeV 15.3 eV 98.1 um 919 um World eIoni - 3 -71.4 um -20 cm 1.67 cm 106 MeV 1.84 keV 9.58 mm 1.05 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.1 cm 9.2 mm 2.19 keV 0 eV 0 fm 0 fm World initStep - 1 6.29 um -1.11 cm 9.19 mm 1.95 MeV 2.19 keV 179 um 179 um World eIoni - 2 12.2 um -1.3 cm 9.18 mm 20.7 MeV 230 eV 1.87 mm 2.05 mm World eIoni - 3 20.4 um -4.51 cm 9.17 mm 342 MeV 5.84 keV 3.21 cm 3.42 cm World eIoni - 4 20.6 um -5.19 cm 9.17 mm 410 MeV 1.59 keV 6.79 mm 4.1 cm World eIoni - 5 20.4 um -5.44 cm 9.17 mm 435 MeV 123 eV 2.47 mm 4.34 cm World eIoni - 6 14 um -12.9 cm 9.18 mm 1.18 GeV 13 keV 7.43 cm 11.8 cm World eIoni - 7 10.8 um -18.8 cm 9.18 mm 1.77 GeV 11.8 keV 5.96 cm 17.7 cm World eIoni - 8 10.4 um -20 cm 9.18 mm 1.89 GeV 2.53 keV 1.17 cm 18.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 10.8 um -18.8 cm 9.18 mm 3.22 keV 0 eV 0 fm 0 fm World initStep - 1 4.96 um -18.9 cm 9.2 mm 3.62 MeV 3.22 keV 336 um 336 um World eIoni - 2 -1.48 um -20 cm 9.21 mm 118 MeV 2.22 keV 1.14 cm 1.17 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14 um -12.9 cm 9.18 mm 2.43 keV 0 eV 0 fm 0 fm World initStep - 1 17.3 um -12.9 cm 9.16 mm 2.3 MeV 2.43 keV 211 um 211 um World eIoni - 2 21.8 um -13.7 cm 9.15 mm 87.3 MeV 688 eV 8.5 mm 8.71 mm World eIoni - 3 24.6 um -20 cm 9.14 mm 713 MeV 12.7 keV 6.26 cm 7.13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 20.4 um -5.44 cm 9.17 mm 15.7 keV 0 eV 0 fm 0 fm World initStep - 1 42 um -5.7 cm 9.09 mm 27.1 MeV 3.7 keV 2.6 mm 2.6 mm World eIoni - 2 45.8 um -6.29 cm 9.07 mm 86.3 MeV 1.35 keV 5.92 mm 8.53 mm World eIoni - 3 49.6 um -8.84 cm 9.05 mm 341 MeV 7.43 keV 2.55 cm 3.4 cm World eIoni - 4 52.8 um -20 cm 9.02 mm 1.46 GeV 21.4 keV 11.2 cm 14.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 49.6 um -8.84 cm 9.05 mm 2.6 keV 0 eV 0 fm 0 fm World initStep - 1 51.1 um -8.86 cm 9.07 mm 2.56 MeV 2.6 keV 236 um 236 um World eIoni - 2 52.5 um -9.12 cm 9.08 mm 28.6 MeV 669 eV 2.6 mm 2.84 mm World eIoni - 3 54.5 um -17.2 cm 9.1 mm 835 MeV 14.5 keV 8.06 cm 8.35 cm World eIoni - 4 51.2 um -20 cm 9.1 mm 1.12 GeV 4.41 keV 2.82 cm 11.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 54.5 um -17.2 cm 9.1 mm 18.2 keV 0 eV 0 fm 0 fm World initStep - 1 148 um -17.5 cm 9.11 mm 31 MeV 4.41 keV 2.98 mm 2.98 mm World eIoni - 2 150 um -17.5 cm 9.11 mm 37.6 MeV 95.6 eV 663 um 3.65 mm World eIoni - 3 178 um -20 cm 9.11 mm 283 MeV 3.33 keV 2.46 cm 2.82 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 45.8 um -6.29 cm 9.07 mm 1.73 keV 0 eV 0 fm 0 fm World initStep - 1 47 um -6.3 cm 9.08 mm 1.37 MeV 1.73 keV 125 um 125 um World eIoni - 2 47.6 um -6.34 cm 9.09 mm 5.02 MeV 0 eV 366 um 491 um World eIoni - 3 50.8 um -8.34 cm 9.07 mm 206 MeV 1.96 keV 2.01 cm 2.06 cm World eIoni - 4 55.7 um -20 cm 9.07 mm 1.37 GeV 13.9 keV 11.7 cm 13.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 50.8 um -8.34 cm 9.07 mm 1.7 keV 0 eV 0 fm 0 fm World initStep - 1 47.4 um -8.36 cm 9.06 mm 1.33 MeV 1.7 keV 122 um 122 um World eIoni - 2 39.6 um -9.98 cm 9.05 mm 164 MeV 2.72 keV 1.63 cm 1.64 cm World eIoni - 3 34.9 um -12.5 cm 9.04 mm 421 MeV 3.46 keV 2.57 cm 4.21 cm World eIoni - 4 31.1 um -20 cm 9.05 mm 1.17 GeV 14.2 keV 7.45 cm 11.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 34.9 um -12.5 cm 9.04 mm 1.84 keV 0 eV 0 fm 0 fm World initStep - 1 33.7 um -12.6 cm 9.04 mm 1.5 MeV 1.84 keV 137 um 137 um World eIoni - 2 31.8 um -13 cm 9.02 mm 46.4 MeV 653 eV 4.49 mm 4.62 mm World eIoni - 3 30.1 um -20 cm 9.01 mm 745 MeV 15.3 keV 6.99 cm 7.45 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 39.6 um -9.98 cm 9.05 mm 1.7 keV 0 eV 0 fm 0 fm World initStep - 1 46.4 um -9.99 cm 9.04 mm 1.33 MeV 1.7 keV 121 um 121 um World eIoni - 2 67.7 um -19.3 cm 9.02 mm 936 MeV 12.9 keV 9.34 cm 9.36 cm World eIoni - 3 67.7 um -20 cm 9.02 mm 1 GeV 637 eV 6.62 mm 10 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 16 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 67.7 um -19.3 cm 9.02 mm 1.61 keV 0 eV 0 fm 0 fm World initStep - 1 74 um -19.3 cm 9.03 mm 1.23 MeV 1.61 keV 112 um 112 um World eIoni - 2 85.8 um -20 cm 9.04 mm 66.3 MeV 718 eV 6.51 mm 6.62 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 47.6 um -6.34 cm 9.09 mm 7.1 keV 0 eV 0 fm 0 fm World initStep - 1 46.1 um -6.46 cm 9.13 mm 13.5 MeV 6.4 keV 1.27 mm 1.27 mm World eIoni - 2 45.6 um -6.91 cm 9.14 mm 58.1 MeV 607 eV 4.46 mm 5.74 mm World eIoni - 3 45 um -11.8 cm 9.16 mm 551 MeV 7.06 keV 4.92 cm 5.5 cm World eIoni - 4 43.3 um -17.7 cm 9.17 mm 1.13 GeV 10.9 keV 5.83 cm 11.3 cm World eIoni - 5 43.9 um -20 cm 9.17 mm 1.37 GeV 5.79 keV 2.34 cm 13.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 43.3 um -17.7 cm 9.17 mm 8.49 keV 0 eV 0 fm 0 fm World initStep - 1 7.69 um -17.8 cm 9.21 mm 16.2 MeV 5.74 keV 1.54 mm 1.54 mm World eIoni - 2 -4.79 um -18.8 cm 9.22 mm 113 MeV 2.59 keV 9.7 mm 1.12 cm World eIoni - 3 -9.52 um -20 cm 9.23 mm 235 MeV 1.46 keV 1.21 cm 2.34 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 45 um -11.8 cm 9.16 mm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 48.3 um -11.8 cm 9.16 mm 786 keV 1.17 keV 71.5 um 71.5 um World eIoni - 2 62 um -20 cm 9.14 mm 817 MeV 11.5 keV 8.16 cm 8.17 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 20.6 um -5.19 cm 9.17 mm 1.98 keV 0 eV 0 fm 0 fm World initStep - 1 30.4 um -5.21 cm 9.17 mm 1.67 MeV 1.98 keV 153 um 153 um World eIoni - 2 59 um -20 cm 9.16 mm 1.48 GeV 20.3 keV 14.8 cm 14.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 20.4 um -4.51 cm 9.17 mm 990 eV 0 eV 0 fm 0 fm World initStep - 1 22.5 um -4.52 cm 9.17 mm 626 keV 990 eV 57 um 57 um World eIoni - 2 33 um -20 cm 9.2 mm 1.55 GeV 21.4 keV 15.5 cm 15.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.86 cm 1.44 cm 436 MeV 9.19 keV 4.34 cm 4.34 cm World eIoni - 2 621 nm -5.14 cm 1.57 cm 564 MeV 2.25 keV 1.28 cm 5.62 cm World eIoni - 3 595 nm -6.37 cm 1.67 cm 687 MeV 1.49 keV 1.24 cm 6.86 cm World eIoni - 4 -2.01 um -13.3 cm 2.02 cm 1.38 GeV 16 keV 6.95 cm 13.8 cm World eIoni - 5 -5.14 um -20 cm 2.22 cm 2.05 GeV 11.7 keV 6.69 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -1.37 cm 1 cm 187 MeV 2.6 keV 1.8 cm 1.8 cm World eIoni + 2 -1.58 um -4.84 cm 1.54 cm 534 MeV 8.91 keV 3.52 cm 5.32 cm World eIoni + 3 -3.8 um -7.59 cm 1.75 cm 809 MeV 7.02 keV 2.76 cm 8.08 cm World eIoni + 4 -5.19 um -15.8 cm 2.1 cm 1.63 GeV 15.2 keV 8.23 cm 16.3 cm World eIoni + 5 -9.47 um -20 cm 2.22 cm 2.05 GeV 9.8 keV 4.19 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.01 um -13.3 cm 2.02 cm 2.16 keV 0 eV 0 fm 0 fm World initStep - 1 7.76 um -13.3 cm 2.02 cm 1.91 MeV 2.16 keV 176 um 176 um World eIoni - 2 31.1 um -19 cm 2.02 cm 570 MeV 8.62 keV 5.68 cm 5.7 cm World eIoni - 3 31.7 um -20 cm 2.02 cm 669 MeV 2.73 keV 9.88 mm 6.69 cm OutOfWorldTransportation + 0 -5.19 um -15.8 cm 2.1 cm 43.2 keV 0 eV 0 fm 0 fm World initStep + 1 140 um -16.7 cm 2.09 cm 89.7 MeV 4.74 keV 8.83 mm 8.83 mm World eIoni + 2 166 um -20 cm 2.09 cm 421 MeV 6.53 keV 3.31 cm 4.19 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 595 nm -6.37 cm 1.67 cm 1.58 keV 0 eV 0 fm 0 fm World initStep - 1 7.57 um -6.38 cm 1.67 cm 1.19 MeV 1.58 keV 109 um 109 um World eIoni - 2 30.1 um -14.1 cm 1.67 cm 778 MeV 12.4 keV 7.76 cm 7.78 cm World eIoni - 3 29.8 um -17.2 cm 1.67 cm 1.09 GeV 7.32 keV 3.09 cm 10.9 cm World eIoni - 4 30.3 um -20 cm 1.67 cm 1.36 GeV 5.87 keV 2.76 cm 13.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 29.8 um -17.2 cm 1.67 cm 2.23 keV 0 eV 0 fm 0 fm World initStep - 1 18.4 um -17.3 cm 1.67 cm 2 MeV 2.23 keV 184 um 184 um World eIoni - 2 -3.98 um -20 cm 1.67 cm 277 MeV 4.21 keV 2.75 cm 2.76 cm OutOfWorldTransportation + 0 -3.8 um -7.59 cm 1.75 cm 1.43 keV 0 eV 0 fm 0 fm World initStep + 1 -9.87 um -7.6 cm 1.75 cm 1.03 MeV 1.43 keV 94 um 94 um World eIoni + 2 -31.8 um -17 cm 1.75 cm 936 MeV 14.7 keV 9.35 cm 9.36 cm World eIoni + 3 -34.9 um -20 cm 1.75 cm 1.24 GeV 5.29 keV 3.05 cm 12.4 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 30.1 um -14.1 cm 1.67 cm 2.1 keV 0 eV 0 fm 0 fm World initStep - 1 40.8 um -14.2 cm 1.67 cm 1.83 MeV 2.1 keV 168 um 168 um World eIoni - 2 42.2 um -14.2 cm 1.67 cm 2.68 MeV 0 eV 85.4 um 253 um World eIoni - 3 57.9 um -14.8 cm 1.67 cm 64.8 MeV 537 eV 6.21 mm 6.46 mm World eIoni - 4 62.3 um -17 cm 1.67 cm 285 MeV 3.7 keV 2.2 cm 2.85 cm World eIoni - 5 59.2 um -20 cm 1.67 cm 585 MeV 6.22 keV 3 cm 5.85 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 62.3 um -17 cm 1.67 cm 5.55 keV 0 eV 0 fm 0 fm World initStep - 1 94.5 um -17.1 cm 1.67 cm 9.05 MeV 4.82 keV 851 um 851 um World eIoni - 2 120 um -20 cm 1.67 cm 301 MeV 5.74 keV 2.92 cm 3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 57.9 um -14.8 cm 1.67 cm 2.93 keV 0 eV 0 fm 0 fm World initStep - 1 62.4 um -14.8 cm 1.67 cm 3.1 MeV 2.93 keV 287 um 287 um World eIoni - 2 67 um -15.5 cm 1.67 cm 66.2 MeV 1.65 keV 6.31 mm 6.59 mm World eIoni - 3 70.1 um -20 cm 1.67 cm 521 MeV 7.56 keV 4.55 cm 5.21 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 621 nm -5.14 cm 1.57 cm 2.6 keV 0 eV 0 fm 0 fm World initStep - 1 7.29 um -5.16 cm 1.57 cm 2.56 MeV 2.6 keV 236 um 236 um World eIoni - 2 13.1 um -5.43 cm 1.57 cm 29.5 MeV 487 eV 2.7 mm 2.93 mm World eIoni - 3 22.8 um -20 cm 1.56 cm 1.49 GeV 27.1 keV 14.6 cm 14.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.86 cm 1.44 cm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 -3.64 um -3.87 cm 1.44 cm 668 keV 1.04 keV 60.5 um 60.5 um World eIoni - 2 -16.9 um -6.13 cm 1.44 cm 227 MeV 4.08 keV 2.26 cm 2.27 cm World eIoni - 3 -25.9 um -14.6 cm 1.44 cm 1.08 GeV 16.1 keV 8.51 cm 10.8 cm World eIoni - 4 -26.9 um -20 cm 1.44 cm 1.61 GeV 11.8 keV 5.36 cm 16.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -25.9 um -14.6 cm 1.44 cm 6.06 keV 0 eV 0 fm 0 fm World initStep - 1 -39.9 um -14.7 cm 1.44 cm 9.63 MeV 5.03 keV 908 um 908 um World eIoni - 2 -52.8 um -20 cm 1.43 cm 537 MeV 9.02 keV 5.27 cm 5.36 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -16.9 um -6.13 cm 1.44 cm 1.28 keV 0 eV 0 fm 0 fm World initStep - 1 -11.2 um -6.14 cm 1.44 cm 890 keV 1.28 keV 80.9 um 80.9 um World eIoni - 2 4.85 um -7.54 cm 1.44 cm 141 MeV 3.04 keV 1.4 cm 1.41 cm World eIoni - 3 3.72 um -14 cm 1.44 cm 792 MeV 13 keV 6.51 cm 7.92 cm World eIoni - 4 3.6 um -16.8 cm 1.44 cm 1.07 GeV 3.34 keV 2.73 cm 10.6 cm World eIoni - 5 2.86 um -20 cm 1.44 cm 1.39 GeV 7.64 keV 3.22 cm 13.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.6 um -16.8 cm 1.44 cm 1.26 keV 0 eV 0 fm 0 fm World initStep - 1 8.47 um -16.8 cm 1.44 cm 868 keV 1.26 keV 78.9 um 78.9 um World eIoni - 2 24.5 um -20 cm 1.44 cm 322 MeV 5.48 keV 3.21 cm 3.22 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.72 um -14 cm 1.44 cm 2.85 keV 0 eV 0 fm 0 fm World initStep - 1 3.05 um -14.1 cm 1.44 cm 2.96 MeV 2.85 keV 273 um 273 um World eIoni - 2 2.58 um -14.3 cm 1.44 cm 23.4 MeV 300 eV 2.05 mm 2.32 mm World eIoni - 3 1.96 um -16.8 cm 1.44 cm 274 MeV 3.53 keV 2.51 cm 2.74 cm World eIoni - 4 2.52 um -20 cm 1.44 cm 596 MeV 6.71 keV 3.21 cm 5.95 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.96 um -16.8 cm 1.44 cm 1.65 keV 0 eV 0 fm 0 fm World initStep - 1 64.5 nm -16.8 cm 1.44 cm 1.27 MeV 1.65 keV 116 um 116 um World eIoni - 2 -5 um -20 cm 1.44 cm 321 MeV 4.8 keV 3.2 cm 3.21 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.85 um -7.54 cm 1.44 cm 1.55 keV 0 eV 0 fm 0 fm World initStep - 1 12.5 um -7.55 cm 1.44 cm 1.17 MeV 1.55 keV 106 um 106 um World eIoni - 2 34.3 um -10.9 cm 1.44 cm 339 MeV 3.13 keV 3.38 cm 3.39 cm World eIoni - 3 38.6 um -14.2 cm 1.44 cm 662 MeV 7.35 keV 3.23 cm 6.61 cm World eIoni - 4 42.6 um -20 cm 1.44 cm 1.25 GeV 12.6 keV 5.85 cm 12.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 38.6 um -14.2 cm 1.44 cm 1.25 keV 0 eV 0 fm 0 fm World initStep - 1 37.5 um -14.2 cm 1.44 cm 860 keV 1.25 keV 78.2 um 78.2 um World eIoni - 2 34 um -17.1 cm 1.44 cm 296 MeV 4.48 keV 2.95 cm 2.96 cm World eIoni - 3 37.7 um -20 cm 1.44 cm 585 MeV 4.83 keV 2.89 cm 5.85 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 17 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 34 um -17.1 cm 1.44 cm 12.9 keV 0 eV 0 fm 0 fm World initStep - 1 -2.84 um -17.3 cm 1.44 cm 22.9 MeV 5.5 keV 2.19 mm 2.19 mm World eIoni - 2 -17.6 um -19.8 cm 1.44 cm 271 MeV 3.89 keV 2.48 cm 2.7 cm World eIoni - 3 -17.8 um -20 cm 1.44 cm 291 MeV 65.8 eV 1.98 mm 2.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 34.3 um -10.9 cm 1.44 cm 1.24 keV 0 eV 0 fm 0 fm World initStep - 1 30.2 um -10.9 cm 1.44 cm 848 keV 1.24 keV 77.1 um 77.1 um World eIoni - 2 13.8 um -20 cm 1.44 cm 908 MeV 14.8 keV 9.07 cm 9.08 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -9.08 cm 1.84 cm 958 MeV 19 keV 9.57 cm 9.57 cm World eIoni - 2 -2.62 um -17.8 cm 2.16 cm 1.83 GeV 21.3 keV 8.77 cm 18.3 cm World eIoni - 3 -3.37 um -20 cm 2.22 cm 2.05 GeV 4.39 keV 2.16 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.62 um -17.8 cm 2.16 cm 1.03 keV 0 eV 0 fm 0 fm World initStep - 1 1.43 um -17.8 cm 2.16 cm 656 keV 1.03 keV 59.7 um 59.7 um World eIoni - 2 12.7 um -18.5 cm 2.17 cm 64.2 MeV 751 eV 6.35 mm 6.41 mm World eIoni - 3 19 um -20 cm 2.17 cm 216 MeV 3.8 keV 1.52 cm 2.16 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12.7 um -18.5 cm 2.17 cm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 8.58 um -18.5 cm 2.17 cm 729 keV 1.11 keV 66.3 um 66.3 um World eIoni - 2 -4.57 um -20 cm 2.16 cm 152 MeV 3.83 keV 1.51 cm 1.52 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -9.08 cm 1.84 cm 2.6 keV 0 eV 0 fm 0 fm World initStep - 1 5.91 um -9.08 cm 1.84 cm 654 keV 123 eV 63.6 um 63.6 um World eIoni - 2 26.5 um -10.7 cm 1.84 cm 166 MeV 1.63 keV 1.66 cm 1.66 cm World eIoni - 3 27.4 um -20 cm 1.84 cm 1.09 GeV 20.1 keV 9.26 cm 10.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 26.5 um -10.7 cm 1.84 cm 1.98 keV 0 eV 0 fm 0 fm World initStep - 1 34.5 um -10.8 cm 1.84 cm 1.67 MeV 1.98 keV 153 um 153 um World eIoni - 2 55.6 um -17.7 cm 1.84 cm 696 MeV 10.5 keV 6.94 cm 6.96 cm World eIoni - 3 56 um -20 cm 1.84 cm 926 MeV 4.8 keV 2.3 cm 9.26 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 55.6 um -17.7 cm 1.84 cm 1.07 keV 0 eV 0 fm 0 fm World initStep - 1 58.6 um -17.7 cm 1.84 cm 697 keV 1.07 keV 63.4 um 63.4 um World eIoni - 2 69.2 um -20 cm 1.83 cm 230 MeV 4.04 keV 2.29 cm 2.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.75 cm 1.53 cm 525 MeV 9.03 keV 5.23 cm 5.23 cm World eIoni - 2 3.8 um -19.9 cm 2.22 cm 2.04 GeV 35 keV 15.2 cm 20.4 cm World eIoni - 3 3.82 um -20 cm 2.22 cm 2.05 GeV 175 eV 955 um 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.8 um -19.9 cm 2.22 cm 1.37 keV 0 eV 0 fm 0 fm World initStep - 1 -441 nm -19.9 cm 2.22 cm 980 keV 1.37 keV 89.3 um 89.3 um World eIoni - 2 -4.59 um -20 cm 2.22 cm 9.65 MeV 31.1 eV 867 um 956 um OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.75 cm 1.53 cm 15.4 keV 0 eV 0 fm 0 fm World initStep - 1 -18.1 um -5 cm 1.52 cm 26.6 MeV 5.93 keV 2.55 mm 2.55 mm World eIoni - 2 -18.5 um -5.04 cm 1.52 cm 30.9 MeV 95.2 eV 428 um 2.98 mm World eIoni - 3 -24.2 um -7.08 cm 1.52 cm 235 MeV 3.15 keV 2.04 cm 2.34 cm World eIoni - 4 -30 um -20 cm 1.52 cm 1.53 GeV 27.8 keV 12.9 cm 15.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -24.2 um -7.08 cm 1.52 cm 1.26 keV 0 eV 0 fm 0 fm World initStep - 1 -23.7 um -7.09 cm 1.52 cm 868 keV 1.26 keV 78.9 um 78.9 um World eIoni - 2 -21.4 um -20 cm 1.52 cm 1.29 GeV 18.2 keV 12.9 cm 12.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.39 mm 5.56 mm 83.9 MeV 2.1 keV 6.76 mm 6.76 mm World eIoni - 2 -2.35 um -10.5 cm 1.91 cm 1.1 GeV 18.2 keV 10.3 cm 11 cm World eIoni - 3 -2.24 um -20 cm 2.22 cm 2.05 GeV 24.9 keV 9.51 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.35 um -10.5 cm 1.91 cm 1.12 keV 0 eV 0 fm 0 fm World initStep - 1 -3.98 um -10.5 cm 1.91 cm 739 keV 1.12 keV 67.1 um 67.1 um World eIoni - 2 -10.5 um -16.1 cm 1.91 cm 559 MeV 8.46 keV 5.59 cm 5.59 cm World eIoni - 3 -13.6 um -20 cm 1.91 cm 951 MeV 9.95 keV 3.91 cm 9.51 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -10.5 um -16.1 cm 1.91 cm 5.29 keV 0 eV 0 fm 0 fm World initStep - 1 9.37 um -16.2 cm 1.91 cm 8.43 MeV 5.29 keV 792 um 792 um World eIoni - 2 13.6 um -16.3 cm 1.91 cm 21.3 MeV 182 eV 1.29 mm 2.08 mm World eIoni - 3 26.8 um -19.2 cm 1.9 cm 313 MeV 5.64 keV 2.92 cm 3.13 cm World eIoni - 4 27.9 um -20 cm 1.9 cm 392 MeV 1.68 keV 7.89 mm 3.91 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 26.8 um -19.2 cm 1.9 cm 1.31 keV 0 eV 0 fm 0 fm World initStep - 1 26.4 um -19.2 cm 1.91 cm 913 keV 1.31 keV 83.1 um 83.1 um World eIoni - 2 25.6 um -20 cm 1.91 cm 79 MeV 2.06 keV 7.81 mm 7.89 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.39 mm 5.56 mm 1.97 keV 0 eV 0 fm 0 fm World initStep - 1 1.88 um -3.54 mm 5.56 mm 1.64 MeV 1.97 keV 151 um 151 um World eIoni - 2 5.02 um -1.07 cm 5.55 mm 73.5 MeV 1.15 keV 7.19 mm 7.34 mm World eIoni - 3 7.37 um -9.64 cm 5.54 mm 930 MeV 19.5 keV 8.57 cm 9.3 cm World eIoni - 4 9.32 um -14.9 cm 5.54 mm 1.45 GeV 10.9 keV 5.21 cm 14.5 cm World eIoni - 5 10.1 um -20 cm 5.54 mm 1.97 GeV 9.94 keV 5.15 cm 19.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 9.32 um -14.9 cm 5.54 mm 2.03 keV 0 eV 0 fm 0 fm World initStep - 1 11 um -14.9 cm 5.55 mm 1.74 MeV 2.03 keV 159 um 159 um World eIoni - 2 14.3 um -16.9 cm 5.57 mm 208 MeV 2.16 keV 2.06 cm 2.08 cm World eIoni - 3 16.2 um -20 cm 5.57 mm 515 MeV 6.48 keV 3.07 cm 5.15 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.3 um -16.9 cm 5.57 mm 1.16 keV 0 eV 0 fm 0 fm World initStep - 1 11.7 um -16.9 cm 5.56 mm 774 keV 1.16 keV 70.4 um 70.4 um World eIoni - 2 2.64 um -20 cm 5.55 mm 307 MeV 3.68 keV 3.06 cm 3.07 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.37 um -9.64 cm 5.54 mm 3.92 keV 0 eV 0 fm 0 fm World initStep - 1 -4.69 um -9.69 cm 5.52 mm 5.03 MeV 3.92 keV 469 um 469 um World eIoni - 2 -14 um -10.4 cm 5.5 mm 76.9 MeV 664 eV 7.19 mm 7.66 mm World eIoni - 3 -18.6 um -12.5 cm 5.5 mm 290 MeV 4.49 keV 2.13 cm 2.89 cm World eIoni - 4 -20.7 um -20 cm 5.5 mm 1.04 GeV 16.9 keV 7.47 cm 10.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -18.6 um -12.5 cm 5.5 mm 3.31 keV 0 eV 0 fm 0 fm World initStep - 1 -22.6 um -12.6 cm 5.48 mm 2.78 MeV 1.56 keV 259 um 259 um World eIoni - 2 -15.2 um -20 cm 5.47 mm 747 MeV 10.7 keV 7.44 cm 7.47 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -22.6 um -12.6 cm 5.48 mm 1.5 keV 0 eV 0 fm 0 fm World initStep - 1 -27.8 um -12.6 cm 5.48 mm 1.11 MeV 1.5 keV 101 um 101 um World eIoni - 2 -45.2 um -19.4 cm 5.46 mm 684 MeV 7.89 keV 6.83 cm 6.84 cm World eBrem - 3 -45.3 um -20 cm 5.46 mm 744 MeV 1.65 keV 5.96 mm 7.44 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -45.2 um -19.4 cm 5.46 mm 12.2 keV 0 eV 0 fm 0 fm World initStep - 1 -42.6 um -20 cm 5.45 mm 12.2 keV 0 eV 5.96 mm 5.96 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.47 cm 1.39 cm 397 MeV 7.25 keV 3.94 cm 3.94 cm World eIoni - 2 2.29 um -20 cm 2.22 cm 2.05 GeV 36.3 keV 16.6 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.47 cm 1.39 cm 1.48 keV 0 eV 0 fm 0 fm World initStep - 1 -2.6 um -3.48 cm 1.39 cm 1.09 MeV 1.48 keV 99 um 99 um World eIoni - 2 -12.4 um -20 cm 1.39 cm 1.65 GeV 22.7 keV 16.5 cm 16.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.98 cm 1.45 cm 448 MeV 8.52 keV 4.46 cm 4.46 cm World eIoni - 2 -2.11 um -5.96 cm 1.64 cm 646 MeV 3.95 keV 1.99 cm 6.44 cm World eIoni - 3 -11.4 um -20 cm 2.22 cm 2.05 GeV 32.8 keV 14.1 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.11 um -5.96 cm 1.64 cm 1.93 keV 0 eV 0 fm 0 fm World initStep - 1 2.94 um -5.97 cm 1.64 cm 1.61 MeV 1.93 keV 147 um 147 um World eIoni - 2 14.2 um -8.43 cm 1.64 cm 247 MeV 2.8 keV 2.46 cm 2.47 cm World eIoni - 3 21.9 um -15.7 cm 1.64 cm 974 MeV 17.9 keV 7.27 cm 9.74 cm World eIoni - 4 22.2 um -20 cm 1.64 cm 1.4 GeV 9.27 keV 4.3 cm 14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 21.9 um -15.7 cm 1.64 cm 1.78 keV 0 eV 0 fm 0 fm World initStep - 1 29.5 um -15.7 cm 1.64 cm 1.42 MeV 1.78 keV 130 um 130 um World eIoni - 2 44.2 um -16.6 cm 1.64 cm 94.9 MeV 2.21 keV 9.35 mm 9.48 mm World eIoni - 3 52.5 um -20 cm 1.64 cm 430 MeV 5.92 keV 3.35 cm 4.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 44.2 um -16.6 cm 1.64 cm 14.7 keV 0 eV 0 fm 0 fm World initStep - 1 32 um -16.9 cm 1.63 cm 25.6 MeV 3.55 keV 2.46 mm 2.46 mm World eIoni - 2 30.8 um -17.1 cm 1.63 cm 48.6 MeV 305 eV 2.3 mm 4.76 mm World eIoni - 3 29 um -17.9 cm 1.63 cm 124 MeV 1.75 keV 7.54 mm 1.23 cm World eIoni - 4 30.5 um -20 cm 1.63 cm 337 MeV 5.94 keV 2.13 cm 3.36 cm OutOfWorldTransportation + 0 -31.8 um -17 cm 1.75 cm 18.5 keV 0 eV 0 fm 0 fm World initStep + 1 20.4 um -17.3 cm 1.74 cm 31.6 MeV 4.55 keV 3.04 mm 3.04 mm World eIoni + 2 22.1 um -17.3 cm 1.74 cm 39.7 MeV 134 eV 819 um 3.86 mm World eIoni + 3 36.8 um -19.7 cm 1.74 cm 273 MeV 3.59 keV 2.33 cm 2.72 cm World eIoni + 4 37.2 um -20 cm 1.74 cm 306 MeV 295 eV 3.34 mm 3.05 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 29 um -17.9 cm 1.63 cm 1.35 keV 0 eV 0 fm 0 fm World initStep - 1 23 um -17.9 cm 1.63 cm 954 keV 1.35 keV 86.8 um 86.8 um World eIoni - 2 8.6 um -18.7 cm 1.63 cm 86.4 MeV 352 eV 8.55 mm 8.63 mm World eIoni - 3 7.84 um -19.3 cm 1.63 cm 142 MeV 1.62 keV 5.59 mm 1.42 cm World eIoni - 4 7.58 um -20 cm 1.63 cm 213 MeV 1.94 keV 7.06 mm 2.13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.84 um -19.3 cm 1.63 cm 2.64 keV 0 eV 0 fm 0 fm World initStep - 1 7.3 um -19.3 cm 1.63 cm 2.61 MeV 2.64 keV 241 um 241 um World eIoni - 2 6.65 um -20 cm 1.63 cm 70.9 MeV 1.81 keV 6.82 mm 7.07 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.6 um -18.7 cm 1.63 cm 1.58 keV 0 eV 0 fm 0 fm World initStep - 1 4.94 um -18.7 cm 1.63 cm 1.2 MeV 1.58 keV 109 um 109 um World eIoni - 2 -3.16 um -20 cm 1.63 cm 127 MeV 2.21 keV 1.25 cm 1.27 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.2 um -8.43 cm 1.64 cm 1.25 keV 0 eV 0 fm 0 fm World initStep - 1 8.78 um -8.44 cm 1.64 cm 854 keV 1.25 keV 77.7 um 77.7 um World eIoni - 2 -13.7 um -20 cm 1.64 cm 1.16 GeV 12.7 keV 11.6 cm 11.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.98 cm 1.45 cm 3.66 keV 0 eV 0 fm 0 fm World initStep - 1 18.9 um -4.02 cm 1.45 cm 4.49 MeV 3.66 keV 418 um 418 um World eIoni - 2 28.2 um -4.22 cm 1.45 cm 24.8 MeV 108 eV 2.03 mm 2.45 mm World eIoni - 3 49.7 um -11.8 cm 1.45 cm 786 MeV 11.5 keV 7.61 cm 7.85 cm World eIoni - 4 51 um -20 cm 1.45 cm 1.6 GeV 15.7 keV 8.17 cm 16 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 49.7 um -11.8 cm 1.45 cm 1.55 keV 0 eV 0 fm 0 fm World initStep - 1 57.1 um -11.8 cm 1.45 cm 1.17 MeV 1.55 keV 107 um 107 um World eIoni - 2 81.5 um -19.5 cm 1.45 cm 769 MeV 10.9 keV 7.68 cm 7.69 cm World eIoni - 3 81.6 um -20 cm 1.45 cm 817 MeV 969 eV 4.81 mm 8.17 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 81.5 um -19.5 cm 1.45 cm 1.25 keV 0 eV 0 fm 0 fm World initStep - 1 81.4 um -19.5 cm 1.45 cm 855 keV 1.25 keV 77.8 um 77.8 um World eIoni - 2 81.2 um -20 cm 1.45 cm 48.2 MeV 367 eV 4.73 mm 4.81 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.55 cm 1.68 cm 705 MeV 18.3 keV 7.04 cm 7.04 cm World eIoni - 2 4.53 um -20 cm 2.22 cm 2.05 GeV 30.3 keV 13.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.55 cm 1.68 cm 3.33 keV 0 eV 0 fm 0 fm World initStep - 1 -13.1 um -6.59 cm 1.68 cm 3.83 MeV 3.33 keV 356 um 356 um World eIoni - 2 -22.1 um -6.9 cm 1.68 cm 35.4 MeV 149 eV 3.16 mm 3.52 mm World eIoni - 3 -37.6 um -20 cm 1.68 cm 1.35 GeV 24.3 keV 13.1 cm 13.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -13 cm 2.01 cm 1.35 GeV 23 keV 13.5 cm 13.5 cm World eIoni - 2 -151 nm -17.9 cm 2.17 cm 1.84 GeV 11.3 keV 4.84 cm 18.4 cm World eIoni - 3 -704 nm -20 cm 2.22 cm 2.05 GeV 4.41 keV 2.12 cm 20.5 cm OutOfWorldTransportation + 0 36.8 um -19.7 cm 1.74 cm 2.24 keV 0 eV 0 fm 0 fm World initStep + 1 29.6 um -19.7 cm 1.74 cm 2.01 MeV 2.24 keV 185 um 185 um World eIoni + 2 23.3 um -19.9 cm 1.74 cm 19.9 MeV 99.5 eV 1.79 mm 1.98 mm World eIoni + 3 21.8 um -20 cm 1.74 cm 33.6 MeV 147 eV 1.37 mm 3.35 mm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -151 nm -17.9 cm 2.17 cm 2.05 keV 0 eV 0 fm 0 fm World initStep - 1 10.2 um -17.9 cm 2.17 cm 1.77 MeV 2.05 keV 162 um 162 um World eIoni - 2 31.3 um -19.9 cm 2.17 cm 201 MeV 2.32 keV 1.99 cm 2 cm World eIoni - 3 31.4 um -20 cm 2.17 cm 212 MeV 92.1 eV 1.16 mm 2.12 cm OutOfWorldTransportation + 0 -1.58 um -4.84 cm 1.54 cm 1.56 keV 0 eV 0 fm 0 fm World initStep + 1 5.75 um -4.85 cm 1.54 cm 1.17 MeV 1.56 keV 107 um 107 um World eIoni + 2 28.7 um -10.8 cm 1.54 cm 595 MeV 12.5 keV 5.93 cm 5.94 cm World eIoni + 3 27.1 um -20 cm 1.54 cm 1.52 GeV 20.7 keV 9.21 cm 15.2 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 31.3 um -19.9 cm 2.17 cm 3.04 keV 0 eV 0 fm 0 fm World initStep - 1 23.7 um -19.9 cm 2.17 cm 3.29 MeV 3.04 keV 305 um 305 um World eIoni - 2 21 um -20 cm 2.17 cm 11.9 MeV 20.2 eV 864 um 1.17 mm OutOfWorldTransportation + 0 28.7 um -10.8 cm 1.54 cm 4.82 keV 0 eV 0 fm 0 fm World initStep + 1 51.7 um -10.9 cm 1.54 cm 7.19 MeV 4.82 keV 674 um 674 um World eIoni + 2 53.6 um -10.9 cm 1.54 cm 10.1 MeV 30.2 eV 296 um 970 um World eIoni + 3 80 um -20 cm 1.54 cm 922 MeV 12.3 keV 9.12 cm 9.22 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -13 cm 2.01 cm 3.53 keV 0 eV 0 fm 0 fm World initStep - 1 1.59 um -13.1 cm 2.01 cm 4.22 MeV 3.53 keV 392 um 392 um World eIoni - 2 2.52 um -13.3 cm 2.01 cm 30.5 MeV 291 eV 2.63 mm 3.02 mm World eIoni - 3 3.57 um -15.5 cm 2.02 cm 249 MeV 4.76 keV 2.18 cm 2.48 cm World eIoni - 4 2.2 um -17.1 cm 2.02 cm 407 MeV 2.73 keV 1.59 cm 4.07 cm World eIoni - 5 -390 nm -20 cm 2.02 cm 697 MeV 6.75 keV 2.89 cm 6.96 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.2 um -17.1 cm 2.02 cm 1.19 keV 0 eV 0 fm 0 fm World initStep - 1 7.4 um -17.1 cm 2.02 cm 797 keV 1.19 keV 72.5 um 72.5 um World eIoni - 2 16.5 um -17.3 cm 2.02 cm 21.1 MeV 175 eV 2.03 mm 2.1 mm World eIoni - 3 24.7 um -20 cm 2.02 cm 289 MeV 4.56 keV 2.68 cm 2.89 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.57 um -15.5 cm 2.02 cm 1.32 keV 0 eV 0 fm 0 fm World initStep - 1 9.24 um -15.5 cm 2.02 cm 923 keV 1.32 keV 84 um 84 um World eIoni - 2 20.5 um -15.9 cm 2.02 cm 41.8 MeV 260 eV 4.09 mm 4.17 mm World eIoni - 3 20 um -16.4 cm 2.02 cm 90.1 MeV 593 eV 4.83 mm 9 mm World eIoni - 4 15.5 um -18.1 cm 2.02 cm 263 MeV 3.87 keV 1.73 cm 2.63 cm World eIoni - 5 12.9 um -20 cm 2.02 cm 448 MeV 3.2 keV 1.85 cm 4.48 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 15.5 um -18.1 cm 2.02 cm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 16.6 um -18.2 cm 2.02 cm 679 keV 1.05 keV 61.7 um 61.7 um World eIoni - 2 20.4 um -20 cm 2.02 cm 185 MeV 1.97 keV 1.85 cm 1.85 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 20 um -16.4 cm 2.02 cm 2.61 keV 0 eV 0 fm 0 fm World initStep - 1 29.3 um -16.4 cm 2.02 cm 2.56 MeV 2.61 keV 236 um 236 um World eIoni - 2 40.7 um -17.2 cm 2.02 cm 73.5 MeV 674 eV 7.1 mm 7.33 mm World eIoni - 3 46.3 um -20 cm 2.02 cm 358 MeV 8.52 keV 2.85 cm 3.58 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 20.5 um -15.9 cm 2.02 cm 1.56 keV 0 eV 0 fm 0 fm World initStep - 1 28 um -15.9 cm 2.02 cm 1.17 MeV 1.56 keV 107 um 107 um World eIoni - 2 44.4 um -16.9 cm 2.02 cm 95.8 MeV 792 eV 9.46 mm 9.57 mm World eIoni - 3 53.6 um -19.8 cm 2.02 cm 384 MeV 7.3 keV 2.89 cm 3.84 cm World eIoni - 4 53.7 um -20 cm 2.02 cm 406 MeV 365 eV 2.2 mm 4.06 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 53.6 um -19.8 cm 2.02 cm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 58.1 um -19.8 cm 2.02 cm 643 keV 1.01 keV 58.5 um 58.5 um World eIoni - 2 67.3 um -20 cm 2.02 cm 22.1 MeV 242 eV 2.14 mm 2.2 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 44.4 um -16.9 cm 2.02 cm 1.07 keV 0 eV 0 fm 0 fm World initStep - 1 40.3 um -16.9 cm 2.02 cm 697 keV 1.07 keV 63.4 um 63.4 um World eIoni - 2 29.6 um -17.5 cm 2.02 cm 59.1 MeV 594 eV 5.84 mm 5.9 mm World eIoni - 3 24.2 um -20 cm 2.02 cm 311 MeV 5.12 keV 2.52 cm 3.11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 29.6 um -17.5 cm 2.02 cm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 30.4 um -17.5 cm 2.02 cm 669 keV 1.04 keV 60.9 um 60.9 um World eIoni - 2 33.3 um -20 cm 2.02 cm 252 MeV 2.39 keV 2.51 cm 2.52 cm OutOfWorldTransportation + 0 0 fm -1.37 cm 1 cm 1.27 keV 0 eV 0 fm 0 fm World initStep + 1 2.57 um -1.38 cm 1 cm 891 keV 1.27 keV 80 um 80 um World eIoni + 2 13.5 um -20 cm 1.01 cm 1.86 GeV 28.9 keV 18.6 cm 18.6 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -1863,104 +408,58 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -15.5 cm 2.1 cm 1.6 GeV 28.3 keV 16 cm 16 cm World eIoni - 2 36 nm -15.6 cm 2.1 cm 1.61 GeV 32.7 eV 1.43 mm 16.1 cm World eIoni - 3 1.05 um -20 cm 2.22 cm 2.05 GeV 9.84 keV 4.36 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 36 nm -15.6 cm 2.1 cm 3.6 keV 0 eV 0 fm 0 fm World initStep - 1 -551 nm -15.7 cm 2.1 cm 4.35 MeV 3.6 keV 405 um 405 um World eIoni - 2 -1.01 um -16.3 cm 2.1 cm 61.6 MeV 906 eV 5.73 mm 6.13 mm World eIoni - 3 -1.37 um -20 cm 2.1 cm 437 MeV 8.76 keV 3.75 cm 4.36 cm OutOfWorldTransportation + 1 0 fm -8.83 cm 1.82 cm 933 MeV 16.8 keV 9.33 cm 9.33 cm World eIoni + 2 4.99 um -20 cm 2.22 cm 2.05 GeV 23.2 keV 11.2 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -15.5 cm 2.1 cm 1.6 keV 0 eV 0 fm 0 fm World initStep - 1 -7.89 um -15.5 cm 2.1 cm 1.22 MeV 1.6 keV 111 um 111 um World eIoni - 2 -29.3 um -18.4 cm 2.1 cm 292 MeV 3.77 keV 2.91 cm 2.92 cm World eIoni - 3 -33.7 um -19.4 cm 2.1 cm 394 MeV 3.71 keV 1.03 cm 3.95 cm World eIoni - 4 -25.3 um -20 cm 2.1 cm 450 MeV 796 eV 5.54 mm 4.51 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -33.7 um -19.4 cm 2.1 cm 945 keV 0 eV 0 fm 0 fm World initStep - 1 -449 um -20 cm 2.06 cm 57.5 MeV 510 eV 5.68 mm 5.68 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -29.3 um -18.4 cm 2.1 cm 17.4 keV 0 eV 0 fm 0 fm World initStep - 1 42.4 um -18.7 cm 2.09 cm 29.8 MeV 4.85 keV 2.86 mm 2.86 mm World eIoni - 2 48.5 um -18.9 cm 2.09 cm 53.3 MeV 490 eV 2.35 mm 5.21 mm World eIoni - 3 61.1 um -20 cm 2.09 cm 160 MeV 3.31 keV 1.07 cm 1.59 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 48.5 um -18.9 cm 2.09 cm 3.06 keV 0 eV 0 fm 0 fm World initStep - 1 45.8 um -19 cm 2.09 cm 3.33 MeV 3.06 keV 309 um 309 um World eIoni - 2 42.8 um -20 cm 2.09 cm 107 MeV 1.23 keV 1.04 cm 1.07 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -13.8 cm 2.04 cm 1.43 GeV 31.4 keV 14.3 cm 14.3 cm World eIoni - 2 -548 nm -20 cm 2.22 cm 2.05 GeV 12.2 keV 6.15 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -13.8 cm 2.04 cm 1.7 keV 0 eV 0 fm 0 fm World initStep - 1 3.1 um -13.9 cm 2.04 cm 1.33 MeV 1.7 keV 121 um 121 um World eIoni - 2 12.1 um -20 cm 2.04 cm 615 MeV 10.6 keV 6.14 cm 6.15 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -9.57 cm 1.86 cm 1.01 GeV 17.9 keV 10.1 cm 10.1 cm World eIoni - 2 2 um -20 cm 2.22 cm 2.05 GeV 21.3 keV 10.4 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -9.57 cm 1.86 cm 1.26 keV 0 eV 0 fm 0 fm World initStep - 1 -4.75 um -9.58 cm 1.86 cm 871 keV 1.26 keV 79.1 um 79.1 um World eIoni - 2 -23.1 um -17.6 cm 1.86 cm 804 MeV 10.4 keV 8.03 cm 8.04 cm World eIoni - 3 -23.1 um -20 cm 1.86 cm 1.04 GeV 3.53 keV 2.39 cm 10.4 cm OutOfWorldTransportation + 0 0 fm -8.83 cm 1.82 cm 5.07 keV 0 eV 0 fm 0 fm World initStep + 1 -25.9 um -8.91 cm 1.82 cm 7.85 MeV 5.07 keV 737 um 737 um World eIoni + 2 -32.8 um -9.07 cm 1.82 cm 24.4 MeV 130 eV 1.66 mm 2.4 mm World eIoni + 3 -47.9 um -11.3 cm 1.83 cm 248 MeV 3.54 keV 2.23 cm 2.47 cm World eIoni + 4 -68.9 um -20 cm 1.83 cm 1.12 GeV 19.5 keV 8.69 cm 11.2 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -23.1 um -17.6 cm 1.86 cm 2.5 keV 0 eV 0 fm 0 fm World initStep - 1 -30.6 um -17.6 cm 1.86 cm 2.39 MeV 2.5 keV 220 um 220 um World eIoni - 2 -38.8 um -18.1 cm 1.87 cm 47.8 MeV 763 eV 4.54 mm 4.76 mm World eIoni - 3 -43.4 um -20 cm 1.87 cm 239 MeV 3.31 keV 1.92 cm 2.39 cm OutOfWorldTransportation + 0 -47.9 um -11.3 cm 1.83 cm 8.02 keV 0 eV 0 fm 0 fm World initStep + 1 -39 um -11.3 cm 1.83 cm 418 keV 419 eV 43.3 um 43.3 um World eIoni + 2 4.19 um -13.7 cm 1.83 cm 241 MeV 4.44 keV 2.41 cm 2.41 cm World eIoni + 3 14.8 um -18.4 cm 1.83 cm 706 MeV 11.6 keV 4.65 cm 7.06 cm World eIoni + 4 15.7 um -20 cm 1.83 cm 869 MeV 3.55 keV 1.63 cm 8.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.8 um -18.4 cm 1.83 cm 1.59 keV 0 eV 0 fm 0 fm World initStep + 1 18.2 um -18.4 cm 1.83 cm 1.21 MeV 1.59 keV 110 um 110 um World eIoni + 2 24.4 um -18.9 cm 1.83 cm 56.2 MeV 615 eV 5.51 mm 5.62 mm World eIoni + 3 43.7 um -20 cm 1.83 cm 163 MeV 2.04 keV 1.07 cm 1.63 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.4 um -18.9 cm 1.83 cm 26.4 keV 0 eV 0 fm 0 fm World initStep + 1 -101 um -19.3 cm 1.83 cm 41.8 MeV 3.71 keV 4.04 mm 4.04 mm World eIoni + 2 -117 um -20 cm 1.83 cm 109 MeV 930 eV 6.74 mm 1.08 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.19 um -13.7 cm 1.83 cm 1.93 keV 0 eV 0 fm 0 fm World initStep + 1 -829 nm -13.7 cm 1.83 cm 1.61 MeV 1.93 keV 148 um 148 um World eIoni + 2 -13.8 um -20 cm 1.83 cm 629 MeV 8.29 keV 6.27 cm 6.28 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -1968,18 +467,38 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.84 cm 1.3 cm 334 MeV 9.3 keV 3.31 cm 3.31 cm World eIoni - 2 -6.67 um -20 cm 2.22 cm 2.05 GeV 31.8 keV 17.2 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -14.1 cm 2.05 cm 1.46 GeV 27.2 keV 14.6 cm 14.6 cm World eIoni + 2 -72.8 nm -14.9 cm 2.08 cm 1.54 GeV 2.18 keV 8.44 mm 15.4 cm World eIoni + 3 443 nm -19 cm 2.19 cm 1.95 GeV 8.38 keV 4.05 cm 19.5 cm World eIoni + 4 414 nm -20 cm 2.22 cm 2.05 GeV 2.92 keV 1.04 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 443 nm -19 cm 2.19 cm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 4.69 um -19 cm 2.19 cm 709 keV 1.09 keV 64.5 um 64.5 um World eIoni + 2 16.7 um -20 cm 2.19 cm 104 MeV 1.45 keV 1.03 cm 1.04 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -72.8 nm -14.9 cm 2.08 cm 1.2 keV 0 eV 0 fm 0 fm World initStep + 1 -5.79 um -14.9 cm 2.08 cm 810 keV 1.2 keV 73.6 um 73.6 um World eIoni + 2 -27 um -20 cm 2.08 cm 509 MeV 6.82 keV 5.09 cm 5.09 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.84 cm 1.3 cm 1.48 keV 0 eV 0 fm 0 fm World initStep - 1 6.85 um -2.85 cm 1.3 cm 1.1 MeV 1.48 keV 99.6 um 99.6 um World eIoni - 2 25.3 um -4.92 cm 1.3 cm 208 MeV 4.17 keV 2.06 cm 2.07 cm World eIoni - 3 33.2 um -20 cm 1.3 cm 1.72 GeV 33.7 keV 15.1 cm 17.2 cm OutOfWorldTransportation + 0 0 fm -14.1 cm 2.05 cm 1.63 keV 0 eV 0 fm 0 fm World initStep + 1 2.54 um -14.1 cm 2.05 cm 1.26 MeV 1.63 keV 115 um 115 um World eIoni + 2 9.18 um -16.6 cm 2.05 cm 257 MeV 3.48 keV 2.56 cm 2.57 cm World eIoni + 3 10.3 um -20 cm 2.04 cm 594 MeV 8.73 keV 3.37 cm 5.94 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -1987,833 +506,120 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.04 mm 3.19 mm 60.4 MeV 941 eV 3.41 mm 3.41 mm World eIoni - 2 -3.12 um -2.95 cm 1.32 cm 345 MeV 5.05 keV 3.08 cm 3.42 cm World eIoni - 3 -839 nm -8.63 cm 1.81 cm 913 MeV 10.2 keV 5.7 cm 9.12 cm World eIoni - 4 -62.3 nm -11.6 cm 1.95 cm 1.21 GeV 4.62 keV 2.97 cm 12.1 cm World eIoni - 5 3.75 um -19.8 cm 2.22 cm 2.03 GeV 15.2 keV 8.23 cm 20.3 cm World eIoni - 6 3.81 um -20 cm 2.22 cm 2.05 GeV 193 eV 1.71 mm 20.5 cm OutOfWorldTransportation + 1 0 fm -1.01 cm 8.9 mm 151 MeV 2.58 keV 1.43 cm 1.43 cm World eIoni + 2 3.41 um -4.6 cm 1.52 cm 510 MeV 8.46 keV 3.65 cm 5.08 cm World eIoni + 3 845 nm -5.71 cm 1.62 cm 621 MeV 3.24 keV 1.11 cm 6.19 cm World eIoni + 4 -2.41 um -8.51 cm 1.81 cm 901 MeV 7.11 keV 2.81 cm 9 cm World eIoni + 5 -3.24 um -9.17 cm 1.84 cm 967 MeV 718 eV 6.62 mm 9.66 cm World eIoni + 6 -5.87 um -14.1 cm 2.05 cm 1.46 GeV 10.9 keV 4.93 cm 14.6 cm World eIoni + 7 -5.81 um -20 cm 2.22 cm 2.05 GeV 14.1 keV 5.9 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.87 um -14.1 cm 2.05 cm 6.05 keV 0 eV 0 fm 0 fm World initStep + 1 -36.2 um -14.2 cm 2.05 cm 10.7 MeV 6.05 keV 1.01 mm 1.01 mm World eIoni + 2 -44.2 um -14.5 cm 2.05 cm 37.2 MeV 1.29 keV 2.65 mm 3.66 mm World eIoni + 3 -63.8 um -20 cm 2.05 cm 591 MeV 9.89 keV 5.53 cm 5.9 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.75 um -19.8 cm 2.22 cm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 4.36 um -19.8 cm 2.22 cm 671 keV 1.04 keV 61.1 um 61.1 um World eIoni - 2 5.45 um -20 cm 2.21 cm 17.2 MeV 111 eV 1.65 mm 1.71 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -62.3 nm -11.6 cm 1.95 cm 2.1 keV 0 eV 0 fm 0 fm World initStep - 1 -10.6 um -11.6 cm 1.95 cm 1.83 MeV 2.1 keV 168 um 168 um World eIoni - 2 -30.4 um -13.1 cm 1.95 cm 152 MeV 2.58 keV 1.5 cm 1.52 cm World eIoni - 3 -23.7 um -20 cm 1.95 cm 840 MeV 14.9 keV 6.88 cm 8.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -30.4 um -13.1 cm 1.95 cm 12.8 keV 0 eV 0 fm 0 fm World initStep - 1 -82.6 um -13.3 cm 1.96 cm 22.8 MeV 4.96 keV 2.18 mm 2.18 mm World eIoni - 2 -87.9 um -13.5 cm 1.96 cm 42.9 MeV 294 eV 2.01 mm 4.19 mm World eIoni - 3 -111 um -20 cm 1.96 cm 690 MeV 13.6 keV 6.47 cm 6.89 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -839 nm -8.63 cm 1.81 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 -1.48 um -8.64 cm 1.81 cm 687 keV 1.06 keV 62.6 um 62.6 um World eIoni - 2 -4.34 um -17.4 cm 1.81 cm 878 MeV 15.7 keV 8.77 cm 8.78 cm World eIoni - 3 -3.6 um -20 cm 1.81 cm 1.14 GeV 6.47 keV 2.59 cm 11.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.34 um -17.4 cm 1.81 cm 1.45 keV 0 eV 0 fm 0 fm World initStep - 1 -11.4 um -17.4 cm 1.81 cm 1.06 MeV 1.45 keV 96.3 um 96.3 um World eIoni - 2 -23.8 um -17.8 cm 1.81 cm 38.7 MeV 442 eV 3.76 mm 3.86 mm World eIoni - 3 -31.1 um -20 cm 1.81 cm 259 MeV 3.54 keV 2.2 cm 2.59 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.12 um -2.95 cm 1.32 cm 1.91 keV 0 eV 0 fm 0 fm World initStep - 1 -11.6 um -2.97 cm 1.32 cm 1.58 MeV 1.91 keV 144 um 144 um World eIoni - 2 -37.8 um -20 cm 1.32 cm 1.7 GeV 23.8 keV 17 cm 17 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.04 mm 3.19 mm 2.62 keV 0 eV 0 fm 0 fm World initStep - 1 4.48 um -1.28 mm 3.2 mm 2.67 MeV 2.62 keV 239 um 239 um World eIoni - 2 6.85 um -2.38 mm 3.21 mm 13.7 MeV 0 eV 1.1 mm 1.34 mm World eIoni - 3 13.4 um -7.68 cm 3.22 mm 758 MeV 14.8 keV 7.45 cm 7.58 cm World eIoni - 4 22.9 um -20 cm 3.23 mm 1.99 GeV 21.1 keV 12.3 cm 19.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 13.4 um -7.68 cm 3.22 mm 8.75 keV 0 eV 0 fm 0 fm World initStep - 1 -19 um -7.76 cm 3.2 mm 8.12 MeV 1.83 keV 778 um 778 um World eIoni - 2 -53.1 um -18.6 cm 3.16 mm 1.09 GeV 15.5 keV 10.9 cm 10.9 cm World eIoni - 3 -53.6 um -20 cm 3.16 mm 1.23 GeV 3.01 keV 1.37 cm 12.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -53.1 um -18.6 cm 3.16 mm 1.15 keV 0 eV 0 fm 0 fm World initStep - 1 -57.3 um -18.6 cm 3.17 mm 762 keV 1.15 keV 69.3 um 69.3 um World eIoni - 2 -69.2 um -20 cm 3.18 mm 138 MeV 1.68 keV 1.37 cm 1.37 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -19 um -7.76 cm 3.2 mm 1.2 keV 0 eV 0 fm 0 fm World initStep - 1 -21.1 um -7.77 cm 3.21 mm 812 keV 1.2 keV 73.9 um 73.9 um World eIoni - 2 -28 um -10.5 cm 3.23 mm 276 MeV 3.61 keV 2.75 cm 2.76 cm WorldTransportation - 3 -28 um -10.5 cm 3.23 mm 276 MeV 0 eV 0 fm 2.76 cm World eIoni - 4 -20.4 um -20 cm 3.24 mm 1.22 GeV 23.5 keV 9.48 cm 12.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -28 um -10.5 cm 3.23 mm 6.89 keV 0 eV 0 fm 0 fm World initStep - 1 -60 um -10.6 cm 3.2 mm 13 MeV 6.43 keV 1.23 mm 1.23 mm World eIoni - 2 -65.9 um -10.8 cm 3.19 mm 33.5 MeV 543 eV 2.05 mm 3.28 mm World eIoni - 3 -76.3 um -12.2 cm 3.18 mm 171 MeV 3.04 keV 1.38 cm 1.71 cm World eIoni - 4 -87.5 um -20 cm 3.16 mm 949 MeV 17.2 keV 7.78 cm 9.48 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -76.3 um -12.2 cm 3.18 mm 3.25 keV 0 eV 0 fm 0 fm World initStep - 1 -75.8 um -12.3 cm 3.2 mm 3.67 MeV 3.25 keV 341 um 341 um World eIoni - 2 -75.4 um -12.5 cm 3.21 mm 26.9 MeV 336 eV 2.33 mm 2.67 mm World eIoni - 3 -75.2 um -13.1 cm 3.22 mm 92.9 MeV 994 eV 6.6 mm 9.26 mm World eIoni - 4 -65.5 um -20 cm 3.23 mm 778 MeV 13.2 keV 6.85 cm 7.78 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -75.2 um -13.1 cm 3.22 mm 1.9 keV 0 eV 0 fm 0 fm World initStep - 1 -84.6 um -13.2 cm 3.22 mm 1.57 MeV 1.9 keV 143 um 143 um World eIoni - 2 -110 um -20 cm 3.23 mm 685 MeV 11.5 keV 6.84 cm 6.85 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.54 cm 1.51 cm 504 MeV 10.6 keV 5.02 cm 5.02 cm World eIoni - 2 1.87 um -8.51 cm 1.81 cm 901 MeV 10.2 keV 3.98 cm 9 cm World eIoni - 3 2.08 um -14.2 cm 2.05 cm 1.47 GeV 11.6 keV 5.67 cm 14.7 cm World eIoni - 4 2.98 um -20 cm 2.22 cm 2.05 GeV 10.5 keV 5.83 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.08 um -14.2 cm 2.05 cm 6.43 keV 0 eV 0 fm 0 fm World initStep - 1 -8.93 um -14.3 cm 2.06 cm 11.8 MeV 5.95 keV 1.11 mm 1.11 mm World eIoni - 2 -12.2 um -14.7 cm 2.06 cm 52 MeV 583 eV 4.02 mm 5.14 mm World eIoni - 3 -17.9 um -20 cm 2.06 cm 583 MeV 11.2 keV 5.31 cm 5.83 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.87 um -8.51 cm 1.81 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 6.11 um -8.51 cm 1.81 cm 689 keV 1.06 keV 62.6 um 62.6 um World eIoni - 2 25.5 um -20 cm 1.81 cm 1.15 GeV 16.9 keV 11.5 cm 11.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.54 cm 1.51 cm 1.23 keV 0 eV 0 fm 0 fm World initStep - 1 -5.32 um -4.55 cm 1.51 cm 840 keV 1.23 keV 76.6 um 76.6 um World eIoni - 2 -26.4 um -12.5 cm 1.51 cm 794 MeV 13.5 keV 7.93 cm 7.94 cm World eIoni - 3 -27.4 um -15.6 cm 1.51 cm 1.1 GeV 4.88 keV 3.11 cm 11 cm World eIoni - 4 -27.4 um -20 cm 1.51 cm 1.55 GeV 9.92 keV 4.41 cm 15.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -27.4 um -15.6 cm 1.51 cm 1.68 keV 0 eV 0 fm 0 fm World initStep - 1 -34.6 um -15.6 cm 1.51 cm 1.31 MeV 1.68 keV 119 um 119 um World eIoni - 2 -47.6 um -16.3 cm 1.51 cm 67.4 MeV 764 eV 6.61 mm 6.72 mm World eIoni - 3 -47.8 um -17.6 cm 1.51 cm 205 MeV 4.2 keV 1.37 cm 2.05 cm World eIoni - 4 -47.4 um -20 cm 1.51 cm 441 MeV 3.96 keV 2.36 cm 4.41 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -47.8 um -17.6 cm 1.51 cm 2.02 keV 0 eV 0 fm 0 fm World initStep - 1 -49.5 um -17.7 cm 1.51 cm 1.73 MeV 2.02 keV 158 um 158 um World eIoni - 2 -53 um -20 cm 1.5 cm 237 MeV 2.76 keV 2.35 cm 2.36 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -47.6 um -16.3 cm 1.51 cm 3.58 keV 0 eV 0 fm 0 fm World initStep - 1 -58.4 um -16.3 cm 1.51 cm 4.33 MeV 3.58 keV 403 um 403 um World eIoni - 2 -63.7 um -16.5 cm 1.51 cm 23.1 MeV 217 eV 1.88 mm 2.28 mm World eIoni - 3 -72.1 um -18.9 cm 1.51 cm 268 MeV 5.7 keV 2.45 cm 2.68 cm World eIoni - 4 -72.9 um -20 cm 1.51 cm 374 MeV 1.5 keV 1.06 cm 3.74 cm OutOfWorldTransportation + 0 -3.24 um -9.17 cm 1.84 cm 2.82 keV 0 eV 0 fm 0 fm World initStep + 1 -17.8 um -9.2 cm 1.84 cm 2.9 MeV 2.82 keV 268 um 268 um World eIoni + 2 -36 um -10.2 cm 1.84 cm 102 MeV 1.36 keV 9.96 mm 1.02 cm World eIoni + 3 -48.1 um -18.7 cm 1.84 cm 952 MeV 15.1 keV 8.5 cm 9.52 cm World eIoni + 4 -42.8 um -20 cm 1.84 cm 1.08 GeV 2.99 keV 1.31 cm 10.8 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -72.1 um -18.9 cm 1.51 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 -73.6 um -18.9 cm 1.51 cm 686 keV 1.06 keV 62.4 um 62.4 um World eIoni - 2 -77.7 um -19.7 cm 1.51 cm 79 MeV 730 eV 7.83 mm 7.89 mm World eIoni - 3 -77.8 um -20 cm 1.51 cm 106 MeV 995 eV 2.69 mm 1.06 cm OutOfWorldTransportation + 0 -48.1 um -18.7 cm 1.84 cm 220 keV 0 eV 0 fm 0 fm World initStep + 1 -326 um -20 cm 1.85 cm 132 MeV 4.47 keV 1.32 cm 1.32 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 41.7 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -10.7 cm 1.92 cm 1.12 GeV 18.6 keV 11.2 cm 11.2 cm World eIoni - 2 2.48 um -20 cm 2.22 cm 2.05 GeV 21.2 keV 9.28 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -10.7 cm 1.92 cm 2.37 keV 0 eV 0 fm 0 fm World initStep - 1 -10.2 um -10.7 cm 1.92 cm 2.2 MeV 2.37 keV 202 um 202 um World eIoni - 2 -23.3 um -11.4 cm 1.92 cm 63.9 MeV 688 eV 6.17 mm 6.37 mm World eIoni - 3 -21.9 um -15.4 cm 1.92 cm 469 MeV 7.54 keV 4.05 cm 4.69 cm World eIoni - 4 -29.9 um -20 cm 1.92 cm 927 MeV 8.45 keV 4.58 cm 9.27 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -21.9 um -15.4 cm 1.92 cm 18.6 keV 0 eV 0 fm 0 fm World initStep - 1 63.9 um -15.7 cm 1.91 cm 31.6 MeV 4.28 keV 3.04 mm 3.04 mm World eIoni - 2 72.1 um -16 cm 1.91 cm 62.1 MeV 471 eV 3.05 mm 6.09 mm World eIoni - 3 97.3 um -20 cm 1.91 cm 460 MeV 7.56 keV 3.98 cm 4.59 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -23.3 um -11.4 cm 1.92 cm 5.45 keV 0 eV 0 fm 0 fm World initStep - 1 -43.9 um -11.4 cm 1.91 cm 8.89 MeV 5.45 keV 835 um 835 um World eIoni - 2 -46.3 um -11.5 cm 1.91 cm 14.9 MeV 137 eV 604 um 1.44 mm World eIoni - 3 -65.6 um -20 cm 1.91 cm 864 MeV 12.9 keV 8.49 cm 8.64 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -9.61 mm 8.72 mm 146 MeV 2.39 keV 1.38 cm 1.38 cm World eIoni - 2 7.51 um -14.2 cm 2.05 cm 1.47 GeV 26.5 keV 13.3 cm 14.7 cm World eIoni - 3 6.62 um -20 cm 2.22 cm 2.05 GeV 14.4 keV 5.83 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.51 um -14.2 cm 2.05 cm 4.68 keV 0 eV 0 fm 0 fm World initStep - 1 30.1 um -14.2 cm 2.05 cm 6.83 MeV 4.68 keV 640 um 640 um World eIoni - 2 42.6 um -14.8 cm 2.05 cm 61.1 MeV 944 eV 5.43 mm 6.07 mm World eIoni - 3 56.1 um -20 cm 2.05 cm 583 MeV 9.74 keV 5.22 cm 5.83 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -9.61 mm 8.72 mm 1.02 keV 0 eV 0 fm 0 fm World initStep - 1 -4.79 um -9.66 mm 8.73 mm 653 keV 1.02 keV 59.3 um 59.3 um World eIoni - 2 -18.1 um -1.58 cm 8.73 mm 62.3 MeV 649 eV 6.16 mm 6.22 mm World eIoni - 3 -39.3 um -20 cm 8.75 mm 1.9 GeV 32.4 keV 18.4 cm 19 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -18.1 um -1.58 cm 8.73 mm 5.42 keV 0 eV 0 fm 0 fm World initStep - 1 -10.4 um -1.61 cm 8.71 mm 2.61 MeV 717 eV 250 um 250 um World eIoni - 2 1.73 um -3.23 cm 8.68 mm 165 MeV 2 keV 1.62 cm 1.64 cm World eIoni - 3 20.6 um -19 cm 8.66 mm 1.74 GeV 30.7 keV 15.8 cm 17.4 cm World eIoni - 4 20.6 um -19.1 cm 8.66 mm 1.75 GeV 58.8 eV 1.03 mm 17.5 cm World eIoni - 5 20.9 um -20 cm 8.66 mm 1.84 GeV 1.9 keV 8.85 mm 18.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 20.6 um -19.1 cm 8.66 mm 3.69 keV 0 eV 0 fm 0 fm World initStep - 1 21.2 um -19.2 cm 8.68 mm 4.55 MeV 3.69 keV 424 um 424 um World eIoni - 2 21.7 um -20 cm 8.7 mm 88.9 MeV 574 eV 8.43 mm 8.86 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 20.6 um -19 cm 8.66 mm 1.39 keV 0 eV 0 fm 0 fm World initStep - 1 15.6 um -19 cm 8.66 mm 1 MeV 1.39 keV 91 um 91 um World eIoni - 2 3.68 um -20 cm 8.65 mm 99 MeV 814 eV 9.8 mm 9.89 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.73 um -3.23 cm 8.68 mm 2.15 keV 0 eV 0 fm 0 fm World initStep - 1 -9.23 um -3.24 cm 8.68 mm 1.9 MeV 2.15 keV 174 um 174 um World eIoni - 2 -29.3 um -4.73 cm 8.68 mm 151 MeV 3.65 keV 1.49 cm 1.51 cm World eIoni - 3 -35.8 um -9.32 cm 8.68 mm 610 MeV 9.76 keV 4.59 cm 6.1 cm World eIoni - 4 -33.5 um -16 cm 8.68 mm 1.28 GeV 15.4 keV 6.69 cm 12.8 cm World eIoni - 5 -34 um -20 cm 8.68 mm 1.68 GeV 7.16 keV 3.99 cm 16.8 cm OutOfWorldTransportation + 0 -2.41 um -8.51 cm 1.81 cm 1.21 keV 0 eV 0 fm 0 fm World initStep + 1 2.45 um -8.52 cm 1.81 cm 825 keV 1.21 keV 74.9 um 74.9 um World eIoni + 2 20.4 um -13.5 cm 1.81 cm 496 MeV 7.44 keV 4.95 cm 4.96 cm World eIoni + 3 21.6 um -20 cm 1.81 cm 1.15 GeV 14.4 keV 6.53 cm 11.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -33.5 um -16 cm 8.68 mm 2.7 keV 0 eV 0 fm 0 fm World initStep - 1 -20.1 um -16 cm 8.68 mm 2.71 MeV 2.7 keV 250 um 250 um World eIoni - 2 -2.61 um -17 cm 8.67 mm 103 MeV 1.77 keV 1 cm 1.03 cm World eIoni - 3 4.14 um -20 cm 8.67 mm 399 MeV 5.07 keV 2.97 cm 3.99 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -35.8 um -9.32 cm 8.68 mm 6.29 keV 0 eV 0 fm 0 fm World initStep - 1 -73 um -9.43 cm 8.69 mm 11.4 MeV 6.29 keV 1.07 mm 1.07 mm World eIoni - 2 -89.4 um -10.3 cm 8.7 mm 97 MeV 2.03 keV 8.56 mm 9.63 mm World eIoni - 3 -105 um -16.5 cm 8.7 mm 719 MeV 10.1 keV 6.22 cm 7.18 cm World eIoni - 4 -107 um -17.8 cm 8.7 mm 849 MeV 3.43 keV 1.31 cm 8.49 cm World eIoni - 5 -108 um -20 cm 8.71 mm 1.07 GeV 4.06 keV 2.19 cm 10.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -107 um -17.8 cm 8.7 mm 2.02 keV 0 eV 0 fm 0 fm World initStep - 1 -117 um -17.8 cm 8.7 mm 1.72 MeV 2.02 keV 158 um 158 um World eIoni - 2 -138 um -20 cm 8.71 mm 219 MeV 1.69 keV 2.17 cm 2.19 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -105 um -16.5 cm 8.7 mm 25.7 keV 0 eV 0 fm 0 fm World initStep - 1 -87.8 um -16.7 cm 8.61 mm 22.2 MeV 2.18 keV 2.16 mm 2.16 mm World eIoni - 2 -79.9 um -19.1 cm 8.57 mm 260 MeV 3.91 keV 2.38 cm 2.59 cm World eIoni - 3 -80.6 um -20 cm 8.57 mm 350 MeV 1.15 keV 9.04 mm 3.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -79.9 um -19.1 cm 8.57 mm 6.34 keV 0 eV 0 fm 0 fm World initStep - 1 -52.4 um -19.2 cm 8.55 mm 11.5 MeV 6.34 keV 1.09 mm 1.09 mm World eIoni - 2 -45.6 um -19.5 cm 8.54 mm 38.9 MeV 125 eV 2.74 mm 3.83 mm World eIoni - 3 -40.8 um -20 cm 8.54 mm 91.2 MeV 879 eV 5.23 mm 9.06 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.31 mm 7.32 mm 113 MeV 1.36 keV 1.02 cm 1.02 cm World eIoni - 2 -8.39 um -6.29 cm 1.66 cm 679 MeV 11.3 keV 5.76 cm 6.77 cm World eIoni - 3 -11.4 um -10.6 cm 1.91 cm 1.11 GeV 9.97 keV 4.29 cm 11.1 cm World eIoni - 4 -16.4 um -20 cm 2.22 cm 2.05 GeV 21 keV 9.44 cm 20.5 cm OutOfWorldTransportation + 0 20.4 um -13.5 cm 1.81 cm 1.53 keV 0 eV 0 fm 0 fm World initStep + 1 22.6 um -13.5 cm 1.81 cm 1.14 MeV 1.53 keV 104 um 104 um World eIoni + 2 29.8 um -20 cm 1.81 cm 653 MeV 9.88 keV 6.52 cm 6.53 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -11.4 um -10.6 cm 1.91 cm 12.1 keV 0 eV 0 fm 0 fm World initStep - 1 -7.41 um -10.6 cm 1.91 cm 1.82 MeV 258 eV 182 um 182 um World eIoni - 2 19.9 um -20 cm 1.92 cm 943 MeV 12.3 keV 9.41 cm 9.43 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.41 um -10.6 cm 1.91 cm 1.39 keV 0 eV 0 fm 0 fm World initStep - 1 -12.2 um -10.6 cm 1.91 cm 995 keV 1.39 keV 90.5 um 90.5 um World eIoni - 2 -29.9 um -20 cm 1.91 cm 941 MeV 10.8 keV 9.4 cm 9.41 cm OutOfWorldTransportation + 0 845 nm -5.71 cm 1.62 cm 1.94 keV 0 eV 0 fm 0 fm World initStep + 1 -8.58 um -5.72 cm 1.62 cm 1.63 MeV 1.94 keV 149 um 149 um World eIoni + 2 -36.2 um -20 cm 1.62 cm 1.43 GeV 21.8 keV 14.3 cm 14.3 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -8.39 um -6.29 cm 1.66 cm 1.09 keV 0 eV 0 fm 0 fm World initStep - 1 -5.86 um -6.29 cm 1.66 cm 713 keV 1.09 keV 65 um 65 um World eIoni - 2 4.72 um -12.6 cm 1.66 cm 634 MeV 8.56 keV 6.33 cm 6.34 cm World eIoni - 3 5.87 um -19.1 cm 1.66 cm 1.28 GeV 13.4 keV 6.45 cm 12.8 cm World eIoni - 4 6.06 um -20 cm 1.66 cm 1.37 GeV 2.33 keV 9.23 mm 13.7 cm OutOfWorldTransportation + 0 3.41 um -4.6 cm 1.52 cm 49.9 keV 0 eV 0 fm 0 fm World initStep + 1 138 um -5.69 cm 1.5 cm 111 MeV 8.52 keV 1.1 cm 1.1 cm World eIoni + 2 140 um -5.84 cm 1.5 cm 126 MeV 120 eV 1.47 mm 1.25 cm World eIoni + 3 169 um -16.8 cm 1.5 cm 1.23 GeV 21.5 keV 11 cm 12.3 cm World eIoni + 4 170 um -18.3 cm 1.5 cm 1.37 GeV 2 keV 1.48 cm 13.7 cm World eIoni + 5 171 um -20 cm 1.5 cm 1.54 GeV 3.06 keV 1.68 cm 15.4 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.87 um -19.1 cm 1.66 cm 1.39 keV 0 eV 0 fm 0 fm World initStep - 1 2.28 um -19.1 cm 1.66 cm 992 keV 1.39 keV 90.3 um 90.3 um World eIoni - 2 -6.28 um -20 cm 1.66 cm 92.4 MeV 1.18 keV 9.14 mm 9.23 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.31 mm 7.32 mm 2.8 keV 0 eV 0 fm 0 fm World initStep - 1 12.4 um -6.57 mm 7.32 mm 2.87 MeV 2.8 keV 265 um 265 um World eIoni - 2 25.3 um -1.18 cm 7.31 mm 55.6 MeV 944 eV 5.28 mm 5.54 mm World eIoni - 3 35.9 um -5.99 cm 7.3 mm 536 MeV 8.17 keV 4.81 cm 5.36 cm World eIoni - 4 36.6 um -6.53 cm 7.3 mm 590 MeV 1.02 keV 5.33 mm 5.89 cm World eIoni - 5 37.2 um -6.98 cm 7.3 mm 635 MeV 1.79 keV 4.54 mm 6.35 cm World eIoni - 6 38.3 um -9.02 cm 7.3 mm 839 MeV 3.12 keV 2.04 cm 8.39 cm World eIoni - 7 38.9 um -20 cm 7.3 mm 1.94 GeV 27.3 keV 11 cm 19.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 38.3 um -9.02 cm 7.3 mm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 43 um -9.03 cm 7.3 mm 640 keV 1.01 keV 58.2 um 58.2 um World eIoni - 2 58.2 um -10.1 cm 7.3 mm 105 MeV 2.74 keV 1.04 cm 1.05 cm World eIoni - 3 58.8 um -10.3 cm 7.3 mm 126 MeV 268 eV 2.14 mm 1.26 cm World eIoni - 4 63.3 um -13.7 cm 7.31 mm 471 MeV 10 keV 3.45 cm 4.71 cm World eIoni - 5 65 um -15.6 cm 7.31 mm 655 MeV 2.98 keV 1.84 cm 6.55 cm World eIoni - 6 67.2 um -20 cm 7.31 mm 1.1 GeV 10.7 keV 4.43 cm 11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 65 um -15.6 cm 7.31 mm 1.52 keV 0 eV 0 fm 0 fm World initStep - 1 64.2 um -15.6 cm 7.32 mm 1.13 MeV 1.52 keV 103 um 103 um World eIoni - 2 62.1 um -17 cm 7.33 mm 139 MeV 2.88 keV 1.38 cm 1.39 cm World eIoni - 3 66.2 um -20 cm 7.34 mm 443 MeV 4.17 keV 3.04 cm 4.43 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 62.1 um -17 cm 7.33 mm 1.93 keV 0 eV 0 fm 0 fm World initStep - 1 53.2 um -17 cm 7.33 mm 1.61 MeV 1.93 keV 148 um 148 um World eIoni - 2 32.7 um -20 cm 7.32 mm 304 MeV 3.32 keV 3.02 cm 3.04 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 63.3 um -13.7 cm 7.31 mm 1.51 keV 0 eV 0 fm 0 fm World initStep - 1 59.8 um -13.7 cm 7.3 mm 1.12 MeV 1.51 keV 102 um 102 um World eIoni - 2 48.6 um -20 cm 7.28 mm 627 MeV 6.69 keV 6.26 cm 6.27 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 58.8 um -10.3 cm 7.3 mm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 58.5 um -10.3 cm 7.3 mm 787 keV 1.17 keV 71.6 um 71.6 um World eIoni - 2 57.2 um -15.8 cm 7.28 mm 551 MeV 7.61 keV 5.5 cm 5.51 cm World eIoni - 3 57.4 um -17.8 cm 7.27 mm 756 MeV 4.73 keV 2.05 cm 7.56 cm World eIoni - 4 57.9 um -20 cm 7.27 mm 972 MeV 6.23 keV 2.16 cm 9.72 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 57.4 um -17.8 cm 7.27 mm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 53.4 um -17.8 cm 7.27 mm 725 keV 1.11 keV 66 um 66 um World eIoni - 2 39.6 um -20 cm 7.26 mm 216 MeV 2.3 keV 2.15 cm 2.16 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 57.2 um -15.8 cm 7.28 mm 1.35 keV 0 eV 0 fm 0 fm World initStep - 1 55.9 um -15.8 cm 7.28 mm 954 keV 1.35 keV 86.8 um 86.8 um World eIoni - 2 52.8 um -16.8 cm 7.3 mm 98.1 MeV 1.71 keV 9.71 mm 9.8 mm World eIoni - 3 59.8 um -20 cm 7.31 mm 421 MeV 6.43 keV 3.23 cm 4.21 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 52.8 um -16.8 cm 7.3 mm 3.55 keV 0 eV 0 fm 0 fm World initStep - 1 34.9 um -16.8 cm 7.29 mm 4.25 MeV 3.55 keV 396 um 396 um World eIoni - 2 26.2 um -17 cm 7.29 mm 22.4 MeV 337 eV 1.81 mm 2.21 mm World eIoni - 3 10.4 um -20 cm 7.28 mm 323 MeV 5.11 keV 3.01 cm 3.23 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 37.2 um -6.98 cm 7.3 mm 2.17 keV 0 eV 0 fm 0 fm World initStep - 1 46.5 um -7 cm 7.3 mm 1.92 MeV 2.17 keV 176 um 176 um World eIoni - 2 54.9 um -7.17 cm 7.29 mm 19.7 MeV 254 eV 1.78 mm 1.95 mm World eIoni - 3 71 um -20 cm 7.28 mm 1.3 GeV 22.9 keV 12.8 cm 13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 36.6 um -6.53 cm 7.3 mm 1.37 keV 0 eV 0 fm 0 fm World initStep - 1 35.6 um -6.53 cm 7.31 mm 975 keV 1.37 keV 88.8 um 88.8 um World eIoni - 2 32.3 um -9.87 cm 7.33 mm 335 MeV 6.04 keV 3.34 cm 3.35 cm World eIoni - 3 41.4 um -20 cm 7.33 mm 1.35 GeV 22 keV 10.1 cm 13.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 32.3 um -9.87 cm 7.33 mm 5.55 keV 0 eV 0 fm 0 fm World initStep - 1 1.62 um -9.96 cm 7.34 mm 9.19 MeV 5.55 keV 864 um 864 um World eIoni - 2 -15.7 um -11 cm 7.35 mm 113 MeV 2.14 keV 1.04 cm 1.12 cm World eIoni - 3 -31.6 um -20 cm 7.36 mm 1.01 GeV 25.4 keV 9.01 cm 10.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 35.9 um -5.99 cm 7.3 mm 1.37 keV 0 eV 0 fm 0 fm World initStep - 1 31 um -6 cm 7.31 mm 980 keV 1.37 keV 89.2 um 89.2 um World eIoni - 2 11.9 um -20 cm 7.33 mm 1.4 GeV 14.5 keV 14 cm 14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.1 mm 6.68 mm 101 MeV 1.38 keV 8.81 mm 8.81 mm World eIoni - 2 9.77 um -20 cm 2.22 cm 2.05 GeV 36.7 keV 19.6 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.1 mm 6.68 mm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 -4.67 um -5.16 mm 6.68 mm 640 keV 1.01 keV 58.4 um 58.4 um World eIoni - 2 -27 um -11.1 cm 6.68 mm 1.06 GeV 18.5 keV 10.6 cm 10.6 cm World eIoni - 3 -31 um -15.7 cm 6.68 mm 1.52 GeV 6.99 keV 4.6 cm 15.2 cm World eIoni - 4 -33.1 um -20 cm 6.68 mm 1.95 GeV 10 keV 4.3 cm 19.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -31 um -15.7 cm 6.68 mm 996 eV 0 eV 0 fm 0 fm World initStep - 1 -33.1 um -15.7 cm 6.68 mm 631 keV 996 eV 57.4 um 57.4 um World eIoni - 2 -39 um -16.3 cm 6.66 mm 59.3 MeV 1.16 keV 5.86 mm 5.92 mm World eIoni - 3 -34.4 um -20 cm 6.66 mm 430 MeV 5.75 keV 3.71 cm 4.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -39 um -16.3 cm 6.66 mm 1.33 keV 0 eV 0 fm 0 fm World initStep - 1 -45.4 um -16.3 cm 6.66 mm 937 keV 1.33 keV 85.3 um 85.3 um World eIoni - 2 -65.6 um -19.1 cm 6.66 mm 286 MeV 4.21 keV 2.85 cm 2.86 cm World eIoni - 3 -65.6 um -20 cm 6.66 mm 371 MeV 3.31 keV 8.52 mm 3.71 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -65.6 um -19.1 cm 6.66 mm 1.87 keV 0 eV 0 fm 0 fm World initStep - 1 -72.5 um -19.2 cm 6.67 mm 1.53 MeV 1.87 keV 140 um 140 um World eIoni - 2 -84.9 um -20 cm 6.68 mm 85.3 MeV 1.81 keV 8.38 mm 8.52 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -27 um -11.1 cm 6.68 mm 6.95 keV 0 eV 0 fm 0 fm World initStep - 1 -11.9 um -11.1 cm 6.67 mm 1.3 MeV 105 eV 129 um 129 um World eIoni - 2 37.2 um -20 cm 6.65 mm 890 MeV 15.1 keV 8.89 cm 8.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 37.5 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.91 mm 5.94 mm 89.1 MeV 1.51 keV 7.4 mm 7.4 mm World eIoni - 2 15.3 um -19.6 cm 2.21 cm 2.01 GeV 35.8 keV 19.4 cm 20.1 cm World eIoni - 3 15.3 um -20 cm 2.22 cm 2.05 GeV 722 eV 3.93 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 15.3 um -19.6 cm 2.21 cm 2.05 keV 0 eV 0 fm 0 fm World initStep - 1 19.1 um -19.6 cm 2.21 cm 1.76 MeV 2.05 keV 161 um 161 um World eIoni - 2 24 um -20 cm 2.21 cm 39.5 MeV 213 eV 3.77 mm 3.93 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.91 mm 5.94 mm 2.3 keV 0 eV 0 fm 0 fm World initStep - 1 -11.7 um -4.1 mm 5.94 mm 2.11 MeV 2.3 keV 193 um 193 um World eIoni - 2 -33.3 um -2.53 cm 5.94 mm 214 MeV 4.3 keV 2.12 cm 2.14 cm World eIoni - 3 -44.2 um -20 cm 5.94 mm 1.96 GeV 35 keV 17.5 cm 19.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -8.83 cm 1.82 cm 933 MeV 16.3 keV 9.33 cm 9.33 cm World eIoni - 2 -1.37 um -20 cm 2.22 cm 2.05 GeV 23.4 keV 11.2 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -8.83 cm 1.82 cm 1.46 keV 0 eV 0 fm 0 fm World initStep - 1 3.19 um -8.84 cm 1.82 cm 1.07 MeV 1.46 keV 97.5 um 97.5 um World eIoni - 2 13.8 um -15 cm 1.82 cm 620 MeV 12.1 keV 6.19 cm 6.2 cm World eIoni - 3 14.8 um -20 cm 1.82 cm 1.12 GeV 13.2 keV 4.97 cm 11.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 13.8 um -15 cm 1.82 cm 1.31 keV 0 eV 0 fm 0 fm World initStep - 1 13.8 um -15 cm 1.82 cm 920 keV 1.31 keV 83.7 um 83.7 um World eIoni - 2 13.8 um -20 cm 1.82 cm 497 MeV 6.92 keV 4.96 cm 4.97 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -9.67 cm 1.87 cm 1.02 GeV 21.9 keV 10.2 cm 10.2 cm World eIoni - 2 -210 nm -10.3 cm 1.9 cm 1.08 GeV 1.43 keV 5.95 mm 10.8 cm World eIoni - 3 -351 nm -11.4 cm 1.94 cm 1.19 GeV 2.14 keV 1.1 cm 11.9 cm World eIoni - 4 -700 nm -12.5 cm 1.99 cm 1.3 GeV 1.93 keV 1.16 cm 13 cm World eIoni - 5 -3.35 um -20 cm 2.22 cm 2.05 GeV 17.8 keV 7.47 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -700 nm -12.5 cm 1.99 cm 1.22 keV 0 eV 0 fm 0 fm World initStep - 1 2.8 um -12.5 cm 1.99 cm 829 keV 1.22 keV 75.5 um 75.5 um World eIoni - 2 16.2 um -20 cm 1.99 cm 747 MeV 12.1 keV 7.46 cm 7.47 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -351 nm -11.4 cm 1.94 cm 1.03 keV 0 eV 0 fm 0 fm World initStep - 1 3.03 um -11.4 cm 1.94 cm 655 keV 1.03 keV 59.7 um 59.7 um World eIoni - 2 17.1 um -16.1 cm 1.94 cm 473 MeV 9.75 keV 4.73 cm 4.73 cm World eIoni - 3 18.1 um -18.5 cm 1.94 cm 709 MeV 5.25 keV 2.36 cm 7.09 cm World eIoni - 4 18.1 um -20 cm 1.94 cm 863 MeV 2.06 keV 1.54 cm 8.63 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 18.1 um -18.5 cm 1.94 cm 1.65 keV 0 eV 0 fm 0 fm World initStep - 1 24.2 um -18.5 cm 1.94 cm 1.27 MeV 1.65 keV 116 um 116 um World eIoni - 2 37.3 um -20 cm 1.94 cm 154 MeV 1.11 keV 1.53 cm 1.54 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 17.1 um -16.1 cm 1.94 cm 1.08 keV 0 eV 0 fm 0 fm World initStep - 1 16.8 um -16.1 cm 1.94 cm 704 keV 1.08 keV 64 um 64 um World eIoni - 2 16.4 um -16.1 cm 1.94 cm 4.6 MeV 0 eV 390 um 454 um World eIoni - 3 36 um -20 cm 1.94 cm 390 MeV 5.43 keV 3.85 cm 3.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 16.4 um -16.1 cm 1.94 cm 2.35 keV 0 eV 0 fm 0 fm World initStep - 1 4.97 um -16.2 cm 1.94 cm 2.18 MeV 2.35 keV 200 um 200 um World eIoni - 2 -12.6 um -17.2 cm 1.94 cm 110 MeV 601 eV 1.07 cm 1.09 cm World eIoni - 3 -18.4 um -20 cm 1.94 cm 386 MeV 3.88 keV 2.76 cm 3.85 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -210 nm -10.3 cm 1.9 cm 5.97 keV 0 eV 0 fm 0 fm World initStep - 1 -10.5 um -10.4 cm 1.9 cm 10.5 MeV 5.97 keV 985 um 985 um World eIoni - 2 -13.9 um -10.8 cm 1.9 cm 49.3 MeV 630 eV 3.88 mm 4.87 mm World eIoni - 3 -18.1 um -13.4 cm 1.9 cm 317 MeV 4.81 keV 2.67 cm 3.16 cm World eIoni - 4 -19 um -14 cm 1.9 cm 377 MeV 1.4 keV 5.99 mm 3.76 cm World eIoni - 5 -23.1 um -15.9 cm 1.9 cm 564 MeV 5.05 keV 1.87 cm 5.63 cm World eIoni - 6 -29.6 um -20 cm 1.9 cm 974 MeV 9.26 keV 4.1 cm 9.74 cm OutOfWorldTransportation + 0 170 um -18.3 cm 1.5 cm 2.56 keV 0 eV 0 fm 0 fm World initStep + 1 184 um -18.3 cm 1.5 cm 2.5 MeV 2.56 keV 230 um 230 um World eIoni + 2 184 um -18.3 cm 1.5 cm 2.87 MeV 5.45 eV 37.2 um 267 um World eIoni + 3 205 um -20 cm 1.5 cm 168 MeV 3.17 keV 1.65 cm 1.68 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 11, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -23.1 um -15.9 cm 1.9 cm 2.12 keV 0 eV 0 fm 0 fm World initStep - 1 -19.6 um -15.9 cm 1.9 cm 1.86 MeV 2.12 keV 170 um 170 um World eIoni - 2 -13 um -17.6 cm 1.9 cm 167 MeV 2.27 keV 1.65 cm 1.67 cm World eIoni - 3 -13 um -17.6 cm 1.9 cm 169 MeV 23.1 eV 217 um 1.69 cm World eIoni - 4 -9.01 um -20 cm 1.91 cm 411 MeV 2.93 keV 2.41 cm 4.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -13 um -17.6 cm 1.9 cm 6.99 keV 0 eV 0 fm 0 fm World initStep - 1 -21.7 um -17.6 cm 1.9 cm 3.81 MeV 1.4 keV 366 um 366 um World eIoni - 2 -33.7 um -20 cm 1.9 cm 241 MeV 4.1 keV 2.38 cm 2.41 cm OutOfWorldTransportation + 0 169 um -16.8 cm 1.5 cm 2.47 keV 0 eV 0 fm 0 fm World initStep + 1 182 um -16.9 cm 1.5 cm 2.36 MeV 2.47 keV 217 um 217 um World eIoni + 2 201 um -18.2 cm 1.5 cm 138 MeV 3.31 keV 1.36 cm 1.38 cm World eIoni + 3 205 um -20 cm 1.5 cm 316 MeV 3.81 keV 1.78 cm 3.16 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 10, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -19 um -14 cm 1.9 cm 2.18 keV 0 eV 0 fm 0 fm World initStep - 1 -7.97 um -14 cm 1.9 cm 1.93 MeV 2.18 keV 177 um 177 um World eIoni - 2 8.98 um -14.9 cm 1.9 cm 85.7 MeV 751 eV 8.38 mm 8.56 mm World eIoni - 3 18.2 um -20 cm 1.9 cm 598 MeV 11.1 keV 5.12 cm 5.97 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -18.1 um -13.4 cm 1.9 cm 1.33 keV 0 eV 0 fm 0 fm World initStep - 1 -12.3 um -13.4 cm 1.9 cm 931 keV 1.33 keV 84.7 um 84.7 um World eIoni - 2 8.19 um -20 cm 1.9 cm 657 MeV 11.5 keV 6.57 cm 6.57 cm OutOfWorldTransportation + 0 140 um -5.84 cm 1.5 cm 1.02 keV 0 eV 0 fm 0 fm World initStep + 1 145 um -5.84 cm 1.5 cm 647 keV 1.02 keV 58.9 um 58.9 um World eIoni + 2 168 um -20 cm 1.5 cm 1.42 GeV 23.5 keV 14.2 cm 14.2 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -9.67 cm 1.87 cm 1.33 keV 0 eV 0 fm 0 fm World initStep - 1 6.43 um -9.68 cm 1.87 cm 939 keV 1.33 keV 85.5 um 85.5 um World eIoni - 2 26.6 um -12.5 cm 1.87 cm 284 MeV 4.67 keV 2.83 cm 2.84 cm World eIoni - 3 36.5 um -20 cm 1.87 cm 1.03 GeV 20.3 keV 7.49 cm 10.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 26.6 um -12.5 cm 1.87 cm 1.57 keV 0 eV 0 fm 0 fm World initStep - 1 18.9 um -12.5 cm 1.87 cm 1.19 MeV 1.57 keV 108 um 108 um World eIoni - 2 -5.31 um -20 cm 1.87 cm 749 MeV 11.2 keV 7.48 cm 7.49 cm OutOfWorldTransportation + 0 0 fm -1.01 cm 8.9 mm 1.35 keV 0 eV 0 fm 0 fm World initStep + 1 -4.92 um -1.02 cm 8.9 mm 971 keV 1.35 keV 87.4 um 87.4 um World eIoni + 2 -25 um -20 cm 8.92 mm 1.9 GeV 30.2 keV 19 cm 19 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -2821,596 +627,50 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.05 cm 1.64 cm 655 MeV 11.8 keV 6.54 cm 6.54 cm World eIoni - 2 -87.2 nm -8.76 cm 1.82 cm 926 MeV 1.61 keV 2.71 cm 9.25 cm World eIoni - 3 692 nm -19.2 cm 2.2 cm 1.97 GeV 23.4 keV 10.4 cm 19.7 cm World eIoni - 4 874 nm -20 cm 2.22 cm 2.05 GeV 1.06 keV 8.32 mm 20.5 cm OutOfWorldTransportation + 1 0 fm -12.8 cm 2 cm 1.33 GeV 21.7 keV 13.3 cm 13.3 cm World eIoni + 2 -404 nm -14.9 cm 2.08 cm 1.54 GeV 5.41 keV 2.15 cm 15.4 cm World eIoni + 3 -336 nm -19.5 cm 2.21 cm 2 GeV 10.6 keV 4.53 cm 20 cm World eIoni + 4 -309 nm -20 cm 2.22 cm 2.05 GeV 735 eV 5.29 mm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 692 nm -19.2 cm 2.2 cm 1.22 keV 0 eV 0 fm 0 fm World initStep - 1 -4.86 um -19.2 cm 2.2 cm 833 keV 1.22 keV 75.8 um 75.8 um World eIoni - 2 -18.8 um -20 cm 2.2 cm 83.2 MeV 586 eV 8.24 mm 8.31 mm OutOfWorldTransportation + 0 -336 nm -19.5 cm 2.21 cm 1.11 keV 0 eV 0 fm 0 fm World initStep + 1 -1.56 um -19.5 cm 2.21 cm 729 keV 1.11 keV 66.4 um 66.4 um World eIoni + 2 -4.58 um -20 cm 2.21 cm 53 MeV 905 eV 5.22 mm 5.29 mm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -87.2 nm -8.76 cm 1.82 cm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 -2.16 um -8.77 cm 1.82 cm 783 keV 1.17 keV 71 um 71 um World eIoni - 2 -11 um -19.4 cm 1.82 cm 1.06 GeV 15.1 keV 10.6 cm 10.6 cm World eIoni - 3 -11.1 um -20 cm 1.82 cm 1.12 GeV 1.01 keV 6.17 mm 11.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -11 um -19.4 cm 1.82 cm 1.75 keV 0 eV 0 fm 0 fm World initStep - 1 -12.2 um -19.4 cm 1.82 cm 1.39 MeV 1.75 keV 127 um 127 um World eIoni - 2 -14.3 um -20 cm 1.82 cm 61.9 MeV 458 eV 6.05 mm 6.17 mm OutOfWorldTransportation + 0 -404 nm -14.9 cm 2.08 cm 3.26 keV 0 eV 0 fm 0 fm World initStep + 1 -9.41 um -15 cm 2.08 cm 3.69 MeV 3.26 keV 343 um 343 um World eIoni + 2 -15.8 um -15.3 cm 2.08 cm 36.1 MeV 343 eV 3.24 mm 3.58 mm World eIoni + 3 -24.1 um -20 cm 2.08 cm 506 MeV 9.2 keV 4.7 cm 5.06 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.05 cm 1.64 cm 1.07 keV 0 eV 0 fm 0 fm World initStep - 1 383 nm -6.06 cm 1.64 cm 695 keV 1.07 keV 63.4 um 63.4 um World eIoni - 2 1.67 um -7.68 cm 1.64 cm 163 MeV 945 eV 1.62 cm 1.63 cm World eIoni - 3 -1.38 um -20 cm 1.64 cm 1.39 GeV 27 keV 12.3 cm 13.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.67 um -7.68 cm 1.64 cm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 4.09 um -7.69 cm 1.64 cm 642 keV 1.01 keV 58.4 um 58.4 um World eIoni - 2 14.8 um -14.2 cm 1.64 cm 656 MeV 10.5 keV 6.55 cm 6.56 cm World eIoni - 3 16.7 um -20 cm 1.64 cm 1.23 GeV 11.3 keV 5.76 cm 12.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.8 um -14.2 cm 1.64 cm 1.12 keV 0 eV 0 fm 0 fm World initStep - 1 11 um -14.2 cm 1.64 cm 740 keV 1.12 keV 67.3 um 67.3 um World eIoni - 2 -1.84 um -16.5 cm 1.64 cm 221 MeV 2.78 keV 2.21 cm 2.21 cm World eIoni - 3 -6.17 um -20 cm 1.64 cm 576 MeV 11 keV 3.55 cm 5.76 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.84 um -16.5 cm 1.64 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 2.87 um -16.5 cm 1.64 cm 686 keV 1.06 keV 62.4 um 62.4 um World eIoni - 2 20.8 um -20 cm 1.64 cm 355 MeV 4.3 keV 3.54 cm 3.55 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.66 cm 1.41 cm 416 MeV 8.35 keV 4.14 cm 4.14 cm World eIoni - 2 6.83 um -20 cm 2.22 cm 2.05 GeV 31.9 keV 16.4 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.66 cm 1.41 cm 1.8 keV 0 eV 0 fm 0 fm World initStep - 1 -8.95 um -3.68 cm 1.41 cm 1.45 MeV 1.8 keV 132 um 132 um World eIoni - 2 -37.2 um -16.3 cm 1.41 cm 1.26 GeV 19.3 keV 12.6 cm 12.6 cm World eIoni - 3 -38.1 um -20 cm 1.41 cm 1.63 GeV 7.11 keV 3.74 cm 16.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.72 cm 1.09 cm 222 MeV 2.98 keV 2.17 cm 2.17 cm World eIoni - 2 -8.72 um -4.22 cm 1.48 cm 472 MeV 8.12 keV 2.53 cm 4.7 cm World eIoni - 3 -23.4 um -20 cm 2.22 cm 2.05 GeV 31.4 keV 15.8 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -8.72 um -4.22 cm 1.48 cm 2.45 keV 0 eV 0 fm 0 fm World initStep - 1 -12.4 um -4.24 cm 1.48 cm 2.33 MeV 2.45 keV 214 um 214 um World eIoni - 2 -18.2 um -5.49 cm 1.48 cm 128 MeV 2.5 keV 1.26 cm 1.28 cm World eIoni - 3 -21.1 um -13.7 cm 1.48 cm 947 MeV 15.1 keV 8.19 cm 9.47 cm World eIoni - 4 -19.2 um -17.3 cm 1.48 cm 1.3 GeV 5.9 keV 3.57 cm 13 cm World eIoni - 5 -19.1 um -18.6 cm 1.48 cm 1.44 GeV 1.85 keV 1.35 cm 14.4 cm World eIoni - 6 -19 um -20 cm 1.48 cm 1.58 GeV 3.45 keV 1.4 cm 15.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -19.1 um -18.6 cm 1.48 cm 1.39 keV 0 eV 0 fm 0 fm World initStep - 1 -22.6 um -18.6 cm 1.48 cm 993 keV 1.39 keV 90.4 um 90.4 um World eIoni - 2 -31.2 um -20 cm 1.48 cm 140 MeV 1.43 keV 1.39 cm 1.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -19.2 um -17.3 cm 1.48 cm 2.97 keV 0 eV 0 fm 0 fm World initStep - 1 -3.76 um -17.3 cm 1.48 cm 3.16 MeV 2.97 keV 293 um 293 um World eIoni - 2 3.73 um -17.4 cm 1.48 cm 14.2 MeV 146 eV 1.1 mm 1.39 mm World eIoni - 3 15.7 um -18.5 cm 1.48 cm 128 MeV 3.28 keV 1.14 cm 1.28 cm World eIoni - 4 17.8 um -20 cm 1.48 cm 275 MeV 3.78 keV 1.47 cm 2.75 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 15.7 um -18.5 cm 1.48 cm 1.13 keV 0 eV 0 fm 0 fm World initStep - 1 19.8 um -18.5 cm 1.48 cm 744 keV 1.13 keV 67.7 um 67.7 um World eIoni - 2 32.5 um -20 cm 1.48 cm 147 MeV 2.65 keV 1.46 cm 1.47 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -21.1 um -13.7 cm 1.48 cm 8.87 keV 0 eV 0 fm 0 fm World initStep - 1 -63.3 um -13.8 cm 1.48 cm 16.9 MeV 5.38 keV 1.6 mm 1.6 mm World eIoni - 2 -70.7 um -14.1 cm 1.48 cm 45.7 MeV 274 eV 2.88 mm 4.48 mm World eIoni - 3 -85.9 um -17 cm 1.49 cm 332 MeV 4.37 keV 2.86 cm 3.31 cm World eIoni - 4 -79.5 um -20 cm 1.49 cm 632 MeV 5.91 keV 3 cm 6.32 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -85.9 um -17 cm 1.49 cm 36.2 keV 0 eV 0 fm 0 fm World initStep - 1 -248 um -17.7 cm 1.49 cm 69.6 MeV 3.88 keV 6.81 mm 6.81 mm World eIoni - 2 -249 um -17.7 cm 1.49 cm 76.7 MeV 29 eV 708 um 7.52 mm World eIoni - 3 -275 um -20 cm 1.49 cm 303 MeV 3.75 keV 2.26 cm 3.01 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.72 cm 1.09 cm 33.9 keV 0 eV 0 fm 0 fm World initStep - 1 97.8 um -2.33 cm 1.11 cm 63.7 MeV 4.77 keV 6.22 mm 6.22 mm World eIoni - 2 115 um -4.54 cm 1.11 cm 285 MeV 4.07 keV 2.21 cm 2.83 cm World eIoni - 3 129 um -11.5 cm 1.11 cm 983 MeV 15.7 keV 6.99 cm 9.82 cm World eIoni - 4 136 um -20 cm 1.11 cm 1.83 GeV 15.1 keV 8.47 cm 18.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 129 um -11.5 cm 1.11 cm 1.32 keV 0 eV 0 fm 0 fm World initStep - 1 129 um -11.5 cm 1.11 cm 931 keV 1.32 keV 84.7 um 84.7 um World eIoni - 2 129 um -12.8 cm 1.11 cm 123 MeV 2.3 keV 1.22 cm 1.23 cm World eIoni - 3 125 um -15.4 cm 1.11 cm 390 MeV 5.86 keV 2.67 cm 3.9 cm World eBrem - 4 122 um -18.7 cm 1.11 cm 714 MeV 6.69 keV 3.24 cm 7.14 cm World eIoni - 5 121 um -20 cm 1.11 cm 847 MeV 3.37 keV 1.33 cm 8.47 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 122 um -18.7 cm 1.11 cm 1.44 keV 0 eV 0 fm 0 fm World initStep - 1 129 um -18.7 cm 1.11 cm 1.05 MeV 1.44 keV 95.4 um 95.4 um World eIoni - 2 146 um -20 cm 1.11 cm 133 MeV 2.7 keV 1.32 cm 1.33 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 129 um -12.8 cm 1.11 cm 1.72 keV 0 eV 0 fm 0 fm World initStep - 1 136 um -12.8 cm 1.11 cm 1.36 MeV 1.72 keV 124 um 124 um World eIoni - 2 156 um -15.7 cm 1.11 cm 290 MeV 2.47 keV 2.89 cm 2.9 cm World eIoni - 3 165 um -20 cm 1.11 cm 724 MeV 7.76 keV 4.34 cm 7.24 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 156 um -15.7 cm 1.11 cm 17.2 keV 0 eV 0 fm 0 fm World initStep - 1 112 um -15.9 cm 1.12 cm 29.4 MeV 3.2 keV 2.83 mm 2.83 mm World eIoni - 2 108 um -16.2 cm 1.12 cm 54.1 MeV 869 eV 2.47 mm 5.29 mm World eIoni - 3 94.5 um -20 cm 1.12 cm 435 MeV 8.94 keV 3.81 cm 4.34 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.42 cm 1.02 cm 192 MeV 3.81 keV 1.86 cm 1.86 cm World eIoni - 2 2.55 um -8.94 cm 1.83 cm 943 MeV 12.2 keV 7.57 cm 9.43 cm World eIoni - 3 2.91 um -15.7 cm 2.1 cm 1.62 GeV 15.7 keV 6.75 cm 16.2 cm World eIoni - 4 3.97 um -20 cm 2.22 cm 2.05 GeV 7.28 keV 4.32 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.91 um -15.7 cm 2.1 cm 2.49 keV 0 eV 0 fm 0 fm World initStep - 1 -6.92 um -15.7 cm 2.1 cm 2.38 MeV 2.49 keV 219 um 219 um World eIoni - 2 -23.3 um -17.5 cm 2.1 cm 182 MeV 2.43 keV 1.8 cm 1.82 cm World eIoni - 3 -26.6 um -20 cm 2.1 cm 432 MeV 5.75 keV 2.5 cm 4.32 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.55 um -8.94 cm 1.83 cm 2 keV 0 eV 0 fm 0 fm World initStep - 1 4.63 um -8.95 cm 1.83 cm 1.7 MeV 2 keV 155 um 155 um World eIoni - 2 9.25 um -11.7 cm 1.83 cm 280 MeV 4.47 keV 2.79 cm 2.8 cm World eIoni - 3 3.45 um -20 cm 1.83 cm 1.11 GeV 20 keV 8.26 cm 11.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 9.25 um -11.7 cm 1.83 cm 2.71 keV 0 eV 0 fm 0 fm World initStep - 1 23.2 um -11.8 cm 1.83 cm 2.73 MeV 2.71 keV 252 um 252 um World eIoni - 2 44 um -13.4 cm 1.83 cm 163 MeV 3.9 keV 1.6 cm 1.63 cm World eIoni - 3 51.1 um -18.3 cm 1.83 cm 653 MeV 10.7 keV 4.9 cm 6.53 cm World eIoni - 4 52.8 um -19.7 cm 1.83 cm 795 MeV 2.15 keV 1.41 cm 7.94 cm World eIoni - 5 52.9 um -19.8 cm 1.83 cm 806 MeV 1.48 keV 1.12 mm 8.06 cm World eIoni - 6 52.9 um -20 cm 1.83 cm 827 MeV 397 eV 2.09 mm 8.26 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 52.9 um -19.8 cm 1.83 cm 1.3 keV 0 eV 0 fm 0 fm World initStep - 1 54.3 um -19.8 cm 1.83 cm 904 keV 1.3 keV 82.3 um 82.3 um World eIoni - 2 56.5 um -20 cm 1.83 cm 21 MeV 1.12 keV 2.01 mm 2.09 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 52.8 um -19.7 cm 1.83 cm 2.18 keV 0 eV 0 fm 0 fm World initStep - 1 63.6 um -19.7 cm 1.83 cm 1.93 MeV 2.18 keV 177 um 177 um World eIoni - 2 75.5 um -20 cm 1.83 cm 32.3 MeV 335 eV 3.04 mm 3.22 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 51.1 um -18.3 cm 1.83 cm 2.94 keV 0 eV 0 fm 0 fm World initStep - 1 41 um -18.3 cm 1.83 cm 3.12 MeV 2.94 keV 289 um 289 um World eIoni - 2 31.6 um -18.8 cm 1.83 cm 50.7 MeV 1.88 keV 4.76 mm 5.05 mm World eIoni - 3 27.3 um -20 cm 1.84 cm 174 MeV 2.72 keV 1.23 cm 1.73 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.42 cm 1.02 cm 1.25 keV 0 eV 0 fm 0 fm World initStep - 1 -2.71 um -1.43 cm 1.02 cm 866 keV 1.25 keV 77.8 um 77.8 um World eIoni - 2 -5.75 um -1.51 cm 1.02 cm 8.48 MeV 47.9 eV 761 um 839 um World eIoni - 3 -21.6 um -15.4 cm 1.02 cm 1.4 GeV 22.3 keV 13.9 cm 14 cm World eIoni - 4 -21.6 um -16 cm 1.02 cm 1.46 GeV 1.19 keV 6 mm 14.6 cm World eIoni - 5 -21.3 um -18.9 cm 1.02 cm 1.75 GeV 6.1 keV 2.89 cm 17.5 cm World eIoni - 6 -21.1 um -20 cm 1.02 cm 1.86 GeV 3.51 keV 1.12 cm 18.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -21.3 um -18.9 cm 1.02 cm 1.4 keV 0 eV 0 fm 0 fm World initStep - 1 -26.4 um -18.9 cm 1.02 cm 1.01 MeV 1.4 keV 91.9 um 91.9 um World eIoni - 2 -38.5 um -20 cm 1.02 cm 112 MeV 985 eV 1.11 cm 1.12 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -21.6 um -16 cm 1.02 cm 12.9 keV 0 eV 0 fm 0 fm World initStep - 1 -37.8 um -16.2 cm 1.01 cm 22.9 MeV 4.38 keV 2.19 mm 2.19 mm World eIoni - 2 -39.8 um -16.5 cm 1.01 cm 50 MeV 140 eV 2.72 mm 4.9 mm World eIoni - 3 -45.4 um -20 cm 1.01 cm 402 MeV 5.29 keV 3.52 cm 4.01 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -21.6 um -15.4 cm 1.02 cm 4.02 keV 0 eV 0 fm 0 fm World initStep - 1 -29 um -15.4 cm 1.02 cm 5.25 MeV 4.02 keV 490 um 490 um World eIoni - 2 -30.5 um -15.5 cm 1.02 cm 11.2 MeV 9.86 eV 596 um 1.09 mm World eIoni - 3 -38.3 um -19.3 cm 1.02 cm 388 MeV 8.54 keV 3.77 cm 3.88 cm World eIoni - 4 -38.2 um -20 cm 1.02 cm 461 MeV 1.76 keV 7.23 mm 4.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -38.3 um -19.3 cm 1.02 cm 1.22 keV 0 eV 0 fm 0 fm World initStep - 1 -43.9 um -19.3 cm 1.02 cm 831 keV 1.22 keV 75.6 um 75.6 um World eIoni - 2 -57.7 um -20 cm 1.02 cm 72.3 MeV 1.96 keV 7.15 mm 7.23 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.75 um -1.51 cm 1.02 cm 1.91 keV 0 eV 0 fm 0 fm World initStep - 1 -2.43 um -1.52 cm 1.02 cm 1.58 MeV 1.91 keV 145 um 145 um World eIoni - 2 7.66 um -15.1 cm 1.02 cm 1.36 GeV 15.5 keV 13.6 cm 13.6 cm World eIoni - 3 7.1 um -20 cm 1.02 cm 1.85 GeV 9.98 keV 4.87 cm 18.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.66 um -15.1 cm 1.02 cm 1.24 keV 0 eV 0 fm 0 fm World initStep - 1 13.4 um -15.1 cm 1.02 cm 849 keV 1.24 keV 77.2 um 77.2 um World eIoni - 2 33.2 um -20 cm 1.02 cm 487 MeV 9.16 keV 4.86 cm 4.87 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -9.34 mm 8.63 mm 143 MeV 1.45 keV 1.35 cm 1.35 cm World eIoni - 2 -18.3 um -13.9 cm 2.04 cm 1.44 GeV 26.8 keV 13.1 cm 14.4 cm World eIoni - 3 -19.1 um -20 cm 2.22 cm 2.05 GeV 15.1 keV 6.08 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -18.3 um -13.9 cm 2.04 cm 4.75 keV 0 eV 0 fm 0 fm World initStep - 1 -40.4 um -14 cm 2.04 cm 7 MeV 4.75 keV 657 um 657 um World eIoni - 2 -54.1 um -14.7 cm 2.05 cm 83.2 MeV 802 eV 7.62 mm 8.27 mm World eIoni - 3 -61.7 um -17.1 cm 2.05 cm 318 MeV 4.69 keV 2.35 cm 3.17 cm World eIoni - 4 -62.8 um -17.5 cm 2.05 cm 360 MeV 492 eV 4.25 mm 3.6 cm World eIoni - 5 -68.3 um -20 cm 2.05 cm 609 MeV 4.26 keV 2.48 cm 6.08 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -62.8 um -17.5 cm 2.05 cm 3.26 keV 0 eV 0 fm 0 fm World initStep - 1 -59.1 um -17.5 cm 2.05 cm 3.68 MeV 3.26 keV 342 um 342 um World eIoni - 2 -57.6 um -17.6 cm 2.05 cm 13.1 MeV 83.2 eV 939 um 1.28 mm World eIoni - 3 -54 um -19.7 cm 2.05 cm 221 MeV 5.29 keV 2.08 cm 2.21 cm World eIoni - 4 -54 um -20 cm 2.05 cm 249 MeV 1.2 keV 2.73 mm 2.48 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -54 um -19.7 cm 2.05 cm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 -50.5 um -19.7 cm 2.05 cm 671 keV 1.04 keV 61.1 um 61.1 um World eIoni - 2 -42.9 um -20 cm 2.05 cm 27.4 MeV 217 eV 2.67 mm 2.73 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -61.7 um -17.1 cm 2.05 cm 1.24 keV 0 eV 0 fm 0 fm World initStep - 1 -55.8 um -17.1 cm 2.05 cm 850 keV 1.24 keV 77.4 um 77.4 um World eIoni - 2 -39.5 um -18.2 cm 2.05 cm 112 MeV 1.73 keV 1.11 cm 1.12 cm World eIoni - 3 -36.2 um -20 cm 2.05 cm 291 MeV 4.69 keV 1.79 cm 2.91 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -9.34 mm 8.63 mm 6.61 keV 0 eV 0 fm 0 fm World initStep - 1 38.4 um -1.05 cm 8.62 mm 12.3 MeV 5.54 keV 1.16 mm 1.16 mm World eIoni - 2 40.4 um -1.09 cm 8.62 mm 16.1 MeV 23.1 eV 384 um 1.54 mm World eIoni - 3 75.9 um -16 cm 8.61 mm 1.5 GeV 23.5 keV 14.9 cm 15 cm World eIoni - 4 76.6 um -20 cm 8.61 mm 1.91 GeV 7.85 keV 4.03 cm 19.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 75.9 um -16 cm 8.61 mm 1.09 keV 0 eV 0 fm 0 fm World initStep - 1 79.7 um -16 cm 8.61 mm 712 keV 1.09 keV 64.8 um 64.8 um World eIoni - 2 93.9 um -19 cm 8.62 mm 305 MeV 4.44 keV 3.05 cm 3.05 cm World eIoni - 3 94.8 um -20 cm 8.62 mm 403 MeV 2.81 keV 9.74 mm 4.03 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 93.9 um -19 cm 8.62 mm 1.18 keV 0 eV 0 fm 0 fm World initStep - 1 88.6 um -19 cm 8.62 mm 791 keV 1.18 keV 71.9 um 71.9 um World eIoni - 2 74.5 um -20 cm 8.63 mm 97.5 MeV 2 keV 9.67 mm 9.74 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -11.4 cm 1.95 cm 1.19 GeV 22.9 keV 11.9 cm 11.9 cm World eIoni - 2 382 nm -12.6 cm 2 cm 1.31 GeV 2.07 keV 1.21 cm 13.1 cm World eIoni - 3 8.21 um -20 cm 2.22 cm 2.05 GeV 17.9 keV 7.36 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 382 nm -12.6 cm 2 cm 18.5 keV 0 eV 0 fm 0 fm World initStep - 1 -93.9 um -12.9 cm 2 cm 31.6 MeV 3.57 keV 3.04 mm 3.04 mm World eIoni - 2 -112 um -13.9 cm 2 cm 124 MeV 3.52 keV 9.25 mm 1.23 cm World eIoni - 3 -119 um -14.7 cm 2 cm 207 MeV 929 eV 8.25 mm 2.05 cm World eIoni - 4 -143 um -20 cm 2 cm 737 MeV 9.78 keV 5.31 cm 7.36 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -119 um -14.7 cm 2 cm 3.9 keV 0 eV 0 fm 0 fm World initStep - 1 -104 um -14.7 cm 2 cm 4.99 MeV 3.9 keV 465 um 465 um World eIoni - 2 -98.1 um -14.9 cm 2 cm 18.1 MeV 219 eV 1.31 mm 1.78 mm World eIoni - 3 -94.7 um -15.1 cm 2 cm 38.7 MeV 238 eV 2.06 mm 3.83 mm World eIoni - 4 -89.6 um -17.5 cm 2 cm 280 MeV 5.12 keV 2.41 cm 2.79 cm World eIoni - 5 -90.2 um -20 cm 2 cm 531 MeV 4.28 keV 2.52 cm 5.31 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -89.6 um -17.5 cm 2 cm 1.65 keV 0 eV 0 fm 0 fm World initStep - 1 -82.1 um -17.5 cm 2 cm 1.27 MeV 1.65 keV 116 um 116 um World eIoni - 2 -63.2 um -20 cm 2 cm 252 MeV 2.61 keV 2.5 cm 2.52 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -94.7 um -15.1 cm 2 cm 1.21 keV 0 eV 0 fm 0 fm World initStep - 1 -91.4 um -15.1 cm 2 cm 824 keV 1.21 keV 74.9 um 74.9 um World eIoni - 2 -79.2 um -20 cm 2 cm 493 MeV 7.06 keV 4.92 cm 4.93 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -11.4 cm 1.95 cm 1.82 keV 0 eV 0 fm 0 fm World initStep - 1 -8.39 um -11.5 cm 1.95 cm 1.47 MeV 1.82 keV 134 um 134 um World eIoni - 2 -32.9 um -20 cm 1.95 cm 856 MeV 11 keV 8.55 cm 8.56 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -7.46 cm 1.74 cm 796 MeV 17.9 keV 7.94 cm 7.94 cm World eIoni - 2 1.77 um -12.1 cm 1.98 cm 1.26 GeV 11.5 keV 4.7 cm 12.6 cm World eIoni - 3 3.87 um -14.9 cm 2.08 cm 1.54 GeV 7.03 keV 2.73 cm 15.4 cm World eIoni - 4 8.62 um -20 cm 2.22 cm 2.05 GeV 7.26 keV 5.13 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.87 um -14.9 cm 2.08 cm 3.73 keV 0 eV 0 fm 0 fm World initStep - 1 -10.6 um -14.9 cm 2.08 cm 2.35 MeV 1.09 keV 221 um 221 um World eIoni - 2 -41 um -20 cm 2.08 cm 513 MeV 6.09 keV 5.1 cm 5.13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.77 um -12.1 cm 1.98 cm 11.4 keV 0 eV 0 fm 0 fm World initStep - 1 -39.3 um -12.3 cm 1.97 cm 20.8 MeV 2.41 keV 1.98 mm 1.98 mm World eIoni - 2 -45.1 um -12.6 cm 1.97 cm 49.1 MeV 260 eV 2.83 mm 4.81 mm World eIoni - 3 -64.8 um -20 cm 1.97 cm 786 MeV 15.1 keV 7.37 cm 7.86 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -7.46 cm 1.74 cm 2.3 keV 0 eV 0 fm 0 fm World initStep - 1 -3.91 um -7.46 cm 1.74 cm 298 keV 112 eV 30.2 um 30.2 um World eIoni - 2 -11.7 um -7.9 cm 1.74 cm 44.8 MeV 705 eV 4.45 mm 4.48 mm World eIoni - 3 -17.5 um -15.4 cm 1.74 cm 790 MeV 14.2 keV 7.45 cm 7.9 cm World eIoni - 4 -17.6 um -18 cm 1.74 cm 1.05 GeV 5.9 keV 2.63 cm 10.5 cm World eIoni - 5 -17.6 um -20 cm 1.74 cm 1.25 GeV 4.75 keV 2.02 cm 12.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -17.6 um -18 cm 1.74 cm 1.31 keV 0 eV 0 fm 0 fm World initStep - 1 -19.2 um -18 cm 1.74 cm 920 keV 1.31 keV 83.7 um 83.7 um World eIoni - 2 -23.9 um -20 cm 1.73 cm 202 MeV 2.4 keV 2.01 cm 2.02 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -17.5 um -15.4 cm 1.74 cm 1.71 keV 0 eV 0 fm 0 fm World initStep - 1 -20.2 um -15.4 cm 1.74 cm 1.34 MeV 1.71 keV 122 um 122 um World eIoni - 2 -27.9 um -20 cm 1.74 cm 465 MeV 9.2 keV 4.63 cm 4.65 cm OutOfWorldTransportation + 0 0 fm -12.8 cm 2 cm 5.21 keV 0 eV 0 fm 0 fm World initStep + 1 11.2 um -12.9 cm 2 cm 8.23 MeV 5.21 keV 774 um 774 um World eIoni + 2 18 um -13.9 cm 2.01 cm 108 MeV 2.65 keV 9.99 mm 1.08 cm World eIoni + 3 22 um -17.5 cm 2.01 cm 474 MeV 10.5 keV 3.66 cm 4.73 cm World eIoni + 4 21.7 um -20 cm 2.01 cm 721 MeV 6.55 keV 2.47 cm 7.21 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.91 um -7.46 cm 1.74 cm 2.52 keV 0 eV 0 fm 0 fm World initStep - 1 -8.94 um -7.48 cm 1.74 cm 2.43 MeV 2.52 keV 224 um 224 um World eIoni - 2 -10.7 um -7.52 cm 1.74 cm 6.58 MeV 0 eV 415 um 639 um World eIoni - 3 -18.7 um -11.2 cm 1.75 cm 375 MeV 4.66 keV 3.68 cm 3.75 cm World eIoni - 4 -21.9 um -20 cm 1.75 cm 1.25 GeV 19.5 keV 8.79 cm 12.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -18.7 um -11.2 cm 1.75 cm 1.09 keV 0 eV 0 fm 0 fm World initStep - 1 -17.6 um -11.2 cm 1.75 cm 713 keV 1.09 keV 64.9 um 64.9 um World eIoni - 2 -12.9 um -18.6 cm 1.74 cm 742 MeV 11 keV 7.42 cm 7.42 cm World eIoni - 3 -13.1 um -20 cm 1.74 cm 879 MeV 3.75 keV 1.37 cm 8.79 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -12.9 um -18.6 cm 1.74 cm 1.96 keV 0 eV 0 fm 0 fm World initStep - 1 -7.38 um -18.6 cm 1.74 cm 1.64 MeV 1.96 keV 150 um 150 um World eIoni - 2 3.34 um -20 cm 1.75 cm 137 MeV 2.01 keV 1.36 cm 1.37 cm OutOfWorldTransportation + 0 22 um -17.5 cm 2.01 cm 2.14 keV 0 eV 0 fm 0 fm World initStep + 1 30.1 um -17.5 cm 2.01 cm 1.88 MeV 2.14 keV 172 um 172 um World eIoni + 2 42.2 um -18.3 cm 2.01 cm 73.9 MeV 1.06 keV 7.2 mm 7.37 mm World eIoni + 3 46.4 um -20 cm 2.01 cm 247 MeV 3.87 keV 1.74 cm 2.47 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -3418,494 +678,57 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.65 mm 7.49 mm 117 MeV 2.53 keV 1.06 cm 1.06 cm World eIoni - 2 1.15 um -13.1 cm 2.02 cm 1.36 GeV 20.8 keV 12.6 cm 13.6 cm World eIoni - 3 564 nm -15.9 cm 2.11 cm 1.64 GeV 7.01 keV 2.72 cm 16.4 cm World eIoni - 4 -885 nm -20 cm 2.22 cm 2.05 GeV 8 keV 4.14 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 564 nm -15.9 cm 2.11 cm 1.28 keV 0 eV 0 fm 0 fm World initStep - 1 5.98 um -15.9 cm 2.11 cm 890 keV 1.28 keV 81 um 81 um World eIoni - 2 24.3 um -20 cm 2.11 cm 414 MeV 6.94 keV 4.13 cm 4.14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.15 um -13.1 cm 2.02 cm 2.12 keV 0 eV 0 fm 0 fm World initStep - 1 9.75 um -13.2 cm 2.02 cm 1.85 MeV 2.12 keV 170 um 170 um World eIoni - 2 19.1 um -13.4 cm 2.02 cm 28.2 MeV 232 eV 2.63 mm 2.8 mm World eIoni - 3 25.7 um -14.8 cm 2.02 cm 169 MeV 2.14 keV 1.41 cm 1.69 cm World eIoni - 4 35.6 um -20 cm 2.02 cm 686 MeV 9.37 keV 5.18 cm 6.86 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 25.7 um -14.8 cm 2.02 cm 1.1 keV 0 eV 0 fm 0 fm World initStep - 1 20.5 um -14.8 cm 2.02 cm 719 keV 1.1 keV 65.4 um 65.4 um World eIoni - 2 3.91 um -16.3 cm 2.02 cm 150 MeV 3.01 keV 1.49 cm 1.5 cm World eIoni - 3 -31 um -20 cm 2.02 cm 518 MeV 5.34 keV 3.68 cm 5.18 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.91 um -16.3 cm 2.02 cm 75.7 keV 0 eV 0 fm 0 fm World initStep - 1 202 um -18.5 cm 2.01 cm 216 MeV 12.1 keV 2.15 cm 2.15 cm World eIoni - 2 215 um -20 cm 2.01 cm 369 MeV 2.47 keV 1.54 cm 3.69 cm OutOfWorldTransportation + 1 0 fm -11.1 um 335 um 50.1 MeV 33.8 eV 335 um 335 um World eIoni + 2 9.54 um -20 cm 2.22 cm 2.05 GeV 36 keV 20.5 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.65 mm 7.49 mm 2.9 keV 0 eV 0 fm 0 fm World initStep - 1 -1.27 um -6.93 mm 7.48 mm 3.04 MeV 2.9 keV 282 um 282 um World eIoni - 2 -2.3 um -9.8 mm 7.47 mm 31.7 MeV 317 eV 2.87 mm 3.15 mm World eIoni - 3 -3.97 um -10.2 cm 7.45 mm 957 MeV 18.7 keV 9.26 cm 9.57 cm World eIoni - 4 -3.59 um -13.5 cm 7.45 mm 1.29 GeV 8.63 keV 3.3 cm 12.9 cm World eIoni - 5 -2.45 um -20 cm 7.45 mm 1.93 GeV 15.8 keV 6.46 cm 19.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.59 um -13.5 cm 7.45 mm 1.13 keV 0 eV 0 fm 0 fm World initStep - 1 -8.73 um -13.5 cm 7.45 mm 743 keV 1.13 keV 67.6 um 67.6 um World eIoni - 2 -29.4 um -20 cm 7.46 mm 646 MeV 10.3 keV 6.45 cm 6.46 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.97 um -10.2 cm 7.45 mm 1.02 keV 0 eV 0 fm 0 fm World initStep - 1 -6.59 um -10.2 cm 7.45 mm 652 keV 1.02 keV 59.3 um 59.3 um World eIoni - 2 -18.8 um -20 cm 7.43 mm 976 MeV 16.3 keV 9.76 cm 9.76 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.94 cm 1.55 cm 544 MeV 9.22 keV 5.42 cm 5.42 cm World eIoni - 2 -1.05 um -7.77 cm 1.76 cm 827 MeV 6.67 keV 2.84 cm 8.26 cm World eIoni - 3 -400 nm -15.4 cm 2.09 cm 1.59 GeV 16.9 keV 7.67 cm 15.9 cm World eIoni - 4 520 nm -19.6 cm 2.21 cm 2.01 GeV 6.16 keV 4.17 cm 20.1 cm World eIoni - 5 668 nm -20 cm 2.22 cm 2.05 GeV 430 eV 4.07 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 520 nm -19.6 cm 2.21 cm 1.28 keV 0 eV 0 fm 0 fm World initStep - 1 -5.3 um -19.6 cm 2.21 cm 891 keV 1.28 keV 81.1 um 81.1 um World eIoni - 2 -17 um -20 cm 2.21 cm 40.8 MeV 287 eV 3.99 mm 4.07 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -400 nm -15.4 cm 2.09 cm 1.12 keV 0 eV 0 fm 0 fm World initStep - 1 -5.08 um -15.4 cm 2.09 cm 742 keV 1.12 keV 67.4 um 67.4 um World eIoni - 2 -23 um -20 cm 2.09 cm 457 MeV 7.24 keV 4.56 cm 4.57 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.05 um -7.77 cm 1.76 cm 1.41 keV 0 eV 0 fm 0 fm World initStep - 1 -7.36 um -7.78 cm 1.76 cm 1.01 MeV 1.41 keV 92.1 um 92.1 um World eIoni - 2 -20.8 um -8.42 cm 1.76 cm 65.6 MeV 789 eV 6.46 mm 6.55 mm World eIoni - 3 -36.2 um -14.1 cm 1.76 cm 631 MeV 11.3 keV 5.66 cm 6.31 cm World eIoni - 4 -36.5 um -14.5 cm 1.76 cm 672 MeV 1.52 keV 4.05 mm 6.72 cm World eIoni - 5 -37.7 um -16 cm 1.76 cm 819 MeV 3.22 keV 1.47 cm 8.19 cm World eIoni - 6 -37.8 um -16 cm 1.76 cm 823 MeV 24.4 eV 443 um 8.23 cm World eIoni - 7 -38.7 um -17 cm 1.76 cm 923 MeV 2.08 keV 1 cm 9.23 cm World eIoni - 8 -40.6 um -20 cm 1.76 cm 1.22 GeV 7.18 keV 3 cm 12.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -38.7 um -17 cm 1.76 cm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 -39.1 um -17 cm 1.76 cm 667 keV 1.04 keV 60.7 um 60.7 um World eIoni - 2 -40.5 um -20 cm 1.76 cm 300 MeV 4.71 keV 2.99 cm 3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -37.8 um -16 cm 1.76 cm 1.25 keV 0 eV 0 fm 0 fm World initStep - 1 -32.7 um -16 cm 1.76 cm 860 keV 1.25 keV 78.2 um 78.2 um World eIoni - 2 -15.8 um -20 cm 1.76 cm 400 MeV 6.26 keV 3.99 cm 4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -37.7 um -16 cm 1.76 cm 1.4 keV 0 eV 0 fm 0 fm World initStep - 1 -39.3 um -16 cm 1.76 cm 1.01 MeV 1.4 keV 91.6 um 91.6 um World eIoni - 2 -44.2 um -20 cm 1.76 cm 404 MeV 5.26 keV 4.03 cm 4.04 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -36.5 um -14.5 cm 1.76 cm 2.3 keV 0 eV 0 fm 0 fm World initStep - 1 -31.3 um -14.5 cm 1.76 cm 2.1 MeV 2.3 keV 193 um 193 um World eIoni - 2 -26.4 um -14.7 cm 1.77 cm 24.7 MeV 384 eV 2.26 mm 2.46 mm World eIoni - 3 -23 um -15.7 cm 1.77 cm 123 MeV 2.64 keV 9.79 mm 1.22 cm World eIoni - 4 -26 um -19.9 cm 1.77 cm 543 MeV 5.73 keV 4.2 cm 5.43 cm World eIoni - 5 -26 um -20 cm 1.77 cm 552 MeV 122 eV 860 um 5.52 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -26 um -19.9 cm 1.77 cm 1.35 keV 0 eV 0 fm 0 fm World initStep - 1 -32 um -19.9 cm 1.77 cm 958 keV 1.35 keV 87.2 um 87.2 um World eIoni - 2 -37.7 um -20 cm 1.77 cm 8.71 MeV 27.6 eV 775 um 862 um OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -23 um -15.7 cm 1.77 cm 5.35 keV 0 eV 0 fm 0 fm World initStep - 1 -5.4 um -15.8 cm 1.77 cm 8.61 MeV 5.35 keV 809 um 809 um World eIoni - 2 -3.06 um -15.9 cm 1.77 cm 15.5 MeV 521 eV 692 um 1.5 mm World eIoni - 3 10.6 um -20 cm 1.77 cm 430 MeV 6.91 keV 4.14 cm 4.29 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -36.2 um -14.1 cm 1.76 cm 1.02 keV 0 eV 0 fm 0 fm World initStep - 1 -40.1 um -14.1 cm 1.76 cm 648 keV 1.02 keV 58.9 um 58.9 um World eIoni - 2 -55.9 um -20 cm 1.76 cm 592 MeV 8.39 keV 5.91 cm 5.92 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -20.8 um -8.42 cm 1.76 cm 1.19 keV 0 eV 0 fm 0 fm World initStep - 1 -15.8 um -8.43 cm 1.76 cm 805 keV 1.19 keV 73.3 um 73.3 um World eIoni - 2 -7.14 um -8.62 cm 1.76 cm 19.6 MeV 193 eV 1.88 mm 1.95 mm World eIoni - 3 4.25 um -14.5 cm 1.76 cm 604 MeV 7.96 keV 5.84 cm 6.04 cm World eIoni - 4 4.47 um -14.7 cm 1.76 cm 625 MeV 1.58 keV 2.16 mm 6.25 cm World eIoni - 5 11.6 um -20 cm 1.76 cm 1.16 GeV 12.4 keV 5.32 cm 11.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.47 um -14.7 cm 1.76 cm 3.71 keV 0 eV 0 fm 0 fm World initStep - 1 -2.46 um -14.7 cm 1.76 cm 513 keV 878 eV 51.5 um 51.5 um World eIoni - 2 -9.65 um -14.7 cm 1.76 cm 3.21 MeV 33.8 eV 270 um 322 um World eIoni - 3 -10.6 um -15.5 cm 1.76 cm 83.6 MeV 1.08 keV 8.04 mm 8.36 mm World eIoni - 4 -11.2 um -20 cm 1.76 cm 532 MeV 9.2 keV 4.49 cm 5.32 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -9.65 um -14.7 cm 1.76 cm 2.97 keV 0 eV 0 fm 0 fm World initStep - 1 -24 um -14.7 cm 1.76 cm 3.17 MeV 2.97 keV 293 um 293 um World eIoni - 2 -35.6 um -15.1 cm 1.76 cm 36.9 MeV 241 eV 3.37 mm 3.67 mm World eIoni - 3 -49.7 um -20 cm 1.76 cm 529 MeV 9 keV 4.93 cm 5.29 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.25 um -14.5 cm 1.76 cm 3.28 keV 0 eV 0 fm 0 fm World initStep - 1 -5.43 um -14.5 cm 1.76 cm 3.74 MeV 3.28 keV 347 um 347 um World eIoni - 2 -11.8 um -14.8 cm 1.76 cm 30.7 MeV 402 eV 2.69 mm 3.04 mm World eIoni - 3 -18.6 um -17.1 cm 1.76 cm 260 MeV 4.57 keV 2.3 cm 2.6 cm World eIoni - 4 -21.3 um -20 cm 1.77 cm 554 MeV 6.95 keV 2.94 cm 5.54 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -18.6 um -17.1 cm 1.76 cm 1.33 keV 0 eV 0 fm 0 fm World initStep - 1 -18 um -17.1 cm 1.76 cm 935 keV 1.33 keV 85.1 um 85.1 um World eIoni - 2 -15.8 um -20 cm 1.76 cm 294 MeV 3.29 keV 2.93 cm 2.94 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.94 cm 1.55 cm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 3.71 um -4.95 cm 1.55 cm 641 keV 1.01 keV 58.2 um 58.2 um World eIoni - 2 20.6 um -12.8 cm 1.55 cm 784 MeV 8.33 keV 7.84 cm 7.84 cm World eIoni - 3 21.2 um -15 cm 1.55 cm 1 GeV 3.69 keV 2.18 cm 10 cm World eIoni - 4 19.4 um -20 cm 1.55 cm 1.51 GeV 8.37 keV 5.04 cm 15.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 21.2 um -15 cm 1.55 cm 5.39 keV 0 eV 0 fm 0 fm World initStep - 1 52.7 um -15 cm 1.55 cm 8.74 MeV 5.39 keV 821 um 821 um World eIoni - 2 62.4 um -15.3 cm 1.55 cm 33.6 MeV 299 eV 2.48 mm 3.3 mm World eIoni - 3 83.9 um -20 cm 1.55 cm 505 MeV 7.96 keV 4.71 cm 5.04 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 40.2 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.75 mm 5.06 mm 77.5 MeV 838 eV 5.95 mm 5.95 mm World eIoni - 2 24.2 um -10.8 cm 1.91 cm 1.13 GeV 22.3 keV 10.6 cm 11.2 cm World eIoni - 3 25.2 um -13.8 cm 2.04 cm 1.43 GeV 5.54 keV 3.06 cm 14.3 cm World eIoni - 4 26.3 um -16.6 cm 2.12 cm 1.71 GeV 5.48 keV 2.76 cm 17.1 cm World eIoni - 5 27.7 um -20 cm 2.22 cm 2.05 GeV 9.94 keV 3.44 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 26.3 um -16.6 cm 2.12 cm 998 eV 0 eV 0 fm 0 fm World initStep - 1 23.2 um -16.6 cm 2.12 cm 633 keV 998 eV 57.6 um 57.6 um World eIoni - 2 11.1 um -20 cm 2.12 cm 344 MeV 5.46 keV 3.43 cm 3.44 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 25.2 um -13.8 cm 2.04 cm 1.12 keV 0 eV 0 fm 0 fm World initStep - 1 22.8 um -13.8 cm 2.04 cm 735 keV 1.12 keV 66.8 um 66.8 um World eIoni - 2 14.6 um -16 cm 2.04 cm 216 MeV 2.62 keV 2.15 cm 2.16 cm World eIoni - 3 9.75 um -19.9 cm 2.04 cm 606 MeV 8.1 keV 3.9 cm 6.06 cm World eIoni - 4 9.7 um -20 cm 2.04 cm 619 MeV 187 eV 1.27 mm 6.19 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 9.75 um -19.9 cm 2.04 cm 1.07 keV 0 eV 0 fm 0 fm World initStep - 1 10.9 um -19.9 cm 2.04 cm 692 keV 1.07 keV 63 um 63 um World eIoni - 2 12.8 um -20 cm 2.04 cm 12.8 MeV 227 eV 1.21 mm 1.28 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.6 um -16 cm 2.04 cm 6.85 keV 0 eV 0 fm 0 fm World initStep - 1 30.4 um -16.1 cm 2.04 cm 12.9 MeV 6.85 keV 1.22 mm 1.22 mm World eIoni - 2 35.7 um -16.7 cm 2.04 cm 70.2 MeV 2.53 keV 5.74 mm 6.95 mm World eIoni - 3 41.3 um -20 cm 2.04 cm 404 MeV 7.37 keV 3.34 cm 4.03 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 24.2 um -10.8 cm 1.91 cm 2.76 keV 0 eV 0 fm 0 fm World initStep - 1 36 um -10.8 cm 1.91 cm 2.8 MeV 2.76 keV 259 um 259 um World eIoni - 2 46.4 um -11.1 cm 1.92 cm 35.2 MeV 299 eV 3.23 mm 3.49 mm World eIoni - 3 59.5 um -16.9 cm 1.92 cm 619 MeV 13.8 keV 5.84 cm 6.19 cm World eIoni - 4 61.1 um -17.5 cm 1.92 cm 678 MeV 1.48 keV 5.86 mm 6.77 cm World eIoni - 5 66.4 um -20 cm 1.92 cm 925 MeV 5.26 keV 2.48 cm 9.25 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 61.1 um -17.5 cm 1.92 cm 1.09 keV 0 eV 0 fm 0 fm World initStep - 1 59.5 um -17.5 cm 1.92 cm 715 keV 1.09 keV 65 um 65 um World eIoni - 2 54 um -20 cm 1.91 cm 248 MeV 5.53 keV 2.47 cm 2.48 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 59.5 um -16.9 cm 1.92 cm 19.1 keV 0 eV 0 fm 0 fm World initStep - 1 -26.6 um -17.2 cm 1.91 cm 32.5 MeV 7.93 keV 3.13 mm 3.13 mm World eIoni - 2 -27.4 um -17.3 cm 1.91 cm 34.8 MeV 139 eV 231 um 3.36 mm World eIoni - 3 -54.8 um -20 cm 1.91 cm 308 MeV 5.17 keV 2.73 cm 3.07 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.75 mm 5.06 mm 24.9 keV 0 eV 0 fm 0 fm World initStep - 1 -69 um -6.83 mm 5.15 mm 43.4 MeV 4.16 keV 4.2 mm 4.2 mm World eIoni - 2 -77.8 um -1.45 cm 5.16 mm 120 MeV 1.96 keV 7.71 mm 1.19 cm World eIoni - 3 -103 um -20 cm 5.2 mm 1.97 GeV 39.9 keV 18.5 cm 19.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.48 cm 1.39 cm 398 MeV 10.2 keV 3.96 cm 3.96 cm World eIoni - 2 4.09 um -17.1 cm 2.14 cm 1.76 GeV 22.2 keV 13.6 cm 17.6 cm World eIoni - 3 4.88 um -20 cm 2.22 cm 2.05 GeV 5.44 keV 2.9 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.09 um -17.1 cm 2.14 cm 1.84 keV 0 eV 0 fm 0 fm World initStep - 1 -1.08 um -17.1 cm 2.14 cm 1.49 MeV 1.84 keV 137 um 137 um World eIoni - 2 -13.4 um -20 cm 2.14 cm 290 MeV 4.12 keV 2.89 cm 2.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.48 cm 1.39 cm 3.3 keV 0 eV 0 fm 0 fm World initStep - 1 -8.46 um -3.52 cm 1.39 cm 3.77 MeV 3.3 keV 350 um 350 um World eIoni - 2 -15.7 um -4.08 cm 1.39 cm 59.6 MeV 1.34 keV 5.58 mm 5.93 mm WorldTransportation - 3 -15.7 um -4.08 cm 1.39 cm 59.6 MeV1.78e-13 eV 0.00091 fm 5.93 mm World eIoni - 4 -25 um -20 cm 1.4 cm 1.65 GeV 33.6 keV 15.9 cm 16.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -15.3 cm 2.09 cm 1.58 GeV 32.1 keV 15.8 cm 15.8 cm World eIoni - 2 8.05 um -20 cm 2.22 cm 2.05 GeV 8.76 keV 4.67 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -15.3 cm 2.09 cm 95.9 keV 0 eV 0 fm 0 fm World initStep - 1 -237 um -17.7 cm 2.09 cm 233 MeV 9.39 keV 2.33 cm 2.33 cm World eIoni - 2 -259 um -20 cm 2.09 cm 468 MeV 3.71 keV 2.34 cm 4.67 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.21 mm 4.57 mm 72.1 MeV 1.66 keV 5.22 mm 5.22 mm World eIoni - 2 -2.29 um -3.84 cm 1.44 cm 434 MeV 8.3 keV 3.79 cm 4.31 cm World eIoni - 3 -9.47 um -10.5 cm 1.91 cm 1.1 GeV 14.8 keV 6.7 cm 11 cm World eIoni - 4 -16.2 um -20 cm 2.22 cm 2.05 GeV 20.6 keV 9.49 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -9.47 um -10.5 cm 1.91 cm 1.09 keV 0 eV 0 fm 0 fm World initStep - 1 -4.61 um -10.5 cm 1.91 cm 711 keV 1.09 keV 64.6 um 64.6 um World eIoni - 2 17 um -20 cm 1.91 cm 949 MeV 15.7 keV 9.48 cm 9.49 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.29 um -3.84 cm 1.44 cm 8.06 keV 0 eV 0 fm 0 fm World initStep - 1 32.5 um -3.98 cm 1.43 cm 15.5 MeV 5.79 keV 1.46 mm 1.46 mm World eIoni - 2 39.4 um -4.28 cm 1.43 cm 45 MeV 532 eV 2.95 mm 4.41 mm World eIoni - 3 50.3 um -6.25 cm 1.43 cm 243 MeV 3.88 keV 1.98 cm 2.42 cm World eIoni - 4 61.7 um -20 cm 1.43 cm 1.62 GeV 28.7 keV 13.7 cm 16.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 50.3 um -6.25 cm 1.43 cm 1.18 keV 0 eV 0 fm 0 fm World initStep - 1 51.3 um -6.26 cm 1.43 cm 789 keV 1.18 keV 71.8 um 71.8 um World eIoni - 2 55 um -13.5 cm 1.43 cm 725 MeV 10.9 keV 7.24 cm 7.25 cm World eIoni - 3 55.4 um -20 cm 1.43 cm 1.37 GeV 11.2 keV 6.5 cm 13.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.21 mm 4.57 mm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 1.72 um -2.27 mm 4.57 mm 669 keV 1.05 keV 61.7 um 61.7 um World eIoni - 2 9.21 um -5.31 cm 4.55 mm 509 MeV 4.65 keV 5.08 cm 5.09 cm World eIoni - 3 10.1 um -10.8 cm 4.55 mm 1.06 GeV 10.4 keV 5.53 cm 10.6 cm World eIoni - 4 11.1 um -13.6 cm 4.55 mm 1.34 GeV 5.11 keV 2.75 cm 13.4 cm World eIoni - 5 11.4 um -15.7 cm 4.55 mm 1.54 GeV 3.68 keV 2.08 cm 15.4 cm World eIoni - 6 11 um -20 cm 4.55 mm 1.98 GeV 10.5 keV 4.33 cm 19.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 11.4 um -15.7 cm 4.55 mm 2.08 keV 0 eV 0 fm 0 fm World initStep - 1 21.7 um -15.7 cm 4.55 mm 1.8 MeV 2.08 keV 165 um 165 um World eIoni - 2 45.1 um -20 cm 4.54 mm 433 MeV 8.66 keV 4.32 cm 4.33 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 11.1 um -13.6 cm 4.55 mm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 14.9 um -13.6 cm 4.55 mm 727 keV 1.11 keV 66.2 um 66.2 um World eIoni - 2 30.4 um -20 cm 4.57 mm 641 MeV 11.2 keV 6.4 cm 6.41 cm OutOfWorldTransportation + 0 0 fm -11.1 um 335 um 5.72 keV 0 eV 0 fm 0 fm World initStep + 1 -10.1 um -893 um 340 um 9.66 MeV 5.72 keV 912 um 912 um World eIoni + 2 -15.8 um -1.35 cm 342 um 136 MeV 1.91 keV 1.26 cm 1.35 cm World eIoni + 3 -20 um -8.8 cm 344 um 881 MeV 16.9 keV 7.46 cm 8.81 cm World eIoni + 4 -20.1 um -9.07 cm 345 um 908 MeV 367 eV 2.68 mm 9.07 cm World eIoni + 5 -22.8 um -19.3 cm 345 um 1.93 GeV 20.3 keV 10.3 cm 19.3 cm World eIoni + 6 -22.8 um -20 cm 345 um 2 GeV 3.13 keV 6.15 mm 20 cm World eIoni + 7 -22.8 um -20 cm 345 um 2 GeV 149 eV 466 um 20 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 10.1 um -10.8 cm 4.55 mm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 4.91 um -10.9 cm 4.55 mm 729 keV 1.11 keV 66.3 um 66.3 um World eIoni - 2 -17.4 um -20 cm 4.55 mm 916 MeV 17.1 keV 9.15 cm 9.15 cm OutOfWorldTransportation + 0 -22.8 um -20 cm 345 um 5.03 keV 0 eV 0 fm 0 fm World initStep + 1 15.8 um -20 cm 319 um 6.89 MeV 2.23 keV 501 um 501 um OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -22.8 um -19.3 cm 345 um 1.78 keV 0 eV 0 fm 0 fm World initStep + 1 -30.8 um -19.4 cm 341 um 1.43 MeV 1.78 keV 130 um 130 um World eIoni + 2 -44.4 um -20 cm 334 um 66.3 MeV 563 eV 6.48 mm 6.61 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -20.1 um -9.07 cm 345 um 1.15 keV 0 eV 0 fm 0 fm World initStep + 1 -19.6 um -9.08 cm 350 um 761 keV 1.15 keV 69.2 um 69.2 um World eIoni + 2 -17.5 um -20 cm 373 um 1.09 GeV 14.8 keV 10.9 cm 10.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -20 um -8.8 cm 344 um 1.2 keV 0 eV 0 fm 0 fm World initStep + 1 -18.2 um -8.81 cm 339 um 814 keV 1.2 keV 74 um 74 um World eIoni + 2 -10.9 um -20 cm 317 um 1.12 GeV 16.2 keV 11.2 cm 11.2 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -3913,28 +736,29 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -15.1 cm 2.08 cm 1.56 GeV 27.7 keV 15.6 cm 15.6 cm World eIoni - 2 -668 nm -17 cm 2.14 cm 1.75 GeV 3.71 keV 1.86 cm 17.5 cm World eIoni - 3 -1.72 um -20 cm 2.22 cm 2.05 GeV 6.45 keV 3.03 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -17 cm 2.14 cm 1.75 GeV 37.6 keV 17.5 cm 17.5 cm World eIoni + 2 -282 nm -18.8 cm 2.19 cm 1.93 GeV 5.73 keV 1.78 cm 19.3 cm World eIoni + 3 -623 nm -20 cm 2.22 cm 2.05 GeV 2.52 keV 1.19 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -668 nm -17 cm 2.14 cm 1.38 keV 0 eV 0 fm 0 fm World initStep - 1 484 nm -17 cm 2.14 cm 991 keV 1.38 keV 90.1 um 90.1 um World eIoni - 2 3.97 um -20 cm 2.14 cm 303 MeV 5.48 keV 3.02 cm 3.03 cm OutOfWorldTransportation + 0 -282 nm -18.8 cm 2.19 cm 3.42 keV 0 eV 0 fm 0 fm World initStep + 1 8.44 um -18.8 cm 2.19 cm 4 MeV 3.42 keV 372 um 372 um World eIoni + 2 14.7 um -19.2 cm 2.19 cm 42.5 MeV 268 eV 3.85 mm 4.22 mm World eIoni + 3 17.6 um -20 cm 2.19 cm 120 MeV 1.38 keV 7.72 mm 1.19 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -15.1 cm 2.08 cm 3.44 keV 0 eV 0 fm 0 fm World initStep - 1 18.6 um -15.1 cm 2.08 cm 4.03 MeV 3.44 keV 375 um 375 um World eIoni - 2 27.2 um -15.3 cm 2.08 cm 18.7 MeV 111 eV 1.47 mm 1.85 mm World eIoni - 3 46.4 um -20 cm 2.08 cm 490 MeV 7.66 keV 4.71 cm 4.89 cm OutOfWorldTransportation + 0 0 fm -17 cm 2.14 cm 1.61 keV 0 eV 0 fm 0 fm World initStep + 1 5.68 um -17 cm 2.14 cm 1.23 MeV 1.61 keV 112 um 112 um World eIoni + 2 13 um -17.2 cm 2.14 cm 20.9 MeV 204 eV 1.97 mm 2.08 mm World eIoni + 3 20.7 um -20 cm 2.14 cm 298 MeV 6.97 keV 2.77 cm 2.98 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -3942,18 +766,2539 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -14.7 cm 2.07 cm 1.52 GeV 26.7 keV 15.2 cm 15.2 cm World eIoni - 2 -1.87 um -20 cm 2.22 cm 2.05 GeV 9.94 keV 5.32 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -2.25 cm 1.2 cm 275 MeV 5.94 keV 2.71 cm 2.71 cm World eIoni + 2 -4.34 um -3.99 cm 1.45 cm 449 MeV 2.26 keV 1.76 cm 4.46 cm World eIoni + 3 -10 um -6.01 cm 1.64 cm 651 MeV 5.27 keV 2.03 cm 6.49 cm World eIoni + 4 -15.5 um -15 cm 2.08 cm 1.55 GeV 17.6 keV 9.03 cm 15.5 cm World eIoni + 5 -17.6 um -20 cm 2.22 cm 2.05 GeV 8.15 keV 4.97 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -15.5 um -15 cm 2.08 cm 4.59 keV 0 eV 0 fm 0 fm World initStep + 1 -12 um -15.1 cm 2.08 cm 6.6 MeV 4.59 keV 618 um 618 um World eIoni + 2 -10.6 um -15.3 cm 2.08 cm 29.3 MeV 413 eV 2.28 mm 2.89 mm World eIoni + 3 -8.5 um -17.7 cm 2.08 cm 268 MeV 4.47 keV 2.38 cm 2.67 cm World eIoni + 4 -11.8 um -20 cm 2.08 cm 498 MeV 4.81 keV 2.3 cm 4.97 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.5 um -17.7 cm 2.08 cm 6.86 keV 0 eV 0 fm 0 fm World initStep + 1 23.2 um -17.8 cm 2.07 cm 12.9 MeV 5.52 keV 1.22 mm 1.22 mm World eIoni + 2 24.4 um -17.8 cm 2.07 cm 15.8 MeV 719 eV 289 um 1.51 mm World eIoni + 3 42.5 um -20 cm 2.07 cm 231 MeV 3.82 keV 2.15 cm 2.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10 um -6.01 cm 1.64 cm 26.1 keV 0 eV 0 fm 0 fm World initStep + 1 -83.1 um -6.44 cm 1.63 cm 45.8 MeV 5.32 keV 4.42 mm 4.42 mm World eIoni + 2 -94.4 um -7.62 cm 1.63 cm 163 MeV 2.16 keV 1.17 cm 1.62 cm World eIoni + 3 -110 um -15.6 cm 1.63 cm 965 MeV 12 keV 8.02 cm 9.63 cm World eIoni + 4 -113 um -20 cm 1.62 cm 1.4 GeV 10.2 keV 4.37 cm 14 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -110 um -15.6 cm 1.63 cm 3.55 keV 0 eV 0 fm 0 fm World initStep + 1 -119 um -15.7 cm 1.63 cm 4.26 MeV 3.55 keV 397 um 397 um World eIoni + 2 -126 um -16.1 cm 1.63 cm 44.5 MeV 440 eV 4.02 mm 4.42 mm World eIoni + 3 -127 um -16.4 cm 1.63 cm 73.6 MeV 283 eV 2.91 mm 7.33 mm World eIoni + 4 -128 um -20 cm 1.63 cm 437 MeV 6.52 keV 3.64 cm 4.37 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -127 um -16.4 cm 1.63 cm 1.14 keV 0 eV 0 fm 0 fm World initStep + 1 -131 um -16.4 cm 1.63 cm 756 keV 1.14 keV 68.8 um 68.8 um World eIoni + 2 -145 um -20 cm 1.63 cm 364 MeV 4.48 keV 3.63 cm 3.64 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.34 um -3.99 cm 1.45 cm 4.68 keV 0 eV 0 fm 0 fm World initStep + 1 21 um -4.05 cm 1.45 cm 6.82 MeV 4.68 keV 639 um 639 um World eIoni + 2 30 um -4.27 cm 1.45 cm 28.8 MeV 150 eV 2.2 mm 2.84 mm World eIoni + 3 56.3 um -20 cm 1.45 cm 1.6 GeV 30.8 keV 15.7 cm 16 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -14.7 cm 2.07 cm 4.71 keV 0 eV 0 fm 0 fm World initStep - 1 24.2 um -14.7 cm 2.07 cm 6.89 MeV 4.71 keV 646 um 646 um World eIoni - 2 30.5 um -14.9 cm 2.07 cm 20 MeV 114 eV 1.31 mm 1.95 mm World eIoni - 3 50.9 um -20 cm 2.07 cm 532 MeV 9.3 keV 5.12 cm 5.32 cm OutOfWorldTransportation + 0 0 fm -2.25 cm 1.2 cm 7.5 keV 0 eV 0 fm 0 fm World initStep + 1 45.7 um -2.38 cm 1.2 cm 14.4 MeV 3.72 keV 1.36 mm 1.36 mm World eIoni + 2 51.6 um -2.53 cm 1.2 cm 28.8 MeV 189 eV 1.45 mm 2.8 mm World eIoni + 3 79.9 um -8.7 cm 1.2 cm 646 MeV 11.4 keV 6.18 cm 6.46 cm World eIoni + 4 87.6 um -20 cm 1.2 cm 1.78 GeV 25.3 keV 11.3 cm 17.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 79.9 um -8.7 cm 1.2 cm 6.24 keV 0 eV 0 fm 0 fm World initStep + 1 85.2 um -8.81 cm 1.21 cm 11.3 MeV 6.24 keV 1.06 mm 1.06 mm World eIoni + 2 88.5 um -11 cm 1.21 cm 230 MeV 3.53 keV 2.19 cm 2.29 cm World eIoni + 3 93.1 um -14.3 cm 1.21 cm 561 MeV 6.64 keV 3.31 cm 5.6 cm World eIoni + 4 93.8 um -17 cm 1.21 cm 826 MeV 4.73 keV 2.65 cm 8.25 cm World eIoni + 5 94.6 um -17.7 cm 1.21 cm 904 MeV 1.69 keV 7.78 mm 9.03 cm World eIoni + 6 97.2 um -20 cm 1.21 cm 1.13 GeV 5.31 keV 2.27 cm 11.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 94.6 um -17.7 cm 1.21 cm 5.72 keV 0 eV 0 fm 0 fm World initStep + 1 77.2 um -17.8 cm 1.21 cm 9.69 MeV 5.72 keV 912 um 912 um World eIoni + 2 70.3 um -18.3 cm 1.21 cm 57.7 MeV 1.46 keV 4.8 mm 5.71 mm World eIoni + 3 65 um -20 cm 1.21 cm 227 MeV 3.48 keV 1.7 cm 2.27 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 93.8 um -17 cm 1.21 cm 7.12 keV 0 eV 0 fm 0 fm World initStep + 1 61.2 um -17.1 cm 1.21 cm 13.5 MeV 5.91 keV 1.28 mm 1.28 mm World eIoni + 2 49.2 um -17.9 cm 1.21 cm 91.5 MeV 1.77 keV 7.8 mm 9.07 mm World eIoni + 3 41.5 um -20 cm 1.2 cm 306 MeV 2.73 keV 2.14 cm 3.05 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 93.1 um -14.3 cm 1.21 cm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 98.2 um -14.3 cm 1.21 cm 697 keV 1.07 keV 63.4 um 63.4 um World eIoni + 2 119 um -20 cm 1.21 cm 570 MeV 10.3 keV 5.69 cm 5.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 88.5 um -11 cm 1.21 cm 1.63 keV 0 eV 0 fm 0 fm World initStep + 1 80.5 um -11 cm 1.21 cm 1.25 MeV 1.63 keV 114 um 114 um World eIoni + 2 63.5 um -12 cm 1.21 cm 101 MeV 2.62 keV 9.93 mm 1 cm World eIoni + 3 51.8 um -20 cm 1.21 cm 901 MeV 18.9 keV 8 cm 9.01 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 63.5 um -12 cm 1.21 cm 1.26 keV 0 eV 0 fm 0 fm World initStep + 1 65.8 um -12 cm 1.21 cm 872 keV 1.26 keV 79.3 um 79.3 um World eIoni + 2 74.5 um -20 cm 1.21 cm 800 MeV 9.77 keV 7.99 cm 8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 42.7 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -15.6 cm 2.1 cm 1.61 GeV 33.5 keV 16.1 cm 16.1 cm World eIoni + 2 546 nm -20 cm 2.22 cm 2.05 GeV 8.88 keV 4.37 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -15.6 cm 2.1 cm 1.87 keV 0 eV 0 fm 0 fm World initStep + 1 -4.9 um -15.6 cm 2.1 cm 1.54 MeV 1.87 keV 140 um 140 um World eIoni + 2 -17.3 um -20 cm 2.1 cm 437 MeV 6.08 keV 4.35 cm 4.37 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -5.57 cm 1.61 cm 607 MeV 13.5 keV 6.06 cm 6.06 cm World eIoni + 2 1.21 um -20 cm 2.22 cm 2.05 GeV 28.9 keV 14.4 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -5.57 cm 1.61 cm 7.72 keV 0 eV 0 fm 0 fm World initStep + 1 -5.24 um -5.71 cm 1.6 cm 14.8 MeV 4.29 keV 1.4 mm 1.4 mm World eIoni + 2 -5.97 um -5.87 cm 1.6 cm 31.1 MeV 214 eV 1.63 mm 3.03 mm World eIoni + 3 -7.76 um -7.45 cm 1.6 cm 188 MeV 2.78 keV 1.57 cm 1.88 cm World eIoni + 4 17.7 um -15.2 cm 1.6 cm 960 MeV 18.6 keV 7.72 cm 9.59 cm World eIoni + 5 23.9 um -20 cm 1.6 cm 1.44 GeV 9.39 keV 4.84 cm 14.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17.7 um -15.2 cm 1.6 cm 2.6 keV 0 eV 0 fm 0 fm World initStep + 1 19.3 um -15.2 cm 1.6 cm 2.56 MeV 2.6 keV 236 um 236 um World eIoni + 2 20.6 um -15.5 cm 1.6 cm 29.3 MeV 20.9 eV 2.67 mm 2.91 mm World eIoni + 3 22.4 um -20 cm 1.6 cm 484 MeV 9.55 keV 4.55 cm 4.84 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.76 um -7.45 cm 1.6 cm 30.7 keV 0 eV 0 fm 0 fm World initStep + 1 -154 um -7.98 cm 1.6 cm 56.2 MeV 4.19 keV 5.45 mm 5.45 mm World eIoni + 2 -183 um -10.6 cm 1.61 cm 316 MeV 5.07 keV 2.59 cm 3.14 cm World eIoni + 3 -205 um -20 cm 1.61 cm 1.26 GeV 18.1 keV 9.42 cm 12.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -19.2 cm 2.2 cm 1.97 GeV 41.2 keV 19.7 cm 19.7 cm World eIoni + 2 -577 nm -20 cm 2.22 cm 2.05 GeV 1.08 keV 7.86 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -19.2 cm 2.2 cm 21.5 keV 0 eV 0 fm 0 fm World initStep + 1 109 um -19.6 cm 2.2 cm 36.8 MeV 6.35 keV 3.55 mm 3.55 mm World eIoni + 2 111 um -19.6 cm 2.2 cm 42.8 MeV 211 eV 602 um 4.15 mm World eIoni + 3 120 um -20 cm 2.2 cm 80.4 MeV 625 eV 3.76 mm 7.91 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -10.1 cm 1.89 cm 1.06 GeV 21.9 keV 10.5 cm 10.5 cm World eIoni + 2 1.49 um -13.4 cm 2.02 cm 1.39 GeV 6.75 keV 3.31 cm 13.8 cm World eIoni + 3 2.37 um -20 cm 2.22 cm 2.05 GeV 10.6 keV 6.65 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.49 um -13.4 cm 2.02 cm 1.61 keV 0 eV 0 fm 0 fm World initStep + 1 7.73 um -13.4 cm 2.02 cm 1.24 MeV 1.61 keV 112 um 112 um World eIoni + 2 24.2 um -16 cm 2.02 cm 265 MeV 3.34 keV 2.64 cm 2.65 cm World eIoni + 3 27.2 um -20 cm 2.02 cm 665 MeV 9.23 keV 3.99 cm 6.65 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -10.1 cm 1.89 cm 3.54 keV 0 eV 0 fm 0 fm World initStep + 1 -17.5 um -10.1 cm 1.89 cm 4.25 MeV 3.54 keV 395 um 395 um World eIoni + 2 -20.5 um -10.1 cm 1.89 cm 7.73 MeV 11 eV 348 um 744 um World eIoni + 3 -47.2 um -20 cm 1.89 cm 995 MeV 17.2 keV 9.88 cm 9.95 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -5.55 cm 1.6 cm 605 MeV 13.8 keV 6.04 cm 6.04 cm World eIoni + 2 1.75 um -9.59 cm 1.86 cm 1.01 GeV 6.81 keV 4.04 cm 10.1 cm World eIoni + 3 1.94 um -18 cm 2.17 cm 1.85 GeV 16.8 keV 8.4 cm 18.5 cm World eIoni + 4 1.53 um -20 cm 2.22 cm 2.05 GeV 3.05 keV 2.02 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.94 um -18 cm 2.17 cm 3.28 keV 0 eV 0 fm 0 fm World initStep + 1 14.7 um -18 cm 2.17 cm 3.73 MeV 3.28 keV 346 um 346 um World eIoni + 2 17.4 um -18.1 cm 2.17 cm 7.49 MeV 0 eV 376 um 723 um World eIoni + 3 31.2 um -20 cm 2.17 cm 202 MeV 2.55 keV 1.94 cm 2.02 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.75 um -9.59 cm 1.86 cm 2.18 keV 0 eV 0 fm 0 fm World initStep + 1 9.06 um -9.6 cm 1.86 cm 1.93 MeV 2.18 keV 177 um 177 um World eIoni + 2 22.7 um -11.3 cm 1.86 cm 168 MeV 3.56 keV 1.66 cm 1.68 cm World eIoni + 3 26.6 um -15.6 cm 1.86 cm 602 MeV 9.23 keV 4.34 cm 6.02 cm World eIoni + 4 27.7 um -16.9 cm 1.86 cm 730 MeV 2.1 keV 1.28 cm 7.3 cm World eIoni + 5 28.2 um -18.1 cm 1.86 cm 854 MeV 1.43 keV 1.24 cm 8.54 cm World eIoni + 6 28.7 um -20 cm 1.86 cm 1.04 GeV 4.5 keV 1.88 cm 10.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 28.2 um -18.1 cm 1.86 cm 2.58 keV 0 eV 0 fm 0 fm World initStep + 1 28.2 um -18.1 cm 1.86 cm 2.52 MeV 2.58 keV 232 um 232 um World eIoni + 2 28.4 um -19.3 cm 1.86 cm 118 MeV 3.05 keV 1.16 cm 1.18 cm World eIoni + 3 28.4 um -20 cm 1.86 cm 188 MeV 1.26 keV 6.94 mm 1.88 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 27.7 um -16.9 cm 1.86 cm 2.6 keV 0 eV 0 fm 0 fm World initStep + 1 34.4 um -16.9 cm 1.86 cm 2.56 MeV 2.6 keV 236 um 236 um World eIoni + 2 38 um -17 cm 1.86 cm 12 MeV 112 eV 945 um 1.18 mm World eIoni + 3 40.8 um -20 cm 1.86 cm 312 MeV 6.05 keV 3 cm 3.12 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 38 um -17 cm 1.86 cm 1.08 keV 0 eV 0 fm 0 fm World initStep + 1 40.6 um -17 cm 1.86 cm 702 keV 1.08 keV 63.9 um 63.9 um World eIoni + 2 48.6 um -18.1 cm 1.86 cm 108 MeV 1.15 keV 1.08 cm 1.08 cm World eIoni + 3 47.4 um -20 cm 1.86 cm 300 MeV 3.07 keV 1.92 cm 3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 48.6 um -18.1 cm 1.86 cm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 53.2 um -18.1 cm 1.86 cm 716 keV 1.09 keV 65.1 um 65.1 um World eIoni + 2 68.5 um -20 cm 1.86 cm 192 MeV 3.9 keV 1.91 cm 1.92 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.6 um -15.6 cm 1.86 cm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 23 um -15.6 cm 1.86 cm 666 keV 1.04 keV 60.6 um 60.6 um World eIoni + 2 8.45 um -20 cm 1.86 cm 440 MeV 6.87 keV 4.39 cm 4.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -5.55 cm 1.6 cm 1.7 keV 0 eV 0 fm 0 fm World initStep + 1 -6.89 um -5.57 cm 1.6 cm 1.33 MeV 1.7 keV 121 um 121 um World eIoni + 2 -29.1 um -16.1 cm 1.6 cm 1.05 GeV 13.2 keV 10.5 cm 10.5 cm World eIoni + 3 -29 um -20 cm 1.6 cm 1.44 GeV 7.1 keV 3.91 cm 14.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -29.1 um -16.1 cm 1.6 cm 1.73 keV 0 eV 0 fm 0 fm World initStep + 1 -37.4 um -16.1 cm 1.6 cm 1.36 MeV 1.73 keV 124 um 124 um World eIoni + 2 -59.5 um -20 cm 1.6 cm 391 MeV 4.82 keV 3.9 cm 3.91 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -8.07 cm 1.78 cm 857 MeV 18.5 keV 8.56 cm 8.56 cm World eIoni + 2 -4.96 um -20 cm 2.22 cm 2.05 GeV 25.8 keV 11.9 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -8.07 cm 1.78 cm 3.17 keV 0 eV 0 fm 0 fm World initStep + 1 17 um -8.1 cm 1.78 cm 3.53 MeV 3.17 keV 327 um 327 um World eIoni + 2 29.7 um -8.44 cm 1.78 cm 37 MeV 362 eV 3.34 mm 3.67 mm World eIoni + 3 43.9 um -12.2 cm 1.78 cm 412 MeV 5.5 keV 3.75 cm 4.12 cm World eIoni + 4 51.4 um -18.5 cm 1.78 cm 1.05 GeV 11.8 keV 6.33 cm 10.5 cm World eIoni + 5 51.6 um -20 cm 1.78 cm 1.19 GeV 2.32 keV 1.48 cm 11.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 51.4 um -18.5 cm 1.78 cm 5.46 keV 0 eV 0 fm 0 fm World initStep + 1 80.7 um -18.6 cm 1.78 cm 8.94 MeV 5.46 keV 841 um 841 um World eIoni + 2 81 um -18.6 cm 1.78 cm 9.29 MeV 5.79 eV 35 um 876 um World eIoni + 3 100 um -20 cm 1.78 cm 148 MeV 1.37 keV 1.39 cm 1.48 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 43.9 um -12.2 cm 1.78 cm 1.31 keV 0 eV 0 fm 0 fm World initStep + 1 39.8 um -12.2 cm 1.78 cm 912 keV 1.31 keV 82.9 um 82.9 um World eIoni + 2 24.8 um -20 cm 1.78 cm 781 MeV 12.1 keV 7.8 cm 7.81 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -14.9 cm 2.08 cm 1.54 GeV 30.3 keV 15.4 cm 15.4 cm World eIoni + 2 954 nm -20 cm 2.22 cm 2.05 GeV 10.7 keV 5.1 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -14.9 cm 2.08 cm 1.93 keV 0 eV 0 fm 0 fm World initStep + 1 -7.29 um -14.9 cm 2.08 cm 1.61 MeV 1.93 keV 147 um 147 um World eIoni + 2 -25.8 um -20 cm 2.07 cm 510 MeV 6.84 keV 5.08 cm 5.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -4.34 mm 6.22 mm 93.3 MeV 939 eV 7.91 mm 7.91 mm World eIoni + 2 37 um -20 cm 2.22 cm 2.05 GeV 47.5 keV 19.7 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -4.34 mm 6.22 mm 14.3 keV 0 eV 0 fm 0 fm World initStep + 1 -74 um -6.68 mm 6.24 mm 24.9 MeV 5.36 keV 2.39 mm 2.39 mm World eIoni + 2 -93 um -1.7 cm 6.24 mm 128 MeV 2.02 keV 1.03 cm 1.27 cm World eIoni + 3 -113 um -7.29 cm 6.25 mm 687 MeV 12.6 keV 5.59 cm 6.86 cm World eIoni + 4 -129 um -20 cm 6.25 mm 1.96 GeV 28.3 keV 12.7 cm 19.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -113 um -7.29 cm 6.25 mm 1.38 keV 0 eV 0 fm 0 fm World initStep + 1 -106 um -7.3 cm 6.25 mm 991 keV 1.38 keV 90.2 um 90.2 um World eIoni + 2 -81.6 um -20 cm 6.26 mm 1.27 GeV 19.7 keV 12.7 cm 12.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.11 cm 1.34 cm 361 MeV 8.88 keV 3.58 cm 3.58 cm World eIoni + 2 5.71 um -8.82 cm 1.82 cm 932 MeV 11.6 keV 5.74 cm 9.31 cm World eIoni + 3 4.52 um -16 cm 2.11 cm 1.65 GeV 17.5 keV 7.21 cm 16.5 cm World eIoni + 4 4.8 um -20 cm 2.22 cm 2.05 GeV 6.36 keV 3.98 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.52 um -16 cm 2.11 cm 1.17 keV 0 eV 0 fm 0 fm World initStep + 1 -937 nm -16 cm 2.11 cm 780 keV 1.17 keV 70.9 um 70.9 um World eIoni + 2 -20.7 um -20 cm 2.11 cm 398 MeV 4.09 keV 3.97 cm 3.98 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.71 um -8.82 cm 1.82 cm 23.6 keV 0 eV 0 fm 0 fm World initStep + 1 29 um -8.86 cm 1.83 cm 4.21 MeV 330 eV 420 um 420 um World eIoni + 2 73 um -20 cm 1.83 cm 1.12 GeV 19.3 keV 11.1 cm 11.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.11 cm 1.34 cm 12.9 keV 0 eV 0 fm 0 fm World initStep + 1 -36.9 um -3.32 cm 1.35 cm 22.8 MeV 5.95 keV 2.19 mm 2.19 mm World eIoni + 2 -46.4 um -4.23 cm 1.35 cm 113 MeV 1.79 keV 9.03 mm 1.12 cm World eIoni + 3 -52.7 um -6.36 cm 1.35 cm 327 MeV 5.41 keV 2.14 cm 3.26 cm World eIoni + 4 -59.1 um -11.7 cm 1.35 cm 857 MeV 12.5 keV 5.3 cm 8.56 cm World eIoni + 5 -59.5 um -14.3 cm 1.35 cm 1.12 GeV 6.42 keV 2.66 cm 11.2 cm World eIoni + 6 -58.4 um -20 cm 1.35 cm 1.69 GeV 11.5 keV 5.68 cm 16.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.5 um -14.3 cm 1.35 cm 18.7 keV 0 eV 0 fm 0 fm World initStep + 1 -91.7 um -14.6 cm 1.34 cm 31.9 MeV 5.25 keV 3.07 mm 3.07 mm World eIoni + 2 -93.5 um -14.8 cm 1.34 cm 47.9 MeV 155 eV 1.6 mm 4.67 mm World eIoni + 3 -105 um -20 cm 1.34 cm 570 MeV 9.12 keV 5.22 cm 5.69 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.1 um -11.7 cm 1.35 cm 2.21 keV 0 eV 0 fm 0 fm World initStep + 1 -70.3 um -11.7 cm 1.35 cm 1.97 MeV 2.21 keV 181 um 181 um World eIoni + 2 -88.6 um -12.7 cm 1.35 cm 109 MeV 798 eV 1.07 cm 1.08 cm World eIoni + 3 -94.2 um -13.6 cm 1.35 cm 199 MeV 2.05 keV 9.01 mm 1.98 cm World eIoni + 4 -100 um -18.2 cm 1.35 cm 657 MeV 11.8 keV 4.59 cm 6.57 cm World eIoni + 5 -105 um -20 cm 1.35 cm 834 MeV 3.56 keV 1.77 cm 8.34 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -100 um -18.2 cm 1.35 cm 22.9 keV 0 eV 0 fm 0 fm World initStep + 1 16.2 um -18.6 cm 1.35 cm 39.5 MeV 4.18 keV 3.81 mm 3.81 mm World eIoni + 2 32.3 um -19.4 cm 1.35 cm 114 MeV 1.28 keV 7.47 mm 1.13 cm World eIoni + 3 39.1 um -20 cm 1.35 cm 179 MeV 551 eV 6.45 mm 1.77 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94.2 um -13.6 cm 1.35 cm 1.92 keV 0 eV 0 fm 0 fm World initStep + 1 -103 um -13.7 cm 1.35 cm 1.59 MeV 1.92 keV 146 um 146 um World eIoni + 2 -124 um -15.9 cm 1.35 cm 222 MeV 4.23 keV 2.21 cm 2.22 cm World eIoni + 3 -128 um -19.2 cm 1.35 cm 555 MeV 7.45 keV 3.33 cm 5.55 cm World eIoni + 4 -128 um -20 cm 1.35 cm 636 MeV 3.55 keV 8.04 mm 6.36 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -128 um -19.2 cm 1.35 cm 1.16 keV 0 eV 0 fm 0 fm World initStep + 1 -122 um -19.2 cm 1.35 cm 775 keV 1.16 keV 70.5 um 70.5 um World eIoni + 2 -108 um -20 cm 1.35 cm 80.5 MeV 1.25 keV 7.97 mm 8.04 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -124 um -15.9 cm 1.35 cm 994 eV 0 eV 0 fm 0 fm World initStep + 1 -124 um -15.9 cm 1.35 cm 630 keV 994 eV 57.3 um 57.3 um World eIoni + 2 -123 um -17.3 cm 1.35 cm 147 MeV 2.84 keV 1.46 cm 1.47 cm World eIoni + 3 -123 um -18.6 cm 1.35 cm 274 MeV 4.21 keV 1.27 cm 2.74 cm World eIoni + 4 -122 um -20 cm 1.35 cm 414 MeV 2.84 keV 1.4 cm 4.14 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -123 um -18.6 cm 1.35 cm 1.03 keV 0 eV 0 fm 0 fm World initStep + 1 -128 um -18.6 cm 1.35 cm 657 keV 1.03 keV 59.7 um 59.7 um World eIoni + 2 -143 um -20 cm 1.35 cm 140 MeV 2.27 keV 1.39 cm 1.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -88.6 um -12.7 cm 1.35 cm 4.98 keV 0 eV 0 fm 0 fm World initStep + 1 -70.4 um -12.8 cm 1.35 cm 7.61 MeV 4.98 keV 714 um 714 um World eIoni + 2 -58.4 um -13.9 cm 1.35 cm 117 MeV 994 eV 1.09 cm 1.17 cm World eIoni + 3 -50.1 um -20 cm 1.35 cm 726 MeV 11.2 keV 6.09 cm 7.26 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52.7 um -6.36 cm 1.35 cm 1.78 keV 0 eV 0 fm 0 fm World initStep + 1 -51.6 um -6.37 cm 1.35 cm 1.43 MeV 1.78 keV 130 um 130 um World eIoni + 2 -49 um -7.9 cm 1.35 cm 154 MeV 1.52 keV 1.53 cm 1.54 cm World eIoni + 3 -55.9 um -13.3 cm 1.35 cm 693 MeV 13.8 keV 5.39 cm 6.93 cm World eIoni + 4 -56 um -16.6 cm 1.35 cm 1.03 GeV 7.44 keV 3.36 cm 10.3 cm World eIoni + 5 -54 um -18.7 cm 1.35 cm 1.24 GeV 3.04 keV 2.08 cm 12.4 cm World eIoni + 6 -53.3 um -20 cm 1.35 cm 1.36 GeV 2.93 keV 1.27 cm 13.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -54 um -18.7 cm 1.35 cm 1.94 keV 0 eV 0 fm 0 fm World initStep + 1 -52.2 um -18.7 cm 1.35 cm 1.63 MeV 1.94 keV 149 um 149 um World eIoni + 2 -48.8 um -20 cm 1.35 cm 127 MeV 747 eV 1.25 cm 1.27 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -56 um -16.6 cm 1.35 cm 12.1 keV 0 eV 0 fm 0 fm World initStep + 1 -93.9 um -16.7 cm 1.35 cm 6.44 MeV 2.43 keV 626 um 626 um World eIoni + 2 -136 um -20 cm 1.35 cm 336 MeV 5.42 keV 3.29 cm 3.35 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -55.9 um -13.3 cm 1.35 cm 1.81 keV 0 eV 0 fm 0 fm World initStep + 1 -64.9 um -13.3 cm 1.35 cm 1.47 MeV 1.81 keV 134 um 134 um World eIoni + 2 -90.2 um -20 cm 1.35 cm 671 MeV 8.5 keV 6.7 cm 6.71 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -49 um -7.9 cm 1.35 cm 4.55 keV 0 eV 0 fm 0 fm World initStep + 1 -32.9 um -7.94 cm 1.35 cm 4.29 MeV 1.95 keV 404 um 404 um World eIoni + 2 -7.89 um -13.7 cm 1.34 cm 578 MeV 6.8 keV 5.73 cm 5.77 cm World eIoni + 3 -7.51 um -15.7 cm 1.34 cm 784 MeV 4.58 keV 2.07 cm 7.84 cm World eIoni + 4 -8.26 um -20 cm 1.34 cm 1.21 GeV 10.6 keV 4.26 cm 12.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.51 um -15.7 cm 1.34 cm 1.24 keV 0 eV 0 fm 0 fm World initStep + 1 -1.85 um -15.7 cm 1.34 cm 853 keV 1.24 keV 77.6 um 77.6 um World eIoni + 2 18.1 um -19.9 cm 1.34 cm 413 MeV 3.44 keV 4.13 cm 4.13 cm World eIoni + 3 18.1 um -20 cm 1.34 cm 426 MeV 281 eV 1.27 mm 4.26 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 18.1 um -19.9 cm 1.34 cm 13.7 keV 0 eV 0 fm 0 fm World initStep + 1 37.3 um -19.9 cm 1.34 cm 5.99 MeV 799 eV 585 um 585 um World eIoni + 2 39.6 um -20 cm 1.34 cm 12.9 MeV 117 eV 696 um 1.28 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.3 um -19.9 cm 1.34 cm 1.92 keV 0 eV 0 fm 0 fm World initStep + 1 42.8 um -19.9 cm 1.34 cm 1.59 MeV 1.92 keV 146 um 146 um World eIoni + 2 45.6 um -20 cm 1.34 cm 7.12 MeV 86.3 eV 553 um 698 um OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.89 um -13.7 cm 1.34 cm 3.15 keV 0 eV 0 fm 0 fm World initStep + 1 3.56 um -13.7 cm 1.34 cm 3.49 MeV 3.15 keV 323 um 323 um World eIoni + 2 16.6 um -14.8 cm 1.35 cm 113 MeV 1.94 keV 1.1 cm 1.13 cm World eIoni + 3 22.4 um -18.8 cm 1.35 cm 517 MeV 8.6 keV 4.03 cm 5.16 cm World eIoni + 4 23.3 um -20 cm 1.35 cm 633 MeV 2.97 keV 1.16 cm 6.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 18 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.4 um -18.8 cm 1.35 cm 1.57 keV 0 eV 0 fm 0 fm World initStep + 1 17.4 um -18.8 cm 1.35 cm 1.18 MeV 1.57 keV 108 um 108 um World eIoni + 2 6.14 um -20 cm 1.35 cm 116 MeV 1.45 keV 1.15 cm 1.16 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -8.11 cm 1.78 cm 814 MeV 16.2 keV 8.6 cm 8.6 cm World eBrem + 2 34.3 nm -13.7 cm 2.03 cm 1.38 GeV 13.4 keV 5.63 cm 14.2 cm World eIoni + 3 1.77 um -20 cm 2.21 cm 2 GeV 13.4 keV 6.27 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 34.3 nm -13.7 cm 2.03 cm 2.66 keV 0 eV 0 fm 0 fm World initStep + 1 -12.1 um -13.8 cm 2.03 cm 2.65 MeV 2.66 keV 245 um 245 um World eIoni + 2 -21.8 um -14 cm 2.03 cm 25.7 MeV 125 eV 2.31 mm 2.55 mm World eIoni + 3 -33.1 um -20 cm 2.03 cm 627 MeV 10.7 keV 6.01 cm 6.26 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -21.8 um -14 cm 2.03 cm 1.24 keV 0 eV 0 fm 0 fm World initStep + 1 -23.5 um -14 cm 2.03 cm 853 keV 1.24 keV 77.6 um 77.6 um World eIoni + 2 -29.9 um -20 cm 2.03 cm 601 MeV 8.31 keV 6 cm 6.01 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -8.11 cm 1.78 cm 46.6 MeV 0 eV 0 fm 0 fm World initStep + 1 -1.67 um -20 cm 2.48 cm 46.6 MeV 0 eV 11.9 cm 11.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.68 cm 1.42 cm 418 MeV 8.03 keV 4.15 cm 4.15 cm World eIoni + 2 -2.6 um -9.85 cm 1.88 cm 1.04 GeV 9.8 keV 6.19 cm 10.3 cm World eIoni + 3 -1.49 um -20 cm 2.22 cm 2.05 GeV 21.2 keV 10.2 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.6 um -9.85 cm 1.88 cm 3.26 keV 0 eV 0 fm 0 fm World initStep + 1 -16.3 um -9.88 cm 1.88 cm 3.69 MeV 3.26 keV 343 um 343 um World eIoni + 2 -25.6 um -10.2 cm 1.88 cm 32.8 MeV 258 eV 2.91 mm 3.26 mm World eIoni + 3 -30.5 um -10.8 cm 1.88 cm 96.8 MeV 1.69 keV 6.39 mm 9.65 mm World eIoni + 4 -26.7 um -18.1 cm 1.88 cm 823 MeV 16 keV 7.27 cm 8.23 cm World eIoni + 5 -27.1 um -20 cm 1.88 cm 1.02 GeV 4.82 keV 1.92 cm 10.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -26.7 um -18.1 cm 1.88 cm 2.53 keV 0 eV 0 fm 0 fm World initStep + 1 -16.4 um -18.1 cm 1.88 cm 2.45 MeV 2.53 keV 225 um 225 um World eIoni + 2 -1.17 um -19.3 cm 1.88 cm 125 MeV 1.27 keV 1.23 cm 1.25 cm World eIoni + 3 1.1 um -20 cm 1.88 cm 192 MeV 1.09 keV 6.69 mm 1.92 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.17 um -19.3 cm 1.88 cm 2.35 keV 0 eV 0 fm 0 fm World initStep + 1 -4.48 um -19.4 cm 1.88 cm 2.17 MeV 2.35 keV 200 um 200 um World eIoni + 2 -8.83 um -20 cm 1.87 cm 67.1 MeV 641 eV 6.49 mm 6.69 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -30.5 um -10.8 cm 1.88 cm 3.86 keV 0 eV 0 fm 0 fm World initStep + 1 -51.5 um -10.9 cm 1.88 cm 4.91 MeV 3.86 keV 458 um 458 um World eIoni + 2 -65.6 um -11.3 cm 1.88 cm 52.3 MeV 191 eV 4.74 mm 5.2 mm World eIoni + 3 -78.6 um -15 cm 1.88 cm 417 MeV 6.15 keV 3.64 cm 4.16 cm World eIoni + 4 -85.4 um -18.6 cm 1.88 cm 781 MeV 7.76 keV 3.64 cm 7.8 cm World eIoni + 5 -85.5 um -18.7 cm 1.88 cm 793 MeV 114 eV 1.23 mm 7.93 cm World eIoni + 6 -86.5 um -20 cm 1.88 cm 919 MeV 604 eV 1.26 cm 9.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -85.5 um -18.7 cm 1.88 cm 1.02 keV 0 eV 0 fm 0 fm World initStep + 1 -80.7 um -18.7 cm 1.88 cm 651 keV 1.02 keV 59.2 um 59.2 um World eIoni + 2 -65.2 um -20 cm 1.88 cm 126 MeV 1.81 keV 1.25 cm 1.26 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -85.4 um -18.6 cm 1.88 cm 1.17 keV 0 eV 0 fm 0 fm World initStep + 1 -90.7 um -18.6 cm 1.88 cm 786 keV 1.17 keV 71.5 um 71.5 um World eIoni + 2 -106 um -20 cm 1.88 cm 138 MeV 1.1 keV 1.38 cm 1.38 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -78.6 um -15 cm 1.88 cm 2.05 keV 0 eV 0 fm 0 fm World initStep + 1 -68.2 um -15 cm 1.88 cm 1.77 MeV 2.05 keV 162 um 162 um World eIoni + 2 -49.1 um -16.3 cm 1.88 cm 129 MeV 1.59 keV 1.27 cm 1.29 cm World eIoni + 3 -43.3 um -20 cm 1.88 cm 502 MeV 8.32 keV 3.73 cm 5.02 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.68 cm 1.42 cm 1.34 keV 0 eV 0 fm 0 fm World initStep + 1 4.99 um -3.69 cm 1.42 cm 946 keV 1.34 keV 86.3 um 86.3 um World eIoni + 2 25 um -20 cm 1.41 cm 1.63 GeV 23.9 keV 16.3 cm 16.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -6.95 mm 7.63 mm 119 MeV 1.74 keV 1.09 cm 1.09 cm World eIoni + 2 -8.58 um -10.3 cm 1.9 cm 1.08 GeV 19.2 keV 9.67 cm 10.8 cm World eIoni + 3 -11.1 um -18.1 cm 2.17 cm 1.86 GeV 15.4 keV 7.81 cm 18.6 cm World eIoni + 4 -12.1 um -20 cm 2.22 cm 2.05 GeV 2.45 keV 1.93 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11.1 um -18.1 cm 2.17 cm 83.2 keV 0 eV 0 fm 0 fm World initStep + 1 30.5 um -20 cm 2.15 cm 194 MeV 11.5 keV 1.94 cm 1.94 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.58 um -10.3 cm 1.9 cm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 -7.46 um -10.3 cm 1.9 cm 680 keV 1.05 keV 61.7 um 61.7 um World eIoni + 2 -2.48 um -20 cm 1.9 cm 973 MeV 15.9 keV 9.73 cm 9.73 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -6.95 mm 7.63 mm 1.52 keV 0 eV 0 fm 0 fm World initStep + 1 7.28 um -7.05 mm 7.63 mm 1.14 MeV 1.52 keV 103 um 103 um World eIoni + 2 33.4 um -13.8 cm 7.64 mm 1.31 GeV 20.2 keV 13.1 cm 13.1 cm World eIoni + 3 33.5 um -14 cm 7.64 mm 1.33 GeV 135 eV 2.04 mm 13.3 cm World eIoni + 4 33.2 um -19.6 cm 7.64 mm 1.89 GeV 10.9 keV 5.63 cm 18.9 cm World eIoni + 5 33.2 um -20 cm 7.64 mm 1.93 GeV 533 eV 3.6 mm 19.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 33.2 um -19.6 cm 7.64 mm 1.41 keV 0 eV 0 fm 0 fm World initStep + 1 38.8 um -19.6 cm 7.63 mm 1.02 MeV 1.41 keV 92.4 um 92.4 um World eIoni + 2 48.8 um -20 cm 7.63 mm 36.1 MeV 1.25 keV 3.51 mm 3.6 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 33.5 um -14 cm 7.64 mm 2.21 keV 0 eV 0 fm 0 fm World initStep + 1 42.4 um -14 cm 7.65 mm 1.98 MeV 2.21 keV 182 um 182 um World eIoni + 2 60.6 um -16.7 cm 7.66 mm 264 MeV 4.32 keV 2.62 cm 2.64 cm World eIoni + 3 61.9 um -17.7 cm 7.66 mm 371 MeV 1.04 keV 1.07 cm 3.71 cm World eIoni + 4 60.2 um -20 cm 7.66 mm 599 MeV 6.22 keV 2.28 cm 5.99 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 61.9 um -17.7 cm 7.66 mm 6.1 keV 0 eV 0 fm 0 fm World initStep + 1 83.7 um -17.8 cm 7.65 mm 4.05 MeV 1.47 keV 387 um 387 um World eIoni + 2 111 um -20 cm 7.64 mm 228 MeV 4.78 keV 2.24 cm 2.28 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 33.4 um -13.8 cm 7.64 mm 1.68 keV 0 eV 0 fm 0 fm World initStep + 1 34.8 um -13.8 cm 7.65 mm 1.3 MeV 1.68 keV 119 um 119 um World eIoni + 2 37.1 um -14.2 cm 7.66 mm 42 MeV 443 eV 4.07 mm 4.19 mm World eIoni + 3 50.6 um -20 cm 7.67 mm 619 MeV 12 keV 5.77 cm 6.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.1 um -14.2 cm 7.66 mm 1.78 keV 0 eV 0 fm 0 fm World initStep + 1 28.6 um -14.2 cm 7.66 mm 1.43 MeV 1.78 keV 130 um 130 um World eIoni + 2 5.08 um -20 cm 7.65 mm 577 MeV 8.61 keV 5.76 cm 5.77 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.56 cm 1.86 cm 980 MeV 21.5 keV 10.1 cm 10.1 cm World eIoni + 2 -36.4 um -13.3 cm 2.04 cm 1.36 GeV 8.07 keV 3.78 cm 13.8 cm World eIoni + 3 -81.2 um -20 cm 2.25 cm 2.02 GeV 12.4 keV 6.66 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -36.4 um -13.3 cm 2.04 cm 1.15 keV 0 eV 0 fm 0 fm World initStep + 1 -35.6 um -13.3 cm 2.04 cm 765 keV 1.15 keV 69.7 um 69.7 um World eIoni + 2 -32.4 um -20 cm 2.04 cm 666 MeV 9.11 keV 6.65 cm 6.66 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.56 cm 1.86 cm 26 MeV 0 eV 0 fm 0 fm World initStep + 1 160 um -10.4 cm 1.81 cm 110 MeV 828 eV 8.42 mm 8.42 mm World eIoni + 2 422 um -20 cm 1.73 cm 1.07 GeV 18.4 keV 9.6 cm 10.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 160 um -10.4 cm 1.81 cm 1.47 keV 0 eV 0 fm 0 fm World initStep + 1 153 um -10.4 cm 1.81 cm 1.08 MeV 1.47 keV 98 um 98 um World eIoni + 2 128 um -20 cm 1.81 cm 960 MeV 13.3 keV 9.59 cm 9.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -7.69 mm 7.96 mm 127 MeV 2.35 keV 1.17 cm 1.17 cm World eIoni + 2 -13.6 um -20 cm 2.22 cm 2.05 GeV 35.9 keV 19.3 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -7.69 mm 7.96 mm 6.23 keV 0 eV 0 fm 0 fm World initStep + 1 23 um -8.73 mm 7.99 mm 11.2 MeV 6.23 keV 1.06 mm 1.06 mm World eIoni + 2 35.7 um -2.37 cm 8.01 mm 161 MeV 3.54 keV 1.5 cm 1.6 cm World eIoni + 3 41.7 um -6.42 cm 8.02 mm 566 MeV 7.05 keV 4.05 cm 5.65 cm World eIoni + 4 39.3 um -16.1 cm 8.02 mm 1.54 GeV 15.6 keV 9.71 cm 15.4 cm World eIoni + 5 38.8 um -20 cm 8.02 mm 1.92 GeV 8.63 keV 3.87 cm 19.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 39.3 um -16.1 cm 8.02 mm 4.57 keV 0 eV 0 fm 0 fm World initStep + 1 37.1 um -16.2 cm 7.99 mm 6.56 MeV 4.57 keV 615 um 615 um World eIoni + 2 35.6 um -17.1 cm 7.98 mm 96.4 MeV 1.06 keV 8.98 mm 9.6 mm World eIoni + 3 34.8 um -20 cm 7.97 mm 388 MeV 9.05 keV 2.91 cm 3.87 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 41.7 um -6.42 cm 8.02 mm 5.59 keV 0 eV 0 fm 0 fm World initStep + 1 73.8 um -6.51 cm 8.02 mm 9.3 MeV 5.59 keV 874 um 874 um World eIoni + 2 90.7 um -7.4 cm 8.03 mm 98.6 MeV 804 eV 8.93 mm 9.81 mm World eIoni + 3 110 um -20 cm 8.03 mm 1.36 GeV 26.8 keV 12.6 cm 13.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.09 cm 1.84 cm 959 MeV 18.2 keV 9.58 cm 9.58 cm World eIoni + 2 -5.96 um -20 cm 2.22 cm 2.05 GeV 24.2 keV 10.9 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.09 cm 1.84 cm 11.2 keV 0 eV 0 fm 0 fm World initStep + 1 46.5 um -9.28 cm 1.84 cm 20.5 MeV 6.06 keV 1.95 mm 1.95 mm World eIoni + 2 55.1 um -9.7 cm 1.84 cm 62.3 MeV 709 eV 4.18 mm 6.13 mm World eIoni + 3 67.5 um -12.1 cm 1.84 cm 305 MeV 4.96 keV 2.42 cm 3.04 cm World eIoni + 4 86.9 um -20 cm 1.84 cm 1.09 GeV 16.3 keV 7.87 cm 10.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 67.5 um -12.1 cm 1.84 cm 6.56 keV 0 eV 0 fm 0 fm World initStep + 1 31.8 um -12.2 cm 1.85 cm 12.2 MeV 6.56 keV 1.15 mm 1.15 mm World eIoni + 2 23.7 um -12.5 cm 1.85 cm 38.2 MeV 380 eV 2.6 mm 3.75 mm World eIoni + 3 2.3 um -20 cm 1.85 cm 788 MeV 11.8 keV 7.5 cm 7.88 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.88 cm 1.31 cm 338 MeV 7.39 keV 3.35 cm 3.35 cm World eIoni + 2 661 nm -3.31 cm 1.37 cm 381 MeV 908 eV 4.35 mm 3.79 cm World eIoni + 3 2.18 um -7.49 cm 1.74 cm 799 MeV 8.82 keV 4.19 cm 7.98 cm World eIoni + 4 2.54 um -17.3 cm 2.15 cm 1.78 GeV 22.8 keV 9.8 cm 17.8 cm World eIoni + 5 3.78 um -20 cm 2.22 cm 2.05 GeV 5.62 keV 2.72 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.54 um -17.3 cm 2.15 cm 8.75 keV 0 eV 0 fm 0 fm World initStep + 1 -43 um -17.4 cm 2.15 cm 16.7 MeV 4.65 keV 1.58 mm 1.58 mm World eIoni + 2 -53.4 um -17.9 cm 2.15 cm 59.6 MeV 875 eV 4.3 mm 5.88 mm World eIoni + 3 -66 um -20 cm 2.15 cm 273 MeV 4.67 keV 2.14 cm 2.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.18 um -7.49 cm 1.74 cm 1.29 keV 0 eV 0 fm 0 fm World initStep + 1 4.9 um -7.5 cm 1.74 cm 896 keV 1.29 keV 81.7 um 81.7 um World eIoni + 2 15.8 um -20 cm 1.74 cm 1.25 GeV 20.1 keV 12.5 cm 12.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 661 nm -3.31 cm 1.37 cm 1.53 keV 0 eV 0 fm 0 fm World initStep + 1 7.1 um -3.32 cm 1.37 cm 1.14 MeV 1.53 keV 104 um 104 um World eIoni + 2 21.1 um -4.19 cm 1.37 cm 87.3 MeV 791 eV 8.62 mm 8.72 mm World eIoni + 3 29.6 um -11 cm 1.37 cm 771 MeV 13.6 keV 6.84 cm 7.71 cm World eIoni + 4 31.8 um -15.3 cm 1.37 cm 1.2 GeV 9.99 keV 4.32 cm 12 cm World eIoni + 5 34.7 um -20 cm 1.37 cm 1.67 GeV 9.93 keV 4.65 cm 16.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 31.8 um -15.3 cm 1.37 cm 1.8 keV 0 eV 0 fm 0 fm World initStep + 1 23.4 um -15.4 cm 1.37 cm 1.44 MeV 1.8 keV 132 um 132 um World eIoni + 2 968 nm -20 cm 1.37 cm 465 MeV 6.52 keV 4.64 cm 4.65 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.6 um -11 cm 1.37 cm 1.14 keV 0 eV 0 fm 0 fm World initStep + 1 27.5 um -11 cm 1.37 cm 759 keV 1.14 keV 69 um 69 um World eIoni + 2 19 um -20 cm 1.37 cm 897 MeV 13.4 keV 8.97 cm 8.97 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 21.1 um -4.19 cm 1.37 cm 1.6 keV 0 eV 0 fm 0 fm World initStep + 1 20.3 um -4.2 cm 1.37 cm 1.22 MeV 1.6 keV 111 um 111 um World eIoni + 2 17.7 um -20 cm 1.37 cm 1.58 GeV 22.6 keV 15.8 cm 15.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.88 cm 1.31 cm 2.99 keV 0 eV 0 fm 0 fm World initStep + 1 -15.7 um -2.91 cm 1.31 cm 3.21 MeV 2.99 keV 297 um 297 um World eIoni + 2 -28.5 um -3.26 cm 1.31 cm 37.5 MeV 224 eV 3.43 mm 3.72 mm World eIoni + 3 -30.9 um -3.47 cm 1.31 cm 58.6 MeV 301 eV 2.11 mm 5.83 mm World eIoni + 4 -61.9 um -20 cm 1.31 cm 1.71 GeV 31.5 keV 16.5 cm 17.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -30.9 um -3.47 cm 1.31 cm 4.26 keV 0 eV 0 fm 0 fm World initStep + 1 -17.4 um -3.52 cm 1.31 cm 5.81 MeV 4.26 keV 544 um 544 um World eIoni + 2 -10.1 um -3.91 cm 1.31 cm 45.3 MeV 485 eV 3.95 mm 4.5 mm World eIoni + 3 2.12 um -13.7 cm 1.31 cm 1.03 GeV 19.3 keV 9.82 cm 10.3 cm World eIoni + 4 33 um -20 cm 1.31 cm 1.65 GeV 12.3 keV 6.27 cm 16.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.12 um -13.7 cm 1.31 cm 393 keV 0 eV 0 fm 0 fm World initStep + 1 -432 um -20 cm 1.32 cm 627 MeV 12.5 keV 6.27 cm 6.27 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -15.2 cm 2.09 cm 1.57 GeV 29.6 keV 15.7 cm 15.7 cm World eIoni + 2 -299 nm -20 cm 2.22 cm 2.05 GeV 9.82 keV 4.81 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -15.2 cm 2.09 cm 2.13 keV 0 eV 0 fm 0 fm World initStep + 1 2.61 um -15.2 cm 2.09 cm 1.87 MeV 2.13 keV 172 um 172 um World eIoni + 2 8.47 um -19.1 cm 2.09 cm 391 MeV 5.12 keV 3.89 cm 3.91 cm World eIoni + 3 8.69 um -20 cm 2.09 cm 481 MeV 1.93 keV 9.03 mm 4.81 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.83 cm 1.43 cm 433 MeV 9.37 keV 4.31 cm 4.31 cm World eIoni + 2 -232 nm -12.4 cm 1.99 cm 1.29 GeV 19.2 keV 8.64 cm 12.9 cm World eIoni + 3 -402 nm -14.3 cm 2.05 cm 1.48 GeV 3.33 keV 1.81 cm 14.8 cm World eIoni + 4 -1.31 um -20 cm 2.22 cm 2.05 GeV 13.1 keV 5.75 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -402 nm -14.3 cm 2.05 cm 1.02 keV 0 eV 0 fm 0 fm World initStep + 1 1.77 um -14.3 cm 2.05 cm 649 keV 1.02 keV 59.1 um 59.1 um World eIoni + 2 11.1 um -20 cm 2.05 cm 575 MeV 10.7 keV 5.74 cm 5.75 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -232 nm -12.4 cm 1.99 cm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 1.42 um -12.5 cm 1.99 cm 689 keV 1.07 keV 62.8 um 62.8 um World eIoni + 2 8.48 um -20 cm 1.99 cm 755 MeV 12.4 keV 7.55 cm 7.55 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.83 cm 1.43 cm 1.18 keV 0 eV 0 fm 0 fm World initStep + 1 347 nm -3.84 cm 1.43 cm 800 keV 1.18 keV 72.4 um 72.4 um World eIoni + 2 1.83 um -20 cm 1.44 cm 1.62 GeV 27.1 keV 16.2 cm 16.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.49 mm 8.68 mm 145 MeV 1.91 keV 1.36 cm 1.36 cm World eIoni + 2 9.61 um -10.7 cm 1.91 cm 1.12 GeV 20.4 keV 9.8 cm 11.2 cm World eIoni + 3 10.6 um -20 cm 2.22 cm 2.05 GeV 19.3 keV 9.33 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.61 um -10.7 cm 1.91 cm 1.29 keV 0 eV 0 fm 0 fm World initStep + 1 14.9 um -10.7 cm 1.91 cm 893 keV 1.29 keV 81.2 um 81.2 um World eIoni + 2 35.3 um -20 cm 1.92 cm 933 MeV 15.2 keV 9.32 cm 9.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.49 mm 8.68 mm 2.11 keV 0 eV 0 fm 0 fm World initStep + 1 -10.7 um -9.65 mm 8.68 mm 1.84 MeV 2.11 keV 169 um 169 um World eIoni + 2 -35.5 um -5.22 cm 8.68 mm 427 MeV 4.3 keV 4.25 cm 4.27 cm World eIoni + 3 -52 um -20 cm 8.68 mm 1.91 GeV 31 keV 14.8 cm 19.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.5 um -5.22 cm 8.68 mm 6.45 keV 0 eV 0 fm 0 fm World initStep + 1 -4.73 um -5.33 cm 8.71 mm 11.8 MeV 6.45 keV 1.12 mm 1.12 mm World eIoni + 2 442 nm -5.48 cm 8.71 mm 27.3 MeV 258 eV 1.55 mm 2.66 mm World eIoni + 3 25.8 um -20 cm 8.73 mm 1.48 GeV 28.8 keV 14.5 cm 14.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 40.1 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -11.3 cm 1.94 cm 1.18 GeV 20.5 keV 11.8 cm 11.8 cm World eIoni + 2 2.05 um -20 cm 2.22 cm 2.05 GeV 18.3 keV 8.72 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -11.3 cm 1.94 cm 1.35 keV 0 eV 0 fm 0 fm World initStep + 1 -6.51 um -11.3 cm 1.94 cm 954 keV 1.35 keV 86.8 um 86.8 um World eIoni + 2 -30.5 um -20 cm 1.94 cm 871 MeV 12.7 keV 8.7 cm 8.71 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.02 cm 1.83 cm 952 MeV 13.8 keV 9.51 cm 9.51 cm World eIoni + 2 -1.7 um -20 cm 2.22 cm 2.05 GeV 20.8 keV 11 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.02 cm 1.83 cm 1.46 keV 0 eV 0 fm 0 fm World initStep + 1 4.08 um -9.03 cm 1.83 cm 1.07 MeV 1.46 keV 97.3 um 97.3 um World eIoni + 2 13.8 um -10.1 cm 1.83 cm 106 MeV 1.8 keV 1.05 cm 1.06 cm World eIoni + 3 13.6 um -10.6 cm 1.83 cm 161 MeV 649 eV 5.51 mm 1.61 cm World eIoni + 4 15 um -20 cm 1.83 cm 1.1 GeV 18.4 keV 9.36 cm 11 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.6 um -10.6 cm 1.83 cm 23.7 keV 0 eV 0 fm 0 fm World initStep + 1 4.02 um -11 cm 1.82 cm 34.9 MeV 4.14 keV 3.37 mm 3.37 mm World eIoni + 2 -230 nm -18.2 cm 1.82 cm 757 MeV 10.3 keV 7.22 cm 7.56 cm World eIoni + 3 314 nm -20 cm 1.82 cm 938 MeV 4.5 keV 1.81 cm 9.37 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -230 nm -18.2 cm 1.82 cm 1.58 keV 0 eV 0 fm 0 fm World initStep + 1 -7.78 um -18.2 cm 1.82 cm 1.2 MeV 1.58 keV 109 um 109 um World eIoni + 2 -26.4 um -20 cm 1.82 cm 181 MeV 2.32 keV 1.8 cm 1.81 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.8 um -10.1 cm 1.83 cm 1.37 keV 0 eV 0 fm 0 fm World initStep + 1 18.9 um -10.1 cm 1.83 cm 974 keV 1.37 keV 88.6 um 88.6 um World eIoni + 2 37.7 um -20 cm 1.83 cm 992 MeV 13.4 keV 9.91 cm 9.92 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -11.2 cm 1.94 cm 1.17 GeV 19.8 keV 11.6 cm 11.6 cm World eIoni + 2 1.54 um -20 cm 2.22 cm 2.05 GeV 16.6 keV 8.85 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -11.2 cm 1.94 cm 1.16 keV 0 eV 0 fm 0 fm World initStep + 1 -4.36 um -11.2 cm 1.93 cm 775 keV 1.16 keV 70.5 um 70.5 um World eIoni + 2 -21.2 um -16.4 cm 1.93 cm 521 MeV 7.3 keV 5.2 cm 5.2 cm World eIoni + 3 -19.4 um -19 cm 1.93 cm 782 MeV 5.57 keV 2.61 cm 7.82 cm World eIoni + 4 -19.5 um -20 cm 1.93 cm 885 MeV 1.98 keV 1.03 cm 8.85 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -19.4 um -19 cm 1.93 cm 2.93 keV 0 eV 0 fm 0 fm World initStep + 1 -3.96 um -19 cm 1.93 cm 3.09 MeV 2.93 keV 286 um 286 um World eIoni + 2 7.63 um -19.3 cm 1.93 cm 29.5 MeV 556 eV 2.64 mm 2.93 mm World eIoni + 3 13 um -19.8 cm 1.93 cm 79.3 MeV 695 eV 4.98 mm 7.9 mm World eIoni + 4 13 um -20 cm 1.93 cm 103 MeV 296 eV 2.4 mm 1.03 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13 um -19.8 cm 1.93 cm 3.15 keV 0 eV 0 fm 0 fm World initStep + 1 29.5 um -19.8 cm 1.93 cm 3.48 MeV 3.15 keV 323 um 323 um World eIoni + 2 39.8 um -20 cm 1.93 cm 24.3 MeV 0 eV 2.08 mm 2.4 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -21.2 um -16.4 cm 1.93 cm 5.07 keV 0 eV 0 fm 0 fm World initStep + 1 -49.8 um -16.4 cm 1.93 cm 7.83 MeV 5.07 keV 735 um 735 um World eIoni + 2 -56.3 um -16.6 cm 1.93 cm 20.5 MeV 0 eV 1.27 mm 2.01 mm World eIoni + 3 -74.7 um -18.9 cm 1.93 cm 254 MeV 4.34 keV 2.34 cm 2.54 cm World eIoni + 4 -76 um -20 cm 1.93 cm 365 MeV 2.63 keV 1.11 cm 3.65 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -74.7 um -18.9 cm 1.93 cm 3.31 keV 0 eV 0 fm 0 fm World initStep + 1 -85.1 um -18.9 cm 1.93 cm 3.8 MeV 3.31 keV 353 um 353 um World eIoni + 2 -96.3 um -20 cm 1.94 cm 111 MeV 1.6 keV 1.07 cm 1.11 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.85 cm 1.3 cm 335 MeV 5.67 keV 3.32 cm 3.32 cm World eIoni + 2 -4.57 um -8.59 cm 1.81 cm 908 MeV 12.6 keV 5.76 cm 9.08 cm World eIoni + 3 -9.82 um -20 cm 2.22 cm 2.05 GeV 22.9 keV 11.4 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.57 um -8.59 cm 1.81 cm 1.32 keV 0 eV 0 fm 0 fm World initStep + 1 -1.27 um -8.59 cm 1.81 cm 927 keV 1.32 keV 84.2 um 84.2 um World eIoni + 2 10.8 um -15.8 cm 1.81 cm 721 MeV 12.7 keV 7.2 cm 7.21 cm World eIoni + 3 10.4 um -20 cm 1.81 cm 1.14 GeV 8.4 keV 4.21 cm 11.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 10.8 um -15.8 cm 1.81 cm 9.01 keV 0 eV 0 fm 0 fm World initStep + 1 27.8 um -16 cm 1.81 cm 17.1 MeV 5.09 keV 1.62 mm 1.62 mm World eIoni + 2 30.5 um -16.2 cm 1.81 cm 42.1 MeV 150 eV 2.5 mm 4.12 mm World eIoni + 3 37.7 um -20 cm 1.8 cm 422 MeV 7.93 keV 3.8 cm 4.21 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.85 cm 1.3 cm 2.8 keV 0 eV 0 fm 0 fm World initStep + 1 12.5 um -2.88 cm 1.3 cm 2.87 MeV 2.8 keV 265 um 265 um World eIoni + 2 22.1 um -3.12 cm 1.3 cm 27 MeV 341 eV 2.41 mm 2.68 mm World eIoni + 3 32.3 um -5.27 cm 1.3 cm 242 MeV 4.42 keV 2.15 cm 2.41 cm World eIoni + 4 48.9 um -15.5 cm 1.3 cm 1.27 GeV 22.9 keV 10.2 cm 12.7 cm World eIoni + 5 50.7 um -20 cm 1.3 cm 1.72 GeV 8.74 keV 4.48 cm 17.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 48.9 um -15.5 cm 1.3 cm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 52.1 um -15.5 cm 1.3 cm 681 keV 1.05 keV 61.9 um 61.9 um World eIoni + 2 64.9 um -20 cm 1.3 cm 449 MeV 6.64 keV 4.48 cm 4.48 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.3 um -5.27 cm 1.3 cm 2.91 keV 0 eV 0 fm 0 fm World initStep + 1 16.9 um -5.29 cm 1.3 cm 3.06 MeV 2.91 keV 283 um 283 um World eIoni + 2 12.8 um -5.33 cm 1.3 cm 7.15 MeV 38.3 eV 409 um 692 um World eIoni + 3 -5.52 um -7.06 cm 1.3 cm 179 MeV 3.31 keV 1.72 cm 1.79 cm World eIoni + 4 -14.7 um -9.24 cm 1.3 cm 397 MeV 6.62 keV 2.18 cm 3.97 cm World eBrem + 5 -30 um -20 cm 1.3 cm 1.47 GeV 23.6 keV 10.8 cm 14.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.52 um -7.06 cm 1.3 cm 4.1 keV 0 eV 0 fm 0 fm World initStep + 1 16.3 um -7.11 cm 1.3 cm 5.43 MeV 4.1 keV 507 um 507 um World eIoni + 2 23.9 um -7.25 cm 1.3 cm 19.5 MeV 183 eV 1.41 mm 1.91 mm World eIoni + 3 28.3 um -7.46 cm 1.3 cm 40.9 MeV 1.06 keV 2.14 mm 4.05 mm World eIoni + 4 56.6 um -15.6 cm 1.3 cm 852 MeV 14.3 keV 8.11 cm 8.51 cm World eIoni + 5 60.9 um -20 cm 1.3 cm 1.29 GeV 10.4 keV 4.43 cm 12.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 56.6 um -15.6 cm 1.3 cm 2.51 keV 0 eV 0 fm 0 fm World initStep + 1 49 um -15.6 cm 1.3 cm 2.42 MeV 2.51 keV 223 um 223 um World eIoni + 2 38.9 um -16.4 cm 1.31 cm 83.9 MeV 387 eV 8.14 mm 8.37 mm World eIoni + 3 34 um -20 cm 1.31 cm 443 MeV 8.14 keV 3.59 cm 4.43 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 28.3 um -7.46 cm 1.3 cm 992 eV 0 eV 0 fm 0 fm World initStep + 1 24.5 um -7.47 cm 1.3 cm 628 keV 992 eV 57.2 um 57.2 um World eIoni + 2 7.92 um -12.5 cm 1.3 cm 504 MeV 9.19 keV 5.03 cm 5.03 cm World eIoni + 3 5.59 um -20 cm 1.3 cm 1.25 GeV 16.2 keV 7.5 cm 12.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.92 um -12.5 cm 1.3 cm 4.95 keV 0 eV 0 fm 0 fm World initStep + 1 7.64 um -12.6 cm 1.31 cm 7.51 MeV 4.95 keV 705 um 705 um World eIoni + 2 7.48 um -13.2 cm 1.31 cm 74.9 MeV 1.14 keV 6.74 mm 7.44 mm World eIoni + 3 7.35 um -17.3 cm 1.31 cm 477 MeV 8.46 keV 4.02 cm 4.77 cm World eIoni + 4 7.95 um -20 cm 1.31 cm 751 MeV 5.12 keV 2.74 cm 7.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.35 um -17.3 cm 1.31 cm 12.9 keV 0 eV 0 fm 0 fm World initStep + 1 4.85 um -17.3 cm 1.31 cm 1.05 MeV 69.7 eV 107 um 107 um World eIoni + 2 -2.66 um -20 cm 1.32 cm 274 MeV 4.64 keV 2.73 cm 2.74 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -6.13 cm 1.65 cm 663 MeV 12.6 keV 6.62 cm 6.62 cm World eIoni + 2 -3.76 um -20 cm 2.22 cm 2.05 GeV 32.8 keV 13.9 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -6.13 cm 1.65 cm 1.11 keV 0 eV 0 fm 0 fm World initStep + 1 5.2 um -6.14 cm 1.65 cm 732 keV 1.11 keV 66.6 um 66.6 um World eIoni + 2 29.1 um -20 cm 1.65 cm 1.39 GeV 17.2 keV 13.9 cm 13.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -57.2 um 760 um 50.6 MeV 86.4 eV 763 um 763 um World eIoni + 2 -3.01 um -1.29 cm 9.82 mm 179 MeV 2.82 keV 1.65 cm 1.73 cm World eIoni + 3 3.93 um -5.92 cm 1.63 cm 642 MeV 10.7 keV 4.67 cm 6.4 cm World eIoni + 4 10.7 um -11.4 cm 1.95 cm 1.19 GeV 13.1 keV 5.45 cm 11.9 cm World eIoni + 5 14.2 um -20 cm 2.22 cm 2.05 GeV 18.6 keV 8.65 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 10.7 um -11.4 cm 1.95 cm 1.97 keV 0 eV 0 fm 0 fm World initStep + 1 20.6 um -11.4 cm 1.95 cm 1.66 MeV 1.97 keV 152 um 152 um World eIoni + 2 47.7 um -20 cm 1.95 cm 864 MeV 10.4 keV 8.63 cm 8.64 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.93 um -5.92 cm 1.63 cm 12 keV 0 eV 0 fm 0 fm World initStep + 1 -29.1 um -6.11 cm 1.63 cm 20.8 MeV 5.17 keV 1.99 mm 1.99 mm World eIoni + 2 -52 um -17.8 cm 1.63 cm 1.19 GeV 20.7 keV 11.7 cm 11.9 cm World eIoni + 3 -52.2 um -18.4 cm 1.63 cm 1.25 GeV 826 eV 5.47 mm 12.4 cm World eIoni + 4 -53 um -20 cm 1.62 cm 1.41 GeV 4.48 keV 1.64 cm 14.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52.2 um -18.4 cm 1.63 cm 2.22 keV 0 eV 0 fm 0 fm World initStep + 1 -45.4 um -18.4 cm 1.63 cm 1.99 MeV 2.22 keV 183 um 183 um World eIoni + 2 -40 um -18.5 cm 1.63 cm 15.3 MeV 251 eV 1.33 mm 1.51 mm World eIoni + 3 -38.2 um -20 cm 1.63 cm 164 MeV 2.24 keV 1.49 cm 1.64 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -40 um -18.5 cm 1.63 cm 1.03 keV 0 eV 0 fm 0 fm World initStep + 1 -36.9 um -18.5 cm 1.63 cm 662 keV 1.03 keV 60.2 um 60.2 um World eIoni + 2 -26.4 um -20 cm 1.63 cm 149 MeV 722 eV 1.48 cm 1.49 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52 um -17.8 cm 1.63 cm 1.29 keV 0 eV 0 fm 0 fm World initStep + 1 -55.2 um -17.8 cm 1.63 cm 897 keV 1.29 keV 81.6 um 81.6 um World eIoni + 2 -64.7 um -20 cm 1.63 cm 219 MeV 2.98 keV 2.18 cm 2.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.01 um -1.29 cm 9.82 mm 7.26 keV 0 eV 0 fm 0 fm World initStep + 1 -39.2 um -1.42 cm 9.8 mm 13.8 MeV 6.61 keV 1.31 mm 1.31 mm World eIoni + 2 -46.8 um -1.7 cm 9.79 mm 41.9 MeV 314 eV 2.8 mm 4.11 mm World eIoni + 3 -69.7 um -9.69 cm 9.78 mm 840 MeV 13.6 keV 7.98 cm 8.39 cm World eIoni + 4 -72.3 um -11.9 cm 9.77 mm 1.06 GeV 5.56 keV 2.21 cm 10.6 cm World eIoni + 5 -81.2 um -20 cm 9.77 mm 1.87 GeV 15.3 keV 8.1 cm 18.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -72.3 um -11.9 cm 9.77 mm 2.52 keV 0 eV 0 fm 0 fm World initStep + 1 -61.3 um -11.9 cm 9.78 mm 2.42 MeV 2.52 keV 223 um 223 um World eIoni + 2 -46.5 um -12.8 cm 9.79 mm 87.3 MeV 609 eV 8.49 mm 8.71 mm World eIoni + 3 -37.1 um -20 cm 9.8 mm 810 MeV 14.3 keV 7.23 cm 8.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -69.7 um -9.69 cm 9.78 mm 2.86 keV 0 eV 0 fm 0 fm World initStep + 1 -57.7 um -9.71 cm 9.79 mm 2.98 MeV 2.86 keV 276 um 276 um World eIoni + 2 -53.1 um -9.78 cm 9.79 mm 9.84 MeV 216 eV 686 um 962 um World eIoni + 3 -43.6 um -10.6 cm 9.8 mm 89.2 MeV 1.39 keV 7.93 mm 8.89 mm World eIoni + 4 -34.7 um -13.1 cm 9.8 mm 337 MeV 3.63 keV 2.48 cm 3.37 cm World eIoni + 5 -34.2 um -13.7 cm 9.8 mm 397 MeV 1.04 keV 5.95 mm 3.97 cm World eIoni + 6 -32.7 um -15.1 cm 9.8 mm 546 MeV 1.78 keV 1.5 cm 5.46 cm World eIoni + 7 -28.1 um -20 cm 9.79 mm 1.03 GeV 10.9 keV 4.85 cm 10.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -32.7 um -15.1 cm 9.8 mm 1.11 keV 0 eV 0 fm 0 fm World initStep + 1 -36.9 um -15.2 cm 9.79 mm 731 keV 1.11 keV 66.5 um 66.5 um World eIoni + 2 -53 um -20 cm 9.78 mm 485 MeV 8.18 keV 4.85 cm 4.85 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -34.2 um -13.7 cm 9.8 mm 6.12 keV 0 eV 0 fm 0 fm World initStep + 1 -41.4 um -13.8 cm 9.83 mm 10.9 MeV 6.12 keV 1.03 mm 1.03 mm World eIoni + 2 -45 um -14.8 cm 9.85 mm 117 MeV 2.24 keV 1.06 cm 1.16 cm World eIoni + 3 -47.6 um -20 cm 9.87 mm 636 MeV 13.5 keV 5.19 cm 6.35 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -34.7 um -13.1 cm 9.8 mm 1.33 keV 0 eV 0 fm 0 fm World initStep + 1 -28.2 um -13.1 cm 9.8 mm 939 keV 1.33 keV 85.5 um 85.5 um World eIoni + 2 -5.07 um -20 cm 9.8 mm 695 MeV 10.1 keV 6.94 cm 6.95 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -43.6 um -10.6 cm 9.8 mm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 -47.3 um -10.6 cm 9.8 mm 645 keV 1.01 keV 58.6 um 58.6 um World eIoni + 2 -64 um -20 cm 9.81 mm 943 MeV 13.4 keV 9.42 cm 9.43 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -57.2 um 760 um 2.14 keV 0 eV 0 fm 0 fm World initStep + 1 3.74 um -229 um 759 um 1.87 MeV 2.14 keV 172 um 172 um World eIoni + 2 10 um -9.7 mm 757 um 96.6 MeV 1.42 keV 9.47 mm 9.65 mm World eIoni + 3 3.48 um -20 cm 752 um 2 GeV 36.5 keV 19 cm 20 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 10 um -9.7 mm 757 um 1.4 keV 0 eV 0 fm 0 fm World initStep + 1 16.6 um -9.79 mm 759 um 1.01 MeV 1.4 keV 92.1 um 92.1 um World eIoni + 2 41.2 um -12.4 cm 766 um 1.14 GeV 14.5 keV 11.4 cm 11.4 cm World eIoni + 3 41.3 um -12.8 cm 766 um 1.18 GeV 626 eV 3.57 mm 11.8 cm World eIoni + 4 41.4 um -12.9 cm 766 um 1.19 GeV 606 eV 1.37 mm 11.9 cm World eIoni + 5 41.5 um -13.5 cm 767 um 1.25 GeV 1.51 keV 5.99 mm 12.5 cm World eIoni + 6 43.4 um -17.7 cm 766 um 1.68 GeV 10.5 keV 4.25 cm 16.8 cm World eIoni + 7 43.9 um -20 cm 766 um 1.9 GeV 2.99 keV 2.25 cm 19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 43.4 um -17.7 cm 766 um 1.99 keV 0 eV 0 fm 0 fm World initStep + 1 45.9 um -17.8 cm 776 um 1.69 MeV 1.99 keV 155 um 155 um World eIoni + 2 51.2 um -20 cm 797 um 225 MeV 4.16 keV 2.24 cm 2.25 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 41.5 um -13.5 cm 767 um 4.2 keV 0 eV 0 fm 0 fm World initStep + 1 22.6 um -13.6 cm 781 um 5.66 MeV 4.2 keV 529 um 529 um World eIoni + 2 3.05 um -15.8 cm 795 um 228 MeV 5.61 keV 2.22 cm 2.27 cm World eIoni + 3 866 nm -16.9 cm 797 um 345 MeV 2.28 keV 1.17 cm 3.44 cm World eIoni + 4 1.47 um -20 cm 797 um 650 MeV 5.68 keV 3.06 cm 6.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 18 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 866 nm -16.9 cm 797 um 5.37 keV 0 eV 0 fm 0 fm World initStep + 1 -27.5 um -17 cm 810 um 8.67 MeV 5.37 keV 815 um 815 um World eIoni + 2 -35.6 um -17.2 cm 814 um 30.4 MeV 398 eV 2.17 mm 2.99 mm World eIoni + 3 -50.9 um -19.8 cm 822 um 287 MeV 4.96 keV 2.57 cm 2.86 cm World eIoni + 4 -51.1 um -20 cm 822 um 306 MeV 781 eV 1.95 mm 3.06 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -50.9 um -19.8 cm 822 um 1.24 keV 0 eV 0 fm 0 fm World initStep + 1 -55.2 um -19.8 cm 826 um 846 keV 1.24 keV 77 um 77 um World eIoni + 2 -62.3 um -20 cm 832 um 19.5 MeV 175 eV 1.87 mm 1.95 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 41.4 um -12.9 cm 766 um 1.33 keV 0 eV 0 fm 0 fm World initStep + 1 47.1 um -12.9 cm 769 um 931 keV 1.33 keV 84.8 um 84.8 um World eIoni + 2 67.9 um -20 cm 780 um 710 MeV 11.8 keV 7.09 cm 7.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 41.3 um -12.8 cm 766 um 1.62 keV 0 eV 0 fm 0 fm World initStep + 1 39.2 um -12.8 cm 759 um 1.24 MeV 1.62 keV 113 um 113 um World eIoni + 2 33.2 um -16.6 cm 737 um 380 MeV 7.1 keV 3.79 cm 3.8 cm World eIoni + 3 29.8 um -20 cm 729 um 724 MeV 9.41 keV 3.44 cm 7.24 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 33.2 um -16.6 cm 737 um 7.74 keV 0 eV 0 fm 0 fm World initStep + 1 55.2 um -16.7 cm 778 um 14.8 MeV 4.13 keV 1.4 mm 1.4 mm World eIoni + 2 56.3 um -16.7 cm 780 um 19.4 MeV 60 eV 460 um 1.86 mm World eIoni + 3 68.1 um -20 cm 803 um 345 MeV 4.83 keV 3.25 cm 3.44 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -7.98 cm 1.77 cm 848 MeV 17.8 keV 8.47 cm 8.47 cm World eIoni + 2 -1.01 um -10.5 cm 1.91 cm 1.1 GeV 5.07 keV 2.52 cm 11 cm World eIoni + 3 -6.75 um -20 cm 2.22 cm 2.05 GeV 18.5 keV 9.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.01 um -10.5 cm 1.91 cm 2.91 keV 0 eV 0 fm 0 fm World initStep + 1 14.1 um -10.5 cm 1.91 cm 3.05 MeV 2.91 keV 283 um 283 um World eIoni + 2 29 um -11.1 cm 1.91 cm 55.9 MeV 1.58 keV 5.28 mm 5.57 mm World eIoni + 3 44.1 um -20 cm 1.91 cm 950 MeV 15.9 keV 8.94 cm 9.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -7.98 cm 1.77 cm 1.54 keV 0 eV 0 fm 0 fm World initStep + 1 7.37 um -7.99 cm 1.78 cm 1.16 MeV 1.54 keV 106 um 106 um World eIoni + 2 33.3 um -20 cm 1.78 cm 1.2 GeV 17.6 keV 12 cm 12 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -11.5 cm 1.95 cm 1.2 GeV 20.8 keV 12 cm 12 cm World eIoni + 2 -29.4 nm -12.2 cm 1.98 cm 1.27 GeV 3.74 keV 6.89 mm 12.7 cm World eIoni + 3 266 nm -13.9 cm 2.04 cm 1.44 GeV 3.44 keV 1.69 cm 14.4 cm World eIoni + 4 287 nm -16.5 cm 2.13 cm 1.7 GeV 5.07 keV 2.6 cm 17 cm World eIoni + 5 1.12 um -20 cm 2.22 cm 2.05 GeV 6.24 keV 3.52 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 287 nm -16.5 cm 2.13 cm 1.8 keV 0 eV 0 fm 0 fm World initStep + 1 -8.67 um -16.5 cm 2.13 cm 1.45 MeV 1.8 keV 132 um 132 um World eIoni + 2 -31.2 um -20 cm 2.13 cm 352 MeV 4.68 keV 3.5 cm 3.52 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 266 nm -13.9 cm 2.04 cm 1.52 keV 0 eV 0 fm 0 fm World initStep + 1 4.49 um -13.9 cm 2.04 cm 1.13 MeV 1.52 keV 103 um 103 um World eIoni + 2 18 um -20 cm 2.04 cm 612 MeV 7.78 keV 6.11 cm 6.12 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -29.4 nm -12.2 cm 1.98 cm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -4.52 um -12.2 cm 1.98 cm 717 keV 1.1 keV 65.2 um 65.2 um World eIoni + 2 -23.5 um -20 cm 1.98 cm 780 MeV 10.1 keV 7.8 cm 7.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -11.5 cm 1.95 cm 2.57 keV 0 eV 0 fm 0 fm World initStep + 1 1.38 um -11.5 cm 1.95 cm 2.51 MeV 2.57 keV 231 um 231 um World eIoni + 2 1.56 um -11.5 cm 1.95 cm 3.73 MeV 0 eV 122 um 354 um World eIoni + 3 3.82 um -14 cm 1.95 cm 251 MeV 4.67 keV 2.48 cm 2.51 cm World eIoni + 4 6.24 um -20 cm 1.95 cm 849 MeV 14.4 keV 5.98 cm 8.49 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.82 um -14 cm 1.95 cm 2.45 keV 0 eV 0 fm 0 fm World initStep + 1 112 nm -14 cm 1.96 cm 2.33 MeV 2.45 keV 214 um 214 um World eIoni + 2 -2.92 um -14.2 cm 1.96 cm 21.8 MeV 238 eV 1.95 mm 2.17 mm World eIoni + 3 -6.57 um -16.5 cm 1.96 cm 244 MeV 4.25 keV 2.22 cm 2.44 cm World eIoni + 4 -10.5 um -20 cm 1.96 cm 598 MeV 5.99 keV 3.54 cm 5.98 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.57 um -16.5 cm 1.96 cm 1e+03 eV 0 eV 0 fm 0 fm World initStep + 1 -2.3 um -16.5 cm 1.96 cm 634 keV 1e+03 eV 57.7 um 57.7 um World eIoni + 2 14.8 um -20 cm 1.96 cm 354 MeV 3.74 keV 3.53 cm 3.54 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 43.5 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -6.84 cm 1.7 cm 734 MeV 18.4 keV 7.33 cm 7.33 cm World eIoni + 2 -17 um -20 cm 2.22 cm 2.05 GeV 33.5 keV 13.2 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -6.84 cm 1.7 cm 86.7 keV 0 eV 0 fm 0 fm World initStep + 1 130 um -9.52 cm 1.68 cm 269 MeV 11.9 keV 2.69 cm 2.69 cm World eIoni + 2 138 um -11.1 cm 1.68 cm 431 MeV 2.78 keV 1.62 cm 4.31 cm World eIoni + 3 146 um -14 cm 1.68 cm 718 MeV 4.86 keV 2.87 cm 7.17 cm World eIoni + 4 152 um -17 cm 1.68 cm 1.02 GeV 6.68 keV 2.98 cm 10.1 cm World eIoni + 5 156 um -20 cm 1.68 cm 1.32 GeV 7.23 keV 3.02 cm 13.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 152 um -17 cm 1.68 cm 1.94 keV 0 eV 0 fm 0 fm World initStep + 1 157 um -17 cm 1.68 cm 1.62 MeV 1.94 keV 148 um 148 um World eIoni + 2 169 um -20 cm 1.68 cm 302 MeV 4.7 keV 3 cm 3.02 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 146 um -14 cm 1.68 cm 1.21 keV 0 eV 0 fm 0 fm World initStep + 1 145 um -14 cm 1.68 cm 823 keV 1.21 keV 74.9 um 74.9 um World eIoni + 2 142 um -20 cm 1.68 cm 599 MeV 7.8 keV 5.99 cm 5.99 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.67 cm 1.28 cm 317 MeV 5.32 keV 3.13 cm 3.13 cm World eIoni + 2 -635 nm -13.6 cm 2.03 cm 1.41 GeV 19.9 keV 10.9 cm 14.1 cm World eIoni + 3 -869 nm -20 cm 2.22 cm 2.05 GeV 16.3 keV 6.45 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -635 nm -13.6 cm 2.03 cm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 -335 nm -13.6 cm 2.03 cm 697 keV 1.07 keV 63.5 um 63.5 um World eIoni + 2 865 nm -20 cm 2.03 cm 644 MeV 9.02 keV 6.44 cm 6.44 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.67 cm 1.28 cm 1.51 keV 0 eV 0 fm 0 fm World initStep + 1 807 nm -2.68 cm 1.28 cm 1.12 MeV 1.51 keV 102 um 102 um World eIoni + 2 3.64 um -13.8 cm 1.28 cm 1.11 GeV 16.5 keV 11.1 cm 11.1 cm World eIoni + 3 4.85 um -20 cm 1.28 cm 1.73 GeV 11.7 keV 6.23 cm 17.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.64 um -13.8 cm 1.28 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 -1.59 um -13.8 cm 1.28 cm 735 keV 1.12 keV 66.9 um 66.9 um World eIoni + 2 -22.8 um -20 cm 1.28 cm 623 MeV 11 keV 6.23 cm 6.23 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -7.06 cm 1.72 cm 756 MeV 15.2 keV 7.55 cm 7.55 cm World eIoni + 2 2.85 um -12.8 cm 2 cm 1.33 GeV 12 keV 5.78 cm 13.3 cm World eIoni + 3 3.27 um -13.5 cm 2.03 cm 1.4 GeV 1.81 keV 6.43 mm 14 cm World eIoni + 4 4.64 um -19.8 cm 2.22 cm 2.03 GeV 14.8 keV 6.36 cm 20.3 cm World eIoni + 5 4.65 um -20 cm 2.22 cm 2.05 GeV 183 eV 1.75 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.64 um -19.8 cm 2.22 cm 2.59 keV 0 eV 0 fm 0 fm World initStep + 1 9.99 um -19.8 cm 2.22 cm 2.54 MeV 2.59 keV 235 um 235 um World eIoni + 2 13.5 um -20 cm 2.21 cm 17.7 MeV 98.5 eV 1.52 mm 1.75 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.27 um -13.5 cm 2.03 cm 3.3 keV 0 eV 0 fm 0 fm World initStep + 1 19.1 um -13.5 cm 2.03 cm 3.77 MeV 3.3 keV 350 um 350 um World eIoni + 2 29 um -13.8 cm 2.03 cm 28.2 MeV 534 eV 2.44 mm 2.79 mm World eIoni + 3 39.3 um -15.5 cm 2.03 cm 203 MeV 3.85 keV 1.75 cm 2.03 cm World eIoni + 4 50.8 um -20 cm 2.03 cm 653 MeV 9.19 keV 4.5 cm 6.53 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 39.3 um -15.5 cm 2.03 cm 6.62 keV 0 eV 0 fm 0 fm World initStep + 1 25.8 um -15.5 cm 2.03 cm 3.63 MeV 513 eV 348 um 348 um World eIoni + 2 3.77 um -20 cm 2.02 cm 450 MeV 6.73 keV 4.47 cm 4.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.85 um -12.8 cm 2 cm 1.79 keV 0 eV 0 fm 0 fm World initStep + 1 -5.07 um -12.8 cm 2 cm 1.43 MeV 1.79 keV 131 um 131 um World eIoni + 2 -27.9 um -20 cm 2 cm 717 MeV 10.8 keV 7.16 cm 7.17 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -7.06 cm 1.72 cm 2.82 keV 0 eV 0 fm 0 fm World initStep + 1 -13.9 um -7.09 cm 1.72 cm 2.91 MeV 2.82 keV 269 um 269 um World eIoni + 2 -30 um -7.87 cm 1.72 cm 81.6 MeV 1.52 keV 7.87 mm 8.14 mm World eIoni + 3 -37.6 um -10.8 cm 1.72 cm 371 MeV 7.9 keV 2.9 cm 3.71 cm World eIoni + 4 -44.6 um -19.2 cm 1.71 cm 1.21 GeV 17.6 keV 8.43 cm 12.1 cm World eIoni + 5 -44.7 um -20 cm 1.71 cm 1.29 GeV 1.31 keV 8.05 mm 12.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -44.6 um -19.2 cm 1.71 cm 1.44 keV 0 eV 0 fm 0 fm World initStep + 1 -51.5 um -19.2 cm 1.71 cm 1.05 MeV 1.44 keV 95.2 um 95.2 um World eIoni + 2 -66.9 um -20 cm 1.71 cm 79.1 MeV 2.05 keV 7.8 mm 7.9 mm World eIoni + 3 -66.9 um -20 cm 1.71 cm 80.6 MeV 32.1 eV 155 um 8.05 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -66.9 um -20 cm 1.71 cm 1.91 keV 0 eV 0 fm 0 fm World initStep + 1 -63.6 um -20 cm 1.72 cm 1.58 MeV 1.91 keV 145 um 145 um World eIoni + 2 -63.5 um -20 cm 1.72 cm 1.71 MeV 1.85 eV 12.8 um 158 um OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -37.6 um -10.8 cm 1.72 cm 1.3 keV 0 eV 0 fm 0 fm World initStep + 1 -36.2 um -10.8 cm 1.72 cm 904 keV 1.3 keV 82.3 um 82.3 um World eIoni + 2 -30.9 um -18.8 cm 1.72 cm 799 MeV 12.5 keV 7.98 cm 7.99 cm World eIoni + 3 -30.9 um -20 cm 1.72 cm 923 MeV 3.51 keV 1.24 cm 9.23 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -30.9 um -18.8 cm 1.72 cm 1.2 keV 0 eV 0 fm 0 fm World initStep + 1 -29.7 um -18.8 cm 1.72 cm 813 keV 1.2 keV 74 um 74 um World eIoni + 2 -26.6 um -20 cm 1.72 cm 124 MeV 1.61 keV 1.23 cm 1.24 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.71 cm 1.28 cm 321 MeV 5.27 keV 3.18 cm 3.18 cm World eIoni + 2 -5.49 um -11.1 cm 1.93 cm 1.16 GeV 17.5 keV 8.38 cm 11.6 cm World eIoni + 3 -6.62 um -20 cm 2.22 cm 2.05 GeV 15.4 keV 8.94 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.49 um -11.1 cm 1.93 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 -9.08 um -11.1 cm 1.93 cm 733 keV 1.12 keV 66.8 um 66.8 um World eIoni + 2 -24.5 um -20 cm 1.93 cm 894 MeV 13.7 keV 8.93 cm 8.94 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.71 cm 1.28 cm 3.35 keV 0 eV 0 fm 0 fm World initStep + 1 13.3 um -2.75 cm 1.28 cm 3.86 MeV 3.35 keV 359 um 359 um World eIoni + 2 25.9 um -3.53 cm 1.28 cm 82.3 MeV 1.44 keV 7.84 mm 8.2 mm World eIoni + 3 31.8 um -6.04 cm 1.29 cm 333 MeV 4.04 keV 2.51 cm 3.33 cm World eIoni + 4 39.6 um -12.8 cm 1.29 cm 1.01 GeV 15.3 keV 6.8 cm 10.1 cm World eIoni + 5 40.8 um -20 cm 1.29 cm 1.73 GeV 14.4 keV 7.16 cm 17.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 39.6 um -12.8 cm 1.29 cm 4.24 keV 0 eV 0 fm 0 fm World initStep + 1 57.2 um -12.9 cm 1.28 cm 5.77 MeV 4.24 keV 540 um 540 um World eIoni + 2 60.5 um -13 cm 1.28 cm 11.9 MeV 19.9 eV 612 um 1.15 mm World eIoni + 3 73 um -14.3 cm 1.28 cm 144 MeV 2.36 keV 1.32 cm 1.43 cm World eIoni + 4 86.7 um -20 cm 1.28 cm 716 MeV 9.95 keV 5.73 cm 7.16 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 73 um -14.3 cm 1.28 cm 8.2 keV 0 eV 0 fm 0 fm World initStep + 1 53.2 um -14.4 cm 1.28 cm 15.7 MeV 6.69 keV 1.49 mm 1.49 mm World eIoni + 2 50.7 um -14.6 cm 1.28 cm 31.9 MeV 328 eV 1.62 mm 3.1 mm World eIoni + 3 40.1 um -20 cm 1.28 cm 574 MeV 10.9 keV 5.42 cm 5.73 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 31.8 um -6.04 cm 1.29 cm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 27.8 um -6.04 cm 1.28 cm 647 keV 1.01 keV 58.8 um 58.8 um World eIoni + 2 7.91 um -20 cm 1.28 cm 1.4 GeV 23.5 keV 14 cm 14 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -15.6 cm 2.1 cm 1.61 GeV 34 keV 16.1 cm 16.1 cm World eIoni + 2 359 nm -17.2 cm 2.15 cm 1.77 GeV 4.03 keV 1.51 cm 17.7 cm World eIoni + 3 834 nm -19.4 cm 2.21 cm 1.99 GeV 7.04 keV 2.27 cm 19.9 cm World eIoni + 4 743 nm -20 cm 2.22 cm 2.05 GeV 1.6 keV 5.73 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 834 nm -19.4 cm 2.21 cm 5.01 keV 0 eV 0 fm 0 fm World initStep + 1 29.8 um -19.5 cm 2.21 cm 7.68 MeV 5.01 keV 721 um 721 um World eIoni + 2 43.8 um -20 cm 2.21 cm 57.8 MeV 1.2 keV 5.02 mm 5.74 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 359 nm -17.2 cm 2.15 cm 1.7 keV 0 eV 0 fm 0 fm World initStep + 1 497 nm -17.2 cm 2.15 cm 1.33 MeV 1.7 keV 122 um 122 um World eIoni + 2 847 nm -20 cm 2.15 cm 285 MeV 2.78 keV 2.83 cm 2.84 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -15.6 cm 2.1 cm 1.57 keV 0 eV 0 fm 0 fm World initStep + 1 -7.72 um -15.7 cm 2.1 cm 1.19 MeV 1.57 keV 109 um 109 um World eIoni + 2 -30.2 um -20 cm 2.1 cm 436 MeV 6.54 keV 4.35 cm 4.36 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.85 cm 1.12 cm 235 MeV 2.33 keV 2.3 cm 2.3 cm World eIoni + 2 -7.06 um -9.39 cm 1.85 cm 989 MeV 18.8 keV 7.58 cm 9.88 cm World eIoni + 3 -9.51 um -15.4 cm 2.09 cm 1.59 GeV 12.8 keV 6.06 cm 15.9 cm World eIoni + 4 -9.26 um -20 cm 2.22 cm 2.05 GeV 13.4 keV 4.55 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.51 um -15.4 cm 2.09 cm 4.3 keV 0 eV 0 fm 0 fm World initStep + 1 -31.7 um -15.5 cm 2.09 cm 5.89 MeV 4.3 keV 551 um 551 um World eIoni + 2 -39.2 um -15.7 cm 2.09 cm 21.1 MeV 292 eV 1.52 mm 2.07 mm World eIoni + 3 -52.2 um -17.2 cm 2.09 cm 175 MeV 3.58 keV 1.54 cm 1.75 cm World eIoni + 4 -59.6 um -20 cm 2.09 cm 455 MeV 4.75 keV 2.8 cm 4.55 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52.2 um -17.2 cm 2.09 cm 2.32 keV 0 eV 0 fm 0 fm World initStep + 1 -48.1 um -17.2 cm 2.09 cm 2.14 MeV 2.32 keV 196 um 196 um World eIoni + 2 -41 um -18.7 cm 2.09 cm 151 MeV 2.37 keV 1.49 cm 1.51 cm World eIoni + 3 -40.1 um -20 cm 2.09 cm 280 MeV 2.35 keV 1.29 cm 2.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.06 um -9.39 cm 1.85 cm 1.27 keV 0 eV 0 fm 0 fm World initStep + 1 -6.64 um -9.4 cm 1.85 cm 882 keV 1.27 keV 80.1 um 80.1 um World eIoni + 2 -4.99 um -20 cm 1.86 cm 1.06 GeV 15.7 keV 10.6 cm 10.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.85 cm 1.12 cm 2.34 keV 0 eV 0 fm 0 fm World initStep + 1 12 um -1.87 cm 1.12 cm 2.16 MeV 2.34 keV 198 um 198 um World eIoni + 2 23.1 um -2.1 cm 1.12 cm 24.9 MeV 125 eV 2.27 mm 2.47 mm World eIoni + 3 44 um -19.9 cm 1.12 cm 1.8 GeV 36.8 keV 17.8 cm 18 cm World eIoni + 4 44 um -20 cm 1.12 cm 1.82 GeV 117 eV 1.21 mm 18.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 44 um -19.9 cm 1.12 cm 1.16 keV 0 eV 0 fm 0 fm World initStep + 1 38.5 um -19.9 cm 1.12 cm 774 keV 1.16 keV 70.4 um 70.4 um World eIoni + 2 30.6 um -20 cm 1.12 cm 12.2 MeV 0 eV 1.14 mm 1.22 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -4.61 cm 1.52 cm 511 MeV 8.31 keV 5.09 cm 5.09 cm World eIoni + 2 -1.51 um -6.53 cm 1.68 cm 703 MeV 4.4 keV 1.92 cm 7.01 cm World eIoni + 3 -7.99 um -20 cm 2.22 cm 2.05 GeV 30.6 keV 13.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.51 um -6.53 cm 1.68 cm 1.68 keV 0 eV 0 fm 0 fm World initStep + 1 1.15 um -6.54 cm 1.68 cm 1.31 MeV 1.68 keV 120 um 120 um World eIoni + 2 8.17 um -9.68 cm 1.68 cm 315 MeV 5.32 keV 3.14 cm 3.15 cm World eIoni + 3 13.8 um -12.8 cm 1.68 cm 623 MeV 6.7 keV 3.08 cm 6.23 cm World eIoni + 4 14.3 um -13.4 cm 1.68 cm 689 MeV 855 eV 6.53 mm 6.89 cm World eIoni + 5 20.1 um -20 cm 1.68 cm 1.35 GeV 14.5 keV 6.59 cm 13.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.3 um -13.4 cm 1.68 cm 1.99 keV 0 eV 0 fm 0 fm World initStep + 1 6.04 um -13.4 cm 1.68 cm 1.69 MeV 1.99 keV 155 um 155 um World eIoni + 2 -7.54 um -14.2 cm 1.68 cm 81.4 MeV 877 eV 7.97 mm 8.12 mm World eIoni + 3 -21.6 um -19.7 cm 1.68 cm 626 MeV 10.5 keV 5.45 cm 6.26 cm World eIoni + 4 -22.1 um -20 cm 1.68 cm 659 MeV 779 eV 3.26 mm 6.59 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -21.6 um -19.7 cm 1.68 cm 1.77 keV 0 eV 0 fm 0 fm World initStep + 1 -12.8 um -19.7 cm 1.68 cm 1.41 MeV 1.77 keV 129 um 129 um World eIoni + 2 -618 nm -20 cm 1.68 cm 32.8 MeV 177 eV 3.14 mm 3.27 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.54 um -14.2 cm 1.68 cm 1.03 keV 0 eV 0 fm 0 fm World initStep + 1 -2.92 um -14.2 cm 1.68 cm 656 keV 1.03 keV 59.7 um 59.7 um World eIoni + 2 16.7 um -20 cm 1.68 cm 578 MeV 7.74 keV 5.77 cm 5.77 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.8 um -12.8 cm 1.68 cm 2.23 keV 0 eV 0 fm 0 fm World initStep + 1 20.8 um -12.8 cm 1.68 cm 1.56 MeV 1.65 keV 145 um 145 um World eIoni + 2 33.4 um -13.7 cm 1.68 cm 91.5 MeV 269 eV 9 mm 9.14 mm World eIoni + 3 43.9 um -20 cm 1.68 cm 724 MeV 15.6 keV 6.33 cm 7.24 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 33.4 um -13.7 cm 1.68 cm 2.33 keV 0 eV 0 fm 0 fm World initStep + 1 29 um -13.7 cm 1.68 cm 2.15 MeV 2.33 keV 198 um 198 um World eIoni + 2 23.3 um -14.3 cm 1.68 cm 66.2 MeV 1.72 keV 6.41 mm 6.61 mm World eIoni + 3 19.5 um -20 cm 1.68 cm 633 MeV 10.7 keV 5.67 cm 6.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 8.17 um -9.68 cm 1.68 cm 5.48 keV 0 eV 0 fm 0 fm World initStep + 1 -21.8 um -9.76 cm 1.68 cm 8.99 MeV 5.48 keV 845 um 845 um World eIoni + 2 -37.8 um -10.6 cm 1.68 cm 96 MeV 2.37 keV 8.7 mm 9.55 mm World eIoni + 3 -48.4 um -14.1 cm 1.68 cm 441 MeV 6.64 keV 3.45 cm 4.4 cm World eIoni + 4 -50.6 um -20 cm 1.68 cm 1.03 GeV 12.7 keV 5.92 cm 10.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -48.4 um -14.1 cm 1.68 cm 5.78 keV 0 eV 0 fm 0 fm World initStep + 1 -52.9 um -14.1 cm 1.68 cm 382 keV 340 eV 39.3 um 39.3 um World eIoni + 2 -74 um -15.7 cm 1.68 cm 161 MeV 1.3 keV 1.61 cm 1.61 cm World eIoni + 3 -72.6 um -20 cm 1.67 cm 592 MeV 7.77 keV 4.31 cm 5.92 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -74 um -15.7 cm 1.68 cm 2.94 keV 0 eV 0 fm 0 fm World initStep + 1 -88.5 um -15.7 cm 1.68 cm 3.12 MeV 2.94 keV 289 um 289 um World eIoni + 2 -103 um -16.3 cm 1.68 cm 58.4 MeV 1.19 keV 5.53 mm 5.82 mm World eIoni + 3 -104 um -16.5 cm 1.68 cm 80.6 MeV 282 eV 2.22 mm 8.04 mm World eIoni + 4 -107 um -20 cm 1.68 cm 431 MeV 6.51 keV 3.5 cm 4.31 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -104 um -16.5 cm 1.68 cm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -109 um -16.5 cm 1.68 cm 720 keV 1.1 keV 65.4 um 65.4 um World eIoni + 2 -128 um -20 cm 1.68 cm 350 MeV 6.09 keV 3.5 cm 3.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -4.61 cm 1.52 cm 24.3 keV 0 eV 0 fm 0 fm World initStep + 1 37 um -5.01 cm 1.53 cm 42.1 MeV 3.68 keV 4.07 mm 4.07 mm World eIoni + 2 38.7 um -5.19 cm 1.53 cm 60.4 MeV 212 eV 1.83 mm 5.9 mm World eIoni + 3 39.7 um -5.33 cm 1.53 cm 74.5 MeV 155 eV 1.41 mm 7.31 mm World eIoni + 4 50.7 um -20 cm 1.54 cm 1.54 GeV 27.5 keV 14.7 cm 15.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 39.7 um -5.33 cm 1.53 cm 33.4 keV 0 eV 0 fm 0 fm World initStep + 1 48.1 um -5.78 cm 1.52 cm 47.2 MeV 3.51 keV 4.59 mm 4.59 mm World eIoni + 2 51.3 um -13.9 cm 1.51 cm 862 MeV 14.7 keV 8.15 cm 8.61 cm World eIoni + 3 53.7 um -20 cm 1.51 cm 1.47 GeV 13.6 keV 6.07 cm 14.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 51.3 um -13.9 cm 1.51 cm 1.4 keV 0 eV 0 fm 0 fm World initStep + 1 45 um -13.9 cm 1.51 cm 1.01 MeV 1.4 keV 91.8 um 91.8 um World eIoni + 2 28.6 um -15.3 cm 1.51 cm 134 MeV 1.4 keV 1.33 cm 1.34 cm World eIoni + 3 28.6 um -20 cm 1.51 cm 607 MeV 10.9 keV 4.72 cm 6.07 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 28.6 um -15.3 cm 1.51 cm 26.7 keV 0 eV 0 fm 0 fm World initStep + 1 25.8 um -15.3 cm 1.51 cm 230 keV 52.6 eV 25.1 um 25.1 um World eIoni + 2 13.1 um -15.5 cm 1.52 cm 21.7 MeV 864 eV 2.15 mm 2.18 mm World eIoni + 3 3.15 um -16.5 cm 1.52 cm 122 MeV 1.47 keV 1 cm 1.22 cm World eIoni + 4 -10.5 um -20 cm 1.52 cm 472 MeV 9.19 keV 3.51 cm 4.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.15 um -16.5 cm 1.52 cm 1.86 keV 0 eV 0 fm 0 fm World initStep + 1 12.2 um -16.5 cm 1.52 cm 1.52 MeV 1.86 keV 139 um 139 um World eIoni + 2 34.4 um -20 cm 1.52 cm 351 MeV 4.52 keV 3.49 cm 3.51 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.1 um -15.5 cm 1.52 cm 1.27 keV 0 eV 0 fm 0 fm World initStep + 1 17 um -15.5 cm 1.52 cm 881 keV 1.27 keV 80.2 um 80.2 um World eIoni + 2 28.5 um -17.3 cm 1.52 cm 179 MeV 2.22 keV 1.78 cm 1.79 cm World eIoni + 3 23.3 um -19.8 cm 1.51 cm 427 MeV 5.46 keV 2.49 cm 4.27 cm World eIoni + 4 23.2 um -20 cm 1.51 cm 451 MeV 227 eV 2.35 mm 4.51 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 23.3 um -19.8 cm 1.51 cm 5.27 keV 0 eV 0 fm 0 fm World initStep + 1 17.8 um -19.8 cm 1.52 cm 1.08 MeV 408 eV 106 um 106 um World eIoni + 2 9.53 um -20 cm 1.52 cm 23.5 MeV 265 eV 2.25 mm 2.35 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 28.5 um -17.3 cm 1.52 cm 6.79 keV 0 eV 0 fm 0 fm World initStep + 1 69.6 um -17.4 cm 1.52 cm 12.7 MeV 6.79 keV 1.2 mm 1.2 mm World eIoni + 2 76.1 um -17.6 cm 1.52 cm 28.7 MeV 115 eV 1.59 mm 2.8 mm World eIoni + 3 95.2 um -20 cm 1.52 cm 273 MeV 6.28 keV 2.44 cm 2.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -15.8 cm 2.11 cm 1.63 GeV 36 keV 16.3 cm 16.3 cm World eIoni + 2 1.89 um -20 cm 2.22 cm 2.05 GeV 11.2 keV 4.15 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -15.8 cm 2.11 cm 14 keV 0 eV 0 fm 0 fm World initStep + 1 -52.5 um -16.1 cm 2.11 cm 24.6 MeV 3.7 keV 2.35 mm 2.35 mm World eIoni + 2 -55.6 um -16.2 cm 2.11 cm 35.6 MeV 289 eV 1.11 mm 3.46 mm World eIoni + 3 -77 um -20 cm 2.11 cm 417 MeV 8.85 keV 3.81 cm 4.16 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -12 cm 1.97 cm 1.25 GeV 22 keV 12.5 cm 12.5 cm World eIoni + 2 1.69 um -20 cm 2.22 cm 2.05 GeV 19.9 keV 8.04 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -12 cm 1.97 cm 1.35 keV 0 eV 0 fm 0 fm World initStep + 1 -5.96 um -12 cm 1.97 cm 959 keV 1.35 keV 87.2 um 87.2 um World eIoni + 2 -27.2 um -20 cm 1.97 cm 803 MeV 11.4 keV 8.02 cm 8.03 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.7 cm 1.42 cm 420 MeV 9.06 keV 4.17 cm 4.17 cm World eIoni + 2 -2.6 um -6.22 cm 1.66 cm 672 MeV 3.41 keV 2.53 cm 6.7 cm World eIoni + 3 -8.12 um -13.2 cm 2.02 cm 1.37 GeV 15.2 keV 7 cm 13.7 cm World eIoni + 4 -8.14 um -13.2 cm 2.02 cm 1.37 GeV 89.4 eV 430 um 13.7 cm World eIoni + 5 -9.3 um -20 cm 2.22 cm 2.05 GeV 14.8 keV 6.76 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.14 um -13.2 cm 2.02 cm 1.58 keV 0 eV 0 fm 0 fm World initStep + 1 -13 um -13.3 cm 2.02 cm 1.2 MeV 1.58 keV 109 um 109 um World eIoni + 2 -28.3 um -20 cm 2.02 cm 676 MeV 8.51 keV 6.74 cm 6.75 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.12 um -13.2 cm 2.02 cm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -11.7 um -13.2 cm 2.02 cm 723 keV 1.1 keV 65.7 um 65.7 um World eIoni + 2 -26.1 um -20 cm 2.02 cm 680 MeV 7.26 keV 6.79 cm 6.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.6 um -6.22 cm 1.66 cm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 804 nm -6.22 cm 1.66 cm 692 keV 1.07 keV 62.8 um 62.8 um World eIoni + 2 16.2 um -20 cm 1.66 cm 1.38 GeV 20.3 keV 13.8 cm 13.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.7 cm 1.42 cm 8.3 keV 0 eV 0 fm 0 fm World initStep + 1 29.8 um -3.85 cm 1.41 cm 15.9 MeV 5.92 keV 1.5 mm 1.5 mm World eIoni + 2 31.1 um -3.89 cm 1.41 cm 20.1 MeV 19.1 eV 419 um 1.92 mm World eIoni + 3 47.2 um -6.81 cm 1.41 cm 312 MeV 6.62 keV 2.92 cm 3.11 cm World eIoni + 4 49.3 um -10.2 cm 1.41 cm 649 MeV 7.7 keV 3.38 cm 6.49 cm World eIoni + 5 55.4 um -13.1 cm 1.41 cm 936 MeV 6.18 keV 2.87 cm 9.36 cm World eIoni + 6 80.5 um -19.8 cm 1.41 cm 1.61 GeV 13.2 keV 6.75 cm 16.1 cm World eIoni + 7 81 um -20 cm 1.41 cm 1.63 GeV 292 eV 1.99 mm 16.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 80.5 um -19.8 cm 1.41 cm 1.25 keV 0 eV 0 fm 0 fm World initStep + 1 80.6 um -19.8 cm 1.41 cm 862 keV 1.25 keV 78.4 um 78.4 um World eIoni + 2 80.6 um -20 cm 1.41 cm 20 MeV 159 eV 1.91 mm 1.99 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 55.4 um -13.1 cm 1.41 cm 267 keV 0 eV 0 fm 0 fm World initStep + 1 -139 um -15.7 cm 1.44 cm 264 MeV 5.39 keV 2.64 cm 2.64 cm World eIoni + 2 -167 um -19.4 cm 1.44 cm 636 MeV 7.02 keV 3.72 cm 6.36 cm World eIoni + 3 -169 um -20 cm 1.44 cm 695 MeV 671 eV 5.94 mm 6.95 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -167 um -19.4 cm 1.44 cm 3.6 keV 0 eV 0 fm 0 fm World initStep + 1 -183 um -19.4 cm 1.45 cm 4.37 MeV 3.6 keV 407 um 407 um World eIoni + 2 -196 um -20 cm 1.45 cm 59.8 MeV 437 eV 5.54 mm 5.95 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -139 um -15.7 cm 1.44 cm 1.88 keV 0 eV 0 fm 0 fm World initStep + 1 -134 um -15.7 cm 1.44 cm 1.55 MeV 1.88 keV 141 um 141 um World eIoni + 2 -121 um -19.6 cm 1.44 cm 389 MeV 4.5 keV 3.87 cm 3.89 cm World eIoni + 3 -121 um -20 cm 1.44 cm 431 MeV 881 eV 4.23 mm 4.31 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -121 um -19.6 cm 1.44 cm 5.84 keV 0 eV 0 fm 0 fm World initStep + 1 -121 um -19.6 cm 1.44 cm 87.7 keV 0 eV 9.54 um 9.54 um World eIoni + 2 -121 um -20 cm 1.44 cm 42.3 MeV 2.04 keV 4.22 mm 4.23 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 49.3 um -10.2 cm 1.41 cm 19.9 keV 0 eV 0 fm 0 fm World initStep + 1 -11.9 um -10.3 cm 1.41 cm 12.9 MeV 2.6 keV 1.26 mm 1.26 mm World eIoni + 2 -71.5 um -20 cm 1.41 cm 982 MeV 15.9 keV 9.69 cm 9.82 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 47.2 um -6.81 cm 1.41 cm 1.72 keV 0 eV 0 fm 0 fm World initStep + 1 52.6 um -6.82 cm 1.41 cm 1.35 MeV 1.72 keV 124 um 124 um World eIoni + 2 56.7 um -6.89 cm 1.41 cm 8.27 MeV 27.5 eV 691 um 815 um World eIoni + 3 77.5 um -10.7 cm 1.41 cm 393 MeV 9.06 keV 3.85 cm 3.93 cm World eIoni + 4 81.4 um -13.5 cm 1.41 cm 670 MeV 3.98 keV 2.77 cm 6.7 cm World eIoni + 5 85.9 um -16.8 cm 1.41 cm 1 GeV 10.4 keV 3.34 cm 10 cm World eBrem + 6 89 um -20 cm 1.41 cm 1.32 GeV 9.14 keV 3.15 cm 13.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 81.4 um -13.5 cm 1.41 cm 1.64 keV 0 eV 0 fm 0 fm World initStep + 1 73.6 um -13.5 cm 1.41 cm 1.26 MeV 1.64 keV 115 um 115 um World eIoni + 2 49.9 um -20 cm 1.41 cm 649 MeV 10.6 keV 6.48 cm 6.49 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 77.5 um -10.7 cm 1.41 cm 1.13 keV 0 eV 0 fm 0 fm World initStep + 1 74.5 um -10.7 cm 1.41 cm 746 keV 1.13 keV 67.8 um 67.8 um World eIoni + 2 61.7 um -20 cm 1.41 cm 927 MeV 9.54 keV 9.26 cm 9.27 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 56.7 um -6.89 cm 1.41 cm 1.6 keV 0 eV 0 fm 0 fm World initStep + 1 51.5 um -6.9 cm 1.41 cm 1.22 MeV 1.6 keV 111 um 111 um World eIoni + 2 35.8 um -11.9 cm 1.41 cm 498 MeV 8.67 keV 4.97 cm 4.98 cm WorldTransportation + 3 35.8 um -11.9 cm 1.41 cm 498 MeV2.06e-12 eV 0.00983 fm 4.98 cm World eIoni + 4 31.7 um -17.8 cm 1.41 cm 1.09 GeV 15.2 keV 5.94 cm 10.9 cm World eIoni + 5 31.5 um -20 cm 1.41 cm 1.31 GeV 5.27 keV 2.19 cm 13.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 31.7 um -17.8 cm 1.41 cm 2.31 keV 0 eV 0 fm 0 fm World initStep + 1 22.3 um -17.8 cm 1.41 cm 2.12 MeV 2.31 keV 195 um 195 um World eIoni + 2 11.8 um -18.2 cm 1.41 cm 38.4 MeV 378 eV 3.63 mm 3.82 mm WorldTransportation + 3 11.8 um -18.2 cm 1.41 cm 38.4 MeV 0 eV 0 fm 3.82 mm World eIoni + 4 4.98 um -20 cm 1.41 cm 220 MeV 1.91 keV 1.81 cm 2.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 35.8 um -11.9 cm 1.41 cm 1.47 keV 0 eV 0 fm 0 fm World initStep + 1 40.2 um -11.9 cm 1.41 cm 1.08 MeV 1.47 keV 98 um 98 um World eIoni + 2 55.2 um -20 cm 1.42 cm 813 MeV 12.2 keV 8.12 cm 8.13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 41.2 keV 20.5 cm 20.5 cm OutOfWorldTransportation ---> Begin of Event: 50 @@ -3963,286 +3308,120 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.31 cm 9.87 mm 181 MeV 3.09 keV 1.75 cm 1.75 cm World eIoni - 2 5.56 um -10.6 cm 1.91 cm 1.11 GeV 20.1 keV 9.38 cm 11.1 cm World eIoni - 3 8.4 um -16.5 cm 2.12 cm 1.7 GeV 12.2 keV 5.84 cm 17 cm World eIoni - 4 8.7 um -18.6 cm 2.18 cm 1.91 GeV 5.77 keV 2.11 cm 19.1 cm World eIoni - 5 9.2 um -20 cm 2.22 cm 2.05 GeV 3.7 keV 1.42 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -5.04 cm 1.56 cm 554 MeV 8.3 keV 5.53 cm 5.53 cm World eIoni + 2 1.62 um -8.53 cm 1.81 cm 903 MeV 9.53 keV 3.5 cm 9.02 cm World eIoni + 3 1.96 um -11.9 cm 1.97 cm 1.24 GeV 8.8 keV 3.42 cm 12.4 cm World eIoni + 4 2.49 um -12.8 cm 2 cm 1.33 GeV 1.54 keV 8.46 mm 13.3 cm World eIoni + 5 4.73 um -18.9 cm 2.19 cm 1.94 GeV 11.8 keV 6.13 cm 19.4 cm World eIoni + 6 5.48 um -20 cm 2.22 cm 2.05 GeV 1.81 keV 1.09 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.73 um -18.9 cm 2.19 cm 6.34 keV 0 eV 0 fm 0 fm World initStep + 1 -33.8 um -19 cm 2.19 cm 11.5 MeV 5.59 keV 1.09 mm 1.09 mm World eIoni + 2 -45.4 um -19.4 cm 2.19 cm 50.7 MeV 702 eV 3.92 mm 5 mm World eIoni + 3 -51.5 um -20 cm 2.19 cm 109 MeV 1.14 keV 5.87 mm 1.09 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.7 um -18.6 cm 2.18 cm 16 keV 0 eV 0 fm 0 fm World initStep - 1 -21 um -18.8 cm 2.17 cm 27.6 MeV 3.18 keV 2.65 mm 2.65 mm World eIoni - 2 -21.5 um -18.9 cm 2.17 cm 31.2 MeV 0 eV 359 um 3.01 mm World eIoni - 3 -28.4 um -20 cm 2.17 cm 143 MeV 1.86 keV 1.12 cm 1.42 cm OutOfWorldTransportation + 0 2.49 um -12.8 cm 2 cm 1.08 keV 0 eV 0 fm 0 fm World initStep + 1 5.81 um -12.8 cm 2 cm 702 keV 1.08 keV 63.9 um 63.9 um World eIoni + 2 19.6 um -20 cm 2 cm 721 MeV 11.1 keV 7.2 cm 7.21 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.4 um -16.5 cm 2.12 cm 2.04 keV 0 eV 0 fm 0 fm World initStep - 1 17.8 um -16.5 cm 2.12 cm 1.75 MeV 2.04 keV 160 um 160 um World eIoni - 2 39 um -20 cm 2.12 cm 353 MeV 5.64 keV 3.52 cm 3.53 cm OutOfWorldTransportation + 0 1.96 um -11.9 cm 1.97 cm 11.1 keV 0 eV 0 fm 0 fm World initStep + 1 -39.3 um -12.1 cm 1.96 cm 20.4 MeV 5.31 keV 1.94 mm 1.94 mm World eIoni + 2 -44.2 um -12.3 cm 1.96 cm 41.6 MeV 256 eV 2.12 mm 4.06 mm World eIoni + 3 -52.2 um -13.2 cm 1.96 cm 130 MeV 1.07 keV 8.85 mm 1.29 cm World eIoni + 4 -62.6 um -20 cm 1.96 cm 807 MeV 14.7 keV 6.77 cm 8.06 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.56 um -10.6 cm 1.91 cm 1.59 keV 0 eV 0 fm 0 fm World initStep - 1 -1.57 um -10.6 cm 1.91 cm 1.2 MeV 1.59 keV 110 um 110 um World eIoni - 2 -22.7 um -15.2 cm 1.91 cm 458 MeV 9.92 keV 4.57 cm 4.58 cm World eIoni - 3 -27.3 um -20 cm 1.91 cm 937 MeV 10 keV 4.79 cm 9.37 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -22.7 um -15.2 cm 1.91 cm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 -18.7 um -15.2 cm 1.91 cm 644 keV 1.01 keV 58.6 um 58.6 um World eIoni - 2 -2.22 um -19.7 cm 1.91 cm 447 MeV 6.62 keV 4.46 cm 4.47 cm World eIoni - 3 -2.05 um -20 cm 1.91 cm 479 MeV 433 eV 3.24 mm 4.79 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.31 cm 9.87 mm 7.16 keV 0 eV 0 fm 0 fm World initStep - 1 -7.87 um -1.34 cm 9.89 mm 2.62 MeV 572 eV 253 um 253 um World eIoni - 2 -16 um -1.75 cm 9.91 mm 43.8 MeV 1.44 keV 4.12 mm 4.37 mm World eIoni - 3 -23.5 um -6.21 cm 9.93 mm 489 MeV 9.13 keV 4.46 cm 4.89 cm World eIoni - 4 -27.8 um -10.5 cm 9.94 mm 916 MeV 8.74 keV 4.26 cm 9.16 cm World eIoni - 5 -30.3 um -20 cm 9.94 mm 1.87 GeV 16 keV 9.53 cm 18.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -27.8 um -10.5 cm 9.94 mm 1.24 keV 0 eV 0 fm 0 fm World initStep - 1 -33.6 um -10.5 cm 9.94 mm 849 keV 1.24 keV 77.2 um 77.2 um World eIoni - 2 -56.2 um -18.8 cm 9.94 mm 833 MeV 8.48 keV 8.32 cm 8.33 cm World eIoni - 3 -56.4 um -20 cm 9.95 mm 953 MeV 3.41 keV 1.2 cm 9.53 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -23.5 um -6.21 cm 9.93 mm 1.47 keV 0 eV 0 fm 0 fm World initStep - 1 -16.4 um -6.22 cm 9.93 mm 1.08 MeV 1.47 keV 98.2 um 98.2 um World eIoni - 2 -1.39 um -6.92 cm 9.93 mm 71.4 MeV 717 eV 7.04 mm 7.13 mm World eIoni - 3 17 um -15.3 cm 9.92 mm 907 MeV 16.4 keV 8.36 cm 9.07 cm World eIoni - 4 25.6 um -20 cm 9.92 mm 1.38 GeV 10.7 keV 4.72 cm 13.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 17 um -15.3 cm 9.92 mm 19 keV 0 eV 0 fm 0 fm World initStep - 1 -77.4 um -15.6 cm 9.9 mm 32.3 MeV 6.28 keV 3.11 mm 3.11 mm World eIoni - 2 -92.9 um -16.3 cm 9.89 mm 103 MeV 2.58 keV 7.07 mm 1.02 cm World eIoni - 3 -113 um -20 cm 9.89 mm 474 MeV 5.39 keV 3.71 cm 4.73 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.39 um -6.92 cm 9.93 mm 1.55 keV 0 eV 0 fm 0 fm World initStep - 1 -7.44 um -6.93 cm 9.93 mm 1.17 MeV 1.55 keV 107 um 107 um World eIoni - 2 -28.9 um -20 cm 9.95 mm 1.31 GeV 19.3 keV 13.1 cm 13.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.17 cm 9.44 mm 167 MeV 3 keV 1.6 cm 1.6 cm World eIoni - 2 13.5 um -7.45 cm 1.74 cm 795 MeV 14.2 keV 6.35 cm 7.94 cm World eIoni - 3 20.7 um -19.3 cm 2.2 cm 1.97 GeV 22.1 keV 11.8 cm 19.7 cm World eIoni - 4 20.7 um -20 cm 2.22 cm 2.05 GeV 1.64 keV 7.5 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 20.7 um -19.3 cm 2.2 cm 7.86 keV 0 eV 0 fm 0 fm World initStep - 1 65.5 um -19.4 cm 2.2 cm 15.1 MeV 4.72 keV 1.43 mm 1.43 mm World eIoni - 2 78.6 um -20 cm 2.2 cm 73.8 MeV 703 eV 5.87 mm 7.3 mm World eIoni - 3 78.7 um -20 cm 2.2 cm 76 MeV 0 eV 224 um 7.52 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 13.5 um -7.45 cm 1.74 cm 1.28 keV 0 eV 0 fm 0 fm World initStep - 1 14.5 um -7.46 cm 1.74 cm 884 keV 1.28 keV 80.6 um 80.6 um World eIoni - 2 15.3 um -7.5 cm 1.74 cm 4.81 MeV 103 eV 392 um 473 um World eIoni - 3 26.5 um -11 cm 1.74 cm 358 MeV 7.26 keV 3.53 cm 3.58 cm World eIoni - 4 26.1 um -16.4 cm 1.74 cm 891 MeV 11.4 keV 5.33 cm 8.91 cm World eIoni - 5 25 um -20 cm 1.74 cm 1.25 GeV 8.06 keV 3.63 cm 12.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 26.1 um -16.4 cm 1.74 cm 1.22 keV 0 eV 0 fm 0 fm World initStep - 1 31.9 um -16.4 cm 1.74 cm 834 keV 1.22 keV 75.9 um 75.9 um World eIoni - 2 47.6 um -17.3 cm 1.74 cm 93.4 MeV 753 eV 9.26 mm 9.34 mm World eIoni - 3 53.4 um -20 cm 1.74 cm 363 MeV 4.48 keV 2.7 cm 3.63 cm OutOfWorldTransportation + 0 -52.2 um -13.2 cm 1.96 cm 16 keV 0 eV 0 fm 0 fm World initStep + 1 -60.7 um -13.5 cm 1.97 cm 27.5 MeV 6.43 keV 2.64 mm 2.64 mm World eIoni + 2 -62.1 um -14 cm 1.97 cm 83 MeV 928 eV 5.55 mm 8.2 mm World eIoni + 3 -62.8 um -14.7 cm 1.97 cm 143 MeV 743 eV 6.02 mm 1.42 cm World eIoni + 4 -68 um -20 cm 1.97 cm 678 MeV 11.7 keV 5.35 cm 6.77 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 47.6 um -17.3 cm 1.74 cm 1.23 keV 0 eV 0 fm 0 fm World initStep - 1 46.4 um -17.3 cm 1.74 cm 835 keV 1.23 keV 75.9 um 75.9 um World eIoni - 2 42.8 um -20 cm 1.74 cm 270 MeV 2.82 keV 2.69 cm 2.7 cm OutOfWorldTransportation + 0 -62.8 um -14.7 cm 1.97 cm 1.16 keV 0 eV 0 fm 0 fm World initStep + 1 -59.6 um -14.7 cm 1.97 cm 776 keV 1.16 keV 70.6 um 70.6 um World eIoni + 2 -47.4 um -20 cm 1.98 cm 535 MeV 9.64 keV 5.34 cm 5.35 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 26.5 um -11 cm 1.74 cm 1.54 keV 0 eV 0 fm 0 fm World initStep - 1 32.2 um -11 cm 1.74 cm 1.16 MeV 1.54 keV 106 um 106 um World eIoni - 2 48.1 um -13.9 cm 1.74 cm 285 MeV 4.17 keV 2.84 cm 2.85 cm World eIoni - 3 45.8 um -20 cm 1.74 cm 897 MeV 14.8 keV 6.11 cm 8.97 cm OutOfWorldTransportation + 0 1.62 um -8.53 cm 1.81 cm 1.02 keV 0 eV 0 fm 0 fm World initStep + 1 4.94 um -8.54 cm 1.81 cm 654 keV 1.02 keV 59.6 um 59.6 um World eIoni + 2 18.4 um -12.4 cm 1.8 cm 383 MeV 7.08 keV 3.82 cm 3.83 cm World eIoni + 3 18.8 um -16.7 cm 1.81 cm 813 MeV 7.31 keV 4.32 cm 8.14 cm World eBrem + 4 18.9 um -20 cm 1.81 cm 1.15 GeV 6.48 keV 3.32 cm 11.5 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 48.1 um -13.9 cm 1.74 cm 4.69 keV 0 eV 0 fm 0 fm World initStep - 1 67.4 um -14 cm 1.74 cm 6.84 MeV 4.69 keV 641 um 641 um World eIoni - 2 70 um -14 cm 1.74 cm 11.7 MeV 0 eV 485 um 1.13 mm World eIoni - 3 88.4 um -18.7 cm 1.74 cm 485 MeV 7.48 keV 4.74 cm 4.85 cm World eIoni - 4 88.5 um -18.8 cm 1.74 cm 493 MeV 98.2 eV 802 um 4.93 cm World eIoni - 5 90.9 um -20 cm 1.74 cm 612 MeV 1.84 keV 1.18 cm 6.11 cm OutOfWorldTransportation + 0 18.8 um -16.7 cm 1.81 cm 1.3 MeV 0 eV 0 fm 0 fm World initStep + 1 -20 um -20 cm 1.81 cm 1.3 MeV 0 eV 3.32 cm 3.32 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 18.4 um -12.4 cm 1.8 cm 1.59 keV 0 eV 0 fm 0 fm World initStep + 1 21.7 um -12.4 cm 1.8 cm 1.2 MeV 1.59 keV 110 um 110 um World eIoni + 2 31.3 um -16.4 cm 1.8 cm 408 MeV 4.6 keV 4.07 cm 4.08 cm World eIoni + 3 28.9 um -20 cm 1.8 cm 764 MeV 6.62 keV 3.56 cm 7.64 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 88.5 um -18.8 cm 1.74 cm 2.78 keV 0 eV 0 fm 0 fm World initStep - 1 74.1 um -18.8 cm 1.74 cm 2.85 MeV 2.78 keV 263 um 263 um World eIoni - 2 60 um -19.3 cm 1.74 cm 48.1 MeV 425 eV 4.53 mm 4.79 mm World eIoni - 3 59.7 um -19.6 cm 1.74 cm 82.5 MeV 530 eV 3.43 mm 8.22 mm World eIoni - 4 59.3 um -20 cm 1.74 cm 119 MeV 374 eV 3.61 mm 1.18 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 59.7 um -19.6 cm 1.74 cm 1.47 keV 0 eV 0 fm 0 fm World initStep - 1 62 um -19.6 cm 1.74 cm 1.08 MeV 1.47 keV 98.6 um 98.6 um World eIoni - 2 65.9 um -20 cm 1.74 cm 36.3 MeV 284 eV 3.52 mm 3.62 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 60 um -19.3 cm 1.74 cm 2.14 keV 0 eV 0 fm 0 fm World initStep - 1 49.4 um -19.3 cm 1.74 cm 1.88 MeV 2.14 keV 172 um 172 um World eIoni - 2 33.8 um -20 cm 1.74 cm 70.6 MeV 926 eV 6.88 mm 7.05 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 88.4 um -18.7 cm 1.74 cm 2.2 keV 0 eV 0 fm 0 fm World initStep - 1 84.6 um -18.8 cm 1.74 cm 1.96 MeV 2.2 keV 180 um 180 um World eIoni - 2 78.2 um -20 cm 1.74 cm 127 MeV 1.55 keV 1.25 cm 1.26 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 15.3 um -7.5 cm 1.74 cm 1.66 keV 0 eV 0 fm 0 fm World initStep - 1 11.4 um -7.51 cm 1.74 cm 1.29 MeV 1.66 keV 117 um 117 um World eIoni - 2 -1.71 um -20 cm 1.74 cm 1.25 GeV 16.1 keV 12.5 cm 12.5 cm OutOfWorldTransportation + 0 31.3 um -16.4 cm 1.8 cm 5.46 keV 0 eV 0 fm 0 fm World initStep + 1 54.9 um -16.5 cm 1.8 cm 8.92 MeV 5.46 keV 839 um 839 um World eIoni + 2 63.2 um -16.9 cm 1.81 cm 42.4 MeV 254 eV 3.35 mm 4.19 mm World eIoni + 3 75.1 um -20 cm 1.81 cm 356 MeV 6 keV 3.14 cm 3.56 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.17 cm 9.44 mm 7.27 keV 0 eV 0 fm 0 fm World initStep - 1 -29.4 um -1.22 cm 9.43 mm 5.73 MeV 1.43 keV 548 um 548 um World eIoni - 2 -73.1 um -11.2 cm 9.43 mm 1.01 GeV 17.9 keV 10 cm 10.1 cm World eIoni - 3 -75.4 um -20 cm 9.43 mm 1.88 GeV 20.4 keV 8.77 cm 18.8 cm OutOfWorldTransportation + 0 0 fm -5.04 cm 1.56 cm 1.78 keV 0 eV 0 fm 0 fm World initStep + 1 -6.85 um -5.06 cm 1.56 cm 1.43 MeV 1.78 keV 130 um 130 um World eIoni + 2 -28.9 um -18.6 cm 1.56 cm 1.35 GeV 23.3 keV 13.5 cm 13.5 cm World eIoni + 3 -29.5 um -20 cm 1.56 cm 1.5 GeV 2.2 keV 1.45 cm 15 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -73.1 um -11.2 cm 9.43 mm 2.32 keV 0 eV 0 fm 0 fm World initStep - 1 -82 um -11.3 cm 9.42 mm 2.13 MeV 2.32 keV 196 um 196 um World eIoni - 2 -95 um -12.2 cm 9.41 mm 93.7 MeV 1.14 keV 9.15 mm 9.35 mm World eIoni - 3 -101 um -16.7 cm 9.4 mm 550 MeV 12.6 keV 4.56 cm 5.5 cm World eIoni - 4 -102 um -17 cm 9.4 mm 581 MeV 833 eV 3.07 mm 5.8 cm World eIoni - 5 -103 um -18.1 cm 9.4 mm 692 MeV 3.24 keV 1.11 cm 6.91 cm World eIoni - 6 -96.2 um -20 cm 9.41 mm 877 MeV 4.49 keV 1.85 cm 8.77 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -103 um -18.1 cm 9.4 mm 120 keV 0 eV 0 fm 0 fm World initStep - 1 -261 um -18.4 cm 9.35 mm 29.3 MeV 639 eV 2.91 mm 2.91 mm World eIoni - 2 -294 um -18.9 cm 9.34 mm 80.2 MeV 677 eV 5.1 mm 8.01 mm World eIoni - 3 -321 um -20 cm 9.32 mm 186 MeV 2.13 keV 1.06 cm 1.86 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 17 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -294 um -18.9 cm 9.34 mm 4.2 keV 0 eV 0 fm 0 fm World initStep - 1 -298 um -19 cm 9.36 mm 5.66 MeV 4.2 keV 529 um 529 um World eIoni - 2 -301 um -19.5 cm 9.38 mm 58.4 MeV 528 eV 5.27 mm 5.8 mm World eIoni - 3 -301 um -20 cm 9.38 mm 106 MeV 1.07 keV 4.77 mm 1.06 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -102 um -17 cm 9.4 mm 3.02 keV 0 eV 0 fm 0 fm World initStep - 1 -114 um -17.1 cm 9.39 mm 3.25 MeV 3.02 keV 301 um 301 um World eIoni - 2 -124 um -17.6 cm 9.38 mm 54.6 MeV 721 eV 5.13 mm 5.43 mm World eIoni - 3 -131 um -20 cm 9.38 mm 297 MeV 5 keV 2.42 cm 2.96 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -101 um -16.7 cm 9.4 mm 3.14 keV 0 eV 0 fm 0 fm World initStep - 1 -84.8 um -16.8 cm 9.41 mm 3.48 MeV 3.14 keV 323 um 323 um World eIoni - 2 -78 um -16.9 cm 9.41 mm 12.8 MeV 227 eV 927 um 1.25 mm World eIoni - 3 -60 um -20 cm 9.41 mm 327 MeV 7.23 keV 3.15 cm 3.27 cm OutOfWorldTransportation + 0 -28.9 um -18.6 cm 1.56 cm 1.39 keV 0 eV 0 fm 0 fm World initStep + 1 -24 um -18.6 cm 1.56 cm 997 keV 1.39 keV 90.7 um 90.7 um World eIoni + 2 -11.2 um -20 cm 1.56 cm 145 MeV 1.31 keV 1.44 cm 1.45 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4250,107 +3429,50 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -9.69 cm 1.87 cm 1.02 GeV 22.7 keV 10.2 cm 10.2 cm World eIoni - 2 -1.56 um -14.6 cm 2.07 cm 1.51 GeV 9.92 keV 4.9 cm 15.1 cm World eIoni - 3 -2.06 um -16.8 cm 2.14 cm 1.73 GeV 5.16 keV 2.24 cm 17.3 cm World eIoni - 4 -2.65 um -18.6 cm 2.18 cm 1.91 GeV 2.88 keV 1.73 cm 19.1 cm World eIoni - 5 -3.29 um -20 cm 2.22 cm 2.05 GeV 2.25 keV 1.44 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.65 um -18.6 cm 2.18 cm 1.48 keV 0 eV 0 fm 0 fm World initStep - 1 2.01 um -18.6 cm 2.18 cm 1.1 MeV 1.48 keV 99.6 um 99.6 um World eIoni - 2 12.8 um -20 cm 2.19 cm 144 MeV 2.43 keV 1.43 cm 1.44 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.06 um -16.8 cm 2.14 cm 2 keV 0 eV 0 fm 0 fm World initStep - 1 3.69 um -16.8 cm 2.13 cm 1.69 MeV 2 keV 155 um 155 um World eIoni - 2 16.7 um -20 cm 2.13 cm 318 MeV 6.26 keV 3.16 cm 3.18 cm OutOfWorldTransportation + 1 0 fm -5.36 cm 1.59 cm 586 MeV 11.1 keV 5.84 cm 5.84 cm World eIoni + 2 670 nm -5.7 cm 1.62 cm 620 MeV 1.69 keV 3.4 mm 6.18 cm World eIoni + 3 13.1 um -20 cm 2.22 cm 2.05 GeV 29.9 keV 14.3 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.56 um -14.6 cm 2.07 cm 1.16 keV 0 eV 0 fm 0 fm World initStep - 1 -2.12 um -14.6 cm 2.07 cm 772 keV 1.16 keV 70.1 um 70.1 um World eIoni - 2 -4.26 um -20 cm 2.07 cm 541 MeV 8.35 keV 5.41 cm 5.41 cm OutOfWorldTransportation + 0 670 nm -5.7 cm 1.62 cm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 2.92 um -5.7 cm 1.62 cm 679 keV 1.05 keV 61.6 um 61.6 um World eIoni + 2 13.7 um -20 cm 1.62 cm 1.43 GeV 17.6 keV 14.3 cm 14.3 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -9.69 cm 1.87 cm 1.6 keV 0 eV 0 fm 0 fm World initStep - 1 7.76 um -9.7 cm 1.87 cm 1.22 MeV 1.6 keV 112 um 112 um World eIoni - 2 33.6 um -20 cm 1.87 cm 1.03 GeV 19.4 keV 10.3 cm 10.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -13.7 cm 2.04 cm 1.42 GeV 28.1 keV 14.2 cm 14.2 cm World eIoni - 2 900 nm -15.6 cm 2.1 cm 1.61 GeV 5.05 keV 1.91 cm 16.1 cm World eIoni - 3 4.69 um -20 cm 2.22 cm 2.05 GeV 7.89 keV 4.4 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 900 nm -15.6 cm 2.1 cm 7.17 keV 0 eV 0 fm 0 fm World initStep - 1 -42.8 um -15.7 cm 2.1 cm 13.6 MeV 5.96 keV 1.29 mm 1.29 mm World eIoni - 2 -55.4 um -16.2 cm 2.1 cm 61.2 MeV 626 eV 4.76 mm 6.05 mm World eIoni - 3 -61.6 um -16.9 cm 2.1 cm 127 MeV 3.06 keV 6.62 mm 1.27 cm World eIoni - 4 -75.4 um -20 cm 2.1 cm 441 MeV 8.2 keV 3.14 cm 4.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -61.6 um -16.9 cm 2.1 cm 1.85 keV 0 eV 0 fm 0 fm World initStep - 1 -56.2 um -16.9 cm 2.1 cm 1.51 MeV 1.85 keV 138 um 138 um World eIoni - 2 -43.3 um -20 cm 2.1 cm 314 MeV 1.74 keV 3.12 cm 3.14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -13.7 cm 2.04 cm 7.86 keV 0 eV 0 fm 0 fm World initStep - 1 -38 um -13.8 cm 2.03 cm 15.1 MeV 4.02 keV 1.43 mm 1.43 mm World eIoni - 2 -42.7 um -14 cm 2.03 cm 29.8 MeV 110 eV 1.47 mm 2.89 mm World eIoni - 3 -48.3 um -14.3 cm 2.03 cm 65.8 MeV 404 eV 3.61 mm 6.5 mm World eIoni - 4 -73.9 um -20 cm 2.03 cm 632 MeV 10.9 keV 5.66 cm 6.31 cm OutOfWorldTransportation + 0 0 fm -5.36 cm 1.59 cm 15.9 keV 0 eV 0 fm 0 fm World initStep + 1 -77.8 um -5.62 cm 1.58 cm 27.4 MeV 4.27 keV 2.63 mm 2.63 mm World eIoni + 2 -79.1 um -5.65 cm 1.58 cm 30.6 MeV 4.65 eV 316 um 2.95 mm World eIoni + 3 -119 um -13.7 cm 1.58 cm 833 MeV 14 keV 8.03 cm 8.32 cm World eIoni + 4 -122 um -17.8 cm 1.58 cm 1.24 GeV 10.4 keV 4.09 cm 12.4 cm World eIoni + 5 -123 um -20 cm 1.58 cm 1.47 GeV 4.84 keV 2.23 cm 14.6 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -48.3 um -14.3 cm 2.03 cm 1.5 keV 0 eV 0 fm 0 fm World initStep - 1 -41.1 um -14.4 cm 2.03 cm 1.11 MeV 1.5 keV 101 um 101 um World eIoni - 2 -19.4 um -18.3 cm 2.03 cm 395 MeV 5.11 keV 3.94 cm 3.95 cm World eIoni - 3 -17 um -20 cm 2.03 cm 566 MeV 2.53 keV 1.71 cm 5.66 cm OutOfWorldTransportation + 0 -122 um -17.8 cm 1.58 cm 1.06 keV 0 eV 0 fm 0 fm World initStep + 1 -118 um -17.8 cm 1.58 cm 686 keV 1.06 keV 62.4 um 62.4 um World eIoni + 2 -106 um -20 cm 1.58 cm 224 MeV 3.1 keV 2.23 cm 2.23 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -19.4 um -18.3 cm 2.03 cm 1.43 keV 0 eV 0 fm 0 fm World initStep - 1 -26.2 um -18.3 cm 2.03 cm 1.03 MeV 1.43 keV 94 um 94 um World eIoni - 2 -44.4 um -20 cm 2.03 cm 171 MeV 3.79 keV 1.7 cm 1.71 cm OutOfWorldTransportation + 0 -119 um -13.7 cm 1.58 cm 3.25 keV 0 eV 0 fm 0 fm World initStep + 1 -130 um -13.7 cm 1.58 cm 3.67 MeV 3.25 keV 341 um 341 um World eIoni + 2 -138 um -14.1 cm 1.58 cm 38.8 MeV 1.39 keV 3.51 mm 3.85 mm WorldTransportation + 3 -138 um -14.1 cm 1.58 cm 38.8 MeV7.9e-14 eV 0.000414 fm 3.85 mm World eIoni + 4 -149 um -20 cm 1.58 cm 633 MeV 11.7 keV 5.94 cm 6.33 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4358,3545 +3480,93 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.51 cm 1.6 cm 601 MeV 10.7 keV 5.99 cm 5.99 cm World eIoni - 2 -6.23 um -20 cm 2.22 cm 2.05 GeV 29.4 keV 14.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.51 cm 1.6 cm 5.15 keV 0 eV 0 fm 0 fm World initStep - 1 20.9 um -5.58 cm 1.6 cm 8.07 MeV 5.15 keV 758 um 758 um World eIoni - 2 31.6 um -6.2 cm 1.6 cm 69.8 MeV 510 eV 6.17 mm 6.93 mm World eIoni - 3 47.4 um -19.4 cm 1.6 cm 1.39 GeV 24.9 keV 13.2 cm 13.9 cm World eIoni - 4 47.7 um -20 cm 1.6 cm 1.45 GeV 2.26 keV 5.8 mm 14.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 47.4 um -19.4 cm 1.6 cm 1.71 keV 0 eV 0 fm 0 fm World initStep - 1 39 um -19.4 cm 1.6 cm 1.34 MeV 1.71 keV 123 um 123 um World eIoni - 2 24.5 um -20 cm 1.6 cm 58.1 MeV 608 eV 5.68 mm 5.8 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.96 cm 1.32 cm 346 MeV 8.4 keV 3.42 cm 3.42 cm World eIoni - 2 -1.79 um -12.6 cm 1.99 cm 1.31 GeV 20.3 keV 9.66 cm 13.1 cm World eIoni - 3 -134 nm -19.2 cm 2.2 cm 1.97 GeV 15 keV 6.58 cm 19.7 cm World eIoni - 4 295 nm -20 cm 2.22 cm 2.05 GeV 879 eV 8.31 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -134 nm -19.2 cm 2.2 cm 5.01 keV 0 eV 0 fm 0 fm World initStep - 1 -25.7 um -19.2 cm 2.2 cm 7.68 MeV 5.01 keV 720 um 720 um World eIoni - 2 -33.5 um -19.4 cm 2.2 cm 27.6 MeV 284 eV 1.99 mm 2.71 mm World eIoni - 3 -39.9 um -20 cm 2.2 cm 83.7 MeV 544 eV 5.6 mm 8.32 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.79 um -12.6 cm 1.99 cm 4.6 keV 0 eV 0 fm 0 fm World initStep - 1 -22.4 um -12.7 cm 1.99 cm 6.62 MeV 4.6 keV 620 um 620 um World eIoni - 2 -36.8 um -13.6 cm 1.99 cm 101 MeV 3.22 keV 9.46 mm 1.01 cm World eIoni - 3 -46.7 um -18.9 cm 1.99 cm 627 MeV 9.45 keV 5.26 cm 6.27 cm World eIoni - 4 -48.2 um -20 cm 1.99 cm 741 MeV 1.53 keV 1.14 cm 7.41 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -46.7 um -18.9 cm 1.99 cm 1.3 keV 0 eV 0 fm 0 fm World initStep - 1 -40.7 um -18.9 cm 1.99 cm 910 keV 1.3 keV 82.8 um 82.8 um World eIoni - 2 -25.6 um -20 cm 1.99 cm 114 MeV 1.01 keV 1.13 cm 1.14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.96 cm 1.32 cm 2.99 keV 0 eV 0 fm 0 fm World initStep - 1 3.83 um -2.98 cm 1.32 cm 3.2 MeV 2.99 keV 297 um 297 um World eIoni - 2 7.35 um -3.46 cm 1.32 cm 50.5 MeV 791 eV 4.73 mm 5.03 mm World eIoni - 3 11.5 um -12.8 cm 1.31 cm 984 MeV 22.8 keV 9.33 cm 9.84 cm World eIoni - 4 11.2 um -17.3 cm 1.31 cm 1.44 GeV 7.7 keV 4.54 cm 14.4 cm World eIoni - 5 11.5 um -20 cm 1.31 cm 1.7 GeV 5.45 keV 2.67 cm 17 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 11.2 um -17.3 cm 1.31 cm 6 keV 0 eV 0 fm 0 fm World initStep - 1 -3.85 um -17.4 cm 1.31 cm 10.5 MeV 6 keV 992 um 992 um World eIoni - 2 -7.51 um -17.7 cm 1.31 cm 33.3 MeV 424 eV 2.28 mm 3.27 mm World eIoni - 3 -14.4 um -20 cm 1.31 cm 268 MeV 4.27 keV 2.35 cm 2.67 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 11.5 um -12.8 cm 1.31 cm 3.89 keV 0 eV 0 fm 0 fm World initStep - 1 18.9 um -12.8 cm 1.31 cm 4.97 MeV 3.89 keV 464 um 464 um World eIoni - 2 20.1 um -12.9 cm 1.31 cm 8.66 MeV 0 eV 368 um 832 um World eIoni - 3 29.2 um -18.1 cm 1.31 cm 536 MeV 9.09 keV 5.28 cm 5.36 cm World eIoni - 4 29.1 um -20 cm 1.31 cm 721 MeV 3.63 keV 1.85 cm 7.21 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 29.2 um -18.1 cm 1.31 cm 2.85 keV 0 eV 0 fm 0 fm World initStep - 1 37.4 um -18.2 cm 1.31 cm 2.96 MeV 2.85 keV 273 um 273 um World eIoni - 2 38.9 um -18.2 cm 1.31 cm 5.18 MeV 0 eV 222 um 495 um World eIoni - 3 49.4 um -20 cm 1.31 cm 185 MeV 2.51 keV 1.8 cm 1.85 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.34 cm 1.67 cm 684 MeV 12.1 keV 6.83 cm 6.83 cm World eIoni - 2 5.44 um -10.8 cm 1.92 cm 1.13 GeV 8.54 keV 4.45 cm 11.3 cm World eIoni - 3 5.8 um -11.1 cm 1.93 cm 1.16 GeV 1.65 keV 3.01 mm 11.6 cm World eIoni - 4 7.32 um -12.2 cm 1.98 cm 1.27 GeV 3.05 keV 1.14 cm 12.7 cm World eIoni - 5 8.7 um -13.3 cm 2.02 cm 1.38 GeV 1.85 keV 1.03 cm 13.7 cm World eIoni - 6 10.7 um -14.6 cm 2.07 cm 1.51 GeV 3.72 keV 1.37 cm 15.1 cm World eIoni - 7 14.2 um -17.1 cm 2.14 cm 1.76 GeV 5.25 keV 2.5 cm 17.6 cm World eIoni - 8 17.2 um -20 cm 2.22 cm 2.05 GeV 6.61 keV 2.88 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.2 um -17.1 cm 2.14 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 18.3 um -17.1 cm 2.14 cm 684 keV 1.06 keV 62.3 um 62.3 um World eIoni - 2 32.5 um -18.8 cm 2.14 cm 170 MeV 1.93 keV 1.7 cm 1.7 cm World eIoni - 3 30.2 um -20 cm 2.14 cm 287 MeV 2.99 keV 1.17 cm 2.87 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 32.5 um -18.8 cm 2.14 cm 4.88 keV 0 eV 0 fm 0 fm World initStep - 1 60.4 um -18.9 cm 2.14 cm 7.34 MeV 4.88 keV 689 um 689 um World eIoni - 2 65.1 um -19 cm 2.14 cm 14.8 MeV 117 eV 749 um 1.44 mm World eIoni - 3 79.6 um -20 cm 2.14 cm 118 MeV 1.42 keV 1.03 cm 1.17 cm OutOfWorldTransportation + 1 0 fm -2.02 cm 1.16 cm 252 MeV 4.33 keV 2.48 cm 2.48 cm World eIoni + 2 17.7 um -9.53 cm 1.86 cm 1 GeV 14.6 keV 7.55 cm 10 cm World eIoni + 3 18.6 um -11 cm 1.93 cm 1.15 GeV 3.12 keV 1.51 cm 11.5 cm World eIoni + 4 18.6 um -11.1 cm 1.94 cm 1.16 GeV 134 eV 798 um 11.6 cm World eIoni + 5 18.5 um -15.1 cm 2.09 cm 1.56 GeV 6.75 keV 4 cm 15.6 cm World eIoni + 6 18.4 um -15.7 cm 2.1 cm 1.62 GeV 1.44 keV 5.81 mm 16.2 cm World eIoni + 7 16.4 um -20 cm 2.22 cm 2.05 GeV 9.19 keV 4.3 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 10.7 um -14.6 cm 2.07 cm 1.7 keV 0 eV 0 fm 0 fm World initStep - 1 6.32 um -14.6 cm 2.07 cm 1.33 MeV 1.7 keV 121 um 121 um World eIoni - 2 -6.08 um -20 cm 2.07 cm 538 MeV 4.6 keV 5.36 cm 5.38 cm OutOfWorldTransportation + 0 18.4 um -15.7 cm 2.1 cm 1.9 keV 0 eV 0 fm 0 fm World initStep + 1 27.6 um -15.7 cm 2.1 cm 1.57 MeV 1.9 keV 144 um 144 um World eIoni + 2 50.6 um -20 cm 2.1 cm 430 MeV 5.4 keV 4.29 cm 4.3 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.7 um -13.3 cm 2.02 cm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 4.24 um -13.3 cm 2.02 cm 639 keV 1.01 keV 58.2 um 58.2 um World eIoni - 2 -15.1 um -18.8 cm 2.02 cm 552 MeV 8.74 keV 5.52 cm 5.52 cm World eIoni - 3 -15.4 um -20 cm 2.02 cm 675 MeV 2.27 keV 1.23 cm 6.75 cm OutOfWorldTransportation + 0 18.5 um -15.1 cm 2.09 cm 2.57 keV 0 eV 0 fm 0 fm World initStep + 1 28.6 um -15.1 cm 2.09 cm 2.51 MeV 2.57 keV 231 um 231 um World eIoni + 2 34.3 um -15.2 cm 2.09 cm 12.6 MeV 113 eV 1.01 mm 1.24 mm World eIoni + 3 48.3 um -20 cm 2.09 cm 488 MeV 8.43 keV 4.76 cm 4.88 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.32 um -12.2 cm 1.98 cm 3.31 keV 0 eV 0 fm 0 fm World initStep - 1 2.55 um -12.3 cm 1.98 cm 3.78 MeV 3.31 keV 351 um 351 um World eIoni - 2 -2.51 um -13.3 cm 1.98 cm 109 MeV 885 eV 1.05 cm 1.08 cm WorldTransportation - 3 -2.51 um -13.3 cm 1.98 cm 109 MeV3.66e-13 eV 0.00182 fm 1.08 cm World eIoni - 4 -4.4 um -15.9 cm 1.98 cm 369 MeV 5.39 keV 2.6 cm 3.69 cm World eIoni - 5 -3.45 um -20 cm 1.98 cm 778 MeV 11.4 keV 4.09 cm 7.78 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.4 um -15.9 cm 1.98 cm 1.59 keV 0 eV 0 fm 0 fm World initStep - 1 -9.87 um -15.9 cm 1.98 cm 1.21 MeV 1.59 keV 110 um 110 um World eIoni - 2 -25.7 um -20 cm 1.98 cm 409 MeV 4.38 keV 4.08 cm 4.09 cm OutOfWorldTransportation + 0 18.6 um -11.1 cm 1.94 cm 1.65 keV 0 eV 0 fm 0 fm World initStep + 1 19.7 um -11.1 cm 1.93 cm 1.27 MeV 1.65 keV 116 um 116 um World eIoni + 2 23 um -15.5 cm 1.93 cm 443 MeV 7.9 keV 4.41 cm 4.43 cm World eIoni + 3 23.4 um -20 cm 1.93 cm 888 MeV 9.1 keV 4.45 cm 8.88 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.8 um -11.1 cm 1.93 cm 1.49 keV 0 eV 0 fm 0 fm World initStep - 1 1.35 um -11.1 cm 1.93 cm 1.1 MeV 1.49 keV 101 um 101 um World eIoni - 2 -12.6 um -15.8 cm 1.93 cm 469 MeV 5.79 keV 4.68 cm 4.69 cm World eIoni - 3 -12.8 um -16.2 cm 1.93 cm 512 MeV 1.94 keV 4.32 mm 5.12 cm World eIoni - 4 -16.3 um -20 cm 1.93 cm 892 MeV 7.94 keV 3.8 cm 8.92 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -12.8 um -16.2 cm 1.93 cm 2.07 keV 0 eV 0 fm 0 fm World initStep - 1 -2.73 um -16.2 cm 1.93 cm 1.79 MeV 2.07 keV 164 um 164 um World eIoni - 2 20.3 um -20 cm 1.93 cm 380 MeV 7.71 keV 3.78 cm 3.8 cm OutOfWorldTransportation + 0 18.6 um -11 cm 1.93 cm 12.4 keV 0 eV 0 fm 0 fm World initStep + 1 56.1 um -11.3 cm 1.93 cm 22.2 MeV 2.91 keV 2.13 mm 2.13 mm World eIoni + 2 65.3 um -12 cm 1.93 cm 100 MeV 1.39 keV 7.8 mm 9.93 mm World eIoni + 3 79.2 um -20 cm 1.92 cm 897 MeV 19.6 keV 7.97 cm 8.96 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.44 um -10.8 cm 1.92 cm 2.5 keV 0 eV 0 fm 0 fm World initStep - 1 -2.11 um -10.8 cm 1.92 cm 2.39 MeV 2.5 keV 220 um 220 um World eIoni - 2 -5.07 um -10.9 cm 1.92 cm 7.34 MeV 92.1 eV 495 um 715 um World eIoni - 3 -16.5 um -13.9 cm 1.92 cm 317 MeV 5.43 keV 3.09 cm 3.16 cm World eIoni - 4 -26.7 um -20 cm 1.91 cm 922 MeV 11.8 keV 6.05 cm 9.22 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -16.5 um -13.9 cm 1.92 cm 4.27 keV 0 eV 0 fm 0 fm World initStep - 1 7.33 um -14 cm 1.92 cm 5.83 MeV 4.27 keV 545 um 545 um World eIoni - 2 7.66 um -14 cm 1.92 cm 6.15 MeV 5.05 eV 31.9 um 577 um World eIoni - 3 37.8 um -20 cm 1.92 cm 606 MeV 12.2 keV 6 cm 6.06 cm OutOfWorldTransportation + 0 17.7 um -9.53 cm 1.86 cm 4.34 keV 0 eV 0 fm 0 fm World initStep + 1 40.8 um -9.59 cm 1.86 cm 5.99 MeV 4.34 keV 561 um 561 um World eIoni + 2 51.2 um -9.86 cm 1.86 cm 33.5 MeV 194 eV 2.75 mm 3.31 mm World eIoni + 3 73.4 um -20 cm 1.86 cm 1.05 GeV 15.1 keV 10.1 cm 10.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.34 cm 1.67 cm 42.1 keV 0 eV 0 fm 0 fm World initStep - 1 -93 um -7.19 cm 1.68 cm 86.4 MeV 5.46 keV 8.5 mm 8.5 mm World eIoni - 2 -99.2 um -7.86 cm 1.68 cm 154 MeV 1.73 keV 6.79 mm 1.53 cm World eIoni - 3 -123 um -20 cm 1.69 cm 1.37 GeV 24.6 keV 12.1 cm 13.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -12.2 cm 1.98 cm 1.27 GeV 28.7 keV 12.7 cm 12.7 cm World eIoni - 2 -1.07 um -20 cm 2.22 cm 2.05 GeV 16.1 keV 7.77 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -12.2 cm 1.98 cm 1.33 keV 0 eV 0 fm 0 fm World initStep - 1 3.89 um -12.2 cm 1.98 cm 935 keV 1.33 keV 85.1 um 85.1 um World eIoni - 2 17 um -16.5 cm 1.98 cm 424 MeV 6.54 keV 4.23 cm 4.24 cm World eIoni - 3 21.8 um -20 cm 1.98 cm 776 MeV 7.23 keV 3.53 cm 7.76 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 17 um -16.5 cm 1.98 cm 3.16 keV 0 eV 0 fm 0 fm World initStep - 1 281 nm -16.5 cm 1.98 cm 3.5 MeV 3.16 keV 325 um 325 um World eIoni - 2 -13.8 um -17 cm 1.98 cm 48.6 MeV 543 eV 4.5 mm 4.83 mm World eIoni - 3 -16.1 um -17.2 cm 1.98 cm 72.5 MeV 393 eV 2.39 mm 7.22 mm World eIoni - 4 -16.3 um -20 cm 1.98 cm 353 MeV 4 keV 2.81 cm 3.53 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -16.1 um -17.2 cm 1.98 cm 2.85 keV 0 eV 0 fm 0 fm World initStep - 1 -31 um -17.2 cm 1.98 cm 2.95 MeV 2.85 keV 273 um 273 um World eIoni - 2 -43.4 um -17.5 cm 1.98 cm 33.5 MeV 296 eV 3.06 mm 3.33 mm World eIoni - 3 -55 um -20 cm 1.98 cm 281 MeV 4.67 keV 2.47 cm 2.81 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.43 cm 1.67 cm 693 MeV 11.7 keV 6.92 cm 6.92 cm World eIoni - 2 -4.41 um -20 cm 2.22 cm 2.05 GeV 28.9 keV 13.6 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.43 cm 1.67 cm 3.71 keV 0 eV 0 fm 0 fm World initStep - 1 13.5 um -6.48 cm 1.67 cm 4.59 MeV 3.71 keV 428 um 428 um World eIoni - 2 16.4 um -6.53 cm 1.67 cm 9.97 MeV 43.2 eV 538 um 966 um World eIoni - 3 29.4 um -8.57 cm 1.68 cm 214 MeV 4.4 keV 2.04 cm 2.13 cm World eIoni - 4 32.9 um -9.39 cm 1.68 cm 296 MeV 953 eV 8.21 mm 2.95 cm World eIoni - 5 33.9 um -9.9 cm 1.68 cm 347 MeV 1.51 keV 5.13 mm 3.47 cm World eIoni - 6 35.9 um -14 cm 1.68 cm 760 MeV 8.76 keV 4.14 cm 7.6 cm World eIoni - 7 39.3 um -20 cm 1.68 cm 1.36 GeV 11.3 keV 5.96 cm 13.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 35.9 um -14 cm 1.68 cm 1.78 keV 0 eV 0 fm 0 fm World initStep - 1 28.4 um -14 cm 1.68 cm 1.42 MeV 1.78 keV 130 um 130 um World eIoni - 2 23.7 um -14.1 cm 1.68 cm 6.57 MeV 0 eV 514 um 645 um World eIoni - 3 7.49 um -20 cm 1.68 cm 597 MeV 7.73 keV 5.9 cm 5.97 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 33.9 um -9.9 cm 1.68 cm 2.15 keV 0 eV 0 fm 0 fm World initStep - 1 43.7 um -9.92 cm 1.68 cm 1.89 MeV 2.15 keV 174 um 174 um World eIoni - 2 61.6 um -11.4 cm 1.68 cm 151 MeV 1.37 keV 1.49 cm 1.51 cm World eIoni - 3 69.7 um -20 cm 1.68 cm 1.01 GeV 19.9 keV 8.59 cm 10.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 32.9 um -9.39 cm 1.68 cm 1.51 keV 0 eV 0 fm 0 fm World initStep - 1 40.2 um -9.4 cm 1.68 cm 1.12 MeV 1.51 keV 102 um 102 um World eIoni - 2 59.4 um -11.3 cm 1.68 cm 187 MeV 2.93 keV 1.86 cm 1.87 cm World eIoni - 3 83.2 um -20 cm 1.68 cm 1.06 GeV 15.8 keV 8.74 cm 10.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 59.4 um -11.3 cm 1.68 cm 9.81 keV 0 eV 0 fm 0 fm World initStep - 1 3.97 um -11.4 cm 1.68 cm 18.4 MeV 5.5 keV 1.75 mm 1.75 mm World eIoni - 2 -15.5 um -12.6 cm 1.67 cm 140 MeV 1.84 keV 1.21 cm 1.39 cm World eIoni - 3 -33.5 um -20 cm 1.67 cm 875 MeV 16.5 keV 7.36 cm 8.75 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 29.4 um -8.57 cm 1.68 cm 6.42 keV 0 eV 0 fm 0 fm World initStep - 1 -1.92 um -8.68 cm 1.67 cm 11.8 MeV 6.42 keV 1.11 mm 1.11 mm World eIoni - 2 -7.28 um -8.83 cm 1.67 cm 27.5 MeV 145 eV 1.57 mm 2.68 mm World eIoni - 3 -30.2 um -17.2 cm 1.67 cm 864 MeV 13.3 keV 8.37 cm 8.64 cm World eIoni - 4 -32.6 um -20 cm 1.67 cm 1.14 GeV 2.88 keV 2.8 cm 11.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -30.2 um -17.2 cm 1.67 cm 2.76 keV 0 eV 0 fm 0 fm World initStep - 1 -18.2 um -17.2 cm 1.67 cm 2.8 MeV 2.76 keV 259 um 259 um World eIoni - 2 -14 um -17.3 cm 1.67 cm 8.16 MeV 992 eV 536 um 794 um World eIoni - 3 1.37 um -19.6 cm 1.67 cm 238 MeV 3.74 keV 2.3 cm 2.38 cm World eIoni - 4 1.6 um -20 cm 1.67 cm 280 MeV 1.46 keV 4.22 mm 2.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.37 um -19.6 cm 1.67 cm 2.93 keV 0 eV 0 fm 0 fm World initStep - 1 9.44 um -19.6 cm 1.67 cm 3.1 MeV 2.93 keV 287 um 287 um World eIoni - 2 14.6 um -19.8 cm 1.67 cm 21.8 MeV 202 eV 1.87 mm 2.16 mm World eIoni - 3 16.5 um -20 cm 1.67 cm 42.5 MeV 206 eV 2.07 mm 4.22 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.37 cm 1.49 cm 487 MeV 10.7 keV 4.84 cm 4.84 cm World eIoni - 2 304 nm -4.77 cm 1.53 cm 527 MeV 731 eV 4.07 mm 5.25 cm World eIoni - 3 7.26 um -18.1 cm 2.17 cm 1.86 GeV 27.9 keV 13.3 cm 18.6 cm World eIoni - 4 8.05 um -20 cm 2.22 cm 2.05 GeV 2.71 keV 1.91 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.26 um -18.1 cm 2.17 cm 3.36 keV 0 eV 0 fm 0 fm World initStep - 1 -812 nm -18.1 cm 2.17 cm 3.88 MeV 3.36 keV 361 um 361 um World eIoni - 2 -6.17 um -18.4 cm 2.17 cm 33.7 MeV 235 eV 2.98 mm 3.34 mm World eIoni - 3 -10.7 um -20 cm 2.17 cm 191 MeV 3.25 keV 1.57 cm 1.91 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 304 nm -4.77 cm 1.53 cm 1.52 keV 0 eV 0 fm 0 fm World initStep - 1 -2.93 um -4.78 cm 1.53 cm 1.13 MeV 1.52 keV 103 um 103 um World eIoni - 2 -13.1 um -10 cm 1.53 cm 525 MeV 8.05 keV 5.24 cm 5.25 cm World eIoni - 3 -14.6 um -20 cm 1.53 cm 1.52 GeV 20 keV 9.98 cm 15.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -13.1 um -10 cm 1.53 cm 1.08 keV 0 eV 0 fm 0 fm World initStep - 1 -13.2 um -10 cm 1.53 cm 699 keV 1.08 keV 63.6 um 63.6 um World eIoni - 2 -13.6 um -20 cm 1.53 cm 998 MeV 12.2 keV 9.97 cm 9.98 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.37 cm 1.49 cm 1.41 keV 0 eV 0 fm 0 fm World initStep - 1 -6.85 um -4.37 cm 1.49 cm 1.02 MeV 1.41 keV 92.8 um 92.8 um World eIoni - 2 -31.6 um -13.2 cm 1.49 cm 885 MeV 14.7 keV 8.84 cm 8.85 cm World eIoni - 3 -32.2 um -14.6 cm 1.49 cm 1.03 GeV 2.53 keV 1.43 cm 10.3 cm World eIoni - 4 -31.9 um -20 cm 1.49 cm 1.56 GeV 8.69 keV 5.36 cm 15.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -32.2 um -14.6 cm 1.49 cm 3.54 keV 0 eV 0 fm 0 fm World initStep - 1 -48.8 um -14.7 cm 1.49 cm 4.24 MeV 3.54 keV 395 um 395 um World eIoni - 2 -52.3 um -14.7 cm 1.49 cm 8.9 MeV 6.17 eV 466 um 861 um World eIoni - 3 -73.7 um -20 cm 1.49 cm 537 MeV 11 keV 5.28 cm 5.36 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -31.6 um -13.2 cm 1.49 cm 3.02 keV 0 eV 0 fm 0 fm World initStep - 1 -30.8 um -13.2 cm 1.49 cm 1.48 MeV 926 eV 140 um 140 um World eIoni - 2 -28.9 um -15.2 cm 1.49 cm 195 MeV 3.39 keV 1.93 cm 1.95 cm World eIoni - 3 -30.3 um -17.6 cm 1.49 cm 437 MeV 3.66 keV 2.43 cm 4.37 cm World eIoni - 4 -32.6 um -20 cm 1.49 cm 679 MeV 3.9 keV 2.42 cm 6.79 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -30.3 um -17.6 cm 1.49 cm 2.57 keV 0 eV 0 fm 0 fm World initStep - 1 -18.9 um -17.6 cm 1.49 cm 2.5 MeV 2.57 keV 231 um 231 um World eIoni - 2 -6.33 um -18.1 cm 1.49 cm 51.9 MeV 418 eV 4.94 mm 5.17 mm World eIoni - 3 387 nm -20 cm 1.49 cm 242 MeV 5.13 keV 1.9 cm 2.42 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -28.9 um -15.2 cm 1.49 cm 1.4 keV 0 eV 0 fm 0 fm World initStep - 1 -24.9 um -15.2 cm 1.49 cm 1.01 MeV 1.4 keV 91.7 um 91.7 um World eIoni - 2 -11.9 um -20 cm 1.49 cm 484 MeV 5.48 keV 4.83 cm 4.84 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -19 cm 2.2 cm 1.95 GeV 34.8 keV 19.5 cm 19.5 cm World eIoni - 2 -283 nm -20 cm 2.22 cm 2.05 GeV 1.58 keV 9.86 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -19 cm 2.2 cm 3.52 keV 0 eV 0 fm 0 fm World initStep - 1 18.4 um -19.1 cm 2.2 cm 4.21 MeV 3.52 keV 392 um 392 um World eIoni - 2 23 um -19.1 cm 2.2 cm 10.1 MeV 48.5 eV 588 um 980 um World eIoni - 3 34 um -20 cm 2.2 cm 98.9 MeV 795 eV 8.88 mm 9.86 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 23 um -19.1 cm 2.2 cm 1.22 keV 0 eV 0 fm 0 fm World initStep - 1 24.6 um -19.1 cm 2.19 cm 828 keV 1.22 keV 75.3 um 75.3 um World eIoni - 2 28.8 um -20 cm 2.19 cm 88.9 MeV 826 eV 8.81 mm 8.88 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 37.9 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -10.1 cm 1.89 cm 1.06 GeV 19.4 keV 10.6 cm 10.6 cm World eIoni - 2 1.18 um -14.4 cm 2.06 cm 1.49 GeV 6.53 keV 4.32 cm 14.9 cm World eIoni - 3 1.25 um -17.3 cm 2.15 cm 1.78 GeV 4.84 keV 2.87 cm 17.8 cm World eIoni - 4 1.12 um -18.3 cm 2.18 cm 1.88 GeV 2.34 keV 1.03 cm 18.8 cm World eIoni - 5 1.21 um -20 cm 2.22 cm 2.05 GeV 3.25 keV 1.67 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.12 um -18.3 cm 2.18 cm 1.13 keV 0 eV 0 fm 0 fm World initStep - 1 -4.23 um -18.3 cm 2.18 cm 750 keV 1.13 keV 68.2 um 68.2 um World eIoni - 2 -21.2 um -20 cm 2.18 cm 167 MeV 2.93 keV 1.67 cm 1.67 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.25 um -17.3 cm 2.15 cm 1.24 keV 0 eV 0 fm 0 fm World initStep - 1 5.68 um -17.3 cm 2.15 cm 851 keV 1.24 keV 77.5 um 77.5 um World eIoni - 2 17.4 um -18.2 cm 2.15 cm 92.6 MeV 1.93 keV 9.18 mm 9.26 mm World eBrem - 3 20.3 um -20 cm 2.15 cm 270 MeV 2.64 keV 1.77 cm 2.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 17.4 um -18.2 cm 2.15 cm 3 keV 0 eV 0 fm 0 fm World initStep - 1 153 um -19.6 cm 2.15 cm 0 eV 403 eV 1.39 cm 1.39 cm World phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 153 um -19.6 cm 2.15 cm 2.6 keV 0 eV 0 fm 0 fm World initStep - 1 143 um -19.6 cm 2.15 cm 2.55 MeV 2.6 keV 235 um 235 um World eIoni - 2 134 um -20 cm 2.15 cm 38.4 MeV 561 eV 3.58 mm 3.82 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.18 um -14.4 cm 2.06 cm 1.09 keV 0 eV 0 fm 0 fm World initStep - 1 5.95 um -14.4 cm 2.06 cm 708 keV 1.09 keV 64.4 um 64.4 um World eIoni - 2 25 um -20 cm 2.06 cm 557 MeV 11 keV 5.56 cm 5.57 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -10.1 cm 1.89 cm 1.34 keV 0 eV 0 fm 0 fm World initStep - 1 -6.06 um -10.1 cm 1.89 cm 944 keV 1.34 keV 85.9 um 85.9 um World eIoni - 2 -22 um -11.3 cm 1.89 cm 120 MeV 3.03 keV 1.19 cm 1.2 cm World eIoni - 3 -30.5 um -20 cm 1.89 cm 989 MeV 17.1 keV 8.69 cm 9.89 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -22 um -11.3 cm 1.89 cm 1.51 keV 0 eV 0 fm 0 fm World initStep - 1 -21.1 um -11.3 cm 1.89 cm 1.12 MeV 1.51 keV 102 um 102 um World eIoni - 2 -19.5 um -11.7 cm 1.89 cm 34.9 MeV 526 eV 3.38 mm 3.48 mm World eIoni - 3 -30.2 um -20 cm 1.89 cm 869 MeV 18.9 keV 8.34 cm 8.69 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -19.5 um -11.7 cm 1.89 cm 1.43 keV 0 eV 0 fm 0 fm World initStep - 1 -12.7 um -11.7 cm 1.89 cm 1.03 MeV 1.43 keV 94.2 um 94.2 um World eIoni - 2 -5.83 um -11.7 cm 1.89 cm 8.81 MeV 61.7 eV 777 um 871 um World eIoni - 3 15 um -13.1 cm 1.89 cm 145 MeV 1.23 keV 1.36 cm 1.45 cm World eIoni - 4 26.1 um -20 cm 1.89 cm 834 MeV 13.2 keV 6.89 cm 8.34 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 15 um -13.1 cm 1.89 cm 1.07 keV 0 eV 0 fm 0 fm World initStep - 1 16 um -13.1 cm 1.89 cm 697 keV 1.07 keV 63.4 um 63.4 um World eIoni - 2 19 um -14.2 cm 1.89 cm 107 MeV 826 eV 1.06 cm 1.07 cm World eIoni - 3 19.7 um -20 cm 1.89 cm 689 MeV 12 keV 5.82 cm 6.89 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 19 um -14.2 cm 1.89 cm 1.19 keV 0 eV 0 fm 0 fm World initStep - 1 18.8 um -14.2 cm 1.89 cm 798 keV 1.19 keV 72.6 um 72.6 um World eIoni - 2 18.2 um -18.2 cm 1.89 cm 404 MeV 5.74 keV 4.03 cm 4.04 cm World eIoni - 3 18.2 um -20 cm 1.89 cm 583 MeV 2.57 keV 1.79 cm 5.83 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 18.2 um -18.2 cm 1.89 cm 1.16 keV 0 eV 0 fm 0 fm World initStep - 1 17.9 um -18.2 cm 1.89 cm 777 keV 1.16 keV 70.6 um 70.6 um World eIoni - 2 17.1 um -20 cm 1.89 cm 179 MeV 2.7 keV 1.78 cm 1.79 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.83 um -11.7 cm 1.89 cm 1.7 keV 0 eV 0 fm 0 fm World initStep - 1 -12.3 um -11.8 cm 1.89 cm 1.33 MeV 1.7 keV 122 um 122 um World eIoni - 2 -30.7 um -16.8 cm 1.89 cm 500 MeV 8.91 keV 4.99 cm 5 cm World eIoni - 3 -30.9 um -16.9 cm 1.89 cm 516 MeV 684 eV 1.6 mm 5.16 cm World eIoni - 4 -30.9 um -20 cm 1.89 cm 825 MeV 4.92 keV 3.09 cm 8.25 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -30.9 um -16.9 cm 1.89 cm 4.36 keV 0 eV 0 fm 0 fm World initStep - 1 -48.9 um -16.9 cm 1.89 cm 3.01 MeV 1.9 keV 284 um 284 um World eIoni - 2 -78.7 um -20 cm 1.89 cm 309 MeV 3.73 keV 3.06 cm 3.09 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -30.7 um -16.8 cm 1.89 cm 1.43 keV 0 eV 0 fm 0 fm World initStep - 1 -24.6 um -16.8 cm 1.89 cm 1.04 MeV 1.43 keV 94.8 um 94.8 um World eIoni - 2 -6.39 um -20 cm 1.89 cm 325 MeV 4.3 keV 3.24 cm 3.25 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -16.7 cm 2.13 cm 1.72 GeV 38.2 keV 17.2 cm 17.2 cm World eIoni - 2 -61.3 nm -17 cm 2.14 cm 1.75 GeV 1.25 keV 2.87 mm 17.5 cm World eIoni - 3 -752 nm -20 cm 2.22 cm 2.05 GeV 5.96 keV 3.01 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -61.3 nm -17 cm 2.14 cm 2 keV 0 eV 0 fm 0 fm World initStep - 1 1.37 um -17 cm 2.14 cm 1.7 MeV 2 keV 155 um 155 um World eIoni - 2 4.59 um -20 cm 2.14 cm 301 MeV 2.77 keV 3 cm 3.01 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -16.7 cm 2.13 cm 2.86 keV 0 eV 0 fm 0 fm World initStep - 1 10.4 um -16.7 cm 2.13 cm 2.98 MeV 2.86 keV 276 um 276 um World eIoni - 2 17.4 um -16.9 cm 2.13 cm 22.8 MeV 159 eV 1.98 mm 2.25 mm World eIoni - 3 28 um -20 cm 2.13 cm 330 MeV 5.34 keV 3.07 cm 3.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.89 cm 1.31 cm 339 MeV 5.47 keV 3.36 cm 3.36 cm World eIoni - 2 1.43 um -12.2 cm 1.98 cm 1.27 GeV 23.1 keV 9.35 cm 12.7 cm World eIoni - 3 4.22 um -20 cm 2.22 cm 2.05 GeV 16.1 keV 7.8 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.43 um -12.2 cm 1.98 cm 16.1 keV 0 eV 0 fm 0 fm World initStep - 1 -29.8 um -12.5 cm 1.99 cm 27.7 MeV 4.99 keV 2.66 mm 2.66 mm World eIoni - 2 -30.7 um -12.5 cm 1.99 cm 33 MeV 34.7 eV 531 um 3.19 mm World eIoni - 3 -38.7 um -14 cm 1.99 cm 181 MeV 2.68 keV 1.48 cm 1.8 cm World eIoni - 4 -51.7 um -20 cm 1.99 cm 781 MeV 9.52 keV 6 cm 7.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -38.7 um -14 cm 1.99 cm 2.07 keV 0 eV 0 fm 0 fm World initStep - 1 -28.9 um -14 cm 1.99 cm 1.79 MeV 2.07 keV 164 um 164 um World eIoni - 2 -10.8 um -15.3 cm 1.99 cm 132 MeV 2.21 keV 1.3 cm 1.32 cm World eIoni - 3 -3.09 um -17.5 cm 1.99 cm 350 MeV 3.47 keV 2.18 cm 3.5 cm World eIoni - 4 3.58 um -20 cm 1.99 cm 600 MeV 5.2 keV 2.5 cm 6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.09 um -17.5 cm 1.99 cm 1.95 keV 0 eV 0 fm 0 fm World initStep - 1 -12.8 um -17.5 cm 1.99 cm 1.63 MeV 1.95 keV 149 um 149 um World eIoni - 2 -34.4 um -20 cm 1.99 cm 250 MeV 2.5 keV 2.49 cm 2.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -10.8 um -15.3 cm 1.99 cm 1.73 keV 0 eV 0 fm 0 fm World initStep - 1 -18.3 um -15.3 cm 1.99 cm 1.36 MeV 1.73 keV 124 um 124 um World eIoni - 2 -38.7 um -20 cm 1.99 cm 468 MeV 6.48 keV 4.67 cm 4.68 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.89 cm 1.31 cm 1.02 keV 0 eV 0 fm 0 fm World initStep - 1 -1.59 um -2.89 cm 1.31 cm 649 keV 1.02 keV 59.3 um 59.3 um World eIoni - 2 -9.59 um -20 cm 1.31 cm 1.71 GeV 25.1 keV 17.1 cm 17.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.59 cm 1.26 cm 309 MeV 4.59 keV 3.05 cm 3.05 cm World eIoni - 2 -20.1 um -19.5 cm 2.21 cm 2 GeV 34.1 keV 17 cm 20 cm World eIoni - 3 -20.3 um -20 cm 2.22 cm 2.05 GeV 354 eV 4.75 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -20.1 um -19.5 cm 2.21 cm 2.14 keV 0 eV 0 fm 0 fm World initStep - 1 -30.4 um -19.5 cm 2.21 cm 1.88 MeV 2.14 keV 173 um 173 um World eIoni - 2 -38.7 um -19.7 cm 2.21 cm 14.8 MeV 87.5 eV 1.29 mm 1.46 mm World eIoni - 3 -43.8 um -20 cm 2.21 cm 47.6 MeV 1.11 keV 3.29 mm 4.75 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.59 cm 1.26 cm 15 keV 0 eV 0 fm 0 fm World initStep - 1 56.9 um -2.76 cm 1.26 cm 18.1 MeV 3.06 keV 1.74 mm 1.74 mm World eIoni - 2 101 um -13.3 cm 1.27 cm 1.07 GeV 22.1 keV 10.5 cm 10.7 cm World eIoni - 3 108 um -20 cm 1.27 cm 1.74 GeV 10.5 keV 6.74 cm 17.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 101 um -13.3 cm 1.27 cm 1.75 keV 0 eV 0 fm 0 fm World initStep - 1 94.5 um -13.3 cm 1.27 cm 1.38 MeV 1.75 keV 126 um 126 um World eIoni - 2 75.4 um -20 cm 1.27 cm 674 MeV 10.4 keV 6.73 cm 6.74 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.35 cm 1.49 cm 485 MeV 5.85 keV 4.82 cm 4.82 cm World eIoni - 2 -1.01 um -6.35 cm 1.67 cm 685 MeV 4.81 keV 2.02 cm 6.84 cm World eIoni - 3 228 nm -12 cm 1.97 cm 1.25 GeV 10.8 keV 5.69 cm 12.5 cm World eIoni - 4 286 nm -12.2 cm 1.98 cm 1.27 GeV 273 eV 1.43 mm 12.7 cm World eIoni - 5 2.27 um -20 cm 2.22 cm 2.05 GeV 15.6 keV 7.82 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 286 nm -12.2 cm 1.98 cm 2.18 keV 0 eV 0 fm 0 fm World initStep - 1 2.59 um -12.2 cm 1.98 cm 1.93 MeV 2.18 keV 177 um 177 um World eIoni - 2 6.37 um -13.3 cm 1.98 cm 109 MeV 2.11 keV 1.07 cm 1.09 cm World eIoni - 3 7.83 um -17 cm 1.98 cm 486 MeV 8.73 keV 3.77 cm 4.86 cm World eIoni - 4 9.66 um -20 cm 1.98 cm 782 MeV 6.02 keV 2.96 cm 7.82 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.83 um -17 cm 1.98 cm 1.91 keV 0 eV 0 fm 0 fm World initStep - 1 1.58 um -17.1 cm 1.98 cm 1.58 MeV 1.91 keV 145 um 145 um World eIoni - 2 -12.9 um -20 cm 1.98 cm 296 MeV 3.82 keV 2.95 cm 2.96 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 228 nm -12 cm 1.97 cm 1.58 keV 0 eV 0 fm 0 fm World initStep - 1 -5.7 um -12 cm 1.97 cm 1.2 MeV 1.58 keV 109 um 109 um World eIoni - 2 -24.4 um -20 cm 1.97 cm 796 MeV 11 keV 7.95 cm 7.96 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.01 um -6.35 cm 1.67 cm 3.12 keV 0 eV 0 fm 0 fm World initStep - 1 -15.6 um -6.38 cm 1.67 cm 3.44 MeV 3.12 keV 319 um 319 um World eIoni - 2 -16.7 um -6.39 cm 1.67 cm 4.39 MeV 0 eV 95.6 um 414 um World eIoni - 3 -39.5 um -10.6 cm 1.66 cm 422 MeV 4.4 keV 4.18 cm 4.22 cm World eIoni - 4 -43.4 um -16.5 cm 1.66 cm 1.01 GeV 12.2 keV 5.88 cm 10.1 cm World eIoni - 5 -43.4 um -17.1 cm 1.66 cm 1.07 GeV 956 eV 6.18 mm 10.7 cm World eIoni - 6 -42.9 um -20 cm 1.66 cm 1.37 GeV 6.32 keV 2.93 cm 13.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -43.4 um -17.1 cm 1.66 cm 1.19 keV 0 eV 0 fm 0 fm World initStep - 1 -48 um -17.1 cm 1.67 cm 804 keV 1.19 keV 73.1 um 73.1 um World eIoni - 2 -63.7 um -20 cm 1.67 cm 293 MeV 4.53 keV 2.92 cm 2.93 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -43.4 um -16.5 cm 1.66 cm 6.41 keV 0 eV 0 fm 0 fm World initStep - 1 -65.4 um -16.5 cm 1.67 cm 8.24 MeV 2.35 keV 781 um 781 um World eIoni - 2 -85.2 um -19.6 cm 1.67 cm 318 MeV 4.01 keV 3.1 cm 3.18 cm World eIoni - 3 -85.5 um -20 cm 1.67 cm 355 MeV 703 eV 3.73 mm 3.55 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -85.2 um -19.6 cm 1.67 cm 1.94 keV 0 eV 0 fm 0 fm World initStep - 1 -83.1 um -19.6 cm 1.67 cm 1.62 MeV 1.94 keV 148 um 148 um World eIoni - 2 -80.4 um -20 cm 1.67 cm 37.4 MeV 637 eV 3.58 mm 3.73 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -39.5 um -10.6 cm 1.66 cm 1.22 keV 0 eV 0 fm 0 fm World initStep - 1 -40.3 um -10.6 cm 1.66 cm 831 keV 1.22 keV 75.6 um 75.6 um World eIoni - 2 -43.2 um -20 cm 1.66 cm 943 MeV 14.5 keV 9.42 cm 9.43 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.35 cm 1.49 cm 1.31 keV 0 eV 0 fm 0 fm World initStep - 1 4.97 um -4.35 cm 1.49 cm 912 keV 1.31 keV 83.2 um 83.2 um World eIoni - 2 23.7 um -12 cm 1.49 cm 762 MeV 9.45 keV 7.61 cm 7.61 cm World eIoni - 3 25.1 um -20 cm 1.49 cm 1.57 GeV 18.6 keV 8.04 cm 15.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 23.7 um -12 cm 1.49 cm 2.19 keV 0 eV 0 fm 0 fm World initStep - 1 25.5 um -12 cm 1.49 cm 1.94 MeV 2.19 keV 178 um 178 um World eIoni - 2 28.3 um -12.8 cm 1.49 cm 81.8 MeV 2 keV 7.99 mm 8.16 mm World eIoni - 3 30.1 um -20 cm 1.49 cm 804 MeV 13 keV 7.22 cm 8.04 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -8.98 cm 1.83 cm 948 MeV 15.3 keV 9.47 cm 9.47 cm World eIoni - 2 146 nm -9.91 cm 1.88 cm 1.04 GeV 1.03 keV 9.27 mm 10.4 cm World eIoni - 3 515 nm -11.6 cm 1.96 cm 1.21 GeV 2.94 keV 1.72 cm 12.1 cm World eIoni - 4 -315 nm -12.5 cm 1.99 cm 1.3 GeV 1.15 keV 8.75 mm 13 cm World eIoni - 5 -7.31 um -20 cm 2.22 cm 2.05 GeV 12.3 keV 7.51 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -315 nm -12.5 cm 1.99 cm 1.14 keV 0 eV 0 fm 0 fm World initStep - 1 5.1 um -12.5 cm 1.99 cm 757 keV 1.14 keV 68.8 um 68.8 um World eIoni - 2 27 um -20 cm 1.99 cm 751 MeV 11.8 keV 7.5 cm 7.51 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 515 nm -11.6 cm 1.96 cm 23 keV 0 eV 0 fm 0 fm World initStep - 1 110 um -12 cm 1.95 cm 39.6 MeV 3.87 keV 3.82 mm 3.82 mm World eIoni - 2 134 um -13.7 cm 1.95 cm 211 MeV 2.48 keV 1.72 cm 2.1 cm World eIoni - 3 157 um -20 cm 1.95 cm 840 MeV 12.7 keV 6.29 cm 8.39 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 134 um -13.7 cm 1.95 cm 1.19 keV 0 eV 0 fm 0 fm World initStep - 1 129 um -13.7 cm 1.95 cm 801 keV 1.19 keV 72.9 um 72.9 um World eIoni - 2 112 um -16.4 cm 1.95 cm 273 MeV 4.06 keV 2.72 cm 2.73 cm World eIoni - 3 111 um -17.9 cm 1.95 cm 423 MeV 1.97 keV 1.5 cm 4.23 cm World eIoni - 4 111 um -20 cm 1.95 cm 629 MeV 4.4 keV 2.06 cm 6.29 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 111 um -17.9 cm 1.95 cm 1.08 keV 0 eV 0 fm 0 fm World initStep - 1 106 um -17.9 cm 1.95 cm 700 keV 1.08 keV 63.7 um 63.7 um World eIoni - 2 91.4 um -20 cm 1.95 cm 206 MeV 3.5 keV 2.05 cm 2.06 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 146 nm -9.91 cm 1.88 cm 1.46 keV 0 eV 0 fm 0 fm World initStep - 1 -1.43 um -9.92 cm 1.88 cm 1.07 MeV 1.46 keV 97.2 um 97.2 um World eIoni - 2 -2.71 um -9.97 cm 1.88 cm 6.35 MeV 124 eV 528 um 625 um World eIoni - 3 9.52 um -20 cm 1.88 cm 1.01 GeV 16.3 keV 10 cm 10.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.71 um -9.97 cm 1.88 cm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 -7.76 um -9.98 cm 1.88 cm 726 keV 1.11 keV 66 um 66 um World eIoni - 2 -24 um -11.5 cm 1.88 cm 150 MeV 2.49 keV 1.49 cm 1.5 cm World eIoni - 3 -31.1 um -20 cm 1.88 cm 1 GeV 16.2 keV 8.53 cm 10 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -24 um -11.5 cm 1.88 cm 1.18 keV 0 eV 0 fm 0 fm World initStep - 1 -23.2 um -11.5 cm 1.88 cm 791 keV 1.18 keV 71.9 um 71.9 um World eIoni - 2 -20.2 um -20 cm 1.88 cm 853 MeV 13.1 keV 8.53 cm 8.53 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -8.98 cm 1.83 cm 1.09 keV 0 eV 0 fm 0 fm World initStep - 1 -2.42 um -8.99 cm 1.83 cm 709 keV 1.09 keV 64.4 um 64.4 um World eIoni - 2 -12.9 um -17 cm 1.83 cm 800 MeV 12.9 keV 8 cm 8 cm World eIoni - 3 -13.1 um -20 cm 1.83 cm 1.1 GeV 8.45 keV 3.02 cm 11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.47 cm 1.03 cm 197 MeV 5.19 keV 1.91 cm 1.91 cm World eIoni - 2 213 nm -4.9 cm 1.55 cm 540 MeV 7.57 keV 3.48 cm 5.38 cm World eIoni - 3 164 nm -7.82 cm 1.77 cm 832 MeV 6 keV 2.92 cm 8.31 cm World eIoni - 4 1.99 um -13.4 cm 2.02 cm 1.39 GeV 10.1 keV 5.6 cm 13.9 cm World eIoni - 5 2.02 um -20 cm 2.22 cm 2.05 GeV 13.6 keV 6.59 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.99 um -13.4 cm 2.02 cm 1.2 keV 0 eV 0 fm 0 fm World initStep - 1 7.72 um -13.4 cm 2.02 cm 815 keV 1.2 keV 74.2 um 74.2 um World eIoni - 2 25.5 um -15.2 cm 2.02 cm 180 MeV 2.5 keV 1.79 cm 1.8 cm World eIoni - 3 27.9 um -17 cm 2.02 cm 357 MeV 2.84 keV 1.77 cm 3.56 cm World eIoni - 4 30.8 um -20 cm 2.02 cm 659 MeV 4.63 keV 3.02 cm 6.59 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 27.9 um -17 cm 2.02 cm 1.96 keV 0 eV 0 fm 0 fm World initStep - 1 24 um -17 cm 2.03 cm 1.65 MeV 1.96 keV 151 um 151 um World eIoni - 2 15 um -20 cm 2.03 cm 302 MeV 4.63 keV 3.01 cm 3.02 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 164 nm -7.82 cm 1.77 cm 2.06 keV 0 eV 0 fm 0 fm World initStep - 1 -8.15 um -7.83 cm 1.76 cm 1.77 MeV 2.06 keV 162 um 162 um World eIoni - 2 -26.8 um -11.1 cm 1.76 cm 325 MeV 4.17 keV 3.23 cm 3.24 cm World eIoni - 3 -30 um -20 cm 1.76 cm 1.22 GeV 28.2 keV 8.94 cm 12.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -26.8 um -11.1 cm 1.76 cm 1.12 keV 0 eV 0 fm 0 fm World initStep - 1 -28.8 um -11.1 cm 1.76 cm 740 keV 1.12 keV 67.3 um 67.3 um World eIoni - 2 -37.1 um -17.9 cm 1.77 cm 687 MeV 11.1 keV 6.86 cm 6.87 cm World eIoni - 3 -38.2 um -20 cm 1.77 cm 894 MeV 3.53 keV 2.07 cm 8.94 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -37.1 um -17.9 cm 1.77 cm 1.82 keV 0 eV 0 fm 0 fm World initStep - 1 -30.4 um -17.9 cm 1.77 cm 1.47 MeV 1.82 keV 135 um 135 um World eIoni - 2 -15.8 um -19.6 cm 1.77 cm 166 MeV 2.89 keV 1.64 cm 1.65 cm World eIoni - 3 -15.8 um -20 cm 1.77 cm 207 MeV 616 eV 4.18 mm 2.07 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -15.8 um -19.6 cm 1.77 cm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 -11.4 um -19.6 cm 1.77 cm 678 keV 1.05 keV 61.7 um 61.7 um World eIoni - 2 -731 nm -20 cm 1.77 cm 41.9 MeV 1.38 keV 4.12 mm 4.18 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 213 nm -4.9 cm 1.55 cm 5.16 keV 0 eV 0 fm 0 fm World initStep - 1 1.53 um -4.98 cm 1.55 cm 8.07 MeV 5.16 keV 758 um 758 um World eIoni - 2 1.64 um -5.01 cm 1.55 cm 11.4 MeV 63.9 eV 334 um 1.09 mm World eIoni - 3 3.19 um -19.9 cm 1.55 cm 1.5 GeV 26.8 keV 14.9 cm 15 cm World eIoni - 4 3.2 um -20 cm 1.55 cm 1.51 GeV 141 eV 1.13 mm 15.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.19 um -19.9 cm 1.55 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 1.52 um -19.9 cm 1.55 cm 683 keV 1.06 keV 62.1 um 62.1 um World eIoni - 2 -1.05 um -20 cm 1.55 cm 11.4 MeV 152 eV 1.07 mm 1.13 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.47 cm 1.03 cm 1 keV 0 eV 0 fm 0 fm World initStep - 1 -300 nm -1.47 cm 1.03 cm 630 keV 1 keV 57.7 um 57.7 um World eIoni - 2 -1.87 um -20 cm 1.03 cm 1.85 GeV 28.5 keV 18.5 cm 18.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.74 cm 1.29 cm 324 MeV 5.69 keV 3.21 cm 3.21 cm World eIoni - 2 -5.76 um -15.8 cm 2.11 cm 1.63 GeV 25.1 keV 13.1 cm 16.3 cm World eIoni - 3 -7.35 um -20 cm 2.22 cm 2.05 GeV 9.68 keV 4.15 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.76 um -15.8 cm 2.11 cm 1.44 keV 0 eV 0 fm 0 fm World initStep - 1 564 nm -15.9 cm 2.11 cm 1.05 MeV 1.44 keV 95.1 um 95.1 um World eIoni - 2 20.2 um -20 cm 2.11 cm 415 MeV 5.33 keV 4.14 cm 4.15 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.74 cm 1.29 cm 1.23 keV 0 eV 0 fm 0 fm World initStep - 1 5.9 um -2.75 cm 1.29 cm 841 keV 1.23 keV 76.5 um 76.5 um World eIoni - 2 31.8 um -19.8 cm 1.29 cm 1.7 GeV 23.3 keV 17 cm 17 cm World eIoni - 3 31.8 um -20 cm 1.29 cm 1.73 GeV 1.22 keV 2.4 mm 17.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 31.8 um -19.8 cm 1.29 cm 1.1 keV 0 eV 0 fm 0 fm World initStep - 1 35.4 um -19.8 cm 1.29 cm 716 keV 1.1 keV 65.1 um 65.1 um World eIoni - 2 42.6 um -20 cm 1.29 cm 24.1 MeV 101 eV 2.34 mm 2.4 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.91 mm 6.57 mm 99.1 MeV 797 eV 8.59 mm 8.59 mm World eIoni - 2 -254 nm -6.01 mm 7.17 mm 110 MeV 615 eV 1.25 mm 9.84 mm World eIoni - 3 -16.8 um -9.48 cm 1.86 cm 998 MeV 16.8 keV 8.99 cm 9.98 cm World eIoni - 4 -24.5 um -20 cm 2.22 cm 2.05 GeV 20.3 keV 10.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -16.8 um -9.48 cm 1.86 cm 1.15 keV 0 eV 0 fm 0 fm World initStep - 1 -11.3 um -9.49 cm 1.86 cm 763 keV 1.15 keV 69.4 um 69.4 um World eIoni - 2 12.1 um -20 cm 1.86 cm 1.05 GeV 15.2 keV 10.5 cm 10.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -254 nm -6.01 mm 7.17 mm 5.57 keV 0 eV 0 fm 0 fm World initStep - 1 22.2 um -6.87 mm 7.15 mm 9.27 MeV 5.57 keV 871 um 871 um World eIoni - 2 28.8 um -9.38 mm 7.15 mm 34.4 MeV 179 eV 2.51 mm 3.38 mm World eIoni - 3 47.6 um -12 cm 7.13 mm 1.14 GeV 20.6 keV 11.1 cm 11.4 cm World eIoni - 4 48.2 um -16.9 cm 7.13 mm 1.63 GeV 10.7 keV 4.88 cm 16.3 cm World eIoni - 5 47.4 um -20 cm 7.12 mm 1.94 GeV 4.86 keV 3.09 cm 19.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 48.2 um -16.9 cm 7.13 mm 12.9 keV 0 eV 0 fm 0 fm World initStep - 1 76.5 um -17 cm 7.16 mm 7.38 MeV 1.88 keV 717 um 717 um World eIoni - 2 105 um -20 cm 7.19 mm 309 MeV 5.1 keV 3.02 cm 3.09 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 47.6 um -12 cm 7.13 mm 3.85 keV 0 eV 0 fm 0 fm World initStep - 1 53.8 um -12 cm 7.14 mm 944 keV 357 eV 92.1 um 92.1 um World eIoni - 2 76.7 um -20 cm 7.17 mm 797 MeV 13.3 keV 7.96 cm 7.97 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.91 mm 6.57 mm 1.66 keV 0 eV 0 fm 0 fm World initStep - 1 4.42 um -5.03 mm 6.58 mm 1.32 MeV 1.66 keV 117 um 117 um World eIoni - 2 15.8 um -3.64 cm 6.6 mm 315 MeV 3.8 keV 3.14 cm 3.15 cm World eIoni - 3 18.2 um -6 cm 6.6 mm 551 MeV 4.94 keV 2.36 cm 5.51 cm World eIoni - 4 18.7 um -20 cm 6.59 mm 1.95 GeV 28.1 keV 14 cm 19.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 18.2 um -6 cm 6.6 mm 1.9 keV 0 eV 0 fm 0 fm World initStep - 1 26.2 um -6.02 cm 6.6 mm 1.57 MeV 1.9 keV 144 um 144 um World eIoni - 2 50.6 um -20 cm 6.62 mm 1.4 GeV 17.5 keV 14 cm 14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 15.8 um -3.64 cm 6.6 mm 1.02 keV 0 eV 0 fm 0 fm World initStep - 1 12.6 um -3.65 cm 6.6 mm 650 keV 1.02 keV 59.1 um 59.1 um World eIoni - 2 -608 nm -7.63 cm 6.61 mm 399 MeV 5.72 keV 3.98 cm 3.99 cm World eIoni - 3 1.75 um -20 cm 6.61 mm 1.64 GeV 23.2 keV 12.4 cm 16.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -608 nm -7.63 cm 6.61 mm 8.31 keV 0 eV 0 fm 0 fm World initStep - 1 -22.4 um -7.78 cm 6.66 mm 15.9 MeV 4.29 keV 1.51 mm 1.51 mm World eIoni - 2 -24.6 um -7.9 cm 6.66 mm 28 MeV 0 eV 1.21 mm 2.72 mm World eIoni - 3 -39.4 um -18.6 cm 6.69 mm 1.1 GeV 20.2 keV 10.7 cm 11 cm WorldTransportation - 4 -39.4 um -18.6 cm 6.69 mm 1.1 GeV 0 eV 0 fm 11 cm World eIoni - 5 -39.9 um -20 cm 6.69 mm 1.24 GeV 2.05 keV 1.38 cm 12.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -39.4 um -18.6 cm 6.69 mm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 -37.3 um -18.6 cm 6.7 mm 675 keV 1.05 keV 61.4 um 61.4 um World eIoni - 2 -30.7 um -20 cm 6.71 mm 138 MeV 1.96 keV 1.37 cm 1.38 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.4 cm 1.01 cm 190 MeV 2.61 keV 1.84 cm 1.84 cm World eIoni - 2 -6.92 um -5.67 cm 1.61 cm 617 MeV 8.31 keV 4.31 cm 6.15 cm World eIoni - 3 -11.6 um -20 cm 2.22 cm 2.05 GeV 30.3 keV 14.3 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.92 um -5.67 cm 1.61 cm 1.89 keV 0 eV 0 fm 0 fm World initStep - 1 -11.1 um -5.68 cm 1.61 cm 1.57 MeV 1.89 keV 143 um 143 um World eIoni - 2 -20.5 um -8.08 cm 1.62 cm 242 MeV 5.65 keV 2.4 cm 2.42 cm World eIoni - 3 -18.3 um -17.3 cm 1.62 cm 1.16 GeV 16.1 keV 9.17 cm 11.6 cm World eIoni - 4 -18.6 um -20 cm 1.62 cm 1.43 GeV 5.22 keV 2.75 cm 14.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -18.3 um -17.3 cm 1.62 cm 1.35 keV 0 eV 0 fm 0 fm World initStep - 1 -12.5 um -17.3 cm 1.62 cm 954 keV 1.35 keV 86.9 um 86.9 um World eIoni - 2 5.31 um -20 cm 1.62 cm 275 MeV 3.78 keV 2.74 cm 2.75 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -20.5 um -8.08 cm 1.62 cm 1.09 keV 0 eV 0 fm 0 fm World initStep - 1 -25.6 um -8.09 cm 1.62 cm 708 keV 1.09 keV 64.4 um 64.4 um World eIoni - 2 -48 um -16.7 cm 1.62 cm 866 MeV 14.1 keV 8.66 cm 8.66 cm World eIoni - 3 -48.2 um -17.2 cm 1.62 cm 909 MeV 347 eV 4.27 mm 9.09 cm World eIoni - 4 -48.7 um -20 cm 1.62 cm 1.19 GeV 3.36 keV 2.83 cm 11.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -48.2 um -17.2 cm 1.62 cm 1.09 keV 0 eV 0 fm 0 fm World initStep - 1 -49.6 um -17.2 cm 1.62 cm 708 keV 1.09 keV 64.4 um 64.4 um World eIoni - 2 -54.8 um -20 cm 1.61 cm 283 MeV 4.67 keV 2.82 cm 2.83 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -48 um -16.7 cm 1.62 cm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 -48.3 um -16.8 cm 1.62 cm 665 keV 1.04 keV 60.5 um 60.5 um World eIoni - 2 -49.2 um -20 cm 1.61 cm 326 MeV 5.51 keV 3.25 cm 3.26 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.4 cm 1.01 cm 6.66 keV 0 eV 0 fm 0 fm World initStep - 1 19.9 um -1.46 cm 1.01 cm 5.64 MeV 2.69 keV 537 um 537 um World eIoni - 2 51.2 um -14.4 cm 1.01 cm 1.3 GeV 20.2 keV 12.9 cm 13 cm World eIoni - 3 52.3 um -20 cm 1.01 cm 1.86 GeV 9.6 keV 5.64 cm 18.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 51.2 um -14.4 cm 1.01 cm 1.9 keV 0 eV 0 fm 0 fm World initStep - 1 56.8 um -14.4 cm 1.01 cm 1.57 MeV 1.9 keV 143 um 143 um World eIoni - 2 71.4 um -20 cm 1.01 cm 564 MeV 7.82 keV 5.62 cm 5.64 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -14.2 cm 2.05 cm 1.47 GeV 27.7 keV 14.7 cm 14.7 cm World eIoni - 2 -653 nm -14.9 cm 2.08 cm 1.54 GeV 648 eV 7.08 mm 15.4 cm World eIoni - 3 -4.61 um -20 cm 2.22 cm 2.05 GeV 10.6 keV 5.11 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -653 nm -14.9 cm 2.08 cm 1.51 keV 0 eV 0 fm 0 fm World initStep - 1 -753 nm -14.9 cm 2.08 cm 1.12 MeV 1.51 keV 102 um 102 um World eIoni - 2 -1.06 um -20 cm 2.08 cm 511 MeV 6.41 keV 5.09 cm 5.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -14.2 cm 2.05 cm 19 keV 0 eV 0 fm 0 fm World initStep - 1 97 um -14.5 cm 2.05 cm 32.3 MeV 4.96 keV 3.11 mm 3.11 mm World eIoni - 2 103 um -14.7 cm 2.05 cm 51.3 MeV 121 eV 1.89 mm 5.01 mm World eIoni - 3 138 um -20 cm 2.05 cm 581 MeV 7.98 keV 5.3 cm 5.8 cm World eIoni - 4 138 um -20 cm 2.05 cm 583 MeV 82.8 eV 204 um 5.82 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 138 um -20 cm 2.05 cm 10.5 keV 0 eV 0 fm 0 fm World initStep - 1 108 um -20 cm 2.05 cm 2.55 MeV 302 eV 219 um 219 um OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.03 cm 1.16 cm 253 MeV 4.98 keV 2.49 cm 2.49 cm World eIoni - 2 8.6 um -18.6 cm 2.19 cm 1.91 GeV 33.3 keV 16.6 cm 19.1 cm World eIoni - 3 8.67 um -20 cm 2.22 cm 2.05 GeV 3.41 keV 1.41 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.6 um -18.6 cm 2.19 cm 1.75 keV 0 eV 0 fm 0 fm World initStep - 1 15.2 um -18.6 cm 2.18 cm 1.39 MeV 1.75 keV 127 um 127 um World eIoni - 2 28.6 um -20 cm 2.18 cm 141 MeV 1.06 keV 1.4 cm 1.41 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.03 cm 1.16 cm 2.58 keV 0 eV 0 fm 0 fm World initStep - 1 -11.1 um -2.06 cm 1.16 cm 2.52 MeV 2.58 keV 233 um 233 um World eIoni - 2 -25 um -2.82 cm 1.16 cm 79 MeV 788 eV 7.65 mm 7.88 mm World eIoni - 3 -35.6 um -10.8 cm 1.16 cm 876 MeV 12.9 keV 7.97 cm 8.76 cm World eIoni - 4 -35 um -20 cm 1.16 cm 1.8 GeV 17.2 keV 9.21 cm 18 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -35.6 um -10.8 cm 1.16 cm 2.75 keV 0 eV 0 fm 0 fm World initStep - 1 -49.5 um -10.8 cm 1.16 cm 2.79 MeV 2.75 keV 257 um 257 um World eIoni - 2 -70.5 um -12.6 cm 1.16 cm 178 MeV 2.29 keV 1.76 cm 1.78 cm World eIoni - 3 -79 um -20 cm 1.16 cm 921 MeV 14.6 keV 7.43 cm 9.21 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.89 cm 1.55 cm 539 MeV 11.6 keV 5.37 cm 5.37 cm World eIoni - 2 -2.98 um -20 cm 2.22 cm 2.05 GeV 35.1 keV 15.1 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.89 cm 1.55 cm 1.13 keV 0 eV 0 fm 0 fm World initStep - 1 3.49 um -4.89 cm 1.54 cm 741 keV 1.13 keV 67.6 um 67.6 um World eIoni - 2 18.1 um -12 cm 1.54 cm 716 MeV 10.2 keV 7.16 cm 7.16 cm World eIoni - 3 17.9 um -20 cm 1.54 cm 1.51 GeV 16.7 keV 7.95 cm 15.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 18.1 um -12 cm 1.54 cm 1.66 keV 0 eV 0 fm 0 fm World initStep - 1 23.3 um -12.1 cm 1.54 cm 1.29 MeV 1.66 keV 118 um 118 um World eIoni - 2 39.6 um -20 cm 1.54 cm 795 MeV 12.9 keV 7.94 cm 7.95 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.37 cm 1.22 cm 287 MeV 5.33 keV 2.83 cm 2.83 cm World eIoni - 2 -2.74 um -12.5 cm 1.99 cm 1.3 GeV 25.5 keV 10.2 cm 13 cm World eIoni - 3 -2.03 um -20 cm 2.22 cm 2.05 GeV 15.4 keV 7.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.74 um -12.5 cm 1.99 cm 1.14 keV 0 eV 0 fm 0 fm World initStep - 1 -8.07 um -12.5 cm 1.99 cm 758 keV 1.14 keV 68.9 um 68.9 um World eIoni - 2 -25.4 um -14.3 cm 1.99 cm 177 MeV 3.2 keV 1.77 cm 1.77 cm World eIoni - 3 -32.5 um -18.3 cm 1.99 cm 577 MeV 8.85 keV 4 cm 5.77 cm World eIoni - 4 -34.5 um -20 cm 1.99 cm 749 MeV 4.34 keV 1.73 cm 7.49 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -32.5 um -18.3 cm 1.99 cm 3.55 keV 0 eV 0 fm 0 fm World initStep - 1 -18.3 um -18.3 cm 1.99 cm 4.25 MeV 3.55 keV 396 um 396 um World eIoni - 2 -4.87 um -19.3 cm 1.99 cm 98.1 MeV 2.1 keV 9.38 mm 9.78 mm World eIoni - 3 -2.38 um -20 cm 1.99 cm 173 MeV 928 eV 7.48 mm 1.73 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -25.4 um -14.3 cm 1.99 cm 1 keV 0 eV 0 fm 0 fm World initStep - 1 -21.4 um -14.3 cm 1.99 cm 637 keV 1 keV 57.9 um 57.9 um World eIoni - 2 -20.2 um -14.3 cm 1.99 cm 1.21 MeV 8.96 eV 58.3 um 116 um World eIoni - 3 1.58 um -20 cm 1.98 cm 572 MeV 5.95 keV 5.71 cm 5.72 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -20.2 um -14.3 cm 1.99 cm 15 keV 0 eV 0 fm 0 fm World initStep - 1 -26.8 um -14.5 cm 1.99 cm 25.9 MeV 5.24 keV 2.49 mm 2.49 mm World eIoni - 2 -28 um -15.1 cm 2 cm 83.5 MeV 1.02 keV 5.76 mm 8.24 mm World eIoni - 3 -30 um -20 cm 2 cm 572 MeV 9.23 keV 4.89 cm 5.71 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.37 cm 1.22 cm 50.1 keV 0 eV 0 fm 0 fm World initStep - 1 14.9 um -3.47 cm 1.24 cm 112 MeV 6.68 keV 1.11 cm 1.11 cm World eIoni - 2 16.4 um -4.96 cm 1.25 cm 261 MeV 3.38 keV 1.49 cm 2.6 cm World eIoni - 3 19.9 um -20 cm 1.25 cm 1.76 GeV 31.3 keV 15 cm 17.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -13.7 cm 2.04 cm 1.42 GeV 27.7 keV 14.2 cm 14.2 cm World eIoni - 2 -27.4 nm -14.7 cm 2.07 cm 1.52 GeV 2.36 keV 9.54 mm 15.2 cm World eIoni - 3 778 nm -20 cm 2.22 cm 2.05 GeV 11.8 keV 5.31 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -27.4 nm -14.7 cm 2.07 cm 1.76 keV 0 eV 0 fm 0 fm World initStep - 1 -6.47 um -14.7 cm 2.07 cm 1.41 MeV 1.76 keV 128 um 128 um World eIoni - 2 -18.6 um -15.5 cm 2.07 cm 85.4 MeV 1.05 keV 8.39 mm 8.52 mm World eIoni - 3 -22.7 um -20 cm 2.07 cm 531 MeV 6.75 keV 4.46 cm 5.31 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -18.6 um -15.5 cm 2.07 cm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 -20 um -15.6 cm 2.07 cm 780 keV 1.17 keV 70.9 um 70.9 um World eIoni - 2 -24.5 um -17.5 cm 2.07 cm 193 MeV 2.37 keV 1.92 cm 1.93 cm World eIoni - 3 -26.8 um -19 cm 2.07 cm 347 MeV 3.58 keV 1.54 cm 3.47 cm World eIoni - 4 -28 um -20 cm 2.07 cm 446 MeV 2.57 keV 9.85 mm 4.46 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -26.8 um -19 cm 2.07 cm 2.08 keV 0 eV 0 fm 0 fm World initStep - 1 -20 um -19 cm 2.07 cm 1.81 MeV 2.08 keV 165 um 165 um World eIoni - 2 -10.2 um -19.6 cm 2.07 cm 60.4 MeV 1.38 keV 5.86 mm 6.02 mm World eIoni - 3 -9.14 um -20 cm 2.07 cm 98.7 MeV 608 eV 3.83 mm 9.86 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -24.5 um -17.5 cm 2.07 cm 1.87 keV 0 eV 0 fm 0 fm World initStep - 1 -18.1 um -17.5 cm 2.07 cm 1.53 MeV 1.87 keV 140 um 140 um World eIoni - 2 -3.38 um -20 cm 2.07 cm 253 MeV 4.36 keV 2.51 cm 2.53 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -13.7 cm 2.04 cm 1.42 keV 0 eV 0 fm 0 fm World initStep - 1 768 nm -13.7 cm 2.04 cm 1.03 MeV 1.42 keV 93.6 um 93.6 um World eIoni - 2 3.14 um -17.3 cm 2.04 cm 356 MeV 4.04 keV 3.55 cm 3.56 cm World eIoni - 3 6.73 um -20 cm 2.04 cm 626 MeV 4.92 keV 2.7 cm 6.26 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.14 um -17.3 cm 2.04 cm 23.2 keV 0 eV 0 fm 0 fm World initStep - 1 -42.1 um -17.7 cm 2.03 cm 39.9 MeV 3.77 keV 3.85 mm 3.85 mm World eIoni - 2 -49.7 um -18.7 cm 2.03 cm 145 MeV 1.93 keV 1.05 cm 1.44 cm World eIoni - 3 -53.4 um -20 cm 2.03 cm 273 MeV 1.79 keV 1.27 cm 2.71 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.32 cm 9.9 mm 182 MeV 2.13 keV 1.76 cm 1.76 cm World eIoni - 2 4.32 um -5.79 cm 1.62 cm 629 MeV 8.66 keV 4.51 cm 6.27 cm World eIoni - 3 6.83 um -8.78 cm 1.82 cm 928 MeV 5.02 keV 3 cm 9.27 cm World eIoni - 4 12.9 um -18.3 cm 2.18 cm 1.88 GeV 20.9 keV 9.49 cm 18.8 cm World eIoni - 5 13.8 um -20 cm 2.22 cm 2.05 GeV 4.31 keV 1.74 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12.9 um -18.3 cm 2.18 cm 1.02 keV 0 eV 0 fm 0 fm World initStep - 1 10.1 um -18.3 cm 2.18 cm 655 keV 1.02 keV 59.6 um 59.6 um World eIoni - 2 579 nm -20 cm 2.18 cm 174 MeV 3.61 keV 1.73 cm 1.74 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 6.83 um -8.78 cm 1.82 cm 2.64 keV 0 eV 0 fm 0 fm World initStep - 1 914 nm -8.81 cm 1.82 cm 2.62 MeV 2.64 keV 242 um 242 um World eIoni - 2 -285 nm -8.83 cm 1.82 cm 4.85 MeV 0 eV 222 um 464 um World eIoni - 3 -12 um -20 cm 1.82 cm 1.12 GeV 17.9 keV 11.2 cm 11.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.32 um -5.79 cm 1.62 cm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 -95.3 nm -5.79 cm 1.62 cm 640 keV 1.01 keV 58.1 um 58.1 um World eIoni - 2 -22 um -20 cm 1.62 cm 1.42 GeV 24 keV 14.2 cm 14.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.32 cm 9.9 mm 1.18 keV 0 eV 0 fm 0 fm World initStep - 1 -5.56 um -1.33 cm 9.89 mm 793 keV 1.18 keV 72.3 um 72.3 um World eIoni - 2 -22.8 um -2.94 cm 9.89 mm 162 MeV 1.79 keV 1.61 cm 1.62 cm World eIoni - 3 -35 um -5.05 cm 9.89 mm 373 MeV 6.54 keV 2.12 cm 3.73 cm World eBrem - 4 -58.7 um -20 cm 9.89 mm 1.87 GeV 37 keV 14.9 cm 18.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -35 um -5.05 cm 9.89 mm 337 keV 0 eV 0 fm 0 fm World initStep - 1 -112 um -20 cm 9.87 mm 337 keV 0 eV 14.9 cm 14.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -22.8 um -2.94 cm 9.89 mm 12.7 keV 0 eV 0 fm 0 fm World initStep - 1 45.6 um -3.15 cm 9.91 mm 22.6 MeV 5.21 keV 2.16 mm 2.16 mm World eIoni - 2 58.6 um -3.66 cm 9.91 mm 74 MeV 531 eV 5.14 mm 7.3 mm World eIoni - 3 84 um -9.71 cm 9.91 mm 679 MeV 11.5 keV 6.05 cm 6.78 cm World eIoni - 4 87.3 um -11.5 cm 9.91 mm 862 MeV 3.46 keV 1.83 cm 8.61 cm World eIoni - 5 95.3 um -20 cm 9.91 mm 1.71 GeV 17.3 keV 8.46 cm 17.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 87.3 um -11.5 cm 9.91 mm 1.08 keV 0 eV 0 fm 0 fm World initStep - 1 89.9 um -11.5 cm 9.92 mm 703 keV 1.08 keV 64 um 64 um World eIoni - 2 98.5 um -13.2 cm 9.93 mm 166 MeV 2.92 keV 1.65 cm 1.65 cm World eIoni - 3 99.8 um -20 cm 9.93 mm 846 MeV 15.2 keV 6.8 cm 8.46 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 98.5 um -13.2 cm 9.93 mm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 99.2 um -13.2 cm 9.94 mm 670 keV 1.04 keV 60.9 um 60.9 um World eIoni - 2 102 um -20 cm 9.96 mm 680 MeV 12.8 keV 6.8 cm 6.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 84 um -9.71 cm 9.91 mm 2.25 keV 0 eV 0 fm 0 fm World initStep - 1 78.6 um -9.73 cm 9.92 mm 2.03 MeV 2.25 keV 187 um 187 um World eIoni - 2 73.7 um -9.92 cm 9.93 mm 20.5 MeV 283 eV 1.85 mm 2.04 mm World eIoni - 3 65 um -20 cm 9.95 mm 1.03 GeV 21.8 keV 10.1 cm 10.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.75 cm 1.29 cm 325 MeV 8.89 keV 3.22 cm 3.22 cm World eIoni - 2 1.72 um -3.58 cm 1.4 cm 408 MeV 1.31 keV 8.39 mm 4.06 cm World eIoni - 3 13.1 um -15.5 cm 2.1 cm 1.6 GeV 21.6 keV 11.9 cm 16 cm World eIoni - 4 14.7 um -20 cm 2.22 cm 2.05 GeV 12 keV 4.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 13.1 um -15.5 cm 2.1 cm 1.61 keV 0 eV 0 fm 0 fm World initStep - 1 17 um -15.5 cm 2.1 cm 1.23 MeV 1.61 keV 112 um 112 um World eIoni - 2 28.5 um -20 cm 2.1 cm 450 MeV 7.43 keV 4.49 cm 4.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.72 um -3.58 cm 1.4 cm 4.61 keV 0 eV 0 fm 0 fm World initStep - 1 -1.42 um -3.65 cm 1.4 cm 6.66 MeV 4.61 keV 624 um 624 um World eIoni - 2 -3.02 um -4.08 cm 1.4 cm 49.9 MeV 620 eV 4.32 mm 4.94 mm World eIoni - 3 -6.03 um -20 cm 1.4 cm 1.64 GeV 28.4 keV 15.9 cm 16.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.75 cm 1.29 cm 6.95 keV 0 eV 0 fm 0 fm World initStep - 1 -37.9 um -2.88 cm 1.29 cm 13.1 MeV 6.95 keV 1.24 mm 1.24 mm World eIoni - 2 -46.8 um -3.19 cm 1.29 cm 44.4 MeV 652 eV 3.13 mm 4.37 mm World eIoni - 3 -50.9 um -3.51 cm 1.29 cm 76.9 MeV 1.21 keV 3.26 mm 7.62 mm World eIoni - 4 -84.7 um -17.5 cm 1.29 cm 1.48 GeV 29 keV 14 cm 14.8 cm World eIoni - 5 -87.2 um -20 cm 1.29 cm 1.73 GeV 3.3 keV 2.48 cm 17.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -84.7 um -17.5 cm 1.29 cm 2.86 keV 0 eV 0 fm 0 fm World initStep - 1 -70.8 um -17.5 cm 1.29 cm 2.98 MeV 2.86 keV 275 um 275 um World eIoni - 2 -69.9 um -17.6 cm 1.29 cm 3.64 MeV 9.9 eV 66.6 um 342 um World eIoni - 3 -50.5 um -19.1 cm 1.29 cm 155 MeV 2.93 keV 1.52 cm 1.55 cm World eIoni - 4 -47.3 um -19.8 cm 1.29 cm 229 MeV 1.15 keV 7.37 mm 2.29 cm World eIoni - 5 -47.2 um -20 cm 1.29 cm 249 MeV 473 eV 1.94 mm 2.48 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -47.3 um -19.8 cm 1.29 cm 1.15 keV 0 eV 0 fm 0 fm World initStep - 1 -41.9 um -19.8 cm 1.29 cm 762 keV 1.15 keV 69.3 um 69.3 um World eIoni - 2 -32.3 um -20 cm 1.29 cm 19.5 MeV 191 eV 1.87 mm 1.94 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -50.5 um -19.1 cm 1.29 cm 1.48 keV 0 eV 0 fm 0 fm World initStep - 1 -56.6 um -19.1 cm 1.29 cm 1.09 MeV 1.48 keV 99.2 um 99.2 um World eIoni - 2 -69.9 um -20 cm 1.29 cm 93.3 MeV 2.04 keV 9.22 mm 9.32 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -50.9 um -3.51 cm 1.29 cm 1.13 keV 0 eV 0 fm 0 fm World initStep - 1 -45.5 um -3.52 cm 1.29 cm 748 keV 1.13 keV 68 um 68 um World eIoni - 2 -32.3 um -4.08 cm 1.29 cm 56.5 MeV 395 eV 5.58 mm 5.64 mm World eIoni - 3 -42.4 um -18.6 cm 1.29 cm 1.51 GeV 30 keV 14.5 cm 15.1 cm World eIoni - 4 -42.7 um -20 cm 1.29 cm 1.65 GeV 2.96 keV 1.38 cm 16.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -42.4 um -18.6 cm 1.29 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 -40.6 um -18.6 cm 1.29 cm 684 keV 1.06 keV 62.2 um 62.2 um World eIoni - 2 -34.8 um -20 cm 1.29 cm 138 MeV 1.84 keV 1.38 cm 1.38 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -32.3 um -4.08 cm 1.29 cm 4.28 keV 0 eV 0 fm 0 fm World initStep - 1 -9.17 um -4.13 cm 1.29 cm 5.86 MeV 4.28 keV 548 um 548 um World eIoni - 2 11.3 um -5.61 cm 1.29 cm 154 MeV 3.04 keV 1.48 cm 1.53 cm WorldTransportation - 3 11.3 um -5.61 cm 1.29 cm 154 MeV3.57e-13 eV 0.00175 fm 1.53 cm World eIoni - 4 23.4 um -14.2 cm 1.29 cm 1.01 GeV 19 keV 8.56 cm 10.1 cm World eIoni - 5 24.3 um -15 cm 1.29 cm 1.1 GeV 2.32 keV 8.52 mm 10.9 cm World eIoni - 6 26.1 um -20 cm 1.29 cm 1.59 GeV 12.3 keV 4.98 cm 15.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 24.3 um -15 cm 1.29 cm 2.48 keV 0 eV 0 fm 0 fm World initStep - 1 37.1 um -15 cm 1.29 cm 2.37 MeV 2.48 keV 218 um 218 um World eIoni - 2 43.7 um -15.1 cm 1.29 cm 10.1 MeV 111 eV 774 um 993 um World eIoni - 3 59 um -17 cm 1.29 cm 197 MeV 2.33 keV 1.87 cm 1.96 cm World eIoni - 4 61.5 um -20 cm 1.29 cm 498 MeV 5.35 keV 3.01 cm 4.98 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 59 um -17 cm 1.29 cm 9.43 keV 0 eV 0 fm 0 fm World initStep - 1 66.7 um -17 cm 1.29 cm 5.25 MeV 1.03 keV 507 um 507 um World eIoni - 2 76.1 um -20 cm 1.29 cm 301 MeV 5.17 keV 2.96 cm 3.01 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 23.4 um -14.2 cm 1.29 cm 2.15 keV 0 eV 0 fm 0 fm World initStep - 1 12.5 um -14.2 cm 1.29 cm 1.89 MeV 2.15 keV 173 um 173 um World eIoni - 2 -2.26 um -14.7 cm 1.29 cm 54.8 MeV 664 eV 5.29 mm 5.46 mm World eIoni - 3 -8.01 um -16.1 cm 1.29 cm 189 MeV 1.99 keV 1.34 cm 1.89 cm World eIoni - 4 -10.9 um -17 cm 1.29 cm 279 MeV 1.75 keV 9.04 mm 2.79 cm World eBrem - 5 -15.1 um -19.1 cm 1.29 cm 488 MeV 3.4 keV 2.09 cm 4.88 cm World eIoni - 6 -15.8 um -19.9 cm 1.29 cm 577 MeV 866 eV 8.89 mm 5.77 cm World eIoni - 7 -15.9 um -20 cm 1.29 cm 583 MeV 88.2 eV 588 um 5.83 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -15.8 um -19.9 cm 1.29 cm 22.5 keV 0 eV 0 fm 0 fm World initStep - 1 1.49 um -20 cm 1.3 cm 7.05 MeV 283 eV 628 um 628 um OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -15.1 um -19.1 cm 1.29 cm 1.84 keV 0 eV 0 fm 0 fm World initStep - 1 -22.3 um -19.1 cm 1.29 cm 1.5 MeV 1.84 keV 137 um 137 um World eIoni - 2 -30.3 um -19.3 cm 1.29 cm 21.3 MeV 133 eV 1.98 mm 2.12 mm World eIoni - 3 -32.4 um -20 cm 1.29 cm 95 MeV 1.29 keV 7.36 mm 9.48 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -30.3 um -19.3 cm 1.29 cm 1.58 keV 0 eV 0 fm 0 fm World initStep - 1 -34 um -19.3 cm 1.29 cm 1.19 MeV 1.58 keV 109 um 109 um World eIoni - 2 -41.5 um -20 cm 1.29 cm 73.7 MeV 882 eV 7.25 mm 7.36 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -8.01 um -16.1 cm 1.29 cm 10.6 keV 0 eV 0 fm 0 fm World initStep - 1 8.76 um -16.2 cm 1.3 cm 19.6 MeV 4.66 keV 1.87 mm 1.87 mm World eIoni - 2 12.3 um -16.7 cm 1.3 cm 69.4 MeV 246 eV 4.98 mm 6.85 mm World eIoni - 3 17.4 um -20 cm 1.3 cm 395 MeV 7.62 keV 3.26 cm 3.94 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.06 cm 9.09 mm 156 MeV 2.22 keV 1.49 cm 1.49 cm World eIoni - 2 -142 nm -7.15 cm 1.72 cm 765 MeV 12.5 keV 6.15 cm 7.64 cm World eIoni - 3 517 nm -18 cm 2.17 cm 1.85 GeV 19.7 keV 10.9 cm 18.5 cm World eIoni - 4 289 nm -20 cm 2.22 cm 2.05 GeV 3.43 keV 1.96 cm 20.5 cm World eIoni - 5 291 nm -20 cm 2.22 cm 2.05 GeV 49.8 eV 390 um 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 289 nm -20 cm 2.22 cm 1.53 keV 0 eV 0 fm 0 fm World initStep - 1 -6.65 um -20 cm 2.22 cm 1.14 MeV 1.53 keV 104 um 104 um World eIoni - 2 -10.4 um -20 cm 2.22 cm 4.02 MeV 53.8 eV 288 um 392 um OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 517 nm -18 cm 2.17 cm 2.23 keV 0 eV 0 fm 0 fm World initStep - 1 7.74 um -18 cm 2.17 cm 2.01 MeV 2.23 keV 185 um 185 um World eIoni - 2 16.4 um -18.4 cm 2.17 cm 43.9 MeV 469 eV 4.19 mm 4.38 mm World eIoni - 3 21 um -20 cm 2.17 cm 200 MeV 2.54 keV 1.56 cm 2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -142 nm -7.15 cm 1.72 cm 2.36 keV 0 eV 0 fm 0 fm World initStep - 1 -1.79 um -7.16 cm 1.72 cm 1.31 MeV 1.01 keV 123 um 123 um World eIoni - 2 -6.93 um -14.8 cm 1.72 cm 765 MeV 9.03 keV 7.64 cm 7.65 cm World eIoni - 3 -8.38 um -19.7 cm 1.72 cm 1.25 GeV 11.6 keV 4.89 cm 12.5 cm World eIoni - 4 -8.54 um -20 cm 1.72 cm 1.28 GeV 485 eV 3.07 mm 12.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -8.38 um -19.7 cm 1.72 cm 2.15 keV 0 eV 0 fm 0 fm World initStep - 1 1.92 um -19.7 cm 1.72 cm 1.9 MeV 2.15 keV 174 um 174 um World eIoni - 2 13.3 um -20 cm 1.72 cm 30.8 MeV 359 eV 2.89 mm 3.07 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.93 um -14.8 cm 1.72 cm 1.22 keV 0 eV 0 fm 0 fm World initStep - 1 -3.45 um -14.8 cm 1.72 cm 829 keV 1.22 keV 75.4 um 75.4 um World eIoni - 2 9.36 um -20 cm 1.72 cm 520 MeV 5.93 keV 5.19 cm 5.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.06 cm 9.09 mm 3.54 keV 0 eV 0 fm 0 fm World initStep - 1 288 nm -1.1 cm 9.11 mm 4.24 MeV 3.54 keV 394 um 394 um World eIoni - 2 349 nm -1.15 cm 9.11 mm 8.98 MeV 64.4 eV 474 um 868 um World eIoni - 3 812 nm -20 cm 9.14 mm 1.89 GeV 31.8 keV 18.8 cm 18.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.25 mm 5.46 mm 82.5 MeV 806 eV 6.59 mm 6.59 mm World eIoni - 2 -9.52 um -19.6 cm 2.21 cm 2.01 GeV 34.8 keV 19.4 cm 20.1 cm World eIoni - 3 -9.48 um -20 cm 2.22 cm 2.05 GeV 409 eV 4.14 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -9.52 um -19.6 cm 2.21 cm 2.29 keV 0 eV 0 fm 0 fm World initStep - 1 -20.9 um -19.6 cm 2.21 cm 2.09 MeV 2.29 keV 192 um 192 um World eIoni - 2 -33.7 um -20 cm 2.21 cm 41.6 MeV 474 eV 3.95 mm 4.15 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.25 mm 5.46 mm 1.63 keV 0 eV 0 fm 0 fm World initStep - 1 5.56 um -3.36 mm 5.45 mm 1.25 MeV 1.63 keV 115 um 115 um World eIoni - 2 18.3 um -1.54 cm 5.44 mm 121 MeV 1.57 keV 1.2 cm 1.21 cm World eIoni - 3 14.5 um -7.3 cm 5.44 mm 698 MeV 10.2 keV 5.77 cm 6.98 cm World eIoni - 4 12.9 um -8.12 cm 5.44 mm 780 MeV 1.04 keV 8.2 mm 7.8 cm World eIoni - 5 1.92 um -20 cm 5.43 mm 1.97 GeV 23.7 keV 11.9 cm 19.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12.9 um -8.12 cm 5.44 mm 1 keV 0 eV 0 fm 0 fm World initStep - 1 9.56 um -8.13 cm 5.45 mm 635 keV 1 keV 57.8 um 57.8 um World eIoni - 2 -3.66 um -11.3 cm 5.46 mm 315 MeV 6.52 keV 3.14 cm 3.15 cm World eIoni - 3 -5.26 um -19.5 cm 5.46 mm 1.13 GeV 16.9 keV 8.2 cm 11.3 cm World eIoni - 4 -5.44 um -20 cm 5.46 mm 1.19 GeV 383 eV 5.3 mm 11.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.26 um -19.5 cm 5.46 mm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 -548 nm -19.5 cm 5.46 mm 639 keV 1.01 keV 58.1 um 58.1 um World eIoni - 2 12.1 um -20 cm 5.46 mm 53.1 MeV 970 eV 5.24 mm 5.3 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.66 um -11.3 cm 5.46 mm 1.27 keV 0 eV 0 fm 0 fm World initStep - 1 -5.38 um -11.3 cm 5.47 mm 875 keV 1.27 keV 79.6 um 79.6 um World eIoni - 2 -9.86 um -12.2 cm 5.48 mm 92.5 MeV 1.35 keV 9.17 mm 9.25 mm World eIoni - 3 -10.1 um -12.4 cm 5.48 mm 118 MeV 301 eV 2.53 mm 1.18 cm World eIoni - 4 -17.2 um -20 cm 5.5 mm 873 MeV 13.9 keV 7.55 cm 8.73 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -10.1 um -12.4 cm 5.48 mm 2.36 keV 0 eV 0 fm 0 fm World initStep - 1 -3.78 um -12.5 cm 5.47 mm 2.19 MeV 2.36 keV 202 um 202 um World eIoni - 2 6.87 um -14 cm 5.45 mm 153 MeV 1.68 keV 1.51 cm 1.53 cm World eIoni - 3 10.9 um -20 cm 5.45 mm 756 MeV 11.8 keV 6.03 cm 7.55 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.5 um -7.3 cm 5.44 mm 18.8 keV 0 eV 0 fm 0 fm World initStep - 1 31.6 um -7.31 cm 5.45 mm 705 keV 158 eV 73.2 um 73.2 um World eIoni - 2 107 um -13.4 cm 5.5 mm 613 MeV 9.46 keV 6.12 cm 6.13 cm World eIoni - 3 109 um -14.3 cm 5.5 mm 699 MeV 1.45 keV 8.55 mm 6.99 cm World eIoni - 4 116 um -20 cm 5.5 mm 1.27 GeV 13.9 keV 5.71 cm 12.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 109 um -14.3 cm 5.5 mm 1.03 keV 0 eV 0 fm 0 fm World initStep - 1 113 um -14.3 cm 5.5 mm 663 keV 1.03 keV 60.3 um 60.3 um World eIoni - 2 128 um -16 cm 5.51 mm 173 MeV 1.95 keV 1.72 cm 1.73 cm World eIoni - 3 134 um -20 cm 5.52 mm 571 MeV 9.25 keV 3.98 cm 5.71 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 128 um -16 cm 5.51 mm 2.14 keV 0 eV 0 fm 0 fm World initStep - 1 123 um -16 cm 5.5 mm 1.89 MeV 2.14 keV 173 um 173 um World eIoni - 2 115 um -17.2 cm 5.48 mm 123 MeV 3.66 keV 1.21 cm 1.22 cm World eIoni - 3 112 um -20 cm 5.48 mm 398 MeV 5.07 keV 2.76 cm 3.98 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 107 um -13.4 cm 5.5 mm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 102 um -13.4 cm 5.5 mm 666 keV 1.04 keV 60.6 um 60.6 um World eIoni - 2 84 um -16.6 cm 5.49 mm 318 MeV 5.07 keV 3.17 cm 3.17 cm World eIoni - 3 81.8 um -20 cm 5.49 mm 656 MeV 5.2 keV 3.39 cm 6.56 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 18.3 um -1.54 cm 5.44 mm 2.73 keV 0 eV 0 fm 0 fm World initStep - 1 32 um -1.56 cm 5.44 mm 2.75 MeV 2.73 keV 254 um 254 um World eIoni - 2 40.8 um -1.71 cm 5.44 mm 17.8 MeV 152 eV 1.5 mm 1.76 mm World eIoni - 3 49.6 um -2.56 cm 5.44 mm 102 MeV 1.03 keV 8.46 mm 1.02 cm World eBrem - 4 55.3 um -4.74 cm 5.43 mm 320 MeV 4.55 keV 2.18 cm 3.2 cm World eIoni - 5 80.2 um -16.8 cm 5.44 mm 1.53 GeV 28.8 keV 12.1 cm 15.3 cm World eIoni - 6 82.9 um -20 cm 5.44 mm 1.85 GeV 6.03 keV 3.2 cm 18.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 80.2 um -16.8 cm 5.44 mm 2.64 keV 0 eV 0 fm 0 fm World initStep - 1 80 um -16.8 cm 5.43 mm 1.17 MeV 1.79 keV 111 um 111 um World eIoni - 2 79.3 um -20 cm 5.4 mm 321 MeV 3.47 keV 3.19 cm 3.21 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 55.3 um -4.74 cm 5.43 mm 12.1 keV 0 eV 0 fm 0 fm World initStep - 1 -901 nm -4.89 cm 5.42 mm 16.3 MeV 4.73 keV 1.57 mm 1.57 mm World eIoni - 2 -27.7 um -6.71 cm 5.41 mm 198 MeV 2.61 keV 1.82 cm 1.98 cm World eIoni - 3 -29.8 um -7.23 cm 5.41 mm 250 MeV 868 eV 5.17 mm 2.49 cm World eIoni - 4 -35.9 um -10.6 cm 5.41 mm 585 MeV 5.72 keV 3.35 cm 5.84 cm World eIoni - 5 -44.2 um -14.8 cm 5.4 mm 1 GeV 6.69 keV 4.19 cm 10 cm World eIoni - 6 -46.1 um -16.8 cm 5.4 mm 1.21 GeV 4.88 keV 2.04 cm 12.1 cm World eIoni - 7 -46.4 um -17.1 cm 5.4 mm 1.24 GeV 329 eV 3.16 mm 12.4 cm World eIoni - 8 -49.3 um -20 cm 5.39 mm 1.53 GeV 6.26 keV 2.88 cm 15.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -46.4 um -17.1 cm 5.4 mm 1.28 keV 0 eV 0 fm 0 fm World initStep - 1 -47.3 um -17.1 cm 5.4 mm 884 keV 1.28 keV 80.4 um 80.4 um World eIoni - 2 -49.4 um -18 cm 5.42 mm 89.8 MeV 531 eV 8.89 mm 8.97 mm World eIoni - 3 -54.1 um -20 cm 5.42 mm 288 MeV 4.55 keV 1.98 cm 2.88 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 21 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -49.4 um -18 cm 5.42 mm 1.32 keV 0 eV 0 fm 0 fm World initStep - 1 -43.4 um -18 cm 5.42 mm 921 keV 1.32 keV 83.8 um 83.8 um World eIoni - 2 -25.7 um -20 cm 5.41 mm 198 MeV 2.31 keV 1.97 cm 1.98 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -46.1 um -16.8 cm 5.4 mm 2.98 keV 0 eV 0 fm 0 fm World initStep - 1 -34.9 um -16.8 cm 5.41 mm 3.19 MeV 2.98 keV 295 um 295 um World eIoni - 2 -30.8 um -16.9 cm 5.41 mm 10.3 MeV 63.6 eV 709 um 1 mm World eIoni - 3 -17.6 um -20 cm 5.43 mm 319 MeV 4.94 keV 3.09 cm 3.19 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -44.2 um -14.8 cm 5.4 mm 3.16 keV 0 eV 0 fm 0 fm World initStep - 1 -59.8 um -14.8 cm 5.39 mm 3.51 MeV 3.16 keV 326 um 326 um World eIoni - 2 -60.3 um -14.8 cm 5.39 mm 3.91 MeV 5.97 eV 39.7 um 365 um World eIoni - 3 -78 um -15.7 cm 5.38 mm 90.6 MeV 934 eV 8.67 mm 9.04 mm World eIoni - 4 -91.9 um -20 cm 5.37 mm 524 MeV 8.6 keV 4.33 cm 5.23 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 19 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -78 um -15.7 cm 5.38 mm 1.88 keV 0 eV 0 fm 0 fm World initStep - 1 -72.3 um -15.7 cm 5.39 mm 1.55 MeV 1.88 keV 142 um 142 um World eIoni - 2 -58.9 um -18.3 cm 5.41 mm 264 MeV 2.88 keV 2.63 cm 2.64 cm World eIoni - 3 -59 um -20 cm 5.41 mm 433 MeV 2.46 keV 1.69 cm 4.33 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 23 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -58.9 um -18.3 cm 5.41 mm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 -54.8 um -18.3 cm 5.41 mm 680 keV 1.05 keV 61.9 um 61.9 um World eIoni - 2 -41 um -20 cm 5.4 mm 169 MeV 3.69 keV 1.68 cm 1.69 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -35.9 um -10.6 cm 5.41 mm 7.34 keV 0 eV 0 fm 0 fm World initStep - 1 6.46 um -10.7 cm 5.42 mm 14 MeV 6.37 keV 1.32 mm 1.32 mm World eIoni - 2 9.07 um -10.8 cm 5.42 mm 19.4 MeV 0 eV 543 um 1.87 mm World eIoni - 3 39.1 um -18 cm 5.43 mm 746 MeV 11.2 keV 7.27 cm 7.46 cm World eIoni - 4 39.5 um -20 cm 5.43 mm 943 MeV 4.19 keV 1.97 cm 9.43 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 18 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 39.1 um -18 cm 5.43 mm 2.32 keV 0 eV 0 fm 0 fm World initStep - 1 51 um -18 cm 5.43 mm 2.14 MeV 2.32 keV 196 um 196 um World eIoni - 2 65.6 um -18.6 cm 5.43 mm 52.7 MeV 649 eV 5.05 mm 5.25 mm World eIoni - 3 71.9 um -20 cm 5.44 mm 197 MeV 2.37 keV 1.45 cm 1.97 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -29.8 um -7.23 cm 5.41 mm 2.06 keV 0 eV 0 fm 0 fm World initStep - 1 -34.3 um -7.24 cm 5.42 mm 1.78 MeV 2.06 keV 163 um 163 um World eIoni - 2 -40 um -7.6 cm 5.43 mm 37.1 MeV 497 eV 3.54 mm 3.7 mm World eIoni - 3 -33.7 um -20 cm 5.44 mm 1.28 GeV 23.8 keV 12.4 cm 12.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 17 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -40 um -7.6 cm 5.43 mm 1.6 keV 0 eV 0 fm 0 fm World initStep - 1 -47.2 um -7.61 cm 5.44 mm 1.22 MeV 1.6 keV 111 um 111 um World eIoni - 2 -71.8 um -19 cm 5.45 mm 1.14 GeV 15.4 keV 11.4 cm 11.4 cm World eIoni - 3 -72.1 um -20 cm 5.45 mm 1.24 GeV 2.59 keV 1 cm 12.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 26 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -71.8 um -19 cm 5.45 mm 1.1 keV 0 eV 0 fm 0 fm World initStep - 1 -71.7 um -19 cm 5.44 mm 719 keV 1.1 keV 65.4 um 65.4 um World eIoni - 2 -71.6 um -20 cm 5.43 mm 100 MeV 2.73 keV 9.96 mm 1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -27.7 um -6.71 cm 5.41 mm 1.15 keV 0 eV 0 fm 0 fm World initStep - 1 -30.3 um -6.72 cm 5.42 mm 761 keV 1.15 keV 69.2 um 69.2 um World eIoni - 2 -36.9 um -7.35 cm 5.43 mm 64.1 MeV 869 eV 6.33 mm 6.4 mm World eIoni - 3 -49.2 um -20 cm 5.46 mm 1.33 GeV 27.7 keV 12.6 cm 13.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 16 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -36.9 um -7.35 cm 5.43 mm 4.87 keV 0 eV 0 fm 0 fm World initStep - 1 -27.4 um -7.42 cm 5.41 mm 7.31 MeV 4.87 keV 686 um 686 um World eIoni - 2 -22.5 um -7.93 cm 5.39 mm 58.5 MeV 1.45 keV 5.12 mm 5.8 mm World eIoni - 3 -17.2 um -12.5 cm 5.38 mm 520 MeV 9.4 keV 4.61 cm 5.19 cm World eIoni - 4 -34.6 um -20 cm 5.38 mm 1.27 GeV 11.6 keV 7.46 cm 12.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 28 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -17.2 um -12.5 cm 5.38 mm 51.6 keV 0 eV 0 fm 0 fm World initStep - 1 169 um -13.7 cm 5.32 mm 117 MeV 5.26 keV 1.16 cm 1.16 cm World eIoni - 2 179 um -14.4 cm 5.32 mm 187 MeV 1.24 keV 6.98 mm 1.86 cm World eIoni - 3 209 um -20 cm 5.31 mm 748 MeV 11 keV 5.61 cm 7.46 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 49.6 um -2.56 cm 5.44 mm 43.2 keV 0 eV 0 fm 0 fm World initStep - 1 925 um -20 cm 4.69 mm 43.2 keV 0 eV 17.4 cm 17.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -8.98 cm 1.83 cm 948 MeV 15.8 keV 9.47 cm 9.47 cm World eIoni - 2 -493 nm -18.2 cm 2.18 cm 1.87 GeV 19 keV 9.26 cm 18.7 cm World eIoni - 3 -659 nm -20 cm 2.22 cm 2.05 GeV 4.68 keV 1.77 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -493 nm -18.2 cm 2.18 cm 1.85 keV 0 eV 0 fm 0 fm World initStep - 1 1.88 um -18.2 cm 2.18 cm 1.51 MeV 1.85 keV 137 um 137 um World eIoni - 2 6.94 um -20 cm 2.18 cm 177 MeV 1.27 keV 1.76 cm 1.77 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -8.98 cm 1.83 cm 42.2 keV 0 eV 0 fm 0 fm World initStep - 1 6.29 um -9.82 cm 1.81 cm 86.6 MeV 6.73 keV 8.52 mm 8.52 mm World eIoni - 2 6.35 um -9.9 cm 1.81 cm 94.4 MeV 69.5 eV 782 um 9.3 mm World eIoni - 3 7.48 um -13.4 cm 1.81 cm 448 MeV 7.93 keV 3.54 cm 4.47 cm World eIoni - 4 7.54 um -13.5 cm 1.81 cm 456 MeV 21 eV 734 um 4.54 cm World eIoni - 5 10.1 um -20 cm 1.81 cm 1.1 GeV 13.8 keV 6.49 cm 11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.54 um -13.5 cm 1.81 cm 3.7 keV 0 eV 0 fm 0 fm World initStep - 1 10 um -13.6 cm 1.81 cm 4.56 MeV 3.7 keV 425 um 425 um World eIoni - 2 10.6 um -13.6 cm 1.81 cm 11.4 MeV 183 eV 681 um 1.11 mm World eIoni - 3 13.2 um -16.6 cm 1.81 cm 309 MeV 3.21 keV 2.97 cm 3.08 cm World eIoni - 4 12 um -19.5 cm 1.81 cm 603 MeV 7.95 keV 2.94 cm 6.03 cm World eIoni - 5 11.9 um -20 cm 1.81 cm 649 MeV 932 eV 4.59 mm 6.49 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12 um -19.5 cm 1.81 cm 1.2 keV 0 eV 0 fm 0 fm World initStep - 1 16 um -19.5 cm 1.82 cm 808 keV 1.2 keV 73.5 um 73.5 um World eIoni - 2 24.7 um -20 cm 1.82 cm 46 MeV 544 eV 4.52 mm 4.59 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 13.2 um -16.6 cm 1.81 cm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 17.3 um -16.6 cm 1.81 cm 779 keV 1.17 keV 70.8 um 70.8 um World eIoni - 2 31.9 um -20 cm 1.82 cm 340 MeV 4.17 keV 3.4 cm 3.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.48 um -13.4 cm 1.81 cm 14.6 keV 0 eV 0 fm 0 fm World initStep - 1 -11.1 um -13.7 cm 1.8 cm 25.4 MeV 4.77 keV 2.43 mm 2.43 mm World eIoni - 2 -12.5 um -13.8 cm 1.8 cm 40.8 MeV 211 eV 1.54 mm 3.98 mm World eIoni - 3 -19.9 um -18.1 cm 1.8 cm 468 MeV 8.46 keV 4.27 cm 4.67 cm World eIoni - 4 -20.9 um -20 cm 1.8 cm 658 MeV 3.13 keV 1.89 cm 6.56 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -19.9 um -18.1 cm 1.8 cm 1.13 keV 0 eV 0 fm 0 fm World initStep - 1 -18.5 um -18.1 cm 1.8 cm 744 keV 1.13 keV 67.6 um 67.6 um World eIoni - 2 -13.8 um -20 cm 1.8 cm 189 MeV 3.27 keV 1.89 cm 1.89 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -9.87 cm 1.88 cm 1.04 GeV 19.7 keV 10.4 cm 10.4 cm World eIoni - 2 295 nm -11.2 cm 1.94 cm 1.17 GeV 2.66 keV 1.31 cm 11.7 cm World eIoni - 3 -601 nm -14.4 cm 2.06 cm 1.49 GeV 6.17 keV 3.19 cm 14.9 cm World eIoni - 4 -1.25 um -20 cm 2.22 cm 2.05 GeV 11.6 keV 5.64 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -601 nm -14.4 cm 2.06 cm 1.14 keV 0 eV 0 fm 0 fm World initStep - 1 -3.3 um -14.4 cm 2.06 cm 755 keV 1.14 keV 68.7 um 68.7 um World eIoni - 2 -13.7 um -20 cm 2.06 cm 564 MeV 8.53 keV 5.63 cm 5.64 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 295 nm -11.2 cm 1.94 cm 3.78 keV 0 eV 0 fm 0 fm World initStep - 1 21.1 um -11.2 cm 1.94 cm 4.74 MeV 3.78 keV 442 um 442 um World eIoni - 2 40.5 um -12.4 cm 1.94 cm 118 MeV 1.42 keV 1.14 cm 1.18 cm World eIoni - 3 53.2 um -20 cm 1.94 cm 883 MeV 15.2 keV 7.65 cm 8.83 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -9.87 cm 1.88 cm 1.44 keV 0 eV 0 fm 0 fm World initStep - 1 -4.53 um -9.88 cm 1.88 cm 1.04 MeV 1.44 keV 95.1 um 95.1 um World eIoni - 2 -14.6 um -10.7 cm 1.87 cm 80.4 MeV 900 eV 7.94 mm 8.03 mm World eIoni - 3 -9.42 um -19.5 cm 1.87 cm 963 MeV 16.3 keV 8.83 cm 9.63 cm World eIoni - 4 -9.36 um -20 cm 1.87 cm 1.01 GeV 1.51 keV 4.99 mm 10.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -9.42 um -19.5 cm 1.87 cm 1.29 keV 0 eV 0 fm 0 fm World initStep - 1 -8.42 um -19.5 cm 1.87 cm 897 keV 1.29 keV 81.6 um 81.6 um World eIoni - 2 -6.29 um -20 cm 1.88 cm 50 MeV 920 eV 4.91 mm 4.99 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -14.6 um -10.7 cm 1.87 cm 2.07 keV 0 eV 0 fm 0 fm World initStep - 1 -25 um -10.7 cm 1.87 cm 1.79 MeV 2.07 keV 164 um 164 um World eIoni - 2 -48.7 um -14.5 cm 1.87 cm 380 MeV 4.04 keV 3.79 cm 3.8 cm World eIoni - 3 -49.8 um -17.8 cm 1.87 cm 717 MeV 6.47 keV 3.36 cm 7.16 cm World eIoni - 4 -50.9 um -20 cm 1.87 cm 933 MeV 4.54 keV 2.16 cm 9.33 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -49.8 um -17.8 cm 1.87 cm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 -44.9 um -17.8 cm 1.87 cm 783 keV 1.17 keV 71.2 um 71.2 um World eIoni - 2 -29.1 um -20 cm 1.88 cm 216 MeV 4.98 keV 2.16 cm 2.16 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -48.7 um -14.5 cm 1.87 cm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 -53 um -14.5 cm 1.87 cm 670 keV 1.04 keV 61 um 61 um World eIoni - 2 -70 um -18.8 cm 1.87 cm 428 MeV 7.31 keV 4.27 cm 4.28 cm World eIoni - 3 -70.6 um -20 cm 1.87 cm 553 MeV 1.76 keV 1.25 cm 5.53 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -70 um -18.8 cm 1.87 cm 1.2 keV 0 eV 0 fm 0 fm World initStep - 1 -70.1 um -18.8 cm 1.87 cm 806 keV 1.2 keV 73.3 um 73.3 um World eIoni - 2 -70.1 um -20 cm 1.87 cm 125 MeV 1.16 keV 1.24 cm 1.25 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -17.7 cm 2.16 cm 1.82 GeV 33.2 keV 18.2 cm 18.2 cm World eIoni - 2 3.21 Ang -17.7 cm 2.16 cm 1.82 GeV 60.7 eV 374 um 18.2 cm World eIoni - 3 193 nm -20 cm 2.22 cm 2.05 GeV 3.78 keV 2.25 cm 20.5 cm World eIoni - 4 206 nm -20 cm 2.22 cm 2.05 GeV 60.2 eV 355 um 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 193 nm -20 cm 2.22 cm 3.95 keV 0 eV 0 fm 0 fm World initStep - 1 -34.5 um -20 cm 2.22 cm 5.43 MeV 2.39 keV 382 um 382 um OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.21 Ang -17.7 cm 2.16 cm 1.24 keV 0 eV 0 fm 0 fm World initStep - 1 -2.5 um -17.7 cm 2.16 cm 849 keV 1.24 keV 77.3 um 77.3 um World eIoni - 2 -10.3 um -20 cm 2.16 cm 228 MeV 3.23 keV 2.28 cm 2.28 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -17.7 cm 2.16 cm 1.7 keV 0 eV 0 fm 0 fm World initStep - 1 -315 nm -17.7 cm 2.16 cm 1.34 MeV 1.7 keV 122 um 122 um World eIoni - 2 -1.08 um -20 cm 2.16 cm 232 MeV 3.74 keV 2.31 cm 2.32 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -10.6 cm 1.91 cm 1.11 GeV 21.7 keV 11.1 cm 11.1 cm World eIoni - 2 1.29 um -20 cm 2.22 cm 2.05 GeV 20.1 keV 9.39 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -10.6 cm 1.91 cm 1.08 keV 0 eV 0 fm 0 fm World initStep - 1 -3.23 um -10.6 cm 1.91 cm 702 keV 1.08 keV 63.9 um 63.9 um World eIoni - 2 -17.5 um -19.1 cm 1.91 cm 854 MeV 13.5 keV 8.53 cm 8.54 cm World eIoni - 3 -17.3 um -20 cm 1.91 cm 939 MeV 1.31 keV 8.51 mm 9.39 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -17.5 um -19.1 cm 1.91 cm 3.79 keV 0 eV 0 fm 0 fm World initStep - 1 -33.8 um -19.2 cm 1.91 cm 4.75 MeV 3.79 keV 443 um 443 um World eIoni - 2 -46 um -19.8 cm 1.91 cm 65.2 MeV 887 eV 6.05 mm 6.49 mm World eIoni - 3 -47.3 um -20 cm 1.91 cm 85.5 MeV 989 eV 2.03 mm 8.52 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -7.38 cm 1.74 cm 788 MeV 14.7 keV 7.87 cm 7.87 cm World eIoni - 2 2.02 um -20 cm 2.22 cm 2.05 GeV 25.9 keV 12.6 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -7.38 cm 1.74 cm 1.03 keV 0 eV 0 fm 0 fm World initStep - 1 -3.16 um -7.38 cm 1.74 cm 657 keV 1.03 keV 59.7 um 59.7 um World eIoni - 2 -18.1 um -20 cm 1.74 cm 1.26 GeV 18.1 keV 12.6 cm 12.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.67 cm 1.61 cm 617 MeV 11.9 keV 6.15 cm 6.15 cm World eIoni - 2 4.93 um -15.5 cm 2.1 cm 1.6 GeV 20 keV 9.85 cm 16 cm World eIoni - 3 5.18 um -20 cm 2.22 cm 2.05 GeV 13.1 keV 4.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.93 um -15.5 cm 2.1 cm 7.55 keV 0 eV 0 fm 0 fm World initStep - 1 26.7 um -15.6 cm 2.1 cm 14.4 MeV 5.98 keV 1.37 mm 1.37 mm World eIoni - 2 29 um -15.7 cm 2.1 cm 25.7 MeV 86.8 eV 1.13 mm 2.49 mm World eIoni - 3 39.6 um -18.5 cm 2.1 cm 299 MeV 6.6 keV 2.73 cm 2.98 cm World eIoni - 4 42.1 um -20 cm 2.1 cm 451 MeV 4.14 keV 1.52 cm 4.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 39.6 um -18.5 cm 2.1 cm 45.3 keV 0 eV 0 fm 0 fm World initStep - 1 30.6 um -18.6 cm 2.11 cm 16.4 MeV 781 eV 1.62 mm 1.62 mm World eIoni - 2 26 um -20 cm 2.12 cm 153 MeV 2.79 keV 1.36 cm 1.52 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.67 cm 1.61 cm 2.61 keV 0 eV 0 fm 0 fm World initStep - 1 -13.6 um -5.69 cm 1.61 cm 2.57 MeV 2.61 keV 237 um 237 um World eIoni - 2 -29.8 um -6.35 cm 1.61 cm 68.8 MeV 554 eV 6.62 mm 6.86 mm World eIoni - 3 -45.3 um -20 cm 1.61 cm 1.43 GeV 28.8 keV 13.6 cm 14.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.96 cm 1.45 cm 446 MeV 9.33 keV 4.44 cm 4.44 cm World eIoni - 2 -1.8 um -10 cm 1.89 cm 1.05 GeV 16.4 keV 6.1 cm 10.5 cm World eIoni - 3 1.29 um -20 cm 2.22 cm 2.05 GeV 22.2 keV 9.96 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.8 um -10 cm 1.89 cm 5.75 keV 0 eV 0 fm 0 fm World initStep - 1 -31.9 um -10.1 cm 1.89 cm 9.79 MeV 5.75 keV 921 um 921 um World eIoni - 2 -43 um -10.6 cm 1.89 cm 53 MeV 586 eV 4.32 mm 5.24 mm World eIoni - 3 -62 um -17.5 cm 1.89 cm 747 MeV 14.2 keV 6.94 cm 7.46 cm World eIoni - 4 -64.5 um -19.7 cm 1.89 cm 963 MeV 3.76 keV 2.17 cm 9.63 cm World eIoni - 5 -64.7 um -20 cm 1.89 cm 996 MeV 773 eV 3.28 mm 9.96 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -64.5 um -19.7 cm 1.89 cm 1.03 keV 0 eV 0 fm 0 fm World initStep - 1 -66.7 um -19.7 cm 1.89 cm 657 keV 1.03 keV 59.8 um 59.8 um World eIoni - 2 -71.5 um -20 cm 1.89 cm 32.8 MeV 588 eV 3.22 mm 3.28 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -62 um -17.5 cm 1.89 cm 1.45 keV 0 eV 0 fm 0 fm World initStep - 1 -56.1 um -17.5 cm 1.89 cm 1.06 MeV 1.45 keV 96.3 um 96.3 um World eIoni - 2 -39.5 um -20 cm 1.89 cm 250 MeV 4.99 keV 2.49 cm 2.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.96 cm 1.45 cm 997 eV 0 eV 0 fm 0 fm World initStep - 1 3.04 um -3.97 cm 1.45 cm 630 keV 997 eV 57.5 um 57.5 um World eIoni - 2 18.3 um -20 cm 1.45 cm 1.6 GeV 25.6 keV 16 cm 16 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 35.2 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.38 cm 1.23 cm 288 MeV 6.07 keV 2.84 cm 2.84 cm World eIoni - 2 -2.71 um -5.23 cm 1.58 cm 573 MeV 5.28 keV 2.88 cm 5.71 cm World eIoni - 3 -6.24 um -8.65 cm 1.81 cm 910 MeV 5.77 keV 3.43 cm 9.14 cm World eIoni - 4 -67.9 um -12.1 cm 1.98 cm 1.25 GeV 8.3 keV 3.41 cm 12.5 cm World eIoni - 5 -98.6 um -14.2 cm 2.06 cm 1.46 GeV 5.37 keV 2.11 cm 14.7 cm World eIoni - 6 -167 um -20 cm 2.23 cm 2.05 GeV 12.5 keV 5.84 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -98.6 um -14.2 cm 2.06 cm 7.01 keV 0 eV 0 fm 0 fm World initStep - 1 -59.9 um -14.3 cm 2.06 cm 13.3 MeV 6.37 keV 1.25 mm 1.25 mm World eIoni - 2 -55.6 um -14.4 cm 2.05 cm 23.7 MeV 46.9 eV 1.04 mm 2.3 mm World eIoni - 3 -31 um -20 cm 2.05 cm 584 MeV 12.4 keV 5.61 cm 5.84 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -67.9 um -12.1 cm 1.98 cm 1.14 keV 0 eV 0 fm 0 fm World initStep - 1 -63.4 um -12.1 cm 1.98 cm 758 keV 1.14 keV 69 um 69 um World eIoni - 2 -46 um -16.6 cm 1.98 cm 457 MeV 6.71 keV 4.56 cm 4.57 cm World eIoni - 3 -40 um -20 cm 1.97 cm 795 MeV 6.76 keV 3.38 cm 7.95 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -46 um -16.6 cm 1.98 cm 7.67 keV 0 eV 0 fm 0 fm World initStep - 1 -87.7 um -16.8 cm 1.98 cm 14.7 MeV 4.23 keV 1.39 mm 1.39 mm World eIoni - 2 -89.3 um -16.8 cm 1.98 cm 18.1 MeV 46.1 eV 344 um 1.73 mm World eIoni - 3 -112 um -20 cm 1.98 cm 339 MeV 7.04 keV 3.2 cm 3.38 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.24 um -8.65 cm 1.81 cm 4.58 MeV 0 eV 0 fm 0 fm World initStep - 1 344 um -8.91 cm 1.8 cm 31.4 MeV 167 eV 2.72 mm 2.72 mm World eIoni - 2 495 um -9.34 cm 1.79 cm 73.7 MeV 352 eV 4.23 mm 6.95 mm World eIoni - 3 856 um -14.2 cm 1.77 cm 562 MeV 11.7 keV 4.89 cm 5.58 cm World eIoni - 4 944 um -17.8 cm 1.77 cm 917 MeV 6.71 keV 3.54 cm 9.13 cm World eIoni - 5 982 um -20 cm 1.77 cm 1.14 GeV 3.76 keV 2.23 cm 11.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 944 um -17.8 cm 1.77 cm 1.81 keV 0 eV 0 fm 0 fm World initStep - 1 952 um -17.8 cm 1.77 cm 1.46 MeV 1.81 keV 133 um 133 um World eIoni - 2 971 um -20 cm 1.77 cm 223 MeV 5.19 keV 2.22 cm 2.23 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 856 um -14.2 cm 1.77 cm 1.35 keV 0 eV 0 fm 0 fm World initStep - 1 853 um -14.2 cm 1.77 cm 958 keV 1.35 keV 87.2 um 87.2 um World eIoni - 2 847 um -15.1 cm 1.78 cm 90.7 MeV 2.11 keV 8.98 mm 9.06 mm World eIoni - 3 850 um -20 cm 1.78 cm 578 MeV 8.59 keV 4.87 cm 5.77 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 847 um -15.1 cm 1.78 cm 2.86 keV 0 eV 0 fm 0 fm World initStep - 1 837 um -15.2 cm 1.78 cm 2.97 MeV 2.86 keV 275 um 275 um World eIoni - 2 824 um -16.3 cm 1.78 cm 116 MeV 1.14 keV 1.13 cm 1.16 cm World eIoni - 3 818 um -20 cm 1.78 cm 487 MeV 6.96 keV 3.71 cm 4.87 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 495 um -9.34 cm 1.79 cm 1.47 keV 0 eV 0 fm 0 fm World initStep - 1 494 um -9.35 cm 1.79 cm 1.08 MeV 1.47 keV 98.1 um 98.1 um World eIoni - 2 494 um -20 cm 1.79 cm 1.07 GeV 16.8 keV 10.7 cm 10.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 344 um -8.91 cm 1.8 cm 7.1 keV 0 eV 0 fm 0 fm World initStep - 1 385 um -9.04 cm 1.8 cm 13.5 MeV 7.1 keV 1.27 mm 1.27 mm World eIoni - 2 392 um -9.22 cm 1.8 cm 31.5 MeV 171 eV 1.8 mm 3.07 mm World eIoni - 3 420 um -20 cm 1.8 cm 1.11 GeV 18.4 keV 10.8 cm 11.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.71 um -5.23 cm 1.58 cm 1.31 keV 0 eV 0 fm 0 fm World initStep - 1 3.56 um -5.24 cm 1.58 cm 919 keV 1.31 keV 83.7 um 83.7 um World eIoni - 2 24.6 um -9.16 cm 1.58 cm 393 MeV 5.71 keV 3.92 cm 3.93 cm World eIoni - 3 25 um -11.5 cm 1.58 cm 622 MeV 3.82 keV 2.29 cm 6.22 cm World eIoni - 4 27.2 um -20 cm 1.58 cm 1.48 GeV 19.3 keV 8.55 cm 14.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 25 um -11.5 cm 1.58 cm 1.89 keV 0 eV 0 fm 0 fm World initStep - 1 19.6 um -11.5 cm 1.58 cm 1.56 MeV 1.89 keV 143 um 143 um World eIoni - 2 4.27 um -20 cm 1.58 cm 855 MeV 11.7 keV 8.54 cm 8.55 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 24.6 um -9.16 cm 1.58 cm 1.34 keV 0 eV 0 fm 0 fm World initStep - 1 29.7 um -9.17 cm 1.58 cm 946 keV 1.34 keV 86.1 um 86.1 um World eIoni - 2 42.5 um -10.2 cm 1.57 cm 105 MeV 2.48 keV 1.04 cm 1.05 cm World eIoni - 3 56.8 um -14.7 cm 1.57 cm 553 MeV 10.1 keV 4.48 cm 5.53 cm World eIoni - 4 59.2 um -20 cm 1.57 cm 1.08 GeV 13.6 keV 5.3 cm 10.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 56.8 um -14.7 cm 1.57 cm 1.83 keV 0 eV 0 fm 0 fm World initStep - 1 65.7 um -14.7 cm 1.58 cm 1.49 MeV 1.83 keV 136 um 136 um World eIoni - 2 89.4 um -20 cm 1.58 cm 531 MeV 7.91 keV 5.29 cm 5.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 42.5 um -10.2 cm 1.57 cm 4.69 keV 0 eV 0 fm 0 fm World initStep - 1 20.5 um -10.3 cm 1.57 cm 6.84 MeV 4.69 keV 641 um 641 um World eIoni - 2 -7.45 um -20 cm 1.57 cm 979 MeV 17.1 keV 9.73 cm 9.79 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.38 cm 1.23 cm 1.85 keV 0 eV 0 fm 0 fm World initStep - 1 8.29 um -2.39 cm 1.23 cm 1.51 MeV 1.85 keV 138 um 138 um World eIoni - 2 26.8 um -4.38 cm 1.22 cm 201 MeV 2.45 keV 1.99 cm 2.01 cm World eIoni - 3 27 um -4.47 cm 1.22 cm 209 MeV 109 eV 850 um 2.09 cm World eIoni - 4 23.4 um -20 cm 1.23 cm 1.76 GeV 37.3 keV 15.5 cm 17.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 27 um -4.47 cm 1.22 cm 6.11 keV 0 eV 0 fm 0 fm World initStep - 1 52.9 um -4.57 cm 1.22 cm 10.9 MeV 6.11 keV 1.02 mm 1.02 mm World eIoni - 2 62.2 um -5.06 cm 1.22 cm 60.3 MeV 916 eV 4.95 mm 5.97 mm World eIoni - 3 75.1 um -10.3 cm 1.22 cm 582 MeV 9.88 keV 5.22 cm 5.82 cm World eIoni - 4 80.6 um -20 cm 1.22 cm 1.55 GeV 19 keV 9.72 cm 15.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 17 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 75.1 um -10.3 cm 1.22 cm 1.6 keV 0 eV 0 fm 0 fm World initStep - 1 74.8 um -10.3 cm 1.22 cm 1.22 MeV 1.6 keV 111 um 111 um World eIoni - 2 74 um -20 cm 1.22 cm 972 MeV 13.8 keV 9.7 cm 9.72 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.04 mm 7.19 mm 110 MeV 2.15 keV 9.87 mm 9.87 mm World eIoni - 2 1.78 um -1.86 cm 1.12 cm 236 MeV 2.6 keV 1.32 cm 2.31 cm World eIoni - 3 3.42 um -15.7 cm 2.1 cm 1.62 GeV 31.6 keV 13.9 cm 16.2 cm World eIoni - 4 3.21 um -17.1 cm 2.14 cm 1.76 GeV 3.36 keV 1.42 cm 17.6 cm World eIoni - 5 1.52 um -20 cm 2.22 cm 2.05 GeV 4.57 keV 2.85 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.21 um -17.1 cm 2.14 cm 7.52 keV 0 eV 0 fm 0 fm World initStep - 1 38 um -17.2 cm 2.14 cm 8.2 MeV 3.01 keV 781 um 781 um World eIoni - 2 69.1 um -20 cm 2.14 cm 286 MeV 3.63 keV 2.78 cm 2.85 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.42 um -15.7 cm 2.1 cm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 8.91 um -15.7 cm 2.1 cm 785 keV 1.17 keV 71.5 um 71.5 um World eIoni - 2 29.1 um -20 cm 2.1 cm 427 MeV 9.15 keV 4.26 cm 4.27 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.78 um -1.86 cm 1.12 cm 1.34 keV 0 eV 0 fm 0 fm World initStep - 1 4.13 um -1.87 cm 1.12 cm 936 keV 1.34 keV 85.7 um 85.7 um World eIoni - 2 12 um -5.67 cm 1.12 cm 381 MeV 5.11 keV 3.8 cm 3.81 cm World eIoni - 3 12 um -5.73 cm 1.12 cm 387 MeV 182 eV 652 um 3.87 cm World eIoni - 4 12.3 um -6.06 cm 1.12 cm 421 MeV 659 eV 3.31 mm 4.2 cm World eIoni - 5 13.4 um -7.56 cm 1.12 cm 571 MeV 3.71 keV 1.5 cm 5.71 cm World eIoni - 6 23.3 um -16.8 cm 1.12 cm 1.49 GeV 17.8 keV 9.24 cm 14.9 cm World eIoni - 7 25.5 um -20 cm 1.12 cm 1.81 GeV 6.24 keV 3.2 cm 18.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 23.3 um -16.8 cm 1.12 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 19.8 um -16.8 cm 1.12 cm 686 keV 1.06 keV 62.4 um 62.4 um World eIoni - 2 6.59 um -20 cm 1.12 cm 320 MeV 4.57 keV 3.19 cm 3.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 13.4 um -7.56 cm 1.12 cm 4.31 keV 0 eV 0 fm 0 fm World initStep - 1 -10.3 um -7.62 cm 1.12 cm 5.93 MeV 4.31 keV 555 um 555 um World eIoni - 2 -21.7 um -7.92 cm 1.12 cm 36.5 MeV 1.11 keV 3.06 mm 3.61 mm World eIoni - 3 -45.5 um -19.8 cm 1.12 cm 1.23 GeV 21 keV 11.9 cm 12.2 cm World eIoni - 4 -45.6 um -20 cm 1.12 cm 1.24 GeV 221 eV 1.9 mm 12.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -45.5 um -19.8 cm 1.12 cm 3.59 keV 0 eV 0 fm 0 fm World initStep - 1 -60.1 um -19.8 cm 1.12 cm 2.28 MeV 1.01 keV 214 um 214 um World eIoni - 2 -71.6 um -20 cm 1.12 cm 19.1 MeV 187 eV 1.69 mm 1.9 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12.3 um -6.06 cm 1.12 cm 3.71 keV 0 eV 0 fm 0 fm World initStep - 1 12.5 um -6.11 cm 1.12 cm 4.59 MeV 3.71 keV 428 um 428 um World eIoni - 2 12.5 um -6.12 cm 1.12 cm 5.88 MeV 35.1 eV 129 um 556 um World eIoni - 3 12.7 um -7.14 cm 1.12 cm 108 MeV 2.38 keV 1.02 cm 1.08 cm World eIoni - 4 22.2 um -20 cm 1.12 cm 1.39 GeV 28.4 keV 12.9 cm 13.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12.7 um -7.14 cm 1.12 cm 1.64 keV 0 eV 0 fm 0 fm World initStep - 1 5.19 um -7.15 cm 1.12 cm 1.26 MeV 1.64 keV 115 um 115 um World eIoni - 2 -17.3 um -13 cm 1.12 cm 586 MeV 9.43 keV 5.85 cm 5.86 cm World eIoni - 3 -17.3 um -13 cm 1.12 cm 589 MeV 0 eV 303 um 5.89 cm World eIoni - 4 -25.8 um -20 cm 1.12 cm 1.29 GeV 14 keV 6.97 cm 12.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -17.3 um -13 cm 1.12 cm 4.87 keV 0 eV 0 fm 0 fm World initStep - 1 10.7 um -13.1 cm 1.12 cm 7.32 MeV 4.87 keV 687 um 687 um World eIoni - 2 28.2 um -14 cm 1.12 cm 92.7 MeV 2.35 keV 8.54 mm 9.23 mm World eIoni - 3 37.9 um -16.7 cm 1.12 cm 367 MeV 5.1 keV 2.75 cm 3.67 cm World eIoni - 4 45.7 um -20 cm 1.11 cm 697 MeV 5.6 keV 3.3 cm 6.97 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 37.9 um -16.7 cm 1.12 cm 23 keV 0 eV 0 fm 0 fm World initStep - 1 -1.31 um -17.1 cm 1.13 cm 39.5 MeV 3.61 keV 3.81 mm 3.81 mm World eIoni - 2 -6.52 um -17.8 cm 1.13 cm 109 MeV 1.17 keV 7 mm 1.08 cm World eIoni - 3 -12.2 um -20 cm 1.13 cm 332 MeV 6.49 keV 2.23 cm 3.31 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12 um -5.73 cm 1.12 cm 1.68 keV 0 eV 0 fm 0 fm World initStep - 1 7.23 um -5.74 cm 1.12 cm 1.31 MeV 1.68 keV 120 um 120 um World eIoni - 2 -2.4 um -6.65 cm 1.12 cm 92.3 MeV 1.29 keV 9.1 mm 9.22 mm World eIoni - 3 7.97 um -15.3 cm 1.12 cm 957 MeV 18.4 keV 8.65 cm 9.57 cm World eIoni - 4 9.99 um -20 cm 1.12 cm 1.43 GeV 10.9 keV 4.7 cm 14.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.97 um -15.3 cm 1.12 cm 4.67 keV 0 eV 0 fm 0 fm World initStep - 1 5.04 um -15.4 cm 1.12 cm 6.8 MeV 4.67 keV 637 um 637 um World eIoni - 2 2.91 um -16.5 cm 1.12 cm 118 MeV 1.56 keV 1.11 cm 1.18 cm World eIoni - 3 1.86 um -20 cm 1.12 cm 470 MeV 6.26 keV 3.52 cm 4.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.4 um -6.65 cm 1.12 cm 4.42 keV 0 eV 0 fm 0 fm World initStep - 1 -27.2 um -6.71 cm 1.12 cm 6.17 MeV 4.42 keV 578 um 578 um World eIoni - 2 -45.3 um -7.64 cm 1.12 cm 98.8 MeV 649 eV 9.26 mm 9.84 mm World eIoni - 3 -48.9 um -8.35 cm 1.12 cm 170 MeV 868 eV 7.17 mm 1.7 cm World eIoni - 4 -49.7 um -20 cm 1.12 cm 1.34 GeV 24.3 keV 11.6 cm 13.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -48.9 um -8.35 cm 1.12 cm 5.08 keV 0 eV 0 fm 0 fm World initStep - 1 -74.5 um -8.43 cm 1.12 cm 7.86 MeV 5.08 keV 738 um 738 um World eIoni - 2 -87.3 um -8.98 cm 1.12 cm 63.5 MeV 1.48 keV 5.57 mm 6.3 mm World eIoni - 3 -106 um -20 cm 1.12 cm 1.17 GeV 19.7 keV 11 cm 11.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.04 mm 7.19 mm 1.85 keV 0 eV 0 fm 0 fm World initStep - 1 -4.87 um -6.17 mm 7.19 mm 1.53 MeV 1.85 keV 138 um 138 um World eIoni - 2 -16 um -3.27 cm 7.21 mm 267 MeV 3.54 keV 2.66 cm 2.67 cm World eIoni - 3 -24.3 um -11.1 cm 7.22 mm 1.05 GeV 17.3 keV 7.81 cm 10.5 cm World eIoni - 4 -25.3 um -20 cm 7.22 mm 1.94 GeV 21.3 keV 8.92 cm 19.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -24.3 um -11.1 cm 7.22 mm 2.56 keV 0 eV 0 fm 0 fm World initStep - 1 -34.4 um -11.1 cm 7.23 mm 2.49 MeV 2.56 keV 230 um 230 um World eIoni - 2 -50.4 um -12.7 cm 7.24 mm 161 MeV 2.58 keV 1.58 cm 1.61 cm World eIoni - 3 -52.9 um -14.1 cm 7.24 mm 303 MeV 2.29 keV 1.43 cm 3.03 cm World eIoni - 4 -52.9 um -14.1 cm 7.24 mm 305 MeV 0 eV 144 um 3.05 cm World eIoni - 5 -55.2 um -18.3 cm 7.24 mm 721 MeV 10.2 keV 4.16 cm 7.21 cm World eIoni - 6 -58.1 um -20 cm 7.24 mm 892 MeV 2.68 keV 1.71 cm 8.92 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 18 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -55.2 um -18.3 cm 7.24 mm 12.2 keV 0 eV 0 fm 0 fm World initStep - 1 11.7 um -18.5 cm 7.25 mm 21.9 MeV 5.67 keV 2.09 mm 2.09 mm World eIoni - 2 25.2 um -19 cm 7.25 mm 75.9 MeV 2.44 keV 5.4 mm 7.49 mm World eIoni - 3 34.2 um -20 cm 7.25 mm 172 MeV 1.92 keV 9.64 mm 1.71 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 18 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -52.9 um -14.1 cm 7.24 mm 1.74 keV 0 eV 0 fm 0 fm World initStep - 1 -56.1 um -14.1 cm 7.25 mm 1.38 MeV 1.74 keV 126 um 126 um World eIoni - 2 -65.4 um -20 cm 7.27 mm 587 MeV 8.9 keV 5.86 cm 5.87 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 18 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -52.9 um -14.1 cm 7.24 mm 1.24 keV 0 eV 0 fm 0 fm World initStep - 1 -52.3 um -14.1 cm 7.25 mm 847 keV 1.24 keV 77 um 77 um World eIoni - 2 -50.1 um -20 cm 7.27 mm 589 MeV 9.35 keV 5.88 cm 5.89 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -16 um -3.27 cm 7.21 mm 1.7 keV 0 eV 0 fm 0 fm World initStep - 1 -8.3 um -3.29 cm 7.21 mm 1.33 MeV 1.7 keV 122 um 122 um World eIoni - 2 5.06 um -3.85 cm 7.2 mm 57.9 MeV 907 eV 5.66 mm 5.78 mm World eIoni - 3 36.1 um -13 cm 7.17 mm 977 MeV 16.6 keV 9.19 cm 9.77 cm World eIoni - 4 47 um -19.6 cm 7.16 mm 1.64 GeV 13 keV 6.6 cm 16.4 cm World eIoni - 5 47.3 um -20 cm 7.16 mm 1.67 GeV 458 eV 3.61 mm 16.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 17 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 47 um -19.6 cm 7.16 mm 1.36 keV 0 eV 0 fm 0 fm World initStep - 1 47.3 um -19.6 cm 7.15 mm 964 keV 1.36 keV 87.7 um 87.7 um World eIoni - 2 47.7 um -20 cm 7.14 mm 36.2 MeV 572 eV 3.52 mm 3.61 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 17 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 36.1 um -13 cm 7.17 mm 10.8 keV 0 eV 0 fm 0 fm World initStep - 1 -25.6 um -13.2 cm 7.16 mm 19.9 MeV 5.18 keV 1.9 mm 1.9 mm World eIoni - 2 -39.7 um -13.8 cm 7.16 mm 77.8 MeV 750 eV 5.79 mm 7.68 mm World eIoni - 3 -63.4 um -20 cm 7.16 mm 697 MeV 10.1 keV 6.19 cm 6.96 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 17 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.06 um -3.85 cm 7.2 mm 16.7 keV 0 eV 0 fm 0 fm World initStep - 1 -40.7 um -4.12 cm 7.28 mm 28.5 MeV 3.75 keV 2.74 mm 2.74 mm World eIoni - 2 -48.3 um -4.71 cm 7.29 mm 87 MeV 970 eV 5.84 mm 8.58 mm World eIoni - 3 -68.6 um -20 cm 7.32 mm 1.62 GeV 32.4 keV 15.3 cm 16.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -8.1 mm 8.14 mm 131 MeV 3.63 keV 1.21 cm 1.21 cm World eIoni - 2 450 nm -20 cm 2.22 cm 2.05 GeV 39 keV 19.3 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -8.1 mm 8.14 mm 1.73 keV 0 eV 0 fm 0 fm World initStep - 1 -341 nm -8.22 mm 8.14 mm 1.4 MeV 1.73 keV 125 um 125 um World eIoni - 2 -1.47 um -20 cm 8.17 mm 1.92 GeV 28.1 keV 19.2 cm 19.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -11.9 cm 1.97 cm 1.24 GeV 25.2 keV 12.4 cm 12.4 cm World eIoni - 2 53.3 nm -18.3 cm 2.18 cm 1.88 GeV 13 keV 6.46 cm 18.8 cm World eIoni - 3 39.1 nm -18.5 cm 2.18 cm 1.9 GeV 225 eV 1.58 mm 19 cm World eIoni - 4 -735 nm -20 cm 2.22 cm 2.05 GeV 3.29 keV 1.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 39.1 nm -18.5 cm 2.18 cm 9.57 keV 0 eV 0 fm 0 fm World initStep - 1 48 um -18.7 cm 2.18 cm 18 MeV 4.91 keV 1.71 mm 1.71 mm World eIoni - 2 65.3 um -20 cm 2.19 cm 151 MeV 2.42 keV 1.33 cm 1.51 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 53.3 nm -18.3 cm 2.18 cm 2.32 keV 0 eV 0 fm 0 fm World initStep - 1 4.55 um -18.4 cm 2.18 cm 2.13 MeV 2.32 keV 196 um 196 um World eIoni - 2 10.3 um -18.9 cm 2.18 cm 58.5 MeV 639 eV 5.63 mm 5.83 mm World eIoni - 3 12.2 um -20 cm 2.18 cm 166 MeV 1.54 keV 1.08 cm 1.66 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -11.9 cm 1.97 cm 1.89 keV 0 eV 0 fm 0 fm World initStep - 1 -275 nm -11.9 cm 1.97 cm 1.56 MeV 1.89 keV 142 um 142 um World eIoni - 2 -1.02 um -20 cm 1.97 cm 811 MeV 12.1 keV 8.1 cm 8.11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.31 cm 1.66 cm 681 MeV 15.4 keV 6.8 cm 6.8 cm World eIoni - 2 2.12 um -12.1 cm 1.97 cm 1.26 GeV 11.3 keV 5.75 cm 12.5 cm World eIoni - 3 4.31 um -16.6 cm 2.13 cm 1.71 GeV 9.06 keV 4.53 cm 17.1 cm World eIoni - 4 4.84 um -20 cm 2.22 cm 2.05 GeV 8.79 keV 3.42 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.31 um -16.6 cm 2.13 cm 1.9 keV 0 eV 0 fm 0 fm World initStep - 1 13.5 um -16.6 cm 2.13 cm 1.57 MeV 1.9 keV 143 um 143 um World eIoni - 2 34.1 um -18.8 cm 2.13 cm 227 MeV 3.42 keV 2.25 cm 2.27 cm World eIoni - 3 34.2 um -20 cm 2.13 cm 342 MeV 2.66 keV 1.15 cm 3.42 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 34.1 um -18.8 cm 2.13 cm 1.55 keV 0 eV 0 fm 0 fm World initStep - 1 41.6 um -18.9 cm 2.13 cm 1.16 MeV 1.55 keV 106 um 106 um World eIoni - 2 51.9 um -19.1 cm 2.13 cm 22.3 MeV 149 eV 2.11 mm 2.22 mm World eIoni - 3 54.2 um -20 cm 2.13 cm 115 MeV 2.71 keV 9.31 mm 1.15 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 51.9 um -19.1 cm 2.13 cm 2.03 keV 0 eV 0 fm 0 fm World initStep - 1 57.7 um -19.1 cm 2.13 cm 1.73 MeV 2.03 keV 159 um 159 um World eIoni - 2 67.3 um -20 cm 2.13 cm 93.3 MeV 1.62 keV 9.16 mm 9.31 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.12 um -12.1 cm 1.97 cm 2.07 keV 0 eV 0 fm 0 fm World initStep - 1 -6.25 um -12.1 cm 1.97 cm 1.79 MeV 2.07 keV 164 um 164 um World eIoni - 2 -28 um -20 cm 1.98 cm 795 MeV 8.17 keV 7.93 cm 7.95 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.31 cm 1.66 cm 1.23 keV 0 eV 0 fm 0 fm World initStep - 1 -5.76 um -6.32 cm 1.66 cm 842 keV 1.23 keV 76.5 um 76.5 um World eIoni - 2 -17 um -6.64 cm 1.66 cm 32.9 MeV 396 eV 3.21 mm 3.28 mm World eIoni - 3 -40.1 um -20 cm 1.67 cm 1.37 GeV 25.8 keV 13.4 cm 13.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -17 um -6.64 cm 1.66 cm 1.24 keV 0 eV 0 fm 0 fm World initStep - 1 -12.1 um -6.65 cm 1.66 cm 849 keV 1.24 keV 77.2 um 77.2 um World eIoni - 2 5.37 um -11 cm 1.66 cm 440 MeV 8.66 keV 4.39 cm 4.4 cm World eIoni - 3 4.45 um -12.1 cm 1.66 cm 543 MeV 2.45 keV 1.03 cm 5.43 cm World eIoni - 4 663 nm -19.8 cm 1.66 cm 1.31 GeV 11.5 keV 7.71 cm 13.1 cm World eIoni - 5 634 nm -20 cm 1.66 cm 1.34 GeV 363 eV 2.28 mm 13.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 663 nm -19.8 cm 1.66 cm 2.1 keV 0 eV 0 fm 0 fm World initStep - 1 -2.67 um -19.8 cm 1.66 cm 1.83 MeV 2.1 keV 167 um 167 um World eIoni - 2 -6.03 um -20 cm 1.66 cm 23 MeV 378 eV 2.12 mm 2.29 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.45 um -12.1 cm 1.66 cm 2.34 keV 0 eV 0 fm 0 fm World initStep - 1 4.21 um -12.1 cm 1.66 cm 2.16 MeV 2.34 keV 198 um 198 um World eIoni - 2 3.95 um -12.4 cm 1.66 cm 37.7 MeV 387 eV 3.56 mm 3.76 mm World eIoni - 3 3.67 um -20 cm 1.66 cm 794 MeV 12.9 keV 7.56 cm 7.94 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.37 um -11 cm 1.66 cm 8.69 keV 0 eV 0 fm 0 fm World initStep - 1 45.6 um -11.2 cm 1.67 cm 16.6 MeV 4.5 keV 1.57 mm 1.57 mm World eIoni - 2 55.3 um -11.7 cm 1.67 cm 64.4 MeV 1.07 keV 4.79 mm 6.36 mm World eIoni - 3 74.8 um -20 cm 1.67 cm 897 MeV 15.7 keV 8.33 cm 8.97 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.95 cm 1.64 cm 645 MeV 13.1 keV 6.43 cm 6.43 cm World eIoni - 2 2.75 um -20 cm 2.22 cm 2.05 GeV 37.2 keV 14.1 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.95 cm 1.64 cm 2.03 keV 0 eV 0 fm 0 fm World initStep - 1 -5.32 um -5.96 cm 1.64 cm 1.73 MeV 2.03 keV 158 um 158 um World eIoni - 2 -15.8 um -7.52 cm 1.63 cm 157 MeV 1.4 keV 1.56 cm 1.57 cm World eIoni - 3 -17.7 um -9.56 cm 1.63 cm 361 MeV 5.45 keV 2.04 cm 3.61 cm World eIoni - 4 -26.3 um -20 cm 1.63 cm 1.41 GeV 23.9 keV 10.4 cm 14.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -17.7 um -9.56 cm 1.63 cm 1.92 keV 0 eV 0 fm 0 fm World initStep - 1 -9.14 um -9.58 cm 1.63 cm 1.59 MeV 1.92 keV 145 um 145 um World eIoni - 2 15.6 um -20 cm 1.63 cm 1.04 GeV 17.2 keV 10.4 cm 10.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.12 mm 3.3 mm 61.2 MeV 1.43 keV 3.54 mm 3.54 mm World eIoni - 2 4.68 um -8.62 mm 8.35 mm 136 MeV 1.32 keV 9.17 mm 1.27 cm World eIoni - 3 10.7 um -2.62 cm 1.27 cm 312 MeV 5.15 keV 1.81 cm 3.09 cm World eIoni - 4 38.6 um -20 cm 2.22 cm 2.05 GeV 41.1 keV 17.4 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 10.7 um -2.62 cm 1.27 cm 12 keV 0 eV 0 fm 0 fm World initStep - 1 -36.1 um -2.82 cm 1.27 cm 21.6 MeV 4.06 keV 2.06 mm 2.06 mm World eIoni - 2 -40.2 um -2.98 cm 1.27 cm 37.3 MeV 423 eV 1.57 mm 3.63 mm World eIoni - 3 -64.7 um -10.5 cm 1.28 cm 792 MeV 14 keV 7.55 cm 7.91 cm World eIoni - 4 -66.8 um -15.1 cm 1.28 cm 1.25 GeV 11.1 keV 4.62 cm 12.5 cm World eIoni - 5 -68.9 um -18.8 cm 1.28 cm 1.62 GeV 9.18 keV 3.65 cm 16.2 cm World eIoni - 6 -69 um -19.2 cm 1.28 cm 1.66 GeV 415 eV 4.08 mm 16.6 cm World eIoni - 7 -69 um -20 cm 1.28 cm 1.74 GeV 986 eV 7.93 mm 17.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -69 um -19.2 cm 1.28 cm 2.02 keV 0 eV 0 fm 0 fm World initStep - 1 -76.4 um -19.2 cm 1.28 cm 1.72 MeV 2.02 keV 158 um 158 um World eIoni - 2 -88.5 um -20 cm 1.28 cm 79.5 MeV 1.37 keV 7.78 mm 7.93 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -68.9 um -18.8 cm 1.28 cm 1.18 keV 0 eV 0 fm 0 fm World initStep - 1 -74.4 um -18.8 cm 1.28 cm 788 keV 1.18 keV 71.7 um 71.7 um World eIoni - 2 -89.5 um -20 cm 1.28 cm 120 MeV 1.17 keV 1.19 cm 1.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -66.8 um -15.1 cm 1.28 cm 1.18 keV 0 eV 0 fm 0 fm World initStep - 1 -61.5 um -15.2 cm 1.28 cm 790 keV 1.18 keV 71.9 um 71.9 um World eIoni - 2 -46.5 um -16.2 cm 1.28 cm 101 MeV 540 eV 1 cm 1.01 cm World eIoni - 3 -29.7 um -19 cm 1.28 cm 386 MeV 4.75 keV 2.85 cm 3.86 cm World eIoni - 4 -28.2 um -19.5 cm 1.28 cm 436 MeV 1.04 keV 5.03 mm 4.36 cm World eIoni - 5 -27.7 um -20 cm 1.28 cm 485 MeV 2.67 keV 4.95 mm 4.85 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -28.2 um -19.5 cm 1.28 cm 4.62 keV 0 eV 0 fm 0 fm World initStep - 1 -8.23 um -19.6 cm 1.28 cm 6.67 MeV 4.62 keV 625 um 625 um World eIoni - 2 -2.95 um -19.7 cm 1.28 cm 19.2 MeV 163 eV 1.26 mm 1.88 mm World eIoni - 3 1.95 um -20 cm 1.28 cm 50 MeV 273 eV 3.07 mm 4.96 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -29.7 um -19 cm 1.28 cm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 -29.5 um -19 cm 1.28 cm 732 keV 1.11 keV 66.6 um 66.6 um World eIoni - 2 -28.7 um -20 cm 1.28 cm 99.9 MeV 845 eV 9.91 mm 9.98 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -46.5 um -16.2 cm 1.28 cm 8.92 keV 0 eV 0 fm 0 fm World initStep - 1 -97.5 um -16.3 cm 1.28 cm 17 MeV 5.82 keV 1.61 mm 1.61 mm World eIoni - 2 -105 um -16.5 cm 1.28 cm 36.8 MeV 137 eV 1.98 mm 3.59 mm World eIoni - 3 -119 um -17.9 cm 1.28 cm 179 MeV 1.79 keV 1.42 cm 1.78 cm World eIoni - 4 -119 um -20 cm 1.28 cm 385 MeV 2.6 keV 2.06 cm 3.85 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -119 um -17.9 cm 1.28 cm 22.2 keV 0 eV 0 fm 0 fm World initStep - 1 -166 um -18.1 cm 1.27 cm 21.4 MeV 1.82 keV 2.07 mm 2.07 mm World eIoni - 2 -185 um -20 cm 1.27 cm 207 MeV 3.13 keV 1.86 cm 2.07 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -64.7 um -10.5 cm 1.28 cm 1.07 keV 0 eV 0 fm 0 fm World initStep - 1 -69.5 um -10.5 cm 1.28 cm 695 keV 1.07 keV 63.2 um 63.2 um World eIoni - 2 -80.2 um -10.9 cm 1.28 cm 35 MeV 424 eV 3.44 mm 3.5 mm World eIoni - 3 -93.7 um -12.7 cm 1.28 cm 213 MeV 4.39 keV 1.78 cm 2.13 cm World eIoni - 4 -94.7 um -20 cm 1.28 cm 947 MeV 14.2 keV 7.34 cm 9.47 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -93.7 um -12.7 cm 1.28 cm 4.52 keV 0 eV 0 fm 0 fm World initStep - 1 -119 um -12.7 cm 1.28 cm 6.44 MeV 4.52 keV 603 um 603 um World eIoni - 2 -135 um -13.4 cm 1.28 cm 72.8 MeV 755 eV 6.64 mm 7.24 mm World eIoni - 3 -152 um -20 cm 1.28 cm 735 MeV 13.5 keV 6.62 cm 7.35 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -80.2 um -10.9 cm 1.28 cm 2.17 keV 0 eV 0 fm 0 fm World initStep - 1 -69.9 um -10.9 cm 1.28 cm 1.92 MeV 2.17 keV 176 um 176 um World eIoni - 2 -49.4 um -13.2 cm 1.28 cm 230 MeV 2.89 keV 2.29 cm 2.3 cm World eIoni - 3 -46 um -16 cm 1.28 cm 508 MeV 5.75 keV 2.78 cm 5.08 cm World eIoni - 4 -45.6 um -20 cm 1.28 cm 912 MeV 8.28 keV 4.04 cm 9.12 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -46 um -16 cm 1.28 cm 1.37 keV 0 eV 0 fm 0 fm World initStep - 1 -40.1 um -16 cm 1.28 cm 974 keV 1.37 keV 88.7 um 88.7 um World eIoni - 2 -21.3 um -20 cm 1.28 cm 405 MeV 5.09 keV 4.04 cm 4.04 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.68 um -8.62 mm 8.35 mm 8.34 keV 0 eV 0 fm 0 fm World initStep - 1 -5.69 um -9.62 mm 8.32 mm 10.6 MeV 3.22 keV 1 mm 1 mm World eIoni - 2 -10.8 um -1.82 cm 8.3 mm 96.7 MeV 1.58 keV 8.61 mm 9.62 mm World eIoni - 3 -10.2 um -6.38 cm 8.28 mm 553 MeV 5.83 keV 4.56 cm 5.52 cm World eIoni - 4 -6.57 um -11.9 cm 8.27 mm 1.11 GeV 9.72 keV 5.53 cm 11.1 cm World eIoni - 5 -6.56 um -11.9 cm 8.27 mm 1.11 GeV 0 eV 220 um 11.1 cm World eIoni - 6 -3.41 um -20 cm 8.26 mm 1.91 GeV 14.8 keV 8.07 cm 19.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.56 um -11.9 cm 8.27 mm 6.47 keV 0 eV 0 fm 0 fm World initStep - 1 -1.6 um -12 cm 8.31 mm 11.9 MeV 6.14 keV 1.12 mm 1.12 mm World eIoni - 2 167 nm -12.6 cm 8.33 mm 69.6 MeV 563 eV 5.77 mm 6.89 mm World eIoni - 3 2.62 um -19 cm 8.34 mm 706 MeV 16.1 keV 6.37 cm 7.05 cm World eIoni - 4 3.04 um -19.6 cm 8.34 mm 767 MeV 725 eV 6.05 mm 7.66 cm World eIoni - 5 3.29 um -20 cm 8.34 mm 807 MeV 323 eV 4.08 mm 8.07 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 19 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.04 um -19.6 cm 8.34 mm 6.89 keV 0 eV 0 fm 0 fm World initStep - 1 -2.91 um -19.7 cm 8.39 mm 13 MeV 4.25 keV 1.23 mm 1.23 mm World eIoni - 2 -3.97 um -19.9 cm 8.39 mm 32.5 MeV 150 eV 1.95 mm 3.17 mm World eIoni - 3 -4.26 um -20 cm 8.4 mm 41.7 MeV 120 eV 926 um 4.1 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 19 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.62 um -19 cm 8.34 mm 2.99 keV 0 eV 0 fm 0 fm World initStep - 1 -9.32 um -19 cm 8.36 mm 3.2 MeV 2.99 keV 297 um 297 um World eIoni - 2 -23.2 um -20 cm 8.37 mm 102 MeV 1.84 keV 9.84 mm 1.01 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.57 um -11.9 cm 8.27 mm 1.66 keV 0 eV 0 fm 0 fm World initStep - 1 -9.65 um -11.9 cm 8.28 mm 1.28 MeV 1.66 keV 117 um 117 um World eIoni - 2 -19.3 um -20 cm 8.3 mm 809 MeV 12.7 keV 8.08 cm 8.09 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -10.2 um -6.38 cm 8.28 mm 2.74 keV 0 eV 0 fm 0 fm World initStep - 1 -23.5 um -6.41 cm 8.27 mm 2.77 MeV 2.74 keV 256 um 256 um World eIoni - 2 -38.1 um -7.03 cm 8.27 mm 64.7 MeV 1.11 keV 6.19 mm 6.45 mm World eIoni - 3 -53.1 um -20 cm 8.26 mm 1.36 GeV 19.6 keV 13 cm 13.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -10.8 um -1.82 cm 8.3 mm 1.77 keV 0 eV 0 fm 0 fm World initStep - 1 -16.5 um -1.84 cm 8.31 mm 1.42 MeV 1.77 keV 129 um 129 um World eIoni - 2 -30.3 um -4.47 cm 8.32 mm 265 MeV 3.31 keV 2.63 cm 2.64 cm World eIoni - 3 -34.8 um -15.4 cm 8.33 mm 1.36 GeV 23.5 keV 11 cm 13.6 cm World eIoni - 4 -35.4 um -19.1 cm 8.33 mm 1.73 GeV 9.16 keV 3.69 cm 17.3 cm World eIoni - 5 -35.8 um -20 cm 8.33 mm 1.82 GeV 1.45 keV 8.77 mm 18.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 16 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -35.4 um -19.1 cm 8.33 mm 2.38 keV 0 eV 0 fm 0 fm World initStep - 1 -23.6 um -19.1 cm 8.33 mm 2.21 MeV 2.38 keV 204 um 204 um World eIoni - 2 -7.05 um -20 cm 8.32 mm 87.9 MeV 2.05 keV 8.57 mm 8.78 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 16 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -34.8 um -15.4 cm 8.33 mm 4.7 keV 0 eV 0 fm 0 fm World initStep - 1 -34.4 um -15.5 cm 8.3 mm 6.88 MeV 4.7 keV 645 um 645 um World eIoni - 2 -34.3 um -15.7 cm 8.29 mm 32.1 MeV 163 eV 2.52 mm 3.16 mm World eIoni - 3 -34 um -20 cm 8.27 mm 457 MeV 7.85 keV 4.25 cm 4.57 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.12 mm 3.3 mm 2.21 keV 0 eV 0 fm 0 fm World initStep - 1 -11 um -1.3 mm 3.3 mm 1.97 MeV 2.21 keV 181 um 181 um World eIoni - 2 -20.1 um -2.74 mm 3.3 mm 16.4 MeV 104 eV 1.45 mm 1.63 mm World eIoni - 3 -41.6 um -20 cm 3.3 mm 1.99 GeV 35.7 keV 19.7 cm 19.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -7.03 cm 1.71 cm 753 MeV 13.9 keV 7.51 cm 7.51 cm World eIoni - 2 -650 nm -10.4 cm 1.9 cm 1.09 GeV 8.19 keV 3.38 cm 10.9 cm World eIoni - 3 -968 nm -11.1 cm 1.93 cm 1.16 GeV 2.26 keV 6.66 mm 11.6 cm World eIoni - 4 -982 nm -20 cm 2.22 cm 2.05 GeV 17.2 keV 8.94 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -968 nm -11.1 cm 1.93 cm 2.8 keV 0 eV 0 fm 0 fm World initStep - 1 -15.7 um -11.1 cm 1.93 cm 2.88 MeV 2.8 keV 266 um 266 um World eIoni - 2 -22.7 um -11.2 cm 1.93 cm 12 MeV 0 eV 909 um 1.17 mm World eIoni - 3 -44.6 um -18.5 cm 1.93 cm 747 MeV 11.7 keV 7.35 cm 7.47 cm World eIoni - 4 -45.6 um -20 cm 1.93 cm 894 MeV 1.79 keV 1.47 cm 8.94 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -44.6 um -18.5 cm 1.93 cm 1.82 keV 0 eV 0 fm 0 fm World initStep - 1 -44.1 um -18.5 cm 1.93 cm 1.47 MeV 1.82 keV 135 um 135 um World eIoni - 2 -43.1 um -20 cm 1.93 cm 147 MeV 2.01 keV 1.45 cm 1.47 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -650 nm -10.4 cm 1.9 cm 1.71 keV 0 eV 0 fm 0 fm World initStep - 1 6.68 um -10.4 cm 1.9 cm 1.34 MeV 1.71 keV 122 um 122 um World eIoni - 2 24.5 um -12.6 cm 1.9 cm 219 MeV 1.9 keV 2.17 cm 2.19 cm World eIoni - 3 26.1 um -12.8 cm 1.9 cm 240 MeV 200 eV 2.14 mm 2.4 cm World eIoni - 4 45.3 um -20 cm 1.9 cm 960 MeV 19.7 keV 7.2 cm 9.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 26.1 um -12.8 cm 1.9 cm 4.92 keV 0 eV 0 fm 0 fm World initStep - 1 39.8 um -12.9 cm 1.9 cm 7.44 MeV 4.92 keV 698 um 698 um World eIoni - 2 46.1 um -13.3 cm 1.9 cm 49.3 MeV 2.09 keV 4.18 mm 4.88 mm World eIoni - 3 55.3 um -20 cm 1.9 cm 721 MeV 10.9 keV 6.72 cm 7.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 24.5 um -12.6 cm 1.9 cm 19.8 keV 0 eV 0 fm 0 fm World initStep - 1 -27.7 um -12.7 cm 1.9 cm 9.16 MeV 848 eV 898 um 898 um World eIoni - 2 -87.1 um -20 cm 1.91 cm 742 MeV 12.1 keV 7.33 cm 7.42 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -7.03 cm 1.71 cm 1.29 keV 0 eV 0 fm 0 fm World initStep - 1 3.02 um -7.03 cm 1.71 cm 903 keV 1.29 keV 81.9 um 81.9 um World eIoni - 2 9.53 um -7.56 cm 1.72 cm 53 MeV 717 eV 5.24 mm 5.32 mm World eIoni - 3 31.6 um -8.12 cm 1.72 cm 109 MeV 583 eV 5.59 mm 1.09 cm World eIoni - 4 68.7 um -10.8 cm 1.73 cm 378 MeV 4.95 keV 2.69 cm 3.79 cm World eIoni - 5 99.6 um -17.5 cm 1.73 cm 1.04 GeV 13.8 keV 6.67 cm 10.5 cm World eIoni - 6 105 um -20 cm 1.73 cm 1.3 GeV 6.25 keV 2.52 cm 13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 99.6 um -17.5 cm 1.73 cm 3.04 keV 0 eV 0 fm 0 fm World initStep - 1 112 um -17.5 cm 1.73 cm 3.29 MeV 3.04 keV 305 um 305 um World eIoni - 2 124 um -18.1 cm 1.73 cm 66.5 MeV 611 eV 6.32 mm 6.62 mm World eIoni - 3 128 um -19.1 cm 1.73 cm 164 MeV 2.07 keV 9.73 mm 1.64 cm World eIoni - 4 131 um -20 cm 1.73 cm 253 MeV 2.71 keV 8.88 mm 2.52 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 128 um -19.1 cm 1.73 cm 1.34 keV 0 eV 0 fm 0 fm World initStep - 1 125 um -19.1 cm 1.73 cm 949 keV 1.34 keV 86.4 um 86.4 um World eIoni - 2 119 um -20 cm 1.73 cm 88.9 MeV 855 eV 8.8 mm 8.88 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 68.7 um -10.8 cm 1.73 cm 1.28 keV 0 eV 0 fm 0 fm World initStep - 1 67.7 um -10.8 cm 1.73 cm 887 keV 1.28 keV 80.7 um 80.7 um World eIoni - 2 64.1 um -17.5 cm 1.73 cm 671 MeV 10.6 keV 6.7 cm 6.71 cm World eIoni - 3 64 um -18.9 cm 1.73 cm 807 MeV 3.23 keV 1.36 cm 8.07 cm World eIoni - 4 63.5 um -20 cm 1.73 cm 919 MeV 2.06 keV 1.12 cm 9.19 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 64 um -18.9 cm 1.73 cm 3.41 keV 0 eV 0 fm 0 fm World initStep - 1 79.1 um -18.9 cm 1.73 cm 3.98 MeV 3.41 keV 370 um 370 um World eIoni - 2 80.6 um -18.9 cm 1.73 cm 5.58 MeV 36.5 eV 160 um 530 um World eIoni - 3 85.8 um -19.1 cm 1.73 cm 17.5 MeV 117 eV 1.19 mm 1.72 mm World eIoni - 4 113 um -20 cm 1.73 cm 112 MeV 1.75 keV 9.49 mm 1.12 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 85.8 um -19.1 cm 1.73 cm 9.93 keV 0 eV 0 fm 0 fm World initStep - 1 29.4 um -19.2 cm 1.73 cm 18.6 MeV 5.26 keV 1.77 mm 1.77 mm World eIoni - 2 13.4 um -20 cm 1.73 cm 96.1 MeV 1.16 keV 7.75 mm 9.52 mm OutOfWorldTransportation + 0 0 fm -2.02 cm 1.16 cm 29.6 keV 0 eV 0 fm 0 fm World initStep + 1 -112 um -2.54 cm 1.15 cm 53.7 MeV 7.24 keV 5.2 mm 5.2 mm World eIoni + 2 -115 um -2.69 cm 1.15 cm 69.5 MeV 600 eV 1.58 mm 6.78 mm World eIoni + 3 -152 um -14 cm 1.15 cm 1.2 GeV 21.6 keV 11.3 cm 12 cm World eIoni + 4 -155 um -16.4 cm 1.15 cm 1.44 GeV 4.43 keV 2.42 cm 14.4 cm World eIoni + 5 -158 um -20 cm 1.14 cm 1.8 GeV 5.12 keV 3.6 cm 18 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 31.6 um -8.12 cm 1.72 cm 1.55 keV 0 eV 0 fm 0 fm World initStep - 1 33.7 um -8.13 cm 1.72 cm 1.16 MeV 1.55 keV 106 um 106 um World eIoni - 2 41 um -20 cm 1.72 cm 1.19 GeV 13.9 keV 11.9 cm 11.9 cm OutOfWorldTransportation + 0 -155 um -16.4 cm 1.15 cm 2.14 keV 0 eV 0 fm 0 fm World initStep + 1 -148 um -16.4 cm 1.14 cm 1.88 MeV 2.14 keV 173 um 173 um World eIoni + 2 -134 um -18.5 cm 1.14 cm 208 MeV 2.22 keV 2.06 cm 2.07 cm World eIoni + 3 -132 um -20 cm 1.14 cm 360 MeV 3.73 keV 1.53 cm 3.6 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 9.53 um -7.56 cm 1.72 cm 268 keV 0 eV 0 fm 0 fm World initStep - 1 -205 um -14.1 cm 1.68 cm 654 MeV 14 keV 6.54 cm 6.54 cm World eIoni - 2 -228 um -20 cm 1.68 cm 1.24 GeV 14.3 keV 5.9 cm 12.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -205 um -14.1 cm 1.68 cm 4.72 keV 0 eV 0 fm 0 fm World initStep - 1 -183 um -14.2 cm 1.69 cm 6.93 MeV 4.72 keV 650 um 650 um World eIoni - 2 -178 um -14.3 cm 1.69 cm 19.3 MeV 165 eV 1.24 mm 1.89 mm World eIoni - 3 -161 um -17.3 cm 1.69 cm 323 MeV 6.17 keV 3.03 cm 3.22 cm World eIoni - 4 -157 um -20 cm 1.69 cm 591 MeV 5.02 keV 2.68 cm 5.91 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -161 um -17.3 cm 1.69 cm 1.03 keV 0 eV 0 fm 0 fm World initStep - 1 -164 um -17.3 cm 1.69 cm 664 keV 1.03 keV 60.4 um 60.4 um World eIoni - 2 -173 um -20 cm 1.69 cm 268 MeV 4.57 keV 2.68 cm 2.68 cm OutOfWorldTransportation + 0 -152 um -14 cm 1.15 cm 1.3 keV 0 eV 0 fm 0 fm World initStep + 1 -153 um -14 cm 1.15 cm 907 keV 1.3 keV 82.5 um 82.5 um World eIoni + 2 -154 um -20 cm 1.15 cm 602 MeV 10.6 keV 6.01 cm 6.02 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -7904,49 +3574,184 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.38 mm 4.73 mm 73.8 MeV 1.27 keV 5.45 mm 5.45 mm World eIoni - 2 3.6 um -4.49 cm 1.51 cm 499 MeV 7.55 keV 4.43 cm 4.97 cm World eIoni - 3 8.62 um -15.5 cm 2.09 cm 1.6 GeV 20.6 keV 11 cm 16 cm World eIoni - 4 10.1 um -20 cm 2.22 cm 2.05 GeV 12.5 keV 4.52 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -10.6 cm 1.91 cm 1.11 GeV 18 keV 11.1 cm 11.1 cm World eIoni + 2 -139 nm -20 cm 2.22 cm 2.05 GeV 24 keV 9.4 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -10.6 cm 1.91 cm 998 eV 0 eV 0 fm 0 fm World initStep + 1 331 nm -10.6 cm 1.91 cm 632 keV 998 eV 57.6 um 57.6 um World eIoni + 2 1.88 um -20 cm 1.91 cm 940 MeV 15.6 keV 9.39 cm 9.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.56 cm 1.4 cm 406 MeV 5.92 keV 4.03 cm 4.03 cm World eIoni + 2 -1.29 um -10.3 cm 1.9 cm 1.08 GeV 11.7 keV 6.76 cm 10.8 cm World eIoni + 3 -3.94 um -20 cm 2.22 cm 2.05 GeV 21.1 keV 9.71 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.29 um -10.3 cm 1.9 cm 1.85 keV 0 eV 0 fm 0 fm World initStep + 1 4.71 um -10.3 cm 1.9 cm 1.51 MeV 1.85 keV 138 um 138 um World eIoni + 2 22.3 um -20 cm 1.9 cm 971 MeV 14.6 keV 9.69 cm 9.71 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.56 cm 1.4 cm 1.25 keV 0 eV 0 fm 0 fm World initStep + 1 2.24 um -3.57 cm 1.4 cm 867 keV 1.25 keV 78.4 um 78.4 um World eIoni + 2 11.8 um -20 cm 1.4 cm 1.64 GeV 27.2 keV 16.4 cm 16.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.03 cm 8.96 mm 153 MeV 2.98 keV 1.45 cm 1.45 cm World eIoni + 2 -20.3 um -20 cm 2.22 cm 2.05 GeV 44.7 keV 19.1 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.03 cm 8.96 mm 10.3 keV 0 eV 0 fm 0 fm World initStep + 1 45 um -1.21 cm 9 mm 19.1 MeV 6.8 keV 1.82 mm 1.82 mm World eIoni + 2 46.8 um -1.26 cm 9 mm 24.1 MeV 44.4 eV 501 um 2.32 mm World eIoni + 3 72.5 um -7.13 cm 9.03 mm 612 MeV 12.8 keV 5.88 cm 6.11 cm World eIoni + 4 84 um -18.3 cm 9.03 mm 1.73 GeV 25.9 keV 11.1 cm 17.3 cm World eIoni + 5 85.2 um -20 cm 9.03 mm 1.9 GeV 3.4 keV 1.72 cm 19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 84 um -18.3 cm 9.03 mm 2.1 keV 0 eV 0 fm 0 fm World initStep + 1 77.5 um -18.3 cm 9.04 mm 1.83 MeV 2.1 keV 168 um 168 um World eIoni + 2 65.5 um -20 cm 9.06 mm 173 MeV 2.76 keV 1.71 cm 1.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 72.5 um -7.13 cm 9.03 mm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 67.3 um -7.14 cm 9.03 mm 711 keV 1.09 keV 64.7 um 64.7 um World eIoni + 2 44.6 um -20 cm 9.02 mm 1.29 GeV 16.8 keV 12.9 cm 12.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.78 cm 1.87 cm 1.03 GeV 19.4 keV 10.3 cm 10.3 cm World eIoni + 2 -109 nm -12.6 cm 1.99 cm 1.31 GeV 6.7 keV 2.82 cm 13.1 cm World eIoni + 3 2.09 um -20 cm 2.22 cm 2.05 GeV 16.2 keV 7.4 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -109 nm -12.6 cm 1.99 cm 5.2 keV 0 eV 0 fm 0 fm World initStep + 1 -22.3 um -12.7 cm 1.99 cm 8.2 MeV 5.2 keV 770 um 770 um World eIoni + 2 -26.8 um -12.8 cm 1.99 cm 19.6 MeV 353 eV 1.14 mm 1.91 mm World eIoni + 3 -46 um -20 cm 1.99 cm 741 MeV 13.4 keV 7.21 cm 7.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.78 cm 1.87 cm 2.53 keV 0 eV 0 fm 0 fm World initStep + 1 1.16 um -9.8 cm 1.87 cm 2.44 MeV 2.53 keV 225 um 225 um World eIoni + 2 2.05 um -9.99 cm 1.87 cm 21 MeV 187 eV 1.86 mm 2.08 mm World eIoni + 3 3.79 um -20 cm 1.87 cm 1.02 GeV 20.4 keV 10 cm 10.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.77 mm 4.12 mm 67.7 MeV 643 eV 4.59 mm 4.59 mm World eIoni + 2 -6.91 um -2.47 cm 1.24 cm 297 MeV 2.32 keV 2.47 cm 2.93 cm World eIoni + 3 -7.16 um -10.2 cm 1.89 cm 1.07 GeV 17.5 keV 7.75 cm 10.7 cm World eIoni + 4 -5.16 um -20 cm 2.22 cm 2.05 GeV 21.2 keV 9.82 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.62 um -15.5 cm 2.09 cm 4.4 keV 0 eV 0 fm 0 fm World initStep - 1 2.06 um -15.5 cm 2.09 cm 6.13 MeV 4.4 keV 573 um 573 um World eIoni - 2 -1.24 um -15.9 cm 2.09 cm 41.8 MeV 382 eV 3.57 mm 4.14 mm World eIoni - 3 -1.67 um -16 cm 2.09 cm 53.6 MeV 133 eV 1.18 mm 5.32 mm World eIoni - 4 -8.61 um -20 cm 2.09 cm 452 MeV 6.21 keV 3.98 cm 4.52 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.67 um -16 cm 2.09 cm 1.42 keV 0 eV 0 fm 0 fm World initStep - 1 895 nm -16 cm 2.09 cm 1.03 MeV 1.42 keV 93.8 um 93.8 um World eIoni - 2 8.64 um -20 cm 2.09 cm 398 MeV 3.37 keV 3.97 cm 3.98 cm OutOfWorldTransportation + 0 -7.16 um -10.2 cm 1.89 cm 2.37 keV 0 eV 0 fm 0 fm World initStep + 1 -15.2 um -10.2 cm 1.89 cm 2.2 MeV 2.37 keV 202 um 202 um World eIoni + 2 -22.9 um -10.5 cm 1.89 cm 27.5 MeV 313 eV 2.53 mm 2.73 mm World eIoni + 3 -34.6 um -20 cm 1.89 cm 982 MeV 20.3 keV 9.54 cm 9.82 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.6 um -4.49 cm 1.51 cm 1.39 keV 0 eV 0 fm 0 fm World initStep - 1 -949 nm -4.5 cm 1.51 cm 993 keV 1.39 keV 90.6 um 90.6 um World eIoni - 2 -15.6 um -8.42 cm 1.5 cm 393 MeV 7.49 keV 3.92 cm 3.93 cm World eIoni - 3 -19.1 um -20 cm 1.5 cm 1.55 GeV 24.6 keV 11.6 cm 15.5 cm OutOfWorldTransportation + 0 -6.91 um -2.47 cm 1.24 cm 2.03 keV 0 eV 0 fm 0 fm World initStep + 1 -16 um -2.48 cm 1.24 cm 1.75 MeV 2.03 keV 159 um 159 um World eIoni + 2 -42.8 um -18.6 cm 1.24 cm 1.62 GeV 25.5 keV 16.1 cm 16.2 cm World eIoni + 3 -43.6 um -20 cm 1.24 cm 1.75 GeV 2.09 keV 1.37 cm 17.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.8 um -18.6 cm 1.24 cm 13.7 keV 0 eV 0 fm 0 fm World initStep + 1 27.7 um -18.9 cm 1.24 cm 24 MeV 4.75 keV 2.3 mm 2.3 mm World eIoni + 2 38.1 um -19.2 cm 1.24 cm 61.4 MeV 1.24 keV 3.73 mm 6.04 mm World eIoni + 3 47.2 um -20 cm 1.24 cm 139 MeV 1.75 keV 7.73 mm 1.38 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.38 mm 4.73 mm 1.02 keV 0 eV 0 fm 0 fm World initStep - 1 -2.78 um -2.44 mm 4.73 mm 687 keV 1.02 keV 59 um 59 um World eIoni - 2 -15.9 um -20 cm 4.75 mm 1.98 GeV 30.2 keV 19.8 cm 19.8 cm OutOfWorldTransportation + 0 0 fm -1.77 mm 4.12 mm 1.73 keV 0 eV 0 fm 0 fm World initStep + 1 8.58 um -1.89 mm 4.12 mm 1.36 MeV 1.73 keV 125 um 125 um World eIoni + 2 37.5 um -16.2 cm 4.12 mm 1.61 GeV 19.6 keV 16 cm 16.1 cm World eIoni + 3 37.8 um -19.5 cm 4.12 mm 1.93 GeV 5.19 keV 3.3 cm 19.3 cm World eIoni + 4 37.8 um -20 cm 4.12 mm 1.98 GeV 333 eV 4.77 mm 19.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.8 um -19.5 cm 4.12 mm 1.35 keV 0 eV 0 fm 0 fm World initStep + 1 36.2 um -19.5 cm 4.12 mm 953 keV 1.35 keV 86.7 um 86.7 um World eIoni + 2 32.9 um -20 cm 4.14 mm 47.8 MeV 329 eV 4.69 mm 4.77 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.5 um -16.2 cm 4.12 mm 1.32 keV 0 eV 0 fm 0 fm World initStep + 1 42.5 um -16.2 cm 4.12 mm 931 keV 1.32 keV 84.7 um 84.7 um World eIoni + 2 58.6 um -20 cm 4.13 mm 377 MeV 6.27 keV 3.76 cm 3.77 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -7954,50 +3759,742 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -256 um 1.6 mm 52.6 MeV 193 eV 1.63 mm 1.63 mm World eIoni - 2 5.94 um -16.8 cm 2.14 cm 1.73 GeV 34.9 keV 17.2 cm 17.3 cm World eIoni - 3 5.93 um -20 cm 2.22 cm 2.05 GeV 5.22 keV 3.17 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -6.5 cm 1.68 cm 700 MeV 10.4 keV 6.98 cm 6.98 cm World eIoni + 2 -135 nm -11.2 cm 1.94 cm 1.17 GeV 9.78 keV 4.74 cm 11.7 cm World eIoni + 3 184 nm -20 cm 2.22 cm 2.05 GeV 20.1 keV 8.77 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.94 um -16.8 cm 2.14 cm 3.32 keV 0 eV 0 fm 0 fm World initStep - 1 10.9 um -16.9 cm 2.14 cm 3.81 MeV 3.32 keV 354 um 354 um World eIoni - 2 15.1 um -17.4 cm 2.14 cm 56.5 MeV 520 eV 5.27 mm 5.62 mm World eIoni - 3 17.9 um -20 cm 2.14 cm 317 MeV 5.75 keV 2.6 cm 3.17 cm OutOfWorldTransportation + 0 -135 nm -11.2 cm 1.94 cm 1.03 keV 0 eV 0 fm 0 fm World initStep + 1 -1.37 um -11.2 cm 1.94 cm 656 keV 1.03 keV 59.7 um 59.7 um World eIoni + 2 -6.97 um -20 cm 1.94 cm 877 MeV 13.3 keV 8.76 cm 8.77 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -256 um 1.6 mm 6.35 keV 0 eV 0 fm 0 fm World initStep - 1 -7.15 um -1.35 mm 1.59 mm 11.6 MeV 6.06 keV 1.09 mm 1.09 mm World eIoni - 2 -9.24 um -4.93 mm 1.59 mm 47.5 MeV 480 eV 3.58 mm 4.67 mm World eIoni - 3 -11.6 um -2.23 cm 1.59 mm 221 MeV 2.92 keV 1.73 cm 2.2 cm World eIoni - 4 -20 um -10.8 cm 1.58 mm 1.08 GeV 19.1 keV 8.59 cm 10.8 cm World eIoni - 5 -22.9 um -20 cm 1.57 mm 2 GeV 22.6 keV 9.18 cm 20 cm OutOfWorldTransportation + 0 0 fm -6.5 cm 1.68 cm 1.26 keV 0 eV 0 fm 0 fm World initStep + 1 441 nm -6.5 cm 1.68 cm 872 keV 1.26 keV 79.1 um 79.1 um World eIoni + 2 2.21 um -20 cm 1.68 cm 1.35 GeV 21.8 keV 13.5 cm 13.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -18.7 cm 2.19 cm 1.92 GeV 37.4 keV 19.2 cm 19.2 cm World eIoni + 2 215 nm -20 cm 2.22 cm 2.05 GeV 2.94 keV 1.28 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -18.7 cm 2.19 cm 1.15 keV 0 eV 0 fm 0 fm World initStep + 1 -5.29 um -18.7 cm 2.19 cm 762 keV 1.15 keV 69.3 um 69.3 um World eIoni + 2 -20 um -20 cm 2.19 cm 128 MeV 3.18 keV 1.27 cm 1.28 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.84 cm 1.87 cm 1.03 GeV 21.4 keV 10.3 cm 10.3 cm World eIoni + 2 2.26 um -20 cm 2.22 cm 2.05 GeV 17 keV 10.2 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.84 cm 1.87 cm 1.94 keV 0 eV 0 fm 0 fm World initStep + 1 -7.24 um -9.85 cm 1.88 cm 1.62 MeV 1.94 keV 148 um 148 um World eIoni + 2 -27.6 um -20 cm 1.88 cm 1.02 GeV 15.4 keV 10.1 cm 10.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -59.9 um 777 um 50.6 MeV 92.4 eV 780 um 780 um World eIoni + 2 1.68 um -5.18 cm 1.57 cm 568 MeV 12.6 keV 5.58 cm 5.66 cm World eIoni + 3 4.75 um -20 cm 2.22 cm 2.05 GeV 28.4 keV 14.8 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.68 um -5.18 cm 1.57 cm 1.6 keV 0 eV 0 fm 0 fm World initStep + 1 -1.89 um -5.19 cm 1.57 cm 1.22 MeV 1.6 keV 111 um 111 um World eIoni + 2 -11 um -7.35 cm 1.57 cm 217 MeV 3.96 keV 2.16 cm 2.17 cm World eIoni + 3 -9.06 um -16.4 cm 1.57 cm 1.12 GeV 16.4 keV 9.02 cm 11.2 cm World eIoni + 4 -11.4 um -20 cm 1.57 cm 1.48 GeV 8.68 keV 3.63 cm 14.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.06 um -16.4 cm 1.57 cm 13.7 keV 0 eV 0 fm 0 fm World initStep + 1 51.7 um -16.6 cm 1.58 cm 20.6 MeV 5.03 keV 1.98 mm 1.98 mm World eIoni + 2 80 um -19.4 cm 1.58 cm 303 MeV 5.76 keV 2.82 cm 3.02 cm World eIoni + 3 81.4 um -20 cm 1.58 cm 364 MeV 717 eV 6.1 mm 3.63 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 80 um -19.4 cm 1.58 cm 2.85 keV 0 eV 0 fm 0 fm World initStep + 1 88.3 um -19.4 cm 1.58 cm 2.96 MeV 2.85 keV 273 um 273 um World eIoni + 2 89.2 um -19.4 cm 1.58 cm 4.17 MeV 21.7 eV 121 um 395 um World eIoni + 3 97.3 um -20 cm 1.58 cm 61.3 MeV 1.15 keV 5.71 mm 6.11 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11 um -7.35 cm 1.57 cm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 -15.6 um -7.35 cm 1.57 cm 715 keV 1.09 keV 65 um 65 um World eIoni + 2 -36.2 um -20 cm 1.57 cm 1.27 GeV 22.3 keV 12.6 cm 12.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -59.9 um 777 um 1.68 keV 0 eV 0 fm 0 fm World initStep + 1 -1.4 um -175 um 779 um 1.55 MeV 1.68 keV 119 um 119 um World eIoni + 2 -4.96 um -6.95 cm 784 um 695 MeV 6.85 keV 6.94 cm 6.95 cm World eIoni + 3 -4.87 um -7.81 cm 785 um 781 MeV 2.29 keV 8.57 mm 7.81 cm World eIoni + 4 -4.92 um -8.11 cm 785 um 811 MeV 378 eV 2.98 mm 8.1 cm World eIoni + 5 -4.9 um -9.14 cm 786 um 914 MeV 1.53 keV 1.03 cm 9.13 cm World eIoni + 6 -4.46 um -10.5 cm 787 um 1.05 GeV 4.68 keV 1.37 cm 10.5 cm World eIoni + 7 -110 nm -20 cm 794 um 2 GeV 20.8 keV 9.49 cm 20 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.46 um -10.5 cm 787 um 1.91 keV 0 eV 0 fm 0 fm World initStep + 1 -12.4 um -10.5 cm 782 um 1.59 MeV 1.91 keV 145 um 145 um World eIoni + 2 -34.1 um -17.7 cm 767 um 716 MeV 11.7 keV 7.14 cm 7.16 cm World eIoni + 3 -43 um -20 cm 772 um 949 MeV 4.63 keV 2.33 cm 9.49 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -34.1 um -17.7 cm 767 um 118 keV 0 eV 0 fm 0 fm World initStep + 1 165 um -20 cm 619 um 234 MeV 7.57 keV 2.34 cm 2.34 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.9 um -9.14 cm 786 um 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 -9.37 um -9.15 cm 785 um 640 keV 1.01 keV 58.2 um 58.2 um World eIoni + 2 -30.1 um -20 cm 778 um 1.09 GeV 17.8 keV 10.9 cm 10.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.92 um -8.11 cm 785 um 3.31 keV 0 eV 0 fm 0 fm World initStep + 1 -9.68 um -8.14 cm 803 um 3.78 MeV 3.31 keV 351 um 351 um World eIoni + 2 -13.1 um -8.48 cm 815 um 37 MeV 484 eV 3.32 mm 3.67 mm World eIoni + 3 -17.2 um -12.8 cm 830 um 467 MeV 7.19 keV 4.3 cm 4.67 cm World eIoni + 4 -16.9 um -20 cm 832 um 1.19 GeV 13.9 keV 7.22 cm 11.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -17.2 um -12.8 cm 830 um 1.22 keV 0 eV 0 fm 0 fm World initStep + 1 -20.3 um -12.8 cm 835 um 831 keV 1.22 keV 75.6 um 75.6 um World eIoni + 2 -32 um -20 cm 853 um 723 MeV 11.2 keV 7.22 cm 7.22 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.87 um -7.81 cm 785 um 1.78 keV 0 eV 0 fm 0 fm World initStep + 1 -184 nm -7.82 cm 777 um 1.42 MeV 1.78 keV 130 um 130 um World eIoni + 2 8.04 um -8.51 cm 764 um 70 MeV 983 eV 6.86 mm 6.99 mm World eIoni + 3 12.4 um -9.32 cm 759 um 151 MeV 1.23 keV 8.08 mm 1.51 cm World eIoni + 4 37.3 um -13.5 cm 752 um 567 MeV 9.32 keV 4.17 cm 5.67 cm World eIoni + 5 54.1 um -20 cm 750 um 1.22 GeV 11.6 keV 6.52 cm 12.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.3 um -13.5 cm 752 um 2.6 keV 0 eV 0 fm 0 fm World initStep + 1 29.3 um -13.5 cm 741 um 2.56 MeV 2.6 keV 236 um 236 um World eIoni + 2 19.8 um -14.2 cm 728 um 68.4 MeV 811 eV 6.59 mm 6.82 mm World eIoni + 3 18.3 um -14.6 cm 725 um 112 MeV 1.52 keV 4.37 mm 1.12 cm World eIoni + 4 10.6 um -20 cm 712 um 652 MeV 11.3 keV 5.4 cm 6.52 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 18.3 um -14.6 cm 725 um 1.3 keV 0 eV 0 fm 0 fm World initStep + 1 20.6 um -14.6 cm 731 um 907 keV 1.3 keV 82.6 um 82.6 um World eIoni + 2 28.5 um -20 cm 752 um 540 MeV 6.75 keV 5.39 cm 5.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 12.4 um -9.32 cm 759 um 17.2 keV 0 eV 0 fm 0 fm World initStep + 1 -76.4 um -9.6 cm 753 um 29.3 MeV 6.03 keV 2.82 mm 2.82 mm World eIoni + 2 -84.8 um -9.86 cm 753 um 55.6 MeV 366 eV 2.63 mm 5.44 mm World eIoni + 3 -124 um -20 cm 750 um 1.07 GeV 18.8 keV 10.1 cm 10.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 8.04 um -8.51 cm 764 um 1.99 keV 0 eV 0 fm 0 fm World initStep + 1 458 nm -8.53 cm 771 um 1.68 MeV 1.99 keV 154 um 154 um World eIoni + 2 -18.8 um -14.6 cm 787 um 607 MeV 10.8 keV 6.05 cm 6.07 cm World eIoni + 3 -19.3 um -20 cm 791 um 1.15 GeV 9.01 keV 5.42 cm 11.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -18.8 um -14.6 cm 787 um 1.76 keV 0 eV 0 fm 0 fm World initStep + 1 -24 um -14.6 cm 780 um 1.4 MeV 1.76 keV 128 um 128 um World eIoni + 2 -38.5 um -20 cm 761 um 542 MeV 7.49 keV 5.41 cm 5.42 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.96 um -6.95 cm 784 um 6.17 keV 0 eV 0 fm 0 fm World initStep + 1 -11.6 um -7.06 cm 747 um 11.1 MeV 6.08 keV 1.04 mm 1.04 mm World eIoni + 2 -14.8 um -8.04 cm 730 um 109 MeV 1.88 keV 9.8 mm 1.08 cm World eIoni + 3 -18.4 um -20 cm 710 um 1.31 GeV 26.5 keV 12 cm 13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.74 cm 1.42 cm 424 MeV 5.89 keV 4.22 cm 4.22 cm World eIoni + 2 -3.09 um -10.7 cm 1.91 cm 1.12 GeV 17 keV 6.95 cm 11.2 cm World eIoni + 3 -7.49 um -20 cm 2.22 cm 2.05 GeV 19.6 keV 9.34 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.09 um -10.7 cm 1.91 cm 3.71 keV 0 eV 0 fm 0 fm World initStep + 1 10.4 um -10.7 cm 1.92 cm 4.59 MeV 3.71 keV 428 um 428 um World eIoni + 2 13.3 um -10.8 cm 1.92 cm 9.88 MeV 60.5 eV 528 um 956 um World eIoni + 3 26.4 um -12.8 cm 1.92 cm 213 MeV 4.52 keV 2.04 cm 2.13 cm World eIoni + 4 27.1 um -14.4 cm 1.92 cm 376 MeV 3.99 keV 1.63 cm 3.76 cm World eIoni + 5 26.3 um -16.9 cm 1.92 cm 619 MeV 5.29 keV 2.43 cm 6.19 cm World eIoni + 6 26 um -20 cm 1.92 cm 934 MeV 8.39 keV 3.14 cm 9.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.3 um -16.9 cm 1.92 cm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 24.7 um -16.9 cm 1.92 cm 680 keV 1.05 keV 61.9 um 61.9 um World eIoni + 2 18.8 um -20 cm 1.91 cm 314 MeV 5.92 keV 3.14 cm 3.14 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 27.1 um -14.4 cm 1.92 cm 997 eV 0 eV 0 fm 0 fm World initStep + 1 31.7 um -14.4 cm 1.92 cm 632 keV 997 eV 57.5 um 57.5 um World eIoni + 2 51 um -20 cm 1.92 cm 558 MeV 8.17 keV 5.57 cm 5.58 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.4 um -12.8 cm 1.92 cm 2.03 keV 0 eV 0 fm 0 fm World initStep + 1 32.4 um -12.8 cm 1.92 cm 1.73 MeV 2.03 keV 158 um 158 um World eIoni + 2 47.7 um -20 cm 1.92 cm 720 MeV 9.3 keV 7.19 cm 7.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.74 cm 1.42 cm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 4.87 um -3.75 cm 1.42 cm 695 keV 1.07 keV 63.1 um 63.1 um World eIoni + 2 27.6 um -20 cm 1.42 cm 1.63 GeV 23.9 keV 16.3 cm 16.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.92 cm 1.14 cm 242 MeV 3.98 keV 2.37 cm 2.37 cm World eIoni + 2 -1.47 um -3.52 cm 1.4 cm 402 MeV 4.2 keV 1.62 cm 3.99 cm World eIoni + 3 -8.59 um -8.68 cm 1.82 cm 918 MeV 11.7 keV 5.18 cm 9.18 cm World eIoni + 4 -15.2 um -16.9 cm 2.14 cm 1.74 GeV 18 keV 8.19 cm 17.4 cm World eIoni + 5 -16.5 um -20 cm 2.22 cm 2.05 GeV 8.27 keV 3.13 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -15.2 um -16.9 cm 2.14 cm 1.21 keV 0 eV 0 fm 0 fm World initStep + 1 -19.5 um -16.9 cm 2.14 cm 825 keV 1.21 keV 74.9 um 74.9 um World eIoni + 2 -34 um -20 cm 2.14 cm 313 MeV 4.19 keV 3.12 cm 3.13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.59 um -8.68 cm 1.82 cm 1.65 keV 0 eV 0 fm 0 fm World initStep + 1 -5.02 um -8.7 cm 1.82 cm 1.27 MeV 1.65 keV 116 um 116 um World eIoni + 2 6.64 um -18.5 cm 1.81 cm 978 MeV 13.2 keV 9.77 cm 9.78 cm World eIoni + 3 6.69 um -20 cm 1.81 cm 1.13 GeV 3.79 keV 1.53 cm 11.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.64 um -18.5 cm 1.81 cm 3.31 keV 0 eV 0 fm 0 fm World initStep + 1 10.4 um -18.5 cm 1.81 cm 3.8 MeV 3.31 keV 353 um 353 um World eIoni + 2 11.9 um -18.6 cm 1.81 cm 13.5 MeV 111 eV 975 um 1.33 mm World eIoni + 3 14.9 um -20 cm 1.81 cm 154 MeV 3.32 keV 1.4 cm 1.53 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.47 um -3.52 cm 1.4 cm 7.87 keV 0 eV 0 fm 0 fm World initStep + 1 29 um -3.66 cm 1.39 cm 15.1 MeV 5.33 keV 1.43 mm 1.43 mm World eIoni + 2 38.4 um -4.31 cm 1.39 cm 80.1 MeV 512 eV 6.5 mm 7.93 mm World eIoni + 3 51.2 um -10.6 cm 1.39 cm 705 MeV 9.58 keV 6.25 cm 7.04 cm World eIoni + 4 56.4 um -20 cm 1.39 cm 1.65 GeV 17.6 keV 9.44 cm 16.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 51.2 um -10.6 cm 1.39 cm 1.66 keV 0 eV 0 fm 0 fm World initStep + 1 50 um -10.6 cm 1.39 cm 1.28 MeV 1.66 keV 117 um 117 um World eIoni + 2 46.2 um -20 cm 1.39 cm 944 MeV 10.1 keV 9.43 cm 9.44 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.92 cm 1.14 cm 6.06 keV 0 eV 0 fm 0 fm World initStep + 1 13.2 um -2.02 cm 1.13 cm 10.7 MeV 6.06 keV 1.01 mm 1.01 mm World eIoni + 2 15.4 um -2.15 cm 1.13 cm 23.9 MeV 933 eV 1.31 mm 2.32 mm World eIoni + 3 25.6 um -9.47 cm 1.13 cm 756 MeV 14.7 keV 7.32 cm 7.56 cm World eIoni + 4 25.7 um -11.1 cm 1.13 cm 916 MeV 2.33 keV 1.6 cm 9.15 cm World eIoni + 5 29 um -20 cm 1.13 cm 1.81 GeV 18.9 keV 8.93 cm 18.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 25.7 um -11.1 cm 1.13 cm 1.93 keV 0 eV 0 fm 0 fm World initStep + 1 16 um -11.1 cm 1.13 cm 1.61 MeV 1.93 keV 147 um 147 um World eIoni + 2 -11.1 um -20 cm 1.13 cm 893 MeV 12.4 keV 8.92 cm 8.93 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 25.6 um -9.47 cm 1.13 cm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 29 um -9.48 cm 1.13 cm 724 keV 1.1 keV 65.8 um 65.8 um World eIoni + 2 43.7 um -20 cm 1.13 cm 1.05 GeV 17.4 keV 10.5 cm 10.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.84 cm 1.44 cm 434 MeV 10.4 keV 4.32 cm 4.32 cm World eIoni + 2 -833 nm -7.49 cm 1.74 cm 799 MeV 6.54 keV 3.66 cm 7.98 cm World eIoni + 3 -3.03 um -20 cm 2.22 cm 2.05 GeV 25.3 keV 12.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -833 nm -7.49 cm 1.74 cm 1.59 keV 0 eV 0 fm 0 fm World initStep + 1 1.04 um -7.5 cm 1.74 cm 1.2 MeV 1.59 keV 110 um 110 um World eIoni + 2 5.75 um -9.34 cm 1.74 cm 186 MeV 2.49 keV 1.84 cm 1.86 cm World eIoni + 3 4.75 um -9.76 cm 1.74 cm 227 MeV 592 eV 4.19 mm 2.27 cm World eIoni + 4 -85.6 nm -15.9 cm 1.74 cm 844 MeV 11.8 keV 6.16 cm 8.44 cm World eIoni + 5 -3.8 um -20 cm 1.74 cm 1.25 GeV 5.71 keV 4.08 cm 12.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -85.6 nm -15.9 cm 1.74 cm 3.52 keV 0 eV 0 fm 0 fm World initStep + 1 18.3 um -16 cm 1.74 cm 4.21 MeV 3.52 keV 392 um 392 um World eIoni + 2 22.6 um -16 cm 1.74 cm 9.37 MeV 105 eV 516 um 908 um World eIoni + 3 44.5 um -20 cm 1.74 cm 408 MeV 5.9 keV 3.99 cm 4.08 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.75 um -9.76 cm 1.74 cm 4.56 keV 0 eV 0 fm 0 fm World initStep + 1 120 nm -9.82 cm 1.74 cm 6.53 MeV 4.56 keV 612 um 612 um World eIoni + 2 -2.37 um -10.3 cm 1.75 cm 53.7 MeV 1.49 keV 4.72 mm 5.33 mm World eIoni + 3 -4.24 um -12.2 cm 1.75 cm 248 MeV 4.81 keV 1.94 cm 2.48 cm World eIoni + 4 -9.86 um -20 cm 1.75 cm 1.02 GeV 19.6 keV 7.76 cm 10.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.24 um -12.2 cm 1.75 cm 1.39 keV 0 eV 0 fm 0 fm World initStep + 1 660 nm -12.2 cm 1.75 cm 996 keV 1.39 keV 90.7 um 90.7 um World eIoni + 2 17.5 um -20 cm 1.74 cm 777 MeV 11 keV 7.76 cm 7.77 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.75 um -9.34 cm 1.74 cm 3.38 keV 0 eV 0 fm 0 fm World initStep + 1 24.1 um -9.38 cm 1.74 cm 3.93 MeV 3.38 keV 365 um 365 um World eIoni + 2 40.7 um -10.1 cm 1.74 cm 74.5 MeV 1.02 keV 7.06 mm 7.42 mm World eIoni + 3 56.3 um -20 cm 1.74 cm 1.07 GeV 20.8 keV 9.92 cm 10.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.84 cm 1.44 cm 1.33 keV 0 eV 0 fm 0 fm World initStep + 1 2.39 um -3.85 cm 1.44 cm 942 keV 1.33 keV 85.3 um 85.3 um World eIoni + 2 12.2 um -20 cm 1.44 cm 1.62 GeV 25.4 keV 16.1 cm 16.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -320 nm 56.9 um 50 MeV 12.8 eV 56.9 um 56.9 um World eIoni + 2 7.3 um -1.73 cm 1.09 cm 223 MeV 3.74 keV 2.17 cm 2.17 cm World eIoni + 3 13.4 um -12.2 cm 1.98 cm 1.27 GeV 24.8 keV 10.5 cm 12.7 cm World eIoni + 4 13.7 um -20 cm 2.22 cm 2.05 GeV 14 keV 7.84 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.4 um -12.2 cm 1.98 cm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 17.7 um -12.2 cm 1.98 cm 678 keV 1.05 keV 61.6 um 61.6 um World eIoni + 2 29.7 um -12.8 cm 1.98 cm 67 MeV 1.69 keV 6.63 mm 6.69 mm World eIoni + 3 27.6 um -20 cm 1.98 cm 784 MeV 17.4 keV 7.17 cm 7.84 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.7 um -12.8 cm 1.98 cm 6.8 keV 0 eV 0 fm 0 fm World initStep + 1 48 um -13 cm 1.97 cm 12.8 MeV 6.8 keV 1.2 mm 1.2 mm World eIoni + 2 57.3 um -14.5 cm 1.97 cm 165 MeV 2.54 keV 1.52 cm 1.64 cm World eIoni + 3 58.8 um -15.3 cm 1.97 cm 246 MeV 795 eV 8.09 mm 2.45 cm World eIoni + 4 66 um -20 cm 1.97 cm 718 MeV 11.8 keV 4.72 cm 7.17 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 58.8 um -15.3 cm 1.97 cm 1.03 keV 0 eV 0 fm 0 fm World initStep + 1 54.2 um -15.3 cm 1.97 cm 656 keV 1.03 keV 59.7 um 59.7 um World eIoni + 2 35.5 um -20 cm 1.97 cm 472 MeV 8.08 keV 4.72 cm 4.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.3 um -1.73 cm 1.09 cm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 7.17 um -1.73 cm 1.09 cm 680 keV 1.04 keV 61.1 um 61.1 um World eIoni + 2 6.49 um -20 cm 1.1 cm 1.83 GeV 28.2 keV 18.3 cm 18.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -320 nm 56.9 um 1.13 keV 0 eV 0 fm 0 fm World initStep + 1 -5.4 um -66.7 um 57 um 752 keV 1.13 keV 68 um 68 um World eIoni + 2 -30.9 um -20 cm 57.9 um 2 GeV 31.4 keV 20 cm 20 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -17.5 cm 2.15 cm 1.8 GeV 31.8 keV 18 cm 18 cm World eIoni + 2 -720 nm -20 cm 2.22 cm 2.05 GeV 7.01 keV 2.53 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -17.5 cm 2.15 cm 3.16 keV 0 eV 0 fm 0 fm World initStep + 1 16.3 um -17.5 cm 2.15 cm 3.51 MeV 3.16 keV 325 um 325 um World eIoni + 2 31.8 um -18.1 cm 2.15 cm 66.8 MeV 1e+03 eV 6.33 mm 6.66 mm World eIoni + 3 39 um -20 cm 2.15 cm 253 MeV 2.55 keV 1.86 cm 2.53 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.37 cm 1 cm 187 MeV 3.42 keV 1.8 cm 1.8 cm World eIoni + 2 -6.55 um -14.7 cm 2.07 cm 1.52 GeV 21.2 keV 13.4 cm 15.2 cm World eIoni + 3 -7.17 um -16.4 cm 2.12 cm 1.69 GeV 3.89 keV 1.7 cm 16.9 cm World eIoni + 4 -8.15 um -19.2 cm 2.2 cm 1.97 GeV 3.22 keV 2.82 cm 19.7 cm World eIoni + 5 -8.34 um -20 cm 2.22 cm 2.05 GeV 1.62 keV 8.1 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.15 um -19.2 cm 2.2 cm 1.11 keV 0 eV 0 fm 0 fm World initStep + 1 -10.7 um -19.2 cm 2.2 cm 729 keV 1.11 keV 66.2 um 66.2 um World eIoni + 2 -17.6 um -20 cm 2.2 cm 81.1 MeV 896 eV 8.04 mm 8.1 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.17 um -16.4 cm 2.12 cm 1.02 keV 0 eV 0 fm 0 fm World initStep + 1 -6.37 um -16.4 cm 2.12 cm 650 keV 1.02 keV 59.2 um 59.2 um World eIoni + 2 -3.22 um -20 cm 2.12 cm 363 MeV 6.68 keV 3.63 cm 3.63 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.55 um -14.7 cm 2.07 cm 1.13 keV 0 eV 0 fm 0 fm World initStep + 1 -2.29 um -14.7 cm 2.07 cm 743 keV 1.13 keV 67.5 um 67.5 um World eIoni + 2 14.4 um -20 cm 2.07 cm 534 MeV 6.98 keV 5.33 cm 5.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.37 cm 1 cm 1.38 keV 0 eV 0 fm 0 fm World initStep + 1 5.59 um -1.37 cm 1 cm 994 keV 1.38 keV 89.9 um 89.9 um World eIoni + 2 28.2 um -20 cm 1 cm 1.86 GeV 24.2 keV 18.6 cm 18.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -17.2 cm 2.15 cm 1.77 GeV 37.7 keV 17.7 cm 17.7 cm World eIoni + 2 -477 nm -20 cm 2.22 cm 2.05 GeV 4.75 keV 2.78 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -17.2 cm 2.15 cm 1.64 keV 0 eV 0 fm 0 fm World initStep + 1 6.48 um -17.2 cm 2.15 cm 1.26 MeV 1.64 keV 115 um 115 um World eIoni + 2 23.3 um -20 cm 2.15 cm 278 MeV 4.8 keV 2.77 cm 2.78 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -17.5 cm 2.15 cm 1.8 GeV 32.3 keV 18 cm 18 cm World eIoni + 2 -614 nm -20 cm 2.22 cm 2.05 GeV 4.26 keV 2.53 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -17.5 cm 2.15 cm 2.72 keV 0 eV 0 fm 0 fm World initStep + 1 12.7 um -17.5 cm 2.15 cm 2.75 MeV 2.72 keV 253 um 253 um World eIoni + 2 25.5 um -18 cm 2.16 cm 49.8 MeV 586 eV 4.71 mm 4.96 mm World eIoni + 3 33.1 um -20 cm 2.16 cm 253 MeV 4.49 keV 2.03 cm 2.53 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -4.96 cm 1.55 cm 546 MeV 10.6 keV 5.44 cm 5.44 cm World eIoni + 2 -3.47 um -10.1 cm 1.89 cm 1.06 GeV 9.4 keV 5.13 cm 10.6 cm World eIoni + 3 -297 nm -20 cm 2.22 cm 2.05 GeV 18.4 keV 9.92 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.47 um -10.1 cm 1.89 cm 14.9 keV 0 eV 0 fm 0 fm World initStep + 1 -67.7 um -10.3 cm 1.89 cm 25.8 MeV 4.05 keV 2.47 mm 2.47 mm World eIoni + 2 -72.9 um -10.5 cm 1.89 cm 43.8 MeV 194 eV 1.81 mm 4.28 mm World eIoni + 3 -104 um -20 cm 1.89 cm 993 MeV 15.4 keV 9.49 cm 9.92 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -4.96 cm 1.55 cm 2.69 keV 0 eV 0 fm 0 fm World initStep + 1 14 um -4.99 cm 1.55 cm 2.69 MeV 2.69 keV 248 um 248 um World eIoni + 2 25.6 um -5.24 cm 1.55 cm 28.2 MeV 208 eV 2.55 mm 2.8 mm World eIoni + 3 37.6 um -7.62 cm 1.55 cm 266 MeV 5.14 keV 2.38 cm 2.66 cm World eIoni + 4 38.7 um -17.9 cm 1.55 cm 1.29 GeV 24.7 keV 10.3 cm 12.9 cm World eIoni + 5 38.7 um -20 cm 1.55 cm 1.5 GeV 3.86 keV 2.09 cm 15 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -20 um -10.8 cm 1.58 mm 1.47 keV 0 eV 0 fm 0 fm World initStep - 1 -20.9 um -10.8 cm 1.59 mm 1.08 MeV 1.47 keV 98.2 um 98.2 um World eIoni - 2 -24 um -20 cm 1.61 mm 918 MeV 15.2 keV 9.17 cm 9.18 cm OutOfWorldTransportation + 0 38.7 um -17.9 cm 1.55 cm 1.11 keV 0 eV 0 fm 0 fm World initStep + 1 39.2 um -17.9 cm 1.55 cm 726 keV 1.11 keV 66 um 66 um World eIoni + 2 40.9 um -20 cm 1.55 cm 209 MeV 2.86 keV 2.09 cm 2.09 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -11.6 um -2.23 cm 1.59 mm 2.86 keV 0 eV 0 fm 0 fm World initStep - 1 -984 nm -2.25 cm 1.6 mm 2.98 MeV 2.86 keV 275 um 275 um World eIoni - 2 3.06 um -2.32 cm 1.6 mm 9.61 MeV 34.3 eV 663 um 938 um World eIoni - 3 22.8 um -20 cm 1.62 mm 1.78 GeV 29.6 keV 17.7 cm 17.8 cm OutOfWorldTransportation + 0 37.6 um -7.62 cm 1.55 cm 2.01 keV 0 eV 0 fm 0 fm World initStep + 1 47.7 um -7.63 cm 1.55 cm 1.72 MeV 2.01 keV 157 um 157 um World eIoni + 2 70.7 um -10.6 cm 1.55 cm 301 MeV 2.3 keV 2.99 cm 3.01 cm World eIoni + 3 83 um -20 cm 1.55 cm 1.24 GeV 20.6 keV 9.37 cm 12.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 70.7 um -10.6 cm 1.55 cm 1.98 keV 0 eV 0 fm 0 fm World initStep + 1 61.3 um -10.6 cm 1.55 cm 1.67 MeV 1.98 keV 153 um 153 um World eIoni + 2 48.8 um -11 cm 1.55 cm 40.9 MeV 285 eV 3.92 mm 4.07 mm World eIoni + 3 48.2 um -11.3 cm 1.55 cm 68.2 MeV 298 eV 2.73 mm 6.81 mm World eIoni + 4 48.6 um -11.5 cm 1.55 cm 82.5 MeV 157 eV 1.43 mm 8.24 mm World eIoni + 5 50.6 um -20 cm 1.55 cm 937 MeV 16.3 keV 8.55 cm 9.37 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 48.6 um -11.5 cm 1.55 cm 2.18 keV 0 eV 0 fm 0 fm World initStep + 1 50.9 um -11.5 cm 1.55 cm 1.93 MeV 2.18 keV 177 um 177 um World eIoni + 2 56 um -15.5 cm 1.56 cm 402 MeV 6.42 keV 4 cm 4.02 cm World eIoni + 3 56.6 um -20 cm 1.56 cm 855 MeV 12.3 keV 4.53 cm 8.55 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 48.2 um -11.3 cm 1.55 cm 1.58 keV 0 eV 0 fm 0 fm World initStep + 1 42.3 um -11.3 cm 1.55 cm 1.2 MeV 1.58 keV 109 um 109 um World eIoni + 2 25.9 um -14.3 cm 1.55 cm 301 MeV 3.52 keV 3 cm 3.01 cm WorldTransportation + 3 25.9 um -14.3 cm 1.55 cm 301 MeV 0 eV 0 fm 3.01 cm World eIoni + 4 24 um -17.2 cm 1.55 cm 593 MeV 7.24 keV 2.92 cm 5.93 cm World eIoni + 5 22.4 um -20 cm 1.55 cm 869 MeV 6.34 keV 2.76 cm 8.69 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24 um -17.2 cm 1.55 cm 1.56 keV 0 eV 0 fm 0 fm World initStep + 1 26.9 um -17.2 cm 1.55 cm 1.18 MeV 1.56 keV 107 um 107 um World eIoni + 2 34.4 um -20 cm 1.55 cm 276 MeV 4.12 keV 2.75 cm 2.76 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 25.9 um -14.3 cm 1.55 cm 1.06 keV 0 eV 0 fm 0 fm World initStep + 1 25.5 um -14.3 cm 1.55 cm 685 keV 1.06 keV 62.3 um 62.3 um World eIoni + 2 23.7 um -20 cm 1.55 cm 568 MeV 6.6 keV 5.68 cm 5.68 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 48.8 um -11 cm 1.55 cm 1.61 keV 0 eV 0 fm 0 fm World initStep + 1 43 um -11 cm 1.55 cm 1.23 MeV 1.61 keV 112 um 112 um World eIoni + 2 26.1 um -15 cm 1.55 cm 398 MeV 6.57 keV 3.97 cm 3.98 cm World eIoni + 3 23.7 um -20 cm 1.55 cm 897 MeV 9.58 keV 4.99 cm 8.97 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -8005,52 +4502,1863 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.3 cm 1.49 cm 480 MeV 8.41 keV 4.77 cm 4.77 cm World eIoni - 2 -2.28 um -12.4 cm 1.98 cm 1.29 GeV 22.3 keV 8.09 cm 12.9 cm World eIoni - 3 -290 nm -20 cm 2.22 cm 2.05 GeV 12.9 keV 7.64 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -1.45 mm 3.73 mm 64.4 MeV 551 eV 4.08 mm 4.08 mm World eIoni + 2 -8.39 um -17.1 cm 2.15 cm 1.76 GeV 29.7 keV 17.1 cm 17.6 cm World eIoni + 3 -8.81 um -20 cm 2.22 cm 2.05 GeV 6.25 keV 2.95 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.28 um -12.4 cm 1.98 cm 6.01 keV 0 eV 0 fm 0 fm World initStep - 1 -32.7 um -12.5 cm 1.99 cm 10.6 MeV 6.01 keV 995 um 995 um World eIoni - 2 -49.2 um -13.7 cm 1.99 cm 135 MeV 2.1 keV 1.24 cm 1.34 cm World eIoni - 3 -60.7 um -20 cm 1.99 cm 764 MeV 12.7 keV 6.3 cm 7.64 cm OutOfWorldTransportation + 0 -8.39 um -17.1 cm 2.15 cm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 -7.9 um -17.1 cm 2.15 cm 677 keV 1.05 keV 61.5 um 61.5 um World eIoni + 2 -6.09 um -20 cm 2.15 cm 295 MeV 5.94 keV 2.94 cm 2.95 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.3 cm 1.49 cm 2.81 keV 0 eV 0 fm 0 fm World initStep - 1 6.41 um -4.32 cm 1.49 cm 2.89 MeV 2.81 keV 267 um 267 um World eIoni - 2 12.5 um -4.77 cm 1.49 cm 47.5 MeV 316 eV 4.47 mm 4.73 mm World eIoni - 3 22.5 um -20 cm 1.49 cm 1.57 GeV 31.5 keV 15.2 cm 15.7 cm OutOfWorldTransportation + 0 0 fm -1.45 mm 3.73 mm 19.8 keV 0 eV 0 fm 0 fm World initStep + 1 16.9 um -4.68 mm 3.68 mm 33.8 MeV 4.8 keV 3.24 mm 3.24 mm World eIoni + 2 18.5 um -8.05 mm 3.68 mm 67.5 MeV 386 eV 3.37 mm 6.61 mm World eIoni + 3 24.8 um -8.27 cm 3.66 mm 814 MeV 14.1 keV 7.47 cm 8.13 cm World eIoni + 4 27.9 um -20 cm 3.66 mm 1.99 GeV 25.2 keV 11.7 cm 19.9 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12.5 um -4.77 cm 1.49 cm 1.22 keV 0 eV 0 fm 0 fm World initStep - 1 11.7 um -4.78 cm 1.49 cm 830 keV 1.22 keV 75.5 um 75.5 um World eIoni - 2 8.62 um -9.53 cm 1.49 cm 477 MeV 8.44 keV 4.76 cm 4.77 cm World eIoni - 3 7.71 um -20 cm 1.49 cm 1.52 GeV 18 keV 10.5 cm 15.2 cm OutOfWorldTransportation + 0 24.8 um -8.27 cm 3.66 mm 1.46 keV 0 eV 0 fm 0 fm World initStep + 1 22.5 um -8.28 cm 3.65 mm 1.07 MeV 1.46 keV 97.7 um 97.7 um World eIoni + 2 14.3 um -19.3 cm 3.63 mm 1.1 GeV 15.8 keV 11 cm 11 cm World eIoni + 3 14.6 um -20 cm 3.63 mm 1.17 GeV 1.37 keV 7.2 mm 11.7 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.62 um -9.53 cm 1.49 cm 1.53 keV 0 eV 0 fm 0 fm World initStep - 1 9.66 um -9.54 cm 1.49 cm 1.14 MeV 1.53 keV 104 um 104 um World eIoni - 2 13.2 um -20 cm 1.48 cm 1.05 GeV 18.5 keV 10.5 cm 10.5 cm OutOfWorldTransportation + 0 14.3 um -19.3 cm 3.63 mm 4.36 keV 0 eV 0 fm 0 fm World initStep + 1 -8.76 um -19.3 cm 3.64 mm 6.05 MeV 4.36 keV 566 um 566 um World eIoni + 2 -15.1 um -19.4 cm 3.64 mm 17.5 MeV 241 eV 1.14 mm 1.71 mm World eIoni + 3 -23.9 um -20 cm 3.64 mm 72.5 MeV 665 eV 5.5 mm 7.21 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -5.42 cm 1.59 cm 592 MeV 11.7 keV 5.91 cm 5.91 cm World eIoni + 2 57.6 nm -6.48 cm 1.68 cm 698 MeV 1.61 keV 1.06 cm 6.97 cm World eIoni + 3 1.08 um -9.63 cm 1.86 cm 1.01 GeV 6.31 keV 3.15 cm 10.1 cm World eIoni + 4 1.22 um -20 cm 2.22 cm 2.05 GeV 22.1 keV 10.4 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.08 um -9.63 cm 1.86 cm 1.69 keV 0 eV 0 fm 0 fm World initStep + 1 6.24 um -9.65 cm 1.87 cm 1.32 MeV 1.69 keV 120 um 120 um World eIoni + 2 14.8 um -10.1 cm 1.87 cm 50.1 MeV 331 eV 4.88 mm 5 mm World eIoni + 3 26.9 um -20 cm 1.87 cm 1.04 GeV 19.9 keV 9.87 cm 10.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.8 um -10.1 cm 1.87 cm 1.76 keV 0 eV 0 fm 0 fm World initStep + 1 12 um -10.1 cm 1.87 cm 1.4 MeV 1.76 keV 128 um 128 um World eIoni + 2 3.2 um -20 cm 1.86 cm 987 MeV 13.9 keV 9.85 cm 9.87 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 57.6 nm -6.48 cm 1.68 cm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 -3.55 um -6.49 cm 1.68 cm 666 keV 1.04 keV 60.4 um 60.4 um World eIoni + 2 -20.9 um -20 cm 1.68 cm 1.35 GeV 24 keV 13.5 cm 13.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -5.42 cm 1.59 cm 1.79 keV 0 eV 0 fm 0 fm World initStep + 1 -733 nm -5.44 cm 1.59 cm 1.44 MeV 1.79 keV 131 um 131 um World eIoni + 2 -2.69 um -9.96 cm 1.6 cm 453 MeV 7.11 keV 4.52 cm 4.53 cm World eIoni + 3 -3.02 um -11.6 cm 1.6 cm 623 MeV 4.35 keV 1.69 cm 6.22 cm World eIoni + 4 -1.93 um -16.5 cm 1.6 cm 1.11 GeV 12.2 keV 4.85 cm 11.1 cm World eIoni + 5 -1.58 um -18.2 cm 1.6 cm 1.28 GeV 2.27 keV 1.74 cm 12.8 cm World eIoni + 6 -1.11 um -19 cm 1.6 cm 1.35 GeV 1.19 keV 7.31 mm 13.5 cm World eIoni + 7 -837 nm -20 cm 1.6 cm 1.46 GeV 2.39 keV 1.03 cm 14.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.11 um -19 cm 1.6 cm 2.75 keV 0 eV 0 fm 0 fm World initStep + 1 9.6 um -19 cm 1.6 cm 2.8 MeV 2.75 keV 258 um 258 um World eIoni + 2 11.3 um -19 cm 1.6 cm 4.59 MeV 41.6 eV 180 um 438 um World eIoni + 3 23.7 um -20 cm 1.6 cm 103 MeV 2.8 keV 9.88 mm 1.03 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.58 um -18.2 cm 1.6 cm 4 keV 0 eV 0 fm 0 fm World initStep + 1 -23.2 um -18.3 cm 1.6 cm 5.22 MeV 4 keV 487 um 487 um World eIoni + 2 -36.6 um -18.7 cm 1.6 cm 49.7 MeV 839 eV 4.44 mm 4.93 mm World eIoni + 3 -44.5 um -20 cm 1.6 cm 177 MeV 4.02 keV 1.27 cm 1.76 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.93 um -16.5 cm 1.6 cm 1.38 keV 0 eV 0 fm 0 fm World initStep + 1 -2.84 um -16.5 cm 1.6 cm 981 keV 1.38 keV 89.3 um 89.3 um World eIoni + 2 -5.65 um -20 cm 1.6 cm 350 MeV 6.43 keV 3.49 cm 3.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.02 um -11.6 cm 1.6 cm 3.09 keV 0 eV 0 fm 0 fm World initStep + 1 -11.7 um -11.7 cm 1.6 cm 3.37 MeV 3.09 keV 313 um 313 um World eIoni + 2 -17.5 um -11.9 cm 1.59 cm 27.2 MeV 315 eV 2.39 mm 2.7 mm World eIoni + 3 -27.2 um -17.5 cm 1.59 cm 587 MeV 10.7 keV 5.6 cm 5.87 cm World eIoni + 4 -29 um -20 cm 1.59 cm 836 MeV 4.82 keV 2.48 cm 8.35 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27.2 um -17.5 cm 1.59 cm 1.2 keV 0 eV 0 fm 0 fm World initStep + 1 -21.5 um -17.5 cm 1.59 cm 816 keV 1.2 keV 74.2 um 74.2 um World eIoni + 2 -2.94 um -20 cm 1.59 cm 249 MeV 4.45 keV 2.48 cm 2.48 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.69 um -9.96 cm 1.6 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 -1.57 um -9.96 cm 1.6 cm 738 keV 1.12 keV 67.1 um 67.1 um World eIoni + 2 3.21 um -20 cm 1.6 cm 1 GeV 14.3 keV 10 cm 10 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.07 cm 1.34 cm 357 MeV 6.57 keV 3.54 cm 3.54 cm World eIoni + 2 -8.41 um -11.4 cm 1.95 cm 1.19 GeV 16.4 keV 8.34 cm 11.9 cm World eIoni + 3 -8.45 um -11.5 cm 1.95 cm 1.2 GeV 79.7 eV 1.39 mm 12 cm World eIoni + 4 -10.5 um -20 cm 2.22 cm 2.05 GeV 15.5 keV 8.48 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.45 um -11.5 cm 1.95 cm 1.62 keV 0 eV 0 fm 0 fm World initStep + 1 -8.95 um -11.5 cm 1.95 cm 1.25 MeV 1.62 keV 114 um 114 um World eIoni + 2 -10.5 um -17.7 cm 1.95 cm 614 MeV 10.6 keV 6.13 cm 6.14 cm World eIoni + 3 -11.3 um -20 cm 1.95 cm 848 MeV 4.36 keV 2.34 cm 8.48 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.5 um -17.7 cm 1.95 cm 2.55 keV 0 eV 0 fm 0 fm World initStep + 1 -4.39 um -17.7 cm 1.95 cm 2.47 MeV 2.55 keV 228 um 228 um World eIoni + 2 148 nm -17.9 cm 1.95 cm 20 MeV 254 eV 1.76 mm 1.99 mm World eIoni + 3 6.11 um -20 cm 1.95 cm 234 MeV 3.75 keV 2.14 cm 2.34 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.41 um -11.4 cm 1.95 cm 3.4 keV 0 eV 0 fm 0 fm World initStep + 1 -17.6 um -11.4 cm 1.95 cm 3.96 MeV 3.4 keV 368 um 368 um World eIoni + 2 -21.1 um -11.5 cm 1.95 cm 14.2 MeV 166 eV 1.02 mm 1.39 mm World eIoni + 3 -33.1 um -20 cm 1.95 cm 862 MeV 16.6 keV 8.48 cm 8.62 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.07 cm 1.34 cm 4.87 keV 0 eV 0 fm 0 fm World initStep + 1 27.7 um -3.14 cm 1.34 cm 7.31 MeV 4.87 keV 686 um 686 um World eIoni + 2 37.4 um -3.37 cm 1.34 cm 30.8 MeV 281 eV 2.35 mm 3.04 mm World eIoni + 3 61.1 um -10.2 cm 1.34 cm 714 MeV 12.2 keV 6.83 cm 7.13 cm World eIoni + 4 63.7 um -20 cm 1.34 cm 1.69 GeV 20.4 keV 9.8 cm 16.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 61.1 um -10.2 cm 1.34 cm 1.23 keV 0 eV 0 fm 0 fm World initStep + 1 67 um -10.2 cm 1.34 cm 842 keV 1.23 keV 76.6 um 76.6 um World eIoni + 2 90.6 um -20 cm 1.34 cm 980 MeV 14.5 keV 9.79 cm 9.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -17 cm 2.14 cm 1.75 GeV 36.4 keV 17.5 cm 17.5 cm World eIoni + 2 398 nm -20 cm 2.22 cm 2.05 GeV 9.26 keV 2.96 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -17 cm 2.14 cm 2.52 keV 0 eV 0 fm 0 fm World initStep + 1 -6.57 um -17.1 cm 2.14 cm 2.42 MeV 2.52 keV 223 um 223 um World eIoni + 2 -12.8 um -17.4 cm 2.14 cm 32.2 MeV 249 eV 2.97 mm 3.2 mm World eIoni + 3 -18.5 um -20 cm 2.14 cm 296 MeV 5.93 keV 2.64 cm 2.96 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.95 cm 1.45 cm 445 MeV 8.59 keV 4.43 cm 4.43 cm World eIoni + 2 -1.42 um -14.8 cm 2.07 cm 1.53 GeV 23.9 keV 10.9 cm 15.3 cm World eIoni + 3 -1.71 um -20 cm 2.22 cm 2.05 GeV 10.6 keV 5.22 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.42 um -14.8 cm 2.07 cm 4.81 keV 0 eV 0 fm 0 fm World initStep + 1 -2.01 um -14.8 cm 2.07 cm 7.16 MeV 4.81 keV 671 um 671 um World eIoni + 2 -2.1 um -14.9 cm 2.07 cm 13.9 MeV 29.4 eV 678 um 1.35 mm World eIoni + 3 -2.63 um -19.8 cm 2.08 cm 501 MeV 7.5 keV 4.87 cm 5.01 cm World eIoni + 4 -2.72 um -20 cm 2.08 cm 522 MeV 280 eV 2.13 mm 5.22 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.63 um -19.8 cm 2.08 cm 2.59 keV 0 eV 0 fm 0 fm World initStep + 1 5.82 um -19.8 cm 2.08 cm 2.54 MeV 2.59 keV 234 um 234 um World eIoni + 2 8.7 um -19.9 cm 2.08 cm 6.92 MeV 3.53 eV 437 um 672 um World eIoni + 3 12.2 um -20 cm 2.08 cm 21.5 MeV 83.4 eV 1.46 mm 2.13 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.95 cm 1.45 cm 2.05 keV 0 eV 0 fm 0 fm World initStep + 1 2.62 um -3.96 cm 1.45 cm 1.76 MeV 2.05 keV 161 um 161 um World eIoni + 2 5.28 um -4.17 cm 1.45 cm 22 MeV 71.7 eV 2.03 mm 2.19 mm World eIoni + 3 6.09 um -4.4 cm 1.45 cm 45.3 MeV 317 eV 2.33 mm 4.52 mm World eIoni + 4 11.8 um -20 cm 1.46 cm 1.61 GeV 29.8 keV 15.6 cm 16.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.09 um -4.4 cm 1.45 cm 69.6 keV 0 eV 0 fm 0 fm World initStep + 1 4 um -4.62 cm 1.44 cm 22.1 MeV 593 eV 2.19 mm 2.19 mm World eIoni + 2 2.52 um -10.4 cm 1.43 cm 601 MeV 10.5 keV 5.79 cm 6.01 cm World eIoni + 3 2.51 um -12.4 cm 1.43 cm 800 MeV 3.71 keV 1.99 cm 7.99 cm World eIoni + 4 495 nm -17.6 cm 1.43 cm 1.32 GeV 10.9 keV 5.23 cm 13.2 cm World eIoni + 5 -863 nm -20 cm 1.43 cm 1.56 GeV 3.63 keV 2.38 cm 15.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 495 nm -17.6 cm 1.43 cm 1.73 keV 0 eV 0 fm 0 fm World initStep + 1 9.07 um -17.6 cm 1.43 cm 1.37 MeV 1.73 keV 125 um 125 um World eIoni + 2 29.9 um -20 cm 1.43 cm 238 MeV 2.85 keV 2.37 cm 2.38 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.51 um -12.4 cm 1.43 cm 1.88 keV 0 eV 0 fm 0 fm World initStep + 1 11 um -12.4 cm 1.43 cm 1.55 MeV 1.88 keV 141 um 141 um World eIoni + 2 34.7 um -20 cm 1.43 cm 761 MeV 8.55 keV 7.6 cm 7.61 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.52 um -10.4 cm 1.43 cm 2.39 keV 0 eV 0 fm 0 fm World initStep + 1 1.54 um -10.4 cm 1.43 cm 2.23 MeV 2.39 keV 205 um 205 um World eIoni + 2 404 nm -10.9 cm 1.43 cm 48.8 MeV 477 eV 4.66 mm 4.86 mm World eIoni + 3 -604 nm -16.1 cm 1.43 cm 570 MeV 8.35 keV 5.21 cm 5.7 cm World eIoni + 4 -1.03 um -20 cm 1.42 cm 960 MeV 10.6 keV 3.9 cm 9.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -604 nm -16.1 cm 1.43 cm 1.19 keV 0 eV 0 fm 0 fm World initStep + 1 75.7 nm -16.1 cm 1.43 cm 802 keV 1.19 keV 73 um 73 um World eIoni + 2 2.49 um -20 cm 1.43 cm 390 MeV 5.19 keV 3.89 cm 3.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.29 cm 1.37 cm 379 MeV 7.42 keV 3.76 cm 3.76 cm World eIoni + 2 7.01 um -20 cm 2.22 cm 2.05 GeV 37.1 keV 16.7 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.29 cm 1.37 cm 2.47 keV 0 eV 0 fm 0 fm World initStep + 1 -10.6 um -3.31 cm 1.37 cm 2.35 MeV 2.47 keV 216 um 216 um World eIoni + 2 -23.3 um -3.89 cm 1.37 cm 60 MeV 1.85 keV 5.76 mm 5.98 mm World eIoni + 3 -37 um -20 cm 1.37 cm 1.67 GeV 27.8 keV 16.1 cm 16.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.52 cm 1.86 cm 1 GeV 15.5 keV 10 cm 10 cm World eIoni + 2 16.5 um -20 cm 2.22 cm 2.05 GeV 17.6 keV 10.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.52 cm 1.86 cm 75.3 keV 0 eV 0 fm 0 fm World initStep + 1 -182 um -11.4 cm 1.85 cm 194 MeV 6.55 keV 1.93 cm 1.93 cm World eIoni + 2 -194 um -12.8 cm 1.85 cm 326 MeV 4.27 keV 1.32 cm 3.25 cm World eIoni + 3 -218 um -20 cm 1.84 cm 1.05 GeV 17.2 keV 7.24 cm 10.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -194 um -12.8 cm 1.85 cm 1.26 keV 0 eV 0 fm 0 fm World initStep + 1 -198 um -12.8 cm 1.85 cm 868 keV 1.26 keV 79 um 79 um World eIoni + 2 -213 um -20 cm 1.84 cm 724 MeV 9.69 keV 7.23 cm 7.24 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -287 um 1.69 mm 52.9 MeV 261 eV 1.73 mm 1.73 mm World eIoni + 2 9.14 um -15.6 cm 2.1 cm 1.61 GeV 27.1 keV 16 cm 16.1 cm World eIoni + 3 9.65 um -20 cm 2.22 cm 2.05 GeV 5.78 keV 4.37 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.14 um -15.6 cm 2.1 cm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 9.58 um -15.6 cm 2.1 cm 648 keV 1.01 keV 58.9 um 58.9 um World eIoni + 2 11.4 um -20 cm 2.1 cm 436 MeV 5.53 keV 4.36 cm 4.36 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -287 um 1.69 mm 1.32 keV 0 eV 0 fm 0 fm World initStep + 1 -4.57 um -368 um 1.7 mm 1.01 MeV 1.32 keV 84.2 um 84.2 um World eIoni + 2 -18.9 um -4.78 cm 1.7 mm 475 MeV 7.14 keV 4.74 cm 4.75 cm World eIoni + 3 -17 um -20 cm 1.7 mm 2 GeV 28.1 keV 15.2 cm 20 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -18.9 um -4.78 cm 1.7 mm 2.12 keV 0 eV 0 fm 0 fm World initStep + 1 -27.8 um -4.79 cm 1.71 mm 1.86 MeV 2.12 keV 170 um 170 um World eIoni + 2 -47 um -7.77 cm 1.72 mm 299 MeV 4.15 keV 2.98 cm 2.99 cm World eIoni + 3 -51 um -11.9 cm 1.72 mm 708 MeV 6.98 keV 4.09 cm 7.08 cm World eIoni + 4 -52.3 um -13.7 cm 1.72 mm 897 MeV 6.28 keV 1.89 cm 8.97 cm World eIoni + 5 -50.7 um -20 cm 1.71 mm 1.52 GeV 14.6 keV 6.25 cm 15.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52.3 um -13.7 cm 1.72 mm 7.65 keV 0 eV 0 fm 0 fm World initStep + 1 -98.6 um -13.9 cm 1.72 mm 14.7 MeV 5.59 keV 1.39 mm 1.39 mm World eIoni + 2 -109 um -14.2 cm 1.72 mm 50.2 MeV 705 eV 3.55 mm 4.94 mm World eIoni + 3 -124 um -16.3 cm 1.73 mm 259 MeV 1.77 keV 2.09 cm 2.58 cm World eIoni + 4 -125 um -17.1 cm 1.73 mm 333 MeV 1.1 keV 7.42 mm 3.32 cm World eIoni + 5 -124 um -20 cm 1.72 mm 626 MeV 5.81 keV 2.93 cm 6.25 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -125 um -17.1 cm 1.73 mm 2.86 keV 0 eV 0 fm 0 fm World initStep + 1 -137 um -17.1 cm 1.73 mm 2.98 MeV 2.86 keV 276 um 276 um World eIoni + 2 -140 um -17.1 cm 1.74 mm 7.38 MeV 36.6 eV 440 um 715 um World eIoni + 3 -156 um -20 cm 1.75 mm 294 MeV 4.28 keV 2.86 cm 2.93 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -124 um -16.3 cm 1.73 mm 5.19 keV 0 eV 0 fm 0 fm World initStep + 1 -145 um -16.4 cm 1.75 mm 8.17 MeV 5.19 keV 767 um 767 um World eIoni + 2 -153 um -16.7 cm 1.76 mm 41.2 MeV 496 eV 3.3 mm 4.07 mm World eIoni + 3 -162 um -18.8 cm 1.77 mm 247 MeV 3.98 keV 2.06 cm 2.47 cm World eIoni + 4 -166 um -20 cm 1.77 mm 368 MeV 2.71 keV 1.21 cm 3.68 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -162 um -18.8 cm 1.77 mm 3.58 keV 0 eV 0 fm 0 fm World initStep + 1 -149 um -18.8 cm 1.75 mm 4.31 MeV 3.58 keV 401 um 401 um World eIoni + 2 -146 um -18.9 cm 1.75 mm 8.27 MeV 40.3 eV 396 um 797 um World eIoni + 3 -137 um -19.6 cm 1.74 mm 82.5 MeV 1.35 keV 7.43 mm 8.22 mm World eIoni + 4 -137 um -20 cm 1.74 mm 121 MeV 262 eV 3.9 mm 1.21 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -137 um -19.6 cm 1.74 mm 2.17 keV 0 eV 0 fm 0 fm World initStep + 1 -126 um -19.6 cm 1.74 mm 1.93 MeV 2.17 keV 177 um 177 um World eIoni + 2 -113 um -20 cm 1.74 mm 39.2 MeV 439 eV 3.72 mm 3.9 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -51 um -11.9 cm 1.72 mm 3.59 keV 0 eV 0 fm 0 fm World initStep + 1 -47.9 um -11.9 cm 1.74 mm 4.35 MeV 3.59 keV 405 um 405 um World eIoni + 2 -46.3 um -12.1 cm 1.75 mm 25.1 MeV 457 eV 2.07 mm 2.48 mm World eIoni + 3 -42.9 um -18.9 cm 1.77 mm 702 MeV 14.1 keV 6.76 cm 7.01 cm World eIoni + 4 -42.4 um -20 cm 1.77 mm 815 MeV 2.77 keV 1.13 cm 8.14 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.9 um -18.9 cm 1.77 mm 1.22 keV 0 eV 0 fm 0 fm World initStep + 1 -48.7 um -18.9 cm 1.77 mm 831 keV 1.22 keV 75.6 um 75.6 um World eIoni + 2 -63.9 um -20 cm 1.77 mm 113 MeV 1.2 keV 1.12 cm 1.13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -47 um -7.77 cm 1.72 mm 1.24 keV 0 eV 0 fm 0 fm World initStep + 1 -45.6 um -7.78 cm 1.73 mm 852 keV 1.24 keV 77.5 um 77.5 um World eIoni + 2 -40.1 um -20 cm 1.75 mm 1.22 GeV 16.8 keV 12.2 cm 12.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -13.5 cm 2.03 cm 1.4 GeV 27.6 keV 14 cm 14 cm World eIoni + 2 -334 nm -16.7 cm 2.13 cm 1.72 GeV 7.86 keV 3.23 cm 17.2 cm World eIoni + 3 -306 nm -19 cm 2.19 cm 1.95 GeV 5.97 keV 2.28 cm 19.5 cm World eIoni + 4 -361 nm -19.4 cm 2.21 cm 1.99 GeV 706 eV 4.86 mm 19.9 cm World eIoni + 5 -421 nm -20 cm 2.22 cm 2.05 GeV 452 eV 5.54 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -361 nm -19.4 cm 2.21 cm 1.52 keV 0 eV 0 fm 0 fm World initStep + 1 -397 nm -19.5 cm 2.21 cm 1.13 MeV 1.52 keV 103 um 103 um World eIoni + 2 -465 nm -20 cm 2.2 cm 55.5 MeV 1.01 keV 5.44 mm 5.54 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -306 nm -19 cm 2.19 cm 1.8 keV 0 eV 0 fm 0 fm World initStep + 1 4.8 um -19 cm 2.19 cm 1.45 MeV 1.8 keV 133 um 133 um World eIoni + 2 14.3 um -20 cm 2.19 cm 104 MeV 1.51 keV 1.03 cm 1.04 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -334 nm -16.7 cm 2.13 cm 2.06 keV 0 eV 0 fm 0 fm World initStep + 1 -4.52 um -16.7 cm 2.13 cm 1.78 MeV 2.06 keV 163 um 163 um World eIoni + 2 -13.8 um -20 cm 2.13 cm 332 MeV 5.64 keV 3.3 cm 3.32 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -13.5 cm 2.03 cm 1.5 keV 0 eV 0 fm 0 fm World initStep + 1 3 um -13.5 cm 2.03 cm 1.1 MeV 1.5 keV 101 um 101 um World eIoni + 2 12.8 um -20 cm 2.02 cm 654 MeV 9.17 keV 6.53 cm 6.54 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 35.1 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.2 mm 4.56 mm 72 MeV 897 eV 5.21 mm 5.21 mm World eIoni + 2 -14.4 um -3.56 cm 1.4 cm 406 MeV 6.08 keV 3.51 cm 4.04 cm World eIoni + 3 -25.8 um -11 cm 1.93 cm 1.15 GeV 17.1 keV 7.47 cm 11.5 cm World eIoni + 4 -26.8 um -14 cm 2.04 cm 1.45 GeV 5.64 keV 3.03 cm 14.5 cm World eIoni + 5 -27.1 um -14.8 cm 2.07 cm 1.53 GeV 1.21 keV 7.61 mm 15.3 cm World eIoni + 6 -29.2 um -20 cm 2.22 cm 2.05 GeV 12.6 keV 5.21 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27.1 um -14.8 cm 2.07 cm 1.56 keV 0 eV 0 fm 0 fm World initStep + 1 -24.4 um -14.8 cm 2.07 cm 1.18 MeV 1.56 keV 108 um 108 um World eIoni + 2 -16.2 um -20 cm 2.07 cm 521 MeV 7.09 keV 5.2 cm 5.21 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -26.8 um -14 cm 2.04 cm 1.03 keV 0 eV 0 fm 0 fm World initStep + 1 -24.9 um -14 cm 2.04 cm 661 keV 1.03 keV 60.2 um 60.2 um World eIoni + 2 -16.7 um -20 cm 2.04 cm 597 MeV 9.26 keV 5.96 cm 5.97 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -25.8 um -11 cm 1.93 cm 16.8 keV 0 eV 0 fm 0 fm World initStep + 1 -45.8 um -11.1 cm 1.93 cm 5.17 MeV 1.13 keV 509 um 509 um World eIoni + 2 -64.1 um -12 cm 1.93 cm 99.4 MeV 1.29 keV 9.42 mm 9.93 mm World eIoni + 3 -83.7 um -20 cm 1.94 cm 899 MeV 18.4 keV 8 cm 8.99 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64.1 um -12 cm 1.93 cm 1.16 keV 0 eV 0 fm 0 fm World initStep + 1 -60.1 um -12 cm 1.93 cm 773 keV 1.16 keV 70.3 um 70.3 um World eIoni + 2 -43.7 um -20 cm 1.93 cm 800 MeV 14.3 keV 7.99 cm 8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.4 um -3.56 cm 1.4 cm 1.43 keV 0 eV 0 fm 0 fm World initStep + 1 -8.66 um -3.57 cm 1.4 cm 1.04 MeV 1.43 keV 94.3 um 94.3 um World eIoni + 2 13.3 um -20 cm 1.4 cm 1.64 GeV 25.5 keV 16.4 cm 16.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.2 mm 4.56 mm 12 keV 0 eV 0 fm 0 fm World initStep + 1 46.8 um -4.22 mm 4.6 mm 21.6 MeV 4.41 keV 2.07 mm 2.07 mm World eIoni + 2 47.5 um -4.43 mm 4.6 mm 23.7 MeV 20.4 eV 205 um 2.28 mm World eIoni + 3 68.7 um -20 cm 4.62 mm 1.98 GeV 33.6 keV 19.6 cm 19.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 47.5 um -4.43 mm 4.6 mm 1.38 keV 0 eV 0 fm 0 fm World initStep + 1 52.7 um -4.51 mm 4.61 mm 984 keV 1.38 keV 89.5 um 89.5 um World eIoni + 2 74.1 um -20 cm 4.62 mm 1.96 GeV 25.8 keV 19.5 cm 19.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.45 cm 1.39 cm 395 MeV 7.09 keV 3.93 cm 3.93 cm World eIoni + 2 2.72 um -12.9 cm 2.01 cm 1.34 GeV 19.3 keV 9.49 cm 13.4 cm World eIoni + 3 3.36 um -16.9 cm 2.14 cm 1.74 GeV 8.65 keV 4.01 cm 17.4 cm World eIoni + 4 1.55 um -20 cm 2.22 cm 2.05 GeV 5.84 keV 3.08 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.36 um -16.9 cm 2.14 cm 26.7 keV 0 eV 0 fm 0 fm World initStep + 1 115 um -17.4 cm 2.15 cm 47.1 MeV 3.58 keV 4.56 mm 4.56 mm World eIoni + 2 120 um -17.6 cm 2.15 cm 67.2 MeV 458 eV 2 mm 6.56 mm World eIoni + 3 141 um -20 cm 2.15 cm 310 MeV 4.59 keV 2.43 cm 3.09 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.72 um -12.9 cm 2.01 cm 3.04 keV 0 eV 0 fm 0 fm World initStep + 1 1.97 um -12.9 cm 2.01 cm 3.3 MeV 3.04 keV 306 um 306 um World eIoni + 2 1.62 um -13.1 cm 2.01 cm 14.5 MeV 90.8 eV 1.12 mm 1.43 mm World eIoni + 3 666 nm -20 cm 2.01 cm 709 MeV 11.8 keV 6.94 cm 7.08 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.45 cm 1.39 cm 2.64 keV 0 eV 0 fm 0 fm World initStep + 1 -3.92 um -3.46 cm 1.39 cm 992 keV 433 eV 94.3 um 94.3 um World eIoni + 2 -19.5 um -20 cm 1.39 cm 1.65 GeV 32.9 keV 16.5 cm 16.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.74 mm 5.82 mm 87.4 MeV 1.81 keV 7.2 mm 7.2 mm World eIoni + 2 -19.8 um -6.28 cm 1.66 cm 678 MeV 11 keV 6.05 cm 6.77 cm World eIoni + 3 -21.5 um -8.11 cm 1.79 cm 861 MeV 2.43 keV 1.83 cm 8.6 cm World eIoni + 4 -23.5 um -20 cm 2.22 cm 2.05 GeV 27.5 keV 11.9 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -21.5 um -8.11 cm 1.79 cm 2.39 keV 0 eV 0 fm 0 fm World initStep + 1 -33.4 um -8.13 cm 1.79 cm 2.23 MeV 2.39 keV 205 um 205 um World eIoni + 2 -54.2 um -10 cm 1.79 cm 194 MeV 4.44 keV 1.92 cm 1.94 cm World eIoni + 3 -62.7 um -20 cm 1.79 cm 1.19 GeV 21.3 keV 9.95 cm 11.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -19.8 um -6.28 cm 1.66 cm 2.25 keV 0 eV 0 fm 0 fm World initStep + 1 -25.3 um -6.3 cm 1.67 cm 2.04 MeV 2.25 keV 187 um 187 um World eIoni + 2 -26.1 um -6.31 cm 1.67 cm 3.03 MeV 11.7 eV 99.6 um 286 um World eIoni + 3 -39.7 um -20 cm 1.67 cm 1.37 GeV 21.2 keV 13.7 cm 13.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.74 mm 5.82 mm 37.6 keV 0 eV 0 fm 0 fm World initStep + 1 86.6 um -9.89 mm 5.71 mm 63.8 MeV 5.73 keV 6.19 mm 6.19 mm World eIoni + 2 116 um -13.9 cm 5.67 mm 1.36 GeV 26.7 keV 12.9 cm 13.6 cm World eIoni + 3 119 um -20 cm 5.67 mm 1.96 GeV 9.73 keV 6.06 cm 19.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 116 um -13.9 cm 5.67 mm 4.61 keV 0 eV 0 fm 0 fm World initStep + 1 112 um -14 cm 5.65 mm 6.66 MeV 4.61 keV 624 um 624 um World eIoni + 2 112 um -14.1 cm 5.64 mm 19.5 MeV 98.5 eV 1.28 mm 1.91 mm World eIoni + 3 110 um -15.2 cm 5.63 mm 129 MeV 2.18 keV 1.1 cm 1.29 cm World eIoni + 4 101 um -20 cm 5.61 mm 607 MeV 11.9 keV 4.78 cm 6.06 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 110 um -15.2 cm 5.63 mm 2.17 keV 0 eV 0 fm 0 fm World initStep + 1 121 um -15.2 cm 5.63 mm 1.92 MeV 2.17 keV 176 um 176 um World eIoni + 2 129 um -15.4 cm 5.63 mm 13.3 MeV 26.9 eV 1.14 mm 1.31 mm World eIoni + 3 148 um -20 cm 5.65 mm 478 MeV 6.16 keV 4.64 cm 4.78 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 129 um -15.4 cm 5.63 mm 3.14 keV 0 eV 0 fm 0 fm World initStep + 1 127 um -15.4 cm 5.61 mm 3.47 MeV 3.14 keV 322 um 322 um World eIoni + 2 125 um -17.1 cm 5.59 mm 177 MeV 3.26 keV 1.74 cm 1.77 cm World eIoni + 3 125 um -18.5 cm 5.58 mm 310 MeV 1.8 keV 1.33 cm 3.1 cm World eIoni + 4 126 um -20 cm 5.58 mm 465 MeV 1.71 keV 1.55 cm 4.65 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 125 um -18.5 cm 5.58 mm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 120 um -18.5 cm 5.58 mm 642 keV 1.01 keV 58.4 um 58.4 um World eIoni + 2 105 um -20 cm 5.58 mm 155 MeV 1.64 keV 1.54 cm 1.55 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.06 cm 1.17 cm 256 MeV 2.5 keV 2.52 cm 2.52 cm World eIoni + 2 -316 nm -5.82 cm 1.63 cm 632 MeV 6.43 keV 3.79 cm 6.3 cm World eIoni + 3 -4.75 um -20 cm 2.22 cm 2.05 GeV 35.3 keV 14.2 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -316 nm -5.82 cm 1.63 cm 1.15 keV 0 eV 0 fm 0 fm World initStep + 1 5.12 um -5.83 cm 1.63 cm 762 keV 1.15 keV 69.3 um 69.3 um World eIoni + 2 22.5 um -7.47 cm 1.63 cm 166 MeV 2.17 keV 1.65 cm 1.65 cm World eIoni + 3 16.5 um -20 cm 1.63 cm 1.42 GeV 25.8 keV 12.5 cm 14.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.5 um -7.47 cm 1.63 cm 4.28 keV 0 eV 0 fm 0 fm World initStep + 1 39.3 um -7.5 cm 1.63 cm 2.76 MeV 1.12 keV 261 um 261 um World eIoni + 2 75.3 um -16.5 cm 1.63 cm 902 MeV 11.4 keV 9 cm 9.02 cm World eIoni + 3 78 um -20 cm 1.63 cm 1.25 GeV 7.33 keV 3.5 cm 12.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 75.3 um -16.5 cm 1.63 cm 1.13 keV 0 eV 0 fm 0 fm World initStep + 1 72 um -16.5 cm 1.63 cm 749 keV 1.13 keV 68.1 um 68.1 um World eIoni + 2 60.1 um -20 cm 1.63 cm 350 MeV 5.23 keV 3.5 cm 3.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.06 cm 1.17 cm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 522 nm -2.07 cm 1.17 cm 686 keV 1.07 keV 62.8 um 62.8 um World eIoni + 2 3.12 um -20 cm 1.16 cm 1.79 GeV 25.4 keV 17.9 cm 17.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -250 um 1.58 mm 52.5 MeV 41.2 eV 1.61 mm 1.61 mm World eIoni + 2 -18.4 um -16.4 cm 2.12 cm 1.69 GeV 36.8 keV 16.8 cm 16.9 cm World eIoni + 3 -19.9 um -20 cm 2.22 cm 2.05 GeV 6.1 keV 3.56 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -18.4 um -16.4 cm 2.12 cm 2.53 keV 0 eV 0 fm 0 fm World initStep + 1 -10.7 um -16.5 cm 2.13 cm 2.44 MeV 2.53 keV 225 um 225 um World eIoni + 2 -8.08 um -16.5 cm 2.13 cm 6.58 MeV 85 eV 414 um 639 um World eIoni + 3 3.89 um -20 cm 2.13 cm 356 MeV 5.37 keV 3.49 cm 3.56 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -250 um 1.58 mm 2.51 keV 0 eV 0 fm 0 fm World initStep + 1 12.5 um -467 um 1.59 mm 2.43 MeV 2.51 keV 222 um 222 um World eIoni + 2 20 um -1.59 mm 1.59 mm 13.7 MeV 787 eV 1.13 mm 1.35 mm World eIoni + 3 37.6 um -5.92 cm 1.59 mm 590 MeV 9.68 keV 5.76 cm 5.89 cm World eIoni + 4 39 um -13.8 cm 1.59 mm 1.38 GeV 18.3 keV 7.86 cm 13.8 cm World eIoni + 5 40.1 um -17.6 cm 1.59 mm 1.76 GeV 7.01 keV 3.8 cm 17.6 cm World eIoni + 6 40.6 um -20 cm 1.59 mm 2 GeV 5.61 keV 2.42 cm 20 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 40.1 um -17.6 cm 1.59 mm 2.15 keV 0 eV 0 fm 0 fm World initStep + 1 39.1 um -17.6 cm 1.6 mm 1.9 MeV 2.15 keV 174 um 174 um World eIoni + 2 37.7 um -18.3 cm 1.62 mm 68.3 MeV 1.25 keV 6.64 mm 6.82 mm World eIoni + 3 37.2 um -20 cm 1.62 mm 242 MeV 3.93 keV 1.74 cm 2.42 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 39 um -13.8 cm 1.59 mm 1.48 keV 0 eV 0 fm 0 fm World initStep + 1 33.1 um -13.8 cm 1.59 mm 1.09 MeV 1.48 keV 99.3 um 99.3 um World eIoni + 2 14.1 um -20 cm 1.57 mm 622 MeV 8.42 keV 6.21 cm 6.22 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.6 um -5.92 cm 1.59 mm 1.03 keV 0 eV 0 fm 0 fm World initStep + 1 42.4 um -5.92 cm 1.59 mm 658 keV 1.03 keV 59.9 um 59.9 um World eIoni + 2 65.3 um -20 cm 1.6 mm 1.41 GeV 18.5 keV 14.1 cm 14.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -19 cm 2.19 cm 1.95 GeV 39.2 keV 19.5 cm 19.5 cm World eIoni + 2 130 nm -20 cm 2.22 cm 2.05 GeV 2.73 keV 1.04 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -19 cm 2.19 cm 991 eV 0 eV 0 fm 0 fm World initStep + 1 -3.65 um -19 cm 2.19 cm 627 keV 991 eV 57.1 um 57.1 um World eIoni + 2 -14.7 um -20 cm 2.19 cm 104 MeV 364 eV 1.03 cm 1.04 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -17.8 cm 2.16 cm 1.83 GeV 33.8 keV 18.3 cm 18.3 cm World eIoni + 2 415 nm -20 cm 2.22 cm 2.05 GeV 4.36 keV 2.19 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -17.8 cm 2.16 cm 1.53 keV 0 eV 0 fm 0 fm World initStep + 1 -6.94 um -17.8 cm 2.16 cm 1.14 MeV 1.53 keV 104 um 104 um World eIoni + 2 -25.2 um -20 cm 2.16 cm 219 MeV 4.73 keV 2.18 cm 2.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.29 mm 3.53 mm 62.9 MeV 534 eV 3.83 mm 3.83 mm World eIoni + 2 19.8 um -1.58 cm 1.06 cm 208 MeV 3.79 keV 1.64 cm 2.02 cm World eIoni + 3 44 um -12.3 cm 1.98 cm 1.28 GeV 21.1 keV 10.8 cm 12.8 cm World eIoni + 4 48.4 um -20 cm 2.22 cm 2.05 GeV 17.4 keV 7.68 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 44 um -12.3 cm 1.98 cm 1.7 keV 0 eV 0 fm 0 fm World initStep + 1 51.9 um -12.3 cm 1.98 cm 1.33 MeV 1.7 keV 121 um 121 um World eIoni + 2 75.4 um -19.2 cm 1.98 cm 691 MeV 10.8 keV 6.9 cm 6.91 cm World eIoni + 3 75.8 um -20 cm 1.98 cm 768 MeV 1.08 keV 7.7 mm 7.68 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 75.4 um -19.2 cm 1.98 cm 5.51 keV 0 eV 0 fm 0 fm World initStep + 1 69.5 um -19.3 cm 1.98 cm 9.07 MeV 5.51 keV 853 um 853 um World eIoni + 2 68.5 um -19.4 cm 1.98 cm 19.4 MeV 505 eV 1.04 mm 1.89 mm World eIoni + 3 66.6 um -20 cm 1.98 cm 77.7 MeV 1.5 keV 5.82 mm 7.71 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 19.8 um -1.58 cm 1.06 cm 1.63 keV 0 eV 0 fm 0 fm World initStep + 1 21.9 um -1.59 cm 1.06 cm 1.26 MeV 1.63 keV 114 um 114 um World eIoni + 2 27 um -3.95 cm 1.06 cm 237 MeV 2.55 keV 2.36 cm 2.37 cm World eIoni + 3 34 um -20 cm 1.06 cm 1.84 GeV 33.7 keV 16.1 cm 18.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 27 um -3.95 cm 1.06 cm 1.36 keV 0 eV 0 fm 0 fm World initStep + 1 22.9 um -3.95 cm 1.06 cm 970 keV 1.36 keV 88.3 um 88.3 um World eIoni + 2 7.98 um -12 cm 1.06 cm 804 MeV 10.5 keV 8.03 cm 8.04 cm World eIoni + 3 3.73 um -20 cm 1.06 cm 1.61 GeV 19.2 keV 8.02 cm 16.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.98 um -12 cm 1.06 cm 1.63 keV 0 eV 0 fm 0 fm World initStep + 1 15.6 um -12 cm 1.06 cm 1.26 MeV 1.63 keV 114 um 114 um World eIoni + 2 39.1 um -19.1 cm 1.06 cm 711 MeV 9.46 keV 7.1 cm 7.11 cm World eIoni + 3 39.4 um -20 cm 1.06 cm 802 MeV 2.19 keV 9.03 mm 8.02 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 39.1 um -19.1 cm 1.06 cm 13.3 keV 0 eV 0 fm 0 fm World initStep + 1 45.8 um -19.3 cm 1.05 cm 23.5 MeV 6.09 keV 2.25 mm 2.25 mm World eIoni + 2 47.2 um -20 cm 1.05 cm 91.7 MeV 763 eV 6.82 mm 9.07 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.29 mm 3.53 mm 19.8 keV 0 eV 0 fm 0 fm World initStep + 1 -74.8 um -3.13 mm 3.54 mm 19.4 MeV 1.92 keV 1.88 mm 1.88 mm World eIoni + 2 -140 um -20 cm 3.55 mm 1.99 GeV 31.1 keV 19.7 cm 19.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -291 um 1.71 mm 52.9 MeV 79.1 eV 1.74 mm 1.74 mm World eIoni + 2 7.33 um -7.52 cm 1.75 cm 802 MeV 16.3 keV 7.84 cm 8.01 cm World eIoni + 3 11.1 um -20 cm 2.22 cm 2.05 GeV 26.6 keV 12.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.33 um -7.52 cm 1.75 cm 2.59 keV 0 eV 0 fm 0 fm World initStep + 1 2.86 um -7.54 cm 1.75 cm 2.53 MeV 2.59 keV 233 um 233 um World eIoni + 2 -1.48 um -7.89 cm 1.74 cm 37.4 MeV 552 eV 3.49 mm 3.72 mm World eIoni + 3 -3.8 um -8.99 cm 1.74 cm 147 MeV 1.45 keV 1.1 cm 1.47 cm World eIoni + 4 -13.2 um -13.1 cm 1.74 cm 556 MeV 6.8 keV 4.09 cm 5.56 cm World eIoni + 5 -12.2 um -20 cm 1.74 cm 1.25 GeV 15.6 keV 6.92 cm 12.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -13.2 um -13.1 cm 1.74 cm 74 keV 0 eV 0 fm 0 fm World initStep + 1 -79.9 um -15.1 cm 1.76 cm 207 MeV 9.51 keV 2.07 cm 2.07 cm World eIoni + 2 -89.7 um -19.8 cm 1.77 cm 669 MeV 7.51 keV 4.62 cm 6.69 cm World eIoni + 3 -89.9 um -20 cm 1.77 cm 693 MeV 498 eV 2.39 mm 6.93 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.8 um -8.99 cm 1.74 cm 3.38 keV 0 eV 0 fm 0 fm World initStep + 1 12.9 um -9.03 cm 1.74 cm 3.92 MeV 3.38 keV 364 um 364 um World eIoni + 2 26.5 um -9.53 cm 1.74 cm 54.5 MeV 486 eV 5.06 mm 5.42 mm World eIoni + 3 28.2 um -9.74 cm 1.74 cm 75.4 MeV 366 eV 2.09 mm 7.52 mm World eIoni + 4 39.5 um -20 cm 1.74 cm 1.1 GeV 20.2 keV 10.3 cm 11 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 28.2 um -9.74 cm 1.74 cm 1.39 keV 0 eV 0 fm 0 fm World initStep + 1 30.6 um -9.75 cm 1.74 cm 995 keV 1.39 keV 90.5 um 90.5 um World eIoni + 2 39.5 um -20 cm 1.75 cm 1.03 GeV 18.1 keV 10.2 cm 10.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -291 um 1.71 mm 1.13 keV 0 eV 0 fm 0 fm World initStep + 1 -3.57 um -359 um 1.71 mm 740 keV 1.13 keV 68.2 um 68.2 um World eIoni + 2 -20.8 um -20 cm 1.7 mm 2 GeV 23.9 keV 20 cm 20 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.67 cm 1.08 cm 217 MeV 3.22 keV 2.12 cm 2.12 cm World eIoni + 2 2.09 um -5.34 cm 1.59 cm 584 MeV 7.46 keV 3.71 cm 5.83 cm World eIoni + 3 7.11 um -20 cm 2.22 cm 2.05 GeV 34.2 keV 14.7 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.09 um -5.34 cm 1.59 cm 1.36 keV 0 eV 0 fm 0 fm World initStep + 1 -1.26 um -5.35 cm 1.59 cm 964 keV 1.36 keV 87.5 um 87.5 um World eIoni + 2 -14.1 um -20 cm 1.59 cm 1.47 GeV 20.6 keV 14.6 cm 14.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.67 cm 1.08 cm 1.08 keV 0 eV 0 fm 0 fm World initStep + 1 -3.27 um -1.68 cm 1.08 cm 709 keV 1.08 keV 63.9 um 63.9 um World eIoni + 2 -19 um -20 cm 1.08 cm 1.83 GeV 26.7 keV 18.3 cm 18.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -18.2 cm 2.17 cm 1.87 GeV 37.5 keV 18.7 cm 18.7 cm World eIoni + 2 -65 nm -18.5 cm 2.18 cm 1.9 GeV 592 eV 3.16 mm 19 cm World eIoni + 3 -639 nm -20 cm 2.22 cm 2.05 GeV 3.65 keV 1.46 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -65 nm -18.5 cm 2.18 cm 1.65 keV 0 eV 0 fm 0 fm World initStep + 1 7.68 um -18.6 cm 2.18 cm 1.27 MeV 1.65 keV 116 um 116 um World eIoni + 2 24.5 um -20 cm 2.18 cm 146 MeV 2.12 keV 1.45 cm 1.46 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -18.2 cm 2.17 cm 2.98 keV 0 eV 0 fm 0 fm World initStep + 1 5.35 um -18.2 cm 2.18 cm 571 keV 251 eV 56.5 um 56.5 um World eIoni + 2 46 um -20 cm 2.18 cm 177 MeV 2.87 keV 1.77 cm 1.77 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.35 um -18.2 cm 2.18 cm 1.69 keV 0 eV 0 fm 0 fm World initStep + 1 -2.59 um -18.2 cm 2.18 cm 1.31 MeV 1.69 keV 120 um 120 um World eIoni + 2 -21.2 um -20 cm 2.17 cm 177 MeV 2.66 keV 1.76 cm 1.77 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -8.76 cm 1.82 cm 926 MeV 16.6 keV 9.25 cm 9.25 cm World eIoni + 2 -793 nm -11.6 cm 1.96 cm 1.21 GeV 3.67 keV 2.86 cm 12.1 cm World eIoni + 3 -789 nm -12.3 cm 1.98 cm 1.28 GeV 765 eV 6.3 mm 12.7 cm World eIoni + 4 -542 nm -16.9 cm 2.14 cm 1.74 GeV 9.42 keV 4.63 cm 17.4 cm World eIoni + 5 117 nm -20 cm 2.22 cm 2.05 GeV 4.73 keV 3.12 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -542 nm -16.9 cm 2.14 cm 4.48 keV 0 eV 0 fm 0 fm World initStep + 1 -12.5 um -16.9 cm 2.13 cm 6.33 MeV 4.48 keV 592 um 592 um World eIoni + 2 -14.5 um -17 cm 2.13 cm 12.4 MeV 104 eV 604 um 1.2 mm World eIoni + 3 -24.7 um -20 cm 2.13 cm 313 MeV 4.38 keV 3.01 cm 3.12 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -789 nm -12.3 cm 1.98 cm 1.11 keV 0 eV 0 fm 0 fm World initStep + 1 -1.92 um -12.3 cm 1.98 cm 734 keV 1.11 keV 66.7 um 66.7 um World eIoni + 2 -6.62 um -20 cm 1.98 cm 775 MeV 13.3 keV 7.74 cm 7.75 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -793 nm -11.6 cm 1.96 cm 1.24 keV 0 eV 0 fm 0 fm World initStep + 1 -5.84 um -11.6 cm 1.96 cm 849 keV 1.24 keV 77.2 um 77.2 um World eIoni + 2 -25.5 um -20 cm 1.96 cm 838 MeV 14 keV 8.37 cm 8.38 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -8.76 cm 1.82 cm 1.15 keV 0 eV 0 fm 0 fm World initStep + 1 4.71 um -8.77 cm 1.82 cm 770 keV 1.15 keV 70 um 70 um World eIoni + 2 24.8 um -20 cm 1.82 cm 1.12 GeV 15.3 keV 11.2 cm 11.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.8 cm 1.3 cm 330 MeV 6.97 keV 3.27 cm 3.27 cm World eIoni + 2 -600 nm -4.07 cm 1.46 cm 457 MeV 3.08 keV 1.27 cm 4.54 cm World eIoni + 3 -1.29 um -16.1 cm 2.12 cm 1.66 GeV 24.4 keV 12.1 cm 16.6 cm World eIoni + 4 -1.73 um -18.5 cm 2.18 cm 1.9 GeV 5.53 keV 2.33 cm 19 cm World eIoni + 5 -2.36 um -20 cm 2.22 cm 2.05 GeV 3.26 keV 1.55 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.73 um -18.5 cm 2.18 cm 10.5 keV 0 eV 0 fm 0 fm World initStep + 1 25 um -18.6 cm 2.18 cm 19.5 MeV 5.12 keV 1.85 mm 1.85 mm World eIoni + 2 33.3 um -19.7 cm 2.17 cm 122 MeV 1.38 keV 1.03 cm 1.22 cm World eIoni + 3 34.5 um -20 cm 2.17 cm 156 MeV 724 eV 3.34 mm 1.55 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.29 um -16.1 cm 2.12 cm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 3.06 um -16.1 cm 2.12 cm 696 keV 1.07 keV 63.3 um 63.3 um World eIoni + 2 19.7 um -20 cm 2.12 cm 387 MeV 5.51 keV 3.87 cm 3.87 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -600 nm -4.07 cm 1.46 cm 1.31 keV 0 eV 0 fm 0 fm World initStep + 1 -2.84 um -4.07 cm 1.46 cm 913 keV 1.31 keV 83.4 um 83.4 um World eIoni + 2 -12.2 um -20 cm 1.46 cm 1.59 GeV 20.9 keV 15.9 cm 15.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.8 cm 1.3 cm 1.24 keV 0 eV 0 fm 0 fm World initStep + 1 3.04 um -2.81 cm 1.3 cm 844 keV 1.24 keV 77.1 um 77.1 um World eIoni + 2 16.5 um -20 cm 1.29 cm 1.72 GeV 25.7 keV 17.2 cm 17.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -5.17 mm 6.72 mm 102 MeV 1.15 keV 8.88 mm 8.88 mm World eIoni + 2 -578 nm -4.32 cm 1.49 cm 482 MeV 7.13 keV 3.91 cm 4.8 cm World eIoni + 3 -3.96 um -12 cm 1.97 cm 1.25 GeV 16.9 keV 7.68 cm 12.5 cm World eIoni + 4 -7.25 um -20 cm 2.22 cm 2.05 GeV 18.2 keV 8.02 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.96 um -12 cm 1.97 cm 1.34 keV 0 eV 0 fm 0 fm World initStep + 1 1.41 um -12 cm 1.97 cm 945 keV 1.34 keV 86 um 86 um World eIoni + 2 20.8 um -20 cm 1.97 cm 802 MeV 11 keV 8.01 cm 8.01 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -578 nm -4.32 cm 1.49 cm 2.01 keV 0 eV 0 fm 0 fm World initStep + 1 6.56 um -4.34 cm 1.49 cm 1.71 MeV 2.01 keV 157 um 157 um World eIoni + 2 13.6 um -4.51 cm 1.49 cm 19.1 MeV 681 eV 1.74 mm 1.9 mm World eIoni + 3 34.8 um -13.7 cm 1.48 cm 934 MeV 17.2 keV 9.15 cm 9.34 cm World eIoni + 4 39.3 um -20 cm 1.48 cm 1.57 GeV 14.4 keV 6.34 cm 15.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 34.8 um -13.7 cm 1.48 cm 1.18 keV 0 eV 0 fm 0 fm World initStep + 1 29.9 um -13.7 cm 1.48 cm 792 keV 1.18 keV 72 um 72 um World eIoni + 2 10.5 um -20 cm 1.48 cm 634 MeV 7.9 keV 6.33 cm 6.34 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.6 um -4.51 cm 1.49 cm 2.42 keV 0 eV 0 fm 0 fm World initStep + 1 7.83 um -4.53 cm 1.49 cm 2.27 MeV 2.42 keV 209 um 209 um World eIoni + 2 -486 nm -5.5 cm 1.49 cm 99.5 MeV 1.35 keV 9.72 mm 9.93 mm World eIoni + 3 -4.31 um -9.78 cm 1.49 cm 527 MeV 9.23 keV 4.27 cm 5.27 cm World eIoni + 4 -4.46 um -10.2 cm 1.49 cm 565 MeV 371 eV 3.8 mm 5.65 cm World eIoni + 5 -7.29 um -20 cm 1.49 cm 1.55 GeV 22.3 keV 9.84 cm 15.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.46 um -10.2 cm 1.49 cm 1.45 keV 0 eV 0 fm 0 fm World initStep + 1 -3.15 um -10.2 cm 1.49 cm 1.06 MeV 1.45 keV 96.1 um 96.1 um World eIoni + 2 1.54 um -20 cm 1.49 cm 984 MeV 14.7 keV 9.83 cm 9.84 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.31 um -9.78 cm 1.49 cm 1.83 keV 0 eV 0 fm 0 fm World initStep + 1 -4.54 um -9.79 cm 1.49 cm 1.48 MeV 1.83 keV 135 um 135 um World eIoni + 2 -5.14 um -14.5 cm 1.49 cm 476 MeV 5.29 keV 4.74 cm 4.76 cm World eIoni + 3 -3.43 um -15.9 cm 1.49 cm 616 MeV 1.81 keV 1.41 cm 6.16 cm World eIoni + 4 -3.25 um -16.3 cm 1.49 cm 650 MeV 272 eV 3.4 mm 6.5 cm World eIoni + 5 -550 nm -18.7 cm 1.49 cm 890 MeV 5.17 keV 2.4 cm 8.9 cm World eIoni + 6 1.21 um -20 cm 1.49 cm 1.02 GeV 1.41 keV 1.32 cm 10.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -550 nm -18.7 cm 1.49 cm 5.75 keV 0 eV 0 fm 0 fm World initStep + 1 -17.5 um -18.7 cm 1.49 cm 3.44 MeV 1.29 keV 328 um 328 um World eIoni + 2 -38.6 um -20 cm 1.48 cm 132 MeV 2.11 keV 1.29 cm 1.32 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.25 um -16.3 cm 1.49 cm 2.62 keV 0 eV 0 fm 0 fm World initStep + 1 -16.6 um -16.3 cm 1.49 cm 2.48 MeV 2.62 keV 228 um 228 um World eIoni + 2 -41.5 um -20 cm 1.49 cm 372 MeV 4.14 keV 3.7 cm 3.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.43 um -15.9 cm 1.49 cm 2.32 keV 0 eV 0 fm 0 fm World initStep + 1 4.27 um -16 cm 1.49 cm 2.13 MeV 2.32 keV 196 um 196 um World eIoni + 2 17.8 um -17.6 cm 1.49 cm 171 MeV 2.28 keV 1.69 cm 1.71 cm World eIoni + 3 20.6 um -20 cm 1.49 cm 406 MeV 5.5 keV 2.35 cm 4.06 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.14 um -14.5 cm 1.49 cm 5.19 keV 0 eV 0 fm 0 fm World initStep + 1 -26.3 um -14.6 cm 1.49 cm 4.35 MeV 1.87 keV 412 um 412 um World eIoni + 2 -58.2 um -20 cm 1.49 cm 547 MeV 9.15 keV 5.43 cm 5.47 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -5.17 mm 6.72 mm 1.55 keV 0 eV 0 fm 0 fm World initStep + 1 663 nm -5.27 mm 6.71 mm 1.15 MeV 1.55 keV 106 um 106 um World eIoni + 2 2.96 um -9.18 cm 6.69 mm 866 MeV 8.04 keV 8.65 cm 8.66 cm World eIoni + 3 2.88 um -9.45 cm 6.69 mm 893 MeV 1.13 keV 2.71 mm 8.93 cm World eIoni + 4 3.14 um -16.3 cm 6.69 mm 1.58 GeV 17.2 keV 6.89 cm 15.8 cm World eIoni + 5 3.85 um -20 cm 6.69 mm 1.95 GeV 7.86 keV 3.66 cm 19.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.14 um -16.3 cm 6.69 mm 1.24 keV 0 eV 0 fm 0 fm World initStep + 1 -2.79 um -16.3 cm 6.69 mm 849 keV 1.24 keV 77.2 um 77.2 um World eIoni + 2 -23 um -20 cm 6.69 mm 366 MeV 5.29 keV 3.65 cm 3.66 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.88 um -9.45 cm 6.69 mm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 -1.75 um -9.45 cm 6.69 mm 672 keV 1.04 keV 61.1 um 61.1 um World eIoni + 2 -22.6 um -20 cm 6.7 mm 1.06 GeV 17.2 keV 10.5 cm 10.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.96 um -9.18 cm 6.69 mm 1.19 keV 0 eV 0 fm 0 fm World initStep + 1 7.77 um -9.18 cm 6.69 mm 797 keV 1.19 keV 72.5 um 72.5 um World eIoni + 2 24.1 um -11.8 cm 6.68 mm 265 MeV 4.26 keV 2.64 cm 2.65 cm WorldTransportation + 3 24.1 um -11.8 cm 6.68 mm 265 MeV8.38e-13 eV 0.00405 fm 2.65 cm World eIoni + 4 29 um -14.5 cm 6.68 mm 535 MeV 6.7 keV 2.7 cm 5.35 cm World eIoni + 5 31.7 um -20 cm 6.68 mm 1.08 GeV 10.9 keV 5.47 cm 10.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29 um -14.5 cm 6.68 mm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 33.6 um -14.5 cm 6.68 mm 697 keV 1.07 keV 63.4 um 63.4 um World eIoni + 2 52.3 um -20 cm 6.67 mm 547 MeV 6.33 keV 5.47 cm 5.47 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.1 um -11.8 cm 6.68 mm 3.99 keV 0 eV 0 fm 0 fm World initStep + 1 10.3 um -11.9 cm 6.66 mm 5.2 MeV 3.99 keV 485 um 485 um World eIoni + 2 108 nm -12.5 cm 6.65 mm 73 MeV 1.59 keV 6.78 mm 7.27 mm World eIoni + 3 -16.1 um -20 cm 6.63 mm 818 MeV 15.2 keV 7.45 cm 8.18 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 108 nm -12.5 cm 6.65 mm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 3.94 um -12.6 cm 6.65 mm 675 keV 1.05 keV 61.4 um 61.4 um World eIoni + 2 20.4 um -20 cm 6.66 mm 745 MeV 11.9 keV 7.44 cm 7.45 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.34 cm 1.22 cm 284 MeV 4.79 keV 2.8 cm 2.8 cm World eIoni + 2 6.32 um -8.46 cm 1.8 cm 896 MeV 14.9 keV 6.15 cm 8.95 cm World eIoni + 3 14.2 um -18.3 cm 2.18 cm 1.88 GeV 20.2 keV 9.85 cm 18.8 cm World eIoni + 4 14.8 um -20 cm 2.22 cm 2.05 GeV 2.35 keV 1.7 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.2 um -18.3 cm 2.18 cm 1.03 keV 0 eV 0 fm 0 fm World initStep + 1 19.1 um -18.3 cm 2.18 cm 664 keV 1.03 keV 60.4 um 60.4 um World eIoni + 2 35.6 um -20 cm 2.18 cm 170 MeV 2.45 keV 1.7 cm 1.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.32 um -8.46 cm 1.8 cm 2.61 keV 0 eV 0 fm 0 fm World initStep + 1 -7.3 um -8.48 cm 1.8 cm 2.57 MeV 2.61 keV 237 um 237 um World eIoni + 2 -18.5 um -8.72 cm 1.8 cm 26.3 MeV 497 eV 2.38 mm 2.61 mm World eIoni + 3 -31.3 um -11.3 cm 1.8 cm 289 MeV 4.74 keV 2.63 cm 2.89 cm World eIoni + 4 -42.5 um -20 cm 1.8 cm 1.15 GeV 17 keV 8.65 cm 11.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -31.3 um -11.3 cm 1.8 cm 1.53 keV 0 eV 0 fm 0 fm World initStep + 1 -24.6 um -11.4 cm 1.8 cm 1.15 MeV 1.53 keV 104 um 104 um World eIoni + 2 -7.75 um -12.9 cm 1.8 cm 156 MeV 2.72 keV 1.55 cm 1.56 cm World eIoni + 3 -9.79 um -13.9 cm 1.8 cm 255 MeV 2.16 keV 9.83 mm 2.55 cm World eIoni + 4 -10.7 um -16.3 cm 1.8 cm 493 MeV 6.46 keV 2.38 cm 4.93 cm World eIoni + 5 -10.7 um -16.3 cm 1.8 cm 499 MeV 164 eV 665 um 4.99 cm World eIoni + 6 -14.1 um -20 cm 1.8 cm 865 MeV 7.3 keV 3.66 cm 8.65 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.7 um -16.3 cm 1.8 cm 1.66 keV 0 eV 0 fm 0 fm World initStep + 1 -2.88 um -16.3 cm 1.8 cm 1.28 MeV 1.66 keV 117 um 117 um World eIoni + 2 18.4 um -20 cm 1.81 cm 366 MeV 9.47 keV 3.65 cm 3.66 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.7 um -16.3 cm 1.8 cm 1.06 keV 0 eV 0 fm 0 fm World initStep + 1 -7.75 um -16.3 cm 1.81 cm 681 keV 1.06 keV 62 um 62 um World eIoni + 2 3.52 um -20 cm 1.81 cm 373 MeV 5.41 keV 3.72 cm 3.73 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.79 um -13.9 cm 1.8 cm 1.13 keV 0 eV 0 fm 0 fm World initStep + 1 -14.3 um -13.9 cm 1.8 cm 750 keV 1.13 keV 68.2 um 68.2 um World eIoni + 2 -32.3 um -20 cm 1.81 cm 611 MeV 9.34 keV 6.1 cm 6.11 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.75 um -12.9 cm 1.8 cm 11.5 keV 0 eV 0 fm 0 fm World initStep + 1 36.8 um -13.1 cm 1.8 cm 19.6 MeV 7.39 keV 1.87 mm 1.87 mm World eIoni + 2 47.3 um -13.7 cm 1.8 cm 77.2 MeV 882 eV 5.76 mm 7.63 mm World eIoni + 3 77.2 um -20 cm 1.79 cm 710 MeV 12 keV 6.33 cm 7.09 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 47.3 um -13.7 cm 1.8 cm 16.5 keV 0 eV 0 fm 0 fm World initStep + 1 11.9 um -13.9 cm 1.81 cm 28.3 MeV 2.34 keV 2.71 mm 2.71 mm World eIoni + 2 10.4 um -14 cm 1.81 cm 37.5 MeV 34.2 eV 928 um 3.64 mm World eIoni + 3 1.53 um -15.6 cm 1.81 cm 199 MeV 3.13 keV 1.61 cm 1.98 cm World eIoni + 4 -1.03 um -20 cm 1.81 cm 635 MeV 7.41 keV 4.36 cm 6.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.53 um -15.6 cm 1.81 cm 1.47 keV 0 eV 0 fm 0 fm World initStep + 1 -4.26 um -15.7 cm 1.81 cm 1.08 MeV 1.47 keV 98.4 um 98.4 um World eIoni + 2 -22.1 um -20 cm 1.81 cm 436 MeV 4.88 keV 4.35 cm 4.36 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.34 cm 1.22 cm 3.16 keV 0 eV 0 fm 0 fm World initStep + 1 -16.2 um -2.37 cm 1.22 cm 3.51 MeV 3.16 keV 325 um 325 um World eIoni + 2 -25 um -2.53 cm 1.22 cm 19.4 MeV 216 eV 1.59 mm 1.92 mm World eIoni + 3 -42.7 um -5.94 cm 1.22 cm 360 MeV 6.52 keV 3.41 cm 3.6 cm World eIoni + 4 -46.5 um -8.05 cm 1.22 cm 572 MeV 3.93 keV 2.11 cm 5.71 cm World eIoni + 5 -60.1 um -20 cm 1.22 cm 1.77 GeV 23.8 keV 11.9 cm 17.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -46.5 um -8.05 cm 1.22 cm 48 keV 0 eV 0 fm 0 fm World initStep + 1 -14.9 um -9.08 cm 1.24 cm 105 MeV 5.74 keV 1.03 cm 1.03 cm World eIoni + 2 -12.4 um -10.1 cm 1.24 cm 204 MeV 2.74 keV 9.89 mm 2.02 cm World eIoni + 3 -11.1 um -10.9 cm 1.24 cm 291 MeV 2.22 keV 8.7 mm 2.89 cm World eIoni + 4 -11.5 um -19.8 cm 1.24 cm 1.18 GeV 16.9 keV 8.87 cm 11.8 cm World eIoni + 5 -11.5 um -20 cm 1.24 cm 1.2 GeV 411 eV 1.97 mm 12 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11.5 um -19.8 cm 1.24 cm 1.25 keV 0 eV 0 fm 0 fm World initStep + 1 -14.7 um -19.8 cm 1.24 cm 862 keV 1.25 keV 78.4 um 78.4 um World eIoni + 2 -19.8 um -20 cm 1.24 cm 19.8 MeV 1.01 keV 1.9 mm 1.97 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11.1 um -10.9 cm 1.24 cm 2.99 keV 0 eV 0 fm 0 fm World initStep + 1 389 nm -11 cm 1.24 cm 3.19 MeV 2.99 keV 296 um 296 um World eIoni + 2 9.71 um -11.3 cm 1.24 cm 37.2 MeV 624 eV 3.4 mm 3.7 mm World eIoni + 3 21 um -16.2 cm 1.24 cm 526 MeV 11.2 keV 4.89 cm 5.26 cm World eIoni + 4 22.1 um -20 cm 1.24 cm 907 MeV 7.66 keV 3.81 cm 9.07 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 21 um -16.2 cm 1.24 cm 1.41 keV 0 eV 0 fm 0 fm World initStep + 1 24.2 um -16.2 cm 1.23 cm 1.02 MeV 1.41 keV 92.7 um 92.7 um World eIoni + 2 30.4 um -16.6 cm 1.23 cm 44.5 MeV 947 eV 4.36 mm 4.45 mm World eIoni + 3 -1.1 um -20 cm 1.24 cm 381 MeV 6.19 keV 3.36 cm 3.81 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 30.4 um -16.6 cm 1.23 cm 91.4 keV 0 eV 0 fm 0 fm World initStep + 1 157 um -19.6 cm 1.21 cm 294 MeV 13.9 keV 2.94 cm 2.94 cm World eIoni + 2 159 um -20 cm 1.21 cm 338 MeV 564 eV 4.34 mm 3.37 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.7 um -5.94 cm 1.22 cm 1.14 keV 0 eV 0 fm 0 fm World initStep + 1 -38.1 um -5.94 cm 1.22 cm 759 keV 1.14 keV 69 um 69 um World eIoni + 2 -17.5 um -20 cm 1.22 cm 1.41 GeV 19.2 keV 14.1 cm 14.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -8.36 cm 1.8 cm 886 MeV 17.3 keV 8.85 cm 8.85 cm World eIoni + 2 1.13 um -12.2 cm 1.98 cm 1.27 GeV 7.68 keV 3.82 cm 12.7 cm World eIoni + 3 1.4 um -12.6 cm 2 cm 1.31 GeV 932 eV 4.73 mm 13.1 cm World eIoni + 4 1.74 um -13.5 cm 2.03 cm 1.4 GeV 1.72 keV 8.79 mm 14 cm World eIoni + 5 2.57 um -17.2 cm 2.15 cm 1.77 GeV 7.5 keV 3.72 cm 17.7 cm World eIoni + 6 3.59 um -20 cm 2.22 cm 2.05 GeV 5.46 keV 2.76 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.57 um -17.2 cm 2.15 cm 1.66 keV 0 eV 0 fm 0 fm World initStep + 1 -4.45 um -17.3 cm 2.15 cm 1.29 MeV 1.66 keV 117 um 117 um World eIoni + 2 -16.8 um -17.8 cm 2.15 cm 57.3 MeV 802 eV 5.6 mm 5.72 mm World eIoni + 3 -24.9 um -20 cm 2.15 cm 276 MeV 4.62 keV 2.19 cm 2.76 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -16.8 um -17.8 cm 2.15 cm 1.17 keV 0 eV 0 fm 0 fm World initStep + 1 -14.2 um -17.8 cm 2.15 cm 783 keV 1.17 keV 71.2 um 71.2 um World eIoni + 2 -5.56 um -20 cm 2.15 cm 219 MeV 2.53 keV 2.18 cm 2.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.74 um -13.5 cm 2.03 cm 3.54 keV 0 eV 0 fm 0 fm World initStep + 1 7.3 um -13.6 cm 2.03 cm 4.24 MeV 3.54 keV 394 um 394 um World eIoni + 2 10.9 um -13.9 cm 2.03 cm 38.3 MeV 356 eV 3.41 mm 3.81 mm World eIoni + 3 16.1 um -20 cm 2.03 cm 648 MeV 11.7 keV 6.1 cm 6.48 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.4 um -12.6 cm 2 cm 1.96 keV 0 eV 0 fm 0 fm World initStep + 1 5.51 um -12.7 cm 2 cm 1.65 MeV 1.96 keV 151 um 151 um World eIoni + 2 16.5 um -20 cm 2 cm 736 MeV 8.87 keV 7.34 cm 7.35 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.13 um -12.2 cm 1.98 cm 1.56 keV 0 eV 0 fm 0 fm World initStep + 1 -6.47 um -12.2 cm 1.98 cm 1.18 MeV 1.56 keV 107 um 107 um World eIoni + 2 -31.2 um -20 cm 1.98 cm 783 MeV 12.8 keV 7.82 cm 7.83 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -8.36 cm 1.8 cm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 -4.74 um -8.36 cm 1.8 cm 664 keV 1.04 keV 60.4 um 60.4 um World eIoni + 2 -26.4 um -20 cm 1.8 cm 1.16 GeV 20.2 keV 11.6 cm 11.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 35 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.9 cm 1.13 cm 240 MeV 6.7 keV 2.36 cm 2.36 cm World eIoni + 2 -151 nm -7.87 cm 1.77 cm 837 MeV 13.2 keV 6 cm 8.36 cm World eIoni + 3 -52.8 nm -8.1 cm 1.78 cm 860 MeV 858 eV 2.37 mm 8.59 cm World eIoni + 4 8.52 um -20 cm 2.22 cm 2.05 GeV 24.5 keV 11.9 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52.8 nm -8.1 cm 1.78 cm 4.03 keV 0 eV 0 fm 0 fm World initStep + 1 -22.3 um -8.15 cm 1.78 cm 5.29 MeV 4.03 keV 494 um 494 um World eIoni + 2 -31.6 um -8.34 cm 1.78 cm 24.3 MeV 36.9 eV 1.9 mm 2.4 mm World eIoni + 3 -53.3 um -13.7 cm 1.78 cm 556 MeV 9.24 keV 5.32 cm 5.56 cm World eIoni + 4 -57.9 um -16.8 cm 1.78 cm 868 MeV 4.81 keV 3.12 cm 8.68 cm World eIoni + 5 -59.2 um -18.7 cm 1.78 cm 1.06 GeV 2.88 keV 1.95 cm 10.6 cm World eIoni + 6 -59.4 um -19 cm 1.78 cm 1.09 GeV 615 eV 2.2 mm 10.8 cm World eIoni + 7 -60.3 um -20 cm 1.78 cm 1.19 GeV 3.97 keV 1.05 cm 11.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.4 um -19 cm 1.78 cm 6.45 keV 0 eV 0 fm 0 fm World initStep + 1 -59.7 um -19.1 cm 1.78 cm 11.8 MeV 5.48 keV 1.12 mm 1.12 mm World eIoni + 2 -59.7 um -19.1 cm 1.79 cm 19.1 MeV 66.1 eV 724 um 1.84 mm World eIoni + 3 -59.8 um -20 cm 1.79 cm 106 MeV 1.63 keV 8.67 mm 1.05 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.2 um -18.7 cm 1.78 cm 4.55 keV 0 eV 0 fm 0 fm World initStep + 1 -53.1 um -18.7 cm 1.78 cm 227 keV 55.1 eV 23.6 um 23.6 um World eIoni + 2 -16.8 um -20 cm 1.78 cm 127 MeV 2.34 keV 1.27 cm 1.27 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -57.9 um -16.8 cm 1.78 cm 1.65 keV 0 eV 0 fm 0 fm World initStep + 1 -65.5 um -16.8 cm 1.78 cm 1.28 MeV 1.65 keV 117 um 117 um World eIoni + 2 -85.5 um -20 cm 1.78 cm 322 MeV 5.76 keV 3.21 cm 3.22 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -53.3 um -13.7 cm 1.78 cm 3.84 keV 0 eV 0 fm 0 fm World initStep + 1 -40.2 um -13.7 cm 1.78 cm 4.86 MeV 3.84 keV 453 um 453 um World eIoni + 2 -39.5 um -13.7 cm 1.78 cm 5.9 MeV 904 eV 105 um 558 um World eIoni + 3 -21.2 um -20 cm 1.78 cm 634 MeV 10.3 keV 6.29 cm 6.34 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -151 nm -7.87 cm 1.77 cm 1.67 keV 0 eV 0 fm 0 fm World initStep + 1 -7.39 um -7.88 cm 1.77 cm 1.3 MeV 1.67 keV 118 um 118 um World eIoni + 2 -31.5 um -20 cm 1.77 cm 1.21 GeV 15.5 keV 12.1 cm 12.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.9 cm 1.13 cm 1.69 keV 0 eV 0 fm 0 fm World initStep + 1 246 nm -1.92 cm 1.13 cm 1.33 MeV 1.69 keV 121 um 121 um World eIoni + 2 939 nm -7.08 cm 1.14 cm 517 MeV 7.4 keV 5.16 cm 5.17 cm World eIoni + 3 2.19 um -10.8 cm 1.14 cm 887 MeV 8.24 keV 3.69 cm 8.87 cm World eIoni + 4 -1.71 um -20 cm 1.14 cm 1.81 GeV 19.1 keV 9.23 cm 18.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.19 um -10.8 cm 1.14 cm 6.5 keV 0 eV 0 fm 0 fm World initStep + 1 33.6 um -10.8 cm 1.14 cm 8.03 MeV 3.04 keV 761 um 761 um World eIoni + 2 65.5 um -15.4 cm 1.14 cm 461 MeV 5.77 keV 4.53 cm 4.61 cm World eIoni + 3 67.5 um -18.1 cm 1.14 cm 731 MeV 6.06 keV 2.69 cm 7.3 cm World eBrem + 4 68.1 um -20 cm 1.14 cm 923 MeV 4.35 keV 1.93 cm 9.23 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 65.5 um -15.4 cm 1.14 cm 1.18 keV 0 eV 0 fm 0 fm World initStep + 1 71 um -15.4 cm 1.14 cm 790 keV 1.18 keV 71.9 um 71.9 um World eIoni + 2 91.3 um -20 cm 1.14 cm 462 MeV 6.18 keV 4.61 cm 4.62 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 939 nm -7.08 cm 1.14 cm 1.69 keV 0 eV 0 fm 0 fm World initStep + 1 -3.52 um -7.09 cm 1.14 cm 1.32 MeV 1.69 keV 121 um 121 um World eIoni + 2 -8.55 um -7.25 cm 1.14 cm 16.9 MeV 143 eV 1.56 mm 1.68 mm World eIoni + 3 -16.8 um -8.69 cm 1.13 cm 161 MeV 3.75 keV 1.45 cm 1.61 cm World eIoni + 4 -37.1 um -20 cm 1.13 cm 1.29 GeV 27.8 keV 11.3 cm 12.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -16.8 um -8.69 cm 1.13 cm 4.41 keV 0 eV 0 fm 0 fm World initStep + 1 6.41 um -8.75 cm 1.13 cm 6.17 MeV 4.41 keV 577 um 577 um World eIoni + 2 23.1 um -9.64 cm 1.13 cm 95.6 MeV 1.81 keV 8.94 mm 9.52 mm World eIoni + 3 34.5 um -14.6 cm 1.13 cm 592 MeV 8.51 keV 4.96 cm 5.91 cm World eIoni + 4 36.1 um -20 cm 1.13 cm 1.13 GeV 11.1 keV 5.4 cm 11.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 34.5 um -14.6 cm 1.13 cm 1.34 keV 0 eV 0 fm 0 fm World initStep + 1 40.9 um -14.6 cm 1.13 cm 942 keV 1.34 keV 85.7 um 85.7 um World eIoni + 2 62.5 um -18.9 cm 1.13 cm 433 MeV 6.57 keV 4.32 cm 4.33 cm World eIoni + 3 63.7 um -20 cm 1.13 cm 540 MeV 2.18 keV 1.06 cm 5.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 62.5 um -18.9 cm 1.13 cm 1.08 keV 0 eV 0 fm 0 fm World initStep + 1 58.4 um -18.9 cm 1.13 cm 702 keV 1.08 keV 63.9 um 63.9 um World eIoni + 2 46.8 um -20 cm 1.13 cm 107 MeV 2.83 keV 1.06 cm 1.06 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.55 um -7.25 cm 1.14 cm 2.4 keV 0 eV 0 fm 0 fm World initStep + 1 -5.12 um -7.27 cm 1.14 cm 2.25 MeV 2.4 keV 207 um 207 um World eIoni + 2 884 nm -9.19 cm 1.14 cm 194 MeV 1.76 keV 1.92 cm 1.94 cm World eIoni + 3 7.32 um -13.8 cm 1.14 cm 657 MeV 12.8 keV 4.62 cm 6.56 cm World eIoni + 4 8.56 um -18.3 cm 1.14 cm 1.11 GeV 9.39 keV 4.5 cm 11.1 cm World eIoni + 5 9.45 um -20 cm 1.14 cm 1.28 GeV 4.39 keV 1.69 cm 12.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 8.56 um -18.3 cm 1.14 cm 13 keV 0 eV 0 fm 0 fm World initStep + 1 -34.9 um -18.5 cm 1.14 cm 23.1 MeV 5.69 keV 2.21 mm 2.21 mm World eIoni + 2 -39.1 um -18.7 cm 1.15 cm 42.5 MeV 517 eV 1.95 mm 4.15 mm World eIoni + 3 -48.9 um -20 cm 1.15 cm 171 MeV 1.83 keV 1.28 cm 1.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.32 um -13.8 cm 1.14 cm 1.24 keV 0 eV 0 fm 0 fm World initStep + 1 12.2 um -13.8 cm 1.14 cm 852 keV 1.24 keV 77.5 um 77.5 um World eIoni + 2 30.4 um -20 cm 1.14 cm 619 MeV 8.88 keV 6.18 cm 6.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 884 nm -9.19 cm 1.14 cm 1.85 keV 0 eV 0 fm 0 fm World initStep + 1 -7.47 um -9.2 cm 1.14 cm 1.51 MeV 1.85 keV 138 um 138 um World eIoni + 2 -29.7 um -14.1 cm 1.14 cm 496 MeV 5.41 keV 4.94 cm 4.96 cm World eIoni + 3 -34.2 um -18.6 cm 1.14 cm 946 MeV 8.97 keV 4.5 cm 9.46 cm World eIoni + 4 -34.7 um -20 cm 1.14 cm 1.08 GeV 2.55 keV 1.36 cm 10.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -34.2 um -18.6 cm 1.14 cm 1.17 keV 0 eV 0 fm 0 fm World initStep + 1 -38.5 um -18.7 cm 1.14 cm 785 keV 1.17 keV 71.4 um 71.4 um World eIoni + 2 -51 um -20 cm 1.14 cm 136 MeV 4.51 keV 1.35 cm 1.36 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -29.7 um -14.1 cm 1.14 cm 1.31 keV 0 eV 0 fm 0 fm World initStep + 1 -24.2 um -14.2 cm 1.14 cm 915 keV 1.31 keV 83.3 um 83.3 um World eIoni + 2 -4.94 um -20 cm 1.14 cm 586 MeV 9.7 keV 5.85 cm 5.86 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -7.22 cm 1.73 cm 772 MeV 13.7 keV 7.71 cm 7.71 cm World eIoni + 2 2.81 um -20 cm 2.22 cm 2.05 GeV 27.3 keV 12.8 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -7.22 cm 1.73 cm 1.25 keV 0 eV 0 fm 0 fm World initStep + 1 -4.84 um -7.22 cm 1.73 cm 859 keV 1.25 keV 78.1 um 78.1 um World eIoni + 2 -24.6 um -20 cm 1.73 cm 1.28 GeV 21 keV 12.8 cm 12.8 cm OutOfWorldTransportation Run terminated. Run Summary Number of events processed : 100 - User=0.09s Real=0.1s Sys=0s + User=0.07s Real=0.08s Sys=0.01s ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/field/field02/include/F02PhysicsList.hh b/examples/extended/field/field02/include/F02PhysicsList.hh index 43ecba152a..4586e65931 100644 --- a/examples/extended/field/field02/include/F02PhysicsList.hh +++ b/examples/extended/field/field02/include/F02PhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F02PhysicsList.hh,v 1.5 2007/05/23 13:40:14 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: F02PhysicsList.hh,v 1.6 2010/04/08 14:11:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef F02PhysicsList_h @@ -38,8 +38,6 @@ class G4PhotoElectricEffect; class G4ComptonScattering; class G4GammaConversion; -class G4MultipleScattering; - class G4PAIonisation ; class G4ForwardXrayTR ; class G4eIonisation; @@ -104,14 +102,12 @@ class F02PhysicsList: public G4VUserPhysicsList G4ComptonScattering* theComptonScattering; G4GammaConversion* theGammaConversion; - G4MultipleScattering* theeminusMultipleScattering; G4eIonisation* theeminusIonisation; G4eBremsstrahlung* theeminusBremsstrahlung; G4PAIonisation* fPAIonisation ; G4ForwardXrayTR* fForwardXrayTR ; - G4MultipleScattering* theeplusMultipleScattering; G4eIonisation* theeplusIonisation; G4eBremsstrahlung* theeplusBremsstrahlung; G4eplusAnnihilation* theeplusAnnihilation; diff --git a/examples/extended/field/field02/src/F02EventAction.cc b/examples/extended/field/field02/src/F02EventAction.cc index 87dc891682..c481c10382 100644 --- a/examples/extended/field/field02/src/F02EventAction.cc +++ b/examples/extended/field/field02/src/F02EventAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F02EventAction.cc,v 1.6 2006/06/29 17:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: F02EventAction.cc,v 1.7 2010/06/06 04:55:59 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -44,9 +44,6 @@ #include "G4HCofThisEvent.hh" #include "G4VHitsCollection.hh" #include "G4SDManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" #include "G4UnitsTable.hh" #include "Randomize.hh" @@ -90,21 +87,6 @@ void F02EventAction::BeginOfEventAction(const G4Event* evt) void F02EventAction::EndOfEventAction(const G4Event* evt) { - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) - { - 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(50); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(50); - } - } - if(verboselevel>0) G4cout << "<<< Event " << evt->GetEventID() << " ended." << G4endl; diff --git a/examples/extended/field/field02/src/F02PhysicsList.cc b/examples/extended/field/field02/src/F02PhysicsList.cc index 7020717532..1fabee95c2 100644 --- a/examples/extended/field/field02/src/F02PhysicsList.cc +++ b/examples/extended/field/field02/src/F02PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F02PhysicsList.cc,v 1.11 2007/05/23 13:40:28 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: F02PhysicsList.cc,v 1.15 2010/08/16 08:24:39 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4Timer.hh" @@ -34,8 +34,6 @@ #include "F02DetectorConstruction.hh" #include "F02PhysicsListMessenger.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -55,10 +53,9 @@ F02PhysicsList::F02PhysicsList(F02DetectorConstruction* p) : G4VUserPhysicsList(), MaxChargedStep(DBL_MAX), - thePhotoElectricEffect(0), theComptonScattering(0), theGammaConversion(0), - theeminusMultipleScattering(0), theeminusIonisation(0), - theeminusBremsstrahlung(0), - theeplusMultipleScattering(0), theeplusIonisation(0), + thePhotoElectricEffect(0), theComptonScattering(0), + theGammaConversion(0), theeminusIonisation(0), + theeminusBremsstrahlung(0), theeplusIonisation(0), theeplusBremsstrahlung(0), theeplusAnnihilation(0), theeminusStepCut(0), theeplusStepCut(0) { @@ -173,7 +170,9 @@ void F02PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -247,7 +246,7 @@ void F02PhysicsList::ConstructEM() F02StepCut* muonStepCut = new F02StepCut(); G4MuIonisation* themuIonisation = new G4MuIonisation() ; - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + pmanager->AddProcess(new G4MuMultipleScattering(),-1,1,1); pmanager->AddProcess(themuIonisation,-1,2,2); pmanager->AddProcess(new G4MuBremsstrahlung(),-1,-1,3); pmanager->AddProcess(new G4MuPairProduction(),-1,-1,4); @@ -268,8 +267,8 @@ void F02PhysicsList::ConstructEM() F02StepCut* thehadronStepCut = new F02StepCut(); G4hIonisation* thehIonisation = new G4hIonisation() ; - G4MultipleScattering* thehMultipleScattering = - new G4MultipleScattering() ; + G4hMultipleScattering* thehMultipleScattering = + new G4hMultipleScattering() ; pmanager->AddProcess(thehMultipleScattering,-1,1,1); diff --git a/examples/extended/field/field02/vis.mac b/examples/extended/field/field02/vis.mac new file mode 100644 index 0000000000..6a3efcd245 --- /dev/null +++ b/examples/extended/field/field02/vis.mac @@ -0,0 +1,92 @@ +# Macro file for the initialization phase of field02. +# +# It creates the default geometry (simple absorber cylinder ) +# +/tracking/verbose 1 +/run/verbose 1 +# +# +# +/field/setStepperType 4 +/field/setMinStep 10 mm +# +/field/update +# +/run/initialize +# +/run/particle/dumpCutValues +# +/gun/particle e- +/gun/energy 50.0 MeV +# + +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 40. 10. +# +# Specify zoom value: +/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush + +/run/beamOn 1 diff --git a/examples/extended/field/field03/History b/examples/extended/field/field03/History index c5689ca2c7..1d2a8f5bf1 100644 --- a/examples/extended/field/field03/History +++ b/examples/extended/field/field03/History @@ -1,4 +1,4 @@ -$Id: History,v 1.22 2009/11/05 01:16:04 gum Exp $ +$Id: History,v 1.28 2010/08/24 07:42:53 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,26 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +August 16th, 2010 H.Kurashige - fieldex03-V09-03-04 +----------------------------- +- Removed inclusion of G4ParticleWithCuts header. + +June 2nd, 2010 J.Perl - fieldex03-V09-03-03 +--------------------- +- Updated vis usage. + +May 12th, 2010 John Allison - fieldex03-V09-03-02 +--------------------------- +- Introduced G4UIExecutive. + +Apr 8th, 2010 Gabriele Cosmo - fieldex03-V09-03-01 +---------------------------- +- Removed unused pointers to G4MultipleScattering left... + +Mar 25th, 2010 Gabriele Cosmo - fieldex03-V09-03-00 +----------------------------- +- Migrated physics list to use particle-based multiple-scattering processes. + Nov 4th, 2009 Peter Gumplinger - fieldex03-V09-02-00 -------------------------------- - fix the density of STP Carbon Dioxide in DetectorConstruction diff --git a/examples/extended/field/field03/README b/examples/extended/field/field03/README index 0945b52f9d..3e7c9792a5 100644 --- a/examples/extended/field/field03/README +++ b/examples/extended/field/field03/README @@ -1,4 +1,4 @@ -$Id: README,v 1.4 2004/10/27 11:19:13 japost Exp $ +$Id: README,v 1.5 2010/06/06 04:56:36 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -76,5 +76,5 @@ $Id: README,v 1.4 2004/10/27 11:19:13 japost Exp $ - execute field03 in 'interactive' mode with visualization e.g. % $(G4INSTALL)/bin/$(G4SYSTEM)/field03 .... - Idle> type your commands + Idle> /control/execute vis.mac .... diff --git a/examples/extended/field/field03/field03.cc b/examples/extended/field/field03/field03.cc index ed32bcdc50..deb762857a 100644 --- a/examples/extended/field/field03/field03.cc +++ b/examples/extended/field/field03/field03.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: field03.cc,v 1.8 2006/06/29 17:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: field03.cc,v 1.9 2010/05/12 16:41:42 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // -------------------------------------------------------------- @@ -39,13 +39,8 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" #include "Randomize.hh" -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - #include "F03DetectorConstruction.hh" // #include "F03FieldSetup.hh" #include "F03PhysicsList.hh" @@ -55,6 +50,14 @@ #include "F03SteppingAction.hh" #include "F03SteppingVerbose.hh" +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + int main(int argc,char** argv) { @@ -77,15 +80,6 @@ int main(int argc,char** argv) runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new F03PhysicsList(detector)); -#ifdef G4VIS_USE - - // visualization manager - - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); - -#endif - // Set user action classes runManager->SetUserAction(new F03PrimaryGeneratorAction(detector)); @@ -105,23 +99,34 @@ int main(int argc,char** argv) runManager->Initialize(); +#ifdef G4VIS_USE + + // visualization manager + + 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) // Define UI terminal for interactive mode - { - G4UIsession * session = new G4UIterminal; - session->SessionStart(); - delete session; - } - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); - } - + 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); + ui->SessionStart(); + delete ui; +#endif + } + // job termination #ifdef G4VIS_USE diff --git a/examples/extended/field/field03/field03.out b/examples/extended/field/field03/field03.out index 71b1f7241b..f4815e65f2 100644 --- a/examples/extended/field/field03/field03.out +++ b/examples/extended/field/field03/field03.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,45 +13,45 @@ ***** Table : Nb of materials = 11 ***** - Material: Mylar density: 1.390 g/cm3 RadL: 28.743 cm Nucl.Int.Length: 56.337 cm Imean: 75.075 eV + Material: Mylar density: 1.390 g/cm3 RadL: 28.743 cm Nucl.Int.Length: 56.391 cm Imean: 75.967 eV ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 33.30 % ElmAbundance 18.18 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 62.49 % ElmAbundance 45.45 % ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 4.20 % ElmAbundance 36.36 % - Material: Polypropelene density: 910.000 mg/cm3 RadL: 49.214 cm Nucl.Int.Length: 74.351 cm Imean: 56.713 eV + Material: Polypropelene density: 910.000 mg/cm3 RadL: 49.214 cm Nucl.Int.Length: 74.517 cm Imean: 56.518 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 14.40 % ElmAbundance 66.67 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 85.60 % ElmAbundance 33.33 % - Material: Kr density: 3.700 mg/cm3 RadL: 30.736 m Nucl.Int.Length: 413.950 m Imean: 352.800 eV temperature: 273.15 K pressure: 1.00 atm + Material: Kr density: 3.700 mg/cm3 RadL: 30.736 m Nucl.Int.Length: 413.292 m Imean: 352.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Kr ( ) Z = 36.0 N = 83.8 A = 83.80 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Argon density: 1.784 mg/cm3 RadL: 109.604 m Nucl.Int.Length: 670.814 m Imean: 187.200 eV temperature: 273.15 K pressure: 1.00 atm + Material: Argon density: 1.784 mg/cm3 RadL: 109.604 m Nucl.Int.Length: 670.233 m Imean: 188.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Argon (Ar) Z = 18.0 N = 39.9 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: N2 density: 1.251 mg/cm3 RadL: 303.846 m Nucl.Int.Length: 674.714 m Imean: 81.900 eV temperature: 273.15 K pressure: 1.00 atm + Material: N2 density: 1.251 mg/cm3 RadL: 303.846 m Nucl.Int.Length: 675.036 m Imean: 82.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: O2 density: 1.429 mg/cm3 RadL: 239.621 m Nucl.Int.Length: 617.219 m Imean: 95.200 eV temperature: 273.15 K pressure: 1.00 atm + Material: O2 density: 1.429 mg/cm3 RadL: 239.621 m Nucl.Int.Length: 617.219 m Imean: 95.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Air density: 0.000 kg/m3 RadL: 28329263.098 km Nucl.Int.Length: 66178546.991 km Imean: 85.623 eV temperature: 273.15 K pressure: 0.00 atm + Material: Air density: 0.000 kg/m3 RadL: 28329263.098 km Nucl.Int.Length: 66202169.471 km Imean: 85.664 eV temperature: 273.15 K pressure: 0.00 atm ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 75.57 % ElmAbundance 78.48 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 23.15 % ElmAbundance 21.05 % ---> Element: Argon (Ar) Z = 18.0 N = 39.9 A = 39.95 g/mole ElmMassFraction: 1.28 % ElmAbundance 0.47 % - Material: Xenon density: 5.858 mg/cm3 RadL: 14.478 m Nucl.Int.Length: 303.666 m Imean: 480.600 eV temperature: 273.15 K pressure: 1.00 atm + Material: Xenon density: 5.858 mg/cm3 RadL: 14.478 m Nucl.Int.Length: 304.114 m Imean: 482.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Xenon ( ) Z = 54.0 N = 131.3 A = 131.29 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: CO2 density: 1.842 mg/cm3 RadL: 196.501 m Nucl.Int.Length: 466.037 m Imean: 90.164 eV temperature: 273.15 K pressure: 1.00 atm + Material: CO2 density: 1.842 mg/cm3 RadL: 196.501 m Nucl.Int.Length: 466.112 m Imean: 90.958 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 27.29 % ElmAbundance 33.33 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 72.71 % ElmAbundance 66.67 % - Material: Xe20CO2 density: 5.082 mg/cm3 RadL: 17.750 m Nucl.Int.Length: 323.032 m Imean: 411.175 eV temperature: 273.15 K pressure: 1.00 atm + Material: Xe20CO2 density: 5.082 mg/cm3 RadL: 17.750 m Nucl.Int.Length: 323.445 m Imean: 412.598 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Xenon ( ) Z = 54.0 N = 131.3 A = 131.29 g/mole ElmMassFraction: 92.20 % ElmAbundance 56.91 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 2.13 % ElmAbundance 14.36 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 5.67 % ElmAbundance 28.73 % - Material: Kr20CO2 density: 3.601 mg/cm3 RadL: 34.158 m Nucl.Int.Length: 391.555 m Imean: 297.188 eV temperature: 273.15 K pressure: 1.00 atm + Material: Kr20CO2 density: 3.601 mg/cm3 RadL: 34.158 m Nucl.Int.Length: 391.057 m Imean: 296.926 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Kr ( ) Z = 36.0 N = 83.8 A = 83.80 g/mole ElmMassFraction: 89.00 % ElmAbundance 58.62 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 3.00 % ElmAbundance 13.79 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 8.00 % ElmAbundance 27.59 % @@ -59,7 +59,22 @@ G4ClassicalRK4 (default) is called The minimal step is equal to 0.25 mm -Visualization Manager instantiating... + + The WORLD is made of 44000mm of Air, the transverse size (R) of the world is 22000 mm. + The ABSORBER is made of 1mm of Air, the transverse size (R) is 20000 mm. + Z position of the (middle of the) absorber 21990 mm. + +zRad = 21689.5 mm +radThick = 205.02 mm +fFoilNumber = 1 +fRadiatorMat = Air +WorldMaterial = Air +zModule = 21790 mm +21790 mm +F03PhysicsList::SetCuts:CutLength : 1 mm + +total time(SetCuts)=0 s +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -73,6 +88,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -92,214 +110,158 @@ Registered filter factories: originVolumeFilter attributeFilter - - The WORLD is made of 44000mm of Air, the transverse size (R) of the world is 22000 mm. - The ABSORBER is made of 1mm of Air, the transverse size (R) is 20000 mm. - Z position of the (middle of the) absorber 21990 mm. - -zRad = 21689.5 mm -radThick = 205.02 mm -fFoilNumber = 1 -fRadiatorMat = Air -WorldMaterial = Air -zModule = 21790 mm -21790 mm - -!!! 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 !!! - -F03PhysicsList::SetCuts:CutLength : 1 mm - -total time(SetCuts)=0 s G4ClassicalRK4 (default) is called The minimal step is equal to 10 mm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 +muMsc: 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV ========= Table of registered couples ============================== @@ -325,15 +287,15 @@ Start Run processing. Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 22 m 500 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm 4.0138452 cm 21.79201 m 500 MeV0.00049463425 eV 20.288442 cm 20.288442 cm World Transportation 0 fm 390.36094 um -920.6619 um - 2 0 fm 6.5801506 cm 21.74 m 500 MeV0.0001414744 eV 5.8028637 cm 26.091306 cm RadSlice Transportation 0 fm 493.16452 um -869.93607 um - 3 0 fm 19.942497 cm 21.58699 m 500 MeV0.00049865499 eV 20.453361 cm 46.544667 cm Radiator Transportation 0 fm 795.60591 um -605.81452 um - 4 0 fm 81.240793 cm 21.58699 m 500 MeV0.0016054049 eV 65.848987 cm 1.1239365 m World Transportation 0 fm 795.60595 um 605.81447 um - 5 0 fm 94.603131 cm 21.74 m 500 MeV0.00049865482 eV 20.453354 cm 1.3284701 m Radiator Transportation 0 fm 493.1647 um 869.93596 um - 6 0 fm 98.923943 cm 21.84 m 500 MeV0.00026610159 eV 10.914704 cm 1.4376171 m RadSlice Transportation 0 fm 295.50359 um 955.34163 um - 7 0 fm 1.0118328 m 21.9895 m 500 MeV0.00037000705 eV 15.176601 cm 1.5893831 m World Transportation 0 fm 2.1791511 Ang 1000 um - 8 0 fm 1.0118318 m 21.9905 m 500 MeV2.4380116e-06 eV 1.0000007 mm 1.5903831 m Absorber Transportation 0 fm -1.9763932 um 999.99805 um - 9 0 fm 1.0117238 m 22 m 500 MeV2.3162934e-05 eV 9.5007541 mm 1.5998839 m OutOfWorld Transportation 0 fm -20.754201 um 999.78461 um + 1 0 fm 4.0138452 cm 21.79201 m 500 MeV0.00049461469 eV 20.288442 cm 20.288442 cm World Transportation 0 fm 390.36094 um -920.6619 um + 2 0 fm 6.5801506 cm 21.74 m 500 MeV0.0001414688 eV 5.8028637 cm 26.091306 cm RadSlice Transportation 0 fm 493.16452 um -869.93607 um + 3 0 fm 19.942497 cm 21.58699 m 500 MeV0.00049863528 eV 20.453361 cm 46.544667 cm Radiator Transportation 0 fm 795.60591 um -605.81452 um + 4 0 fm 81.240793 cm 21.58699 m 500 MeV0.0016053414 eV 65.848987 cm 1.1239365 m World Transportation 0 fm 795.60595 um 605.81447 um + 5 0 fm 94.603131 cm 21.74 m 500 MeV0.0004986351 eV 20.453354 cm 1.3284701 m Radiator Transportation 0 fm 493.1647 um 869.93596 um + 6 0 fm 98.923943 cm 21.84 m 500 MeV0.00026609107 eV 10.914704 cm 1.4376171 m RadSlice Transportation 0 fm 295.50359 um 955.34163 um + 7 0 fm 1.0118328 m 21.9895 m 500 MeV0.00036999242 eV 15.176601 cm 1.5893831 m World Transportation 0 fm 2.1791508 Ang 1000 um + 8 0 fm 1.0118318 m 21.9905 m 500 MeV2.4379152e-06 eV 1.0000007 mm 1.5903831 m Absorber Transportation 0 fm -1.9763932 um 999.99805 um + 9 0 fm 1.0117238 m 22 m 500 MeV2.3162018e-05 eV 9.5007541 mm 1.5998839 m OutOfWorld Transportation 0 fm -20.754201 um 999.78461 um Run terminated. Run Summary Number of events processed : 1 @@ -386,7 +348,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=0.01s Real=0.01s Sys=0s + User=0s Real=0s Sys=0s ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/field/field03/include/F03PhysicsList.hh b/examples/extended/field/field03/include/F03PhysicsList.hh index 2b0ffc338c..2609ce9bb3 100644 --- a/examples/extended/field/field03/include/F03PhysicsList.hh +++ b/examples/extended/field/field03/include/F03PhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F03PhysicsList.hh,v 1.6 2007/05/23 13:39:01 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: F03PhysicsList.hh,v 1.7 2010/04/08 14:12:20 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef F03PhysicsList_h @@ -38,8 +38,6 @@ class G4PhotoElectricEffect; class G4ComptonScattering; class G4GammaConversion; -class G4MultipleScattering; - class G4PAIonisation ; class G4ForwardXrayTR ; class G4eIonisation; @@ -104,14 +102,12 @@ class F03PhysicsList: public G4VUserPhysicsList G4ComptonScattering* theComptonScattering; G4GammaConversion* theGammaConversion; - G4MultipleScattering* theeminusMultipleScattering; G4eIonisation* theeminusIonisation; G4eBremsstrahlung* theeminusBremsstrahlung; G4PAIonisation* fPAIonisation ; G4ForwardXrayTR* fForwardXrayTR ; - G4MultipleScattering* theeplusMultipleScattering; G4eIonisation* theeplusIonisation; G4eBremsstrahlung* theeplusBremsstrahlung; G4eplusAnnihilation* theeplusAnnihilation; diff --git a/examples/extended/field/field03/src/F03EventAction.cc b/examples/extended/field/field03/src/F03EventAction.cc index 5985f02a46..14bbee0314 100644 --- a/examples/extended/field/field03/src/F03EventAction.cc +++ b/examples/extended/field/field03/src/F03EventAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F03EventAction.cc,v 1.6 2006/06/29 17:19:28 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: F03EventAction.cc,v 1.7 2010/06/06 04:56:36 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -44,9 +44,6 @@ #include "G4HCofThisEvent.hh" #include "G4VHitsCollection.hh" #include "G4SDManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" #include "G4UnitsTable.hh" #include "Randomize.hh" @@ -90,21 +87,6 @@ void F03EventAction::BeginOfEventAction(const G4Event* evt) void F03EventAction::EndOfEventAction(const G4Event* evt) { - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) - { - 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(50); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(50); - } - } - if(verboselevel>0) G4cout << "<<< Event " << evt->GetEventID() << " ended." << G4endl; diff --git a/examples/extended/field/field03/src/F03PhysicsList.cc b/examples/extended/field/field03/src/F03PhysicsList.cc index 91cdd9832d..f81d7ff5fa 100644 --- a/examples/extended/field/field03/src/F03PhysicsList.cc +++ b/examples/extended/field/field03/src/F03PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F03PhysicsList.cc,v 1.11 2007/05/23 13:39:16 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: F03PhysicsList.cc,v 1.14 2010/08/16 08:24:39 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4Timer.hh" @@ -34,8 +34,6 @@ #include "F03DetectorConstruction.hh" #include "F03PhysicsListMessenger.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -54,10 +52,9 @@ F03PhysicsList::F03PhysicsList(F03DetectorConstruction* p) : G4VUserPhysicsList(), MaxChargedStep(DBL_MAX), - thePhotoElectricEffect(0), theComptonScattering(0), theGammaConversion(0), - theeminusMultipleScattering(0), theeminusIonisation(0), - theeminusBremsstrahlung(0), - theeplusMultipleScattering(0), theeplusIonisation(0), + thePhotoElectricEffect(0), theComptonScattering(0), + theGammaConversion(0), theeminusIonisation(0), + theeminusBremsstrahlung(0), theeplusIonisation(0), theeplusBremsstrahlung(0), theeplusAnnihilation(0), theeminusStepCut(0), theeplusStepCut(0) { @@ -172,7 +169,9 @@ void F03PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -247,7 +246,7 @@ void F03PhysicsList::ConstructEM() F03StepCut* muonStepCut = new F03StepCut(); G4MuIonisation* themuIonisation = new G4MuIonisation() ; - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + pmanager->AddProcess(new G4MuMultipleScattering(),-1,1,1); pmanager->AddProcess(themuIonisation,-1,2,2); pmanager->AddProcess(new G4MuBremsstrahlung(),-1,-1,3); pmanager->AddProcess(new G4MuPairProduction(),-1,-1,4); @@ -266,8 +265,8 @@ void F03PhysicsList::ConstructEM() F03StepCut* thehadronStepCut = new F03StepCut(); G4hIonisation* thehIonisation = new G4hIonisation() ; - G4MultipleScattering* thehMultipleScattering = - new G4MultipleScattering() ; + G4hMultipleScattering* thehMultipleScattering = + new G4hMultipleScattering() ; pmanager->AddProcess(thehMultipleScattering,-1,1,1); diff --git a/examples/extended/field/field03/vis.mac b/examples/extended/field/field03/vis.mac new file mode 100644 index 0000000000..d28012a6ae --- /dev/null +++ b/examples/extended/field/field03/vis.mac @@ -0,0 +1,92 @@ +# Macro file for the initialization phase of field03 +# +# It creates the default geometry (simple absorber cylinder ) +# +/tracking/verbose 1 +/run/verbose 1 +# +# +# +/field/setStepperType 4 +/field/setMinStep 10 mm +/field/setFieldZ 1.0 kG +# +/field/update +# +/run/initialize +# +/run/particle/dumpCutValues +# +/gun/particle e- +/gun/energy 500.0 MeV + +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 40. 10. +# +# Specify zoom value: +/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush + +/run/beamOn 1 diff --git a/examples/extended/field/field04/History b/examples/extended/field/field04/History index c1e43fba15..9e81628730 100644 --- a/examples/extended/field/field04/History +++ b/examples/extended/field/field04/History @@ -1,4 +1,4 @@ -// $Id: History,v 1.16 2009/11/07 00:45:58 gum Exp $ +// $Id: History,v 1.19 2010/10/25 00:49:34 gum Exp $ // ------------------------------------------------------------------ ========================================================= @@ -15,6 +15,17 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Oct 24th, 2010 Peter Gumplinger - fieldex04-V09-03-02 + include Mie scattering process and update usage of G4PhysListFactory + +Jun 3rd, 2010, Peter Gumplinger - fieldex04-V09-03-01 + modify F04Trajectory class to compile without warnings against + tracking-V09-03-03 by implementing a DrawTrajectory() method. + +March 23rd, 2010, Gunter Folger - fieldex04-V09-03-00 +- add header in src/F04RunAction.cc to fix a compile + error on windows. + November 6th, 2009 Peter Gumplinger - fieldex04-V09-02-03 - rewrite F04PhysicsList and F04PhysicsListMessenger and use the newly available G4PhysListFactory diff --git a/examples/extended/field/field04/field04.cc b/examples/extended/field/field04/field04.cc index 5a83c3d412..83a8d07f0e 100644 --- a/examples/extended/field/field04/field04.cc +++ b/examples/extended/field/field04/field04.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: field04.cc,v 1.11 2009/10/30 10:17:43 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: field04.cc,v 1.12 2010/10/25 00:49:58 gum Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -72,7 +72,7 @@ int main(int argc,char** argv) { - G4String physicsList = "QGSP_BERT"; + G4String physName = "QGSP_BERT_EMV"; G4int seed = 123; if (argc > 2) seed = atoi(argv[argc-1]); @@ -89,8 +89,8 @@ int main(int argc,char** argv) switch (c) { case 'p': - physicsList = optarg; - G4cout << "Physics List used is " << physicsList << G4endl; + physName = optarg; + G4cout << "Physics List used is " << physName << G4endl; break; case ':': /* -p without operand */ fprintf(stderr, @@ -116,7 +116,7 @@ int main(int argc,char** argv) F04DetectorConstruction* detector = new F04DetectorConstruction(); runManager->SetUserInitialization(detector); - runManager->SetUserInitialization(new F04PhysicsList(physicsList)); + runManager->SetUserInitialization(new F04PhysicsList(physName)); #ifdef G4VIS_USE diff --git a/examples/extended/field/field04/field04.out b/examples/extended/field/field04/field04.out index e70619b118..c4918e1a5f 100644 --- a/examples/extended/field/field04/field04.out +++ b/examples/extended/field/field04/field04.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -15,17 +15,17 @@ Accuracy Parameters: MinStep=0.01 DeltaChord=3 DeltaOneStep=0.01 DeltaIntersection=0.1 EpsMin=2.5e-07 EpsMax=0.05 <<< Geant4 Physics List engine packaging library: PACK 5.5 -<<< Geant4 Physics List simulation engine: QGSP_BERT 3.3 +<<< Geant4 Physics List simulation engine: QGSP_BERT_EMV 1.1 -RegisterPhysics: G4EmStandard -RegisterPhysics: extra EM -RegisterPhysics: decay -RegisterPhysics: elastic -RegisterPhysics: hadron +RegisterPhysics: G4EmStandard_opt1 +RegisterPhysics: G4GammaLeptoNuclearPhys +RegisterPhysics: Decay +RegisterPhysics: hElasticWEL_CHIPS +RegisterPhysics: hInelastic QGSP_BERT RegisterPhysics: stopping -RegisterPhysics: ion -RegisterPhysics: Neutron tracking cut -Visualization Manager instantiating... +RegisterPhysics: IonPhysics +RegisterPhysics: neutronTrackingCut +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -39,6 +39,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -101,7 +104,7 @@ Accuracy Parameters: MinStep=10 DeltaChord=3 DeltaOneStep=0.01 # /run/initialize G4NistMaterialBuilder::FindOrBuildMaterial G4_Galactic -G4NistMaterialBuilder: BuildMaterial #286 +G4NistMaterialBuilder: BuildMaterial #289 New material nComponents= 1 G4NistElementBuilder: Build Element Z= 1 A= 1.00794 with natural isotope composition G4NistMaterialBuilder::FindOrBuildMaterial G4_AIR @@ -109,10 +112,10 @@ G4NistMaterialBuilder::FindOrBuildMaterial G4_BERYLLIUM_OXIDE G4NistMaterialBuilder: BuildMaterial #115 New material nComponents= 2 G4NistElementBuilder: Build Element Z= 4 A= 9.01218 with natural isotope composition -New material Scintillator is prepeared; nMaterials= 289 nComponents= 743 nCurrent= 2 +New material Scintillator is prepeared; nMaterials= 315 nComponents= 843 nCurrent= 2 ### NIST DataBase for Elements is used G4NistMaterialBuilder: BuildMaterial Scintillator -G4NistMaterialBuilder: BuildMaterial #288 +G4NistMaterialBuilder: BuildMaterial #314 New material nComponents= 2 The materials defined are: @@ -120,7 +123,7 @@ The materials defined are: ***** Table : Nb of materials = 6 ***** - Material: G4_AIR density: 1.205 mg/cm3 RadL: 303.921 m Nucl.Int.Length: 710.137 m Imean: 85.700 eV temperature: 273.15 K pressure: 1.00 atm + Material: G4_AIR density: 1.205 mg/cm3 RadL: 303.921 m Nucl.Int.Length: 710.261 m Imean: 85.700 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 0.01 % ElmAbundance 0.02 % @@ -136,7 +139,7 @@ The materials defined are: ---> Isotope: Ar38 Z = 18 N = 38 A = 37.96 g/mole abundance: 0.06 % ---> Isotope: Ar40 Z = 18 N = 40 A = 39.96 g/mole abundance: 99.60 % ElmMassFraction: 1.28 % ElmAbundance 0.47 % - Material: G4_W density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.310 cm Imean: 727.000 eV + Material: G4_W density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.306 cm Imean: 727.000 eV ---> Element: W (W) Z = 74.0 N = 183.9 A = 183.84 g/mole ---> Isotope: W180 Z = 74 N = 180 A = 179.95 g/mole abundance: 0.12 % ---> Isotope: W182 Z = 74 N = 182 A = 181.95 g/mole abundance: 26.50 % @@ -144,19 +147,19 @@ The materials defined are: ---> Isotope: W184 Z = 74 N = 184 A = 183.95 g/mole abundance: 30.64 % ---> Isotope: W186 Z = 74 N = 186 A = 185.95 g/mole abundance: 28.43 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Pb density: 11.350 g/cm3 RadL: 5.613 mm Nucl.Int.Length: 18.247 cm Imean: 823.000 eV + Material: G4_Pb density: 11.350 g/cm3 RadL: 5.613 mm Nucl.Int.Length: 18.261 cm Imean: 823.000 eV ---> Element: Pb (Pb) Z = 82.0 N = 207.2 A = 207.22 g/mole ---> Isotope: Pb204 Z = 82 N = 204 A = 203.97 g/mole abundance: 1.40 % ---> Isotope: Pb206 Z = 82 N = 206 A = 205.97 g/mole abundance: 24.10 % ---> Isotope: Pb207 Z = 82 N = 207 A = 206.98 g/mole abundance: 22.10 % ---> Isotope: Pb208 Z = 82 N = 208 A = 207.98 g/mole abundance: 52.40 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Galactic density: 0.000 kg/m3 RadL: 204310101.835 pc Nucl.Int.Length: 114319208.901 pc Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm + Material: G4_Galactic density: 0.000 kg/m3 RadL: 204310101.835 pc Nucl.Int.Length: 114327973.206 pc Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_BERYLLIUM_OXIDE density: 3.010 g/cm3 RadL: 13.722 cm Nucl.Int.Length: 27.238 cm Imean: 93.200 eV + Material: G4_BERYLLIUM_OXIDE density: 3.010 g/cm3 RadL: 13.722 cm Nucl.Int.Length: 27.241 cm Imean: 93.200 eV ---> Element: Be (Be) Z = 4.0 N = 9.0 A = 9.01 g/mole ---> Isotope: Be9 Z = 4 N = 9 A = 9.01 g/mole abundance: 100.00 % ElmMassFraction: 36.03 % ElmAbundance 50.00 % ---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole @@ -164,7 +167,7 @@ The materials defined are: ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 63.97 % ElmAbundance 50.00 % - Material: Scintillator density: 1.032 g/cm3 RadL: 42.544 cm Nucl.Int.Length: 70.066 cm Imean: 63.913 eV + Material: Scintillator density: 1.032 g/cm3 RadL: 42.544 cm Nucl.Int.Length: 70.101 cm Imean: 64.684 eV ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 91.47 % ElmAbundance 47.37 % @@ -210,258 +213,270 @@ F04PhysicsList::SetCuts:CutLength : 1 mm # /run/beamOn 1000 -phot: for gamma SubType= 12 +phot: for gamma, applyCuts: 1 SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV -compt: for gamma SubType= 13 +compt: for gamma, applyCuts: 1 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV -conv: for gamma SubType= 14 +conv: for gamma, applyCuts: 1 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + finalRange(mm)= 1, dRoverRange= 0.8, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + finalRange(mm)= 1, dRoverRange= 0.8, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban -annihil: for e+ SubType= 5 +annihil: for e+, applyCuts: 1 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + hPairProd : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + 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 + WentzelVIUni : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu+, applyCuts: 1 SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 0 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu-, applyCuts: 1 SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 0 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + hPairProd : Emin= 0 eV Emax= 10 TeV ============================================================================================ HADRONIC PROCESSES SUMMARY (verbose level 1) Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 @@ -473,19 +488,19 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 KaonPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEKaonPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEKaonMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 @@ -493,7 +508,7 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( muMinusCaptureAtRest Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 NeutronInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LENeutronInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 @@ -501,19 +516,21 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( nFission Models: G4LFission: Emin(GeV)= 0 Emax(GeV)= 20000 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 PionPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEPionPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEPionMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 ProtonInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEProtonInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 @@ -555,7 +572,7 @@ Index : 3 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 123 - Current couple of seeds = 960416608, 2004255418 + Current couple of seeds = 960416485, 2004255415 ---------------------------------------- ---> Begin of Event: 0 diff --git a/examples/extended/field/field04/include/F04Trajectory.hh b/examples/extended/field/field04/include/F04Trajectory.hh index c463823d34..bcba205ed6 100644 --- a/examples/extended/field/field04/include/F04Trajectory.hh +++ b/examples/extended/field/field04/include/F04Trajectory.hh @@ -81,6 +81,7 @@ class F04Trajectory : public G4VTrajectory // Other member functions virtual void ShowTrajectory(std::ostream& os=G4cout) const; + virtual void DrawTrajectory() const; virtual void DrawTrajectory(G4int i_mode=0) const; virtual void AppendStep(const G4Step* aStep); virtual void MergeTrajectory(G4VTrajectory* secondTrajectory); diff --git a/examples/extended/field/field04/src/F04OpticalPhysics.cc b/examples/extended/field/field04/src/F04OpticalPhysics.cc index 023eeac722..2cb10ac5b2 100644 --- a/examples/extended/field/field04/src/F04OpticalPhysics.cc +++ b/examples/extended/field/field04/src/F04OpticalPhysics.cc @@ -33,6 +33,7 @@ #include "G4OpAbsorption.hh" #include "G4OpRayleigh.hh" +#include "G4OpMieHG.hh" #include "G4OpBoundaryProcess.hh" #include "G4OpWLS.hh" @@ -65,6 +66,7 @@ void F04OpticalPhysics::ConstructProcess() G4OpAbsorption* theAbsorptionProcess= new G4OpAbsorption(); G4OpRayleigh* theRayleighScattering = new G4OpRayleigh(); + G4OpMieHG* theMieHGScatteringProcess = new G4OpMieHG(); G4OpBoundaryProcess* theBoundaryProcess = new G4OpBoundaryProcess(); G4OpWLS* theWLSProcess=new G4OpWLS(); @@ -81,6 +83,7 @@ void F04OpticalPhysics::ConstructProcess() pManager->AddDiscreteProcess(theAbsorptionProcess); pManager->AddDiscreteProcess(theRayleighScattering); + pManager->AddDiscreteProcess(theMieHGScatteringProcess); theBoundaryProcess->SetModel(unified); // theBoundaryProcess->SetModel(glisur); diff --git a/examples/extended/field/field04/src/F04PhysicsList.cc b/examples/extended/field/field04/src/F04PhysicsList.cc index b3bbc26974..680234196e 100644 --- a/examples/extended/field/field04/src/F04PhysicsList.cc +++ b/examples/extended/field/field04/src/F04PhysicsList.cc @@ -55,7 +55,7 @@ #include "G4MuonDecayChannelWithSpin.hh" #include "G4MuonRadiativeDecayChannelWithSpin.hh" -F04PhysicsList::F04PhysicsList(G4String physicsList) : G4VModularPhysicsList() +F04PhysicsList::F04PhysicsList(G4String physName) : G4VModularPhysicsList() { G4LossTableManager::Instance(); @@ -69,13 +69,16 @@ F04PhysicsList::F04PhysicsList(G4String physicsList) : G4VModularPhysicsList() SetVerboseLevel(1); G4PhysListFactory factory; - G4VModularPhysicsList* phys = 0; + G4VModularPhysicsList* phys = NULL; - if(factory.IsReferencePhysList(physicsList)) - phys =factory.GetReferencePhysList(physicsList); + if (factory.IsReferencePhysList(physName)) + phys =factory.GetReferencePhysList(physName); // Physics List is defined via environment variable PHYSLIST - if(!phys) phys = factory.ReferencePhysList(); + if (!phys) phys = factory.ReferencePhysList(); + + if (!phys) G4Exception("WLSPhysicsList::WLSPhysicsList","InvalidSetup", + FatalException,"PhysicsList does not exist"); for (G4int i = 0; ; ++i) { G4VPhysicsConstructor* elem = diff --git a/examples/extended/field/field04/src/F04RunAction.cc b/examples/extended/field/field04/src/F04RunAction.cc index 2eed3d92f3..c95fef993a 100644 --- a/examples/extended/field/field04/src/F04RunAction.cc +++ b/examples/extended/field/field04/src/F04RunAction.cc @@ -36,6 +36,8 @@ #include "F04GlobalField.hh" +#include + F04RunAction::F04RunAction() : saveRndm(0), autoSeed(false) { diff --git a/examples/extended/field/field04/src/F04Trajectory.cc b/examples/extended/field/field04/src/F04Trajectory.cc index 5625003478..d8ff8185be 100644 --- a/examples/extended/field/field04/src/F04Trajectory.cc +++ b/examples/extended/field/field04/src/F04Trajectory.cc @@ -97,6 +97,13 @@ void F04Trajectory::ShowTrajectory(std::ostream& os) const // ... or override with your own code here. } +void F04Trajectory::DrawTrajectory() const +{ + // Invoke the default implementation in G4VTrajectory... + G4VTrajectory::DrawTrajectory(); + // ... or override with your own code here. +} + void F04Trajectory::DrawTrajectory(G4int i_mode) const { // Invoke the default implementation in G4VTrajectory... diff --git a/examples/extended/g3tog4/History b/examples/extended/g3tog4/History index d72ba7fe6b..8712396949 100644 --- a/examples/extended/g3tog4/History +++ b/examples/extended/g3tog4/History @@ -1,4 +1,4 @@ -$Id: History,v 1.6 2006/03/14 10:13:55 vnivanch Exp $ +$Id: History,v 1.11 2010/11/04 21:47:43 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,11 +15,33 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November 4th, 2010 J.Allison (g3tog4Tests-V09-03-04) +----------------------------- +- Introduced G4UIExecutive - fixed compilation problems. + +November 2nd, 2010 J.Allison (g3tog4Tests-V09-03-03) +----------------------------- +- Introduced G4UIExecutive. + +August 16th, 2010 H.Kurashige (g3tog4Tests-V09-03-02) +----------------------------- +- Removed inclusion of G4ParticleWithCuts header. + +June 3rd, 2010 J.Perl (g3tog4Tests-V09-03-01) +--------------------- +- Updated vis usage. + +March 18th, 2010 G.Cosmo (g3tog4Tests-V09-03-00) +------------------------ +- Updated physics-lists to make use of particle-based multiple + scattering processes. + March 13rd, 2006 V.Ivantchenko (g3tog4Tests-V08-00-00) ----------------------------- +------------------------------ - Minor cleanup of the PhysicsList and README -3rd May 2005 John Allison (examples-V07-00-03) +May 3rd, 2005 John Allison (examples-V07-00-03) +--------------------------- - Replaced vis manager with G4VisExecutive. Dec 3rd, 2004 Gabriele Cosmo (g3tog4Tests-V06-02-00) diff --git a/examples/extended/g3tog4/clGeometry/clGeometry.cc b/examples/extended/g3tog4/clGeometry/clGeometry.cc index 952f7260b6..68ac05e1e9 100644 --- a/examples/extended/g3tog4/clGeometry/clGeometry.cc +++ b/examples/extended/g3tog4/clGeometry/clGeometry.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: clGeometry.cc,v 1.7 2006/06/29 17:20:00 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: clGeometry.cc,v 1.9 2010/11/04 21:47:43 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -49,13 +49,17 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" // visualization #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif +// (G)UI +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + int main(int argc, char** argv) { G4String inFile; @@ -124,59 +128,35 @@ int main(int argc, char** argv) RunManager->SetUserAction(new G3toG4PrimaryGeneratorAction); // the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); // set some additional defaults and initial actions - UI->ApplyCommand("/control/verbose 1"); - UI->ApplyCommand("/run/verbose 1"); - UI->ApplyCommand("/tracking/verbose 1"); - UI->ApplyCommand("/tracking/storeTrajectory 1"); - UI->ApplyCommand("/run/initialize"); + UImanager->ApplyCommand("/control/verbose 1"); + UImanager->ApplyCommand("/run/verbose 1"); + UImanager->ApplyCommand("/tracking/verbose 1"); + UImanager->ApplyCommand("/tracking/storeTrajectory 1"); + UImanager->ApplyCommand("/run/initialize"); G4bool batch_mode = macroFile != ""; if(!batch_mode) { - G4UIsession * session = new G4UIterminal; - if (session != 0) { - session->SessionStart(); - delete session; - // G4cout << "deleted G4UITerminal..." << G4endl; - } - } - else { +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif + } else { // Batch mode G4String command = "/control/execute "; - UI->ApplyCommand(command+macroFile); + UImanager->ApplyCommand(command+macroFile); } #ifdef G4VIS_USE - if (VisManager !=0) delete VisManager; + delete VisManager; #endif delete RunManager; return EXIT_SUCCESS; } - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/extended/g3tog4/clGeometry/clGeometry.in b/examples/extended/g3tog4/clGeometry/clGeometry.in index 581af2017f..1fd4bdb7b8 100644 --- a/examples/extended/g3tog4/clGeometry/clGeometry.in +++ b/examples/extended/g3tog4/clGeometry/clGeometry.in @@ -7,6 +7,9 @@ /gun/direction 0. 1. 0. /gun/energy 1 GeV /gun/particle mu- +# +#/control/execute vis.mac +# /run/beamOn 1 /gun/particle mu+ /run/beamOn 1 diff --git a/examples/extended/g3tog4/clGeometry/clGeometry.out b/examples/extended/g3tog4/clGeometry/clGeometry.out index 81dcf0aeb1..b23b782392 100644 --- a/examples/extended/g3tog4/clGeometry/clGeometry.out +++ b/examples/extended/g3tog4/clGeometry/clGeometry.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -12,7 +12,7 @@ Instantiated G3toG4DetectorConstruction using call list file "../data/testmodel.dat" G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -Visualization Manager instantiating... +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -26,6 +26,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -97,66 +100,6 @@ Top-level G3toG4 logical volume HALL G4VisAttributes: invisible, daughters visib G4AttValue pointer is zero, G4AttDef pointer is zero G4VUserPhysicsList::Construct() Construct processes - -!!! 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 !!! - G3toG4PhysicsList::SetCuts:CutLength : 2 mm /control/execute clGeometry.in /run/verbose 2 @@ -169,172 +112,172 @@ G3toG4PhysicsList::SetCuts:CutLength : 2 mm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 +muMsc: 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV Region -- appears in world volume Root logical volume(s) : HALL @@ -392,22 +335,13 @@ Start Run processing. Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 -1.5 0 1e+03 0 0 0 HALL initStep - 1 0 4e+03 0 1e+03 1.12e-22 4e+03 4e+03 OutOfWorld Transportation + 1 0 4e+03 0 1e+03 1.14e-22 4e+03 4e+03 OutOfWorld Transportation >>> Event 0 1 trajectories stored in this event. -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. Run terminated. Run Summary Number of events processed : 1 - User=0s Real=0.01s Sys=0s + User=0s Real=0s Sys=0s /gun/particle mu+ /run/beamOn 1 @@ -440,7 +374,7 @@ Start Run processing. Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 -1.5 0 1e+03 0 0 0 HALL initStep - 1 0 4e+03 0 1e+03 1.12e-22 4e+03 4e+03 OutOfWorld Transportation + 1 0 4e+03 0 1e+03 1.14e-22 4e+03 4e+03 OutOfWorld Transportation >>> Event 0 1 trajectories stored in this event. Run terminated. @@ -479,7 +413,7 @@ Start Run processing. Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 -1.5 0 1e+03 0 0 0 HALL initStep - 1 0 4e+03 0 1e+03 1.75e-22 4e+03 4e+03 OutOfWorld Transportation + 1 0 4e+03 0 1e+03 1.76e-22 4e+03 4e+03 OutOfWorld Transportation >>> Event 0 1 trajectories stored in this event. Run terminated. @@ -518,7 +452,7 @@ Start Run processing. Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 -1.5 0 1e+03 0 0 0 HALL initStep - 1 0 4e+03 0 1e+03 1.75e-22 4e+03 4e+03 OutOfWorld Transportation + 1 0 4e+03 0 1e+03 1.76e-22 4e+03 4e+03 OutOfWorld Transportation >>> Event 0 1 trajectories stored in this event. Run terminated. @@ -560,7 +494,7 @@ Start Run processing. Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 1.5 0 1e+03 0 0 0 HALL initStep - 1 4e+03 1.5 0 1e+03 1.12e-22 4e+03 4e+03 OutOfWorld Transportation + 1 4e+03 1.5 0 1e+03 1.14e-22 4e+03 4e+03 OutOfWorld Transportation >>> Event 0 1 trajectories stored in this event. Run terminated. @@ -599,7 +533,7 @@ Start Run processing. Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 1.5 0 1e+03 0 0 0 HALL initStep - 1 4e+03 1.5 0 1e+03 1.12e-22 4e+03 4e+03 OutOfWorld Transportation + 1 4e+03 1.5 0 1e+03 1.14e-22 4e+03 4e+03 OutOfWorld Transportation >>> Event 0 1 trajectories stored in this event. Run terminated. @@ -638,7 +572,7 @@ Start Run processing. Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 1.5 0 1e+03 0 0 0 HALL initStep - 1 4e+03 1.5 0 1e+03 1.75e-22 4e+03 4e+03 OutOfWorld Transportation + 1 4e+03 1.5 0 1e+03 1.76e-22 4e+03 4e+03 OutOfWorld Transportation >>> Event 0 1 trajectories stored in this event. Run terminated. @@ -677,7 +611,7 @@ Start Run processing. Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 1.5 0 1e+03 0 0 0 HALL initStep - 1 4e+03 1.5 0 1e+03 1.75e-22 4e+03 4e+03 OutOfWorld Transportation + 1 4e+03 1.5 0 1e+03 1.76e-22 4e+03 4e+03 OutOfWorld Transportation >>> Event 0 1 trajectories stored in this event. Run terminated. diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc index 3debf49129..1466f8b8e8 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G3toG4EventAction.cc,v 1.5 2006/06/29 17:20:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G3toG4EventAction.cc,v 1.6 2010/06/06 04:57:51 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -39,8 +39,6 @@ #include "G4EventManager.hh" #include "G4HCofThisEvent.hh" #include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4UImanager.hh" #include "G4UnitsTable.hh" @@ -77,15 +75,6 @@ void G3toG4EventAction::EndOfEventAction(const G4Event* Ev) } G4cout << " " << n_trajectories << " trajectories stored in this event." << G4endl; - - if(G4VVisManager::GetConcreteInstance()){ - for(G4int i=0; iGetTrajectoryContainer()))[i]; - if (drawFlag == "all") trj->DrawTrajectory(50); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(50); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc index 91324082a2..e3443c4b8f 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G3toG4PhysicsList.cc,v 1.5 2006/06/29 17:20:23 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G3toG4PhysicsList.cc,v 1.7 2010/08/16 08:23:41 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -34,8 +34,6 @@ #include "G3toG4PhysicsList.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -152,7 +150,9 @@ void G3toG4PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -182,13 +182,13 @@ void G3toG4PhysicsList::ConstructEM() } 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); @@ -196,7 +196,7 @@ void G3toG4PhysicsList::ConstructEM() } 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); @@ -205,7 +205,7 @@ void G3toG4PhysicsList::ConstructEM() (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/extended/g3tog4/clGeometry/vis.mac b/examples/extended/g3tog4/clGeometry/vis.mac new file mode 100644 index 0000000000..0cfbc6a4f2 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/vis.mac @@ -0,0 +1,68 @@ +surface# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/g3tog4/cltog4/cltog4.cc b/examples/extended/g3tog4/cltog4/cltog4.cc index 65a292b060..845288bcec 100644 --- a/examples/extended/g3tog4/cltog4/cltog4.cc +++ b/examples/extended/g3tog4/cltog4/cltog4.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: cltog4.cc,v 1.6 2006/06/29 17:20:32 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: cltog4.cc,v 1.8 2010/11/04 21:47:43 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // #include "G4ios.hh" @@ -45,7 +45,7 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" +#include "G4UIExecutive.hh" int main(int argc, char** argv) { @@ -93,29 +93,28 @@ int main(int argc, char** argv) RunManager->SetUserAction(new G3toG4RunAction); RunManager->SetUserAction(new G3toG4PrimaryGeneratorAction); - G4UImanager * UI = G4UImanager::GetUIpointer(); + G4UImanager * UImanager = G4UImanager::GetUIpointer(); // set some additional defaults and initial actions - UI->ApplyCommand("/control/verbose 1"); - UI->ApplyCommand("/run/verbose 1"); - UI->ApplyCommand("/tracking/verbose 1"); - UI->ApplyCommand("/tracking/storeTrajectory 1"); - UI->ApplyCommand("/run/initialize"); + UImanager->ApplyCommand("/control/verbose 1"); + UImanager->ApplyCommand("/run/verbose 1"); + UImanager->ApplyCommand("/tracking/verbose 1"); + UImanager->ApplyCommand("/tracking/storeTrajectory 1"); + UImanager->ApplyCommand("/run/initialize"); G4bool batch_mode = macroFile != ""; if(!batch_mode) { - G4UIsession * session = new G4UIterminal; - if (session != 0) { - session->SessionStart(); - delete session; - // G4cout << "deleted G4UITerminal..." << G4endl; - } +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; +#endif } else { // Batch mode G4String command = "/control/execute "; - UI->ApplyCommand(command+macroFile); + UImanager->ApplyCommand(command+macroFile); } delete RunManager; return EXIT_SUCCESS; diff --git a/examples/extended/g3tog4/cltog4/cltog4.in b/examples/extended/g3tog4/cltog4/cltog4.in index 5a152b3705..e3a7fbb430 100644 --- a/examples/extended/g3tog4/cltog4/cltog4.in +++ b/examples/extended/g3tog4/cltog4/cltog4.in @@ -9,6 +9,9 @@ /gun/direction 0. 1. 0. /gun/energy 1 GeV /gun/particle chargedgeantino +# +#/control/execute vis.mac +# /run/beamOn 10 # # Termination diff --git a/examples/extended/g3tog4/cltog4/cltog4.out b/examples/extended/g3tog4/cltog4/cltog4.out index 3e2b68fca8..550d4a350b 100644 --- a/examples/extended/g3tog4/cltog4/cltog4.out +++ b/examples/extended/g3tog4/cltog4/cltog4.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -61,66 +61,6 @@ Top-level G3toG4 logical volume HALL G4VisAttributes: invisible, daughters visib line segments per circle: not forced. time range: (-1.79769e+308,1.79769e+308) G4AttValue pointer is zero, G4AttDef pointer is zero - -!!! 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 !!! - G3toG4PhysicsList::SetCuts:CutLength : 2 mm /control/execute cltog4.in /control/verbose 1 @@ -134,172 +74,172 @@ G3toG4PhysicsList::SetCuts:CutLength : 2 mm phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 +muMsc: 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV ========= Table of registered couples ============================== @@ -407,6 +347,6 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Run terminated. Run Summary Number of events processed : 10 - User=0s Real=0s Sys=0.01s + User=0s Real=0s Sys=0s G4 kernel has come to Quit state. diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc index 47666af8d9..adbc2e564c 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G3toG4EventAction.cc,v 1.6 2006/06/29 17:20:56 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G3toG4EventAction.cc,v 1.7 2010/06/06 04:57:51 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -39,8 +39,6 @@ #include "G4EventManager.hh" #include "G4HCofThisEvent.hh" #include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4UImanager.hh" #include "G4UnitsTable.hh" @@ -77,15 +75,6 @@ void G3toG4EventAction::EndOfEventAction(const G4Event* Ev) } G4cout << " " << n_trajectories << " trajectories stored in this event." << G4endl; - - if(G4VVisManager::GetConcreteInstance()){ - for(G4int i=0; iGetTrajectoryContainer()))[i]; - if (drawFlag == "all") trj->DrawTrajectory(50); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(50); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc b/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc index c5af9c3b4c..8e0ada1da1 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G3toG4PhysicsList.cc,v 1.5 2006/06/29 17:21:00 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G3toG4PhysicsList.cc,v 1.7 2010/08/16 08:23:41 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -34,8 +34,6 @@ #include "G3toG4PhysicsList.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -152,7 +150,9 @@ void G3toG4PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -182,13 +182,13 @@ void G3toG4PhysicsList::ConstructEM() } 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); @@ -196,7 +196,7 @@ void G3toG4PhysicsList::ConstructEM() } 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); @@ -205,7 +205,7 @@ void G3toG4PhysicsList::ConstructEM() (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/extended/g3tog4/cltog4/vis.mac b/examples/extended/g3tog4/cltog4/vis.mac new file mode 100644 index 0000000000..0cfbc6a4f2 --- /dev/null +++ b/examples/extended/g3tog4/cltog4/vis.mac @@ -0,0 +1,68 @@ +surface# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/geometry/olap/History b/examples/extended/geometry/olap/History index 018b29b8fa..5ea5ee60e3 100644 --- a/examples/extended/geometry/olap/History +++ b/examples/extended/geometry/olap/History @@ -1,4 +1,4 @@ -$Id: History,v 1.10 2005/11/15 14:15:25 gcosmo Exp $ +$Id: History,v 1.19 2010/11/16 14:36:24 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,26 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November 16th, 2010 G.Cosmo - olapex-V09-03-04 +- Fixed uninitialised data in OlapInfo, causing undefined behavior. +- OlapDetConstr: moved printout for no daughter in world to cout. + +November 9th, 2010 G.Folger - olapex-V09-03-03 +- Added simple batch.mac to use in testing. + +October 27th, 2010 G.Cosmo - olapex-V09-03-02 +- Set primary-generator action after physics-list to run-manager. +- Fixed compilation warnings for unused parameters. + +August 24th, 2010 G.Cosmo - olapex-V09-03-01 +- Fixed compilation error for setting of kRadTolerance. + +August 16th, 2010 H.Kurashige +- Removed inclusion of G4ParticleWithCuts header. + +May 12th, 2010 J.Allison - olapex-V09-03-00 +- Introduced G4UIExecutive. + November 15th, 2005 G.Cosmo - olapex-V07-01-00 - migration to from deprecated . diff --git a/examples/extended/geometry/olap/batch.mac b/examples/extended/geometry/olap/batch.mac new file mode 100644 index 0000000000..5923fe960f --- /dev/null +++ b/examples/extended/geometry/olap/batch.mac @@ -0,0 +1,2 @@ +/olap/grid 17 17 17 +/olap/trigger diff --git a/examples/extended/geometry/olap/include/OlapEventAction.hh b/examples/extended/geometry/olap/include/OlapEventAction.hh index 30b8ef6b34..f2676cc4b6 100644 --- a/examples/extended/geometry/olap/include/OlapEventAction.hh +++ b/examples/extended/geometry/olap/include/OlapEventAction.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: OlapEventAction.hh,v 1.3 2006/06/29 17:22:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: OlapEventAction.hh,v 1.6 2010/11/16 14:34:30 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -57,9 +57,9 @@ public: G4ThreeVector & p1, G4ThreeVector & p2, G4int a=0, - G4LogicalVolume* original=0) : - hist1(h1), hist2(h2), v1(p1), v2(p2),axis(a) - {}; + G4LogicalVolume* original=0) + : hist1(h1), hist2(h2), v1(p1), v2(p2),axis(a), + info(""), probNot(false), originalMother(original) {} ~OlapInfo(); @@ -72,7 +72,7 @@ public: std::vector stAB; std::vector stBA; G4String info; - G4int probNot ; + G4bool probNot ; G4LogicalVolume* originalMother; }; diff --git a/examples/extended/geometry/olap/include/OlapManager.hh b/examples/extended/geometry/olap/include/OlapManager.hh index d99f3078a5..99d1c53136 100644 --- a/examples/extended/geometry/olap/include/OlapManager.hh +++ b/examples/extended/geometry/olap/include/OlapManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: OlapManager.hh,v 1.4 2006/06/29 17:22:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: OlapManager.hh,v 1.5 2010/10/27 10:25:26 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -88,7 +88,7 @@ public: void registerNotification(OlapNotify*n) { theNotifs.insert(n); } void notifyNewWorld(G4LogicalVolume*); void notifyOlaps(const std::vector &); - void deRegisterNotification(OlapNotify*n) { ; } + void deRegisterNotification(OlapNotify*) { ; } // FIXME: handle completly different in next redesign! std::map NoOlapMap; diff --git a/examples/extended/geometry/olap/olapex.cc b/examples/extended/geometry/olap/olapex.cc index 86a598670a..85d9a211be 100644 --- a/examples/extended/geometry/olap/olapex.cc +++ b/examples/extended/geometry/olap/olapex.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: olapex.cc,v 1.3 2006/06/29 17:21:55 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: olapex.cc,v 1.5 2010/10/27 10:40:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -40,8 +40,6 @@ // Geant4 #include "G4RunManager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" // this module #include "OlapGenerator.hh" @@ -57,6 +55,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #ifdef debug #include "G4LogicalVolumeStore.hh" #include "G4PhysicalVolumeStore.hh" @@ -68,14 +70,13 @@ int main(int argc,char** argv) { G4RunManager * runManager = new G4RunManager; - // particle-generator must be the first useraction!!! - runManager->SetUserAction(new OlapGenerator); - // put the user-geometry here G4VUserDetectorConstruction * origGeom = new RandomDetector(0); OlapDetConstr * olapGeom = new OlapDetConstr(origGeom); runManager->SetUserInitialization(olapGeom); + runManager->SetUserInitialization(new OlapPhysicsList); + runManager->SetUserAction(new OlapGenerator); // initialize G4 runManager->Initialize(); @@ -84,12 +85,6 @@ int main(int argc,char** argv) { OlapManager * olap = OlapManager::GetOlapManager(); olap->GotoLV(olap->GetFullWorld()->GetLogicalVolume()->GetName()); -#ifdef G4VIS_USE - //Instantiating VisManager - G4VisManager *visManager = new G4VisExecutive; - visManager -> Initialize(); -#endif - //User action classes. OlapRunAction * olapRunAction = new OlapRunAction; OlapEventAction * olapEventAction = new OlapEventAction(olapRunAction); @@ -98,8 +93,6 @@ int main(int argc,char** argv) { runManager->SetUserAction(olapEventAction); runManager->SetUserAction(olapSteppingAction); - - #ifdef debug //Get number of logical and physical volumes G4LogicalVolumeStore* logstore = G4LogicalVolumeStore::GetInstance(); @@ -111,28 +104,32 @@ int main(int argc,char** argv) { << "====================================" << endl << endl; #endif - +#ifdef G4VIS_USE + //Instantiating VisManager + G4VisManager *visManager = new G4VisExecutive; + visManager -> Initialize(); +#endif //Get the pointer for the User Interface maager - G4UImanager* UI = G4UImanager::GetUIpointer(); - - if (argc == 1) { - G4VUIshell * s = new G4UItcsh("Idle> ",10); - G4UIsession* session = new G4UIterminal(s); - - G4String command = "/control/execute gui.mac"; - UI->ApplyCommand(command); - session->SessionStart(); - - delete session; - } - //Batch mode - else { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); - } + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + if (argc!=1) // batch mode + { +#ifdef G4VIS_USE + visManager->SetVerboseLevel("quiet"); +#endif + 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); + ui->SessionStart(); + delete ui; +#endif + } #ifdef G4VIS_USE delete visManager; diff --git a/examples/extended/geometry/olap/src/OlapDetConstr.cc b/examples/extended/geometry/olap/src/OlapDetConstr.cc index 02eba1550f..768ef2b813 100644 --- a/examples/extended/geometry/olap/src/OlapDetConstr.cc +++ b/examples/extended/geometry/olap/src/OlapDetConstr.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: OlapDetConstr.cc,v 1.4 2006/06/29 17:22:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: OlapDetConstr.cc,v 1.5 2010/11/16 14:34:30 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -529,7 +529,7 @@ void OlapDetConstr::DeleteNewWorld() if (nr==0) { - G4cerr << "OlapDetConstr::DeleteNewWorld(): no daughter in NewWorld!" + G4cout << "OlapDetConstr::DeleteNewWorld(): no daughter in NewWorld!" << G4endl << G4endl; return; } diff --git a/examples/extended/geometry/olap/src/OlapManager.cc b/examples/extended/geometry/olap/src/OlapManager.cc index 6f4c364b9f..31970cb0c5 100644 --- a/examples/extended/geometry/olap/src/OlapManager.cc +++ b/examples/extended/geometry/olap/src/OlapManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: OlapManager.cc,v 1.3 2006/06/29 17:23:00 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: OlapManager.cc,v 1.4 2010/08/24 07:57:14 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -45,15 +45,15 @@ #include "OlapGenerator.hh" #include "OlapEventAction.hh" #include "G4GeoNav.hh" +#include "G4GeometryTolerance.hh" #include "G4RunManager.hh" #include "globals.hh" OlapManager * OlapManager::theInstance = 0; -OlapManager::OlapManager() : - olapGenerator(0), delta( kRadTolerance ), - eventsPerRun(27), lvPos(0), polyMode(false), - interrupt(false) +OlapManager::OlapManager() + : olapGenerator(0), eventsPerRun(27), lvPos(0), + polyMode(false), interrupt(false) { theMessenger = new OlapManagerMessenger(this); theLVStore = G4LogicalVolumeStore::GetInstance(); @@ -61,6 +61,7 @@ OlapManager::OlapManager() : //std::vector::iterator aIt = theLVStore->begin(); //G4LogicalVolumeStore::iterator aIt = theLVStore->begin(); + delta = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); theRunManager = G4RunManager::GetRunManager(); const G4VUserDetectorConstruction * aTmp = theRunManager->GetUserDetectorConstruction(); diff --git a/examples/extended/geometry/olap/src/OlapManagerMessenger.cc b/examples/extended/geometry/olap/src/OlapManagerMessenger.cc index 07b9648553..1bf264e9f0 100644 --- a/examples/extended/geometry/olap/src/OlapManagerMessenger.cc +++ b/examples/extended/geometry/olap/src/OlapManagerMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: OlapManagerMessenger.cc,v 1.3 2006/06/29 17:23:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: OlapManagerMessenger.cc,v 1.4 2010/08/24 07:57:14 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -39,6 +39,7 @@ #include "OlapManager.hh" #include "OlapLogManager.hh" +#include "G4GeometryTolerance.hh" #include "G4UIdirectory.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" @@ -54,6 +55,8 @@ OlapManagerMessenger::OlapManagerMessenger(OlapManager* aManager) theLogManager = OlapLogManager::GetOlapLogManager(); + G4double delta = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); + theOlapDir = new G4UIdirectory("/olap/"); theOlapDir->SetGuidance("Overlap detection facility"); @@ -77,7 +80,7 @@ OlapManagerMessenger::OlapManagerMessenger(OlapManager* aManager) theDeltaCmd = new G4UIcmdWithADoubleAndUnit("/olap/delta",this); theDeltaCmd->SetGuidance("set boundary tolerance for overlaps in units of length"); - theDeltaCmd->SetDefaultValue(kRadTolerance); + theDeltaCmd->SetDefaultValue(delta); theDeltaCmd->SetParameterName("delta",true); theDeltaCmd->SetRange("delta>=1.e-9"); // current G4-accuracy theDeltaCmd->SetUnitCategory("Length"); diff --git a/examples/extended/geometry/olap/src/OlapPhysicsList.cc b/examples/extended/geometry/olap/src/OlapPhysicsList.cc index 393e467ea6..ac7829fcf0 100644 --- a/examples/extended/geometry/olap/src/OlapPhysicsList.cc +++ b/examples/extended/geometry/olap/src/OlapPhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: OlapPhysicsList.cc,v 1.2 2006/06/29 17:23:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: OlapPhysicsList.cc,v 1.3 2010/08/16 08:23:55 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -38,8 +38,6 @@ #include "OlapPhysicsList.hh" #include "G4ios.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" diff --git a/examples/extended/hadronic/Hadr00/GNUmakefile b/examples/extended/hadronic/Hadr00/GNUmakefile index 064cc5e024..62323f1679 100644 --- a/examples/extended/hadronic/Hadr00/GNUmakefile +++ b/examples/extended/hadronic/Hadr00/GNUmakefile @@ -1,5 +1,5 @@ -# $Id: GNUmakefile,v 1.1 2008/07/07 16:37:26 vnivanch Exp $ -# GEANT4 tag $Name: geant4-09-02 $ +# $Id: GNUmakefile,v 1.2 2010/01/11 16:40:31 gcosmo Exp $ +# GEANT4 tag $Name: geant4-09-04-beta-01 $ # -------------------------------------------------------------- # GNUmakefile for examples module # -------------------------------------------------------------- @@ -9,7 +9,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../../ + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/hadronic/Hadr00/History b/examples/extended/hadronic/Hadr00/History index 03a7c40c1f..3121c074e1 100644 --- a/examples/extended/hadronic/Hadr00/History +++ b/examples/extended/hadronic/Hadr00/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2009/06/26 16:27:00 vnivanch Exp $ +$Id: History,v 1.10 2010/10/11 11:03:56 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,21 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +11-10-10 V.Ivant (exhadr00-V09-03-04) +- Cleanup AIDA interface + +06-06-10 J.Perl (exhadr00-V09-03-03) +- Remove unused variable in EventAction + +03-06-10 J.Perl (exhadr00-V09-03-02) +- Updated vis usage + +27-05-10 V.Ivant (exhadr00-V09-03-01) +- Improved printout + +26-05-10 J.Allsion (exhadr00-V09-03-00) +- Introduced G4UIExecutive. + 26-06-09 V.Ivant (exhadr00-V09-02-00) - added a possibility to define Physics List as a job parameter - added script for the test run of all Physics Lists diff --git a/examples/extended/hadronic/Hadr00/README b/examples/extended/hadronic/Hadr00/README index 92ca521856..d18b16fd8f 100644 --- a/examples/extended/hadronic/Hadr00/README +++ b/examples/extended/hadronic/Hadr00/README @@ -112,3 +112,10 @@ To show the content of a histogram ID=i the commands may be applied: /testhadr/HistoPrint i +!!! +Please put '/run/initialize' after '/testhadr/' commands and before +'/run/beamOn ' command: + +/testhadr/.. +/run/initialize +/run/beamOn 0 diff --git a/examples/extended/hadronic/Hadr00/hadr00.cc b/examples/extended/hadronic/Hadr00/hadr00.cc index 4cb0c2d4ac..17533bf77e 100644 --- a/examples/extended/hadronic/Hadr00/hadr00.cc +++ b/examples/extended/hadronic/Hadr00/hadr00.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: hadr00.cc,v 1.2 2009/06/26 16:27:00 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: hadr00.cc,v 1.4 2010/05/27 18:09:56 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------- // GEANT4 hadr00 @@ -44,8 +44,6 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "Randomize.hh" #include "DetectorConstruction.hh" @@ -56,7 +54,13 @@ #include "RunAction.hh" #include "EventAction.hh" +#ifdef G4VIS_USE #include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -92,7 +96,7 @@ int main(int argc,char** argv) { runManager->SetUserAction(new EventAction()); //get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); G4VisManager* visManager = 0; if (argc==1) // Define UI terminal for interactive mode @@ -102,20 +106,17 @@ int main(int argc,char** argv) { visManager = new G4VisExecutive; visManager->Initialize(); #endif - G4UIsession* session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + 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/extended/hadronic/Hadr00/include/Histo.hh b/examples/extended/hadronic/Hadr00/include/Histo.hh index a7b55fe7b1..5021ef54c5 100644 --- a/examples/extended/hadronic/Hadr00/include/Histo.hh +++ b/examples/extended/hadronic/Hadr00/include/Histo.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: Histo.hh,v 1.1 2008/07/07 16:37:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: Histo.hh,v 1.2 2010/10/11 11:02:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #ifndef Histo_h #define Histo_h 1 @@ -49,15 +49,14 @@ #include "G4DataVector.hh" #include "G4Track.hh" - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... class HistoMessenger; namespace AIDA { - class ITree; - // class ITuple; - class IHistogram1D; + class ITree; + class IHistogram1D; + class IAnalysisFactory; } class Histo @@ -74,9 +73,6 @@ public: void save(); // Save histogramms to file - void reset(); - // Reset histogramms - void add1D(const G4String&, const G4String&, G4int nb=100, G4double x1=0., G4double x2=1., G4double u=1.); // In this method histogramms are predefined @@ -112,7 +108,7 @@ private: G4int defaultAct; std::vector histo; - // AIDA::ITuple* ntup; + AIDA::IAnalysisFactory* af; AIDA::ITree* tree; HistoMessenger* messenger; std::vector active; diff --git a/examples/extended/hadronic/Hadr00/include/HistoManager.hh b/examples/extended/hadronic/Hadr00/include/HistoManager.hh index f176650447..c57759a93e 100644 --- a/examples/extended/hadronic/Hadr00/include/HistoManager.hh +++ b/examples/extended/hadronic/Hadr00/include/HistoManager.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.hh,v 1.1 2008/07/07 16:37:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.hh,v 1.2 2010/10/11 11:02:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -108,7 +108,6 @@ private: G4int nBinsE; G4int nBinsP; - G4bool needsReset; G4bool isInitialised; }; @@ -124,32 +123,32 @@ inline void HistoManager::SetElementName(const G4String& name) inline void HistoManager::SetNumberOfBinsE(G4int val) { - if(val>0) nBinsE = val; + if(val>0) { nBinsE = val; } } inline void HistoManager::SetNumberOfBinsP(G4int val) { - if(val>0) nBinsP = val; + if(val>0) { nBinsP = val; } } inline void HistoManager::SetMinKinEnergy(G4double val) { - if(val>0 && val0 && valminKinEnergy) maxKinEnergy = val; + if(val>minKinEnergy) { maxKinEnergy = val; } } inline void HistoManager::SetMinMomentum(G4double val) { - if(val>0 && val0 && valminMomentum) maxMomentum = val; + if(val>minMomentum) { maxMomentum = val; } } inline G4int HistoManager::GetVerbose() const diff --git a/examples/extended/hadronic/Hadr00/n.mac b/examples/extended/hadronic/Hadr00/n.mac new file mode 100644 index 0000000000..984fe150db --- /dev/null +++ b/examples/extended/hadronic/Hadr00/n.mac @@ -0,0 +1,23 @@ +#================================================ +# Macro file for hadr00 +# 14.04.2009 Ivanchneko +#================================================ +/control/verbose 1 +/run/verbose 1 +/tracking/verbose 0 +/testhadr/TargetMat G4_C +/testhadr/TargetRadius 1 cm +/testhadr/TargetLength 10 cm +/testhadr/PrintModulo 10 +#/testhadr/HistoPrint 3 +# +/run/initialize +# +/gun/particle neutron +/gun/energy 100. MeV +/testhadr/HistoName nC +/testhadr/particle neutron +/testhadr/verbose 1 +/process/eLoss/verbose 0 +/run/beamOn 0 +# diff --git a/examples/extended/hadronic/Hadr00/scripts/AddMC.C b/examples/extended/hadronic/Hadr00/scripts/AddMC.C new file mode 100644 index 0000000000..e66ed09b53 --- /dev/null +++ b/examples/extended/hadronic/Hadr00/scripts/AddMC.C @@ -0,0 +1,21 @@ +{ +fin = filp[ipart] + filt[itarg] + ".root"; + +TFile* fff = new TFile(fin); +TH1F* hhh; + +cout << "Opened file " << fin << " ixs= " << ixs << endl; +if(ixs==0) hhh = (TH1F*)fff->Get("h1"); +if(ixs==1) hhh = (TH1F*)fff->Get("h2"); +if(ixs==2) hhh = (TH1F*)fff->Get("h3"); +if(ixs==3) hhh = (TH1F*)fff->Get("h4"); +if(ixs==4) hhh = (TH1F*)fff->Get("h5"); +if(ixs==5) hhh = (TH1F*)fff->Get("h6"); +if(ixs==6) hhh = (TH1F*)fff->Get("h7"); + +hhh->SetLineColor(col[itarg]); +hhh->SetLineWidth(2); +leg[ixs]->AddEntry(hhh, targ[itarg], "l"); +hhh->Draw("C HIST SAME"); +c1->Update(); +} diff --git a/examples/extended/hadronic/Hadr00/scripts/Plot.C b/examples/extended/hadronic/Hadr00/scripts/Plot.C new file mode 100644 index 0000000000..52c9da0355 --- /dev/null +++ b/examples/extended/hadronic/Hadr00/scripts/Plot.C @@ -0,0 +1,11 @@ +{ +gROOT->ProcessLine(".x $G4INSTALL/examples/extended/hadronic/Hadr00/scripts/Style.C"); + +for(ipart = 0; ipart<4; ipart++) { +for(ixs=0; ixs<7; ixs++) { + bool yes = true; + if(ipart != 1 && (ixs == 4 || ixs == 5)) yes = false; + if(yes)gROOT->ProcessLine(".x $G4INSTALL/examples/extended/hadronic/Hadr00/scripts/PlotSingle.C"); +} +} +} diff --git a/examples/extended/hadronic/Hadr00/scripts/PlotSingle.C b/examples/extended/hadronic/Hadr00/scripts/PlotSingle.C new file mode 100644 index 0000000000..095829cecc --- /dev/null +++ b/examples/extended/hadronic/Hadr00/scripts/PlotSingle.C @@ -0,0 +1,23 @@ +{ + +c1 = new TCanvas("c1"," ",0.5, 5, 800, 600); + +gtit = hed[ixs] + " Cross Section for " + part[ipart]; +hh[ixs] = gPad->DrawFrame(x1[ixs], y1[ixs], x2[ixs], y2[ixs], gtit); +hh[ixs]->GetYaxis()->SetTitle(axtit[1]); +gPad->SetLogy(); +if(ixs==0 || ixs==2) hh[ixs]->GetXaxis()->SetTitle(axtit[2]); +else hh[ixs]->GetXaxis()->SetTitle(axtit[0]); + +leg[ixs] = new TLegend(0.9, 0.6, 1.1, 0.9); + +for(itarg=0; itargProcessLine(".x $G4INSTALL/examples/extended/hadronic/Hadr00/scripts/AddMC.C"); +cout << "Target# " << itarg << " max# " << ntarg << endl; +} +cout << "Loop is completed ixs= " << ixs << endl; +leg[ixs]->Draw("SAME"); +cout << "Legend is done " << endl; +c1->Update(); +c1->Print("a"+filp[ipart] + fil0[ixs] + ".gif"); +} diff --git a/examples/extended/hadronic/Hadr00/scripts/Style.C b/examples/extended/hadronic/Hadr00/scripts/Style.C new file mode 100644 index 0000000000..b5ea76851e --- /dev/null +++ b/examples/extended/hadronic/Hadr00/scripts/Style.C @@ -0,0 +1,34 @@ +{ +gROOT->Reset(); +gROOT->SetStyle("Plain"); +gStyle->SetOptStat(0); + +Int_t ntarg = 5; +Int_t npart = 4; +Int_t nxs = 7; + +Int_t ipart = 0; +Int_t itarg = 0; +Int_t ixs = 0; + +TString axtit[3] = {"log10(E/MeV)", "Cross section (bn)","log10(p/GeV)"}; + +TString hed[nxs] = {"Elastic","Elastic","Inelastic","Inelastic","Capture","Fission","ChargeExchange"}; +TString fil0[nxs]= {"elp","el","inlp","inl","cap","fis","cex"}; +Double_t x1[nxs] = {-3,-1,-3,-1,-1,-1,-1}; +Double_t x2[nxs] = {5,6,5,6,6,6,6}; +Double_t y1[nxs] = {0.001,0.001,0.001,0.001,0.00001,0.00001,0.0001}; +Double_t y2[nxs] = {20,10,20,5,1,1,1}; +TLegend* leg[nxs]; +TH1F* hh[nxs]; +TString gtit, fin; + +TFile ff[ntarg]; +TString targ[ntarg] = {"H","C","Al","Fe","Pb"}; +TString filt[ntarg] = {"h","c","al","fe","pb"}; +Int_t col[ntarg] = {2, 3, 4, 5, 6}; + +TString filp[npart] = {"p_","n_","pi+","pi-"}; +TString part[npart] = {"proton","neutron","#pi^{+}","#pi^{-}"}; + +} diff --git a/examples/extended/hadronic/Hadr00/scripts/run.csh b/examples/extended/hadronic/Hadr00/scripts/run.csh new file mode 100644 index 0000000000..04952f3607 --- /dev/null +++ b/examples/extended/hadronic/Hadr00/scripts/run.csh @@ -0,0 +1,10 @@ +#/bin/csh +#================================================ +# Macro file for hadr00 run over all Physics Lists +# 26.06.2009 V.Ivanchneko +#================================================ + +source $G4INSTALL/examples/extended/hadronic/Hadr00/scripts/run_single.csh QGSP_BERT +source $G4INSTALL/examples/extended/hadronic/Hadr00/scripts/run_single.csh QBBC + +# diff --git a/examples/extended/hadronic/Hadr00/scripts/run_single.csh b/examples/extended/hadronic/Hadr00/scripts/run_single.csh new file mode 100644 index 0000000000..759a99d782 --- /dev/null +++ b/examples/extended/hadronic/Hadr00/scripts/run_single.csh @@ -0,0 +1,15 @@ +#/bin/csh +#================================================ +# Macro file for hadr00 run over all Physics Lists +# 26.06.2009 V.Ivanchneko +#================================================ + +mkdir -p $1 +cd $1 +rm -f *.* +setenv PHYSLIST $1 +$G4BIN/$G4SYSTEM/hadr00 $G4INSTALL/examples/extended/hadronic/Hadr00/pn.mac >& pn.out +$G4BIN/$G4SYSTEM/hadr00 $G4INSTALL/examples/extended/hadronic/Hadr00/pi.mac >& pi.out +root -b -q $G4INSTALL/examples/extended/hadronic/Hadr00/scripts/Plot.C +cd ../ +# diff --git a/examples/extended/hadronic/Hadr00/src/EventAction.cc b/examples/extended/hadronic/Hadr00/src/EventAction.cc index a17badc71e..5ce73147af 100755 --- a/examples/extended/hadronic/Hadr00/src/EventAction.cc +++ b/examples/extended/hadronic/Hadr00/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.1 2008/07/07 16:37:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.3 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // ///////////////////////////////////////////////////////////////////////// // @@ -42,9 +42,6 @@ #include "EventActionMessenger.hh" #include "G4UImanager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -94,28 +91,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) { - G4TrajectoryContainer* trjc = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trjc) n_trajectories = trjc->entries(); - - for(G4int i=0; iGetTrajectoryContainer()))[i]); - if (drawFlag == "all") t->DrawTrajectory(1000); - else if ((drawFlag == "charged")&&(t->GetCharge() != 0.)) - t->DrawTrajectory(1000); - else if ((drawFlag == "neutral")&&(t->GetCharge() == 0.)) - t->DrawTrajectory(1000); - else if ((drawFlag == "charged+n")&&((t->GetCharge() != 0.)|| - (t->GetCharge()==0.&&t->GetParticleName()=="neutron"))) - t->DrawTrajectory(1000); - } - } - if(debugStarted) { UI->ApplyCommand("/tracking/verbose 0"); debugStarted = false; diff --git a/examples/extended/hadronic/Hadr00/src/Histo.cc b/examples/extended/hadronic/Hadr00/src/Histo.cc index 71126e3717..d3732ee74a 100644 --- a/examples/extended/hadronic/Hadr00/src/Histo.cc +++ b/examples/extended/hadronic/Hadr00/src/Histo.cc @@ -43,20 +43,19 @@ #include #endif -//#include - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - Histo::Histo(G4int ver) { verbose = ver; histName = "histo"; - histType = "hbook"; - option = "--noErrors uncompress"; + histType = "root"; + option = ""; nHisto = 0; defaultAct = 1; messenger = new HistoMessenger(this); +#ifdef G4ANALYSIS_USE + tree = 0; + af = 0; +#endif } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -65,9 +64,7 @@ Histo::~Histo() { delete messenger; #ifdef G4ANALYSIS_USE - for(G4int i=0; i0) + if(verbose>0) { G4cout<<"Histo books analysis factory"<createTreeFactory(); if(verbose>0) @@ -98,15 +95,14 @@ void Histo::book() // Creating an 1-dimensional histograms in the root directory of the tree for(G4int i=0; i0) - G4cout<<" I am in book: histogram "<< i << " id= " << ids[i] <0) { + G4cout<<"Histo::book: histogram "<< i << " id= " << ids[i] <createHistogram1D(ids[i], tittles[i], bins[i], xmin[i], xmax[i]); } } delete hf; delete tf; - delete af; #endif } @@ -120,18 +116,8 @@ void Histo::save() G4cout << "Closing the tree..." << G4endl; tree->close(); G4cout << "Histograms and Ntuples are saved" << G4endl; - reset(); -#endif -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void Histo::reset() -{ -#ifdef G4ANALYSIS_USE - for(G4int i=0; ireset(); - } + delete tree; + tree = 0; #endif } @@ -139,8 +125,8 @@ void Histo::reset() void Histo::setFileType(const G4String& nam) { - if(nam == "hbook" || nam == "root" || nam == "aida") histType = nam; - else if(nam == "XML" || nam == "xml") histType = "aida"; + if(nam == "hbook" || nam == "root" || nam == "aida") { histType = nam; } + else if(nam == "XML" || nam == "xml") { histType = "aida"; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -149,17 +135,17 @@ void Histo::add1D(const G4String& id, const G4String& name, G4int nb, G4double x1, G4double x2, G4double u) { if(nHisto > 0) { - for(G4int i=0; i 0) + if(verbose > 0) { G4cout << "New histogram will be booked: #" << id << " <" << name << " " << nb << " " << x1 << " " << x2 << " " << u << G4endl; - - nHisto++; + } + ++nHisto; x1 /= u; x2 /= u; active.push_back(defaultAct); @@ -177,8 +163,7 @@ void Histo::add1D(const G4String& id, const G4String& name, G4int nb, void Histo::setHisto1D(G4int i, G4int nb, G4double x1, G4double x2, G4double u) { if(i>=0 && i 0) - { + if(verbose > 0) { G4cout << "Update histogram: #" << i << " " << nb << " " << x1 << " " << x2 << " " << u << G4endl; @@ -216,9 +201,9 @@ void Histo::fill(G4int i, G4double x, G4double w) void Histo::scale(G4int i, G4double x) { - if(verbose > 0) + if(verbose > 0) { G4cout << "Scale histogram: #" << i << " by factor " << x << G4endl; - + } #ifdef G4ANALYSIS_USE if(i>=0 && iscale(x); diff --git a/examples/extended/hadronic/Hadr00/src/HistoManager.cc b/examples/extended/hadronic/Hadr00/src/HistoManager.cc index 9cbaf9e8a4..ca01dede56 100644 --- a/examples/extended/hadronic/Hadr00/src/HistoManager.cc +++ b/examples/extended/hadronic/Hadr00/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.5 2008/12/01 17:06:52 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HistoManager.cc,v 1.7 2010/10/11 11:02:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -85,14 +85,13 @@ HistoManager::HistoManager() elementName = "Al"; minKinEnergy = 0.1*MeV; - maxKinEnergy = 1*TeV; + maxKinEnergy = 10*TeV; minMomentum = 1*MeV; - maxMomentum = 100*TeV; + maxMomentum = 10*TeV; - nBinsE = 700; - nBinsP = 800; + nBinsE = 800; + nBinsP = 700; - needsReset = false; isInitialised = false; } @@ -107,8 +106,6 @@ HistoManager::~HistoManager() void HistoManager::BeginOfRun() { - needsReset = false; - G4double p1 = std::log10(minMomentum/GeV); G4double p2 = std::log10(maxMomentum/GeV); G4double e1 = std::log10(minKinEnergy/MeV); @@ -124,6 +121,7 @@ void HistoManager::BeginOfRun() histo->setHisto1D(4,nBinsE,e1,e2); histo->setHisto1D(5,nBinsE,e1,e2); histo->setHisto1D(6,nBinsE,e1,e2); + histo->setHisto1D(7,nBinsE,e1,e2); } else { histo->add1D("h1","Elastic cross section (barn) as a functions of log10(p/GeV)", @@ -140,6 +138,8 @@ void HistoManager::BeginOfRun() nBinsE,e1,e2); histo->add1D("h7","Charge exchange cross section (barn) as a functions of log10(E/MeV)", nBinsE,e1,e2); + histo->add1D("h8","Total cross section (barn) as a functions of log10(E/MeV)", + nBinsE,e1,e2); } isInitialised = true; @@ -153,7 +153,6 @@ void HistoManager::EndOfRun() if(verbose > 0) { G4cout << "HistoManager: End of run actions are started" << G4endl; } - if(needsReset) BeginOfRun(); const G4Element* elm = G4NistManager::Instance()->FindOrBuildElement(elementName); @@ -164,12 +163,12 @@ void HistoManager::EndOfRun() << " off " << elementName << G4endl; if(verbose > 0) { - G4cout << "-------------------------------------------------------------" + G4cout << "------------------------------------------------------------------------" << G4endl; - G4cout << " N E(MeV) Elastic(barn) Inelastic(barn)"; - if(particle == neutron) G4cout << " Capture(barn) Fission(barn)"; - G4cout << " ChargeExchange(barn)" << G4endl; - G4cout << "-------------------------------------------------------------" + G4cout << " N E(MeV) Elastic(b) Inelastic(b)"; + if(particle == neutron) { G4cout << " Capture(b) Fission(b)"; } + G4cout << " Total(b)" << G4endl; + G4cout << "------------------------------------------------------------------------" << G4endl; } if(!particle || !elm) { @@ -178,7 +177,7 @@ void HistoManager::EndOfRun() } G4int prec = G4cout.precision(); - G4cout.precision(7); + G4cout.precision(4); G4HadronicProcessStore* store = G4HadronicProcessStore::Instance(); G4double mass = particle->GetPDGMass(); @@ -193,30 +192,34 @@ void HistoManager::EndOfRun() G4double dp = (p2 - p1)/G4double(nBinsP); G4double x = e1 - de*0.5; - G4double e, p, xs; + G4double e, p, xs, xtot; G4int i; for(i=0; i0) G4cout << std::setw(5) << i << std::setw(12) << e; xs = store->GetElasticCrossSectionPerAtom(particle,e,elm); - if(verbose>0) G4cout << std::setw(14) << xs/barn; + xtot = xs; + if(verbose>0) G4cout << std::setw(12) << xs/barn; histo->fill(1, x, xs/barn); xs = store->GetInelasticCrossSectionPerAtom(particle,e,elm); - if(verbose>0) G4cout << " " << std::setw(17) << xs/barn; + xtot += xs; + if(verbose>0) G4cout << " " << std::setw(12) << xs/barn; histo->fill(3, x, xs/barn); if(particle == neutron) { xs = store->GetCaptureCrossSectionPerAtom(particle,e,elm); - if(verbose>0) G4cout << " " << std::setw(17) << xs/barn; + xtot += xs; + if(verbose>0) G4cout << " " << std::setw(12) << xs/barn; histo->fill(4, x, xs/barn); xs = store->GetFissionCrossSectionPerAtom(particle,e,elm); - if(verbose>0) G4cout << " " << std::setw(17) << xs/barn; + xtot += xs; + if(verbose>0) G4cout << " " << std::setw(12) << xs/barn; histo->fill(5, x, xs/barn); } xs = store->GetChargeExchangeCrossSectionPerAtom(particle,e,elm); - if(verbose>0) G4cout << " " << std::setw(17) << xs/barn; + if(verbose>0) G4cout << " " << std::setw(12) << xtot/barn << G4endl; histo->fill(6, x, xs/barn); - if(verbose>0) G4cout << " " << x << G4endl; + histo->fill(7, x, xtot/barn); } x = p1 - dp*0.5; @@ -230,13 +233,12 @@ void HistoManager::EndOfRun() histo->fill(2, x, xs/barn); } if(verbose > 0) { - G4cout << "---------------------------------------------------------" + G4cout << "-----------------------------------------------------------------" << G4endl; } G4cout.precision(prec); - if(verbose > 1) histo->print(0); + if(verbose > 1) { histo->print(0); } histo->save(); - histo->reset(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/hadronic/Hadr00/vis.mac b/examples/extended/hadronic/Hadr00/vis.mac index 9b190dbb4f..cd91aa9393 100644 --- a/examples/extended/hadronic/Hadr00/vis.mac +++ b/examples/extended/hadronic/Hadr00/vis.mac @@ -1,42 +1,81 @@ -# -# Macro file for the initialization phase of "TestEm9.cc" -# -# Sets some default verbose -# and initializes the graphic. -# /control/verbose 2 /run/verbose 2 # -# 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 OGLIX -#/vis/open OGLIXm -# -#/vis/open DAWNFILE -# -# Draw scene -/vis/viewer/set/viewpointThetaPhi 90 0 deg -/vis/viewer/zoom 1.0 -/vis/viewer/flush -# -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate -# -#/testhadr/DrawTracks charged /testhadr/TargetMat G4_Al /testhadr/TargetRadius 1 cm /testhadr/TargetLength 10 cm -/testhadr/NumberDivZ 100 +#/testhadr/NumberDivZ 100 /testhadr/DrawTracks all -/testhadr/CutsAll 1 mm -/testhadr/Physics QBBC +#/testhadr/CutsAll 1 mm +#/testhadr/Physics QBBC # /run/initialize # - +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/hadronic/Hadr01/GNUmakefile b/examples/extended/hadronic/Hadr01/GNUmakefile index 9f7b72e1a9..bfeddcafd8 100644 --- a/examples/extended/hadronic/Hadr01/GNUmakefile +++ b/examples/extended/hadronic/Hadr01/GNUmakefile @@ -1,5 +1,5 @@ -# $Id: GNUmakefile,v 1.8 2008/06/13 15:41:34 vnivanch Exp $ -# GEANT4 tag $Name: geant4-09-02 $ +# $Id: GNUmakefile,v 1.9 2010/01/11 16:41:02 gcosmo Exp $ +# GEANT4 tag $Name: geant4-09-04-beta-01 $ # -------------------------------------------------------------- # GNUmakefile for examples module with AIDA interface # -------------------------------------------------------------- @@ -9,7 +9,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../../ + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/hadronic/Hadr01/History b/examples/extended/hadronic/Hadr01/History index b1fdef56eb..31ba27f410 100644 --- a/examples/extended/hadronic/Hadr01/History +++ b/examples/extended/hadronic/Hadr01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.31 2009/11/25 19:57:29 vnivanch Exp $ +$Id: History,v 1.43 2010/11/19 20:13:26 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,43 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +19-11-10 V.Ivant (exhadr01-V09-03-10) +- PhysicsList - update according to Physics List library + +25-10-10 V.Ivant (exhadr01-V09-03-09) +- PhysicsList - removed unused headers and double definition of + QGSP_BIC_EMY + +11-10-10 V.Ivant (exhadr01-V09-03-08) +- PhysicsList - removed TRV physics lists and cleanup elastic +- Histo - use default options for AIDA + +17-08-10 V.Ivant (exhadr01-V09-03-07) +- PhysicsList - use deafault elastic builder in majority of cases + +11-06-10 V.Ivant (exhadr01-V09-03-06) +- Fixed memory leak at destruction +- Cleanup PhysList according to update of physics_list library + +06-06-10 J.Perl (exhadr01-V09-03-05) +- Remove unused variable in EventAction + +04-06-10 J.Perl (exhadr01-V09-03-04) +- Updated vis usage + +26-05-10 J.Allsion (exhadr01-V09-03-03) +- Introduced G4UIExecutive. + +26-05-10 J.Allsion (exhadr01-V09-03-02) +- Tag name spoiled by finger trouble in tags database.. + +13-01-10 V.Ivant (exhadr01-V09-03-01) +- Fixed problem of counting of particles leaked from the target + +29-12-09 V.Ivant (exhadr01-V09-03-00) +- When PhysList defined via PHYSLIST environment variable still + make local PhysList messenger available to avoid crash in old macro + 25-09-09 V.Ivant (exhadr01-V09-02-03) - Update Physics List choices according to 9.3 configurations diff --git a/examples/extended/hadronic/Hadr01/hadr01.cc b/examples/extended/hadronic/Hadr01/hadr01.cc index 75f66ead40..aac3c8ae2b 100644 --- a/examples/extended/hadronic/Hadr01/hadr01.cc +++ b/examples/extended/hadronic/Hadr01/hadr01.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: hadr01.cc,v 1.10 2009/11/25 19:56:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: hadr01.cc,v 1.12 2010/05/26 11:53:40 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------- // GEANT4 hadr01 @@ -36,6 +36,7 @@ // Authors: A.Bagulya, I.Gudowska, V.Ivanchenko, N.Starkov // // Modified: +// 29.12.2009 V.Ivanchenko introduced access to reference PhysLists // // ------------------------------------------------------------- // @@ -45,8 +46,6 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "Randomize.hh" #include "DetectorConstruction.hh" @@ -54,12 +53,19 @@ #include "G4PhysListFactory.hh" #include "G4VModularPhysicsList.hh" #include "PrimaryGeneratorAction.hh" +#include "PhysicsListMessenger.hh" #include "RunAction.hh" #include "EventAction.hh" #include "StackingAction.hh" +#ifdef G4VIS_USE #include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -76,6 +82,7 @@ int main(int argc,char** argv) { G4PhysListFactory factory; G4VModularPhysicsList* phys = 0; + PhysicsListMessenger* mess = 0; G4String physName = ""; // Physics List name defined via 2nd argument @@ -88,6 +95,7 @@ int main(int argc,char** argv) { // reference PhysicsList via its name if(factory.IsReferencePhysList(physName)) { phys = factory.GetReferencePhysList(physName); + mess = new PhysicsListMessenger(); } // local Physics List @@ -103,7 +111,7 @@ int main(int argc,char** argv) { runManager->SetUserAction(new StackingAction()); //get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); G4VisManager* visManager = 0; if (argc==1) // Define UI terminal for interactive mode @@ -113,25 +121,23 @@ int main(int argc,char** argv) { visManager = new G4VisExecutive; visManager->Initialize(); #endif - G4UIsession* session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; #endif - session->SessionStart(); - delete session; } 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 - if(visManager) delete visManager; + delete visManager; delete runManager; + delete mess; return 0; } diff --git a/examples/extended/hadronic/Hadr01/hadr01.out b/examples/extended/hadronic/Hadr01/hadr01.out index b4776515c9..3c9e8d14ab 100644 --- a/examples/extended/hadronic/Hadr01/hadr01.out +++ b/examples/extended/hadronic/Hadr01/hadr01.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -33,7 +33,7 @@ PhysicsList::AddPhysicsList: ---> Element: Al (Al) Z = 13.0 N = 27.0 A = 26.98 g/mole ---> Isotope: Al27 Z = 13 N = 27 A = 26.98 g/mole abundance: 100.00 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_Galactic density: 0.000 kg/m3 RadL: 204310101.835 pc Nucl.Int.Length: 114319208.901 pc Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm + Material: G4_Galactic density: 0.000 kg/m3 RadL: 204310101.835 pc Nucl.Int.Length: 114327973.206 pc Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % @@ -48,270 +48,269 @@ PhysicsList::SetCuts:CutLength : 700 um phot: for gamma, applyCuts: 1 SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma, applyCuts: 1 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 + KleinNishina : Emin= 0 eV Emax= 10 TeV conv: for gamma, applyCuts: 1 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGen2BS + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGen2BS + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban annihil: for e+, applyCuts: 1 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + WentzelVIUni : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + hPairProd : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + 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)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - WentzelVIUni : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu+, applyCuts: 1 SubType= 1 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV CoulombScat: for mu-, applyCuts: 1 SubType= 1 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 - 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; q2Max(GeV^2)= 1e+06 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eCoulombScattering : Emin= 0 eV Emax= 10 TeV + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + hPairProd : Emin= 0 eV Emax= 10 TeV ============================================================================================ HADRONIC PROCESSES SUMMARY (verbose level 1) Hadronic Processes for - hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 - hInelastic Models: FTFP: Emin(GeV)= 4.5 Emax(GeV)= 100000 - CascadeModel: Emin(GeV)= 0 Emax(GeV)= 7.5 + CHIPS_Inelastic Hadronic Processes for - hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 - hInelastic Models: FTFP: Emin(GeV)= 4.5 Emax(GeV)= 100000 - CascadeModel: Emin(GeV)= 0 Emax(GeV)= 7.5 + CHIPS_Inelastic + + Hadronic Processes for + ionInelastic Models: Binary Cascade: Emin(GeV)= 0 Emax(GeV)= 20 Hadronic Processes for ElectroNuclear Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 30000 @@ -321,49 +320,42 @@ hPairProd: for pi- SubType= 4 TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 Hadronic Processes for - hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 - hInelastic Models: FTFP: Emin(GeV)= 4.5 Emax(GeV)= 100000 - Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 6.5 + hInelastic Models: FTFP: Emin(GeV)= 4 Emax(GeV)= 100000 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 5 Hadronic Processes for - hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 - hInelastic Models: FTFP: Emin(GeV)= 4.5 Emax(GeV)= 100000 - Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 6.5 + hInelastic Models: FTFP: Emin(GeV)= 4 Emax(GeV)= 100000 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 5 Hadronic Processes for - hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 - hInelastic Models: FTFP: Emin(GeV)= 4.5 Emax(GeV)= 100000 - Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 6.5 + hInelastic Models: FTFP: Emin(GeV)= 4 Emax(GeV)= 100000 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 5 Hadronic Processes for muMinusCaptureAtRest Hadronic Processes for - hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 - hInelastic Models: QGSP: Emin(GeV)= 9.5 Emax(GeV)= 100000 - FTFP: Emin(GeV)= 4.5 Emax(GeV)= 25 - Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 6.5 + hInelastic Models: QGSP: Emin(GeV)= 12.5 Emax(GeV)= 100000 + FTFP: Emin(GeV)= 4 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 1 Emax(GeV)= 5 + Binary Cascade: Emin(GeV)= 0 Emax(GeV)= 1.5 nCapture Models: nRadCapture: Emin(GeV)= 0 Emax(GeV)= 100000 Hadronic Processes for - hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 - hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 - hInelastic Models: QGSP: Emin(GeV)= 9.5 Emax(GeV)= 100000 - FTFP: Emin(GeV)= 4.5 Emax(GeV)= 25 - Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 6.5 + hInelastic Models: QGSP: Emin(GeV)= 12.5 Emax(GeV)= 100000 + FTFP: Emin(GeV)= 4 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 5 Hadronic Processes for - hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 - hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 - hInelastic Models: QGSP: Emin(GeV)= 9.5 Emax(GeV)= 100000 - FTFP: Emin(GeV)= 4.5 Emax(GeV)= 25 - Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 6.5 + hInelastic Models: QGSP: Emin(GeV)= 12.5 Emax(GeV)= 100000 + FTFP: Emin(GeV)= 4 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 5 Hadronic Processes for - hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 - hInelastic Models: QGSP: Emin(GeV)= 9.5 Emax(GeV)= 100000 - FTFP: Emin(GeV)= 4.5 Emax(GeV)= 25 - Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 6.5 + hInelastic Models: QGSP: Emin(GeV)= 12.5 Emax(GeV)= 100000 + FTFP: Emin(GeV)= 4 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 1 Emax(GeV)= 5 + Binary Cascade: Emin(GeV)= 0 Emax(GeV)= 1.5 ============================================================================================ ========= Table of registered couples ============================== @@ -399,33 +391,33 @@ EventAction: Event # 90 started Run terminated. Run Summary Number of events processed : 100 - User=0.32s Real=0.32s Sys=0s + User=0.21s Real=0.22s Sys=0s RunAction: End of run actions are started HistoManager: End of run actions are started ======================================================== Beam particle proton Beam Energy(MeV) 3000 Number of events 100 -Average energy deposit (MeV) 95.32 RMS(MeV) 86.97 -Average number of steps 279.3 -Average number of gamma 3.55 -Average number of e- 3.2 -Average number of e+ 0.03 -Average number of neutrons 2.9 -Average number of protons 2.92 +Average energy deposit (MeV) 56.33 RMS(MeV) 46.71 +Average number of steps 214.2 +Average number of gamma 1.2 +Average number of e- 2.92 +Average number of e+ 0.02 +Average number of neutrons 0.7 +Average number of protons 0.7 Average number of antiprotons 0 -Average number of pi+ & pi- 0.59 -Average number of pi0 0.2 +Average number of pi+ & pi- 0.14 +Average number of pi0 0.05 Average number of kaons 0 Average number of muons 0 -Average number of deuterons+tritons 0.2 -Average number of He3+alpha 0.34 -Average number of ions 1.2 -Average number of forward neutrons 0.32 -Average number of reflected neutrons 0.04 -Average number of leaked neutrons 2.26 -Average number of proton leak 1.19 -Average number of pion leak 0.49 +Average number of deuterons+tritons 0.09 +Average number of He3+alpha 0.14 +Average number of ions 0.17 +Average number of forward neutrons 0.03 +Average number of reflected neutrons 0.62 +Average number of leaked neutrons 0.03 +Average number of proton leak 0.33 +Average number of pion leak 0.12 ======================================================== # diff --git a/examples/extended/hadronic/Hadr01/include/PhysicsList.hh b/examples/extended/hadronic/Hadr01/include/PhysicsList.hh index e69aa2e2dd..410da3e6c3 100755 --- a/examples/extended/hadronic/Hadr01/include/PhysicsList.hh +++ b/examples/extended/hadronic/Hadr01/include/PhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.hh,v 1.7 2009/11/25 19:56:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.hh,v 1.9 2010/11/19 20:12:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////// // @@ -73,11 +73,9 @@ private: void SetBuilderList0(G4bool flagHP = false); void SetBuilderList1(G4bool flagHP = false); - void SetBuilderList2(G4bool flagHP = false); - void SetBuilderList3(G4bool flagHP = false); - void SetBuilderList4(G4bool flagHP = false); - void SetBuilderList5(G4bool flagHP = false); - void SetBuilderList6(G4bool flagHP = false); + void SetBuilderList2(G4bool addStopping = false); + void SetBuilderList3(); + void SetBuilderList4(); G4double cutForGamma; G4double cutForElectron; diff --git a/examples/extended/hadronic/Hadr01/include/PhysicsListMessenger.hh b/examples/extended/hadronic/Hadr01/include/PhysicsListMessenger.hh index d326fb7ed8..88b2a3d618 100755 --- a/examples/extended/hadronic/Hadr01/include/PhysicsListMessenger.hh +++ b/examples/extended/hadronic/Hadr01/include/PhysicsListMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 17:23:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysicsListMessenger.hh,v 1.4 2009/12/29 19:23:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ///////////////////////////////////////////////////////////////////////// @@ -57,7 +57,7 @@ class PhysicsListMessenger: public G4UImessenger { public: - PhysicsListMessenger(PhysicsList* ); + PhysicsListMessenger(PhysicsList* p = 0); virtual ~PhysicsListMessenger(); void SetNewValue(G4UIcommand*, G4String); @@ -69,6 +69,7 @@ private: G4UIcmdWithADoubleAndUnit* gammaCutCmd; G4UIcmdWithADoubleAndUnit* electCutCmd; G4UIcmdWithADoubleAndUnit* posCutCmd; + G4UIcmdWithADoubleAndUnit* pCutCmd; G4UIcmdWithADoubleAndUnit* allCutCmd; G4UIcmdWithAString* pListCmd; G4UIcmdWithoutParameter* listCmd; diff --git a/examples/extended/hadronic/Hadr01/p_pb.in b/examples/extended/hadronic/Hadr01/p_pb.in index eecd1c0df3..c08ed8fb09 100644 --- a/examples/extended/hadronic/Hadr01/p_pb.in +++ b/examples/extended/hadronic/Hadr01/p_pb.in @@ -12,7 +12,7 @@ /testhadr/NumberDivZ 100 /testhadr/PrintModulo 100 # -#/testhadr/CutsAll 0.7 mm +/testhadr/CutsAll 0.7 mm #/testhadr/Physics PHYSLIST # /run/initialize diff --git a/examples/extended/hadronic/Hadr01/run.csh b/examples/extended/hadronic/Hadr01/run.csh index 4e4187aec2..e7d7383875 100644 --- a/examples/extended/hadronic/Hadr01/run.csh +++ b/examples/extended/hadronic/Hadr01/run.csh @@ -1,6 +1,6 @@ #/bin/csh -setenv HISTODIR 20091125 +setenv HISTODIR 20101011+PHEVAP mkdir -p $HISTODIR setenv PHYSLIST LHEP @@ -27,5 +27,14 @@ $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out setenv PHYSLIST QBBC_XGGSN $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out +setenv PHYSLIST FTFP_BERT +$G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out + +setenv PHYSLIST QGSP_FTFP_BERT +$G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out + +setenv PHYSLIST CHIPS +$G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out + echo "Done!" # diff --git a/examples/extended/hadronic/Hadr01/src/DetectorConstruction.cc b/examples/extended/hadronic/Hadr01/src/DetectorConstruction.cc index 4912577e98..16314e0921 100644 --- a/examples/extended/hadronic/Hadr01/src/DetectorConstruction.cc +++ b/examples/extended/hadronic/Hadr01/src/DetectorConstruction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: DetectorConstruction.cc,v 1.6 2006/10/04 09:56:03 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.cc,v 1.7 2010/06/11 17:01:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // ///////////////////////////////////////////////////////////////////////// // @@ -150,13 +150,14 @@ G4VPhysicalVolume* DetectorConstruction::Construct() << " ###" << G4endl; // colors - logicWorld->SetVisAttributes(G4VisAttributes::Invisible); + G4VisAttributes zero = G4VisAttributes::Invisible; + logicWorld->SetVisAttributes(&zero); - G4VisAttributes* regWcolor = new G4VisAttributes(G4Colour(0.3, 0.3, 0.3)); - logicCheck->SetVisAttributes(regWcolor); + G4VisAttributes regWcolor(G4Colour(0.3, 0.3, 0.3)); + logicCheck->SetVisAttributes(®Wcolor); - G4VisAttributes* regCcolor = new G4VisAttributes(G4Colour(0., 0.3, 0.7)); - logicTarget->SetVisAttributes(regCcolor); + G4VisAttributes regCcolor(G4Colour(0., 0.3, 0.7)); + logicTarget->SetVisAttributes(®Ccolor); G4cout << *(G4Material::GetMaterialTable()) << G4endl; diff --git a/examples/extended/hadronic/Hadr01/src/EventAction.cc b/examples/extended/hadronic/Hadr01/src/EventAction.cc index 9cbab3f7cd..a9242c4ff9 100755 --- a/examples/extended/hadronic/Hadr01/src/EventAction.cc +++ b/examples/extended/hadronic/Hadr01/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.4 2007/05/16 11:43:30 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.6 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // ///////////////////////////////////////////////////////////////////////// // @@ -44,9 +44,6 @@ #include "EventActionMessenger.hh" #include "G4UImanager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -98,28 +95,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) { - G4TrajectoryContainer* trjc = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trjc) n_trajectories = trjc->entries(); - - for(G4int i=0; iGetTrajectoryContainer()))[i]); - if (drawFlag == "all") t->DrawTrajectory(1000); - else if ((drawFlag == "charged")&&(t->GetCharge() != 0.)) - t->DrawTrajectory(1000); - else if ((drawFlag == "neutral")&&(t->GetCharge() == 0.)) - t->DrawTrajectory(1000); - else if ((drawFlag == "charged+n")&&((t->GetCharge() != 0.)|| - (t->GetCharge()==0.&&t->GetParticleName()=="neutron"))) - t->DrawTrajectory(1000); - } - } - if(debugStarted) { UI->ApplyCommand("/tracking/verbose 0"); debugStarted = false; diff --git a/examples/extended/hadronic/Hadr01/src/Histo.cc b/examples/extended/hadronic/Hadr01/src/Histo.cc index be6df75252..f7a98506c5 100644 --- a/examples/extended/hadronic/Hadr01/src/Histo.cc +++ b/examples/extended/hadronic/Hadr01/src/Histo.cc @@ -51,7 +51,7 @@ Histo::Histo(G4int ver) verbose = ver; histName = "histo"; histType = "root"; - option = "--noErrors uncompress"; + option = ""; nHisto = 0; defaultAct = 1; tupleName = "tree.root"; @@ -85,17 +85,17 @@ void Histo::book() G4cout << "### Histo books " << nHisto << " histograms " << G4endl; // Creating the analysis factory if(!af) af = AIDA_createAnalysisFactory(); - if(verbose>0) + if(verbose>0) { G4cout<<"HIsto books analysis factory ......... "<createTreeFactory(); - if(verbose>0) + if(verbose>0) { G4cout<<"Histo books tree factory ......... "<0) + if(verbose>0) { G4cout<<" I am in book: histogram "<< i << " id= " << ids[i] <createHistogram1D(idd, tittles[i], bins[i], xmin[i], xmax[i]); } else { histo[i] = 0; @@ -127,9 +127,9 @@ void Histo::book() delete hf; // Creating a tuple factory, whose tuples will be handled by the tree if(tupleList != "") { - if(verbose>0) + if(verbose>0) { G4cout<<"Histo books tuple factory for "<createTupleFactory( *tree ); ntup = tpf->create(tupleId, tupleName, tupleList); delete tpf; @@ -224,10 +224,11 @@ void Histo::setHisto1D(G4int i, G4int nb, G4double x1, G4double x2, G4double u) void Histo::fill(G4int i, G4double x, G4double w) { - if(verbose > 1) + if(verbose > 1) { G4cout << "fill histogram: #" << i << " at x= " << x << " weight= " << w << " unit= " << unit[i] - << G4endl; + << G4endl; + } #ifdef G4ANALYSIS_USE if(i>=0 && ifill(x/unit[i], w); @@ -241,9 +242,9 @@ void Histo::fill(G4int i, G4double x, G4double w) void Histo::scale(G4int i, G4double x) { - if(verbose > 0) + if(verbose > 0) { G4cout << "Scale histogram: #" << i << " by factor " << x << G4endl; - + } #ifdef G4ANALYSIS_USE if(i>=0 && iscale(x); @@ -268,9 +269,9 @@ void Histo::addTuple(const G4String& w1, const G4String& w2, const G4String& w3) void Histo::fillTuple(const G4String& parname, G4double x) { - if(verbose > 1) + if(verbose > 1) { G4cout << "fill tuple by parameter <" << parname << "> = " << x << G4endl; - + } #ifdef G4ANALYSIS_USE if(ntup) ntup->fill(ntup->findColumn(parname), (float)x); #endif diff --git a/examples/extended/hadronic/Hadr01/src/HistoManager.cc b/examples/extended/hadronic/Hadr01/src/HistoManager.cc index e5aba03061..da0912c51f 100644 --- a/examples/extended/hadronic/Hadr01/src/HistoManager.cc +++ b/examples/extended/hadronic/Hadr01/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.16 2009/09/02 10:21:32 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HistoManager.cc,v 1.17 2010/01/13 15:53:44 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -421,15 +421,17 @@ void HistoManager::AddLeakingParticle(const G4Track* track) // Forward if(z > -absZ0 && dir.z() > 0.0) { + isLeaking = true; if(pd == neutron) { - n_neu_forw++; + ++n_neu_forw; histo->fill(15,e,1.0); } else isLeaking = true; // Backward } else if (z < absZ0 && dir.z() < 0.0) { + isLeaking = true; if(pd == neutron) { - n_neu_leak++; + ++n_neu_back; histo->fill(16,e,1.0); } else isLeaking = true; @@ -437,7 +439,7 @@ void HistoManager::AddLeakingParticle(const G4Track* track) } else if (std::abs(z) <= -absZ0 && x*dir.x() + y*dir.y() > 0.0) { isLeaking = true; if(pd == neutron) { - n_neu_back++; + ++n_neu_leak; histo->fill(14,e,1.0); } else isLeaking = true; } @@ -446,10 +448,10 @@ void HistoManager::AddLeakingParticle(const G4Track* track) if(isLeaking) { if(pd == G4Proton::Proton()) { histo->fill(17,e,1.0); - n_prot_leak++; + ++n_prot_leak; } else if (pd == G4PionPlus::PionPlus() || pd == G4PionMinus::PionMinus()) { histo->fill(18,e,1.0); - n_pion_leak++; + ++n_pion_leak; } } } diff --git a/examples/extended/hadronic/Hadr01/src/PhysicsList.cc b/examples/extended/hadronic/Hadr01/src/PhysicsList.cc index a927e92fb9..30b8f1c95c 100755 --- a/examples/extended/hadronic/Hadr01/src/PhysicsList.cc +++ b/examples/extended/hadronic/Hadr01/src/PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.cc,v 1.32 2009/11/25 19:56:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.37 2010/11/19 20:12:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////// // @@ -51,11 +51,13 @@ #include "G4EmLivermorePhysics.hh" #include "G4EmPenelopePhysics.hh" #include "G4HadronElasticPhysics.hh" -#include "G4HadronDElasticPhysics.hh" +#include "G4HadronElasticPhysicsXS.hh" +#include "G4HadronElasticPhysicsHP.hh" +#include "G4HadronElasticPhysicsLHEP.hh" #include "G4HadronQElasticPhysics.hh" -#include "G4HadronHElasticPhysics.hh" #include "G4ChargeExchangePhysics.hh" #include "G4NeutronTrackingCut.hh" +#include "G4NeutronCrossSectionXS.hh" #include "G4QStoppingPhysics.hh" #include "G4LHEPStoppingPhysics.hh" #include "G4IonBinaryCascadePhysics.hh" @@ -63,17 +65,12 @@ #include "G4EmExtraPhysics.hh" #include "G4EmProcessOptions.hh" -#include "HadronPhysicsFTFP_BERT_TRV.hh" -#include "HadronPhysicsFTFP.hh" #include "HadronPhysicsFTFP_BERT.hh" #include "HadronPhysicsFTF_BIC.hh" #include "HadronPhysicsLHEP.hh" #include "HadronPhysicsLHEP_EMV.hh" #include "G4HadronInelasticQBBC.hh" -#include "HadronPhysicsQGSC.hh" #include "HadronPhysicsQGSC_BERT.hh" -#include "HadronPhysicsQGSC_CHIPS.hh" -#include "HadronPhysicsQGSC_QGSC.hh" #include "HadronPhysicsQGSP.hh" #include "HadronPhysicsQGSP_BERT.hh" #include "HadronPhysicsQGSP_BERT_HP.hh" @@ -82,7 +79,6 @@ #include "HadronPhysicsQGSP_FTFP_BERT.hh" #include "HadronPhysicsQGS_BIC.hh" -#include "G4HadronInelasticQLHEP.hh" #include "G4IonPhysics.hh" #include "G4LossTableManager.hh" @@ -105,7 +101,6 @@ PhysicsList::PhysicsList() : G4VModularPhysicsList() cutForElectron = defaultCutValue; cutForPositron = defaultCutValue; cutForProton = defaultCutValue; - dump = false; verboseLevel = 1; pMessenger = new PhysicsListMessenger(this); @@ -152,9 +147,9 @@ void PhysicsList::ConstructProcess() void PhysicsList::AddPhysicsList(const G4String& name) { - if (verboseLevel>0) + if (verboseLevel>0) { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; - + } if (name == "emstandard_opt2") { delete emPhysicsList; @@ -188,76 +183,50 @@ void PhysicsList::AddPhysicsList(const G4String& name) } else if (name == "FTFP_BERT") { SetBuilderList1(); - hadronPhys.push_back( new HadronPhysicsFTFP_BERT("hadron",true)); - dump = true; - - } else if (name == "FTFP_BERT_TRV") { - - SetBuilderList1(); - hadronPhys.push_back( new HadronPhysicsFTFP_BERT_TRV("hadron",true)); - dump = true; + hadronPhys.push_back( new HadronPhysicsFTFP_BERT()); } else if (name == "FTF_BIC") { SetBuilderList0(); - hadronPhys.push_back( new HadronPhysicsFTF_BIC("hadron",true)); - dump = true; + hadronPhys.push_back( new HadronPhysicsFTF_BIC()); + hadronPhys.push_back( new G4NeutronCrossSectionXS(verboseLevel)); } else if (name == "LHEP") { SetBuilderList2(); - hadronPhys.push_back( new HadronPhysicsLHEP("hadron")); - dump = true; + hadronPhys.push_back( new HadronPhysicsLHEP()); } else if (name == "LHEP_EMV") { AddPhysicsList("emstandard_opt1"); - SetBuilderList3(); - hadronPhys.push_back( new HadronPhysicsLHEP_EMV("hadron")); - dump = true; + SetBuilderList2(true); + hadronPhys.push_back( new HadronPhysicsLHEP_EMV()); } else if (name == "QBBC") { AddPhysicsList("emstandard_opt2"); - SetBuilderList6(); - hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel)); - - } else if (name == "QBBC_XGG") { - - AddPhysicsList("emstandard_opt2"); - SetBuilderList6(); - hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC_XGG",verboseLevel)); - - } else if (name == "QBBC_XGGSN") { - - AddPhysicsList("emstandard_opt2"); - SetBuilderList6(); - hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC_XGG",verboseLevel)); - + SetBuilderList3(); + hadronPhys.push_back( new G4HadronInelasticQBBC()); } else if (name == "QGSC_BERT") { SetBuilderList4(); - hadronPhys.push_back( new HadronPhysicsQGSC_BERT("hadron",true)); - dump = true; + hadronPhys.push_back( new HadronPhysicsQGSC_BERT()); - } else if (name == "QGSC_CHIPS") { + } else if (name == "QGSP") { - SetBuilderList4(); - hadronPhys.push_back( new HadronPhysicsQGSC_CHIPS("hadron",true)); - dump = true; + SetBuilderList1(); + hadronPhys.push_back( new HadronPhysicsQGSP()); } else if (name == "QGSP_BERT") { SetBuilderList1(); - hadronPhys.push_back( new HadronPhysicsQGSP_BERT("hadron",true)); - dump = true; + hadronPhys.push_back( new HadronPhysicsQGSP_BERT()); } else if (name == "QGSP_FTFP_BERT") { SetBuilderList1(); - hadronPhys.push_back( new HadronPhysicsQGSP_FTFP_BERT("hadron",true)); - dump = true; + hadronPhys.push_back( new HadronPhysicsQGSP_FTFP_BERT()); } else if (name == "QGSP_BERT_EMV") { @@ -272,37 +241,29 @@ void PhysicsList::AddPhysicsList(const G4String& name) } else if (name == "QGSP_BERT_HP") { SetBuilderList1(true); - hadronPhys.push_back( new HadronPhysicsQGSP_BERT_HP("hadron",true)); + hadronPhys.push_back( new HadronPhysicsQGSP_BERT_HP()); } else if (name == "QGSP_BIC") { SetBuilderList0(); - hadronPhys.push_back( new HadronPhysicsQGSP_BIC("hadron",true)); - dump = true; + hadronPhys.push_back( new HadronPhysicsQGSP_BIC()); } else if (name == "QGSP_BIC_EMY") { AddPhysicsList("emstandard_opt3"); SetBuilderList0(); - hadronPhys.push_back( new HadronPhysicsQGSP_BIC("hadron",true)); - dump = true; + hadronPhys.push_back( new HadronPhysicsQGSP_BIC()); } else if (name == "QGS_BIC") { SetBuilderList0(); - hadronPhys.push_back( new HadronPhysicsQGS_BIC("hadron",true)); - dump = true; + hadronPhys.push_back( new HadronPhysicsQGS_BIC()); + hadronPhys.push_back( new G4NeutronCrossSectionXS(verboseLevel)); } else if (name == "QGSP_BIC_HP") { SetBuilderList0(true); - hadronPhys.push_back( new HadronPhysicsQGSP_BIC_HP("hadron",true)); - dump = true; - - } else if (name == "QGSP_BIC_EMY") { - - AddPhysicsList("emstandard_opt3"); - AddPhysicsList("QGSP_BIC"); + hadronPhys.push_back( new HadronPhysicsQGSP_BIC_HP()); } else { @@ -316,78 +277,62 @@ void PhysicsList::AddPhysicsList(const G4String& name) void PhysicsList::SetBuilderList0(G4bool flagHP) { - hadronPhys.push_back( new G4EmExtraPhysics("extra EM")); - hadronPhys.push_back( new G4HadronElasticPhysics("elastic",verboseLevel, - flagHP)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); - hadronPhys.push_back( new G4IonBinaryCascadePhysics("ionBIC")); - hadronPhys.push_back( new G4NeutronTrackingCut("nTackingCut",verboseLevel)); + hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); + if(flagHP) { + hadronPhys.push_back( new G4HadronElasticPhysicsHP(verboseLevel) ); + } else { + hadronPhys.push_back( new G4HadronElasticPhysics(verboseLevel) ); + } + hadronPhys.push_back( new G4QStoppingPhysics(verboseLevel)); + hadronPhys.push_back( new G4IonBinaryCascadePhysics(verboseLevel)); + hadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... void PhysicsList::SetBuilderList1(G4bool flagHP) { - hadronPhys.push_back( new G4EmExtraPhysics("extra EM")); - hadronPhys.push_back( new G4HadronHElasticPhysics(verboseLevel,flagHP)); - // hadronPhys.push_back( new G4HadronElasticPhysics("elastic",verboseLevel,flagHP)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); - hadronPhys.push_back( new G4IonPhysics("ion")); - hadronPhys.push_back( new G4NeutronTrackingCut("nTackingCut",verboseLevel)); + hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); + if(flagHP) { + hadronPhys.push_back( new G4HadronElasticPhysicsHP(verboseLevel) ); + } else { + hadronPhys.push_back( new G4HadronElasticPhysics(verboseLevel) ); + } + hadronPhys.push_back( new G4QStoppingPhysics(verboseLevel)); + hadronPhys.push_back( new G4IonPhysics(verboseLevel)); + hadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -void PhysicsList::SetBuilderList2(G4bool flagHP) +void PhysicsList::SetBuilderList2(G4bool addStopping) { - hadronPhys.push_back( new G4EmExtraPhysics("extra EM")); - hadronPhys.push_back( new G4HadronElasticPhysics("LElastic",verboseLevel, - flagHP)); - hadronPhys.push_back( new G4IonPhysics("ion")); + hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); + hadronPhys.push_back( new G4HadronElasticPhysicsLHEP(verboseLevel)); + if(addStopping) { hadronPhys.push_back( new G4QStoppingPhysics(verboseLevel)); } + hadronPhys.push_back( new G4IonPhysics(verboseLevel)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -void PhysicsList::SetBuilderList3(G4bool flagHP) +void PhysicsList::SetBuilderList3() { - hadronPhys.push_back( new G4EmExtraPhysics("extra EM")); - hadronPhys.push_back( new G4HadronElasticPhysics("LElastic",verboseLevel, - flagHP)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); - hadronPhys.push_back( new G4IonPhysics("ion")); + hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); + RegisterPhysics( new G4HadronElasticPhysicsXS(verboseLevel) ); + hadronPhys.push_back( new G4QStoppingPhysics(verboseLevel)); + hadronPhys.push_back( new G4IonBinaryCascadePhysics(verboseLevel)); + hadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -void PhysicsList::SetBuilderList4(G4bool) +void PhysicsList::SetBuilderList4() { - hadronPhys.push_back( new G4EmExtraPhysics("extra EM")); - hadronPhys.push_back( new G4HadronQElasticPhysics("elastic",verboseLevel)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); - hadronPhys.push_back( new G4IonPhysics("ion")); - hadronPhys.push_back( new G4NeutronTrackingCut("nTackingCut",verboseLevel)); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... - -void PhysicsList::SetBuilderList5(G4bool flagHP) -{ - hadronPhys.push_back( new G4EmExtraPhysics("extra EM")); - hadronPhys.push_back( new G4HadronDElasticPhysics(verboseLevel,flagHP)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); - hadronPhys.push_back( new G4IonBinaryCascadePhysics("ionBIC")); - hadronPhys.push_back( new G4NeutronTrackingCut("nTackingCut",verboseLevel)); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... - -void PhysicsList::SetBuilderList6(G4bool) -{ - hadronPhys.push_back( new G4EmExtraPhysics("extra EM")); - hadronPhys.push_back( new G4HadronHElasticPhysics(verboseLevel,false)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); - hadronPhys.push_back( new G4IonBinaryCascadePhysics("ionBIC")); - hadronPhys.push_back( new G4NeutronTrackingCut("nTackingCut",verboseLevel)); + hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); + hadronPhys.push_back( new G4HadronQElasticPhysics(verboseLevel)); + hadronPhys.push_back( new G4QStoppingPhysics(verboseLevel)); + hadronPhys.push_back( new G4IonPhysics(verboseLevel)); + hadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... @@ -444,11 +389,11 @@ void PhysicsList::SetCutForProton(G4double cut) void PhysicsList::List() { - G4cout << "### PhysicsLists available: FTFP_BERT FTFP_BERT_EMV FTFP_BERT_EMX FTFP_BERT_TRV FTF_BIC" + G4cout << "### PhysicsLists available: FTFP_BERT FTFP_BERT_EMV FTFP_BERT_EMX FTF_BIC" << G4endl; - G4cout << " LHEP LHEP_EMV QBBC QBBC_XGG QBBC_XGGSN" + G4cout << " LHEP LHEP_EMV QBBC QGS_BIC QGSP" << G4endl; - G4cout << " QGSC_BERT QGSC_CHIPS QGSP_BERT QGSP_BERT_EMV QGSP_BIC_EMY" + G4cout << " QGSC_BERT QGSP_BERT QGSP_BERT_EMV QGSP_BIC_EMY" << G4endl; G4cout << " QGSP_BERT_EMX QGSP_BERT_HP QGSP_BIC QGSP_BIC_HP" << G4endl; diff --git a/examples/extended/hadronic/Hadr01/src/PhysicsListMessenger.cc b/examples/extended/hadronic/Hadr01/src/PhysicsListMessenger.cc index 13782af2ae..442a52e07b 100755 --- a/examples/extended/hadronic/Hadr01/src/PhysicsListMessenger.cc +++ b/examples/extended/hadronic/Hadr01/src/PhysicsListMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsListMessenger.cc,v 1.5 2009/11/25 19:56:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsListMessenger.cc,v 1.7 2010/01/13 15:53:44 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ///////////////////////////////////////////////////////////////////////// @@ -47,6 +47,7 @@ #include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UImanager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -57,28 +58,35 @@ PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) gammaCutCmd->SetGuidance("Set gamma cut."); gammaCutCmd->SetParameterName("Gcut",false); gammaCutCmd->SetUnitCategory("Length"); - gammaCutCmd->SetRange("Gcut>0.0"); + gammaCutCmd->SetRange("Gcut>=0.0"); gammaCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); electCutCmd = new G4UIcmdWithADoubleAndUnit("/testhadr/CutEl",this); electCutCmd->SetGuidance("Set electron cut."); electCutCmd->SetParameterName("Ecut",false); electCutCmd->SetUnitCategory("Length"); - electCutCmd->SetRange("Ecut>0.0"); + electCutCmd->SetRange("Ecut>=0.0"); electCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); posCutCmd = new G4UIcmdWithADoubleAndUnit("/testhadr/CutPos",this); posCutCmd->SetGuidance("Set positron cut."); posCutCmd->SetParameterName("Pcut",false); posCutCmd->SetUnitCategory("Length"); - posCutCmd->SetRange("Pcut>0.0"); + posCutCmd->SetRange("Pcut>=0.0"); posCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + pCutCmd = new G4UIcmdWithADoubleAndUnit("/testhadr/CutProt",this); + pCutCmd->SetGuidance("Set proton cut."); + pCutCmd->SetParameterName("ProtCut",false); + pCutCmd->SetUnitCategory("Length"); + pCutCmd->SetRange("ProtCut>=0.0"); + pCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + allCutCmd = new G4UIcmdWithADoubleAndUnit("/testhadr/CutsAll",this); allCutCmd->SetGuidance("Set cut for all."); allCutCmd->SetParameterName("cut",false); allCutCmd->SetUnitCategory("Length"); - allCutCmd->SetRange("cut>0.0"); + allCutCmd->SetRange("cut>=0.0"); allCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); pListCmd = new G4UIcmdWithAString("/testhadr/Physics",this); @@ -99,6 +107,7 @@ PhysicsListMessenger::~PhysicsListMessenger() delete gammaCutCmd; delete electCutCmd; delete posCutCmd; + delete pCutCmd; delete allCutCmd; delete pListCmd; delete listCmd; @@ -106,45 +115,78 @@ PhysicsListMessenger::~PhysicsListMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PhysicsListMessenger::SetNewValue(G4UIcommand* command, - G4String newValue) +void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { - if( command == gammaCutCmd ) - pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue)); + G4UImanager* UI = G4UImanager::GetUIpointer(); + if( command == gammaCutCmd ) { + if(pPhysicsList) { + pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue)); + } else { + UI->ApplyCommand("/run/setCutForAGivenParticle gamma " + newValue); + } - if( command == electCutCmd ) - pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue)); + } else if( command == electCutCmd ) { + if(pPhysicsList) { + pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue)); + } else { + UI->ApplyCommand("/run/setCutForAGivenParticle e- " + newValue); + } - if( command == posCutCmd ) - pPhysicsList->SetCutForPositron(posCutCmd->GetNewDoubleValue(newValue)); + } else if( command == posCutCmd ) { + if(pPhysicsList) { + pPhysicsList->SetCutForPositron(posCutCmd->GetNewDoubleValue(newValue)); + } else { + UI->ApplyCommand("/run/setCutForAGivenParticle e+ " + newValue); + } - if( command == allCutCmd ) - { + } else if( command == pCutCmd ) { + if(pPhysicsList) { + pPhysicsList->SetCutForProton(pCutCmd->GetNewDoubleValue(newValue)); + } else { + UI->ApplyCommand("/run/setCutForAGivenParticle proton " + newValue); + } + + } else if( command == allCutCmd ) { + + if(pPhysicsList) { G4double cut = allCutCmd->GetNewDoubleValue(newValue); pPhysicsList->SetCutForGamma(cut); pPhysicsList->SetCutForElectron(cut); pPhysicsList->SetCutForPositron(cut); pPhysicsList->SetCutForProton(cut); + } else { + UI->ApplyCommand("/run/setCut " + newValue); } - if( command == pListCmd ) { - G4String name = newValue; - if(name == "PHYSLIST") { - char* path = getenv(name); - if (path) name = G4String(path); - else { - G4cout << "### PhysicsListMessenger WARNING: " - << " environment variable PHYSLIST is not defined" - << G4endl; - return; + } else if( command == pListCmd ) { + if(pPhysicsList) { + G4String name = newValue; + if(name == "PHYSLIST") { + char* path = getenv(name); + if (path) name = G4String(path); + else { + G4cout << "### PhysicsListMessenger WARNING: " + << " environment variable PHYSLIST is not defined" + << G4endl; + return; + } } + pPhysicsList->AddPhysicsList(name); + } else { + G4cout << "### PhysicsListMessenger WARNING: " + << " /testhadr/Physics UI command is not available " + << "for reference Physics List" << G4endl; + } + + } else if( command == listCmd ) { + if(pPhysicsList) { + pPhysicsList->List(); + } else { + G4cout << "### PhysicsListMessenger WARNING: " + << " /testhadr/ListPhysics UI command is not available " + << "for reference Physics List" << G4endl; } - pPhysicsList->AddPhysicsList(name); } - - if( command == listCmd ) - pPhysicsList->List(); - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/hadronic/Hadr01/vis.mac b/examples/extended/hadronic/Hadr01/vis.mac index 9b190dbb4f..5a3e685d76 100644 --- a/examples/extended/hadronic/Hadr01/vis.mac +++ b/examples/extended/hadronic/Hadr01/vis.mac @@ -1,42 +1,81 @@ -# -# Macro file for the initialization phase of "TestEm9.cc" -# -# Sets some default verbose -# and initializes the graphic. -# /control/verbose 2 /run/verbose 2 # -# 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 OGLIX -#/vis/open OGLIXm -# -#/vis/open DAWNFILE -# -# Draw scene -/vis/viewer/set/viewpointThetaPhi 90 0 deg -/vis/viewer/zoom 1.0 -/vis/viewer/flush -# -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate -# -#/testhadr/DrawTracks charged /testhadr/TargetMat G4_Al /testhadr/TargetRadius 1 cm /testhadr/TargetLength 10 cm -/testhadr/NumberDivZ 100 +#/testhadr/NumberDivZ 100 /testhadr/DrawTracks all -/testhadr/CutsAll 1 mm -/testhadr/Physics QBBC +#/testhadr/CutsAll 1 mm +#/testhadr/Physics QBBC # /run/initialize # - +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/medical/DICOM/14196616.dcm b/examples/extended/medical/DICOM/14196616.dcm deleted file mode 100644 index 80792abcb0..0000000000 Binary files a/examples/extended/medical/DICOM/14196616.dcm and /dev/null differ diff --git a/examples/extended/medical/DICOM/14196616.g4dcm b/examples/extended/medical/DICOM/14196616.g4dcm deleted file mode 100644 index c1a2b2ba61..0000000000 --- a/examples/extended/medical/DICOM/14196616.g4dcm +++ /dev/null @@ -1,8464 +0,0 @@ -10 -0 Air -1 LungInhale -2 LungExhale -3 AdiposeTissue -4 Breast -5 Water -6 Muscle -7 Liver -8 TrabecularBone -9 DenseBone -256 256 1 --250 250 --250 250 --25.5 -22.5 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 3 3 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 3 3 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 5 5 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 5 6 6 6 6 6 6 6 6 5 5 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 5 6 6 5 6 6 6 6 6 6 6 6 5 4 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 6 6 6 6 6 6 6 6 5 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 5 6 6 6 6 6 5 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 6 6 6 6 6 5 6 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 6 6 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 6 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 4 4 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 5 5 6 5 6 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 6 6 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 6 6 5 6 5 5 6 6 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 6 5 6 5 6 5 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 6 6 6 5 6 6 5 6 5 5 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 6 6 6 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 5 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 5 5 5 5 5 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 5 6 6 5 5 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 5 6 5 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 5 5 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 6 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 5 3 3 2 3 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 2 2 1 2 2 2 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 2 1 0 0 0 0 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 3 1 0 0 0 0 0 0 0 0 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 2 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 3 1 0 0 0 0 0 0 0 0 0 0 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 2 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 2 1 1 1 1 1 2 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 2 0 0 0 0 0 0 0 1 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 2 1 1 1 1 2 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 2 2 1 1 2 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 6 5 5 5 5 5 5 5 5 5 5 4 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 3 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 2 2 1 2 1 2 1 2 1 1 1 1 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 3 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 1 1 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 4 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 4 5 5 5 5 5 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 4 5 5 5 5 5 3 2 1 1 1 1 1 1 1 2 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 0 0 0 0 0 0 1 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 4 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 2 2 2 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 2 2 2 3 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 4 1 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 4 2 0 0 0 0 0 0 0 1 2 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 4 2 2 2 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 3 2 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 3 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 4 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 4 3 4 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 4 3 3 3 3 3 3 3 4 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 4 4 4 6 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 6 8 9 8 8 8 5 4 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 6 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 8 8 8 9 9 8 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 8 8 9 8 8 8 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 6 8 8 8 9 8 6 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 6 8 9 9 8 8 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 9 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 7 8 8 8 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 4 5 8 9 9 9 8 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 6 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 8 8 8 8 8 7 6 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 7 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 6 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 6 6 6 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 6 6 6 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 7 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 4 5 5 6 6 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 5 5 6 6 6 6 6 6 5 6 5 5 5 5 6 6 6 5 5 6 5 5 5 5 6 6 6 5 6 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 5 5 5 5 5 6 5 5 6 6 5 5 6 6 6 6 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 3 4 5 5 5 5 5 6 5 6 6 5 5 6 6 6 6 6 6 5 6 6 6 6 6 5 6 6 6 6 5 6 6 6 5 6 6 5 6 6 6 6 5 5 6 6 6 6 6 6 6 5 6 6 6 6 6 5 6 6 5 5 5 5 4 3 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 3 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 2 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 2 3 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 3 2 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 3 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 5 6 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 2 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 5 6 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 6 6 3 2 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 5 6 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 5 2 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 2 2 6 6 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 7 6 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 2 5 6 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 6 8 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 7 8 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 7 6 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 6 5 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 6 8 8 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 5 7 8 6 5 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 3 6 8 8 6 3 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 4 6 8 8 6 5 3 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 3 6 6 8 7 6 3 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 3 6 6 8 8 6 6 5 3 2 2 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 3 5 6 8 8 8 6 5 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 3 5 6 6 6 8 8 8 7 6 6 6 6 6 6 5 5 5 5 5 4 4 5 5 5 6 6 6 6 6 6 8 8 8 8 6 6 5 4 3 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00301 0.0100333 0.00301 0.00702333 0 0.00702333 0.00602 -0.00501667 0.0110367 0.00301 0.00501667 0.00200667 0.00802667 0.00602 0.00501667 -0.00100333 0.0130433 0.00401333 0.00200667 0.00602 0.00702333 0.00401333 0.0110367 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0 0.00702333 0.00501667 0.00401333 0.00602 0 -0.00602 0.00301 0.00702333 0.00301 0.00702333 0 0.00602 0 -0.00401333 0.00903 0 0.00602 0.00301 0.00501667 0.00401333 0.00301 -0.00100333 0.00501667 0.00200667 0.00501667 0 0.00602 0.00200667 0.00702333 -0 0.00802667 0 0.0140467 0.00200667 0.00702333 0.0110367 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00802667 0.00702333 0.00301 0.00200667 0.00301 -0.00401333 0.0100333 0 0.00702333 0.00301 0.00200667 0.0100333 0 -0.00602 0.00501667 0 0.00702333 0.00200667 0 0.00401333 0 -0.00501667 0.00702333 0.00200667 0.00501667 0.00200667 0.00100333 0.00200667 0.00501667 -0 0.00200667 0.00301 0.00501667 0 0.00602 0.00200667 0.00401333 -0.00200667 0.00401333 0 0.0100333 0.00200667 0.00200667 0.00802667 0.00100333 -0.00501667 0.00401333 0.00903 0.00602 0.00802667 0.00802667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.01204 0 -0.0100333 0.00802667 0 0.00301 0.00602 0.00200667 0.00200667 0.00100333 -0.00200667 0.00802667 0 0.00501667 0.00200667 0 0.0100333 0 -0 0.00702333 0 0.00501667 0.00301 0 0.00200667 0 -0.00200667 0.00501667 0.00301 0.00301 0 0 0.00401333 0.00903 -0 0.00200667 0.00301 0.00501667 0 0.00401333 0.00501667 0 -0.00200667 0.00301 0.00301 0.00501667 0.00401333 0.00200667 0.00501667 0.00200667 -0.00501667 0.00401333 0.00602 0.00802667 0.00401333 0.00501667 0.00802667 0.00702333 -0.00602 0.00903 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0.0100333 0.00200667 0.0100333 0.00100333 -0.00200667 0.00903 0 0 0.00702333 0.00301 0 0.00401333 -0.00100333 0.00802667 0 0.00200667 0.00200667 0 0.00802667 0 -0 0.00903 0.00100333 0.00100333 0.00602 0 0 0 -0.00200667 0.00401333 0.00602 0.00301 0.00301 0 0.00200667 0.00802667 -0 0.00501667 0 0.00401333 0.00100333 0 0.00501667 0 -0.00301 0 0.00501667 0.00501667 0.00100333 0.00200667 0 0.00501667 -0.00401333 0.00200667 0.00602 0.00301 0.00401333 0.00401333 0.00602 0.00200667 -0 0.00702333 0.00301 0.0130433 0.0110367 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0.00903 0 0.00401333 0.00301 0.00200667 0.0100333 0.00401333 0.00501667 -0 0.00602 0.00100333 0 0.00702333 0.00401333 0 0.00401333 -0 0.00501667 0 0.00301 0.00200667 0 0.00802667 0.00401333 -0 0.00301 0.00903 0 0.00802667 0.00401333 0 0.00301 -0.00200667 0.00501667 0.00903 0 0.00602 0 0.00501667 0.00802667 -0 0.00301 0 0.00301 0.00501667 0 0.00602 0 -0.00301 0.00100333 0.00100333 0.00501667 0 0 0 0.00301 -0.00200667 0 0.0100333 0 0.00501667 0.00401333 0.00401333 0 -0.00301 0.00100333 0.00501667 0.01204 0.00200667 0 0.00401333 0.0130433 -0.00802667 0.00401333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00401333 0.00200667 0.00200667 -0.00802667 0 0.00301 0.00401333 0.00200667 0.00301 0.00802667 0.00401333 -0 0.00401333 0 0 0.00602 0 0 0.00301 -0 0.00903 0 0.00401333 0.00100333 0 0.00501667 0.00301 -0 0.00100333 0.00702333 0 0.00602 0.00401333 0 0 -0.00401333 0.00401333 0.00702333 0 0.00602 0 0.00301 0.00501667 -0.00301 0 0 0.00301 0.00802667 0 0.00301 0.00200667 -0 0.00602 0.00100333 0.00501667 0 0 0.00200667 0.00702333 -0.00100333 0.00100333 0.00702333 0 0.00401333 0.00301 0 0 -0.00200667 0.00401333 0.00602 0.0100333 0 0 0.00401333 0.01204 -0.00200667 0.0110367 0.00200667 0.0100333 0.00802667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00903 0.00100333 0.00401333 0.00200667 0.00200667 0.00501667 0.00100333 -0.00602 0 0.00100333 0.00200667 0.00501667 0 0.01204 0 -0 0.00702333 0 0 0.0110367 0.00200667 0.00301 0.00200667 -0 0.00903 0 0 0.00301 0.00301 0.00301 0.00501667 -0 0.00200667 0.00401333 0.00100333 0.00702333 0.00401333 0 0 -0.00501667 0.00602 0.00501667 0.00200667 0.00301 0 0.00200667 0.00501667 -0.00200667 0.00100333 0.00200667 0 0.00802667 0 0.00401333 0.00100333 -0.00200667 0.00301 0.00401333 0.00501667 0 0 0.00100333 0.00501667 -0.00200667 0.00501667 0.00301 0.00301 0.00301 0.00501667 0 0.00301 -0.00100333 0.00401333 0.00401333 0.00802667 0 0 0.00401333 0.00602 -0.00401333 0.00802667 0.00200667 0.00903 0.00301 0.00501667 0.00802667 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00401333 -0.00301 0.00401333 0.00200667 0.00501667 0.00100333 0.00501667 0.00301 0.00301 -0.00401333 0.00100333 0 0.00401333 0.00401333 0.00100333 0.00501667 0.00401333 -0 0.00602 0 0 0.00802667 0.00200667 0.00100333 0 -0.00200667 0.00903 0.00100333 0 0.00301 0.00100333 0.00200667 0.00200667 -0 0.00301 0 0.00100333 0.00602 0.00602 0 0 -0.00301 0.00702333 0.00100333 0.00401333 0.00501667 0 0.00200667 0.00100333 -0.00200667 0.00100333 0.00100333 0.00100333 0.00702333 0 0.00401333 0 -0.00301 0.00100333 0.00501667 0.00100333 0 0.00301 0 0.00802667 -0 0.00602 0.00200667 0.00401333 0.00301 0.00100333 0.00100333 0.00200667 -0.00401333 0.00301 0.00501667 0.00401333 0 0 0.00602 0.00301 -0.00501667 0.00301 0.00200667 0.00602 0.00301 0.00301 0.00401333 0.00702333 -0.00200667 0.0110367 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00602 0.00401333 0.00501667 0.00702333 -0 0.00602 0.00100333 0.00702333 0 0.00301 0 0.00200667 -0.00602 0 0 0.00100333 0.00602 0.00501667 0 0.00702333 -0 0.00401333 0 0 0.00301 0.00301 0.00401333 0.00200667 -0 0.00401333 0.00602 0 0.00200667 0.00301 0 0.00100333 -0.00100333 0.00100333 0 0 0.00401333 0.00301 0 0 -0.00501667 0.00602 0 0.00401333 0.00501667 0 0.00301 0 -0.00100333 0.00301 0 0 0.00401333 0 0.00401333 0 -0.00100333 0.00301 0.00200667 0 0 0.00301 0 0.00802667 -0 0.00602 0.00100333 0.00602 0.00301 0 0.00100333 0.00401333 -0.00100333 0.00802667 0.00200667 0.00602 0 0.00200667 0.00602 0 -0.00301 0.00301 0.00401333 0.00301 0.00100333 0.00100333 0 0.00501667 -0.00301 0.00501667 0.00401333 0.00903 0.00501667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00100333 0.00401333 0.00200667 0.00401333 0.00301 0.00602 -0.00200667 0 0.00401333 0.00200667 0.00401333 0 0 0.00301 -0.00501667 0.00301 0 0 0.00702333 0.00903 0 0.00301 -0 0.00602 0 0.00200667 0 0.00301 0.00401333 0.00200667 -0 0.00401333 0.00802667 0 0.00301 0.00301 0 0 -0.00401333 0 0 0 0.00802667 0.00200667 0 0 -0.00301 0.00401333 0 0.00301 0.00702333 0 0 0.00100333 -0.00301 0 0.00200667 0.00100333 0.00301 0 0.00301 0 -0 0.00501667 0 0 0 0.00100333 0.00100333 0.00702333 -0 0.00401333 0.00100333 0.00702333 0 0.00200667 0.00100333 0.00301 -0.00100333 0.00602 0 0.00501667 0 0.00301 0.00301 0.00501667 -0 0.00401333 0.00401333 0 0.00100333 0.00100333 0.00501667 0.00301 -0.00200667 0 0.00501667 0.00702333 0.00401333 0.00501667 0.00903 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0.00501667 0.00301 0.00401333 0.00200667 0.00501667 0.00100333 0.00501667 0.00401333 -0.00200667 0.00100333 0.00100333 0.00200667 0.00401333 0.00401333 0.00301 0.00100333 -0.00501667 0.00501667 0 0 0.00401333 0.00802667 0 0 -0.00602 0.00301 0 0.00602 0 0.00401333 0 0.00602 -0 0.00100333 0.00401333 0 0 0.00602 0.00200667 0 -0.00702333 0 0.00301 0 0.00802667 0.00301 0 0 -0.00602 0.00100333 0.00100333 0.00200667 0.00802667 0 0.00100333 0 -0.00301 0 0.00501667 0.00401333 0.00100333 0.00100333 0 0.00100333 -0 0.00401333 0 0.00200667 0.00100333 0 0.00401333 0.00200667 -0.00200667 0.00301 0.00401333 0.00401333 0 0.00100333 0.00200667 0.00200667 -0.00301 0.00401333 0 0.00100333 0.00401333 0.00501667 0.00100333 0.00501667 -0 0.00702333 0.00702333 0 0.00100333 0.00200667 0.00401333 0.00100333 -0.00301 0 0.00702333 0.00200667 0 0.00602 0.0100333 0.00100333 -0.00401333 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0.00903 0.00501667 -0.00200667 0.00100333 0.00401333 0 0.00200667 0.00200667 0.00401333 0.00602 -0 0.00200667 0.00301 0.00501667 0.00100333 0 0.00301 0.00501667 -0 0.00100333 0.00200667 0 0 0.0100333 0.00401333 0 -0 0.00200667 0.00200667 0.00501667 0 0 0 0.00602 -0 0.00501667 0.00200667 0.00100333 0 0.00301 0.00100333 0 -0.00501667 0 0.00401333 0 0.00301 0.00501667 0 0.00100333 -0.00602 0 0.00301 0.00200667 0.00401333 0 0 0 -0.00401333 0 0.00401333 0.00501667 0 0.00301 0.00100333 0.00100333 -0 0.00602 0 0.00200667 0.00200667 0 0.00702333 0 -0.00501667 0.00200667 0.00301 0.00301 0 0.00401333 0 0.00401333 -0 0.00602 0 0 0.00501667 0.00301 0 0.00602 -0 0.00602 0.00200667 0.00200667 0.00100333 0.00501667 0.00100333 0 -0.00702333 0 0.00401333 0.00200667 0 0.00802667 0.00301 0.00200667 -0.00401333 0.00501667 0.00802667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00702333 0.00501667 0 0.00200667 0.00903 -0 0.00100333 0.00301 0 0.00200667 0 0.00501667 0.00602 -0.00100333 0 0.00702333 0.00401333 0.00301 0.00100333 0.00100333 0.00802667 -0 0.00100333 0.00401333 0 0 0.00702333 0.00301 0.00100333 -0 0 0.00702333 0 0 0.00301 0 0.00602 -0.00100333 0.00200667 0 0.00401333 0 0.00200667 0 0.00100333 -0.00501667 0 0.00200667 0.00200667 0 0.00501667 0 0.00100333 -0.00501667 0.00100333 0.00200667 0.00602 0 0.00602 0 0 -0.00501667 0 0.00401333 0.00501667 0 0.00200667 0.00401333 0 -0 0.00903 0 0 0 0.00100333 0 0 -0.00301 0.00100333 0.00301 0 0 0.00301 0 0.00301 -0 0.00501667 0 0.00301 0.00301 0 0 0.00301 -0.00602 0 0.00301 0.00100333 0 0.00200667 0.00200667 0.00100333 -0.00802667 0 0.00200667 0 0.00200667 0.00501667 0.00401333 0 -0.00401333 0.00401333 0.00802667 0.00200667 0.0100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0 0.00501667 0.00602 0 0 0.00802667 -0.00301 0 0.00501667 0 0.00200667 0.00100333 0.00702333 0.00301 -0 0 0.00401333 0.00100333 0.00903 0 0 0.00903 -0 0.00100333 0.00200667 0.00200667 0 0.00401333 0 0.00903 -0 0 0.0140467 0 0 0.00200667 0 0.00501667 -0.00501667 0.00301 0 0.00602 0.00200667 0.00401333 0 0 -0.00501667 0 0 0 0 0 0 0.00200667 -0.00401333 0.00501667 0.00100333 0.00401333 0 0.00401333 0 0 -0.00501667 0 0.00401333 0.00100333 0.00200667 0.00100333 0.00301 0 -0 0.00702333 0.00100333 0 0.00401333 0 0.00100333 0.00401333 -0.00401333 0.00100333 0.00200667 0 0 0.00301 0 0.00200667 -0.00100333 0.00301 0 0.00301 0.00401333 0 0 0.00802667 -0.00200667 0 0.00501667 0.00501667 0 0.00301 0.00501667 0 -0.00903 0 0.00501667 0.00100333 0.00501667 0.00301 0.00602 0 -0.00200667 0.00602 0 0.00802667 0.00802667 0 0.00702333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00702333 -0.00401333 0.00702333 0 0.00401333 0.00602 0.00301 0 0.00200667 -0.00200667 0.00501667 0.00501667 0 0.00100333 0.00100333 0.00401333 0.00802667 -0 0 0.00301 0 0.00401333 0.00401333 0 0.00501667 -0 0.00501667 0 0.00200667 0.00200667 0 0 0.00501667 -0.00602 0 0.0100333 0 0.00200667 0.00100333 0 0.00100333 -0.00903 0 0 0.00702333 0 0.00100333 0 0 -0.00401333 0 0 0 0.00200667 0 0 0.00301 -0 0.00401333 0.00301 0.00200667 0.00100333 0.00100333 0 0 -0.00501667 0.00100333 0 0.00100333 0.00100333 0.00100333 0.00301 0 -0 0.00401333 0.00401333 0 0.00501667 0 0.00401333 0.00401333 -0.00200667 0.00602 0 0.00200667 0.00501667 0 0.00301 0 -0 0 0.00200667 0 0.00401333 0.00100333 0 0.00602 -0 0.00100333 0.00200667 0.00702333 0 0.00602 0.00200667 0.00501667 -0.00401333 0 0.00301 0.00301 0.00301 0.00602 0.00200667 0 -0.00200667 0.00401333 0 0.0100333 0 0 0.00501667 0.00602 -0.00501667 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0 -0.00802667 0.00401333 0.00301 0.00100333 0.00401333 0.00301 0.00100333 0.00100333 -0.00602 0 0.00501667 0 0.00301 0 0 0.00903 -0 0.00301 0.00401333 0.00401333 0 0.00602 0 0.00301 -0.00100333 0.00200667 0.00401333 0 0.0100333 0 0.00100333 0 -0.00802667 0.00200667 0.00301 0 0 0.00301 0 0 -0.0100333 0 0.00200667 0.00401333 0.00200667 0 0.00100333 0 -0 0.00401333 0 0.00301 0 0 0.00301 0.00200667 -0.00301 0.00301 0.00200667 0.00200667 0 0 0 0 -0.00401333 0.00401333 0 0.00100333 0.00301 0.00200667 0 0 -0 0.00200667 0.00602 0 0.00100333 0 0.00200667 0.00501667 -0.00200667 0.00200667 0 0.00501667 0.00301 0 0.00401333 0 -0.00200667 0.00401333 0 0.00602 0 0 0 0.00501667 -0 0.00200667 0.00100333 0.00200667 0 0.0110367 0 0.00200667 -0.00401333 0 0.00301 0.00702333 0.00301 0.00702333 0 0.00100333 -0.00200667 0.00200667 0.00602 0.00602 0 0 0.00602 0.00501667 -0.00301 0.00301 0.00602 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00802667 0.00401333 0 0 -0.00602 0.00401333 0 0.00401333 0.00301 0.00100333 0.00401333 0.00401333 -0.00301 0 0.00903 0.00100333 0.00100333 0.00401333 0 0.00401333 -0 0.00301 0 0.00200667 0.00100333 0.00401333 0.00100333 0.00200667 -0 0.00401333 0 0.00501667 0.00200667 0 0 0 -0.00200667 0.00602 0.00501667 0 0.00401333 0.00301 0 0.00100333 -0.00501667 0 0.00100333 0 0.00702333 0 0 0.00100333 -0 0.00501667 0 0.00100333 0 0 0.00501667 0 -0.00301 0.00501667 0.00401333 0.00401333 0 0 0.00200667 0 -0.00702333 0.00401333 0 0 0.00501667 0.00100333 0.00100333 0 -0 0.00401333 0.00702333 0 0 0 0.00200667 0.00200667 -0.00301 0 0 0.00501667 0 0 0.00200667 0 -0.00401333 0.00200667 0.00100333 0.00802667 0 0 0.00200667 0.00200667 -0.00100333 0 0.00100333 0 0.00100333 0.00602 0.00200667 0 -0.00301 0 0.00401333 0.00802667 0.00301 0.00200667 0 0 -0 0.00301 0.00903 0 0 0.00100333 0.00501667 0.00501667 -0.00200667 0.00301 0.00401333 0.00501667 0.00602 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00100333 0.00802667 0.0110367 0 0 -0 0.00903 0 0.00401333 0.00401333 0.00501667 0 0.00301 -0.00301 0.00401333 0.00100333 0.00100333 0 0 0.00301 0 -0 0.00401333 0 0.00602 0 0.00100333 0 0.00501667 -0 0.00301 0 0.00200667 0.00602 0 0 0.00200667 -0 0.00301 0.00602 0 0.00100333 0.00100333 0 0.00200667 -0.00100333 0.00501667 0 0 0.00401333 0 0.00301 0 -0 0.00200667 0.00401333 0.00100333 0.00100333 0 0.00301 0 -0 0.00501667 0.00301 0.00100333 0.00100333 0 0.00602 0 -0.00301 0.00401333 0 0 0.00401333 0.00301 0 0.00100333 -0 0.00702333 0.00301 0 0.00100333 0 0.00401333 0.00200667 -0.00501667 0 0.00200667 0.00301 0 0.00100333 0 0 -0.00200667 0 0.00100333 0.00602 0 0 0.00702333 0 -0.00200667 0 0 0.00301 0 0.00301 0.00100333 0 -0 0 0.00602 0.0100333 0 0.00301 0.00100333 0.00501667 -0 0.0130433 0 0.00100333 0 0.00401333 0.00501667 0.00200667 -0 0.00100333 0.00903 0 0.00501667 0.00602 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00702333 0.00301 0.00100333 0.00501667 0.00401333 0.0110367 0.00301 0 -0 0.00802667 0.00100333 0 0.00100333 0.00702333 0.00100333 0.00100333 -0.00301 0.00200667 0.00200667 0.00200667 0.00200667 0 0.00401333 0 -0 0.00301 0 0.00802667 0 0.00501667 0 0.00301 -0.00301 0 0.00200667 0 0.00602 0.00401333 0 0.00100333 -0 0.00501667 0.00200667 0 0.00100333 0.00100333 0.00200667 0.00100333 -0 0.00602 0.00401333 0 0.00401333 0 0.00200667 0 -0.00100333 0.00401333 0.00100333 0 0 0 0 0 -0.00200667 0.00501667 0.00200667 0 0.00301 0 0.00301 0 -0.00301 0.00602 0 0.00200667 0.00100333 0.00602 0 0.00301 -0 0.00501667 0 0 0.00100333 0 0.00501667 0.00301 -0.00200667 0 0.00802667 0 0 0.00401333 0 0.00301 -0.00200667 0 0.00301 0.00401333 0 0 0.00602 0 -0.00903 0 0.00200667 0.00200667 0 0.00802667 0.00100333 0 -0 0.00100333 0.00301 0.00301 0 0.00200667 0.00301 0 -0 0.0100333 0 0.00501667 0 0.00602 0.00100333 0.00602 -0 0.00501667 0.00802667 0.00501667 0.00401333 0 0.00802667 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0.00401333 0.00802667 0 0.00501667 0 0.00501667 0.0110367 0 -0 0 0.00602 0 0.00301 0.00200667 0.00702333 0 -0.00200667 0.00200667 0.00401333 0 0.00501667 0 0.00100333 0.00200667 -0 0.00100333 0 0.00501667 0.00501667 0 0 0 -0.00903 0 0.00401333 0 0 0.00903 0 0 -0 0.00802667 0 0 0 0 0.00401333 0 -0.00200667 0 0.00802667 0 0 0 0.00401333 0 -0 0.00501667 0 0 0.00100333 0.00100333 0 0 -0.00301 0.00501667 0 0.00100333 0.00301 0.00200667 0 0 -0.00100333 0.00401333 0 0.00501667 0 0.00100333 0 0.00200667 -0.00200667 0.00401333 0 0.00301 0 0 0.00301 0.00200667 -0.00200667 0 0.00903 0 0 0.00602 0 0.00200667 -0.00100333 0 0.0100333 0 0 0 0.00401333 0 -0.00602 0 0.00100333 0 0 0.00802667 0.00301 0 -0.00301 0.00401333 0 0.00100333 0.00301 0.00301 0 0 -0.00602 0.00200667 0.00200667 0.00100333 0.00401333 0.00301 0 0.00802667 -0 0.00702333 0.00401333 0.00401333 0.00200667 0.00100333 0.00100333 0.00501667 -0.00903 0.00602 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00702333 0.00602 0 -0.00702333 0.00301 0.00401333 0 0.00401333 0 0.00702333 0.00200667 -0 0 0.00401333 0.00100333 0 0.00200667 0.00200667 0.00401333 -0 0.00501667 0.00301 0 0.00301 0.00200667 0 0.00301 -0 0.00301 0 0.00602 0.00100333 0.00100333 0 0.00200667 -0.00501667 0 0 0.00501667 0 0.00200667 0.00501667 0 -0.00200667 0.00401333 0 0.00401333 0 0.00301 0 0 -0.00301 0 0.00602 0.00100333 0 0.00100333 0 0 -0.00200667 0.00501667 0 0 0.00401333 0 0 0 -0 0.00501667 0 0.00401333 0.00301 0.00401333 0 0 -0.00301 0.00401333 0 0.00602 0 0 0.00100333 0 -0.00501667 0.00200667 0 0.00200667 0 0.00501667 0.00100333 0.00100333 -0 0.00301 0.00100333 0 0.00401333 0.00501667 0 0 -0.00301 0.00100333 0.00802667 0 0 0 0.00301 0 -0.00602 0 0 0.00100333 0.00501667 0.00602 0 0 -0.00602 0 0 0.00301 0.00702333 0 0 0.00401333 -0 0.00602 0.00401333 0 0.00702333 0 0.00301 0.00501667 -0 0.00301 0.00200667 0.00200667 0.00200667 0.00200667 0.00301 0 -0.01204 0.00200667 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00702333 0.00802667 0.00301 0.00401333 -0 0.00702333 0.00200667 0.00301 0 0.00602 0.00301 0.00602 -0.00602 0 0 0.00100333 0 0.00401333 0 0.00100333 -0 0.00401333 0.00501667 0 0 0.00200667 0.00501667 0 -0 0.00100333 0 0 0.00100333 0.00301 0.00100333 0 -0.00702333 0 0 0.00301 0.00100333 0 0.00100333 0.00200667 -0 0.00401333 0 0.00100333 0.00100333 0 0.00200667 0 -0.00501667 0 0.00301 0 0.00301 0 0.00100333 0 -0.00802667 0.00301 0 0 0.00301 0 0.00301 0 -0 0.00401333 0 0.00100333 0 0.00401333 0 0 -0.00702333 0 0.00401333 0.00301 0 0 0 0.00501667 -0.00501667 0 0 0 0 0.00802667 0 0.00100333 -0.00401333 0.00501667 0 0.00501667 0 0.00501667 0 0.00401333 -0.00301 0 0.00602 0 0 0.00100333 0.00301 0 -0.00401333 0 0 0.00301 0.00501667 0 0 0.00100333 -0.00903 0 0.00702333 0 0.00401333 0 0 0.00501667 -0 0.00200667 0.00200667 0 0.00802667 0 0.00802667 0.00301 -0.00200667 0 0.00702333 0 0.00702333 0 0.00100333 0.00301 -0.00702333 0 0 0.00501667 0.00602 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0 0.00301 0.00602 0.00200667 0.00401333 -0.00100333 0.00200667 0.00301 0.00301 0.00200667 0.00100333 0.00301 0.00200667 -0.00100333 0.00501667 0 0.00100333 0 0.00200667 0 0.00702333 -0.00100333 0 0.00501667 0.00401333 0 0 0.00501667 0 -0 0 0.00100333 0 0.00401333 0.00301 0 0 -0.0100333 0 0 0.00200667 0.00301 0 0 0.00100333 -0.00401333 0.00200667 0 0 0.00401333 0 0.00200667 0 -0.00200667 0.00200667 0.00401333 0.00100333 0 0.00802667 0 0 -0.00501667 0.00301 0 0.00100333 0.00301 0 0 0.00301 -0 0 0 0 0.00602 0.00401333 0 0 -0.00100333 0.00100333 0.00602 0 0 0 0 0.00602 -0.00200667 0 0.00100333 0 0.00100333 0.00903 0 0.00301 -0.00501667 0 0 0.00200667 0 0 0 0.00602 -0.00200667 0 0.0110367 0 0 0 0.0110367 0 -0 0 0 0.00602 0 0 0.00100333 0.00200667 -0.00100333 0 0.00501667 0 0.00401333 0 0 0.00100333 -0.00501667 0 0.00401333 0 0.00100333 0 0.00903 0.00200667 -0 0 0.00702333 0.00301 0.00501667 0 0.00401333 0.00301 -0.00501667 0 0.00702333 0.00100333 0.0100333 0.00100333 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00702333 0 0.00501667 0 0.00401333 0 -0.00501667 0.00301 0.00401333 0 0.00702333 0 0.00401333 0 -0 0.00702333 0.00200667 0.00100333 0.00100333 0 0.00501667 0.00200667 -0.00301 0 0.00401333 0.00602 0 0.00100333 0.00200667 0.00100333 -0.00100333 0 0.00401333 0 0 0.00702333 0.00200667 0 -0.00802667 0.00401333 0 0 0.00100333 0.00100333 0 0 -0.00301 0.00200667 0 0 0.00100333 0.00100333 0 0.00200667 -0.00100333 0 0.00602 0 0.00200667 0 0.00200667 0 -0 0.00501667 0 0.00501667 0.00100333 0 0 0.00200667 -0 0 0.00301 0 0.00702333 0.00100333 0 0 -0 0.00602 0.00200667 0 0.00301 0 0 0.00903 -0.00200667 0 0 0.00501667 0 0.0110367 0 0.0110367 -0.00100333 0 0.00200667 0 0.00501667 0 0.00501667 0 -0.00100333 0 0.00702333 0 0 0 0.00702333 0 -0.00301 0.00401333 0 0.00602 0 0 0.00100333 0.00301 -0 0.00100333 0.00501667 0 0 0.00401333 0 0 -0.00903 0 0 0.00301 0.00200667 0.00401333 0 0.00200667 -0 0.00401333 0.00100333 0.00602 0.00100333 0.00100333 0.00501667 0 -0 0 0.00802667 0.00401333 0.00702333 0 0.00802667 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00100333 0.00301 0.00200667 0.00501667 0.00100333 0 0 0.00702333 -0.00200667 0.00301 0.00200667 0.00401333 0.00602 0.00100333 0 0 -0 0.00301 0.00501667 0.00301 0 0 0 0.00100333 -0.00100333 0 0 0.00501667 0.00401333 0 0.00501667 0.00200667 -0 0 0.00702333 0 0 0.00401333 0.00501667 0 -0 0.00602 0 0 0 0.00401333 0.00200667 0 -0.00301 0.00200667 0 0.00501667 0 0.00200667 0 0.00301 -0.00501667 0.00100333 0.00200667 0 0.00802667 0 0.00200667 0.00200667 -0 0 0.00200667 0.00100333 0.00200667 0.00100333 0 0 -0.00301 0 0.00200667 0 0.00401333 0.00401333 0.00200667 0 -0 0.00903 0 0.00200667 0.00200667 0 0 0.00200667 -0.00200667 0.00301 0 0.00802667 0.00100333 0 0 0.00802667 -0 0 0.00200667 0 0.00301 0 0.00100333 0 -0.00100333 0 0.00100333 0.00301 0 0.00702333 0 0 -0.00702333 0.00501667 0 0.00301 0 0 0.00802667 0 -0 0.00100333 0 0 0.00401333 0.00702333 0 0 -0.01204 0 0.00100333 0.00100333 0.00702333 0 0 0 -0.00401333 0 0.00301 0.00802667 0 0.00802667 0 0 -0.00501667 0 0.00301 0.00501667 0.00401333 0 0.00802667 0.00501667 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.01204 -0.00602 0 0 0.00602 0.00301 0.00200667 0 0.00903 -0 0.00200667 0.00501667 0 0.00401333 0.00401333 0 0 -0.00301 0.00100333 0.00501667 0 0.00401333 0.00301 0 0.00501667 -0 0.00100333 0 0 0.00802667 0 0.00301 0.00100333 -0.00200667 0 0.00501667 0 0 0 0.00401333 0 -0.00702333 0 0.00501667 0 0 0.00100333 0.00301 0 -0.00301 0 0 0.00702333 0 0 0 0.00401333 -0.00100333 0.00401333 0 0 0.00602 0 0 0.00802667 -0 0 0.00401333 0.00301 0 0.00501667 0 0 -0 0.00200667 0.00501667 0 0.00200667 0.00401333 0 0 -0 0.00903 0 0.00501667 0 0 0.00200667 0 -0.00100333 0.00200667 0 0.00802667 0 0 0.00301 0.00200667 -0.00200667 0 0 0.00100333 0 0.01204 0 0 -0.00301 0 0.00200667 0.00301 0 0.00200667 0 0 -0.00702333 0 0 0.00200667 0 0.00501667 0.00802667 0 -0 0.00301 0 0 0.00702333 0 0 0.00702333 -0.00702333 0 0 0.00802667 0 0 0.00100333 0.00602 -0 0 0.00602 0 0.00501667 0.00200667 0 0.00602 -0.00802667 0 0.00903 0.00100333 0.00501667 0 0.00401333 0.00301 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0.00602 -0.00802667 0.00501667 0 0 0.00602 0.00200667 0 0.00100333 -0.00401333 0 0.00401333 0 0.00200667 0.00501667 0.00100333 0.00100333 -0 0 0.0100333 0 0 0.00602 0 0 -0.00301 0 0 0 0.00602 0.00200667 0 0 -0.00702333 0 0.00903 0 0 0.00100333 0 0 -0.00702333 0 0.00802667 0 0 0.00401333 0.00100333 0 -0.00100333 0 0 0.00401333 0.00401333 0 0 0.00401333 -0.00100333 0.00401333 0 0.00200667 0.00301 0 0 0.00802667 -0 0 0.00200667 0.00602 0 0.00401333 0 0 -0 0 0.00501667 0.00200667 0.00301 0.00200667 0 0.00200667 -0 0.00100333 0.00401333 0 0.00100333 0 0.00401333 0 -0 0 0.00501667 0.00301 0 0.00200667 0 0.00301 -0 0 0.00401333 0 0.00301 0.0100333 0 0.00100333 -0.00501667 0.00301 0 0.00100333 0.00200667 0 0 0.00301 -0.00903 0 0 0.00100333 0 0.00602 0.00100333 0 -0.00200667 0 0.00301 0 0.00903 0 0 0.00401333 -0.00702333 0 0 0.00802667 0 0 0.00200667 0.00702333 -0 0.00200667 0 0 0.00401333 0.00301 0 0.00702333 -0.00200667 0 0.0100333 0 0 0.00702333 0.00602 0.00401333 -0 0 0.00602 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0100333 0 0 0.00301 -0.00702333 0.00301 0.00802667 0 0.00401333 0.00301 0.00301 0 -0.00301 0.00200667 0 0.00200667 0 0.00301 0.00702333 0 -0.00100333 0 0.00100333 0.0110367 0 0.00301 0.00301 0 -0.00602 0 0 0.00100333 0 0.00702333 0 0.00200667 -0.00401333 0 0.00702333 0 0 0 0 0.00301 -0.00200667 0 0.00301 0.00301 0 0.00401333 0 0.00401333 -0 0 0.00200667 0 0.00903 0 0 0.00401333 -0 0.00401333 0 0.00200667 0.00100333 0 0 0.00301 -0 0 0.00200667 0 0.00301 0.00200667 0 0 -0 0 0.00200667 0.00602 0.00200667 0 0 0.00100333 -0.00301 0 0.0110367 0 0 0.00501667 0.00200667 0 -0 0 0.00802667 0 0.00100333 0.00301 0 0 -0 0.00301 0 0 0.00903 0.00100333 0 0 -0.00602 0.00200667 0 0 0.00301 0 0 0.00301 -0.00602 0 0 0 0.00602 0.00401333 0 0.00100333 -0 0 0.00501667 0 0.00301 0 0.00401333 0 -0.00501667 0 0 0.00602 0 0 0.00301 0.00200667 -0 0.00200667 0.00301 0 0.00501667 0 0 0.00903 -0 0.00301 0.00702333 0 0 0.00802667 0.00401333 0 -0.00200667 0.00100333 0.00301 0.00602 0.00501667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00602 0.00401333 0.00501667 0.00602 0 0 -0.00501667 0.00200667 0.00401333 0.00200667 0 0.00702333 0.00301 0 -0.00100333 0.0100333 0 0.00501667 0 0.00301 0.0110367 0 -0.00301 0 0 0.00903 0 0 0 0 -0.00301 0.00200667 0 0.00200667 0 0.0100333 0 0 -0 0 0.00702333 0 0 0 0 0.00802667 -0 0.00301 0.00200667 0.00501667 0 0.00100333 0.00301 0 -0.00401333 0 0.00301 0 0.00301 0.00301 0 0.00200667 -0 0.00100333 0 0.00401333 0 0.00401333 0 0 -0 0 0 0 0.00501667 0.00401333 0 0.00200667 -0 0 0.00100333 0.00702333 0 0 0.00301 0 -0.00401333 0 0.00602 0 0 0.00501667 0.00401333 0 -0.00100333 0 0.00702333 0.00100333 0.00301 0.00200667 0 0 -0 0.00602 0 0 0.00702333 0 0 0 -0.00100333 0.00501667 0 0.00401333 0 0 0.00100333 0 -0.00501667 0 0 0.00602 0.00100333 0.00301 0 0 -0.00100333 0 0.00301 0 0 0.00401333 0.00301 0 -0.00602 0 0.00401333 0.00200667 0 0 0.00903 0 -0 0.00301 0.00200667 0.00301 0.00401333 0 0.00802667 0 -0.00501667 0.00301 0.00100333 0.00301 0.00301 0.00501667 0 0.00200667 -0.00200667 0 0.00802667 0 0.00802667 0.00200667 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00802667 0.00301 0.00602 0.00200667 0.00401333 0.00501667 0 -0 0.00602 0.00401333 0.00200667 0 0.00301 0.00501667 0.00501667 -0 0.00602 0.00100333 0.00301 0 0.00200667 0.00301 0.00702333 -0 0 0 0.00602 0.00802667 0 0 0.00401333 -0.00100333 0.00301 0 0.00200667 0 0.00100333 0.00401333 0.00301 -0 0 0.00702333 0 0.00301 0 0 0.00702333 -0 0.00200667 0 0.00602 0.00100333 0.00501667 0 0 -0.00401333 0 0 0 0.00401333 0.00200667 0 0.00200667 -0.00200667 0.00100333 0 0.00602 0 0 0 0.00100333 -0 0.00702333 0 0 0.00602 0.00602 0 0.00100333 -0 0 0 0.00802667 0 0.00602 0 0 -0.00401333 0.00100333 0.00100333 0.00100333 0 0.00401333 0.00200667 0 -0 0.00501667 0.00200667 0.00501667 0.00100333 0 0.00301 0 -0 0.00702333 0 0 0 0.00401333 0 0 -0.00200667 0.00301 0 0 0.00200667 0 0.00501667 0 -0.00200667 0.00200667 0 0.00702333 0 0.00100333 0 0 -0.00200667 0 0 0 0.00401333 0.00301 0 0.00501667 -0 0.00100333 0.00401333 0.00100333 0 0.00301 0 0 -0.00301 0 0.00401333 0.00100333 0.00501667 0 0.00301 0 -0.00301 0.00200667 0.00301 0 0 0.00702333 0 0.00200667 -0 0.00602 0.00200667 0.00501667 0.00301 0.00301 0.00401333 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00702333 0.00401333 0 0.00602 0.00401333 0 0.00301 0.00100333 -0.00200667 0 0.00903 0.00100333 0.00301 0 0 0.00702333 -0 0.00200667 0.00401333 0.00401333 0 0 0.00301 0.00301 -0.00301 0.00200667 0 0 0.00802667 0.00501667 0 0 -0.00401333 0.00200667 0.00301 0 0.00301 0 0.00702333 0.00301 -0 0 0.00301 0 0.00903 0 0 0 -0.00100333 0 0 0.00301 0.00200667 0 0.00200667 0 -0.00100333 0.00401333 0 0.00100333 0 0.00401333 0 0.00200667 -0.00200667 0.00401333 0 0.00401333 0 0.00100333 0 0 -0.00100333 0.00702333 0.00100333 0 0.00602 0.00301 0 0 -0.00301 0 0 0.00501667 0 0.00301 0.00100333 0.00401333 -0 0 0 0.00301 0 0.00401333 0 0 -0 0.00501667 0 0.0110367 0 0 0.00301 0 -0 0.00602 0 0.00401333 0 0.00301 0.00100333 0 -0 0.00200667 0 0 0.00301 0 0.00702333 0 -0.00301 0.00301 0 0.00200667 0.00200667 0 0 0.00401333 -0.00301 0 0 0.00100333 0.00802667 0 0 0.00200667 -0.00301 0.00100333 0 0.00401333 0 0.00401333 0 0.00301 -0.00401333 0 0.00501667 0.00100333 0.00802667 0 0 0.00903 -0 0.00401333 0 0.00501667 0 0.00301 0 0.00100333 -0.00200667 0.00100333 0.00401333 0.00401333 0.00200667 0.00100333 0.00802667 0.00301 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00802667 0.00602 0.00501667 0 0.00401333 0.00501667 0 0.00401333 -0 0.00401333 0 0.00401333 0.00200667 0.00100333 0 0.00602 -0.00903 0 0 0.00702333 0.00301 0 0.00401333 0 -0.00301 0.00401333 0 0 0 0.0100333 0.00401333 0 -0 0 0.00702333 0 0 0 0.00100333 0.00401333 -0.00100333 0 0 0 0.00903 0 0.00301 0 -0.00100333 0 0.00100333 0.00100333 0.00501667 0 0.00501667 0.00100333 -0 0.00501667 0 0.00401333 0 0.0110367 0 0 -0.00100333 0.00702333 0 0 0 0.00501667 0.00100333 0 -0.00702333 0.00301 0 0.00200667 0 0.00702333 0 0 -0.00401333 0 0.00200667 0.00200667 0.00301 0 0.00200667 0.00602 -0.00200667 0 0 0.00301 0 0.00702333 0 0 -0 0.00200667 0.00200667 0.00903 0 0 0.00702333 0 -0 0.00301 0 0.00100333 0 0 0.00301 0.00401333 -0 0.00200667 0.00100333 0.00100333 0.00100333 0 0 0 -0.00200667 0 0 0.00501667 0 0 0.00200667 0 -0.00301 0 0.00401333 0.00401333 0 0.00200667 0.00200667 0 -0.00602 0 0.00802667 0 0 0 0 0.00100333 -0.00200667 0.00301 0.00401333 0.00200667 0 0 0.00100333 0.0100333 -0 0.00301 0 0.00301 0 0.00301 0.00401333 0 -0 0.00802667 0 0.00200667 0.00401333 0.00301 0.00301 0 -0.00602 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00501667 -0.00602 0.00200667 0.00602 0 0.00200667 0.00200667 0.00501667 0 -0 0.00301 0 0.00301 0 0.0100333 0 0.00100333 -0.00100333 0.00602 0 0.00401333 0.00903 0 0 0.00100333 -0 0.0100333 0.00100333 0 0 0.00301 0.00401333 0 -0 0 0.00200667 0.00501667 0 0.00802667 0 0.00100333 -0.00401333 0.00301 0 0 0.00401333 0.00501667 0 0.00100333 -0 0 0 0.00702333 0 0 0.00100333 0.00200667 -0 0 0.00501667 0 0 0.00602 0.00702333 0 -0 0.00702333 0 0.00200667 0.00100333 0.00200667 0.00301 0 -0.00100333 0.00200667 0 0.00401333 0 0.00903 0 0.00301 -0.00200667 0 0.00100333 0 0.00100333 0.00301 0 0.00501667 -0 0 0 0.00501667 0 0.00602 0.00100333 0 -0.00301 0.00100333 0.00802667 0 0.00100333 0 0.00702333 0 -0.00100333 0.00100333 0.00301 0 0 0.00100333 0.00100333 0.00401333 -0 0.00301 0.00401333 0 0.00100333 0.00100333 0 0.00702333 -0 0 0.00301 0.00702333 0 0.00401333 0.00100333 0 -0.00501667 0 0.00702333 0 0 0.00100333 0.00401333 0 -0.00401333 0 0.00200667 0 0.00200667 0.00100333 0.00200667 0 -0.00802667 0 0.00200667 0 0 0.00100333 0.0110367 0 -0 0.00602 0 0.00501667 0 0.00301 0 0.00301 -0 0.00501667 0.00200667 0.00501667 0 0.00301 0.00401333 0.00401333 -0.00501667 0.00702333 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00200667 0.00100333 -0.00702333 0.00401333 0 0.00100333 0.00602 0.00200667 0.00301 0.00602 -0.00100333 0.00200667 0 0.00200667 0 0.00401333 0.00200667 0 -0 0.00401333 0.00401333 0 0.00401333 0.00401333 0 0 -0 0.00100333 0.00501667 0.00100333 0 0.00602 0.00100333 0.00301 -0 0.00100333 0 0.00401333 0 0 0.00802667 0 -0.00802667 0 0 0 0 0.00702333 0.00100333 0 -0 0.00401333 0 0.00501667 0 0.00301 0.00301 0 -0.00301 0 0.00301 0.00401333 0 0 0.00702333 0 -0 0.00100333 0 0 0 0.00200667 0 0 -0 0.00301 0.00100333 0.00401333 0 0.00903 0 0.00301 -0.00401333 0 0 0 0.00100333 0.00501667 0 0.00602 -0.00401333 0 0.00100333 0 0.00100333 0.00100333 0.00100333 0 -0.00401333 0 0.00702333 0 0.00401333 0 0.00501667 0 -0.00100333 0 0.00501667 0 0 0.00301 0.00200667 0.00100333 -0 0.00802667 0.00301 0 0 0.00200667 0.00702333 0.00401333 -0 0.00200667 0.00301 0.00301 0.00200667 0.00100333 0 0 -0.00200667 0 0.00602 0 0.00702333 0 0.00401333 0 -0.00200667 0 0.00200667 0.00301 0 0.00702333 0 0.00200667 -0.00501667 0 0 0 0.00702333 0.00100333 0.00200667 0 -0.00401333 0.00200667 0.00200667 0 0 0 0.00200667 0.00200667 -0.00200667 0.00401333 0.00301 0.00100333 0 0.00602 0.00100333 0.00200667 -0.00802667 0 0 0.0110367 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00301 0.00903 0.00100333 0.00100333 -0 0.00501667 0.00501667 0.00401333 0.00100333 0.00200667 0.00501667 0.00100333 -0.00200667 0 0.00301 0 0.00602 0 0.0100333 0 -0 0 0.00501667 0 0.00100333 0.00100333 0.0100333 0 -0.00301 0 0.00501667 0.00501667 0 0.00501667 0.00501667 0 -0.00100333 0.00200667 0 0.00200667 0 0 0.00903 0 -0.00200667 0.00501667 0 0 0 0.00100333 0.00702333 0 -0 0 0.00401333 0 0.00100333 0.00602 0 0 -0 0.00602 0 0.00802667 0.00100333 0 0.00301 0.00301 -0.00100333 0.00301 0 0.00200667 0 0.00602 0 0.00100333 -0 0 0.00301 0.00602 0 0.00702333 0 0.00401333 -0 0.00200667 0 0 0.00401333 0.00301 0 0.00802667 -0.00200667 0 0.00401333 0 0.00702333 0 0.00802667 0 -0.00301 0 0.00702333 0 0.00100333 0 0.00501667 0.00200667 -0 0.00200667 0 0 0.00301 0 0.00200667 0.00200667 -0 0.00301 0.00401333 0 0 0.00100333 0.00501667 0 -0 0.00301 0.00501667 0 0.00401333 0 0 0 -0.00100333 0.00301 0 0.00200667 0.00200667 0.00301 0.00200667 0 -0.00100333 0 0.00802667 0 0 0.00802667 0 0.00401333 -0 0 0 0.00200667 0 0.00501667 0 0.00200667 -0.00401333 0.00401333 0 0 0.00100333 0 0 0.00200667 -0.00301 0.00401333 0.00401333 0 0.00602 0.00401333 0 0.00903 -0 0 0.00501667 0.00903 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0110367 0.00200667 0.00802667 0 0.00200667 -0.00100333 0.00100333 0.00301 0.00301 0.00200667 0.00301 0 0.00501667 -0.00301 0.00100333 0 0 0.00301 0 0 0.00602 -0.00200667 0.00401333 0 0.00100333 0 0 0.01505 0 -0 0.00100333 0 0.00401333 0 0 0.00802667 0 -0.00100333 0 0.00602 0 0 0 0.00100333 0.00301 -0 0.00602 0 0 0 0 0.00401333 0.00702333 -0 0 0.00802667 0 0.00100333 0.00200667 0.00200667 0.00301 -0 0.00100333 0 0.0100333 0 0 0.00301 0.00100333 -0.00100333 0.00401333 0 0 0.00200667 0.00602 0.00200667 0.00200667 -0.00100333 0 0.00200667 0.00602 0 0.00301 0.00301 0 -0.00602 0 0.00200667 0.00200667 0.00200667 0.00802667 0 0.00702333 -0 0.00301 0 0 0 0.00100333 0.00602 0 -0.00501667 0.00100333 0 0.00401333 0 0.0100333 0 0.00301 -0.00200667 0 0 0 0 0 0.00802667 0 -0.00501667 0 0.00200667 0 0.00100333 0.00602 0.00100333 0 -0 0.00100333 0.00501667 0.00301 0.00200667 0 0 0 -0 0.00501667 0.00100333 0.00200667 0 0.00602 0 0 -0.00501667 0.00501667 0.00301 0 0.00301 0.00401333 0.00200667 0 -0 0.00200667 0 0.00100333 0 0.00301 0.00301 0 -0.00100333 0.00100333 0 0 0.00501667 0 0 0.00200667 -0.00200667 0.00401333 0 0.00200667 0.00401333 0 0.00301 0.00501667 -0 0.00301 0.00301 0.00802667 0.00602 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0.00602 0.00301 0 0.00802667 0 -0.00200667 0.00100333 0.00301 0.00100333 0 0.0100333 0 0 -0.0100333 0.00100333 0.00301 0 0 0.00200667 0.00301 0.00100333 -0.00100333 0 0.00301 0.00100333 0.00100333 0 0.00602 0.0100333 -0 0 0 0.00301 0 0 0.00100333 0.00501667 -0.00301 0 0.00301 0.00602 0 0 0 0.00501667 -0 0.00401333 0 0.00401333 0 0 0.00100333 0.00501667 -0 0 0.00501667 0 0.00100333 0.00301 0.00301 0.00301 -0 0 0.00401333 0.00903 0 0.00100333 0.00702333 0 -0.00200667 0.00100333 0.00401333 0 0.00301 0.00200667 0.00301 0.00301 -0.00200667 0 0 0.00200667 0 0.00100333 0.00501667 0 -0.00501667 0 0 0.00602 0 0.00702333 0 0 -0.00501667 0 0.00401333 0 0 0.00702333 0 0.00301 -0.00401333 0.00200667 0.00100333 0.00200667 0 0.00903 0 0.00200667 -0.00301 0 0 0.00200667 0 0 0.0110367 0 -0.00100333 0 0.00200667 0.00200667 0.00301 0.00100333 0.00100333 0 -0 0.00602 0 0.00301 0 0 0 0.00702333 -0 0.00501667 0.00301 0 0 0.00802667 0 0 -0.00903 0.00301 0 0.00200667 0.00100333 0 0.00401333 0 -0.00200667 0.00301 0.00100333 0 0.00200667 0.00100333 0.00100333 0 -0.00200667 0 0 0.00301 0.00100333 0 0 0.00100333 -0.00200667 0.00401333 0 0.00301 0 0.00301 0.00200667 0 -0 0.00301 0.00802667 0.00903 0.00401333 0.00200667 0.0110367 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00602 0.00702333 0.00301 0.00200667 0.00200667 0.00100333 -0.00401333 0 0.00501667 0.00501667 0 0.00401333 0.00401333 0 -0 0.00602 0.00200667 0 0.00100333 0 0 0.00100333 -0 0.00301 0.00301 0 0.00602 0 0 0 -0.00401333 0 0.00100333 0.00301 0 0.00401333 0 0.00702333 -0.00501667 0 0 0 0.00100333 0.00501667 0 0 -0.00702333 0 0 0.00602 0.00200667 0 0.00100333 0 -0 0.00200667 0.00401333 0.00100333 0 0.00702333 0.00100333 0.00401333 -0.00100333 0 0.00501667 0.00903 0 0 0.00501667 0.00100333 -0 0.00100333 0.00802667 0 0.00301 0.00301 0.00200667 0 -0.00702333 0 0 0 0.00501667 0 0.00401333 0.00200667 -0 0 0 0.00401333 0 0.00501667 0 0 -0.00702333 0 0.00301 0 0 0.00301 0.00100333 0.00702333 -0 0.00301 0.00200667 0 0.00501667 0.00200667 0.00602 0 -0.00301 0 0.00100333 0 0.00200667 0 0.00100333 0.00501667 -0 0 0.00100333 0 0.00401333 0.00100333 0.00200667 0 -0.00200667 0.00301 0 0 0.00301 0 0 0.00100333 -0 0.00501667 0.00100333 0 0.00501667 0.00200667 0 0 -0.00702333 0.00100333 0 0.00501667 0 0.00501667 0 0 -0.00702333 0.00100333 0.00200667 0 0 0.00200667 0.00602 0 -0 0 0 0.00100333 0.00100333 0.00200667 0.00301 0 -0.00802667 0.00602 0 0 0.00501667 0.00602 0 0 -0.00200667 0.00401333 0.00903 0.00501667 0 0.01204 0.00501667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00501667 0 0 0.00401333 0.00702333 0.00401333 0.00100333 0.00100333 -0 0.00301 0 0.00702333 0 0.00301 0.00301 0.00100333 -0 0.00401333 0.00501667 0.00301 0 0.00301 0 0.00200667 -0 0.00602 0.00401333 0.00301 0 0.00100333 0 0.00100333 -0.00301 0 0.00301 0.00401333 0 0 0 0 -0.01204 0.00200667 0 0 0 0.00903 0 0 -0.00401333 0 0 0 0.00903 0.00301 0 0.00301 -0 0.00702333 0.00301 0 0 0.00401333 0.00100333 0.00802667 -0 0 0.00100333 0.00802667 0.00100333 0 0.00401333 0.00200667 -0.00100333 0 0.00802667 0 0.00301 0.00401333 0 0 -0.00702333 0.00200667 0 0 0.00802667 0 0 0.00702333 -0 0 0.00200667 0 0.00401333 0 0 0 -0.00501667 0 0.00200667 0.00100333 0 0 0.00200667 0.00903 -0 0 0.00501667 0 0.00301 0 0.00602 0 -0.00501667 0 0.00200667 0 0.00602 0.00200667 0.00200667 0 -0 0.00200667 0.00702333 0 0.00903 0 0 0.00100333 -0.00200667 0.00100333 0.00301 0 0 0.00702333 0 0 -0.00301 0.00501667 0 0 0.00602 0.00100333 0 0.00401333 -0.00200667 0.00200667 0.00100333 0.00200667 0.00200667 0 0 0.00100333 -0.00802667 0.00401333 0 0 0 0.00702333 0.00100333 0 -0.00200667 0.00100333 0 0.00100333 0 0.00200667 0 0.00602 -0.00602 0 0 0 0.00602 0 0 0.00301 -0.00200667 0.00903 0.00802667 0 0.00401333 0.00702333 0 0.00200667 -0.0140467 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00702333 -0.00702333 0 0 0 0.00702333 0.00301 0.00602 0.00301 -0.00301 0 0 0 0.00702333 0 0.00602 0.00301 -0.00301 0 0 0.00301 0.00301 0 0 0.00100333 -0.00200667 0 0.00501667 0.0100333 0 0.00200667 0 0.00200667 -0 0.00501667 0 0.00401333 0.00200667 0 0.00100333 0 -0 0.0110367 0 0 0 0.00100333 0.00501667 0 -0.00100333 0.00501667 0 0 0.00501667 0.00602 0 0 -0 0.00200667 0.00702333 0 0 0 0 0.00903 -0 0.00200667 0 0.00100333 0.00401333 0.00501667 0 0 -0.00100333 0 0.00301 0 0 0.00401333 0.00301 0 -0 0.00401333 0 0 0.00200667 0.00702333 0 0.00602 -0.00100333 0 0.00200667 0 0.00702333 0 0 0.00301 -0.00501667 0 0.00301 0.00100333 0.00100333 0 0.00602 0.00301 -0 0 0.00200667 0 0.00100333 0 0.00200667 0.00100333 -0 0 0.00200667 0 0.00602 0 0.00401333 0 -0.00100333 0.00200667 0.00401333 0 0.00602 0 0.00100333 0 -0.00100333 0 0.00401333 0 0.00401333 0.00301 0 0.00401333 -0.00100333 0 0 0.00100333 0.00602 0 0 0.00200667 -0.00602 0 0.00200667 0.00501667 0 0 0 0.00802667 -0.00602 0 0 0.00401333 0.00301 0.00301 0 0 -0.00301 0.00100333 0.00200667 0.00401333 0 0.00100333 0.00100333 0.00702333 -0.00401333 0 0 0 0.00802667 0 0 0.00100333 -0.00501667 0.00702333 0 0 0.00903 0 0 0.00602 -0.00702333 0.00501667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00802667 0.00702333 -0.00802667 0.00501667 0 0 0 0.00602 0.00200667 0.00501667 -0.00100333 0.00903 0 0 0.00100333 0.00100333 0.00200667 0.00602 -0.00501667 0.00501667 0 0 0 0 0.00100333 0 -0.00602 0 0 0.00200667 0.00602 0 0 0.00100333 -0 0.00301 0 0.00100333 0.00100333 0.00200667 0 0.00501667 -0 0.00702333 0.00301 0 0.00100333 0.00602 0 0.00100333 -0 0.00501667 0.00301 0 0 0.00200667 0.00903 0 -0 0 0.00200667 0.00200667 0.00802667 0 0 0.00200667 -0.00200667 0.00702333 0 0 0.00301 0.00802667 0 0.00301 -0 0 0 0.00602 0 0.00602 0.00401333 0 -0 0.00200667 0 0 0.00401333 0.00501667 0 0.00100333 -0.00100333 0 0 0.00100333 0.00802667 0 0 0.00401333 -0.00100333 0 0 0.00702333 0 0 0.00602 0 -0.00200667 0 0.00602 0 0 0 0.00200667 0 -0 0 0 0 0.00501667 0 0.00301 0 -0.00200667 0 0.00301 0.00200667 0.00200667 0.00401333 0 0 -0 0.00401333 0.00100333 0 0.00301 0 0 0.00301 -0.00401333 0 0.00200667 0.00301 0.00602 0 0 0.00702333 -0.00200667 0 0.00301 0 0 0 0.00401333 0.00602 -0.00501667 0 0 0.00100333 0 0 0 0.00200667 -0.00100333 0.00200667 0 0.00200667 0 0 0.00100333 0.00501667 -0 0.00100333 0 0.00702333 0 0 0.00200667 0 -0.00301 0.00100333 0 0.00401333 0.00301 0 0.00401333 0.00602 -0 0.00602 0.00602 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0.00200667 0 0.00301 -0.00702333 0.00702333 0.00200667 0 0 0 0.00501667 0 -0 0.00802667 0.00301 0 0.00100333 0 0.00200667 0.00200667 -0 0.00602 0.00301 0.00501667 0 0 0.00602 0 -0.00100333 0.00100333 0.00200667 0 0.00802667 0.00200667 0 0 -0.00200667 0 0.00802667 0 0 0.00100333 0 0 -0.00602 0 0.00602 0.00301 0 0.00802667 0.00301 0 -0 0.00200667 0.00301 0.00200667 0 0 0.00401333 0.00200667 -0.00200667 0.00301 0 0.00401333 0.00501667 0 0 0 -0.00200667 0.00802667 0 0 0 0.0110367 0 0.00802667 -0 0.00301 0 0.00602 0 0.00100333 0.00602 0 -0.00100333 0.00401333 0 0 0.00301 0 0 0.00501667 -0 0 0 0.00401333 0.00602 0 0 0 -0.00602 0 0.00100333 0.00100333 0.00501667 0 0.00401333 0 -0.00301 0 0.00903 0 0 0.00602 0.00200667 0 -0.00602 0 0.00200667 0 0.00401333 0 0.00501667 0 -0.00401333 0 0.00200667 0.00200667 0 0.00501667 0.00301 0 -0 0.00501667 0.00200667 0 0.00100333 0 0.00301 0 -0.00200667 0.00401333 0 0.00301 0.00401333 0 0.00802667 0 -0.00501667 0 0.00501667 0 0.00301 0.00301 0.00200667 0.00100333 -0.00301 0.00301 0 0 0.00301 0.00200667 0.00200667 0 -0.00602 0.00100333 0 0.00401333 0 0 0.00702333 0 -0.00200667 0.00501667 0 0.00100333 0 0 0.00200667 0 -0.00602 0.00200667 0.00200667 0.00200667 0.00401333 0.00602 0 0.00200667 -0.00501667 0.00702333 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00802667 0.00702333 0 0.00200667 -0.00401333 0.00200667 0.00602 0.00602 0 0.00802667 0 0.00200667 -0 0 0.0110367 0 0.00200667 0 0.00100333 0.00200667 -0.00100333 0 0.00501667 0.00602 0.00100333 0.00401333 0 0 -0 0 0.00301 0 0.00100333 0.00802667 0 0 -0.00301 0 0.00401333 0.00200667 0 0.00200667 0.00200667 0 -0.00501667 0 0.00301 0.00602 0 0 0.00802667 0 -0 0 0.00802667 0 0.00200667 0 0.00100333 0 -0.00602 0.00702333 0 0 0.00200667 0.00602 0.00501667 0 -0 0.0100333 0.00501667 0 0 0.0100333 0 0.00501667 -0 0 0 0.00501667 0.00100333 0 0.00301 0.00100333 -0 0.0110367 0 0.00301 0 0.00301 0.00301 0.00702333 -0 0.00401333 0 0.00401333 0.00501667 0 0 0 -0.00702333 0 0.00100333 0.00501667 0.00501667 0.00200667 0 0.00200667 -0.00200667 0 0.00401333 0 0 0.00602 0 0 -0.00702333 0 0 0.00401333 0 0.00100333 0 0.00401333 -0 0 0.00200667 0 0.00301 0.00200667 0.00401333 0 -0 0.00401333 0.00200667 0 0 0.00200667 0 0.00401333 -0.00301 0.00401333 0 0.00903 0 0 0.00903 0 -0.00702333 0.00301 0 0 0.00802667 0 0 0.00602 -0.00401333 0 0 0.00100333 0.00501667 0 0.00100333 0 -0.00200667 0 0.00301 0 0.00100333 0.00702333 0.00100333 0 -0.00200667 0.00401333 0 0 0 0.00200667 0.00200667 0.00100333 -0.00301 0.00401333 0.00602 0.00200667 0.00401333 0 0 0.00702333 -0.00702333 0.00200667 0 0 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0.00401333 0.00602 0.00401333 0 -0.00702333 0.00301 0 0.00401333 0 0.00401333 0.00100333 0.00903 -0 0.00200667 0.00200667 0.00100333 0.00401333 0.00301 0 0.00100333 -0.00200667 0 0 0.00802667 0.00501667 0 0.00301 0 -0 0.00100333 0 0 0.00401333 0 0.00301 0.00501667 -0.00100333 0 0.00200667 0 0 0 0.00501667 0 -0 0.00702333 0 0.00200667 0 0.00200667 0.00200667 0.00602 -0 0.00200667 0 0.00200667 0.00401333 0 0.00100333 0 -0.00301 0.00802667 0 0.00100333 0 0.00200667 0.00702333 0 -0 0 0.0110367 0 0 0.00401333 0.00401333 0 -0.00802667 0 0 0 0.0100333 0 0.00100333 0 -0.00200667 0.00702333 0 0.00602 0 0.00100333 0.00200667 0.00401333 -0 0.00200667 0 0.00100333 0.00301 0.00501667 0 0.00100333 -0.00301 0 0.00100333 0.00702333 0 0 0 0 -0 0.00200667 0 0 0 0.00602 0 0 -0.00702333 0 0 0.00702333 0 0.00602 0 0 -0 0.00200667 0 0 0.00501667 0 0.00501667 0 -0 0.0110367 0.00100333 0 0 0.00100333 0.00100333 0.00100333 -0 0.00802667 0 0.00802667 0 0 0.00401333 0.00200667 -0.00401333 0.00100333 0 0.00100333 0.00301 0 0.00802667 0 -0.0110367 0 0 0.00903 0.00100333 0 0.00200667 0 -0.00100333 0 0.00401333 0 0.00501667 0 0 0.00100333 -0.00602 0 0 0 0.00401333 0 0 0.00200667 -0.00501667 0.00301 0 0.00401333 0 0.00200667 0.00702333 0.00401333 -0.00200667 0.00100333 0 0.00100333 0.00903 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0.00200667 0.00200667 0.00301 0.00802667 0 -0 0.00903 0.00301 0.00501667 0 0 0.00401333 0 -0.00301 0.00100333 0 0.00501667 0.00401333 0.00301 0 0 -0 0.00200667 0 0.00401333 0.00401333 0.00301 0.00301 0 -0.00401333 0 0 0 0.00200667 0 0.00401333 0.00100333 -0.00802667 0 0.00301 0 0.00100333 0.00200667 0 0.00501667 -0 0 0.00802667 0.00301 0 0.00200667 0.00100333 0.00100333 -0 0.00100333 0.00100333 0.00100333 0.0100333 0 0 0 -0 0.00401333 0 0 0.00100333 0 0.00401333 0 -0.00501667 0 0.00401333 0.00903 0 0 0.00602 0.00200667 -0.00602 0 0.00100333 0 0.00602 0 0.00401333 0 -0 0.00501667 0 0.00501667 0.00100333 0 0.00301 0 -0.00301 0 0 0.00200667 0.00501667 0 0 0.00301 -0 0 0.00100333 0.00200667 0.00100333 0.00301 0 0.00501667 -0 0.00501667 0 0.00100333 0.00200667 0.00301 0 0 -0.00802667 0 0 0.00401333 0.00100333 0.00501667 0 0 -0.00602 0 0 0.00702333 0 0 0.00501667 0 -0 0.00301 0.00301 0 0 0.00802667 0 0 -0.00401333 0.00401333 0 0.00100333 0 0 0.00501667 0.00301 -0.00200667 0.00200667 0 0.00200667 0.00100333 0 0.00802667 0 -0.00702333 0 0 0.0100333 0 0.00802667 0 0 -0 0.00100333 0.00401333 0.00301 0 0 0.00702333 0 -0.00702333 0 0 0.00501667 0 0 0.00702333 0.00100333 -0 0.00401333 0 0 0.00702333 0 0.00501667 0.00100333 -0 0 0.00301 0.00401333 0.00802667 0.00100333 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00702333 0 0 0.00100333 0.00501667 0.00401333 -0 0.00200667 0.00802667 0 0.00401333 0.00100333 0 0.00501667 -0.00100333 0 0 0.00301 0.00401333 0.00903 0.00602 0 -0 0 0 0 0.00401333 0.00200667 0.00401333 0.00100333 -0 0.00802667 0 0 0 0 0.00401333 0.00100333 -0.00501667 0 0.00200667 0.00100333 0 0.00401333 0.00100333 0 -0.00602 0 0 0.00802667 0.00200667 0 0.00200667 0 -0 0.00702333 0.00200667 0 0.00802667 0.00200667 0 0 -0 0.00200667 0.00702333 0 0.00401333 0 0.00100333 0 -0.00200667 0 0.00100333 0.00802667 0.00501667 0 0.00200667 0.00501667 -0 0.00100333 0 0.00200667 0.00401333 0 0.00602 0 -0 0.00401333 0 0.00301 0.00301 0 0 0.00702333 -0 0.00401333 0 0 0.00903 0 0 0 -0 0.00401333 0.00100333 0.00401333 0.00100333 0 0.00100333 0.00401333 -0 0.00401333 0 0.00200667 0.00200667 0.00301 0 0 -0.00401333 0.00401333 0.00301 0 0.00602 0.00301 0 0.00200667 -0.00200667 0 0.00401333 0.00602 0 0 0.00401333 0 -0 0.00100333 0.00200667 0 0.00200667 0.00301 0.00200667 0.00100333 -0.00100333 0.00501667 0 0.00100333 0.00301 0 0.00401333 0.00301 -0 0.00301 0 0.00702333 0 0.00301 0 0.00100333 -0.00602 0 0 0 0 0.00501667 0 0.00501667 -0 0.00501667 0.00802667 0 0 0 0.00702333 0 -0.00100333 0 0.00501667 0.00200667 0 0 0.00501667 0 -0.00301 0 0 0.00100333 0.00802667 0 0.00602 0 -0.00100333 0 0.00401333 0.00401333 0 0.00702333 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0.00401333 0.00702333 0 0 0.00702333 0.00602 -0 0 0.00501667 0.00501667 0 0.00401333 0.00200667 0 -0.00200667 0 0.00200667 0 0 0.00401333 0.01204 0.00401333 -0 0.00401333 0 0 0 0 0.00501667 0.00401333 -0 0.00200667 0.0100333 0 0 0.00501667 0 0.00802667 -0 0.00401333 0 0 0.00301 0 0.00100333 0.00100333 -0.00100333 0 0 0.00301 0 0.0110367 0.00501667 0 -0 0.00401333 0.00501667 0 0.00100333 0.00702333 0 0.00100333 -0 0.00200667 0.00301 0 0 0.00602 0.00200667 0 -0 0 0 0.00200667 0.00702333 0 0.00301 0.00401333 -0 0 0.00401333 0.00602 0 0.00301 0 0.00301 -0 0.00301 0.00301 0.00100333 0.00501667 0 0 0.0110367 -0 0.00501667 0 0 0.00602 0.00100333 0 0 -0.00100333 0.00401333 0 0.00702333 0.00301 0 0.00702333 0 -0.00301 0 0 0 0.00100333 0.00602 0 0 -0.00301 0.00301 0 0 0.00100333 0.00301 0 0.00401333 -0 0.00501667 0.00602 0 0 0 0.00501667 0 -0.00200667 0.00200667 0 0.00200667 0 0.00602 0 0.00200667 -0 0.00602 0 0.00501667 0.00301 0 0 0.00602 -0 0 0.00401333 0.00200667 0.00200667 0 0.00100333 0.00602 -0 0 0 0 0.00301 0.00100333 0.00401333 0 -0 0.01204 0 0 0 0.00301 0.00301 0 -0 0.00100333 0.00100333 0.00100333 0 0.00602 0.00301 0 -0.00401333 0.00200667 0 0.00301 0 0 0.00301 0 -0.00200667 0.00602 0 0 0.00301 0.00702333 0.00401333 0.00702333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.0130433 0.00501667 0 0.00301 0.00802667 0 0 0.0100333 -0.0100333 0 0 0.0100333 0.00602 0 0 0.00200667 -0.00100333 0 0.00200667 0 0 0 0 0.0100333 -0.00200667 0.00100333 0.00401333 0 0 0 0 0 -0.00501667 0 0.00602 0.00602 0 0.00100333 0 0.00702333 -0 0.00200667 0.00100333 0 0 0.00501667 0 0 -0.00200667 0.00200667 0 0 0.00100333 0.00301 0.00702333 0.00702333 -0 0 0.00702333 0 0 0.00301 0.00301 0 -0.00100333 0 0.00301 0 0 0.00100333 0 0.00301 -0 0.00301 0 0 0.00602 0 0 0.00702333 -0 0 0.00702333 0.0100333 0 0 0 0.00100333 -0 0 0.00802667 0.00100333 0.00501667 0 0.00100333 0.00200667 -0.00200667 0.00501667 0.00200667 0 0.00401333 0 0.00501667 0 -0.00401333 0.00100333 0 0.00301 0.00401333 0.00100333 0.00401333 0 -0.00301 0 0.00200667 0 0.00301 0.00401333 0 0 -0.00200667 0.00702333 0 0.00602 0 0.00602 0 0.00200667 -0 0.00702333 0.00100333 0 0 0.00401333 0 0 -0 0.00401333 0.00100333 0 0.00401333 0.00501667 0 0 -0 0.00903 0.00200667 0.00200667 0.00100333 0 0.00401333 0.00100333 -0 0.00903 0 0.00100333 0.00301 0 0.00702333 0 -0.00301 0 0.00301 0.00401333 0.00100333 0.00200667 0 0 -0.00903 0.00501667 0 0 0 0.00602 0.00401333 0 -0.00501667 0.00301 0.00301 0 0.00401333 0.00602 0.00301 0.00401333 -0.00200667 0 0 0.00301 0 0 0 0.00301 -0.00301 0 0 0.00903 0.00802667 0 0.00501667 0 -0.00903 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0.0100333 0.00903 0 0 0.01204 0 0 -0.00501667 0.00702333 0 0 0.00100333 0.0110367 0.00200667 0 -0.00200667 0.00200667 0.00100333 0 0 0.00200667 0 0.00501667 -0.00401333 0.00200667 0.00301 0 0.00200667 0 0.00401333 0 -0 0.00100333 0.00802667 0 0 0.00501667 0 0.00200667 -0 0.00100333 0.0100333 0 0 0.00702333 0.00200667 0.00200667 -0 0 0.00602 0 0 0.00301 0.00100333 0 -0.00903 0 0 0.00501667 0 0 0.00200667 0 -0 0.00301 0.00100333 0.00200667 0 0 0 0.00200667 -0.00100333 0.00702333 0 0 0.00501667 0 0.00501667 0 -0.0100333 0 0.00401333 0.0110367 0 0.00301 0 0 -0.00100333 0.00602 0 0.00702333 0 0.00301 0.00200667 0 -0.00702333 0 0.00401333 0 0 0.00200667 0.00501667 0 -0.00301 0.00100333 0 0.00100333 0.00100333 0.00702333 0 0.00602 -0 0.00100333 0 0 0.00501667 0.00301 0 0.00602 -0 0.00200667 0.00200667 0 0 0.0110367 0.00401333 0 -0 0.00501667 0 0 0.00501667 0.00702333 0 0 -0.00100333 0.00702333 0.00200667 0 0.00100333 0.00301 0 0 -0.01204 0.00200667 0.00401333 0 0.00301 0.00100333 0 0 -0 0.00903 0 0.00401333 0.00802667 0 0.00702333 0.00100333 -0 0 0.00602 0 0.00401333 0 0.00301 0.00100333 -0.00301 0 0 0 0.00100333 0.00602 0 0.00301 -0 0 0 0 0.00802667 0.00602 0.00100333 0.00301 -0 0.00401333 0 0 0 0 0.00200667 0.00602 -0 0.00401333 0.00903 0 0.00301 0.00301 0 0.00301 -0.0110367 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00401333 0.00401333 -0.00602 0 0.00903 0.00501667 0 0 0.00702333 0 -0.00200667 0.00200667 0.00200667 0 0 0 0.00702333 0.00401333 -0.00702333 0 0 0.00501667 0 0 0.00100333 0 -0 0.00702333 0.00301 0.00100333 0.00200667 0 0 0.00100333 -0 0.00100333 0.00200667 0.00401333 0 0.00200667 0 0.00200667 -0 0 0 0.0100333 0 0 0.00401333 0.00501667 -0 0 0.00702333 0 0 0.00602 0.00401333 0 -0.00802667 0.00401333 0 0.00301 0 0 0.00501667 0.00301 -0 0.00401333 0.00301 0.00100333 0.00100333 0.00401333 0 0 -0.00401333 0.00301 0 0 0.00702333 0 0.00602 0 -0.00401333 0 0 0.0110367 0.00100333 0 0 0 -0 0.00903 0 0.00301 0 0.00602 0.00301 0 -0 0 0.00501667 0 0 0.00501667 0.00100333 0 -0.00100333 0 0 0.00301 0 0.00301 0 0.00602 -0 0 0 0 0.00702333 0 0.00200667 0.00100333 -0.00200667 0.00301 0.00501667 0 0 0.0110367 0 0 -0.00401333 0 0.00200667 0 0.00903 0 0 0.00100333 -0.00301 0.00802667 0 0 0 0.00301 0 0 -0.00702333 0.00100333 0 0 0.00903 0 0 0 -0.00301 0.00301 0.00301 0 0.00100333 0 0.00301 0.00100333 -0 0 0.00501667 0.00100333 0 0 0 0.00301 -0 0.00802667 0 0 0 0.00702333 0 0 -0 0 0 0.00602 0.00802667 0 0 0 -0.00401333 0.00301 0 0.00200667 0 0.00301 0.00100333 0.00301 -0.00100333 0.00301 0.00100333 0.00301 0.00100333 0 0.00401333 0.0110367 -0.00100333 0.00903 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0110367 0 -0.00301 0.00200667 0 0.01505 0.00501667 0.00100333 0 0.00100333 -0.00100333 0.00200667 0.00501667 0.00301 0 0 0.00301 0.00301 -0.00100333 0.00602 0 0.00401333 0.00401333 0.00301 0 0 -0 0 0.0100333 0 0.00100333 0.00100333 0.00301 0 -0 0.00301 0.00702333 0.00200667 0 0 0.00501667 0.00301 -0 0.00401333 0 0.00401333 0.00301 0.00100333 0 0.0100333 -0 0 0 0.00501667 0 0.00100333 0.00301 0 -0 0.00501667 0 0.00200667 0.00200667 0.00200667 0 0.00903 -0 0 0.00501667 0 0.00100333 0.00702333 0 0.00301 -0.00501667 0 0.00401333 0.00602 0 0.00301 0 0.00200667 -0 0.00602 0 0.00100333 0.0140467 0 0.00100333 0 -0 0.00702333 0 0 0.00200667 0.00200667 0.0110367 0 -0 0.00200667 0 0.00200667 0 0 0.00501667 0 -0 0.00200667 0 0.00100333 0 0 0.00501667 0.00100333 -0.00200667 0 0 0.00401333 0 0 0.00401333 0 -0.00100333 0 0.00602 0 0.00702333 0.00602 0 0.00602 -0 0.00200667 0.00401333 0 0.00401333 0 0.00301 0 -0.00401333 0 0 0 0 0.00602 0 0.00501667 -0 0 0.00602 0 0.00301 0 0 0.00602 -0.00702333 0 0 0.00501667 0 0 0 0.00401333 -0.00100333 0 0.00903 0 0 0 0.00702333 0 -0.00501667 0.00301 0 0.00401333 0 0.00903 0 0 -0.00200667 0 0.00501667 0.00802667 0 0 0 0 -0.00501667 0.00401333 0.00301 0 0.00401333 0 0.00702333 0 -0.00301 0.00401333 0 0.00501667 0 0.00200667 0.00702333 0 -0.00702333 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00501667 0.00301 0.00200667 -0 0.00501667 0 0.00200667 0.00903 0.00501667 0.00501667 0 -0 0 0.00200667 0.00200667 0.00401333 0.00100333 0.00100333 0 -0.00301 0 0 0.00200667 0 0 0.00702333 0 -0 0 0.00802667 0.00401333 0 0.00301 0 0.00501667 -0 0 0.01204 0.00401333 0 0 0 0.00903 -0 0 0.00100333 0 0 0.00401333 0.00100333 0 -0.0110367 0.00100333 0 0.00301 0.00301 0 0.00702333 0 -0.00602 0 0 0 0.00602 0.00702333 0 0 -0 0.00301 0 0 0.00200667 0.00903 0 0.00401333 -0.00200667 0 0.00401333 0.00401333 0 0.00401333 0 0.00501667 -0 0 0.00501667 0 0.00401333 0 0 0 -0 0.00401333 0 0 0 0.00100333 0.00501667 0 -0 0 0 0.00401333 0 0 0.00301 0 -0 0 0 0.00200667 0 0 0.00602 0.00200667 -0 0 0 0 0.00301 0.00100333 0.00401333 0 -0.00401333 0.00301 0.00200667 0 0.01204 0 0 0.00602 -0 0.00301 0.00401333 0 0.00100333 0.00501667 0.00200667 0 -0 0.00200667 0 0.00401333 0.00200667 0.00602 0 0 -0.00401333 0 0.00501667 0 0 0.00200667 0 0.00903 -0 0.00200667 0.00702333 0.00301 0 0 0.00200667 0.00602 -0 0.00200667 0.00200667 0 0.00501667 0 0 0 -0.00501667 0 0.00301 0 0.00301 0.00802667 0 0 -0 0.00100333 0.00802667 0 0 0 0 0.00702333 -0.00401333 0.00602 0 0.00602 0.00200667 0.00301 0.00200667 0 -0.00602 0 0.00301 0.00100333 0 0.00301 0.00100333 0.00802667 -0.00401333 0 0.00401333 0.00702333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00501667 0 0.00602 0.00501667 -0 0 0.00401333 0 0.00501667 0.00301 0.00702333 0.00200667 -0 0.00301 0 0 0.00301 0.00200667 0.0100333 0 -0 0 0.00100333 0 0.00802667 0 0 0.00602 -0 0 0.00401333 0.00301 0.00401333 0.00602 0 0.00602 -0.00200667 0 0 0.00602 0.00903 0 0 0 -0.01204 0.00100333 0.00100333 0 0 0 0.00602 0.00301 -0.00301 0.00401333 0.00100333 0.00100333 0 0 0 0.00602 -0 0 0 0 0.00401333 0.00602 0 0 -0.00501667 0 0.00602 0 0.00802667 0.00200667 0 0.00100333 -0.00602 0 0.00100333 0.00501667 0 0.00100333 0 0.00100333 -0 0 0.00501667 0.00301 0 0.00501667 0 0 -0 0.00200667 0 0.00200667 0 0 0.00100333 0.00200667 -0.00301 0 0 0.00301 0.00100333 0.00100333 0.00401333 0 -0 0 0 0 0 0.00200667 0.00301 0 -0 0 0.00602 0 0.00200667 0.00501667 0 0 -0.00100333 0.00501667 0 0 0.00602 0 0 0 -0.00200667 0 0.00401333 0 0.00301 0.00200667 0 0 -0 0 0.00301 0.00200667 0.00602 0.00100333 0 0 -0.00401333 0 0.00200667 0 0 0.00200667 0 0.00200667 -0 0.00100333 0.0100333 0 0.00200667 0 0.00100333 0.00903 -0 0 0 0.00301 0 0 0 0.00602 -0 0.00100333 0 0.00602 0.00401333 0 0 0.00200667 -0.00301 0.00200667 0.00100333 0 0.00301 0.00100333 0.00200667 0.00401333 -0 0 0 0.0110367 0 0 0.0100333 0 -0 0 0.00301 0.00100333 0.00702333 0.00200667 0.00602 0.00200667 -0.00100333 0 0.00401333 0.00602 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00802667 0.00100333 0.00301 0.00100333 0.00401333 -0 0.00602 0.00301 0.00301 0 0.00100333 0.00100333 0.00903 -0.00200667 0.00100333 0 0 0.00200667 0 0.00200667 0.0110367 -0.00200667 0.00501667 0 0 0 0.00401333 0.00200667 0.00301 -0.00501667 0 0 0 0 0.00702333 0.00501667 0.00200667 -0 0.00200667 0 0 0.00301 0.00401333 0.0100333 0 -0.00200667 0.00401333 0 0.00602 0 0 0.00301 0 -0.00200667 0.0100333 0 0 0.00501667 0 0.00200667 0 -0.00903 0 0.00100333 0 0.00100333 0.00100333 0 0 -0.00501667 0.00200667 0 0 0.00401333 0.00200667 0 0.00401333 -0 0 0 0.00100333 0 0 0 0.00100333 -0 0 0.00401333 0.00501667 0 0 0.00100333 0 -0 0 0 0.00100333 0.00200667 0 0 0.00903 -0 0 0 0 0 0.00301 0.00702333 0 -0 0.00200667 0.00100333 0 0 0.00602 0 0.00401333 -0 0 0.00301 0 0 0 0 0 -0 0.00200667 0 0 0.00301 0 0.00200667 0.00100333 -0.00200667 0 0.00702333 0 0.00301 0 0 0 -0.00301 0 0.00501667 0 0.00301 0.00100333 0.00401333 0.00100333 -0 0 0.00602 0 0 0 0 0 -0.00100333 0.00501667 0 0.00100333 0.00200667 0.00200667 0.00200667 0.00903 -0 0 0.00100333 0 0.00100333 0 0 0.00802667 -0 0.00200667 0 0.00702333 0.00100333 0 0 0.00301 -0.00702333 0 0 0.00301 0 0 0.00602 0.00200667 -0.00401333 0 0.00301 0 0 0.00802667 0 0 -0 0.00301 0.00501667 0.00301 0 0.00702333 0.00301 0 -0 0.00602 0.00100333 0.00802667 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00501667 0.00401333 0.00200667 0.00301 -0.00401333 0 0.00200667 0.00301 0.00501667 0.00100333 0 0.00301 -0.00301 0.00301 0.00301 0.00100333 0 0 0 0.00200667 -0.00401333 0.00602 0.00602 0 0.00100333 0 0 0 -0.00702333 0.00501667 0 0.00301 0 0 0.00903 0.00401333 -0.00301 0 0 0.00100333 0 0.00200667 0.00903 0 -0.00100333 0.00501667 0 0.00200667 0.00200667 0 0 0 -0.00100333 0.00200667 0 0.00200667 0 0.00100333 0 0.00702333 -0.00100333 0 0 0 0.00602 0 0.00100333 0 -0.00401333 0.00301 0 0 0.00401333 0.00200667 0 0 -0.00903 0 0 0.00200667 0.00100333 0 0 0 -0 0 0 0.00802667 0 0 0.00702333 0 -0 0 0.00301 0.00100333 0 0.00401333 0 0.00200667 -0.00602 0 0.00100333 0 0 0.00501667 0 0 -0.00602 0 0.00200667 0 0 0 0.00401333 0.00401333 -0 0 0.00401333 0 0 0.00903 0 0 -0.00602 0 0.00401333 0 0 0 0.00501667 0 -0.00100333 0 0.00903 0 0.00200667 0 0 0.00100333 -0.00301 0 0 0.00301 0.00301 0.00301 0 0 -0 0.0100333 0 0.00200667 0 0.00401333 0 0 -0.0130433 0 0 0.00602 0 0.00200667 0.00602 0.00501667 -0 0 0.00301 0.00401333 0 0.00301 0.00602 0 -0.00200667 0.00501667 0.00100333 0.00602 0 0 0.00501667 0.00903 -0 0 0.00401333 0 0 0.00501667 0.00802667 0 -0.00100333 0 0.00200667 0.00200667 0.00301 0.00200667 0 0.00100333 -0 0.0110367 0.00200667 0 0.00200667 0.00200667 0.00100333 0.00100333 -0.00602 0 0.00903 0.00401333 0.00100333 0.00802667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0100333 0.00301 0 0.00100333 0.00200667 0.00501667 -0.00301 0.00802667 0 0 0 0.00401333 0.00100333 0 -0 0 0.00702333 0.00501667 0 0.00301 0 0 -0.00602 0.00200667 0.00301 0 0 0.00301 0 0.00100333 -0 0.00200667 0.00301 0.00100333 0.00401333 0 0 0.00702333 -0.00401333 0.00602 0 0 0 0.00200667 0 0.00501667 -0 0.00702333 0.00401333 0 0.00100333 0 0.00100333 0 -0 0.00702333 0 0 0.00100333 0 0.00301 0.00702333 -0.00100333 0 0.00100333 0 0.00200667 0.00401333 0 0.00602 -0.00301 0 0 0.00301 0.00401333 0 0 0 -0.00802667 0 0 0 0 0.00200667 0 0.00100333 -0 0 0 0.00200667 0 0.00401333 0 0 -0 0 0.00100333 0.00301 0 0 0 0 -0.00602 0 0 0 0 0.00401333 0 0 -0.00200667 0.00301 0.00501667 0 0 0 0.00702333 0 -0.00401333 0 0 0.00200667 0 0.00501667 0 0 -0.00100333 0 0.00100333 0 0 0 0.00301 0 -0 0 0.00702333 0 0.00200667 0 0.00702333 0.00301 -0 0.00100333 0 0.01204 0 0.00200667 0.00100333 0 -0 0.00802667 0.00301 0 0 0.00401333 0 0 -0.0100333 0 0 0.00903 0 0.00401333 0.00200667 0.00301 -0 0.00301 0.00903 0 0 0.00903 0 0 -0.00301 0.00501667 0.00401333 0 0 0.00301 0.00903 0 -0.00100333 0.00401333 0.00200667 0 0.00301 0.0110367 0.00301 0 -0 0 0.00200667 0.00100333 0 0.00702333 0.00100333 0 -0.01204 0 0 0 0.00200667 0.00602 0.00100333 0.00401333 -0.00200667 0.00602 0.00200667 0 0.00501667 0.00301 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00802667 0.00702333 0.01204 0.00903 0 0 0 -0.00802667 0 0.00301 0.00401333 0.00100333 0 0.00100333 0 -0.00100333 0 0 0 0.00602 0 0.00702333 0 -0 0.00702333 0.00401333 0 0.00401333 0 0.00501667 0 -0 0 0.00401333 0 0.00100333 0.00301 0 0 -0.00702333 0.00401333 0 0.00401333 0 0.00200667 0.00100333 0.00100333 -0.00401333 0 0.00100333 0.00401333 0 0.00100333 0 0.00501667 -0 0.00501667 0 0.00602 0 0 0.00903 0 -0.00802667 0 0.00501667 0 0.00100333 0.00301 0 0 -0.00602 0 0 0 0 0.00301 0 0.00100333 -0.00401333 0 0 0.00200667 0 0.0100333 0 0 -0 0 0 0.00301 0 0.00301 0 0 -0.00200667 0 0 0.00501667 0 0.00501667 0 0.00200667 -0 0 0.00100333 0 0 0 0 0 -0 0.00401333 0 0 0 0 0.00802667 0 -0.00301 0.00301 0 0 0 0 0 0.00301 -0.00100333 0 0 0 0.00100333 0 0.00401333 0 -0 0 0.00200667 0.00301 0 0 0 0.00602 -0 0 0.00100333 0.00401333 0.00100333 0.00501667 0 0 -0.00401333 0.00401333 0 0 0.00100333 0.00602 0 0.00301 -0 0 0.00200667 0.0100333 0 0.00301 0.00401333 0 -0 0.00301 0.00401333 0 0.00200667 0.00100333 0 0 -0.0100333 0.00401333 0 0 0 0.00301 0.00301 0.00200667 -0.00200667 0 0 0.00301 0.0130433 0.00200667 0 0.00100333 -0 0 0.0100333 0 0 0.00602 0 0.0100333 -0 0 0.00200667 0.00200667 0.00501667 0.00100333 0 0.00602 -0.00602 0 0 0.00802667 0.00401333 0.00501667 0.00802667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.00100333 0.00501667 0.00401333 0.0100333 0.00802667 0 0.00100333 -0 0.00401333 0.00100333 0 0 0.00501667 0.00602 0.00200667 -0 0.00100333 0.00301 0.00200667 0 0 0.00301 0.00401333 -0 0 0.00702333 0 0.00301 0.00200667 0 0 -0.00200667 0 0 0.00200667 0.00200667 0 0.00802667 0 -0 0.00301 0.00702333 0.00301 0 0 0.00200667 0 -0.00702333 0 0 0 0 0.00401333 0 0 -0 0.00702333 0 0.00301 0 0 0 0.00401333 -0.00301 0.00100333 0 0.00200667 0.00501667 0 0.00100333 0 -0.0100333 0 0.00200667 0 0 0.00602 0 0 -0.00501667 0 0 0.0110367 0 0.00200667 0.00200667 0 -0.00301 0 0 0 0.00501667 0.00100333 0 0 -0 0 0 0 0 0.00100333 0 0.00602 -0 0 0.00903 0 0 0 0.00301 0 -0 0 0 0.00301 0.00100333 0 0 0 -0.00100333 0.00200667 0 0 0 0 0 0.00802667 -0.00501667 0 0 0.00401333 0 0.00501667 0.00200667 0 -0 0.00100333 0 0.00200667 0 0 0 0.00702333 -0 0.00401333 0 0.00401333 0.00401333 0.00100333 0 0.00602 -0 0.00200667 0 0 0 0 0.00100333 0.00602 -0 0 0 0 0.00602 0.00200667 0.00301 0 -0.00501667 0.00301 0 0 0.00401333 0.00200667 0.00200667 0 -0.0140467 0 0 0.00602 0 0.00802667 0.00301 0 -0 0 0.00301 0.00602 0.00100333 0 0 0.00602 -0.00301 0.00602 0.00301 0 0.00200667 0.00200667 0.00903 0 -0 0.00501667 0 0 0 0 0.00602 0.00802667 -0 0 0.00501667 0.00702333 0.00602 0.00602 0.00301 0.00501667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.0100333 0 0.00200667 0.00401333 0.00903 0.0100333 0.00200667 -0.00200667 0 0 0.00401333 0.00802667 0 0.00100333 0.00200667 -0.00702333 0 0 0 0.00602 0 0 0 -0.00401333 0.00501667 0 0 0.00100333 0.00200667 0.00200667 0 -0.00501667 0 0 0 0 0.00100333 0.00200667 0.00401333 -0 0 0.00200667 0.00702333 0.00200667 0.00401333 0 0.00602 -0 0.00200667 0 0.00501667 0 0 0.00401333 0 -0 0.00301 0.00200667 0.00301 0 0 0 0 -0 0.00702333 0 0 0.00602 0 0 0 -0 0.00401333 0 0.00501667 0 0 0.00301 0 -0.00903 0 0 0 0 0.00802667 0 0 -0.00501667 0 0 0 0.00200667 0.00100333 0 0 -0 0.00200667 0 0 0.00401333 0 0 0.00702333 -0 0 0.00401333 0.00301 0 0 0.00501667 0 -0.00100333 0 0 0.00602 0 0.00301 0 0 -0.00401333 0 0 0 0 0 0 0.00401333 -0 0 0.00301 0 0 0.00501667 0 0 -0.00501667 0 0.00100333 0 0 0.00200667 0 0.00501667 -0 0.00702333 0 0.00702333 0 0.00200667 0 0.00200667 -0 0.00401333 0.00401333 0 0 0.00100333 0.00301 0.00602 -0 0 0 0.01204 0.00501667 0 0 0 -0.00501667 0.00100333 0 0.0100333 0 0 0.00100333 0.00903 -0 0 0 0.00702333 0.00100333 0.00301 0 0.00200667 -0 0 0.0100333 0 0 0 0.00401333 0.00100333 -0 0 0 0 0.00802667 0.0130433 0 0 -0.00602 0 0 0.00702333 0.00200667 0 0.00702333 0 -0 0.00501667 0.0100333 0.0110367 0.00100333 0 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0100333 -0 0.00200667 0.00802667 0 0.00200667 0.00200667 0.00100333 0.00802667 -0.00903 0.00501667 0 0 0.00200667 0.00301 0 0 -0 0.00602 0.00100333 0 0 0.00401333 0.00100333 0 -0 0.00702333 0.00501667 0 0.00602 0 0.00100333 0 -0.00200667 0.00602 0.00200667 0.00100333 0 0 0.00200667 0 -0.00100333 0 0.00501667 0 0.00200667 0.01204 0 0 -0.00301 0.00200667 0 0 0.00200667 0.00100333 0 0.00702333 -0 0.00100333 0.00200667 0 0 0 0.00301 0 -0.00501667 0.00401333 0 0 0.00802667 0 0 0 -0 0.00501667 0 0.00501667 0.00401333 0 0 0 -0.00401333 0 0.00501667 0 0 0.00100333 0 0 -0 0 0 0 0 0.00602 0.00702333 0 -0 0 0 0 0 0.00301 0 0 -0 0 0.00200667 0 0 0 0 0 -0 0 0.00200667 0 0 0 0 0.00602 -0 0 0 0 0 0 0.00301 0 -0 0.00401333 0 0 0.00100333 0.00100333 0 0 -0 0.00100333 0.00200667 0 0 0 0.00702333 0 -0.00100333 0 0.00301 0.00100333 0 0.00501667 0.00602 0 -0 0.00702333 0.00200667 0 0 0.00100333 0.0100333 0 -0 0 0.00200667 0.00501667 0 0 0.00602 0.00602 -0 0 0 0 0.00301 0.00401333 0.00702333 0 -0 0 0.00602 0.00401333 0 0.00200667 0.00802667 0 -0.00602 0.00903 0 0 0.00401333 0 0 0 -0.00602 0.00200667 0.00702333 0.00100333 0.00903 0 0 0.00602 -0 0.00301 0.00602 0 0.00100333 0.00401333 0 0 -0.00702333 0.00903 0.0100333 0 0 0 0 0.00602 -0.0110367 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00702333 -0.00200667 0 0.00401333 0.00702333 0 0.00401333 0.00401333 0 -0 0.00702333 0.00903 0 0.00200667 0 0.00100333 0.00501667 -0 0.00301 0.00100333 0 0.00100333 0 0.00401333 0.00301 -0 0 0.00301 0.00401333 0.00301 0.00301 0.00200667 0 -0 0.00200667 0.00200667 0.0100333 0.00501667 0 0 0.00100333 -0.00200667 0 0.00301 0 0 0.0100333 0 0.00602 -0 0.00200667 0.00401333 0 0 0 0 0 -0.0100333 0 0.00702333 0 0 0 0.00702333 0 -0.00200667 0.00802667 0 0 0 0.00200667 0 0 -0 0 0 0 0.00602 0 0 0 -0.00200667 0 0.00100333 0.00100333 0 0 0 0 -0 0 0 0.00100333 0 0 0.00301 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0 0.00100333 0 0 0 -0 0 0.00100333 0 0 0 0.00200667 0 -0 0 0.00200667 0 0.00702333 0 0 0 -0 0.00501667 0 0 0.00100333 0 0 0 -0 0.00200667 0 0.00501667 0 0 0.0100333 0 -0.00301 0 0 0 0 0.00200667 0.00501667 0 -0 0.00903 0 0 0 0.00602 0 0 -0 0.00100333 0.00702333 0.00100333 0 0 0.00401333 0.00200667 -0 0 0 0.00200667 0.01204 0 0.0100333 0 -0.00200667 0.00100333 0.00602 0.00100333 0.00200667 0.00903 0 0 -0.0110367 0 0 0.00200667 0.00401333 0 0.00200667 0.00702333 -0.00702333 0 0 0.00401333 0 0 0.00802667 0 -0.00602 0 0 0.00100333 0.00802667 0.00301 0 0.00602 -0.00501667 0.00903 0.00200667 0 0 0 0.00301 0.00200667 -0 0.00602 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00200667 -0.00702333 0 0 0 0.00802667 0.00401333 0.00200667 0.00602 -0 0 0.00602 0.00602 0 0.0110367 0 0 -0.00100333 0 0.00602 0.00100333 0.00200667 0 0 0.00802667 -0.00100333 0 0.00200667 0 0.00401333 0.00401333 0 0.00903 -0.00401333 0 0 0.00200667 0.00501667 0.00501667 0 0 -0.00602 0 0.00702333 0.00100333 0 0 0 0.00200667 -0.00602 0 0.00401333 0.00200667 0 0.00200667 0.00401333 0 -0.00602 0 0.00602 0.00501667 0 0 0.00702333 0 -0.00200667 0.00401333 0.00401333 0 0.00501667 0 0.00200667 0 -0 0.00602 0 0 0 0 0 0.00702333 -0 0 0 0 0.00501667 0 0 0 -0 0 0.00100333 0 0 0 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0 -0 0.00100333 0 0 0 0 0 0 -0.00100333 0 0 0 0.00301 0 0 0 -0 0 0 0 0.00200667 0 0.00702333 0 -0.00200667 0 0 0.00100333 0 0 0.00501667 0 -0.00501667 0 0.00903 0 0 0.00602 0 0 -0.00802667 0 0.00401333 0 0 0 0.00401333 0.00301 -0 0 0 0.0110367 0 0 0.00200667 0 -0.00903 0.00401333 0 0.00702333 0.00501667 0 0 0.00602 -0 0 0.00200667 0.00501667 0.00100333 0.00301 0 0.00200667 -0.00200667 0 0 0 0.00301 0.00200667 0.00100333 0.00100333 -0 0 0.00702333 0.00401333 0.00301 0.00200667 0.00301 0.00100333 -0.00100333 0.00501667 0 0.00100333 0.00401333 0.00100333 0.00501667 0.00501667 -0 0.00702333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00401333 0.00200667 -0.00301 0.00802667 0.00100333 0 0.00100333 0 0.00301 0 -0.00501667 0 0 0.00501667 0 0 0.0100333 0.00501667 -0.00100333 0 0 0.00301 0 0.00100333 0 0.00401333 -0.00501667 0 0 0.00100333 0 0.00501667 0.00301 0 -0.0110367 0.00200667 0 0 0.00200667 0 0 0 -0 0.00200667 0.00200667 0.00200667 0.00401333 0.00602 0 0 -0 0 0 0.00401333 0 0.00401333 0 0.00401333 -0 0 0 0.0100333 0 0 0 0.00100333 -0 0 0.00401333 0.00100333 0 0 0.00100333 0.00100333 -0 0 0 0.00702333 0 0 0 0 -0.00401333 0 0 0 0.00200667 0 0 0.00702333 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0 0 0 0 0 0.00200667 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0.00301 0 0 0.00301 0.00100333 -0 0 0.00501667 0 0 0 0.00401333 0 -0 0 0.00702333 0.00401333 0 0 0.00100333 0.00301 -0.00802667 0 0.00401333 0 0.00501667 0.00100333 0 0.00301 -0 0.00401333 0.00301 0.00100333 0 0.00200667 0 0.00501667 -0.0100333 0 0.00301 0 0.00200667 0 0.00602 0.00200667 -0 0 0.00802667 0.00100333 0 0 0 0.00501667 -0 0 0 0.0110367 0.00200667 0.00401333 0 0 -0.00401333 0.00200667 0.00200667 0.00401333 0.00200667 0 0 0.00301 -0.00602 0 0 0.00401333 0 0.00702333 0 0.00200667 -0.00401333 0 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00501667 0.00501667 0.00401333 -0.00100333 0 0.00802667 0.00501667 0 0.00602 0 0.00200667 -0.00100333 0.00100333 0.00100333 0.00100333 0 0 0 0 -0.00702333 0.00401333 0 0 0.00301 0.00501667 0 0 -0.00802667 0.00401333 0 0 0 0 0.00200667 0.00100333 -0 0.00802667 0.00200667 0.00100333 0.0100333 0.00401333 0 0 -0 0.00401333 0 0 0.00301 0.00100333 0 0.00100333 -0 0.00200667 0 0 0.00100333 0.0110367 0 0.00100333 -0.00200667 0 0.00501667 0 0 0 0.00100333 0.00100333 -0 0 0 0 0.00301 0 0 0 -0.00200667 0 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00802667 0 0 0 0.00100333 0 -0.00501667 0 0.0110367 0.00702333 0 0 0.00501667 0.00401333 -0 0 0 0.00200667 0.00501667 0 0 0.00602 -0 0.00501667 0 0 0.00301 0.00100333 0.00401333 0.00501667 -0 0.00802667 0 0.00200667 0 0.00602 0.00100333 0.00301 -0 0.00401333 0.00301 0 0 0.00301 0.00100333 0 -0 0.00301 0.00501667 0.00501667 0 0.00702333 0 0 -0.00301 0 0.00301 0.00602 0.00100333 0 0.00602 0 -0 0 0.00602 0.00301 0.00802667 0.00401333 0.00200667 0.00100333 -0.00401333 0 0.00602 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0110367 0.00802667 0.00501667 0 -0.00100333 0.00301 0 0.00602 0 0.00100333 0.00401333 0.00100333 -0.00401333 0.00100333 0 0.00401333 0.00702333 0 0 0 -0 0.00501667 0 0.00200667 0 0 0.00802667 0 -0.00301 0.00100333 0.00200667 0 0 0.00401333 0 0.00602 -0 0 0.00702333 0 0 0.0100333 0.00100333 0.00200667 -0.00200667 0 0 0 0.00200667 0.00401333 0.00401333 0 -0 0 0.00100333 0 0.00100333 0.00200667 0 0.00802667 -0 0 0.00200667 0.00702333 0 0.00802667 0 0 -0 0 0.00200667 0.00301 0 0 0.00401333 0 -0 0 0.00200667 0 0 0.00100333 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0 0 0 0.00602 0 0 -0 0 0.00501667 0.01204 0 0.00100333 0.00602 0 -0 0 0 0.0130433 0 0 0.00200667 0 -0.00702333 0 0.00200667 0 0.00602 0.00200667 0 0.00301 -0.00401333 0.00501667 0 0 0.00200667 0.00100333 0 0.00501667 -0 0.00301 0 0 0 0.00200667 0 0 -0 0.00702333 0 0 0.00602 0 0 0 -0.00401333 0.00401333 0 0.00401333 0 0.00200667 0 0 -0 0.00401333 0.00903 0.00501667 0.00301 0.00200667 0.00200667 0.00100333 -0 0.00401333 0.00802667 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00602 0.00501667 0.01204 0.0100333 -0.00301 0.00100333 0 0 0.00702333 0 0.00501667 0.00100333 -0 0.00702333 0 0 0.00301 0.00200667 0 0.00200667 -0 0 0.00301 0.00501667 0.00602 0.00100333 0.00100333 0 -0 0.00501667 0.00702333 0 0 0.00401333 0 0 -0.0130433 0 0 0.00301 0 0 0.00802667 0.00501667 -0 0.00401333 0.00301 0 0.00301 0 0.00401333 0 -0 0.00301 0.00100333 0 0 0.00501667 0 0.00301 -0.00501667 0 0 0 0 0 0.00401333 0 -0 0 0 0.00802667 0 0 0 0.00702333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0 0 -0 0.00401333 0 0.00200667 0 0 0 0.00100333 -0 0 0 0.00200667 0 0.00401333 0.00200667 0 -0 0 0.00802667 0.00702333 0 0 0.00301 0.00903 -0.00602 0 0 0 0.00301 0 0 0.01204 -0 0.00200667 0 0 0.00501667 0 0.00401333 0.00200667 -0 0.00200667 0 0.00200667 0 0.00501667 0 0.00100333 -0.00702333 0 0.00301 0.00100333 0.00301 0 0 0.00903 -0 0 0 0 0.00200667 0.00301 0 0.00301 -0.00200667 0 0.00702333 0.00301 0.00200667 0 0.00200667 0.00100333 -0 0.00301 0 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00602 0.00401333 0.00100333 0.00200667 0.00301 -0.00602 0.0100333 0.00501667 0 0 0.00100333 0 0.00702333 -0.00200667 0.00401333 0.00702333 0 0 0 0 0.00200667 -0.00301 0 0 0 0 0.00100333 0.00301 0.00702333 -0 0 0 0.00602 0 0.00401333 0.00200667 0 -0 0.00802667 0 0 0.00702333 0 0.00100333 0.00200667 -0 0 0.00602 0 0.00602 0.00100333 0 0.0100333 -0 0.00501667 0 0.00702333 0 0 0 0 -0 0.00501667 0.00301 0 0.00100333 0 0.00401333 0 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00301 -0 0 0 0 0 0 0.00100333 0 -0 0.00100333 0.0100333 0.00301 0 0 0.00903 0 -0.00401333 0 0 0.00702333 0 0.00602 0 0 -0.00100333 0.00802667 0 0.00802667 0 0 0 0 -0.00501667 0.00200667 0.00401333 0.00100333 0 0 0 0.0100333 -0 0 0.00401333 0.00602 0 0 0.00602 0.00301 -0 0 0.00802667 0.00100333 0.00401333 0 0.00200667 0.00200667 -0.00200667 0.00702333 0.00301 0 0 0 0 0 -0 0.00602 0.00702333 0 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00802667 0.00802667 0 0.00401333 -0.00100333 0.00200667 0.01204 0 0 0 0 0 -0.00200667 0.00501667 0.00802667 0.00501667 0 0.00100333 0 0 -0 0 0 0.00301 0 0.00100333 0 0.00100333 -0.00100333 0 0.00200667 0 0 0 0.00401333 0 -0 0 0.00903 0 0 0.00401333 0 0 -0.00501667 0.00200667 0 0 0 0.00301 0 0.00501667 -0.00501667 0 0 0 0.00100333 0.00702333 0 0 -0 0 0 0 0 0.00401333 0.00301 0 -0 0.00401333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00903 0 0 0 0 0.00301 0.00100333 -0.00602 0 0.00702333 0.00200667 0 0.00501667 0 0.00301 -0.00100333 0.00401333 0 0 0.00200667 0 0.00802667 0.00301 -0.00702333 0.00200667 0 0 0 0 0.00903 0 -0.00100333 0.00903 0.00401333 0 0 0.00802667 0 0.00602 -0 0.00301 0.0110367 0 0.00200667 0.00200667 0 0.00301 -0 0.00802667 0 0 0.00200667 0.00401333 0.00401333 0 -0.00200667 0 0 0 0.00903 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0.00200667 0 0.00802667 0.00602 0.00501667 -0.00401333 0.00200667 0 0.0100333 0.00401333 0.00802667 0 0 -0 0 0.00501667 0.00501667 0.00903 0.00602 0 0.00200667 -0 0.00401333 0 0 0 0 0.00401333 0.00301 -0 0.00401333 0 0.00602 0 0 0.00501667 0 -0.00100333 0 0 0.00401333 0.00200667 0.0100333 0.00100333 0 -0 0.00200667 0 0 0 0.00401333 0.00401333 0 -0.00100333 0 0 0.00100333 0 0.00903 0 0.00301 -0.00200667 0.00301 0 0 0 0 0.00200667 0 -0 0 0.00100333 0 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00702333 0 0 -0.00602 0 0.00301 0 0 0 0.01204 0 -0.00200667 0 0.00602 0 0 0.00301 0 0 -0 0.00602 0 0.00401333 0.00501667 0 0.00401333 0 -0.00301 0 0 0 0.00602 0.00100333 0.00200667 0.00501667 -0 0.0100333 0 0 0 0 0.00301 0 -0 0.0110367 0 0.00100333 0.00301 0 0.00200667 0.00602 -0.00100333 0 0 0.00702333 0.00200667 0 0 0 -0 0 0.00301 0.00501667 0.00602 0.00602 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0.00602 0.00702333 0 0.00602 0.00200667 -0 0.00602 0.00401333 0 0 0.00501667 0.00903 0.00401333 -0 0 0 0 0.00301 0.00100333 0.00802667 0 -0.00200667 0 0.00100333 0 0 0 0 0.00501667 -0.00401333 0 0 0.00602 0.00401333 0.00200667 0.00401333 0 -0 0.00200667 0 0 0 0.00802667 0.00301 0.00602 -0.00100333 0 0 0 0.00301 0 0.00301 0.00501667 -0 0.00100333 0 0.00501667 0 0.00100333 0.00501667 0.00301 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.02107 0.0702333 0.127423 0.191637 0.25284 0.318057 0.371233 -0.422403 0.465547 0.46956 0.50267 0.506683 0.495647 0.501667 0.495647 -0.473573 0.440463 0.419393 0.378257 0.33712 0.283943 0.227757 0.190633 -0.136453 0.09331 0.05418 0.0100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0 0.00100333 -0 0 0.00100333 0 0.00100333 0 0.00602 0 -0.00301 0 0 0 0.00301 0 0 0.00200667 -0.00903 0 0 0 0 0 0.00501667 0 -0 0 0 0.00802667 0 0.00401333 0.00501667 0.00501667 -0.0100333 0 0 0 0 0.00301 0.00301 0 -0.00501667 0 0 0.00100333 0.00401333 0.00501667 0.00200667 0 -0 0 0.01204 0.00501667 0 0.00301 0 0.00100333 -0.00602 0.00200667 0 0.00903 0.00401333 0.00501667 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00200667 0.00602 0 0.00100333 0.00602 -0.00702333 0 0.00301 0.00802667 0.00100333 0 0.00200667 0.00301 -0.00702333 0.00200667 0 0 0 0.00301 0.00100333 0 -0 0.00200667 0.00802667 0 0 0.00100333 0 0 -0.00100333 0.00702333 0 0 0 0.00100333 0.00602 0.00401333 -0 0 0.00401333 0 0 0 0.00401333 0 -0.00301 0.00200667 0.00301 0 0 0 0.00200667 0.00903 -0 0 0 0.00100333 0 0 0 0.00401333 -0 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0190633 0.0943133 0.205683 0.342137 0.507687 0.64708 -0.815808 0.94212 0.977152 1.01339 1.03151 1.04782 1.05144 1.04963 -1.05386 1.0593 1.05809 1.05024 1.0593 1.05144 1.05386 1.06111 -1.05567 1.05326 1.05567 1.05386 1.05567 1.04842 1.03936 1.03332 -1.01641 0.998292 0.968092 0.924604 0.835128 0.681856 0.539793 0.402337 -0.250833 0.146487 0.0551833 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0 0 0 0 0.00100333 0 0.00401333 0.00501667 -0.00100333 0 0 0 0.00702333 0 0.00401333 0 -0 0.00301 0.00702333 0.00301 0.00100333 0.00802667 0 0.00903 -0 0 0 0.00602 0.00100333 0 0.00602 0.00301 -0 0 0.00200667 0.00501667 0.00702333 0 0 0 -0.00401333 0.00802667 0.00100333 0 0 0 0 0.00200667 -0.00602 0 0.00903 0.00602 0.00501667 0.00501667 0.0100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0 0 0 0.0100333 0.00401333 0.00200667 -0.00100333 0.00702333 0 0 0.00501667 0.00301 0 0.00301 -0.00301 0.00702333 0.00100333 0 0 0 0.0110367 0 -0 0.00100333 0 0.00903 0.00200667 0 0.00401333 0 -0 0 0.0100333 0 0 0 0.00501667 0.00903 -0 0 0.0100333 0 0.00200667 0.00401333 0 0.00100333 -0 0.00301 0 0.00702333 0.00401333 0 0 0 -0.00401333 0 0.00200667 0.00301 0 0 0 0 -0 0 0.00301 0 0 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.02709 0.12642 0.287957 -0.491633 0.714056 0.93004 0.991648 1.03453 1.04842 1.06654 1.05446 -1.05567 1.05628 1.05144 1.05024 1.05628 1.05386 1.05084 1.04903 -1.04903 1.04903 1.05024 1.05084 1.04782 1.04661 1.04722 1.04842 -1.04601 1.05084 1.05024 1.0442 1.04601 1.05265 1.04903 1.04299 -1.05386 1.05265 1.05144 1.06292 1.05567 1.06473 1.05809 1.0599 -1.04238 1.0146 0.9693 0.8274 0.620032 0.432437 0.23779 0.09632 -0.00802667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00903 0 -0.00602 0 0 0 0.00301 0 0.00802667 0.00200667 -0 0 0 0 0.00501667 0 0.00100333 0 -0.01505 0.00401333 0 0.00903 0 0.00602 0.00200667 0 -0 0 0.00301 0 0 0.0110367 0.00301 0 -0.00401333 0.00301 0.00903 0.00200667 0 0 0 0.00100333 -0.00602 0 0 0 0.00301 0.00200667 0.00100333 0.00602 -0.00802667 0 0.00602 0.00401333 0 0 0.00100333 0.00702333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.00200667 0.00200667 0 0 0 0 0.01204 -0.00702333 0.00702333 0.00301 0 0 0 0 0.00200667 -0 0.00401333 0.00702333 0.00301 0 0 0 0.0100333 -0.00100333 0 0.00301 0 0.00903 0.00501667 0 0.00100333 -0.00200667 0 0 0.00903 0 0 0 0 -0.00501667 0 0.00301 0.00501667 0.00401333 0 0.00501667 0 -0.00401333 0 0.00100333 0 0 0.00501667 0.00100333 0.00200667 -0 0 0.00100333 0.00200667 0 0 0 0.00200667 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0431433 0.19264 0.420397 0.670264 0.928228 1.01218 1.03816 -1.06534 1.0605 1.05386 1.05265 1.05265 1.04963 1.04782 1.05265 -1.04118 1.03997 1.0442 1.0448 1.04178 1.04359 1.0448 1.04299 -1.03816 1.04238 1.04118 1.04118 1.03574 1.03997 1.03695 1.03453 -1.03634 1.03876 1.03997 1.03997 1.03755 1.04903 1.03876 1.04118 -1.0442 1.0442 1.04178 1.04359 1.04722 1.04299 1.0442 1.04842 -1.04963 1.05386 1.05446 1.06111 1.06534 1.05326 1.04057 0.989232 -0.880208 0.58695 0.353173 0.151503 0.0250833 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0 0.00100333 -0 0 0 0 0 0.00301 0 0.00802667 -0 0 0.00100333 0 0.00301 0 0.00501667 0 -0 0 0 0.00501667 0 0 0.00501667 0.0100333 -0.00501667 0 0.00903 0.00100333 0 0.00702333 0 0 -0 0.00401333 0.00301 0 0.00501667 0.00200667 0.00501667 0 -0 0.00702333 0.00200667 0.00301 0 0 0 0.00903 -0 0.00100333 0 0.00401333 0 0 0.00100333 0.0100333 -0 0.00501667 0.00401333 0 0.00100333 0.00401333 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.0130433 0.00903 0 0.00100333 0 0.00100333 0 0 -0 0.00501667 0.0100333 0.00401333 0.00501667 0.00501667 0 0 -0 0 0 0.00802667 0.00702333 0.00100333 0 0 -0.00200667 0.00301 0.00401333 0.00200667 0 0.00301 0.00301 0.00100333 -0.00903 0.00301 0 0 0.00702333 0.00100333 0.00200667 0 -0 0.00702333 0 0 0 0 0.00501667 0 -0 0 0 0 0.00200667 0.00100333 0 0.00301 -0 0 0 0.00602 0 0 0 0 -0 0 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.131437 0.372237 -0.6664 0.943932 1.0303 1.06111 1.05809 1.0605 1.05567 1.04661 -1.0448 1.0448 1.04782 1.04178 1.0442 1.04299 1.03876 1.04359 -1.04057 1.03574 1.03453 1.03876 1.03453 1.03091 1.03816 1.0291 -1.04057 1.0303 1.03212 1.02789 1.03574 1.0303 1.02728 1.03091 -1.0303 1.03272 1.02608 1.03332 1.03393 1.03514 1.02789 1.03755 -1.03151 1.03997 1.03876 1.03755 1.03876 1.03332 1.03936 1.03695 -1.04359 1.04299 1.04057 1.0454 1.05265 1.04299 1.05567 1.05748 -1.06171 1.06111 1.05326 1.01158 0.920136 0.620032 0.315047 0.1204 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0 0 0.00100333 -0 0.00401333 0 0.00200667 0.00903 0 0.00903 0.00200667 -0 0 0 0 0.00200667 0 0.00200667 0 -0.0100333 0 0.00200667 0 0.00501667 0 0 0 -0.00501667 0.00200667 0 0 0 0 0.00602 0 -0.00100333 0 0.0100333 0 0 0.00100333 0.00702333 0.00100333 -0 0.00301 0 0.00401333 0.00301 0.00602 0 0.00301 -0.00702333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00802667 0.0100333 0.00903 0.00100333 0.00100333 0.00200667 0 -0 0 0.00200667 0.00802667 0 0.00200667 0.0110367 0 -0 0 0 0 0 0.01204 0.00100333 0.00301 -0 0 0.00301 0.00100333 0 0 0.00100333 0 -0.00702333 0.00401333 0.00903 0 0 0.00100333 0.00100333 0.00602 -0 0 0.00501667 0.00602 0.00401333 0.00200667 0 0.00702333 -0.00401333 0 0.00301 0 0.00702333 0.00200667 0 0.00702333 -0 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.164547 0.471567 0.824824 1.00192 1.05446 -1.05507 1.0593 1.04903 1.05144 1.04782 1.03936 1.04782 1.04722 -1.04057 1.03816 1.0442 1.04118 1.03514 1.03332 1.03151 1.03514 -1.03695 1.0297 1.03151 1.03453 1.02789 1.03091 1.03212 1.02487 -1.0303 1.02849 1.02487 1.02487 1.02064 1.02487 1.02426 1.02124 -1.02245 1.01943 1.02487 1.02789 1.02789 1.03212 1.02608 1.0291 -1.02849 1.03212 1.03574 1.02728 1.03212 1.03393 1.03393 1.03453 -1.03695 1.03755 1.04057 1.03453 1.03755 1.04057 1.03634 1.04722 -1.04238 1.05024 1.05446 1.04963 1.0605 1.05446 1.05144 0.995272 -0.791336 0.440463 0.154513 0.00903 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0 0 0.00702333 0 -0 0.00602 0 0.01204 0 0 0 0 -0.00702333 0 0.00501667 0 0 0.00602 0 0.0110367 -0.00301 0 0.00200667 0.00100333 0 0.00501667 0 0 -0.00602 0 0 0 0 0.00602 0 0 -0.00200667 0.00200667 0 0 0 0.00602 0.0110367 0 -0 0.00100333 0.00301 0.00602 0 0 0.00100333 0.00401333 -0.00903 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.01204 -0.00100333 0 0 0.00301 0.00602 0.00401333 0.00100333 0.00501667 -0 0 0 0 0.00200667 0.00602 0.00401333 0.00200667 -0 0 0.00702333 0 0.00100333 0 0.0110367 0 -0.00903 0 0.00702333 0.00301 0 0.00200667 0 0 -0 0 0.0110367 0.00702333 0 0 0 0.00200667 -0 0 0 0 0.00401333 0 0 0.00100333 -0 0.00200667 0 0 0.00200667 0.00200667 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.1204 0.440463 0.838992 1.00916 1.06232 1.05688 1.0599 1.05326 -1.04299 1.04178 1.03876 1.04299 1.04299 1.03816 1.0297 1.03453 -1.03634 1.03816 1.02547 1.03876 1.03514 1.0303 1.03453 1.02487 -1.02306 1.03272 1.02668 1.03272 1.02668 1.02789 1.02487 1.02849 -1.02185 1.02124 1.0152 1.02608 1.02064 1.03212 1.06232 1.075 -1.07535 1.0593 1.03332 1.02426 1.02124 1.02245 1.02185 1.02789 -1.02487 1.03272 1.02849 1.02608 1.03634 1.02668 1.02849 1.03091 -1.03997 1.02668 1.0303 1.03755 1.02789 1.03574 1.0303 1.03816 -1.03332 1.03936 1.04178 1.04057 1.04782 1.0442 1.05144 1.05748 -1.05265 1.05446 1.014 0.837704 0.440463 0.134447 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0 0 0.00301 0.00100333 -0.00200667 0 0 0.00903 0 0 0.00200667 0.00702333 -0 0 0.00301 0 0 0.00200667 0.01806 0.00301 -0 0.00401333 0 0.00301 0.00100333 0.00301 0 0.00802667 -0 0 0.00200667 0.00100333 0 0.00401333 0 0 -0 0 0.00200667 0 0.00802667 0.00802667 0 0 -0 0.00501667 0.00301 0 0.00301 0.00200667 0.00702333 0.00903 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00602 0.00100333 -0.00903 0.00802667 0 0 0 0 0.00401333 0 -0.00702333 0 0 0 0.00200667 0 0.00301 0.00702333 -0.00301 0 0 0 0 0 0.00100333 0.00301 -0 0.00501667 0.00401333 0.00301 0 0 0.00903 0.00301 -0 0 0 0 0.00200667 0.00200667 0.00501667 0.00602 -0.00100333 0.00401333 0 0 0 0.00702333 0 0.00200667 -0.00100333 0.00301 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0341133 0.271903 0.683144 -0.994668 1.05084 1.06352 1.04722 1.05386 1.04661 1.0448 1.03997 -1.03997 1.03755 1.03453 1.03574 1.03574 1.03936 1.02547 1.03151 -1.03151 1.03695 1.02124 1.0297 1.02426 1.02789 1.02426 1.03151 -1.02306 1.02366 1.02668 1.02426 1.0297 1.02608 1.02306 1.02547 -1.01702 1.02064 1.01943 1.03514 1.0981 1.1317 1.14835 1.145 -1.14625 1.1415 1.12855 1.09215 1.02487 1.01762 1.02245 1.02728 -1.02004 1.02547 1.02849 1.02426 1.02426 1.02426 1.03151 1.02789 -1.02668 1.02547 1.0291 1.03151 1.02668 1.03212 1.02789 1.03574 -1.0291 1.03876 1.03212 1.03332 1.03997 1.03695 1.03997 1.04178 -1.04903 1.04963 1.05869 1.05567 1.0605 0.998896 0.75012 0.317053 -0.0501667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0 0 0 0 -0 0.00401333 0.00301 0 0 0 0.00702333 0 -0.00100333 0 0.00100333 0 0.00401333 0.0160533 0.00702333 0 -0 0 0 0.00301 0 0 0.00401333 0 -0 0 0.00301 0 0.00602 0 0 0.00301 -0 0.00702333 0.00802667 0.00501667 0.00301 0 0 0.00501667 -0 0 0 0.00501667 0.0100333 0.00802667 0.00401333 0 -0.00301 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0100333 0.00702333 -0 0.00702333 0.00401333 0.00301 0.00501667 0.00301 0.00301 0.00401333 -0 0.00602 0.00200667 0 0 0.00100333 0 0 -0.00802667 0.00401333 0.00301 0.00200667 0.00100333 0.00100333 0 0 -0 0 0 0.00903 0.00401333 0 0 0.00602 -0.00903 0.00802667 0 0 0 0.00401333 0 0.00100333 -0.00702333 0 0.00802667 0 0 0.00702333 0.00802667 0.00200667 -0 0 0.00401333 0.00301 0 0 0.00100333 0 -0.00200667 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.08428 0.431433 0.902104 1.03332 1.05446 -1.0593 1.05144 1.04661 1.0448 1.03876 1.03876 1.03634 1.03393 -1.03574 1.03997 1.0297 1.0291 1.03151 1.03212 1.02487 1.02245 -1.02487 1.03272 1.02728 1.02487 1.02608 1.02185 1.02547 1.02728 -1.02728 1.02426 1.02004 1.02185 1.02849 1.01943 1.02124 1.02245 -1.0152 1.01218 1.05869 1.12645 1.1443 1.14465 1.15504 1.14395 -1.14667 1.1429 1.14709 1.14709 1.1142 1.04601 1.01702 1.02366 -1.02366 1.01279 1.0303 1.02185 1.02245 1.02124 1.03453 1.02064 -1.02306 1.02245 1.02608 1.02608 1.02849 1.02426 1.03212 1.02245 -1.0297 1.03453 1.02668 1.0303 1.03936 1.03453 1.03574 1.03453 -1.03816 1.03876 1.04359 1.04601 1.05265 1.05628 1.06413 1.04057 -0.943932 0.510697 0.137457 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.0110367 0 0 0 0 0.00200667 0 0 -0 0 0.00702333 0 0.00200667 0.0100333 0 0 -0.00200667 0 0.00602 0 0.00100333 0 0 0 -0 0.00401333 0 0 0 0 0 0 -0.0110367 0.00702333 0.00301 0.00301 0 0 0 0 -0.00200667 0.0100333 0.0140467 0.0110367 0 0 0 0 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00301 -0.00903 0 0.00200667 0.00401333 0 0.00702333 0 0.00501667 -0.00501667 0 0.00401333 0.00301 0 0 0 0.00200667 -0 0.00200667 0.00301 0 0 0 0 0.00200667 -0.00702333 0 0 0 0.00501667 0 0.00200667 0.00301 -0 0 0.00802667 0.00200667 0 0 0.00401333 0 -0.00100333 0.00100333 0 0.00301 0 0 0.00602 0.00301 -0.00100333 0 0.00501667 0.00301 0.00702333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.113377 0.5117 0.96326 1.04661 1.06473 1.05628 1.04782 -1.04782 1.04057 1.04359 1.03212 1.03514 1.03151 1.03634 1.02366 -1.03393 1.03514 1.02306 1.02547 1.0291 1.02789 1.02789 1.02064 -1.02668 1.02608 1.02547 1.02306 1.02306 1.02004 1.02124 1.02306 -1.02547 1.02426 1.01883 1.02064 1.02366 1.01943 1.01883 1.01762 -1.0152 1.04299 1.12785 1.15002 1.14255 1.1429 1.13905 1.14751 -1.13905 1.1408 1.1436 1.145 1.14835 1.11735 1.03272 1.0152 -1.02245 1.01883 1.02547 1.02306 1.01883 1.02487 1.02849 1.02426 -1.01762 1.02366 1.02487 1.03272 1.01762 1.02426 1.02728 1.02185 -1.02668 1.0291 1.0303 1.02608 1.0303 1.0303 1.02608 1.02789 -1.03695 1.03212 1.03212 1.03876 1.04359 1.04359 1.04722 1.05024 -1.05628 1.05809 0.997084 0.649656 0.205683 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0.00200667 -0 0 0 0 0 0.00401333 0.00501667 0 -0.00401333 0 0 0.00401333 0 0.00100333 0 0.00100333 -0 0.00401333 0 0 0 0 0.00200667 0 -0 0 0 0.00200667 0 0 0.00602 0.00903 -0.00903 0 0 0 0 0 0.00702333 0.00602 -0.00200667 0.00501667 0.00602 0 0 0 0.00301 0 -0.00602 0 0.00903 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00903 0 -0 0.00401333 0.00200667 0 0.00802667 0 0.00501667 0.00200667 -0.00602 0.00301 0.00200667 0 0.00100333 0.00301 0.00100333 0 -0.00100333 0.00200667 0.00903 0.00702333 0 0.00702333 0.00401333 0 -0 0 0 0 0.00301 0 0 0 -0 0.00301 0 0.00301 0 0 0 0.00602 -0 0 0.00401333 0.00100333 0.00200667 0 0 0.0100333 -0.00903 0 0 0 0 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.12341 -0.549827 0.985004 1.0593 1.05748 1.05024 1.03755 1.04782 1.03574 -1.03514 1.03393 1.03876 1.03091 1.03091 1.0291 1.02728 1.0303 -1.02728 1.02547 1.02728 1.02366 1.02245 1.02366 1.02185 1.02366 -1.01762 1.02306 1.02366 1.02608 1.02306 1.02306 1.02306 1.02185 -1.02608 1.01822 1.02306 1.01641 1.02185 1.02245 1.02004 1.01158 -1.02306 1.1114 1.14876 1.14542 1.13975 1.14325 1.1394 1.1443 -1.14465 1.1408 1.13625 1.145 1.14542 1.1429 1.096 1.01339 -1.02728 1.01883 1.01943 1.01702 1.02124 1.02064 1.02124 1.02064 -1.02668 1.02306 1.01762 1.02487 1.02064 1.02487 1.01883 1.02426 -1.02728 1.02608 1.02608 1.02487 1.02366 1.02487 1.03272 1.02306 -1.03272 1.02608 1.03393 1.03332 1.03272 1.03997 1.03514 1.04057 -1.04238 1.05084 1.0599 1.06292 1.02245 0.725648 0.239797 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00903 0 0 -0 0 0.0140467 0 0.00301 0.00702333 0 0 -0 0.00602 0.00100333 0.00200667 0.00200667 0 0 0 -0.00200667 0 0.00100333 0 0.00100333 0.00401333 0.00802667 0.00301 -0 0 0 0 0.00301 0.00301 0 0.00501667 -0.0100333 0.00602 0 0 0 0.00702333 0 0.00401333 -0.00100333 0.00903 0.0100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00903 0 0.00602 -0 0.00100333 0.00100333 0.00301 0 0.00501667 0 0 -0.00301 0 0.00200667 0.00802667 0.00100333 0 0 0 -0 0 0 0.00401333 0.00200667 0 0 0.01204 -0.00200667 0 0.00100333 0 0 0.00301 0 0.00100333 -0.00100333 0.00301 0.00401333 0 0.00702333 0 0 0 -0 0 0 0.00200667 0.00301 0.00702333 0 0 -0.00200667 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0903 0.506683 0.97836 -1.05748 1.05446 1.05205 1.04842 1.0448 1.03695 1.03695 1.03574 -1.03332 1.02608 1.03634 1.0297 1.02608 1.02728 1.02608 1.02306 -1.02789 1.02668 1.02124 1.02306 1.02728 1.01581 1.02426 1.02245 -1.02064 1.01762 1.02004 1.02185 1.02064 1.01883 1.01762 1.0152 -1.02064 1.02124 1.02124 1.02124 1.01762 1.01943 1.014 1.0146 -1.05386 1.1401 1.14667 1.14395 1.1401 1.138 1.13625 1.1401 -1.14255 1.13975 1.13555 1.1408 1.1443 1.14584 1.13065 1.03514 -1.02245 1.0152 1.01702 1.01943 1.02185 1.02004 1.02185 1.0146 -1.02547 1.01883 1.01822 1.02064 1.02306 1.02306 1.02306 1.02849 -1.02124 1.02608 1.02608 1.02608 1.02245 1.02366 1.02366 1.02608 -1.02668 1.03332 1.02608 1.03212 1.02789 1.03453 1.03212 1.03755 -1.03695 1.0442 1.04601 1.04782 1.05809 1.05688 1.02728 0.7308 -0.21371 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00903 0 0.00602 0.00100333 0.00301 0 0 0 -0.00401333 0.00301 0.00501667 0.00200667 0.00301 0 0.00301 0 -0 0.00802667 0.00301 0.00301 0 0.00200667 0.00301 0 -0 0 0 0.00100333 0.00501667 0.0100333 0.00501667 0.00301 -0 0 0.00200667 0.00200667 0 0.00200667 0.00602 0.00602 -0.00100333 0 0 0.00401333 0.00200667 0 0.00903 0.00602 -0.00602 0.00200667 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00401333 0.00602 0.01204 0.00501667 -0.00602 0 0 0 0 0.00301 0.00200667 0 -0 0.00401333 0.00100333 0.00100333 0.00501667 0.00702333 0.00301 0 -0.00602 0 0 0 0 0.00401333 0.00602 0 -0.00401333 0 0 0 0.00200667 0.00401333 0.00200667 0 -0 0 0.00501667 0 0.00702333 0.00100333 0.00200667 0 -0 0 0.00301 0 0 0.00401333 0 0 -0 0.00301 0.00401333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0341133 0.396317 0.96024 1.05688 1.05326 -1.05386 1.04299 1.03755 1.03816 1.03272 1.0303 1.02245 1.03816 -1.02366 1.02728 1.0297 1.02728 1.02426 1.02547 1.02366 1.01943 -1.02487 1.02064 1.02366 1.02306 1.02185 1.02366 1.02849 1.02306 -1.01218 1.02124 1.01883 1.02366 1.01883 1.02668 1.02547 1.01762 -1.01641 1.02366 1.01581 1.01339 1.01641 1.01822 1.0146 1.01762 -1.09705 1.14542 1.1387 1.13905 1.13695 1.1394 1.14185 1.1352 -1.1366 1.13625 1.13835 1.1359 1.1387 1.14542 1.1415 1.0744 -1.014 1.02004 1.02245 1.01641 1.02366 1.01883 1.02245 1.02185 -1.02426 1.01702 1.01822 1.02185 1.02064 1.02245 1.02366 1.02306 -1.01762 1.02064 1.01943 1.02064 1.02366 1.02426 1.02185 1.02185 -1.02849 1.02366 1.02185 1.03091 1.02789 1.02849 1.0303 1.03393 -1.0297 1.03212 1.03816 1.03695 1.04178 1.04963 1.05748 1.06775 -1.01037 0.623896 0.13846 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00200667 0 0 0 0 -0.00200667 0 0 0 0.00100333 0.00301 0 0 -0.00702333 0.00200667 0 0 0.00401333 0.00401333 0 0.00200667 -0.00802667 0.00301 0 0.00200667 0.00602 0 0 0 -0 0.00100333 0 0 0.00802667 0.00401333 0.00602 0.00602 -0 0.00401333 0.00401333 0 0.00602 0.00903 0.00401333 0 -0 0.00501667 0.00401333 0.00501667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0110367 0.00301 0 0.00702333 -0.00903 0.00501667 0.00501667 0.00702333 0.00200667 0 0.00501667 0.00501667 -0 0 0.00301 0.00200667 0.00100333 0 0.00401333 0.00602 -0.00702333 0.01204 0 0 0.00501667 0 0.00401333 0.0110367 -0.00100333 0.00702333 0.00200667 0 0 0 0.00501667 0.00702333 -0.00501667 0.00602 0 0 0 0.00501667 0 0.0100333 -0 0 0 0.00501667 0 0 0 0 -0.00602 0 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.244813 0.841568 1.04601 1.06352 1.05265 1.05386 -1.04057 1.03997 1.0303 1.0297 1.03453 1.03453 1.02426 1.02849 -1.02547 1.02366 1.02366 1.0297 1.02728 1.02487 1.02366 1.01822 -1.02547 1.02306 1.01883 1.02849 1.02185 1.02426 1.01581 1.02668 -1.02426 1.02185 1.01822 1.01943 1.01943 1.02426 1.01943 1.01883 -1.014 1.02004 1.02306 1.01943 1.01822 1.01581 1.01581 1.01218 -1.11385 1.14625 1.1401 1.1415 1.1387 1.1366 1.14185 1.1331 -1.1373 1.1401 1.13485 1.13625 1.13835 1.14115 1.14667 1.09705 -1.01037 1.01098 1.01702 1.02004 1.01641 1.02064 1.02064 1.02064 -1.02306 1.0146 1.02306 1.01581 1.01581 1.02185 1.01822 1.02366 -1.014 1.02124 1.01883 1.01822 1.02426 1.02306 1.01641 1.02426 -1.01943 1.01702 1.03272 1.02366 1.02487 1.02728 1.03332 1.02245 -1.02487 1.03212 1.02849 1.03695 1.03695 1.0454 1.04903 1.05084 -1.05567 1.05809 0.976548 0.46053 0.0491633 0 0 0 -0 0 0 0 0 0 0.00401333 0 -0 0 0 0 0 0 0 0 -0.00501667 0 0 0.00903 0.00200667 0 0 0.00602 -0.01204 0 0 0.01806 0.00301 0 0 0.00602 -0.00100333 0 0.00200667 0.00401333 0 0 0.00200667 0 -0 0 0.00100333 0.00401333 0.00501667 0.00401333 0.00401333 0 -0.00100333 0 0 0.00501667 0.00602 0 0 0.00301 -0.00501667 0 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00401333 0.00501667 0 -0.00200667 0.00702333 0.00100333 0.00301 0.00501667 0 0 0.00401333 -0.0100333 0 0 0 0 0.00200667 0 0 -0 0.00401333 0.0110367 0 0 0.00200667 0.00100333 0 -0.00100333 0.00501667 0 0.00802667 0.00301 0.00100333 0 0.00200667 -0 0 0.00100333 0.00301 0 0.00301 0 0 -0.00301 0 0.00200667 0 0 0 0 0 -0 0 0 0.00200667 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0.0852833 0.581933 1.01822 1.06171 1.05446 1.05326 1.03393 1.04118 -1.03755 1.03574 1.03453 1.02547 1.02728 1.02668 1.02789 1.02849 -1.02185 1.02547 1.02487 1.01641 1.01943 1.0297 1.01822 1.02004 -1.01581 1.02306 1.01641 1.01762 1.02245 1.02426 1.01762 1.02487 -1.01883 1.01762 1.02245 1.01641 1.02306 1.01702 1.02185 1.02185 -1.01702 1.02004 1.01702 1.01883 1.01702 1.0146 1.01641 1.01641 -1.11945 1.14255 1.13975 1.13975 1.1373 1.13485 1.138 1.13835 -1.138 1.13905 1.13905 1.13835 1.13975 1.14255 1.14395 1.1037 -1.0152 1.00916 1.01822 1.01702 1.01822 1.02185 1.01702 1.01883 -1.02064 1.02306 1.01883 1.02064 1.01822 1.02366 1.01702 1.01822 -1.02004 1.02306 1.02487 1.02124 1.02426 1.01762 1.02185 1.02608 -1.02185 1.02547 1.02245 1.02185 1.02124 1.02608 1.02487 1.01702 -1.03332 1.0303 1.02306 1.02728 1.03514 1.03816 1.03272 1.04057 -1.04903 1.04601 1.0605 1.05144 0.867328 0.2709 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.00702333 0.00301 -0 0 0 0.00602 0 0 0 0.0130433 -0 0 0.0160533 0.00401333 0 0 0 0 -0 0.00602 0.00100333 0 0 0.00802667 0 0 -0.00401333 0.00100333 0.00301 0.00501667 0 0 0 0 -0 0 0.00802667 0.00501667 0 0.00602 0.00401333 0 -0 0 0 0.00200667 0.00802667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00301 0.00802667 0.00100333 0 0 -0 0 0.00301 0.00200667 0.00301 0.00200667 0 0 -0 0.00702333 0.00802667 0 0 0 0.00602 0 -0 0 0 0.00602 0.00401333 0 0 0.00501667 -0 0.00100333 0.00702333 0 0.0110367 0.00301 0.00301 0 -0.00702333 0.00401333 0.00100333 0 0 0.00301 0.00200667 0 -0.00401333 0.00200667 0 0 0.00301 0 0 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.29498 -0.929436 1.05265 1.05748 1.05567 1.03997 1.03997 1.0303 1.0303 -1.03634 1.02004 1.0291 1.0303 1.02547 1.02185 1.02608 1.02426 -1.01581 1.02004 1.0291 1.01943 1.02004 1.01883 1.01581 1.0291 -1.01883 1.01702 1.02487 1.01943 1.01581 1.02366 1.01581 1.02004 -1.01762 1.02064 1.01883 1.01641 1.0146 1.014 1.01883 1.01702 -1.01581 1.02366 1.01641 1.01822 1.02366 1.02245 1.01822 1.0146 -1.11105 1.13905 1.14115 1.138 1.1408 1.14045 1.13695 1.1401 -1.13695 1.1422 1.13415 1.13905 1.13765 1.1422 1.1436 1.0932 -1.01702 1.01218 1.01762 1.01943 1.01822 1.01702 1.02185 1.02124 -1.02064 1.02245 1.01641 1.01883 1.02124 1.01279 1.02064 1.02004 -1.02185 1.01641 1.02306 1.01702 1.01883 1.02185 1.02306 1.01943 -1.02306 1.02366 1.02124 1.02064 1.02004 1.02426 1.014 1.0297 -1.02487 1.02608 1.02487 1.02668 1.03453 1.02547 1.02608 1.03816 -1.03936 1.03816 1.04903 1.05386 1.05446 1.02789 0.616168 0.0953167 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0 0 0.0100333 0 -0 0.0100333 0.00100333 0 0.00100333 0 0.00100333 0.00602 -0.00602 0 0.00200667 0 0.0130433 0 0 0.00501667 -0.00401333 0.00301 0.00200667 0.00301 0 0.00401333 0.00401333 0 -0 0.00200667 0 0 0.00401333 0 0 0 -0 0 0.00702333 0.00602 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0100333 0.00301 0.00602 0.00200667 0.00401333 -0.00602 0.00301 0.00100333 0.00200667 0.00401333 0 0.00200667 0 -0.00501667 0 0.00301 0.00401333 0.00200667 0.00200667 0.00401333 0.00301 -0.00301 0 0 0 0.00200667 0.00602 0 0 -0.00802667 0 0 0.00301 0.00100333 0.00802667 0 0.00401333 -0 0 0.00702333 0.00602 0 0 0 0 -0 0 0.00100333 0 0 0.00602 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0682267 0.584943 1.0291 -1.06654 1.04903 1.04299 1.03997 1.04359 1.03332 1.0303 1.0291 -1.03332 1.03634 1.02245 1.01883 1.0291 1.02124 1.02849 1.02426 -1.01883 1.02004 1.02728 1.01883 1.01762 1.01702 1.01702 1.02306 -1.02064 1.01581 1.01883 1.01581 1.02245 1.02004 1.02668 1.01762 -1.0146 1.01943 1.01943 1.01883 1.02306 1.02306 1.02124 1.01762 -1.02064 1.01943 1.02124 1.01883 1.01822 1.01702 1.0146 1.0146 -1.09565 1.14625 1.1436 1.1359 1.14045 1.1394 1.1387 1.13555 -1.138 1.138 1.1359 1.13975 1.1415 1.1422 1.1429 1.07077 -1.00856 1.0152 1.0152 1.01641 1.02245 1.0152 1.01883 1.01279 -1.02004 1.02608 1.02124 1.02245 1.02306 1.01762 1.02849 1.02004 -1.02608 1.01641 1.01762 1.02004 1.01883 1.01762 1.02547 1.02185 -1.02306 1.02185 1.02608 1.01883 1.01762 1.02426 1.02004 1.02789 -1.0152 1.01943 1.02487 1.02426 1.02728 1.02608 1.0297 1.0303 -1.03393 1.03212 1.0454 1.04238 1.04359 1.05748 1.05869 0.941516 -0.333107 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0.00401333 0 0 -0.00100333 0.00301 0.00602 0.00301 0 0.00501667 0.00903 0 -0.00301 0 0 0 0 0.00301 0.00802667 0 -0 0.00401333 0 0.00301 0 0 0.00100333 0.00200667 -0 0 0.00301 0 0 0.00702333 0 0 -0 0.00401333 0.00602 0.00602 0.00301 0.00301 0.00100333 0 -0.00501667 0 0.00200667 0.00602 0.00802667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0 0.00200667 0.00100333 0 -0.00401333 0.00100333 0.00100333 0 0.00200667 0.0100333 0.0100333 0.00200667 -0 0.00100333 0 0 0.00401333 0 0 0.00401333 -0.00301 0.00301 0.00401333 0 0 0 0.00602 0 -0 0 0 0.00200667 0 0 0.00602 0.00100333 -0 0 0 0.00501667 0 0.00301 0.00501667 0 -0 0.00802667 0 0.00501667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.212707 0.871192 1.06111 1.05628 -1.05205 1.04963 1.03514 1.03332 1.02849 1.03212 1.02789 1.03151 -1.02668 1.02245 1.02728 1.02547 1.02185 1.02366 1.01702 1.02426 -1.02245 1.01641 1.02245 1.02426 1.02668 1.02245 1.02426 1.02064 -1.02306 1.01883 1.02487 1.0152 1.01943 1.01339 1.02004 1.02426 -1.01641 1.02004 1.02366 1.01339 1.02004 1.02064 1.0152 1.01581 -1.02426 1.02124 1.0152 1.02426 1.02064 1.02004 1.01822 1.01098 -1.05507 1.138 1.1429 1.13975 1.14045 1.1359 1.1366 1.1331 -1.14115 1.138 1.13555 1.13905 1.1436 1.14255 1.13065 1.02608 -1.0146 1.01641 1.01943 1.01641 1.02366 1.014 1.01702 1.01702 -1.02185 1.02245 1.01762 1.01822 1.01883 1.0146 1.0152 1.0146 -1.01581 1.01883 1.02185 1.02185 1.02004 1.02547 1.02185 1.02245 -1.01702 1.02124 1.02608 1.02185 1.01822 1.02789 1.0297 1.01883 -1.0146 1.02245 1.02608 1.02426 1.02064 1.02064 1.02426 1.0291 -1.0303 1.03091 1.03091 1.03332 1.04118 1.04601 1.05084 1.05809 -1.02849 0.58695 0.0712367 0 0 0 0 0 -0 0 0 0 0 0.00200667 0 0 -0 0 0.00501667 0 0 0.00802667 0 0 -0 0 0 0 0.0100333 0.00200667 0 0.00903 -0.00200667 0.00100333 0.00200667 0.00200667 0 0 0.00903 0.00301 -0.00100333 0.00802667 0.00200667 0.00702333 0.00602 0 0 0.00200667 -0.01505 0.00501667 0 0 0 0 0.00200667 0.00602 -0 0.00702333 0.01204 0.00903 0.00602 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0.00200667 0.00301 0.00200667 0.00200667 0 -0 0 0.00100333 0 0 0 0.00200667 0.00903 -0.00702333 0 0.00100333 0 0 0.00501667 0.00100333 0 -0 0.00301 0.00501667 0.0130433 0.00200667 0 0 0 -0 0 0 0 0 0 0.00301 0.00401333 -0.00702333 0.00501667 0 0 0 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.396317 1.0001 1.05265 1.05386 1.0448 -1.03755 1.03514 1.03634 1.03936 1.02789 1.0303 1.02789 1.02547 -1.02426 1.02547 1.02064 1.02547 1.02306 1.02608 1.01581 1.01943 -1.01641 1.02124 1.01581 1.01037 1.0291 1.0146 1.02185 1.02306 -1.02064 1.01943 1.0152 1.02245 1.0146 1.01943 1.01762 1.02789 -1.0146 1.02004 1.02849 1.01762 1.0146 1.01339 1.02366 1.02426 -1.02004 1.01883 1.01037 1.0146 1.01822 1.02245 1.01158 1.01279 -1.02124 1.1114 1.14325 1.14465 1.1408 1.1394 1.138 1.13205 -1.13905 1.13485 1.145 1.14115 1.14185 1.14667 1.0911 1.01218 -1.01037 1.02124 1.02366 1.01702 1.01339 1.02668 1.014 1.02185 -1.02668 1.01339 1.01641 1.01641 1.01762 1.02064 1.02064 1.02064 -1.01581 1.02004 1.01279 1.02064 1.02668 1.01641 1.02185 1.02185 -1.0152 1.02487 1.02004 1.02245 1.0152 1.02547 1.014 1.01943 -1.01702 1.02245 1.01762 1.02185 1.03151 1.02426 1.02608 1.02306 -1.0291 1.02789 1.0297 1.03695 1.03574 1.04178 1.03755 1.04661 -1.05748 1.05507 0.87248 0.20167 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0.00602 0.00200667 0 0.00501667 -0 0 0 0 0 0.00401333 0 0 -0 0.00100333 0 0 0 0.00602 0 0 -0.00602 0 0 0 0 0 0 0.00602 -0 0 0 0 0.00501667 0.00301 0.00200667 0.00100333 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0160533 0.00903 0.00200667 0.00301 0.00602 0.01204 -0.00602 0 0.00301 0.00501667 0 0 0 0.00100333 -0.00401333 0.00100333 0.00200667 0.00602 0.00301 0 0 0 -0.00301 0.00200667 0.00401333 0 0.00200667 0.00501667 0.00501667 0.00702333 -0 0.00100333 0.00100333 0.00200667 0 0 0 0 -0.00200667 0.00100333 0 0.00301 0 0 0.00501667 0.00501667 -0.00200667 0.00401333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0411367 0.569893 1.03332 1.05748 1.05446 1.03936 1.03695 -1.04118 1.02728 1.02547 1.02426 1.0291 1.02064 1.02124 1.02426 -1.02306 1.02487 1.02366 1.02004 1.02185 1.02547 1.01822 1.02306 -1.02366 1.02366 1.0146 1.02064 1.02004 1.01702 1.01702 1.02064 -1.01822 1.02547 1.01641 1.02064 1.01943 1.02124 1.01581 1.02185 -1.01581 1.02004 1.01883 1.02124 1.02004 1.014 1.02608 1.01883 -1.01762 1.01581 1.01762 1.0152 1.02064 1.01822 1.02064 1.01641 -1.014 1.04359 1.12715 1.14584 1.1429 1.145 1.13975 1.13905 -1.1415 1.1345 1.14465 1.14255 1.13485 1.1163 1.0297 1.01098 -1.01218 1.01218 1.01822 1.02185 1.01702 1.02124 1.01641 1.01702 -1.01822 1.01641 1.02004 1.02426 1.02306 1.01943 1.0146 1.02064 -1.01581 1.01822 1.0146 1.02487 1.01822 1.02124 1.02245 1.0152 -1.01702 1.01822 1.0146 1.01822 1.01822 1.01641 1.02124 1.02366 -1.01581 1.02185 1.02487 1.02728 1.02547 1.01943 1.01943 1.0303 -1.02668 1.02245 1.0297 1.02668 1.03393 1.02849 1.03453 1.04238 -1.04661 1.05205 1.05809 0.982588 0.34314 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0.0110367 0.00501667 0 0 0 -0 0 0 0 0.00702333 0.00602 0.00100333 0 -0.0100333 0 0.00702333 0.00401333 0.00802667 0.00301 0.00200667 0.00301 -0 0 0.00200667 0 0.01204 0.00702333 0.0110367 0.00200667 -0 0 0.00100333 0 0 0 0.00602 0 -0.00602 0.00301 0 0 0.00401333 0.0110367 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0 0 0 -0.00602 0.00200667 0 0.00200667 0.00802667 0 0 0.00401333 -0.00100333 0.00301 0 0 0.00501667 0.00802667 0.00501667 0 -0 0 0 0.00702333 0.00100333 0 0 0.00501667 -0.00401333 0 0 0.00401333 0.00301 0 0 0 -0 0.00602 0.00802667 0.00501667 0.00501667 0.00802667 0 0.00401333 -0 0.00501667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.0953167 0.748832 1.0593 1.05688 1.04601 1.03755 1.04118 1.02849 -1.03091 1.02789 1.02728 1.02064 1.02426 1.02185 1.02547 1.02124 -1.02064 1.02245 1.02547 1.02245 1.0303 1.01822 1.02728 1.02245 -1.02547 1.01822 1.01339 1.02004 1.01943 1.0152 1.02547 1.01702 -1.02306 1.02185 1.02185 1.01641 1.02306 1.02004 1.02124 1.02306 -1.02185 1.01641 1.01581 1.01762 1.01702 1.01943 1.02245 1.01158 -1.01883 1.02487 1.02185 1.00916 1.01702 1.0146 1.01883 1.01339 -1.01822 1.01581 1.05326 1.1226 1.13835 1.14542 1.1422 1.13975 -1.1401 1.14584 1.14625 1.1408 1.10825 1.03091 1.02245 1.01037 -1.02004 1.01339 1.01883 1.0146 1.01702 1.0152 1.01822 1.014 -1.01762 1.02426 1.02245 1.01702 1.02064 1.01702 1.01702 1.0152 -1.02608 1.01641 1.01641 1.02366 1.02426 1.02306 1.01822 1.02668 -1.02004 1.02185 1.01702 1.0291 1.0146 1.02366 1.02426 1.01943 -1.02004 1.02366 1.01822 1.02547 1.02124 1.01822 1.02547 1.03091 -1.01943 1.02849 1.02064 1.02004 1.02366 1.03332 1.02849 1.03574 -1.04299 1.03997 1.05084 1.05205 1.0152 0.491633 0.0140467 0 -0 0 0 0 0 0 0 0.00200667 -0 0 0 0.00100333 0 0 0 0 -0 0 0.00702333 0.00200667 0.00802667 0 0.00702333 0.0110367 -0.00702333 0.00301 0.00301 0 0.00100333 0.00602 0 0 -0 0 0.00100333 0 0 0 0 0 -0.00100333 0 0 0 0.00702333 0.0110367 0 0.00702333 -0.00100333 0 0 0.00702333 0.00903 0.00100333 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00401333 0.00702333 0 0.00200667 0.00702333 0 -0 0.00301 0 0 0.00100333 0 0 0 -0 0.00100333 0 0 0 0 0.00301 0.00602 -0 0 0 0 0.00602 0 0 0 -0 0.0100333 0 0 0 0.00501667 0 0.00602 -0 0 0.00100333 0 0 0 0.00501667 0.00301 -0 0 0.00802667 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0.13244 -0.851872 1.0593 1.05326 1.05084 1.04299 1.03393 1.02728 1.02728 -1.02668 1.02789 1.03272 1.02245 1.02426 1.02547 1.0297 1.02366 -1.01822 1.01943 1.02366 1.02124 1.02426 1.02245 1.01702 1.02064 -1.02004 1.0303 1.01762 1.01883 1.01762 1.01279 1.01943 1.02064 -1.01943 1.02487 1.01279 1.01702 1.02306 1.02245 1.0152 1.02426 -1.02064 1.02426 1.02124 1.01218 1.02366 1.02366 1.01098 1.02124 -1.02004 1.0146 1.01943 1.01641 1.01943 1.01943 1.01943 1.0152 -1.01702 1.01279 1.01943 1.02426 1.0939 1.13065 1.138 1.13485 -1.14325 1.1366 1.12225 1.0785 1.02004 1.00977 1.0146 1.00735 -1.0152 1.02004 1.01702 1.01822 1.02487 1.02185 1.02185 1.01279 -1.01762 1.01883 1.02245 1.01702 1.02245 1.02366 1.02245 1.0146 -1.02366 1.02245 1.01581 1.01702 1.02185 1.01822 1.0152 1.00856 -1.01822 1.0146 1.02245 1.01822 1.02004 1.02245 1.02124 1.01581 -1.02487 1.02245 1.02426 1.01702 1.02124 1.02366 1.02124 1.02426 -1.02789 1.02306 1.02185 1.02728 1.02789 1.02849 1.02487 1.03453 -1.03272 1.03997 1.03755 1.04963 1.05809 1.04238 0.593973 0.0351167 -0 0 0 0 0 0 0 0 -0.00702333 0 0 0 0 0 0.00200667 0 -0.00301 0.00802667 0.00200667 0 0.00301 0 0.00401333 0 -0.00100333 0.00200667 0 0.00802667 0.0110367 0 0 0 -0 0.01204 0.00200667 0.00602 0 0.00100333 0.00401333 0 -0 0 0.00200667 0.00903 0.00301 0 0.00100333 0.00100333 -0.00100333 0 0.00100333 0.00200667 0.00200667 0.00200667 0.0130433 0 -0 0 0 0 0 0 0 0 -0 0.00903 0.00301 0 0.01204 0 0 0.00200667 -0.00501667 0.00903 0 0 0 0.00100333 0.00401333 0.0100333 -0.00301 0.00501667 0.00702333 0 0 0 0 0.00301 -0.00602 0 0 0 0 0.00301 0.00200667 0.00100333 -0.00401333 0 0.00100333 0.00301 0.00100333 0 0.00501667 0 -0.00100333 0 0 0 0 0 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.170567 0.91112 -1.05748 1.05386 1.0454 1.03816 1.03755 1.03212 1.02487 1.02547 -1.02245 1.02426 1.02245 1.02487 1.02004 1.0152 1.02306 1.02306 -1.02366 1.0152 1.02366 1.01762 1.02668 1.01943 1.01943 1.02124 -1.01641 1.02668 1.02728 1.01822 1.01883 1.01883 1.01641 1.01943 -1.01822 1.02306 1.01943 1.01822 1.02547 1.014 1.0146 1.01641 -1.01581 1.02426 1.02426 1.01943 1.01279 1.01943 1.02185 1.0146 -1.02849 1.01641 1.02245 1.02185 1.01218 1.02004 1.01581 1.01702 -1.02245 1.01641 1.01581 1.00312 1.0146 1.02789 1.05628 1.06594 -1.06352 1.03755 1.02185 1.01581 1.01158 1.0146 1.02064 1.02185 -1.01822 1.01762 1.01883 1.01098 1.01218 1.01762 1.02064 1.01702 -1.01943 1.01883 1.01762 1.01822 1.02306 1.02124 1.01883 1.01339 -1.01581 1.01822 1.0146 1.01822 1.02004 1.02245 1.014 1.01943 -1.02245 1.02004 1.01581 1.01883 1.02306 1.01943 1.0146 1.02426 -1.01762 1.02306 1.02185 1.02004 1.02004 1.02004 1.02487 1.02306 -1.0146 1.01339 1.02366 1.02185 1.02426 1.02547 1.02728 1.03634 -1.03212 1.02608 1.03332 1.0442 1.04963 1.06292 1.05567 0.696024 -0.0551833 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00301 0 0 -0.00802667 0.00200667 0 0.00301 0.00401333 0 0 0 -0 0 0 0.00301 0 0 0 0 -0.00301 0 0 0.00100333 0.00301 0 0 0 -0 0.00501667 0.00401333 0 0 0.00501667 0.00802667 0.00200667 -0.00200667 0.00501667 0.00501667 0.00501667 0.00100333 0.00702333 0.00301 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00100333 0.00301 0 0.00401333 0.00301 0 -0 0 0.00802667 0 0 0 0.00100333 0 -0 0 0.00301 0.00802667 0 0.00401333 0.00200667 0 -0 0.00200667 0.00200667 0.00200667 0 0.00401333 0 0.00602 -0.00501667 0 0 0 0.00100333 0 0 0.00301 -0.00200667 0.00100333 0 0 0 0 0 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.199663 0.937892 1.06352 -1.04661 1.0442 1.0448 1.03514 1.03514 1.02668 1.02728 1.02366 -1.02306 1.01883 1.02004 1.02306 1.02245 1.01581 1.02185 1.02366 -1.02245 1.02245 1.02124 1.01279 1.00856 1.00373 1.00494 0.997084 -1.00373 1.01581 1.01883 1.02064 1.0146 1.02185 1.01762 1.02064 -1.0152 1.02426 1.02185 1.02124 1.01822 1.02124 1.01762 1.01702 -1.02064 1.01641 1.02124 1.02185 1.02306 1.01581 1.02668 1.0146 -1.02789 1.01762 1.02004 1.01883 1.0152 1.01581 1.02306 1.02004 -1.01822 1.01822 1.02064 1.01762 1.01822 1.00735 1.01158 1.01339 -1.0152 1.01158 1.01037 1.02004 1.01218 1.01702 1.01218 1.01943 -1.01581 1.01641 1.02064 1.01702 1.02004 1.02245 1.02124 1.01702 -1.02426 1.02064 1.0152 1.01762 1.01762 1.01098 1.01581 1.01762 -1.02306 1.02185 1.02366 1.02004 1.01943 1.01762 1.0152 1.02245 -1.02366 1.0146 1.01762 1.0152 1.01822 1.01822 1.02426 1.02124 -1.02245 1.01581 1.01702 1.0152 1.02306 1.02245 1.02608 1.01641 -1.00916 1.02366 1.01943 1.02849 1.02608 1.02547 1.02668 1.01702 -1.02245 1.02789 1.03393 1.03634 1.04178 1.04661 1.04782 1.04842 -0.738528 0.06923 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00602 -0 0 0 0.00401333 0 0 0.00501667 0 -0 0 0.00501667 0 0 0.00200667 0.00401333 0.00100333 -0.00301 0.00100333 0.00301 0.00501667 0 0 0 0 -0.00602 0 0 0.00501667 0.00401333 0.00501667 0 0 -0 0.00200667 0 0 0.00100333 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0.0110367 0.00401333 0 0.00501667 0 0.00401333 0.00301 -0 0 0 0.00401333 0 0 0 0.00301 -0.00401333 0 0 0.00401333 0.00401333 0 0.00200667 0.00200667 -0.00100333 0.00200667 0 0 0 0 0.00100333 0 -0.00200667 0.0160533 0.0100333 0 0 0.00100333 0.00301 0 -0 0 0.00301 0 0.00100333 0 0 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0.18361 0.944536 1.0599 1.05265 -1.04722 1.03574 1.0297 1.03393 1.02728 1.02789 1.02668 1.0291 -1.02366 1.02245 1.02004 1.02547 1.01762 1.01822 1.02124 1.0152 -1.02004 1.01581 0.9995 0.986816 0.995272 0.985608 0.995876 0.986816 -0.994064 0.989836 1.014 1.01822 1.00916 1.01218 1.01702 1.02064 -1.014 1.0146 1.02124 1.02547 1.02426 1.01641 1.0152 1.01581 -1.02426 1.01762 1.02064 1.01641 1.02185 1.01218 1.02185 1.01702 -1.02366 1.02064 1.02064 1.01702 1.014 1.01339 1.01822 1.01641 -1.01641 1.02185 1.02185 1.01279 1.01702 1.00675 1.01883 1.01581 -1.01098 1.01702 1.0146 1.02366 1.02124 1.0146 1.014 1.01943 -1.01641 1.0146 1.02245 1.01702 1.0152 1.01883 1.02004 1.01822 -1.02487 1.0152 1.02004 1.01581 1.02728 1.02366 1.01762 1.01702 -1.01581 1.02366 1.0152 1.0146 1.01883 1.01762 1.02064 1.02849 -1.01943 1.01581 1.02306 1.01641 1.02185 1.01822 0.992856 0.995272 -0.988024 0.99346 0.992856 1.0001 1.00977 1.01822 1.01943 1.01702 -1.0152 1.02366 1.02185 1.01943 1.02547 1.02185 1.01702 1.02426 -1.02547 1.02487 1.03332 1.02728 1.03453 1.03332 1.04299 1.04903 -1.06292 0.75656 0.0581933 0 0 0 0 0 -0 0.00401333 0 0 0 0 0 0 -0.00100333 0.00100333 0.00602 0.00301 0.00100333 0 0 0.00200667 -0.00401333 0 0 0 0.00501667 0.00903 0 0 -0.00501667 0.00100333 0 0 0 0.00100333 0.00401333 0 -0.00100333 0 0.00200667 0 0 0 0 0.00602 -0.00100333 0.00200667 0 0.00501667 0.00301 0.00702333 0.00702333 0.00702333 -0 0 0 0 0 0 0 0 -0.00802667 0.00602 0.0110367 0.00301 0 0.00602 0.00200667 0.00401333 -0 0.00100333 0.00100333 0.00200667 0.01204 0.00200667 0 0 -0 0.00200667 0 0.00401333 0.00200667 0.00702333 0.00401333 0.00401333 -0.00501667 0.00602 0.00802667 0.00200667 0 0 0.00702333 0 -0 0 0.0100333 0.00100333 0 0 0.00401333 0 -0.00200667 0 0 0 0 0 0.00301 0 -0 0.00401333 0.00602 0 0 0 0 0 -0 0 0 0.16555 0.929436 1.0593 1.05144 1.0448 -1.04661 1.03514 1.02004 1.02366 1.03453 1.02608 1.02124 1.02124 -1.02185 1.01822 1.02426 1.02185 1.02306 1.02306 1.02487 1.01762 -1.01098 0.99346 1.00131 0.99044 0.99648 0.995876 0.99346 0.99044 -0.99044 0.995876 0.99346 1.00192 1.02306 1.02487 1.02608 1.01822 -1.02487 1.01339 1.0146 1.02366 1.02124 1.02064 1.01762 1.02849 -1.02366 1.02004 1.02487 1.0146 1.0152 1.01098 1.02004 1.01883 -1.0146 1.02306 1.014 1.02004 1.01943 1.01098 1.01883 1.02306 -1.01581 1.01702 1.0146 1.01339 1.0146 1.01339 1.02306 1.01702 -1.01218 1.0146 1.01883 1.0146 1.0152 1.01822 1.01883 1.00856 -1.0152 1.02728 1.02064 1.01581 1.01641 1.02728 1.01943 1.0146 -1.01943 1.0146 1.01883 1.02366 1.01762 1.01702 1.02306 1.02547 -1.02004 1.02124 1.0146 1.02608 1.0152 1.01581 1.02245 1.02668 -1.01943 1.01702 1.02487 1.0152 1.00312 0.983796 0.986212 0.995272 -0.991648 0.998896 0.985004 0.989836 0.997084 0.991044 1.01037 1.01762 -1.02124 1.01762 1.0152 1.02124 1.02004 1.02306 1.01883 1.02789 -1.01822 1.03332 1.02789 1.02426 1.03393 1.03514 1.03816 1.04963 -1.05144 1.04722 0.75012 0.0551833 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0 0 0.00100333 0.00100333 0.00401333 -0 0.00100333 0.00702333 0.00401333 0.00100333 0 0 0.00702333 -0 0 0 0.00200667 0.00301 0 0 0.00200667 -0.00100333 0.00301 0 0 0 0 0.00200667 0.00301 -0.00602 0.00501667 0.00301 0.00501667 0.00602 0.00200667 0.00100333 0.00200667 -0 0 0 0 0 0 0 0 -0.00501667 0 0.00200667 0.00802667 0.00802667 0 0.00100333 0.00602 -0.00401333 0 0 0 0 0.00401333 0.00501667 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0.00301 0.00501667 0.00903 0 0 0.00100333 -0 0.00200667 0 0.00301 0.00401333 0.00602 0.00802667 0.00501667 -0.00702333 0.00802667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.101337 0.895664 1.05688 1.04722 1.04299 1.02547 -1.03514 1.03634 1.0297 1.02064 1.01762 1.02185 1.02426 1.02366 -1.02004 1.02306 1.02124 1.01641 1.02849 1.01702 1.02064 1.01218 -0.99346 0.983796 1.0001 0.992856 0.992856 0.988024 0.99346 0.997688 -0.988024 0.991044 0.994668 0.989232 1.01218 1.02366 1.02124 1.01339 -1.01641 1.02487 1.014 1.01158 1.02124 1.01762 1.01581 1.0146 -1.02124 1.02004 1.02124 1.01943 1.01943 1.0152 1.02064 1.01581 -1.0152 1.01822 1.01641 1.01883 1.02245 1.02426 1.0146 1.01822 -1.01943 1.014 1.01883 1.01883 1.01943 1.014 1.01158 1.02124 -1.02004 1.01339 1.01762 1.01702 1.02366 1.01883 1.02004 1.0146 -1.02306 1.02547 1.01702 1.02124 1.01702 1.01883 1.01702 1.01943 -1.02064 1.01822 1.01943 1.0152 1.02064 1.01822 1.02547 1.02124 -1.02185 1.01339 1.01762 1.01641 1.01641 1.02426 1.02608 1.01339 -1.01762 1.01883 1.02124 0.995876 0.991044 0.992856 0.998896 0.995876 -0.994668 0.997688 0.995272 0.998896 0.98742 0.988024 0.995876 1.01098 -1.02124 1.02487 1.01822 1.02185 1.01943 1.0146 1.01822 1.02608 -1.02668 1.02487 1.01943 1.02728 1.02608 1.03755 1.03755 1.0442 -1.03997 1.05326 1.05144 0.665112 0.02709 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00602 0.00301 0.00702333 0.0140467 0 0.00903 0.00200667 -0.00401333 0 0 0 0 0.00301 0.00602 0 -0 0 0.00200667 0.00501667 0.00401333 0.00501667 0.00100333 0.00702333 -0 0 0 0.00903 0.00802667 0 0.00802667 0.00602 -0.00602 0 0.00903 0.00401333 0.00301 0 0.00100333 0.00301 -0 0 0 0 0 0 0 0 -0.00401333 0.00602 0 0 0.00401333 0.00501667 0 0 -0.00802667 0.00602 0 0 0.00100333 0.00602 0.00200667 0.00401333 -0.00903 0.00200667 0 0.00702333 0 0 0 0 -0 0 0 0 0 0.00903 0 0.00200667 -0 0.00501667 0.00401333 0 0 0 0 0.00401333 -0.00100333 0.00200667 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0461533 0.787472 1.06654 1.05567 1.0454 1.03393 1.03212 -1.0297 1.02849 1.02728 1.02547 1.02064 1.02366 1.02004 1.02306 -1.02185 1.01641 1.01641 1.02004 1.02608 1.01943 1.02366 0.994064 -0.992856 0.98742 0.992252 0.997084 0.989836 0.994064 0.98742 0.995272 -0.99044 0.989836 0.985004 0.991648 0.995272 1.01702 1.02547 1.02124 -1.01943 1.02245 1.02064 1.01279 1.01702 1.02004 1.02185 1.01943 -1.01762 1.02426 1.02124 1.01641 1.02185 1.01883 1.02487 1.01702 -1.01943 1.01641 1.01883 1.01822 1.01943 1.0146 1.02245 1.01581 -1.01641 1.02487 1.02245 1.01098 1.0152 1.01762 1.01762 1.01641 -1.02124 1.01339 1.01762 1.01218 1.01581 1.00494 1.00131 1.00433 -1.0152 1.01158 1.00312 1.01158 1.0146 1.01822 1.02245 1.0146 -1.01279 1.02004 1.02064 1.0146 1.01762 1.02245 1.02728 1.0152 -1.01037 1.01822 1.02547 1.00977 1.01943 1.02124 1.0146 1.01158 -1.02245 1.02064 1.00192 0.98742 0.98742 0.99044 0.994064 0.995272 -0.992252 0.995876 0.989836 0.992856 0.991044 0.991648 0.99044 0.99346 -1.0146 1.01581 1.01943 1.02306 1.01702 1.02426 1.01943 1.02668 -1.01279 1.02547 1.02366 1.02487 1.02668 1.02849 1.02306 1.03514 -1.04118 1.04118 1.05265 1.04903 0.561867 0.00401333 0 0 -0 0 0 0 0 0 0 0.00501667 -0 0 0 0 0 0 0.00401333 0 -0.00100333 0.00200667 0 0 0.00301 0.00100333 0.00100333 0.00401333 -0 0.00501667 0.00301 0.00602 0.00100333 0 0.00702333 0 -0 0.00200667 0.00802667 0 0 0.00301 0 0 -0 0.00401333 0 0 0 0 0.00301 0.00702333 -0.00602 0 0 0 0 0 0 0.00702333 -0.00401333 0.00100333 0 0.00100333 0 0.00200667 0.00602 0 -0 0.00401333 0.00802667 0.00301 0 0 0 0 -0 0.00602 0.00100333 0 0 0.00501667 0.00100333 0.00401333 -0 0 0 0 0.00401333 0.00301 0.00602 0.00100333 -0.00100333 0 0 0.00903 0.00602 0 0 0 -0 0.0110367 0 0 0.00802667 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.585947 1.05144 1.05386 1.04601 1.04661 1.03453 1.02608 -1.01822 1.03212 1.02487 1.02668 1.01943 1.02004 1.01702 1.02245 -1.02366 1.02728 1.02004 1.0152 1.02185 1.02064 1.01158 0.989232 -0.989232 0.988024 0.992252 0.988628 0.995272 0.992252 0.9844 0.997084 -0.992252 0.995876 0.991044 0.989232 0.991648 1.00554 1.01641 1.01702 -1.01883 1.01702 1.02064 1.02366 1.01339 1.0146 1.02185 1.01641 -1.01581 1.01218 1.02245 1.01279 1.02064 1.01641 1.01943 1.02608 -1.014 1.0152 1.01943 1.01279 1.00916 1.01098 1.0146 1.02245 -1.02064 1.01702 1.0146 1.01762 1.01822 1.02366 1.01702 1.01822 -1.01822 1.02185 1.02608 1.014 1.02728 1.01581 1.02185 1.02245 -1.01883 0.9995 0.998896 0.9995 1.01037 1.0146 1.02366 1.01702 -1.02547 1.02124 1.02426 1.02185 1.01943 1.02547 1.02487 1.01822 -1.01641 1.02245 1.014 1.01702 1.02064 1.01702 1.01822 1.01702 -1.02064 1.01883 0.988024 0.995272 0.994064 0.995272 0.986816 0.997084 -0.99346 0.991648 0.997084 0.994064 0.986816 0.986816 0.991044 0.991648 -1.00614 1.01943 1.02547 1.0146 1.02245 1.0152 1.02064 1.0152 -1.03091 1.01943 1.02124 1.01762 1.02668 1.01762 1.02728 1.03272 -1.03393 1.0291 1.04178 1.05144 1.03332 0.41839 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00702333 0.00501667 -0 0 0 0.0130433 0.00200667 0.00802667 0 0 -0 0 0 0 0 0.00301 0 0 -0.00200667 0.00200667 0 0 0.00100333 0.00602 0.00301 0.00401333 -0.00301 0.00301 0.00401333 0.00200667 0.00200667 0.00602 0.00501667 0.00100333 -0.00903 0 0 0 0 0 0 0 -0.00401333 0.0110367 0.00401333 0.00100333 0.00301 0 0 0.00200667 -0 0 0 0.00200667 0.00702333 0.00301 0.00100333 0 -0 0.00100333 0.0100333 0.0130433 0 0.00401333 0.00301 0 -0.00401333 0.00100333 0 0 0 0 0 0 -0 0.00802667 0.00100333 0 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.404343 1.03091 1.05326 1.04842 1.03755 1.03393 1.03574 1.03453 -1.02064 1.02245 1.02245 1.02426 1.02608 1.02185 1.02245 1.01702 -1.0146 1.01943 1.02608 1.01702 1.0146 1.0146 1.00796 0.995876 -0.991648 0.989836 0.99346 0.98742 0.988628 0.9995 0.988628 0.99346 -0.992252 0.989836 0.985608 0.995876 0.99346 0.998292 1.02124 1.0297 -1.02668 1.0146 1.01883 1.02849 1.01702 1.01641 1.02064 1.02789 -1.01943 1.01943 1.01581 1.02064 1.02306 1.01158 1.00614 1.02306 -1.01158 1.01158 1.02064 1.0152 1.02306 1.02366 1.01641 1.02245 -1.02366 1.01762 1.02245 1.02064 1.02124 1.0146 1.02124 1.01943 -1.02004 1.02426 1.02426 1.01581 1.02185 1.02306 1.02426 1.01641 -1.01581 1.01822 1.02608 1.014 1.02004 1.0146 1.02004 1.0146 -1.01943 1.00614 1.0152 1.01641 1.01762 1.01943 1.02185 1.014 -1.02306 1.02064 1.01943 1.02245 1.02245 1.02366 1.01883 1.02849 -1.02426 0.9995 0.989836 0.99648 0.988024 0.99346 0.99346 0.99044 -0.983192 1.00252 0.995876 0.983796 0.991648 1.00071 0.991648 0.995876 -0.995272 1.01702 1.02064 1.02306 1.01883 1.02124 1.01762 1.02366 -1.02124 1.02185 1.02366 1.01822 1.02306 1.02064 1.03091 1.0297 -1.02547 1.03936 1.04118 1.04903 1.06292 1.00312 0.260867 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00401333 0 0.00702333 0.00301 0 -0 0.00401333 0.00802667 0 0.00200667 0 0 0.0140467 -0.00802667 0.00200667 0 0.00200667 0.01204 0.00200667 0 0.00401333 -0 0.00602 0.00200667 0.00200667 0.00702333 0.0100333 0.00200667 0 -0 0 0 0 0.00602 0.00602 0.01204 0.00802667 -0.00602 0 0 0 0 0 0 0.0100333 -0 0 0.00401333 0.00602 0.00100333 0 0 0.00200667 -0.00903 0.00100333 0 0 0 0.00501667 0.00401333 0.00501667 -0.00200667 0 0 0 0.00602 0 0 0.00501667 -0.00100333 0 0.00501667 0.00501667 0.00501667 0 0 0.00301 -0 0 0.00100333 0 0 0.00501667 0.00200667 0 -0 0 0.00602 0 0.00903 0.00200667 0 0 -0 0 0 0 0 0 0 0.20167 -0.989836 1.06111 1.04903 1.03755 1.03332 1.0297 1.02306 1.0303 -1.02185 1.02547 1.0152 1.02185 1.01943 1.01218 1.02185 1.0146 -1.02004 1.01279 1.014 1.02004 1.0146 1.0152 1.00312 0.988628 -0.995876 0.991044 0.986212 0.998896 0.991044 0.994668 0.988024 0.998896 -0.991648 0.989232 0.989232 0.991648 0.992856 1.00252 1.02124 1.02185 -1.02849 1.02124 1.0146 1.02487 1.01943 1.01702 1.01762 1.0146 -1.01581 1.01943 1.02185 1.01158 1.02064 1.01158 1.0152 1.02426 -1.02064 1.01581 1.01943 1.01822 1.01883 1.02366 1.02185 1.0146 -1.02064 1.01339 1.02426 1.02426 1.01762 1.0152 1.02366 1.01581 -1.01883 1.01943 1.0146 1.02124 1.02004 1.02608 1.01762 1.02004 -1.01581 1.01702 1.01943 1.01943 1.02064 1.0291 1.01702 1.01822 -1.01581 1.00916 1.01581 1.02004 1.01943 1.02608 1.0146 1.0146 -1.02185 1.01641 1.02547 1.02064 1.01702 1.0146 1.02124 1.02426 -1.02124 0.998292 0.991648 0.989836 0.995272 1.00131 0.983796 0.986212 -0.992856 0.997688 0.982588 0.99044 1.00071 0.985608 0.997084 0.994668 -0.995272 1.01218 1.01762 1.01037 1.0146 1.01702 1.02426 1.01641 -1.02064 1.01883 1.02004 1.02064 1.02306 1.02849 1.02124 1.01581 -1.02668 1.03816 1.02789 1.04903 1.04178 1.05628 0.94212 0.127423 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0 0.00802667 0 0 0 -0.00903 0.00200667 0 0 0 0.00401333 0.00100333 0.00200667 -0.00100333 0.00100333 0.00100333 0.00501667 0 0 0.00501667 0.0100333 -0.00702333 0 0 0.0110367 0.00401333 0 0 0 -0 0 0.00602 0.00602 0.00301 0.00602 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0 0 0 0.00602 0.00702333 0.00802667 0 -0 0.00802667 0.00200667 0 0.00200667 0 0 0 -0 0.00802667 0.00401333 0 0 0.00401333 0.00602 0 -0 0 0 0.00301 0.00200667 0.00100333 0.00100333 0 -0 0.00301 0.00802667 0.0110367 0.00100333 0.00301 0.00301 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0471567 0.855736 -1.05688 1.05386 1.04661 1.03272 1.03212 1.0297 1.02789 1.02849 -1.02185 1.01883 1.01641 1.0152 1.01702 1.01702 1.02487 1.02004 -1.02004 1.02668 1.01943 1.02185 1.0297 1.0146 1.00071 0.989836 -0.99044 0.997084 0.989836 0.991044 0.988024 0.991648 0.998292 0.997084 -0.992252 0.9995 0.994668 0.994064 0.992252 0.995876 1.01218 1.02124 -1.02064 1.01943 1.02547 1.01641 1.01822 1.02306 1.01822 1.02306 -1.02245 1.0291 1.00252 1.00916 1.00796 1.01641 1.02366 1.02366 -1.02306 1.0291 1.01339 1.02185 1.02366 1.00916 1.00856 1.01581 -1.02487 1.014 1.01822 1.02185 1.02306 1.01822 1.01762 1.02487 -1.01883 1.02004 1.02306 1.02064 1.01702 1.02547 1.01883 1.0152 -1.0146 1.02426 1.01702 1.01822 1.01581 1.02185 1.02004 1.0152 -1.02245 1.01037 1.01883 1.01158 1.0146 1.02487 1.0152 1.02004 -1.02487 1.02426 1.02608 1.02124 1.0152 1.02064 1.01702 1.02004 -1.02064 0.99648 0.992856 0.988024 0.988024 0.988024 0.991648 0.995876 -0.994668 0.988024 0.995876 1.0001 0.9844 0.994668 0.991648 0.983192 -0.99044 0.997688 1.01581 1.02064 1.02124 1.01702 1.02185 1.0152 -1.01822 1.02306 1.02185 1.02064 1.02124 1.02124 1.02004 1.02789 -1.03574 1.03453 1.03574 1.03514 1.0448 1.05386 1.06232 0.6986 -0.0190633 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0 0 0 0 0.00602 0 0.00200667 0.00100333 -0.00200667 0 0 0 0 0.00100333 0 0 -0 0.00301 0.00501667 0 0 0 0.00100333 0.00301 -0.00301 0.00903 0.00501667 0.00501667 0.00401333 0.00301 0 0 -0 0 0 0 0 0 0 0.00501667 -0.00401333 0.00401333 0 0 0 0 0 0.00401333 -0 0 0.00501667 0.00903 0 0.00602 0.00501667 0.00100333 -0 0 0 0.00401333 0.00200667 0.00301 0 0.0130433 -0.00602 0 0 0 0.00501667 0.00602 0 0 -0.00602 0 0 0.00702333 0.00100333 0 0.00401333 0 -0.00200667 0.00401333 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0.512703 1.04661 -1.04782 1.03816 1.03816 1.03091 1.02366 1.03453 1.02487 1.02245 -1.02547 1.02608 1.02608 1.0291 1.02004 1.01279 1.01822 1.02124 -1.01641 1.02064 1.02728 1.0146 1.01822 1.02849 1.00433 0.991044 -0.99648 0.991648 0.989232 0.986212 0.99648 0.994064 0.99648 0.986212 -0.986212 0.992252 0.992856 0.992252 0.989232 0.988024 1.02124 1.01762 -1.02004 1.01943 1.02426 1.0146 1.014 1.01822 1.01883 1.02004 -1.014 1.02124 1.02547 1.02306 1.02124 1.02185 1.01098 1.02306 -1.02004 1.02124 1.02668 1.01883 1.0146 1.02366 1.02064 1.02004 -1.02245 1.01339 1.02245 1.02064 1.0152 1.01279 1.02366 1.02004 -1.01883 1.01883 1.01581 1.01822 1.01098 1.01762 1.02004 1.01702 -1.02426 1.02366 1.0152 1.02366 1.01943 1.02004 1.01581 1.01218 -1.02245 1.02306 1.01943 1.02306 1.01702 1.00312 1.00916 1.02306 -1.03272 1.01883 1.014 1.01943 1.02124 1.02245 1.01581 1.02789 -1.01943 0.9995 0.988628 0.992252 0.986816 0.989232 0.991648 0.989836 -0.985608 0.992856 0.99648 0.989836 0.998292 0.99346 0.989836 0.994668 -0.989836 1.00614 1.01822 1.01702 1.02306 1.01641 1.01641 1.02004 -1.02849 1.02245 1.02124 1.02426 1.01037 1.02124 1.02608 1.0303 -1.02487 1.02245 1.0303 1.0291 1.03997 1.04238 1.05205 1.04238 -0.432437 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0 0.00401333 -0.00100333 0.00501667 0.00401333 0.0100333 0.00200667 0.00200667 0.00602 0 -0 0 0.00301 0.0100333 0 0 0.00301 0.00100333 -0 0 0 0 0 0 0.00702333 0.00200667 -0.00301 0.00301 0 0 0 0 0 0 -0.00702333 0.0140467 0 0 0 0 0.00903 0.00100333 -0.00100333 0.00903 0.0140467 0.00702333 0.00903 0.00903 0.00802667 0.00401333 -0.00501667 0.00401333 0 0 0.00401333 0 0 0.00200667 -0.00401333 0 0.00100333 0.00100333 0.00100333 0 0 0 -0.00702333 0.00903 0.00702333 0 0 0.00100333 0.0100333 0.00602 -0 0 0 0 0.00501667 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.215717 1.00494 1.0599 -1.0442 1.03332 1.03151 1.0297 1.02366 1.02547 1.02789 1.02547 -1.02306 1.02245 1.01581 1.01641 1.02728 1.02185 1.01098 1.01883 -1.0152 1.02064 1.01218 1.02487 1.02004 1.02185 1.01098 0.992856 -0.992252 0.997084 0.99346 0.994668 0.989232 0.991044 0.995876 0.998292 -0.988024 0.98742 0.991648 0.988628 0.99346 1.00433 1.01822 1.0291 -1.01883 1.02064 1.01641 1.02064 1.0146 1.01641 1.02064 1.01279 -1.01883 1.01822 1.01641 1.02185 1.02245 1.01883 1.01098 1.01581 -1.014 1.0146 1.02004 1.02004 1.0146 1.01762 1.02185 1.02124 -1.02185 1.02366 1.0146 1.01581 1.01641 1.02306 1.02668 1.0146 -1.01883 1.02547 1.02547 1.01943 1.02608 1.01702 1.02608 1.01883 -1.01279 1.02185 1.01822 1.0291 1.02366 1.0146 1.03816 1.02426 -1.02426 1.01581 1.01943 1.02064 1.02004 1.02004 1.00796 1.00494 -1.01581 1.02064 1.01641 1.02728 1.0152 1.02185 1.02004 1.03091 -1.02426 1.01098 0.986212 1.00312 1.0001 0.998896 0.99044 0.992252 -0.98742 0.995876 0.99346 0.997084 0.99044 0.989836 0.983192 0.983796 -0.992856 1.01641 1.01883 1.0291 1.01339 1.01702 1.0291 1.01943 -1.02004 1.02004 1.01158 1.01279 1.01762 1.02487 1.01762 1.02245 -1.02004 1.02064 1.02366 1.02245 1.0303 1.03695 1.04601 1.05386 -0.980172 0.17458 0 0 0 0 0 0 -0 0 0 0.00301 0 0 0.00501667 0 -0.00301 0 0.0110367 0.00903 0.0100333 0.00401333 0 0 -0.00301 0.00200667 0.00200667 0 0 0 0 0 -0.00501667 0.00501667 0 0.00602 0.00802667 0.00802667 0.00100333 0.00401333 -0.00100333 0 0.00200667 0 0 0 0.00602 0.0140467 -0.0100333 0.00100333 0 0 0 0 0.00301 0.00501667 -0.00802667 0 0 0.00602 0.00501667 0 0.00100333 0 -0 0 0.00200667 0.00501667 0.00702333 0.00802667 0.00301 0 -0 0.00401333 0 0.00100333 0.00100333 0.00501667 0.00100333 0.00401333 -0 0.00100333 0.0100333 0.0110367 0 0 0 0 -0.00401333 0 0 0 0 0 0 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0301 0.799064 1.05869 1.04661 -1.04299 1.03332 1.02789 1.0297 1.02849 1.02245 1.0146 1.01883 -1.01822 1.02064 1.02306 1.01339 1.02426 1.02185 1.01762 1.01883 -1.01581 1.02608 1.01943 1.0152 1.02426 1.01581 1.01279 0.986816 -0.989232 0.985004 0.98742 0.998292 0.988628 0.991648 0.995876 0.998896 -0.99346 0.991044 0.992856 0.985004 0.99044 1.01762 1.0152 1.02245 -1.02608 1.02728 1.02185 1.02004 1.01339 1.00614 1.00252 1.01762 -1.01943 1.01218 1.01641 1.02366 1.01702 1.02004 1.02245 1.02547 -1.02487 1.01581 1.02124 1.02245 1.01762 1.02487 1.02789 1.01702 -1.02004 1.014 1.02306 1.02004 1.03091 1.02185 1.02185 1.01339 -1.014 1.01702 1.014 1.01581 1.02245 1.01822 1.02547 1.01581 -1.01702 1.014 1.01762 1.02547 1.01822 1.02064 1.02245 1.02004 -1.014 1.00977 1.01883 1.014 1.01581 1.02124 1.02608 1.0146 -1.00796 1.00373 1.02849 1.02426 1.0146 1.02004 1.02185 1.01883 -1.01883 1.01037 0.9844 0.995876 0.985608 0.983192 0.992856 0.995876 -0.988628 0.99346 0.991044 0.989836 0.989836 0.985608 0.991648 0.995272 -0.997084 1.02124 1.02547 1.01218 1.02185 1.02064 1.02004 1.014 -1.02124 1.01581 1.01883 1.01883 1.02245 1.02124 1.0152 1.02064 -1.02789 1.02487 1.02366 1.02366 1.03876 1.04057 1.0448 1.05024 -1.0605 0.751408 0.0160533 0 0 0 0 0 -0 0 0.00401333 0 0 0.00301 0 0 -0 0.00301 0.00100333 0 0 0 0 0 -0 0.00200667 0 0 0 0.00100333 0.0100333 0.01505 -0.00200667 0 0.00200667 0 0 0 0 0 -0 0.00100333 0 0 0.00301 0.0100333 0.00301 0 -0 0 0 0 0 0 0.00602 0 -0 0.00301 0.00100333 0 0 0.00501667 0.00200667 0.00401333 -0.00802667 0 0.00301 0.00401333 0 0 0.00602 0.00401333 -0 0 0.00602 0 0 0 0 0 -0.00200667 0.00100333 0 0.00100333 0.00903 0.00501667 0 0 -0 0.00802667 0.00401333 0.00100333 0.00702333 0 0 0 -0 0 0 0 0.00200667 0.00100333 0 0 -0 0 0 0 0.413373 1.04359 1.04782 1.04963 -1.04178 1.03574 1.02668 1.0303 1.03151 1.02426 1.02245 1.02185 -1.02245 1.01702 1.01883 1.01762 1.01279 1.02124 1.02004 1.01702 -1.02245 1.0152 1.02064 1.01822 1.01762 1.02004 1.02668 1.00433 -0.989836 0.99346 0.98138 0.988628 0.99044 0.988628 0.989232 0.99044 -0.992252 0.992856 0.991648 0.985608 0.998896 1.01943 1.01822 1.01883 -1.01943 1.01822 1.02366 1.01218 1.00131 1.01581 1.02185 1.02004 -1.02064 1.01762 1.02064 1.02124 1.02064 1.02245 1.02668 1.0146 -1.01702 1.01762 1.02366 1.01218 1.01762 1.02608 1.02064 1.02064 -1.02064 1.01822 1.02547 1.02306 1.014 1.0001 0.982588 0.9693 -0.973528 0.967488 0.968092 0.978964 1.00675 1.0146 1.02064 1.02245 -1.01641 1.01822 1.02124 1.01762 1.0146 1.014 1.0152 1.02064 -1.01158 1.01098 1.02426 1.02306 1.02668 1.02064 1.02306 1.02366 -1.0152 1.00977 1.00494 1.00554 1.01702 1.02487 1.02064 1.02004 -1.02426 1.0152 0.997688 0.994668 0.988024 0.992856 0.988024 0.99346 -0.989836 0.992252 0.995272 0.997084 0.989232 0.991044 0.997688 0.9995 -1.01641 1.02245 1.02185 1.02487 1.01943 1.0152 1.02064 1.02185 -1.02004 1.02004 1.01822 1.014 1.0152 1.02366 1.02124 1.03091 -1.02004 1.02547 1.02728 1.02547 1.02426 1.02366 1.03151 1.04359 -1.05265 1.03634 0.383273 0 0 0 0 0 -0 0 0 0 0 0 0 0.0110367 -0.00100333 0.00802667 0.00301 0 0 0.00301 0 0 -0.0100333 0.00100333 0 0.00802667 0.0160533 0.0170567 0.00903 0 -0 0.00501667 0.00602 0.00702333 0.00200667 0.00200667 0 0 -0.00200667 0 0.00100333 0.00401333 0.00802667 0 0 0 -0 0 0 0 0 0 0.00200667 0.00100333 -0.00200667 0 0 0 0.00401333 0.00301 0.00602 0.00501667 -0.00100333 0.00401333 0 0 0 0 0 0 -0.00501667 0.00301 0 0.00401333 0.00903 0.00903 0.00802667 0 -0 0 0 0 0.00100333 0.00702333 0.00702333 0.00100333 -0 0 0.00602 0.00200667 0 0.00501667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0923067 0.947556 1.06292 1.04722 1.03453 -1.0297 1.02487 1.02728 1.01943 1.02426 1.02306 1.01822 1.02185 -1.02124 1.02366 1.01943 1.02185 1.01943 1.01822 1.0152 1.01218 -1.01702 1.02124 1.01822 1.02245 1.01943 1.02004 1.02185 1.014 -1.00192 1.00131 0.99648 0.989836 0.988024 0.992252 0.992856 0.991044 -0.98742 0.992856 0.989836 0.997688 1.01279 1.02306 1.02547 1.02245 -1.02124 1.02124 1.01581 1.00796 1.01822 1.014 1.014 1.0146 -1.02245 1.02426 1.02668 1.0146 1.01702 1.02124 1.014 1.02064 -1.02124 1.02245 1.02608 1.01883 1.02487 1.02487 1.01822 1.01641 -1.02245 1.01883 1.02487 1.00856 0.969904 0.968092 0.959636 0.968092 -0.957824 0.965072 0.962052 0.959032 0.977152 0.983192 1.01641 1.014 -1.02004 1.02426 1.01822 1.01822 1.02306 1.02245 1.02426 1.02064 -1.02608 1.02064 1.01943 1.02426 1.0152 1.014 1.01883 1.01822 -1.0297 1.03272 1.01883 0.99346 1.01762 1.02124 1.01218 1.02608 -1.02487 1.01641 1.0146 0.995272 0.991044 0.995272 0.989836 0.99044 -0.982588 0.991044 0.989836 0.992252 0.986212 0.992252 0.994064 1.00614 -1.01762 1.01037 1.02004 1.02064 1.0146 1.01943 1.01339 1.01822 -1.01702 1.014 1.014 1.02426 1.02608 1.02789 1.02245 1.01822 -1.01943 1.02306 1.02789 1.01158 1.03453 1.03151 1.03634 1.03695 -1.0454 1.05205 0.945744 0.0973233 0 0 0 0 -0 0 0 0 0.00100333 0.00401333 0 0 -0 0.00100333 0 0 0 0 0.00501667 0.00802667 -0.00100333 0 0.00501667 0.00200667 0 0 0 0 -0 0.00100333 0 0 0 0.00602 0.00702333 0.00501667 -0 0.00802667 0.0110367 0.00602 0.00301 0 0 0.00100333 -0.00301 0.0110367 0.00301 0 0 0 0.00501667 0.00802667 -0.00903 0.00802667 0.00200667 0 0 0.00100333 0 0 -0.00802667 0 0.00200667 0.00301 0.00200667 0 0.00501667 0.00301 -0 0 0 0 0 0 0.00100333 0.00602 -0.00401333 0.00501667 0.00602 0.00200667 0.00100333 0 0.00200667 0.00903 -0.00602 0.00501667 0.00200667 0 0 0 0 0 -0 0.00301 0 0 0 0 0 0 -0 0 0 0.53879 1.05386 1.04661 1.0448 1.03574 -1.03212 1.02728 1.02608 1.02728 1.02064 1.02306 1.02245 1.02004 -1.02185 1.02366 1.02185 1.01822 1.02064 1.01702 1.02547 1.0146 -1.02306 1.02306 1.01702 1.01943 1.02124 1.01762 1.01883 1.02064 -1.01702 0.997084 0.992252 0.997688 0.991648 0.99044 0.989232 0.988628 -0.99346 0.991648 0.998292 1.0146 1.02124 1.01702 1.01822 1.02547 -1.01581 1.01037 1.00977 1.01943 1.02728 1.03091 1.03212 1.0152 -1.01883 1.01702 1.0152 1.01883 1.02245 1.02064 1.01641 1.02608 -1.02487 1.01098 1.01762 1.01339 1.01581 1.02306 1.02064 1.02668 -1.01943 1.02245 1.00312 0.9693 0.962656 0.965676 0.968696 0.9693 -0.962656 0.9693 0.958428 0.966884 0.971716 0.962656 0.991044 1.01883 -1.02668 1.0297 1.01762 1.02547 1.01943 1.01339 1.02306 1.01641 -1.01822 1.01762 1.02124 1.01158 1.014 1.01641 1.02487 1.02366 -1.01943 1.01943 1.01702 1.01883 1.00494 1.00977 1.01641 1.02124 -1.01158 1.02426 1.01822 1.00977 0.995272 0.997084 0.991648 0.998292 -0.991044 0.997084 0.98742 0.998292 0.989232 0.988024 0.998292 1.01641 -1.00735 1.02366 1.02306 1.01762 1.02004 1.01279 1.01581 1.02547 -1.02366 1.01762 1.01822 1.02245 1.02064 1.0152 1.01883 1.02004 -1.02245 1.02004 1.02124 1.02426 1.03091 1.03634 1.03393 1.03332 -1.04299 1.05144 1.05688 0.53578 0 0 0 0 -0 0 0 0 0 0 0.00802667 0 -0.01204 0 0 0 0 0.00301 0.00200667 0 -0 0 0.00301 0 0 0.00301 0.00501667 0 -0 0 0 0.00802667 0.00602 0.00301 0 0 -0.00301 0.00100333 0 0 0 0 0 0.00301 -0.00702333 0.00100333 0.00501667 0 0 0 0.00401333 0 -0 0 0.00802667 0.00702333 0.00702333 0.00200667 0.00100333 0 -0 0.00702333 0.00602 0 0.00501667 0.00501667 0 0.00702333 -0.00702333 0.00602 0.00100333 0.00401333 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00501667 0.00100333 0.01505 0.00301 -0 0 0 0 0 0 0 0 -0 0 0.146487 0.980172 1.0605 1.04359 1.03695 1.03212 -1.03212 1.02789 1.02245 1.02487 1.02124 1.0146 1.02547 1.02245 -1.0146 1.01822 1.02245 1.0146 1.02004 1.02245 1.02064 1.02306 -1.014 1.02547 1.01883 1.01702 1.01218 1.01883 1.01279 1.02124 -1.01943 1.01943 1.00494 1.00071 0.99648 0.991648 0.99346 0.989232 -1.00494 1.00675 1.01158 1.02366 1.02245 1.01883 1.02064 1.0152 -1.00433 1.00554 1.02185 1.01581 1.01702 1.02245 1.02487 1.02004 -1.01943 1.02064 1.01641 1.01762 1.01883 1.01581 1.01762 1.01037 -1.01641 1.02608 1.02064 1.01762 1.01641 1.02124 1.01641 1.01158 -1.01822 1.02124 0.971112 0.959636 0.966884 0.961448 0.968696 0.959032 -0.96628 0.963864 0.959636 0.972924 0.963864 0.971112 0.959636 1.00373 -1.01943 1.02487 1.02124 1.01762 1.01822 1.02064 1.01702 1.01158 -1.01762 1.02064 1.02245 1.014 1.01883 1.014 1.01339 1.03272 -1.01943 1.02306 1.02547 1.02728 1.01762 1.00373 0.995272 1.01883 -1.02487 1.02185 1.02245 1.02004 1.0146 0.998292 0.988024 0.986212 -0.985608 0.983192 0.989232 0.991648 0.998292 1.00856 1.02426 1.02547 -1.02547 1.02366 1.01702 1.01702 1.01762 1.01943 1.02004 1.02608 -1.01279 1.01339 1.01762 1.02306 1.02004 1.01339 1.01702 1.01943 -1.02064 1.01943 1.01943 1.01641 1.02124 1.02064 1.02306 1.03091 -1.03936 1.0454 1.05869 0.989836 0.143477 0 0 0 -0 0 0 0 0 0.00602 0 0.00301 -0 0 0 0.00200667 0.00301 0.00200667 0.00301 0 -0.00200667 0.00301 0 0 0 0.00100333 0 0.00100333 -0.00401333 0 0.00301 0 0 0 0 0.00602 -0.00200667 0 0 0 0.00100333 0 0.00200667 0.00301 -0.00301 0.00602 0.00602 0 0 0.00100333 0.00301 0.00802667 -0.00100333 0 0 0 0 0 0 0.00501667 -0.00802667 0 0.00200667 0 0 0 0 0 -0 0.00501667 0.00301 0.00100333 0 0.00501667 0.00100333 0 -0.00200667 0.00301 0.00200667 0.00802667 0.00802667 0.0100333 0 0.00301 -0 0.00702333 0.0100333 0 0 0 0 0.01204 -0.00501667 0.00200667 0 0 0 0 0 0 -0 0 0.58093 1.05084 1.04963 1.04118 1.02608 1.0291 -1.02245 1.02789 1.02487 1.02728 1.02306 1.02306 1.0152 1.02668 -1.02064 1.01883 1.01641 1.01641 1.01822 1.01218 1.02306 1.02306 -1.01943 1.01702 1.02426 1.02245 1.01943 1.01822 1.01943 1.02064 -1.02306 1.0146 1.02487 1.02004 1.01218 1.00796 1.00735 1.00675 -1.02306 1.02849 1.02547 1.02004 1.02608 1.02487 1.02004 0.997084 -1.00796 1.01943 1.014 1.02124 1.02124 1.02124 1.02064 1.02064 -1.01943 1.0146 1.02124 1.02426 1.01822 1.02004 1.02487 1.02608 -1.01822 1.01581 1.01702 1.01883 1.02004 1.01641 1.02366 1.01943 -1.02789 0.99346 0.961448 0.9693 0.968696 0.962052 0.961448 0.964468 -0.963864 0.963864 0.971112 0.969904 0.957824 0.970508 0.959032 0.96628 -1.00494 1.02849 1.01883 1.01641 1.01883 1.02306 1.014 1.01339 -1.01822 1.02064 1.02306 1.01581 1.02366 1.0146 1.01883 1.00735 -1.02245 1.02426 1.02849 1.02004 1.01822 1.02608 1.00856 0.98742 -1.0146 1.02124 1.01762 1.02547 1.02608 1.0152 1.00856 1.00131 -1.00071 1.00614 1.00373 1.01581 1.01822 1.01943 1.02185 1.02789 -1.02245 1.02366 1.02426 1.01883 1.02245 1.02004 1.01581 1.01641 -1.02185 1.01943 1.02608 1.02306 1.01702 1.02185 1.02668 1.02124 -1.01581 1.01822 1.01822 1.02426 1.01762 1.02487 1.02547 1.02849 -1.03574 1.04842 1.05024 1.0599 0.59297 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0.00401333 0.00602 0.00802667 0.00401333 0 0 -0 0.00100333 0 0 0.00100333 0 0 0.00401333 -0 0 0 0 0.00100333 0.00401333 0.00100333 0 -0 0 0.00100333 0.00401333 0.00200667 0.00702333 0.0110367 0.00702333 -0.00702333 0.00401333 0.00200667 0 0 0.00100333 0.00100333 0 -0 0.00903 0.00501667 0.00501667 0.00301 0 0 0 -0 0 0.00401333 0.00903 0.00702333 0.00200667 0 0.00802667 -0.00200667 0 0.00301 0.00501667 0 0.00301 0.00602 0.00802667 -0 0 0 0 0 0.00301 0.00903 0.00200667 -0.00501667 0.00401333 0 0.00602 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0.152507 0.997688 1.05446 1.03997 1.03936 1.03151 1.02728 -1.0291 1.02608 1.01883 1.02366 1.01822 1.01702 1.01098 1.02064 -1.01279 1.02426 1.01581 1.02004 1.01762 1.02306 1.01702 1.02064 -1.01762 1.02185 1.02245 1.02306 1.02547 1.0146 1.0146 1.01822 -1.01702 1.01702 1.02185 1.02004 1.02608 1.02306 1.02185 1.02306 -1.0146 1.01218 1.02124 1.0152 1.02789 1.0146 0.994064 1.01581 -1.02547 1.01641 1.01822 1.0146 1.01702 1.01581 1.01883 1.02306 -1.02426 1.01702 1.02366 1.02426 1.02124 1.01037 1.01883 1.02064 -1.01279 1.01702 1.01943 1.02064 1.02064 1.02306 1.02608 1.02306 -1.0152 0.968696 0.965676 0.965676 0.962656 0.976548 0.965676 0.96628 -0.965676 0.96628 0.977152 0.96024 0.968092 0.962052 0.964468 0.958428 -0.992856 1.02668 1.01822 1.02366 1.01037 1.02849 1.01641 1.01641 -1.01883 1.02487 1.01641 1.02124 1.01762 1.01762 1.01641 1.02185 -1.0146 1.01943 1.01883 1.01943 1.02547 1.02487 1.02064 1.00433 -0.99346 1.02185 1.02426 1.02245 1.0303 1.01883 1.02426 1.02185 -1.02608 1.02064 1.01641 1.02124 1.02064 1.01762 1.01822 1.0152 -1.02004 1.01158 1.0146 1.02124 1.02366 1.014 1.02064 1.02245 -1.01943 1.02668 1.01822 1.0152 1.01702 1.02124 1.01641 1.01822 -1.01702 1.0297 1.02124 1.02366 1.02547 1.03272 1.02366 1.02245 -1.03151 1.03272 1.04359 1.05628 0.99346 0.149497 0 0 -0 0 0 0 0 0.00301 0 0 -0 0 0 0 0.00100333 0 0 0 -0 0 0 0 0 0 0.00501667 0.00602 -0.00301 0.00501667 0.00100333 0 0.00301 0 0 0 -0 0.00100333 0.00301 0 0.00301 0.00602 0.00501667 0 -0.00100333 0.00100333 0.00301 0 0 0.0100333 0.00401333 0 -0 0 0 0 0.00301 0.00401333 0.00501667 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0.00301 0.00200667 0 0 -0.00200667 0 0.00100333 0 0 0 0 0 -0 0 0 0 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0.56889 1.05748 1.05326 1.04299 1.03574 1.03816 1.03212 -1.02185 1.02426 1.02426 1.03332 1.01218 1.02789 1.01883 1.01822 -1.01822 1.01822 1.01641 1.0146 1.01037 1.01581 1.0146 1.02124 -1.02064 1.014 1.02064 1.01702 1.01883 1.02487 1.01641 1.01279 -1.02245 1.01641 1.02306 1.02547 1.02124 1.02064 1.02608 1.02064 -1.02306 1.01702 1.02004 1.02004 1.01158 0.99044 1.00916 1.01822 -1.01943 1.01883 1.01641 1.02608 1.02306 1.02245 1.02789 1.01822 -1.01339 1.02849 1.02064 1.01279 1.02004 1.02306 1.01762 1.0146 -1.02004 1.02124 1.02004 1.02185 1.02064 1.02426 1.02487 1.02849 -1.0146 0.963864 0.973528 0.964468 0.971112 0.964468 0.970508 0.970508 -0.96024 0.971112 0.973528 0.968696 0.973528 0.963864 0.969904 0.969904 -0.986816 1.02849 1.02064 1.02306 1.01822 1.02064 1.01762 1.00614 -1.01943 1.01943 1.014 1.01581 1.01641 1.02306 1.02004 1.02064 -1.01702 1.01822 1.0146 1.02124 1.01883 1.01641 1.02245 1.02004 -1.01279 0.994064 1.01339 1.01702 1.01098 1.0146 1.01822 1.01762 -1.014 1.01883 1.02004 1.0152 1.01279 1.02366 1.02185 1.01702 -1.02608 1.02728 1.02124 1.01883 1.01883 1.01702 1.01883 1.02245 -1.01762 1.014 1.014 1.0152 1.02426 1.02366 1.01883 1.02124 -1.02185 1.01822 1.02185 1.02366 1.02124 1.02245 1.01822 1.0303 -1.03393 1.03816 1.0448 1.04722 1.05507 0.56889 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0 0 0 0 0 0 -0.00200667 0.00903 0.00602 0.00501667 0.00602 0.00602 0.0130433 0 -0.00401333 0.00100333 0.00501667 0 0.00501667 0.00301 0.00401333 0.00802667 -0.00702333 0.00501667 0.00100333 0.00802667 0.0110367 0.00702333 0.00301 0.00301 -0 0 0.00702333 0 0 0.00602 0.00702333 0.0110367 -0.00200667 0.00301 0.00100333 0 0 0 0 0.00501667 -0.00401333 0 0.00702333 0.00702333 0.00702333 0.0100333 0.00401333 0.00100333 -0 0.00501667 0.00702333 0 0 0.00100333 0.00200667 0 -0.00401333 0.00903 0.00903 0.00903 0.00100333 0 0.00401333 0 -0 0 0 0 0 0 0.00501667 0 -0.00702333 0.00301 0 0 0 0 0 0 -0.119397 0.97836 1.05386 1.04963 1.0297 1.02487 1.02608 1.02487 -1.02608 1.01883 1.01279 1.02306 1.01883 1.01883 1.01943 1.02124 -1.02547 1.02668 1.02245 1.02306 1.02366 1.02366 1.01762 1.01762 -1.02245 1.01883 1.02004 1.02004 1.01641 1.02668 1.02608 1.014 -1.01339 1.00494 1.01339 1.01098 1.02064 1.02608 1.02004 1.02547 -1.02004 1.0152 1.02608 1.02124 0.9995 1.0152 1.02789 1.01883 -1.03272 1.02608 1.02306 1.02185 1.01822 1.0146 1.02487 1.02064 -1.0146 1.01883 1.01883 1.02306 1.01822 1.02366 1.0146 1.01883 -1.01762 1.02064 1.02124 1.02487 1.02245 1.01883 1.01702 1.02728 -1.00856 0.96628 0.971716 0.9693 0.9693 0.965072 0.9693 0.96628 -0.97232 0.967488 0.971716 0.967488 0.96628 0.962052 0.959032 0.969904 -0.975944 1.0146 1.02124 1.02004 1.02064 1.02185 1.02668 1.02064 -1.02306 1.01702 1.01581 1.02185 1.02547 1.01883 1.02426 1.01218 -1.01822 1.01883 1.02487 1.02124 1.00977 1.01762 1.03091 1.02185 -1.02789 1.00977 1.00373 1.0152 1.0146 1.02668 1.02124 1.02064 -1.02608 1.01883 1.01641 1.02064 1.02789 1.02789 1.01279 1.02547 -1.01581 1.01762 1.0152 1.02124 1.02185 1.00675 1.02426 1.02306 -1.01279 1.01883 1.02004 1.02789 1.01943 1.01218 1.01762 1.01702 -1.01218 1.01762 1.02004 1.01098 1.02004 1.01883 1.02004 1.02728 -1.03272 1.03091 1.04118 1.04842 1.05446 0.971716 0.104347 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0.00100333 0.00702333 0.00301 -0.00401333 0 0 0 0.00200667 0.00401333 0.00200667 0 -0 0.00100333 0 0.00501667 0.00100333 0.00301 0.00301 0.00301 -0.00301 0.00602 0.00802667 0.00602 0.00100333 0 0 0 -0 0.00100333 0 0 0 0.00200667 0.00702333 0.00602 -0.00602 0.00802667 0.00602 0.00702333 0.00702333 0 0 0 -0.00702333 0.00702333 0 0 0 0 0.00401333 0.00301 -0 0 0 0.00501667 0.00301 0.00301 0.00702333 0.00802667 -0.00100333 0.00401333 0 0 0.00903 0.00501667 0 0.00501667 -0.0100333 0.00602 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.47257 1.04963 1.04359 1.03936 1.03574 1.0303 1.02245 1.0152 -1.02487 1.02547 1.02064 1.02668 1.01702 1.01641 1.02004 1.02004 -1.0146 1.0146 1.01822 1.014 1.02185 1.02306 1.0152 1.01339 -1.02608 1.02306 1.01883 1.014 1.014 1.02245 1.02849 1.03272 -1.02426 1.02487 1.02366 1.02064 1.02004 1.01339 1.01279 1.01702 -1.02426 1.02426 1.01943 0.989232 1.00312 1.02245 1.02728 1.01822 -1.02064 1.0303 1.01943 1.01943 1.01581 1.02185 1.02426 1.02849 -1.04782 1.05446 1.03272 1.05205 1.04238 1.03936 1.01943 1.0152 -1.02366 1.01581 1.02487 1.01822 1.02789 1.01822 1.02487 1.03212 -1.0146 0.962656 0.960844 0.967488 0.961448 0.971112 0.956616 0.964468 -0.968696 0.966884 0.969904 0.968696 0.972924 0.96326 0.959636 0.967488 -0.977152 1.02849 1.01762 1.01218 1.02426 1.01581 1.02608 1.01702 -1.01943 1.0152 1.02064 1.01641 1.01641 1.01339 1.03151 1.02064 -1.02064 1.01762 1.01762 1.02124 1.02124 1.02004 1.02245 1.02004 -1.01822 1.01883 1.00554 1.01279 1.0291 1.02245 1.02487 1.02608 -1.02426 1.01762 1.01822 1.0152 1.01943 1.02608 1.02064 1.02124 -1.00856 1.01943 1.02004 1.02124 1.01339 1.02547 1.02426 1.014 -1.01943 1.01158 1.01883 1.01339 1.01883 1.01883 1.02306 1.02245 -1.02668 1.01581 1.02064 1.01641 1.02064 1.02426 1.02124 1.02245 -1.02789 1.03393 1.03997 1.03936 1.0454 1.05446 0.468557 0 -0 0 0 0 0 0 0.00401333 0 -0.00100333 0.0110367 0.00100333 0.00100333 0.0100333 0 0.00200667 0 -0 0 0.00100333 0.00602 0.00903 0.00301 0 0 -0 0.00100333 0.00401333 0 0 0 0.00200667 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0 0 0 0 0 -0.00100333 0.00401333 0.00401333 0 0 0.00200667 0 0 -0 0 0.00501667 0.00100333 0 0.00200667 0 0.00401333 -0.00903 0.00501667 0 0 0 0 0 0 -0 0 0.00501667 0 0 0.00301 0.00100333 0 -0 0.00100333 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0.0491633 -0.925208 1.05386 1.04057 1.03514 1.03634 1.03453 1.02547 1.02306 -1.02004 1.01943 1.0152 1.02426 1.02426 1.0152 1.02124 1.01702 -1.02426 1.02185 1.01218 1.014 1.00916 1.01702 1.01943 1.01762 -1.01762 1.02004 1.01883 1.01762 1.01943 1.01762 1.0146 1.02185 -1.02124 1.01822 1.01883 1.01581 1.02004 1.02185 1.01883 1.02124 -1.01762 1.03272 1.00494 0.994668 1.01218 1.01581 1.00977 1.02124 -1.01762 1.02004 1.02426 1.01641 1.02245 1.02728 1.03876 1.03574 -1.04782 1.04359 1.0442 1.04661 1.05688 1.04299 1.05205 1.03091 -1.01883 1.02004 1.02426 1.02608 1.01883 1.02124 1.02306 1.02185 -1.0146 0.977756 0.961448 0.966884 0.964468 0.978964 0.960844 0.971716 -0.96628 0.969904 0.964468 0.968092 0.965676 0.968092 0.9693 0.969904 -0.994064 1.01943 1.02306 1.01943 1.01279 1.01098 1.02728 1.02306 -1.01641 1.01943 1.02245 1.01762 1.0146 1.00856 1.00554 1.00856 -1.02124 1.01218 1.0146 1.01822 1.02849 1.01641 1.014 1.01762 -1.01279 1.01822 1.02124 1.00675 1.0146 1.01822 1.01822 1.02004 -1.01883 1.02185 1.01822 1.02064 1.01822 1.02124 1.0146 1.02306 -1.02608 1.02124 1.01702 1.02547 1.02849 1.02245 1.01762 1.01218 -1.02306 1.0146 1.01339 1.00494 1.02124 1.02245 1.014 1.01581 -1.00916 1.0146 1.02426 1.03332 1.02245 1.02306 1.02487 1.02608 -1.0303 1.03272 1.03151 1.03997 1.04782 1.06232 0.928228 0.04816 -0 0 0 0 0 0 0 0 -0 0.00200667 0 0.00501667 0 0.00903 0.00501667 0 -0 0 0.00401333 0 0 0 0 0 -0 0 0 0.00100333 0.00501667 0.00702333 0 0 -0.00602 0.0100333 0.00602 0 0 0.00501667 0.00702333 0.00802667 -0.0100333 0.01204 0.00301 0.00401333 0 0.00903 0.00602 0 -0 0.00200667 0.00501667 0.00702333 0.00501667 0.00200667 0.00100333 0.00200667 -0 0 0 0 0 0 0 0.00200667 -0 0.00301 0.00903 0.00903 0 0 0.00301 0.00100333 -0.00200667 0.00301 0 0.00301 0 0 0.00501667 0.00802667 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.296987 -1.04299 1.05446 1.04057 1.0291 1.02668 1.02547 1.03212 1.02487 -1.03212 1.02487 1.02668 1.02245 1.0152 1.02245 1.01702 1.02245 -1.02004 1.01702 1.02306 1.02728 1.01762 1.02004 1.02608 1.01883 -1.01581 1.01883 1.02608 1.01883 1.02004 1.0146 1.01883 1.01883 -1.02064 1.02004 1.02366 1.02306 1.01883 1.0146 1.01762 1.02064 -1.01702 1.00856 0.994064 1.02004 1.02668 1.03272 1.03151 1.01581 -1.02064 1.02245 1.02547 1.0146 1.02789 1.0448 1.04238 1.04601 -1.04722 1.04782 1.04057 1.03876 1.04601 1.04057 1.05386 1.03514 -1.02608 1.01883 1.01943 1.01641 1.02306 1.01702 1.01279 1.02064 -1.02487 0.986816 0.968092 0.962656 0.962052 0.974736 0.9693 0.965072 -0.962052 0.964468 0.96326 0.962656 0.965676 0.965072 0.959636 0.974132 -1.00796 1.02064 1.02668 1.02306 1.0146 1.02004 1.02366 1.01641 -1.02245 1.00916 1.01158 1.02245 1.03816 1.03936 1.0442 1.04118 -1.02366 1.01218 1.0152 1.02064 1.0297 1.02547 1.02547 1.02004 -1.0152 1.0297 1.02185 1.02547 1.00856 1.00856 1.02185 1.01641 -1.02185 1.02668 1.02124 1.02185 1.02426 1.02245 1.02064 1.01702 -1.01641 1.01339 1.02306 1.02124 1.01098 1.01339 1.0146 1.02004 -1.02004 1.01581 1.01218 1.02004 1.0303 1.01943 1.02366 1.01702 -1.01822 1.02306 1.02185 1.01702 1.01581 1.02004 1.0152 1.02004 -1.02426 1.0303 1.03272 1.03514 1.04722 1.05205 1.03695 0.284947 -0 0 0 0 0 0 0.00100333 0 -0.00702333 0.00100333 0 0 0 0 0 0 -0.00602 0.0110367 0.00501667 0.00301 0.00602 0.00802667 0.00501667 0.00602 -0.00602 0.00501667 0.00501667 0.00903 0.00802667 0 0.00301 0.00301 -0 0 0 0 0 0.00301 0 0 -0 0 0.00200667 0.00602 0 0.00602 0.00401333 0.00401333 -0 0 0 0 0.00602 0.00602 0.00401333 0.00100333 -0.00301 0.00301 0.00200667 0 0 0 0 0 -0.00200667 0.00702333 0.00301 0.00401333 0.00802667 0.00602 0.00100333 0.00200667 -0.00401333 0 0 0 0.00401333 0 0 0 -0.00602 0.0130433 0.00802667 0 0 0 0 0 -0 0 0 0 0 0 0 0.699888 -1.0593 1.04601 1.03816 1.03574 1.02789 1.02245 1.02306 1.02366 -1.02366 1.02124 1.01883 1.02366 1.01822 1.01762 1.02064 1.01641 -1.0152 1.02004 1.01762 1.01883 1.02366 1.0146 1.00916 1.01822 -1.02608 1.01641 1.02124 1.02064 1.02849 1.02245 1.0303 1.02487 -1.01943 1.01883 1.0146 1.01883 1.02004 1.01037 1.02245 1.02487 -1.01883 0.98742 1.00916 1.01822 1.01822 1.01098 1.00735 1.014 -1.01581 1.01702 1.01762 1.02426 1.05084 1.04842 1.04299 1.03876 -1.05628 1.04903 1.0454 1.0448 1.0454 1.04722 1.05265 1.05567 -1.04601 1.02366 1.02366 1.01883 1.03272 1.01883 1.02426 1.02245 -1.02426 1.01218 0.972924 0.96628 0.970508 0.961448 0.962656 0.968696 -0.964468 0.96628 0.959636 0.968696 0.971112 0.965072 0.96024 0.991044 -1.01581 1.02668 1.02728 1.01581 1.01943 1.02366 1.01641 1.01822 -1.01641 1.03514 1.0448 1.04963 1.04963 1.0454 1.04842 1.03453 -1.03755 1.03332 1.02245 1.01641 1.01641 1.02185 1.02366 1.02306 -1.02547 1.02366 1.02064 1.02064 1.00614 1.00856 1.01762 1.01762 -1.02487 1.02306 1.014 1.0146 1.01037 1.01702 1.01339 1.01762 -1.02004 1.01641 1.01581 1.0146 1.01581 1.02004 1.02306 1.02124 -1.0146 1.01822 1.01883 1.0297 1.0146 1.01641 1.01339 1.02487 -1.01762 1.02426 1.01218 1.02185 1.02064 1.01822 1.02064 1.01702 -1.02668 1.03091 1.0297 1.03393 1.04178 1.0442 1.05446 0.677992 -0 0 0 0 0 0 0 0.00702333 -0 0 0 0.00301 0 0 0.00301 0.0160533 -0.00602 0.00501667 0 0.00401333 0.00100333 0 0 0.00301 -0 0 0 0 0 0 0 0 -0.00301 0 0 0 0 0 0 0 -0 0.00100333 0.00301 0.00602 0.00100333 0.00100333 0.00100333 0.00301 -0.00301 0.00301 0 0 0 0 0.00301 0.00501667 -0.00301 0.0110367 0.00903 0.00301 0.00802667 0.00802667 0 0 -0 0 0 0 0.00501667 0.00602 0.00501667 0.00301 -0 0.00702333 0.0100333 0.00602 0 0.00100333 0.00802667 0.00200667 -0.00200667 0 0.00401333 0.00100333 0.00602 0.00401333 0 0 -0 0 0 0 0 0 0.0983267 0.978964 -1.05628 1.04299 1.03634 1.0297 1.03695 1.02306 1.01943 1.014 -1.02366 1.01339 1.02366 1.02366 1.02124 1.01702 1.02245 1.02426 -1.02608 1.01822 1.00856 1.0146 1.02185 1.02124 1.02668 1.01762 -1.0152 1.02004 1.01641 1.01581 1.01762 1.01641 1.02064 1.02487 -1.01702 1.01581 1.02487 1.01762 1.01943 1.02185 1.01943 1.01822 -0.99648 1.01279 1.0291 1.02064 1.01641 1.02789 1.02245 1.02608 -1.02004 1.01279 1.01702 1.0303 1.05024 1.05084 1.04238 1.04238 -1.03876 1.04359 1.04782 1.04299 1.04661 1.04299 1.04178 1.0448 -1.05205 1.03393 1.02849 1.02245 1.01581 1.01702 1.01581 1.02366 -1.0152 1.02185 0.981984 0.970508 0.959032 0.96326 0.96628 0.971112 -0.962052 0.962052 0.962656 0.966884 0.960844 0.9693 0.975944 1.02064 -1.02547 1.02728 1.0146 1.02004 1.02245 1.02004 1.02004 1.01762 -1.03514 1.04782 1.04842 1.04782 1.0448 1.0448 1.04842 1.0442 -1.04782 1.04963 1.03876 1.02245 1.00614 1.01883 1.02245 1.02668 -1.02064 1.01279 1.01883 1.01883 1.02849 1.01762 1.01762 1.02547 -1.02668 1.02366 1.02064 1.02185 1.02124 1.02789 1.02124 1.02426 -1.02124 1.014 1.02366 1.02366 1.02185 1.02245 1.01883 1.02064 -1.02547 1.01218 1.01037 1.01702 1.01037 1.01581 1.01822 1.01702 -1.01641 1.01702 1.02306 1.01762 1.02185 1.02366 1.02789 1.02789 -1.02608 1.02004 1.02547 1.02668 1.03393 1.03936 1.05326 0.976548 -0.09331 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0.0110367 0.00802667 0 -0 0 0.00200667 0 0 0.00301 0.00602 0 -0 0.00501667 0 0 0.00501667 0.00100333 0 0.00301 -0 0 0.00501667 0.00702333 0.00200667 0.00100333 0.00100333 0.00200667 -0.00401333 0.00702333 0.00702333 0 0.00200667 0 0 0.00401333 -0.00301 0.00702333 0.00401333 0.00501667 0 0 0.00100333 0 -0.00200667 0.00100333 0 0 0 0 0.00100333 0 -0 0.00501667 0 0 0 0.00301 0.00200667 0 -0 0 0 0.00301 0.00903 0.00100333 0.00100333 0.00100333 -0.00200667 0 0 0.00200667 0.00100333 0 0 0 -0 0 0 0 0 0 0.345147 1.04661 -1.0448 1.04299 1.04178 1.03332 1.03272 1.0297 1.03091 1.02245 -1.01822 1.02668 1.01098 1.02004 1.0152 1.01762 1.01339 1.0146 -1.01702 1.01883 1.02185 1.01339 1.0146 1.01943 1.0146 1.01943 -1.01883 1.01098 1.01883 1.02366 1.01883 1.00977 1.01943 1.01762 -1.01279 1.01762 1.01762 1.03453 1.02124 1.02004 1.02185 1.01098 -0.99044 1.02306 1.02004 1.02306 1.01883 1.0146 1.01822 1.0291 -1.02185 1.01702 1.014 1.04238 1.04601 1.04299 1.04963 1.05084 -1.05628 1.05205 1.04661 1.0442 1.04359 1.0454 1.05205 1.05024 -1.04359 1.04782 1.01581 1.01581 1.02245 1.02185 1.02487 1.01943 -1.02124 1.01581 1.01641 0.978964 0.96628 0.968092 0.962052 0.967488 -0.966884 0.970508 0.969904 0.9693 0.963864 0.975944 1.01279 1.02426 -1.01641 1.02426 1.02608 1.0297 1.0152 1.0146 1.01883 1.03393 -1.04903 1.04178 1.04782 1.04299 1.04661 1.04238 1.04359 1.04722 -1.05144 1.04057 1.05688 1.03816 1.01762 1.01218 1.02487 1.01883 -1.01218 1.01702 1.01702 1.02366 1.02487 1.02487 1.0146 1.0146 -1.02547 1.02306 1.0146 1.01037 1.02124 1.01943 1.01822 1.01822 -1.02245 1.02547 1.01641 1.01702 1.01702 1.014 1.01943 1.02426 -1.01037 1.01702 1.02004 1.01339 1.00977 1.02124 1.02245 1.01822 -1.02245 1.01762 1.01581 1.02004 1.01641 1.02004 1.01581 1.01883 -1.02185 1.02426 1.02547 1.02728 1.03332 1.03755 1.0442 1.04057 -0.356183 0 0 0 0 0 0 0.00301 -0 0 0 0 0.00100333 0 0 0 -0 0.00301 0 0 0 0 0 0.00200667 -0.00501667 0 0.00401333 0 0 0 0.00501667 0 -0 0 0 0 0 0.00301 0 0.00100333 -0.00301 0 0 0.00301 0.00602 0.00301 0.00301 0.00100333 -0 0.00100333 0 0 0.00301 0 0 0 -0 0 0.00100333 0 0.00100333 0.00401333 0 0 -0 0 0.00200667 0.00200667 0 0 0 0 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.697312 1.0605 -1.05205 1.03695 1.02728 1.03212 1.0297 1.02124 1.02426 1.02426 -1.02306 1.01581 1.02064 1.02064 1.02245 1.01883 1.02064 1.02306 -1.02004 1.02064 1.02004 1.01943 1.02185 1.01762 1.02547 1.01581 -1.02306 1.02306 1.01098 1.01641 1.02547 1.0152 1.02064 1.02185 -1.02608 1.02245 1.014 1.02426 1.02426 1.02849 1.01822 0.994668 -1.01218 1.02306 1.01218 1.0152 1.02064 1.02608 1.01702 1.01702 -1.02426 1.02185 1.02487 1.04238 1.04238 1.04661 1.03936 1.04299 -1.04118 1.04057 1.03453 1.03514 1.04359 1.03574 1.04299 1.04601 -1.04842 1.0442 1.01822 1.01822 1.0146 1.02668 1.02064 1.02124 -1.01822 1.02124 1.02547 1.02366 0.997688 0.980172 0.967488 0.96326 -0.973528 0.972924 0.965072 0.959636 0.976548 1.01762 1.02004 1.02306 -1.02306 1.014 1.01581 1.02547 1.02306 1.02004 1.02185 1.04359 -1.04903 1.05205 1.03574 1.04661 1.04842 1.03634 1.04661 1.04178 -1.04118 1.05024 1.04118 1.03514 1.04782 1.02124 1.02487 1.02185 -1.02547 1.03272 1.02004 1.02245 1.02004 1.02064 1.0152 1.00614 -1.02185 1.0146 1.02004 1.01641 1.02185 1.02547 1.02366 1.02245 -1.01581 1.0146 1.02185 1.01883 1.02487 1.02306 1.02487 1.014 -1.01279 1.01581 1.01822 1.01822 1.02185 1.02608 1.02124 1.02064 -1.01943 1.014 1.02124 1.02426 1.01943 1.02064 1.01641 1.01883 -1.02668 1.02185 1.02789 1.03272 1.04238 1.04299 1.05265 1.06352 -0.714056 0 0 0 0 0 0 0 -0 0 0.00301 0.00702333 0.00903 0.00702333 0.00100333 0.00401333 -0.00702333 0 0.00301 0.00200667 0 0.00200667 0 0.00200667 -0 0 0 0 0.00100333 0.00100333 0 0 -0 0 0 0.00903 0.00301 0.00100333 0.01204 0.00802667 -0.00200667 0.00301 0.00602 0.00802667 0 0.00200667 0 0 -0 0 0 0 0 0 0.00200667 0 -0 0 0 0.00100333 0 0 0 0 -0 0 0 0 0.00501667 0.00702333 0 0 -0 0 0.00200667 0 0.0130433 0.00301 0 0 -0.00401333 0.00100333 0 0.00200667 0 0.00200667 0.00401333 0 -0 0 0 0 0 0.06622 0.956012 1.05507 -1.03876 1.0291 1.0291 1.02487 1.02668 1.02608 1.02124 1.01943 -1.01883 1.02366 1.0146 1.01581 1.01762 1.01822 1.02306 1.02245 -1.01822 1.02064 1.02789 1.02306 1.0146 1.01581 1.01883 1.02004 -1.02064 1.02487 1.02547 1.014 1.02245 1.02064 1.02124 1.01762 -1.01641 1.01822 1.01943 1.02366 1.02789 1.02487 1.01037 1.01037 -1.02426 1.01822 1.02608 1.01702 1.02004 1.01883 1.02306 1.02728 -1.02487 1.02366 1.0297 1.04178 1.04903 1.05265 1.04118 1.0448 -1.05265 1.05507 1.05144 1.05024 1.05507 1.05024 1.03936 1.05205 -1.0454 1.04359 1.0146 1.02366 1.01037 1.01762 1.01943 1.02547 -1.01883 1.02547 1.02124 1.01943 1.02004 1.01218 0.994064 0.985608 -0.991648 0.97836 0.991648 1.01098 1.02728 1.02668 1.01581 1.01762 -1.02849 1.03151 1.02064 1.0303 1.02064 1.02306 1.02668 1.0442 -1.05205 1.0442 1.03574 1.03393 1.05205 1.05326 1.04178 1.0442 -1.05144 1.04178 1.0291 1.05265 1.0442 1.01702 1.0146 1.01702 -1.02728 1.02064 1.01702 1.02064 1.02004 1.01762 1.02366 1.00373 -1.00433 1.02245 1.01581 1.01641 1.01279 1.02547 1.01158 1.01641 -1.02064 1.02004 1.01943 1.02124 1.02789 1.01339 1.01098 1.01037 -1.02185 1.02366 1.0146 1.01762 1.02124 1.0146 1.01883 1.0146 -1.01702 1.01822 1.02487 1.02487 1.02366 1.0152 1.0152 1.01581 -1.01822 1.02547 1.02366 1.02789 1.0303 1.03453 1.04118 1.05446 -0.967488 0.0792633 0 0 0 0.00200667 0 0 -0.00903 0.00702333 0 0.00401333 0 0 0.00200667 0.00802667 -0 0.00100333 0 0.00200667 0.00401333 0 0.00401333 0.00501667 -0.00200667 0 0 0.00903 0.00903 0.00501667 0.01505 0.0110367 -0.00802667 0.00501667 0.00702333 0.00401333 0.00602 0.00903 0.00100333 0 -0.00200667 0 0 0.00301 0 0 0 0.00200667 -0.00200667 0 0 0.00501667 0.00802667 0.00702333 0.00401333 0.00401333 -0.00602 0.00401333 0 0 0 0 0.00100333 0 -0 0 0 0 0 0 0 0.00602 -0.00903 0.0100333 0.00301 0 0 0 0.0130433 0.00602 -0.00200667 0.00501667 0.00401333 0 0 0 0 0 -0 0 0 0 0 0.24682 1.03816 1.04601 -1.0454 1.03574 1.02487 1.02124 1.01822 1.02064 1.02487 1.02789 -1.02728 1.02487 1.0303 1.02185 1.01883 1.0146 1.0146 1.02608 -1.02547 1.01762 1.02064 1.0146 1.01822 1.02426 1.01883 1.01943 -1.0146 1.02064 1.02124 1.02124 1.02306 1.01943 1.01581 1.02064 -1.01883 1.01702 1.01702 1.02124 1.02124 1.0146 0.986212 1.02185 -1.02185 1.02185 1.0152 1.02124 1.01883 1.0152 1.02366 1.01762 -1.01641 1.0146 1.01762 1.0448 1.03755 1.04299 1.04601 1.04299 -1.04963 1.04842 1.04722 1.05748 1.04359 1.05446 1.04661 1.04722 -1.05386 1.04057 1.02608 1.02306 1.03212 1.01943 1.02426 1.02849 -1.03332 1.014 1.00916 1.02608 1.0291 1.02668 1.02728 1.02426 -1.01762 1.01279 1.01762 1.02064 1.02366 1.02004 1.0291 1.02004 -1.02547 1.03151 1.01037 1.02608 1.01037 1.01641 1.03453 1.05507 -1.04359 1.0454 1.05024 1.03997 1.03816 1.0442 1.04842 1.05144 -1.03936 1.03755 1.04359 1.04601 1.04299 1.03755 1.01581 1.01641 -1.02668 1.01641 1.01943 1.01158 1.01279 1.02487 1.02185 1.01581 -0.994064 1.02306 1.02004 1.02547 1.0146 1.01581 1.02306 1.00916 -1.02064 1.02426 1.02004 1.01279 1.02064 1.02487 1.01702 1.01641 -1.02426 1.01581 1.02064 1.014 1.01581 1.01702 1.01641 1.01641 -1.01641 1.01822 1.01883 1.02366 1.01158 1.02245 1.02185 1.02004 -1.02185 1.01641 1.02608 1.02185 1.02849 1.03212 1.0442 1.05144 -1.03514 0.280933 0 0 0 0 0 0 -0 0 0.00401333 0 0 0 0 0 -0 0 0.00501667 0.00100333 0 0.00100333 0 0 -0 0.00301 0.00401333 0 0 0.00200667 0 0 -0.00702333 0.00702333 0.00702333 0.00301 0 0 0 0 -0 0.00100333 0.00802667 0.0130433 0.00802667 0.0100333 0.00301 0.00200667 -0.00702333 0.00401333 0 0 0 0.00100333 0.00100333 0.00501667 -0.00401333 0.00903 0.00903 0 0.00301 0.00301 0.00301 0.00802667 -0.00702333 0.00903 0.00501667 0.00501667 0.00602 0.00301 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00602 0.00802667 0 0 0 -0 0 0 0 0 0.500663 1.05809 1.0454 -1.03936 1.03332 1.03151 1.02064 1.02608 1.02306 1.01822 1.01581 -1.01641 1.01943 1.01641 1.01943 1.014 1.01339 1.01581 1.01037 -1.0146 1.01641 1.00916 1.01883 1.01822 1.02366 1.01822 1.0146 -1.0146 1.01641 1.01581 1.01581 1.02004 1.01943 1.014 1.01822 -1.0146 1.02245 1.01581 1.01641 1.02668 0.9995 1.00252 1.03212 -1.02487 1.01943 1.02608 1.03332 1.02547 1.01581 1.01883 1.01641 -1.02547 1.02608 1.01943 1.04842 1.05386 1.03816 1.04359 1.04722 -1.04178 1.04238 1.04299 1.04178 1.04118 1.0442 1.03755 1.04178 -1.04963 1.04601 1.02366 1.01702 1.02185 1.02366 1.02004 1.01822 -1.02185 1.02426 1.02185 1.01641 1.02004 1.01581 1.02366 1.02668 -1.01702 1.02849 1.02789 1.02789 1.02728 1.01943 1.02064 1.02366 -1.014 1.01098 1.02064 1.02789 1.02306 1.02004 1.04178 1.03816 -1.03997 1.04359 1.04178 1.04359 1.03876 1.0442 1.0454 1.04057 -1.03332 1.05084 1.05024 1.03634 1.0454 1.03332 1.02426 1.02728 -1.02185 1.02004 1.02124 1.01702 1.02487 1.01762 1.0146 1.01822 -1.00373 1.01098 1.02124 1.02185 1.01822 1.02245 1.01883 1.02245 -1.02366 1.0146 1.01339 1.02728 1.01943 1.02245 1.01762 1.02004 -1.02004 1.02124 1.0152 1.02185 1.02004 1.0146 1.02124 1.01762 -1.01702 1.01822 1.0146 1.02245 1.02426 1.02306 1.01641 1.02306 -1.02185 1.02789 1.02849 1.02245 1.0297 1.03332 1.03695 1.04722 -1.05628 0.527753 0 0 0 0 0 0 -0.00401333 0.00802667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0.00401333 0.00602 0 0 0.0100333 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0.00501667 0.00401333 0 0 0.00802667 0 0 0 -0 0.00501667 0.00702333 0.00702333 0 0 0 0 -0.00200667 0.00501667 0.00501667 0.0140467 0.00602 0 0 0 -0.00100333 0 0 0.00100333 0.00401333 0.00100333 0 0.00200667 -0.00301 0.00602 0.00401333 0.00501667 0.00401333 0.00401333 0.00903 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.7952 1.06292 1.04299 -1.03997 1.03453 1.03091 1.03272 1.02124 1.02004 1.02306 1.01883 -1.02547 1.02185 1.01943 1.02064 1.02124 1.014 1.0146 1.02245 -1.02124 1.0297 1.02608 1.0146 1.01883 1.02004 1.01883 1.01218 -1.01943 1.02608 1.02124 1.014 1.01762 1.02004 1.02124 1.02064 -1.02185 1.01641 1.02245 1.02366 1.01943 0.994064 1.01702 1.02064 -1.02487 1.01641 1.01822 1.01762 1.02124 1.02789 1.01883 1.01762 -1.02245 1.02004 1.0146 1.03212 1.04118 1.05265 1.04842 1.04601 -1.04299 1.04238 1.0442 1.0454 1.04299 1.05628 1.04661 1.04842 -1.04722 1.02728 1.01218 1.02064 1.02547 1.02004 1.014 1.014 -1.02366 1.02245 1.0291 1.01218 1.02306 1.02789 1.02426 1.0303 -1.02004 1.01581 1.01762 1.01702 1.01641 1.02487 1.02064 1.01883 -1.02849 1.02487 1.01762 1.02547 1.02245 1.01943 1.03695 1.03876 -1.04963 1.04359 1.04722 1.05628 1.04722 1.05205 1.03997 1.04661 -1.05386 1.04722 1.04722 1.05205 1.05507 1.02245 1.01581 1.0146 -1.01581 1.02487 1.0303 1.01339 1.0291 1.02004 1.02124 1.01702 -1.0297 1.00312 1.01943 1.01641 1.0152 1.03212 1.01943 1.014 -1.01822 1.014 1.02366 1.02547 1.01339 1.014 1.01822 1.02245 -1.02547 1.01218 1.02306 1.02668 1.02306 1.0152 1.01581 1.0146 -1.01883 1.01581 1.01943 1.02124 1.01702 1.01641 1.01822 1.01943 -1.02547 1.02306 1.02366 1.02789 1.02728 1.03634 1.04057 1.0448 -1.06111 0.805504 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00602 0.00100333 0.00602 -0.00501667 0 0.00100333 0.00903 0.00301 0.00602 0.00501667 0.00200667 -0 0 0.00100333 0.00301 0 0.00401333 0.00702333 0.00301 -0.00301 0 0 0 0.00301 0.00702333 0.00702333 0.00501667 -0 0 0.00301 0.0110367 0 0.00501667 0.00903 0.00501667 -0 0 0 0 0 0.00401333 0.00200667 0 -0 0.00100333 0 0 0.00301 0.00903 0.00903 0.00903 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00903 -0.00401333 0 0 0.00200667 0 0 0 0 -0 0 0 0 0.06321 0.959032 1.05869 1.0442 -1.03453 1.0297 1.02608 1.02306 1.02608 1.0291 1.01702 1.01641 -1.02426 1.02728 1.01702 1.01702 1.02426 1.02245 1.01641 1.01883 -1.01762 1.01218 1.0152 1.0152 1.02306 1.02064 1.01822 1.02124 -1.0146 1.02124 1.02366 1.02306 1.02306 1.02004 1.01702 1.02185 -1.02245 1.01883 1.01943 1.014 0.9995 0.9995 1.02728 1.01641 -1.01339 1.01762 1.01822 1.01762 1.02185 1.02849 1.01883 1.01581 -1.01581 1.00916 1.02064 1.0291 1.03695 1.04238 1.04118 1.04842 -1.04238 1.04661 1.04782 1.04118 1.04782 1.04842 1.05386 1.04903 -1.05326 1.02306 1.01883 1.014 1.0152 1.0146 1.02306 1.01762 -1.0291 1.01762 1.03151 1.02487 1.01279 1.0146 1.02366 1.01702 -1.01883 1.02064 1.0146 1.02608 1.01702 1.02064 1.02668 1.01762 -1.02004 1.02426 1.01883 1.02185 1.01581 1.02547 1.04661 1.05567 -1.05507 1.04359 1.0442 1.0448 1.04661 1.03936 1.04299 1.04782 -1.03816 1.04118 1.05084 1.05809 1.04903 1.03816 1.02004 1.0152 -1.02366 1.02306 1.02306 1.02185 1.02185 1.01702 1.02064 1.02004 -1.02064 0.9995 0.99648 1.02306 1.01762 1.02185 1.01218 1.01943 -1.02185 1.02426 1.02728 1.01943 1.02004 1.02608 1.02185 1.02064 -1.02366 1.01883 1.0146 1.01098 1.02064 1.01762 1.02306 1.01581 -1.02064 1.01762 1.01762 1.01943 1.02004 1.02004 1.02004 1.01762 -1.02064 1.01822 1.02124 1.02547 1.02487 1.03453 1.04057 1.0448 -1.04963 0.96628 0.0772567 0 0 0 0 0 -0 0 0 0.00100333 0 0 0 0 -0 0.00602 0.00401333 0 0 0.00301 0.00501667 0.00200667 -0.00100333 0.00802667 0.00702333 0.00702333 0.00602 0 0 0 -0 0 0.00301 0.00401333 0.00301 0 0 0 -0.00200667 0.00200667 0.00301 0 0.00200667 0 0 0 -0.00501667 0 0 0 0.00301 0 0 0.00200667 -0 0 0 0 0 0 0 0 -0.00200667 0.00200667 0 0 0 0 0.00602 0.00501667 -0 0 0.00100333 0 0.00100333 0.00100333 0 0 -0 0 0 0 0 0.00401333 0 0 -0 0 0 0 0.18963 1.02608 1.05265 1.03816 -1.03514 1.02728 1.02547 1.02849 1.02547 1.02547 1.02426 1.02064 -1.01279 1.01762 1.02124 1.02426 1.01762 1.02064 1.01762 1.01883 -1.02426 1.0152 1.01762 1.02064 1.01822 1.02366 1.02547 1.02487 -1.02366 1.01762 1.02004 1.01943 1.0152 1.02124 1.02064 1.02366 -1.02004 1.02124 1.02608 1.02608 0.998292 1.02789 1.0291 1.02064 -1.02366 1.01943 1.02366 1.0146 1.02426 1.02366 1.02306 1.02668 -1.02185 1.02245 1.02124 1.02426 1.03574 1.05628 1.05024 1.04661 -1.04359 1.05326 1.0442 1.05326 1.03936 1.04903 1.04601 1.0448 -1.04299 1.02124 1.02306 1.02185 1.02245 1.02366 1.0146 1.02124 -1.01641 1.01943 1.01702 1.02185 1.02728 1.01702 1.02124 1.01702 -1.02185 1.014 1.02306 1.02849 1.0146 1.0146 1.02245 1.02487 -1.0152 1.02849 1.02849 1.02547 1.01218 1.02426 1.02004 1.04057 -1.04238 1.05205 1.04722 1.04842 1.04722 1.03997 1.04782 1.0448 -1.05265 1.04782 1.04118 1.04963 1.04118 1.01581 1.0146 1.02849 -1.02608 1.01762 1.014 1.01702 1.01339 1.01339 1.02124 1.02487 -1.02728 1.01943 1.00554 1.02789 1.01762 1.01943 1.01822 1.02004 -1.01218 1.01581 1.01641 1.01883 1.02306 1.02124 1.02124 1.01883 -1.01702 1.02124 1.02306 1.02366 1.01943 1.02185 1.02004 1.02547 -1.02547 1.01943 1.02728 1.02487 1.03091 1.01158 1.01339 1.01641 -1.02366 1.02426 1.02124 1.02668 1.03574 1.03514 1.03332 1.03876 -1.05205 1.02668 0.196653 0 0 0 0 0 -0 0 0.0100333 0.00702333 0.00401333 0 0 0 -0.01204 0.01204 0 0.0130433 0.0130433 0.00602 0.00200667 0.00200667 -0.00501667 0.00702333 0 0 0 0 0 0 -0 0.00401333 0.00100333 0 0 0.00100333 0.00802667 0.00702333 -0 0.00301 0.00501667 0.0100333 0 0.00301 0.00200667 0 -0 0.00401333 0.00200667 0.00200667 0 0.00301 0.00301 0.00401333 -0.00200667 0.00100333 0 0 0 0 0 0 -0 0 0.00501667 0.00401333 0.00200667 0 0 0 -0.00702333 0.00401333 0.00100333 0.00301 0.00401333 0.00501667 0.0130433 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.341133 1.04601 1.04782 1.04178 -1.03151 1.03091 1.0303 1.02487 1.01158 1.014 1.02004 1.01641 -1.02185 1.01822 1.01822 1.01581 1.02064 1.01943 1.01702 1.01702 -1.02124 1.03151 1.02004 1.01943 1.02306 1.02245 1.02366 1.01762 -1.02004 1.0152 1.03272 1.01883 1.01641 1.02004 1.01822 1.01883 -1.02064 1.01218 1.01581 1.00856 0.99346 1.02185 1.02789 1.02245 -1.02004 1.03091 1.01943 1.03514 1.01822 1.02124 1.0152 1.02306 -1.0146 1.03453 1.01822 1.02245 1.02487 1.02366 1.05265 1.03876 -1.04842 1.04238 1.05567 1.03151 1.05507 1.03816 1.0448 1.02789 -1.0152 1.01641 1.02004 1.01943 1.02245 1.02668 1.0146 1.01943 -1.02306 1.01943 1.02064 1.01339 1.02124 1.01641 1.01702 1.02547 -1.01822 1.02487 1.02306 1.02668 1.01883 1.01943 1.01943 1.01762 -1.0152 1.02728 1.01037 1.02366 1.01883 1.02004 1.00796 1.03453 -1.04359 1.04842 1.04963 1.04299 1.04118 1.05024 1.03997 1.03695 -1.04661 1.04118 1.05446 1.04903 1.03514 1.01943 1.03151 1.02547 -1.02124 1.01098 1.02185 1.02426 1.01943 1.02426 1.02185 1.01279 -1.0146 1.02366 1.00071 1.00916 1.01762 1.00675 1.02366 1.0303 -1.02668 1.02064 1.01702 1.02547 1.01641 1.01641 1.02366 1.02004 -1.01762 1.02366 1.02004 1.02185 1.02306 1.02185 1.02306 1.01822 -1.01641 1.01822 1.02185 1.02306 1.01702 1.02547 1.02366 1.02004 -1.02004 1.02185 1.02547 1.02124 1.02245 1.01883 1.02487 1.03393 -1.04842 1.04903 0.36722 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0 0 0 0 0 0 0 0.00100333 -0.00100333 0 0 0 0.00200667 0.00200667 0.00200667 0.00200667 -0.00602 0.00100333 0 0 0.00702333 0.00602 0 0 -0 0.00301 0 0 0.00301 0.00100333 0 0 -0.00200667 0 0 0 0 0 0 0 -0.00401333 0.00401333 0.00100333 0 0 0 0.00200667 0.00401333 -0.00501667 0.00903 0.00702333 0.00903 0.00702333 0.0100333 0.00100333 0.00301 -0 0 0 0.00100333 0 0 0 0.0110367 -0 0 0 0 0 0 0 0 -0 0 0 0 0.507687 1.0593 1.04782 1.03332 -1.03634 1.02547 1.02487 1.0297 1.02608 1.02185 1.02728 1.02366 -1.02306 1.02004 1.02608 1.02426 1.01762 1.02004 1.02185 1.02487 -1.02004 1.0146 1.01943 1.02064 1.02547 1.02245 1.0146 1.01641 -1.02245 1.0146 1.0146 1.02487 1.02004 1.01883 1.0146 1.02004 -1.01581 1.02426 1.02728 0.98742 1.00675 1.02426 1.01883 1.01762 -1.0152 1.02426 1.01641 1.01339 1.02366 1.02004 1.0303 1.01641 -1.02668 1.0146 1.01641 1.0146 1.02004 1.02185 1.02004 1.04299 -1.04299 1.04842 1.05567 1.05265 1.0448 1.04238 1.02124 1.01218 -1.02124 1.02245 1.01762 1.02608 1.02608 1.02608 1.01822 1.01339 -1.02306 1.01702 1.02245 1.02547 1.02004 1.02487 1.02064 1.0152 -1.02064 1.02064 1.02124 1.01943 1.02064 1.02728 1.0146 1.01641 -1.03816 1.0297 1.02306 1.0146 1.02426 1.02487 1.02306 1.02366 -1.04238 1.04057 1.04299 1.04601 1.05205 1.04601 1.0442 1.03936 -1.04118 1.04782 1.05024 1.04057 1.02064 1.01943 1.0152 1.01339 -1.01762 1.02728 1.02124 1.01943 1.01339 1.02849 1.0291 1.02064 -1.01702 1.0146 1.014 1.00252 1.0146 1.01762 1.02608 1.01943 -1.02124 1.02547 1.02668 1.02728 1.02064 1.02004 1.0146 1.01641 -1.02366 1.02426 1.01581 1.01943 1.01581 1.02004 1.0152 1.02245 -1.01339 1.02306 1.02004 1.01943 1.01158 1.01883 1.014 1.02487 -1.02426 1.02245 1.02124 1.02668 1.02306 1.03151 1.03332 1.04359 -1.05205 1.05869 0.558857 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0.00401333 0.00602 -0.00200667 0 0 0.00602 0.00100333 0 0 0.00401333 -0.00903 0 0 0 0 0 0.00301 0.00301 -0 0.00200667 0.00401333 0.00602 0.00501667 0.00301 0.00602 0.00301 -0 0 0.00501667 0.00903 0 0 0.00200667 0 -0 0 0 0 0.00301 0.00301 0.00501667 0 -0.00301 0.00401333 0.00401333 0 0 0 0 0 -0.00602 0.00301 0 0 0 0 0 0 -0 0 0 0 0.670264 1.06171 1.05265 1.03755 -1.03091 1.03574 1.0303 1.02849 1.02608 1.01883 1.02124 1.01641 -1.01883 1.01883 1.02004 1.01943 1.02245 1.02124 1.02245 1.01641 -1.0291 1.0152 1.01883 1.02124 1.02487 1.0146 1.02487 1.01943 -1.02487 1.02849 1.02064 1.014 1.01762 1.014 1.01822 1.02547 -1.02789 1.02849 1.01883 0.9844 1.02366 1.0303 1.02668 1.02728 -1.0303 1.02487 1.01581 1.01581 1.014 1.01037 1.014 1.01883 -1.0146 1.02366 1.02064 1.01762 1.0146 1.01943 1.02668 1.01218 -1.02366 1.02849 1.02608 1.02849 1.02789 1.03393 1.02124 1.014 -1.01581 1.0291 1.02185 1.0146 1.02547 1.02245 1.01883 1.01943 -1.0146 1.02547 1.00675 1.00312 1.00796 1.02366 1.02728 1.02306 -1.02668 1.02004 1.02306 1.02185 1.01641 1.01641 1.01762 1.02487 -1.02185 1.00796 1.01581 1.01641 1.02366 1.02547 1.02245 1.00796 -1.02004 1.03936 1.04722 1.0442 1.04842 1.05265 1.05024 1.05507 -1.04661 1.04601 1.03816 1.03151 1.01943 1.03876 1.01641 1.01822 -1.02789 1.0297 1.02366 1.02789 1.02245 1.01641 1.01943 1.02547 -1.03212 1.02185 1.03393 1.01098 1.02124 1.02306 1.01279 1.02185 -1.0152 1.01762 1.00977 1.02547 1.02064 1.01822 1.0146 1.02306 -1.01098 1.01883 1.0146 1.01822 1.01581 1.01883 1.02064 1.0146 -1.0146 1.01641 1.02064 1.02185 1.02245 1.014 1.0146 1.0146 -1.01218 1.0152 1.01822 1.01883 1.02789 1.03272 1.03695 1.04118 -1.04238 1.05628 0.75012 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00100333 0.0100333 -0 0 0 0 0.00200667 0 0 0 -0 0 0 0.00301 0.00200667 0.00702333 0.00702333 0 -0 0 0.00602 0 0 0 0.00301 0 -0 0.00100333 0.00702333 0.00903 0.00401333 0.00702333 0.00301 0 -0 0.00100333 0 0 0 0 0 0 -0.00100333 0.00100333 0 0.00100333 0.00903 0.00602 0 0 -0.00100333 0 0 0 0 0.00200667 0.00200667 0.00401333 -0 0.00401333 0.00401333 0.00501667 0.00903 0.00903 0.00401333 0 -0 0 0.00401333 0.00200667 0 0 0 0 -0 0 0 0.00200667 0.864752 1.05024 1.0442 1.03876 -1.0297 1.02185 1.02306 1.02245 1.02366 1.01943 1.02366 1.01702 -1.02547 1.01762 1.02004 1.02245 1.02124 1.02124 1.01702 1.01822 -1.01762 1.03272 1.03212 1.01641 1.0152 1.02789 1.01762 1.02245 -1.01279 1.01762 1.0303 1.02245 1.02608 1.02306 1.02849 1.02849 -1.03091 1.01762 1.00675 0.997084 1.02366 1.02426 1.01581 1.02004 -1.02185 1.01883 1.02789 1.02004 1.02849 1.0297 1.02185 1.0303 -1.02547 1.03151 1.02789 1.02608 1.01943 1.02668 1.01702 1.02849 -1.02426 1.014 1.02064 1.01762 1.01943 1.0152 1.02306 1.02366 -1.02487 1.014 1.0152 1.01702 1.02124 1.02547 1.01279 1.02185 -1.0152 1.01943 1.01339 1.014 1.01641 1.02064 1.02245 1.02064 -1.02547 1.02306 1.02306 1.02064 1.02547 1.03272 1.03634 1.01339 -1.01883 1.02124 1.02185 1.02789 1.02185 1.02064 1.02426 1.00796 -1.01339 1.0146 1.02608 1.04299 1.04842 1.04842 1.04963 1.04963 -1.04118 1.03876 1.01581 1.02306 1.02306 1.00675 1.02306 1.02245 -1.01762 1.02124 1.02185 1.01218 1.01339 1.01943 1.01822 1.01641 -1.01581 1.01943 1.02789 1.02004 1.02004 1.02004 1.01702 1.02426 -1.01762 1.01702 1.02306 1.01762 1.01702 1.02004 1.01943 1.02004 -1.01641 1.01822 1.01702 1.02547 1.02064 1.02366 1.02245 1.02668 -1.02004 1.01702 1.02306 1.02547 1.00916 1.0146 1.02245 1.0146 -1.01883 1.02064 1.02366 1.02668 1.02728 1.02547 1.0303 1.03272 -1.04118 1.04963 0.920136 0.0290967 0 0 0 0 -0 0 0 0.00501667 0 0 0.00702333 0 -0.00200667 0.00602 0.00903 0.00301 0.00200667 0.00401333 0.00401333 0.00100333 -0.00802667 0.0160533 0.0130433 0.00602 0.00100333 0 0 0.00200667 -0.00501667 0.00903 0.00301 0.00100333 0.00301 0.00100333 0 0.00200667 -0.00702333 0.00401333 0.00200667 0.00501667 0.00200667 0.00200667 0 0.00301 -0.00301 0.00200667 0 0.00200667 0.00501667 0.00401333 0.00301 0.00301 -0.00200667 0 0 0 0 0 0.00401333 0 -0 0.00200667 0.00401333 0.00401333 0.00602 0 0 0.00602 -0.0110367 0 0 0 0 0.00200667 0.00401333 0.00702333 -0.00602 0.00200667 0 0.00100333 0.00401333 0 0 0 -0 0 0 0.0411367 0.942724 1.05567 1.04057 1.03393 -1.03574 1.02547 1.02306 1.01762 1.02064 1.02487 1.02306 1.02426 -1.02306 1.01822 1.01822 1.01702 1.02245 1.02124 1.02064 1.02306 -1.01702 1.01762 1.02004 1.02547 1.01641 1.01943 1.02366 1.02004 -1.02306 1.02004 1.02426 1.02426 1.0291 1.01822 1.0152 1.02004 -1.01762 1.02124 0.989232 1.00856 1.02185 1.02185 1.01641 1.01702 -1.02185 1.01762 1.01822 1.01037 1.02366 1.02849 1.02728 1.01581 -1.01762 1.01581 1.02487 1.01943 1.0291 1.02487 1.02547 1.02124 -1.02487 1.0291 1.01943 1.01883 1.02426 1.01581 1.01943 1.03393 -1.02366 1.0152 1.01279 1.03212 1.02306 1.02185 1.02547 1.0146 -1.02185 1.01218 1.014 1.01943 1.01218 1.01641 1.02366 1.01218 -1.02366 1.01762 1.01762 1.01641 1.0146 1.01279 1.01883 1.02185 -1.01943 1.02064 1.02245 1.01702 1.02185 1.01641 1.02064 1.02547 -1.01641 1.02487 1.02426 1.02426 1.0291 1.03695 1.02306 1.02185 -1.02608 1.02004 1.01641 1.01762 1.014 1.0303 1.03151 1.0146 -1.014 1.03514 1.01822 1.0291 1.02245 1.01883 1.0152 1.02124 -1.02487 1.02064 1.01943 1.01158 1.0152 1.01883 1.02487 1.014 -1.02366 1.01883 1.01641 1.02789 1.02185 1.01641 1.03212 1.01883 -1.02728 1.01943 1.01762 1.02608 1.01943 1.01822 1.01339 1.014 -1.02306 1.01762 1.01098 1.01581 1.01702 1.01822 1.02728 1.02004 -1.02789 1.02185 1.02608 1.02426 1.0303 1.02487 1.02426 1.03272 -1.03997 1.05144 0.974132 0.0802667 0 0 0 0 -0 0 0 0 0 0.00401333 0 0 -0 0 0 0 0 0 0 0.00301 -0.00200667 0 0.00100333 0 0.00200667 0 0 0.00501667 -0.00903 0 0 0 0 0 0.00401333 0 -0 0 0 0 0.00401333 0.00100333 0 0 -0.00200667 0.00401333 0.00100333 0 0 0 0 0 -0 0.00501667 0.00401333 0 0 0 0.00602 0.00501667 -0.00401333 0.00100333 0 0 0 0.00200667 0 0 -0 0.01505 0.0160533 0.00301 0 0 0.00100333 0.00100333 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0.0983267 0.989836 1.04601 1.04057 1.03634 -1.0291 1.0297 1.03151 1.02124 1.02608 1.02366 1.01641 1.01702 -1.01822 1.01943 1.02004 1.02608 1.02124 1.0146 1.02004 1.01641 -1.02487 1.02366 1.02185 1.02487 1.03695 1.0297 1.02547 1.02306 -1.02245 1.02487 1.02185 1.01218 1.01883 1.02366 1.02426 1.02245 -1.02245 1.02124 0.986816 1.01883 1.02789 1.0291 1.02487 1.02245 -1.02668 1.02849 1.02306 1.03393 1.02547 1.02728 1.02789 1.03272 -1.04661 1.03816 1.02789 1.03332 1.02728 1.02306 1.01762 1.02789 -1.01581 1.02124 1.02426 1.02608 1.01339 1.02124 1.01581 1.02366 -1.03332 1.02245 1.02004 1.014 1.02547 1.0152 1.01883 1.01762 -1.02728 1.01339 1.01762 1.02608 1.01098 1.02789 1.02487 1.02487 -1.02789 1.02306 1.01702 1.01702 1.02487 1.01702 1.02366 1.02608 -1.01943 1.0152 1.02366 1.02366 1.02426 1.02245 1.02004 1.02124 -1.02004 1.01762 1.02245 1.02366 1.02245 1.01702 1.02366 1.03393 -1.02668 1.02608 1.01883 1.02124 1.03151 1.01822 1.01641 1.02004 -1.02366 1.01822 1.02245 1.02728 1.01641 1.02668 1.01943 1.01883 -1.01883 1.01822 1.02366 1.02608 1.02245 1.01581 1.0152 1.01641 -1.02547 1.01762 1.02366 1.01762 1.01943 1.02668 1.02849 1.01883 -1.0146 1.02366 1.02668 1.01883 1.01762 1.01702 1.01762 1.0152 -1.0146 1.01883 1.02608 1.02185 1.02124 1.0146 1.01641 1.01883 -1.0146 1.01762 1.02366 1.02547 1.02426 1.0303 1.03393 1.03936 -1.03876 1.05084 1.01098 0.154513 0 0 0 0 -0 0 0 0.00200667 0.00200667 0 0 0.00702333 -0 0 0 0.00200667 0.00802667 0.00501667 0.00200667 0 -0 0 0 0 0 0 0.00401333 0.00100333 -0 0 0 0.00501667 0.00501667 0.00100333 0.00200667 0 -0.00301 0.00100333 0 0.00602 0.00802667 0.01204 0.0130433 0.00301 -0 0 0 0.00401333 0.00702333 0.00100333 0.00200667 0.00301 -0.00702333 0.00200667 0 0.00702333 0.00802667 0.00100333 0 0 -0.00100333 0.00200667 0.00200667 0.00401333 0 0 0 0 -0 0 0 0.0110367 0.0130433 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.15953 1.01943 1.05205 1.03634 1.03634 -1.03212 1.02608 1.02245 1.02124 1.01943 1.02004 1.02004 1.02306 -1.02004 1.02185 1.02547 1.02728 1.02185 1.02185 1.02728 1.02426 -1.02306 1.0291 1.03091 1.0303 1.03091 1.02487 1.03151 1.02789 -1.02245 1.02245 1.02306 1.0291 1.02306 1.02185 1.02124 1.02728 -1.01762 1.01158 1.00252 1.02245 1.01943 1.02185 1.02185 1.02849 -1.0297 1.02004 1.02064 1.02185 1.02426 1.02668 1.03091 1.04359 -1.0297 1.03212 1.03936 1.03514 1.03151 1.02245 1.02487 1.02608 -1.01581 1.02849 1.02124 1.02004 1.01098 1.02426 1.02487 1.00614 -1.0146 1.02185 1.02306 1.02668 1.01943 1.0146 1.01641 1.02245 -1.02487 1.01762 1.02487 1.0152 1.02306 1.01762 1.00614 1.01641 -1.01883 1.00977 1.02728 1.02366 1.01762 1.01339 1.01702 1.01762 -1.02004 1.01641 1.00856 1.02064 1.0152 1.02004 1.02487 1.02547 -1.01339 1.02849 1.02185 1.02245 1.02306 1.03332 1.01641 1.02306 -1.02064 1.01581 1.02426 1.02366 1.02306 1.0291 1.0303 1.02487 -1.01762 1.01883 1.02487 1.02245 1.02487 1.01883 1.02185 1.0303 -1.02849 1.02366 1.02366 1.01641 1.01037 1.01883 1.02185 1.02547 -1.02728 1.0291 1.02728 1.02245 1.02124 1.02185 1.02366 1.01641 -1.02789 1.02426 1.02306 1.03151 1.02366 1.02426 1.01943 1.02668 -1.01822 1.02245 1.02789 1.02366 1.0146 1.01641 1.01581 1.01702 -1.02064 1.01943 1.01822 1.02004 1.02306 1.02487 1.0297 1.03272 -1.0442 1.05265 1.03393 0.24983 0 0 0 0 -0 0 0 0 0 0 0.00802667 0 -0 0.00200667 0.00602 0.00903 0 0.00100333 0 0 -0 0.00501667 0.00802667 0.0100333 0.00903 0.00702333 0 0 -0 0 0.00200667 0 0 0.00100333 0 0.00100333 -0 0.00100333 0.01204 0.00903 0 0 0 0.00401333 -0.00602 0 0 0 0 0 0.00100333 0 -0 0.00100333 0 0 0 0 0.00903 0.00501667 -0 0 0 0.00100333 0.00100333 0.00501667 0.00501667 0.00100333 -0.00702333 0.00301 0 0 0 0.0110367 0.00903 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0.23478 1.03816 1.05386 1.03876 1.03151 -1.0291 1.02547 1.02487 1.02306 1.02245 1.01943 1.014 1.0152 -1.02306 1.01037 1.01822 1.02366 1.02064 1.02487 1.02608 1.02124 -1.02849 1.02849 1.03332 1.02366 1.02608 1.02789 1.0303 1.03393 -1.0297 1.02789 1.02608 1.02547 1.01883 1.00856 1.01641 1.02789 -1.03091 1.02064 1.00856 1.02547 1.01822 1.02487 1.02064 1.01822 -1.01943 1.02487 1.02547 1.03212 1.03514 1.03212 1.03755 1.04057 -1.04601 1.03272 1.03695 1.03272 1.03212 1.03514 1.0303 1.02728 -1.03272 1.02547 1.02487 1.01702 1.01581 1.01943 1.02426 1.02366 -1.01822 1.01883 1.02185 1.0291 1.0152 1.01762 1.0291 1.01581 -1.014 1.01641 1.01762 1.03514 1.02728 1.0146 1.02366 1.01762 -1.01943 1.00916 1.01822 1.02185 1.03091 1.02064 1.02004 1.02064 -1.02426 1.02064 1.02124 1.03151 1.02064 1.02064 1.02004 1.02668 -1.01883 1.02608 1.0152 1.02366 1.01702 1.01158 1.01822 1.01339 -1.02608 1.02728 1.0291 1.02849 1.02426 1.01822 1.02245 1.02789 -1.02728 1.02668 1.01943 1.02366 1.02366 1.02245 1.02245 1.02185 -1.01702 1.02185 1.02849 1.01883 1.02124 1.014 1.0303 1.02789 -1.02789 1.02185 1.0152 1.01641 1.02064 1.0297 1.02064 1.03332 -1.02668 1.02366 1.0291 1.02185 1.03514 1.03091 1.01762 1.02608 -1.02668 1.02668 1.02185 1.0146 1.02366 1.02547 1.02668 1.02366 -1.02185 1.02185 1.02547 1.03151 1.0291 1.0303 1.0303 1.03695 -1.03936 1.04661 1.0448 0.341133 0 0 0 0 -0 0 0 0.00401333 0.00401333 0 0 0 -0.00501667 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00802667 0.00401333 0 0 0 0.00100333 0.00100333 0 -0 0.00100333 0 0 0 0 0 0 -0 0.01204 0.00903 0.00301 0 0 0 0 -0 0.00501667 0.00200667 0.00501667 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00100333 0.00301 0 0 0 0 0 -0 0 0 0.302003 1.0454 1.0442 1.03514 1.0291 -1.03514 1.02728 1.02728 1.02426 1.02124 1.02245 1.02487 1.01702 -1.01702 1.02245 1.01641 1.0152 1.02004 1.01943 1.0291 1.03876 -1.02728 1.03212 1.02366 1.01098 0.995876 1.00796 1.03212 1.0442 -1.03272 1.0291 1.01702 1.02004 1.02849 1.02185 1.02547 1.02185 -1.02487 1.00131 1.01158 1.02245 1.02124 1.01762 1.02306 1.02366 -1.01702 1.02306 1.0291 1.03212 1.03997 1.04601 1.014 0.965676 -0.920136 0.913696 0.966884 1.02064 1.04661 1.03816 1.02366 1.02185 -1.0291 1.02064 1.02487 1.02366 1.02547 1.02124 1.02789 1.02245 -1.01883 1.0146 1.02124 1.01762 1.02366 1.0152 1.02124 1.02306 -1.02004 1.0146 1.02608 1.01581 1.02366 1.02849 1.01641 1.01098 -1.0152 1.02608 1.01762 1.03574 1.01943 1.02064 1.01822 1.01762 -1.01883 1.01641 1.02849 1.03151 1.01037 1.01702 1.0297 1.01822 -1.01822 1.01883 1.01762 1.02426 1.02608 1.02487 1.01822 1.02789 -1.03272 1.02245 1.03393 1.03393 1.03091 1.03151 1.02849 1.02608 -1.02728 1.02789 1.03212 1.02185 1.02185 1.03091 1.01762 1.0152 -1.01702 1.0297 1.02426 1.02064 1.02245 1.02124 1.01822 1.01218 -1.02245 1.02306 1.01943 1.02366 1.03332 1.0291 1.0297 1.03151 -1.02306 1.02728 1.02245 1.02668 1.0297 1.01822 1.03151 1.02608 -1.01822 1.02064 1.02245 1.01822 1.02124 1.02124 1.02668 1.01943 -1.02245 1.02426 1.01581 1.01883 1.01702 1.01641 1.02245 1.02668 -1.03151 1.04601 1.05265 0.449493 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00501667 -0.00200667 0 0 0.00200667 0.00100333 0 0.00702333 0.00802667 -0.00200667 0.00501667 0.00100333 0 0.00401333 0.00802667 0.0100333 0.00200667 -0 0 0 0.00200667 0.00501667 0.00401333 0.00301 0.00702333 -0.00602 0 0 0.00602 0.00200667 0 0 0.00100333 -0 0 0 0.0110367 0.0100333 0.00802667 0.00501667 0.00200667 -0 0 0.00200667 0.00702333 0.00602 0.00602 0.00802667 0.00200667 -0 0.00100333 0 0 0 0.00401333 0.00401333 0.00702333 -0.00401333 0.00602 0.00903 0.00702333 0.00200667 0 0 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0.37625 1.05446 1.05024 1.03695 1.02668 -1.02668 1.02789 1.02185 1.02245 1.02306 1.02185 1.01339 1.0152 -1.02185 1.02426 1.02366 1.02487 1.02245 1.02789 1.03393 1.0291 -0.968092 0.734664 0.570897 0.512703 0.476583 0.50267 0.61488 0.87248 -1.01641 1.03393 1.03514 1.02366 1.02668 1.02728 1.02004 1.02064 -1.02306 0.997084 1.01883 1.02426 1.0297 1.01822 1.02185 1.02668 -1.02789 1.03634 1.04118 1.04238 1.00494 0.694736 0.351167 0.18662 -0.14749 0.157523 0.19264 0.371233 0.699888 1.00977 1.04057 1.03332 -1.03634 1.0291 1.0291 1.014 1.01762 1.02366 1.01581 1.02124 -1.02426 1.02608 1.01762 1.01702 1.02004 1.01641 1.014 1.01883 -1.02004 1.01883 1.0001 1.02004 1.01581 1.02426 1.01822 1.01218 -1.02004 1.01218 1.0152 1.0146 1.01822 1.01641 1.01943 1.01581 -1.02487 1.02004 1.02306 1.02245 1.02245 1.02728 1.014 1.02306 -1.01822 1.02245 1.02306 1.0152 1.01702 1.0291 1.02366 1.02306 -1.02849 1.02849 1.02668 1.03876 1.03634 1.03755 1.03453 1.03936 -1.03212 1.03816 1.02124 1.02849 1.02547 1.02849 1.02124 1.02245 -1.02124 1.01883 1.01641 1.01943 1.01279 1.01218 1.01943 1.02547 -1.02124 1.02124 1.02124 1.01702 1.02185 1.02849 1.02789 1.03151 -1.04118 1.02728 1.02124 1.02426 1.03634 1.03453 1.02426 1.03151 -1.02487 1.02185 1.02366 1.02185 1.01218 1.01581 1.01339 1.02124 -1.02366 1.02487 1.0291 1.02245 1.02789 1.0303 1.02728 1.03755 -1.04238 1.04238 1.05265 0.52675 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00200667 0.00100333 0.00301 0.0100333 0.00903 0.00602 0 0 -0.00301 0.00702333 0.00100333 0 0 0 0.00200667 0 -0 0.00602 0.00802667 0.00401333 0 0.00200667 0.00802667 0.00702333 -0.00100333 0 0 0 0 0 0 0.00602 -0.00200667 0 0 0 0 0 0 0 -0.00100333 0 0.00501667 0 0 0 0 0 -0 0 0 0.00301 0.00100333 0.00301 0.00501667 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0.42742 1.05507 1.04661 1.04299 1.03212 -1.0291 1.02668 1.02487 1.01943 1.02547 1.02608 1.02608 1.01762 -1.02064 1.02245 1.02608 1.02668 1.03514 1.03332 1.02306 0.845432 -0.506683 0.432437 0.441467 0.456517 0.447487 0.446483 0.432437 0.470563 -0.629048 0.974132 1.03574 1.0303 1.02608 1.02668 1.02849 1.03212 -1.02547 0.977756 1.02064 1.02547 1.02608 1.01943 1.02064 1.03272 -1.0303 1.03151 1.03453 0.943328 0.366217 0.131437 0.116387 0.11739 -0.1204 0.12642 0.113377 0.124413 0.13846 0.37926 0.957824 1.04118 -1.03332 1.02547 1.02366 1.02366 1.02064 1.0146 1.02849 1.014 -1.03212 1.01822 1.02004 1.03091 1.02245 1.01098 1.01641 1.02306 -1.0152 1.02608 1.02728 1.02124 1.01279 1.01883 1.02124 1.02668 -1.02064 1.02245 1.01883 1.02064 1.01883 1.01641 1.0297 1.0152 -1.01762 1.01762 1.01641 1.01943 1.01762 1.0146 1.02547 1.02245 -1.01883 1.01339 1.02789 1.01581 1.03212 1.01339 1.0291 1.04178 -1.03574 1.04359 1.04178 1.04118 1.04178 1.02245 1.03091 1.04118 -1.04299 1.04661 1.0448 1.03151 1.02426 1.03151 1.02668 1.01762 -1.01943 1.02064 1.0297 1.01762 1.01702 1.02004 1.02366 1.02366 -1.01641 1.01822 1.02547 1.02608 1.03212 1.03212 1.0152 0.942724 -0.742392 0.626472 0.593973 0.663824 0.796488 0.956616 1.01822 1.03272 -1.0291 1.02728 1.02668 1.02185 1.01762 1.01339 1.02185 1.01883 -1.0146 1.01339 1.0146 1.02004 1.02366 1.0303 1.02849 1.03755 -1.03936 1.04722 1.05567 0.613592 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.00301 0 -0 0 0 0 0 0 0 0.00200667 -0.00401333 0 0 0 0.00200667 0.00401333 0.00200667 0 -0 0 0.00501667 0.00501667 0.00903 0.00401333 0 0 -0.00100333 0.00200667 0.00200667 0 0 0 0 0 -0 0 0.00200667 0.00100333 0 0 0.00301 0.00200667 -0 0 0 0 0.00100333 0.00301 0 0 -0 0 0.00100333 0 0 0 0.00200667 0.00501667 -0 0 0.00301 0 0 0 0 0 -0 0 0 0.483607 1.05386 1.04238 1.03212 1.0291 -1.0297 1.02366 1.02426 1.01702 1.02004 1.02366 1.02004 1.02185 -1.02849 1.02124 1.01943 1.0152 1.02487 1.02608 0.822248 0.477587 -0.450497 0.44247 0.45752 0.46053 0.4515 0.46655 0.45752 0.452503 -0.452503 0.552837 0.976548 1.03876 1.0297 1.02004 1.01943 1.014 -1.02306 0.983796 1.02366 1.02849 1.02185 1.02004 1.02547 1.02608 -1.03816 1.03393 0.956616 0.293977 0.116387 0.13846 0.148493 0.13545 -0.125417 0.110367 0.130433 0.137457 0.128427 0.11438 0.31605 0.965676 -1.03695 1.03393 1.03272 1.01822 1.02245 1.01883 1.02124 1.02608 -1.014 1.01641 1.02608 1.02366 1.02185 1.00796 1.02185 1.02004 -1.01883 1.02789 1.02306 1.01581 1.01762 1.01943 1.0297 1.02245 -1.02185 1.01762 1.00856 1.01762 1.02124 1.02306 1.0297 1.02004 -1.02004 1.03332 1.02487 1.02487 1.02608 1.01581 1.0152 1.02064 -1.02426 1.02668 1.02608 1.02426 1.02306 1.03574 1.03876 1.03332 -1.03453 1.0297 0.934268 0.602 0.399327 0.31605 0.335113 0.483607 -0.765576 1.00252 1.03936 1.03574 1.0303 1.02789 1.02608 1.01822 -1.01762 1.01883 1.02064 1.02366 1.01883 1.0152 1.02306 1.0152 -1.02426 1.02426 1.03151 1.0303 1.03514 0.967488 0.650944 0.48461 -0.443473 0.435447 0.43946 0.440463 0.432437 0.491633 0.71792 0.985608 -1.03151 1.02487 1.02487 1.02728 1.02245 1.01762 1.02306 1.01702 -1.01822 1.01581 1.02004 1.02306 1.02245 1.0297 1.02306 1.02789 -1.03393 1.0448 1.05628 0.693448 0 0 0 0 -0 0 0 0 0 0.00301 0 0.00602 -0 0 0 0 0 0 0.00802667 0.00903 -0.00301 0.00401333 0 0 0 0 0.00301 0.00100333 -0 0 0 0.00301 0 0 0.00200667 0.00401333 -0 0 0 0 0 0 0.00200667 0 -0 0 0.00301 0.00100333 0 0 0 0.00401333 -0.00200667 0 0 0 0.00200667 0.00100333 0 0 -0 0 0 0 0.00100333 0.00200667 0.00501667 0.00501667 -0 0 0 0 0.00401333 0.00903 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0.534777 1.06111 1.0448 1.03997 1.03393 -1.02547 1.02426 1.02487 1.02185 1.02306 1.01943 1.01581 1.01702 -1.02547 1.02426 1.0297 1.03574 1.0297 0.929436 0.50267 0.441467 -0.452503 0.456517 0.452503 0.46053 0.476583 0.47859 0.476583 0.479593 -0.46053 0.447487 0.593973 1.014 1.03574 1.03453 1.02608 1.02487 -1.0146 0.994064 1.03091 1.02366 1.02426 1.02124 1.03212 1.03876 -1.04238 1.01822 0.441467 0.11137 0.139463 0.149497 0.1505 0.151503 -0.146487 0.13846 0.137457 0.148493 0.130433 0.130433 0.112373 0.461533 -1.02064 1.03876 1.03574 1.03695 1.02366 1.02124 1.02487 1.03151 -1.01822 1.02004 1.01883 1.01641 1.02124 1.0291 1.01339 1.02608 -1.01702 1.02004 1.03574 1.01943 1.02728 1.02004 1.00856 1.01822 -1.02064 1.02004 1.02668 1.02004 1.01702 1.00554 1.02004 1.01762 -1.01641 1.0291 1.02245 1.02306 1.02306 1.01581 1.02547 1.02789 -1.02547 1.02004 1.02789 1.01641 1.0291 1.0291 1.0297 1.03212 -0.983192 0.528757 0.197657 0.12341 0.121403 0.122407 0.11137 0.11438 -0.113377 0.29197 0.810656 1.0454 1.03816 1.04118 1.03453 1.02547 -1.02849 1.02124 1.02547 1.02608 1.02366 1.01702 1.02245 1.02668 -1.02064 1.03151 1.02728 1.03453 0.947556 0.527753 0.4515 0.44849 -0.453507 0.468557 0.465547 0.452503 0.438457 0.447487 0.441467 0.578923 -0.978964 1.03151 1.02668 1.0152 1.01822 1.02004 1.02487 1.02185 -1.02245 1.02306 1.02608 1.02245 1.02064 1.01702 1.02366 1.03332 -1.03514 1.03634 1.05144 0.763 0 0 0 0 -0 0 0 0.00200667 0.00401333 0 0 0 -0 0.00903 0.00602 0 0 0 0 0 -0 0 0 0.00401333 0.01204 0.0100333 0.00301 0 -0 0.00501667 0.00401333 0.00301 0.00401333 0.00301 0 0 -0 0 0 0.00100333 0.00100333 0 0 0.00401333 -0.00401333 0 0 0 0 0 0 0 -0 0.00802667 0.00903 0.00501667 0.00200667 0 0 0.00401333 -0 0 0 0.00200667 0 0 0 0.00100333 -0.00702333 0.00200667 0.00401333 0.00401333 0 0 0 0.00501667 -0 0 0 0 0 0 0 0 -0 0 0 0.570897 1.0605 1.04842 1.03755 1.02849 -1.02849 1.02608 1.02668 1.03272 1.02004 1.02426 1.0303 1.01641 -1.02185 1.01943 1.01883 1.02728 1.01581 0.630336 0.459527 0.456517 -0.459527 0.46053 0.459527 0.480597 0.471567 0.470563 0.464543 0.46956 -0.45752 0.461533 0.459527 0.871192 1.03997 1.03695 1.0303 1.02487 -1.01581 1.00796 1.02185 1.02728 1.02004 1.01943 1.0297 1.03514 -1.04963 0.845432 0.151503 0.106353 0.13846 0.164547 0.164547 0.148493 -0.16555 0.1505 0.15652 0.139463 0.133443 0.146487 0.13545 0.173577 -0.87892 1.0442 1.03393 1.02306 1.0291 1.02668 1.02789 1.02426 -1.02004 1.02487 1.02547 1.01762 1.02185 1.02064 1.02306 1.01822 -1.02124 1.03151 1.02245 1.02426 1.02306 1.0146 1.0297 1.01641 -1.00554 1.02426 1.01762 1.01943 1.0152 1.02668 1.01883 1.03091 -1.02789 1.02185 1.0291 1.01339 1.02124 1.02064 1.02004 1.02124 -1.02668 1.02668 1.01943 1.03393 1.03634 1.03212 1.03393 0.981984 -0.390297 0.12341 0.124413 0.148493 0.128427 0.1505 0.14448 0.133443 -0.124413 0.119397 0.172573 0.712768 1.03574 1.03695 1.02789 1.02245 -1.02608 1.02668 1.02789 1.0152 1.02547 1.01943 1.02124 1.02728 -1.02306 1.02668 1.03453 0.988628 0.534777 0.444477 0.44247 0.46655 -0.47558 0.48461 0.471567 0.45752 0.462537 0.470563 0.456517 0.44849 -0.641928 1.01641 1.03272 1.02728 1.02366 1.02185 1.02366 1.01943 -1.02124 1.03091 1.01883 1.0146 1.0146 1.02366 1.03332 1.03272 -1.03816 1.04661 1.06111 0.819672 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0.0130433 0.00501667 0 0 0 -0 0 0.00200667 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00200667 0.00602 0.00802667 0.0110367 0 0 0.00301 0 -0 0 0.00602 0.00702333 0.00602 0.00401333 0 0 -0 0 0 0 0.00301 0.00501667 0.00401333 0 -0.00100333 0.00702333 0.00702333 0.00200667 0.00401333 0.00200667 0.00200667 0 -0.00100333 0.00702333 0.00301 0.00100333 0.00301 0.00602 0 0 -0.0110367 0.00100333 0 0 0 0 0 0 -0 0 0 0.582937 1.04842 1.03936 1.03332 1.03936 -1.03091 1.01943 1.01762 1.01822 1.0297 1.02124 1.01943 1.02789 -1.02245 1.02004 1.01762 1.0291 0.958428 0.479593 0.444477 0.446483 -0.450497 0.464543 0.47257 0.467553 0.483607 0.470563 0.482603 0.474577 -0.446483 0.449493 0.45752 0.625184 1.02185 1.03453 1.02849 1.01883 -1.0146 1.00856 1.02608 1.02789 1.0152 1.02547 1.02668 1.03453 -1.03212 0.492637 0.112373 0.133443 0.154513 0.149497 0.16555 0.170567 -0.15953 0.166553 0.161537 0.145483 0.161537 0.139463 0.13846 0.121403 -0.52976 1.04299 1.03514 1.03151 1.01943 1.02245 1.02789 1.01762 -1.02426 1.02668 1.01822 1.01822 1.01641 1.02004 1.02064 1.02789 -1.01098 1.02608 1.02728 1.02426 1.02306 1.02366 1.014 1.01279 -1.01762 1.02064 1.0303 1.0152 1.02426 1.02004 1.0152 1.01762 -1.01822 1.02064 1.01883 1.02185 1.01641 1.0303 1.014 1.02487 -1.02124 1.01822 1.02245 1.02668 1.02487 1.04057 1.02185 0.500663 -0.121403 0.134447 0.14448 0.142473 0.155517 0.155517 0.167557 0.163543 -0.146487 0.13244 0.125417 0.197657 0.87892 1.04722 1.03574 1.02849 -1.01581 1.0297 1.02426 1.02124 1.03212 1.0146 1.01641 1.03514 -1.03091 1.03212 1.02426 0.753984 0.44849 0.46655 0.447487 0.482603 -0.486617 0.471567 0.46655 0.48762 0.46655 0.45752 0.465547 0.446483 -0.464543 0.85316 1.0297 1.02487 1.02245 1.02608 1.02004 1.02064 -1.02306 1.01702 1.01822 1.02124 1.02608 1.02849 1.02608 1.0297 -1.03997 1.04359 1.05507 0.863464 0.00501667 0 0 0 -0 0 0 0.00100333 0.00702333 0.00401333 0.00501667 0.00301 -0 0 0 0 0 0.00100333 0.00602 0.00301 -0.00501667 0.00602 0 0 0 0.00100333 0.00301 0 -0 0 0 0 0 0.00501667 0.00401333 0.00100333 -0.00602 0.00200667 0 0 0 0 0.00200667 0.00401333 -0.00401333 0.00401333 0 0 0 0 0 0.00301 -0.00200667 0.00401333 0.00602 0.00100333 0 0 0.00100333 0.00501667 -0.00301 0 0 0 0 0 0.00100333 0 -0.00100333 0 0.00100333 0 0 0 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0.62132 1.06352 1.04661 1.03332 1.02487 -1.02426 1.02789 1.02306 1.02245 1.01762 1.02124 1.02245 1.02245 -1.02306 1.02366 1.0297 1.02789 0.826112 0.44247 0.459527 0.455513 -0.46956 0.46655 0.480597 0.47859 0.477587 0.456517 0.485613 0.480597 -0.473573 0.462537 0.447487 0.524743 0.995272 1.03272 1.03876 1.02547 -1.01822 1.0152 1.03332 1.02789 1.02608 1.02185 1.03212 1.03332 -1.01037 0.31003 0.125417 0.137457 0.140467 0.158527 0.16254 0.154513 -0.15351 0.14749 0.15652 0.15652 0.166553 0.149497 0.122407 0.116387 -0.351167 1.0291 1.04178 1.03514 1.02608 1.01883 1.01883 1.01883 -1.01339 1.02306 1.01822 1.02366 1.02245 1.02487 1.02245 1.02728 -1.03091 1.01943 1.01762 1.0146 1.02245 1.01762 1.02185 1.03151 -1.02306 1.02306 1.02608 1.02185 1.02426 1.02245 1.00071 1.01641 -1.03755 1.01943 1.0146 1.03091 1.01641 1.01702 1.02004 1.02124 -1.02245 1.02547 1.03212 1.02728 1.04299 1.03876 0.828688 0.16555 -0.09933 0.119397 0.146487 0.14749 0.164547 0.13846 0.158527 0.154513 -0.15652 0.143477 0.14749 0.116387 0.383273 1.01037 1.03151 1.04722 -1.03212 1.02064 1.02426 1.02064 1.01279 1.02004 1.02849 1.02306 -1.0291 1.02849 0.995272 0.52073 0.4515 0.459527 0.464543 0.480597 -0.482603 0.467553 0.471567 0.482603 0.480597 0.488623 0.45451 0.447487 -0.43043 0.5719 1.01581 1.02426 1.02185 1.02306 1.02124 1.01883 -1.02064 1.02185 1.014 1.02064 1.02487 1.02306 1.02849 1.03091 -1.03634 1.03936 1.04842 0.86604 0.00501667 0 0 0 -0 0 0 0.00100333 0 0.00100333 0 0 -0.00100333 0.00401333 0 0.00100333 0.00802667 0.0100333 0.0100333 0.00802667 -0.00501667 0.00301 0 0 0.00200667 0 0 0 -0.00200667 0 0.00401333 0.0110367 0.00602 0 0 0 -0 0 0.00200667 0.00200667 0 0 0 0.00100333 -0 0 0 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0.0110367 0.0130433 0.01204 0.00802667 0 0 -0 0 0 0.00301 0.00903 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.618744 1.05205 1.0442 1.04178 1.03514 -1.03816 1.02547 1.02487 1.01943 1.02306 1.01822 1.02124 1.01641 -1.02245 1.02245 1.02487 1.02849 0.765576 0.44548 0.437453 0.45451 -0.474577 0.477587 0.47558 0.46655 0.48461 0.476583 0.473573 0.482603 -0.485613 0.46354 0.44247 0.489627 0.974736 1.02728 1.02366 1.03151 -1.01641 1.01943 1.03091 1.02728 1.02668 1.02789 1.0303 1.03212 -1.00373 0.26488 0.121403 0.14448 0.16555 0.164547 0.154513 0.15351 -0.154513 0.17458 0.17157 0.15953 0.142473 0.14147 0.14147 0.119397 -0.29197 1.01218 1.01883 1.02728 1.02668 1.02849 1.02245 1.01218 -1.02366 1.02185 1.02668 1.02426 1.02004 1.02004 1.03393 1.014 -1.01883 1.01037 1.01339 1.02487 1.01943 1.02124 1.0152 0.986212 -1.01641 1.0297 1.02185 1.02487 1.0291 1.01943 1.02728 1.01641 -1.00977 1.02124 1.0146 1.01822 1.01822 1.02064 1.02245 1.02185 -1.03091 1.01943 1.01762 1.03997 1.03212 1.03997 0.46655 0.101337 -0.11739 0.11739 0.130433 0.14448 0.146487 0.172573 0.157523 0.15652 -0.15953 0.154513 0.13545 0.128427 0.148493 0.887936 1.04057 1.02789 -1.02366 1.02124 1.0291 1.0291 1.02426 1.02185 1.02547 1.02849 -1.02789 1.02849 0.939704 0.456517 0.450497 0.465547 0.468557 0.473573 -0.47558 0.483607 0.48461 0.47558 0.48461 0.47558 0.461533 0.456517 -0.46354 0.49063 0.973528 1.02487 1.02608 1.02185 1.02124 1.02124 -1.02245 1.02426 1.03332 1.03091 1.02366 1.02728 1.02366 1.02487 -1.03272 1.03634 1.05628 0.881496 0.0130433 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0 0 0 0 0.00100333 0 0 0 -0 0.00100333 0.00602 0.00100333 0.00100333 0.00602 0.00702333 0.00401333 -0.00602 0.00401333 0.00602 0.00200667 0.00401333 0.0100333 0.00802667 0.00501667 -0.00702333 0 0 0 0 0 0 0 -0 0.00401333 0.00501667 0.00200667 0 0 0.00401333 0.00802667 -0.00501667 0 0 0.00100333 0.00501667 0.00301 0.00200667 0 -0 0 0 0 0 0 0.00702333 0.00903 -0.00702333 0.00401333 0.00200667 0.00100333 0 0.00301 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0.639352 1.06473 1.04903 1.03695 1.02426 -1.02245 1.02064 1.01762 1.01883 1.02608 1.02547 1.02306 1.02487 -1.02185 1.02426 1.02608 1.0291 0.765576 0.440463 0.443473 0.464543 -0.465547 0.470563 0.471567 0.48461 0.47558 0.46655 0.477587 0.476583 -0.462537 0.473573 0.473573 0.510697 0.972924 1.02185 1.02668 1.03453 -1.00735 1.01279 1.01822 1.0291 1.02849 1.0303 1.02728 1.02728 -1.01158 0.299997 0.116387 0.140467 0.158527 0.154513 0.17458 0.157523 -0.16254 0.158527 0.16254 0.16254 0.148493 0.15953 0.142473 0.119397 -0.305013 1.02185 1.0303 1.02728 1.0297 1.01158 1.02064 1.02487 -1.01762 1.02306 1.02668 1.02426 1.02124 1.01218 1.0291 1.00916 -1.01641 1.02547 1.03272 1.00977 1.00977 1.03272 0.92702 0.25585 -0.964468 1.02426 1.02487 1.0152 1.01702 1.02728 1.02487 1.01037 -1.00735 1.02004 1.02366 1.02789 1.02004 1.02547 1.02124 1.01822 -1.014 1.03755 1.02728 1.02547 1.04057 0.991044 0.236787 0.104347 -0.124413 0.148493 0.148493 0.139463 0.146487 0.170567 0.164547 0.163543 -0.151503 0.140467 0.14448 0.13545 0.113377 0.638064 1.03212 1.02306 -1.03574 1.01943 1.02728 1.03091 1.02306 1.00856 1.01943 1.0297 -1.02185 1.03151 0.860888 0.435447 0.45752 0.486617 0.4816 0.476583 -0.485613 0.477587 0.48762 0.471567 0.485613 0.474577 0.455513 0.459527 -0.444477 0.45752 0.942724 1.03091 1.02245 1.02245 1.01762 1.02306 -1.01762 1.01702 1.02004 1.02487 1.02124 1.01943 1.02185 1.03393 -1.03816 1.0442 1.05265 0.881496 0.0100333 0 0 0 -0 0 0 0 0.00301 0 0 0 -0 0.00501667 0.00602 0 0 0 0 0 -0 0 0 0.00401333 0.00401333 0.00200667 0 0 -0 0 0 0 0.00100333 0 0 0 -0 0 0.00401333 0 0 0.00602 0 0 -0 0 0 0 0.00301 0.00602 0 0 -0 0.00401333 0.00702333 0.00100333 0 0 0.00200667 0.00602 -0 0 0 0 0 0 0 0 -0 0.00200667 0 0 0 0 0.00200667 0.00200667 -0.00702333 0.00602 0 0 0 0 0 0 -0 0 0 0.61488 1.05748 1.03936 1.03574 1.03393 -1.0291 1.02789 1.03212 1.02849 1.01581 1.02064 1.02789 1.02245 -1.02547 1.02306 1.01762 1.02064 0.87892 0.46053 0.447487 0.467553 -0.46354 0.471567 0.476583 0.47859 0.471567 0.474577 0.47257 0.482603 -0.476583 0.4515 0.455513 0.530763 1.00252 1.03332 1.02849 1.01822 -1.02124 1.00916 1.02124 1.02245 1.02789 1.03453 1.02789 1.03634 -1.02306 0.402337 0.130433 0.15652 0.151503 0.15351 0.1505 0.169563 -0.163543 0.1505 0.160533 0.155517 0.166553 0.124413 0.124413 0.130433 -0.461533 1.02608 1.04601 1.01762 1.02306 1.0297 1.02064 1.0152 -1.01943 1.02366 1.02426 1.01279 1.03574 1.02608 1.01943 1.02064 -1.02668 1.01762 1.01883 1.02004 1.0146 1.03151 1.00131 0.908544 -1.02849 1.02004 1.02064 1.02728 1.01339 1.03212 1.01762 1.02789 -1.02789 1.0146 1.0152 1.01883 1.00796 1.02668 1.01943 1.0303 -1.01702 1.01822 1.02426 1.03634 1.04118 0.957824 0.191637 0.106353 -0.140467 0.137457 0.143477 0.15351 0.155517 0.14448 0.149497 0.148493 -0.155517 0.14448 0.11739 0.118393 0.11438 0.51471 1.04238 1.0291 -1.03695 1.02789 1.03091 1.02306 1.01943 1.01943 1.01943 1.02668 -1.03212 1.04238 0.87892 0.456517 0.458523 0.464543 0.441467 0.45752 -0.486617 0.47859 0.479593 0.477587 0.482603 0.468557 0.455513 0.462537 -0.450497 0.46354 0.94212 1.02426 1.02608 1.01762 1.02245 1.02306 -1.01943 1.02245 1.01883 1.02547 1.0146 1.02185 1.02608 1.03816 -1.03876 1.04299 1.05326 0.851872 0.00301 0 0 0 -0 0 0 0 0 0.00301 0.00100333 0 -0.00200667 0.00100333 0 0 0 0 0.00401333 0 -0.00100333 0 0 0 0 0.00100333 0.00401333 0.00401333 -0.00401333 0.00301 0.00301 0 0.00200667 0.00301 0 0 -0 0 0 0 0 0 0.00401333 0.0110367 -0.00401333 0 0.00301 0 0 0 0 0.00301 -0.0100333 0.00100333 0 0 0.00200667 0.00501667 0 0 -0.00301 0.0100333 0.0100333 0.00903 0.00401333 0.00401333 0.00401333 0 -0 0 0 0 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.602 1.05567 1.04842 1.03997 1.03151 -1.0303 1.02366 1.02185 1.02306 1.02487 1.02004 1.01822 1.01581 -1.02547 1.02789 1.03393 1.02789 0.96628 0.49063 0.449493 0.46655 -0.46655 0.459527 0.476583 0.470563 0.473573 0.480597 0.480597 0.48461 -0.47257 0.452503 0.434443 0.663824 1.02608 1.02366 1.0291 1.02728 -1.02185 1.01218 1.01943 1.02185 1.01943 1.02487 1.03151 1.04118 -1.0442 0.684432 0.131437 0.13244 0.139463 0.14749 0.146487 0.142473 -0.160533 0.172573 0.146487 0.1505 0.164547 0.14749 0.12943 0.119397 -0.75012 1.04178 1.03816 1.02728 1.02728 1.02547 1.014 1.02668 -1.01641 1.02608 1.00977 1.03212 1.02426 1.02306 1.02124 1.01883 -1.01762 1.02366 1.014 1.02064 1.0297 1.02487 1.02245 1.0297 -1.01158 1.02004 1.01581 1.02185 1.03695 1.02426 1.00856 1.0152 -1.03091 1.02366 1.01943 1.0152 1.0146 1.01339 1.02245 1.0152 -1.02608 1.02306 1.03574 1.0442 1.04118 0.976548 0.20167 0.09933 -0.12341 0.131437 0.142473 0.139463 0.14749 0.14749 0.15652 0.152507 -0.14147 0.137457 0.149497 0.13545 0.127423 0.512703 1.03393 1.02547 -1.0297 1.03393 1.02547 1.02064 1.02306 1.0152 1.01883 1.02245 -1.03755 1.02547 0.934872 0.456517 0.456517 0.47257 0.45752 0.471567 -0.470563 0.480597 0.483607 0.477587 0.47257 0.461533 0.461533 0.44548 -0.431433 0.486617 0.971716 1.0297 1.01883 1.02547 1.02185 1.02245 -1.02728 1.01943 1.02185 1.01883 1.02426 1.03212 1.02728 1.03091 -1.04118 1.04359 1.05326 0.858312 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00602 -0.00100333 0 0.00501667 0.01204 0.01204 0.00802667 0.00200667 0.00702333 -0 0 0 0.01204 0.0140467 0.00301 0 0 -0 0 0.00501667 0.00100333 0 0 0 0 -0.00100333 0 0.00200667 0 0 0 0 0 -0 0 0 0.00401333 0.00401333 0.00301 0.00100333 0 -0 0 0.00200667 0.00301 0 0 0.00301 0.00702333 -0.00301 0 0 0 0 0 0 0.00401333 -0.00200667 0.00802667 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.58394 1.05809 1.04238 1.03212 1.03332 -1.0297 1.0291 1.01762 1.01641 1.02185 1.0291 1.02245 1.02789 -1.02185 1.02064 1.02487 1.02789 1.01943 0.687008 0.444477 0.452503 -0.458523 0.46956 0.465547 0.473573 0.46956 0.464543 0.45752 0.467553 -0.46354 0.456517 0.465547 0.934268 1.03816 1.0297 1.02185 1.02426 -1.014 1.01702 1.01822 1.0291 1.0297 1.02547 1.02789 1.02547 -1.03574 0.983192 0.27993 0.1204 0.122407 0.14147 0.145483 0.16856 -0.179597 0.175583 0.160533 0.148493 0.127423 0.12642 0.12642 0.30702 -1.00977 1.04299 1.03151 1.03393 1.02366 1.02185 1.03091 1.02004 -1.01581 1.01098 1.03212 1.02668 1.0146 1.01822 1.01943 1.01702 -1.01702 1.00433 1.01581 1.0152 1.03212 1.03091 1.01943 1.01762 -1.02004 1.02004 1.0291 1.02004 1.02728 1.01943 1.01279 1.02728 -1.01702 1.01762 1.0297 1.02124 1.01158 1.01339 1.02728 1.02668 -1.02608 1.02849 1.01883 1.03514 1.03393 1.00071 0.25284 0.140467 -0.131437 0.151503 0.16555 0.14448 0.13545 0.146487 0.14448 0.14147 -0.145483 0.152507 0.136453 0.121403 0.110367 0.612304 1.03453 1.0291 -1.03816 1.02547 1.02728 1.01822 1.02426 1.00494 1.02366 1.02306 -1.02608 1.0291 0.988024 0.52675 0.473573 0.470563 0.465547 0.465547 -0.483607 0.473573 0.476583 0.47558 0.49063 0.464543 0.452503 0.444477 -0.440463 0.591967 1.01218 1.03332 1.03272 1.03332 1.03151 1.02245 -1.01641 1.02426 1.01883 1.02668 1.02185 1.01822 1.02366 1.0297 -1.03212 1.03936 1.05809 0.826112 0 0 0 0 -0 0 0 0 0 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0.01204 0.0200667 0.0110367 0.00200667 0 0.00200667 0.00301 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00200667 -0.00200667 0 0 0 0.00100333 0.00401333 0 0 -0 0.00100333 0.00401333 0.00702333 0.00200667 0.00200667 0.00401333 0.00602 -0.00200667 0 0 0.00200667 0 0 0 0.00100333 -0.00301 0.00200667 0 0 0 0 0 0 -0 0 0 0.548823 1.05748 1.0454 1.03997 1.03272 -1.02366 1.02487 1.02366 1.02547 1.01943 1.02064 1.02668 1.01943 -1.02064 1.02547 1.02849 1.03453 1.03332 0.9693 0.50869 0.43043 -0.444477 0.459527 0.462537 0.46053 0.461533 0.462537 0.47257 0.476583 -0.464543 0.45451 0.701176 1.02728 1.02849 1.02124 1.0291 1.02185 -1.01943 1.014 1.0291 1.02487 1.02487 1.01762 1.01943 1.03091 -1.03332 1.04178 0.787472 0.17759 0.106353 0.134447 0.133443 0.139463 -0.14749 0.157523 0.136453 0.137457 0.143477 0.119397 0.184613 0.849296 -1.04238 1.0291 1.03272 1.02124 1.03272 1.02849 1.02004 1.01822 -1.01762 1.01339 1.0152 1.01762 1.01943 1.0303 1.02004 1.02426 -1.01641 1.01822 1.02728 1.014 1.01822 1.01702 1.02306 1.02608 -1.0291 1.02124 1.03151 1.01641 1.02064 1.014 1.02004 1.02366 -1.01822 1.01279 1.02789 1.02004 1.02608 1.02547 1.01822 1.02608 -1.02547 1.02608 1.02245 1.02608 1.03514 1.03574 0.453507 0.112373 -0.118393 0.143477 0.15953 0.148493 0.14147 0.14749 0.142473 0.14749 -0.133443 0.143477 0.122407 0.113377 0.1505 0.86604 1.03393 1.03393 -1.03453 1.02124 1.01581 1.02608 1.02849 1.00312 1.0146 1.02547 -1.03151 1.02728 1.02728 0.690872 0.453507 0.452503 0.489627 0.473573 -0.46053 0.464543 0.468557 0.476583 0.47859 0.47257 0.46053 0.447487 -0.449493 0.8274 1.0291 1.02789 1.0146 1.01641 1.01883 1.01943 -1.02124 1.02547 1.01883 1.01943 1.02124 1.02426 1.0303 1.03393 -1.04178 1.04661 1.05024 0.770728 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0 0.00100333 0.00602 0.00702333 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0.00401333 0.00802667 0.00602 0.00702333 -0.00301 0 0 0 0 0 0.00200667 0.00100333 -0.00200667 0.00301 0 0.00100333 0.00501667 0.00200667 0 0 -0 0.00200667 0.00602 0 0 0 0 0 -0 0 0 0.00200667 0.00702333 0.00903 0.00401333 0.00200667 -0.00200667 0.00702333 0.00702333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.527753 1.05809 1.04601 1.03755 1.0297 -1.02849 1.0297 1.02547 1.01943 1.01943 1.02728 1.02426 1.01641 -1.01822 1.02004 1.01762 1.02728 1.02608 1.0297 0.929436 0.518723 -0.435447 0.43645 0.43645 0.461533 0.464543 0.462537 0.465547 0.461533 -0.45752 0.648368 1.00735 1.03695 1.03453 1.02849 1.0291 1.02547 -1.02064 1.00977 1.02004 1.02004 1.01883 1.02064 1.02668 1.02668 -1.03574 1.03755 1.02547 0.683144 0.18662 0.115383 0.121403 0.1204 -0.136453 0.134447 0.12943 0.130433 0.11739 0.200667 0.755272 1.04178 -1.04238 1.03997 1.0297 1.02849 1.0152 1.01883 1.01158 1.02426 -1.03514 1.01702 1.0146 1.0146 1.02124 1.02185 1.01702 1.01762 -1.02849 1.02547 1.01339 1.02245 1.00977 1.02668 1.01581 1.02366 -1.02547 1.02608 1.02487 1.01822 1.02245 1.01581 1.00735 1.0291 -1.01822 1.02245 1.02185 1.02064 1.014 1.02547 1.01158 1.0303 -1.02426 1.02668 1.02064 1.02547 1.0297 1.04842 0.844144 0.152507 -0.112373 0.136453 0.139463 0.140467 0.14749 0.143477 0.148493 0.137457 -0.149497 0.130433 0.112373 0.0973233 0.3612 1.01218 1.04238 1.03091 -1.0291 1.01641 1.01037 1.03272 1.02728 0.997688 1.02668 1.02789 -1.02789 1.02789 1.03091 0.962052 0.518723 0.456517 0.4515 0.458523 -0.462537 0.468557 0.46956 0.479593 0.485613 0.458523 0.456517 0.440463 -0.593973 1.00554 1.03212 1.01822 1.014 1.0297 1.02124 1.01098 -1.02185 1.01883 1.02426 1.02728 1.02789 1.03091 1.03393 1.03514 -1.03393 1.03574 1.05446 0.726936 0 0 0 0 -0 0 0 0 0 0.00401333 0 0 -0.00301 0 0 0 0.00200667 0 0 0 -0 0.00501667 0 0 0 0 0 0.00200667 -0.00200667 0.00301 0.00401333 0.00301 0.00100333 0.00200667 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.0110367 0.0100333 0.00200667 0 0 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0.477587 1.0593 1.04782 1.03876 1.03393 -1.02668 1.02547 1.02608 1.02245 1.02004 1.02608 1.02366 1.01943 -1.01702 1.02608 1.02185 1.02245 1.02426 1.0297 1.03634 0.956012 -0.620032 0.461533 0.437453 0.437453 0.450497 0.44849 0.455513 0.509693 -0.792624 1.01158 1.02789 1.03151 1.03574 1.02487 1.0291 1.02185 -1.01702 1.01883 1.02306 1.02547 1.02185 1.02185 1.02849 1.02245 -1.02728 1.03514 1.04178 1.03453 0.864752 0.378257 0.161537 0.11137 -0.11438 0.106353 0.104347 0.17458 0.417387 0.912408 1.04963 1.03755 -1.03514 1.02728 1.02487 1.02004 1.02124 1.01883 1.02728 1.00916 -1.02004 1.02547 1.02668 1.01581 1.01158 1.02064 1.02245 1.03272 -1.02366 1.01822 1.01641 1.02124 1.02245 1.01943 1.01822 1.01581 -1.01158 1.01883 1.02487 1.0146 1.01943 1.02789 1.03151 1.02245 -1.02306 1.01339 1.01158 1.02426 1.02185 1.02426 1.02608 1.01762 -1.01822 1.01762 1.02789 1.02668 1.03151 1.03755 1.03574 0.471567 -0.112373 0.131437 0.122407 0.119397 0.131437 0.133443 0.15652 0.13846 -0.134447 0.10535 0.10234 0.188627 0.876344 1.04842 1.02306 1.01943 -1.02366 1.03332 1.02728 1.02004 1.02245 0.98742 1.0291 1.02728 -1.02608 1.02366 1.02789 1.02849 0.868616 0.461533 0.456517 0.471567 -0.455513 0.45451 0.461533 0.459527 0.473573 0.459527 0.458523 0.548823 -0.96024 1.02849 1.02789 1.02245 1.02064 1.01702 1.02185 1.02426 -1.02185 1.02487 1.01762 1.02668 1.03151 1.02728 1.0291 1.02426 -1.03574 1.05205 1.05748 0.65352 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0.00802667 0.00301 0 0.00200667 0.00501667 0 -0 0 0.00401333 0.00802667 0.00501667 0 0.00200667 0.00501667 -0 0.00100333 0.00401333 0.00501667 0.00301 0 0.00100333 0 -0 0 0 0 0 0 0.00401333 0.00702333 -0.00301 0 0 0.00100333 0 0 0 0 -0 0 0.00301 0 0.00401333 0.0100333 0.01204 0.00602 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.01204 0.0100333 0.0160533 -0.0100333 0 0 0 0 0 0 0 -0 0 0 0.42441 1.04601 1.04238 1.04057 1.03755 -1.03393 1.02789 1.02064 1.02608 1.02426 1.01883 1.0152 1.01883 -1.01581 1.01702 1.02004 1.01279 1.02306 1.02426 1.02728 1.03151 -1.02185 0.9391 0.770728 0.64064 0.59899 0.638064 0.787472 0.98138 -1.03151 1.03453 1.03091 1.02487 1.01581 1.02426 1.02547 1.02608 -1.02547 1.01762 1.01641 1.02366 1.0303 1.02426 1.02668 1.02366 -1.02306 1.02849 1.02245 1.03453 1.03574 1.0146 0.925208 0.677992 -0.545813 0.552837 0.681856 0.937288 1.03332 1.04782 1.03936 1.02668 -1.02185 1.0146 1.02306 1.02245 1.02245 1.01581 1.02004 1.02366 -1.02306 1.01641 1.01702 1.02728 1.02245 1.00614 1.02245 1.02728 -1.02789 1.02245 1.02849 1.01581 1.01883 1.01822 1.01762 1.01762 -1.02487 1.01641 1.01339 1.02366 1.01158 1.01943 1.0152 1.01581 -1.02185 1.02366 1.02728 1.02426 1.02185 1.01822 1.01762 1.01943 -1.02789 1.02124 1.01943 1.02789 1.0303 1.03876 1.05205 0.994668 -0.420397 0.13244 0.113377 0.137457 0.136453 0.143477 0.13545 0.11739 -0.125417 0.12642 0.187623 0.707616 1.02426 1.03453 1.0291 1.02789 -1.03091 1.0291 1.03332 1.02547 1.02366 0.989232 1.01641 1.02426 -1.02849 1.02547 1.02547 1.03755 1.03151 0.924604 0.537787 0.465547 -0.468557 0.446483 0.428423 0.43344 0.44849 0.482603 0.681856 0.96628 -1.02366 1.01762 1.01943 1.0297 1.02789 1.02245 1.03091 1.01702 -1.01279 1.02064 1.02185 1.02547 1.02306 1.01641 1.02547 1.03634 -1.03997 1.04661 1.05748 0.58093 0 0 0 0 -0 0 0 0 0 0 0.00501667 0 -0.00100333 0 0 0.00100333 0.00301 0 0 0 -0 0 0 0 0 0.00200667 0.00301 0.00301 -0.00702333 0.00501667 0.00100333 0 0 0 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0.00200667 0.00200667 0 0 0 0.00301 0.00401333 -0.00100333 0 0 0 0 0 0 0 -0 0.00602 0.0100333 0.00903 0.00702333 0.00602 0 0 -0 0 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.378257 1.05326 1.04661 1.03876 1.03453 -1.03091 1.02426 1.01581 1.02366 1.02185 1.02306 1.01883 1.02668 -1.02547 1.02245 1.01581 1.02004 1.01883 1.0152 1.02306 1.03091 -1.0297 1.02728 1.0297 1.03212 1.02668 1.02849 1.02789 1.02789 -1.02487 1.03453 1.02849 1.02789 1.01762 1.0152 1.01098 1.01822 -1.01822 1.01641 1.01581 1.01641 1.02306 1.02064 1.02185 1.01822 -1.02366 1.03151 1.03091 1.03151 1.03755 1.04118 1.04359 1.03936 -1.04178 1.04661 1.05205 1.0454 1.03393 1.03514 1.03272 1.01762 -1.02547 1.0297 1.02849 1.0152 1.02608 1.01762 1.0152 1.01641 -1.02124 1.01822 1.02366 1.01279 1.02487 1.02306 1.02306 1.01098 -1.01641 1.02245 1.01702 1.01098 1.02245 1.02124 1.01883 1.02124 -1.00614 1.01702 1.02426 1.02124 1.01641 1.03151 1.03393 1.01279 -1.00856 1.01218 1.02487 1.02064 1.02728 1.02064 1.01702 1.02789 -1.01581 1.02306 1.02608 1.02306 1.02306 1.02849 1.03212 1.05265 -0.997688 0.540797 0.203677 0.127423 0.12943 0.113377 0.10836 0.0903 -0.140467 0.3311 0.809368 1.0297 1.03453 1.03695 1.03212 1.03272 -1.02728 1.01158 1.02608 1.02426 1.0146 0.99648 1.01581 1.03272 -1.0291 1.02728 1.02547 1.02849 1.03212 1.02789 1.00131 0.84028 -0.617456 0.506683 0.52374 0.581933 0.728224 0.943328 1.02789 1.03212 -1.0297 1.02608 1.02668 1.01339 1.0146 1.01218 1.01702 1.01581 -1.02849 1.02608 1.02608 1.02245 1.02004 1.0297 1.0291 1.03393 -1.04057 1.0454 1.05084 0.494643 0 0 0 0 -0 0 0 0.00301 0 0 0 0 -0 0 0 0 0.00301 0 0.00301 0.00602 -0.00401333 0.00100333 0.00200667 0.00301 0.00100333 0 0 0 -0 0 0 0 0 0 0 0.00702333 -0.00602 0.00301 0 0 0 0 0.00100333 0.00200667 -0.00301 0 0 0.00100333 0.00501667 0.00301 0 0 -0 0.00200667 0.00501667 0.00501667 0.00100333 0.00401333 0.0140467 0.00602 -0 0 0 0 0.00100333 0 0.00100333 0.00301 -0.00100333 0 0 0 0.00200667 0 0 0 -0 0 0 0.00200667 0.00301 0 0 0 -0 0 0 0.301 1.04722 1.04722 1.02789 1.02245 -1.02426 1.02366 1.02366 1.02064 1.02245 1.01702 1.0152 1.01943 -1.02245 1.02366 1.02306 1.02185 1.02426 1.02487 1.02547 1.01762 -1.02547 1.02789 1.0303 1.02306 1.02487 1.02728 1.0303 1.02849 -1.02608 1.02547 1.02426 1.02668 1.02185 1.03212 1.02608 1.02547 -1.02547 1.01943 1.02185 1.02064 1.01883 1.02064 1.03453 1.0291 -1.03514 1.02366 1.01943 1.02064 1.02728 1.01943 1.0303 1.03634 -1.04118 1.03514 1.03695 1.0297 1.02487 1.03091 1.02608 1.0297 -1.0297 1.0291 1.02185 1.03151 1.02185 1.01641 1.02064 1.02306 -1.01943 1.03393 1.01822 1.00977 1.02245 1.01158 1.02004 1.01822 -1.02064 1.0146 1.02789 1.02306 1.00916 1.02245 1.01581 1.01943 -1.02124 1.01883 1.00916 1.02426 1.02124 1.01218 1.01641 1.02366 -1.02608 1.01822 1.01581 1.01702 1.01762 1.02426 1.02426 1.02185 -1.01822 1.02426 1.01702 1.03332 1.02185 1.03091 1.03634 1.03393 -1.0448 1.03936 0.945744 0.581933 0.393307 0.329093 0.34314 0.471567 -0.744968 0.998292 1.03755 1.04118 1.0303 1.03272 1.02487 1.01943 -1.01943 1.02426 1.02124 1.02487 1.00433 1.00856 1.02849 1.02487 -1.02185 1.01762 1.02668 1.03332 1.02728 1.02426 1.04118 1.02789 -1.02668 1.01158 1.01218 1.02124 1.02366 1.02245 1.02608 1.02426 -1.02728 1.0152 1.0152 1.0152 1.02608 1.02547 1.02547 1.02728 -1.02728 1.0146 1.0146 1.02185 1.01822 1.02124 1.02487 1.03272 -1.03574 1.04661 1.05688 0.416383 0 0 0 0 -0 0 0 0 0.00200667 0.00602 0.00100333 0.00100333 -0 0 0 0 0 0 0.00100333 0 -0.00401333 0.00602 0.0100333 0.00501667 0.00100333 0 0 0 -0.00200667 0.00602 0.00702333 0.00802667 0.00702333 0.00702333 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00602 0.0100333 0.00903 0.00200667 0 0.00200667 0.00301 0.00702333 -0.00602 0.00401333 0.00602 0.00602 0 0 0 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0.250833 1.04359 1.0448 1.04903 1.03816 -1.02426 1.02547 1.02245 1.02306 1.01883 1.02487 1.02426 1.0152 -1.01339 1.01581 1.02245 1.0297 1.02728 1.01641 1.01581 1.01762 -1.02245 1.02185 1.02306 1.03212 1.03091 1.02306 1.02426 1.02306 -1.02306 1.02185 1.02789 1.02366 1.0146 1.01762 1.0146 1.01943 -1.02366 1.0146 1.014 1.02306 1.02668 1.02728 1.01822 1.02185 -1.0297 1.01883 1.0291 1.02366 1.02306 1.02608 1.02668 1.02426 -1.014 1.02185 1.02849 1.02306 1.03634 1.02608 1.01581 1.02487 -1.02608 1.02668 1.01943 1.03091 1.01762 1.0303 1.02789 1.02064 -1.02789 1.01822 1.00554 1.02124 1.02608 1.02608 1.01581 1.03091 -1.02004 1.01762 1.02124 1.01641 1.0303 1.01641 1.0152 1.01702 -1.01702 1.02366 1.01762 1.02004 1.02124 1.01218 1.0152 1.01581 -1.02487 1.01883 1.01218 1.0303 1.01218 1.0303 1.01943 1.0146 -1.0146 1.01641 1.02668 1.02185 1.02426 1.01943 1.02487 1.02426 -1.03151 1.03453 1.04118 1.0448 1.02124 1.0146 1.0303 1.03091 -1.04178 1.04118 1.03634 1.02426 1.02064 1.02124 1.01822 1.02064 -1.01702 1.02004 1.0146 1.01943 1.00554 1.01702 1.02245 1.01883 -1.02064 1.02124 1.02004 1.01943 1.0303 1.02124 1.02547 1.03332 -1.03151 1.03091 1.02306 1.02004 1.02306 1.02245 1.01581 1.01339 -1.01581 1.0152 1.01641 1.02124 1.02668 1.01158 1.01822 1.01762 -1.01641 1.02245 1.02004 1.01943 1.02426 1.0291 1.0291 1.0297 -1.03634 1.04963 1.04299 0.303007 0 0 0 0 -0.00401333 0.00301 0 0 0 0 0 0.00100333 -0.00401333 0.00200667 0.00200667 0.00401333 0 0 0 0 -0.00200667 0.00200667 0 0.00301 0.00301 0.00702333 0.00802667 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00602 0.00702333 0.00501667 0.00301 -0 0 0.00401333 0.00401333 0 0 0 0.00200667 -0 0 0 0.00100333 0.00301 0.00602 0.00401333 0 -0 0 0.00401333 0.00702333 0.00802667 0.0140467 0.0100333 0.00501667 -0.00602 0 0 0 0 0 0 0 -0 0 0 0.178593 1.01883 1.05084 1.0442 1.03936 -1.03453 1.03393 1.01762 1.01822 1.01883 1.01822 1.02849 1.02245 -1.02728 1.02668 1.01339 1.014 1.02306 1.02547 1.02064 1.02849 -1.02668 1.02245 1.02728 1.02547 1.02366 1.02185 1.02426 1.02789 -1.02487 1.01883 1.02124 1.014 1.01883 1.02064 1.02487 1.03272 -1.02547 1.02064 1.01822 1.0152 1.014 1.02306 1.02185 1.01641 -1.01822 1.02185 1.02245 1.0303 1.02306 1.0291 1.02306 1.02547 -1.02608 1.03574 1.02487 1.03091 1.03453 1.02064 1.02306 1.02245 -1.01883 1.01339 1.01822 1.01762 1.01762 1.01883 1.02064 1.0146 -1.014 1.01581 1.02064 1.01702 1.01098 1.0152 1.02004 1.00614 -1.01762 1.0152 1.0146 1.02366 1.0303 1.02004 1.01822 1.01943 -1.01641 1.0146 1.0152 1.02245 1.02004 1.014 1.01702 1.01883 -1.01943 1.0291 1.01762 1.01339 1.00916 1.00856 1.0146 1.02004 -1.01762 1.01943 1.02124 1.01702 1.02668 1.02366 1.01822 1.01158 -1.02306 1.02789 1.03514 1.0297 1.04238 1.03212 1.03574 1.03393 -1.02124 1.02185 1.01762 1.0297 1.02728 1.02547 1.01702 1.01943 -1.02306 1.02366 1.0303 1.02245 0.9844 1.01943 1.01702 1.02185 -1.02306 1.01943 1.02366 1.02547 1.02064 1.02728 1.02426 1.02547 -1.02064 1.02306 1.0303 1.02728 1.02668 1.02849 1.02789 1.02185 -1.02124 1.02185 1.03212 1.02426 1.01702 1.02245 1.02426 1.0152 -1.0146 1.0146 1.02064 1.02547 1.02366 1.02306 1.02124 1.03332 -1.04118 1.04359 1.0291 0.223743 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00702333 0.01505 0.00501667 -0 0 0.00301 0.00301 0.00301 0 0 0 -0.00702333 0.00802667 0.00301 0.00501667 0.00802667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00602 -0.00401333 0.00301 0.00100333 0 0.00401333 0.00401333 0 0 -0 0 0.00100333 0.00401333 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.130433 1.00373 1.04299 1.03876 1.03514 -1.03393 1.02366 1.02728 1.02366 1.01883 1.02004 1.01641 1.01581 -1.02064 1.01762 1.03091 1.02124 1.00856 1.01218 1.02185 1.02004 -1.02185 1.01581 1.0146 1.01339 1.01158 1.02849 1.02849 1.01943 -1.01702 1.02366 1.02487 1.0146 1.0146 1.02426 1.0146 1.01279 -1.00916 1.02728 1.01883 1.01943 1.0146 1.014 1.01279 1.01218 -1.0152 1.02789 1.02487 1.03151 1.02185 1.0291 1.03272 1.03151 -1.01098 1.02004 1.02426 1.02064 1.01762 1.01581 1.01581 1.02124 -1.02185 1.0152 1.01702 1.014 1.02124 1.02366 1.01279 1.02124 -1.01158 1.02306 1.02245 1.02849 1.02849 1.02245 1.01339 1.0152 -1.01641 1.01943 1.02185 1.0146 1.01339 1.02608 1.01883 1.01943 -1.01943 1.02004 1.02426 1.014 1.01943 1.02306 1.0146 1.02487 -1.0303 1.02547 1.0146 1.01702 1.02547 1.01702 1.02487 1.02728 -1.01279 1.02064 1.02487 1.02668 1.02487 1.0291 1.02124 1.03755 -1.02849 1.0291 1.02728 1.03816 1.02547 1.03393 1.02849 1.03453 -1.03091 1.02245 1.03514 1.02004 1.0303 1.03091 1.02245 1.02728 -1.03514 1.02608 1.02306 1.02245 0.997688 1.0303 1.02608 1.02728 -1.02124 1.01822 1.01641 1.01702 1.01762 1.014 1.01218 1.02185 -1.02426 1.014 1.01883 1.02064 1.02245 1.02547 1.02004 1.01943 -1.02185 1.02608 1.02245 1.02124 1.0146 1.01339 1.02064 1.01943 -1.01822 1.02608 1.02245 1.02245 1.02245 1.02608 1.03574 1.04057 -1.04118 1.05326 1.01037 0.140467 0 0 0 0 -0 0 0 0 0 0 0.00301 0 -0.00100333 0.00401333 0.00401333 0.00301 0.00401333 0 0 0 -0 0 0 0 0 0.00100333 0.00501667 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00200667 0.00301 0.00100333 0 0 0 -0 0 0 0 0.00200667 0.00501667 0.0140467 0.01806 -0.01505 0.0130433 0.00301 0 0 0 0.00200667 0.00200667 -0.00200667 0.00200667 0 0.00602 0.00602 0.00100333 0.00301 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0.06321 0.964468 1.05265 1.04178 1.03272 -1.02728 1.02547 1.02547 1.02789 1.02185 1.01943 1.02004 1.02004 -1.02185 1.02185 1.02004 1.0146 1.02426 1.02366 1.01883 1.01581 -1.02849 1.02487 1.02668 1.03272 1.02487 1.014 1.02668 1.02668 -1.02366 1.02366 1.01883 1.02306 1.02185 1.0291 1.02728 1.02185 -1.02064 1.02185 1.01822 1.01822 1.02124 1.0297 1.02487 1.02366 -1.0291 1.02366 1.01339 1.02426 1.02004 1.01702 1.02608 1.02728 -1.02366 1.01883 1.02547 1.02124 1.02547 1.01762 1.03755 1.03876 -1.04359 1.04238 1.04722 1.02547 1.02487 1.01762 1.0152 1.01279 -1.02426 1.0146 1.02849 1.01943 1.01641 1.02306 1.014 1.014 -1.02064 1.01339 1.01883 1.02608 1.02245 1.01158 1.00856 1.02608 -1.03212 1.02366 1.02426 1.02064 1.01641 1.02245 1.0303 1.01883 -1.01883 1.02728 1.02124 1.01943 1.01158 1.02185 1.01702 1.00977 -1.01218 1.02064 1.01762 1.02426 1.01762 1.01943 1.02124 1.01762 -1.014 1.02426 1.02306 1.02306 1.01822 1.01702 1.0297 1.02245 -1.02064 1.02547 1.02185 1.01702 1.02426 1.03212 1.02245 1.01883 -1.02064 1.01762 1.02306 1.0001 0.997084 1.01581 1.01943 1.0146 -1.0303 1.02547 1.02668 1.01762 1.02547 1.02487 1.02789 1.02064 -1.02245 1.02366 1.01702 1.02004 1.02608 1.02245 1.01641 1.01762 -1.02366 1.02245 1.02064 1.01943 1.01943 1.02124 1.01581 1.01339 -1.02547 1.01762 1.01822 1.02366 1.03091 1.03514 1.03634 1.03091 -1.04238 1.04903 0.962656 0.06923 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00301 0.00401333 0.00200667 0.00100333 0 -0 0.00401333 0.00401333 0.00301 0.00501667 0.00301 0 0 -0 0 0 0 0 0.00401333 0.00702333 0.00301 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0 0.00200667 0.00200667 -0.00200667 0.00200667 0 0 0 0 0 0 -0 0.00200667 0.00301 0.00501667 0.00602 0.00702333 0 0 -0.00200667 0 0 0 0 0 0 0 -0.00100333 0.00501667 0 0 0 0 0 0 -0 0 0 0.0260867 0.926416 1.06111 1.03997 1.03453 -1.03212 1.02789 1.02185 1.02789 1.02245 1.02608 1.01943 1.02668 -1.01581 1.01279 1.02185 1.02064 1.02487 1.01943 1.02064 1.01943 -1.02366 1.02306 1.02124 1.01037 1.014 1.01943 1.0152 1.01702 -1.014 1.02426 1.02064 1.02789 1.01943 1.02245 1.02306 1.02849 -1.02004 1.02185 1.0297 1.00977 1.02487 1.02366 1.0297 1.0152 -1.01279 1.02124 1.02124 1.02064 1.02185 1.02487 1.02789 1.01822 -1.02185 1.01641 1.01037 1.01581 1.02124 1.04057 1.05628 1.0599 -1.05507 1.05386 1.05205 1.0454 1.04299 1.03393 1.014 1.02366 -1.02185 1.02064 1.01702 1.00796 1.01218 1.01702 1.02487 1.02487 -1.02728 1.02124 1.02728 1.0146 1.02185 1.014 1.01339 1.01581 -1.02668 1.02426 1.0146 1.01581 1.01279 1.00856 1.01822 1.02185 -1.01883 1.0152 1.01943 1.03091 1.02668 1.02004 1.01762 1.01883 -1.02728 1.01762 1.02306 1.00977 1.02245 1.01883 1.02547 1.03091 -1.03091 1.02849 1.02426 1.02306 1.02185 1.0297 1.03393 1.0297 -1.02608 1.02306 1.02487 1.02728 1.01762 1.01641 1.01641 1.02004 -1.03151 1.02728 1.02608 0.992856 1.02185 1.01702 1.02728 1.01762 -1.02668 1.01762 1.02004 1.02064 1.01762 1.01943 1.02185 1.0297 -1.02306 1.01581 1.0152 1.01641 1.01641 1.02426 1.01822 1.01641 -1.01762 1.01581 1.02366 1.02064 1.02668 1.02608 1.0297 1.02426 -1.02789 1.02668 1.02366 1.02306 1.02426 1.02608 1.02728 1.03151 -1.04601 1.05688 0.895664 0.0110367 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00903 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00501667 0 0 0 0.00401333 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00301 -0.00401333 0.00301 0.00200667 0.00301 0.00301 0.00301 0 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0.78876 1.05265 1.0442 1.03755 -1.03151 1.0291 1.02245 1.014 1.02245 1.01581 1.0152 1.02245 -1.02668 1.01883 1.02728 1.01762 1.01218 1.0146 1.01762 1.01883 -1.01702 1.0146 1.01098 1.02004 1.03151 1.01581 1.02004 1.0291 -1.01641 1.0146 1.01943 1.0152 1.00856 1.01037 1.02064 1.01339 -1.0303 1.03393 1.03151 0.998896 1.01762 1.01641 1.02487 1.02547 -1.02426 1.02306 1.02064 1.01641 1.02064 1.02487 1.01702 1.0146 -1.02004 1.0146 1.02306 1.02849 1.04782 1.0605 1.04782 1.0454 -1.0454 1.05205 1.04842 1.04842 1.05024 1.05386 1.03936 1.01641 -1.02245 1.02185 1.01037 1.0152 1.02124 1.01641 1.0297 1.01581 -1.02306 1.02547 1.00796 1.01883 1.01339 1.01279 1.02064 1.02487 -1.01037 1.01098 1.02124 1.0303 1.02608 1.02185 1.02185 1.02426 -1.01279 1.0152 1.02789 1.02366 1.02728 1.01339 1.02426 1.02124 -1.02668 1.0442 1.04601 1.05628 1.0599 1.04238 1.04057 1.02608 -1.02245 1.01943 1.01702 1.02004 1.02426 1.01943 1.02064 1.01883 -1.0291 1.02608 1.02849 1.02124 1.03212 1.02426 1.0152 1.0303 -1.02668 1.01943 1.01762 0.988024 1.02728 1.02487 1.02547 1.02426 -1.02245 1.01098 1.02366 1.01943 1.02245 1.01883 1.02004 1.01581 -1.0146 1.0146 1.02004 1.02004 1.02064 1.01581 1.01339 1.02064 -1.01883 1.02185 1.02366 1.02608 1.01943 1.01581 1.02366 1.02366 -1.02245 1.02004 1.01883 1.02487 1.02487 1.01822 1.02789 1.03876 -1.0442 1.05567 0.71792 0 0 0 0 0 -0 0 0 0 0.00501667 0.0100333 0.0100333 0.00200667 -0 0 0 0 0 0 0 0.00903 -0.00301 0.00501667 0 0 0 0 0 0 -0 0 0 0.00200667 0 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00702333 0.00802667 0.0110367 0.0100333 0.00501667 0.00301 0.00200667 -0 0 0.00301 0 0 0.00301 0.00602 0.00501667 -0 0.00200667 0 0.00100333 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.618744 1.06292 1.05265 1.04238 -1.03272 1.0303 1.0291 1.03212 1.02366 1.02004 1.01702 1.01702 -1.02245 1.01883 1.0152 1.01762 1.02124 1.014 1.02004 1.01943 -1.01883 1.0146 1.01883 1.01581 1.01218 1.02064 1.02668 1.02124 -1.01883 1.01702 1.02245 1.02124 1.02064 1.01883 1.02124 1.02064 -1.02124 1.01581 1.01883 0.998896 1.01218 1.02064 1.02366 1.01581 -1.014 1.02185 1.02306 1.01943 1.01883 1.02124 1.014 1.02426 -1.014 1.01883 1.01581 1.03695 1.06534 1.04903 1.05869 1.05326 -1.05446 1.05507 1.04722 1.05024 1.05144 1.05265 1.05386 1.0303 -1.01883 1.01762 1.02366 1.01822 1.02124 1.01822 1.01943 1.01702 -1.02004 1.01339 1.01822 1.01581 1.01883 1.02426 1.02306 1.01762 -1.02185 1.014 1.02064 1.02245 1.02547 1.0297 1.0146 1.00735 -1.02487 1.01279 1.0146 1.01762 1.01762 1.02849 1.01581 1.03332 -1.05205 1.0593 1.05748 1.05809 1.05024 1.05326 1.05205 1.05809 -1.03574 1.01762 1.02849 1.0291 1.02608 1.02487 1.02366 1.02064 -1.01762 1.02185 1.014 1.0291 1.02547 1.01883 1.02608 1.02487 -1.01581 1.01641 0.998896 0.991044 1.02426 1.02547 1.02366 1.00916 -1.02547 1.01218 1.0291 1.02789 1.02366 1.01762 1.0146 1.02849 -1.02245 1.01702 1.01581 1.02608 1.02245 1.02668 1.02487 1.02547 -1.01702 1.02064 1.01943 1.0146 1.02547 1.02185 1.02004 1.02124 -1.02064 1.02245 1.02124 1.02064 1.02668 1.03393 1.04057 1.03755 -1.04359 1.05446 0.527753 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00301 0.00301 0.00401333 0 0 -0.00100333 0.00301 0.00200667 0.00301 0.00401333 0.00301 0.00100333 0 -0 0 0 0.00100333 0.00401333 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0.00200667 0.00100333 0 0 0.00100333 0.00100333 0 0 -0 0 0.00100333 0 0.00100333 0 0 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0.462537 1.05507 1.04118 1.03514 -1.03393 1.02306 1.02185 1.02728 1.02124 1.02306 1.02366 1.02004 -1.01641 1.01279 1.01762 1.02185 1.02064 1.02608 1.0291 1.02366 -1.01883 1.02366 1.01883 1.02608 1.01762 1.0146 1.01943 1.01883 -1.01339 1.02487 1.02668 1.02608 1.01943 1.02064 1.0291 1.01641 -1.01883 1.01883 1.02547 1.01762 0.989232 1.02487 1.02608 1.02366 -1.0297 1.02185 1.01883 1.02064 1.02668 1.02849 1.01158 1.01037 -1.01279 1.02426 1.03514 1.04661 1.03695 1.04118 1.0448 1.05688 -1.05024 1.04661 1.05205 1.05326 1.05628 1.05386 1.05567 1.0454 -1.02728 1.02487 1.01218 1.02608 1.02306 1.02547 1.03332 1.02728 -1.01218 1.02426 1.01641 1.0146 1.02668 1.0146 1.02306 1.02245 -1.0146 1.02366 1.02728 1.01581 1.02185 1.01641 1.02426 1.0303 -1.02004 1.02487 1.02487 1.02608 1.00554 1.01762 1.02789 1.04722 -1.05386 1.0448 1.04903 1.05084 1.0454 1.05024 1.04299 1.05628 -1.06594 1.04601 1.02004 1.01641 1.014 1.01702 1.01339 1.02366 -1.02426 1.02366 1.02547 1.02728 1.02185 1.02306 1.0297 1.02547 -1.01218 1.02064 0.969904 1.014 1.02004 1.02064 1.014 1.01581 -1.02366 1.01641 1.00312 1.02185 1.01098 1.01883 1.014 1.02124 -1.02245 1.0303 1.0146 1.01762 1.01883 1.01702 1.01883 1.02245 -1.01581 1.0152 1.02608 1.02547 1.01641 1.01279 1.01218 1.01762 -1.02124 1.02306 1.01762 1.02306 1.02668 1.02789 1.03151 1.0442 -1.05024 1.04178 0.342137 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00602 0.00501667 0.00602 0.00200667 0.00301 -0.00200667 0.00301 0.00602 0.00301 0.00200667 0 0 0.00401333 -0.00501667 0.00301 0.00501667 0.00200667 0.00100333 0.00501667 0.00602 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00200667 0.00200667 -0.00100333 0 0 0 0 0 0 0 -0 0 0.00602 0.00802667 0.00501667 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00602 0.00100333 0 0 0 0 -0 0 0 0 0.308023 1.04903 1.05326 1.04057 -1.03091 1.03634 1.03151 1.01943 1.02004 1.0146 1.02004 1.02668 -1.02185 1.02245 1.02608 1.01943 1.01702 1.014 1.014 1.00856 -1.0146 1.02185 1.01822 1.00916 1.0146 1.01762 1.00977 1.01762 -1.02366 1.014 1.01762 1.014 1.0152 1.01883 1.02004 1.02426 -1.02245 1.01762 1.01762 1.02185 0.978964 1.00554 1.01581 1.01702 -1.02668 1.01822 1.02124 1.02487 1.00856 1.01641 1.02426 1.02004 -1.02728 1.01702 1.05084 1.06413 1.04722 1.05326 1.05748 1.0454 -1.05567 1.04057 1.04782 1.06171 1.05688 1.05628 1.0599 1.04782 -1.04118 1.014 1.02306 1.02366 1.02608 1.01339 1.02004 1.01158 -1.02789 1.00916 1.01822 1.01702 1.02849 1.02306 1.02185 1.02487 -1.01339 1.01762 1.0146 1.01339 1.02547 1.02487 1.0146 1.01279 -1.01037 1.01158 1.00977 1.01822 1.02426 1.02124 1.04782 1.0599 -1.06352 1.05024 1.06352 1.0448 1.04903 1.05507 1.05748 1.05326 -1.04963 1.05748 1.02547 1.01037 1.01762 1.01943 1.02849 1.02064 -1.01641 1.02487 1.01883 1.02245 1.02004 1.02185 1.01883 1.02487 -1.02849 1.01037 0.989836 1.01581 1.02366 1.02306 1.02608 1.02668 -1.02064 1.02487 1.01581 1.01822 1.02366 1.02789 1.01943 1.01641 -1.0146 1.02064 1.02004 1.0146 1.0146 1.01822 1.01641 1.01218 -1.01883 1.02185 1.0146 1.02306 1.02426 1.02064 1.02366 1.02849 -1.02728 1.03091 1.03272 1.02789 1.02849 1.02728 1.03514 1.03755 -1.04661 1.02668 0.190633 0 0 0 0 0 -0 0 0 0 0 0 0 0.00301 -0.00602 0.00200667 0 0 0 0 0 0 -0 0 0 0 0.00401333 0.0110367 0.00501667 0.00100333 -0.00501667 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0.00501667 0.00200667 0.00401333 0.00702333 0.00602 -0 0 0 0.00401333 0.00501667 0.01204 0.0110367 0.00100333 -0 0.00200667 0 0 0 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0.161537 1.014 1.05024 1.03695 -1.03151 1.02426 1.02366 1.02185 1.02547 1.02426 1.0152 1.0146 -1.01581 1.0152 1.01822 1.02064 1.01883 1.01702 1.01943 1.02245 -1.01822 1.02064 1.0291 1.03151 1.01883 1.02004 1.01339 1.01641 -1.01158 1.01702 1.01822 1.02004 1.02366 1.02487 1.02004 1.01641 -1.014 1.0146 1.02004 1.02366 1.00796 0.991648 1.0291 1.02608 -1.01943 1.03151 1.02185 1.02668 1.0303 1.02789 1.02124 1.03332 -1.02728 1.03453 1.05386 1.03876 1.05809 1.05265 1.0599 1.05688 -1.04359 1.05446 1.05265 1.04782 1.05386 1.05628 1.0442 1.05567 -1.05084 1.0303 1.01883 1.02366 1.02547 1.02306 1.01762 1.0146 -1.02487 1.02306 1.02849 1.03151 1.00433 1.02064 1.01883 1.02789 -1.02547 1.01762 1.02306 1.01822 1.01943 1.02426 1.02064 1.0291 -1.02426 1.02306 1.02185 1.02728 1.02124 1.04238 1.05326 1.05809 -1.05446 1.04601 1.04118 1.06232 1.06232 1.04963 1.05869 1.05024 -1.0442 1.04722 1.05628 1.01762 1.02064 1.03453 1.02426 1.02547 -1.02124 1.014 1.0152 1.014 1.01279 1.01279 1.02064 1.01581 -1.01581 0.985004 1.01158 1.01641 1.01218 1.02004 1.02245 1.03272 -1.02306 1.0146 1.00554 1.01762 1.01822 1.00614 1.014 1.01641 -1.02366 1.01822 1.01581 1.02366 1.02426 1.02366 1.014 1.01822 -1.02064 1.02426 1.01943 1.01279 1.014 1.01098 1.02124 1.01581 -1.01581 1.01339 1.014 1.01581 1.02064 1.02849 1.03332 1.04359 -1.05265 0.964468 0.0742467 0 0 0 0 0 -0 0.00301 0.00602 0 0 0.00100333 0 0 -0.00401333 0.00200667 0.00200667 0.00903 0.00401333 0 0 0.00401333 -0.0140467 0.0130433 0.00802667 0 0 0 0 0.00100333 -0 0 0 0.00301 0.00200667 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00802667 0.00301 0 0 -0.00100333 0.00401333 0.00501667 0.00501667 0.00702333 0.00802667 0.00702333 0.0100333 -0.00802667 0.00301 0.00100333 0.00401333 0.00100333 0 0.00602 0 -0 0 0 0.00401333 0.0110367 0.0110367 0.01204 0.00903 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0581933 0.952388 1.04601 1.04299 -1.03816 1.03453 1.03332 1.02668 1.02728 1.01943 1.02004 1.02728 -1.0152 1.00856 1.01702 1.01218 1.02728 1.02668 1.02608 1.01883 -1.02124 1.01883 1.01339 1.0152 1.01339 1.02245 1.0152 1.03272 -1.01581 1.02306 1.01943 1.01702 1.02124 1.02306 1.01762 1.0146 -1.02366 1.02789 1.0152 1.02124 1.01822 0.975944 1.01339 1.02789 -1.02487 1.02064 1.02004 1.02306 1.01943 1.01943 1.01037 1.00614 -1.01883 1.02547 1.05265 1.05688 1.05688 1.04722 1.04903 1.04903 -1.04842 1.05507 1.0593 1.0593 1.04722 1.03936 1.05326 1.0593 -1.0605 1.0152 1.0152 1.02064 1.02124 1.02426 1.02245 1.03091 -1.02426 1.0152 1.03332 1.0152 1.02306 1.03151 1.02185 1.0291 -1.03212 1.01822 1.02064 1.03574 1.0291 1.02306 1.02426 1.02185 -1.02306 1.01702 1.01218 1.02668 1.014 1.03574 1.05326 1.05386 -1.06594 1.04842 1.06473 1.05205 1.03514 1.05386 1.04057 1.04238 -1.06171 1.05688 1.04963 1.03212 1.01883 1.01641 1.01158 1.02728 -1.02366 1.02004 1.02185 1.02608 1.02728 1.02668 1.02245 1.02064 -1.01158 0.99648 1.02487 1.02547 1.02789 1.0152 1.01762 1.01098 -1.00554 1.01702 1.02728 1.02245 1.0303 1.0291 1.02487 1.02245 -1.0297 1.02366 1.01943 1.0291 1.02064 1.02004 1.02366 1.01762 -1.02487 1.01943 1.02306 1.02426 1.01943 1.01943 1.02185 1.02124 -1.0146 1.02668 1.03514 1.03151 1.03514 1.04057 1.04359 1.05386 -1.05809 0.809368 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0.00200667 0.00301 0.00200667 0.00100333 0 -0 0 0 0 0.00100333 0.00200667 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00602 0.00903 0.0100333 0.00200667 0 0.00100333 0.00200667 -0 0.00100333 0 0 0 0 0 0 -0 0.00100333 0.00100333 0 0 0 0 0 -0 0.00100333 0 0 0 0 0.00301 0.00401333 -0 0 0 0 0 0.792624 1.06171 1.04722 -1.03332 1.02547 1.0297 1.02426 1.02245 1.02366 1.02306 1.0146 -1.01218 1.02185 1.02547 1.02064 1.02124 1.01279 1.0152 1.02547 -1.01883 1.014 1.01702 1.02608 1.02064 1.01641 1.01883 1.02728 -1.02608 1.01702 1.02547 1.02124 1.01943 1.01702 1.01641 1.02608 -1.01037 1.0146 1.02487 1.02245 1.00977 1.00433 0.998292 1.02064 -1.01702 1.02547 1.01339 1.0146 1.02064 1.01943 1.01641 1.01762 -1.02064 1.03514 1.06111 1.05265 1.05446 1.0593 1.05628 1.05446 -1.05446 1.05446 1.0448 1.05024 1.0454 1.05748 1.05567 1.05084 -1.04722 1.02789 1.0146 1.00856 1.014 1.02124 1.02668 1.02004 -1.02728 1.03212 1.01581 1.0303 1.03212 1.01641 1.00554 1.01641 -1.01883 1.01641 1.02426 1.01822 1.01943 1.01702 1.0303 1.01641 -1.02004 1.02366 1.0297 1.00614 1.01641 1.05446 1.0442 1.05446 -1.04661 1.04359 1.04722 1.04722 1.05386 1.03997 1.04963 1.04903 -1.0448 1.05084 1.05265 1.0454 1.00856 1.02789 1.02185 1.01702 -1.01641 1.01943 1.02547 1.01218 1.0146 1.02124 1.02366 1.02487 -0.992856 1.00735 1.01822 1.01702 1.01339 1.0146 1.02608 1.02608 -1.03332 1.03212 1.01822 1.02668 1.00796 1.0146 1.01641 1.01581 -1.01581 1.0146 1.014 1.0146 1.01098 1.00856 1.00796 1.01339 -1.01158 1.01702 1.01581 1.01822 1.02004 1.02124 1.02064 1.01822 -1.02306 1.02124 1.02124 1.02366 1.02668 1.03091 1.03212 1.04359 -1.05567 0.527753 0 0 0 0 0 0 -0 0 0.00602 0.00401333 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0 0 0 0 0.00100333 0.00100333 0 -0 0 0 0 0 0.00100333 0.00501667 0.00501667 -0.0100333 0.00903 0.00602 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.52675 1.05386 1.04722 -1.03574 1.0297 1.02849 1.02426 1.03091 1.02608 1.02547 1.01762 -1.02124 1.02124 1.01702 1.0146 1.02064 1.02366 1.01822 1.01641 -1.0146 1.01883 1.01883 1.01581 1.02366 1.01883 1.01762 1.01279 -1.01822 1.02366 1.01641 1.01702 1.02064 1.02547 1.02608 1.02487 -1.03393 1.03272 1.02004 1.02306 1.02124 1.01762 1.00192 1.02366 -1.02245 1.02004 1.01943 1.02124 1.02185 1.01762 1.02728 1.02245 -1.02124 1.03393 1.0448 1.04661 1.05386 1.0448 1.05024 1.04661 -1.04359 1.05024 1.0442 1.0442 1.05688 1.04722 1.03151 1.04601 -1.0448 1.0291 1.01702 1.02366 1.01883 1.01943 1.01702 1.00856 -1.02426 1.03332 1.01581 1.01098 1.00433 1.01943 1.00373 1.02668 -1.01822 1.01641 1.02124 1.01943 1.02306 1.02124 1.01822 1.02064 -1.014 1.01822 1.02366 1.02366 1.02789 1.05265 1.05507 1.04359 -1.0454 1.05567 1.04782 1.0605 1.04842 1.05446 1.04661 1.04842 -1.04963 1.05144 1.05386 1.03332 1.01218 1.02245 1.02306 1.014 -1.01098 1.01339 1.02245 1.02004 1.01762 1.01883 1.01702 1.01883 -0.99648 1.02004 1.02004 1.0291 1.0297 1.03272 1.02668 1.02789 -1.01822 1.01279 1.01702 1.014 1.01037 1.02668 1.02668 1.01762 -1.02064 1.02064 1.01883 1.01883 1.02245 1.02728 1.02306 1.02366 -1.0152 1.01822 1.02004 1.02185 1.02124 1.01762 1.02064 1.01822 -1.02185 1.01943 1.02245 1.02668 1.01822 1.0303 1.0442 1.05205 -1.0454 0.29498 0 0 0 0 0 0 -0 0 0 0.00200667 0 0.00100333 0.00301 0.00903 -0.0100333 0 0 0 0.00501667 0.00501667 0.00802667 0.00501667 -0 0 0.00301 0.00501667 0 0 0 0 -0.00100333 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00602 0.00802667 0.00802667 0.00602 -0.00100333 0.00200667 0.00301 0 0.00200667 0 0 0.00100333 -0 0.00301 0.00301 0.00301 0.00501667 0.00401333 0.00401333 0.00702333 -0 0 0 0.00301 0.00702333 0.00602 0.00501667 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.290967 1.04057 1.05507 -1.03695 1.03272 1.03332 1.03212 1.02849 1.02185 1.02849 1.02547 -1.02849 1.02064 1.0152 1.01702 1.01702 1.01943 1.014 1.0146 -1.01943 1.02124 1.01943 1.02366 1.01943 1.02306 1.01883 1.02487 -1.01883 1.014 1.01883 1.02366 1.02245 1.01943 1.01702 1.0152 -1.01641 1.0146 1.02608 1.02426 1.02185 1.02668 1.01339 0.995876 -1.02547 1.02366 1.03151 1.03091 1.01158 1.014 1.02245 1.01943 -1.02185 1.02668 1.05688 1.05869 1.04601 1.05628 1.04722 1.0442 -1.05567 1.05507 1.05144 1.05084 1.05265 1.05386 1.05809 1.0605 -1.04782 1.02547 1.02245 1.02487 1.02185 1.01581 1.03272 1.01641 -1.02064 1.01158 1.01339 0.995272 0.97534 0.957824 0.971716 0.96628 -0.975944 1.00373 1.01702 1.02245 1.0146 1.02185 1.0303 1.02064 -1.01822 1.02608 1.02487 1.02668 1.01339 1.05084 1.0593 1.06171 -1.05205 1.04842 1.05205 1.04722 1.05205 1.05265 1.06352 1.05084 -1.04299 1.0454 1.05869 1.04118 1.01037 1.01883 1.01762 1.01943 -1.01762 1.03151 1.02366 1.02245 1.02849 1.03332 1.03091 0.997084 -1.00856 1.03151 1.01581 1.01702 1.01218 1.01158 1.014 1.01822 -1.02124 1.01158 1.01762 1.02185 1.0152 1.01158 1.00675 1.0146 -1.01098 1.01943 1.01098 1.01339 1.0146 1.02366 1.01883 1.0152 -1.02245 1.02487 1.0291 1.0146 1.01943 1.02366 1.02124 1.01702 -1.014 1.01883 1.02064 1.03514 1.04238 1.03816 1.04782 1.05809 -0.988628 0.10535 0 0 0 0 0 0 -0.0100333 0 0 0 0 0 0 0 -0 0.00802667 0.00501667 0.00200667 0.00100333 0.00200667 0.00602 0.00401333 -0.00501667 0 0 0 0 0.00301 0 0.00100333 -0.00100333 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00501667 0.00401333 0.00301 0.01204 0.00301 0 0 -0.00301 0 0 0 0 0.10535 0.9844 1.04661 -1.04238 1.03272 1.02185 1.01822 1.01883 1.01702 1.02487 1.02004 -1.01883 1.02185 1.02426 1.02185 1.02185 1.01822 1.01279 1.0303 -1.01702 1.02004 1.01762 1.02306 1.0291 1.02064 1.02608 1.01702 -1.01702 1.0146 1.01641 1.02426 1.01822 1.01822 1.02668 1.01822 -1.0146 1.01641 1.02306 1.02185 1.02608 1.02366 1.0303 1.00977 -1.02245 1.02668 1.01883 1.01702 1.0146 1.03332 1.02306 1.02487 -1.01883 1.00675 1.03997 1.05205 1.06232 1.05567 1.05265 1.05507 -1.04842 1.04963 1.05084 1.05265 1.05567 1.06171 1.075 1.05869 -1.03997 1.01822 1.01581 1.01098 1.02728 1.0297 1.02004 1.02004 -1.01702 0.980172 0.955408 0.960844 0.964468 0.96628 0.965072 0.967488 -0.962656 0.957824 0.978964 1.0152 1.02728 1.02426 1.01581 1.0291 -1.02124 1.02185 1.02306 1.02608 1.01581 1.05326 1.05084 1.04842 -1.05567 1.04903 1.04963 1.05144 1.04963 1.04782 1.04782 1.05386 -1.05567 1.04903 1.0454 1.03634 1.01339 1.01883 1.01822 1.02426 -1.02426 1.02547 1.01339 1.02064 1.02245 1.02547 1.00977 0.998292 -1.03151 1.02849 1.02185 1.02426 1.01822 1.0146 1.02185 1.01702 -1.0146 1.03091 1.03151 1.01883 1.01943 1.0297 1.02306 1.02124 -1.02185 1.02426 1.01822 1.02306 1.02668 1.0152 1.02849 1.02728 -1.0146 1.00554 1.02185 1.01641 1.01883 1.02124 1.01702 1.02064 -1.02004 1.03393 1.02668 1.02426 1.03091 1.04359 1.0454 1.05265 -0.802928 0.00100333 0 0 0 0 0 0 -0 0 0 0.00100333 0 0 0 0.00200667 -0 0 0.00200667 0 0 0 0 0 -0 0 0 0 0 0.00200667 0.00602 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00802667 0.00501667 0.00602 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0.00301 -0 0 0 0.00602 0.00401333 0.00401333 0.00301 0.00501667 -0.00301 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0.78876 1.05869 -1.04782 1.03453 1.02728 1.02789 1.02849 1.02728 1.02124 1.02004 -1.02366 1.02124 1.02306 1.02728 1.01762 1.01581 1.02547 1.02245 -1.01822 1.0152 1.0146 1.00856 1.01581 1.01641 1.0152 1.01702 -1.01822 1.01883 1.02064 1.02004 1.01762 1.02487 1.0146 1.01762 -1.01762 1.02124 1.01883 1.01279 1.014 1.01641 1.01822 1.0152 -1.01702 1.01762 1.0291 1.01641 1.02728 1.01883 1.01339 1.01218 -1.02004 1.02668 1.01822 1.03936 1.0442 1.03816 1.05386 1.05265 -1.06292 1.05326 1.06111 1.05265 1.04903 1.04722 1.04057 1.03634 -1.02426 1.0146 1.02426 1.0303 1.02789 1.01883 1.0291 1.01943 -0.98742 0.971112 0.968092 0.962052 0.96326 0.971716 0.96326 0.971112 -0.95722 0.962052 0.966884 0.979568 1.01883 1.03332 1.02366 1.01943 -1.03151 1.02185 1.00916 1.02547 1.02426 1.04178 1.0605 1.06111 -1.05205 1.0593 1.05386 1.05386 1.05507 1.05084 1.05688 1.0593 -1.05265 1.04903 1.0599 1.01943 1.02245 1.02426 1.01641 1.02185 -1.03151 1.02849 1.0303 1.02426 1.02004 1.014 0.979568 1.01581 -1.02064 1.02426 1.01943 1.02185 1.02004 1.01098 1.02064 1.0152 -1.01943 1.00916 1.01822 1.01822 1.01702 1.01883 1.01218 1.01943 -1.02064 1.02004 1.01218 1.01822 1.02064 1.02487 1.0146 1.01702 -1.01762 1.02064 1.02124 1.01641 1.01822 1.01883 1.02547 1.02245 -1.02487 1.02245 1.0303 1.03574 1.04299 1.04359 1.05024 1.0599 -0.46354 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0 0 0 -0 0.00501667 0.00602 0.00401333 0.00602 0 0 0 -0.00802667 0.01204 0.01204 0.00501667 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00301 0.00702333 0.00301 0.00401333 0.00702333 0.00602 0.00100333 -0 0 0 0.00200667 0.00702333 0 0 0 -0 0 0 0 0 0 0.00100333 0.00200667 -0 0 0.00100333 0 0 0 0 0 -0 0.00501667 0 0 0 0 0.432437 1.05265 -1.04722 1.03816 1.0297 1.02064 1.02124 1.02004 1.02124 1.02487 -1.02124 1.01158 1.014 1.014 1.01641 1.01822 1.0146 1.01641 -1.01702 1.02245 1.0303 1.02849 1.02426 1.02366 1.02487 1.02185 -1.01822 1.02668 1.02185 1.02004 1.01943 1.01641 1.01339 1.02306 -1.03272 1.02668 1.03151 1.02245 1.02306 1.01762 1.01943 1.02004 -1.01158 1.01158 1.02426 1.02245 1.02124 1.01279 1.02004 1.02487 -1.02789 1.02064 1.02849 1.04722 1.05869 1.05688 1.05567 1.04722 -1.02668 1.04238 1.05265 1.0593 1.0593 1.06232 1.06534 1.0291 -1.02245 1.01822 1.02728 1.02608 1.02124 1.02004 1.02306 0.998896 -0.965072 0.963864 0.971112 0.96628 0.968696 0.965072 0.969904 0.971112 -0.974132 0.960844 0.968696 0.96326 0.97836 1.0146 1.02608 1.01822 -1.01037 1.02426 1.01822 1.02426 1.02306 1.02547 1.0448 1.05386 -1.04359 1.0448 1.04842 1.05869 1.05205 1.05024 1.04601 1.05024 -1.05688 1.03997 1.03876 1.02487 1.02849 1.01339 1.02728 1.01339 -1.00856 1.01098 1.01279 1.03272 1.02487 0.97534 0.995876 1.01883 -1.03212 1.02487 1.0001 1.00796 1.01943 1.01822 1.01883 1.01702 -1.01581 1.02185 1.02547 1.00554 1.01279 1.01641 1.02004 1.01762 -1.02487 1.02426 1.02004 1.01279 1.01279 1.02004 1.02366 1.02185 -1.0152 1.02608 1.03151 1.02728 1.02245 1.02426 1.02366 1.02306 -1.01641 1.01702 1.01762 1.02245 1.02849 1.03997 1.05144 1.01037 -0.173577 0 0 0 0 0 0 0 -0 0.00200667 0.00903 0.00702333 0.00501667 0 0 0 -0.00501667 0.00401333 0 0 0 0 0 0 -0 0 0 0.00100333 0.00401333 0.00903 0.00501667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00200667 0.00100333 0.00401333 0.00401333 0 0 0 -0 0.00301 0.00200667 0.00501667 0.00501667 0.00501667 0.00602 0 -0 0 0 0 0 0 0.137457 0.99346 -1.05084 1.03936 1.0291 1.02608 1.02728 1.02124 1.02487 1.02728 -1.02487 1.02608 1.02306 1.01762 1.02245 1.02366 1.02064 1.02849 -1.02547 1.01581 1.01943 1.01641 1.0152 1.01822 1.0146 1.01762 -1.02366 1.01883 1.01279 1.02487 1.01158 1.01702 1.01702 1.01943 -1.01641 1.01279 1.01641 1.01158 1.02185 1.0146 1.02185 1.02426 -1.02306 1.01098 1.02124 1.01702 1.0146 1.02668 1.02487 1.01641 -1.00916 1.01279 1.01339 1.00856 1.02064 1.0442 1.05628 1.04661 -1.05507 1.05326 1.05567 1.0599 1.05326 1.03212 1.02728 1.00796 -1.01702 1.02728 1.02487 1.02426 1.02426 1.0303 1.02064 0.97836 -0.97534 0.972924 0.971716 0.96024 0.969904 0.969904 0.967488 0.970508 -0.971716 0.977756 0.965072 0.97534 0.979568 1.00856 1.02366 1.0146 -1.0152 1.0152 1.02608 1.01762 1.02487 1.02064 1.04903 1.05869 -1.06171 1.05144 1.05205 1.05446 1.05326 1.05386 1.05144 1.05326 -1.05386 1.04782 1.02245 1.01218 1.01822 1.0297 1.01339 1.02366 -1.02789 1.02185 1.0146 1.01883 1.00071 0.994064 1.0291 1.02426 -1.00856 1.02789 1.03574 1.03332 1.01943 1.02245 1.01702 1.02004 -1.02004 1.01702 1.01943 1.0303 1.02306 1.02245 1.02366 1.02004 -1.02245 1.01702 1.02185 1.01883 1.02366 1.02185 1.01762 1.02245 -1.01943 1.01339 1.01702 1.01822 1.01218 1.02004 1.01943 1.02728 -1.02728 1.02728 1.0297 1.03453 1.04238 1.04782 1.05688 0.860888 -0.0170567 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00401333 0 0 -0 0.00401333 0.00602 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00401333 -0.00903 0.0130433 0.00802667 0.00401333 0 0 0 0 -0.00602 0.00200667 0.00401333 0.00301 0.00602 0 0.00100333 0.00401333 -0.00200667 0.00401333 0 0 0 0.00401333 0.00301 0.00200667 -0.00100333 0 0 0 0.00802667 0 0 0 -0 0 0 0 0 0 0 0.741104 -1.05688 1.04842 1.04057 1.02849 1.02426 1.02185 1.02789 1.02124 -1.02185 1.02245 1.02124 1.01883 1.01279 1.01098 1.01098 1.01822 -1.0146 1.0146 1.02124 1.02064 1.01218 1.02487 1.02004 1.02366 -1.01702 1.01158 1.01762 1.02064 1.01883 1.02366 1.0146 1.01762 -1.02487 1.01641 1.02185 1.01037 1.01762 1.02547 1.01641 1.0291 -1.02064 1.0146 0.989232 1.01279 1.02306 1.01702 1.02004 1.02426 -1.02124 1.01762 1.01822 1.01641 1.02366 1.01581 1.02487 1.03151 -1.04842 1.04299 1.03151 1.0303 1.0146 1.02064 1.02728 1.02366 -1.02064 1.0297 1.03332 1.02547 1.0146 1.02547 1.0001 0.96024 -0.959636 0.966884 0.972924 0.968696 0.97232 0.971112 0.968696 0.972924 -0.971716 0.970508 0.966884 0.96326 0.970508 0.98138 1.02245 1.03212 -1.01339 1.02004 1.01641 1.01339 1.02245 1.00977 1.00252 1.02668 -1.0442 1.06171 1.05084 1.0454 1.05144 1.04782 1.04722 1.05446 -1.04842 1.03272 1.01702 1.02728 1.02004 1.01762 1.02366 1.01218 -1.01702 1.02728 1.03393 1.02124 0.986816 1.00977 1.02185 1.014 -1.02004 1.00675 1.02306 1.02668 1.02124 1.02185 1.02124 1.01883 -1.01702 1.0152 1.02306 1.01883 1.01943 1.01641 1.01702 1.02608 -1.02487 1.00916 1.0146 1.01762 1.01702 1.01943 1.02124 1.02547 -1.02124 1.01822 1.0152 1.02245 1.01943 1.01883 1.02185 1.02426 -1.02728 1.02849 1.03151 1.0297 1.03634 1.04842 1.04661 0.450497 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00100333 -0.00301 0.00802667 0.00501667 0.00501667 0.00602 0.0160533 0.0140467 0.00802667 -0.00401333 0 0 0 0 0 0 0.00100333 -0.00903 0.00602 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0.00100333 0.00501667 0.00100333 0.00501667 0.00802667 0.0130433 0.01505 0.0110367 -0.00501667 0.00501667 0.00702333 0.00200667 0.00100333 0 0 0 -0 0 0 0.00100333 0 0 0 0 -0.00301 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.335113 -1.04057 1.0442 1.03514 1.03212 1.02487 1.01762 1.0297 1.02426 -1.02245 1.01883 1.0152 1.02245 1.02245 1.02547 1.01822 1.00916 -1.0152 1.01702 1.01339 1.014 1.02608 1.02245 1.01822 1.01702 -1.01581 1.01883 1.02064 1.01822 1.02547 1.02547 1.01822 1.01883 -1.02366 1.01762 1.02124 1.02849 1.0303 1.02004 1.01098 1.0291 -1.02668 1.01822 1.00735 1.00735 1.0291 1.01581 1.0297 1.02547 -1.01883 1.01641 1.02487 1.02004 1.02728 1.03151 1.02124 1.02124 -1.02004 1.02849 1.02547 1.01943 1.01883 1.01581 1.02124 1.01943 -1.01158 1.0146 1.01098 1.0291 1.02487 1.02004 0.974736 0.968696 -0.968092 0.980776 0.972924 0.988024 0.970508 0.962052 0.969904 0.964468 -0.957824 0.964468 0.962656 0.96024 0.969904 0.971112 1.01883 1.02789 -1.02487 1.0291 1.01762 1.0291 1.02004 1.02124 1.02124 1.01279 -1.0303 1.04118 1.05326 1.05144 1.05326 1.05024 1.05869 1.03393 -1.01279 1.014 1.0146 1.01883 1.02789 1.02245 1.02004 1.02426 -1.02004 1.01943 1.02004 0.9995 1.0146 1.02849 1.03634 1.01822 -1.01702 1.01581 1.00856 1.01883 1.02366 1.01943 1.02124 1.02366 -1.02366 1.01641 1.00675 1.00796 1.00977 1.01158 1.0152 1.01339 -1.01037 1.01581 1.01822 1.02487 1.02608 1.02124 1.01279 1.0146 -1.02608 1.02245 1.02124 1.01822 1.02185 1.01943 1.02608 1.02668 -1.02306 1.02728 1.0291 1.03695 1.03695 1.04722 0.980172 0.121403 -0 0 0 0 0 0 0 0 -0 0.00602 0.00200667 0 0.00200667 0.00100333 0 0.00401333 -0.00301 0.00301 0.00301 0.00501667 0 0 0 0 -0 0 0 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0.00401333 0.00702333 0.00401333 -0 0 0 0 0 0.00100333 0 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0612033 -0.932456 1.05507 1.0454 1.03876 1.0291 1.02064 1.02306 1.0152 -1.0152 1.02728 1.02245 1.01098 1.01702 1.02306 1.01822 1.02487 -1.02185 1.00977 1.01702 1.02004 1.01098 1.01158 1.01581 1.02124 -1.0146 1.01822 1.00916 1.02306 1.02004 1.01279 1.02547 1.01702 -1.02366 1.01702 1.0152 1.02064 1.0152 1.01581 1.01822 1.02728 -1.02487 1.01702 1.02306 1.00675 0.994668 1.02487 1.02668 1.02306 -1.01883 1.01641 1.0146 1.02004 1.01581 1.00916 1.01279 1.0297 -1.02487 1.0297 1.02064 1.02547 1.01279 1.01641 1.01822 1.02789 -1.0146 1.02306 1.02728 1.02789 1.02608 1.01943 0.973528 0.971716 -0.966884 0.965072 0.965072 0.956012 0.962656 0.96024 0.971716 0.962656 -0.96628 0.970508 0.969904 0.96628 0.967488 0.97534 1.01581 1.02849 -1.02064 1.0291 1.03574 1.01883 1.03453 1.02064 1.02245 1.02487 -1.02124 1.00977 1.03574 1.02849 1.02185 1.0152 1.02608 1.03091 -1.03514 1.01641 1.02668 1.0152 1.01822 1.01943 1.00494 1.02487 -1.014 1.02245 0.994064 1.01098 1.02668 1.0152 1.01943 1.01883 -1.00916 1.01279 1.02064 1.02245 1.02185 1.01822 1.0146 1.02547 -1.01581 1.0146 1.02064 1.02064 1.02366 1.02366 1.02124 1.02306 -1.02124 1.01762 1.01702 1.01641 1.01098 1.01762 1.01218 1.01037 -1.01339 1.01641 1.02124 1.01581 1.01762 1.02004 1.02728 1.01943 -1.02366 1.02426 1.03151 1.03574 1.05326 1.05748 0.676704 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0.00401333 0.00100333 -0 0 0 0 0 0 0 0.00100333 -0.00401333 0 0 0 0 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00200667 0 0 0.00100333 0 -0 0 0 0 0 0 0 0 -0.00702333 0.0110367 0.00401333 0.00100333 0.00301 0 0 0 -0 0 0 0.00702333 0 0 0 0 -0 0 0 0 0 0 0 0 -0.50869 1.05446 1.04903 1.04057 1.03876 1.03212 1.02789 1.02547 -1.02426 1.02064 1.0152 1.02366 1.02366 1.01702 1.01702 1.0146 -1.02245 1.02789 1.02487 1.01822 1.02426 1.03332 1.02728 1.01883 -1.01943 1.02004 1.02668 1.01641 1.01762 1.02185 1.0152 1.01581 -1.0146 1.02185 1.02306 1.02245 1.02547 1.01943 1.01822 1.01762 -1.01581 1.02004 1.0303 1.0152 1.00192 1.00614 1.01883 1.01762 -1.02004 1.02124 1.02608 1.02366 1.00916 1.02547 1.0146 1.01762 -1.01762 1.01641 1.01762 1.03272 1.01037 1.01822 1.02064 1.02064 -1.02306 1.01279 1.01822 1.01218 1.01158 1.03393 0.975944 0.965072 -0.966884 0.962052 0.96628 0.967488 0.966884 0.964468 0.96024 0.967488 -0.969904 0.971716 0.964468 0.96628 0.957824 0.968696 1.02064 1.03091 -1.02487 1.02004 1.0146 1.02306 1.02064 1.02306 1.02547 1.02366 -1.01883 1.02426 1.00796 1.01218 1.01943 1.02728 1.01158 1.0152 -1.01339 1.02728 1.02366 1.01037 1.02426 1.01883 1.01943 1.01883 -1.0291 1.00554 1.00252 1.01641 1.01943 1.01098 1.01098 1.01702 -1.02124 1.02004 1.01581 1.0152 1.02547 1.01822 1.0146 1.02608 -1.014 1.02426 1.03151 1.02245 1.02004 1.01883 1.01943 1.01581 -1.0146 1.01581 1.02124 1.02306 1.0291 1.02547 1.01943 1.02185 -1.02124 1.01822 1.02547 1.02185 1.02185 1.01943 1.01943 1.02245 -1.0303 1.0291 1.03755 1.04178 1.05748 1.03936 0.280933 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0 0.00100333 -0.00401333 0.00401333 0.00501667 0.00200667 0 0 0 0 -0 0 0 0.00100333 0.00200667 0.00501667 0.00802667 0.00702333 -0.00802667 0.00602 0.00602 0 0 0.00501667 0 0 -0 0 0 0 0 0 0 0 -0.142473 0.98742 1.05386 1.04238 1.03332 1.03091 1.02366 1.03272 -1.02668 1.02547 1.02728 1.01762 1.01762 1.02064 1.02185 1.02306 -1.02668 1.01883 1.01943 1.02004 1.02487 1.01943 1.01279 1.00977 -1.02004 1.02064 1.01943 1.01883 1.02004 1.0146 1.01702 1.01822 -1.02608 1.02426 1.01762 1.01702 1.02185 1.01762 1.02004 1.01581 -1.01339 1.0303 1.02426 1.02426 1.02426 0.997688 0.998896 1.0146 -1.01641 1.01883 1.00977 1.02366 1.0303 1.02064 1.01762 1.01822 -1.01762 1.01762 1.01702 1.0146 1.02366 1.02306 1.02245 1.02306 -1.02789 1.01943 1.02245 1.01822 1.03453 1.01822 0.976548 0.981984 -0.97232 0.96628 0.96628 0.972924 0.963864 0.967488 0.974132 0.98138 -0.969904 0.962052 0.9693 0.965072 0.960844 0.971716 1.01883 1.02185 -1.01762 1.01702 1.02789 1.02185 1.01943 1.02124 1.02426 1.01339 -1.02185 1.03393 1.02185 1.02004 1.01943 1.01883 1.014 1.01641 -1.02004 1.02245 1.03091 1.03393 1.014 1.02064 1.02608 1.02366 -1.00494 0.9995 1.01218 1.01581 1.01822 1.02668 1.0291 1.02426 -1.0146 1.01883 1.01943 1.01098 1.0146 1.0146 1.0146 1.02245 -1.02004 1.01883 1.01279 1.02185 1.0146 1.01218 1.02004 1.01702 -1.0152 1.0146 1.02004 1.00675 1.02064 1.01943 1.02728 1.02608 -1.02064 1.02124 1.02849 1.02728 1.02064 1.02547 1.03212 1.02366 -1.0297 1.03755 1.03936 1.04299 1.06111 0.826112 0.0230767 0 -0 0 0 0 0 0 0 0 -0.00501667 0.00200667 0 0 0 0 0 0 -0 0 0.00100333 0.00501667 0.00200667 0 0.00301 0 -0 0.00100333 0.00401333 0 0 0.00702333 0 0.00200667 -0.00602 0.00401333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00501667 0.00301 -0.00501667 0.00200667 0 0.00100333 0.00200667 0 0 0 -0 0 0 0 0 0 0.00501667 0.00501667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.61488 1.05507 1.04963 1.03393 1.0297 1.02185 1.02064 -1.01098 1.01702 1.0146 1.014 1.02426 1.01943 1.02245 1.02487 -1.01883 1.00916 1.00796 1.01762 1.02004 1.01218 1.01883 1.02004 -1.02185 1.0152 1.02487 1.01098 1.0146 1.01822 1.01762 1.0146 -1.0146 1.00675 0.979568 0.997084 1.00071 1.0001 0.994668 0.997084 -1.00131 1.01339 1.01641 1.02366 1.02004 1.02306 1.00312 1.00312 -1.02124 1.01943 1.02004 1.02124 1.02185 1.02306 1.02245 1.0297 -1.02426 1.01098 1.01037 1.014 1.01339 1.03332 1.02547 1.02185 -1.02124 1.02185 1.01037 1.02426 1.0297 1.02789 0.995876 0.967488 -0.965072 0.96628 0.957824 0.976548 0.976548 0.976548 0.966884 0.965676 -0.968696 0.963864 0.96628 0.964468 0.97232 0.9844 1.02789 1.01883 -1.02426 1.02124 1.01702 1.01279 1.02124 1.014 1.02124 1.01883 -1.01702 1.00554 1.014 1.01762 1.01641 1.02849 1.01037 1.00796 -1.01641 1.01883 1.02789 1.03332 1.02064 1.00735 1.02547 1.00916 -1.01339 1.02849 1.02004 1.02728 1.0303 1.02185 1.01702 1.02426 -1.02426 1.01702 1.02789 1.02185 1.0146 1.01883 1.01762 1.02366 -1.02185 1.03212 1.02245 1.02004 1.02547 1.02245 1.01762 1.03453 -1.02728 1.01822 1.01762 1.01762 1.01943 1.01822 1.00554 1.0146 -1.02185 1.01218 1.01218 1.0152 1.014 1.01943 1.01943 1.02547 -1.03151 1.03332 1.04299 1.05265 1.0442 0.351167 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0.0110367 0.00602 -0.0100333 0.00301 0 0.00802667 0.00602 0.00301 0.00100333 0.00301 -0.00501667 0.00200667 0.00401333 0.00501667 0.00100333 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0 0.00702333 0.00501667 0 -0 0 0 0 0 0 0 0 -0 0.00702333 0.00401333 0.00401333 0.00200667 0 0.00200667 0.00401333 -0.00401333 0.00501667 0.00501667 0.00602 0.00501667 0 0.00501667 0.00301 -0 0 0 0 0 0 0 0 -0 0.196653 0.9995 1.04601 1.03755 1.03514 1.02487 1.03091 -1.02185 1.02487 1.02124 1.01943 1.02185 1.0146 1.0146 1.0146 -1.01883 1.01581 1.01762 1.01641 1.014 1.01702 1.02487 1.02547 -1.0152 1.02004 1.01822 1.0152 1.02366 1.01943 1.02004 1.01581 -0.994064 1.00071 1.01218 1.0146 1.014 1.00614 1.00977 1.01037 -1.01279 1.01037 1.0152 1.01641 1.01641 1.02064 1.0146 0.998896 -0.995272 1.02668 1.02064 1.02728 1.014 1.02789 1.01943 1.02366 -1.01279 1.01581 1.01702 1.02004 1.02185 1.01339 1.02306 1.02547 -1.02185 1.02608 1.01883 1.02185 1.01883 1.02185 1.01762 0.982588 -0.96628 0.971716 0.968092 0.968092 0.966884 0.958428 0.959636 0.971112 -0.97836 0.97534 0.9693 0.975944 0.977756 1.01339 1.02426 1.02849 -1.0303 1.01581 1.01762 1.02547 1.0297 1.014 1.01641 1.0146 -1.03151 1.01883 1.02849 1.0291 1.02004 1.014 1.02366 1.02668 -1.01762 1.0152 1.0146 1.01641 1.02185 1.02728 1.0152 1.00735 -0.9995 1.02124 1.01641 1.0152 1.01339 1.01762 1.00614 1.01339 -1.0001 0.998896 0.99648 1.0146 1.02124 1.01943 1.0146 1.01943 -1.01883 1.0146 1.01822 1.02004 1.02124 1.02608 1.02004 1.01943 -1.02728 1.02245 1.02124 1.02245 1.014 1.02124 1.01762 1.0146 -1.014 1.01641 1.01581 1.02366 1.01883 1.01822 1.02849 1.02668 -1.03212 1.03574 1.0454 1.05024 0.884072 0.0471567 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0 0 0 0.00301 -0 0.00301 0.00100333 0 0.0100333 0.0110367 0.00903 0.00100333 -0.00100333 0.00602 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0.00401333 0.00401333 0 0 0.00100333 0.00602 0.0100333 0.01204 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.668976 1.05869 1.04782 1.03936 1.03634 1.03393 -1.0303 1.03876 1.0297 1.02547 1.02245 1.01943 1.02668 1.01883 -1.01762 1.01037 1.0146 1.0146 1.01702 1.02306 1.01641 1.02004 -1.01883 1.01279 1.02426 1.02064 1.01943 1.02306 1.01279 0.997688 -1.00494 1.01762 1.01943 1.01641 1.02306 1.02245 1.02064 1.02004 -1.02366 1.01218 0.998292 1.01279 1.02245 1.01762 1.02306 1.02487 -1.00494 0.988628 1.02366 1.02306 1.02789 1.02004 1.02064 1.0152 -1.01581 1.02426 1.02064 1.02426 1.02426 1.02426 1.01702 1.0152 -1.01702 1.01883 1.01822 1.03453 1.02366 1.02366 1.01339 0.977152 -0.954804 0.96024 0.970508 0.971716 0.960844 0.9693 0.968092 0.969904 -0.970508 0.962052 0.961448 0.966884 0.976548 1.02789 1.02366 1.0152 -1.0146 1.01641 1.02064 1.01822 1.01279 1.01762 1.03091 1.02547 -1.00856 1.01339 1.00252 1.02547 1.01762 1.02064 1.0152 1.01822 -1.02668 1.01037 1.01762 1.02245 1.01158 1.0152 1.01279 1.02849 -1.01943 1.02064 1.01943 1.0146 1.00796 1.01098 1.02608 1.02668 -1.02124 1.0291 1.01702 1.01158 0.998896 1.0146 1.02366 1.02124 -1.01762 1.02487 1.03151 1.02426 1.01581 1.02245 1.01218 1.01883 -1.01822 1.02608 1.01702 1.02185 1.02064 1.01702 1.01822 1.02849 -1.02728 1.02668 1.02789 1.02849 1.0303 1.02547 1.0291 1.02849 -1.04057 1.04178 1.05446 1.03936 0.372237 0 0 0 -0 0 0 0 0.00401333 0.00602 0.00100333 0.00200667 -0.00100333 0 0.00401333 0 0 0 0 0 -0 0.00301 0 0 0 0 0 0 -0 0 0 0.00301 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00401333 0.00100333 0 0.00301 0.00200667 0 -0 0 0 0.00200667 0.00100333 0 0 0 -0 0 0 0 0 0 0 0.00301 -0.00501667 0 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.181603 0.997084 1.05869 1.0448 1.03695 1.02849 -1.02185 1.01943 1.02366 1.02366 1.01943 1.02487 1.02306 1.02547 -1.01702 1.0152 1.01762 1.01641 1.02124 1.01641 1.01279 1.01098 -1.01339 1.01702 1.0146 1.01762 1.02064 1.01822 0.997084 1.00494 -1.00977 1.00856 1.01702 1.00796 1.01218 1.01702 1.01158 1.01702 -1.00977 1.01037 1.01339 1.01762 1.01762 1.02608 1.01883 1.0146 -1.01943 1.00312 0.98138 1.00916 1.01339 1.02245 1.01641 1.0152 -1.01943 1.02004 1.02608 1.01762 1.02306 1.01279 1.02185 1.02547 -1.02306 1.01581 1.0152 1.02004 1.014 1.01702 1.02789 1.02245 -0.985608 0.965676 0.961448 0.961448 0.9693 0.974132 0.967488 0.954804 -0.968092 0.974132 0.958428 0.982588 1.02245 1.03453 1.01943 1.02124 -1.02124 1.03151 1.02426 1.02064 1.02426 1.02004 1.01279 1.01581 -1.0146 1.03876 1.0297 1.01581 1.02426 1.01762 1.02064 1.03272 -1.02608 1.02064 1.01822 1.02547 1.02064 1.02185 1.02426 1.02487 -1.02668 1.01822 1.01702 1.02064 1.02366 1.02004 1.014 1.0146 -1.01279 1.01822 1.00796 1.0146 1.01218 1.00916 1.0146 1.02547 -1.01822 1.0146 1.01158 1.01702 1.01762 1.01339 1.01702 1.02064 -1.01822 1.02004 1.02185 1.01641 1.00916 1.01641 1.0152 1.01581 -1.01218 1.02306 1.02004 1.01581 1.02487 1.02245 1.03091 1.03574 -1.03755 1.0454 1.05265 0.869904 0.04214 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00301 0.00301 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00802667 0.00602 0.00802667 0.0110367 0.00301 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00602 0.00802667 0.00702333 0.00301 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.0100333 0.00301 0 0 0 0 0 -0 0 0 0.593973 1.05084 1.04238 1.03876 1.03332 -1.03272 1.02668 1.02366 1.02185 1.02547 1.02608 1.02064 1.0146 -1.02124 1.0297 1.02366 1.01581 1.02064 1.02547 1.02366 1.01883 -1.0146 1.01883 1.01581 1.02366 1.01822 1.00856 0.988628 1.01943 -1.01641 1.01702 1.00796 1.00614 1.01702 1.02004 1.01822 1.0152 -1.01822 1.01822 1.02547 1.01762 1.01943 1.02547 1.02789 1.02366 -1.02728 1.02245 1.02124 0.992856 1.00494 1.02064 1.03212 1.01339 -1.01279 1.03091 1.01822 1.02064 1.02547 1.02608 1.01943 1.00735 -1.02064 1.02004 1.03272 1.02547 1.03091 1.01762 1.01037 1.02064 -1.01037 0.994668 0.974736 0.967488 0.968696 0.970508 0.971716 0.964468 -0.974736 0.97232 0.995272 1.01339 1.01581 1.02366 1.01883 1.01702 -1.014 1.01822 1.00916 1.02124 1.02487 1.02547 1.02124 1.01641 -1.02426 1.00735 1.01762 1.01822 1.01158 1.01702 1.02004 1.02306 -1.01702 1.02306 1.01641 1.00675 1.03816 1.01641 1.01339 1.01702 -1.01943 1.01822 1.00252 1.014 1.0146 1.01883 1.02608 1.01098 -1.01702 1.01641 1.01218 1.01702 1.01098 1.02064 1.00131 1.0146 -1.01822 1.0146 1.01702 1.02004 1.02185 1.01158 1.01822 1.01098 -1.00916 1.01762 1.02064 1.02608 1.0146 1.0146 1.02366 1.02789 -1.01641 1.02004 1.02728 1.02426 1.02728 1.02789 1.03091 1.03936 -1.04661 1.05265 1.03393 0.3311 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00602 -0.0110367 0.00602 0.00501667 0.00401333 0.00602 0.00301 0 0.00301 -0.00100333 0.00200667 0 0 0 0 0 0.00301 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0.00200667 0.00401333 -0.00501667 0.00401333 0.00100333 0.00200667 0.00501667 0.00602 0 0 -0 0 0 0 0 0 0.00501667 0.00702333 -0.00301 0.00200667 0.00501667 0.00401333 0.00501667 0.00501667 0 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0.125417 0.965072 1.05809 1.04782 1.03816 -1.03151 1.02245 1.02789 1.02366 1.01762 1.01702 1.02245 1.02366 -1.01822 1.01641 1.01943 1.02124 1.02124 1.02064 1.00916 1.00916 -1.02547 1.01158 1.01883 1.01702 1.01218 0.988628 0.994668 1.00494 -1.00192 0.995876 0.997688 1.06534 1.19352 1.21024 1.09915 1.014 -1.01702 1.01098 1.0152 1.01702 1.0146 1.01581 1.0152 1.01822 -1.0152 1.02608 1.02547 1.01943 0.989232 0.97836 1.00675 1.0291 -1.02728 1.02185 1.02547 1.02366 1.01702 1.03091 1.02064 1.02426 -1.01702 1.01943 1.01098 1.01339 1.02245 1.03151 1.0297 1.02004 -1.02849 1.02789 1.00796 0.992856 0.974736 0.974132 0.971716 0.971112 -0.992252 0.998292 1.01943 1.02487 1.02245 1.02064 1.01762 1.02849 -1.02245 1.02306 1.02849 1.02245 1.0146 1.02547 1.03332 1.02789 -1.02608 1.01581 1.01943 1.02306 1.02004 1.02004 1.02185 1.0303 -1.02185 1.014 1.00735 1.01641 1.01339 1.0152 1.02668 1.01822 -1.02789 1.0303 1.01279 1.01279 1.02124 1.02004 1.00977 1.00977 -1.00614 1.00433 1.00977 1.01098 1.01822 1.01822 1.01098 1.00916 -1.01762 1.02789 1.01822 1.01943 1.01218 1.01641 1.02306 1.01641 -1.01943 1.01158 1.01702 1.01822 1.02064 1.01883 1.01702 1.02789 -1.02124 1.02185 1.02064 1.01702 1.02124 1.03151 1.03212 1.03755 -1.04057 1.05326 0.796488 0.0250833 0 0 0 0 -0 0 0 0 0 0.00401333 0 0 -0 0.00602 0.00802667 0.00602 0.00903 0.00401333 0 0 -0 0 0.00301 0.00602 0 0 0 0 -0 0 0.00200667 0.00602 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.00100333 0 0.00602 0.00602 0.00702333 0.00200667 0.00301 -0.00702333 0 0.00200667 0.00200667 0 0 0 0 -0 0 0 0 0.00200667 0.00100333 0.00100333 0 -0.00100333 0.00401333 0.00301 0.00301 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0 0 0 0 0.464543 1.0448 1.03997 1.03514 -1.03272 1.02728 1.03091 1.02064 1.01822 1.02547 1.02124 1.02064 -1.0152 1.02004 1.01702 1.01218 1.0152 1.01158 1.01339 1.01762 -1.01339 1.0146 1.01098 1.00856 1.01339 0.986816 1.01158 1.00675 -1.01158 0.992856 1.04782 1.35286 1.49632 1.4959 1.41685 1.11385 -1.00735 1.00252 1.01339 1.02064 1.01339 1.014 1.0146 1.02306 -1.01702 1.02668 1.02728 1.01822 1.01762 0.991044 0.980776 1.00554 -1.0291 1.02849 1.02487 1.02064 1.02849 1.01883 1.0152 1.0146 -1.02487 1.02668 1.02608 1.01218 1.02366 1.01218 1.02306 1.01702 -1.02185 1.02366 1.02124 1.0297 1.01943 1.00796 1.01943 1.02004 -1.014 1.02426 1.02668 1.02004 1.01158 1.01943 1.03332 1.02608 -1.0152 1.01218 1.02124 1.01822 1.02004 1.01339 1.0146 1.01581 -1.01883 1.02245 1.02728 1.02064 1.02849 1.02789 1.01943 1.00856 -1.00614 1.01822 1.02487 1.01279 1.01641 1.01339 1.02366 1.02064 -1.01037 1.0146 1.02366 1.01641 1.02245 1.00856 1.01762 1.08725 -1.1296 1.08375 1.00494 1.0001 1.00131 1.01641 1.01641 1.01279 -1.00856 1.0146 1.00856 1.01158 1.01641 1.01762 1.02004 1.02668 -1.02306 1.01762 1.01762 1.01883 1.01822 1.0152 1.01641 1.01339 -1.01702 1.02426 1.03514 1.03453 1.03151 1.03332 1.0448 1.0442 -1.05144 1.02245 0.26488 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00802667 0 -0 0 0.00301 0 0.00200667 0.0100333 0.00301 0.00401333 -0 0 0 0 0 0.00301 0 0.00200667 -0 0 0 0 0 0.00401333 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0 0 0 0 0.00401333 0.00702333 0.00802667 -0.01204 0.00903 0.00802667 0.0110367 0.00501667 0.00200667 0 0 -0.00200667 0.00100333 0 0 0 0 0 0 -0 0.00301 0 0 0 0 0 0 -0 0 0 0 0.0531767 0.860888 1.05326 1.04601 -1.03936 1.03393 1.02608 1.02668 1.02547 1.02668 1.01581 1.02124 -1.02124 1.02728 1.01943 1.01037 1.01943 1.02064 1.02064 1.02426 -1.02245 1.01762 1.01641 1.01883 1.01762 0.983796 1.01339 1.01762 -1.0146 1.00131 1.16633 1.48293 1.49255 1.50468 1.50845 1.28469 -0.9995 1.00735 1.01822 1.01762 1.01581 1.01037 1.02064 1.01339 -1.01762 1.00735 1.02004 1.02487 1.02245 1.02426 1.0146 0.98742 -1.00192 1.01581 1.01339 1.00796 1.01943 1.01702 1.00977 1.01883 -1.01279 1.02426 1.02487 1.02124 1.02124 1.02668 1.01581 1.01822 -1.0291 1.014 1.014 1.02366 1.02366 1.02849 1.0291 1.02124 -1.02185 1.01943 1.01762 1.0297 1.0291 1.01762 1.02185 1.01158 -1.02487 1.02366 1.02185 1.01943 1.01218 1.00916 1.01641 1.0152 -1.01762 1.014 1.01943 1.01762 1.00916 1.01158 1.00675 1.00977 -1.01581 1.00675 1.02366 1.01218 1.014 1.02547 1.01702 1.01279 -1.01641 1.00856 1.0146 1.01279 1.01279 1.0146 1.17846 1.42689 -1.47792 1.42647 1.1634 0.992856 1.00312 1.00554 1.00675 1.00554 -1.00675 1.01641 1.01581 1.02306 1.01037 1.01641 1.01279 1.01098 -1.02004 1.01762 1.01339 1.0146 1.02245 1.01762 1.01762 1.02004 -1.0152 1.02185 1.02004 1.03212 1.02789 1.03212 1.03634 1.04661 -1.05628 0.67284 0.00501667 0 0 0 0 0 -0 0 0 0 0.00501667 0 0.00602 0.0110367 -0.00100333 0 0 0 0 0 0 0 -0.00702333 0.0100333 0.0100333 0.00702333 0.00401333 0.00301 0.00602 0.0100333 -0.00501667 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0 0 0 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.269897 1.01279 1.0454 -1.03695 1.03453 1.03393 1.03151 1.02608 1.02608 1.02547 1.02426 -1.01883 1.00735 1.01581 1.0152 1.02426 1.02004 1.02245 1.01702 -1.0152 1.02124 1.01822 1.01641 1.02064 0.98742 1.02245 1.0152 -1.02185 1.00252 1.18348 1.49464 1.49966 1.49423 1.49381 1.30017 -0.99648 1.00071 1.00312 1.00796 1.01581 1.0152 1.01098 1.00977 -1.02004 1.02668 1.01943 1.0146 1.02366 1.0146 1.0146 1.02547 -1.0146 0.998292 1.0146 1.0146 1.02547 1.01943 1.02124 1.02728 -1.02608 1.0146 1.01943 1.01762 1.02789 1.01943 1.02728 1.01883 -1.02004 1.01702 1.03212 1.02004 1.02366 1.0146 1.02728 1.03212 -1.01883 1.014 1.01883 1.02004 1.00856 1.02245 1.02245 1.02306 -1.02366 1.02124 1.02849 1.02547 1.02547 1.02004 1.02306 1.02064 -1.01943 1.02004 1.0152 1.01641 1.0152 1.01098 1.02004 1.014 -1.01762 1.01943 1.02789 1.02124 1.02366 1.02124 1.01279 1.02668 -1.01158 1.02608 1.01158 1.00494 1.0001 1.04601 1.40974 1.49004 -1.49339 1.50175 1.39636 1.04842 1.00071 1.00796 1.02124 1.014 -1.01339 1.0146 1.01762 1.0146 1.01218 1.0146 1.01641 1.02306 -1.01339 1.01822 1.01822 1.01762 1.0152 1.02426 1.02064 1.02366 -1.02004 1.02306 1.02124 1.0303 1.03272 1.03332 1.04722 1.04842 -0.976548 0.158527 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00702333 -0.0110367 0.0140467 0.00802667 0.00602 0.0100333 0.00401333 0.00602 0 -0 0 0 0 0 0 0 0 -0.00702333 0.01505 0.0110367 0.00602 0.00802667 0.00602 0.00903 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0 0 0 0 0.00401333 -0.00301 0.00301 0 0 0.00100333 0.00200667 0.00401333 0.00301 -0.00501667 0.00802667 0.00802667 0.00200667 0.00200667 0.00301 0.00301 0 -0.00200667 0.00200667 0 0 0 0 0 0.00301 -0.00401333 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0.578923 1.04601 -1.0442 1.03272 1.0297 1.02426 1.02608 1.02306 1.0291 1.02789 -1.02306 1.02547 1.02487 1.02487 1.02124 1.01702 1.0152 1.01883 -1.02004 1.01943 1.01641 1.01581 1.02064 0.98742 1.0152 1.0152 -1.01218 0.9995 1.08935 1.41685 1.51179 1.49883 1.45826 1.1443 -0.9844 1.00071 1.00675 1.01762 1.0146 1.01943 1.02064 1.02245 -1.01581 1.01218 1.01702 1.01762 1.02245 1.0146 1.01822 1.02245 -1.0152 1.01702 1.01883 1.00554 1.01098 1.02668 1.02245 1.02245 -1.01822 1.02608 1.02487 1.02849 1.01702 1.02245 1.02366 1.01641 -1.02124 1.02124 1.02306 1.02608 1.02487 1.02849 1.01883 1.02004 -1.0291 1.02608 1.02004 1.01581 1.01822 1.01158 1.02185 1.0303 -1.02124 1.01702 1.0152 1.01702 1.02064 1.02426 1.02306 1.0146 -1.01279 1.00796 1.00433 1.01822 1.02728 1.02064 1.02306 1.01158 -1.01641 1.01098 1.01702 1.01943 1.02185 1.01641 1.01883 1.01218 -1.01037 1.00494 1.01218 1.01158 1.00916 1.08935 1.45617 1.49799 -1.48963 1.49046 1.44362 1.07815 1.00856 1.01218 1.01641 1.01339 -1.00554 1.02426 1.02004 1.02487 1.0146 1.01822 1.01339 1.02608 -1.02608 1.014 1.0146 1.02185 1.02185 1.02306 1.01581 1.02789 -1.02366 1.0303 1.02849 1.04057 1.0454 1.05024 1.05024 1.04359 -0.495647 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0.00602 0.00602 0.0110367 0.00301 0 -0 0 0.00200667 0.00100333 0.00100333 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0.00903 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0892967 0.903392 -1.05869 1.05628 1.0448 1.03816 1.03695 1.03332 1.02487 1.01581 -1.01702 1.01883 1.02789 1.02245 1.01702 1.01762 1.02306 1.01702 -1.01762 1.01883 1.0152 1.02366 1.02547 0.991648 1.00675 1.014 -1.01702 1.01279 1.01883 1.1128 1.27633 1.29807 1.14709 1.01822 -1.0146 1.01641 1.01098 1.00614 1.01218 1.014 1.00916 1.01098 -1.02245 1.01883 1.00373 1.01822 1.02004 1.01279 1.02306 1.0146 -1.02245 1.01098 1.02668 1.01581 1.0303 1.014 1.01581 1.02668 -1.03212 1.02064 1.02185 1.01581 1.01641 1.02185 1.02064 1.02004 -1.01279 1.01581 1.02064 1.02306 1.01883 1.02004 1.01702 1.01581 -1.02608 1.01883 1.02306 1.01943 1.02789 1.02245 1.02064 1.01339 -1.0146 1.0152 1.02124 1.02245 1.02487 1.0146 1.0146 1.00916 -1.00252 1.00916 1.02426 1.01762 1.02185 1.01822 1.01641 1.0152 -1.01822 1.01158 1.01158 1.01822 1.01339 1.01641 1.00735 1.00373 -1.01339 1.00735 1.00675 1.00675 0.994064 1.02366 1.35119 1.50845 -1.49966 1.50217 1.33948 1.02547 0.992252 1.00675 1.01098 1.01641 -1.01158 1.02064 1.01098 1.02004 1.02124 1.01822 1.02608 1.01943 -1.01822 1.02306 1.01037 1.01762 1.01943 1.02668 1.02064 1.01943 -1.02185 1.0297 1.03212 1.03212 1.03574 1.04842 1.05507 0.850584 -0.0581933 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0.00702333 0.0170567 0.01806 -0.0170567 0.0130433 0.0130433 0.00301 0.00401333 0 0.00200667 0 -0 0.00301 0.00702333 0.00903 0 0.00802667 0.0130433 0.0130433 -0.00702333 0.00401333 0.00401333 0.00602 0.00702333 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0 0 0 0 -0 0 0 0.00100333 0.00200667 0.00301 0 0 -0 0 0 0 0 0 0 0.278927 -1.00373 1.0448 1.03876 1.02487 1.02426 1.0297 1.02668 1.03212 -1.02064 1.02245 1.02366 1.02185 1.0146 1.02306 1.02306 1.00916 -1.02245 1.01883 1.01581 1.02185 1.01641 1.00856 0.99044 1.02004 -1.02124 1.014 1.01098 1.0146 1.02004 1.02124 1.01158 1.01098 -1.01279 1.00433 1.00433 1.01943 1.01098 1.00977 1.00614 1.01943 -1.01158 1.0146 1.02064 1.02487 1.01943 1.02487 1.02185 1.02064 -1.02124 1.02608 1.02124 1.02789 1.02245 1.02185 1.02124 1.00977 -1.00433 0.991044 1.0001 1.0146 1.02124 1.02245 1.02064 1.02668 -1.02728 1.02728 1.02185 1.0152 1.02306 1.01581 1.02608 1.02245 -1.01158 1.02004 1.0146 1.02124 1.01702 1.01943 1.02849 1.01883 -1.01822 1.02064 1.01098 1.0001 1.00252 1.00373 1.00675 1.00735 -1.0152 1.0152 1.01339 1.02185 1.02547 1.0146 1.01279 1.02124 -1.02849 1.01339 1.01339 1.00916 1.014 1.02124 1.02608 1.02004 -1.00796 1.01702 1.02366 1.00916 1.00131 0.995876 1.09775 1.31899 -1.3972 1.3056 1.1009 1.01762 1.014 1.01641 1.02124 1.0152 -1.0146 1.02004 1.01883 1.01883 1.00916 1.01883 1.01943 1.02004 -1.02124 1.02849 1.02668 1.02245 1.02185 1.02487 1.0291 1.02366 -1.02306 1.03151 1.03695 1.03695 1.04238 1.05265 1.00494 0.24381 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0 0.00100333 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0 0.00100333 0.00501667 0 0 0 -0 0 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00401333 0 0 0.00100333 0.00100333 -0.00702333 0.00401333 0 0.00200667 0.00200667 0.00200667 0 0.00301 -0 0 0.00501667 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.49364 1.03876 1.04299 1.03393 1.03574 1.03332 1.03272 1.02608 -1.02487 1.02668 1.0303 1.02185 1.02185 1.02245 1.02245 1.02789 -1.02547 1.02306 1.02004 1.01158 1.0152 1.014 0.998292 1.00373 -1.01702 1.01943 1.02004 1.02064 1.0297 1.02366 1.02124 1.00916 -1.01943 1.01218 1.01098 1.00977 1.0152 1.02487 1.01883 1.01883 -1.01943 1.02245 1.02064 1.01098 1.0146 1.02004 1.0152 1.02124 -1.014 1.02366 1.0152 1.01339 1.00856 1.01339 1.01883 1.01098 -1.02064 1.02004 1.00856 1.00494 1.00675 1.01339 1.01037 1.01883 -1.01883 1.01218 1.0152 1.01702 1.01581 1.02608 1.02306 1.02004 -1.02366 1.01943 1.02124 1.01581 1.01822 1.0291 1.02185 1.01883 -1.00675 1.00735 1.00675 1.00735 1.01158 1.01218 1.00796 1.01339 -1.02064 1.01883 1.01822 1.0146 1.01581 1.02487 1.02366 1.02789 -1.02306 1.02608 1.02064 1.01702 1.0146 1.00977 1.01762 1.01883 -1.01279 1.01037 1.01702 1.02366 1.01702 1.01158 0.997688 1.03272 -1.05567 1.02849 1.01883 1.0152 1.01702 1.014 1.02124 1.01822 -1.02668 1.02426 1.02004 1.02185 1.014 1.02789 1.02185 1.01883 -1.01883 1.0146 1.02185 1.02004 1.02306 1.02789 1.02849 1.03695 -1.03151 1.03393 1.03695 1.04057 1.04299 1.03936 0.486617 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0 0.00802667 0 0.00200667 -0 0 0.00100333 0.00100333 0.00401333 0.00100333 0.00401333 0.00802667 -0.00702333 0.00100333 0 0 0 0.00301 0.00100333 0.00802667 -0.00802667 0.00903 0 0 0.01204 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00501667 0.00200667 0.00501667 0.00200667 0.00100333 0.00301 0.0100333 0.0110367 -0.00501667 0.00501667 0.00903 0.01505 0.0110367 0 0 0.00301 -0.00200667 0 0 0 0 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0.03311 0.716632 1.04842 1.04359 1.0448 1.03816 1.02849 1.0297 -1.02668 1.0303 1.03272 1.02185 1.01581 1.0146 1.02366 1.02426 -1.02306 1.03212 1.01822 1.02064 1.02306 1.01702 1.01943 0.988628 -1.00977 1.02728 1.02004 1.02004 1.01098 1.01822 1.01883 1.0152 -1.0146 1.01218 1.01581 1.02064 1.01943 1.02185 1.02004 1.02487 -1.02004 1.02245 1.02124 1.02004 1.01822 1.01641 1.02245 1.02064 -1.01883 1.02004 1.02064 1.02366 1.0146 1.0152 1.014 1.02487 -1.02064 1.01822 1.02064 1.01339 1.00796 1.01581 1.0146 1.0001 -1.00373 1.01581 1.00856 1.02064 1.01339 1.00856 1.00916 1.00856 -1.00614 1.00554 1.00494 1.01943 1.0152 1.01037 1.01339 1.01339 -1.00977 1.01702 1.01098 1.01218 1.01762 1.02124 1.02245 1.01641 -1.01762 1.01581 1.01943 1.02185 1.00735 1.02306 1.02004 1.02124 -1.02608 1.0146 1.01218 1.01943 1.02245 1.01822 1.00977 1.02366 -1.0152 1.01339 1.00735 1.01279 1.01158 1.00252 1.00554 1.00494 -1.01581 1.02004 1.01883 1.0146 1.02547 1.02728 1.01822 1.02245 -1.01943 1.01943 1.02608 1.02668 1.02849 1.01883 1.01702 1.02366 -1.02487 1.02728 1.02064 1.02366 1.02668 1.02064 1.02306 1.0303 -1.05084 1.04963 1.05144 1.05084 1.05748 0.73724 0.0381267 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0.00200667 0.00301 0.00401333 0.00200667 0 -0 0.00100333 0.0100333 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00501667 0.00301 0 0 -0 0.00401333 0.00200667 0.00401333 0.0110367 0.00702333 0.00200667 0.00301 -0 0 0 0 0.00200667 0 0 0 -0 0 0 0 0 0 0.00602 0.00903 -0.00602 0.00100333 0 0.00301 0.00903 0 0 0 -0 0 0 0 0 0 0 0 -0 0.116387 0.912408 1.05446 1.04359 1.03453 1.03514 1.03634 -1.03574 1.03574 1.02789 1.02366 1.02487 1.02547 1.02426 1.02547 -1.01702 1.01339 1.0152 1.02306 1.0152 1.0152 1.0152 0.9995 -0.998292 1.00192 1.01218 1.02366 1.01883 1.0152 1.0146 1.014 -1.01581 1.01702 1.01943 1.01702 1.02547 1.02849 1.02728 1.01339 -1.02245 1.02004 1.01943 1.01822 1.02185 1.01702 1.01762 1.02064 -1.02245 1.01098 1.02064 1.01581 1.02426 1.02728 1.01822 1.01943 -1.01702 1.01581 1.01883 1.01158 1.02306 1.02245 1.01883 1.02064 -1.02306 1.01098 1.01702 1.0152 1.01581 1.01883 1.02426 1.01218 -1.02245 1.02366 1.02547 1.02004 1.00675 1.01581 1.01883 1.01943 -1.01883 1.01702 1.01822 1.02004 1.01581 1.01883 1.02245 1.02547 -1.02124 1.02789 1.01641 1.0152 1.0152 1.02064 1.00916 1.00916 -1.02124 1.02366 1.01581 1.01702 1.02245 1.00856 1.02366 1.00916 -1.01158 1.02004 1.0146 1.01339 1.02366 1.01762 1.01883 1.01339 -1.02426 1.01702 1.02426 1.00977 1.01702 1.01339 1.014 1.01218 -1.01581 1.01943 1.0152 1.01098 1.02064 1.01762 1.01822 1.02064 -1.02185 1.01762 1.02124 1.01943 1.0291 1.03332 1.0291 1.02487 -1.03151 1.03634 1.04601 1.05567 0.886648 0.106353 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00301 0 0.00200667 0 0 0 0 0 -0.00602 0 0 0 0 0 0.00200667 0 -0.00100333 0 0 0 0.00100333 0 0 0 -0 0 0 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0 0.00401333 0.00200667 0.00200667 0 0 0 -0.00100333 0.00301 0 0 0 0 0 0 -0 0.00401333 0.00401333 0.00401333 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0.00802667 0.00301 0 0 0.00702333 0 0 0 -0 0 0.20769 0.961448 1.04963 1.04178 1.03936 1.03393 -1.03212 1.02004 1.02064 1.02185 1.02487 1.01943 1.02426 1.02064 -1.0152 1.02306 1.02668 1.01883 1.02124 1.02547 1.02426 1.03332 -1.02185 1.01883 1.01762 1.01218 1.01037 1.00977 1.01098 1.01158 -1.0146 1.02004 1.0146 1.01883 1.02185 1.01883 1.00856 1.02124 -1.01641 1.00675 1.00977 1.02608 1.02245 1.00856 1.01702 1.01098 -1.01279 1.01581 1.00735 1.01762 1.02004 1.02668 1.0146 1.01702 -1.02124 1.01641 1.01943 1.02185 1.02004 1.014 1.01883 1.01883 -1.0152 1.00433 1.00494 1.0152 1.0291 1.06111 1.07885 1.06534 -1.05144 1.01822 1.00977 1.01037 1.01943 1.02728 1.00916 1.01762 -1.01702 1.03091 1.01883 1.02306 1.02124 1.01822 1.01822 1.02245 -1.01762 1.02487 1.01943 1.01702 1.01702 1.01218 1.01098 1.01641 -1.01581 1.02124 1.01339 1.02306 1.0297 1.02124 1.0303 1.03755 -1.02306 1.02185 1.02366 1.014 1.01279 1.00916 1.02064 1.0146 -1.02185 1.01822 1.01641 1.01702 1.014 1.02426 1.02185 1.02004 -1.01702 1.0146 1.01883 1.02245 1.02366 1.02426 1.01822 1.02608 -1.02547 1.02245 1.0303 1.02547 1.02789 1.03453 1.03695 1.04118 -1.04601 1.0448 1.05507 0.957824 0.205683 0 0 0 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0 0.00100333 0 0.00301 0 -0 0.00301 0.00702333 0.00903 0 0.00401333 0 0.00301 -0.00200667 0.00100333 0.00301 0 0 0.00100333 0.00602 0.00501667 -0.00501667 0.01204 0.0110367 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.0100333 0.00702333 -0 0.00200667 0 0 0 0.00100333 0 0.00100333 -0.00100333 0 0 0 0.00401333 0.00401333 0 0 -0.00100333 0 0 0.00301 0 0 0 0 -0 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.27391 0.98742 1.04842 1.03091 1.02728 -1.0297 1.03695 1.03695 1.02849 1.02366 1.03212 1.02608 1.02124 -1.02245 1.02426 1.01218 1.02124 1.02124 1.02366 1.03091 1.01581 -1.01883 1.02185 1.01279 1.0146 1.01702 1.01883 1.01158 1.02366 -1.0291 1.0146 1.01279 1.01762 1.01641 1.01822 1.01943 1.02306 -1.02185 1.0291 1.02306 1.01943 1.00433 1.02366 1.02124 1.014 -1.01581 1.0297 1.02004 1.02064 1.01822 1.01339 1.02185 1.02306 -1.01641 1.02608 1.02185 1.014 1.014 1.02366 1.01702 1.01762 -1.0146 1.02487 1.04782 1.0918 1.12435 1.138 1.13415 1.1359 -1.1387 1.11245 1.07535 1.01702 1.01822 1.01218 1.01762 1.014 -1.00614 1.00796 1.01581 1.014 1.01641 1.01279 1.00131 1.01581 -1.0146 1.01822 1.02426 1.01883 1.02064 1.01822 1.02124 1.01037 -1.02185 1.02004 1.02245 1.01762 1.02245 1.014 1.01943 1.02306 -1.01943 1.01762 1.02245 1.02185 1.01702 1.014 1.00977 1.01279 -1.02004 1.02185 1.02668 1.01339 1.0152 1.01581 1.02608 1.02185 -1.02426 1.01762 1.01762 1.02064 1.014 1.01702 1.02245 1.01702 -1.02849 1.02487 1.02245 1.02064 1.03091 1.03514 1.03634 1.04118 -1.04842 1.0593 0.974736 0.271903 0 0 0 0 -0 0 0 0 0 0.00301 0 0 -0.00100333 0 0 0 0 0 0.00200667 0 -0 0 0 0 0.00100333 0 0 0 -0 0.00602 0.00602 0.00501667 0.00200667 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0.00501667 0.00301 0.0160533 0.00903 0.00301 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0.32809 0.995272 1.05084 1.03997 -1.04359 1.04178 1.03816 1.02849 1.02728 1.03091 1.01883 1.02366 -1.02849 1.02185 1.01943 1.01762 1.02789 1.01641 1.01883 1.01218 -1.02004 1.01822 1.01641 1.01822 1.02185 1.01762 1.02487 1.0146 -1.01883 1.0152 1.02124 1.01339 1.01641 1.03151 1.02185 1.02004 -1.01702 1.02064 1.01762 1.01339 1.01943 1.02668 1.02789 1.02064 -1.01883 1.01279 1.02245 1.01762 1.02245 1.0146 1.02426 1.01762 -1.01279 1.02064 1.0146 1.02064 1.01098 1.02185 1.0146 1.0152 -1.014 1.06956 1.1275 1.1429 1.13695 1.1408 1.13835 1.1373 -1.138 1.14115 1.1331 1.10125 1.02426 1.01339 1.02366 1.0146 -1.02245 1.02064 1.01218 1.0152 1.01098 1.0152 1.01339 1.01279 -1.02547 1.02245 1.0146 1.02426 1.01641 1.01822 1.02306 1.02124 -1.0146 1.0297 1.02185 1.00977 1.0146 1.0146 1.01641 1.02004 -1.0152 1.0146 1.01762 1.0146 1.01098 1.02487 1.01339 1.00977 -1.01641 1.01279 1.01581 1.01702 1.02064 1.02668 1.01339 1.0291 -1.02728 1.02728 1.02064 1.02366 1.02849 1.01883 1.01943 1.02064 -1.02426 1.02306 1.02849 1.03574 1.03091 1.03997 1.04238 1.04722 -1.05446 0.988024 0.317053 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.0100333 0.00903 0.00301 0 0 0 0.00301 -0.00501667 0.00401333 0.00802667 0.00401333 0.00100333 0.00401333 0.00602 0.00100333 -0 0 0 0 0 0 0 0 -0 0.00702333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0 0 0 0 0 0.00301 0 0 -0 0 0 0 0.00401333 0.00100333 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.0130433 0 0 0 0 0 -0 0 0 0 0.00301 0 0 0 -0 0 0 0 0 0.32508 0.989836 1.05507 -1.03997 1.03574 1.03755 1.0297 1.03755 1.02728 1.02426 1.02728 -1.02366 1.02185 1.01822 1.02064 1.02004 1.02849 1.02185 1.02366 -1.02185 1.0146 1.01943 1.02668 1.0303 1.014 1.01581 1.02426 -1.0146 1.01098 1.01581 1.02185 1.02426 1.01641 1.02245 1.02728 -1.01037 1.01943 1.02124 1.014 1.03212 1.0146 1.0152 1.01702 -1.02728 1.02487 1.02004 1.02124 1.0152 1.00796 1.0152 1.01158 -1.02124 1.0146 1.02124 1.01702 1.01098 1.01702 1.01339 1.01279 -1.04661 1.12435 1.1366 1.1394 1.14325 1.1366 1.13485 1.13765 -1.1366 1.1359 1.1394 1.13695 1.11035 1.01822 1.00796 1.01883 -1.0152 1.01762 1.01822 1.00735 1.02064 1.0303 1.0146 1.02004 -1.02064 1.01702 1.014 1.01339 1.014 1.02426 1.01943 1.02124 -1.01641 1.01641 1.02426 1.02185 1.02487 1.02789 1.02306 1.01943 -1.0146 1.02245 1.01218 1.02185 1.01581 1.01339 1.01822 1.0146 -1.02547 1.02004 1.02245 1.02366 1.02124 1.01822 1.014 1.01762 -1.02185 1.02064 1.02064 1.02426 1.02668 1.02668 1.03151 1.02547 -1.03151 1.03393 1.03453 1.03816 1.03936 1.0442 1.0448 1.05446 -0.979568 0.293977 0 0 0 0 0 0 -0 0 0 0 0 0 0.00501667 0 -0 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0.00301 -0.0160533 0.0100333 0.00602 0.00301 0 0 0 0.00100333 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00200667 0 0 0 0.00501667 -0.00903 0.00200667 0.00200667 0 0 0.00200667 0.00401333 0.00301 -0 0 0.00602 0.00301 0.00802667 0.00802667 0.00100333 0 -0.00602 0.00602 0 0 0 0 0 0 -0.00100333 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0.284947 0.970508 -1.05567 1.04601 1.04178 1.0448 1.03393 1.02668 1.01702 1.02668 -1.02306 1.02306 1.02124 1.02547 1.02487 1.02245 1.01822 1.02668 -1.02245 1.02124 1.02004 1.0297 1.02728 1.02185 1.02245 1.02668 -1.02366 1.02728 1.02306 1.014 1.01762 1.01037 1.00916 1.01279 -1.02849 1.02789 1.01822 1.01883 1.03332 1.02306 1.02185 1.01883 -1.014 1.02789 1.01641 1.02547 1.02789 1.02004 1.01762 1.0146 -1.01641 1.02004 1.01339 1.01702 1.01822 1.00977 1.0146 1.02668 -1.11735 1.14325 1.13485 1.1387 1.13485 1.1296 1.138 1.1359 -1.13695 1.1324 1.14115 1.1429 1.1394 1.0757 0.997084 1.00554 -1.01218 1.00977 1.02245 1.01943 1.02366 1.02426 1.02185 1.0152 -1.01641 1.02608 1.01883 1.02004 1.02668 1.01702 1.01581 1.02004 -1.01822 1.02124 1.0303 1.02064 1.0152 1.01702 1.014 1.01883 -1.02366 1.02366 1.01218 1.01581 1.01762 1.01822 1.01581 1.02004 -1.02004 1.01641 1.02306 1.02004 1.02245 1.02306 1.01279 1.02608 -1.02064 1.02064 1.0146 1.02668 1.02426 1.01883 1.02487 1.0291 -1.03151 1.03212 1.03151 1.03876 1.04238 1.05024 1.05567 0.95722 -0.280933 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00602 -0 0 0.00100333 0 0 0 0.00401333 0 -0 0.0100333 0.00903 0 0 0 0 0 -0 0.00100333 0.00301 0.00401333 0.00200667 0 0.00100333 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00702333 0.00401333 0 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0.00200667 0 0 0 0 0 0 0.00301 -0 0 0 0 0 0 0.00401333 0 -0 0 0 0 0 0 0.00401333 0 -0 0 0 0 0 0 0 0.205683 -0.886648 1.05084 1.04178 1.03634 1.0297 1.03272 1.03755 1.02728 -1.03091 1.02728 1.02728 1.02426 1.02366 1.02668 1.03091 1.02064 -1.0146 1.01822 1.01883 1.02124 1.00977 1.01339 1.02124 1.01581 -1.0146 1.02064 1.01218 1.01883 1.02124 1.02608 1.02608 1.01641 -1.0146 1.01641 1.01702 1.01943 1.01762 1.01339 1.02004 1.02064 -1.01581 1.0146 1.01762 1.00494 1.01037 1.02185 1.02789 1.0146 -1.01581 1.00916 1.01762 1.01158 1.01581 1.01339 0.997688 1.06473 -1.1324 1.14185 1.1366 1.1331 1.1275 1.1338 1.13555 1.13345 -1.1366 1.1331 1.1338 1.14185 1.1415 1.12015 1.02849 1.00071 -1.00735 1.01098 1.00735 1.00494 1.01943 1.01641 1.014 1.01762 -1.02185 1.014 1.02245 1.02426 1.02124 1.02306 1.02789 1.0146 -1.01762 1.02064 1.00675 1.0146 1.02668 1.02245 1.01098 1.01158 -1.01702 1.02668 1.01943 1.01037 1.01762 1.02426 1.01943 1.02064 -1.02668 1.02366 1.02004 1.0291 1.02487 1.02306 1.02789 1.02668 -1.01883 1.02245 1.02245 1.01339 1.02789 1.02004 1.02547 1.02728 -1.03272 1.04118 1.03876 1.05144 1.04903 1.05205 0.905968 0.205683 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00401333 0 0.01505 0.00501667 0 0.00100333 -0.0110367 0.00802667 0.00401333 0.00702333 0.0110367 0.00200667 0 0.00602 -0.00301 0 0.00200667 0.0100333 0.00602 0.00903 0.00802667 0.00100333 -0 0 0 0 0.00301 0.00401333 0 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0 0 0 0 0 -0.00100333 0 0 0.00501667 0 0 0.00200667 0.00200667 -0 0.00401333 0 0 0.00200667 0.00602 0.00200667 0 -0 0.00301 0.00200667 0 0 0.00200667 0 0 -0.00602 0.00301 0 0 0 0.00501667 0 0 -0 0 0.00200667 0 0 0 0 0 -0.119397 0.747544 1.04118 1.04359 1.03997 1.04359 1.04238 1.03514 -1.03816 1.03634 1.03151 1.03695 1.02789 1.02124 1.0146 1.0303 -1.0303 1.02668 1.02185 1.02608 1.02487 1.02306 1.02547 1.01339 -1.02426 1.02608 1.02004 1.02185 1.02547 1.01762 1.01883 1.02306 -1.02547 1.02245 1.02849 1.01641 1.01581 1.01943 1.02245 1.014 -1.02064 1.02124 1.0291 1.02185 1.02487 1.01943 1.014 1.01822 -1.01822 1.01702 1.01581 1.02185 1.0146 1.02004 1.01339 1.10755 -1.14325 1.145 1.1366 1.13485 1.1352 1.13485 1.13485 1.13205 -1.138 1.1394 1.1345 1.1366 1.1352 1.1366 1.05869 1.01762 -1.01762 1.01218 1.01883 1.00735 1.02124 1.01098 1.0152 1.0146 -1.0146 1.01158 1.02004 1.02004 1.02004 1.02185 1.01943 1.01702 -1.01641 1.02245 1.01762 1.02004 1.02004 1.01883 1.02245 1.01279 -1.01218 1.02064 1.02728 1.02487 1.0152 1.02547 1.00977 1.02124 -1.0152 1.02124 1.014 1.01641 1.02547 1.02064 1.01883 1.02306 -1.02668 1.02426 1.0303 1.02306 1.02306 1.0303 1.02849 1.03151 -1.03634 1.03755 1.04722 1.0593 1.06292 0.80164 0.13545 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0 0 0 0 0.00200667 0.00100333 0 -0 0.00200667 0 0 0.00200667 0.00301 0.00401333 0.00301 -0.00301 0 0 0 0 0 0.00100333 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.00702333 0.00602 -0 0.00100333 0.00802667 0 0.00401333 0 0 0 -0.00401333 0.00602 0 0.00100333 0.00100333 0 0 0.00802667 -0.00301 0 0 0 0.00100333 0 0 0.00100333 -0 0 0 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0321067 0.49966 1.01158 1.04842 1.04782 1.04842 1.0442 -1.04238 1.03091 1.03091 1.02487 1.02668 1.03151 1.03574 1.02366 -1.02547 1.03151 1.02547 1.02185 1.02849 1.0152 1.02306 1.01883 -1.01943 1.01762 1.01581 1.02547 1.02547 1.02124 1.02426 1.0297 -1.01098 1.02124 1.01943 1.02608 1.02608 1.02366 1.01641 1.02245 -1.02245 1.02124 1.01158 1.0146 1.01883 1.01943 1.00856 1.01218 -1.01822 1.02064 1.014 1.0152 1.00916 1.01037 1.01641 1.12155 -1.1373 1.14185 1.13555 1.13415 1.13345 1.1387 1.1324 1.131 -1.13625 1.14045 1.13695 1.1324 1.13485 1.14542 1.08235 1.01037 -1.01702 1.02064 1.01943 1.0152 1.02668 1.02245 1.01822 1.02487 -1.01702 1.01702 1.01218 1.01641 1.02004 1.02064 1.014 1.0146 -1.01822 1.01943 1.0297 1.02124 1.01641 1.02728 1.02728 1.01943 -1.02004 1.01702 1.01822 1.02668 1.01883 1.0152 1.02547 1.01158 -1.01581 1.02366 1.01581 1.02064 1.01883 1.02306 1.02728 1.01641 -1.01943 1.02366 1.03514 1.03634 1.03212 1.0297 1.03997 1.03695 -1.05084 1.0448 1.04782 1.02547 0.59297 0.06622 0 0 -0 0 0 0 0 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0.00602 0 0 0 0 0 0 0 -0 0 0.00401333 0.00301 0 0.00200667 0.00602 0.00702333 -0.01204 0.00501667 0.00602 0 0 0.00301 0.00501667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0 0 0.00301 0.00100333 0 0 0.00100333 0 -0.00200667 0 0 0 0 0 0.00602 0.00501667 -0.00702333 0 0 0 0 0 0 0 -0 0 0 0.266887 0.880208 1.05205 1.05205 1.0448 -1.03453 1.03816 1.03816 1.04238 1.03272 1.03151 1.03755 1.02124 -1.02668 1.0303 1.01883 1.02789 1.03091 1.01822 1.01943 1.02426 -1.02608 1.02306 1.02849 1.03272 1.02004 1.01762 1.01702 1.01762 -1.02306 1.01339 1.01641 1.01883 1.02789 1.01822 1.01641 1.01883 -1.02789 1.02064 1.02487 1.01581 1.02064 1.01822 1.02608 1.02124 -1.014 1.01037 1.02245 1.02426 1.014 1.01098 1.01702 1.12715 -1.13835 1.13275 1.14045 1.1373 1.13835 1.1338 1.1338 1.1352 -1.13415 1.13625 1.13695 1.1422 1.14542 1.14918 1.0939 1.00977 -1.00373 1.01037 1.01883 1.0146 1.01279 1.0146 1.01702 1.02124 -1.01702 1.02487 1.02245 1.01581 1.02004 1.01581 1.0146 1.02426 -1.01883 1.02487 1.0146 1.01641 1.02306 1.02547 1.02245 1.01822 -1.03272 1.01037 1.01822 1.01943 1.02245 1.01702 1.02306 1.02245 -1.02728 1.02306 1.01943 1.02728 1.02487 1.02245 1.03453 1.03151 -1.02064 1.02245 1.02789 1.02789 1.03816 1.03212 1.04661 1.04722 -1.05688 1.05446 0.959636 0.377253 0.00702333 0 0 0 -0 0 0 0 0 0 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00903 0.00501667 0.00100333 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0.00802667 0.00802667 0.00501667 0.00301 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0.00200667 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0.00702333 0.00802667 0 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0762533 0.5418 0.992252 1.05144 -1.04601 1.04359 1.04057 1.03755 1.0291 1.03816 1.02789 1.02426 -1.03755 1.03332 1.03876 1.02668 1.02124 1.02728 1.02245 1.02004 -1.02124 1.02245 1.02064 1.02668 1.02366 1.02728 1.02064 1.01943 -1.02789 1.01883 1.01883 1.02608 1.01339 1.02306 1.02064 1.01762 -1.02004 1.0152 1.01822 1.0146 1.02004 1.01883 1.01943 1.0291 -1.02728 1.02366 1.01822 1.01581 1.01037 1.00554 1.01702 1.12015 -1.14255 1.14255 1.13345 1.12785 1.13275 1.13835 1.1408 1.13765 -1.138 1.1359 1.1338 1.13345 1.1366 1.13695 1.08235 1.00977 -1.01098 1.0146 1.01581 1.0146 1.02124 1.01581 1.02426 1.02306 -1.02487 1.02366 1.02064 1.02064 1.03393 1.02849 1.02124 1.02245 -1.0303 1.02185 1.01822 1.0297 1.02245 1.01641 1.02728 1.02004 -1.03514 1.02245 1.02185 1.02728 1.02306 1.02185 1.03091 1.01822 -1.02004 1.03514 1.02124 1.02849 1.02185 1.02245 1.02185 1.03393 -1.0291 1.03151 1.03574 1.03514 1.04057 1.04903 1.04903 1.05265 -1.03453 0.742392 0.157523 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.01204 -0 0 0.00802667 0.00602 0 0 0.00501667 0.00602 -0.00501667 0.00301 0 0 0 0 0 0.00702333 -0.00301 0 0 0 0.00401333 0.00100333 0.00702333 0.00702333 -0.00301 0.00100333 0 0.00602 0.00602 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0 0.00100333 0.00100333 0 -0 0 0 0.00200667 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0.00200667 0 0 0 0.00200667 0 0 0 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0.214713 0.753984 -1.0303 1.05869 1.0448 1.04601 1.04601 1.0454 1.04118 1.04299 -1.03453 1.0291 1.02487 1.02306 1.02185 1.01822 1.0291 1.0297 -1.02849 1.02306 1.02608 1.02185 1.02004 1.02668 1.02487 1.02487 -1.01702 1.01822 1.0303 1.0297 1.01581 1.01702 1.01581 1.01702 -1.02004 1.0303 1.02487 1.02728 1.02668 1.02064 1.01943 1.01762 -1.014 1.01883 1.00977 1.01279 1.01822 1.0152 1.01641 1.10405 -1.14185 1.14115 1.13765 1.1394 1.1394 1.13485 1.13555 1.1366 -1.1324 1.14045 1.1338 1.13625 1.1408 1.1415 1.07138 1.01037 -1.01822 1.02185 1.02185 1.01883 1.03212 1.02487 1.0146 1.02245 -1.01581 1.02426 1.02064 1.02306 1.0146 1.0146 1.02306 1.02608 -1.02064 1.0152 1.01762 1.02185 1.02064 1.01762 1.02004 1.02004 -1.02306 1.02547 1.02366 1.02366 1.02064 1.02245 1.02366 1.03514 -1.02728 1.02366 1.02185 1.02789 1.02849 1.03212 1.02789 1.0291 -1.04238 1.04118 1.04118 1.05446 1.05024 1.05748 1.05688 0.95118 -0.383273 0.0321067 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00301 0 0 0 0 0 0 -0 0 0.00501667 0.00301 0.00501667 0.00301 0 0 -0 0.00401333 0 0 0 0 0 0 -0.00100333 0 0.00100333 0 0.00501667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0 0 0 0 0.00501667 0 -0 0 0.00200667 0 0 0.00602 0.00401333 0 -0 0 0 0 0.00100333 0 0 0.00200667 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0130433 -0.292973 0.796488 1.02547 1.0605 1.05386 1.03634 1.03634 1.03272 -1.0297 1.03212 1.03212 1.03695 1.03574 1.0303 1.0303 1.03151 -1.02668 1.0297 1.02849 1.02547 1.03695 1.02789 1.02366 1.02426 -1.02608 1.02185 1.02064 1.0152 1.02185 1.02366 1.02608 1.0297 -1.02366 1.02185 1.01822 1.02185 1.02789 1.02004 1.0146 1.02185 -1.02366 1.01883 1.01943 1.02728 1.01943 1.0152 1.01581 1.07379 -1.1422 1.14325 1.14045 1.13765 1.13625 1.13905 1.13975 1.1359 -1.1373 1.13835 1.1408 1.14465 1.1429 1.12505 1.02608 1.01822 -1.00796 1.02245 1.02004 1.01883 1.02547 1.0152 1.02245 1.02426 -1.02608 1.02185 1.02064 1.02608 1.01943 1.02366 1.02064 1.02668 -1.02366 1.03212 1.02366 1.03091 1.02789 1.02306 1.02668 1.01702 -1.02185 1.02547 1.02547 1.02366 1.01943 1.02124 1.02004 1.0291 -1.0291 1.03695 1.03393 1.03453 1.0297 1.0448 1.03332 1.03212 -1.04118 1.0454 1.04782 1.04782 1.05748 0.991044 0.569893 0.103343 -0 0 0 0 0 0 0 0 -0 0.00100333 0 0.00200667 0 0 0 0 -0 0.00301 0.00501667 0.00401333 0 0.00501667 0 0 -0 0 0 0 0 0 0 0 -0.00301 0 0.00301 0 0.00301 0.00602 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00602 0.00702333 0 0 0 0 0 -0 0 0 0 0.00401333 0.00100333 0 0 -0.00401333 0.01505 0.00602 0 0.00401333 0 0 0 -0 0 0.01204 0.00401333 0 0 0.00602 0 -0 0 0 0 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0 0.01505 0.27692 0.725648 1.00494 1.04722 1.04842 1.04722 -1.04842 1.04118 1.04601 1.03332 1.03695 1.0297 1.03876 1.0297 -1.03212 1.03453 1.03091 1.02728 1.0297 1.02366 1.02426 1.02426 -1.0303 1.0291 1.02487 1.0303 1.02728 1.0297 1.02487 1.02426 -1.02004 1.02426 1.02789 1.02124 1.02306 1.02728 1.03212 1.02608 -1.02124 1.02124 1.02426 1.02487 1.02245 1.02004 1.01581 1.02608 -1.12155 1.14115 1.145 1.13975 1.1443 1.1352 1.138 1.13975 -1.1422 1.14185 1.1436 1.1394 1.1436 1.08445 1.01037 1.02185 -1.02004 1.02487 1.02124 1.01943 1.02245 1.02487 1.01943 1.01943 -1.02245 1.02668 1.02426 1.02487 1.02547 1.02728 1.02547 1.01883 -1.02004 1.01581 1.03332 1.02064 1.02004 1.0291 1.03091 1.02668 -1.01943 1.02487 1.0297 1.02547 1.02608 1.02728 1.02487 1.0297 -1.02185 1.02668 1.03453 1.0442 1.03695 1.04178 1.03514 1.05144 -1.05386 1.0599 1.06292 0.998292 0.62776 0.175583 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00602 0 0 0 0 0.00200667 -0 0 0 0 0 0 0.00200667 0 -0 0 0.00200667 0 0 0 0 0 -0 0 0 0.00903 0.00301 0 0 0.00301 -0 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00501667 0.00301 -0 0 0 0 0 0 0 0 -0.00501667 0.00903 0.00602 0 0 0 0 0.00100333 -0 0 0 0 0 0 0 0.00301 -0 0 0 0 0 0 0 0 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.17458 0.528757 0.93608 1.03936 -1.05144 1.05446 1.04722 1.04903 1.04118 1.03936 1.04178 1.03272 -1.03272 1.03151 1.03574 1.03091 1.03695 1.03151 1.02789 1.0303 -1.0297 1.0291 1.02849 1.02426 1.02426 1.0303 1.0146 1.02789 -1.02789 1.03332 1.02728 1.0291 1.02668 1.02245 1.02004 1.02064 -1.02426 1.02789 1.0291 1.01158 1.02124 1.02306 1.02487 1.02124 -1.0599 1.13065 1.14667 1.14325 1.14185 1.14045 1.14751 1.14185 -1.1422 1.1401 1.14835 1.14918 1.1093 1.02789 1.02608 1.0303 -1.02789 1.02245 1.02426 1.02004 1.02668 1.03272 1.0303 1.02789 -1.03151 1.02004 1.02185 1.02668 1.02849 1.02245 1.02849 1.02608 -1.02306 1.03091 1.0291 1.02004 1.02366 1.02366 1.02245 1.03755 -1.02547 1.03453 1.03393 1.02547 1.03332 1.02728 1.03393 1.03574 -1.02608 1.03816 1.03695 1.04299 1.04903 1.05688 1.04782 1.05688 -1.05024 0.962052 0.588957 0.181603 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00401333 0 0 0 -0 0 0 0 0.00301 0.00200667 0 0 -0 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0.00401333 0.00100333 0.00702333 -0.00602 0.00301 0.00702333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00802667 0 0 0 0.00200667 0.00903 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0581933 0.296987 -0.6342 0.96024 1.04238 1.04842 1.04963 1.05205 1.0454 1.03936 -1.03755 1.03574 1.04178 1.03695 1.03816 1.0297 1.03091 1.0303 -1.03272 1.0291 1.03453 1.02789 1.02608 1.03453 1.03876 1.03393 -1.03755 1.03393 1.03091 1.02849 1.02426 1.03091 1.0303 1.03393 -1.03272 1.03091 1.02789 1.02728 1.0291 1.03091 1.0303 1.02608 -1.02245 1.07077 1.12855 1.15378 1.1415 1.1429 1.15295 1.14395 -1.1443 1.14793 1.14395 1.11315 1.04178 1.02245 1.0303 1.02728 -1.03091 1.02668 1.0291 1.03151 1.02547 1.0291 1.03332 1.02728 -1.02426 1.0291 1.02849 1.0297 1.02547 1.03151 1.03151 1.03514 -1.02547 1.0291 1.03091 1.03151 1.02306 1.03272 1.03634 1.03151 -1.03151 1.02547 1.03634 1.03212 1.03816 1.03876 1.04903 1.04722 -1.03695 1.04118 1.04782 1.05084 1.05386 1.0599 1.00977 0.845432 -0.43043 0.11137 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0 -0 0 0 0 0 0 0.00100333 0 -0.00501667 0.00301 0 0 0 0 0.00100333 0 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0.00301 0 0 0 0 0 0 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00802667 0.00802667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0652167 0.244813 0.542803 0.850584 0.992856 1.03514 1.04178 -1.05748 1.05809 1.05326 1.04238 1.04057 1.0454 1.04238 1.04299 -1.03634 1.04178 1.03453 1.03936 1.03695 1.03936 1.03514 1.02608 -1.03332 1.03091 1.02487 1.03936 1.03755 1.03332 1.03695 1.03876 -1.02608 1.03755 1.03574 1.03634 1.03574 1.03272 1.03212 1.0297 -1.02547 1.03453 1.0599 1.1044 1.1289 1.14045 1.1496 1.15211 -1.145 1.12295 1.08655 1.04118 1.02668 1.03574 1.03695 1.03755 -1.03272 1.03453 1.03453 1.03514 1.03393 1.04057 1.04118 1.03151 -1.02487 1.0303 1.03755 1.03332 1.03212 1.03272 1.0303 1.0291 -1.03574 1.03876 1.04238 1.03272 1.03634 1.03453 1.03393 1.03816 -1.04238 1.04238 1.03695 1.04238 1.03816 1.03393 1.05024 1.04963 -1.05265 1.05688 1.04903 1.014 0.867328 0.522737 0.20167 0.0170567 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00903 0 0.00301 0.00301 0 0 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00401333 0.124413 0.302003 0.53879 -0.818384 0.957824 1.0152 1.03755 1.05024 1.05326 1.05144 1.05446 -1.05144 1.04782 1.03876 1.04359 1.04238 1.03876 1.03514 1.03453 -1.0442 1.04359 1.04963 1.03997 1.03816 1.04903 1.03514 1.04238 -1.03514 1.04118 1.04601 1.0442 1.0454 1.03695 1.04601 1.03816 -1.03936 1.03936 1.03936 1.04359 1.06171 1.07675 1.08305 1.08025 -1.06775 1.05084 1.04722 1.03997 1.03634 1.03091 1.03936 1.03695 -1.03876 1.03816 1.04057 1.03936 1.03816 1.03997 1.04057 1.04118 -1.0448 1.04601 1.03695 1.0454 1.0442 1.04118 1.03876 1.03816 -1.04057 1.03695 1.04782 1.03936 1.03634 1.04842 1.0454 1.04178 -1.04118 1.04963 1.0442 1.05688 1.0593 1.04903 1.03151 0.995876 -0.929436 0.681856 0.410363 0.181603 0.0260867 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.05418 0.161537 0.29498 0.461533 0.62776 0.799064 0.914984 -0.96024 0.998896 1.02124 1.02789 1.03936 1.03755 1.03997 1.04903 -1.04057 1.05084 1.0442 1.04238 1.03876 1.04903 1.04782 1.04359 -1.04782 1.05024 1.04782 1.04178 1.04963 1.04661 1.0448 1.0448 -1.05567 1.04299 1.04963 1.04722 1.05144 1.04903 1.04178 1.04661 -1.0454 1.04722 1.04118 1.05326 1.05144 1.04299 1.05326 1.04601 -1.05688 1.05024 1.04238 1.04299 1.04359 1.05084 1.04359 1.05326 -1.04842 1.05628 1.05084 1.03936 1.05205 1.05024 1.05024 1.05688 -1.04782 1.04238 1.04842 1.05205 1.04178 1.03453 1.03272 1.01762 -1.00071 0.97534 0.913696 0.778456 0.617456 0.45451 0.296987 0.130433 -0.0341133 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.04515 0.05117 0.04816 0.05117 0.0531767 0.05117 0.0602 -0.06321 0.0622067 0.0642133 0.0672233 0.0682267 0.06622 0.0732433 0.0903 -0.10836 0.0973233 0.08428 0.0882933 0.113377 0.119397 0.106353 0.103343 -0.112373 0.109363 0.13244 0.118393 0.09933 0.115383 0.118393 0.113377 -0.12341 0.118393 0.118393 0.1204 0.136453 0.14448 0.122407 0.13846 -0.139463 0.130433 0.14147 0.139463 0.134447 0.133443 0.122407 0.143477 -0.118393 0.13846 0.13545 0.10836 0.1204 0.11739 0.125417 0.11438 -0.12943 0.15351 0.140467 0.152507 0.136453 0.115383 0.10535 0.110367 -0.0882933 0.09331 0.10535 0.101337 0.109363 0.112373 0.127423 0.16555 -0.211703 0.248827 0.32207 0.375247 0.402337 0.45752 0.470563 0.495647 -0.49665 0.530763 0.5418 0.569893 0.56889 0.603288 0.591967 0.609728 -0.629048 0.636776 0.665112 0.670264 0.681856 0.675416 0.71148 0.703752 -0.707616 0.70504 0.729512 0.721784 0.741104 0.715344 0.739816 0.770728 -0.770728 0.760424 0.78232 0.777168 0.786184 0.78876 0.78876 0.792624 -0.80164 0.770728 0.781032 0.784896 0.759136 0.773304 0.760424 0.76944 -0.768152 0.77588 0.746256 0.742392 0.74368 0.732088 0.712768 0.696024 -0.650944 0.609728 0.57491 0.51471 0.443473 0.37324 0.32809 0.27692 -0.215717 0.154513 0.0832767 0.0551833 0.0301 0.02408 0.02709 0.0280933 -0.0200667 0.02408 0.0250833 0.0260867 0.0220733 0.01505 0.02709 0.0351167 -0.0381267 0.0381267 0.0280933 0.0301 0.0160533 0.01806 0.0220733 0.0160533 -0.0160533 0.01204 0.0170567 0.02107 0.0140467 0.00903 0.00802667 0.01806 -0.0190633 0.0190633 0.00802667 0 0 0 0 0.00401333 -0.0110367 0 0.0100333 0.00802667 0 0.00401333 0 0 -0.00602 0 0 0.00401333 0.00200667 0 0 0 -0 0 0 0 0 0.00501667 0.00903 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.12341 0.173577 0.173577 0.17458 0.175583 0.173577 0.17458 -0.170567 0.178593 0.172573 0.1806 0.1806 0.18662 0.17759 0.181603 -0.179597 0.17458 0.17759 0.182607 0.185617 0.17759 0.179597 0.178593 -0.175583 0.17458 0.166553 0.166553 0.16555 0.167557 0.16254 0.172573 -0.172573 0.163543 0.17157 0.15652 0.16856 0.166553 0.15351 0.15953 -0.149497 0.136453 0.14448 0.154513 0.148493 0.158527 0.16254 0.15953 -0.148493 0.14448 0.13846 0.1505 0.130433 0.152507 0.14749 0.143477 -0.145483 0.15652 0.140467 0.149497 0.145483 0.130433 0.13846 0.133443 -0.125417 0.13545 0.12341 0.113377 0.109363 0.11137 0.115383 0.113377 -0.106353 0.0973233 0.11137 0.101337 0.0923067 0.09933 0.09331 0.0822733 -0.0892967 0.101337 0.0913033 0.09632 0.09632 0.0983267 0.0913033 0.10836 -0.103343 0.0973233 0.11438 0.103343 0.101337 0.110367 0.101337 0.113377 -0.09933 0.104347 0.0983267 0.110367 0.11739 0.101337 0.103343 0.116387 -0.107357 0.116387 0.103343 0.10836 0.12341 0.109363 0.119397 0.113377 -0.115383 0.103343 0.118393 0.122407 0.112373 0.12341 0.11739 0.122407 -0.1204 0.11739 0.0983267 0.110367 0.100333 0.113377 0.121403 0.10836 -0.110367 0.115383 0.115383 0.103343 0.107357 0.106353 0.101337 0.104347 -0.103343 0.12642 0.12341 0.116387 0.127423 0.134447 0.139463 0.134447 -0.14147 0.131437 0.136453 0.15953 0.15351 0.139463 0.14749 0.14749 -0.161537 0.178593 0.17157 0.175583 0.16254 0.14448 0.157523 0.178593 -0.167557 0.178593 0.191637 0.175583 0.173577 0.16555 0.15351 0.16856 -0.16856 0.16856 0.172573 0.163543 0.142473 0.151503 0.146487 0.14448 -0.1505 0.14749 0.137457 0.143477 0.14448 0.1505 0.142473 0.12642 -0.142473 0.134447 0.1204 0.11739 0.122407 0.11438 0.09632 0.09632 -0.0973233 0.0923067 0.100333 0.0953167 0.0862867 0.0913033 0.0471567 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.106353 0.14448 0.14448 0.145483 0.148493 0.151503 -0.157523 0.151503 0.157523 0.148493 0.145483 0.15351 0.152507 0.158527 -0.146487 0.151503 0.151503 0.155517 0.14749 0.146487 0.13846 0.137457 -0.140467 0.133443 0.13846 0.146487 0.146487 0.13545 0.140467 0.137457 -0.13846 0.136453 0.143477 0.154513 0.154513 0.136453 0.146487 0.140467 -0.13846 0.140467 0.143477 0.151503 0.152507 0.14448 0.14749 0.13846 -0.14147 0.142473 0.143477 0.133443 0.134447 0.13545 0.139463 0.127423 -0.142473 0.140467 0.13244 0.145483 0.12642 0.125417 0.140467 0.133443 -0.12341 0.124413 0.127423 0.124413 0.12943 0.122407 0.127423 0.124413 -0.115383 0.113377 0.110367 0.110367 0.112373 0.0913033 0.109363 0.11137 -0.121403 0.110367 0.11137 0.09933 0.0943133 0.10234 0.107357 0.09632 -0.103343 0.0973233 0.106353 0.110367 0.103343 0.0943133 0.100333 0.106353 -0.101337 0.104347 0.0973233 0.10234 0.09331 0.106353 0.104347 0.104347 -0.101337 0.11137 0.09933 0.09632 0.10535 0.103343 0.10234 0.09933 -0.119397 0.109363 0.110367 0.106353 0.1204 0.110367 0.104347 0.09933 -0.10535 0.101337 0.103343 0.10535 0.09933 0.103343 0.09632 0.100333 -0.104347 0.106353 0.103343 0.107357 0.0983267 0.101337 0.101337 0.10535 -0.112373 0.103343 0.119397 0.118393 0.11438 0.11739 0.12943 0.12642 -0.128427 0.12642 0.119397 0.12943 0.127423 0.140467 0.1505 0.13846 -0.134447 0.131437 0.146487 0.148493 0.1505 0.13846 0.145483 0.137457 -0.15351 0.152507 0.151503 0.154513 0.15351 0.1505 0.15351 0.151503 -0.16254 0.157523 0.148493 0.15351 0.155517 0.14448 0.152507 0.164547 -0.152507 0.152507 0.15652 0.145483 0.14749 0.146487 0.167557 0.167557 -0.145483 0.15953 0.167557 0.164547 0.1505 0.167557 0.187623 0.16856 -0.16856 0.17458 0.17458 0.1806 0.17157 0.13244 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0943133 0.139463 0.14749 0.140467 0.148493 -0.143477 0.137457 0.145483 0.14448 0.14448 0.146487 0.148493 0.142473 -0.152507 0.148493 0.1505 0.143477 0.130433 0.13244 0.145483 0.14448 -0.134447 0.14147 0.133443 0.130433 0.13545 0.139463 0.13545 0.131437 -0.136453 0.14448 0.14448 0.12943 0.125417 0.136453 0.13244 0.139463 -0.137457 0.1505 0.1505 0.14749 0.149497 0.151503 0.14448 0.15652 -0.13244 0.137457 0.131437 0.14147 0.146487 0.145483 0.152507 0.145483 -0.134447 0.13846 0.131437 0.12341 0.137457 0.13846 0.133443 0.122407 -0.13244 0.136453 0.139463 0.11739 0.137457 0.13244 0.134447 0.127423 -0.118393 0.1204 0.12642 0.121403 0.113377 0.125417 0.13545 0.122407 -0.122407 0.10836 0.110367 0.12341 0.11739 0.125417 0.121403 0.116387 -0.113377 0.119397 0.1204 0.1204 0.12341 0.115383 0.10234 0.116387 -0.121403 0.116387 0.118393 0.103343 0.119397 0.130433 0.112373 0.121403 -0.119397 0.127423 0.127423 0.124413 0.12943 0.1204 0.11739 0.118393 -0.127423 0.12642 0.12642 0.12943 0.119397 0.127423 0.11438 0.10836 -0.124413 0.12341 0.112373 0.10836 0.109363 0.125417 0.11739 0.10836 -0.115383 0.116387 0.12341 0.113377 0.122407 0.110367 0.118393 0.124413 -0.127423 0.118393 0.128427 0.12642 0.133443 0.121403 0.136453 0.130433 -0.13846 0.1505 0.13244 0.14448 0.130433 0.140467 0.149497 0.15652 -0.158527 0.14448 0.139463 0.142473 0.146487 0.142473 0.1505 0.1505 -0.133443 0.151503 0.14448 0.139463 0.1505 0.14749 0.152507 0.151503 -0.136453 0.148493 0.148493 0.15953 0.146487 0.142473 0.13846 0.149497 -0.15351 0.151503 0.151503 0.152507 0.151503 0.145483 0.137457 0.14448 -0.14147 0.139463 0.137457 0.151503 0.158527 0.139463 0.139463 0.160533 -0.15652 0.161537 0.152507 0.164547 0.119397 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.146487 0.137457 0.137457 0.13846 -0.13244 0.148493 0.140467 0.139463 0.151503 0.14749 0.13846 0.146487 -0.148493 0.13846 0.131437 0.13244 0.14749 0.15953 0.151503 0.14448 -0.13244 0.145483 0.140467 0.14749 0.1505 0.124413 0.127423 0.14147 -0.133443 0.134447 0.122407 0.128427 0.139463 0.134447 0.131437 0.139463 -0.14147 0.139463 0.14147 0.137457 0.136453 0.13244 0.14147 0.136453 -0.139463 0.14147 0.145483 0.149497 0.15351 0.1505 0.136453 0.145483 -0.142473 0.14147 0.140467 0.14448 0.145483 0.13846 0.134447 0.131437 -0.137457 0.131437 0.131437 0.128427 0.13846 0.139463 0.125417 0.133443 -0.130433 0.12642 0.133443 0.1204 0.136453 0.121403 0.122407 0.12943 -0.116387 0.12341 0.124413 0.137457 0.116387 0.131437 0.130433 0.127423 -0.12341 0.134447 0.122407 0.12341 0.133443 0.122407 0.122407 0.13545 -0.110367 0.12341 0.133443 0.134447 0.11739 0.131437 0.13846 0.127423 -0.134447 0.13846 0.131437 0.137457 0.130433 0.13545 0.12341 0.12642 -0.12943 0.136453 0.125417 0.134447 0.13244 0.124413 0.127423 0.12943 -0.121403 0.130433 0.125417 0.121403 0.127423 0.1204 0.1204 0.127423 -0.125417 0.125417 0.131437 0.118393 0.13244 0.139463 0.128427 0.143477 -0.136453 0.133443 0.131437 0.146487 0.140467 0.128427 0.14147 0.134447 -0.136453 0.145483 0.14749 0.149497 0.143477 0.146487 0.137457 0.142473 -0.142473 0.14448 0.148493 0.140467 0.143477 0.139463 0.142473 0.155517 -0.140467 0.14749 0.140467 0.14448 0.137457 0.139463 0.137457 0.137457 -0.155517 0.14749 0.134447 0.13846 0.14147 0.157523 0.14749 0.14147 -0.143477 0.148493 0.151503 0.145483 0.149497 0.1505 0.151503 0.15652 -0.1505 0.14448 0.145483 0.137457 0.140467 0.149497 0.14147 0.14749 -0.1505 0.15953 0.155517 0.10836 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0130433 0.14749 0.155517 0.1505 -0.155517 0.146487 0.149497 0.143477 0.139463 0.137457 0.142473 0.146487 -0.134447 0.139463 0.1505 0.151503 0.14749 0.140467 0.136453 0.13846 -0.15351 0.151503 0.142473 0.142473 0.13846 0.14448 0.15652 0.146487 -0.148493 0.133443 0.149497 0.140467 0.133443 0.13846 0.142473 0.136453 -0.13846 0.14448 0.12642 0.12943 0.142473 0.145483 0.143477 0.15652 -0.145483 0.143477 0.1505 0.148493 0.149497 0.14749 0.14749 0.140467 -0.136453 0.14448 0.143477 0.142473 0.134447 0.142473 0.139463 0.13846 -0.146487 0.133443 0.14749 0.142473 0.134447 0.130433 0.146487 0.136453 -0.143477 0.131437 0.13545 0.131437 0.128427 0.133443 0.130433 0.133443 -0.136453 0.127423 0.13244 0.140467 0.125417 0.131437 0.131437 0.131437 -0.12943 0.12642 0.14147 0.13244 0.136453 0.134447 0.128427 0.125417 -0.128427 0.128427 0.13545 0.13244 0.1204 0.133443 0.13545 0.139463 -0.134447 0.131437 0.139463 0.134447 0.12943 0.13846 0.14147 0.119397 -0.149497 0.14147 0.130433 0.149497 0.12943 0.127423 0.127423 0.142473 -0.127423 0.130433 0.137457 0.140467 0.12943 0.131437 0.130433 0.139463 -0.133443 0.130433 0.14147 0.13846 0.143477 0.13846 0.139463 0.13244 -0.134447 0.145483 0.142473 0.130433 0.140467 0.133443 0.125417 0.146487 -0.160533 0.146487 0.143477 0.14448 0.128427 0.145483 0.137457 0.149497 -0.13846 0.133443 0.151503 0.140467 0.136453 0.151503 0.13545 0.146487 -0.137457 0.133443 0.139463 0.14448 0.155517 0.14448 0.14448 0.146487 -0.14749 0.15351 0.157523 0.151503 0.143477 0.14147 0.14448 0.14749 -0.145483 0.14448 0.151503 0.145483 0.152507 0.148493 0.146487 0.145483 -0.151503 0.154513 0.15652 0.15351 0.145483 0.149497 0.146487 0.140467 -0.145483 0.152507 0.16856 0.0200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.02107 0.146487 0.157523 -0.155517 0.167557 0.1505 0.158527 0.151503 0.155517 0.16856 0.163543 -0.15953 0.166553 0.14749 0.152507 0.167557 0.17458 0.173577 0.172573 -0.161537 0.152507 0.15652 0.170567 0.164547 0.157523 0.16254 0.170567 -0.16856 0.17157 0.15652 0.155517 0.166553 0.15953 0.161537 0.151503 -0.161537 0.169563 0.16254 0.16254 0.175583 0.173577 0.16856 0.173577 -0.15351 0.161537 0.169563 0.175583 0.161537 0.146487 0.155517 0.167557 -0.155517 0.16555 0.160533 0.161537 0.160533 0.166553 0.158527 0.146487 -0.155517 0.16555 0.155517 0.15953 0.158527 0.164547 0.158527 0.151503 -0.164547 0.14749 0.15652 0.16555 0.14749 0.166553 0.15652 0.142473 -0.157523 0.15953 0.148493 0.158527 0.170567 0.15351 0.152507 0.15351 -0.163543 0.15351 0.16555 0.161537 0.154513 0.161537 0.161537 0.161537 -0.170567 0.16856 0.163543 0.161537 0.16254 0.167557 0.163543 0.169563 -0.15953 0.170567 0.17157 0.15953 0.158527 0.16856 0.14448 0.160533 -0.179597 0.16254 0.166553 0.163543 0.14749 0.151503 0.161537 0.161537 -0.157523 0.160533 0.173577 0.16856 0.158527 0.158527 0.16254 0.178593 -0.158527 0.170567 0.155517 0.16856 0.16555 0.17157 0.163543 0.170567 -0.16254 0.164547 0.16254 0.16856 0.170567 0.164547 0.15351 0.146487 -0.16254 0.17458 0.16555 0.15953 0.17458 0.152507 0.158527 0.15652 -0.16254 0.166553 0.157523 0.154513 0.142473 0.154513 0.16254 0.15953 -0.16555 0.15652 0.149497 0.1505 0.160533 0.160533 0.15953 0.140467 -0.152507 0.152507 0.151503 0.1505 0.145483 0.170567 0.154513 0.154513 -0.151503 0.14749 0.151503 0.154513 0.148493 0.148493 0.154513 0.154513 -0.151503 0.148493 0.145483 0.148493 0.149497 0.155517 0.16555 0.160533 -0.160533 0.155517 0.0230767 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0190633 0.0822733 -0.08127 0.06321 0.0712367 0.0682267 0.0682267 0.0732433 0.0772567 0.06923 -0.0792633 0.0652167 0.07224 0.0762533 0.0822733 0.07224 0.0682267 0.0441467 -0.0602 0.06622 0.07525 0.07224 0.0652167 0.0702333 0.0672233 0.0652167 -0.06923 0.0642133 0.06622 0.05719 0.0551833 0.06622 0.0531767 0.0591967 -0.0622067 0.06321 0.05719 0.0581933 0.06923 0.0591967 0.0461533 0.0471567 -0.0581933 0.0672233 0.05117 0.0461533 0.0441467 0.0491633 0.0401333 0.0581933 -0.0531767 0.0531767 0.0461533 0.0401333 0.0602 0.04515 0.0441467 0.04214 -0.0531767 0.05418 0.0381267 0.0401333 0.05719 0.04515 0.0351167 0.0431433 -0.0371233 0.03612 0.04816 0.03913 0.0471567 0.0471567 0.0431433 0.0260867 -0.0521733 0.05418 0.0301 0.03612 0.04515 0.0351167 0.0381267 0.04816 -0.0501667 0.04816 0.0461533 0.0521733 0.0461533 0.0531767 0.05418 0.0371233 -0.05719 0.0461533 0.04816 0.0471567 0.06622 0.0471567 0.05418 0.0531767 -0.0491633 0.0561867 0.0602 0.0551833 0.0581933 0.0591967 0.0441467 0.05117 -0.0612033 0.0612033 0.0551833 0.05719 0.05418 0.05117 0.05117 0.0501667 -0.05719 0.0561867 0.06622 0.0591967 0.0642133 0.0682267 0.06321 0.0672233 -0.0702333 0.0732433 0.06923 0.0802667 0.07224 0.0802667 0.07525 0.0903 -0.08428 0.08729 0.0822733 0.0852833 0.0882933 0.10234 0.104347 0.10535 -0.0802667 0.09331 0.10836 0.109363 0.11438 0.11137 0.11438 0.121403 -0.10234 0.10535 0.119397 0.124413 0.124413 0.116387 0.12341 0.110367 -0.12943 0.13846 0.131437 0.130433 0.137457 0.140467 0.145483 0.14147 -0.14147 0.137457 0.1505 0.143477 0.13244 0.142473 0.152507 0.14749 -0.151503 0.157523 0.158527 0.154513 0.16856 0.164547 0.166553 0.157523 -0.151503 0.163543 0.170567 0.169563 0.15953 0.154513 0.163543 0.167557 -0.172573 0.0290967 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.0311033 0.0321067 0.0280933 0.0260867 0.0311033 0.02709 0.0371233 0.0371233 -0.0351167 0.0301 0.0411367 0.03311 0.0321067 0.0160533 0.0250833 0.0351167 -0.04214 0.03913 0.04214 0.0401333 0.03612 0.0301 0.0401333 0.0351167 -0.0250833 0.02709 0.03311 0.0220733 0.0290967 0.03311 0.03913 0.0371233 -0.02709 0.0190633 0.03913 0.0381267 0.0411367 0.02709 0.0321067 0.0280933 -0.0301 0.0250833 0.0260867 0.03311 0.0301 0.0341133 0.0290967 0.0401333 -0.02408 0.02709 0.02709 0.0351167 0.03311 0.0220733 0.01806 0.02709 -0.03913 0.0260867 0.0230767 0.0301 0.0301 0.0190633 0.0200667 0.0260867 -0.0301 0.0260867 0.0341133 0.0280933 0.02709 0.04214 0.02107 0.0321067 -0.02709 0.0280933 0.0280933 0.03913 0.0200667 0.0220733 0.02107 0.0351167 -0.0280933 0.02408 0.0200667 0.02709 0.0230767 0.03311 0.02408 0.0431433 -0.0200667 0.0260867 0.02408 0.0260867 0.01806 0.02709 0.0250833 0.0280933 -0.0220733 0.0230767 0.03913 0.0190633 0.0250833 0.0260867 0.01806 0.0311033 -0.02709 0.0371233 0.0160533 0.01505 0.0311033 0.0311033 0.0321067 0.01204 -0.02709 0.01806 0.0290967 0.0250833 0.0260867 0.03311 0.0321067 0.0230767 -0.03612 0.0301 0.02408 0.0250833 0.0280933 0.0371233 0.0311033 0.0110367 -0.03311 0.0311033 0.02408 0.0290967 0.02408 0.0200667 0.04214 0.0461533 -0.0401333 0.0250833 0.0220733 0.0230767 0.0260867 0.0250833 0.0290967 0.0381267 -0.0381267 0.01806 0.03311 0.0290967 0.04214 0.0341133 0.03612 0.0461533 -0.0311033 0.0351167 0.04214 0.0290967 0.0401333 0.03913 0.0301 0.03311 -0.0441467 0.04816 0.02709 0.04816 0.04816 0.03311 0.04816 0.04816 -0.0521733 0.0491633 0.04515 0.04816 0.0401333 0.0521733 0.0521733 0.0622067 -0.0591967 0.0411367 0.0461533 0.0602 0.0581933 0.05719 0.0581933 0.07224 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0170567 0.0250833 0.0341133 0.0250833 0.0341133 0.02408 0.02408 -0.0321067 0.0280933 0.0230767 0.0321067 0.0190633 0.02107 0.0301 0.03913 -0.0311033 0.0371233 0.0250833 0.0290967 0.0290967 0.0290967 0.0351167 0.02107 -0.0260867 0.0301 0.02709 0.0411367 0.02408 0.0260867 0.0260867 0.02709 -0.0431433 0.05418 0.0401333 0.0260867 0.0250833 0.0230767 0.0220733 0.0321067 -0.0351167 0.0200667 0.0280933 0.03311 0.0280933 0.0311033 0.0301 0.0321067 -0.0321067 0.0280933 0.0230767 0.02408 0.0311033 0.02408 0.0311033 0.0341133 -0.03612 0.0200667 0.02709 0.0311033 0.02709 0.0200667 0.0321067 0.0381267 -0.02709 0.0290967 0.0230767 0.0290967 0.0371233 0.0110367 0.02408 0.02709 -0.0341133 0.0260867 0.0260867 0.0311033 0.0260867 0.0290967 0.0301 0.0321067 -0.02107 0.03913 0.0311033 0.0160533 0.0290967 0.0200667 0.0230767 0.03612 -0.0220733 0.0321067 0.02709 0.03311 0.0220733 0.0250833 0.0341133 0.0220733 -0.0301 0.0321067 0.0321067 0.0321067 0.03311 0.0260867 0.0301 0.02107 -0.0290967 0.0311033 0.02408 0.01806 0.0341133 0.02408 0.0381267 0.0190633 -0.03612 0.02107 0.0351167 0.03311 0.0220733 0.0341133 0.0220733 0.02408 -0.03311 0.0280933 0.02408 0.0321067 0.0341133 0.0200667 0.0371233 0.0260867 -0.0341133 0.02408 0.0301 0.02709 0.0280933 0.0170567 0.0311033 0.0250833 -0.0371233 0.0321067 0.0301 0.0371233 0.0220733 0.0290967 0.0290967 0.0220733 -0.0401333 0.0381267 0.0190633 0.0371233 0.0190633 0.0321067 0.03913 0.04214 -0.0401333 0.03612 0.0371233 0.0401333 0.0200667 0.0220733 0.0431433 0.0260867 -0.0160533 0.0371233 0.0311033 0.03311 0.0290967 0.0280933 0.0220733 0.03311 -0.02709 0.04214 0.0280933 0.03913 0.0381267 0.0290967 0.02709 0.0411367 -0.0401333 0.0371233 0.0381267 0.0230767 0.0280933 0.04515 0.0351167 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0200667 0.00602 0.0250833 0.0371233 0.0250833 0.0321067 -0.02107 0.0220733 0.0290967 0.0250833 0.0280933 0.0351167 0.04515 0.0311033 -0.03913 0.0301 0.02709 0.0230767 0.0311033 0.0341133 0.02408 0.0230767 -0.03612 0.0351167 0.0230767 0.0200667 0.0230767 0.0441467 0.0381267 0.0431433 -0.0371233 0.0341133 0.0280933 0.0290967 0.0321067 0.02107 0.03612 0.0220733 -0.03913 0.0170567 0.0381267 0.0351167 0.0491633 0.0381267 0.0260867 0.0351167 -0.0301 0.02107 0.02709 0.0311033 0.0321067 0.0351167 0.0290967 0.0341133 -0.0301 0.0260867 0.0260867 0.03311 0.0220733 0.03612 0.04816 0.03612 -0.0230767 0.0311033 0.0200667 0.0321067 0.0301 0.0311033 0.0321067 0.0321067 -0.0260867 0.0250833 0.0290967 0.03311 0.0351167 0.0351167 0.0280933 0.0260867 -0.0290967 0.03311 0.0301 0.0371233 0.0280933 0.0250833 0.0290967 0.0220733 -0.0321067 0.0341133 0.0341133 0.0280933 0.0220733 0.02709 0.0351167 0.0290967 -0.0311033 0.0280933 0.0260867 0.0260867 0.0301 0.03913 0.02709 0.0411367 -0.03612 0.0311033 0.0260867 0.0341133 0.03311 0.02107 0.0260867 0.0411367 -0.0290967 0.0260867 0.0401333 0.0200667 0.0250833 0.0301 0.0260867 0.02107 -0.0260867 0.0351167 0.0280933 0.0200667 0.0321067 0.0260867 0.02107 0.0301 -0.0301 0.02107 0.0381267 0.0290967 0.0260867 0.0371233 0.0341133 0.0260867 -0.02107 0.0311033 0.02709 0.0351167 0.03612 0.03612 0.03311 0.0290967 -0.0280933 0.0311033 0.02107 0.0230767 0.03311 0.0250833 0.0200667 0.02408 -0.0351167 0.0311033 0.03913 0.03913 0.0351167 0.03612 0.0280933 0.0371233 -0.0351167 0.03612 0.0290967 0.0260867 0.03612 0.0301 0.0301 0.0190633 -0.02107 0.0341133 0.0351167 0.0341133 0.0311033 0.0371233 0.0290967 0.02408 -0.0371233 0.0290967 0.0321067 0.03311 0.0321067 0.0371233 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0301 0.02709 0.0250833 0.0170567 0.0200667 -0.0170567 0.0301 0.02709 0.0351167 0.0341133 0.0381267 0.02107 0.0160533 -0.0321067 0.0250833 0.01806 0.0371233 0.03913 0.0260867 0.02709 0.02709 -0.0371233 0.0230767 0.0260867 0.0381267 0.0371233 0.0431433 0.0290967 0.03311 -0.03311 0.0260867 0.02408 0.0311033 0.02709 0.0280933 0.03311 0.03612 -0.0260867 0.04214 0.03913 0.0411367 0.0280933 0.02107 0.02709 0.0341133 -0.0260867 0.02408 0.0301 0.0411367 0.03612 0.0290967 0.0311033 0.0260867 -0.0260867 0.0260867 0.03311 0.0441467 0.03612 0.0371233 0.0301 0.0301 -0.0250833 0.0160533 0.0321067 0.0260867 0.0381267 0.0371233 0.02408 0.0250833 -0.0250833 0.04214 0.0311033 0.0250833 0.03913 0.0220733 0.03311 0.0250833 -0.03311 0.0290967 0.0351167 0.0351167 0.0230767 0.0351167 0.0321067 0.0230767 -0.0381267 0.0371233 0.03311 0.02709 0.0170567 0.0351167 0.0311033 0.03311 -0.0301 0.0250833 0.03913 0.0280933 0.03311 0.0351167 0.04214 0.02107 -0.03612 0.0371233 0.02107 0.0341133 0.02709 0.0290967 0.02408 0.0401333 -0.0351167 0.0250833 0.0321067 0.0341133 0.0321067 0.01806 0.03913 0.03311 -0.0230767 0.02709 0.04515 0.0311033 0.0220733 0.0311033 0.0351167 0.0311033 -0.03913 0.0230767 0.0220733 0.03612 0.0301 0.0351167 0.02408 0.0401333 -0.0280933 0.0290967 0.0371233 0.0341133 0.0301 0.0381267 0.0290967 0.0290967 -0.03913 0.04214 0.0411367 0.0250833 0.02408 0.0301 0.03311 0.02408 -0.02408 0.0280933 0.0280933 0.0471567 0.0411367 0.03612 0.0381267 0.0220733 -0.0371233 0.0280933 0.0301 0.0290967 0.0311033 0.0381267 0.02709 0.0321067 -0.0230767 0.0321067 0.0280933 0.03311 0.0321067 0.0341133 0.0381267 0.0301 -0.03612 0.0321067 0.0290967 0.0381267 0.03913 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0280933 0.0110367 0.01505 0.0230767 -0.0280933 0.02408 0.0311033 0.0280933 0.0250833 0.01505 0.02408 0.0311033 -0.0321067 0.0311033 0.0351167 0.03612 0.02709 0.0301 0.0290967 0.0280933 -0.03612 0.02107 0.03612 0.0411367 0.0321067 0.0230767 0.0280933 0.0351167 -0.0341133 0.0301 0.02709 0.02709 0.0321067 0.03311 0.0431433 0.03612 -0.0230767 0.0290967 0.0311033 0.03311 0.0301 0.0230767 0.0321067 0.0290967 -0.0260867 0.0311033 0.0441467 0.0290967 0.0160533 0.0200667 0.03612 0.02408 -0.0321067 0.0371233 0.0381267 0.02408 0.03612 0.0341133 0.0301 0.0301 -0.02107 0.0260867 0.0351167 0.0250833 0.03612 0.0290967 0.0311033 0.0250833 -0.0351167 0.0351167 0.02408 0.0401333 0.0351167 0.0260867 0.0321067 0.0280933 -0.0250833 0.02709 0.0341133 0.0280933 0.0280933 0.0411367 0.0311033 0.02709 -0.0471567 0.0230767 0.0290967 0.0381267 0.0381267 0.0220733 0.0321067 0.0220733 -0.0290967 0.0441467 0.02709 0.0200667 0.03311 0.04816 0.02709 0.0230767 -0.0290967 0.04214 0.0280933 0.0280933 0.02709 0.03311 0.0200667 0.0220733 -0.03311 0.03612 0.02408 0.0371233 0.0321067 0.03612 0.0280933 0.0200667 -0.0341133 0.0280933 0.0341133 0.04214 0.0250833 0.0250833 0.0230767 0.0431433 -0.03612 0.0200667 0.0280933 0.0250833 0.0280933 0.0321067 0.0351167 0.0311033 -0.02408 0.0351167 0.0381267 0.0250833 0.0381267 0.0351167 0.03311 0.0250833 -0.0301 0.03913 0.0311033 0.04816 0.0170567 0.02107 0.0280933 0.0311033 -0.0280933 0.0200667 0.0301 0.0311033 0.0311033 0.04515 0.0351167 0.0321067 -0.0301 0.03913 0.03612 0.02709 0.0220733 0.03913 0.0371233 0.0461533 -0.0401333 0.0301 0.02709 0.0341133 0.02709 0.0290967 0.02408 0.02709 -0.0301 0.0351167 0.03913 0.0401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0642133 0.0160533 0.00501667 -0.0140467 0.0190633 0.0200667 0.0190633 0.0200667 0.0290967 0.0341133 0.0301 -0.0290967 0.0311033 0.03913 0.0301 0.0290967 0.0190633 0.03612 0.0260867 -0.0280933 0.0381267 0.03913 0.0301 0.02408 0.0311033 0.04214 0.03612 -0.0230767 0.0230767 0.0321067 0.03311 0.0371233 0.03913 0.0321067 0.02107 -0.03311 0.0401333 0.0351167 0.0290967 0.0321067 0.03612 0.0301 0.0260867 -0.0311033 0.0301 0.0371233 0.02408 0.0311033 0.03913 0.0250833 0.03612 -0.0311033 0.0371233 0.0290967 0.0381267 0.0411367 0.02107 0.02107 0.03311 -0.0220733 0.04214 0.0531767 0.0220733 0.0290967 0.0311033 0.0321067 0.0290967 -0.0200667 0.03612 0.0371233 0.0301 0.02408 0.0381267 0.02709 0.0280933 -0.0260867 0.03612 0.0290967 0.0381267 0.0301 0.0250833 0.0351167 0.0321067 -0.0321067 0.0321067 0.0140467 0.04214 0.03311 0.0301 0.02107 0.0301 -0.0301 0.0471567 0.0220733 0.0260867 0.0351167 0.0321067 0.0290967 0.0311033 -0.02408 0.0341133 0.03913 0.0381267 0.03311 0.0351167 0.01806 0.0321067 -0.01806 0.0501667 0.0301 0.0290967 0.0290967 0.03612 0.0411367 0.0321067 -0.0301 0.0230767 0.0290967 0.0351167 0.0351167 0.0401333 0.02107 0.0290967 -0.0341133 0.0290967 0.0290967 0.0260867 0.03913 0.0230767 0.0471567 0.0260867 -0.03612 0.0311033 0.0260867 0.0301 0.0321067 0.0250833 0.05117 0.0301 -0.02408 0.0321067 0.02107 0.0441467 0.03913 0.0461533 0.0250833 0.0290967 -0.02408 0.0290967 0.0301 0.0301 0.0280933 0.0290967 0.0301 0.0260867 -0.03913 0.0471567 0.04214 0.0371233 0.02709 0.01806 0.0280933 0.0321067 -0.03311 0.0280933 0.0341133 0.03311 0.03913 0.02709 0.0311033 0.0311033 -0.0190633 0.0260867 0.0351167 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.04214 0.12341 0.0311033 -0.0160533 0.01204 0.0230767 0.0160533 0.0130433 0.0250833 0.0260867 0.0290967 -0.0280933 0.0411367 0.0260867 0.0190633 0.0230767 0.0311033 0.0230767 0.0351167 -0.0411367 0.0411367 0.0301 0.0301 0.03612 0.0371233 0.0351167 0.0220733 -0.0260867 0.0220733 0.0371233 0.0381267 0.0301 0.0341133 0.0250833 0.0260867 -0.03311 0.0371233 0.0190633 0.0381267 0.0381267 0.0230767 0.0290967 0.04214 -0.0321067 0.0321067 0.03311 0.0290967 0.02107 0.03612 0.0381267 0.0311033 -0.0311033 0.0371233 0.0280933 0.03311 0.0250833 0.0260867 0.02709 0.0411367 -0.0190633 0.0321067 0.0301 0.0290967 0.02408 0.0311033 0.0381267 0.0371233 -0.0321067 0.0301 0.0381267 0.0311033 0.0280933 0.0250833 0.0301 0.0301 -0.02709 0.0311033 0.0250833 0.03913 0.0321067 0.0351167 0.0341133 0.03913 -0.0280933 0.0311033 0.0250833 0.0381267 0.02408 0.0341133 0.03612 0.0110367 -0.0401333 0.0321067 0.03612 0.0301 0.02709 0.0260867 0.03612 0.0411367 -0.0301 0.02709 0.03311 0.0321067 0.04515 0.0250833 0.0280933 0.0260867 -0.03612 0.0401333 0.0260867 0.0290967 0.0290967 0.0401333 0.0250833 0.04214 -0.04214 0.0250833 0.03311 0.0250833 0.0140467 0.03612 0.0381267 0.0321067 -0.0341133 0.0260867 0.0301 0.0230767 0.0351167 0.0290967 0.0431433 0.0341133 -0.0260867 0.0301 0.02709 0.0311033 0.0321067 0.0280933 0.03612 0.03612 -0.0381267 0.0371233 0.0341133 0.03311 0.0230767 0.0471567 0.05117 0.0260867 -0.03612 0.03311 0.0190633 0.0321067 0.0290967 0.02709 0.03612 0.02709 -0.0321067 0.0220733 0.0311033 0.03311 0.0401333 0.0401333 0.03311 0.03612 -0.0290967 0.0321067 0.02709 0.02408 0.02709 0.03311 0.0170567 0.0220733 -0.0301 0.0160533 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.03311 -0.0581933 0.03913 0.0250833 0.0130433 0.0190633 0.01806 0.02709 0.0170567 -0.0170567 0.0130433 0.0170567 0.0160533 0.0311033 0.0230767 0.0371233 0.02709 -0.0311033 0.0290967 0.0280933 0.0321067 0.0301 0.0351167 0.02709 0.0341133 -0.0220733 0.0351167 0.0401333 0.02709 0.0321067 0.0260867 0.0371233 0.0250833 -0.03913 0.03913 0.0260867 0.0351167 0.0160533 0.0290967 0.0351167 0.0290967 -0.0290967 0.0321067 0.0351167 0.0200667 0.03612 0.0401333 0.0311033 0.02107 -0.0311033 0.0321067 0.0311033 0.0260867 0.0341133 0.0250833 0.0381267 0.03612 -0.03311 0.0441467 0.0260867 0.0341133 0.0220733 0.0301 0.0431433 0.0290967 -0.0280933 0.03311 0.03612 0.03311 0.0280933 0.0321067 0.03311 0.03612 -0.0260867 0.0311033 0.0351167 0.03311 0.0301 0.04214 0.03311 0.0290967 -0.0311033 0.03311 0.0311033 0.0401333 0.0230767 0.03311 0.0321067 0.02709 -0.0381267 0.0280933 0.0371233 0.0321067 0.0230767 0.04515 0.0280933 0.03311 -0.03612 0.04515 0.0250833 0.0341133 0.03913 0.0250833 0.03311 0.02709 -0.0401333 0.0381267 0.0230767 0.02408 0.0290967 0.0250833 0.0321067 0.02709 -0.0290967 0.0351167 0.0431433 0.0230767 0.0290967 0.0250833 0.0220733 0.0301 -0.0341133 0.0301 0.0341133 0.0311033 0.0290967 0.0311033 0.02408 0.0321067 -0.0431433 0.0341133 0.0220733 0.03612 0.0260867 0.0371233 0.0321067 0.0371233 -0.0311033 0.03311 0.02709 0.03612 0.0260867 0.0290967 0.0491633 0.0290967 -0.0290967 0.0311033 0.0471567 0.02709 0.0351167 0.0250833 0.0321067 0.03311 -0.03311 0.03311 0.0321067 0.0250833 0.0301 0.0381267 0.02709 0.0260867 -0.0371233 0.0351167 0.02107 0.0230767 0.0190633 0.01806 0.0311033 0.03913 -0.0351167 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0381267 0.0531767 0.0441467 0.0260867 0.0200667 0.0140467 0.02107 -0.0280933 0.0230767 0.0250833 0.0371233 0.0321067 0.02709 0.0301 0.0170567 -0.0301 0.0301 0.0341133 0.0190633 0.0260867 0.0301 0.0220733 0.02408 -0.0441467 0.03311 0.0351167 0.02709 0.0220733 0.03913 0.0301 0.0381267 -0.0321067 0.02709 0.0250833 0.0301 0.0441467 0.03913 0.03612 0.0290967 -0.0290967 0.0321067 0.02709 0.0341133 0.0401333 0.0301 0.0401333 0.0190633 -0.0321067 0.0301 0.0311033 0.0260867 0.03913 0.0230767 0.0351167 0.0311033 -0.0381267 0.02709 0.0311033 0.0230767 0.03913 0.0311033 0.0301 0.0441467 -0.0230767 0.0341133 0.0371233 0.0321067 0.02709 0.0290967 0.03612 0.03913 -0.02408 0.03913 0.0230767 0.0381267 0.03311 0.03612 0.02107 0.02709 -0.0351167 0.0311033 0.03913 0.0301 0.0381267 0.0250833 0.0280933 0.04816 -0.0220733 0.03612 0.0260867 0.02709 0.0401333 0.0381267 0.02709 0.02709 -0.0381267 0.0311033 0.0321067 0.0371233 0.0311033 0.02709 0.03612 0.0311033 -0.0290967 0.0321067 0.02408 0.03913 0.0250833 0.0371233 0.02709 0.0381267 -0.01806 0.0381267 0.0491633 0.0250833 0.04214 0.0200667 0.0290967 0.0280933 -0.0381267 0.0321067 0.03612 0.0351167 0.0301 0.0341133 0.0190633 0.02709 -0.0351167 0.0280933 0.03612 0.0381267 0.0311033 0.0230767 0.0301 0.0371233 -0.03913 0.03311 0.0290967 0.0321067 0.0220733 0.0341133 0.0411367 0.03612 -0.0401333 0.0250833 0.0260867 0.0371233 0.0341133 0.0250833 0.0230767 0.02709 -0.02709 0.01505 0.0321067 0.03612 0.0200667 0.02709 0.02107 0.0311033 -0.0190633 0.0311033 0.0351167 0.0280933 0.02408 0.03913 0.0551833 0.0561867 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0.0501667 0.0501667 0.0311033 0.0230767 0.0160533 -0.0190633 0.0200667 0.0321067 0.0381267 0.0290967 0.02709 0.0260867 0.03311 -0.02709 0.0230767 0.01806 0.0250833 0.0280933 0.0311033 0.0311033 0.03311 -0.0321067 0.0341133 0.0280933 0.0250833 0.0351167 0.0371233 0.02408 0.0200667 -0.02709 0.0301 0.0311033 0.0431433 0.0351167 0.0311033 0.02408 0.02408 -0.0280933 0.0371233 0.0290967 0.0401333 0.0351167 0.0290967 0.0341133 0.03311 -0.0311033 0.0280933 0.0351167 0.0280933 0.0280933 0.0311033 0.0371233 0.02709 -0.0351167 0.02709 0.0280933 0.0311033 0.04515 0.0260867 0.0351167 0.0401333 -0.0341133 0.0381267 0.0280933 0.0290967 0.0290967 0.04214 0.0371233 0.02709 -0.0381267 0.0290967 0.0381267 0.03311 0.0280933 0.0260867 0.02408 0.0411367 -0.03311 0.0371233 0.02709 0.0351167 0.03612 0.0301 0.0321067 0.0280933 -0.0321067 0.0311033 0.0311033 0.0301 0.0381267 0.0250833 0.0401333 0.02709 -0.0301 0.03311 0.0381267 0.02709 0.0280933 0.0401333 0.0381267 0.03612 -0.0311033 0.03311 0.0190633 0.0431433 0.0441467 0.0301 0.0250833 0.0301 -0.0301 0.0220733 0.03913 0.0321067 0.0371233 0.0311033 0.03311 0.0381267 -0.02107 0.0301 0.0311033 0.0301 0.03612 0.03311 0.0301 0.0290967 -0.0381267 0.0260867 0.02709 0.0401333 0.0381267 0.0321067 0.0200667 0.02709 -0.03612 0.03612 0.0321067 0.0381267 0.0290967 0.0321067 0.0250833 0.0371233 -0.0461533 0.0280933 0.02408 0.03612 0.0230767 0.0381267 0.0401333 0.0160533 -0.0301 0.02709 0.0170567 0.0250833 0.0371233 0.0321067 0.0311033 0.0321067 -0.01505 0.0220733 0.0200667 0.0381267 0.0591967 0.0862867 0.05418 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0321067 0.0531767 0.0311033 -0.0280933 0.0290967 0.0290967 0.02709 0.0341133 0.0220733 0.0260867 0.0290967 -0.02107 0.0250833 0.0311033 0.0200667 0.0341133 0.0311033 0.0260867 0.0321067 -0.0260867 0.0140467 0.0290967 0.0321067 0.03311 0.0230767 0.03311 0.0341133 -0.0381267 0.0321067 0.0290967 0.0381267 0.0401333 0.02408 0.0321067 0.02709 -0.0381267 0.02709 0.0381267 0.03311 0.0301 0.03311 0.0280933 0.0351167 -0.0301 0.0301 0.03913 0.0280933 0.03913 0.0301 0.02709 0.02709 -0.03612 0.0290967 0.0290967 0.0371233 0.0290967 0.0301 0.03311 0.0301 -0.0290967 0.0290967 0.0311033 0.02709 0.0290967 0.03612 0.0351167 0.0280933 -0.03311 0.0290967 0.0441467 0.0280933 0.02709 0.03612 0.03311 0.0351167 -0.0280933 0.0321067 0.0381267 0.03311 0.0260867 0.0411367 0.0311033 0.0311033 -0.0321067 0.0290967 0.03612 0.03612 0.0381267 0.0301 0.0371233 0.0311033 -0.0341133 0.0321067 0.0381267 0.0280933 0.02107 0.0351167 0.0371233 0.02408 -0.0321067 0.0341133 0.0190633 0.02709 0.0381267 0.0381267 0.0371233 0.0290967 -0.0260867 0.0311033 0.0371233 0.0351167 0.03311 0.0321067 0.03612 0.0260867 -0.0230767 0.0260867 0.0401333 0.03311 0.0280933 0.0351167 0.0411367 0.0230767 -0.0311033 0.0321067 0.0280933 0.0341133 0.0250833 0.0401333 0.03612 0.0230767 -0.0301 0.0381267 0.03311 0.03612 0.0260867 0.0341133 0.0341133 0.02408 -0.0230767 0.03913 0.0280933 0.0280933 0.0250833 0.0100333 0.03311 0.0411367 -0.03311 0.0250833 0.0250833 0.02709 0.0250833 0.0250833 0.0290967 0.0311033 -0.0301 0.01806 0.05117 0.0591967 0.0712367 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.02709 -0.0612033 0.0461533 0.02107 0.0190633 0.0200667 0.00501667 0.02107 0.02408 -0.0290967 0.02709 0.0220733 0.0260867 0.03612 0.0301 0.0250833 0.0260867 -0.0311033 0.0321067 0.0230767 0.02408 0.0260867 0.03311 0.0321067 0.0321067 -0.0301 0.0170567 0.0290967 0.0280933 0.0290967 0.0351167 0.0341133 0.0290967 -0.03612 0.0260867 0.0431433 0.01806 0.0280933 0.0250833 0.03612 0.0351167 -0.0301 0.0220733 0.0290967 0.0401333 0.0301 0.0341133 0.0301 0.0341133 -0.0321067 0.0301 0.0341133 0.0341133 0.0321067 0.03311 0.0371233 0.0290967 -0.0301 0.0290967 0.0381267 0.0250833 0.0381267 0.0260867 0.0371233 0.02709 -0.0301 0.0311033 0.0321067 0.0381267 0.0290967 0.0321067 0.03612 0.0341133 -0.0290967 0.0381267 0.0321067 0.03311 0.0411367 0.0401333 0.02709 0.0321067 -0.03612 0.0280933 0.0321067 0.0321067 0.0280933 0.0311033 0.0341133 0.0301 -0.0321067 0.03913 0.02709 0.03311 0.0301 0.0381267 0.03311 0.0351167 -0.0411367 0.02408 0.0401333 0.0341133 0.02709 0.03311 0.03612 0.03311 -0.0311033 0.0250833 0.03612 0.0341133 0.0311033 0.03612 0.02709 0.0311033 -0.0431433 0.0280933 0.0311033 0.0290967 0.04214 0.0341133 0.0301 0.0371233 -0.03612 0.0290967 0.0230767 0.0341133 0.0280933 0.03913 0.03311 0.0280933 -0.0341133 0.0351167 0.0250833 0.0341133 0.0371233 0.0260867 0.0341133 0.0321067 -0.02709 0.0301 0.0321067 0.0321067 0.0371233 0.0321067 0.01806 0.0230767 -0.0351167 0.03612 0.02408 0.0160533 0.0290967 0.0230767 0.0220733 0.03612 -0.0712367 0.0622067 0.0471567 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0301 0.00802667 0 -0 0.02408 0.06321 0.04214 0.0190633 0.0230767 0.0260867 0.0260867 -0.0160533 0.02408 0.02408 0.02709 0.03612 0.0260867 0.02107 0.0311033 -0.02709 0.02709 0.0290967 0.0381267 0.0290967 0.0401333 0.03612 0.0301 -0.03612 0.0280933 0.0280933 0.0301 0.02709 0.0321067 0.0260867 0.0290967 -0.03612 0.0250833 0.0311033 0.02408 0.0381267 0.03311 0.0290967 0.0311033 -0.0290967 0.0290967 0.0411367 0.0280933 0.02408 0.0371233 0.0290967 0.0280933 -0.03612 0.0411367 0.03913 0.0341133 0.04214 0.0290967 0.02709 0.0401333 -0.0321067 0.02709 0.0311033 0.0200667 0.0371233 0.0381267 0.0351167 0.0381267 -0.02408 0.0321067 0.0290967 0.0290967 0.0381267 0.0301 0.03311 0.0250833 -0.03311 0.04816 0.0230767 0.0311033 0.0321067 0.0321067 0.0351167 0.02709 -0.0351167 0.0290967 0.03612 0.0351167 0.0280933 0.0401333 0.03913 0.0220733 -0.0311033 0.0341133 0.0230767 0.0371233 0.0321067 0.0290967 0.02709 0.0311033 -0.03913 0.0230767 0.03913 0.02709 0.0321067 0.02709 0.0351167 0.0381267 -0.0341133 0.03311 0.0190633 0.0351167 0.0230767 0.04214 0.0441467 0.0260867 -0.0321067 0.0311033 0.0290967 0.0260867 0.0351167 0.03612 0.0280933 0.0341133 -0.03311 0.02709 0.0290967 0.03311 0.0260867 0.0401333 0.0301 0.0371233 -0.0250833 0.0311033 0.0290967 0.0311033 0.0280933 0.02709 0.0280933 0.0260867 -0.0321067 0.0290967 0.0250833 0.03612 0.0351167 0.0311033 0.0250833 0.0200667 -0.01204 0.0301 0.01806 0.0170567 0.0301 0.0491633 0.0612033 0.0622067 -0.03311 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.29799 0.215717 -0.04515 0 0 0 0.04816 0.0672233 0.0401333 0.0160533 -0.0230767 0.0110367 0.02107 0.02107 0.0140467 0.0250833 0.0311033 0.0250833 -0.0190633 0.03311 0.0381267 0.0280933 0.0401333 0.0230767 0.0301 0.0311033 -0.0301 0.0321067 0.0280933 0.02408 0.0401333 0.0341133 0.0321067 0.03612 -0.01806 0.02408 0.03311 0.0351167 0.03612 0.0301 0.02709 0.03913 -0.0341133 0.0250833 0.0250833 0.0290967 0.0311033 0.0341133 0.0280933 0.0321067 -0.0471567 0.0371233 0.0341133 0.0280933 0.02408 0.0190633 0.0401333 0.0371233 -0.0341133 0.0301 0.0351167 0.0371233 0.0280933 0.0341133 0.0321067 0.0250833 -0.0371233 0.03612 0.0301 0.0311033 0.0401333 0.02709 0.0301 0.0351167 -0.0260867 0.0531767 0.0190633 0.03913 0.0371233 0.03913 0.0301 0.0301 -0.0351167 0.0290967 0.0381267 0.0321067 0.0280933 0.0371233 0.03311 0.0401333 -0.0351167 0.03311 0.0220733 0.0381267 0.0351167 0.0351167 0.0321067 0.0321067 -0.0311033 0.0411367 0.0301 0.0341133 0.0280933 0.0311033 0.0260867 0.0341133 -0.0301 0.03913 0.02709 0.0351167 0.03311 0.0431433 0.0260867 0.03311 -0.0200667 0.0341133 0.0260867 0.0260867 0.0341133 0.03913 0.02408 0.0260867 -0.0381267 0.0280933 0.0301 0.04214 0.02408 0.0280933 0.0230767 0.0431433 -0.0230767 0.0250833 0.03913 0.02107 0.0401333 0.02709 0.0311033 0.0190633 -0.0280933 0.0341133 0.0301 0.03612 0.03311 0.0301 0.0280933 0.0290967 -0.02107 0.0260867 0.0381267 0.0521733 0.0642133 0.0602 0.0130433 0 -0.0220733 0.0100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.178593 -0.729512 0.16856 0 0 0 0.03913 0.266887 0.217723 -0.0903 0.03311 0.0250833 0.01204 0.0230767 0.0170567 0.0220733 0.02408 -0.0250833 0.0351167 0.02408 0.0301 0.02709 0.0250833 0.0230767 0.0290967 -0.0230767 0.0280933 0.0311033 0.0441467 0.0311033 0.0341133 0.0220733 0.0170567 -0.0230767 0.02709 0.02408 0.0501667 0.0280933 0.0321067 0.02408 0.03612 -0.03311 0.0280933 0.0250833 0.0371233 0.03311 0.0321067 0.0311033 0.0401333 -0.0341133 0.0280933 0.0290967 0.0160533 0.0301 0.0341133 0.0371233 0.02408 -0.03612 0.0250833 0.0341133 0.0250833 0.0280933 0.03913 0.0301 0.03913 -0.04214 0.0311033 0.0290967 0.0401333 0.0341133 0.0321067 0.0371233 0.03311 -0.0280933 0.03311 0.0311033 0.0321067 0.0311033 0.0290967 0.02408 0.03612 -0.05418 0.02709 0.0351167 0.0311033 0.0351167 0.0290967 0.03913 0.0341133 -0.0160533 0.03913 0.03311 0.0311033 0.0311033 0.0311033 0.0311033 0.03311 -0.0220733 0.0371233 0.0290967 0.0461533 0.0230767 0.0321067 0.02709 0.03311 -0.02709 0.03612 0.0280933 0.0250833 0.0351167 0.0321067 0.0301 0.0321067 -0.0321067 0.0260867 0.0411367 0.0280933 0.03913 0.02709 0.0351167 0.0351167 -0.0260867 0.0351167 0.03311 0.0301 0.0230767 0.04515 0.0200667 0.0371233 -0.0321067 0.0200667 0.0321067 0.0200667 0.03612 0.0301 0.02408 0.02408 -0.0301 0.0371233 0.02107 0.0250833 0.02709 0.02107 0.01806 0.0290967 -0.0401333 0.0852833 0.0612033 0.03612 0 0 0 0.0672233 -0.0100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.29799 0.77588 0.65996 0.248827 0.03311 0 0.0371233 0.197657 -0.320063 0.277923 0.14147 0.04214 0.0220733 0.01204 0.02107 0.0200667 -0.0220733 0.02709 0.02709 0.0250833 0.0200667 0.0290967 0.0260867 0.0250833 -0.02709 0.0190633 0.0351167 0.0341133 0.0290967 0.0301 0.0301 0.0311033 -0.0200667 0.0381267 0.04214 0.0381267 0.0250833 0.02408 0.03311 0.0381267 -0.0290967 0.0260867 0.0381267 0.03612 0.03612 0.0311033 0.0471567 0.0250833 -0.03612 0.02408 0.0341133 0.0321067 0.0381267 0.0311033 0.0260867 0.0260867 -0.04214 0.0381267 0.0280933 0.0301 0.0200667 0.03612 0.0341133 0.0290967 -0.0381267 0.03311 0.0441467 0.0311033 0.0280933 0.0351167 0.0351167 0.03612 -0.02709 0.0411367 0.0290967 0.03612 0.03311 0.0311033 0.0311033 0.03311 -0.0341133 0.02709 0.03311 0.03913 0.03311 0.0381267 0.0371233 0.0260867 -0.0230767 0.0381267 0.0351167 0.0341133 0.02709 0.03913 0.0250833 0.0371233 -0.0381267 0.0341133 0.0351167 0.0311033 0.03612 0.03913 0.0250833 0.0290967 -0.03913 0.0301 0.0290967 0.0230767 0.0371233 0.0371233 0.0341133 0.0250833 -0.0301 0.0220733 0.0311033 0.0250833 0.03612 0.0301 0.0301 0.0351167 -0.0280933 0.03311 0.0311033 0.02709 0.0220733 0.0311033 0.0311033 0.0190633 -0.02408 0.04214 0.0230767 0.0250833 0.0220733 0.03311 0.0301 0.0260867 -0.0200667 0.0220733 0.0290967 0.0130433 0.01806 0.0260867 0.07826 0.176587 -0.30401 0.22575 0.00501667 0 0.02408 0.13545 0.23177 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.635488 1.1009 0.931248 0.407353 0.122407 0.0200667 -0.0471567 0.12341 0.265883 0.32508 0.22274 0.0983267 0.0351167 0.02408 -0.01806 0.02709 0.0110367 0.0230767 0.01505 0.03311 0.0170567 0.0170567 -0.0250833 0.0401333 0.0230767 0.02408 0.02709 0.0290967 0.0301 0.03311 -0.0321067 0.03311 0.0260867 0.0301 0.02107 0.0260867 0.0321067 0.02408 -0.02107 0.0290967 0.02408 0.03913 0.0280933 0.0431433 0.0260867 0.02408 -0.03311 0.0321067 0.0290967 0.02709 0.03913 0.02709 0.0381267 0.0280933 -0.0411367 0.0280933 0.0351167 0.0351167 0.0321067 0.03612 0.0321067 0.0230767 -0.03311 0.03612 0.03913 0.0230767 0.0321067 0.0321067 0.0381267 0.0311033 -0.0280933 0.0431433 0.0280933 0.0250833 0.0341133 0.0301 0.0321067 0.03311 -0.0280933 0.0351167 0.0321067 0.0311033 0.0290967 0.03612 0.03612 0.02107 -0.0311033 0.03311 0.0311033 0.0311033 0.0341133 0.0280933 0.03311 0.02709 -0.0301 0.0381267 0.03612 0.0250833 0.03612 0.0351167 0.0351167 0.0280933 -0.0311033 0.0351167 0.0301 0.0260867 0.03311 0.0321067 0.0311033 0.0260867 -0.0321067 0.0280933 0.02709 0.0280933 0.0321067 0.0301 0.03311 0.0341133 -0.03612 0.0351167 0.0351167 0.0260867 0.0301 0.0200667 0.0301 0.0280933 -0.0230767 0.0371233 0.0290967 0.0321067 0.02408 0.02408 0.0311033 0.02408 -0.0220733 0.02408 0.0200667 0.0411367 0.12642 0.265883 0.345147 0.257857 -0.0953167 0.02709 0.0612033 0.266887 0.703752 0.419393 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.18662 0.931248 1.0981 1.04601 0.675416 -0.271903 0.06622 0.03311 0.0732433 0.205683 0.326083 0.312037 0.17458 -0.06923 0.0230767 0.01806 0.0170567 0.0250833 0.01505 0.0190633 0.02709 -0.0220733 0.0311033 0.0301 0.02709 0.0290967 0.0301 0.03612 0.03913 -0.0250833 0.0311033 0.0290967 0.0260867 0.0351167 0.0280933 0.0321067 0.0371233 -0.0311033 0.0321067 0.0260867 0.0341133 0.0301 0.0321067 0.0280933 0.0301 -0.0280933 0.0341133 0.03311 0.0341133 0.0260867 0.0170567 0.02408 0.0301 -0.02408 0.0290967 0.0290967 0.0321067 0.0311033 0.0311033 0.0351167 0.0321067 -0.03612 0.0371233 0.0301 0.0280933 0.03612 0.0301 0.0311033 0.03913 -0.0311033 0.03612 0.0351167 0.0260867 0.0280933 0.04214 0.0351167 0.0280933 -0.0351167 0.0341133 0.0351167 0.0290967 0.0311033 0.0321067 0.03612 0.0230767 -0.03913 0.0441467 0.0260867 0.03311 0.03311 0.0311033 0.0351167 0.0321067 -0.0280933 0.0301 0.03311 0.0260867 0.03311 0.0371233 0.0321067 0.02709 -0.0290967 0.0290967 0.0341133 0.02709 0.0311033 0.0311033 0.03311 0.0260867 -0.0200667 0.0260867 0.03311 0.0280933 0.0401333 0.0220733 0.0321067 0.0351167 -0.03311 0.0260867 0.0401333 0.0200667 0.0290967 0.0311033 0.02709 0.0301 -0.02107 0.02709 0.0290967 0.0341133 0.02107 0.0301 0.0260867 0.0220733 -0.0321067 0.0862867 0.203677 0.317053 0.298993 0.18361 0.0702333 0.0491633 -0.176587 0.48461 0.971112 0.94514 0.311033 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.22575 0.626472 1.03755 -1.0953 0.971112 0.533773 0.20769 0.0531767 0.0471567 0.133443 0.265883 -0.32809 0.277923 0.13846 0.0551833 0.02408 0.01505 0.0170567 0.01505 -0.02709 0.03311 0.0190633 0.0220733 0.0321067 0.0230767 0.0341133 0.0280933 -0.0280933 0.02408 0.0280933 0.0290967 0.0351167 0.0311033 0.0280933 0.03913 -0.03913 0.0260867 0.0311033 0.0401333 0.0280933 0.0280933 0.03311 0.0260867 -0.0301 0.0341133 0.0371233 0.0220733 0.0371233 0.03311 0.0290967 0.0321067 -0.03311 0.0341133 0.0260867 0.0441467 0.03612 0.02709 0.0371233 0.0351167 -0.0341133 0.0371233 0.0220733 0.0301 0.03913 0.02107 0.0301 0.0341133 -0.0280933 0.0351167 0.0230767 0.0301 0.0341133 0.0301 0.0401333 0.0280933 -0.03612 0.0280933 0.0471567 0.03311 0.02709 0.0321067 0.0381267 0.0311033 -0.0401333 0.03913 0.0280933 0.0301 0.0280933 0.0311033 0.0311033 0.0341133 -0.0280933 0.0351167 0.0290967 0.03311 0.0311033 0.0381267 0.0280933 0.0311033 -0.0321067 0.02107 0.03913 0.0280933 0.02408 0.0371233 0.03311 0.0301 -0.02709 0.0290967 0.0311033 0.0341133 0.0381267 0.02709 0.02408 0.0351167 -0.02107 0.0250833 0.03913 0.0321067 0.0200667 0.0230767 0.01806 0.0311033 -0.0140467 0.01806 0.0200667 0.0260867 0.0160533 0.02709 0.0802667 0.178593 -0.29799 0.32809 0.214713 0.09933 0.0612033 0.1204 0.380263 0.80164 -1.0813 1.0939 0.561867 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.11137 -0.386283 0.819672 1.06836 1.0799 0.924 0.477587 0.185617 0.0602 -0.0521733 0.14448 0.27993 0.32207 0.236787 0.106353 0.0401333 0.0220733 -0.0341133 0.02107 0.01204 0.0190633 0.0260867 0.0311033 0.0250833 0.0301 -0.0260867 0.0250833 0.0220733 0.0290967 0.0290967 0.0220733 0.0321067 0.0301 -0.02408 0.0290967 0.03311 0.0301 0.0280933 0.0280933 0.0341133 0.0220733 -0.0371233 0.0401333 0.02107 0.0341133 0.0351167 0.01806 0.03311 0.0250833 -0.0301 0.0341133 0.02709 0.0351167 0.03311 0.0260867 0.0401333 0.0290967 -0.0401333 0.0321067 0.02709 0.03913 0.0290967 0.0260867 0.0341133 0.03612 -0.0321067 0.0301 0.02107 0.03612 0.0260867 0.03311 0.0321067 0.0280933 -0.0341133 0.0230767 0.0411367 0.0290967 0.0341133 0.0230767 0.0311033 0.0321067 -0.03311 0.03913 0.0311033 0.0290967 0.0341133 0.0301 0.0341133 0.0351167 -0.0301 0.0280933 0.0351167 0.0230767 0.0311033 0.0431433 0.0280933 0.0280933 -0.0401333 0.0200667 0.0441467 0.0301 0.0230767 0.0351167 0.0301 0.0301 -0.0311033 0.0290967 0.0290967 0.0321067 0.0341133 0.02709 0.01204 0.03612 -0.02107 0.0290967 0.0220733 0.0371233 0.0301 0.0190633 0.0170567 0.02408 -0.02107 0.0110367 0.0321067 0.0642133 0.151503 0.278927 0.342137 0.248827 -0.127423 0.0742467 0.1204 0.31605 0.701176 1.02547 1.082 0.96628 -0.485613 0.0943133 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0561867 0.17759 0.458523 0.90468 1.08235 1.07885 0.916272 -0.471567 0.19866 0.0682267 0.07224 0.167557 0.272907 0.33411 0.25886 -0.12341 0.03913 0.01806 0.0280933 0.01806 0.0290967 0.0230767 0.02709 -0.01505 0.0170567 0.0290967 0.0290967 0.0280933 0.03311 0.02709 0.0280933 -0.0290967 0.02408 0.0280933 0.03612 0.02709 0.0260867 0.0301 0.0290967 -0.0381267 0.0311033 0.0230767 0.0371233 0.0260867 0.0290967 0.0381267 0.0260867 -0.0351167 0.02408 0.0321067 0.0371233 0.0290967 0.0321067 0.0321067 0.02408 -0.0311033 0.03612 0.03311 0.0301 0.03913 0.0220733 0.0371233 0.03913 -0.0260867 0.0260867 0.0311033 0.0351167 0.0321067 0.03612 0.0280933 0.0301 -0.0341133 0.03311 0.0301 0.0301 0.0311033 0.02107 0.03612 0.0341133 -0.02709 0.03612 0.0311033 0.03311 0.0321067 0.0301 0.0260867 0.0371233 -0.0341133 0.02408 0.0351167 0.02408 0.0230767 0.0301 0.0321067 0.0341133 -0.0260867 0.0190633 0.0321067 0.0341133 0.0230767 0.0301 0.0230767 0.03311 -0.02408 0.03311 0.0260867 0.0280933 0.0290967 0.03612 0.02107 0.0280933 -0.0250833 0.0260867 0.0170567 0.02709 0.0280933 0.0200667 0.0160533 0.0351167 -0.07525 0.14147 0.269897 0.32508 0.26488 0.15351 0.0822733 0.13545 -0.320063 0.69216 1.01339 1.0841 0.983796 0.584943 0.251837 0.0280933 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0100333 0.04515 0.0852833 0.205683 0.4816 0.925812 -1.0813 1.0883 0.947556 0.53578 0.239797 0.0903 0.0943133 0.17157 -0.298993 0.32207 0.2107 0.0892967 0.0371233 0.0260867 0.0110367 0.0140467 -0.02408 0.0200667 0.0341133 0.0260867 0.0280933 0.0290967 0.03311 0.0260867 -0.0160533 0.03311 0.0280933 0.0311033 0.0280933 0.0301 0.0260867 0.03311 -0.0321067 0.0250833 0.0260867 0.0431433 0.0250833 0.0260867 0.0351167 0.0351167 -0.02709 0.0260867 0.03311 0.0311033 0.0301 0.0381267 0.0220733 0.0260867 -0.0351167 0.0311033 0.0280933 0.03612 0.0341133 0.0290967 0.0301 0.0341133 -0.0230767 0.0341133 0.0290967 0.0280933 0.03612 0.0260867 0.0290967 0.0351167 -0.02408 0.0321067 0.0290967 0.0311033 0.0351167 0.0311033 0.0341133 0.0301 -0.0260867 0.0311033 0.0321067 0.02709 0.0290967 0.0311033 0.0250833 0.0321067 -0.0230767 0.0321067 0.0301 0.0321067 0.0220733 0.01806 0.03913 0.03612 -0.0301 0.0260867 0.0220733 0.03311 0.0381267 0.0341133 0.0190633 0.0250833 -0.0321067 0.02408 0.0301 0.0301 0.0301 0.0160533 0.0220733 0.03311 -0.0200667 0.02709 0.0130433 0.0220733 0.0311033 0.07224 0.17157 0.28294 -0.32508 0.253843 0.14147 0.0943133 0.17157 0.399327 0.744968 1.03212 -1.08235 0.983192 0.616168 0.30702 0.122407 0.0190633 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0130433 0.0381267 0.0672233 0.08127 -0.202673 0.455513 0.84672 1.06654 1.1002 1.014 0.684432 0.348157 -0.15652 0.140467 0.227757 0.31304 0.29799 0.103343 0.0290967 0.0411367 -0.0351167 0.0200667 0.0220733 0.0200667 0.0200667 0.0301 0.0341133 0.0190633 -0.0260867 0.02709 0.0220733 0.02709 0.02408 0.0260867 0.0311033 0.0250833 -0.03913 0.0140467 0.0280933 0.03311 0.02709 0.0200667 0.0260867 0.0341133 -0.0250833 0.0260867 0.0321067 0.0371233 0.0280933 0.02408 0.0301 0.0290967 -0.0341133 0.0280933 0.0301 0.0260867 0.02408 0.0371233 0.02709 0.0220733 -0.0321067 0.0301 0.01806 0.0321067 0.03311 0.02107 0.0311033 0.03311 -0.0230767 0.03612 0.0280933 0.0290967 0.0260867 0.02709 0.0280933 0.0190633 -0.0321067 0.04214 0.03311 0.0290967 0.0311033 0.0411367 0.03311 0.0311033 -0.03311 0.0351167 0.03311 0.0250833 0.02709 0.0230767 0.0260867 0.0381267 -0.0371233 0.0250833 0.02408 0.0260867 0.0280933 0.03311 0.0220733 0.0250833 -0.03311 0.02408 0.0200667 0.0290967 0.02709 0.0220733 0.02408 0.0200667 -0.0200667 0.04214 0.06923 0.16856 0.290967 0.317053 0.236787 0.1505 -0.122407 0.23779 0.50267 0.881496 1.07017 1.08725 0.96024 0.578923 -0.29799 0.12943 0.06622 0.01806 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00802667 0.03612 0.0471567 -0.0561867 0.0612033 0.0672233 0.16254 0.378257 0.744968 1.02668 1.1114 -1.08375 0.928228 0.528757 0.28595 0.196653 0.08428 0 0.0140467 -0.0381267 0.06321 0.05719 0.0301 0.0280933 0.0220733 0.02107 0.0250833 -0.01204 0.0260867 0.0351167 0.02709 0.0250833 0.02709 0.0260867 0.0260867 -0.0341133 0.0160533 0.0250833 0.03913 0.0230767 0.0301 0.0230767 0.0411367 -0.0230767 0.02408 0.0381267 0.0341133 0.02709 0.0311033 0.0260867 0.0321067 -0.03612 0.0311033 0.0321067 0.0341133 0.0280933 0.02709 0.0311033 0.01806 -0.0371233 0.02709 0.02408 0.0371233 0.0230767 0.0321067 0.0341133 0.0230767 -0.0280933 0.0260867 0.0280933 0.0311033 0.0311033 0.0311033 0.0401333 0.0230767 -0.0301 0.0341133 0.0290967 0.0250833 0.0290967 0.0371233 0.02408 0.0290967 -0.0301 0.0290967 0.0371233 0.02408 0.02408 0.0250833 0.0290967 0.0220733 -0.0301 0.0321067 0.02709 0.0301 0.0250833 0.02107 0.0290967 0.01806 -0.0260867 0.0230767 0.0220733 0.02408 0.0311033 0.0321067 0.0531767 0.0551833 -0.0321067 0.04214 0.20769 0.250833 0.17458 0.203677 0.38829 0.706328 -1.01279 1.0988 1.07077 0.876344 0.4816 0.239797 0.103343 0.0702333 -0.0531767 0.0311033 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0100333 -0.0471567 0.0521733 0.0622067 0.06622 0.0531767 0.05418 0.10836 0.265883 -0.55384 0.949368 1.09355 1.1191 1.06232 0.842856 0.48762 0.22575 -0.0772567 0.0230767 0.01204 0.0290967 0.0501667 0.0581933 0.0531767 0.0441467 -0.0250833 0.02709 0.0200667 0.0220733 0.0250833 0.02107 0.02408 0.0220733 -0.0280933 0.01204 0.03612 0.0351167 0.0170567 0.0260867 0.02408 0.0341133 -0.0290967 0.0230767 0.0321067 0.0280933 0.0220733 0.0290967 0.0321067 0.0190633 -0.03612 0.0230767 0.02107 0.04515 0.0220733 0.03311 0.0220733 0.03311 -0.0321067 0.0341133 0.03311 0.0260867 0.02709 0.0290967 0.0381267 0.0260867 -0.0301 0.0311033 0.0220733 0.0381267 0.0220733 0.0190633 0.0301 0.0371233 -0.0260867 0.0321067 0.0290967 0.0290967 0.0260867 0.0250833 0.0280933 0.0260867 -0.0301 0.02107 0.0321067 0.0200667 0.0190633 0.0190633 0.0341133 0.0230767 -0.0280933 0.02107 0.0290967 0.0190633 0.0250833 0.01505 0.0200667 0.02107 -0.0230767 0.0321067 0.05418 0.0622067 0.0461533 0.0441467 0.0250833 0.00100333 -0.03913 0.15351 0.354177 0.661248 0.980776 1.0974 1.10335 1.0146 -0.702464 0.375247 0.169563 0.08428 0.0612033 0.0642133 0.05719 0.0401333 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0170567 0.0602 0.0531767 0.0732433 0.07224 0.05719 0.0471567 -0.04515 0.0551833 0.14749 0.356183 0.658672 0.994064 1.1093 1.1191 -1.07258 0.899528 0.534777 0.293977 0.130433 0.0491633 0.02709 0.04515 -0.0652167 0.06622 0.0501667 0.0280933 0.0351167 0.0260867 0.0230767 0.0170567 -0.0220733 0.0110367 0.0301 0.02709 0.0190633 0.0190633 0.0260867 0.0200667 -0.0220733 0.0190633 0.0280933 0.0230767 0.02408 0.0280933 0.02709 0.02709 -0.0260867 0.02709 0.02408 0.0341133 0.0230767 0.02709 0.0200667 0.0280933 -0.02408 0.0290967 0.02709 0.0200667 0.02709 0.02408 0.0301 0.0260867 -0.0190633 0.0301 0.0220733 0.0290967 0.0351167 0.01505 0.0290967 0.0341133 -0.0190633 0.01806 0.0220733 0.0301 0.02709 0.0200667 0.0290967 0.0290967 -0.0321067 0.01505 0.02709 0.02107 0.02107 0.0170567 0.02408 0.0160533 -0.0170567 0.02408 0.0220733 0.0301 0.0411367 0.0371233 0.0672233 0.0852833 -0.0712367 0.0411367 0.02709 0.03311 0.0702333 0.200667 0.41538 0.707616 -0.997688 1.09915 1.1121 1.06352 0.849296 0.477587 0.21973 0.0943133 -0.04816 0.0602 0.0612033 0.0672233 0.05117 0.0531767 0.0100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0290967 0.0732433 0.05418 0.0622067 0.0832767 -0.0702333 0.0642133 0.04515 0.03612 0.0140467 0.0672233 0.169563 0.387287 -0.70504 0.979568 1.09565 1.12785 1.1009 1.00977 0.765576 0.476583 -0.2709 0.142473 0.0682267 0.0591967 0.0521733 0.0652167 0.0561867 0.04214 -0.0341133 0.0230767 0.02709 0.0160533 0.0160533 0.01204 0.0260867 0.01806 -0.0250833 0.0301 0.0130433 0.0290967 0.0250833 0.0170567 0.0341133 0.0250833 -0.0140467 0.0200667 0.02408 0.0220733 0.0280933 0.0170567 0.0260867 0.0230767 -0.0130433 0.0260867 0.0311033 0.0130433 0.0290967 0.0301 0.02107 0.0260867 -0.0250833 0.0250833 0.02709 0.0170567 0.02709 0.0280933 0.0220733 0.0220733 -0.02107 0.01505 0.0230767 0.02709 0.0230767 0.01204 0.0230767 0.0321067 -0.0170567 0.0170567 0.0200667 0.0220733 0.01204 0.01806 0.01204 0.0290967 -0.0401333 0.04214 0.05418 0.0672233 0.0602 0.06321 0.0622067 0.10234 -0.184613 0.35217 0.587953 0.90468 1.06111 1.11665 1.1205 1.05326 -0.86604 0.513707 0.242807 0.101337 0.0471567 0.0301 0.0521733 0.0652167 -0.07525 0.06622 0.0591967 0.0682267 0.02107 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0301 0.0802667 0.0702333 -0.0742467 0.0772567 0.07826 0.0712367 0.0612033 0.0531767 0.0301 0.0230767 -0.03311 0.0591967 0.161537 0.324077 0.52976 0.854448 1.02608 1.1107 -1.1219 1.1023 1.01339 0.826112 0.5719 0.3913 0.2408 0.149497 -0.0943133 0.07224 0.0913033 0.07224 0.0581933 0.0491633 0.0341133 0.0200667 -0.02107 0.01505 0.0140467 0.0200667 0.00903 0.0200667 0.0280933 0.01505 -0.02408 0.0140467 0.0230767 0.02408 0.0230767 0.0160533 0.02107 0.0220733 -0.0190633 0.0280933 0.0220733 0.02107 0.0250833 0.0230767 0.01505 0.0200667 -0.0190633 0.0170567 0.0200667 0.0170567 0.0250833 0.0170567 0.0160533 0.0301 -0.0170567 0.02107 0.0130433 0.0290967 0.0200667 0.0170567 0.0110367 0.0200667 -0.0230767 0.02107 0.0290967 0.04816 0.0591967 0.07525 0.0682267 0.0792633 -0.0973233 0.11137 0.172573 0.287957 0.455513 0.681856 0.946952 1.075 -1.11735 1.12715 1.08935 0.976548 0.706328 0.43043 0.229763 0.100333 -0.0321067 0.0260867 0.0341133 0.0471567 0.06923 0.0832767 0.0712367 0.0672233 -0.0652167 0.0822733 0.0301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00702333 -0.0551833 0.0712367 0.07826 0.0892967 0.0882933 0.0772567 0.0612033 0.0602 -0.0411367 0.0381267 0.0401333 0.0301 0.0301 0.06923 0.10836 0.19866 -0.3311 0.55685 0.800352 0.988024 1.0869 1.11805 1.11805 1.09425 -1.02487 0.924 0.694736 0.516717 0.389293 0.287957 0.2107 0.15953 -0.13545 0.0973233 0.0802667 0.0591967 0.0491633 0.03612 0.0381267 0.0260867 -0.01806 0.0130433 0.0170567 0.0140467 0.0220733 0.02107 0.0170567 0.0220733 -0.02107 0.0220733 0.00602 0.0190633 0.0230767 0.0100333 0.0110367 0.0230767 -0.0130433 0.02107 0.01806 0.0140467 0.0160533 0.0260867 0.0160533 0.0200667 -0.02408 0.0341133 0.0220733 0.0401333 0.0521733 0.0652167 0.07826 0.0913033 -0.10836 0.127423 0.17759 0.238793 0.320063 0.429427 0.567887 0.778456 -0.966884 1.05809 1.1002 1.1205 1.11175 1.07017 0.952992 0.714056 -0.47257 0.290967 0.155517 0.07826 0.0461533 0.0250833 0.0280933 0.03913 -0.05418 0.06622 0.0742467 0.0862867 0.06622 0.07826 0.0732433 0.0602 -0.00702333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0100333 0.0321067 0.0882933 0.08428 0.0822733 0.0882933 0.0892967 -0.0772567 0.0772567 0.0581933 0.0381267 0.0441467 0.04515 0.0441467 0.05117 -0.0612033 0.0652167 0.06923 0.0983267 0.155517 0.250833 0.37625 0.55685 -0.752696 0.954804 1.0442 1.09775 1.12365 1.1219 1.1065 1.07745 -1.01762 0.945744 0.822248 0.684432 0.581933 0.498657 0.419393 0.341133 -0.289963 0.233777 0.196653 0.16555 0.146487 0.121403 0.106353 0.0943133 -0.0802667 0.0802667 0.0732433 0.0702333 0.0792633 0.0672233 0.0742467 0.0802667 -0.08428 0.0913033 0.103343 0.1204 0.140467 0.15953 0.187623 0.227757 -0.27692 0.317053 0.365213 0.440463 0.524743 0.58996 0.733376 0.868616 -0.973528 1.03453 1.08935 1.11525 1.1247 1.1163 1.0876 1.02547 -0.93004 0.6986 0.50267 0.34314 0.226753 0.127423 0.0862867 0.0652167 -0.0551833 0.03913 0.0411367 0.0321067 0.0431433 0.0501667 0.0642133 0.0682267 -0.08729 0.0822733 0.0762533 0.0742467 0.0832767 0.0341133 0.01204 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0341133 0.0581933 0.0903 0.0923067 -0.101337 0.0852833 0.0862867 0.0792633 0.0672233 0.0591967 0.0531767 0.04816 -0.05117 0.05418 0.0652167 0.06321 0.06923 0.0702333 0.0682267 0.0612033 -0.0672233 0.0862867 0.11438 0.184613 0.2709 0.357187 0.476583 0.597987 -0.774592 0.933664 1.00433 1.04782 1.0841 1.10405 1.11385 1.1205 -1.1184 1.1121 1.1072 1.09705 1.0897 1.07815 1.06956 1.05144 -1.03453 1.02426 1.0152 1.00916 1.00614 0.9995 1.00312 1.01037 -1.02245 1.04118 1.04963 1.06715 1.075 1.0848 1.09285 1.10755 -1.11315 1.11875 1.11805 1.1163 1.10475 1.0806 1.04299 0.979568 -0.925208 0.734664 0.57491 0.450497 0.32207 0.230767 0.158527 0.11137 -0.0892967 0.0712367 0.0712367 0.0591967 0.0602 0.0591967 0.0531767 0.0581933 -0.0441467 0.05117 0.05418 0.0622067 0.0732433 0.0852833 0.0913033 0.0822733 -0.0832767 0.0822733 0.0581933 0.04515 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.01204 0.03311 -0.100333 0.0953167 0.103343 0.101337 0.08428 0.0892967 0.08428 0.07224 -0.0591967 0.06622 0.0591967 0.05719 0.06622 0.0762533 0.0762533 0.07224 -0.0802667 0.0712367 0.0702333 0.07525 0.05719 0.0672233 0.0642133 0.0642133 -0.06622 0.08428 0.10535 0.113377 0.15652 0.19866 0.25284 0.315047 -0.366217 0.425413 0.476583 0.545813 0.600997 0.641928 0.71792 0.751408 -0.786184 0.8274 0.863464 0.868616 0.875056 0.8596 0.860888 0.842856 -0.832552 0.799064 0.768152 0.734664 0.661248 0.599993 0.527753 0.473573 -0.405347 0.357187 0.296987 0.239797 0.197657 0.15351 0.122407 0.0882933 -0.0802667 0.06622 0.0581933 0.0642133 0.0622067 0.06622 0.07826 0.06622 -0.0802667 0.0712367 0.0822733 0.0622067 0.0591967 0.0591967 0.05117 0.0602 -0.06622 0.07525 0.09331 0.0923067 0.09632 0.0892967 0.0892967 0.0903 -0.0311033 0.01204 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0.0431433 0.101337 0.106353 0.107357 0.103343 0.09632 -0.08729 0.0862867 0.06923 0.0672233 0.06622 0.0762533 0.0672233 0.06923 -0.08729 0.0882933 0.0822733 0.0882933 0.08127 0.0792633 0.0772567 0.07525 -0.0732433 0.0702333 0.0732433 0.06321 0.0762533 0.06622 0.06622 0.0602 -0.0702333 0.0642133 0.0561867 0.0622067 0.0652167 0.0602 0.07224 0.07525 -0.0672233 0.0732433 0.0742467 0.07224 0.0702333 0.07826 0.0772567 0.06923 -0.0742467 0.07224 0.0682267 0.0682267 0.0712367 0.0591967 0.06321 0.0672233 -0.0622067 0.0702333 0.07826 0.0652167 0.0702333 0.06622 0.0642133 0.0672233 -0.07525 0.07525 0.0772567 0.0772567 0.07826 0.07525 0.0903 0.0742467 -0.07224 0.0712367 0.07525 0.06622 0.06321 0.0732433 0.0772567 0.09331 -0.0943133 0.09632 0.110367 0.10234 0.10234 0.0290967 0.00702333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0110367 0.0441467 0.11438 0.10836 -0.109363 0.103343 0.0973233 0.0832767 0.0892967 0.0772567 0.06622 0.0702333 -0.0822733 0.0762533 0.0802667 0.08729 0.0903 0.0852833 0.0903 0.0913033 -0.0792633 0.0822733 0.0802667 0.08428 0.0822733 0.07826 0.0862867 0.0832767 -0.0862867 0.0792633 0.07826 0.07525 0.0832767 0.0772567 0.0822733 0.0742467 -0.0682267 0.0792633 0.0672233 0.0702333 0.0762533 0.0772567 0.0702333 0.0732433 -0.0802667 0.07525 0.08127 0.0732433 0.0903 0.0772567 0.08428 0.0882933 -0.0762533 0.0792633 0.08428 0.0732433 0.08127 0.0732433 0.0892967 0.0882933 -0.0953167 0.0852833 0.0983267 0.08428 0.0862867 0.0852833 0.08428 0.0792633 -0.06923 0.0672233 0.0772567 0.0832767 0.0862867 0.09933 0.09933 0.10535 -0.106353 0.10234 0.0401333 0.00802667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0100333 -0.0491633 0.08127 0.112373 0.10234 0.104347 0.08729 0.0882933 0.0822733 -0.07826 0.07826 0.07826 0.0903 0.08127 0.0903 0.0923067 0.09632 -0.0923067 0.0943133 0.0903 0.0973233 0.0862867 0.0852833 0.0832767 0.0882933 -0.0852833 0.0852833 0.0822733 0.0862867 0.0913033 0.0882933 0.0882933 0.0903 -0.0822733 0.09632 0.0732433 0.0852833 0.0882933 0.0882933 0.0802667 0.0903 -0.0892967 0.0852833 0.0913033 0.0852833 0.0923067 0.07826 0.0832767 0.0852833 -0.08127 0.07826 0.0943133 0.0953167 0.09632 0.0903 0.09933 0.09933 -0.0923067 0.0913033 0.0913033 0.0792633 0.0822733 0.0822733 0.0862867 0.0822733 -0.0742467 0.0822733 0.100333 0.101337 0.119397 0.11438 0.07826 0.0441467 -0.00802667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.04816 0.0431433 0.11137 0.116387 0.101337 -0.0903 0.09331 0.0903 0.0802667 0.0792633 0.08729 0.08729 0.0852833 -0.0953167 0.0973233 0.0973233 0.10535 0.0953167 0.0953167 0.100333 0.0923067 -0.0913033 0.0923067 0.0903 0.0903 0.0923067 0.0953167 0.0973233 0.08729 -0.100333 0.09632 0.0892967 0.0923067 0.10234 0.0923067 0.0953167 0.09331 -0.0903 0.0882933 0.0892967 0.0953167 0.0892967 0.0802667 0.0913033 0.0903 -0.103343 0.0913033 0.09331 0.10836 0.09331 0.0923067 0.09331 0.09632 -0.08729 0.09933 0.0832767 0.07525 0.0852833 0.0802667 0.09933 0.10234 -0.0983267 0.10535 0.122407 0.04214 0.0501667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.04515 -0.03913 0.0832767 0.10836 0.09632 0.0903 0.08729 0.0832767 0.0832767 -0.0903 0.08729 0.0903 0.103343 0.0923067 0.0983267 0.100333 0.104347 -0.0923067 0.0973233 0.0983267 0.09331 0.09933 0.09632 0.09933 0.0943133 -0.0983267 0.09632 0.100333 0.09331 0.100333 0.0973233 0.10234 0.09331 -0.0913033 0.0882933 0.0903 0.0983267 0.09331 0.103343 0.101337 0.100333 -0.10234 0.09933 0.0953167 0.100333 0.0943133 0.08729 0.0953167 0.0913033 -0.0852833 0.0973233 0.0882933 0.09331 0.09632 0.0973233 0.0792633 0.0491633 -0.0411367 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.04214 0.0431433 0.06321 0.100333 -0.107357 0.0943133 0.100333 0.100333 0.0943133 0.0983267 0.10836 0.10234 -0.09632 0.107357 0.110367 0.0953167 0.112373 0.0983267 0.100333 0.0983267 -0.0882933 0.100333 0.0953167 0.0892967 0.0943133 0.100333 0.0973233 0.0913033 -0.0953167 0.0953167 0.10836 0.101337 0.104347 0.10234 0.10234 0.104347 -0.0882933 0.0983267 0.09933 0.0953167 0.0973233 0.09331 0.0983267 0.0953167 -0.104347 0.0712367 0.03913 0.0401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0431433 0.0441467 0.0431433 0.0401333 0.1204 0.112373 -0.116387 0.116387 0.118393 0.106353 0.124413 0.10535 0.115383 0.115383 -0.100333 0.107357 0.107357 0.0913033 0.104347 0.110367 0.107357 0.106353 -0.107357 0.110367 0.116387 0.107357 0.11739 0.112373 0.112373 0.119397 -0.109363 0.109363 0.04515 0.0401333 0.0431433 0.04515 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 \ No newline at end of file diff --git a/examples/extended/medical/DICOM/14196633.dcm b/examples/extended/medical/DICOM/14196633.dcm deleted file mode 100644 index 2a3595f500..0000000000 Binary files a/examples/extended/medical/DICOM/14196633.dcm and /dev/null differ diff --git a/examples/extended/medical/DICOM/14196633.g4dcm b/examples/extended/medical/DICOM/14196633.g4dcm deleted file mode 100644 index 18dc995fe4..0000000000 --- a/examples/extended/medical/DICOM/14196633.g4dcm +++ /dev/null @@ -1,8464 +0,0 @@ -10 -0 Air -1 LungInhale -2 LungExhale -3 AdiposeTissue -4 Breast -5 Water -6 Muscle -7 Liver -8 TrabecularBone -9 DenseBone -256 256 1 --250 250 --250 250 --28.5 -25.5 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 3 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 3 3 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 3 5 6 6 6 6 6 6 6 6 6 6 5 5 5 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 6 6 6 6 6 6 5 4 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 6 6 6 6 6 6 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 6 6 6 6 6 5 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 5 6 6 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 6 6 6 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 6 6 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 4 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 5 5 6 6 5 6 6 6 6 6 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 6 6 6 5 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 6 6 6 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 5 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 6 6 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 6 5 6 6 5 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 6 5 5 6 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 6 6 5 5 6 5 5 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 5 6 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 5 3 2 2 3 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 2 2 1 2 2 2 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 6 4 2 1 0 0 0 0 1 2 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 3 1 0 0 0 0 0 0 0 0 1 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 2 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 1 0 0 0 0 0 0 0 0 0 0 1 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 2 1 1 1 1 1 1 2 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 2 0 0 0 0 0 0 0 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 1 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 2 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 5 5 5 5 5 4 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 2 1 2 1 1 2 1 2 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 4 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 3 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 3 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 3 5 5 5 5 5 5 5 5 5 5 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 3 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 1 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 4 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 1 1 1 1 1 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 4 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 0 0 0 0 0 0 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 2 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 2 2 2 3 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 2 2 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 4 2 0 0 0 0 0 0 0 1 2 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 4 2 2 2 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 3 2 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 4 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 4 6 8 8 6 5 5 4 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 4 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 6 8 8 9 8 7 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 6 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 4 8 8 9 9 9 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 4 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 4 4 8 8 9 9 8 8 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 6 8 8 9 9 8 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 6 8 9 8 8 8 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 6 8 8 8 9 8 6 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 8 8 8 8 5 4 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 8 9 9 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 6 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 6 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 5 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 7 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 6 6 6 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 4 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 8 8 8 8 8 8 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 5 6 6 6 6 6 5 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 5 5 6 6 6 5 6 6 6 6 6 6 5 5 5 6 6 5 6 6 5 5 5 6 5 6 5 6 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 6 5 6 6 5 6 6 6 6 6 5 6 6 6 6 5 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 3 3 5 5 5 5 5 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 5 5 6 6 5 6 6 6 6 6 6 6 6 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 3 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 2 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 3 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 3 2 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 2 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 5 6 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 2 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 5 6 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 6 6 3 2 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 5 6 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 4 2 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 2 2 6 6 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 2 5 6 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 6 8 6 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 6 7 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 6 4 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 6 8 8 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 5 6 8 6 4 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 3 6 8 8 6 4 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 4 6 7 8 6 5 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 3 6 6 8 8 6 3 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 3 6 6 8 8 6 6 5 3 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 3 5 6 7 8 8 6 5 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 3 4 6 6 6 8 8 8 7 6 6 6 6 6 5 5 5 5 4 4 4 5 4 5 5 6 6 6 6 6 6 8 8 8 8 6 6 6 4 3 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00401333 0.00301 0.00301 0.0100333 0.00301 0.00802667 -0 0.00501667 0.00602 0.00903 0 0.00802667 0.00100333 0.0100333 -0.00702333 0.00501667 0.00100333 0.00100333 0.00401333 0.0110367 0.00200667 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0.00903 0.00501667 0 0.00200667 0.00401333 0.00802667 -0.00401333 0.00301 0.00301 0.00200667 0.00100333 0.00602 0.00401333 0.00602 -0 0.00401333 0.00200667 0.0100333 0 0.00602 0 0.00702333 -0.00802667 0.00501667 0 0 0.00401333 0.00501667 0.00301 0.00401333 -0.00802667 0 0.00702333 0.00602 0.00100333 0.00702333 0.00602 0.00802667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00100333 0.00802667 0.00401333 0 0.00602 -0.00200667 0 0.00301 0.00802667 0.00100333 0.00100333 0 0.0130433 -0.00301 0.00602 0.00301 0 0 0.00401333 0.00602 0.00301 -0.00200667 0 0.00501667 0.00802667 0 0.00100333 0.00301 0.00200667 -0.00602 0.00702333 0 0 0.00903 0 0.00702333 0.00301 -0.00602 0.00100333 0.0100333 0.00200667 0 0.00501667 0.00401333 0.00401333 -0.00602 0.00401333 0.00702333 0.00501667 0.00903 0.00903 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00903 0.00200667 -0.00802667 0 0.00401333 0.00100333 0.00301 0.00903 0 0.00100333 -0.00702333 0.00200667 0.00301 0.00702333 0.00602 0 0.00200667 0.00802667 -0.00100333 0.00501667 0.00301 0 0.00100333 0.00501667 0.00301 0.00401333 -0 0 0.00602 0.00501667 0 0 0.00802667 0.00200667 -0.00903 0.00401333 0 0 0.0100333 0 0.00903 0.00100333 -0.00301 0 0.00903 0.00301 0.00100333 0.00301 0.00401333 0.00301 -0.00401333 0.00301 0.00602 0.00602 0.00301 0.00401333 0.00200667 0.00702333 -0.00903 0.00903 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.01204 0.00602 0.00200667 0.00200667 0.00501667 -0.00401333 0.00301 0 0.00401333 0 0.00903 0.00100333 0 -0.00401333 0.00702333 0 0.00200667 0.00903 0 0.00301 0.00200667 -0.00200667 0.00200667 0.00501667 0 0.00100333 0.00301 0 0.00401333 -0.00301 0 0.00301 0.00501667 0.00100333 0 0.00501667 0.00301 -0.00501667 0.00200667 0 0 0.00903 0 0.00602 0.00301 -0.00301 0.00200667 0.00401333 0 0.00200667 0.00200667 0.00401333 0 -0.00401333 0 0.00903 0.00401333 0.00301 0 0.00200667 0.00903 -0.00602 0.00602 0.00301 0.00903 0.00602 0.00501667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0.00100333 0.00702333 0.00100333 0.00802667 0.00100333 0.00401333 0.00200667 0.00702333 -0.00100333 0.00602 0.00100333 0 0.00401333 0.00301 0.00903 0 -0.00200667 0.00602 0 0.00200667 0.00501667 0 0.00200667 0.00301 -0.00301 0.00301 0.00602 0 0.00501667 0.00602 0 0.00301 -0.00301 0 0.00100333 0.00602 0.00401333 0 0 0.00702333 -0.00401333 0.00602 0 0.00401333 0.00401333 0 0.00401333 0.00602 -0 0.00200667 0.00501667 0 0.00100333 0 0.00301 0 -0.00301 0 0.0100333 0.00100333 0.00401333 0 0.00301 0.00501667 -0.00301 0.00301 0.00501667 0.00401333 0.00501667 0.00501667 0.00802667 0.00401333 -0.0110367 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.0110367 0.00200667 0.00200667 -0 0.00100333 0.00802667 0.00602 0.00401333 0.00200667 0.00401333 0.00401333 -0.00401333 0 0.00301 0 0.00301 0 0.00903 0 -0 0.00802667 0.00100333 0 0.00602 0 0.00401333 0.00401333 -0 0.00301 0.00602 0 0.00401333 0.00501667 0 0.00301 -0.00301 0.00301 0 0.00401333 0.00602 0.00100333 0 0.00903 -0.00501667 0.00602 0 0.00401333 0 0.00200667 0 0.00802667 -0 0.00301 0.00401333 0.00200667 0.00301 0 0.00301 0 -0.00401333 0 0.00802667 0 0.00100333 0 0.00602 0.00200667 -0.00301 0.00200667 0.00301 0.00100333 0.00301 0.00501667 0.00401333 0.00301 -0.00702333 0.00702333 0.00501667 0.00903 0.0130433 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00802667 0.00602 0.00200667 0 0.0130433 0.00200667 0.00401333 -0 0 0.00802667 0.00501667 0.00100333 0 0.00702333 0 -0.00702333 0 0.00401333 0.00301 0 0.00200667 0.00802667 0.00100333 -0 0.00802667 0.00200667 0 0.00501667 0 0.00301 0.00501667 -0.00301 0.00301 0.00501667 0 0.00401333 0.00301 0 0.00200667 -0.00702333 0.00200667 0 0.00301 0.00401333 0.00401333 0 0.00602 -0.00702333 0.00100333 0 0.00401333 0 0.00301 0.00200667 0.00401333 -0.00200667 0.00602 0.00200667 0.00200667 0.00200667 0.00100333 0.00602 0 -0.00702333 0.00200667 0.00401333 0.00200667 0 0 0.00903 0 -0.00301 0.00401333 0 0.00301 0.00301 0.00200667 0.00301 0.00100333 -0.0100333 0.00301 0 0.00401333 0.00903 0.00100333 0.00903 0.00301 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0.00501667 -0 0.00501667 0.00301 0.00501667 0 0.00501667 0.00702333 0.00301 -0 0 0.00501667 0.00702333 0 0 0 0.00702333 -0.00401333 0 0.00401333 0.00301 0 0.00200667 0.00301 0.00100333 -0 0.00401333 0.00602 0 0.00100333 0 0.00401333 0.00100333 -0.00401333 0 0.00200667 0 0.00401333 0.00602 0 0 -0.00401333 0.00301 0 0.00200667 0 0.00802667 0 0 -0.0110367 0 0.00200667 0.00200667 0 0.00200667 0.00301 0 -0.00301 0.00301 0.00100333 0.00100333 0.00200667 0.00301 0.00401333 0 -0.00702333 0.00501667 0.00100333 0.00100333 0 0.00501667 0.00802667 0.00200667 -0 0.00702333 0 0.00702333 0 0.00200667 0.00301 0.00100333 -0.0110367 0 0.00200667 0.00501667 0.00301 0 0.00802667 0.00903 -0.00100333 0.00903 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00602 0.00200667 0.00401333 -0.00100333 0.00501667 0.00100333 0.00802667 0 0 0.00602 0.00501667 -0.00401333 0 0.00200667 0.00802667 0.00200667 0.00401333 0 0.00501667 -0.00602 0 0.00200667 0.00401333 0.00200667 0.00401333 0 0.00200667 -0.00100333 0 0.00802667 0.00200667 0 0 0.00301 0 -0.00602 0 0 0.00401333 0.00401333 0.00702333 0 0 -0.00301 0.00401333 0 0.00401333 0 0.00802667 0 0 -0.00903 0 0.00401333 0 0.00301 0.00301 0.00301 0 -0.00602 0.00100333 0.00401333 0 0.00100333 0.00200667 0.00200667 0 -0.00802667 0.00501667 0 0 0 0.00301 0.00401333 0.00602 -0 0.00602 0.00401333 0.00401333 0 0.00501667 0.00301 0.00200667 -0.00200667 0 0.00200667 0.00401333 0.00100333 0.00200667 0.00301 0.00702333 -0 0.00702333 0.00802667 0.00401333 0.00702333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0.00802667 0.00702333 0 0.00501667 0.00100333 0.00702333 -0 0 0.00702333 0.00200667 0.00200667 0 0.00401333 0.00802667 -0 0 0 0.00100333 0.00702333 0.00702333 0 0 -0.0110367 0 0 0.00301 0.00200667 0.00100333 0 0.00100333 -0.00100333 0 0.00903 0.00100333 0 0 0.00401333 0 -0.00200667 0 0 0.00301 0.00200667 0.00602 0 0 -0.00501667 0.00401333 0.00200667 0.00200667 0 0.00602 0.00100333 0 -0.00602 0 0.00702333 0 0 0.00602 0 0 -0.00501667 0.00100333 0.00401333 0 0.00200667 0 0.00200667 0 -0.00501667 0.00501667 0 0 0.00802667 0.00100333 0.00200667 0.00501667 -0 0.00501667 0.00401333 0.00200667 0 0.00702333 0 0.00301 -0.00200667 0 0.00401333 0 0 0.00401333 0.00301 0.00301 -0.00100333 0.00903 0.00301 0 0.00501667 0.00802667 0.00903 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00301 -0 0.00200667 0.00602 0.00702333 0.00100333 0.00100333 0 0.00301 -0.00702333 0 0.00401333 0.00602 0.00301 0 0.00100333 0.0100333 -0.00100333 0.00401333 0 0.00200667 0 0.0100333 0 0 -0.00802667 0.00200667 0 0.00200667 0.00200667 0 0.00602 0 -0.00301 0 0.00903 0.00100333 0 0 0.00200667 0.00301 -0 0 0.00602 0.00301 0 0.00802667 0.00100333 0 -0.00401333 0.00301 0.00301 0 0 0.00301 0.00401333 0 -0.00702333 0 0.00401333 0.00301 0 0.00501667 0 0 -0.00802667 0.00200667 0.00401333 0 0.00200667 0.00100333 0 0 -0.00100333 0.00802667 0 0 0.00702333 0 0.00200667 0.00200667 -0 0.00401333 0.00301 0.00200667 0.00200667 0.00401333 0.00301 0.00301 -0.00200667 0 0.00501667 0.00200667 0.00100333 0.00401333 0.00802667 0 -0.00301 0.00401333 0.00200667 0.00100333 0.00200667 0.00401333 0.00702333 0.00100333 -0.00802667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00501667 0.00602 0.00301 -0 0.00200667 0.00200667 0.00802667 0 0.00100333 0.00100333 0 -0.00301 0.00501667 0 0.00702333 0.0100333 0 0 0.00802667 -0.00301 0.00100333 0 0 0 0.0100333 0.00401333 0 -0.00100333 0.00401333 0 0.00401333 0 0 0.00602 0 -0.00200667 0.00100333 0.00802667 0.00301 0 0 0.00401333 0 -0 0 0.00401333 0.00200667 0 0.00501667 0.00200667 0 -0 0.00702333 0.00602 0 0.00301 0 0.00602 0 -0.00100333 0 0.00100333 0.00401333 0 0.00301 0.00100333 0 -0.00301 0.00401333 0 0.00200667 0 0.00301 0.00100333 0 -0.00401333 0.0100333 0 0 0.00602 0 0.00100333 0.00401333 -0.00200667 0.00200667 0.00602 0 0.00501667 0 0.00602 0.00501667 -0 0 0.00100333 0.00401333 0.00100333 0.00702333 0.00501667 0 -0.00200667 0.00301 0.00200667 0 0.00301 0.0100333 0.00100333 0.00200667 -0.00602 0.00100333 0.00802667 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00802667 0 0.00301 0.00602 0.00501667 -0.00401333 0 0 0.00802667 0.00301 0 0.00200667 0.00100333 -0.00401333 0.00602 0 0.00200667 0.01204 0 0.00301 0.00200667 -0.00702333 0.00200667 0 0.00100333 0 0 0.00602 0 -0 0.00301 0 0.00602 0 0 0.00200667 0.00200667 -0 0 0.00602 0.00602 0 0 0.00802667 0 -0 0 0.00301 0.00401333 0.00200667 0.00401333 0 0.00200667 -0 0.00903 0.00100333 0 0.00301 0 0.00802667 0.00501667 -0 0 0.00200667 0.00501667 0.00200667 0.00301 0.00200667 0.00100333 -0.00200667 0.00200667 0 0.00301 0 0.00401333 0.00602 0 -0.00802667 0.00602 0 0 0.00301 0 0 0.00401333 -0 0.00301 0.00100333 0 0.00702333 0 0.0130433 0 -0 0.00301 0 0.00501667 0 0.00903 0.00602 0 -0 0.00401333 0 0 0.00903 0.00301 0.00100333 0.00200667 -0.00301 0.00602 0.00501667 0.00602 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00200667 0.00702333 0.00100333 0.00301 0.00501667 0 -0.00602 0 0 0.00100333 0.00401333 0.00301 0 0.00401333 -0.00301 0.00200667 0 0.00702333 0.00301 0 0.00200667 0 -0.00301 0.00200667 0 0.00100333 0 0.00200667 0 0.00501667 -0 0.00100333 0 0.00501667 0.00100333 0 0.00100333 0.00401333 -0 0.00401333 0.00501667 0.00301 0 0.00200667 0.00602 0 -0 0.00702333 0 0.00100333 0.00200667 0.00200667 0 0 -0 0.00802667 0 0 0 0.00100333 0.00301 0 -0.00200667 0 0 0.00501667 0.00100333 0.00200667 0.00200667 0.00200667 -0 0.00501667 0 0.00301 0 0.00401333 0.00602 0 -0.00602 0.00501667 0 0 0.00200667 0 0.00100333 0.00401333 -0 0.00602 0 0.00301 0 0 0.0110367 0 -0.00100333 0.00100333 0.00401333 0 0.00401333 0.00702333 0.00602 0 -0 0.00401333 0 0.00200667 0.00802667 0 0.00100333 0.00200667 -0.00602 0 0 0.00802667 0.00100333 0 0.00702333 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0.00100333 0.00702333 0.00200667 0.00200667 0.00100333 0.00802667 0.00301 0 -0.00401333 0 0.00401333 0.00100333 0.00301 0.00200667 0.00100333 0.00401333 -0 0.00100333 0 0.00802667 0.00100333 0 0.00501667 0 -0.00100333 0.00401333 0 0 0.00200667 0.00401333 0 0.00702333 -0 0.00501667 0 0.0100333 0 0 0.00401333 0.00200667 -0 0.00100333 0.00200667 0.00401333 0 0.00200667 0.00401333 0 -0 0.00401333 0.00301 0 0.00401333 0.00301 0 0 -0.00602 0 0 0.00401333 0 0.00301 0.00702333 0.00301 -0.00100333 0 0 0.00301 0.00200667 0 0.00100333 0.00200667 -0 0.00401333 0 0 0.00100333 0.00401333 0 0 -0.00501667 0.00301 0 0 0 0.00301 0.00301 0.00602 -0 0.00702333 0 0.00401333 0 0 0.00401333 0 -0.00501667 0 0.00401333 0.00200667 0 0.0110367 0.00200667 0 -0.00100333 0.00301 0 0.00401333 0.00501667 0.00602 0 0.00602 -0.00802667 0 0.00401333 0.00602 0 0.00301 0.00903 0.00401333 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00602 0.00401333 0.00401333 -0 0.00802667 0.00903 0.00100333 0 0.00501667 0.00301 0.00200667 -0.00200667 0.00301 0.00301 0.00501667 0.00100333 0.00301 0 0.00602 -0 0.00100333 0 0.00501667 0.00100333 0 0.00100333 0.00200667 -0.00501667 0.00702333 0 0.00100333 0 0.00301 0 0.00802667 -0 0.00802667 0 0.00602 0.00200667 0 0.00401333 0 -0.00100333 0 0.00602 0.00100333 0 0 0.00602 0 -0 0 0.00501667 0 0.00200667 0 0 0 -0.00200667 0.00100333 0 0.00200667 0 0.00100333 0.00401333 0.00200667 -0 0 0 0 0.00702333 0 0.00100333 0.00100333 -0 0.00501667 0 0 0.00200667 0.00401333 0 0 -0.00100333 0.00100333 0.00100333 0 0 0.00301 0.00501667 0.00301 -0 0.00903 0 0.00401333 0 0.00200667 0 0 -0.00200667 0 0 0.00301 0 0.00903 0.00200667 0 -0.00200667 0 0 0.00401333 0.00702333 0 0 0.00903 -0.00100333 0 0.00200667 0.00501667 0 0.00301 0.0110367 0 -0.00501667 0.00702333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00200667 0.00802667 0 -0.00401333 0.00301 0.00501667 0.00401333 0 0.00100333 0.00501667 0.00301 -0 0.00501667 0.00100333 0.00501667 0 0.00401333 0 0.00301 -0 0.00301 0 0.00702333 0.00100333 0.00100333 0.00301 0.00100333 -0 0.00301 0.00100333 0 0.00200667 0 0.00100333 0.00602 -0 0.00602 0 0 0.00702333 0 0.00100333 0 -0.00100333 0.00301 0 0.00401333 0 0.00200667 0.00301 0 -0 0 0.00501667 0.00301 0 0 0.00200667 0 -0 0.00401333 0 0.00100333 0 0.00401333 0 0.00200667 -0.00401333 0.00100333 0 0 0.00702333 0 0.00301 0 -0 0.00401333 0 0 0.00702333 0 0.00200667 0.00200667 -0 0.00602 0 0 0 0.00401333 0.00501667 0 -0.00401333 0.00401333 0 0.00401333 0 0.00301 0 0.00602 -0.00301 0.00200667 0 0.00501667 0 0.00401333 0 0 -0.00501667 0 0 0.00301 0.00702333 0 0.00602 0.00401333 -0.00501667 0 0.00602 0 0 0.00602 0.00501667 0 -0.00802667 0.00100333 0 0.0100333 0.00903 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0.00200667 0.00501667 0.00100333 0.00702333 0 -0.00200667 0.00200667 0.00301 0.00501667 0 0.00501667 0 0.00401333 -0.00100333 0 0.00401333 0.00301 0.00100333 0 0.00401333 0 -0 0.00200667 0 0.00200667 0.00100333 0 0.00602 0.00100333 -0 0 0.00702333 0 0 0 0 0.00200667 -0 0.00602 0 0 0.00501667 0.00100333 0 0.00100333 -0 0.00602 0 0.00802667 0 0 0.00301 0.00301 -0 0 0.00301 0.00501667 0 0.00100333 0.00702333 0 -0.00401333 0.00100333 0.00100333 0 0 0.00702333 0 0 -0.00401333 0.00301 0 0.00501667 0.00200667 0 0.00501667 0.00100333 -0 0 0 0.00100333 0.00401333 0 0.00200667 0.00301 -0 0.00401333 0 0 0 0 0.00501667 0 -0.00602 0 0.00401333 0 0.00200667 0.00301 0 0.00702333 -0.00200667 0.00301 0 0.00903 0 0.00301 0.00401333 0 -0.00301 0 0.00200667 0.00301 0.00401333 0.00100333 0.00301 0.00200667 -0.00802667 0 0.00702333 0 0.00401333 0.00301 0.00100333 0.00100333 -0.00401333 0 0.00100333 0.01505 0 0.00401333 0.00501667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.0110367 0.00501667 0.00200667 0 0.0100333 0 0.00702333 0.00602 -0 0.00602 0.00702333 0.00100333 0.00100333 0.0110367 0 0 -0.00702333 0 0.00802667 0.00301 0.00401333 0 0 0.00401333 -0 0 0 0 0 0.00100333 0.00802667 0.00301 -0 0 0.00200667 0.00301 0 0 0.00100333 0 -0 0.00602 0.00100333 0 0 0.00702333 0 0.00200667 -0 0.00301 0 0.0100333 0 0 0.00200667 0.00200667 -0 0 0 0.00200667 0 0.00200667 0.00401333 0 -0 0 0.00401333 0.00100333 0 0.00200667 0 0 -0.0100333 0.00401333 0 0.00903 0 0 0.00702333 0.00100333 -0 0.00100333 0 0.00602 0 0.00301 0.00401333 0.00200667 -0 0.00401333 0 0 0.00200667 0 0 0 -0.00501667 0 0.00301 0 0.00301 0.00100333 0 0.00802667 -0 0.00301 0 0.0130433 0 0 0.00301 0 -0.00100333 0 0.00100333 0.00602 0 0.00702333 0 0.00401333 -0.00602 0 0.00903 0 0.00200667 0.00301 0.00401333 0.00301 -0 0.00100333 0.00702333 0.00501667 0.00200667 0.00301 0.00200667 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00903 0.00301 0.00702333 0 0.00301 0.00200667 0.00200667 0.00501667 -0 0 0.00401333 0.00802667 0 0.00903 0.00501667 0 -0.00501667 0 0.00301 0.00301 0.00501667 0 0 0.00200667 -0 0 0 0.00100333 0 0 0.00802667 0.00702333 -0 0.00100333 0 0.00301 0 0 0 0 -0 0.00501667 0.00401333 0 0 0.0110367 0.00100333 0 -0.00301 0 0.00200667 0.00802667 0 0.00100333 0.00301 0.00100333 -0.00301 0 0 0 0 0 0.00100333 0.00401333 -0 0.00100333 0 0.00602 0 0 0 0 -0.00903 0 0 0.00602 0 0 0.00702333 0 -0 0 0 0.00501667 0 0 0.0100333 0.00100333 -0 0 0 0 0.00301 0.00301 0 0 -0.00702333 0 0.00100333 0.00100333 0.00200667 0 0 0.00602 -0 0 0 0.00501667 0 0.00802667 0.00100333 0.00702333 -0 0 0 0.00802667 0 0.00401333 0.00100333 0.00301 -0 0 0.00802667 0 0 0.00301 0.00602 0.00200667 -0.00100333 0.00401333 0.00401333 0.00401333 0.00100333 0 0.00301 0.00501667 -0 0.00501667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00602 0.00301 0 -0.00702333 0 0.00702333 0.00401333 0 0.00100333 0.00401333 0.00602 -0.00200667 0 0 0.00903 0 0 0.01204 0 -0 0.00100333 0.00301 0.00301 0.00401333 0 0 0.00100333 -0.00401333 0 0 0.00501667 0 0.00200667 0.00501667 0.00702333 -0 0 0 0.00200667 0.00100333 0 0.00200667 0 -0 0.00401333 0.00100333 0.00602 0 0.00501667 0.00200667 0 -0.00301 0 0.00501667 0.00702333 0 0.00301 0 0.00100333 -0.00602 0 0 0 0.00401333 0.00100333 0 0.00100333 -0 0 0 0.00602 0 0 0 0 -0.00301 0.00200667 0 0 0.00301 0 0.00501667 0.00100333 -0 0.00702333 0 0.00401333 0.00100333 0 0.00802667 0.00100333 -0 0 0 0.00100333 0.00501667 0.00401333 0 0.00501667 -0.00100333 0 0 0.00301 0.00100333 0 0.00401333 0 -0.00100333 0.00100333 0.00200667 0.00100333 0 0.00301 0.00401333 0 -0 0 0 0.00200667 0 0.00401333 0.00401333 0 -0.00903 0 0.00702333 0 0 0 0.00602 0 -0.00702333 0.00100333 0.00602 0.00200667 0.00100333 0 0.00702333 0.00501667 -0 0.0140467 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00401333 0.00301 0.00301 0.00501667 -0.00401333 0 0.00401333 0.00401333 0.00100333 0.00301 0 0.00702333 -0.00501667 0 0 0.00301 0.00100333 0.00301 0.00702333 0.00200667 -0 0.00100333 0.00200667 0.00100333 0.00301 0.00100333 0.00501667 0 -0.00602 0 0 0 0 0 0.00702333 0.00100333 -0.00200667 0 0.00501667 0 0.00702333 0 0.00301 0 -0.00401333 0 0.00200667 0.00301 0.00100333 0.00100333 0.00200667 0 -0.00200667 0 0.00301 0.00501667 0 0 0 0.00301 -0.00702333 0 0.00200667 0 0.00200667 0.00501667 0 0 -0 0 0 0.00702333 0 0 0.00501667 0 -0.00100333 0.00200667 0 0 0.00602 0 0.00100333 0.00702333 -0 0.00903 0 0.00100333 0.00301 0 0.00903 0.00200667 -0 0 0.00200667 0.00200667 0 0 0 0.00602 -0.00100333 0.00200667 0 0.00903 0 0 0.00100333 0.00301 -0 0.00200667 0 0 0.00501667 0.00100333 0.00200667 0 -0 0.00401333 0 0.00401333 0.00100333 0.00802667 0 0.00200667 -0.00301 0 0.00100333 0 0.00301 0.00301 0.00100333 0.00200667 -0.00702333 0 0.00501667 0.00401333 0 0.00100333 0.00602 0.00100333 -0 0.0110367 0 0.00301 0.00702333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0110367 0 0.00301 0.00501667 0.00100333 0.00200667 -0 0.00401333 0 0.00903 0.00200667 0.00100333 0.00200667 0 -0.00802667 0 0 0.00200667 0.00200667 0.00200667 0.00802667 0.00702333 -0 0 0 0 0.00501667 0 0.00802667 0 -0.00301 0 0.00602 0 0.00200667 0 0.00200667 0.00401333 -0.00200667 0 0.00903 0 0.00100333 0.00200667 0 0 -0.00301 0 0.00200667 0 0.00301 0 0.00301 0 -0.00200667 0 0.00602 0.00401333 0.00200667 0 0 0.00401333 -0.00501667 0 0 0.00301 0 0.00802667 0 0.00401333 -0 0 0.00200667 0.00602 0 0 0.00401333 0 -0.00100333 0.00301 0 0 0.00602 0 0 0.00200667 -0 0.00501667 0 0.00200667 0.00100333 0 0.0100333 0 -0 0 0.00702333 0 0 0 0 0.00200667 -0 0 0 0.00702333 0.00100333 0 0.00602 0.00100333 -0 0 0.00100333 0.00301 0.00602 0 0 0 -0.00100333 0.00401333 0 0 0.00602 0.00501667 0 0.00301 -0 0.00100333 0.00301 0 0 0.00301 0 0.00702333 -0.00200667 0 0.00802667 0.00602 0 0.00301 0.00501667 0 -0.00602 0.00301 0.00200667 0.00200667 0.00401333 0.00903 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00100333 0.00501667 0.00501667 0 0.00702333 0 0.00602 -0 0.00200667 0.00301 0.00401333 0.00501667 0 0.00401333 0 -0.00501667 0.00702333 0 0 0.00401333 0 0.00100333 0.00602 -0.00100333 0.00200667 0 0 0.00802667 0 0.00401333 0 -0.00301 0 0.00702333 0 0 0.00401333 0 0.00802667 -0 0 0.00602 0 0 0.00501667 0 0 -0.00200667 0 0.00401333 0 0.00401333 0.00301 0.00501667 0 -0 0 0.00401333 0.00401333 0.00401333 0 0.00301 0.00401333 -0.00401333 0 0 0.00200667 0 0.00301 0 0.00602 -0 0.00401333 0.00401333 0.00301 0.00100333 0 0.00401333 0.00100333 -0 0.00100333 0 0 0.00301 0 0.00301 0 -0.00501667 0.00100333 0 0.00100333 0 0.00100333 0.00903 0 -0.00200667 0 0.00903 0 0 0.00100333 0.00100333 0 -0.00501667 0 0.00200667 0.00702333 0 0 0.00200667 0 -0.00602 0 0.00702333 0.00200667 0.00200667 0 0.00100333 0 -0.00200667 0.00301 0 0.00100333 0.00802667 0.00401333 0 0 -0 0 0.00501667 0 0 0 0 0.00702333 -0 0 0.01204 0 0.00200667 0 0.00702333 0 -0 0.00702333 0.00200667 0 0.0100333 0.00401333 0.00401333 0.00702333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00702333 0.0100333 0.00200667 0.00501667 0.00100333 0.00100333 0 0.00301 -0.00301 0 0.00401333 0 0.00501667 0.00301 0.00200667 0 -0.00602 0.00602 0 0 0 0.00200667 0.00200667 0.00401333 -0.00100333 0.00501667 0.00301 0 0.00401333 0 0 0 -0.00602 0 0.00401333 0.00100333 0 0 0.00301 0.00301 -0.00301 0 0.00301 0.00501667 0 0.00100333 0 0.00301 -0.00100333 0 0.00200667 0 0 0.00702333 0 0.00401333 -0 0 0.00602 0.00200667 0.00501667 0 0.00301 0.00401333 -0 0.00100333 0.00100333 0 0.00200667 0 0.00501667 0.00301 -0 0 0.00100333 0 0.00401333 0 0.00100333 0.00301 -0.00100333 0 0.00301 0 0 0 0.00401333 0 -0.00301 0.00301 0 0 0.00100333 0.00501667 0.00602 0 -0 0 0.00802667 0 0 0 0.00401333 0 -0.00501667 0.00100333 0 0.00702333 0 0 0 0 -0 0 0.00802667 0 0.00200667 0 0.00200667 0 -0.00301 0 0 0.00100333 0.00802667 0 0 0 -0.00802667 0 0.00401333 0 0 0.00501667 0.00100333 0 -0.00100333 0.00200667 0.00501667 0 0.00301 0.00100333 0.00200667 0 -0.00301 0.00401333 0 0.00602 0.00501667 0.00301 0.00200667 0.00200667 -0.00903 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00602 0 -0 0.00100333 0.00501667 0.00501667 0.00200667 0 0.00100333 0 -0.00802667 0 0 0.00200667 0 0.00602 0.00301 0 -0.00200667 0.00501667 0.00602 0 0 0 0.00602 0 -0 0.0100333 0 0 0 0.00702333 0 0.00100333 -0.00200667 0.00401333 0 0 0.00501667 0 0 0.00200667 -0.00401333 0 0.00200667 0 0.00702333 0 0 0.00200667 -0 0 0.00401333 0 0 0.00802667 0 0.00401333 -0 0 0.00501667 0 0.00401333 0 0.00200667 0.00301 -0.00100333 0 0.00301 0 0.00301 0 0.00401333 0.00501667 -0 0.00200667 0 0 0.00401333 0 0 0.00200667 -0.00301 0 0.00200667 0.00100333 0.00200667 0 0.00301 0 -0.00501667 0.00301 0 0 0.00100333 0.00802667 0.00100333 0 -0 0 0.00401333 0 0 0.00100333 0.00501667 0 -0.00200667 0.00301 0 0.00602 0 0 0.00301 0.00100333 -0 0.00301 0 0.00200667 0.00100333 0 0.00301 0 -0.00501667 0 0.00501667 0 0.00602 0 0 0.00501667 -0.00702333 0 0.00602 0 0 0 0.00301 0.00100333 -0.00501667 0 0.00602 0.00401333 0 0 0.00702333 0 -0.00401333 0.00501667 0.00602 0.00802667 0 0 0 0.00903 -0.00301 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00702333 0.00501667 0.00401333 -0.00602 0 0 0.00702333 0.00602 0.00100333 0.00200667 0 -0.00200667 0.00602 0 0.00602 0.00100333 0 0.00401333 0.00301 -0 0.00301 0.00702333 0 0 0.00200667 0.00301 0.00200667 -0 0.00501667 0.00501667 0 0 0.00602 0.00100333 0 -0.00602 0.00401333 0 0 0.00301 0.00401333 0 0.00501667 -0 0.00200667 0.00200667 0 0.0100333 0 0 0.00903 -0 0 0.00100333 0.00200667 0 0.00100333 0.00602 0.00100333 -0 0 0 0.00200667 0.00401333 0 0.00100333 0 -0.00100333 0 0 0.00200667 0 0 0 0.00903 -0 0.00401333 0 0.00401333 0 0.00200667 0 0.00100333 -0.00301 0 0.00301 0 0.00301 0 0 0 -0.0110367 0.00200667 0 0 0 0.00702333 0.00100333 0 -0.00301 0.00301 0 0.00100333 0 0 0.00602 0 -0.00401333 0.00401333 0 0.00401333 0 0 0.00301 0 -0 0.00501667 0 0 0.00301 0 0.00100333 0.00100333 -0 0.00501667 0.00100333 0 0.00301 0 0.00200667 0.00602 -0.00100333 0 0 0.00100333 0.00100333 0 0 0.00602 -0.00100333 0 0.00301 0.00401333 0 0.00802667 0.00200667 0 -0.00702333 0.00602 0.00501667 0 0 0 0.00602 0.00501667 -0.00100333 0.00200667 0.00200667 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00802667 0.00200667 0.0100333 -0.00301 0 0 0.00401333 0.00401333 0.00903 0.00200667 0 -0.00301 0.00200667 0.00401333 0 0.00802667 0 0.00200667 0.00100333 -0 0.00100333 0 0.00802667 0 0 0.00501667 0.00100333 -0 0.00100333 0.00802667 0.00301 0 0 0.00702333 0 -0 0.00501667 0.00200667 0.00100333 0.00401333 0.00200667 0 0 -0.00100333 0.00200667 0.00401333 0 0 0.00602 0 0.00200667 -0.00602 0 0.00200667 0 0.00501667 0 0.00401333 0.00100333 -0 0.00401333 0 0.00200667 0.00100333 0 0 0 -0.00301 0.00501667 0 0.00501667 0 0 0 0.00501667 -0 0.00200667 0 0.00401333 0 0.00501667 0 0 -0.00301 0 0.00200667 0 0.00401333 0 0 0 -0.0130433 0 0 0.00100333 0 0.00702333 0 0 -0.00200667 0.00802667 0 0 0.00401333 0 0.00200667 0 -0.00301 0.00200667 0 0.00100333 0 0 0.00702333 0 -0.00100333 0.00100333 0.00401333 0 0.00301 0 0 0.00401333 -0 0.00903 0 0.00200667 0 0.00702333 0 0.00401333 -0 0 0.00501667 0 0.00200667 0 0.00702333 0.00501667 -0 0.00200667 0.00501667 0 0.00100333 0.00802667 0.00100333 0 -0.00702333 0.00602 0 0.00100333 0 0 0.00301 0.00401333 -0.00200667 0.00501667 0.00200667 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.01204 0 0.00200667 0.00301 0.00200667 -0.00903 0 0 0.00401333 0 0.00501667 0.0100333 0 -0.00301 0.00100333 0.00501667 0 0 0.00501667 0 0 -0.00301 0 0 0.00301 0.00301 0.00100333 0 0.00401333 -0.00100333 0.00200667 0 0.00501667 0 0 0.00301 0 -0 0 0.00301 0.00100333 0.00501667 0.00501667 0 0 -0.00401333 0 0 0.00401333 0 0.00802667 0 0 -0.0100333 0 0.00200667 0 0.00602 0 0 0.00401333 -0 0.00200667 0 0.00401333 0 0.00100333 0.00401333 0 -0.00200667 0.00200667 0.00200667 0.00301 0 0.00100333 0.00301 0 -0.00401333 0 0.00100333 0 0 0.00401333 0.00200667 0 -0.00301 0.00200667 0.00100333 0.00200667 0 0 0 0 -0.00903 0.00401333 0 0.00401333 0.00301 0.00301 0 0.00301 -0 0.00602 0 0 0 0 0 0 -0.01204 0 0.00100333 0.00602 0 0.00200667 0.00200667 0.00100333 -0 0.00301 0.00200667 0 0.00100333 0 0.00100333 0 -0 0.00501667 0.00100333 0 0 0.00401333 0.00301 0.00602 -0 0 0.00200667 0 0.00100333 0.00301 0.00100333 0.00301 -0 0.00602 0.00301 0 0.00100333 0.00401333 0 0 -0.00702333 0.00602 0 0.00301 0.00301 0 0.00200667 0.00401333 -0.00200667 0.00401333 0 0 0.0110367 0.0100333 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0100333 0 0.00301 0.0100333 0.00200667 0 0.00301 -0 0.0140467 0 0.00100333 0.00200667 0 0.00903 0 -0 0 0.00903 0 0 0 0.00301 0 -0.00200667 0 0.00200667 0 0.00501667 0 0.00602 0 -0 0.00301 0.00301 0.00100333 0.00100333 0 0.00200667 0 -0.00100333 0 0.00100333 0.00200667 0.00301 0.00301 0.00200667 0 -0 0.00100333 0.00200667 0.00200667 0.00301 0 0.00100333 0 -0.00702333 0.00301 0.00100333 0 0.00702333 0 0.00702333 0 -0.00100333 0.00100333 0 0.00501667 0 0 0.00401333 0 -0.00501667 0.00100333 0.00200667 0.00401333 0.00200667 0 0.00301 0 -0.00301 0 0.00200667 0.00100333 0 0.00401333 0.00200667 0 -0 0.00301 0 0.00501667 0.00100333 0.00200667 0.00200667 0 -0.00501667 0.00501667 0 0.00100333 0.00200667 0 0 0.00100333 -0.00100333 0 0 0 0.00100333 0.00401333 0 0 -0.0110367 0 0 0.00200667 0 0.00100333 0.00501667 0 -0 0.00200667 0 0 0 0.00401333 0 0.00100333 -0 0.00200667 0 0.00100333 0 0.00802667 0.00301 0.00401333 -0 0.00602 0 0.00602 0.00100333 0.00100333 0 0 -0.00602 0.00200667 0 0 0 0.00602 0.00100333 0 -0.00602 0.00200667 0.00200667 0 0.00200667 0 0.00602 0.00301 -0 0.00301 0 0.00702333 0.0130433 0.00602 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0.00602 0.00401333 0 0.00301 0.00602 0.00100333 0 -0 0.00702333 0.00401333 0.00200667 0 0 0.00501667 0.00802667 -0 0 0.00200667 0.0100333 0.00200667 0 0.00802667 0 -0.00100333 0.00100333 0 0.00200667 0.00200667 0 0.00401333 0 -0.00401333 0 0.00602 0 0.00100333 0 0.00200667 0 -0.00401333 0 0 0.00100333 0.00702333 0.00100333 0.00301 0 -0 0.00200667 0.00200667 0 0.00200667 0 0.00401333 0 -0 0.0110367 0 0 0.00501667 0 0.00200667 0 -0 0.00200667 0 0.00501667 0 0.00301 0.00401333 0 -0.00501667 0 0.00100333 0.00301 0.00602 0 0 0.00802667 -0 0 0.00401333 0 0 0.00200667 0.00100333 0 -0 0.00501667 0 0.00200667 0 0.00301 0.00401333 0 -0.01204 0 0.00802667 0 0 0.00301 0.00100333 0.00200667 -0 0.00501667 0 0 0.00501667 0 0 0.00200667 -0.00602 0 0 0 0 0.00200667 0.00501667 0 -0 0.00100333 0.00100333 0 0 0.00200667 0.00200667 0 -0.00301 0.00100333 0 0 0 0.0110367 0 0 -0 0.00100333 0 0.00702333 0 0 0.00301 0 -0.00702333 0.00100333 0 0.00200667 0.00802667 0.00100333 0 0 -0.00200667 0.00602 0 0 0 0.00501667 0.00401333 0.00200667 -0 0 0.00100333 0.0110367 0.00501667 0 0.00501667 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00602 -0.00301 0 0.00802667 0 0.00200667 0.00100333 0.00200667 0.00301 -0.00100333 0.00501667 0 0.00702333 0.00100333 0 0 0.00501667 -0.00100333 0 0 0.00301 0.00903 0 0 0.00602 -0 0 0.00301 0 0.00200667 0.00401333 0.00200667 0 -0.00200667 0.00501667 0 0.00200667 0 0 0.00200667 0 -0.00301 0.00200667 0 0 0.0100333 0 0.00100333 0 -0.00100333 0 0 0 0 0.00200667 0.00301 0 -0 0.00501667 0.00100333 0 0.00602 0 0.00100333 0.00401333 -0 0 0.00501667 0 0 0.00501667 0.00401333 0 -0.00301 0.00100333 0 0 0.00602 0.00200667 0 0.00702333 -0 0.00100333 0.00602 0 0.00100333 0 0 0 -0.00501667 0.00301 0 0 0 0.00301 0.00200667 0 -0.00802667 0 0.00802667 0 0 0.00802667 0 0 -0.00100333 0.00501667 0 0 0.00903 0 0.00100333 0.00602 -0.00100333 0 0 0.00401333 0 0.00501667 0.00200667 0 -0.00301 0 0 0.00100333 0.00200667 0.00200667 0.00301 0 -0.00301 0.00100333 0.00602 0 0.00301 0.00501667 0 0.00501667 -0 0 0.00802667 0 0 0 0.00602 0.00903 -0 0.00301 0 0 0.00702333 0.00200667 0 0.00301 -0.00602 0.00200667 0 0 0.00100333 0.00802667 0 0.00401333 -0 0.00100333 0.00401333 0.01204 0.00100333 0.00100333 0.00702333 0.00301 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00903 0 -0.00301 0.00401333 0 0 0.00100333 0.00200667 0.00702333 0 -0.00602 0.00702333 0 0.00401333 0.00401333 0 0.00200667 0 -0.00100333 0.00301 0 0 0.00501667 0 0 0.00301 -0.00501667 0 0 0.00802667 0.00200667 0.00200667 0.00200667 0 -0 0.00702333 0 0.00301 0.00100333 0 0.00501667 0 -0 0.00501667 0 0 0.00802667 0.00200667 0 0.00200667 -0 0.00100333 0.00100333 0 0 0 0.00200667 0 -0 0.00200667 0 0.00702333 0.00602 0 0.00200667 0.00301 -0 0 0.00401333 0 0 0.00501667 0 0 -0.00200667 0.00401333 0 0 0.00501667 0.00301 0 0.00602 -0 0.00100333 0.00401333 0 0.00200667 0 0.00100333 0 -0.00602 0.00100333 0 0 0.00301 0 0.00100333 0 -0.00802667 0 0.00401333 0 0.00200667 0.00301 0.00100333 0 -0 0.00501667 0 0.00301 0.00100333 0 0.00200667 0.00200667 -0 0.00200667 0 0.00100333 0 0.0100333 0 0.00100333 -0 0 0 0.00401333 0.00100333 0.00301 0.00100333 0 -0.00100333 0.00602 0 0.00100333 0 0.00401333 0.00100333 0 -0 0.00501667 0 0 0 0.00301 0.00602 0.00100333 -0 0 0 0.00100333 0.00200667 0.00100333 0.00301 0.00301 -0 0.00100333 0 0.00301 0 0.00802667 0 0.00100333 -0 0.00301 0.0110367 0.00100333 0.00301 0.00200667 0.00301 0 -0.00401333 0.0100333 0.00802667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00802667 0.00301 -0 0.00401333 0.00602 0 0 0 0.00501667 0.00100333 -0 0.00702333 0 0 0.00401333 0.00100333 0 0.00501667 -0.00501667 0.00401333 0 0.00100333 0 0.00301 0 0.00301 -0.00501667 0.00401333 0 0 0.00401333 0 0 0.00100333 -0 0 0.00802667 0 0.00301 0 0.00100333 0 -0 0.00100333 0 0.00301 0 0.00401333 0.00200667 0.00200667 -0.00200667 0 0 0.00100333 0 0.00301 0 0.00401333 -0 0.00100333 0 0.00401333 0.00802667 0 0.00100333 0 -0.00301 0 0.00602 0.00200667 0 0 0.00100333 0 -0 0.00702333 0.00100333 0 0.00702333 0 0.00100333 0.00702333 -0 0.00401333 0 0.00301 0 0.00200667 0 0 -0.00602 0.00100333 0.00200667 0 0.00301 0 0 0.00702333 -0.00602 0 0.00200667 0 0.00903 0 0.00501667 0 -0 0.00802667 0 0.00802667 0 0.00200667 0.00200667 0.00100333 -0.00401333 0 0 0 0.00200667 0.0100333 0 0.00200667 -0.00301 0 0.00200667 0.00200667 0.00401333 0.00200667 0 0.00200667 -0 0.00802667 0 0.00301 0 0.00903 0 0 -0.00301 0 0 0 0.00100333 0.00301 0.00501667 0 -0 0.00200667 0 0.00301 0.00100333 0.00200667 0.00602 0 -0.00401333 0.00200667 0 0.00401333 0.00100333 0.00200667 0 0 -0.00702333 0.00702333 0.00200667 0.00200667 0.00903 0 0 0.00301 -0.00301 0.00702333 0.00401333 0.00802667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00501667 0.00301 0.00401333 0.00702333 -0.00200667 0 0.00100333 0.00602 0.00200667 0 0.00200667 0.00200667 -0 0.00301 0.00100333 0.00501667 0 0.00200667 0 0 -0.00602 0 0.00200667 0 0 0.00702333 0 0 -0.00200667 0.00401333 0.00200667 0 0 0 0.00702333 0 -0.00200667 0 0.00702333 0 0.00401333 0 0.00501667 0 -0 0 0.00501667 0.00100333 0 0.00301 0.00602 0 -0.00802667 0 0 0.00903 0 0 0.00501667 0 -0.00301 0.00200667 0 0 0.00401333 0.00301 0.00200667 0 -0.00401333 0 0.00100333 0.00501667 0 0 0.0100333 0 -0 0.00802667 0 0 0.00301 0 0.0110367 0 -0.00501667 0.00200667 0 0.00200667 0 0.00903 0 0.00200667 -0.00200667 0.00401333 0 0.00702333 0 0 0 0.00802667 -0.00200667 0 0.00301 0 0.0130433 0 0.00501667 0.00602 -0 0.00602 0 0.00602 0 0 0.00200667 0.00200667 -0 0.00301 0 0 0.00802667 0.00301 0.00200667 0 -0.00501667 0 0.00401333 0.00401333 0 0 0.00100333 0.00100333 -0 0.00802667 0.00200667 0 0.00301 0 0.00100333 0 -0.00501667 0 0.00301 0 0.00602 0 0.00200667 0 -0 0.00401333 0 0.00200667 0 0.00602 0 0 -0.00401333 0 0 0.0100333 0 0.00301 0 0.00401333 -0.00602 0.00301 0 0.00802667 0.00702333 0 0.00200667 0.00602 -0 0.00501667 0.00401333 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00702333 0.00301 0.00401333 0.00401333 0.00401333 -0.00501667 0 0 0 0.00602 0.00301 0 0.00100333 -0 0.00200667 0 0.00702333 0 0.00100333 0.00401333 0 -0 0.00401333 0 0 0 0.00401333 0.00100333 0.00200667 -0 0.00401333 0.00100333 0.00100333 0 0.00200667 0.00100333 0.00200667 -0 0 0.00401333 0.00301 0 0 0.00200667 0.00100333 -0 0 0.00501667 0 0 0 0.00501667 0 -0 0.00702333 0 0.00200667 0.00100333 0 0.00100333 0.00200667 -0.00200667 0 0.00401333 0 0.00100333 0.00200667 0.00100333 0.00100333 -0 0.00301 0 0.00401333 0 0 0.0130433 0 -0 0.00602 0.00100333 0.00301 0.00200667 0 0.00802667 0 -0.00301 0.00401333 0 0 0.00100333 0.00802667 0 0.00200667 -0 0.00200667 0 0.00602 0 0.00200667 0.00100333 0.00501667 -0.00100333 0.00200667 0.00200667 0 0.00802667 0 0.00401333 0.00501667 -0 0.00702333 0.00301 0 0.00301 0 0.00301 0 -0 0.00501667 0 0 0.0100333 0.00100333 0.00301 0.00200667 -0.00200667 0 0.00401333 0.00501667 0 0 0.00401333 0 -0 0.00903 0.00501667 0 0.00501667 0 0.00401333 0 -0.0100333 0 0.00200667 0.00100333 0 0 0.00401333 0 -0.00501667 0.00602 0 0 0.00602 0.00301 0 0.00301 -0.00100333 0 0.00100333 0.00200667 0 0 0.00200667 0.00100333 -0.00301 0 0.00401333 0.00702333 0 0 0.00401333 0.00301 -0.00301 0.00501667 0.00100333 0 0.00200667 0.00602 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00501667 0.00401333 0.00301 0 0.00200667 -0.00100333 0.00401333 0 0.00200667 0 0.00501667 0.00301 0 -0 0 0 0.00903 0 0.00501667 0.00301 0 -0.00100333 0.00301 0 0.00100333 0 0.00501667 0 0.00501667 -0 0 0 0.00401333 0 0.00401333 0 0.00100333 -0 0.00401333 0.00401333 0 0 0 0 0.00301 -0.00200667 0.00100333 0 0.00301 0.00200667 0 0.00501667 0.00401333 -0 0.00702333 0 0 0.00301 0 0.00802667 0 -0.00501667 0 0.00301 0.00200667 0 0.00200667 0 0.00702333 -0 0.00301 0.00100333 0.00200667 0.00200667 0 0.0130433 0 -0 0.00702333 0 0.00702333 0.00100333 0 0.00401333 0.00501667 -0.00100333 0.00401333 0.00200667 0 0.00401333 0.00100333 0.00200667 0.00301 -0 0.00301 0.00401333 0.00301 0.00200667 0 0.00200667 0.00401333 -0.00301 0 0.00100333 0 0.00501667 0 0 0.00100333 -0 0.00903 0 0 0.00501667 0.00301 0.00100333 0 -0.00200667 0.00401333 0 0 0.00702333 0.00301 0 0.00200667 -0.00100333 0 0.0100333 0 0 0 0.00501667 0 -0.00200667 0.01204 0 0 0 0 0.00401333 0.00401333 -0 0 0.00702333 0 0.00200667 0.00301 0 0 -0.00802667 0 0 0.00602 0.00100333 0 0 0.00401333 -0 0.00401333 0 0.00100333 0.00100333 0 0.00702333 0.00301 -0 0.00602 0.00501667 0 0 0 0.00903 0.00401333 -0 0.00602 0 0.00301 0.00200667 0.00903 0.00702333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0.00301 0 0.00702333 0.00200667 0.00301 0.00200667 -0.00100333 0.00100333 0.00501667 0.00100333 0 0.00100333 0.00200667 0.00200667 -0 0 0 0.00100333 0.00401333 0.00200667 0.00702333 0 -0 0.00501667 0.00100333 0 0 0.00200667 0.00200667 0.00301 -0.00401333 0 0 0.00100333 0.00200667 0 0 0.00301 -0.00100333 0 0.00602 0.00100333 0 0 0 0.00200667 -0 0.00702333 0 0.00200667 0.00301 0 0.00301 0.00501667 -0 0.00401333 0.00301 0.00100333 0 0 0.00100333 0.00501667 -0.00100333 0 0 0.00802667 0 0 0.00301 0.00301 -0.00200667 0.00200667 0.00200667 0 0.00200667 0 0.00702333 0 -0.00301 0 0.00200667 0.00702333 0 0.00301 0 0.00200667 -0 0.00401333 0 0 0.00501667 0 0.00602 0 -0 0 0.00602 0 0.00602 0 0.00401333 0 -0.00802667 0 0.00100333 0 0.00100333 0.00702333 0 0.00100333 -0.00200667 0.00802667 0 0 0.00802667 0.00200667 0 0.00200667 -0.00200667 0.00200667 0 0 0.00200667 0.00602 0.00602 0 -0 0 0.00602 0.00200667 0 0.00200667 0.00100333 0 -0.00301 0.00802667 0 0 0 0.00200667 0.00301 0.00100333 -0.00100333 0 0 0.00100333 0.00100333 0.00301 0 0.00200667 -0 0.00501667 0 0.00802667 0 0.00301 0.00200667 0 -0.00401333 0 0 0.00702333 0 0.00602 0.00200667 0 -0.00702333 0.00200667 0 0 0 0.00401333 0.00501667 0.00602 -0 0 0 0.00501667 0.00702333 0.00301 0.00200667 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00200667 0.00802667 0.00602 0 0.00200667 0.00200667 0.00100333 0.00903 -0 0.00501667 0 0.00200667 0 0.00100333 0 0.00702333 -0 0 0 0.00100333 0 0.00301 0.00100333 0.00100333 -0 0.00100333 0.00100333 0.00100333 0.00100333 0 0 0.00200667 -0.00401333 0.00401333 0 0 0.00200667 0.00401333 0 0.00100333 -0 0.00401333 0 0.00501667 0 0.00301 0.00100333 0 -0 0.00802667 0 0.00200667 0.00301 0 0.00100333 0.00301 -0.00100333 0.00200667 0.00100333 0.00200667 0 0.00602 0 0.00100333 -0.00401333 0.00301 0 0.00401333 0 0 0.00100333 0 -0 0 0.00301 0 0 0.00301 0 0 -0.00100333 0 0 0.00401333 0 0.00401333 0 0 -0.00401333 0 0 0 0 0 0.00401333 0 -0.00100333 0 0.00602 0 0.00301 0 0.00401333 0 -0.00702333 0 0.00100333 0 0 0.00903 0 0.00100333 -0.00301 0.00301 0 0.00200667 0.00301 0.00602 0 0.00401333 -0 0.00100333 0 0.00301 0 0.00100333 0.00602 0 -0.00301 0.00200667 0.00200667 0 0.00401333 0 0 0.00100333 -0.00200667 0.00301 0 0 0.00100333 0.00401333 0.00301 0 -0 0 0 0.00501667 0 0.00200667 0.00200667 0 -0.00100333 0.00301 0.00200667 0 0.00100333 0.00301 0 0 -0.00401333 0 0.00200667 0.00200667 0 0.00802667 0 0.00301 -0.00401333 0 0 0.00501667 0.00501667 0 0.00501667 0.00200667 -0 0.00903 0 0.00602 0.00100333 0 0.00602 0.00602 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0.00301 0.00501667 0 0.00501667 0 0.00903 0 0.00401333 -0.00501667 0.00100333 0.00100333 0.00200667 0 0.00100333 0 0.00702333 -0 0 0.00100333 0 0 0 0.00702333 0.00100333 -0.00200667 0.00602 0 0.00100333 0.00200667 0 0 0 -0.00501667 0 0 0.00501667 0 0.00602 0 0.00100333 -0.00100333 0 0.00602 0 0.00401333 0.00100333 0 0.00501667 -0 0.00702333 0 0.00802667 0 0 0.00100333 0.00200667 -0 0.00301 0.00100333 0.00602 0 0.00401333 0.00501667 0 -0.00602 0.00200667 0.00401333 0 0 0.00100333 0.00401333 0 -0 0.00200667 0 0 0.00200667 0.00100333 0 0.00200667 -0 0.00501667 0 0 0 0.00602 0 0 -0.00702333 0 0 0 0.00301 0 0 0.00100333 -0 0.00100333 0 0.00401333 0 0.00401333 0.00301 0 -0.00200667 0 0 0 0.00100333 0.00501667 0 0 -0.00301 0 0 0.00200667 0.00100333 0.00200667 0 0.00501667 -0.00200667 0 0.00301 0.00401333 0 0.00501667 0.00200667 0 -0.00501667 0 0.00301 0 0.00602 0 0 0.00802667 -0 0 0 0 0.00602 0.00100333 0.00200667 0 -0.00301 0 0 0.00401333 0 0.00501667 0 0 -0.00401333 0.00301 0 0.00100333 0 0.00501667 0 0 -0 0.00100333 0.00100333 0.00100333 0.00401333 0 0.00501667 0.00200667 -0 0 0 0.00802667 0.00401333 0 0.00401333 0.00200667 -0.00401333 0 0.00501667 0.00301 0 0 0.0110367 0.00401333 -0 0.01204 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00100333 -0.00802667 0 0.00702333 0.00501667 0 0 0.00903 0 -0.00501667 0.00501667 0 0.00200667 0.00501667 0 0 0 -0.00802667 0 0 0.00401333 0.00100333 0 0.00401333 0.00100333 -0 0.0100333 0 0 0.00501667 0 0.00100333 0.00301 -0 0.00903 0 0.00301 0 0.00301 0 0 -0.00301 0.00301 0 0.00301 0.00301 0 0.00401333 0.00100333 -0 0.00501667 0.00100333 0.00401333 0.00200667 0 0 0.00200667 -0.00200667 0.00200667 0 0.00200667 0 0 0.00602 0.00100333 -0 0.00401333 0.00501667 0 0 0.00100333 0.00401333 0.00100333 -0 0.00100333 0 0 0.00401333 0 0.00602 0 -0 0.00200667 0.00401333 0 0 0.00501667 0 0.00401333 -0 0.00501667 0 0.00301 0.00301 0 0 0.00301 -0 0.00802667 0 0 0 0.00501667 0 0 -0 0.00401333 0 0 0.00401333 0 0 0.00301 -0 0 0.00100333 0 0.00501667 0 0 0.00602 -0 0 0.00200667 0.00200667 0 0.00602 0 0.00100333 -0.00200667 0.00100333 0.00301 0 0.00100333 0 0.00401333 0.00802667 -0 0 0.00301 0 0.00802667 0 0.00200667 0 -0.00200667 0 0.00301 0 0.00401333 0.00200667 0 0.00702333 -0.00301 0.00501667 0 0 0.00200667 0 0 0 -0.00301 0.00602 0 0.00301 0 0.00903 0 0 -0 0.00200667 0.00301 0.00802667 0 0 0.00702333 0 -0 0.00301 0.00903 0.00501667 0 0.00100333 0.00501667 0 -0.00501667 0.00903 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00401333 0.00702333 0 -0.00602 0.00200667 0 0.00602 0.00301 0 0 0.00200667 -0.00200667 0.00602 0.00501667 0 0.00100333 0.00301 0.00401333 0.00301 -0 0.00401333 0 0 0 0 0.00501667 0 -0.00100333 0.00301 0.00100333 0 0 0.00602 0 0 -0.00602 0.00501667 0 0 0 0.00301 0.00401333 0.00100333 -0 0 0.00200667 0 0.00301 0 0.00301 0.00100333 -0 0.00401333 0.00301 0.00100333 0.00100333 0.00401333 0 0 -0.00702333 0.00301 0.00501667 0 0.00200667 0 0.00100333 0.00501667 -0 0.00401333 0.00802667 0 0 0.00100333 0 0.00702333 -0 0.00301 0 0 0.00100333 0.00501667 0.00100333 0 -0 0.00100333 0.00501667 0 0.00200667 0.00401333 0 0.00602 -0 0.00301 0 0 0.00401333 0 0.00501667 0 -0 0 0.00602 0 0.00200667 0 0.00602 0 -0 0.00200667 0 0.00200667 0 0.00401333 0 0.0100333 -0 0 0.00702333 0 0.00501667 0 0.00401333 0 -0.00501667 0 0 0.00702333 0.00200667 0.00200667 0 0.00602 -0 0.00702333 0 0 0.00301 0 0.00602 0.00100333 -0 0 0.00301 0 0.00903 0.00100333 0 0.00200667 -0 0.00602 0 0 0.00301 0 0.00702333 0.00100333 -0.00903 0 0.00401333 0 0.00200667 0 0 0.00200667 -0.00602 0 0 0.00301 0 0.00401333 0 0.00602 -0 0.00602 0.00702333 0.00200667 0 0 0.00802667 0 -0 0.01806 0 0 0 0.00802667 0 0.00301 -0.00200667 0.00802667 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00602 0.0110367 0 0.00401333 -0 0.00602 0.00401333 0.00100333 0.00401333 0.00401333 0.00301 0.00100333 -0 0.00200667 0.00702333 0.00200667 0 0.00301 0.00100333 0.00501667 -0.00100333 0 0.00100333 0 0 0 0.00200667 0.00100333 -0 0.00401333 0.00301 0 0.00100333 0 0 0 -0 0.00602 0 0.00200667 0 0.00401333 0 0.00200667 -0.00401333 0 0.00602 0 0 0 0.00301 0 -0 0.00301 0.00301 0 0.00200667 0.00301 0.00401333 0 -0.00401333 0 0.00802667 0 0.00301 0.00100333 0 0.00602 -0 0.00100333 0.00802667 0 0 0.00401333 0 0.00501667 -0 0.00501667 0 0.00301 0.00301 0.00301 0 0 -0 0.00401333 0.00301 0 0.00501667 0 0.00100333 0.00301 -0.00100333 0.00200667 0.00100333 0 0.00100333 0 0.00602 0 -0.00100333 0 0.00602 0.00802667 0 0.00200667 0 0 -0 0.00200667 0 0.00702333 0 0.00100333 0 0.00802667 -0 0 0.00501667 0 0 0 0.00301 0.00100333 -0.00401333 0 0 0.0100333 0 0 0 0.00903 -0 0.00100333 0.00200667 0 0 0.00501667 0.00501667 0 -0 0.00100333 0 0 0.00802667 0.00200667 0 0 -0.00301 0.00200667 0 0.00401333 0 0.00602 0.00501667 0 -0 0 0.00401333 0 0 0 0.00100333 0.00501667 -0.00200667 0 0.00200667 0 0.00602 0 0.00200667 0.00200667 -0 0.0100333 0 0 0 0.0100333 0.00100333 0 -0.0100333 0 0 0 0 0.00501667 0.00301 0.00100333 -0.00401333 0.00401333 0.00200667 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00903 0 0.00501667 0.00903 0.00501667 -0 0 0.00602 0.00401333 0.00602 0 0.00401333 0.00501667 -0 0 0.00802667 0.00401333 0 0.00301 0 0.00501667 -0 0.00200667 0.00100333 0.00301 0.00200667 0 0 0.00100333 -0 0.00200667 0.00401333 0 0 0.00903 0 0 -0 0.00501667 0 0.00401333 0 0.00200667 0.00100333 0.00200667 -0 0.00200667 0.00100333 0 0.00602 0 0 0 -0.00301 0.00100333 0.00100333 0.00602 0 0.00501667 0.00903 0 -0.00702333 0 0.00100333 0.00602 0 0 0.00301 0 -0.00200667 0.00401333 0 0.00301 0 0.00100333 0 0.00401333 -0 0.00301 0 0.00100333 0.00702333 0.00100333 0 0 -0.00100333 0.00301 0 0.00200667 0.00501667 0 0.00200667 0.00301 -0 0.00200667 0 0.00100333 0.00100333 0 0 0.00100333 -0 0 0.00602 0.00401333 0 0.00301 0 0.00301 -0 0 0.00501667 0.00100333 0 0 0.00200667 0.00501667 -0 0.00301 0.00100333 0 0.00401333 0 0.00200667 0 -0.00200667 0 0.00401333 0.00401333 0.00100333 0 0.00200667 0.00602 -0 0 0.00602 0 0 0.0100333 0 0 -0 0 0.00200667 0.00200667 0.00401333 0.00501667 0 0.00100333 -0 0.00501667 0 0.00602 0 0.00602 0.00200667 0 -0.00301 0.00100333 0.00501667 0 0 0.00100333 0.00100333 0.00702333 -0 0 0 0 0.00602 0 0 0 -0.00401333 0.00100333 0.00100333 0 0.00702333 0.00702333 0.00100333 0.00200667 -0 0.00301 0 0 0 0.00602 0.00200667 0.00301 -0.00602 0 0 0.00501667 0.00802667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00602 0.00301 0.00200667 0 0.00602 0.00602 -0.00401333 0 0 0 0 0.00401333 0.00602 0.00301 -0.00702333 0 0 0.00602 0 0.00100333 0 0.00100333 -0 0 0.00501667 0.00200667 0.00903 0 0 0 -0 0 0.00301 0 0 0.00802667 0 0 -0.00702333 0.00301 0 0.00200667 0 0 0.00100333 0.00301 -0.00100333 0 0 0.00401333 0.00100333 0.00100333 0.00301 0 -0 0.00501667 0 0.00802667 0 0 0.00501667 0 -0.00401333 0 0 0.00702333 0.00301 0 0.00401333 0 -0.00401333 0.00100333 0 0.00100333 0 0.00301 0 0 -0.00602 0.00200667 0.00100333 0 0.00602 0.00301 0 0 -0 0.00100333 0.00602 0 0.00200667 0 0 0.00301 -0 0.00501667 0 0.00401333 0.00100333 0 0 0.00301 -0.00100333 0 0.00200667 0.00100333 0.00301 0.00301 0 0 -0 0 0.00401333 0.00200667 0.00100333 0 0 0.00301 -0 0.00702333 0.00100333 0 0.00602 0 0.00200667 0 -0 0.00200667 0.00100333 0.00301 0 0 0.00501667 0.00200667 -0 0.00100333 0.00401333 0 0.00301 0.00702333 0 0 -0 0 0.00401333 0 0.00602 0 0 0.00100333 -0.00100333 0.00602 0.00301 0 0.00100333 0.00401333 0.00200667 0 -0.00301 0.00100333 0.00401333 0 0.00301 0.00200667 0.00200667 0.00301 -0 0 0 0.0130433 0.00200667 0 0 0 -0 0.00602 0 0.00401333 0.00401333 0 0 0 -0.00401333 0.00301 0 0 0.00602 0.00702333 0.00301 0.00200667 -0 0 0.00802667 0.0100333 0.00200667 0.00501667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00200667 0.0110367 0 0 0.00802667 -0.00602 0.00200667 0.00200667 0.00200667 0.00401333 0 0.00100333 0.00501667 -0.00602 0 0 0.00100333 0.00301 0 0 0 -0.00100333 0 0.00301 0 0.00903 0.00200667 0 0 -0 0 0.00100333 0.00401333 0 0.00501667 0.00100333 0.00100333 -0 0.00200667 0.00702333 0 0 0.00200667 0.00100333 0 -0.00802667 0 0 0.00301 0.00200667 0 0.00301 0.00401333 -0 0.00100333 0.00501667 0.00401333 0 0.00200667 0.00100333 0 -0.00501667 0.00200667 0 0.00301 0 0 0 0.00100333 -0.00501667 0 0.00100333 0 0 0 0.00501667 0 -0.00301 0.00100333 0 0.00100333 0 0.00702333 0 0.00602 -0 0 0.00301 0.00602 0 0 0.00200667 0.00100333 -0 0.00401333 0 0.00702333 0.00200667 0 0 0 -0 0.00100333 0.00401333 0.00100333 0 0.00501667 0 0.00301 -0 0.00602 0 0.0100333 0 0 0.00200667 0 -0.00200667 0.00602 0 0.00301 0.00100333 0 0.00401333 0 -0.00100333 0.00200667 0 0 0 0.00100333 0.00301 0 -0 0.00501667 0 0.00401333 0.00200667 0.00401333 0 0.00301 -0 0 0.00501667 0.00401333 0 0 0 0.00301 -0 0.00802667 0 0 0.00802667 0.00301 0 0.00301 -0.00301 0 0.00401333 0 0.00903 0 0.00100333 0.00100333 -0 0 0.01204 0.00200667 0 0 0 0 -0.00401333 0.00602 0 0.00100333 0 0.00200667 0 0 -0.00401333 0.00100333 0 0.00200667 0.00602 0.00501667 0 0 -0 0.00802667 0.00903 0.00200667 0.00100333 0.00501667 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0100333 0.00501667 0 0.00100333 0.00602 0 0 -0.00802667 0.00802667 0 0 0.00200667 0.00100333 0.00301 0 -0.00301 0.00401333 0.00200667 0 0.00602 0 0 0 -0.00100333 0.00200667 0 0 0 0.00100333 0.00401333 0 -0 0.00702333 0.00301 0.00100333 0 0 0 0 -0.00200667 0 0 0.0110367 0 0.00501667 0 0 -0.00903 0 0 0 0.00702333 0 0.00903 0.00100333 -0 0 0.00100333 0.00401333 0 0.00200667 0.00702333 0 -0.00401333 0.00301 0 0.00401333 0 0 0.00501667 0 -0.00200667 0 0.00401333 0 0.00100333 0 0 0.00501667 -0 0.00501667 0 0.00301 0 0.00401333 0 0.00702333 -0 0 0 0.00200667 0.00501667 0 0 0.00200667 -0.00602 0.00200667 0 0.00903 0 0.00301 0 0 -0 0.00301 0.00100333 0.00401333 0.00401333 0 0 0.00802667 -0 0.00301 0 0.00903 0 0 0.00200667 0 -0.00702333 0 0 0.0110367 0 0 0.00100333 0 -0.00602 0 0.00200667 0.00200667 0 0 0.00200667 0.00100333 -0 0.00401333 0 0.00401333 0.00602 0 0.00501667 0 -0 0.00200667 0.00702333 0 0.00100333 0 0.00301 0.00401333 -0 0.00702333 0 0 0.00802667 0 0 0.0110367 -0 0 0.00602 0 0.00501667 0 0.00200667 0 -0 0 0.00702333 0 0.00100333 0 0 0.00100333 -0.00702333 0.00401333 0 0 0.00301 0.00501667 0.00100333 0.00200667 -0.00100333 0 0.00200667 0 0.00100333 0.00401333 0 0.00602 -0.00401333 0.0100333 0 0.00100333 0.00501667 0.00401333 0.00802667 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.00301 0.00602 0.00200667 0.00200667 0.00401333 0.00301 0 -0.00200667 0.00301 0.00802667 0.00100333 0 0 0.00100333 0.00702333 -0.00301 0.00200667 0.00301 0 0.00100333 0.00501667 0.00100333 0 -0.00501667 0.00100333 0.00602 0 0.00401333 0.00200667 0.00301 0 -0.00100333 0 0.00301 0.00501667 0 0 0.00200667 0 -0.00501667 0.00301 0 0.00200667 0.00903 0.00200667 0.00301 0 -0 0.00401333 0.00100333 0 0.00401333 0 0.00401333 0.00301 -0 0.00501667 0 0.00501667 0 0.00401333 0 0 -0 0.00301 0.00100333 0.00501667 0.00100333 0 0.00301 0.00100333 -0 0 0.00802667 0 0 0.00702333 0 0.00602 -0 0.00100333 0 0.00702333 0 0 0 0.0100333 -0 0 0.00301 0 0.00401333 0.00401333 0 0 -0.0100333 0 0 0.00301 0.00401333 0.00401333 0 0 -0.00200667 0 0.00301 0.00200667 0.00401333 0 0 0.00702333 -0 0.00100333 0.00100333 0.00501667 0 0 0 0.00501667 -0.00100333 0 0 0.00903 0.00100333 0 0.00100333 0 -0.00100333 0.00602 0.00301 0 0 0.00301 0 0 -0 0 0.00100333 0.00401333 0 0.00802667 0 0 -0.00200667 0 0.00401333 0 0 0.00301 0.00501667 0 -0.00301 0.00301 0 0.00903 0 0 0.00903 0.00301 -0 0 0 0 0.00301 0.00100333 0 0.00602 -0 0.00501667 0 0 0 0 0.00100333 0.00903 -0.00200667 0 0 0.00301 0.00100333 0.00200667 0.00501667 0 -0 0 0.00301 0 0.00702333 0 0.00501667 0.00200667 -0.00301 0.00602 0 0.00501667 0.00200667 0.00903 0.00301 0 -0.00602 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0110367 -0.00401333 0.00501667 0.00100333 0.00401333 0 0.00702333 0 0 -0 0.00200667 0.00301 0.00903 0 0.00401333 0 0.00301 -0.00602 0.00301 0 0.00301 0 0.00501667 0.00100333 0.00501667 -0 0.00200667 0.00100333 0 0 0 0.00501667 0 -0.00501667 0 0 0.00200667 0.00702333 0.00100333 0 0 -0 0.00702333 0 0 0.00301 0.00501667 0.00200667 0 -0.00602 0 0.00301 0.00200667 0 0 0 0.00702333 -0 0.00501667 0.00301 0 0 0.00200667 0.00200667 0 -0 0.00100333 0.00100333 0.00501667 0.00301 0 0.00100333 0.00200667 -0 0 0.00301 0 0 0.00401333 0 0 -0.00301 0 0.00200667 0.00200667 0.00200667 0 0.00100333 0.00802667 -0 0 0.00401333 0 0.00301 0.00200667 0.00401333 0 -0.00501667 0.00100333 0 0 0.00903 0 0.00602 0 -0.00301 0.00301 0 0.00903 0 0.00200667 0 0.00702333 -0 0.00301 0.00401333 0 0 0.00602 0 0 -0.00401333 0 0 0.00702333 0 0 0 0.00100333 -0.00200667 0.00501667 0 0 0.00100333 0 0.00200667 0 -0 0.00401333 0 0.00401333 0 0.00602 0 0 -0.00200667 0 0.00401333 0 0 0.00602 0 0.00100333 -0.00301 0.00200667 0.00301 0 0 0.00501667 0.00501667 0.00200667 -0 0 0 0.00100333 0 0 0.00401333 0 -0.00100333 0.00200667 0 0 0.00802667 0 0.00501667 0.00100333 -0.00100333 0 0 0.00100333 0.00301 0 0.00200667 0.00100333 -0 0.00401333 0 0.00100333 0.00301 0 0.00100333 0.00200667 -0.00401333 0.00501667 0.00501667 0 0.00903 0.00200667 0 0.00100333 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00702333 0 -0.00903 0.00602 0 0.00501667 0 0.00100333 0.0100333 0.00100333 -0 0 0 0.00602 0.00301 0 0.00100333 0.00200667 -0.00301 0.00501667 0.00301 0 0.00100333 0 0 0.00903 -0 0 0.00301 0.00100333 0 0.00501667 0 0.00301 -0.00200667 0 0.00100333 0 0.00501667 0.00602 0.00100333 0 -0 0.00401333 0.00301 0 0.00200667 0 0.0140467 0 -0.00200667 0.00301 0.00200667 0 0.00100333 0 0.00100333 0 -0 0.00301 0 0.00200667 0.00401333 0 0 0.00200667 -0 0.00401333 0 0.00501667 0.0100333 0 0 0.00702333 -0 0.00401333 0.00501667 0 0.00100333 0 0 0.00200667 -0 0.00200667 0.00401333 0 0.00301 0 0.00501667 0.00301 -0 0.00100333 0 0 0 0.00301 0 0.00602 -0 0.00501667 0 0 0.00200667 0 0.00401333 0 -0 0.00602 0 0.0140467 0 0 0 0.00100333 -0 0.00501667 0.00401333 0 0.00100333 0.00501667 0 0 -0.00301 0 0 0.00100333 0 0 0.00301 0.00401333 -0 0 0 0.00602 0 0 0.00602 0.00401333 -0 0.00903 0.00100333 0 0 0.00602 0 0 -0.00602 0 0.00602 0 0.00602 0 0 0.00602 -0 0.00301 0 0 0.00602 0 0 0.00401333 -0 0 0.00602 0 0 0.01204 0 0 -0 0.00501667 0 0.00602 0.00501667 0 0 0.00602 -0 0 0 0.00401333 0.00401333 0 0 0 -0.00200667 0.00100333 0 0.00401333 0 0.00200667 0.00802667 0 -0.00802667 0 0.00100333 0.00200667 0.00903 0 0 0.00301 -0.00501667 0.00903 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00501667 0.00501667 -0 0.00702333 0.00401333 0 0.00401333 0 0.00602 0.00602 -0.00100333 0.00100333 0 0.00200667 0.00200667 0.00401333 0 0.00401333 -0 0.00501667 0.00702333 0.00200667 0.00200667 0 0 0.00200667 -0.00401333 0 0 0.00401333 0 0 0.00301 0.00100333 -0 0.00401333 0 0.00200667 0 0.00401333 0.00301 0.00401333 -0 0.00100333 0 0.00501667 0 0 0 0.00602 -0 0.00401333 0.00100333 0.00501667 0 0 0.00100333 0.00501667 -0 0.00200667 0 0.00301 0.00401333 0.00200667 0 0 -0 0.00401333 0 0 0.00100333 0.00602 0 0.00602 -0 0 0.00802667 0.00602 0.00301 0 0 0.00200667 -0 0.00903 0.00501667 0 0 0 0 0.00100333 -0.00501667 0 0.00301 0 0 0 0.00100333 0.00702333 -0 0.00301 0.00200667 0.00200667 0 0 0 0.00200667 -0 0.00401333 0 0.00903 0 0.00100333 0 0 -0.00301 0.00100333 0 0.00501667 0 0 0.00301 0.00100333 -0.00200667 0 0 0 0.00200667 0.00200667 0.00903 0 -0 0 0 0 0 0.00401333 0 0 -0 0.00903 0 0.00200667 0.00200667 0 0 0 -0.00100333 0 0.00602 0 0.00100333 0 0.0100333 0.00903 -0 0.00200667 0 0.00702333 0.00501667 0 0 0.0100333 -0 0.00100333 0 0 0.00802667 0 0 0.00301 -0 0.00501667 0 0.0110367 0 0 0 0.00200667 -0 0.00702333 0.00100333 0.00602 0 0 0 0 -0.00200667 0 0.00200667 0 0.00100333 0.0110367 0 0 -0.00301 0.00501667 0.00200667 0.00802667 0 0 0.00100333 0.00903 -0.00401333 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.00602 0 -0.00100333 0 0.00702333 0.00401333 0.00401333 0 0.00401333 0.00200667 -0.00501667 0 0.00301 0 0.00301 0.00200667 0.00200667 0 -0.00401333 0 0.00200667 0.00802667 0 0.00200667 0 0 -0.00401333 0.00200667 0 0.00200667 0.00501667 0 0 0.00501667 -0.00602 0 0.00602 0.00301 0 0.00401333 0.00301 0.00100333 -0 0.00501667 0 0 0.00301 0.00100333 0.00100333 0.00501667 -0 0.00200667 0 0.0100333 0 0 0 0.00100333 -0.00100333 0.00401333 0 0 0 0.0140467 0 0.00602 -0 0.00401333 0 0 0.00501667 0 0 0.00200667 -0.00301 0 0.00301 0.00301 0.00802667 0 0 0.00301 -0 0.00401333 0.00602 0 0 0 0 0.00100333 -0.00200667 0 0 0 0 0 0 0.00602 -0 0 0.00301 0 0.00100333 0 0 0.00301 -0 0.00200667 0 0.00401333 0 0.00401333 0 0.00401333 -0.00903 0 0 0.00501667 0 0 0.00301 0.00100333 -0.00301 0 0.00100333 0 0.00903 0.00401333 0.00501667 0.00100333 -0 0.00100333 0 0 0.00100333 0.00100333 0 0.00200667 -0.00401333 0.00602 0 0.00100333 0 0 0.00200667 0 -0 0 0.00702333 0 0 0.00100333 0.0100333 0.00200667 -0 0.00501667 0 0.0110367 0 0.00100333 0 0.00501667 -0 0.00100333 0 0.00301 0.00100333 0.00401333 0 0.00501667 -0 0.00301 0.00200667 0.00301 0 0 0.00501667 0.00401333 -0.00100333 0.00702333 0 0 0.00301 0 0 0.00501667 -0.00200667 0 0.00401333 0.00301 0.00702333 0 0 0.00802667 -0.00702333 0.00401333 0.00200667 0 0 0.00301 0.00602 0 -0.00200667 0 0.00602 0.0110367 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00100333 0.00401333 0.00802667 -0 0.00100333 0 0.00301 0.00501667 0.00200667 0 0 -0.00301 0.00401333 0.00200667 0.00100333 0 0.00602 0.00401333 0 -0 0 0 0.00602 0 0.00200667 0.00501667 0 -0 0.00100333 0.00903 0 0.00501667 0.00602 0 0.00100333 -0.00200667 0.00301 0 0.00903 0 0 0 0.00702333 -0 0.00501667 0.00100333 0 0 0 0 0.00401333 -0 0.00200667 0 0 0.00301 0 0.00401333 0 -0.00501667 0 0.00200667 0 0 0.0100333 0.00301 0.00301 -0 0.00401333 0 0 0.00802667 0 0 0.00401333 -0.00301 0 0 0.00301 0.00903 0 0.00100333 0.00100333 -0 0 0.00401333 0 0 0.00301 0 0.00100333 -0 0 0 0 0.00200667 0 0 0 -0.00100333 0 0.00501667 0.00301 0.00301 0 0.00100333 0 -0.00401333 0 0 0 0 0 0 0.00200667 -0.00802667 0 0 0.0110367 0 0 0 0 -0.00100333 0 0 0 0.00702333 0 0.00100333 0.00802667 -0 0 0 0 0.00100333 0 0.00602 0 -0.00401333 0.00200667 0 0 0.00200667 0 0 0 -0.00100333 0 0.00200667 0.00401333 0 0 0.01505 0 -0 0.00501667 0.00401333 0 0.00100333 0.00100333 0 0.00602 -0 0.00401333 0 0.00702333 0 0.00802667 0 0.00200667 -0 0.00501667 0 0.00401333 0 0.00501667 0.00301 0.00200667 -0.00200667 0 0 0.00301 0.00200667 0 0.00301 0 -0.00501667 0.00301 0.00100333 0.00100333 0.00401333 0 0.00401333 0.00602 -0.00501667 0 0 0.00100333 0 0.00702333 0.00301 0 -0.00501667 0 0.00802667 0.00702333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00401333 0.0130433 0.00301 0.00602 0 -0.00501667 0.00200667 0.00301 0.00301 0 0.00802667 0.00200667 0 -0 0 0.00602 0 0.00301 0 0.00200667 0.00501667 -0.00200667 0 0.00100333 0 0.00200667 0 0.00100333 0.00301 -0 0 0.00200667 0.00702333 0 0.00401333 0 0 -0.00301 0.00702333 0 0.00401333 0.00802667 0 0.00200667 0 -0 0.00602 0.00401333 0.00100333 0 0.00100333 0.00100333 0 -0 0.00200667 0.00100333 0.00401333 0 0 0.00200667 0.0100333 -0 0.00200667 0 0.00702333 0 0 0.00401333 0.00401333 -0.00501667 0 0.00100333 0.00100333 0 0.00903 0 0.00100333 -0 0.00401333 0 0 0.00903 0 0 0.00200667 -0 0 0.00602 0 0 0 0 0.00100333 -0 0.00301 0 0 0.0110367 0 0.00301 0 -0.00200667 0 0.00301 0 0.00100333 0.00100333 0 0 -0.00301 0.00100333 0.00200667 0.00200667 0.00301 0 0.00602 0 -0.00602 0.00301 0 0.00903 0 0 0.00100333 0 -0.00100333 0 0 0 0.00200667 0 0.00602 0.00602 -0 0 0.00702333 0 0.00200667 0.00401333 0.00100333 0 -0.00602 0 0.00301 0 0.00200667 0 0 0.00401333 -0 0.00100333 0.00401333 0 0 0.00401333 0.00501667 0.00100333 -0 0 0.00602 0.00200667 0.00100333 0 0.00501667 0.00301 -0 0.00200667 0 0 0.00301 0.00301 0 0.00100333 -0.00200667 0.00501667 0 0.0100333 0 0.00100333 0.00100333 0.00100333 -0.00100333 0 0.00100333 0.00200667 0.00100333 0.00301 0.00100333 0.00301 -0 0.00501667 0 0.00501667 0 0.00100333 0.00301 0.00501667 -0 0 0 0.0110367 0 0.0100333 0.00100333 0.00100333 -0 0.00602 0.00100333 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00200667 0.00301 0.00301 0.00401333 0.00702333 -0.00100333 0.00602 0 0.00501667 0.00100333 0 0.00702333 0.00702333 -0 0 0 0.00200667 0.00100333 0.00301 0 0.00802667 -0.00200667 0.00100333 0.00401333 0 0 0 0 0.00301 -0.00802667 0 0 0.00301 0 0.0100333 0 0 -0 0.00602 0.00100333 0 0.00802667 0.00100333 0 0 -0.00301 0.00501667 0 0.00200667 0.0110367 0 0 0.00903 -0 0 0.00401333 0.00401333 0 0 0.00401333 0.00401333 -0.00702333 0 0 0.00100333 0.00301 0 0 0.00401333 -0.00401333 0.00200667 0.00301 0 0.00301 0.00401333 0 0 -0 0.00100333 0.00200667 0 0 0 0 0 -0.00200667 0 0.00100333 0.00100333 0 0 0 0.00200667 -0 0.00301 0 0 0.00802667 0 0 0.00602 -0 0 0.00200667 0 0.00100333 0.00100333 0 0 -0 0.00100333 0 0 0.00401333 0 0 0.00301 -0.00100333 0 0 0.00301 0 0.00100333 0 0 -0 0 0.00100333 0 0 0.00903 0.00903 0 -0 0.00200667 0.00401333 0 0.00401333 0.00200667 0.00401333 0 -0.00401333 0.00100333 0.00301 0 0.00200667 0 0.00200667 0.00602 -0 0.00602 0.00602 0 0 0.00903 0 0.00903 -0 0 0.00401333 0 0.00200667 0 0.00301 0.00401333 -0 0.00401333 0 0.00301 0.00602 0.00301 0 0.00702333 -0.00401333 0 0.00100333 0.00501667 0 0.00401333 0.00602 0 -0 0 0.00200667 0 0.00401333 0.00100333 0.00401333 0 -0.00501667 0 0 0.00401333 0 0 0.00501667 0 -0 0 0.0130433 0.00200667 0.00501667 0 0 0.00401333 -0.00702333 0 0 0 0.00200667 0.0100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00301 0.00501667 0.00501667 0.00200667 0 0.00702333 -0.00100333 0.00200667 0.00501667 0 0.00200667 0.00301 0.00100333 0.00401333 -0.00200667 0 0.00501667 0 0 0 0.00200667 0 -0.00802667 0.00301 0 0.00401333 0.00702333 0 0 0 -0.00200667 0.00200667 0 0.00301 0 0.00401333 0.00501667 0.00200667 -0 0 0.00200667 0.00100333 0 0.00401333 0.00401333 0 -0 0.00401333 0.00702333 0 0.00100333 0.00802667 0 0.00200667 -0.00100333 0 0 0.00301 0.00501667 0 0 0.00501667 -0.00602 0 0.00100333 0.00200667 0.00100333 0.00301 0 0.00200667 -0.00602 0 0 0.00401333 0 0 0 0.00100333 -0 0 0 0 0 0 0.00501667 0 -0.00200667 0.00401333 0 0 0 0.00602 0 0.00100333 -0.00301 0 0.00501667 0.00100333 0 0.00401333 0 0.00602 -0 0.00301 0.00200667 0.00200667 0 0.00200667 0 0 -0 0.00301 0 0 0 0 0 0.00100333 -0 0.00301 0.00602 0 0 0 0.00401333 0 -0 0 0 0 0 0.00301 0.00802667 0 -0 0.00401333 0 0 0 0.00301 0 0.00702333 -0 0.00602 0.00401333 0 0.00100333 0.00100333 0.00401333 0.00301 -0 0.00802667 0 0 0.00301 0.00200667 0.00200667 0.00602 -0 0 0.00602 0 0.00301 0 0.00200667 0.00401333 -0 0 0.00200667 0.00100333 0.00802667 0 0.00301 0.00100333 -0.00401333 0 0.0100333 0 0 0.00702333 0 0 -0 0.00301 0.00602 0.00301 0.00200667 0.00301 0 0.00702333 -0 0.00301 0 0.00401333 0 0.00200667 0.00401333 0.00200667 -0 0.00100333 0.00401333 0 0.00301 0 0.00401333 0.00602 -0.00200667 0 0.00602 0 0.00501667 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00100333 0.00100333 0 0.00200667 0.00200667 0 -0.00401333 0.00200667 0 0.00702333 0.00200667 0.00200667 0 0 -0.00301 0.00100333 0.00301 0.00702333 0 0 0 0.00401333 -0 0.00301 0.00702333 0 0 0.00903 0 0.00301 -0.00301 0 0 0 0 0 0.00802667 0.00200667 -0 0.00602 0 0 0.00200667 0 0.00401333 0 -0.00401333 0 0.00501667 0.00200667 0 0 0 0.00100333 -0.00602 0 0 0.00200667 0 0.00401333 0 0.00100333 -0.00200667 0 0.00200667 0.00200667 0 0.00401333 0.00200667 0 -0 0.00501667 0 0 0.00602 0 0 0.00200667 -0 0 0.00100333 0.00100333 0 0 0.00501667 0 -0.00501667 0.00100333 0.00200667 0 0.00100333 0.00200667 0 0 -0.00200667 0 0 0.00301 0 0.00602 0 0.00301 -0 0.00501667 0 0 0 0.00100333 0 0 -0 0.00301 0 0 0.00802667 0 0 0 -0 0.00501667 0 0.00100333 0 0.00100333 0.00200667 0 -0.00100333 0 0 0.00602 0.00301 0 0 0 -0.00501667 0 0 0 0.00100333 0 0.00501667 0.00100333 -0 0.01204 0 0 0.00401333 0 0.00501667 0.00602 -0 0.00100333 0 0.00602 0.00100333 0 0.00501667 0 -0 0 0.00501667 0 0.00501667 0 0.00401333 0.00100333 -0.00100333 0.00200667 0 0 0.00401333 0.00301 0 0 -0.00200667 0.00401333 0.00100333 0 0.00802667 0.00401333 0 0 -0.00401333 0.00702333 0.00200667 0 0 0 0.00100333 0.00702333 -0.00301 0 0.00401333 0 0.00602 0 0.00100333 0 -0.00100333 0.00501667 0.00401333 0 0.00301 0.00200667 0.00301 0.00100333 -0 0.00200667 0.00200667 0 0.00802667 0.00501667 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0140467 0 0.00301 0.00301 0 0.00501667 0.00401333 -0 0.00200667 0.00401333 0 0.00301 0.00501667 0.00200667 0 -0.00200667 0.00401333 0 0 0.00903 0 0 0 -0.00501667 0 0.00501667 0.00301 0 0 0.00602 0 -0.00702333 0.00903 0 0 0 0 0.00100333 0.01204 -0 0 0.00702333 0 0.00301 0 0.00301 0 -0 0 0 0.00200667 0 0.00401333 0 0 -0.00802667 0 0 0 0 0.00903 0 0 -0.00100333 0.00602 0 0.00301 0 0.00200667 0.00200667 0.00401333 -0 0 0.00401333 0 0.00501667 0 0 0 -0 0 0.00301 0.00200667 0.00200667 0.00200667 0 0 -0.00200667 0.00100333 0.00702333 0 0 0 0 0.00702333 -0 0 0 0 0 0.00501667 0 0 -0 0.00200667 0 0 0.00401333 0 0 0 -0 0 0 0 0.00802667 0 0 0.00100333 -0 0 0 0.0100333 0 0.00100333 0 0 -0 0.00100333 0 0.00602 0 0 0 0 -0 0 0 0 0.00100333 0 0 0.00200667 -0 0.00602 0 0.0110367 0 0.00401333 0.00301 0 -0 0 0 0.00401333 0 0 0.00100333 0 -0 0.00200667 0 0.00200667 0.00602 0 0.00903 0.00100333 -0 0 0.00200667 0.00301 0.0110367 0 0 0 -0.00702333 0 0 0 0.00200667 0 0 0.00602 -0.0100333 0.00301 0 0 0.00602 0.00100333 0.00602 0 -0 0.00100333 0 0.00200667 0 0 0 0.00802667 -0.00401333 0 0 0 0.00200667 0 0.00200667 0.00501667 -0.00301 0.00100333 0.00301 0.00200667 0.00602 0.00401333 0.00702333 0.00802667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0 0.0130433 0.00100333 0 0.00200667 0 0.00903 -0.00903 0 0.00200667 0 0.00100333 0 0.00100333 0.00602 -0.00401333 0 0 0.00100333 0.00200667 0.00200667 0 0 -0.00702333 0 0 0.00501667 0.00702333 0 0.00301 0 -0 0.00501667 0.00401333 0.00301 0.00501667 0 0 0.00301 -0.00602 0 0.00501667 0.00602 0 0.00802667 0 0 -0.00401333 0 0.00301 0.00100333 0.00301 0 0 0.00401333 -0 0.00200667 0.00501667 0 0 0.00200667 0 0.00200667 -0 0.00802667 0.00501667 0.00301 0 0 0.0100333 0 -0 0 0.00100333 0 0 0 0.0100333 0 -0 0 0 0.00802667 0 0.00602 0 0 -0 0.00401333 0.00301 0.00100333 0 0 0 0.00401333 -0 0 0 0 0 0.00702333 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0.00401333 0.00100333 0 0.00301 0 -0.00100333 0 0 0.00401333 0 0 0 0 -0 0 0.00501667 0.00200667 0 0 0.00100333 0 -0 0.00200667 0.00100333 0 0 0 0 0 -0.00200667 0.00903 0 0 0 0.00100333 0.00100333 0.00301 -0 0 0.00200667 0 0 0 0.00802667 0 -0.00401333 0 0 0.00200667 0.00301 0 0 0 -0 0.00401333 0.00802667 0.00301 0.00602 0 0.00100333 0.00501667 -0.00301 0 0 0.00401333 0.00200667 0 0 0.00602 -0.00401333 0 0 0 0.01204 0.00100333 0.00200667 0 -0.00501667 0 0.00301 0.00401333 0 0.00301 0.00301 0.00100333 -0 0 0.00100333 0.00401333 0.00501667 0.00200667 0.00100333 0.00200667 -0 0.01204 0 0.00602 0.00301 0 0.00401333 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0.00200667 0.00100333 0 0.00903 0.00401333 0.00401333 0.00301 0 -0.00301 0 0.00301 0.00501667 0.00100333 0.00100333 0 0.00100333 -0.00401333 0.00100333 0 0 0.00602 0.00501667 0.00100333 0 -0.00301 0.00401333 0.00100333 0 0.00100333 0.00100333 0.00702333 0 -0.00100333 0 0 0 0 0.00602 0.00100333 0 -0.00401333 0 0.00501667 0 0.00100333 0.00802667 0.00501667 0 -0.00602 0 0 0.00301 0 0.00501667 0 0 -0.00301 0.00401333 0.00501667 0 0 0.00200667 0 0 -0 0 0.0130433 0.00301 0 0 0.00200667 0.00702333 -0 0 0 0.00100333 0 0 0.00401333 0.00301 -0 0.00200667 0 0.00401333 0.00100333 0 0 0 -0 0 0.00100333 0.00100333 0 0 0.00401333 0 -0 0 0 0 0 0 0.0100333 0 -0.00602 0 0.00301 0 0 0 0 0.00301 -0 0 0 0.00100333 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0 0 0.00501667 0 0 0 0 0 -0.00100333 0 0.00401333 0.00100333 0 0 0 0 -0.0100333 0.00301 0 0.00100333 0 0.00100333 0.00100333 0.00100333 -0 0 0.00602 0.00802667 0 0 0.00903 0 -0.00802667 0 0 0.00401333 0 0 0.00100333 0.00501667 -0.00401333 0 0.00903 0 0 0 0 0.00702333 -0 0 0.00602 0.00602 0.00100333 0 0 0.0110367 -0 0.00100333 0.00401333 0.00702333 0.00301 0 0 0.00501667 -0 0.00602 0.00401333 0 0 0 0 0.00301 -0.00200667 0.00100333 0.00100333 0.00702333 0 0 0.00602 0 -0 0 0.00200667 0.00401333 0 0.00702333 0.00200667 0.00602 -0.00903 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00200667 -0.00602 0.00401333 0.00200667 0 0.00301 0.00401333 0.00602 0.00200667 -0 0 0 0 0.00602 0.00501667 0.00100333 0 -0.00100333 0.00100333 0 0 0.00501667 0.00802667 0.00301 0.00100333 -0 0.0100333 0 0 0 0.00501667 0.00602 0.00100333 -0 0.00702333 0 0 0 0.00301 0 0.00100333 -0 0.00100333 0.00602 0.00200667 0 0.00903 0.00301 0 -0.00602 0 0 0 0 0.00301 0.00501667 0 -0 0.00702333 0.00301 0 0.00301 0 0 0.00100333 -0 0 0.00802667 0 0.00401333 0.00401333 0 0.00501667 -0 0 0 0.00100333 0 0 0.00401333 0.00100333 -0 0.00100333 0 0 0 0 0.00301 0 -0 0.00200667 0 0 0 0 0.00100333 0 -0 0 0 0 0 0 0.00301 0 -0.00100333 0.00100333 0 0 0 0.00301 0 0 -0 0 0 0.00401333 0 0 0 0 -0 0.00401333 0 0.00100333 0 0 0 0 -0.00200667 0 0 0.00200667 0 0 0 0 -0 0 0.00100333 0.00301 0 0.00602 0 0 -0.00501667 0.00100333 0 0.00301 0 0 0 0.00301 -0.00702333 0 0.00903 0.00200667 0 0 0.00401333 0 -0.00301 0 0.00401333 0 0 0.00401333 0.00401333 0.00501667 -0 0 0.00602 0 0.00602 0 0 0.00802667 -0 0.00401333 0.00301 0 0 0.00100333 0.00200667 0.00501667 -0.00401333 0 0 0.00200667 0 0 0.00301 0 -0.00602 0.00602 0 0 0 0.00100333 0.00702333 0.00702333 -0 0 0.00903 0 0 0.00903 0 0 -0.00100333 0 0.00702333 0 0.0100333 0.00501667 0 0.00602 -0 0.00501667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00602 0.00401333 -0.00100333 0.00401333 0.00401333 0.00200667 0 0.00200667 0.00100333 0.00301 -0.00501667 0.00401333 0 0 0 0.00301 0.00602 0 -0 0.00401333 0 0.00100333 0 0.00802667 0.00702333 0.00100333 -0 0.00200667 0.00100333 0.00401333 0.00100333 0 0.00100333 0.00602 -0.00200667 0.00100333 0.00602 0 0 0 0.00602 0.00301 -0 0 0.00401333 0.00501667 0 0.00100333 0.00401333 0 -0 0 0.00602 0 0 0.00200667 0.00602 0.00100333 -0 0 0.00401333 0 0 0.00100333 0 0.0100333 -0 0 0.00401333 0 0 0.01204 0 0.00802667 -0 0 0 0 0.00702333 0 0.00301 0 -0 0 0.00301 0 0 0 0.00200667 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0 0 0 0 0.00200667 0 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0.00100333 0 0 0.00100333 0 -0 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0.00401333 0 -0 0.00100333 0 0.00602 0 0.00401333 0 0 -0 0 0 0.00200667 0.00602 0 0.00100333 0.00903 -0.00301 0 0 0.00401333 0 0.00100333 0.00200667 0 -0.00200667 0.00301 0 0 0 0 0.00602 0 -0.00501667 0 0 0 0.00301 0.00100333 0.00200667 0.00602 -0.00501667 0 0 0 0 0.00100333 0.00802667 0 -0.00401333 0 0 0.00702333 0 0.00501667 0 0.00100333 -0.00802667 0 0 0 0.0100333 0.00501667 0.00802667 0 -0 0 0 0 0.00702333 0 0 0.00100333 -0.00301 0.00602 0.00401333 0.00802667 0.00301 0 0 0.00301 -0.00301 0.00602 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0110367 0.00802667 -0 0 0.00100333 0.00602 0 0.00200667 0.00501667 0 -0 0.00200667 0.00501667 0 0 0.00301 0.00501667 0.00401333 -0 0 0.00501667 0 0 0 0.00702333 0.00602 -0 0.00401333 0.00301 0 0 0.00301 0 0.00301 -0.00200667 0 0.0100333 0.00100333 0.00100333 0 0 0.00301 -0.00200667 0 0.00200667 0.00301 0 0 0.00602 0 -0.00100333 0 0.00301 0.00100333 0 0 0 0.00100333 -0.00200667 0 0 0.00100333 0.00602 0.00100333 0 0 -0 0 0 0.00100333 0 0.00401333 0.00100333 0 -0.01204 0 0 0 0.00903 0 0.00100333 0 -0 0 0.00501667 0 0 0 0.00602 0 -0 0 0 0.00100333 0 0 0 0.00702333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00301 0 0 -0 0 0 0 0 0.00301 0 0.00602 -0 0 0 0 0 0 0.00702333 0 -0 0 0.00301 0.01204 0 0.00602 0 0 -0.00401333 0 0 0.00301 0 0.0100333 0 0 -0.00301 0 0.00301 0 0.00401333 0.00200667 0.00200667 0.00200667 -0.00100333 0 0 0.00100333 0.00501667 0 0.00501667 0 -0.00100333 0.00100333 0 0.00702333 0 0 0 0.00100333 -0 0 0.00100333 0.00802667 0.00501667 0.00200667 0 0 -0 0.00301 0 0.00501667 0 0 0.00200667 0 -0.00903 0.00501667 0.00401333 0.00602 0 0 0.00401333 0.00501667 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00501667 0.00802667 -0.00702333 0.00100333 0 0.00200667 0.00501667 0 0 0.00602 -0.00100333 0.00100333 0 0.00401333 0 0 0 0.00602 -0.00501667 0 0.00301 0.00401333 0.00100333 0 0 0.00401333 -0.00100333 0 0.01204 0 0 0.00100333 0 0 -0.00401333 0 0.00100333 0.00501667 0.00200667 0.00100333 0 0.00100333 -0.00401333 0 0 0.00903 0 0 0.00100333 0 -0.00100333 0.00100333 0 0.00501667 0 0 0 0.00200667 -0.01204 0 0.00501667 0 0 0 0.00301 0.00200667 -0 0.00602 0 0 0 0 0.00401333 0 -0.00200667 0 0 0 0 0 0 0 -0.00702333 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0 0 0 0.00100333 0 0 -0.00301 0 0.00501667 0 0 0.00702333 0 0.00200667 -0.00200667 0 0.00301 0 0 0.00401333 0 0.00401333 -0 0 0.00200667 0 0.00301 0.00401333 0 0.00301 -0 0.00301 0 0.00301 0 0.00301 0.00301 0.00200667 -0.00501667 0 0.00200667 0.00301 0 0 0.00200667 0 -0 0.00401333 0.00501667 0.00401333 0 0 0.00301 0 -0 0.00903 0.00301 0 0.00602 0.00301 0.00401333 0.00100333 -0.00501667 0.00301 0.00401333 0 0.00401333 0.00200667 0.00501667 0 -0.00301 0.00401333 0.0110367 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00702333 0.00501667 0 0.00200667 -0.01204 0.00501667 0 0 0.00401333 0.0100333 0 0 -0 0 0.00602 0 0 0 0.00100333 0 -0.00100333 0.00702333 0 0.00100333 0.00501667 0 0.00301 0.00501667 -0.00200667 0.00100333 0 0.0100333 0 0 0.00100333 0.00200667 -0 0 0.00200667 0.00501667 0.00301 0.00100333 0 0.00100333 -0.00401333 0.00301 0 0 0.00702333 0 0 0.00100333 -0 0 0 0.00501667 0 0 0 0 -0.00702333 0.00702333 0 0 0 0.00100333 0 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0 0 0 0 0.00301 0 0 0 -0.00301 0 0.00501667 0 0 0 0 0 -0.00100333 0 0.00602 0 0.00602 0 0 0.00200667 -0 0 0.00702333 0 0.00702333 0.00602 0 0 -0.00100333 0.00200667 0 0.00100333 0.00401333 0 0 0.00602 -0.00200667 0 0.00200667 0.00200667 0 0.0100333 0 0.00702333 -0 0 0.00602 0 0 0 0 0.00401333 -0 0.00200667 0.00501667 0 0.00301 0.00501667 0 0 -0.00702333 0.00301 0 0.00802667 0.00802667 0.00602 0 0 -0.0110367 0 0 0.00501667 0 0.00100333 0 0 -0.0100333 0.00200667 0.00602 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00702333 0.00401333 0.00200667 0 -0 0.00602 0.00903 0.00100333 0 0 0.00401333 0.00200667 -0 0.00200667 0 0.00903 0.00401333 0 0 0 -0 0.00702333 0.00200667 0 0 0.00602 0 0.00301 -0.00602 0.00401333 0 0.00100333 0.00802667 0 0 0 -0.00301 0 0 0 0.00602 0.00401333 0.00301 0 -0 0 0.00200667 0 0.00401333 0.00501667 0 0 -0.00301 0 0 0 0 0.00100333 0.00200667 0 -0.00301 0.00401333 0.00602 0 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0 0 0.00100333 0 0 -0 0 0 0.00501667 0.00100333 0 0.00602 0 -0 0 0 0.00100333 0.00100333 0 0 0.00200667 -0.00100333 0 0 0.00702333 0 0.00200667 0.00501667 0.00401333 -0 0 0.00802667 0 0.00501667 0.00401333 0 0 -0.00301 0 0.00602 0 0 0 0.00802667 0 -0 0.00802667 0 0.00602 0.00200667 0 0 0 -0.00602 0 0.00200667 0.00802667 0.00100333 0 0 0.0140467 -0 0 0 0 0.00602 0 0 0.01204 -0.00301 0.00200667 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00301 0.00702333 0 0 -0.00301 0.00802667 0.00401333 0.00501667 0.00200667 0.00200667 0 0 -0.0100333 0 0 0 0.00301 0.00200667 0 0 -0 0 0.00602 0 0 0.00501667 0 0.00401333 -0.00100333 0.00401333 0.00200667 0 0 0.0100333 0.00501667 0 -0 0.00200667 0 0 0.00200667 0 0.00501667 0.00301 -0.00401333 0 0 0.00200667 0 0 0.00501667 0.00301 -0 0 0.00903 0.00401333 0 0 0.00100333 0 -0 0 0.00401333 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0 0.00401333 0 0.00301 0 0 -0.00301 0 0.0130433 0 0 0 0.00200667 0.00100333 -0 0 0 0.00200667 0 0.00802667 0.0100333 0 -0 0.0100333 0.00602 0 0.00401333 0.00100333 0.00100333 0.00200667 -0 0.00100333 0.00602 0.00301 0.00100333 0.00100333 0 0 -0.00702333 0 0 0.00200667 0 0.00501667 0.00301 0.00301 -0 0 0.00802667 0.00200667 0 0 0.00702333 0.00200667 -0 0 0.00200667 0.00501667 0 0.00100333 0.00702333 0.00702333 -0 0 0 0.00401333 0.0100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0 0.00200667 0.00501667 0.00301 -0 0 0.00501667 0.00802667 0.00501667 0 0.00301 0.00100333 -0.00301 0.00802667 0.00200667 0 0.00301 0.00501667 0 0 -0.00301 0 0 0.00702333 0 0 0 0 -0 0.00602 0 0.00602 0.00200667 0 0.00602 0.00602 -0.00301 0 0.00602 0 0 0.00401333 0.00501667 0 -0.00301 0 0 0.00702333 0.00301 0 0.00200667 0.00100333 -0.00501667 0 0 0.0110367 0.00702333 0 0.00301 0 -0.00200667 0 0 0 0.00501667 0 0 0.00100333 -0 0 0 0 0 0 0.00802667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0 0 0 0 -0 0.00200667 0 0 0 0 0.00200667 0 -0 0.00702333 0.00200667 0 0 0.00301 0.00200667 0 -0.0100333 0.00401333 0 0.00501667 0 0 0.00602 0 -0.00401333 0.00602 0 0 0.00200667 0 0 0.00501667 -0 0.0100333 0 0 0.00301 0 0 0 -0 0.00802667 0.00100333 0 0.00301 0 0 0 -0 0.00702333 0 0 0 0.00200667 0.00702333 0.00100333 -0 0.00602 0 0 0 0.00802667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.01204 0.00802667 0 0 0 0 -0.00702333 0.00301 0.00100333 0.00301 0 0.00702333 0 0 -0 0.00200667 0.00602 0 0 0.00100333 0.00501667 0.00100333 -0 0.00501667 0 0 0.00602 0.00200667 0 0 -0 0 0.00401333 0 0.00401333 0.00200667 0.00100333 0 -0.00903 0 0.00100333 0.00702333 0 0 0 0.00301 -0 0.00501667 0 0 0 0.00301 0 0.00501667 -0.00100333 0 0 0 0.00501667 0.00501667 0.01204 0 -0 0.00100333 0 0 0 0 0 0.00702333 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0.00200667 0 0 0 0 -0.00401333 0 0.00100333 0 0 0.00200667 0.00200667 0 -0.00200667 0.00100333 0 0 0.00301 0.00903 0 0 -0.01204 0 0.00501667 0.00200667 0 0.00702333 0.00301 0 -0 0.00100333 0 0.00702333 0.00702333 0.00602 0 0 -0.0100333 0 0 0 0.00401333 0.00301 0 0.00200667 -0.00401333 0 0.00200667 0.00301 0 0.00301 0 0 -0.00903 0.00100333 0 0.00802667 0.00200667 0.00200667 0.00401333 0 -0.00501667 0 0 0.00200667 0.00602 0.00802667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00903 0.00903 0.00100333 0 0.00200667 -0 0 0.00100333 0 0.00501667 0.00100333 0.00501667 0.00100333 -0.00200667 0.00301 0 0.00602 0 0 0 0 -0.00100333 0 0.00100333 0.00200667 0 0 0.00301 0.00301 -0 0 0.00301 0 0.00702333 0 0.00301 0 -0.00602 0.00702333 0.00401333 0 0 0.00501667 0.00602 0 -0 0 0.00200667 0.00301 0 0 0 0 -0.00802667 0.00401333 0 0 0 0.00401333 0 0.00301 -0 0.00301 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0280933 0.0862867 0.145483 0.208693 0.278927 0.341133 0.41237 -0.44849 0.48762 0.521733 0.524743 0.539793 0.536783 0.534777 0.53277 -0.512703 0.491633 0.444477 0.422403 0.37324 0.317053 0.26488 0.2107 -0.161537 0.119397 0.0702333 0.0301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00301 0 0 0 0 0.00301 0.00301 0 -0.00401333 0 0 0.01204 0 0.00100333 0.00200667 0.00602 -0 0 0.00501667 0 0.00602 0.00301 0 0 -0.00100333 0 0.00702333 0.00802667 0 0 0 0.0110367 -0 0 0 0 0.00602 0 0.00702333 0 -0 0.00501667 0.00602 0 0 0 0 0.0130433 -0.00200667 0.00301 0 0 0 0.00802667 0.00602 0.00401333 -0 0 0.00602 0.00100333 0.00401333 0.00301 0.0100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.01204 0.00200667 0 0.00802667 0.00602 0.00501667 0.00301 -0.00501667 0 0 0.00100333 0 0.00301 0 0 -0 0 0.00501667 0.00501667 0.00401333 0 0 0 -0 0.00100333 0 0 0 0 0 0 -0.00100333 0 0 0 0.00200667 0.00702333 0 0.00200667 -0 0.00702333 0.00602 0.00501667 0 0 0.00200667 0.00802667 -0.00200667 0 0.00200667 0.00702333 0.00200667 0.00401333 0 0 -0 0.0130433 0.00702333 0 0.00100333 0 0.00802667 0 -0 0 0 0 0.00702333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0290967 0.11739 0.22274 0.374243 0.527753 0.693448 -0.844144 0.944536 0.99648 1.01822 1.03393 1.04963 1.04903 1.05567 -1.05809 1.05567 1.05446 1.05748 1.05507 1.05326 1.05628 1.05386 -1.05688 1.0593 1.05386 1.05748 1.05386 1.05567 1.04601 1.03695 -1.02487 1.01339 0.978964 0.943328 0.867328 0.723072 0.563873 0.435447 -0.286953 0.163543 0.0652167 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00301 0 0 0.00200667 0 -0 0 0.00802667 0.00100333 0 0.00501667 0 0 -0 0.00602 0 0.00903 0.00100333 0 0 0.01204 -0 0 0 0.00301 0 0 0.00100333 0 -0.00200667 0.00200667 0.00200667 0.00802667 0 0 0 0 -0.00301 0.00301 0.00702333 0 0.00200667 0 0.0110367 0 -0 0 0 0 0.01204 0.00501667 0 0 -0 0.00501667 0.00301 0.00200667 0.00702333 0.0100333 0.00501667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00602 0.00301 0.00100333 0.00100333 0 0.00401333 -0.00200667 0.00602 0 0.00100333 0.00200667 0.00501667 0.00401333 0.00200667 -0 0 0 0.00501667 0.00301 0.00301 0 0.00200667 -0.00100333 0 0 0.00301 0 0.00200667 0.00702333 0 -0 0 0 0.00501667 0 0 0.00401333 0.00100333 -0 0 0.00200667 0.00401333 0.00702333 0.00301 0 0 -0.00501667 0 0.00301 0.00401333 0.00702333 0.00501667 0 0 -0 0 0.0100333 0.00100333 0 0 0 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0341133 0.143477 0.317053 -0.52374 0.752696 0.94212 1.01098 1.03816 1.05567 1.0593 1.0599 -1.05326 1.04842 1.05567 1.04963 1.05446 1.04782 1.05688 1.05144 -1.05144 1.05024 1.04601 1.05446 1.04299 1.04782 1.0454 1.04842 -1.04359 1.04903 1.0454 1.05144 1.0454 1.04903 1.0454 1.0442 -1.05507 1.05144 1.05205 1.05869 1.06292 1.05628 1.06171 1.0593 -1.0448 1.02487 0.972924 0.87248 0.65996 0.46053 0.260867 0.11438 -0.0130433 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00702333 0.00401333 0 0 0.00301 0 0 -0 0 0.00702333 0.00100333 0 0 0.00100333 0 -0 0 0.00401333 0 0 0.00200667 0 0 -0.0110367 0.00401333 0 0 0 0 0.00200667 0.00501667 -0.00802667 0.00903 0.00200667 0 0 0 0 0 -0.00802667 0 0.00200667 0.00802667 0 0 0 0 -0.00200667 0.00301 0.00100333 0.00602 0.00602 0.00100333 0.00200667 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00501667 0.00702333 0.00501667 0.00100333 0 0.00602 0.00301 0.00401333 -0.00401333 0 0 0 0 0.00100333 0.00602 0.00602 -0.00501667 0 0 0 0.00802667 0.00100333 0.00301 0.00100333 -0.00702333 0.00501667 0 0 0 0 0 0.00802667 -0.00200667 0 0 0 0.00602 0 0.00200667 0.00100333 -0.00301 0.00200667 0 0 0 0.00802667 0 0 -0.00200667 0 0 0.00602 0 0.01204 0.00301 0 -0.00301 0 0 0.0100333 0 0 0 0 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0591967 0.20769 0.450497 0.71792 0.943932 1.014 1.04903 -1.06111 1.05809 1.0599 1.05567 1.05205 1.04963 1.05084 1.0454 -1.05024 1.04238 1.04057 1.03936 1.04661 1.0454 1.03997 1.03695 -1.04359 1.04359 1.03332 1.04057 1.03695 1.03634 1.03393 1.03755 -1.03634 1.03695 1.03997 1.04057 1.03212 1.03997 1.03876 1.04178 -1.04299 1.03695 1.04178 1.05144 1.03816 1.04238 1.04963 1.04963 -1.04903 1.05446 1.05688 1.05869 1.06594 1.06171 1.03695 0.9995 -0.89824 0.62776 0.383273 0.166553 0.0381267 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00100333 0.00401333 -0.00301 0 0 0.00200667 0 0.00100333 0 0.00501667 -0 0.00200667 0 0 0 0 0.00802667 0 -0.00100333 0.00100333 0 0.00602 0.00301 0.00100333 0 0.00401333 -0.00401333 0 0 0.00602 0 0.00100333 0.00401333 0.00602 -0.00200667 0.00100333 0 0 0 0.00100333 0.00501667 0.00501667 -0 0 0.00903 0 0.00501667 0.00200667 0.00200667 0.00501667 -0 0.00200667 0.00401333 0.00401333 0.00200667 0.00802667 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0 0.00501667 0.00903 0.00802667 0.00100333 0.00802667 0 -0.00200667 0.00802667 0 0.00401333 0 0 0 0.00200667 -0 0.00602 0 0.00200667 0 0.00602 0 0 -0 0.00602 0.00401333 0.00702333 0.00401333 0 0 0 -0.00602 0 0 0 0.00401333 0 0.00100333 0 -0.0110367 0.00602 0 0 0 0.00301 0.00501667 0 -0 0 0 0 0 0.00200667 0.00501667 0 -0.00301 0 0 0 0 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00702333 0.146487 0.389293 -0.707616 0.962656 1.02849 1.0605 1.06534 1.05265 1.05205 1.04722 -1.05024 1.04722 1.04661 1.04178 1.0442 1.0442 1.04359 1.04057 -1.03514 1.03816 1.03816 1.03272 1.03514 1.03936 1.03634 1.03574 -1.0291 1.04178 1.03151 1.03212 1.03272 1.02245 1.0291 1.02547 -1.02668 1.02728 1.03212 1.03212 1.03393 1.0303 1.03876 1.03634 -1.03393 1.03332 1.03936 1.04178 1.03695 1.03393 1.03755 1.04299 -1.0448 1.03755 1.04722 1.04359 1.05265 1.04359 1.04782 1.05748 -1.06292 1.06232 1.05144 1.02426 0.937288 0.644504 0.357187 0.12341 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0 0.00501667 0 -0 0 0 0 0 0.0110367 0 0 -0 0 0 0.00200667 0.00401333 0.00301 0 0.00602 -0.00301 0.00602 0.00702333 0 0 0 0.00903 0 -0 0 0 0 0.00100333 0.00702333 0 0 -0.00100333 0.00200667 0 0 0.00100333 0.00802667 0 0.00100333 -0.00702333 0.00702333 0.00301 0.00200667 0.00100333 0.00100333 0 0 -0 0 0 0.00301 0.00602 0 0 0 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0130433 -0.00602 0.00100333 0 0.00100333 0.00100333 0.00602 0.00401333 0.00802667 -0.00200667 0.00200667 0.00802667 0.00100333 0.00200667 0.00200667 0 0 -0.00501667 0 0 0 0.00200667 0 0.00301 0.00200667 -0.00100333 0 0.00200667 0.00200667 0 0.00602 0 0 -0.00200667 0.00802667 0 0 0 0.00602 0 0.00200667 -0 0.00200667 0.00702333 0 0 0.00200667 0 0.00702333 -0.00401333 0 0 0.00401333 0 0.00100333 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0110367 0.18361 0.49665 0.863464 1.01037 1.05446 -1.06654 1.05628 1.04963 1.04601 1.05144 1.04299 1.04359 1.03695 -1.03755 1.03876 1.04238 1.03393 1.03936 1.03393 1.03514 1.03453 -1.03091 1.03151 1.03091 1.02849 1.03755 1.0297 1.02668 1.03393 -1.02185 1.03332 1.02185 1.0303 1.02487 1.01339 1.02064 1.02426 -1.01822 1.02124 1.02306 1.02608 1.02608 1.02668 1.03091 1.03091 -1.03151 1.02849 1.03212 1.03332 1.03091 1.03574 1.03634 1.03514 -1.03876 1.03212 1.03816 1.03816 1.03695 1.03936 1.03936 1.0448 -1.04601 1.0442 1.05446 1.05446 1.05869 1.05748 1.04601 1.00131 -0.835128 0.467553 0.181603 0.0160533 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0 0 0 0 0.00200667 0.00501667 0 0.00100333 -0 0 0 0.00200667 0.00401333 0 0 0.00702333 -0.00100333 0.00200667 0 0 0 0 0 0 -0 0 0.00401333 0.00301 0.00200667 0 0 0.00301 -0 0.00200667 0 0.00200667 0.00501667 0.00802667 0.00200667 0.00702333 -0 0.00501667 0 0.00100333 0.00100333 0.00200667 0 0 -0 0.00100333 0.0100333 0.00401333 0 0 0 0.00501667 -0.00903 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00702333 0.00903 0 0 0.00100333 0 0.00100333 0.00100333 -0.00401333 0 0.00301 0.00401333 0.00401333 0 0.00401333 0.00501667 -0 0.00301 0 0 0.00100333 0 0 0 -0 0.00401333 0.00602 0.00100333 0.00301 0.00301 0 0 -0 0.0110367 0.0130433 0.00301 0 0 0.00301 0 -0 0.00301 0.00802667 0.00702333 0 0 0 0.00401333 -0.00301 0 0 0 0.00200667 0 0 0.00802667 -0.00602 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.145483 0.453507 0.8596 1.01883 1.05809 1.05748 1.05567 1.05567 -1.05024 1.04782 1.03876 1.03514 1.03755 1.03574 1.0442 1.03514 -1.0291 1.03936 1.0303 1.0291 1.03514 1.02849 1.03272 1.02728 -1.0297 1.02426 1.02789 1.02306 1.03151 1.02366 1.02668 1.02728 -1.02668 1.02728 1.0146 1.02004 1.02004 1.03453 1.06654 1.08165 -1.0806 1.06775 1.03393 1.01762 1.01762 1.0291 1.02185 1.02728 -1.02245 1.02608 1.0303 1.02789 1.02849 1.02728 1.0291 1.03393 -1.03272 1.03272 1.0291 1.03816 1.03091 1.03393 1.03091 1.03816 -1.03816 1.03634 1.04299 1.04782 1.04178 1.03936 1.05326 1.05688 -1.05869 1.05869 1.01822 0.858312 0.456517 0.14749 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00501667 0 -0 0 0 0.00200667 0 0 0.00301 0 -0 0 0.0100333 0.00602 0 0 0 0.00100333 -0.00100333 0 0 0.00100333 0 0 0 0.00100333 -0.00301 0.00903 0.00200667 0 0 0.00301 0 0.00401333 -0.00501667 0 0 0 0.0100333 0.00100333 0 0 -0 0 0.00100333 0 0.00301 0 0 0 -0.00702333 0.00501667 0 0 0 0.00200667 0.0140467 0.00903 -0.00702333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0110367 0.00602 -0.00200667 0.00401333 0.00602 0.00501667 0.00100333 0.00200667 0.00200667 0.00501667 -0.00401333 0.00200667 0 0 0 0.00401333 0 0 -0 0 0.00602 0.00401333 0 0.00401333 0 0.00200667 -0.00100333 0 0 0 0 0.00602 0.00501667 0.00100333 -0 0 0.00401333 0.0110367 0.00802667 0 0.00702333 0.00200667 -0 0 0 0.00903 0.00802667 0.00401333 0 0 -0 0.00903 0 0 0 0 0 0 -0.00903 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0431433 0.299997 0.714056 -0.995876 1.05326 1.06292 1.05446 1.05144 1.03816 1.03695 1.04359 -1.03997 1.04178 1.03755 1.03816 1.03997 1.02245 1.03816 1.03091 -1.03091 1.02668 1.02487 1.02789 1.02668 1.03393 1.02789 1.03091 -1.03272 1.02306 1.02245 1.02306 1.02608 1.02487 1.02004 1.02547 -1.02185 1.02124 1.01943 1.0454 1.10475 1.13135 1.145 1.14918 -1.1496 1.14395 1.131 1.09215 1.03574 1.02004 1.01883 1.02306 -1.02306 1.0297 1.02185 1.0297 1.02426 1.02245 1.02849 1.02245 -1.02728 1.02608 1.02245 1.03695 1.02487 1.03393 1.02668 1.03514 -1.03151 1.03997 1.03453 1.03634 1.03574 1.04057 1.04299 1.04661 -1.0448 1.05024 1.05205 1.05748 1.05628 1.00554 0.78232 0.339127 -0.06622 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0.0110367 0 0 0 0.00802667 0 -0 0.00100333 0.00702333 0.00401333 0.00200667 0.00501667 0 0.00301 -0.00602 0 0 0 0.0100333 0.00200667 0.00401333 0.00200667 -0 0 0.00100333 0.00301 0.00702333 0.00301 0.00501667 0 -0 0 0 0.00401333 0 0.00301 0 0.00501667 -0 0.00501667 0.00501667 0.00802667 0.00802667 0.00702333 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00401333 0.00501667 -0.00200667 0.00401333 0.00401333 0.00200667 0.00200667 0 0 0 -0.00602 0.00602 0.00602 0.00301 0 0 0.00401333 0 -0.00401333 0 0 0.00200667 0.00100333 0 0 0 -0 0.00301 0 0.00702333 0 0 0.00501667 0 -0.00401333 0.00802667 0 0 0.00501667 0.00802667 0.00200667 0 -0 0 0.00200667 0 0 0 0 0.00501667 -0 0 0.00602 0 0 0 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.09933 0.446483 0.916272 1.03936 1.06594 -1.05326 1.04782 1.04782 1.0448 1.04057 1.03574 1.03514 1.04238 -1.03393 1.03091 1.03332 1.03212 1.02728 1.03091 1.0297 1.03212 -1.02849 1.02306 1.02004 1.02487 1.01943 1.03091 1.0146 1.02426 -1.02789 1.01943 1.02124 1.02004 1.02306 1.02608 1.01581 1.02306 -1.01581 1.01822 1.07258 1.13275 1.14751 1.14395 1.14667 1.1443 -1.1436 1.1496 1.14667 1.145 1.1254 1.05507 1.0146 1.01581 -1.01883 1.02366 1.02185 1.0297 1.01762 1.02487 1.02185 1.0303 -1.02789 1.02547 1.02185 1.02728 1.0291 1.0297 1.02426 1.02789 -1.02426 1.04299 1.02668 1.0291 1.03151 1.03272 1.03755 1.03634 -1.03876 1.03936 1.04057 1.04661 1.05386 1.05446 1.06232 1.0448 -0.953596 0.52374 0.154513 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0 0 0 -0.00501667 0.00602 0.00501667 0 0.00100333 0.00100333 0.00401333 0 -0 0.00100333 0.00401333 0 0 0 0.00401333 0.00802667 -0.00401333 0 0 0.0140467 0.0100333 0 0.00200667 0 -0 0.00301 0 0.0110367 0.00702333 0 0 0 -0 0 0.00401333 0.00301 0.00100333 0 0.00301 0.00501667 -0.00702333 0.00200667 0.00301 0.00100333 0 0 0.00200667 0.00200667 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0 -0.00200667 0 0.00100333 0 0.00200667 0.00200667 0 0.00200667 -0 0.00301 0.00501667 0.00301 0.01204 0 0 0.00702333 -0 0 0.00100333 0 0.00702333 0.00602 0.00100333 0 -0 0.00200667 0.00301 0 0.0140467 0 0 0 -0 0.00702333 0.0100333 0.00100333 0 0 0.00602 0 -0.00100333 0 0.00200667 0 0 0.00200667 0.00501667 0 -0 0.00301 0.00401333 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.136453 0.528757 0.965072 1.05446 1.06111 1.05507 1.03997 -1.04782 1.03816 1.03876 1.04299 1.03574 1.02547 1.03212 1.03876 -1.03514 1.02849 1.02789 1.02547 1.02185 1.02608 1.02366 1.02487 -1.02426 1.02608 1.02306 1.02064 1.02366 1.03091 1.02487 1.01702 -1.02728 1.01641 1.02728 1.02064 1.01581 1.02185 1.01279 1.01762 -1.0146 1.05326 1.13275 1.14465 1.14584 1.1443 1.1394 1.1401 -1.14542 1.1408 1.1422 1.1436 1.15002 1.1254 1.03453 1.02064 -1.02064 1.01883 1.02245 1.02789 1.01943 1.02185 1.02185 1.02608 -1.01943 1.01822 1.02668 1.02366 1.02547 1.02849 1.02306 1.02245 -1.0291 1.02668 1.02487 1.0291 1.02547 1.03332 1.0291 1.02789 -1.03634 1.02668 1.03876 1.03816 1.04238 1.03634 1.04601 1.05748 -1.05567 1.0593 1.00856 0.677992 0.23478 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00702333 0 0 0.00100333 0 -0 0 0.00301 0 0 0.00501667 0 0 -0 0.0190633 0 0.00301 0 0.00301 0.00602 0 -0 0.00401333 0.00501667 0.0100333 0 0 0 0 -0.00200667 0 0.0100333 0.00802667 0 0 0 0 -0 0 0.00301 0.00100333 0 0 0.00100333 0 -0.00100333 0.00100333 0 0 0.00501667 0.00200667 0.00100333 0 -0.00200667 0.00401333 0.00903 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.01204 0.00301 0.00301 -0.00401333 0.00100333 0.00501667 0.00602 0 0.00100333 0.00501667 0.00301 -0.00301 0 0 0 0.00100333 0.0130433 0.00301 0 -0.00802667 0.00903 0.00401333 0 0 0 0.0140467 0.01204 -0 0 0.0110367 0 0 0 0.00301 0 -0 0 0 0.01204 0.00301 0 0.00702333 0.00501667 -0 0.00301 0 0.00200667 0 0 0 0.00401333 -0 0 0 0 0.0100333 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.131437 -0.564877 0.989232 1.05869 1.05265 1.05205 1.04903 1.0442 1.03997 -1.03634 1.03332 1.0297 1.03695 1.03272 1.02789 1.02668 1.02547 -1.03272 1.02849 1.03212 1.02426 1.02608 1.02064 1.02668 1.02366 -1.01883 1.02608 1.02487 1.01702 1.02245 1.02185 1.02185 1.01762 -1.02426 1.02728 1.02004 1.02124 1.01943 1.0146 1.02426 1.01279 -1.02426 1.11875 1.14709 1.14325 1.14751 1.1415 1.1401 1.1422 -1.14115 1.13905 1.14465 1.1415 1.14395 1.1436 1.0981 1.014 -1.02004 1.02124 1.02004 1.02306 1.01762 1.02547 1.02547 1.02306 -1.01822 1.02366 1.02366 1.02668 1.02306 1.02728 1.02124 1.02185 -1.02789 1.02487 1.02185 1.0297 1.02547 1.02064 1.02547 1.0303 -1.03755 1.02064 1.03695 1.03574 1.03574 1.0303 1.0448 1.03393 -1.04782 1.05265 1.05628 1.06654 1.0297 0.768152 0.26187 0.00301 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0.00200667 0 -0.00100333 0 0 0 0.00501667 0 0 0.00501667 -0 0.0110367 0.00200667 0 0 0.00301 0 0 -0.00100333 0.00903 0.00401333 0.00200667 0 0 0 0.00301 -0.00301 0.00100333 0.00802667 0 0 0.00301 0 0.00200667 -0.00100333 0 0.00200667 0 0 0.00100333 0.00702333 0.00100333 -0.00702333 0.00100333 0.00200667 0 0 0.00200667 0 0.00702333 -0.00200667 0.00702333 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.00903 0.00401333 -0 0.00200667 0.00100333 0.00100333 0.00903 0 0 0 -0 0.00501667 0.00602 0.00100333 0 0 0.00702333 0.00702333 -0 0 0.00702333 0.00802667 0 0 0 0.00301 -0.0100333 0 0 0.00802667 0.00200667 0.00702333 0 0.00802667 -0 0 0.00301 0 0.00401333 0 0 0.00903 -0.00100333 0.00200667 0 0 0 0.00802667 0.00501667 0 -0.00100333 0 0 0 0 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0943133 0.525747 0.985004 -1.05748 1.06413 1.05144 1.0454 1.04057 1.04057 1.04118 1.0303 -1.0303 1.03091 1.02426 1.02668 1.02608 1.02849 1.03151 1.02547 -1.02426 1.02306 1.02487 1.02728 1.02426 1.02245 1.02608 1.02064 -1.01762 1.02064 1.02124 1.02245 1.02306 1.02547 1.02185 1.01943 -1.02185 1.02064 1.01702 1.02487 1.01822 1.01641 1.01883 1.00856 -1.0744 1.14325 1.1394 1.14255 1.1387 1.13905 1.1387 1.1394 -1.13625 1.1373 1.14115 1.1401 1.14465 1.14625 1.13555 1.0442 -1.01279 1.01883 1.01822 1.02306 1.01883 1.02608 1.02185 1.02004 -1.01762 1.02547 1.01581 1.01822 1.02124 1.01581 1.02487 1.02245 -1.02668 1.01641 1.02426 1.0303 1.02124 1.01883 1.03453 1.02789 -1.03393 1.02487 1.02487 1.03151 1.02487 1.02849 1.03332 1.03272 -1.04601 1.04057 1.03876 1.05024 1.05326 1.0605 1.0297 0.763 -0.22876 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0 0.00301 0 0.00200667 -0.00100333 0.00602 0 0.00200667 0.00401333 0 0 0.00401333 -0.00702333 0 0 0 0 0 0 0.00802667 -0.00100333 0 0 0 0.00401333 0 0 0 -0.00100333 0.00602 0.00602 0.00100333 0 0 0 0.00602 -0 0 0 0 0.00301 0.00401333 0 0 -0.0110367 0.00401333 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00903 0 0 0.00301 -0.00100333 0 0.00200667 0 0.00200667 0.00100333 0 0 -0 0.00100333 0 0.00301 0 0 0 0.00401333 -0.00702333 0.00100333 0 0.00301 0.00200667 0 0.00200667 0.00100333 -0.00200667 0.00501667 0.00100333 0 0 0.00602 0 0.00100333 -0.00903 0 0 0 0.00401333 0.00501667 0 0.00100333 -0 0.00301 0.00802667 0 0 0 0.00200667 0.00200667 -0 0.00100333 0 0 0 0 0.00401333 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0.0411367 0.419393 0.959032 1.05688 1.05567 -1.04842 1.04842 1.0448 1.03332 1.03393 1.0303 1.03091 1.03453 -1.02728 1.02789 1.02728 1.02547 1.01641 1.02124 1.03091 1.02668 -1.01702 1.02487 1.02245 1.02185 1.01943 1.02185 1.02185 1.01943 -1.02004 1.01943 1.02004 1.01883 1.01581 1.01883 1.02004 1.02426 -1.01883 1.01581 1.01641 1.01822 1.01641 1.02306 1.014 1.00735 -1.10125 1.14325 1.1408 1.13695 1.13555 1.14185 1.13555 1.13905 -1.1338 1.14045 1.1345 1.13905 1.1408 1.14325 1.14115 1.07955 -1.01822 1.0146 1.01702 1.02064 1.02004 1.0146 1.02004 1.01883 -1.02245 1.02064 1.0146 1.02004 1.02124 1.02124 1.02245 1.02004 -1.02064 1.02124 1.02426 1.02366 1.02124 1.0303 1.02487 1.01943 -1.02064 1.01641 1.02487 1.0291 1.0291 1.02547 1.03393 1.03393 -1.03332 1.03272 1.03332 1.03997 1.0442 1.04178 1.05809 1.06171 -1.01702 0.662536 0.14749 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0 0.00602 0 0 0 0.00200667 0 -0.00501667 0 0 0.00100333 0 0.00401333 0 0.00100333 -0.00200667 0 0.00903 0 0 0 0.00702333 0 -0 0 0 0 0 0 0 0.00602 -0.00301 0 0 0 0.00200667 0.00301 0.00702333 0 -0.00100333 0.00501667 0 0.00301 0 0 0.00401333 0.01204 -0 0 0 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0100333 0.00501667 0 0.00200667 -0.00200667 0 0.00401333 0 0.00301 0.00401333 0.00200667 0.00200667 -0 0.00401333 0.00301 0.00501667 0 0 0 0 -0.00100333 0.00200667 0 0 0.00602 0.00602 0 0.00100333 -0 0 0.00602 0.00702333 0 0.00401333 0 0 -0 0 0 0.00602 0 0 0.00602 0 -0.00301 0 0.00100333 0.0100333 0 0 0 0 -0 0 0 0 0.00200667 0 0 0 -0 0 0.00301 0 0 0 0 0 -0 0 0.253843 0.871192 1.04782 1.0605 1.05446 1.04782 -1.04178 1.03634 1.03272 1.03634 1.03816 1.03574 1.02426 1.02124 -1.02668 1.02245 1.02789 1.03091 1.02185 1.014 1.02426 1.02426 -1.02064 1.01943 1.02245 1.02547 1.02004 1.01702 1.02064 1.01883 -1.01883 1.01702 1.01883 1.01943 1.02185 1.02245 1.02185 1.02185 -1.02487 1.01641 1.0146 1.01641 1.01822 1.01641 1.01822 1.0152 -1.12155 1.1443 1.14325 1.13905 1.1352 1.1408 1.13765 1.1387 -1.13485 1.1373 1.13695 1.1373 1.1387 1.1443 1.14325 1.09635 -1.01641 1.01641 1.01822 1.02426 1.0146 1.01883 1.01822 1.02245 -1.01883 1.0152 1.01702 1.02366 1.02185 1.01702 1.01762 1.02849 -1.01943 1.02185 1.02547 1.02064 1.02185 1.01883 1.02366 1.01883 -1.02789 1.02728 1.02245 1.0291 1.02487 1.02668 1.03212 1.02426 -1.02849 1.03212 1.02608 1.03332 1.03393 1.04661 1.05446 1.04178 -1.05507 1.05748 0.981984 0.495647 0.0642133 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0 0 0 0 0 0 -0.00100333 0 0 0.00100333 0.00602 0 0 0.00100333 -0.00401333 0.00100333 0 0 0.00200667 0.00501667 0.00501667 0 -0.00100333 0.00401333 0.00100333 0 0 0.0100333 0.0100333 0 -0.00100333 0 0 0 0.00200667 0.00301 0 0.00100333 -0.00501667 0 0.00301 0.00200667 0 0.00501667 0.00501667 0 -0 0 0.00602 0.0130433 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0.00903 0.0110367 0.00100333 -0.00301 0.00602 0 0.00200667 0 0 0 0 -0 0 0.00301 0.00501667 0.00200667 0 0 0 -0.00301 0.00301 0 0.00100333 0 0 0.00301 0 -0 0 0 0 0.00903 0.00602 0.00702333 0.00501667 -0 0 0 0 0 0 0 0.00100333 -0 0.00501667 0.00401333 0 0.00200667 0.00301 0.00401333 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.08127 0.617456 1.0146 1.06413 1.05386 1.0448 1.04299 1.03936 -1.03514 1.03816 1.02608 1.03151 1.03151 1.0303 1.02789 1.02366 -1.01883 1.02185 1.02789 1.0291 1.0291 1.02004 1.02366 1.02306 -1.01883 1.01762 1.01943 1.02124 1.01762 1.02064 1.02124 1.02064 -1.02004 1.02487 1.01641 1.02487 1.01702 1.02064 1.01037 1.02004 -1.02547 1.01762 1.02124 1.01702 1.02124 1.01218 1.01037 1.01883 -1.12295 1.14542 1.13695 1.13975 1.1387 1.1394 1.13975 1.138 -1.13625 1.13345 1.1408 1.1373 1.13415 1.1436 1.145 1.10685 -1.01339 1.01943 1.01943 1.01641 1.014 1.02064 1.01279 1.02366 -1.01883 1.01218 1.02245 1.02366 1.01883 1.01883 1.02306 1.02004 -1.02185 1.01641 1.02849 1.02426 1.01702 1.02185 1.01883 1.02728 -1.01883 1.02245 1.02124 1.0291 1.02004 1.02608 1.02547 1.02426 -1.02608 1.02306 1.02547 1.02668 1.03272 1.04118 1.03393 1.03755 -1.05084 1.04963 1.05809 1.05265 0.916272 0.293977 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0 0.00100333 0.00301 0 0 0.00100333 0 -0 0 0 0.00401333 0 0 0 0 -0 0.00301 0 0 0.00401333 0 0 0 -0.00401333 0.00602 0 0 0 0 0.00401333 0.00301 -0 0 0.00301 0.00100333 0.00301 0 0.00401333 0.00501667 -0.00200667 0.0110367 0.00802667 0.00100333 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0100333 0.00903 0 0.00200667 0.00501667 -0.00702333 0 0 0 0.00602 0 0 0 -0 0 0 0 0.0100333 0 0 0 -0 0.00100333 0.00702333 0.00200667 0.0100333 0.00200667 0.00200667 0.00301 -0.00401333 0 0 0.00301 0 0 0.00401333 0 -0.00702333 0.00602 0 0 0 0 0 0.00501667 -0 0.00301 0 0.00602 0 0 0.00100333 0 -0.00301 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0.330097 -0.93608 1.05386 1.0599 1.03876 1.0442 1.04359 1.03634 1.03332 -1.0291 1.03272 1.01943 1.02366 1.03514 1.02487 1.02789 1.02849 -1.02366 1.01943 1.02004 1.02004 1.01883 1.02728 1.02668 1.01762 -1.02064 1.0152 1.02124 1.02004 1.01641 1.01702 1.01943 1.01581 -1.01762 1.02124 1.01641 1.01883 1.01822 1.02064 1.02004 1.01702 -1.01943 1.02366 1.01037 1.01943 1.01218 1.01641 1.0152 1.01279 -1.11805 1.14835 1.1429 1.1401 1.14045 1.13765 1.13695 1.13555 -1.1352 1.1401 1.14115 1.13765 1.14255 1.13975 1.14625 1.0974 -1.01158 1.01279 1.02185 1.01943 1.0146 1.02366 1.01883 1.01943 -1.02728 1.0146 1.02185 1.01641 1.02004 1.02064 1.01943 1.02124 -1.01943 1.02185 1.01762 1.02306 1.01762 1.01641 1.02185 1.02849 -1.01218 1.02185 1.02426 1.01883 1.02124 1.02124 1.02064 1.02608 -1.01641 1.02426 1.02004 1.02728 1.0297 1.02789 1.03151 1.03755 -1.0442 1.04057 1.04842 1.05265 1.05809 1.02185 0.650944 0.116387 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0.01204 0.0110367 0 0.00100333 0 0.00903 0 -0.00100333 0.00501667 0.00501667 0.00200667 0 0.00401333 0 0 -0.00200667 0.00100333 0 0.00702333 0.00301 0.00702333 0 0.00501667 -0.00602 0.00100333 0 0 0.00200667 0.00200667 0.00301 0.00200667 -0 0 0 0.00100333 0.00100333 0.0100333 0.00903 0 -0.00200667 0 0 0.00200667 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00100333 0.0100333 0 0 -0.00200667 0.0110367 0.00802667 0.00200667 0 0.00100333 0.00602 0.00100333 -0 0.00100333 0 0 0 0.0110367 0.00301 0.00200667 -0 0 0 0 0 0 0.00200667 0 -0.00802667 0.00401333 0 0.00200667 0.00301 0 0.00401333 0 -0 0.00802667 0.0100333 0.00100333 0 0 0 0 -0 0 0.00301 0.00702333 0.00802667 0.00301 0.00200667 0 -0 0 0.00802667 0 0 0 0 0 -0 0 0 0 0 0.0742467 0.59297 1.02547 -1.06232 1.05084 1.05084 1.04057 1.03091 1.03332 1.0291 1.03151 -1.02608 1.03091 1.02306 1.0297 1.02728 1.01762 1.02064 1.02245 -1.02789 1.01702 1.01943 1.02547 1.01943 1.02064 1.0303 1.0152 -1.02124 1.01822 1.02245 1.0146 1.02789 1.02306 1.0146 1.02306 -1.02306 1.01883 1.01762 1.01581 1.02124 1.02185 1.01762 1.0152 -1.02426 1.01822 1.0152 1.01702 1.0152 1.01822 1.01641 1.014 -1.0995 1.14185 1.1429 1.1429 1.1408 1.13625 1.1345 1.1352 -1.138 1.138 1.138 1.14185 1.1415 1.145 1.1429 1.0771 -1.0152 1.02004 1.01098 1.02124 1.01883 1.01641 1.014 1.01883 -1.01762 1.014 1.0146 1.01822 1.01762 1.02728 1.00856 1.01822 -1.02245 1.01822 1.014 1.02547 1.01581 1.0146 1.02789 1.0146 -1.0146 1.02185 1.02306 1.0152 1.02547 1.01702 1.01762 1.0303 -1.02547 1.02064 1.02004 1.02728 1.02849 1.02185 1.03393 1.03091 -1.03151 1.03332 1.03574 1.04238 1.0448 1.05265 1.06413 0.95118 -0.357187 0.00702333 0 0 0 0 0 0 -0 0 0.00301 0 0 0 0 0 -0.00200667 0.00903 0 0 0 0.00301 0 0 -0.00501667 0 0 0 0 0.00301 0.00602 0 -0 0.00301 0.00702333 0.00903 0 0 0.00401333 0.00301 -0 0 0 0 0.00200667 0.00501667 0.00501667 0 -0 0.00200667 0 0.00903 0.00200667 0.00200667 0 0 -0 0.00702333 0.00602 0.00301 0.00602 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00200667 -0 0 0.00802667 0.0100333 0.00702333 0 0.00100333 0.00401333 -0.00100333 0 0 0 0 0.00200667 0.00802667 0.00200667 -0.00401333 0.00702333 0.00200667 0 0.00401333 0 0 0 -0 0.00802667 0.00702333 0 0.00702333 0.00301 0 0.00702333 -0 0 0 0.0100333 0.00401333 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.229763 0.89824 1.06232 1.06352 -1.04661 1.03936 1.03755 1.03695 1.03393 1.02849 1.03151 1.02366 -1.02306 1.02547 1.02245 1.01943 1.02547 1.02064 1.02849 1.01339 -1.02306 1.01702 1.0146 1.01943 1.01883 1.02366 1.014 1.02245 -1.02064 1.02004 1.02306 1.01762 1.01883 1.01702 1.014 1.02245 -1.01883 1.02004 1.02245 1.02547 1.01641 1.01581 1.02668 1.00916 -1.01943 1.01702 1.02547 1.01641 1.02608 1.01339 1.01037 1.01279 -1.06292 1.14045 1.14625 1.1366 1.14185 1.1373 1.1401 1.14115 -1.1338 1.13765 1.13905 1.1373 1.1401 1.14542 1.13415 1.04178 -1.00856 1.01279 1.01822 1.02185 1.01581 1.01822 1.01037 1.01943 -1.02306 1.02064 1.01641 1.02004 1.02366 1.02185 1.01641 1.02426 -1.01943 1.01943 1.01883 1.02185 1.0152 1.02668 1.01822 1.01641 -1.01581 1.01762 1.0297 1.02124 1.01581 1.02004 1.01702 1.02728 -1.01339 1.02124 1.02728 1.02306 1.02064 1.02547 1.02728 1.02366 -1.02547 1.02849 1.03574 1.03151 1.03997 1.04903 1.05809 1.05748 -1.03212 0.636776 0.0802667 0 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0 0 0 0 0 0 0 0.0130433 -0 0 0.00702333 0 0 0.00301 0 0.00903 -0.00602 0.00100333 0.00501667 0 0 0 0 0 -0 0.00301 0.00802667 0.00401333 0 0.00100333 0 0 -0.00301 0.00501667 0.00802667 0 0.00802667 0 0.00200667 0.0130433 -0.0100333 0 0.00200667 0.00200667 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0130433 0.0130433 0.00602 0 0 0 -0.00200667 0 0 0.00200667 0.00401333 0.00200667 0 0.00301 -0.00702333 0.00802667 0.00301 0.00100333 0 0 0 0.00702333 -0 0 0.00602 0.00602 0 0 0 0 -0 0 0 0 0.00401333 0.00100333 0.00200667 0.00501667 -0.00200667 0.00200667 0.00301 0 0 0.00401333 0 0 -0.00100333 0 0 0 0.00401333 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0.414377 0.998292 1.05748 1.05386 1.04601 -1.03997 1.03514 1.03332 1.0303 1.03453 1.02668 1.02487 1.02547 -1.02487 1.02426 1.01822 1.01822 1.02004 1.01762 1.01822 1.02306 -1.01883 1.02426 1.01943 1.01339 1.02124 1.02306 1.01822 1.01883 -1.01702 1.02064 1.01641 1.02487 1.02245 1.01883 1.01883 1.02668 -1.01883 1.01943 1.02185 1.01883 1.01581 1.02004 1.02547 1.0146 -1.0146 1.02185 1.02185 1.0146 1.01762 1.0146 1.01581 1.00916 -1.02064 1.1121 1.14465 1.1443 1.14115 1.13835 1.1415 1.1359 -1.1296 1.1401 1.1394 1.1373 1.14185 1.14542 1.09705 1.00856 -1.0146 1.01158 1.0146 1.0291 1.01641 1.02245 1.01943 1.01762 -1.02064 1.02487 1.01279 1.02064 1.01943 1.01883 1.0146 1.02185 -1.02124 1.01822 1.01943 1.0146 1.01641 1.02728 1.0152 1.02306 -1.01581 1.02124 1.02668 1.01762 1.02124 1.02004 1.01883 1.02306 -1.02064 1.02728 1.02728 1.01762 1.02487 1.02547 1.01943 1.01762 -1.02366 1.02608 1.03151 1.03151 1.03453 1.03332 1.04601 1.04842 -1.05567 1.05446 0.87892 0.229763 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00602 0.00401333 0 -0 0.00301 0.00100333 0 0.00200667 0.00702333 0 0 -0 0 0 0 0 0.00401333 0 0 -0 0.00903 0 0.00100333 0.00301 0.00401333 0.00200667 0.00100333 -0.00100333 0.00301 0.00100333 0.00702333 0.00401333 0.00200667 0.00401333 0.00301 -0 0 0 0 0.00301 0.00602 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0.00100333 0.00702333 0.00802667 0 0.00401333 -0.00100333 0.00702333 0.00301 0 0.00200667 0.00602 0.00301 0.00200667 -0 0 0.00501667 0.00401333 0.00501667 0 0 0 -0.00401333 0.00602 0 0.00501667 0.0100333 0.01204 0.00200667 0 -0 0.00401333 0 0 0 0.00501667 0.00100333 0.0110367 -0.00401333 0 0 0 0.00200667 0 0.00401333 0 -0 0.00501667 0.00200667 0 0 0 0.00602 0 -0 0 0 0 0 0 0 0 -0 0.0371233 0.600997 1.04118 1.0599 1.04842 1.03816 1.04178 -1.03634 1.02849 1.02306 1.02366 1.0303 1.02245 1.02608 1.01822 -1.02426 1.03574 1.02185 1.02366 1.01883 1.01883 1.02245 1.02245 -1.01702 1.01702 1.0297 1.01883 1.01339 1.0297 1.02004 1.02245 -1.0146 1.01883 1.01822 1.01279 1.02487 1.01822 1.0146 1.01581 -1.02366 1.01581 1.01943 1.01641 1.01641 1.0146 1.02366 1.01762 -1.01218 1.01702 1.01883 1.02306 1.00977 1.00916 1.02064 1.01339 -1.01641 1.0442 1.12505 1.14542 1.14667 1.1373 1.14185 1.1408 -1.13905 1.14045 1.13905 1.14255 1.14625 1.1142 1.01883 1.01098 -1.02004 1.01883 1.01158 1.02306 1.02185 1.01822 1.02426 1.01822 -1.02064 1.02004 1.01581 1.01762 1.01822 1.02004 1.02426 1.02064 -1.02064 1.01822 1.01339 1.01883 1.02789 1.0152 1.02185 1.02004 -1.01943 1.02668 1.01702 1.02185 1.01762 1.02124 1.02487 1.02064 -1.02487 1.02306 1.01641 1.01702 1.0291 1.02064 1.02487 1.02245 -1.02547 1.02728 1.0291 1.03091 1.0297 1.03514 1.03634 1.04299 -1.04178 1.05144 1.06232 0.992856 0.369227 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00602 0 0.00802667 0 0 0.00200667 -0 0 0 0 0.00802667 0.00301 0 0.00100333 -0 0 0 0 0.00602 0 0 0.00602 -0 0 0 0.00200667 0.00702333 0 0 0 -0.0110367 0.00903 0 0.00200667 0.00100333 0.00401333 0 0 -0 0 0 0.00301 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0.00501667 0.00200667 0.00903 0.00602 0 -0 0 0 0.00100333 0 0 0.00100333 0.00301 -0.00702333 0 0 0.00200667 0 0 0.00301 0.00401333 -0 0 0 0.00100333 0 0 0.00702333 0 -0 0 0 0.00401333 0 0 0 0.00100333 -0.01505 0.00702333 0 0 0 0.00301 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.09933 0.770728 1.05507 1.05326 1.04963 1.0454 1.03634 1.03332 -1.03272 1.03091 1.02487 1.02849 1.02426 1.01762 1.02366 1.02245 -1.0152 1.02064 1.02366 1.02668 1.01762 1.02366 1.01702 1.02245 -1.01943 1.01339 1.0146 1.02245 1.0146 1.01641 1.01883 1.02064 -1.01822 1.01822 1.01158 1.01943 1.01943 1.02487 1.02366 1.00856 -1.01883 1.02004 1.02004 1.01641 1.01641 1.02366 1.02366 1.02487 -1.02306 1.02426 1.02124 1.02306 1.02124 1.02487 1.014 1.01279 -1.01339 1.0152 1.05809 1.1247 1.14255 1.14045 1.13905 1.14465 -1.1422 1.14185 1.1436 1.15086 1.1142 1.03332 1.00856 1.01883 -1.014 1.02064 1.01822 1.01943 1.0146 1.01822 1.02004 1.01762 -1.0146 1.01279 1.02064 1.02366 1.0152 1.01822 1.02185 1.02064 -1.02124 1.014 1.01822 1.01702 1.01339 1.01822 1.01702 1.01098 -1.02245 1.02668 1.0146 1.02366 1.01581 1.02366 1.0152 1.01641 -1.02245 1.01883 1.02426 1.02487 1.01943 1.01883 1.02064 1.02608 -1.02245 1.02608 1.02064 1.03151 1.02426 1.03091 1.0297 1.03393 -1.03695 1.04299 1.0448 1.05507 1.02185 0.506683 0.01806 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0 0 0 0 0 0 -0 0 0.00301 0.0140467 0.00501667 0 0 0 -0.00602 0.00200667 0.00301 0 0.00200667 0 0.00200667 0 -0.00702333 0 0.00903 0.0100333 0 0 0 0.0130433 -0.00401333 0 0.00100333 0.00702333 0 0 0 0.00401333 -0.00702333 0.00301 0.0110367 0.00200667 0.00100333 0.00100333 0.00301 0 -0 0 0 0 0 0 0 0 -0 0.00802667 0.00501667 0.00501667 0 0 0.0100333 0.0110367 -0.01204 0.00702333 0.00100333 0 0 0.00100333 0 0.00100333 -0 0.00602 0.00501667 0 0.00301 0.00702333 0 0.00401333 -0.0100333 0 0 0 0.0100333 0.00401333 0 0.00602 -0 0.00200667 0 0 0.00401333 0.00401333 0.00100333 0 -0 0.00602 0.00200667 0.00501667 0 0 0.00501667 0 -0 0 0 0 0 0 0.00200667 0 -0 0 0 0 0 0 0 0.151503 -0.863464 1.05628 1.05688 1.04661 1.03755 1.03936 1.03091 1.03212 -1.02728 1.02668 1.02487 1.02728 1.02547 1.01943 1.02487 1.02487 -1.02487 1.02004 1.01762 1.02426 1.02004 1.02245 1.01822 1.02185 -1.02608 1.01218 1.0152 1.0152 1.01883 1.01822 1.02728 1.01581 -1.02245 1.02064 1.02426 1.02004 1.02366 1.02366 1.02064 1.02064 -1.02004 1.01943 1.0152 1.01883 1.01581 1.01943 1.01762 1.02004 -1.01883 1.02064 1.01581 1.01883 1.0152 1.02426 1.01218 1.02366 -1.02004 1.01339 1.01641 1.03272 1.09075 1.1254 1.1394 1.13905 -1.14395 1.13485 1.1261 1.0834 1.03332 1.00977 1.0152 1.01762 -1.0146 1.02306 1.0152 1.01822 1.02366 1.02064 1.014 1.02245 -1.01581 1.01883 1.02487 1.02004 1.02366 1.02366 1.02185 1.01581 -1.01339 1.01702 1.02366 1.01339 1.02064 1.02306 1.01702 1.02547 -1.02426 1.01702 1.01943 1.0152 1.01943 1.01943 1.01762 1.02849 -1.02185 1.01581 1.0291 1.01943 1.02185 1.0146 1.01822 1.01581 -1.02124 1.02004 1.02185 1.02064 1.02366 1.02668 1.02789 1.02547 -1.03151 1.03755 1.03755 1.05024 1.05446 1.04359 0.629048 0.0441467 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0.00301 0.00501667 0.00702333 0.00702333 0 0 0.0100333 0.00602 -0 0 0 0.00401333 0.00100333 0.00100333 0.00501667 0.00501667 -0 0 0.00301 0 0 0.00702333 0.0140467 0.00401333 -0 0.00100333 0.00602 0 0 0.00301 0.0110367 0.00501667 -0.00501667 0.00501667 0 0 0.00100333 0.00702333 0.0100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00602 0.00602 0 0 0 -0.00100333 0.00200667 0.00401333 0 0.00200667 0.00301 0.00802667 0 -0 0 0 0.00100333 0 0.00100333 0.00802667 0 -0 0.00802667 0.00301 0 0 0 0.00903 0.00100333 -0 0 0.00100333 0 0 0.00200667 0 0 -0 0 0 0.00903 0.00301 0 0.00401333 0.00501667 -0 0.00602 0 0 0 0 0 0 -0 0 0 0 0 0 0.1806 0.927624 -1.06232 1.05386 1.0454 1.03997 1.03876 1.03332 1.02789 1.03151 -1.02426 1.02064 1.02245 1.02547 1.01883 1.01702 1.02487 1.01883 -1.02366 1.02245 1.01883 1.02547 1.02789 1.01883 1.02366 1.01762 -1.02668 1.02185 1.02185 1.02849 1.0146 1.01641 1.0146 1.01822 -1.01641 1.01581 1.01641 1.01581 1.01702 1.02608 1.02124 1.0152 -1.02185 1.02064 1.02064 1.01279 1.02426 1.01943 1.01279 1.02245 -1.02185 1.02004 1.0146 1.02064 1.02366 1.014 1.02547 1.01581 -1.02608 1.014 1.02124 1.01641 1.00916 1.02668 1.05084 1.06654 -1.0599 1.04601 1.01822 1.0146 1.01037 1.0146 1.01641 1.01822 -1.01641 1.01702 1.01762 1.02185 1.02185 1.01641 1.01339 1.01883 -1.01762 1.01641 1.01883 1.01279 1.02185 1.02064 1.01822 1.01581 -1.01822 1.02124 1.014 1.01702 1.02728 1.02426 1.01581 1.02064 -1.0146 1.01581 1.01822 1.01762 1.02124 1.01943 1.01883 1.02124 -1.02185 1.02185 1.02366 1.0152 1.01943 1.01339 1.02185 1.02487 -1.02245 1.02366 1.02668 1.01943 1.02789 1.02426 1.02789 1.02547 -1.0297 1.03574 1.03514 1.0442 1.05024 1.05144 1.05386 0.735952 -0.0612033 0 0 0 0 0 0 0 -0 0 0 0.00401333 0 0.00301 0 0 -0 0.0100333 0.00100333 0 0 0 0.01204 0 -0 0.00301 0.0130433 0.00501667 0 0 0 0 -0 0.00200667 0 0.00501667 0.00501667 0.00100333 0 0 -0 0.00301 0 0.00602 0.00702333 0.00802667 0 0 -0.00301 0 0 0.00401333 0.00602 0.00501667 0 0 -0 0 0 0 0 0 0 0 -0 0.0100333 0.00702333 0 0 0.00401333 0.00501667 0 -0 0 0 0.00200667 0 0 0.00100333 0.01204 -0 0 0 0.00602 0.00100333 0 0 0.00401333 -0.00401333 0.00401333 0.00702333 0.00401333 0.00602 0.00200667 0 0.00702333 -0.00903 0 0.00100333 0.00301 0 0 0.0100333 0.00100333 -0.00200667 0.00200667 0 0 0.00200667 0 0 0 -0 0 0.00200667 0 0 0 0 0 -0 0 0 0 0 0.196653 0.944536 1.06292 -1.04722 1.04722 1.03997 1.0297 1.02426 1.02789 1.02608 1.02306 -1.0303 1.02306 1.01883 1.02124 1.01762 1.0152 1.02366 1.02366 -1.02064 1.02608 1.01943 1.00856 1.0146 1.00131 1.00192 1.00614 -1.00131 1.02426 1.02547 1.0146 1.02487 1.01822 1.01762 1.01339 -1.02124 1.00977 1.02064 1.01943 1.01702 1.02004 1.01822 1.01037 -1.01641 1.01943 1.01883 1.0146 1.01943 1.01581 1.02487 1.02004 -1.0146 1.01702 1.02004 1.01581 1.02004 1.01581 1.014 1.01883 -1.02366 1.01339 1.01762 1.02124 1.01218 1.00856 1.00916 1.014 -1.00916 1.01339 1.01339 1.01883 1.00735 1.01702 1.01702 1.01822 -1.0152 1.02306 1.01883 1.02306 1.01158 1.02185 1.01702 1.01822 -1.01822 1.0146 1.02124 1.02306 1.02185 1.0146 1.02668 1.01158 -1.02004 1.01641 1.01762 1.0152 1.01822 1.01762 1.01762 1.02004 -1.02124 1.02547 1.01822 1.02124 1.02004 1.01822 1.01883 1.01943 -1.01158 1.02185 1.01279 1.01641 1.02004 1.01943 1.02124 1.01822 -1.02487 1.02004 1.02366 1.02366 1.02789 1.02487 1.01702 1.02366 -1.03272 1.03393 1.03091 1.03876 1.03816 1.04782 1.05809 1.05748 -0.78232 0.0913033 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00903 -0.00802667 0 0.00301 0 0.00301 0.0130433 0 0 -0.0110367 0.00802667 0 0 0 0 0.00501667 0 -0 0 0.00200667 0 0 0 0 0 -0.00602 0.00401333 0.00301 0.00200667 0 0 0 0.00100333 -0.00100333 0 0.00100333 0 0.00100333 0 0.00501667 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00200667 0 0.00100333 0.00401333 -0.00501667 0.00200667 0 0.00200667 0.00802667 0.00401333 0 0 -0.00602 0.00301 0.00100333 0.00100333 0.00602 0 0 0 -0 0 0.00702333 0 0 0.00301 0.00501667 0.00301 -0.0140467 0.00602 0 0 0 0.00200667 0 0.00200667 -0 0.00200667 0.00100333 0 0.00301 0.00200667 0 0 -0 0 0 0 0.00200667 0 0 0 -0 0 0 0 0.203677 0.946348 1.05748 1.05024 -1.0454 1.03574 1.03514 1.03393 1.03091 1.0303 1.02004 1.02728 -1.01943 1.02608 1.02608 1.02426 1.02064 1.01822 1.02124 1.02004 -1.02426 1.00856 1.00192 0.989232 0.989232 0.988024 0.997084 0.98742 -0.986816 0.988024 1.01279 1.02124 1.02245 1.02064 1.02366 1.02487 -1.02064 1.02004 1.02245 1.01641 1.01943 1.02426 1.02245 1.02064 -1.01883 1.02064 1.01943 1.01943 1.01641 1.02366 1.02366 1.01883 -1.0146 1.02245 1.0152 1.01339 1.02487 1.02487 1.0146 1.01702 -1.02064 1.01037 1.0146 1.01581 1.01581 1.01883 1.01762 1.0146 -1.0146 1.00977 1.014 1.02124 1.01762 1.0146 1.02064 1.02004 -1.01943 1.02306 1.01218 1.02124 1.02426 1.02245 1.02064 1.02366 -1.02306 1.01943 1.02547 1.02426 1.02004 1.0146 1.02306 1.0146 -1.01702 1.0152 1.01218 1.01037 1.02668 1.02487 1.01883 1.02547 -1.01702 1.01098 1.02849 1.02728 1.02487 1.00433 1.00433 0.994064 -0.989836 0.991044 0.994064 0.997084 1.00252 1.01339 1.02124 1.01883 -1.02366 1.01943 1.02064 1.02366 1.03151 1.014 1.02547 1.03151 -1.03272 1.02366 1.02547 1.03514 1.03514 1.03272 1.05205 1.0454 -1.05326 0.784896 0.0742467 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0 0 0 0 0 0.00702333 -0 0 0.00401333 0 0.00602 0.0100333 0 0 -0.0100333 0.00802667 0 0 0 0.00301 0.00200667 0.01204 -0.00200667 0 0.00100333 0 0 0 0 0.00301 -0 0.00501667 0.00200667 0.00401333 0.00301 0.00301 0.00501667 0.00401333 -0 0 0 0 0 0 0 0 -0 0.00903 0.00501667 0.00100333 0.00301 0.00100333 0 0 -0.00100333 0.00100333 0 0 0 0 0 0 -0 0.00200667 0.00401333 0 0.00100333 0.00301 0.00501667 0 -0 0 0 0.00501667 0 0 0.00100333 0 -0 0.00602 0.01204 0.00501667 0.00301 0 0 0 -0 0 0.00602 0 0 0 0 0 -0.00602 0 0 0 0 0 0 0 -0 0 0 0.170567 0.944536 1.0605 1.05265 1.04299 -1.03091 1.02728 1.03091 1.02366 1.02245 1.03091 1.02728 1.01883 -1.02426 1.0146 1.02064 1.01883 1.02185 1.02306 1.02245 1.01581 -1.00796 0.994668 0.991648 0.995876 0.99346 0.994064 0.994064 0.986816 -0.985608 0.99044 0.988024 1.00131 1.01822 1.01641 1.02124 1.02185 -1.01943 1.02245 1.02426 1.02306 1.01762 1.01762 1.01762 1.01641 -1.0152 1.02124 1.0146 1.01339 1.02185 1.00856 1.02124 1.02366 -1.01943 1.0146 1.02004 1.02426 1.01822 1.02668 1.02185 1.0146 -1.01581 1.01339 1.01158 1.01943 1.01883 1.01943 1.02004 1.01158 -1.00977 1.01702 1.02124 1.02426 1.01339 1.01218 1.014 1.014 -1.02487 1.01702 1.014 1.014 1.02245 1.02004 1.01641 1.0152 -1.01702 1.02004 1.0146 1.02306 1.01218 1.01762 1.02124 1.02426 -1.0152 1.02124 1.01883 1.0152 1.01339 1.01762 1.02426 1.02668 -1.014 1.02245 1.02366 1.01339 0.994668 0.986816 0.995272 0.991648 -0.988628 0.992252 0.99648 0.99044 0.998896 0.994064 1.01098 1.01883 -1.02124 1.01822 1.02547 1.02728 1.0146 1.02004 1.02426 1.01943 -1.0146 1.02426 1.02789 1.02789 1.02668 1.0303 1.03876 1.03936 -1.05084 1.05628 0.765576 0.0672233 0 0 0 0 -0 0 0 0 0 0.0100333 0.00501667 0.00602 -0.00602 0 0 0 0.00100333 0.00802667 0.00200667 0 -0 0.00200667 0.00100333 0.00301 0 0 0 0.00401333 -0 0 0 0 0.00100333 0.00100333 0.00401333 0 -0 0 0 0 0 0.00301 0.0100333 0.00100333 -0.00501667 0.00401333 0.00501667 0.00602 0 0.00501667 0 0.00602 -0 0 0 0 0 0 0 0 -0.0100333 0.00100333 0.00602 0.00501667 0 0.00501667 0.00501667 0 -0 0 0 0.00100333 0.00200667 0.00501667 0.00702333 0 -0.00401333 0.00200667 0 0.00301 0 0.00401333 0.00200667 0.0140467 -0 0 0.00802667 0.00401333 0.00100333 0 0 0.0100333 -0.00903 0 0 0 0.00200667 0.00301 0 0.00100333 -0.00200667 0 0 0 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.100333 0.907256 1.06171 1.05446 1.03876 1.03876 -1.03816 1.0297 1.02426 1.02306 1.01883 1.02306 1.02185 1.0291 -1.02245 1.0303 1.02124 1.02064 1.02004 1.02064 1.02306 1.01641 -0.992856 0.992856 0.989836 0.98742 1.00071 0.992856 0.991648 1.00192 -0.992252 0.998896 0.998292 0.986212 1.01098 1.01943 1.01883 1.01943 -1.02004 1.01702 1.01883 1.01762 1.02487 1.01762 1.02366 1.01822 -1.01883 1.01762 1.02366 1.01339 1.01822 1.01702 1.01581 1.02064 -1.02185 1.02185 1.0146 1.01943 1.01883 1.00977 1.01702 1.01702 -1.01822 1.02124 1.0146 1.01037 1.01339 1.01762 1.02004 1.02004 -1.01641 1.02185 1.01279 1.01822 1.02306 1.01339 1.014 1.00916 -1.02608 1.01762 1.0146 1.01279 1.01762 1.02064 1.01822 1.01098 -1.01822 1.02004 1.0146 1.02124 1.01822 1.01822 1.02366 1.02124 -1.02185 1.01762 1.01702 1.02608 1.01883 1.02004 1.02789 1.01339 -1.01883 1.02004 1.01822 0.985004 0.988628 1.00192 0.99044 0.991648 -0.98742 0.994064 0.992252 0.991044 0.988628 0.991648 0.99648 1.00856 -1.02849 1.02245 1.02426 1.01822 1.01762 1.0146 1.02245 1.01883 -1.02185 1.02547 1.01943 1.02306 1.02668 1.03514 1.03755 1.03936 -1.0442 1.05446 1.05567 0.710192 0.03913 0 0 0 -0 0 0 0 0.00100333 0 0 0.00100333 -0 0 0.00200667 0.00702333 0.00200667 0 0 0 -0.00100333 0.00401333 0 0 0 0.00100333 0.00602 0 -0 0 0 0 0.00200667 0.00100333 0 0 -0 0 0.00200667 0.0110367 0.00602 0 0 0 -0 0.00200667 0 0 0.00100333 0.00401333 0.0100333 0.0100333 -0 0 0 0 0 0 0 0 -0.00501667 0.00100333 0 0.00401333 0.00602 0.00401333 0.00702333 0.00802667 -0.00401333 0 0 0 0 0 0.00100333 0.00401333 -0 0 0.00301 0 0 0 0.00100333 0 -0.00200667 0.00802667 0 0 0.00702333 0.00200667 0 0 -0.00301 0.00702333 0 0.00200667 0.0110367 0 0.00100333 0 -0 0.00401333 0.00100333 0 0 0 0.00301 0 -0 0 0 0 0 0 0 0 -0 0.05719 0.772016 1.05567 1.05265 1.04238 1.03816 1.03212 -1.03514 1.03151 1.03272 1.03091 1.02124 1.02064 1.02004 1.02004 -1.02728 1.02306 1.02064 1.02547 1.0152 1.02487 1.01279 0.994064 -0.997688 0.988024 0.995272 0.989232 0.982588 0.995272 0.985608 0.9844 -0.991648 0.994668 0.99044 0.985004 0.995272 1.01339 1.01822 1.0146 -1.02064 1.02487 1.01883 1.01883 1.02306 1.02124 1.02366 1.02426 -1.02124 1.01762 1.02668 1.01037 1.02789 1.02608 1.0146 1.01822 -1.02245 1.02185 1.014 1.0152 1.01581 1.01037 1.0152 1.02124 -1.0152 1.02547 1.01641 1.01822 1.01037 1.02185 1.01641 1.0146 -1.01279 1.02728 1.01822 1.01098 1.00796 0.9995 0.998292 1.00494 -1.00977 1.01158 1.01581 1.01762 1.02004 1.02064 1.01943 1.01702 -1.02064 1.02487 1.01943 1.01943 1.01581 1.02245 1.01883 1.01158 -1.014 1.02064 1.02064 1.01822 1.02064 1.02124 1.0152 1.02426 -1.01581 1.01883 0.998292 0.991044 0.988628 0.985004 0.988024 0.989232 -0.994668 0.99044 0.9995 0.988628 0.99044 0.991648 0.992252 0.995272 -1.01581 1.01762 1.01702 1.02185 1.01339 1.02124 1.02004 1.0297 -1.02668 1.02426 1.02547 1.02426 1.03212 1.0303 1.0291 1.03393 -1.03634 1.04842 1.04722 1.05265 0.58996 0.00903 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0 0 -0.00100333 0 0 0.00301 0.00100333 0 0 0 -0.00100333 0 0.00802667 0.0160533 0.00501667 0.00200667 0.00501667 0.00100333 -0.00802667 0.00702333 0.00301 0 0 0.00200667 0 0.00903 -0.00802667 0.00501667 0.00100333 0.00802667 0.00501667 0.00401333 0.00200667 0.00602 -0.00702333 0 0 0 0 0 0 0.00301 -0 0.00501667 0.00602 0 0 0.00401333 0 0.00401333 -0.00802667 0.0130433 0.0110367 0.00401333 0.00501667 0 0 0 -0.00702333 0 0.00401333 0.00301 0 0.00100333 0.00501667 0.00301 -0 0 0 0 0.00200667 0.00401333 0.00501667 0 -0 0.00802667 0.0100333 0.00301 0 0.00200667 0.00401333 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0.607152 1.05869 1.05446 1.03876 1.03936 1.02849 1.03695 -1.02608 1.02547 1.02487 1.02004 1.02426 1.02426 1.02064 1.01702 -1.02064 1.02608 1.02004 1.0146 1.02185 1.02306 1.00735 0.989836 -0.985004 0.995272 0.995876 0.991044 0.992252 0.991044 1.0001 0.989836 -0.986212 0.989836 0.994064 0.9844 0.992252 1.01158 1.0291 1.02185 -1.0152 1.01339 1.01641 1.01883 1.01702 1.01339 1.01702 1.01702 -1.01762 1.02245 1.02306 1.01702 1.01218 1.02728 1.02004 1.01098 -1.02426 1.01581 1.014 1.00977 1.01158 1.02245 1.0152 1.02124 -1.02728 1.01883 1.014 1.01822 1.02124 1.02245 1.02245 1.02064 -1.01279 1.02004 1.01218 1.01641 1.02547 1.02064 1.02124 1.01822 -1.02185 1.0146 1.00252 1.00373 1.00614 1.02004 1.01883 1.02306 -1.02789 1.02185 1.02728 1.01218 1.02426 1.01762 1.01641 1.01279 -1.01883 1.01943 1.01822 1.01581 1.01822 1.02004 1.01943 1.02487 -1.01581 1.0146 0.985004 0.992856 1.00192 0.989836 0.99648 0.992856 -0.988628 0.991648 0.994064 0.994668 0.986816 0.985608 0.99044 0.99346 -0.998896 1.01943 1.0146 1.02245 1.01581 1.02728 1.02487 1.02547 -1.02245 1.02849 1.02245 1.02004 1.02789 1.01883 1.0291 1.02668 -1.03151 1.03695 1.05144 1.05628 1.03695 0.447487 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0.00702333 -0.00100333 0.00602 0.00501667 0 0.00100333 0.00401333 0 0.00802667 -0 0.00200667 0.00401333 0 0.00501667 0.0100333 0.00301 0.00401333 -0 0 0 0 0 0.00301 0.00802667 0 -0.00100333 0 0 0 0 0 0 0.00602 -0.00100333 0 0.00200667 0.00401333 0 0.00301 0.00200667 0 -0.00301 0 0.00602 0.00802667 0 0.00100333 0.00301 0 -0 0 0 0 0.00301 0 0 0 -0 0 0.00501667 0 0 0 0.00301 0 -0 0 0.00200667 0.00802667 0.00401333 0.00501667 0 0.00501667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.411367 1.03816 1.05326 1.04722 1.03393 1.02547 1.02426 1.02849 -1.02728 1.02245 1.02728 1.01883 1.01641 1.02124 1.02124 1.02004 -1.01098 1.01762 1.01883 1.02245 1.02245 1.01822 1.00131 0.991648 -0.991648 0.989232 0.997084 0.997084 0.991648 0.986212 0.995876 0.99346 -0.980776 0.991044 0.994668 0.992252 0.991648 0.991648 1.01702 1.02668 -1.02245 1.02426 1.01279 1.01581 1.02064 1.0152 1.02124 1.02608 -1.02004 1.02306 1.02245 1.02306 1.0146 1.01762 1.01641 1.01098 -1.00977 1.01218 1.01883 1.01581 1.02487 1.02064 1.01581 1.02306 -1.02487 1.0152 1.02306 1.02487 1.01641 1.01822 1.01943 1.01822 -1.02124 1.02185 1.0146 1.02426 1.02366 1.02124 1.01702 1.02185 -1.01943 1.01339 1.02547 1.0146 1.02306 1.02306 1.01943 1.02004 -1.01037 1.02185 1.02789 1.02366 1.02124 1.01279 1.02064 1.01943 -1.01943 1.02487 1.02245 1.02366 1.02124 1.02004 1.02064 1.0152 -1.01883 1.00796 0.986816 0.995876 0.991044 0.989836 0.991648 0.9844 -0.997688 0.997688 0.991044 0.99346 0.986212 0.99648 0.99648 0.985608 -0.991648 1.014 1.01822 1.01762 1.01702 1.0146 1.02004 1.01762 -1.02004 1.0146 1.01098 1.02185 1.02306 1.02487 1.03091 1.02426 -1.02608 1.03936 1.03272 1.0448 1.05628 1.00977 0.289963 0 -0 0 0 0 0 0 0 0 -0 0.00301 0 0 0 0 0.00903 0.0100333 -0.00702333 0.00401333 0.00501667 0.00401333 0 0.00802667 0.0100333 0 -0.00602 0.00100333 0 0.00702333 0.00401333 0 0.00602 0.00301 -0 0 0 0.00301 0 0.00100333 0 0 -0 0.00200667 0.00802667 0.00501667 0.00301 0.00802667 0 0.00100333 -0.00602 0 0 0 0 0 0 0.0110367 -0.00802667 0 0 0 0 0 0.00200667 0 -0 0 0 0 0.00602 0.00401333 0.00100333 0.00602 -0 0.00200667 0 0 0 0 0 0 -0.00401333 0 0 0.01204 0.00200667 0 0 0 -0 0 0 0 0 0.00301 0.00401333 0.00301 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.214713 -0.98742 1.05688 1.05084 1.04782 1.03876 1.02789 1.01943 1.02004 -1.02487 1.02487 1.02668 1.02245 1.02366 1.01641 1.0146 1.02608 -1.02306 1.01641 1.02245 1.02004 1.01702 1.0152 0.995876 0.989232 -0.986816 0.991044 0.991648 0.983192 0.992856 0.998292 0.992856 0.994668 -0.99648 0.994668 0.989232 0.997084 0.99346 0.997084 1.01702 1.01883 -1.0146 1.02547 1.02064 1.02608 1.02366 1.01883 1.014 1.02064 -1.014 1.01037 1.02004 1.01883 1.014 1.01218 1.0146 1.01641 -1.0152 1.0152 1.02004 1.0146 1.0152 1.01883 1.02185 1.01339 -1.0146 1.01581 1.014 1.01822 1.01943 1.01581 1.0146 1.02668 -1.01822 1.01641 1.0146 1.02487 1.02185 1.014 1.01581 1.0297 -1.01098 1.014 1.0146 1.02728 1.01762 1.02306 1.01762 1.02064 -1.01339 1.00494 1.00856 1.02366 1.01822 1.01883 1.0297 1.0152 -1.02185 1.01641 1.02366 1.01037 1.02124 1.01762 1.02366 1.02004 -1.02306 1.00131 0.991648 0.992252 0.992856 0.985004 0.995272 0.992252 -0.994064 0.997084 0.994064 0.995876 0.983192 0.989836 0.994668 0.99648 -0.992856 1.01702 1.02245 1.02547 1.01822 1.02124 1.01762 1.01943 -1.02124 1.01641 1.02064 1.02185 1.02487 1.02185 1.02547 1.02185 -1.03574 1.03393 1.0442 1.04238 1.04963 1.05628 0.947556 0.133443 -0 0 0 0 0 0 0 0 -0 0.00602 0 0 0 0 0 0 -0 0.00702333 0 0 0.00602 0.00100333 0 0.00702333 -0 0 0.0110367 0.00200667 0 0 0.00200667 0 -0 0 0.00602 0.00501667 0.00301 0 0 0 -0.00301 0.00602 0.00602 0 0.00602 0 0 0.00602 -0 0 0 0 0 0 0 0.00100333 -0.00602 0.00903 0.00702333 0 0.00301 0.00200667 0 0 -0.00200667 0.00301 0.00702333 0.00100333 0 0.00100333 0 0 -0.00501667 0 0 0 0 0.00501667 0.00100333 0 -0.00100333 0.00301 0 0 0 0.00401333 0.00401333 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0.00301 0.00903 0.00200667 0 0 0 -0 0 0 0 0 0 0.04816 0.867328 -1.0599 1.04722 1.03997 1.03453 1.03816 1.03272 1.03634 1.02306 -1.01822 1.02306 1.02668 1.02426 1.01641 1.02245 1.0146 1.02124 -1.01883 1.02366 1.0152 1.01943 1.02789 1.02306 1.00373 0.992856 -0.99648 0.998292 0.998896 0.99044 0.988024 0.985608 0.992856 0.99044 -0.992252 1.00131 0.985608 0.991648 0.99044 0.99346 1.01943 1.01581 -1.02245 1.02668 1.02426 1.01762 1.0146 1.02185 1.02185 1.01943 -1.02366 1.01883 1.01098 1.00252 1.014 1.02366 1.02306 1.02668 -1.02185 1.02849 1.01943 1.02004 1.0146 1.01943 1.02306 1.01702 -1.0152 1.02245 1.02487 1.01702 1.01037 1.02004 1.02185 1.02245 -1.01339 1.01762 1.02547 1.01883 1.01702 1.014 1.01883 1.02245 -1.01218 1.02124 1.01762 1.02064 1.01339 1.02004 1.01218 1.0152 -1.02064 1.0152 1.0146 1.00554 1.01037 1.01822 1.02487 1.02124 -1.00916 1.01641 1.02124 1.02185 1.02306 1.0146 1.01822 1.01581 -1.02124 0.99648 0.991648 0.99346 0.992252 0.99044 0.995876 0.992856 -0.992856 0.99346 0.992252 0.989836 0.994668 0.994668 0.994064 0.992252 -0.991648 1.00856 1.02004 1.00916 1.02426 1.01339 1.02306 1.0146 -1.02064 1.02124 1.02306 1.0291 1.01883 1.02245 1.02426 1.01943 -1.02366 1.02547 1.03091 1.03453 1.03997 1.04661 1.05567 0.7308 -0.0230767 0 0 0 0 0 0 0 -0 0 0 0.00100333 0.00301 0 0 0.00100333 -0 0 0 0.00200667 0.00100333 0.00602 0.00802667 0 -0 0.00903 0.00100333 0 0.00802667 0.00301 0 0.00100333 -0.00301 0.00401333 0 0.00100333 0 0 0 0.00802667 -0.00602 0.00301 0 0.00501667 0 0 0.00200667 0 -0.00301 0 0 0 0 0 0 0.00702333 -0.00100333 0.00200667 0.00200667 0.00602 0 0.00301 0.00702333 0 -0 0 0 0.00702333 0.00802667 0.00401333 0.00501667 0.00702333 -0.00200667 0.0130433 0.00802667 0.00200667 0.00100333 0 0 0 -0 0.00401333 0.0100333 0 0 0 0 0.00301 -0.0110367 0 0 0.00401333 0.00602 0 0.00903 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.536783 1.04963 -1.05024 1.04299 1.03393 1.0303 1.03212 1.02426 1.02487 1.03091 -1.02004 1.01581 1.01581 1.02064 1.01822 1.02064 1.02064 1.01762 -1.01641 1.02245 1.01822 1.014 1.0146 1.02245 1.0001 0.992252 -0.988024 0.991648 0.994064 0.991044 0.997084 1.00131 0.995272 1.0001 -0.986816 0.994064 0.992856 0.991044 0.991648 0.997084 1.01943 1.01641 -1.02245 1.02185 1.02124 1.02547 1.01279 1.02366 1.02124 1.01702 -1.01762 1.02064 1.01702 1.0146 1.01581 1.02487 1.0146 1.014 -1.01279 1.02064 1.01883 1.01702 1.01762 1.01581 1.014 1.0152 -1.0146 1.0146 1.014 1.01339 1.01943 1.02789 1.02306 1.02789 -1.02004 1.02547 1.01641 1.02245 1.02185 1.01279 1.01762 1.02366 -1.01037 1.02668 1.02245 1.01822 1.02789 1.02728 1.01702 1.02124 -1.02004 1.01943 1.02306 1.01581 1.01762 1.00735 1.00312 1.01762 -1.02064 1.01702 1.01339 1.02124 1.0146 1.01339 1.02004 1.02245 -1.0146 1.00735 0.991648 0.986212 0.992252 0.99044 0.99648 0.995272 -0.99044 0.985608 0.988024 0.992252 0.991648 0.9995 0.99346 0.994064 -0.992856 1.01037 1.01339 1.02064 1.01702 1.01822 1.00916 1.02004 -1.02487 1.01822 1.02426 1.02185 1.01762 1.02487 1.02366 1.03212 -1.02728 1.0291 1.02728 1.03151 1.03332 1.05084 1.05628 1.04601 -0.456517 0 0 0 0 0 0 0 -0 0.00401333 0 0 0 0 0 0 -0 0.00702333 0 0 0.00100333 0.00702333 0 0 -0.00401333 0 0 0 0 0 0.00401333 0 -0 0.00401333 0.00100333 0 0 0.00401333 0.0110367 0 -0 0 0.00100333 0 0 0.00100333 0 0.0100333 -0.0100333 0.00602 0 0 0 0 0.00100333 0.00200667 -0.00602 0 0.00301 0.00301 0.00100333 0 0 0.00802667 -0.00501667 0.00702333 0 0 0 0.00301 0 0 -0 0 0 0 0 0.00401333 0.0100333 0.00702333 -0 0 0 0.00501667 0.00602 0 0 0 -0 0.00501667 0.00100333 0 0.00501667 0.00401333 0 0.00301 -0.00702333 0 0.00100333 0 0 0.00200667 0 0 -0 0 0 0 0 0.23478 1.01037 1.05869 -1.05144 1.03574 1.04057 1.03272 1.02789 1.03091 1.02004 1.02426 -1.02608 1.02487 1.01943 1.02004 1.02004 1.02306 1.02366 1.0152 -1.02004 1.01943 1.01762 1.02306 1.0146 1.02426 1.00735 0.991044 -0.992252 0.994668 0.9995 0.992856 0.991648 0.992856 0.99346 0.99044 -0.998292 0.992856 0.994668 0.992856 0.994668 0.998896 1.01581 1.01943 -1.01641 1.01822 1.02004 1.01098 1.01581 1.01762 1.00312 1.02306 -1.01943 1.02366 1.01943 1.01883 1.0146 1.02366 1.01943 1.01641 -1.01218 1.01702 1.01339 1.02004 1.02306 1.01943 1.02487 1.02547 -1.02547 1.02547 1.02185 1.01158 1.02245 1.01279 1.01943 1.0146 -1.02487 1.02608 1.01883 1.02245 1.02547 1.02124 1.02306 1.01581 -1.02547 1.01762 1.01762 1.02124 1.02245 1.02064 1.01883 1.01702 -1.014 1.02245 1.01702 1.01883 1.02366 1.01218 1.00977 0.99346 -1.01037 1.02306 1.02185 1.02789 1.01702 1.01883 1.02849 1.01762 -1.02608 1.00494 0.992856 0.997688 0.991044 0.994064 0.995876 0.99346 -0.99044 0.994064 0.995272 0.99044 0.994064 0.988024 0.989836 0.99044 -0.989836 1.0146 1.02366 1.01641 1.02004 1.02245 1.02608 1.02487 -1.02306 1.01943 1.0146 1.02064 1.01581 1.01762 1.01762 1.02366 -1.01641 1.01702 1.03212 1.0291 1.03574 1.03816 1.0442 1.04903 -0.988628 0.199663 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00301 0 -0.00200667 0 0.00301 0.0100333 0.01505 0 0 0 -0 0 0 0 0 0.00301 0 0.00602 -0.00200667 0 0 0 0.00401333 0.00301 0 0 -0 0 0 0 0 0.00401333 0.0110367 0.00200667 -0 0.00100333 0 0 0 0 0.00501667 0.00100333 -0 0.00501667 0.00200667 0 0.00501667 0.00301 0.00301 0 -0.00501667 0.00301 0.00702333 0.00501667 0 0 0 0 -0.00802667 0.00903 0.00200667 0.00401333 0.00100333 0 0 0 -0.00501667 0.00802667 0.00702333 0.00200667 0 0.00200667 0.00301 0.00903 -0.00401333 0 0 0 0 0.00301 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0311033 0.80808 1.0593 1.05567 -1.04178 1.03091 1.02728 1.02849 1.02849 1.02728 1.02185 1.02064 -1.01943 1.01822 1.02728 1.01702 1.0146 1.014 1.02004 1.01702 -1.02124 1.01883 1.01641 1.02426 1.01581 1.0146 1.014 0.99648 -0.991648 0.994064 0.994668 0.991648 0.986212 0.997688 0.989232 0.986816 -0.992856 0.992856 0.994064 0.991044 0.99346 1.01762 1.01641 1.02487 -1.02064 1.01158 1.01702 1.0152 1.01883 1.00554 1.00494 1.02426 -1.01581 1.01702 1.02245 1.02245 1.01822 1.01581 1.02245 1.02668 -1.02245 1.02789 1.0152 1.02124 1.01943 1.02064 1.02306 1.02064 -1.014 1.0146 1.02064 1.02366 1.03634 1.02668 1.02306 1.00796 -1.0152 1.00614 1.01822 1.01279 1.02426 1.01883 1.0152 1.01581 -1.01762 1.02004 1.02245 1.02004 1.01883 1.01581 1.02306 1.01822 -1.02064 1.02185 1.0152 1.02124 1.01581 1.02064 1.02366 1.014 -0.998896 1.0001 1.02668 1.02366 1.02426 1.02426 1.0146 1.01883 -1.02547 1.01037 0.989836 0.985004 0.98742 0.995876 0.992856 0.982588 -0.992856 0.992856 0.988628 0.991648 0.989232 0.991044 0.991648 1.00252 -0.9995 1.02789 1.0146 1.01581 1.01943 1.02728 1.01762 1.0152 -1.02064 1.0146 1.01702 1.02185 1.01762 1.02366 1.02064 1.02789 -1.02608 1.02789 1.02728 1.02185 1.0297 1.03332 1.03936 1.05386 -1.06352 0.787472 0.02408 0 0 0 0 0 -0 0 0 0 0.00301 0 0 0.00401333 -0 0.00802667 0.00702333 0.00602 0 0 0 0 -0.00501667 0.00602 0.00401333 0.00802667 0.00802667 0.0100333 0.00903 0 -0 0 0.00702333 0.00903 0.00301 0.00200667 0 0.00100333 -0 0.00401333 0.00301 0.00702333 0.0110367 0.00401333 0 0 -0.00100333 0.00200667 0 0 0 0 0.00802667 0.00702333 -0.00301 0 0.00200667 0.00802667 0.00301 0.00401333 0.00100333 0 -0 0 0 0 0 0 0 0.00200667 -0 0 0 0.00401333 0.00401333 0.00802667 0.00200667 0 -0 0 0 0.00200667 0.00602 0.00301 0 0 -0 0.00702333 0.00401333 0 0 0 0 0.00401333 -0 0.00200667 0 0 0 0 0.00100333 0 -0 0 0 0 0.410363 1.04299 1.05084 1.03936 -1.04299 1.0303 1.02487 1.02547 1.02728 1.02547 1.02487 1.02366 -1.01702 1.01702 1.02004 1.02366 1.01883 1.0146 1.01822 1.02124 -1.02306 1.01822 1.02245 1.02426 1.0297 1.0297 1.01339 1.00252 -0.988628 0.991648 0.995876 0.98742 0.989836 0.994064 0.992856 0.992856 -0.989232 0.986816 0.998292 0.992856 1.00494 1.02064 1.01218 1.02004 -1.02668 1.02608 1.02306 1.01339 1.00554 1.00916 1.01822 1.00856 -1.02004 1.01037 1.02487 1.01581 1.02426 1.01702 1.02245 1.02245 -1.01943 1.01883 1.01883 1.02306 1.01702 1.01581 1.02366 1.02487 -1.02306 1.01883 1.02124 1.02306 1.0152 1.00071 0.983192 0.960844 -0.970508 0.966884 0.969904 0.976548 1.0001 1.02185 1.01822 1.02608 -1.0152 1.02124 1.02124 1.0146 1.02064 1.014 1.0303 1.02124 -1.02124 1.02366 1.02728 1.02366 1.01883 1.02668 1.02547 1.02789 -1.02547 1.02004 1.00433 1.01339 1.02366 1.01762 1.02608 1.0291 -1.01943 1.0146 1.00192 0.99346 0.99044 0.995876 0.99044 0.99044 -0.989232 0.99346 0.997688 0.988628 0.988628 0.985004 0.994668 0.9995 -0.994668 1.02064 1.01581 1.02366 1.0152 1.02185 1.01762 1.01883 -1.0146 1.01883 1.02789 1.0152 1.01943 1.02064 1.02185 1.01883 -1.02487 1.01883 1.02306 1.02426 1.02789 1.03574 1.03755 1.04661 -1.05326 1.0454 0.402337 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0 -0.00501667 0.00301 0 0 0 0 0 0.01204 -0.00100333 0 0.00301 0.00903 0 0 0 0 -0 0.00401333 0 0 0 0 0 0 -0.00802667 0.00702333 0.00602 0.00301 0.00200667 0 0 0 -0.00401333 0.00802667 0 0 0 0 0 0.00501667 -0.00602 0.00200667 0 0 0 0.00100333 0.00501667 0.00702333 -0.00802667 0.00401333 0 0 0.00802667 0.00301 0 0 -0.00401333 0 0 0 0 0 0.00702333 0.00401333 -0.00401333 0 0.00301 0.00100333 0.00501667 0.0110367 0.00802667 0.00401333 -0 0 0.00702333 0.00802667 0.00100333 0.00100333 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0.0913033 0.949368 1.05567 1.04118 1.03332 -1.0303 1.03272 1.02608 1.02487 1.02124 1.02064 1.02668 1.01943 -1.01943 1.0146 1.02064 1.02849 1.02306 1.02245 1.01641 1.01702 -1.02789 1.01641 1.00916 1.01581 1.01581 1.02064 1.02789 1.01641 -1.00675 0.9844 0.99044 0.99346 0.986212 0.99044 0.994064 0.992252 -0.997084 0.988628 0.988628 0.997688 1.0152 1.02185 1.01943 1.01702 -1.0146 1.02004 1.01218 1.0146 1.01339 1.02245 1.02487 1.02245 -1.02064 1.01943 1.01762 1.02245 1.01943 1.01218 1.02124 1.01943 -1.02245 1.01641 1.01581 1.02124 1.01883 1.01581 1.01943 1.01883 -1.02306 1.01339 1.02004 1.00856 0.972924 0.967488 0.962656 0.96326 -0.963864 0.966884 0.968092 0.965072 0.963864 0.992856 1.014 1.02185 -1.01822 1.02366 1.02426 1.0146 1.02124 1.0152 1.02366 1.0146 -1.02064 1.01581 1.01822 1.01762 1.01702 1.01702 1.02366 1.014 -1.01702 1.02245 1.0152 0.997688 1.00071 1.01883 1.01943 1.01702 -1.01339 1.01943 1.01822 0.988628 0.99346 0.995272 0.992252 0.99044 -0.998896 0.991648 0.992856 0.994064 0.997688 1.0001 0.994668 1.00071 -1.02306 1.02789 1.02004 1.01702 1.01641 1.02185 1.02185 1.01339 -1.02185 1.0291 1.02245 1.01822 1.01822 1.02185 1.02306 1.02306 -1.02306 1.02064 1.02245 1.02306 1.02426 1.03393 1.03272 1.04359 -1.04178 1.05265 0.949368 0.103343 0 0 0 0 -0 0 0 0 0.00301 0 0 0 -0 0 0 0.00100333 0.00200667 0.0100333 0.00602 0 -0 0.00702333 0 0 0 0 0.00602 0.00802667 -0.00401333 0 0.00200667 0.00401333 0.00903 0.00501667 0.00903 0.0200667 -0.00301 0 0 0 0 0 0 0.00501667 -0.00501667 0 0 0 0 0 0.00301 0 -0 0.00602 0.0100333 0.00702333 0 0.00301 0.00200667 0 -0.00401333 0.00301 0.00301 0.00200667 0 0.00100333 0.00200667 0.00802667 -0.00802667 0.00903 0.0140467 0.01204 0.00401333 0.00200667 0 0.00200667 -0.00301 0 0 0.00301 0 0 0 0.00301 -0.00903 0.00100333 0 0 0 0 0 0 -0 0.00200667 0 0.00501667 0 0 0 0 -0 0 0 0.55083 1.04842 1.05084 1.03695 1.03332 -1.03212 1.03212 1.02245 1.02185 1.02668 1.01943 1.01702 1.01641 -1.02608 1.01762 1.01641 1.01702 1.014 1.02366 1.01581 1.01883 -1.0152 1.02426 1.01943 1.02004 1.01641 1.01581 1.01702 1.02124 -1.0152 1.00554 0.992252 0.991044 0.997084 0.994064 0.99044 0.991648 -0.988024 0.995876 0.99346 1.00675 1.02185 1.01822 1.02789 1.02306 -1.02124 1.00433 1.00916 1.02789 1.01762 1.02124 1.01339 1.01218 -1.02124 1.01762 1.02487 1.01943 1.02487 1.02064 1.02064 1.02004 -1.02124 1.01641 1.01218 1.01883 1.02426 1.01098 1.02426 1.01883 -1.0297 1.01822 1.00312 0.968092 0.966884 0.956012 0.961448 0.963864 -0.965072 0.961448 0.965072 0.966884 0.965676 0.969904 0.98138 1.01943 -1.02728 1.02124 1.02004 1.01641 1.02547 1.02366 1.02124 1.02547 -1.02245 1.03272 1.01581 1.01641 1.01943 1.01822 1.01762 1.02245 -1.01339 1.02608 1.01762 1.02064 1.00312 1.00977 1.01822 1.01581 -1.01943 1.02245 1.01339 1.01762 0.995272 0.99044 0.988024 0.997688 -0.992252 0.986816 0.989232 0.986816 0.9995 0.985004 0.983796 1.01581 -1.02004 1.01581 1.01339 1.01581 1.01641 1.01581 1.01762 1.01883 -1.0152 1.01641 1.0152 1.01762 1.02426 1.01943 1.01943 1.02306 -1.01943 1.01339 1.02245 1.02124 1.02366 1.03091 1.02366 1.03212 -1.0442 1.05144 1.05144 0.55083 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00501667 0 0 0 0 0.00401333 -0.00301 0 0 0.00802667 0.00501667 0.00602 0 0 -0 0 0 0 0 0.00401333 0.00100333 0 -0 0 0 0 0 0.00401333 0.0110367 0.00301 -0.00100333 0.00100333 0.00301 0 0 0 0 0.00301 -0 0 0 0 0.00100333 0 0 0 -0 0 0.00100333 0 0 0 0.00301 0 -0 0 0 0 0 0 0.00501667 0 -0 0 0 0 0.00301 0.00200667 0.00301 0 -0 0.00702333 0.00903 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.154513 0.983192 1.05628 1.04722 1.03816 1.03212 -1.02487 1.02487 1.03634 1.02306 1.01943 1.02366 1.01943 1.01883 -1.01822 1.02547 1.02124 1.01822 1.01822 1.01339 1.01581 1.01883 -1.01702 1.01943 1.02245 1.02487 1.01943 1.01581 1.01641 1.01762 -1.03091 1.02245 1.00796 0.998292 0.992252 0.994668 0.992856 0.98742 -0.991648 1.00735 1.03272 1.0146 1.02124 1.02064 1.02608 1.0152 -1.00735 1.01279 1.0146 1.01158 1.01702 1.01822 1.02245 1.02245 -1.02306 1.014 1.014 1.00796 1.02124 1.02185 1.0146 1.02487 -1.02366 1.02547 1.01883 1.01883 1.014 1.02064 1.02487 1.02245 -1.02245 1.01218 0.971112 0.962656 0.963864 0.952388 0.966884 0.96628 -0.97232 0.968696 0.971112 0.964468 0.966884 0.96326 0.966884 0.981984 -1.0146 1.02064 1.0152 1.02124 1.02004 1.0146 1.01702 1.014 -1.01822 1.01641 1.01581 1.01883 1.01098 1.01098 1.01641 1.02064 -1.02004 1.02245 1.02306 1.02004 1.02849 1.00675 0.998896 1.014 -1.02728 1.02426 1.0291 1.0146 1.0152 0.997084 0.989836 0.983192 -0.985004 0.994668 0.99648 0.992252 0.997084 1.00131 1.02306 1.02185 -1.02306 1.01702 1.02426 1.02185 1.02487 1.02064 1.02547 1.01218 -1.0152 1.02306 1.0152 1.01641 1.02185 1.02064 1.01581 1.01702 -1.01158 1.01762 1.03212 1.02366 1.02124 1.02789 1.02849 1.03393 -1.04057 1.03997 1.0605 0.997084 0.15953 0 0 0 -0 0 0 0 0 0 0.00100333 0.00100333 -0 0 0 0 0.00100333 0.00903 0.0100333 0 -0 0 0.00903 0 0 0 0.00200667 0.00301 -0.00602 0.00602 0.00802667 0.00301 0.00100333 0 0 0 -0.00602 0 0.00401333 0.00702333 0.00602 0.00802667 0 0 -0 0 0.00100333 0 0 0.0100333 0.00702333 0.00501667 -0.00401333 0.00301 0 0 0.00100333 0.00100333 0 0 -0 0.00100333 0 0 0 0 0 0 -0.00200667 0.00100333 0 0 0 0 0.00301 0.00401333 -0 0 0.00702333 0 0.00100333 0.00501667 0.00401333 0.0130433 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.593973 1.0605 1.0448 1.03453 1.03816 1.03212 -1.0291 1.02306 1.02124 1.02366 1.02245 1.01943 1.01762 1.02185 -1.01641 1.01762 1.02004 1.01762 1.01762 1.02124 1.01581 1.02306 -1.01943 1.01702 1.01641 1.0152 1.01822 1.01943 1.0303 1.02004 -1.00916 1.02487 1.01037 1.01702 1.0152 1.00675 1.0146 1.01762 -1.01762 1.01883 1.01581 1.02789 1.0146 1.02004 1.01218 0.998292 -1.01702 1.02245 1.02366 1.02064 1.02668 1.02306 1.02245 1.01943 -1.02306 1.02608 1.02728 1.01883 1.01822 1.02547 1.014 1.01279 -1.02124 1.01883 1.02124 1.02366 1.01641 1.02064 1.01883 1.02728 -1.01822 0.9844 0.964468 0.971112 0.963864 0.968696 0.968092 0.972924 -0.965072 0.9693 0.967488 0.959636 0.973528 0.969904 0.971716 0.967488 -1.01702 1.02245 1.01581 1.02728 1.02185 1.01581 1.02608 1.01279 -1.02185 1.02547 1.01218 1.02306 1.01581 1.01883 1.02608 1.02306 -1.014 1.02064 1.00614 1.02487 1.0146 1.01943 1.00252 0.995876 -1.0146 1.01641 1.0146 1.02608 1.02426 1.02185 1.00796 0.997084 -1.00614 1.0001 0.99648 1.00796 1.01943 1.01702 1.02124 1.01883 -1.02487 1.02668 1.01943 1.014 1.01037 1.02245 1.02064 1.01158 -1.02185 1.01943 1.01702 1.01158 1.02245 1.0146 1.00916 1.02064 -1.02366 1.02124 1.0152 1.01702 1.01883 1.02728 1.02608 1.0291 -1.03634 1.03876 1.05024 1.05446 0.630336 0 0 0 -0 0 0 0 0 0.00702333 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00401333 0 0 0.00200667 -0 0 0 0 0 0.00401333 0.00602 0.00903 -0.00401333 0.00702333 0.00301 0 0.00702333 0 0.00100333 0.00301 -0.00501667 0.00702333 0.00903 0 0 0.00903 0.00501667 0.00200667 -0.00100333 0.00200667 0.00200667 0.00200667 0.00602 0.00802667 0.0140467 0.00903 -0.00903 0.00702333 0.00602 0.00301 0.00200667 0 0 0 -0 0.00100333 0.00602 0.00702333 0.00401333 0.00100333 0 0.00100333 -0.00903 0 0 0.00501667 0 0 0 0 -0.00100333 0.0140467 0.00903 0.00100333 0.00602 0.00401333 0 0.0100333 -0.0100333 0 0 0 0 0 0 0 -0 0.16555 0.99648 1.05688 1.04903 1.04359 1.03393 1.03091 -1.03332 1.02487 1.02668 1.02306 1.02366 1.02366 1.01762 1.01943 -1.02004 1.01702 1.01702 1.0152 1.0152 1.0146 1.02366 1.02426 -1.02064 1.02426 1.02124 1.01822 1.02608 1.01943 1.02245 1.02547 -1.02064 1.02124 1.02789 1.02004 1.02608 1.01702 1.02306 1.02668 -1.02004 1.02185 1.02004 1.02366 1.02608 1.00977 0.985004 1.00735 -1.02547 1.02064 1.01943 1.02124 1.0146 1.0146 1.01581 1.02064 -1.014 1.02426 1.0146 1.02004 1.0146 1.02426 1.02245 1.01158 -1.02789 1.01581 1.0146 1.02487 1.03091 1.01822 1.02366 1.02849 -1.02306 0.977756 0.966884 0.965676 0.971716 0.965676 0.961448 0.971112 -0.971112 0.968696 0.965072 0.962052 0.962052 0.960844 0.954804 0.955408 -0.994064 1.02124 1.02849 1.01158 1.01943 1.02608 1.0146 1.02306 -1.02668 1.01581 1.01641 1.01883 1.02064 1.0146 1.01943 1.02064 -1.01943 1.02064 1.02185 1.02728 1.02668 1.02487 1.02789 1.00614 -0.992856 1.01279 1.02608 1.02608 1.02487 1.01702 1.02185 1.02789 -1.02789 1.02185 1.01641 1.02547 1.02366 1.01218 1.02728 1.01641 -1.02064 1.0152 1.0152 1.01762 1.02487 1.02366 1.01943 1.01581 -1.01098 1.01641 1.02245 1.02245 1.01641 1.02064 1.02306 1.02366 -1.01943 1.01339 1.0291 1.02306 1.02668 1.02185 1.02306 1.02728 -1.03332 1.04057 1.04601 1.06111 0.994064 0.172573 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0.00602 0.00100333 0.00200667 0.00100333 -0.00301 0.00401333 0 0 0 0 0 0 -0 0 0 0 0.00401333 0.00200667 0 0 -0 0 0 0.00200667 0 0.00200667 0.00200667 0.00200667 -0.00401333 0.00301 0.00200667 0 0 0 0.00301 0.00702333 -0 0 0.00100333 0 0 0 0 0 -0 0 0.00200667 0.00100333 0 0 0.00200667 0 -0 0 0 0.00301 0.00602 0.00401333 0.00301 0 -0 0.00802667 0.00100333 0 0.00301 0 0 0 -0 0 0 0.00501667 0 0 0 0 -0 0.00100333 0 0 0 0 0 0 -0 0.569893 1.05748 1.0442 1.03695 1.03151 1.03212 1.02426 -1.02124 1.0297 1.02789 1.02366 1.01762 1.02124 1.02306 1.01883 -1.02124 1.01581 1.01641 1.02064 1.02064 1.01641 1.02185 1.02185 -1.01883 1.01158 1.01822 1.01098 1.01098 1.01279 1.01762 1.0146 -1.01822 1.01641 1.01762 1.01822 1.02306 1.02366 1.02426 1.02366 -1.02004 1.02245 1.01943 1.02306 1.02185 0.989232 1.01218 1.02124 -1.02306 1.014 1.02245 1.02245 1.02849 1.0152 1.02004 1.01762 -1.02306 1.02487 1.02728 1.01279 1.014 1.02124 1.01943 1.01883 -1.0146 1.02366 1.01158 1.02547 1.01822 1.01158 1.01822 1.02004 -1.0152 0.962656 0.968696 0.965072 0.964468 0.966884 0.97232 0.971112 -0.961448 0.960844 0.96628 0.962656 0.9693 0.965676 0.970508 0.9693 -0.9844 1.03634 1.02608 1.01037 1.02306 1.01702 1.01641 1.02426 -1.02487 1.01702 1.01943 1.02366 1.02124 1.01762 1.01218 1.02245 -1.01641 1.02245 1.014 1.02245 1.02004 1.02608 1.02185 1.02487 -1.01641 0.994064 1.02487 1.014 1.01702 1.01822 1.02185 1.02064 -1.02547 1.01762 1.01218 1.01641 1.02064 1.02366 1.01943 1.0146 -1.0146 1.02426 1.01822 1.01822 1.02124 1.02306 1.02004 1.02185 -1.01822 1.02728 1.02366 1.00856 1.02185 1.02185 1.01822 1.02004 -1.0146 1.0146 1.02004 1.02245 1.02608 1.02426 1.02306 1.0297 -1.03574 1.03574 1.03876 1.05024 1.05446 0.584943 0 0 -0 0 0 0 0 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0.00301 0.00100333 0 0.00903 0.00602 0.00200667 -0 0.00200667 0.00401333 0.00301 0 0.00100333 0.00100333 0 -0 0.00301 0 0.00100333 0.00200667 0 0.00401333 0.00301 -0.00100333 0.00401333 0.00401333 0 0 0.0110367 0.00501667 0.00501667 -0.01204 0.0100333 0.00301 0.00301 0.00100333 0.00100333 0.00602 0.00301 -0 0 0 0.00100333 0.00602 0 0 0.00401333 -0.00100333 0 0 0 0 0 0.00100333 0 -0 0 0.00702333 0 0 0 0.00100333 0.00301 -0.00301 0.00501667 0 0.00401333 0.00301 0.00501667 0.00401333 0.00100333 -0 0 0 0 0 0 0 0 -0.12642 0.985608 1.05205 1.0454 1.03453 1.03151 1.02245 1.02789 -1.02004 1.01641 1.0146 1.01883 1.01279 1.01218 1.01943 1.01762 -1.02064 1.02185 1.02064 1.01218 1.02426 1.01943 1.0152 1.01641 -1.02426 1.02426 1.02426 1.02306 1.02668 1.014 1.02064 1.02124 -1.01943 1.02789 1.02487 1.02487 1.02064 1.01762 1.02306 1.01158 -1.02064 1.02185 1.02185 1.0146 0.994064 1.01158 1.02849 1.01702 -1.02366 1.02306 1.02306 1.01943 1.01943 1.02064 1.01339 1.02004 -1.01943 1.02245 1.02004 1.01762 1.02124 1.01581 1.01339 1.02487 -1.02064 1.02306 1.03091 1.02004 1.0303 1.02608 1.02668 1.02547 -1.00252 0.97836 0.964468 0.979568 0.965676 0.975944 0.960844 0.955408 -0.965072 0.968696 0.973528 0.969904 0.9693 0.963864 0.962052 0.96326 -0.97232 1.02487 1.01883 1.01822 1.02245 1.02487 1.01279 1.02426 -1.02064 1.0146 1.01641 1.02426 1.01339 1.02426 1.02245 1.02185 -1.01702 1.02608 1.02366 1.01943 1.02245 1.02487 1.02185 1.0291 -1.02245 1.00554 1.00494 1.01641 1.02366 1.01883 1.02789 1.01762 -1.0152 1.01943 1.01158 1.01943 1.02064 1.01098 1.01218 1.01762 -1.02487 1.0146 1.02547 1.02306 1.00916 1.01339 1.01822 1.01641 -1.01883 1.02366 1.02547 1.01762 1.02366 1.01883 1.01822 1.02064 -1.01641 1.02004 1.02185 1.01822 1.02245 1.02004 1.02245 1.0303 -1.03272 1.03453 1.03272 1.04782 1.05265 0.994064 0.124413 0 -0 0 0 0 0 0 0 0.00100333 -0.00501667 0.00100333 0.00802667 0.00802667 0.00702333 0.00501667 0.00602 0 -0.00200667 0 0 0 0.00301 0 0 0 -0.00702333 0.00501667 0 0 0.00200667 0.00100333 0.00100333 0.00301 -0.00100333 0 0 0 0.00200667 0.00401333 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0.00401333 0.00602 0.00301 0.00100333 0.00200667 0.00602 -0.00702333 0.00401333 0.00501667 0.00401333 0 0.0130433 0 0 -0.00301 0.00301 0 0 0 0 0 0 -0 0 0 0.0100333 0.0110367 0.00903 0.00200667 0.00100333 -0.00702333 0 0 0 0.00200667 0.00802667 0 0 -0 0 0 0 0 0 0 0 -0.47859 1.05567 1.05326 1.03936 1.03151 1.03151 1.03091 1.02306 -1.02547 1.02547 1.02064 1.01883 1.02064 1.02124 1.01822 1.0146 -1.01762 1.014 1.01581 1.0146 1.01037 1.02004 1.01702 1.01943 -1.02064 1.0146 1.02245 1.01762 1.00977 1.0152 1.02245 1.01762 -1.014 1.01702 1.01037 1.02487 1.01762 1.02366 1.02124 1.02366 -1.02004 1.02366 1.02366 0.995272 1.00675 1.01883 1.02064 1.02245 -1.02366 1.02004 1.01641 1.01883 1.0146 1.01943 1.02064 1.03574 -1.03997 1.0454 1.05386 1.04057 1.05084 1.02608 1.0152 1.01218 -1.01702 1.03212 1.03091 1.03151 1.02124 1.02487 1.01581 1.01641 -1.00735 0.966884 0.965072 0.968696 0.967488 0.965072 0.971716 0.97534 -0.967488 0.9693 0.969904 0.971112 0.971716 0.970508 0.964468 0.959032 -0.981984 1.01702 1.02064 1.02185 1.02124 1.02185 1.02306 1.01702 -1.01218 1.01641 1.01883 1.01883 1.02426 1.02728 1.01339 1.0146 -1.01822 1.02245 1.014 1.01822 1.01943 1.0146 1.02487 1.01702 -1.01822 1.02426 1.00735 1.00131 1.01762 1.02064 1.02004 1.014 -1.0146 1.01279 1.02245 1.01943 1.02789 1.01762 1.02608 1.02487 -1.02185 1.02366 1.01822 1.01279 1.02366 1.02245 1.02004 1.02124 -1.01702 1.0152 1.01883 1.01702 1.01943 1.02185 1.01339 1.01822 -1.02487 1.02245 1.02608 1.02004 1.01702 1.02185 1.01702 1.01883 -1.02849 1.02668 1.04057 1.04057 1.05205 1.05386 0.48461 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0 0 0 -0 0 0.00401333 0.00802667 0 0 0 0.00401333 -0 0 0 0.00602 0.00702333 0 0 0.00100333 -0.00100333 0.00301 0.00301 0.00802667 0 0 0 0 -0.00200667 0.00100333 0.00200667 0 0 0.00501667 0 0.00100333 -0.00301 0 0 0.00200667 0.00501667 0.00200667 0 0 -0 0 0 0 0.00301 0 0.0100333 0.00702333 -0 0.00100333 0.00602 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0491633 -0.926416 1.05507 1.04178 1.04057 1.03393 1.02608 1.02124 1.02426 -1.01641 1.02004 1.02487 1.03212 1.02245 1.01702 1.02185 1.01762 -1.01943 1.02064 1.02668 1.0303 1.02245 1.01822 1.01883 1.02426 -1.02245 1.014 1.01943 1.02124 1.02306 1.0146 1.01883 1.02487 -1.01762 1.01822 1.02064 1.01943 1.0152 1.01762 1.02366 1.01822 -1.02547 1.01943 0.9995 1.00131 1.02306 1.02668 1.01702 1.02004 -1.01822 1.02366 1.01702 1.01943 1.02487 1.02306 1.04057 1.04057 -1.05024 1.03574 1.0454 1.04661 1.04903 1.05326 1.0442 1.03091 -1.0146 1.01943 1.01822 1.02124 1.01822 1.014 1.02124 1.02728 -1.01822 0.968696 0.9693 0.957824 0.962656 0.96628 0.97232 0.9693 -0.961448 0.96326 0.96628 0.968696 0.966884 0.970508 0.96326 0.967488 -0.991044 1.014 1.02608 1.01762 1.02124 1.01158 1.02306 1.01883 -1.01943 1.01883 1.02064 1.014 1.0146 1.01158 1.00554 1.01822 -1.01943 1.02124 1.02185 1.02185 1.02487 1.02004 1.02426 1.01581 -1.0291 1.0152 1.01702 1.00554 1.0146 1.01158 1.01641 1.01702 -1.02608 1.02608 1.01762 1.02004 1.02064 1.02064 1.01943 1.01158 -1.0297 1.01883 1.0152 1.02306 1.02004 1.01943 1.02064 1.01762 -1.02547 1.01883 1.01279 1.01218 1.01702 1.01822 1.01641 1.02124 -1.01581 1.01279 1.0152 1.01279 1.02064 1.02064 1.02487 1.03091 -1.0303 1.0303 1.03151 1.03091 1.0442 1.0599 0.93004 0.0531767 -0 0 0 0 0 0 0 0 -0.00501667 0.00200667 0 0 0 0 0 0.0100333 -0.00602 0.00903 0 0 0 0.00301 0.00702333 0.00401333 -0.00100333 0.00501667 0.00802667 0.00100333 0 0 0 0 -0 0.00100333 0 0 0 0 0.00301 0.00602 -0.00602 0.00602 0.00702333 0.00903 0 0 0 0 -0 0 0 0 0 0.00200667 0.00602 0.00501667 -0.00301 0 0.00100333 0.00100333 0 0 0 0.00602 -0.00602 0.00200667 0 0 0.00903 0.00802667 0.00401333 0 -0.00200667 0.00602 0.00100333 0.00100333 0.00702333 0.0110367 0.00100333 0 -0.00401333 0.00200667 0 0 0.00200667 0 0 0 -0 0 0 0 0 0 0 0.29197 -1.03634 1.04359 1.03634 1.0291 1.02426 1.02789 1.02547 1.02185 -1.02668 1.02728 1.01218 1.0152 1.01943 1.02366 1.02004 1.0291 -1.02366 1.01702 1.02124 1.02366 1.01037 1.02487 1.01822 1.01822 -1.02366 1.02124 1.01762 1.01641 1.0297 1.02789 1.02366 1.02547 -1.02124 1.0146 1.02245 1.01158 1.0146 1.02185 1.02185 1.02245 -1.02306 1.01883 0.981984 1.02064 1.02366 1.02124 1.02004 1.02426 -1.02487 1.01702 1.01279 1.01037 1.02668 1.04842 1.04601 1.04782 -1.05024 1.0454 1.04722 1.04238 1.04722 1.04963 1.04661 1.04782 -1.03091 1.01641 1.02124 1.01339 1.02064 1.0146 1.01702 1.02547 -1.02849 0.98138 0.95722 0.962052 0.962052 0.956012 0.965676 0.967488 -0.973528 0.962656 0.96024 0.971112 0.9693 0.964468 0.968092 0.976548 -1.01098 1.02306 1.01822 1.02064 1.02185 1.00675 1.01762 1.02306 -1.01641 1.01279 1.01762 1.0297 1.04057 1.04963 1.04238 1.03514 -1.02728 1.01218 1.01883 1.02124 1.01822 1.00856 1.02366 1.0291 -1.00916 1.02124 1.02064 1.03091 1.01279 1.01702 1.02728 1.02004 -1.02306 1.02245 1.02728 1.02306 1.02426 1.01702 1.01581 1.02004 -1.02124 1.02124 1.02426 1.0146 1.01943 1.02668 1.02547 1.02789 -1.01158 1.01339 1.02185 1.02306 1.02547 1.01883 1.01883 1.01702 -1.02064 1.02487 1.02366 1.01581 1.02306 1.02004 1.02124 1.02306 -1.01943 1.02728 1.02366 1.03574 1.04963 1.05326 1.03755 0.312037 -0 0 0 0 0 0 0 0.00301 -0 0 0 0 0 0.00200667 0.0100333 0.0110367 -0.00301 0 0.00602 0.00401333 0.00501667 0.00602 0.00903 0 -0.00501667 0.00702333 0 0 0.00200667 0.00100333 0.00100333 0.00501667 -0.00501667 0 0 0.00200667 0.00501667 0.00401333 0.00903 0.00702333 -0.00501667 0.00501667 0.00501667 0.00501667 0 0.00702333 0.00401333 0.00301 -0 0 0.00200667 0.00200667 0 0 0 0.00602 -0 0.00100333 0.00200667 0 0 0 0 0 -0 0.00401333 0.00501667 0.00200667 0 0 0.00401333 0 -0 0 0.00100333 0 0 0 0.00401333 0.00401333 -0.00501667 0.00301 0 0.00602 0.00200667 0.00401333 0.00602 0 -0 0 0 0 0 0 0 0.714056 -1.06715 1.05265 1.04601 1.03091 1.0303 1.02547 1.0152 1.01943 -1.01702 1.02487 1.02004 1.01943 1.02124 1.01702 1.02064 1.01943 -1.01883 1.01641 1.01822 1.02185 1.02245 1.01943 1.01581 1.02124 -1.02426 1.02668 1.02004 1.01581 1.01581 1.01822 1.02124 1.02245 -1.02004 1.02426 1.01339 1.02064 1.01641 1.00796 1.01279 1.01218 -1.01279 0.985608 1.01279 1.02064 1.02668 1.01339 1.02185 1.01943 -1.02245 1.0146 1.02366 1.02789 1.04359 1.04842 1.04601 1.0442 -1.04118 1.03936 1.04118 1.03997 1.0448 1.05265 1.04661 1.04661 -1.04238 1.02487 1.01581 1.01098 1.01943 1.02004 1.01581 1.01702 -1.02668 1.00373 0.96326 0.971716 0.965676 0.961448 0.967488 0.972924 -0.963864 0.966884 0.96024 0.960844 0.967488 0.961448 0.963864 0.974132 -1.02064 1.02547 1.02004 1.01762 1.01762 1.02608 1.02366 1.01581 -1.01581 1.03151 1.04299 1.0454 1.04178 1.04963 1.05144 1.05326 -1.05205 1.03936 1.01581 1.01218 1.02306 1.02366 1.02608 1.02064 -1.02185 1.02004 1.03091 1.02064 1.02366 1.01158 1.02064 1.0152 -1.02064 1.02487 1.02004 1.0146 1.02426 1.02064 1.02064 1.01339 -1.01702 1.0152 1.01762 1.01762 1.02789 1.01883 1.01218 1.00675 -1.01037 1.01641 1.01762 1.02124 1.01158 1.00916 1.01279 1.01702 -1.0146 1.01762 1.01581 1.0146 1.01883 1.01641 1.02064 1.02426 -1.02366 1.02728 1.03091 1.04299 1.03695 1.04359 1.05084 0.689584 -0 0 0 0 0.00401333 0 0 0 -0 0.00401333 0.00200667 0 0 0.00200667 0 0 -0 0 0 0 0.00200667 0.00501667 0 0.00401333 -0.00100333 0 0 0.00501667 0 0 0.00100333 0 -0.00301 0 0 0.00903 0.00802667 0.00802667 0.00401333 0 -0 0 0 0 0.00100333 0 0 0 -0.00100333 0.00301 0.00200667 0 0.00602 0.00702333 0 0 -0.00602 0.0100333 0.00501667 0.00602 0.00200667 0 0 0 -0 0 0 0.00100333 0.00401333 0.00401333 0.00301 0.00100333 -0 0 0.00301 0.00401333 0.00401333 0.00100333 0 0 -0 0.00401333 0 0 0.00200667 0 0 0.00100333 -0 0 0 0 0 0 0.0953167 0.977152 -1.05628 1.0454 1.03755 1.03876 1.03091 1.0297 1.0297 1.01822 -1.02366 1.01581 1.02306 1.01762 1.01943 1.01037 1.01883 1.0152 -1.02004 1.014 1.02004 1.01641 1.02306 1.02185 1.02245 1.01883 -1.02004 1.01883 1.01339 1.0152 1.01279 1.02004 1.01943 1.02245 -1.01822 1.01339 1.02547 1.02124 1.02245 1.02608 1.02487 1.0146 -0.989836 1.00554 1.01883 1.02849 1.02004 1.02366 1.00916 1.02849 -1.02064 1.0146 1.02245 1.03332 1.04903 1.04299 1.03936 1.05265 -1.03936 1.04299 1.05024 1.04359 1.03574 1.05084 1.04842 1.0454 -1.04359 1.0442 1.02245 1.01641 1.0152 1.02789 1.02245 1.02185 -1.02306 1.02547 0.99346 0.971716 0.97534 0.961448 0.965676 0.9693 -0.959032 0.965072 0.968696 0.962052 0.972924 0.97232 0.978964 1.0152 -1.03393 1.02668 1.01762 1.02426 1.02426 1.01943 1.0152 1.01943 -1.03936 1.04903 1.04601 1.04722 1.03695 1.0454 1.03876 1.04661 -1.04601 1.0599 1.04118 1.02608 1.02185 1.02124 1.01158 1.01218 -1.01943 1.02004 1.01218 1.02306 1.02668 1.01822 1.01218 1.02608 -1.02487 1.01581 1.01339 1.01762 1.02426 1.00614 1.00675 1.01702 -1.02124 1.02366 1.02849 1.0291 1.02426 1.02064 1.01822 1.02185 -1.0146 1.02004 1.02124 1.0146 1.0146 1.01883 1.02789 1.01702 -1.02366 1.02004 1.0297 1.02426 1.02245 1.02124 1.02668 1.02306 -1.02366 1.01883 1.02849 1.02789 1.0303 1.04118 1.05869 0.978964 -0.10836 0 0 0 0 0 0 0.00301 -0 0.00301 0.00301 0.00301 0.00501667 0.00702333 0 0.00100333 -0.00702333 0 0 0.00702333 0.00100333 0 0 0 -0 0.00100333 0 0 0.00200667 0.00401333 0 0 -0 0 0.00602 0 0 0 0.00100333 0 -0 0.00501667 0.00301 0.00903 0.00903 0.0130433 0.01505 0.00802667 -0.00301 0.00501667 0.00100333 0 0 0 0 0 -0 0 0 0 0 0.00501667 0.00702333 0 -0.00401333 0 0 0 0 0 0 0.00200667 -0 0 0 0 0 0 0 0.00401333 -0.00301 0.00200667 0.00802667 0 0 0.00501667 0 0 -0 0 0 0 0 0 0.36421 1.04661 -1.0454 1.03997 1.03755 1.03514 1.03634 1.02728 1.02064 1.01943 -1.02728 1.02185 1.01943 1.0146 1.02366 1.01641 1.01943 1.01883 -1.02426 1.02185 1.0152 1.01762 1.01943 1.01943 1.02245 1.01581 -1.02185 1.01762 1.02306 1.02124 1.02306 1.02004 1.02245 1.02004 -1.02547 1.02245 1.02426 1.02426 1.0146 1.02064 1.0291 1.01702 -0.997688 1.02608 1.02306 1.01943 1.0297 1.02245 1.02185 1.0152 -1.0152 1.01762 1.02004 1.03876 1.04842 1.04118 1.04057 1.04299 -1.04178 1.0442 1.04601 1.05688 1.04601 1.04178 1.04722 1.04842 -1.05205 1.04359 1.00856 1.02185 1.02185 1.02004 1.03393 1.02064 -1.02064 1.01943 1.0297 0.982588 0.962052 0.96326 0.970508 0.96628 -0.968092 0.965676 0.9693 0.960844 0.970508 0.974736 1.00131 1.02487 -1.0297 1.02064 1.01883 1.02245 1.02245 1.01641 1.02004 1.03695 -1.04178 1.04238 1.04661 1.0442 1.04178 1.04601 1.03876 1.05265 -1.05748 1.04299 1.05265 1.04601 1.02185 1.01883 1.02064 1.02728 -1.02004 1.0146 1.0152 1.01762 1.01641 1.014 1.01702 1.02728 -1.0152 1.02004 1.02849 1.02487 1.01822 1.014 1.02849 1.02668 -1.01883 1.01883 1.01762 1.01339 1.02004 1.01822 1.02306 1.01641 -1.01822 1.02547 1.01762 1.01883 1.01822 1.02547 1.014 1.01702 -1.02124 1.02064 1.01037 1.0152 1.014 1.02608 1.02487 1.02547 -1.02547 1.02668 1.0297 1.03332 1.03755 1.03997 1.04963 1.04963 -0.371233 0 0 0 0 0 0 0 -0 0.00100333 0 0.00100333 0.00200667 0 0.00200667 0.00501667 -0 0.00200667 0.00200667 0 0 0.00200667 0 0.00100333 -0.00501667 0 0.00100333 0 0 0 0 0 -0.00301 0.00702333 0.00200667 0.00301 0.00200667 0 0 0.00602 -0.00200667 0.00200667 0.00200667 0.00401333 0.00301 0 0 0.00501667 -0.00301 0.00301 0.00200667 0.00501667 0 0 0.00200667 0.00100333 -0.00301 0 0 0 0.00301 0 0.00200667 0 -0 0.00200667 0.00401333 0.00301 0.00200667 0.00301 0 0.00100333 -0.0110367 0.0100333 0.00401333 0 0 0.00200667 0.00401333 0 -0 0 0 0.00802667 0 0 0 0 -0 0 0 0 0 0 0.690872 1.06111 -1.05144 1.03695 1.03212 1.02487 1.02728 1.0297 1.02608 1.02426 -1.01581 1.01883 1.01822 1.01762 1.02004 1.00916 1.0146 1.0146 -1.02426 1.02124 1.01279 1.014 1.0146 1.01581 1.01581 1.0146 -1.01883 1.01883 1.01762 1.01762 1.01158 1.01339 1.02426 1.0146 -1.01822 1.02728 1.02185 1.02064 1.01822 1.02366 1.0146 0.995876 -1.01762 1.02306 1.02124 1.01098 1.0146 1.02728 1.02789 1.01883 -1.01943 1.02306 1.02004 1.0442 1.05144 1.04903 1.05024 1.04601 -1.05205 1.05144 1.0448 1.04842 1.03695 1.05144 1.04601 1.05024 -1.04963 1.04359 1.01822 1.01641 1.02547 1.00735 1.01822 1.03091 -1.01822 1.02366 1.0303 1.02487 0.983796 0.977756 0.961448 0.972924 -0.971112 0.966884 0.965072 0.962656 0.978964 1.0146 1.01641 1.03272 -1.01883 1.02487 1.01762 1.02245 1.0291 1.02849 1.02849 1.04299 -1.05748 1.0454 1.05446 1.04903 1.04299 1.04238 1.04238 1.04178 -1.03393 1.04238 1.03997 1.04722 1.03876 1.02124 1.01883 1.02064 -1.01702 1.02789 1.0146 1.02306 1.02185 1.02728 1.01943 1.00252 -1.0146 1.02185 1.02124 1.014 1.02608 1.02487 1.01702 1.0146 -1.01822 1.02306 1.02547 1.01641 1.02608 1.02004 1.01702 1.02185 -1.01339 1.01883 1.02366 1.0146 1.0146 1.00977 1.01702 1.01762 -1.01158 1.01158 1.02487 1.02064 1.01581 1.01822 1.01702 1.01702 -1.02547 1.01883 1.02487 1.03212 1.0297 1.03936 1.04963 1.05386 -0.728224 0 0 0 0 0 0 0 -0.00702333 0 0 0 0.00903 0.00200667 0 0 -0.00200667 0.00200667 0 0.00200667 0 0.00100333 0 0.00802667 -0 0.00401333 0 0 0 0.00903 0.0100333 0.0100333 -0.00401333 0 0 0 0 0.00602 0.00200667 0 -0 0.00602 0.00301 0.00702333 0.00802667 0.00401333 0.00100333 0 -0.00200667 0.00301 0.00602 0.00200667 0 0.00200667 0 0.00802667 -0.00802667 0.0110367 0.01204 0.00301 0 0 0.00200667 0.00602 -0.00200667 0 0.00100333 0.00501667 0.00200667 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.06923 0.96326 1.04661 -1.0442 1.03695 1.0291 1.02849 1.02366 1.02306 1.02487 1.02366 -1.02668 1.02487 1.01762 1.01822 1.02245 1.02849 1.01883 1.01943 -1.01943 1.02124 1.02064 1.02185 1.02426 1.02487 1.02064 1.02064 -1.01943 1.01641 1.02064 1.0303 1.01883 1.01037 1.0146 1.01883 -1.01883 1.01218 1.02064 1.02245 1.01762 1.02547 1.0001 1.01037 -1.01822 1.02185 1.02185 1.02185 1.02487 1.02004 1.01943 1.03332 -1.02124 1.02487 1.03393 1.04601 1.03695 1.03091 1.04903 1.0448 -1.0454 1.0442 1.04299 1.04057 1.04359 1.0442 1.04903 1.05205 -1.05386 1.05024 1.03514 1.02185 1.0303 1.02849 1.01581 1.02306 -1.02185 1.02366 1.02487 1.02185 1.01883 1.01883 0.988628 0.977152 -0.983192 0.989836 0.991044 1.01158 1.01702 1.02124 1.02306 1.01702 -1.0146 1.02124 1.02185 1.0291 1.01762 1.01702 1.01762 1.04782 -1.04118 1.04118 1.03816 1.04238 1.05024 1.05446 1.04661 1.04903 -1.0605 1.05084 1.04842 1.04359 1.04782 1.02426 1.02366 1.01218 -1.01883 1.02547 1.02849 1.0291 1.01762 1.01702 1.0303 1.00373 -1.00916 1.01702 1.0146 1.01943 1.02064 1.02124 1.01943 1.02004 -1.0152 1.0152 1.02426 1.01581 1.01037 1.02004 1.0152 1.01943 -1.02306 1.01883 1.02124 1.02668 1.02426 1.02306 1.02487 1.02306 -1.02245 1.01702 1.01641 1.01702 1.02064 1.02547 1.02487 1.02366 -1.0152 1.01762 1.02245 1.02608 1.02849 1.03936 1.0448 1.05326 -0.974736 0.09331 0 0 0 0 0 0 -0 0 0.00100333 0.00100333 0 0 0 0.00401333 -0 0 0 0 0.00100333 0.00401333 0.00200667 0 -0 0 0 0 0.0100333 0.00702333 0.00200667 0 -0 0 0 0.00401333 0 0 0 0 -0.00200667 0 0.00301 0.00200667 0 0 0.00200667 0 -0 0.00401333 0.00200667 0.00602 0.00501667 0.00200667 0.00301 0 -0 0.00100333 0.00200667 0.00401333 0.00501667 0.00200667 0 0 -0.00702333 0.00602 0 0 0.00200667 0.00301 0 0 -0 0.00200667 0.00501667 0 0.00200667 0.00501667 0.00602 0 -0.00602 0.00802667 0 0 0 0 0 0 -0 0 0 0 0 0.248827 1.03755 1.05326 -1.04118 1.0303 1.03574 1.02487 1.02366 1.02789 1.01883 1.01762 -1.01822 1.02366 1.02306 1.01883 1.01883 1.01883 1.01883 1.01158 -1.01641 1.02306 1.02185 1.01762 1.01762 1.0152 1.01943 1.01822 -1.01641 1.01883 1.01883 1.01943 1.03453 1.02426 1.02306 1.02185 -1.02426 1.02668 1.014 1.02547 1.02245 1.01581 0.983796 1.01883 -1.01822 1.02064 1.02124 1.02064 1.02004 1.02306 1.0152 1.01822 -1.01641 1.02366 1.02064 1.0448 1.05326 1.05205 1.04601 1.04782 -1.04238 1.05446 1.04782 1.05688 1.05688 1.04661 1.0448 1.04661 -1.05024 1.04057 1.02064 1.02185 1.0146 1.0152 1.02064 1.01218 -1.01762 1.02426 1.01581 1.02064 1.01883 1.01641 1.02728 1.02245 -1.02064 1.0146 1.02064 1.02487 1.01883 1.02608 1.02004 1.0152 -1.01762 1.01762 1.02004 1.02064 1.02366 1.02366 1.04359 1.04601 -1.04661 1.04238 1.04178 1.04057 1.04359 1.03816 1.04782 1.0442 -1.03212 1.04903 1.03393 1.0454 1.04299 1.02426 1.0152 1.02185 -1.02789 1.02306 1.02124 1.01702 1.02124 1.01822 1.02064 1.01883 -0.99648 1.01037 1.01883 1.02124 1.01279 1.02306 1.01641 1.01883 -1.02185 1.02245 1.01581 1.01822 1.02306 1.02789 1.01883 1.01883 -1.02245 1.01822 1.01883 1.00675 1.01098 1.02366 1.01158 1.01581 -1.01943 1.02426 1.02547 1.01762 1.01702 1.01702 1.02185 1.01581 -1.02124 1.02668 1.0303 1.0291 1.02849 1.04057 1.03936 1.05205 -1.04299 0.281937 0 0 0 0.00200667 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00301 0.00903 0.00401333 0.00702333 0 0 0 0 -0 0 0 0.00602 0.00100333 0 0 0 -0.00501667 0.00501667 0.00602 0 0 0 0.00802667 0.00802667 -0.00501667 0.00301 0 0.00100333 0.00401333 0 0 0.00200667 -0 0 0 0 0.00301 0.00702333 0.00301 0 -0 0 0 0 0 0 0.00301 0.00301 -0.00401333 0.00100333 0.00501667 0.00602 0.00100333 0.00301 0.00702333 0.00501667 -0 0 0.00401333 0.00702333 0 0 0.00200667 0.00200667 -0 0 0.00100333 0.00200667 0 0 0 0 -0 0 0 0 0 0.49966 1.0605 1.04842 -1.03997 1.03574 1.02487 1.02728 1.02547 1.0152 1.02185 1.01943 -1.02064 1.02366 1.02004 1.01702 1.01581 1.0146 1.02366 1.02426 -1.01943 1.01037 1.01702 1.0146 1.02185 1.01641 1.02306 1.02426 -1.01641 1.02547 1.02245 1.01762 1.01279 1.01279 1.02124 1.02064 -1.02004 1.02004 1.0146 1.02185 1.02306 1.00071 1.00494 1.02185 -1.03332 1.02426 1.01702 1.02004 1.02004 1.01279 1.02487 1.01943 -1.02004 1.01822 1.01883 1.04057 1.05446 1.04963 1.05446 1.05628 -1.05265 1.0448 1.05386 1.05144 1.04963 1.04359 1.04601 1.04299 -1.05205 1.03876 1.01822 1.02547 1.02426 1.01702 1.01762 1.014 -1.02426 1.02366 1.01581 1.02728 1.02849 1.02245 1.02728 1.02789 -1.01762 1.02728 1.02608 1.01641 1.02245 1.02064 1.02185 1.02849 -1.02608 1.0146 1.02668 1.014 1.01883 1.02608 1.03212 1.05205 -1.04238 1.04178 1.04299 1.03755 1.05688 1.0454 1.03453 1.03212 -1.05507 1.04661 1.04903 1.04782 1.05386 1.03332 1.01762 1.0297 -1.01762 1.01943 1.02064 1.01762 1.02124 1.02728 1.02789 1.02124 -1.00192 1.00916 1.0297 1.02124 1.02064 1.01762 1.01581 1.01339 -1.01762 1.01702 1.02185 1.02487 1.02004 1.02487 1.01762 1.02004 -1.014 1.0146 1.01762 1.02608 1.01883 1.01822 1.01641 1.01822 -1.02124 1.01037 1.01641 1.01641 1.01702 1.01581 1.02245 1.02064 -1.02306 1.02004 1.02004 1.02124 1.02608 1.03997 1.04178 1.04782 -1.05567 0.54782 0 0 0 0 0 0 -0 0 0.00200667 0.00100333 0 0 0.00802667 0.00802667 -0 0.00200667 0.0100333 0 0.00100333 0.0100333 0.00301 0.00903 -0.00602 0.00802667 0.00802667 0.00401333 0 0.00100333 0.00200667 0 -0 0 0 0 0 0.00602 0.00301 0 -0 0.00200667 0.00501667 0.00702333 0.00301 0.00100333 0 0 -0 0.00100333 0 0 0 0 0.00100333 0.00602 -0.00501667 0.0110367 0.00200667 0 0 0 0 0 -0 0 0 0.00301 0.00100333 0.00602 0 0.00200667 -0 0.00501667 0.00200667 0 0.00401333 0.00301 0 0.00702333 -0.00802667 0.00401333 0 0 0.00100333 0 0 0 -0 0 0 0 0 0.781032 1.05507 1.0448 -1.03634 1.03091 1.03212 1.0303 1.02366 1.02004 1.01641 1.00916 -1.01218 1.01581 1.014 1.01279 1.01822 1.01943 1.01339 1.02487 -1.02487 1.02608 1.02124 1.01943 1.01822 1.02668 1.02185 1.01883 -1.01037 1.01822 1.01279 1.02306 1.02306 1.02004 1.01279 1.01641 -1.02608 1.02547 1.02064 1.01581 1.01279 0.992252 1.02245 1.02366 -1.02185 1.02547 1.02306 1.02487 1.02487 1.014 1.0152 1.01883 -1.01762 1.02124 1.02306 1.0448 1.04722 1.03816 1.03574 1.0442 -1.03936 1.03634 1.04782 1.04238 1.04238 1.04299 1.04299 1.03695 -1.05446 1.03997 1.01218 1.02064 1.02789 1.02064 1.02185 1.02245 -1.0146 1.01641 1.0146 1.01218 1.01762 1.01702 1.02124 1.01641 -1.01883 1.0152 1.02366 1.02245 1.0152 1.0303 1.01641 1.02487 -1.02185 1.02004 1.02185 1.01339 1.02064 1.02426 1.05265 1.03634 -1.03936 1.0454 1.04359 1.0454 1.0442 1.04178 1.03212 1.04601 -1.04118 1.03876 1.05084 1.04299 1.04359 1.03272 1.02366 1.02366 -1.0146 1.01762 1.01822 1.02245 1.01581 1.00796 1.00856 1.02426 -1.02366 1.00494 1.01641 1.02366 1.02124 1.01822 1.02185 1.0152 -1.02426 1.02668 1.02306 1.02124 1.0146 1.01581 1.01943 1.01883 -1.02849 1.0152 1.02366 1.01883 1.00856 1.01762 1.01279 1.01883 -1.01641 1.02245 1.02245 1.02487 1.0152 1.02124 1.02306 1.01581 -1.01822 1.02004 1.02849 1.03151 1.03332 1.03151 1.03936 1.04963 -1.0593 0.838992 0 0 0 0 0 0 -0 0.00602 0 0 0 0.00200667 0.00301 0 -0.00200667 0 0 0.00602 0.00401333 0 0 0 -0 0.00100333 0 0 0.00401333 0 0 0.00702333 -0.00702333 0.00501667 0.00100333 0.00401333 0.00200667 0.00100333 0.00200667 0 -0.00802667 0.00602 0 0 0.0100333 0.00602 0.00602 0.00301 -0.00501667 0.00602 0.00602 0.00100333 0.00200667 0.00100333 0 0.00100333 -0.00501667 0 0 0.00501667 0.00401333 0.00200667 0.00200667 0 -0 0 0.00100333 0 0 0 0.00501667 0.00301 -0.00301 0.00100333 0.00200667 0.00602 0.00401333 0 0 0 -0 0.00401333 0.00602 0.00501667 0 0 0 0 -0 0 0 0 0.0672233 0.965676 1.05446 1.03936 -1.0297 1.03514 1.03212 1.02426 1.02547 1.02366 1.02306 1.02487 -1.02004 1.02728 1.02487 1.01702 1.02245 1.01943 1.01762 1.01279 -1.02668 1.03091 1.01581 1.01702 1.01098 1.01762 1.02366 1.01883 -1.01883 1.014 1.01339 1.01702 1.01762 1.02306 1.0297 1.0152 -1.01218 1.01822 1.03091 1.02728 1.00071 1.00373 1.03091 1.0297 -1.02487 1.02004 1.02124 1.01883 1.02245 1.02064 1.01339 1.02608 -1.01762 1.01641 1.02124 1.02245 1.04601 1.04782 1.04903 1.04782 -1.04178 1.04178 1.03816 1.04057 1.04963 1.04238 1.04722 1.03816 -1.03695 1.01943 1.01098 1.01822 1.02004 1.02668 1.02608 1.02245 -1.01943 1.0152 1.01943 1.01883 1.02608 1.014 1.02245 1.0303 -1.01762 1.01943 1.01822 1.01762 1.01943 1.01883 1.02245 1.02185 -1.02608 1.01943 1.0297 1.02366 1.02064 1.02185 1.03876 1.04782 -1.05024 1.05386 1.04722 1.0454 1.0442 1.03936 1.04963 1.0442 -1.0454 1.03755 1.04661 1.0448 1.05205 1.04057 1.02306 1.02849 -1.02849 1.01883 1.02004 1.02547 1.02668 1.02124 1.02849 1.02547 -1.01641 0.998896 1.01098 1.02668 1.02064 1.0146 1.01943 1.01702 -1.01702 1.01702 1.01158 1.0152 1.01339 1.02728 1.02064 1.01943 -1.0146 1.02185 1.01943 1.0146 1.01702 1.02547 1.01943 1.01581 -1.02608 1.02245 1.01822 1.02064 1.01581 1.02306 1.01883 1.01822 -1.02728 1.02306 1.02547 1.0303 1.02668 1.0291 1.03393 1.04299 -1.04963 0.967488 0.0742467 0 0 0 0 0 -0 0 0 0 0.00401333 0 0 0 -0 0 0.00602 0 0 0 0 0.00401333 -0.00702333 0 0.00100333 0 0 0 0.00100333 0.00200667 -0.00200667 0 0 0.00301 0.00903 0.00401333 0.00602 0.00401333 -0 0 0 0.00100333 0.00200667 0.00401333 0.00501667 0 -0 0 0.00401333 0.00802667 0.0100333 0.00100333 0 0 -0 0.00702333 0.00802667 0 0 0.00200667 0.00200667 0.00401333 -0 0 0 0.00501667 0.00301 0.00401333 0 0 -0.00200667 0 0 0 0.00702333 0.01204 0.00401333 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0.179597 1.02185 1.05265 1.03876 -1.02245 1.02487 1.02789 1.02124 1.03091 1.02608 1.02426 1.02668 -1.01883 1.02608 1.03453 1.02004 1.0146 1.01702 1.01943 1.02426 -1.02487 1.01702 1.014 1.01943 1.02185 1.02124 1.01762 1.02789 -1.02728 1.02124 1.02306 1.01158 1.02185 1.02608 1.01581 1.02306 -1.01762 1.02608 1.01702 1.00796 0.985608 1.01702 1.0146 1.02124 -1.02306 1.0146 1.0146 1.02185 1.02366 1.01943 1.02366 1.02245 -1.01943 1.0146 1.01339 1.02608 1.03695 1.0454 1.04963 1.03936 -1.04782 1.0448 1.04118 1.04178 1.04963 1.04963 1.04601 1.0442 -1.02426 1.01158 1.01822 1.02124 1.01581 1.01218 1.01641 1.01943 -1.02547 1.01702 1.01581 1.01641 1.0146 1.01883 1.02004 1.014 -1.01943 1.01581 1.0152 1.02004 1.02608 1.0152 1.02245 1.02064 -1.02728 1.02547 1.02306 1.02849 1.01641 1.02185 1.0146 1.05144 -1.04299 1.03816 1.04359 1.04842 1.04601 1.04359 1.05567 1.04601 -1.05507 1.04782 1.05144 1.05326 1.0454 1.02789 1.02789 1.01641 -1.01279 1.01822 1.01943 1.02124 1.02245 1.02608 1.01158 1.0291 -1.02306 1.01883 0.99648 1.01641 1.01822 1.0146 1.01883 1.02185 -1.02306 1.02064 1.01762 1.02185 1.01762 1.0146 1.00796 1.00916 -1.01762 1.01037 1.01581 1.0146 1.01702 1.0152 1.01581 1.02426 -1.014 1.01581 1.01943 1.02185 1.02366 1.01218 1.01883 1.01158 -1.01883 1.02306 1.02608 1.01641 1.02366 1.0297 1.03091 1.03755 -1.04963 1.0297 0.221737 0 0 0 0 0 -0 0 0.00100333 0.00501667 0 0 0 0 -0 0.00100333 0 0 0 0.00200667 0.00802667 0.00200667 -0 0.00100333 0 0 0 0.00501667 0.00602 0 -0 0.00301 0.00501667 0.00401333 0 0 0 0 -0 0.00602 0.00702333 0.0100333 0.00401333 0.00401333 0.00501667 0.00401333 -0.00401333 0.00401333 0 0.00100333 0.00100333 0.00200667 0.00903 0.00501667 -0.00702333 0 0 0.0100333 0.00802667 0 0.00100333 0 -0.00301 0.00401333 0 0 0 0 0.00301 0 -0 0 0.00301 0 0 0 0 0.00301 -0 0 0 0 0.00702333 0.00501667 0 0 -0 0 0 0 0.327087 1.04963 1.04661 1.0442 -1.03514 1.03634 1.02789 1.02245 1.01822 1.02366 1.02366 1.02064 -1.0152 1.02124 1.01581 1.01581 1.02245 1.01762 1.0146 1.01641 -1.01218 1.02668 1.02306 1.01762 1.0146 1.02245 1.0152 1.01339 -1.02426 1.01822 1.02487 1.01762 1.00977 1.01339 1.01822 1.02487 -1.01762 1.0152 1.02668 1.0152 1.00373 1.02064 1.02306 1.0152 -1.02245 1.03272 1.02608 1.0146 1.0146 1.02124 1.02124 1.02064 -1.01158 1.02849 1.01822 1.00796 1.01339 1.03816 1.03936 1.05869 -1.05205 1.05084 1.05386 1.05024 1.03997 1.0454 1.05084 1.04299 -1.02185 1.03453 1.02306 1.03151 1.02728 1.01822 1.01581 1.02064 -1.02064 1.01822 1.02728 1.02004 1.02004 1.02064 1.02064 1.02064 -1.02366 1.01883 1.01581 1.01943 1.0291 1.03332 1.02004 1.02185 -1.02185 1.0146 1.02668 1.02547 1.02547 1.02366 1.01581 1.03695 -1.05084 1.04057 1.0454 1.04661 1.04057 1.0454 1.05024 1.0442 -1.0448 1.04842 1.04299 1.04903 1.04299 1.02728 1.01883 1.014 -1.0152 1.01822 1.01218 1.01822 1.02366 1.0146 1.00977 1.02306 -1.01883 1.02004 1.00675 1.01762 1.02487 1.01581 1.02728 1.01883 -1.014 1.02124 1.01943 1.02245 1.02004 1.02547 1.03212 1.0146 -1.02426 1.02306 1.02306 1.01943 1.01822 1.0146 1.02245 1.01641 -1.02064 1.0152 1.01822 1.01702 1.01641 1.02245 1.02064 1.01822 -1.02426 1.02487 1.02124 1.02728 1.03634 1.03453 1.0297 1.03936 -1.04963 1.05205 0.381267 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0.00100333 -0 0 0 0.00200667 0.00702333 0.00200667 0 0 -0.00100333 0.00200667 0.00401333 0.00903 0.00802667 0 0 0.00602 -0.00702333 0.00602 0.00200667 0 0 0.00401333 0.00702333 0.00702333 -0.00602 0.00100333 0 0 0 0 0 0.00401333 -0.00401333 0 0 0 0 0 0 0 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0.00100333 0.00200667 0 0 0 -0.00100333 0.00602 0.00401333 0.00100333 0 0.00100333 0.00602 0.00200667 -0.00903 0.0100333 0.00100333 0 0 0 0 0 -0 0 0 0 0.506683 1.0599 1.05205 1.03574 -1.03151 1.0297 1.0297 1.02487 1.02668 1.02004 1.02124 1.02185 -1.02426 1.02124 1.01158 1.0146 1.02064 1.01762 1.01762 1.01641 -1.0146 1.01641 1.01822 1.02608 1.01702 1.02064 1.01762 1.02426 -1.02245 1.01339 1.02366 1.02064 1.02668 1.02064 1.02124 1.02426 -1.02789 1.01822 1.02185 0.985004 1.0152 1.03393 1.02306 1.02487 -1.00796 1.01037 1.02185 1.0146 1.00675 1.01279 1.02728 1.02366 -1.02487 1.01762 1.02245 1.02366 1.02306 1.0146 1.04057 1.03876 -1.05748 1.05144 1.04782 1.05326 1.05205 1.04661 1.0303 1.01943 -1.0146 1.014 1.01762 1.02426 1.02124 1.02366 1.02124 1.01822 -1.01037 1.02245 1.01762 1.01218 1.01098 1.01339 1.00735 1.01641 -1.02004 1.01702 1.02185 1.0146 1.02547 1.02004 1.02064 1.01822 -1.01581 1.02124 1.0303 1.01279 1.02064 1.01641 1.02185 1.00856 -1.0454 1.05024 1.04299 1.04963 1.04118 1.03997 1.03876 1.03695 -1.04842 1.04661 1.04782 1.03876 1.02547 1.02064 1.02306 1.02064 -1.0297 1.0291 1.0303 1.01581 1.02547 1.02668 1.01702 1.02004 -1.02728 1.01279 1.01279 1.00554 1.02004 1.0146 1.02728 1.02004 -1.01822 1.01883 1.01883 1.02547 1.03151 1.01702 1.01641 1.02306 -1.02547 1.01822 1.0146 1.02426 1.014 1.01762 1.02185 1.01822 -1.02487 1.01339 1.014 1.02306 1.02124 1.02245 1.02245 1.02306 -1.01702 1.02064 1.02366 1.02487 1.02185 1.02306 1.0291 1.03936 -1.05024 1.0605 0.567887 0 0 0 0 0 -0 0 0 0.00100333 0 0.00301 0 0 -0 0.00301 0.00802667 0.00301 0 0 0 0.00401333 -0.00903 0.00702333 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0.00200667 0.00301 0.00903 0.00100333 0 0.00100333 0.00200667 -0 0.0100333 0.0130433 0.0130433 0.00501667 0 0 0 -0.00200667 0.00200667 0.00200667 0.00401333 0.00401333 0.00100333 0.00200667 0.01204 -0.00501667 0 0 0.0100333 0.00602 0.00301 0.00802667 0.00501667 -0.00401333 0 0.00301 0.00100333 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.674128 1.05326 1.04601 1.03574 -1.03091 1.0291 1.02608 1.01641 1.02004 1.02245 1.02245 1.01822 -1.01762 1.01641 1.02487 1.01822 1.02245 1.02185 1.02306 1.02547 -1.0297 1.02306 1.02306 1.02366 1.02668 1.01943 1.02487 1.02064 -1.01641 1.01762 1.01762 1.01581 1.02185 1.02004 1.02245 1.0146 -1.01702 1.02245 1.02124 0.974736 1.01943 1.01762 1.02547 1.02306 -1.02426 1.02306 1.0303 1.03393 1.01943 1.02366 1.0152 1.01883 -1.02366 1.02124 1.01762 1.02547 1.01218 1.014 1.01641 1.01339 -1.01339 1.02849 1.03514 1.03272 1.02306 1.01943 1.01641 1.0152 -1.02426 1.01943 1.01762 1.01702 1.02487 1.00796 1.01641 1.02064 -1.02124 1.01339 1.0152 1.02124 1.014 1.01098 1.03212 1.00735 -1.02124 1.03212 1.01702 1.02306 1.01279 1.02245 1.02064 1.02185 -1.01943 1.02849 1.01883 1.01339 1.02366 1.01883 1.02547 1.014 -1.02366 1.04601 1.03936 1.04842 1.04782 1.0442 1.05205 1.05869 -1.04963 1.05205 1.03091 1.02608 1.01943 1.00977 1.014 1.01883 -1.02306 1.01581 1.01822 1.01641 1.03091 1.00977 1.02004 1.01641 -1.01702 1.04118 1.02789 1.00614 1.01279 1.01943 1.02004 1.01098 -1.02124 1.02004 1.01822 1.02004 1.01822 1.014 1.0146 1.02608 -1.02064 1.02728 1.02064 1.01279 1.01641 1.02547 1.02004 1.02789 -1.02185 1.01762 1.01943 1.01822 1.01822 1.02245 1.01943 1.0152 -1.01883 1.02366 1.01943 1.02004 1.02487 1.02306 1.03272 1.04178 -1.0442 1.05446 0.753984 0 0 0 0 0 -0.00100333 0 0 0 0.00100333 0 0 0.00501667 -0.00702333 0.00802667 0.00602 0.00301 0.00401333 0.00401333 0.00100333 0.00401333 -0 0 0.00802667 0.00802667 0 0 0.00301 0.00200667 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0 0 0.00301 0.00401333 0 0 -0 0 0 0 0.00200667 0.00501667 0.00200667 0 -0.00100333 0.00802667 0.00200667 0 0 0 0 0 -0 0.00301 0.00501667 0.00602 0.00602 0.00401333 0.00702333 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0.857024 1.05628 1.04299 1.03151 -1.02608 1.0303 1.02789 1.03151 1.01943 1.01279 1.02124 1.02185 -1.02064 1.02306 1.01641 1.01822 1.02004 1.02064 1.02185 1.02004 -1.01581 1.014 1.01702 1.02185 1.01641 1.0146 1.0152 1.02185 -1.02366 1.02668 1.02487 1.02004 1.02124 1.01943 1.01943 1.02185 -1.01641 1.01883 1.00131 0.997084 1.02306 1.02789 1.02185 1.02004 -1.02849 1.02366 1.02124 1.01702 1.03091 1.02124 1.02064 1.02366 -1.0303 1.02124 1.03212 1.02004 1.02608 1.01762 1.014 1.02245 -1.0152 1.02728 1.01641 1.02245 1.02789 1.01339 1.01943 1.01822 -1.02124 1.02487 1.02306 1.01943 1.02849 1.02064 1.00735 1.02608 -1.02306 1.02185 1.01762 1.0146 1.01641 1.02608 1.0152 1.0152 -1.01218 1.02124 1.01943 1.01702 1.02185 1.02668 1.01943 1.02608 -1.01581 1.02124 1.02004 1.01943 1.02185 1.02366 1.02426 1.014 -1.00977 1.02366 1.03393 1.03453 1.03816 1.05628 1.05024 1.04782 -1.04903 1.03997 1.03091 1.02668 1.02064 1.02426 1.02789 1.02366 -1.02547 1.03332 1.02245 1.01943 1.01339 1.02366 1.02064 1.014 -1.02306 1.02124 1.02124 1.01762 1.02366 1.02668 1.01883 1.01581 -1.03212 1.02306 1.02487 1.02366 1.0146 1.0146 1.02185 1.02728 -1.00977 1.01943 1.02124 1.02668 1.02608 1.01943 1.02728 1.02004 -1.01702 1.0152 1.01641 1.01762 1.01943 1.00856 1.02064 1.01702 -1.02728 1.02366 1.02245 1.02487 1.0291 1.03212 1.03574 1.03514 -1.04057 1.04722 0.929436 0.03311 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0.00301 0.00501667 0.00702333 0 -0 0.00401333 0 0 0 0 0 0.00100333 -0.00200667 0.00200667 0 0.00200667 0.00602 0.00401333 0.00301 0.00602 -0.00602 0.00501667 0.00501667 0.00401333 0 0 0 0.00200667 -0.00100333 0 0 0 0 0.00301 0.0140467 0.00903 -0 0.00301 0.00602 0.00602 0.00200667 0.00200667 0.00602 0.00501667 -0 0 0 0 0 0 0.00200667 0 -0 0.00301 0 0.00401333 0 0 0 0.00501667 -0.0140467 0.0140467 0 0 0 0 0 0 -0 0 0 0.0491633 0.948764 1.05386 1.04057 1.03574 -1.0291 1.02245 1.02668 1.02185 1.02306 1.02245 1.0152 1.01581 -1.0146 1.014 1.02426 1.02487 1.01883 1.01883 1.02185 1.02608 -1.02245 1.02306 1.0303 1.02064 1.02004 1.02668 1.02547 1.02366 -1.02426 1.02245 1.02185 1.01943 1.02185 1.01943 1.02004 1.02306 -1.03514 1.02306 0.988628 1.0146 1.02547 1.0152 1.02366 1.02185 -1.02185 1.02004 1.01581 1.02306 1.02306 1.02245 1.02789 1.02245 -1.02185 1.02487 1.03332 1.03574 1.0448 1.03393 1.02064 1.02728 -1.0291 1.0152 1.03212 1.01581 1.01943 1.02728 1.01883 1.02124 -1.01883 1.01702 1.02668 1.02004 1.02124 1.02124 1.01641 1.01762 -1.01702 1.01641 1.01943 1.01883 1.01641 1.00977 1.0303 1.02547 -1.00614 1.01098 1.0146 1.02668 1.02064 1.02668 1.02426 1.02608 -1.01098 1.00916 1.01943 1.02487 1.02487 1.02608 1.02789 1.02668 -1.02306 1.01943 1.01702 1.01943 1.02366 1.02547 1.02547 1.02849 -1.01822 1.02124 1.01581 1.0146 1.01883 1.01641 1.02789 1.01883 -1.01702 1.01943 1.01822 1.02064 1.02245 1.02728 1.01641 1.03272 -1.02306 1.02306 1.02668 1.0152 1.00856 1.02547 1.0146 1.02668 -1.01158 1.0291 1.02426 1.01279 1.0152 1.02064 1.01762 1.01702 -1.02004 1.0297 1.014 1.01883 1.01702 1.02185 1.0146 1.01218 -1.0146 1.02306 1.02124 1.02185 1.01641 1.0291 1.0152 1.01943 -1.01822 1.01943 1.01943 1.02185 1.02728 1.0291 1.02608 1.03151 -1.0442 1.05205 0.978964 0.0923067 0 0 0 0 -0 0 0.00602 0 0 0.00301 0 0.00702333 -0 0 0 0.00702333 0 0 0 0.00200667 -0.00602 0 0 0 0 0 0.00401333 0 -0 0 0.00200667 0.00200667 0.00200667 0.00501667 0.00401333 0 -0 0 0 0.00301 0.00602 0.00501667 0.00401333 0.00301 -0 0.00100333 0.00100333 0 0 0 0 0 -0.00401333 0.00200667 0 0 0 0 0 0.00200667 -0.00602 0.00903 0.00301 0 0.0100333 0.0110367 0.00301 0.00602 -0.00501667 0 0 0 0.00501667 0 0 0 -0 0 0.00200667 0.00301 0 0 0 0 -0 0 0 0.09933 0.991044 1.05265 1.03936 1.03151 -1.03091 1.02668 1.02245 1.02728 1.02245 1.02124 1.02366 1.01943 -1.02064 1.02004 1.01762 1.02185 1.02185 1.02306 1.02728 1.03151 -1.03212 1.0303 1.0291 1.0297 1.02366 1.02789 1.02849 1.02426 -1.02185 1.02306 1.02306 1.02668 1.02789 1.02426 1.02426 1.01641 -1.01883 1.02064 0.98138 1.01098 1.0303 1.01943 1.02306 1.014 -1.02185 1.01943 1.01762 1.02849 1.01762 1.02547 1.02547 1.03453 -1.02366 1.02306 1.02547 1.0291 1.02245 1.01943 1.01943 1.02306 -1.01762 1.02366 1.01641 1.02185 1.01943 1.01883 1.02004 1.02185 -1.02668 1.02245 1.02306 1.02608 1.01883 1.02064 1.02547 1.02849 -1.00856 1.01037 1.02185 1.0152 1.02366 1.01822 1.00916 1.03272 -1.02487 1.01822 1.02366 1.02124 1.02366 1.02306 1.02608 1.02064 -1.0146 1.03151 1.02306 1.02366 1.02366 1.02366 1.01098 1.0152 -1.02245 1.01762 1.02487 1.01641 1.02306 1.02426 1.02487 1.01641 -1.01762 1.02064 1.03091 1.0291 1.0152 1.03091 1.014 1.01279 -1.02124 1.02004 1.02728 1.01702 1.02306 1.02064 1.02124 1.02668 -1.02306 1.02004 1.03091 1.0146 1.01581 1.02366 1.01641 1.01762 -1.01883 1.02487 1.01883 1.02366 1.02306 1.0152 1.02789 1.02366 -1.02608 1.02547 1.02245 1.02426 1.01641 1.01641 1.014 1.02487 -1.02124 1.02366 1.01943 1.01822 1.02789 1.02004 1.02306 1.01641 -1.01822 1.02185 1.0146 1.02366 1.01702 1.02487 1.0297 1.0448 -1.0454 1.05386 1.01883 0.172573 0 0 0 0 -0 0 0 0 0.00501667 0.00802667 0.00802667 0 -0 0.0110367 0.00802667 0 0 0 0 0 -0 0 0 0 0.00602 0.00702333 0.00301 0.00200667 -0.00100333 0.00301 0.00100333 0.00100333 0 0 0 0 -0 0.00602 0.00802667 0.00401333 0 0 0 0.00100333 -0.00301 0.00301 0.00100333 0.00100333 0 0 0 0 -0 0 0.00401333 0.00200667 0 0 0 0 -0 0.00100333 0 0.00602 0 0 0 0 -0 0.00100333 0 0 0 0.00501667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.15652 1.01943 1.05084 1.04661 1.03876 -1.03151 1.0297 1.02426 1.01702 1.02004 1.02245 1.01822 1.01641 -1.01943 1.01279 1.01762 1.02245 1.02366 1.02487 1.02185 1.02124 -1.02185 1.0297 1.02487 1.01702 1.0291 1.01883 1.02547 1.02185 -1.0291 1.02487 1.01822 1.02124 1.01581 1.02124 1.0146 1.01762 -1.02547 1.01762 1.00735 1.02487 1.02004 1.02849 1.03151 1.03212 -1.02004 1.02487 1.03091 1.02487 1.03574 1.02728 1.03453 1.03695 -1.04722 1.03997 1.03272 1.04178 1.02849 1.02608 1.03634 1.03272 -1.02245 1.02789 1.01581 1.0146 1.02004 1.0146 1.02426 1.02124 -1.01279 1.01279 1.02547 1.02668 1.01641 1.02366 1.01098 1.01702 -1.02245 1.01943 1.01822 1.01822 1.02789 1.01641 1.01822 1.01581 -1.02547 1.02668 1.01702 1.01581 1.0146 1.02004 1.014 1.02004 -1.02306 1.02185 1.02064 1.02789 1.01822 1.00796 1.02608 1.01581 -1.01883 1.01702 1.02064 1.0291 1.02608 1.02608 1.02789 1.02789 -1.02245 1.03332 1.02245 1.02004 1.02366 1.02004 1.01943 1.02849 -1.01762 1.02245 1.02487 1.01641 1.01641 1.02487 1.02064 1.0152 -1.02547 1.02366 1.01822 1.02487 1.02306 1.02608 1.02668 1.02608 -1.02487 1.02306 1.02668 1.02668 1.03634 1.02728 1.02426 1.03091 -1.01581 1.02064 1.02124 1.02124 1.02728 1.02124 1.0303 1.02728 -1.0152 1.01158 1.0146 1.02426 1.01822 1.02366 1.01339 1.01762 -1.02306 1.01943 1.02306 1.02849 1.02668 1.0297 1.03997 1.03091 -1.03514 1.0454 1.03393 0.245817 0 0 0 0 -0 0 0.00802667 0 0 0 0 0.00301 -0.00200667 0 0 0.00100333 0 0 0 0 -0.00200667 0 0.00602 0.00301 0 0 0 0 -0 0 0 0 0.00401333 0.00100333 0.00602 0.0100333 -0.00200667 0 0 0.00401333 0.00301 0.00200667 0 0 -0 0 0 0 0.00301 0.00100333 0.00301 0 -0 0 0 0 0 0.00401333 0.00100333 0 -0 0 0 0 0 0.00301 0.00301 0 -0 0.00501667 0.00200667 0 0 0 0.00301 0.00702333 -0 0 0 0 0.00301 0 0 0 -0 0 0 0.220733 1.03514 1.04722 1.03755 1.03574 -1.02728 1.01943 1.02366 1.02426 1.02064 1.01822 1.01883 1.0152 -1.01943 1.01641 1.01339 1.0152 1.01218 1.01943 1.02185 1.02789 -1.02547 1.02668 1.03574 1.03634 1.0291 1.03393 1.03574 1.02608 -1.02185 1.02245 1.02064 1.02185 1.01943 1.02426 1.03574 1.01762 -1.02185 1.00494 0.99648 1.01943 1.02245 1.01883 1.02306 1.01581 -1.02728 1.02245 1.02185 1.02426 1.03332 1.03816 1.03695 1.04238 -1.04238 1.0448 1.04299 1.04178 1.03936 1.02789 1.02487 1.02668 -1.02185 1.02124 1.02306 1.01762 1.01883 1.01822 1.02608 1.01883 -1.02728 1.0146 1.0152 1.0146 1.02487 1.03332 1.01641 1.02306 -1.02547 1.02185 1.01581 1.0152 1.02306 1.02789 1.02668 1.01943 -1.02668 1.02366 1.02366 1.01883 1.03091 1.02547 1.01762 1.02849 -1.02426 1.02306 1.02487 1.01883 1.03212 1.03151 1.02487 1.02306 -1.0297 1.02245 1.02366 1.02004 1.02426 1.01883 1.02245 1.01702 -1.01581 1.01822 1.01943 1.0152 1.02366 1.02185 1.02728 1.02487 -1.02487 1.0303 1.0297 1.02004 1.02245 1.0146 1.01702 1.01822 -1.0146 1.02185 1.01883 1.0152 1.01702 1.02185 1.0146 1.02064 -1.02728 1.02608 1.02306 1.02306 1.02004 1.02487 1.02306 1.0297 -1.02426 1.03272 1.02306 1.0291 1.02668 1.02608 1.0297 1.01883 -1.02487 1.02728 1.02306 1.02064 1.02064 1.02124 1.01762 1.03091 -1.02185 1.02668 1.02124 1.01822 1.02487 1.02789 1.02124 1.0303 -1.0448 1.05326 1.0442 0.348157 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0100333 0.01204 -0.00401333 0 0 0 0 0.00301 0.00100333 0 -0 0 0 0 0.00401333 0.00401333 0.00100333 0 -0.00100333 0.00802667 0.0110367 0.00200667 0.00602 0.00100333 0.00100333 0.00602 -0.00802667 0.00301 0 0.00200667 0 0.00200667 0.00200667 0.00501667 -0.00903 0.00802667 0.00501667 0 0 0 0 0.00100333 -0 0.00602 0.00200667 0.00501667 0.00501667 0.00100333 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.305013 1.04661 1.04842 1.03393 1.03272 -1.03332 1.02668 1.01883 1.02487 1.01822 1.0291 1.01883 1.02004 -1.02608 1.01762 1.02547 1.02668 1.02487 1.02668 1.02366 1.03332 -1.03272 1.03091 1.00554 1.0001 0.991044 0.995272 1.02608 1.02487 -1.02849 1.02849 1.02789 1.02185 1.02668 1.02608 1.02728 1.02124 -1.02185 1.00252 1.00856 1.02306 1.02124 1.02487 1.014 1.02245 -1.02426 1.03816 1.0303 1.03151 1.03332 1.04601 1.01098 0.95118 -0.884072 0.867328 0.95118 1.00796 1.0442 1.04601 1.0291 1.03151 -1.02245 1.03816 1.0297 1.01943 1.02728 1.02004 1.01762 1.01581 -1.02124 1.02426 1.02124 1.0146 1.0152 1.01702 1.02668 1.01702 -1.01581 1.02547 1.02245 1.02124 1.01158 1.01762 1.01279 1.01762 -1.02064 1.03574 1.02849 1.01762 1.01641 1.02064 1.02185 1.02064 -1.0297 1.02124 1.01098 1.0152 1.02185 1.0146 1.02004 1.00554 -1.02185 1.02608 1.02608 1.02124 1.01762 1.01883 1.02608 1.02789 -1.02426 1.0297 1.02608 1.03151 1.03936 1.03876 1.03453 1.03453 -1.03393 1.02668 1.02487 1.01943 1.02366 1.02124 1.01943 1.02668 -1.02004 1.02064 1.02789 1.02366 1.01883 1.01581 1.02004 1.01822 -1.0146 1.02004 1.01098 1.02487 1.02366 1.03151 1.03151 1.02789 -1.03393 1.02668 1.02064 1.03634 1.0291 1.03091 1.02668 1.02426 -1.02608 1.02426 1.01943 1.02366 1.02547 1.01218 1.01158 1.01641 -1.014 1.01279 1.01822 1.02487 1.02124 1.02306 1.0291 1.03272 -1.03574 1.03634 1.05144 0.46655 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00100333 0 0 -0 0 0 0.00100333 0 0 0 0 -0 0 0.00200667 0.00200667 0 0 0 0 -0 0 0 0 0 0.00301 0.00401333 0 -0.00100333 0.00602 0.00301 0 0 0 0 0 -0 0.00100333 0.00200667 0.00100333 0 0.00501667 0.00501667 0.00501667 -0.00301 0 0 0 0 0 0 0 -0 0.00100333 0 0.00602 0.00702333 0 0 0 -0.00702333 0.00200667 0 0 0 0 0 0 -0 0 0 0.365213 1.05507 1.05628 1.03936 1.03212 -1.0303 1.02547 1.01883 1.02487 1.02124 1.01943 1.01581 1.01581 -1.02849 1.01581 1.02608 1.02849 1.02608 1.03212 1.02849 1.02789 -0.96024 0.706328 0.551833 0.488623 0.47257 0.494643 0.588957 0.850584 -1.00856 1.03695 1.0303 1.02668 1.02608 1.03151 1.02668 1.02064 -1.02728 0.982588 1.01218 1.03393 1.02245 1.01641 1.02004 1.02366 -1.02849 1.0291 1.03997 1.04782 0.99346 0.635488 0.315047 0.182607 -0.136453 0.14147 0.182607 0.320063 0.662536 1.00554 1.04782 1.02668 -1.03393 1.03272 1.03816 1.02789 1.01822 1.02426 1.03091 1.0152 -1.02124 1.04057 1.01943 1.01943 1.02004 1.01762 1.01883 1.02487 -1.02004 1.01702 1.02245 1.01218 1.0146 1.01339 1.02245 1.0152 -1.00796 1.02185 1.02487 1.02004 1.02064 1.01098 1.02849 1.0146 -1.01702 1.02728 1.03514 1.02366 1.02426 1.02366 1.01762 1.02306 -1.02004 1.02064 1.01822 1.02124 1.02547 1.02426 1.03212 1.02728 -1.02849 1.02668 1.03393 1.04178 1.03634 1.03695 1.03997 1.04057 -1.03212 1.0291 1.02487 1.0297 1.02487 1.03151 1.03151 1.02366 -1.0297 1.02306 1.02004 1.02668 1.02064 1.01641 1.03151 1.0303 -1.01641 1.02245 1.02185 1.02668 1.03272 1.02849 1.03272 1.03876 -1.03695 1.02668 1.02124 1.02124 1.02547 1.03574 1.03574 1.02608 -1.02004 1.02668 1.02728 1.01762 1.02306 1.02004 1.02064 1.01943 -1.02064 1.02487 1.0297 1.02306 1.0291 1.02728 1.02185 1.03151 -1.03816 1.05144 1.0599 0.554843 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0.00100333 0 0 0 0 -0.00802667 0.00702333 0 0 0 0.00301 0.00100333 0.00903 -0.0130433 0.00903 0.00401333 0.00100333 0 0.00602 0.00501667 0.00301 -0 0 0 0 0.00501667 0.00200667 0.00501667 0.00200667 -0 0 0.00100333 0.00903 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00602 0.0100333 0.0130433 0.00903 0.00200667 0.00501667 -0.00702333 0.00401333 0 0 0 0.00903 0.0130433 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0.441467 1.05144 1.04359 1.03514 1.02728 -1.02668 1.03151 1.02547 1.02306 1.02245 1.02728 1.02668 1.02366 -1.0291 1.02426 1.01883 1.02547 1.02728 1.03151 1.01581 0.810656 -0.492637 0.434443 0.441467 0.447487 0.455513 0.450497 0.450497 0.458523 -0.604576 0.962052 1.01762 1.02245 1.02064 1.02547 1.02124 1.0303 -1.02728 0.982588 1.02306 1.02789 1.02185 1.03212 1.02366 1.02608 -1.03332 1.0297 1.03936 0.945744 0.342137 0.125417 0.09632 0.115383 -0.124413 0.142473 0.10836 0.125417 0.127423 0.339127 0.937288 1.05628 -1.02426 1.0297 1.0303 1.03091 1.02064 1.02608 1.0303 1.02185 -1.01883 1.01218 1.01822 1.01339 1.01762 1.01822 1.0146 1.03091 -1.02124 1.01641 1.02547 1.01943 1.02426 1.01762 1.02668 1.02849 -1.01943 1.01339 1.014 1.02487 1.01943 1.02306 1.02608 1.00554 -1.02185 1.02004 1.02426 1.02426 1.02124 1.02306 1.02124 1.01943 -1.02487 1.0152 1.0146 1.02668 1.0291 1.02064 1.02426 1.03514 -1.03332 1.03393 1.04601 1.03755 1.02668 1.01279 1.01943 1.04057 -1.04359 1.0454 1.03634 1.03091 1.03514 1.02124 1.02426 1.02185 -1.02245 1.02426 1.0152 1.01641 1.02124 1.01702 1.02064 1.02064 -1.01822 1.03272 1.02608 1.02668 1.03091 1.03091 1.01279 0.927624 -0.71792 0.58996 0.573907 0.587953 0.779744 0.94816 1.01883 1.0303 -1.0291 1.02547 1.01702 1.01702 1.02004 1.02245 1.02426 1.02185 -1.02064 1.02608 1.02547 1.02185 1.02547 1.02608 1.03091 1.0303 -1.03816 1.04178 1.05326 0.612304 0 0 0 0 -0 0 0 0 0 0.00702333 0.00702333 0.00903 -0 0 0 0 0 0.00501667 0.0110367 0.00401333 -0 0 0.00301 0.00802667 0.00802667 0.0100333 0.00903 0.00401333 -0.00401333 0 0 0 0 0 0 0 -0 0 0.00100333 0.00200667 0 0 0 0 -0.00501667 0.00301 0 0 0 0.00100333 0.00200667 0.00301 -0 0 0 0 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00602 0.00903 0 0 0 0.00301 -0.00602 0.00100333 0 0 0 0 0 0 -0 0 0 0.488623 1.05688 1.04661 1.03272 1.03332 -1.03212 1.02728 1.02608 1.02064 1.02064 1.02849 1.02064 1.01641 -1.02064 1.02426 1.02668 1.03151 1.03393 1.02789 0.7952 0.450497 -0.4515 0.45451 0.46354 0.462537 0.476583 0.46956 0.459527 0.441467 -0.453507 0.55384 0.969904 1.03393 1.02306 1.0297 1.0152 1.01581 -1.02366 1.00554 1.02487 1.01822 1.01943 1.0303 1.02728 1.02668 -1.03151 1.04238 0.940308 0.26488 0.118393 0.14749 0.133443 0.128427 -0.152507 0.140467 0.13846 0.14147 0.12341 0.10535 0.284947 0.946348 -1.04722 1.03151 1.0297 1.02668 1.0297 1.02608 1.01581 1.02124 -1.03997 1.01702 1.01702 1.01098 1.01822 1.02306 1.02064 1.0146 -1.0303 1.02306 1.01822 1.01822 1.02728 1.01581 1.01883 1.02004 -1.01822 1.0152 1.01037 1.02245 1.02124 1.01762 1.01641 1.0303 -1.02426 1.02306 1.02487 1.0291 1.01037 1.0152 1.01762 1.0291 -1.02064 1.02547 1.02608 1.02124 1.02185 1.03393 1.02487 1.02608 -1.04057 1.03272 0.90468 0.546817 0.371233 0.28595 0.302003 0.413373 -0.694736 0.985608 1.04299 1.03212 1.02064 1.03272 1.02245 1.01883 -1.02487 1.01943 1.02487 1.02608 1.02668 1.01098 1.01943 1.0152 -1.02306 1.02849 1.02849 1.03393 1.03272 0.9542 0.622608 0.467553 -0.446483 0.452503 0.45451 0.450497 0.455513 0.470563 0.6664 0.98138 -1.0297 1.0303 1.02124 1.02124 1.02064 1.02004 1.0146 1.02426 -1.01943 1.01581 1.01581 1.02728 1.02366 1.02124 1.02426 1.03151 -1.03695 1.04359 1.05326 0.70504 0 0 0 0 -0 0 0 0 0.00301 0 0 0 -0.00501667 0 0.00100333 0.00903 0.00301 0 0 0 -0 0.00702333 0 0 0.00200667 0.00200667 0.00100333 0 -0 0.00401333 0.00903 0.00401333 0 0 0.00301 0.00401333 -0.00100333 0.00602 0.00702333 0.00501667 0.00100333 0 0 0 -0 0.00200667 0.00401333 0.00602 0.00401333 0.00702333 0.00100333 0 -0.00301 0.00802667 0.00602 0 0 0 0.00200667 0 -0 0 0.00100333 0.00501667 0.00702333 0 0 0 -0 0 0.00301 0 0 0 0 0 -0 0 0.00100333 0.00100333 0 0 0 0 -0 0 0 0.510697 1.05507 1.0448 1.03695 1.0297 -1.03332 1.02668 1.02668 1.02245 1.02124 1.02245 1.02849 1.02547 -1.01581 1.01702 1.01279 1.01762 1.02547 0.930644 0.491633 0.447487 -0.45752 0.45451 0.461533 0.485613 0.468557 0.464543 0.45752 0.477587 -0.47558 0.447487 0.58996 1.01641 1.03997 1.03151 1.02608 1.02366 -1.02487 0.99648 1.03091 1.03091 1.02064 1.02245 1.03151 1.03453 -1.03755 1.01641 0.413373 0.115383 0.116387 0.134447 0.148493 0.152507 -0.1505 0.18361 0.173577 0.15351 0.151503 0.121403 0.11137 0.41538 -1.01279 1.04299 1.03393 1.01943 1.02547 1.02547 1.02668 1.0291 -1.01822 1.02426 1.02004 1.01098 1.01822 1.02849 1.01158 1.02185 -1.0152 1.0146 1.03272 1.0291 1.02608 1.03091 1.02487 1.0146 -1.01822 1.0303 1.0152 1.01037 1.01762 1.02547 1.01581 1.01702 -1.01702 1.01943 1.01883 1.02366 1.01641 1.01883 1.02124 1.01822 -1.02064 1.01762 1.02306 1.02426 1.02245 1.02306 1.03393 1.04178 -0.980172 0.485613 0.184613 0.121403 0.112373 0.106353 0.09933 0.110367 -0.1204 0.290967 0.770728 1.03997 1.04299 1.02124 1.0303 1.0291 -1.02124 1.02547 1.03574 1.01762 1.0152 1.01883 1.02849 1.02789 -1.01762 1.02789 1.02849 1.0297 0.943328 0.534777 0.455513 0.456517 -0.45752 0.465547 0.46354 0.441467 0.447487 0.446483 0.440463 0.55986 -0.967488 1.0291 1.0297 1.02789 1.02185 1.01822 1.02306 1.014 -1.02366 1.02608 1.02547 1.01641 1.01581 1.02487 1.03332 1.03574 -1.03574 1.04722 1.0599 0.774592 0 0 0 0 -0 0 0.00200667 0 0 0 0 0 -0 0.00200667 0 0 0 0 0 0.00100333 -0 0.00501667 0.00602 0.00301 0.00100333 0 0 0 -0.00602 0.00100333 0 0 0 0.00301 0 0 -0.00301 0.00301 0 0.00301 0.00301 0 0 0 -0 0 0 0 0 0.00301 0.00301 0 -0 0 0 0.00401333 0.00802667 0.00200667 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.58394 1.06111 1.0442 1.03272 1.03332 -1.03091 1.02789 1.02789 1.03151 1.02185 1.02064 1.01641 1.01762 -1.02306 1.02608 1.02487 1.03091 1.00916 0.604576 0.447487 0.45752 -0.464543 0.46354 0.458523 0.479593 0.47859 0.492637 0.480597 0.471567 -0.474577 0.468557 0.453507 0.850584 1.03997 1.03272 1.0146 1.02487 -1.02124 1.00494 1.0291 1.02608 1.01943 1.02366 1.02487 1.03936 -1.05024 0.80164 0.131437 0.12642 0.142473 0.13846 0.166553 0.154513 -0.16555 0.188627 0.16856 0.151503 0.143477 0.130433 0.12943 0.191637 -0.848008 1.03574 1.03332 1.03091 1.01762 1.01641 1.02608 1.02004 -1.02185 1.02366 1.01762 1.02728 1.02004 1.01822 1.02124 1.02487 -1.01158 1.01943 1.02487 1.02426 1.02487 1.02306 1.02245 1.02668 -1.02366 1.02004 1.02245 1.01702 1.02004 1.02185 1.02004 1.03514 -1.02789 1.01158 1.01581 1.02426 1.03574 1.01702 1.01581 1.02185 -1.02245 1.03091 1.02064 1.03091 1.02064 1.03997 1.0442 0.967488 -0.37324 0.11739 0.10836 0.11137 0.12341 0.13545 0.14749 0.17157 -0.157523 0.11739 0.151503 0.661248 1.03634 1.04118 1.02728 1.0297 -1.01641 1.02426 1.0303 1.02547 1.03212 1.02124 1.02668 1.01883 -1.02306 1.03212 1.04118 0.979568 0.545813 0.449493 0.46655 0.473573 -0.464543 0.456517 0.440463 0.480597 0.464543 0.4515 0.44247 0.449493 -0.607152 1.00494 1.0291 1.02487 1.01702 1.02547 1.02426 1.02124 -1.02608 1.02185 1.02245 1.02245 1.02668 1.02306 1.02728 1.02728 -1.03936 1.04359 1.04963 0.8274 0 0 0 0 -0 0 0 0 0.00301 0.00200667 0 0 -0 0 0 0 0.00401333 0.00301 0.00200667 0.00100333 -0.00401333 0.00200667 0 0 0 0.00100333 0.00100333 0.00301 -0.00200667 0 0 0.00301 0.00301 0.00501667 0.00802667 0 -0 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00401333 0.00401333 0.00501667 0.00401333 0.00200667 0.00401333 0.01204 0.0100333 -0.00903 0.00602 0.00501667 0.00501667 0.00200667 0.00903 0.00802667 0 -0 0 0 0 0 0 0.00702333 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0.58996 1.06232 1.04963 1.03936 1.0303 -1.02366 1.02426 1.02426 1.01943 1.01822 1.01822 1.02064 1.02064 -1.02426 1.02004 1.03151 1.0303 0.946348 0.47558 0.44247 0.468557 -0.456517 0.453507 0.458523 0.465547 0.46956 0.498657 0.4816 0.485613 -0.477587 0.46053 0.449493 0.581933 1.01702 1.03332 1.02306 1.03453 -1.01702 1.00252 1.02728 1.02728 1.02306 1.02547 1.02608 1.03755 -1.03695 0.464543 0.104347 0.127423 0.140467 0.139463 0.155517 0.161537 -0.158527 0.154513 0.149497 0.15652 0.146487 0.1505 0.139463 0.160533 -0.497653 1.02547 1.03514 1.03151 1.02608 1.02668 1.02004 1.0146 -1.0291 1.02366 1.02487 1.02245 1.02728 1.01158 1.02849 1.02547 -1.00916 1.02124 1.00675 1.02366 1.0291 1.01581 1.02245 1.02487 -1.01279 1.02366 1.02608 1.02426 1.02366 1.0297 1.01641 1.0146 -1.03453 1.01822 1.0152 1.0152 1.02487 1.014 1.01883 1.02064 -1.02728 1.02064 1.01702 1.02668 1.03151 1.04782 1.02426 0.456517 -0.110367 0.1204 0.133443 0.13545 0.14448 0.148493 0.16856 0.185617 -0.18662 0.18361 0.122407 0.170567 0.813232 1.03755 1.04299 1.02849 -1.02547 1.02728 1.02004 1.014 1.0303 1.02487 1.02185 1.01943 -1.0297 1.02608 1.03695 0.71792 0.467553 0.441467 0.453507 0.449493 -0.476583 0.468557 0.470563 0.477587 0.46655 0.467553 0.45752 0.452503 -0.447487 0.82096 1.03091 1.02728 1.02547 1.02426 1.01702 1.01762 -1.02185 1.02185 1.02668 1.02426 1.02547 1.02426 1.02849 1.03151 -1.03514 1.04178 1.04963 0.871192 0.00501667 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00301 0.0110367 0.00903 0.00802667 0.00602 0 -0.00100333 0 0 0.00401333 0.00200667 0.00200667 0 0 -0.00501667 0.00903 0.00702333 0.00501667 0.00100333 0 0 0.00301 -0.00702333 0.00301 0 0 0 0 0 0 -0.00501667 0.00200667 0.00501667 0.00802667 0.0100333 0.00200667 0 0 -0 0.00200667 0.00401333 0.00200667 0.00401333 0 0 0 -0 0 0.00301 0.00100333 0.00200667 0 0 0.00501667 -0.00401333 0 0 0 0.00100333 0 0 0 -0.0110367 0.00501667 0 0 0 0 0 0 -0 0 0 0.609728 1.05205 1.04299 1.03816 1.0303 -1.0291 1.02608 1.01702 1.02426 1.02124 1.02245 1.02064 1.02306 -1.02728 1.01883 1.02668 1.03695 0.829976 0.441467 0.44849 0.467553 -0.4816 0.480597 0.483607 0.46655 0.464543 0.48762 0.476583 0.482603 -0.470563 0.468557 0.450497 0.49063 0.977756 1.03755 1.03272 1.02849 -1.00977 1.01339 1.01943 1.02608 1.02366 1.02547 1.02245 1.03393 -1.01218 0.301 0.131437 0.125417 0.145483 0.154513 0.151503 0.157523 -0.15953 0.163543 0.15953 0.155517 0.155517 0.146487 0.140467 0.12943 -0.327087 1.014 1.02728 1.0303 1.02245 1.03514 1.02668 1.02185 -1.02245 1.01943 1.01822 1.01822 1.03212 1.02487 1.01581 1.02306 -1.01883 1.01822 1.02728 1.02608 1.02487 1.00977 1.02547 1.01762 -1.02849 1.02366 1.02245 1.0297 1.03151 1.02366 1.02426 1.02185 -1.01279 1.02728 1.01822 1.01279 1.01581 1.0297 1.03574 1.01641 -1.03212 1.02124 1.01702 1.02789 1.04359 1.0454 0.796488 0.137457 -0.10234 0.11438 0.140467 0.14448 0.163543 0.16555 0.149497 0.175583 -0.188627 0.187623 0.13545 0.110367 0.339127 1.01279 1.03393 1.03151 -1.02668 1.02547 1.03453 1.02668 1.014 1.01702 1.01762 1.02547 -1.02789 1.0297 0.991648 0.522737 0.44548 0.446483 0.467553 0.468557 -0.473573 0.46053 0.46956 0.467553 0.476583 0.462537 0.45451 0.461533 -0.449493 0.569893 1.00735 1.02306 1.02185 1.02064 1.02185 1.02306 -1.02064 1.02608 1.02185 1.01822 1.02547 1.0303 1.02245 1.0297 -1.03332 1.03514 1.05748 0.893088 0.01204 0 0 0 -0 0 0 0 0 0 0.00100333 0.00200667 -0 0.00802667 0.00602 0 0 0 0 0.00401333 -0.00401333 0.00200667 0 0 0 0 0.00301 0.00301 -0 0 0 0 0.00401333 0.00602 0.00702333 0.00702333 -0.00200667 0.00501667 0.0110367 0.00802667 0 0.00602 0.00501667 0.00301 -0 0 0 0 0 0 0.00200667 0 -0 0 0 0 0 0.00301 0.00802667 0.00501667 -0.00401333 0.00401333 0.00401333 0.00401333 0.00301 0.00401333 0.00401333 0.00100333 -0 0.00200667 0.00301 0 0 0 0.00301 0 -0 0.00401333 0.00200667 0.00100333 0 0 0 0 -0 0 0 0.625184 1.0599 1.04722 1.03695 1.03212 -1.02487 1.02245 1.02185 1.02064 1.01943 1.02124 1.02004 1.02004 -1.02366 1.02185 1.03514 1.02668 0.742392 0.4515 0.46354 0.458523 -0.47558 0.473573 0.47257 0.47859 0.483607 0.479593 0.48762 0.480597 -0.476583 0.455513 0.446483 0.474577 0.965072 1.03272 1.02366 1.02608 -1.01762 1.014 1.03091 1.02185 1.02789 1.03272 1.02668 1.02668 -0.997084 0.23177 0.124413 0.160533 0.148493 0.146487 0.158527 0.17157 -0.163543 0.164547 0.151503 0.16555 0.163543 0.142473 0.12642 0.13244 -0.268893 1.01158 1.03695 1.03212 1.02124 1.02306 1.02608 1.01883 -1.02004 1.02608 1.014 1.01762 1.02004 1.0152 1.02366 1.02064 -1.01581 1.03091 1.01822 1.02487 1.02185 1.00796 1.02306 0.968696 -1.0152 1.03332 1.02306 1.03332 1.0152 1.02668 1.01762 1.02487 -1.01883 1.02306 1.02789 1.02004 1.01702 1.02124 1.02547 1.02668 -1.02064 1.02487 1.03876 1.0297 1.03816 1.02124 0.408357 0.0983267 -0.11137 0.121403 0.151503 0.155517 0.142473 0.157523 0.15652 0.166553 -0.16254 0.157523 0.146487 0.116387 0.157523 0.848008 1.04178 1.03393 -1.0297 1.02185 1.0291 1.02547 1.02124 1.01883 1.02064 1.02608 -1.03332 1.03091 0.925812 0.443473 0.44247 0.46956 0.47859 0.4816 -0.46956 0.464543 0.46956 0.479593 0.465547 0.468557 0.465547 0.45451 -0.44849 0.470563 0.969904 1.03816 1.02366 1.02366 1.02064 1.01762 -1.01762 1.01641 1.0146 1.02789 1.02426 1.02426 1.02306 1.02487 -1.03695 1.0442 1.05748 0.890512 0.0140467 0 0 0 -0 0 0 0 0.00301 0.00100333 0.00301 0.00903 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0.00401333 0.00301 0 0 0.00301 -0.00501667 0.00702333 0.00903 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0 0 0.00100333 0.00501667 -0.00100333 0.00100333 0.00100333 0 0 0 0 0.00200667 -0.00200667 0.00301 0 0 0 0 0.00200667 0.00301 -0.00301 0.00401333 0.00100333 0.00903 0.00802667 0 0 0 -0 0 0 0 0 0.00401333 0.00301 0 -0 0 0 0.617456 1.05748 1.04601 1.03212 1.03453 -1.03393 1.02426 1.02366 1.02487 1.01883 1.01822 1.02185 1.02064 -1.02608 1.03332 1.02849 1.0291 0.763 0.449493 0.446483 0.465547 -0.467553 0.4816 0.471567 0.46956 0.47257 0.468557 0.464543 0.48461 -0.467553 0.46354 0.444477 0.47859 0.968092 1.03574 1.04057 1.02547 -1.00916 1.02004 1.03332 1.02306 1.02124 1.02124 1.03514 1.04359 -1.00192 0.27692 0.13846 0.173577 0.157523 0.140467 0.16555 0.164547 -0.172573 0.16555 0.15953 0.157523 0.15652 0.137457 0.140467 0.119397 -0.302003 1.02124 1.04057 1.0146 1.01762 1.02608 1.01702 1.02608 -1.02608 1.01581 1.02728 1.02728 1.02306 1.0297 1.01581 1.01641 -1.02608 1.02789 1.02668 1.01158 1.01822 1.0303 0.875056 0.242807 -0.986816 1.02306 1.02668 1.0152 1.03212 1.02728 1.01581 1.0146 -1.01762 1.01943 1.01641 1.01943 1.03091 1.02487 1.01339 1.0152 -1.02728 1.02366 1.02608 1.02849 1.03876 0.994064 0.24682 0.109363 -0.121403 0.130433 0.145483 0.142473 0.149497 0.15953 0.158527 0.149497 -0.15953 0.155517 0.134447 0.110367 0.10234 0.599993 1.03997 1.02426 -1.02547 1.02547 1.02064 1.02728 1.02668 1.01702 1.02608 1.0297 -1.03816 1.03151 0.8274 0.468557 0.456517 0.45752 0.465547 0.46956 -0.48762 0.473573 0.462537 0.477587 0.47257 0.464543 0.467553 0.459527 -0.446483 0.4515 0.939704 1.02728 1.02426 1.0303 1.02245 1.02668 -1.014 1.01581 1.02064 1.01822 1.02245 1.01822 1.02728 1.03634 -1.03936 1.04178 1.04722 0.873768 0.00702333 0 0 0 -0 0 0 0.00802667 0.00903 0.00501667 0 0 -0 0 0.00301 0.00100333 0.00100333 0.00401333 0.00100333 0 -0 0.00100333 0.00401333 0.00200667 0 0.00100333 0.00501667 0.00100333 -0.00301 0 0.00501667 0.0100333 0.00602 0 0.00100333 0 -0 0 0 0 0 0.00100333 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0 0.00200667 0.00200667 0.00602 0.00200667 0 0 0 -0 0 0 0.00802667 0.00802667 0.00501667 0.00200667 0 -0.00501667 0.0100333 0 0 0 0 0 0 -0 0 0 0.60844 1.04963 1.03876 1.03574 1.0303 -1.0291 1.02849 1.0291 1.02668 1.02004 1.02366 1.02245 1.02426 -1.01943 1.01581 1.02004 1.02728 0.841568 0.4515 0.46956 0.456517 -0.461533 0.461533 0.476583 0.482603 0.47257 0.47859 0.47257 0.474577 -0.459527 0.477587 0.452503 0.518723 1.00131 1.02608 1.03091 1.02306 -1.01702 1.01218 1.02789 1.02245 1.0303 1.03151 1.0303 1.03936 -1.02124 0.404343 0.181603 0.17157 0.13846 0.149497 0.166553 0.163543 -0.15953 0.164547 0.160533 0.158527 0.14749 0.142473 0.12642 0.107357 -0.414377 1.03997 1.0291 1.0297 1.02245 1.02366 1.02487 1.02366 -1.02064 1.02004 1.014 1.0303 1.01037 1.01641 1.02245 1.0146 -1.01702 1.03151 1.0297 1.01702 1.00675 1.0291 1.0146 0.940912 -1.03212 1.01822 1.01943 1.01641 1.02245 1.02245 1.01883 1.01098 -1.02306 1.02547 1.03151 1.01339 1.01702 1.02366 1.01943 1.02306 -1.02426 1.02306 1.02547 1.03514 1.04238 0.962052 0.169563 0.11137 -0.14147 0.145483 0.15953 0.148493 0.15953 0.13846 0.13545 0.16254 -0.15953 0.15351 0.139463 0.10836 0.11438 0.500663 1.04178 1.03091 -1.02789 1.02245 1.02608 1.02185 1.02064 1.01822 1.02064 1.02245 -1.02608 1.03755 0.845432 0.444477 0.453507 0.470563 0.471567 0.46655 -0.47257 0.483607 0.486617 0.465547 0.465547 0.465547 0.46956 0.45752 -0.44548 0.468557 0.936684 1.03212 1.02668 1.01641 1.02185 1.01762 -1.02185 1.02547 1.02245 1.01883 1.01883 1.0291 1.03453 1.03091 -1.0303 1.04601 1.05326 0.871192 0.00501667 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0.00501667 0.00802667 0.00301 0.00200667 0 0 0.00301 -0.00200667 0.00401333 0 0.00602 0.00802667 0.00301 0 0 -0 0 0 0 0 0.00301 0.00401333 0 -0 0 0.00401333 0 0 0 0 0.00100333 -0.00301 0 0.00100333 0.00501667 0.00702333 0.00401333 0.00200667 0.00100333 -0 0 0 0.00301 0 0 0 0 -0 0 0 0 0 0.00200667 0.00401333 0.00903 -0.00100333 0 0 0 0 0.00301 0.00602 0.0110367 -0.00602 0.00100333 0.00401333 0 0 0 0 0 -0 0 0 0.602 1.05869 1.04359 1.03393 1.03212 -1.02487 1.02426 1.02185 1.01943 1.0291 1.02426 1.02245 1.01883 -1.01641 1.02789 1.02426 1.03272 0.963864 0.492637 0.440463 0.452503 -0.47558 0.47257 0.476583 0.477587 0.4816 0.477587 0.46956 0.473573 -0.470563 0.443473 0.420397 0.635488 1.02668 1.03272 1.02245 1.02064 -1.01581 1.01943 1.02064 1.02064 1.02064 1.02487 1.03695 1.0297 -1.03695 0.675416 0.161537 0.166553 0.140467 0.143477 0.14749 0.155517 -0.15351 0.160533 0.151503 0.15953 0.158527 0.146487 0.130433 0.12642 -0.712768 1.04299 1.0291 1.02366 1.0291 1.02547 1.0303 1.01279 -1.02366 1.02789 1.01158 1.01943 1.02124 1.0297 1.02426 1.02789 -1.01943 1.00916 1.01098 1.02728 1.02547 1.02185 1.03151 1.02487 -1.0303 1.02064 1.00856 1.01943 1.01762 1.01641 1.02064 1.0146 -1.02487 1.02487 1.0152 1.01641 1.01943 1.01943 1.02487 1.02004 -1.02124 1.02487 1.02668 1.0291 1.03574 0.965072 0.19264 0.109363 -0.124413 0.136453 0.139463 0.157523 0.15953 0.1505 0.16254 0.158527 -0.142473 0.139463 0.121403 0.124413 0.11438 0.49063 1.03151 1.0291 -1.02306 1.02849 1.0297 1.02728 1.02849 1.014 1.01943 1.03091 -1.03212 1.03755 0.926416 0.46053 0.46354 0.450497 0.467553 0.4816 -0.4816 0.473573 0.47859 0.470563 0.46354 0.47859 0.480597 0.44849 -0.45451 0.4816 0.95722 1.02306 1.02668 1.02064 1.01943 1.02064 -1.01702 1.01279 1.02366 1.02789 1.02789 1.02306 1.02426 1.02789 -1.03755 1.0442 1.05265 0.864752 0.00501667 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0.00301 0 0.00501667 0 0 0.00100333 0.00200667 -0.00702333 0.00200667 0.00100333 0 0 0 0.00100333 0 -0 0.00301 0.00401333 0 0 0 0 0 -0.00501667 0.00200667 0 0 0 0.00301 0 0 -0 0 0 0 0 0 0.00100333 0.00100333 -0.00100333 0.00200667 0.00100333 0 0 0.00702333 0.00501667 0 -0 0.00100333 0 0 0 0 0.00602 0.00301 -0 0.00401333 0.00702333 0.00602 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0 0 0 0.588957 1.0593 1.04903 1.04299 1.0303 -1.02547 1.02547 1.02124 1.01822 1.01943 1.01822 1.02426 1.02728 -1.02124 1.02547 1.02789 1.02608 1.01822 0.67928 0.449493 0.45451 -0.46053 0.452503 0.461533 0.47558 0.470563 0.471567 0.473573 0.476583 -0.467553 0.426417 0.384277 0.89824 1.03453 1.0303 1.03272 1.01762 -1.02426 1.01702 1.02547 1.02004 1.02245 1.02547 1.02487 1.0303 -1.03453 0.978964 0.268893 0.10535 0.127423 0.14448 0.154513 0.158527 -0.170567 0.179597 0.155517 0.14448 0.131437 0.128427 0.1204 0.29498 -0.998292 1.03997 1.03634 1.02185 1.02124 1.02124 1.02004 1.02245 -1.02668 1.01762 1.02668 1.01279 1.01943 1.02064 1.02064 1.02064 -1.0146 1.01702 1.02064 1.02426 1.02668 1.02366 1.01943 1.0291 -1.0146 1.01158 1.02789 1.03936 1.01883 1.02728 1.02366 1.02366 -1.01279 1.01641 1.02426 1.01822 1.01581 1.02728 1.02789 1.02004 -1.02547 1.01762 1.02849 1.03574 1.04118 0.994064 0.24983 0.100333 -0.127423 0.133443 0.140467 0.161537 0.14448 0.155517 0.155517 0.145483 -0.136453 0.133443 0.143477 0.113377 0.118393 0.579927 1.03212 1.03695 -1.02185 1.02547 1.02668 1.02487 1.02849 1.01158 1.0146 1.03453 -1.02547 1.03332 0.992252 0.504677 0.46053 0.47257 0.46354 0.465547 -0.468557 0.468557 0.47859 0.486617 0.47257 0.47859 0.453507 0.446483 -0.42742 0.567887 1.00614 1.03936 1.03574 1.01702 1.01883 1.01943 -1.02668 1.03272 1.02185 1.02426 1.01943 1.02487 1.02608 1.03091 -1.03212 1.03997 1.05205 0.824824 0 0 0 0 -0 0.00100333 0.01505 0.0100333 0 0 0.00702333 0.00200667 -0 0 0 0 0.00100333 0.00702333 0.00903 0.00200667 -0 0 0 0 0.00301 0.00903 0.00501667 0.00401333 -0 0 0.00200667 0 0 0 0 0 -0 0.00100333 0.00401333 0 0 0 0.00702333 0.0110367 -0.00802667 0.00200667 0 0 0.00100333 0.00401333 0.00501667 0.00200667 -0 0 0 0 0 0 0.00100333 0.00602 -0.00401333 0 0 0 0 0 0 0 -0.00100333 0 0 0 0.00100333 0.00401333 0.00802667 0.00301 -0 0 0 0 0 0 0 0 -0 0 0 0.546817 1.05688 1.04903 1.04178 1.03453 -1.0303 1.02789 1.0297 1.02728 1.02185 1.02668 1.01702 1.02064 -1.02245 1.02789 1.02789 1.02306 1.0297 0.968092 0.519727 0.44548 -0.440463 0.453507 0.456517 0.461533 0.46053 0.458523 0.46655 0.461533 -0.458523 0.455513 0.668976 1.02064 1.0303 1.02547 1.01883 1.02124 -1.01641 1.01279 1.0291 1.03212 1.0297 1.02547 1.02547 1.03212 -1.03272 1.03876 0.759136 0.167557 0.103343 0.128427 0.14147 0.137457 -0.151503 0.143477 0.127423 0.124413 0.142473 0.11137 0.172573 0.831264 -1.04118 1.03514 1.02668 1.02668 1.03151 1.02426 1.01822 1.02064 -1.02245 1.01883 1.01641 1.02668 1.02004 1.01822 1.0152 1.02245 -1.03091 1.01762 1.01641 1.02124 1.01279 1.01883 1.01943 1.01883 -1.01581 1.02185 1.02668 1.0152 1.03151 1.00977 1.00614 1.02185 -1.02849 1.01702 1.01883 1.03151 1.01702 1.0146 1.02124 1.02185 -1.01943 1.03091 1.02487 1.03212 1.03634 1.02728 0.45752 0.109363 -0.124413 0.139463 0.14448 0.143477 0.139463 0.148493 0.14147 0.14147 -0.13545 0.131437 0.122407 0.112373 0.140467 0.85316 1.03876 1.03332 -1.03393 1.0297 1.0291 1.01279 1.01822 1.00433 1.02064 1.02245 -1.0297 1.03453 1.02789 0.693448 0.459527 0.4515 0.461533 0.458523 -0.47558 0.470563 0.470563 0.486617 0.467553 0.46354 0.453507 0.455513 -0.44849 0.82096 1.02124 1.02124 1.01581 1.01702 1.02306 1.02547 -1.02547 1.02185 1.02185 1.01883 1.02547 1.0291 1.02547 1.03091 -1.03695 1.04782 1.0605 0.793912 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0.00903 0.00702333 0 0 0 -0 0.00501667 0.00200667 0.00501667 0.00200667 0.00100333 0 0 -0 0.00401333 0 0 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00401333 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00903 0.00501667 0 0 0 0 0 -0 0 0 0.00301 0 0 0 0.00301 -0.0100333 0.0110367 0.00903 0 0 0 0 0 -0 0 0 0.509693 1.05144 1.04601 1.03634 1.03272 -1.0303 1.02124 1.01762 1.02124 1.02728 1.01822 1.0297 1.02124 -1.0152 1.01762 1.01218 1.02124 1.01702 1.02185 0.914984 0.528757 -0.443473 0.450497 0.440463 0.459527 0.47257 0.462537 0.447487 0.458523 -0.46655 0.625184 0.9995 1.03091 1.02789 1.02426 1.0291 1.01943 -1.00796 1.02245 1.01762 1.02124 1.03393 1.03091 1.02728 1.03997 -1.0297 1.03997 1.03091 0.690872 0.190633 0.118393 0.118393 0.121403 -0.133443 0.14147 0.131437 0.130433 0.10535 0.17759 0.729512 1.0442 -1.03816 1.02366 1.02487 1.02185 1.02004 1.01822 1.02668 1.00916 -1.02366 1.02547 1.01943 1.02306 1.02728 1.01581 1.02487 1.02487 -1.01279 1.00977 1.02124 1.01158 1.02849 1.00796 1.0146 1.03212 -1.01702 1.014 1.02245 1.02306 1.0146 1.02547 1.02487 1.00977 -1.02124 1.02608 1.02728 1.01822 1.01581 1.01762 1.0152 1.01883 -1.0291 1.02668 1.02668 1.02366 1.0297 1.05386 0.831264 0.137457 -0.103343 0.113377 0.134447 0.14147 0.146487 0.14448 0.140467 0.137457 -0.143477 0.127423 0.125417 0.106353 0.335113 1.02185 1.03393 1.03695 -1.0297 1.02366 1.02789 1.02366 1.03091 0.998896 1.02185 1.02668 -1.02245 1.0297 1.03514 0.956012 0.49364 0.450497 0.455513 0.473573 -0.46053 0.45752 0.474577 0.453507 0.461533 0.464543 0.446483 0.43344 -0.579927 0.99648 1.0291 1.02426 1.02064 1.02064 1.02426 1.02547 -1.02728 1.01702 1.01581 1.02487 1.01883 1.0152 1.02185 1.03695 -1.04299 1.04299 1.05446 0.734664 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0 0 0.00802667 0.00702333 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0.00200667 0 0 0 0.00301 0.00301 -0.00501667 0.00100333 0 0 0 0.00301 0.00602 0.00401333 -0 0.00200667 0.00301 0.00501667 0.00602 0.00501667 0.00702333 0.00200667 -0 0 0 0.00802667 0.00802667 0.00602 0.00301 0.00100333 -0.00100333 0.00903 0.0130433 0.00301 0.00602 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.49063 1.06232 1.04903 1.03393 1.03151 -1.0291 1.02789 1.02487 1.02366 1.02306 1.02124 1.02064 1.0303 -1.02306 1.02366 1.01822 1.01943 1.02426 1.03453 1.02789 0.944536 -0.607152 0.46655 0.4515 0.432437 0.435447 0.446483 0.45451 0.501667 -0.73724 1.00554 1.0297 1.03332 1.02849 1.02064 1.0297 1.02789 -1.01943 1.00494 1.01883 1.02245 1.02366 1.02728 1.02426 1.02064 -1.02728 1.03272 1.03514 1.02789 0.851872 0.362203 0.163543 0.11739 -0.103343 0.1204 0.12341 0.149497 0.395313 0.909832 1.03997 1.04299 -1.02728 1.03151 1.03091 1.02366 1.01762 1.0303 1.02064 1.02849 -1.02547 1.02426 1.02547 1.01822 1.02849 1.01279 1.01883 1.0146 -1.02185 1.01762 1.0146 1.02849 1.01883 1.02245 1.03695 1.02306 -1.01339 1.02366 1.01098 1.00916 1.01279 1.01279 1.01822 1.0297 -1.0152 1.00735 1.02668 1.01339 1.01762 1.02608 1.02849 1.01702 -1.01762 1.03151 1.02849 1.02487 1.03151 1.03936 1.02608 0.46956 -0.11438 0.11739 0.13545 0.12943 0.1505 0.15351 0.142473 0.142473 -0.12341 0.121403 0.112373 0.164547 0.855736 1.03332 1.03755 1.03272 -1.02849 1.01943 1.02004 1.02004 1.02064 0.994064 1.01762 1.02426 -1.02004 1.02668 1.03393 1.02849 0.858312 0.46655 0.449493 0.467553 -0.462537 0.458523 0.455513 0.459527 0.46655 0.447487 0.447487 0.540797 -0.956012 1.03151 1.03091 1.02728 1.02668 1.02064 1.02064 1.02004 -1.02608 1.02245 1.02306 1.01762 1.02064 1.0297 1.0297 1.03151 -1.03332 1.04782 1.0593 0.671552 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0.00401333 0.00100333 0.00301 0 0 -0 0 0 0 0.00501667 0.00401333 0.00100333 0 -0 0.00401333 0 0 0 0.00100333 0.00301 0.00200667 -0.00401333 0 0 0 0 0 0 0 -0 0 0.00602 0.00100333 0 0 0 0 -0.00602 0.00602 0.00401333 0.00100333 0 0.00501667 0.00100333 0.00301 -0.00802667 0.00802667 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00702333 -0 0 0 0 0 0 0 0 -0 0 0 0.416383 1.04661 1.04601 1.03212 1.03151 -1.0297 1.02185 1.02366 1.02547 1.01822 1.02004 1.02185 1.02306 -1.01218 1.02245 1.02366 1.01702 1.02185 1.02668 1.02004 1.02849 -1.01702 0.938496 0.744968 0.652232 0.616168 0.665112 0.817096 0.977152 -1.03272 1.03332 1.03332 1.02608 1.03151 1.02185 1.02608 1.01822 -1.02668 1.01822 1.01702 1.02004 1.01822 1.02728 1.02245 1.02124 -1.02487 1.02366 1.03151 1.03272 1.03997 1.014 0.895664 0.644504 -0.545813 0.534777 0.658672 0.932456 1.0152 1.03816 1.04359 1.03151 -1.02608 1.02668 1.02668 1.02245 1.02426 1.02608 1.0146 1.014 -1.0146 1.02124 1.02487 1.02608 1.02124 1.03091 1.02064 1.01218 -1.01822 1.02366 1.02608 1.01702 1.01762 1.01762 1.0152 1.02608 -1.02185 1.01581 1.02728 1.02185 1.02124 1.01702 1.01883 1.01158 -1.0146 1.02004 1.01641 1.02668 1.02668 1.02366 1.02245 1.02366 -1.01339 1.02185 1.02668 1.02668 1.03634 1.03151 1.03634 0.988024 -0.386283 0.121403 0.11137 0.1204 0.125417 0.12943 0.116387 0.122407 -0.12943 0.106353 0.173577 0.68572 1.04178 1.03514 1.02366 1.02547 -1.02004 1.02366 1.0291 1.0297 1.01641 0.991648 1.02064 1.01581 -1.02487 1.02366 1.03332 1.03151 1.04057 0.896952 0.51471 0.470563 -0.468557 0.456517 0.450497 0.441467 0.437453 0.473573 0.643216 0.96628 -1.01943 1.02487 1.02004 1.01702 1.02487 1.02426 1.01702 1.01762 -1.01581 1.02124 1.02608 1.02306 1.02608 1.02728 1.03091 1.03332 -1.03816 1.04782 1.05809 0.581933 0 0 0 0 -0 0 0 0 0 0.00702333 0 0.00401333 -0.00501667 0.00301 0 0 0 0 0 0.00401333 -0.00401333 0.00602 0.00301 0 0 0 0.00501667 0.00702333 -0.00200667 0 0 0.00301 0.00903 0.00602 0.00602 0 -0 0 0 0 0 0 0.00301 0.00200667 -0 0 0 0 0.00401333 0.0100333 0.00702333 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0.00903 0 0 0 0 -0 0 0 0.00301 0 0 0 0 -0 0 0.00301 0.00501667 0 0 0 0 -0 0 0 0.365213 1.04903 1.05024 1.04238 1.03755 -1.03091 1.02849 1.02789 1.02487 1.01883 1.01883 1.02064 1.02064 -1.02487 1.02064 1.01883 1.02245 1.02004 1.03151 1.02849 1.0291 -1.02728 1.02668 1.03755 1.02789 1.02366 1.02668 1.03091 1.03514 -1.02668 1.02306 1.02789 1.0152 1.02608 1.01702 1.01883 1.0297 -1.02064 1.02245 1.02366 1.02245 1.02426 1.01762 1.01822 1.02185 -1.02185 1.03091 1.03091 1.03151 1.0454 1.03936 1.03574 1.04963 -1.04118 1.03634 1.03695 1.04238 1.04238 1.03212 1.03212 1.02849 -1.0291 1.0297 1.01943 1.02789 1.02004 1.01098 1.0146 1.02245 -1.02668 1.02306 1.02306 1.02306 1.02426 1.01762 1.00614 1.02728 -1.01279 1.02306 1.02366 1.02608 1.02004 1.01279 1.01883 1.01279 -1.01883 1.02064 1.02849 1.02789 1.01822 1.02245 1.01762 1.02789 -1.02547 1.02366 1.02064 1.01822 1.02426 1.02668 1.01943 1.02366 -1.01822 1.01702 1.02668 1.02366 1.04299 1.02487 1.03514 1.05144 -0.997084 0.540797 0.182607 0.113377 0.09933 0.112373 0.134447 0.1204 -0.128427 0.305013 0.799064 1.02728 1.03393 1.0297 1.02245 1.02728 -1.02245 1.02064 1.01581 1.02245 1.02728 0.9995 1.02547 1.02668 -1.02426 1.02004 1.0303 1.02849 1.03151 1.03755 1.00192 0.84028 -0.600997 0.504677 0.500663 0.552837 0.693448 0.931248 1.02124 1.03272 -1.02668 1.0297 1.02426 1.0291 1.02668 1.02366 1.02245 1.01883 -1.01762 1.02366 1.02124 1.01883 1.02789 1.0303 1.03574 1.0297 -1.04238 1.04601 1.05567 0.50267 0 0 0 0 -0 0 0 0 0.00100333 0 0.00301 0.00100333 -0 0 0 0 0 0.0130433 0.0140467 0.00903 -0.00702333 0.00100333 0 0.00802667 0.00903 0.00301 0 0 -0.00602 0.00903 0.00501667 0 0 0 0 0 -0.00602 0.00802667 0 0 0 0 0 0.00301 -0.00301 0.00702333 0.00702333 0.00401333 0 0 0 0 -0 0.00100333 0 0 0 0.00501667 0.00401333 0 -0 0 0 0 0 0.0110367 0.01806 0.00802667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.299997 1.04661 1.04359 1.03393 1.03212 -1.0297 1.02426 1.02004 1.0146 1.02124 1.02004 1.01943 1.02064 -1.01581 1.02124 1.02426 1.02547 1.02064 1.02185 1.01943 1.02668 -1.02668 1.03332 1.02487 1.0291 1.02426 1.03272 1.02426 1.02487 -1.02849 1.02366 1.03091 1.02668 1.03212 1.00856 1.02064 1.02668 -1.02124 1.02245 1.02245 1.02064 1.0297 1.01943 1.01581 1.02668 -1.02487 1.02306 1.02487 1.02728 1.01943 1.03755 1.03212 1.03876 -1.03212 1.02668 1.0303 1.03695 1.03997 1.0303 1.02849 1.02728 -1.02668 1.02789 1.0297 1.0297 1.02064 1.0146 1.03151 1.01822 -1.0152 1.02547 1.01702 1.01218 1.01883 1.01883 1.03091 1.02547 -1.01822 1.01339 1.02728 1.0291 1.02487 0.998896 1.01702 1.02185 -1.0152 1.02004 1.01822 1.01762 1.02547 1.01883 1.01641 1.02789 -1.01762 1.02547 1.02124 1.02185 1.01943 1.02124 1.02728 1.01883 -1.02668 1.01702 1.02064 1.02245 1.02366 1.02547 1.03695 1.03453 -1.0448 1.0297 0.928832 0.584943 0.39732 0.309027 0.336117 0.459527 -0.742392 0.989836 1.03997 1.03936 1.0291 1.02366 1.01762 1.03332 -1.03393 1.02426 1.02728 1.01822 1.00916 1.00373 1.02064 1.01883 -1.0297 1.02487 1.01822 1.02849 1.03332 1.03272 1.03272 1.02668 -1.01339 1.00735 1.0001 1.01883 1.03091 1.02426 1.0297 1.02547 -1.02366 1.02124 1.01883 1.00977 1.01702 1.0146 1.02185 1.02728 -1.02185 1.02306 1.02789 1.02487 1.01702 1.02124 1.02487 1.02849 -1.03332 1.03695 1.05024 0.417387 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00301 0 0 0 0 0 -0 0 0 0 0 0.00301 0 0 -0 0 0.00200667 0.00401333 0.00602 0.00702333 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0.00100333 0.00401333 0.00301 0 0 0.00301 -0.00501667 0.00200667 0.00100333 0.00501667 0.00200667 0 0 0.00200667 -0.00802667 0.00602 0 0 0.00401333 0.00702333 0 0.00200667 -0.00100333 0 0 0.00200667 0.00200667 0 0 0 -0 0 0 0.24381 1.03332 1.0448 1.04299 1.03393 -1.02064 1.01943 1.02547 1.01822 1.01822 1.02124 1.02366 1.01762 -1.01762 1.02426 1.02124 1.01822 1.02547 1.02366 1.02124 1.02004 -1.02608 1.01943 1.0297 1.02668 1.02728 1.02547 1.02849 1.02789 -1.02366 1.02366 1.02789 1.02487 1.0152 1.02185 1.02728 1.01218 -1.01641 1.00735 1.0146 1.02004 1.02547 1.02487 1.02547 1.02004 -1.02366 1.03212 1.02608 1.02245 1.0291 1.01822 1.02306 1.0303 -1.03091 1.02728 1.03151 1.02547 1.02426 1.01822 1.02668 1.03332 -1.02245 1.014 1.02608 1.0146 1.0146 1.02185 1.0146 1.02668 -1.01822 1.02004 1.02306 1.014 1.00977 1.01883 1.0146 1.02064 -1.02245 1.02124 1.02668 1.01581 1.01339 1.02245 1.01218 1.02124 -1.02608 1.014 1.01158 1.01641 1.0297 1.0146 1.01641 1.01581 -1.02245 1.01883 1.02728 1.02728 1.00856 1.01158 1.01943 1.02124 -1.02366 1.02004 1.02004 1.0152 1.02849 1.03816 1.02728 1.02668 -1.03634 1.03755 1.0454 1.03393 1.02366 1.01641 1.02124 1.03997 -1.03514 1.03514 1.03091 1.0297 1.02185 1.02064 1.01762 1.01943 -1.02185 1.01158 1.02608 1.02608 1.00614 1.00735 1.02487 1.02124 -1.0146 1.0146 1.01883 1.01158 1.02366 1.01641 1.01943 1.03393 -1.03212 1.04057 1.0297 1.02306 1.02004 1.02185 1.03091 1.02185 -1.01581 1.0146 1.01158 1.02064 1.02547 1.02487 1.01581 1.02124 -1.01702 1.01943 1.02728 1.02124 1.02306 1.02668 1.02789 1.03212 -1.03936 1.04842 1.04359 0.321067 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0.00200667 0.0100333 0.0130433 0.00602 0 0 0 -0 0.00903 0.00501667 0.00200667 0 0 0.00702333 0.00903 -0.0100333 0.00200667 0 0 0 0 0 0 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.0100333 0.00802667 0 -0 0.00401333 0.00802667 0.00501667 0.00100333 0.00100333 0 0 -0 0 0.00301 0.00401333 0.00301 0.00301 0.00802667 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0.1806 1.02849 1.05205 1.04359 1.03272 -1.03091 1.0297 1.02608 1.02849 1.02789 1.02064 1.02124 1.02608 -1.02789 1.02608 1.02849 1.02185 1.02124 1.02004 1.01581 1.014 -1.02124 1.01641 1.02245 1.01762 1.02245 1.02245 1.02608 1.02789 -1.02547 1.02668 1.0146 1.01339 1.02004 1.01883 1.00675 1.02004 -1.01943 1.02004 1.02185 1.03151 1.02789 1.02608 1.02487 1.02728 -1.02306 1.02608 1.0146 1.01339 1.03393 1.0291 1.02668 1.02487 -1.02004 1.02124 1.02366 1.02306 1.0291 1.02306 1.02668 1.01702 -1.03393 1.02668 1.01702 1.014 1.01702 1.01943 1.02547 1.02245 -1.01641 1.02064 1.02366 1.01641 1.00977 1.01279 1.0146 1.02487 -1.01581 1.02789 1.02064 1.00554 1.02004 1.02547 1.01641 1.01098 -1.01098 1.02064 1.01098 1.0152 1.00856 1.01702 1.0146 1.01037 -1.014 1.02608 1.01098 1.0146 1.02547 1.0146 1.01037 1.02124 -1.01098 1.01581 1.02789 1.02064 1.01822 1.01581 1.02849 1.02849 -1.02849 1.02064 1.03151 1.03332 1.03816 1.03514 1.03574 1.03212 -1.03514 1.03393 1.0291 1.02124 1.02487 1.02245 1.02306 1.02487 -1.02487 1.0146 1.02789 1.02426 0.988628 1.014 1.02004 1.03272 -1.02608 1.03272 1.02426 1.02245 1.02064 1.02668 1.0297 1.03514 -1.02245 1.02849 1.0297 1.03634 1.03393 1.02608 1.01943 1.01641 -1.02366 1.02668 1.02426 1.01943 1.01581 1.02004 1.02004 1.01218 -1.01581 1.02547 1.02668 1.02547 1.02608 1.02426 1.03272 1.03272 -1.04661 1.04963 1.0303 0.22876 0 0 0 0 -0 0 0 0 0 0.00200667 0.00903 0.00702333 -0.00100333 0 0 0 0 0.0110367 0.0220733 0.0250833 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00501667 0.00301 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00501667 0.00602 0.00602 0.00602 0.00903 -0.00702333 0.00100333 0.00100333 0.00100333 0 0 0.00100333 0.00602 -0.00401333 0.00200667 0 0 0 0.00301 0.00200667 0 -0 0.00602 0.00602 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.127423 1.00433 1.05205 1.04118 1.03816 -1.03936 1.03272 1.02608 1.02124 1.02185 1.02124 1.01581 1.01702 -1.02124 1.01641 1.01279 1.0146 1.02245 1.02426 1.01641 1.01702 -1.02849 1.02064 1.02064 1.02185 1.01883 1.02366 1.02547 1.01883 -1.02004 1.02185 1.01883 1.02366 1.01883 1.0146 1.01641 1.01581 -1.01218 1.01822 1.014 1.01641 1.02426 1.01339 1.01339 1.02124 -1.02728 1.02245 1.02789 1.03332 1.0297 1.01883 1.02487 1.02004 -1.02487 1.03332 1.01883 1.01702 1.01339 1.0291 1.02245 1.02245 -1.02728 1.01762 1.0146 1.01762 1.02004 1.02668 1.02064 1.02547 -1.02547 1.01702 1.01943 1.02185 1.02366 1.01581 1.02004 1.02185 -1.0152 1.00675 1.02064 1.02608 1.01762 1.01943 1.01641 1.02064 -1.02728 1.01822 1.01641 1.0152 1.02124 1.0303 1.02789 1.02849 -1.0291 1.01822 1.0297 1.0146 1.02306 1.02124 1.01943 1.01218 -1.0146 1.01581 1.0146 1.02124 1.02245 1.02004 1.02366 1.02608 -1.02185 1.04057 1.03997 1.03332 1.0291 1.02608 1.02728 1.02849 -1.02668 1.01822 1.02124 1.02245 1.02306 1.02426 1.02789 1.02245 -1.02487 1.02426 1.0303 1.00977 0.997084 1.02185 1.0146 1.01822 -1.0152 1.02004 1.03574 1.02668 1.02728 1.0297 1.02487 1.02185 -1.02426 1.02426 1.01822 1.02547 1.01943 1.0303 1.02004 1.02124 -1.01762 1.01943 1.0152 1.02426 1.02547 1.02366 1.01702 1.03151 -1.02728 1.02185 1.02124 1.02366 1.01943 1.02849 1.02849 1.03332 -1.03997 1.04903 1.00675 0.143477 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0.00802667 0.00602 0 0 0 0 -0 0.00200667 0.00501667 0.00702333 0.00702333 0 0 0.00200667 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0 0.00100333 0 0 -0 0 0 0 0 0 0 0.00602 -0.00802667 0.00301 0 0 0 0.00301 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0672233 0.965072 1.05265 1.0442 1.03393 -1.02668 1.02064 1.02185 1.02004 1.02487 1.02426 1.02004 1.02789 -1.02547 1.02185 1.02124 1.02124 1.01822 1.02245 1.02849 1.02004 -1.00977 1.01762 1.02306 1.01762 1.02608 1.01822 1.01037 1.02124 -1.02849 1.02064 1.02185 1.02608 1.02728 1.0146 1.02366 1.0291 -1.01581 1.02728 1.02004 1.01581 1.01098 1.02426 1.02306 1.01822 -1.01158 1.02124 1.01883 1.01158 1.02547 1.02849 1.02366 1.02426 -1.02004 1.02668 1.02185 1.02245 1.02608 1.02487 1.03091 1.02849 -1.03634 1.03876 1.04238 1.03514 1.02487 1.02306 1.02366 1.00977 -1.02668 1.02124 1.00554 1.02004 1.0297 1.02789 1.02789 1.01037 -1.01943 1.02306 1.0291 1.02547 1.0297 1.01641 1.01581 1.02728 -1.01822 1.02487 1.02306 1.02608 1.01762 1.02004 1.02789 1.01641 -1.01883 1.01279 1.01098 1.02668 1.02547 1.01641 1.01762 1.01702 -1.02245 1.01762 1.02064 1.02426 1.03091 1.02004 1.03634 1.03272 -1.02306 1.03997 1.01883 1.01641 1.02004 1.01762 1.01702 1.02547 -1.02608 1.02124 1.02366 1.02789 1.0297 1.02124 1.02124 1.01762 -1.03091 1.02004 1.02004 1.0001 1.00252 1.0291 1.02245 1.02124 -1.01883 1.01883 1.014 1.02004 1.0152 1.01098 1.01943 1.02306 -1.01883 1.01822 1.01822 1.01339 1.01218 1.01883 1.02547 1.02185 -1.02366 1.01943 1.02004 1.02185 1.02245 1.02366 1.02789 1.02124 -1.01762 1.01883 1.02306 1.02426 1.02849 1.03212 1.02728 1.03151 -1.03997 1.05446 0.976548 0.0762533 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00702333 0.01204 0.00401333 0 0 0 0 0 -0 0 0 0 0.00301 0.00401333 0.00802667 0.0110367 -0.00802667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00401333 0.00100333 0 -0 0 0.00100333 0 0 0.00301 0.00401333 0.00301 -0 0 0.00100333 0 0.00100333 0.00501667 0 0 -0 0 0 0.00200667 0.00802667 0.00200667 0 0 -0.00100333 0.00100333 0 0 0 0 0 0 -0 0 0 0.02709 0.916272 1.05024 1.03816 1.02547 -1.02185 1.02064 1.02245 1.02004 1.01339 1.01822 1.01943 1.02124 -1.02245 1.01943 1.02004 1.02064 1.02004 1.01581 1.01702 1.02185 -1.02547 1.02487 1.01762 1.02608 1.02366 1.02487 1.02547 1.02608 -1.02487 1.01822 1.01822 1.01822 1.0146 1.0146 1.0146 1.01581 -1.0146 1.02487 1.02366 1.00735 1.01641 1.02064 1.03151 1.01883 -1.01218 1.01702 1.02064 1.02608 1.01218 1.01581 1.02366 1.01762 -1.01822 1.01822 1.01641 1.01883 1.02185 1.02487 1.04601 1.05265 -1.05748 1.04118 1.05024 1.05024 1.05326 1.0291 1.01279 1.01641 -1.02185 1.01339 1.01822 1.02124 1.01581 1.01702 1.01822 1.02487 -1.02124 1.01883 1.0146 1.02487 1.01943 1.02426 1.01702 1.02487 -1.02849 1.00373 1.01702 1.02728 1.02608 1.01339 1.01883 1.02728 -1.0152 1.02185 1.01098 1.01943 1.0297 1.02004 1.02004 1.02185 -1.03151 1.03514 1.02547 1.02487 1.02487 1.0152 1.02004 1.00735 -1.01943 1.02668 1.02728 1.02064 1.02004 1.02789 1.02668 1.02426 -1.02185 1.03332 1.01822 1.02426 1.02124 1.02668 1.02124 1.02004 -1.02668 1.02306 1.0291 0.989836 1.014 1.01883 1.01702 1.01822 -1.02185 1.01762 1.02185 1.02124 1.0146 1.02366 1.01218 1.0146 -1.01943 1.01762 1.01762 1.02124 1.0297 1.0303 1.02487 1.02124 -1.03091 1.01883 1.02728 1.01883 1.01822 1.02185 1.02789 1.02124 -1.02004 1.01762 1.02366 1.02306 1.02487 1.02487 1.0291 1.0291 -1.0454 1.05567 0.884072 0.0170567 0 0 0 0 -0.00100333 0 0.00100333 0 0 0.00301 0.00501667 0.00200667 -0 0 0 0 0.00301 0.00802667 0.00200667 0 -0 0 0.00200667 0.00301 0 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.00301 0 0 0 0 0 0 -0.00200667 0 0 0.00401333 0.00301 0.00100333 0 0 -0.00301 0.00200667 0.00301 0.00401333 0.00301 0 0 0.00100333 -0 0 0 0 0 0.00301 0.00401333 0.00602 -0.00301 0 0 0 0.00501667 0 0 0 -0 0 0 0 0.784896 1.05869 1.04903 1.0454 -1.04178 1.03453 1.02124 1.02245 1.0291 1.0291 1.02185 1.0152 -1.01822 1.02124 1.01883 1.01762 1.02124 1.01943 1.01822 1.02668 -1.01883 1.01218 1.01702 1.02064 1.02124 1.01581 1.014 1.02547 -1.02124 1.02366 1.02728 1.02547 1.02306 1.01943 1.02608 1.02547 -1.02728 1.0303 1.02245 1.00856 1.03453 1.01702 1.00675 1.01098 -1.02789 1.01943 1.02185 1.02487 1.01943 1.02064 1.014 1.02547 -1.02124 1.01822 1.0303 1.02426 1.05386 1.06715 1.0593 1.0593 -1.05628 1.05326 1.05386 1.05869 1.05386 1.05265 1.0448 1.01339 -1.02004 1.01762 1.01158 1.01883 1.02426 1.02608 1.02728 1.01339 -1.01218 1.02547 1.02004 1.01158 1.01339 1.02789 1.01883 1.02064 -1.00916 1.01581 1.0146 1.01822 1.01762 1.01822 1.01641 1.01641 -1.02728 1.01158 1.01702 1.02306 1.0152 1.02668 1.02245 1.02245 -1.02547 1.04661 1.04118 1.05507 1.05205 1.04842 1.04299 1.0297 -1.02185 1.01762 1.02245 1.03453 1.03151 1.02728 1.02245 1.02185 -1.02366 1.02608 1.02426 1.02124 1.02608 1.02064 1.02306 1.02124 -1.02547 1.02426 1.02185 0.980172 1.02608 1.02245 1.01702 1.01641 -1.03272 1.01943 1.02849 1.02426 1.02366 1.01822 1.02064 1.02366 -1.02185 1.02366 1.01218 1.01641 1.01641 1.01641 1.0152 1.01702 -1.00916 1.01218 1.0152 1.02004 1.02064 1.00977 1.0146 1.02124 -1.02245 1.0152 1.02306 1.0146 1.02245 1.02487 1.03695 1.04178 -1.04057 1.05205 0.725648 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0 0 0 0.00301 0.00100333 0.00200667 0 -0.00702333 0.00401333 0 0 0 0 0 0.0100333 -0.0110367 0.00702333 0.00501667 0.00501667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0 0 0 0 0 -0 0 0 0.00100333 0 0 0 0 -0.00401333 0.00702333 0.00401333 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.623896 1.06171 1.04359 1.03695 -1.0303 1.03212 1.03393 1.03091 1.02426 1.02185 1.02306 1.01762 -1.01822 1.02245 1.02245 1.01883 1.0152 1.02064 1.02728 1.01702 -1.02366 1.02004 1.02366 1.02366 1.01158 1.02245 1.02124 1.01279 -1.02245 1.02245 1.02426 1.02789 1.03272 1.03755 1.0303 1.02366 -1.02185 1.02366 1.0303 1.00554 1.0001 1.02366 1.02608 1.02487 -1.02366 1.02185 1.02306 1.02064 1.02426 1.01641 1.02064 1.01702 -1.01883 1.00554 1.02004 1.04601 1.06594 1.05205 1.05748 1.05024 -1.0448 1.04782 1.04903 1.05205 1.05084 1.05265 1.05567 1.0291 -1.01339 1.0152 1.02185 1.01581 1.0152 1.02124 1.02004 1.01762 -1.0291 1.0146 1.0146 1.02064 1.01098 1.02547 1.0146 1.02366 -1.02366 1.02547 1.0146 1.02547 1.01641 1.02004 1.014 1.01822 -1.02668 1.0146 1.02608 1.02245 1.01641 1.01762 1.01218 1.02487 -1.0442 1.05205 1.0605 1.05205 1.04963 1.06111 1.05265 1.05446 -1.04118 1.0146 1.02728 1.02487 1.01822 1.01943 1.01641 1.01822 -1.02004 1.01883 1.01641 1.02185 1.014 1.02064 1.01581 1.01822 -1.0146 1.01822 0.995272 0.99346 1.02547 1.02608 1.02185 1.0152 -1.02245 1.0146 1.01641 1.01581 1.0152 1.02608 1.02426 1.02064 -1.0146 1.01581 1.01943 1.03091 1.02487 1.01762 1.02306 1.02064 -1.03151 1.02124 1.02004 1.02004 1.01943 1.02004 1.02366 1.02245 -1.02185 1.01883 1.02004 1.02789 1.0291 1.02789 1.0303 1.03997 -1.04903 1.05688 0.537787 0 0 0 0 0 -0 0 0 0 0 0 0 0.0110367 -0.00602 0.00401333 0.00200667 0.00100333 0.00100333 0 0 0 -0 0 0.00200667 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0.00401333 -0.00802667 0.00401333 0.00100333 0.00200667 0.00903 0.0110367 0.00401333 0 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00602 0.00200667 0 0 0 0.00301 0 -0 0 0 0 0.450497 1.04782 1.04601 1.03876 -1.03634 1.0297 1.02849 1.02608 1.02245 1.01943 1.02366 1.02306 -1.02004 1.02487 1.02004 1.02426 1.02487 1.02064 1.02064 1.02064 -1.01943 1.01943 1.02366 1.0146 1.01702 1.01581 1.02064 1.01883 -1.01822 1.014 1.02004 1.02547 1.01339 1.01702 1.01037 1.00614 -1.01339 1.01883 1.02366 1.01339 0.991648 1.02728 1.01158 1.02245 -1.02668 1.03091 1.02306 1.02185 1.02004 1.01641 1.01702 1.02487 -1.01762 1.0146 1.03816 1.05265 1.04601 1.06292 1.05144 1.05567 -1.05265 1.05265 1.05446 1.05265 1.05446 1.05748 1.04661 1.04842 -1.02426 1.02426 1.01339 1.03574 1.01158 1.014 1.0146 1.02185 -1.01762 1.03212 1.0152 1.01822 1.02426 1.01943 1.01158 1.014 -1.02245 1.0152 1.02366 1.02245 1.01581 1.01702 1.02547 1.02668 -1.00916 1.02004 1.01581 1.02668 1.01883 1.02608 1.02608 1.05567 -1.06111 1.05446 1.05024 1.05628 1.0454 1.04661 1.05446 1.05326 -1.04782 1.03574 1.02004 1.01279 1.014 1.01883 1.02487 1.02185 -1.03091 1.02004 1.02124 1.0152 1.01822 1.02728 1.01702 1.01883 -1.01581 1.02547 0.977152 1.01581 1.01943 1.01822 1.02547 1.02487 -1.02366 1.01883 1.01098 1.01762 1.02004 1.02185 1.01702 1.01339 -1.02728 1.02608 1.02728 1.02608 1.02004 1.01943 1.01581 1.01762 -1.01218 1.014 1.01943 1.01037 1.01822 1.02245 1.02306 1.01883 -1.02064 1.01943 1.02306 1.02245 1.02185 1.0297 1.03936 1.04057 -1.0454 1.04722 0.37023 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0 0 0 0 0 0 0.00100333 -0.00200667 0 0 0 0 0 0.00301 0.00602 -0.00401333 0 0 0.00100333 0.00802667 0.00903 0.0110367 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00301 0.00401333 0.00602 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00501667 0.00501667 0.00802667 0.00401333 0.00702333 0.00802667 -0.00501667 0.00401333 0.00602 0.00501667 0.0100333 0.0110367 0.00802667 0.00802667 -0.00602 0 0 0 0 0 0 0 -0 0 0 0 0.312037 1.04903 1.05205 1.03997 -1.03574 1.0297 1.0297 1.02366 1.02124 1.02547 1.01943 1.02185 -1.02487 1.02487 1.014 1.01822 1.02124 1.02245 1.02426 1.01702 -1.01822 1.0146 1.02004 1.02306 1.02185 1.02245 1.02245 1.02245 -1.03695 1.02185 1.01581 1.0152 1.02306 1.0152 1.0146 1.01762 -1.01218 1.01279 1.0146 1.01641 0.974736 1.01279 1.02487 1.01883 -1.01279 1.01702 1.02124 1.02366 1.0146 1.02426 1.0152 1.00675 -1.01822 1.02366 1.05205 1.04722 1.04782 1.05265 1.04842 1.05084 -1.05809 1.05024 1.05386 1.05688 1.05567 1.05688 1.05144 1.05567 -1.03272 1.02487 1.0291 1.00977 1.02185 1.02487 1.02004 1.01822 -1.01883 1.02245 1.01581 1.02245 1.02124 1.00977 1.01158 1.02728 -1.02185 1.03514 1.02124 1.02004 1.02306 1.01883 1.01883 1.02124 -1.02004 1.02487 1.01641 1.02124 1.014 1.0303 1.05024 1.05024 -1.04782 1.04782 1.05628 1.04178 1.05084 1.0599 1.05084 1.05205 -1.05144 1.05326 1.0442 1.02064 1.02849 1.01822 1.02124 1.02366 -1.01943 1.02124 1.02668 1.02426 1.02245 1.03091 1.01943 1.02426 -1.02245 1.01098 0.983796 1.02185 1.02668 1.0152 1.02064 1.02426 -1.02306 1.02245 1.02004 1.01702 1.01943 1.02426 1.01883 1.0152 -1.01581 1.02004 1.02064 1.02306 1.02728 1.02547 1.02366 1.01762 -1.02185 1.0291 1.0297 1.0303 1.03393 1.0146 1.02185 1.01943 -1.02547 1.02547 1.03393 1.02789 1.03272 1.03634 1.03695 1.04722 -1.05446 1.02668 0.202673 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00702333 0.0100333 0.00301 0.00602 0.00602 -0.00602 0.00903 0.00401333 0 0.00301 0 0 0 -0 0.00702333 0.01204 0.00702333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0.00401333 0.00200667 0 0 0 0 -0 0 0 0 0.00200667 0.00501667 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.16555 1.0146 1.05205 1.03997 -1.03212 1.03212 1.02789 1.02608 1.02124 1.01702 1.0146 1.01581 -1.0146 1.01762 1.00735 1.01641 1.01581 1.01702 1.01943 1.01339 -1.01702 1.014 1.02064 1.0152 1.01641 1.014 1.01641 1.00916 -1.00916 1.02245 1.01943 1.01158 1.02185 1.01279 1.01702 1.03574 -1.02547 1.02789 1.03212 1.01883 0.9995 0.998292 1.02185 1.0152 -1.0291 1.0291 1.02849 1.0291 1.0291 1.02608 1.02789 1.02124 -1.02306 1.03997 1.04963 1.05386 1.06292 1.05205 1.05869 1.04722 -1.0448 1.05326 1.05024 1.05326 1.05084 1.05205 1.04661 1.04903 -1.04903 1.02366 1.01762 1.0146 1.02366 1.01339 1.02064 1.02487 -1.01943 1.01641 1.0146 1.02547 1.01943 1.02426 1.01943 1.02728 -1.0152 1.01883 1.01702 1.02124 1.02849 1.02849 1.02306 1.02064 -1.01762 1.02306 1.01762 1.0291 1.01339 1.03816 1.05567 1.06654 -1.05507 1.04963 1.05628 1.06111 1.05144 1.05869 1.05507 1.04903 -1.04238 1.04238 1.04299 1.0146 1.01581 1.02185 1.01762 1.01883 -1.01822 1.02728 1.0291 1.02185 1.02004 1.02366 1.02849 1.02245 -1.02004 0.991648 1.00675 1.02426 1.0146 1.02004 1.014 1.01641 -1.014 1.02004 1.02366 1.02245 1.01762 1.01702 1.02789 1.01762 -1.01943 1.01218 1.00494 1.02004 1.0152 1.01218 1.01883 1.02245 -1.01641 1.02064 1.02004 1.01581 1.02245 1.02064 1.01883 1.01883 -1.01581 1.01218 1.01158 1.02004 1.02366 1.02547 1.03091 1.03755 -1.04963 0.968696 0.07224 0 0 0 0 0 -0 0 0 0 0 0.0110367 0.00602 0.00501667 -0.00501667 0.00401333 0.00702333 0 0 0.00100333 0 0 -0 0 0.00301 0.00401333 0 0 0.00702333 0.00501667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00200667 0 0 0 0 0 0 -0.00501667 0.00501667 0.00602 0.00501667 0 0 0 0 -0 0.00100333 0.00501667 0 0 0 0 0 -0.00301 0.00100333 0.00100333 0 0 0 0 0 -0 0 0 0 0.05418 0.956616 1.05628 1.04178 -1.03332 1.03272 1.0297 1.02608 1.02608 1.02366 1.02306 1.02306 -1.02366 1.02487 1.02306 1.02366 1.02185 1.0152 1.02245 1.02004 -1.02306 1.02064 1.02245 1.02487 1.02426 1.02064 1.02608 1.02728 -1.02124 1.01641 1.02487 1.02487 1.01883 1.02124 1.02789 1.02306 -1.02608 1.02004 1.02064 1.02547 1.02185 0.988024 1.01218 1.02306 -1.01883 1.01822 1.0297 1.0146 1.01883 1.01641 1.01581 1.01943 -1.01641 1.02245 1.04842 1.04903 1.04842 1.04722 1.04601 1.04903 -1.05688 1.04842 1.05567 1.04722 1.04118 1.04842 1.0599 1.06111 -1.05084 1.02124 1.01702 1.0146 1.00977 1.02668 1.02487 1.01641 -1.02124 1.02185 1.01702 1.01641 1.02487 1.02849 1.01098 1.01641 -1.014 1.0146 1.02185 1.0303 1.02185 1.02306 1.02185 1.03091 -1.02185 1.01581 1.01822 1.01098 1.02306 1.04118 1.05024 1.05024 -1.05628 1.04782 1.03936 1.04903 1.05386 1.04842 1.04842 1.05265 -1.04963 1.05507 1.05205 1.03936 1.00916 1.01943 1.01641 1.02004 -1.02004 1.01702 1.02064 1.02426 1.02487 1.02668 1.01883 1.03332 -1.01822 0.998292 1.02608 1.0303 1.0297 1.02789 1.01581 1.01279 -1.01883 1.02124 1.01702 1.02426 1.014 1.0146 1.02004 1.03091 -1.01702 1.02185 1.0146 1.02004 1.0146 1.02124 1.02064 1.0146 -1.01098 1.01702 1.01883 1.01883 1.02426 1.02306 1.01762 1.02124 -1.02789 1.02849 1.02668 1.02306 1.0291 1.03091 1.03514 1.04661 -1.05205 0.810656 0 0 0 0 0 0 -0.00301 0 0.00100333 0.0130433 0.0110367 0.00501667 0 0 -0.00100333 0 0.00200667 0.00200667 0 0 0.00401333 0.00301 -0 0.00401333 0.00200667 0 0 0 0 0 -0 0 0.00100333 0 0 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00200667 0 0 0 -0 0 0 0 0.00301 0.00200667 0 0.00100333 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.792624 1.05809 1.0448 -1.0303 1.03332 1.02245 1.02185 1.02185 1.02306 1.02306 1.02185 -1.02487 1.01943 1.01762 1.0146 1.01822 1.01641 1.01641 1.02064 -1.02487 1.01943 1.02185 1.01762 1.01339 1.02064 1.02487 1.01098 -1.01762 1.0146 1.02306 1.02608 1.02426 1.01762 1.014 1.01581 -1.01037 1.02004 1.02245 1.02426 1.01702 0.998292 1.00675 1.02306 -1.02487 1.01883 1.0152 1.02124 1.02245 1.01037 1.02064 1.03091 -1.02849 1.03634 1.05869 1.05628 1.05567 1.04722 1.0442 1.05205 -1.05507 1.04661 1.04057 1.04238 1.04722 1.0454 1.05628 1.05024 -1.05144 1.02124 1.02789 1.02728 1.02366 1.02245 1.0303 1.02245 -1.01762 1.01762 1.02124 1.01702 1.0152 1.01883 1.0303 1.02849 -1.02306 1.02789 1.02185 1.01702 1.02004 1.01762 1.02245 1.01762 -1.01702 1.02668 1.02185 1.02124 1.02849 1.04601 1.05507 1.04359 -1.05024 1.04842 1.05507 1.0448 1.04601 1.05386 1.04178 1.05024 -1.05446 1.05748 1.04963 1.04359 1.01037 1.01762 1.01943 1.01037 -1.02608 1.01943 1.01158 1.0146 1.02306 1.02306 1.01158 1.0146 -0.988024 1.00675 1.02245 1.02185 1.0152 1.02426 1.0146 1.01822 -1.02185 1.02306 1.01279 1.01581 1.01883 1.01883 1.01098 1.01581 -1.01641 1.02426 1.0303 1.01339 1.014 1.01037 1.0146 1.00977 -1.01641 1.02366 1.01943 1.02064 1.01037 1.014 1.02547 1.02426 -1.01943 1.02306 1.01883 1.02426 1.02728 1.03514 1.04178 1.05144 -1.06292 0.54481 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0 0 0 0.00401333 0.0140467 0.00501667 0 0.00301 -0.00100333 0 0.00100333 0.00301 0.00602 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00501667 0.00802667 0.00602 0.00602 -0.00100333 0.00100333 0 0 0 0 0.00401333 0.00401333 -0 0 0 0.00200667 0 0.00100333 0 0 -0.00200667 0.00200667 0.00501667 0.00501667 0.00301 0.00501667 0.00501667 0.00602 -0.00903 0.0100333 0.00501667 0 0 0 0 0 -0 0 0 0 0 0.52976 1.05809 1.05024 -1.03936 1.03212 1.0291 1.02849 1.02547 1.01883 1.014 1.01943 -1.01822 1.01581 1.02064 1.0152 1.01762 1.014 1.01822 1.02004 -1.01279 1.01158 1.01339 1.014 1.01822 1.014 1.01218 1.01883 -1.01581 1.01702 1.02366 1.02064 1.01883 1.03151 1.02608 1.02185 -1.01883 1.01279 1.01581 1.02245 1.02487 1.0152 0.988024 1.02608 -1.02124 1.01641 1.02306 1.02124 1.02306 1.02306 1.0152 1.02185 -1.02124 1.04118 1.06232 1.0593 1.05446 1.04903 1.0454 1.04782 -1.05507 1.05144 1.06292 1.04722 1.05446 1.05205 1.04722 1.04299 -1.0454 1.02185 1.02366 1.0146 1.02789 1.02004 1.0152 1.01762 -1.01822 1.0291 1.02728 1.0152 1.01883 1.01158 1.00494 1.01581 -1.0152 1.03091 1.0152 1.02608 1.03514 1.02849 1.02608 1.02064 -1.01581 1.02306 1.02487 1.0146 1.01762 1.05326 1.04903 1.04299 -1.04601 1.04963 1.05144 1.05567 1.05386 1.05809 1.0605 1.05265 -1.05628 1.05748 1.0593 1.04903 1.01883 1.02547 1.02185 1.01641 -1.02608 1.02185 1.02185 1.01822 1.02004 1.01702 1.0291 1.02306 -0.992856 1.0146 1.02185 1.02124 1.01822 1.0152 1.014 1.02064 -1.01822 1.02004 1.01943 1.01883 1.01943 1.01883 1.01098 1.014 -1.01943 1.01883 1.01883 1.02849 1.01641 1.02306 1.02668 1.02366 -1.02245 1.01641 1.02004 1.02185 1.02004 1.02185 1.01098 1.02004 -1.02789 1.02306 1.02789 1.02789 1.03091 1.03514 1.03876 1.05084 -1.04057 0.301 0 0 0 0 0 0 -0 0 0 0.00200667 0 0 0 0 -0.00501667 0.0100333 0.00401333 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00200667 0.00200667 0.00100333 0 0 0 -0 0.00501667 0.00602 0 0 0 0 0 -0.00301 0.00501667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.292973 1.03936 1.04903 -1.03453 1.02366 1.02849 1.02789 1.02547 1.02487 1.02426 1.02185 -1.02004 1.01641 1.0152 1.01581 1.01702 1.02064 1.02426 1.01883 -1.02004 1.02185 1.01943 1.02245 1.01702 1.01943 1.01581 1.01339 -1.0291 1.02668 1.01098 1.02487 1.02366 1.02004 1.01098 1.01279 -1.01943 1.02366 1.01943 1.02124 1.02306 1.02366 1.00373 1.00494 -1.02064 1.01702 1.00916 1.02426 1.02245 1.01822 1.02789 1.02124 -1.01279 1.01339 1.03695 1.05084 1.04359 1.04963 1.05144 1.0454 -1.05144 1.04903 1.05084 1.05567 1.05748 1.06232 1.05084 1.05567 -1.05144 1.0291 1.01943 1.01943 1.02789 1.01702 1.03091 1.02487 -1.02487 1.02849 1.00796 0.988628 0.968696 0.966884 0.968092 0.969904 -0.971716 1.00131 1.0146 1.02124 1.01762 1.00796 1.02004 1.01641 -1.01641 1.01641 1.02185 1.02366 1.03212 1.04782 1.06352 1.05507 -1.04903 1.04963 1.0454 1.04903 1.05144 1.04661 1.04782 1.04178 -1.04238 1.0454 1.04601 1.03876 1.00735 1.01943 1.01943 1.01762 -1.02608 1.02728 1.02185 1.0152 1.01762 1.02668 1.02426 0.992252 -1.02004 1.03332 1.01822 1.0152 1.01822 1.02004 1.01883 1.01883 -1.00916 1.02004 1.02004 1.00977 1.00614 1.01218 1.02064 1.01279 -1.0146 1.01641 1.01037 1.02124 1.01883 1.01822 1.03091 1.01581 -1.01883 1.01883 1.02306 1.01702 1.01339 1.01943 1.02849 1.02487 -1.0291 1.02728 1.0303 1.03272 1.0297 1.03453 1.04238 1.05748 -0.995272 0.118393 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0.00301 0.0100333 0.00602 0.00401333 0.0110367 0.0100333 -0.01204 0.00903 0.00802667 0.00200667 0.00100333 0.00401333 0.00301 0.00100333 -0.00501667 0.00702333 0.00501667 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00200667 0.00401333 -0.00200667 0 0 0 0.00802667 0.0140467 0.0100333 0.00501667 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0 0 0 -0 0 0 0 0 0.10234 0.98742 1.05507 -1.04601 1.03151 1.03212 1.03453 1.02789 1.02728 1.02728 1.02668 -1.02426 1.03272 1.02849 1.02547 1.02728 1.01943 1.02124 1.02185 -1.02124 1.02306 1.02366 1.02124 1.01822 1.0146 1.02426 1.02004 -1.01581 1.01339 1.01943 1.01943 1.02608 1.01641 1.02064 1.01762 -1.02064 1.02185 1.02185 1.02608 1.01822 1.01762 1.02487 1.01218 -1.01702 1.01581 1.01702 1.01822 1.02366 1.01702 1.02064 1.0303 -1.02487 1.014 1.04299 1.0442 1.05084 1.04722 1.05386 1.0593 -1.05507 1.05265 1.06352 1.0454 1.04722 1.0448 1.04178 1.05567 -1.02124 1.02064 1.02547 1.02004 1.01762 1.01581 1.01943 1.02789 -1.0152 0.968092 0.961448 0.96024 0.971716 0.959032 0.958428 0.970508 -0.962052 0.95722 0.976548 1.02306 1.02547 1.01702 1.02366 1.02547 -1.02547 1.01581 1.02487 1.02185 1.02124 1.05748 1.05326 1.05628 -1.05144 1.06292 1.05628 1.04661 1.04782 1.04903 1.05326 1.05326 -1.05386 1.04118 1.05688 1.0442 1.01762 1.02064 1.02608 1.0146 -1.01762 1.0152 1.0146 1.01883 1.0146 1.02608 1.01037 0.985004 -1.01883 1.02547 1.01158 1.02547 1.01883 1.01762 1.02004 1.01943 -1.02849 1.02124 1.02547 1.02366 1.02426 1.0303 1.02124 1.02185 -1.0146 1.01883 1.02124 1.01702 1.0152 1.01883 1.0146 1.01098 -1.02366 1.01702 1.02185 1.02789 1.0297 1.02064 1.02004 1.01279 -1.01883 1.02124 1.02124 1.02185 1.03091 1.04299 1.04118 1.05205 -0.806792 0.00100333 0 0 0 0 0 0 -0 0.00100333 0 0 0 0 0 0.00301 -0 0 0 0.00301 0.00200667 0 0.00200667 0 -0 0.00100333 0.00501667 0.00200667 0.00301 0.00602 0.00401333 0.00501667 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00200667 0.00501667 -0.00802667 0.0100333 0.00501667 0.00401333 0 0 0 0 -0 0.00200667 0.00602 0 0 0 0 0 -0 0 0 0.00100333 0 0.00100333 0.00401333 0.00501667 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.779744 1.05446 -1.04359 1.03151 1.02366 1.02064 1.01641 1.01883 1.01943 1.02306 -1.02547 1.01641 1.01641 1.01702 1.0152 1.01883 1.01943 1.01702 -1.01581 1.01702 1.01279 1.02366 1.02789 1.02185 1.01581 1.01037 -1.02004 1.01339 1.02004 1.0152 1.01158 1.01339 1.02487 1.01581 -1.02728 1.01762 1.02547 1.02306 1.03091 1.01581 1.02789 1.0146 -1.01883 1.02789 1.02668 1.03091 1.02789 1.02366 1.0291 1.0152 -1.02185 1.02426 1.03151 1.04601 1.05205 1.04963 1.04722 1.03936 -1.04299 1.04661 1.0454 1.05205 1.04722 1.05265 1.05748 1.05507 -1.0291 1.0146 1.01037 1.01943 1.0303 1.02185 1.01098 1.01702 -0.983192 0.971716 0.968696 0.97232 0.965676 0.964468 0.965676 0.973528 -0.973528 0.974736 0.967488 0.977756 1.01943 1.02004 1.02366 1.03332 -1.02185 1.01762 1.01218 1.02124 1.0152 1.04722 1.04842 1.04963 -1.05748 1.05688 1.04601 1.05809 1.06111 1.04842 1.04722 1.05809 -1.05869 1.0599 1.04661 1.01883 1.01218 1.02004 1.03151 1.01943 -1.02004 1.02668 1.01883 1.03091 1.03212 1.02608 0.985004 1.0146 -1.014 1.01883 1.01581 1.01641 1.02245 1.02004 1.02366 1.02306 -1.014 1.01883 1.02608 1.01581 1.01943 1.0297 1.03091 1.0297 -1.02004 1.00796 1.02004 1.0146 1.0146 1.01641 1.02487 1.02064 -1.02064 1.02064 1.02728 1.02245 1.01702 1.01581 1.02064 1.02064 -1.02849 1.02547 1.0297 1.02789 1.03212 1.03695 1.04601 1.05688 -0.474577 0 0 0 0 0 0 0 -0 0 0.00602 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00100333 -0.00401333 0.00301 0 0 0 0 0 0.00602 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00301 0.00501667 0.00903 0.00100333 0 0 -0 0 0 0 0 0 0.431433 1.05024 -1.04238 1.03332 1.02608 1.02789 1.02487 1.02608 1.02306 1.01641 -1.01762 1.02124 1.02064 1.02004 1.01218 1.01218 1.01641 1.02004 -1.01641 1.01702 1.01702 1.01762 1.02185 1.02245 1.02245 1.01883 -1.01762 1.01943 1.02366 1.01762 1.02547 1.02124 1.02004 1.02426 -1.02124 1.02004 1.02004 1.01943 1.014 1.02185 1.02547 1.0297 -1.02366 1.01883 1.02547 1.01943 1.02245 1.01822 1.01762 1.0152 -1.02668 1.02245 1.01641 1.03816 1.0448 1.05084 1.05326 1.0599 -1.06171 1.05144 1.05205 1.04359 1.05386 1.05326 1.05205 1.02849 -1.02728 1.0146 1.03091 1.02426 1.02789 1.02608 1.02728 0.998896 -0.9693 0.962052 0.971112 0.97232 0.967488 0.974132 0.964468 0.965072 -0.961448 0.965072 0.962052 0.96024 0.986816 1.02789 1.02064 1.01883 -1.01883 1.02547 1.03272 1.02064 1.01037 1.02789 1.05205 1.04722 -1.05507 1.05084 1.05205 1.03574 1.04601 1.04842 1.04118 1.04118 -1.05688 1.05446 1.05265 1.01218 1.02306 1.02245 1.02426 1.02728 -1.0152 1.02004 1.01943 1.0291 1.02668 0.995272 0.9995 1.01702 -1.02668 1.01822 1.01339 1.014 1.01158 1.0146 1.01822 1.02306 -1.01883 1.0146 1.02124 1.01822 1.02185 1.01943 1.01037 1.014 -1.00796 1.01581 1.02366 1.02064 1.01581 1.01339 1.01581 1.01943 -1.02004 1.01702 1.01279 1.00977 1.02004 1.01218 1.01218 1.01762 -1.02004 1.02306 1.0297 1.02849 1.04238 1.04722 1.05024 1.0146 -0.18662 0 0 0 0 0 0 0 -0 0 0 0 0 0.00501667 0.00501667 0 -0 0.00100333 0.00401333 0.0140467 0.0140467 0.01505 0.01505 0.00501667 -0.00200667 0 0 0 0 0 0 0.00301 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00301 0.00301 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0.00100333 0 0.00100333 0.00401333 0.00602 0 -0.00301 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0.137457 0.991044 -1.05326 1.03876 1.0291 1.02668 1.0291 1.02849 1.02487 1.02426 -1.02728 1.02064 1.01279 1.02185 1.02547 1.01883 1.02124 1.02185 -1.02124 1.03272 1.03091 1.01883 1.00856 1.01098 1.01883 1.02064 -1.01943 1.02004 1.02608 1.01339 1.01581 1.02185 1.02426 1.02185 -1.0146 1.01581 1.014 1.02064 1.01279 1.02004 1.0146 1.01641 -1.01883 0.994064 1.0146 1.01822 1.02608 1.01762 1.02004 1.01762 -1.01581 1.02124 1.01581 1.01641 1.02668 1.05205 1.06473 1.04359 -1.04842 1.05084 1.04963 1.0605 1.05386 1.04782 1.02547 1.0152 -1.02306 1.0303 1.0297 1.01943 1.02004 1.0146 1.01822 0.977152 -0.96326 0.969904 0.971716 0.962052 0.957824 0.95722 0.962656 0.966884 -0.96326 0.968696 0.965676 0.961448 0.960844 0.998292 1.02124 1.03453 -1.01098 1.01702 1.01339 1.01641 1.02306 1.00796 1.03151 1.04842 -1.05144 1.06292 1.04722 1.05446 1.05205 1.0448 1.05326 1.05326 -1.04963 1.04299 1.0146 1.02849 1.02185 1.01762 1.01641 1.01822 -1.02426 1.02245 1.02608 1.02124 1.00916 0.992856 1.02668 1.02547 -1.0152 1.01098 1.01883 1.02306 1.02366 1.02064 1.0146 1.01037 -1.02124 1.0297 1.02124 1.01702 1.01702 1.014 1.01098 1.02547 -1.03091 1.01762 1.01702 1.02245 1.01883 1.02487 1.02185 1.014 -1.01279 1.01943 1.02124 1.02004 1.02487 1.02426 1.03212 1.02185 -1.02668 1.02728 1.0303 1.02728 1.0291 1.04722 1.05869 0.858312 -0.0220733 0 0 0 0 0.00501667 0 0 -0 0 0 0 0 0 0 0.00301 -0.00401333 0.00100333 0 0 0 0 0 0 -0 0.00100333 0.00200667 0 0 0 0 0 -0.00100333 0.00401333 0.00301 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00802667 0.00903 -0.00501667 0.00200667 0.00200667 0.00501667 0.00802667 0.00602 0.00602 0.00802667 -0.0100333 0.00702333 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00602 0 0 -0 0 0 0 0 0 0 0.738528 -1.05386 1.04722 1.04299 1.0303 1.02306 1.02185 1.02064 1.01702 -1.02124 1.0152 1.02366 1.02245 1.01822 1.00977 1.02064 1.02366 -1.01762 1.0146 1.01098 1.00977 1.01943 1.02185 1.02366 1.01339 -1.01098 1.0152 1.01581 1.0146 1.01943 1.01158 1.01037 1.02004 -1.02789 1.02064 1.014 1.01762 1.01581 1.03574 1.01943 1.03272 -1.02366 1.00433 1.0001 1.014 1.02004 1.00856 1.02366 1.0291 -1.02306 1.02064 1.00977 1.01762 1.01641 1.01943 1.02306 1.03393 -1.05024 1.0448 1.04661 1.03755 1.02608 1.01641 1.01943 1.02426 -1.02245 1.02306 1.01098 1.02789 1.0303 1.03091 0.991044 0.965676 -0.956616 0.970508 0.963864 0.965676 0.967488 0.977756 0.973528 0.973528 -0.962656 0.968696 0.962656 0.94816 0.956012 0.978964 1.01641 1.02185 -1.02728 1.01218 1.0146 1.02849 1.02608 1.0291 1.02426 1.0448 -1.05265 1.06473 1.0593 1.05688 1.04842 1.05024 1.04601 1.0448 -1.04057 1.02487 1.02547 1.01339 1.01158 1.01158 1.02668 1.01581 -1.0152 1.02064 1.02668 1.01581 0.983192 1.014 1.01339 1.01762 -1.02547 1.0152 1.01822 1.02124 1.02004 1.02608 1.02366 1.02004 -1.01883 1.0146 1.01218 1.01822 1.01218 1.01762 1.02366 1.01822 -1.0146 1.01702 1.0152 1.01943 1.01098 1.01822 1.01702 1.02728 -1.01943 1.014 1.02185 1.02004 1.02124 1.01279 1.02366 1.02728 -1.02849 1.02668 1.02668 1.03936 1.04299 1.04722 1.04722 0.4515 -0 0 0 0 0 0 0 0 -0.00401333 0.00100333 0.00501667 0.00401333 0.0100333 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0.00903 0.00200667 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0 0 0.00301 0.00100333 0 -0 0 0 0.00501667 0.0110367 0.00200667 0 0.00401333 -0.00200667 0.00200667 0 0 0 0.00100333 0 0.00401333 -0.00702333 0.00501667 0 0 0.00100333 0 0 0 -0 0 0 0 0 0 0 0.345147 -1.04842 1.05326 1.03634 1.0303 1.02366 1.02789 1.02789 1.02608 -1.02547 1.01943 1.02124 1.01943 1.01702 1.01702 1.02064 1.014 -1.01037 1.01943 1.02306 1.02064 1.02366 1.02124 1.02426 1.02185 -1.02064 1.01822 1.02306 1.02124 1.01702 1.02064 1.01762 1.01883 -1.02306 1.02245 1.02849 1.0291 1.02245 1.0146 1.01339 1.0146 -1.01339 1.02426 1.0146 0.98742 1.01883 1.02849 1.02668 1.01943 -1.0297 1.01339 1.02608 1.01762 1.03091 1.02426 1.02668 1.02064 -1.02366 1.02245 1.02185 1.01581 1.0146 1.00977 1.02124 1.01883 -1.01762 1.01339 1.0297 1.014 1.0291 1.02426 0.981984 0.966884 -0.977152 0.974132 0.968696 0.96024 0.975944 0.968696 0.973528 0.971716 -0.965676 0.96024 0.968696 0.969904 0.976548 0.980776 1.01641 1.0146 -1.02487 1.02547 1.01762 1.01581 1.02124 1.03212 1.02366 1.01762 -1.02124 1.04178 1.04842 1.05084 1.0448 1.04963 1.04661 1.03574 -1.03212 1.01581 1.02306 1.02668 1.01883 1.02185 1.01581 1.02426 -1.0152 1.0146 1.00856 0.995272 1.00856 1.02547 1.02306 1.02728 -1.02185 1.03936 1.02487 1.01641 1.014 1.02366 1.02245 1.02306 -1.0146 1.01581 1.02185 1.02004 1.02064 1.01098 1.01883 1.01762 -1.02245 1.02124 1.00796 1.02245 1.02547 1.02245 1.02004 1.02185 -1.01339 1.01702 1.01641 1.0152 1.02185 1.02366 1.02004 1.02185 -1.02426 1.02487 1.03272 1.03634 1.04178 1.05386 0.997688 0.142473 -0 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0.00501667 0.00301 0 -0 0.00401333 0 0 0 0.00100333 0.00200667 0 -0.00200667 0 0 0 0 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00301 0 0 0.00602 0.01505 0.00702333 -0.00903 0.00501667 0.00401333 0.00100333 0 0 0 0 -0 0 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0.0561867 -0.930644 1.05144 1.05024 1.04238 1.0297 1.03332 1.02547 1.014 -1.01943 1.02608 1.02306 1.02185 1.02366 1.02245 1.01581 1.01822 -1.02608 1.0152 1.02124 1.01158 1.02124 1.02608 1.01339 1.00494 -1.02004 1.02789 1.02849 1.01641 1.02064 1.02487 1.02004 1.01702 -1.02306 1.02668 1.02004 1.03272 1.02245 1.02426 1.02245 1.01883 -1.02728 1.03212 1.00977 1.01037 1.00735 1.02789 1.01339 1.03574 -1.02487 1.01822 1.02004 1.0303 1.014 1.02064 1.0152 1.01822 -1.02306 1.01883 1.01883 1.02004 1.0152 1.02306 1.03393 1.02004 -1.0297 1.03332 1.02064 1.02185 1.02789 1.01883 0.975944 0.97232 -0.965072 0.965072 0.974132 0.968696 0.964468 0.956616 0.964468 0.966884 -0.967488 0.966884 0.964468 0.971716 0.9693 0.967488 1.01037 1.03091 -1.02185 1.02306 1.02124 1.02064 1.02487 1.01883 1.02185 1.01943 -1.01762 1.00312 1.01762 1.02124 1.03453 1.03816 1.02789 1.014 -1.01943 1.01641 1.00796 1.02426 1.02426 1.01641 1.01822 1.01702 -1.01762 1.01822 1.00494 1.00131 1.01883 1.02245 1.01883 1.01883 -1.01158 1.01641 1.01883 1.02426 1.01822 1.0152 1.00856 1.02064 -1.02608 1.01098 1.02064 1.01641 1.02366 1.01822 1.03151 1.02064 -1.01581 1.0297 1.02124 1.02245 1.02064 1.02366 1.01641 1.01822 -1.02426 1.02426 1.02426 1.02064 1.02124 1.01943 1.02064 1.02487 -1.02849 1.02789 1.02728 1.04359 1.05507 1.06171 0.706328 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0 0.00200667 0 0 0 -0 0 0 0 0.00100333 0.00200667 0.00301 0 -0.00501667 0.00401333 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00200667 0.00200667 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00401333 0.00702333 0.00602 0.00401333 0.00301 -0 0 0 0 0 0.00401333 0.00401333 0 -0 0 0 0 0 0 0 0 -0.497653 1.05326 1.04661 1.03272 1.02004 1.01762 1.02668 1.02849 -1.02849 1.02004 1.01702 1.01702 1.01581 1.02728 1.02487 1.02366 -1.01581 1.01581 1.01822 1.02004 1.01883 1.02185 1.01883 1.02366 -1.01641 1.01822 1.00796 1.00675 1.0152 1.01822 1.01641 1.02366 -1.01702 1.01641 1.01702 1.02004 1.02064 1.03212 1.02487 1.02487 -1.02547 1.01943 1.02004 1.02547 1.00131 1.00494 1.02004 1.01218 -1.01279 1.02185 1.01641 1.02306 1.01098 1.02306 1.02124 1.02245 -1.02004 1.01158 1.02004 1.02306 1.0291 1.02004 1.01822 1.0297 -1.0303 1.00554 1.02728 1.02487 1.02849 1.02124 0.974132 0.973528 -0.97534 0.95722 0.960844 0.968092 0.961448 0.965676 0.966884 0.97534 -0.976548 0.970508 0.96024 0.962656 0.97534 0.976548 1.01037 1.02245 -1.01883 1.01279 1.02789 1.01641 1.01762 1.0291 1.01822 1.02426 -1.01822 1.01762 1.01339 1.02124 1.02668 1.02426 1.02124 1.02487 -1.014 1.02728 1.02306 1.01279 1.01641 1.00856 1.02185 1.0146 -1.01218 1.00554 1.00856 1.02185 1.01581 1.03393 1.02728 1.0297 -1.02668 1.02124 1.01762 1.0146 1.01702 1.01098 1.02124 1.01581 -1.01037 1.02487 1.01279 1.02124 1.02426 1.02124 1.01822 1.02064 -1.01581 1.02306 1.01762 1.02245 1.02004 1.01702 1.01943 1.02306 -1.02426 1.0152 1.01943 1.0152 1.02306 1.01762 1.01943 1.02185 -1.02789 1.03272 1.04118 1.04178 1.05084 1.02608 0.277923 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00702333 0.00501667 0.00301 0.00501667 -0.00501667 0.00200667 0.00501667 0.00100333 0 0 0.00702333 0.0110367 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00301 0.00301 0.00401333 0.00401333 0.0110367 0.00903 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00702333 0.0110367 0.0110367 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0.13846 0.991648 1.05024 1.03997 1.03574 1.03332 1.01883 1.02124 -1.01943 1.02306 1.01702 1.01822 1.01581 1.02064 1.014 1.014 -1.01943 1.01339 1.01702 1.01883 1.01762 1.01883 1.01279 1.01943 -1.01158 1.01883 1.02547 1.02004 1.02064 1.02124 1.02064 1.01641 -1.01581 1.00977 1.01158 1.01279 1.00312 1.01158 1.01581 1.02668 -1.02668 1.01339 1.01641 1.02064 1.02306 0.992252 1.00614 1.0152 -1.02306 1.02245 1.01883 1.02245 1.03091 1.02547 1.02487 1.00977 -1.02124 1.02306 1.02547 1.01943 1.0303 1.02426 1.0297 1.02487 -1.00735 1.02426 1.02608 1.02306 1.02547 1.014 0.971112 0.955408 -0.964468 0.962052 0.962052 0.969904 0.979568 0.969904 0.973528 0.96628 -0.949368 0.96628 0.974736 0.96628 0.968696 0.975944 1.02789 1.02004 -1.02668 1.01883 1.02245 1.0291 1.01762 1.01098 1.01822 1.01037 -1.02849 1.01641 1.02789 1.01762 1.02668 1.03332 1.0297 1.02728 -1.01641 1.01339 1.02306 1.01702 1.01037 1.01943 1.01702 1.01943 -1.00614 0.995876 1.02608 1.02608 1.03332 1.02366 1.014 1.01641 -1.02064 1.02064 1.02608 1.01641 1.01218 1.02064 1.02366 1.01883 -1.02306 1.0146 1.02668 1.02366 1.02124 1.01581 1.01702 1.02426 -1.01279 1.0146 1.0146 1.02064 1.02124 1.01762 1.02668 1.02185 -1.02185 1.02185 1.02608 1.02608 1.02426 1.02306 1.02487 1.03272 -1.03755 1.03453 1.03936 1.04178 1.05809 0.849296 0.02107 0 -0 0 0 0 0 0 0.00100333 0.00702333 -0.00802667 0.00702333 0.00200667 0.00200667 0 0 0 0 -0 0 0.00301 0.00702333 0.00602 0 0 0 -0.00401333 0.00802667 0.00602 0.00401333 0.00200667 0.00501667 0.00401333 0.00100333 -0.00501667 0.00401333 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00401333 0.00401333 0.00501667 0.00602 0.00200667 -0 0 0 0 0.00401333 0 0 0.00301 -0 0.00301 0 0 0 0.00702333 0.00501667 0.00903 -0.00903 0 0 0 0 0 0 0 -0 0.611016 1.05265 1.03755 1.03574 1.0291 1.02185 1.02426 -1.0297 1.01702 1.02245 1.02608 1.02608 1.02185 1.0152 1.0152 -1.0146 1.014 1.01158 1.02487 1.01943 1.01641 1.02306 1.02004 -1.01641 1.02728 1.02366 1.02004 1.02426 1.0297 1.02668 1.02728 -1.02185 1.01037 1.0001 0.998896 1.00131 1.00312 1.00131 0.99346 -1.00192 1.01581 1.02668 1.02245 1.02366 1.01762 0.992252 0.998292 -1.0152 1.01641 1.01762 1.02185 1.0146 1.01641 1.02487 1.01883 -1.01883 1.02366 1.02064 1.02004 1.00554 1.02064 1.0146 1.01279 -1.01702 1.03514 1.0291 1.03272 1.01641 1.00735 0.99346 0.976548 -0.969904 0.966884 0.973528 0.972924 0.966884 0.963864 0.965676 0.963864 -0.941516 0.964468 0.97232 0.963864 0.971112 0.986212 1.02004 1.02185 -1.02245 1.02064 1.014 1.0297 1.02064 1.02064 1.01037 1.02728 -1.02124 1.02245 1.02004 1.01702 1.02064 1.01339 1.02668 1.03091 -1.02426 1.02124 1.02366 1.03634 1.0291 1.03151 1.02487 1.01279 -1.01218 1.01883 1.01279 1.01883 1.02608 1.00977 1.02004 1.0146 -1.01218 1.02487 1.01702 1.01943 1.01037 1.02185 1.01339 1.01702 -1.02245 1.02547 1.01943 1.0152 1.01762 1.02245 1.01762 1.02608 -1.02366 1.02668 1.01943 1.02064 1.01702 1.02064 1.01158 1.01822 -1.02366 1.01822 1.014 1.02124 1.02124 1.02004 1.02064 1.01581 -1.02366 1.03695 1.0454 1.05205 1.03574 0.353173 0 0 -0 0 0 0 0.00602 0 0 0.00501667 -0.00401333 0 0 0 0 0.00301 0.00401333 0.00501667 -0.00301 0 0 0 0.00301 0.00401333 0 0 -0 0 0.00200667 0.00702333 0.00200667 0.00200667 0.00200667 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0 0.00200667 0.00200667 0 0 -0 0.00501667 0.00802667 0.00200667 0.00200667 0.00501667 0.00602 0.00401333 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.202673 1.00494 1.05205 1.04359 1.03091 1.02487 1.02608 -1.02366 1.01943 1.02366 1.02245 1.01641 1.01339 1.01822 1.02487 -1.02789 1.02547 1.02426 1.01702 1.01762 1.014 1.01279 1.01279 -1.01883 1.02608 1.02487 1.02185 1.02426 1.02668 1.01883 1.01641 -0.99044 0.992856 1.01943 1.00856 1.01762 1.02185 1.01702 1.02064 -1.00494 1.00554 1.0146 1.02245 1.0303 1.01883 1.0303 1.01037 -1.00494 1.01883 1.02728 1.02789 1.02306 1.0146 1.00192 1.02124 -1.01883 1.02124 1.02124 1.01762 1.01702 1.01279 1.01822 1.014 -1.02789 1.01641 1.02245 1.0146 1.02849 1.02849 1.01581 0.96326 -0.967488 0.964468 0.96326 0.965676 0.966884 0.968092 0.965676 0.974736 -0.967488 0.974736 0.968696 0.956616 0.972924 1.01218 1.03091 1.03151 -1.02004 1.0146 1.01702 1.02064 1.01883 1.02185 1.02245 1.01822 -1.01943 1.0152 1.02245 1.01581 1.02306 1.01339 1.02124 1.01822 -1.02426 1.0297 1.01218 1.014 1.01581 1.00796 1.00614 1.00735 -1.02004 1.01702 1.0152 1.01279 1.01218 1.0146 1.01339 1.02306 -1.01883 1.00554 1.00675 1.01702 1.02608 1.0291 1.02064 1.02004 -1.01762 1.01581 1.0146 1.02547 1.014 1.01702 1.01339 1.02124 -1.0152 1.0146 1.02487 1.01158 1.014 1.014 1.01702 1.01581 -1.02004 1.02004 1.02185 1.02124 1.02728 1.02668 1.02366 1.03695 -1.03514 1.03212 1.04178 1.05326 0.900816 0.0501667 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00100333 0.00702333 0.00401333 0 0.00301 0.00401333 -0.00301 0.00301 0.00401333 0.00301 0.00100333 0.00501667 0.00602 0.00702333 -0.00501667 0.00802667 0.00401333 0 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0.00301 0.00702333 0.00401333 0 0 -0 0 0 0 0 0 0.00100333 0.00200667 -0.00301 0.00100333 0.00702333 0.0130433 0.00501667 0 0 0 -0.00200667 0.00200667 0.00401333 0 0.00301 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0.6664 1.06232 1.04722 1.03876 1.03453 1.02728 -1.02245 1.01943 1.01581 1.01883 1.02789 1.02668 1.02728 1.01822 -1.02004 1.01641 1.01822 1.02426 1.03151 1.02185 1.02849 1.02487 -1.02789 1.02426 1.02426 1.01943 1.02004 1.00977 1.00916 0.988024 -1.00796 1.02849 1.0146 1.02366 1.01883 1.02487 1.02487 1.01822 -1.02124 1.02004 1.00977 1.014 1.014 1.02124 1.02849 1.02064 -0.998292 0.994668 1.01822 1.0146 1.02366 1.03272 1.03091 1.02728 -1.0297 1.01581 1.02245 1.01581 1.01702 1.02306 1.02608 1.0146 -1.01943 1.01641 1.01641 1.01218 1.02245 1.02668 1.02245 0.9995 -0.962656 0.965072 0.971112 0.96628 0.971112 0.96326 0.967488 0.973528 -0.964468 0.96024 0.972924 0.972924 0.986816 1.02064 1.01218 1.01702 -1.01883 1.03755 1.02004 1.02064 1.02849 1.02608 1.01822 1.02306 -1.01943 1.01883 1.02487 1.0146 1.01641 1.01339 1.01943 1.0146 -1.01279 1.02064 1.01641 1.01762 1.02426 1.01883 1.0146 1.0146 -1.02426 1.02004 1.01822 1.01279 1.00433 1.01581 1.02245 1.00916 -1.01943 1.02789 1.01158 1.01641 1.00312 1.01037 1.014 1.014 -1.01762 1.02064 1.02487 1.01218 1.0146 1.01762 1.01762 1.02004 -1.01098 1.0146 1.02849 1.01943 1.02064 1.01581 1.0146 1.02185 -1.02245 1.02185 1.01822 1.01943 1.02426 1.02366 1.02004 1.02608 -1.02668 1.03816 1.0442 1.04359 0.383273 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0 0 -0 0 0 0.00602 0.00301 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00501667 0.00602 0 0 0.00200667 0.00301 -0 0.00301 0.00401333 0.00602 0.00702333 0.00602 0.00100333 0.00100333 -0 0 0 0 0 0 0 0 -0.00100333 0.00100333 0.00100333 0.00501667 0.00602 0.00702333 0.00903 0.00702333 -0 0.00100333 0 0 0 0 0 0 -0 0 0.188627 1.00071 1.05748 1.05386 1.04057 1.02849 -1.0303 1.02789 1.02789 1.02185 1.02547 1.02124 1.02608 1.02426 -1.02426 1.0146 1.01581 1.01943 1.02245 1.01641 1.01883 1.0146 -1.01218 1.00916 1.01581 1.01339 1.01883 1.01641 0.997084 1.00312 -1.0152 1.00252 1.01279 1.0146 1.00977 1.01581 1.01581 1.02064 -1.02185 1.00796 1.00856 0.9995 1.01037 1.00735 1.01339 1.01037 -1.02004 0.997084 0.994064 1.01037 1.01218 1.01822 1.00916 1.02124 -1.01339 1.01098 1.02124 1.02668 1.01822 1.02124 1.01641 1.02366 -1.02185 1.01702 1.03332 1.02426 1.03091 1.01943 1.01218 1.02124 -0.979568 0.961448 0.954804 0.970508 0.972924 0.96628 0.968092 0.969904 -0.973528 0.974736 0.97232 0.9844 1.00675 1.03574 1.0152 1.02004 -1.02608 1.02004 1.03332 1.02064 1.02124 1.01702 1.01641 1.02366 -1.02426 1.01339 1.02366 1.00856 1.0291 1.00916 1.01883 1.02608 -1.01702 1.02306 1.0291 1.02004 1.02547 1.02789 1.03272 1.01218 -1.01762 1.01279 1.0152 1.01218 1.01762 1.0152 1.0146 1.02608 -1.00916 1.0146 1.01098 1.00494 1.00312 1.01037 1.014 1.02608 -1.0303 1.01581 1.01943 1.01762 1.01883 1.01218 1.02306 1.02366 -1.02064 1.01218 1.02245 1.02547 1.03151 1.02004 1.01822 1.02124 -1.01218 1.01883 1.02245 1.01581 1.02185 1.02849 1.0297 1.03816 -1.0442 1.05144 1.05567 0.903392 0.05117 0 0 0 -0 0 0 0 0 0.00401333 0.00401333 0 -0.00501667 0.00602 0 0 0 0.00200667 0.00602 0.00200667 -0.00100333 0.00100333 0 0 0 0.00100333 0 0 -0 0 0 0 0 0.00802667 0.00200667 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0 0 0.00100333 0.00200667 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00702333 0.00602 0.0130433 0.00501667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.58695 1.05386 1.04238 1.0297 1.02547 -1.02849 1.02608 1.02487 1.02185 1.01943 1.01943 1.01822 1.0146 -1.01762 1.01762 1.02004 1.014 1.01037 1.00916 1.0146 1.01279 -1.0146 1.01581 1.0146 1.01822 1.01943 1.00856 0.989232 1.00977 -1.01702 1.02245 1.01702 1.00554 1.00796 1.00252 1.00675 1.01702 -1.00977 1.02487 1.02547 1.0146 1.00614 1.014 1.02426 1.02547 -1.02064 1.02306 1.00494 0.981984 1.01158 1.01641 1.02668 1.0291 -1.02185 1.02789 1.02306 1.01883 1.01883 1.01279 1.01581 1.02124 -1.02245 1.01702 1.01883 1.0297 1.01581 1.0152 1.02124 1.02789 -1.03091 0.995876 0.971716 0.962656 0.966884 0.965676 0.971112 0.971112 -0.969904 0.959032 0.997084 1.00675 1.01883 1.01581 1.02245 1.01762 -1.02608 1.02487 1.02487 1.01822 1.01883 1.01279 1.02426 1.02728 -1.02245 1.01822 1.02366 1.02004 1.02124 1.02245 1.0146 1.0152 -1.02004 1.02608 1.01762 1.01339 1.01581 1.01641 1.00796 1.02487 -1.01098 1.02789 1.02004 1.01218 1.01339 1.01641 1.00796 1.00916 -1.01037 1.01158 1.00796 1.01943 1.02245 1.02185 1.01279 1.00373 -1.00916 1.01158 1.02185 1.02547 1.02426 1.02789 1.01702 1.01762 -1.02004 1.0152 1.01762 1.014 1.0146 1.02004 1.0146 1.01943 -1.01943 1.01822 1.02306 1.02124 1.02728 1.03332 1.04057 1.0448 -1.0448 1.05265 1.03816 0.353173 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.00802667 0.00602 0.00100333 0 0 0 0 -0 0 0 0 0.00301 0.00200667 0.00702333 0.0140467 -0.00702333 0.00200667 0 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00301 0 0 0 0.00301 -0.00602 0.00301 0.00200667 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.131437 0.96628 1.05326 1.04722 1.03091 -1.02728 1.02064 1.02306 1.02366 1.02849 1.02728 1.02185 1.02426 -1.02064 1.02124 1.01702 1.0152 1.01158 1.01762 1.01943 1.02064 -1.01883 1.0152 1.01339 1.01098 1.02245 0.992252 1.00977 1.02426 -1.02487 1.00373 0.994668 1.06352 1.18766 1.21903 1.10615 1.01762 -1.00675 1.00252 1.01762 1.01339 1.01762 1.0297 1.02668 1.02426 -1.01822 1.02064 1.01943 1.00675 0.980776 0.986212 1.0152 1.01279 -1.02124 1.02124 1.01943 1.03453 1.02064 1.01581 1.01883 1.0146 -1.01762 1.02547 1.02124 1.0291 1.03634 1.03695 1.0291 1.02245 -1.02608 1.0291 1.01702 0.9995 0.99346 0.978964 0.979568 0.971112 -0.992856 1.00856 1.02064 1.01822 1.01883 1.02849 1.02245 1.02547 -1.01702 1.01883 1.0146 1.01581 1.01581 1.02547 1.02245 1.01762 -1.02487 1.02608 1.0152 1.02004 1.01762 1.01702 1.0146 1.02185 -1.0152 1.00494 1.00554 1.01702 1.02004 1.01581 1.02245 1.01702 -1.0146 1.0146 1.01037 1.02064 1.01883 1.02124 1.02185 1.01218 -1.014 1.01339 1.00977 1.00373 1.00252 1.00977 1.00494 1.00312 -1.0152 1.01943 1.02124 1.00796 1.01339 1.01339 1.00796 1.00916 -1.0146 1.014 1.02306 1.01762 1.0152 1.02547 1.01822 1.02728 -1.02306 1.02185 1.02608 1.0291 1.02064 1.0297 1.03272 1.03634 -1.03936 1.05084 0.7952 0.02107 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0 0 0 0 -0.00301 0 0 0 0 0 0 0 -0.00702333 0.00602 0.00100333 0 0 0.00100333 0.00903 0.00802667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0 0 0.00100333 0 0 0 -0 0.00702333 0.00802667 0.00100333 0 0 0.00301 0.00501667 -0 0.00200667 0 0 0.00100333 0.00301 0 0.00602 -0.00401333 0.00301 0.00401333 0.00301 0 0 0 0 -0 0 0.00501667 0.00501667 0 0 0 0 -0 0 0 0 0.46053 1.04299 1.04118 1.04359 -1.03936 1.03634 1.03091 1.02849 1.02366 1.01762 1.02366 1.01702 -1.01098 1.02185 1.02064 1.02185 1.01762 1.01098 1.02004 1.01702 -1.02124 1.0146 1.01339 1.02487 1.01158 0.980172 1.00856 1.00614 -1.00675 0.998896 1.0442 1.35537 1.49506 1.50134 1.42354 1.11175 -0.994064 1.00916 1.00796 1.0152 1.0146 1.01822 1.0152 1.01158 -1.0152 1.02366 1.02064 1.02426 1.0303 1.00373 0.980172 1.0146 -1.02547 1.02245 1.02124 1.02185 1.01641 1.03272 1.0303 1.03272 -1.02064 1.02668 1.01098 1.02426 0.997688 1.01098 1.02064 1.02849 -1.02547 1.02426 1.01581 1.02487 1.02004 1.01098 1.01822 1.01702 -1.00614 1.02789 1.02849 1.0303 1.02608 1.02064 1.014 1.01702 -1.02426 1.02185 1.01822 1.02245 1.02728 1.0297 1.02004 1.014 -1.02124 1.01943 1.01702 1.01702 1.03634 1.02426 1.02124 1.01581 -1.01098 1.02487 1.02004 1.01762 1.01883 1.01822 1.02487 1.02668 -1.02124 1.02306 1.01339 1.00735 1.0146 1.00856 1.02245 1.0939 -1.13695 1.0883 1.00071 0.994668 1.01883 1.02487 1.02245 1.01883 -1.01762 1.01883 1.01702 1.014 1.01762 1.02245 1.01581 1.01581 -1.02064 1.00735 1.01098 1.02547 1.01702 1.01883 1.02124 1.01702 -1.02245 1.0146 1.02185 1.03151 1.02728 1.02668 1.03634 1.04722 -1.0605 1.02306 0.27692 0 0 0 0 0 -0 0.00702333 0.0100333 0 0 0 0 0 -0 0 0 0 0.00301 0 0 0 -0 0.00100333 0.00100333 0 0 0.00100333 0 0 -0 0 0.00401333 0.00301 0.00401333 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00602 0.00602 0.00301 0.0100333 0.01505 -0.00903 0 0 0 0 0.00100333 0 0 -0 0 0 0 0 0.00200667 0 0 -0 0 0 0.00200667 0.00301 0.00100333 0.00200667 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0.05418 0.877632 1.05386 1.04661 -1.0291 1.02306 1.02608 1.01581 1.02004 1.01883 1.01158 1.0146 -1.02004 1.01339 1.0146 1.0152 1.02608 1.02426 1.02124 1.01702 -1.0146 1.01641 1.01218 1.01279 1.00131 0.991044 1.01037 1.0152 -1.00554 0.994064 1.17135 1.49381 1.50175 1.49715 1.50594 1.29013 -1.01158 1.01762 1.01883 1.02728 1.01943 1.0152 1.01339 1.02245 -1.02366 1.02728 1.01641 1.01883 1.01098 1.01702 1.01762 0.986212 -1.00554 1.01339 1.01943 1.01943 1.00796 1.01581 1.0152 1.01943 -1.01883 1.02245 1.02124 1.02064 1.03212 1.0297 1.01158 1.00433 -1.02245 1.02306 1.01339 1.0297 1.0146 1.02366 1.02185 1.02064 -1.01762 1.02487 1.02426 1.02849 1.00796 1.01339 1.02608 1.0297 -1.02547 1.0291 1.03393 1.0297 1.01158 1.01762 1.02245 1.02487 -1.0297 1.02366 1.02366 1.02306 1.01943 1.01762 1.01098 1.01339 -1.01098 1.01158 1.01098 1.0291 1.01581 1.01822 1.00675 1.0146 -1.01822 1.02004 1.02004 1.01158 1.00735 1.00675 1.17386 1.43149 -1.48168 1.43693 1.1793 1.00312 0.995876 1.01339 1.01762 1.00494 -1.00373 1.01641 1.02245 1.01279 1.02487 1.02668 1.01883 1.02668 -1.02849 1.02245 1.00675 1.0152 1.02426 1.02849 1.014 1.02245 -1.02487 1.02547 1.02789 1.02789 1.03634 1.03695 1.03272 1.04299 -1.05326 0.68572 0.00401333 0 0 0 0 0 -0 0 0 0.00501667 0.00100333 0 0 0 -0 0 0 0.00702333 0.00802667 0.0110367 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0.00501667 0.0100333 0.0110367 0.00802667 0 0 0 0 -0 0.00200667 0.00501667 0.00100333 0 0.00602 0.00301 0.00301 -0 0.00100333 0.00200667 0.00301 0 0 0 0 -0 0 0 0 0 0.280933 1.00735 1.04601 -1.04601 1.03816 1.02124 1.03453 1.0291 1.02789 1.02849 1.02849 -1.02124 1.02608 1.0291 1.02487 1.01883 1.01762 1.014 1.00916 -1.01762 1.02064 1.014 1.01581 1.01822 0.994668 1.02426 1.00796 -0.9995 0.994668 1.18515 1.49506 1.50217 1.50008 1.49381 1.30226 -1.00131 1.00071 1.00916 1.01279 1.01218 1.01037 1.00977 1.02004 -1.01702 1.01581 1.01943 1.01641 1.01883 1.03332 1.01581 1.0152 -1.0152 0.995876 1.00433 1.02426 1.02487 1.01822 1.02668 1.02306 -1.0297 1.02245 1.01641 1.01762 1.02185 1.0152 1.02487 1.0303 -1.01943 1.01581 1.02124 1.02608 1.01943 1.02547 1.02306 1.0146 -1.02064 1.02245 1.0152 1.01762 1.01822 1.01581 1.01702 1.0303 -1.01883 1.0146 1.02064 1.02608 1.02608 1.02608 1.0152 1.01098 -1.0146 1.014 1.0291 1.02245 1.00554 1.01702 1.02426 1.01883 -1.0152 1.014 1.01279 1.02366 1.02547 1.01279 1.01641 1.01339 -1.00554 1.02004 1.02608 1.01218 0.997084 1.05386 1.41058 1.49088 -1.49632 1.50092 1.39971 1.04238 1.00192 1.00131 1.01943 1.01943 -1.00796 1.01762 1.01883 1.02004 1.01702 1.01943 1.01822 1.02789 -1.02245 1.02608 1.02487 1.01822 1.014 1.01641 1.01943 1.01702 -1.02366 1.02306 1.02547 1.02789 1.03272 1.0448 1.04299 1.04661 -0.985004 0.172573 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00501667 0 0 -0.00702333 0.00301 0 0 0 0.00301 0.00401333 0.00301 -0.01204 0.0140467 0.00802667 0.00903 0.0160533 0.00802667 0.00401333 0.00702333 -0.00200667 0 0 0 0.00401333 0.00802667 0.00602 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00301 0.00200667 0 0 0.00100333 0 0 0.00501667 -0 0 0 0 0 0.00802667 0.00802667 0.00200667 -0.00802667 0.00200667 0 0 0.00100333 0.00100333 0 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.570897 1.04903 -1.04722 1.0303 1.02426 1.03091 1.0297 1.02366 1.01702 1.01218 -1.02064 1.01943 1.02004 1.0146 1.01762 1.01943 1.014 1.02185 -1.02849 1.02547 1.01822 1.0146 1.0152 0.9844 1.00373 1.01218 -1.0152 1.00131 1.08445 1.40514 1.49841 1.49381 1.44906 1.14542 -0.992252 1.00312 1.00554 1.00916 1.0152 1.01641 1.0146 1.00977 -1.02487 1.014 1.01762 1.0146 1.02547 1.00675 1.01883 1.02728 -1.02366 1.02306 1.01158 1.0146 1.01339 1.02306 1.00916 1.02245 -1.02124 1.01883 1.01943 1.02608 1.02306 1.02245 1.01883 1.02487 -1.02245 1.01702 1.01581 1.01702 1.02064 1.02547 1.02124 1.01762 -1.02306 1.02426 1.0146 1.02849 1.0303 1.03695 1.03151 1.02668 -1.01641 1.01339 1.01943 1.02547 1.02366 1.01339 1.0152 1.02728 -1.01943 1.0146 1.00614 1.02124 1.01279 1.01581 1.01702 1.01943 -1.02004 1.01339 1.01762 1.01762 1.02306 1.02245 1.01822 1.02185 -1.0146 1.01037 1.01158 1.00192 1.00252 1.0841 1.45408 1.49339 -1.48963 1.50259 1.45366 1.0855 1.00796 1.00614 1.00192 1.01279 -1.0146 1.02004 1.02185 1.02487 1.01822 1.00916 1.00916 1.014 -1.0146 1.01822 1.01098 1.01641 1.02245 1.02185 1.02426 1.02487 -1.02487 1.02124 1.02668 1.03393 1.03997 1.04601 1.05144 1.0448 -0.50869 0 0 0 0 0 0 0 -0.00200667 0.00100333 0 0.00100333 0 0.00301 0.00501667 0.00501667 -0 0 0 0.00200667 0 0 0.00501667 0 -0 0 0 0 0 0 0.00401333 0.00802667 -0.0110367 0.00602 0.00301 0.00200667 0 0.00200667 0.00802667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0.00602 0.0110367 0.00501667 0.00100333 0 -0 0 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0903 0.908544 -1.04903 1.03634 1.03695 1.0297 1.0291 1.01762 1.02245 1.02789 -1.02728 1.02306 1.02366 1.02245 1.02245 1.02185 1.0146 1.01702 -1.01339 1.01702 1.02306 1.02789 1.02366 0.99648 1.01883 1.02004 -1.01098 1.01762 1.02728 1.11315 1.26671 1.29138 1.14918 1.00856 -1.0001 1.01339 0.994064 1.01098 1.00675 1.00614 1.0146 1.02547 -1.0146 1.0152 1.01279 1.03151 1.01218 1.01702 1.0152 1.02124 -1.01762 1.014 1.02124 1.01883 1.01641 1.01218 1.01158 1.01641 -1.014 1.01762 1.014 1.02789 1.0303 1.01883 1.02124 1.01279 -1.01581 1.01943 1.02366 1.02849 1.02124 1.01581 1.02245 1.02728 -1.01883 1.0152 1.01762 1.02547 1.02487 1.01822 1.01822 1.02366 -1.02064 1.02124 1.01762 1.02306 1.02064 1.02547 1.01279 1.00554 -1.0001 1.00614 1.00916 1.01883 1.02064 1.01339 1.01218 1.02366 -1.02185 1.02608 1.02185 1.0152 1.01581 1.01943 1.01822 1.01279 -1.01883 1.00433 1.01641 1.00856 0.9995 1.01762 1.34826 1.49757 -1.50385 1.49046 1.34115 1.03151 1.00856 1.02668 1.02124 1.00735 -1.01098 1.01641 1.0152 1.014 1.01822 1.02064 1.02426 1.02185 -1.01218 1.01822 1.02426 1.01883 1.02245 1.02064 1.01641 1.01762 -1.02608 1.02306 1.03151 1.0303 1.03453 1.03997 1.05507 0.871192 -0.0602 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0 0 -0 0.00501667 0.00301 0 0.00100333 0 0 0.00100333 -0.00200667 0.00501667 0.00200667 0.00903 0.00501667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0 0 -0.00200667 0 0 0 0 0.00501667 0.0100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00602 0.00301 0 0.00401333 0.0100333 -0.0130433 0.00702333 0 0.00401333 0.00903 0 0 0 -0 0 0 0 0 0 0 0.268893 -1.00373 1.05507 1.0454 1.03332 1.02668 1.03936 1.03332 1.0303 -1.01822 1.01641 1.02004 1.02668 1.02064 1.01702 1.01339 1.01943 -1.01943 1.02185 1.01581 1.01883 1.014 1.01339 0.994668 1.01883 -1.01943 1.02185 1.01641 1.01158 1.01822 1.01943 1.01702 1.00977 -0.998896 1.01037 1.0146 1.01762 1.0152 1.01822 1.02064 1.01218 -1.01702 1.01339 1.01883 1.02245 1.014 1.02124 1.01702 1.01883 -1.01218 1.02004 1.02064 1.01762 1.01641 1.02547 1.02426 1.02185 -1.00856 1.00131 1.00373 1.01218 1.02185 1.014 1.02124 1.02789 -1.01822 1.01883 1.02608 1.01762 1.02306 1.03272 1.02245 1.02608 -1.0291 1.02426 1.02487 1.02185 1.02366 1.01762 1.00433 1.01098 -1.00554 1.00856 1.00614 1.0146 1.00433 1.00796 1.0001 1.00252 -1.01943 1.02547 1.0152 1.02366 1.02306 1.02366 1.0297 1.01883 -1.02789 1.02004 1.01822 1.014 1.00977 1.01037 1.01339 1.00916 -1.02245 1.01158 1.01702 1.014 1.00977 1.00252 1.09285 1.31439 -1.39134 1.30686 1.09845 1.00494 1.01279 1.00856 1.01339 1.01822 -1.01883 1.02124 1.02608 1.02004 1.01762 1.01943 1.02004 1.02124 -1.01822 1.01702 1.02366 1.01943 1.02608 1.03212 1.02728 1.0291 -1.02608 1.03393 1.03936 1.03876 1.04299 1.04963 0.997688 0.247823 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0.00200667 0 0 0.00401333 0.00401333 0.00100333 0.00602 0.00501667 -0 0 0 0 0.00401333 0.00702333 0.00903 0.00903 -0.00702333 0.00200667 0 0.00100333 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00401333 0.00301 0.00401333 0 0.00100333 -0.00602 0.00602 0 0 0 0 0.00301 0.00802667 -0.00702333 0.00501667 0.00401333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0 0 0 0 0 -0.49966 1.03514 1.04299 1.04057 1.03453 1.03091 1.02608 1.02306 -1.02668 1.03514 1.02728 1.02547 1.02306 1.02064 1.02849 1.02849 -1.02245 1.02124 1.01943 1.02487 1.02004 1.02124 0.997084 1.01037 -1.01641 1.01158 1.01339 1.03212 1.01762 1.02849 1.01822 1.00796 -1.01581 1.014 1.01641 1.01762 1.0152 1.01158 1.01822 1.01702 -1.01279 1.01641 1.0146 1.00433 1.01702 1.02245 1.02064 1.00796 -1.02064 1.01943 1.01883 1.02185 1.02426 1.03151 1.0152 1.01943 -1.01702 1.00433 1.00071 1.00856 1.01158 1.00916 0.995272 1.01158 -1.01822 1.0297 1.01702 1.01641 1.0146 1.02185 1.02366 1.03272 -1.01218 1.02185 1.01037 1.01218 1.014 1.02185 1.02426 1.02668 -1.02668 1.01339 1.00916 1.00433 1.00494 1.01762 1.01037 1.00916 -1.01279 1.01762 1.02245 1.02547 1.01702 1.0146 1.01762 1.00252 -1.01218 1.02487 1.01158 1.01762 1.02366 1.01702 1.02004 1.0152 -1.01218 1.01158 1.01822 1.01883 1.01822 1.00554 1.00494 1.02426 -1.04118 1.0297 1.02366 1.0146 1.02608 1.01641 1.01581 1.00856 -1.01158 1.02245 1.02185 1.02124 1.0291 1.02789 1.02426 1.02185 -1.02185 1.01641 1.01762 1.01581 1.01762 1.03272 1.0291 1.0291 -1.03091 1.04359 1.04722 1.04299 1.05265 1.05084 0.51471 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0.00200667 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00401333 0 0 0 0 0 0 -0 0 0.00200667 0 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0.00401333 0.00301 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0.00200667 0 0.00501667 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0.00100333 0 0.00100333 0.00501667 0.00100333 0 -0 0 0 0 0 0 0 0 -0.0381267 0.725648 1.04661 1.04963 1.03332 1.03936 1.03634 1.0291 -1.03514 1.02245 1.02004 1.02064 1.02426 1.02185 1.02306 1.01641 -1.02849 1.02608 1.02547 1.01762 1.01883 1.01037 1.0146 0.9995 -0.997084 1.02004 1.02306 1.02245 1.02849 1.02185 1.01339 1.01762 -1.01762 1.01641 1.02064 1.0146 1.02185 1.01581 1.02004 1.02185 -1.02306 1.01581 1.01581 1.00856 1.01883 1.02004 1.02004 1.02306 -1.02185 1.0146 1.02608 1.01762 1.02004 1.01339 1.01641 1.01702 -1.00977 1.01883 1.01339 1.014 1.00614 1.0152 1.014 1.0146 -1.01158 1.01279 1.00977 1.01762 1.01158 1.00071 1.01037 1.00494 -1.00675 1.01158 1.00554 1.01702 1.01098 1.00916 1.00433 1.00494 -1.00614 1.02487 1.01702 1.01762 1.01641 1.01581 1.01822 1.02426 -1.01702 1.02064 1.00916 1.01883 1.00916 1.01279 1.01641 1.01943 -1.014 1.01279 1.01581 1.02366 1.01822 1.01702 1.01279 1.02487 -1.02245 1.0152 1.01037 1.01098 1.00856 1.0152 1.00192 1.00494 -1.00977 1.00796 1.01883 1.00977 1.00675 1.02366 1.02004 1.02366 -1.02245 1.01943 1.01581 1.01762 1.01702 1.02004 1.01943 1.02185 -1.02124 1.02064 1.02426 1.02487 1.01702 1.01943 1.02849 1.03755 -1.03091 1.03091 1.04057 1.05024 1.05326 0.735952 0.0371233 0 -0 0 0 0 0.00501667 0 0 0 -0 0.00100333 0 0 0 0 0 0.00501667 -0 0 0 0 0.00100333 0 0 0 -0.00301 0 0.00301 0.00401333 0.00200667 0 0 0 -0.00200667 0.00401333 0.00301 0.00501667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0110367 -0.00602 0 0.00100333 0.00401333 0.00602 0.00200667 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0.00200667 0 0 0 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.10836 0.903392 1.05326 1.04299 1.03695 1.02487 1.03212 -1.02849 1.0297 1.02849 1.02064 1.02185 1.02124 1.02547 1.02366 -1.02245 1.02366 1.014 1.02064 1.01037 1.01822 1.01943 1.00916 -1.0001 1.01339 1.01822 1.01883 1.01943 1.01581 1.02004 1.00433 -1.01037 1.01218 1.01037 1.0146 1.01762 1.02608 1.01943 1.01883 -1.02245 1.01883 1.01702 1.02306 1.02789 1.02306 1.01943 1.02306 -1.01943 1.02306 1.02004 1.01581 1.02185 1.00192 1.0146 1.0146 -1.01943 1.03151 1.02547 1.0291 1.01762 1.01158 1.01581 1.01822 -1.01822 1.01339 1.00977 1.02487 1.02124 1.0146 1.01702 1.03332 -1.02064 1.01158 1.014 1.014 1.014 1.02124 1.02064 1.0303 -1.01822 1.014 1.01822 1.00977 1.01641 1.01218 1.01339 1.00977 -1.00433 1.02185 1.02185 1.02004 1.0152 1.02185 1.01943 1.02004 -1.01822 1.01098 1.02487 1.02185 1.014 1.01822 1.01037 1.02185 -1.0152 1.02426 1.01641 1.01943 1.01581 1.01702 1.01218 1.0146 -1.02245 1.02306 1.01943 1.02064 1.00312 1.0146 1.01098 1.01762 -1.01702 1.03151 1.02366 1.01641 1.02487 1.02306 1.0146 1.02185 -1.03212 1.01883 1.03091 1.02849 1.02124 1.03212 1.02849 1.03514 -1.03755 1.04963 1.04238 1.05507 0.908544 0.122407 0 0 -0 0 0 0 0 0 0.00401333 0 -0 0 0 0.00100333 0.00301 0 0 0 -0.00200667 0 0 0 0 0.00100333 0 0 -0 0.00100333 0 0.00401333 0.00401333 0.00702333 0.00301 0 -0 0.00301 0.00200667 0.00602 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0.00903 0.0110367 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0.00602 0.00602 0 0.00100333 0.00702333 0.00301 -0 0.00200667 0 0 0 0 0 0 -0.00802667 0.00802667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.214713 0.957824 1.04782 1.03816 1.03816 1.0303 -1.03212 1.02608 1.02064 1.02547 1.02789 1.03393 1.02366 1.02124 -1.02124 1.01822 1.02849 1.02004 1.0146 1.02849 1.02185 1.02668 -1.02728 1.02064 1.01037 1.0146 1.00312 1.00675 1.01098 1.00916 -1.01037 1.01641 1.02124 1.02124 1.02185 1.0146 1.01581 1.02004 -1.02547 1.01943 1.01762 1.0303 1.0146 1.02124 1.02547 1.0146 -1.01762 1.01943 1.02064 1.01702 1.01762 1.00916 1.01641 1.0146 -1.014 1.00977 1.01581 1.02064 1.02789 1.02789 1.01943 1.01702 -1.00856 1.01581 1.00735 1.01883 1.03634 1.0605 1.07138 1.06292 -1.04903 1.02789 1.014 1.00675 1.02306 1.01943 1.01822 1.02124 -1.02064 1.01581 1.01883 1.01581 1.0152 1.01822 1.01218 1.0146 -1.01098 1.00856 1.01883 1.01762 1.03272 1.02366 1.01883 1.02064 -1.02064 1.01702 1.02064 1.01641 1.0303 1.02728 1.01581 1.0291 -1.01702 1.0152 1.01158 1.01339 1.01641 1.01581 1.01943 1.01943 -1.01883 1.02487 1.02426 1.02426 1.02547 1.014 1.0152 1.01822 -1.01098 1.01762 1.02668 1.01762 1.01762 1.02064 1.02306 1.01762 -1.0146 1.01822 1.02366 1.02487 1.02064 1.02487 1.03574 1.03876 -1.03634 1.04722 1.04842 0.950576 0.202673 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0100333 0.00401333 0.00200667 0.00301 -0.00802667 0.00602 0.00802667 0 0 0 0.00702333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0 0 0 0.00200667 0 0.00100333 -0.00301 0.00802667 0.00200667 0 0.00903 0.00602 0 0 -0 0 0.00200667 0 0 0.00100333 0.00401333 0.00501667 -0 0 0 0 0 0 0 0 -0.00301 0.00301 0 0 0 0 0 0 -0 0 0 0.27993 0.991044 1.05628 1.03997 1.0297 -1.03997 1.04057 1.03876 1.02728 1.0291 1.02064 1.0146 1.01943 -1.02124 1.02245 1.02547 1.02426 1.01762 1.02004 1.02487 1.02245 -1.02064 1.02547 1.02245 1.01098 1.01822 1.02185 1.0152 1.01641 -1.0152 1.02124 1.02004 1.0146 1.01762 1.02064 1.0146 1.01037 -1.014 1.01822 1.01762 1.01702 1.01339 1.01339 1.01762 1.0146 -1.01762 1.02547 1.01158 1.01943 1.01943 1.01943 1.02124 1.01762 -1.01218 1.02185 1.0146 1.01158 1.01822 1.02064 1.01037 1.0146 -1.02124 1.00977 1.05567 1.1009 1.12785 1.14185 1.1429 1.14115 -1.13065 1.1135 1.0771 1.01822 1.0146 1.01943 1.0152 1.01581 -1.01339 1.0152 1.02547 1.01822 1.01883 1.02124 1.01883 1.014 -1.0146 1.02728 1.01822 1.01581 1.02366 1.01581 1.01702 1.02004 -1.02547 1.0152 1.01822 1.02426 1.02789 1.01822 1.03151 1.02185 -1.00856 1.01641 1.02064 1.01339 1.01218 1.00614 1.00614 1.01339 -1.0146 1.014 1.014 1.01762 1.01762 1.02185 1.01339 1.01581 -1.01883 1.01762 1.01762 1.02185 1.02608 1.01943 1.02487 1.02789 -1.02306 1.02668 1.02728 1.03272 1.03574 1.04057 1.03514 1.0454 -1.04661 1.06534 0.992252 0.28595 0 0 0 0 -0 0 0 0 0 0.00702333 0.00903 0.00200667 -0.00200667 0 0 0 0 0.00200667 0 0 -0 0 0.00301 0.0100333 0.00301 0 0 0.00602 -0.00802667 0.00903 0 0.00501667 0.00802667 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00100333 0 0 0 0.00200667 0 0.00501667 0.0130433 -0.00501667 0 0 0 0 0 0 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00501667 0 0 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0.335113 0.997084 1.04842 1.04118 -1.03574 1.04057 1.03332 1.02849 1.02426 1.02608 1.0303 1.02608 -1.02547 1.01702 1.014 1.01641 1.02064 1.02366 1.014 1.01943 -1.01339 1.02185 1.01943 1.01581 1.02064 1.0146 1.02004 1.02124 -1.02668 1.01883 1.02064 1.02185 1.01641 1.01822 1.02124 1.02608 -1.02064 1.02668 1.02064 1.0152 1.02185 1.02366 1.01098 1.01883 -1.01037 1.01943 1.01762 1.01158 1.01822 1.02789 1.02124 1.01762 -1.01581 1.01943 1.02487 1.0146 1.014 1.00916 1.0146 1.00796 -1.0297 1.06896 1.12855 1.13625 1.1373 1.13975 1.131 1.1387 -1.1415 1.14045 1.1429 1.1065 1.02728 1.00252 1.0146 1.02185 -1.02064 1.01641 1.01822 1.02306 1.01339 1.01883 1.02487 1.02366 -1.02306 1.02064 1.01762 1.02124 1.02185 1.02426 1.02366 1.02547 -1.02366 1.02064 1.01279 1.02185 1.01037 1.02064 1.0152 1.02245 -1.02124 1.01822 1.01098 1.01762 1.02004 1.0146 1.02245 1.02185 -1.01762 1.02487 1.02124 1.02124 1.02124 1.02366 1.01702 1.02064 -1.01883 1.01339 1.02004 1.01339 1.01822 1.02124 1.02426 1.02245 -1.02426 1.03453 1.03212 1.0297 1.03453 1.04118 1.04238 1.0454 -1.05326 0.985608 0.315047 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00903 0 0.00301 0.00501667 0.00100333 0.00602 0 -0.00401333 0.00702333 0.00702333 0 0.00200667 0.0110367 0.01806 0.01204 -0.00903 0.0140467 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0100333 0.00501667 -0 0.00301 0.00702333 0.00501667 0.00401333 0.00200667 0 0 -0 0 0.00501667 0.00501667 0 0.00100333 0 0 -0 0 0.00100333 0.00200667 0 0 0 0.00301 -0.00501667 0.00501667 0 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.320063 0.980776 1.04963 -1.04118 1.03755 1.03634 1.03695 1.02426 1.02789 1.02366 1.02366 -1.02064 1.01702 1.02487 1.02668 1.02728 1.00796 1.01822 1.02185 -1.02487 1.02245 1.01641 1.01762 1.02004 1.01762 1.02608 1.02245 -1.02185 1.014 1.01641 1.01883 1.02004 1.02004 1.02547 1.02185 -1.01822 1.02789 1.0152 1.014 1.01883 1.01641 1.02185 1.02366 -1.014 1.02185 1.0303 1.02668 1.02789 1.01762 1.00916 1.02608 -1.02608 1.02366 1.01641 1.01762 1.0146 1.02547 1.01702 1.00977 -1.0605 1.12645 1.1401 1.13905 1.1338 1.13065 1.13625 1.14584 -1.13485 1.1366 1.1366 1.13275 1.103 1.02004 1.00796 1.00735 -1.01581 1.01098 1.01883 1.01943 1.02608 1.01762 1.02004 1.01822 -1.01158 1.02185 1.02306 1.01581 1.01943 1.01641 1.0146 1.014 -1.02064 1.02426 1.02608 1.01702 1.01762 1.02185 1.014 1.00856 -1.0146 1.02668 1.01158 1.0146 1.02426 1.02245 1.02366 1.02185 -1.0146 1.01762 1.01581 1.01883 1.02306 1.02547 1.02789 1.02064 -1.02306 1.02124 1.02487 1.02728 1.03151 1.02366 1.02426 1.02608 -1.01702 1.02728 1.03151 1.03272 1.03332 1.04178 1.0448 1.05144 -0.974132 0.30401 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00501667 0.00301 -0 0.00301 0.00100333 0 0.00301 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0.00802667 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.00802667 0.00501667 0 0 0 0.00100333 0 -0.00100333 0 0.00301 0.00200667 0.00401333 0.00200667 0 0 -0.00802667 0.00200667 0.00100333 0 0 0.00802667 0.00200667 0.00401333 -0 0.00100333 0.00200667 0.00501667 0 0.00702333 0.0100333 0.00903 -0.0100333 0 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0.284947 0.97232 -1.05628 1.03997 1.0297 1.03453 1.03574 1.03453 1.03634 1.02245 -1.02728 1.02124 1.02608 1.02608 1.014 1.02426 1.03272 1.02064 -1.02608 1.0152 1.02004 1.01822 1.02849 1.02245 1.02004 1.02185 -1.01581 1.02426 1.01883 1.02547 1.03272 1.02124 1.0146 1.01943 -1.02547 1.02004 1.01822 1.01762 1.02245 1.02004 1.01702 1.0152 -1.02608 1.02728 1.01702 1.0146 1.01883 1.02064 1.01702 1.0146 -1.02849 1.01641 1.00856 1.02849 1.01943 1.00373 1.00252 1.01762 -1.11665 1.13765 1.13835 1.13345 1.1345 1.1317 1.13415 1.13835 -1.13275 1.13345 1.1303 1.138 1.1422 1.08795 1.00554 1.0146 -1.01822 1.01581 1.014 1.01279 1.01037 1.02728 1.01339 1.02124 -1.02124 1.02064 1.01943 1.00856 1.01883 1.02426 1.02004 1.01581 -1.02185 1.014 1.014 1.00977 1.02245 1.02004 1.02004 1.02124 -1.00796 1.02185 1.0152 1.02064 1.00977 1.00856 1.01218 1.0291 -1.02185 1.02064 1.02185 1.01822 1.02185 1.02426 1.02064 1.02004 -1.0152 1.02004 1.01822 1.01762 1.02728 1.03151 1.02789 1.02608 -1.03816 1.02608 1.03816 1.0448 1.04299 1.04842 1.05507 0.968092 -0.287957 0 0 0 0 0 0.00401333 0 -0 0 0 0 0 0.00200667 0 0 -0.00301 0.00501667 0.0110367 0 0 0 0.00200667 0 -0.00100333 0 0 0.00602 0 0.00602 0.00401333 0.00401333 -0.00200667 0.00501667 0.00702333 0 0.00100333 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00501667 0 0 0 0 0 0 0.00401333 -0 0 0 0 0 0 0.00301 0.0100333 -0.00501667 0 0 0 0.00501667 0.00401333 0 0 -0 0.00100333 0 0 0 0.00401333 0 0 -0 0 0 0 0 0 0.00100333 0.00100333 -0 0 0.00301 0 0 0 0 0.206687 -0.896952 1.05144 1.04963 1.04118 1.03332 1.03453 1.03393 1.03151 -1.02547 1.03332 1.03212 1.02426 1.03574 1.02004 1.02728 1.02306 -1.01822 1.02124 1.02245 1.03151 1.0291 1.01883 1.02366 1.02124 -1.01702 1.0152 1.02004 1.01581 1.0152 1.0146 1.01762 1.0152 -1.01883 1.01581 1.02185 1.02426 1.01822 1.01581 1.01037 1.0152 -1.01943 1.0152 1.01279 1.014 1.02004 1.02547 1.01822 1.01581 -1.0146 1.014 1.01218 1.00916 1.01037 1.00675 1.00735 1.08165 -1.1401 1.1373 1.13415 1.13835 1.1408 1.1338 1.1303 1.13275 -1.13765 1.13695 1.13905 1.1415 1.1394 1.11945 1.02608 1.00977 -1.0146 1.02185 1.0152 1.01822 1.01702 1.01279 1.01581 1.01943 -1.00796 1.01339 1.02849 1.01822 1.02185 1.02668 1.02728 1.02245 -1.02245 1.02185 1.02245 1.01883 1.02426 1.01641 1.01702 1.02366 -1.02426 1.02064 1.01762 1.014 1.03091 1.02668 1.02426 1.0303 -1.01883 1.01158 1.02366 1.02668 1.01581 1.01581 1.02849 1.02185 -1.01641 1.01339 1.02789 1.02124 1.02426 1.02849 1.03453 1.02849 -1.03755 1.03876 1.03634 1.04782 1.05386 1.06775 0.933664 0.21672 -0 0 0 0 0 0 0.00501667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0.00301 0.00301 0 0.00301 -0.00301 0.00301 0.00903 0.01204 0 0.00501667 0.00501667 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0.00501667 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0.00301 0 0 0 0.00200667 0 0 0 -0.00602 0.00401333 0.00100333 0 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0.11137 0.739816 1.03816 1.04057 1.04722 1.0442 1.0454 1.03393 -1.02487 1.03272 1.02728 1.03574 1.03091 1.02124 1.02849 1.02306 -1.02487 1.02306 1.0303 1.02426 1.01943 1.01943 1.02185 1.01943 -1.01098 1.014 1.02004 1.02245 1.02547 1.02245 1.01339 1.01218 -1.02366 1.02124 1.02668 1.01822 1.02064 1.0152 1.02547 1.02426 -1.0152 1.0146 1.0291 1.01581 1.02306 1.01218 1.01641 1.02004 -1.00554 1.01822 1.00977 1.01762 1.01581 1.00977 1.0152 1.1093 -1.138 1.1387 1.13905 1.1324 1.13345 1.13625 1.13765 1.13485 -1.1338 1.13205 1.1373 1.1415 1.1359 1.13275 1.0593 1.00252 -1.00433 1.01279 1.01037 1.0146 1.01279 1.02245 1.02064 1.02668 -1.02064 1.0146 1.02064 1.02547 1.0146 1.01098 1.02245 1.02366 -1.02185 1.01822 1.01943 1.0146 1.01822 1.02064 1.02064 1.02789 -1.01822 1.01943 1.02849 1.02426 1.0146 1.02124 1.01943 1.02789 -1.02547 1.02185 1.02124 1.02789 1.02064 1.02849 1.02608 1.03091 -1.02004 1.01943 1.02306 1.02306 1.02306 1.01883 1.02728 1.03393 -1.03574 1.03997 1.04359 1.05024 1.04118 0.797776 0.139463 0 -0 0 0 0 0 0 0 0.00200667 -0.00100333 0.00602 0 0 0 0.00301 0.00602 0 -0.00100333 0 0 0.00301 0 0 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00200667 0.00301 0.00802667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0.00401333 0 0 0 0 0 -0 0 0 0.00100333 0 0.00401333 0.0140467 0.00401333 -0.00100333 0.00602 0.00903 0.00802667 0 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0311033 0.50568 1.00796 1.04963 1.0442 1.03393 1.03514 -1.03695 1.03816 1.03272 1.03212 1.03151 1.02547 1.02487 1.02064 -1.02426 1.02547 1.0303 1.01762 1.02547 1.02064 1.01702 1.02366 -1.02124 1.02668 1.02366 1.01702 1.01822 1.02124 1.02004 1.02487 -1.0297 1.01943 1.014 1.01883 1.02245 1.01762 1.01702 1.01702 -1.02366 1.02306 1.02245 1.02426 1.0152 1.02789 1.0146 1.02185 -1.02306 1.02366 1.01641 1.0152 1.00796 1.01339 1.02789 1.12505 -1.14115 1.14185 1.13695 1.1366 1.13975 1.138 1.1345 1.138 -1.13135 1.12995 1.13905 1.13765 1.14045 1.1422 1.08935 1.01339 -1.01158 1.014 1.0146 1.0152 1.01339 1.02306 1.01762 1.02064 -1.0146 1.01279 1.02124 1.02124 1.02124 1.02306 1.0297 1.01943 -1.01883 1.01641 1.02306 1.02185 1.02306 1.01762 1.02306 1.0152 -1.01883 1.01339 1.0146 1.02064 1.02608 1.01822 1.01098 1.01641 -1.02426 1.02426 1.02004 1.02064 1.02487 1.02245 1.01339 1.03151 -1.02728 1.02366 1.02668 1.02608 1.03151 1.0297 1.03574 1.03816 -1.04118 1.05688 1.05205 1.02789 0.616168 0.06622 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0 0 0.00100333 0.00100333 0.00602 0.00702333 0.00501667 0.00200667 -0.00100333 0 0.00401333 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00702333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0.00401333 0 0.01204 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0 0 0 0.0110367 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0.253843 0.894376 1.05024 1.04782 1.05446 -1.04782 1.04299 1.04057 1.02487 1.02849 1.03393 1.0291 1.0297 -1.03393 1.02789 1.02608 1.03151 1.02245 1.02064 1.0303 1.02064 -1.02185 1.014 1.02789 1.01943 1.01822 1.02124 1.02366 1.02547 -1.00796 1.01581 1.01581 1.014 1.01822 1.0152 1.0146 1.01641 -1.01702 1.01943 1.0152 1.02185 1.02004 1.0152 1.01822 1.0152 -1.01037 1.01218 1.01279 1.02426 1.02487 1.01218 1.02487 1.13065 -1.1408 1.13975 1.13485 1.1387 1.1324 1.13625 1.13905 1.13205 -1.1394 1.13485 1.1352 1.1366 1.1331 1.13975 1.0918 1.00252 -1.00675 1.0152 1.00916 1.01762 1.02426 1.0146 1.01037 1.02306 -1.01762 1.02004 1.02124 1.01098 1.014 1.01762 1.0291 1.01581 -1.02849 1.03091 1.01943 1.01883 1.02124 1.01279 1.01581 1.01702 -1.014 1.02245 1.02185 1.02124 1.02849 1.02124 1.0297 1.02728 -1.02426 1.02789 1.02366 1.02124 1.03212 1.02547 1.02728 1.03091 -1.02306 1.03272 1.03816 1.03151 1.02849 1.03091 1.0454 1.04903 -1.0454 1.05567 0.963864 0.371233 0.00602 0 0 0 -0 0 0 0 0 0.00802667 0.00301 0 -0 0 0 0 0 0 0.0100333 0.0140467 -0.00802667 0 0 0.00100333 0 0 0.00200667 0.00802667 -0 0 0.00100333 0.00301 0.00602 0.00602 0.0100333 0.00602 -0 0.00100333 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0.00200667 0.00100333 0.00200667 0.00702333 0 0.00301 0 0 -0.00602 0.0100333 0.00100333 0 0 0 0 0 -0.00702333 0 0 0.00602 0 0 0 0.00401333 -0.00501667 0.00100333 0 0 0.00401333 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.08127 0.537787 1.00312 1.05326 -1.04178 1.0454 1.03755 1.03514 1.04238 1.03272 1.03272 1.03091 -1.0297 1.02547 1.02849 1.02426 1.02426 1.03634 1.0303 1.02124 -1.02849 1.02004 1.0291 1.0291 1.02004 1.02487 1.02124 1.01339 -1.01641 1.02124 1.01762 1.02668 1.02185 1.01822 1.01822 1.02185 -1.02547 1.02366 1.01943 1.02366 1.02306 1.01279 1.02487 1.01822 -1.02306 1.02124 1.01641 1.00856 1.0146 1.02185 1.01762 1.12155 -1.1408 1.13485 1.14185 1.1408 1.1366 1.1324 1.13415 1.1415 -1.13625 1.1359 1.1394 1.13695 1.1401 1.1429 1.08865 1.01581 -1.01098 1.01037 1.01822 1.02306 1.02306 1.01943 1.02306 1.01098 -1.02487 1.01943 1.01943 1.02789 1.02306 1.01279 1.02547 1.01943 -1.01883 1.01822 1.01762 1.0303 1.01822 1.02124 1.02487 1.02124 -1.01339 1.01943 1.01702 1.014 1.01158 1.02306 1.01702 1.02426 -1.01822 1.02245 1.02789 1.02306 1.02789 1.02487 1.02487 1.02306 -1.02849 1.03091 1.04057 1.04238 1.05205 1.04842 1.04661 1.05628 -1.03634 0.757848 0.167557 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00702333 0 0 0.00802667 0 0 0 -0 0 0 0 0.00301 0 0 0.00100333 -0.00200667 0.00401333 0 0.00100333 0.00100333 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0.00100333 0 0 0 0.00602 -0 0 0.00702333 0 0 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0 0 0 0.0100333 0 -0 0 0 0 0 0 0.20769 0.739816 -1.02064 1.05205 1.04601 1.04661 1.04299 1.03212 1.03755 1.03091 -1.02789 1.03332 1.03755 1.02849 1.03393 1.02668 1.01581 1.02064 -1.02608 1.02668 1.02185 1.02004 1.02245 1.02789 1.0152 1.02124 -1.0291 1.02245 1.02185 1.02124 1.02366 1.03091 1.02608 1.02487 -1.02245 1.02124 1.0297 1.02185 1.02306 1.0146 1.0152 1.01943 -1.02185 1.0146 1.01641 1.02487 1.01702 1.00071 1.0152 1.1044 -1.13905 1.13695 1.13275 1.13415 1.1338 1.13345 1.1331 1.138 -1.1352 1.1401 1.1394 1.13905 1.1422 1.1352 1.06956 1.00735 -1.02306 1.0152 1.02064 1.0146 1.0146 1.02185 1.02487 1.02366 -1.02004 1.02306 1.01581 1.01279 1.02608 1.02124 1.01883 1.01702 -1.02245 1.01883 1.014 1.03453 1.02004 1.02426 1.01883 1.01641 -1.0303 1.02124 1.02487 1.0303 1.02547 1.02064 1.02487 1.02426 -1.0152 1.02426 1.02245 1.03574 1.0297 1.02849 1.0291 1.02547 -1.03755 1.03936 1.03876 1.0442 1.04782 1.05628 1.05748 0.9542 -0.40033 0.0220733 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0 0 0.00301 0 0 0 0 0.00100333 -0 0 0 0 0 0.00602 0.00602 0.00501667 -0 0 0 0 0.00100333 0 0 0.00301 -0.00501667 0.00602 0.00401333 0.00602 0.00702333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00301 0.00200667 0 0 0 0.00702333 -0 0 0 0 0 0 0.00602 0 -0 0 0 0 0 0.00802667 0.00301 0.00401333 -0.00100333 0 0.00501667 0.00200667 0 0 0 0 -0 0 0 0 0 0.00301 0 0 -0 0 0 0 0 0 0 0.0110367 -0.301 0.7952 1.03151 1.0599 1.0442 1.04661 1.03816 1.04238 -1.0448 1.03091 1.03212 1.02789 1.03514 1.02124 1.02608 1.03453 -1.02608 1.02547 1.02849 1.03272 1.03151 1.01883 1.02124 1.02668 -1.02547 1.02789 1.0291 1.02366 1.02547 1.02608 1.02306 1.02185 -1.02064 1.02245 1.01943 1.01883 1.00977 1.02306 1.02487 1.02789 -1.01762 1.02124 1.0297 1.01762 1.0146 1.00433 1.01037 1.0799 -1.1387 1.1443 1.1359 1.14115 1.1443 1.1359 1.1352 1.1394 -1.13555 1.1359 1.13695 1.1359 1.1394 1.12575 1.03816 1.0146 -1.01158 1.02004 1.02668 1.02366 1.02668 1.01883 1.0146 1.02728 -1.02547 1.02547 1.01279 1.02004 1.01822 1.02487 1.02608 1.02366 -1.02668 1.01702 1.01762 1.02487 1.02306 1.02245 1.02306 1.02185 -1.02245 1.02064 1.01822 1.02789 1.03332 1.01883 1.02004 1.02849 -1.02426 1.02789 1.02547 1.03091 1.03755 1.03755 1.03393 1.03151 -1.04359 1.04238 1.04903 1.05869 1.06171 1.00071 0.588957 0.101337 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0 0.00401333 -0 0 0 0.00100333 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0 0 0 0 0 0 0 -0 0 0.00602 0.0110367 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0.00200667 0.00100333 0 0 0 0 0 0 -0 0 0 0.00200667 0.00903 0 0 0 -0.00501667 0 0 0.0100333 0 0 0.00602 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0130433 0.266887 0.71148 0.998292 1.05205 1.05265 1.04963 -1.04661 1.03634 1.04299 1.03574 1.03332 1.02366 1.03151 1.03332 -1.03151 1.03091 1.02245 1.02426 1.0303 1.02789 1.03936 1.02608 -1.01581 1.0291 1.03514 1.01822 1.02124 1.02124 1.01883 1.02004 -1.02185 1.02849 1.02728 1.02306 1.02668 1.02728 1.02789 1.02064 -1.02668 1.02547 1.01641 1.02185 1.02064 1.02004 1.02185 1.03876 -1.12015 1.1387 1.1408 1.1373 1.1429 1.1429 1.1387 1.1366 -1.1352 1.14465 1.14751 1.14542 1.145 1.08585 1.0146 1.02185 -1.02004 1.01943 1.02366 1.02064 1.02487 1.02547 1.02789 1.02245 -1.02728 1.014 1.02487 1.02849 1.02426 1.02608 1.02064 1.02728 -1.02124 1.02668 1.02728 1.02849 1.03332 1.02728 1.0297 1.02547 -1.02245 1.02849 1.03272 1.02426 1.02366 1.02608 1.02004 1.0291 -1.0291 1.03272 1.03997 1.03695 1.03816 1.04963 1.04661 1.04238 -1.05326 1.05205 1.06352 0.998292 0.62776 0.169563 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00903 0 0 0 0 0 -0.00501667 0 0.00903 0 0.00802667 0.00802667 0.00501667 0 -0.00401333 0 0.00200667 0 0 0 0.00301 0 -0.00200667 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0 0 0 0 0 0.00200667 -0 0 0 0.00501667 0 0 0.00602 0 -0 0 0 0 0.00301 0.00200667 0 0 -0 0 0.00301 0 0 0 0 0 -0 0 0 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.1806 0.539793 0.9391 1.03755 -1.05567 1.05144 1.04178 1.04057 1.04359 1.04661 1.04178 1.03393 -1.03332 1.03272 1.03695 1.03755 1.03393 1.02789 1.03393 1.03393 -1.03453 1.02608 1.02668 1.02124 1.03151 1.03393 1.02245 1.03091 -1.0297 1.0291 1.02547 1.02608 1.02004 1.02004 1.02487 1.02547 -1.02849 1.02185 1.02245 1.02487 1.02849 1.02366 1.01762 1.02608 -1.06896 1.1366 1.14542 1.1415 1.14255 1.1422 1.1443 1.13835 -1.1387 1.1443 1.14625 1.14325 1.1114 1.03816 1.02608 1.02306 -1.01762 1.02124 1.02366 1.02487 1.02487 1.03393 1.02487 1.02668 -1.03212 1.03151 1.02426 1.01943 1.0291 1.02547 1.02306 1.02306 -1.02487 1.02487 1.02004 1.02547 1.02608 1.02608 1.02366 1.0291 -1.02789 1.03212 1.03695 1.0297 1.03212 1.03272 1.03393 1.02487 -1.02789 1.03514 1.03574 1.0448 1.0442 1.05326 1.04782 1.05567 -1.0448 0.973528 0.57792 0.18963 0 0 0 0 -0 0 0 0 0 0 0.00301 0 -0 0 0 0 0.00602 0 0 0 -0 0 0.00200667 0 0 0 0 0 -0 0.00401333 0.00100333 0 0.00501667 0 0 0 -0 0.00100333 0.00301 0.00702333 0 0 0.00501667 0 -0 0 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0.00602 0 0 0.00100333 0.00100333 0.00200667 0 -0 0 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00602 0 0 0 0 0.00802667 0.00501667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.05418 0.306017 -0.641928 0.94816 1.02728 1.0599 1.05446 1.0448 1.04299 1.04118 -1.04057 1.04842 1.04118 1.03574 1.03936 1.04178 1.03574 1.03272 -1.02366 1.03151 1.03212 1.03453 1.03936 1.02849 1.03212 1.03876 -1.03453 1.0291 1.02668 1.03816 1.03091 1.03876 1.0291 1.03574 -1.02849 1.03634 1.03453 1.0291 1.02426 1.03212 1.03272 1.02426 -1.02608 1.07379 1.12995 1.14709 1.14876 1.14395 1.14793 1.145 -1.14751 1.14625 1.14185 1.1142 1.0442 1.02547 1.02849 1.02789 -1.02849 1.0291 1.0297 1.02728 1.02728 1.02849 1.02668 1.03272 -1.0291 1.02728 1.0291 1.03755 1.02849 1.03091 1.03091 1.02366 -1.03755 1.02668 1.03212 1.02728 1.0297 1.03151 1.03091 1.02849 -1.03574 1.02789 1.03453 1.04238 1.04299 1.03453 1.04057 1.0448 -1.03876 1.0442 1.0448 1.05446 1.05628 1.05507 1.02064 0.845432 -0.431433 0.110367 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00501667 0 0.00602 0 -0 0 0 0 0 0 0 0 -0 0 0.00903 0 0.00100333 0 0 0.00702333 -0.00200667 0 0 0 0.00200667 0 0.00100333 0.00602 -0 0.00401333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0.00802667 0 -0 0 0 0.00200667 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.06622 0.254847 0.53578 0.871192 0.992856 1.04057 1.05446 -1.05628 1.05265 1.05205 1.04359 1.03876 1.04057 1.03936 1.03574 -1.04299 1.0291 1.03574 1.04057 1.0303 1.03151 1.03393 1.03936 -1.02426 1.03212 1.03393 1.03453 1.03332 1.03332 1.03695 1.03393 -1.0291 1.03453 1.03634 1.0297 1.03755 1.03755 1.03212 1.02849 -1.03393 1.03332 1.05869 1.1079 1.13205 1.14667 1.14751 1.14584 -1.14876 1.1296 1.0848 1.04903 1.03393 1.03272 1.03332 1.03453 -1.03453 1.03574 1.03755 1.03453 1.04238 1.03997 1.0303 1.03695 -1.03212 1.03453 1.03151 1.03574 1.03393 1.03876 1.02608 1.03876 -1.03272 1.03212 1.03816 1.04178 1.03816 1.03212 1.03212 1.03151 -1.0442 1.04238 1.03091 1.0454 1.04903 1.03936 1.05144 1.04359 -1.05446 1.04963 1.04722 1.01037 0.87892 0.515713 0.199663 0.02107 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00301 0 0 0 0 0.00200667 -0 0 0 0.00602 0 0 0 0.00200667 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00301 0 0 0 0 0 -0.0110367 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0100333 0.12642 0.320063 0.554843 -0.804216 0.959032 1.01641 1.03997 1.04903 1.05084 1.04661 1.04238 -1.0442 1.04359 1.05205 1.04782 1.04842 1.0442 1.03936 1.04118 -1.04238 1.05205 1.0442 1.03936 1.04722 1.04661 1.03514 1.03634 -1.03997 1.04359 1.03695 1.04359 1.04118 1.04661 1.03634 1.03755 -1.04238 1.03695 1.04601 1.0442 1.0599 1.07319 1.08305 1.0862 -1.06594 1.05084 1.03876 1.03997 1.03816 1.0454 1.0442 1.03997 -1.03634 1.04178 1.03755 1.03212 1.03755 1.03634 1.04238 1.04057 -1.03695 1.03936 1.03755 1.0442 1.0448 1.03876 1.03755 1.04299 -1.04359 1.03755 1.0448 1.0442 1.04178 1.04359 1.04782 1.0442 -1.05024 1.04842 1.04238 1.05507 1.0605 1.04963 1.0454 1.00735 -0.934872 0.680568 0.42742 0.17458 0.02709 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00602 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0100333 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0581933 0.17157 0.29799 0.452503 0.641928 0.818384 0.931852 -0.962656 1.00614 1.0146 1.02426 1.0303 1.03332 1.04782 1.04661 -1.04722 1.04722 1.05326 1.04359 1.04722 1.0448 1.04299 1.0454 -1.04842 1.04963 1.05386 1.05024 1.04661 1.0448 1.05024 1.04118 -1.04178 1.04842 1.04601 1.04299 1.04842 1.04782 1.04842 1.04722 -1.05024 1.04601 1.04722 1.05265 1.03997 1.04178 1.04601 1.05144 -1.05024 1.04963 1.05326 1.05084 1.0448 1.04903 1.04661 1.04963 -1.05205 1.0454 1.04782 1.05144 1.04359 1.04842 1.05144 1.05265 -1.05205 1.05084 1.04661 1.0442 1.04178 1.03695 1.03514 1.01581 -1.00977 0.978964 0.922712 0.787472 0.61488 0.462537 0.295983 0.145483 -0.0411367 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0341133 0.0441467 0.0471567 0.0441467 0.05418 0.05117 0.0602 -0.0702333 0.0672233 0.06923 0.0672233 0.08428 0.0973233 0.06923 0.0903 -0.0983267 0.0983267 0.0983267 0.11137 0.125417 0.115383 0.101337 0.106353 -0.107357 0.103343 0.109363 0.106353 0.12341 0.11438 0.124413 0.128427 -0.12341 0.127423 0.143477 0.13244 0.139463 0.139463 0.14448 0.12642 -0.133443 0.139463 0.124413 0.122407 0.136453 0.13244 0.124413 0.110367 -0.125417 0.121403 0.131437 0.1204 0.110367 0.125417 0.118393 0.130433 -0.149497 0.146487 0.152507 0.121403 0.109363 0.107357 0.0973233 0.0983267 -0.09632 0.0943133 0.08428 0.0882933 0.08127 0.10836 0.11137 0.155517 -0.206687 0.27391 0.314043 0.366217 0.41538 0.4515 0.49063 0.49063 -0.522737 0.542803 0.551833 0.570897 0.584943 0.584943 0.597987 0.631624 -0.649656 0.67284 0.671552 0.690872 0.716632 0.721784 0.710192 0.7308 -0.74368 0.729512 0.744968 0.751408 0.735952 0.761712 0.768152 0.777168 -0.791336 0.78232 0.779744 0.765576 0.786184 0.786184 0.811944 0.831264 -0.796488 0.779744 0.768152 0.802928 0.783608 0.791336 0.781032 0.760424 -0.787472 0.760424 0.77588 0.747544 0.742392 0.723072 0.723072 0.670264 -0.65352 0.632912 0.57491 0.5117 0.43344 0.38829 0.336117 0.268893 -0.21973 0.14147 0.0762533 0.0401333 0.0280933 0.01505 0.02107 0.0321067 -0.0260867 0.0190633 0.0190633 0.0140467 0.0260867 0.02709 0.0230767 0.0160533 -0.0351167 0.04515 0.0260867 0.0160533 0.01505 0.0170567 0.0200667 0.0110367 -0.01505 0.00602 0.0110367 0.0190633 0.00401333 0.0160533 0.0220733 0.01204 -0.0140467 0.01204 0.00401333 0 0 0.00200667 0 0 -0.00301 0.00903 0.0140467 0.0190633 0 0 0 0 -0 0.00401333 0 0 0 0 0 0.00301 -0 0 0 0 0.00602 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.118393 0.17759 0.17458 0.181603 0.172573 0.161537 0.1806 -0.185617 0.191637 0.1806 0.184613 0.190633 0.1806 0.170567 0.191637 -0.19866 0.19565 0.194647 0.184613 0.187623 0.17759 0.17157 0.17759 -0.16254 0.167557 0.173577 0.172573 0.169563 0.160533 0.16254 0.178593 -0.182607 0.173577 0.157523 0.167557 0.17458 0.137457 0.15652 0.160533 -0.161537 0.1505 0.1505 0.15953 0.148493 0.14147 0.145483 0.152507 -0.1505 0.163543 0.14749 0.15351 0.139463 0.134447 0.140467 0.15652 -0.14147 0.158527 0.14448 0.13545 0.136453 0.14147 0.139463 0.13846 -0.12943 0.122407 0.128427 0.10836 0.109363 0.113377 0.11739 0.0983267 -0.112373 0.113377 0.116387 0.09933 0.0983267 0.0983267 0.0913033 0.0903 -0.0913033 0.08428 0.0882933 0.0953167 0.0973233 0.10234 0.103343 0.10836 -0.110367 0.101337 0.09933 0.10836 0.11137 0.112373 0.11137 0.10836 -0.100333 0.11137 0.101337 0.11137 0.104347 0.09933 0.118393 0.11438 -0.11739 0.0983267 0.10836 0.109363 0.112373 0.124413 0.109363 0.122407 -0.11739 0.1204 0.115383 0.125417 0.119397 0.113377 0.112373 0.115383 -0.121403 0.100333 0.125417 0.118393 0.11739 0.110367 0.115383 0.11137 -0.10535 0.101337 0.119397 0.112373 0.103343 0.103343 0.11438 0.103343 -0.106353 0.122407 0.112373 0.118393 0.131437 0.127423 0.12341 0.152507 -0.134447 0.1204 0.149497 0.136453 0.134447 0.15351 0.164547 0.166553 -0.164547 0.178593 0.151503 0.157523 0.16555 0.14448 0.167557 0.164547 -0.184613 0.17458 0.164547 0.16856 0.148493 0.1505 0.166553 0.18361 -0.169563 0.169563 0.164547 0.15652 0.158527 0.1505 0.14448 0.14147 -0.143477 0.143477 0.128427 0.151503 0.151503 0.142473 0.139463 0.14448 -0.130433 0.122407 0.109363 0.100333 0.109363 0.100333 0.0882933 0.0882933 -0.0973233 0.107357 0.0923067 0.0772567 0.0802667 0.08729 0.04515 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.10234 0.1505 0.14147 0.1505 0.148493 0.158527 -0.151503 0.15652 0.14448 0.151503 0.161537 0.152507 0.15652 0.167557 -0.154513 0.14749 0.134447 0.139463 0.14147 0.13545 0.140467 0.134447 -0.131437 0.145483 0.14749 0.142473 0.143477 0.12943 0.15351 0.139463 -0.12943 0.128427 0.140467 0.145483 0.14147 0.14448 0.15652 0.15351 -0.13244 0.155517 0.143477 0.145483 0.14448 0.142473 0.15652 0.128427 -0.143477 0.15351 0.14749 0.136453 0.11739 0.140467 0.13545 0.140467 -0.13545 0.140467 0.127423 0.13244 0.140467 0.137457 0.133443 0.130433 -0.121403 0.12642 0.12943 0.12642 0.134447 0.118393 0.118393 0.118393 -0.125417 0.113377 0.11137 0.09632 0.11739 0.09933 0.110367 0.10535 -0.106353 0.1204 0.106353 0.09933 0.107357 0.104347 0.09632 0.103343 -0.10234 0.109363 0.0983267 0.09632 0.101337 0.0983267 0.10535 0.101337 -0.09632 0.10234 0.0892967 0.107357 0.10836 0.0983267 0.107357 0.104347 -0.115383 0.0892967 0.10535 0.0973233 0.109363 0.10535 0.0943133 0.104347 -0.107357 0.0983267 0.122407 0.10535 0.113377 0.11137 0.106353 0.10535 -0.103343 0.0943133 0.0943133 0.112373 0.10836 0.101337 0.103343 0.0983267 -0.106353 0.110367 0.09632 0.09933 0.103343 0.0983267 0.0953167 0.10535 -0.11438 0.103343 0.104347 0.130433 0.106353 0.128427 0.11739 0.13244 -0.106353 0.12943 0.134447 0.133443 0.124413 0.139463 0.12642 0.12943 -0.13545 0.149497 0.14749 0.146487 0.14749 0.146487 0.133443 0.13846 -0.16555 0.140467 0.15953 0.151503 0.158527 0.157523 0.14147 0.140467 -0.15652 0.148493 0.160533 0.151503 0.15652 0.154513 0.148493 0.15953 -0.160533 0.161537 0.148493 0.1505 0.157523 0.16254 0.1505 0.163543 -0.169563 0.17458 0.173577 0.161537 0.16254 0.161537 0.166553 0.170567 -0.16856 0.173577 0.17458 0.172573 0.166553 0.124413 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.09933 0.151503 0.157523 0.139463 0.145483 -0.142473 0.143477 0.145483 0.152507 0.14749 0.14749 0.142473 0.143477 -0.14147 0.130433 0.134447 0.140467 0.142473 0.145483 0.133443 0.13545 -0.1505 0.146487 0.134447 0.13545 0.133443 0.130433 0.128427 0.13244 -0.130433 0.148493 0.14749 0.137457 0.13244 0.130433 0.133443 0.133443 -0.140467 0.1505 0.143477 0.13846 0.133443 0.143477 0.149497 0.143477 -0.15351 0.145483 0.14147 0.142473 0.13545 0.155517 0.139463 0.148493 -0.13545 0.13545 0.127423 0.133443 0.134447 0.128427 0.137457 0.124413 -0.124413 0.13244 0.140467 0.113377 0.127423 0.13545 0.139463 0.128427 -0.130433 0.10535 0.13244 0.10535 0.113377 0.128427 0.122407 0.113377 -0.12943 0.1204 0.115383 0.11137 0.116387 0.12341 0.11137 0.131437 -0.115383 0.116387 0.107357 0.115383 0.119397 0.1204 0.119397 0.1204 -0.107357 0.115383 0.115383 0.1204 0.119397 0.11438 0.1204 0.115383 -0.121403 0.110367 0.121403 0.136453 0.140467 0.121403 0.125417 0.125417 -0.122407 0.12341 0.12943 0.12642 0.118393 0.10836 0.12341 0.11137 -0.12642 0.11739 0.112373 0.119397 0.116387 0.12341 0.11137 0.115383 -0.109363 0.11739 0.12341 0.124413 0.124413 0.11739 0.116387 0.125417 -0.10535 0.12642 0.139463 0.127423 0.12943 0.127423 0.134447 0.128427 -0.125417 0.130433 0.139463 0.154513 0.14147 0.14749 0.154513 0.13545 -0.13244 0.142473 0.142473 0.14448 0.140467 0.152507 0.151503 0.12943 -0.148493 0.145483 0.148493 0.13846 0.149497 0.14749 0.142473 0.12642 -0.15351 0.143477 0.140467 0.151503 0.148493 0.15351 0.155517 0.137457 -0.152507 0.146487 0.145483 0.14147 0.14448 0.1505 0.14448 0.1505 -0.137457 0.149497 0.140467 0.1505 0.151503 0.149497 0.143477 0.146487 -0.149497 0.15351 0.163543 0.160533 0.116387 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.14448 0.143477 0.128427 0.139463 -0.14448 0.14448 0.140467 0.14147 0.137457 0.13545 0.124413 0.134447 -0.14147 0.139463 0.151503 0.14749 0.149497 0.14147 0.136453 0.14448 -0.154513 0.14147 0.14147 0.13846 0.14448 0.131437 0.137457 0.134447 -0.130433 0.130433 0.112373 0.127423 0.134447 0.133443 0.130433 0.139463 -0.145483 0.133443 0.13846 0.13545 0.139463 0.142473 0.146487 0.151503 -0.139463 0.154513 0.146487 0.139463 0.131437 0.13846 0.14448 0.148493 -0.14147 0.140467 0.137457 0.137457 0.12341 0.1505 0.128427 0.13846 -0.127423 0.13244 0.13244 0.130433 0.137457 0.13244 0.13244 0.12341 -0.139463 0.134447 0.13244 0.110367 0.134447 0.127423 0.125417 0.137457 -0.127423 0.121403 0.128427 0.1204 0.12341 0.121403 0.124413 0.134447 -0.12642 0.122407 0.127423 0.115383 0.134447 0.130433 0.121403 0.1204 -0.118393 0.124413 0.130433 0.137457 0.121403 0.122407 0.128427 0.13244 -0.130433 0.136453 0.12943 0.143477 0.136453 0.12943 0.127423 0.11739 -0.139463 0.12642 0.130433 0.12943 0.130433 0.12943 0.125417 0.12341 -0.131437 0.12341 0.128427 0.125417 0.112373 0.128427 0.112373 0.127423 -0.118393 0.12642 0.122407 0.12642 0.136453 0.13846 0.131437 0.13846 -0.124413 0.124413 0.142473 0.14147 0.131437 0.143477 0.137457 0.140467 -0.125417 0.142473 0.14147 0.143477 0.152507 0.145483 0.151503 0.14749 -0.14147 0.14448 0.13846 0.146487 0.142473 0.13244 0.145483 0.136453 -0.146487 0.140467 0.14749 0.13846 0.133443 0.148493 0.139463 0.134447 -0.139463 0.149497 0.13545 0.142473 0.14147 0.13846 0.14448 0.1505 -0.1505 0.148493 0.148493 0.14749 0.139463 0.13846 0.134447 0.15351 -0.15953 0.155517 0.160533 0.148493 0.14749 0.14147 0.137457 0.151503 -0.15652 0.146487 0.155517 0.119397 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0140467 0.14147 0.136453 0.142473 -0.14448 0.140467 0.13846 0.137457 0.13846 0.146487 0.139463 0.152507 -0.14448 0.14749 0.14749 0.146487 0.140467 0.137457 0.139463 0.14749 -0.149497 0.14448 0.136453 0.131437 0.14749 0.140467 0.142473 0.13846 -0.151503 0.142473 0.142473 0.143477 0.14147 0.118393 0.139463 0.139463 -0.139463 0.142473 0.140467 0.14147 0.13846 0.14448 0.146487 0.14147 -0.14448 0.140467 0.142473 0.146487 0.12642 0.15351 0.155517 0.149497 -0.139463 0.124413 0.139463 0.14147 0.137457 0.14448 0.136453 0.137457 -0.14448 0.146487 0.13846 0.131437 0.143477 0.134447 0.136453 0.1505 -0.14448 0.125417 0.124413 0.130433 0.140467 0.133443 0.137457 0.12642 -0.133443 0.13846 0.128427 0.121403 0.128427 0.130433 0.139463 0.127423 -0.133443 0.124413 0.130433 0.139463 0.13846 0.13545 0.127423 0.128427 -0.12943 0.127423 0.122407 0.134447 0.136453 0.13846 0.133443 0.13545 -0.14147 0.131437 0.13244 0.128427 0.14448 0.13244 0.131437 0.131437 -0.14749 0.124413 0.131437 0.142473 0.128427 0.136453 0.127423 0.14448 -0.134447 0.119397 0.13545 0.140467 0.13244 0.124413 0.136453 0.131437 -0.124413 0.13545 0.139463 0.127423 0.145483 0.142473 0.145483 0.148493 -0.12642 0.140467 0.14147 0.146487 0.12642 0.140467 0.133443 0.13846 -0.13545 0.14448 0.152507 0.14147 0.142473 0.145483 0.152507 0.131437 -0.148493 0.13846 0.13846 0.13846 0.148493 0.143477 0.137457 0.128427 -0.139463 0.12943 0.142473 0.14749 0.137457 0.151503 0.160533 0.145483 -0.148493 0.143477 0.13846 0.148493 0.146487 0.142473 0.137457 0.146487 -0.14448 0.155517 0.148493 0.152507 0.151503 0.14749 0.13244 0.151503 -0.151503 0.149497 0.14448 0.155517 0.1505 0.14749 0.148493 0.146487 -0.158527 0.1505 0.154513 0.02107 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0170567 0.148493 0.154513 -0.15351 0.157523 0.163543 0.158527 0.151503 0.16254 0.155517 0.154513 -0.16555 0.158527 0.161537 0.151503 0.15953 0.164547 0.158527 0.163543 -0.16555 0.160533 0.16856 0.16856 0.170567 0.155517 0.15351 0.16254 -0.16555 0.160533 0.166553 0.17157 0.16856 0.16856 0.173577 0.161537 -0.163543 0.16555 0.1806 0.16254 0.164547 0.161537 0.17458 0.16555 -0.15652 0.160533 0.164547 0.17458 0.170567 0.16555 0.166553 0.16555 -0.15652 0.155517 0.17759 0.164547 0.164547 0.167557 0.161537 0.16555 -0.161537 0.166553 0.16254 0.169563 0.164547 0.176587 0.169563 0.158527 -0.161537 0.14147 0.17458 0.161537 0.160533 0.152507 0.155517 0.154513 -0.164547 0.15652 0.154513 0.151503 0.161537 0.172573 0.169563 0.158527 -0.161537 0.15953 0.161537 0.16254 0.173577 0.163543 0.160533 0.155517 -0.160533 0.160533 0.167557 0.157523 0.169563 0.16555 0.166553 0.15953 -0.158527 0.16555 0.154513 0.17458 0.173577 0.160533 0.160533 0.1505 -0.16254 0.154513 0.160533 0.158527 0.173577 0.158527 0.14147 0.169563 -0.160533 0.149497 0.16254 0.164547 0.164547 0.166553 0.167557 0.15953 -0.15351 0.16555 0.17157 0.158527 0.163543 0.167557 0.146487 0.167557 -0.161537 0.163543 0.170567 0.16555 0.161537 0.166553 0.164547 0.157523 -0.154513 0.154513 0.157523 0.172573 0.146487 0.160533 0.149497 0.149497 -0.163543 0.16254 0.161537 0.161537 0.15953 0.166553 0.155517 0.13846 -0.161537 0.14749 0.152507 0.155517 0.155517 0.13545 0.13545 0.155517 -0.16254 0.163543 0.151503 0.149497 0.1505 0.15652 0.13846 0.14749 -0.14448 0.14147 0.149497 0.155517 0.15652 0.15652 0.137457 0.139463 -0.14749 0.148493 0.149497 0.151503 0.152507 0.145483 0.14147 0.161537 -0.154513 0.169563 0.02107 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0110367 0.0792633 -0.0832767 0.0742467 0.0612033 0.0672233 0.0762533 0.0772567 0.07525 0.0762533 -0.0702333 0.07826 0.07224 0.06321 0.0792633 0.06923 0.0672233 0.0622067 -0.0712367 0.06923 0.0672233 0.07525 0.0762533 0.0622067 0.0642133 0.06622 -0.06622 0.0642133 0.0702333 0.0682267 0.0602 0.06622 0.0652167 0.05719 -0.0622067 0.0652167 0.0551833 0.0551833 0.0501667 0.0702333 0.05418 0.0501667 -0.0551833 0.0642133 0.0622067 0.0401333 0.05418 0.0381267 0.0581933 0.0501667 -0.0461533 0.05719 0.0501667 0.0491633 0.0581933 0.0471567 0.0461533 0.05418 -0.0491633 0.0441467 0.0461533 0.0461533 0.05418 0.0461533 0.03913 0.0301 -0.04816 0.04816 0.0411367 0.0371233 0.04515 0.04515 0.0401333 0.0381267 -0.0561867 0.0341133 0.0501667 0.03612 0.04214 0.0441467 0.0561867 0.0521733 -0.04816 0.05117 0.0491633 0.0381267 0.0612033 0.0461533 0.0491633 0.04515 -0.0602 0.0491633 0.0561867 0.05418 0.05719 0.0622067 0.0441467 0.0622067 -0.0561867 0.0551833 0.0591967 0.05418 0.0591967 0.06321 0.0561867 0.0521733 -0.06321 0.0561867 0.05418 0.0431433 0.0672233 0.06321 0.0612033 0.0381267 -0.06923 0.0682267 0.0591967 0.0581933 0.06321 0.07826 0.0622067 0.06622 -0.0642133 0.0712367 0.0772567 0.07826 0.0822733 0.0822733 0.0642133 0.0792633 -0.0762533 0.08127 0.10535 0.10234 0.0983267 0.106353 0.0953167 0.115383 -0.100333 0.110367 0.116387 0.115383 0.112373 0.10836 0.10234 0.107357 -0.11739 0.107357 0.107357 0.128427 0.128427 0.13846 0.137457 0.130433 -0.14448 0.136453 0.137457 0.130433 0.136453 0.14749 0.13545 0.127423 -0.137457 0.145483 0.14749 0.148493 0.1505 0.154513 0.143477 0.160533 -0.161537 0.155517 0.14749 0.161537 0.160533 0.16555 0.166553 0.176587 -0.15953 0.16555 0.157523 0.172573 0.16555 0.16856 0.15652 0.16856 -0.175583 0.0260867 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.01806 0.0230767 0.0301 0.0411367 0.0301 0.0341133 0.0371233 0.0230767 -0.02709 0.0290967 0.03311 0.03311 0.0321067 0.0351167 0.0341133 0.04515 -0.0321067 0.0311033 0.03913 0.0401333 0.0351167 0.0160533 0.0381267 0.0220733 -0.03612 0.0290967 0.0230767 0.0341133 0.0381267 0.02709 0.0321067 0.0260867 -0.03913 0.03311 0.0280933 0.0411367 0.0351167 0.0401333 0.0220733 0.0341133 -0.02709 0.02408 0.0250833 0.02408 0.0280933 0.0230767 0.0290967 0.0311033 -0.0280933 0.02709 0.0250833 0.0401333 0.0371233 0.0321067 0.0220733 0.0321067 -0.0321067 0.0200667 0.0351167 0.02408 0.0250833 0.02709 0.0250833 0.02709 -0.0311033 0.0230767 0.02408 0.0290967 0.03612 0.0371233 0.02107 0.0200667 -0.0321067 0.0250833 0.0200667 0.0200667 0.02408 0.02709 0.0290967 0.0290967 -0.0220733 0.0250833 0.02107 0.02107 0.0351167 0.0260867 0.01806 0.0371233 -0.02408 0.0250833 0.0280933 0.0250833 0.0280933 0.02408 0.0280933 0.0260867 -0.0250833 0.02107 0.02709 0.03311 0.02408 0.0290967 0.01806 0.0341133 -0.03311 0.0170567 0.0250833 0.01806 0.0220733 0.0381267 0.0250833 0.03311 -0.01204 0.02709 0.02408 0.0250833 0.02107 0.0280933 0.0311033 0.0200667 -0.0140467 0.0301 0.0351167 0.0250833 0.0220733 0.0371233 0.0351167 0.0351167 -0.02408 0.0280933 0.0351167 0.0230767 0.0290967 0.0371233 0.0220733 0.0371233 -0.0290967 0.02107 0.0250833 0.0321067 0.0411367 0.0321067 0.0351167 0.02107 -0.0301 0.0371233 0.01806 0.0220733 0.0301 0.04515 0.04214 0.0290967 -0.0401333 0.05418 0.04515 0.0501667 0.0280933 0.0321067 0.04214 0.04214 -0.0351167 0.03612 0.04214 0.0461533 0.04816 0.04214 0.04214 0.0501667 -0.0521733 0.05117 0.05418 0.0561867 0.0491633 0.0471567 0.04214 0.05117 -0.0551833 0.0602 0.0501667 0.0551833 0.06321 0.0682267 0.08127 0.0762533 -0.00702333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0230767 0.0260867 0.0301 0.0200667 0.02408 0.0200667 0.0311033 -0.0290967 0.0190633 0.02709 0.0290967 0.0250833 0.0311033 0.0401333 0.0351167 -0.0280933 0.0311033 0.0290967 0.0290967 0.0301 0.03311 0.0280933 0.0290967 -0.0230767 0.0301 0.0401333 0.0351167 0.0321067 0.0311033 0.0290967 0.0371233 -0.0290967 0.01806 0.0461533 0.0341133 0.0190633 0.0280933 0.03311 0.03913 -0.0280933 0.0371233 0.0260867 0.0190633 0.0250833 0.0260867 0.03612 0.0321067 -0.0341133 0.03612 0.0311033 0.0401333 0.0321067 0.0160533 0.0230767 0.02709 -0.03311 0.0301 0.02709 0.0220733 0.0311033 0.0260867 0.0321067 0.03311 -0.0250833 0.0280933 0.02709 0.0321067 0.02408 0.02709 0.0290967 0.0290967 -0.0250833 0.0250833 0.03612 0.0290967 0.02709 0.0311033 0.0250833 0.0321067 -0.0371233 0.0130433 0.0321067 0.0301 0.0280933 0.02408 0.03311 0.0230767 -0.02107 0.0341133 0.0301 0.02107 0.0260867 0.02408 0.0301 0.0250833 -0.02107 0.0351167 0.0220733 0.0290967 0.03311 0.02709 0.0441467 0.0351167 -0.02709 0.0250833 0.0301 0.0311033 0.0311033 0.0280933 0.0401333 0.02408 -0.0301 0.0220733 0.0301 0.0301 0.0250833 0.03311 0.0220733 0.0351167 -0.0250833 0.01505 0.0321067 0.0341133 0.0290967 0.0200667 0.03311 0.0301 -0.0230767 0.02709 0.0401333 0.03311 0.0170567 0.03612 0.0260867 0.0290967 -0.0381267 0.0250833 0.0341133 0.0190633 0.0371233 0.0381267 0.03311 0.03913 -0.02709 0.0200667 0.0280933 0.01806 0.0351167 0.0290967 0.03311 0.0290967 -0.0230767 0.0280933 0.02709 0.03311 0.0341133 0.0311033 0.02709 0.03612 -0.02709 0.0250833 0.0401333 0.0170567 0.0431433 0.0321067 0.02709 0.02709 -0.03612 0.0280933 0.02408 0.0471567 0.0371233 0.0371233 0.03612 0.03612 -0.0381267 0.0411367 0.03612 0.0190633 0.0200667 0.0401333 0.0642133 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0160533 0.01505 0.0220733 0.0200667 0.0321067 0.0250833 -0.0200667 0.0290967 0.0371233 0.0290967 0.0351167 0.0411367 0.0230767 0.0200667 -0.0160533 0.0290967 0.0301 0.03311 0.0280933 0.0220733 0.02709 0.0381267 -0.0321067 0.03612 0.03913 0.02709 0.03612 0.0301 0.02408 0.0230767 -0.03311 0.0371233 0.0290967 0.0311033 0.0280933 0.0371233 0.03311 0.02408 -0.0371233 0.02709 0.01806 0.03311 0.0321067 0.02408 0.03612 0.03311 -0.0371233 0.0431433 0.0190633 0.0321067 0.0351167 0.02408 0.0371233 0.0341133 -0.0371233 0.02408 0.0301 0.02709 0.0311033 0.0301 0.0381267 0.0311033 -0.0290967 0.0381267 0.0260867 0.0200667 0.0280933 0.04515 0.0321067 0.0200667 -0.0301 0.0381267 0.0230767 0.0301 0.02709 0.03913 0.0401333 0.0250833 -0.0290967 0.0250833 0.0260867 0.02709 0.04816 0.0250833 0.02408 0.0280933 -0.03311 0.0371233 0.0301 0.0260867 0.0351167 0.0290967 0.0260867 0.0260867 -0.0311033 0.04214 0.0260867 0.0290967 0.0290967 0.0260867 0.03311 0.0341133 -0.0351167 0.0301 0.0280933 0.0250833 0.0351167 0.0290967 0.03913 0.02107 -0.0301 0.0311033 0.0280933 0.0381267 0.0230767 0.0290967 0.0321067 0.0280933 -0.0371233 0.0170567 0.0351167 0.0160533 0.0280933 0.0441467 0.0301 0.0351167 -0.0160533 0.0250833 0.03311 0.0200667 0.04214 0.0351167 0.0220733 0.03311 -0.03311 0.03612 0.0230767 0.0290967 0.0260867 0.0311033 0.02709 0.0411367 -0.04816 0.0311033 0.0351167 0.0280933 0.0190633 0.0311033 0.03311 0.03913 -0.02107 0.0381267 0.03311 0.03311 0.0311033 0.0311033 0.0260867 0.0371233 -0.0341133 0.02709 0.04214 0.0301 0.0351167 0.0431433 0.0311033 0.0220733 -0.0280933 0.0431433 0.0290967 0.01806 0.0401333 0.03311 0.0321067 0.04816 -0.0301 0.03311 0.0431433 0.0431433 0.0311033 0.0290967 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.03612 0.0230767 0.0290967 0.0260867 0.0200667 -0.0351167 0.0301 0.0220733 0.0280933 0.0321067 0.0190633 0.0170567 0.0230767 -0.0351167 0.0301 0.0321067 0.0351167 0.0301 0.0260867 0.0351167 0.03311 -0.0431433 0.0341133 0.0250833 0.0260867 0.0311033 0.0280933 0.0311033 0.04214 -0.0260867 0.0351167 0.0280933 0.0301 0.0260867 0.02709 0.0301 0.0230767 -0.0301 0.0321067 0.0381267 0.03612 0.0280933 0.03311 0.0431433 0.0371233 -0.02709 0.0170567 0.0301 0.03311 0.0311033 0.0280933 0.0351167 0.0290967 -0.0220733 0.0311033 0.02709 0.02709 0.0441467 0.04515 0.0170567 0.0411367 -0.02709 0.0311033 0.0190633 0.0220733 0.0371233 0.03913 0.0220733 0.0311033 -0.0401333 0.01806 0.0260867 0.03311 0.03311 0.0321067 0.0250833 0.0321067 -0.0290967 0.0351167 0.0260867 0.0321067 0.03612 0.02408 0.02107 0.0351167 -0.0301 0.03612 0.0290967 0.0301 0.0381267 0.0260867 0.0290967 0.03612 -0.0351167 0.0371233 0.0220733 0.0381267 0.0290967 0.0290967 0.0381267 0.02107 -0.0341133 0.03311 0.0401333 0.02107 0.0230767 0.03913 0.0230767 0.0311033 -0.0311033 0.0200667 0.04214 0.03311 0.0401333 0.0170567 0.02709 0.02709 -0.04214 0.02408 0.0381267 0.0200667 0.0200667 0.0381267 0.03612 0.0401333 -0.0321067 0.02408 0.0321067 0.02709 0.0290967 0.03311 0.0321067 0.0230767 -0.03311 0.03311 0.03612 0.0290967 0.0341133 0.0351167 0.03311 0.0290967 -0.02709 0.0431433 0.0260867 0.03913 0.04214 0.0250833 0.0220733 0.0431433 -0.0341133 0.02107 0.0311033 0.03311 0.0321067 0.0351167 0.03913 0.02107 -0.0280933 0.0280933 0.0250833 0.0311033 0.0220733 0.0280933 0.0411367 0.0311033 -0.0321067 0.02408 0.0280933 0.0341133 0.02408 0.0411367 0.0220733 0.03612 -0.0351167 0.0371233 0.0290967 0.04515 0.0471567 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.02107 0.00401333 0.0170567 0.02709 -0.02408 0.0220733 0.0200667 0.0170567 0.02709 0.02107 0.0280933 0.0471567 -0.0301 0.03311 0.0341133 0.0230767 0.0260867 0.03913 0.0301 0.03913 -0.02709 0.01806 0.0260867 0.0371233 0.0321067 0.0301 0.03913 0.0301 -0.02408 0.0351167 0.02107 0.0321067 0.02709 0.0351167 0.0290967 0.0301 -0.0431433 0.0280933 0.0280933 0.0431433 0.0371233 0.0290967 0.0381267 0.0230767 -0.0301 0.0351167 0.04214 0.02709 0.0280933 0.03612 0.02709 0.0230767 -0.03612 0.0230767 0.0321067 0.0351167 0.0431433 0.0301 0.0341133 0.03311 -0.0321067 0.0311033 0.02709 0.0301 0.0341133 0.0260867 0.0431433 0.0301 -0.0200667 0.0351167 0.03612 0.02709 0.0260867 0.0341133 0.0351167 0.0301 -0.0321067 0.02709 0.0290967 0.0280933 0.0351167 0.0341133 0.0401333 0.0280933 -0.0250833 0.0411367 0.02408 0.0260867 0.0341133 0.03612 0.0280933 0.0260867 -0.0321067 0.0351167 0.03311 0.0321067 0.0290967 0.0230767 0.0441467 0.02408 -0.0341133 0.0341133 0.03612 0.0230767 0.0260867 0.03311 0.0301 0.0280933 -0.0301 0.0280933 0.0290967 0.0351167 0.0230767 0.0371233 0.0371233 0.0190633 -0.0341133 0.03913 0.03311 0.0411367 0.01505 0.0220733 0.0280933 0.0260867 -0.0351167 0.0341133 0.04214 0.0280933 0.0311033 0.02107 0.03612 0.02709 -0.0280933 0.03311 0.03311 0.0311033 0.03913 0.0301 0.03311 0.0341133 -0.02709 0.0381267 0.03311 0.03311 0.0351167 0.0341133 0.0290967 0.0250833 -0.0401333 0.0341133 0.0290967 0.0290967 0.02408 0.0371233 0.0341133 0.0290967 -0.0341133 0.0371233 0.0260867 0.03311 0.0311033 0.0290967 0.0280933 0.0371233 -0.04214 0.0341133 0.03311 0.0341133 0.02709 0.0321067 0.03311 0.02408 -0.0280933 0.0341133 0.04515 0.0371233 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0652167 0.0250833 0.00903 -0.00301 0.0110367 0.0220733 0.03311 0.0311033 0.03612 0.03913 0.0280933 -0.0311033 0.0230767 0.02107 0.02408 0.03913 0.0341133 0.0371233 0.03311 -0.0190633 0.0280933 0.03311 0.0321067 0.0301 0.0401333 0.02709 0.0260867 -0.03913 0.0260867 0.0341133 0.03612 0.0280933 0.03311 0.0250833 0.0351167 -0.0401333 0.0250833 0.0351167 0.0371233 0.0200667 0.03612 0.0321067 0.0341133 -0.0220733 0.03612 0.0371233 0.0280933 0.0290967 0.02408 0.0301 0.0341133 -0.03311 0.02709 0.0401333 0.0341133 0.0280933 0.0311033 0.0321067 0.0311033 -0.02408 0.03612 0.0260867 0.0301 0.0311033 0.0351167 0.0341133 0.0301 -0.03311 0.03311 0.0260867 0.0301 0.0250833 0.0471567 0.0280933 0.02709 -0.0351167 0.0311033 0.0401333 0.0311033 0.0321067 0.03612 0.0321067 0.02709 -0.0321067 0.02709 0.0371233 0.0311033 0.0280933 0.0290967 0.0250833 0.0351167 -0.0250833 0.0321067 0.0311033 0.0230767 0.0290967 0.03311 0.0290967 0.0280933 -0.03612 0.03311 0.03311 0.0260867 0.0321067 0.0341133 0.0260867 0.0290967 -0.0301 0.0301 0.0371233 0.0301 0.0301 0.0260867 0.0441467 0.0351167 -0.01806 0.0411367 0.0321067 0.03913 0.0321067 0.03311 0.0260867 0.0301 -0.02709 0.0321067 0.02709 0.0301 0.0280933 0.0260867 0.0371233 0.0341133 -0.0140467 0.03311 0.0280933 0.0311033 0.0230767 0.0401333 0.04214 0.0321067 -0.0250833 0.0290967 0.0290967 0.0351167 0.0321067 0.0381267 0.0290967 0.0301 -0.0401333 0.02709 0.0341133 0.0341133 0.03311 0.0230767 0.04214 0.02408 -0.0290967 0.0250833 0.0321067 0.0311033 0.0321067 0.0301 0.0260867 0.0301 -0.0280933 0.03913 0.02408 0.0311033 0.0351167 0.0341133 0.0301 0.0321067 -0.0290967 0.02408 0.0341133 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.04816 0.09933 0.0220733 -0.0230767 0.0220733 0.0230767 0.01806 0.02408 0.0200667 0.0170567 0.02709 -0.0230767 0.0321067 0.02709 0.03612 0.0280933 0.0250833 0.02709 0.01806 -0.0441467 0.0321067 0.0321067 0.02408 0.0321067 0.0311033 0.0280933 0.0411367 -0.0381267 0.0250833 0.0351167 0.0260867 0.0250833 0.0371233 0.0371233 0.03612 -0.0351167 0.0220733 0.03612 0.0371233 0.02408 0.0381267 0.0351167 0.0290967 -0.03311 0.0301 0.03311 0.0250833 0.0200667 0.0441467 0.0441467 0.0341133 -0.0230767 0.0301 0.0401333 0.0260867 0.03612 0.0280933 0.0301 0.0250833 -0.0371233 0.04515 0.0290967 0.0441467 0.0230767 0.0311033 0.0381267 0.0371233 -0.0381267 0.0290967 0.0351167 0.0321067 0.0341133 0.03612 0.0160533 0.02709 -0.0471567 0.0170567 0.04214 0.0371233 0.0260867 0.0280933 0.0411367 0.0311033 -0.02107 0.03913 0.0290967 0.0351167 0.0401333 0.0250833 0.0301 0.0401333 -0.0280933 0.0381267 0.0371233 0.0260867 0.03311 0.03311 0.0321067 0.03311 -0.03311 0.02408 0.03612 0.03311 0.0260867 0.0351167 0.03913 0.0260867 -0.0311033 0.0301 0.0351167 0.0381267 0.0260867 0.0260867 0.0321067 0.03311 -0.03612 0.03913 0.03311 0.0290967 0.0250833 0.02709 0.03612 0.0301 -0.0260867 0.0280933 0.02408 0.0351167 0.02408 0.0250833 0.04515 0.0381267 -0.0311033 0.0260867 0.0411367 0.0311033 0.01806 0.03311 0.0411367 0.03913 -0.0301 0.0220733 0.03612 0.0441467 0.0230767 0.03311 0.04214 0.0301 -0.0401333 0.0290967 0.0371233 0.0341133 0.03311 0.0321067 0.03311 0.0371233 -0.0341133 0.0260867 0.0290967 0.0260867 0.0280933 0.0371233 0.0290967 0.0290967 -0.0250833 0.0411367 0.0311033 0.0230767 0.0220733 0.0260867 0.0200667 0.0200667 -0.0280933 0.0170567 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.03311 -0.0652167 0.0381267 0.0100333 0.02408 0.0200667 0.0260867 0.01806 0.0190633 -0.0280933 0.0290967 0.02408 0.0290967 0.0200667 0.0220733 0.0230767 0.0411367 -0.0301 0.02107 0.02408 0.03913 0.0411367 0.0311033 0.0321067 0.0411367 -0.02107 0.0230767 0.03612 0.0280933 0.0301 0.04515 0.0341133 0.0290967 -0.0301 0.03612 0.0311033 0.0411367 0.0260867 0.03311 0.0321067 0.02408 -0.0351167 0.0341133 0.0290967 0.0321067 0.0371233 0.0431433 0.0290967 0.02709 -0.0290967 0.03612 0.0260867 0.02709 0.03311 0.02408 0.0351167 0.0301 -0.02107 0.0311033 0.0381267 0.0371233 0.0260867 0.0351167 0.0321067 0.0371233 -0.0260867 0.0311033 0.0341133 0.0260867 0.0351167 0.03612 0.0220733 0.0280933 -0.0471567 0.02408 0.03311 0.0301 0.0301 0.0431433 0.0260867 0.0321067 -0.0290967 0.0341133 0.02709 0.0371233 0.03311 0.03311 0.0301 0.0321067 -0.0321067 0.0321067 0.0411367 0.0321067 0.0230767 0.0371233 0.0351167 0.0260867 -0.03913 0.0190633 0.03913 0.0311033 0.03612 0.0260867 0.0311033 0.0311033 -0.0381267 0.03612 0.0280933 0.0260867 0.0290967 0.0311033 0.03612 0.03311 -0.03612 0.0290967 0.0411367 0.0220733 0.0301 0.0411367 0.0321067 0.02408 -0.0341133 0.0301 0.0321067 0.02709 0.0321067 0.02107 0.03311 0.0381267 -0.03311 0.0311033 0.0321067 0.02709 0.0311033 0.0371233 0.0311033 0.0311033 -0.04214 0.0230767 0.03311 0.0351167 0.0280933 0.0260867 0.03612 0.0351167 -0.03913 0.0351167 0.03612 0.02709 0.0311033 0.0280933 0.0341133 0.0311033 -0.03612 0.0260867 0.0321067 0.02709 0.0311033 0.0280933 0.0411367 0.02107 -0.0260867 0.0311033 0.02408 0.0250833 0.0200667 0.0200667 0.02408 0.0381267 -0.0311033 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00501667 0.0401333 0.05719 0.0381267 0.0301 0.0110367 0.0190633 0.02107 -0.0290967 0.0311033 0.02408 0.0200667 0.02709 0.02709 0.0250833 0.0321067 -0.00903 0.0311033 0.0431433 0.0371233 0.0311033 0.0311033 0.0250833 0.0260867 -0.02408 0.0311033 0.0381267 0.0311033 0.0351167 0.0321067 0.0301 0.0220733 -0.0311033 0.03612 0.0301 0.0341133 0.0351167 0.0341133 0.0280933 0.0280933 -0.0401333 0.0321067 0.0230767 0.03913 0.0381267 0.0371233 0.03311 0.0351167 -0.0301 0.0280933 0.0321067 0.0351167 0.0311033 0.0230767 0.0301 0.0250833 -0.03612 0.0301 0.03913 0.0351167 0.0290967 0.0290967 0.0371233 0.0290967 -0.03612 0.0260867 0.03913 0.0290967 0.0311033 0.03612 0.0220733 0.0381267 -0.02709 0.0321067 0.0321067 0.0311033 0.0371233 0.03311 0.0260867 0.02709 -0.0311033 0.0351167 0.0220733 0.0411367 0.02709 0.0381267 0.0280933 0.03311 -0.0280933 0.02709 0.0431433 0.0321067 0.0250833 0.0321067 0.03311 0.03311 -0.0260867 0.02709 0.0381267 0.0301 0.0371233 0.0301 0.0381267 0.0190633 -0.0401333 0.0381267 0.02107 0.0290967 0.0301 0.0280933 0.0311033 0.0280933 -0.0371233 0.0311033 0.0341133 0.0441467 0.0160533 0.0321067 0.0411367 0.03311 -0.02107 0.0351167 0.0381267 0.0311033 0.0280933 0.0280933 0.03311 0.03612 -0.03311 0.0321067 0.0371233 0.02408 0.0230767 0.0321067 0.03612 0.0381267 -0.0351167 0.03311 0.0130433 0.03612 0.0290967 0.0491633 0.0190633 0.0431433 -0.0301 0.0260867 0.0321067 0.0431433 0.0341133 0.0301 0.0250833 0.03913 -0.03311 0.03311 0.02107 0.0411367 0.02709 0.00702333 0.0280933 0.0341133 -0.0301 0.0140467 0.0290967 0.0321067 0.0381267 0.0290967 0.05418 0.0602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00602 0.04816 0.0521733 0.0190633 0.02408 0.0230767 -0.0301 0.0280933 0.0230767 0.0250833 0.0260867 0.0190633 0.0311033 0.02408 -0.0230767 0.03913 0.03311 0.02107 0.02408 0.0230767 0.0301 0.03311 -0.0371233 0.03311 0.0280933 0.02709 0.0321067 0.02709 0.0351167 0.0260867 -0.0381267 0.03612 0.0371233 0.0341133 0.0260867 0.0260867 0.0371233 0.0311033 -0.03913 0.02709 0.0290967 0.0290967 0.0280933 0.0351167 0.03612 0.0301 -0.0220733 0.0341133 0.0341133 0.0311033 0.0170567 0.0301 0.0411367 0.0280933 -0.0381267 0.0321067 0.0371233 0.0311033 0.0341133 0.0250833 0.03311 0.0311033 -0.02709 0.0341133 0.0401333 0.03311 0.0411367 0.0321067 0.0321067 0.0341133 -0.0280933 0.03311 0.0431433 0.02408 0.0290967 0.0351167 0.0260867 0.0381267 -0.0311033 0.0381267 0.0260867 0.03612 0.0321067 0.0351167 0.03311 0.0321067 -0.02408 0.0301 0.0401333 0.0411367 0.0381267 0.0341133 0.0341133 0.0341133 -0.0321067 0.0341133 0.0280933 0.0351167 0.0381267 0.0351167 0.0371233 0.02709 -0.03913 0.0290967 0.0280933 0.0341133 0.03311 0.0260867 0.0301 0.0351167 -0.0301 0.0321067 0.0280933 0.0371233 0.0341133 0.0321067 0.0290967 0.03913 -0.0321067 0.03913 0.0351167 0.0280933 0.0311033 0.0321067 0.0301 0.0280933 -0.02709 0.03612 0.03612 0.0301 0.0301 0.0260867 0.02709 0.0321067 -0.03913 0.0431433 0.0290967 0.0230767 0.0170567 0.0371233 0.0301 0.03913 -0.0381267 0.0321067 0.03311 0.0381267 0.03612 0.0351167 0.0341133 0.0190633 -0.0230767 0.0290967 0.02709 0.01505 0.0381267 0.0351167 0.0220733 0.02408 -0.0301 0.0250833 0.0190633 0.0290967 0.06622 0.0983267 0.0642133 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0471567 0.06622 0.04214 -0.01505 0.0190633 0.0190633 0.0230767 0.0220733 0.0351167 0.02408 0.0260867 -0.0351167 0.0341133 0.0160533 0.0200667 0.0280933 0.0341133 0.0280933 0.0341133 -0.0200667 0.0260867 0.02408 0.02709 0.0311033 0.03311 0.0290967 0.0351167 -0.0311033 0.03913 0.0341133 0.0230767 0.0280933 0.04214 0.0341133 0.0371233 -0.02709 0.0351167 0.02709 0.0311033 0.0401333 0.03612 0.0280933 0.0371233 -0.02107 0.04515 0.0311033 0.0200667 0.0301 0.0371233 0.0280933 0.0381267 -0.0290967 0.0220733 0.0351167 0.0381267 0.02408 0.0341133 0.0220733 0.0321067 -0.0321067 0.0321067 0.03311 0.0341133 0.03612 0.0290967 0.0301 0.02709 -0.0371233 0.0351167 0.0280933 0.0260867 0.0401333 0.02107 0.0301 0.03913 -0.0260867 0.0311033 0.0301 0.0411367 0.0321067 0.0321067 0.0301 0.0401333 -0.0341133 0.0280933 0.0311033 0.0381267 0.0381267 0.0230767 0.0381267 0.0220733 -0.0431433 0.0280933 0.02709 0.0290967 0.0260867 0.0431433 0.0321067 0.0341133 -0.0341133 0.0321067 0.0290967 0.0341133 0.0341133 0.03311 0.0250833 0.03612 -0.0311033 0.0170567 0.0401333 0.0411367 0.03913 0.0341133 0.0290967 0.0411367 -0.0351167 0.0250833 0.0371233 0.0301 0.0230767 0.0280933 0.0371233 0.0341133 -0.03311 0.02709 0.02709 0.0351167 0.03612 0.0260867 0.03612 0.0321067 -0.0301 0.0351167 0.04515 0.03612 0.0290967 0.0341133 0.0280933 0.0250833 -0.03311 0.0290967 0.0200667 0.0260867 0.03612 0.0311033 0.0341133 0.0411367 -0.0321067 0.04214 0.0260867 0.0230767 0.0321067 0.0290967 0.02408 0.0260867 -0.0170567 0.0301 0.0471567 0.0712367 0.0702333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0260867 -0.06622 0.05117 0.01806 0.02107 0.02709 0.0260867 0.0170567 0.0280933 -0.0260867 0.0160533 0.0280933 0.0290967 0.03913 0.0280933 0.0260867 0.02408 -0.02107 0.0301 0.03311 0.0311033 0.0311033 0.0321067 0.01806 0.0301 -0.0280933 0.0341133 0.0341133 0.0140467 0.03612 0.0371233 0.0290967 0.0371233 -0.0290967 0.03913 0.02408 0.0341133 0.04214 0.0290967 0.03311 0.03612 -0.0170567 0.0341133 0.0301 0.03311 0.0461533 0.0351167 0.03612 0.0321067 -0.0230767 0.03612 0.0371233 0.0371233 0.0321067 0.02709 0.0280933 0.03612 -0.0371233 0.0290967 0.0351167 0.0290967 0.0311033 0.0280933 0.0351167 0.01806 -0.0401333 0.0321067 0.03913 0.0371233 0.03311 0.02709 0.0441467 0.0351167 -0.0311033 0.0260867 0.0290967 0.03913 0.0311033 0.0230767 0.0311033 0.0401333 -0.0371233 0.0301 0.02709 0.0381267 0.0351167 0.03311 0.0351167 0.02709 -0.0280933 0.0280933 0.0351167 0.0290967 0.0230767 0.0381267 0.0280933 0.0461533 -0.0230767 0.03612 0.0290967 0.03311 0.0280933 0.04214 0.0290967 0.0411367 -0.02709 0.02709 0.0301 0.0311033 0.0381267 0.0351167 0.0280933 0.0220733 -0.0341133 0.0381267 0.0321067 0.03612 0.02408 0.0311033 0.03612 0.02408 -0.03311 0.0371233 0.02408 0.02408 0.03311 0.03612 0.0311033 0.02408 -0.04515 0.0311033 0.0290967 0.0381267 0.0311033 0.0280933 0.0321067 0.0260867 -0.0190633 0.03311 0.0290967 0.01505 0.0260867 0.0401333 0.0301 0.0381267 -0.02709 0.0371233 0.0290967 0.03612 0.0220733 0.0301 0.0301 0.0321067 -0.0471567 0.0581933 0.04515 0.01204 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.02709 0.0110367 0 -0 0.0140467 0.05117 0.0561867 0.02408 0.0160533 0.02408 0.02709 -0.0200667 0.0260867 0.0351167 0.0250833 0.0260867 0.0250833 0.02107 0.02107 -0.0371233 0.0311033 0.03913 0.02709 0.0290967 0.0301 0.0290967 0.0321067 -0.0280933 0.0290967 0.0190633 0.02408 0.0341133 0.02408 0.0311033 0.0411367 -0.0280933 0.0341133 0.0220733 0.0311033 0.03311 0.0260867 0.0250833 0.03913 -0.02408 0.0351167 0.0441467 0.0190633 0.0321067 0.0411367 0.0260867 0.0260867 -0.04816 0.0431433 0.03913 0.0351167 0.0321067 0.0311033 0.0351167 0.0260867 -0.0441467 0.0321067 0.0290967 0.0431433 0.02709 0.0321067 0.0321067 0.0290967 -0.03311 0.0341133 0.0371233 0.03913 0.0220733 0.0311033 0.0301 0.03311 -0.0290967 0.0311033 0.0351167 0.0381267 0.0220733 0.03612 0.01806 0.0371233 -0.04214 0.0250833 0.0321067 0.03311 0.0371233 0.0230767 0.0351167 0.0371233 -0.02709 0.0401333 0.0301 0.0190633 0.0431433 0.0371233 0.0250833 0.0371233 -0.0250833 0.0351167 0.0321067 0.0250833 0.04214 0.02709 0.0321067 0.03913 -0.0341133 0.0260867 0.0321067 0.02709 0.0351167 0.0371233 0.0381267 0.02709 -0.0321067 0.0260867 0.0371233 0.0301 0.0311033 0.0311033 0.0351167 0.03311 -0.0290967 0.0290967 0.0401333 0.0311033 0.0290967 0.03311 0.03612 0.02408 -0.0321067 0.03612 0.0321067 0.02408 0.03612 0.0220733 0.0321067 0.0290967 -0.0371233 0.02107 0.0321067 0.0170567 0.0230767 0.0220733 0.02408 0.02709 -0.0341133 0.0280933 0.0220733 0.02709 0.0190633 0.0351167 0.0682267 0.0612033 -0.0311033 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.284947 0.18963 -0.0381267 0 0 0.00602 0.0351167 0.0471567 0.0551833 0.02107 -0.02408 0.0230767 0.0190633 0.01806 0.0280933 0.0250833 0.01505 0.03913 -0.0401333 0.0220733 0.0311033 0.02408 0.0260867 0.0220733 0.0351167 0.0381267 -0.02709 0.0431433 0.0250833 0.0341133 0.0280933 0.0301 0.0441467 0.0200667 -0.0311033 0.0311033 0.0220733 0.0381267 0.02408 0.03311 0.0431433 0.02408 -0.0280933 0.03913 0.01806 0.02709 0.02107 0.0351167 0.0200667 0.0351167 -0.0341133 0.02408 0.03311 0.02408 0.0381267 0.0381267 0.0260867 0.03311 -0.03612 0.0260867 0.0461533 0.0250833 0.0260867 0.0341133 0.0250833 0.03612 -0.04214 0.0250833 0.03612 0.0260867 0.0401333 0.0321067 0.0311033 0.0401333 -0.02408 0.0280933 0.0431433 0.0301 0.0341133 0.0290967 0.0381267 0.0311033 -0.0280933 0.0321067 0.0311033 0.03311 0.03612 0.0381267 0.0301 0.0321067 -0.0301 0.0461533 0.0311033 0.03311 0.0381267 0.0351167 0.0341133 0.0351167 -0.0321067 0.0301 0.03612 0.0301 0.0341133 0.0341133 0.03311 0.0290967 -0.0280933 0.0230767 0.0401333 0.0250833 0.0401333 0.0341133 0.0381267 0.0351167 -0.03612 0.0311033 0.0341133 0.0290967 0.03612 0.0280933 0.0381267 0.03612 -0.03311 0.0200667 0.0230767 0.0290967 0.03612 0.0230767 0.0311033 0.03612 -0.0250833 0.0250833 0.02709 0.0301 0.0351167 0.03311 0.0260867 0.0321067 -0.0301 0.03311 0.03311 0.0280933 0.0220733 0.02709 0.01505 0.0290967 -0.02107 0.0301 0.0351167 0.03913 0.0732433 0.0612033 0.00802667 0 -0.01806 0.0140467 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.173577 -0.701176 0.152507 0 0 0 0.0401333 0.271903 0.241803 -0.0983267 0.0190633 0.0190633 0.02107 0.02408 0.0160533 0.0260867 0.03311 -0.0301 0.02107 0.0280933 0.0280933 0.0220733 0.0341133 0.0280933 0.0230767 -0.03311 0.0280933 0.03612 0.0351167 0.03913 0.03311 0.0280933 0.0311033 -0.0371233 0.02408 0.0341133 0.0401333 0.0260867 0.0401333 0.02709 0.0260867 -0.03913 0.0371233 0.0411367 0.0280933 0.0301 0.0341133 0.03311 0.04214 -0.0290967 0.0280933 0.02408 0.03913 0.0280933 0.0280933 0.02709 0.03311 -0.03612 0.0341133 0.0290967 0.0250833 0.02709 0.0401333 0.0260867 0.0351167 -0.04816 0.0290967 0.02709 0.0321067 0.03612 0.0371233 0.0250833 0.03612 -0.0351167 0.0280933 0.0431433 0.02408 0.0301 0.0280933 0.03913 0.0321067 -0.0260867 0.03311 0.0321067 0.02709 0.03612 0.0381267 0.0371233 0.0290967 -0.0311033 0.0381267 0.03913 0.0371233 0.0301 0.03913 0.0260867 0.0301 -0.0371233 0.0311033 0.02408 0.0381267 0.0301 0.0250833 0.0351167 0.0401333 -0.02107 0.0351167 0.0341133 0.0280933 0.02709 0.0311033 0.0341133 0.03612 -0.0341133 0.03311 0.03612 0.02709 0.03311 0.0290967 0.0341133 0.0311033 -0.0381267 0.0321067 0.0290967 0.0341133 0.0230767 0.0381267 0.02408 0.0371233 -0.0301 0.0250833 0.03311 0.0321067 0.0351167 0.0230767 0.02709 0.0280933 -0.0290967 0.0301 0.02408 0.0321067 0.01505 0.02107 0.01204 0.0190633 -0.03913 0.06923 0.0652167 0.0341133 0.00501667 0 0.00100333 0.0622067 -0.0100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.29197 0.759136 0.64064 0.220733 0.0301 0 0.0551833 0.194647 -0.321067 0.28294 0.143477 0.0381267 0.0160533 0.0301 0.0230767 0.0280933 -0.0190633 0.00903 0.0220733 0.01806 0.02107 0.0260867 0.03612 0.0250833 -0.03612 0.0371233 0.03311 0.02709 0.0341133 0.02709 0.03612 0.0311033 -0.0301 0.0230767 0.0351167 0.0321067 0.02408 0.03311 0.0411367 0.03311 -0.03311 0.04214 0.0220733 0.02408 0.0220733 0.03913 0.0341133 0.0351167 -0.0301 0.0301 0.0431433 0.04214 0.0341133 0.0301 0.0401333 0.02709 -0.0371233 0.0301 0.03311 0.0321067 0.02408 0.0351167 0.0280933 0.0321067 -0.0341133 0.03913 0.0250833 0.0431433 0.0341133 0.0311033 0.0230767 0.03311 -0.0411367 0.0351167 0.0411367 0.0321067 0.0321067 0.0321067 0.03311 0.03913 -0.0371233 0.0280933 0.0321067 0.0371233 0.0471567 0.0260867 0.0431433 0.0381267 -0.0301 0.0290967 0.0341133 0.0341133 0.02709 0.0351167 0.0321067 0.02709 -0.0311033 0.03311 0.02709 0.0351167 0.0321067 0.0341133 0.03311 0.0311033 -0.03311 0.0290967 0.02709 0.0371233 0.0371233 0.0311033 0.02408 0.03311 -0.0371233 0.03612 0.0200667 0.0200667 0.0290967 0.03311 0.0290967 0.0280933 -0.03913 0.0250833 0.0260867 0.03913 0.0190633 0.02408 0.0371233 0.0301 -0.0311033 0.03612 0.0220733 0.0311033 0.0351167 0.0321067 0.0250833 0.0250833 -0.02709 0.01505 0.01505 0.0220733 0.0321067 0.0250833 0.0622067 0.182607 -0.309027 0.206687 0.0100333 0 0.0110367 0.140467 0.221737 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.625184 1.09705 0.922712 0.39431 0.121403 0.0280933 -0.0371233 0.130433 0.274913 0.312037 0.221737 0.10836 0.0311033 0.01806 -0.01806 0.0130433 0.0230767 0.02709 0.0190633 0.02408 0.0220733 0.0341133 -0.0280933 0.0371233 0.01806 0.0230767 0.02107 0.0321067 0.0311033 0.0301 -0.0220733 0.0341133 0.0250833 0.0260867 0.0250833 0.03311 0.0321067 0.0290967 -0.0321067 0.0280933 0.0301 0.0230767 0.03311 0.0280933 0.0311033 0.0341133 -0.0280933 0.0311033 0.0351167 0.0351167 0.03311 0.03311 0.0401333 0.0260867 -0.0341133 0.0321067 0.0321067 0.02408 0.0371233 0.04214 0.0301 0.0311033 -0.0371233 0.03612 0.0250833 0.0371233 0.0321067 0.0341133 0.0260867 0.0311033 -0.03311 0.02408 0.0290967 0.0371233 0.0341133 0.03612 0.0280933 0.02709 -0.0311033 0.0280933 0.02408 0.03612 0.0321067 0.02709 0.0381267 0.02709 -0.0311033 0.02709 0.0311033 0.0301 0.0311033 0.0311033 0.0401333 0.02709 -0.0290967 0.0381267 0.0321067 0.0341133 0.0220733 0.0341133 0.0351167 0.0260867 -0.03913 0.0301 0.0200667 0.0311033 0.03612 0.0220733 0.0301 0.0220733 -0.0381267 0.03612 0.0301 0.02709 0.02709 0.0441467 0.0260867 0.0250833 -0.0371233 0.0321067 0.0280933 0.0341133 0.03311 0.02408 0.02408 0.01505 -0.0230767 0.0351167 0.0230767 0.0301 0.02709 0.0321067 0.02107 0.0260867 -0.02709 0.01505 0.01806 0.04214 0.122407 0.263877 0.32809 0.274913 -0.107357 0.0160533 0.0441467 0.266887 0.687008 0.408357 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.19565 0.937288 1.10125 1.03695 0.652232 -0.260867 0.0672233 0.03311 0.0742467 0.20769 0.324077 0.311033 0.17759 -0.0642133 0.02107 0.0170567 0.02107 0.0110367 0.0321067 0.0250833 0.0321067 -0.02107 0.0230767 0.0230767 0.0230767 0.0301 0.0250833 0.0321067 0.03311 -0.02107 0.0321067 0.0371233 0.0260867 0.0341133 0.0311033 0.03311 0.0260867 -0.03612 0.0351167 0.0230767 0.0341133 0.0250833 0.02709 0.0371233 0.02107 -0.0341133 0.03311 0.0401333 0.0371233 0.0280933 0.0351167 0.0260867 0.02107 -0.0290967 0.03311 0.0260867 0.0351167 0.0381267 0.0381267 0.02107 0.03913 -0.03612 0.0290967 0.0351167 0.0290967 0.0351167 0.03311 0.02709 0.0371233 -0.0321067 0.0311033 0.03311 0.03913 0.03311 0.0371233 0.0351167 0.0230767 -0.0301 0.03612 0.03913 0.0280933 0.0341133 0.0321067 0.03612 0.0301 -0.0401333 0.0250833 0.0411367 0.0301 0.0371233 0.0250833 0.04214 0.0311033 -0.0401333 0.0230767 0.0371233 0.0321067 0.0250833 0.0311033 0.03913 0.0341133 -0.0301 0.0351167 0.02408 0.0290967 0.03612 0.0341133 0.0371233 0.02408 -0.0381267 0.0280933 0.0301 0.0311033 0.02408 0.0321067 0.0371233 0.0250833 -0.0341133 0.03913 0.0260867 0.0260867 0.03311 0.0301 0.0290967 0.0280933 -0.0250833 0.0301 0.02107 0.0260867 0.0260867 0.0170567 0.0220733 0.0230767 -0.02709 0.0852833 0.203677 0.321067 0.315047 0.19565 0.0762533 0.0461533 -0.169563 0.477587 0.960844 0.937288 0.311033 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.238793 0.650944 1.03755 -1.0925 0.959636 0.516717 0.19565 0.0521733 0.0441467 0.12341 0.277923 -0.339127 0.26488 0.139463 0.0491633 0.0260867 0.0280933 0.02408 0.0250833 -0.0160533 0.02709 0.0160533 0.0311033 0.0250833 0.03311 0.0311033 0.0260867 -0.0190633 0.0411367 0.03612 0.0230767 0.0381267 0.02709 0.03311 0.0321067 -0.0311033 0.0250833 0.03913 0.0321067 0.0351167 0.03311 0.02408 0.0321067 -0.0290967 0.0341133 0.03311 0.0411367 0.0290967 0.0381267 0.0250833 0.0321067 -0.0401333 0.03311 0.0230767 0.03612 0.0301 0.02709 0.0341133 0.0341133 -0.03612 0.0371233 0.0351167 0.0411367 0.0250833 0.0321067 0.03612 0.0301 -0.03913 0.0290967 0.0260867 0.04214 0.03311 0.0321067 0.0351167 0.0280933 -0.0301 0.0290967 0.0381267 0.02709 0.0351167 0.0431433 0.0250833 0.0371233 -0.0351167 0.0280933 0.0301 0.0290967 0.0341133 0.02408 0.0290967 0.03311 -0.0351167 0.02107 0.0401333 0.03311 0.0311033 0.0280933 0.03913 0.0321067 -0.02709 0.0351167 0.0280933 0.0321067 0.0341133 0.02408 0.0290967 0.0341133 -0.0311033 0.0321067 0.0230767 0.03913 0.03311 0.03311 0.0401333 0.0311033 -0.0230767 0.02709 0.03612 0.0280933 0.01806 0.0321067 0.02408 0.0190633 -0.0220733 0.0280933 0.0220733 0.01806 0.01806 0.02408 0.0712367 0.19264 -0.298993 0.314043 0.226753 0.0943133 0.0531767 0.122407 0.36722 0.784896 -1.0778 1.0946 0.564877 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.118393 -0.398323 0.815808 1.075 1.0785 0.89824 0.455513 0.178593 0.0581933 -0.0471567 0.140467 0.28595 0.332103 0.24381 0.1204 0.0441467 0.0190633 -0.0260867 0.01806 0.0130433 0.0170567 0.03311 0.0230767 0.0220733 0.0260867 -0.0311033 0.0401333 0.0220733 0.0200667 0.0411367 0.0260867 0.0381267 0.0260867 -0.0311033 0.0250833 0.0341133 0.0200667 0.02408 0.0351167 0.02408 0.0290967 -0.02709 0.0371233 0.0311033 0.0230767 0.0371233 0.0250833 0.0311033 0.0351167 -0.0311033 0.0381267 0.0280933 0.0311033 0.0341133 0.04214 0.02107 0.0301 -0.0301 0.0351167 0.02408 0.0371233 0.0371233 0.0280933 0.03612 0.0301 -0.03612 0.02709 0.02709 0.0381267 0.0371233 0.0321067 0.0311033 0.0280933 -0.0311033 0.0280933 0.0341133 0.02709 0.0351167 0.0280933 0.0290967 0.03612 -0.0290967 0.03612 0.0311033 0.0280933 0.0341133 0.0280933 0.0290967 0.0301 -0.0381267 0.0230767 0.0290967 0.0280933 0.03612 0.0250833 0.0321067 0.0260867 -0.03311 0.03311 0.0321067 0.02709 0.0371233 0.02709 0.0250833 0.0371233 -0.02107 0.0301 0.02709 0.0290967 0.03311 0.0230767 0.0311033 0.0341133 -0.0230767 0.0341133 0.0160533 0.0311033 0.0160533 0.0260867 0.02709 0.02408 -0.01806 0.0190633 0.0250833 0.06622 0.136453 0.281937 0.341133 0.274913 -0.12943 0.0672233 0.10836 0.311033 0.687008 1.02004 1.0897 0.963864 -0.50568 0.09933 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0642133 0.19264 0.470563 0.925812 1.0827 1.06956 0.886648 -0.464543 0.190633 0.06923 0.0742467 0.167557 0.284947 0.321067 0.256853 -0.12341 0.02709 0.0110367 0.0311033 0.02408 0.0190633 0.02709 0.02107 -0.0230767 0.0250833 0.0230767 0.0311033 0.0321067 0.01806 0.0321067 0.0311033 -0.03311 0.0260867 0.0280933 0.03913 0.0280933 0.0230767 0.0290967 0.0250833 -0.0351167 0.0301 0.03311 0.0250833 0.03612 0.0260867 0.0260867 0.03311 -0.0250833 0.0461533 0.02408 0.0301 0.0381267 0.0371233 0.0311033 0.0371233 -0.0351167 0.02709 0.0301 0.0301 0.0411367 0.0301 0.0321067 0.03612 -0.0311033 0.0341133 0.0230767 0.0351167 0.02709 0.0250833 0.0341133 0.0260867 -0.03612 0.0301 0.03612 0.0301 0.03612 0.0280933 0.0311033 0.0341133 -0.0290967 0.0381267 0.0230767 0.0290967 0.0351167 0.0301 0.0351167 0.0230767 -0.03311 0.03913 0.0220733 0.02709 0.0280933 0.0371233 0.02709 0.0371233 -0.0280933 0.03311 0.0311033 0.0280933 0.0351167 0.0290967 0.03311 0.0301 -0.0301 0.02107 0.0290967 0.0341133 0.0230767 0.0260867 0.0290967 0.0321067 -0.0200667 0.0341133 0.01806 0.0220733 0.0280933 0.02709 0.0230767 0.0311033 -0.0602 0.15351 0.26488 0.338123 0.277923 0.143477 0.06923 0.124413 -0.317053 0.668976 1.00433 1.0792 0.989836 0.623896 0.272907 0.0321067 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0.0381267 0.0903 0.212707 0.494643 0.928832 -1.08445 1.07885 0.936684 0.51772 0.236787 0.0923067 0.09331 0.18963 -0.302003 0.317053 0.212707 0.0792633 0.0381267 0.02107 0.02709 0.0220733 -0.0250833 0.02107 0.0280933 0.0301 0.02709 0.0250833 0.0301 0.0250833 -0.02107 0.02408 0.0311033 0.0311033 0.0200667 0.0371233 0.0290967 0.0260867 -0.02709 0.0401333 0.0341133 0.0311033 0.0341133 0.0301 0.02408 0.0351167 -0.0321067 0.0321067 0.02709 0.0260867 0.0321067 0.0351167 0.0220733 0.0260867 -0.0301 0.0321067 0.0341133 0.02107 0.02709 0.0280933 0.0290967 0.0401333 -0.0260867 0.0220733 0.03311 0.0341133 0.0280933 0.0301 0.0290967 0.0341133 -0.0290967 0.0260867 0.0371233 0.0321067 0.03311 0.0260867 0.0280933 0.0321067 -0.03311 0.0290967 0.0290967 0.0280933 0.03311 0.0301 0.0290967 0.0311033 -0.02709 0.0290967 0.0311033 0.0321067 0.0301 0.0321067 0.0301 0.03612 -0.02408 0.0321067 0.0290967 0.0321067 0.0341133 0.03612 0.03311 0.0250833 -0.0341133 0.0200667 0.0311033 0.0280933 0.0311033 0.0230767 0.02107 0.0220733 -0.01806 0.0301 0.0230767 0.0220733 0.0381267 0.0652167 0.16856 0.29197 -0.317053 0.26789 0.145483 0.0923067 0.161537 0.371233 0.73724 1.01883 -1.0855 0.99648 0.65352 0.309027 0.115383 0.0170567 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.01806 0.04515 0.06321 0.0913033 -0.203677 0.456517 0.882784 1.0744 1.0995 1.00373 0.656096 0.34314 -0.14147 0.116387 0.236787 0.329093 0.305013 0.0973233 0.05117 0.0311033 -0.0260867 0.02709 0.02107 0.02709 0.0280933 0.0190633 0.0250833 0.0311033 -0.0260867 0.0190633 0.03612 0.0220733 0.02107 0.0341133 0.0301 0.02709 -0.03913 0.0301 0.0260867 0.02408 0.03311 0.0260867 0.02408 0.0301 -0.0280933 0.0311033 0.0280933 0.0311033 0.0371233 0.0280933 0.0250833 0.03311 -0.0220733 0.0351167 0.03311 0.02107 0.0301 0.0290967 0.0351167 0.0371233 -0.0260867 0.0250833 0.03311 0.0301 0.02408 0.0341133 0.02709 0.0260867 -0.0321067 0.0351167 0.0290967 0.0220733 0.0250833 0.0321067 0.0301 0.0321067 -0.0290967 0.02709 0.0351167 0.0290967 0.03311 0.0351167 0.0280933 0.0351167 -0.02709 0.0301 0.03612 0.0290967 0.0321067 0.0220733 0.0341133 0.03612 -0.0280933 0.0301 0.02709 0.0250833 0.0250833 0.0321067 0.03612 0.0200667 -0.02107 0.0250833 0.0290967 0.01806 0.0280933 0.0321067 0.0200667 0.0260867 -0.02107 0.0381267 0.0792633 0.170567 0.287957 0.333107 0.25284 0.15351 -0.12642 0.220733 0.482603 0.87248 1.06534 1.08375 0.97232 0.596983 -0.308023 0.136453 0.0742467 0.01806 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.0431433 0.0431433 -0.0561867 0.0652167 0.0742467 0.176587 0.387287 0.770728 1.03876 1.10825 -1.07815 0.913696 0.513707 0.277923 0.178593 0.08428 0 0.0110367 -0.0301 0.0491633 0.0521733 0.0351167 0.0260867 0.01806 0.0250833 0.02408 -0.0140467 0.0220733 0.0321067 0.01505 0.0290967 0.0220733 0.0200667 0.0230767 -0.02408 0.03612 0.0280933 0.02408 0.02709 0.0321067 0.02408 0.02107 -0.0371233 0.0260867 0.03612 0.0351167 0.03913 0.0200667 0.0250833 0.0311033 -0.02709 0.0411367 0.0280933 0.02709 0.02709 0.0260867 0.0401333 0.0301 -0.02107 0.0290967 0.0250833 0.0321067 0.0250833 0.0341133 0.0321067 0.0200667 -0.0311033 0.0321067 0.0381267 0.0260867 0.0230767 0.0461533 0.0351167 0.02709 -0.0250833 0.0290967 0.0301 0.0280933 0.0301 0.0341133 0.02709 0.03311 -0.0250833 0.02709 0.0311033 0.03311 0.0220733 0.0220733 0.0311033 0.0301 -0.0311033 0.0301 0.0260867 0.02107 0.0260867 0.0260867 0.03311 0.0290967 -0.0220733 0.0170567 0.02408 0.0260867 0.0230767 0.03612 0.0501667 0.04214 -0.0371233 0.0501667 0.20769 0.251837 0.184613 0.20769 0.377253 0.68572 -1.00433 1.0974 1.0792 0.902104 0.519727 0.239797 0.11438 0.0732433 -0.0612033 0.0230767 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0110367 -0.0461533 0.0491633 0.0642133 0.0561867 0.0602 0.0581933 0.106353 0.272907 -0.582937 0.96326 1.09635 1.117 1.05628 0.823536 0.455513 0.227757 -0.07525 0.0160533 0.00802667 0.02709 0.0371233 0.0431433 0.0531767 0.0290967 -0.0250833 0.0220733 0.0250833 0.0230767 0.0220733 0.0230767 0.0290967 0.02408 -0.01806 0.0290967 0.02709 0.0290967 0.0321067 0.0260867 0.02408 0.0200667 -0.0321067 0.0290967 0.0381267 0.0301 0.02709 0.0290967 0.0280933 0.02107 -0.0290967 0.02709 0.0301 0.0301 0.0220733 0.0341133 0.0301 0.02709 -0.0290967 0.03311 0.0230767 0.02709 0.0250833 0.0311033 0.0260867 0.0280933 -0.02709 0.03311 0.0311033 0.0200667 0.0290967 0.0321067 0.0341133 0.02709 -0.0200667 0.02709 0.0290967 0.0381267 0.0311033 0.03311 0.0250833 0.01806 -0.02408 0.0280933 0.0160533 0.0341133 0.0220733 0.0200667 0.02709 0.02107 -0.0260867 0.0290967 0.0250833 0.0170567 0.02408 0.0170567 0.03612 0.0200667 -0.0290967 0.0321067 0.0411367 0.0491633 0.0682267 0.0501667 0.01806 0.00501667 -0.0341133 0.142473 0.339127 0.613592 0.974132 1.0953 1.1107 1.02306 -0.723072 0.380263 0.172573 0.0903 0.0702333 0.0642133 0.05117 0.0311033 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0200667 0.0551833 0.05418 0.0682267 0.0672233 0.05418 0.05418 -0.04214 0.0551833 0.1505 0.369227 0.690872 1.0001 1.1086 1.12365 -1.05748 0.886648 0.52374 0.27391 0.118393 0.04816 0.0200667 0.03311 -0.0551833 0.0581933 0.04816 0.0461533 0.02709 0.0220733 0.0170567 0.01505 -0.0200667 0.01806 0.0200667 0.0220733 0.01806 0.0250833 0.01806 0.0130433 -0.0220733 0.0290967 0.0341133 0.0190633 0.0140467 0.02408 0.0200667 0.0220733 -0.0401333 0.0250833 0.0301 0.02107 0.0351167 0.0301 0.0250833 0.0250833 -0.0260867 0.0341133 0.01806 0.0250833 0.0260867 0.02709 0.0260867 0.0301 -0.0321067 0.0321067 0.02709 0.01806 0.02408 0.0220733 0.0260867 0.0260867 -0.01505 0.0290967 0.0321067 0.01806 0.0311033 0.0220733 0.0200667 0.0250833 -0.0200667 0.0220733 0.02107 0.0311033 0.0220733 0.0190633 0.0260867 0.0140467 -0.02408 0.0230767 0.01505 0.0250833 0.0341133 0.0311033 0.0742467 0.06923 -0.0792633 0.04515 0.0230767 0.0190633 0.06622 0.193643 0.404343 0.688296 -0.986816 1.09775 1.11315 1.06171 0.869904 0.49364 0.232773 0.10234 -0.0521733 0.0521733 0.06622 0.0642133 0.0612033 0.05719 0.0110367 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0250833 0.0712367 0.0581933 0.07826 0.08127 -0.0772567 0.0581933 0.0461533 0.0301 0.01806 0.0612033 0.190633 0.402337 -0.69216 1.0001 1.0967 1.12505 1.0981 0.994064 0.746256 0.459527 -0.248827 0.134447 0.06923 0.0652167 0.0471567 0.05418 0.0531767 0.04515 -0.0381267 0.01806 0.0290967 0.01806 0.02107 0.0280933 0.0190633 0.0190633 -0.0230767 0.0311033 0.02408 0.0130433 0.0290967 0.0220733 0.01505 0.02408 -0.02408 0.0160533 0.02408 0.0280933 0.0200667 0.0200667 0.0290967 0.02107 -0.0250833 0.0321067 0.02107 0.0280933 0.0260867 0.0230767 0.0170567 0.0301 -0.0230767 0.0230767 0.02408 0.0220733 0.0301 0.03311 0.0220733 0.0220733 -0.0160533 0.02107 0.0250833 0.0230767 0.0290967 0.02107 0.0170567 0.02709 -0.0230767 0.0190633 0.0170567 0.0200667 0.0170567 0.0200667 0.0140467 0.0280933 -0.04214 0.0531767 0.0521733 0.0602 0.07525 0.05418 0.06321 0.09331 -0.182607 0.34013 0.56889 0.882784 1.05205 1.11595 1.1268 1.06654 -0.8918 0.524743 0.263877 0.09933 0.0341133 0.0381267 0.0531767 0.0712367 -0.0712367 0.06622 0.06622 0.05418 0.02408 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.03311 0.08729 0.07224 -0.0712367 0.0822733 0.0742467 0.0682267 0.0652167 0.0521733 0.0301 0.0290967 -0.0371233 0.0732433 0.166553 0.332103 0.55986 0.880208 1.04238 1.10685 -1.1177 1.10055 0.994064 0.810656 0.542803 0.369227 0.23177 0.142473 -0.0953167 0.0772567 0.07224 0.0742467 0.0531767 0.0381267 0.0321067 0.0260867 -0.0230767 0.0250833 0.0170567 0.0100333 0.0280933 0.0140467 0.0200667 0.0140467 -0.0190633 0.0170567 0.03311 0.01204 0.01806 0.0301 0.00802667 0.0220733 -0.02107 0.02408 0.02107 0.01806 0.01505 0.0190633 0.0170567 0.0220733 -0.02107 0.02107 0.0160533 0.0140467 0.0250833 0.02408 0.0200667 0.0170567 -0.01806 0.0170567 0.0341133 0.02107 0.01806 0.0220733 0.00903 0.0160533 -0.0230767 0.02408 0.0301 0.0471567 0.0702333 0.0822733 0.0772567 0.0953167 -0.101337 0.12341 0.170567 0.272907 0.434443 0.64708 0.939704 1.06594 -1.12085 1.13065 1.09845 0.988024 0.725648 0.453507 0.239797 0.103343 -0.03913 0.02709 0.0311033 0.04816 0.0702333 0.06923 0.0802667 0.06923 -0.0642133 0.0802667 0.03311 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0.0531767 0.0762533 0.0762533 0.0852833 0.0913033 0.0742467 0.0682267 0.0642133 -0.0441467 0.0401333 0.0260867 0.0341133 0.0441467 0.07826 0.100333 0.20167 -0.3612 0.569893 0.823536 0.99648 1.0869 1.11245 1.11455 1.0855 -1.014 0.903392 0.670264 0.495647 0.366217 0.271903 0.194647 0.158527 -0.1204 0.11137 0.0852833 0.0672233 0.04515 0.0381267 0.0341133 0.0190633 -0.0170567 0.01505 0.02709 0.0140467 0.01204 0.0250833 0.00802667 0.0220733 -0.0140467 0.0230767 0.0170567 0.01204 0.0110367 0.02408 0.0220733 0.0170567 -0.0160533 0.02709 0.0100333 0.01505 0.02107 0.0230767 0.01505 0.0220733 -0.0130433 0.0220733 0.04214 0.0351167 0.0521733 0.0581933 0.0672233 0.08127 -0.10234 0.12642 0.164547 0.221737 0.31003 0.41538 0.551833 0.759136 -0.95118 1.04359 1.10265 1.1205 1.11735 1.0778 0.973528 0.757848 -0.494643 0.28896 0.170567 0.08729 0.0381267 0.03311 0.0321067 0.0341133 -0.04515 0.0712367 0.07826 0.0802667 0.0772567 0.0702333 0.07224 0.06321 -0.00702333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.01204 0.0301 0.0862867 0.0832767 0.0852833 0.0983267 0.0852833 -0.0792633 0.0622067 0.0501667 0.0461533 0.0461533 0.0501667 0.03612 0.0612033 -0.0521733 0.0652167 0.07826 0.100333 0.161537 0.245817 0.395313 0.564877 -0.779744 0.965072 1.05386 1.09425 1.12225 1.1212 1.10265 1.06836 -1.00554 0.931248 0.799064 0.658672 0.55986 0.47558 0.402337 0.321067 -0.277923 0.230767 0.19565 0.154513 0.13244 0.121403 0.09933 0.0913033 -0.07525 0.0772567 0.0742467 0.0602 0.06321 0.06923 0.0732433 0.0672233 -0.0772567 0.0903 0.0923067 0.11137 0.127423 0.160533 0.184613 0.22274 -0.254847 0.295983 0.362203 0.419393 0.500663 0.57792 0.6986 0.845432 -0.96024 1.02487 1.0848 1.1121 1.1261 1.1212 1.09425 1.03876 -0.937892 0.721784 0.524743 0.365213 0.23177 0.14147 0.0882933 0.0672233 -0.05117 0.0431433 0.0441467 0.04214 0.04214 0.04816 0.0652167 0.07525 -0.0742467 0.0882933 0.08428 0.0762533 0.08729 0.03612 0.0130433 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.03913 0.0612033 0.0953167 0.0913033 -0.0943133 0.0903 0.08428 0.0772567 0.07826 0.0551833 0.0471567 0.0531767 -0.04515 0.0672233 0.0652167 0.06321 0.06923 0.06321 0.06622 0.06321 -0.0672233 0.09331 0.128427 0.1806 0.272907 0.381267 0.49063 0.630336 -0.804216 0.946952 1.00252 1.06473 1.0876 1.1044 1.1191 1.1184 -1.11735 1.1107 1.10475 1.0918 1.08165 1.075 1.05326 1.03634 -1.02728 1.01279 1.00796 0.9995 0.99648 1.00192 1.00494 1.00373 -1.01641 1.02728 1.04359 1.05084 1.06715 1.0827 1.09355 1.10685 -1.1163 1.1163 1.12225 1.12155 1.1086 1.09075 1.05326 0.992252 -0.932456 0.757848 0.59598 0.47257 0.3311 0.2408 0.170567 0.125417 -0.08127 0.07224 0.0652167 0.0682267 0.0561867 0.0602 0.0591967 0.0612033 -0.0461533 0.04515 0.0521733 0.06923 0.0732433 0.09331 0.0852833 0.0923067 -0.0802667 0.07525 0.0612033 0.04515 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00702333 0.0321067 -0.09933 0.0953167 0.10836 0.09632 0.0983267 0.08127 0.0832767 0.06923 -0.0732433 0.06622 0.0581933 0.0591967 0.06923 0.0672233 0.0822733 0.0792633 -0.0732433 0.0732433 0.07224 0.06622 0.0712367 0.0682267 0.0672233 0.0622067 -0.0682267 0.0862867 0.103343 0.130433 0.160533 0.20769 0.27692 0.323073 -0.380263 0.426417 0.491633 0.560863 0.613592 0.684432 0.73724 0.783608 -0.835128 0.857024 0.87892 0.902104 0.895664 0.903392 0.908544 0.881496 -0.850584 0.815808 0.781032 0.725648 0.688296 0.613592 0.557853 0.49665 -0.434443 0.375247 0.309027 0.244813 0.205683 0.170567 0.127423 0.0983267 -0.0832767 0.0642133 0.06321 0.07224 0.0602 0.0712367 0.0792633 0.0802667 -0.0642133 0.0762533 0.0652167 0.0742467 0.06321 0.0551833 0.0602 0.0622067 -0.0652167 0.0682267 0.0802667 0.100333 0.0953167 0.0983267 0.0852833 0.0822733 -0.03913 0.0140467 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00802667 0.0431433 0.09933 0.106353 0.11137 0.09933 0.100333 -0.0943133 0.07826 0.0742467 0.06923 0.06622 0.07224 0.0712367 0.0762533 -0.0792633 0.0862867 0.0892967 0.0862867 0.0892967 0.0792633 0.0792633 0.0682267 -0.0762533 0.0732433 0.07525 0.0622067 0.0742467 0.06923 0.0712367 0.0672233 -0.0652167 0.05719 0.0622067 0.0652167 0.0652167 0.0612033 0.06923 0.0682267 -0.0732433 0.0742467 0.07525 0.0792633 0.0712367 0.0742467 0.0822733 0.07826 -0.06923 0.0742467 0.06622 0.0622067 0.06622 0.0581933 0.0732433 0.0652167 -0.06923 0.0712367 0.0682267 0.06321 0.0672233 0.0742467 0.0622067 0.0682267 -0.0742467 0.07525 0.07826 0.0882933 0.0762533 0.0732433 0.0802667 0.07525 -0.0672233 0.07826 0.0642133 0.06622 0.0682267 0.0702333 0.08127 0.09632 -0.101337 0.0973233 0.0973233 0.104347 0.0973233 0.0381267 0.00802667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0100333 0.0501667 0.110367 0.11137 -0.107357 0.100333 0.0943133 0.0862867 0.0742467 0.0802667 0.07826 0.06923 -0.08127 0.08127 0.08428 0.0892967 0.0923067 0.09331 0.08729 0.0903 -0.0882933 0.08729 0.08127 0.0762533 0.0802667 0.0762533 0.0862867 0.0822733 -0.0832767 0.0742467 0.0762533 0.07826 0.0792633 0.0762533 0.0672233 0.07826 -0.07826 0.0742467 0.06923 0.0712367 0.07525 0.06923 0.0772567 0.0762533 -0.0712367 0.0802667 0.0832767 0.0772567 0.0712367 0.0802667 0.0822733 0.0802667 -0.08729 0.0822733 0.07525 0.06923 0.0672233 0.0913033 0.0792633 0.09331 -0.0903 0.0953167 0.0892967 0.0832767 0.0822733 0.0832767 0.0852833 0.08428 -0.0762533 0.0762533 0.06923 0.0772567 0.08729 0.09632 0.106353 0.11739 -0.10234 0.107357 0.0351167 0.00802667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.01204 -0.0461533 0.08428 0.115383 0.107357 0.0953167 0.0973233 0.0832767 0.07826 -0.0792633 0.0822733 0.0772567 0.0852833 0.0903 0.08729 0.0882933 0.0973233 -0.0973233 0.0903 0.09331 0.0923067 0.0882933 0.09331 0.0923067 0.0832767 -0.08127 0.0802667 0.0862867 0.0862867 0.0983267 0.0892967 0.0802667 0.08729 -0.08729 0.0852833 0.08127 0.0802667 0.0862867 0.0882933 0.0832767 0.0882933 -0.0852833 0.0913033 0.08729 0.0923067 0.0772567 0.0913033 0.0822733 0.0762533 -0.0862867 0.0852833 0.09331 0.0892967 0.0903 0.100333 0.0892967 0.0943133 -0.0913033 0.0953167 0.0862867 0.09331 0.0832767 0.08127 0.08127 0.0792633 -0.07826 0.08428 0.0953167 0.106353 0.11438 0.116387 0.0772567 0.0491633 -0.00903 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0461533 0.0471567 0.113377 0.10836 0.103343 -0.0953167 0.0862867 0.08127 0.08729 0.0832767 0.0822733 0.08127 0.09331 -0.0983267 0.0943133 0.0973233 0.0923067 0.0973233 0.100333 0.09331 0.0953167 -0.0983267 0.0913033 0.0882933 0.0852833 0.0983267 0.0953167 0.0882933 0.0923067 -0.0973233 0.104347 0.0913033 0.09632 0.0983267 0.101337 0.0973233 0.0953167 -0.09331 0.09632 0.08729 0.0903 0.0822733 0.0882933 0.0913033 0.0913033 -0.101337 0.103343 0.106353 0.0973233 0.09632 0.0953167 0.08729 0.0913033 -0.0923067 0.09331 0.08428 0.0882933 0.0832767 0.0832767 0.0892967 0.0983267 -0.109363 0.10836 0.115383 0.0471567 0.04515 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0491633 -0.0431433 0.07525 0.10535 0.100333 0.0953167 0.0882933 0.0832767 0.08729 -0.09632 0.0882933 0.0913033 0.09331 0.104347 0.101337 0.09933 0.101337 -0.101337 0.100333 0.0983267 0.0973233 0.09933 0.100333 0.0923067 0.0943133 -0.100333 0.10234 0.09331 0.0953167 0.09933 0.101337 0.0983267 0.0943133 -0.09331 0.0913033 0.09331 0.0903 0.09933 0.09933 0.103343 0.10234 -0.09933 0.101337 0.10234 0.0892967 0.0903 0.09632 0.0832767 0.100333 -0.0882933 0.0903 0.09331 0.09933 0.100333 0.103343 0.0802667 0.0441467 -0.04816 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0441467 0.0381267 0.06622 0.10234 -0.109363 0.09632 0.0953167 0.0983267 0.0973233 0.100333 0.104347 0.107357 -0.103343 0.107357 0.0973233 0.107357 0.0983267 0.107357 0.09632 0.100333 -0.09331 0.09632 0.09331 0.0943133 0.0983267 0.10234 0.09933 0.101337 -0.0983267 0.09933 0.107357 0.10234 0.101337 0.106353 0.101337 0.10234 -0.09331 0.09933 0.104347 0.09933 0.09632 0.10234 0.0943133 0.10535 -0.10234 0.0672233 0.0371233 0.0461533 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0461533 0.04515 0.04214 0.04214 0.119397 0.11739 -0.1204 0.112373 0.116387 0.11739 0.107357 0.119397 0.10836 0.10836 -0.11438 0.110367 0.0973233 0.10836 0.09632 0.110367 0.104347 0.115383 -0.115383 0.112373 0.110367 0.11137 0.106353 0.116387 0.11137 0.11438 -0.109363 0.119397 0.04214 0.04515 0.0431433 0.0431433 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 \ No newline at end of file diff --git a/examples/extended/medical/DICOM/14196650.dcm b/examples/extended/medical/DICOM/14196650.dcm deleted file mode 100644 index e72e07b2eb..0000000000 Binary files a/examples/extended/medical/DICOM/14196650.dcm and /dev/null differ diff --git a/examples/extended/medical/DICOM/14196650.g4dcm b/examples/extended/medical/DICOM/14196650.g4dcm deleted file mode 100644 index 3cdbfc8e78..0000000000 --- a/examples/extended/medical/DICOM/14196650.g4dcm +++ /dev/null @@ -1,8464 +0,0 @@ -10 -0 Air -1 LungInhale -2 LungExhale -3 AdiposeTissue -4 Breast -5 Water -6 Muscle -7 Liver -8 TrabecularBone -9 DenseBone -256 256 1 --250 250 --250 250 --31.5 -28.5 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 3 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 3 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 5 5 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 5 4 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 3 5 6 6 6 6 6 6 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 6 5 5 6 5 6 6 6 6 6 6 6 6 6 5 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 6 6 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 5 5 5 6 5 6 5 5 6 6 6 6 6 6 5 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 5 6 6 6 6 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 6 6 6 6 5 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 6 6 6 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 5 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 6 5 6 5 6 6 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 6 6 5 6 5 6 6 6 5 5 6 5 6 6 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 6 6 6 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 6 5 6 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 5 5 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 5 5 5 5 6 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 5 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 6 6 5 5 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 5 6 6 6 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 5 5 6 5 5 6 5 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 6 6 6 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 6 5 5 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 6 6 5 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 4 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 5 3 2 2 3 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 2 2 1 2 2 2 4 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 4 2 1 0 0 0 0 1 2 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 6 3 1 0 0 0 0 0 0 0 0 1 2 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 2 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 3 1 0 0 0 0 0 0 0 0 0 0 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 1 1 1 1 1 1 1 1 1 1 1 2 4 5 5 5 5 5 4 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 1 0 0 0 0 0 0 0 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 1 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 2 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 5 5 5 5 5 5 5 5 5 5 4 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 3 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 4 5 5 5 5 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 4 5 5 5 5 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 4 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 5 5 5 5 3 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 4 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 4 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 1 1 1 1 1 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 5 5 5 5 5 5 4 5 5 5 5 5 3 2 1 1 1 1 1 1 2 1 1 1 1 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 2 1 1 1 1 1 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 1 0 0 0 0 0 0 1 2 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 4 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 2 2 2 2 2 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 2 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 4 2 0 0 0 0 0 0 0 1 2 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 4 2 2 2 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 3 2 1 1 1 1 2 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 6 6 6 6 6 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 5 6 5 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 6 6 5 6 5 5 6 5 6 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 6 6 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 4 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 4 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 4 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 4 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 4 6 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 6 8 8 8 8 8 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 6 8 6 4 4 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 4 4 8 8 9 8 9 8 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 4 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 4 8 8 9 9 9 8 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 9 8 6 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 4 6 8 9 9 8 8 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 6 8 9 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 6 8 8 8 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 4 5 8 8 8 8 8 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 6 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 4 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 7 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 5 6 6 6 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 6 6 6 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 8 8 8 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 4 5 6 6 6 5 5 6 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 8 8 8 8 8 8 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 5 6 6 6 6 6 6 6 5 6 6 5 5 5 5 5 6 5 5 5 5 5 6 5 5 5 5 6 6 5 5 5 5 5 6 6 6 6 6 6 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 6 5 5 5 6 6 6 5 6 6 6 6 6 5 5 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 3 3 4 5 5 5 5 6 5 5 5 5 5 6 6 6 6 6 5 5 6 6 6 6 5 6 6 5 6 6 5 6 6 6 6 6 5 5 6 6 6 6 6 6 6 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 2 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 2 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 3 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 3 2 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 2 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 5 6 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 2 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 4 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 6 6 3 2 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 2 5 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 4 2 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 2 6 6 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 2 4 6 6 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 6 8 6 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 6 7 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 7 8 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 6 8 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 6 4 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 5 8 8 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 5 6 7 6 4 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 3 6 8 8 6 5 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 4 6 8 8 6 4 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 3 5 6 8 8 6 4 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 3 6 6 8 8 6 6 4 3 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 3 5 6 7 8 8 6 5 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 3 5 6 6 7 8 8 8 6 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 8 8 8 8 7 6 6 5 3 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0.00401333 0.00903 0.00301 0.00401333 0.00100333 0.00903 -0.00602 0.00501667 0.00501667 0 0.0140467 0.00501667 0.00401333 0.00401333 -0.00301 0.00501667 0.00200667 0.0110367 0.00200667 0.00200667 0.0110367 0.00702333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0.00501667 0.00100333 0.00301 0.00401333 0.00602 0.00301 0.00602 -0.00200667 0 0.00401333 0.0100333 0.00200667 0.00301 0.00200667 0.00602 -0.00501667 0.00501667 0 0.00100333 0.01204 0.00200667 0.00301 0.00100333 -0 0.00200667 0 0.00903 0 0 0.01204 0.00301 -0.00702333 0 0.00903 0 0.00200667 0.0140467 0.00200667 0.00702333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00301 0.00702333 0.00501667 0 0.00301 -0.00903 0.00401333 0.00200667 0.00200667 0.00301 0.00602 0.00501667 0.00301 -0.00501667 0 0.00501667 0.00802667 0.00200667 0 0.00301 0.00501667 -0 0.01204 0 0.00301 0.0110367 0.00100333 0.00200667 0.00200667 -0.00200667 0.00200667 0 0.00602 0.00200667 0 0.0130433 0 -0.00602 0 0.0100333 0 0.00401333 0.00802667 0.00301 0.00702333 -0 0.00501667 0.00401333 0.00501667 0.00501667 0.00802667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00602 0.00501667 -0.00501667 0.00200667 0.00802667 0 0 0.00802667 0 0.00100333 -0.00702333 0.00200667 0.00301 0.00401333 0.00200667 0.00401333 0.00200667 0.00200667 -0.00501667 0 0.00200667 0.00602 0 0 0.00501667 0.00200667 -0 0.0110367 0 0 0.00802667 0.00100333 0.00301 0.00100333 -0.00200667 0 0.00301 0.00100333 0.00401333 0 0.01204 0.00100333 -0.00401333 0.00100333 0.00301 0.00100333 0.00401333 0.00301 0.00501667 0.00200667 -0 0.00802667 0.00301 0.00200667 0.00602 0.00301 0.0100333 0.00903 -0.00501667 0.00802667 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00401333 0.00501667 0.00301 0.00401333 0.00602 -0.00501667 0.00200667 0.00702333 0.00100333 0.00301 0.00501667 0.00100333 0.00100333 -0 0.00401333 0 0.00401333 0.00301 0.00702333 0 0.00903 -0 0 0.00501667 0.00501667 0 0.00200667 0.00200667 0.00200667 -0 0.0100333 0 0.00100333 0.00501667 0 0.00301 0 -0.00301 0.00100333 0.00602 0 0.00301 0 0.0130433 0.00200667 -0 0.00501667 0 0.00401333 0.00200667 0.00100333 0.00802667 0 -0.00100333 0.00702333 0.00200667 0 0.00602 0.00200667 0.00501667 0.00702333 -0.00200667 0.00401333 0.00501667 0.00702333 0.00200667 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00702333 -0.00401333 0.00401333 0.00200667 0.00401333 0.00401333 0.00501667 0 0.00401333 -0.00301 0.00401333 0.00100333 0.00501667 0 0.00301 0 0.00301 -0 0.00501667 0.00301 0.00401333 0.00200667 0.00702333 0 0.00903 -0 0 0.00802667 0.00200667 0 0.00301 0.00401333 0.00200667 -0.00200667 0.00702333 0.00602 0 0.00301 0.00100333 0.00401333 0.00200667 -0.00401333 0 0.00401333 0 0.00100333 0 0.0110367 0.00501667 -0 0.00301 0.00301 0.00200667 0.00200667 0.00100333 0.00501667 0 -0 0.00501667 0.00200667 0 0.00501667 0.00501667 0.00301 0.00802667 -0 0.00401333 0.00501667 0.00301 0.00401333 0.00100333 0.0100333 0.00802667 -0.0100333 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00802667 0 0.00802667 0.00301 -0.00401333 0.00602 0 0.00501667 0.00602 0.00401333 0 0.00301 -0.00100333 0.00802667 0 0.00501667 0.00100333 0 0.00200667 0.00200667 -0 0.00401333 0.00501667 0.00401333 0 0.00702333 0 0.00401333 -0.00100333 0 0.00602 0.00200667 0 0.00200667 0.00301 0 -0.00301 0.00301 0.00802667 0.00100333 0.00200667 0 0.00200667 0.00501667 -0.00100333 0 0.00501667 0 0.00100333 0.00200667 0.00702333 0.00602 -0 0.00200667 0.00501667 0.00301 0 0.00602 0.00501667 0 -0.00100333 0.00501667 0.00100333 0.00100333 0.00200667 0.00301 0.00401333 0.00501667 -0 0.00301 0.00501667 0.00401333 0 0.00200667 0.00602 0.00401333 -0.00401333 0.00602 0.00802667 0.00702333 0.00903 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0.00802667 0.00200667 0.00501667 0 0.00501667 0.00301 -0.00602 0.00602 0 0.00200667 0.00200667 0.00702333 0 0 -0 0.01204 0 0 0.00903 0 0.00802667 0.00200667 -0 0 0.00702333 0.00501667 0 0.00602 0 0.00602 -0.00401333 0 0.00501667 0.00100333 0 0.00301 0.00401333 0.00200667 -0.00200667 0.00401333 0.00301 0.00100333 0.00200667 0 0 0.00401333 -0.00401333 0 0.00401333 0 0.00200667 0.00200667 0.00501667 0.0110367 -0 0.00200667 0.00501667 0.00501667 0 0.00702333 0 0.00401333 -0.00301 0.00301 0.00401333 0.00200667 0.00100333 0 0.0100333 0 -0 0.00501667 0.00301 0.00200667 0 0.00501667 0.00301 0.00702333 -0.00200667 0.00401333 0.00501667 0.00200667 0.00501667 0.0100333 0.00501667 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00903 -0.00602 0.00301 0.00301 0.00401333 0.01204 0 0.00401333 0.00200667 -0.00602 0.00501667 0 0 0.00401333 0.00301 0.00401333 0 -0.00100333 0.00501667 0.00301 0 0.00602 0 0.00602 0 -0 0 0.00702333 0.00802667 0.00100333 0.00501667 0 0.00200667 -0.00501667 0 0.00501667 0 0.00100333 0.00200667 0 0.00301 -0 0.00401333 0 0.00100333 0.00702333 0 0 0.00301 -0.00903 0 0.00200667 0 0.00301 0.00200667 0.00602 0.0100333 -0 0.00100333 0.00401333 0.00200667 0.00200667 0.00100333 0 0.00401333 -0.00100333 0 0.00301 0.00401333 0 0.00301 0.00802667 0 -0.00100333 0.00501667 0.00501667 0 0 0.00401333 0.00200667 0.00602 -0 0.00200667 0.00301 0.00301 0 0.00501667 0.00501667 0.00802667 -0 0.00802667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00903 0.00702333 0 0.00602 -0.00501667 0.00802667 0 0.00401333 0.0110367 0 0.00100333 0.00602 -0 0.00401333 0.00401333 0.00200667 0.00401333 0.00100333 0.00802667 0 -0.00100333 0.00602 0.00602 0 0.00200667 0.00301 0.00401333 0.00200667 -0.00100333 0 0.00401333 0.00802667 0 0.00401333 0 0 -0.00501667 0.00100333 0.00501667 0 0 0.00602 0.00100333 0.00200667 -0.00100333 0.00401333 0.00100333 0 0.00401333 0 0 0.00100333 -0.0100333 0 0.00301 0 0 0.00200667 0.00602 0.00602 -0 0.00100333 0.00501667 0.00100333 0.00301 0 0.00501667 0.00200667 -0.00200667 0 0.00702333 0.00100333 0 0.00301 0.00602 0 -0.00301 0.00401333 0.00401333 0 0 0.00702333 0.00100333 0.00702333 -0 0 0.00903 0.00200667 0.00200667 0.00301 0.0100333 0 -0.00100333 0.00401333 0.00501667 0.0100333 0.0130433 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00602 0.00100333 0.00802667 0.00702333 0 0 -0.00100333 0.00802667 0.00100333 0.00200667 0.0110367 0 0 0.00401333 -0.00501667 0.00301 0.00401333 0 0.00100333 0.00301 0.00702333 0 -0.00301 0.00401333 0.00301 0 0 0.00301 0.00200667 0.00100333 -0 0.00200667 0 0.00903 0 0.00200667 0.00401333 0 -0.00501667 0.00100333 0.00301 0 0 0.00301 0 0.00200667 -0.00200667 0.00602 0 0 0.00401333 0 0 0 -0.00602 0 0.00100333 0.00100333 0 0.00200667 0.00401333 0.00200667 -0 0 0.00100333 0.00100333 0 0 0.00401333 0.00200667 -0.00301 0 0.00802667 0 0.00100333 0.00100333 0.00903 0 -0.00501667 0.00301 0.00301 0 0 0.00301 0.00200667 0.00602 -0 0.00301 0.00301 0.00200667 0 0.00401333 0.00802667 0 -0.00903 0.00100333 0.00501667 0.00802667 0.00602 0.00301 0 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00301 -0.00702333 0.00100333 0.00501667 0 0.00802667 0.00501667 0.00200667 0.00100333 -0 0.00602 0.00301 0 0.00602 0.00501667 0 0 -0.00301 0.00200667 0.00200667 0.00301 0.00501667 0 0.00401333 0 -0.00100333 0.00602 0.00301 0 0 0.00301 0 0.00301 -0 0.00301 0 0.00602 0.00100333 0.00100333 0.00602 0 -0.00401333 0.00100333 0.00200667 0 0 0.00200667 0.00602 0 -0.00100333 0.00602 0 0.00200667 0.00501667 0.00100333 0 0.00200667 -0.00802667 0.00200667 0 0.00200667 0 0.00100333 0.00702333 0.00100333 -0.00301 0 0.00100333 0.00501667 0.00301 0 0.00401333 0.00200667 -0 0 0.00401333 0.00401333 0 0.00401333 0.00301 0.00100333 -0.00200667 0.00401333 0.00100333 0.00200667 0.00401333 0 0.0100333 0.00100333 -0 0.00501667 0.00501667 0.00301 0.00100333 0.00501667 0.00401333 0 -0.00802667 0 0.00702333 0.00401333 0 0.00401333 0 0.0190633 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.00401333 0.00200667 -0.00501667 0.00200667 0.00301 0.00401333 0.00200667 0.00602 0 0.00200667 -0 0.00301 0.00301 0.00501667 0.00200667 0.0110367 0 0 -0.00602 0.00401333 0 0.00301 0.00602 0 0 0.00301 -0 0.00702333 0.00200667 0 0 0.00301 0.00100333 0.00301 -0 0.00301 0 0.00301 0.00200667 0.00100333 0.00100333 0 -0 0.00301 0.00401333 0.00501667 0 0 0.00401333 0 -0.00100333 0.00802667 0 0.00100333 0.00200667 0 0 0.00301 -0.00301 0.00100333 0 0.00100333 0 0.00100333 0.00301 0.00200667 -0 0 0.00301 0.00200667 0.00301 0 0.00501667 0 -0 0 0.00100333 0.00301 0 0.00200667 0 0.00602 -0 0.00702333 0 0.00602 0.00301 0 0.00802667 0 -0.00100333 0.00100333 0.00501667 0.00100333 0.00200667 0.00401333 0.00100333 0 -0.00100333 0.00200667 0.00301 0.00401333 0.00100333 0.00200667 0.00301 0.0100333 -0 0.00200667 0.00602 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00903 0.00501667 0.00401333 0 0.00501667 -0.00401333 0 0.00100333 0.00602 0.00301 0 0 0.00501667 -0 0.00100333 0.00100333 0.00602 0.00501667 0.00301 0.00602 0 -0.00200667 0.00200667 0 0 0.00802667 0 0.00100333 0.00100333 -0 0 0.00903 0 0 0.00100333 0.00100333 0.00200667 -0 0.00301 0 0.00602 0 0.00401333 0 0.00401333 -0 0 0.00501667 0.00301 0 0.00100333 0.00602 0.00301 -0 0.00903 0 0.00401333 0 0.00401333 0 0.00602 -0.00301 0.00100333 0 0.00100333 0.00100333 0.00100333 0.00501667 0.00501667 -0 0 0.00100333 0.00100333 0 0.00602 0.00200667 0 -0.00100333 0.00100333 0.00100333 0.00401333 0 0.00301 0.00100333 0.00200667 -0 0.00401333 0.00100333 0.00301 0 0 0.00401333 0.00200667 -0 0.00100333 0.0100333 0 0.00301 0.00200667 0.00100333 0 -0.00401333 0.00802667 0 0.00401333 0.00100333 0.00501667 0.00301 0.00401333 -0 0.00501667 0.00401333 0.0100333 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00802667 0 0.00602 0.00501667 0.00301 0.00100333 0 -0.0100333 0 0 0.00301 0.00903 0.00100333 0 0.00802667 -0 0 0.00301 0.00602 0.00401333 0 0.00501667 0 -0 0.00501667 0.00401333 0 0.00501667 0 0.00301 0.00100333 -0.00100333 0 0.00702333 0.00100333 0 0 0 0.00200667 -0.00200667 0 0 0.00501667 0 0.00501667 0 0.00200667 -0 0 0.00501667 0.00702333 0 0 0.00602 0.00100333 -0 0.0100333 0.00200667 0.00501667 0 0.00401333 0 0.00401333 -0.00301 0 0.00200667 0 0 0.00200667 0.00100333 0.00301 -0 0 0.00501667 0 0.00200667 0.00602 0 0.00301 -0 0.00200667 0 0.00401333 0.00100333 0.00301 0.00100333 0 -0 0.00501667 0.00401333 0.00401333 0 0.00100333 0 0.00401333 -0 0 0.00501667 0 0.00702333 0 0.00602 0 -0.00301 0.00100333 0.00200667 0.00200667 0 0.00903 0.00100333 0 -0.00301 0.00802667 0 0.00903 0 0.00301 0.00702333 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00802667 -0.00200667 0.00702333 0.00401333 0 0.00100333 0.00501667 0.00401333 0 -0.00602 0.00100333 0.00200667 0.00100333 0.00501667 0.00501667 0 0.00401333 -0.00401333 0 0.00100333 0.00401333 0.00602 0 0.00301 0 -0 0 0.00903 0 0.00200667 0 0.00501667 0 -0.00602 0 0.00301 0.00401333 0 0 0 0 -0.00802667 0 0.00301 0 0.00301 0.00200667 0.00200667 0 -0 0 0.00401333 0.00301 0.00100333 0 0.00602 0 -0 0.00501667 0.00100333 0.00200667 0 0 0.00401333 0.00301 -0.00100333 0 0 0.00301 0 0 0 0.00200667 -0.00200667 0.00100333 0.00100333 0 0.00301 0.00200667 0 0.00100333 -0.00200667 0.00200667 0.00301 0.00100333 0.00301 0 0.00401333 0 -0 0.00200667 0.00200667 0.00501667 0 0 0 0.00301 -0 0.00401333 0.00301 0 0.00802667 0 0.00301 0.00100333 -0.00401333 0 0.00401333 0 0.00702333 0.00501667 0 0 -0.00200667 0.00702333 0.00100333 0.00301 0.00100333 0.00802667 0.00100333 0.00802667 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00602 0.00100333 0.00501667 -0.00602 0.00100333 0.00401333 0.00100333 0 0.00802667 0 0.00100333 -0.00301 0.00301 0.00100333 0 0.00200667 0.00702333 0 0.00100333 -0.00401333 0 0.00200667 0.00200667 0.00702333 0 0.00501667 0 -0.00401333 0 0.00702333 0 0.00100333 0 0.00401333 0 -0 0.00501667 0 0.00602 0 0 0.00100333 0 -0.00702333 0 0.00200667 0 0.00802667 0 0.00301 0.00100333 -0 0 0.00301 0 0.00702333 0 0.00200667 0 -0 0.00200667 0.00100333 0 0 0 0.00602 0 -0 0.00301 0 0.00200667 0 0.00301 0.00100333 0 -0.00200667 0.00301 0 0 0 0.00200667 0.00301 0 -0.00200667 0.00100333 0 0 0.00301 0.00200667 0.00401333 0 -0.00200667 0.00100333 0.00401333 0.00200667 0.00301 0 0 0.00501667 -0 0.00501667 0 0.00301 0.00501667 0 0.00301 0.00200667 -0.00100333 0.00401333 0.00100333 0.00200667 0.00702333 0 0 0 -0.00802667 0.00702333 0 0.00200667 0.00200667 0.00501667 0.00200667 0.00702333 -0 0.00702333 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0 0.00702333 0 -0.00602 0.00401333 0 0.00501667 0 0.00602 0.00702333 0 -0.00200667 0.00401333 0.00301 0 0.00401333 0.00200667 0 0 -0.00401333 0.00301 0 0.00100333 0.00501667 0.00100333 0.00200667 0 -0.00301 0 0.00602 0 0.00401333 0.00200667 0 0.00100333 -0 0.00501667 0 0 0.00602 0 0 0.00200667 -0.00100333 0 0 0 0.00401333 0.00200667 0.00602 0 -0 0 0.00501667 0 0.00602 0.00200667 0.00200667 0 -0.00100333 0.00301 0.00200667 0 0 0.00200667 0.00702333 0 -0.00100333 0.00401333 0 0.00301 0 0.00200667 0 0 -0 0.00401333 0 0.00100333 0 0.00200667 0.00401333 0 -0 0.00200667 0 0.00501667 0.00100333 0 0.00200667 0 -0.00301 0.00100333 0.00301 0.00100333 0.00802667 0 0 0.00100333 -0.00100333 0.00200667 0 0.00903 0.00200667 0 0.00501667 0.00200667 -0.00200667 0 0.00501667 0 0.00301 0 0 0 -0.0130433 0.00401333 0 0 0.0110367 0 0.00501667 0.00100333 -0 0.00802667 0.00200667 0 0.00501667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00301 0.00702333 0.00602 0 0.00301 0.00100333 -0 0.00802667 0.00200667 0.00100333 0.00200667 0.00100333 0.00602 0.00301 -0 0 0.01204 0 0.00100333 0.00200667 0.00301 0 -0.00401333 0.00301 0 0.00100333 0.00501667 0 0 0.00301 -0.00200667 0 0.00301 0.00200667 0.00200667 0.00602 0 0.00100333 -0.00301 0 0.00301 0 0.00401333 0 0 0.00200667 -0 0.00200667 0 0.00401333 0 0.00602 0.00501667 0 -0.00401333 0 0 0 0.00301 0.00301 0.00501667 0 -0.00401333 0.00200667 0.00301 0 0 0.00501667 0.00501667 0 -0 0.00501667 0 0.00401333 0.00100333 0.00301 0 0 -0 0.00301 0.00200667 0.00602 0 0.00200667 0 0 -0 0.00200667 0 0.00903 0.00100333 0 0.00200667 0 -0.00301 0.00501667 0 0.00501667 0.00401333 0.00200667 0 0 -0 0.00100333 0.00301 0.00702333 0 0 0.00301 0.00301 -0 0 0.00802667 0 0.00200667 0.00401333 0.00100333 0.00301 -0.00702333 0.00200667 0 0.00301 0.0110367 0 0.00501667 0 -0.00401333 0.00802667 0 0 0.00501667 0.00802667 0.00702333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00602 0 0.00501667 0.00401333 0 0.00401333 -0 0.00100333 0.00702333 0.00301 0 0 0.00903 0.00501667 -0 0 0.00401333 0.00702333 0 0 0.00301 0.00401333 -0.00100333 0 0.00100333 0.00301 0.00301 0.00301 0 0.00100333 -0.00401333 0 0 0.00301 0 0.00602 0 0 -0.00301 0.00100333 0 0 0.00401333 0 0 0.00200667 -0 0.00401333 0 0.00401333 0 0.00301 0.00401333 0 -0.00401333 0 0 0.00100333 0.00401333 0.00401333 0 0 -0.00200667 0.00100333 0.00100333 0 0.00401333 0.00602 0.00401333 0 -0.00100333 0.00200667 0 0.00301 0.00200667 0.00401333 0 0.00501667 -0 0.00200667 0.00301 0.00200667 0 0 0 0.00301 -0 0 0 0.00802667 0.00100333 0 0.00200667 0 -0.00501667 0 0 0.0100333 0.00100333 0.00401333 0 0.00401333 -0 0.00200667 0.00602 0.00200667 0 0 0.00200667 0.00401333 -0 0.00301 0 0 0.00702333 0 0.00301 0.00401333 -0.00301 0.00200667 0 0.00802667 0.00903 0.00401333 0 0 -0.00501667 0.00401333 0.00100333 0.00100333 0.00401333 0.00802667 0 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00301 -0 0 0.00200667 0.00401333 0.00200667 0.00200667 0 0 -0.00702333 0 0.00100333 0.00602 0 0 0.00301 0.00802667 -0 0 0.00200667 0.00602 0.00401333 0 0 0.00501667 -0 0 0 0.00602 0.00100333 0 0.00401333 0 -0 0.00501667 0 0.00100333 0 0.00200667 0.00301 0 -0.00602 0.00100333 0 0 0.00200667 0.00501667 0 0.00301 -0 0.00501667 0 0.00401333 0 0 0 0.00301 -0 0.00100333 0 0 0.00401333 0.00301 0 0.00200667 -0 0.00401333 0 0 0 0.00602 0.00401333 0 -0.00200667 0.00401333 0 0.00501667 0.00100333 0.00301 0 0.00501667 -0 0.00301 0.00200667 0.00401333 0.00100333 0 0 0.00401333 -0 0 0.00401333 0.00301 0.00401333 0 0.00100333 0 -0.00602 0 0.00100333 0.00903 0.00100333 0.00100333 0 0.00301 -0 0.00602 0.00301 0.00501667 0.00100333 0 0.00602 0 -0.00100333 0.00702333 0 0 0.00401333 0 0.00200667 0.00501667 -0 0.00301 0 0.00301 0.0100333 0 0 0.00802667 -0 0.00200667 0.00100333 0.00301 0 0.00702333 0 0.00903 -0.00200667 0.01204 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00501667 0.0100333 0.00602 -0 0 0.00200667 0 0.00903 0 0 0 -0.0100333 0.00301 0.00100333 0.00702333 0.00100333 0 0.00200667 0.00602 -0.00301 0 0.00501667 0.00301 0.00200667 0.00100333 0 0 -0.00100333 0.00401333 0 0.00602 0.00401333 0 0.00401333 0.00100333 -0 0.00200667 0.00200667 0 0.00401333 0 0.00200667 0.00100333 -0.00401333 0.00200667 0 0.00200667 0 0.00501667 0.00301 0 -0 0 0 0.00200667 0 0.00702333 0 0.00702333 -0 0.00100333 0.00200667 0 0.00501667 0.00200667 0 0.00200667 -0.00100333 0.00501667 0 0.00401333 0 0.00301 0.00702333 0 -0.00301 0.00200667 0 0.00100333 0.00301 0 0 0.00100333 -0.00200667 0.00200667 0 0.00401333 0 0 0.00100333 0.00100333 -0.00200667 0 0.00501667 0.00301 0.00501667 0 0.00200667 0 -0.00501667 0 0.00401333 0.00301 0.00301 0 0 0 -0 0.00602 0 0.00602 0 0 0.00602 0.00100333 -0.00602 0.00100333 0 0.00200667 0 0.00602 0 0 -0.00200667 0.00401333 0 0.00602 0.00501667 0 0.00702333 0 -0.00401333 0.00200667 0.00401333 0 0 0.00401333 0 0.00501667 -0.00301 0.00802667 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00501667 0.00401333 0.0110367 0.00301 -0.00200667 0 0 0 0.00602 0.00401333 0 0 -0.00100333 0.00802667 0.00301 0 0 0 0 0 -0.00501667 0 0 0.00602 0.00401333 0.00100333 0 0 -0.00501667 0.00100333 0.00200667 0 0.00401333 0 0 0.00100333 -0 0 0.00100333 0.00100333 0.00100333 0.00200667 0 0.00501667 -0 0 0 0 0 0.00100333 0.00501667 0 -0 0 0.00401333 0 0 0.00702333 0 0.00802667 -0 0.00401333 0.00200667 0 0.00401333 0.00200667 0.00100333 0.00200667 -0 0.00301 0 0.00401333 0.00200667 0 0.0100333 0 -0.00903 0 0 0.00301 0.00301 0.00100333 0 0 -0.00602 0.00200667 0.00301 0 0.00301 0 0 0 -0.00200667 0 0.00100333 0.00200667 0.00301 0 0.00200667 0.00200667 -0.00501667 0 0.00501667 0.00100333 0.00501667 0 0.00200667 0 -0.00100333 0.00401333 0 0.00401333 0 0 0.00200667 0.00501667 -0.00401333 0 0 0.00602 0 0.00301 0 0.00100333 -0 0.00401333 0 0.00602 0 0.00200667 0.00401333 0 -0.00501667 0.00501667 0 0 0 0.0110367 0 0.00301 -0.00602 0.00100333 0.00301 0.00301 0.00802667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0110367 0.00200667 0.00401333 0.00301 0.00802667 0.00602 -0.00401333 0 0 0 0 0.00702333 0.00501667 0 -0 0.00501667 0.00401333 0.00200667 0.00200667 0 0 0.00100333 -0.00401333 0 0 0.00401333 0.00802667 0 0 0 -0.00501667 0 0.00301 0.00200667 0.00301 0 0.00501667 0 -0.00602 0 0 0.00301 0 0.00100333 0 0.00100333 -0.00100333 0 0 0.00100333 0 0 0.00100333 0.00100333 -0.00100333 0 0.00602 0 0.00501667 0 0 0.00200667 -0 0.00100333 0.00501667 0 0.00301 0.00301 0 0.00100333 -0.00200667 0 0 0.00200667 0.00301 0 0.00702333 0 -0.0100333 0 0 0.00401333 0 0.00100333 0 0 -0.00501667 0.00301 0.00301 0 0.00702333 0 0 0.00200667 -0 0.00100333 0.00301 0 0.00100333 0 0 0.00200667 -0.00501667 0 0.00501667 0.00100333 0.00200667 0 0.00401333 0 -0.00702333 0 0 0.00602 0 0 0.00501667 0.00200667 -0.00401333 0 0 0.00802667 0.00200667 0.00301 0 0.00100333 -0.00100333 0 0.00200667 0.00401333 0.00301 0.00301 0 0.00200667 -0.00702333 0.00100333 0 0.00401333 0.00602 0.00702333 0 0 -0.00602 0 0.0100333 0.00401333 0.00401333 0.00501667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00100333 0.00602 0.00100333 0.00200667 0.00200667 0.00602 -0.00401333 0 0.00301 0.00200667 0 0.00501667 0.00702333 0 -0 0.00200667 0.00602 0.00200667 0.00702333 0 0 0 -0.00301 0.00200667 0 0.00401333 0 0.00501667 0 0.00401333 -0 0 0 0.00401333 0.00301 0 0.00501667 0 -0.00401333 0.00301 0 0.00301 0.00200667 0 0 0.00401333 -0.00200667 0 0 0.00401333 0 0.00301 0 0.00301 -0.00200667 0 0.00602 0 0.00802667 0 0.00702333 0 -0 0.00100333 0.00602 0 0.00401333 0 0.00401333 0 -0.00401333 0 0.00301 0 0.00401333 0 0.00301 0 -0.00702333 0 0.00100333 0.00501667 0 0 0.00301 0 -0.00401333 0.00501667 0.00200667 0 0.00401333 0.00301 0 0.00200667 -0 0.00301 0.00602 0 0 0.00200667 0 0 -0.00501667 0.00100333 0 0.00301 0 0 0.00200667 0 -0.00903 0 0.00301 0.00501667 0 0 0.00702333 0 -0.00401333 0 0 0.00501667 0 0.00200667 0 0.00301 -0.00100333 0.00200667 0.00301 0.00200667 0.00501667 0.00301 0 0.00802667 -0.00301 0 0 0.0100333 0.00702333 0.00200667 0 0.00401333 -0.00100333 0 0.00802667 0.00100333 0.00401333 0.00200667 0.00903 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00200667 0.00200667 0.00501667 0 0.00200667 0.00200667 0.00200667 0 -0.0110367 0.00401333 0.00200667 0 0.00100333 0 0.00401333 0.00301 -0 0.00100333 0.00301 0.00401333 0.00100333 0 0.00200667 0 -0.00301 0.00301 0 0.00501667 0 0.00301 0.00200667 0 -0.00602 0 0 0.00200667 0.00501667 0 0 0 -0 0.00100333 0 0.00200667 0 0 0 0 -0.00301 0 0 0.00802667 0 0.00301 0.00100333 0 -0.00200667 0 0.00602 0 0.00602 0 0.00200667 0.00401333 -0 0 0.00602 0 0.00401333 0 0.00401333 0 -0.00200667 0 0.00602 0 0 0.00301 0 0.00501667 -0.00401333 0 0 0.00100333 0 0 0.00200667 0.00401333 -0 0.00802667 0.00100333 0 0.00200667 0.00602 0 0.00301 -0.00200667 0.00100333 0.00401333 0 0 0.00903 0 0.00602 -0.00200667 0.00401333 0 0.00200667 0 0.00100333 0 0.00702333 -0.00200667 0 0.00301 0.00501667 0 0 0.00702333 0 -0 0 0.00200667 0.00401333 0.00100333 0 0.00301 0.00501667 -0 0.00301 0.00200667 0.00100333 0.00301 0.00100333 0 0.00200667 -0 0 0.00100333 0.00903 0.00200667 0.00100333 0 0.00802667 -0.00501667 0 0.00501667 0.00602 0 0.00301 0.00401333 0.00702333 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00802667 -0.00602 0 0 0.00602 0.00100333 0 0.00702333 0 -0.00100333 0.01204 0 0.00200667 0 0.00301 0.00100333 0.00401333 -0 0.00200667 0 0.00401333 0.00602 0 0.00200667 0 -0 0.00401333 0.00200667 0.00100333 0 0 0.00802667 0 -0.00602 0 0 0.00100333 0 0 0.00100333 0.00301 -0 0.00301 0 0.00501667 0 0.00200667 0 0.00501667 -0 0.00501667 0 0.00401333 0 0.00100333 0 0 -0.00100333 0.00301 0 0 0.00100333 0.00301 0 0.00100333 -0.00200667 0 0.00501667 0 0 0.00200667 0 0.00501667 -0 0 0.00301 0.00100333 0 0.00401333 0 0.00401333 -0.00401333 0 0.00301 0 0.00501667 0 0 0.00501667 -0 0.00501667 0 0 0.00301 0.00200667 0 0.00100333 -0.00401333 0 0.00602 0 0 0.00602 0 0.00401333 -0.00200667 0.00401333 0 0.00301 0 0 0.00200667 0.00301 -0 0 0 0.00401333 0 0.00301 0.00401333 0 -0 0 0.00200667 0.00301 0 0 0.00200667 0.00401333 -0 0.00100333 0.00401333 0.00501667 0.00100333 0.00602 0 0.00200667 -0 0.00100333 0.00401333 0.00802667 0 0.00301 0.00301 0.00200667 -0.00602 0.00100333 0.00702333 0 0 0.00301 0.00702333 0.00602 -0 0 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00100333 0.00100333 -0.0140467 0.00301 0 0.00301 0.00401333 0.00200667 0.00301 0.00401333 -0 0.0110367 0.00301 0.00100333 0 0 0.00301 0 -0.00301 0 0.00200667 0 0.0100333 0 0.00100333 0 -0 0 0.00100333 0.00501667 0 0 0.00200667 0.00100333 -0 0.00200667 0.00401333 0.00200667 0 0 0.00501667 0 -0 0 0.00301 0.00100333 0 0 0 0.00903 -0 0 0.00301 0 0.00100333 0.00702333 0 0.00401333 -0 0.00501667 0.00100333 0.00100333 0 0.00702333 0 0 -0.00100333 0 0.00501667 0 0 0.00602 0 0.00401333 -0 0.00602 0 0.00501667 0 0.00200667 0.00100333 0 -0.00602 0 0.00200667 0 0.00100333 0.00100333 0 0.00501667 -0 0.00100333 0.00301 0.00100333 0 0.00200667 0 0.00100333 -0.00602 0 0.00401333 0.00100333 0 0 0.00401333 0 -0.00401333 0 0.00200667 0.00401333 0.00100333 0 0.00702333 0 -0 0.00401333 0 0.00301 0 0.00301 0.00200667 0 -0 0.00100333 0.00200667 0.00100333 0.00200667 0 0.00401333 0 -0.00200667 0.00301 0.00200667 0.00401333 0.00401333 0.00401333 0 0.00301 -0 0.00501667 0 0.00200667 0 0.00401333 0 0.00200667 -0.0110367 0.00301 0.00301 0 0.00200667 0.00501667 0.00401333 0.00702333 -0 0.00401333 0.0130433 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00301 0.00200667 0 -0.00602 0.00602 0.00401333 0 0.00100333 0.00401333 0.00301 0.00501667 -0 0 0.00802667 0 0.00301 0 0.00100333 0 -0.00501667 0 0 0 0.00702333 0.00602 0 0.00100333 -0 0 0.00702333 0 0.00301 0 0 0.00100333 -0.00301 0 0.00200667 0 0.00501667 0 0.00301 0.00100333 -0 0.00301 0.00100333 0.00100333 0.00501667 0 0 0.00200667 -0.00301 0 0.00100333 0.00200667 0 0.00501667 0 0.00401333 -0 0.00100333 0.00501667 0 0 0.00401333 0.00301 0 -0.00200667 0 0.00802667 0 0.00200667 0.00100333 0 0 -0.00401333 0.00501667 0 0 0 0.00100333 0.00301 0.00100333 -0.00100333 0 0 0.00100333 0.00200667 0.00301 0 0.00100333 -0.00100333 0.00200667 0.00401333 0.00200667 0 0.00401333 0 0.00301 -0.00100333 0 0.00100333 0 0 0 0.00301 0 -0.00200667 0.00301 0 0.00401333 0.00301 0 0.00501667 0 -0 0.00501667 0 0 0.00200667 0 0.00301 0 -0 0.00301 0 0.00501667 0.00200667 0 0.00200667 0 -0.00301 0.00301 0 0.00401333 0.00501667 0 0 0 -0 0.00702333 0 0.00401333 0 0 0.00301 0.00501667 -0.00903 0 0 0 0.00802667 0 0.00301 0.00301 -0 0.00602 0.00802667 0 0.00602 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00602 0.00602 0.00200667 0.00401333 0.00200667 0 -0.00401333 0.00100333 0.00802667 0.00501667 0 0 0.00602 0.00401333 -0.00301 0 0.00100333 0.00301 0.00200667 0.00100333 0 0 -0 0.0100333 0 0 0.00100333 0.00501667 0.00501667 0.00100333 -0 0 0.00401333 0.00401333 0 0.00100333 0.00100333 0 -0.00401333 0 0.00501667 0 0.00602 0 0 0.00501667 -0 0.00100333 0.00301 0 0.00602 0 0.00100333 0.00100333 -0.00802667 0 0 0.00200667 0 0.00200667 0.00200667 0 -0.00401333 0.00200667 0.00301 0 0.00100333 0 0.00802667 0 -0.00401333 0 0.00602 0 0 0 0.00301 0 -0.00301 0.00501667 0.00301 0 0.00301 0.00200667 0.00401333 0 -0 0 0.00100333 0 0.00501667 0 0 0 -0 0.00200667 0.00100333 0.00501667 0 0 0.00100333 0.00501667 -0 0 0 0.00501667 0 0 0 0.00200667 -0 0.00602 0 0.00702333 0.00602 0 0.00301 0 -0 0.00100333 0 0.00100333 0.00903 0 0.00100333 0 -0.00401333 0 0.00401333 0.00702333 0 0.00401333 0 0.00401333 -0.00401333 0 0.00100333 0.00100333 0 0 0 0.00100333 -0 0.00501667 0 0.00200667 0.00401333 0 0.00401333 0.00501667 -0.00100333 0 0.00200667 0.00200667 0.00401333 0.00301 0.00100333 0.00200667 -0.00100333 0.00401333 0.00301 0 0.00702333 0.00602 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0.00301 0.00401333 0.00501667 0.00301 0.00401333 0 -0 0.00802667 0.00100333 0.00401333 0.00200667 0.00200667 0 0.00602 -0 0.00602 0 0.00501667 0.00301 0.00401333 0 0 -0 0.00200667 0.01204 0 0 0 0.00802667 0.00401333 -0.00100333 0 0 0.00602 0 0 0.00501667 0 -0.00200667 0.00200667 0.00802667 0 0.00200667 0 0.00301 0 -0 0 0.00200667 0.00100333 0.00501667 0 0 0 -0.00602 0 0.00100333 0 0.00200667 0.00100333 0.00301 0 -0.00301 0.00100333 0.00200667 0.00301 0 0 0.00100333 0.00301 -0 0.00100333 0.00301 0.00200667 0 0.00501667 0 0 -0.00301 0.00301 0.00501667 0.00200667 0 0.00501667 0 0 -0.00301 0 0.00401333 0.00100333 0.00200667 0.00401333 0 0.00200667 -0.00100333 0 0.00501667 0.00501667 0 0 0.00501667 0 -0.00100333 0.00501667 0 0.00802667 0 0 0 0.00301 -0 0.00501667 0 0.0100333 0.00401333 0 0 0.00401333 -0 0 0.00401333 0 0.00501667 0 0.00100333 0 -0 0 0.00501667 0 0.00301 0 0 0.00903 -0.00200667 0 0 0.00401333 0 0 0 0.00200667 -0.00100333 0.00401333 0.00100333 0.00602 0 0.00301 0 0.00301 -0 0.00401333 0.00602 0 0.00401333 0.00401333 0 0.00702333 -0 0.00702333 0 0.00501667 0.00401333 0.00100333 0.00802667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0.00702333 0.00200667 0 0.00501667 0.00401333 -0 0.00401333 0.00200667 0.00301 0.00602 0.00100333 0 0.00301 -0 0.00401333 0 0 0.00501667 0.00501667 0.00602 0 -0 0 0.00802667 0.00200667 0 0 0 0.00802667 -0 0 0 0.00200667 0.00100333 0 0.00401333 0.00200667 -0 0.00301 0 0.00401333 0.00100333 0 0.00903 0 -0 0.00100333 0.00501667 0 0.00602 0 0.00100333 0.00100333 -0.00200667 0 0.00200667 0 0.00802667 0 0 0.00401333 -0 0 0.00301 0.00401333 0 0 0 0.00802667 -0.00100333 0.00100333 0.00602 0 0 0.00702333 0 0 -0.00602 0 0.00702333 0.00100333 0 0.00501667 0 0 -0.00401333 0 0.00301 0.00301 0 0.00702333 0 0.00301 -0 0 0.00301 0.0110367 0 0 0.00301 0.00401333 -0 0.00702333 0 0.00702333 0.00100333 0 0 0.00200667 -0 0.00200667 0 0.00401333 0.00602 0 0.00100333 0 -0.00100333 0 0.00702333 0 0.00301 0 0.00501667 0 -0 0.00301 0.00100333 0.00200667 0.00200667 0 0.00200667 0.0110367 -0 0.00200667 0 0.00501667 0 0.00200667 0 0 -0.00200667 0.00100333 0.00802667 0.00100333 0 0.00301 0 0.00301 -0 0.00802667 0.00100333 0 0.00401333 0 0.00501667 0 -0.00200667 0.00301 0 0.00602 0.00301 0.00301 0.00501667 0.00200667 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0.0110367 0 0 0.00301 0.00100333 0 0 0.00100333 -0.00301 0.00200667 0.00401333 0 0.00200667 0.00100333 0.00602 0 -0.00301 0 0.00301 0 0.00301 0.00301 0.00401333 0.00702333 -0 0 0.00301 0.00301 0 0.00602 0 0.00903 -0 0.00401333 0 0.00301 0 0 0 0 -0 0.00301 0 0.00200667 0.00501667 0 0.00702333 0.00401333 -0 0 0.00100333 0 0 0.00401333 0 0.00200667 -0 0 0 0 0.00501667 0.00200667 0 0.00602 -0.00100333 0 0 0.00702333 0 0.00100333 0 0.00200667 -0.00602 0 0.0100333 0 0 0.00501667 0 0.00200667 -0.00200667 0 0.00200667 0.00602 0 0 0 0 -0.00100333 0.00200667 0.00301 0.00200667 0 0.00401333 0.00301 0.00200667 -0 0 0 0.00903 0.00301 0 0.00602 0.00200667 -0 0.00501667 0 0 0.00301 0 0 0.00100333 -0 0.00401333 0.00401333 0.00100333 0.00802667 0 0.00301 0 -0.00200667 0.00401333 0 0 0.00401333 0 0.00702333 0 -0 0.00401333 0 0.00602 0 0 0.00602 0.00401333 -0 0.00702333 0 0.00401333 0.00200667 0.00200667 0 0 -0.00100333 0.00501667 0.00401333 0 0.00301 0 0.00200667 0.00200667 -0.00301 0.00501667 0 0.00602 0 0 0.0100333 0 -0.00401333 0.00401333 0 0.00401333 0 0.00100333 0.00100333 0.00903 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00501667 0.00501667 -0 0.0110367 0 0.00100333 0 0.00100333 0.00401333 0 -0 0.00602 0.00100333 0.00100333 0.00100333 0 0.00702333 0.00301 -0 0.00401333 0.00200667 0.00100333 0 0.00702333 0.00100333 0.00301 -0.00301 0 0.00200667 0.00401333 0.00200667 0 0 0 -0.00501667 0.00301 0 0 0.00100333 0 0 0.00200667 -0.00301 0.00401333 0 0.00401333 0.00501667 0 0.00100333 0.00501667 -0.00200667 0 0.00301 0.00401333 0 0.00401333 0.00100333 0.00401333 -0 0 0 0 0.00100333 0.00401333 0 0 -0.00802667 0 0 0.00702333 0 0.00602 0.00301 0 -0.00903 0 0.00301 0.00200667 0 0.00401333 0 0 -0.00401333 0 0 0.0100333 0.00200667 0 0 0.00301 -0 0.0100333 0.00100333 0 0 0 0.00802667 0.00100333 -0 0 0.00100333 0.00401333 0.00401333 0 0.00301 0 -0 0.00200667 0.00401333 0.00100333 0.00100333 0 0 0.00301 -0 0.00401333 0.00301 0.00200667 0.00501667 0 0 0.00802667 -0 0.00301 0 0.00100333 0 0.00401333 0 0 -0 0.00702333 0 0.00200667 0.00200667 0 0.00301 0.00200667 -0.00100333 0 0 0.00401333 0.00301 0 0 0 -0.00301 0.00401333 0 0.00401333 0 0 0.00401333 0.00301 -0.00501667 0 0 0.00401333 0 0.00702333 0.00401333 0.00100333 -0 0.00301 0.00100333 0.00100333 0 0 0.00802667 0 -0 0.00903 0.01204 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00602 0.00301 0.00602 -0.00301 0.00301 0.00301 0.00200667 0.00301 0.00401333 0 0.00301 -0 0.00401333 0.00501667 0.00200667 0 0 0.00401333 0.00401333 -0.00200667 0 0 0.00501667 0 0.00301 0.00200667 0 -0.00200667 0 0.00401333 0.00100333 0.00100333 0 0 0.00100333 -0.00200667 0 0.00200667 0.00200667 0.00100333 0 0 0.00301 -0 0.00401333 0 0.00200667 0.00401333 0 0 0.00802667 -0.00100333 0 0.00200667 0 0.00200667 0.00301 0 0.00702333 -0 0.00301 0 0 0.00100333 0 0 0.00100333 -0.00401333 0 0.00401333 0.00401333 0 0.00401333 0.00602 0 -0.00401333 0 0.00301 0.00200667 0 0.00401333 0 0.00200667 -0.00702333 0 0 0.00702333 0.00200667 0 0 0 -0 0.00702333 0 0.00100333 0 0 0.01204 0 -0 0 0 0 0.00802667 0 0 0 -0.00100333 0.00200667 0.00501667 0 0 0 0 0.00200667 -0 0.00501667 0.00501667 0 0 0 0.00200667 0.00301 -0 0 0 0.00100333 0 0.00100333 0.00301 0 -0 0.00602 0.00100333 0 0 0 0.00301 0.00100333 -0 0 0 0.00702333 0.00100333 0 0 0.00100333 -0.00602 0 0.00602 0 0 0 0.00802667 0.00501667 -0 0 0.00501667 0 0.00200667 0.00301 0.00501667 0 -0.00301 0.00100333 0.00200667 0.00401333 0 0 0.00802667 0 -0.00802667 0.0100333 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00501667 0.00501667 0.00602 -0.00100333 0.00100333 0.00301 0.00100333 0.00401333 0 0 0 -0 0.00501667 0.00301 0.00602 0.00100333 0 0.00301 0 -0.00903 0 0.00100333 0 0 0.00401333 0 0.00702333 -0 0 0 0.00702333 0.00401333 0 0 0 -0.00602 0.00100333 0 0 0.00401333 0.00301 0 0.00501667 -0 0 0.00401333 0.00100333 0 0.00903 0 0.00401333 -0 0.00200667 0.00301 0 0.00501667 0.00200667 0 0.00903 -0 0.00401333 0.00100333 0 0.00802667 0 0 0.00200667 -0 0.00200667 0 0.00903 0 0.00702333 0.00100333 0 -0 0.00301 0.00301 0.00200667 0 0.00100333 0 0.00100333 -0.00301 0 0.00100333 0.00200667 0.0100333 0 0 0.00100333 -0.00401333 0 0.00301 0.00301 0 0.00401333 0.00602 0 -0.00100333 0.00301 0 0 0.0100333 0 0 0.00200667 -0 0.00501667 0.00602 0 0 0 0.00401333 0 -0.00702333 0 0.00401333 0 0 0.00100333 0.00602 0 -0 0 0.00100333 0 0 0.00200667 0 0.00200667 -0.00301 0 0.00301 0 0.00501667 0 0.00200667 0 -0.00100333 0.00100333 0.00401333 0.00200667 0 0 0 0.00501667 -0.00501667 0 0.00401333 0 0 0.00501667 0 0.00401333 -0.00100333 0 0.00301 0 0.00602 0.00200667 0 0 -0.00100333 0.00301 0 0 0 0.00802667 0 0.00301 -0.00903 0.00100333 0 0.00602 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00802667 0.00301 0.00100333 0 0.00903 -0 0.00401333 0 0.00501667 0.00401333 0.00100333 0.00200667 0 -0 0 0 0.0100333 0.00301 0 0.00401333 0.00100333 -0 0.00401333 0 0.00301 0 0 0 0.00702333 -0 0.00200667 0 0.00401333 0.00501667 0.00401333 0 0 -0 0.0100333 0.00100333 0 0.00200667 0 0.00100333 0 -0 0.00100333 0 0.00501667 0 0.00301 0.00100333 0.00301 -0 0.00802667 0.00401333 0 0.00602 0 0.00100333 0.00501667 -0 0.00401333 0 0 0.00301 0.00401333 0 0.00401333 -0 0.00301 0 0.00602 0 0.00401333 0.00200667 0.00100333 -0 0.00401333 0.00301 0.00200667 0 0.00100333 0.00100333 0.00100333 -0.00200667 0 0.00100333 0.00200667 0.00401333 0.00100333 0.00100333 0.00100333 -0.00301 0 0.00401333 0 0.00200667 0.00401333 0.00301 0.00100333 -0.00100333 0.00200667 0 0.00501667 0.00501667 0 0.00200667 0 -0 0.00802667 0 0 0.00100333 0 0.00501667 0 -0.00602 0.00200667 0.00401333 0 0 0.00301 0.00602 0 -0 0.00100333 0 0 0 0.00401333 0 0 -0.00100333 0.00301 0.00100333 0 0.00602 0 0 0 -0.00401333 0.00301 0 0 0.00702333 0 0.00100333 0.00802667 -0 0 0 0.00501667 0 0.00200667 0 0.00602 -0.00100333 0.00100333 0 0.00100333 0.00401333 0.00100333 0 0 -0.00702333 0.00200667 0 0.00100333 0.00802667 0 0.00501667 0.00100333 -0.00401333 0 0.00301 0 0.00602 0.00602 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0 0.00602 0.00802667 0 0 -0.00702333 0 0.00903 0 0.00200667 0.00802667 0 0.00501667 -0 0 0 0 0.0140467 0 0.00501667 0.00200667 -0 0.00602 0 0 0.00200667 0.00401333 0 0.00602 -0 0 0 0 0.00100333 0.00702333 0 0 -0 0.00802667 0.00401333 0 0 0 0.00602 0 -0.00301 0 0.00301 0.00200667 0 0.00200667 0.00602 0 -0 0.00200667 0.00200667 0.00200667 0 0.00602 0.00401333 0 -0.00100333 0 0 0 0.00200667 0.00501667 0 0.00501667 -0 0.00301 0.00401333 0 0.00401333 0.00200667 0.00200667 0.00100333 -0 0.00501667 0.00200667 0.00200667 0.00100333 0 0 0.00200667 -0.00301 0 0 0.00501667 0.00100333 0.00401333 0 0.00501667 -0 0 0.00100333 0 0.00401333 0.00501667 0.00200667 0 -0.00301 0.00401333 0 0.00802667 0.00100333 0.00100333 0.00301 0 -0.00401333 0.00501667 0 0 0.00501667 0.00301 0 0.00401333 -0 0.00301 0.00702333 0 0.00903 0 0.00802667 0 -0 0 0.00100333 0.00100333 0 0.00802667 0 0 -0.00200667 0.00903 0 0.00200667 0.00200667 0 0.00501667 0.00301 -0.00100333 0 0 0.00301 0 0 0.00602 0.00200667 -0 0 0.00301 0.00301 0 0.00903 0.00301 0.00200667 -0 0.00401333 0.00100333 0.00401333 0 0.00200667 0 0.00802667 -0 0 0 0.00602 0.00602 0.00501667 0 0.00401333 -0.00100333 0.00301 0 0.00401333 0.00501667 0.00702333 0.00802667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00602 0.00301 0.00301 0.00100333 0.00200667 0.00501667 0 -0.00401333 0.00501667 0 0.00702333 0 0.00501667 0 0 -0.00802667 0 0 0 0 0.0110367 0 0.00802667 -0 0.00100333 0 0 0.00301 0.00301 0.00301 0.00200667 -0.00401333 0 0 0.00200667 0 0 0.00401333 0 -0 0.00602 0.00301 0.00401333 0 0 0.00100333 0.00602 -0 0.00401333 0 0 0.00301 0.00301 0.00401333 0 -0 0.00501667 0.00401333 0.00200667 0 0.00301 0.00802667 0 -0.00501667 0 0 0.00301 0 0.00802667 0 0.00100333 -0 0.00401333 0 0.00100333 0.00100333 0.00501667 0.00401333 0 -0 0.00903 0 0 0 0 0 0 -0.00903 0 0 0.00200667 0 0.00702333 0 0 -0.00401333 0 0 0 0.00802667 0 0.00301 0 -0 0.00200667 0 0.00702333 0 0 0.00401333 0.00200667 -0.00401333 0.00401333 0 0 0.00802667 0 0 0.00903 -0 0 0.00802667 0 0.00401333 0.00501667 0.00100333 0 -0.00100333 0 0 0 0 0.00802667 0 0.00200667 -0.00602 0 0 0.00401333 0 0 0.00802667 0 -0 0.00200667 0 0 0.00702333 0 0 0 -0.00100333 0 0.00200667 0 0.00401333 0.00200667 0 0.00301 -0 0 0.00702333 0 0 0.00401333 0 0.00401333 -0 0 0.00602 0.00401333 0.00401333 0 0.00200667 0.00501667 -0.00100333 0.00200667 0.00100333 0.00602 0 0.0100333 0.00401333 0.00903 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0.00602 0 0.00401333 0.00200667 0.00802667 0.00301 -0 0.0100333 0 0 0.00602 0 0.00100333 0 -0 0.00602 0 0 0 0.00200667 0.00802667 0.00100333 -0.00200667 0.00301 0 0 0.00301 0 0.00301 0 -0 0.00200667 0 0.00401333 0 0 0.00301 0 -0 0.00301 0.00501667 0 0 0 0 0.00501667 -0.00200667 0.00100333 0 0.00301 0 0.00200667 0.00602 0 -0 0 0.00702333 0.00702333 0 0 0.00702333 0 -0.00702333 0 0 0.00501667 0.00100333 0.00501667 0.00301 0 -0 0.00301 0 0.00200667 0 0.0100333 0.00401333 0 -0.00200667 0.00602 0 0.00100333 0 0.00200667 0.00200667 0 -0.01204 0 0 0.00301 0.00200667 0.00702333 0 0 -0.00301 0 0 0 0.0100333 0 0.00100333 0 -0 0 0.00200667 0.00301 0.00401333 0 0.00702333 0.00301 -0 0.00301 0 0.00100333 0.00501667 0 0 0.00501667 -0.00401333 0 0.00802667 0 0.00501667 0 0 0.00100333 -0.00200667 0 0 0 0 0.00501667 0 0.00501667 -0.00301 0 0 0.00301 0 0.00602 0.00401333 0 -0.00100333 0.00100333 0 0 0.0140467 0 0.00301 0.00401333 -0.00301 0 0.00100333 0.00200667 0.00602 0 0.00401333 0.00100333 -0.00301 0 0.00301 0 0.00100333 0 0 0.00401333 -0 0 0.00602 0 0 0.00301 0.00602 0.00100333 -0.00301 0.00200667 0.00501667 0.00602 0 0.00501667 0 0.00200667 -0.00702333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0.00200667 0 0.00602 0.00301 0 0.00200667 0.00401333 0.00903 -0 0 0.00702333 0 0.00200667 0.00602 0 0 -0 0.00301 0.00100333 0 0 0.00100333 0.00602 0.00602 -0 0.00401333 0.00501667 0 0 0.00100333 0.00200667 0.00301 -0 0 0.00100333 0.00301 0 0 0 0.00501667 -0 0.00301 0.00301 0.00100333 0.00401333 0 0.00100333 0.00200667 -0 0.00602 0 0 0.00301 0.00100333 0.00100333 0 -0.00301 0 0.00100333 0.00903 0 0 0.00301 0.00301 -0.00301 0 0.00200667 0 0.00602 0.00100333 0.00100333 0 -0 0 0.00401333 0 0 0.00100333 0.00401333 0 -0.00401333 0.00200667 0 0 0 0.00802667 0 0 -0.00501667 0 0 0.00501667 0 0.00200667 0 0 -0.00602 0 0 0 0.00802667 0 0.00602 0 -0 0 0.00602 0 0.00501667 0 0.00702333 0 -0.00100333 0.00200667 0 0.00100333 0.00301 0 0.00702333 0 -0.00200667 0.00200667 0 0 0.00702333 0.00200667 0 0.00602 -0.00200667 0 0 0 0.00802667 0 0.00702333 0.00100333 -0 0.00100333 0 0 0.00200667 0.00602 0 0.00301 -0 0.00401333 0 0.00401333 0.00100333 0 0.00401333 0.00401333 -0 0 0.00200667 0.00501667 0 0.00501667 0 0.00702333 -0 0.00401333 0 0 0 0 0.00602 0 -0.00501667 0 0.00401333 0 0.00200667 0.00301 0.00301 0.00100333 -0.00802667 0 0.00501667 0 0.00301 0 0.01204 0.00100333 -0.00301 0.00501667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00602 0.00802667 -0 0.00200667 0.00200667 0.00802667 0 0.00401333 0.00301 0.00301 -0.00401333 0 0 0.00501667 0 0.00802667 0.00602 0.00200667 -0 0 0 0.00501667 0 0.00100333 0 0.00602 -0.00301 0 0 0.00903 0 0 0 0.00602 -0.00200667 0 0.00100333 0.00200667 0.00602 0 0.00100333 0 -0 0.00501667 0.00301 0.00200667 0.00501667 0 0.00301 0 -0.00200667 0 0.00501667 0 0.00100333 0 0.00602 0 -0.00501667 0 0 0.01204 0.00401333 0 0 0.00401333 -0.00401333 0 0.00401333 0 0.00100333 0.00200667 0 0 -0.00100333 0 0.00200667 0 0.00200667 0 0.00100333 0.00200667 -0 0.00401333 0 0 0 0.00802667 0 0 -0.00301 0 0.00301 0 0.00401333 0 0 0 -0.00602 0 0.00301 0 0.00200667 0 0.00401333 0 -0 0 0.00602 0 0 0 0.00301 0 -0.00200667 0.00401333 0 0.00100333 0.00100333 0 0.00702333 0 -0 0.00301 0 0.0100333 0.00100333 0.00100333 0 0.00802667 -0 0 0.00200667 0 0.00301 0.00301 0.00602 0 -0.00301 0.00100333 0 0 0.00903 0 0 0 -0 0.00301 0.00200667 0 0.00301 0.00301 0 0 -0 0.00301 0.00200667 0 0 0 0.00702333 0.00200667 -0 0.00200667 0 0 0 0.00501667 0 0 -0.00100333 0.00100333 0.00501667 0 0.00602 0 0.00401333 0.00501667 -0 0 0 0.00200667 0 0.00903 0.00200667 0.00200667 -0 0.00802667 0.0100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.0100333 -0 0 0 0.00602 0.00200667 0 0.00501667 0.00602 -0 0.00501667 0 0.00200667 0.00301 0 0.00602 0.00501667 -0.00702333 0 0 0.00301 0 0 0.00903 0 -0.00301 0.00401333 0 0.00200667 0.00301 0.00501667 0 0.00200667 -0 0.00401333 0 0.00301 0.00301 0 0 0 -0 0.00100333 0.00301 0 0.00602 0 0.00501667 0.00100333 -0 0.00301 0 0.00100333 0.00200667 0 0.00301 0 -0.00301 0 0 0.00501667 0.00602 0.00100333 0 0.00100333 -0.00802667 0 0.00501667 0 0 0.00301 0 0 -0 0 0 0.00100333 0 0.00301 0 0.00602 -0 0.00200667 0.00200667 0 0 0.00301 0.00301 0 -0.00200667 0.00301 0.00100333 0 0.00702333 0 0 0 -0.00602 0 0.00401333 0.00301 0 0.00702333 0 0.00200667 -0 0.00100333 0.00100333 0 0.00100333 0.00501667 0 0 -0.00802667 0 0 0 0 0.00200667 0.00501667 0 -0 0.00100333 0 0.0140467 0 0.00501667 0.00501667 0 -0 0.00301 0.00100333 0.00702333 0 0.01505 0 0.00501667 -0.00100333 0 0.00301 0 0.00702333 0 0.00100333 0 -0.00301 0.00702333 0 0 0.00501667 0 0.00401333 0 -0.00401333 0 0 0 0.00802667 0 0.00401333 0 -0.00301 0 0 0 0.00200667 0.00100333 0 0.00200667 -0 0.00602 0.00401333 0.00200667 0.00301 0 0.00100333 0.00100333 -0 0 0.00802667 0 0.00602 0.00301 0 0 -0.00200667 0.00501667 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0170567 0.00200667 0.00200667 0 -0.01204 0 0 0.00301 0 0 0 0.00702333 -0.00802667 0 0.00301 0 0.00301 0 0 0.00401333 -0.00301 0.00200667 0 0 0.00100333 0 0.00401333 0.00401333 -0 0.00301 0 0.00401333 0 0.00903 0.00401333 0 -0.00200667 0.00100333 0 0.00100333 0.00301 0.00501667 0 0 -0 0.00100333 0.00301 0.00301 0 0 0.00802667 0.00501667 -0 0 0.00301 0 0.00602 0 0.00100333 0 -0.00301 0.00301 0.00401333 0 0.00200667 0.00401333 0 0.00100333 -0.00200667 0 0.00501667 0 0.00200667 0 0.00100333 0 -0.00200667 0 0 0.00702333 0 0.00200667 0.00200667 0 -0.00301 0 0 0.00301 0 0 0.00501667 0 -0.00100333 0.00200667 0 0.00401333 0 0 0.00200667 0 -0.00702333 0 0.00100333 0.00401333 0 0.00802667 0 0.00802667 -0 0.00301 0 0 0.00602 0.00200667 0 0 -0.00301 0 0.00200667 0.00100333 0 0.00301 0 0 -0 0.00501667 0 0.00802667 0 0.00401333 0.00200667 0 -0.00200667 0.00702333 0 0.00100333 0 0.0100333 0 0.00301 -0 0 0.00301 0.00200667 0.00200667 0 0 0 -0.00702333 0.00301 0 0.00401333 0 0.00401333 0.00100333 0 -0 0.00200667 0 0.00401333 0.00903 0 0 0.00200667 -0 0 0 0.00200667 0.00100333 0 0 0.00200667 -0.00301 0.00903 0 0.00501667 0.00200667 0.00200667 0 0 -0 0.00903 0.00200667 0 0.00301 0 0 0.00100333 -0.00200667 0.00501667 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00401333 0.00802667 0.00602 0 -0.00903 0.00903 0 0.00401333 0.00401333 0 0 0 -0.00802667 0.00100333 0.00702333 0.00401333 0.00100333 0 0 0.00501667 -0.00100333 0 0.00200667 0.00100333 0.00100333 0 0 0.00200667 -0 0 0.00401333 0.00301 0 0.00100333 0.00301 0.00200667 -0 0.00301 0.00301 0 0.00401333 0 0.00401333 0 -0 0 0.00100333 0.00501667 0 0 0.00401333 0.00602 -0.00401333 0 0 0 0.00802667 0 0.00501667 0 -0 0.00200667 0.00501667 0.00200667 0 0.00301 0 0.00100333 -0 0 0.00401333 0 0 0.00100333 0.00401333 0 -0 0.00401333 0.00100333 0.00401333 0 0 0.00702333 0 -0 0.00602 0 0 0.00100333 0 0 0.00100333 -0.00200667 0 0 0.00301 0 0 0 0 -0.00602 0 0 0.00401333 0 0.00401333 0 0.00501667 -0 0.00903 0 0 0.0100333 0 0.00100333 0 -0 0.00501667 0.00200667 0.00100333 0 0 0 0 -0 0.00301 0 0.00200667 0.00301 0.00100333 0.00200667 0 -0.00401333 0.00401333 0 0.00200667 0.00200667 0 0.00501667 0 -0.00100333 0.00100333 0.00100333 0.00200667 0 0 0.00602 0.00301 -0 0.00501667 0 0 0.00401333 0.00200667 0 0 -0 0.00602 0 0.0110367 0 0 0.00301 0.00100333 -0 0.00501667 0 0.00100333 0.00100333 0.00200667 0 0.00401333 -0.00200667 0 0.00100333 0.0100333 0 0.00200667 0.00401333 0 -0 0.00802667 0 0.00100333 0 0.00802667 0.00200667 0 -0.00903 0 0.00100333 0.00501667 0.01505 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00802667 0.00501667 0 0.00501667 0.00200667 0.00702333 -0 0.0130433 0.00602 0 0.00200667 0 0 0 -0.00200667 0.00200667 0.00100333 0.00602 0.00200667 0.00200667 0 0 -0 0.00501667 0.00200667 0.00200667 0 0.00100333 0 0.00100333 -0 0 0.00200667 0.00401333 0.00200667 0.00100333 0.00100333 0.00100333 -0 0 0.00301 0.00301 0.00301 0 0.00301 0 -0.00501667 0 0 0.00200667 0.00501667 0 0.00200667 0.00401333 -0.00401333 0 0.00200667 0 0.00200667 0.00501667 0 0 -0 0 0.00100333 0.00401333 0.00100333 0.00200667 0 0 -0.00100333 0 0 0.00200667 0 0.00903 0 0.00200667 -0 0.00401333 0.00200667 0.00100333 0 0 0 0.00702333 -0 0.00301 0.00301 0 0 0.00501667 0 0.00602 -0 0 0 0.00200667 0 0 0.00200667 0 -0.00100333 0 0.00301 0 0.00301 0.00100333 0 0 -0 0.00903 0 0.00501667 0.00401333 0 0.00200667 0 -0 0.00401333 0.00301 0.00301 0 0 0 0 -0 0 0.00401333 0 0.00501667 0 0.00401333 0 -0 0.00401333 0.00401333 0 0 0.00301 0.00501667 0 -0.00802667 0 0.00501667 0 0 0.00200667 0.0100333 0 -0.00200667 0.00301 0.00100333 0.00200667 0.00200667 0 0 0 -0.00501667 0.00301 0 0.00802667 0 0 0.00602 0 -0.00501667 0 0 0.00100333 0.00802667 0 0 0.00100333 -0 0 0.0100333 0 0.00200667 0 0 0.00100333 -0.00401333 0 0 0.00100333 0.00602 0.00602 0 0.00301 -0 0 0.00602 0.00802667 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00602 0.00702333 0.00200667 0.00200667 0 0.00200667 0 -0.00501667 0 0.0100333 0.00200667 0.00100333 0 0 0 -0.00200667 0 0 0.00401333 0.00401333 0.00200667 0 0.00100333 -0 0.00200667 0.00301 0 0.00301 0 0 0.00301 -0 0 0 0.00501667 0 0.00501667 0.00602 0 -0.00602 0 0.00200667 0.00200667 0.00501667 0 0.00401333 0.00200667 -0 0.00100333 0 0 0 0 0.00401333 0 -0.00903 0 0.00301 0.00301 0 0.00100333 0.00401333 0 -0 0.00100333 0 0.00200667 0 0.00602 0.00100333 0 -0.00501667 0 0 0.00401333 0 0.0110367 0 0.00200667 -0 0 0.00602 0 0 0 0 0.00501667 -0 0 0.00200667 0 0.00100333 0 0 0.00602 -0 0.00702333 0 0 0 0 0.00903 0 -0.00200667 0.00100333 0 0.00100333 0.00301 0 0 0 -0 0.00200667 0 0 0 0.00301 0 0 -0.00501667 0 0.00401333 0.00100333 0 0 0 0.00301 -0 0 0.00602 0 0.00602 0.00100333 0 0.00301 -0.00200667 0.00301 0.00301 0 0 0.00301 0.00301 0 -0.00903 0.00301 0 0 0 0.0100333 0 0 -0.00602 0.00401333 0 0.00401333 0 0 0 0.00802667 -0.00100333 0 0 0.00602 0 0 0.00200667 0 -0 0.00100333 0 0.00301 0.00200667 0 0.00501667 0.00200667 -0 0.00200667 0.00602 0 0 0 0.00200667 0.00301 -0 0 0.00200667 0.00602 0.00602 0.00100333 0 0.00301 -0 0.00802667 0.00903 0.00401333 0 0 0.00802667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00602 0.00200667 0.00100333 0.00200667 0 0.00802667 -0 0.00301 0 0.00702333 0 0.00903 0 0 -0 0.00702333 0 0.00401333 0 0 0.00702333 0 -0 0.00301 0 0 0.00501667 0 0.00301 0 -0.00301 0 0 0.00100333 0 0 0.00501667 0.00100333 -0.00401333 0.00301 0 0.00301 0.00903 0 0 0.00401333 -0.00702333 0 0 0 0.00100333 0 0.00702333 0.00501667 -0.00301 0 0.00301 0.00200667 0 0 0.00100333 0.00200667 -0 0 0.00200667 0.00200667 0 0.00602 0.00100333 0.00100333 -0.00401333 0.00301 0 0.00100333 0 0.00903 0.00100333 0 -0 0.00301 0 0.00301 0 0 0.00100333 0.00301 -0.00100333 0 0 0 0.00301 0.00301 0.00200667 0 -0.00301 0.00501667 0 0 0 0.00602 0.00702333 0.00200667 -0.00100333 0 0 0.00301 0.00501667 0 0 0.00501667 -0.00100333 0 0.00602 0 0.00200667 0 0.00100333 0.00401333 -0 0.00100333 0.00301 0 0 0 0 0.00602 -0 0.00100333 0.00802667 0 0.00702333 0 0.00100333 0.00100333 -0 0.00602 0 0.00200667 0 0.00200667 0 0.00702333 -0.00401333 0.00200667 0 0.00301 0 0.00602 0.00200667 0 -0 0.00602 0.00200667 0 0.00301 0 0.00501667 0.00200667 -0 0.00100333 0 0.00802667 0 0 0.00401333 0 -0.00301 0 0.00301 0.00200667 0 0.00100333 0.00501667 0 -0 0.00602 0.00100333 0 0 0.00301 0 0.00200667 -0.00200667 0 0.00100333 0.00301 0 0 0.00100333 0.00100333 -0.00401333 0.00702333 0.00100333 0.00301 0 0.00501667 0.00602 0.00903 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0.00401333 0.00100333 0.00702333 0.00501667 0 0.00401333 0.00301 0 -0.00802667 0.00401333 0 0.00200667 0.00100333 0.00401333 0.00200667 0 -0 0.00200667 0.00100333 0 0 0 0 0.00301 -0.00200667 0.00100333 0.00200667 0 0.00401333 0.00301 0 0.00401333 -0.00301 0 0 0.00501667 0 0.00401333 0.00100333 0 -0.00100333 0.00501667 0.00301 0 0.00301 0.00401333 0 0 -0.00802667 0.00401333 0.00401333 0 0 0 0 0.0100333 -0.00200667 0 0 0.00501667 0.00702333 0 0 0 -0.00501667 0 0 0.00501667 0 0.00501667 0.00301 0 -0.00702333 0.00100333 0 0 0.00200667 0.00401333 0 0.00100333 -0.00100333 0 0 0.00401333 0 0.00100333 0.00301 0.00301 -0.00200667 0 0.00301 0 0.00100333 0.00702333 0.00602 0 -0.00702333 0.00200667 0.00100333 0.00200667 0 0.00401333 0.00301 0.00301 -0.00301 0 0.00100333 0 0.0130433 0 0 0.00301 -0 0.00100333 0.00301 0.00100333 0 0.00401333 0 0.00301 -0.00200667 0.00301 0 0 0 0.00301 0 0.00501667 -0 0.00200667 0.00301 0 0.00200667 0 0 0.00401333 -0 0.00200667 0 0 0.00200667 0.00200667 0 0.00702333 -0 0 0.00200667 0.00100333 0 0.00903 0 0 -0.00501667 0.00401333 0 0.00100333 0 0 0.00100333 0.00602 -0 0 0 0.00301 0 0.00501667 0 0.00100333 -0.00301 0 0.00200667 0.00200667 0 0 0.00100333 0 -0.00501667 0.00200667 0.00100333 0 0 0.00401333 0.00200667 0.00301 -0.00301 0 0.00501667 0 0.00301 0 0 0.00301 -0.00602 0.00501667 0.00200667 0 0.00702333 0.00602 0.00602 0.00301 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0100333 -0.00501667 0.00200667 0.00301 0.00602 0 0.00100333 0.0100333 0 -0 0.00602 0.00401333 0.00100333 0.00401333 0 0.00501667 0 -0 0 0.00301 0 0.00200667 0 0.00301 0.00100333 -0.00200667 0 0.00200667 0 0.00802667 0 0.00100333 0.00501667 -0.00301 0.00100333 0 0.00501667 0 0.00401333 0 0.00301 -0 0 0.00200667 0.00501667 0.00401333 0.00301 0 0 -0.00100333 0.00100333 0.00702333 0.00903 0 0 0 0.00301 -0.00602 0 0 0.00702333 0 0.00301 0.00401333 0 -0 0.00200667 0.00100333 0 0 0.00401333 0.00401333 0 -0 0.00401333 0 0 0 0.00602 0.00200667 0 -0.00301 0 0 0.00501667 0.00401333 0 0 0.00501667 -0.00100333 0.00200667 0.00200667 0 0 0.00501667 0.00501667 0 -0.00301 0 0 0.00200667 0 0.00200667 0.00100333 0.00401333 -0.00401333 0 0.00401333 0.00200667 0.00903 0 0.00100333 0 -0.00200667 0.00401333 0 0.00903 0 0.00100333 0 0 -0.0100333 0 0 0 0 0 0 0.00100333 -0.00100333 0 0.00702333 0.00200667 0 0 0.00501667 0 -0.00602 0 0 0.00301 0 0 0.00401333 0.00301 -0 0.00401333 0 0 0.0100333 0 0 0 -0.00200667 0.00100333 0.00501667 0 0 0.00602 0.00200667 0.00702333 -0 0 0 0.00301 0 0.00100333 0.00301 0 -0.00301 0 0.00401333 0.00602 0 0 0.00100333 0.00401333 -0.00301 0.00401333 0 0 0.00903 0 0.00100333 0.00100333 -0 0.00301 0.00301 0.00100333 0 0 0.00200667 0.00401333 -0.00401333 0.00501667 0 0 0.00903 0.00802667 0.00602 0 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0 -0.00702333 0.00401333 0.00401333 0 0.00100333 0.00200667 0.00200667 0.00702333 -0 0 0.00501667 0 0.00301 0.00200667 0.00200667 0.00702333 -0 0 0.00100333 0.00200667 0 0 0 0 -0.00401333 0.00100333 0 0 0.00501667 0.00301 0 0.00200667 -0.00200667 0.00301 0 0.00301 0 0.00501667 0.00200667 0 -0.00301 0 0.00100333 0 0.00301 0.00903 0 0 -0 0.00200667 0.00301 0.00702333 0.00702333 0 0 0 -0 0 0 0.00401333 0.00602 0 0.00401333 0.00100333 -0 0 0.00200667 0 0 0.00200667 0.0110367 0 -0 0.00301 0 0.00100333 0 0.00200667 0.00802667 0 -0.00200667 0 0.00100333 0 0.01204 0 0.00301 0 -0 0.00301 0.00200667 0 0 0.00702333 0 0 -0 0 0 0.00301 0 0 0 0 -0.00200667 0 0 0.00100333 0.00401333 0 0.00602 0 -0.00401333 0.00200667 0 0.0110367 0 0.00100333 0.00200667 0.00100333 -0.00401333 0.00200667 0 0.00200667 0.00401333 0 0.00501667 0 -0.00200667 0 0.00702333 0 0 0 0.0100333 0 -0 0.00301 0 0.00501667 0 0.00301 0.00401333 0 -0.00602 0 0 0 0.00501667 0 0.00200667 0.00301 -0.00301 0 0.00501667 0 0 0.00602 0.00702333 0 -0 0 0.00401333 0.00200667 0.00100333 0.00301 0 0.00301 -0.00200667 0.00301 0 0.00200667 0 0 0.00903 0 -0.00200667 0.00501667 0 0.00702333 0 0 0.00702333 0 -0 0.00301 0.00301 0 0 0 0.00200667 0.00602 -0.00100333 0 0 0.0110367 0.0100333 0 0 0.00100333 -0.00401333 0.00802667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00702333 0 -0.00501667 0.00301 0.00100333 0.00802667 0.00401333 0.00100333 0 0.00100333 -0.00602 0.00301 0 0.00401333 0.00200667 0.00100333 0.00602 0.00401333 -0.00301 0 0 0.00501667 0 0.00401333 0.00100333 0 -0 0.00100333 0.00602 0 0.00602 0.00301 0 0.00501667 -0 0 0 0.00602 0.00200667 0 0 0 -0.00301 0 0 0.00602 0 0.00301 0.00802667 0.00200667 -0 0 0.00100333 0.00301 0.00501667 0 0.00100333 0 -0 0.00100333 0 0 0.00702333 0.00200667 0.00100333 0 -0 0 0.00903 0 0 0 0.01806 0 -0.00100333 0 0 0.00100333 0.00100333 0.00100333 0.00200667 0.00903 -0 0 0.00100333 0 0.00702333 0.00301 0.00200667 0 -0 0 0 0 0.00401333 0.00401333 0 0 -0.00200667 0 0 0.00100333 0.00200667 0 0 0.00200667 -0.00200667 0.00100333 0 0 0 0 0.00501667 0 -0.00100333 0.00301 0 0.00401333 0.00100333 0 0 0.00401333 -0 0 0 0.00602 0.00200667 0 0.00200667 0.00301 -0.00401333 0 0.00401333 0.00100333 0 0.00702333 0 0 -0.00200667 0.00100333 0 0 0.00100333 0 0.00200667 0 -0.00802667 0 0 0.00301 0 0.00802667 0 0.00602 -0.00100333 0.00200667 0.00401333 0 0.00301 0.00501667 0 0 -0.00401333 0.00100333 0.00301 0.00100333 0 0.00200667 0.00501667 0.00200667 -0 0 0.00200667 0 0 0.0110367 0.00501667 0 -0.00200667 0 0 0.00602 0 0.00602 0.00200667 0.00100333 -0.00100333 0.00702333 0 0 0.00401333 0 0.00301 0.00100333 -0.00301 0 0.00602 0.00903 0 0.00200667 0.00100333 0.00401333 -0.00602 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0140467 0.00602 -0 0 0 0.00702333 0.00602 0.00100333 0.00602 0 -0 0 0.00401333 0.00301 0.00301 0.00903 0 0.00602 -0 0.00501667 0 0.00100333 0 0 0.00200667 0.00301 -0 0 0.00200667 0 0 0.00903 0.00100333 0.00100333 -0.0100333 0 0.00200667 0 0.00100333 0.00602 0 0 -0 0.00301 0 0 0.00602 0 0 0.00401333 -0.00301 0 0 0.00501667 0 0.00602 0 0 -0 0 0.00100333 0 0 0.00702333 0 0 -0 0.00100333 0 0.00301 0 0 0.0110367 0.00100333 -0.00401333 0 0 0 0.00501667 0 0.00401333 0.00200667 -0.00702333 0 0 0 0 0.00602 0 0 -0 0 0 0 0.00501667 0.00301 0 0 -0.00100333 0 0.00100333 0 0 0 0 0.00200667 -0.00401333 0 0 0.00602 0 0.00501667 0 0 -0.00301 0 0 0 0.00401333 0 0 0.00602 -0 0 0.00301 0.00702333 0 0.00602 0 0.0100333 -0 0 0.00401333 0.00501667 0 0.00501667 0 0.00301 -0.00100333 0 0 0.00903 0 0.00100333 0 0.00200667 -0 0 0.00100333 0.00301 0 0.00301 0.00100333 0.00200667 -0 0.00802667 0 0.00200667 0 0.00301 0 0.00100333 -0.00401333 0.00602 0.00602 0 0.00401333 0 0.00702333 0 -0 0 0.00100333 0.00200667 0.00200667 0.00702333 0 0 -0.00200667 0 0.00100333 0.00301 0.00200667 0.00602 0.00200667 0 -0.00401333 0 0 0.00903 0 0.00200667 0.00401333 0.00200667 -0 0.00100333 0.00602 0 0.00301 0.00602 0 0.00200667 -0 0.00702333 0.00401333 0.00702333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0100333 0.00401333 0 0.00602 -0.00903 0.00301 0 0.00100333 0.00602 0.00401333 0.00100333 0.00301 -0 0 0 0.00301 0.00100333 0.00501667 0.00401333 0.00100333 -0.0110367 0 0.00200667 0 0 0 0.00100333 0 -0.00501667 0 0 0.00200667 0.00100333 0 0.00401333 0.00401333 -0.00100333 0.0130433 0 0 0.00501667 0 0.00200667 0 -0.0100333 0 0.00702333 0 0 0.00903 0 0 -0.00100333 0.00100333 0 0.00100333 0.00100333 0.00401333 0 0.00200667 -0 0 0.00200667 0.00200667 0 0.00602 0 0.00100333 -0 0.00100333 0.00200667 0 0 0 0.00301 0.00100333 -0.00401333 0.00301 0 0.00200667 0.00100333 0 0 0 -0.00401333 0.00100333 0 0 0 0.00501667 0 0.00200667 -0 0 0 0 0 0.00200667 0 0 -0 0 0.00702333 0 0.00301 0 0 0.00401333 -0 0.00501667 0 0.00200667 0 0 0 0 -0.00301 0 0.00301 0 0.00501667 0.00200667 0 0.00702333 -0 0 0.00702333 0 0.00200667 0.00301 0.00100333 0.00602 -0 0 0.00100333 0.00802667 0 0.00602 0 0.00301 -0 0 0.00401333 0.00802667 0 0.00301 0.00200667 0.00200667 -0 0 0.00401333 0 0 0.00501667 0 0 -0.00802667 0.00301 0 0.00602 0 0 0 0.0110367 -0 0.00602 0.00100333 0 0 0.00301 0 0 -0 0.00602 0 0 0.00602 0 0.00100333 0 -0 0.00501667 0.00301 0 0.00401333 0.00100333 0 0.00501667 -0.00100333 0 0 0.00401333 0.00100333 0 0 0 -0 0.00401333 0.00301 0.00401333 0.00501667 0 0.00501667 0 -0.00200667 0.00702333 0.00200667 0.00501667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00702333 0.00802667 0.00702333 0.00200667 0.00200667 -0.00200667 0.00702333 0.00100333 0 0.00501667 0.00100333 0.00702333 0.00401333 -0 0 0 0 0.00100333 0 0 0.00100333 -0.00200667 0.0110367 0.00100333 0 0 0 0 0 -0.00401333 0.00401333 0 0 0 0.00602 0 0.00200667 -0.00301 0.00501667 0 0 0.00200667 0.00100333 0.00200667 0.00200667 -0 0.00100333 0 0.00501667 0 0.00501667 0.00802667 0 -0 0.00501667 0 0.00100333 0 0.00200667 0.00200667 0.00401333 -0 0 0.00100333 0.00702333 0 0.00602 0 0 -0.00100333 0.00100333 0.00401333 0 0 0 0.00200667 0.00301 -0 0.00802667 0 0.00100333 0.00903 0 0 0 -0 0.00301 0 0 0.00200667 0.00602 0 0.00401333 -0.00301 0 0 0 0 0.00702333 0 0.00501667 -0 0 0.00702333 0 0 0.00401333 0 0.00401333 -0 0.00401333 0 0.00200667 0 0 0 0.00702333 -0 0 0 0 0.00200667 0 0 0 -0 0 0.00501667 0 0.00100333 0.00401333 0 0 -0.00100333 0 0.00301 0 0 0.00401333 0 0.00301 -0 0 0.01204 0.00100333 0.00401333 0 0 0.00301 -0 0.00301 0 0 0.00501667 0 0 0.00702333 -0.00501667 0 0 0.01204 0 0.00200667 0.00301 0.00401333 -0.00100333 0.00100333 0.00100333 0 0 0 0 0.00100333 -0 0.00401333 0 0.00501667 0 0.00200667 0 0 -0.00401333 0 0.00200667 0 0.00802667 0 0.00100333 0.00200667 -0 0.00301 0.00100333 0 0.00200667 0.00100333 0 0.00200667 -0.00301 0.00301 0 0.00501667 0.00100333 0 0.00200667 0 -0.00802667 0.00401333 0.00100333 0.00702333 0.00602 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00200667 0.00802667 0.00501667 0.00602 0.00200667 -0 0.00301 0.00802667 0.00200667 0 0 0 0.0110367 -0.00200667 0 0.00401333 0 0.00100333 0 0 0.00301 -0.00100333 0.00200667 0.00802667 0 0 0.00602 0 0 -0 0.00501667 0.00200667 0.00401333 0 0.00301 0.00401333 0 -0.00100333 0.00602 0.00602 0 0 0 0.00100333 0.00401333 -0 0.00401333 0 0.00602 0 0 0.00501667 0.00301 -0 0 0 0 0.00401333 0 0.00100333 0.00802667 -0 0 0.00100333 0.00602 0 0 0.00200667 0.00301 -0 0.00501667 0.00702333 0 0 0 0 0 -0.00501667 0.00100333 0.00100333 0 0.00401333 0 0.00100333 0 -0 0 0 0 0.00501667 0 0.00301 0 -0.00903 0 0 0 0 0 0 0.00301 -0 0 0.00602 0 0 0.00200667 0 0.00401333 -0 0.00301 0 0.00100333 0 0 0 0.00401333 -0.00301 0 0.00200667 0 0.00602 0 0.00100333 0 -0 0.00301 0 0 0.00501667 0.00401333 0 0.00301 -0 0.00200667 0 0 0.00501667 0.00501667 0.00200667 0 -0 0.00702333 0.00401333 0.00200667 0 0.00301 0 0.00602 -0 0.00602 0 0.00602 0 0 0 0.00501667 -0 0.00200667 0 0.00802667 0.00100333 0 0.0100333 0 -0.00401333 0 0.00301 0 0.00802667 0 0 0.00301 -0.00401333 0 0.00501667 0 0.00100333 0 0 0.00100333 -0 0 0.00401333 0.00903 0.00200667 0.00200667 0 0 -0.00802667 0 0 0 0 0.00100333 0.00301 0.00301 -0.00702333 0 0.00200667 0.00301 0 0.00200667 0.00301 0.00602 -0.00602 0 0.00301 0.00301 0.00602 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00501667 0.00200667 0.00602 0.00100333 0.00602 -0.00702333 0 0 0.00702333 0.00200667 0.00200667 0 0 -0.00903 0.00200667 0 0 0 0.00401333 0 0 -0.00903 0 0 0.0100333 0 0 0 0.00501667 -0 0 0.00702333 0.00401333 0 0 0.0100333 0 -0 0.00100333 0 0.00200667 0.00501667 0 0 0.00200667 -0.00501667 0 0.00100333 0 0.00401333 0 0 0.00501667 -0 0 0.00100333 0 0.00802667 0 0 0.00401333 -0.00200667 0 0 0.00903 0 0.00100333 0.00100333 0.00301 -0 0 0.00702333 0.00200667 0.00200667 0 0.00100333 0 -0 0 0.00903 0 0 0 0.00401333 0.00200667 -0 0 0 0.00301 0 0 0.00100333 0 -0 0.00200667 0 0 0 0 0 0 -0.00301 0 0 0 0 0 0.00401333 0.00100333 -0 0.00301 0 0 0 0 0 0.00401333 -0 0 0 0.00702333 0 0.00200667 0 0 -0.00100333 0.00401333 0 0 0.0100333 0.00200667 0 0 -0.00401333 0 0 0 0.0110367 0 0.00401333 0 -0.00301 0.00702333 0 0.00100333 0 0 0 0.00702333 -0 0 0.00401333 0.00501667 0 0 0.00200667 0 -0.00702333 0 0 0.0160533 0 0 0.00501667 0 -0 0 0 0.00501667 0.00100333 0.00200667 0.00501667 0 -0 0.00802667 0.00401333 0 0.00401333 0 0.00401333 0.00100333 -0.00200667 0.00501667 0.0130433 0 0 0 0 0.00702333 -0 0 0.00200667 0 0.00200667 0.00903 0.00100333 0.00301 -0 0.00501667 0.00702333 0 0.00200667 0.00401333 0 0.00501667 -0 0 0.0110367 0.00501667 0 0.00401333 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00501667 0.00200667 0.00301 0.00200667 0.00301 0.00301 -0.00702333 0.0100333 0 0 0.00501667 0.00100333 0.00802667 0 -0 0.00501667 0.00501667 0 0 0.00903 0 0 -0.00200667 0.00501667 0 0.00100333 0.00401333 0 0.00401333 0 -0 0 0 0.00602 0.00200667 0 0 0.0100333 -0 0 0 0.00501667 0 0.00702333 0 0 -0.00802667 0.00702333 0 0 0 0.00200667 0.00100333 0 -0 0 0 0 0.00802667 0.00602 0 0.00100333 -0.00200667 0 0.00301 0 0.00702333 0 0.00702333 0.00100333 -0.00100333 0 0 0.00501667 0 0 0.00301 0 -0 0 0.00602 0 0.00401333 0 0.00200667 0.00501667 -0 0 0 0.00401333 0 0.00301 0.00200667 0 -0 0 0.00401333 0.00100333 0 0 0 0 -0.00501667 0 0 0 0 0.00401333 0 0.00501667 -0 0.00200667 0 0 0 0 0 0.00501667 -0 0 0 0.00301 0 0 0.00301 0 -0.00401333 0.00100333 0 0 0.00802667 0.00200667 0 0 -0.00401333 0 0 0.00301 0.00100333 0 0 0.00401333 -0.00200667 0 0.00200667 0 0 0 0.00401333 0 -0 0.00200667 0.00501667 0.00301 0 0.00903 0 0.00301 -0 0 0.00702333 0.00200667 0 0.00301 0.00100333 0 -0 0 0.00301 0.00702333 0.00100333 0 0.00100333 0.00100333 -0 0.00501667 0 0 0.00301 0.00602 0 0.00301 -0.00200667 0.00401333 0.00100333 0 0 0 0.00301 0.00501667 -0 0 0.00301 0 0.00602 0.00602 0 0 -0.00301 0.0110367 0 0 0 0.00401333 0 0.00301 -0 0.0140467 0.00100333 0 0.00602 0.00301 0.00602 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.00100333 0 0 0.00200667 0.00200667 0 0 -0.00702333 0.00100333 0.0100333 0.00200667 0.00100333 0.00501667 0.00100333 0.00702333 -0 0 0 0.00501667 0 0 0.00501667 0 -0.00401333 0.00200667 0 0.0110367 0.00100333 0 0.00200667 0.00702333 -0.00100333 0 0.00301 0 0.00301 0 0.00200667 0 -0.00702333 0.00200667 0 0.00200667 0 0.00903 0.00501667 0 -0 0.00602 0.00702333 0 0 0 0.00301 0 -0.00200667 0.00501667 0 0 0 0.00401333 0.00200667 0 -0.00401333 0 0.00401333 0.00100333 0.00602 0 0 0.00301 -0.00200667 0 0 0 0 0 0 0.00301 -0 0.00100333 0.00100333 0 0.00501667 0 0 0.00301 -0.00100333 0 0 0 0 0.00100333 0 0 -0 0 0 0.00501667 0 0.00200667 0 0 -0.00602 0 0 0 0 0.00200667 0.00100333 0 -0 0 0 0.00301 0 0 0.00200667 0 -0.00100333 0 0 0 0.00200667 0 0 0 -0 0 0 0 0.00602 0.00100333 0 0 -0.00100333 0.00100333 0 0.00501667 0 0 0 0.00802667 -0 0.00401333 0 0 0.00401333 0 0.00100333 0 -0.0100333 0 0.00602 0 0 0.00702333 0 0.00200667 -0.00200667 0 0.00602 0 0 0 0 0.00100333 -0.00100333 0 0.0110367 0 0 0.00501667 0.00200667 0 -0.00200667 0 0 0.00200667 0.01204 0 0 0.00401333 -0.00301 0.00100333 0 0 0 0.00501667 0 0 -0.00401333 0 0.00401333 0.00401333 0.00100333 0.00501667 0 0.00301 -0.0110367 0 0.00200667 0.00200667 0 0 0.00602 0.00401333 -0.0100333 0.00501667 0 0 0.00200667 0 0 0.00501667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00903 0.00501667 0.00501667 0 0.00200667 0.00200667 0.00903 0 -0 0.00200667 0.00401333 0.00702333 0 0.00100333 0 0.00903 -0.00602 0 0 0.00100333 0 0 0.00401333 0.00200667 -0 0.00602 0.00200667 0 0.00702333 0 0 0.00301 -0.00301 0 0.00200667 0 0.00200667 0 0 0 -0 0.00301 0.00401333 0.00401333 0 0 0.0130433 0.00501667 -0 0 0.00401333 0.00802667 0 0 0.00100333 0.00100333 -0 0.00501667 0.00602 0 0 0 0.00200667 0 -0 0.00301 0.00401333 0 0.00602 0.00702333 0 0 -0 0.00301 0.00200667 0 0 0 0 0.00200667 -0.00200667 0 0.00200667 0.00301 0 0 0.00200667 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00602 0 0 0.00100333 0.00401333 0 0 -0 0 0 0.00702333 0 0.00301 0 0 -0 0.00200667 0 0 0.00200667 0 0.00100333 0 -0 0 0.00200667 0.00100333 0 0 0.00301 0 -0 0.00200667 0 0 0.00100333 0 0 0.00802667 -0 0 0 0 0.00903 0 0.00100333 0.00702333 -0.00200667 0 0 0.00301 0.00501667 0 0 0.00602 -0 0.00501667 0.00200667 0 0 0 0.00802667 0 -0 0.00501667 0.00401333 0 0 0.00602 0 0 -0.00200667 0.00100333 0 0.0100333 0.00100333 0 0 0.0100333 -0.00501667 0 0 0 0.00301 0 0 0.00200667 -0.00100333 0 0.00501667 0 0.00501667 0 0 0.00702333 -0.00100333 0 0.00602 0.00501667 0.00200667 0.00301 0.00301 0.00200667 -0.00501667 0 0 0.00301 0 0 0.00301 0.0130433 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0100333 0.00501667 0.00501667 0 0 0.00100333 0.00802667 -0.00301 0 0 0.00903 0.00602 0 0 0.00200667 -0.00903 0 0 0.00301 0.00200667 0 0 0.00401333 -0 0 0.0100333 0.00301 0 0.00401333 0.00401333 0 -0 0 0.00602 0 0.00401333 0 0.00401333 0 -0.00301 0 0.00200667 0.00602 0.00401333 0 0 0.00702333 -0.00702333 0 0 0.00401333 0.00200667 0 0.00200667 0 -0 0 0.00602 0 0.00702333 0 0 0.00602 -0 0 0.00200667 0 0 0.01204 0.00100333 0 -0 0 0.00401333 0.00200667 0 0.0100333 0 0 -0 0 0.00200667 0.00200667 0.00100333 0 0 0 -0 0.00100333 0 0 0 0 0 0 -0.00200667 0 0.00200667 0 0 0 0 0 -0 0.00200667 0 0.00100333 0 0 0 0 -0 0 0 0.00301 0 0.00100333 0 0 -0 0 0 0 0 0 0.00602 0 -0 0 0 0.00100333 0 0.00802667 0.00200667 0 -0 0.00802667 0 0.00200667 0 0 0 0 -0 0 0 0 0.00802667 0.00100333 0.0130433 0 -0 0 0.00602 0 0 0 0 0.00301 -0.00903 0 0.00200667 0 0 0.00301 0.00301 0 -0.00100333 0 0.0100333 0 0.00802667 0.00200667 0 0 -0.00702333 0 0.00802667 0.00200667 0 0.00401333 0.00602 0.00702333 -0 0 0.0100333 0.00200667 0 0.00501667 0 0.00301 -0 0.00602 0 0.00401333 0 0 0.00903 0 -0 0.00301 0.0100333 0 0 0 0 0 -0 0 0.00501667 0.00301 0 0.00501667 0.00802667 0.00802667 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00702333 -0.00200667 0 0.00501667 0.00903 0.00401333 0 0 0.00501667 -0 0.00401333 0 0 0.00802667 0.0110367 0 0 -0 0.00903 0 0.00301 0 0 0 0 -0.00200667 0.00200667 0 0.00501667 0.00702333 0 0.00401333 0 -0.00401333 0 0 0.00100333 0.00401333 0.00501667 0.00100333 0 -0 0.00401333 0 0.00200667 0.00100333 0 0.00100333 0.00301 -0.0100333 0.00200667 0 0 0 0.00702333 0.00100333 0.00802667 -0 0 0 0.00401333 0.00100333 0 0 0.00100333 -0 0 0.00100333 0 0 0.00401333 0.00702333 0 -0 0 0 0.00602 0 0.00301 0 0 -0 0 0 0.00501667 0.00200667 0 0 0 -0 0 0.00100333 0.00100333 0 0.00301 0 0 -0.00100333 0 0 0 0 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0 0.01806 0 0 -0 0 0.00200667 0 0.00501667 0 0 0.00301 -0 0 0 0 0.00100333 0.0110367 0 0 -0.00401333 0.00401333 0.00401333 0 0 0 0 0.00301 -0 0.00301 0 0.00100333 0 0.00200667 0 0.00200667 -0.00100333 0.00100333 0 0 0.00301 0 0.00702333 0.00100333 -0 0 0 0 0 0.00501667 0.00100333 0 -0 0.00602 0.00200667 0 0 0 0.00100333 0 -0 0 0 0.00702333 0.00301 0.00100333 0.00301 0 -0.00501667 0.00200667 0 0 0.00200667 0 0 0 -0 0.0100333 0.00301 0.00100333 0.00602 0 0.00401333 0.00100333 -0.00602 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00802667 0.00903 -0.0110367 0 0 0 0.00401333 0.00200667 0.00401333 0.00100333 -0.00401333 0.00200667 0 0 0 0.00702333 0.00702333 0 -0.00401333 0.00702333 0 0 0.00401333 0.00301 0 0.00100333 -0 0 0.00100333 0 0.00501667 0.00401333 0 0 -0.00602 0 0 0 0.00200667 0.00100333 0.00702333 0.00401333 -0.00501667 0 0.00100333 0.00702333 0 0 0.00301 0.00200667 -0 0.0100333 0 0 0.00301 0 0 0 -0.00802667 0 0 0.00501667 0 0 0.00100333 0.00200667 -0 0.00100333 0.00602 0 0 0 0.00802667 0 -0 0.00200667 0 0 0.00702333 0 0 0.00301 -0 0 0 0.00100333 0 0.00100333 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0 0.00301 -0 0 0 0 0 0 0 0.00301 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0.00100333 0 0 0 0 -0 0.00100333 0 0 0 0.00702333 0 0 -0 0 0.00401333 0 0.00401333 0 0.00401333 0.00903 -0 0 0.00200667 0 0.0100333 0 0 0.00100333 -0.00200667 0.00100333 0 0 0.00602 0 0 0 -0.00602 0.00100333 0.00903 0 0.00301 0 0 0 -0.00501667 0 0.01204 0 0.00501667 0.00602 0.00200667 0 -0.00100333 0 0 0.00200667 0.00702333 0 0 0 -0.01204 0 0.00501667 0 0 0 0 0.00200667 -0.00401333 0 0.00501667 0 0.00200667 0.00100333 0 0.00401333 -0 0.00401333 0 0.00100333 0 0 0 0.00200667 -0.0110367 0 0.00200667 0 0 0.00802667 0.00301 0.00501667 -0.00100333 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.0110367 0.00200667 0 0.00401333 0.00100333 0 0.00100333 -0 0.00702333 0.00401333 0 0 0.00200667 0.00602 0 -0 0.00100333 0.00903 0.00301 0.00100333 0.00401333 0 0 -0.00501667 0 0 0.00100333 0 0.00903 0 0 -0.00501667 0.00602 0 0.00200667 0.00100333 0 0.00301 0 -0.00501667 0.00602 0 0.00301 0.00301 0 0.00200667 0.00200667 -0.00200667 0 0.00903 0 0.00100333 0.00501667 0.00501667 0 -0 0.00301 0 0 0.00602 0.00100333 0 0 -0.00100333 0 0.00200667 0 0.00100333 0 0 0 -0 0.00301 0 0 0.00501667 0 0 0 -0.00301 0 0 0 0 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0 0 -0 0 0.00602 0 0 0 0 0.00200667 -0.00100333 0 0 0 0.00702333 0 0 0.00401333 -0.00301 0.00100333 0 0.00301 0.00602 0 0 0.00401333 -0.00200667 0 0 0.00602 0 0.00100333 0 0.0100333 -0 0 0 0.00301 0.00401333 0.00501667 0 0 -0.00602 0 0.00401333 0.00100333 0.00602 0.00501667 0 0.00702333 -0 0.00301 0 0 0.00200667 0.00301 0.00602 0.00301 -0 0 0 0.00802667 0.00100333 0 0.01204 0.00200667 -0 0 0 0 0 0.00301 0 0.0110367 -0 0.00200667 0.00200667 0 0.00903 0.00702333 0.00100333 0 -0.00401333 0.00501667 0.01204 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0100333 0.00903 0.00100333 -0 0 0.0100333 0.00702333 0 0.00301 0 0.00301 -0.00100333 0 0.00301 0.00100333 0.00200667 0 0.00903 0.00301 -0.00200667 0.00100333 0 0 0.00401333 0 0.00301 0 -0 0.00702333 0 0.00200667 0 0 0.00802667 0 -0 0.00401333 0.00200667 0 0.00702333 0 0.00903 0 -0 0.00401333 0.00301 0 0.00301 0.00802667 0 0 -0 0.00100333 0.00602 0.00702333 0 0.00401333 0 0.00401333 -0.00100333 0 0.00401333 0 0.00301 0 0.00401333 0 -0 0 0 0 0.00802667 0 0 0.00100333 -0 0 0 0 0 0.00100333 0 0 -0 0 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0 0 0 0 0 -0 0 0 0.01204 0 0 0 0.00702333 -0 0 0.00200667 0.00903 0 0.00301 0 0.00100333 -0.00100333 0 0.00200667 0.00100333 0 0 0.00200667 0.00301 -0 0.00401333 0.00501667 0.00301 0.00401333 0 0 0 -0.00602 0 0.00200667 0.00401333 0.00401333 0 0.00501667 0.00501667 -0 0 0.00401333 0 0.00301 0.00903 0.00200667 0 -0 0.00401333 0.0100333 0 0.00100333 0.00903 0 0 -0 0 0.00301 0 0 0.00802667 0.00602 0.00200667 -0 0 0 0.0100333 0.00602 0 0.00301 0.00401333 -0.00100333 0.00702333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0 0.00301 0.00602 -0.00200667 0 0 0.00702333 0.00401333 0 0.00200667 0 -0.00501667 0.00301 0 0 0.00200667 0 0 0.00702333 -0.00100333 0.00602 0 0 0.00100333 0.00401333 0 0 -0 0 0.00401333 0.00200667 0 0 0 0.00802667 -0 0.00200667 0.00501667 0 0 0.00100333 0.00501667 0.00301 -0.00200667 0 0 0 0 0 0.00501667 0 -0 0 0.00401333 0.00301 0.00301 0 0.00702333 0 -0 0.00501667 0.00501667 0 0.00100333 0 0 0.00401333 -0 0 0 0 0.00903 0.00100333 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00602 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0110367 0.00200667 0 0 0.00602 -0 0 0.00301 0 0 0.00100333 0 0.00301 -0 0 0 0 0 0.00702333 0.00200667 0 -0.00401333 0 0.00401333 0 0 0 0 0.0100333 -0 0.00501667 0.00401333 0.00602 0 0 0.00401333 0 -0 0.00200667 0.00501667 0 0.0140467 0.00401333 0 0 -0.00301 0.00401333 0 0.00702333 0.00802667 0 0 0 -0.00602 0.00301 0 0 0.0130433 0 0.00100333 0.00200667 -0 0 0.00802667 0 0 0.00401333 0.00501667 0.00100333 -0.00301 0 0 0.00802667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00602 0.00301 0 0 -0.00100333 0.00702333 0 0 0.0100333 0 0 0 -0 0.00301 0.01204 0.00100333 0 0 0 0 -0 0.00602 0.00702333 0 0.00301 0 0.00200667 0 -0.00401333 0 0 0.00401333 0.0100333 0 0.00301 0 -0.00602 0 0 0.00401333 0.00200667 0 0.00200667 0.00802667 -0.00100333 0 0.00100333 0 0 0 0 0.00301 -0.00100333 0 0.00301 0 0.00200667 0.00200667 0 0.00501667 -0 0.00301 0 0.00401333 0.00100333 0 0 0 -0 0.00100333 0 0 0 0.00401333 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0 0.00501667 0 0 0 0.00802667 -0 0.00100333 0 0 0 0 0.00100333 0.00200667 -0 0.00501667 0.00903 0 0 0.00301 0 0.00802667 -0 0.00100333 0.00501667 0 0.00501667 0 0.0100333 0.00301 -0 0.00401333 0.00200667 0 0.00100333 0 0.00501667 0 -0.00401333 0.0130433 0.00401333 0 0.00200667 0 0 0 -0.00802667 0 0.00501667 0.00602 0 0 0 0.00602 -0 0 0 0.0100333 0 0.00401333 0.00200667 0 -0 0.00200667 0.00501667 0 0.00501667 0.00501667 0.00100333 0.00100333 -0 0 0.00602 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00602 0.00301 0 0 -0.00100333 0.00200667 0.00501667 0 0 0.0100333 0.00501667 0.00401333 -0 0 0 0.0130433 0 0 0 0 -0.00200667 0 0.00501667 0.00200667 0.00401333 0.00301 0.00301 0.00100333 -0 0 0 0 0 0.00802667 0 0 -0 0 0.00501667 0 0 0.00100333 0 0.00702333 -0.00702333 0 0.00602 0 0.00301 0 0 0.00100333 -0.00200667 0 0.00802667 0 0 0.00200667 0 0 -0 0.00200667 0.00802667 0 0.00200667 0.00401333 0 0 -0 0 0.00200667 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00301 -0 0.00100333 0 0.00501667 0 0 0 0.00200667 -0.00100333 0.00401333 0.00100333 0 0 0.00100333 0 0 -0.00301 0.00301 0 0 0.00301 0.00301 0.00200667 0 -0 0.00100333 0 0.00200667 0 0.00100333 0 0 -0.0160533 0.00501667 0 0.00200667 0.00200667 0 0 0.00301 -0.00100333 0.00301 0.00100333 0.00200667 0 0 0.00903 0 -0 0 0.00301 0 0.00100333 0.00301 0 0 -0.00100333 0.00702333 0 0.00702333 0.00401333 0.00301 0 0 -0 0.00903 0.00802667 0 0.00602 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0140467 0.00100333 0.00602 0.00602 0.00301 -0 0 0 0.00301 0 0 0.00401333 0.00301 -0 0 0 0.00802667 0.00401333 0.00100333 0 0.00100333 -0 0 0 0.00501667 0.00501667 0 0.00903 0 -0.00501667 0 0 0 0 0 0.00501667 0.00501667 -0.00802667 0 0 0.00401333 0 0 0.00501667 0 -0.00401333 0.00100333 0 0 0.00501667 0.00401333 0 0 -0.0110367 0 0 0.01204 0 0 0.00301 0 -0 0.00200667 0 0.00702333 0 0 0.00100333 0 -0 0.00100333 0 0 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00602 0.00301 -0 0.00501667 0.00100333 0 0 0 0 0 -0.00501667 0 0 0 0.00301 0.00100333 0 0.00100333 -0.00501667 0 0.00702333 0.00200667 0.00100333 0.00301 0 0.00903 -0.00602 0 0 0 0.00200667 0 0 0.00501667 -0.0100333 0.00401333 0.00802667 0 0 0.00200667 0 0 -0 0 0.00802667 0.00200667 0.00200667 0 0.00401333 0 -0.00200667 0.00702333 0.00501667 0 0 0 0.00200667 0.00301 -0.00501667 0.00602 0 0.00401333 0 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00702333 0.01204 0.00301 0.00501667 0.00501667 -0.00802667 0 0.00301 0 0 0 0.00200667 0.00100333 -0.00301 0 0 0 0.00501667 0.00501667 0 0 -0 0 0 0 0 0.00702333 0.00802667 0.00301 -0.00501667 0.00501667 0.00100333 0 0 0 0 0 -0.00100333 0.00200667 0.00501667 0.00602 0.00301 0 0 0.00200667 -0.00301 0 0.00100333 0.00200667 0.00100333 0.00903 0 0 -0 0.00702333 0 0 0.0130433 0 0.00100333 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0 0 0 0.00602 -0 0 0 0 0.00301 0.00301 0 0.00301 -0 0.00301 0.00802667 0 0 0.00401333 0.00200667 0.00602 -0 0 0 0 0.00501667 0 0 0.0170567 -0 0.00200667 0.00100333 0 0 0 0 0.00602 -0 0.01204 0.00802667 0 0.00100333 0 0 0 -0.0100333 0.00100333 0 0 0.00200667 0.00200667 0.00100333 0 -0.00602 0 0 0.00100333 0.00501667 0.00602 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0 0 0.00903 0.00802667 0.00602 -0.00100333 0.00100333 0.00301 0.00401333 0.00301 0 0 0 -0.00301 0.00501667 0 0 0 0 0.00903 0 -0 0 0.00200667 0 0 0 0.00200667 0.00702333 -0 0.00301 0.00903 0 0.00301 0 0.00200667 0 -0 0.00501667 0 0.00200667 0.00802667 0 0 0.00200667 -0 0 0.00100333 0 0 0.00301 0.0100333 0 -0.00100333 0 0.00602 0 0 0.00200667 0 0 -0.00702333 0 0 0 0 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.03913 0.101337 0.167557 0.233777 0.306017 0.381267 0.444477 -0.483607 0.519727 0.54481 0.566883 0.56889 0.588957 0.5719 0.55986 -0.545813 0.515713 0.501667 0.447487 0.399327 0.356183 0.287957 0.233777 -0.181603 0.131437 0.08428 0.0461533 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0.00100333 0.00100333 0 0.00200667 0 -0.00100333 0.00100333 0 0 0.00602 0.00702333 0 0 -0.00602 0 0 0 0 0 0.0130433 0 -0.00501667 0 0.00100333 0 0 0.00501667 0.00501667 0.00501667 -0.00602 0.00702333 0 0 0.00602 0 0 0.00401333 -0.00200667 0 0.00200667 0 0.00602 0 0 0.00802667 -0 0 0.00401333 0.00301 0 0.00602 0.0100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.01204 0.00401333 0.00200667 0 0 0.00602 -0.00802667 0.00301 0 0 0 0.00301 0.00401333 0 -0 0.00200667 0.0110367 0 0 0 0 0.00602 -0.00501667 0 0 0.00702333 0 0 0 0.00401333 -0 0 0 0.00200667 0.00100333 0 0 0.00301 -0 0 0.00100333 0.00301 0.00200667 0 0.00100333 0.00702333 -0.01204 0 0 0.00200667 0.00100333 0 0.00401333 0 -0 0.00501667 0 0.00100333 0 0.00200667 0 0 -0 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0411367 0.125417 0.247823 0.417387 0.55384 0.735952 -0.886648 0.955408 0.998292 1.01702 1.04359 1.05265 1.05024 1.05507 -1.05748 1.05386 1.05265 1.05567 1.05567 1.05688 1.0599 1.05205 -1.05809 1.05265 1.06352 1.05688 1.04963 1.05446 1.04842 1.04118 -1.03212 1.01883 0.99044 0.957824 0.887936 0.753984 0.600997 0.465547 -0.30702 0.179597 0.0792633 0.00702333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0 0 0.00100333 0 0 0 0.00100333 0 -0.00200667 0 0.00100333 0 0.00501667 0.00501667 0 0.00501667 -0.00100333 0 0.00200667 0.00100333 0.00100333 0.00602 0.00501667 0 -0 0.00802667 0 0 0 0.00301 0 0.00903 -0 0.00100333 0 0.01204 0 0 0.00602 0 -0 0.00702333 0 0.00301 0 0 0.0140467 0 -0.00301 0.00702333 0 0.00301 0.0110367 0.00602 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00702333 0 0.00702333 0.00602 0.00702333 0.00501667 0 -0.00501667 0.00903 0.00501667 0 0 0 0 0.00100333 -0.00200667 0 0.00501667 0.00401333 0 0 0.00501667 0 -0.00200667 0.00401333 0 0 0.0140467 0 0 0.00702333 -0.00100333 0 0.00702333 0 0.00100333 0.00200667 0.00301 0 -0.00903 0 0 0 0.00100333 0.00100333 0 0 -0.00301 0.00200667 0.00501667 0 0.00501667 0 0.00501667 0.00100333 -0 0.00301 0 0.00903 0 0 0.00200667 0 -0 0 0.00200667 0 0 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.05117 0.164547 0.34314 -0.55083 0.779744 0.9542 1.01339 1.03816 1.0593 1.05628 1.06171 -1.05748 1.05748 1.05567 1.04299 1.05386 1.05205 1.04601 1.05446 -1.05144 1.0442 1.0442 1.04903 1.04782 1.04782 1.0448 1.04903 -1.04359 1.0448 1.04661 1.05628 1.03936 1.05084 1.0454 1.04722 -1.04722 1.05507 1.05748 1.05628 1.05869 1.06232 1.05809 1.05809 -1.05386 1.02124 0.985004 0.902104 0.708904 0.477587 0.283943 0.13244 -0.0220733 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0.00100333 0 0 0 0 -0 0 0.00301 0 0.00301 0 0.00702333 0 -0 0 0 0.00501667 0.0100333 0.00301 0 0.00903 -0 0.00200667 0 0.00301 0.00301 0 0 0.00200667 -0.00802667 0 0 0.00200667 0.0140467 0.00802667 0.00200667 0 -0 0 0 0 0 0.00602 0 0 -0.01204 0.00200667 0.00301 0.00100333 0.00501667 0.0100333 0 0.00501667 -0.00401333 0 0.00501667 0.00501667 0 0.00200667 0 0.00802667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00602 0.00200667 0 0.00401333 0 0.00501667 0.00200667 0.00100333 -0.00200667 0.00200667 0.0110367 0.0110367 0.00702333 0 0 0 -0 0 0 0.0130433 0.00702333 0 0 0 -0 0.00602 0.01204 0 0 0.00602 0 0 -0.00501667 0.00602 0.00301 0.00802667 0 0.00602 0 0.01204 -0 0.00702333 0 0 0.00401333 0 0 0 -0 0 0 0 0 0.00100333 0.00200667 0 -0.00100333 0.00401333 0 0 0.00301 0.00602 0 0 -0 0 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0712367 0.233777 0.468557 0.753984 0.959636 1.01702 1.05326 -1.06171 1.05869 1.05567 1.05507 1.05024 1.05024 1.04299 1.05024 -1.04963 1.04601 1.04782 1.04178 1.04299 1.04057 1.04238 1.04118 -1.03634 1.04178 1.03695 1.03755 1.03876 1.03212 1.03695 1.03876 -1.03574 1.03272 1.03997 1.04057 1.03936 1.04359 1.03755 1.04057 -1.04118 1.04842 1.04118 1.04299 1.0448 1.04238 1.0442 1.05024 -1.04842 1.05205 1.05084 1.0599 1.06654 1.05809 1.05084 1.00675 -0.916272 0.668976 0.39732 0.187623 0.0401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0 0 0 0.00100333 0 0 0 0 -0 0.00200667 0.00100333 0 0.00100333 0.00200667 0 0 -0 0 0.00602 0.00100333 0.00301 0 0 0 -0 0.00602 0 0.00200667 0.00100333 0.00100333 0.00301 0.00401333 -0 0 0.00802667 0.0100333 0.00301 0 0.00100333 0 -0 0 0.00301 0.00200667 0 0.00501667 0 0.0110367 -0 0.00501667 0 0.00301 0 0 0 0.00301 -0 0.00301 0.00100333 0 0.00702333 0.00501667 0.00802667 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00602 0.00401333 0 0.00401333 0.00200667 0.00501667 0.00401333 -0 0 0 0.00702333 0.0130433 0.00702333 0.00602 0 -0 0 0 0 0.00100333 0.00903 0 0.00501667 -0.00602 0 0.00301 0.0100333 0 0 0 0 -0 0.00200667 0 0.00301 0.00501667 0 0 0.00200667 -0.00401333 0.00301 0.00100333 0 0.00200667 0.00301 0 0.00401333 -0.00903 0 0 0 0 0 0.00602 0.00100333 -0 0.00501667 0.00100333 0 0 0.00100333 0 0 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0200667 0.166553 0.414377 -0.72436 0.971716 1.03634 1.0593 1.06111 1.0593 1.05265 1.0454 -1.04722 1.05084 1.04238 1.0448 1.04903 1.03816 1.03876 1.03816 -1.04118 1.03634 1.03936 1.03755 1.03393 1.03574 1.03332 1.03634 -1.03272 1.0291 1.03514 1.02789 1.0303 1.02728 1.02245 1.03212 -1.02789 1.02789 1.03453 1.03091 1.03212 1.03393 1.03514 1.03151 -1.03876 1.04359 1.03091 1.03816 1.04359 1.03453 1.03816 1.03997 -1.04359 1.03453 1.04359 1.04299 1.04238 1.04661 1.05869 1.05628 -1.05809 1.0599 1.05446 1.02064 0.938496 0.687008 0.365213 0.145483 -0.00903 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00301 -0 0 0 0.00200667 0.00200667 0.00301 0 0 -0 0.00100333 0 0 0 0 0.00401333 0.00200667 -0.00100333 0.00702333 0 0 0 0.00602 0 0 -0.00100333 0.0110367 0.00401333 0 0 0 0.00100333 0 -0.00200667 0 0.00602 0 0 0.00100333 0.00301 0 -0 0 0 0.00301 0.00301 0 0.00702333 0.00301 -0.00301 0.00200667 0 0.00401333 0.00401333 0.00100333 0.00200667 0.00200667 -0.00903 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0.00702333 0.00200667 0.00301 0.00301 0 0 0.00100333 0.00100333 -0.00501667 0.00200667 0 0 0 0.0110367 0.00702333 0.00702333 -0 0 0 0 0.00301 0 0 0 -0.00602 0 0.00401333 0.00200667 0.00903 0.00903 0 0 -0 0 0.00200667 0.00802667 0.00602 0 0.00200667 0 -0.00802667 0.00100333 0 0 0 0 0 0 -0.00602 0.00301 0.00301 0 0.00200667 0 0 0 -0 0.00501667 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0250833 0.19866 0.509693 0.881496 1.01702 1.05748 -1.06352 1.05809 1.04661 1.05144 1.0442 1.0442 1.04359 1.03695 -1.04359 1.04178 1.03876 1.03574 1.03634 1.03514 1.03574 1.03453 -1.02849 1.03876 1.03514 1.0297 1.03091 1.02426 1.03151 1.0303 -1.02728 1.02728 1.02668 1.01943 1.02849 1.02366 1.01822 1.02064 -1.02245 1.02245 1.02004 1.01943 1.02728 1.03091 1.0303 1.02849 -1.02668 1.03091 1.02789 1.03514 1.0291 1.03876 1.0303 1.03816 -1.03091 1.03453 1.03332 1.03574 1.03755 1.04118 1.04359 1.04722 -1.04299 1.04842 1.04661 1.05265 1.05567 1.06413 1.05628 1.00916 -0.844144 0.4816 0.194647 0.0220733 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0 -0 0 0 0 0 0 0 0.00401333 -0 0.00100333 0 0.00100333 0 0.00903 0.00401333 0 -0 0 0.00100333 0 0.0130433 0 0 0.00100333 -0 0.00301 0 0 0 0 0.00501667 0 -0 0.00802667 0 0 0.00602 0 0 0.00100333 -0.00903 0 0 0 0 0.01204 0.00501667 0 -0 0.00401333 0.00501667 0.00401333 0 0.00301 0 0.00100333 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00702333 -0.00401333 0.00301 0.00401333 0.00602 0.00100333 0.00200667 0 0.00100333 -0.00200667 0.00200667 0 0.00501667 0.00100333 0 0.00100333 0.00602 -0.00903 0.00200667 0.00301 0 0 0.00802667 0.00200667 0 -0 0.00200667 0 0.00100333 0.00200667 0.00501667 0.00602 0 -0 0 0 0 0.00702333 0.00401333 0.00200667 0.00200667 -0 0.00501667 0.00200667 0 0 0 0.00100333 0.00301 -0 0.00301 0.00301 0.00200667 0 0.00200667 0.00200667 0 -0 0 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.1505 0.480597 0.887936 1.02004 1.05748 1.06413 1.05024 1.04661 -1.05869 1.04057 1.04178 1.03876 1.03695 1.04118 1.03514 1.03816 -1.03816 1.03272 1.03453 1.0303 1.03514 1.0297 1.02728 1.03393 -1.02728 1.02728 1.03332 1.02668 1.02789 1.02547 1.02306 1.02728 -1.02426 1.02426 1.01581 1.01762 1.02124 1.04601 1.06775 1.0876 -1.08795 1.07258 1.03272 1.01822 1.02547 1.02185 1.0291 1.02789 -1.02849 1.02608 1.0303 1.02004 1.03151 1.0297 1.03151 1.0291 -1.03272 1.03453 1.0303 1.03574 1.03514 1.03876 1.03091 1.03272 -1.03574 1.03453 1.03997 1.03876 1.0454 1.04782 1.05084 1.05205 -1.05748 1.05688 1.02608 0.880208 0.488623 0.164547 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0 0 0.00100333 0 0 0 0 -0.00301 0.00401333 0 0 0.00401333 0 0 0 -0.00501667 0.00100333 0.00301 0.00602 0 0 0 0.00702333 -0 0 0 0 0 0.00903 0 0 -0.00802667 0 0 0.00401333 0 0 0.00501667 0.00501667 -0 0 0.00501667 0 0.0110367 0.00200667 0 0 -0.00802667 0.00501667 0 0 0.00501667 0.00301 0.00802667 0.00602 -0.00702333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00501667 0.00401333 -0.00401333 0.00602 0.00301 0.00301 0.00702333 0.00301 0.00501667 0.00100333 -0 0.00501667 0 0 0.00100333 0.00301 0 0 -0.00100333 0.0100333 0.00401333 0.00100333 0 0 0.00301 0.00602 -0.00301 0 0.00903 0 0 0.00702333 0.00702333 0.00802667 -0 0 0 0.00501667 0 0.00501667 0.00200667 0.00702333 -0 0 0 0 0 0 0 0 -0 0.00100333 0 0.00301 0 0 0 0.00200667 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0471567 0.31003 0.74368 -1.00071 1.05869 1.06413 1.05567 1.04359 1.04722 1.03997 1.0297 -1.04601 1.03332 1.03755 1.04178 1.03212 1.0291 1.03212 1.0303 -1.02849 1.03453 1.02849 1.03272 1.02366 1.02366 1.02245 1.0291 -1.02547 1.02306 1.02728 1.0297 1.02366 1.02306 1.02185 1.02245 -1.02064 1.02004 1.01581 1.04722 1.10615 1.13835 1.14709 1.14835 -1.14918 1.15211 1.13135 1.09845 1.04238 1.01762 1.02185 1.03151 -1.02124 1.02245 1.02185 1.01762 1.0297 1.0303 1.02668 1.02366 -1.0297 1.0297 1.02366 1.03212 1.03091 1.03453 1.02728 1.0303 -1.03393 1.03514 1.03816 1.03574 1.03997 1.03755 1.04178 1.0442 -1.04057 1.05144 1.05809 1.0593 1.06171 1.01581 0.805504 0.368223 -0.0772567 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.0100333 0.00200667 -0.00702333 0 0 0.00100333 0.00602 0.00401333 0 0.00200667 -0 0 0 0.00100333 0 0.00401333 0.00602 0.00200667 -0 0.00200667 0 0.00501667 0 0 0 0.0110367 -0 0 0 0 0.00200667 0.00100333 0.00702333 0 -0 0.00602 0.0100333 0.00200667 0.00200667 0 0 0.00602 -0 0 0 0.00802667 0 0.00903 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0 -0 0 0.00401333 0.00702333 0.00501667 0 0.00200667 0.00301 -0.00702333 0 0.00401333 0.00301 0.00200667 0.00401333 0.00602 0 -0 0 0.00501667 0.00903 0 0 0.00200667 0 -0.00401333 0 0 0.00903 0 0 0.00501667 0.00903 -0.00401333 0 0 0 0 0 0.00401333 0.00501667 -0 0.00903 0 0 0 0 0 0 -0.00401333 0 0 0.00702333 0.0110367 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.112373 0.46655 0.925208 1.04118 1.05688 -1.05869 1.04782 1.0448 1.04963 1.03997 1.03695 1.03876 1.0297 -1.03514 1.03272 1.03393 1.03393 1.03091 1.02849 1.02849 1.0297 -1.02728 1.0297 1.02547 1.02426 1.02789 1.02487 1.02004 1.01943 -1.02608 1.01822 1.03393 1.02185 1.02366 1.02185 1.01943 1.01762 -1.02185 1.02064 1.07077 1.1303 1.14751 1.14625 1.145 1.14625 -1.14542 1.14709 1.14185 1.15127 1.12505 1.05326 1.01702 1.02728 -1.01641 1.02004 1.0146 1.02124 1.02608 1.02789 1.02124 1.02487 -1.02185 1.02608 1.02849 1.02306 1.02849 1.02728 1.0303 1.02728 -1.03514 1.02668 1.0297 1.02728 1.03091 1.03332 1.03695 1.03272 -1.03997 1.04118 1.04178 1.04963 1.04601 1.05748 1.06232 1.04903 -0.963864 0.543807 0.170567 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0 0.00702333 0 0 -0 0 0 0.00903 0.00401333 0 0.00301 0 -0 0.00702333 0 0 0.00200667 0 0.00702333 0 -0.00200667 0.00802667 0.00100333 0 0 0 0.00903 0 -0.00100333 0 0 0.00702333 0.00501667 0.00903 0 0.00200667 -0 0.00702333 0.00100333 0 0 0.00200667 0.00501667 0.00100333 -0.00802667 0 0.00802667 0.00401333 0.00301 0 0 0 -0.00401333 0.01505 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00802667 0.00501667 -0 0 0 0 0.00301 0.00802667 0 0 -0 0.00903 0.00301 0 0 0 0.00501667 0.00501667 -0 0.00401333 0 0.00100333 0.00401333 0 0 0 -0.00100333 0.00401333 0 0.00301 0.00501667 0 0 0.00602 -0.00702333 0.00702333 0 0.00401333 0 0 0.00200667 0.00301 -0.00100333 0.00501667 0.00602 0 0.00301 0.00602 0.00200667 0.00100333 -0 0 0 0 0.00401333 0.00602 0 0 -0 0.00200667 0 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.130433 0.552837 0.973528 1.05869 1.05688 1.04842 1.04601 -1.03936 1.04118 1.03332 1.03634 1.03755 1.03393 1.03514 1.03393 -1.02668 1.03151 1.02064 1.02789 1.02668 1.01883 1.02306 1.02366 -1.03091 1.02064 1.02668 1.02306 1.02366 1.02426 1.02366 1.01762 -1.0152 1.02004 1.02426 1.02185 1.01822 1.02185 1.01943 1.02004 -1.0146 1.06171 1.13625 1.14584 1.14325 1.1436 1.1443 1.1408 -1.1422 1.14115 1.13905 1.14876 1.14918 1.1289 1.04299 1.01762 -1.01883 1.01762 1.02547 1.02124 1.0297 1.01943 1.02366 1.0303 -1.01339 1.02608 1.02547 1.02668 1.02608 1.02245 1.0291 1.02849 -1.02487 1.02487 1.0291 1.02849 1.03695 1.03453 1.02608 1.0291 -1.03453 1.03876 1.03393 1.04118 1.04057 1.04661 1.03997 1.04963 -1.05628 1.05628 1.01581 0.701176 0.247823 0.00802667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00802667 0.00802667 0 0 0 0 -0.00301 0.00200667 0 0 0.00301 0.00100333 0 0 -0.00702333 0.00301 0 0 0.00702333 0.00903 0.00100333 0 -0 0.00802667 0.00501667 0.00200667 0 0 0 0.00100333 -0.00501667 0.00100333 0 0.00200667 0.00602 0.00200667 0.00401333 0 -0 0.00501667 0.00401333 0 0.00100333 0.00301 0.00802667 0.00702333 -0.00802667 0.00501667 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00501667 0.00301 0.00301 -0.00602 0.00301 0 0 0 0.00100333 0.00301 0 -0 0 0.00702333 0.01204 0 0 0.00200667 0.00501667 -0.00401333 0 0 0.00301 0.00100333 0 0.00200667 0 -0 0 0 0 0 0 0.00100333 0 -0.00200667 0.00301 0.00702333 0 0 0.00100333 0 0 -0.00501667 0 0.0100333 0 0 0 0 0 -0 0 0 0 0 0.00200667 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.14147 -0.58695 0.989232 1.05809 1.0593 1.05567 1.04903 1.03574 1.04359 -1.03332 1.03876 1.03091 1.0303 1.0291 1.02487 1.0303 1.02728 -1.02668 1.03272 1.02668 1.02487 1.0297 1.01883 1.02185 1.02668 -1.01822 1.02185 1.02366 1.02306 1.02487 1.02547 1.01883 1.02728 -1.01883 1.02728 1.02185 1.01702 1.01581 1.01883 1.02487 1.01641 -1.02728 1.1191 1.14751 1.1422 1.1415 1.14255 1.14115 1.14045 -1.13975 1.13835 1.13835 1.1422 1.14255 1.14255 1.1072 1.01641 -1.01702 1.01943 1.02245 1.02004 1.02185 1.02185 1.01883 1.02608 -1.01883 1.01762 1.02426 1.02426 1.02124 1.01883 1.02668 1.02124 -1.02366 1.02608 1.02547 1.02608 1.0291 1.02426 1.02426 1.0297 -1.03272 1.0297 1.0297 1.03272 1.03393 1.03574 1.04238 1.0442 -1.04661 1.0442 1.05507 1.06473 1.03272 0.792624 0.27391 0.00702333 -0 0 0 0 0 0 0 0 -0 0 0 0.00401333 0 0 0 0 -0.00501667 0.00401333 0.00401333 0 0 0 0 0 -0.00200667 0 0.00401333 0.00903 0.00301 0 0 0.00702333 -0.00401333 0 0 0.00401333 0.00100333 0 0 0.00501667 -0.0130433 0 0 0 0.0100333 0.00301 0 0.00301 -0 0.00100333 0.00702333 0.00100333 0.00903 0.00401333 0 0 -0 0.00100333 0 0 0 0.00501667 0 0 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.00401333 0.00200667 -0.00301 0 0.00301 0.00100333 0 0 0.00301 0.00301 -0.00200667 0 0 0 0.00602 0 0 0.00301 -0.00602 0.00501667 0 0 0 0.00200667 0 0 -0.00100333 0 0 0.00401333 0.00200667 0 0 0 -0 0.00100333 0 0 0 0.00200667 0 0 -0 0 0.00100333 0.00301 0.00100333 0.00200667 0 0.00301 -0.00100333 0 0.00501667 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.106353 0.542803 0.991044 -1.06534 1.05869 1.05144 1.0442 1.04601 1.04722 1.03272 1.03272 -1.0291 1.03091 1.03453 1.0303 1.02849 1.0297 1.02789 1.03091 -1.02306 1.01943 1.02004 1.02185 1.02366 1.01943 1.02064 1.02487 -1.01762 1.02426 1.02426 1.0146 1.02064 1.01943 1.02064 1.02668 -1.02185 1.01943 1.02124 1.02608 1.01943 1.01762 1.02124 1.0146 -1.07198 1.1422 1.1429 1.1415 1.138 1.14115 1.1394 1.13695 -1.1401 1.1373 1.1394 1.1401 1.1443 1.14185 1.13835 1.04903 -1.014 1.02245 1.02245 1.00977 1.01762 1.02004 1.01641 1.01883 -1.02366 1.02124 1.02668 1.02789 1.014 1.02306 1.02124 1.02124 -1.02426 1.02487 1.01943 1.02487 1.03272 1.01581 1.02668 1.0297 -1.02306 1.02366 1.0291 1.0303 1.03332 1.03091 1.0297 1.03634 -1.03212 1.03816 1.0442 1.05144 1.05688 1.06232 1.0303 0.778456 -0.250833 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0 0 0 0.00301 0 0 0.00401333 -0 0.00200667 0.00802667 0.00200667 0 0.00602 0.0100333 0.00702333 -0 0 0.0100333 0 0 0.00100333 0.00903 0.0130433 -0 0 0.00501667 0 0.00200667 0.00702333 0.00501667 0 -0.00903 0.00401333 0 0.00903 0 0 0.00100333 0 -0 0.00100333 0.00100333 0.00100333 0.0100333 0.00200667 0 0.00602 -0 0 0 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.01204 0.00602 0.00200667 0 -0.00602 0.00702333 0 0 0.00501667 0 0.00100333 0.00301 -0 0.00100333 0 0.00200667 0.00200667 0.00200667 0 0.00401333 -0.00702333 0.00301 0 0 0.00200667 0.00100333 0.00200667 0 -0 0.00501667 0.00301 0 0.00501667 0.0100333 0 0 -0 0 0.00301 0.00301 0 0 0 0 -0.00501667 0 0.00200667 0 0.00401333 0 0 0.00200667 -0 0 0.00100333 0 0.00501667 0 0 0.00501667 -0 0 0 0 0 0 0 0 -0 0 0 0.0411367 0.438457 0.965676 1.05507 1.05386 -1.05628 1.05024 1.03634 1.03936 1.03634 1.03272 1.03876 1.02245 -1.02789 1.02426 1.0303 1.02668 1.02547 1.02185 1.02668 1.02124 -1.02789 1.02426 1.02185 1.014 1.02547 1.02064 1.01702 1.02245 -1.02487 1.01822 1.02185 1.02004 1.01702 1.02064 1.01641 1.01883 -1.02004 1.01641 1.02185 1.0146 1.01581 1.01943 1.01702 1.0146 -1.10335 1.1436 1.1401 1.14045 1.1415 1.13695 1.1387 1.1359 -1.13695 1.13625 1.1387 1.1366 1.14325 1.1436 1.14115 1.08375 -1.01762 1.01883 1.02608 1.01702 1.02366 1.01158 1.02728 1.01702 -1.02306 1.01822 1.02245 1.02306 1.02124 1.01822 1.01883 1.02306 -1.02004 1.02426 1.02306 1.02547 1.02004 1.02547 1.02245 1.02245 -1.02185 1.02789 1.02547 1.0303 1.01943 1.02245 1.03151 1.03332 -1.0303 1.03151 1.04359 1.03876 1.04842 1.03936 1.05326 1.06292 -1.02245 0.677992 0.164547 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0.00301 0 0 0.00702333 0.00702333 0.00802667 0 -0 0.00802667 0 0 0 0.00401333 0.0100333 0 -0 0.00301 0 0.0100333 0.00501667 0 0 0 -0 0 0.00301 0 0 0.00301 0 0 -0.00602 0.00501667 0.00501667 0.0100333 0 0 0.00602 0.00602 -0 0 0.00301 0.00702333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00501667 0.00602 0.00802667 0.00702333 -0 0 0.00602 0.00602 0.00100333 0.00100333 0 0 -0.00501667 0.00100333 0 0 0.00200667 0 0 0.00100333 -0.00100333 0.00401333 0.01204 0 0.00100333 0.00401333 0.00401333 0 -0.00301 0 0 0 0 0.00301 0.01204 0.0100333 -0.00100333 0 0.00100333 0 0 0 0 0 -0 0 0.00200667 0 0 0.00301 0 0 -0.00401333 0 0.00200667 0 0.00100333 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0.272907 0.87248 1.05024 1.06292 1.05265 1.04722 -1.03695 1.04118 1.03272 1.03212 1.03453 1.02668 1.03272 1.02849 -1.02426 1.02366 1.02124 1.02124 1.02366 1.02608 1.02366 1.02366 -1.02245 1.02487 1.02306 1.02245 1.02064 1.02245 1.02004 1.01762 -1.01581 1.02185 1.01641 1.01822 1.02004 1.02366 1.02306 1.02245 -1.02124 1.01822 1.01702 1.02306 1.0146 1.01581 1.01943 1.01641 -1.12015 1.1422 1.1394 1.14045 1.1359 1.138 1.1387 1.1359 -1.13555 1.13625 1.138 1.14185 1.14395 1.14465 1.14185 1.10405 -1.01822 1.02185 1.01883 1.01641 1.01762 1.02185 1.02124 1.02064 -1.02064 1.02306 1.02306 1.01822 1.01943 1.01641 1.02185 1.02004 -1.02245 1.02789 1.02245 1.02366 1.01822 1.02668 1.02064 1.0152 -1.02426 1.02668 1.02426 1.01883 1.02306 1.0297 1.02668 1.02668 -1.02487 1.02789 1.03091 1.03574 1.03574 1.03816 1.04782 1.05326 -1.05688 1.05567 0.992252 0.507687 0.06923 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0.00802667 0.00702333 0.00200667 0 0 -0 0 0.00100333 0.00200667 0.00702333 0.00301 0 0 -0.00602 0.00100333 0 0.00401333 0 0 0 0.00602 -0.00501667 0 0 0 0.00100333 0 0 0.00501667 -0.00702333 0.00401333 0.00200667 0 0.00100333 0.00702333 0.00802667 0 -0 0.00401333 0.00602 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0100333 0.00401333 0.00200667 0.00702333 -0.01204 0.00401333 0 0 0 0.00501667 0 0.00100333 -0.00200667 0.00501667 0.00903 0 0 0.00200667 0.00200667 0 -0 0.00401333 0 0.0110367 0.00200667 0.00401333 0.0100333 0.00702333 -0.00401333 0.00200667 0.00903 0 0 0 0.00301 0.00501667 -0.0100333 0.0110367 0.00200667 0.00903 0 0.00401333 0 0.00401333 -0 0 0.00100333 0 0 0 0.00301 0 -0.00301 0.00602 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.100333 0.605864 1.02728 1.05869 1.04903 1.04238 1.04359 1.04178 -1.04057 1.02608 1.03091 1.02245 1.03212 1.03091 1.02245 1.02185 -1.02789 1.02245 1.01822 1.02306 1.02064 1.02124 1.02064 1.02245 -1.01641 1.02306 1.01943 1.02366 1.01883 1.02245 1.02245 1.02185 -1.01883 1.02004 1.02064 1.02004 1.01883 1.0146 1.01762 1.02064 -1.02245 1.0152 1.02366 1.02487 1.01702 1.01218 1.0152 1.02306 -1.12505 1.14395 1.14185 1.13905 1.13835 1.1387 1.14045 1.13835 -1.13695 1.1373 1.1345 1.14185 1.13625 1.13765 1.14709 1.1072 -1.01581 1.01822 1.01218 1.02004 1.02064 1.01641 1.01822 1.02306 -1.01883 1.02064 1.01883 1.01822 1.02728 1.01762 1.02306 1.014 -1.02608 1.02064 1.0146 1.01943 1.02064 1.02004 1.02004 1.02245 -1.02426 1.02306 1.02124 1.01883 1.02366 1.02366 1.02306 1.02668 -1.02728 1.02245 1.03755 1.03091 1.02728 1.03816 1.03755 1.04057 -1.03936 1.05024 1.05326 1.05265 0.926416 0.32508 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0.00200667 0.00602 0.00200667 0 0 0 0 -0.00100333 0.00501667 0.00100333 0.00100333 0 0 0 0.00401333 -0 0 0.00200667 0 0.00301 0 0.00501667 0 -0 0 0.00200667 0.00301 0.00301 0 0 0.00100333 -0.00200667 0.00100333 0.00100333 0 0.00702333 0 0 0 -0 0.00100333 0 0.00702333 0.00702333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0 0.00401333 0.00702333 0 -0 0.00401333 0.00602 0 0 0 0.00501667 0.00200667 -0 0.00401333 0 0.00802667 0.00301 0 0 0 -0 0 0.00301 0 0 0 0 0 -0.01204 0.00401333 0 0.00602 0.00501667 0.00200667 0 0 -0 0 0.00301 0.00100333 0.00903 0 0.00903 0 -0 0.00301 0 0 0.00802667 0 0 0 -0 0 0.00602 0 0 0 0 0 -0 0 0 0 0 0 0 0.335113 -0.946348 1.05748 1.0593 1.04722 1.04661 1.03574 1.0297 1.02789 -1.03695 1.03514 1.02004 1.03514 1.02728 1.02849 1.0291 1.02487 -1.02124 1.02306 1.01883 1.02245 1.02487 1.02245 1.0152 1.02004 -1.02124 1.01883 1.01702 1.01581 1.0146 1.01883 1.02487 1.01883 -1.01943 1.02185 1.0146 1.01762 1.02004 1.02004 1.01581 1.01581 -1.0146 1.02426 1.0146 1.02608 1.0146 1.0152 1.01702 1.02004 -1.1205 1.1429 1.1415 1.1415 1.1387 1.13835 1.13975 1.13625 -1.1373 1.13905 1.13905 1.13695 1.1401 1.1415 1.1422 1.10615 -1.014 1.01641 1.0146 1.01762 1.0146 1.01943 1.02004 1.014 -1.02004 1.02124 1.0146 1.02185 1.01943 1.01762 1.01339 1.02124 -1.02185 1.01943 1.01641 1.01822 1.02245 1.02366 1.0152 1.02426 -1.02306 1.02185 1.02366 1.02004 1.02064 1.01702 1.03272 1.02668 -1.02426 1.02426 1.02487 1.02487 1.03393 1.03151 1.0291 1.0297 -1.0454 1.04118 1.03997 1.05809 1.06715 1.0297 0.680568 0.134447 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0100333 0 0 0 -0.00301 0.00100333 0 0 0 0 0.00100333 0.00602 -0.00501667 0.00301 0.00602 0 0 0.00401333 0.00100333 0 -0.0100333 0.00200667 0.00401333 0.00100333 0 0.00702333 0 0 -0.00100333 0.0100333 0 0 0.00200667 0.00501667 0 0.00702333 -0.00501667 0.00200667 0.00100333 0 0 0 0.00200667 0 -0.00301 0 0.00301 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0140467 0.00100333 0.00200667 0.00301 0.0100333 -0.00903 0.00200667 0.00602 0.00702333 0 0 0 0 -0 0 0.00200667 0.00301 0 0.00100333 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0.00903 0.00200667 0 0 0.00401333 0 0.00802667 -0 0 0.00401333 0.00802667 0 0 0.00401333 0.01204 -0 0 0 0 0.00602 0.00401333 0 0 -0.00501667 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0.0792633 0.617456 1.0297 -1.06232 1.05084 1.04299 1.03634 1.03332 1.03574 1.02306 1.02426 -1.02728 1.03212 1.02306 1.02004 1.0291 1.01581 1.02306 1.02789 -1.01883 1.01943 1.01641 1.01822 1.01943 1.02547 1.02728 1.02185 -1.02124 1.01762 1.02185 1.01762 1.02366 1.01943 1.02064 1.01822 -1.01943 1.02064 1.02124 1.01641 1.02426 1.0303 1.01943 1.01702 -1.014 1.01943 1.01339 1.02306 1.02004 1.01641 1.01279 1.02004 -1.1023 1.14325 1.1394 1.1401 1.1387 1.1415 1.138 1.1394 -1.13625 1.13485 1.1387 1.1331 1.14185 1.1443 1.1422 1.08025 -1.00916 1.01218 1.01822 1.01943 1.02064 1.01702 1.01702 1.01822 -1.02064 1.01218 1.01762 1.01702 1.00916 1.0291 1.01279 1.02064 -1.02487 1.0146 1.02306 1.02185 1.02306 1.0152 1.02004 1.02306 -1.01762 1.02306 1.01581 1.02487 1.02185 1.02124 1.01883 1.02064 -1.02366 1.02245 1.02306 1.03091 1.02608 1.0291 1.02668 1.0303 -1.03393 1.03755 1.03574 1.05084 1.03997 1.05084 1.05869 0.966884 -0.374243 0.00501667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0 0 0.00100333 0.00903 0 -0 0.00802667 0 0 0.00200667 0.00802667 0 0 -0 0 0.00100333 0 0.00501667 0 0 0 -0.00702333 0 0 0 0 0 0.00802667 0.00501667 -0 0 0 0.00301 0 0.00100333 0 0 -0.00401333 0.00602 0.00702333 0.00401333 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00602 0.00602 0 0 0 -0.00602 0.00702333 0 0.00100333 0 0.00301 0 0 -0 0.00100333 0 0 0.00602 0.00200667 0 0.00100333 -0 0 0.00401333 0 0.00401333 0 0.00401333 0 -0 0 0.00702333 0.00501667 0 0 0.00100333 0 -0.00602 0 0.00100333 0.00100333 0 0 0 0.00401333 -0.00602 0 0.00100333 0 0 0.00301 0 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0.245817 0.905968 1.0599 1.05809 -1.04963 1.05628 1.04299 1.03755 1.03091 1.03514 1.03393 1.02426 -1.02124 1.02487 1.02849 1.01822 1.02728 1.02064 1.02728 1.01581 -1.02245 1.01581 1.02185 1.02004 1.01339 1.01581 1.01883 1.01702 -1.02547 1.01158 1.02366 1.0146 1.02426 1.02185 1.01279 1.01822 -1.01702 1.01581 1.01581 1.01883 1.02004 1.02487 1.02366 1.01883 -1.01943 1.01581 1.02185 1.014 1.02064 1.01279 1.01218 1.01098 -1.06715 1.1394 1.1443 1.1366 1.13835 1.14115 1.1359 1.1366 -1.13765 1.1345 1.1408 1.138 1.13905 1.14584 1.1338 1.03574 -1.00856 1.02185 1.01581 1.02004 1.01883 1.0146 1.02004 1.02185 -1.02245 1.01762 1.01762 1.02366 1.01822 1.02185 1.02668 1.01702 -1.01822 1.0146 1.02366 1.01762 1.02064 1.0146 1.02849 1.01762 -1.01641 1.02064 1.02124 1.02789 1.02185 1.02426 1.02004 1.02366 -1.02245 1.0152 1.02245 1.02366 1.02064 1.02185 1.02608 1.02245 -1.02366 1.03574 1.0297 1.03272 1.03816 1.05144 1.05084 1.05628 -1.03332 0.658672 0.0943133 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00200667 -0 0 0.00501667 0 0 0 0 0.00501667 -0.00501667 0 0 0 0.0100333 0.00100333 0 0.00401333 -0.00200667 0.00401333 0.00401333 0 0 0 0.00501667 0 -0 0 0.00100333 0 0 0.00802667 0.00501667 0 -0 0.00301 0.00501667 0 0 0 0 0.0100333 -0.00401333 0.00301 0 0.00200667 0.00802667 0.00602 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0.00903 0.00702333 0.00100333 0 -0 0.00200667 0.00501667 0.00903 0.0100333 0.00200667 0.00100333 0 -0.00200667 0.00501667 0.00802667 0.00301 0 0.00802667 0.00602 0.00903 -0.00401333 0 0 0.00802667 0.00100333 0.00702333 0 0.00100333 -0.00200667 0 0 0 0.00702333 0 0 0 -0 0 0 0.00301 0.0110367 0.00602 0 0 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00301 0.43043 1.00494 1.0593 1.05144 1.04782 -1.03634 1.03997 1.03453 1.03695 1.02789 1.0291 1.03272 1.02789 -1.02185 1.02245 1.02124 1.01702 1.01762 1.02426 1.01581 1.02608 -1.02849 1.02004 1.01641 1.02487 1.01943 1.0152 1.02426 1.02245 -1.02004 1.02004 1.0146 1.01762 1.02064 1.01883 1.02245 1.02306 -1.01943 1.02185 1.01883 1.02487 1.01641 1.01339 1.02668 1.014 -1.02124 1.01822 1.02185 1.01641 1.02064 1.01098 1.01943 1.014 -1.02004 1.11455 1.14793 1.13695 1.14751 1.14255 1.1338 1.1373 -1.13415 1.13485 1.14185 1.138 1.13835 1.14667 1.0953 1.01098 -1.00735 1.014 1.01943 1.01581 1.02064 1.01822 1.01822 1.01581 -1.02124 1.01822 1.02185 1.01883 1.02245 1.02124 1.01822 1.01641 -1.0146 1.02668 1.02245 1.01158 1.02004 1.02789 1.01581 1.01641 -1.01822 1.02487 1.01822 1.02185 1.02185 1.01822 1.01762 1.02366 -1.02064 1.02064 1.0297 1.02849 1.02487 1.02124 1.02426 1.01943 -1.02728 1.0297 1.02849 1.03091 1.03755 1.03936 1.03816 1.04359 -1.05628 1.0599 0.924 0.24381 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0 0 0.00301 0.00802667 0.00301 -0 0 0 0 0.00200667 0 0.00200667 0 -0 0 0 0 0.00301 0.00301 0 0 -0.00401333 0.00301 0 0.00401333 0.00702333 0 0 0 -0 0.00100333 0 0 0 0.00903 0.01204 0.00200667 -0 0 0.00200667 0.00602 0.00602 0.00301 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0.00100333 0 0.00301 0.00602 0.00602 -0.00301 0 0.00100333 0.00200667 0.00100333 0.00602 0 0.00200667 -0 0 0 0 0.00401333 0 0 0.00602 -0.00501667 0.00401333 0 0 0 0 0.00100333 0.0100333 -0.00501667 0 0 0.00301 0.00602 0.00301 0 0.00602 -0 0.00602 0.00100333 0 0 0 0.0110367 0.00100333 -0 0.00702333 0 0 0 0.00200667 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0.0461533 0.623896 1.03634 1.06292 1.05205 1.04299 1.03634 -1.03755 1.02124 1.03695 1.0297 1.02789 1.01641 1.0291 1.02789 -1.02789 1.02608 1.02185 1.01702 1.01883 1.02306 1.02124 1.0146 -1.02426 1.02426 1.01822 1.01943 1.02306 1.02004 1.01822 1.02124 -1.0146 1.02547 1.02004 1.02185 1.01702 1.01702 1.0152 1.0152 -1.02004 1.02064 1.01339 1.02245 1.02185 1.01641 1.01943 1.02306 -1.02064 1.01883 1.01883 1.01702 1.01279 1.0146 1.02064 1.01098 -1.01581 1.0448 1.1275 1.1422 1.14115 1.1373 1.14045 1.1422 -1.1373 1.14045 1.138 1.14751 1.145 1.11665 1.02547 1.01581 -1.014 1.0152 1.0146 1.01581 1.02064 1.01762 1.0152 1.02124 -1.01702 1.02064 1.02668 1.01279 1.02245 1.02426 1.01641 1.01037 -1.02306 1.0146 1.0146 1.01822 1.02547 1.01883 1.01883 1.0146 -1.02124 1.02426 1.01702 1.02306 1.02124 1.02064 1.02124 1.02426 -1.01218 1.02849 1.02124 1.02064 1.01883 1.02185 1.02608 1.02124 -1.02668 1.02789 1.02426 1.0297 1.03091 1.03212 1.03393 1.03695 -1.05084 1.05748 1.05567 0.995272 0.38528 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00802667 0 0 0.00301 0.00602 0 0 -0.00100333 0 0 0.00802667 0.00501667 0.00401333 0.00501667 0 -0.00903 0 0 0.00501667 0 0 0.00200667 0.00702333 -0.00200667 0.00200667 0.00501667 0.00401333 0 0.00200667 0.00100333 0 -0.00401333 0 0.00200667 0 0.00702333 0.00501667 0 0 -0.00602 0.00401333 0.00301 0 0.00100333 0.00702333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0 0.00100333 0.00100333 -0.00100333 0.00100333 0 0.00100333 0 0.00200667 0.00501667 0.00301 -0.00100333 0.00100333 0 0 0 0.00501667 0 0 -0.00200667 0.00802667 0.00903 0.00602 0.00100333 0 0 0 -0 0.00602 0.00200667 0 0.00401333 0 0.00501667 0 -0 0.00903 0.00100333 0.00301 0 0 0 0.00602 -0 0 0.00702333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.103343 0.761712 1.05628 1.05507 1.04118 1.04238 1.03574 1.03151 -1.03574 1.0297 1.01581 1.02547 1.02668 1.02306 1.01218 1.01883 -1.02487 1.0297 1.02487 1.02487 1.01641 1.02004 1.02245 1.01822 -1.02185 1.02668 1.01943 1.01883 1.01762 1.02366 1.01158 1.01883 -1.0146 1.02124 1.01641 1.02004 1.02124 1.01762 1.02668 1.01762 -1.0152 1.01702 1.01883 1.01702 1.01702 1.02366 1.0146 1.02245 -1.0146 1.02064 1.0146 1.02124 1.02124 1.01702 1.02004 1.01158 -1.0152 1.01641 1.05809 1.12435 1.14115 1.13975 1.14465 1.14255 -1.13975 1.1429 1.1415 1.14835 1.1149 1.03151 1.01158 1.0146 -1.01822 1.01702 1.01762 1.02004 1.02185 1.01822 1.01641 1.01943 -1.01581 1.02185 1.02185 1.01218 1.01943 1.01883 1.01762 1.01339 -1.02366 1.02064 1.01883 1.02426 1.02487 1.01762 1.01943 1.02004 -1.02487 1.02487 1.01762 1.02124 1.01883 1.02124 1.02064 1.01581 -1.01762 1.02124 1.02004 1.02124 1.0146 1.01883 1.02004 1.02245 -1.02064 1.01883 1.02004 1.0303 1.03453 1.02849 1.02849 1.03272 -1.04903 1.03816 1.04601 1.05507 1.0297 0.545813 0.02107 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0 0.00100333 0.00501667 0 -0.00200667 0 0.00301 0.00501667 0.00501667 0 0 0.00501667 -0 0 0.00100333 0 0.00501667 0.0110367 0 0.00602 -0.00100333 0.00301 0 0 0.00501667 0.00401333 0 0.00802667 -0 0.00301 0.00301 0.00301 0.00501667 0 0 0.00903 -0.00401333 0 0.00401333 0.0130433 0.00903 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0.00702333 0.00802667 0.00100333 0 0.00501667 0.00100333 0 -0.00301 0.00100333 0.00301 0.00200667 0.00200667 0.00702333 0.00903 0.00401333 -0.00501667 0.01204 0.00100333 0 0 0 0.00903 0 -0 0 0 0 0.00602 0.00501667 0 0 -0 0.00602 0.00501667 0 0 0.00401333 0 0.00200667 -0 0 0 0.00200667 0.00501667 0.00100333 0 0 -0 0 0 0.00802667 0 0 0 0 -0 0 0 0 0 0 0 0.158527 -0.88536 1.05809 1.04661 1.0454 1.04299 1.03634 1.02728 1.03453 -1.03151 1.03091 1.0303 1.02185 1.02547 1.0297 1.02124 1.01702 -1.01762 1.02306 1.01883 1.02487 1.01822 1.01883 1.01702 1.02849 -1.01883 1.02306 1.01943 1.02547 1.01098 1.02728 1.02366 1.01822 -1.02245 1.01943 1.01762 1.02124 1.02004 1.01822 1.02547 1.0152 -1.01822 1.02245 1.01822 1.02185 1.014 1.01822 1.02366 1.014 -1.02487 1.02064 1.02064 1.01762 1.02124 1.01943 1.01641 1.0146 -1.014 1.01943 1.01158 1.04359 1.0918 1.12715 1.1394 1.14395 -1.1401 1.145 1.12365 1.08655 1.01762 1.01279 1.01279 1.01702 -1.01762 1.01218 1.01822 1.01762 1.01762 1.01339 1.01822 1.01339 -1.014 1.02004 1.02608 1.01762 1.01822 1.02366 1.01822 1.02124 -1.02366 1.01762 1.02366 1.02185 1.01822 1.01943 1.01218 1.02064 -1.02366 1.01641 1.01883 1.01762 1.02366 1.01943 1.01279 1.01883 -1.02064 1.02608 1.02426 1.02366 1.02185 1.01762 1.02064 1.02487 -1.01943 1.02547 1.02608 1.02668 1.02426 1.02366 1.02789 1.02789 -1.03755 1.03574 1.03997 1.04661 1.05386 1.04722 0.645792 0.0561867 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00602 0.00200667 0 0.00401333 0 0 0 0 -0 0.00100333 0 0.00602 0.00501667 0 0.00802667 0 -0 0 0.00401333 0.00100333 0 0 0.00301 0 -0 0.00501667 0.00401333 0.00301 0 0 0.00802667 0.00301 -0.00301 0.00602 0.00501667 0 0 0.00100333 0.00602 0 -0 0 0 0 0 0 0 0 -0 0.00702333 0.00401333 0.00501667 0 0 0.00301 0.00301 -0 0 0 0 0 0 0 0.00602 -0.00501667 0 0.00702333 0.0110367 0.00100333 0 0 0 -0.00100333 0.00401333 0 0 0 0.00200667 0.00702333 0 -0 0 0 0 0.00401333 0 0 0 -0 0 0 0 0 0 0 0.00802667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.18662 0.93306 -1.0593 1.05144 1.04118 1.03332 1.03634 1.03212 1.02668 1.02185 -1.01943 1.02426 1.02245 1.02245 1.0146 1.03151 1.02426 1.02004 -1.01822 1.0297 1.02306 1.02849 1.02185 1.02306 1.02185 1.01218 -1.02728 1.01581 1.01641 1.02487 1.02004 1.01581 1.02306 1.01098 -1.01943 1.02245 1.02547 1.01883 1.01822 1.02064 1.01822 1.02185 -1.01702 1.02064 1.02668 1.01943 1.02064 1.01822 1.02124 1.01883 -1.02185 1.02124 1.02185 1.01883 1.01098 1.0291 1.01279 1.02004 -1.02487 1.01702 1.00916 1.01883 1.01218 1.02487 1.05809 1.06715 -1.07138 1.04782 1.0291 1.00977 1.01279 1.01641 1.01581 1.01279 -1.01641 1.02004 1.014 1.02004 1.02608 1.01339 1.02185 1.01883 -1.01883 1.02426 1.02487 1.02487 1.02004 1.01279 1.02608 1.01822 -1.00977 1.02124 1.02487 1.014 1.01641 1.0152 1.02306 1.02064 -1.01098 1.0146 1.02064 1.02487 1.01581 1.02366 1.01762 1.02004 -1.02487 1.02426 1.01883 1.0291 1.01641 1.02185 1.02608 1.02306 -1.02547 1.02245 1.02185 1.0297 1.02064 1.02547 1.02366 1.03151 -1.03272 1.03212 1.03453 1.04299 1.04238 1.05386 1.04299 0.738528 -0.0792633 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0.00401333 0 0 0.00401333 0 0 0.0130433 0.00501667 -0.00602 0.00501667 0.00802667 0.00702333 0 0 0 0 -0 0 0 0 0.00301 0 0 0.0100333 -0.0100333 0 0 0 0 0.00702333 0.00200667 0 -0.00501667 0.00903 0.00501667 0 0.00200667 0.00301 0.00802667 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0.00501667 0.00301 0.00602 0.00200667 0.00200667 0.00200667 -0.00200667 0.00200667 0 0 0 0.00501667 0 0 -0 0.00301 0.00100333 0 0.00501667 0.00301 0 0.00401333 -0 0 0.00602 0.0130433 0 0 0.00100333 0.00301 -0.00200667 0 0 0.00401333 0 0 0 0 -0 0.00301 0.00501667 0 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.208693 0.945744 1.0599 -1.05205 1.04057 1.0454 1.02608 1.02849 1.03151 1.0291 1.0291 -1.02487 1.02608 1.02245 1.02547 1.01883 1.01822 1.02789 1.02366 -1.01581 1.01641 1.02185 1.014 1.01339 0.995272 1.00131 0.995876 -1.00373 1.02124 1.01702 1.02064 1.02547 1.01581 1.01943 1.02004 -1.01702 1.01581 1.02426 1.01702 1.02366 1.02004 1.02124 1.0146 -1.02245 1.01702 1.02185 1.01762 1.01702 1.0152 1.01581 1.01883 -1.02245 1.01762 1.01762 1.02004 1.01822 1.01641 1.01279 1.01037 -1.02426 1.00796 1.02124 1.01641 1.01702 1.00916 1.014 1.01218 -1.01339 1.00977 1.01641 1.0146 1.01158 1.01581 1.01883 1.01702 -1.01943 1.02306 1.01581 1.01339 1.02185 1.02124 1.01218 1.01702 -1.02124 1.01883 1.01762 1.02487 1.01762 1.01762 1.02245 1.01822 -1.02487 1.02366 1.01218 1.01641 1.02487 1.01883 1.02306 1.02245 -1.00977 1.02245 1.02306 1.02306 1.01762 1.01883 1.02124 1.014 -1.02004 1.00856 1.02004 1.02608 1.0146 1.02245 1.01641 1.02124 -1.01943 1.01581 1.01641 1.02004 1.02306 1.03091 1.02245 1.02789 -1.02849 1.02668 1.0297 1.03332 1.03816 1.04601 1.04782 1.06292 -0.810656 0.0983267 0 0 0 0 0 0 -0 0 0 0.00200667 0.00401333 0 0 0.01204 -0.00100333 0 0 0 0.00301 0.00802667 0.00401333 0 -0 0 0 0 0 0 0 0.0100333 -0.00401333 0.00401333 0.00100333 0.00802667 0 0.00200667 0.00501667 0 -0 0 0 0.00301 0.0100333 0.00401333 0.00401333 0.00602 -0.00802667 0 0 0 0.00100333 0.00301 0 0 -0 0 0 0 0 0 0 0 -0 0.00702333 0.00200667 0 0 0.00200667 0 0.00301 -0.00100333 0.00301 0.00802667 0.0100333 0.00200667 0 0.00702333 0.00501667 -0 0 0.00301 0.00501667 0 0 0.00401333 0.00301 -0.00301 0 0 0.00301 0.0110367 0.00401333 0 0 -0 0.00903 0 0.00301 0 0.00903 0.0140467 0.00200667 -0.00100333 0 0 0 0.00200667 0 0 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0.202673 0.95722 1.0599 1.05386 -1.0442 1.04178 1.03634 1.02849 1.01943 1.02728 1.03091 1.02124 -1.02124 1.02124 1.01822 1.02426 1.01762 1.01822 1.0152 1.0297 -1.02185 1.00735 1.00131 0.985608 0.989836 0.991648 0.99346 0.995272 -0.99346 0.991648 1.00675 1.01339 1.02306 1.02849 1.01943 1.02004 -1.0146 1.01581 1.01702 1.02306 1.01641 1.0146 1.0152 1.02487 -1.01822 1.02608 1.01943 1.02064 1.02245 1.02124 1.01339 1.01581 -1.02306 1.01339 1.0152 1.01822 1.01641 1.01943 1.01702 1.0146 -1.02004 1.00977 1.02004 1.01279 1.02064 1.01098 1.01037 1.01641 -1.01581 1.01218 1.01581 1.01762 1.0146 1.02185 1.01822 1.02124 -1.0152 1.02245 1.0146 1.01581 1.02004 1.02004 1.01822 1.01883 -1.0152 1.01098 1.02124 1.01158 1.02547 1.02064 1.01762 1.014 -1.02124 1.02124 1.02004 1.01822 1.01581 1.01702 1.02004 1.02124 -1.01762 1.02064 1.02124 1.02245 1.01037 1.01218 1.0001 0.9995 -0.995272 0.99648 0.995272 0.994668 1.00494 1.01762 1.02064 1.02547 -1.01822 1.02004 1.01641 1.01943 1.02426 1.02547 1.0152 1.02004 -1.02245 1.02728 1.0291 1.0297 1.0303 1.03755 1.04661 1.05144 -1.06232 0.804216 0.0923067 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00200667 -0 0 0.00602 0 0 0.00301 0 0 -0 0 0 0 0.00200667 0 0.00501667 0.00401333 -0 0 0.00702333 0.00100333 0.00401333 0 0 0 -0.00301 0.0100333 0.00100333 0 0 0 0 0 -0 0 0 0 0.00200667 0.00401333 0.00702333 0.00802667 -0 0 0 0 0 0 0 0 -0.00602 0.00602 0.00602 0.00602 0.00200667 0.00401333 0 0.00200667 -0.00301 0 0 0 0 0.00301 0 0 -0 0 0 0 0 0 0 0 -0.00702333 0.00602 0.00501667 0 0 0 0.00301 0.00401333 -0.00100333 0 0.00100333 0 0.0110367 0 0.00100333 0 -0.00301 0.00301 0 0 0 0.00200667 0 0 -0 0.00301 0 0 0 0 0 0 -0 0 0 0.175583 0.945744 1.06292 1.04903 1.04601 -1.04118 1.03514 1.03755 1.02668 1.02728 1.01883 1.01883 1.02185 -1.01943 1.02608 1.02426 1.01822 1.02124 1.02608 1.02064 1.01641 -1.01098 0.997084 0.99346 0.989836 0.988628 0.99346 0.988024 0.988628 -0.995876 0.98742 0.989836 1.00494 1.01279 1.01641 1.02124 1.01883 -1.02608 1.02004 1.01702 1.01702 1.0152 1.02547 1.02245 1.02124 -1.02064 1.02366 1.01943 1.02306 1.02789 1.02306 1.01762 1.01702 -1.02124 1.02426 1.02245 1.01762 1.0146 1.01702 1.0146 1.0291 -1.01279 1.01279 1.01581 1.014 1.01339 1.0146 1.01581 1.01037 -1.01762 1.01218 1.01943 1.01702 1.01702 1.01581 1.01581 1.02064 -1.0152 1.01883 1.02064 1.02668 1.01702 1.0152 1.02426 1.02366 -1.0152 1.01883 1.02124 1.01702 1.02306 1.02004 1.014 1.02185 -1.02487 1.02668 1.01702 1.01762 1.01883 1.03212 1.01943 1.02185 -1.01822 1.01641 1.01762 1.0152 0.991044 0.989232 0.992252 0.994668 -0.99044 0.989232 0.985608 0.992252 0.985608 0.997084 1.00675 1.01702 -1.01943 1.02306 1.0146 1.02185 1.02124 1.01641 1.01581 1.02487 -1.02185 1.03091 1.02064 1.02789 1.03453 1.03212 1.04359 1.04359 -1.04782 1.05567 0.802928 0.07525 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0.00301 0.00100333 0 0.00100333 -0 0.00702333 0 0 0 0.00802667 0.00301 0 -0 0.00401333 0.00301 0 0 0 0.00100333 0.00200667 -0.00200667 0.00100333 0 0.00802667 0.00602 0.00301 0.00702333 0.00200667 -0.00501667 0.00802667 0.0130433 0.0130433 0.01204 0.00501667 0.00301 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00100333 0 0 0 0 0 -0.00401333 0.00802667 0.00401333 0 0 0 0.0110367 0.00903 -0.00401333 0.00401333 0.00501667 0.00401333 0.00602 0.00602 0 0 -0 0 0.00200667 0.00501667 0.00100333 0.00702333 0 0 -0.00401333 0.00602 0 0 0.00602 0.0130433 0.00200667 0.00200667 -0 0 0.00702333 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.115383 0.913696 1.0605 1.04782 1.04722 1.0297 -1.03816 1.02789 1.0303 1.02487 1.02547 1.02487 1.02547 1.02124 -1.02366 1.01822 1.02245 1.02064 1.01943 1.02185 1.01943 1.00494 -0.989836 0.991648 0.991648 0.989232 0.988628 0.99648 0.988628 0.988024 -0.988628 0.989232 0.99044 0.989232 1.00373 1.01943 1.02064 1.01883 -1.0146 1.02366 1.01822 1.03091 1.01943 1.01158 1.02487 1.01641 -1.02124 1.01822 1.02547 1.01581 1.02366 1.01822 1.01702 1.0152 -1.01943 1.01762 1.02245 1.01641 1.01943 1.02668 1.01339 1.02608 -1.01279 1.01762 1.01943 1.0146 1.00916 1.02366 1.0146 1.014 -1.01279 1.01762 1.02426 1.01279 1.02124 1.01158 1.0152 1.02124 -1.01943 1.01098 1.02124 1.02064 1.01762 1.01218 1.02789 1.02124 -1.02124 1.02185 1.01641 1.02004 1.02185 1.01098 1.02004 1.01581 -1.02124 1.01702 1.02728 1.01279 1.0291 1.01339 1.01641 1.01641 -1.01943 1.01883 1.01641 0.997688 0.988628 0.99044 0.989836 0.994668 -0.991648 0.99346 0.988628 0.99346 0.994668 0.989232 0.989232 1.01098 -1.01943 1.02004 1.01883 1.02487 1.02547 1.02426 1.02245 1.02366 -1.02124 1.01943 1.02306 1.02487 1.0297 1.03453 1.04178 1.03634 -1.04238 1.05205 1.05507 0.721784 0.04515 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00501667 0.00602 0 0.00602 0.00200667 0 0 -0.0110367 0 0 0.0110367 0.00702333 0 0 0 -0.00501667 0.00401333 0 0 0.00501667 0.0170567 0.00301 0.00100333 -0.00200667 0 0 0 0 0.00200667 0.00100333 0.00200667 -0.00301 0.00501667 0.00100333 0 0 0 0.00100333 0.00802667 -0 0 0 0 0 0 0 0 -0.00602 0 0 0.00200667 0.00602 0.00602 0.00100333 0 -0 0 0.00100333 0.00301 0 0 0 0 -0.00200667 0.00200667 0 0.00100333 0.00200667 0.00100333 0.0100333 0.00301 -0 0 0 0.00702333 0.00602 0.00501667 0.00401333 0.00301 -0.00100333 0 0.00501667 0.00702333 0 0 0.00401333 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0551833 0.791336 1.0593 1.05507 1.04178 1.03816 1.03634 -1.03091 1.02789 1.0291 1.02668 1.02487 1.02124 1.01943 1.02668 -1.01218 1.02728 1.01581 1.01943 1.01279 1.02064 1.02064 0.997688 -0.99044 0.985608 0.992252 0.988024 0.985004 0.988628 0.994668 0.99648 -0.988628 0.995876 0.988628 0.988024 0.994668 1.01098 1.01822 1.0146 -1.02064 1.02366 1.01641 1.01279 1.01883 1.014 1.0152 1.01822 -1.02306 1.01037 1.02306 1.02064 1.01581 1.02064 1.0146 1.01098 -1.00916 1.01339 1.01943 1.01158 1.01037 1.01158 1.01279 1.01339 -1.01702 1.02366 1.02608 1.00916 1.01279 1.02185 1.02004 1.02185 -1.0152 1.02124 1.01218 1.0146 1.01641 1.0001 0.995876 1.00735 -1.00675 1.00977 1.00675 1.01883 1.02064 1.01581 1.02245 1.01762 -1.01822 1.01641 1.02124 1.01883 1.01098 1.01943 1.02064 1.0152 -1.01702 1.03151 1.01822 1.02245 1.0152 1.02004 1.02426 1.01883 -1.02366 1.02185 0.998292 0.992856 0.991648 0.99346 0.991648 0.995876 -0.99044 0.995876 0.99346 0.988628 0.995876 0.985608 0.995876 0.995876 -1.01218 1.02728 1.0152 1.02004 1.01762 1.02064 1.02124 1.02004 -1.014 1.02185 1.02366 1.02728 1.03212 1.02789 1.02487 1.03393 -1.03936 1.04057 1.04963 1.05446 0.617456 0.0140467 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00301 0 0 0 0 -0 0 0.00702333 0 0 0 0.00301 0.00903 -0 0.00100333 0 0.00702333 0.00802667 0 0 0.00301 -0 0.00802667 0.00501667 0.00501667 0.00200667 0 0.00401333 0.00401333 -0.00401333 0 0.00301 0.00100333 0 0.00401333 0.00501667 0 -0.00501667 0 0 0 0 0 0 0.0100333 -0.00602 0.00200667 0.00501667 0.00100333 0.00100333 0.00401333 0.00501667 0.0100333 -0.00401333 0 0 0 0.00301 0.00702333 0 0 -0 0 0 0 0 0 0 0.00200667 -0.00802667 0 0 0 0 0.00802667 0.00802667 0.00100333 -0 0.00301 0 0.00301 0.0110367 0 0 0 -0 0.00301 0 0 0 0 0 0 -0.00100333 0.00100333 0 0 0 0 0 0 -0.00602 0.603288 1.05386 1.05507 1.04118 1.03091 1.03332 1.02547 -1.02849 1.02547 1.01883 1.0291 1.02185 1.02426 1.02185 1.02004 -1.02064 1.02487 1.02124 1.01943 1.02668 1.0146 1.00916 0.995876 -0.997084 0.995876 0.994668 0.998292 0.986816 0.994064 0.988024 0.995876 -0.99346 0.998292 0.995272 0.991648 0.988024 1.00192 1.02004 1.02185 -1.01702 1.01822 1.02245 1.02366 1.01762 1.02185 1.02004 1.014 -1.01822 1.014 1.01762 1.02366 1.01883 1.02728 1.01822 1.01883 -1.01218 1.01279 1.01581 1.0152 1.01218 1.01943 1.02064 1.014 -1.01943 1.02728 1.01883 1.02064 1.01762 1.02004 1.02124 1.02004 -1.01762 1.02124 1.00977 1.02608 1.01762 1.02004 1.02306 1.02004 -1.02124 1.01883 1.00796 0.992252 1.00071 1.01762 1.02004 1.02185 -1.02366 1.02124 1.02426 1.01279 1.01218 1.02728 1.02728 1.0146 -1.01762 1.01762 1.0146 1.02426 1.01641 1.02064 1.02004 1.01762 -1.0152 1.01279 0.992252 0.988628 0.995876 0.992856 0.995272 0.986816 -0.991044 0.995876 0.994064 0.994064 0.99044 0.992856 0.9995 0.988628 -1.00071 1.01702 1.01581 1.0152 1.0146 1.0297 1.02185 1.01702 -1.02004 1.02849 1.02547 1.01943 1.02668 1.02004 1.02547 1.0303 -1.03151 1.03574 1.04903 1.05507 1.03755 0.474577 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.0130433 -0.00100333 0.00602 0.00100333 0 0.0110367 0.00501667 0.00301 0 -0.00301 0 0 0.00301 0 0 0.00602 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0 0 0 0 0 0.00200667 -0.00802667 0 0 0 0 0 0 0.00702333 -0.0100333 0.01204 0.00401333 0.00100333 0 0 0.00200667 0.00200667 -0.00602 0.00702333 0.00100333 0.00501667 0.00200667 0 0.00501667 0 -0.00301 0.00401333 0.00100333 0.00301 0.00100333 0 0 0 -0.00200667 0.00501667 0 0.00200667 0 0 0 0.00401333 -0 0.00200667 0.00100333 0 0 0 0 0 -0 0 0.00100333 0.00401333 0 0 0.00100333 0 -0 0 0 0 0 0 0 0 -0.413373 1.04178 1.05446 1.04842 1.03816 1.03876 1.02728 1.02728 -1.01943 1.02426 1.02185 1.02245 1.02426 1.02487 1.02004 1.02004 -1.0152 1.02668 1.02789 1.02064 1.01581 1.02004 1.0001 0.994668 -0.991648 0.99648 0.989232 0.998292 0.99346 0.988628 0.9995 0.986212 -0.988628 0.989836 0.989232 0.99648 0.99648 0.9995 1.01702 1.02789 -1.0152 1.0146 1.02185 1.01822 1.02004 1.01702 1.02185 1.01943 -1.01702 1.01762 1.01581 1.0146 1.00675 1.02185 1.0146 1.01339 -1.01762 1.02004 1.01641 1.01883 1.02124 1.02426 1.02487 1.01762 -1.02306 1.0146 1.01822 1.02668 1.01702 1.0146 1.01943 1.01943 -1.02245 1.02185 1.01883 1.02185 1.02185 1.01581 1.01641 1.01641 -1.02185 1.01762 1.01822 1.01339 1.02366 1.0152 1.0146 1.01279 -1.02004 1.01641 1.0152 1.0297 1.02245 1.02185 1.0146 1.014 -1.02185 1.02124 1.01762 1.0146 1.01581 1.02668 1.01702 1.02124 -1.02306 1.00977 0.985004 0.99648 0.995272 0.988628 0.99044 0.991648 -0.995272 0.986212 0.995272 0.991648 0.995876 0.994668 0.988024 0.991648 -0.989232 1.01581 1.00856 1.02004 1.01762 1.02185 1.01218 1.02789 -1.02426 1.02185 1.01822 1.02124 1.0297 1.02547 1.02547 1.03212 -1.02849 1.04118 1.03272 1.05144 1.05869 1.014 0.299997 0 -0 0 0 0 0 0 0 0 -0 0 0.00301 0.00802667 0 0 0 0 -0 0.00100333 0 0.00401333 0 0 0 0 -0 0 0.00702333 0.00301 0 0 0 0 -0 0 0.00301 0.00100333 0.00100333 0.00200667 0.00602 0.00200667 -0 0 0 0.00401333 0.00200667 0.00702333 0.0110367 0.0130433 -0.00100333 0 0 0 0 0 0 0.00903 -0.00200667 0.00401333 0.01204 0.0110367 0.01204 0.00802667 0 0 -0 0 0 0.00100333 0.00602 0.00301 0 0 -0 0.00301 0.00501667 0.00200667 0 0.00301 0.00200667 0.00100333 -0 0 0.00200667 0 0 0 0.00200667 0 -0.00602 0 0.00200667 0 0 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.214713 -0.991648 1.05628 1.04057 1.03936 1.03212 1.04057 1.03393 1.03393 -1.02728 1.02487 1.02245 1.014 1.02608 1.01883 1.02728 1.02306 -1.01641 1.014 1.01883 1.02185 1.01883 1.0146 0.992856 0.991044 -0.989232 0.99044 0.99044 0.992252 0.998896 0.994064 0.992252 0.991648 -0.985004 0.997084 0.995876 0.99648 0.988024 1.00071 1.02004 1.02185 -1.02728 1.0152 1.0146 1.02124 1.0303 1.02245 1.01702 1.02426 -1.0146 1.02064 1.01158 1.01883 1.00312 1.01762 1.01883 1.01218 -1.02185 1.01822 1.02306 1.00916 1.02004 1.01943 1.02306 1.02426 -1.02064 1.01098 1.02064 1.02487 1.0146 1.02124 1.02547 1.02185 -1.01822 1.02245 1.01581 1.01943 1.02064 1.02064 1.0146 1.02064 -1.02185 1.01158 1.01822 1.02245 1.01641 1.01883 1.02728 1.01943 -1.01943 1.00192 1.00735 1.01883 1.02124 1.01339 1.01883 1.02004 -1.02124 1.02366 1.01641 1.02426 1.0303 1.02064 1.01641 1.02064 -1.02487 0.994064 0.995876 0.994668 0.988024 0.994668 0.99044 0.997084 -0.991648 0.98742 0.99648 0.99346 0.99648 0.99346 0.989232 0.991044 -0.988628 1.01279 1.02064 1.03574 1.01279 1.014 1.02547 1.01822 -1.01218 1.02426 1.02547 1.02487 1.01883 1.01581 1.02728 1.02487 -1.02728 1.02789 1.03453 1.0448 1.04359 1.05144 0.9542 0.152507 -0 0 0 0 0 0 0 0 -0 0 0.00301 0 0.00100333 0.00301 0.00100333 0 -0.00100333 0 0 0 0 0 0 0.00401333 -0 0 0 0 0 0 0 0.00401333 -0.0170567 0.0110367 0.00602 0.0100333 0.0140467 0.00903 0 0.00301 -0 0.00401333 0.00200667 0 0.00602 0.00602 0.00200667 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00301 0.00200667 -0.00401333 0 0.00100333 0 0.00401333 0.00200667 0.00903 0.00401333 -0 0 0 0 0 0 0 0 -0.00301 0.00301 0 0.00200667 0.00401333 0.00401333 0.00200667 0 -0.00200667 0 0.00100333 0.0130433 0.00401333 0.00200667 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0 0 0 0 0.0591967 0.868616 -1.06352 1.05567 1.03997 1.03151 1.02849 1.02487 1.0297 1.0291 -1.02004 1.02245 1.02668 1.02004 1.02245 1.02064 1.02306 1.01822 -1.02426 1.02366 1.02306 1.02064 1.02366 1.02124 0.997688 0.989232 -0.99346 0.99346 0.986212 0.992252 0.991044 0.995272 0.992252 0.99044 -0.99346 0.988024 0.991648 0.995876 0.989836 0.992856 1.02124 1.01218 -1.01943 1.02366 1.02306 1.02245 1.02185 1.02306 1.01883 1.02004 -1.02487 1.02124 1.02004 1.00735 1.00916 1.02064 1.01762 1.01641 -1.02366 1.02124 1.0291 1.014 1.01702 1.01581 1.01822 1.02064 -1.01943 1.01098 1.01641 1.0146 1.02185 1.01702 1.0152 1.02608 -1.01702 1.01762 1.02245 1.01158 1.02245 1.01702 1.0152 1.02004 -1.01702 1.01822 1.01641 1.02668 1.0146 1.02426 1.00916 1.01641 -1.02124 1.0152 1.02064 1.01098 1.00977 1.01158 1.02245 1.02185 -1.0146 1.0146 1.014 1.02064 1.01762 1.0152 1.01762 1.02426 -1.014 1.00312 0.991044 0.98742 0.986816 0.992252 0.991044 0.992252 -0.985608 0.994064 0.989836 0.989836 0.994064 0.988628 0.991648 0.99648 -0.981984 1.01098 1.01883 1.014 1.00433 1.02789 1.02245 1.01339 -1.02124 1.02124 1.01883 1.01339 1.01702 1.02185 1.02547 1.01822 -1.02789 1.03574 1.03272 1.0303 1.03997 1.05326 1.05809 0.772016 -0.0290967 0 0 0 0 0 0 0 -0 0.00702333 0.00702333 0 0 0 0.00200667 0 -0 0 0 0.00903 0.00802667 0 0 0 -0 0.00401333 0 0.00200667 0.00602 0.00100333 0.00401333 0.01505 -0.00602 0.00602 0.00903 0.0130433 0 0 0.00200667 0 -0.00401333 0.00501667 0.00301 0.00602 0.00501667 0.00100333 0.00100333 0 -0 0 0 0 0 0 0 0.00200667 -0 0.00100333 0.00100333 0.00301 0 0 0.00401333 0.00401333 -0 0 0 0.00301 0 0 0 0.00301 -0.00903 0.00602 0.00301 0.00401333 0.00702333 0.00903 0.00501667 0.00100333 -0 0 0 0 0 0 0 0 -0 0.00702333 0 0 0 0.00301 0.00501667 0.00602 -0.00100333 0 0 0.00903 0 0 0 0 -0 0 0 0 0 0 0.536783 1.05265 -1.04842 1.04359 1.04178 1.03332 1.03332 1.02064 1.02004 1.02426 -1.02608 1.02245 1.0152 1.02185 1.01822 1.01883 1.02004 1.02245 -1.01883 1.01762 1.02124 1.02728 1.01581 1.02004 1.00192 0.991648 -0.989232 0.997688 0.992252 0.992252 0.992856 0.997084 0.998896 0.983192 -0.995876 0.986816 0.989836 0.997688 0.989232 0.991648 1.02426 1.02064 -1.02124 1.0152 1.01581 1.02124 1.01822 1.02487 1.02487 1.01702 -1.01822 1.02245 1.01279 1.02487 1.02366 1.01943 1.01822 1.02547 -1.01822 1.02064 1.01218 1.02608 1.01641 1.02728 1.02547 1.01822 -1.01822 1.02064 1.02608 1.01822 1.01581 1.01943 1.0146 1.02306 -1.02064 1.02185 1.02366 1.02124 1.01822 1.01822 1.0152 1.02306 -1.02245 1.0152 1.01641 1.02064 1.01641 1.01883 1.01581 1.02245 -1.00977 1.02185 1.02366 1.02064 1.0146 1.014 1.00192 1.01702 -1.02185 1.02608 1.0146 1.02668 1.01822 1.01581 1.01943 1.01943 -1.01943 0.995876 0.989836 0.991648 0.995876 0.99346 0.991044 0.99044 -0.992252 0.992856 0.994668 0.998896 0.992856 0.991648 0.991648 0.989836 -0.9995 1.014 1.01822 1.01037 1.0146 1.02366 1.0146 1.02366 -1.02185 1.0152 1.01641 1.02608 1.0297 1.02608 1.0297 1.02789 -1.02728 1.02728 1.02547 1.03453 1.03997 1.0448 1.05688 1.04359 -0.46956 0 0 0 0 0 0 0 -0 0 0 0 0 0.00501667 0 0.00301 -0 0 0.00702333 0 0 0 0 0 -0.00100333 0 0.00100333 0.00200667 0 0.00702333 0.0110367 0.00301 -0 0 0 0 0 0 0 0.00301 -0.00100333 0 0.00301 0.00602 0.00200667 0 0 0 -0.0100333 0.01204 0 0 0 0 0.01505 0.00903 -0.01204 0.00802667 0 0.00200667 0.00702333 0.00200667 0 0.00501667 -0.00702333 0.00501667 0.00200667 0 0.00602 0 0 0 -0 0.00100333 0 0 0 0.00501667 0.00301 0.00501667 -0.00200667 0 0.00401333 0.00301 0.00200667 0.00802667 0.00501667 0.0110367 -0 0 0.0140467 0.00200667 0 0 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0.233777 1.00916 1.05869 -1.04903 1.03936 1.03634 1.03212 1.03091 1.02728 1.02124 1.02004 -1.01641 1.02366 1.02426 1.01641 1.02064 1.0152 1.01943 1.01641 -1.02608 1.01702 1.014 1.02004 1.02366 1.01339 1.01158 0.988024 -0.994668 0.988628 0.991044 0.99044 0.98742 0.986212 0.995876 0.989232 -0.991044 0.994064 1.0001 0.982588 0.985608 1.00192 1.02608 1.02064 -1.02185 1.02064 1.0146 1.01158 1.014 1.02245 1.01641 1.0146 -1.01943 1.02064 1.01943 1.02245 1.02185 1.01883 1.01218 1.02608 -1.01702 1.02185 1.01883 1.02064 1.01762 1.02064 1.01822 1.02004 -1.02185 1.02124 1.02306 1.02004 1.02426 1.02124 1.01641 1.02245 -1.01762 1.0146 1.02245 1.03091 1.02608 1.02245 1.01883 1.01581 -1.01702 1.02064 1.01822 1.01943 1.02185 1.02789 1.02608 1.01218 -1.02366 1.01581 1.01581 1.01943 1.01883 1.01943 1.00614 1.00071 -1.02064 1.0146 1.01943 1.014 1.02124 1.01943 1.02487 1.02426 -1.02426 1.00252 0.989836 0.99346 0.994064 0.98742 0.991648 0.992252 -0.992856 0.992856 1.0001 0.988628 0.9995 0.99044 0.994064 1.00071 -0.992252 1.00856 1.02306 1.0152 1.01641 1.02185 1.01641 1.01943 -1.02064 1.00796 1.0291 1.02426 1.02185 1.02306 1.01883 1.02064 -1.02124 1.02245 1.02849 1.02728 1.02849 1.04359 1.04178 1.05628 -0.998292 0.208693 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00802667 0 0 0.00200667 0.00401333 0.00903 0.00501667 -0.00602 0.00501667 0.00100333 0.00501667 0.00501667 0.00802667 0.00702333 0 -0.00200667 0.00702333 0 0.00501667 0.00301 0 0.0100333 0 -0 0.00200667 0.00602 0.00501667 0 0.00200667 0.00702333 0.0100333 -0.00602 0.00602 0 0 0 0 0.00401333 0 -0 0 0.00501667 0.00301 0 0.00301 0 0 -0 0.00200667 0.00602 0.00702333 0 0.00401333 0.00602 0.00802667 -0 0 0.00301 0 0 0 0.00602 0.00802667 -0.0100333 0.00501667 0 0 0.00301 0 0.00200667 0 -0.00200667 0 0 0.00802667 0.00802667 0.00501667 0.00200667 0 -0 0.00802667 0 0 0 0 0 0 -0 0 0 0 0.0351167 0.80808 1.05386 1.03816 -1.03876 1.0303 1.02608 1.0291 1.02547 1.0291 1.02366 1.02185 -1.014 1.01702 1.02366 1.02366 1.01943 1.014 1.01883 1.01822 -1.02668 1.02728 1.02185 1.0152 1.02004 1.02185 1.00494 0.99346 -0.994064 0.99648 0.991044 0.992856 1.00373 0.99044 0.985004 1.00071 -0.989232 0.983796 0.998292 0.994064 0.989232 1.00916 1.02004 1.02487 -1.01943 1.0303 1.02789 1.02004 1.01641 0.989232 1.01218 1.01822 -1.01883 1.01581 1.01641 1.01339 1.01943 1.01822 1.01581 1.0146 -1.02245 1.02064 1.01822 1.02245 1.01641 1.02124 1.01641 1.01581 -1.02124 1.02185 1.01762 1.02185 1.02064 1.01822 1.01641 1.00735 -1.01702 1.00916 1.01339 1.01943 1.02124 1.02245 1.02306 1.02185 -1.01218 1.02306 1.01943 1.02124 1.0146 1.02185 1.02366 1.02487 -1.02064 1.01098 1.01943 1.02608 1.02004 1.01943 1.02306 1.01943 -1.00192 0.99648 1.01822 1.01883 1.02245 1.01822 1.02245 1.01883 -1.01158 1.01037 0.99044 0.988024 0.991044 0.994668 0.991648 0.997084 -0.99044 0.991044 0.994064 0.991044 0.991648 0.989836 0.986212 0.988628 -0.994668 1.0146 1.02366 1.01279 1.02185 1.02245 1.02306 1.01762 -1.02124 1.02668 1.02366 1.02185 1.01822 1.00796 1.01943 1.01702 -1.02124 1.02547 1.01943 1.02185 1.0303 1.03393 1.04118 1.04842 -1.05446 0.791336 0.0311033 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0.00602 0.00501667 0 0 0.00401333 0.0130433 -0.00200667 0 0.00702333 0.00100333 0.00200667 0 0 0 -0 0 0.00301 0 0 0.00100333 0 0 -0.00200667 0.00602 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00200667 -0.00602 0.00301 0 0.00200667 0.00702333 0 0.0110367 0.01204 -0.00301 0 0 0.00100333 0.00702333 0.00200667 0 0 -0.00401333 0.00100333 0 0.00301 0.00200667 0 0 0 -0.00100333 0.00401333 0.00301 0 0.00100333 0.00602 0.00301 0.00702333 -0.00401333 0 0.00802667 0.00301 0.00200667 0 0.00200667 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0.420397 1.04903 1.05567 1.0448 -1.03453 1.03453 1.02608 1.02064 1.02668 1.02306 1.02426 1.02487 -1.02547 1.0152 1.01037 1.01581 1.02245 1.0146 1.01822 1.00856 -1.01641 1.02185 1.01883 1.02185 1.0152 1.02245 1.02245 0.9995 -0.991044 0.991648 0.99346 0.991648 0.998896 0.995272 0.992252 0.99346 -0.9995 0.988628 0.983192 0.994668 1.00071 1.0152 1.02245 1.02789 -1.01702 1.01702 1.02185 1.0146 1.00373 1.01279 1.02245 1.01883 -1.02064 1.02547 1.01943 1.01702 1.02124 1.02064 1.01943 1.01822 -1.0146 1.01883 1.01702 1.02426 1.01822 1.01883 1.01702 1.02366 -1.02004 1.02064 1.02004 1.02849 1.01641 0.998292 0.974736 0.961448 -0.971716 0.970508 0.969904 0.986816 1.00312 1.0146 1.02245 1.02487 -1.01702 1.02124 1.02185 1.0146 1.01883 1.01218 1.0152 1.01822 -1.01037 1.01641 1.01762 1.02004 1.014 1.02426 1.02789 1.02245 -1.02849 1.02064 1.00494 1.00796 1.02789 1.01762 1.02487 1.01762 -1.01822 1.02426 1.00433 0.98742 0.989836 0.991044 0.997084 0.986212 -0.988024 0.99346 0.989836 0.994668 0.989836 0.986212 0.998896 0.99648 -1.00977 1.02185 1.02185 1.02366 1.02306 1.02124 1.01218 1.01883 -1.02366 1.01762 1.02064 1.02245 1.01943 1.02608 1.02426 1.02547 -1.02064 1.01883 1.02487 1.02426 1.0291 1.03332 1.03997 1.0454 -1.05205 1.0442 0.4214 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0 0 0 0.00702333 0.00501667 0 -0 0 0 0 0 0 0.00401333 0 -0 0.00301 0 0 0 0 0.00100333 0.0100333 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00702333 0.00602 -0.00702333 0.00602 0.0110367 0 0 0 0 0.00401333 -0.00602 0.00301 0 0 0 0.00100333 0.00602 0.0100333 -0 0 0.00401333 0.00100333 0.00100333 0 0.00200667 0 -0 0.00401333 0.00301 0 0 0 0 0.00100333 -0.00301 0.00200667 0 0 0 0 0 0 -0 0.00401333 0.00100333 0 0 0 0 0 -0 0 0 0.0973233 0.950576 1.05748 1.04903 1.04178 -1.0291 1.03091 1.02728 1.02306 1.01581 1.02004 1.02124 1.01641 -1.01641 1.02185 1.02004 1.01581 1.02487 1.02185 1.0152 1.0152 -1.01581 1.01883 1.02306 1.02366 1.02245 1.02124 1.02004 1.01943 -0.997688 0.989836 0.992856 0.977152 0.983192 0.991044 0.992856 0.991044 -0.986212 0.994668 0.988628 0.99648 1.02306 1.0152 1.01098 1.01702 -1.02728 1.02849 1.01279 1.00675 1.02306 1.01762 1.02728 1.01702 -1.01702 1.02487 1.0146 1.01943 1.01762 1.01883 1.01702 1.02426 -1.0146 1.02487 1.01702 1.02124 1.01883 1.01279 1.01762 1.01641 -1.01883 1.01641 1.02487 1.00675 0.962656 0.968092 0.965072 0.973528 -0.959636 0.95722 0.962656 0.962656 0.961448 0.982588 1.01943 1.02547 -1.01883 1.0146 1.02245 1.02849 1.0146 1.01702 1.02366 1.02124 -1.02306 1.02064 1.01883 1.01279 1.01581 1.02124 1.01883 1.02728 -1.01883 1.01883 1.01883 1.0001 0.997688 1.0146 1.01762 1.01883 -1.02064 1.0146 1.0146 0.99044 0.99044 0.992856 0.991044 0.992252 -0.995272 0.985004 1.00131 0.988024 0.997084 0.992252 0.992856 1.0001 -1.01581 1.00856 1.01943 1.01641 1.02547 1.0152 1.0146 1.01943 -1.01762 1.0152 1.02124 1.01581 1.01641 1.01158 1.01702 1.01883 -1.0146 1.01762 1.02064 1.02366 1.02366 1.03151 1.03695 1.03936 -1.04178 1.05748 0.96024 0.11739 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00301 0.00301 0 0 0 0 -0 0.00100333 0 0.00100333 0 0 0.00200667 0.00401333 -0 0 0 0.00301 0.00501667 0.00301 0.00100333 0 -0 0 0 0 0 0.00401333 0 0.00401333 -0.00501667 0.0110367 0.00401333 0 0 0 0 0 -0.00100333 0 0 0.00501667 0.00501667 0.00301 0.00401333 0 -0 0 0.00200667 0 0 0.00100333 0 0 -0.00501667 0.00301 0 0 0.00501667 0.00501667 0.00301 0.00200667 -0 0 0.00100333 0 0.00301 0 0 0 -0 0.00401333 0.00702333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.55384 1.05205 1.0454 1.03997 1.03936 -1.02608 1.03272 1.02789 1.02668 1.01943 1.02366 1.02547 1.0146 -1.02245 1.01641 1.01943 1.01641 1.02245 1.01581 1.03453 1.01581 -1.01822 1.02245 1.02124 1.02366 1.02426 1.02426 1.01943 1.01641 -1.02124 0.994668 0.99346 0.994668 0.988628 0.991044 0.997084 0.994668 -0.99346 0.99346 0.997688 1.00977 1.02608 1.0291 1.02004 1.02004 -1.01641 1.00856 1.01581 1.02064 1.02124 1.01641 1.01339 1.01581 -1.01822 1.03091 1.02064 1.01641 1.02728 1.02245 1.02064 1.0146 -1.01822 1.0303 1.02185 1.02668 1.01641 1.0146 1.02306 1.02366 -1.02789 1.01762 1.00433 0.964468 0.959032 0.967488 0.9542 0.968092 -0.968092 0.962052 0.962656 0.971716 0.96326 0.964468 0.980776 1.02366 -1.01762 1.02668 1.02487 1.014 1.01762 1.02245 1.02185 1.01822 -1.02004 1.02728 1.02004 1.02366 1.0146 1.03151 1.02004 1.01822 -1.0152 1.0152 1.02728 1.02185 1.00796 1.00131 1.02185 1.02306 -1.0297 1.02306 1.02487 1.01098 1.00071 0.98742 0.997084 0.988024 -0.98742 0.997688 0.988628 0.99648 0.995272 0.991044 1.00131 1.00856 -1.02366 1.01883 1.02668 1.02185 1.01883 1.01581 1.0146 1.02245 -1.02668 1.01943 1.02185 1.01641 1.0152 1.01279 1.02185 1.01702 -1.01822 1.02124 1.01641 1.02487 1.0291 1.03453 1.03574 1.03634 -1.04057 1.05205 1.06232 0.584943 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00903 0.0140467 0 0 0.00200667 0.00301 0 0 -0.00802667 0 0 0 0 0.00702333 0 0 -0.00200667 0.00501667 0.00602 0.00100333 0 0 0.00100333 0.00802667 -0.00301 0.00301 0 0.0110367 0.00903 0.00602 0 0 -0.0100333 0.0110367 0.00702333 0 0 0 0.00401333 0 -0 0 0 0 0 0 0 0.00301 -0 0 0 0.00401333 0.00301 0 0.00200667 0 -0 0 0.00602 0 0 0.00301 0 0.00100333 -0 0 0.00100333 0.00802667 0 0.00200667 0.00501667 0.00200667 -0 0.00301 0.00200667 0.00702333 0.0100333 0.00802667 0.00301 0.00100333 -0.00100333 0 0 0 0 0 0 0 -0 0 0.154513 0.986816 1.05809 1.04722 1.04238 1.03272 -1.0303 1.0291 1.0297 1.02608 1.02366 1.01762 1.02185 1.02124 -1.02064 1.02185 1.01943 1.01641 1.02004 1.01158 1.01822 1.02426 -1.01339 1.00977 1.01762 1.01581 1.01581 1.02547 1.02306 1.02004 -1.02547 1.02124 1.01098 0.997084 0.989836 0.99044 0.988628 0.988628 -0.989836 1.00614 1.01098 1.0146 1.0146 1.02487 1.02426 1.014 -1.00071 1.01218 1.0152 1.01581 1.0152 1.02668 1.02487 1.02306 -1.02004 1.01702 1.02004 1.01279 1.02185 1.02547 1.014 1.02487 -1.02366 1.02185 1.01943 1.01339 1.01641 1.01581 1.01822 1.01641 -1.01037 1.00856 0.975944 0.962052 0.962656 0.96628 0.958428 0.965072 -0.965676 0.9693 0.970508 0.952388 0.96024 0.960844 0.961448 0.98742 -1.03332 1.01581 1.0152 1.02064 1.02306 1.0146 1.0146 1.01762 -1.02789 1.02608 1.01339 1.014 1.01943 1.01943 1.01822 1.01822 -1.0152 1.02064 1.03151 1.01581 1.02245 1.01641 0.997084 1.01883 -1.01943 1.02064 1.02366 1.01339 1.00796 1.00433 0.992252 0.99346 -0.995272 0.989836 1.0001 0.99044 0.991044 1.00071 1.00916 1.01762 -1.02608 1.02004 1.01641 1.01702 1.01822 1.01279 1.0146 1.01581 -1.01581 1.01098 1.0152 1.01702 1.02185 1.02426 1.02608 1.01822 -1.02185 1.01943 1.02849 1.02728 1.02668 1.02668 1.02789 1.02608 -1.04057 1.04661 1.05507 0.995876 0.160533 0 0 0 -0 0 0 0 0 0 0.00100333 0.00200667 -0.00200667 0 0.00100333 0.00802667 0 0 0 0 -0 0 0 0 0.00100333 0 0 0 -0 0 0 0 0.00501667 0.00602 0.00200667 0 -0 0.00200667 0.0130433 0.00100333 0 0.00200667 0.0100333 0.01204 -0.00401333 0 0.00200667 0 0 0.00602 0.00702333 0.01204 -0.00802667 0.00501667 0.00401333 0.00602 0.0130433 0.00401333 0 0 -0.00702333 0.00401333 0.00301 0.00100333 0 0 0 0.00100333 -0 0 0 0.00501667 0 0 0 0.00301 -0.00602 0 0 0 0.01204 0 0 0 -0.00200667 0 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.599993 1.05205 1.04178 1.03695 1.03393 1.03332 -1.01883 1.02245 1.02849 1.02185 1.02366 1.02185 1.02547 1.0152 -1.02064 1.02124 1.01883 1.01822 1.01943 1.01702 1.01943 1.01943 -1.02306 1.03091 1.01883 1.01943 1.01822 1.01581 1.01822 1.01943 -1.02185 1.02487 1.02608 1.01762 1.01702 1.00977 1.01279 1.00796 -1.0297 1.02426 1.02426 1.02124 1.02004 1.01822 1.01218 0.99044 -1.01762 1.02245 1.01762 1.02306 1.02306 1.01581 1.01822 1.014 -1.01641 1.0152 1.02124 1.02668 1.01702 1.02245 1.014 1.01279 -1.01943 1.01762 1.01762 1.02004 1.01822 1.02728 1.02245 1.01581 -1.02547 0.992252 0.968696 0.965676 0.965072 0.960844 0.968092 0.971112 -0.959032 0.962656 0.9693 0.962656 0.9693 0.967488 0.966884 0.970508 -1.02245 1.02487 1.02366 1.02366 1.01883 1.02004 1.0146 1.02245 -1.02185 1.01883 1.01822 1.01883 1.01641 1.01883 1.01098 1.02064 -1.02004 1.01339 1.01943 1.01883 1.02306 1.00916 1.01158 0.986816 -1.01581 1.02487 1.02306 1.01158 1.02426 1.01883 1.01762 1.01339 -0.992856 1.00071 1.00131 1.00312 1.00856 1.02306 1.01883 1.01641 -1.01581 1.01581 1.01641 1.0146 1.02366 1.02185 1.0297 1.01702 -1.01762 1.0146 1.01762 1.01762 1.01822 1.01339 1.02004 1.0152 -1.02185 1.01883 1.01883 1.02124 1.02185 1.02185 1.02004 1.02849 -1.03936 1.03936 1.04842 1.05809 0.645792 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0 0.00301 0.00802667 0 -0.00100333 0.00200667 0.00802667 0.01204 0.00602 0.00200667 0.00100333 0.00501667 -0.00702333 0.00602 0 0.00200667 0 0 0 0.00501667 -0.00301 0.00100333 0 0 0.00702333 0.00702333 0 0 -0 0 0 0 0 0.00301 0.00401333 0.00100333 -0.00100333 0.00501667 0.00702333 0 0 0.00702333 0.00602 0 -0 0 0.00200667 0.00200667 0.00401333 0.00802667 0.00100333 0 -0.00200667 0.00602 0 0 0 0.00702333 0.00100333 0 -0 0.00200667 0 0 0 0.00802667 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.15953 0.997084 1.05688 1.04178 1.03936 1.03634 1.03393 -1.02789 1.02306 1.01883 1.02185 1.01702 1.02426 1.02306 1.03212 -1.02245 1.02245 1.01943 1.02366 1.02124 1.02245 1.01581 1.02185 -1.0152 1.02608 1.02547 1.01762 1.02426 1.02004 1.02064 1.02124 -1.01822 1.014 1.02487 1.02487 1.01702 1.02124 1.01943 1.02426 -1.02004 1.02245 1.02185 1.02064 1.02789 1.01641 0.998292 1.0146 -1.01702 1.01702 1.01702 1.02004 1.0303 1.02668 1.01641 1.01581 -1.01641 1.02124 1.01339 1.02124 1.00856 1.02426 1.02185 1.02366 -1.01641 1.01339 1.02245 1.01702 1.01883 1.0291 1.02547 1.03272 -1.0146 0.983192 0.967488 0.969904 0.968092 0.971112 0.963864 0.966884 -0.973528 0.974132 0.96024 0.962656 0.971716 0.95722 0.954804 0.973528 -0.991044 1.00916 1.0146 1.01037 1.01762 1.0146 1.0146 1.02547 -1.01943 1.01581 1.02789 1.01943 1.014 1.00856 1.02064 1.02004 -1.02306 1.01158 1.01762 1.02849 1.0303 1.02064 1.02849 1.01641 -0.995272 1.00433 1.01883 1.01943 1.02366 1.02185 1.01339 1.01218 -1.01581 1.01641 1.01943 1.014 1.02064 1.01883 1.0297 1.02306 -1.02124 1.02366 1.02185 1.014 1.02245 1.02185 1.0152 1.02849 -1.0146 1.01943 1.01702 1.00614 1.01762 1.02004 1.01581 1.02306 -1.02004 1.01943 1.02426 1.02668 1.02306 1.0291 1.0291 1.02487 -1.02849 1.03876 1.04722 1.05507 1.00494 0.185617 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0.00702333 0.00702333 0 0 0.00501667 0.00602 0.00301 -0 0 0 0.00401333 0.00702333 0.00301 0.00100333 0.00100333 -0 0.00301 0.0110367 0.0100333 0.00100333 0.00100333 0.00200667 0.00200667 -0.00501667 0.00501667 0.00501667 0 0 0 0 0.00200667 -0 0 0.00401333 0.00301 0.00301 0 0 0.00301 -0.00602 0.00200667 0 0 0 0 0 0.00200667 -0 0 0.00100333 0 0.00100333 0 0 0.00200667 -0.00602 0.00501667 0.00602 0.00100333 0 0 0.00301 0.00200667 -0 0.0110367 0.00501667 0.00501667 0 0 0.00200667 0 -0.00401333 0.00401333 0 0 0 0 0 0 -0 0.584943 1.05748 1.05144 1.04238 1.03695 1.02668 1.0297 -1.02306 1.02245 1.02004 1.02728 1.01702 1.01339 1.01339 1.0146 -1.01702 1.01218 1.01762 1.01702 1.02426 1.02426 1.02245 1.02124 -1.01037 1.01581 1.01943 1.01581 1.02185 1.01822 1.0146 1.01943 -1.01702 1.01641 1.0146 1.01883 1.02004 1.01883 1.02064 1.02547 -1.0297 1.01883 1.02124 1.02064 1.01883 0.988024 1.00856 1.01883 -1.02124 1.01218 1.02245 1.02064 1.02064 1.02064 1.01702 1.02064 -1.01037 1.01339 1.0146 1.01037 1.01218 1.0152 1.01822 1.02124 -1.02064 1.01883 1.02608 1.02185 1.01339 1.02245 1.01762 1.02547 -1.01098 0.973528 0.964468 0.96628 0.968092 0.967488 0.9693 0.96326 -0.968092 0.969904 0.967488 0.961448 0.97232 0.9693 0.962656 0.959636 -0.976548 1.02608 1.02728 1.0146 1.01943 1.01641 1.02004 1.02487 -1.01762 1.02728 1.02185 1.02124 1.02487 1.02306 1.01702 1.0291 -1.0152 1.0291 1.02004 1.02245 1.01822 1.02124 1.02547 1.02426 -1.00916 0.99648 1.02185 1.02064 1.01762 1.02366 1.01822 1.03091 -1.01762 1.02366 1.01883 1.01883 1.02124 1.01339 1.02547 1.02487 -1.01037 1.02366 1.02245 1.01943 1.02064 1.02306 1.01581 1.02185 -1.0146 1.01218 1.01762 1.01581 1.02426 1.02366 1.02245 1.01762 -1.01762 1.01702 1.02124 1.01581 1.02608 1.02064 1.02366 1.02728 -1.0291 1.03514 1.04118 1.04963 1.06111 0.599993 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0.00501667 0.00301 0 0 0.00903 0.00200667 0 0 -0.00301 0.00903 0.00802667 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.00100333 0 -0 0 0 0 0 0.00401333 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0.00100333 0 0 0.00200667 0.00401333 -0.00802667 0.00100333 0 0.00501667 0.00602 0.0110367 0.00903 0.00401333 -0 0 0 0.00301 0 0.00501667 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.122407 0.981984 1.05628 1.04238 1.03514 1.03151 1.03151 1.02426 -1.02668 1.0303 1.01581 1.01762 1.02124 1.02124 1.02366 1.0146 -1.01339 1.02124 1.01943 1.01279 1.0146 1.01822 1.01943 1.01762 -1.02668 1.02306 1.02366 1.02185 1.02064 1.01762 1.0146 1.02004 -1.02547 1.02004 1.02426 1.01581 1.01883 1.02245 1.01702 1.01762 -1.02185 1.0152 1.01762 1.02547 0.982588 1.0146 1.0152 1.02064 -1.02547 1.02185 1.02306 1.02306 1.01339 1.02849 1.01279 1.01943 -1.02547 1.02306 1.02789 1.02608 1.01218 1.01339 1.02608 1.01883 -1.01218 1.01218 1.02306 1.01279 1.02064 1.01943 1.02004 1.02124 -1.01037 0.97534 0.97232 0.969904 0.971716 0.965676 0.96326 0.962656 -0.960844 0.971112 0.966884 0.968696 0.963864 0.96628 0.974132 0.965072 -0.99044 1.02306 1.02245 1.01218 1.02728 1.0291 1.0146 1.02004 -1.01883 1.02004 1.01339 1.01641 1.02306 1.0146 1.0152 1.014 -1.02185 1.02185 1.0146 1.02849 1.014 1.01762 1.02245 1.02608 -1.02426 1.01581 1.00071 1.00977 1.02124 1.01581 1.0146 1.01218 -1.0146 1.02728 1.02668 1.02426 1.01581 1.02306 1.01702 1.02245 -1.02547 1.02426 1.01702 1.02064 1.01943 1.01581 1.02306 1.01762 -1.01037 1.0152 1.02124 1.02004 1.0291 1.01943 1.01702 1.02185 -1.02547 1.02185 1.02366 1.02547 1.02185 1.02004 1.02426 1.02487 -1.02547 1.03212 1.04299 1.04359 1.05446 0.989232 0.13846 0 -0 0 0 0 0 0 0.00100333 0 -0.00200667 0.00702333 0.00401333 0.00702333 0.00903 0 0.00100333 0 -0.00100333 0.00301 0.00200667 0.00802667 0.00200667 0.00301 0.00100333 0.00702333 -0.00200667 0 0 0 0.00501667 0.00702333 0 0 -0.00401333 0.00702333 0 0 0 0 0 0 -0 0.00501667 0.00802667 0 0 0.00802667 0.00602 0.00401333 -0.00802667 0.00702333 0.00702333 0.0110367 0.00501667 0.00301 0 0 -0.00802667 0.00401333 0 0 0.00501667 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00501667 0 0.00301 0.00501667 0.00501667 0.00501667 -0 0 0.00401333 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0.4816 1.05688 1.05205 1.03936 1.04238 1.03876 1.02728 1.02608 -1.02124 1.02245 1.02789 1.02185 1.02124 1.02245 1.02004 1.03393 -1.01702 1.01641 1.0152 1.02064 1.01702 1.02064 1.02124 1.01702 -1.02668 1.01943 1.01158 1.01702 1.01641 1.02608 1.02064 1.02064 -1.01883 1.02185 1.02366 1.01581 1.01218 1.01883 1.02306 1.01943 -1.01581 1.02728 1.01702 0.992252 1.01702 1.03272 1.02426 1.01943 -1.01581 1.01702 1.01158 1.01762 1.0146 1.01822 1.03695 1.03816 -1.03393 1.04782 1.04661 1.05567 1.03997 1.0291 1.02064 1.01822 -1.02064 1.01702 1.01581 1.0291 1.01822 1.03091 1.02426 1.02306 -1.00796 0.968696 0.96628 0.96628 0.965072 0.974736 0.965072 0.965676 -0.961448 0.964468 0.971716 0.960844 0.968696 0.970508 0.974132 0.96326 -0.983192 1.02608 1.02185 1.01883 1.02849 1.01098 1.01943 1.02124 -1.02185 1.01218 1.0152 1.01702 1.014 1.01037 1.02124 1.02185 -1.02487 1.01762 1.02668 1.01581 1.02487 1.02789 1.00735 1.02245 -1.01279 1.02185 1.01098 1.00614 1.01339 1.01279 1.02185 1.0291 -1.02487 1.01822 1.01943 1.02185 1.01943 1.0146 1.0146 1.0152 -1.014 1.01883 1.01762 1.02668 1.02487 1.01702 1.0152 1.01218 -1.0146 1.02366 1.014 1.01762 1.01581 1.02004 1.02064 1.01279 -1.0146 1.01883 1.02185 1.02185 1.01822 1.02487 1.02306 1.02124 -1.02547 1.03332 1.0303 1.03816 1.05144 1.04842 0.501667 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0 0.00301 0 0.00702333 -0.00200667 0 0 0.00401333 0 0 0 0 -0 0.00100333 0 0 0 0 0 0.00200667 -0.00301 0 0 0.00200667 0 0 0 0 -0.00903 0.00501667 0.00401333 0 0 0.00100333 0 0 -0 0 0 0.00401333 0.00802667 0.00702333 0.00301 0.00401333 -0 0.00401333 0.00301 0 0.00100333 0.00903 0.00802667 0.00401333 -0.00301 0 0 0.00802667 0.0110367 0 0 0 -0.00100333 0 0.00401333 0.00501667 0 0 0.00301 0.00903 -0.00702333 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0441467 -0.914984 1.05446 1.0448 1.03634 1.0303 1.03151 1.02668 1.02064 -1.02728 1.02426 1.02728 1.01762 1.01279 1.02004 1.01762 1.01883 -1.0146 1.02487 1.01883 1.02185 1.02366 1.02426 1.01641 1.01883 -1.02487 1.02064 1.02547 1.01641 1.02064 1.0152 1.01943 1.01158 -1.01822 1.01762 1.02064 1.02306 1.02547 1.01943 1.01702 1.02487 -1.02426 1.02487 1.00252 0.998896 1.02487 1.02124 1.00916 1.02547 -1.01943 1.01883 1.02004 1.02004 1.01883 1.02789 1.0442 1.04842 -1.04903 1.04118 1.04299 1.03816 1.05265 1.05386 1.03997 1.03876 -1.02728 1.0297 1.01762 1.02306 1.01279 1.00856 1.01943 1.02245 -1.01883 0.968092 0.97534 0.965072 0.962656 0.972924 0.964468 0.964468 -0.967488 0.974132 0.968696 0.969904 0.965072 0.966884 0.964468 0.962052 -0.997084 1.01822 1.02547 1.02004 1.02004 1.01581 1.02306 1.01339 -1.02004 1.02064 1.02426 1.01943 1.02064 1.01339 1.02004 1.02245 -1.0146 1.02004 1.01762 1.02366 1.01702 1.014 1.02547 1.0303 -1.02245 1.02366 1.0297 1.0146 1.014 1.02306 1.02608 1.02245 -1.01762 1.0152 1.02366 1.0146 1.01641 1.014 1.02668 1.01943 -1.02487 1.02426 1.02004 1.01581 1.02004 1.01218 1.0146 1.02064 -1.02064 1.01943 1.02064 1.02064 1.02487 1.01762 1.0146 1.00675 -1.014 1.02064 1.02547 1.0146 1.0152 1.02064 1.02245 1.02366 -1.03574 1.03151 1.03332 1.04359 1.04359 1.05567 0.939704 0.0591967 -0 0 0 0 0 0.00200667 0 0 -0 0 0.00100333 0.00301 0 0 0.00501667 0 -0 0 0.00301 0 0 0 0 0 -0 0.00200667 0.00903 0.0100333 0.00401333 0.00602 0.00200667 0.00301 -0.00301 0.00100333 0.00100333 0 0.00100333 0.00702333 0.00802667 0.00802667 -0.00200667 0.00100333 0.00301 0.00802667 0 0 0.00301 0.00100333 -0.00301 0 0 0 0 0 0.00401333 0 -0 0 0.00401333 0 0 0 0 0.00301 -0.00200667 0.00702333 0.00301 0 0.00200667 0.00100333 0 0 -0 0 0 0 0.00602 0.00301 0 0 -0 0 0 0.00200667 0 0 0.00301 0 -0 0 0 0 0 0 0 0.315047 -1.04057 1.05024 1.03997 1.03332 1.03151 1.03514 1.03151 1.02426 -1.01702 1.02185 1.02245 1.02185 1.02668 1.01762 1.02124 1.02487 -1.01702 1.01339 1.02124 1.01218 1.01883 1.02064 1.02004 1.01581 -1.01158 1.0146 1.01883 1.01822 1.01943 1.01883 1.02306 1.0303 -1.02185 1.01762 1.01702 1.02185 1.01279 1.00977 1.00614 1.01702 -1.01641 1.00373 0.989836 1.01883 1.0152 1.01641 1.02547 1.01762 -1.03151 1.02608 1.02245 1.02124 1.03393 1.04178 1.04842 1.04178 -1.05507 1.04601 1.04057 1.04661 1.0448 1.05688 1.05326 1.04842 -1.03151 1.02185 1.01037 1.0297 1.0303 1.01702 1.01702 1.02124 -1.02789 0.983192 0.961448 0.96326 0.965676 0.965676 0.966884 0.961448 -0.959032 0.97232 0.964468 0.966884 0.97232 0.975944 0.966884 0.970508 -1.00131 1.02426 1.02124 1.01943 1.02728 1.03212 1.01641 1.02366 -1.01581 1.01943 1.01822 1.03272 1.03393 1.05024 1.03514 1.03695 -1.0291 1.00735 1.02004 1.014 1.02124 1.01702 1.02426 1.02426 -1.02728 1.02426 1.02185 1.0146 1.00433 1.02185 1.02004 1.02789 -1.0146 1.01883 1.02608 1.02547 1.02306 1.02608 1.02124 1.01581 -1.01943 1.02004 1.01098 1.014 1.00856 1.00796 1.02547 1.02426 -1.02064 1.02004 1.01822 1.01641 1.01279 1.01218 1.01883 1.02185 -1.02245 1.0291 1.01943 1.00796 1.02185 1.02306 1.02004 1.01883 -1.02366 1.02366 1.03091 1.03272 1.04118 1.05446 1.04299 0.321067 -0 0 0 0 0 0 0 0.00602 -0.00200667 0 0 0 0 0.00501667 0 0 -0.00401333 0.00802667 0 0.00200667 0 0 0.01204 0.00501667 -0.0130433 0.00903 0.00100333 0 0 0 0.00501667 0.00100333 -0 0 0 0 0.00200667 0.00301 0 0 -0 0 0 0 0.00200667 0.00501667 0 0 -0.00100333 0.00702333 0.00401333 0.00200667 0 0 0.00301 0.00501667 -0.00401333 0.00301 0 0.00401333 0.00501667 0.00200667 0 0 -0 0 0 0.00200667 0 0.00602 0.00602 0.00401333 -0.00100333 0.00100333 0 0 0 0.00301 0.00903 0 -0.00100333 0 0 0 0.00501667 0 0 0 -0 0 0 0 0 0 0 0.684432 -1.06292 1.05024 1.03997 1.0291 1.02487 1.02487 1.02185 1.02668 -1.02004 1.01581 1.02245 1.0146 1.02064 1.01762 1.01581 1.02064 -1.01762 1.01822 1.01581 1.01943 1.01581 1.01822 1.01883 1.01883 -1.02245 1.02124 1.02366 1.02306 1.02185 1.02487 1.01279 1.01098 -1.02306 1.01762 1.01641 1.01883 1.02064 1.02306 1.01943 1.01883 -1.00735 0.994064 1.02124 1.02245 1.01822 1.02608 1.0152 1.01279 -1.0152 1.02124 1.02426 1.02426 1.04782 1.04238 1.0448 1.04299 -1.04963 1.05326 1.04178 1.0442 1.05084 1.04842 1.05205 1.04601 -1.03695 1.02487 1.0297 1.01279 1.02185 1.01943 1.01883 1.02366 -1.02306 1.00373 0.961448 0.963864 0.968696 0.965676 0.961448 0.967488 -0.96326 0.960844 0.96326 0.959636 0.971716 0.960844 0.961448 0.979568 -1.02185 1.03936 1.03091 1.03091 1.01883 1.01037 1.01943 1.01762 -1.014 1.03332 1.04057 1.04601 1.04782 1.0454 1.05386 1.04782 -1.0454 1.03816 1.02487 1.00735 1.02004 1.0152 1.01762 1.01339 -1.01943 1.0152 1.02426 1.02064 1.02124 1.00494 1.02608 1.01883 -1.01339 1.02064 1.02366 1.02366 1.0152 1.00433 1.02728 1.01158 -1.0297 1.02245 1.02306 1.02306 1.02124 1.02789 1.0146 1.01822 -1.01218 1.02185 1.01339 1.01822 1.01822 1.01641 1.01822 1.01822 -1.02124 1.01279 1.00977 1.014 1.02306 1.02245 1.01762 1.0297 -1.02306 1.02245 1.03453 1.03272 1.03695 1.0454 1.0593 0.707616 -0 0 0 0 0 0 0.00100333 0 -0 0 0 0.00802667 0.00802667 0 0 0 -0 0 0 0 0.00200667 0.00501667 0 0.00903 -0.00401333 0 0 0 0.00501667 0.00501667 0 0 -0 0.00401333 0 0 0.00200667 0 0 0 -0.00501667 0.00301 0.00200667 0.00100333 0 0.00501667 0.00802667 0.00200667 -0 0.00100333 0.00301 0.00602 0.00100333 0 0 0 -0.00802667 0.00602 0.00301 0 0 0.00301 0.0130433 0.0100333 -0.00401333 0.00401333 0 0.00200667 0.00200667 0.00100333 0.00501667 0.00401333 -0.00200667 0.00401333 0.00301 0.00301 0 0 0 0 -0.00501667 0.0110367 0 0 0 0 0 0 -0 0 0 0 0 0 0.09933 0.98138 -1.05386 1.04299 1.04057 1.03453 1.02064 1.0291 1.02064 1.01883 -1.02426 1.0303 1.02487 1.02004 1.01883 1.01883 1.01279 1.01581 -1.01762 1.02124 1.01822 1.02306 1.02245 1.01641 1.02849 1.02064 -1.02426 1.01702 1.01218 1.0146 1.01641 1.02245 1.02185 1.0146 -1.02487 1.02789 1.02668 1.01702 1.02245 1.02185 1.02728 1.03212 -0.992856 1.00554 1.02789 1.02306 1.02668 1.02245 1.02124 1.02789 -1.01641 1.02004 1.02366 1.04661 1.0442 1.03755 1.04963 1.04057 -1.0448 1.04661 1.05024 1.04178 1.03393 1.0448 1.04238 1.0454 -1.04722 1.02728 1.02608 1.02728 1.01641 1.02245 1.01822 1.02849 -1.02366 1.01702 0.983796 0.964468 0.969904 0.96628 0.962052 0.968092 -0.962656 0.971112 0.961448 0.971716 0.965072 0.956616 0.971112 1.01158 -1.02306 1.01702 1.02185 1.02185 1.01581 1.01641 1.01702 1.01641 -1.03453 1.05084 1.04661 1.04359 1.03997 1.04842 1.04299 1.04178 -1.0454 1.04782 1.05326 1.02487 1.01822 1.01883 1.01943 1.02728 -1.01581 1.01943 1.0152 1.01943 1.01822 1.01218 1.01037 1.01581 -1.01883 1.02366 1.02487 1.01943 1.01339 1.02245 1.01702 1.01098 -1.0146 1.01641 1.02245 1.01822 1.02426 1.01822 1.01883 1.01339 -1.0146 1.01762 1.0146 1.02366 1.0146 1.02366 1.02004 1.02245 -1.02185 1.0152 1.01641 1.02124 1.02608 1.02185 1.02124 1.02064 -1.02306 1.02185 1.0303 1.0291 1.03876 1.04359 1.05144 0.983796 -0.11438 0 0 0 0 0 0 0 -0 0 0.00602 0 0 0 0.00602 0.00802667 -0.00301 0 0 0 0.00301 0 0.00100333 0 -0 0 0.00602 0 0.00100333 0 0 0 -0.00602 0 0.00100333 0.00100333 0 0 0.00200667 0.00401333 -0 0 0 0 0.00100333 0 0.00100333 0.00802667 -0.00802667 0.00301 0 0 0 0 0 0 -0 0.00401333 0.00401333 0.00200667 0.00200667 0 0 0 -0.00802667 0.00903 0.00602 0 0 0 0 0.00401333 -0.00200667 0 0 0.00100333 0.00401333 0 0 0 -0 0 0.00903 0 0 0 0 0 -0 0 0 0 0 0 0.365213 1.04722 -1.05326 1.03997 1.03634 1.03393 1.03212 1.02789 1.02789 1.02245 -1.02245 1.01339 1.01581 1.0146 1.02004 1.02124 1.01943 1.01762 -1.02064 1.01702 1.02185 1.01822 1.01943 1.02064 1.02487 1.01702 -1.02004 1.02487 1.02728 1.02728 1.01339 1.01218 1.01581 1.01822 -1.0146 1.01943 1.02185 1.02487 1.0152 1.01702 1.02306 1.01581 -1.00494 1.01702 1.0146 1.01339 1.02426 1.02728 1.01581 1.02366 -1.02124 1.02306 1.01883 1.04057 1.04601 1.0442 1.04359 1.03332 -1.03936 1.0448 1.03695 1.05748 1.04238 1.04963 1.04842 1.05326 -1.04601 1.04963 1.02366 1.0146 1.02547 1.01762 1.02547 1.02849 -1.02487 1.02789 1.02245 0.989836 0.971716 0.962656 0.963864 0.965676 -0.972924 0.962656 0.967488 0.956616 0.960844 0.976548 1.00977 1.02064 -1.01702 1.02608 1.01943 1.01943 1.02668 1.02547 1.02366 1.03574 -1.05144 1.05809 1.03876 1.04842 1.04842 1.05024 1.03755 1.0448 -1.04963 1.05446 1.04722 1.04238 1.02849 1.01822 1.02849 1.02004 -1.02366 1.02245 1.0303 1.02487 1.02668 1.01641 1.0146 1.01158 -1.01762 1.03151 1.02426 1.02004 1.02124 1.02426 1.01702 1.01762 -1.02608 1.02185 1.02004 1.02306 1.01641 1.0146 1.0146 1.01943 -1.02245 1.02185 1.02426 1.02124 1.02185 1.01943 1.02306 1.02668 -1.01339 1.02124 1.02185 1.02728 1.0152 1.02185 1.01581 1.01883 -1.02004 1.02366 1.02487 1.02608 1.03816 1.04118 1.04903 1.05144 -0.38829 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00501667 0.00100333 0 -0 0 0.00802667 0.0130433 0.00301 0.00401333 0 0 -0.00702333 0.00903 0 0 0 0 0.00301 0.00401333 -0 0 0 0 0.00602 0.00903 0.0100333 0 -0 0 0.00301 0.00602 0.00903 0.00602 0 0 -0 0.00501667 0.00802667 0.00200667 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00301 0.00802667 0 0 0 -0.00100333 0.00802667 0.00200667 0 0 0.00100333 0.00401333 0.00602 -0.00100333 0 0.00401333 0 0 0 0 0 -0 0 0 0 0 0 0.68572 1.0599 -1.0448 1.03453 1.0297 1.02366 1.02849 1.01943 1.01339 1.01943 -1.01943 1.01581 1.02306 1.02124 1.02004 1.0152 1.02124 1.02004 -1.014 1.014 1.01943 1.02124 1.01158 1.01702 1.01762 1.02004 -1.0152 1.01641 1.01581 1.02789 1.02426 1.01883 1.02124 1.02366 -1.01883 1.01883 1.02306 1.02245 1.02306 1.02306 1.0146 0.995876 -1.02487 1.02306 1.0152 1.01822 1.01641 1.02185 1.0152 1.0291 -1.02608 1.00796 1.02728 1.03876 1.04842 1.04842 1.04661 1.05507 -1.04782 1.04722 1.04903 1.05024 1.04963 1.04601 1.04661 1.04359 -1.0454 1.0448 1.02185 1.02004 1.02245 1.02306 1.01943 1.02064 -1.01339 1.01822 1.02306 1.02426 1.00252 0.978964 0.971112 0.965072 -0.966884 0.968696 0.964468 0.962052 0.986212 1.01762 1.02306 1.01702 -1.02245 1.02849 1.01279 1.01581 1.014 1.00796 1.02124 1.04299 -1.05024 1.05024 1.0442 1.0442 1.04842 1.0448 1.04238 1.04661 -1.04842 1.03997 1.04238 1.0454 1.03634 1.01581 1.01641 1.00675 -1.01641 1.02668 1.02306 1.02124 1.01702 1.02547 1.01822 1.00614 -1.02366 1.02064 1.01581 1.01702 1.01883 1.01339 1.01702 1.01883 -1.02789 1.02426 1.02366 1.01581 1.01943 1.02547 1.01702 1.01581 -1.02547 1.01762 1.01641 1.01218 1.01943 1.0146 1.01641 1.01339 -1.01883 1.02426 1.02004 1.02426 1.02245 1.01943 1.01822 1.01883 -1.02064 1.02366 1.02789 1.03272 1.03212 1.03936 1.0448 1.05748 -0.73724 0 0 0 0 0 0 0.00802667 -0.00501667 0.00301 0.00200667 0 0 0 0 0 -0.00401333 0.00301 0.00301 0 0 0 0.00100333 0.00903 -0.00401333 0.00200667 0.00903 0.00401333 0.00802667 0.00702333 0.00802667 0.00100333 -0 0 0 0.0110367 0.0110367 0.00401333 0 0 -0.00401333 0.00903 0.00602 0.00903 0 0 0 0.00301 -0 0 0 0 0.00100333 0 0.00401333 0 -0 0.00100333 0 0.00100333 0 0.00100333 0 0 -0.00301 0 0 0.00602 0.00200667 0.01505 0.00702333 0 -0 0 0 0.00200667 0 0 0 0.00401333 -0.00903 0.00301 0.00100333 0.00401333 0 0 0 0 -0 0 0 0 0 0.0672233 0.958428 1.05024 -1.04057 1.03695 1.0303 1.02668 1.0297 1.0303 1.02547 1.01943 -1.01702 1.02124 1.02185 1.02426 1.02487 1.02306 1.01943 1.02124 -1.01762 1.02668 1.0152 1.02004 1.02124 1.0146 1.01581 1.01822 -1.0152 1.0146 1.00796 1.01581 1.02064 1.01943 1.02064 1.00856 -1.0152 1.02547 1.02306 1.01702 1.02004 1.0297 0.997688 1.00977 -1.02366 1.03091 1.03272 1.02306 1.02306 1.02728 1.02487 1.0146 -1.01762 1.02608 1.0297 1.04903 1.04359 1.0448 1.04842 1.04722 -1.04118 1.04722 1.03816 1.03997 1.04661 1.04238 1.0442 1.04782 -1.04661 1.04722 1.0297 1.02064 1.0146 1.02245 1.01641 1.02789 -1.02426 1.02004 1.02668 1.01762 1.0146 1.00916 0.995876 0.985608 -0.9844 0.988024 1.00252 1.0152 1.02426 1.01762 1.0291 1.02668 -1.02547 1.01762 1.01943 1.03393 1.02608 1.01339 1.03634 1.04661 -1.0454 1.05386 1.04661 1.04661 1.04903 1.04178 1.04842 1.0454 -1.03997 1.03997 1.0454 1.04722 1.0442 1.04178 1.02547 1.02668 -1.02789 1.02004 1.02124 1.02608 1.02064 1.0152 1.02124 1.0152 -1.00735 1.01943 1.02306 1.02306 1.01822 1.01581 1.02124 1.01702 -1.02728 1.01339 1.0146 1.01641 1.01943 1.014 1.01218 1.01641 -1.01943 1.0146 1.01581 1.00916 1.02668 1.02004 1.01822 1.01943 -1.01762 1.02306 1.01702 1.0146 1.01581 1.01822 1.01883 1.02124 -1.01762 1.02245 1.0291 1.0291 1.02728 1.03695 1.05205 1.05205 -0.977152 0.0943133 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00200667 0 -0 0 0 0.00200667 0.00702333 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00602 0.00401333 0 0 0 0 -0.00200667 0.00100333 0 0 0.00401333 0.00501667 0.00200667 0 -0.00100333 0.00200667 0.00602 0.00100333 0 0.00200667 0.00200667 0.00401333 -0.00301 0 0 0 0 0 0.00100333 0.00100333 -0.00200667 0 0 0 0 0 0.00301 0.01204 -0.00200667 0.00200667 0.00301 0.00401333 0.00200667 0.00602 0 0 -0 0 0 0 0 0 0 0.00401333 -0 0 0 0 0 0.244813 1.03997 1.0454 -1.04178 1.03574 1.03151 1.02849 1.02608 1.01883 1.02547 1.02849 -1.01581 1.01581 1.01762 1.01218 1.01883 1.02064 1.01762 1.02366 -1.02426 1.02185 1.02004 1.01943 1.01339 1.02608 1.01762 1.01702 -1.02004 1.02306 1.02547 1.01883 1.02789 1.02668 1.02668 1.02185 -1.02608 1.01883 1.0146 1.02245 1.01641 1.01822 0.994668 1.02124 -1.02245 1.0146 1.02608 1.03212 1.01037 1.01279 1.02124 1.02366 -1.02124 1.01883 1.02185 1.05386 1.04722 1.0448 1.04238 1.04299 -1.03997 1.0442 1.05567 1.04722 1.0454 1.05386 1.04903 1.0442 -1.04661 1.04782 1.01702 1.02245 1.02124 1.02004 1.01943 1.01822 -1.01218 1.01883 1.02064 1.01702 1.0297 1.02185 1.03272 1.02185 -1.02245 1.01762 1.02366 1.01641 1.01218 1.02124 1.02064 1.01822 -1.02668 1.03212 1.02547 1.02306 1.02124 1.02366 1.04722 1.04722 -1.0448 1.03936 1.03272 1.04178 1.03936 1.03876 1.0454 1.04178 -1.04842 1.04359 1.04601 1.04782 1.05386 1.01883 1.01762 1.01883 -1.01279 1.01218 1.02124 1.02306 1.01037 1.01702 1.01158 1.01581 -0.991648 1.02185 1.02849 1.01762 1.014 1.01883 1.01883 1.02064 -1.02366 1.0146 1.02004 1.02547 1.02306 1.02306 1.01822 1.02004 -1.01641 1.02426 1.02004 1.02487 1.02064 1.0146 1.01883 1.0146 -1.01883 1.0152 1.02004 1.02124 1.02366 1.02426 1.01883 1.00977 -1.01943 1.02728 1.02426 1.01943 1.0297 1.04238 1.03453 1.0454 -1.03936 0.298993 0 0 0 0 0 0 -0 0 0 0 0.0100333 0.00401333 0.00100333 0.00903 -0.00903 0 0.0100333 0.00802667 0 0 0 0 -0 0.00200667 0 0 0 0 0 0.0110367 -0.00802667 0.0100333 0 0 0 0.00100333 0.00702333 0.00702333 -0.00301 0.00100333 0.00401333 0.0110367 0.00702333 0.00602 0.00602 0.00602 -0.00401333 0.00501667 0.00100333 0 0.00301 0.00501667 0.00401333 0.00301 -0.00702333 0.0130433 0 0 0 0 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0 0 0 -0 0 0 0 0 0.00200667 0 0 -0 0 0 0 0 0.497653 1.05809 1.05024 -1.03332 1.0291 1.03212 1.02728 1.02004 1.02124 1.01943 1.02004 -1.02245 1.01943 1.01702 1.0152 1.01098 1.0152 1.01883 1.0146 -1.01943 1.02064 1.02064 1.01883 1.0152 1.02487 1.02306 1.02245 -1.02608 1.02124 1.0152 1.01702 1.01822 1.01581 1.01762 1.02124 -1.01581 1.02064 1.02306 1.02366 1.02004 0.992252 1.00192 1.02728 -1.02064 1.02366 1.02124 1.01822 1.02728 1.01943 1.02124 1.01037 -1.02306 1.014 1.01883 1.04238 1.04782 1.04722 1.04782 1.04963 -1.0442 1.04238 1.04359 1.04057 1.04842 1.03816 1.04722 1.05024 -1.05386 1.03514 1.0146 1.01702 1.02608 1.02245 1.02245 1.02608 -1.02668 1.02487 1.01279 1.01822 1.01702 1.02245 1.02366 1.02245 -1.0291 1.02789 1.02064 1.02306 1.02728 1.02487 1.02245 1.01218 -1.01581 1.01822 1.03091 1.01037 1.0146 1.02487 1.04722 1.04057 -1.03876 1.03936 1.04178 1.05507 1.0454 1.04299 1.04299 1.05084 -1.04842 1.04359 1.03876 1.05265 1.03816 1.03876 1.01641 1.0146 -1.02064 1.02366 1.02306 1.01762 1.02608 1.014 1.02124 1.03091 -1.01762 1.00433 1.014 1.02789 1.01702 1.02366 1.02789 1.02064 -1.01339 1.02185 1.0146 1.0152 1.01098 1.01037 1.02245 1.02185 -1.01822 1.01339 1.01641 1.02185 1.0152 1.01037 1.0146 1.0146 -1.01762 1.0146 1.01822 1.01641 1.01339 1.014 1.01883 1.02789 -1.02789 1.0291 1.02608 1.03634 1.03332 1.03936 1.03936 1.05205 -1.05748 0.561867 0 0 0 0 0 0 -0 0 0 0.00501667 0.00501667 0.00501667 0.00702333 0.00401333 -0.00200667 0.00602 0.00301 0 0 0.00401333 0.00100333 0.00501667 -0.00301 0.00301 0 0 0 0.00301 0.00501667 0 -0 0 0 0 0 0.00200667 0 0 -0 0.00100333 0.00301 0.00602 0 0 0 0.00100333 -0 0.00401333 0.00301 0.00903 0.00602 0 0 0 -0 0 0.00802667 0.00200667 0 0.00401333 0.00200667 0.00602 -0.00401333 0 0 0 0 0 0.00301 0.00501667 -0.00200667 0.00100333 0 0.00200667 0.00301 0.00602 0.00200667 0.00200667 -0.00702333 0 0 0 0 0 0 0 -0 0 0 0 0 0.783608 1.05326 1.04299 -1.03634 1.02849 1.02668 1.0291 1.02366 1.02185 1.02366 1.02245 -1.02306 1.01883 1.02245 1.02426 1.02426 1.01702 1.0146 1.0146 -1.01218 1.0152 1.02547 1.01943 1.02547 1.01883 1.01822 1.02849 -1.02245 1.02608 1.02064 1.01762 1.014 1.02245 1.02366 1.02426 -1.02728 1.02426 1.02004 1.01702 1.02245 0.997084 1.01822 1.02124 -1.02789 1.0152 1.02789 1.02064 1.01943 1.0303 1.01702 1.02547 -1.02245 1.02245 1.01822 1.03695 1.04842 1.04118 1.04722 1.03876 -1.0442 1.05144 1.05507 1.04661 1.04842 1.04178 1.0442 1.05748 -1.0442 1.04118 1.01822 1.02124 1.02487 1.02547 1.01822 1.014 -1.02849 1.02306 1.01822 1.03091 1.02487 1.02124 1.02306 1.02124 -1.01883 1.03272 1.0146 1.02185 1.02608 1.03091 1.02185 1.01943 -1.02124 1.0291 1.01943 1.02185 1.02064 1.01762 1.0442 1.03876 -1.03997 1.04661 1.03997 1.03755 1.04601 1.04118 1.03876 1.0442 -1.03936 1.04842 1.04601 1.03695 1.04601 1.0297 1.02185 1.0146 -1.02426 1.02245 1.02124 1.01279 1.01581 1.02849 1.01822 1.01762 -1.02245 0.988628 1.02064 1.02487 1.02185 1.01943 1.0146 1.00614 -1.01098 1.02124 1.01641 1.01641 1.02789 1.02487 1.02185 1.02426 -1.02547 1.0291 1.02426 1.02185 1.0146 1.02064 1.02487 1.02185 -1.02487 1.02306 1.02366 1.01702 1.01883 1.02064 1.01883 1.01883 -1.02185 1.01762 1.02547 1.02004 1.02728 1.02064 1.03514 1.0448 -1.05628 0.845432 0.00602 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00401333 0 0.00702333 0.00602 -0 0 0.00100333 0.00401333 0.00200667 0.00602 0.00501667 0.00501667 -0.00200667 0 0 0.00100333 0 0 0.00401333 0.00401333 -0.00100333 0.00200667 0.00301 0 0.00602 0.00200667 0 0 -0 0 0 0 0 0 0.00301 0.00301 -0.0100333 0.00401333 0 0.00401333 0.00200667 0 0 0 -0 0.00200667 0 0 0.0110367 0.00903 0 0 -0.0100333 0.00602 0.0100333 0.00301 0 0.00401333 0 0 -0 0.00100333 0 0.00301 0.00301 0 0 0 -0 0 0 0 0.05719 0.96024 1.05567 1.04057 -1.02849 1.03393 1.0297 1.02426 1.02426 1.01822 1.01581 1.01943 -1.02004 1.01641 1.02245 1.01218 1.01098 1.01581 1.01641 1.01702 -1.01822 1.0146 1.01218 1.01339 1.02185 1.01943 1.01581 1.00856 -1.01158 1.01762 1.02064 1.01218 1.02245 1.01581 1.02185 1.02487 -1.02245 1.01883 1.01822 1.01822 0.991648 1.00856 1.02124 1.02547 -1.02004 1.01883 1.01098 1.0152 1.01702 1.02124 1.02608 1.0152 -1.01158 1.01279 1.01762 1.02849 1.05144 1.05084 1.04057 1.04903 -1.04782 1.04842 1.04722 1.05507 1.04359 1.04118 1.04359 1.04722 -1.04722 1.03574 1.02728 1.01339 1.02487 1.02366 1.02487 1.02426 -1.02849 1.01883 1.01279 1.02245 1.02245 1.01339 1.01218 1.01641 -1.02487 1.01279 1.02245 1.01943 1.01943 1.02366 1.0146 1.0146 -1.02124 1.02124 1.01641 1.02004 1.02064 1.02426 1.03876 1.0454 -1.04722 1.04782 1.05386 1.04057 1.03574 1.04057 1.04601 1.0448 -1.04178 1.04118 1.05265 1.04178 1.0442 1.03514 1.02789 1.02789 -1.0297 1.01943 1.01279 1.02004 1.02849 1.02547 1.02185 1.02426 -1.02608 1.00614 1.00071 1.01822 1.02426 1.00977 1.0152 1.02849 -1.02547 1.01339 1.02728 1.02366 1.02245 1.01641 1.01883 1.01943 -1.01339 1.02004 1.02064 1.0152 1.01883 1.02064 1.02185 1.02306 -1.01822 1.02004 1.01943 1.01098 1.02487 1.01279 1.01762 1.02547 -1.01822 1.02306 1.02789 1.02306 1.02426 1.03453 1.03695 1.04299 -1.05265 0.9844 0.0923067 0 0 0 0 0 -0.00200667 0 0 0 0.00501667 0 0 0 -0 0 0 0.00100333 0 0.00301 0 0 -0 0.00501667 0 0 0.00301 0.00401333 0 0 -0 0.00501667 0.00501667 0.00602 0.00702333 0.00501667 0.00301 0 -0.00301 0 0 0.00501667 0 0.00401333 0.00200667 0.00401333 -0.00200667 0 0.00200667 0.00501667 0 0 0 0 -0 0 0 0 0.00702333 0.01204 0.00903 0.00301 -0.00401333 0.00602 0.00702333 0 0 0 0.00401333 0 -0 0 0 0 0 0 0 0.00501667 -0 0 0 0 0 0 0 0 -0 0 0 0 0.1806 1.02547 1.05024 1.04238 -1.03634 1.02789 1.02245 1.02849 1.02728 1.02426 1.02064 1.02004 -1.01762 1.01702 1.02064 1.0303 1.02185 1.02064 1.01762 1.02547 -1.02487 1.02064 1.02608 1.01762 1.0146 1.02004 1.02245 1.02306 -1.01883 1.01641 1.02245 1.01279 1.02004 1.02487 1.01943 1.014 -1.02124 1.02426 1.02608 1.02849 0.981984 1.01822 1.01702 1.02124 -1.01702 1.0152 1.02185 1.01943 1.01339 1.01641 1.02668 1.02064 -1.02245 1.02547 1.02064 1.02185 1.02668 1.04601 1.05024 1.03755 -1.0442 1.05024 1.04359 1.03453 1.06111 1.0454 1.04057 1.0448 -1.02789 1.02064 1.01762 1.02366 1.00614 1.01883 1.0152 1.01943 -1.0152 1.0152 1.01822 1.02728 1.02064 1.01762 1.02124 1.02185 -1.02426 1.01581 1.02004 1.02185 1.0297 1.02547 1.01943 1.02487 -1.02306 1.02064 1.01762 1.0152 1.0146 1.01702 1.02366 1.04178 -1.04782 1.0454 1.04842 1.05265 1.04963 1.05205 1.0454 1.04238 -1.03634 1.04238 1.04299 1.04299 1.03936 1.0303 1.02547 1.02426 -1.01762 1.01581 1.02004 1.02004 1.02185 1.02426 1.02124 1.01279 -1.02608 1.02547 0.997084 1.02185 1.02185 1.02487 1.02064 1.02064 -1.02608 1.02366 1.01762 1.01762 1.01702 1.01218 1.02185 1.02426 -1.01702 1.01822 1.01158 1.02426 1.02366 1.02124 1.02245 1.01339 -1.01581 1.01641 1.01641 1.02064 1.02547 1.00916 1.0146 1.01702 -1.0152 1.02185 1.02306 1.02608 1.02608 1.03212 1.03936 1.04118 -1.05386 1.03091 0.224747 0 0 0 0 0 -0 0 0.00802667 0.00200667 0 0.00100333 0.00100333 0.00602 -0.0100333 0.00903 0.0100333 0.00200667 0.00200667 0 0 0 -0 0 0.00702333 0.01204 0.00100333 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0.00200667 0.00602 0.00702333 0.00301 0 0.00401333 0.00301 -0.00301 0.00401333 0 0 0.00501667 0 0.00301 0.00301 -0.00501667 0.00301 0.00501667 0.00501667 0 0 0.00200667 0.00401333 -0 0 0 0 0 0 0 0.00301 -0.00100333 0 0 0 0 0.00200667 0 0 -0.00401333 0.00401333 0 0 0 0 0 0 -0 0 0 0 0.323073 1.04782 1.05024 1.03514 -1.02789 1.03212 1.02547 1.01822 1.02004 1.02124 1.02124 1.02185 -1.01339 1.02004 1.0152 1.02547 1.02366 1.01762 1.01641 1.01943 -1.0152 1.02185 1.02124 1.02668 1.02004 1.02004 1.02185 1.01037 -1.01883 1.0152 1.02608 1.01883 1.02124 1.01943 1.02185 1.02004 -1.0146 1.01762 1.02426 1.01581 1.00735 1.02185 1.02668 1.02668 -1.02366 1.01762 1.02185 1.02608 1.0297 1.01943 1.02124 1.02245 -1.02064 1.02366 1.02608 1.01581 1.0303 1.03634 1.05205 1.04842 -1.05386 1.04842 1.05265 1.04057 1.05084 1.04782 1.04118 1.03393 -1.01822 1.02124 1.02426 1.0297 1.01883 1.01641 1.02245 1.03212 -1.01883 1.0152 1.02124 1.01339 1.00916 1.02064 1.02124 1.02185 -1.01218 1.02668 1.0303 1.01037 1.02426 1.02124 1.02366 1.01943 -1.02426 1.02004 1.01943 1.02245 1.02608 1.02245 1.01218 1.03453 -1.04057 1.03695 1.04782 1.05024 1.05628 1.04359 1.05144 1.0442 -1.04963 1.05265 1.0448 1.05144 1.03755 1.0146 1.02608 1.0146 -1.02487 1.03091 1.02306 1.02124 1.01943 1.02728 1.02849 1.01943 -1.02728 1.01762 0.997688 1.01218 1.02366 1.02668 1.0152 1.01762 -1.02849 1.01641 1.02426 1.01883 1.01218 1.02608 1.02608 1.01702 -1.014 1.02004 1.0146 1.01883 1.014 1.01702 1.01822 1.0146 -1.0146 1.014 1.02185 1.0146 1.01641 1.01943 1.0297 1.02245 -1.01943 1.01581 1.01822 1.02487 1.02789 1.03453 1.03091 1.04238 -1.04782 1.05567 0.40033 0 0 0 0 0 -0 0 0 0 0 0 0 0.00401333 -0.00602 0 0 0 0 0 0 0.00301 -0.00301 0.00602 0 0 0 0 0 0.00200667 -0.00301 0.00802667 0.00602 0.00702333 0.00903 0.00702333 0.00100333 0.00602 -0.00702333 0.00200667 0 0 0.00501667 0.00501667 0 0 -0.00100333 0.00200667 0.00702333 0.00200667 0 0.00401333 0.00200667 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0.00702333 0.00903 0 0 0 0 0 -0 0 0.00200667 0.00301 0.00200667 0 0 0 -0 0 0 0 0.494643 1.05507 1.04842 1.03997 -1.03453 1.0303 1.02849 1.02306 1.02306 1.02124 1.01762 1.02547 -1.03272 1.02849 1.02004 1.0152 1.02245 1.02608 1.01581 1.02064 -1.02124 1.01943 1.02366 1.01883 1.02064 1.01641 1.02668 1.01943 -1.02306 1.01883 1.01641 1.02547 1.01883 1.01581 1.02064 1.02185 -1.01822 1.02004 1.014 0.979568 1.01218 1.03091 1.0291 1.02668 -1.02306 1.014 1.0146 1.01218 1.01943 1.02728 1.02124 1.02004 -1.02004 1.01702 1.02245 1.02306 1.01883 1.0152 1.02487 1.04359 -1.0303 1.03997 1.03936 1.0303 1.04057 1.04238 1.03997 1.02064 -1.02426 1.01218 1.0291 1.0152 1.02185 1.01581 1.014 1.01339 -1.01581 1.01581 1.0146 1.00554 1.00916 1.014 1.0146 1.00614 -1.01279 1.01883 1.02487 1.02245 1.02064 1.02487 1.01883 1.02668 -1.0152 1.02064 1.02185 1.02185 1.01883 1.02426 1.0291 1.01762 -1.03936 1.05205 1.04238 1.04661 1.0442 1.04963 1.05205 1.04903 -1.0454 1.03634 1.04661 1.04782 1.03514 1.01641 1.0146 1.02124 -1.02185 1.02789 1.02004 1.02064 1.02185 1.01279 1.014 1.01883 -1.02728 1.02728 1.0152 1.01218 1.02185 1.01641 1.0152 1.01822 -1.01822 1.01098 1.02004 1.02245 1.02064 1.02668 1.02124 1.02124 -1.02366 1.0152 1.01883 1.02245 1.01641 1.01641 1.0146 1.01762 -1.02185 1.02185 1.02547 1.02004 1.02366 1.02608 1.02306 1.02487 -1.02124 1.02426 1.02789 1.02668 1.0303 1.0297 1.02789 1.04178 -1.04238 1.05326 0.576917 0 0 0 0 0 -0 0 0 0 0 0.00200667 0.00401333 0 -0 0 0.00301 0.00100333 0 0.00301 0.00602 0.00501667 -0.00100333 0.00301 0.00100333 0 0 0.00200667 0.00501667 0.00802667 -0.00802667 0.00401333 0 0 0 0 0.00401333 0.00100333 -0.00501667 0.00401333 0.00200667 0.00301 0.00100333 0 0.00401333 0.00702333 -0 0 0 0.00200667 0 0 0 0.00100333 -0.00100333 0.00100333 0 0 0.00200667 0 0 0 -0 0.00100333 0.00200667 0.01505 0.0130433 0.00802667 0 0 -0.00501667 0.00301 0 0.00501667 0.00401333 0 0 0 -0.00602 0.00100333 0 0 0 0 0 0 -0 0 0 0 0.67284 1.05084 1.0442 1.03393 -1.02608 1.02849 1.03212 1.03091 1.02366 1.02185 1.01883 1.01883 -1.02306 1.01943 1.01822 1.01581 1.0152 1.01822 1.02185 1.01883 -1.01822 1.0146 1.0146 1.02124 1.02124 1.0146 1.02064 1.02366 -1.01641 1.0297 1.02124 1.01098 1.01762 1.01822 1.02426 1.02004 -1.02789 1.02306 1.02004 0.983796 1.02487 1.02366 1.02245 1.0291 -1.0291 1.02849 1.02849 1.01641 1.01943 1.0303 1.0297 1.0291 -1.01943 1.02366 1.01822 1.02789 1.01641 1.02245 1.02487 1.03212 -1.03272 1.04299 1.03755 1.03634 1.02366 1.02124 1.01762 1.02306 -1.02245 1.02185 1.01581 1.02064 1.0152 1.01339 1.02064 1.02185 -1.02366 1.01762 1.00252 1.01218 1.0146 1.01822 1.02366 1.02668 -1.0146 1.02004 1.02426 1.00977 1.02547 1.01581 1.02124 1.01339 -1.02064 1.02487 1.0303 1.01581 1.02064 1.01943 1.02366 1.02185 -1.0303 1.04178 1.04782 1.05688 1.04057 1.03936 1.04722 1.0442 -1.04238 1.05205 1.04722 1.02366 1.01339 1.01037 1.0146 1.0303 -1.02124 1.01158 1.02064 1.02728 1.02306 1.02849 1.02547 1.01943 -1.014 1.02728 1.01943 1.00675 1.02306 1.02245 1.01943 1.01822 -1.02185 1.01581 1.02245 1.01943 1.02306 1.01762 1.0152 1.02547 -1.01762 1.01581 1.01702 1.02547 1.01943 1.02245 1.01943 1.01762 -1.02849 1.02366 1.02608 1.02124 1.01641 1.01762 1.02668 1.01943 -1.02064 1.02124 1.02366 1.02124 1.02728 1.02789 1.02668 1.03695 -1.04057 1.05446 0.773304 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0 0 0 0.00401333 0.00401333 0 -0 0 0 0 0.00301 0.00200667 0.00401333 0 -0 0 0 0 0.00100333 0.00602 0.00301 0.00100333 -0 0 0 0.00301 0.00401333 0 0 0 -0.00200667 0.00401333 0 0 0.00301 0.00200667 0 0 -0 0.00301 0.00200667 0 0 0.00501667 0.00200667 0.00100333 -0 0 0 0 0.00100333 0.00602 0.00401333 0.0100333 -0 0 0.00301 0 0 0.00200667 0.00602 0 -0 0.00200667 0.00401333 0 0 0 0 0 -0 0 0 0 0.841568 1.0605 1.04842 1.03997 -1.03695 1.02849 1.02849 1.02124 1.02124 1.02245 1.02124 1.01762 -1.01279 1.01581 1.01581 1.02064 1.01581 1.02064 1.02004 1.02306 -1.02004 1.02728 1.02185 1.02849 1.02668 1.02487 1.02728 1.02245 -1.02185 1.01943 1.01581 1.02789 1.02426 1.02124 1.02124 1.02064 -1.01822 1.02124 0.998896 0.997688 1.01943 1.01822 1.02004 1.02004 -1.01339 1.01822 1.02306 1.02487 1.01641 1.0146 1.01641 1.02185 -1.02306 1.01822 1.02306 1.02185 1.01883 1.02004 1.01883 1.014 -1.02306 1.0152 1.01762 1.02306 1.01822 1.02366 1.01883 1.01943 -1.02064 1.02306 1.02064 1.0291 1.02245 1.03332 1.01822 1.02004 -1.02004 1.01822 1.0152 1.0152 1.02306 1.0146 1.01702 1.014 -1.02608 1.02124 1.02245 1.01762 1.01762 1.03091 1.02487 1.01641 -1.02547 1.02245 1.01943 1.02668 1.02124 1.01762 1.02064 1.02124 -1.014 1.0297 1.03695 1.03634 1.05144 1.05688 1.04299 1.04299 -1.04299 1.03936 1.02487 1.02124 1.02366 1.02124 1.02728 1.0146 -1.01762 1.0291 1.02547 1.02426 1.02245 1.00856 1.01762 1.02668 -1.02306 1.02185 1.01339 1.01762 1.01702 1.01883 1.02487 1.02185 -1.02668 1.01581 1.01641 1.01762 1.01702 1.01822 1.02668 1.02064 -1.02366 1.01943 1.02245 1.01581 1.01702 1.02245 1.01037 1.02185 -1.01943 1.02124 1.0152 1.01641 1.0152 1.02064 1.0152 1.01581 -1.02789 1.02608 1.02487 1.02245 1.0291 1.0297 1.03332 1.03212 -1.0454 1.05688 0.931248 0.0341133 0 0 0 0 -0 0 0 0 0.00501667 0.00100333 0 0 -0 0 0 0.00100333 0.00702333 0 0 0 -0.00301 0.00301 0.00401333 0.01204 0.00602 0 0 0.00301 -0 0 0 0.00501667 0.00501667 0 0 0 -0 0 0.00401333 0.00301 0 0.00100333 0.00301 0.00301 -0 0 0 0 0 0 0.00301 0.00100333 -0.00100333 0 0 0.00200667 0.00200667 0.00200667 0.00301 0.00501667 -0.0110367 0.01204 0.00702333 0 0 0 0 0 -0 0 0.00200667 0.00702333 0.00501667 0.00301 0 0.00301 -0 0 0 0 0 0 0 0 -0 0 0 0.0381267 0.943932 1.05326 1.04299 1.03755 -1.03272 1.02728 1.02124 1.01883 1.02306 1.02366 1.02245 1.02487 -1.01641 1.02064 1.02728 1.01702 1.02366 1.02064 1.01702 1.02124 -1.01581 1.02547 1.02547 1.02487 1.02366 1.0152 1.02064 1.02306 -1.02245 1.02547 1.01702 1.01098 1.01883 1.02487 1.00796 1.02487 -1.02064 1.01158 0.985608 1.00916 1.0303 1.02608 1.02668 1.01943 -1.02306 1.03212 1.02608 1.02728 1.02668 1.02547 1.02608 1.02124 -1.03151 1.03453 1.01883 1.03091 1.02426 1.02426 1.02849 1.03091 -1.02306 1.01822 1.02487 1.02426 1.02366 1.01943 1.02004 1.02004 -1.02306 1.02245 1.02547 1.01581 1.03272 1.02306 1.02487 1.01581 -1.02366 1.02366 1.02124 1.01098 1.01339 1.02064 1.01883 1.01581 -1.03091 1.01762 1.01158 1.01279 1.02366 1.0146 1.01339 1.02487 -1.02426 1.01702 1.0297 1.02608 1.01822 1.02064 1.02004 1.02124 -1.01339 1.02124 1.01641 1.01943 1.02849 1.02668 1.02789 1.02064 -1.0146 1.02064 1.02306 1.01641 1.02668 1.02728 1.01158 1.01218 -1.02245 1.02608 1.01762 1.0152 1.01279 1.02124 1.02185 1.02306 -1.01641 1.02306 1.02487 1.01279 1.00675 1.02366 1.02124 1.00856 -1.01339 1.0297 1.02185 1.02608 1.01762 1.02547 1.02306 1.02245 -1.03212 1.02487 1.02245 1.02245 1.02366 1.02668 1.02366 1.02366 -1.02064 1.014 1.02124 1.02366 1.02185 1.02124 1.01762 1.02064 -1.0146 1.01581 1.02004 1.02245 1.02789 1.02668 1.03151 1.03634 -1.0448 1.04782 0.976548 0.09331 0 0 0 0 -0 0 0.00301 0.00301 0 0 0 0.00802667 -0.0140467 0.00903 0.00200667 0 0 0 0 0.00100333 -0.00100333 0.00200667 0 0 0 0 0 0 -0 0.0100333 0.00702333 0.00301 0 0 0 0.00301 -0.00301 0.00200667 0.00200667 0 0.00401333 0 0 0 -0 0 0 0 0.00100333 0 0 0.00100333 -0 0.00200667 0.00602 0 0 0 0 0 -0 0 0 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.09632 0.995876 1.05507 1.03997 1.03453 -1.03514 1.0297 1.02426 1.02487 1.01762 1.02185 1.02185 1.02789 -1.0297 1.02306 1.00856 1.0146 1.01762 1.02004 1.02487 1.03151 -1.03393 1.02004 1.01581 1.01943 1.02366 1.02306 1.02366 1.03272 -1.02426 1.0291 1.02668 1.0146 1.01339 1.01943 1.01883 1.02487 -1.02849 1.02306 0.99648 1.02366 1.02064 1.02306 1.02306 1.01702 -1.02124 1.02004 1.02245 1.02426 1.02849 1.02849 1.01762 1.02668 -1.0152 1.0303 1.0291 1.0297 1.02608 1.03755 1.02728 1.02064 -1.02245 1.01762 1.01339 1.02426 1.02547 1.02366 1.0152 1.02306 -1.02426 1.02306 1.02064 1.02004 1.01822 1.01822 1.02306 1.01943 -1.01702 1.02124 1.02004 1.0152 1.02245 1.00977 1.02728 1.01822 -1.01702 1.01581 1.02668 1.02668 1.03332 1.02608 1.02064 1.02124 -1.03091 1.01883 1.0146 1.02064 1.01883 1.0297 1.01037 1.02245 -1.01762 1.0146 1.014 1.02849 1.02849 1.02306 1.00735 1.0291 -1.0291 1.01943 1.02124 1.0303 1.02245 1.02124 1.02064 1.01762 -1.02789 1.02728 1.02366 1.0146 1.02366 1.02547 1.02004 1.02547 -1.01762 1.02366 1.03212 1.02306 1.014 1.01943 1.02366 1.0146 -1.01883 1.01762 1.02064 1.01883 1.01883 1.02064 1.01581 1.01581 -1.00796 1.02064 1.02004 1.02306 1.02426 1.01943 1.02124 1.02245 -1.01883 1.02547 1.01883 1.0152 1.01883 1.01641 1.01641 1.02185 -1.02306 1.03151 1.02547 1.02185 1.02487 1.02426 1.0291 1.03332 -1.0448 1.05326 1.01762 0.169563 0 0 0 0 -0 0 0 0 0 0 0.00301 0.00200667 -0.00100333 0 0.00200667 0.00602 0.00903 0.00903 0.0100333 0.01204 -0.0110367 0.00200667 0 0 0.00100333 0 0 0.00501667 -0.0110367 0.00301 0 0.00301 0.00401333 0.00100333 0 0.00200667 -0.00200667 0.00100333 0 0.00200667 0 0 0 0 -0 0.00301 0.00100333 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0.00501667 0.00401333 0 -0 0 0 0.00401333 0.00301 0.00702333 0.00401333 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0.148493 1.01098 1.04963 1.03695 1.02668 -1.02849 1.02668 1.02306 1.02185 1.02426 1.02124 1.01762 1.01339 -1.01218 1.0152 1.03332 1.02426 1.02004 1.01883 1.01641 1.0146 -1.02245 1.02487 1.02547 1.0297 1.02487 1.03574 1.02245 1.03091 -1.02487 1.01822 1.02064 1.02608 1.02426 1.02789 1.02124 1.03332 -1.01822 1.00977 1.00614 1.01641 1.02185 1.02608 1.01883 1.02185 -1.01762 1.02306 1.01883 1.0291 1.02728 1.02487 1.03514 1.03453 -1.04178 1.03816 1.04178 1.03574 1.02547 1.0146 1.02004 1.01883 -1.01641 1.03634 1.01702 1.00675 1.02185 1.01581 1.02124 1.02064 -1.02124 1.02366 1.02487 1.01339 1.02426 1.01098 1.01581 1.03212 -1.02789 1.02004 1.02064 1.02849 1.02789 1.0146 1.01943 1.03453 -1.02185 1.02608 1.01641 1.0146 1.01641 1.02547 1.02728 1.01943 -1.01641 1.01822 1.0146 1.02487 1.0152 1.01762 1.02608 1.02004 -1.01762 1.01218 1.02306 1.01702 1.01279 1.0146 1.01943 1.02789 -1.01943 1.02426 1.03151 1.0146 1.01641 1.02487 1.0291 1.02306 -1.02124 1.0152 1.02124 1.02487 1.01883 1.0152 1.01943 1.02185 -1.01822 1.01641 1.02728 1.02306 1.0146 1.02245 1.02185 1.02547 -1.02608 1.01883 1.02426 1.02487 1.01581 1.02789 1.02124 1.0291 -1.0291 1.02185 1.02124 1.02004 1.02789 1.02185 1.02487 1.02547 -1.01762 1.01762 1.01339 1.02487 1.01641 1.014 1.02004 1.01762 -1.02306 1.01279 1.00554 1.02064 1.02245 1.0297 1.03212 1.03634 -1.04057 1.04722 1.03936 0.26488 0 0 0 0 -0 0 0 0 0.00100333 0.00200667 0 0 -0 0.00100333 0.00200667 0 0 0.00200667 0.00200667 0 -0 0 0.00301 0 0 0.00702333 0.0100333 0.00501667 -0 0.00200667 0.00200667 0 0.00200667 0.00501667 0.00401333 0.00100333 -0 0 0 0.00501667 0 0.00301 0.00200667 0 -0 0 0 0 0 0.00602 0.00401333 0.00501667 -0 0 0 0 0 0.00100333 0.00200667 0.00802667 -0.00301 0.00100333 0 0.0100333 0.00903 0.00401333 0 0.00602 -0.0110367 0.00401333 0 0 0.00200667 0 0 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0.22876 1.03634 1.04903 1.04057 1.03212 -1.0291 1.0297 1.02547 1.02668 1.02185 1.01943 1.02487 1.02426 -1.02426 1.02366 1.02306 1.02728 1.02306 1.02789 1.02789 1.02668 -1.02789 1.03151 1.03332 1.03332 1.03695 1.02608 1.03272 1.03332 -1.03695 1.03393 1.02245 1.02547 1.0146 1.02004 1.01762 1.02789 -1.01883 1.00856 1.00796 1.02064 1.01762 1.02608 1.01943 1.02366 -1.02668 1.02849 1.02245 1.02789 1.03997 1.03997 1.03936 1.04903 -1.04238 1.0448 1.04359 1.04359 1.03936 1.03272 1.0291 1.02668 -1.02487 1.02789 1.03997 1.02668 1.02245 1.02064 1.02124 1.02849 -1.01943 1.01339 1.02124 1.01702 1.02245 1.01641 1.01279 1.02004 -1.01762 1.0146 1.01762 1.02789 1.00916 1.01098 1.03212 1.00312 -1.01822 1.03151 1.01702 1.02124 1.01883 1.01822 1.01943 1.01943 -1.02185 1.02668 1.0291 1.02064 1.02487 1.0291 1.02849 1.02426 -1.02306 1.0303 1.02849 1.01581 1.02185 1.01883 1.02487 1.02064 -1.02608 1.03514 1.02547 1.02668 1.03453 1.0303 1.01943 1.02487 -1.01943 1.02366 1.0303 1.0291 1.03151 1.0303 1.01218 1.02124 -1.02124 1.02789 1.01762 1.02668 1.00735 1.01702 1.0152 1.01762 -1.0146 1.02366 1.03393 1.02306 1.01762 1.0291 1.02004 1.0291 -1.02426 1.03151 1.0303 1.0291 1.02185 1.02487 1.02487 1.01702 -1.01883 1.0297 1.02245 1.02789 1.01943 1.01339 1.01822 1.02185 -1.01762 1.01762 1.02366 1.02668 1.02547 1.02487 1.0297 1.03393 -1.03574 1.04299 1.04963 0.353173 0 0 0 0 -0 0 0 0 0 0.00301 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0.00100333 0.00100333 0.0100333 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0.00602 0.00702333 0.00401333 0 0 0.00100333 0.00301 -0 0.00200667 0.00501667 0.00401333 0.00200667 0.00100333 0 0 -0.00702333 0.00401333 0 0 0 0 0 0 -0.00200667 0.00501667 0.00200667 0 0 0 0 0 -0 0.00501667 0.00802667 0 0 0.00100333 0.00903 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0.290967 1.04238 1.05265 1.04299 1.03634 -1.03272 1.02124 1.02185 1.02668 1.02487 1.01822 1.01702 1.01943 -1.01822 1.0152 1.01883 1.01702 1.01822 1.02004 1.02306 1.03212 -1.03876 1.03212 1.00856 0.986816 0.962656 0.992252 1.01581 1.02789 -1.03332 1.03634 1.02426 1.03393 1.01883 1.02487 1.02728 1.02849 -1.0291 1.00071 1.01158 1.02306 1.02306 1.02426 1.01883 1.02728 -1.02004 1.02608 1.02306 1.03997 1.03755 1.04359 1.01037 0.935476 -0.855736 0.81452 0.934268 1.00977 1.03453 1.0442 1.03332 1.03574 -1.03212 1.02789 1.02185 1.02366 1.02426 1.00856 1.02185 1.02306 -1.02306 1.02426 1.02004 1.0152 1.02185 1.01762 1.02728 1.0297 -1.02426 1.02064 1.02064 1.02064 1.02004 1.0146 1.02668 1.0291 -1.0146 1.02487 1.02306 1.01762 1.01822 1.01762 1.01883 1.01883 -1.01943 1.02124 1.02366 1.02185 1.01641 1.02245 1.00916 1.02366 -1.01822 1.0152 1.01037 1.0146 1.02245 1.02849 1.01943 1.02487 -1.0291 1.0297 1.02547 1.03151 1.02668 1.02306 1.03091 1.03091 -1.03453 1.02789 1.02608 1.02185 1.02608 1.0291 1.02124 1.0291 -1.03212 1.02366 1.02306 1.0146 1.02608 1.0146 1.02185 1.02124 -1.02366 1.01883 1.0146 1.02245 1.01943 1.02547 1.03634 1.02547 -1.03272 1.03332 1.02789 1.02124 1.02547 1.03514 1.02608 1.01943 -1.02487 1.01581 1.01943 1.0291 1.02366 1.02728 1.02185 1.02245 -1.02245 1.0291 1.02306 1.02366 1.01822 1.02306 1.02547 1.03212 -1.03695 1.04359 1.04963 0.458523 0 0 0 0 -0 0 0 0 0.00200667 0 0 0 -0 0 0.00702333 0.00702333 0 0.00100333 0.00200667 0.00301 -0.00501667 0.00301 0.00301 0 0 0.00100333 0.00602 0.00301 -0.00100333 0.00200667 0.00401333 0.00401333 0.00602 0.00501667 0.00702333 0.00200667 -0.00602 0.00702333 0.00401333 0 0.00301 0.00100333 0 0 -0.00100333 0.00200667 0 0 0 0 0.00100333 0.00401333 -0.00200667 0 0.00401333 0.00802667 0 0 0.00401333 0 -0 0 0 0.00200667 0.00301 0 0 0.00401333 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.365213 1.05386 1.04782 1.03453 1.02728 -1.02668 1.02608 1.02728 1.02004 1.02366 1.0291 1.02668 1.02064 -1.02306 1.02124 1.01822 1.02366 1.02366 1.0303 1.03453 1.02789 -0.949972 0.681856 0.521733 0.492637 0.473573 0.48762 0.563873 0.797776 -1.00071 1.03514 1.03574 1.02789 1.0303 1.01822 1.02064 1.0146 -1.01339 0.991044 1.02306 1.02728 1.02728 1.02185 1.02728 1.02668 -1.02728 1.03272 1.03695 1.03755 0.986816 0.59598 0.281937 0.182607 -0.137457 0.130433 0.15652 0.303007 0.59899 0.997084 1.0454 1.03453 -1.0297 1.0291 1.02849 1.03151 1.03212 1.02426 1.02608 1.01218 -1.01339 1.02487 1.01702 1.02426 1.01037 1.01641 1.02728 1.02366 -1.02124 1.0146 1.0146 1.01641 1.02004 1.02004 1.00916 1.01641 -1.01762 1.01883 1.02426 1.01158 1.0152 1.01822 1.02608 1.0146 -1.02004 1.0152 1.02547 1.02366 1.02789 1.02547 1.02487 1.02245 -1.00977 1.02124 1.01943 1.02487 1.0303 1.02185 1.03212 1.02487 -1.03091 1.03816 1.03695 1.03091 1.04057 1.04118 1.04178 1.03272 -1.03514 1.03514 1.0291 1.0297 1.02245 1.02124 1.01702 1.03212 -1.02245 1.01641 1.02366 1.02668 1.02487 1.014 1.02547 1.02306 -1.02426 1.02426 1.02306 1.02547 1.0291 1.03514 1.0303 1.03393 -1.03634 1.02064 1.01943 1.02064 1.03332 1.02426 1.02789 1.02849 -1.0291 1.0297 1.03272 1.01581 1.01883 1.01641 1.01581 1.01279 -1.02004 1.01822 1.02547 1.02185 1.02004 1.02426 1.03272 1.02728 -1.03574 1.05024 1.0605 0.558857 0 0 0 0 -0 0 0 0 0 0.00100333 0 0.00100333 -0 0 0 0.00100333 0.00200667 0 0 0.00802667 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0 0.00100333 0.00301 -0 0 0 0.0100333 0 0 0.00100333 0.00702333 -0.00200667 0 0 0 0 0.00301 0 0 -0 0 0 0 0.00100333 0 0 0.00602 -0.00802667 0 0 0 0 0 0.00100333 0 -0.00200667 0.00301 0 0.00602 0.00602 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0 0 0 0.419393 1.05567 1.0442 1.03514 1.03574 -1.04118 1.02608 1.02487 1.02547 1.02245 1.02426 1.0152 1.02124 -1.02124 1.02306 1.02608 1.01943 1.02668 1.03212 1.01581 0.770728 -0.46053 0.432437 0.43946 0.444477 0.452503 0.461533 0.46655 0.462537 -0.55986 0.934872 1.03151 1.02185 1.02668 1.0303 1.02849 1.0303 -1.02306 0.988024 1.02004 1.02366 1.01883 1.02608 1.02849 1.02668 -1.03393 1.04057 1.04722 0.926416 0.315047 0.12341 0.12341 0.128427 -0.130433 0.128427 0.113377 0.107357 0.112373 0.303007 0.905968 1.04118 -1.0442 1.02608 1.02366 1.03393 1.02185 1.02849 1.02728 1.02668 -1.02004 1.0146 1.02366 1.02728 1.02004 1.02004 1.014 1.02849 -1.02608 1.01762 1.0146 1.02306 1.02366 1.02426 1.02185 1.02064 -1.02124 1.01762 1.01762 1.02185 1.0303 1.02124 1.01762 1.02185 -1.02728 1.02728 1.02487 1.02668 1.03272 1.02064 1.01883 1.01943 -1.02608 1.02426 1.03212 1.02124 1.02668 1.02789 1.02487 1.03212 -1.03393 1.03151 1.04661 1.0291 1.02608 1.01218 1.01702 1.03876 -1.04903 1.0442 1.03936 1.03514 1.02547 1.02728 1.02849 1.03091 -1.02185 1.01702 1.01883 1.01581 1.0152 1.01762 1.01822 1.02668 -1.0146 1.02849 1.02426 1.03212 1.03453 1.04057 1.00433 0.91112 -0.710192 0.581933 0.555847 0.58695 0.716632 0.944536 1.014 1.03393 -1.02668 1.02487 1.0303 1.02487 1.01702 1.02004 1.02306 1.01702 -1.02728 1.02124 1.02306 1.01943 1.02306 1.02728 1.02487 1.0297 -1.03332 1.0448 1.05144 0.626472 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0.00200667 0 0 0.00100333 0.00100333 0 -0 0 0 0 0 0.00501667 0.00602 0 -0 0 0.00501667 0.00702333 0 0.00200667 0.00100333 0 -0 0.00702333 0.00501667 0 0.00401333 0.00602 0.00100333 0 -0 0 0.00200667 0.00200667 0 0 0 0.0100333 -0.00702333 0 0 0 0 0.00301 0.00401333 0 -0 0 0.00100333 0.00100333 0.00200667 0 0 0 -0 0 0.00301 0.00200667 0 0.00802667 0.0160533 0.00802667 -0.00602 0 0 0.00602 0 0 0 0 -0 0 0 0.48461 1.0593 1.04782 1.03876 1.0303 -1.02185 1.02245 1.02608 1.02004 1.0152 1.01641 1.01883 1.01943 -1.02849 1.02185 1.01641 1.02366 1.02849 1.02004 0.773304 0.473573 -0.458523 0.45451 0.441467 0.467553 0.462537 0.45752 0.45451 0.45451 -0.46053 0.521733 0.9542 1.03695 1.02185 1.02245 1.02849 1.02547 -1.0152 0.99044 1.0303 1.02487 1.0303 1.0297 1.02547 1.0297 -1.04118 1.03514 0.931852 0.24983 0.122407 0.134447 0.14448 0.151503 -0.133443 0.143477 0.148493 0.13545 0.134447 0.11137 0.256853 0.929436 -1.04118 1.03453 1.0291 1.01943 1.01943 1.02849 1.02789 1.02487 -1.03212 1.0146 1.01943 1.0146 1.02124 1.02668 1.02185 1.02004 -1.02306 1.02487 1.01581 1.02306 1.02064 1.02306 1.0297 1.02306 -1.01641 1.02728 1.02124 1.0291 1.02306 1.02124 1.02185 1.02547 -1.02064 1.0146 1.02004 1.02306 1.02004 1.01883 1.02064 1.02124 -1.03091 1.01883 1.01762 1.01702 1.02608 1.02426 1.02728 1.03936 -1.04238 1.02487 0.876344 0.519727 0.32508 0.260867 0.29197 0.38829 -0.65352 0.970508 1.03755 1.03997 1.03997 1.03212 1.02728 1.02547 -1.01581 1.01883 1.02004 1.02487 1.02124 1.014 1.02849 1.02185 -1.02426 1.02728 1.03332 1.02849 1.02728 0.945744 0.599993 0.471567 -0.45451 0.444477 0.44548 0.447487 0.422403 0.449493 0.649656 0.9693 -1.03272 1.03151 1.02124 1.01218 1.02064 1.02124 1.02004 1.0297 -1.02547 1.01581 1.01702 1.02245 1.02789 1.0303 1.03212 1.03936 -1.03816 1.0442 1.05567 0.723072 0 0 0 0 -0 0 0 0 0.00100333 0 0 0.00100333 -0.00200667 0.0100333 0.00100333 0.00301 0.00501667 0 0 0.00200667 -0.00501667 0.00301 0.00702333 0.00802667 0.00501667 0 0 0.00200667 -0.00602 0.00401333 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00301 -0.00501667 0.00200667 0 0 0.00401333 0.00702333 0 0 -0.00301 0.00802667 0.00301 0 0.00100333 0 0 0.00401333 -0.00802667 0 0 0 0.00401333 0.00200667 0.00301 0.00501667 -0.00401333 0 0 0 0.00200667 0.00301 0 0 -0.00401333 0.00802667 0 0 0 0 0 0 -0 0 0 0.518723 1.05688 1.04661 1.03876 1.03091 -1.03332 1.02728 1.02306 1.02487 1.02185 1.02124 1.02064 1.01762 -1.0146 1.0303 1.02789 1.0291 1.03332 0.914984 0.492637 0.444477 -0.44849 0.455513 0.474577 0.458523 0.471567 0.470563 0.480597 0.46354 -0.455513 0.447487 0.56287 0.9995 1.03212 1.02608 1.02185 1.03332 -1.02245 0.995272 1.02004 1.02547 1.02426 1.02064 1.0291 1.03272 -1.02849 1.01339 0.383273 0.109363 0.11739 0.13545 0.157523 0.137457 -0.15652 0.16254 0.143477 0.142473 0.146487 0.122407 0.112373 0.362203 -1.00614 1.03997 1.03695 1.04057 1.0146 1.02789 1.02306 1.02064 -1.02124 1.01822 1.01822 1.02004 1.01883 1.0291 1.00675 1.0291 -1.01822 1.01883 1.02668 1.02608 1.02547 1.02185 1.02004 1.02849 -1.02124 1.01762 1.01158 1.02426 1.02124 1.01883 1.02366 1.02366 -1.0146 1.014 1.02124 1.01641 1.02185 1.02668 1.01822 1.02849 -1.01218 1.01943 1.02789 1.02064 1.02789 1.02487 1.03272 1.05507 -0.974736 0.462537 0.14749 0.109363 0.116387 0.116387 0.130433 0.13545 -0.124413 0.245817 0.708904 1.01943 1.03755 1.03514 1.02366 1.02668 -1.01943 1.02004 1.03212 1.02185 1.01883 1.01822 1.02124 1.02728 -1.02245 1.02426 1.03151 1.0291 0.930644 0.50869 0.458523 0.45752 -0.44548 0.456517 0.452503 0.45451 0.45752 0.443473 0.441467 0.537787 -0.952992 1.0297 1.03212 1.02547 1.02124 1.02426 1.02185 1.0146 -1.01943 1.02124 1.01641 1.02185 1.02608 1.02064 1.02608 1.02668 -1.03876 1.04782 1.05446 0.793912 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00602 0.00100333 0.00200667 0.00501667 0 -0.00200667 0 0 0.00301 0.00301 0.00301 0.00401333 0 -0 0 0 0.00100333 0.00301 0.00301 0 0 -0 0 0.00100333 0.00200667 0.00602 0.00501667 0.00301 0 -0 0.00401333 0.00802667 0.0100333 0.00301 0 0 0 -0 0 0 0 0 0.00100333 0.00501667 0.00401333 -0 0.00602 0.00903 0.00401333 0.00100333 0.00301 0 0 -0 0.00501667 0.00501667 0.00602 0.00301 0 0.00301 0 -0 0 0.00200667 0.0140467 0 0 0 0 -0 0 0 0.55685 1.05628 1.04601 1.03332 1.03212 -1.02366 1.02426 1.02789 1.02487 1.02185 1.02124 1.02064 1.02668 -1.02185 1.02547 1.03272 1.02849 1.00796 0.575913 0.44548 0.46354 -0.452503 0.46354 0.461533 0.465547 0.467553 0.477587 0.477587 0.46956 -0.473573 0.455513 0.450497 0.819672 1.03212 1.03272 1.0291 1.02668 -1.02306 1.00796 1.01883 1.02426 1.02366 1.02547 1.02064 1.03574 -1.04661 0.76944 0.133443 0.11438 0.125417 0.154513 0.15351 0.143477 -0.151503 0.16856 0.164547 0.176587 0.152507 0.142473 0.13244 0.146487 -0.80164 1.03634 1.03574 1.02608 1.02124 1.03514 1.01822 1.01762 -1.01762 1.02849 1.0303 1.01822 1.0303 1.0152 1.01702 1.02608 -1.01098 1.02426 1.0146 1.01581 1.03091 1.02668 1.0146 1.02426 -1.01702 1.02064 1.02608 1.02789 1.02366 1.01581 1.01822 1.01641 -1.02306 1.014 1.01702 1.0297 1.0152 1.02064 1.01883 1.01641 -1.0146 1.03091 1.01822 1.03091 1.03151 1.04238 1.04722 0.968696 -0.33411 0.100333 0.11739 0.122407 0.124413 0.14749 0.14147 0.137457 -0.133443 0.118393 0.149497 0.59899 1.03212 1.03876 1.02185 1.02064 -1.02185 1.02668 1.01883 1.02366 1.01822 1.01943 1.01943 1.01702 -1.02547 1.02789 1.03695 0.97534 0.530763 0.4515 0.46354 0.458523 -0.474577 0.468557 0.459527 0.477587 0.482603 0.461533 0.446483 0.444477 -0.588957 0.992252 1.02849 1.02306 1.02245 1.02004 1.02608 1.014 -1.01581 1.02426 1.02668 1.01822 1.02124 1.02789 1.02849 1.03332 -1.03574 1.03936 1.05446 0.858312 0.00802667 0 0 0 -0 0 0 0 0.00200667 0.00100333 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00200667 -0 0.00100333 0.00501667 0.00200667 0.00100333 0 0 0 -0.00100333 0.00401333 0.00501667 0.00903 0 0 0 0 -0 0 0 0 0.00100333 0.00301 0.00301 0.00200667 -0.00100333 0.00100333 0 0.00200667 0.00401333 0.00100333 0 0 -0 0 0 0 0 0 0.00401333 0.00301 -0.00702333 0.00702333 0.00702333 0 0 0 0 0.00401333 -0.00802667 0.00100333 0 0 0 0 0 0 -0 0 0 0.576917 1.0593 1.0442 1.03514 1.03453 -1.03212 1.02728 1.02245 1.02064 1.02306 1.0146 1.01883 1.02185 -1.02124 1.0297 1.02487 1.03212 0.932456 0.479593 0.458523 0.462537 -0.471567 0.467553 0.450497 0.471567 0.455513 0.482603 0.47859 0.473573 -0.474577 0.465547 0.453507 0.582937 1.00856 1.03393 1.03755 1.02124 -1.01581 1.01158 1.03212 1.0291 1.02245 1.0297 1.02668 1.03151 -1.03151 0.44548 0.1204 0.13846 0.13244 0.143477 0.15351 0.15953 -0.166553 0.164547 0.14147 0.157523 0.1806 0.155517 0.13846 0.134447 -0.468557 1.02849 1.03393 1.02064 1.02547 1.02668 1.02426 1.01943 -1.02487 1.03453 1.02004 1.02064 1.01702 1.0152 1.02124 1.0146 -1.0291 1.0146 1.02728 1.02245 1.02728 1.01943 1.01883 1.02124 -1.00494 1.0291 1.0146 1.01883 1.02306 1.02668 1.01158 1.02064 -1.01883 1.03091 1.02245 1.02426 1.01641 1.03453 1.01822 1.02366 -1.02245 1.03091 1.02728 1.0291 1.03393 1.03332 1.01158 0.413373 -0.0903 0.11137 0.134447 0.140467 0.137457 0.146487 0.142473 0.14147 -0.145483 0.143477 0.134447 0.16254 0.778456 1.0448 1.0291 1.03151 -1.02668 1.02366 1.02185 1.02426 1.02487 1.01279 1.0146 1.02306 -1.03393 1.03755 1.02487 0.69216 0.443473 0.465547 0.456517 0.47859 -0.474577 0.476583 0.485613 0.482603 0.462537 0.47257 0.455513 0.44548 -0.437453 0.804216 1.02245 1.02426 1.02366 1.01641 1.014 1.01822 -1.02789 1.02306 1.02728 1.02547 1.02245 1.02608 1.02849 1.02849 -1.03332 1.04057 1.05748 0.896952 0.00903 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00602 0.00301 0.00702333 0.0100333 0.00200667 0 0 0 -0 0.00401333 0 0 0 0 0 0 -0.00903 0.0100333 0.00602 0.00301 0 0 0 0 -0.00100333 0.00200667 0.00401333 0.00401333 0 0 0.00200667 0.00200667 -0 0.00301 0.00301 0.00301 0 0 0 0 -0 0.00100333 0 0 0 0 0.00200667 0.00301 -0.00200667 0 0.00301 0.00501667 0.00702333 0 0 0 -0.00200667 0 0 0.00401333 0.00200667 0 0 0 -0 0 0.00401333 0.00501667 0 0 0 0 -0 0 0 0.590963 1.05084 1.04178 1.03514 1.0291 -1.02366 1.02004 1.02004 1.02668 1.02789 1.02185 1.01822 1.01822 -1.01943 1.02547 1.02245 1.03574 0.809368 0.462537 0.464543 0.45451 -0.453507 0.46354 0.468557 0.465547 0.473573 0.479593 0.464543 0.47257 -0.480597 0.46354 0.43946 0.49966 0.971716 1.03091 1.0297 1.02608 -1.00856 1.01339 1.02849 1.01702 1.03212 1.02185 1.03816 1.03514 -1.00614 0.281937 0.115383 0.134447 0.13846 0.151503 0.15652 0.149497 -0.16856 0.17759 0.164547 0.16555 0.155517 0.155517 0.149497 0.12943 -0.293977 1.01279 1.03634 1.0297 1.03574 1.02064 1.02608 1.0146 -1.01641 1.02064 1.01762 1.02366 1.02608 1.02064 1.02608 1.01822 -1.00796 1.03212 1.02789 1.02547 1.02547 1.02245 1.01581 1.014 -1.03272 1.02547 1.02306 1.01762 1.0146 1.02245 1.02849 1.03091 -1.02366 1.01822 1.02185 1.01883 1.0303 1.014 1.01822 1.02245 -1.01581 1.03272 1.02245 1.02668 1.03151 1.0454 0.786184 0.12943 -0.101337 0.106353 0.13545 0.137457 0.148493 0.15953 0.15953 0.15953 -0.173577 0.181603 0.140467 0.0923067 0.31003 0.997084 1.04661 1.03574 -1.01883 1.03272 1.03151 1.02064 1.02245 1.00856 1.014 1.03695 -1.02849 1.02668 0.988024 0.507687 0.43946 0.455513 0.46053 0.47257 -0.49364 0.48461 0.465547 0.482603 0.473573 0.47257 0.468557 0.461533 -0.455513 0.56889 1.01037 1.03634 1.02245 1.02849 1.01943 1.02789 -1.02124 1.02004 1.02064 1.01641 1.02366 1.02426 1.02366 1.02547 -1.03695 1.04299 1.05084 0.895664 0.01204 0 0 0 -0 0 0 0.00301 0.00100333 0 0 0.00100333 -0 0 0 0 0 0 0.00401333 0.00501667 -0.00401333 0.0100333 0.00903 0.00903 0.01204 0.01505 0.00802667 0 -0 0 0 0 0 0.00401333 0.00100333 0 -0 0 0 0 0 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0.00401333 0.00401333 0.00100333 0.00602 -0.00702333 0.00401333 0 0 0.00301 0.0110367 0.00602 0 -0 0 0 0 0.00501667 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.62132 1.05869 1.04842 1.03936 1.03393 -1.02487 1.01943 1.02306 1.02124 1.02004 1.02245 1.02366 1.02004 -1.0152 1.01943 1.02487 1.02547 0.729512 0.437453 0.438457 0.46053 -0.467553 0.479593 0.474577 0.482603 0.482603 0.474577 0.47257 0.459527 -0.462537 0.465547 0.443473 0.471567 0.950576 1.02668 1.03212 1.03151 -1.01822 1.02124 1.02004 1.02487 1.02306 1.02064 1.02849 1.03212 -0.994064 0.24682 0.125417 0.136453 0.149497 0.155517 0.173577 0.161537 -0.164547 0.16555 0.167557 0.164547 0.169563 0.15652 0.145483 0.124413 -0.242807 1.00131 1.04118 1.03272 1.02306 1.02668 1.02245 1.01762 -1.02728 1.02185 1.01762 1.01702 1.0146 1.01702 1.03091 1.0146 -1.02185 1.01822 1.02064 1.014 1.0152 1.02608 1.01098 0.969904 -1.02306 1.01822 1.02849 1.0146 1.02245 1.02124 1.01883 1.02547 -1.02608 1.02366 1.01581 1.01943 1.01641 1.02004 1.03212 1.02064 -1.02124 1.02608 1.02306 1.03393 1.04601 1.02668 0.401333 0.0943133 -0.0953167 0.128427 0.142473 0.146487 0.175583 0.160533 0.164547 0.16555 -0.191637 0.19565 0.16254 0.106353 0.131437 0.818384 1.04238 1.03151 -1.02728 1.03272 1.02487 1.03091 1.02124 1.00373 1.03091 1.03453 -1.02185 1.02668 0.912408 0.462537 0.455513 0.455513 0.48762 0.473573 -0.470563 0.474577 0.47558 0.471567 0.479593 0.470563 0.46354 0.444477 -0.46053 0.476583 0.95118 1.02547 1.01943 1.02547 1.02487 1.0297 -1.02185 1.01943 1.02124 1.02004 1.02245 1.02608 1.02547 1.04118 -1.04359 1.0454 1.05144 0.907256 0.0190633 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0 0 0 0.00301 0 0.00802667 -0.00301 0 0 0 0 0 0 0 -0.00301 0.00501667 0.00602 0.00501667 0.00200667 0.00100333 0.00602 0.00602 -0.0100333 0.00702333 0.00401333 0 0 0 0.00100333 0.00100333 -0.00200667 0.00602 0.00200667 0 0.00100333 0.00301 0.00401333 0.00602 -0.00501667 0 0.00200667 0.00501667 0 0 0 0 -0 0 0.00301 0.00401333 0 0 0 0.00401333 -0.00602 0.00301 0.00702333 0.0130433 0.00602 0.00602 0.00501667 0 -0 0 0 0 0 0 0 0 -0 0 0 0.616168 1.05748 1.04359 1.03755 1.03212 -1.0291 1.03151 1.03332 1.01883 1.02004 1.02366 1.0297 1.02668 -1.02306 1.02426 1.02547 1.03151 0.739816 0.449493 0.46053 0.45451 -0.458523 0.456517 0.47257 0.46354 0.471567 0.477587 0.47859 0.47257 -0.483607 0.46655 0.452503 0.489627 0.95722 1.03936 1.02245 1.03393 -1.02004 1.014 1.02004 1.02608 1.03151 1.02608 1.02487 1.03272 -1.00192 0.266887 0.125417 0.134447 0.146487 0.146487 0.15953 0.16555 -0.184613 0.169563 0.154513 0.140467 0.1505 0.158527 0.125417 0.115383 -0.268893 1.014 1.02668 1.03272 1.02728 1.02185 1.02064 1.0297 -1.01883 1.02668 1.02426 1.0146 1.02124 1.02426 1.00916 1.02366 -1.02245 1.02306 1.02668 1.02547 1.01822 1.01762 0.926416 0.251837 -0.965676 1.02185 1.01762 1.02668 1.01581 1.02245 1.02487 1.0146 -1.02608 1.01581 1.00977 1.02306 1.03091 1.01702 1.0146 1.02064 -1.0146 1.0291 1.02124 1.03151 1.04359 0.989232 0.232773 0.11137 -0.125417 0.130433 0.131437 0.160533 0.166553 0.161537 0.17759 0.167557 -0.166553 0.163543 0.151503 0.118393 0.0903 0.549827 1.03634 1.0303 -1.0297 1.02245 1.01762 1.02366 1.03091 1.014 1.02185 1.03151 -1.03212 1.03514 0.838992 0.447487 0.44548 0.464543 0.467553 0.479593 -0.4816 0.47257 0.47859 0.476583 0.47558 0.474577 0.467553 0.447487 -0.453507 0.459527 0.907256 1.03151 1.02004 1.02426 1.02366 1.01943 -1.02124 1.02124 1.02487 1.02426 1.02124 1.02004 1.03514 1.02487 -1.02789 1.03876 1.05326 0.903392 0.0160533 0 0 0 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0 0.00200667 0 0 0 -0 0 0.00301 0.00501667 0.00401333 0.00100333 0.00401333 0.00200667 -0.00200667 0.00401333 0.00802667 0.00602 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00501667 0.00200667 0.00100333 0 0 -0 0.00602 0.00401333 0 0 0 0.00401333 0.00501667 -0.00200667 0.00200667 0 0 0.00200667 0.00301 0.00602 0.00401333 -0.00602 0.00802667 0 0 0 0 0 0.00200667 -0.00903 0.00100333 0 0.00301 0 0 0 0 -0 0 0 0.613592 1.05748 1.0448 1.03816 1.03695 -1.0303 1.02487 1.01581 1.02185 1.02245 1.02426 1.02306 1.01762 -1.0297 1.02487 1.02789 1.02849 0.850584 0.459527 0.453507 0.453507 -0.46354 0.462537 0.468557 0.471567 0.476583 0.473573 0.474577 0.474577 -0.474577 0.473573 0.44247 0.5117 0.9844 1.03393 1.03151 1.02789 -1.01339 1.02245 1.02668 1.03393 1.02306 1.02789 1.03332 1.03816 -1.02608 0.39732 0.121403 0.12642 0.142473 0.15652 0.158527 0.157523 -0.182607 0.166553 0.16254 0.136453 0.139463 0.146487 0.128427 0.112373 -0.39431 1.02668 1.03755 1.03514 1.01822 1.02608 1.02668 1.02547 -1.02245 1.01762 1.02064 1.0152 1.02728 1.01581 1.03151 1.01641 -1.01339 1.02426 1.0297 1.01883 1.0152 1.03393 1.00614 0.935476 -1.02064 1.03151 1.01822 1.0291 1.02547 1.02064 1.02064 1.01702 -1.02487 1.01762 1.0152 1.01581 1.02185 1.01822 1.02366 1.02124 -1.03151 1.01883 1.02124 1.0291 1.04238 0.9542 0.164547 0.12943 -0.13244 0.133443 0.148493 0.1505 0.166553 0.158527 0.16856 0.172573 -0.161537 0.1505 0.146487 0.14749 0.11739 0.43946 1.03212 1.02608 -1.03574 1.02849 1.02789 1.02547 1.0291 1.00312 1.01883 1.03393 -1.03332 1.03091 0.844144 0.46354 0.453507 0.458523 0.467553 0.462537 -0.471567 0.49364 0.474577 0.46053 0.465547 0.468557 0.464543 0.4515 -0.459527 0.47558 0.924604 1.03453 1.02728 1.02306 1.01883 1.0152 -1.02004 1.02547 1.01883 1.02185 1.02668 1.02547 1.02004 1.03514 -1.03634 1.04359 1.04782 0.880208 0.00802667 0 0 0 -0 0 0 0 0 0 0 0.00301 -0.00100333 0.00401333 0.00501667 0.00602 0 0 0 0.00100333 -0.00602 0.00200667 0 0 0 0.00100333 0.0100333 0.0100333 -0.0100333 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00301 -0 0 0.00100333 0.00501667 0.00602 0.00401333 0.00702333 0.00200667 -0 0.00100333 0.00702333 0.0110367 0.00301 0 0.00401333 0.00401333 -0.00200667 0 0.0100333 0.0110367 0.00200667 0 0 0 -0 0.00401333 0 0 0 0 0 0 -0 0 0 0.584943 1.05507 1.04601 1.03755 1.03272 -1.03272 1.02306 1.02185 1.02728 1.01822 1.0152 1.01943 1.02245 -1.02004 1.02426 1.0297 1.03453 0.967488 0.48461 0.443473 0.4515 -0.45451 0.46956 0.476583 0.47859 0.471567 0.47257 0.470563 0.470563 -0.465547 0.45752 0.453507 0.626472 1.0303 1.03514 1.02487 1.01943 -1.00373 1.00675 1.02849 1.02668 1.02789 1.02306 1.0291 1.03151 -1.04299 0.668976 0.124413 0.137457 0.139463 0.1505 0.151503 0.16555 -0.14448 0.151503 0.14448 0.15953 0.1505 0.134447 0.131437 0.107357 -0.676704 1.04238 1.03695 1.03151 1.02668 1.01702 1.02306 1.02547 -1.02426 1.01279 1.02064 1.02487 1.01158 1.01943 1.01641 1.02245 -1.02124 1.02608 1.0146 1.01581 1.01883 1.02608 1.02306 1.02668 -1.02487 1.02124 1.02668 1.02547 1.02306 1.02124 1.01762 1.02728 -1.01581 1.02849 1.01762 1.02004 1.0146 1.02547 1.03332 1.01822 -1.01822 1.02306 1.02426 1.03332 1.03574 0.953596 0.179597 0.12341 -0.130433 0.140467 0.146487 0.158527 0.161537 0.16555 0.161537 0.148493 -0.151503 0.14448 0.145483 0.12341 0.121403 0.435447 1.03332 1.03151 -1.02547 1.02426 1.02487 1.03212 1.02185 1.01098 1.02185 1.01943 -1.02608 1.03332 0.922712 0.458523 0.444477 0.47859 0.476583 0.474577 -0.476583 0.4816 0.482603 0.477587 0.479593 0.483607 0.4816 0.464543 -0.462537 0.46956 0.951784 1.0297 1.0152 1.02185 1.02487 1.0291 -1.02849 1.02185 1.02064 1.02547 1.02185 1.02185 1.02426 1.0297 -1.03091 1.04118 1.06171 0.887936 0.0100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00401333 0.00802667 0.00702333 -0.00602 0.00401333 0.00903 0.0100333 0.01204 0.00401333 0 0 -0 0 0.00401333 0.00401333 0.00100333 0 0 0 -0.00100333 0.00100333 0 0 0 0 0 0 -0 0 0.00301 0.00200667 0 0 0 0 -0.00401333 0.00602 0.00100333 0 0 0 0 0 -0.00802667 0.00200667 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00602 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0.576917 1.05688 1.04359 1.03574 1.0291 -1.02426 1.0303 1.02668 1.02064 1.02366 1.02366 1.02064 1.02366 -1.02487 1.02426 1.02185 1.02668 1.01943 0.675416 0.443473 0.449493 -0.4515 0.46354 0.471567 0.47257 0.473573 0.47859 0.482603 0.479593 -0.44548 0.435447 0.46053 0.907256 1.03151 1.02306 1.02366 1.03876 -1.02789 1.01822 1.02004 1.02245 1.01762 1.02668 1.03151 1.03272 -1.03695 0.97232 0.263877 0.10234 0.136453 0.131437 0.152507 0.143477 -0.151503 0.158527 0.1505 0.14448 0.133443 0.12341 0.11137 0.265883 -0.977152 1.04118 1.03936 1.03091 1.02547 1.02547 1.01943 1.02185 -1.01702 1.00796 1.02426 1.02185 1.02366 1.0303 1.02245 1.01702 -1.02547 1.02306 1.02426 1.02547 1.02306 1.01762 1.02245 1.02728 -1.01702 1.02004 1.01581 1.03212 1.03212 1.01581 1.01762 1.01702 -1.0297 1.01581 1.02366 1.0291 1.01943 1.0152 1.03091 1.0146 -1.02124 1.02849 1.02124 1.03212 1.03876 0.991648 0.25284 0.10535 -0.112373 0.140467 0.157523 0.148493 0.161537 0.14749 0.140467 0.148493 -0.14749 0.155517 0.14448 0.113377 0.0913033 0.534777 1.03212 1.03453 -1.02245 1.0297 1.02789 1.02185 1.02426 1.014 1.01883 1.0297 -1.03514 1.03332 0.982588 0.507687 0.446483 0.450497 0.459527 0.462537 -0.47558 0.471567 0.476583 0.47558 0.46655 0.47859 0.464543 0.456517 -0.4515 0.552837 1.00192 1.02426 1.02668 1.02849 1.02185 1.01339 -1.01822 1.02245 1.02185 1.02426 1.01883 1.0291 1.0297 1.03997 -1.04118 1.04722 1.04601 0.810656 0 0 0 0 -0 0 0 0 0 0 0.00702333 0.00802667 -0.00301 0 0.00602 0.00903 0.00501667 0.00903 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00200667 0 -0 0 0.00100333 0 0 0 0.00100333 0 -0.00100333 0 0 0 0.00100333 0.00200667 0 0 -0 0 0 0 0 0.00602 0.00802667 0 -0 0 0 0 0 0 0 0.00200667 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.53277 1.05326 1.04722 1.03816 1.0297 -1.02728 1.02366 1.01943 1.014 1.02124 1.02185 1.02789 1.02728 -1.02426 1.02306 1.02064 1.0291 1.03453 0.965676 0.51471 0.446483 -0.455513 0.4515 0.464543 0.458523 0.459527 0.462537 0.470563 0.46354 -0.459527 0.455513 0.6664 1.02306 1.03272 1.03695 1.02608 1.0152 -1.01702 1.01943 1.01339 1.0303 1.02547 1.02124 1.02849 1.03695 -1.03634 1.03997 0.761712 0.161537 0.118393 0.128427 0.139463 0.133443 -0.13545 0.134447 0.13545 0.13846 0.121403 0.1204 0.164547 0.772016 -1.05446 1.03272 1.03272 1.01762 1.01581 1.0297 1.01943 1.02004 -1.02728 1.01702 1.02366 1.02487 1.02426 1.02004 1.01822 1.02849 -1.01581 1.014 1.01943 1.00856 1.02426 1.02728 1.02124 1.01762 -1.02426 1.01098 1.01098 1.0303 1.01641 1.02728 1.01762 1.01037 -1.02547 1.0297 1.01279 1.01883 1.02306 1.03212 1.02124 1.02185 -1.02064 1.014 1.02306 1.0303 1.04178 1.0303 0.42441 0.11137 -0.113377 0.149497 0.137457 0.14147 0.14147 0.154513 0.148493 0.155517 -0.146487 0.12943 0.109363 0.109363 0.128427 0.837704 1.04238 1.0303 -1.03393 1.02668 1.02608 1.02668 1.03272 1.00373 1.02366 1.03151 -1.03876 1.0303 1.02487 0.658672 0.44548 0.449493 0.4515 0.468557 -0.47558 0.458523 0.480597 0.46956 0.46956 0.465547 0.468557 0.46956 -0.45451 0.774592 1.02668 1.02608 1.02426 1.02487 1.02487 1.01883 -1.02668 1.02306 1.01762 1.02064 1.02547 1.02185 1.02426 1.02728 -1.03695 1.04057 1.05507 0.806792 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.00903 0.00401333 0.00602 0.00602 0.00100333 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0 -0 0 0.00100333 0.00401333 0.00200667 0 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0.00702333 0.00401333 0.00200667 0.00301 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.51471 1.0605 1.0442 1.03574 1.03212 -1.02728 1.02547 1.02185 1.01641 1.02185 1.01702 1.01883 1.01581 -1.02185 1.02789 1.02789 1.02487 1.02547 1.0297 0.927624 0.52374 -0.428423 0.43946 0.441467 0.462537 0.456517 0.450497 0.45451 0.443473 -0.465547 0.643216 0.988024 1.03695 1.0303 1.02487 1.02185 1.02487 -1.02306 1.01702 1.02547 1.02124 1.01883 1.02668 1.03212 1.02004 -1.02487 1.03876 1.03091 0.670264 0.178593 0.09933 0.133443 0.12642 -0.134447 0.12943 0.13846 0.12642 0.09933 0.18963 0.716632 1.0442 -1.03755 1.02487 1.03332 1.02366 1.02366 1.02547 1.02608 1.02004 -1.02245 1.0291 1.0291 1.01762 1.014 1.02426 1.02789 1.01339 -1.00916 1.02185 1.01883 1.02487 1.01943 1.02426 1.01943 1.02004 -1.03151 1.02366 1.02668 1.01641 1.014 1.02306 1.01943 1.00977 -1.01943 1.02064 1.02245 1.014 1.01641 1.01218 1.01943 1.01762 -1.02245 1.02366 1.0303 1.02789 1.03755 1.03514 0.806792 0.157523 -0.118393 0.134447 0.13244 0.1505 0.155517 0.15351 0.140467 0.128427 -0.122407 0.14448 0.110367 0.10836 0.31906 1.00433 1.03816 1.02547 -1.03272 1.02728 1.02185 1.02487 1.01883 0.994668 1.01943 1.02124 -1.0152 1.0297 1.03936 0.94514 0.49063 0.4515 0.440463 0.456517 -0.467553 0.471567 0.476583 0.482603 0.470563 0.458523 0.464543 0.446483 -0.561867 0.982588 1.01943 1.02849 1.02245 1.02487 1.03272 1.01822 -1.01762 1.01641 1.02064 1.02306 1.02487 1.02668 1.02789 1.0297 -1.03332 1.04842 1.0593 0.766864 0 0 0 0 -0 0 0 0.00301 0.00501667 0.00200667 0.00100333 0.00702333 -0.00200667 0 0 0 0 0 0 0 -0.00301 0.00702333 0.00802667 0.00702333 0.00602 0.00501667 0.00401333 0 -0 0 0.00301 0 0.00100333 0.00100333 0 0 -0 0 0.00200667 0 0 0 0 0.00200667 -0.00602 0.00702333 0.00501667 0 0 0 0 0 -0.00100333 0.00200667 0.00702333 0.0110367 0.00200667 0 0 0.00100333 -0.00301 0 0 0 0 0 0 0.00301 -0 0 0 0 0 0.00702333 0.00602 0 -0 0 0 0 0 0 0 0 -0 0 0 0.46053 1.05507 1.0448 1.03816 1.03212 -1.03151 1.02668 1.02547 1.02185 1.02608 1.014 1.01581 1.014 -1.01641 1.02124 1.0152 1.01943 1.01822 1.01822 1.02728 0.952992 -0.64064 0.483607 0.446483 0.458523 0.453507 0.45752 0.45451 0.50267 -0.783608 1.00856 1.03272 1.03212 1.02849 1.01943 1.01762 1.02789 -1.02245 1.0152 1.02426 1.02185 1.02064 1.02004 1.02487 1.03212 -1.03453 1.03453 1.02608 1.03212 0.875056 0.374243 0.14749 0.113377 -0.0953167 0.0953167 0.11438 0.15953 0.38227 0.90468 1.03876 1.0442 -1.02849 1.03393 1.02547 1.02789 1.0303 1.01702 1.01822 1.02547 -1.02366 1.01883 1.02789 1.02064 1.02245 1.02366 1.0152 1.02366 -1.02004 1.01702 1.02124 1.02426 1.01822 1.01883 1.01822 1.02789 -1.01762 1.02306 1.02366 1.02547 1.02185 1.0291 1.02366 1.02245 -1.01702 1.01822 1.0152 1.02185 1.01883 1.02064 1.01762 1.02547 -1.02668 1.02547 1.02064 1.02004 1.03272 1.04842 1.02849 0.461533 -0.11438 0.12642 0.131437 0.131437 0.140467 0.140467 0.1204 0.130433 -0.13244 0.107357 0.109363 0.182607 0.811944 1.04903 1.03574 1.0297 -1.02547 1.02608 1.02547 1.02245 1.01762 0.983192 1.01279 1.02849 -1.03393 1.03212 1.03876 1.02366 0.842856 0.444477 0.4214 0.464543 -0.461533 0.471567 0.47859 0.47859 0.4515 0.44849 0.432437 0.531767 -0.943328 1.03574 1.03332 1.02306 1.01641 1.01943 1.01279 1.01702 -1.0291 1.03272 1.02668 1.01581 1.02668 1.02668 1.02426 1.0291 -1.03332 1.03514 1.05567 0.690872 0 0 0 0 -0 0 0 0 0 0 0.00401333 0 -0 0 0.00501667 0.00702333 0.00802667 0.0100333 0.00903 0.0110367 -0.00100333 0 0 0 0 0 0 0.00100333 -0.00501667 0.00200667 0 0 0 0 0 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0.00200667 0.00401333 0.00301 0.0100333 -0.0100333 0.0110367 0.0100333 0.00702333 0.0110367 0.0100333 0.00301 0 -0.00100333 0.00200667 0.00100333 0.00301 0 0 0.00100333 0 -0 0 0.00100333 0.00100333 0 0 0 0.00200667 -0.00100333 0.00802667 0.00602 0 0 0 0 0 -0 0 0 0.408357 1.04903 1.04722 1.04118 1.03634 -1.03332 1.02789 1.02366 1.02306 1.02426 1.02426 1.02366 1.02306 -1.02185 1.02124 1.02004 1.02245 1.02004 1.03091 1.0291 1.02608 -1.00614 0.93004 0.747544 0.645792 0.612304 0.670264 0.818384 0.983796 -1.03634 1.0291 1.02789 1.02064 1.02608 1.02366 1.02004 1.02245 -1.01339 1.01762 1.01883 1.02124 1.0291 1.02185 1.01883 1.02849 -1.02547 1.02426 1.03393 1.03332 1.0303 1.00735 0.89824 0.636776 -0.5418 0.528757 0.632912 0.914984 1.02004 1.04118 1.03695 1.03151 -1.02547 1.03151 1.02064 1.02426 1.01641 1.01762 1.02728 1.01641 -1.01762 1.02185 1.01279 1.01943 1.02668 1.02245 1.01279 1.01641 -1.014 1.01822 1.02185 1.03212 1.01641 1.02004 1.02366 1.01641 -1.02426 1.0146 1.01279 1.0146 1.02668 1.01218 1.01641 1.01883 -1.02124 1.01641 1.02185 1.01822 1.02426 1.01822 1.01822 1.01702 -1.01581 1.0297 1.02245 1.03393 1.0291 1.03272 1.04057 0.989836 -0.399327 0.12642 0.12341 0.122407 0.121403 0.12943 0.12642 0.121403 -0.12642 0.109363 0.17759 0.65352 1.02668 1.04178 1.02608 1.02245 -1.03091 1.01641 1.01822 1.02487 1.02728 0.988024 1.02608 1.014 -1.02124 1.02366 1.03393 1.03634 1.03272 0.871192 0.467553 0.437453 -0.459527 0.458523 0.461533 0.444477 0.449493 0.471567 0.641928 0.963864 -1.03332 1.03272 1.02849 1.02306 1.02547 1.01883 1.0291 1.02064 -1.01762 1.01279 1.02004 1.01581 1.01762 1.02608 1.03634 1.03514 -1.03876 1.05205 1.05326 0.59297 0 0 0 0 -0 0 0 0.00602 0.00802667 0.00100333 0 0 -0.00401333 0.00903 0.00802667 0.00602 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0 0.00100333 0.00501667 0.00903 0.00702333 0.00301 -0.00602 0.00301 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00602 0.00100333 0 -0 0 0 0 0 0 0 0.00501667 -0.00200667 0 0 0 0 0 0.00100333 0.00401333 -0.00401333 0.00200667 0.00200667 0.00100333 0 0 0 0.00200667 -0.00903 0.00401333 0 0 0 0 0 0 -0 0 0 0.35819 1.0442 1.04299 1.03332 1.02789 -1.02789 1.02608 1.02487 1.02245 1.01279 1.014 1.01822 1.01702 -1.02547 1.02487 1.02547 1.02547 1.02608 1.02185 1.02245 1.02789 -1.02849 1.03936 1.03091 1.02124 1.02124 1.02608 1.0297 1.0297 -1.02849 1.02789 1.02728 1.02547 1.01943 1.02306 1.02426 1.02547 -1.02366 1.0146 1.02306 1.0146 1.01943 1.02426 1.02487 1.0291 -1.0152 1.02426 1.03272 1.03514 1.03212 1.04118 1.04661 1.03634 -1.03695 1.03634 1.05326 1.03936 1.0291 1.02608 1.03151 1.03393 -1.0291 1.02547 1.02064 1.02426 1.0152 1.02608 1.01822 1.0146 -1.02608 1.01279 1.02487 1.01822 1.0146 1.0152 1.02366 1.01641 -1.02124 1.03212 1.01943 1.02245 1.01641 1.03151 1.02064 1.0146 -1.01883 1.01037 1.01822 1.01098 1.02306 1.02728 1.02849 1.01762 -1.01339 1.02306 1.0297 1.02245 1.01883 1.01279 1.02849 1.02789 -1.01943 1.02124 1.01943 1.02245 1.0152 1.02547 1.03393 1.0454 -0.986816 0.52675 0.191637 0.11137 0.118393 0.11739 0.128427 0.0953167 -0.133443 0.286953 0.759136 1.0297 1.04238 1.02789 1.02668 1.02487 -1.02306 1.01581 1.03091 1.02426 1.014 0.985004 1.02064 1.02547 -1.02306 1.02789 1.02064 1.01883 1.0291 1.03634 0.992252 0.824824 -0.572903 0.49063 0.494643 0.537787 0.674128 0.921424 1.0152 1.02306 -1.02547 1.0291 1.01641 1.02185 1.02004 1.02426 1.02426 1.01158 -1.01762 1.01883 1.02185 1.02426 1.03151 1.03212 1.03212 1.03393 -1.03876 1.0442 1.0605 0.536783 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0 0 0 0 0.00100333 0 0 0.00602 -0 0 0.00200667 0.00401333 0.00301 0.00802667 0.00602 0.00301 -0.00301 0.00100333 0.00401333 0.00501667 0.00301 0 0 0 -0 0.00100333 0 0 0 0 0 0 -0 0 0 0.00301 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00802667 0.00200667 0.00301 0.00200667 0 0 0 -0 0.00100333 0.00702333 0.00802667 0.00401333 0.00501667 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0 0.298993 1.0448 1.04722 1.04299 1.02668 -1.02124 1.02306 1.0291 1.02547 1.02849 1.02849 1.02426 1.01581 -1.01883 1.01762 1.01943 1.01762 1.02547 1.02487 1.01158 1.02064 -1.02487 1.02487 1.03816 1.03574 1.02608 1.0297 1.02849 1.02728 -1.0297 1.02487 1.02728 1.02789 1.01641 1.01822 1.01339 1.01581 -1.01641 1.02306 1.0303 1.02547 1.02124 1.0152 1.02426 1.0152 -1.02306 1.01581 1.02608 1.0303 1.0291 1.02245 1.0291 1.03997 -1.03212 1.03393 1.02547 1.02547 1.03514 1.02366 1.02789 1.02004 -1.02306 1.01641 1.03151 1.0297 1.02124 1.01702 1.01702 1.01581 -1.02004 1.02245 1.01883 1.02426 1.0152 1.02306 1.02547 1.02064 -1.02245 1.02245 1.01943 1.0297 1.01822 1.01822 1.02547 1.01098 -1.0152 1.02306 1.01822 1.02366 1.01158 1.02004 1.0291 1.02306 -1.01762 1.01279 1.0291 1.02004 1.0152 1.02728 1.00796 1.01762 -1.01883 1.0303 1.014 1.02426 1.03151 1.02487 1.04118 1.03816 -1.05205 1.0291 0.924 0.578923 0.37324 0.332103 0.326083 0.450497 -0.697312 0.98138 1.04601 1.03876 1.0303 1.0303 1.02849 1.02426 -1.02849 1.01883 1.02306 1.01762 1.0152 1.00554 1.02245 1.02487 -1.01822 1.02728 1.02608 1.03272 1.03574 1.03332 1.03514 1.03151 -1.01822 0.99346 0.991044 1.00131 1.02789 1.03091 1.02487 1.02547 -1.02306 1.02124 1.02004 1.02064 1.01822 1.0152 1.01641 1.02426 -1.03212 1.02306 1.02487 1.02487 1.01762 1.01822 1.02306 1.02366 -1.03332 1.04601 1.04661 0.423407 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00501667 0 0.00301 0 -0 0.00301 0.00100333 0 0 0 0 0.00200667 -0.00100333 0 0 0 0 0 0 0 -0.00100333 0.00602 0.00401333 0.00200667 0 0 0.00401333 0.00401333 -0.00100333 0 0 0 0 0.00301 0.00200667 0.00100333 -0 0 0 0 0 0 0 0.00401333 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.241803 1.03514 1.05144 1.0448 1.04178 -1.03393 1.02668 1.02064 1.01943 1.01762 1.01822 1.02064 1.02366 -1.02789 1.01943 1.01581 1.01822 1.02064 1.02608 1.02245 1.02245 -1.01943 1.02426 1.01762 1.02306 1.03514 1.02789 1.02426 1.0291 -1.0291 1.01279 1.02064 1.02306 1.01883 1.02547 1.02789 1.02185 -1.02124 1.0152 1.01339 1.0152 1.0291 1.02366 1.01822 1.02426 -1.02004 1.02789 1.03091 1.0303 1.03332 1.03212 1.02789 1.02608 -1.02487 1.0291 1.0303 1.03212 1.03574 1.03151 1.03091 1.03151 -1.01702 1.02426 1.0152 1.01943 1.01702 1.02064 1.0303 1.02789 -1.01641 1.01822 1.01218 1.01762 1.01702 1.02185 1.01702 1.02668 -1.0152 1.01762 1.01581 1.02426 1.01581 1.01279 1.02004 1.01218 -1.02185 1.01702 1.01883 1.0152 1.01339 1.02547 1.02004 1.02366 -1.0297 1.014 1.02245 1.01822 1.02245 1.01702 1.02004 1.01702 -1.01339 1.02245 1.02547 1.02366 1.01581 1.02366 1.02547 1.02547 -1.02668 1.04238 1.0454 1.04661 1.02668 1.0146 1.01581 1.03755 -1.04722 1.04238 1.03091 1.02668 1.03091 1.02124 1.0146 1.02426 -1.02004 1.0303 1.02426 1.02789 0.991044 1.00252 1.02185 1.02366 -1.01762 1.01762 1.01883 1.02185 1.02124 1.01581 1.01702 1.02789 -1.0303 1.03091 1.0303 1.03091 1.01822 1.0291 1.02124 1.02366 -1.02487 1.01822 1.01943 1.0146 1.02608 1.02004 1.01641 1.01641 -1.01762 1.02245 1.0152 1.02004 1.02547 1.02245 1.0297 1.03453 -1.03816 1.04359 1.0442 0.341133 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00501667 -0.0100333 0.0130433 0.00802667 0 0 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.0110367 0.01204 0.00802667 0.00100333 0 0 0 -0.00200667 0.00602 0.00100333 0 0 0.00200667 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.16856 1.02366 1.04963 1.03936 1.03514 -1.03272 1.0291 1.02547 1.02426 1.02306 1.02004 1.02124 1.02306 -1.02245 1.02064 1.01883 1.01339 1.02245 1.01762 1.02245 1.0291 -1.03212 1.02487 1.01943 1.02487 1.01822 1.02064 1.02064 1.01762 -1.02668 1.0297 1.02728 1.02245 1.02124 1.02185 1.02608 1.01762 -1.02849 1.02245 1.02366 1.01883 1.01943 1.01641 1.02366 1.01883 -1.0303 1.03091 1.02547 1.02064 1.02608 1.01098 1.02789 1.02789 -1.03514 1.02728 1.03453 1.03453 1.02608 1.02849 1.01762 1.01822 -1.03151 1.01702 1.01641 1.01883 1.01883 1.02185 1.02728 1.02668 -1.02789 1.02366 1.01581 1.02185 1.02064 1.02004 1.02668 1.00796 -1.01883 1.02366 1.01702 1.01762 1.02124 1.01702 1.00856 1.01037 -1.02245 1.01279 1.01339 1.02185 1.02366 1.01581 1.0146 1.01702 -1.02487 1.02668 1.00796 1.01581 1.02245 1.01641 1.02185 1.02004 -1.02185 1.0152 1.01641 1.03091 1.02487 1.02487 1.02366 1.0291 -1.02789 1.0291 1.02668 1.03453 1.03634 1.03634 1.05144 1.03272 -1.02487 1.02547 1.03453 1.0303 1.02306 1.0297 1.02608 1.01943 -1.01641 1.01702 1.02245 1.02366 0.994064 1.01762 1.01702 1.02185 -1.03151 1.01943 1.01581 1.02124 1.02487 1.0303 1.02789 1.03272 -1.02426 1.0291 1.0303 1.03151 1.0291 1.02668 1.02004 1.02185 -1.01822 1.02547 1.01943 1.02547 1.02306 1.01943 1.01943 1.02306 -1.01943 1.01943 1.01581 1.02004 1.02124 1.03272 1.02547 1.03272 -1.04359 1.05507 1.03393 0.232773 0 0 0 0 -0 0 0 0 0 0.00200667 0.00200667 0 -0 0 0.01204 0.00903 0.00702333 0.00401333 0.00301 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00301 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00100333 0 0.00100333 0 0 0 -0 0 0 0.00401333 0.00602 0 0 0 -0 0 0 0.00100333 0.00301 0.00401333 0.00301 0.00702333 -0.00401333 0 0.00401333 0.00602 0 0 0.00301 0.00903 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0.119397 0.997688 1.04963 1.03876 1.03332 -1.02487 1.02547 1.02245 1.02487 1.02487 1.02064 1.02004 1.014 -1.01943 1.02306 1.02064 1.01883 1.02366 1.02004 1.02004 1.01279 -1.01883 1.01943 1.02306 1.02004 1.0146 1.02004 1.01581 1.01943 -1.01641 1.00796 1.02487 1.01641 1.0152 1.01822 1.02306 1.01762 -1.02366 1.0297 1.02185 1.0291 1.01762 1.02547 1.02004 1.02487 -1.02426 1.01883 1.03212 1.01943 1.01339 1.02668 1.02064 1.02185 -1.01943 1.02547 1.02306 1.01581 1.03212 1.02728 1.02245 1.02426 -1.0146 1.0152 1.0152 1.01943 1.02185 1.0152 1.0146 1.00977 -1.01158 1.01218 1.01641 1.01883 1.01822 1.02245 1.02004 1.0146 -1.01943 1.02306 1.01702 1.02608 1.00916 1.00614 1.0146 1.01218 -1.01762 1.01943 1.01581 1.0152 1.0146 1.02487 1.02124 1.01762 -1.02487 1.01279 1.00977 1.02306 1.01641 1.02547 1.00916 1.02608 -1.02185 1.02124 1.02366 1.0146 1.02426 1.02245 1.0146 1.02789 -1.03151 1.02004 1.03393 1.0297 1.02668 1.03514 1.02366 1.03574 -1.02789 1.02306 1.0152 1.02608 1.02245 1.02306 1.01822 1.02728 -1.02245 1.03151 1.02487 1.02004 0.994668 1.02306 1.01581 1.01581 -1.02487 1.02306 1.02306 1.03212 1.01641 1.02064 1.03151 1.02426 -1.01581 1.02728 1.02366 1.02728 1.02064 1.02185 1.02004 1.01943 -1.02185 1.02789 1.02306 1.014 1.01822 1.02608 1.01822 1.0146 -1.0152 1.02064 1.02306 1.02728 1.02668 1.0291 1.02728 1.03514 -1.03755 1.04963 1.01822 0.15652 0 0 0 0 -0 0 0 0.00100333 0.01204 0.00802667 0.00903 0.0140467 -0.0110367 0.00401333 0.00602 0.00802667 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00100333 0.00100333 0 0 0 0.00200667 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00301 -0 0 0 0 0 0 0.00602 0 -0 0.00501667 0.00602 0.00501667 0.00401333 0.00301 0 0 -0 0.00401333 0.00100333 0 0.00501667 0.00602 0 0 -0 0 0.00200667 0.00501667 0.00100333 0 0 0 -0 0 0 0.0622067 0.96628 1.05386 1.04722 1.03091 -1.02668 1.0291 1.02306 1.02366 1.02004 1.02185 1.0152 1.02004 -1.02306 1.02426 1.01883 1.02064 1.02004 1.01762 1.02668 1.02185 -1.01702 1.0152 1.02426 1.02004 1.02668 1.03393 1.02366 1.02728 -1.02004 1.01037 1.01339 1.02366 1.02668 1.02064 1.02366 1.01641 -1.0146 1.01702 1.01702 1.0146 1.02064 1.01883 1.02789 1.02004 -1.02245 1.01822 1.01581 1.02064 1.01762 1.02185 1.02366 1.02004 -1.01822 1.02487 1.02004 1.01822 1.01581 1.0146 1.02487 1.03936 -1.03997 1.05386 1.04601 1.03634 1.014 1.00977 1.01762 1.00494 -1.01822 1.02185 1.0152 1.0146 1.03272 1.01702 1.00977 1.0146 -1.02064 1.02426 1.02245 1.01762 1.01702 1.01218 1.01641 1.02728 -1.01702 1.0297 1.02245 1.02124 1.02426 1.01098 1.02064 1.02245 -1.02004 1.01279 1.0291 1.02064 1.02487 1.01943 1.02245 1.02245 -1.01581 1.01279 1.01822 1.0146 1.01883 1.02306 1.02728 1.01279 -1.01702 1.02608 1.02668 1.02004 1.01943 1.01762 1.0303 1.03212 -1.0303 1.01279 1.02245 1.02245 1.0303 1.03453 1.02426 1.01762 -1.02487 1.02245 1.014 1.00252 0.994668 1.02547 1.0146 1.02004 -1.02487 1.01883 1.0152 1.02728 1.02547 1.02608 1.0152 1.02608 -1.02185 1.02245 1.02245 1.01218 1.02306 1.02608 1.02245 1.01822 -1.02064 1.02064 1.01883 1.02547 1.02608 1.02185 1.01702 1.02064 -1.02306 1.02124 1.01581 1.01943 1.02426 1.02849 1.03212 1.03453 -1.04057 1.04782 0.969904 0.0792633 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00200667 -0 0.00401333 0.00301 0 0 0 0 0.00100333 -0.00401333 0.00501667 0.00802667 0.00501667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00702333 0.00301 0.00301 0.00401333 0.00100333 0 -0 0.00100333 0.00100333 0 0 0.00100333 0 0.00301 -0.00401333 0.00100333 0 0 0 0 0 0 -0.00301 0.00100333 0 0 0.00200667 0 0 0.00200667 -0.00301 0 0 0 0 0 0 0 -0 0 0 0.02107 0.908544 1.05567 1.04359 1.04782 -1.04238 1.0303 1.02487 1.02064 1.02245 1.02306 1.02728 1.02245 -1.02547 1.02487 1.02245 1.02306 1.01822 1.02004 1.01702 1.02366 -1.01762 1.02004 1.014 1.01702 1.02064 1.01762 1.02245 1.03514 -1.03272 1.03151 1.02306 1.02245 1.01158 1.00977 1.0152 1.0152 -1.02306 1.01702 1.00675 1.00735 1.02124 1.0303 1.02547 1.01943 -1.0152 1.02124 1.01822 1.0291 1.02124 1.02547 1.02728 1.02487 -1.02426 1.02064 1.02245 1.01943 1.02849 1.05144 1.04782 1.0593 -1.0593 1.04842 1.05507 1.04299 1.04118 1.04299 1.01822 1.02426 -1.01883 1.02064 1.0152 1.03574 1.02668 1.01822 1.01822 1.02185 -1.02306 1.01279 1.01581 1.01762 1.01762 1.01943 1.02426 1.01702 -1.02789 1.01943 1.00735 1.02728 1.01762 1.00373 1.0297 1.01339 -1.02185 1.02064 1.02245 1.02064 1.02185 1.01702 1.02004 1.0152 -1.01822 1.02366 1.02306 1.02124 1.02245 1.02608 1.02728 1.02366 -1.02306 1.02004 1.0297 1.02245 1.02668 1.03332 1.02306 1.01883 -1.01641 1.03091 1.02245 1.02366 1.01158 1.02004 1.01641 1.02366 -1.02547 1.02185 1.02124 0.985004 1.01339 1.02487 1.02185 1.0152 -1.01822 1.0146 1.01883 1.0152 1.014 1.02245 1.02608 1.01883 -1.014 1.01822 1.0152 1.02124 1.014 1.01883 1.01218 1.02366 -1.02004 1.01943 1.01762 1.02004 1.01943 1.01339 1.01762 1.02668 -1.02849 1.03212 1.02426 1.03151 1.02547 1.02366 1.03332 1.03936 -1.04722 1.05809 0.918848 0.0190633 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0 0 0 0 0 -0.00401333 0.00301 0.00100333 0.00301 0.00100333 0.00200667 0.00501667 0.00401333 -0.00100333 0 0 0 0 0 0.00501667 0.00301 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00401333 0 0.00200667 0 -0 0.00100333 0.00501667 0.00301 0 0 0 0 -0 0 0 0.00301 0 0 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.790048 1.06594 1.0442 1.03453 -1.0291 1.02608 1.02426 1.02306 1.02064 1.01943 1.0152 1.01641 -1.01943 1.01641 1.01883 1.02366 1.02004 1.02185 1.02306 1.01883 -1.02728 1.02366 1.02306 1.01883 1.01943 1.00856 1.00856 1.01037 -1.01641 1.02668 1.02185 1.02306 1.01883 1.0291 1.01581 1.0146 -1.02306 1.0291 1.0303 0.99648 1.01883 1.01037 1.01822 1.01943 -1.02789 1.02245 1.02547 1.02487 1.02245 1.02668 1.02124 1.02306 -1.02245 1.02487 1.01883 1.02547 1.05144 1.0442 1.06292 1.05386 -1.05265 1.05084 1.04963 1.0593 1.05446 1.04661 1.03453 1.02668 -1.0146 1.02004 1.01822 1.02124 1.00916 1.02004 1.02245 1.02185 -1.0146 1.01702 1.01702 1.0146 1.01702 1.02728 1.02004 1.01883 -1.02487 1.01943 1.01581 1.02245 1.02124 1.02124 1.01581 1.02547 -1.01822 1.01158 1.01702 1.01762 1.02426 1.0152 1.02366 1.02487 -1.02668 1.05084 1.05688 1.05024 1.06111 1.05265 1.04118 1.03816 -1.0152 1.02064 1.02487 1.02849 1.02306 1.01822 1.02245 1.01943 -1.02487 1.02124 1.01762 1.01702 1.02366 1.03393 1.02185 1.0146 -1.01943 1.02185 1.02547 0.991044 1.02608 1.02366 1.02306 1.01943 -1.02487 1.02306 1.01641 1.01822 1.0152 1.02124 1.01218 1.0146 -1.01762 1.02426 1.02185 1.02185 1.02366 1.02426 1.01702 1.01883 -1.01158 1.02487 1.014 1.01822 1.01883 1.02004 1.02668 1.02547 -1.01702 1.01943 1.02064 1.02124 1.03151 1.02789 1.03151 1.0303 -1.03997 1.05386 0.726936 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00602 0.00702333 0 -0 0 0.00501667 0.00602 0.00802667 0.00301 0 0 -0 0.00401333 0.00903 0.00602 0.00401333 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00301 0.00100333 0 -0.00100333 0 0 0 0 0 0 0 -0.00602 0 0 0.00100333 0.00301 0.00200667 0 0.00100333 -0.00100333 0 0.00100333 0 0 0 0 0 -0 0 0 0 0.590963 1.05144 1.03695 1.04118 -1.04118 1.03634 1.03332 1.03272 1.02789 1.0303 1.02668 1.01883 -1.02064 1.02426 1.02004 1.02185 1.0152 1.01822 1.01702 1.02124 -1.02064 1.0146 1.0146 1.02245 1.02004 1.01762 1.01943 1.02004 -1.01581 1.01279 1.01279 1.02306 1.02245 1.01158 1.02004 1.01762 -1.02004 1.02124 1.02064 1.00614 1.01279 1.02124 1.01943 1.014 -1.01702 1.02668 1.02608 1.01883 1.02366 1.02426 1.02245 1.02426 -1.0152 1.01702 1.02487 1.05084 1.05084 1.05386 1.06171 1.05688 -1.05084 1.05809 1.05628 1.05084 1.06111 1.05748 1.06836 1.03816 -1.02245 1.03634 1.01641 1.01943 1.02124 1.02306 1.0291 1.01762 -1.01762 1.02668 1.01279 1.02245 1.02306 1.01943 1.01641 1.01822 -1.01702 1.02124 1.02004 1.01158 1.02487 1.01943 1.01883 1.01581 -1.02306 1.01581 1.00614 1.01279 1.02185 1.02185 1.01883 1.0297 -1.04722 1.04118 1.0599 1.04238 1.05326 1.05869 1.05265 1.05809 -1.05809 1.03272 1.01279 1.02487 1.02064 1.01702 1.01822 1.02728 -1.01822 1.0291 1.01883 1.01641 1.0291 1.01822 1.02547 1.02789 -1.02608 1.02487 1.00252 0.983192 1.02608 1.02245 1.02306 1.02245 -1.01762 1.02245 1.0152 1.02547 1.02366 1.01943 1.02728 1.02608 -1.02426 1.02366 1.01702 1.02245 1.02366 1.01158 1.0146 1.01702 -1.02487 1.0297 1.02487 1.02185 1.01822 1.01762 1.02004 1.02064 -1.01943 1.01762 1.02004 1.01822 1.02487 1.02185 1.03393 1.0454 -1.05144 1.05748 0.543807 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.00200667 0.00501667 0.00200667 0.00401333 0.00301 0 0.00401333 -0.00501667 0.00100333 0 0 0.00100333 0.00301 0.00401333 0.00702333 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00702333 0.00100333 -0 0 0.00200667 0 0 0.00100333 0.00702333 0.00903 -0.00702333 0.00100333 0 0 0 0 0 0 -0 0 0 0 0.461533 1.05386 1.04661 1.03695 -1.02064 1.02306 1.01762 1.0152 1.01762 1.0146 1.01702 1.02728 -1.01822 1.01762 1.00916 1.01158 1.01822 1.01702 1.02004 1.01037 -1.01279 1.01581 1.01883 1.01641 1.00735 1.0146 1.02789 1.02426 -1.0146 1.01883 1.02064 1.01702 1.02306 1.02306 1.01822 1.02789 -1.02306 1.01943 1.02426 1.01702 0.998292 1.02064 1.02366 1.02366 -1.01581 1.02306 1.0146 1.02668 1.01339 1.0146 1.01702 1.01581 -1.02064 1.01339 1.02547 1.05265 1.04782 1.05084 1.0448 1.04359 -1.04903 1.05326 1.04782 1.06171 1.05326 1.04963 1.05205 1.05326 -1.02728 1.0152 1.02366 1.0146 1.02668 1.01279 1.00675 1.02124 -1.01218 1.014 1.00494 1.02124 1.02245 1.02124 1.01883 1.01822 -1.01883 1.01883 1.03151 1.03574 1.01822 1.02849 1.01943 1.02668 -1.02185 1.02366 1.02668 1.01702 1.01279 1.02426 1.03755 1.05628 -1.05326 1.05567 1.04842 1.0599 1.06111 1.0454 1.05628 1.05446 -1.05386 1.05205 1.01822 1.0146 1.02124 1.02366 1.01641 1.0146 -1.02487 1.02306 1.02185 1.02849 1.02608 1.02789 1.02668 1.02245 -1.02487 1.02124 0.991044 1.0146 1.03091 1.02487 1.0303 1.02306 -1.02547 1.02366 1.02306 1.01581 1.02185 1.02064 1.02124 1.02004 -1.02124 1.02366 1.02306 1.02366 1.01883 1.02608 1.02245 1.01943 -1.02306 1.01883 1.01158 1.01822 1.01883 1.02004 1.01279 1.01702 -1.02487 1.02426 1.02426 1.02366 1.0303 1.03574 1.03816 1.03876 -1.04601 1.05144 0.375247 0 0 0 0 0 -0 0 0 0 0 0 0.00501667 0 -0.00401333 0.00702333 0.00602 0.00501667 0 0.00100333 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0.00100333 0 0 0.00100333 0 0.00200667 -0.00903 0.0110367 0.00602 0.00802667 0.00702333 0.00100333 0 0 -0 0 0 0.00301 0 0 0 0 -0.00200667 0.00100333 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.303007 1.04359 1.05084 1.04057 -1.03755 1.02789 1.02306 1.02426 1.0291 1.02668 1.0152 1.01641 -1.0146 1.02004 1.02849 1.02789 1.02064 1.02185 1.02728 1.01822 -1.01943 1.02004 1.02366 1.014 1.02487 1.01822 1.01218 1.02004 -1.01581 1.02124 1.01943 1.01641 1.0146 1.03091 1.01822 1.01822 -1.01641 1.01702 1.01702 1.02366 0.975944 1.01339 1.02185 1.01702 -1.0146 1.02668 1.02004 1.01943 1.02185 1.02789 1.02608 1.01943 -1.01702 1.02124 1.05386 1.06292 1.05446 1.05205 1.05205 1.04842 -1.05084 1.04661 1.04842 1.06171 1.04722 1.0593 1.05869 1.05326 -1.03514 1.01883 1.01581 1.01279 1.0146 1.00916 1.02124 1.01822 -1.01702 1.0297 1.02426 1.01883 1.02366 1.01279 1.02064 1.01098 -1.02245 1.02185 1.01641 1.02124 1.02004 1.01702 1.01218 1.02789 -1.02185 1.02366 1.0152 1.02547 1.01581 1.02185 1.05809 1.05688 -1.05084 1.05024 1.06171 1.05084 1.05748 1.05205 1.04601 1.05386 -1.04661 1.05205 1.04963 1.02004 1.01943 1.02306 1.02608 1.014 -1.02306 1.0152 1.01943 1.02245 1.01702 1.02185 1.02668 1.01762 -1.01702 1.0146 0.985004 1.01218 1.01581 1.02547 1.01822 1.00856 -1.01037 1.01098 1.014 1.01822 1.02789 1.02185 1.01883 1.01762 -1.0152 1.02004 1.01581 1.02185 1.0146 1.02064 1.02306 1.02366 -1.02064 1.02366 1.02487 1.01822 1.02185 1.02064 1.01822 1.02668 -1.02064 1.02124 1.02306 1.02668 1.02487 1.03091 1.03272 1.03816 -1.0454 1.02668 0.202673 0 0 0 0 0 -0 0.00100333 0.00401333 0 0 0 0 0 -0 0 0 0 0.00903 0.00200667 0 0.00200667 -0.00301 0 0 0.00200667 0.00100333 0 0 0 -0.00401333 0.00903 0.00903 0.00401333 0.00401333 0.00401333 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00501667 0.00602 0.00702333 0.00501667 0.00200667 -0 0 0 0 0 0 0.00200667 0.00401333 -0 0 0 0 0 0.00100333 0.00100333 0 -0.00100333 0.00501667 0.00100333 0.00100333 0.00301 0.00100333 0.00100333 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0.15652 1.01943 1.05567 1.0442 -1.03574 1.03816 1.03393 1.03212 1.02185 1.01641 1.01822 1.02064 -1.01762 1.01822 1.01339 1.01883 1.01762 1.02245 1.01822 1.02004 -1.02487 1.01883 1.02306 1.02426 1.02004 1.02185 1.014 1.01883 -1.02004 1.02426 1.02728 1.02004 1.01702 1.02547 1.01641 1.02608 -1.02004 1.01943 1.02004 1.02306 1.00071 0.995876 1.03332 1.02728 -1.0297 1.01702 1.02789 1.02245 1.02306 1.01098 1.01641 1.02668 -1.01762 1.01943 1.06232 1.0448 1.05205 1.05446 1.05809 1.04842 -1.05084 1.05144 1.05144 1.04722 1.04963 1.05386 1.04661 1.05567 -1.05326 1.02245 1.01822 1.0297 1.02426 1.02306 1.01883 1.02185 -1.02789 1.01943 1.02668 1.02306 1.02185 1.01037 1.00614 1.03091 -1.01702 1.02306 1.02547 1.02306 1.02608 1.02366 1.01702 1.02487 -1.01762 1.02124 1.02185 1.02124 1.02306 1.04359 1.05869 1.04722 -1.05265 1.04299 1.05748 1.04661 1.04118 1.04903 1.04963 1.05024 -1.04782 1.04722 1.05205 1.02245 1.02306 1.01581 1.0152 1.02245 -1.02064 1.02124 1.01581 1.02245 1.02064 1.014 1.0146 1.01943 -1.01581 0.986816 1.00252 1.02124 1.0152 1.02185 1.02124 1.01581 -1.02728 1.02185 1.02668 1.02426 1.0303 1.0152 1.02124 1.01762 -1.01581 1.02426 1.02245 1.01762 1.01762 1.01883 1.01218 1.0146 -1.01943 1.01702 1.02064 1.02185 1.01943 1.02366 1.01581 1.02306 -1.0152 1.01702 1.01822 1.02185 1.02547 1.02849 1.03272 1.04299 -1.05507 0.97232 0.08127 0 0 0 0 0 -0 0 0 0.00401333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00903 0 0 0 0.00100333 0.00301 0.00200667 -0 0 0 0 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00702333 0.00702333 0.00401333 0 0 0 0.00100333 -0 0 0 0 0 0 0.00401333 0.00200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0.05719 0.949368 1.05084 1.03876 -1.03332 1.03393 1.0291 1.02789 1.02728 1.02849 1.02608 1.02668 -1.02366 1.02487 1.01762 1.02064 1.02064 1.02849 1.02849 1.02547 -1.01822 1.02426 1.02245 1.02004 1.02366 1.02849 1.0291 1.01943 -1.00856 1.01762 1.01702 1.02608 1.02306 1.02306 1.01943 1.03091 -1.02004 1.01822 1.02608 1.02185 1.02426 0.982588 1.01641 1.02124 -1.02064 1.01158 1.01883 1.02547 1.01883 1.03634 1.03151 1.0152 -1.01762 1.03816 1.05144 1.05567 1.04601 1.05688 1.05265 1.05688 -1.04238 1.05628 1.0599 1.05205 1.04903 1.05446 1.05386 1.05144 -1.04903 1.01762 1.01339 1.01279 1.01279 1.01943 1.02004 1.02185 -1.01641 1.01943 1.02728 1.01339 1.00614 1.02426 1.03091 1.01762 -1.02306 1.02004 1.014 1.01943 1.02487 1.0152 1.02306 1.02124 -1.02306 1.02668 1.02064 1.01702 1.01158 1.05446 1.04661 1.04842 -1.05024 1.05688 1.05507 1.05084 1.05507 1.05386 1.05688 1.05024 -1.0605 1.05688 1.04903 1.03332 1.01641 1.02487 1.02124 1.02426 -1.02366 1.01641 1.01943 1.01702 1.0152 1.01822 1.02426 1.02004 -1.01037 0.995272 1.01883 1.02366 1.0152 1.01581 1.01158 1.02124 -1.02849 1.02668 1.02124 1.01037 1.0146 1.0152 1.01158 1.02547 -1.01279 1.0146 1.01581 1.0152 1.01339 1.01943 1.01762 1.02004 -1.00916 1.014 1.02487 1.02064 1.01581 1.02004 1.01883 1.02064 -1.02789 1.02487 1.02064 1.02004 1.02487 1.0291 1.03876 1.0448 -1.05446 0.818384 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00401333 0.0110367 -0.00903 0.00100333 0.0100333 0.01204 0.00602 0 0 0.00200667 -0.00200667 0.00501667 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00200667 -0 0 0 0 0.00301 0.00301 0.00301 0.00200667 -0.00301 0.00200667 0 0 0 0 0 0.00501667 -0 0 0 0.00401333 0.00301 0 0 0 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0 0 0.777168 1.05628 1.04057 -1.02306 1.02728 1.02366 1.02185 1.02124 1.02366 1.01822 1.01943 -1.01581 1.0152 1.02426 1.01943 1.01762 1.02004 1.014 1.01218 -1.01883 1.01581 1.02064 1.02124 1.02306 1.01943 1.01822 1.02245 -1.02547 1.02245 1.0146 1.01158 1.02306 1.02608 1.01943 1.02004 -1.02789 1.03151 1.01943 1.02245 1.02547 1.00554 1.00554 1.0303 -1.02487 1.02366 1.02064 1.03453 1.01641 1.02004 1.01762 1.02245 -1.02245 1.03514 1.04963 1.05024 1.05628 1.05386 1.0448 1.0442 -1.04842 1.05748 1.03876 1.05024 1.05024 1.05386 1.05869 1.05326 -1.05024 1.01943 1.02004 1.02004 1.02487 1.01883 1.02849 1.02004 -1.0146 1.02608 1.01883 1.01822 1.02789 1.02608 1.03091 1.02064 -1.02547 1.02487 1.02124 1.0146 1.01943 1.02245 1.0152 1.02547 -1.01762 1.01339 1.02547 1.014 1.01822 1.04661 1.05084 1.05386 -1.04299 1.05446 1.04359 1.04963 1.0599 1.05024 1.05386 1.05446 -1.05446 1.04057 1.05265 1.04118 1.00675 1.02547 1.0152 1.01158 -1.0291 1.01883 1.01883 1.02849 1.01702 1.01702 1.01943 1.01883 -0.995876 1.00916 1.02547 1.02306 1.02608 1.02064 1.01641 1.01943 -1.01641 1.01037 1.02366 1.0152 1.02366 1.01762 1.02547 1.01762 -1.0146 1.02004 1.01943 1.01641 1.0152 1.02064 1.02124 1.02245 -1.01702 1.01702 1.014 1.01762 1.01762 1.02668 1.02426 1.00796 -1.01943 1.02487 1.02849 1.02849 1.03272 1.02849 1.03634 1.0448 -1.05084 0.54782 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00702333 -0.00401333 0.00301 0.00501667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0.00702333 0.00401333 0 0 0 0 -0 0 0.00200667 0 0.00200667 0.00802667 0.00501667 0 -0 0 0.00100333 0 0.00100333 0.00602 0.00501667 0 -0 0 0 0.00200667 0.00301 0.00100333 0 0 -0 0 0 0 0 0.53578 1.0605 1.04903 -1.04178 1.03876 1.02849 1.02547 1.01943 1.02306 1.02245 1.02124 -1.02426 1.02064 1.02547 1.01822 1.01883 1.0146 1.01339 1.02064 -1.01883 1.01641 1.01702 1.014 1.02124 1.01943 1.02124 1.01943 -1.02547 1.02004 1.01339 1.02064 1.01339 1.00433 1.02426 1.01762 -1.0152 1.01279 1.01702 1.02245 1.01641 1.01037 0.980776 1.01218 -1.02064 1.02608 1.01822 1.00614 1.01822 1.01641 1.01762 1.00735 -1.02004 1.03936 1.05628 1.05265 1.06413 1.05205 1.0454 1.05446 -1.0593 1.0593 1.05386 1.05748 1.05024 1.04118 1.04178 1.03755 -1.0448 1.0291 1.01641 1.01822 1.02245 1.01762 1.00856 1.02185 -1.02608 1.01581 1.02306 1.01943 1.02064 1.00977 1.00735 1.0152 -1.02064 1.0303 1.02245 1.02547 1.02306 1.02789 1.02728 1.01218 -1.02547 1.01943 1.01822 1.02004 1.04238 1.05446 1.05386 1.06352 -1.04601 1.0442 1.05688 1.05205 1.0599 1.04299 1.05265 1.03936 -1.03332 1.04903 1.05688 1.05748 1.01218 1.01762 1.02487 1.01098 -1.02366 1.02366 1.02366 1.02668 1.03091 1.03997 1.0146 1.01581 -0.988024 1.01702 1.01702 1.02487 1.02366 1.02547 1.02185 1.02487 -1.02366 1.01883 1.01883 1.02185 1.02306 1.01218 1.01641 1.02547 -1.014 1.02004 1.02366 1.01943 1.02185 1.01279 1.01581 1.02004 -1.01702 1.01339 1.01822 1.01762 1.01581 1.02366 1.02789 1.02487 -1.02426 1.02245 1.01702 1.02668 1.0297 1.0291 1.04057 1.05205 -1.04661 0.31003 0 0 0 0 0 0 -0 0 0 0 0 0.00802667 0.00702333 0.00401333 -0.00602 0.00401333 0.00802667 0.0130433 0.0110367 0.00702333 0.00802667 0 -0 0 0 0 0.00100333 0.00100333 0.00602 0.00602 -0.00100333 0.00501667 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00301 -0.00100333 0.00200667 0.00100333 0 0 0.00200667 0.00301 0 -0 0 0 0 0 0 0 0.00200667 -0.00501667 0.00100333 0.00100333 0.00200667 0 0 0 0.00401333 -0.01204 0.00501667 0 0 0 0 0 0 -0 0 0 0 0 0.28896 1.0442 1.04963 -1.03453 1.03212 1.0297 1.02789 1.02487 1.02366 1.02064 1.02185 -1.01883 1.01702 1.0146 1.00735 1.01581 1.01883 1.0152 1.00916 -1.01762 1.0152 1.02366 1.02366 1.02789 1.01339 1.01822 1.02185 -1.00916 1.0152 1.01762 1.0146 1.01943 1.0146 1.01943 1.01339 -1.01943 1.02547 1.01762 1.0146 1.02245 1.0146 1.00796 1.01641 -1.02306 1.02789 1.014 1.02004 1.0303 1.01762 1.0146 1.02728 -1.01822 1.01581 1.04057 1.04782 1.04722 1.05628 1.05567 1.05265 -1.04601 1.04661 1.05084 1.05809 1.04661 1.05205 1.05628 1.0599 -1.04299 1.02306 1.01943 1.02608 1.02124 1.03091 1.0297 1.02728 -1.02245 1.02487 1.01883 0.982588 0.956616 0.961448 0.96628 0.962052 -0.97836 0.983796 1.01702 1.01218 1.01279 1.01762 1.01762 1.02124 -1.02608 1.02426 1.02306 1.02306 1.01943 1.05446 1.0442 1.0454 -1.06836 1.0599 1.05144 1.0605 1.0454 1.04601 1.04722 1.06473 -1.04722 1.0454 1.05688 1.03453 1.01218 1.01702 1.01702 1.03453 -1.01883 1.01581 1.02728 1.02366 1.02426 1.02547 1.02728 0.99648 -1.0146 1.01943 1.0146 1.01218 1.02789 1.0291 1.0146 1.01762 -1.01822 1.02426 1.0146 1.02124 1.01822 1.02306 1.01098 1.0146 -1.02004 1.01822 1.02245 1.02004 1.02185 1.01822 1.01037 1.02004 -1.01581 1.02064 1.02366 1.02245 1.02426 1.00977 1.0146 1.0146 -1.01581 1.02487 1.02426 1.02245 1.02608 1.04178 1.0442 1.04842 -0.986816 0.113377 0 0 0 0 0 0 -0 0 0 0.00200667 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00301 0.00100333 0 0 -0 0 0 0 0.00301 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00100333 0.00200667 0 0 0 0.00100333 -0.00602 0.00301 0 0 0 0 0.00100333 0 -0 0 0 0.00100333 0.00602 0.00401333 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.09632 0.973528 1.04963 -1.03936 1.02728 1.02608 1.02487 1.0291 1.02064 1.02728 1.02547 -1.01943 1.01883 1.01279 1.01883 1.02185 1.01762 1.01822 1.01279 -1.01822 1.02124 1.01641 1.02124 1.01702 1.01943 1.00856 1.01581 -1.01641 1.01641 1.02124 1.02426 1.0291 1.01762 1.02004 1.02306 -1.01943 1.02004 1.01158 1.02004 1.01581 1.01581 1.01883 1.00977 -1.01279 1.01883 1.03393 1.02789 1.0303 1.01762 1.02608 1.01822 -1.0146 1.01158 1.0442 1.05144 1.05326 1.05024 1.05567 1.05567 -1.04842 1.06232 1.05326 1.04782 1.0454 1.05205 1.05688 1.04722 -1.03936 1.03151 1.0303 1.02608 1.01943 1.01943 1.014 1.02426 -1.02064 0.979568 0.972924 0.965676 0.97534 0.971716 0.971112 0.968092 -0.958428 0.974132 0.977756 1.00735 1.02608 1.02789 1.02547 1.02004 -1.02426 1.01762 1.02426 1.02789 1.02185 1.04782 1.06654 1.06292 -1.05024 1.04782 1.03936 1.03876 1.05144 1.0454 1.05024 1.05688 -1.0599 1.05386 1.0454 1.03816 1.01339 1.02064 1.02124 1.02366 -1.01883 1.02185 1.02789 1.02789 1.02124 1.02668 1.01098 1.00192 -1.02245 1.02426 1.02426 1.01943 1.01641 1.01702 1.02245 1.02306 -1.01641 1.0146 1.014 1.01943 1.01158 1.02064 1.01883 1.01943 -1.02306 1.01943 1.02547 1.014 1.01581 1.02306 1.02366 1.02064 -1.02064 1.01762 1.01943 1.01822 1.01218 1.01943 1.02004 1.01943 -1.02064 1.02004 1.03151 1.03453 1.03816 1.03936 1.04299 1.05688 -0.824824 0.00401333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0.00200667 0.00100333 0.0110367 0.01204 0.00903 0.00301 -0.00702333 0.0110367 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00301 0.00401333 -0 0 0 0 0 0 0.00200667 0.00200667 -0 0.00100333 0.0110367 0.00802667 0.00501667 0.00602 0.00702333 0.00501667 -0.00903 0.00501667 0.00100333 0 0 0 0 0.00100333 -0.00100333 0.00100333 0.00401333 0 0 0 0 0 -0 0 0 0 0 0 0.787472 1.05869 -1.0454 1.03695 1.02426 1.02728 1.02728 1.02608 1.02185 1.0152 -1.01883 1.0291 1.02728 1.02789 1.01641 1.01762 1.01883 1.03212 -1.03212 1.02245 1.02004 1.01822 1.01279 1.01641 1.02185 1.02245 -1.01762 1.02426 1.02124 1.00796 1.014 1.02366 1.01822 1.02487 -1.0146 1.01641 1.02426 1.03574 1.02668 1.02245 1.01883 1.01822 -1.02487 1.02366 1.02668 1.02608 1.0146 1.0146 1.02306 1.014 -1.01702 1.0146 1.02547 1.0454 1.05809 1.05144 1.04782 1.03936 -1.05386 1.04238 1.03876 1.04601 1.05628 1.04963 1.04601 1.04359 -1.02668 1.01641 1.01762 1.01822 1.01762 1.01822 1.02004 1.01822 -0.988628 0.95722 0.963864 0.955408 0.969904 0.972924 0.966884 0.956616 -0.960844 0.96628 0.974736 0.975944 1.01158 1.02547 1.02004 1.0152 -1.01943 1.014 1.02728 1.01822 1.02245 1.05024 1.04963 1.04118 -1.05748 1.04057 1.03393 1.05144 1.04118 1.05144 1.04178 1.05144 -1.05144 1.05326 1.0599 1.02789 1.01883 1.02547 1.01702 1.02487 -1.00614 1.01279 1.01098 1.00977 1.02668 1.01702 0.974736 1.014 -1.02064 1.01279 1.00675 1.01279 1.014 1.0152 1.02004 1.0152 -1.01339 1.00796 1.02064 1.01822 1.02064 1.03634 1.02487 1.01339 -1.01641 1.0152 1.0146 1.0146 1.01641 1.01339 1.01641 1.02124 -1.02366 1.01339 1.02124 1.02728 1.02789 1.02668 1.0291 1.02487 -1.03332 1.02849 1.0291 1.02547 1.03212 1.04903 1.05869 1.0605 -0.48461 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00401333 0 0 0.00401333 0.00401333 0.00602 -0.00602 0.00100333 0.00501667 0.00501667 0.00602 0.00702333 0.00501667 0.00401333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00401333 0.00200667 0.00100333 -0.00301 0.00702333 0.00702333 0.00301 0.00100333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00301 0.00903 0.00802667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.417387 1.04782 -1.05628 1.04238 1.0297 1.0291 1.02849 1.01822 1.02124 1.01702 -1.01883 1.01883 1.01702 1.01098 1.01279 1.0152 1.01822 1.01581 -1.01702 1.01098 1.0152 1.01581 1.01702 1.014 1.00252 1.01339 -1.01641 1.02185 1.01339 1.02245 1.0291 1.01822 1.01581 1.02306 -1.01943 1.01218 1.01822 1.01641 1.01098 1.02487 1.03936 1.02366 -1.014 1.00977 1.02487 1.02487 1.02366 1.02366 1.01762 1.02547 -1.03151 1.0297 1.02366 1.02366 1.04722 1.05084 1.05326 1.05265 -1.05205 1.04722 1.05507 1.04722 1.04782 1.04359 1.05326 1.03212 -1.02185 1.02124 1.01883 1.01762 1.02789 1.02185 1.02849 0.994064 -0.962052 0.977152 0.963864 0.970508 0.970508 0.968092 0.96326 0.977152 -0.968092 0.964468 0.9693 0.974132 0.986816 1.02547 1.03453 1.04238 -1.03091 1.01822 1.01339 1.01702 1.01762 1.03514 1.04601 1.04842 -1.03755 1.04782 1.04601 1.05205 1.0448 1.05748 1.04903 1.05024 -1.05628 1.04722 1.03816 1.01702 1.0152 1.01218 1.02789 1.01762 -1.02004 1.01702 1.02366 1.02426 1.01641 0.997688 1.00433 1.01339 -1.02185 1.0146 1.0152 1.02064 1.02728 1.0291 1.02185 1.01822 -1.01883 1.00977 1.02789 1.02306 1.01762 1.014 1.01762 1.02185 -1.01279 1.01702 1.01218 1.02124 1.02185 1.02124 1.02185 1.01279 -1.02004 1.02306 1.02547 1.01822 1.0152 1.01581 1.01762 1.01883 -1.02064 1.02306 1.03574 1.03936 1.0442 1.04238 1.05024 1.01883 -0.194647 0 0 0 0 0.00100333 0.00100333 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00200667 0.00301 0.00802667 -0.00702333 0.00200667 0.00100333 0 0 0.00200667 0.00903 0.00903 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0 0 0 0.133443 0.992252 -1.0442 1.03634 1.03332 1.03212 1.03151 1.0303 1.02608 1.0291 -1.02789 1.02064 1.01762 1.02245 1.02728 1.0291 1.0303 1.02306 -1.01762 1.01762 1.02185 1.02124 1.02185 1.02306 1.02185 1.02245 -1.01702 1.0146 1.01702 1.01702 1.01822 1.02124 1.01762 1.02004 -1.02487 1.02185 1.01883 1.02487 1.02185 1.01702 1.0146 1.0303 -1.01702 0.998292 1.00675 1.02728 1.0152 1.02004 1.02306 1.02728 -1.01279 1.0152 1.02004 1.02306 1.03212 1.04903 1.04903 1.05265 -1.05507 1.04842 1.06292 1.05869 1.05628 1.04842 1.03091 1.01822 -1.02245 1.03091 1.02608 1.01279 1.02245 1.02185 1.00977 0.966884 -0.968092 0.964468 0.962052 0.971112 0.964468 0.972924 0.962052 0.971716 -0.968696 0.97232 0.966884 0.965072 0.95722 0.99648 1.01702 1.01218 -1.0146 1.00796 1.02487 1.01883 1.01581 1.00916 1.03453 1.05507 -1.05024 1.06413 1.05386 1.05507 1.06171 1.05084 1.05809 1.05144 -1.05628 1.05205 1.02366 1.0152 1.02487 1.02366 1.02849 1.02064 -1.01883 1.02064 1.03332 1.0291 1.00252 0.976548 1.01641 1.02064 -1.0152 1.02124 1.02547 1.01581 1.0152 1.01581 1.03212 1.02064 -1.02185 1.0146 1.01641 1.01762 1.01339 1.01702 1.02245 1.02064 -1.01218 1.0152 1.02124 1.01762 1.0146 1.01158 1.01822 1.02306 -1.02426 1.01883 1.02185 1.014 1.02004 1.02487 1.01943 1.02487 -1.02245 1.01822 1.01822 1.01762 1.03091 1.03876 1.05205 0.867328 -0.02107 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0 -0.00100333 0.00702333 0.00802667 0.00200667 0 0.00100333 0.00200667 0.00301 -0.00602 0.00501667 0.00501667 0.00501667 0.00200667 0 0 0.00200667 -0.00602 0.0110367 0.0110367 0.00702333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0 0 0 0.00200667 -0.00401333 0.00401333 0.00501667 0.00401333 0.00100333 0 0 0 -0.00301 0.00501667 0.00401333 0.00100333 0.00602 0.00100333 0 0 -0 0 0 0 0 0 0 0.755272 -1.06413 1.05205 1.03695 1.02245 1.02306 1.02608 1.03091 1.02366 -1.02728 1.02487 1.02366 1.02064 1.02849 1.01762 1.01339 1.00796 -1.02668 1.01883 1.02245 1.01822 1.01943 1.01581 1.02306 1.02487 -1.02245 1.02185 1.01279 1.014 1.014 1.01339 1.014 1.02608 -1.01822 1.0146 1.01581 1.02185 1.014 1.02306 1.0152 1.02124 -1.0146 1.0146 0.9995 1.01218 1.01762 1.02064 1.0152 1.02547 -1.02366 1.02426 1.02064 1.02547 1.01762 1.0152 1.02366 1.03453 -1.04601 1.05084 1.03272 1.03151 1.02306 1.0146 1.01641 1.0146 -1.02487 1.02849 1.01702 1.02728 1.02668 1.02849 0.994064 0.96326 -0.968696 0.962656 0.968092 0.977152 0.963864 0.960844 0.962052 0.974736 -0.961448 0.96024 0.968092 0.965676 0.973528 0.997084 1.02306 1.02185 -1.01702 1.02608 1.02004 1.01339 1.02185 1.01581 1.01943 1.03816 -1.05628 1.0448 1.04782 1.06111 1.05386 1.05084 1.05265 1.04782 -1.05446 1.02004 1.02306 1.0146 1.01279 1.01822 1.01822 1.02487 -1.02426 1.02366 1.01279 1.00796 0.97836 1.0146 1.02487 1.01762 -1.02064 1.01037 1.01822 1.0152 1.02487 1.0146 1.02064 1.02608 -1.02849 1.02608 1.02306 1.01279 1.01158 1.0152 1.01339 1.02064 -1.03212 1.01943 1.02306 1.0146 1.02064 1.02366 1.01581 1.0152 -1.01762 1.01339 1.02124 1.02064 1.01822 1.02124 1.02366 1.02004 -1.01883 1.02185 1.03151 1.03695 1.04238 1.04903 1.05205 0.470563 -0 0 0 0 0 0 0 0 -0 0 0.00702333 0.00401333 0.00702333 0.00602 0.00903 0.00401333 -0.00100333 0 0.00602 0.00501667 0.00301 0 0 0.00200667 -0.00200667 0.00200667 0 0 0 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.00200667 0.00200667 -0.00401333 0.00301 0.00200667 0.00401333 0 0.00301 0 0 -0.00100333 0.00100333 0.00100333 0 0.00100333 0.00200667 0.00301 0 -0 0 0 0 0 0.00301 0.00401333 0.00602 -0.00100333 0.00301 0 0 0 0 0 0 -0.00401333 0 0 0 0 0 0 0.33712 -1.04299 1.05205 1.04661 1.03393 1.03212 1.02245 1.02245 1.0152 -1.0146 1.02124 1.02185 1.0146 1.0152 1.014 1.0152 1.02487 -1.01581 1.01339 1.02185 1.01943 1.01641 1.02064 1.01943 1.02064 -1.02487 1.03212 1.01762 1.02124 1.01581 1.02608 1.01822 1.01158 -1.02245 1.0291 1.02728 1.02306 1.02487 1.02366 1.0152 1.01822 -1.02547 1.01581 1.01218 0.995272 1.01339 1.01218 1.02245 1.02849 -1.00977 1.00796 1.02487 1.01883 1.01702 1.0303 1.02064 1.02245 -1.01883 1.01158 1.0291 1.01702 1.02245 1.02789 1.03514 1.01279 -1.02366 1.00675 1.02366 1.02245 1.02668 1.02004 0.983796 0.964468 -0.974736 0.961448 0.97232 0.965676 0.963864 0.980776 0.973528 0.97232 -0.961448 0.968092 0.969904 0.970508 0.954804 0.963864 1.01581 1.03453 -1.02608 1.02124 1.03574 1.01218 1.02185 1.02849 1.02004 1.02668 -1.03212 1.05446 1.0448 1.05205 1.05144 1.0593 1.05024 1.03816 -1.02487 1.02124 1.01641 1.02185 1.02426 1.01822 1.01822 1.01641 -1.01702 1.02608 1.014 0.99044 1.00916 1.03453 1.02185 1.01883 -1.0152 1.01218 1.01762 1.01339 1.02064 1.02426 1.02064 1.01702 -1.0146 1.01218 1.02426 1.03091 1.0146 1.02306 1.0146 1.01098 -1.0146 1.01762 1.01098 1.01883 1.01581 1.02004 1.02124 1.02366 -1.02487 1.02426 1.01822 1.02004 1.02064 1.014 1.01098 1.02608 -1.02728 1.03453 1.03091 1.04057 1.04963 1.05024 0.99346 0.137457 -0 0 0 0 0 0 0 0.00401333 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00501667 0.00802667 0 0 0.00802667 0.00401333 -0.00501667 0.00200667 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00301 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0.00401333 0.00401333 0 0 0 -0 0 0 0 0 0 0 0.05418 -0.926416 1.0442 1.03997 1.03332 1.0303 1.03212 1.02306 1.02366 -1.02547 1.01822 1.01883 1.01581 1.02306 1.02366 1.01883 1.01641 -1.01702 1.01641 1.02547 1.02064 1.01822 1.02366 1.014 1.01158 -1.01641 1.01762 1.00916 1.02245 1.02608 1.01037 1.01943 1.02608 -1.02004 1.0146 1.02004 1.0146 1.02306 1.02366 1.03151 1.02426 -1.02608 1.02668 1.02366 0.998292 0.994668 1.03272 1.02608 1.01339 -1.02366 1.03212 1.01822 1.01218 1.02124 1.00977 1.02306 1.01822 -1.01883 1.02728 1.01339 1.0146 1.02426 1.014 1.00071 1.02789 -1.02849 1.01641 1.02789 1.02547 1.0297 1.02366 0.975944 0.965676 -0.968092 0.968696 0.965072 0.96628 0.970508 0.958428 0.959032 0.96628 -0.97836 0.971112 0.968092 0.958428 0.96024 0.965072 1.01037 1.02185 -1.01822 1.0146 1.02426 1.02728 1.01762 1.02124 1.01943 1.01702 -1.02124 1.02789 1.02366 1.02366 1.02124 1.02064 1.01943 1.02728 -1.02366 1.02064 1.0291 1.01339 1.0152 1.02245 1.0146 1.02366 -1.02728 1.02124 1.00252 1.01702 1.01883 1.01702 1.02426 1.02487 -1.01702 1.01581 1.02306 1.0146 1.02426 1.014 1.01943 1.01702 -1.02668 1.01581 1.02064 1.02124 1.02366 1.02728 1.01641 1.02306 -1.02004 1.02306 1.02245 1.02426 1.02064 1.02366 1.01943 1.01702 -1.01702 1.02185 1.01581 1.01279 1.02004 1.02245 1.02608 1.02608 -1.02608 1.02547 1.03212 1.03936 1.04842 1.0605 0.720496 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0.00100333 0.00200667 0 0 -0 0 0 0 0 0 0 0.00401333 -0.00200667 0.00200667 0.00401333 0.00401333 0.00702333 0.00200667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0 0.00802667 0.00100333 0 0 -0.00401333 0.0100333 0.00702333 0.00602 0.00903 0.00903 0.00702333 0.00702333 -0.00602 0.00501667 0.00903 0 0 0 0 0 -0.00301 0 0 0 0 0 0 0 -0.507687 1.05446 1.05084 1.03876 1.03151 1.01822 1.02487 1.02547 -1.02245 1.02366 1.02789 1.02547 1.01943 1.01762 1.01822 1.01883 -1.01581 1.01883 1.02668 1.01702 1.01822 1.02668 1.01943 1.02668 -1.02064 1.01218 1.01943 1.02124 1.02004 1.01822 1.0146 1.0146 -1.00554 1.02124 1.0146 1.01822 1.01762 1.01641 1.0146 1.01641 -1.02608 1.02064 1.01581 1.01279 1.00494 1.00916 1.02547 1.01641 -1.02366 1.0146 1.01822 1.01883 1.01641 1.02064 1.01098 1.02004 -1.02306 1.00433 1.02245 1.0146 1.01581 1.0152 1.02487 1.02728 -1.01883 1.01943 1.02487 1.01641 1.02426 1.01641 0.96326 0.965072 -0.959636 0.95722 0.9693 0.959636 0.965676 0.968696 0.971716 0.977756 -0.96628 0.955408 0.971716 0.974736 0.959636 0.9693 1.02064 1.02064 -1.01037 1.01279 1.02608 1.02728 1.02426 1.02849 1.03393 1.02004 -1.03151 1.0146 1.02608 1.02124 1.0297 1.02366 1.02728 1.01218 -1.02124 1.00735 1.02426 1.0291 1.02366 1.02185 1.02245 1.02245 -1.0146 1.00252 1.00554 1.02064 1.02004 1.02064 1.014 1.02245 -1.02668 1.02728 1.02306 1.014 1.02064 1.01158 1.02064 1.02124 -1.02487 1.02366 1.02064 1.01279 1.0146 1.02547 1.03332 1.0291 -1.02849 1.02245 1.02547 1.02849 1.02004 1.01581 1.02004 1.02064 -1.014 1.02124 1.01822 1.01762 1.01883 1.014 1.01641 1.02124 -1.02487 1.02728 1.02849 1.03634 1.04782 1.03151 0.284947 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0.00100333 0.00501667 0.00702333 0.00401333 0.0100333 0.00602 0.00802667 -0 0 0 0 0 0 0 0.00401333 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0.00301 0.00802667 0.00200667 0 0 -0 0 0 0 0 0 0 0.00903 -0.00602 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.12642 0.985608 1.05386 1.04601 1.0297 1.02728 1.03091 1.01762 -1.01883 1.02004 1.01641 1.0146 1.01762 1.02185 1.01883 1.01279 -1.01702 1.01943 1.01822 1.01883 1.01702 1.02306 1.02426 1.01883 -1.01279 1.0146 1.03151 1.01943 1.02185 1.02064 1.0291 1.03332 -1.02608 1.02064 1.02124 1.02245 1.00977 1.0146 1.01883 1.01822 -1.014 1.0152 1.02245 1.0291 1.02064 0.986212 1.00796 1.02004 -1.01883 1.01883 1.02668 1.02245 1.02487 1.00977 1.01037 1.02426 -1.01641 1.00916 1.0146 1.02185 1.01641 1.02728 1.02004 1.01883 -1.00977 1.02064 1.02245 1.01279 1.01943 1.02306 0.980776 0.968696 -0.966884 0.972924 0.9542 0.967488 0.966884 0.97534 0.969904 0.97534 -0.959636 0.96628 0.965072 0.971112 0.968696 0.980172 1.02426 1.02245 -1.02547 1.02366 1.02789 1.01943 1.01762 1.02608 1.01943 1.02668 -1.01158 1.01762 1.01581 1.02608 1.02366 1.01943 1.01943 1.02185 -1.01339 1.02004 1.01883 1.03212 1.01943 1.01581 1.00916 1.01762 -1.00614 0.98742 1.02124 1.014 1.02547 1.03272 1.02366 1.0152 -1.02064 1.02124 1.00856 1.01943 1.02668 1.0146 1.01279 1.01098 -1.00916 1.01943 1.02245 1.02124 1.01883 1.01339 1.0146 1.01339 -1.01943 1.02487 1.01641 1.01641 1.0146 1.01822 1.01883 1.02064 -1.02245 1.02064 1.02366 1.02124 1.02547 1.02789 1.02789 1.02849 -1.02547 1.03695 1.0454 1.05326 1.05386 0.84028 0.0230767 0 -0 0 0 0 0 0 0 0 -0.00301 0.00501667 0 0 0 0.00100333 0.00602 0.00301 -0.0100333 0.00401333 0.00301 0.00100333 0.00100333 0 0 0 -0 0 0.00501667 0.00401333 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00301 0.00301 0.00401333 0.00100333 0 0.00301 0.00100333 -0 0.00100333 0.0100333 0.00903 0.00501667 0.00100333 0.00702333 0 -0 0.00100333 0.00100333 0 0.00401333 0 0 0.00100333 -0 0.0100333 0.00301 0 0.00501667 0.00401333 0.00200667 0 -0 0 0 0 0 0 0 0 -0 0.612304 1.05446 1.04118 1.03151 1.02608 1.02245 1.02306 -1.02789 1.0291 1.02728 1.02366 1.02306 1.02185 1.02004 1.01883 -1.02064 1.01218 1.01158 1.01762 1.02004 1.02004 1.01641 1.0146 -1.02728 1.02366 1.00916 1.01218 1.01641 1.01943 1.01641 1.01641 -1.01641 1.00252 0.985004 0.997084 0.991044 1.00071 1.0001 1.00494 -1.00675 1.01822 1.0146 1.02185 1.01641 1.01098 0.985608 1.00554 -1.02426 1.02668 1.02245 1.0152 1.03453 1.02306 1.02789 1.02668 -1.03453 1.02366 1.02064 1.02064 1.02668 1.03574 1.01943 1.01883 -1.01339 1.0146 1.02124 1.02366 1.02185 1.0297 0.998292 0.969904 -0.966884 0.971112 0.971112 0.972924 0.968092 0.966884 0.962656 0.967488 -0.953596 0.964468 0.979568 0.968696 0.96628 0.988628 1.02487 1.02124 -1.02185 1.01581 1.02185 1.01158 1.01822 1.00977 1.014 1.01762 -1.01883 1.0297 1.01883 1.00614 1.01702 1.01581 1.02366 1.0146 -1.02306 1.01943 1.0152 1.01339 1.02185 1.03332 1.02487 1.00796 -1.00373 1.01641 1.02547 1.02306 1.01702 1.01822 1.01037 1.02064 -1.02185 1.02245 1.01762 1.02004 1.02245 1.03091 1.01822 1.01641 -1.02366 1.02185 1.02124 1.02426 1.02004 1.0146 1.02547 1.02608 -1.014 1.01943 1.01581 1.02004 1.01581 1.01641 1.02245 1.014 -1.02004 1.01641 1.01822 1.01943 1.01883 1.01943 1.0291 1.02849 -1.03332 1.03634 1.03876 1.04963 1.04118 0.371233 0 0 -0 0 0 0 0.00602 0.00702333 0.00301 0 -0 0.00501667 0.00401333 0.00602 0.01204 0.00501667 0.00702333 0.00200667 -0.00200667 0.00702333 0.00401333 0.00200667 0 0.00802667 0.0100333 0.00602 -0.00903 0.00501667 0.00301 0.00301 0.00501667 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0 0.00200667 -0.00301 0 0 0 0 0 0 0 -0.00401333 0.00301 0 0.00301 0 0 0 0 -0 0.00401333 0.00100333 0.0110367 0.01204 0.00903 0.0100333 0.00702333 -0 0 0 0 0 0 0 0 -0 0.199663 1.00675 1.05084 1.04238 1.03272 1.02306 1.0297 -1.02426 1.02004 1.01581 1.0152 1.01641 1.0152 1.02185 1.01822 -1.0146 1.01581 1.02124 1.01702 1.00977 1.01037 1.01702 1.02064 -1.01702 1.01883 1.01943 1.02547 1.01218 1.01762 1.01702 1.01218 -0.988024 1.01098 1.0146 1.01883 1.0152 1.02245 1.01883 1.01943 -1.01218 1.00131 1.0146 1.01943 1.01943 1.0297 1.02064 1.00071 -1.00252 1.02306 1.01641 1.01098 1.02366 1.02064 1.02668 1.01581 -1.01883 1.03151 1.02064 1.02608 1.0152 1.02185 1.01943 1.02789 -1.01702 1.02004 1.02124 1.02608 1.02426 1.01943 1.01581 0.971716 -0.974736 0.965676 0.969904 0.968092 0.969904 0.960844 0.973528 0.965072 -0.966884 0.971716 0.96024 0.961448 0.968696 1.00252 1.02668 1.02668 -1.02245 1.0303 1.01581 1.01883 1.01822 1.01218 1.02124 1.02547 -1.02789 1.01762 1.01943 1.01581 1.0152 1.02306 1.02728 1.02366 -1.01822 1.0146 1.02306 1.01279 1.02124 1.01702 1.014 1.00856 -1.02306 1.02547 1.00494 1.01883 1.01702 1.01822 1.02124 0.998292 -1.01279 1.00312 1.00675 1.00977 1.00796 1.014 1.02728 1.02306 -1.01883 1.02124 1.0146 1.02366 1.02608 1.02426 1.02185 1.01641 -1.02064 1.01641 1.02728 1.01883 1.02185 1.0152 1.01581 1.01702 -1.01581 1.02004 1.01762 1.02487 1.01883 1.02245 1.02668 1.02728 -1.02728 1.03695 1.0448 1.05446 0.90468 0.0461533 0 0 -0 0 0 0 0 0 0 0 -0.00702333 0.00401333 0 0 0 0 0 0 -0 0 0.00200667 0.0110367 0.0100333 0 0 0 -0 0 0 0 0.00100333 0.00401333 0.00301 0.00501667 -0.00100333 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00100333 0.00301 0.00200667 0 0 0 -0 0 0.00301 0 0 0 0 0.00301 -0.00602 0 0 0 0 0 0 0 -0.00100333 0.00501667 0.00200667 0 0 0 0 0 -0 0 0.635488 1.05507 1.04782 1.03634 1.03453 1.03091 -1.02487 1.02306 1.02668 1.02245 1.02306 1.02728 1.01702 1.01943 -1.02306 1.02608 1.02064 1.02245 1.014 1.01581 1.01762 1.01218 -1.01702 1.02426 1.02064 1.01581 1.01581 1.01943 1.01279 0.983192 -1.00433 1.01158 1.00916 1.00916 1.01339 1.0146 1.02245 1.01641 -1.01762 1.01883 0.9995 1.014 1.02306 1.02064 1.01822 1.01158 -1.00433 0.992856 1.01279 1.02668 1.0146 1.02185 1.02608 1.014 -1.01641 1.02245 1.02547 1.02185 1.02064 1.01339 1.0146 1.02064 -1.02366 1.02124 1.01581 1.02306 1.02124 1.02306 1.0291 0.983796 -0.95722 0.952992 0.963864 0.965072 0.969904 0.96628 0.94816 0.937892 -0.96628 0.958428 0.979568 0.963864 0.976548 1.01943 1.02245 1.01822 -1.02185 1.0291 1.02728 1.03091 1.02426 1.0303 1.02004 1.00554 -1.01762 1.01581 1.02426 1.02366 1.01822 1.01822 1.02426 1.02064 -1.01037 1.01883 1.01943 1.03212 1.02185 1.01158 1.01279 1.02668 -1.01702 1.014 1.00856 1.01581 1.014 1.01339 1.02064 1.01762 -1.0146 1.00977 1.01037 1.01279 1.00071 1.00192 1.00796 1.01581 -1.0152 1.02185 1.01943 1.02306 1.00373 1.0146 1.01762 1.0146 -1.0152 1.02064 1.01581 1.01641 1.0146 1.0152 1.01279 1.02185 -1.02728 1.02064 1.01822 1.02487 1.02124 1.02608 1.03272 1.03755 -1.04299 1.04359 1.04963 1.0448 0.40033 0 0 0 -0 0 0 0 0 0.00802667 0.00602 0 -0 0 0 0.00200667 0 0 0 0 -0 0 0 0 0 0.00702333 0.00301 0.00200667 -0.00301 0.00301 0.00602 0.00602 0.00100333 0 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00401333 0.00301 -0 0 0 0 0 0 0.00200667 0.00200667 -0.00200667 0.00301 0 0 0.00200667 0.00501667 0.00602 0 -0 0.00301 0.00301 0.00702333 0.00501667 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0.182607 0.99044 1.05205 1.04299 1.02487 1.02608 -1.01762 1.02728 1.02306 1.01943 1.02185 1.0152 1.01702 1.01883 -1.014 1.01158 1.00614 1.01098 1.01822 1.01883 1.01943 1.0146 -1.01702 1.00977 1.0146 1.01762 1.02004 1.02487 1.0001 1.00614 -1.02124 1.02306 1.01822 1.02668 1.01581 1.01762 1.02608 1.01762 -1.02185 1.01098 1.014 1.0152 1.00856 1.01822 1.02366 1.02487 -1.02366 0.995272 0.989232 1.01279 1.0152 1.02487 1.0146 1.01098 -1.01943 1.0152 1.01943 1.02124 1.00977 1.02004 1.02124 1.02124 -1.01641 1.01822 1.02124 1.01762 1.01702 1.02064 1.01218 1.01883 -0.985608 0.962052 0.971112 0.968092 0.966884 0.97534 0.972924 0.96024 -0.968696 0.96024 0.964468 0.98138 1.01883 1.02547 1.02064 1.02124 -1.01822 1.00977 1.00916 1.01822 1.02547 1.02789 1.0152 1.02849 -1.01762 1.01098 1.01339 1.01822 1.01943 1.02004 1.02124 1.02547 -1.02306 1.03151 1.02789 1.01943 1.0152 1.01943 1.01158 1.01218 -1.01822 1.02245 1.02789 1.01702 1.01641 1.01702 1.01641 1.01037 -1.01339 1.02245 1.01702 1.01883 1.02124 1.01641 1.02004 1.01822 -1.02366 1.02185 1.02064 1.02487 1.0152 1.02426 1.01883 1.01822 -1.01279 1.01883 1.01339 1.02547 1.01279 1.02366 1.0146 1.01098 -1.01943 1.01279 1.01702 1.02124 1.01943 1.02124 1.02124 1.03091 -1.03695 1.04782 1.05446 0.887936 0.05117 0 0 0 -0 0 0 0 0 0 0.00200667 0 -0 0 0 0 0.00501667 0.00200667 0.00100333 0 -0.00401333 0 0 0.00401333 0 0 0 0 -0 0 0 0 0 0 0.00501667 0.00602 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00501667 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00200667 0.00301 0 0 0 0 0 -0 0 0 0.56889 1.04903 1.04722 1.03091 1.02064 -1.03151 1.03091 1.02366 1.02547 1.02728 1.02849 1.02728 1.03091 -1.02608 1.0303 1.02426 1.01943 1.0152 1.02064 1.01943 1.02366 -1.02185 1.02245 1.02426 1.01822 1.02124 1.01098 0.986212 1.01158 -1.0152 1.01037 1.00796 1.014 1.01822 1.01762 1.0152 1.01037 -1.00796 1.01883 1.0152 1.0146 1.00916 1.01762 1.014 1.01943 -1.01822 1.02185 1.00252 0.983796 1.00494 1.02185 1.01279 1.03634 -1.02789 1.01762 1.02366 1.02185 1.03212 1.0146 1.0152 1.0146 -1.02185 1.02064 1.01822 1.02487 1.01883 1.02064 1.02004 1.0303 -1.03151 0.9995 0.97534 0.97232 0.974736 0.98138 0.9693 0.97232 -0.966884 0.959636 0.991648 1.02366 1.03091 1.02668 1.02487 1.02064 -1.0146 1.02306 1.02547 1.02789 1.01883 1.00796 1.02245 1.01883 -1.01762 1.02064 1.0146 1.01641 1.02124 1.02245 1.0291 1.02064 -1.02124 1.01943 1.00977 1.00312 1.02004 1.0297 1.02245 1.02487 -1.01581 1.014 1.01883 1.02426 1.014 1.02487 1.01581 1.01943 -1.01702 1.00796 1.00916 1.014 1.01581 1.02064 1.00554 1.01279 -1.0152 1.01943 1.0152 1.0146 1.0152 1.00916 1.01762 1.014 -1.02004 1.02366 1.02426 1.02245 1.02728 1.02547 1.0297 1.01762 -1.02426 1.02849 1.02426 1.02728 1.02668 1.0297 1.03514 1.03876 -1.03755 1.04842 1.03393 0.34916 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00501667 0.00802667 -0.00301 0.00802667 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00301 0.00501667 0.00301 0.00802667 0.00602 0.00401333 -0.00200667 0.00100333 0 0 0 0 0.00301 0.00401333 -0.00200667 0 0.00200667 0 0 0 0 0.00401333 -0.00301 0 0 0 0.00301 0 0.00100333 0 -0 0.00301 0 0 0 0 0 0 -0 0 0 0.128427 0.968696 1.05446 1.03876 1.03514 -1.03151 1.02789 1.02366 1.02004 1.02004 1.02306 1.02004 1.01279 -1.0146 1.00735 1.01762 1.0146 1.01702 1.02608 1.01883 1.01581 -1.00977 1.01218 1.01037 1.01762 1.01098 0.982588 1.0001 1.01279 -1.00433 0.9995 1.00131 1.06715 1.20397 1.22237 1.1079 1.01339 -1.01098 1.00735 1.0146 1.014 1.01943 1.01158 1.02608 1.03453 -1.01702 1.02245 1.02245 1.01279 0.967488 0.989232 1.02426 1.02366 -1.00916 1.01943 1.02426 1.02245 1.02306 1.02306 1.02245 1.02245 -1.02185 1.02849 1.01702 1.0152 1.02185 1.02426 1.03393 1.01581 -1.01641 1.01822 1.01098 1.0001 0.989836 0.979568 0.97836 0.992252 -1.00554 1.01581 1.03332 1.02547 1.01339 1.02245 1.01943 1.03695 -1.02487 1.02245 1.00977 1.01641 1.02426 1.01822 1.02004 1.0303 -1.02728 1.02245 1.0297 1.03151 1.02124 1.01339 1.02124 1.02185 -1.01641 1.00735 1.00856 1.01641 1.01339 1.01339 1.02064 1.02306 -1.02124 1.01581 1.01218 1.01218 1.01641 1.0146 1.01822 1.01702 -1.01822 1.01641 1.00916 1.01037 1.01098 1.0152 1.02366 1.01098 -1.01883 1.01641 1.014 1.01158 1.02124 1.0303 1.02245 1.01218 -1.01943 1.0152 1.01339 1.01098 1.0152 1.01581 1.02366 1.02668 -1.02547 1.02064 1.02245 1.02426 1.0303 1.03091 1.03514 1.04842 -1.05446 1.06171 0.81452 0.02408 0 0 0 0 -0 0 0 0 0 0.00100333 0 0 -0.00401333 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0.00501667 0.0130433 0.0100333 -0.00702333 0.00401333 0.00501667 0 0 0.00602 0.00802667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0 -0 0 0.00301 0.00100333 0.00501667 0.00702333 0.01505 0.00100333 -0.00301 0 0 0 0.00301 0.00802667 0 0 -0 0 0 0 0.464543 1.04842 1.05024 1.03936 -1.01822 1.02124 1.01943 1.01883 1.01822 1.01943 1.0146 1.01822 -1.01641 1.01641 1.01883 1.02124 1.02004 1.01641 1.00735 1.02366 -1.02185 1.02366 1.01762 1.01641 1.02004 0.99044 1.01702 1.01883 -1.01339 1.00735 1.06111 1.36583 1.49381 1.49423 1.43024 1.12435 -1.00131 1.00916 1.00796 1.01158 1.01037 1.01581 1.01702 1.0152 -1.0152 1.00675 1.02004 1.01339 1.02728 0.998896 0.989836 1.00977 -1.01641 1.00977 1.01339 1.01339 1.01943 1.01762 1.01702 1.02004 -1.02426 1.02245 1.01822 1.01581 1.03091 1.01339 1.01158 1.02306 -1.02608 1.02728 1.02064 1.02124 1.01279 1.01158 1.0146 1.01218 -1.01339 1.02124 1.01883 1.0146 1.01581 1.02426 1.02306 1.0146 -1.02547 1.0291 1.02004 1.01581 1.02004 1.02668 1.01641 1.02064 -1.01037 1.01883 1.01702 1.01218 1.0146 1.02668 1.02608 1.01037 -1.01581 1.0146 1.02608 1.01158 1.00614 1.02124 1.014 1.00675 -1.00916 1.00252 1.01339 1.01883 1.01279 1.00614 1.00796 1.09285 -1.1352 1.0911 1.0001 1.00192 1.00916 1.00796 1.0001 1.01158 -1.01943 1.02245 1.02668 1.03332 1.00856 1.00675 1.01581 1.02124 -1.0146 1.01883 1.02366 1.02185 1.01883 1.02185 1.01762 1.02306 -1.01762 1.02124 1.02124 1.01943 1.02728 1.03151 1.03212 1.03393 -1.0442 1.01641 0.278927 0 0 0 0 0.00100333 -0 0 0 0.00301 0 0.00200667 0.00602 0.00200667 -0 0.00200667 0.00501667 0.00200667 0.00401333 0.00100333 0 0 -0 0 0 0.00301 0.00602 0 0 0 -0 0 0 0 0 0 0 0.00602 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0.00100333 0.00100333 0 0 -0 0 0 0 0 0 0 0.00100333 -0.00501667 0.00501667 0.00301 0.00602 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0551833 0.85316 1.05024 1.04903 -1.03514 1.03151 1.03574 1.02608 1.02728 1.02366 1.02789 1.02306 -1.01581 1.01883 1.02306 1.02849 1.01581 1.0146 1.01822 1.01702 -1.0146 1.0152 1.01581 1.01581 1.0146 0.997084 1.01762 1.01158 -1.00131 1.00312 1.16884 1.48879 1.49799 1.49506 1.5005 1.28469 -1.0001 1.00192 1.01098 1.01339 1.01641 1.00916 1.014 1.01581 -1.02487 1.02608 1.02426 1.01822 1.02668 1.02245 1.00433 0.995272 -0.998292 1.02426 1.03393 1.02245 1.02245 1.01279 1.01218 1.0146 -1.03091 1.02366 1.0146 1.01581 1.01822 1.02185 1.02487 1.02306 -1.01762 1.01339 1.01822 1.00977 1.02124 1.01218 1.00856 1.02487 -1.02366 1.01943 1.0303 1.03212 1.01943 1.02366 1.01762 1.02366 -1.00916 1.02789 1.03936 1.03091 1.02366 1.01339 1.01702 1.01762 -1.01762 1.01883 1.0303 1.02608 1.03091 1.014 1.00977 1.00312 -1.01762 1.01822 1.02064 1.03514 1.03393 1.02004 1.02668 1.02064 -1.02245 1.01339 1.02366 1.00614 1.00433 1.00977 1.17595 1.44195 -1.47875 1.43567 1.18264 1.00252 1.00131 1.0146 1.01098 1.014 -1.00071 1.02185 1.01581 1.01883 1.02185 1.01098 1.01943 1.01641 -1.01822 1.01702 1.01702 1.01822 1.01581 1.02064 1.00856 1.014 -1.02668 1.01581 1.01581 1.02547 1.02849 1.03453 1.04057 1.04722 -1.05024 0.690872 0.00301 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00200667 0 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00100333 0.00301 0.00401333 0 0 0 0.00100333 0 -0.00200667 0.00602 0.00702333 0 0 0 0.00301 0.00200667 -0.00401333 0.00200667 0 0 0 0 0.00501667 0.00301 -0 0.00401333 0.00501667 0 0 0 0 0 -0 0 0 0 0 0.269897 1.01037 1.05144 -1.04299 1.0303 1.03272 1.0291 1.0303 1.02547 1.02487 1.01822 -1.01762 1.02668 1.01943 1.01702 1.01279 1.01822 1.02124 1.01883 -1.01702 1.01883 1.01943 1.01822 1.00312 0.985004 1.014 1.01702 -1.00675 0.99346 1.18515 1.49255 1.50468 1.50134 1.5005 1.30518 -1.00312 1.00131 1.01339 1.02306 1.0146 1.00675 1.00735 1.02547 -1.01098 1.0152 1.02487 1.02426 1.0146 1.0146 1.02064 1.02004 -1.01822 0.994064 1.00554 1.00916 1.01883 1.02849 1.0297 1.01581 -1.01158 1.02004 1.02245 1.02185 1.03151 1.02124 1.01702 1.014 -1.0152 1.01641 1.01279 1.02004 1.0297 1.02426 1.02849 1.02668 -1.02185 1.01279 1.00856 1.01279 1.00675 1.01822 1.01883 1.01822 -1.02004 1.02487 1.01581 1.02064 1.02728 1.01641 1.02004 1.02245 -1.0146 1.01158 1.01641 1.02366 1.01037 1.01098 1.014 1.01943 -1.00977 1.00796 1.00735 1.01098 1.01279 1.01883 1.01702 1.0146 -1.01158 1.01339 1.0152 1.01702 1.0146 1.07017 1.41393 1.49172 -1.49506 1.5005 1.40891 1.05507 0.997084 1.00433 1.00614 1.0152 -1.00977 1.00856 1.02245 1.02426 1.0152 1.02185 1.02124 1.01943 -1.0146 1.02185 1.02487 1.02487 1.02124 1.02185 1.02124 1.02547 -1.02668 1.02366 1.03393 1.02487 1.03695 1.04057 1.05024 1.05567 -0.982588 0.178593 0 0 0 0 0 0 -0 0.00301 0.00501667 0 0.00501667 0.00702333 0 0 -0 0 0.00301 0.0100333 0.00602 0.00501667 0.00702333 0.00100333 -0 0 0 0 0 0 0.00200667 0 -0 0 0.00100333 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00200667 0 0.00602 -0.00903 0.00903 0 0 0 0.00401333 0 0 -0.00200667 0 0 0 0.00501667 0.0100333 0.00501667 0.00401333 -0 0.00200667 0 0 0 0 0 0 -0.00702333 0.00301 0 0.00200667 0 0 0 0 -0 0 0 0 0 0 0.576917 1.04057 -1.03997 1.03755 1.02668 1.03091 1.02728 1.02124 1.014 1.02366 -1.02185 1.02487 1.03151 1.02487 1.02426 1.01702 1.02004 1.02124 -1.01581 1.014 1.02306 1.01762 1.01279 0.995272 1.01943 1.01339 -1.01641 1.00312 1.08375 1.40389 1.49632 1.49674 1.45868 1.14625 -0.986212 1.00433 1.00675 1.01098 1.00312 1.01158 1.02004 1.02064 -1.014 1.01581 1.02185 1.02064 1.014 1.0146 1.02124 1.01883 -1.02306 1.03997 1.0146 0.998896 1.01883 1.02064 1.01581 1.02306 -1.02306 1.02366 1.01762 1.02064 1.01641 1.0291 1.02124 1.0152 -1.01702 1.02487 1.02849 1.02185 1.01279 1.02487 1.02487 1.0303 -1.02426 1.0152 1.02245 1.0303 1.02547 1.02185 1.02426 1.03272 -1.0297 1.00856 1.01581 1.01339 1.02124 1.01762 1.0152 1.02124 -1.01762 1.01762 1.01581 1.01762 1.00916 1.00494 1.01702 1.01822 -1.02185 1.02064 1.02426 1.01641 1.01702 1.01339 1.00856 1.01702 -1.01822 1.01098 1.01037 1.00554 0.9995 1.0799 1.44738 1.49966 -1.49214 1.49506 1.44571 1.0897 1.00675 1.01218 1.01822 1.02004 -1.02426 1.0152 1.00675 1.00977 1.02004 1.01943 1.02728 1.01702 -1.014 1.01883 1.01641 1.01641 1.02487 1.02306 1.02547 1.01762 -1.02245 1.02789 1.03393 1.03755 1.04057 1.0448 1.0448 1.05446 -0.50869 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00602 -0.00200667 0.00401333 0.00301 0.00100333 0 0 0 0.00702333 -0.00200667 0.00301 0.00802667 0.00802667 0.00200667 0.00702333 0.00501667 0.00903 -0.00702333 0.00301 0.00301 0.00602 0 0.00602 0.00401333 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0100333 0.00200667 0 0 0 0 -0 0 0 0.00301 0.00401333 0 0 0 -0 0 0.00702333 0.0100333 0.00301 0 0 0.00100333 -0 0 0 0.00100333 0.00501667 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.0923067 0.903392 -1.05507 1.04842 1.03514 1.02608 1.02668 1.02668 1.04057 1.03151 -1.02547 1.02064 1.0146 1.01702 1.01641 1.02849 1.02004 1.01762 -1.0152 1.02366 1.02064 1.01762 1.01762 1.00131 1.00373 1.01883 -1.02245 1.01943 1.02185 1.1086 1.26545 1.29138 1.14325 1.00494 -1.00312 1.00675 1.0146 1.01037 1.02004 1.02306 1.02426 1.01943 -1.02124 1.02668 1.01339 1.01702 1.0146 1.02608 1.01943 1.02366 -1.02004 1.01943 1.01822 1.02185 1.02185 1.014 1.01581 1.01762 -1.02668 1.02245 1.02064 1.02608 1.01339 1.01339 1.02426 1.02789 -1.03272 1.03212 1.02608 1.02608 1.02245 1.01581 1.02004 1.01581 -1.01339 1.0303 1.01762 1.02547 1.02487 1.02608 1.01339 1.02245 -1.02789 1.02366 1.02426 1.02487 1.00977 1.02124 1.01822 1.01339 -1.00373 1.0001 1.01702 1.01943 1.01702 1.02064 1.02789 1.01822 -1.01581 1.01702 1.02124 1.02004 1.0146 1.01702 1.02728 1.00977 -1.00977 0.9995 1.014 1.00614 1.00192 1.02064 1.34241 1.4959 -1.49464 1.4959 1.34032 1.0291 1.00312 1.01218 1.01158 1.01218 -1.01158 1.02487 1.02366 1.01702 1.01581 1.02064 1.014 1.01702 -1.01037 1.02426 1.02426 1.02728 1.01943 1.02426 1.0297 1.02608 -1.02789 1.02306 1.03272 1.0297 1.04299 1.05265 1.05567 0.876344 -0.07525 0 0 0 0 0.00200667 0 0.00200667 -0.00602 0.00200667 0 0 0 0 0 0 -0.00200667 0 0 0.00200667 0.00401333 0.00301 0.00301 0.00501667 -0 0 0 0.00100333 0 0 0 0 -0 0 0.00100333 0.00100333 0.00802667 0.00602 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00602 0.00301 0.00501667 0.00200667 -0 0.00100333 0.00602 0.00200667 0 0 0 0 -0.00401333 0.00301 0 0 0.00100333 0.00200667 0 0 -0 0 0 0.00602 0 0 0 0.00602 -0.00401333 0.00602 0 0.00301 0.00903 0.00602 0 0 -0 0 0 0 0 0 0 0.265883 -1.00312 1.04903 1.03876 1.02608 1.02366 1.0303 1.02547 1.02426 -1.01822 1.02426 1.02366 1.02064 1.02608 1.02608 1.01762 1.02668 -1.02728 1.014 1.01702 1.02547 1.02245 1.01098 0.995272 1.0152 -1.02185 1.01279 1.01098 1.014 1.01158 1.02185 1.00675 1.00433 -1.0146 1.00494 1.01218 1.0146 1.00796 1.01218 1.00977 1.0146 -1.02306 1.00856 1.0152 1.02789 1.02306 1.02124 1.0146 1.01883 -1.01943 1.01581 1.01702 1.01883 1.02728 1.02306 1.02728 1.02789 -1.01158 0.997084 1.00675 1.0152 1.01641 1.02608 1.02306 1.02245 -1.01581 1.01822 1.02366 1.02728 1.02487 1.0291 1.02426 1.02426 -1.02547 1.01218 1.02426 1.02547 1.01943 1.01762 1.02728 1.02789 -1.02004 1.00796 1.01581 1.02124 1.014 1.01037 1.00071 1.00675 -1.01339 1.01641 1.02245 1.01943 1.01822 1.01822 1.02185 1.01037 -1.02124 1.02004 1.01581 1.01702 1.02306 1.0146 1.0291 1.03091 -1.0146 1.01581 1.00916 1.00614 0.995272 0.998292 1.0911 1.30686 -1.38967 1.3056 1.09845 1.02426 1.00675 1.00916 1.00735 1.01822 -1.0146 1.01943 1.02004 1.01943 1.0146 1.01702 1.01339 1.01883 -1.01702 1.01158 1.02245 1.01098 1.01641 1.01158 1.01702 1.02547 -1.03574 1.04118 1.03936 1.04359 1.04238 1.05144 1.01158 0.265883 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00100333 0.00100333 0.00401333 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0 0 0.00802667 -0.00602 0.00401333 0.00100333 0 0.00200667 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0100333 0 0 0.00200667 0 -0 0 0 0 0.00100333 0.0100333 0.00501667 0.00702333 -0.00200667 0.00100333 0 0 0 0 0.00602 0 -0 0 0 0 0 0.00903 0.01505 0.00802667 -0.00602 0.00100333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.497653 1.04118 1.0448 1.03574 1.03091 1.03574 1.03332 1.02849 -1.02487 1.01822 1.03151 1.0303 1.02306 1.0291 1.01883 1.01883 -1.00977 1.02185 1.02306 1.02245 1.0146 1.01158 1.00554 1.00735 -1.01037 1.01339 1.01218 1.01218 1.02608 1.02426 1.01339 1.02306 -1.00554 1.01037 1.014 1.01883 1.01641 1.02004 1.01822 1.02185 -1.0146 1.02306 1.02124 1.01762 1.0152 1.02185 1.0146 1.02306 -1.02789 1.02849 1.02426 1.01762 1.014 1.02064 1.0152 1.01641 -1.02124 1.00675 1.00071 0.997688 0.997688 1.00735 1.02124 1.01037 -1.01581 1.0146 1.01943 1.01943 1.02004 1.0303 1.02608 1.014 -1.02185 1.02366 1.0146 1.00916 1.00735 1.01943 1.01339 1.01279 -1.014 0.998896 0.989232 0.994668 0.998292 1.01158 1.01098 1.0146 -1.0146 1.01037 1.01037 1.01883 1.0152 1.02185 1.0303 1.03634 -1.02004 1.02185 1.01883 1.02668 1.01883 1.01641 1.00675 1.01037 -1.00494 1.01279 1.00433 1.01037 1.00916 1.00433 0.994668 1.01943 -1.04238 1.02306 1.00494 1.01641 1.02245 1.02185 1.01762 1.01822 -1.0146 1.01218 1.01822 1.02185 1.01943 1.01641 1.02124 1.01641 -1.02004 1.01641 1.01641 1.02426 1.02124 1.02426 1.014 1.01943 -1.02547 1.03634 1.03816 1.03997 1.04722 1.04118 0.507687 0 -0 0 0 0 0 0 0.00100333 0.00100333 -0 0 0 0 0.00401333 0.00602 0.00200667 0.00100333 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00200667 0.00501667 0 0 -0 0 0.00200667 0.00301 0.00401333 0 0 0.00301 -0 0 0 0.00200667 0.00401333 0.00903 0 0.00903 -0.01204 0.00802667 0 0 0.00903 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.0290967 0.701176 1.04057 1.04842 1.03574 1.03091 1.03695 1.0303 -1.03091 1.0291 1.02487 1.01581 1.02064 1.02185 1.01641 1.02366 -1.02366 1.02124 1.01943 1.01883 1.01822 1.02064 1.01762 0.995272 -1.01883 1.02849 1.02789 1.02124 1.01641 1.00554 1.01279 1.01762 -1.0146 1.02185 1.02306 1.01702 1.02668 1.0152 1.01581 1.01098 -1.02004 1.01943 1.01762 1.0152 1.014 1.00977 1.02004 1.02306 -1.01098 1.00433 1.00977 1.02547 1.01943 1.0146 1.02728 1.01762 -1.01279 1.01098 1.0152 1.01279 1.03393 1.02306 1.01037 1.00373 -1.00071 1.01279 1.00312 1.00735 1.0001 1.014 1.00977 1.01822 -1.0152 1.0146 1.02728 1.02124 1.02789 1.01098 1.01339 1.01218 -1.014 1.02366 1.01822 1.01943 1.02185 1.02306 1.01943 1.01581 -1.0152 1.0146 1.02487 1.01943 1.01218 1.01762 1.01158 1.01037 -1.01098 1.00977 1.01822 1.02124 1.0152 1.01641 1.0152 1.01098 -1.014 1.02306 1.02366 1.00977 1.0146 1.00916 1.0146 1.01339 -1.01702 1.01762 1.02487 1.01762 1.0146 1.02185 1.01581 1.02185 -1.02426 1.0146 1.01943 1.02124 1.0303 1.01218 1.014 1.02306 -1.02728 1.02547 1.02849 1.02185 1.0291 1.03212 1.02366 1.02306 -1.03151 1.03634 1.0442 1.04601 1.0605 0.75012 0.0351167 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0.00100333 0.00602 0.00200667 0 0.00401333 0 -0 0.00200667 0 0.0100333 0.00702333 0.00100333 0 0 -0 0.00401333 0.00802667 0.00501667 0.00301 0.00401333 0.00702333 0.00501667 -0.00602 0.00903 0.00301 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.119397 0.913696 1.0599 1.04842 1.03634 1.03151 1.03332 -1.0303 1.02185 1.02426 1.0297 1.02306 1.01943 1.02547 1.01943 -1.01822 1.02547 1.02124 1.01581 1.01702 1.01943 1.02426 1.01702 -1.00312 1.01762 1.0146 1.01822 1.0146 1.02728 1.02245 1.01581 -1.01641 1.0146 1.02245 1.014 1.02064 1.02426 1.02124 1.0291 -1.0152 1.01702 1.014 1.02306 1.02185 1.01943 1.02124 1.01883 -1.01883 1.02306 1.02608 1.02064 1.0146 1.02728 1.01883 1.02064 -1.03151 1.02668 1.0152 1.0152 1.014 1.01581 1.02245 1.02668 -1.02064 1.01702 1.01762 1.02185 1.01822 1.0152 1.01641 1.01158 -1.01822 1.02124 1.0152 1.00554 1.01098 1.00856 1.01883 1.01883 -1.02426 1.0146 1.01279 1.0152 1.0152 1.0146 1.02306 1.01762 -1.01943 1.0146 1.01762 1.02064 1.01883 1.01702 1.01641 1.00977 -1.01218 1.00916 1.02064 1.0152 1.01762 1.02245 1.01883 1.01762 -1.02487 1.02547 1.01339 1.02487 1.0146 1.01218 1.01883 1.00916 -1.00977 1.01762 1.02547 1.02487 1.02004 1.02426 1.01641 1.01822 -1.02306 1.01883 1.0146 1.01822 1.02245 1.02668 1.0146 1.014 -1.01641 1.02487 1.02245 1.02487 1.0297 1.0303 1.03514 1.03876 -1.03393 1.03997 1.03574 1.0454 0.918848 0.124413 0 0 -0 0 0 0 0 0.00200667 0.00301 0 -0 0.00100333 0 0 0.00100333 0.00802667 0.00802667 0.00401333 -0 0 0 0 0 0.00401333 0.00401333 0.00401333 -0.00401333 0 0 0 0.00100333 0 0 0 -0.00100333 0 0.00401333 0.00802667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00100333 0.00100333 0.00200667 -0.00200667 0.00100333 0.00100333 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00200667 0 0 0 0 0.00401333 0 -0.00100333 0 0.00100333 0 0.0100333 0.00501667 0 0 -0 0.00200667 0 0 0 0 0 0 -0 0 0.203677 0.955408 1.04963 1.03936 1.03151 1.03151 -1.03634 1.03695 1.0303 1.02245 1.02547 1.02608 1.0152 1.02728 -1.02608 1.02124 1.01883 1.01762 1.01762 1.02245 1.02064 1.014 -1.01762 1.01098 0.997688 1.0146 1.00977 1.01218 1.01158 0.997688 -1.01702 1.01158 1.02064 1.02185 1.02245 1.014 1.0146 1.01581 -1.01822 1.02426 1.0303 1.01762 1.02547 1.02004 1.02306 1.02185 -1.01641 1.01158 1.01943 1.02426 1.02487 1.02366 1.02245 1.0146 -1.01339 1.01762 1.01641 1.02487 1.02487 1.01037 1.01943 1.02608 -1.02306 1.01883 1.01883 1.02306 1.03997 1.06171 1.07885 1.07605 -1.05144 1.02245 1.02245 1.01339 1.02487 1.02426 1.02245 1.01339 -1.02426 1.02245 1.00856 1.00796 1.01339 1.01218 1.01037 1.0146 -1.02185 1.02366 1.02124 1.02668 1.01883 1.01702 1.01218 1.01702 -1.02124 1.02547 1.02004 1.01762 1.02185 1.02185 1.01762 1.01339 -1.01339 1.01339 1.02366 1.01641 1.01883 1.01158 1.01702 1.02124 -1.02547 1.02064 1.00916 1.0291 1.02004 1.02124 1.01883 1.02306 -1.02306 1.02366 1.01943 1.02245 1.02004 1.02124 1.02426 1.02728 -1.01702 1.02487 1.02547 1.02487 1.02124 1.03151 1.03936 1.03936 -1.04178 1.04963 1.0593 0.967488 0.20769 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00401333 -0 0.00802667 0.00501667 0.00200667 0 0 0 0 -0 0.00100333 0 0.00100333 0 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00602 0.00200667 0 -0 0 0 0 0 0 0 0 -0.00200667 0.0140467 0.00702333 0.00301 0 0 0 0.00602 -0.00802667 0 0 0 0 0.00301 0 0 -0 0 0.00100333 0.00501667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.268893 0.980172 1.05265 1.03997 1.03695 -1.03151 1.02608 1.02668 1.02245 1.02849 1.02004 1.01702 1.03091 -1.02487 1.02426 1.02487 1.01943 1.02426 1.02064 1.02487 1.01822 -1.01641 1.02487 1.02487 1.01641 1.01883 1.02004 1.01702 1.02124 -1.02245 1.01702 1.02668 1.02245 1.01581 1.01762 1.02245 1.01641 -1.0146 1.02608 1.02185 1.02004 1.02004 1.0146 1.0152 1.0152 -1.01702 1.01943 1.02487 1.01641 1.00916 1.00796 1.02064 1.02124 -1.01822 1.02124 1.0297 1.01098 1.0146 1.0146 1.01762 1.01641 -1.01762 1.0146 1.05084 1.10195 1.1289 1.13695 1.1408 1.1415 -1.138 1.117 1.0778 1.02064 1.01218 1.01037 1.01037 1.01339 -1.01581 1.02245 1.01883 1.01581 1.02064 1.02064 1.02366 1.01581 -1.01037 1.01883 1.00735 1.01037 1.0152 1.01883 1.02185 1.02306 -1.02124 1.02306 1.02547 1.01883 1.02004 1.0152 1.00977 1.0291 -1.02245 1.01883 1.02306 1.02064 1.01339 1.01279 1.01581 1.02426 -1.01339 1.0152 1.0152 1.01218 1.01822 1.02004 1.01883 1.01279 -1.02547 1.00614 1.02064 1.01702 1.01581 1.02668 1.02487 1.02245 -1.02245 1.02366 1.02608 1.03091 1.03634 1.03091 1.03695 1.04118 -1.04661 1.05748 0.988628 0.281937 0 0 0 0 -0 0 0 0 0 0 0.00100333 0 -0 0.00401333 0.00602 0 0 0 0 0 -0.00401333 0 0 0 0.00100333 0 0 0 -0 0 0.00301 0.00301 0.00702333 0 0 0 -0.00200667 0.00100333 0.00602 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0 -0 0 0 0.00501667 0.00903 0.00802667 0.00100333 0.00401333 -0.00702333 0 0 0 0 0.00100333 0.00903 0.00501667 -0 0 0 0.00401333 0.00301 0 0 0 -0 0.00903 0.00903 0 0.00501667 0.00100333 0 0.00401333 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0.332103 0.991648 1.05507 1.03574 -1.03332 1.04178 1.03876 1.03695 1.03453 1.03393 1.03212 1.02728 -1.02547 1.01943 1.0152 1.02547 1.0152 1.02064 1.01641 1.02547 -1.01702 1.02426 1.01822 1.0152 1.02064 1.02849 1.01883 1.01883 -1.02306 1.01702 1.01581 1.02245 1.02487 1.01581 1.02185 1.00614 -1.01822 1.02004 1.0146 1.00916 1.01339 1.01762 1.02245 1.01641 -1.01822 1.01158 1.014 1.01883 1.02004 1.01581 1.0146 1.01158 -1.02789 1.01279 1.01098 1.02245 1.01339 1.00856 1.0146 1.01762 -1.01158 1.07535 1.1275 1.13835 1.13905 1.1422 1.1373 1.13765 -1.14045 1.1429 1.1408 1.1058 1.03332 1.01641 1.00977 1.00735 -1.01098 1.01702 1.01822 1.02668 1.01702 1.02366 1.02426 1.02366 -1.02124 1.01641 1.01943 1.02306 1.02004 1.01098 1.0152 1.01702 -1.0146 1.01098 1.02245 1.02426 1.02124 1.02547 1.02426 1.01158 -1.01702 1.01581 1.01581 1.01641 1.02064 1.0146 1.01762 1.01037 -1.01702 1.01762 1.0303 1.02185 1.0146 1.0146 1.02547 1.02366 -1.02849 1.02366 1.02004 1.01943 1.01339 1.01943 1.01762 1.02608 -1.02728 1.02306 1.0297 1.02849 1.03876 1.03393 1.04661 1.03876 -1.05084 0.986816 0.317053 0 0 0 0 0 -0 0.00501667 0.00100333 0 0 0 0 0 -0 0 0 0 0.00200667 0 0.00100333 0 -0 0.00501667 0.01204 0 0.00100333 0.00602 0.00501667 0 -0 0 0 0 0.00200667 0.00301 0.00602 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0.00200667 0 0 -0 0.00200667 0.00501667 0.00200667 0 0.00401333 0 0.00903 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.330097 0.988628 1.04903 -1.04661 1.03816 1.03332 1.0291 1.02306 1.01641 1.02124 1.02487 -1.02124 1.0146 1.02789 1.0146 1.01883 1.02608 1.02608 1.01702 -1.01037 1.02608 1.03151 1.01883 1.02366 1.0146 1.01762 1.0146 -1.014 1.02064 1.02245 1.02668 1.0146 1.02124 1.01037 1.01762 -1.02728 1.02366 1.02668 1.0303 1.02185 1.01581 1.02124 1.01943 -1.02185 1.02366 1.03393 1.01943 1.02487 1.02124 1.02728 1.01883 -1.00675 1.00916 1.0146 1.01037 1.01702 1.01883 1.014 1.01762 -1.06473 1.1345 1.1408 1.1415 1.138 1.1352 1.13275 1.1359 -1.13555 1.1394 1.1387 1.1387 1.1093 1.02547 1.01641 1.01218 -1.01883 1.014 1.01037 1.01641 1.01702 1.01702 1.01279 1.0146 -1.0152 1.01641 1.01581 1.02366 1.02245 1.0152 1.02728 1.01883 -1.02004 1.02124 1.01943 1.00554 1.02064 1.01581 1.01702 1.02487 -1.0303 1.02306 1.01943 1.01279 1.00796 1.01581 1.01762 1.02064 -1.02426 1.01702 1.02124 1.02306 1.0152 1.02004 1.01822 1.0152 -1.02487 1.0297 1.0303 1.02306 1.02728 1.02547 1.02366 1.02245 -1.03091 1.0291 1.0291 1.03393 1.03634 1.04359 1.05869 1.05688 -0.985004 0.323073 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00501667 -0 0 0.00100333 0 0 0 0.00401333 0 -0 0 0 0.00301 0.00501667 0.00602 0 0.00401333 -0.00401333 0.00301 0 0 0 0 0 0.00100333 -0.00602 0.00602 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00602 0.00301 0 0.00200667 0 0.00602 0.00100333 -0 0.00301 0.00802667 0.00602 0 0 0.00301 0.00903 -0.00702333 0.00602 0.00401333 0 0.00501667 0.00100333 0 0.00501667 -0 0 0 0 0.00301 0 0 0 -0 0.00200667 0.00602 0 0 0 0 0 -0 0 0 0 0 0 0.277923 0.971112 -1.05748 1.04903 1.04359 1.04178 1.03876 1.03332 1.03755 1.02608 -1.02487 1.03272 1.0297 1.03332 1.02668 1.03212 1.01581 1.02124 -1.02185 1.02124 1.0146 1.01943 1.0152 1.01218 1.02306 1.02608 -1.02487 1.02185 1.01641 1.01339 1.00977 1.0146 1.014 1.01641 -1.02004 1.02245 1.02185 1.01641 1.0146 1.0146 1.02426 1.02185 -1.01822 1.0152 1.01581 1.00856 1.00675 1.0146 1.01641 1.00735 -1.01762 1.02124 1.01581 1.02124 1.0152 1.00856 1.00614 1.0297 -1.1177 1.14045 1.1387 1.13205 1.1338 1.13695 1.13345 1.1303 -1.1352 1.13415 1.1338 1.1394 1.1422 1.09215 1.00796 1.00252 -1.01037 1.02245 1.01762 1.0152 1.01339 1.01762 1.0152 1.01581 -1.01822 1.01762 1.02366 1.02185 1.02124 1.02547 1.014 1.01822 -1.02124 1.02366 1.02064 1.02064 1.01822 1.01158 1.0146 1.01822 -1.01943 1.01218 1.01943 1.02789 1.03151 1.02728 1.02064 1.02064 -1.0146 1.01279 1.02426 1.02306 1.02185 1.01641 1.0297 1.0152 -1.02487 1.01943 1.03393 1.0146 1.02064 1.03151 1.02849 1.02124 -1.02185 1.03453 1.03755 1.0442 1.04178 1.04118 1.05507 0.965072 -0.27993 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00301 0.00602 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.00903 0 -0 0 0.00602 0 0 0 0.00100333 0.00100333 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00702333 0.00200667 0.00100333 0 0.00200667 0.00501667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00301 0 -0.00602 0.00702333 0.00401333 0.00301 0.00301 0.00401333 0.00602 0.00702333 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.20468 -0.91112 1.04661 1.04178 1.03876 1.03997 1.03695 1.03091 1.02849 -1.04178 1.0291 1.02668 1.02728 1.014 1.01098 1.02004 1.01883 -1.0146 1.01883 1.02547 1.02547 1.02668 1.02124 1.02004 1.02124 -1.0146 1.01037 1.02124 1.01883 1.02366 1.0303 1.02306 1.01883 -1.02426 1.02366 1.01702 1.0291 1.02124 1.02004 1.02487 1.02366 -1.02668 1.02245 1.01762 1.01883 1.02185 1.0152 1.01581 1.01883 -1.03634 1.02487 1.02366 1.01702 1.01762 1.00554 1.00131 1.08305 -1.1408 1.13975 1.14115 1.1345 1.1359 1.13555 1.13415 1.1373 -1.1373 1.13555 1.1338 1.1436 1.13695 1.12575 1.02849 1.00614 -1.00977 1.01339 1.01098 1.01641 1.01822 1.02185 1.02306 1.02849 -1.02124 1.02064 1.0152 1.0152 1.01641 1.01762 1.02366 1.01762 -1.01762 1.01762 1.01762 1.01943 1.02245 1.02124 1.01581 1.01943 -1.01943 1.01339 1.01279 1.01037 1.01702 1.01822 1.0146 1.01762 -1.02366 1.02426 1.02728 1.02004 1.02547 1.01762 1.02608 1.02004 -1.02124 1.0152 1.02004 1.03091 1.01822 1.02426 1.03091 1.02668 -1.03272 1.03332 1.03574 1.04359 1.05205 1.05084 0.925208 0.21672 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00702333 0.0100333 0 0.00100333 0.00401333 0.00501667 0.00903 -0.00501667 0 0 0 0 0 0 0.00702333 -0.00200667 0 0 0 0.0110367 0.00100333 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0 0 0 0.00401333 -0.00702333 0.00501667 0 0.00100333 0.00100333 0.00100333 0.00602 0.00602 -0.00301 0.00401333 0.00100333 0.0100333 0.00301 0 0.00501667 0.00501667 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0.00301 0 0 0 0 -0 0 0 0 0 0 0 0 -0.107357 0.708904 1.04299 1.04359 1.03514 1.0291 1.03695 1.03876 -1.03272 1.01762 1.02668 1.02487 1.02185 1.03212 1.03212 1.02004 -1.02245 1.0291 1.02728 1.02366 1.02426 1.02004 1.02487 1.02064 -1.02849 1.02004 1.02306 1.02064 1.02547 1.01339 1.01702 1.01943 -1.02366 1.02306 1.01822 1.01098 1.01339 1.02547 1.01641 1.0152 -1.01702 1.01581 1.02004 1.02185 1.01822 1.0297 1.01702 1.01702 -1.02064 1.01279 1.00614 1.01158 1.0152 1.01158 1.01037 1.1079 -1.14115 1.13765 1.13485 1.13625 1.1345 1.13555 1.1359 1.13135 -1.13765 1.1373 1.1373 1.138 1.14185 1.1352 1.06836 1.01098 -1.01218 1.00796 1.014 1.01943 1.01762 1.01762 1.02426 1.01762 -1.01943 1.02185 1.02306 1.01581 1.01943 1.01339 1.02064 1.02668 -1.02487 1.0152 1.0152 1.01822 1.01943 1.02668 1.01702 1.01822 -1.03151 1.02668 1.02064 1.01581 1.02124 1.02306 1.01943 1.01641 -1.01279 1.02245 1.02728 1.02004 1.02185 1.01943 1.02547 1.02064 -1.02789 1.02728 1.02306 1.02849 1.02608 1.02789 1.03393 1.0303 -1.03514 1.04903 1.04661 1.05205 1.05024 0.831264 0.143477 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.0110367 0.00501667 0.00401333 0 0 -0 0 0 0 0 0.00301 0.00602 0 -0 0 0 0.00501667 0.00401333 0.00401333 0 0.00401333 -0.00301 0.00100333 0.00401333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0 0 0.00501667 0.0100333 0.00301 0 -0 0 0 0 0 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00401333 0 -0.00401333 0.00401333 0 0.00200667 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0280933 0.48461 0.995876 1.04963 1.04299 1.03393 1.03514 -1.03272 1.03816 1.03755 1.02608 1.0297 1.03453 1.02064 1.02728 -1.02547 1.02124 1.01581 1.02789 1.02668 1.02608 1.02124 1.02245 -1.01883 1.02004 1.01641 1.02306 1.0146 1.02004 1.01943 1.02185 -1.01943 1.02487 1.02547 1.01702 1.01943 1.01339 1.01098 1.02245 -1.02064 1.02124 1.01883 1.02064 1.01702 1.01762 1.02004 1.01883 -1.01581 1.01641 1.02064 1.01339 1.00614 1.01339 1.03091 1.1261 -1.1331 1.1429 1.13345 1.1324 1.1415 1.1324 1.1366 1.1352 -1.1373 1.1352 1.14045 1.1352 1.13835 1.1443 1.0918 1.00433 -1.00554 1.00856 1.01641 1.0146 1.00916 1.01218 1.01702 1.01037 -1.02487 1.02064 1.0291 1.0146 1.01641 1.01581 1.01037 1.02185 -1.02306 1.01943 1.02426 1.01762 1.0146 1.01581 1.02124 1.01098 -1.01762 1.01581 1.02185 1.01822 1.02245 1.02245 1.01581 1.02245 -1.02366 1.02185 1.02426 1.02004 1.02849 1.02245 1.02547 1.02487 -1.02004 1.02426 1.02849 1.0297 1.03453 1.03695 1.03936 1.03634 -1.04722 1.05205 1.05869 1.0303 0.602 0.0702333 0 0 -0 0 0 0 0 0 0.00301 0 -0 0 0 0 0 0 0.00100333 0 -0.00602 0.0110367 0 0.00301 0 0 0.00401333 0.00200667 -0.00100333 0.00903 0.00100333 0.00100333 0 0.00301 0 0 -0.00602 0.00100333 0.00200667 0.0100333 0.00702333 0.00501667 0.00501667 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00200667 0.00501667 0.00200667 0 0 0 -0 0 0 0 0.00200667 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0.00100333 0 0 0 0 0 -0 0.00200667 0 0 0 0 0 0 -0 0 0 0.256853 0.894376 1.05326 1.05748 1.04842 -1.04782 1.04842 1.03151 1.03151 1.03755 1.02185 1.02547 1.03936 -1.02728 1.02306 1.03453 1.02124 1.02426 1.02366 1.01943 1.01822 -1.01822 1.01762 1.03212 1.01883 1.02185 1.01943 1.02004 1.02487 -1.02306 1.0152 1.01702 1.0146 1.02185 1.02487 1.01943 1.02668 -1.01762 1.02306 1.02124 1.01762 1.01581 1.01702 1.01641 1.02306 -1.01641 1.0146 1.01702 1.00977 1.01158 1.00977 1.0297 1.12645 -1.13975 1.1338 1.1373 1.1408 1.138 1.13485 1.13345 1.1317 -1.12995 1.1317 1.131 1.13345 1.1352 1.1387 1.09845 1.01339 -1.0146 1.02547 1.01822 1.02245 1.02124 1.01762 1.01943 1.02789 -1.02004 1.01762 1.02306 1.02306 1.02064 1.02728 1.02245 1.02245 -1.01822 1.02185 1.02608 1.02306 1.0297 1.02608 1.01641 1.02124 -1.01279 1.02366 1.02124 1.02124 1.01762 1.02185 1.02064 1.01822 -1.01702 1.02124 1.0303 1.02124 1.02306 1.02608 1.02608 1.0291 -1.03212 1.03332 1.03091 1.02728 1.02789 1.04661 1.04359 1.04903 -1.05507 1.05386 0.965072 0.396317 0.00602 0 0 0 -0 0 0 0 0 0 0.00200667 0.0100333 -0.00401333 0 0 0 0 0 0.00200667 0 -0 0.00200667 0 0 0.00501667 0.00200667 0.00200667 0.00200667 -0 0 0.00301 0.00301 0.00301 0.00100333 0 0.00200667 -0 0.00702333 0 0 0.00301 0.00802667 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00401333 0.00200667 0 -0 0.00501667 0.00301 0 0 0 0 0 -0 0 0.00100333 0 0 0 0 0 -0 0.00200667 0 0.00200667 0.00301 0 0.00903 0.0100333 -0 0 0 0 0.00501667 0 0 0.00401333 -0.00501667 0 0 0 0 0 0 0 -0 0 0 0 0.07525 0.524743 0.997084 1.05507 -1.05748 1.03936 1.03695 1.04299 1.0303 1.03393 1.03574 1.02789 -1.02789 1.0303 1.03514 1.0291 1.02124 1.02245 1.02366 1.02124 -1.0303 1.02004 1.01641 1.02064 1.02366 1.02124 1.02366 1.02185 -1.01339 1.01822 1.01883 1.02306 1.02004 1.0152 1.02366 1.01943 -1.02124 1.02004 1.02366 1.01822 1.01822 1.02487 1.01883 1.02064 -1.01098 1.01702 1.01702 1.01641 1.01581 1.014 1.01702 1.12925 -1.14045 1.138 1.1359 1.13485 1.1359 1.12855 1.1317 1.1401 -1.1359 1.1387 1.1401 1.13835 1.13905 1.13555 1.08445 1.01218 -1.01037 1.00494 1.01641 1.02306 1.02366 1.02728 1.01641 1.02306 -1.01641 1.02004 1.02004 1.02004 1.01822 1.0146 1.02789 1.02366 -1.01339 1.01883 1.01943 1.01943 1.01279 1.01702 1.02366 1.03634 -1.02306 1.01943 1.02849 1.02608 1.01883 1.01943 1.02728 1.02245 -1.02487 1.02547 1.01822 1.0303 1.03091 1.02004 1.02849 1.02185 -1.02849 1.03453 1.03574 1.03816 1.03272 1.04299 1.04963 1.05084 -1.03634 0.728224 0.16856 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00401333 0.00200667 0 0 0 0 -0 0 0.0130433 0 0 0 0 0.0100333 -0.00802667 0 0 0 0 0 0.00401333 0 -0 0 0.00802667 0.00301 0 0.00100333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00200667 0 0 0 0 -0 0.00200667 0 0 0 0 0 0 -0.00100333 0 0 0.00702333 0 0 0.00903 0.0110367 -0.01505 0 0 0.00200667 0 0 0.00100333 0 -0 0.00702333 0.00903 0.00200667 0 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.214713 0.733376 -1.01641 1.05084 1.04903 1.04178 1.03634 1.04118 1.03332 1.03755 -1.03936 1.03453 1.02426 1.02124 1.03272 1.02185 1.02608 1.02366 -1.0291 1.02789 1.0303 1.02547 1.02124 1.01822 1.01943 1.01822 -1.02487 1.03393 1.0146 1.02426 1.02789 1.0303 1.01943 1.01883 -1.02608 1.02124 1.02124 1.02547 1.02185 1.0146 1.01339 1.01883 -1.02668 1.02306 1.02849 1.02124 1.01581 1.01702 1.01581 1.11525 -1.14255 1.1387 1.13835 1.13835 1.1373 1.13835 1.1359 1.1401 -1.1345 1.1352 1.14115 1.1401 1.1422 1.1415 1.07379 1.02124 -1.01641 1.01581 1.01822 1.01218 1.01883 1.02245 1.02789 1.02487 -1.02426 1.02004 1.02547 1.03091 1.03332 1.01883 1.03272 1.02306 -1.02668 1.02547 1.02185 1.02426 1.02668 1.02124 1.01762 1.02064 -1.01883 1.02064 1.02245 1.02547 1.02366 1.01581 1.014 1.02728 -1.02004 1.02608 1.02064 1.02728 1.02789 1.02789 1.03936 1.03212 -1.03695 1.04118 1.04722 1.05084 1.05507 1.05688 1.05688 0.955408 -0.408357 0.02408 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00903 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0.00200667 0 0 0 -0.00100333 0.00401333 0 0.00100333 0.00200667 0 0 0.00100333 -0.00100333 0 0 0.00301 0.00802667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00200667 0.00501667 -0 0 0 0 0 0 0 0 -0 0.0130433 0.0140467 0 0.00501667 0.0110367 0.00100333 0 -0 0 0 0 0.00200667 0.00301 0 0 -0 0 0 0 0 0.00401333 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00200667 -0.278927 0.781032 1.02004 1.0605 1.05809 1.04842 1.03997 1.04057 -1.03876 1.0291 1.03634 1.03574 1.03091 1.01883 1.0291 1.02245 -1.02124 1.01883 1.02789 1.02668 1.02789 1.03091 1.02426 1.02728 -1.02728 1.02124 1.02668 1.02124 1.02426 1.02728 1.02306 1.02064 -1.02366 1.02064 1.01943 1.01581 1.02245 1.02245 1.02185 1.02306 -1.01641 1.01822 1.014 1.014 1.02004 1.01279 1.01218 1.0764 -1.138 1.1401 1.1401 1.1408 1.13835 1.14115 1.138 1.14465 -1.13625 1.1429 1.14185 1.13905 1.1408 1.12645 1.03091 1.02366 -1.01581 1.0152 1.02789 1.02004 1.01218 1.02547 1.01883 1.0146 -1.02306 1.02366 1.0152 1.01822 1.02185 1.02366 1.01762 1.02306 -1.01822 1.02245 1.02185 1.02547 1.02728 1.0146 1.02245 1.02487 -1.01822 1.02487 1.0291 1.02426 1.0297 1.02668 1.02004 1.02426 -1.02064 1.03393 1.03091 1.0303 1.0303 1.03876 1.03876 1.03634 -1.03272 1.0448 1.05084 1.05628 1.04903 1.00373 0.56889 0.110367 -0 0 0 0 0 0 0 0 -0 0 0 0.0110367 0 0 0 0 -0 0.00602 0 0.00301 0.00702333 0.00501667 0.00501667 0 -0.00301 0.00100333 0.00702333 0 0 0.00100333 0 0 -0 0 0 0 0 0.00100333 0 0.00100333 -0.00301 0.00100333 0.00100333 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00401333 0 0 0.00200667 0 0 0.00301 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00301 0.00100333 0.00200667 0 0 0 0 -0 0 0 0.01204 0 0.00100333 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0.0200667 0.274913 0.707616 1.00252 1.05205 1.0454 1.04963 -1.04299 1.0454 1.03695 1.03212 1.03453 1.03212 1.04299 1.03272 -1.03876 1.0303 1.03634 1.03634 1.03212 1.02366 1.02064 1.02608 -1.02608 1.02245 1.03393 1.02547 1.02547 1.02306 1.014 1.02728 -1.02426 1.0303 1.02185 1.02849 1.01822 1.03514 1.02728 1.01883 -1.02124 1.01883 1.01581 1.02366 1.02487 1.01762 1.014 1.03272 -1.12225 1.14793 1.14115 1.1387 1.13975 1.13695 1.1394 1.1359 -1.1429 1.13905 1.14115 1.1429 1.14542 1.09425 1.01883 1.01943 -1.01279 1.0146 1.01822 1.02124 1.02124 1.02306 1.02547 1.02124 -1.01943 1.0152 1.02124 1.02004 1.03332 1.03332 1.02004 1.02668 -1.02426 1.02608 1.02426 1.02306 1.02728 1.02668 1.02185 1.02608 -1.02728 1.02547 1.0297 1.0146 1.0303 1.02366 1.01883 1.0303 -1.03151 1.03272 1.03151 1.03997 1.0303 1.03816 1.03755 1.0448 -1.04963 1.05386 1.05809 1.00916 0.632912 0.18361 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00301 0 0.00100333 0 0 -0 0.00802667 0.00802667 0 0 0 0.00200667 0.00200667 -0 0 0 0.00100333 0 0 0 0 -0 0 0.00602 0.00301 0 0 0 0 -0 0.00200667 0.00401333 0.00903 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00702333 0.00100333 0 -0 0 0 0 0 0 0.00200667 0 -0 0 0 0 0 0 0.00100333 0 -0 0.00301 0 0 0 0 0 0 -0.00200667 0 0 0.00100333 0 0.00200667 0 0 -0 0.00301 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.17458 0.531767 0.929436 1.03695 -1.05628 1.05265 1.05084 1.0442 1.04118 1.03997 1.0448 1.03212 -1.02668 1.03332 1.03936 1.03091 1.0303 1.0297 1.02789 1.02728 -1.02487 1.0303 1.02728 1.03453 1.02487 1.0297 1.0291 1.0291 -1.02789 1.03091 1.02547 1.02849 1.02849 1.02668 1.02124 1.02789 -1.02185 1.03272 1.02547 1.01822 1.02124 1.0297 1.02064 1.01943 -1.0757 1.1338 1.14625 1.14751 1.14667 1.14185 1.1408 1.14255 -1.1387 1.1443 1.14325 1.145 1.10895 1.0303 1.02185 1.02487 -1.02547 1.02185 1.02608 1.03091 1.02849 1.02728 1.02668 1.02366 -1.0303 1.03634 1.0297 1.01943 1.03212 1.01943 1.03151 1.01762 -1.02849 1.01883 1.02728 1.0297 1.03272 1.02668 1.02004 1.01762 -1.03332 1.02849 1.03453 1.03332 1.03393 1.02668 1.03816 1.0291 -1.03212 1.03212 1.03997 1.04359 1.04782 1.04359 1.05809 1.05688 -1.04661 0.97232 0.596983 0.18662 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00100333 -0 0 0 0 0 0 0 0.00200667 -0.00702333 0 0 0.00100333 0 0.0110367 0 0 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00100333 0.00301 0 0 0 -0 0 0 0 0.00602 0.00903 0.00301 0 -0 0 0 0 0 0 0.0110367 0 -0 0 0.00802667 0 0 0 0 0.00301 -0 0 0 0.00100333 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.05117 0.287957 -0.638064 0.949368 1.03091 1.04903 1.0593 1.04782 1.04359 1.04057 -1.04782 1.0448 1.04178 1.03634 1.0291 1.03514 1.03272 1.03997 -1.02668 1.02789 1.03514 1.03332 1.03091 1.03755 1.02789 1.03212 -1.03634 1.03393 1.03272 1.0291 1.03151 1.02728 1.04118 1.04118 -1.03272 1.02849 1.03091 1.02728 1.0291 1.02728 1.02426 1.02728 -1.02728 1.07815 1.1338 1.14709 1.14325 1.15211 1.1436 1.1443 -1.145 1.14793 1.14709 1.1135 1.04722 1.02547 1.02728 1.02608 -1.02668 1.03272 1.0297 1.02849 1.02849 1.02608 1.02789 1.0291 -1.02789 1.02789 1.02728 1.02185 1.03151 1.03574 1.03453 1.03212 -1.03091 1.02728 1.0303 1.02487 1.02849 1.03876 1.03695 1.02124 -1.02547 1.03816 1.03453 1.03332 1.04238 1.03272 1.03816 1.0454 -1.04722 1.0454 1.05144 1.04661 1.06352 1.05326 1.01702 0.85316 -0.443473 0.110367 0 0 0 0 0 0.00501667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00100333 0 0.00301 0.00501667 0 0 0 -0.00200667 0.00200667 0 0 0 0 0 0 -0.00301 0.00100333 0 0.00602 0.00401333 0.00200667 0.0110367 0.00802667 -0.00501667 0.00401333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.00602 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0.00301 0 0 0 0 0 0 -0.00100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.06321 0.268893 0.54481 0.87248 0.986816 1.03574 1.04661 -1.06171 1.04963 1.03997 1.03634 1.04782 1.0442 1.03997 1.0448 -1.03816 1.03936 1.0297 1.04238 1.03695 1.03634 1.02849 1.03755 -1.03393 1.02789 1.03695 1.0303 1.03634 1.04238 1.04118 1.02608 -1.02789 1.03393 1.0303 1.03151 1.03393 1.03634 1.02789 1.03936 -1.03332 1.03272 1.05688 1.10685 1.14185 1.15002 1.15755 1.14625 -1.14465 1.12155 1.0918 1.05084 1.03091 1.0303 1.03393 1.03695 -1.03453 1.04057 1.03514 1.03272 1.03332 1.03212 1.03695 1.03332 -1.03816 1.03212 1.03574 1.02608 1.03091 1.0303 1.03574 1.03634 -1.03876 1.04178 1.03272 1.03997 1.03634 1.03272 1.03876 1.03816 -1.03936 1.03816 1.03936 1.03091 1.04722 1.04722 1.0442 1.05265 -1.04661 1.0599 1.05386 1.00977 0.882784 0.530763 0.202673 0.0200667 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00401333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00401333 0.125417 0.31605 0.55685 -0.806792 0.957824 1.01702 1.04661 1.05084 1.05809 1.05446 1.05326 -1.05567 1.05265 1.03695 1.04661 1.0454 1.03574 1.04299 1.04299 -1.04299 1.04118 1.04661 1.03695 1.03876 1.03816 1.03212 1.03997 -1.04359 1.04299 1.03876 1.03816 1.04118 1.04903 1.04359 1.03936 -1.04299 1.04057 1.03816 1.03695 1.0605 1.0778 1.08655 1.08445 -1.07815 1.05748 1.03574 1.03936 1.04057 1.05084 1.03816 1.0303 -1.03936 1.03514 1.03876 1.04178 1.03634 1.04057 1.03816 1.04118 -1.03695 1.04782 1.04057 1.03393 1.04057 1.03816 1.03816 1.03876 -1.03514 1.0448 1.04118 1.04118 1.04238 1.05446 1.05144 1.04963 -1.04299 1.04903 1.05507 1.05084 1.0442 1.05748 1.03272 1.01037 -0.926416 0.697312 0.438457 0.18963 0.0200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00100333 0.00100333 -0 0 0 0 0 0 0 0 -0 0.00100333 0.00802667 0 0 0 0 0.00100333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.07525 0.16856 0.323073 0.47257 0.645792 0.799064 0.930644 -0.9693 0.997688 1.01641 1.0297 1.03393 1.04178 1.04842 1.04118 -1.04178 1.03816 1.03876 1.04238 1.04601 1.05205 1.04903 1.04782 -1.05386 1.04299 1.04178 1.0448 1.05567 1.04842 1.05084 1.04238 -1.04661 1.05144 1.04299 1.0448 1.04842 1.04238 1.04963 1.0454 -1.0448 1.05205 1.04722 1.04178 1.03997 1.04963 1.05326 1.04782 -1.04903 1.05386 1.04963 1.04782 1.04178 1.04299 1.05205 1.04963 -1.04782 1.05144 1.05386 1.04722 1.0448 1.0454 1.04903 1.04903 -1.04661 1.05507 1.04661 1.04903 1.0442 1.03755 1.04238 1.02124 -1.01158 0.980172 0.925208 0.811944 0.62776 0.470563 0.298993 0.148493 -0.03913 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00200667 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0401333 0.0371233 0.0341133 0.0411367 0.05117 0.0561867 0.05719 -0.0591967 0.0561867 0.0491633 0.0622067 0.0832767 0.0772567 0.0822733 0.08127 -0.0822733 0.08428 0.0923067 0.106353 0.115383 0.0913033 0.0882933 0.10234 -0.112373 0.115383 0.109363 0.10836 0.0983267 0.125417 0.12341 0.128427 -0.125417 0.125417 0.130433 0.130433 0.124413 0.131437 0.110367 0.11739 -0.11137 0.116387 0.121403 0.143477 0.14749 0.139463 0.128427 0.10234 -0.127423 0.125417 0.12341 0.127423 0.130433 0.122407 0.115383 0.125417 -0.140467 0.130433 0.119397 0.1204 0.124413 0.12642 0.136453 0.101337 -0.0913033 0.0772567 0.0862867 0.07826 0.0802667 0.101337 0.10535 0.1505 -0.196653 0.253843 0.3311 0.40334 0.43645 0.464543 0.479593 0.50869 -0.506683 0.549827 0.554843 0.575913 0.58093 0.596983 0.636776 0.643216 -0.657384 0.684432 0.71148 0.719208 0.720496 0.738528 0.742392 0.73724 -0.741104 0.7308 0.761712 0.75012 0.773304 0.755272 0.779744 0.792624 -0.791336 0.790048 0.806792 0.792624 0.781032 0.783608 0.805504 0.831264 -0.806792 0.778456 0.809368 0.81452 0.80164 0.800352 0.804216 0.80164 -0.784896 0.787472 0.773304 0.770728 0.748832 0.747544 0.734664 0.701176 -0.657384 0.620032 0.573907 0.524743 0.456517 0.384277 0.34916 0.28294 -0.205683 0.1505 0.0953167 0.0401333 0.02107 0.0110367 0.0170567 0.01806 -0.0230767 0.0250833 0.02408 0.0260867 0.00702333 0.0200667 0.0160533 0.0371233 -0.0250833 0.0321067 0.02107 0.0290967 0.0260867 0.0190633 0.0200667 0.0220733 -0.01806 0.00501667 0.00702333 0.0100333 0.01806 0.0100333 0.00200667 0.00903 -0 0 0.00602 0.00702333 0.00401333 0 0 0 -0.00100333 0.00301 0 0 0 0.00401333 0.00401333 0.00702333 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.1204 0.167557 0.176587 0.172573 0.172573 0.169563 0.172573 -0.16856 0.163543 0.181603 0.18662 0.169563 0.176587 0.18662 0.176587 -0.187623 0.19565 0.190633 0.187623 0.184613 0.176587 0.18361 0.182607 -0.187623 0.176587 0.163543 0.16856 0.173577 0.185617 0.176587 0.166553 -0.164547 0.160533 0.152507 0.163543 0.175583 0.155517 0.152507 0.15351 -0.169563 0.163543 0.166553 0.158527 0.151503 0.155517 0.152507 0.161537 -0.146487 0.14448 0.152507 0.1505 0.139463 0.139463 0.148493 0.154513 -0.14448 0.154513 0.155517 0.157523 0.149497 0.137457 0.13545 0.109363 -0.128427 0.121403 0.116387 0.118393 0.12642 0.109363 0.121403 0.112373 -0.11137 0.09933 0.11137 0.103343 0.09331 0.0903 0.107357 0.09331 -0.0762533 0.0973233 0.09933 0.0973233 0.106353 0.10535 0.110367 0.103343 -0.106353 0.109363 0.103343 0.106353 0.10836 0.119397 0.113377 0.09632 -0.106353 0.116387 0.106353 0.109363 0.106353 0.10836 0.113377 0.109363 -0.104347 0.1204 0.11438 0.122407 0.11137 0.106353 0.130433 0.107357 -0.119397 0.10836 0.12943 0.112373 0.128427 0.130433 0.127423 0.119397 -0.11438 0.116387 0.119397 0.116387 0.11438 0.116387 0.11438 0.11739 -0.110367 0.119397 0.11438 0.106353 0.101337 0.115383 0.0943133 0.10836 -0.11438 0.125417 0.112373 0.116387 0.130433 0.12642 0.146487 0.14749 -0.128427 0.13846 0.13244 0.163543 0.1505 0.151503 0.16254 0.167557 -0.152507 0.16555 0.15953 0.172573 0.179597 0.167557 0.163543 0.178593 -0.181603 0.152507 0.170567 0.17759 0.175583 0.172573 0.17458 0.151503 -0.15652 0.160533 0.152507 0.149497 0.140467 0.13545 0.127423 0.149497 -0.14448 0.14749 0.146487 0.143477 0.134447 0.1204 0.11438 0.127423 -0.133443 0.130433 0.116387 0.115383 0.09632 0.08729 0.09933 0.09632 -0.0973233 0.106353 0.08729 0.08729 0.0802667 0.08428 0.0341133 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.10234 0.14147 0.14749 0.145483 0.143477 0.13846 -0.151503 0.158527 0.15652 0.140467 0.158527 0.169563 0.149497 0.16254 -0.155517 0.152507 0.145483 0.140467 0.143477 0.157523 0.151503 0.134447 -0.137457 0.137457 0.14448 0.142473 0.148493 0.13545 0.13244 0.13846 -0.134447 0.130433 0.163543 0.15351 0.140467 0.148493 0.145483 0.160533 -0.14448 0.137457 0.148493 0.14147 0.154513 0.1505 0.14749 0.13545 -0.13846 0.146487 0.13545 0.133443 0.14448 0.14749 0.14147 0.14147 -0.142473 0.134447 0.131437 0.12943 0.124413 0.131437 0.121403 0.125417 -0.130433 0.12642 0.136453 0.140467 0.130433 0.11438 0.13244 0.119397 -0.11438 0.10535 0.10234 0.104347 0.11739 0.113377 0.103343 0.103343 -0.116387 0.118393 0.103343 0.10836 0.11137 0.0953167 0.09331 0.101337 -0.0943133 0.115383 0.104347 0.0953167 0.104347 0.106353 0.101337 0.0983267 -0.104347 0.10535 0.100333 0.10234 0.0903 0.101337 0.110367 0.09933 -0.0882933 0.103343 0.113377 0.0983267 0.0983267 0.107357 0.113377 0.0953167 -0.1204 0.106353 0.11137 0.106353 0.119397 0.106353 0.103343 0.10535 -0.09331 0.10234 0.09933 0.112373 0.101337 0.10836 0.104347 0.103343 -0.107357 0.09632 0.106353 0.100333 0.103343 0.109363 0.0953167 0.10535 -0.11137 0.110367 0.10836 0.116387 0.1204 0.113377 0.116387 0.106353 -0.131437 0.125417 0.146487 0.134447 0.12642 0.12943 0.12943 0.14749 -0.148493 0.142473 0.128427 0.131437 0.139463 0.151503 0.154513 0.140467 -0.160533 0.158527 0.146487 0.142473 0.140467 0.15652 0.154513 0.166553 -0.15652 0.143477 0.152507 0.157523 0.15351 0.161537 0.1505 0.155517 -0.151503 0.164547 0.161537 0.16856 0.16555 0.157523 0.16555 0.15953 -0.15953 0.163543 0.173577 0.169563 0.178593 0.163543 0.169563 0.15953 -0.17157 0.181603 0.166553 0.169563 0.169563 0.12943 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.103343 0.148493 0.14749 0.142473 0.142473 -0.143477 0.13244 0.136453 0.149497 0.1505 0.142473 0.154513 0.155517 -0.158527 0.149497 0.14448 0.1505 0.142473 0.137457 0.12642 0.13545 -0.14749 0.142473 0.13244 0.128427 0.125417 0.13846 0.13846 0.128427 -0.12642 0.134447 0.146487 0.127423 0.134447 0.14749 0.140467 0.134447 -0.137457 0.15652 0.146487 0.140467 0.146487 0.14749 0.13244 0.148493 -0.15953 0.148493 0.140467 0.15351 0.155517 0.139463 0.136453 0.13846 -0.142473 0.12341 0.124413 0.134447 0.133443 0.13545 0.130433 0.134447 -0.127423 0.13244 0.14749 0.14147 0.112373 0.131437 0.12943 0.121403 -0.128427 0.11739 0.12341 0.12642 0.121403 0.115383 0.116387 0.115383 -0.136453 0.116387 0.122407 0.115383 0.124413 0.121403 0.116387 0.1204 -0.11739 0.106353 0.1204 0.115383 0.113377 0.125417 0.11137 0.118393 -0.10836 0.121403 0.118393 0.11137 0.121403 0.118393 0.12943 0.107357 -0.12341 0.115383 0.1204 0.125417 0.131437 0.124413 0.12642 0.116387 -0.12943 0.134447 0.12642 0.130433 0.11438 0.12341 0.116387 0.119397 -0.113377 0.110367 0.119397 0.115383 0.125417 0.115383 0.11438 0.112373 -0.11438 0.1204 0.121403 0.115383 0.11137 0.125417 0.128427 0.125417 -0.122407 0.127423 0.11739 0.13545 0.128427 0.136453 0.131437 0.13244 -0.131437 0.12943 0.12943 0.149497 0.140467 0.17157 0.149497 0.140467 -0.142473 0.154513 0.142473 0.14448 0.142473 0.131437 0.15652 0.13545 -0.13846 0.149497 0.154513 0.160533 0.145483 0.13244 0.143477 0.142473 -0.14448 0.152507 0.14448 0.155517 0.148493 0.145483 0.140467 0.145483 -0.14448 0.148493 0.1505 0.154513 0.151503 0.154513 0.142473 0.1505 -0.148493 0.140467 0.149497 0.148493 0.15351 0.15652 0.154513 0.149497 -0.152507 0.15351 0.15953 0.157523 0.11739 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.128427 0.131437 0.137457 0.143477 -0.13846 0.146487 0.14749 0.14448 0.148493 0.15652 0.1505 0.143477 -0.130433 0.128427 0.13846 0.139463 0.14147 0.14147 0.149497 0.157523 -0.14147 0.13545 0.136453 0.13846 0.143477 0.145483 0.131437 0.12642 -0.125417 0.13244 0.133443 0.136453 0.133443 0.133443 0.122407 0.13244 -0.146487 0.127423 0.13244 0.142473 0.1505 0.148493 0.152507 0.151503 -0.14448 0.13846 0.13545 0.151503 0.136453 0.13846 0.137457 0.145483 -0.142473 0.13545 0.154513 0.137457 0.143477 0.12943 0.130433 0.133443 -0.134447 0.140467 0.139463 0.12642 0.11739 0.137457 0.127423 0.136453 -0.13846 0.127423 0.124413 0.12642 0.133443 0.125417 0.12341 0.127423 -0.130433 0.12943 0.121403 0.119397 0.13846 0.12642 0.12642 0.12642 -0.122407 0.1204 0.131437 0.122407 0.122407 0.134447 0.124413 0.121403 -0.12341 0.124413 0.131437 0.121403 0.13244 0.128427 0.124413 0.136453 -0.146487 0.13244 0.140467 0.127423 0.131437 0.12642 0.136453 0.12341 -0.125417 0.122407 0.12642 0.143477 0.140467 0.125417 0.1204 0.131437 -0.125417 0.124413 0.11438 0.119397 0.12943 0.128427 0.119397 0.131437 -0.119397 0.12341 0.118393 0.124413 0.134447 0.122407 0.142473 0.131437 -0.137457 0.13545 0.130433 0.134447 0.134447 0.14749 0.14147 0.13846 -0.130433 0.146487 0.131437 0.151503 0.137457 0.134447 0.155517 0.160533 -0.14749 0.145483 0.1505 0.146487 0.13244 0.130433 0.143477 0.160533 -0.14448 0.13244 0.124413 0.146487 0.148493 0.136453 0.146487 0.151503 -0.140467 0.145483 0.134447 0.128427 0.14448 0.152507 0.1505 0.152507 -0.14147 0.14749 0.148493 0.137457 0.146487 0.14147 0.155517 0.145483 -0.149497 0.145483 0.142473 0.148493 0.149497 0.158527 0.155517 0.146487 -0.149497 0.160533 0.16254 0.115383 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0170567 0.152507 0.152507 0.146487 -0.148493 0.14448 0.14448 0.155517 0.148493 0.142473 0.14147 0.143477 -0.137457 0.14147 0.140467 0.14749 0.13846 0.15351 0.145483 0.137457 -0.143477 0.139463 0.148493 0.149497 0.148493 0.136453 0.136453 0.142473 -0.15351 0.148493 0.134447 0.14147 0.14147 0.13244 0.136453 0.146487 -0.142473 0.14448 0.143477 0.1505 0.142473 0.145483 0.14448 0.131437 -0.140467 0.146487 0.149497 0.131437 0.13545 0.136453 0.152507 0.14749 -0.140467 0.149497 0.13244 0.134447 0.149497 0.134447 0.148493 0.151503 -0.136453 0.130433 0.131437 0.13846 0.134447 0.14448 0.137457 0.145483 -0.14147 0.1204 0.14147 0.14147 0.122407 0.124413 0.13244 0.143477 -0.11739 0.12943 0.134447 0.13846 0.1204 0.139463 0.131437 0.122407 -0.136453 0.134447 0.12943 0.13545 0.128427 0.136453 0.134447 0.12341 -0.134447 0.12642 0.125417 0.134447 0.136453 0.127423 0.134447 0.13846 -0.142473 0.13846 0.139463 0.13545 0.125417 0.13545 0.128427 0.130433 -0.133443 0.137457 0.140467 0.133443 0.13545 0.134447 0.134447 0.137457 -0.127423 0.134447 0.137457 0.130433 0.13244 0.121403 0.133443 0.145483 -0.13244 0.13545 0.14147 0.13244 0.12642 0.140467 0.148493 0.148493 -0.146487 0.13244 0.143477 0.131437 0.127423 0.14448 0.133443 0.14448 -0.14147 0.149497 0.142473 0.13545 0.143477 0.143477 0.149497 0.130433 -0.14448 0.13545 0.145483 0.148493 0.151503 0.142473 0.131437 0.133443 -0.142473 0.16254 0.139463 0.142473 0.139463 0.136453 0.139463 0.148493 -0.139463 0.163543 0.158527 0.13846 0.14448 0.143477 0.14749 0.143477 -0.1505 0.142473 0.154513 0.161537 0.143477 0.1505 0.155517 0.149497 -0.145483 0.1505 0.154513 0.139463 0.134447 0.145483 0.154513 0.161537 -0.149497 0.1505 0.16254 0.02107 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0170567 0.157523 0.16555 -0.155517 0.15953 0.166553 0.158527 0.155517 0.154513 0.146487 0.148493 -0.160533 0.166553 0.16856 0.170567 0.15652 0.16254 0.155517 0.158527 -0.154513 0.16254 0.169563 0.169563 0.163543 0.155517 0.169563 0.172573 -0.161537 0.157523 0.176587 0.164547 0.155517 0.15953 0.169563 0.172573 -0.15953 0.16856 0.17458 0.170567 0.16856 0.161537 0.16555 0.164547 -0.155517 0.17157 0.146487 0.16856 0.169563 0.172573 0.170567 0.16555 -0.17458 0.16254 0.163543 0.167557 0.172573 0.173577 0.157523 0.158527 -0.1505 0.17157 0.152507 0.17157 0.166553 0.163543 0.16254 0.15351 -0.164547 0.15953 0.154513 0.154513 0.15351 0.15652 0.160533 0.166553 -0.15652 0.158527 0.164547 0.161537 0.172573 0.166553 0.160533 0.160533 -0.16254 0.151503 0.166553 0.164547 0.169563 0.170567 0.164547 0.167557 -0.16555 0.157523 0.15351 0.151503 0.161537 0.167557 0.176587 0.15351 -0.160533 0.17157 0.164547 0.167557 0.16254 0.167557 0.148493 0.167557 -0.160533 0.160533 0.170567 0.158527 0.1505 0.163543 0.16555 0.16254 -0.154513 0.158527 0.167557 0.16254 0.172573 0.169563 0.145483 0.161537 -0.16856 0.163543 0.15953 0.17458 0.163543 0.145483 0.164547 0.157523 -0.16254 0.16555 0.172573 0.163543 0.163543 0.160533 0.15953 0.161537 -0.164547 0.15652 0.15953 0.164547 0.158527 0.164547 0.158527 0.15652 -0.157523 0.15351 0.157523 0.155517 0.148493 0.160533 0.157523 0.1505 -0.149497 0.157523 0.160533 0.167557 0.15351 0.152507 0.151503 0.152507 -0.137457 0.13846 0.152507 0.161537 0.157523 0.145483 0.151503 0.1505 -0.152507 0.145483 0.143477 0.154513 0.161537 0.145483 0.14749 0.15652 -0.1505 0.15351 0.15652 0.154513 0.1505 0.14147 0.14749 0.14749 -0.158527 0.160533 0.0200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.01806 0.0792633 -0.07826 0.08127 0.0732433 0.07224 0.0702333 0.0772567 0.0712367 0.0832767 -0.0802667 0.0762533 0.0822733 0.06923 0.08127 0.06923 0.0591967 0.0612033 -0.0712367 0.07826 0.0682267 0.07525 0.0672233 0.0772567 0.0742467 0.0591967 -0.0561867 0.0652167 0.0682267 0.0672233 0.0742467 0.0682267 0.06923 0.0521733 -0.0652167 0.06622 0.0551833 0.0561867 0.0561867 0.0591967 0.0551833 0.05418 -0.0491633 0.0531767 0.06321 0.05418 0.0491633 0.05719 0.06321 0.0591967 -0.05418 0.05418 0.0411367 0.0602 0.05719 0.0461533 0.0501667 0.05719 -0.03612 0.04214 0.05418 0.0531767 0.0401333 0.0521733 0.0471567 0.04515 -0.0491633 0.0441467 0.0371233 0.04816 0.0441467 0.0431433 0.03311 0.0411367 -0.0401333 0.0501667 0.0521733 0.0401333 0.0351167 0.04816 0.0471567 0.0491633 -0.0411367 0.0471567 0.0471567 0.0471567 0.0521733 0.05117 0.0531767 0.05418 -0.0581933 0.0471567 0.05117 0.0441467 0.0521733 0.0561867 0.0591967 0.0682267 -0.0642133 0.0531767 0.0501667 0.0652167 0.0471567 0.0581933 0.0561867 0.0591967 -0.0521733 0.0612033 0.0622067 0.06622 0.05418 0.05418 0.0602 0.0551833 -0.0642133 0.0561867 0.0672233 0.06321 0.07224 0.0762533 0.06923 0.0682267 -0.0792633 0.0772567 0.07826 0.07525 0.0792633 0.0642133 0.08428 0.0702333 -0.0882933 0.0832767 0.0943133 0.104347 0.103343 0.0983267 0.107357 0.09632 -0.106353 0.118393 0.107357 0.10234 0.10234 0.107357 0.125417 0.127423 -0.12642 0.125417 0.11137 0.124413 0.122407 0.133443 0.137457 0.12943 -0.130433 0.131437 0.124413 0.145483 0.14147 0.145483 0.148493 0.16254 -0.146487 0.139463 0.139463 0.146487 0.158527 0.1505 0.139463 0.15953 -0.164547 0.163543 0.166553 0.164547 0.164547 0.16555 0.161537 0.175583 -0.169563 0.164547 0.172573 0.169563 0.17759 0.172573 0.17458 0.178593 -0.175583 0.02408 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.03311 0.03311 0.0290967 0.0371233 0.0260867 0.0311033 0.0341133 0.0290967 -0.0280933 0.0280933 0.03612 0.0341133 0.03913 0.03311 0.0290967 0.0321067 -0.0411367 0.0381267 0.03913 0.0301 0.04214 0.0371233 0.02107 0.02709 -0.0280933 0.03913 0.0371233 0.0250833 0.02408 0.0321067 0.0381267 0.0301 -0.0341133 0.0250833 0.0290967 0.02408 0.0290967 0.0230767 0.0381267 0.02408 -0.0321067 0.0341133 0.0280933 0.0250833 0.0461533 0.03311 0.03311 0.0260867 -0.0290967 0.0220733 0.02709 0.0401333 0.0260867 0.0280933 0.0311033 0.0301 -0.0190633 0.02709 0.0250833 0.0140467 0.02709 0.0250833 0.03612 0.0290967 -0.0290967 0.0381267 0.0290967 0.02709 0.0260867 0.0321067 0.03311 0.02709 -0.03311 0.03913 0.0230767 0.0100333 0.0301 0.0290967 0.0190633 0.0230767 -0.02709 0.0220733 0.02709 0.03311 0.0260867 0.0160533 0.03311 0.0230767 -0.02107 0.0280933 0.0200667 0.0311033 0.0321067 0.0130433 0.0321067 0.0311033 -0.0321067 0.0250833 0.0220733 0.0290967 0.0190633 0.0220733 0.0230767 0.0301 -0.02709 0.0190633 0.0250833 0.0321067 0.02709 0.0260867 0.02408 0.0301 -0.0321067 0.0200667 0.0250833 0.02107 0.0311033 0.0341133 0.0260867 0.03913 -0.0200667 0.02107 0.02408 0.03913 0.0220733 0.0190633 0.03612 0.02408 -0.03311 0.0130433 0.0311033 0.0351167 0.0301 0.0371233 0.0290967 0.0321067 -0.0250833 0.02408 0.0250833 0.0311033 0.0401333 0.0220733 0.0341133 0.0250833 -0.0401333 0.0351167 0.0401333 0.03913 0.02709 0.0220733 0.0411367 0.0441467 -0.0431433 0.0561867 0.0321067 0.0341133 0.0341133 0.0351167 0.03913 0.04816 -0.03612 0.0491633 0.0501667 0.0371233 0.0501667 0.0612033 0.0441467 0.0381267 -0.0461533 0.0491633 0.03913 0.04816 0.0521733 0.0652167 0.05418 0.0441467 -0.0652167 0.0602 0.0561867 0.05117 0.0602 0.0712367 0.0762533 0.0742467 -0.0110367 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0311033 0.0260867 0.00903 0.0280933 0.0220733 0.0200667 0.0341133 -0.0280933 0.03612 0.03311 0.0301 0.0290967 0.02107 0.02709 0.0280933 -0.0321067 0.0401333 0.03311 0.0321067 0.0321067 0.0280933 0.0260867 0.0351167 -0.0301 0.03311 0.02709 0.0280933 0.0341133 0.0341133 0.0351167 0.0260867 -0.0381267 0.01505 0.0301 0.0321067 0.04214 0.04214 0.0321067 0.02709 -0.0250833 0.0311033 0.0371233 0.0411367 0.0401333 0.0220733 0.0220733 0.0290967 -0.02408 0.02408 0.0311033 0.02709 0.0250833 0.0250833 0.02709 0.0290967 -0.02107 0.02408 0.0220733 0.0260867 0.0431433 0.0301 0.0401333 0.0341133 -0.03311 0.03612 0.0250833 0.02107 0.02709 0.0290967 0.0311033 0.0280933 -0.03612 0.0190633 0.0321067 0.0301 0.01806 0.04214 0.0280933 0.0260867 -0.01806 0.0371233 0.03612 0.0250833 0.03913 0.0220733 0.0301 0.0290967 -0.0290967 0.0311033 0.0230767 0.0301 0.03311 0.0250833 0.0230767 0.0290967 -0.0311033 0.02709 0.02709 0.0321067 0.0290967 0.0341133 0.0250833 0.0321067 -0.0311033 0.0280933 0.0341133 0.0341133 0.0280933 0.0311033 0.02709 0.02408 -0.0301 0.0260867 0.0351167 0.02408 0.0220733 0.0321067 0.0190633 0.0250833 -0.03612 0.0351167 0.0200667 0.0190633 0.02709 0.0280933 0.0260867 0.0341133 -0.0321067 0.0260867 0.0130433 0.0371233 0.0290967 0.0311033 0.02709 0.0301 -0.0301 0.0301 0.0351167 0.02709 0.0190633 0.0351167 0.0280933 0.0250833 -0.0250833 0.0351167 0.02709 0.0280933 0.03612 0.02107 0.0280933 0.02709 -0.02709 0.03612 0.0461533 0.0461533 0.02408 0.0220733 0.03311 0.0200667 -0.03311 0.0321067 0.0381267 0.0220733 0.0170567 0.0280933 0.0401333 0.02709 -0.0321067 0.0381267 0.03913 0.0371233 0.0160533 0.02408 0.03913 0.0341133 -0.0351167 0.03913 0.04214 0.04515 0.02709 0.0290967 0.03311 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.0140467 0.0260867 0.0301 0.0230767 0.03612 0.02107 -0.0230767 0.0301 0.02408 0.0220733 0.02709 0.0301 0.0321067 0.0411367 -0.0411367 0.03913 0.0200667 0.0200667 0.0321067 0.0371233 0.0250833 0.0321067 -0.0311033 0.0250833 0.02709 0.02709 0.0260867 0.0290967 0.0311033 0.0230767 -0.02408 0.02709 0.0501667 0.04515 0.03311 0.0190633 0.0260867 0.0351167 -0.03311 0.0341133 0.0311033 0.0371233 0.01806 0.02107 0.0381267 0.03311 -0.0260867 0.0351167 0.0250833 0.0321067 0.0260867 0.0311033 0.0301 0.02709 -0.0321067 0.03612 0.0371233 0.0311033 0.03311 0.0290967 0.0290967 0.03913 -0.0200667 0.0170567 0.0311033 0.0250833 0.0230767 0.0401333 0.0411367 0.0200667 -0.0311033 0.0260867 0.0351167 0.0250833 0.02107 0.0301 0.0341133 0.0280933 -0.0290967 0.0351167 0.0351167 0.0200667 0.0411367 0.0381267 0.0200667 0.0280933 -0.03612 0.0301 0.02709 0.0321067 0.0321067 0.0290967 0.0220733 0.0301 -0.0351167 0.0260867 0.0381267 0.0351167 0.01806 0.0411367 0.0301 0.0311033 -0.03311 0.02709 0.0220733 0.0290967 0.0230767 0.0341133 0.0250833 0.0351167 -0.0290967 0.0260867 0.02709 0.0301 0.03311 0.0260867 0.0230767 0.03311 -0.0250833 0.0441467 0.0280933 0.0311033 0.02408 0.0230767 0.0260867 0.0371233 -0.0351167 0.0301 0.0311033 0.0321067 0.0290967 0.0290967 0.0351167 0.0260867 -0.02408 0.0301 0.0290967 0.0441467 0.0301 0.03311 0.03913 0.01204 -0.0290967 0.0301 0.03311 0.0371233 0.0371233 0.0220733 0.03311 0.0301 -0.0371233 0.02408 0.03311 0.03913 0.0381267 0.02709 0.0431433 0.0371233 -0.0280933 0.0220733 0.03311 0.0351167 0.0381267 0.0341133 0.0321067 0.0341133 -0.0280933 0.0220733 0.0311033 0.04214 0.0461533 0.0311033 0.02408 0.0190633 -0.0280933 0.0220733 0.0351167 0.03913 0.0471567 0.03612 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0280933 0.0260867 0.02107 0.0290967 0.02408 -0.0200667 0.0311033 0.02107 0.0290967 0.0341133 0.03311 0.0321067 0.03311 -0.0290967 0.0160533 0.0321067 0.0381267 0.03612 0.0260867 0.0280933 0.02408 -0.02709 0.0301 0.0401333 0.0371233 0.0260867 0.03612 0.02408 0.0321067 -0.0411367 0.0401333 0.0351167 0.0260867 0.02709 0.0341133 0.03612 0.0301 -0.0280933 0.03311 0.03612 0.0260867 0.02408 0.0381267 0.0220733 0.0280933 -0.0351167 0.0220733 0.0230767 0.0290967 0.0321067 0.0341133 0.0280933 0.0401333 -0.02709 0.0341133 0.0200667 0.0321067 0.0311033 0.0341133 0.03612 0.0351167 -0.0260867 0.0250833 0.03311 0.0311033 0.0301 0.0351167 0.0301 0.02107 -0.0321067 0.0311033 0.0280933 0.03612 0.0260867 0.0250833 0.0311033 0.0321067 -0.0411367 0.0230767 0.0260867 0.03913 0.0311033 0.03311 0.02408 0.04214 -0.0220733 0.02408 0.0351167 0.0321067 0.0301 0.0351167 0.0220733 0.03913 -0.0351167 0.0290967 0.0351167 0.0260867 0.02709 0.0341133 0.0341133 0.0341133 -0.0321067 0.0301 0.0260867 0.0371233 0.0290967 0.0351167 0.0341133 0.02107 -0.0301 0.0301 0.0341133 0.02408 0.03311 0.0401333 0.02408 0.0311033 -0.02709 0.0280933 0.0290967 0.0321067 0.02408 0.03612 0.03311 0.0280933 -0.0280933 0.02408 0.0230767 0.0311033 0.0351167 0.0371233 0.03311 0.0280933 -0.0250833 0.0280933 0.02107 0.03612 0.02709 0.0311033 0.0411367 0.0280933 -0.0311033 0.0250833 0.0290967 0.0321067 0.0280933 0.03612 0.0301 0.0280933 -0.0301 0.03612 0.0301 0.0401333 0.0280933 0.0311033 0.03913 0.0351167 -0.04515 0.0301 0.0280933 0.01806 0.0311033 0.0351167 0.0311033 0.0250833 -0.03311 0.0280933 0.0321067 0.0230767 0.03311 0.0311033 0.0491633 0.0371233 -0.0321067 0.0321067 0.0311033 0.01806 0.0371233 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.02408 0.02408 0.0160533 0.0200667 -0.02709 0.0280933 0.02107 0.03311 0.03612 0.0250833 0.0290967 0.0280933 -0.0351167 0.03311 0.03612 0.0220733 0.0230767 0.0220733 0.0371233 0.0311033 -0.0321067 0.0290967 0.03311 0.0200667 0.0351167 0.0381267 0.0290967 0.03612 -0.0311033 0.0301 0.03612 0.0371233 0.0260867 0.0280933 0.03311 0.0321067 -0.02408 0.0441467 0.02709 0.0260867 0.0381267 0.0311033 0.0321067 0.0401333 -0.0321067 0.02107 0.0431433 0.0371233 0.02408 0.0311033 0.0311033 0.0341133 -0.0311033 0.03612 0.0301 0.0311033 0.0311033 0.02408 0.0280933 0.02709 -0.03311 0.0280933 0.0341133 0.0311033 0.0301 0.03311 0.0230767 0.0321067 -0.03612 0.0260867 0.03612 0.0381267 0.0160533 0.0371233 0.0321067 0.0431433 -0.0260867 0.0200667 0.03913 0.0311033 0.02709 0.0311033 0.0301 0.03612 -0.0321067 0.0280933 0.0371233 0.0311033 0.0260867 0.0290967 0.0351167 0.0250833 -0.0411367 0.0321067 0.0290967 0.0341133 0.0311033 0.0280933 0.0371233 0.0260867 -0.0311033 0.0311033 0.0321067 0.0371233 0.0341133 0.02408 0.03612 0.0260867 -0.0311033 0.0280933 0.0341133 0.01806 0.0381267 0.0351167 0.0351167 0.0260867 -0.0351167 0.04214 0.0301 0.03612 0.02709 0.0290967 0.0260867 0.0371233 -0.0290967 0.01806 0.0321067 0.0351167 0.0260867 0.01806 0.0441467 0.0341133 -0.03612 0.0371233 0.02709 0.0371233 0.0311033 0.0280933 0.0280933 0.0290967 -0.0441467 0.0260867 0.0321067 0.0381267 0.0311033 0.0260867 0.0351167 0.0311033 -0.0311033 0.02408 0.0411367 0.0290967 0.0250833 0.03612 0.03612 0.0280933 -0.03913 0.0341133 0.04515 0.0321067 0.0290967 0.0260867 0.0290967 0.0301 -0.03311 0.0381267 0.0160533 0.0371233 0.04515 0.02107 0.0311033 0.0351167 -0.03311 0.0351167 0.0461533 0.0411367 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.05117 0.01204 0.02408 -0.0220733 0.02107 0.0220733 0.0290967 0.0250833 0.0280933 0.0280933 0.0381267 -0.0220733 0.0250833 0.0200667 0.0220733 0.0290967 0.03612 0.0301 0.02107 -0.0321067 0.0321067 0.0411367 0.0321067 0.0371233 0.0341133 0.02408 0.0321067 -0.02709 0.0341133 0.0401333 0.0301 0.0351167 0.02709 0.0301 0.0160533 -0.0411367 0.0290967 0.02709 0.0311033 0.0381267 0.0311033 0.0250833 0.0351167 -0.0260867 0.0301 0.0401333 0.0260867 0.03311 0.0301 0.03311 0.0301 -0.0280933 0.02709 0.0311033 0.0401333 0.0311033 0.0290967 0.03612 0.0371233 -0.0351167 0.02709 0.03311 0.03913 0.03311 0.0230767 0.03311 0.0301 -0.0401333 0.0311033 0.0280933 0.02408 0.0301 0.0321067 0.0311033 0.03913 -0.0200667 0.0351167 0.0321067 0.0220733 0.03913 0.0321067 0.0321067 0.0381267 -0.0250833 0.0260867 0.0351167 0.0301 0.02709 0.0250833 0.0381267 0.0280933 -0.0311033 0.0341133 0.0250833 0.0401333 0.03913 0.02408 0.0371233 0.0280933 -0.0351167 0.0260867 0.0250833 0.0321067 0.0301 0.0351167 0.02107 0.0411367 -0.02709 0.0260867 0.0280933 0.03612 0.02709 0.02408 0.0381267 0.0260867 -0.0280933 0.0341133 0.0311033 0.0321067 0.0301 0.02709 0.03612 0.0280933 -0.03311 0.02408 0.03913 0.0220733 0.0260867 0.02408 0.0341133 0.0260867 -0.0290967 0.0401333 0.0311033 0.0260867 0.0411367 0.0321067 0.0301 0.0260867 -0.0341133 0.0341133 0.02709 0.0321067 0.02408 0.03311 0.0371233 0.0301 -0.0301 0.02709 0.0381267 0.03612 0.0341133 0.0230767 0.0321067 0.03311 -0.0431433 0.0311033 0.0341133 0.0311033 0.04214 0.0471567 0.0260867 0.0200667 -0.02408 0.03311 0.0280933 0.02408 0.0321067 0.0341133 0.04214 0.0260867 -0.0230767 0.0311033 0.0341133 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0431433 0.115383 0.03612 -0.01806 0.00401333 0.01204 0.0290967 0.0140467 0.0220733 0.0311033 0.01505 -0.0230767 0.03311 0.0301 0.02709 0.0321067 0.0280933 0.02107 0.0351167 -0.0351167 0.0290967 0.0301 0.03913 0.0321067 0.0260867 0.0290967 0.03913 -0.0301 0.0341133 0.0371233 0.0260867 0.02107 0.0250833 0.03311 0.03612 -0.0250833 0.0280933 0.0301 0.0401333 0.0230767 0.03311 0.0351167 0.0321067 -0.0301 0.0290967 0.03311 0.0341133 0.0280933 0.0341133 0.0290967 0.0341133 -0.03311 0.0230767 0.0311033 0.0301 0.0311033 0.03311 0.03913 0.0260867 -0.02709 0.03913 0.0321067 0.0381267 0.0280933 0.0260867 0.03612 0.0301 -0.0321067 0.0351167 0.02107 0.0321067 0.0381267 0.03311 0.03913 0.0311033 -0.0301 0.0290967 0.0311033 0.0260867 0.0301 0.02709 0.0341133 0.0260867 -0.0280933 0.0351167 0.0341133 0.0301 0.02709 0.03612 0.02408 0.0311033 -0.0301 0.0290967 0.0290967 0.0301 0.0371233 0.0311033 0.0351167 0.0230767 -0.0381267 0.0250833 0.0311033 0.03311 0.0351167 0.0351167 0.03311 0.0321067 -0.0311033 0.0351167 0.0250833 0.03311 0.0290967 0.0130433 0.0341133 0.0411367 -0.0301 0.0321067 0.0301 0.0381267 0.0290967 0.0301 0.03913 0.02408 -0.0260867 0.0230767 0.0371233 0.0341133 0.02709 0.0290967 0.03913 0.0311033 -0.0381267 0.0401333 0.02709 0.0280933 0.04214 0.0311033 0.03913 0.0371233 -0.0341133 0.0321067 0.0371233 0.03311 0.0280933 0.02709 0.0351167 0.0301 -0.0341133 0.0351167 0.0381267 0.0301 0.02709 0.04515 0.03311 0.02107 -0.0301 0.0290967 0.03913 0.0301 0.03311 0.0341133 0.0351167 0.0411367 -0.0260867 0.0260867 0.0381267 0.0301 0.0160533 0.02107 0.0200667 0.0321067 -0.0301 0.0130433 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0280933 -0.0591967 0.03612 0.02709 0.0160533 0.0130433 0.0250833 0.01505 0.0321067 -0.0290967 0.02709 0.0230767 0.02107 0.0280933 0.0190633 0.0301 0.0371233 -0.0321067 0.0280933 0.0371233 0.0301 0.0351167 0.03311 0.0381267 0.0301 -0.0260867 0.0381267 0.0250833 0.0260867 0.0301 0.0411367 0.0351167 0.0280933 -0.0341133 0.0301 0.0321067 0.0401333 0.0321067 0.0371233 0.0351167 0.0260867 -0.0290967 0.02408 0.0321067 0.0321067 0.03311 0.0280933 0.0280933 0.0280933 -0.0321067 0.0250833 0.0461533 0.01806 0.0321067 0.0311033 0.0280933 0.0351167 -0.0290967 0.0381267 0.0230767 0.04214 0.0260867 0.0351167 0.02709 0.0321067 -0.03913 0.0220733 0.0321067 0.0280933 0.03612 0.0381267 0.02408 0.03311 -0.0321067 0.02709 0.02709 0.03311 0.0411367 0.0351167 0.0290967 0.0301 -0.0371233 0.0381267 0.0341133 0.03612 0.0250833 0.02107 0.0401333 0.0371233 -0.0311033 0.03612 0.02408 0.03311 0.0311033 0.03913 0.0290967 0.03311 -0.0351167 0.02408 0.0351167 0.0321067 0.0301 0.0351167 0.0280933 0.0401333 -0.03612 0.03913 0.02709 0.0280933 0.0351167 0.0220733 0.03311 0.0301 -0.03612 0.0311033 0.0351167 0.0351167 0.0351167 0.0260867 0.0371233 0.03311 -0.0311033 0.0311033 0.0401333 0.0341133 0.03311 0.0220733 0.02408 0.0321067 -0.0301 0.0311033 0.0311033 0.0301 0.0381267 0.02709 0.0280933 0.0311033 -0.0341133 0.0351167 0.03612 0.03311 0.0311033 0.0280933 0.0341133 0.0301 -0.0311033 0.0250833 0.0381267 0.0431433 0.0260867 0.0250833 0.0381267 0.03311 -0.03311 0.0260867 0.0301 0.03612 0.04214 0.0351167 0.0371233 0.0260867 -0.0280933 0.0190633 0.0190633 0.0250833 0.0321067 0.0200667 0.0280933 0.0341133 -0.0280933 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.00602 0.06321 0.0591967 0.0341133 0.0321067 0.0110367 0.0160533 0.0230767 -0.02408 0.0290967 0.0260867 0.0190633 0.0290967 0.0311033 0.0301 0.0301 -0.03311 0.0290967 0.0250833 0.0260867 0.0381267 0.02709 0.0290967 0.0341133 -0.0381267 0.0341133 0.0280933 0.0260867 0.0341133 0.0301 0.02408 0.0301 -0.03612 0.0321067 0.0290967 0.0290967 0.0381267 0.0301 0.0321067 0.0311033 -0.0401333 0.0301 0.0321067 0.03913 0.0311033 0.0260867 0.0260867 0.0301 -0.0301 0.04214 0.0280933 0.02408 0.03311 0.0341133 0.0290967 0.0301 -0.0351167 0.03612 0.0260867 0.0351167 0.0341133 0.0301 0.03612 0.03311 -0.0301 0.0290967 0.0321067 0.03913 0.0401333 0.0280933 0.02709 0.0381267 -0.03913 0.0280933 0.03913 0.03311 0.0321067 0.0371233 0.0351167 0.0301 -0.03913 0.0301 0.03913 0.03311 0.0280933 0.0290967 0.0341133 0.0321067 -0.0280933 0.03913 0.0321067 0.0351167 0.0321067 0.0351167 0.0321067 0.02709 -0.03612 0.0280933 0.0351167 0.02709 0.02107 0.04214 0.0301 0.0321067 -0.0290967 0.0381267 0.0351167 0.0250833 0.0301 0.0290967 0.03612 0.0321067 -0.02709 0.03311 0.0341133 0.0301 0.0371233 0.0351167 0.0431433 0.0341133 -0.0311033 0.01806 0.0260867 0.03913 0.0280933 0.0321067 0.0250833 0.02709 -0.0290967 0.0381267 0.03612 0.0200667 0.0351167 0.0311033 0.0371233 0.02107 -0.0301 0.0411367 0.0321067 0.0311033 0.0311033 0.0301 0.0441467 0.03612 -0.0301 0.02107 0.03612 0.0321067 0.0341133 0.0371233 0.02709 0.02709 -0.04214 0.0321067 0.0190633 0.0260867 0.03311 0.03311 0.02709 0.0411367 -0.0321067 0.0301 0.02408 0.0140467 0.0260867 0.02709 0.0521733 0.05418 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00903 0.0471567 0.04515 0.0290967 0.0200667 0.0170567 -0.01806 0.01505 0.0190633 0.0280933 0.0341133 0.0290967 0.0321067 0.0190633 -0.0250833 0.0260867 0.02408 0.0311033 0.0220733 0.0220733 0.0230767 0.0260867 -0.03612 0.03311 0.0280933 0.0401333 0.0321067 0.0250833 0.0250833 0.0301 -0.0321067 0.0411367 0.0321067 0.0431433 0.0301 0.0280933 0.03612 0.0321067 -0.03311 0.0290967 0.03311 0.0341133 0.0260867 0.02408 0.0311033 0.0351167 -0.0371233 0.0381267 0.0250833 0.03913 0.0301 0.0341133 0.0311033 0.0321067 -0.0351167 0.0250833 0.02709 0.0321067 0.0321067 0.0250833 0.0381267 0.0341133 -0.03311 0.0341133 0.03612 0.0301 0.03311 0.0280933 0.0351167 0.0351167 -0.0401333 0.0260867 0.0321067 0.0220733 0.03311 0.04214 0.03311 0.0311033 -0.0431433 0.0301 0.02709 0.03311 0.0341133 0.03913 0.0280933 0.0321067 -0.0290967 0.04214 0.0341133 0.0341133 0.0381267 0.03311 0.0311033 0.03311 -0.0411367 0.03612 0.0401333 0.0280933 0.0290967 0.0250833 0.0441467 0.0381267 -0.0351167 0.0230767 0.0381267 0.0280933 0.0381267 0.0230767 0.02408 0.0411367 -0.02709 0.03311 0.03913 0.0230767 0.0341133 0.0230767 0.0311033 0.0471567 -0.0311033 0.03311 0.0250833 0.0321067 0.0311033 0.0381267 0.0401333 0.0341133 -0.0280933 0.0280933 0.0311033 0.03311 0.0311033 0.0321067 0.0351167 0.0230767 -0.0230767 0.0351167 0.03311 0.0351167 0.02709 0.02709 0.0351167 0.0411367 -0.02709 0.0311033 0.0200667 0.0321067 0.02709 0.02709 0.0311033 0.0311033 -0.0290967 0.0260867 0.0190633 0.01505 0.02709 0.0411367 0.0280933 0.0260867 -0.0341133 0.0250833 0.0280933 0.0351167 0.04214 0.0882933 0.05117 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.00100333 0.0441467 0.0682267 0.0381267 -0.02107 0.0230767 0.02107 0.02709 0.0321067 0.0250833 0.02709 0.02107 -0.03311 0.0301 0.0260867 0.02709 0.02107 0.0250833 0.0280933 0.0351167 -0.0341133 0.0160533 0.0371233 0.0250833 0.0250833 0.0280933 0.0250833 0.03612 -0.0381267 0.03612 0.0311033 0.0441467 0.01806 0.0411367 0.03913 0.0280933 -0.03612 0.02709 0.0341133 0.03913 0.0220733 0.0341133 0.0381267 0.0341133 -0.0301 0.0341133 0.0341133 0.0351167 0.0260867 0.03913 0.0290967 0.0280933 -0.03913 0.0140467 0.0381267 0.0381267 0.0290967 0.0290967 0.0311033 0.0290967 -0.0411367 0.0321067 0.02709 0.0190633 0.03913 0.0290967 0.03311 0.03612 -0.0351167 0.0311033 0.0260867 0.0250833 0.03612 0.04515 0.0411367 0.02107 -0.0371233 0.0341133 0.0301 0.03913 0.0301 0.03311 0.0341133 0.03612 -0.0311033 0.0381267 0.0301 0.0351167 0.0321067 0.0351167 0.0321067 0.0351167 -0.0290967 0.03612 0.03612 0.0301 0.0260867 0.0301 0.0341133 0.0411367 -0.0250833 0.0351167 0.02408 0.0280933 0.03913 0.0351167 0.0290967 0.0321067 -0.0381267 0.0220733 0.03913 0.0401333 0.03612 0.0230767 0.0311033 0.04214 -0.0351167 0.0341133 0.02408 0.0260867 0.0341133 0.0230767 0.0280933 0.0411367 -0.0321067 0.0311033 0.0371233 0.0250833 0.03612 0.0311033 0.03612 0.0301 -0.0311033 0.02709 0.0351167 0.0311033 0.0351167 0.02709 0.0280933 0.0371233 -0.0280933 0.0301 0.02709 0.0290967 0.0230767 0.0321067 0.0140467 0.0351167 -0.0381267 0.0311033 0.02709 0.0230767 0.0260867 0.02107 0.0301 0.0301 -0.0301 0.0290967 0.04515 0.07525 0.0602 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0381267 -0.05117 0.0381267 0.03311 0.0260867 0.02107 0.0230767 0.0260867 0.02709 -0.0321067 0.02408 0.02709 0.01806 0.02107 0.0260867 0.0341133 0.0411367 -0.0290967 0.0280933 0.02709 0.0190633 0.0200667 0.03612 0.0341133 0.03311 -0.0290967 0.0230767 0.0260867 0.0341133 0.0260867 0.0431433 0.0250833 0.02709 -0.0301 0.0321067 0.0381267 0.03311 0.0321067 0.0190633 0.02408 0.02107 -0.0341133 0.0311033 0.0311033 0.0321067 0.0371233 0.0301 0.0341133 0.0351167 -0.0290967 0.02107 0.0411367 0.03311 0.0381267 0.0311033 0.02107 0.0311033 -0.0441467 0.0220733 0.0250833 0.0321067 0.0321067 0.0321067 0.0311033 0.02709 -0.0290967 0.02709 0.0341133 0.0290967 0.0311033 0.0371233 0.03612 0.03913 -0.0160533 0.0321067 0.0301 0.02709 0.0290967 0.03913 0.0230767 0.03913 -0.0311033 0.03311 0.0411367 0.0341133 0.03311 0.03311 0.03311 0.0371233 -0.0290967 0.0341133 0.0351167 0.0280933 0.0341133 0.0290967 0.0290967 0.0441467 -0.0220733 0.0411367 0.0321067 0.0301 0.0321067 0.03612 0.03311 0.03913 -0.02709 0.0381267 0.02408 0.0381267 0.0341133 0.0250833 0.0220733 0.0321067 -0.0301 0.0341133 0.03311 0.0301 0.0301 0.0341133 0.0341133 0.0250833 -0.03311 0.0371233 0.03612 0.0351167 0.02408 0.0341133 0.0431433 0.0290967 -0.0321067 0.0311033 0.02107 0.0351167 0.02408 0.02709 0.0311033 0.0311033 -0.0321067 0.0321067 0.03311 0.0290967 0.0230767 0.0371233 0.0220733 0.0200667 -0.0371233 0.03311 0.0321067 0.0220733 0.02408 0.0290967 0.0220733 0.0290967 -0.0521733 0.07826 0.04816 0.01204 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0260867 0.00301 0 -0 0.0260867 0.0521733 0.0411367 0.0290967 0.0230767 0.0140467 0.01806 -0.0301 0.0190633 0.0200667 0.0220733 0.0260867 0.0351167 0.0401333 0.02408 -0.0341133 0.0290967 0.0220733 0.0290967 0.0351167 0.0431433 0.0190633 0.0311033 -0.03913 0.0230767 0.03311 0.0381267 0.0250833 0.02709 0.0311033 0.01806 -0.0431433 0.0220733 0.0351167 0.0351167 0.0381267 0.0280933 0.03311 0.0290967 -0.0371233 0.0381267 0.0341133 0.0341133 0.0411367 0.0301 0.0371233 0.0230767 -0.03311 0.0431433 0.04816 0.0311033 0.03612 0.0250833 0.04214 0.0381267 -0.0341133 0.0280933 0.0230767 0.0411367 0.0351167 0.03612 0.0311033 0.0290967 -0.0311033 0.0311033 0.0401333 0.0280933 0.03311 0.0341133 0.0381267 0.0321067 -0.03311 0.0381267 0.0321067 0.0301 0.0311033 0.0351167 0.0311033 0.03913 -0.0250833 0.0290967 0.03612 0.0381267 0.0250833 0.0280933 0.03913 0.0371233 -0.0280933 0.02709 0.0351167 0.0381267 0.0341133 0.0311033 0.0371233 0.03612 -0.0341133 0.0371233 0.0250833 0.0290967 0.0371233 0.0301 0.0280933 0.0441467 -0.0290967 0.0311033 0.0371233 0.0321067 0.03612 0.0290967 0.0280933 0.0301 -0.03612 0.0220733 0.03311 0.0321067 0.0311033 0.02709 0.0371233 0.0311033 -0.0280933 0.0260867 0.0351167 0.0341133 0.0311033 0.0280933 0.0351167 0.0341133 -0.0341133 0.0311033 0.0321067 0.03311 0.02107 0.0341133 0.0311033 0.0311033 -0.0321067 0.0371233 0.0351167 0.0290967 0.0290967 0.0341133 0.03311 0.0230767 -0.02107 0.02709 0.0301 0.02107 0.0250833 0.0431433 0.0712367 0.0712367 -0.0250833 0.00501667 0.00200667 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.2709 0.19264 -0.03311 0 0 0.00802667 0.0461533 0.0602 0.0491633 0.0230767 -0.0130433 0.0190633 0.0200667 0.0351167 0.03311 0.03612 0.02107 0.0260867 -0.03311 0.0110367 0.0230767 0.0431433 0.0351167 0.0260867 0.0200667 0.0371233 -0.0381267 0.03311 0.0260867 0.03311 0.0280933 0.0341133 0.0220733 0.0311033 -0.02709 0.02709 0.0341133 0.0341133 0.0341133 0.02107 0.0371233 0.0250833 -0.03612 0.0311033 0.0301 0.0260867 0.03311 0.02709 0.0250833 0.0371233 -0.0260867 0.03612 0.0371233 0.0250833 0.0280933 0.03913 0.0381267 0.0280933 -0.0411367 0.0250833 0.0321067 0.04515 0.0290967 0.0341133 0.02709 0.0321067 -0.0341133 0.0260867 0.0341133 0.0250833 0.03612 0.0371233 0.0321067 0.0321067 -0.0260867 0.0290967 0.03913 0.0290967 0.0290967 0.03913 0.0351167 0.0301 -0.0280933 0.0431433 0.0290967 0.03913 0.03913 0.0260867 0.0381267 0.0351167 -0.02709 0.0321067 0.03311 0.02709 0.02709 0.0341133 0.0321067 0.03311 -0.0311033 0.0371233 0.0311033 0.03311 0.03311 0.02408 0.0200667 0.04214 -0.03311 0.0301 0.03311 0.0341133 0.0321067 0.0290967 0.03612 0.0321067 -0.0411367 0.0280933 0.0401333 0.03612 0.0321067 0.03311 0.03612 0.03311 -0.0260867 0.02709 0.0311033 0.0341133 0.0371233 0.0200667 0.0290967 0.0301 -0.03311 0.0321067 0.0311033 0.0341133 0.0280933 0.0321067 0.0250833 0.0351167 -0.0260867 0.0321067 0.0351167 0.02107 0.0230767 0.0290967 0.0230767 0.0290967 -0.0190633 0.0200667 0.0290967 0.0461533 0.06923 0.0501667 0.0140467 0 -0.02709 0.00702333 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.172573 -0.670264 0.15351 0 0 0 0.03913 0.286953 0.229763 -0.0882933 0.0351167 0.0250833 0.02107 0.0200667 0.0290967 0.0220733 0.0250833 -0.0200667 0.0170567 0.03311 0.0311033 0.0220733 0.0260867 0.0341133 0.0381267 -0.0311033 0.0321067 0.0351167 0.0250833 0.02709 0.0321067 0.0301 0.0381267 -0.0381267 0.0311033 0.0190633 0.0260867 0.02107 0.03311 0.04214 0.0341133 -0.03612 0.03311 0.0411367 0.0351167 0.03612 0.0260867 0.0280933 0.03311 -0.02709 0.03311 0.0280933 0.0290967 0.0290967 0.0381267 0.02408 0.0311033 -0.0311033 0.02709 0.0381267 0.0351167 0.03311 0.0341133 0.03913 0.0351167 -0.0351167 0.03311 0.0351167 0.0321067 0.03913 0.0371233 0.0301 0.0311033 -0.03311 0.0301 0.03612 0.0280933 0.0301 0.03913 0.0401333 0.0290967 -0.0280933 0.0371233 0.0321067 0.02107 0.0341133 0.0401333 0.02709 0.0250833 -0.0411367 0.0301 0.0301 0.0260867 0.03612 0.03311 0.0381267 0.0411367 -0.0341133 0.0311033 0.0401333 0.0311033 0.02709 0.0321067 0.02709 0.0341133 -0.0321067 0.0341133 0.0321067 0.03311 0.02709 0.0321067 0.0321067 0.03913 -0.0230767 0.0301 0.03612 0.0321067 0.0301 0.0250833 0.04214 0.02709 -0.02408 0.0311033 0.0260867 0.0381267 0.0260867 0.0190633 0.0371233 0.0351167 -0.0290967 0.0250833 0.0351167 0.02107 0.0290967 0.0351167 0.0190633 0.0220733 -0.02107 0.0250833 0.0371233 0.0311033 0.0190633 0.0260867 0.0301 0.0200667 -0.0341133 0.0832767 0.0792633 0.0441467 0 0 0 0.05418 -0.0100333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0.290967 0.747544 0.617456 0.20769 0.0280933 0 0.0591967 0.191637 -0.330097 0.286953 0.136453 0.0501667 0.02709 0.0140467 0.0160533 0.0100333 -0.0200667 0.02408 0.0311033 0.02408 0.0190633 0.0311033 0.0341133 0.0260867 -0.02709 0.0290967 0.0230767 0.03311 0.0301 0.0290967 0.0411367 0.0371233 -0.02408 0.0321067 0.0301 0.0230767 0.0341133 0.0321067 0.0250833 0.03311 -0.02709 0.0371233 0.03311 0.0301 0.0341133 0.0311033 0.0260867 0.03913 -0.0341133 0.0301 0.0401333 0.03612 0.0250833 0.0351167 0.03612 0.02709 -0.02408 0.0341133 0.0411367 0.0290967 0.0411367 0.0260867 0.0341133 0.03913 -0.0280933 0.0290967 0.03311 0.03612 0.03913 0.0301 0.0280933 0.03612 -0.0461533 0.03612 0.0351167 0.0301 0.0301 0.03913 0.0290967 0.03311 -0.02408 0.0381267 0.03311 0.0301 0.03311 0.0321067 0.0321067 0.0351167 -0.0290967 0.0321067 0.0311033 0.02709 0.0341133 0.0200667 0.03311 0.0381267 -0.0290967 0.03311 0.0411367 0.0341133 0.0280933 0.0311033 0.0311033 0.03311 -0.0321067 0.0321067 0.0321067 0.0371233 0.02709 0.0371233 0.0290967 0.0411367 -0.0280933 0.0200667 0.0290967 0.03311 0.02408 0.0290967 0.0471567 0.0250833 -0.0280933 0.0311033 0.0280933 0.03913 0.03311 0.0230767 0.0230767 0.0321067 -0.04515 0.0290967 0.03612 0.0190633 0.0170567 0.0290967 0.0260867 0.0321067 -0.02408 0.0130433 0.02107 0.03913 0.0190633 0.0170567 0.0581933 0.191637 -0.318057 0.211703 0.0100333 0 0.01204 0.12642 0.209697 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.618744 1.0918 0.900816 0.395313 0.101337 0.0220733 -0.0341133 0.14147 0.27692 0.31003 0.202673 0.0892967 0.0351167 0.00802667 -0.0200667 0.01806 0.0200667 0.0230767 0.0250833 0.0341133 0.0200667 0.02408 -0.0290967 0.0260867 0.0250833 0.0250833 0.0401333 0.0290967 0.0341133 0.0321067 -0.0301 0.0301 0.02408 0.0290967 0.03612 0.04214 0.0280933 0.0381267 -0.0290967 0.02709 0.0230767 0.0311033 0.0311033 0.03311 0.01806 0.0290967 -0.03612 0.0250833 0.03311 0.03612 0.0301 0.0301 0.0381267 0.0280933 -0.0260867 0.0381267 0.0431433 0.0301 0.02408 0.0260867 0.0311033 0.0371233 -0.0280933 0.0301 0.0371233 0.03913 0.03913 0.0250833 0.0351167 0.03311 -0.0341133 0.0290967 0.03612 0.0341133 0.0290967 0.03612 0.03612 0.0381267 -0.0321067 0.0280933 0.0290967 0.0341133 0.0280933 0.03612 0.02709 0.04515 -0.0321067 0.0371233 0.0351167 0.0311033 0.0431433 0.0301 0.0311033 0.0411367 -0.0341133 0.0341133 0.0341133 0.0301 0.03311 0.0371233 0.0280933 0.0341133 -0.0290967 0.0371233 0.0290967 0.03913 0.0290967 0.0220733 0.0351167 0.0351167 -0.0321067 0.02408 0.02709 0.03913 0.0290967 0.0260867 0.03612 0.02709 -0.0290967 0.0351167 0.03612 0.0250833 0.0311033 0.0301 0.0220733 0.0311033 -0.0260867 0.0381267 0.0311033 0.0301 0.0260867 0.02107 0.02408 0.0250833 -0.0220733 0.0190633 0.0100333 0.0401333 0.125417 0.25585 0.34314 0.269897 -0.0973233 0.0220733 0.0491633 0.247823 0.667688 0.40334 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.191637 0.948764 1.09705 1.02789 0.632912 -0.25886 0.0702333 0.0260867 0.0832767 0.199663 0.315047 0.298993 0.167557 -0.0622067 0.0301 0.0260867 0.0230767 0.0200667 0.0220733 0.0200667 0.0260867 -0.0230767 0.0321067 0.0220733 0.03311 0.03311 0.0170567 0.0341133 0.0220733 -0.0321067 0.02709 0.03311 0.0290967 0.03311 0.03913 0.0290967 0.0301 -0.0381267 0.0170567 0.04214 0.0280933 0.0321067 0.0321067 0.0290967 0.0341133 -0.0401333 0.0230767 0.0321067 0.0301 0.02709 0.0371233 0.0301 0.0230767 -0.03311 0.0351167 0.04214 0.0260867 0.0321067 0.0260867 0.0301 0.0371233 -0.0371233 0.0260867 0.0311033 0.0311033 0.03612 0.0301 0.0321067 0.0381267 -0.0311033 0.0311033 0.0321067 0.0341133 0.02709 0.0351167 0.0260867 0.0280933 -0.0411367 0.0250833 0.03311 0.0371233 0.02107 0.0371233 0.03913 0.0411367 -0.0351167 0.02709 0.03612 0.0311033 0.0290967 0.02709 0.0371233 0.0341133 -0.0321067 0.03612 0.03612 0.0280933 0.02709 0.0371233 0.0371233 0.0260867 -0.0290967 0.0351167 0.03311 0.0321067 0.0260867 0.0290967 0.0311033 0.0260867 -0.0401333 0.03311 0.02408 0.0371233 0.0371233 0.0250833 0.03913 0.02709 -0.0290967 0.0290967 0.0341133 0.03311 0.0321067 0.0301 0.0260867 0.01505 -0.0301 0.02709 0.02408 0.0341133 0.0160533 0.0220733 0.0160533 0.0140467 -0.03913 0.07525 0.202673 0.317053 0.31304 0.197657 0.0762533 0.05719 -0.152507 0.4515 0.952388 0.943328 0.31003 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.245817 0.668976 1.03816 -1.09215 0.953596 0.49063 0.188627 0.04816 0.0401333 0.11739 0.26187 -0.32809 0.272907 0.14749 0.0521733 0.02709 0.02107 0.0220733 0.02709 -0.0250833 0.0220733 0.0220733 0.03913 0.01505 0.0250833 0.0321067 0.0200667 -0.0280933 0.02107 0.0351167 0.0250833 0.03913 0.03612 0.03913 0.0381267 -0.0280933 0.0230767 0.0301 0.0260867 0.0321067 0.0301 0.0280933 0.0311033 -0.03311 0.0411367 0.0301 0.0431433 0.0290967 0.03311 0.0290967 0.0290967 -0.0381267 0.0371233 0.03913 0.0321067 0.0260867 0.0280933 0.0371233 0.0341133 -0.0341133 0.0250833 0.0381267 0.03913 0.0321067 0.03311 0.0381267 0.0301 -0.02408 0.04214 0.03913 0.0290967 0.0371233 0.0321067 0.02408 0.0341133 -0.03913 0.0290967 0.0321067 0.02408 0.0381267 0.0341133 0.0341133 0.0280933 -0.03913 0.0280933 0.0371233 0.03311 0.0290967 0.0290967 0.0260867 0.0351167 -0.02107 0.03311 0.0401333 0.0301 0.02709 0.03311 0.0260867 0.0401333 -0.0190633 0.0311033 0.0311033 0.0371233 0.02709 0.0301 0.0351167 0.02107 -0.03913 0.0341133 0.0260867 0.0311033 0.03612 0.0301 0.0351167 0.02709 -0.0321067 0.0190633 0.03311 0.0280933 0.0311033 0.0301 0.0280933 0.02107 -0.0140467 0.0321067 0.02408 0.0260867 0.02408 0.0160533 0.0612033 0.18361 -0.309027 0.33411 0.235783 0.104347 0.0551833 0.1204 0.347153 0.770728 -1.07815 1.09495 0.572903 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.122407 -0.39732 0.842856 1.06956 1.0764 0.871192 0.43946 0.16856 0.06321 -0.0581933 0.155517 0.283943 0.323073 0.253843 0.119397 0.0441467 0.0130433 -0.0160533 0.0230767 0.0220733 0.0200667 0.0190633 0.0311033 0.02408 0.02408 -0.0351167 0.0200667 0.0341133 0.0220733 0.03913 0.02709 0.0351167 0.0280933 -0.0250833 0.0290967 0.0301 0.0200667 0.0351167 0.02709 0.03311 0.02709 -0.0351167 0.0260867 0.0321067 0.02709 0.0321067 0.0250833 0.03311 0.0130433 -0.0280933 0.0431433 0.03612 0.02408 0.02709 0.04214 0.0341133 0.03311 -0.0280933 0.03311 0.0311033 0.0230767 0.0280933 0.0260867 0.0381267 0.0230767 -0.0260867 0.04515 0.0260867 0.0311033 0.0401333 0.03311 0.0301 0.0301 -0.0301 0.0311033 0.0200667 0.03311 0.0301 0.03311 0.0290967 0.0260867 -0.02709 0.0341133 0.03311 0.0301 0.0301 0.0311033 0.0280933 0.0321067 -0.0280933 0.0280933 0.0351167 0.0321067 0.0280933 0.0260867 0.0301 0.0341133 -0.0260867 0.0230767 0.0341133 0.03612 0.03311 0.02107 0.0371233 0.0290967 -0.0301 0.0280933 0.02408 0.0301 0.0341133 0.0200667 0.0290967 0.02408 -0.0431433 0.02107 0.0280933 0.0250833 0.0230767 0.03311 0.0260867 0.0170567 -0.00802667 0.0230767 0.0250833 0.0672233 0.152507 0.269897 0.329093 0.266887 -0.14749 0.06923 0.11137 0.302003 0.661248 1.01279 1.0918 0.977152 -0.515713 0.10234 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0602 0.199663 0.479593 0.914984 1.08445 1.07077 0.87248 -0.453507 0.1806 0.0581933 0.0822733 0.164547 0.281937 0.32508 0.253843 -0.131437 0.04214 0.0170567 0.0190633 0.02107 0.0260867 0.00903 0.0341133 -0.02107 0.0230767 0.0280933 0.0381267 0.03612 0.0321067 0.03311 0.02107 -0.0220733 0.0321067 0.0371233 0.02107 0.0371233 0.0341133 0.0280933 0.0250833 -0.0290967 0.0351167 0.0280933 0.02408 0.0311033 0.03913 0.03311 0.02107 -0.0311033 0.0411367 0.02709 0.03311 0.0280933 0.0311033 0.0321067 0.0280933 -0.0301 0.03612 0.02709 0.0290967 0.0321067 0.0311033 0.0301 0.0351167 -0.0290967 0.0341133 0.0301 0.0401333 0.0301 0.0311033 0.0321067 0.03612 -0.03311 0.0290967 0.0280933 0.0341133 0.0301 0.03311 0.0311033 0.0311033 -0.0290967 0.03311 0.0260867 0.03612 0.0321067 0.0301 0.02408 0.0341133 -0.0220733 0.0341133 0.03311 0.0230767 0.0351167 0.0341133 0.0260867 0.0250833 -0.0301 0.0321067 0.0321067 0.0341133 0.0301 0.0381267 0.02709 0.0371233 -0.02709 0.0260867 0.0311033 0.0280933 0.02709 0.02107 0.02709 0.0230767 -0.0230767 0.02709 0.02107 0.0220733 0.01505 0.02107 0.0280933 0.02709 -0.0622067 0.160533 0.272907 0.345147 0.271903 0.145483 0.08428 0.125417 -0.309027 0.641928 0.99346 1.0841 1.00494 0.6342 0.287957 0.0311033 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.00903 0.0401333 0.0852833 0.22876 0.50869 0.935476 -1.0813 1.0792 0.934872 0.50568 0.226753 0.0882933 0.0923067 0.17759 -0.286953 0.33712 0.245817 0.12341 0.0471567 0.02107 0.0220733 0.0220733 -0.01806 0.0321067 0.0301 0.0220733 0.0280933 0.0250833 0.0280933 0.0220733 -0.0260867 0.0280933 0.0311033 0.0290967 0.0401333 0.0301 0.0321067 0.0220733 -0.03612 0.0301 0.0341133 0.0321067 0.0401333 0.0290967 0.0341133 0.02408 -0.03311 0.0341133 0.02709 0.0321067 0.02709 0.0311033 0.0280933 0.0290967 -0.0351167 0.0351167 0.03913 0.0230767 0.0230767 0.0321067 0.0321067 0.0321067 -0.0290967 0.0311033 0.0351167 0.0351167 0.02408 0.0250833 0.0351167 0.03311 -0.0290967 0.0301 0.02709 0.0381267 0.0321067 0.0321067 0.02709 0.0280933 -0.03612 0.0250833 0.0230767 0.03311 0.0301 0.0351167 0.0311033 0.0341133 -0.0280933 0.03612 0.0290967 0.02709 0.0280933 0.04515 0.01806 0.0290967 -0.0260867 0.0321067 0.0301 0.0311033 0.02107 0.0301 0.02107 0.02408 -0.0290967 0.0280933 0.0301 0.0250833 0.0280933 0.0200667 0.0230767 0.0170567 -0.02408 0.0200667 0.0170567 0.0260867 0.0351167 0.0702333 0.18963 0.28595 -0.330097 0.25886 0.158527 0.0953167 0.154513 0.359193 0.703752 1.01581 -1.08375 1.00614 0.649656 0.330097 0.133443 0.0190633 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0130433 0.0441467 0.0642133 0.0913033 -0.205683 0.480597 0.895664 1.0778 1.09915 0.98742 0.6342 0.321067 -0.13244 0.10535 0.19565 0.308023 0.33411 0.13846 0.0521733 0.03612 -0.0311033 0.03612 0.01505 0.0230767 0.01806 0.0250833 0.0250833 0.0190633 -0.02408 0.0260867 0.0250833 0.0200667 0.0301 0.03311 0.01806 0.0280933 -0.03612 0.0280933 0.01806 0.0311033 0.0280933 0.0371233 0.02709 0.0170567 -0.0250833 0.0260867 0.02709 0.0311033 0.0401333 0.0260867 0.02408 0.03311 -0.0311033 0.0321067 0.0250833 0.0321067 0.02709 0.03311 0.0290967 0.0341133 -0.0200667 0.0280933 0.0341133 0.0301 0.0260867 0.02709 0.0381267 0.02709 -0.0230767 0.0321067 0.0341133 0.0301 0.0260867 0.03311 0.0321067 0.03612 -0.0431433 0.02107 0.0280933 0.0341133 0.0280933 0.03612 0.0250833 0.0381267 -0.0280933 0.0311033 0.0341133 0.0260867 0.0260867 0.03913 0.0260867 0.03311 -0.0280933 0.0381267 0.03311 0.0311033 0.02408 0.0280933 0.0341133 0.03311 -0.0230767 0.03311 0.0321067 0.0130433 0.0321067 0.02107 0.0250833 0.0200667 -0.0321067 0.03612 0.0913033 0.208693 0.309027 0.327087 0.260867 0.15351 -0.1204 0.218727 0.468557 0.867328 1.06594 1.09005 0.977756 0.620032 -0.312037 0.136453 0.0702333 0.0230767 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.00602 0.03913 0.04515 -0.0521733 0.0622067 0.0832767 0.178593 0.3913 0.774592 1.04238 1.1079 -1.06956 0.896952 0.49966 0.254847 0.12642 0.0682267 0.00301 0.0200667 -0.0431433 0.0591967 0.03913 0.03612 0.0321067 0.0280933 0.0200667 0.0170567 -0.0170567 0.0170567 0.02709 0.02709 0.0260867 0.0341133 0.0170567 0.0260867 -0.0260867 0.0260867 0.0170567 0.0260867 0.0301 0.02709 0.03311 0.0321067 -0.0371233 0.0290967 0.02709 0.0301 0.04515 0.02408 0.02408 0.0401333 -0.0280933 0.03612 0.0301 0.02107 0.03311 0.02709 0.0290967 0.0290967 -0.0301 0.0341133 0.0301 0.02408 0.0280933 0.0301 0.0351167 0.02408 -0.03311 0.0301 0.0301 0.0321067 0.0200667 0.03311 0.03612 0.0280933 -0.0411367 0.0311033 0.0230767 0.03311 0.0311033 0.0280933 0.03311 0.0351167 -0.0260867 0.0290967 0.0311033 0.0170567 0.0311033 0.0311033 0.0280933 0.0311033 -0.02107 0.0301 0.0260867 0.01204 0.0160533 0.0220733 0.02408 0.0230767 -0.02107 0.02709 0.0250833 0.02709 0.0220733 0.0341133 0.0471567 0.0551833 -0.0702333 0.0622067 0.203677 0.21973 0.16254 0.187623 0.371233 0.671552 -0.99648 1.0974 1.0799 0.928832 0.54782 0.251837 0.113377 0.07525 -0.0591967 0.02107 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00602 -0.0521733 0.0561867 0.0591967 0.0612033 0.0591967 0.04816 0.1204 0.275917 -0.57491 0.96326 1.096 1.1156 1.0454 0.792624 0.44849 0.217723 -0.06923 0.00602 0.00903 0.0250833 0.05719 0.0591967 0.0401333 0.03913 -0.0260867 0.02408 0.02408 0.0230767 0.0230767 0.02408 0.0190633 0.02408 -0.0280933 0.02408 0.0190633 0.0200667 0.0381267 0.0170567 0.0250833 0.03311 -0.02408 0.01806 0.0301 0.02709 0.0321067 0.02709 0.0280933 0.0321067 -0.0301 0.0250833 0.0250833 0.0280933 0.03913 0.02709 0.02408 0.0301 -0.04214 0.0290967 0.0301 0.02709 0.0301 0.0311033 0.02709 0.0280933 -0.02408 0.0311033 0.0260867 0.0280933 0.02408 0.02408 0.0311033 0.0250833 -0.0341133 0.0250833 0.02408 0.0260867 0.0250833 0.03311 0.02408 0.0321067 -0.03311 0.0311033 0.0351167 0.02709 0.0280933 0.0230767 0.02408 0.0170567 -0.03311 0.0250833 0.0190633 0.0260867 0.02107 0.0170567 0.02408 0.01806 -0.0351167 0.03612 0.0351167 0.0612033 0.0531767 0.0531767 0.01806 0.0100333 -0.0381267 0.131437 0.321067 0.59899 0.961448 1.09355 1.1114 1.03514 -0.752696 0.393307 0.178593 0.0852833 0.07525 0.0682267 0.0491633 0.03913 -0.00301 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.0200667 0.0581933 0.0672233 0.05719 0.0642133 0.0712367 0.0431433 -0.04214 0.05719 0.158527 0.390297 0.70504 1.00977 1.1128 1.11525 -1.04903 0.850584 0.506683 0.26789 0.118393 0.0371233 0.0260867 0.0341133 -0.0531767 0.0672233 0.0431433 0.0371233 0.0321067 0.0220733 0.01806 0.0230767 -0.0230767 0.02408 0.0170567 0.0200667 0.0301 0.0160533 0.0250833 0.0200667 -0.02408 0.0220733 0.02408 0.0250833 0.0250833 0.0260867 0.0311033 0.0220733 -0.0250833 0.0220733 0.0321067 0.0250833 0.0230767 0.0250833 0.0280933 0.02408 -0.0280933 0.0311033 0.0280933 0.0250833 0.0321067 0.02107 0.0280933 0.0341133 -0.0341133 0.0290967 0.0280933 0.02408 0.0311033 0.0200667 0.0301 0.0170567 -0.03311 0.0290967 0.0311033 0.0220733 0.0311033 0.0160533 0.02408 0.0250833 -0.0190633 0.0230767 0.0190633 0.0160533 0.0230767 0.02408 0.0220733 0.02408 -0.02408 0.0280933 0.0130433 0.03311 0.0290967 0.0461533 0.0612033 0.0642133 -0.07224 0.0561867 0.0200667 0.0230767 0.0642133 0.181603 0.383273 0.668976 -0.977756 1.08935 1.11385 1.07319 0.90468 0.512703 0.24682 0.107357 -0.05719 0.0551833 0.0622067 0.0702333 0.05719 0.0581933 0.00903 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.02709 0.0622067 0.0672233 0.0712367 0.0702333 -0.0822733 0.0561867 0.05418 0.0341133 0.0301 0.0732433 0.19565 0.410363 -0.694736 0.998292 1.10055 1.12155 1.0939 0.99044 0.719208 0.426417 -0.24983 0.12341 0.0602 0.0501667 0.0521733 0.04816 0.0602 0.0441467 -0.0381267 0.02408 0.02107 0.0190633 0.0200667 0.02709 0.0170567 0.02107 -0.0200667 0.0130433 0.0230767 0.0230767 0.0220733 0.02107 0.0250833 0.0190633 -0.01505 0.02408 0.0230767 0.0220733 0.0301 0.0280933 0.02107 0.0260867 -0.0200667 0.0311033 0.0230767 0.0260867 0.02709 0.01806 0.02709 0.0280933 -0.0230767 0.0160533 0.02107 0.0200667 0.0230767 0.0200667 0.03612 0.0110367 -0.0250833 0.0200667 0.0230767 0.02107 0.03311 0.0170567 0.0160533 0.0341133 -0.01505 0.0200667 0.0260867 0.01806 0.0130433 0.0200667 0.01505 0.0250833 -0.04515 0.0531767 0.0642133 0.0732433 0.0612033 0.0732433 0.0612033 0.0802667 -0.16555 0.332103 0.551833 0.864752 1.04057 1.11665 1.1219 1.07138 -0.91756 0.537787 0.271903 0.110367 0.0441467 0.0381267 0.05418 0.0672233 -0.0742467 0.0672233 0.05418 0.0602 0.0200667 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0.0341133 0.0712367 0.0672233 -0.07826 0.07826 0.08428 0.0672233 0.0672233 0.0461533 0.0301 0.0301 -0.0250833 0.0822733 0.166553 0.342137 0.570897 0.882784 1.04299 1.10405 -1.11035 1.0904 0.986212 0.778456 0.52675 0.353173 0.220733 0.13846 -0.0983267 0.0802667 0.0802667 0.05719 0.0531767 0.0471567 0.0190633 0.0230767 -0.0170567 0.00903 0.02408 0.02408 0.0190633 0.0220733 0.02107 0.0190633 -0.0250833 0.0190633 0.0190633 0.0140467 0.0200667 0.0170567 0.0250833 0.0220733 -0.0230767 0.0260867 0.0160533 0.02408 0.0250833 0.00602 0.02709 0.0250833 -0.02107 0.0160533 0.0280933 0.0220733 0.0110367 0.0200667 0.0250833 0.0140467 -0.03612 0.0170567 0.02408 0.0160533 0.0230767 0.00702333 0.0160533 0.01806 -0.01806 0.0140467 0.0371233 0.03913 0.0551833 0.0732433 0.0712367 0.0943133 -0.0943133 0.113377 0.17157 0.262873 0.416383 0.636776 0.926416 1.06473 -1.1163 1.13485 1.10125 1.00554 0.764288 0.46956 0.257857 0.106353 -0.0401333 0.0230767 0.02709 0.0441467 0.0672233 0.0742467 0.0762533 0.0682267 -0.0702333 0.0772567 0.0321067 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00802667 -0.0581933 0.0762533 0.0762533 0.0862867 0.0923067 0.0762533 0.0682267 0.05719 -0.0471567 0.03913 0.0341133 0.03311 0.04515 0.06923 0.110367 0.214713 -0.3612 0.572903 0.837704 1.00312 1.0869 1.11735 1.11315 1.0834 -1.0001 0.889224 0.636776 0.468557 0.344143 0.260867 0.185617 0.145483 -0.109363 0.0892967 0.0852833 0.0622067 0.0401333 0.0311033 0.0260867 0.0250833 -0.02709 0.0170567 0.0170567 0.0200667 0.00702333 0.0230767 0.0110367 0.0200667 -0.0140467 0.0280933 0.01806 0.0140467 0.0190633 0.00802667 0.0230767 0.0190633 -0.0130433 0.01505 0.0220733 0.02107 0.00602 0.0160533 0.0140467 0.01806 -0.0220733 0.0220733 0.0311033 0.0381267 0.04515 0.0551833 0.0672233 0.0822733 -0.103343 0.12943 0.157523 0.211703 0.286953 0.407353 0.537787 0.723072 -0.940308 1.04178 1.09915 1.1226 1.12225 1.08865 0.9844 0.786184 -0.501667 0.31906 0.17759 0.08729 0.0471567 0.0260867 0.0351167 0.03612 -0.04515 0.0682267 0.0822733 0.07826 0.0772567 0.0672233 0.07826 0.0622067 -0.0110367 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.00903 0.0321067 0.0862867 0.08428 0.0862867 0.09331 0.0832767 -0.07224 0.0712367 0.05418 0.05117 0.04515 0.0441467 0.0401333 0.0531767 -0.0652167 0.0702333 0.0652167 0.110367 0.155517 0.27391 0.410363 0.57491 -0.802928 0.970508 1.05748 1.09915 1.1177 1.1191 1.09915 1.06352 -0.994668 0.920136 0.778456 0.64064 0.537787 0.450497 0.395313 0.3311 -0.280933 0.223743 0.18361 0.163543 0.131437 0.10836 0.10234 0.0923067 -0.0732433 0.0702333 0.06622 0.06923 0.0622067 0.06321 0.06923 0.0712367 -0.07525 0.0792633 0.104347 0.11137 0.122407 0.139463 0.15953 0.22876 -0.25886 0.315047 0.35518 0.41538 0.483607 0.56287 0.681856 0.8274 -0.951784 1.0146 1.0813 1.11 1.1261 1.12155 1.0981 1.04238 -0.944536 0.757848 0.542803 0.378257 0.247823 0.151503 0.08428 0.0672233 -0.0551833 0.0501667 0.0411367 0.03913 0.0431433 0.0471567 0.0622067 0.0792633 -0.0822733 0.0772567 0.0892967 0.0712367 0.08729 0.03311 0.0110367 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0381267 0.0602 0.0822733 0.0923067 -0.09933 0.08729 0.08428 0.0792633 0.0742467 0.0501667 0.05117 0.05719 -0.05719 0.05117 0.0602 0.06622 0.0642133 0.0762533 0.0642133 0.0642133 -0.0672233 0.0913033 0.137457 0.191637 0.27993 0.375247 0.500663 0.645792 -0.804216 0.947556 1.00916 1.06232 1.0897 1.1093 1.1149 1.1212 -1.11805 1.10755 1.09915 1.0904 1.0778 1.05567 1.0454 1.03091 -1.01098 0.998292 0.986212 0.988628 0.983796 0.985608 0.991648 0.997688 -1.00071 1.00977 1.03574 1.04359 1.0593 1.07745 1.08445 1.103 -1.11385 1.12225 1.12015 1.12155 1.1128 1.09215 1.05748 1.00433 -0.943328 0.791336 0.611016 0.488623 0.36421 0.24682 0.181603 0.1204 -0.0862867 0.06923 0.0642133 0.0591967 0.0672233 0.0561867 0.05117 0.0471567 -0.04816 0.05117 0.04816 0.0612033 0.0822733 0.08428 0.0903 0.0862867 -0.08729 0.0712367 0.0672233 0.0461533 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0.00802667 0.03612 -0.0892967 0.10234 0.109363 0.09933 0.0913033 0.0832767 0.0923067 0.0712367 -0.0642133 0.0622067 0.0551833 0.0602 0.0682267 0.07525 0.0702333 0.0822733 -0.0682267 0.0802667 0.06622 0.06321 0.0702333 0.0581933 0.06622 0.0551833 -0.0742467 0.08729 0.09933 0.127423 0.170567 0.217723 0.268893 0.338123 -0.40334 0.446483 0.506683 0.573907 0.636776 0.702464 0.753984 0.802928 -0.838992 0.862176 0.876344 0.905968 0.912408 0.924 0.909832 0.89824 -0.854448 0.8274 0.797776 0.744968 0.688296 0.618744 0.55986 0.49966 -0.447487 0.393307 0.312037 0.25886 0.227757 0.17458 0.133443 0.0973233 -0.08127 0.0642133 0.0591967 0.0622067 0.0682267 0.06923 0.07525 0.0672233 -0.07224 0.0742467 0.0702333 0.06923 0.0652167 0.0591967 0.0531767 0.05418 -0.0642133 0.07525 0.0943133 0.0862867 0.0943133 0.0983267 0.0862867 0.0903 -0.0351167 0.01204 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0.01204 0.0371233 0.101337 0.109363 0.104347 0.107357 0.0892967 -0.0953167 0.0852833 0.06923 0.0762533 0.0682267 0.0702333 0.0702333 0.07826 -0.0772567 0.09331 0.08127 0.08428 0.0852833 0.0742467 0.07826 0.0712367 -0.0772567 0.0702333 0.0742467 0.0702333 0.0732433 0.0652167 0.0702333 0.06622 -0.07224 0.0642133 0.0591967 0.0642133 0.0652167 0.0622067 0.06923 0.0742467 -0.0742467 0.0822733 0.0732433 0.0762533 0.0862867 0.08127 0.0712367 0.08428 -0.0672233 0.0762533 0.06923 0.0682267 0.0622067 0.0591967 0.0682267 0.0652167 -0.06622 0.07525 0.0702333 0.0652167 0.0682267 0.0642133 0.06923 0.06321 -0.07224 0.0772567 0.08428 0.0802667 0.08127 0.0802667 0.07826 0.07525 -0.08127 0.07826 0.0702333 0.0682267 0.0702333 0.0642133 0.08428 0.08428 -0.09933 0.09632 0.112373 0.0973233 0.0903 0.03612 0.00903 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0110367 0.0441467 0.11739 0.110367 -0.104347 0.09632 0.09632 0.0882933 0.08127 0.07525 0.0742467 0.07525 -0.0742467 0.0862867 0.0822733 0.08428 0.0882933 0.0903 0.0903 0.0862867 -0.0882933 0.0913033 0.08428 0.0852833 0.0742467 0.0742467 0.0903 0.0802667 -0.0832767 0.07826 0.0792633 0.0852833 0.0822733 0.06923 0.0762533 0.0732433 -0.0772567 0.07525 0.0642133 0.0762533 0.07525 0.0762533 0.07525 0.07826 -0.0712367 0.0802667 0.07826 0.08127 0.07826 0.0732433 0.0852833 0.08729 -0.0822733 0.07224 0.07525 0.0732433 0.0762533 0.0832767 0.0943133 0.08729 -0.08729 0.0923067 0.0923067 0.0832767 0.0802667 0.0862867 0.0802667 0.0762533 -0.07525 0.07525 0.0712367 0.07826 0.0903 0.09331 0.10535 0.100333 -0.113377 0.103343 0.0411367 0.00903 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.00802667 -0.0441467 0.08729 0.116387 0.10836 0.101337 0.0943133 0.08428 0.0852833 -0.0802667 0.0712367 0.0822733 0.0762533 0.0852833 0.0923067 0.0903 0.0953167 -0.09632 0.09933 0.0923067 0.09331 0.0852833 0.09331 0.09331 0.0882933 -0.0802667 0.0822733 0.0882933 0.0913033 0.0862867 0.0852833 0.0862867 0.0832767 -0.09331 0.0903 0.0832767 0.0852833 0.0852833 0.0892967 0.0913033 0.0852833 -0.0892967 0.0892967 0.0852833 0.0882933 0.08428 0.0762533 0.0822733 0.08127 -0.0903 0.0802667 0.0882933 0.09933 0.0953167 0.09632 0.10535 0.0862867 -0.0852833 0.0923067 0.0943133 0.0862867 0.08729 0.08428 0.07826 0.07525 -0.0772567 0.0832767 0.101337 0.11137 0.11438 0.11438 0.0772567 0.0431433 -0.00702333 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0.0471567 0.0491633 0.10836 0.109363 0.104347 -0.0923067 0.0862867 0.0923067 0.0792633 0.0862867 0.0822733 0.0903 0.0852833 -0.100333 0.0953167 0.09933 0.0973233 0.09632 0.09933 0.09933 0.0983267 -0.0913033 0.0892967 0.0943133 0.09331 0.0852833 0.0943133 0.09331 0.0923067 -0.101337 0.101337 0.0923067 0.0943133 0.0973233 0.09933 0.0913033 0.0953167 -0.0892967 0.0943133 0.0862867 0.08729 0.0862867 0.0892967 0.0923067 0.0903 -0.103343 0.10234 0.0923067 0.0983267 0.103343 0.0903 0.104347 0.0923067 -0.08729 0.0973233 0.0913033 0.0882933 0.0832767 0.0852833 0.08127 0.100333 -0.10836 0.110367 0.11739 0.0501667 0.0471567 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0.0461533 -0.0401333 0.0732433 0.10836 0.09933 0.0882933 0.0943133 0.0832767 0.09331 -0.0903 0.08729 0.0953167 0.100333 0.0973233 0.0983267 0.100333 0.101337 -0.0983267 0.0953167 0.104347 0.09933 0.09331 0.0983267 0.0923067 0.09632 -0.10234 0.100333 0.09632 0.0892967 0.103343 0.0983267 0.09933 0.09933 -0.0892967 0.0913033 0.0943133 0.0943133 0.0983267 0.10535 0.10234 0.09933 -0.10535 0.09933 0.0953167 0.0973233 0.0983267 0.09632 0.09632 0.0923067 -0.08729 0.09331 0.08729 0.09632 0.09331 0.11137 0.0762533 0.0431433 -0.0461533 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0.0411367 0.0411367 0.0672233 0.107357 -0.0953167 0.0943133 0.0973233 0.101337 0.0973233 0.09933 0.10234 0.112373 -0.10234 0.106353 0.10234 0.103343 0.10234 0.103343 0.09632 0.10234 -0.0973233 0.0943133 0.0913033 0.0882933 0.103343 0.0882933 0.104347 0.0973233 -0.0973233 0.0983267 0.104347 0.107357 0.10234 0.100333 0.104347 0.0973233 -0.09933 0.10234 0.09632 0.10234 0.0983267 0.103343 0.103343 0.09933 -0.0923067 0.0642133 0.0371233 0.0461533 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0.04214 0.0441467 0.0431433 0.04214 0.11739 0.122407 -0.10836 0.11739 0.109363 0.11739 0.11438 0.110367 0.110367 0.116387 -0.112373 0.10535 0.0983267 0.107357 0.101337 0.09933 0.11137 0.113377 -0.11438 0.104347 0.121403 0.11438 0.109363 0.10535 0.116387 0.106353 -0.11137 0.116387 0.04214 0.0461533 0.0471567 0.0441467 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 \ No newline at end of file diff --git a/examples/extended/medical/DICOM/Data.dat b/examples/extended/medical/DICOM/Data.dat index ac2d63c53e..c72b8f7f4c 100644 --- a/examples/extended/medical/DICOM/Data.dat +++ b/examples/extended/medical/DICOM/Data.dat @@ -1,4 +1,4 @@ -4 +8 3 1 2 diff --git a/examples/extended/medical/DICOM/Data.partial.dat b/examples/extended/medical/DICOM/Data.partial.dat new file mode 100644 index 0000000000..75f29d85cc --- /dev/null +++ b/examples/extended/medical/DICOM/Data.partial.dat @@ -0,0 +1,16 @@ +1 +1 +test +10 +Air 0.207 +LungInhale 0.481 +LungExhale 0.919 +AdiposeTissue 0.979 +Breast 1.004 +Water 1.043 +Muscle 1.109 +Liver 1.113 +TrabecularBone 1.496 +DenseBone 1.654 + + diff --git a/examples/extended/medical/DICOM/GNUmakefile b/examples/extended/medical/DICOM/GNUmakefile index 1622987a16..6b2c9157fd 100644 --- a/examples/extended/medical/DICOM/GNUmakefile +++ b/examples/extended/medical/DICOM/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2003/06/16 07:51:35 guatelli Exp $ +# $Id: GNUmakefile,v 1.4 2010/01/11 16:42:22 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -7,6 +7,10 @@ name := dicom G4TARGET := $(name) G4EXLIB := true +ifndef G4INSTALL + G4INSTALL = ../../../.. +endif + .PHONY: all all: lib bin diff --git a/examples/extended/medical/DICOM/History b/examples/extended/medical/DICOM/History index 3e1ef8ea70..69b079c554 100644 --- a/examples/extended/medical/DICOM/History +++ b/examples/extended/medical/DICOM/History @@ -1,4 +1,4 @@ -$Id: History,v 1.18 2009/11/19 14:34:05 chauvie Exp $ +$Id: History,v 1.29 2010/11/30 11:16:01 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -7,8 +7,45 @@ $Id: History,v 1.18 2009/11/19 14:34:05 chauvie Exp $ Category History file --------------------- -19.11.2009- Stéphane Chauvie (DICOM-V09-02-03 ) - Changed DICOM Handler to read CT files coming from CONQUEST DICOM server + +30.11.2010 - Ivana Hrivnacova (DICOM-V09-03-09) + Moved inclusion of vis headers as last in main(). + +26.11.2010 - Pedro Arce (DICOM-V09-03-08) + Correction of warnings + +24.11.2010 - Pedro Arce (DICOM-V09-03-07) + Introduced partial phantom example + Delete G4PSDoseDeposit_RegNav and use G4ScoreSplittingProcess instead + +11.11.2010 - Gabriele Cosmo (DICOM-V09-03-06) + Corrected vis.mac macro and set OGL as default viewer. + Corrected some printouts in code... + +09.11.2010 - Gabriele Cosmo (DICOM-V09-03-05) + Fixed compilation warning on virtual methods hiding + Fixed compilation warnings in DicomPhantomParameterisationColour + and DicomHandler. + +02.11.2010 - John Allison (DICOM-V09-03-04) + Introduced G4UIExecutive. + +06.06.2010 - Joseph Perl (DICOM-V09-03-03) + Remove unused variable in EventAction + +03.06.2010 - Joseph Perl (DICOM-V09-03-02) + Updated vis usage + +19.11.2009 - Stéphane Chauvie (DICOM-V09-03-00) +01.06.2010 - Stephane Chauvie - Andrea Armando + Added function to read nested items (defined and undefined) + Removed dependencies on CONQUEST + DICOM handler could now read whichever DICOM file + (PT,CT,DR,CR,US,MR... ) + +19.11.2009 - Stephanee Chauvie (DICOM-V09-02-03) + Changed DICOM Handler to read CT files coming from CONQUEST + DICOM server 05.02.2009 - Pedro Arce (DICOM-V09-02-01) Added report on dose per voxel. diff --git a/examples/extended/medical/DICOM/README b/examples/extended/medical/DICOM/README index 8259acb353..67396e8fe3 100644 --- a/examples/extended/medical/DICOM/README +++ b/examples/extended/medical/DICOM/README @@ -17,8 +17,9 @@ web : thomson.phy.ulaval.ca/phys_med + Université Laval, Québec (QC) Canada And it has been deeply reviewed by Pedro Arce in December 2007. -Very small changes by Stéphane Chauvie in January 200. -Stéphane Chauvie, Oct 09: changed Physics list. changes in DICOM read. +Very small changes by Stephane Chauvie in January 2008. +Stephane Chauvie, Oct 2009: changed Physics list; changes in DICOM read. +Stephane Chauvie and Andrea Armando; June 2010 adapted for reading whatever DICOM file --->1) Introduction @@ -35,7 +36,7 @@ In the application the phantom is placed on a table. ---> 3) Run the example: - - To run the environment variabmore le G4LEDATA needs to be set, pointing to the low energy data base + - To run the environment variabmore le G4LEDATA needs to be set, pointing to the low energy data base, and the G4LEVELGAMMADATA pointing to the PhotonEvaporation data base - batch mode: - $G4INSTALL/bin/Linux-g++/dicom run.mac @@ -158,3 +159,17 @@ SetScorer(voxel_logic); dicom.out is produced running th macro file run.mac. It has 2 columns: the first is the number of voxel (ordered in x,y,z) and the second the dose there deposited (in Gy) It is produced, as an example, with a compression value of 32 + + +--->12) Partial phantom +It is possible to create a partial phantom, that is the intersection of a phantom with a volume. You may define the volume with the command + +/dicom/intersectWithUserVolume 0. 0. 0. 45.*deg 0. 0. TUBE 0. 150. 100. + +where the first three arguments are its position, its second three arguments are the rotation around the global X, Y and Z axis and the rest of the parameters are the same that you use to build a solid using the ASCII geometry format + +Alternatively you can intersect the phantom with an existing Geant4 volume with the command + +/dicom/intersectWithG4Volume VOLUME_NAME + +The job will create an ASCII file names "phantom.g4pdcm" containing the partial phantom. To read this file all what is needed is to set the enviromental variable DICOM_PARTIAL_PARAM to 1 diff --git a/examples/extended/medical/DICOM/dicom.cc b/examples/extended/medical/DICOM/dicom.cc index 53dfcf2530..8caf0dd5a4 100644 --- a/examples/extended/medical/DICOM/dicom.cc +++ b/examples/extended/medical/DICOM/dicom.cc @@ -47,34 +47,57 @@ #include "DicomPhysicsList.hh" -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - #include "RegularDicomDetectorConstruction.hh" #include "NestedParamDicomDetectorConstruction.hh" +#include "DicomPartialDetectorConstruction.hh" #include "DicomPrimaryGeneratorAction.hh" #include "DicomEventAction.hh" #include "DicomRunAction.hh" #include "DicomHandler.hh" +#include "DicomIntersectVolume.hh" +#include "QGSP_BIC.hh" +#include "G4tgrMessenger.hh" + +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif int main(int argc,char** argv) { - - // Treatment of DICOM images before creating the G4runManager - DicomHandler* dcmHandler = new DicomHandler; - dcmHandler->CheckFileFormat(); - // Initialisation of physics, geometry, primary particles ... - G4RunManager* runManager = new G4RunManager; - DicomDetectorConstruction* theGeometry; - char* nest = getenv( "DICOM_NESTED_PARAM" ); - if( nest && G4String(nest) == "1" ) { - theGeometry = new NestedParamDicomDetectorConstruction(); - } else { - theGeometry = new RegularDicomDetectorConstruction(); + new G4tgrMessenger; + char* part = getenv( "DICOM_PARTIAL_PARAM" ); + G4bool bPartial = FALSE; + if( part && G4String(part) == "1" ) { + bPartial = TRUE; } - runManager->SetUserInitialization(new DicomPhysicsList); + + G4RunManager* runManager = new G4RunManager; + DicomDetectorConstruction* theGeometry = 0; + DicomHandler* dcmHandler = 0; + + if( !bPartial ){ + // Treatment of DICOM images before creating the G4runManager + dcmHandler = new DicomHandler; + dcmHandler->CheckFileFormat(); + + // Initialisation of physics, geometry, primary particles ... + char* nest = getenv( "DICOM_NESTED_PARAM" ); + if( nest && G4String(nest) == "1" ) { + theGeometry = new NestedParamDicomDetectorConstruction(); + } else { + theGeometry = new RegularDicomDetectorConstruction(); + } + } else { + theGeometry = new DicomPartialDetectorConstruction(); + } + + // runManager->SetUserInitialization(new DicomPhysicsList); + runManager->SetUserInitialization(new QGSP_BIC); runManager->SetUserInitialization(theGeometry); runManager->SetUserAction(new DicomPrimaryGeneratorAction()); runManager->SetUserAction(new DicomRunAction); @@ -82,6 +105,8 @@ int main(int argc,char** argv) runManager->Initialize(); + new DicomIntersectVolume(); + #ifdef G4VIS_USE // visualisation manager G4VisManager* visManager = new G4VisExecutive; @@ -90,20 +115,25 @@ int main(int argc,char** argv) CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + if (argc==1) { - G4UIsession* session = new G4UIterminal(new G4UItcsh); - UI->ApplyCommand("/control/execute vis.mac"); - session->SessionStart(); - delete session; - } +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif + } else { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } delete runManager; @@ -112,7 +142,9 @@ int main(int argc,char** argv) delete visManager; #endif - delete dcmHandler; + if( !bPartial ){ + delete dcmHandler; + } return 0; } diff --git a/examples/extended/medical/DICOM/dicom.out b/examples/extended/medical/DICOM/dicom.out index de4c157a12..9b963f9570 100644 --- a/examples/extended/medical/DICOM/dicom.out +++ b/examples/extended/medical/DICOM/dicom.out @@ -1,108 +1,484 @@ -23 1.21391e-21 -151 1.15211e-21 -278 1.18267e-21 -279 6.31087e-22 -406 2.28507e-21 -2022 7.31667e-22 -2150 1.31457e-21 -2278 6.68512e-22 -2279 7.35181e-22 -2407 2.13148e-21 -2535 1.32195e-21 -2663 1.19909e-21 -2664 1.52747e-23 -2792 1.31595e-21 -2920 1.38199e-21 -3048 1.69569e-21 -3176 5.5658e-22 -3177 1.09356e-21 -3305 1.62135e-21 -3433 3.32834e-22 -5196 1.50683e-21 -5324 1.55136e-21 -5452 1.53053e-21 -5580 2.14339e-21 -5707 7.69903e-22 -5708 1.61611e-21 -5835 7.38213e-22 -5836 1.40592e-21 -6448 4.43909e-23 -6576 1.47954e-21 -6704 1.50974e-21 -6831 2.28175e-22 -6832 1.01241e-21 -6959 1.20629e-21 -7087 1.69746e-21 -7215 1.65452e-21 -7343 1.40245e-21 -7471 1.42375e-21 -7599 1.97718e-21 -7727 1.29341e-21 -7855 1.27212e-21 -9394 1.22143e-22 -9522 8.58481e-22 -9523 1.01847e-21 -9651 2.15221e-21 -9779 1.42066e-21 -9906 1.6519e-21 -9907 1.76775e-22 -10034 1.16542e-21 -10162 6.5913e-22 -10414 1.1176e-21 -10526 1.0216e-21 -10542 2.22613e-21 -10654 1.13412e-21 -10670 2.07105e-21 -10798 2.55213e-21 -10926 5.88712e-22 -11451 1.61307e-22 -11579 9.39692e-22 -15432 1.35778e-21 -15560 1.15382e-21 -15688 1.65959e-21 -15816 1.25214e-21 -15944 1.48283e-21 -16072 2.12917e-21 -16200 1.74274e-21 -16328 3.47515e-21 -16790 3.63001e-22 -16918 1.63087e-21 -17046 1.64296e-21 -17047 1.851e-23 -17175 2.00886e-21 -17303 1.80054e-24 -19817 1.63058e-21 -19945 1.52904e-21 -19946 2.61677e-21 -19947 3.17074e-21 -19948 2.04986e-21 -20076 5.50028e-22 -23240 3.52411e-22 -24239 1.30081e-22 -24367 1.57201e-21 -24495 2.93122e-21 -24623 1.73337e-22 -24624 1.23855e-21 -24752 1.79568e-21 -24880 1.5602e-21 -25008 1.52776e-21 -25136 2.38334e-22 -25137 2.94725e-21 -25265 4.3881e-21 -25393 9.24966e-22 -25394 5.80938e-22 -25522 2.61277e-21 -25650 1.0922e-21 -25778 1.20029e-21 -32456 2.05418e-23 -32584 1.50687e-21 -32712 3.09539e-21 -32713 6.75863e-22 -33687 1.0272e-20 -33815 1.87729e-21 -33943 1.12972e-21 -33944 7.02378e-24 -34072 1.08866e-21 -39024 4.61723e-26 -39152 2.49787e-21 -39153 3.25099e-22 +59 7.29905e-22 +62 7.91179e-22 +76 8.69672e-22 +78 6.54315e-22 +81 1.54552e-21 +82 9.16465e-22 +176 3.63951e-31 +187 7.29903e-22 +190 3.67213e-21 +204 1.23819e-22 +206 6.54314e-22 +209 1.25272e-21 +210 9.16463e-22 +315 7.29902e-22 +318 1.55161e-21 +334 6.54312e-22 +338 9.16461e-22 +443 7.299e-22 +446 1.5516e-21 +462 6.54311e-22 +466 9.16459e-22 +571 7.29898e-22 +574 1.5516e-21 +590 6.96938e-22 +594 9.16456e-22 +699 7.29897e-22 +702 1.5516e-21 +718 1.08763e-21 +722 9.16454e-22 +826 1.94611e-22 +827 6.16793e-22 +830 1.55159e-21 +846 1.08763e-21 +850 9.16452e-22 +954 1.48197e-21 +958 1.55159e-21 +959 2.07759e-22 +974 8.88193e-22 +975 1.99428e-22 +978 9.1645e-22 +1082 1.48197e-21 +1086 1.55159e-21 +1087 5.93394e-22 +1103 1.08763e-21 +1106 9.16448e-22 +1210 1.48196e-21 +1211 7.36928e-22 +1214 1.55158e-21 +1215 5.93393e-22 +1231 1.08762e-21 +1234 9.17557e-22 +1338 4.51267e-22 +1339 1.45159e-21 +1342 1.60385e-21 +1343 5.93391e-22 +1359 1.08762e-21 +1362 9.63757e-22 +1467 1.45159e-21 +1470 2.47385e-21 +1471 2.09341e-22 +1487 1.31251e-21 +1490 9.63754e-22 +1595 1.45159e-21 +1598 2.68319e-21 +1615 1.94634e-21 +1618 9.63752e-22 +1723 1.31416e-21 +1726 1.28991e-21 +1743 1.94634e-21 +1746 9.6375e-22 +1851 1.28783e-21 +1854 1.53096e-21 +1871 4.02885e-22 +1874 9.63747e-22 +1979 1.28782e-21 +1982 1.53095e-21 +2002 9.84605e-21 +2107 1.28782e-21 +2110 1.53095e-21 +2130 2.23443e-21 +2235 1.28782e-21 +2237 4.77733e-22 +2238 1.0532e-21 +2258 1.612e-21 +2363 1.28781e-21 +2365 1.53094e-21 +2386 1.57908e-21 +2491 1.7607e-21 +2493 1.52312e-21 +2514 1.64637e-21 +2619 1.17906e-21 +2621 1.55788e-22 +2642 1.7492e-21 +2736 1.56396e-21 +2747 1.43388e-21 +2770 1.69055e-21 +2863 1.51792e-21 +2864 3.70075e-23 +2875 2.41981e-21 +2898 1.87304e-21 +2991 1.85187e-21 +3003 1.54566e-21 +3118 1.1681e-21 +3119 1.57191e-21 +3131 1.76402e-21 +3246 2.95251e-21 +3259 2.12998e-22 +3508 3.73599e-22 +3517 9.96526e-22 +3645 2.09313e-21 +3646 1.60073e-21 +5419 3.63932e-31 +5803 1.92146e-22 +5931 1.56112e-21 +6059 1.56111e-21 +6186 9.68114e-22 +6187 5.92978e-22 +6314 1.56111e-21 +6442 1.5611e-21 +6455 8.22691e-22 +6570 1.51879e-21 +6698 9.01439e-22 +6826 9.01437e-22 +6953 6.27191e-22 +6954 2.74234e-22 +7081 9.01433e-22 +7209 9.01431e-22 +7337 9.01428e-22 +7465 1.01935e-21 +7593 1.01039e-21 +7720 1.32522e-22 +7721 1.77519e-21 +10926 5.35678e-22 +11054 1.03796e-21 +11182 1.03796e-21 +11310 2.44704e-22 +11311 9.69692e-22 +11439 1.43337e-21 +11567 1.43337e-21 +11695 1.38241e-21 +11823 1.2326e-21 +11951 1.5145e-21 +12079 3.97692e-22 +12080 1.10925e-21 +12208 1.91644e-21 +12335 8.29447e-22 +12336 6.36611e-22 +12463 1.73684e-21 +12464 6.97396e-22 +12591 2.66185e-21 +12592 4.70236e-22 +12719 3.31561e-21 +12847 1.10977e-21 +12872 1.55318e-21 +12873 2.36618e-22 +13001 2.0669e-21 +13002 2.40263e-21 +16444 2.44999e-21 +16445 1.07344e-22 +16470 1.44396e-21 +16572 1.45162e-21 +16573 1.10571e-21 +16588 7.45846e-22 +16593 2.92779e-22 +16598 1.44396e-21 +16700 1.45162e-21 +16701 1.10571e-21 +16716 8.69668e-22 +16721 1.54551e-21 +16726 1.44395e-21 +16828 1.45162e-21 +16829 1.10571e-21 +16844 8.69666e-22 +16849 5.24458e-21 +16854 1.44395e-21 +16944 8.80132e-22 +16956 1.45161e-21 +16957 1.1057e-21 +16972 8.69664e-22 +16977 1.14186e-21 +16982 1.44395e-21 +17072 9.34412e-22 +17084 1.45161e-21 +17085 1.1057e-21 +17100 8.69661e-22 +17105 1.14186e-21 +17110 1.44394e-21 +17200 4.25623e-21 +17211 1.56519e-22 +17212 1.29508e-21 +17213 1.1057e-21 +17228 8.69659e-22 +17233 5.70402e-22 +17234 5.7144e-22 +17238 1.44394e-21 +17328 1.16925e-21 +17339 1.4516e-21 +17341 1.1057e-21 +17356 9.28128e-22 +17362 1.14185e-21 +17366 1.42466e-21 +17456 1.16925e-21 +17467 1.4516e-21 +17469 1.10569e-21 +17484 1.13259e-21 +17490 1.14185e-21 +17584 1.16924e-21 +17595 7.14651e-22 +17597 1.10569e-21 +17612 1.13258e-21 +17618 1.14185e-21 +17712 1.16924e-21 +17725 1.10569e-21 +17740 3.08193e-22 +17741 8.24376e-22 +17746 1.14184e-21 +17840 1.16924e-21 +17853 1.10569e-21 +17869 1.13258e-21 +17874 9.04859e-22 +17968 1.16924e-21 +17981 1.22377e-21 +17997 1.13258e-21 +18002 7.16704e-22 +18096 1.16923e-21 +18109 1.38436e-21 +18110 1.41594e-21 +18125 8.84475e-22 +18130 4.04908e-22 +18131 3.11785e-22 +18224 1.16923e-21 +18237 1.38435e-21 +18238 2.08979e-21 +18259 7.167e-22 +18352 1.10858e-21 +18365 1.38435e-21 +18366 2.08979e-21 +18387 7.16698e-22 +18480 1.00952e-21 +18493 1.38435e-21 +18494 7.47274e-21 +18515 7.16697e-22 +18608 1.00951e-21 +18621 1.38434e-21 +18622 6.52438e-22 +18643 6.75283e-22 +18736 8.43812e-22 +18749 1.38434e-21 +18750 6.52437e-22 +18771 4.35505e-21 +18864 1.79103e-21 +18877 1.05191e-21 +18878 4.91119e-22 +18899 1.50591e-21 +18991 3.80023e-22 +18992 1.67041e-21 +19005 2.22514e-22 +19006 2.65895e-21 +19027 1.06915e-21 +19028 6.81082e-22 +19120 2.51793e-21 +19133 1.81657e-22 +19134 2.70151e-21 +19156 4.1825e-21 +19248 2.51387e-22 +19252 1.49978e-22 +19261 2.20617e-21 +19262 1.68823e-21 +19284 1.23703e-21 +19285 2.58812e-21 +19379 8.62743e-22 +19380 1.08481e-21 +19381 6.29351e-24 +19389 1.81941e-21 +19390 1.95741e-21 +19412 1.7469e-21 +19413 3.13139e-21 +19507 5.51478e-22 +19508 1.10183e-21 +19509 6.91847e-22 +19516 1.19443e-22 +19517 4.45551e-21 +19518 3.19819e-22 +19636 1.90274e-21 +19643 1.83308e-22 +19644 5.09622e-21 +19645 6.05838e-23 +19650 2.09473e-21 +19651 1.00108e-21 +19764 2.30676e-21 +19771 6.57457e-22 +19772 2.14517e-21 +19773 7.38931e-22 +19791 1.64917e-21 +19892 1.20158e-21 +19901 8.64487e-22 +19918 2.35084e-21 +19919 3.64962e-23 +32797 1.91419e-22 +32798 1.17247e-21 +32817 9.34423e-22 +32823 1.37254e-21 +32827 4.35213e-22 +32835 1.05981e-21 +32925 1.3639e-21 +32944 4.8929e-22 +32945 4.4512e-22 +32951 1.37254e-21 +32955 4.35211e-22 +32963 1.05981e-21 +33053 1.36389e-21 +33072 9.34419e-22 +33079 1.37253e-21 +33083 4.3521e-22 +33091 1.05981e-21 +33181 2.0941e-21 +33200 9.34417e-22 +33207 1.37253e-21 +33211 9.71589e-22 +33219 1.0598e-21 +33309 2.73275e-21 +33328 5.42806e-23 +33335 1.37253e-21 +33339 1.07716e-21 +33347 1.0598e-21 +33437 9.56405e-22 +33463 1.37252e-21 +33467 1.07716e-21 +33475 1.0598e-21 +33591 1.40881e-21 +33595 1.07715e-21 +33603 1.66095e-21 +33719 1.50952e-21 +33723 1.07715e-21 +33731 2.05981e-21 +33750 1.92766e-23 +33846 2.18277e-22 +33847 1.29123e-21 +33851 1.07715e-21 +33859 2.05981e-21 +33878 1.44394e-21 +33972 3.49431e-23 +33974 1.50952e-21 +33979 1.07715e-21 +33987 2.05981e-21 +34006 1.05106e-21 +34100 7.45941e-22 +34102 1.50951e-21 +34107 9.81936e-22 +34115 2.0598e-21 +34134 6.76937e-22 +34228 7.4594e-22 +34230 1.50951e-21 +34235 8.76657e-22 +34243 2.0598e-21 +34262 6.76935e-22 +34356 7.45938e-22 +34358 1.5095e-21 +34363 8.76654e-22 +34371 2.05979e-21 +34390 6.76933e-22 +34484 7.45936e-22 +34486 1.5095e-21 +34491 8.76652e-22 +34499 2.05979e-21 +34509 2.48088e-22 +34518 6.76932e-22 +34612 8.35005e-22 +34614 1.5095e-21 +34619 8.7665e-22 +34627 2.05978e-21 +34637 1.13257e-21 +34646 6.7693e-22 +34740 8.49377e-22 +34742 1.51988e-21 +34747 5.80075e-22 +34755 1.81795e-21 +34765 1.13257e-21 +34774 4.09969e-21 +34868 8.49375e-22 +34870 1.56284e-21 +34883 1.55473e-21 +34893 7.99923e-22 +34902 8.66575e-22 +34996 8.49373e-22 +34998 1.56284e-21 +35011 1.55472e-21 +35021 5.01316e-22 +35030 8.31145e-22 +35124 3.34319e-21 +35126 1.40713e-21 +35139 1.55472e-21 +35149 4.27863e-22 +35158 1.18474e-21 +35252 2.1811e-21 +35253 1.18307e-21 +35254 6.04132e-23 +35267 1.19925e-21 +35277 2.8826e-21 +35286 1.28959e-21 +35380 1.64138e-21 +35381 1.49578e-21 +35395 2.27602e-21 +35405 1.10447e-21 +35406 4.64512e-22 +35414 1.90847e-21 +35507 1.31091e-21 +35508 4.76722e-22 +35509 4.90549e-21 +35523 1.43902e-21 +35534 1.6428e-21 +35540 2.97743e-22 +35542 1.46288e-21 +35635 1.42025e-21 +35636 2.93537e-22 +35637 3.0662e-21 +35651 1.59535e-21 +35662 1.55659e-21 +35663 1.20791e-22 +35670 1.93869e-21 +35765 2.31738e-21 +35779 2.1832e-21 +35791 1.86852e-21 +35893 4.69047e-22 +35894 2.2831e-21 +35895 1.48792e-22 +35907 2.77625e-21 +35908 2.39573e-23 +35919 1.89714e-21 +36023 1.27257e-21 +36028 2.18035e-21 +36029 1.89316e-21 +36034 2.74993e-21 +36035 1.16399e-21 +36047 1.87852e-21 +36157 5.10791e-22 +36158 1.33367e-21 +36175 1.05417e-21 +36286 3.84521e-21 +36287 1.40843e-21 +36414 2.37354e-22 +36542 3.64283e-22 +37461 3.04832e-22 +38321 8.90815e-22 +38449 1.34976e-21 +38577 1.34976e-21 +38705 1.34975e-21 +38833 1.1551e-21 +38961 8.49883e-22 +39089 8.49881e-22 +39217 8.49879e-22 +39345 4.97416e-21 +39473 1.39559e-21 +39601 1.39558e-21 +39729 1.39558e-21 +39857 1.14043e-21 +39985 5.54542e-22 +40113 6.85086e-22 +40241 1.83569e-21 +40369 1.731e-21 +40497 9.09512e-22 +40625 4.91693e-22 +40626 4.17805e-22 +40754 1.32173e-21 +40882 8.70019e-22 +41010 8.70017e-22 +41138 8.70015e-22 +41266 8.70013e-22 +41394 8.7001e-22 +41522 9.01786e-22 +41650 1.55616e-21 +41778 1.55616e-21 +41906 1.55615e-21 +42034 1.55615e-21 +42162 3.59832e-22 +46142 4.45471e-22 +46270 2.92336e-22 +48309 1.29831e-22 +48437 4.15689e-22 +48565 4.15688e-22 +48693 4.15687e-22 +48821 1.37367e-20 +48949 9.02283e-22 +49077 7.9179e-22 diff --git a/examples/extended/medical/DICOM/include/DicomDetectorConstruction.hh b/examples/extended/medical/DICOM/include/DicomDetectorConstruction.hh index 8905aead8b..c269a5d95d 100644 --- a/examples/extended/medical/DICOM/include/DicomDetectorConstruction.hh +++ b/examples/extended/medical/DICOM/include/DicomDetectorConstruction.hh @@ -39,7 +39,7 @@ #include "globals.hh" #include "G4VUserDetectorConstruction.hh" -#include "DicomPatientZSliceHeader.hh" +#include "DicomPhantomZSliceHeader.hh" class G4Material; class G4Box; @@ -59,11 +59,11 @@ protected: void InitialisationOfMaterials(); // create the original materials - void ReadPatientData(); - // read the DICOM files describing the patient + void ReadPhantomData(); + // read the DICOM files describing the phantom - void ReadPatientDataFile(const G4String& fname); - // read one of the DICOM files describing the patient (usually one per Z slice). Build a DicomPatientZSliceHeader for each file + void ReadPhantomDataFile(const G4String& fname); + // read one of the DICOM files describing the phantom (usually one per Z slice). Build a DicomPhantomZSliceHeader for each file void MergeZSliceHeaders(); // merge the slice headers of all the files @@ -71,12 +71,9 @@ protected: G4Material* BuildMaterialWithChangingDensity( const G4Material* origMate, float density, G4String newMateName ); // build a new material if the density of the voxel is different to the other voxels - G4String ftoa(float flo); - // convert a float to a string - - void ConstructPatientContainer(); - virtual void ConstructPatient() = 0; - // construct the patient volumes. This method should be implemented for each of the derived classes + void ConstructPhantomContainer(); + virtual void ConstructPhantom() = 0; + // construct the phantom volumes. This method should be implemented for each of the derived classes void SetScorer(G4LogicalVolume* voxel_logic); @@ -100,8 +97,8 @@ protected: std::map fDensityDiffs; // Density difference to distinguish material for each original material (by index) - std::vector fZSliceHeaders; // list of z slice header (one per DICOM files) - DicomPatientZSliceHeader* fZSliceHeaderMerged; // z slice header resulted from merging all z slice headers + std::vector fZSliceHeaders; // list of z slice header (one per DICOM files) + DicomPhantomZSliceHeader* fZSliceHeaderMerged; // z slice header resulted from merging all z slice headers G4int nVoxelX, nVoxelY, nVoxelZ; G4double voxelHalfDimX, voxelHalfDimY, voxelHalfDimZ; diff --git a/examples/extended/medical/DICOM/include/DicomHandler.hh b/examples/extended/medical/DICOM/include/DicomHandler.hh index 7cfb6cda7b..6739147bc9 100644 --- a/examples/extended/medical/DICOM/include/DicomHandler.hh +++ b/examples/extended/medical/DICOM/include/DicomHandler.hh @@ -93,6 +93,9 @@ private: void ReadMaterialIndices( std::ifstream& finData); unsigned int GetMaterialIndex( G4float density ); void StoreData(std::ofstream& foutG4DCM); + G4int read_defined_nested(FILE *, G4int); + void read_undefined_nested(FILE *); + void read_undefined_item(FILE *); short compression; G4int nFiles; diff --git a/examples/extended/parallel/ExDiane/include/BrachyRunMessenger.hh b/examples/extended/medical/DICOM/include/DicomIntersectVolume.hh similarity index 58% rename from examples/extended/parallel/ExDiane/include/BrachyRunMessenger.hh rename to examples/extended/medical/DICOM/include/DicomIntersectVolume.hh index 76be39c12d..ac43c27f8c 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyRunMessenger.hh +++ b/examples/extended/medical/DICOM/include/DicomIntersectVolume.hh @@ -23,44 +23,56 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: BrachyRunMessenger.hh,v 1.3 2006/06/29 17:32:32 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -//Author: Susanna Guatelli -// -// ******************************************** -// * * -// * BrachyRunMessenger.hh * -// * * -// ******************************************** -// This class permits to switch the energy of the gamma delivered from the -//radionuclides (Iodium/Iridium) -// +#ifndef DicomIntersectVolume__HH +#define DicomIntersectVolume__HH -#ifndef BrachyRunMessenger_h -#define BrachyRunMessenger_h 1 - -#include "globals.hh" #include "G4UImessenger.hh" -class BrachyRunAction; -class BrachyRunAction; -class G4UIdirectory; +#include +#include +#include "G4PhantomParameterisation.hh" +#include "G4ThreeVector.hh" +#include "G4RotationMatrix.hh" +class G4LogicalVolume; +class G4VPhysicalVolume; +class G4PhantomParameterisation; class G4UIcmdWithAString; +class G4VSolid; -class BrachyRunMessenger: public G4UImessenger +class DicomIntersectVolume : public G4UImessenger { public: - BrachyRunMessenger(BrachyRunAction* ); - ~BrachyRunMessenger(); - - void SetNewValue(G4UIcommand*, G4String); - -private: - G4UIdirectory* runDir; - G4UIcmdWithAString* primaryParticleEnergySpectrumCmd; - BrachyRunAction* runManager; -}; -#endif + DicomIntersectVolume(); + ~DicomIntersectVolume(); + void SetNewValue(G4UIcommand * command, + G4String newValues); + +private: + + void BuildUserSolid( std::vector params ); + void BuildG4Solid( std::vector params ); + G4PhantomParameterisation* GetPhantomParam(G4bool bMustExist); + G4bool IsPhantomVolume( G4VPhysicalVolume* pv ); + std::vector GetPhysicalVolumes( const G4String& name, bool exists, G4int nVols ); + std::vector GetLogicalVolumes( const G4String& name, bool exists, G4int nVols ); + std::vector GetWordsInString( const G4String& stemp); + +private: + G4UIcmdWithAString* theUserVolumeCmd; + G4UIcmdWithAString* theG4VolumeCmd; + + G4VSolid* theSolid; + + G4VPhysicalVolume* thePhantomVolume; + + std::ofstream fout; + + G4PhantomParameterisation* theRegularParam; + + G4ThreeVector thePhantomMinusCorner; + + G4bool* theVoxelIsInside; +}; + +#endif diff --git a/examples/extended/medical/DICOM/include/DicomNestedPhantomParameterisation.hh b/examples/extended/medical/DICOM/include/DicomNestedPhantomParameterisation.hh index 50b74f3e46..9c8f27b037 100644 --- a/examples/extended/medical/DICOM/include/DicomNestedPhantomParameterisation.hh +++ b/examples/extended/medical/DICOM/include/DicomNestedPhantomParameterisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: DicomNestedPhantomParameterisation.hh,v 1.5 2009/11/19 16:15:23 chauvie Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: DicomNestedPhantomParameterisation.hh,v 1.6 2010/11/09 09:02:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- #ifndef DICOMNESTEDPARAMETERISATION_HH @@ -90,6 +90,8 @@ class DicomNestedPhantomParameterisation : public G4VNestedParameterisation void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const; + using G4VNestedParameterisation::ComputeMaterial; + private: // Dummy declarations to get rid of warnings ... void ComputeDimensions (G4Trd&, const G4int, diff --git a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionIr.hh b/examples/extended/medical/DICOM/include/DicomPartialDetectorConstruction.hh similarity index 54% rename from examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionIr.hh rename to examples/extended/medical/DICOM/include/DicomPartialDetectorConstruction.hh index 7aa6c2b57c..3a6b0bbd59 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionIr.hh +++ b/examples/extended/medical/DICOM/include/DicomPartialDetectorConstruction.hh @@ -23,69 +23,62 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: BrachyDetectorConstructionIr.hh,v 1.3 2006/06/29 17:31:13 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// **************************************** -// * * -// * BrachyDetectorConstructionIr.hh * -// * * -// **************************************** -// -// Author: Susanna Guatelli -// - -#ifndef BrachyDetectorConstructionIr_H -#define BrachyDetectorConstructionIr_H 1 +#ifndef DicomPartialDetectorConstruction_h +#define DicomPartialDetectorConstruction_h 1 #include "globals.hh" -#include "G4VUserDetectorConstruction.hh" -#include "G4LogicalVolume.hh" - +#include +#include "DicomDetectorConstruction.hh" +class G4PartialPhantomParameterisation; class G4LogicalVolume; -class G4Tubs; -class G4Box; -class G4Sphere; -class G4Tubs; -class G4Colour; -class G4VPhysicalVolume; -class G4VPhysicalVolume; -class BrachyMaterial; +class G4Material; -class BrachyDetectorConstructionIr + +struct matInfo +{ + G4double sumdens; + G4int nvoxels; + G4int id; +}; + +class DicomPartialDetectorConstruction : public DicomDetectorConstruction { public: - BrachyDetectorConstructionIr(); - ~BrachyDetectorConstructionIr(); - void ConstructIridium(G4VPhysicalVolume*); - void CleanIridium(); -private: - G4Tubs* capsule ; - G4LogicalVolume* capsuleLog; - G4VPhysicalVolume* capsulePhys; - G4Sphere* capsuleTip; - G4LogicalVolume* capsuleTipLog; - G4VPhysicalVolume* capsuleTipPhys; + DicomPartialDetectorConstruction(); + ~DicomPartialDetectorConstruction(); - G4Tubs* iridiumCore; - G4LogicalVolume* iridiumCoreLog; - G4VPhysicalVolume* iridiumCorePhys; - - BrachyMaterial* pMat; + G4VPhysicalVolume* Construct(); + +private: + virtual void ReadPhantomData(); + void ReadPhantomDataFile(const G4String& fname); + void ConstructPhantomContainer(); + void ConstructPhantom(); + + void ReadVoxelDensitiesPartial( std::ifstream& fin, std::map< G4int, std::map< G4int, G4int > > ifxmin, std::map< G4int, std::map< G4int, G4int > > ifxmax ); + + std::pair ReadVoxelDim( G4int nVoxel, std::ifstream& fin ); + void ReadVoxelDensitiesPartial( std::ifstream& fin ); + + void SetScorer(G4LogicalVolume* voxel_logic); + + G4Material* BuildMaterialChangingDensity( const G4Material* origMate, float density, G4String mateName ); + + +private: + G4PartialPhantomParameterisation* thePartialPhantomParam; + + std::multimap theFilledIDs; + std::map< G4int, std::map< G4int, G4int > > theFilledMins; + std::map< G4int, std::map< G4int, G4int > > theFilledMaxs; + G4int theNVoxels; + G4double dimX, dimY, dimZ; + G4double offsetX, offsetY, offsetZ; + size_t* mateIDs; + std::vector thePhantomMaterials; - G4VisAttributes* simpleCapsuleVisAtt; - G4VisAttributes* simpleCapsuleTipVisAtt; - G4VisAttributes* simpleIridiumVisAtt; }; + #endif - - - - - - - - diff --git a/examples/extended/medical/DICOM/include/DicomPhantomZSliceHeader.hh b/examples/extended/medical/DICOM/include/DicomPhantomZSliceHeader.hh new file mode 100644 index 0000000000..11fbde3e28 --- /dev/null +++ b/examples/extended/medical/DICOM/include/DicomPhantomZSliceHeader.hh @@ -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. * +// ******************************************************************** +// +// Author: P. Arce +// History: 30.11.07 First version +//******************************************************* +// +// DicomPhantomZSliceHeader.hh : +// - Contains the meta data information corresponding to one or several Z slices (number of voxels, dimension) +//******************************************************* + +#ifndef DicomPhantomZSliceHeader_h +#define DicomPhantomZSliceHeader_h 1 + +#include "globals.hh" +class G4material; +#include +#include + + +class DicomPhantomZSliceHeader +{ +public: + + DicomPhantomZSliceHeader( const DicomPhantomZSliceHeader& rhs ); + // build object copying an existing one (except Z dimensions) + + DicomPhantomZSliceHeader( std::ifstream& fin ); + // build object reading data from a file + + ~DicomPhantomZSliceHeader(){}; + + // Get and set methods + G4int GetNoVoxelX() const { return fNoVoxelX; }; + G4int GetNoVoxelY() const { return fNoVoxelY; }; + G4int GetNoVoxelZ() const { return fNoVoxelZ; }; + G4int GetNoVoxels() const { return fNoVoxelX*fNoVoxelY*fNoVoxelZ; }; + + G4double GetMinX() const { return fMinX; }; + G4double GetMinY() const { return fMinY; }; + G4double GetMinZ() const { return fMinZ; }; + G4double GetMaxX() const { return fMaxX; }; + G4double GetMaxY() const { return fMaxY; }; + G4double GetMaxZ() const { return fMaxZ; }; + + G4double GetVoxelHalfX() const { return (fMaxX-fMinX)/fNoVoxelX/2.; }; + G4double GetVoxelHalfY() const { return (fMaxY-fMinY)/fNoVoxelY/2.; }; + G4double GetVoxelHalfZ() const { return (fMaxZ-fMinZ)/fNoVoxelZ/2.; }; + + std::vector GetMaterialNames() const { return fMaterialNames; }; + + + void SetNoVoxelX(const G4int val) { fNoVoxelX = val; } + void SetNoVoxelY(const G4int val) { fNoVoxelY = val; } + void SetNoVoxelZ(const G4int val) { fNoVoxelZ = val; } + + void SetMinX(const G4double val) { fMinX = val; }; + void SetMaxX(const G4double val) { fMaxX = val; }; + void SetMinY(const G4double val) { fMinY = val; }; + void SetMaxY(const G4double val) { fMaxY = val; }; + void SetMinZ(const G4double val) { fMinZ = val; }; + void SetMaxZ(const G4double val) { fMaxZ = val; }; + + void SetMaterialNames(std::vector& mn ){ fMaterialNames = mn; } + + + void operator+=( const DicomPhantomZSliceHeader& rhs ); + DicomPhantomZSliceHeader operator+( const DicomPhantomZSliceHeader& rhs ); + // add two slices that have the same dimensions, merging them in Z + +private: + G4bool CheckMaterialExists( const G4String& mateName ); + // check that material read exists as a G4Material + +private: + G4int fNoVoxelX, fNoVoxelY, fNoVoxelZ; // number of voxels in each dimensions + G4double fMinX,fMinY,fMinZ; // minimum extension of voxels (position of wall) + G4double fMaxX,fMaxY,fMaxZ; // maximum extension of voxels (position of wall) + + std::vector fMaterialNames; // list of material names + +}; + +#endif diff --git a/examples/extended/medical/DICOM/include/DicomPrimaryGeneratorAction.hh b/examples/extended/medical/DICOM/include/DicomPrimaryGeneratorAction.hh index 763f0d178c..9d518ceb83 100644 --- a/examples/extended/medical/DICOM/include/DicomPrimaryGeneratorAction.hh +++ b/examples/extended/medical/DICOM/include/DicomPrimaryGeneratorAction.hh @@ -37,7 +37,7 @@ // // + Université Laval, Québec (QC) Canada // -// History: 30.11.07 P.Arce modified so that some particles reach patient voxels +// History: 30.11.07 P.Arce modified so that some particles reach phantom voxels // //******************************************************* diff --git a/examples/extended/medical/DICOM/include/NestedParamDicomDetectorConstruction.hh b/examples/extended/medical/DICOM/include/NestedParamDicomDetectorConstruction.hh index 80d431ae37..c1d12d1bc3 100644 --- a/examples/extended/medical/DICOM/include/NestedParamDicomDetectorConstruction.hh +++ b/examples/extended/medical/DICOM/include/NestedParamDicomDetectorConstruction.hh @@ -28,7 +28,7 @@ //******************************************************* // // NestedParamDicomDetectorConstruction.hh : -// - Construct the patient using DicomPhantomParameterisationColour +// - Construct the phantom using DicomPhantomParameterisationColour //******************************************************* #ifndef NestedParamDicomDetectorConstruction_h @@ -46,7 +46,7 @@ public: private: - virtual void ConstructPatient(); + virtual void ConstructPhantom(); }; diff --git a/examples/extended/medical/DICOM/include/RegularDicomDetectorConstruction.hh b/examples/extended/medical/DICOM/include/RegularDicomDetectorConstruction.hh index cec055e81a..5781043a35 100644 --- a/examples/extended/medical/DICOM/include/RegularDicomDetectorConstruction.hh +++ b/examples/extended/medical/DICOM/include/RegularDicomDetectorConstruction.hh @@ -28,7 +28,7 @@ //******************************************************* // // RegularDicomDetectorConstruction.hh : -// - Construct the patient using DicomPhantomParameterisationColour +// - Construct the phantom using DicomPhantomParameterisationColour //******************************************************* #ifndef RegularDicomDetectorConstruction_h @@ -46,7 +46,7 @@ public: private: - virtual void ConstructPatient(); + virtual void ConstructPhantom(); }; diff --git a/examples/extended/medical/DICOM/run.mac b/examples/extended/medical/DICOM/run.mac index 6a5e98c479..9a02b775c6 100644 --- a/examples/extended/medical/DICOM/run.mac +++ b/examples/extended/medical/DICOM/run.mac @@ -25,6 +25,10 @@ ########################## # Initialisation procedure # +#/geometry/textInput/verbose 3 + /run/initialize +#/dicom/intersectWithUserVolume 0. 0. 0. 45.*deg 0. 0. TUBE 0. 150. 100. + /run/beamOn 100 diff --git a/examples/extended/medical/DICOM/src/DicomDetectorConstruction.cc b/examples/extended/medical/DICOM/src/DicomDetectorConstruction.cc index 4757bbaee8..38ae4695fc 100644 --- a/examples/extended/medical/DICOM/src/DicomDetectorConstruction.cc +++ b/examples/extended/medical/DICOM/src/DicomDetectorConstruction.cc @@ -32,9 +32,10 @@ #include "G4PVPlacement.hh" #include "G4Material.hh" #include "G4Element.hh" +#include "G4UIcommand.hh" #include "DicomDetectorConstruction.hh" -#include "DicomPatientZSliceHeader.hh" +#include "DicomPhantomZSliceHeader.hh" //------------------------------------------------------------- DicomDetectorConstruction::DicomDetectorConstruction() @@ -74,10 +75,10 @@ G4VPhysicalVolume* DicomDetectorConstruction::Construct() false, 0 ); - ReadPatientData(); + ReadPhantomData(); - ConstructPatientContainer(); - ConstructPatient(); + ConstructPhantomContainer(); + ConstructPhantom(); return world_phys; } @@ -274,12 +275,12 @@ void DicomDetectorConstruction::InitialisationOfMaterials() //------------------------------------------------------------- -void DicomDetectorConstruction::ReadPatientData() +void DicomDetectorConstruction::ReadPhantomData() { std::ifstream finDF("Data.dat"); G4String fname; if(finDF.good() != 1 ) { - G4Exception(" DicomDetectorConstruction::ReadPatientData. Problem reading data file: Data.dat"); + G4Exception(" DicomDetectorConstruction::ReadPhantomData. Problem reading data file: Data.dat"); } G4int compression; @@ -290,7 +291,7 @@ void DicomDetectorConstruction::ReadPatientData() finDF >> fname; //--- Read one data file fname += ".g4dcm"; - ReadPatientDataFile(fname); + ReadPhantomDataFile(fname); } //----- Merge data headers @@ -301,29 +302,39 @@ void DicomDetectorConstruction::ReadPatientData() } //------------------------------------------------------------- -void DicomDetectorConstruction::ReadPatientDataFile(const G4String& fname) +void DicomDetectorConstruction::ReadPhantomDataFile(const G4String& fname) { #ifdef G4VERBOSE - G4cout << " DicomDetectorConstruction::ReadPatientDataFile opening file " << fname << G4endl; + G4cout << " DicomDetectorConstruction::ReadPhantomDataFile opening file " << fname << G4endl; #endif std::ifstream fin(fname.c_str(), std::ios_base::in); if( !fin.is_open() ) { - G4Exception("DicomDetectorConstruction::ReadPatientDataFil. File not found " + fname ); + G4Exception("DicomDetectorConstruction::ReadPhantomDataFile. File not found " + fname ); } //----- Define density differences (maximum density difference to create a new material) - G4double densityDiff = 0.1; + char* part = getenv( "DICOM_CHANGE_MATERIAL_DENSITY" ); + G4double densityDiff = -1.; + if( part ) densityDiff = G4UIcommand::ConvertToDouble(part); std::map fDensityDiffs; // to be able to use a different densityDiff for each material - for( unsigned int ii = 0; ii < fOriginalMaterials.size(); ii++ ){ - fDensityDiffs[ii] = densityDiff; //currently all materials with same difference + if( densityDiff != -1. ) { + for( unsigned int ii = 0; ii < fOriginalMaterials.size(); ii++ ){ + fDensityDiffs[ii] = densityDiff; //currently all materials with same difference + } + }else { + if( fMaterials.size() == 0 ) { // do it only for first slice + for( unsigned int ii = 0; ii < fOriginalMaterials.size(); ii++ ){ + fMaterials.push_back( fOriginalMaterials[ii] ); + } + } } - + //----- Read data header - DicomPatientZSliceHeader* sliceHeader = new DicomPatientZSliceHeader( fin ); + DicomPhantomZSliceHeader* sliceHeader = new DicomPhantomZSliceHeader( fin ); fZSliceHeaders.push_back( sliceHeader ); - + //----- Read material indices G4int nVoxels = sliceHeader->GetNoVoxels(); - + //--- If first slice, initiliaze fMateIDs if( fZSliceHeaders.size() == 1 ) { //fMateIDs = new unsigned int[fNoFiles*nVoxels]; @@ -349,10 +360,14 @@ void DicomDetectorConstruction::ReadPatientDataFile(const G4String& fname) G4Material* mateOrig = fOriginalMaterials[mateID]; //-- Get density bin: middle point of the bin in which the current density is included - float densityBin = fDensityDiffs[mateID] * (G4int(density/fDensityDiffs[mateID])+0.5); - //-- Build the new material name - G4String newMateName = mateOrig->GetName()+"__"+ftoa(densityBin); - + G4String newMateName = mateOrig->GetName(); + float densityBin = 0.; + if( densityDiff != -1.) { + densityBin = fDensityDiffs[mateID] * (G4int(density/fDensityDiffs[mateID])+0.5); + //-- Build the new material name + newMateName += G4UIcommand::ConvertToString(densityBin); + } + //-- Look if a material with this name is already created (because a previous voxel was already in this density bin) unsigned int im; for( im = 0; im < fMaterials.size(); im++ ){ @@ -365,8 +380,13 @@ void DicomDetectorConstruction::ReadPatientDataFile(const G4String& fname) fMateIDs[voxelCopyNo] = im; //-- else, create the material } else { - fMaterials.push_back( BuildMaterialWithChangingDensity( mateOrig, densityBin, newMateName ) ); - fMateIDs[voxelCopyNo] = fMaterials.size()-1; + if( densityDiff != -1.) { + fMaterials.push_back( BuildMaterialWithChangingDensity( mateOrig, densityBin, newMateName ) ); + fMateIDs[voxelCopyNo] = fMaterials.size()-1; + } else { + G4cerr << " im " << im << " < " << fMaterials.size() << " name " << newMateName << G4endl; + G4Exception("Wrong index in material"); //it should never reach here + } } } @@ -377,7 +397,7 @@ void DicomDetectorConstruction::ReadPatientDataFile(const G4String& fname) void DicomDetectorConstruction::MergeZSliceHeaders() { //----- Images must have the same dimension ... - fZSliceHeaderMerged = new DicomPatientZSliceHeader( *fZSliceHeaders[0] ); + fZSliceHeaderMerged = new DicomPhantomZSliceHeader( *fZSliceHeaders[0] ); for( unsigned int ii = 1; ii < fZSliceHeaders.size(); ii++ ) { *fZSliceHeaderMerged += *fZSliceHeaders[ii]; }; @@ -400,16 +420,7 @@ G4Material* DicomDetectorConstruction::BuildMaterialWithChangingDensity( const G } //----------------------------------------------------------------------- -G4String DicomDetectorConstruction::ftoa(float flo) -{ - char ctmp[100]; - gcvt( flo, 10, ctmp ); - return G4String(ctmp); -} - - -//------------------------------------------------------------- -void DicomDetectorConstruction::ConstructPatientContainer() +void DicomDetectorConstruction::ConstructPhantomContainer() { //---- Extract number of voxels and voxel dimensions nVoxelX = fZSliceHeaderMerged->GetNoVoxelX(); @@ -427,11 +438,11 @@ void DicomDetectorConstruction::ConstructPatientContainer() #endif //----- Define the volume that contains all the voxels - container_solid = new G4Box("PhantomContainer",nVoxelX*voxelHalfDimX,nVoxelY*voxelHalfDimY,nVoxelZ*voxelHalfDimZ); + container_solid = new G4Box("phantomContainer",nVoxelX*voxelHalfDimX,nVoxelY*voxelHalfDimY,nVoxelZ*voxelHalfDimZ); container_logic = new G4LogicalVolume( container_solid, fMaterials[0], //the material is not important, it will be fully filled by the voxels - "PhantomContainer", + "phantomContainer", 0, 0, 0 ); //--- Place it on the world G4double offsetX = (fZSliceHeaderMerged->GetMaxX() + fZSliceHeaderMerged->GetMinX() ) /2.; @@ -445,7 +456,7 @@ void DicomDetectorConstruction::ConstructPatientContainer() new G4PVPlacement(0, // rotation posCentreVoxels, container_logic, // The logic volume - "PhantomContainer", // Name + "phantomContainer", // Name world_logic, // Mother false, // No op. bool. 1); // Copy number @@ -455,7 +466,7 @@ void DicomDetectorConstruction::ConstructPatientContainer() #include "G4SDManager.hh" #include "G4MultiFunctionalDetector.hh" -#include "G4PSDoseDeposit_RegNav.hh" +#include "G4PSDoseDeposit.hh" //------------------------------------------------------------- void DicomDetectorConstruction::SetScorer(G4LogicalVolume* voxel_logic) @@ -464,7 +475,7 @@ void DicomDetectorConstruction::SetScorer(G4LogicalVolume* voxel_logic) G4SDManager* SDman = G4SDManager::GetSDMpointer(); // // Sensitive Detector Name - G4String concreteSDname = "PatientSD"; + G4String concreteSDname = "phantomSD"; //------------------------ // MultiFunctionalDetector @@ -476,7 +487,7 @@ void DicomDetectorConstruction::SetScorer(G4LogicalVolume* voxel_logic) voxel_logic->SetSensitiveDetector(MFDet); - G4PSDoseDeposit_RegNav* scorer = new G4PSDoseDeposit_RegNav("DoseDeposit"); + G4PSDoseDeposit* scorer = new G4PSDoseDeposit("DoseDeposit"); MFDet->RegisterPrimitive(scorer); } diff --git a/examples/extended/medical/DICOM/src/DicomEventAction.cc b/examples/extended/medical/DICOM/src/DicomEventAction.cc index 4bf570f271..4eed9e0aa8 100644 --- a/examples/extended/medical/DICOM/src/DicomEventAction.cc +++ b/examples/extended/medical/DICOM/src/DicomEventAction.cc @@ -41,9 +41,6 @@ #include "DicomEventAction.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" DicomEventAction::DicomEventAction():drawFlag("all") { } @@ -54,29 +51,8 @@ DicomEventAction::~DicomEventAction() void DicomEventAction::BeginOfEventAction(const G4Event* evt) { G4cout << "EV: " << evt->GetEventID() << G4endl; - } - -void DicomEventAction::EndOfEventAction(const G4Event* evt) -{ - // extract the trajectories and draw them - - if (G4VVisManager::GetConcreteInstance()) - { - G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer(); - G4int nTrajectories = 0; - if ( trajectoryContainer ) - nTrajectories = trajectoryContainer->entries(); - - for ( G4int i = 0;i < nTrajectories; i++ ) - { - 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); - } - } } +void DicomEventAction::EndOfEventAction(const G4Event*) +{ +} diff --git a/examples/extended/medical/DICOM/src/DicomHandler.cc b/examples/extended/medical/DICOM/src/DicomHandler.cc index e465f14a76..06d10d98f1 100644 --- a/examples/extended/medical/DICOM/src/DicomHandler.cc +++ b/examples/extended/medical/DICOM/src/DicomHandler.cc @@ -35,7 +35,7 @@ // tel (418) 525-4444 #6720 // fax (418) 691 5268 // -// + Universit.AŽé Laval, QuŽébec (QC) Canada +// + University Laval, Quebec (QC) Canada //******************************************************* // //******************************************************* @@ -60,7 +60,7 @@ DicomHandler::DicomHandler() - : DATABUFFSIZE(8192), LINEBUFFSIZE(128), FILENAMESIZE(512), + : DATABUFFSIZE(8192), LINEBUFFSIZE(5020), FILENAMESIZE(512), compression(0), nFiles(0), rows(0), columns(0), bitAllocated(0), maxPixelValue(0), minPixelValue(0), pixelSpacingX(0.), pixelSpacingY(0.), @@ -98,7 +98,7 @@ G4int DicomHandler::ReadFile(FILE *dicom, char * filename2) short readElementId; // identify a particular type information short elementLength2; // deal with element length in 2 bytes //unsigned int elementLength4; // deal with element length in 4 bytes - G4int elementLength4; // deal with element length in 4 bytes + unsigned long elementLength4; // deal with element length in 4 bytes char * data = new char[DATABUFFSIZE]; @@ -118,6 +118,9 @@ G4int DicomHandler::ReadFile(FILE *dicom, char * filename2) // Creating a tag to be identified afterward G4int tagDictionary = readGroupId*0x10000 + readElementId; + + // beginning of the pixels + if(tagDictionary == 0x7FE00010) break; // VR or element length std::fread(buffer,2,1,dicom); @@ -138,14 +141,20 @@ G4int DicomHandler::ReadFile(FILE *dicom, char * filename2) // element length std::fread(buffer, 4, 1, dicom); GetValue(buffer, elementLength4); - - // beginning of the pixels - if(tagDictionary == 0x7FE00010) break; - - if(elementLength4 == 0xFFFFFFFF) G4cerr << "Too difficult for me!" << G4endl; // VR = SQ with undefined length + if(elementLength2 == 0x5153) + { + if(elementLength4 == 0xFFFFFFFF) + read_undefined_nested( dicom ); + else{ + if(read_defined_nested( dicom, elementLength4 )==0){ + G4cerr << "Function read_defined_nested() failed!" << G4endl; + exit(-10); } + } + } else { // Reading the information with data std::fread(data, elementLength4,1,dicom); + } } else { @@ -158,7 +167,7 @@ G4int DicomHandler::ReadFile(FILE *dicom, char * filename2) GetValue(buffer, elementLength2); elementLength4 = elementLength2; - if(tagDictionary == 0x7FE00010) break; // beginning of the pixels + std::fread(data, elementLength4, 1, dicom); @@ -176,26 +185,10 @@ G4int DicomHandler::ReadFile(FILE *dicom, char * filename2) //G4cout << std::hex<< elementLength4 << G4endl; - if(elementLength4 == 0xFFFFFFFF) { - short momreadGroupId; - short momreadElementId; - unsigned int momelementLength4 ; // deal with element length in 4 bytes - G4cout << "Trying to read nested items!" << G4endl; // VR = SQ with undefined length - while(true){ - std::fread(buffer, 2, 1, dicom); - GetValue(buffer, momreadGroupId); - std::fread(buffer, 2, 1, dicom); - GetValue(buffer, momreadElementId); - //G4int momtagDictionary = momreadGroupId*0x10000 + momreadElementId; - //G4cout << "TAG"<< std::hex << momtagDictionary << G4endl; - std::fread(buffer, 4, 1, dicom); - GetValue(buffer, momelementLength4); - //G4cout << "Length"<< std::hex << momelementLength4 << G4endl; - if(momelementLength4 == 0x00000000 || momelementLength4 == 0xFFFFFFFF ) break; - std::fread(buffer, momelementLength4, 1, dicom); - } - } else { - if(tagDictionary == 0x7FE00010) break; // beginning of the pixels + if(elementLength4 == 0xFFFFFFFF) + read_undefined_nested(dicom); + else { + std::fread(data, elementLength4, 1, dicom); @@ -225,10 +218,11 @@ G4int DicomHandler::ReadFile(FILE *dicom, char * filename2) foutG4DCM << ii << " " << (*ite).second << G4endl; } //--- Write number of voxels (assume only one voxel in Z) - foutG4DCM << rows/compression << " " << columns/compression << " 1 " << G4endl; + foutG4DCM << columns/compression << " " << rows/compression << " 1 " << G4endl; //--- Write minimum and maximum extensions - foutG4DCM << -pixelSpacingX*rows/2 << " " << pixelSpacingX*rows/2 << G4endl; - foutG4DCM << -pixelSpacingY*columns/2 << " " << pixelSpacingY*columns/2 << G4endl; + foutG4DCM << -pixelSpacingX*columns/2. << " " << pixelSpacingX*columns/2. << G4endl; + foutG4DCM << -pixelSpacingY*rows/2. << " " << pixelSpacingY*rows/2. << +G4endl; foutG4DCM << sliceLocation-sliceThickness/2. << " " << sliceLocation+sliceThickness/2. << G4endl; // foutG4DCM << compression << G4endl; @@ -347,10 +341,10 @@ void DicomHandler::GetInformation(G4int & tagDictionary, char * data) { pixelSpacingY = atof( datas.substr(iss+2,datas.length()).c_str() ); } else if(tagDictionary == 0x00200037 ) { // Image Orientation ( not used ) - std::printf("[0x00200037] Image Orientation (Patient) -> %s\n", data); + std::printf("[0x00200037] Image Orientation (Phantom) -> %s\n", data); } else if(tagDictionary == 0x00200032 ) { // Image Position ( not used ) - std::printf("[0x00200032] Image Position (Patient,mm) -> %s\n", data); + std::printf("[0x00200032] Image Position (Phantom,mm) -> %s\n", data); } else if(tagDictionary == 0x00180050 ) { // Slice Thickness sliceThickness = atof(data); @@ -568,8 +562,8 @@ G4int DicomHandler::ReadData(FILE *dicom,char * filename2) unsigned int rowsC = rows/compression; unsigned int columnsC = columns/compression; unsigned int planesC = 1; - G4float pixelLocationXM = -pixelSpacingX*rows/2.; - G4float pixelLocationXP = pixelSpacingX*rows/2.; + G4float pixelLocationXM = -pixelSpacingX*columns/2.; + G4float pixelLocationXP = pixelSpacingX*columns/2.; G4float pixelLocationYM = -pixelSpacingY*rows/2.; G4float pixelLocationYP = pixelSpacingY*rows/2.; G4float sliceLocationZM = sliceLocation-sliceThickness/2.; @@ -855,3 +849,100 @@ void DicomHandler::GetValue(char * _val, Type & _rval) { } _rval = *(Type *)_val; } + +G4int DicomHandler::read_defined_nested(FILE * nested,G4int SQ_Length) +{ + // VARIABLES + unsigned short item_GroupNumber; + unsigned short item_ElementNumber; + G4int item_Length; + G4int items_array_length=0; + char * buffer= new char[LINEBUFFSIZE]; + + + while(items_array_length < SQ_Length) + { + std::fread(buffer, 2, 1, nested); + GetValue(buffer, item_GroupNumber); + + std::fread(buffer, 2, 1, nested); + GetValue(buffer, item_ElementNumber); + + std::fread(buffer, 4, 1, nested); + GetValue(buffer, item_Length); + + std::fread(buffer, item_Length, 1, nested); + + items_array_length= items_array_length+8+item_Length; + } + + delete []buffer; + + if(SQ_Length>items_array_length) + return 0; + else + return 1; + +} + +void DicomHandler::read_undefined_nested(FILE * nested) +{ + // VARIABLES + unsigned short item_GroupNumber; + unsigned short item_ElementNumber; + unsigned long item_Length; + char * buffer= new char[LINEBUFFSIZE]; + + + do + { + std::fread(buffer, 2, 1, nested); + GetValue(buffer, item_GroupNumber); + + std::fread(buffer, 2, 1, nested); + GetValue(buffer, item_ElementNumber); + + std::fread(buffer, 4, 1, nested); + GetValue(buffer, item_Length); + + if(item_Length!=0xffffffff) + std::fread(buffer, item_Length, 1, nested); + else + read_undefined_item(nested); + + + }while(item_GroupNumber!=0xFFFE || item_ElementNumber!=0xE0DD || item_Length!=0); + + delete [] buffer; + +} + +void DicomHandler::read_undefined_item(FILE * nested) +{ + // VARIABLES + unsigned short item_GroupNumber; + unsigned short item_ElementNumber; + G4int item_Length; + char *buffer= new char[LINEBUFFSIZE]; + + do + { + std::fread(buffer, 2, 1, nested); + GetValue(buffer, item_GroupNumber); + + std::fread(buffer, 2, 1, nested); + GetValue(buffer, item_ElementNumber); + + std::fread(buffer, 4, 1, nested); + GetValue(buffer, item_Length); + + + if(item_Length!=0) + std::fread(buffer,item_Length,1,nested); + + } + while(item_GroupNumber!=0xFFFE || item_ElementNumber!=0xE00D || item_Length!=0); + + delete []buffer; + +} diff --git a/examples/extended/medical/DICOM/src/DicomIntersectVolume.cc b/examples/extended/medical/DICOM/src/DicomIntersectVolume.cc new file mode 100644 index 0000000000..0c6fe1678f --- /dev/null +++ b/examples/extended/medical/DICOM/src/DicomIntersectVolume.cc @@ -0,0 +1,437 @@ +// +// ******************************************************************** +// * 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 "DicomIntersectVolume.hh" + +#include "G4UIcmdWithAString.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4VSolid.hh" +#include "G4tgrSolid.hh" +#include "G4tgbVolume.hh" +#include "G4Material.hh" +#include "G4PhantomParameterisation.hh" +#include "G4PVParameterised.hh" +#include "G4UIcommand.hh" + +//----------------------------------------------------------------------- +DicomIntersectVolume::DicomIntersectVolume() +{ + theUserVolumeCmd = new G4UIcmdWithAString("/dicom/intersectWithUserVolume",this); + theUserVolumeCmd->SetGuidance("Intersects a phantom with a user-defined volume and outputs the voxels that are totally inside the intersection as a new phantom file. It must have the parameters: POS_X POS_Y POS_Z ANG_X ANG_Y ANG_Z SOLID_TYPE SOLID_PARAM_1 (SOLID_PARAM_2 ...)"); + theUserVolumeCmd->SetParameterName("choice",true); + theUserVolumeCmd->AvailableForStates(G4State_Idle); + + theG4VolumeCmd = new G4UIcmdWithAString("/dicom/intersectWithUserVolume",this); + theG4VolumeCmd->SetGuidance("Intersects a phantom with a user-defined volume and outputs the voxels that are totally inside the intersection as a new phantom file. It must have the parameters: POS_X POS_Y POS_Z ANG_X ANG_Y ANG_Z SOLID_TYPE SOLID_PARAM_1 (SOLID_PARAM_2 ...)"); + theG4VolumeCmd->SetParameterName("choice",true); + theG4VolumeCmd->AvailableForStates(G4State_Idle); + +} + + //----------------------------------------------------------------------- +DicomIntersectVolume::~DicomIntersectVolume() +{ + if (theUserVolumeCmd) delete theUserVolumeCmd; + if (theG4VolumeCmd) delete theG4VolumeCmd; +} + +//--------------------------------------------------------------------- +void DicomIntersectVolume::SetNewValue(G4UIcommand * command, + G4String newValues) +{ + G4AffineTransform theVolumeTransform; + + if (command == theUserVolumeCmd) { + + std::vector params = GetWordsInString( newValues ); + if( params.size() < 8 ) { + G4Exception("GmPositionUserVolumes::SetParams"," There must be at least 8 parameter: SOLID_TYPE POS_X POS_Y POS_Z ANG_X ANG_Y ANG_Z SOLID_PARAM_1 (SOLID_PARAM_2 ...)",FatalErrorInArgument,G4String("Number of parameters given = " + G4UIcommand::ConvertToString( G4int(params.size()) )).c_str()); + + } + + //----- Build G4VSolid + BuildUserSolid(params); + + //----- Calculate volume inverse 3D transform + G4ThreeVector pos = G4ThreeVector( G4UIcommand::ConvertToDouble(params[0]), G4UIcommand::ConvertToDouble(params[1]), G4UIcommand::ConvertToDouble(params[2]) ); + G4RotationMatrix* rotmat = new G4RotationMatrix; + std::vector angles; + rotmat->rotateX( G4UIcommand::ConvertToDouble(params[3]) ); + rotmat->rotateY( G4UIcommand::ConvertToDouble(params[4]) ); + rotmat->rotateY( G4UIcommand::ConvertToDouble(params[5]) ); + theVolumeTransform = G4AffineTransform( rotmat, pos ).Invert(); + + } else if (command == theG4VolumeCmd) { + std::vector params = GetWordsInString( newValues ); + if( params.size() !=1 ) G4Exception("Command: "+ command->GetCommandPath() + "/" + command->GetCommandName() + " " + newValues + " needs 1 argument: VOLUME_NAME"); + + //----- Build G4VSolid + BuildG4Solid(params); + + //----- Calculate volume inverse 3D transform + G4VPhysicalVolume* pv = GetPhysicalVolumes( params[0], 1, 1)[0]; + + theVolumeTransform = G4AffineTransform( pv->GetFrameRotation(), pv->GetFrameTranslation() ); + } + + //----- Calculate relative phantom - volume 3D transform + G4PhantomParameterisation* thePhantomParam = GetPhantomParam(true); + + G4RotationMatrix* rotph = new G4RotationMatrix(); // assumes the phantom mother is not rotated !!! + G4AffineTransform thePhantomTransform( rotph, G4ThreeVector() ); // assumes the phantom mother is not translated !!! + + G4AffineTransform theTransform = theVolumeTransform*thePhantomTransform; + + G4ThreeVector axisX( 1., 0., 0. ); + G4ThreeVector axisY( 0., 1., 0. ); + G4ThreeVector axisZ( 0., 0., 1. ); + theTransform.ApplyAxisTransform(axisX); + theTransform.ApplyAxisTransform(axisY); + theTransform.ApplyAxisTransform(axisZ); + + //----- Write phantom header + G4String thePhantomFileName = "phantom.g4pdcm"; + fout.open(thePhantomFileName); + std::vector materials = thePhantomParam->GetMaterials(); + fout << materials.size() << G4endl; + for( unsigned int ii = 0; ii < materials.size(); ii++ ) { + fout << ii << " " << materials[ii]->GetName() << G4endl; + } + + //----- Loop to pantom voxels + G4int nx = thePhantomParam->GetNoVoxelX(); + G4int ny = thePhantomParam->GetNoVoxelY(); + G4int nz = thePhantomParam->GetNoVoxelZ(); + G4int nxy = nx*ny; + theVoxelIsInside = new G4bool[nx*ny*nz]; + G4double voxelHalfWidthX = thePhantomParam->GetVoxelHalfX(); + G4double voxelHalfWidthY = thePhantomParam->GetVoxelHalfY(); + G4double voxelHalfWidthZ = thePhantomParam->GetVoxelHalfZ(); + + //----- Write phantom dimensions and limits + fout << nx << " " << ny << " " << nz << G4endl; + fout << -voxelHalfWidthX*nx+thePhantomTransform.NetTranslation().x() << " " + << voxelHalfWidthX*nx+thePhantomTransform.NetTranslation().x() << G4endl; + fout << -voxelHalfWidthY*ny+thePhantomTransform.NetTranslation().y() << " " + << voxelHalfWidthY*ny+thePhantomTransform.NetTranslation().y() << G4endl; + fout << -voxelHalfWidthZ*nz+thePhantomTransform.NetTranslation().z() << " " + << voxelHalfWidthZ*nz+thePhantomTransform.NetTranslation().z() << G4endl; + + for( G4int iz = 0; iz < nz; iz++ ){ + for( G4int iy = 0; iy < ny; iy++) { + + G4bool bPrevVoxelInside = true; + G4bool b1VoxelFoundInside = false; + G4int firstVoxel = -1; + G4int lastVoxel = -1; + for(G4int ix = 0; ix < nx; ix++ ){ + G4ThreeVector voxelCentre( (-nx+ix*2+1)*voxelHalfWidthX, (-ny+iy*2+1)*voxelHalfWidthY, (-nz+iz*2+1)*voxelHalfWidthZ); + theTransform.ApplyPointTransform(voxelCentre); + G4bool bVoxelIsInside = true; + for( G4int ivx = -1; ivx <= 1; ivx+=2 ) { + for( G4int ivy = -1; ivy <= 1; ivy+=2 ){ + for( G4int ivz = -1; ivz <= 1; ivz+=2 ) { + G4ThreeVector voxelPoint = voxelCentre + ivx*voxelHalfWidthX*axisX + ivy*voxelHalfWidthY*axisY + ivz*voxelHalfWidthZ*axisZ; + if( theSolid->Inside( voxelPoint ) == kOutside ) { + bVoxelIsInside = false; + break; + } else { + } + } + if( !bVoxelIsInside ) break; + } + if( !bVoxelIsInside ) break; + } + + G4int copyNo = ix + nx*iy + nxy*iz; + if( bVoxelIsInside ) { + if( !bPrevVoxelInside ) { + G4Exception("G4PhantomIntersectVolume", + "Volume cannot intersect phantom in discontiguous voxels, please use other voxel", + FatalException, + ""); + } + if( !b1VoxelFoundInside ) { + firstVoxel = ix; + b1VoxelFoundInside = true; + } + lastVoxel = ix; + theVoxelIsInside[copyNo] = true; + } else { + theVoxelIsInside[copyNo] = false; + } + + } + fout << firstVoxel << " " << lastVoxel << G4endl; + } + } + + //----- Now write the materials + for( G4int iz = 0; iz < nz; iz++ ){ + for( G4int iy = 0; iy < ny; iy++) { + G4bool b1xFound = false; + for(G4int ix = 0; ix < nx; ix++ ){ + size_t copyNo = ix + ny*iy + nxy*iz; + // fout << " iz " << iz << " i " << iy << " ix " << ix << G4endl; + if( theVoxelIsInside[copyNo] ) { + fout << thePhantomParam->GetMaterialIndex(copyNo)<< " "; + b1xFound = true; + } + } + if(b1xFound ) fout << G4endl; + } + } + + // Now write densities + for( G4int iz = 0; iz < nz; iz++ ){ + for( G4int iy = 0; iy < ny; iy++) { + G4bool b1xFound = false; + for(G4int ix = 0; ix < nx; ix++ ){ + size_t copyNo = ix + ny*iy + nxy*iz; + if( theVoxelIsInside[copyNo] ) { + fout << thePhantomParam->GetMaterial(copyNo)->GetDensity()/g*cm3 << " "; + b1xFound = true; + } + } + if(b1xFound ) fout << G4endl; + } + } + +} + +//--------------------------------------------------------------------- +void DicomIntersectVolume::BuildUserSolid( std::vector params ) +{ + for( G4int ii = 0; ii < 6; ii++ ) params.erase( params.begin() ); // take otu position and rotation angles + params.insert( params.begin(), ":SOLID"); + params.insert( params.begin(), params[1] ); + G4tgrSolid* tgrSolid = new G4tgrSolid(params); + G4tgbVolume* tgbVolume = new G4tgbVolume(); + theSolid = tgbVolume->FindOrConstructG4Solid( tgrSolid ); + +} + +//--------------------------------------------------------------------- +void DicomIntersectVolume::BuildG4Solid( std::vector params ) +{ + theSolid = GetLogicalVolumes( params[0], 1, 1)[0]->GetSolid(); + +} + + + +//----------------------------------------------------------------------- +G4PhantomParameterisation* DicomIntersectVolume::GetPhantomParam(G4bool bMustExist) +{ + G4PhantomParameterisation* paramreg = 0; + + G4PhysicalVolumeStore* pvs = G4PhysicalVolumeStore::GetInstance(); + std::vector::iterator cite; + for( cite = pvs->begin(); cite != pvs->end(); cite++ ) { + // G4cout << " PV " << (*cite)->GetName() << " " << (*cite)->GetTranslation() << G4endl; + if( IsPhantomVolume( *cite ) ) { + const G4PVParameterised* pvparam = static_cast(*cite); + G4VPVParameterisation* param = pvparam->GetParameterisation(); + // if( static_cast(param) ){ + // if( static_cast(param) ){ + // G4cout << "G4PhantomParameterisation volume found " << (*cite)->GetName() << G4endl; + paramreg = static_cast(param); + } + } + + if( !paramreg && bMustExist ) G4Exception("DicomIntersectVolume::GetPhantomParam: No G4PhantomParameterisation found "); + + return paramreg; + +} + + + +//----------------------------------------------------------------------- +std::vector DicomIntersectVolume::GetPhysicalVolumes( const G4String& name, bool exists, G4int nVols ) +{ + std::vector vvolu; + std::string::size_type ial = name.rfind(":"); + G4String volname = ""; + G4int volcopy = 0; + if( ial != std::string::npos ) { + std::string::size_type ial2 = name.rfind(":",ial-1); + if( ial2 != std::string::npos ) { + G4Exception("DicomIntersectVolume::GetPhysicalVolumes: name corresponds to a touchable " + name); + }else { + volname = name.substr( 0, ial ); + volcopy = G4UIcommand::ConvertToInt( name.substr( ial+1, name.length() ).c_str() ); + } + } else { + volname = name; + volcopy = -1; + } + + G4PhysicalVolumeStore* pvs = G4PhysicalVolumeStore::GetInstance(); + std::vector::iterator citepv; + for( citepv = pvs->begin(); citepv != pvs->end(); citepv++ ) { + if( volname == (*citepv)->GetName() + && ( (*citepv)->GetCopyNo() == volcopy || -1 == volcopy ) ){ + vvolu.push_back( *citepv ); + } + } + + //----- Check that at least one volume was found + if( vvolu.size() == 0 ) { + if(exists) { + G4Exception(" DicomIntersectVolume::GetPhysicalVolumes: no physical volume found with name " + name); + } else { + G4cerr << "!!WARNING: DicomIntersectVolume::GetPhysicalVolumes: no physical volume found with name " << name << G4endl; + } + } + + if( nVols != -1 && G4int(vvolu.size()) != nVols ) { + G4Exception("DicomIntersectVolume::GetLogicalVolumes:", + "Wrong number of physical volumes found", + FatalErrorInArgument, + ("Number of physical volumes " + G4UIcommand::ConvertToString(G4int(vvolu.size())) + ", requesting " + G4UIcommand::ConvertToString(nVols)).c_str()); + } + + return vvolu; +} + + +//----------------------------------------------------------------------- +G4bool DicomIntersectVolume::IsPhantomVolume( G4VPhysicalVolume* pv ) +{ + EAxis axis; + G4int nReplicas; + G4double width,offset; + G4bool consuming; + pv->GetReplicationData(axis,nReplicas,width,offset,consuming); + EVolume type = (consuming) ? kReplica : kParameterised; + if( type == kParameterised && pv->GetRegularStructureId() == 1 ) { + return TRUE; + } else { + return FALSE; + } + +} + + +//----------------------------------------------------------------------- +std::vector DicomIntersectVolume::GetLogicalVolumes( const G4String& name, bool exists, G4int nVols ) +{ + // G4cout << "GetLogicalVolumes " << name << " " << exists << G4endl; + std::vector vvolu; + G4int ial = name.rfind(":"); + if( ial != -1 ) { + G4Exception("DicomIntersectVolume::GetLogicalVolumes: name corresponds to a touchable or physcal volume" + name); + } + + G4LogicalVolumeStore* lvs = G4LogicalVolumeStore::GetInstance(); + std::vector::iterator citelv; + for( citelv = lvs->begin(); citelv != lvs->end(); citelv++ ) { + if( name == (*citelv)->GetName() ) { + vvolu.push_back( *citelv ); + } + } + + //----- Check that at least one volume was found + if( vvolu.size() == 0 ) { + if(exists) { + G4Exception("DicomIntersectVolume::GetLogicalVolumes:","ERROR",FatalErrorInArgument,("no logical volume found with name " + name).c_str()); + } else { + G4Exception("DicomIntersectVolume::GetLogicalVolumes:","ERROR",JustWarning,("no logical volume found with name " + name).c_str()); + } + } + + if( nVols != -1 && G4int(vvolu.size()) != nVols ) { + G4Exception("DicomIntersectVolume::GetLogicalVolumes:", + "Wrong number of logical volumes found", + FatalErrorInArgument, + ("Number of logical volumes " + G4UIcommand::ConvertToString(G4int(vvolu.size())) + ", requesting " + G4UIcommand::ConvertToString(nVols)).c_str()); + } + + return vvolu; + +} + + +//------------------------------------------------------------------------ +std::vector DicomIntersectVolume::GetWordsInString( const G4String& stemp) +{ + std::vector wordlist; + + //---------- Read a line of file: + //----- Clear wordlist + G4int ii; + const char* cstr = stemp.c_str(); + int siz = stemp.length(); + int istart = 0; + int nQuotes = 0; + bool lastIsBlank = false; + bool lastIsQuote = false; + for( ii = 0; ii < siz; ii++ ){ + if(cstr[ii] == '\"' ){ + if( lastIsQuote ){ + G4Exception("GmGenUtils:GetWordsFromString","ERROR",FatalException, ("There cannot be two quotes together " + stemp).c_str() ); + } + if( nQuotes%2 == 1 ){ + //close word + wordlist.push_back( stemp.substr(istart,ii-istart) ); + // G4cout << "GetWordsInString new word0 " << wordlist[wordlist.size()-1] << " istart " << istart << " ii " << ii << G4endl; + } else { + istart = ii+1; + } + nQuotes++; + lastIsQuote = true; + lastIsBlank = false; + } else if(cstr[ii] == ' ' ){ + // G4cout << "GetWordsInString blank nQuotes " << nQuotes << " lastIsBlank " << lastIsBlank << G4endl; + if( nQuotes%2 == 0 ){ + if( !lastIsBlank && !lastIsQuote ) { + wordlist.push_back( stemp.substr(istart,ii-istart) ); + // G4cout << "GetWordsInString new word1 " << wordlist[wordlist.size()-1] << " lastIsBlank " << lastIsBlank << G4endl; + } + + istart = ii+1; + lastIsQuote = false; + lastIsBlank = true; + } + } else { + if( ii == siz-1 ) { + wordlist.push_back( stemp.substr(istart,ii-istart+1) ); + // G4cout << "GetWordsInString new word2 " << wordlist[wordlist.size()-1] << " istart " << istart << G4endl; + } + lastIsQuote = false; + lastIsBlank = false; + } + } + if( nQuotes%2 == 1 ) { + G4Exception("GmGenUtils:GetWordsFromString","ERROR",FatalException, ("unbalanced quotes in line " + stemp).c_str() ); + } + + return wordlist; +} + diff --git a/examples/extended/medical/DICOM/src/DicomPartialDetectorConstruction.cc b/examples/extended/medical/DICOM/src/DicomPartialDetectorConstruction.cc new file mode 100644 index 0000000000..05000fe864 --- /dev/null +++ b/examples/extended/medical/DICOM/src/DicomPartialDetectorConstruction.cc @@ -0,0 +1,452 @@ +// +// ******************************************************************** +// * 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 "globals.hh" + +#include "DicomPartialDetectorConstruction.hh" + +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVParameterised.hh" +#include "G4Material.hh" +#include "G4Element.hh" +#include "G4VisAttributes.hh" +#include "G4Colour.hh" +#include "G4ios.hh" +#include "G4PartialPhantomParameterisation.hh" +#include "G4NistManager.hh" +#include "G4UIcommand.hh" +#include "G4Tubs.hh" + +#include "G4tgbVolumeMgr.hh" +#include "G4tgbMaterialMgr.hh" +#include "G4tgrMessenger.hh" +#include "G4tgrMessenger.hh" + +//--------------------------------------------------------------------------- +DicomPartialDetectorConstruction::DicomPartialDetectorConstruction() +{ +} + +//--------------------------------------------------------------------------- +DicomPartialDetectorConstruction::~DicomPartialDetectorConstruction() +{ +} + + +//------------------------------------------------------------- +G4VPhysicalVolume* DicomPartialDetectorConstruction::Construct() +{ + InitialisationOfMaterials(); + + //----- Build world + G4double worldXDimension = 1.*m; + G4double worldYDimension = 1.*m; + G4double worldZDimension = 1.*m; + + G4Box* world_solid = new G4Box( "WorldSolid", + worldXDimension, + worldYDimension, + worldZDimension ); + + world_logic = new G4LogicalVolume( world_solid, + air, + "WorldLogical", + 0, 0, 0 ); + + G4VPhysicalVolume* world_phys = new G4PVPlacement( 0, + G4ThreeVector(0,0,0), + "World", + world_logic, + 0, + false, + 0 ); + + ReadPhantomData(); + + ConstructPhantomContainer(); + ConstructPhantom(); + + return world_phys; +} + + +//------------------------------------------------------------- +void DicomPartialDetectorConstruction::ReadPhantomData() +{ + std::ifstream finDF("Data.dat"); + G4String fname; + if(finDF.good() != 1 ) { + G4Exception(" DicomPartialDetectorConstruction::ReadPhantomData. Problem reading data file: Data.dat"); + } + + G4int compression; + finDF >> compression; // not used here + + G4int fNoFiles; + finDF >> fNoFiles; // only 1 file supported for the moment + if( fNoFiles != 1 ) { + G4Exception("DicomPartialDetectorConstruction::ReadPhantomData", + "More than 1 DICOM file is not supported", + FatalErrorInArgument, + ""); + } + for(G4int i = 0; i < fNoFiles; i++ ) { + finDF >> fname; + //--- Read one data file + fname += ".g4pdcm"; + ReadPhantomDataFile(fname); + } + + finDF.close(); + +} + + +//--------------------------------------------------------------------------- +void DicomPartialDetectorConstruction::ReadPhantomDataFile(const G4String& fname) +{ + // G4String filename = "phantom.g4pdcm"; +#ifdef G4VERBOSE + G4cout << " DicomDetectorConstruction::ReadPhantomDataFile opening file " << fname << G4endl; +#endif + std::ifstream fin(fname.c_str(), std::ios_base::in); + if( !fin.is_open() ) { + G4Exception("DicomPartialDetectorConstruction::ReadPhantomDataFile. File not found " + fname ); + } + G4int nMaterials; + fin >> nMaterials; + G4String stemp; + G4int nmate; + for( G4int ii = 0; ii < nMaterials; ii++ ){ + fin >> nmate >> stemp; + G4cout << "DicomPartialDetectorConstruction::ReadPhantomData reading nmate " << ii << " = " << nmate << " mate " << stemp << G4endl; + if( ii != nmate ) G4Exception("DicomPartialDetectorConstruction::ReadPhantomData material number should be in increasing order: wrong material number "); + } + + fin >> nVoxelX >> nVoxelY >> nVoxelZ; + G4cout << "DicomPartialDetectorConstruction::ReadPhantomData nVoxel X/Y/Z " << nVoxelX << " " << nVoxelY << " " << nVoxelZ << G4endl; + fin >> offsetX >> dimX; + dimX = (dimX - offsetX)/nVoxelX; + fin >> offsetY >> dimY; + dimY = (dimY - offsetY)/nVoxelY; + fin >> offsetZ >> dimZ; + dimZ = (dimZ - offsetZ)/nVoxelZ; + G4cout << "DicomPartialDetectorConstruction::ReadPhantomData voxelDimX " << dimX << " offsetX " << offsetX << G4endl; + G4cout << "DicomPartialDetectorConstruction::ReadPhantomData voxelDimY " << dimY << " offsetY " << offsetY << G4endl; + G4cout << "DicomPartialDetectorConstruction::ReadPhantomData voxelDimZ " << dimZ << " offsetZ " << offsetZ << G4endl; + + //--- Read voxels that are filled + theNVoxels = 0; + // G4bool* isFilled = new G4bool[nVoxelX*nVoxelY*nVoxelZ]; + // theFilledIDs = new size_t[nVoxelZ*nVoxelY+1]; + //? theFilledIDs.insert(0); + int ifxmin1, ifxmax1; + for( G4int iz = 0; iz < nVoxelZ; iz++ ) { + std::map< G4int, G4int > ifmin, ifmax; + for( G4int iy = 0; iy < nVoxelY; iy++ ) { + fin >> ifxmin1 >> ifxmax1; + // check coherence ... + + ifmin[iy] = ifxmin1; + ifmax[iy] = ifxmax1; + G4int ifxdiff = ifxmax1-ifxmin1+1; + if( ifxmax1 == -1 && ifxmin1 == -1 ) ifxdiff = 0; + // theFilledIDs.insert(std::multimap::value_type(ifxdiff+theNVoxels, ifxmin1)); + theFilledIDs.insert(std::pair(ifxdiff+theNVoxels-1, ifxmin1)); + G4cout << "DicomPartialDetectorConstruction::ReadPhantomData insert FilledIDs " << ifxdiff+theNVoxels-1 << " min " << ifxmin1 << " N= " << theFilledIDs.size() << G4endl; + //filledIDs[iz*nVoxelY+iy+1] = ifxmax1-ifxmin1+1; + for( G4int ix = 0; ix < nVoxelX; ix++ ) { + // G4cout << "REGNAV DicomPartialDetectorConstruction::ReadPhantomData checking to add voxel iz " << iz << " iy " << iy << " ix " << ix << " min= " << ifxmin1 << " max= " << ifxmax1 << G4endl; + // G4int copyNo = ix + (iy)*nVoxelX + (iz)*nVoxelX*nVoxelY; + if( ix >= G4int(ifxmin1) && ix <= G4int(ifxmax1) ) { + // isFilled[copyNo] = true; + theNVoxels++; + } else { + // isFilled[copyNo] = false; + } + } + } + theFilledMins[iz] = ifmin; + theFilledMaxs[iz] = ifmax; + } + + //--- Read material IDs + G4int mateID1; + mateIDs = new size_t[nVoxelX*nVoxelY*nVoxelZ]; + G4int copyNo = 0; + for( G4int iz = 0; iz < nVoxelZ; iz++ ) { + std::map< G4int, G4int > ifmin = theFilledMins[iz]; + std::map< G4int, G4int > ifmax = theFilledMaxs[iz]; + for( G4int iy = 0; iy < nVoxelY; iy++ ) { + ifxmin1 = ifmin[iy]; + ifxmax1 = ifmax[iy]; + for( G4int ix = 0; ix < nVoxelX; ix++ ) { + if( ix >= G4int(ifxmin1) && ix <= G4int(ifxmax1) ) { + fin >> mateID1; + if( mateID1 < 0 || mateID1 >= nMaterials ) { + G4Exception("DicomPartialDetectorConstruction::ReadPhantomData", + "Wrong index in phantom file", + FatalException, + G4String("It should be between 0 and " + + G4UIcommand::ConvertToString(nMaterials-1) + + ", while it is " + + G4UIcommand::ConvertToString(mateID1)).c_str()); + } + mateIDs[copyNo] = mateID1; + copyNo++; + } + } + } + } + + ReadVoxelDensitiesPartial( fin ); + + fin.close(); +} + + +//------------------------------------------------------------------------ +void DicomPartialDetectorConstruction::ReadVoxelDensitiesPartial( std::ifstream& fin ) +{ + std::map > densiMinMax; + std::map >::iterator mpite; + for( size_t ii = 0; ii < fOriginalMaterials.size(); ii++ ){ + densiMinMax[ii] = std::pair(DBL_MAX,-DBL_MAX); + } + + //----- Define density differences (maximum density difference to create a new material) + char* part = getenv( "DICOM_CHANGE_MATERIAL_DENSITY" ); + G4double densityDiff = -1.; + if( part ) densityDiff = G4UIcommand::ConvertToDouble(part); + + std::map densityDiffs; + if( densityDiff != -1. ) { + for( size_t ii = 0; ii < fOriginalMaterials.size(); ii++ ){ + densityDiffs[ii] = densityDiff; //currently all materials with same step + } + }else { + if( fMaterials.size() == 0 ) { // do it only for first slice + for( unsigned int ii = 0; ii < fOriginalMaterials.size(); ii++ ){ + fMaterials.push_back( fOriginalMaterials[ii] ); + } + } + } + + // densityDiffs[0] = 0.0001; //air + + //--- Calculate the average material density for each material/density bin + std::map< std::pair, matInfo* > newMateDens; + + G4double dens1; + size_t ifxmin1, ifxmax1; + + //---- Read the material densities + G4int copyNo = 0; + for( G4int iz = 0; iz < nVoxelZ; iz++ ) { + std::map< G4int, G4int > ifmin = theFilledMins[iz]; + std::map< G4int, G4int > ifmax = theFilledMaxs[iz]; + for( G4int iy = 0; iy < nVoxelY; iy++ ) { + ifxmin1 = ifmin[iy]; + ifxmax1 = ifmax[iy]; + for( G4int ix = 0; ix < nVoxelX; ix++ ) { + if( ix >= G4int(ifxmin1) && ix <= G4int(ifxmax1) ) { + fin >> dens1; + // G4cout << ix << " " << iy << " " << iz << " filling mateIDs " << copyNo << " = " << atoi(stemp.c_str())-1 << " " << stemp << G4endl; + + //--- store the minimum and maximum density for each material (just for printing) + mpite = densiMinMax.find( mateIDs[copyNo] ); + if( dens1 < (*mpite).second.first ) (*mpite).second.first = dens1; + if( dens1 > (*mpite).second.second ) (*mpite).second.second = dens1; + + //--- Get material from original list of material in file + int mateID = mateIDs[copyNo]; + G4Material* mate = fOriginalMaterials[mateID]; + // G4cout << copyNo << " mateID " << mateID << G4endl; + //--- Check if density is equal to the original material density + if( std::fabs(dens1 - mate->GetDensity()/g*cm3 ) < 1.e-9 ) continue; + + //--- Build material name with fOriginalMaterials name + density + // float densityBin = densityDiffs[mateID] * (G4int(dens1/densityDiffs[mateID])+0.5); + G4String newMateName = mate->GetName(); + + G4int densityBin = 0; + // G4cout << " densityBin " << densityBin << " " << dens1 << " " <GetName()+G4UIcommand::ConvertToString(densityBin); + } + + //--- Look if it is the first voxel with this material/densityBin + std::pair matdens(mate, densityBin ); + + std::map< std::pair, matInfo* >::iterator mppite = newMateDens.find( matdens ); + if( mppite != newMateDens.end() ){ + matInfo* mi = (*mppite).second; + mi->sumdens += dens1; + mi->nvoxels++; + mateIDs[copyNo] = fOriginalMaterials.size()-1 + mi->id; + // G4cout << copyNo << " mat new again " << fOriginalMaterials.size()-1 + mi->id << " " << mi->id << G4endl; + } else { + matInfo* mi = new matInfo; + mi->sumdens = dens1; + mi->nvoxels = 1; + mi->id = newMateDens.size()+1; + newMateDens[matdens] = mi; + mateIDs[copyNo] = fOriginalMaterials.size()-1 + mi->id; + // G4cout << copyNo << " mat new first " << fOriginalMaterials.size()-1 + mi->id << G4endl; + } + copyNo++; + // G4cout << ix << " " << iy << " " << iz << " filling mateIDs " << copyNo << " = " << atoi(cid)-1 << G4endl; + // mateIDs[copyNo] = atoi(cid)-1; + } + } + } + } + + //----- Build the list of phantom materials that go to Parameterisation + //--- Add original materials + std::vector::const_iterator mimite; + for( mimite = fOriginalMaterials.begin(); mimite != fOriginalMaterials.end(); mimite++ ){ + thePhantomMaterials.push_back( (*mimite) ); + } + // + //---- Build and add new materials + std::map< std::pair, matInfo* >::iterator mppite; + for( mppite= newMateDens.begin(); mppite != newMateDens.end(); mppite++ ){ + G4double averdens = (*mppite).second->sumdens/(*mppite).second->nvoxels; + G4double saverdens = G4int(1000.001*averdens)/1000.; + G4cout << "GmReadPhantomGeometry::ReadVoxelDensities AVER DENS " << averdens << " -> " << saverdens << " -> " << G4int(1000*averdens) << " " << G4int(1000*averdens)/1000 << " " << G4int(1000*averdens)/1000. << G4endl; + + G4cout << "GmReadPhantomGeometry::ReadVoxelDensities AVER DENS " << averdens << " -> " << saverdens << " -> " << G4UIcommand::ConvertToString(saverdens) << " Nvoxels " <<(*mppite).second->nvoxels << G4endl; + G4String mateName = ((*mppite).first).first->GetName() + "_" + G4UIcommand::ConvertToString(saverdens); + thePhantomMaterials.push_back( BuildMaterialWithChangingDensity( (*mppite).first.first, averdens, mateName ) ); + } + +} + + +//----------------------------------------------------------------------- +void DicomPartialDetectorConstruction::ConstructPhantomContainer() +{ + //build a clinder that encompass the partial phantom built in the example + // /dicom/intersectWithUserVolume 0. 0. 0. 0.*deg 0. 0. TUBE 0. 200. 100. + //---- Extract number of voxels and voxel dimensions + + G4String contname= "PhantomContainer"; + + //----- Define the volume that contains all the voxels + G4Tubs* container_solid = new G4Tubs(contname,0., 200., 100., 0., 360*deg); + + container_logic = + new G4LogicalVolume( container_solid, + air, + contname, + 0, 0, 0 ); + + G4ThreeVector posCentreVoxels(0.,0.,0.); + //G4cout << " PhantomContainer posCentreVoxels " << posCentreVoxels << G4endl; + G4RotationMatrix* rotm = new G4RotationMatrix; + + container_phys = + new G4PVPlacement(rotm, // rotation + posCentreVoxels, + container_logic, // The logic volume + contname, // Name + world_logic, // Mother + false, // No op. bool. + 1); // Copy number + +} + + +//--------------------------------------------------------------------------- +void DicomPartialDetectorConstruction::ConstructPhantom() +{ + G4String OptimAxis = "kXAxis"; + G4bool bSkipEqualMaterials = 0; + G4int regStructureID = 2; + + G4ThreeVector posCentreVoxels(0.,0.,0.); + + //----- Build phantom + G4String voxelName = "phantom"; + G4Box* phantom_solid = new G4Box(voxelName, dimX/2., dimY/2., dimZ/2. ); + G4LogicalVolume* phantom_logic = + new G4LogicalVolume( phantom_solid, + air, + voxelName, + 0, 0, 0 ); + G4bool pVis = 0; + if( !pVis ) { + G4VisAttributes* visAtt = new G4VisAttributes( FALSE ); + phantom_logic->SetVisAttributes( visAtt ); + } + + G4double theSmartless = 0.5; + // container_logic->SetSmartless( theSmartless ); + phantom_logic->SetSmartless( theSmartless ); + + thePartialPhantomParam = new G4PartialPhantomParameterisation(); + + thePartialPhantomParam->SetMaterials( thePhantomMaterials ); + thePartialPhantomParam->SetVoxelDimensions( dimX/2., dimY/2., dimZ/2. ); + thePartialPhantomParam->SetNoVoxel( nVoxelX, nVoxelY, nVoxelZ ); + thePartialPhantomParam->SetMaterialIndices( mateIDs ); + + thePartialPhantomParam->SetFilledIDs(theFilledIDs); + + thePartialPhantomParam->SetFilledMins(theFilledMins); + + thePartialPhantomParam->BuildContainerWalls(); + + // G4cout << " Number of Materials " << thePhantomMaterials.size() << G4endl; + // G4cout << " SetMaterialIndices(0) " << mateIDs[0] << G4endl; + + G4PVParameterised * phantom_phys = 0; + if( OptimAxis == "kUndefined" ) { + phantom_phys = new G4PVParameterised(voxelName,phantom_logic,container_logic, + kUndefined, theNVoxels, thePartialPhantomParam); + } else if( OptimAxis == "kXAxis" ) { + // G4cout << " optim kX " << G4endl; + phantom_phys = new G4PVParameterised(voxelName,phantom_logic,container_logic, + // kXAxis, nVoxelX*nVoxelY*nVoxelZ, thePartialPhantomParam); + kXAxis, theNVoxels, thePartialPhantomParam); + thePartialPhantomParam->SetSkipEqualMaterials(bSkipEqualMaterials); + } else { + G4Exception("GmReadPhantomGeometry::ConstructPhantom","Wrong argument to parameter GmReadPhantomGeometry:Phantom:OptimAxis",FatalErrorInArgument,(G4String("Only allowed 'kUndefined' or 'kXAxis', it is: "+OptimAxis).c_str())); + } + + phantom_phys->SetRegularStructureId(regStructureID); + + // G4cout << " GmReadPhantomGeometry phantom_phys " << phantom_phys << " trans " << phantom_phys->GetTranslation() << G4endl; + //- thePartialPhantomParam->BuildContainerSolid(cont_phys); + + // G4cout << " GmReadPhantomGeometry::constructPhantom ended " << G4endl; + +} diff --git a/examples/extended/medical/DICOM/src/DicomPhantomParameterisationColour.cc b/examples/extended/medical/DICOM/src/DicomPhantomParameterisationColour.cc index 77118c5fff..0f372ea86c 100755 --- a/examples/extended/medical/DICOM/src/DicomPhantomParameterisationColour.cc +++ b/examples/extended/medical/DICOM/src/DicomPhantomParameterisationColour.cc @@ -76,7 +76,7 @@ ComputeMaterial(const G4int copyNo, G4VPhysicalVolume * physVol, const G4VToucha G4Material* mate = G4PhantomParameterisation::ComputeMaterial( copyNo, physVol, 0 ); if( physVol ) { G4String mateName = mate->GetName(); - unsigned int iuu = mateName.find("__"); + std::string::size_type iuu = mateName.find("__"); if( iuu != std::string::npos ) { mateName = mateName.substr( 0, iuu ); } diff --git a/examples/extended/medical/DICOM/src/DicomPhantomZSliceHeader.cc b/examples/extended/medical/DICOM/src/DicomPhantomZSliceHeader.cc new file mode 100644 index 0000000000..c0ed7a8fda --- /dev/null +++ b/examples/extended/medical/DICOM/src/DicomPhantomZSliceHeader.cc @@ -0,0 +1,176 @@ +// +// ******************************************************************** +// * 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 "globals.hh" +#include "G4LogicalVolume.hh" +#include "G4MaterialTable.hh" +#include "G4Material.hh" +#include "G4GeometryTolerance.hh" + +#include "DicomPhantomZSliceHeader.hh" + +//------------------------------------------------------------- +DicomPhantomZSliceHeader::DicomPhantomZSliceHeader( const DicomPhantomZSliceHeader& rhs ) +{ + fNoVoxelX = rhs.GetNoVoxelX(); + fNoVoxelY = rhs.GetNoVoxelY(); + fNoVoxelZ = rhs.GetNoVoxelZ(); + fMinX = rhs.GetMinX(); + fMaxX = rhs.GetMaxX(); + fMinY = rhs.GetMinY(); + fMaxY = rhs.GetMaxY(); + fMinZ = rhs.GetMinZ(); + fMaxZ = rhs.GetMaxZ(); + fMaterialNames = rhs.GetMaterialNames(); + +} + +//------------------------------------------------------------- +DicomPhantomZSliceHeader::DicomPhantomZSliceHeader( std::ifstream& fin ) +{ + //----- Read material indices and names + G4int nmate; + G4String mateindex; + G4String matename; + fin >> nmate; +#ifdef G4VERBOSE + G4cout << " DicomPhantomZSliceHeader reading number of materials " << nmate << G4endl; +#endif + + for( G4int im = 0; im < nmate; im++ ){ + fin >> mateindex >> matename; +#ifdef G4VERBOSE + G4cout << " DicomPhantomZSliceHeader reading material " << im << " : " << mateindex << " " << matename << G4endl; +#endif + + if( ! CheckMaterialExists( matename ) ) { + G4Exception("DicomPhantomZSliceHeader::DicomPhantomZSliceHeader","A material is found in file that is not built in the C++ code",FatalErrorInArgument,matename.c_str()); + } + + fMaterialNames.push_back(matename); + } + + //----- Read number of voxels + fin >> fNoVoxelX >> fNoVoxelY >> fNoVoxelZ; +#ifdef G4VERBOSE + G4cout << " Number of voxels " << fNoVoxelX << " " << fNoVoxelY << " " << fNoVoxelZ << G4endl; +#endif + + //----- Read minimal and maximal extensions (= walls of phantom) + fin >> fMinX >> fMaxX; + fin >> fMinY >> fMaxY; + fin >> fMinZ >> fMaxZ; +#ifdef G4VERBOSE + G4cout << " Extension in X " << fMinX << " " << fMaxX << G4endl + << " Extension in Y " << fMinY << " " << fMaxY << G4endl + << " Extension in Z " << fMinZ << " " << fMaxZ << G4endl; +#endif + +} + +//------------------------------------------------------------- +G4bool DicomPhantomZSliceHeader::CheckMaterialExists( const G4String& mateName ) +{ + G4bool bFound = FALSE; + + const G4MaterialTable* matTab = G4Material::GetMaterialTable(); + std::vector::const_iterator matite; + for( matite = matTab->begin(); matite != matTab->end(); matite++ ) { + if( (*matite)->GetName() == mateName ) { + bFound = TRUE; + break; + } + } + + return bFound; + +} + + +//------------------------------------------------------------- +void DicomPhantomZSliceHeader::operator+=( const DicomPhantomZSliceHeader& rhs ) +{ + *this = *this + rhs; +} + +//------------------------------------------------------------- +DicomPhantomZSliceHeader DicomPhantomZSliceHeader::operator+( const DicomPhantomZSliceHeader& rhs ) +{ + //----- Check that both slices has the same dimensions + if( fNoVoxelX != rhs.GetNoVoxelX() + || fNoVoxelY != rhs.GetNoVoxelY() ) { + G4cerr << "DicomPhantomZSliceHeader error adding two slice headers: !!! Different number of voxels: " + << " X= " << fNoVoxelX << " =? " << rhs.GetNoVoxelX() + << " Y= " << fNoVoxelY << " =? " << rhs.GetNoVoxelY() + << " Z= " << fNoVoxelZ << " =? " << rhs.GetNoVoxelZ() + << G4endl; + G4Exception(""); + } + //----- Check that both slices has the same extensions + if( fMinX != rhs.GetMinX() || fMaxX != rhs.GetMaxX() + || fMinY != rhs.GetMinY() || fMaxY != rhs.GetMaxY() ) { + G4cerr << "DicomPhantomZSliceHeader error adding two slice headers: !!! Different extensions: " + << " Xmin= " << fMinX << " =? " << rhs.GetMinX() + << " Xmax= " << fMaxX << " =? " << rhs.GetMaxX() + << " Ymin= " << fMinY << " =? " << rhs.GetMinY() + << " Ymax= " << fMaxY << " =? " << rhs.GetMaxY() + << G4endl; + G4Exception(""); + } + + //----- Check that both slices has the same materials + std::vector fMaterialNames2 = rhs.GetMaterialNames(); + if( fMaterialNames.size() != fMaterialNames2.size() ) { + G4cerr << "DicomPhantomZSliceHeader error adding two slice headers: !!! Different number of materials: " << fMaterialNames.size() << " =? " << fMaterialNames2.size() << G4endl; + G4Exception(""); + } + for( unsigned int ii = 0; ii < fMaterialNames.size(); ii++ ) { + if( fMaterialNames[ii] != fMaterialNames2[ii] ) { + G4cerr << "DicomPhantomZSliceHeader error adding two slice headers: !!! Different material number " << ii << " : " << fMaterialNames[ii] << " =? " << fMaterialNames2[ii] << G4endl; + G4Exception(""); + } + } + + //----- Check that the slices are contiguous in Z + if( std::fabs( fMinZ - rhs.GetMaxZ() ) > G4GeometryTolerance::GetInstance()->GetRadialTolerance() && + std::fabs( fMaxZ - rhs.GetMinZ() ) > G4GeometryTolerance::GetInstance()->GetRadialTolerance() ){ + G4cerr << "DicomPhantomZSliceHeader error adding two slice headers: !!! Slices are not contiguous in Z " + << " Zmin= " << fMinZ << " & " << rhs.GetMinZ() + << " Zmax= " << fMaxZ << " & " << rhs.GetMaxZ() + << G4endl; + G4Exception(""); + } + + //----- Build slice header copying first one + DicomPhantomZSliceHeader temp( *this ); + + //----- Add data from second slice header + temp.SetMinZ( std::min( fMinZ, rhs.GetMinZ() ) ); + temp.SetMaxZ( std::max( fMaxZ, rhs.GetMaxZ() ) ); + temp.SetNoVoxelZ( fNoVoxelZ + rhs.GetNoVoxelZ() ); + + return temp; +} diff --git a/examples/extended/medical/DICOM/src/DicomPrimaryGeneratorAction.cc b/examples/extended/medical/DICOM/src/DicomPrimaryGeneratorAction.cc index 5b484fe308..bb76aa81c1 100644 --- a/examples/extended/medical/DICOM/src/DicomPrimaryGeneratorAction.cc +++ b/examples/extended/medical/DICOM/src/DicomPrimaryGeneratorAction.cc @@ -67,13 +67,13 @@ void DicomPrimaryGeneratorAction::GeneratePrimaries(G4Event *anEvent) = particleTable->FindParticle(particleName="e-"); particleGun->SetParticleDefinition(particle); // put the e- in the x direction of the patient (z in the accelerator axs) to hit patient in the central slice of the phantom - G4ThreeVector dir(0,1,0); + G4ThreeVector dir(0,0,1); //G4ThreeVector dir(2.*CLHEP::RandFlat::shoot()-1.,2.*CLHEP::RandFlat::shoot()-1.,-CLHEP::RandFlat::shoot()); dir /= dir.mag(); particleGun->SetParticleMomentumDirection(dir); - particleGun->SetParticleEnergy(5.*MeV); + particleGun->SetParticleEnergy(10.*MeV); //put it at SAD = 1 m on xy plane of central slice - particleGun->SetParticlePosition(G4ThreeVector(0.,-99.9*cm,87.5*mm)); + particleGun->SetParticlePosition(G4ThreeVector(0.,0.,-0.1)); //particleGun->SetParticlePosition(G4ThreeVector(0.,0.,-22.)); particleGun->GeneratePrimaryVertex(anEvent); } diff --git a/examples/extended/medical/DICOM/src/DicomRunAction.cc b/examples/extended/medical/DICOM/src/DicomRunAction.cc index 1972028bef..a76dfd65ac 100644 --- a/examples/extended/medical/DICOM/src/DicomRunAction.cc +++ b/examples/extended/medical/DICOM/src/DicomRunAction.cc @@ -46,7 +46,7 @@ DicomRunAction::DicomRunAction(): { // - Prepare data member for DicomRun. // vector represents a list of MultiFunctionalDetector names. - theSDName.push_back(G4String("PatientSD")); + theSDName.push_back(G4String("PhantomSD")); } // Destructor. diff --git a/examples/extended/medical/DICOM/src/G4PSDoseDeposit_RegNav.cc b/examples/extended/medical/DICOM/src/G4PSDoseDeposit_RegNav.cc deleted file mode 100644 index 4988981c45..0000000000 --- a/examples/extended/medical/DICOM/src/G4PSDoseDeposit_RegNav.cc +++ /dev/null @@ -1,387 +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. * -// ******************************************************************** -// -//#define VERBOSE_DOSEDEP -// -// $Id: G4PSDoseDeposit_RegNav.cc,v 1.4 2009/12/16 17:54:21 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -// G4PSDoseDeposit_RegNav -#include "G4PSDoseDeposit_RegNav.hh" -#include "G4VSolid.hh" -#include "G4UnitsTable.hh" -#include "G4PhantomParameterisation.hh" -#include "G4RegularNavigationHelper.hh" -#include "G4EnergyLossForExtrapolator.hh" -#include "G4EmCalculator.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4PVParameterised.hh" - -//////////////////////////////////////////////////////////////////////////////// -// (Description) -// This is a primitive scorer class for scoring only energy deposit. -// -// -// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. -// -/////////////////////////////////////////////////////////////////////////////// - -G4PSDoseDeposit_RegNav::G4PSDoseDeposit_RegNav(G4String name, G4int depth) - :G4VPrimitiveScorer(name,depth),HCID(-1) -{ - theElossExt = new G4EnergyLossForExtrapolator(0); - thePhantomParam = 0; - theNIterations = 2; -} - -G4PSDoseDeposit_RegNav::~G4PSDoseDeposit_RegNav() -{;} - -G4bool G4PSDoseDeposit_RegNav::ProcessHits(G4Step* aStep,G4TouchableHistory*) -{ - G4double edep = aStep->GetTotalEnergyDeposit(); - if ( edep == 0. ) return FALSE; - G4double volume = aStep->GetPreStepPoint()->GetPhysicalVolume() - ->GetLogicalVolume()->GetSolid()->GetCubicVolume(); - G4double density = aStep->GetTrack()->GetMaterial()->GetDensity(); - -#ifdef VERBOSE_DOSEDEP - G4bool verbose = 1; -#endif - - if( aStep == 0 ) return FALSE; // it is 0 when called by GmScoringMgr after last event - -#ifdef VERBOSE_DOSEDEP - if( verbose ) G4cout << "GmG4PSDoseDeposit::FillScorer totalEdepo " << aStep->GetTotalEnergyDeposit() - << " Nsteps " << G4RegularNavigationHelper::theStepLengths.size() << G4endl; -#endif - //----- Do not distribute dose in voxels - G4double dose = edep / ( density * volume ); - G4double wei = aStep->GetPreStepPoint()->GetWeight(); - - if( G4RegularNavigationHelper::theStepLengths.size() <= 1 || - aStep->GetTrack()->GetDefinition()->GetPDGCharge() == 0) { // we are only counting dose deposit - dose *= wei; - G4int index = GetIndex(aStep); - EvtMap->add(index,dose); -#ifdef VERBOSE_DOSEDEP - if( verbose) G4cout << "GmG4PSDoseDeposit::FillScorer RN: energy lost " << dose << " index " << index << G4endl; -#endif - } else { - //----- Distribute dose in voxels - std::vector< std::pair > rnsl = G4RegularNavigationHelper::theStepLengths; - // G4double geomSL = rnsl[0].second; - // G4double SL = aStep->GetStepLength(); - if( !thePhantomParam ) thePhantomParam = GetPhantomParam(true); - // const G4Material* mate = thePhantomParam->GetMaterial( rnsl[0].first ); - const G4ParticleDefinition* part = aStep->GetTrack()->GetDefinition(); - G4double kinEnergyPreOrig = aStep->GetPreStepPoint()->GetKineticEnergy(); - G4double kinEnergyPre = kinEnergyPreOrig; - - G4double stepLength = aStep->GetStepLength(); - G4double slSum = 0.; - unsigned int ii; - for( ii = 0; ii < rnsl.size(); ii++ ){ - G4double sl = rnsl[ii].second; - slSum += sl; -#ifdef VERBOSE_DOSEDEP - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer"<< ii << " RN: it\ -er1 step length geom " << sl << G4endl; -#endif - } - -#ifdef VERBOSE_DOSEDEP - if( verbose ) - G4cout << "GmG4PSDoseDeposit RN: step length geom TOTAL " << slSum - << " true TOTAL " << stepLength - << " ratio " << stepLength/slSum - << " Energy " << aStep->GetPreStepPoint()->GetKineticEnergy() - << " Material " << aStep->GetPreStepPoint()->GetMaterial()->GetName() - << " Number of geom steps " << rnsl.size() << G4endl; -#endif - //----- No iterations to correct elost and msc, distribute dose according to geometrical step length in each voxel - if( theNIterations == 0 ) { - for( unsigned int ii = 0; ii < rnsl.size(); ii++ ){ - G4int index = G4RegularNavigationHelper::theStepLengths[ii].first; - G4double sl = G4RegularNavigationHelper::theStepLengths[ii].second; - G4double doseStep = dose * sl/slSum; //divide dose along steps, proportional to step lengthr - G4double dosewei = doseStep*wei; -#ifdef VERBOSE_DOSEDEP - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer"<< ii - << " dose " << dosewei - << " in " << index << G4endl; -#endif - - EvtMap->add(index, dosewei ); - - } - } else { // 1 or more iterations demanded - -#ifdef VERBOSE_DOSEDEP - // print corrected energy at iteration 0 - if(verbose) { - G4double slSum = 0.; - for( ii = 0; ii < rnsl.size(); ii++ ){ - G4double sl = rnsl[ii].second; - slSum += sl; - } - - for( ii = 0; ii < rnsl.size(); ii++ ){ - G4cout << "GmG4PSDoseDeposit::FillScorer "<< ii - << " RN: iter0 corrected energy lost " << aStep->GetTotalEnergyDeposit()*rnsl[ii].second/slSum - << G4endl; - } - } -#endif - G4double slRatio = stepLength/slSum; -#ifdef VERBOSE_DOSEDEP - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer RN: iter" << iiter << " step ratio " << slRatio << G4endl; -#endif - - //--- energy at each interaction - G4EmCalculator emcalc; - G4double totalELost = 0.; - std::vector kinELost; - std::vector stepLengths; - for( int iiter = 1; iiter <= theNIterations; iiter++ ) { - //--- iter1: distribute true step length in each voxel: geom SL in each voxel is multiplied by a constant so that the sum gives the total true step length - if( iiter == 1 ) { - for( ii = 0; ii < rnsl.size(); ii++ ){ - G4double sl = rnsl[ii].second; - stepLengths.push_back( sl * slRatio ); -#ifdef VERBOSE_DOSEDEP - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer"<< ii << " RN: iter" << iiter << " corrected step length " << sl*slRatio << G4endl; -#endif - } - - for( ii = 0; ii < rnsl.size(); ii++ ){ - const G4Material* mate = thePhantomParam->GetMaterial( rnsl[ii].first ); - G4double dEdx = 0.; - if( kinEnergyPre > 0. ) { //t check this - dEdx = emcalc.GetDEDX(kinEnergyPre, part, mate); - } - G4double elost = stepLengths[ii] * dEdx; - -#ifdef VERBOSE_DOSEDEP - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer"<< ii << " RN: iter1 energy lost " << elost - << " energy at interaction " << kinEnergyPre - << " = stepLength " << stepLengths[ii] - << " * dEdx " << dEdx << G4endl; -#endif - kinEnergyPre -= elost; - kinELost.push_back( elost ); - totalELost += elost; - } - - } else{ - //------ 2nd and other iterations - //----- Get step lengths corrected by changing geom2true correction - //-- Get ratios for each energy - slSum = 0.; - kinEnergyPre = kinEnergyPreOrig; - for( ii = 0; ii < rnsl.size(); ii++ ){ - const G4Material* mate = thePhantomParam->GetMaterial( rnsl[ii].first ); - stepLengths[ii] = theElossExt->TrueStepLength( kinEnergyPre, rnsl[ii].second , mate, part ); - kinEnergyPre -= kinELost[ii]; - -#ifdef VERBOSE_DOSEDEP - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer" << ii - << " RN: iter" << iiter << " step length geom " << stepLengths[ii] - << " geom2true " << rnsl[ii].second / stepLengths[ii] << G4endl; -#endif - - slSum += stepLengths[ii]; - } - - //Correct step lengths so that they sum the total step length - G4double slratio = aStep->GetStepLength()/slSum; -#ifdef VERBOSE_DOSEDEP - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer" << ii << " RN: iter" << iiter << " step ratio " << slRatio << G4endl; -#endif - for( ii = 0; ii < rnsl.size(); ii++ ){ - stepLengths[ii] *= slratio; -#ifdef VERBOSE_DOSEDEP - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer"<< ii << " RN: iter" << iiter << " corrected step length " << stepLengths[ii] << G4endl; -#endif - } - - //---- Recalculate energy lost with this new step lengths - G4double kinEnergyPre = aStep->GetPreStepPoint()->GetKineticEnergy(); - totalELost = 0.; - for( ii = 0; ii < rnsl.size(); ii++ ){ - const G4Material* mate = thePhantomParam->GetMaterial( rnsl[ii].first ); - G4double dEdx = 0.; - if( kinEnergyPre > 0. ) { - dEdx = emcalc.GetDEDX(kinEnergyPre, part, mate); - } - G4double elost = stepLengths[ii] * dEdx; -#ifdef VERBOSE_DOSEDEP - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer"<< ii << " RN: iter" << iiter << " energy lost " << elost - << " energy at interaction " << kinEnergyPre - << " = stepLength " << stepLengths[ii] - << " * dEdx " << dEdx << G4endl; -#endif - kinEnergyPre -= elost; - kinELost[ii] = elost; - totalELost += elost; - } - - } - - //correct energies so that they reproduce the real step energy lost - G4double enerRatio = (aStep->GetTotalEnergyDeposit()/totalELost); - -#ifdef VERBOSE_DOSEDEP - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer"<< ii << " RN: iter" << iiter << " energy ratio " << enerRatio << G4endl; -#endif - -#ifdef VERBOSE_DOSEDEP - G4double elostTot = 0.; -#endif - for( ii = 0; ii < kinELost.size(); ii++ ){ - kinELost[ii] *= enerRatio; -#ifdef VERBOSE_DOSEDEP - elostTot += kinELost[ii]; - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer "<< ii << " RN: iter" << iiter << " corrected energy lost " << kinELost[ii] - << " orig elost " << kinELost[ii]/enerRatio - << " energy before interaction " << kinEnergyPreOrig-elostTot+kinELost[ii] - << " energy after interaction " << kinEnergyPreOrig-elostTot - << G4endl; -#endif - } - } - - //---- Compute the dose (for N iterations) - G4double dosesum = 0.; - G4double volume = aStep->GetPreStepPoint()->GetPhysicalVolume() - ->GetLogicalVolume()->GetSolid()->GetCubicVolume(); - G4double density = aStep->GetTrack()->GetMaterial()->GetDensity(); - - for( ii = 0; ii < kinELost.size(); ii++ ){ - G4double dose = kinELost[ii] / ( density * volume ); - G4double dosewei = dose*wei; - G4int index = rnsl[ii].first; -#ifdef VERBOSE_DOSEDEP - if(verbose) G4cout << "GmG4PSDoseDeposit::FillScorer"<< ii - << " dose " << dosewei - << " in " << index - << " RN: deposited energy " << kinELost[ii]*wei - << G4endl; -#endif - - EvtMap->add(index, dosewei ); - dosesum += dosewei; - - } - -#ifdef VERBOSE_DOSEDEP - if(verbose) { - // G4cout << "DOSE-DOSESUM " << (dose-dosesum)/dose << " DOSE " << dose << " DOSESUM " << dosesum << G4endl; - if( (dose-dosesum)/dose > 1.E-9 ) G4cout << ScoringVerb(debugVerb) << "GmG4PSDoseDeposit::FillScorer"<< "ERRORDOSE-DOSESUM " << (dose-dosesum)/dose << " DOSE " << dose << " DOSESUM " << dosesum << G4endl; - } -#endif - } - } - - return TRUE; -} - -void G4PSDoseDeposit_RegNav::Initialize(G4HCofThisEvent* HCE) -{ - EvtMap = new G4THitsMap(GetMultiFunctionalDetector()->GetName(), - GetName()); - if(HCID < 0) {HCID = GetCollectionID(0);} - HCE->AddHitsCollection(HCID, (G4VHitsCollection*)EvtMap); -} - -void G4PSDoseDeposit_RegNav::EndOfEvent(G4HCofThisEvent*) -{;} - -void G4PSDoseDeposit_RegNav::clear() -{ - EvtMap->clear(); -} - -void G4PSDoseDeposit_RegNav::DrawAll() -{;} - -void G4PSDoseDeposit_RegNav::PrintAll() -{ - G4cout << " MultiFunctionalDet " << detector->GetName() << G4endl; - G4cout << " PrimitiveScorer " << GetName() << G4endl; - G4cout << " Number of entries " << EvtMap->entries() << G4endl; - std::map::iterator itr = EvtMap->GetMap()->begin(); - for(; itr != EvtMap->GetMap()->end(); itr++) { - G4cout << " copy no.: " << itr->first - << " dose deposit: " << G4BestUnit(*(itr->second),"Dose") - << G4endl; - } -} - - - -//----------------------------------------------------------------------- -G4PhantomParameterisation* G4PSDoseDeposit_RegNav::GetPhantomParam(G4bool mustExist) -{ - G4PhantomParameterisation* paramreg = 0; - - G4PhysicalVolumeStore* pvs = G4PhysicalVolumeStore::GetInstance(); - std::vector::iterator cite; - for( cite = pvs->begin(); cite != pvs->end(); cite++ ) { - // G4cout << " PV " << (*cite)->GetName() << " " << (*cite)->GetTranslation() << G4endl; - if( IsPhantomVolume( *cite ) ) { - const G4PVParameterised* pvparam = static_cast(*cite); - G4VPVParameterisation* param = pvparam->GetParameterisation(); - // if( static_cast(param) ){ - // if( static_cast(param) ){ - // G4cout << "G4PhantomParameterisation volume found " << (*cite)->GetName() << G4endl; - paramreg = static_cast(param); - } - } - - if( !paramreg && mustExist ) G4Exception("GmRegularParamUtils::GetPhantomParam: No G4PhantomParameterisation found "); - - return paramreg; - -} - - -//----------------------------------------------------------------------- -G4bool G4PSDoseDeposit_RegNav::IsPhantomVolume( G4VPhysicalVolume* pv ) -{ - EAxis axis; - G4int nReplicas; - G4double width,offset; - G4bool consuming; - pv->GetReplicationData(axis,nReplicas,width,offset,consuming); - EVolume type = (consuming) ? kReplica : kParameterised; - if( type == kParameterised && pv->GetRegularStructureId() == 1 ) { - return TRUE; - } else { - return FALSE; - } - -} - diff --git a/examples/extended/medical/DICOM/src/NestedParamDicomDetectorConstruction.cc b/examples/extended/medical/DICOM/src/NestedParamDicomDetectorConstruction.cc index 1931cbcce7..0183e6c11f 100644 --- a/examples/extended/medical/DICOM/src/NestedParamDicomDetectorConstruction.cc +++ b/examples/extended/medical/DICOM/src/NestedParamDicomDetectorConstruction.cc @@ -49,10 +49,10 @@ NestedParamDicomDetectorConstruction::~NestedParamDicomDetectorConstruction() //------------------------------------------------------------- -void NestedParamDicomDetectorConstruction::ConstructPatient() +void NestedParamDicomDetectorConstruction::ConstructPhantom() { #ifdef G4VERBOSE - G4cout << "NestedParamDicomDetectorConstruction::ConstructPatient " << G4endl; + G4cout << "NestedParamDicomDetectorConstruction::ConstructPhantom " << G4endl; #endif //----- Replication of Water Phantom Volume. @@ -75,8 +75,8 @@ void NestedParamDicomDetectorConstruction::ConstructPatient() //----- Voxel solid and logical volumes //--- Z Slice G4VSolid* solVoxel = - new G4Box("Patient",voxelHalfDimX,voxelHalfDimY,voxelHalfDimZ); - G4LogicalVolume* logicVoxel = new G4LogicalVolume(solVoxel,air,"Patient"); + new G4Box("phantom",voxelHalfDimX,voxelHalfDimY,voxelHalfDimZ); + G4LogicalVolume* logicVoxel = new G4LogicalVolume(solVoxel,air,"phantom"); // // Parameterisation for transformation of voxels. @@ -86,7 +86,7 @@ void NestedParamDicomDetectorConstruction::ConstructPatient() DicomNestedPhantomParameterisation* param = new DicomNestedPhantomParameterisation(voxelSize,fMaterials); - new G4PVParameterised("Patient", // their name + new G4PVParameterised("phantom", // their name logicVoxel, // their logical volume logXRep, // Mother logical volume kXAxis, // Are placed along this axis diff --git a/examples/extended/medical/DICOM/src/RegularDicomDetectorConstruction.cc b/examples/extended/medical/DICOM/src/RegularDicomDetectorConstruction.cc index 15fad05427..2170689d58 100644 --- a/examples/extended/medical/DICOM/src/RegularDicomDetectorConstruction.cc +++ b/examples/extended/medical/DICOM/src/RegularDicomDetectorConstruction.cc @@ -53,10 +53,10 @@ RegularDicomDetectorConstruction::~RegularDicomDetectorConstruction() } //------------------------------------------------------------- -void RegularDicomDetectorConstruction::ConstructPatient() +void RegularDicomDetectorConstruction::ConstructPhantom() { #ifdef G4VERBOSE - G4cout << "RegularDicomDetectorConstruction::ConstructPatient " << G4endl; + G4cout << "RegularDicomDetectorConstruction::ConstructPhantom " << G4endl; #endif //----- Create parameterisation @@ -88,12 +88,12 @@ void RegularDicomDetectorConstruction::ConstructPatient() //----- The G4PVParameterised object that uses the created parameterisation should be placed in the container logical volume - G4PVParameterised * patient_phys = new G4PVParameterised("Patient",voxel_logic,container_logic, + G4PVParameterised * phantom_phys = new G4PVParameterised("phantom",voxel_logic,container_logic, kXAxis, nVoxelX*nVoxelY*nVoxelZ, param); // if axis is set as kUndefined instead of kXAxis, GEANT4 will do an smart voxel optimisation (not needed if G4RegularNavigation is used) //----- Set this physical volume as having a regular structure of type 1, so that G4RegularNavigation is used - patient_phys->SetRegularStructureId(1); // if not set, G4VoxelNavigation will be used instead + phantom_phys->SetRegularStructureId(1); // if not set, G4VoxelNavigation will be used instead SetScorer(voxel_logic); } diff --git a/examples/extended/medical/DICOM/test.g4pdcm b/examples/extended/medical/DICOM/test.g4pdcm new file mode 100644 index 0000000000..f5edc32586 --- /dev/null +++ b/examples/extended/medical/DICOM/test.g4pdcm @@ -0,0 +1,843 @@ +10 +0 Air +1 LungInhale +2 LungExhale +3 AdiposeTissue +4 Breast +5 Water +6 Muscle +7 Liver +8 TrabecularBone +9 DenseBone +128 128 3 +-196 196 +-196 196 +-7.5 7.5 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +19 108 +19 108 +19 108 +18 109 +18 109 +18 109 +18 109 +18 109 +18 109 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +18 109 +18 109 +18 109 +18 109 +18 109 +18 109 +19 108 +19 108 +19 108 +19 108 +20 107 +20 107 +20 107 +20 107 +21 106 +21 106 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +20 107 +20 107 +19 108 +19 108 +19 108 +19 108 +19 108 +18 109 +18 109 +18 109 +18 109 +18 109 +18 109 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +18 109 +18 109 +18 109 +18 109 +18 109 +18 109 +19 108 +19 108 +19 108 +19 108 +19 108 +20 107 +20 107 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +21 106 +21 106 +20 107 +20 107 +20 107 +20 107 +19 108 +19 108 +19 108 +19 108 +18 109 +18 109 +18 109 +18 109 +18 109 +18 109 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +16 111 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +17 110 +18 109 +18 109 +18 109 +18 109 +18 109 +18 109 +19 108 +19 108 +19 108 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +-1 -1 +0 0 0 0 0 0 0 1 3 3 3 5 5 5 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 2 2 3 3 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 4 4 3 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 5 4 3 3 3 1 +0 0 0 0 0 0 0 3 3 3 5 6 5 5 3 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 3 3 2 2 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 2 5 5 4 3 3 3 +0 0 0 0 0 0 2 3 3 5 6 6 6 4 2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 4 3 2 2 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 2 5 5 5 3 3 +0 0 0 0 0 0 1 3 3 5 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 3 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 2 5 6 5 4 3 +0 0 0 0 0 0 2 3 4 6 6 6 6 5 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 3 2 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 3 6 6 5 4 +0 0 0 0 0 1 4 3 6 6 5 6 6 2 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 3 2 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 6 6 6 5 +0 0 0 0 0 2 3 4 6 6 5 6 2 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 3 2 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 3 6 6 6 +0 0 0 0 1 4 3 5 6 5 6 2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 6 6 6 +0 0 0 0 3 3 4 6 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 5 6 +0 0 0 0 2 3 3 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 +0 0 0 1 3 3 4 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 8 +0 0 0 2 4 3 4 5 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 8 +0 0 1 3 3 3 4 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 1 1 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 6 6 +0 0 2 3 3 4 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 2 1 0 0 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 +0 1 4 3 3 4 5 5 2 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 +0 2 3 4 4 5 5 4 2 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 +1 3 3 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 +0 2 3 5 6 6 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 +1 4 3 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 +2 3 4 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 2 1 2 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 2 4 +3 3 5 6 6 6 7 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 +3 3 6 6 6 6 8 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 2 5 +3 4 6 6 6 8 8 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 0 0 0 0 1 2 0 0 0 0 1 1 0 0 0 1 0 0 2 6 +3 5 6 6 6 8 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 2 6 +3 5 6 6 6 8 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 +4 5 6 6 6 8 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 2 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 +4 5 6 6 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 3 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 6 +3 5 6 6 5 6 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 4 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 6 +4 4 5 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 3 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 +4 4 5 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +5 5 5 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 1 1 2 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +6 6 6 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 2 1 1 0 0 0 1 2 2 2 2 3 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 +6 6 6 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 2 2 2 2 3 5 6 6 6 6 6 6 6 5 5 5 4 2 2 2 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 +6 6 6 6 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 2 1 0 1 1 2 2 1 1 1 2 5 6 5 5 5 5 3 3 2 1 2 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 +6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 0 1 3 5 5 5 5 5 4 3 1 0 0 0 1 1 2 1 1 1 2 2 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 +6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 1 1 0 0 1 2 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 2 5 5 5 5 5 3 3 1 0 0 0 0 0 1 1 1 1 2 2 1 1 1 1 1 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 +5 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 2 5 4 4 4 4 5 3 2 1 1 0 0 0 1 0 0 1 1 1 2 2 2 2 2 2 2 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 6 +5 6 6 6 6 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 2 2 1 0 1 1 0 0 0 0 0 0 0 0 1 3 3 4 6 6 6 6 5 1 1 1 1 0 1 1 1 0 1 1 2 3 4 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 +5 6 6 6 6 8 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 2 0 1 1 1 1 0 0 0 0 0 0 0 1 2 3 6 6 6 6 6 6 5 1 1 0 0 1 2 2 1 0 0 1 1 2 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 +5 5 6 6 6 8 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 1 0 1 1 0 0 0 0 0 1 0 0 0 1 2 4 6 6 6 6 6 6 6 2 1 1 1 1 2 6 2 2 1 1 1 2 2 2 1 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 +5 5 5 6 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 1 0 0 1 1 0 0 0 0 0 1 0 0 1 2 2 5 6 6 6 6 6 6 6 2 1 1 0 1 1 3 2 3 5 2 1 1 2 5 2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 +5 5 6 6 5 5 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 1 2 1 1 1 0 0 0 1 0 0 1 0 0 1 1 2 3 3 3 5 6 6 6 6 6 6 6 3 1 1 1 0 0 1 2 1 2 3 2 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 7 +5 5 6 6 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 1 0 1 2 2 0 1 0 1 0 1 0 0 1 0 1 2 6 5 3 3 4 5 6 6 6 6 6 6 6 2 1 1 1 0 0 1 1 1 1 2 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 +6 5 6 6 6 5 4 2 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 2 1 2 1 2 1 0 1 0 0 1 2 5 8 8 8 8 5 5 6 6 6 6 6 6 5 2 1 0 1 1 1 1 0 1 1 1 2 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 6 6 +6 5 5 6 6 5 4 3 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 2 5 2 0 0 0 1 0 1 2 6 8 8 8 8 8 6 6 6 5 6 6 6 5 3 1 0 0 0 0 1 1 2 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 2 6 4 +6 6 5 6 6 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 2 3 2 0 0 0 0 1 2 8 8 8 8 8 8 8 8 8 8 6 5 4 5 3 2 1 1 1 0 0 0 1 5 2 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 2 5 3 +6 6 6 5 6 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 2 1 0 0 0 0 1 2 8 8 8 8 8 8 8 8 8 8 8 8 6 5 5 3 1 1 1 0 0 0 1 2 1 0 1 2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 3 3 +5 5 5 5 6 6 5 5 2 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 3 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 3 3 3 +4 6 6 6 5 6 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 2 1 1 1 1 1 0 0 0 0 1 6 8 8 8 8 8 7 8 8 7 8 8 8 8 8 8 4 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 4 4 +3 5 6 5 5 5 5 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 2 0 0 0 1 1 0 0 0 0 1 6 8 8 8 8 6 6 6 6 6 6 6 8 8 8 8 8 2 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 3 5 +4 6 5 5 5 5 5 6 6 2 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 2 2 0 0 0 0 1 1 0 0 0 1 2 8 8 8 8 6 6 6 6 6 6 6 6 8 8 8 7 2 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 4 4 +3 4 6 5 5 5 5 6 8 6 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 2 2 1 1 0 0 0 1 1 0 0 0 0 2 6 8 8 6 6 6 6 6 6 6 6 6 8 8 8 8 2 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 4 5 +3 3 5 6 5 5 5 5 8 8 4 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 1 1 1 0 0 0 0 1 0 0 0 0 1 6 8 8 6 6 6 6 6 6 6 6 6 6 8 8 8 2 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 2 5 5 5 5 +1 3 3 5 5 5 5 5 6 8 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 1 0 0 0 0 1 0 0 0 0 1 3 6 8 6 6 6 6 6 6 6 6 6 6 8 8 6 2 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 2 6 6 4 5 5 +0 2 4 3 5 5 6 6 5 8 8 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 1 0 0 0 0 1 0 0 0 0 1 3 5 7 8 7 6 6 6 6 6 6 6 8 6 6 4 2 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 6 8 6 5 5 5 +0 0 2 4 3 5 6 6 6 6 8 8 2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 2 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 6 6 6 8 8 6 6 6 6 6 7 8 7 6 8 6 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 3 8 8 6 5 6 5 +0 0 0 2 4 3 5 5 6 6 6 8 6 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 7 6 6 8 8 8 8 8 8 8 8 6 6 7 6 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 2 8 8 8 6 6 5 4 +0 0 0 0 2 4 3 5 6 6 6 6 6 3 1 0 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 6 6 6 8 8 8 6 6 5 6 6 6 8 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 6 6 8 6 5 5 4 3 +0 0 0 0 2 4 3 5 6 6 5 6 6 2 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 6 8 8 6 5 5 5 5 5 6 8 6 6 6 6 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 5 8 8 6 6 6 4 3 +0 0 0 0 1 2 4 3 5 5 6 5 6 6 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 6 6 6 6 8 8 8 5 5 5 5 8 8 8 8 8 6 6 5 3 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 3 8 8 8 6 6 5 3 4 +0 0 0 0 0 1 3 4 3 5 6 5 5 6 5 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 3 6 6 6 8 8 8 8 8 6 5 8 8 8 8 8 8 5 6 6 6 3 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 3 6 8 8 6 6 5 3 3 4 +0 0 0 0 0 0 1 4 3 3 5 6 6 5 6 5 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 2 6 6 6 4 6 8 8 8 8 6 5 8 8 8 8 8 6 4 5 6 6 6 5 3 2 1 0 1 0 0 0 0 0 0 0 0 0 0 1 2 3 6 8 7 5 6 5 3 4 4 1 +0 0 0 0 0 0 0 1 4 3 3 5 5 6 5 6 5 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 2 7 6 8 5 4 5 6 8 8 8 8 8 8 8 8 8 6 5 4 4 6 6 6 6 6 5 2 2 1 1 0 0 0 0 0 1 1 2 2 3 4 6 7 6 5 5 5 3 3 4 1 0 +0 0 0 0 0 0 0 0 2 4 3 3 5 5 5 5 5 5 3 2 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 5 8 6 8 6 4 5 5 5 5 6 8 8 8 8 8 6 5 5 5 5 5 5 6 7 8 7 6 6 5 3 2 2 1 1 2 2 2 3 4 4 4 6 6 6 5 5 5 3 4 4 1 0 0 +0 0 0 0 0 0 0 0 1 3 4 3 4 5 5 5 5 5 5 3 2 1 1 1 0 0 0 1 1 0 1 1 1 1 2 3 8 8 6 8 6 4 5 5 5 5 5 5 8 8 6 8 6 5 5 5 5 5 5 4 5 6 6 8 8 8 6 6 5 3 3 3 4 4 4 4 4 5 6 6 5 5 5 5 3 4 3 1 0 0 +0 0 0 0 0 0 0 0 0 1 3 4 3 4 5 5 5 5 5 5 5 3 2 2 2 1 1 1 1 1 1 2 2 3 6 8 8 8 8 6 5 4 5 5 5 5 5 5 5 8 7 8 5 5 5 5 5 6 5 4 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 5 5 5 5 4 3 4 2 1 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 2 4 3 3 4 5 5 5 5 5 5 5 4 3 3 3 3 2 2 3 5 6 6 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 6 8 6 5 5 5 5 6 6 5 5 6 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 3 3 4 2 0 0 0 0 1 +1 1 1 0 0 1 0 0 0 0 0 0 2 4 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 8 8 8 6 6 6 5 5 6 5 5 5 5 5 5 5 5 5 8 5 5 5 5 5 6 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 3 1 0 0 0 1 1 1 +0 1 1 1 1 1 1 1 0 0 0 0 1 3 4 3 3 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 3 4 5 2 1 0 1 1 1 1 2 +0 0 0 0 1 1 1 1 1 1 1 1 0 1 2 4 4 3 4 5 5 5 5 5 5 5 5 5 5 5 6 6 5 6 5 5 5 5 5 6 6 5 5 5 4 5 5 5 5 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 6 5 5 5 5 5 4 4 5 2 1 0 1 1 1 2 2 1 0 +0 0 0 0 0 0 0 1 1 2 1 1 1 1 0 1 2 5 4 3 4 5 5 5 5 5 5 5 6 5 5 5 6 6 5 5 5 6 6 6 6 5 5 5 4 4 5 4 5 6 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 5 3 2 1 1 1 2 2 1 1 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 2 2 1 1 1 1 1 2 4 5 4 4 5 5 5 5 5 5 6 5 5 5 5 5 5 6 5 6 5 5 5 5 5 5 4 3 3 4 5 4 5 5 5 5 5 5 5 6 6 6 5 5 5 5 6 6 6 6 5 5 4 4 5 4 2 1 1 2 2 2 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 1 1 1 2 3 5 4 4 5 5 6 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 4 3 4 3 3 4 4 4 5 5 5 6 6 6 6 6 5 5 5 4 5 5 4 4 4 5 4 2 1 1 2 2 2 1 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 1 1 1 2 3 5 5 4 4 5 5 5 5 5 5 5 5 5 4 4 5 5 4 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 4 4 3 4 4 4 5 5 3 2 1 1 2 2 1 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 2 3 3 5 5 6 6 5 5 3 2 1 1 0 0 0 1 1 1 2 2 3 4 4 4 3 4 2 2 2 2 2 2 3 4 4 3 3 4 5 5 5 6 6 6 6 6 6 6 5 5 5 3 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 5 5 4 3 3 3 +0 0 0 0 0 0 2 4 4 5 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 3 3 3 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 4 4 3 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 5 5 5 3 3 +0 0 0 0 0 0 1 4 3 5 6 6 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 3 3 3 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 6 5 3 4 +0 0 0 0 0 0 2 3 5 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 5 4 3 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 5 3 +0 0 0 0 0 2 4 4 6 8 6 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 4 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 4 +0 0 0 0 0 3 3 5 6 8 6 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 2 2 1 0 0 0 0 0 0 1 0 0 0 0 0 1 4 6 6 6 +0 0 0 0 2 4 4 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 3 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 6 5 8 +0 0 0 0 1 3 3 5 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 8 +0 0 0 0 2 3 4 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 8 +0 0 0 1 3 3 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 +0 0 0 2 3 3 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 +0 0 1 4 3 4 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 6 +0 0 2 3 3 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 2 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 +0 0 1 4 3 4 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 +0 0 3 3 3 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 +0 2 4 3 5 5 5 4 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 +0 3 3 5 6 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 +2 3 5 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 +3 3 6 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 2 +4 4 6 6 6 8 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 2 1 0 0 0 1 0 0 0 0 1 1 0 0 0 2 +2 3 5 6 6 8 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 2 4 +3 3 5 6 6 8 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 2 6 +3 4 6 6 6 8 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 4 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 6 +3 4 6 6 6 8 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 +3 5 6 6 6 8 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 6 +3 4 6 6 6 8 4 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 +4 4 5 5 5 6 2 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 2 4 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +3 3 4 5 4 4 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +3 4 5 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +3 4 4 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 5 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +4 5 5 5 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 2 3 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 4 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +6 6 6 5 4 3 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 2 3 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +6 6 6 5 5 2 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 1 2 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 2 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +6 6 6 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 1 0 0 0 1 1 0 0 0 0 0 1 1 2 4 5 5 5 5 5 5 5 5 5 4 2 2 2 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +6 6 6 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 3 5 5 5 5 5 3 2 2 1 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +6 6 6 6 8 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 2 5 5 5 5 5 3 2 0 0 0 1 1 1 2 1 0 1 1 2 0 1 0 0 0 1 1 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +6 6 6 6 8 4 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 4 4 4 3 3 2 1 0 0 0 0 0 1 0 0 1 2 1 1 1 0 0 1 1 2 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 3 +6 6 6 6 8 5 1 0 0 0 0 0 0 0 0 0 1 1 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 3 3 4 4 3 1 0 1 0 0 0 0 0 0 1 2 1 0 0 1 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 +5 6 6 6 8 6 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 3 3 5 6 6 6 6 4 1 1 1 0 0 0 0 0 0 1 0 0 1 2 4 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 +5 6 6 5 8 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 2 4 6 6 6 6 6 6 4 1 1 1 0 1 0 0 0 1 0 0 0 1 1 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 +5 6 5 5 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 1 1 0 0 0 0 0 2 3 5 6 6 6 6 6 6 6 2 1 0 1 1 1 2 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 +5 6 6 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 2 5 1 0 1 0 0 0 0 0 0 1 1 1 2 3 3 5 6 6 6 6 6 6 6 2 1 1 0 0 1 5 2 1 1 2 1 1 1 2 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 +5 6 6 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 1 0 0 0 2 1 0 0 1 0 0 0 2 1 0 1 2 2 3 3 3 6 6 6 6 6 6 6 6 2 1 1 1 0 1 4 2 0 1 2 4 2 1 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 +6 5 6 5 5 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 2 5 3 3 3 3 5 6 6 6 6 6 6 6 2 1 1 0 0 1 1 2 0 0 1 2 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 +6 5 6 6 5 5 3 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 2 1 1 1 0 0 0 0 1 0 1 1 1 1 0 0 0 0 1 2 5 6 5 5 5 4 3 6 6 6 6 6 6 4 2 0 0 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 +6 5 5 5 5 5 4 2 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0 0 1 2 1 1 1 0 0 0 1 2 4 6 8 8 8 8 6 5 4 5 6 6 6 4 3 1 0 0 0 0 1 2 1 1 0 0 1 2 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 3 3 +5 6 5 6 5 5 5 2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 5 1 0 1 1 0 0 1 3 5 8 8 8 8 8 8 7 6 6 3 3 3 3 2 1 0 0 0 0 1 1 2 0 0 1 1 1 2 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 3 +6 6 5 6 6 5 5 3 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 2 1 0 0 1 1 1 1 5 8 8 8 8 8 8 6 6 8 8 6 3 3 5 2 1 1 0 0 0 0 1 4 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 3 4 +5 5 6 5 6 5 5 5 2 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 0 0 0 0 1 1 2 6 8 8 8 6 6 6 6 6 6 6 8 6 4 3 2 0 1 0 0 0 0 1 2 1 0 1 2 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 2 4 4 +5 6 5 5 5 6 5 6 5 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 2 1 0 0 0 0 0 0 2 6 8 8 7 6 6 6 6 6 6 6 6 8 6 4 2 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 4 +3 5 6 6 5 6 6 8 8 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 2 6 8 8 6 6 6 6 6 6 6 6 6 8 8 6 3 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 2 5 3 5 +3 4 6 6 6 5 6 8 8 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 2 5 8 8 6 6 6 6 6 6 6 6 6 7 8 7 5 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 2 6 5 4 5 +3 3 5 6 5 5 5 6 8 8 2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 2 5 8 6 6 6 6 6 6 6 6 6 6 6 8 8 6 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 6 6 5 5 5 +1 3 3 5 6 5 5 5 6 8 6 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 4 6 6 6 6 6 6 6 6 6 6 6 6 8 8 6 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 2 8 8 5 5 5 +2 4 3 5 5 6 6 5 8 7 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 8 6 4 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 8 8 8 5 5 +0 2 4 4 5 5 5 5 5 8 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 8 6 3 2 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 3 7 8 6 5 5 +0 0 2 4 4 5 6 6 5 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 2 5 6 7 7 7 6 6 6 6 6 6 6 7 8 8 8 3 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 2 8 8 8 6 5 5 +0 0 0 2 4 4 5 6 5 5 6 6 2 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 8 6 8 8 8 6 7 6 6 7 8 8 7 8 8 8 6 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 6 8 8 6 6 5 3 +0 0 0 1 2 4 4 5 6 6 5 6 5 2 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 3 6 6 7 6 8 8 6 5 5 6 8 8 8 8 7 8 8 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 3 8 8 6 6 6 4 3 +0 0 0 0 1 3 4 4 5 6 6 5 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 2 6 6 7 6 7 8 8 5 5 5 5 6 8 8 6 7 6 6 6 2 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 8 6 5 6 4 3 4 +0 0 0 0 0 1 4 3 4 5 6 5 5 5 3 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 2 8 6 6 6 6 8 8 5 5 5 5 8 8 8 8 6 8 6 6 6 2 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 5 6 5 3 4 2 +0 0 0 0 0 2 4 3 4 5 5 5 5 5 3 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 1 2 6 6 8 6 8 8 8 8 8 5 5 8 8 8 8 8 8 6 8 6 8 6 2 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 5 5 5 3 4 3 +0 0 0 0 0 0 2 4 3 4 5 6 5 5 5 3 2 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 6 8 6 7 6 6 8 8 8 8 8 6 8 8 8 8 8 6 6 6 8 6 8 8 3 2 1 1 0 0 1 0 0 0 0 0 0 0 0 1 2 3 4 6 6 5 5 5 3 4 3 1 +0 0 0 0 0 0 0 2 4 4 4 5 5 5 5 5 4 2 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 2 6 8 6 8 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 6 6 8 8 5 2 1 1 1 1 1 1 1 0 1 1 2 2 4 5 5 5 5 5 5 3 4 3 1 0 +0 0 0 0 0 0 0 0 2 5 4 4 5 5 5 5 5 5 2 2 1 1 0 0 0 0 0 1 1 0 0 0 0 1 1 1 2 3 8 8 6 8 6 6 6 6 5 5 5 6 8 8 8 6 5 5 6 6 6 6 7 8 8 8 6 7 8 8 6 3 2 2 2 2 2 2 2 2 4 4 5 5 4 5 5 4 3 3 3 1 0 0 +0 0 0 0 0 0 0 0 0 2 4 3 3 5 5 5 5 5 5 5 2 2 1 1 0 0 0 1 1 1 1 1 1 2 2 3 8 8 6 6 8 6 6 6 6 6 5 5 5 6 8 8 8 6 5 5 5 6 6 6 5 5 6 8 8 8 8 8 7 8 6 6 5 4 4 5 5 5 5 5 4 5 5 5 4 3 4 3 1 0 0 0 +0 0 0 0 0 0 0 0 0 0 2 4 4 3 4 5 5 5 5 5 5 4 2 2 2 1 1 1 1 2 1 2 2 6 8 8 8 8 8 8 6 4 5 6 6 5 5 5 5 5 8 6 6 5 5 5 5 5 6 5 5 5 5 5 6 6 8 8 8 8 8 8 6 6 5 5 5 5 5 5 5 5 5 4 3 4 3 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 3 4 3 4 5 5 5 5 5 5 5 5 4 3 3 3 4 5 6 8 8 8 6 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 6 8 6 5 5 5 5 6 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 3 3 5 2 0 0 0 0 1 +1 1 1 0 0 0 0 0 0 0 0 1 2 4 3 3 4 5 5 5 5 5 5 5 5 6 6 6 7 8 8 8 8 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 6 5 5 5 5 6 5 6 6 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 4 3 4 4 2 0 0 0 1 1 1 +0 0 1 1 1 1 1 1 1 0 0 0 0 2 4 4 3 3 5 5 5 5 5 5 5 6 7 8 8 8 8 8 8 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 5 5 5 5 5 3 4 5 2 1 0 1 1 1 1 2 1 +0 0 0 0 0 1 1 2 1 1 1 1 0 0 1 2 5 4 3 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 4 5 5 5 6 6 5 5 5 4 5 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 5 5 5 5 4 4 5 3 1 1 1 1 1 2 2 1 0 0 +0 0 0 0 0 0 0 0 1 1 2 1 1 1 1 0 1 3 5 4 3 4 5 5 5 5 5 5 5 6 5 5 6 6 6 6 6 5 6 6 6 5 5 5 5 4 4 5 4 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 5 3 1 1 1 1 2 2 1 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 2 2 1 1 1 1 2 2 5 5 4 4 5 5 5 5 5 6 6 6 5 5 6 5 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 4 5 5 6 6 5 6 5 5 5 6 6 6 6 6 6 6 5 5 4 4 5 3 2 1 1 2 2 2 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 1 1 1 2 3 5 4 4 5 5 5 6 6 5 6 5 5 5 5 5 5 4 5 5 5 4 3 3 3 4 4 3 3 4 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 4 4 5 5 3 2 1 1 2 2 2 1 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 3 3 3 5 5 6 6 6 6 5 5 5 4 4 5 5 5 5 5 5 5 4 3 3 4 4 3 4 5 5 5 5 5 4 5 6 4 4 4 4 5 5 5 5 5 6 5 5 5 5 6 6 6 4 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 1 2 3 5 5 6 6 5 3 3 +0 0 0 0 0 1 3 3 4 5 6 6 6 6 6 5 3 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 4 5 5 6 6 6 6 6 6 6 6 6 5 5 4 4 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 6 5 3 +0 0 0 0 0 0 2 3 4 5 6 6 6 6 6 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 3 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 3 2 2 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 2 6 6 6 6 5 3 +0 0 0 0 0 2 4 4 6 6 6 6 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 3 4 4 3 2 2 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 6 6 6 5 +0 0 0 0 1 3 3 5 6 6 6 6 7 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 3 3 2 1 0 0 0 0 0 0 0 0 0 0 0 1 3 6 5 6 6 +0 0 0 0 2 3 4 6 8 8 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 2 1 0 0 0 0 0 0 0 0 0 0 0 1 3 6 5 6 +0 0 0 0 1 4 3 5 6 8 8 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 2 0 0 0 0 0 1 0 0 0 0 0 0 1 5 5 6 6 +0 0 0 0 2 3 4 6 6 6 8 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 0 0 0 0 1 0 0 0 0 0 0 0 1 6 5 6 +0 0 0 1 4 3 5 5 5 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 +0 0 0 2 3 4 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 +0 0 0 1 4 3 5 5 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 3 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 1 6 6 +0 0 0 3 3 4 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 1 0 0 0 0 0 0 0 2 6 +0 0 2 3 3 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 +0 1 3 3 4 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 4 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +0 2 3 3 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +1 3 3 4 5 5 3 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +0 2 3 5 6 5 4 2 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +1 3 3 6 6 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 +2 3 4 6 6 7 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +3 3 5 6 8 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 2 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 2 +3 4 6 6 8 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 +3 5 6 8 8 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +3 5 6 8 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 +3 5 6 8 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 +3 3 5 5 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +3 4 4 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +3 4 4 5 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 2 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +4 4 4 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 2 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +3 3 4 4 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +3 3 4 4 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 6 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +5 5 5 4 4 2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +5 6 6 5 4 2 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +6 6 6 5 4 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 1 2 3 5 6 6 6 6 6 6 6 6 6 6 5 5 6 6 6 4 2 2 2 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +6 6 6 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 0 0 0 1 2 2 5 5 5 6 6 6 6 6 6 6 6 5 5 4 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +6 6 6 6 6 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 2 5 5 5 5 5 4 5 5 6 4 4 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +6 6 6 8 6 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 2 5 5 5 5 5 4 3 2 2 2 1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +6 6 6 8 6 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 4 5 5 5 4 3 2 1 1 1 0 0 1 1 1 0 1 1 2 1 1 1 0 0 0 1 1 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 +6 6 6 8 8 1 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 3 3 4 4 3 2 2 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 +6 6 6 8 8 2 0 0 0 0 1 1 0 0 0 1 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 3 3 5 5 5 3 1 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 2 3 2 1 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 +5 6 6 6 7 2 0 0 0 0 0 0 1 1 1 2 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 6 6 6 6 6 4 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +5 6 5 5 5 2 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 6 6 6 6 6 3 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +6 6 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 2 3 6 6 6 6 6 6 6 6 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +6 6 5 5 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 1 2 2 3 3 6 6 6 6 6 6 6 6 2 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +6 6 5 5 5 3 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 1 0 0 0 0 0 1 2 2 0 0 0 0 1 1 0 0 1 2 2 3 3 3 3 6 6 6 6 6 6 6 6 2 0 0 0 0 1 2 2 0 0 0 1 2 1 1 2 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 +5 5 6 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0 1 4 1 0 0 0 0 1 1 0 0 1 5 5 4 3 3 3 5 6 6 6 6 6 6 5 1 1 0 0 1 1 2 2 0 0 0 1 3 2 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 +6 5 5 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 2 1 0 0 1 1 0 0 1 1 2 5 5 4 5 6 5 4 5 6 6 6 6 5 3 1 1 0 0 1 1 1 2 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 +6 5 6 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 1 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 2 4 4 5 8 8 8 6 5 3 4 5 5 4 3 2 1 0 1 1 1 2 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 +5 5 5 5 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 1 0 0 0 0 0 0 0 1 1 2 1 0 0 0 0 1 1 3 4 5 8 8 8 8 8 8 6 4 3 3 3 5 2 0 0 0 0 1 1 1 2 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 +5 6 5 6 6 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 1 3 5 8 8 8 6 6 6 6 6 8 5 3 3 5 2 0 0 0 0 1 0 1 2 2 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 +5 6 6 5 6 6 8 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 1 1 1 3 6 8 8 6 6 6 6 6 6 6 8 6 3 3 2 1 1 0 0 1 0 1 2 2 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 +5 5 5 5 6 6 8 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 4 6 8 6 6 6 6 6 6 6 6 6 8 5 3 2 0 0 0 1 1 0 1 2 1 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 6 5 4 +4 5 6 6 5 6 8 8 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 5 6 8 6 6 6 6 6 6 6 6 6 8 8 4 2 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 5 5 +3 5 6 6 5 5 6 8 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 2 5 6 8 6 6 6 6 6 6 6 6 6 6 8 5 3 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 8 8 5 5 +3 3 5 6 6 5 5 6 8 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 2 5 8 8 6 6 6 6 6 6 6 6 6 6 8 5 3 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 7 8 5 5 +1 4 3 5 6 5 5 4 6 6 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 2 5 6 7 6 6 6 6 6 6 6 6 6 6 8 5 3 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 7 8 6 6 5 +0 2 4 4 5 6 6 5 5 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 2 5 6 7 6 6 6 6 6 7 6 6 6 6 6 5 3 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 8 6 6 5 +0 0 2 4 4 5 5 6 5 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 7 8 6 6 6 4 +0 1 2 4 4 5 5 5 5 6 5 2 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 2 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 5 7 8 6 6 5 +0 0 1 3 4 4 5 5 5 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 6 6 8 6 6 6 7 6 6 6 7 6 6 7 6 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 2 6 8 6 6 5 4 +0 0 0 1 3 4 4 5 5 5 5 4 2 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 3 6 6 6 8 8 8 6 5 5 5 8 8 7 6 6 6 6 3 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 2 5 6 6 6 5 4 3 +0 0 0 0 1 4 3 4 5 5 5 5 4 2 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 3 6 6 6 8 8 6 5 5 5 5 6 8 7 8 6 6 6 5 2 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 4 6 6 6 6 5 3 5 +0 0 0 0 0 2 5 3 4 5 5 5 5 5 2 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 2 3 4 5 5 8 8 8 6 5 5 5 5 7 8 6 8 6 6 6 5 5 2 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 6 5 5 6 5 3 4 2 +0 0 0 0 0 0 2 4 3 5 5 5 5 4 5 2 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 2 3 3 4 6 6 6 8 8 8 5 6 8 8 8 8 6 6 6 5 5 6 6 3 2 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 2 5 5 5 5 5 5 3 4 3 1 +0 0 0 0 0 0 0 2 4 3 5 5 5 5 4 5 2 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 2 3 3 3 6 6 6 8 8 8 8 8 8 8 8 8 8 6 6 6 6 6 5 6 6 4 2 1 1 1 1 0 0 1 1 0 0 0 0 1 1 1 2 4 5 5 5 5 5 3 4 3 1 0 +0 0 0 0 0 0 0 1 2 4 3 5 5 5 5 4 5 2 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 3 4 4 6 6 6 6 8 6 6 8 8 8 8 6 6 6 8 6 6 6 6 6 5 6 6 6 6 2 2 1 1 1 1 1 1 1 1 1 1 2 3 5 5 5 5 5 5 3 4 3 1 0 0 +0 0 0 0 0 0 0 1 2 4 3 4 5 5 5 4 5 4 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 2 4 4 4 5 5 6 6 6 8 5 5 5 5 6 6 5 5 5 5 6 8 6 6 6 5 5 6 6 6 8 8 8 8 5 2 2 2 2 2 2 2 4 5 5 5 5 5 5 4 3 3 3 1 0 0 +0 0 0 0 0 0 0 0 0 2 4 3 4 5 5 5 5 5 5 5 2 2 1 1 1 0 1 1 1 1 1 1 2 2 2 3 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 6 5 5 5 6 6 6 7 6 6 5 5 6 6 6 8 8 8 7 8 8 8 8 6 6 5 5 5 5 5 5 5 5 4 3 4 3 1 0 0 0 +0 0 0 0 0 0 0 0 0 0 2 4 3 3 5 5 5 5 5 5 5 4 3 2 2 2 1 2 2 2 2 2 4 6 6 6 5 5 5 5 5 5 6 6 5 5 5 6 5 5 6 6 6 5 5 6 5 5 6 6 6 5 5 6 5 5 5 6 8 8 8 6 7 8 8 6 6 5 5 5 5 5 5 3 3 4 3 1 0 0 0 0 +1 0 0 0 0 0 0 0 0 0 0 1 3 3 3 4 5 5 5 5 5 5 6 6 6 6 6 6 6 8 8 8 8 8 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 6 5 5 5 5 6 5 5 5 5 6 5 6 6 6 6 6 6 8 8 8 8 8 6 6 5 5 5 5 5 3 3 5 2 1 0 0 0 1 1 +0 1 1 1 0 0 0 0 0 0 0 0 1 2 4 3 3 5 5 5 5 5 5 6 8 8 8 8 8 8 8 7 8 8 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 6 6 5 5 5 6 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 2 0 0 0 1 1 1 2 +0 0 0 1 1 1 1 1 1 1 0 0 0 0 2 4 3 3 4 5 5 5 5 5 6 8 8 8 8 8 8 8 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 8 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 6 5 5 5 6 5 4 4 5 2 1 0 1 1 1 1 2 1 1 +0 0 0 0 0 1 1 2 1 1 1 1 1 0 1 2 4 3 3 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 5 5 6 8 8 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 5 3 2 1 1 1 1 2 2 1 0 0 +0 0 0 0 0 0 0 0 1 1 2 1 1 1 1 1 2 3 5 4 3 4 5 5 6 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 3 3 5 5 8 8 8 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 5 3 2 1 1 1 2 2 1 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 1 1 1 2 2 5 5 4 4 5 6 6 6 6 6 6 6 6 5 5 6 6 6 5 5 5 5 5 5 4 4 3 4 4 4 4 5 5 3 5 5 6 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 4 4 5 3 2 1 1 2 2 2 1 0 0 0 0 0 0 0 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.967 0.967 1 1 1 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.508 0.508 0.967 0.967 0.99 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.99 0.967 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1 1 0.99 0.967 0.967 0.967 0.217 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.967 0.967 0.967 1 1.061 1 1 0.967 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.99 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.99 0.967 0.967 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1 0.99 0.967 0.967 0.967 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.967 0.967 1 1.061 1.061 1.061 0.99 0.508 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.99 0.99 0.967 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1 1 0.967 0.967 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.967 1 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 0.99 0.967 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1.061 1 0.99 0.967 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.967 0.99 1.061 1.061 1.061 1.061 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.99 0.967 0.508 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1 0.99 +0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 0.967 1.061 1.061 1 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 0.967 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1 +0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.967 0.99 1.061 1.061 1 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.967 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 +0.00129 0.00129 0.00129 0.00129 0.217 0.99 0.967 1 1.061 1 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 1.061 +0.00129 0.00129 0.00129 0.00129 0.967 0.967 0.99 1.061 1.061 1.061 0.967 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.99 1 1.061 +0.00129 0.00129 0.00129 0.00129 0.508 0.967 0.967 1 1 1.061 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 +0.00129 0.00129 0.00129 0.217 0.967 0.967 0.99 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 1.159 +0.00129 0.00129 0.00129 0.508 0.99 0.967 0.99 1 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1.159 +0.00129 0.00129 0.217 0.967 0.967 0.967 0.99 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 +0.00129 0.00129 0.508 0.967 0.967 0.99 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.508 0.217 0.00129 0.00129 0.217 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.061 +0.00129 0.217 0.99 0.967 0.967 0.99 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 +0.00129 0.508 0.967 0.99 0.99 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 +0.217 0.967 0.967 1 1 1 1 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 +0.00129 0.508 0.967 1 1.061 1.061 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 +0.217 0.99 0.967 1.061 1.061 1.061 1.061 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 +0.508 0.967 0.99 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.508 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 +0.967 0.967 1 1.061 1.061 1.061 1.071 1.159 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 +0.967 0.967 1.061 1.061 1.061 1.061 1.159 1.071 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 +0.967 0.99 1.061 1.061 1.061 1.159 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.508 1.061 +0.967 1 1.061 1.061 1.061 1.159 1.061 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.508 1.061 +0.967 1 1.061 1.061 1.061 1.159 1.061 0.967 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.508 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 +0.99 1 1.061 1.061 1.061 1.159 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.508 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 +0.99 1 1.061 1.061 1 1.061 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 1.061 +0.967 1 1.061 1.061 1 1.061 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 1.061 +0.99 0.99 1 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1.061 0.967 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 +0.99 0.99 1 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +1 1 1 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +1.061 1.061 1.061 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.508 0.508 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.508 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 +1.061 1.061 1.061 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.217 0.508 0.508 0.508 0.508 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 0.99 0.508 0.508 0.508 0.217 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 +1.061 1.061 1.061 1.061 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.217 0.217 0.508 0.508 0.217 0.217 0.217 0.508 1 1.061 1 1 1 1 0.967 0.967 0.508 0.217 0.508 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 +1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.217 0.217 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.217 0.967 1 1 1 1 1 0.99 0.967 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.217 0.217 0.217 0.508 0.508 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 +1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.508 0.217 0.217 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1 1 1 1 0.967 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.508 0.508 0.217 0.217 0.217 0.217 0.217 0.508 0.508 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 +1 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.508 0.508 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 0.99 0.99 0.99 0.99 1 0.967 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.217 0.217 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 +1 1.061 1.061 1.061 1.061 1.071 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.967 0.99 1.061 1.061 1.061 1.061 1 0.217 0.217 0.217 0.217 0.00129 0.217 0.217 0.217 0.00129 0.217 0.217 0.508 0.967 0.99 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 +1 1.061 1.061 1.061 1.061 1.159 0.967 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 0.508 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1 0.217 0.217 0.00129 0.00129 0.217 0.508 0.508 0.217 0.00129 0.00129 0.217 0.217 0.508 0.217 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 +1 1 1.061 1.061 1.061 1.159 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 1 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.508 0.99 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.217 0.217 0.508 1.061 0.508 0.508 0.217 0.217 0.217 0.508 0.508 0.508 0.217 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 +1 1 1 1.061 1 1.061 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.508 0.508 0.508 0.508 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.508 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.00129 0.217 0.217 0.967 0.508 0.967 1 0.508 0.217 0.217 0.508 1 0.508 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.967 1.061 +1 1 1.061 1.061 1 1 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.508 0.508 0.217 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.217 0.508 0.967 0.967 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.217 0.217 0.00129 0.00129 0.217 0.508 0.217 0.508 0.967 0.508 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.071 +1 1 1.061 1.061 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.217 0.217 0.00129 0.217 0.508 0.508 0.00129 0.217 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.217 0.508 1.061 1 0.967 0.967 0.99 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 +1.061 1 1.061 1.061 1.061 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.508 0.217 0.508 0.217 0.508 0.217 0.00129 0.217 0.00129 0.00129 0.217 0.508 1 1.159 1.159 1.159 1.159 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1 0.508 0.217 0.00129 0.217 0.217 0.217 0.217 0.00129 0.217 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 +1.061 1 1 1.061 1.061 1 0.99 0.967 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.217 0.508 1 0.508 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.508 1.061 1.159 1.159 1.159 1.159 1.159 1.061 1.061 1.061 1 1.061 1.061 1.061 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.508 1.061 0.99 +1.061 1.061 1 1.061 1.061 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.967 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.061 1 0.99 1 0.967 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 1 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 0.967 +1.061 1.061 1.061 1 1.061 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.061 1 1 0.967 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.217 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 0.967 +1 1 1 1 1.061 1.061 1 1 0.508 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.967 0.967 +0.99 1.061 1.061 1.061 1 1.061 1 1 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.159 1.159 1.159 1.159 1.159 1.071 1.159 1.159 1.071 1.159 1.159 1.159 1.159 1.159 1.159 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.967 0.99 0.99 +0.967 1 1.061 1 1 1 1 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.508 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.159 1.159 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 1.159 1.159 1.159 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 1 +0.99 1.061 1 1 1 1 1 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.508 1.159 1.159 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 1.159 1.071 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 0.99 0.99 +0.967 0.99 1.061 1 1 1 1 1.061 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 1.159 1.159 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 0.99 1 +0.967 0.967 1 1.061 1 1 1 1 1.159 1.159 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 1.159 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1 1 1 +0.217 0.967 0.967 1 1 1 1 1 1.061 1.159 1.159 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 1.061 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 0.99 1 1 +0.00129 0.508 0.99 0.967 1 1 1.061 1.061 1 1.159 1.159 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.508 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1 1.071 1.159 1.071 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.061 1.061 0.99 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.159 1.061 1 1 1 +0.00129 0.00129 0.508 0.99 0.967 1 1.061 1.061 1.061 1.061 1.159 1.159 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 1.061 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1.071 1.159 1.071 1.061 1.159 1.061 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.159 1.159 1.061 1 1.061 1 +0.00129 0.00129 0.00129 0.508 0.99 0.967 1 1 1.061 1.061 1.061 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.071 1.061 1.061 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.061 1.061 1.071 1.061 0.967 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.159 1.159 1.159 1.061 1.061 1 0.99 +0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 1 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.159 1.159 1.159 1.061 1.061 1 1.061 1.061 1.061 1.159 1.061 1.061 1.061 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 1.159 1.061 1 1 0.99 0.967 +0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 1 1.061 1.061 1 1.061 1.061 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1.061 1.061 1.061 1.159 1.159 1.061 1 1 1 1 1 1.061 1.159 1.061 1.061 1.061 1.061 0.967 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.159 1.159 1.061 1.061 1.061 0.99 0.967 +0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.99 0.967 1 1 1.061 1 1.061 1.061 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 1.061 1.061 1.061 1.061 1.159 1.159 1.159 1 1 1 1 1.159 1.159 1.159 1.159 1.159 1.061 1.061 1 0.967 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.159 1.159 1.159 1.061 1.061 1 0.967 0.99 +0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 0.967 1 1.061 1 1 1.061 1 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.967 1.061 1.061 1.061 1.159 1.159 1.159 1.159 1.159 1.061 1 1.159 1.159 1.159 1.159 1.159 1.159 1 1.061 1.061 1.061 0.967 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.217 0.967 1.061 1.159 1.159 1.061 1.061 1 0.967 0.967 0.99 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 0.967 0.967 1 1.061 1.061 1 1.061 1 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 1.061 1.061 1.061 0.99 1.061 1.159 1.159 1.159 1.159 1.061 1 1.159 1.159 1.159 1.159 1.159 1.061 0.99 1 1.061 1.061 1.061 1 0.967 0.508 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 1.061 1.159 1.071 1 1.061 1 0.967 0.99 0.99 0.217 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 0.967 0.967 1 1 1.061 1 1.061 1 0.508 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 1.071 1.061 1.159 1 0.99 1 1.061 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.061 1 0.99 0.99 1.061 1.061 1.061 1.061 1.061 1 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.508 0.967 0.99 1.061 1.071 1.061 1 1 1 0.967 0.967 0.99 0.217 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 0.967 1 1 1 1 1 1 0.967 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.508 1 1.159 1.061 1.159 1.061 0.99 1 1 1 1 1.061 1.159 1.159 1.159 1.159 1.159 1.061 1 1 1 1 1 1 1.061 1.071 1.159 1.071 1.061 1.061 1 0.967 0.508 0.508 0.217 0.217 0.508 0.508 0.508 0.967 0.99 0.99 0.99 1.061 1.061 1.061 1 1 1 0.967 0.99 0.99 0.217 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 0.967 0.99 1 1 1 1 1 1 0.967 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.217 0.217 0.217 0.508 0.967 1.159 1.159 1.061 1.159 1.061 0.99 1 1 1 1 1 1 1.159 1.159 1.061 1.159 1.061 1 1 1 1 1 1 0.99 1 1.061 1.061 1.159 1.159 1.159 1.061 1.061 1 0.967 0.967 0.967 0.99 0.99 0.99 0.99 0.99 1 1.061 1.061 1 1 1 1 0.967 0.99 0.967 0.217 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 0.967 0.99 1 1 1 1 1 1 1 0.967 0.508 0.508 0.508 0.217 0.217 0.217 0.217 0.217 0.217 0.508 0.508 0.967 1.061 1.159 1.159 1.159 1.159 1.061 1 0.99 1 1 1 1 1 1 1 1.159 1.071 1.159 1 1 1 1 1 1.061 1 0.99 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1 1 1 1 1.061 1 1 1 1 0.99 0.967 0.99 0.508 0.217 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.99 0.967 0.967 0.99 1 1 1 1 1 1 1 0.99 0.967 0.967 0.967 0.967 0.508 0.508 0.967 1 1.061 1.061 1.159 1.159 1.159 1.061 1 1 1 1 1 1 1 1 1 1 1 1.061 1.159 1.061 1 1 1 1 1.061 1.061 1 1 1.061 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1 1 1 1 1 1 1 0.967 0.967 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.217 +0.217 0.217 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 0.967 0.99 1 1 1 1 1 1 1 1 1 1 1 1 1.061 1.061 1.061 1.159 1.159 1.159 1.061 1.061 1.061 1 1 1.061 1 1 1 1 1 1 1 1 1 1.159 1 1 1 1 1 1.061 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1 1 1 1 1 0.99 0.99 0.99 0.967 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.217 +0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 0.967 0.967 0.99 1 1 1 1 1 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1.061 1.061 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1.061 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1 1 1 1 0.967 0.99 1 0.508 0.217 0.00129 0.217 0.217 0.217 0.217 0.508 +0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.217 0.508 0.99 0.99 0.967 0.99 1 1 1 1 1 1 1 1 1 1 1 1.061 1.061 1 1.061 1 1 1 1 1 1.061 1.061 1 1 1 0.99 1 1 1 1 0.99 1 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1.061 1 1 1 1 1 0.99 0.99 1 0.508 0.217 0.00129 0.217 0.217 0.217 0.508 0.508 0.217 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.217 0.217 0.217 0.217 0.00129 0.217 0.508 1 0.99 0.967 0.99 1 1 1 1 1 1 1 1.061 1 1 1 1.061 1.061 1 1 1 1.061 1.061 1.061 1.061 1 1 1 0.99 0.99 1 0.99 1 1.061 1 1 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 0.99 0.99 1 0.967 0.508 0.217 0.217 0.217 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.217 0.217 0.217 0.217 0.217 0.508 0.99 1 0.99 0.99 1 1 1 1 1 1 1.061 1 1 1 1 1 1 1.061 1 1.061 1 1 1 1 1 1 0.99 0.967 0.967 0.99 1 0.99 1 1 1 1 1 1 1 1.061 1.061 1.061 1 1 1 1 1.061 1.061 1.061 1.061 1 1 0.99 0.99 1 0.99 0.508 0.217 0.217 0.508 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.217 0.217 0.217 0.217 0.508 0.967 1 0.99 0.99 1 1 1.061 1 1.061 1.061 1 1 1 1 1 1 1 1 1 1 1 1 1 0.967 0.967 0.99 0.967 0.99 0.967 0.967 0.99 0.99 0.99 1 1 1 1.061 1.061 1.061 1.061 1.061 1 1 1 0.99 1 1 0.99 0.99 0.99 1 0.99 0.508 0.217 0.217 0.508 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.508 0.217 0.217 0.217 0.508 0.967 1 1 0.99 0.99 1 1 1 1 1 1 1 1 1 0.99 0.99 1 1 0.99 0.967 0.967 0.967 0.967 0.99 0.99 1 1 0.99 0.99 0.99 0.99 0.99 0.99 0.99 1 1 1 1 1 0.99 0.99 0.967 0.99 0.99 0.99 1 1 0.967 0.508 0.217 0.217 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.967 0.967 1 1 1.061 1.061 1 1 0.967 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.508 0.967 0.99 0.99 0.99 0.967 0.99 0.508 0.508 0.508 0.508 0.508 0.508 0.967 0.99 0.99 0.967 0.967 0.99 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 0.967 0.99 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1 1 0.99 0.967 0.967 0.967 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.99 1 1.061 1.061 1.061 1.061 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.967 0.967 0.967 0.99 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.99 0.99 0.967 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1 1 1 0.967 0.967 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 0.967 1 1.061 1.061 1.061 1.061 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.99 0.967 0.967 0.967 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 1.061 1.061 1 0.967 0.99 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.967 1 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.99 1 0.99 0.967 0.508 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1.061 1.061 1 0.967 +0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.99 1.061 1.159 1.061 1.061 1.061 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.99 0.99 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 0.99 +0.00129 0.00129 0.00129 0.00129 0.00129 0.967 0.967 1 1.061 1.159 1.061 1.061 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 1.061 1.061 1.061 +0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.99 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1 1.159 +0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.967 1 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.967 1.061 1.061 1.061 1.061 1.061 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.159 +0.00129 0.00129 0.00129 0.00129 0.508 0.967 0.99 1 1 1.061 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1 1.159 +0.00129 0.00129 0.00129 0.217 0.967 0.967 1 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 +0.00129 0.00129 0.00129 0.508 0.967 0.967 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 +0.00129 0.00129 0.217 0.99 0.967 0.99 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 +0.00129 0.00129 0.508 0.967 0.967 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.508 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 +0.00129 0.00129 0.217 0.99 0.967 0.99 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.967 1.061 +0.00129 0.00129 0.967 0.967 0.967 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 +0.00129 0.508 0.99 0.967 1 1 1 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 +0.00129 0.967 0.967 1 1.061 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 +0.508 0.967 1 1.061 1.061 1.061 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 +0.967 0.967 1.061 1.061 1.061 1.061 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +0.99 0.99 1.061 1.061 1.061 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.508 +0.508 0.967 1 1.061 1.061 1.159 1.061 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 +0.967 0.967 1 1.061 1.061 1.159 1.061 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 +0.967 0.99 1.061 1.061 1.061 1.159 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.99 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 +0.967 0.99 1.061 1.061 1.061 1.159 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 +0.967 1 1.061 1.061 1.061 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 +0.967 0.99 1.061 1.061 1.061 1.159 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 1 +0.99 0.99 1 1 1 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +0.967 0.967 0.99 1 0.99 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +0.967 0.99 1 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.508 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +0.967 0.99 0.99 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.99 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1.061 1 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +0.99 1 1 1 0.99 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.508 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1.061 1.061 0.99 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1.061 1.061 1.061 1 0.99 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.217 0.217 0.508 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.508 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +1.061 1.061 1.061 1 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.217 0.508 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.99 0.508 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +1.061 1.061 1.061 1.061 1.061 0.967 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.99 1 1 1 1 1 1 1 1 1 0.99 0.508 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +1.061 1.061 1.061 1.061 1.061 0.99 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1 1 1 1 1 0.967 0.508 0.508 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +1.061 1.061 1.061 1.061 1.159 0.99 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1 1 1 1 0.967 0.508 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.217 0.00129 0.217 0.217 0.508 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +1.061 1.061 1.061 1.061 1.159 0.99 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.99 0.99 0.99 0.967 0.967 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.508 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.508 0.508 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.967 +1.061 1.061 1.061 1.061 1.159 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.508 0.508 0.508 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 0.967 0.967 0.99 0.99 0.967 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.217 0.508 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.99 +1 1.061 1.061 1.061 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.967 1 1.061 1.061 1.061 1.061 0.99 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.508 0.99 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 +1 1.061 1.061 1 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.99 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.217 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 +1 1.061 1 1 1.061 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.00129 0.217 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 +1 1.061 1.061 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.508 1 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.967 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.00129 0.00129 0.217 1 0.508 0.217 0.217 0.508 0.217 0.217 0.217 0.508 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 +1 1.061 1.061 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.508 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.508 0.217 0.00129 0.217 0.508 0.508 0.967 0.967 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.217 0.00129 0.217 0.99 0.508 0.00129 0.217 0.508 0.99 0.508 0.217 0.508 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 +1.061 1 1.061 1 1 0.99 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.508 1 0.967 0.967 0.967 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.00129 0.00129 0.217 0.217 0.508 0.00129 0.00129 0.217 0.508 0.217 0.217 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 +1.061 1 1.061 1.061 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1.061 1 1 1 0.99 0.967 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.508 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 +1.061 1 1 1 1 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.508 0.99 1.061 1.159 1.159 1.159 1.159 1.061 1 0.99 1 1.061 1.061 1.061 0.99 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.217 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.967 0.967 +1 1.061 1 1.061 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.967 1 1.159 1.159 1.159 1.159 1.159 1.159 1.071 1.061 1.061 0.967 0.967 0.967 0.967 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.00129 0.00129 0.217 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 +1.061 1.061 1 1.061 1.061 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.508 0.217 0.00129 0.00129 0.217 0.217 0.217 0.217 1 1.159 1.159 1.159 1.159 1.159 1.159 1.061 1.061 1.159 1.159 1.061 0.967 0.967 1 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.99 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 +1 1 1.061 1 1.061 1 1 1 0.508 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.508 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 1.061 1.159 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.061 0.99 0.967 0.508 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.217 0.508 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.99 +1 1.061 1 1 1 1.061 1 1.061 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.159 1.159 1.071 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.061 0.99 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 0.99 +0.967 1 1.061 1.061 1 1.061 1.061 1.159 1.159 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1.061 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 0.967 1 +0.967 0.99 1.061 1.061 1.061 1 1.061 1.159 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.071 1.159 1.071 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1 0.99 1 +0.967 0.967 1 1.061 1 1 1 1.061 1.159 1.159 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.508 1 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 1 1 1 +0.217 0.967 0.967 1 1.061 1 1 1 1.061 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.159 1.159 1 1 1 +0.508 0.99 0.967 1 1 1.061 1.061 1 1.159 1.071 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.061 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 1.159 1.159 1.159 1 1 +0.00129 0.508 0.99 0.99 1 1 1 1 1 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.061 0.967 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.967 1.071 1.159 1.061 1 1 +0.00129 0.00129 0.508 0.99 0.99 1 1.061 1.061 1 1.061 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.508 1 1.061 1.071 1.071 1.071 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.071 1.159 1.159 1.159 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.508 1.159 1.159 1.159 1.061 1 1 +0.00129 0.00129 0.00129 0.508 0.99 0.99 1 1.061 1 1 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1.159 1.061 1.159 1.159 1.159 1.061 1.071 1.061 1.061 1.071 1.159 1.159 1.071 1.159 1.159 1.159 1.061 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.159 1.159 1.061 1.061 1 0.967 +0.00129 0.00129 0.00129 0.217 0.508 0.99 0.99 1 1.061 1.061 1 1.061 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.071 1.061 1.159 1.159 1.061 1 1 1.061 1.159 1.159 1.159 1.159 1.071 1.159 1.159 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.159 1.159 1.061 1.061 1.061 0.99 0.967 +0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 0.99 1 1.061 1.061 1 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1.061 1.061 1.071 1.061 1.071 1.159 1.159 1 1 1 1 1.061 1.159 1.159 1.061 1.071 1.061 1.061 1.061 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1.061 1.159 1.061 1 1.061 0.99 0.967 0.99 +0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 0.967 0.99 1 1.061 1 1 1 0.967 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.508 1.159 1.061 1.061 1.061 1.061 1.159 1.159 1 1 1 1 1.159 1.159 1.159 1.159 1.061 1.159 1.061 1.061 1.061 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1.061 1.061 1 1.061 1 0.967 0.99 0.508 +0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 0.99 1 1 1 1 1 0.967 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.508 1.061 1.061 1.159 1.061 1.159 1.159 1.159 1.159 1.159 1 1 1.159 1.159 1.159 1.159 1.159 1.159 1.061 1.159 1.061 1.159 1.061 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1.061 1.061 1 1 1 0.967 0.99 0.967 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 0.99 1 1.061 1 1 1 0.967 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.217 1.061 1.159 1.061 1.071 1.061 1.061 1.159 1.159 1.159 1.159 1.159 1.061 1.159 1.159 1.159 1.159 1.159 1.061 1.061 1.061 1.159 1.061 1.159 1.159 0.967 0.508 0.217 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 0.99 1.061 1.061 1 1 1 0.967 0.99 0.967 0.217 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.99 0.99 1 1 1 1 1 0.99 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.508 1.061 1.159 1.061 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 1.061 1.061 1.159 1.159 1 0.508 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.217 0.217 0.508 0.508 0.99 1 1 1 1 1 1 0.967 0.99 0.967 0.217 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 0.99 0.99 1 1 1 1 1 1 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.967 1.159 1.159 1.061 1.159 1.061 1.061 1.061 1.061 1 1 1 1.061 1.159 1.159 1.159 1.061 1 1 1.061 1.061 1.061 1.061 1.071 1.159 1.159 1.159 1.061 1.071 1.159 1.159 1.061 0.967 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.99 0.99 1 1 0.99 1 1 0.99 0.967 0.967 0.967 0.217 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 0.967 1 1 1 1 1 1 1 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.508 0.508 0.967 1.159 1.159 1.061 1.061 1.159 1.061 1.061 1.061 1.061 1.061 1 1 1 1.061 1.159 1.159 1.159 1.061 1 1 1 1.061 1.061 1.061 1 1 1.061 1.159 1.159 1.159 1.159 1.159 1.071 1.159 1.061 1.061 1 0.99 0.99 1 1 1 1 1 0.99 1 1 1 0.99 0.967 0.99 0.967 0.217 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.99 0.967 0.99 1 1 1 1 1 1 0.99 0.508 0.508 0.508 0.217 0.217 0.217 0.217 0.508 0.217 0.508 0.508 1.061 1.159 1.159 1.159 1.159 1.159 1.159 1.061 0.99 1 1.061 1.061 1 1 1 1 1 1.159 1.061 1.061 1 1 1 1 1 1.061 1 1 1 1 1 1.061 1.061 1.159 1.159 1.159 1.159 1.159 1.159 1.061 1.061 1 1 1 1 1 1 1 1 1 0.99 0.967 0.99 0.967 0.217 0.00129 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 0.967 0.99 1 1 1 1 1 1 1 1 0.99 0.967 0.967 0.967 0.99 1 1.061 1.159 1.159 1.159 1.061 1.159 1.159 1.159 1.061 1 1 1 1 1 1 1 1 1 1 1 1.061 1.159 1.061 1 1 1 1 1.061 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1 1 1 1 0.967 0.967 1 0.508 0.00129 0.00129 0.00129 0.00129 0.217 +0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.99 0.967 0.967 0.99 1 1 1 1 1 1 1 1 1.061 1.061 1.061 1.071 1.159 1.159 1.159 1.159 1.159 1.159 1.061 1 1 1 1 1 1 1 1 1 1 1 1 1 1.061 1.159 1.061 1 1 1 1 1.061 1 1.061 1.061 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1 1 1 0.99 0.967 0.99 0.99 0.508 0.00129 0.00129 0.00129 0.217 0.217 0.217 +0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.99 0.967 0.967 1 1 1 1 1 1 1 1.061 1.071 1.159 1.159 1.159 1.159 1.159 1.159 1.061 1.061 1.061 1 1 1 1 1 1 1 1 1 1 1 1 1 1.061 1.159 1.061 1 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1.061 1 1 1 1 1 0.967 0.99 1 0.508 0.217 0.00129 0.217 0.217 0.217 0.217 0.508 0.217 +0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.217 0.217 0.217 0.217 0.00129 0.00129 0.217 0.508 1 0.99 0.967 0.99 1 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1 1 1 1 1 0.99 1 1 1 1.061 1.061 1 1 1 0.99 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1.061 1.061 1 1 1 1 1 0.99 0.99 1 0.967 0.217 0.217 0.217 0.217 0.217 0.508 0.508 0.217 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.217 0.217 0.217 0.217 0.00129 0.217 0.967 1 0.99 0.967 0.99 1 1 1 1 1 1 1 1.061 1 1 1.061 1.061 1.061 1.061 1.061 1 1.061 1.061 1.061 1 1 1 1 0.99 0.99 1 0.99 1.061 1.061 1.061 1 1 1 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 0.99 0.99 1 0.967 0.217 0.217 0.217 0.217 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.217 0.217 0.217 0.217 0.508 0.508 1 1 0.99 0.99 1 1 1 1 1 1.061 1.061 1.061 1 1 1.061 1 1.061 1.061 1 1 1 1 1 1 1 1 0.99 0.99 0.99 0.99 0.99 1 1 0.99 1 1 1.061 1.061 1 1.061 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 0.99 0.99 1 0.967 0.508 0.217 0.217 0.508 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.217 0.217 0.217 0.217 0.508 0.967 1 0.99 0.99 1 1 1 1.061 1.061 1 1.061 1 1 1 1 1 1 0.99 1 1 1 0.99 0.967 0.967 0.967 0.99 0.99 0.967 0.967 0.99 0.99 0.99 0.99 1 1 1 1 1.061 1.061 1.061 1 1 1 1 1 1 1 0.99 0.99 1 1 0.967 0.508 0.217 0.217 0.508 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.967 0.967 1 1 1.061 1.061 1.061 1.061 1 1 1 0.99 0.99 1 1 1 1 1 1 1 0.99 0.967 0.967 0.99 0.99 0.967 0.99 1 1 1 1 1 0.99 1 1.061 0.99 0.99 0.99 0.99 1 1 1 1 1 1.061 1 1 1 1 1.061 1.061 1.061 0.99 0.967 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 1 1 1.061 1.061 1 0.967 0.967 +0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.967 0.99 1 1.061 1.061 1.061 1.061 1.061 1 0.967 0.508 0.508 0.508 0.217 0.217 0.217 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.967 0.967 0.967 0.967 0.967 0.967 0.99 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 0.99 0.99 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1.061 1.061 1.061 1 0.967 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.967 0.99 1 1.061 1.061 1.061 1.061 1.061 0.99 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 0.967 0.967 0.967 0.99 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 0.99 0.967 0.508 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1 0.967 +0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.99 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.967 0.99 0.99 0.967 0.508 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1.061 1.061 1.061 1.061 1 +0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.967 1 1.061 1.061 1.061 1.061 1.071 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 0.99 0.967 0.967 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1 1.061 1.061 +0.00129 0.00129 0.00129 0.00129 0.508 0.967 0.99 1.061 1.159 1.159 1.061 1.061 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.99 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1 1.061 +0.00129 0.00129 0.00129 0.00129 0.217 0.99 0.967 1 1.061 1.159 1.159 1.061 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1 1.061 1.061 +0.00129 0.00129 0.00129 0.00129 0.508 0.967 0.99 1.061 1.061 1.061 1.159 1 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1 1.061 +0.00129 0.00129 0.00129 0.217 0.99 0.967 1 1 1 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 +0.00129 0.00129 0.00129 0.508 0.967 0.99 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.99 1.061 +0.00129 0.00129 0.00129 0.217 0.99 0.967 1 1 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.967 1.061 1.061 1.061 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.061 1.061 +0.00129 0.00129 0.00129 0.967 0.967 0.99 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 +0.00129 0.00129 0.508 0.967 0.967 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.217 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 +0.00129 0.217 0.967 0.967 0.99 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.99 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +0.00129 0.508 0.967 0.967 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +0.217 0.967 0.967 0.99 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +0.00129 0.508 0.967 1 1.061 1 0.99 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +0.217 0.967 0.967 1.061 1.061 1.061 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +0.508 0.967 0.99 1.061 1.061 1.071 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +0.967 0.967 1 1.061 1.159 1.061 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.508 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +0.967 0.99 1.061 1.061 1.159 1.061 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 +0.967 1 1.061 1.159 1.159 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +0.967 1 1.061 1.159 1.061 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +0.967 1 1.061 1.159 1.061 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +0.967 0.967 1 1 1.061 1.061 0.967 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +0.967 0.99 0.99 1 1 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.99 0.508 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +0.967 0.99 0.99 1 0.99 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.508 0.217 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +0.99 0.99 0.99 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.508 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +0.967 0.967 0.99 0.99 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 +0.967 0.967 0.99 0.99 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1.061 1.061 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1 1 1 0.99 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 0.99 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1 1.061 1.061 1 0.99 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 0.99 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.967 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1.061 1.061 1.061 1 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.508 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1.061 1.061 1.061 0.99 0.508 0.508 0.508 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1.061 1.061 1.061 1.061 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.508 0.508 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 0.99 0.508 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1.061 1.061 1.061 1.061 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1 1 1 1 0.99 1 1 1.061 0.99 0.99 0.967 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1.061 1.061 1.061 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.508 1 1 1 1 1 0.99 0.967 0.508 0.508 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1.061 1.061 1.061 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 1 1 1 0.99 0.967 0.508 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.217 0.217 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.508 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1.061 1.061 1.061 1.159 1.159 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.967 0.967 0.99 0.99 0.967 0.508 0.508 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1.061 1.061 1.061 1.159 1.159 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 0.967 1 1 1 0.967 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 0.508 0.217 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1 1.061 1.061 1.061 1.071 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.99 1.061 1.061 1.061 1.061 1.061 0.99 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 +1 1.061 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +1.061 1.061 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +1.061 1.061 1 1 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.967 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.217 0.217 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.217 0.00129 0.217 0.217 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 +1.061 1.061 1 1 1 0.967 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.508 0.508 0.967 0.967 0.967 0.967 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.217 0.508 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 +1 1 1.061 1 1 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 1 1 0.99 0.967 0.967 0.967 1 1.061 1.061 1.061 1.061 1.061 1.061 1 0.217 0.217 0.00129 0.00129 0.217 0.217 0.508 0.508 0.00129 0.00129 0.00129 0.217 0.967 0.508 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 +1.061 1 1 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.217 0.508 1 1 0.99 1 1.061 1 0.99 1 1.061 1.061 1.061 1.061 1 0.967 0.217 0.217 0.00129 0.00129 0.217 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 +1.061 1 1.061 1 1 1 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.217 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.508 0.99 0.99 1 1.159 1.159 1.159 1.061 1 0.967 0.99 1 1 0.99 0.967 0.508 0.217 0.00129 0.217 0.217 0.217 0.508 0.217 0.508 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 +1 1 1 1 1 1 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.967 0.99 1 1.159 1.159 1.159 1.159 1.159 1.159 1.061 0.99 0.967 0.967 0.967 1 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.217 0.00129 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 +1 1.061 1 1.061 1.061 1 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1 1.159 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1.159 1 0.967 0.967 1 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.508 0.508 0.00129 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 +1 1.061 1.061 1 1.061 1.061 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.967 1.061 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.061 0.967 0.967 0.508 0.217 0.217 0.00129 0.00129 0.217 0.00129 0.217 0.508 0.508 0.00129 0.00129 0.217 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1 +1 1 1 1 1.061 1.061 1.159 1.159 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.99 1.061 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1 0.967 0.508 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.217 0.508 0.217 0.00129 0.00129 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 1.061 1 0.99 +0.99 1 1.061 1.061 1 1.061 1.159 1.159 1.061 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1.061 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 0.99 0.508 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.061 1 1 +0.967 1 1.061 1.061 1 1 1.061 1.159 1.159 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1.061 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1 0.967 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.159 1.159 1 1 +0.967 0.967 1 1.061 1.061 1 1 1.061 1.159 0.99 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.508 1 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1 0.967 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 1 1.071 1.159 1 1 +0.217 0.99 0.967 1 1.061 1 1 0.99 1.061 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1.061 1.071 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1 0.967 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1.071 1.159 1.061 1.061 1 +0.00129 0.508 0.99 0.99 1 1.061 1.061 1 1 1.061 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 1.061 1.071 1.061 1.061 1.061 1.061 1.061 1.071 1.061 1.061 1.061 1.061 1.061 1 0.967 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 1.061 1.159 1.061 1.061 1 +0.00129 0.00129 0.508 0.99 0.99 1 1 1.061 1 1 1.061 0.508 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 0.967 0.508 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1.071 1.159 1.061 1.061 1.061 0.99 +0.00129 0.217 0.508 0.99 0.99 1 1 1 1 1.061 1 0.508 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.508 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 1 1.071 1.159 1.061 1.061 1 +0.00129 0.00129 0.217 0.967 0.99 0.99 1 1 1 1 1 0.967 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1.061 1.061 1.159 1.061 1.061 1.061 1.071 1.061 1.061 1.061 1.071 1.061 1.061 1.071 1.061 1.061 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1.061 1.159 1.061 1.061 1 0.99 +0.00129 0.00129 0.00129 0.217 0.967 0.99 0.99 1 1 1 1 0.99 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.967 1.061 1.061 1.061 1.159 1.159 1.159 1.061 1 1 1 1.159 1.159 1.071 1.061 1.061 1.061 1.061 0.967 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1.061 1.061 1.061 1 0.99 0.967 +0.00129 0.00129 0.00129 0.00129 0.217 0.99 0.967 0.99 1 1 1 1 0.99 0.508 0.217 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 1.061 1.061 1.061 1.159 1.159 1.061 1 1 1 1 1.061 1.159 1.071 1.159 1.061 1.061 1.061 1 0.508 0.217 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.99 1.061 1.061 1.061 1.061 1 0.967 1 +0.00129 0.00129 0.00129 0.00129 0.00129 0.508 1 0.967 0.99 1 1 1 1 1 0.508 0.217 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.967 0.99 1 1 1.159 1.159 1.159 1.061 1 1 1 1 1.071 1.159 1.061 1.159 1.061 1.061 1.061 1 1 0.508 0.217 0.217 0.217 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1.061 1 1 1.061 1 0.967 0.99 0.508 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 1 1 1 1 0.99 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.217 0.217 0.508 0.967 0.967 0.99 1.061 1.061 1.061 1.159 1.159 1.159 1 1.061 1.159 1.159 1.159 1.159 1.061 1.061 1.061 1 1 1.061 1.061 0.967 0.508 0.217 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 1 1 1 1 1 1 0.967 0.99 0.967 0.217 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 1 1 1 1 0.99 1 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.00129 0.217 0.00129 0.217 0.217 0.508 0.967 0.967 0.967 1.061 1.061 1.061 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.061 1.061 1.061 1.061 1.061 1 1.061 1.061 0.99 0.508 0.217 0.217 0.217 0.217 0.00129 0.00129 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.99 1 1 1 1 1 0.967 0.99 0.967 0.217 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.99 0.967 1 1 1 1 0.99 1 0.508 0.217 0.217 0.00129 0.00129 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.967 0.99 0.99 1.061 1.061 1.061 1.061 1.159 1.061 1.061 1.159 1.159 1.159 1.159 1.061 1.061 1.061 1.159 1.061 1.061 1.061 1.061 1.061 1 1.061 1.061 1.061 1.061 0.508 0.508 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.508 0.967 1 1 1 1 1 1 0.967 0.99 0.967 0.217 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.99 0.967 0.99 1 1 1 0.99 1 0.99 0.508 0.508 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 0.99 0.99 0.99 1 1 1.061 1.061 1.061 1.159 1 1 1 1 1.061 1.061 1 1 1 1 1.061 1.159 1.061 1.061 1.061 1 1 1.061 1.061 1.061 1.159 1.159 1.159 1.159 1 0.508 0.508 0.508 0.508 0.508 0.508 0.508 0.99 1 1 1 1 1 1 0.99 0.967 0.967 0.967 0.217 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 0.99 1 1 1 1 1 1 1 0.508 0.508 0.217 0.217 0.217 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.508 0.508 0.508 0.967 1 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1.061 1 1 1 1.061 1.061 1.061 1.071 1.061 1.061 1 1 1.061 1.061 1.061 1.159 1.159 1.159 1.071 1.159 1.159 1.159 1.159 1.061 1.061 1 1 1 1 1 1 1 1 0.99 0.967 0.99 0.967 0.217 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 0.967 1 1 1 1 1 1 1 0.99 0.967 0.508 0.508 0.508 0.217 0.508 0.508 0.508 0.508 0.508 0.99 1.061 1.061 1.061 1 1 1 1 1 1 1.061 1.061 1 1 1 1.061 1 1 1.061 1.061 1.061 1 1 1.061 1 1 1.061 1.061 1.061 1 1 1.061 1 1 1 1.061 1.159 1.159 1.159 1.061 1.071 1.159 1.159 1.061 1.061 1 1 1 1 1 1 0.967 0.967 0.99 0.967 0.217 0.00129 0.00129 0.00129 0.00129 +0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.967 0.967 0.967 0.99 1 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 1.159 1.159 1.159 1.061 1.061 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1.061 1.159 1.061 1 1 1 1 1.061 1 1 1 1 1.061 1 1.061 1.061 1.061 1.061 1.061 1.061 1.159 1.159 1.159 1.159 1.159 1.061 1.061 1 1 1 1 1 0.967 0.967 1 0.508 0.217 0.00129 0.00129 0.00129 0.217 0.217 +0.00129 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.99 0.967 0.967 1 1 1 1 1 1 1.061 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.071 1.159 1.159 1.061 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1.061 1.159 1.061 1.061 1 1 1 1.061 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1 0.99 0.99 0.99 0.508 0.00129 0.00129 0.00129 0.217 0.217 0.217 0.508 +0.00129 0.00129 0.00129 0.217 0.217 0.217 0.217 0.217 0.217 0.217 0.00129 0.00129 0.00129 0.00129 0.508 0.99 0.967 0.967 0.99 1 1 1 1 1 1.061 1.159 1.159 1.159 1.159 1.159 1.159 1.159 1.061 1.061 1.061 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1.061 1.159 1.061 1 1 1 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1.061 1 1 1 1.061 1 0.99 0.99 1 0.508 0.217 0.00129 0.217 0.217 0.217 0.217 0.508 0.217 0.217 +0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.217 0.217 0.217 0.217 0.217 0.00129 0.217 0.508 0.99 0.967 0.967 0.99 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1 1 1 1 1 1 0.99 1 1 1.061 1.159 1.159 1.061 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1 0.99 0.99 1 0.967 0.508 0.217 0.217 0.217 0.217 0.508 0.508 0.217 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.217 0.508 0.217 0.217 0.217 0.217 0.217 0.508 0.967 1 0.99 0.967 0.99 1 1 1.061 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1 1 1 1 1 0.967 0.967 1 1 1.159 1.159 1.159 1 1 1 1 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 0.99 0.99 1 0.967 0.508 0.217 0.217 0.217 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 +0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.217 0.508 0.508 0.217 0.217 0.217 0.217 0.508 0.508 1 1 0.99 0.99 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 1.061 1.061 1.061 1 1 1 1 1 1 0.99 0.99 0.967 0.99 0.99 0.99 0.99 1 1 0.967 1 1 1.061 1 1 1 1 1 1 1.061 1.061 1.061 1.061 1.061 1.061 1.061 1 1 0.99 0.99 1 0.967 0.508 0.217 0.217 0.508 0.508 0.508 0.217 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 0.00129 diff --git a/examples/extended/medical/DICOM/vis.mac b/examples/extended/medical/DICOM/vis.mac index 96bb036de2..a6654212bd 100644 --- a/examples/extended/medical/DICOM/vis.mac +++ b/examples/extended/medical/DICOM/vis.mac @@ -1,14 +1,74 @@ -/control/verbose 2 /run/verbose 2 -#visualisation -/vis/scene/create -#/vis/open OGLIX +# +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE -/vis/open VRML2FILE -/vis/viewer/update -/vis/viewer/zoom 5 -/tracking/storeTrajectory 1 +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 5. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate 10 +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# /tracking/verbose 1 /run/beamOn 10 diff --git a/examples/extended/medical/GammaTherapy/GNUmakefile b/examples/extended/medical/GammaTherapy/GNUmakefile index 27aa2eb97a..14fadbfca1 100644 --- a/examples/extended/medical/GammaTherapy/GNUmakefile +++ b/examples/extended/medical/GammaTherapy/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2008/06/11 15:17:57 vnivanch Exp $ +# $Id: GNUmakefile,v 1.4 2010/01/11 16:43:05 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../geant4 + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/medical/GammaTherapy/GammaTherapy.cc b/examples/extended/medical/GammaTherapy/GammaTherapy.cc index b7b70c3243..35cc5a3eb5 100644 --- a/examples/extended/medical/GammaTherapy/GammaTherapy.cc +++ b/examples/extended/medical/GammaTherapy/GammaTherapy.cc @@ -40,11 +40,10 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "Randomize.hh" #include "G4VisExecutive.hh" +#include "G4UIExecutive.hh" #include "DetectorConstruction.hh" #include "PhysicsList.hh" @@ -85,28 +84,25 @@ int main(int argc,char** argv) { runManager->SetUserAction(new TrackingAction()); // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); - if(1 < verbose) UI->ListCommands("/testem/"); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + if(1 < verbose) UImanager->ListCommands("/testem/"); if (argc==1) // Define UI terminal for interactive mode { - visManager = new G4VisExecutive(); + G4VisManager* visManager = new G4VisExecutive("Quiet"); visManager->Initialize(); - G4UIsession * session; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; + UImanager->ApplyCommand("/control/execute vis.mac"); + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; + delete visManager; } else if (argc>1) // Batch mode with 1 or more files { if(verbose >0) G4cout << "UI interface is started" << G4endl; G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } // job termination diff --git a/examples/extended/medical/GammaTherapy/GammaTherapy.out b/examples/extended/medical/GammaTherapy/GammaTherapy.out index 6bb3022905..40253ec66d 100644 --- a/examples/extended/medical/GammaTherapy/GammaTherapy.out +++ b/examples/extended/medical/GammaTherapy/GammaTherapy.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -17,7 +17,7 @@ ---> Element: Be (Be) Z = 4.0 N = 9.0 A = 9.01 g/mole ---> Isotope: Be9 Z = 4 N = 9 A = 9.01 g/mole abundance: 100.00 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_W density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.310 cm Imean: 727.000 eV + Material: G4_W density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.306 cm Imean: 727.000 eV ---> Element: W (W) Z = 74.0 N = 183.9 A = 183.84 g/mole ---> Isotope: W180 Z = 74 N = 180 A = 179.95 g/mole abundance: 0.12 % ---> Isotope: W182 Z = 74 N = 182 A = 181.95 g/mole abundance: 26.50 % @@ -30,7 +30,7 @@ ---> Isotope: He3 Z = 2 N = 3 A = 3.02 g/mole abundance: 0.00 % ---> Isotope: He4 Z = 2 N = 4 A = 4.00 g/mole abundance: 100.00 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.505 cm Imean: 78.000 eV + Material: G4_WATER H_2O density: 1.000 g/cm3 RadL: 36.083 cm Nucl.Int.Length: 75.517 cm Imean: 78.000 eV ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 11.19 % ElmAbundance 66.67 % @@ -39,7 +39,7 @@ ---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 % ---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % ElmMassFraction: 88.81 % ElmAbundance 33.33 % - Material: G4_AIR density: 1.205 mg/cm3 RadL: 303.921 m Nucl.Int.Length: 710.137 m Imean: 85.700 eV temperature: 273.15 K pressure: 1.00 atm + Material: G4_AIR density: 1.205 mg/cm3 RadL: 303.921 m Nucl.Int.Length: 710.261 m Imean: 85.700 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 % ---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % ElmMassFraction: 0.01 % ElmAbundance 0.02 % @@ -55,7 +55,7 @@ ---> Isotope: Ar38 Z = 18 N = 38 A = 37.96 g/mole abundance: 0.06 % ---> Isotope: Ar40 Z = 18 N = 40 A = 39.96 g/mole abundance: 99.60 % ElmMassFraction: 1.28 % ElmAbundance 0.47 % - Material: G4_MYLAR density: 1.400 g/cm3 RadL: 28.536 cm Nucl.Int.Length: 55.961 cm Imean: 78.700 eV + Material: G4_MYLAR density: 1.400 g/cm3 RadL: 28.536 cm Nucl.Int.Length: 55.985 cm Imean: 78.700 eV ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 4.20 % ElmAbundance 36.36 % @@ -181,22 +181,22 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=8.37s Real=8.37s Sys=0s + User=6.56s Real=6.6s Sys=0s RunAction: End of run actions are started Histo: End of run actions are started ======================================================== Number of events 10000 -Average number of e- 12.16 -Average number of gamma 21.24 -Average number of e+ 0.789 +Average number of e- 12.13 +Average number of gamma 21.18 +Average number of e+ 0.7932 Average number of neutrons 0 -Average number of steps in absorber 31.88 -Average number of e- steps in target 18.8 -Average number of g produced in the target 20.42 -Average number of e- produced in the target 7.189 -Average number of g produced in the phantom 0.5147 -Average number of e- produced in the phantom 2.794 -Total gamma fluence in front of phantom 8.607 MeV +Average number of steps in absorber 32.13 +Average number of e- steps in target 18.61 +Average number of g produced in the target 20.35 +Average number of e- produced in the target 7.174 +Average number of g produced in the phantom 0.5292 +Average number of e- produced in the phantom 2.799 +Total gamma fluence in front of phantom 8.752 MeV ======================================================== diff --git a/examples/extended/medical/GammaTherapy/History b/examples/extended/medical/GammaTherapy/History index 47807fbc80..22436e9b35 100644 --- a/examples/extended/medical/GammaTherapy/History +++ b/examples/extended/medical/GammaTherapy/History @@ -1,4 +1,4 @@ -$Id: History,v 1.27 2009/11/21 16:47:07 vnivanch Exp $ +$Id: History,v 1.33 2010/11/02 16:10:48 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,25 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +01-11-10 J.Allison (gtherapy-V09-03-05) +- Introduced G4UIExecutive. + +26-10-10 V.Ivant (gtherapy-V09-03-04) +- in PrimaryGeneratorAction.hh remove unused methods + +25-10-10 G.Folger (gtherapy-V09-03-03) +- in PrimaryGeneratorAction.hh, comment unused definition of + G4ThreeVector GetBeamEnergy() + +21-10-10 V.Ivant (gtherapy-V09-03-02) +- Cleanup AIDA histograms and analysis + +06-06-10 J.Perl (gtherapy-V09-03-01) +- Remove unused variable in EventAction + +04-06-10 J.Perl (gtherapy-V09-03-00) +- Updated vis usage + 21-11-09 V.Ivant (gtherapy-V09-02-00) - update EM physics according to 9.3 diff --git a/examples/extended/medical/GammaTherapy/be_w.in b/examples/extended/medical/GammaTherapy/be_w.in index 3bbebb38e9..ae9ab529da 100644 --- a/examples/extended/medical/GammaTherapy/be_w.in +++ b/examples/extended/medical/GammaTherapy/be_w.in @@ -30,6 +30,6 @@ /gun/particle e- /gun/energy 50.0 MeV # -/run/initialize -/run/beamOn 1000000 +#/run/initialize +#/run/beamOn 1000000 diff --git a/examples/extended/medical/GammaTherapy/include/Histo.hh b/examples/extended/medical/GammaTherapy/include/Histo.hh index 2064ad243c..4dbdc4dfd8 100644 --- a/examples/extended/medical/GammaTherapy/include/Histo.hh +++ b/examples/extended/medical/GammaTherapy/include/Histo.hh @@ -45,7 +45,6 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "globals.hh" -#include #include "G4DynamicParticle.hh" #include "G4VPhysicalVolume.hh" #include "G4DataVector.hh" @@ -99,44 +98,44 @@ public: // Without description void AddTargetPhoton(const G4DynamicParticle*); void AddPhantomElectron(const G4DynamicParticle*); void AddTargetElectron(const G4DynamicParticle*); - void AddPositron(const G4DynamicParticle*) {n_posit++;}; - void AddStepInTarget() {n_step_target++;}; + inline void AddPositron(const G4DynamicParticle*) { ++n_posit;}; + inline void AddStepInTarget() { ++n_step_target;}; - void SetVerbose(G4int val) {verbose = val;}; - G4int GetVerbose() const {return verbose;}; + inline void SetVerbose(G4int val) {verbose = val;}; + inline G4int GetVerbose() const {return verbose;}; - void SetHistoNumber(G4int val) {nHisto = val;}; - void SetNtuple(G4bool val) {nTuple = val;}; + inline void SetHistoNumber(G4int val) {nHisto = val;}; + inline void SetNtuple(G4bool val) {nTuple = val;}; - void SetNumberDivZ(G4int val) {nBinsZ = val; }; - G4int GetNumberDivZ() const {return nBinsZ;}; - void SetNumberDivR(G4int val) {nBinsR = val; }; - G4int GetNumberDivR() const {return nBinsR;}; - void SetNumberDivE(G4int val) {nBinsE = val; }; + inline void SetNumberDivZ(G4int val) {nBinsZ = val; }; + inline G4int GetNumberDivZ() const {return nBinsZ;}; + inline void SetNumberDivR(G4int val) {nBinsR = val; }; + inline G4int GetNumberDivR() const {return nBinsR;}; + inline void SetNumberDivE(G4int val) {nBinsE = val; }; - void SetFirstEventToDebug(G4int val) {nEvt1 = val;}; - G4int FirstEventToDebug() const {return nEvt1;}; - void SetLastEventToDebug(G4int val) {nEvt2 = val;}; - G4int LastEventToDebug() const {return nEvt2;}; + inline void SetFirstEventToDebug(G4int val) {nEvt1 = val;}; + inline G4int FirstEventToDebug() const {return nEvt1;}; + inline void SetLastEventToDebug(G4int val) {nEvt2 = val;}; + inline G4int LastEventToDebug() const {return nEvt2;}; - void SetAbsorberZ(G4double val) {absorberZ = val;}; - void SetAbsorberR(G4double val) {absorberR = val;}; - void SetScoreZ(G4double val) {scoreZ = val;}; + inline void SetAbsorberZ(G4double val) {absorberZ = val;}; + inline void SetAbsorberR(G4double val) {absorberR = val;}; + inline void SetScoreZ(G4double val) {scoreZ = val;}; - void SetMaxEnergy(G4double val) {maxEnergy = val;}; - G4double GetMaxEnergy() const {return maxEnergy;}; + inline void SetMaxEnergy(G4double val) {maxEnergy = val;}; + inline G4double GetMaxEnergy() const {return maxEnergy;}; - void AddEvent() {n_evt++;}; - void AddStep() {n_step++;}; + inline void AddEvent() { ++n_evt; }; + inline void AddStep() { ++n_step; }; - void SetCheckVolume(G4VPhysicalVolume* v) {checkVolume = v;}; - void SetGasVolume(G4VPhysicalVolume* v) {gasVolume = v;}; - G4VPhysicalVolume* CheckVolume() const {return checkVolume;}; - G4VPhysicalVolume* GasVolume() const {return gasVolume;}; + inline void SetCheckVolume(G4VPhysicalVolume* v) {checkVolume = v;}; + inline void SetGasVolume(G4VPhysicalVolume* v) {gasVolume = v;}; + inline G4VPhysicalVolume* CheckVolume() const {return checkVolume;}; + inline G4VPhysicalVolume* GasVolume() const {return gasVolume;}; - void SetPhantom(G4VPhysicalVolume* v) {phantom = v;}; - void SetTarget1(G4VPhysicalVolume* v) {target1 = v;}; - void SetTarget2(G4VPhysicalVolume* v) {target2 = v;}; + inline void SetPhantom(G4VPhysicalVolume* v) {phantom = v;}; + inline void SetTarget1(G4VPhysicalVolume* v) {target1 = v;}; + inline void SetTarget2(G4VPhysicalVolume* v) {target2 = v;}; void AddStep(G4double e, G4double r1, G4double z1, G4double r2, G4double z2, G4double r0, G4double z0); @@ -148,6 +147,11 @@ private: // MEMBERS static Histo* fManager; + const G4ParticleDefinition* gamma; + const G4ParticleDefinition* electron; + const G4ParticleDefinition* positron; + const G4ParticleDefinition* neutron; + G4VPhysicalVolume* checkVolume; G4VPhysicalVolume* gasVolume; G4VPhysicalVolume* phantom; diff --git a/examples/extended/medical/GammaTherapy/include/PrimaryGeneratorAction.hh b/examples/extended/medical/GammaTherapy/include/PrimaryGeneratorAction.hh index e93cab718e..8981574cfb 100644 --- a/examples/extended/medical/GammaTherapy/include/PrimaryGeneratorAction.hh +++ b/examples/extended/medical/GammaTherapy/include/PrimaryGeneratorAction.hh @@ -23,6 +23,10 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: PrimaryGeneratorAction.hh,v 1.6 2010/10/26 12:09:14 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + #ifndef PrimaryGeneratorAction_h #define PrimaryGeneratorAction_h 1 @@ -71,21 +75,19 @@ public: void GeneratePrimaries(G4Event* anEvent); //Get/Set methods - void SetBeamX(G4double val) {x0 = val;}; - void SetBeamY(G4double val) {y0 = val;}; - void SetBeamZ(G4double val) {z0 = val;}; - void SetBeamSigmaX(G4double val) {sigmaX = val;}; - void SetBeamSigmaY(G4double val) {sigmaY = val;}; - void SetBeamSigmaZ(G4double val) {sigmaY = val;}; void SetBeamSigmaE(G4double val); void SetBeamEnergy(G4double val); - void SetBeamMinCosTheta(G4double val) {minCosTheta = val;}; - void SetSigmaTheta(G4double val) {sigmaTheta = val;}; - void SetVerbose(G4int val) {verbose = val;}; - G4ThreeVector GetBeamPosition() const {return position;}; - G4ThreeVector GetBeamDirection() const {return direction;}; - G4ThreeVector GetBeamEnergy() const {return energy;}; - void SetRandom(const G4String& type) {m_gauss = type;}; + + inline void SetBeamX(G4double val) {x0 = val;}; + inline void SetBeamY(G4double val) {y0 = val;}; + inline void SetBeamZ(G4double val) {z0 = val;}; + inline void SetBeamSigmaX(G4double val) {sigmaX = val;}; + inline void SetBeamSigmaY(G4double val) {sigmaY = val;}; + inline void SetBeamSigmaZ(G4double val) {sigmaY = val;}; + inline void SetBeamMinCosTheta(G4double val) {minCosTheta = val;}; + inline void SetSigmaTheta(G4double val) {sigmaTheta = val;}; + inline void SetVerbose(G4int val) {verbose = val;}; + inline void SetRandom(const G4String& type) {m_gauss = type;}; private: diff --git a/examples/extended/medical/GammaTherapy/src/EventAction.cc b/examples/extended/medical/GammaTherapy/src/EventAction.cc index dc16ac1000..c8db66e3fe 100644 --- a/examples/extended/medical/GammaTherapy/src/EventAction.cc +++ b/examples/extended/medical/GammaTherapy/src/EventAction.cc @@ -40,9 +40,6 @@ #include "EventActionMessenger.hh" #include "G4UImanager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -117,28 +114,9 @@ void EventAction::BeginOfEventAction(const G4Event*) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { (Histo::GetPointer())->SaveEvent(); - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) { - G4TrajectoryContainer* trjc = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trjc) n_trajectories = trjc->entries(); - - for(G4int i=0; iGetTrajectoryContainer()))[i]); - if (drawFlag == "all") t->DrawTrajectory(1000); - else if ((drawFlag == "charged")&&(t->GetCharge() != 0.)) - t->DrawTrajectory(1000); - else if ((drawFlag == "neutral")&&(t->GetCharge() == 0.)) - t->DrawTrajectory(1000); - else if ((drawFlag == "charged+n")&&((t->GetCharge() != 0.)|| - (t->GetCharge()==0.&&t->GetParticleName()=="neutron"))) - t->DrawTrajectory(1000); - } - } if(verbose > 0) { G4cout << "EventAction: Event # " diff --git a/examples/extended/medical/GammaTherapy/src/Histo.cc b/examples/extended/medical/GammaTherapy/src/Histo.cc index 51149a82d4..12e01be531 100644 --- a/examples/extended/medical/GammaTherapy/src/Histo.cc +++ b/examples/extended/medical/GammaTherapy/src/Histo.cc @@ -23,6 +23,9 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: Histo.cc,v 1.10 2010/10/26 12:05:14 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// //--------------------------------------------------------------------------- // // ClassName: Histo @@ -37,6 +40,10 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "Histo.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4Neutron.hh" #include #ifdef G4ANALYSIS_USE @@ -64,7 +71,7 @@ Histo::Histo() { verbose = 1; histName = G4String("histo"); - histType = G4String("hbook"); + histType = G4String("root"); nHisto = 10; nHisto1 = 10; maxEnergy = 50.0*MeV; @@ -76,6 +83,11 @@ Histo::Histo() absorberR = 200.*mm; scoreZ = 100.*mm; + gamma = G4Gamma::Gamma(); + electron = G4Electron::Electron(); + positron = G4Positron::Positron(); + neutron = G4Neutron::Neutron(); + #ifdef G4ANALYSIS_USE af = 0; tree = 0; @@ -205,6 +217,8 @@ void Histo::EndOfHisto() G4cout << "Histograms and Ntuples are saved" << G4endl; } tree->close(); + delete tree; + tree = 0; G4cout << "Tree is closed" << G4endl; } #endif @@ -255,18 +269,15 @@ void Histo::bookHisto() AIDA::ITreeFactory* tf = af->createTreeFactory(); // Creating a tree mapped to a new hbook file. - G4String tt = "hbook"; - G4String nn = histName + ".hbook"; - if(histType == "root") { - tt = "root"; - nn = histName + ".root"; - } else if(histType == "xml" || histType == "XML" - || histType == "aida" || histType == "AIDA") { + G4String tt = histType; + G4String nn = histName + "." + histType; + if(histType == "xml" || histType == "XML" || histType == "aida" || + histType == "AIDA") { tt = "xml"; nn = histName + ".aida"; } - tree = tf->create(nn,tt,false,true, "--noErrors uncompress"); + tree = tf->create(nn,tt,false,true, ""); if(tree) { G4cout << "Tree store : " << tree->storeName() << G4endl; } else { @@ -316,9 +327,9 @@ void Histo::bookHisto() // If using Anaphe HBOOK implementation, there is a limitation on the // length of the variable names in a ntuple - if(nTuple) + if(nTuple) { ntup = tpf->create( "100", "Dose deposite","float r, z, e" ); - + } delete hf; delete tpf; #endif @@ -329,7 +340,7 @@ void Histo::bookHisto() void Histo::AddDeltaElectron(const G4DynamicParticle* elec) { G4double e = elec->GetKineticEnergy()/MeV; - if(e > 0.0) n_elec++; + if(e > 0.0) { ++n_elec; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -337,7 +348,7 @@ void Histo::AddDeltaElectron(const G4DynamicParticle* elec) void Histo::AddPhoton(const G4DynamicParticle* ph) { G4double e = ph->GetKineticEnergy()/MeV; - if(e > 0.0) n_gam++; + if(e > 0.0) { ++n_gam; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -345,7 +356,7 @@ void Histo::AddPhoton(const G4DynamicParticle* ph) void Histo::AddTargetPhoton(const G4DynamicParticle* ph) { G4double e = ph->GetKineticEnergy()/MeV; - if(e > 0.0) n_gam_tar++; + if(e > 0.0) { ++n_gam_tar; } #ifdef G4ANALYSIS_USE if(tree) histo[5]->fill(e,1.0); #endif @@ -356,7 +367,7 @@ void Histo::AddTargetPhoton(const G4DynamicParticle* ph) void Histo::AddPhantomPhoton(const G4DynamicParticle* ph) { G4double e = ph->GetKineticEnergy()/MeV; - if(e > 0.0) n_gam_ph++; + if(e > 0.0) { ++n_gam_ph; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -364,7 +375,7 @@ void Histo::AddPhantomPhoton(const G4DynamicParticle* ph) void Histo::AddTargetElectron(const G4DynamicParticle* ph) { G4double e = ph->GetKineticEnergy()/MeV; - if(e > 0.0) n_e_tar++; + if(e > 0.0) { ++n_e_tar; } #ifdef G4ANALYSIS_USE if(tree) histo[8]->fill(e,1.0); #endif @@ -375,7 +386,7 @@ void Histo::AddTargetElectron(const G4DynamicParticle* ph) void Histo::AddPhantomElectron(const G4DynamicParticle* ph) { G4double e = ph->GetKineticEnergy()/MeV; - if(e > 0.0) n_e_ph++; + if(e > 0.0) { ++n_e_ph; } #ifdef G4ANALYSIS_USE if(tree) histo[7]->fill(e,1.0); #endif @@ -388,8 +399,7 @@ void Histo::ScoreNewTrack(const G4Track* aTrack) //Save primary parameters ResetTrackLength(); - G4ParticleDefinition* particle = aTrack->GetDefinition(); - G4String name = particle->GetParticleName(); + const G4ParticleDefinition* particle = aTrack->GetParticleDefinition(); G4int pid = aTrack->GetParentID(); G4double kinE = aTrack->GetKineticEnergy(); G4ThreeVector pos = aTrack->GetVertexPosition(); @@ -415,30 +425,30 @@ void Histo::ScoreNewTrack(const G4Track* aTrack) } // delta-electron - } else if (0 < pid && "e-" == name) { + } else if (0 < pid && particle == electron) { if(1 < verbose) { G4cout << "TrackingAction: Secondary electron " << G4endl; } AddDeltaElectron(dp); - if(pv == phantom) AddPhantomElectron(dp); - else if(pv == target1 || pv == target2) AddTargetElectron(dp); + if(pv == phantom) { AddPhantomElectron(dp); } + else if(pv == target1 || pv == target2) { AddTargetElectron(dp); } - } else if (0 < pid && "e+" == name) { + } else if (0 < pid && particle == positron) { if(1 < verbose) { G4cout << "TrackingAction: Secondary positron " << G4endl; } AddPositron(dp); - } else if (0 < pid && "gamma" == name) { + } else if (0 < pid && particle == gamma) { if(1 < verbose) { G4cout << "TrackingAction: Secondary gamma; parentID= " << pid << " E= " << aTrack->GetKineticEnergy() << G4endl; } AddPhoton(dp); - if(pv == phantom) AddPhantomPhoton(dp); - else if(pv == target1 || pv == target2) AddTargetPhoton(dp); + if(pv == phantom) { AddPhantomPhoton(dp); } + else if(pv == target1 || pv == target2) { AddTargetPhoton(dp); } - } else if (0 < pid && "neutron" == name) { + } else if (0 < pid && particle == neutron) { n_neutron++; if(1 < verbose) { G4cout << "TrackingAction: Secondary neutron; parentID= " << pid @@ -454,10 +464,10 @@ void Histo::AddGamma(G4double e, G4double r) e /= MeV; sumR += e; G4int bin = (G4int)(e/stepE); - if(bin >= nBinsE) bin = nBinsE-1; + if(bin >= nBinsE) { bin = nBinsE-1; } gammaE[bin] += e; G4int bin1 = (G4int)(r/stepR); - if(bin1 >= nBinsR) bin1 = nBinsR-1; + if(bin1 >= nBinsR) { bin1 = nBinsR-1; } #ifdef G4ANALYSIS_USE if(tree) { histo[6]->fill(e,1.0); diff --git a/examples/extended/medical/GammaTherapy/src/TrackingAction.cc b/examples/extended/medical/GammaTherapy/src/TrackingAction.cc index bb54ff06b7..9c5de59889 100644 --- a/examples/extended/medical/GammaTherapy/src/TrackingAction.cc +++ b/examples/extended/medical/GammaTherapy/src/TrackingAction.cc @@ -55,33 +55,32 @@ TrackingAction::TrackingAction(): theHisto(Histo::GetPointer()) -{;} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... TrackingAction::~TrackingAction() -{;} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void TrackingAction::PreUserTrackingAction(const G4Track* aTrack) { theHisto->ScoreNewTrack(aTrack); - G4int pid = aTrack->GetParentID(); - const G4String name = aTrack->GetDefinition()->GetParticleName(); if(1 < theHisto->GetVerbose() && - (theHisto->GetMaxEnergy() < aTrack->GetKineticEnergy() && pid > 0)) - { - G4cout << "Track #" - << aTrack->GetTrackID() << " of " << name - << " Emax(MeV)= " << theHisto->GetMaxEnergy()/MeV - << " Ekin(MeV)= " << aTrack->GetKineticEnergy()/MeV - << " ## EventID= " - << (G4EventManager::GetEventManager())->GetConstCurrentEvent() - ->GetEventID() - << G4endl; - } + theHisto->GetMaxEnergy() < aTrack->GetKineticEnergy() && + aTrack->GetParentID() > 0) + { + G4cout << "Track #" + << aTrack->GetTrackID() << " of " + << aTrack->GetParticleDefinition()->GetParticleName() + << " Emax(MeV)= " << theHisto->GetMaxEnergy()/MeV + << " Ekin(MeV)= " << aTrack->GetKineticEnergy()/MeV + << " ## EventID= " + << (G4EventManager::GetEventManager())->GetConstCurrentEvent()->GetEventID() + << G4endl; + } } diff --git a/examples/extended/medical/GammaTherapy/vis.mac b/examples/extended/medical/GammaTherapy/vis.mac index 1c0fd4b68a..0278b6491f 100644 --- a/examples/extended/medical/GammaTherapy/vis.mac +++ b/examples/extended/medical/GammaTherapy/vis.mac @@ -26,23 +26,71 @@ /gun/particle e- /gun/energy 50.0 MeV # -# Create empty scene ("world" is default) -/vis/scene/create +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# Create a scene handler for a specific graphics system -# Edit the next line(s) to choose another graphic system +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -####/vis/open DAWNFILE -/vis/open OGLIX +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# Draw scene -/vis/viewer/set/viewpointThetaPhi -90 0 deg +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi -90. 0. +# +# Specify zoom value: /vis/viewer/zoom 1.4 -/vis/viewer/flush # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks all +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/medical/electronScattering/History b/examples/extended/medical/electronScattering/History index 62ed38f28b..ed97c95981 100644 --- a/examples/extended/medical/electronScattering/History +++ b/examples/extended/medical/electronScattering/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2009/11/22 19:06:15 maire Exp $ +$Id: History,v 1.10 2010/11/09 20:01:12 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -13,6 +13,24 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * + +09-11-10 M.Asai (electronScattering-V09-03-07) +- Fix AIDA file option. + +06-06-10 J.Perl (electronScattering-V09-03-06) +- Remove unused variable in EventAction + +04-06-10 J.Perl (electronScattering-V09-03-05) +- Updated vis usage + +22-05-10 mma (electronScattering-V09-03-04) +- electronScattering.cc : introduction of G4UIExecutive + +05-01-10 mma (electronScattering-V09-03-03) +- RunAction::PrintFluence() : print unormalized fluence per event + +11-12-09 mma +- add PhysListEmStandardWVI 22-11-09 mma (electronScattering-V09-02-03) - PhysListEmStandard and PhysListStandardGS as in TestEm5 diff --git a/examples/extended/medical/electronScattering/electronScattering.cc b/examples/extended/medical/electronScattering/electronScattering.cc index c03f83d3d7..0be071a95e 100644 --- a/examples/extended/medical/electronScattering/electronScattering.cc +++ b/examples/extended/medical/electronScattering/electronScattering.cc @@ -24,16 +24,14 @@ // ******************************************************************** // // -// $Id: electronScattering.cc,v 1.1 2009/09/19 16:09:43 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: electronScattering.cc,v 1.2 2010/05/22 21:21:52 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -49,6 +47,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -104,15 +106,12 @@ int main(int argc,char** argv) { 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 G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif #ifdef G4VIS_USE delete visManager; diff --git a/examples/extended/medical/electronScattering/electronScattering.in b/examples/extended/medical/electronScattering/electronScattering.in index 481519b675..b20dedff5e 100644 --- a/examples/extended/medical/electronScattering/electronScattering.in +++ b/examples/extended/medical/electronScattering/electronScattering.in @@ -1,4 +1,4 @@ -# $Id: electronScattering.in,v 1.1 2009/09/19 16:09:43 maire Exp $ +# $Id: electronScattering.in,v 1.2 2010/01/05 15:35:32 maire Exp $ # # macro file for eBenchmarkV1.cc # @@ -18,7 +18,7 @@ # /testem/gun/rndm 420. um #beam smearing # -/testem/histo/setFileName results/nofoil.13MeV +/testem/histo/setFileName results/nofoil/opt0 /testem/histo/setFileType hbook /testem/histo/setHisto 1 180 -90. 90. deg #proj ang /testem/histo/setHisto 2 120 0. 24. cm #dN/dS = f(r) diff --git a/examples/extended/medical/electronScattering/include/PhysListEmStandardWVI.hh b/examples/extended/medical/electronScattering/include/PhysListEmStandardWVI.hh new file mode 100644 index 0000000000..30eac29748 --- /dev/null +++ b/examples/extended/medical/electronScattering/include/PhysListEmStandardWVI.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. * +// ******************************************************************** +// +// +// $Id: PhysListEmStandardWVI.hh,v 1.1 2010/01/05 15:35:32 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandardWVI_h +#define PhysListEmStandardWVI_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandardWVI : public G4VPhysicsConstructor +{ + public: + PhysListEmStandardWVI(const G4String& name = "standardWVI"); + ~PhysListEmStandardWVI(); + + 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(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/medical/electronScattering/include/RunAction.hh b/examples/extended/medical/electronScattering/include/RunAction.hh index d73b4d8724..b4680c2a15 100644 --- a/examples/extended/medical/electronScattering/include/RunAction.hh +++ b/examples/extended/medical/electronScattering/include/RunAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.hh,v 1.1 2009/09/19 16:09:44 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: RunAction.hh,v 1.2 2010/01/05 15:35:32 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -59,7 +59,7 @@ class RunAction : public G4UserRunAction void InitFluence (); void SumFluence(G4double, G4double); void ComputeFluenceError(); - void PrintFluence(); + void PrintFluence(G4int); private: DetectorConstruction* detector; @@ -71,8 +71,9 @@ class RunAction : public G4UserRunAction G4int nbBins; G4double dr; std::vector fluence; - std::vector fluence2; - std::vector nbEntries; + std::vector fluence1; //normalized fluence + std::vector fluence2; //rms on norm. fl + std::vector nbEntries; //entries per bin }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/electronScattering/scatter.mac b/examples/extended/medical/electronScattering/scatter.mac index 7264be1657..9a33ec178f 100644 --- a/examples/extended/medical/electronScattering/scatter.mac +++ b/examples/extended/medical/electronScattering/scatter.mac @@ -1,14 +1,16 @@ -# $Id: scatter.mac,v 1.1 2009/09/19 16:09:43 maire Exp $ +# $Id: scatter.mac,v 1.3 2010/05/22 21:21:52 maire Exp $ # -# macro file for eBenchmarkV1.cc +# macro file for electronScattering # /control/verbose 2 /run/verbose 2 # # define here the Scattering foil # -/testem/det/setMaterial Beryllium -/testem/det/setThickness 5.005 mm #Be +##/testem/det/setMaterial Beryllium +##/testem/det/setThickness 5.005 mm #Be +/testem/det/setMaterial Graphite +/testem/det/setThickness 2.505 mm #C ##/testem/det/setMaterial Aluminium ##/testem/det/setThickness 518.5 um #Al2 ##/testem/det/setMaterial Titanium @@ -17,18 +19,18 @@ ##/testem/det/setThickness 16.2 um #Au1 ##/testem/det/setThickness 48.5 um #Au3 # -/testem/phys/addPhysics emstandard_opt0 -##/testem/phys/addPhysics standardSS -# -/testem/phys/setCut 10 um +##/testem/phys/addPhysics emstandard_opt3 +/testem/phys/addPhysics standardWVI # /run/initialize # +/run/setCut 10 um #including proton cut +# /gun/particle e- /gun/energy 13 MeV # -/testem/histo/setFileName results/13mev/Be.opt0 -/testem/histo/setFileType hbook +/testem/histo/setFileName ref4++/graphite/wvi +/testem/histo/setFileType root /testem/histo/setHisto 3 120 0. 240. mm #d(N/cost)/dS = f(r) /testem/histo/setHisto 4 120 0. 240. mm #normalized d(N/cost)/dS = f(r) # diff --git a/examples/extended/medical/electronScattering/src/EventAction.cc b/examples/extended/medical/electronScattering/src/EventAction.cc index addf1c8b7c..b99ab551fb 100644 --- a/examples/extended/medical/electronScattering/src/EventAction.cc +++ b/examples/extended/medical/electronScattering/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.1 2009/09/19 16:09:44 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: EventAction.cc,v 1.3 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,9 +35,6 @@ #include "EventMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -67,24 +64,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - 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(1000); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(1000); - else if ((drawFlag == "neutral")&&(trj->GetCharge() == 0.)) - trj->DrawTrajectory(1000); - - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/electronScattering/src/HistoManager.cc b/examples/extended/medical/electronScattering/src/HistoManager.cc index ec2f727313..a949c2f444 100644 --- a/examples/extended/medical/electronScattering/src/HistoManager.cc +++ b/examples/extended/medical/electronScattering/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.1 2009/09/19 16:09:44 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HistoManager.cc,v 1.2 2010/11/09 20:01:12 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "nrccBenchmark"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; kAddProcess(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*20); //default=12*7 - emOptions.SetLambdaBinning(12*20); //default=12*7 - emOptions.SetSplineFlag(true); //default - - //multiple coulomb scattering - // - emOptions.SetMscStepLimitation(fUseDistanceToBoundary); //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 } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/electronScattering/src/PhysListEmStandardSS.cc b/examples/extended/medical/electronScattering/src/PhysListEmStandardSS.cc index 60ecbccefe..86a6e55909 100644 --- a/examples/extended/medical/electronScattering/src/PhysListEmStandardSS.cc +++ b/examples/extended/medical/electronScattering/src/PhysListEmStandardSS.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysListEmStandardSS.cc,v 1.1 2009/09/19 16:09:44 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysListEmStandardSS.cc,v 1.2 2010/01/05 15:35:32 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -51,8 +51,6 @@ #include "G4hIonisation.hh" #include "G4ionIonisation.hh" -#include "G4EmProcessOptions.hh" - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysListEmStandardSS::PhysListEmStandardSS(const G4String& name) @@ -121,30 +119,6 @@ void PhysListEmStandardSS::ConstructProcess() pmanager->AddProcess(new G4hIonisation, -1, 1, 1); } } - - // 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*20); //default=12*7 - emOptions.SetLambdaBinning(12*20); //default=12*7 - emOptions.SetSplineFlag(true); //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 } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/electronScattering/src/PhysListEmStandardWVI.cc b/examples/extended/medical/electronScattering/src/PhysListEmStandardWVI.cc new file mode 100644 index 0000000000..4803c0a9a2 --- /dev/null +++ b/examples/extended/medical/electronScattering/src/PhysListEmStandardWVI.cc @@ -0,0 +1,182 @@ +// +// ******************************************************************** +// * 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: PhysListEmStandardWVI.cc,v 1.1 2010/01/05 15:35:32 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandardWVI.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4eMultipleScattering.hh" +#include "G4WentzelVIModel.hh" +#include "G4CoulombScattering.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" + +#include "G4ionIonisation.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4NuclearStopping.hh" + +#include "G4EmProcessOptions.hh" +#include "G4MscStepLimitType.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardWVI::PhysListEmStandardWVI(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandardWVI::~PhysListEmStandardWVI() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandardWVI::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 + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 4); + + } else if (particleName == "e+") { + //positron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 5); + + } else if (particleName == "mu+" || + particleName == "mu-" ) { + //muon + G4MuMultipleScattering* msc = new G4MuMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -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 G4CoulombScattering, -1,-1, 5); + + } else if( particleName == "proton" || + particleName == "pi-" || + particleName == "pi+" ) { + //proton + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4hBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4hPairProduction, -1, 4, 4); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 5); + + } else if( particleName == "alpha" || + particleName == "He3" ) { + //alpha + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if( particleName == "GenericIon" ) { + //Ions + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + pmanager->AddProcess(ionIoni, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + } + } + + // Em options + // + // Main options and setting parameters are shown here. + // Several of them have default values. + // + G4EmProcessOptions emOptions; + + //multiple coulomb scattering + // + emOptions.SetPolarAngleLimit(0.2); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/medical/electronScattering/src/PhysicsList.cc b/examples/extended/medical/electronScattering/src/PhysicsList.cc index 27c3481ce8..3221c3c484 100644 --- a/examples/extended/medical/electronScattering/src/PhysicsList.cc +++ b/examples/extended/medical/electronScattering/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.3 2009/11/22 19:06:15 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.4 2010/01/05 15:35:32 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,6 +35,7 @@ #include "PhysListEmStandard.hh" #include "PhysListEmStandardSS.hh" #include "PhysListEmStandardGS.hh" +#include "PhysListEmStandardWVI.hh" #include "G4EmStandardPhysics.hh" #include "G4EmStandardPhysics_option1.hh" @@ -242,6 +243,12 @@ void PhysicsList::AddPhysicsList(const G4String& name) delete emPhysicsList; emPhysicsList = new PhysListEmStandardGS(name); + } else if (name == "standardWVI") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandardWVI(name); + } else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" diff --git a/examples/extended/medical/electronScattering/src/RunAction.cc b/examples/extended/medical/electronScattering/src/RunAction.cc index 33422d5608..cbee4f89b5 100644 --- a/examples/extended/medical/electronScattering/src/RunAction.cc +++ b/examples/extended/medical/electronScattering/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.1 2009/09/19 16:09:44 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: RunAction.cc,v 1.2 2010/01/05 15:35:32 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -106,7 +106,7 @@ void RunAction::EndOfRunAction(const G4Run* aRun) histoManager->Scale(3,fac); ComputeFluenceError(); - PrintFluence(); + PrintFluence(TotNbofEvents); // save histograms histoManager->save(); @@ -129,7 +129,8 @@ void RunAction::InitFluence() // nbBins = histoManager->GetNbins(ih); dr = histoManager->GetBinWidth(ih); - fluence.resize(nbBins, 0.); + fluence.resize(nbBins, 0.); + fluence1.resize(nbBins, 0.); fluence2.resize(nbBins, 0.); nbEntries.resize(nbBins, 0); } @@ -190,7 +191,7 @@ void RunAction::ComputeFluenceError() err1 = fluence2[bin]/fluence[bin]; error = ratio*std::sqrt(err1*err1 + err0*err0); } - fluence[bin] = ratio; + fluence1[bin] = ratio; fluence2[bin] = error; rmean += dr; histoManager->FillHisto(4,rmean,ratio); @@ -201,7 +202,7 @@ void RunAction::ComputeFluenceError() #include -void RunAction::PrintFluence() +void RunAction::PrintFluence(G4int TotEvents) { G4String name = histoManager->GetFileName(); G4String fileName = name + ".ascii"; @@ -212,18 +213,18 @@ void RunAction::PrintFluence() G4int prec = File.precision(3); File << " Fluence density distribution \n " - << "\n ibin\t radius (mm)\t fluence\t Nb\t rms\t\t rms/fl (%) \n" + << "\n ibin \t radius (mm) \t Nb \t fluence\t norma fl\t rms/nfl (%) \n" << G4endl; G4double rmean = -0.5*dr; for (G4int bin=0; bin 0.) error = 100*fluence2[bin]/fluence[bin]; - File << " " << bin << "\t " << rmean/mm << "\t " << fluence[bin] - << "\t " << nbEntries[bin] << "\t " << fluence2[bin] - << "\t " << error - << G4endl; + if (fluence1[bin] > 0.) error = 100*fluence2[bin]/fluence1[bin]; + File << " " << bin << "\t " << rmean/mm << "\t " << nbEntries[bin] + << "\t " << fluence[bin]/double(TotEvents) << "\t " << fluence1[bin] + << "\t " << error + << G4endl; } // restaure default formats diff --git a/examples/extended/medical/electronScattering/src/TrackingAction.cc b/examples/extended/medical/electronScattering/src/TrackingAction.cc index e405d473fc..21b45eb8b1 100644 --- a/examples/extended/medical/electronScattering/src/TrackingAction.cc +++ b/examples/extended/medical/electronScattering/src/TrackingAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: TrackingAction.cc,v 1.1 2009/09/19 16:09:44 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: TrackingAction.cc,v 1.2 2010/05/22 21:21:52 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -63,7 +63,7 @@ void TrackingAction::PostUserTrackingAction(const G4Track* track) if (charge == 0.0) return; if (position.z() < Zend) return; if (direction.z() <= 0.) return; - + G4double rmin, dr, ds; G4int ih = 1; diff --git a/examples/extended/medical/electronScattering/vis.mac b/examples/extended/medical/electronScattering/vis.mac index a592169643..c2f3c1f6f4 100644 --- a/examples/extended/medical/electronScattering/vis.mac +++ b/examples/extended/medical/electronScattering/vis.mac @@ -9,28 +9,71 @@ # /run/initialize # -# Create empty scene ("world" is default) +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/scene/create +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# Create a scene handler for a specific graphics system -# Edit the next line(s) to choose another graphic system +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -##/vis/open DAWNFILE -/vis/open OGLIX +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -# Draw scene +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -/vis/viewer/set/viewpointThetaPhi 90 180 deg -##/vis/viewer/set/style surface +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: /vis/viewer/zoom 1.1 -/vis/viewer/flush # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -#/testem/event/drawTracks charged -/testem/event/drawTracks all - +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/medical/electronScattering2/GNUmakefile b/examples/extended/medical/electronScattering2/GNUmakefile index c739d02e30..df6e7ab334 100644 --- a/examples/extended/medical/electronScattering2/GNUmakefile +++ b/examples/extended/medical/electronScattering2/GNUmakefile @@ -1,8 +1,16 @@ +# $Id: GNUmakefile,v 1.2 2010/01/11 16:44:45 gcosmo Exp $ +# -------------------------------------------------------------- +# GNUmakefile for examples module. +# -------------------------------------------------------------- name := electronScattering2 G4TARGET := $(name) G4EXLIB := true +ifndef G4INSTALL + G4INSTALL = ../../../.. +endif + .PHONY: all all: lib bin diff --git a/examples/extended/medical/electronScattering2/History b/examples/extended/medical/electronScattering2/History index 9b8061b448..901bea74ed 100644 --- a/examples/extended/medical/electronScattering2/History +++ b/examples/extended/medical/electronScattering2/History @@ -1,4 +1,4 @@ -$Id: History,v 1.2 2009/12/08 23:56:52 perl Exp $ +$Id: History,v 1.5 2010/11/02 15:46:42 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,15 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +02 November 2010, John Allison (exampleES2-V09-03-02) +- Introduced G4UIexecutive. + +28 October 2010, Gunter Folger (exampleES2-V09-03-01) +- fix compilation warning in ElectronBenchmarkDetector.cc + +4th June 2010, Joseph Perl (exampleES2-V09-03-00) +- Updated vis usage. 9th December 2009, Joseph Perl (exampleES2-V09-02-01) - Correct density for C, Cu and Au. diff --git a/examples/extended/medical/electronScattering2/electronScattering2.cc b/examples/extended/medical/electronScattering2/electronScattering2.cc index 9c8cd0ca67..cb0eab9da8 100644 --- a/examples/extended/medical/electronScattering2/electronScattering2.cc +++ b/examples/extended/medical/electronScattering2/electronScattering2.cc @@ -33,15 +33,8 @@ #endif #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" - -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif - -#ifdef G4UI_USE_WIN32 -#include "G4UIWin32.hh" +#ifdef G4UI_USE +#include "G4UIExecutive.hh" #endif #include "ElectronBenchmarkDetector.hh" @@ -104,25 +97,18 @@ int main(int argc,char** argv) { { // Since no macro was specified, instantiate an interactive session // (exact session type depends on user preference expressed in environment variables). - G4UIsession* session; -#if defined(G4UI_USE_XM) - session = new G4UIXm(argc,argv); -#elif defined(G4UI_USE_WIN32) - session = new G4UIWin32(); -#elif defined(G4UI_USE_TCSH) - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; #endif - session->SessionStart(); - delete session; } else { // A macro was specified. Execute it. - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); G4String command = "/control/execute "; - UI->ApplyCommand(command+macroFile); + UImanager->ApplyCommand(command+macroFile); } #ifdef G4VIS_USE diff --git a/examples/extended/medical/electronScattering2/macros/vis.mac b/examples/extended/medical/electronScattering2/macros/vis.mac index 1cd721fa9e..cfbad26ca8 100644 --- a/examples/extended/medical/electronScattering2/macros/vis.mac +++ b/examples/extended/medical/electronScattering2/macros/vis.mac @@ -21,13 +21,74 @@ /gps/pos/centre 0. 0. -60.05 cm # # Set up visualization -/vis/open HepRepFile +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: /vis/drawVolume -/vis/viewer/set/viewpointThetaPhi 90 90 -/vis/viewer/flush -# only draw trajectories if doing a small run -/vis/scene/add/trajectories +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 260. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# # Run -/run/beamOn 5 +#/run/beamOn 5 diff --git a/examples/extended/medical/electronScattering2/src/ElectronBenchmarkDetector.cc b/examples/extended/medical/electronScattering2/src/ElectronBenchmarkDetector.cc index d2fcdc4e0c..14f056a848 100644 --- a/examples/extended/medical/electronScattering2/src/ElectronBenchmarkDetector.cc +++ b/examples/extended/medical/electronScattering2/src/ElectronBenchmarkDetector.cc @@ -129,21 +129,33 @@ void ElectronBenchmarkDetector::DefineMaterials(){ man->FindOrBuildMaterial("G4_Be"); man->FindOrBuildMaterial("G4_Al"); man->FindOrBuildMaterial("G4_Ti"); - man->FindOrBuildMaterial("G4_C"); - man->FindOrBuildMaterial("G4_Cu"); man->FindOrBuildMaterial("G4_Ta"); - man->FindOrBuildMaterial("G4_Au"); man->FindOrBuildMaterial("G4_AIR"); man->FindOrBuildMaterial("G4_MYLAR"); + G4Element* C = man->FindOrBuildElement("C"); + G4Element* Cu = man->FindOrBuildElement("Cu"); + G4Element* Au = man->FindOrBuildElement("Au"); G4Element* Ti = man->FindOrBuildElement("Ti"); G4Element* Al = man->FindOrBuildElement("Al"); - G4Element* V = man->FindOrBuildElement("V"); + G4Element* V = man->FindOrBuildElement("V"); // Define materials not in NIST + // While the NIST database does contain default materials for C, Cu and Au, those defaults have different + // densities than the ones used in the benchmark specification. G4double density; G4int ncomponents; G4double fractionmass; + + G4Material* G4_C = new G4Material("G4_C", density= 2.18*g/cm3, ncomponents=1); + G4_C->AddElement(C, fractionmass=1.00); + + G4Material* G4_Cu = new G4Material("G4_Cu", density= 8.92*g/cm3, ncomponents=1); + G4_Cu->AddElement(Cu, fractionmass=1.00); + + G4Material* G4_Au = new G4Material("G4_Au", density= 19.30*g/cm3, ncomponents=1); + G4_Au->AddElement(Au, fractionmass=1.00); + G4Material* TiAlloy = new G4Material("TiAlloy", density= 4.42*g/cm3, ncomponents=3); TiAlloy->AddElement(Ti, fractionmass=0.90); TiAlloy->AddElement(Al, fractionmass=0.06); @@ -310,7 +322,7 @@ void ElectronBenchmarkDetector::CreateScorer(G4LogicalVolume* worldLog){ G4VSolid* scorerRingSolid = new G4Tubs("scorerRingSolid", 0.*cm, fRadOverall, halfThicknessScorer, 0.*deg, 360.*deg); fScorerRingLog = new G4LogicalVolume(scorerRingSolid, G4Material::GetMaterial("G4_AIR"), "scorerRingLog"); - new G4PVReplica("ScorerRing",fScorerRingLog,scorerLog,kRho,fRadOverall/fWidthScorerRing,fWidthScorerRing); + new G4PVReplica("ScorerRing",fScorerRingLog,scorerLog,kRho,G4int(fRadOverall/fWidthScorerRing),fWidthScorerRing); } diff --git a/examples/extended/medical/fanoCavity/History b/examples/extended/medical/fanoCavity/History index 9bc65e8178..99275841b7 100644 --- a/examples/extended/medical/fanoCavity/History +++ b/examples/extended/medical/fanoCavity/History @@ -1,4 +1,4 @@ -$Id: History,v 1.32 2009/11/16 17:51:44 maire Exp $ +$Id: History,v 1.38 2010/11/09 20:10:13 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,26 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +09-11-2011 M.Asai (fano-V09-03-05) +- Fix AIDA file option. + +25-10-2010 G.Folger (fano-V09-03-04) +- Correct initialisation of directinIn in ctor; needed by clhep 2.1... + +06-06-10 J.Perl (fano-V09-03-03) +- Remove unused variable in EventAction + +04-06-10 J.Perl (fano-V09-03-02) +- Updated vis usage + +22-05-10 mma (fano-V09-03-01) +- fanoCavity.cc : introduction of G4UIExecutive + +19-01-10 mma (fano-V09-03-00) +- introduce PhysListEmStandard_option2 : UrbanMscModel93 without options + PhysListEmStandard_WVI : WentzelVIModel +- put in run01.mac all physics lists choice 16-11-09 mma (fano-V09-02-03) - PhysListEmStandard_option3 : use UrbanMscModel93 diff --git a/examples/extended/medical/fanoCavity/fanoCavity.cc b/examples/extended/medical/fanoCavity/fanoCavity.cc index 17f4125d07..b0a1e48bed 100644 --- a/examples/extended/medical/fanoCavity/fanoCavity.cc +++ b/examples/extended/medical/fanoCavity/fanoCavity.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: fanoCavity.cc,v 1.6 2007/10/29 17:09:53 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: fanoCavity.cc,v 1.7 2010/05/22 21:02:48 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....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" @@ -51,6 +49,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -103,18 +105,15 @@ int main(int argc,char** argv) { 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 G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + #ifdef G4VIS_USE delete visManager; -#endif +#endif } diff --git a/examples/extended/medical/fanoCavity/fanoCavity.out b/examples/extended/medical/fanoCavity/fanoCavity.out index 91331d515b..5ae3417ee6 100644 --- a/examples/extended/medical/fanoCavity/fanoCavity.out +++ b/examples/extended/medical/fanoCavity/fanoCavity.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,28 +13,28 @@ ***** Table : Nb of materials = 7 ***** - Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.537 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: Water_vapor density: 1.000 mg/cm3 RadL: 360.924 m Nucl.Int.Length: 754.163 m Imean: 75.000 eV temperature: 273.15 K pressure: 1.00 atm + Material: Water_vapor density: 1.000 mg/cm3 RadL: 360.924 m Nucl.Int.Length: 755.365 m Imean: 75.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: Graphite density: 2.265 g/cm3 RadL: 18.850 cm Nucl.Int.Length: 35.387 cm Imean: 78.000 eV + Material: Graphite density: 2.265 g/cm3 RadL: 18.850 cm Nucl.Int.Length: 35.407 cm Imean: 81.000 eV ---> Element: Graphite ( ) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Graphite_gas density: 2.265 mg/cm3 RadL: 188.496 m Nucl.Int.Length: 353.873 m Imean: 78.000 eV temperature: 273.15 K pressure: 1.00 atm + Material: Graphite_gas density: 2.265 mg/cm3 RadL: 188.496 m Nucl.Int.Length: 354.070 m Imean: 81.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Graphite_gas ( ) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.860 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Aluminium_gas density: 2.700 mg/cm3 RadL: 88.925 m Nucl.Int.Length: 388.793 m Imean: 166.400 eV temperature: 273.15 K pressure: 1.00 atm + Material: Aluminium_gas density: 2.700 mg/cm3 RadL: 88.925 m Nucl.Int.Length: 388.601 m Imean: 166.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Aluminium_gas ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % @@ -64,30 +64,30 @@ PhysicsList::SetCuts:CutLength : 10 km phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 GeV + PhotoElectric : Emin= 0 eV Emax= 10 GeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 10 GeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - myKlein-Nishina : Emin= 0 eV Emax= 10 GeV + myKlein-Nishina : Emin= 0 eV Emax= 10 GeV conv: for gamma SubType= 14 Lambda tables from 1.022 MeV to 10 GeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 10 GeV + BetheHeitler : Emin= 0 eV Emax= 10 GeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 GeV in 160 bins, spline: 1 - RangeFactor= 0.02, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.02, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 GeV + UrbanMsc93 : Emin= 0 eV Emax= 10 GeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 10 GeV in 160 bins Lambda tables from threshold to 10 GeV in 160 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - myMollerBhabha : Emin= 0 eV Emax= 10 GeV + myMollerBhabha : Emin= 0 eV Emax= 10 GeV CSDA range table up to 10 GeV in 160 bins eIoni: for e+ SubType= 2 @@ -95,28 +95,27 @@ eIoni: for e+ SubType= 2 Lambda tables from threshold to 10 GeV in 160 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - myMollerBhabha : Emin= 0 eV Emax= 10 GeV + myMollerBhabha : Emin= 0 eV Emax= 10 GeV CSDA range table up to 10 GeV in 160 bins annihil: for e+ SubType= 5 Lambda tables from 100 eV to 10 GeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 10 GeV + eplus2gg : Emin= 0 eV Emax= 10 GeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 GeV in 160 bins, spline: 1 RangeFactor= 0.02, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 GeV + UrbanMsc90 : Emin= 0 eV Emax= 10 GeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 10 GeV in 160 bins Lambda tables from threshold to 10 GeV in 160 bins, spline: 1 finalRange(mm)= 0.01, 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 GeV + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 GeV CSDA range table up to 10 GeV in 160 bins Region -- appears in world volume @@ -156,15 +155,15 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics ---------------------------------------- Start Run processing. - ---> NbofEvents= 1000 NbOfelectr= 70433 Tkin= 589.545 keV (0.000 %) NbOfelec in cav= 4694 Dose/EnFluence= 28.715 cm2/g (0.000 %) + ---> NbofEvents= 1000 NbOfelectr= 70332 Tkin= 589.082 keV (0.000 %) NbOfelec in cav= 4589 Dose/EnFluence= 26.638 cm2/g (0.000 %) - ---> NbofEvents= 2000 NbOfelectr= 140913 Tkin= 589.011 keV (-0.090 %) NbOfelec in cav= 9450 Dose/EnFluence= 30.275 cm2/g (5.431 %) + ---> NbofEvents= 2000 NbOfelectr= 141252 Tkin= 588.179 keV (-0.153 %) NbOfelec in cav= 9374 Dose/EnFluence= 28.803 cm2/g (8.129 %) - ---> NbofEvents= 3000 NbOfelectr= 211040 Tkin= 588.807 keV (-0.035 %) NbOfelec in cav= 14208 Dose/EnFluence= 29.615 cm2/g (-2.180 %) + ---> NbofEvents= 3000 NbOfelectr= 211798 Tkin= 588.153 keV (-0.004 %) NbOfelec in cav= 13975 Dose/EnFluence= 28.118 cm2/g (-2.379 %) Run terminated. Run Summary Number of events processed : 4000 - User=31.37s Real=31.36s Sys=0s + User=23.53s Real=24.52s Sys=0s ======================== run summary ====================== @@ -174,32 +173,32 @@ Run Summary ============================================================ - Process calls frequency ---> compt= 281864 Transportation= 77067 msc= 2105246 eIoni= 1758771 + Process calls frequency ---> compt= 281849 Transportation= 77349 msc= 2094229 eIoni= 1736138 Gamma crossSections in wall material : compt= 63.447 cm2/g --> total= 63.447 cm2/g - Mean energy of secondary e- = 588.2664 keV +- 0.1029 % (--> range in wall material = 2.2113 mm ) - Mass_energy_transfer coef: 29.8590 cm2/g + Mean energy of secondary e- = 588.2741 keV +- 0.1028 % (--> range in wall material = 2.2114 mm ) + Mass_energy_transfer coef: 29.8594 cm2/g StoppingPower in wall = 1.9724 MeV*cm2/g in cavity = 1.9724 MeV*cm2/g Charged particle flow in cavity : - Enter --> nbParticles = 19024 Energy = 9.6069 GeV - Exit --> nbParticles = 19026 Energy = 9.6104 GeV + Enter --> nbParticles = 18697 Energy = 9.4723 GeV + Exit --> nbParticles = 18694 Energy = 9.4730 GeV - Total edep in cavity = 13.3991 MeV +- 2.5370 % Total charged trackLength = 52.6161 m (mean value = 2.7658 mm ) - Total dose in cavity = 21.3253 MeV/mg - Dose/EnergyFluence = 30.1480 cm2/g + Total edep in cavity = 12.4835 MeV +- 2.3625 % Total charged trackLength = 51.1392 m (mean value = 2.7352 mm ) + Total dose in cavity = 19.8681 MeV/mg + Dose/EnergyFluence = 28.0878 cm2/g - (Dose/EnergyFluence)/Mass_energy_transfer = 1.00968 +- 0.02564 + (Dose/EnergyFluence)/Mass_energy_transfer = 0.94067 +- 0.02224 - StepSize of ch. tracks in wall = 123.2201 um +- 121.7465 um (nbSteps/track = 13.5760) - StepSize of ch. tracks in cavity = 492.3283 um +- 628.2962 um (nbSteps/track = 5.6177) + StepSize of ch. tracks in wall = 122.6753 um +- 120.8436 um (nbSteps/track = 13.5663) + StepSize of ch. tracks in cavity = 668.6433 um +- 847.1076 um (nbSteps/track = 4.0906) --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 506106927, 1111384621 + Current couple of seeds = 1568745475, 2068190730 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/medical/fanoCavity/include/PhysListEmStandard_WVI.hh b/examples/extended/medical/fanoCavity/include/PhysListEmStandard_WVI.hh new file mode 100644 index 0000000000..21c9fcf6e5 --- /dev/null +++ b/examples/extended/medical/fanoCavity/include/PhysListEmStandard_WVI.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: PhysListEmStandard_WVI.hh,v 1.1 2010/01/19 17:28:20 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandard_WVI_h +#define PhysListEmStandard_WVI_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class DetectorConstruction; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandard_WVI : public G4VPhysicsConstructor +{ +public: + PhysListEmStandard_WVI(const G4String& name, DetectorConstruction* det); + virtual ~PhysListEmStandard_WVI(); + +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(); + +private: + DetectorConstruction* detector; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/medical/fanoCavity/include/PhysListEmStandard_option2.hh b/examples/extended/medical/fanoCavity/include/PhysListEmStandard_option2.hh new file mode 100644 index 0000000000..b4997a0196 --- /dev/null +++ b/examples/extended/medical/fanoCavity/include/PhysListEmStandard_option2.hh @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * 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_option2.hh,v 1.1 2010/01/19 17:28:20 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandard_option2_h +#define PhysListEmStandard_option2_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class DetectorConstruction; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandard_option2 : public G4VPhysicsConstructor +{ +public: + PhysListEmStandard_option2(const G4String& name, + DetectorConstruction* det); + virtual ~PhysListEmStandard_option2(); + +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(); + +private: + DetectorConstruction* detector; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/medical/fanoCavity/run01.mac b/examples/extended/medical/fanoCavity/run01.mac index 62ddee3d54..ea76d041b6 100644 --- a/examples/extended/medical/fanoCavity/run01.mac +++ b/examples/extended/medical/fanoCavity/run01.mac @@ -1,9 +1,14 @@ -# $Id: run01.mac,v 1.7 2009/10/25 19:06:26 maire Exp $ +# $Id: run01.mac,v 1.8 2010/01/19 17:28:20 maire Exp $ # /control/verbose 2 /run/verbose 2 # +###/testem/phys/addPhysics standard_opt0 +###/testem/phys/addPhysics standard_opt2 /testem/phys/addPhysics standard_opt3 +###/testem/phys/addPhysics standard_GS +###/testem/phys/addPhysics standard_WVI +###/testem/phys/addPhysics standard_SS # /run/initialize # diff --git a/examples/extended/medical/fanoCavity/src/EventAction.cc b/examples/extended/medical/fanoCavity/src/EventAction.cc index f0ddd4494b..20d55faa73 100644 --- a/examples/extended/medical/fanoCavity/src/EventAction.cc +++ b/examples/extended/medical/fanoCavity/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.4 2007/10/29 17:09:53 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.6 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -36,9 +36,6 @@ #include "HistoManager.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,23 +65,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - //trajectories - // - 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(1000); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/HistoManager.cc b/examples/extended/medical/fanoCavity/src/HistoManager.cc index c3e13d45fb..482ff777b4 100644 --- a/examples/extended/medical/fanoCavity/src/HistoManager.cc +++ b/examples/extended/medical/fanoCavity/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.7 2008/09/28 16:04:01 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.cc,v 1.8 2010/11/09 20:10:13 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "fanocavity"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; kreset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String particleName = particle->GetParticleName(); + + if (particleName == "gamma") { + // gamma + + G4ComptonScattering* compton = new G4ComptonScattering(); + MyKleinNishinaCompton* comptonModel = new MyKleinNishinaCompton(detector); + comptonModel->SetCSFactor(1000.); + compton->SetModel(comptonModel ); + + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); + pmanager->AddDiscreteProcess(compton); + pmanager->AddDiscreteProcess(new G4GammaConversion); + + } else if (particleName == "e-") { + //electron + + G4eMultipleScattering* eMsc = new G4eMultipleScattering(); + eMsc->AddEmModel(1, new G4WentzelVIModel()); + G4eIonisation* eIoni = new G4eIonisation(); + eIoni->SetEmModel(new MyMollerBhabhaModel); + + pmanager->AddProcess(eMsc, -1, 1, 1); + pmanager->AddProcess(eIoni, -1, 2, 2); +/// pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + + } else if (particleName == "e+") { + //positron + + G4eMultipleScattering* pMsc = new G4eMultipleScattering(); + pMsc->AddEmModel(1, new G4WentzelVIModel()); + G4eIonisation* pIoni = new G4eIonisation(); + pIoni->SetEmModel(new MyMollerBhabhaModel); + + pmanager->AddProcess(pMsc, -1, 1, 1); + pmanager->AddProcess(pIoni, -1, 2, 2); +/// pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 4); + + } else if( particleName == "proton" ) { + //proton + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(1, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + } + } + + // Em options + // + // Main options and setting parameters are shown here. + // Several of them have default values. + // + G4EmProcessOptions emOptions; + + //multiple coulomb scattering + // + emOptions.SetPolarAngleLimit(0.2); + + //build CSDA range + // + emOptions.SetBuildCSDARange(true); //default=false + emOptions.SetMaxEnergyForCSDARange(10*GeV); + emOptions.SetDEDXBinningForCSDARange(8*7); //default=8*7 +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/medical/fanoCavity/src/PhysListEmStandard_option2.cc b/examples/extended/medical/fanoCavity/src/PhysListEmStandard_option2.cc new file mode 100644 index 0000000000..2f1a1aa94e --- /dev/null +++ b/examples/extended/medical/fanoCavity/src/PhysListEmStandard_option2.cc @@ -0,0 +1,142 @@ +// +// ******************************************************************** +// * 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_option2.cc,v 1.1 2010/01/19 17:28:20 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandard_option2.hh" +#include "DetectorConstruction.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "MyKleinNishinaCompton.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4eMultipleScattering.hh" +#include "G4UrbanMscModel93.hh" + +#include "G4eIonisation.hh" +#include "MyMollerBhabhaModel.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" + +#include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" + +#include "G4EmProcessOptions.hh" +#include "G4MscStepLimitType.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandard_option2::PhysListEmStandard_option2(const G4String& name, + DetectorConstruction* det) +: G4VPhysicsConstructor(name), detector(det) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandard_option2::~PhysListEmStandard_option2() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandard_option2::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 + + G4ComptonScattering* compton = new G4ComptonScattering(); + MyKleinNishinaCompton* comptonModel = new MyKleinNishinaCompton(detector); + comptonModel->SetCSFactor(1000.); + compton->SetModel(comptonModel ); + + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); + pmanager->AddDiscreteProcess(compton); + pmanager->AddDiscreteProcess(new G4GammaConversion); + + } else if (particleName == "e-") { + //electron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4UrbanMscModel93()); + + G4eIonisation* eIoni = new G4eIonisation(); + eIoni->SetEmModel(new MyMollerBhabhaModel); + + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(eIoni, -1, 2, 2); +/// pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + + } else if (particleName == "e+") { + //positron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4UrbanMscModel93()); + + G4eIonisation* pIoni = new G4eIonisation(); + pIoni->SetEmModel(new MyMollerBhabhaModel); + + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(pIoni, -1, 2, 2); +/// pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); + + } else if( particleName == "proton" ) { + //proton + 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; + + //build CSDA range + // + emOptions.SetBuildCSDARange(true); //default=false + emOptions.SetMaxEnergyForCSDARange(10*GeV); + emOptions.SetDEDXBinningForCSDARange(8*7); //default=8*7 + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/medical/fanoCavity/src/PhysicsList.cc b/examples/extended/medical/fanoCavity/src/PhysicsList.cc index a4c305757d..bb39a26350 100644 --- a/examples/extended/medical/fanoCavity/src/PhysicsList.cc +++ b/examples/extended/medical/fanoCavity/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.18 2009/10/29 16:19:59 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.19 2010/01/19 17:28:20 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,8 +33,10 @@ #include "PhysicsListMessenger.hh" #include "PhysListEmStandard_option0.hh" +#include "PhysListEmStandard_option2.hh" #include "PhysListEmStandard_option3.hh" #include "PhysListEmStandard_GS.hh" +#include "PhysListEmStandard_WVI.hh" #include "PhysListEmStandard_SS.hh" #include "StepMax.hh" @@ -148,6 +150,12 @@ void PhysicsList::AddPhysicsList(const G4String& name) delete emPhysicsList; emPhysicsList = new PhysListEmStandard_option0(name,detector); + } else if (name == "standard_opt2") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandard_option2(name,detector); + } else if (name == "standard_opt3") { emName = name; @@ -160,6 +168,12 @@ void PhysicsList::AddPhysicsList(const G4String& name) delete emPhysicsList; emPhysicsList = new PhysListEmStandard_GS(name,detector); + } else if (name == "standard_WVI") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandard_WVI(name,detector); + } else if (name == "standard_SS") { emName = name; diff --git a/examples/extended/medical/fanoCavity/src/SteppingAction.cc b/examples/extended/medical/fanoCavity/src/SteppingAction.cc index 009cc8ee70..8dc9b20dcb 100644 --- a/examples/extended/medical/fanoCavity/src/SteppingAction.cc +++ b/examples/extended/medical/fanoCavity/src/SteppingAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: SteppingAction.cc,v 1.4 2007/10/29 17:09:53 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingAction.cc,v 1.5 2010/10/25 13:29:08 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -50,7 +50,7 @@ SteppingAction::SteppingAction(DetectorConstruction* det, RunAction* RuAct, { first = true; trackSegm = 0.; - directionIn = 0.; + directionIn = G4ThreeVector(0.,0.,0.); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/vis.mac b/examples/extended/medical/fanoCavity/vis.mac index aeb7204728..050ee53baa 100644 --- a/examples/extended/medical/fanoCavity/vis.mac +++ b/examples/extended/medical/fanoCavity/vis.mac @@ -9,25 +9,71 @@ # /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 OGLIX +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# Draw scene -/vis/viewer/set/viewpointThetaPhi 90 180 deg -/vis/viewer/zoom 1.4 -/vis/viewer/flush +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 1 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks all - +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/medical/fanoCavity2/History b/examples/extended/medical/fanoCavity2/History index e542752b3d..f7a27b6335 100644 --- a/examples/extended/medical/fanoCavity2/History +++ b/examples/extended/medical/fanoCavity2/History @@ -1,4 +1,4 @@ -$Id: History,v 1.14 2009/11/16 18:01:21 maire Exp $ +$Id: History,v 1.21 2010/11/09 20:05:53 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,7 +14,27 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- - + +09-11-2010 M.Asai (fano2-V09-03-06) +- Fix AIDA file option. + +02-11-2010 J.Allison (fano2-V09-03-05) +- Introduced G4UIExecutive. + +25-10-2010 G.Folger (fano2-V09-03-04) +- Correct initialisation of directinIn in ctor; needed by clhep 2.1... + +06-06-10 J.Perl (fano2-V09-03-03) +- Remove unused variable in EventAction + +04-06-10 J.Perl (fano2-V09-03-02) +- Updated vis usage + +20-01-10 mma (fano2-V09-03-00) +- introduce PhysListEmStandard_option2 : UrbanMscModel93 without options + PhysListEmStandard_WVI : WentzelVIModel +- put in run01.mac all physics lists choice + 16-11-09 mma (fano2-V09-02-01) - PhysListEmStandard_option3 : use UrbanMscModel93 diff --git a/examples/extended/medical/fanoCavity2/essai.mac b/examples/extended/medical/fanoCavity2/essai.mac index 9fe28fd1b9..1a56b5a285 100644 --- a/examples/extended/medical/fanoCavity2/essai.mac +++ b/examples/extended/medical/fanoCavity2/essai.mac @@ -1,14 +1,14 @@ -# $Id: essai.mac,v 1.5 2009/10/31 18:05:56 maire Exp $ +# $Id: essai.mac,v 1.6 2010/01/20 15:41:14 maire Exp $ # /control/verbose 2 /run/verbose 2 # -/testem/phys/addPhysics standard_opt3 +/testem/phys/addPhysics standard_WVI # /run/initialize # /gun/energy 1 MeV # -/testem/event/printModulo 100000 +/testem/event/printModulo 10000 # -/run/beamOn 1000000 +/run/beamOn 100000 diff --git a/examples/extended/medical/fanoCavity2/fanoCavity2.cc b/examples/extended/medical/fanoCavity2/fanoCavity2.cc index 2f400f75d4..342a063977 100644 --- a/examples/extended/medical/fanoCavity2/fanoCavity2.cc +++ b/examples/extended/medical/fanoCavity2/fanoCavity2.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: fanoCavity2.cc,v 1.2 2007/10/31 16:16:20 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: fanoCavity2.cc,v 1.3 2010/11/02 15:56:47 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....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" @@ -50,6 +48,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE + #include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -85,33 +87,29 @@ int main(int argc,char** argv) { runManager->SetUserAction(step); //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 and UI terminal { +#ifdef G4UI_USE #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(); + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; +#ifdef G4VIS_USE + delete visManager; #endif - session->SessionStart(); - delete session; - -#ifdef G4VIS_USE - delete visManager; #endif } diff --git a/examples/extended/medical/fanoCavity2/fanoCavity2.out b/examples/extended/medical/fanoCavity2/fanoCavity2.out index 76e9ea807a..7bf4ca2fac 100644 --- a/examples/extended/medical/fanoCavity2/fanoCavity2.out +++ b/examples/extended/medical/fanoCavity2/fanoCavity2.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -13,24 +13,24 @@ ***** Table : Nb of materials = 6 ***** - Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.537 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: Water_gas density: 1.000 mg/cm3 RadL: 360.924 m Nucl.Int.Length: 754.163 m Imean: 75.000 eV temperature: 273.15 K pressure: 1.00 atm + Material: Water_gas density: 1.000 mg/cm3 RadL: 360.924 m Nucl.Int.Length: 755.365 m Imean: 75.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: Graphite density: 2.265 g/cm3 RadL: 18.850 cm Nucl.Int.Length: 35.387 cm Imean: 78.000 eV + Material: Graphite density: 2.265 g/cm3 RadL: 18.850 cm Nucl.Int.Length: 35.407 cm Imean: 81.000 eV ---> Element: Graphite ( ) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Graphite_gas density: 2.265 mg/cm3 RadL: 188.496 m Nucl.Int.Length: 353.873 m Imean: 78.000 eV temperature: 273.15 K pressure: 1.00 atm + Material: Graphite_gas density: 2.265 mg/cm3 RadL: 188.496 m Nucl.Int.Length: 354.070 m Imean: 81.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Graphite_gas ( ) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.860 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Aluminium_gas density: 2.700 mg/cm3 RadL: 88.925 m Nucl.Int.Length: 388.793 m Imean: 166.400 eV temperature: 273.15 K pressure: 1.00 atm + Material: Aluminium_gas density: 2.700 mg/cm3 RadL: 88.925 m Nucl.Int.Length: 388.601 m Imean: 166.000 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Aluminium_gas ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % @@ -62,30 +62,30 @@ PhysicsList::SetCuts:CutLength : 10 km phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 GeV + PhotoElectric : Emin= 0 eV Emax= 10 GeV compt: for gamma SubType= 13 Lambda tables from 100 eV to 10 GeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 10 GeV + Klein-Nishina : Emin= 0 eV Emax= 10 GeV conv: for gamma SubType= 14 Lambda tables from 1.022 MeV to 10 GeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 10 GeV + BetheHeitler : Emin= 0 eV Emax= 10 GeV msc: for e- SubType= 10 Lambda tables from 100 eV to 10 GeV in 160 bins, spline: 1 - RangeFactor= 0.02, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.02, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc93 : Emin= 0 eV Emax= 10 GeV + UrbanMsc93 : Emin= 0 eV Emax= 10 GeV eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 10 GeV in 160 bins Lambda tables from threshold to 10 GeV in 160 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - myMollerBhabha : Emin= 0 eV Emax= 10 GeV + myMollerBhabha : Emin= 0 eV Emax= 10 GeV CSDA range table up to 10 GeV in 160 bins eIoni: for e+ SubType= 2 @@ -93,28 +93,27 @@ eIoni: for e+ SubType= 2 Lambda tables from threshold to 10 GeV in 160 bins, spline: 1 finalRange(mm)= 0.01, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - myMollerBhabha : Emin= 0 eV Emax= 10 GeV + myMollerBhabha : Emin= 0 eV Emax= 10 GeV CSDA range table up to 10 GeV in 160 bins annihil: for e+ SubType= 5 Lambda tables from 100 eV to 10 GeV in 160 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 10 GeV + eplus2gg : Emin= 0 eV Emax= 10 GeV msc: for proton SubType= 10 Lambda tables from 100 eV to 10 GeV in 160 bins, spline: 1 RangeFactor= 0.02, stepLimitType: 2, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 GeV + UrbanMsc90 : Emin= 0 eV Emax= 10 GeV hIoni: for proton SubType= 2 dE/dx and range tables from 100 eV to 10 GeV in 160 bins Lambda tables from threshold to 10 GeV in 160 bins, spline: 1 finalRange(mm)= 0.01, 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 GeV + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 GeV CSDA range table up to 10 GeV in 160 bins Region -- appears in world volume @@ -167,37 +166,37 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics in cavity = 1.8720 MeV*cm2/g Start Run processing. ---->evntNb= 10000 Nwall= 10000 Ncav= 1 Ic/Iw= 0.52456 Ne-_cav= 2919 doseCavity/Ebeam= 0.98331 (100*(ratio-1) = -1.66917 %) +--->evntNb= 10000 Nwall= 10000 Ncav= 1 Ic/Iw= 0.52456 Ne-_cav= 2835 doseCavity/Ebeam= 1.14829 (100*(ratio-1) = 14.82897 %) ---->evntNb= 20000 Nwall= 19999 Ncav= 2 Ic/Iw= 0.52458 Ne-_cav= 5799 doseCavity/Ebeam= 1.00765 (100*(ratio-1) = 0.76470 %) +--->evntNb= 20000 Nwall= 19998 Ncav= 3 Ic/Iw= 0.78691 Ne-_cav= 5661 doseCavity/Ebeam= 1.07086 (100*(ratio-1) = 7.08553 %) ---->evntNb= 30000 Nwall= 29996 Ncav= 5 Ic/Iw= 0.87438 Ne-_cav= 8689 doseCavity/Ebeam= 1.18058 (100*(ratio-1) = 18.05839 %) +--->evntNb= 30000 Nwall= 29993 Ncav= 8 Ic/Iw= 1.39915 Ne-_cav= 8509 doseCavity/Ebeam= 1.07081 (100*(ratio-1) = 7.08078 %) Run terminated. Run Summary Number of events processed : 40000 - User=9.2s Real=9.2s Sys=0s + User=6.66s Real=6.67s Sys=0s - Process calls frequency ---> msc= 537781 eIoni= 618411 Transportation= 23069 + Process calls frequency ---> msc= 519961 eIoni= 617649 Transportation= 22736 Charged particle flow in cavity : - Enter --> nbParticles = 11534 Energy = 7.305 GeV - Exit --> nbParticles = 11535 Energy = 7.304 GeV + Enter --> nbParticles = 11369 Energy = 7.189 GeV + Exit --> nbParticles = 11367 Energy = 7.188 GeV beamFluence in wall = 39992 in cavity = 8 Icav/Iwall = 1.04932 energyFluence = 38.12014 MeV*cm2/mg - Total edep in cavity = 8.63307 MeV +- 6.06375 % - Total dose in cavity = 43.16535 MeV*cm2/mg +- 6.06375 % + Total edep in cavity = 8.39970 MeV +- 4.91012 % + Total dose in cavity = 41.99852 MeV*cm2/mg +- 4.91012 % - DoseCavity/EnergyFluence = 1.13235 +- 0.06866 + DoseCavity/EnergyFluence = 1.10174 +- 0.05410 - Total charged trackLength in cavity = 36.4982 m (mean value = 3.1644 mm ) + Total charged trackLength in cavity = 35.5852 m (mean value = 3.1300 mm ) - StepSize of ch. tracks in wall = 157.1380 um +- 181.9482 um (nbSteps/track = 27.8955) - StepSize of ch. tracks in cavity = 573.2756 um +- 1.1094 mm (nbSteps/track = 5.5199) + StepSize of ch. tracks in wall = 157.7745 um +- 182.3099 um (nbSteps/track = 27.8124) + StepSize of ch. tracks in cavity = 740.2164 um +- 1.3352 mm (nbSteps/track = 4.2285) --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 2065873561, 1630631720 + Current couple of seeds = 1735359298, 2093100031 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/medical/fanoCavity2/include/PhysListEmStandard_WVI.hh b/examples/extended/medical/fanoCavity2/include/PhysListEmStandard_WVI.hh new file mode 100644 index 0000000000..cbd9dd8671 --- /dev/null +++ b/examples/extended/medical/fanoCavity2/include/PhysListEmStandard_WVI.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: PhysListEmStandard_WVI.hh,v 1.1 2010/01/20 15:41:14 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandard_WVI_h +#define PhysListEmStandard_WVI_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class DetectorConstruction; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandard_WVI : public G4VPhysicsConstructor +{ +public: + PhysListEmStandard_WVI(const G4String& name, DetectorConstruction* det); + virtual ~PhysListEmStandard_WVI(); + +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(); + +private: + DetectorConstruction* detector; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/medical/fanoCavity2/include/PhysListEmStandard_option2.hh b/examples/extended/medical/fanoCavity2/include/PhysListEmStandard_option2.hh new file mode 100644 index 0000000000..9ec8c6c626 --- /dev/null +++ b/examples/extended/medical/fanoCavity2/include/PhysListEmStandard_option2.hh @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * 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_option2.hh,v 1.1 2010/01/20 15:41:14 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysListEmStandard_option2_h +#define PhysListEmStandard_option2_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class DetectorConstruction; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysListEmStandard_option2 : public G4VPhysicsConstructor +{ +public: + PhysListEmStandard_option2(const G4String& name, + DetectorConstruction* det); + virtual ~PhysListEmStandard_option2(); + +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(); + +private: + DetectorConstruction* detector; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/medical/fanoCavity2/run01.mac b/examples/extended/medical/fanoCavity2/run01.mac index f83d5a0d52..534a3af843 100644 --- a/examples/extended/medical/fanoCavity2/run01.mac +++ b/examples/extended/medical/fanoCavity2/run01.mac @@ -1,9 +1,14 @@ -# $Id: run01.mac,v 1.3 2009/10/31 18:05:56 maire Exp $ +# $Id: run01.mac,v 1.4 2010/01/20 15:41:14 maire Exp $ # /control/verbose 2 /run/verbose 2 # +###/testem/phys/addPhysics standard_opt0 +###/testem/phys/addPhysics standard_opt2 /testem/phys/addPhysics standard_opt3 +###/testem/phys/addPhysics standard_GS +###/testem/phys/addPhysics standard_WVI +###/testem/phys/addPhysics standard_SS # /run/initialize # diff --git a/examples/extended/medical/fanoCavity2/src/EventAction.cc b/examples/extended/medical/fanoCavity2/src/EventAction.cc index b6e72847d1..c60137173a 100644 --- a/examples/extended/medical/fanoCavity2/src/EventAction.cc +++ b/examples/extended/medical/fanoCavity2/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.1 2007/10/15 16:20:23 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.3 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -36,9 +36,6 @@ #include "HistoManager.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,23 +65,8 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { - //trajectories - // - 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(1000); - else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity2/src/HistoManager.cc b/examples/extended/medical/fanoCavity2/src/HistoManager.cc index f383ec5110..84a412da1d 100644 --- a/examples/extended/medical/fanoCavity2/src/HistoManager.cc +++ b/examples/extended/medical/fanoCavity2/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.5 2008/09/28 16:15:39 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.cc,v 1.6 2010/11/09 20:05:53 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "fanocavity2"; fileType = "root"; - fileOption = "--noErrors export=root uncompress"; + fileOption = ""; // histograms for (G4int k=0; kreset(); + 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 + + G4eMultipleScattering* eMsc = new G4eMultipleScattering(); + eMsc->AddEmModel(1, new G4WentzelVIModel()); + G4eIonisation* eIoni = new G4eIonisation(); + eIoni->SetEmModel(new MyMollerBhabhaModel); + + pmanager->AddProcess(eMsc, -1, 1, 1); + pmanager->AddProcess(eIoni, -1, 2, 2); +/// pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + + } else if (particleName == "e+") { + //positron + + G4eMultipleScattering* pMsc = new G4eMultipleScattering(); + pMsc->AddEmModel(1, new G4WentzelVIModel()); + G4eIonisation* pIoni = new G4eIonisation(); + pIoni->SetEmModel(new MyMollerBhabhaModel); + + pmanager->AddProcess(pMsc, -1, 1, 1); + pmanager->AddProcess(pIoni, -1, 2, 2); +/// pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 4); + + } else if( particleName == "proton" ) { + //proton + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(1, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4CoulombScattering, -1,-1, 3); + } + } + + // Em options + // + // Main options and setting parameters are shown here. + // Several of them have default values. + // + G4EmProcessOptions emOptions; + + //multiple coulomb scattering + // + emOptions.SetPolarAngleLimit(0.2); + + //build CSDA range + // + emOptions.SetBuildCSDARange(true); //default=false + emOptions.SetMaxEnergyForCSDARange(10*GeV); + emOptions.SetDEDXBinningForCSDARange(8*7); //default=8*7 +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/medical/fanoCavity2/src/PhysListEmStandard_option2.cc b/examples/extended/medical/fanoCavity2/src/PhysListEmStandard_option2.cc new file mode 100644 index 0000000000..8cb474595d --- /dev/null +++ b/examples/extended/medical/fanoCavity2/src/PhysListEmStandard_option2.cc @@ -0,0 +1,135 @@ +// +// ******************************************************************** +// * 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_option2.cc,v 1.1 2010/01/20 15:41:14 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandard_option2.hh" +#include "DetectorConstruction.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4eMultipleScattering.hh" +#include "G4UrbanMscModel93.hh" + +#include "G4eIonisation.hh" +#include "MyMollerBhabhaModel.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" + +#include "G4hIonisation.hh" +#include "G4hMultipleScattering.hh" + +#include "G4EmProcessOptions.hh" +#include "G4MscStepLimitType.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandard_option2::PhysListEmStandard_option2(const G4String& name, + DetectorConstruction* det) +: G4VPhysicsConstructor(name), detector(det) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandard_option2::~PhysListEmStandard_option2() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandard_option2::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 + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4UrbanMscModel93()); + + G4eIonisation* eIoni = new G4eIonisation(); + eIoni->SetEmModel(new MyMollerBhabhaModel); + + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(eIoni, -1, 2, 2); +/// pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + + } else if (particleName == "e+") { + //positron + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4UrbanMscModel93()); + + G4eIonisation* pIoni = new G4eIonisation(); + pIoni->SetEmModel(new MyMollerBhabhaModel); + + pmanager->AddProcess(msc, -1, 1, 1); + pmanager->AddProcess(pIoni, -1, 2, 2); +/// pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); + + } else if( particleName == "proton" ) { + //proton + 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; + + //build CSDA range + // + emOptions.SetBuildCSDARange(true); //default=false + emOptions.SetMaxEnergyForCSDARange(10*GeV); + emOptions.SetDEDXBinningForCSDARange(8*7); //default=8*7 +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/medical/fanoCavity2/src/PhysicsList.cc b/examples/extended/medical/fanoCavity2/src/PhysicsList.cc index 592f910032..22cb837cde 100644 --- a/examples/extended/medical/fanoCavity2/src/PhysicsList.cc +++ b/examples/extended/medical/fanoCavity2/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.7 2009/10/31 18:05:01 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: PhysicsList.cc,v 1.8 2010/01/20 15:41:14 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,8 +33,10 @@ #include "PhysicsListMessenger.hh" #include "PhysListEmStandard_option0.hh" +#include "PhysListEmStandard_option2.hh" #include "PhysListEmStandard_option3.hh" #include "PhysListEmStandard_GS.hh" +#include "PhysListEmStandard_WVI.hh" #include "PhysListEmStandard_SS.hh" #include "StepMax.hh" @@ -148,23 +150,36 @@ void PhysicsList::AddPhysicsList(const G4String& name) delete emPhysicsList; emPhysicsList = new PhysListEmStandard_option0(name,detector); + } else if (name == "standard_opt2") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandard_option2(name,detector); + } else if (name == "standard_opt3") { emName = name; delete emPhysicsList; emPhysicsList = new PhysListEmStandard_option3(name,detector); - + } else if (name == "standard_GS") { emName = name; delete emPhysicsList; emPhysicsList = new PhysListEmStandard_GS(name,detector); - + + } else if (name == "standard_WVI") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandard_WVI(name,detector); + } else if (name == "standard_SS") { emName = name; delete emPhysicsList; - emPhysicsList = new PhysListEmStandard_SS(name,detector); + emPhysicsList = new PhysListEmStandard_SS(name,detector); + } else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" diff --git a/examples/extended/medical/fanoCavity2/src/SteppingAction.cc b/examples/extended/medical/fanoCavity2/src/SteppingAction.cc index 445bef9efa..6f40a04bce 100644 --- a/examples/extended/medical/fanoCavity2/src/SteppingAction.cc +++ b/examples/extended/medical/fanoCavity2/src/SteppingAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: SteppingAction.cc,v 1.2 2007/10/31 16:16:20 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingAction.cc,v 1.3 2010/10/25 13:31:14 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -50,7 +50,7 @@ SteppingAction::SteppingAction(DetectorConstruction* det, RunAction* RuAct, { first = true; trackSegm = 0.; - directionIn = 0.; + directionIn = G4ThreeVector(0.,0.,0.); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity2/vis.mac b/examples/extended/medical/fanoCavity2/vis.mac index aeb7204728..050ee53baa 100644 --- a/examples/extended/medical/fanoCavity2/vis.mac +++ b/examples/extended/medical/fanoCavity2/vis.mac @@ -9,25 +9,71 @@ # /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 OGLIX +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# Draw scene -/vis/viewer/set/viewpointThetaPhi 90 180 deg -/vis/viewer/zoom 1.4 -/vis/viewer/flush +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 1 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks all - +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/optical/LXe/History b/examples/extended/optical/LXe/History index 0b95315f32..78cc441d35 100644 --- a/examples/extended/optical/LXe/History +++ b/examples/extended/optical/LXe/History @@ -1,4 +1,4 @@ -$Id: History,v 1.13 2009/11/10 04:20:37 gum Exp $ +$Id: History,v 1.15 2010/10/25 15:16:41 gunter Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,14 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +03 June 2010 Peter Gumplinger (LXe-V09-03-01) +- in LXeEventAction.cc fix initialisation of G4ThreeVector required by + CLHEP 2.1.x. + +03 June 2010 Peter Gumplinger (LXe-V09-03-00) +- modify LXeTrajectory class to compile without warnings against + tracking-V09-03-03 by implementing a DrawTrajectory() method. + 09 November 2009 Peter Gumplinger (LXe-V09-02-01) - exhibit the usage of a complex index of refraction for the photo cathode show usage of G4OpticalPhysics builder/messenger (instead of LXeOpticalPhysics) diff --git a/examples/extended/optical/LXe/LXe.out b/examples/extended/optical/LXe/LXe.out index e4c78c8deb..aecc218203 100644 --- a/examples/extended/optical/LXe/LXe.out +++ b/examples/extended/optical/LXe/LXe.out @@ -4,13 +4,13 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -Visualization Manager instantiating... +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -24,6 +24,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -52,106 +55,106 @@ to: pmanager->AddProcess(theCerenkovProcess); phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : 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 + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV ============================================================================================ HADRONIC PROCESSES SUMMARY (verbose level 1) @@ -159,40 +162,40 @@ muPairProd: for mu- SubType= 4 muMinusCaptureAtRest ============================================================================================ ### G4EmSaturation::FindBirksCoefficient Birks coefficient for LXe 0.126 mm/MeV - Energy weighted position of hits in LXe : (0.107057,-0.057996,-103.428) + Energy weighted position of hits in LXe : (0.109935,0.113081,-103.397) Total energy deposition in scintillator : 511 (keV) - Reconstructed position of hits in LXe : (0.725575,-0.938698,-16.4198) + Reconstructed position of hits in LXe : (1.48378,0.412119,-17.8825) 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. - Number of photons that hit PMTs in this event : 1475 + Number of photons that hit PMTs in this event : 1386 Number of PMTs above threshold(1) : 32 - Number of photons produced by scintillation in this event : 5672 - Number of photons produced by cerenkov in this event : 2 - Number of photons absorbed (OpAbsorption) in this event : 4199 + Number of photons produced by scintillation in this event : 5523 + Number of photons produced by cerenkov in this event : 0 + Number of photons absorbed (OpAbsorption) in this event : 4137 Number of photons absorbed at boundaries (OpBoundary) in this event : 0 Unacounted for photons in this event : 0 - Energy weighted position of hits in LXe : (-4.95711,17.1789,-76.5994) + Energy weighted position of hits in LXe : (-3.84668,1.80555,-106.1) Total energy deposition in scintillator : 511 (keV) - Reconstructed position of hits in LXe : (1.53736,5.96173,-22.4351) - Number of photons that hit PMTs in this event : 1488 + Reconstructed position of hits in LXe : (-0.610445,-2.09073,-18.1385) + Number of photons that hit PMTs in this event : 1321 Number of PMTs above threshold(1) : 32 - Number of photons produced by scintillation in this event : 5424 - Number of photons produced by cerenkov in this event : 0 - Number of photons absorbed (OpAbsorption) in this event : 3936 + Number of photons produced by scintillation in this event : 5386 + Number of photons produced by cerenkov in this event : 1 + Number of photons absorbed (OpAbsorption) in this event : 4066 Number of photons absorbed at boundaries (OpBoundary) in this event : 0 Unacounted for photons in this event : 0 - Energy weighted position of hits in LXe : (-13.8501,-1.1474,-100.302) + Energy weighted position of hits in LXe : (0.662526,-1.01036,-103.077) Total energy deposition in scintillator : 511 (keV) - Reconstructed position of hits in LXe : (0.895197,-0.619525,-18.2295) - Number of photons that hit PMTs in this event : 1296 + Reconstructed position of hits in LXe : (-1.74486,-2.27511,-19.7206) + Number of photons that hit PMTs in this event : 1332 Number of PMTs above threshold(1) : 32 - Number of photons produced by scintillation in this event : 5444 + Number of photons produced by scintillation in this event : 5279 Number of photons produced by cerenkov in this event : 0 - Number of photons absorbed (OpAbsorption) in this event : 4148 + Number of photons absorbed (OpAbsorption) in this event : 3947 Number of photons absorbed at boundaries (OpBoundary) in this event : 0 Unacounted for photons in this event : 0 Graphics systems deleted. diff --git a/examples/extended/optical/LXe/include/LXeTrajectory.hh b/examples/extended/optical/LXe/include/LXeTrajectory.hh index 8611383e45..80cf6320fc 100644 --- a/examples/extended/optical/LXe/include/LXeTrajectory.hh +++ b/examples/extended/optical/LXe/include/LXeTrajectory.hh @@ -44,7 +44,8 @@ public: LXeTrajectory(const G4Track* aTrack); LXeTrajectory(LXeTrajectory &); virtual ~LXeTrajectory(); - + + virtual void DrawTrajectory() const; virtual void DrawTrajectory(G4int i_mode=0) const; inline void* operator new(size_t); diff --git a/examples/extended/optical/LXe/src/LXeEventAction.cc b/examples/extended/optical/LXe/src/LXeEventAction.cc index 27cd082f85..fa81be6bb0 100644 --- a/examples/extended/optical/LXe/src/LXeEventAction.cc +++ b/examples/extended/optical/LXe/src/LXeEventAction.cc @@ -138,7 +138,7 @@ void LXeEventAction::EndOfEventAction(const G4Event* anEvent){ } if(PHC){ - G4ThreeVector reconPos=0.; + G4ThreeVector reconPos(0.,0.,0.); G4int pmts=PHC->entries(); //Gather info from all PMTs for(G4int i=0;i /control/execute init.in Idle> /control/execute vis.mac Idle> /run/beamOn 1 .... diff --git a/examples/extended/optical/wls/include/WLSDetectorConstruction.hh b/examples/extended/optical/wls/include/WLSDetectorConstruction.hh index 52052cab12..f62f64f20b 100644 --- a/examples/extended/optical/wls/include/WLSDetectorConstruction.hh +++ b/examples/extended/optical/wls/include/WLSDetectorConstruction.hh @@ -50,6 +50,8 @@ class G4Material; class WLSDetectorMessenger; +class WLSPhotonDetSD; + #include "G4VUserDetectorConstruction.hh" class WLSDetectorConstruction : public G4VUserDetectorConstruction @@ -195,6 +197,8 @@ class WLSDetectorConstruction : public G4VUserDetectorConstruction G4double coatingThickness; G4double coatingRadius; + static WLSPhotonDetSD* mppcSD; + private: void ConstructFiber(); diff --git a/examples/extended/optical/wls/include/WLSOpticalPhysics.hh b/examples/extended/optical/wls/include/WLSOpticalPhysics.hh index 3cd044423f..8741d194b2 100644 --- a/examples/extended/optical/wls/include/WLSOpticalPhysics.hh +++ b/examples/extended/optical/wls/include/WLSOpticalPhysics.hh @@ -39,6 +39,7 @@ #include "G4Cerenkov.hh" #include "G4Scintillation.hh" +#include "G4OpMieHG.hh" #include "G4OpRayleigh.hh" #include "G4OpAbsorption.hh" #include "G4OpBoundaryProcess.hh" @@ -60,6 +61,7 @@ class WLSOpticalPhysics : public G4VPhysicsConstructor G4Scintillation* GetScintillationProcess() {return theScintProcess;} G4OpAbsorption* GetAbsorptionProcess() {return theAbsorptionProcess;} G4OpRayleigh* GetRayleighScatteringProcess() {return theRayleighScattering;} + G4OpMieHG* GetMieHGScatteringProcess() {return theMieHGScatteringProcess;} G4OpBoundaryProcess* GetBoundaryProcess() { return theBoundaryProcess;} void SetNbOfPhotonsCerenkov(G4int); @@ -71,6 +73,7 @@ private: G4Scintillation* theScintProcess; G4OpAbsorption* theAbsorptionProcess; G4OpRayleigh* theRayleighScattering; + G4OpMieHG* theMieHGScatteringProcess; G4OpBoundaryProcess* theBoundaryProcess; G4bool AbsorptionOn; diff --git a/examples/extended/optical/wls/include/WLSTrajectory.hh b/examples/extended/optical/wls/include/WLSTrajectory.hh index f2415387a5..b4b2cb5642 100644 --- a/examples/extended/optical/wls/include/WLSTrajectory.hh +++ b/examples/extended/optical/wls/include/WLSTrajectory.hh @@ -81,6 +81,7 @@ class WLSTrajectory : public G4VTrajectory // Other member functions virtual void ShowTrajectory(std::ostream& os=G4cout) const; + virtual void DrawTrajectory() const; virtual void DrawTrajectory(G4int i_mode=0) const; virtual void AppendStep(const G4Step* aStep); virtual void MergeTrajectory(G4VTrajectory* secondTrajectory); diff --git a/examples/extended/optical/wls/init.in b/examples/extended/optical/wls/init.in new file mode 100644 index 0000000000..3670571ba3 --- /dev/null +++ b/examples/extended/optical/wls/init.in @@ -0,0 +1,24 @@ +# +# Macro file for the initialization phase of wls +# +#/run/verbose 1 +#/control/verbose 1 +#/event/verbose 1 +#/tracking/verbose 1 +# +/run/initialize +# +#/WLS/phys/verbose 1 +# +/gps/particle opticalphoton +/gps/ene/type Mono +/gps/ene/mono 2.10 eV +# +/gps/pos/type Plane +/gps/pos/shape Circle +/gps/pos/radius 0.5 mm +/gps/ang/type iso +/gps/ang/mintheta 180.0 deg +/gps/ang/maxtheta 90.0 deg +/gps/pos/centre 0.0 0.0 0.0 cm +# diff --git a/examples/extended/optical/wls/src/WLSDetectorConstruction.cc b/examples/extended/optical/wls/src/WLSDetectorConstruction.cc index 7b3bb2d6f8..86122ae197 100644 --- a/examples/extended/optical/wls/src/WLSDetectorConstruction.cc +++ b/examples/extended/optical/wls/src/WLSDetectorConstruction.cc @@ -59,6 +59,8 @@ #include "G4UserLimits.hh" +WLSPhotonDetSD* WLSDetectorConstruction::mppcSD = NULL; + WLSDetectorConstruction::WLSDetectorConstruction() : physiWorld(NULL) { @@ -101,7 +103,7 @@ WLSDetectorConstruction::WLSDetectorConstruction() holeLength = barLength; coatingThickness = 0.25*mm; coatingRadius = 1.875*mm; - + UpdateGeometryParameters(); } @@ -386,7 +388,7 @@ void WLSDetectorConstruction::ConstructFiber() G4VSolid* solidClad2; if (XYRatio == 1.) - solidClad2 = new G4Tubs("Clad2",0.,clad2RX,clad2Z,0.0*rad,2*M_PI*rad); + solidClad2 = new G4Tubs("Clad2",0.,clad2RX,clad2Z,0.0*rad,twopi*rad); else solidClad2 = new G4EllipticalTube("Clad2",clad2RX,clad2RY,clad2Z); @@ -426,7 +428,7 @@ void WLSDetectorConstruction::ConstructFiber() G4VSolid* solidClad1; if (XYRatio == 1.) - solidClad1 = new G4Tubs("Clad1",0.,clad1RX,clad1Z,0.0*rad,2*M_PI*rad); + solidClad1 = new G4Tubs("Clad1",0.,clad1RX,clad1Z,0.0*rad,twopi*rad); else solidClad1 = new G4EllipticalTube("Clad1",clad1RX,clad1RY,clad1Z); @@ -467,7 +469,7 @@ void WLSDetectorConstruction::ConstructFiber() if (XYRatio == 1.) solidWLSfiber = - new G4Tubs("WLSFiber",0.,wlsfiberRX,wlsfiberZ,0.0*rad,2*M_PI*rad); + new G4Tubs("WLSFiber",0.,wlsfiberRX,wlsfiberZ,0.0*rad,twopi*rad); else solidWLSfiber = new G4EllipticalTube("WLSFiber",wlsfiberRX,wlsfiberRY,wlsfiberZ); @@ -587,7 +589,7 @@ void WLSDetectorConstruction::ConstructFiber() new G4Box("ClearFiber",clrfiberHalfL,clrfiberHalfL,clrfiberZ); else solidClrfiber = - new G4Tubs("ClearFiber",0.,clrfiberHalfL,clrfiberZ,0.0*rad,2*M_PI*rad); + new G4Tubs("ClearFiber",0.,clrfiberHalfL,clrfiberZ,0.0*rad,twopi*rad); G4LogicalVolume* logicClrfiber = new G4LogicalVolume(solidClrfiber, @@ -613,7 +615,7 @@ void WLSDetectorConstruction::ConstructFiber() solidPhotonDet = new G4Box("PhotonDet",mppcHalfL,mppcHalfL,mppcZ); else solidPhotonDet = - new G4Tubs("PhotonDet",0.,mppcHalfL,mppcZ,0.0*rad,2*M_PI*rad); + new G4Tubs("PhotonDet",0.,mppcHalfL,mppcZ,0.0*rad,twopi*rad); G4LogicalVolume* logicPhotonDet = new G4LogicalVolume(solidPhotonDet, @@ -649,12 +651,15 @@ void WLSDetectorConstruction::ConstructFiber() new G4LogicalSkinSurface("PhotonDetSurface",logicPhotonDet,PhotonDetSurface); + if (!mppcSD) { + G4String mppcSDName = "WLS/PhotonDet"; + mppcSD = new WLSPhotonDetSD(mppcSDName); + + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + SDman->AddNewDetector(mppcSD); + } + // Setting the detector to be sensitive - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - - G4String mppcSDName = "WLS/PhotonDet"; - WLSPhotonDetSD* mppcSD = new WLSPhotonDetSD(mppcSDName); - SDman->AddNewDetector(mppcSD); logicPhotonDet->SetSensitiveDetector(mppcSD); } @@ -671,7 +676,7 @@ void WLSDetectorConstruction::UpdateGeometry() G4SolidStore::GetInstance()->Clean(); G4LogicalSkinSurface::CleanSurfaceTable(); G4LogicalBorderSurface::CleanSurfaceTable(); - + //define new one UpdateGeometryParameters(); diff --git a/examples/extended/optical/wls/src/WLSOpticalPhysics.cc b/examples/extended/optical/wls/src/WLSOpticalPhysics.cc index e188083bb0..19e811f3ac 100644 --- a/examples/extended/optical/wls/src/WLSOpticalPhysics.cc +++ b/examples/extended/optical/wls/src/WLSOpticalPhysics.cc @@ -44,6 +44,7 @@ WLSOpticalPhysics::WLSOpticalPhysics(G4bool toggle) theBoundaryProcess = NULL; theAbsorptionProcess = NULL; theRayleighScattering = NULL; + theMieHGScatteringProcess = NULL; AbsorptionOn = toggle; } @@ -77,9 +78,10 @@ void WLSOpticalPhysics::ConstructProcess() theCerenkovProcess->SetMaxNumPhotonsPerStep(300); theCerenkovProcess->SetTrackSecondariesFirst(true); - theAbsorptionProcess = new G4OpAbsorption(); - theRayleighScattering = new G4OpRayleigh(); - theBoundaryProcess = new G4OpBoundaryProcess(); + theAbsorptionProcess = new G4OpAbsorption(); + theRayleighScattering = new G4OpRayleigh(); + theMieHGScatteringProcess = new G4OpMieHG(); + theBoundaryProcess = new G4OpBoundaryProcess(); G4ProcessManager* pManager = G4OpticalPhoton::OpticalPhoton()->GetProcessManager(); @@ -94,6 +96,7 @@ void WLSOpticalPhysics::ConstructProcess() if (AbsorptionOn) pManager->AddDiscreteProcess(theAbsorptionProcess); //pManager->AddDiscreteProcess(theRayleighScattering); + //pManager->AddDiscreteProcess(theMieHGScatteringProcess); theBoundaryProcess->SetModel(glisur); //theBoundaryProcess->SetModel(unified); diff --git a/examples/extended/optical/wls/src/WLSPhysicsList.cc b/examples/extended/optical/wls/src/WLSPhysicsList.cc index e4fb71d30f..e8c43bd3cd 100644 --- a/examples/extended/optical/wls/src/WLSPhysicsList.cc +++ b/examples/extended/optical/wls/src/WLSPhysicsList.cc @@ -57,7 +57,7 @@ #include "G4RadioactiveDecayPhysics.hh" -WLSPhysicsList::WLSPhysicsList(G4String physicsList) : G4VModularPhysicsList() +WLSPhysicsList::WLSPhysicsList(G4String physName) : G4VModularPhysicsList() { G4LossTableManager::Instance(); @@ -66,10 +66,14 @@ WLSPhysicsList::WLSPhysicsList(G4String physicsList) : G4VModularPhysicsList() fCutForElectron = defaultCutValue; fCutForPositron = defaultCutValue; - fMessenger = new WLSPhysicsListMessenger(this); - G4PhysListFactory factory; - G4VModularPhysicsList* phys =factory.GetReferencePhysList(physicsList); + G4VModularPhysicsList* phys = NULL; + if (factory.IsReferencePhysList(physName)) { + phys = factory.GetReferencePhysList(physName); + if(!phys)G4Exception("WLSPhysicsList::WLSPhysicsList","InvalidSetup", + FatalException,"PhysicsList does not exist"); + fMessenger = new WLSPhysicsListMessenger(this); + } for (G4int i = 0; ; ++i) { G4VPhysicsConstructor* elem = @@ -290,5 +294,6 @@ void WLSPhysicsList::SetVerbose(G4int verbose) opticalPhysics->GetScintillationProcess()->SetVerboseLevel(verbose); opticalPhysics->GetAbsorptionProcess()->SetVerboseLevel(verbose); opticalPhysics->GetRayleighScatteringProcess()->SetVerboseLevel(verbose); + opticalPhysics->GetMieHGScatteringProcess()->SetVerboseLevel(verbose); opticalPhysics->GetBoundaryProcess()->SetVerboseLevel(verbose); } diff --git a/examples/extended/optical/wls/src/WLSTrajectory.cc b/examples/extended/optical/wls/src/WLSTrajectory.cc index 12c76f6898..196b189e3e 100644 --- a/examples/extended/optical/wls/src/WLSTrajectory.cc +++ b/examples/extended/optical/wls/src/WLSTrajectory.cc @@ -123,6 +123,13 @@ void WLSTrajectory::ShowTrajectory(std::ostream& os) const // ... or override with your own code here. } +void WLSTrajectory::DrawTrajectory() const +{ + // Invoke the default implementation in G4VTrajectory... + G4VTrajectory::DrawTrajectory(); + // ... or override with your own code here. +} + void WLSTrajectory::DrawTrajectory(G4int i_mode) const { // Invoke the default implementation in G4VTrajectory... diff --git a/examples/extended/optical/wls/wls.cc b/examples/extended/optical/wls/wls.cc index 4ce3c4ee58..29f68f12ca 100644 --- a/examples/extended/optical/wls/wls.cc +++ b/examples/extended/optical/wls/wls.cc @@ -70,7 +70,7 @@ int main(int argc,char** argv) { - G4String physicsList = "QGSP_BERT"; + G4String physName = "QGSP_BERT_EMV"; G4int seed = 123; if (argc > 2) seed = atoi(argv[argc-1]); @@ -87,8 +87,8 @@ int main(int argc,char** argv) switch (c) { case 'p': - physicsList = optarg; - G4cout << "Physics List used is " << physicsList << G4endl; + physName = optarg; + G4cout << "Physics List used is " << physName << G4endl; break; case ':': /* -p without operand */ fprintf(stderr, @@ -114,7 +114,8 @@ int main(int argc,char** argv) WLSDetectorConstruction* detector = new WLSDetectorConstruction(); runManager->SetUserInitialization(detector); - runManager->SetUserInitialization(new WLSPhysicsList(physicsList)); + + runManager->SetUserInitialization(new WLSPhysicsList(physName)); #ifdef G4VIS_USE diff --git a/examples/extended/optical/wls/wls.out b/examples/extended/optical/wls/wls.out new file mode 100644 index 0000000000..54e3518dc1 --- /dev/null +++ b/examples/extended/optical/wls/wls.out @@ -0,0 +1,888 @@ + + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + +************************************************************* + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) + Copyright : Geant4 Collaboration + Reference : NIM A 506 (2003), 250-303 + WWW : http://cern.ch/geant4 +************************************************************* + + +<<< Geant4 Physics List engine packaging library: PACK 5.5 +<<< Geant4 Physics List simulation engine: QGSP_BERT_EMV 1.1 + +RegisterPhysics: G4EmStandard_opt1 +RegisterPhysics: G4GammaLeptoNuclearPhys +RegisterPhysics: Decay +RegisterPhysics: hElasticWEL_CHIPS +RegisterPhysics: hInelastic QGSP_BERT +RegisterPhysics: stopping +RegisterPhysics: IonPhysics +RegisterPhysics: neutronTrackingCut +Visualization Manager instantiating with verbosity "warnings (3)"... +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) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) + 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 + +### NIST DataBase for Materials is used +G4NistMaterialBuilder::FindOrBuildMaterial G4_Galactic +G4NistMaterialBuilder: BuildMaterial #289 +New material nComponents= 1 +G4NistElementBuilder: Build Element Z= 1 A= 1.00794 with natural isotope composition +G4NistMaterialBuilder::FindOrBuildMaterial G4_AIR +G4NistMaterialBuilder: BuildMaterial #103 +New material nComponents= 4 +G4NistElementBuilder: Build Element Z= 6 A= 12.0107 with natural isotope composition +G4NistElementBuilder: Build Element Z= 7 A= 14.0068 with natural isotope composition +G4NistElementBuilder: Build Element Z= 8 A= 15.9994 with natural isotope composition +G4NistElementBuilder: Build Element Z= 18 A= 39.9477 with natural isotope composition +New material PMMA is prepeared; nMaterials= 315 nComponents= 843 nCurrent= 3 +### NIST DataBase for Elements is used +G4NistMaterialBuilder: BuildMaterial PMMA +G4NistMaterialBuilder: BuildMaterial #314 +New material nComponents= 3 +New material Pethylene is prepeared; nMaterials= 316 nComponents= 846 nCurrent= 2 +G4NistMaterialBuilder: BuildMaterial Pethylene +G4NistMaterialBuilder: BuildMaterial #315 +New material nComponents= 2 +New material FPethylene is prepeared; nMaterials= 317 nComponents= 848 nCurrent= 2 +G4NistMaterialBuilder: BuildMaterial FPethylene +G4NistMaterialBuilder: BuildMaterial #316 +New material nComponents= 2 +New material Polystyrene is prepeared; nMaterials= 318 nComponents= 850 nCurrent= 2 +G4NistMaterialBuilder: BuildMaterial Polystyrene +G4NistMaterialBuilder: BuildMaterial #317 +New material nComponents= 2 +New material Silicone is prepeared; nMaterials= 319 nComponents= 852 nCurrent= 2 +G4NistMaterialBuilder: BuildMaterial Silicone +G4NistMaterialBuilder: BuildMaterial #318 +New material nComponents= 2 +G4NistMaterialBuilder::FindOrBuildMaterial G4_Al +G4NistMaterialBuilder: BuildMaterial #12 +New material nComponents= 1 +G4NistElementBuilder: Build Element Z= 13 A= 26.9815 with natural isotope composition +New material TiO2 is prepeared; nMaterials= 320 nComponents= 854 nCurrent= 2 +G4NistElementBuilder: Build Element Z= 22 A= 47.8667 with natural isotope composition +G4NistMaterialBuilder: BuildMaterial TiO2 +G4NistMaterialBuilder: BuildMaterial #319 +New material nComponents= 2 +### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0 +WLSExtraPhysics:: Add Extra Physics Processes +WLSOpticalPhysics:: Add Optical Physics Processes +G4Cerenkov::G4Cerenkov constructor +NOTE: this is now a G4VProcess! +Required change in UserPhysicsList: +change: pmanager->AddContinuousProcess(theCerenkovProcess); +to: pmanager->AddProcess(theCerenkovProcess); + pmanager->SetProcessOrdering(theCerenkovProcess,idxPostStep); +WLSPhysicsList::SetCuts:CutLength : 1 mm + +phot: for gamma, applyCuts: 1 SubType= 12 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + PhotoElectric : Emin= 0 eV Emax= 10 TeV + +compt: for gamma, applyCuts: 1 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: for gamma, applyCuts: 1 SubType= 14 + Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BetheHeitler : Emin= 0 eV Emax= 10 TeV + +msc: for e- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc93 : 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)= 1, dRoverRange= 0.8, integral: 1, fluct: 1, linLossLimit= 0.01 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + MollerBhabha : Emin= 0 eV 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 ====== + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban + +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.8, integral: 1, fluct: 1, linLossLimit= 0.01 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + MollerBhabha : Emin= 0 eV 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 ====== + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban + +annihil: for e+, applyCuts: 1 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 + +msc: for proton SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +hBrems: for proton 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 proton 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 + +msc: for GenericIon SubType= 10 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 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 ====== + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 + +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 ====== + WentzelVIUni : Emin= 0 eV Emax= 10 TeV + +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 + +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 + +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 + +CoulombScat: for mu+, applyCuts: 1 SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 0 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV + +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 ====== + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV + +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 + +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 + +CoulombScat: for mu-, applyCuts: 1 SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 0 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + +hBrems: for pi+ 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 pi+ 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 + +msc: for pi- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +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 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV + +hBrems: for pi- 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 pi- 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 +============================================================================================ + HADRONIC PROCESSES SUMMARY (verbose level 1) + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 +AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + ElectroNuclear Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 30000 + + Hadronic Processes for + PhotonInelastic Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 3.5 + TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 + LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 + + Hadronic Processes for + muMinusCaptureAtRest + + Hadronic Processes for + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 + NeutronInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LENeutronInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + nCapture Models: G4LCapture: Emin(GeV)= 0 Emax(GeV)= 20000 + nFission Models: G4LFission: Emin(GeV)= 0 Emax(GeV)= 20000 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 + PionPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 + PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 + + Hadronic Processes for + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 + ProtonInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEProtonInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 +============================================================================================ + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : G4_AIR + 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 : Coating + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm + Energy thresholds : gamma 3.43206 keV e- 451.206 keV e+ 436.298 keV proton 0 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : Polystyrene + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm + Energy thresholds : gamma 2.41988 keV e- 356.639 keV e+ 349.521 keV proton 0 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 3 used in the geometry : Yes recalculation needed : No + Material : PMMA + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm + Energy thresholds : gamma 2.78665 keV e- 389.196 keV e+ 376.336 keV proton 0 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 4 used in the geometry : Yes recalculation needed : No + Material : G4_Al + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm + Energy thresholds : gamma 6.90363 keV e- 598.345 keV e+ 570.85 keV proton 0 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + +### Run 0 start. + +--------- Ranecu engine status --------- + Initial seed (index) = 123 + Current couple of seeds = 960416485, 2004255415 +---------------------------------------- + +---> Begin of Event: 0 +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories + +---> Begin of Event: 100 +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +n_trajectories: 0 +draw all trajectories +Graphics systems deleted. +Visualization Manager deleting... + diff --git a/examples/extended/parallel/ExDiane/GNUmakefile b/examples/extended/parallel/ExDiane/GNUmakefile deleted file mode 100644 index 82649f9f9e..0000000000 --- a/examples/extended/parallel/ExDiane/GNUmakefile +++ /dev/null @@ -1,24 +0,0 @@ -# $Id: GNUmakefile,v 1.4 2009/03/06 09:51:42 gbarrand Exp $ -# -------------------------------------------------------------- - -name := Brachy -G4TARGET := $(name) -G4EXLIB := true - -ifndef G4INSTALL - G4INSTALL = ../../.. -endif - -.PHONY: all - -ifdef G4DIANE_USE -G4LIB_BUILD_SHARED = 1 -all: lib bin - @echo "Linking DIANE libraries..." - @g++ -shared -o${G4WORKDIR}/tmp/${G4SYSTEM}/${name}/libDIANE_${name}.so -L${G4WORKDIR}/tmp/${G4SYSTEM}/${name} -l${name} ${LDFLAGS} ${LDLIBS} -else -all: lib bin -endif - -include $(G4INSTALL)/config/binmake.gmk - diff --git a/examples/extended/parallel/ExDiane/History b/examples/extended/parallel/ExDiane/History deleted file mode 100644 index 55a4cce70c..0000000000 --- a/examples/extended/parallel/ExDiane/History +++ /dev/null @@ -1,30 +0,0 @@ -------------------------------------------------------------------- -$Id: History,v 1.7 2009/03/16 10:02:25 gcosmo Exp $ -------------------------------------------------------------------- - - ========================================================= - Geant4 - ExDiane - ========================================================= - - Category History file - --------------------- - -06.03.2009 - Guy Barrand (ExDiane-V09-02-00) -- GNUmakefile: removed logic for setting AIDA with G4ANALYSIS_USE. - since it already handled in the internal configuration scripts. - -06.12.2005 - Gabriele Cosmo -- Trivial changes for support of CLHEP-2.0.X series. - -29.11.2005 - Susanna Guatelli (ExDiane-V07-01-00) -- Updated documentation. - -03.05.2005 - John Allison (examples-V07-00-03) -- Replaced vis manager with G4VisExecutive. - -02.12.2004 - Gabriele Cosmo (ExDiane-V06-02-00) -- Implemented migration to . - -25.5.2004 - Susanna Guatelli -- Migration to AIDA 3.2.1 and PI 1.2.1 -- Cleaning of the code for public release. diff --git a/examples/extended/parallel/ExDiane/IodiumSourceMacro.mac b/examples/extended/parallel/ExDiane/IodiumSourceMacro.mac deleted file mode 100644 index 7d94470867..0000000000 --- a/examples/extended/parallel/ExDiane/IodiumSourceMacro.mac +++ /dev/null @@ -1,8 +0,0 @@ -# Iodium source -/control/verbose 1 -/run/verbose 1 -/event/verbose 0 -/source/switch Iodium -/run/energy Iodium -/run/initialize -/run/beamOn 500 diff --git a/examples/extended/parallel/ExDiane/IridiumSourceMacro.mac b/examples/extended/parallel/ExDiane/IridiumSourceMacro.mac deleted file mode 100644 index 46a4564d09..0000000000 --- a/examples/extended/parallel/ExDiane/IridiumSourceMacro.mac +++ /dev/null @@ -1,6 +0,0 @@ -# Iridium source -/control/verbose 1 -/run/verbose 1 -/event/verbose 0 -/run/initialize -/run/beamOn 500 diff --git a/examples/extended/parallel/ExDiane/README b/examples/extended/parallel/ExDiane/README deleted file mode 100644 index 1f67978bb5..0000000000 --- a/examples/extended/parallel/ExDiane/README +++ /dev/null @@ -1,95 +0,0 @@ - - ========================================================= - Geant4 - ExDiane example - ========================================================= - - README - --------------------- - ------------------------------------------------------------------------- -----> Introduction - -This example shows how to run a Geant4 application in a parallel mode -using DIANE (DIstributed ANalysis Environment). - -With DIANE the simulation may be run in sequential or parallel mode -without changing the code of the Geant4 application. Using a dedicated -cluster or geographically distributed resources (e.g. GRID) is -completely transparent for the user. - -For more details about DIANE, have a look at http://cern.ch/diane - -The ExDiane example derives from the Geant4 advanced example -brachytherapy. The original application code is the same. An -interface class (BrachySimulation) has been added to replace the -main() function. - -Please look at the documentation of the brachytherapy advanced example -to know details about the functionality of the application: - - geant4/examples/advanced/brachytherapy - - http://www.ge.infn.it/geant4/examples/index.html - -------------------------------------------------------------------------- -----> 2.SET-UP - - - example enviroment with the compiler 3.2.3 - compiler = gcc-3.2.3 - G4SYSTEM = linux-g++ - - - other environment variables which need to be set: - G4LEDATA: points to low energy data base - G4EMLOW3.0 - - - download DIANE - You need to have python 2.2 or greater. - - * AUTOMATIC INSTALLATION OF DIANE - Execute this command: - > python2 diane.installation.manager --packages=brachy DIANE-1.0.0 download - Get the diane.installation.manager script from - http://cern.ch/diane/download.html - - * MANUAL INSTALLATION OF DIANE - Make sure that you have AIDA 3.2.1, PI 1.3.3. Download them from - http://aida.freehep.org/ - http://www.cern.ch/PI - - Download DIANE from www.cern.ch/diane - Documentation about how to "dianize" a Geant4 application can be found - at www.cern.ch/diane ------------------------------------------------------------------------- -----> 3.How to compile the example. - -setenv G4ANALYSIS_USE 1 -> to activate the analysis -setenv G4DIANE_USE 1 -> to activate the use of DIANE -> gmake ------------------------------------------------------------------------- -----> 4.How to run the example. - -Two macros are provided as example: iridium.job and iodium.job -They correspond to the Geant4 macros: IridiumSourceMacro.mac and -IodiumSourceMacro.mac - -- batch mode running through DIANE: - diane.startjob --job=iodium.job -w 3@localhost --wms=xterm ^ ^ - input macro number of workers ------------------------------------------------------------------------- -----> 4. Simulation output - -if ANALYSIS_USE = 1 in the set-up, the output is brachytherapy.xml - - It contains: - 1)1Dhistogram with the primary particle energy - 2)2Dhistogram with the distribution of energy in the plane - (x,z,energy) containing the source - 3)1Dhistogram with the energy deposit along the X axis in the plane - containing the source. - -Units: the energy deposit is in MeV; - x, y, z in mm for histograms -------------------------------------------------------------------------- -Authors: Susanna Guatelli, Kuba Moscicki - -for comments, advices, doubts and questions: -guatelli@ge.infn.it, Jakub.Moscicki@cern.ch - -- last modified: Susanna Guatelli and Kuba Moscicki 29/11/2005 diff --git a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstruction.hh b/examples/extended/parallel/ExDiane/include/BrachyDetectorConstruction.hh deleted file mode 100644 index 82e67d6939..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstruction.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: BrachyDetectorConstruction.hh,v 1.3 2006/06/29 17:30:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// **************************************** -// * * -// * BrachyDetectorConstruction.hh * -// * * -// **************************************** - -#ifndef BrachyDetectorConstruction_H -#define BrachyDetectorConstruction_H 1 - -#include "globals.hh" -#include "G4VUserDetectorConstruction.hh" -#include "G4LogicalVolume.hh" - -class BrachyPhantomSD; -class BrachyDetectorMessenger; -class G4LogicalVolume; -class G4Material; -class G4Tubs; -class G4Box; -class G4Sphere; -class G4Tubs; -class G4Colour; -class G4VPhysicalVolume; -class BrachyPhantomSD; -class BrachyPhantomROGeometry; -class G4VPhysicalVolume; -class BrachyMaterial; -class BrachyFactory; -class BrachyVoxelParameterisation; - -class BrachyDetectorConstruction : public G4VUserDetectorConstruction -{ -public: - - BrachyDetectorConstruction(G4String&); - ~BrachyDetectorConstruction(); - - G4VPhysicalVolume* Construct(); - void SwitchBrachytherapicSeed(); - void SelectBrachytherapicSeed(G4String val); - void ConstructPhantom(); - void ConstructSensitiveDetector(); - void PrintDetectorParameters(); - void SetPhantomMaterial(G4String); - - const G4double VoxelWidth_X(){return phantomDimensionX/numberOfVoxelsAlongX;} - const G4double VoxelWidth_Z(){return phantomDimensionZ/numberOfVoxelsAlongZ;} - const G4int GetNumVoxelX() {return numberOfVoxelsAlongX;} - const G4int GetNumVoxelZ() {return numberOfVoxelsAlongZ;} - const G4double GetDimX() {return phantomDimensionX;} - const G4double GetBoxDim_Z() {return phantomDimensionZ;} - - void ComputeDimVoxel() {dimVoxel = phantomDimensionX/numberOfVoxelsAlongX;} - -private: - - G4int detectorChoice; //Select brachytherapic seed - BrachyPhantomSD* phantomSD;//pointer to sensitive detector - BrachyPhantomROGeometry* phantomROGeometry;//pointer to ROGeometry - BrachyFactory* factory; - - // World ... - G4Box* World; //pointer to the solid World - G4LogicalVolume* WorldLog; //pointer to the logical World - G4VPhysicalVolume* WorldPhys; //pointer to the physical World - - // Phantom ... - G4Box* Phantom; //pointer to solid phantom - G4LogicalVolume* PhantomLog; //pointer to logic phantom - G4VPhysicalVolume* PhantomPhys; //pointer to physical phantom - G4Material* phantomAbsorberMaterial; - - G4double phantomDimensionX; //Phantom XDimension - G4double phantomDimensionY; //Phantom YDimension - G4double phantomDimensionZ; //Phantom ZDimension - G4int numberOfVoxelsAlongX; //Number of voxels along x axis - G4int numberOfVoxelsAlongZ; //Number of voxels along z axis - G4double Worldx ; //World XDimension - G4double Worldy ; //World YDimension - G4double Worldz ; //World XDimension - G4String sensitiveDetectorName; - BrachyDetectorMessenger* detectorMessenger; - BrachyMaterial* pMaterial; - - G4double dimVoxel; -}; - -#endif diff --git a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionLeipzig.hh b/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionLeipzig.hh deleted file mode 100644 index 2e49e23e0f..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionLeipzig.hh +++ /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: BrachyDetectorConstructionLeipzig.hh,v 1.3 2006/06/29 17:31:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -//Author: Susanna Guatelli -// -// ************************************************ -// * * -// * BrachyDetectorConstructionLeipzig.hh * -// * * -// ************************************************ -// -//Management of Leipzig applicator -// -#ifndef BrachyDetectorConstructionLeipzig_H -#define BrachyDetectorConstructionLeipzig_H 1 - -#include "globals.hh" -#include "G4VUserDetectorConstruction.hh" -#include "G4LogicalVolume.hh" - -class G4LogicalVolume; -class G4Tubs; -class G4Box; -class G4Sphere; -class G4Tubs; -class G4Colour; -class G4VPhysicalVolume; -class G4VPhysicalVolume; -class BrachyMaterial; - -class BrachyDetectorConstructionLeipzig -{ -public: - BrachyDetectorConstructionLeipzig(); - ~BrachyDetectorConstructionLeipzig(); - void ConstructLeipzig(G4VPhysicalVolume*); - -private: - G4Tubs* capsule ; - G4LogicalVolume* capsuleLog; - G4VPhysicalVolume* capsulePhys; - - G4Sphere* capsuleTip; - G4LogicalVolume* capsuleTipLog; - G4VPhysicalVolume* capsuleTipPhys; - - G4Tubs* iridiumCore; - G4LogicalVolume* iridiumCoreLog; - G4VPhysicalVolume* iridiumCorePhys; - - G4Tubs* applicator1; - G4LogicalVolume* applicator1Log ; - G4VPhysicalVolume* applicator1Phys; - - G4Tubs* applicator2; - G4LogicalVolume* applicator2Log ; - G4VPhysicalVolume* applicator2Phys; - - BrachyMaterial* pMaterial; -}; -#endif diff --git a/examples/extended/parallel/ExDiane/include/BrachyDetectorMessenger.hh b/examples/extended/parallel/ExDiane/include/BrachyDetectorMessenger.hh deleted file mode 100644 index 948acd4672..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyDetectorMessenger.hh +++ /dev/null @@ -1,69 +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. * -// ******************************************************************** -// -//Author: Susanna Guatelli -// -// -// ***************************************** -// * * -// * BrachyDetectrorMessenger.hh * -// * * -// ***************************************** -// -// $Id: BrachyDetectorMessenger.hh,v 1.3 2006/06/29 17:31:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -#ifndef BrachyDetectorMessenger_h -#define BrachyDetectorMessenger_h 1 - -#include "globals.hh" -#include "G4UImessenger.hh" - -class BrachyDetectorConstruction; -class BrachyFactoryIr; -class BrachyRunAction; -class G4UIdirectory; -class G4UIcmdWithAString; -class G4UIcmdWithAnInteger; -class G4UIcmdWithADoubleAndUnit; -class G4UIcmdWithoutParameter; - -class BrachyDetectorMessenger: public G4UImessenger -{ -public: - BrachyDetectorMessenger(BrachyDetectorConstruction* ); - ~BrachyDetectorMessenger(); - - void SetNewValue(G4UIcommand*, G4String); - -private: - BrachyDetectorConstruction* detector;//pointer to detector - G4UIdirectory* detectorDir; - G4UIcmdWithAString* phantomMaterialCmd; // change phantom material - G4UIcmdWithAString* sourceCmd; //change brachytherapis source -}; -#endif - diff --git a/examples/extended/parallel/ExDiane/include/BrachyDummySD.hh b/examples/extended/parallel/ExDiane/include/BrachyDummySD.hh deleted file mode 100644 index dfd91d9491..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyDummySD.hh +++ /dev/null @@ -1,56 +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. * -// ******************************************************************** -// -// ******************************** -// * * -// * BrachyDummySD.hh * -// * * -// ******************************** - -// Dummy sensitive used only to flag sensitivity in cells of RO geometry. - -#ifndef BrachyDummySD_h -#define BrachyDummySD_h 1 - -#include "G4VSensitiveDetector.hh" -class G4Step; - -class BrachyDummySD : public G4VSensitiveDetector -{ -public: - BrachyDummySD(); - ~BrachyDummySD() {}; - - void Initialize(G4HCofThisEvent* ) {}; - G4bool ProcessHits(G4Step* ,G4TouchableHistory*) {return false;} - void EndOfEvent(G4HCofThisEvent*) {}; - void clear() {}; - void DrawAll() {}; - void PrintAll() {}; -}; - -BrachyDummySD::BrachyDummySD() : G4VSensitiveDetector("dummySD") -{} -#endif diff --git a/examples/extended/parallel/ExDiane/include/BrachyFactory.hh b/examples/extended/parallel/ExDiane/include/BrachyFactory.hh deleted file mode 100644 index ceeefa613e..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyFactory.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. * -// ******************************************************************** -// -// Code developed by: Susanna Guatelli -// -// $Id: BrachyFactory.hh,v 1.2 2006/06/29 17:31:39 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ********************************** -// * * -// * BrachyFactory.hh * -// * * -// ********************************** -// -// this is the abstract class which manages the sources' realisation -// in terms of geometry and primary particle generated in the radioactive core - -#ifndef BrachyFactory_h -#define BrachyFactory_h 1 - -#include "G4VUserPrimaryGeneratorAction.hh" - -class G4ParticleGun; -class G4Run; -class G4Event; -class G4VPhysicalVolume; -class BrachyAnalysisManager; - -class BrachyFactory -{ -public: - - BrachyFactory(); - virtual ~BrachyFactory(); - - //Source primary particles' management ... - virtual G4VUserPrimaryGeneratorAction* CreatePrimaryGeneratorAction() = 0; - - // ... - // this function manages the creation of the source in terms of - // geometry ... - virtual void CreateSource(G4VPhysicalVolume*) = 0; - - // ... - // This function deletes the source in the geometry (phantom); to be - // used when the user needs to substitute one source with another one ... - virtual void CleanSource() = 0; -}; -#endif diff --git a/examples/extended/parallel/ExDiane/include/BrachyFactoryIr.hh b/examples/extended/parallel/ExDiane/include/BrachyFactoryIr.hh deleted file mode 100644 index a1b8db0bfc..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyFactoryIr.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. * -// ******************************************************************** -// -// -// $Id: BrachyFactoryIr.hh,v 1.2 2006/06/29 17:32:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ********************************** -// * * -// * BrachyFactoryIr.hh * -// * * -// ********************************** -// -// -// -#ifndef BrachyFactoryIr_h -#define BrachyFactoryIr_h 1 - -#include "G4VUserPrimaryGeneratorAction.hh" -#include "BrachyFactory.hh" -#include "G4RunManager.hh" - -class G4ParticleGun; -class G4Run; -class G4Event; -class BrachyAnalysisManager; -class BrachyFactory; -class BrachyPrimaryGeneratorActionIr; -class BrachyDetectorConstructionIr; - -// This class manages the creation of iridum source used in endocavitary -// brachytherapy ... -class BrachyFactoryIr : public BrachyFactory -{ -public: - BrachyFactoryIr(); - ~BrachyFactoryIr(); - - G4VUserPrimaryGeneratorAction* CreatePrimaryGeneratorAction(); - void CreateSource(G4VPhysicalVolume*); - void CleanSource(); - -private: - BrachyDetectorConstructionIr* iridiumSource; -}; -#endif diff --git a/examples/extended/parallel/ExDiane/include/BrachyFactoryLeipzig.hh b/examples/extended/parallel/ExDiane/include/BrachyFactoryLeipzig.hh deleted file mode 100644 index 3de61c5166..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyFactoryLeipzig.hh +++ /dev/null @@ -1,67 +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: BrachyFactoryLeipzig.hh,v 1.2 2006/06/29 17:32:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ********************************** -// * * -// * BrachyFactoryLeipzig.hh * -// * * -// ********************************** -//code developed by: Susanna Guatelli -// -// This class manages the creation of iridum source used in superficial -// brachytherapy ... -#ifndef BrachyFactoryLeipzig_h -#define BrachyFactoryLeipzig_h 1 - -#include "G4VUserPrimaryGeneratorAction.hh" -#include "BrachyFactory.hh" -#include "G4RunManager.hh" - -class G4ParticleGun; -class G4Run; -class G4Event; -class BrachyAnalysisManager; -class BrachyFactory; -class BrachyPrimaryGeneratorActionIr; -class BrachyDetectorConstructionLeipzig; - -class BrachyFactoryLeipzig : public BrachyFactory -{ -public: - BrachyFactoryLeipzig(); - ~BrachyFactoryLeipzig(); - - G4VUserPrimaryGeneratorAction* CreatePrimaryGeneratorAction(); - void CreateSource(G4VPhysicalVolume*); - void CleanSource(); - -private: - BrachyDetectorConstructionLeipzig* leipzigSource; -}; -#endif diff --git a/examples/extended/parallel/ExDiane/include/BrachyMaterial.hh b/examples/extended/parallel/ExDiane/include/BrachyMaterial.hh deleted file mode 100644 index 71fe821649..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyMaterial.hh +++ /dev/null @@ -1,73 +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: BrachyMaterial.hh,v 1.2 2006/06/29 17:32:12 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ********************************** -// * * -// * BrachyMaterial.hh * -// * * -// ********************************** -// -//Code developed by: Susanna Guatelli -// -//This class manages the elements and materials needed by the simulation -// set-up ... -// -#ifndef BrachyMaterial_H -#define BrachyMaterial_H 1 -#include "globals.hh" -class G4Material; - -class BrachyMaterial -{ -public: - BrachyMaterial(); - ~ BrachyMaterial(); - -public: - void DefineMaterials(); - G4Material* GetMat(G4String); //returns the material - -private: - G4Material* matW; - G4Material* matplexiglass; - G4Material* matPb; - G4Material* matir192; - G4Material* Titanium; - G4Material* matAir; - G4Material* matH2O; - G4Material* soft; - G4Material* matsteel; - G4Material* gold; - G4Material* matI; - G4Material* ceramic; - G4Material*Vacuum; - G4Material* bone; - G4Material* muscle; -}; -#endif diff --git a/examples/extended/parallel/ExDiane/include/BrachyPhantomHit.hh b/examples/extended/parallel/ExDiane/include/BrachyPhantomHit.hh deleted file mode 100644 index 76ca51a3ba..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyPhantomHit.hh +++ /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: BrachyPhantomHit.hh,v 1.3 2006/06/29 17:32:14 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -// ******************************** -// * * -// * BrachyPhantomHit.hh * -// * * -// ******************************** -// -//Code developed by: S. Guatelli -// -// It manages the hits and the enrgy deposit in the phantom associated with -// each hit ... - -#ifndef BrachyPhantomHit_h -#define BrachyPhantomHit_h 1 - -#include "G4VHit.hh" -#include "G4THitsCollection.hh" -#include "G4Allocator.hh" -#include "G4ThreeVector.hh" -#include "G4LogicalVolume.hh" -#include "G4Transform3D.hh" -#include "G4RotationMatrix.hh" - -class BrachyPhantomHit : public G4VHit -{ -public: - BrachyPhantomHit(G4LogicalVolume* ,G4int ,G4int ,G4int ); - ~BrachyPhantomHit(); - BrachyPhantomHit(const BrachyPhantomHit &right); - const BrachyPhantomHit& operator = (const BrachyPhantomHit &right); - int operator == (const BrachyPhantomHit &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 BrachyPhantomHitsCollection; -extern G4Allocator BrachyPhantomHitAllocator; - -inline void* BrachyPhantomHit::operator new(size_t) -{ - void *aHit; - aHit = (void *) BrachyPhantomHitAllocator.MallocSingle(); - return aHit; -} - -inline void BrachyPhantomHit::operator delete(void *aHit) -{ - BrachyPhantomHitAllocator.FreeSingle((BrachyPhantomHit*) aHit); -} -#endif - - diff --git a/examples/extended/parallel/ExDiane/include/BrachyPhantomROGeometry.hh b/examples/extended/parallel/ExDiane/include/BrachyPhantomROGeometry.hh deleted file mode 100644 index 51350a31a8..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyPhantomROGeometry.hh +++ /dev/null @@ -1,63 +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: BrachyPhantomROGeometry.hh,v 1.3 2006/06/29 17:32:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ************************************ -// * * -// * BrachyPhantomROGeometry.hh * -// * * -// ************************************ -// -//The phantom is devided in voxels. the dimension of the voxel is 1mm -// -#ifndef BrachyPhantomROGeometry_h -#define BrachyPhantomROGeometry_h - -#include "G4VReadOutGeometry.hh" - -class BrachyPhantomROGeometry : public G4VReadOutGeometry -{ -public: - BrachyPhantomROGeometry(G4String aString, - G4double phantomDimX, - G4double phantomDimZ, - G4int numberOfVoxelsX, - G4int numberOfVoxelsZ); - ~BrachyPhantomROGeometry(); - -private: - G4VPhysicalVolume* Build(); - -private: - const G4double phantomDimensionX; - const G4double phantomDimensionZ; - const G4int numberOfVoxelsAlongX; - const G4int numberOfVoxelsAlongZ; - G4VPhysicalVolume *ROPhantomYDivisionPhys; -}; -#endif diff --git a/examples/extended/parallel/ExDiane/include/BrachyPhantomSD.hh b/examples/extended/parallel/ExDiane/include/BrachyPhantomSD.hh deleted file mode 100644 index 1883f12869..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyPhantomSD.hh +++ /dev/null @@ -1,67 +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: BrachyPhantomSD.hh,v 1.2 2006/06/29 17:32:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ******************************** -// * * -// * BrachyPhantomSD.hh * -// * * -// ******************************** - -#ifndef BrachyPhantomSD_h -#define BrachyPhantomSD_h 1 - -#include "G4VSensitiveDetector.hh" -#include "BrachyPhantomHit.hh" - -class G4Step; -class G4HCofThisEvent; -class G4TouchableHistory; - -class BrachyPhantomSD : public G4VSensitiveDetector -{ -public: - BrachyPhantomSD(G4String name, G4int NumVoxelX, G4int NumVoxelZ); - ~BrachyPhantomSD(); - - void Initialize(G4HCofThisEvent*); - G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist); - void EndOfEvent(G4HCofThisEvent*HCE); - void clear(); - void DrawAll(); - void PrintAll(); - -private: - const G4int numberOfVoxelsX; - const G4int numberOfVoxelsZ; - G4int *voxelID; - BrachyPhantomHitsCollection *phantomHitsCollection; -}; -#endif - - diff --git a/examples/extended/parallel/ExDiane/include/BrachyPhysicsList.hh b/examples/extended/parallel/ExDiane/include/BrachyPhysicsList.hh deleted file mode 100644 index 6534a13f21..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyPhysicsList.hh +++ /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. * -// ******************************************************************** -// -// -// $Id: BrachyPhysicsList.hh,v 1.3 2006/06/29 17:32:21 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ********************************** -// * * -// * BrachyPhysicsList.hh * -// * * -// ********************************** -// -//Author: Susanna Guatelli -// -#ifndef BrachyPhysicsList_h -#define BrachyPhysicsList_h 1 - -#include "G4VUserPhysicsList.hh" -#include "globals.hh" - -class G4LowEnergyIonisation; -class G4LowEnergyPhotoElectric; -class G4LowEnergyBremsstrahlung; - -class BrachyPhysicsList: public G4VUserPhysicsList -{ -public: - BrachyPhysicsList(); - ~BrachyPhysicsList(); - -protected: - // Construct particle and physics - void ConstructParticle(); - void ConstructProcess(); - void SetCuts(); - -private: - G4double cutForGamma; - G4double cutForElectron; - G4double cutForPositron; - -protected: - // these methods Construct particles - void ConstructBosons(); - void ConstructLeptons(); - -protected: - // these methods Construct physics processes and register them - void ConstructGeneral(); - void ConstructEM(); - -private: - G4LowEnergyIonisation* loweIon; - G4LowEnergyPhotoElectric* lowePhot; - G4LowEnergyBremsstrahlung* loweBrem; -}; -#endif - - - diff --git a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorAction.hh b/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorAction.hh deleted file mode 100644 index 785e87bfd5..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorAction.hh +++ /dev/null @@ -1,59 +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: BrachyPrimaryGeneratorAction.hh,v 1.2 2006/06/29 17:32:23 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ******************************************** -// * * -// * BrachyPrimaryGeneratorAction.hh * -// * * -// ******************************************** - -// This class must be implemented because it is mandatory - -#ifndef BrachyPrimaryGeneratorAction_h -#define BrachyPrimaryGeneratorAction_h 1 - -#include "G4VUserPrimaryGeneratorAction.hh" - -class G4ParticleGun; -class G4Run; -class G4Event; -class BrachyAnalysisManager; -class BrachyPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction -{ - public: - BrachyPrimaryGeneratorAction(); - ~BrachyPrimaryGeneratorAction(); - - public: - virtual void GeneratePrimaries(G4Event* anEvent) = 0; -}; - -#endif - - diff --git a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionI.hh b/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionI.hh deleted file mode 100644 index e0f1524687..0000000000 --- a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionI.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: BrachyPrimaryGeneratorActionI.hh,v 1.3 2006/06/29 17:32:26 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -// -// ******************************************** -// * * -// * BrachyPrimaryGeneratorActionI.hh * -// * * -// ******************************************** -//Primary particles of the Iodium source. They are delivered from a random -//point of the radionuclide with random direction. The energy spectrum -// of the gamma delivered is activated - -#ifndef BrachyPrimaryGeneratorActionI_h -#define BrachyPrimaryGeneratorActionI_h 1 - -#include "globals.hh" -#include -#include "G4VUserPrimaryGeneratorAction.hh" -#include "BrachyPrimaryGeneratorAction.hh" - -class G4ParticleGun; -class G4Run; -class G4Event; -class BrachyAnalysisManager; -class BrachyPrimaryGeneratorAction; - -class BrachyPrimaryGeneratorActionI : public G4VUserPrimaryGeneratorAction -{ - public: - BrachyPrimaryGeneratorActionI(); - ~BrachyPrimaryGeneratorActionI(); - - public: - void GeneratePrimaries(G4Event* anEvent); - G4double GetEnergy(); - - private: - G4ParticleGun* particleGun; - G4double primaryParticleEnergy; - std::vector energySpectrum; -}; -#endif - diff --git a/examples/extended/parallel/ExDiane/include/IG4Simulation.h b/examples/extended/parallel/ExDiane/include/IG4Simulation.h deleted file mode 100644 index 843478d748..0000000000 --- a/examples/extended/parallel/ExDiane/include/IG4Simulation.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef IG4SIMULATION_H -#define IG4SIMULATION_H - -/* ========================================== - DIANE - Distributed Analysis Environment - Copyright (C) Jakub T. Moscicki, 2000-2003 - ------------------------------------------ - See $DIANE_TOP/LICENSE for details. - ========================================== -*/ - -#include "globals.hh" -namespace DIANE -{ - -class IG4Simulation -{ - -public: - - virtual void setSeed(G4int seed) = 0; - virtual G4bool initialize(int argc, char** argv) = 0; - virtual void executeMacro(std::string macroFileName) = 0; - virtual std::string getOutputFilename() = 0; - virtual void finish() = 0; - virtual ~IG4Simulation() {} -}; -} - -extern "C" -DIANE::IG4Simulation* createG4Simulation(int); - -#endif - diff --git a/examples/extended/parallel/ExDiane/iodium.job b/examples/extended/parallel/ExDiane/iodium.job deleted file mode 100644 index 7ee38e89b8..0000000000 --- a/examples/extended/parallel/ExDiane/iodium.job +++ /dev/null @@ -1,25 +0,0 @@ -#-*-python-*- - -Application = "G4Analysis" - -WorkerInitData = { - 'G4ApplicationComponentName' : "G4Brachy", - 'initMacroFile' : """ -/control/verbose 1 -/run/verbose 0 -/event/verbose 0 -/source/switch Iodium -/run/energy Iodium -/run/initialize -""" -} - -JobInitData = { - 'runParams' : { - 'seed' : 0 , - 'eventNumber' : 5000, - 'macroFileTemplate': "/run/beamOn " }, - 'eventsPerWorker' : 500, - 'workerInit' : WorkerInitData - } - diff --git a/examples/extended/parallel/ExDiane/iridium.job b/examples/extended/parallel/ExDiane/iridium.job deleted file mode 100644 index bf99cef7a0..0000000000 --- a/examples/extended/parallel/ExDiane/iridium.job +++ /dev/null @@ -1,23 +0,0 @@ -#-*-python-*- - -Application = "G4Analysis" - -WorkerInitData = { - 'G4ApplicationComponentName' : "G4Brachy", - 'initMacroFile' : """ -/control/verbose 1 -/run/verbose 0 -/event/verbose 0 -/run/initialize -""" -} - -JobInitData = { - 'runParams' : { - 'seed' : 0 , - 'eventNumber' : 5000, - 'macroFileTemplate': "/run/beamOn " }, - 'eventsPerWorker' : 500, - 'workerInit' : WorkerInitData - } - diff --git a/examples/extended/parallel/ExDiane/src/BrachyAnalysisManager.cc b/examples/extended/parallel/ExDiane/src/BrachyAnalysisManager.cc deleted file mode 100644 index 7c4d1bbfaa..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyAnalysisManager.cc +++ /dev/null @@ -1,146 +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. * -// ******************************************************************** -// -// Code developed by: -// S.Guatelli -// -// ******************************* -// * * -// * BrachyAnalysisManager.cc * -// * * -// ******************************* -// -// $Id: BrachyAnalysisManager.cc,v 1.3 2006/06/29 17:32:37 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#ifdef G4ANALYSIS_USE -#include -#include -#include "BrachyAnalysisManager.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" - -BrachyAnalysisManager* BrachyAnalysisManager::instance = 0; - -BrachyAnalysisManager::BrachyAnalysisManager() : - aFact(0), theTree(0), histFact(0), h1(0), h2(0) - -{ - //build up the factories - aFact = AIDA_createAnalysisFactory(); - - AIDA::ITreeFactory *treeFact = aFact -> createTreeFactory(); - - //parameters for the TreeFactory - - std::string fileName = "brachytherapy.xml"; - theTree = treeFact -> create(fileName,"xml",false, true, "uncompressed"); - - delete treeFact; - - histFact = aFact -> createHistogramFactory( *theTree ); -} - -BrachyAnalysisManager::~BrachyAnalysisManager() -{ - delete histFact; - histFact = 0; - - delete theTree; - histFact = 0; - - delete aFact; - aFact = 0; -} - -BrachyAnalysisManager* BrachyAnalysisManager::getInstance() -{ - if (instance == 0) instance = new BrachyAnalysisManager; - return instance; -} - -void BrachyAnalysisManager::book() -{ - //creating a 1D histogram ... - h1 = histFact -> createHistogram2D("10","Energy, pos", //histoID,histo name - 300 ,-150.,150., //bins'number,xmin,xmax - 300,-150.,150. );//bins'number,ymin,ymax - //creating a 2D histogram ... - h2 = histFact -> createHistogram1D("20","Initial Energy", //histoID,histo name - 100,0.,1.); //bins' number, xmin, xmax - - h3 = histFact -> createHistogram1D("30","Dose Distribution", - 300,-150.,150.); //bins' number, xmin, xmax -} - -void BrachyAnalysisManager::FillHistogramWithEnergy(G4double x, - G4double z, - G4double energyDeposit) -{ - h1 -> fill(x,z,energyDeposit); -} - -void BrachyAnalysisManager::PrimaryParticleEnergySpectrum(G4double primaryParticleEnergy) -{ - //1DHisotgram: energy spectrum of primary particles - h2 -> fill(primaryParticleEnergy); -} -void BrachyAnalysisManager::DoseDistribution(G4double x,G4double energy) -{ - //1DHisotgram: energy spectrum of primary particles - h3 -> fill(x,energy); -} - -void BrachyAnalysisManager::finish() -{ - // write all histograms to file ... - theTree -> commit(); - - // close (will again commit) ... - theTree -> close(); -} -#endif - - - - - - - - - - - diff --git a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstruction.cc b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstruction.cc deleted file mode 100644 index 4513878c14..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstruction.cc +++ /dev/null @@ -1,264 +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. * -// ******************************************************************** -// -// -------------------------------------------------------------- -// GEANT 4 - Brachytherapy example -// -------------------------------------------------------------- -// -// Code developed by: S.Guatelli -// -// -// **************************************** -// * * -// * BrachyDetectorConstruction.cc * -// * * -// **************************************** -// -// $Id: BrachyDetectorConstruction.cc,v 1.3 2006/06/29 17:32:51 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "BrachyPhantomROGeometry.hh" -#include "BrachyPhantomSD.hh" -#include "BrachyDetectorMessenger.hh" -#include "BrachyDetectorConstruction.hh" -#include "G4CSGSolid.hh" -#include "G4Sphere.hh" -#include "G4MaterialPropertyVector.hh" -#include "G4SDManager.hh" -#include "G4SubtractionSolid.hh" -#include "G4RunManager.hh" -#include "G4MaterialPropertiesTable.hh" -#include "G4Material.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4PVPlacement.hh" -#include "globals.hh" -#include "G4MaterialTable.hh" -#include "Randomize.hh" -#include "G4RunManager.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "G4PVParameterised.hh" -#include "G4Transform3D.hh" -#include "G4RotationMatrix.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4SDManager.hh" -#include "G4Colour.hh" -#include "G4UserLimits.hh" -#include "G4UnionSolid.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" -#include "BrachyMaterial.hh" -#include "BrachyFactoryLeipzig.hh" -#include "BrachyFactoryIr.hh" -#include "BrachyFactoryI.hh" - -BrachyDetectorConstruction::BrachyDetectorConstruction(G4String &SDName) -: detectorChoice(0), phantomSD(0), phantomROGeometry(0), factory(0), - World(0), WorldLog(0), WorldPhys(0), - Phantom(0), PhantomLog(0), PhantomPhys(0), - phantomAbsorberMaterial(0) -{ - phantomDimensionX = 15.*cm ; - phantomDimensionY = 15.*cm; - phantomDimensionZ = 15.*cm; - - numberOfVoxelsAlongX = 300; - numberOfVoxelsAlongZ = 300; - - ComputeDimVoxel(); - - Worldx = 4.0*m; - Worldy = 4.0*m; - Worldz = 4.0*m; - - sensitiveDetectorName = SDName; - - detectorMessenger = new BrachyDetectorMessenger(this); - - factory = new BrachyFactoryIr(); - - pMaterial = new BrachyMaterial(); -} - - -BrachyDetectorConstruction::~BrachyDetectorConstruction() -{ - delete pMaterial; - delete factory; - delete detectorMessenger; - if (phantomROGeometry) delete phantomROGeometry; -} - -G4VPhysicalVolume* BrachyDetectorConstruction::Construct() -{ - pMaterial -> DefineMaterials(); - ConstructPhantom(); - factory ->CreateSource(PhantomPhys); - ConstructSensitiveDetector(); - - return WorldPhys; -} - -void BrachyDetectorConstruction::SwitchBrachytherapicSeed() -{ - factory -> CleanSource(); - delete factory; - switch(detectorChoice) - { - case 1: - factory = new BrachyFactoryI(); - break; - case 2: - factory = new BrachyFactoryLeipzig(); - break; - case 3: - factory = new BrachyFactoryIr(); - break; - default: - factory = new BrachyFactoryIr(); - break; - } - factory -> CreateSource(PhantomPhys); - - // Notify run manager that the new geometry has been built - - G4RunManager::GetRunManager()->DefineWorldVolume( WorldPhys ); -} - -void BrachyDetectorConstruction::SelectBrachytherapicSeed(G4String val) -{ - if(val=="Iodium") - { - detectorChoice = 1; - } - else - { - if(val=="Leipzig") - { - detectorChoice = 2; - } - else - { - if(val=="Iridium") - { - detectorChoice = 3; - } - } - } - G4cout << "Now Detector is " << val << G4endl; -} - -void BrachyDetectorConstruction::ConstructPhantom() -{ - G4Colour lblue (0.0, 0.0, .75); - - G4Material* air = pMaterial -> GetMat("Air") ; - G4Material* water = pMaterial -> GetMat("Water"); - - ComputeDimVoxel(); - - // World volume - World = new G4Box("World",Worldx,Worldy,Worldz); - WorldLog = new G4LogicalVolume(World,air,"WorldLog",0,0,0); - WorldPhys = new G4PVPlacement(0,G4ThreeVector(),"WorldPhys",WorldLog,0,false,0); - - // Water Box - Phantom = new G4Box("Phantom",phantomDimensionX,phantomDimensionY,phantomDimensionZ); - PhantomLog = new G4LogicalVolume(Phantom,water,"PhantomLog",0,0,0); - PhantomPhys = new G4PVPlacement(0,G4ThreeVector(),"PhantomPhys",PhantomLog,WorldPhys,false,0); - - WorldLog->SetVisAttributes (G4VisAttributes::Invisible); - - G4VisAttributes* simpleBoxVisAtt = new G4VisAttributes(lblue); - simpleBoxVisAtt -> SetVisibility(true); - simpleBoxVisAtt -> SetForceWireframe(true); - PhantomLog -> SetVisAttributes(simpleBoxVisAtt); -} - -void BrachyDetectorConstruction::ConstructSensitiveDetector() -// Sensitive Detector and ReadOut geometry definition -{ - G4SDManager* pSDManager = G4SDManager::GetSDMpointer(); - - if(!phantomSD) - { - phantomSD = new BrachyPhantomSD(sensitiveDetectorName, - numberOfVoxelsAlongX, - numberOfVoxelsAlongZ); - G4String ROGeometryName = "PhantomROGeometry"; - phantomROGeometry = new BrachyPhantomROGeometry(ROGeometryName, - phantomDimensionX, - phantomDimensionZ, - numberOfVoxelsAlongX, - numberOfVoxelsAlongZ); - phantomROGeometry -> BuildROGeometry(); - phantomSD -> SetROgeometry(phantomROGeometry); - pSDManager -> AddNewDetector(phantomSD); - PhantomLog -> SetSensitiveDetector(phantomSD); - } -} - -void BrachyDetectorConstruction::PrintDetectorParameters() -{ - G4cout << "-----------------------------------------------------------------------" - << G4endl - << "the detector is a box whose size is: " << G4endl - << phantomDimensionX/cm - << " cm * " - << phantomDimensionY/cm - << " cm * " - << phantomDimensionZ/cm - << " cm" << G4endl - << "numVoxel: " - << numberOfVoxelsAlongX < GetName() < SetMaterial(pttoMaterial); - PrintDetectorParameters(); - } - else - G4cout << "WARNING: material '" << materialChoice - << "' not available!" << G4endl; -} diff --git a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionI.cc b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionI.cc deleted file mode 100644 index 2f5fd7e703..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionI.cc +++ /dev/null @@ -1,190 +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. * -// ******************************************************************** -// -// -// -------------------------------------------------------------- -// GEANT 4 - Brachytherapy example -// -------------------------------------------------------------- -// -// Code developed by: S.Guatelli -// -/// **************************************** -// * * -// * BrachyDetectorConstructionI.cc * -// * * -// **************************************** -// -// $Id: BrachyDetectorConstructionI.cc,v 1.3 2006/06/29 17:32:54 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "globals.hh" -#include "BrachyDetectorConstructionI.hh" -#include "G4CSGSolid.hh" -#include "G4Sphere.hh" -#include "G4MaterialPropertyVector.hh" -#include "G4SDManager.hh" -#include "G4SubtractionSolid.hh" -#include "G4RunManager.hh" -#include "G4MaterialPropertiesTable.hh" -#include "G4Material.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4PVPlacement.hh" -#include "G4MaterialTable.hh" -#include "Randomize.hh" -#include "G4RunManager.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "G4PVParameterised.hh" -#include "G4Transform3D.hh" -#include "G4RotationMatrix.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4UnionSolid.hh" -#include "BrachyMaterial.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -BrachyDetectorConstructionI::BrachyDetectorConstructionI() -: defaultTub(0), defaultTubLog(0), defaultTubPhys(0), - capsule(0), capsuleLog(0), capsulePhys(0), - capsuleTip(0), capsuleTipLog(0),capsuleTipPhys1(0), - capsuleTipPhys2(0), iodiumCore(0), iodiumCoreLog(0), - iodiumCorePhys(0), marker(0), markerLog(0), markerPhys(0) -{ - pMaterial = new BrachyMaterial(); -} - -BrachyDetectorConstructionI::~BrachyDetectorConstructionI() -{ - delete pMaterial; -} - -void BrachyDetectorConstructionI::ConstructIodium(G4VPhysicalVolume* mother) -{ - // source Bebig Isoseed I-125 ... - - //Get materials for source construction ... - G4Material* titanium = pMaterial -> GetMat("titanium"); - G4Material* air = pMaterial -> GetMat("Air"); - G4Material* iodium = pMaterial -> GetMat("Iodium"); - G4Material* gold = pMaterial -> GetMat("gold"); - - G4Colour red (1.0, 0.0, 0.0) ; - G4Colour magenta (1.0, 0.0, 1.0) ; - G4Colour lblue (0.0, 0.0, .75); - - defaultTub = new G4Tubs("DefaultTub",0.*mm,0.40*mm,1.84*mm,0.*deg,360.*deg); - defaultTubLog = new G4LogicalVolume(defaultTub,air,"DefaultTub_Log"); - defaultTubPhys = new G4PVPlacement(0, - G4ThreeVector(), - "defaultTub_Phys", - defaultTubLog, - mother, - false, - 0); - // Capsule main body ... - - G4double capsuleR = 0.35*mm; - capsule = new G4Tubs("Capsule", capsuleR,0.40*mm,1.84*mm,0.*deg,360.*deg); - capsuleLog = new G4LogicalVolume(capsule,titanium,"CapsuleLog"); - capsulePhys = new G4PVPlacement(0, - G4ThreeVector(), - "CapsulePhys", - capsuleLog, - defaultTubPhys, - false, - 0); - // Capsule tips - - capsuleTip = new G4Sphere("CapsuleTip", - 0.*mm, - 0.40*mm, - 0.*deg, - 360.*deg, - 0.*deg, - 90.*deg); - capsuleTipLog = new G4LogicalVolume(capsuleTip,titanium,"CapsuleTipLog"); - capsuleTipPhys1 = new G4PVPlacement(0, - G4ThreeVector(0.,0.,1.84*mm), - "CapsuleTipPhys1", - capsuleTipLog, - mother, - false, - 0); - - G4RotationMatrix* rotateMatrix = new G4RotationMatrix(); - rotateMatrix -> rotateX(180.0*deg); - capsuleTipPhys2 = new G4PVPlacement(rotateMatrix, - G4ThreeVector(0,0,-1.84*mm), - "CapsuleTipPhys2", - capsuleTipLog, - mother, - false, - 0); - - // radiactive core ... - iodiumCore = new G4Tubs("ICore",0.085*mm,0.35*mm,1.75*mm,0.*deg,360.*deg); - iodiumCoreLog = new G4LogicalVolume(iodiumCore,iodium,"iodiumCoreLog"); - iodiumCorePhys = new G4PVPlacement(0, - G4ThreeVector(0.,0.,0.), - "iodiumCorePhys", - iodiumCoreLog, - defaultTubPhys, - false, - 0); - // golden marker - marker = new G4Tubs("GoldenMarker",0.*mm,0.085*mm,1.75*mm,0.*deg,360.*deg); - markerLog = new G4LogicalVolume(marker,gold,"MarkerLog"); - markerPhys = new G4PVPlacement(0, - G4ThreeVector(0.,0.,0.), - "MarkerPhys", - markerLog, - defaultTubPhys, - false, - 0); - // Visual attributes ... - G4VisAttributes* simpleMarkerVisAtt = new G4VisAttributes(lblue); - simpleMarkerVisAtt -> SetVisibility(true); - simpleMarkerVisAtt -> SetForceSolid(true); - markerLog -> SetVisAttributes(simpleMarkerVisAtt); - - G4VisAttributes* simpleiodiumVisAtt = new G4VisAttributes(magenta); - simpleiodiumVisAtt -> SetVisibility(true); - simpleiodiumVisAtt -> SetForceWireframe(true); - iodiumCoreLog -> SetVisAttributes(simpleiodiumVisAtt); - - G4VisAttributes* simpleCapsuleVisAtt = new G4VisAttributes(red); - simpleCapsuleVisAtt -> SetVisibility(true); - simpleCapsuleVisAtt -> SetForceWireframe(true); - capsuleLog -> SetVisAttributes(simpleCapsuleVisAtt); - - G4VisAttributes* simpleCapsuleTipVisAtt = new G4VisAttributes(red); - simpleCapsuleTipVisAtt -> SetVisibility(true); - simpleCapsuleTipVisAtt -> SetForceSolid(true); - capsuleTipLog -> SetVisAttributes(simpleCapsuleTipVisAtt); -} diff --git a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionIr.cc b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionIr.cc deleted file mode 100644 index 59400ddfe8..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionIr.cc +++ /dev/null @@ -1,191 +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. * -// ******************************************************************** -// -// -// -------------------------------------------------------------- -// GEANT 4 - Brachytherapy example -// -------------------------------------------------------------- -// -// Code developed by: S.Guatelli -// -// **************************************** -// * * -// * BrachyDetectorConstructionIr.cc * -// * * -// **************************************** -// -// $Id: BrachyDetectorConstructionIr.cc,v 1.3 2006/06/29 17:32:56 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "globals.hh" -#include "BrachyDetectorConstructionIr.hh" -#include "G4CSGSolid.hh" -#include "G4Sphere.hh" -#include "G4MaterialPropertyVector.hh" -#include "G4SDManager.hh" -#include "G4SubtractionSolid.hh" -#include "G4RunManager.hh" -#include "G4MaterialPropertiesTable.hh" -#include "G4Material.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4PVPlacement.hh" -#include "G4MaterialTable.hh" -#include "Randomize.hh" -#include "G4RunManager.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "G4PVParameterised.hh" -#include "G4Transform3D.hh" -#include "G4RotationMatrix.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4UnionSolid.hh" -#include "BrachyMaterial.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -BrachyDetectorConstructionIr::BrachyDetectorConstructionIr() - : capsule(0), capsuleLog(0), capsulePhys(0), - capsuleTip(0), capsuleTipLog(0), capsuleTipPhys(0), - iridiumCore(0), iridiumCoreLog(0), iridiumCorePhys(0), - simpleCapsuleVisAtt(0), simpleCapsuleTipVisAtt(0), simpleIridiumVisAtt(0) -{ - pMat = new BrachyMaterial(); -} - -BrachyDetectorConstructionIr::~BrachyDetectorConstructionIr() -{ - delete pMat; -} - -void BrachyDetectorConstructionIr::ConstructIridium(G4VPhysicalVolume* mother) -{ - G4Colour red (1.0, 0.0, 0.0) ; - G4Colour magenta (1.0, 0.0, 1.0) ; - - G4Material* capsuleMat = pMat -> GetMat("Stainless steel"); - G4Material* iridiumMat = pMat -> GetMat("Iridium"); - - // Capsule main body - capsule = new G4Tubs("Capsule",0,0.55*mm,3.725*mm,0.*deg,360.*deg); - capsuleLog = new G4LogicalVolume(capsule,capsuleMat,"CapsuleLog"); - capsulePhys= new G4PVPlacement(0, - G4ThreeVector(0,0,-1.975*mm), - "CapsulePhys", - capsuleLog, - mother, - false, - 0); - - // Capsule tip - capsuleTip = new G4Sphere("CapsuleTipIridium", - 0.*mm, - 0.55*mm, - 0.*deg, - 360.*deg, - 0.*deg, - 90.*deg); - capsuleTipLog = new G4LogicalVolume(capsuleTip, - capsuleMat, - "CapsuleTipIridumLog"); - capsuleTipPhys = new G4PVPlacement(0, - G4ThreeVector(0.,0.,1.75*mm), - "CapsuleTipIridiumPhys", - capsuleTipLog, - mother, - false, - 0); - - // Iridium core - - iridiumCore = new G4Tubs("IrCore",0,0.30*mm,1.75*mm,0.*deg,360.*deg); - iridiumCoreLog = new G4LogicalVolume(iridiumCore, - iridiumMat, - "IridiumCoreLog"); - iridiumCorePhys = new G4PVPlacement(0, - G4ThreeVector(), - "IridiumCorePhys", - iridiumCoreLog, - capsulePhys, - false, - 0); - - simpleCapsuleVisAtt = new G4VisAttributes(red); - simpleCapsuleVisAtt -> SetVisibility(true); - simpleCapsuleVisAtt -> SetForceWireframe(true); - capsuleLog -> SetVisAttributes(simpleCapsuleVisAtt); - - simpleCapsuleTipVisAtt = new G4VisAttributes(red); - simpleCapsuleTipVisAtt -> SetVisibility(true); - simpleCapsuleTipVisAtt -> SetForceSolid(true); - capsuleTipLog -> SetVisAttributes(simpleCapsuleTipVisAtt); - - simpleIridiumVisAtt = new G4VisAttributes(magenta); - simpleIridiumVisAtt -> SetVisibility(true); - simpleIridiumVisAtt -> SetForceWireframe(true); - iridiumCoreLog -> SetVisAttributes(simpleIridiumVisAtt); -} - -void BrachyDetectorConstructionIr::CleanIridium() -{ - - delete simpleIridiumVisAtt; - simpleIridiumVisAtt = 0; - - delete iridiumCorePhys; - iridiumCorePhys = 0; - - delete iridiumCore; - iridiumCore = 0; - - delete iridiumCoreLog; - iridiumCoreLog = 0 ; - - delete simpleCapsuleTipVisAtt; - simpleCapsuleTipVisAtt = 0; - - delete capsuleTipPhys; - capsuleTipPhys = 0; - - delete capsuleTip; - capsuleTip = 0; - delete capsuleTipLog; - capsuleTipLog = 0; - - delete simpleCapsuleVisAtt; - simpleCapsuleVisAtt = 0; - - delete capsulePhys; - capsulePhys = 0; - - delete capsule; - capsule = 0; - - delete capsuleLog; - capsuleLog = 0; -} diff --git a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionLeipzig.cc b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionLeipzig.cc deleted file mode 100644 index cae7edd342..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionLeipzig.cc +++ /dev/null @@ -1,166 +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. * -// ******************************************************************** -// -// -// -------------------------------------------------------------- -// GEANT 4 - Brachytherapy example -// -------------------------------------------------------------- -// -// Code developed by: S.Guatelli -// -// ******************************************* -// * * -// * BrachyDetectorConstructionLeipzig.cc * -// * * -// ******************************************* -// -// -// $Id: BrachyDetectorConstructionLeipzig.cc,v 1.3 2006/06/29 17:32:59 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "globals.hh" -#include "BrachyDetectorConstructionLeipzig.hh" -#include "G4CSGSolid.hh" -#include "G4Sphere.hh" -#include "G4MaterialPropertyVector.hh" -#include "G4SDManager.hh" -#include "G4SubtractionSolid.hh" -#include "G4RunManager.hh" -#include "G4MaterialPropertiesTable.hh" -#include "G4Material.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4PVPlacement.hh" -#include "G4MaterialTable.hh" -#include "Randomize.hh" -#include "G4RunManager.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "G4PVParameterised.hh" -#include "G4Transform3D.hh" -#include "G4RotationMatrix.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -#include "G4UnionSolid.hh" -#include "BrachyMaterial.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -// Leipzig Applicator ... - -BrachyDetectorConstructionLeipzig::BrachyDetectorConstructionLeipzig() -: capsule(0), capsuleLog(0), capsulePhys(0), - capsuleTip(0), capsuleTipLog(0), capsuleTipPhys(0), - iridiumCore(0), iridiumCoreLog(0), iridiumCorePhys(0), - applicator1(0), applicator1Log(0), applicator1Phys(0), - applicator2(0), applicator2Log(0), applicator2Phys(0) -{ - pMaterial = new BrachyMaterial(); -} - -BrachyDetectorConstructionLeipzig::~BrachyDetectorConstructionLeipzig() -{ - delete pMaterial; -} - -void BrachyDetectorConstructionLeipzig::ConstructLeipzig(G4VPhysicalVolume* mother) -{ - G4Colour red (1.0, 0.0, 0.0) ; - - G4Material* capsuleMat = pMaterial -> GetMat("Stainless steel"); - G4Material* iridium = pMaterial -> GetMat("Iridium"); - G4Material* tungsten =pMaterial -> GetMat("Tungsten"); - - //Iridium source ... - - capsule = new G4Tubs("Capsule",0,0.55*mm,3.725*mm,0.*deg,360.*deg); - capsuleLog = new G4LogicalVolume(capsule,capsuleMat,"CapsuleLog"); - capsulePhys = new G4PVPlacement(0, - G4ThreeVector(0,0,-1.975*mm), - "CapsulePhys", - capsuleLog, - mother, //mother volume: phantom - false, - 0); - - // Capsule tip - capsuleTip = new G4Sphere("CapsuleTip",0.*mm,0.55*mm,0.*deg,360.*deg,0.*deg,90.*deg); - capsuleTipLog = new G4LogicalVolume(capsuleTip,capsuleMat,"CapsuleTipLog"); - capsuleTipPhys = new G4PVPlacement(0, - G4ThreeVector(0.,0.,1.75*mm), - "CapsuleTipPhys", - capsuleTipLog, - mother, - false, - 0); - // Iridium core - - iridiumCore = new G4Tubs("IrCore",0,0.30*mm,1.75*mm,0.*deg,360.*deg); - iridiumCoreLog = new G4LogicalVolume(iridiumCore, - iridium, - "IridiumCoreLog"); - iridiumCorePhys = new G4PVPlacement(0, - G4ThreeVector(0.,0.,1.975*mm), - "IridiumCorePhys", - iridiumCoreLog, - capsulePhys, - false, - 0); - // Applicator - //Leipzig Applicator is given by two different volumes - - applicator1 = new G4Tubs("Appl1",5*mm,10.5*mm,12*mm,0.*deg,360.*deg); - applicator1Log = new G4LogicalVolume(applicator1,tungsten,"Appl1Log"); - applicator1Phys = new G4PVPlacement(0, - G4ThreeVector(0,0,4.0*mm), - "Appl1Phys", - applicator1Log, - mother, - false, - 0); - - applicator2 = new G4Tubs("Appl2",0.55*mm,5.*mm,3.125*mm,0.*deg,360.*deg); - applicator2Log = new G4LogicalVolume(applicator2,tungsten,"Appl2"); - applicator2Phys = new G4PVPlacement(0, - G4ThreeVector(0,0,-4.875*mm), - "Appl2Phys", - applicator2Log, - mother, - false, - 0); - - G4VisAttributes* simpleCapsuleVisAtt = new G4VisAttributes(red); - simpleCapsuleVisAtt -> SetVisibility(true); - simpleCapsuleVisAtt -> SetForceSolid(true); - capsuleLog -> SetVisAttributes(simpleCapsuleVisAtt); - - G4VisAttributes* simpleCapsuleTipVisAtt = new G4VisAttributes(red); - simpleCapsuleTipVisAtt -> SetVisibility(true); - simpleCapsuleTipVisAtt -> SetForceSolid(true); - capsuleTipLog -> SetVisAttributes(simpleCapsuleTipVisAtt); -} diff --git a/examples/extended/parallel/ExDiane/src/BrachyDetectorMessenger.cc b/examples/extended/parallel/ExDiane/src/BrachyDetectorMessenger.cc deleted file mode 100644 index 47ca236ed7..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyDetectorMessenger.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. * -// ******************************************************************** -// -// -// Code developed by: -// S.Guatelli -// -// ********************************* -// * * -// * BrachyDetectorMessenger.cc * -// * * -// ********************************* -// -// -// $Id: BrachyDetectorMessenger.cc,v 1.3 2006/06/29 17:33:01 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -#include "BrachyDetectorMessenger.hh" -#include "BrachyFactoryIr.hh" -#include "BrachyRunAction.hh" -#include "BrachyDetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" -#include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" -#include "G4UIcmdWithoutParameter.hh" - -BrachyDetectorMessenger::BrachyDetectorMessenger( BrachyDetectorConstruction* Det): detector(Det) -{ - detectorDir = new G4UIdirectory("/phantom/"); - detectorDir -> SetGuidance(" phantom control."); - - phantomMaterialCmd = new G4UIcmdWithAString("/phantom/selectMaterial",this); - phantomMaterialCmd -> SetGuidance("Select Material of the detector."); - phantomMaterialCmd -> SetParameterName("choice",false); - phantomMaterialCmd -> AvailableForStates(G4State_Idle); - - sourceCmd = new G4UIcmdWithAString("/source/switch",this); - sourceCmd -> SetGuidance("Assign the selected geometry to G4RunManager."); - sourceCmd -> SetParameterName("choice",true); - sourceCmd -> SetDefaultValue(" "); - sourceCmd -> SetCandidates("Iridium Iodium Leipzig "); - sourceCmd -> AvailableForStates(G4State_PreInit,G4State_Idle); - } - -BrachyDetectorMessenger::~BrachyDetectorMessenger() -{ - delete sourceCmd; - delete phantomMaterialCmd; - delete detectorDir; -} - -void BrachyDetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == phantomMaterialCmd ) - { detector -> SetPhantomMaterial(newValue);} - - if( command == sourceCmd ) - { - if(newValue=="Iodium" || newValue=="Iridium"|| newValue=="Leipzig") - { - detector -> SelectBrachytherapicSeed(newValue); - detector -> SwitchBrachytherapicSeed(); - } - } -} - diff --git a/examples/extended/parallel/ExDiane/src/BrachyEventAction.cc b/examples/extended/parallel/ExDiane/src/BrachyEventAction.cc deleted file mode 100644 index 7ed4ee8313..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyEventAction.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. * -// ******************************************************************** -// -// Code developed by: -// S.Guatelli -// -// ******************************* -// * * -// * BrachyEventAction.cc * -// * * -// ******************************* -// -// $Id: BrachyEventAction.cc,v 1.3 2006/06/29 17:33:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "BrachyEventAction.hh" -#include "G4Event.hh" -#include "G4EventManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" -#include "G4UImanager.hh" -#include "G4ios.hh" -#include "G4VVisManager.hh" - -BrachyEventAction::BrachyEventAction(): - drawFlag("all" ) -{ -} - -BrachyEventAction::~BrachyEventAction() -{ -} - -void BrachyEventAction::BeginOfEventAction(const G4Event*) -{ -} - -void BrachyEventAction::EndOfEventAction(const G4Event* evt) -{ - // extract the trajectories and draw them ... - - if (G4VVisManager::GetConcreteInstance()) - { - G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); - - for (G4int i=0; i 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/extended/parallel/ExDiane/src/BrachyMaterial.cc b/examples/extended/parallel/ExDiane/src/BrachyMaterial.cc deleted file mode 100644 index 584e603555..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyMaterial.cc +++ /dev/null @@ -1,240 +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. * -// ******************************************************************** -// -// Code developed by: -// S.Guatelli -// -// ******************************* -// * * -// * BrachyMaterial.cc * -// * * -// ******************************* -// -// $Id: BrachyMaterial.cc,v 1.3 2006/06/29 17:33:21 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "G4MaterialPropertiesTable.hh" -#include "G4MaterialPropertyVector.hh" -#include "globals.hh" -#include "G4MaterialTable.hh" -#include "Randomize.hh" -#include "G4RunManager.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "BrachyMaterial.hh" - -BrachyMaterial::BrachyMaterial() -{;} - -BrachyMaterial::~BrachyMaterial() -{;} - -void BrachyMaterial::DefineMaterials() -{ - // Define required materials - - G4double A; // atomic mass - G4double Z; // atomic number - G4double d; // density - - // General 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=26.98*g/mole; - G4Element* elAl = new G4Element("Aluminum","Al", Z = 13.,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 = 54.94*g/mole; - G4Element* elMn = new G4Element("Manganese","Mn",Z = 25.,A); - - A = 28.09*g/mole; - G4Element* elSi = new G4Element("Silicon","Si",Z = 14.,A); - - A = 52.00*g/mole; - G4Element* elCr = new G4Element("Chromium","Cr",Z = 24.,A); - - A = 58.70*g/mole; - G4Element* elNi = new G4Element("Nickel","Ni",Z = 28.,A); - - A = 55.85*g/mole; - G4Element* elFe = new G4Element("Iron","Fe",Z = 26.,A); - - A = 183.84* g/mole; - d = 19.3*g/cm3; - matW = new G4Material("Tungsten",Z = 74.,A,d); - - // Perspex, plexiglass, lucite - d = 1.19*g/cm3; - matplexiglass = new G4Material("Plexiglass",d,3); - matplexiglass -> AddElement(elH,0.08); - matplexiglass -> AddElement(elC,0.60); - matplexiglass -> AddElement(elO,0.32); - - // Lead material - A = 207.19*g/mole; - Z = 82; - d = 11.35*g/cm3; - matPb = new G4Material("Lead",Z,A,d); - - // Iridium (Medical Physics, Vol 25, No 10, Oct 1998) - d = 22.42*g/cm3; - A = 191.96260*g/mole ; - Z = 77; - matir192 = new G4Material("Iridium",Z,A,d); - - //titanium - A = 47.88*g/mole; - d = 4.50*g/cm3; - Titanium = new G4Material("titanium" ,Z = 22.,A,d); - - // Air material - d = 1.290*mg/cm3; - G4Material* matAir = new G4Material("Air",d,2); - matAir -> AddElement(elN,0.7); - matAir -> AddElement(elO,0.3); - - // Water - d = 1.000*g/cm3; - matH2O = new G4Material("Water",d,2); - matH2O -> AddElement(elH,2); - matH2O -> AddElement(elO,1); - matH2O -> GetIonisation() -> SetMeanExcitationEnergy(75.0*eV); - - - //soft tissue(http://www.nist.gov) - d = 1.0*g/cm3; - soft = new G4Material("tissue",d,13); - 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); - - // Stainless steel (Medical Physics, Vol 25, No 10, Oct 1998) - d = 8.02*g/cm3 ; - matsteel = new G4Material("Stainless steel",d,5); - matsteel -> AddElement(elMn, 0.02); - matsteel -> AddElement(elSi, 0.01); - matsteel -> AddElement(elCr, 0.19); - matsteel -> AddElement(elNi, 0.10); - matsteel -> AddElement(elFe, 0.68); - - //gold(chimica degli elementi N.N Greenwood,A.Earnshaw) - A = 196.97*g/mole; - d = 19.32*g/cm3; - gold = new G4Material("gold",Z = 79.,A,d); - - //IodiumCore(chimica degli elementi N.N Greenwood,A.Earnshaw) - A = 124.9*g/mole; - d = 4.862*g/cm3; - matI = new G4Material("Iodium",Z = 53.,A,d); - - //ceramic(Medical Physics, May 2000) - d = 2.88*g/cm3; - ceramic = new G4Material("allumina",d,2); - ceramic -> AddElement(elAl,2); - ceramic -> AddElement(elO,3); - - G4double density = universe_mean_density; - G4double pressure = 3.e-18*pascal; - G4double temperature = 2.73*kelvin; - A=1.01*g/mole; - Vacuum = new G4Material("Galactic", Z = 1., A, - density,kStateGas,temperature,pressure); - - //compact bone (http://www.NIST.gov) - d = 1.85*g/cm3; - bone = new G4Material("bone",d,8); - 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(http://www.NIST.gov) - muscle = new G4Material("muscle",d,9); - 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* BrachyMaterial::GetMat(G4String material) -{ - G4Material* pttoMaterial = G4Material::GetMaterial(material); - return pttoMaterial; -} diff --git a/examples/extended/parallel/ExDiane/src/BrachyPhantomROGeometry.cc b/examples/extended/parallel/ExDiane/src/BrachyPhantomROGeometry.cc deleted file mode 100644 index 3bb998a000..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyPhantomROGeometry.cc +++ /dev/null @@ -1,188 +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. * -// ******************************************************************** -// -// -// Code developed by: S.Guatelli -// -// ************************************ -// * * -// * BrachyPhantomROGeometry.cc * -// * * -// ************************************ -// -// $Id: BrachyPhantomROGeometry.cc,v 1.3 2006/06/29 17:33:25 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "BrachyPhantomROGeometry.hh" -#include "BrachyDummySD.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" - -BrachyPhantomROGeometry::BrachyPhantomROGeometry(G4String aString, - G4double phantomDimX, - G4double phantomDimZ, - G4int numberOfVoxelsX, - G4int numberOfVoxelsZ): - G4VReadOutGeometry(aString), - phantomDimensionX(phantomDimX), - phantomDimensionZ(phantomDimZ), - numberOfVoxelsAlongX(numberOfVoxelsX), - numberOfVoxelsAlongZ(numberOfVoxelsZ) -{ -} - -BrachyPhantomROGeometry::~BrachyPhantomROGeometry() -{ -} - -G4VPhysicalVolume* BrachyPhantomROGeometry::Build() -{ - - // A dummy material is used to fill the volumes of the readout geometry. - // (It will be allowed to set a NULL pointer in volumes of such virtual - // division in future, since this material is irrelevant for tracking.) - - G4Material* dummyMat = new G4Material(name="dummyMat", 1., 1.*g/mole, 1.*g/cm3); - - G4double worldDimensionX = 4.0*m; - G4double worldDimensionY = 4.0*m; - G4double worldDimensionZ = 4.0*m; - - G4double halfPhantomDimensionX = phantomDimensionX; - G4double halfPhantomDimensionZ = phantomDimensionZ; - G4double halfPhantomDimensionY = phantomDimensionX; - - // variables for x division ... - G4double halfXVoxelDimensionX = halfPhantomDimensionX/numberOfVoxelsAlongX; - G4double halfXVoxelDimensionZ = halfPhantomDimensionZ; - G4double voxelXThickness = 2*halfXVoxelDimensionX; - - // world volume of ROGeometry ... - G4Box *ROWorld = new G4Box("ROWorld", - worldDimensionX, - worldDimensionY, - worldDimensionZ); - - G4LogicalVolume *ROWorldLog = new G4LogicalVolume(ROWorld, - dummyMat, - "ROWorldLog", - 0,0,0); - - G4VPhysicalVolume *ROWorldPhys = new G4PVPlacement(0, - G4ThreeVector(), - "ROWorldPhys", - ROWorldLog, - 0,false,0); - - // phantom ROGeometry ... - G4Box *ROPhantom = new G4Box("ROPhantom", - halfPhantomDimensionX, - halfPhantomDimensionY, - halfPhantomDimensionZ); - - G4LogicalVolume *ROPhantomLog = new G4LogicalVolume(ROPhantom, - dummyMat, - "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, - dummyMat, - "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, - dummyMat, - "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, - dummyMat, - "ROPhantomYDivisionLog", - 0,0,0); - - ROPhantomYDivisionPhys = new G4PVReplica("ROPhantomYDivisionPhys", - ROPhantomYDivisionLog, - ROPhantomZDivisionPhys, - kYAxis, - numberOfVoxelsAlongZ, - voxelXThickness); - BrachyDummySD *dummySD = new BrachyDummySD; - ROPhantomYDivisionLog -> SetSensitiveDetector(dummySD); - - return ROWorldPhys; -} - - - diff --git a/examples/extended/parallel/ExDiane/src/BrachyPhantomSD.cc b/examples/extended/parallel/ExDiane/src/BrachyPhantomSD.cc deleted file mode 100644 index d7c7f46190..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyPhantomSD.cc +++ /dev/null @@ -1,123 +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. * -// ******************************************************************** -// -// -// Code developed by: S.Guatelli -// -// ******************************** -// * * -// * BrachyPhantomSD.cc * -// * * -// ******************************** -// -// $Id: BrachyPhantomSD.cc,v 1.4 2006/06/29 17:33:27 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "BrachyPhantomSD.hh" -#include "BrachyPhantomHit.hh" -#include "BrachyAnalysisManager.hh" -#include "BrachyDetectorConstruction.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" - -BrachyPhantomSD::BrachyPhantomSD(G4String name, G4int NumVoxelX, G4int NumVoxelZ) - :G4VSensitiveDetector(name),numberOfVoxelsX(NumVoxelX), - numberOfVoxelsZ(NumVoxelZ) -{ -} - -BrachyPhantomSD::~BrachyPhantomSD() -{ -} - -void BrachyPhantomSD::Initialize(G4HCofThisEvent*) -{ -} - -G4bool BrachyPhantomSD::ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist) -{ - if(!ROhist) - return false; - - if(aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() != "PhantomPhys") - return false; - - G4double energyDeposit = aStep -> GetTotalEnergyDeposit(); - if(energyDeposit == 0.) - return false; - - if(energyDeposit != 0) - { -#ifdef G4ANALYSIS_USE - // 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 = 300; - G4double voxelWidthZ = 1. *mm; - - G4double x = (- numberOfVoxelZ+1+2*i)*voxelWidthZ/2; - G4double y = (- numberOfVoxelZ+1+2*j)*voxelWidthZ/2; - G4double z = (- numberOfVoxelZ+1+2*k)*voxelWidthZ/2; - - BrachyAnalysisManager* analysis = - BrachyAnalysisManager::getInstance(); - if (y < 0.8*mm && y > -0.8*mm) - { - analysis -> FillHistogramWithEnergy(x,z,energyDeposit/MeV); - - if (z < 0.8*mm && z > -0.8*mm) - analysis -> DoseDistribution(x,energyDeposit/MeV); - } -#endif - } - return true; -} - -void BrachyPhantomSD::EndOfEvent(G4HCofThisEvent*) -{ -} - -void BrachyPhantomSD::clear() -{ -} - -void BrachyPhantomSD::DrawAll() -{ -} - -void BrachyPhantomSD::PrintAll() -{ -} - - - diff --git a/examples/extended/parallel/ExDiane/src/BrachyPhysicsList.cc b/examples/extended/parallel/ExDiane/src/BrachyPhysicsList.cc deleted file mode 100644 index 53448f542b..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyPhysicsList.cc +++ /dev/null @@ -1,162 +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. * -// ******************************************************************** -// -// -// Code developed by: S.Guatelli -// -// ********************************** -// * * -// * BrachyPhysicsList.cc * -// * * -// ********************************** -// -// $Id: BrachyPhysicsList.cc,v 1.3 2006/06/29 17:33:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "BrachyPhysicsList.hh" - -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" -#include "G4Material.hh" -#include "G4UnitsTable.hh" -#include "G4ios.hh" - - -BrachyPhysicsList::BrachyPhysicsList(): G4VUserPhysicsList() -{ - defaultCutValue = 0.1*mm; - cutForGamma = defaultCutValue; - cutForElectron = defaultCutValue; - cutForPositron = defaultCutValue; - - SetVerboseLevel(1); -} - -BrachyPhysicsList::~BrachyPhysicsList() -{ -} - -void BrachyPhysicsList::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 BrachyPhysicsList::ConstructBosons() -{ - // gamma - G4Gamma::GammaDefinition(); - -} - -void BrachyPhysicsList::ConstructLeptons() -{ - // leptons - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); -} - -void BrachyPhysicsList::ConstructProcess() -{ - AddTransportation(); - ConstructEM(); -} - -#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" - -void BrachyPhysicsList::ConstructEM() -{ - theParticleIterator -> reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* pmanager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - - //processes - - if (particleName == "gamma") { - //gamma - lowePhot = new G4LowEnergyPhotoElectric("LowEnPhotoElec"); - pmanager -> AddDiscreteProcess(new G4LowEnergyRayleigh); - pmanager -> AddDiscreteProcess(lowePhot); - pmanager -> AddDiscreteProcess(new G4LowEnergyCompton); - pmanager -> AddDiscreteProcess(new G4LowEnergyGammaConversion); - - } else if (particleName == "e-") { - //electron - loweIon = new G4LowEnergyIonisation("LowEnergyIoni"); - loweBrem = new G4LowEnergyBremsstrahlung("LowEnBrem"); - loweBrem -> SetAngularGenerator("tsai"); - - pmanager -> AddProcess(new G4MultipleScattering, -1, 1,1); - pmanager -> AddProcess(loweIon, -1, 2,2); - pmanager -> AddProcess(loweBrem, -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); - - } - } -} - -void BrachyPhysicsList::SetCuts() -{ - if (verboseLevel >0){ - G4cout << "BrachyPhysicsList::SetCuts:"; - G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; - } - - SetCutValue(cutForGamma, "gamma"); - SetCutValue(cutForElectron, "e-"); - SetCutValue(cutForPositron, "e+"); - - if (verboseLevel>0) DumpCutValuesTable(); -} - - diff --git a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionI.cc b/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionI.cc deleted file mode 100644 index 4b8a28946b..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionI.cc +++ /dev/null @@ -1,147 +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. * -// ******************************************************************** -// -// -// -------------------------------------------------------------- -// GEANT 4 - Brachytherapy example -// -------------------------------------------------------------- -// -// Code developed by: S.Guatelli -// -// ******************************************** -// * * -// * BrachyPrimaryGeneratorActionI.cc * -// * * -// ******************************************** -// -// $Id: BrachyPrimaryGeneratorActionI.cc,v 1.4 2006/06/29 17:33:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "BrachyPrimaryGeneratorActionI.hh" - -#ifdef G4ANALYSIS_USE -#include "BrachyAnalysisManager.hh" -#endif - -#include "globals.hh" -#include "G4ParticleTable.hh" -#include "Randomize.hh" -#include "G4Event.hh" -#include "G4ParticleGun.hh" -#include "G4IonTable.hh" -#include "G4UImanager.hh" -#include "G4RunManager.hh" - -BrachyPrimaryGeneratorActionI::BrachyPrimaryGeneratorActionI() -{ - G4int numberParticles = 1; - - particleGun = new G4ParticleGun(numberParticles); - - // Gamma energy spectrum ... - energySpectrum.push_back(0.783913); - energySpectrum.push_back(0.170416); - energySpectrum.push_back(0.045671); -} - -BrachyPrimaryGeneratorActionI::~BrachyPrimaryGeneratorActionI() -{ - if(particleGun) - delete particleGun; -} - -void BrachyPrimaryGeneratorActionI::GeneratePrimaries(G4Event* anEvent) -{ -#ifdef G4ANALYSIS_USE - BrachyAnalysisManager* analysis = BrachyAnalysisManager::getInstance(); -#endif - - G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); - G4String ParticleName = "gamma"; - G4ParticleDefinition* particle = particleTable -> FindParticle(ParticleName); - - particleGun->SetParticleDefinition(particle); - - // Random generation of gamma source point inside the Iodium core ... - G4double x,y,z; - G4double radiuMax = 0.30*mm; - G4double radiusMin = 0.085*mm; - - do{ - x = (G4UniformRand()-0.5)*(radiuMax)/0.5; - y = (G4UniformRand()-0.5)*(radiuMax)/0.5; - }while(((x*x+y*y )> (radiuMax*radiuMax))||((x*x+y*y)<(radiusMin*radiusMin))); - - z = (G4UniformRand()-0.5)*1.75*mm/0.5 ; - - G4ThreeVector position(x,y,z); - particleGun -> SetParticlePosition(position); - - // Random generation of the impulse direction of primary particles ... - G4double a,b,c; - G4double n; - do{ - a = (G4UniformRand()-0.5)/0.5; - b = (G4UniformRand()-0.5)/0.5; - c = (G4UniformRand()-0.5)/0.5; - n = a*a+b*b+c*c; - }while(n > 1 || n == 0.0); - n = std::sqrt(n); - a /= n; - b /= n; - c /= n; - - G4ThreeVector direction(a,b,c); - particleGun -> SetParticleMomentumDirection(direction); - - G4double random = G4UniformRand(); - G4double sum = 0; - G4int i = 0; - while(sum SetParticleEnergy(primaryParticleEnergy); - - // Fill 1D histogram with gamma energy spectrum ... -#ifdef G4ANALYSIS_USE - analysis -> PrimaryParticleEnergySpectrum(primaryParticleEnergy); -#endif - - // generate primary particle - particleGun -> GeneratePrimaryVertex(anEvent); -} - -G4double BrachyPrimaryGeneratorActionI::GetEnergy() -{ - return primaryParticleEnergy; -} - diff --git a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionIr.cc b/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionIr.cc deleted file mode 100644 index 1ac310241e..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionIr.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. * -// ******************************************************************** -// -// -// -------------------------------------------------------------- -// GEANT 4 - Brachytherapy example -// -------------------------------------------------------------- -// -// Code developed by: S.Guatelli -// -// ******************************************** -// * * -// * BrachyPrimaryGeneratorActionIr.cc * -// * * -// ******************************************** -// -// $Id: BrachyPrimaryGeneratorActionIr.cc,v 1.4 2006/06/29 17:33:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -#include "BrachyPrimaryGeneratorActionIr.hh" - -#ifdef G4ANALYSIS_USE -#include "BrachyAnalysisManager.hh" -#endif - -#include "globals.hh" -#include "G4ParticleTable.hh" -#include "Randomize.hh" -#include "G4Event.hh" -#include "G4ParticleGun.hh" -#include "G4IonTable.hh" -#include "G4UImanager.hh" -#include "G4RunManager.hh" - -BrachyPrimaryGeneratorActionIr::BrachyPrimaryGeneratorActionIr() -{ - G4int NumParticles = 1; - particleGun = new G4ParticleGun(NumParticles); -} - -BrachyPrimaryGeneratorActionIr::~BrachyPrimaryGeneratorActionIr() -{ - if(particleGun) - delete particleGun; -} - -void BrachyPrimaryGeneratorActionIr::GeneratePrimaries(G4Event* anEvent) -{ -#ifdef G4ANALYSIS_USE - BrachyAnalysisManager* analysis = BrachyAnalysisManager::getInstance(); -#endif - - G4ParticleTable* pParticleTable = G4ParticleTable::GetParticleTable(); - G4String ParticleName = "gamma"; - G4ParticleDefinition* pParticle = pParticleTable->FindParticle(ParticleName); - particleGun->SetParticleDefinition(pParticle); - - // Random generation of gamma source point inside the Iodium core - G4double x,y,z; - G4double radius = 0.30*mm; - do{ - x = (G4UniformRand()-0.5)*(radius)/0.5; - y = (G4UniformRand()-0.5)*(radius)/0.5; - }while(x*x+y*y > radius*radius); - - z = (G4UniformRand()-0.5)*1.75*mm/0.5 -1.975*mm ; - - G4ThreeVector position(x,y,z); - particleGun->SetParticlePosition(position); - // Random generation of the impulse direction - G4double a,b,c; - G4double n; - do{ - a = (G4UniformRand()-0.5)/0.5; - b = (G4UniformRand()-0.5)/0.5; - c = (G4UniformRand()-0.5)/0.5; - n = a*a+b*b+c*c; - }while(n > 1 || n == 0.0); - n = std::sqrt(n); - a /= n; - b /= n; - c /= n; - - G4ThreeVector direction(a,b,c); - particleGun -> SetParticleMomentumDirection(direction); - - primaryParticleEnergy = 356*keV; - particleGun -> SetParticleEnergy(primaryParticleEnergy); - - //1D Histogram of primary particle energy ... -#ifdef G4ANALYSIS_USE - analysis -> PrimaryParticleEnergySpectrum(primaryParticleEnergy); -#endif - particleGun -> GeneratePrimaryVertex(anEvent); -} - diff --git a/examples/extended/parallel/ExDiane/src/BrachyRunAction.cc b/examples/extended/parallel/ExDiane/src/BrachyRunAction.cc deleted file mode 100644 index f5e26534c0..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyRunAction.cc +++ /dev/null @@ -1,121 +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. * -// ******************************************************************** -// -// -// -------------------------------------------------------------- -// GEANT 4 - Brachytherapy example -// -------------------------------------------------------------- -// -// Code developed by: -// S.Guatelli -// -// -// ******************************* -// * * -// * BrachyRunAction.cc * -// * * -// ******************************* -// -// $Id: BrachyRunAction.cc,v 1.3 2006/06/29 17:33:38 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "BrachyRunAction.hh" -#include "BrachyEventAction.hh" - -#ifdef G4ANALYSIS_USE -#include "BrachyAnalysisManager.hh" -#endif - -#include "G4Run.hh" -#include "G4RunManager.hh" -#include "G4UImanager.hh" -#include "G4ios.hh" -#include "BrachyDetectorConstruction.hh" -#include "BrachyRunMessenger.hh" -#include "G4SDManager.hh" -#include "G4Timer.hh" -#include "BrachyFactoryIr.hh" -#include "BrachyFactoryI.hh" -#include "BrachyFactory.hh" -#include "BrachyRunAction.hh" - -BrachyRunAction::BrachyRunAction() -{ - runMessenger = new BrachyRunMessenger(this); -} - -BrachyRunAction::~BrachyRunAction() -{ - delete runMessenger; -} -void BrachyRunAction::BeginOfRunAction(const G4Run*) -{ -#ifdef G4ANALYSIS_USE - BrachyAnalysisManager* analysis = BrachyAnalysisManager::getInstance(); - analysis -> book(); -#endif - G4RunManager* runManager = G4RunManager::GetRunManager(); - - if(runManager) - { switch(sourceChoice) - { - case 1: - factory = new BrachyFactoryI; - break; - default: - factory = new BrachyFactoryIr; - } - G4VUserPrimaryGeneratorAction* sourcePrimaryParicle = - factory -> CreatePrimaryGeneratorAction(); - - if(sourcePrimaryParicle) runManager -> SetUserAction(sourcePrimaryParicle); - } -} - -void BrachyRunAction::SelectEnergy(G4int choice) -{ - sourceChoice = choice; - if (sourceChoice == 1) factory = new BrachyFactoryI; - else factory = new BrachyFactoryIr; -} - -void BrachyRunAction::EndOfRunAction(const G4Run* aRun) -{ -#ifdef G4ANALYSIS_USE - BrachyAnalysisManager* analysis = BrachyAnalysisManager::getInstance(); -#endif - G4cout << "number of event = " << aRun -> GetNumberOfEvent() << G4endl; - -#ifdef G4ANALYSIS_USE - analysis -> finish(); -#endif - - delete factory; -} - - - - diff --git a/examples/extended/parallel/ExDiane/src/BrachyRunMessenger.cc b/examples/extended/parallel/ExDiane/src/BrachyRunMessenger.cc deleted file mode 100644 index e3c17ad6d7..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachyRunMessenger.cc +++ /dev/null @@ -1,76 +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. * -// ******************************************************************** -// -// Code developed by: -// S.Guatelli -// -// $Id: BrachyRunMessenger.cc,v 1.3 2006/06/29 17:33:41 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -// -// ******************************* -// * * -// * BrachyRunMessenger.cc * -// * * -// ******************************* - -#include "BrachyRunMessenger.hh" -#include "BrachyRunAction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" - -BrachyRunMessenger::BrachyRunMessenger( BrachyRunAction* pBrachyRun): - runManager(pBrachyRun) -{ - runDir = new G4UIdirectory("/run/"); - runDir -> SetGuidance("Control gamma energy spectrum."); - - primaryParticleEnergySpectrumCmd = - new G4UIcmdWithAString("/run/energy",this); - primaryParticleEnergySpectrumCmd -> SetGuidance("Select the energy of gamma emitted by the source."); - primaryParticleEnergySpectrumCmd -> SetGuidance(" Iodium: Iodium Source "); - primaryParticleEnergySpectrumCmd -> SetGuidance(" Iridium: Iridium Source " ); - primaryParticleEnergySpectrumCmd -> SetParameterName("choice",true); - primaryParticleEnergySpectrumCmd -> SetDefaultValue("Iridium"); - primaryParticleEnergySpectrumCmd -> SetCandidates("Iridium / Iodium"); - primaryParticleEnergySpectrumCmd -> AvailableForStates(G4State_PreInit,G4State_Idle); -} - -BrachyRunMessenger::~BrachyRunMessenger() -{ - delete primaryParticleEnergySpectrumCmd; - delete runDir; -} - -void BrachyRunMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if(command == primaryParticleEnergySpectrumCmd) - { - if (newValue == "Iodium") runManager -> SelectEnergy(1); - else runManager -> SelectEnergy(0); - } -} - diff --git a/examples/extended/parallel/ExDiane/src/BrachySimulation.cc b/examples/extended/parallel/ExDiane/src/BrachySimulation.cc deleted file mode 100644 index 6c1a002818..0000000000 --- a/examples/extended/parallel/ExDiane/src/BrachySimulation.cc +++ /dev/null @@ -1,154 +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: BrachySimulation.cc -// GEANT4 tag $Name: geant4-09-02 $ -// -// -------------------------------------------------------------- -// GEANT 4 - Brachytherapy example -// -------------------------------------------------------------- -// -// Code developed by: S.Guatelli, K. Moscicki -// -// -// ******************************* -// * * -// * BrachySimualtion.cc * -// * * -// ******************************* -// -#include "G4RunManager.hh" -#include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" -#include "BrachyFactoryIr.hh" -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif - -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - -#include "BrachyEventAction.hh" -#include "BrachyDetectorConstruction.hh" -#include "BrachyPhysicsList.hh" -#include "BrachyPhantomSD.hh" -#include "BrachyPrimaryGeneratorActionIr.hh" -#include "G4SDManager.hh" -#include "BrachyRunAction.hh" -#include "Randomize.hh" -#include "G4RunManager.hh" -#include "G4SDManager.hh" -#include "G4UImanager.hh" -#include "G4UImessenger.hh" -#include "BrachySimulation.hh" - -BrachySimulation::BrachySimulation(G4int sd) -{ - pRunManager = 0; - seed = sd; -} - -BrachySimulation::~BrachySimulation() - -{ } -void BrachySimulation::setSeed(G4int sd) -{ - seed = sd; - CLHEP::HepRandom::setTheSeed(seed); -} - -G4bool BrachySimulation::initialize(int ,char** ) -{ - CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); - - G4cout << "G4 initializing" << G4endl; - - pRunManager = new G4RunManager; - - G4String sensitiveDetectorName = "Phantom"; - - BrachyDetectorConstruction *pDetectorConstruction = new BrachyDetectorConstruction(sensitiveDetectorName); - - pRunManager -> SetUserInitialization(pDetectorConstruction); - pRunManager -> SetUserInitialization(new BrachyPhysicsList); - - // output environment variables: -#ifdef G4ANALYSIS_USE - G4cout << G4endl << G4endl << G4endl - << " User Environment " << G4endl - << " Using AIDA 3.2.1 analysis " << G4endl; -# else - G4cout << G4endl << G4endl << G4endl - << " User Environment " << G4endl - << " G4ANALYSIS_USE environment variable not set, NO ANALYSIS " - << G4endl; -#endif - - BrachyEventAction *pEventAction = new BrachyEventAction(); - pRunManager -> SetUserAction(pEventAction ); - - BrachyRunAction *pRunAction = new BrachyRunAction(); - pRunManager -> SetUserAction(pRunAction); - - //Initialize G4 kernel - pRunManager -> Initialize(); - - return true; -} -void BrachySimulation::executeMacro(std::string macroFileName) -{ - G4UImanager* UI = G4UImanager::GetUIpointer(); - - // Batch mode - - std::string fileName = macroFileName; - G4cout << fileName << " <---------- in batch -----------------" << G4endl; - G4cout << macroFileName << " executed"< ApplyCommand(command+fileName); -} -std::string BrachySimulation::getOutputFilename() -{ - return "brachytherapy.xml"; -} - -void BrachySimulation::finish() -{ - delete pRunManager; -} - -//// This is all the application needs to run in parallel mode through DIANE -extern "C" -DIANE::IG4Simulation* createG4Simulation(int seed) -{return new BrachySimulation(seed); } -/////////// diff --git a/examples/extended/parallel/MPI/History b/examples/extended/parallel/MPI/History index 94385b6b77..a0dbcfa19d 100644 --- a/examples/extended/parallel/MPI/History +++ b/examples/extended/parallel/MPI/History @@ -1,4 +1,4 @@ -$Id: History,v 1.1 2007/11/16 04:02:10 kmura Exp $ +$Id: History,v 1.4 2010/12/03 08:19:59 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -12,6 +12,31 @@ $Id: History,v 1.1 2007/11/16 04:02:10 kmura Exp $ * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +3 December 2010 K. Murakami (MPI-V09-03-02) + - /mpi/wait command is removed. It is automatically called + at the end of macro(batch) execution. + +4 June 2010 J.Perl (MPI-V09-03-01) + - Updated vis usage. + +18 May 2010 K.Murakami (MPI-V09-03-00) + == code review was performed. == + << mpi_ineterface >> + - OpenMPI as default MPI library instead of LAM/MPI + - improve /mpi/status command. (waste of CPU, time measurement) + - /mpi/wait command is introduced for waiting until beamOn ends. + - improve macro file parser + * same parser as G4UIbatch + * fixed unexpected behavior at the end of batch mode + - changed "beamOn" behavior for better performance + * thread-out for interactive, on-thread for batch + << exMPI01 >> + - use G4UIcsh instead of G4UItcsh because OpenMPI is now default. + - use G4eMultipleScattering instead of obsolete G4MultipleScattering. + << exMPI02 >> + - use G4UIcsh instead of G4UItcsh because OpenMPI is now default. + + 16 Nov. 2007 K.Murakami - commited to G4 CVS. diff --git a/examples/extended/parallel/MPI/README b/examples/extended/parallel/MPI/README index 2b594bdfe2..ebfa5794b0 100644 --- a/examples/extended/parallel/MPI/README +++ b/examples/extended/parallel/MPI/README @@ -1,4 +1,4 @@ -$Id: README,v 1.2 2007/11/16 14:04:05 kmura Exp $ +$Id: README,v 1.3 2010/05/18 06:09:09 kmura Exp $ ========================================================================== Geant4 MPI Interface @@ -11,7 +11,7 @@ About the interface G4MPI is a native interface with MPI libraries. The directory contains a Geant4 UI library and a couple of parallelized examples. Using this interface, users applications can be parllelized with -different MPI compliant libraries, such as LAM/MPI, MPICH2, OpenMPI, +different MPI compliant libraries, such as OpenMPI, LAM/MPI, MPICH2, and so on. System Requirements: @@ -24,15 +24,14 @@ System Requirements: * MPI implementation -- LAM/MPI (7.1.3) - http://www.lam-mpi.org/ - -- MPICH2 (1.0.6p1) - http://www.mcs.anl.gov/research/projects/mpich2/ - -- Open MPI (1.2.4) +- Open MPI (1.4.2) http://www.open-mpi.org/ +- LAM/MPI (7.1.3) (development is terminated. maintenance only) + http://www.lam-mpi.org/ + +- MPICH2 (1.2.1p1) + http://www.mcs.anl.gov/research/projects/mpich2/ * Optional - ROOT for histogramming/analysis @@ -41,7 +40,7 @@ System Requirements: G4MPI UI library ---------------- G4MPI UI library is provided in the "mpi_interface" directory. -Start with building the G4MPI UI library according to the instruction +Start with building the G4MPI UI library according to the instruction in the directory. @@ -60,11 +59,6 @@ int main(int argc,char** argv) // MPI session (G4MPIsession) instead of G4UIterminal G4MPIsession* session= g4MPI-> GetMPIsession(); - // LAM users can use G4tcsh. - G4String prompt= "G4MPI"; - G4UItcsh* tcsh= new G4UItcsh(prompt); - session-> SetShell(tcsh); - // user application setting G4RunManager* runManager= new G4RunManager(); @@ -85,6 +79,11 @@ int main(int argc,char** argv) LAM/MPI users can use "G4tcsh" as an interactive session shell. For other users (Open MPI/MPICH2), plese use G4csh (default). +In case of OpenMPI, LD_LIBRARY_PATH for OpenMPI runtime libraries +should be set at run time. Alternatively, you can add this path +to the dynamic linker configuration using `ldconfig`. +(needs sys-admin authorization) + How to use: ----------- @@ -92,7 +91,7 @@ How to use: 1. Make hosts/cluster configuration of your MPI environment. -2. Launch MPI runtime environment, typically executing +2. Launch MPI runtime environment, typically executing lamboot (LAM) / mpdboot (MPICH2). * How to run @@ -118,20 +117,20 @@ MPI control commands status * Show mpi status. execute * Execute a macro file. (=/control/execute) beamOn * Start a parallel run w/ thread. - .beamOn * Start a parallel run w/o thread. (=/run/beamOn) + .beamOn * Start a parallel run w/o thread. masterWeight * Set weight for master node. + wait * Wait until beamOn-s on all nodes are done. (batch mode only) showSeeds * Show seeds of MPI nodes. setMasterSeed * Set a master seed for the seed generator. setSeed * Set a seed for a specified node. * Notes: -While "/run/beamOn" is executed in foreground, the "/mpi/beamOn" -command invokes beam-on in background, so you can input UI commands -even while event processing. +While "/run/beamOn" and "/mpi/beamOn" commands invoke beam-on in background, +so you can input UI commands even while event processing. -The original "/control/execute" and "/run/beamOn" are overwritten -with "/mpi/execute" and "/mpi/.beamOn" commands, customized for -the MPI interface. +The original "/control/execute" and "/run/beamOn" are overwritten +with "/mpi/execute" and "/mpi/beamOn" commands respectively, +customized for the MPI interface. Examples @@ -141,10 +140,10 @@ There are a couple of examples for Geant4 MPI applications. In some cases, you need to set some additional environment variables for running examples: -- G4LEVELGAMMADATA : directory path for the data of +- G4LEVELGAMMADATA : directory path for the data of "low energy electromagnetic processes". -For running ROOT applications, +For running ROOT applications, - ROOTSYS : root path of the ROOT package - LD_LIBRARY_PATH : add ROOT library path, such as $(ROOTSYS)/lib/root @@ -173,5 +172,5 @@ An example of dosimetry in a water phantom. - Create a ROOT file containing histograms in each node. * treat multiple outputs properly: each slave node generate a ROOT file, whose file name should - be different from each other. + be different from each other. diff --git a/examples/extended/parallel/MPI/exMPI01/GNUmakefile b/examples/extended/parallel/MPI/exMPI01/GNUmakefile index 2f5e44825f..5cad861461 100644 --- a/examples/extended/parallel/MPI/exMPI01/GNUmakefile +++ b/examples/extended/parallel/MPI/exMPI01/GNUmakefile @@ -1,13 +1,16 @@ -# $Id: GNUmakefile,v 1.1 2007/11/16 14:16:46 kmura Exp $ -# $Name: geant4-09-02 $ +# $Id: GNUmakefile,v 1.2 2010/01/11 16:53:51 gcosmo Exp $ +# $Name: geant4-09-04-beta-01 $ # =========================================================== # Makefile for building G4 MPI aplication # =========================================================== -name := exMPI01# + +name := exMPI01 G4TARGET := $(name) G4EXLIB := true -G4WORKDIR := . +ifndef G4INSTALL + G4INSTALL = ../../../../.. +endif .PHONY: all all: lib bin diff --git a/examples/extended/parallel/MPI/exMPI01/History b/examples/extended/parallel/MPI/exMPI01/History index 3b6d83e434..7d8d1fe959 100644 --- a/examples/extended/parallel/MPI/exMPI01/History +++ b/examples/extended/parallel/MPI/exMPI01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.1 2007/11/16 14:16:46 kmura Exp $ +$Id: History,v 1.3 2010/06/06 05:07:23 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,7 +8,13 @@ $Id: History,v 1.1 2007/11/16 14:16:46 kmura Exp $ exMPI01 History --------------- +4 June 2010 J.Perl + - Updated vis usage. + +18 May 2010 K.Murakami + - use G4UIcsh instead of G4UItcsh because OpenMPI is now default. + - use G4eMultipleScattering instead of obsolete G4MultipleScattering. + 16 Nov. 2007 K.Murakami - commited to G4 CVS. - diff --git a/examples/extended/parallel/MPI/exMPI01/exMPI01.cc b/examples/extended/parallel/MPI/exMPI01/exMPI01.cc index 81d7f5cc29..11e6d6a684 100644 --- a/examples/extended/parallel/MPI/exMPI01/exMPI01.cc +++ b/examples/extended/parallel/MPI/exMPI01/exMPI01.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: exMPI01.cc,v 1.1 2007/11/16 14:16:46 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: exMPI01.cc,v 1.2 2010/05/18 06:07:43 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // // ==================================================================== // exMPI01.cc @@ -42,7 +42,6 @@ // MPI session #include "G4MPImanager.hh" #include "G4MPIsession.hh" -#include "G4UItcsh.hh" #ifdef G4VIS_USE #include "G4VisExecutive.hh" @@ -69,10 +68,7 @@ int main(int argc,char** argv) G4String prompt= ""; prompt+= "G4MPI"; prompt+= "(%s)[%/]:"; - - G4UItcsh* tcsh= new G4UItcsh(prompt); - tcsh-> SetLsColor(BLUE,RED); - session-> SetShell(tcsh); + session-> SetPrompt(prompt); // -------------------------------------------------------------------- // user application setting diff --git a/examples/extended/parallel/MPI/exMPI01/src/PhysicsListEMstd.cc b/examples/extended/parallel/MPI/exMPI01/src/PhysicsListEMstd.cc index a5678a31df..bf2460923d 100644 --- a/examples/extended/parallel/MPI/exMPI01/src/PhysicsListEMstd.cc +++ b/examples/extended/parallel/MPI/exMPI01/src/PhysicsListEMstd.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsListEMstd.cc,v 1.1 2007/11/16 14:16:46 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: PhysicsListEMstd.cc,v 1.2 2010/05/13 03:12:00 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // // ==================================================================== // PhysicsListEMstd.cc @@ -47,7 +47,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" @@ -86,7 +86,7 @@ void PhysicsListEMstd::ConstructProcess() { G4ProcessManager* pm; - // ---------------------------------------------------------- + // ---------------------------------------------------------- // gamma physics // ---------------------------------------------------------- pm= G4Gamma::Gamma()-> GetProcessManager(); @@ -97,7 +97,7 @@ void PhysicsListEMstd::ConstructProcess() // ---------------------------------------------------------- // electron physics // ---------------------------------------------------------- - G4MultipleScattering* msc= new G4MultipleScattering; + G4eMultipleScattering* msc= new G4eMultipleScattering; G4eIonisation* eion= new G4eIonisation; G4eBremsstrahlung* ebrems= new G4eBremsstrahlung; @@ -109,7 +109,7 @@ void PhysicsListEMstd::ConstructProcess() // ---------------------------------------------------------- // positron physics // ---------------------------------------------------------- - msc= new G4MultipleScattering; + msc= new G4eMultipleScattering; eion= new G4eIonisation; ebrems= new G4eBremsstrahlung; G4eplusAnnihilation* annihilation= new G4eplusAnnihilation; @@ -122,3 +122,4 @@ void PhysicsListEMstd::ConstructProcess() } + diff --git a/examples/extended/parallel/MPI/exMPI01/v.mac b/examples/extended/parallel/MPI/exMPI01/v.mac index 724af45b8b..041fc55524 100644 --- a/examples/extended/parallel/MPI/exMPI01/v.mac +++ b/examples/extended/parallel/MPI/exMPI01/v.mac @@ -1,15 +1,68 @@ -/vis/open OGLIX - -/vis/scene/create -/vis/scene/add/volume - -/vis/sceneHandler/attach - +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: /vis/viewer/set/viewpointThetaPhi 90. 270. - -/tracking/storeTrajectory 1 -/vis/scene/add/trajectories +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate -#/vis/scene/endOfEventAction refresh - - +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/parallel/MPI/exMPI02/GNUmakefile b/examples/extended/parallel/MPI/exMPI02/GNUmakefile index f10fbc1712..742b1fc1ef 100644 --- a/examples/extended/parallel/MPI/exMPI02/GNUmakefile +++ b/examples/extended/parallel/MPI/exMPI02/GNUmakefile @@ -1,13 +1,16 @@ -# $Id: GNUmakefile,v 1.1 2007/11/16 14:28:34 kmura Exp $ -# $Name: geant4-09-02 $ +# $Id: GNUmakefile,v 1.2 2010/01/11 16:55:08 gcosmo Exp $ +# $Name: geant4-09-04-beta-01 $ # =========================================================== # Makefile for building G4 MPI aplication # =========================================================== -name := exMPI02# + +name := exMPI02 G4TARGET := $(name) G4EXLIB := true -G4WORKDIR := . +ifndef G4INSTALL + G4INSTALL = ../../../../.. +endif .PHONY: all all: lib bin diff --git a/examples/extended/parallel/MPI/exMPI02/History b/examples/extended/parallel/MPI/exMPI02/History index 3f8693cab2..e7638ae99b 100644 --- a/examples/extended/parallel/MPI/exMPI02/History +++ b/examples/extended/parallel/MPI/exMPI02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.1 2007/11/16 14:28:34 kmura Exp $ +$Id: History,v 1.3 2010/06/06 05:07:23 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,7 +8,12 @@ $Id: History,v 1.1 2007/11/16 14:28:34 kmura Exp $ exMPI02 History --------------- +4 June 2010 J.Perl + - Updated vis usage. + +18 May 2010 K.Murakami + - use G4UIcsh instead of G4UItcsh because OpenMPI is now default. + 16 Nov. 2007 K.Murakami - commited to G4 CVS. - diff --git a/examples/extended/parallel/MPI/exMPI02/exMPI02.cc b/examples/extended/parallel/MPI/exMPI02/exMPI02.cc index a434a8a226..22990e6b0f 100644 --- a/examples/extended/parallel/MPI/exMPI02/exMPI02.cc +++ b/examples/extended/parallel/MPI/exMPI02/exMPI02.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: exMPI02.cc,v 1.1 2007/11/16 14:28:34 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: exMPI02.cc,v 1.2 2010/05/18 06:08:30 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // // ==================================================================== // exMPI02.cc @@ -44,7 +44,6 @@ // MPI session #include "G4MPImanager.hh" #include "G4MPIsession.hh" -#include "G4UItcsh.hh" #ifdef G4VIS_USE #include "G4VisExecutive.hh" @@ -70,10 +69,7 @@ int main(int argc,char** argv) G4String prompt= ""; prompt+= "G4MPI"; prompt+= "(%s)[%/]:"; - - G4UItcsh* tcsh= new G4UItcsh(prompt); - tcsh-> SetLsColor(BLUE,RED); - session-> SetShell(tcsh); + session-> SetPrompt(prompt); // -------------------------------------------------------------------- // user application setting diff --git a/examples/extended/parallel/MPI/exMPI02/v.mac b/examples/extended/parallel/MPI/exMPI02/v.mac index 0b8843bfa7..041fc55524 100644 --- a/examples/extended/parallel/MPI/exMPI02/v.mac +++ b/examples/extended/parallel/MPI/exMPI02/v.mac @@ -1,17 +1,68 @@ -/vis/verbose 0 - -/vis/open OGLIX - -/vis/scene/create -/vis/scene/add/volume - -/vis/sceneHandler/attach - +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: /vis/viewer/set/viewpointThetaPhi 90. 270. - -/tracking/storeTrajectory 1 -/vis/scene/add/trajectories +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate -#/vis/scene/endOfEventAction refresh - - +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/parallel/MPI/mpi_interface/G4MPI-openmpi.gmk b/examples/extended/parallel/MPI/mpi_interface/G4MPI-openmpi.gmk index 9c61db1d22..37ca5ac514 100644 --- a/examples/extended/parallel/MPI/mpi_interface/G4MPI-openmpi.gmk +++ b/examples/extended/parallel/MPI/mpi_interface/G4MPI-openmpi.gmk @@ -1,7 +1,7 @@ -# $Id: G4MPI-openmpi.gmk,v 1.1 2007/11/16 13:32:56 kmura Exp $ -# $Name: geant4-09-02 $ +# $Id: G4MPI-openmpi.gmk,v 1.3 2010/05/18 06:02:01 kmura Exp $ +# $Name: geant4-09-04-beta-01 $ # =========================================================== -# Makefile for building G4MPI (LAM) +# Makefile for building G4MPI (OpenMPI) # =========================================================== ifndef G4MPIROOT @@ -12,3 +12,5 @@ endif CXX := mpic++ CPPFLAGS += -I$(G4MPIROOT)/include -I$(G4MPIROOT)/include/openmpi +# to suppress compiler warnings for OpenMPI headers +CXXFLAGS := $(subst -Wall, , $(CXXFLAGS)) diff --git a/examples/extended/parallel/MPI/mpi_interface/G4MPI.gmk b/examples/extended/parallel/MPI/mpi_interface/G4MPI.gmk index 6b1baa698e..62d48513dc 100644 --- a/examples/extended/parallel/MPI/mpi_interface/G4MPI.gmk +++ b/examples/extended/parallel/MPI/mpi_interface/G4MPI.gmk @@ -1,14 +1,16 @@ -# $Id: G4MPI.gmk,v 1.1 2007/11/16 13:32:56 kmura Exp $ -# $Name: geant4-09-02 $ +# $Id: G4MPI.gmk,v 1.3 2010/05/18 06:01:09 kmura Exp $ +# $Name: geant4-09-04-beta-01 $ # =========================================================== -# Makefile for building G4MPI (LAM) +# Makefile for building G4MPI (OpenMPI) # =========================================================== ifndef G4MPIROOT - G4MPIROOT = /opt/lam + G4MPIROOT = /opt/ompi endif # additional flags CXX := mpic++ -CPPFLAGS += -I$(G4MPIROOT)/include +CPPFLAGS += -I$(G4MPIROOT)/include -I$(G4MPIROOT)/include/openmpi +# to suppress compiler warnings for OpenMPI headers +CXXFLAGS := $(subst -Wall, , $(CXXFLAGS)) diff --git a/examples/extended/parallel/MPI/mpi_interface/History b/examples/extended/parallel/MPI/mpi_interface/History index 57f792fd53..c5a1f91a7f 100644 --- a/examples/extended/parallel/MPI/mpi_interface/History +++ b/examples/extended/parallel/MPI/mpi_interface/History @@ -1,4 +1,4 @@ -$Id: History,v 1.1 2007/11/16 13:32:56 kmura Exp $ +$Id: History,v 1.2 2010/05/18 06:00:40 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,9 +8,17 @@ $Id: History,v 1.1 2007/11/16 13:32:56 kmura Exp $ G4MPI History file ------------------ +18 May 2010 K.Murakami + == Code reviewed == + - OpenMPI as default MPI library instead of LAM/MPI + - improve /mpi/status command. (waste of CPU, time measurement) + - /mpi/wait command is introduced for waiting until beamOn ends. + - improve macro file parser + * same parser as G4UIbatch + * fixed unexpected behavior at the end of batch mode + - changed "beamOn" behavior for better performance + * thread-out for interactive, on-thread for batch + 16 Nov. 2007 K.Murakami - commited to G4 CVS. - - - diff --git a/examples/extended/parallel/MPI/mpi_interface/README b/examples/extended/parallel/MPI/mpi_interface/README index 6335429fb2..42ccea797b 100644 --- a/examples/extended/parallel/MPI/mpi_interface/README +++ b/examples/extended/parallel/MPI/mpi_interface/README @@ -1,4 +1,4 @@ -$Id: README,v 1.1 2007/11/16 13:32:56 kmura Exp $ +$Id: README,v 1.2 2010/05/18 06:00:18 kmura Exp $ ========================================================================== Geant4 MPI Interface @@ -15,20 +15,21 @@ How to build * Redifine CXX as (wrapped) MPI C++ compiler. * Specify additional include paths and compiler flags to "CPPFLAGS". -Sample makefiles for (LAM, MPICH2, OpenMPI) are also presented. +Sample makefiles for (OpnMPI, LAM, MPICH2) are also presented. An example of "G4MPI.gmk": - # =========================================================== - # Makefile for building G4MPI (LAM) - # =========================================================== +# =========================================================== +# Makefile for building G4MPI (OpenMPI) +# =========================================================== - ifndef G4MPIROOT - G4MPIROOT = /opt/lam - endif +ifndef G4MPIROOT + G4MPIROOT = /opt/ompi +endif - # additional flags - CXX := mpic++ - CPPFLAGS += -I$(G4MPIROOT)/include +# additional flags +CXX := mpic++ +CXXFLAGS := $(subst -Wall, , $(CXXFLAGS)) +CPPFLAGS += -I$(G4MPIROOT)/include -I$(G4MPIROOT)/include/openmpi 2. Build the library diff --git a/examples/extended/parallel/MPI/mpi_interface/include/G4MPImanager.hh b/examples/extended/parallel/MPI/mpi_interface/include/G4MPImanager.hh index c0ec146283..3af862852a 100644 --- a/examples/extended/parallel/MPI/mpi_interface/include/G4MPImanager.hh +++ b/examples/extended/parallel/MPI/mpi_interface/include/G4MPImanager.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MPImanager.hh,v 1.1 2007/11/16 14:05:40 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: G4MPImanager.hh,v 1.2 2010/05/18 06:03:27 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // // ==================================================================== // G4MPImanager.hh @@ -54,7 +54,7 @@ private: static G4MPImanager* theManager; G4MPImessenger* messenger; G4MPIsession* session; - + G4int verbose; G4MPIstatus* status; // status for each node @@ -139,6 +139,7 @@ public: void ShowStatus(); void ShowSeeds(); void SetSeed(G4int inode, G4long seed); + void WaitBeamOn(); // methods for MPI environment void DistributeSeeds(); @@ -225,7 +226,7 @@ inline const G4String& G4MPImanager::GetMacroFileName() const inline void G4MPImanager::SetMasterWeight(G4double aweight) { masterWeight= aweight; - + if(aweight<0.) masterWeight= 0.; if(aweight>1.) masterWeight= 1.; } diff --git a/examples/extended/parallel/MPI/mpi_interface/include/G4MPImessenger.hh b/examples/extended/parallel/MPI/mpi_interface/include/G4MPImessenger.hh index 008218f7f2..27a266cfeb 100644 --- a/examples/extended/parallel/MPI/mpi_interface/include/G4MPImessenger.hh +++ b/examples/extended/parallel/MPI/mpi_interface/include/G4MPImessenger.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MPImessenger.hh,v 1.1 2007/11/16 14:05:40 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: G4MPImessenger.hh,v 1.3 2010/12/03 08:21:29 kmura Exp $ +// $Name: geant4-09-04 $ // // ==================================================================== // G4MPImessenger.hh @@ -62,7 +62,7 @@ private: G4UIcmdWithAString* execute; G4UIcommand* beamOn; - G4UIcmdWithAnInteger* dotbeamOn; + G4UIcommand* dotbeamOn; G4UIcmdWithADouble* masterWeight; G4UIcmdWithoutParameter* showSeeds; @@ -72,10 +72,10 @@ private: public: G4MPImessenger(G4MPImanager* manager); ~G4MPImessenger(); - + virtual void SetNewValue(G4UIcommand* command, G4String newValue); virtual G4String GetCurrentValue(G4UIcommand* command); - + }; #endif diff --git a/examples/extended/parallel/MPI/mpi_interface/include/G4VMPIsession.hh b/examples/extended/parallel/MPI/mpi_interface/include/G4VMPIsession.hh index 7b634bcbd0..526a31747a 100644 --- a/examples/extended/parallel/MPI/mpi_interface/include/G4VMPIsession.hh +++ b/examples/extended/parallel/MPI/mpi_interface/include/G4VMPIsession.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VMPIsession.hh,v 1.1 2007/11/16 14:05:41 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: G4VMPIsession.hh,v 1.2 2010/05/18 06:05:05 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // // ==================================================================== // G4VMPIsession.hh @@ -57,7 +57,7 @@ protected: G4bool isSlave; G4int rank; - G4int ExecCommand(G4String aCommand); + G4int ExecCommand(G4String acommand); G4String TruncateCommand(const G4String& command) const; G4String BypassCommand(const G4String& command) const; diff --git a/examples/extended/parallel/MPI/mpi_interface/src/G4MPIbatch.cc b/examples/extended/parallel/MPI/mpi_interface/src/G4MPIbatch.cc index aecbc98542..3214290af2 100644 --- a/examples/extended/parallel/MPI/mpi_interface/src/G4MPIbatch.cc +++ b/examples/extended/parallel/MPI/mpi_interface/src/G4MPIbatch.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MPIbatch.cc,v 1.1 2007/11/16 14:05:41 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: G4MPIbatch.cc,v 1.3 2010/12/03 08:21:29 kmura Exp $ +// $Name: geant4-09-04 $ // // ==================================================================== // G4MPIsession.cc @@ -33,7 +33,34 @@ // ==================================================================== #include "G4MPIbatch.hh" #include "G4MPImanager.hh" +#include "G4UImanager.hh" #include "G4UIcommandStatus.hh" +#include + +//////////////////////////////////////////////////////////////////////// +static void Tokenize(const G4String& str, std::vector& tokens) +//////////////////////////////////////////////////////////////////////// +{ + const char* delimiter= " "; + + str_size pos0= str.find_first_not_of(delimiter); + str_size pos = str.find_first_of(delimiter, pos0); + + while (pos != G4String::npos || pos0 != G4String::npos) { + if (str[pos0] == '\"') { + pos = str.find_first_of("\"", pos0+1); + if(pos != G4String::npos) pos++; + } + if (str[pos0] == '\'') { + pos = str.find_first_of("\'", pos0+1); + if(pos != G4String::npos) pos++; + } + + tokens.push_back(str.substr(pos0, pos-pos0)); + pos0 = str.find_first_not_of(delimiter, pos); + pos = str.find_first_of(delimiter, pos0); + } +} // ==================================================================== // @@ -71,35 +98,70 @@ G4MPIbatch::~G4MPIbatch() G4String G4MPIbatch::ReadCommand() ////////////////////////////////// { - enum { BUFSIZE= 256 }; - char linebuf[BUFSIZE]; - + enum { BUFSIZE= 4096 }; + static char linebuf[BUFSIZE]; + + G4String cmdtotal= ""; + G4bool qcontinued= false; while(batchStream.good()) { batchStream.getline(linebuf, BUFSIZE); - + G4String cmdline(linebuf); + + // TAB-> ' ' conversion + str_size nb=0; + while ((nb= cmdline.find('\t',nb)) != G4String::npos) { + cmdline.replace(nb, 1, " "); + } + + // strip cmdline= cmdline.strip(G4String::both); - cmdline= cmdline.strip(G4String::both, '\011'); // remove TAB - cmdline= TruncateCommand(cmdline); - - str_size ic= cmdline.find_first_of('#'); - if(ic != G4String::npos) { - cmdline= cmdline(0, ic); - } - - if(batchStream.eof()) { - if(cmdline.size()==0) { - return "exit"; - } else { - return cmdline; + + // skip null line if single line + if(!qcontinued && cmdline.size()==0) continue; + + // '#' is treated as echoing something + if(cmdline[(size_t)0]=='#') return cmdline; + + // tokenize... + std::vector tokens; + Tokenize(cmdline, tokens); + qcontinued= false; + for (G4int i=0; i< G4int(tokens.size()); i++) { + // string after '#" is ignored + if(tokens[i][(size_t)0] == '#' ) break; + // '\' or '_' is treated as continued line. + if(tokens[i] == '\\' || tokens[i] == '_' ) { + qcontinued= true; + // check nothing after line continuation character + if( i != G4int(tokens.size())-1) { + G4Exception("unexpected character after " + "line continuation character"); + } + break; // stop parsing } + cmdtotal+= tokens[i]; + cmdtotal+= " "; } - if(cmdline.size()==0) continue; // skip null line - return cmdline; - } + if(qcontinued) continue; // read the next line - return "exit"; // dummy + if(cmdtotal.size() != 0) break; + if(batchStream.eof()) break; + } + + // strip again + cmdtotal= cmdtotal.strip(G4String::both); + + // bypass some commands + cmdtotal= BypassCommand(cmdtotal); + + // finally, + if(batchStream.eof() && cmdtotal.size()==0) { + return "exit"; + } + + return cmdtotal; } @@ -109,29 +171,30 @@ G4UIsession* G4MPIbatch::SessionStart() { G4String newCommand="", scommand; // newCommand is always "" in slaves - if(isMaster) newCommand= ReadCommand(); - // broadcast a new G4 command - scommand= g4MPI-> BcastCommand(newCommand); - if(scommand == "exit" ) return 0; - - while(1){ - G4int rc= ExecCommand(scommand); - if(rc != fCommandSucceeded) break; - - if(isMaster) newCommand= ReadCommand(); - scommand= g4MPI-> BcastCommand(newCommand); - if(scommand == "exit" ) { - if(isBatchMode) { - if(g4MPI-> CheckThreadStatus()) { - g4MPI-> JoinBeamOnThread(); - break; - } - } else { - break; + while(1) { + if (isMaster) newCommand = ReadCommand(); + // broadcast a new G4 command + scommand = g4MPI-> BcastCommand(newCommand); + if(scommand == "exit") { + g4MPI-> WaitBeamOn(); + return 0; + } + + // just echo something + if( scommand[(size_t)0] == '#') { + if(G4UImanager::GetUIpointer()-> GetVerboseLevel()==2) { + G4cout << scommand << G4endl; } + continue; + } + + G4int rc = ExecCommand(scommand); + if (rc != fCommandSucceeded) { + G4cerr << G4endl << "***** Batch is interupted!! *****" << G4endl; + break; } } - + return 0; } diff --git a/examples/extended/parallel/MPI/mpi_interface/src/G4MPImanager.cc b/examples/extended/parallel/MPI/mpi_interface/src/G4MPImanager.cc index 65ec0c8b27..19ffeb260f 100644 --- a/examples/extended/parallel/MPI/mpi_interface/src/G4MPImanager.cc +++ b/examples/extended/parallel/MPI/mpi_interface/src/G4MPImanager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MPImanager.cc,v 1.1 2007/11/16 14:05:41 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: G4MPImanager.cc,v 1.2 2010/05/18 06:06:21 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // // ==================================================================== // G4MPImanager.cc @@ -67,14 +67,14 @@ static void thread_ExecuteThreadCommand(const G4String* command) //////////////////////////// G4MPImanager::G4MPImanager() - : verbose(0), + : verbose(0), qfcout(false), qinitmacro(false), qbatchmode(false), threadID(0), masterWeight(1.) //////////////////////////// -{ +{ //MPI::Init(); MPI::Init_thread(MPI::THREAD_SERIALIZED); Initialize(); @@ -85,7 +85,7 @@ G4MPImanager::G4MPImanager() G4MPImanager::G4MPImanager(int argc, char** argv) : verbose(0), qfcout(false), qinitmacro(false), qbatchmode(false), - threadID(0), + threadID(0), masterWeight(1.) ///////////////////////////////////////////////// { @@ -139,7 +139,7 @@ void G4MPImanager::Initialize() rank= MPI::COMM_WORLD.Get_rank(); isMaster= (rank == RANK_MASTER); isSlave= (rank != RANK_MASTER); - + // initialize MPI communicator COMM_G4COMMAND= MPI::COMM_WORLD.Dup(); @@ -230,7 +230,7 @@ void G4MPImanager::ParseArguments(int argc, char** argv) G4String prefix= ofprefix+".%03d"+".cout"; char str[1024]; sprintf(str, prefix.c_str(), rank); - G4String fname(str); + G4String fname(str); fscout.open(fname.c_str(), std::ios::out); } @@ -264,19 +264,22 @@ void G4MPImanager::UpdateStatus() G4int runid, eventid, neventTBP; - if (run) { // running... + G4StateManager* stateManager= G4StateManager::GetStateManager(); + G4ApplicationState g4state= stateManager-> GetCurrentState(); + + if (run) { runid= run-> GetRunID(); neventTBP= run -> GetNumberOfEventToBeProcessed(); eventid= run-> GetNumberOfEvent(); + if(g4state == G4State_GeomClosed || g4state == G4State_EventProc) { + status-> StopTimer(); + } } else { runid= 0; eventid= 0; neventTBP= 0; } - G4StateManager* stateManager= G4StateManager::GetStateManager(); - G4ApplicationState g4state= stateManager-> GetCurrentState(); - status-> SetStatus(rank, runid, neventTBP, eventid, g4state); } @@ -307,7 +310,6 @@ void G4MPImanager::ShowStatus() // aggregation nev+= status-> GetEventID(); nevtp+= status-> GetNEventToBeProcessed(); - //mpistate= status-> GetG4State(); cputime+= status-> GetCPUTime(); } @@ -321,13 +323,13 @@ void G4MPImanager::ShowStatus() G4cout << "-------------------------------------------------------" << G4endl << "* #ranks= " << size - << " event= " << nev << "/" << nevtp - << " state= " << strStatus + << " event= " << nev << "/" << nevtp + << " state= " << strStatus << " time= " << cputime << "s" << G4endl; } else { status-> Pack(buff); - COMM_G4COMMAND.Send(buff, G4MPIstatus::NSIZE, MPI::INT, + COMM_G4COMMAND.Send(buff, G4MPIstatus::NSIZE, MPI::INT, RANK_MASTER, TAG_G4STATUS); } } @@ -351,13 +353,13 @@ void G4MPImanager::ShowSeeds() if(isMaster) { // print master - G4cout << "* rank= " << rank - << " seed= " << CLHEP::HepRandom::getTheSeed() + G4cout << "* rank= " << rank + << " seed= " << CLHEP::HepRandom::getTheSeed() << G4endl; // receive from each slave for (G4int islave=1; islave< size; islave++) { COMM_G4COMMAND.Recv(&buff, 1, MPI::LONG, islave, TAG_G4SEED); - G4cout << "* rank= " << islave + G4cout << "* rank= " << islave << " seed= " << buff << G4endl; } @@ -390,7 +392,12 @@ G4bool G4MPImanager::CheckThreadStatus() qstatus= threadID; // get slave status for (G4int islave=1; islave< size; islave++) { - COMM_G4COMMAND.Recv(&buff, 1, MPI::UNSIGNED, islave, TAG_G4STATUS); + MPI::Request request= COMM_G4COMMAND.Irecv(&buff, 1, MPI::UNSIGNED, + islave, TAG_G4STATUS); + MPI::Status status; + while(! request.Test(status)) { + Wait(100); + } qstatus |= buff; } } else { @@ -451,7 +458,7 @@ void G4MPImanager::ExecuteBeamOnThread(const G4String& command) } else { // ok static G4String cmdstr; cmdstr= command; - G4int rc= pthread_create(&threadID, 0, + G4int rc= pthread_create(&threadID, 0, (Func_t)thread_ExecuteThreadCommand, (void*)&cmdstr); if (rc != 0) @@ -486,7 +493,7 @@ G4String G4MPImanager::BcastCommand(const G4String& command) // "command" is not yet fixed in slaves at this time. // waiting message exhausts CPU in LAM! - //COMM_G4COMMAND.Bcast(sbuff, BUFF_SIZE, MPI::CHAR, RANK_MASTER); + //COMM_G4COMMAND.Bcast(sbuff, ssize, MPI::CHAR, RANK_MASTER); // another implementation if( isMaster ) { @@ -513,9 +520,12 @@ G4String G4MPImanager::BcastCommand(const G4String& command) void G4MPImanager::ExecuteMacroFile(const G4String& fname, G4bool qbatch) ///////////////////////////////////////////////////////////////////////// { + G4bool currentmode= qbatchmode; + qbatchmode= true; G4MPIbatch* batchSession= new G4MPIbatch(fname, qbatch); batchSession-> SessionStart(); delete batchSession; + qbatchmode= currentmode; } @@ -551,6 +561,28 @@ void G4MPImanager::BeamOn(G4int nevent, G4bool qdivide) } } +/////////////////////////////// +void G4MPImanager::WaitBeamOn() +/////////////////////////////// +{ + G4int buff= 0; + if (qbatchmode) { // valid only in batch mode + if(isMaster) { + // receive from each slave + for (G4int islave=1; islave< size; islave++) { + MPI::Request request= COMM_G4COMMAND.Irecv(&buff, 1, MPI::INT, + islave, TAG_G4STATUS); + MPI::Status status; + while(! request.Test(status)) { + Wait(1000); + } + } + } else { + buff= 1; + COMM_G4COMMAND.Send(&buff, 1, MPI::INT, RANK_MASTER, TAG_G4STATUS); + } + } +} ///////////////////////////////////////////////// void G4MPImanager::Print(const G4String& message) diff --git a/examples/extended/parallel/MPI/mpi_interface/src/G4MPImessenger.cc b/examples/extended/parallel/MPI/mpi_interface/src/G4MPImessenger.cc index 79df847a58..bf290d8435 100644 --- a/examples/extended/parallel/MPI/mpi_interface/src/G4MPImessenger.cc +++ b/examples/extended/parallel/MPI/mpi_interface/src/G4MPImessenger.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MPImessenger.cc,v 1.1 2007/11/16 14:05:41 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: G4MPImessenger.cc,v 1.3 2010/12/03 08:21:29 kmura Exp $ +// $Name: geant4-09-04 $ // // ==================================================================== // G4MPImessenger.cc @@ -71,7 +71,7 @@ G4MPImessenger::G4MPImessenger( G4MPImanager* manager) // /mpi/execute execute= new G4UIcmdWithAString("/mpi/execute", this); execute-> SetGuidance("Execute a macro file. (=/control/execute)"); - execute-> SetParameterName("fileName", false, false); + execute-> SetParameterName("fileName", false, false); // /mpi/beamOn beamOn= new G4UIcommand("/mpi/beamOn", this); @@ -87,11 +87,17 @@ G4MPImessenger::G4MPImessenger( G4MPImanager* manager) beamOn-> SetParameter(p2); // /mpi/.beamOn - dotbeamOn= new G4UIcmdWithAnInteger("/mpi/.beamOn", this); - dotbeamOn-> SetGuidance("Start a parallel run w/o thread. (=/run/beamOn)"); - dotbeamOn-> SetParameterName("numberOfEvent", true, false); - dotbeamOn-> SetDefaultValue(1); - dotbeamOn-> SetRange("numberOfEvent>=0"); + dotbeamOn= new G4UIcommand("/mpi/.beamOn", this); + dotbeamOn-> SetGuidance("Start a parallel run w/o thread."); + + p1= new G4UIparameter("numberOfEvent", 'i', true); + p1-> SetDefaultValue(1); + p1-> SetParameterRange("numberOfEvent>=0"); + dotbeamOn-> SetParameter(p1); + + p2= new G4UIparameter("divide", 'b', true); + p2-> SetDefaultValue(true); + dotbeamOn-> SetParameter(p2); // /mpi/weightForMaster masterWeight= new G4UIcmdWithADouble("/mpi/masterWeight", this); @@ -134,7 +140,7 @@ G4MPImessenger::~G4MPImessenger() delete showSeeds; delete setMasterSeed; delete setSeed; - + delete dir; } @@ -161,23 +167,26 @@ void G4MPImessenger::SetNewValue( G4UIcommand* command, G4String newValue) g4MPI-> BeamOn(nevent, qdivide); } else if (command == dotbeamOn){ // /mpi/.beamOn - G4int nevent= dotbeamOn-> GetNewIntValue(newValue); - g4MPI-> BeamOn(nevent); + std::istringstream is(newValue); + G4int nevent; + G4bool qdivide; + is >> nevent >> qdivide; + g4MPI-> BeamOn(nevent, qdivide); } else if (command == masterWeight){ // /mpi/masterWeight G4double weight= masterWeight-> GetNewDoubleValue(newValue); g4MPI-> SetMasterWeight(weight); - + } else if (command == showSeeds){ // /mpi/showSeeds g4MPI-> ShowSeeds(); - + } else if (command == setMasterSeed){ // /mpi/setMasterSeed std::istringstream is(newValue); G4long seed; is >> seed; g4MPI-> GetSeedGenerator()-> SetMasterSeed(seed); g4MPI-> DistributeSeeds(); - + } else if (command == setSeed){ // /mpi/setSeed std::istringstream is(newValue); G4int inode; diff --git a/examples/extended/parallel/MPI/mpi_interface/src/G4MPIsession.cc b/examples/extended/parallel/MPI/mpi_interface/src/G4MPIsession.cc index 4ab8bd854b..13341f91f1 100644 --- a/examples/extended/parallel/MPI/mpi_interface/src/G4MPIsession.cc +++ b/examples/extended/parallel/MPI/mpi_interface/src/G4MPIsession.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MPIsession.cc,v 1.1 2007/11/16 14:05:41 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: G4MPIsession.cc,v 1.2 2010/05/18 06:06:21 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // // ==================================================================== // G4MPIsession.cc @@ -124,7 +124,7 @@ G4String G4MPIsession::GetCommand(const char* msg) } else if(nC == "pwd") { // show current directory G4cout << "Current Command Directory : " - << GetCurrentWorkingDirectory() << G4endl; + << GetCurrentWorkingDirectory() << G4endl; newCommand= nullString; } else if(nC == "cwd") { // ... by shell @@ -194,27 +194,21 @@ G4UIsession* G4MPIsession::SessionStart() if(g4MPI-> IsBatchMode()) { g4MPI-> ExecuteMacroFile(g4MPI->GetMacroFileName(), true); return 0; - } - + } + // interactive session G4String newCommand="", scommand; // newCommand is always "" in slaves - - if(isMaster) newCommand= GetCommand(); - // broadcast a new G4 command - scommand= g4MPI-> BcastCommand(newCommand); - if(scommand == "exit" ) return 0; - - while(1){ - ExecCommand(scommand); - // get next ... - if(isMaster) newCommand= GetCommand(); - scommand= g4MPI-> BcastCommand(newCommand); - if(scommand == "exit" ) { - G4bool qexit= TryForcedTerminate(); + while(1) { + if(isMaster) newCommand = GetCommand(); + // broadcast a new G4 command + scommand = g4MPI-> BcastCommand(newCommand); + if(scommand == "exit") { + G4bool qexit = TryForcedTerminate(); if(qexit) break; - else scommand=""; + else scommand = ""; } + ExecCommand(scommand); } return 0; @@ -253,7 +247,7 @@ G4bool G4MPIsession::TryForcedTerminate() } else { xmessage= g4MPI->BcastCommand(""); } - + if(xmessage == "kill me") { G4RunManager* runManager= G4RunManager::GetRunManager(); runManager-> AbortRun(true); // soft abort diff --git a/examples/extended/parallel/MPI/mpi_interface/src/G4MPIstatus.cc b/examples/extended/parallel/MPI/mpi_interface/src/G4MPIstatus.cc index d0a2da8cae..8f78e0413f 100644 --- a/examples/extended/parallel/MPI/mpi_interface/src/G4MPIstatus.cc +++ b/examples/extended/parallel/MPI/mpi_interface/src/G4MPIstatus.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MPIstatus.cc,v 1.1 2007/11/16 14:05:41 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: G4MPIstatus.cc,v 1.2 2010/05/18 06:06:21 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // // ==================================================================== // G4MPIstatus.cc @@ -42,7 +42,7 @@ ////////////////////////// G4MPIstatus::G4MPIstatus() - : rank(0), runID(0), + : rank(0), runID(0), nEventToBeProcessed(0), eventID(0), cputime(0.), @@ -50,7 +50,6 @@ G4MPIstatus::G4MPIstatus() ////////////////////////// { timer= new G4Timer; - timer-> Start(); } @@ -63,7 +62,7 @@ G4MPIstatus::~G4MPIstatus() ///////////////////////////////////////////////////// -void G4MPIstatus::SetStatus(G4int arank, G4int runid, +void G4MPIstatus::SetStatus(G4int arank, G4int runid, G4int noe, G4int evtid, G4ApplicationState state) ///////////////////////////////////////////////////// @@ -73,16 +72,15 @@ void G4MPIstatus::SetStatus(G4int arank, G4int runid, nEventToBeProcessed= noe; eventID= evtid; g4state= state; - - timer-> Stop(); - cputime= timer-> GetUserElapsed(); + if (timer-> IsValid()) cputime= timer-> GetUserElapsed(); + else cputime = 0.; } ///////////////////////////////////////// void G4MPIstatus::Pack(G4int* data) const ///////////////////////////////////////// -{ +{ data[0]= rank; data[1]= runID; data[2]= nEventToBeProcessed; @@ -114,8 +112,8 @@ void G4MPIstatus::Print() const /////////////////////////////// { // * rank= 001 run= 10002 event= 00001 / 100000 state= Idle" - G4cout << "* rank= " << rank - << " run= " << runID + G4cout << "* rank= " << rank + << " run= " << runID << " event= " << eventID << " / " << nEventToBeProcessed << " state= " << GetStateString(g4state) << " time= " << cputime << "s" diff --git a/examples/extended/parallel/MPI/mpi_interface/src/G4VMPIsession.cc b/examples/extended/parallel/MPI/mpi_interface/src/G4VMPIsession.cc index 228f1e641e..20144e8613 100644 --- a/examples/extended/parallel/MPI/mpi_interface/src/G4VMPIsession.cc +++ b/examples/extended/parallel/MPI/mpi_interface/src/G4VMPIsession.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VMPIsession.cc,v 1.1 2007/11/16 14:05:41 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: G4VMPIsession.cc,v 1.2 2010/05/18 06:06:21 kmura Exp $ +// $Name: geant4-09-04-beta-01 $ // // ==================================================================== // G4VMPIsession.cc @@ -93,19 +93,19 @@ void G4VMPIsession::PauseSessionStart(G4String) /////////////////////////////////////////////////// -G4int G4VMPIsession::ExecCommand(G4String aCommand) +G4int G4VMPIsession::ExecCommand(G4String acommand) /////////////////////////////////////////////////// { - if(aCommand.length()<2) return fCommandSucceeded; + if(acommand.length()<2) return fCommandSucceeded; G4UImanager* UI= G4UImanager::GetUIpointer(); G4int returnVal= 0; - G4String command= BypassCommand(aCommand); - + G4String command= BypassCommand(acommand); + // "/mpi/beamOn is threaded out. if(command(0,11) == "/mpi/beamOn") { - g4MPI-> ExecuteBeamOnThread(aCommand); + g4MPI-> ExecuteBeamOnThread(command); returnVal= fCommandSucceeded; } else if(command(0,12) == "/mpi/.beamOn") { // care for beamOn G4bool threadStatus= g4MPI-> CheckThreadStatus(); @@ -182,7 +182,7 @@ G4String G4VMPIsession::TruncateCommand(const G4String& command) const str_size idx; while( (idx= acommand.find("//")) != G4String::npos) { - G4String command1= acommand(0,idx+1); + G4String command1= acommand(0,idx+1); G4String command2= acommand(idx+2, acommand.size()-idx-2); acommand= command1 + command2; } @@ -198,19 +198,29 @@ G4String G4VMPIsession::BypassCommand(const G4String& command) const //////////////////////////////////////////////////////////////////// { // bypass some commands - // /run/beamon -> /mpi/.beamOn - // /control/execute -> /mpi/execute + // * /mpi/beamOn + // -> /mpi/.beamOn (batch session) + // + // * /run/beamOn + // -> /mpi/.beamOn (batch session) + // -> /mpi/beamOn (interactive session) + // + // * /control/execute -> /mpi/execute G4String acommand= command; - if(acommand(0,11) == "/run/beamOn") { - if(g4MPI-> GetVerbose()>0 && isMaster) { - G4cout << "/run/beamOn is overridden by /mpi/.beamOn" - << G4endl; + // /mpi/beamOn + if(acommand(0,11) == "/mpi/beamOn") { + if(g4MPI-> IsBatchMode()) { + acommand= "/mpi/.beamOn"; + if(command.length() > 11) { + acommand +=command.substr(11); + } } + } - acommand= "/mpi/.beamOn "; - + // /run/beamOn + if(acommand(0,11) == "/run/beamOn") { G4String strarg= ""; G4bool qget= false; G4bool qdone= false; @@ -221,21 +231,30 @@ G4String G4VMPIsession::BypassCommand(const G4String& command) const if(qdone) break; continue; } - if(qget) { strarg+= command[idx]; qdone= true; } } - acommand += strarg; - } + if(g4MPI-> IsBatchMode()) { // batch session + acommand= "/mpi/.beamOn "; + if(command.length() > 11) acommand += strarg; + } else { // interactive session + if(g4MPI-> GetVerbose()>0 && isMaster) { + G4cout << "/run/beamOn is overridden by /mpi/.beamOn" << G4endl; + } + acommand= "/mpi/beamOn "; + if(command.length() > 11) acommand += strarg; + } + } + + // /control/execute if(acommand(0,16) == "/control/execute") { if(g4MPI-> GetVerbose()>0 && isMaster) { - G4cout << "/control/execute is overridden by /mpi/execute" + G4cout << "/control/execute is overridden by /mpi/execute" << G4endl; } - acommand.replace(0, 16, "/mpi/execute "); } diff --git a/examples/extended/parallel/ParN02/GNUmakefile b/examples/extended/parallel/ParN02/GNUmakefile index 015d0b3b7d..47b19db36f 100644 --- a/examples/extended/parallel/ParN02/GNUmakefile +++ b/examples/extended/parallel/ParN02/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2002/03/05 15:21:51 gcosmo Exp $ +# $Id: GNUmakefile,v 1.2 2010/01/11 16:56:29 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -10,7 +10,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/parallel/ParN02/History b/examples/extended/parallel/ParN02/History index 77049e2846..47e0eec9a8 100644 --- a/examples/extended/parallel/ParN02/History +++ b/examples/extended/parallel/ParN02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.12 2006/07/05 12:47:48 gcosmo Exp $ +$Id: History,v 1.14 2010/11/05 09:28:00 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,14 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November 5, 2010 - J.Allison - ParN02-V09-03-01 +------------------------- +- Introduced G4UIExecutive. + +June 2, 2010 - J.Perl - ParN02-V09-03-00 +------------------------- +- Updated vis usage + Jul 5th, 2006 G.Cosmo - ParN02-V08-01-00 ---------------------- - Brought up to date with latest fixes introduced in exampleN02. diff --git a/examples/extended/parallel/ParN02/ParN02.cc b/examples/extended/parallel/ParN02/ParN02.cc index 6a2b1c995d..1b794babd2 100644 --- a/examples/extended/parallel/ParN02/ParN02.cc +++ b/examples/extended/parallel/ParN02/ParN02.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ParN02.cc,v 1.5 2006/07/05 12:45:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ParN02.cc,v 1.6 2010/11/05 09:28:00 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....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 + #include "ParTopC.icc" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -98,27 +100,22 @@ 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 (G)UI terminal for interactive mode { - // G4UIterminal is a (dumb) terminal - // - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - UI->ApplyCommand("/run/beamOn 10"); - session->SessionStart(); - delete session; +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + UImanager->ApplyCommand("/run/beamOn 10"); + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } // Free the store: user actions, physics_list and detector_description are diff --git a/examples/extended/parallel/ParN02/initInter.mac b/examples/extended/parallel/ParN02/initInter.mac index b90e11e221..929077f90f 100644 --- a/examples/extended/parallel/ParN02/initInter.mac +++ b/examples/extended/parallel/ParN02/initInter.mac @@ -1,4 +1,4 @@ -# +surface# # Macro file for the initialization phase of "ParN02.cc" # when runing in interactive mode # @@ -7,23 +7,71 @@ /control/verbose 2 /run/verbose 2 # -# create empty scene +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/scene/create -# -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) -# -/vis/open OGLIX +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE # -# draw scene +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -/vis/camera/zoom 1.4 -/vis/camera/viewpoint 90 180 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: /vis/drawVolume # -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) -/tracking/storeTrajectory 1 -/vis/scene/add/trajectories +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/parallel/ParN02/src/ExN02EventAction.cc b/examples/extended/parallel/ParN02/src/ExN02EventAction.cc index 1fb7e473af..3b314b158f 100644 --- a/examples/extended/parallel/ParN02/src/ExN02EventAction.cc +++ b/examples/extended/parallel/ParN02/src/ExN02EventAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN02EventAction.cc,v 1.2 2006/06/29 17:34:41 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExN02EventAction.cc,v 1.3 2010/06/06 05:08:01 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,8 +35,6 @@ #include "G4Event.hh" #include "G4EventManager.hh" #include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,17 +71,6 @@ void ExN02EventAction::EndOfEventAction(const G4Event* evt) G4cout << " " << n_trajectories << " trajectories stored in this event." << G4endl; } - - // extract the trajectories and draw them - // - if (G4VVisManager::GetConcreteInstance()) - { - for (G4int i=0; iGetTrajectoryContainer()))[i]); - trj->DrawTrajectory(50); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN04/GNUmakefile b/examples/extended/parallel/ParN04/GNUmakefile index 54d3d3151a..282c698739 100644 --- a/examples/extended/parallel/ParN04/GNUmakefile +++ b/examples/extended/parallel/ParN04/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2006/11/16 13:38:46 gunter Exp $ +# $Id: GNUmakefile,v 1.4 2010/01/11 16:57:10 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -10,7 +10,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../../../.. endif diff --git a/examples/extended/parallel/ParN04/History b/examples/extended/parallel/ParN04/History index 47dcda7462..fcd23fde6b 100644 --- a/examples/extended/parallel/ParN04/History +++ b/examples/extended/parallel/ParN04/History @@ -1,4 +1,4 @@ -$Id: History,v 1.13 2006/11/18 03:45:57 asaim Exp $ +$Id: History,v 1.16 2010/11/07 11:34:05 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,17 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November 7th, 2010 - J.Allison ParN04-V09-03-02 +- Introduced G4UIExecutive. + +June 5th, 2010 - J.Perl ParN04-V09-03-01 +------------------------- +- Updated vis usage + +June 4th, 2010 V.Ivant - ParN04-V09-03-00 +--------------------- +- Substituted QGSP by QGSP_BERT + Nov 17th, 2006 M.Asai - ParN04-V08-01-02 --------------------- - Fix a bug in ExN04CalorimeterSD.cc which was copied from original diff --git a/examples/extended/parallel/ParN04/ParN04.cc b/examples/extended/parallel/ParN04/ParN04.cc index b6218e2a23..65a409ded5 100644 --- a/examples/extended/parallel/ParN04/ParN04.cc +++ b/examples/extended/parallel/ParN04/ParN04.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ParN04.cc,v 1.6 2006/07/05 13:07:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ParN04.cc,v 1.8 2010/11/07 11:34:05 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -35,11 +35,9 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "ExN04DetectorConstruction.hh" -#include "QGSP.hh" +#include "QGSP_BERT.hh" #include "ExN04PrimaryGeneratorAction.hh" #include "ExN04RunAction.hh" #include "ExN04EventAction.hh" @@ -52,6 +50,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #include "ParTopC.icc" int main(int argc,char** argv) @@ -70,7 +72,7 @@ int main(int argc,char** argv) G4VUserDetectorConstruction* detector = new ExN04DetectorConstruction; runManager->SetUserInitialization(detector); // - G4VUserPhysicsList* physics = new QGSP; + G4VUserPhysicsList* physics = new QGSP_BERT(); runManager->SetUserInitialization(physics); #ifdef G4VIS_USE @@ -108,16 +110,12 @@ int main(int argc,char** argv) if(argc==1) // Define (G)UI terminal for interactive mode { - // G4UIterminal is a (dumb) terminal - // -#ifdef G4UI_USE_TCSH - G4UIsession* session = new G4UIterminal(new G4UItcsh); -#else - G4UIsession* session = new G4UIterminal(); -#endif +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); UImanager->ApplyCommand("/control/execute vis.mac"); - session->SessionStart(); - delete session; + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { diff --git a/examples/extended/parallel/ParN04/src/ExN04EventAction.cc b/examples/extended/parallel/ParN04/src/ExN04EventAction.cc index a45a9cd5bb..9f8e10af0a 100644 --- a/examples/extended/parallel/ParN04/src/ExN04EventAction.cc +++ b/examples/extended/parallel/ParN04/src/ExN04EventAction.cc @@ -34,9 +34,6 @@ #include "G4EventManager.hh" #include "G4HCofThisEvent.hh" #include "G4VHitsCollection.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4SDManager.hh" #include "G4UImanager.hh" #include "G4ios.hh" diff --git a/examples/extended/parallel/ParN04/vis.mac b/examples/extended/parallel/ParN04/vis.mac index aacc1b037b..0cfbc6a4f2 100644 --- a/examples/extended/parallel/ParN04/vis.mac +++ b/examples/extended/parallel/ParN04/vis.mac @@ -1,31 +1,68 @@ +surface# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# Macro file for the initialization phase of "exampleN02.cc" -# when runing in interactive mode +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# Sets some default verbose +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -/control/verbose 2 -/run/verbose 2 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -# create empty scene +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -/vis/scene/create +# Draw geometry: +/vis/drawVolume # -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. # -/vis/open OGLIX +# Specify zoom value: +#/vis/viewer/zoom 2. # -####/vis/open DAWNFILE +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe # -# draw scene +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m # -/vis/viewer/set/viewpointThetaPhi 90 180 deg -/vis/viewer/zoom 1.4 -/vis/viewer/flush +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) # -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) -/tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate - +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/parallel/README b/examples/extended/parallel/README index 938c2de5ab..666c7fe646 100644 --- a/examples/extended/parallel/README +++ b/examples/extended/parallel/README @@ -9,10 +9,6 @@ different techniques for achieving event parallelism with Geant4. adapted to be run together with the TOP-C communication layer application on either a cluster of systems or multi-processor machines. -- ExDiane is a simplified version of the advanced application "brachytherapy" - showing how to run Geant4 in a parallel mode using DIANE (DIstributed - ANalysis Environment). - - MPI is a native interface with MPI libraries. The directory contains a Geant4 UI library and a couple of parallelized examples. Using this interface, users applications can be parllelized with diff --git a/examples/extended/parameterisations/gflash/ExGflash.cc b/examples/extended/parameterisations/gflash/ExGflash.cc index 43220cf348..bc59d9e4c5 100644 --- a/examples/extended/parameterisations/gflash/ExGflash.cc +++ b/examples/extended/parameterisations/gflash/ExGflash.cc @@ -37,8 +37,6 @@ using namespace std; #include "G4Timer.hh" #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" // my project #include "ExGflashDetectorConstruction.hh" @@ -48,7 +46,11 @@ using namespace std; #include "ExGflashRunAction.hh" #ifdef G4VIS_USE -#include "ExGflashVisManager.hh" +#include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" #endif #ifdef G4_SOLVE_TEMPLATES @@ -85,27 +87,31 @@ int main(int argc,char** argv) runManager->SetUserAction(new ExGflashEventAction); runManager->SetUserAction(new ExGflashRunAction); - #ifdef G4VIS_USE - G4VisManager* visManager = new ExGflashVisManager; +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); - #endif +#endif - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand("/run/verbose 0"); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + UImanager->ApplyCommand("/run/verbose 0"); runManager->Initialize(); - UI->ApplyCommand("/Step/Verbose 0"); + UImanager->ApplyCommand("/Step/Verbose 0"); if (argc==1) // Define UI terminal for interactive mode { - G4UIsession * session = new G4UIterminal(new G4UItcsh); - UI->ApplyCommand("/control/execute vis.mac"); - session->SessionStart(); - //delete session; +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { G4String s=*(argv+1); - UI->ApplyCommand("/control/execute "+s); + UImanager->ApplyCommand("/control/execute "+s); } #ifdef G4VIS_USE diff --git a/examples/extended/parameterisations/gflash/History b/examples/extended/parameterisations/gflash/History index 6e8f018481..5c4bf3927b 100644 --- a/examples/extended/parameterisations/gflash/History +++ b/examples/extended/parameterisations/gflash/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2007/05/18 15:22:01 mverderi Exp $ +$Id: History,v 1.8 2010/11/07 11:56:34 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,20 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +07-November 2010, John Allison (exgflash-V09-03-03) +- Introduced G4UIExecutive. + +27-October 2010, Gunter Folger (exgflash-V09-03-02) +- Fix gcc4.x compilation warnings +- Add default production cut to region crystals to shut down warning on stderr + +27-October 2010, Gunter Folger (exgflash-V09-03-01) +- Migrate to new MultipleScattering classes +- fix compilation warning in ExGflashHit.hh on unused variable + +June 4, 2010, J.Perl (exgflash-V09-03-00) +- Update vis usage + May 18, 2007, M. Verderi (exgflash-V08-03-00) - ExGflashPhysicsList.cc : the fast simulation process is now a discrete process diff --git a/examples/extended/parameterisations/gflash/include/ExGflashHit.hh b/examples/extended/parameterisations/gflash/include/ExGflashHit.hh index 8b0c450ffe..7753bbfc39 100644 --- a/examples/extended/parameterisations/gflash/include/ExGflashHit.hh +++ b/examples/extended/parameterisations/gflash/include/ExGflashHit.hh @@ -50,7 +50,7 @@ class ExGflashHit : public G4VHit inline void operator delete(void *aHit); void *operator new(size_t,void*p){return p;} #ifndef G4NOT_ISO_DELETES - void operator delete(void *aHit,void*){} + void operator delete(void *,void*){} #endif void Draw(); diff --git a/examples/extended/parameterisations/gflash/src/ExGflashEventAction.cc b/examples/extended/parameterisations/gflash/src/ExGflashEventAction.cc index 9ad4e63637..d26d3b28b7 100644 --- a/examples/extended/parameterisations/gflash/src/ExGflashEventAction.cc +++ b/examples/extended/parameterisations/gflash/src/ExGflashEventAction.cc @@ -30,12 +30,8 @@ using namespace std; #include "ExGflashHit.hh" #include "G4EventManager.hh" #include "G4SDManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4UImanager.hh" #include "G4TrajectoryContainer.hh" -#include "G4VVisManager.hh" #include "G4Event.hh" //std #include @@ -165,14 +161,6 @@ void ExGflashEventAction::EndOfEventAction(const G4Event *evt) G4int n_trajectories = 0; if(trajectoryContainer){ n_trajectories = trajectoryContainer->entries(); } G4cout << " " << n_trajectories << " trajectories stored in this event." << endl; - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) - { - cout << "DRAWING " <GetTrajectoryContainer()))[i]->DrawTrajectory(50); } - } - } diff --git a/examples/extended/parameterisations/gflash/src/ExGflashPhysicsList.cc b/examples/extended/parameterisations/gflash/src/ExGflashPhysicsList.cc index 7786e66a3c..431b50da37 100644 --- a/examples/extended/parameterisations/gflash/src/ExGflashPhysicsList.cc +++ b/examples/extended/parameterisations/gflash/src/ExGflashPhysicsList.cc @@ -34,6 +34,8 @@ #include "G4ParticleTable.hh" #include "G4Material.hh" #include "G4MaterialTable.hh" +#include "G4Region.hh" +#include "G4RegionStore.hh" #include "G4ios.hh" #include @@ -134,7 +136,9 @@ void ExGflashPhysicsList::AddTransportation() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -178,7 +182,7 @@ void ExGflashPhysicsList::ConstructEM() } else if (particleName == "e-") { //electron // Construct processes for electron - G4VProcess* theeminusMultipleScattering = new G4MultipleScattering(); + G4VProcess* theeminusMultipleScattering = new G4eMultipleScattering(); G4VProcess* theeminusIonisation = new G4eIonisation(); G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung(); // G4VProcess* theeminuscut = new G4UserLimits(); @@ -207,7 +211,7 @@ void ExGflashPhysicsList::ConstructEM() } else if (particleName == "e+") { //positron // Construct processes for positron - G4VProcess* theeplusMultipleScattering = new G4MultipleScattering(); + G4VProcess* theeplusMultipleScattering = new G4eMultipleScattering(); G4VProcess* theeplusIonisation = new G4eIonisation(); G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung(); G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation(); @@ -235,7 +239,7 @@ void ExGflashPhysicsList::ConstructEM() particleName == "mu-" ) { //muon // Construct processes for muon+ - G4VProcess* aMultipleScattering = new G4MultipleScattering(); + G4VProcess* aMultipleScattering = new G4MuMultipleScattering(); G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung(); G4VProcess* aPairProduction = new G4MuPairProduction(); G4VProcess* anIonisation = new G4MuIonisation(); @@ -257,7 +261,7 @@ void ExGflashPhysicsList::ConstructEM() (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { // all others charged particles except geantino - G4VProcess* aMultipleScattering = new G4MultipleScattering(); + G4VProcess* aMultipleScattering = new G4hMultipleScattering(); G4VProcess* anIonisation = new G4hIonisation(); // add processes pmanager->AddProcess(anIonisation); @@ -334,6 +338,10 @@ void ExGflashPhysicsList::SetCuts() DumpCutValuesTable(); +// set cuts for region crystals with default Cuts + G4Region* region = G4RegionStore::GetInstance()->GetRegion("crystals"); + region->SetProductionCuts( + G4ProductionCutsTable::GetProductionCutsTable()->GetDefaultProductionCuts()); } diff --git a/examples/extended/parameterisations/gflash/src/ExGflashSensitiveDetector.cc b/examples/extended/parameterisations/gflash/src/ExGflashSensitiveDetector.cc index 21f004dc2f..a190c2b13b 100644 --- a/examples/extended/parameterisations/gflash/src/ExGflashSensitiveDetector.cc +++ b/examples/extended/parameterisations/gflash/src/ExGflashSensitiveDetector.cc @@ -57,7 +57,7 @@ void ExGflashSensitiveDetector::Initialize(G4HCofThisEvent*HCE) void ExGflashSensitiveDetector::EndOfEvent(G4HCofThisEvent*HCE) { - if (HCE); + if (HCE){;} // No Hadronic // cout<<"IEndOfEvent " << HCID << endl; } @@ -77,7 +77,7 @@ G4bool ExGflashSensitiveDetector::ProcessHits(G4Step* aStep,G4TouchableHistory* caloHit->SetEdep(e); caloHit->SetPos(aStep->GetPreStepPoint()->GetPosition()); caloHitsCollection->insert(caloHit); - if (ROhist); + if (ROhist){;} G4VPhysicalVolume* physVol = theTouchable->GetVolume(); G4int crystalnum=0; for(int i=0;i<100;i++) //@@@@@@@ ExGflashSensitiveDetector:vorsichty @@ -101,7 +101,7 @@ G4bool ExGflashSensitiveDetector::ProcessHits(G4GFlashSpot*aSpot ,G4TouchableHis caloHit->SetEdep(e); caloHit->SetPos(aSpot->GetEnergySpot()->GetPosition()); caloHitsCollection->insert(caloHit); - if (ROhist); + if (ROhist){;} //cout <GetName() << endl; G4int crystalnum=0; for(int i=0;i<100;i++) //@@@@@@@ ExGflashSensitiveDetector:vorsichty diff --git a/examples/extended/parameterisations/gflash/src/ExGflashVisManager.cc b/examples/extended/parameterisations/gflash/src/ExGflashVisManager.cc deleted file mode 100644 index 3c7f7b0041..0000000000 --- a/examples/extended/parameterisations/gflash/src/ExGflashVisManager.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. * -// ******************************************************************** -// -#ifdef G4VIS_USE - -#include "ExGflashVisManager.hh" - -// Supported drivers... - -#ifdef G4VIS_USE_DAWN -#include "G4FukuiRenderer.hh" -#endif - -#ifdef G4VIS_USE_DAWNFILE -#include "G4DAWNFILE.hh" -#endif - -#ifdef G4VIS_USE_OPACS -#include "G4Wo.hh" -#include "G4Xo.hh" -#endif - -#ifdef G4VIS_USE_OPENGLX -#include "G4OpenGLImmediateX.hh" -#include "G4OpenGLStoredX.hh" -#endif - -#ifdef G4VIS_USE_OPENGLWIN32 -#include "G4OpenGLImmediateWin32.hh" -#include "G4OpenGLStoredWin32.hh" -#endif - -#ifdef G4VIS_USE_OPENGLXM -#include "G4OpenGLImmediateXm.hh" -#include "G4OpenGLStoredXm.hh" -#endif - -#ifdef G4VIS_USE_OIX -#include "G4OpenInventorX.hh" -#endif - -#ifdef G4VIS_USE_OIWIN32 -#include "G4OpenInventorWin32.hh" -#endif - -#ifdef G4VIS_USE_RAYX -#include "G4RayX.hh" -#endif - -#ifdef G4VIS_USE_VRML -#include "G4VRML1.hh" -// #include "G4VRML2.hh" -#endif - -#ifdef G4VIS_USE_VRMLFILE -#include "G4VRML1File.hh" -//#include "G4VRML2File.hh" -#endif - -ExGflashVisManager::ExGflashVisManager () {} - -void ExGflashVisManager::RegisterGraphicsSystems () { - -#ifdef G4VIS_USE_DAWN - RegisterGraphicsSystem (new G4FukuiRenderer); -#endif - -#ifdef G4VIS_USE_DAWNFILE - RegisterGraphicsSystem (new G4DAWNFILE); -#endif - -#ifdef G4VIS_USE_OPACS - RegisterGraphicsSystem (new G4Wo); - RegisterGraphicsSystem (new G4Xo); -#endif - -#ifdef G4VIS_USE_OPENGLX - RegisterGraphicsSystem (new G4OpenGLImmediateX); - RegisterGraphicsSystem (new G4OpenGLStoredX); -#endif - -#ifdef G4VIS_USE_OPENGLWIN32 - RegisterGraphicsSystem (new G4OpenGLImmediateWin32); - RegisterGraphicsSystem (new G4OpenGLStoredWin32); -#endif - -#ifdef G4VIS_USE_OPENGLXM - RegisterGraphicsSystem (new G4OpenGLImmediateXm); - RegisterGraphicsSystem (new G4OpenGLStoredXm); -#endif - -#ifdef G4VIS_USE_OIX - RegisterGraphicsSystem (new G4OpenInventorX); -#endif - -#ifdef G4VIS_USE_OIWIN32 - RegisterGraphicsSystem (new G4OpenInventorWin32); -#endif - -#ifdef G4VIS_USE_RAYX - RegisterGraphicsSystem (new G4RayX); -#endif - -#ifdef G4VIS_USE_VRML - RegisterGraphicsSystem (new G4VRML1); -// RegisterGraphicsSystem (new G4VRML2); -#endif - -#ifdef G4VIS_USE_VRMLFILE - RegisterGraphicsSystem (new G4VRML1File); -// RegisterGraphicsSystem (new G4VRML2File); -#endif - - if (fVerbose > 0) { - G4cout << - "\nYou have successfully chosen to use the following graphics systems." - << endl; - PrintAvailableGraphicsSystems (); - } -} - -#endif diff --git a/examples/extended/parameterisations/gflash/vis.mac b/examples/extended/parameterisations/gflash/vis.mac index 6d895039bf..95df0f235e 100644 --- a/examples/extended/parameterisations/gflash/vis.mac +++ b/examples/extended/parameterisations/gflash/vis.mac @@ -7,22 +7,76 @@ /gps/particle e+ /gps/energy 2.0 GeV /gps/direction 0. 0. 1.0 - -/vis/scene/create # -# Create OGLSXma scene handler for a specific graphics system -# (Edit the next le(s) to choose another graphic system) - -/vis/open OGLIX -/vis/viewer/zoom 0.5 - +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view point vector: /vis/viewer/set/viewpointVector 1 1 1 - -/vis/viewer/flush -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) -/tracking/storeTrajectory 1 +# +# Specify zoom value: +/vis/viewer/zoom 0.5 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# /tracking/verbose 0 /GFlash/flag 1 /run/beamOn 2 diff --git a/examples/extended/persistency/P01/GNUmakefile b/examples/extended/persistency/P01/GNUmakefile index 52d4d8b2e9..c90bfbc232 100644 --- a/examples/extended/persistency/P01/GNUmakefile +++ b/examples/extended/persistency/P01/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2006/06/16 13:08:03 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2010/12/01 14:18:27 witoldp Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -10,17 +10,18 @@ G4EXLIB := true LOCALDIR := ${PWD} ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../../../.. endif include $(G4INSTALL)/config/architecture.gmk ifndef PLATFORM - PLATFORM = slc3_ia32_gcc323 + PLATFORM = slc4_ia32_gcc34 endif CPPFLAGS += -I$(ROOTSYS)/include -EXTRALIBS := -L$(ROOTSYS)/lib -lCore -lTree -lCint -lReflex -lCintex -ldl +#EXTRALIBS := -L$(ROOTSYS)/lib -lCore -lTree -lCint -lReflex -lCintex -ldl +EXTRALIBS := $(shell $(ROOTSYS)/bin/root-config --libs) -lReflex -lCintex DICTIONARYPATH := ${G4WORKDIR}/tmp/${G4SYSTEM}/${G4TARGET}/dictionary diff --git a/examples/extended/persistency/P01/History b/examples/extended/persistency/P01/History index 653bcd519b..5710e38097 100644 --- a/examples/extended/persistency/P01/History +++ b/examples/extended/persistency/P01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.1 2006/06/16 12:31:12 gcosmo Exp $ +$Id: History,v 1.4 2010/12/03 14:42:14 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,7 +14,16 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- - -June 01, 06 W. Pokorski + +December 1th, 2010 W.Pokorski, I.Hrivnacova (exampleP01-V09-03-02) +- Updated setup to use latest version of Root. + +November 7th, 2010 J.Allison (exampleP01-V09-03-01) +- Introduced G4UIExecutive. + +June 4th, 2010 J.Perl (exampleP01-V09-03-00) +- Updated vis usage. + +June 01, 06 W.Pokorski - Created. diff --git a/examples/extended/persistency/P01/exampleP01.cc b/examples/extended/persistency/P01/exampleP01.cc index ed016c2e99..903f74351c 100644 --- a/examples/extended/persistency/P01/exampleP01.cc +++ b/examples/extended/persistency/P01/exampleP01.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleP01.cc,v 1.2 2006/06/29 17:38:35 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: exampleP01.cc,v 1.4 2010/12/01 14:18:27 witoldp Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....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) { @@ -79,34 +81,32 @@ int main(int argc,char** argv) { runManager->Initialize(); //get the pointer to the User Interface manager - G4UImanager * UI = G4UImanager::GetUIpointer(); + G4UImanager * UImanager = G4UImanager::GetUIpointer(); if(argc==1) // Define (G)UI terminal for interactive mode { - // G4UIterminal is a (dumb) terminal. - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - - UI->ApplyCommand("/control/execute vis.mac"); - session->SessionStart(); - delete session; +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } #ifdef G4VIS_USE delete visManager; #endif + delete runManager; return 0; diff --git a/examples/extended/persistency/P01/include/RootIO.hh b/examples/extended/persistency/P01/include/RootIO.hh index 83bd9192b0..f687c9e9b3 100644 --- a/examples/extended/persistency/P01/include/RootIO.hh +++ b/examples/extended/persistency/P01/include/RootIO.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RootIO.hh,v 1.3 2006/06/29 17:39:12 gunter Exp $ +// $Id: RootIO.hh,v 1.4 2010/12/01 14:18:27 witoldp Exp $ #ifndef INCLUDE_ROOTIO_HH #define INCLUDE_ROOTIO_HH 1 @@ -48,6 +48,7 @@ public: static RootIO* GetInstance(); void Write(std::vector*); + void Close(); protected: RootIO(); diff --git a/examples/extended/persistency/P01/src/ExP01PhysicsList.cc b/examples/extended/persistency/P01/src/ExP01PhysicsList.cc index b22bf09728..1664d69e7a 100644 --- a/examples/extended/persistency/P01/src/ExP01PhysicsList.cc +++ b/examples/extended/persistency/P01/src/ExP01PhysicsList.cc @@ -24,8 +24,6 @@ // ******************************************************************** // // -// $Id: ExP01PhysicsList.cc,v 1.2 2006/06/29 17:39:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -141,16 +139,17 @@ void ExP01PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" - +#include "G4eMultipleScattering.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 "G4StepLimiter.hh" @@ -174,13 +173,13 @@ void ExP01PhysicsList::ConstructEM() } 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); @@ -188,7 +187,7 @@ void ExP01PhysicsList::ConstructEM() } 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); @@ -197,7 +196,7 @@ void ExP01PhysicsList::ConstructEM() (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); //step limit pmanager->AddProcess(new G4StepLimiter, -1,-1,3); diff --git a/examples/extended/persistency/P01/src/ExP01TrackerSD.cc b/examples/extended/persistency/P01/src/ExP01TrackerSD.cc index c16afb9666..7214487d5d 100644 --- a/examples/extended/persistency/P01/src/ExP01TrackerSD.cc +++ b/examples/extended/persistency/P01/src/ExP01TrackerSD.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExP01TrackerSD.cc,v 1.2 2006/06/29 17:39:43 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExP01TrackerSD.cc,v 1.3 2010/12/01 14:18:27 witoldp Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -50,7 +50,10 @@ ExP01TrackerSD::ExP01TrackerSD(G4String name) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExP01TrackerSD::~ExP01TrackerSD(){ } +ExP01TrackerSD::~ExP01TrackerSD() +{ + RootIO::GetInstance()->Close(); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/RootIO.cc b/examples/extended/persistency/P01/src/RootIO.cc index f9e75629a6..65615e8947 100644 --- a/examples/extended/persistency/P01/src/RootIO.cc +++ b/examples/extended/persistency/P01/src/RootIO.cc @@ -76,3 +76,8 @@ void RootIO::Write(std::vector* hcont) fo->WriteObject(hcont, chevt); } + +void RootIO::Close() +{ + fo->Close(); +} diff --git a/examples/extended/persistency/P01/vis.mac b/examples/extended/persistency/P01/vis.mac index 8e8d3d6041..dc4e0e3030 100644 --- a/examples/extended/persistency/P01/vis.mac +++ b/examples/extended/persistency/P01/vis.mac @@ -6,29 +6,73 @@ # /control/verbose 2 /run/verbose 2 +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# create empty scene +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -/vis/scene/create +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -/vis/open OGLIX +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -####/vis/open DAWNFILE +# Draw geometry: +/vis/drawVolume # -# draw scene +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. # -/vis/viewer/set/viewpointThetaPhi 90 180 deg +# Specify zoom value: /vis/viewer/zoom 1.4 -/vis/viewer/flush # -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) -/tracking/storeTrajectory 1 -/vis/scene/add/trajectories -# (if you prefer refreshing each event, comment out next line) +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# /run/beamOn 10 diff --git a/examples/extended/persistency/P02/GNUmakefile b/examples/extended/persistency/P02/GNUmakefile index 351d3e2046..1235615d06 100644 --- a/examples/extended/persistency/P02/GNUmakefile +++ b/examples/extended/persistency/P02/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2007/11/29 17:05:21 witoldp Exp $ +# $Id: GNUmakefile,v 1.2 2010/01/11 17:03:09 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -10,7 +10,7 @@ G4EXLIB := true LOCALDIR := ${PWD} ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../../../.. endif include $(G4INSTALL)/config/architecture.gmk diff --git a/examples/extended/persistency/P02/History b/examples/extended/persistency/P02/History index 1533c1d848..3a00952caf 100644 --- a/examples/extended/persistency/P02/History +++ b/examples/extended/persistency/P02/History @@ -13,7 +13,15 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- - -November 22, 07 W. Pokorski (exampleP02-V09-00-00) +November 30th, 2010 I.Hrivnacova (exampleP02-V09-03-02) +- Migrated to use particle-based multiple-scattering. + +November 7th, 2010 J.Allison (exampleP02-V09-03-01) +- Introduced G5UIExecutive. + +June 4th, 2010 J.Perl (exampleP02-V09-03-00) +- Updated vis usage. + +November 22nd, 2007 W.Pokorski (exampleP02-V09-00-00) - Created. diff --git a/examples/extended/persistency/P02/exampleP02.cc b/examples/extended/persistency/P02/exampleP02.cc index 46d7b92bdc..a41341855e 100644 --- a/examples/extended/persistency/P02/exampleP02.cc +++ b/examples/extended/persistency/P02/exampleP02.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleP02.cc,v 1.1 2007/11/29 17:05:21 witoldp Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: exampleP02.cc,v 1.2 2010/11/07 14:17:47 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -38,13 +38,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) @@ -92,21 +94,17 @@ int main(int argc, char** argv) runManager->Initialize(); //get the pointer to the User Interface manager - G4UImanager * UI = G4UImanager::GetUIpointer(); + G4UImanager * UImanager = G4UImanager::GetUIpointer(); - // Define (G)UI terminal for interactive mode - // G4UIterminal is a (dumb) terminal. - 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 + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif - UI->ApplyCommand("/control/execute vis.mac"); - session->SessionStart(); - delete session; - #ifdef G4VIS_USE delete visManager; #endif diff --git a/examples/extended/persistency/P02/src/ExP02PhysicsList.cc b/examples/extended/persistency/P02/src/ExP02PhysicsList.cc index ea6607bf51..22889335b9 100644 --- a/examples/extended/persistency/P02/src/ExP02PhysicsList.cc +++ b/examples/extended/persistency/P02/src/ExP02PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExP02PhysicsList.cc,v 1.2 2007/12/10 16:29:25 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExP02PhysicsList.cc,v 1.3 2010/11/30 11:39:49 ivana Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -141,16 +141,17 @@ void ExP02PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" - +#include "G4eMultipleScattering.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 "G4StepLimiter.hh" @@ -174,13 +175,13 @@ void ExP02PhysicsList::ConstructEM() } 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); @@ -188,7 +189,7 @@ void ExP02PhysicsList::ConstructEM() } 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); @@ -197,7 +198,7 @@ void ExP02PhysicsList::ConstructEM() (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); ///pmanager->AddProcess(new G4StepLimiter, -1,-1,3); ///pmanager->AddProcess(new G4UserSpecialCuts, -1,-1,4); diff --git a/examples/extended/persistency/P02/vis.mac b/examples/extended/persistency/P02/vis.mac index d8d128bf23..71625065a5 100644 --- a/examples/extended/persistency/P02/vis.mac +++ b/examples/extended/persistency/P02/vis.mac @@ -8,28 +8,73 @@ /run/verbose 2 /tracking/verbose 2 # -# create empty scene +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/scene/create +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -/vis/open OGLIX +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -####/vis/open DAWNFILE +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -# draw scene +# Draw geometry: +/vis/drawVolume # -/vis/viewer/set/viewpointThetaPhi 60 60 deg +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 60. 60. +# +# Specify zoom value: /vis/viewer/zoom 1.4 -/vis/viewer/flush # -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) -/tracking/storeTrajectory 1 -/vis/scene/add/trajectories -# (if you prefer refreshing each event, comment out next line) +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# /run/beamOn 1 diff --git a/examples/extended/persistency/P03/GNUmakefile b/examples/extended/persistency/P03/GNUmakefile index 0a3b5afd0f..aa4ff452d0 100644 --- a/examples/extended/persistency/P03/GNUmakefile +++ b/examples/extended/persistency/P03/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2008/12/09 17:55:01 arce Exp $ +# $Id: GNUmakefile,v 1.6 2010/11/05 08:52:34 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/persistency/P03/History b/examples/extended/persistency/P03/History index e3f7e311d3..8ff01d1876 100644 --- a/examples/extended/persistency/P03/History +++ b/examples/extended/persistency/P03/History @@ -14,9 +14,26 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +8 November 2010 J.Allison (exampleP03-V09-03-03) +-------------------------- +- Introduced G4UIExecutive. + +7 November 2010 G.Cosmo (exampleP03-V09-03-02) +-------------------------- +- Synchronized files on the HEAD and restored original version. +- Corrected README. + +7 June 2010 G.Cosmo (exampleP03-V09-03-01) +---------------------- +- Do NOT tag the HEAD... + +4 June 2010 J.Perl (exampleP03-V09-03-00) +--------------------- +- Updated vis usage. + 19 November 2009 - P Arce (exampleP03-V09-02-02) -------------------------- -use G4XMultipleScattering in ExTGPhysicsList.cc +- use G4XMultipleScattering in ExTGPhysicsList.cc 20 May 2009 P.Arce (exampleP03-V09-02-01) -------------------------- diff --git a/examples/extended/persistency/P03/README b/examples/extended/persistency/P03/README index 501ebe8899..3eaf27b62c 100644 --- a/examples/extended/persistency/P03/README +++ b/examples/extended/persistency/P03/README @@ -43,19 +43,22 @@ g4geom_assembly.txt : 2.- HOW TO START ? - compile and link to generate an executable - % cd textGeom - % gmake + % cd P03 + % make - execute textGeom in 'batch' mode from macro file % textGeom run.mac -It will read the geometry from a file named 'g4geom.txt', and it will create a VRML2 file to visualise the geometry. -Therefore if you want to try any of the above-mentioned files, copy it to a file with this name, +It will read the geometry from a file named 'g4geom.txt', and it will create a +VRML2 file to visualise the geometry. +Therefore if you want to try any of the above-mentioned files, copy it to a +file with this name, 3.- DEFINING A SENSITIVE DETECTOR -The detector construction class ExTGDetectorConstructionWithSD shows how to access a volume of the text geometry and assign to it a sensitive detector. +The detector construction class ExTGDetectorConstructionWithSD shows how to +access a volume of the text geometry and assign to it a sensitive detector. To use it, replace at exampleTextGeom.cc the line runManager->SetUserInitialization(new ExTGDetectorConstruction); @@ -71,7 +74,9 @@ It will use the geometry from the file 'g4geom_SD.txt' 4.- MIXING TEXT AND C++ GEOMETRIES -The detector construction class ExTGDetectorConstructionWithCpp shows how to create a volume with C++ and place it in the world or inside a volume defined in the text geometry. +The detector construction class ExTGDetectorConstructionWithCpp shows how to +create a volume with C++ and place it in the world or inside a volume defined +in the text geometry. To use it, replace at exampleTextGeom.cc the line runManager->SetUserInitialization(new ExTGDetectorConstruction); @@ -87,7 +92,10 @@ It will use the geometry from the file 'g4geom_simple.txt' 5.- CREATING NEW TAGS IN THE TEXT GEOMETRY: DEFINING CUTS PER REGION -The detector construction class ExTGDetectorConstructionWithCuts, together with ExTGRCLineProcessor, ExTGRCDetectorBuilder, ExTGRCRegionCutsMgr and ExTGRCRegionData show how to add a couple of tags, ':REGION' and ':CUT', that allow to define cuts per region in your input geometry text file. +The detector construction class ExTGDetectorConstructionWithCuts, together with +ExTGRCLineProcessor, ExTGRCDetectorBuilder, ExTGRCRegionCutsMgr and +ExTGRCRegionData show how to add a couple of tags, ':REGION' and ':CUT', that +allow to define cuts per region in your input geometry text file. To use it, replace at exampleTextGeom.cc the line runManager->SetUserInitialization(new ExTGDetectorConstruction); @@ -103,9 +111,11 @@ It will use the geometry from the file 'g4geom_cutsPerRegion.txt' 6.- DUMP THE IN-MEMORY GEOMETRY TO TEXT FILE -The run action 'ExTGRunAction' triggers the writing of the in-memory Geant4 geometry to a text file. +The run action 'ExTGRunAction' triggers the writing of the in-memory Geant4 +geometry to a text file. To use it you just have to uncomment in exampleTextGeom.cc the line runManager->SetUserAction(new ExTGRunAction); -and it will read the geometry from the file 'g4geom.txt' and will write the geometry in a file named 'geom.txt' +and it will read the geometry from the file 'g4geom.txt' and will write the +geometry in a file named 'geom.txt' diff --git a/examples/extended/persistency/P03/geom.txt b/examples/extended/persistency/P03/geom.txt index 648f7a7d8e..b8c9ae31f4 100644 --- a/examples/extended/persistency/P03/geom.txt +++ b/examples/extended/persistency/P03/geom.txt @@ -1,45 +1,52 @@ -:SOLID world BOX 100 100 100 -:ELEM Hydrogen H 1 1.00797 -:ISOT O 8 16 15.9949 -:ISOT O_2 8 17 16.9991 -:ISOT O_3 8 18 17.9992 +:SOLID world BOX 30 30 30 +:ELEM Nitrogen N 7 14 +:ELEM Oxygen O 8 16 +:MIXT Air 0.001214 2 + Nitrogen 0.75 + Oxygen 0.25 +:MATE_MEE Air 85.0729*eV +:VOLU world world Air +:ISOT H1 1 1 1.00783 +:ISOT H2 1 2 2.0141 +:ELEM_FROM_ISOT H H 2 + H1 0.999885 + H2 0.000115 +:ISOT O16 8 16 15.9949 +:ISOT O17 8 17 16.9991 +:ISOT O18 8 18 17.9992 :ELEM_FROM_ISOT O O 3 - O 0.99757 - O_2 0.00038 - O_3 0.00205 -:MIXT Water 1 2 - Hydrogen 0.111901 - O 0.888099 -:VOLU world world Water -:SOLID "my tube" TUBS 0 10 20 0 360 -:ISOT O 8 16 15.9949 -:ISOT O_2 8 17 16.9991 -:ISOT O_3 8 18 17.9992 -:ELEM_FROM_ISOT Oxygen O 3 - O 0.99757 - O_2 0.00038 - O_3 0.00205 -:MIXT WaterNA 1 2 - Hydrogen 0.111901 - Oxygen 0.888099 -:VOLU "my tube" "my tube" WaterNA + O16 0.99757 + O17 0.00038 + O18 0.00205 +:MIXT G4_WATER 1 2 + H 0.111894 + O 0.888106 +:MATE_MEE G4_WATER 78*eV +:VOLU "my tube" world G4_WATER :ROTM RM0 90 0 90 90 0 0 :PLACE "my tube" 1 world RM0 0 0 5 -:SOLID sphere ORB 5 -:ISOT N 7 14 14.0031 -:ISOT N_2 7 15 15.0001 -:ELEM_FROM_ISOT Nytrogen N 2 - N 0.99632 - N_2 0.00368 -:ISOT C 6 12 12 -:ISOT C_2 6 13 13.0034 +:ISOT C12 6 12 12 +:ISOT C13 6 13 13.0034 :ELEM_FROM_ISOT C C 2 - C 0.9893 - C_2 0.0107 -:MIXT Air-CO2 0.0015161 4 - Nytrogen 0.300277 - Oxygen 0.100092 - C 0.598833 - O 0.000797352 -:VOLU sphere sphere Air-CO2 -:PLACE sphere 1 "my tube" RM0 0 1 5 + C12 0.9893 + C13 0.0107 +:ISOT N14 7 14 14.0031 +:ISOT N15 7 15 15.0001 +:ELEM_FROM_ISOT N N 2 + N14 0.99632 + N15 0.00368 +:ISOT Ar36 18 36 35.9675 +:ISOT Ar38 18 38 37.9627 +:ISOT Ar40 18 40 39.9624 +:ELEM_FROM_ISOT Ar Ar 3 + Ar36 0.003365 + Ar38 0.000632 + Ar40 0.996003 +:MIXT G4_AIR 0.00120479 4 + C 0.000124 + N 0.755268 + O 0.231781 + Ar 0.012827 +:MATE_MEE G4_AIR 85.7*eV +:VOLU sphere world G4_AIR +:PLACE sphere 1 "my tube" RM0 0 1 10 diff --git a/examples/extended/persistency/P03/include/ExTGDetectorConstruction.hh b/examples/extended/persistency/P03/include/ExTGDetectorConstruction.hh index d758fc95ff..193b00cd19 100644 --- a/examples/extended/persistency/P03/include/ExTGDetectorConstruction.hh +++ b/examples/extended/persistency/P03/include/ExTGDetectorConstruction.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGDetectorConstruction.hh,v 1.2 2008/12/18 12:56:40 gunter Exp $ +// $Id: ExTGDetectorConstruction.hh,v 1.4 2010/11/05 08:52:34 gcosmo Exp $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithCpp.hh b/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithCpp.hh index d0a8bf0982..c4be4ab5f3 100644 --- a/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithCpp.hh +++ b/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithCpp.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGDetectorConstructionWithCpp.hh,v 1.2 2008/12/18 12:56:42 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGDetectorConstructionWithCpp.hh,v 1.3 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithCuts.hh b/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithCuts.hh index 21c26fb643..dac93715ea 100644 --- a/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithCuts.hh +++ b/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithCuts.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGDetectorConstructionWithCuts.hh,v 1.2 2008/12/18 12:56:44 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGDetectorConstructionWithCuts.hh,v 1.3 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithSD.hh b/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithSD.hh index ae2f3f8e84..eeea61daf2 100644 --- a/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithSD.hh +++ b/examples/extended/persistency/P03/include/ExTGDetectorConstructionWithSD.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExTGDetectorConstructionWithSD.hh,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGDetectorConstructionWithSD.hh,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/include/ExTGPhysicsList.hh b/examples/extended/persistency/P03/include/ExTGPhysicsList.hh index 97951c8822..b94bd96499 100644 --- a/examples/extended/persistency/P03/include/ExTGPhysicsList.hh +++ b/examples/extended/persistency/P03/include/ExTGPhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExTGPhysicsList.hh,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGPhysicsList.hh,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/include/ExTGPrimaryGeneratorAction.hh b/examples/extended/persistency/P03/include/ExTGPrimaryGeneratorAction.hh index 2be357f6d7..7b8069355a 100644 --- a/examples/extended/persistency/P03/include/ExTGPrimaryGeneratorAction.hh +++ b/examples/extended/persistency/P03/include/ExTGPrimaryGeneratorAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGPrimaryGeneratorAction.hh,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGPrimaryGeneratorAction.hh,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/include/ExTGRCDetectorBuilder.hh b/examples/extended/persistency/P03/include/ExTGRCDetectorBuilder.hh index c5f0cd163e..56ae12fa46 100644 --- a/examples/extended/persistency/P03/include/ExTGRCDetectorBuilder.hh +++ b/examples/extended/persistency/P03/include/ExTGRCDetectorBuilder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGRCDetectorBuilder.hh,v 1.3 2008/12/18 12:56:46 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGRCDetectorBuilder.hh,v 1.5 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: P. Arce // Changes: creation May 2007 diff --git a/examples/extended/persistency/P03/include/ExTGRCLineProcessor.hh b/examples/extended/persistency/P03/include/ExTGRCLineProcessor.hh index 8e07ec40cd..a7011fc616 100644 --- a/examples/extended/persistency/P03/include/ExTGRCLineProcessor.hh +++ b/examples/extended/persistency/P03/include/ExTGRCLineProcessor.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGRCLineProcessor.hh,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGRCLineProcessor.hh,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Description: // diff --git a/examples/extended/persistency/P03/include/ExTGRCRegionCutsMgr.hh b/examples/extended/persistency/P03/include/ExTGRCRegionCutsMgr.hh index f7f1af2dc9..fb278a5f12 100644 --- a/examples/extended/persistency/P03/include/ExTGRCRegionCutsMgr.hh +++ b/examples/extended/persistency/P03/include/ExTGRCRegionCutsMgr.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGRCRegionCutsMgr.hh,v 1.2 2008/12/18 12:56:48 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGRCRegionCutsMgr.hh,v 1.3 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: P. Arce // Changes: creation May 2007 diff --git a/examples/extended/persistency/P03/include/ExTGRCRegionData.hh b/examples/extended/persistency/P03/include/ExTGRCRegionData.hh index 60877893d0..7096030aa5 100644 --- a/examples/extended/persistency/P03/include/ExTGRCRegionData.hh +++ b/examples/extended/persistency/P03/include/ExTGRCRegionData.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGRCRegionData.hh,v 1.2 2008/12/18 12:56:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGRCRegionData.hh,v 1.3 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: P. Arce // Changes: creation May 2007 diff --git a/examples/extended/persistency/P03/include/ExTGRunAction.hh b/examples/extended/persistency/P03/include/ExTGRunAction.hh index 21c4ae63b2..520fcce091 100644 --- a/examples/extended/persistency/P03/include/ExTGRunAction.hh +++ b/examples/extended/persistency/P03/include/ExTGRunAction.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExTGRunAction.hh,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGRunAction.hh,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/include/ExTGTrackerHit.hh b/examples/extended/persistency/P03/include/ExTGTrackerHit.hh index cc2d4329ba..a8de6b58b6 100644 --- a/examples/extended/persistency/P03/include/ExTGTrackerHit.hh +++ b/examples/extended/persistency/P03/include/ExTGTrackerHit.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExTGTrackerHit.hh,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGTrackerHit.hh,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/include/ExTGTrackerSD.hh b/examples/extended/persistency/P03/include/ExTGTrackerSD.hh index 4d991032e5..de123dda83 100644 --- a/examples/extended/persistency/P03/include/ExTGTrackerSD.hh +++ b/examples/extended/persistency/P03/include/ExTGTrackerSD.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExTGTrackerSD.hh,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGTrackerSD.hh,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/run.mac b/examples/extended/persistency/P03/run.mac index bb4351496d..2b11db039a 100644 --- a/examples/extended/persistency/P03/run.mac +++ b/examples/extended/persistency/P03/run.mac @@ -11,13 +11,74 @@ /geometry/textInput/verbose 0 /run/initialize - -/vis/scene/create -/vis/open OGLIX - -/vis/scene/add/trajectories +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate - +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush /gun/particle gamma /gun/energy 10 MeV /tracking/verbose 0 diff --git a/examples/extended/persistency/P03/src/ExTGDetectorConstruction.cc b/examples/extended/persistency/P03/src/ExTGDetectorConstruction.cc index 23254c9d75..2e13343a5a 100644 --- a/examples/extended/persistency/P03/src/ExTGDetectorConstruction.cc +++ b/examples/extended/persistency/P03/src/ExTGDetectorConstruction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGDetectorConstruction.cc,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGDetectorConstruction.cc,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithCpp.cc b/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithCpp.cc index 374fc31046..db42eca2a1 100644 --- a/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithCpp.cc +++ b/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithCpp.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGDetectorConstructionWithCpp.cc,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGDetectorConstructionWithCpp.cc,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithCuts.cc b/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithCuts.cc index 66aa24b386..5d1a6af78d 100644 --- a/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithCuts.cc +++ b/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithCuts.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGDetectorConstructionWithCuts.cc,v 1.2 2008/11/03 16:26:56 arce Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGDetectorConstructionWithCuts.cc,v 1.3 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithSD.cc b/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithSD.cc index 411e872bec..889c29dd5e 100644 --- a/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithSD.cc +++ b/examples/extended/persistency/P03/src/ExTGDetectorConstructionWithSD.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExTGDetectorConstructionWithSD.cc,v 1.2 2008/12/18 12:56:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGDetectorConstructionWithSD.cc,v 1.3 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/src/ExTGPhysicsList.cc b/examples/extended/persistency/P03/src/ExTGPhysicsList.cc index f87b16e571..e88ebed16e 100644 --- a/examples/extended/persistency/P03/src/ExTGPhysicsList.cc +++ b/examples/extended/persistency/P03/src/ExTGPhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExTGPhysicsList.cc,v 1.3 2009/11/19 11:34:43 arce Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: ExTGPhysicsList.cc,v 1.4 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/src/ExTGPrimaryGeneratorAction.cc b/examples/extended/persistency/P03/src/ExTGPrimaryGeneratorAction.cc index 192a3950a4..ba474c59ff 100644 --- a/examples/extended/persistency/P03/src/ExTGPrimaryGeneratorAction.cc +++ b/examples/extended/persistency/P03/src/ExTGPrimaryGeneratorAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGPrimaryGeneratorAction.cc,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGPrimaryGeneratorAction.cc,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/src/ExTGRCDetectorBuilder.cc b/examples/extended/persistency/P03/src/ExTGRCDetectorBuilder.cc index 0eca4125ad..59ba1558d7 100644 --- a/examples/extended/persistency/P03/src/ExTGRCDetectorBuilder.cc +++ b/examples/extended/persistency/P03/src/ExTGRCDetectorBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGRCDetectorBuilder.cc,v 1.3 2008/12/18 12:56:54 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGRCDetectorBuilder.cc,v 1.5 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: P. Arce // Changes: creation May 2007 diff --git a/examples/extended/persistency/P03/src/ExTGRCLineProcessor.cc b/examples/extended/persistency/P03/src/ExTGRCLineProcessor.cc index 63732cb289..6a43f27cad 100644 --- a/examples/extended/persistency/P03/src/ExTGRCLineProcessor.cc +++ b/examples/extended/persistency/P03/src/ExTGRCLineProcessor.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGRCLineProcessor.cc,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGRCLineProcessor.cc,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: P. Arce // Changes: creation May 2007 diff --git a/examples/extended/persistency/P03/src/ExTGRCRegionCutsMgr.cc b/examples/extended/persistency/P03/src/ExTGRCRegionCutsMgr.cc index 22be4a78c1..e9dfd73f0e 100644 --- a/examples/extended/persistency/P03/src/ExTGRCRegionCutsMgr.cc +++ b/examples/extended/persistency/P03/src/ExTGRCRegionCutsMgr.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGRCRegionCutsMgr.cc,v 1.3 2008/12/18 12:56:56 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGRCRegionCutsMgr.cc,v 1.4 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: P. Arce // Changes: creation May 2007 diff --git a/examples/extended/persistency/P03/src/ExTGRCRegionData.cc b/examples/extended/persistency/P03/src/ExTGRCRegionData.cc index a2397e4d75..06af2de617 100644 --- a/examples/extended/persistency/P03/src/ExTGRCRegionData.cc +++ b/examples/extended/persistency/P03/src/ExTGRCRegionData.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGRCRegionData.cc,v 1.3 2008/12/18 12:56:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGRCRegionData.cc,v 1.4 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: P. Arce // Changes: creation May 2007 diff --git a/examples/extended/persistency/P03/src/ExTGRunAction.cc b/examples/extended/persistency/P03/src/ExTGRunAction.cc index 56c35cf12d..73632674a7 100644 --- a/examples/extended/persistency/P03/src/ExTGRunAction.cc +++ b/examples/extended/persistency/P03/src/ExTGRunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExTGRunAction.cc,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGRunAction.cc,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/src/ExTGTrackerHit.cc b/examples/extended/persistency/P03/src/ExTGTrackerHit.cc index d9e13bb085..2f22b61823 100644 --- a/examples/extended/persistency/P03/src/ExTGTrackerHit.cc +++ b/examples/extended/persistency/P03/src/ExTGTrackerHit.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExTGTrackerHit.cc,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGTrackerHit.cc,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/src/ExTGTrackerSD.cc b/examples/extended/persistency/P03/src/ExTGTrackerSD.cc index eee47af07a..f60c791b8d 100644 --- a/examples/extended/persistency/P03/src/ExTGTrackerSD.cc +++ b/examples/extended/persistency/P03/src/ExTGTrackerSD.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExTGTrackerSD.cc,v 1.1 2008/11/03 10:06:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExTGTrackerSD.cc,v 1.2 2010/11/05 08:52:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------------- diff --git a/examples/extended/persistency/P03/textGeom.cc b/examples/extended/persistency/P03/textGeom.cc index 3c3ba2068c..007a000b60 100644 --- a/examples/extended/persistency/P03/textGeom.cc +++ b/examples/extended/persistency/P03/textGeom.cc @@ -35,13 +35,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) @@ -70,40 +72,38 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager // - G4UImanager * UI = G4UImanager::GetUIpointer(); + G4UImanager * UImanager = G4UImanager::GetUIpointer(); #ifdef G4VIS_USE - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); #endif + 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 and UI terminal { - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - UI->ApplyCommand("/control/execute run.mac"); - session->SessionStart(); - delete session; - +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); #ifdef G4VIS_USE - delete visManager; -#endif + UImanager->ApplyCommand("/control/execute run.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif } // Free the store: user actions, physics_list and detector_description are // owned and deleted by the run manager, so they should not // be deleted in the main() program ! +#ifdef G4VIS_USE + delete visManager; +#endif delete runManager; return 0; diff --git a/examples/extended/persistency/gdml/G01/History b/examples/extended/persistency/gdml/G01/History index 9451ddaa7e..84d7b43169 100644 --- a/examples/extended/persistency/gdml/G01/History +++ b/examples/extended/persistency/gdml/G01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.12 2009/10/14 13:08:15 gcosmo Exp $ +$Id: History,v 1.20 2010/11/17 10:55:23 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,10 +17,38 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -Oct 14th, 2009 Gabriele Cosmo - G01-V09-02-05 +November 17th, 2010 Gabriele Cosmo G01-V09-03-07 +- Added commented command for de-activating names stripping while reading. + +October 18th, 2010 Witold Pokorski G01-V09-03-06 +- Use world volume for tracking to dump to GDML file. + +October 16th, 2010 John Allison G01-V09-03-05 +- Introduced G4UIExecutive. +- Reverted to OGL in vis.mac. + +October 13th, 2010 Gabriele Cosmo G01-V09-03-04 +- Use OGLIX in vis.mac to restore visualization, not working with OGL ... + +October 13th, 2010 Witold Pokorski +- Use string as second item in auxiliary-value in main(). + +June 4th, 2010 Joseph Perl G01-V09-03-03 +- Updated vis usage. + +June 3rd, 2010 Tatiana Nikitina - G01-V09-03-02 +- Added G4GenericTrap to the solids.gdml sample. + +January 19th, 2010 Gabriele Cosmo - G01-V09-03-01 +- Corrected typo in replicated.gdml file. + +January 8th, 2010 Gabriele Cosmo - G01-V09-03-00 +- Added printout of associated auxiliary information value. + +October 14th, 2009 Gabriele Cosmo - G01-V09-02-05 - Added usage of 'expression' and 'quantity' in solids.gdml. -Sep 24th, 2009 Gabriele Cosmo - G01-V09-02-04 +September 24th, 2009 Gabriele Cosmo - G01-V09-02-04 - Added assembly.gdml to demonstrate support for 'assembly' tags. May 12th, 2009 Gabriele Cosmo - G01-V09-02-03 diff --git a/examples/extended/persistency/gdml/G01/load_gdml.cc b/examples/extended/persistency/gdml/G01/load_gdml.cc index 4932bcd661..d44ddc2e6c 100644 --- a/examples/extended/persistency/gdml/G01/load_gdml.cc +++ b/examples/extended/persistency/gdml/G01/load_gdml.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: load_gdml.cc,v 1.8 2009/05/11 13:03:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: load_gdml.cc,v 1.13 2010/11/17 10:55:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -37,9 +37,6 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIsession.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "G4LogicalVolumeStore.hh" #include "G4TransportationManager.hh" @@ -52,6 +49,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #include "G4GDMLParser.hh" int main(int argc,char **argv) @@ -69,12 +70,11 @@ int main(int argc,char **argv) } G4GDMLParser parser; - parser.Read(argv[1]); - if (argc>=3) - { - parser.Write(argv[2],parser.GetWorldVolume()); - } +// Uncomment the following if wish to avoid names stripping +// parser.SetStripFlag(false); + + parser.Read(argv[1]); if (argc>4) { @@ -92,7 +92,13 @@ int main(int argc,char **argv) runManager->Initialize(); - G4UImanager* UI = G4UImanager::GetUIpointer(); + if (argc>=3) + { + parser.Write(argv[2], G4TransportationManager::GetTransportationManager()-> + GetNavigatorForTracking()->GetWorldVolume()->GetLogicalVolume()); + } + + G4UImanager* UImanager = G4UImanager::GetUIpointer(); /////////////////////////////////////////////////////////////////////// // @@ -107,9 +113,11 @@ int main(int argc,char **argv) for( ipair = auxInfo.begin(); ipair != auxInfo.end(); ipair++ ) { G4String str=ipair->type; + G4String val=ipair->value; G4cout << " Auxiliary Information is found for Logical Volume : " << (*lvciter)->GetName() << G4endl; - G4cout << " Name of Auxiliary type is = " << str << G4endl; + G4cout << " Name of Auxiliary type is : " << str << G4endl; + G4cout << " Associated Auxiliary value is : " << val << G4endl; } } // @@ -121,29 +129,22 @@ int main(int argc,char **argv) { G4String command = "/control/execute "; G4String fileName = argv[3]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } else // interactive mode { +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); #ifdef G4VIS_USE G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); + UImanager->ApplyCommand("/control/execute vis.mac"); #endif - - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif -#ifdef G4VIS_USE - UI->ApplyCommand("/control/execute vis.mac"); -#endif - session->SessionStart(); - delete session; - + ui->SessionStart(); #ifdef G4VIS_USE delete visManager; +#endif + delete ui; #endif } diff --git a/examples/extended/persistency/gdml/G01/replicated.gdml b/examples/extended/persistency/gdml/G01/replicated.gdml index 1053cb9730..13c281981c 100644 --- a/examples/extended/persistency/gdml/G01/replicated.gdml +++ b/examples/extended/persistency/gdml/G01/replicated.gdml @@ -2,7 +2,7 @@ - + diff --git a/examples/extended/persistency/gdml/G01/solids.gdml b/examples/extended/persistency/gdml/G01/solids.gdml index 21416b681c..5e254b3b89 100644 --- a/examples/extended/persistency/gdml/G01/solids.gdml +++ b/examples/extended/persistency/gdml/G01/solids.gdml @@ -32,6 +32,8 @@ + + @@ -45,8 +47,8 @@ + - @@ -63,8 +65,8 @@ - - + + @@ -76,6 +78,12 @@ + + - + - + @@ -113,9 +121,9 @@ - + - + @@ -168,7 +176,7 @@ - + @@ -207,34 +215,42 @@ - + - + - + - + - + - + - + + + + + + + + + @@ -299,7 +315,7 @@ - + @@ -326,7 +342,7 @@ - + @@ -350,7 +366,7 @@ - + @@ -366,10 +382,20 @@ - - + + + + + + + + + + + + diff --git a/examples/extended/persistency/gdml/G01/vis.mac b/examples/extended/persistency/gdml/G01/vis.mac index 1af54e32cb..a8bbf5ef18 100644 --- a/examples/extended/persistency/gdml/G01/vis.mac +++ b/examples/extended/persistency/gdml/G01/vis.mac @@ -1,16 +1,68 @@ -################################################### -# Visualization of detector geometry and events -################################################### - -# create empty scene -/vis/scene/create - -# Create a scene handler for a specific graphics system -/vis/open OGLIX - -# draw scene -/vis/viewer/zoom 1.4 -/vis/viewer/flush - -# (if you prefer not refreshing each event, uncomment next line) -# /vis/scene/endOfEventAction accumulate +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom .4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/persistency/gdml/G02/History b/examples/extended/persistency/gdml/G02/History index d422639d5a..c48c0ccd97 100644 --- a/examples/extended/persistency/gdml/G02/History +++ b/examples/extended/persistency/gdml/G02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.6 2009/04/24 15:47:37 gcosmo Exp $ +$Id: History,v 1.11 2010/11/30 10:53:38 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,23 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November 30th, 2010 Ivana Hrivnacova G02-V09-03-04 +- Moved inclusion of vis headers as last in main(). + +November 17th, 2010 Gabriele Cosmo G02-V09-03-03 +- Restored generic OGL viewer in macros. + +November 7th, 2010 John Allison G02-V09-03-02 +- Introduced G4UiExecutive. + +October 20th, 2010 Gabriele Cosmo G02-V09-03-01 +- Fixed use of obsolete physics-list. +- Temporarly restored OGLIX in macros until migration to G4UIExecutive will + be applied. + +June 4th, 2010 Joseph Perl G02-V09-03-00 +- Updated vis usage. + April 24th, 2009 Gabriele Cosmo - G02-V09-02-02 - Added missing inclusion of headers after cleanup. diff --git a/examples/extended/persistency/gdml/G02/geotest.cc b/examples/extended/persistency/gdml/G02/geotest.cc index 7f4e9581f8..e46bad891b 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.2 2009/02/04 15:54:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: geotest.cc,v 1.5 2010/11/30 10:53:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -37,14 +37,11 @@ // #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" -#include "G4VisExecutive.hh" #include "globals.hh" // A pre-built physics list // -#include "QGSP_EMV.hh" +#include "QGSP_BERT_EMV.hh" // Example includes // @@ -52,6 +49,13 @@ #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif int main(int argc, char** argv) { @@ -59,14 +63,12 @@ int main(int argc, char** argv) // Construct the default run manager // G4RunManager* runManager = new G4RunManager; - G4VisManager* visManager = new G4VisExecutive; - // Set mandatory initialization and user action classes // DetectorConstruction* detector = new DetectorConstruction; runManager->SetUserInitialization(detector); - runManager->SetUserInitialization(new QGSP_EMV); + runManager->SetUserInitialization(new QGSP_BERT_EMV); runManager->SetUserAction(new PrimaryGeneratorAction); RunAction* runAction = new RunAction; runManager->SetUserAction(runAction); @@ -74,42 +76,39 @@ int main(int argc, char** argv) // Initialisation of runManager via macro for the interactive mode // This gives possibility to give different names for GDML file to READ +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); +#endif // Open a UI session: will stay there until the user types "exit" // - G4UIsession* session = 0; + G4UImanager* UImanager = G4UImanager::GetUIpointer(); if ( argc==1 ) // Automatically run default macro for writing... { - -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute vis.mac"); #endif - G4UImanager* UI = G4UImanager::GetUIpointer(); - - UI->ApplyCommand("/control/execute vis.mac"); - - session->SessionStart(); - } - else // Provides macro in input - { -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); + ui->SessionStart(); + delete ui; #endif + } else { // Provides macro in input +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); G4String command = "/control/execute "; G4String fileName = argv[1]; - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand(command+fileName); - session->SessionStart(); + UImanager->ApplyCommand(command+fileName); + ui->SessionStart(); + delete ui; +#endif } - delete session; +#ifdef G4VIS_USE delete visManager; +#endif // Job termination // diff --git a/examples/extended/persistency/gdml/G02/read_gdml.mac b/examples/extended/persistency/gdml/G02/read_gdml.mac index a1f5b1e423..d83c730a5b 100644 --- a/examples/extended/persistency/gdml/G02/read_gdml.mac +++ b/examples/extended/persistency/gdml/G02/read_gdml.mac @@ -10,7 +10,7 @@ /run/initialize # Create a scene handler for a specific graphics system -/vis/open OGLIX +/vis/open OGL # draw scene /vis/viewer/zoom 1.5 diff --git a/examples/extended/persistency/gdml/G02/read_step.mac b/examples/extended/persistency/gdml/G02/read_step.mac index f5aa7b27e6..a2c6240ed9 100644 --- a/examples/extended/persistency/gdml/G02/read_step.mac +++ b/examples/extended/persistency/gdml/G02/read_step.mac @@ -10,7 +10,7 @@ /run/initialize # Create a scene handler for a specific graphics system -/vis/open OGLIX +/vis/open OGL #/vis/open VRML2FILE # draw scene diff --git a/examples/extended/persistency/gdml/G02/vis.mac b/examples/extended/persistency/gdml/G02/vis.mac index 3991e4eae1..c3d49f33e5 100644 --- a/examples/extended/persistency/gdml/G02/vis.mac +++ b/examples/extended/persistency/gdml/G02/vis.mac @@ -6,26 +6,75 @@ /vis/scene/create /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 +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: /vis/drawVolume - -#if you want to see trajectories and hits points -/vis/scene/add/trajectories +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.5 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 0.2 - -# (if you prefer not refreshing each event, uncomment next line) - /vis/scene/endOfEventAction accumulate - +/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# #hard coded position and direction for gun /gun/position 0 0 -0.1 mm /gun/direction 1 0 0 diff --git a/examples/extended/persistency/gdml/G02/write_gdml.mac b/examples/extended/persistency/gdml/G02/write_gdml.mac index f9e2e17d5c..3f168b146a 100644 --- a/examples/extended/persistency/gdml/G02/write_gdml.mac +++ b/examples/extended/persistency/gdml/G02/write_gdml.mac @@ -10,7 +10,7 @@ /run/initialize # Create a scene handler for a specific graphics system -/vis/open OGLIX +/vis/open OGL # draw scene /vis/viewer/zoom 1.5 diff --git a/examples/extended/persistency/gdml/G03/History b/examples/extended/persistency/gdml/G03/History index 6a20c4b4ac..d857f7a024 100644 --- a/examples/extended/persistency/gdml/G03/History +++ b/examples/extended/persistency/gdml/G03/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2009/04/24 15:54:39 gcosmo Exp $ +$Id: History,v 1.11 2010/11/17 11:40:58 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,30 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November 17th, 2010 Gabriele Cosmo G03-V09-03-06 +- Restored generic OGL viewer in macros. + +November 7th, 2010 John Allison G03-V09-03-05 +- Introduced G4UIExecutive. + +October 20th, 2010 Gabriele Cosmo G03-V09-03-04 +- Fixed use of obsolete physics-list. +- Temporarly restored OGLIX in macros until migration to G4UIExecutive will + be applied. + +June 18th, 2010 Gabriele Cosmo - G03-V09-03-03 +- Removed extra call to G4UItcsh in batch mode in main() and cleaned up ... + +June 14th, 2010 Gabriele Cosmo - G03-V09-03-02 +- Corrected selection of G4UItcsh in main() by protecting with its proper + flag G4UI_USE_TCSH. + +June 4th, 2010 Joseph Perl - G03-V09-03-01 +- Updated vis usage. + +March 25th, 2010 Gunter Folger - G03-V09-03-00 +- Do not use G4UItcsh on Windows. + April 24th, 2009 Gabriele Cosmo - G03-V09-02-01 - Added missing inclusion of headers after cleanup. diff --git a/examples/extended/persistency/gdml/G03/gdml_ext.cc b/examples/extended/persistency/gdml/G03/gdml_ext.cc index 09c4280356..05f027ac58 100644 --- a/examples/extended/persistency/gdml/G03/gdml_ext.cc +++ b/examples/extended/persistency/gdml/G03/gdml_ext.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: gdml_ext.cc,v 1.1 2009/04/15 13:26:26 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: gdml_ext.cc,v 1.7 2010/11/07 13:31:07 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -37,14 +37,11 @@ // #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" -#include "G4VisExecutive.hh" #include "globals.hh" // A pre-built physics list // -#include "QGSP_EMV.hh" +#include "QGSP_BERT_EMV.hh" // Example includes // @@ -52,6 +49,13 @@ #include "PrimaryGeneratorAction.hh" #include "RunAction.hh" +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif int main(int argc, char** argv) { @@ -59,14 +63,12 @@ int main(int argc, char** argv) // Construct the default run manager // G4RunManager* runManager = new G4RunManager; - G4VisManager* visManager = new G4VisExecutive; - // Set mandatory initialization and user action classes // DetectorConstruction* detector = new DetectorConstruction; runManager->SetUserInitialization(detector); - runManager->SetUserInitialization(new QGSP_EMV); + runManager->SetUserInitialization(new QGSP_BERT_EMV); runManager->SetUserAction(new PrimaryGeneratorAction); RunAction* runAction = new RunAction; runManager->SetUserAction(runAction); @@ -74,33 +76,41 @@ int main(int argc, char** argv) // Initialisation of runManager via macro for the interactive mode // This gives possibility to give different names for GDML file to READ +#ifdef G4VIS_USE + // Initialize visualization + // + G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); +#endif // run initialisation macro - + G4UImanager* UImanager = G4UImanager::GetUIpointer(); if ( argc==1 ) // Define UI session for interactive mode. { - // Open a tcsh session: will stay there until the user types "exit" - - G4UIsession* session = new G4UIterminal(new G4UItcsh); - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand("/control/execute vis.mac"); - - session->SessionStart(); - delete session; +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); 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; + UImanager->ApplyCommand(command+fileName); + ui->SessionStart(); + delete ui; +#endif } - + +#ifdef G4VIS_USE delete visManager; +#endif // Job termination // diff --git a/examples/extended/persistency/gdml/G03/read_ext.mac b/examples/extended/persistency/gdml/G03/read_ext.mac index 6bc70faf84..dd7e05d4fd 100644 --- a/examples/extended/persistency/gdml/G03/read_ext.mac +++ b/examples/extended/persistency/gdml/G03/read_ext.mac @@ -10,7 +10,7 @@ /run/initialize # Create a scene handler for a specific graphics system -/vis/open OGLIX +/vis/open OGL # draw scene /vis/viewer/zoom 1.5 diff --git a/examples/extended/persistency/gdml/G03/vis.mac b/examples/extended/persistency/gdml/G03/vis.mac index 3991e4eae1..60c703016e 100644 --- a/examples/extended/persistency/gdml/G03/vis.mac +++ b/examples/extended/persistency/gdml/G03/vis.mac @@ -6,26 +6,76 @@ /vis/scene/create /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 +# +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: /vis/drawVolume - -#if you want to see trajectories and hits points -/vis/scene/add/trajectories +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.5 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 0.2 - -# (if you prefer not refreshing each event, uncomment next line) - /vis/scene/endOfEventAction accumulate - +/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# #hard coded position and direction for gun /gun/position 0 0 -0.1 mm /gun/direction 1 0 0 diff --git a/examples/extended/persistency/gdml/G03/write_ext.mac b/examples/extended/persistency/gdml/G03/write_ext.mac index 3ba6799c50..89e0713eea 100644 --- a/examples/extended/persistency/gdml/G03/write_ext.mac +++ b/examples/extended/persistency/gdml/G03/write_ext.mac @@ -10,7 +10,7 @@ /run/initialize # Create a scene handler for a specific graphics system -/vis/open OGLIX +/vis/open OGL # draw scene /vis/viewer/zoom 1.5 diff --git a/examples/extended/persistency/gdml/G04/GNUmakefile b/examples/extended/persistency/gdml/G04/GNUmakefile new file mode 100644 index 0000000000..da30e81721 --- /dev/null +++ b/examples/extended/persistency/gdml/G04/GNUmakefile @@ -0,0 +1,20 @@ +# $Id: GNUmakefile,v 1.1 2010/10/11 08:40:51 gcosmo Exp $ +# -------------------------------------------------------------- +# GNUmakefile for examples module. +# -------------------------------------------------------------- + +name := gdml_det +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../../../.. +endif + +.PHONY: all +all: lib bin +ifndef XERCESCROOT + @echo XERCESCROOT not defined! +endif + +include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/extended/persistency/gdml/G04/History b/examples/extended/persistency/gdml/G04/History new file mode 100644 index 0000000000..0f9d247fa2 --- /dev/null +++ b/examples/extended/persistency/gdml/G04/History @@ -0,0 +1,30 @@ +$Id: History,v 1.4 2010/11/09 10:34:35 allison 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 * + ---------------------------------------------------------- + +November 9th, 2010 J.Allison (G04-V09-03-03) +- Removed unnecessary #include "G4UIsession.hh". + +November 7th, 2010 J.Allison (G04-V09-03-02) +- Introduced G4UIExecutive. + +October 21st, 2010 G.Cosmo (G04-V09-03-01) +- Fixed compilation warning in SensitiveDetector.cc. + +October 11th, 2010 W.Pokorski (G04-V09-03-00) +- Created. diff --git a/examples/extended/persistency/gdml/G04/README b/examples/extended/persistency/gdml/G04/README new file mode 100644 index 0000000000..be9d430b7f --- /dev/null +++ b/examples/extended/persistency/gdml/G04/README @@ -0,0 +1,35 @@ +$Id: README,v 1.1 2010/10/11 08:40:51 gcosmo Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + GDML detector sensitivity + ------------------------- + +This example demonstrates the usage of the GDML auxiliary information for +associating a sensitive detector to a volume. + +The detector construction consists of a call to GDMLProcessor which parses a +GDML file and returns the pointer to the world volume. The user can also write +her/his own GDML file and use it as the primary input format for her/his Geant4 +application. + +A simple GDML files is provided: +- auxiliary.gdml, showing association of a volume with the auxiliary + information, related to the sensitive detector. + +HOW TO BUILD THE EXAMPLE ? + +- You need to have built the persistency/gdml plugin module by having + set G4LIB_BUILD_GDML variable in your environment. + It is also required you specify the path where the XercesC XML parser + package is installed in your system, through the variable XERCESCROOT. + +- Compile and link to generate the executable: + % make + +- Execute the application. + o For parsing interactively the GDML file: + % gdml_det auxiliary.gdml diff --git a/examples/extended/persistency/gdml/G04/auxiliary.gdml b/examples/extended/persistency/gdml/G04/auxiliary.gdml new file mode 100644 index 0000000000..3d3cbb0bf5 --- /dev/null +++ b/examples/extended/persistency/gdml/G04/auxiliary.gdml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/extended/persistency/gdml/G04/g04.mac b/examples/extended/persistency/gdml/G04/g04.mac new file mode 100644 index 0000000000..c15221c3af --- /dev/null +++ b/examples/extended/persistency/gdml/G04/g04.mac @@ -0,0 +1,24 @@ +################################################### +# Batch running of events +################################################### + +# verbosity +/tracking/verbose 1 +/control/verbose 1 +/run/verbose 2 + +# Shoot along Z direction +/run/beamOn 20 +/gun/direction 0 0 -1 +/run/beamOn 20 + +# Shoot along various directions +/tracking/verbose 0 +/gun/direction 0.3 0.2 1 +/run/beamOn 20 +/gun/direction 0.3 -0.2 1 +/run/beamOn 20 +/gun/direction -0.3 0.2 0.6 +/run/beamOn 20 + +exit diff --git a/examples/extended/persistency/gdml/G04/gdml_det.cc b/examples/extended/persistency/gdml/G04/gdml_det.cc new file mode 100644 index 0000000000..ba66084a2f --- /dev/null +++ b/examples/extended/persistency/gdml/G04/gdml_det.cc @@ -0,0 +1,187 @@ +// +// ******************************************************************** +// * 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: gdml_det.cc,v 1.3 2010/11/09 10:34:35 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// -------------------------------------------------------------- +// GEANT 4 - gdml_det +// +// -------------------------------------------------------------- + +#include + +#include "G4RunManager.hh" +#include "G4UImanager.hh" + +#include "G4LogicalVolumeStore.hh" +#include "G4TransportationManager.hh" +#include "G4SDManager.hh" + +#include "PrimaryGeneratorAction.hh" +#include "DetectorConstruction.hh" +#include "PhysicsList.hh" +#include "SensitiveDetector.hh" + +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + +#include "G4GDMLParser.hh" + +int main(int argc,char **argv) +{ + G4cout << G4endl; + G4cout << "Usage: gdml_det " + << G4endl; + G4cout << G4endl; + + if (argc<2) + { + G4cout << "Error! Mandatory input file is not specified!" << G4endl; + G4cout << G4endl; + return -1; + } + + G4GDMLParser parser; + parser.Read(argv[1]); + + + G4RunManager* runManager = new G4RunManager; + + runManager->SetUserInitialization(new DetectorConstruction( + parser.GetWorldVolume())); + runManager->SetUserInitialization(new PhysicsList); + runManager->SetUserAction(new PrimaryGeneratorAction); + + runManager->Initialize(); + + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + + //------------------------------------------------ + // Sensitive detectors + //------------------------------------------------ + + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + + G4String trackerChamberSDname = "Tracker"; + SensitiveDetector* aTrackerSD = new SensitiveDetector(trackerChamberSDname); + SDman->AddNewDetector( aTrackerSD ); + + /////////////////////////////////////////////////////////////////////// + // + // Example how to retrieve Auxiliary Information for sensitive detector + // + const G4GDMLAuxMapType* auxmap = parser.GetAuxMap(); + std::cout << "Found " << auxmap->size() + << " volume(s) with auxiliary information." + << G4endl << G4endl; + for(G4GDMLAuxMapType::const_iterator iter=auxmap->begin(); + iter!=auxmap->end(); iter++) + { + G4cout << "Volume " << ((*iter).first)->GetName() + << " has the following list of auxiliary information: " + << G4endl << G4endl; + for (G4GDMLAuxListType::const_iterator vit=(*iter).second.begin(); + vit!=(*iter).second.end(); vit++) + { + std::cout << "--> Type: " << (*vit).type + << " Value: " << (*vit).value << std::endl; + } + } + G4cout << G4endl; + + // The same as above, but now we are looking for + // sensitive detectors setting them for the volumes + + for(G4GDMLAuxMapType::const_iterator iter=auxmap->begin(); + iter!=auxmap->end(); iter++) + { + G4cout << "Volume " << ((*iter).first)->GetName() + << " has the following list of auxiliary information: " + << G4endl << G4endl; + for (G4GDMLAuxListType::const_iterator vit=(*iter).second.begin(); + vit!=(*iter).second.end();vit++) + { + if ((*vit).type=="SensDet") + { + G4cout << "Attaching sensitive detector " << (*vit).value + << " to volume " << ((*iter).first)->GetName() + << G4endl << G4endl; + + G4VSensitiveDetector* mydet = SDman->FindSensitiveDetector((*vit).value); + if(mydet) + { + G4LogicalVolume* myvol = (*iter).first; + myvol->SetSensitiveDetector(mydet); + } + else + { + G4cout << (*vit).value << " detector not found" << G4endl; + } + } + } + } + // + // End of Auxiliary Information block + // + //////////////////////////////////////////////////////////////////////// + +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + + if (argc==3) // batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[2]; + UImanager->ApplyCommand(command+fileName); + } + else // interactive mode + { +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif + } + +#ifdef G4VIS_USE + delete visManager; +#endif + delete runManager; + + return 0; +} diff --git a/environments/MOMO/MomoHome/include/flatteningFilter.hh b/examples/extended/persistency/gdml/G04/include/DetectorConstruction.hh similarity index 78% rename from environments/MOMO/MomoHome/include/flatteningFilter.hh rename to examples/extended/persistency/gdml/G04/include/DetectorConstruction.hh index 74939f73fe..6c695483f2 100644 --- a/environments/MOMO/MomoHome/include/flatteningFilter.hh +++ b/examples/extended/persistency/gdml/G04/include/DetectorConstruction.hh @@ -23,23 +23,34 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// +// $Id: DetectorConstruction.hh,v 1.1 2010/10/11 08:40:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// -// Geometry Header File -// flatteningFilter.hh generated by Geant4 Geometry Editor at Thu Nov 25 21:17:02 JST 2004 +#ifndef _DETECTORCONSTRUCTION_H_ +#define _DETECTORCONSTRUCTION_H_ - -#ifndef flatteningFilter_h -#define flatteningFilter_h 1 - -class G4VPhysicalVolume; #include "G4VUserDetectorConstruction.hh" -class flatteningFilter: public G4VUserDetectorConstruction - { public: - flatteningFilter(); - ~flatteningFilter(); - public: - G4VPhysicalVolume* Construct(); - }; +class DetectorConstruction : public G4VUserDetectorConstruction +{ + public: + + DetectorConstruction(G4VPhysicalVolume *setWorld = 0) + { + World = setWorld; + } + + G4VPhysicalVolume *Construct() + { + return World; + } + + private: + + G4VPhysicalVolume *World; +}; + #endif - diff --git a/source/processes/hadronic/models/cascade/cascade/include/G4CascadSpecialFunctions.hh b/examples/extended/persistency/gdml/G04/include/PhysicsList.hh similarity index 80% rename from source/processes/hadronic/models/cascade/cascade/include/G4CascadSpecialFunctions.hh rename to examples/extended/persistency/gdml/G04/include/PhysicsList.hh index 88e304662b..e6c5090e94 100644 --- a/source/processes/hadronic/models/cascade/cascade/include/G4CascadSpecialFunctions.hh +++ b/examples/extended/persistency/gdml/G04/include/PhysicsList.hh @@ -23,22 +23,30 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -#ifndef G4CASCAD_SPECIAL_FUNC_HH -#define G4CASCAD_SPECIAL_FUNC_HH +// +// $Id: PhysicsList.hh,v 1.1 2010/10/11 08:40:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +#ifndef _PHYSICSLIST_H_ +#define _PHYSICSLIST_H_ + +#include "G4VUserPhysicsList.hh" +#include "G4ParticleTypes.hh" #include "globals.hh" -#include -#include -#include +class PhysicsList : public G4VUserPhysicsList +{ + public: + PhysicsList(); + ~PhysicsList(); -namespace G4CascadSpecialFunctions { + protected: - std::pair getPositionInEnergyScale3(G4double e); + void ConstructParticle(); + void ConstructProcess(); + void SetCuts(); +}; - G4double absorptionCrosSection(G4double e, G4int type); - - G4double crossSection(G4double e, G4int is); - -} #endif diff --git a/source/physics_lists/lists/include/QGSC.hh b/examples/extended/persistency/gdml/G04/include/PrimaryGeneratorAction.hh similarity index 77% rename from source/physics_lists/lists/include/QGSC.hh rename to examples/extended/persistency/gdml/G04/include/PrimaryGeneratorAction.hh index 2ea1a3df7e..a8c06de514 100644 --- a/source/physics_lists/lists/include/QGSC.hh +++ b/examples/extended/persistency/gdml/G04/include/PrimaryGeneratorAction.hh @@ -23,33 +23,34 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -#ifndef TQGSC_h -#define TQGSC_h 1 +// +// $Id: PrimaryGeneratorAction.hh,v 1.1 2010/10/11 08:40:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +#ifndef _PRIMARYGENERATORACTION_H_ +#define _PRIMARYGENERATORACTION_H_ + +#include "G4VUserPrimaryGeneratorAction.hh" -#include "G4VModularPhysicsList.hh" #include "globals.hh" -#include "CompileTimeConstraints.hh" -template -class TQGSC: public T +class G4Event; +class G4ParticleGun; + +class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { -public: - TQGSC(G4int ver = 1); - virtual ~TQGSC(); - -public: - // SetCuts() - virtual void SetCuts(); + public: -private: - enum {ok = CompileTimeConstraints::IsA::ok }; + PrimaryGeneratorAction(); + ~PrimaryGeneratorAction(); + + void GeneratePrimaries(G4Event* anEvent); + + private: + + G4ParticleGun* particleGun; }; -#include "QGSC.icc" -typedef TQGSC QGSC; - -// 2002 by J.P. Wellisch #endif - - - diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh b/examples/extended/persistency/gdml/G04/include/SensitiveDetector.hh similarity index 77% rename from examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh rename to examples/extended/persistency/gdml/G04/include/SensitiveDetector.hh index ac5d27d150..de1442f4b7 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh +++ b/examples/extended/persistency/gdml/G04/include/SensitiveDetector.hh @@ -24,27 +24,29 @@ // ******************************************************************** // // -// $Id: AnaEx01RunAction.hh,v 1.6 2006/06/29 16:33:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SensitiveDetector.hh,v 1.1 2010/10/11 08:40:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// -#ifndef AnaEx01RunAction_h -#define AnaEx01RunAction_h +#ifndef SensitiveDetector_h +#define SensitiveDetector_h 1 -#include "G4UserRunAction.hh" +#include "G4VSensitiveDetector.hh" -class AnaEx01AnalysisManager; +class G4Step; + +class SensitiveDetector : public G4VSensitiveDetector +{ + public: + SensitiveDetector(const G4String&); + ~SensitiveDetector(); + + void Initialize(G4HCofThisEvent*); + G4bool ProcessHits(G4Step*, G4TouchableHistory*); + void EndOfEvent(G4HCofThisEvent*); + + private: -class AnaEx01RunAction : public G4UserRunAction { -public: - AnaEx01RunAction(AnaEx01AnalysisManager* = 0); - ~AnaEx01RunAction(); -public: - void BeginOfRunAction(const G4Run*); - void EndOfRunAction(const G4Run*); -private: - AnaEx01AnalysisManager* fAnalysisManager; }; #endif diff --git a/examples/extended/persistency/gdml/G04/src/PhysicsList.cc b/examples/extended/persistency/gdml/G04/src/PhysicsList.cc new file mode 100644 index 0000000000..6c514def76 --- /dev/null +++ b/examples/extended/persistency/gdml/G04/src/PhysicsList.cc @@ -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. * +// ******************************************************************** +// +// +// $Id: PhysicsList.cc,v 1.1 2010/10/11 08:40:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +#include "PhysicsList.hh" + +PhysicsList::PhysicsList() +{ +} + +PhysicsList::~PhysicsList() +{ +} + +void PhysicsList::ConstructParticle() +{ + G4Geantino::GeantinoDefinition(); +} + +void PhysicsList::ConstructProcess() +{ + AddTransportation(); +} + +void PhysicsList::SetCuts() +{ + G4int temp = GetVerboseLevel(); + SetVerboseLevel(0); + SetCutsWithDefault(); + SetVerboseLevel(temp); +} diff --git a/environments/MOMO/MomoHome/src/MomoPrimaryGeneratorAction.cc b/examples/extended/persistency/gdml/G04/src/PrimaryGeneratorAction.cc similarity index 65% rename from environments/MOMO/MomoHome/src/MomoPrimaryGeneratorAction.cc rename to examples/extended/persistency/gdml/G04/src/PrimaryGeneratorAction.cc index 965000840b..a2e0331695 100644 --- a/environments/MOMO/MomoHome/src/MomoPrimaryGeneratorAction.cc +++ b/examples/extended/persistency/gdml/G04/src/PrimaryGeneratorAction.cc @@ -23,59 +23,51 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. // -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. +// $Id: PrimaryGeneratorAction.cc,v 1.1 2010/10/11 08:40:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // -// 1998 Dec 10, updated for geant4-00 , Hajime Yoshida -// 2002 March update for geant4.4.0 - -#include "MomoPrimaryGeneratorAction.hh" - +#include "PrimaryGeneratorAction.hh" #include "G4Event.hh" #include "G4ParticleGun.hh" -#include "G4UImanager.hh" -#include "globals.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" -MomoPrimaryGeneratorAction::MomoPrimaryGeneratorAction() +PrimaryGeneratorAction::PrimaryGeneratorAction() { G4int n_particle = 1; particleGun = new G4ParticleGun(n_particle); - // G4UImanager* UI = G4UImanager::GetUIpointer(); - //UI->ApplyCommand("/gun/particle geantino"); - //UI->ApplyCommand("/gun/energy 1.0 GeV"); - //UI->ApplyCommand("/gun/position -2.0 0.0 0.0 m"); + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + G4String particleName; + particleGun->SetParticleDefinition( + particleTable->FindParticle(particleName="geantino")); + particleGun->SetParticleEnergy(1.0*GeV); + particleGun->SetParticlePosition(G4ThreeVector(-2.0*m, 0.1, 0.1)); } -MomoPrimaryGeneratorAction::~MomoPrimaryGeneratorAction() +PrimaryGeneratorAction::~PrimaryGeneratorAction() { delete particleGun; } -void MomoPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - /* - G4UImanager* UI = G4UImanager::GetUIpointer(); G4int i = anEvent->GetEventID() % 3; + G4ThreeVector v(1.0,0.0,0.0); switch(i) { case 0: - UI->ApplyCommand("/gun/direction 1.0 0.0 0.0"); break; case 1: - UI->ApplyCommand("/gun/direction 1.0 0.1 0.0"); + v.setY(0.1); break; case 2: - UI->ApplyCommand("/gun/direction 1.0 0.0 0.1"); + v.setZ(0.1); break; } - */ + particleGun->SetParticleMomentumDirection(v); particleGun->GeneratePrimaryVertex(anEvent); } - - diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh b/examples/extended/persistency/gdml/G04/src/SensitiveDetector.cc similarity index 72% rename from examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh rename to examples/extended/persistency/gdml/G04/src/SensitiveDetector.cc index f42893fd99..26d276ad00 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh +++ b/examples/extended/persistency/gdml/G04/src/SensitiveDetector.cc @@ -24,34 +24,40 @@ // ******************************************************************** // // -// $Id: PhysListEmPenelope.hh,v 1.2 2009/10/12 21:47:57 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: SensitiveDetector.cc,v 1.2 2010/10/21 13:13:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// -#ifndef PhysListEmPenelope_h -#define PhysListEmPenelope_h 1 +#include "SensitiveDetector.hh" +#include "G4HCofThisEvent.hh" +#include "G4Step.hh" +#include "G4ThreeVector.hh" +#include "G4SDManager.hh" +#include "G4ios.hh" -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class PhysListEmPenelope : public G4VPhysicsConstructor +SensitiveDetector::SensitiveDetector(const G4String& name) + : G4VSensitiveDetector(name) { -public: - PhysListEmPenelope(const G4String& name = "Penelope"); - - virtual ~PhysListEmPenelope(); - - virtual void ConstructParticle() { }; - virtual void ConstructProcess(); -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#endif +} +SensitiveDetector::~SensitiveDetector() +{ +} +void SensitiveDetector::Initialize(G4HCofThisEvent*) +{ +} +G4bool SensitiveDetector::ProcessHits(G4Step*, G4TouchableHistory*) +{ + G4cout << "Processing hits ...." << G4endl; + return true; +} + + +void SensitiveDetector::EndOfEvent(G4HCofThisEvent*) +{ +} diff --git a/examples/extended/persistency/gdml/G04/vis.mac b/examples/extended/persistency/gdml/G04/vis.mac new file mode 100644 index 0000000000..59afa7a3c0 --- /dev/null +++ b/examples/extended/persistency/gdml/G04/vis.mac @@ -0,0 +1,16 @@ +################################################### +# Visualization of detector geometry and events +################################################### + +# create empty scene +/vis/scene/create + +# Create a scene handler for a specific graphics system +/vis/open OGL + +# draw scene +/vis/viewer/zoom 1.4 +/vis/viewer/flush + +# (if you prefer not refreshing each event, uncomment next line) +# /vis/scene/endOfEventAction accumulate diff --git a/examples/extended/persistency/gdml/README b/examples/extended/persistency/gdml/README index 9790dff944..d207c81979 100644 --- a/examples/extended/persistency/gdml/README +++ b/examples/extended/persistency/gdml/README @@ -11,5 +11,7 @@ plugin module in Geant4. integrating them in a real simulation application. G03 Simple example showing how to import extensions to the GDML schema. + G04 Simple example showing how to associate detector sensitivity + to a logical-volume, making use of the auxiliary-information. See the README file inside each example for more detail. diff --git a/examples/extended/polarisation/Pol01/History b/examples/extended/polarisation/Pol01/History index 03f99a98b7..66c2cb0561 100644 --- a/examples/extended/polarisation/Pol01/History +++ b/examples/extended/polarisation/Pol01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.9 2009/11/21 16:27:40 vnivanch Exp $ +$Id: History,v 1.13 2010/11/09 20:19:49 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,18 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +09-11-10 M.Asai (expol01-V09-03-03) +- Fix AIDA file option. + +08-11-10 J.Perl (expol01-V09-03-02) +- Introduced G4UIExecutive. + +06-06-10 J.Perl (expol01-V09-03-01) +- Remove unused variable in EventAction + +04-06-10 J.Perl (expol01-V09-03-00) +- Updated vis usage + 20-11-09 V.Ivanchenko (expol01-V09-02-00) - Update msc processes according to 9.3 scheme diff --git a/examples/extended/polarisation/Pol01/pol01.cc b/examples/extended/polarisation/Pol01/pol01.cc index 8b9669964e..26c254b7ae 100644 --- a/examples/extended/polarisation/Pol01/pol01.cc +++ b/examples/extended/polarisation/Pol01/pol01.cc @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pol01.cc,v 1.2 2006/10/02 16:25:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: pol01.cc,v 1.3 2010/11/08 16:58:33 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....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" @@ -45,7 +43,11 @@ #include "HistoManager.hh" #ifdef G4VIS_USE - #include "G4VisExecutive.hh" +#include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" #endif //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -77,34 +79,31 @@ int main(int argc,char** argv) { runManager->SetUserAction(new SteppingAction(det,prim,run,histo)); // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); if (argc==1) // Define UI terminal for interactive mode { #ifdef G4VIS_USE - // visualization manager 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 G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } // job termination - if(visManager) delete visManager; +#ifdef G4VIS_USE + delete visManager; +#endif delete histo; delete runManager; diff --git a/examples/extended/polarisation/Pol01/pol01.out b/examples/extended/polarisation/Pol01/pol01.out index db15f409d7..c5e8d847cd 100644 --- a/examples/extended/polarisation/Pol01/pol01.out +++ b/examples/extended/polarisation/Pol01/pol01.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -51,61 +51,61 @@ 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= 10 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 Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV Sampling according Polarized-Compton model ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Polarized-Compton : Emin= 0 eV Emax= 100 GeV + Polarized-Compton : Emin= 0 eV Emax= 100 GeV pol-conv: for gamma SubType= 14 Lambda tables from 1.022 MeV to 100 GeV in 100 bins, spline: 1 Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; sampling secondary e+e- according to the polarized compton cross section ===== EM models for the G4Region DefaultRegionForTheWorld ====== - polConv : Emin= 0 eV Emax= 100 GeV + polConv : 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: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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 - Lambda tables from threshold to 100 TeV in 120 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 Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. ===== EM models for the G4Region DefaultRegionForTheWorld ====== -PolarizedMollerBhabha : Emin= 0 eV Emax= 100 TeV +PolarizedMollerBhabha : Emin= 0 eV Emax= 10 TeV pol-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 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PolBrem : Emin= 0 eV Emax= 10 TeV + PolBrem : Emin= 0 eV Emax= 10 TeV AngularGenUrban pol-eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 120 bins - Lambda tables from threshold to 100 TeV in 120 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 Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. ===== EM models for the G4Region DefaultRegionForTheWorld ====== -PolarizedMollerBhabha : Emin= 0 eV Emax= 100 TeV +PolarizedMollerBhabha : Emin= 0 eV Emax= 10 TeV pol-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 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PolBrem : Emin= 0 eV Emax= 10 TeV + PolBrem : Emin= 0 eV Emax= 10 TeV AngularGenUrban pol-annihil: for e+ SubType= 5 Lambda tables from 100 eV to 100 TeV in 120 bins, spline: 1 Polarized model for annihilation into 2 photons ===== EM models for the G4Region DefaultRegionForTheWorld ====== -Polarized-Annihilation : Emin= 0 eV Emax= 100 TeV +Polarized-Annihilation : Emin= 0 eV Emax= 100 TeV annih-numOfCouples=2 annih- 0/2 annih- 1 @@ -152,39 +152,39 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=0.23s Real=0.23s Sys=0s + User=0.19s Real=0.2s 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.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 + float_seed_table[] = 0.667644 0.15336 0.223815 0.775985 0.300207 0.497873 0.734488 0.237053 0.897878 0.998879 0.961285 0.236212 0.955737 0.147895 0.0947751 0.468668 0.582416 0.169396 0.914981 0.347548 0.982821 0.155053 0.392512 0.00176686 + i_lag = 15, j_lag = 1 + carry = 5.96046e-08, count24 = 4 luxury = 3 nskip = 199 ---------------------------------------- Process calls frequency ---> - Transportation = 31248 - pol-compt = 283 - pol-eBrem = 383 - msc = 2968 - pol-conv = 201 - pol-phot = 174 - pol-eIoni = 584 - pol-annihil = 60 + Transportation = 31180 + pol-compt = 266 + pol-eBrem = 369 + msc = 3088 + pol-conv = 222 + pol-eIoni = 601 + pol-annihil = 71 + pol-phot = 183 Gamma: -Mean Number per Event :1.0115 -Mean Energy :9.5556 MeV +- 1.9431 MeV -Mean Polarization :-0.96279 +- 0.18598 +Mean Number per Event :1.0099 +Mean Energy :9.5624 MeV +- 1.9402 MeV +Mean Polarization :-0.96262 +- 0.18572 Electron: -Mean Number per Event :0.0363 -Mean Energy :4.9456 MeV +- 2.608 MeV -Mean Polarization :-0.702 +- 0.30913 +Mean Number per Event :0.0338 +Mean Energy :5.2631 MeV +- 2.4883 MeV +Mean Polarization :-0.71982 +- 0.29902 Positron: -Mean Number per Event :0.0146 -Mean Energy :4.1287 MeV +- 2.1373 MeV -Mean Polarization :-0.59393 +- 0.3522 +Mean Number per Event :0.0153 +Mean Energy :4.4374 MeV +- 1.9898 MeV +Mean Polarization :-0.63198 +- 0.30184 # UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/polarisation/Pol01/src/EventAction.cc b/examples/extended/polarisation/Pol01/src/EventAction.cc index 2bd9adf943..be27e66a55 100644 --- a/examples/extended/polarisation/Pol01/src/EventAction.cc +++ b/examples/extended/polarisation/Pol01/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.3 2010/06/07 05:40:46 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -34,9 +34,6 @@ #include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4UnitsTable.hh" #include "RunAction.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -67,21 +64,9 @@ void EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event*) { if (runAction) runAction->EventFinished(); - - if (G4VVisManager::GetConcreteInstance()) - { - G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); - for (G4int i=0; iGetTrajectoryContainer()))[i]); - trj->DrawTrajectory(1000); - } - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/HistoManager.cc b/examples/extended/polarisation/Pol01/src/HistoManager.cc index a980a1dd0b..f97abb65aa 100644 --- a/examples/extended/polarisation/Pol01/src/HistoManager.cc +++ b/examples/extended/polarisation/Pol01/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.3 2006/11/17 11:44:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HistoManager.cc,v 1.4 2010/11/09 20:19:49 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,7 +54,7 @@ HistoManager::HistoManager() fileName[0] = "pol01.aida"; fileType = "xml"; - fileOption = "compress=yes"; + fileOption = ""; // histograms for (G4int k=0; k storeTrajectory 0 -/tracking/storeTrajectory 1 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 60. 25. +# +# Specify zoom value: +/vis/viewer/zoom 1.4 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# /run/beamOn 10 diff --git a/examples/extended/radioactivedecay/README b/examples/extended/radioactivedecay/README new file mode 100644 index 0000000000..666d008a68 --- /dev/null +++ b/examples/extended/radioactivedecay/README @@ -0,0 +1,18 @@ + + Geant4 extended examples - radioactive decay + -------------------------------------------- + + Examples in this directory demonstrate the use of some features of the + Radioactive-Decay hadronic model in Geant4. + +rdecay01 +-------- + + This example allows to display basic features of the radioactive decay + of a nuclei: energy spectrum of emitted particles, time of life, activity. + +rdecay02 +-------- + + This example illustrates more advanced features of the package: + selected decay channels, time window, bias and variance reduction technique. diff --git a/examples/extended/radioactivedecay/exrdm/macros/beam.data b/examples/extended/radioactivedecay/exrdm/macros/beam.data deleted file mode 100644 index 8c1e647d5d..0000000000 --- a/examples/extended/radioactivedecay/exrdm/macros/beam.data +++ /dev/null @@ -1,3 +0,0 @@ -0 1e6 -60. 0 - diff --git a/examples/extended/radioactivedecay/exrdm/macros/currentEvent.rndm b/examples/extended/radioactivedecay/exrdm/macros/currentEvent.rndm deleted file mode 100644 index 66ff8d0c06..0000000000 --- a/examples/extended/radioactivedecay/exrdm/macros/currentEvent.rndm +++ /dev/null @@ -1,5 +0,0 @@ -Uvec -1878463799 -0 -609849693 -1595966591 diff --git a/examples/extended/radioactivedecay/exrdm/macros/currentRun.rndm b/examples/extended/radioactivedecay/exrdm/macros/currentRun.rndm deleted file mode 100644 index a95a8869a1..0000000000 --- a/examples/extended/radioactivedecay/exrdm/macros/currentRun.rndm +++ /dev/null @@ -1,5 +0,0 @@ -Uvec -1878463799 -0 -120500656 -1464021611 diff --git a/examples/extended/radioactivedecay/exrdm/macros/measures.data b/examples/extended/radioactivedecay/exrdm/macros/measures.data deleted file mode 100644 index e3ec13d3f3..0000000000 --- a/examples/extended/radioactivedecay/exrdm/macros/measures.data +++ /dev/null @@ -1,7 +0,0 @@ -1000 1 -1100 0 -3000 1 -3100 0 -1e5 1 -1.1e5 0 - diff --git a/examples/extended/radioactivedecay/exrdm/macros/oldEvent.rndm b/examples/extended/radioactivedecay/exrdm/macros/oldEvent.rndm deleted file mode 100644 index ee54cff5af..0000000000 --- a/examples/extended/radioactivedecay/exrdm/macros/oldEvent.rndm +++ /dev/null @@ -1,2 +0,0 @@ -0 -120500656 1464021611 diff --git a/examples/extended/radioactivedecay/exrdm/macros/runall.log b/examples/extended/radioactivedecay/exrdm/macros/runall.log deleted file mode 100644 index 11a7b558bb..0000000000 --- a/examples/extended/radioactivedecay/exrdm/macros/runall.log +++ /dev/null @@ -1,5897 +0,0 @@ - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### 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 -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### Run : 0 - -********************************************************************************************************* -* G4Track Information: Particle = Ba133[0.0], 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 0 0 0 0 Target initStep -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 - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = nu_e, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.0804 0 0 0 Target initStep - 1 -0.00915 -0.00403 0.00442 0.0804 0 0.0109 0.0109 Detector Transportation - 2 -183 -80.6 88.4 0.0804 0 219 219 OutOfWorld Transportation - -********************************************************************************************************* -* 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 0 0 0.0172 0 0 0 Target initStep - 1 3.65e-06 0.000271 0.00023 0 0.0172 0.00319 0.00319 Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.384 0 0 0 Target initStep - 1 0.00148 -0.00157 -0.005 0.384 0 0.00545 0.00545 World Transportation - 2 0.00686 -0.00727 -0.0232 0.384 0 0.0198 0.0253 Detector Transportation - 3 0.356 -0.377 -1.2 0.187 0 1.28 1.31 Detector compt - 4 0.426 -0.136 -1.14 0.109 0 0.258 1.57 Detector compt - 5 0.134 -0.963 -1.09 0.0787 0 0.879 2.45 Detector compt - 6 -0.457 1.26 -1.82 0.0734 0 2.41 4.86 Detector compt - 7 -0.266 1.47 -1.84 0 0.0111 0.286 5.14 Detector phot - -********************************************************************************************************* -* 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 -0.266 1.47 -1.84 0.0623 0 0 0 Detector initStep - 1 -0.269 1.47 -1.84 0 0.0623 0.0198 0.0198 Detector 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 -0.457 1.26 -1.82 0.00523 0 0 0 Detector initStep - 1 -0.458 1.26 -1.82 0 0.00523 0.000329 0.000329 Detector 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 0.134 -0.963 -1.09 0.0302 0 0 0 Detector initStep - 1 0.134 -0.964 -1.09 0 0.0302 0.00584 0.00584 Detector 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 0.426 -0.136 -1.14 0.0779 0 0 0 Detector initStep - 1 0.428 -0.132 -1.14 0 0.0779 0.0288 0.0288 Detector 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 0.356 -0.377 -1.2 0.197 0 0 0 Detector initStep - 1 0.358 -0.39 -1.22 0 0.197 0.13 0.13 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.031 0 0 0 Target initStep - 1 -0.00282 0.00134 0.005 0.031 0 0.00589 0.00589 World Transportation - 2 -0.00903 0.0043 0.016 0.031 0 0.013 0.0189 Detector Transportation - 3 -0.197 0.0937 0.349 0 0.0111 0.392 0.411 Detector phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.197 0.0937 0.349 0.0199 0 0 0 Detector initStep - 1 -0.197 0.0941 0.349 0 0.0199 0.00286 0.00286 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = Cs133[0.0], Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 2.61e-08 0 0 0 Target initStep - 1 2.42e-10 1.06e-10 -1.17e-10 0 2.61e-08 1.16e-07 1.16e-07 Target ionIoni - 2 2.42e-10 1.06e-10 -1.17e-10 0 0 0 1.16e-07 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = Ba133[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = nu_e, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.0804 0 0 0 Target initStep - 1 -0.00367 0.00224 -0.005 0.0804 0 0.00659 0.00659 World Transportation - 2 -0.00853 0.00522 -0.0116 0.0804 0 0.00874 0.0153 Detector Transportation - 3 -147 89.8 -200 0.0804 0 264 264 OutOfWorld Transportation - -********************************************************************************************************* -* 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 0 0 0.356 0 0 0 Target initStep - 1 -0.000719 0.00349 0.005 0.356 0 0.00614 0.00614 World Transportation - 2 -0.00202 0.00979 0.014 0.356 0 0.0111 0.0172 Detector Transportation - 3 -1.01 4.89 7.01 0 0.0111 8.59 8.61 Detector phot - -********************************************************************************************************* -* 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.01 4.89 7.01 0.345 0 0 0 Detector initStep - 1 -1.05 4.91 6.99 0 0.345 0.302 0.302 Detector 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 0 0 0.045 0 0 0 Target initStep - 1 0.00088 0.000722 0.000143 0.0441 0.000883 0.00135 0.00135 Target msc - 2 0.00076 0.00184 0.000365 0.0434 0.00071 0.00135 0.0027 Target msc - 3 0.00122 0.00239 0.00125 0.0411 0.0023 0.00135 0.00405 Target msc - 4 0.0017 0.00314 0.00192 0.0398 0.00132 0.00135 0.00541 Target msc - 5 0.00265 0.00343 0.0014 0.0389 0.000927 0.00135 0.00676 Target msc - 6 0.00281 0.00332 0.000313 0.0381 0.000783 0.00135 0.00811 Target msc - 7 0.00331 0.00299 -0.000604 0.037 0.00109 0.00135 0.00946 Target msc - 8 0.00242 0.00251 -0.000981 0.0348 0.00218 0.00135 0.0108 Target msc - 9 0.00255 0.00311 -0.00185 0.0332 0.00165 0.00135 0.0122 Target msc - 10 0.00313 0.00331 -0.00269 0.0292 0.00401 0.00135 0.0135 Target msc - 11 0.00331 0.00427 -0.00282 0.0269 0.00224 0.00135 0.0149 Target msc - 12 0.00399 0.00481 -0.00322 0.0206 0.00633 0.00135 0.0162 Target msc - 13 0.0041 0.00445 -0.00395 0.0161 0.00453 0.00135 0.0176 Target msc - 14 0.00453 0.0046 -0.00444 0.00768 0.00837 0.00134 0.0189 Target msc - 15 0.00457 0.00451 -0.00441 0 0.00768 0.000881 0.0198 Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.031 0 0 0 Target initStep - 1 -7.18e-05 0.01 0.00133 0.031 0 0.0101 0.0101 Detector Transportation - 2 -0.000627 0.0873 0.0116 0 0.0111 0.078 0.0881 Detector phot - -********************************************************************************************************* -* 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 -0.000627 0.0873 0.0116 0.0199 0 0 0 Detector initStep - 1 -0.000727 0.0872 0.012 0 0.0199 0.00286 0.00286 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = Cs133[0.0], Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 2.61e-08 0 0 0 Target initStep - 1 1.61e-10 -9.83e-11 2.19e-10 0 2.61e-08 1.16e-07 1.16e-07 Target ionIoni - 2 1.61e-10 -9.83e-11 2.19e-10 0 0 0 1.16e-07 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = Ba133[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = nu_e, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.0804 0 0 0 Target initStep - 1 0.00113 0.00994 0.000868 0.0804 0 0.01 0.01 Detector Transportation - 2 22.7 199 17.4 0.0804 0 201 201 OutOfWorld Transportation - -********************************************************************************************************* -* 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 0 0 0.035 0 0 0 Target initStep - 1 0.00864 -0.00504 -0.00191 0.035 0 0.0102 0.0102 Detector Transportation - 2 0.0175 -0.0102 -0.00386 0 0.0111 0.0104 0.0206 Detector phot - -********************************************************************************************************* -* 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.0175 -0.0102 -0.00386 0.0239 0 0 0 Detector initStep - 1 0.0177 -0.0106 -0.00353 0 0.0239 0.00392 0.00392 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.356 0 0 0 Target initStep - 1 -0.003 -0.00752 -0.005 0.356 0 0.00952 0.00952 World Transportation - 2 -0.00371 -0.00929 -0.00617 0.356 0 0.00223 0.0118 Detector Transportation - 3 -2.27 -5.69 -3.78 0.183 0 7.19 7.2 Detector compt - 4 -3.09 -4.73 -3.87 0 0.0111 1.26 8.47 Detector phot - -********************************************************************************************************* -* 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 -3.09 -4.73 -3.87 0.171 0 0 0 Detector initStep - 1 -3.09 -4.72 -3.88 0 0.171 0.105 0.105 Detector 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 -2.27 -5.69 -3.78 0.173 0 0 0 Detector initStep - 1 -2.27 -5.71 -3.79 0 0.173 0.107 0.107 Detector 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 0 0 0.045 0 0 0 Target initStep - 1 0.00017 -0.000371 -0.000993 0.0445 0.000464 0.00125 0.00125 Target msc - 2 -0.000411 -0.000977 -0.00127 0.0415 0.00302 0.001 0.00225 Target msc - 3 -0.000589 -0.0017 -0.00162 0.0396 0.0019 0.000932 0.00318 Target msc - 4 -0.000627 -0.00242 -0.00133 0.0388 0.000787 0.000876 0.00406 Target msc - 5 -0.00106 -0.00278 -0.000774 0.0377 0.0011 0.000916 0.00498 Target msc - 6 -0.0012 -0.00365 -0.000644 0.0366 0.00113 0.00106 0.00603 Target msc - 7 -0.00129 -0.00369 0.000258 0.0353 0.00128 0.00109 0.00712 Target msc - 8 -0.00144 -0.00292 0.00081 0.0345 0.000828 0.00119 0.00831 Target msc - 9 -0.00211 -0.00244 0.000554 0.0337 0.000835 0.00105 0.00935 Target msc - 10 -0.00189 -0.00274 -0.000267 0.0304 0.00327 0.00111 0.0105 Target msc - 11 -0.00133 -0.00344 -0.000443 0.0293 0.00113 0.00118 0.0116 Target msc - 12 -0.00145 -0.0043 -0.000417 0.0266 0.00269 0.00114 0.0128 Target msc - 13 -0.00228 -0.00438 -0.000544 0.0226 0.00398 0.00115 0.0139 Target msc - 14 -0.00277 -0.00489 -0.000261 0.0176 0.00495 0.00111 0.015 Target msc - 15 -0.00279 -0.00472 6.55e-05 0 0.0176 0.00334 0.0184 Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = Cs133[0.0], Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 2.61e-08 0 0 0 Target initStep - 1 -3.26e-11 -2.86e-10 -2.5e-11 0 2.61e-08 1.16e-07 1.16e-07 Target ionIoni - 2 -3.26e-11 -2.86e-10 -2.5e-11 0 0 0 1.16e-07 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = Ba133[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = nu_e, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.0804 0 0 0 Target initStep - 1 -0.000217 0.000746 0.005 0.0804 0 0.00506 0.00506 World Transportation - 2 -0.00279 0.0096 0.0643 0.0804 0 0.0601 0.0651 Detector Transportation - 3 -8.69 29.8 200 0.0804 0 202 202 OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.031 0 0 0 Target initStep - 1 -0.000828 0.00288 0.005 0.031 0 0.00583 0.00583 World Transportation - 2 -0.00276 0.00961 0.0167 0.031 0 0.0136 0.0194 Detector Transportation - 3 -0.00776 0.0271 0.0469 0 0.0111 0.0353 0.0547 Detector 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.00776 0.0271 0.0469 0.0199 0 0 0 Detector initStep - 1 -0.00807 0.0267 0.047 0 0.0199 0.00286 0.00286 Detector eIoni - -********************************************************************************************************* -* 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 0 0 0.276 0 0 0 Target initStep - 1 -0.00542 0.0084 0.00361 0.276 0 0.0106 0.0106 Detector Transportation - 2 -5.85 9.06 3.89 0.225 0 11.5 11.5 Detector compt - 3 -22 10.5 3.95 0.2 0 16.2 27.7 Detector compt - 4 -63.5 25.5 43.7 0.131 0 59.4 87.1 Detector compt - 5 -61.6 25.8 44.5 0 0.0111 2.03 89.1 Detector phot - -********************************************************************************************************* -* 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 -61.6 25.8 44.5 0.12 0 0 0 Detector initStep - 1 -61.6 25.8 44.5 0 0.12 0.0588 0.0588 Detector 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 -63.5 25.5 43.7 0.0696 0 0 0 Detector initStep - 1 -63.5 25.5 43.7 0 0.0696 0.024 0.024 Detector 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 -22 10.5 3.95 0.0247 0 0 0 Detector initStep - 1 -22 10.5 3.95 0 0.0247 0.00413 0.00413 Detector 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 -5.85 9.06 3.89 0.0513 0 0 0 Detector initStep - 1 -5.85 9.06 3.89 0 0.0513 0.0143 0.0143 Detector 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 0 0 0.0436 0 0 0 Target initStep - 1 -0.000409 -9.32e-05 0.00098 0.0403 0.00337 0.00125 0.00125 Target msc - 2 -0.000901 -0.000722 0.00163 0.0385 0.00173 0.00123 0.00248 Target msc - 3 -0.00148 -0.00132 0.00221 0.0379 0.000643 0.00123 0.0037 Target msc - 4 -0.00195 -0.00196 0.00283 0.0372 0.000735 0.00123 0.00493 Target msc - 5 -0.00223 -0.00282 0.00238 0.0341 0.00308 0.00123 0.00615 Target msc - 6 -0.00164 -0.00238 0.00174 0.0311 0.00297 0.00123 0.00738 Target msc - 7 -0.00176 -0.00182 0.00249 0.0284 0.00268 0.00123 0.0086 Target msc - 8 -0.00173 -0.00181 0.0034 0.0237 0.00471 0.00123 0.00983 Target msc - 9 -0.0013 -0.00252 0.00342 0.0207 0.00305 0.00123 0.0111 Target msc - 10 -0.000988 -0.00305 0.00296 0.016 0.00465 0.00123 0.0123 Target msc - 11 -0.00121 -0.00319 0.00237 0.00913 0.00687 0.00123 0.0135 Target msc - 12 -0.00133 -0.00314 0.00235 0 0.00913 0.00116 0.0147 Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.081 0 0 0 Target initStep - 1 0.00127 0.00992 -0.00342 0.081 0 0.0106 0.0106 Detector Transportation - 2 0.276 2.16 -0.745 0 0.0111 2.29 2.3 Detector phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.276 2.16 -0.745 0.0699 0 0 0 Detector initStep - 1 0.277 2.16 -0.743 0 0.0699 0.0242 0.0242 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = Cs133[0.0], Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 2.61e-08 0 0 0 Target initStep - 1 1.24e-11 -4.26e-11 -2.85e-10 0 2.61e-08 1.16e-07 1.16e-07 Target ionIoni - 2 1.24e-11 -4.26e-11 -2.85e-10 0 0 0 1.16e-07 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = Ba133[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = nu_e, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.0804 0 0 0 Target initStep - 1 -0.00113 0.00994 -0.000739 0.0804 0 0.01 0.01 Detector Transportation - 2 -22.6 199 -14.8 0.0804 0 201 201 OutOfWorld Transportation - -********************************************************************************************************* -* 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 0 0 0.276 0 0 0 Target initStep - 1 0.00705 0.00709 0.00255 0.276 0 0.0103 0.0103 Detector Transportation - 2 14.9 15 5.4 0.158 0 21.8 21.8 Detector compt - 3 11.9 10.8 -31.1 0.0985 0 36.9 58.7 Detector compt - 4 11.2 11.9 -27.1 0 0.0111 4.24 62.9 Detector phot - -********************************************************************************************************* -* 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 11.2 11.9 -27.1 0.0874 0 0 0 Detector initStep - 1 11.2 11.9 -27.1 0 0.0874 0.0351 0.0351 Detector 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 11.9 10.8 -31.1 0.0597 0 0 0 Detector initStep - 1 11.9 10.8 -31.1 0 0.0597 0.0185 0.0185 Detector 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 14.9 15 5.4 0.118 0 0 0 Detector initStep - 1 14.9 15 5.41 0 0.118 0.0576 0.0576 Detector 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 0 0 0.0436 0 0 0 Target initStep - 1 0.000471 -0.000718 0.000632 0.0427 0.000898 0.00125 0.00125 Target msc - 2 0.000406 -0.0013 0.00151 0.042 0.000741 0.00124 0.00249 Target msc - 3 0.0011 -0.00206 0.00172 0.0374 0.00463 0.00124 0.00373 Target msc - 4 0.00184 -0.00139 0.00188 0.0366 0.000746 0.00124 0.00497 Target msc - 5 0.00176 -0.000478 0.00231 0.0353 0.00137 0.00124 0.00621 Target msc - 6 0.00205 0.0004 0.00268 0.0319 0.00333 0.00124 0.00745 Target msc - 7 0.00195 0.00133 0.00293 0.0244 0.00755 0.00124 0.00869 Target msc - 8 0.00196 0.00107 0.00374 0.0227 0.00172 0.00124 0.00993 Target msc - 9 0.00258 0.00104 0.00428 0.017 0.00563 0.00124 0.0112 Target msc - 10 0.00231 0.00151 0.00388 0.0145 0.00251 0.00124 0.0124 Target msc - 11 0.00278 0.00169 0.00419 0.0063 0.00821 0.00124 0.0137 Target msc - 12 0.0028 0.00176 0.00422 0 0.0063 0.00065 0.0143 Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.081 0 0 0 Target initStep - 1 -0.00353 -0.00141 0.005 0.081 0 0.00628 0.00628 World Transportation - 2 -0.00929 -0.0037 0.0131 0.081 0 0.0102 0.0165 Detector Transportation - 3 -1.6 -0.636 2.26 0 0.0111 2.82 2.84 Detector phot - -********************************************************************************************************* -* 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 -1.6 -0.636 2.26 0.0699 0 0 0 Detector initStep - 1 -1.6 -0.637 2.26 0 0.0699 0.0242 0.0242 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = Cs133[0.0], Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 2.61e-08 0 0 0 Target initStep - 1 3.25e-11 -2.86e-10 2.13e-11 0 2.61e-08 1.16e-07 1.16e-07 Target ionIoni - 2 3.25e-11 -2.86e-10 2.13e-11 0 0 0 1.16e-07 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = Ba133[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = nu_e, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.0804 0 0 0 Target initStep - 1 0.00431 -0.00586 0.005 0.0804 0 0.00882 0.00882 World Transportation - 2 0.00593 -0.00805 0.00688 0.0804 0 0.00331 0.0121 Detector Transportation - 3 119 -161 138 0.0804 0 243 243 OutOfWorld Transportation - -********************************************************************************************************* -* 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 0 0 0.031 0 0 0 Target initStep - 1 0.00414 -0.00237 -0.005 0.031 0 0.00691 0.00691 World Transportation - 2 0.00868 -0.00497 -0.0105 0.031 0 0.00759 0.0145 Detector Transportation - 3 0.0165 -0.00945 -0.02 0 0.0111 0.0131 0.0276 Detector phot - -********************************************************************************************************* -* 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.0165 -0.00945 -0.02 0.0199 0 0 0 Detector initStep - 1 0.0163 -0.00914 -0.0203 0 0.0199 0.00286 0.00286 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.356 0 0 0 Target initStep - 1 0.00371 -0.00518 0.005 0.356 0 0.0081 0.0081 World Transportation - 2 0.00582 -0.00813 0.00785 0.356 0 0.00461 0.0127 Detector Transportation - 3 12.7 -17.8 17.2 0.152 0 27.8 27.8 Detector compt - 4 12.6 -16.9 16.6 0 0.0111 1.05 28.8 Detector phot - -********************************************************************************************************* -* 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 12.6 -16.9 16.6 0.141 0 0 0 Detector initStep - 1 12.6 -16.9 16.6 0 0.141 0.077 0.077 Detector 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 12.7 -17.8 17.2 0.204 0 0 0 Detector initStep - 1 12.7 -17.8 17.2 0 0.204 0.137 0.137 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.081 0 0 0 Target initStep - 1 0.00994 -0.00114 0.00456 0.081 0 0.011 0.011 Detector Transportation - 2 1.83 -0.21 0.842 0 0.0111 2.02 2.03 Detector phot - -********************************************************************************************************* -* 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 1.83 -0.21 0.842 0.0699 0 0 0 Detector initStep - 1 1.83 -0.211 0.845 0 0.0699 0.0242 0.0242 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = Cs133[0.0], Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 2.61e-08 0 0 0 Target initStep - 1 -1.41e-10 1.92e-10 -1.64e-10 0 2.61e-08 1.16e-07 1.16e-07 Target ionIoni - 2 -1.41e-10 1.92e-10 -1.64e-10 0 0 0 1.16e-07 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = Ba133[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = nu_e, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.0804 0 0 0 Target initStep - 1 0.000931 0.00996 0.00355 0.0804 0 0.0106 0.0106 Detector Transportation - 2 18.6 199 71.1 0.0804 0 212 212 OutOfWorld Transportation - -********************************************************************************************************* -* 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 0 0 0.356 0 0 0 Target initStep - 1 -0.00235 0.000607 -0.005 0.356 0 0.00556 0.00556 World Transportation - 2 -0.00968 0.0025 -0.0206 0.356 0 0.0173 0.0229 Detector Transportation - 3 -20.3 5.24 -43.2 0.172 0 47.9 48 Detector compt - 4 -24.4 1.3 -36.4 0 0.0111 8.86 56.8 Detector phot - -********************************************************************************************************* -* 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 -24.4 1.3 -36.4 0.161 0 0 0 Detector initStep - 1 -24.4 1.28 -36.4 0 0.161 0.0946 0.0946 Detector 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 -20.3 5.24 -43.2 0.184 0 0 0 Detector initStep - 1 -20.3 5.24 -43.2 0 0.184 0.117 0.117 Detector 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 0 0 0.045 0 0 0 Target initStep - 1 -0.000313 0.000304 0.00121 0.0438 0.00124 0.00156 0.00156 Target msc - 2 0.000701 0.00107 0.00136 0.0417 0.00205 0.00156 0.00311 Target msc - 3 0.00172 0.0015 0.000745 0.0394 0.0023 0.00156 0.00467 Target msc - 4 0.00287 0.00131 0.00116 0.0368 0.0026 0.00156 0.00622 Target msc - 5 0.00173 0.00104 0.00145 0.0336 0.0032 0.00156 0.00778 Target msc - 6 0.000987 0.00023 0.00183 0.0316 0.00205 0.00156 0.00934 Target msc - 7 0.00196 -0.000273 0.00214 0.0291 0.00244 0.00156 0.0109 Target msc - 8 0.00194 -0.00125 0.00261 0.0215 0.00764 0.00156 0.0124 Target msc - 9 0.00163 -0.00209 0.00248 0.0187 0.00277 0.00156 0.014 Target msc - 10 0.00164 -0.00279 0.00291 0.0134 0.00534 0.00156 0.0156 Target msc - 11 0.00137 -0.00261 0.00339 0.00618 0.00719 0.00156 0.0171 Target msc - 12 0.00138 -0.00254 0.00337 0 0.00618 0.000632 0.0177 Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.0358 0 0 0 Target initStep - 1 0.00542 0.0084 0.00205 0.0358 0 0.0102 0.0102 Detector Transportation - 2 0.0145 0.0224 0.00548 0 0.0111 0.017 0.0272 Detector phot - -********************************************************************************************************* -* 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 0.0145 0.0224 0.00548 0.0247 0 0 0 Detector initStep - 1 0.0148 0.0223 0.00605 0 0.0247 0.00413 0.00413 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = Cs133[0.0], Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 2.61e-08 0 0 0 Target initStep - 1 -2.53e-11 -2.71e-10 -9.67e-11 0 2.61e-08 1.16e-07 1.16e-07 Target ionIoni - 2 -2.53e-11 -2.71e-10 -9.67e-11 0 0 0 1.16e-07 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = Ba133[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = nu_e, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.0804 0 0 0 Target initStep - 1 -0.000341 -0.000678 0.005 0.0804 0 0.00506 0.00506 World Transportation - 2 -0.0045 -0.00893 0.0659 0.0804 0 0.0616 0.0666 Detector Transportation - 3 -13.7 -27.1 200 0.0804 0 202 202 OutOfWorld Transportation - -********************************************************************************************************* -* 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 0 0 0.0172 0 0 0 Target initStep - 1 -0.000288 0.000122 0.00017 0 0.0172 0.00319 0.00319 Target eIoni - -********************************************************************************************************* -* 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 0 0 0.303 0 0 0 Target initStep - 1 0.00141 0.00592 -0.005 0.303 0 0.00788 0.00788 World Transportation - 2 0.00232 0.00973 -0.00821 0.303 0 0.00506 0.0129 Detector Transportation - 3 3.55 14.9 -12.6 0.276 0 19.8 19.8 Detector compt - 4 3.43 15.1 -13.1 0.265 0 0.612 20.4 Detector compt - 5 3.3 15.2 -13.4 0 0.0111 0.309 20.7 Detector phot - -********************************************************************************************************* -* 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 3.3 15.2 -13.4 0.254 0 0 0 Detector initStep - 1 3.3 15.2 -13.4 0 0.254 0.192 0.192 Detector 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 3.43 15.1 -13.1 0.0107 0 0 0 Detector initStep - 1 3.43 15.1 -13.1 0 0.0107 0.00103 0.00103 Detector 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 3.55 14.9 -12.6 0.027 0 0 0 Detector initStep - 1 3.55 14.9 -12.6 0 0.027 0.00483 0.00483 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.081 0 0 0 Target initStep - 1 0.000385 -0.000535 -0.005 0.081 0 0.00504 0.00504 World Transportation - 2 0.00585 -0.00811 -0.0758 0.081 0 0.0714 0.0765 Detector Transportation - 3 0.337 -0.467 -4.37 0 0.0111 4.33 4.41 Detector phot - -********************************************************************************************************* -* 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 0.337 -0.467 -4.37 0.0699 0 0 0 Detector initStep - 1 0.34 -0.47 -4.37 0 0.0699 0.0242 0.0242 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.031 0 0 0 Target initStep - 1 0.00646 0.00764 0.00335 0.031 0 0.0105 0.0105 Detector Transportation - 2 0.00875 0.0103 0.00454 0 0.0111 0.00375 0.0143 Detector phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00875 0.0103 0.00454 0.0199 0 0 0 Detector initStep - 1 0.00882 0.0108 0.00475 0 0.0199 0.00286 0.00286 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = Cs133[0.0], Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 2.61e-08 0 0 0 Target initStep - 1 1.95e-11 3.87e-11 -2.86e-10 0 2.61e-08 1.16e-07 1.16e-07 Target ionIoni - 2 1.95e-11 3.87e-11 -2.86e-10 0 0 0 1.16e-07 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = Ba133[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = nu_e, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.0804 0 0 0 Target initStep - 1 -0.0083 -0.00557 0.000834 0.0804 0 0.01 0.01 Detector Transportation - 2 -166 -111 16.7 0.0804 0 201 201 OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.356 0 0 0 Target initStep - 1 0.00488 -0.00873 -0.00281 0.356 0 0.0104 0.0104 Detector Transportation - 2 2.46 -4.39 -1.41 0.34 0 5.21 5.23 Detector compt - 3 14.1 -31.5 -23.2 0.189 0 36.7 41.9 Detector compt - 4 25.3 -34.2 -7.4 0.128 0 19.6 61.5 Detector compt - 5 21.3 -37.1 -6.82 0 0.0111 4.97 66.5 Detector phot - -********************************************************************************************************* -* 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 21.3 -37.1 -6.82 0.117 0 0 0 Detector initStep - 1 21.3 -37.1 -6.81 0 0.117 0.0569 0.0569 Detector 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 25.3 -34.2 -7.4 0.0606 0 0 0 Detector initStep - 1 25.3 -34.2 -7.4 0 0.0606 0.0189 0.0189 Detector 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 14.1 -31.5 -23.2 0.151 0 0 0 Detector initStep - 1 14.1 -31.5 -23.3 0 0.151 0.0854 0.0854 Detector 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 2.46 -4.39 -1.41 0.0164 0 0 0 Detector initStep - 1 2.46 -4.39 -1.41 0 0.0164 0.00208 0.00208 Detector 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 0 0 0.045 0 0 0 Target initStep - 1 0.000132 -0.000475 0.000954 0.0419 0.00313 0.00125 0.00125 Target msc - 2 -0.000696 -0.000772 0.00102 0.0413 0.000626 0.00101 0.00226 Target msc - 3 -0.000719 -0.000929 0.00017 0.0391 0.00214 0.000995 0.00326 Target msc - 4 0.000235 -0.00112 -9.45e-05 0.0344 0.00477 0.00121 0.00446 Target msc - 5 0.00108 -0.00111 0.000403 0.0331 0.00125 0.00123 0.00569 Target msc - 6 0.00116 -0.000199 0.000335 0.0294 0.00376 0.00115 0.00684 Target msc - 7 0.00175 -0.000492 0.000935 0.0223 0.00702 0.00117 0.00801 Target msc - 8 0.00244 -0.000421 0.00108 0.0211 0.00122 0.00102 0.00902 Target msc - 9 0.0022 -0.000785 0.0016 0.0178 0.00334 0.000979 0.01 Target msc - 10 0.00242 -0.00102 0.00179 0 0.0178 0.00337 0.0134 Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = Cs133[0.0], Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 2.61e-08 0 0 0 Target initStep - 1 2.39e-10 1.6e-10 -2.4e-11 0 2.61e-08 1.16e-07 1.16e-07 Target ionIoni - 2 2.39e-10 1.6e-10 -2.4e-11 0 0 0 1.16e-07 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = Ba133[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = nu_e, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.0804 0 0 0 Target initStep - 1 0.00177 -0.000514 -0.005 0.0804 0 0.00533 0.00533 World Transportation - 2 0.0096 -0.00279 -0.0271 0.0804 0 0.0236 0.0289 Detector Transportation - 3 70.9 -20.6 -200 0.0804 0 213 213 OutOfWorld Transportation - -********************************************************************************************************* -* 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 0 0 0.356 0 0 0 Target initStep - 1 -0.000503 -0.00999 -0.00304 0.356 0 0.0105 0.0105 Detector Transportation - 2 -0.334 -6.63 -2.02 0.174 0 6.93 6.94 Detector compt - 3 -0.192 -6.3 -2.31 0.164 0 0.467 7.41 Detector compt - 4 0.939 -2.68 -14.7 0.109 0 13 20.4 Detector compt - 5 0.673 -2.57 -14.5 0 0.0111 0.376 20.7 Detector phot - -********************************************************************************************************* -* 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 0.673 -2.57 -14.5 0.0975 0 0 0 Detector initStep - 1 0.678 -2.57 -14.5 0 0.0975 0.0419 0.0419 Detector 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 0.939 -2.68 -14.7 0.0557 0 0 0 Detector initStep - 1 0.94 -2.68 -14.7 0 0.0557 0.0165 0.0165 Detector 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 -0.192 -6.3 -2.31 0.00934 0 0 0 Detector initStep - 1 -0.192 -6.3 -2.31 0 0.00934 0.000825 0.000825 Detector 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.334 -6.63 -2.02 0.182 0 0 0 Detector initStep - 1 -0.337 -6.65 -2.02 0 0.182 0.116 0.116 Detector 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 0 0 0.045 0 0 0 Target initStep - 1 0.000654 0.00077 0.000363 0.0267 0.0183 0.00125 0.00125 Target msc - 2 0.000924 0.0013 0.00097 0.0219 0.00482 0.00116 0.00241 Target msc - 3 0.000862 0.00184 0.000441 0.0183 0.00351 0.00113 0.00354 Target msc - 4 0.000602 0.00164 0.000228 0 0.0183 0.00355 0.00709 Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 0.031 0 0 0 Target initStep - 1 0.00309 0.000546 -0.005 0.031 0 0.00591 0.00591 World Transportation - 2 0.00985 0.00174 -0.0159 0.031 0 0.0129 0.0188 Detector Transportation - 3 0.0354 0.00625 -0.0572 0 0.0111 0.0488 0.0676 Detector phot - -********************************************************************************************************* -* 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 0.0354 0.00625 -0.0572 0.0199 0 0 0 Detector initStep - 1 0.0354 0.006 -0.0576 0 0.0199 0.00286 0.00286 Detector eIoni - -********************************************************************************************************* -* G4Track Information: Particle = Cs133[0.0], Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 2.61e-08 0 0 0 Target initStep - 1 -9.61e-11 2.79e-11 2.71e-10 0 2.61e-08 1.16e-07 1.16e-07 Target ionIoni - 2 -9.61e-11 2.79e-11 2.71e-10 0 0 0 1.16e-07 Target RadioactiveDecay -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### 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 -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### Run : 0 - -********************************************************************************************************* -* G4Track Information: Particle = He5[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = He5[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions - -********************************************************************************************************* -* G4Track Information: Particle = Li5[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay - -********************************************************************************************************* -* G4Track Information: Particle = Li5[0.0], 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 0 0 0 0 Target initStep - 1 0 0 0 0 0 0 0 Target RadioactiveDecay -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### Run : 0 -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions - G4NuclearLevelManager: nuclide (82,211) does not have a gamma levels file -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -world cuts are set -Target cuts are set -Detector cuts are set -G4VUserPhysicsList::SetDefaultCutValue:default cut value is changed to :10000[mm] -G4VUserPhysicsList::SetCutsWithDefault:CutLength : 10000 (mm) - The number of particle source is 3 - source 0 intensity is 0.266667 - source 1 intensity is 0.133333 - source 2 intensity is 0.6 -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= Table of registered couples ============================== - -Index : 0 used in the geometry : Yes recalculation needed : No - Material : Air - Range cuts : gamma 10 m e- 10 m e+ 10 m - Energy thresholds : gamma 7.99559 keV e- 2.39817 MeV e+ 2.25501 MeV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### 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 - G4NuclearLevelManager: nuclide (96,236) does not have a gamma levels file -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### Run : 0 -ROOT: files writing... -ROOT: files closing... -### exrdmHisto books 7 histograms -Error in : only one instance of TApplication allowed -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -exrdmPhysicsList::SelectPhysicsList: - ----> warning from G4Element::GetElement(). The element: Na does not exist in the table. Return NULL pointer. - Material:NaI with formula: Na-I added! - Nb of Material = 8 - Nb of Isotope = 0 - Nb of Element = 10 - -----> The target has been changed to 1 cm of NaI -G4VUserPhysicsList::Construct() -Construct processes -Thank you for using G4BinaryCascade. -/carl5/geant4/g4/geant4/data/G4NDL3.10 -Thank you for using G4BinaryCascade. -Thank you for using G4BinaryCascade. -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : NaI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### Run : 0 -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -world cuts are set -Target cuts are set -Detector cuts are set - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - G4Decay::BuildPhysicsTable() - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 MeV - Region(s) which use this couple : - Target - -Index : 2 used in the geometry : Yes recalculation needed : No - Material : Germanium - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 396.666 keV e- 115.873 MeV e+ 110.306 MeV - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### Run : 0 - -********************************************************************************************************* -* G4Track Information: Particle = proton, 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 2e-06 0 0 0 Target initStep - 1 0 0 2.15e-06 0 2e-06 5.72e-06 5.72e-06 Target hIoni -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -exrdmPhysicsList::SelectPhysicsList: - -----> The target has been changed to 1 cm of Lead -G4VUserPhysicsList::Construct() -Construct processes -Thank you for using G4BinaryCascade. -/carl5/geant4/g4/geant4/data/G4NDL3.10 -Thank you for using G4BinaryCascade. -Thank you for using G4BinaryCascade. -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - 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 - 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### 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 -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -exrdmPhysicsList::SelectPhysicsList: - -----> The target has been changed to 1 cm of Lead -G4VUserPhysicsList::Construct() -Construct processes -Thank you for using G4BinaryCascade. -/carl5/geant4/g4/geant4/data/G4NDL3.10 -Thank you for using G4BinaryCascade. -Thank you for using G4BinaryCascade. -world cuts are set -Target cuts are set -Detector cuts are set - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 120500656, 1464021611 ----------------------------------------- -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - 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 - 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### 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 - G4NuclearLevelManager: nuclide (79,205) does not have a gamma levels file - G4NuclearLevelManager: nuclide (69,168) does not have a gamma levels file - G4NuclearLevelManager: nuclide (79,204) does not have a gamma levels file - G4NuclearLevelManager: nuclide (63,158) does not have a gamma levels file - G4NuclearLevelManager: nuclide (76,197) does not have a gamma levels file - G4NuclearLevelManager: nuclide (79,203) does not have a gamma levels file - G4NuclearLevelManager: nuclide (78,203) does not have a gamma levels file -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -exrdmPhysicsList::SelectPhysicsList: - -----> The target has been changed to 3 cm of Lead -G4VUserPhysicsList::Construct() -Construct processes -Thank you for using G4BinaryCascade. -/carl5/geant4/g4/geant4/data/G4NDL3.10 -Thank you for using G4BinaryCascade. -Thank you for using G4BinaryCascade. -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - 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 - 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### 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 -ROOT: files writing... -ROOT: files closing... -G4ProcessManager:particle[proton] -[0]=== process[Transportation :Transportation] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: 2: 0: 4: 0: - parameter -1: -1: 0: 0: 0: 0: -[1]=== process[msc :Electromagnetic] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: 1: 1: 3: 1: - parameter -1: -1: 1: 1: 1: 1: -[2]=== process[hIoni :Electromagnetic] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: 0: 2: 2: 2: - parameter -1: -1: 2: 2: 2: 2: -[3]=== process[LElastic :Hadronic] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: -1: -1: 1: 3: - parameter -1: -1: -1: -1: 1000: 1000: -[4]=== process[ProtonInelastic :Hadronic] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: -1: -1: 0: 4: - parameter -1: -1: -1: -1: 1000: 1000: -G4ProcessManager:particle[GenericIon] -[0]=== process[Transportation :Transportation] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: 2: 0: 4: 0: - parameter -1: -1: 0: 0: 0: 0: -[1]=== process[msc :Electromagnetic] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: 1: 1: 3: 1: - parameter -1: -1: 1: 1: 1: 1: -[2]=== process[ionIoni :Electromagnetic] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: 0: 2: 2: 2: - parameter -1: -1: 2: 2: 2: 2: -[3]=== process[RadioactiveDecay :Decay] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index 0: 0: -1: -1: 1: 3: - parameter 1: 1: -1: -1: 3: 3: -[4]=== process[IonInelastic :Hadronic] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: -1: -1: 0: 4: - parameter -1: -1: -1: -1: 1000: 1000: -G4ProcessManager:particle[pi+] -[0]=== process[Transportation :Transportation] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: 2: 0: 4: 0: - parameter -1: -1: 0: 0: 0: 0: -[1]=== process[msc :Electromagnetic] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: 1: 1: 3: 1: - parameter -1: -1: 1: 1: 1: 1: -[2]=== process[hIoni :Electromagnetic] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: 0: 2: 2: 2: - parameter -1: -1: 2: 2: 2: 2: -[3]=== process[Decay :Decay] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index 0: 0: -1: -1: 1: 3: - parameter 1000: 1000: -1: -1: 1000: 1000: -[4]=== process[LElastic :Hadronic] Active - Ordering:: AtRest AlongStep PostStep - GetPIL/ DoIt GetPIL/ DoIt GetPIL/ DoIt - Ordering:: - index -1: -1: -1: -1: 0: 4: - parameter -1: -1: -1: -1: 1000: 1000: -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### Run : 0 - G4NuclearLevelManager: nuclide (85,218) does not have a gamma levels file - G4NuclearLevelManager: nuclide (82,214) does not have a gamma levels file -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 -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### 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 -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -world cuts are set -Target cuts are set -Detector cuts are set -G4VUserPhysicsList::SetDefaultCutValue:default cut value is changed to :10000[mm] -G4VUserPhysicsList::SetCutsWithDefault:CutLength : 10000 (mm) -WARNING: objects with visibility flag set to "false" will not be drawn! - "/vis/viewer/set/culling global false" to Draw such objects. - Also see other "/vis/viewer/set" commands. -WARNING: For systems which are not "auto-refresh" you will need to - issue "/vis/viewer/refresh" or "/vis/viewer/flush". -WARNING: The vis manager will keep up to 100 events. - This may use a lot of memory. -WARNING: The scene, "scene-1", of viewer "viewer-0 (VRML2FILE)" - of scene handler "scene-handler-0" has changed. To see effect, - "/vis/viewer/select viewer-0" and "/vis/viewer/rebuild". -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 - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= Table of registered couples ============================== - -Index : 0 used in the geometry : Yes recalculation needed : No - Material : Air - Range cuts : gamma 10 m e- 10 m e+ 10 m - Energy thresholds : gamma 7.99559 keV e- 2.39817 MeV e+ 2.25501 MeV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 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 - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### Run : 0 - -********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -25 100 0 0 0 World initStep - 1 0 0 -5 100 0.0137 20 20 Target Transportation - 2 -0.151 -0.0352 0.00276 90.3 9.68 5.01 25 Target msc - 3 -0.102 0.0511 5 80.6 9.73 5 30 World Transportation - 4 0.262 -0.564 25 80.6 0.0182 20 50 OutOfWorld Transportation -G4VisManager: Using G4TrajectoryDrawByCharge as default trajectory model. -See commands in /vis/modeling/trajectories/ for other options. -=========================================== -Output VRML 2.0 file: g4_00.wrl -Maximum number of files in the destination directory: 100 - (Customizable with the environment variable: G4VRMLFILE_MAX_FILE_NUM) -=========================================== - -********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -25 100 0 0 0 World initStep - 1 0 0 -5 100 0.0156 20 20 Target Transportation - 2 0.0256 0.0483 -2.61 95.9 4.08 2.39 22.4 Target msc - 3 0.0465 0.0682 -0.226 90.9 5.03 2.39 24.8 Target msc - 4 -0.0542 -0.0346 2.16 86.4 4.46 2.39 27.2 Target msc - 5 -0.256 -0.122 4.53 81.5 4.92 2.39 29.6 Target msc - 6 -0.297 -0.154 5 80.6 0.928 0.469 30 World Transportation - 7 -1.72 -1.21 25 80.5 0.0186 20.1 50.1 OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -25 100 0 0 0 World initStep - 1 0 0 -5 100 0.0153 20 20 Target Transportation - 2 0.12 0.0791 -0.298 90.8 9.19 4.71 24.7 Target msc - 3 -0.0789 0.321 4.39 81.1 9.65 4.71 29.4 Target msc - 4 -0.135 0.325 5 79.9 1.23 0.608 30 World Transportation - 5 -2.39 0.316 25 79.9 0.0287 20.1 50.1 OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -25 100 0 0 0 World initStep - 1 0 0 -5 100 0.021 20 20 Target Transportation - 2 -0.0478 0.0923 -1.16 92.4 7.54 3.85 23.8 Target msc - 3 -0.269 0.0586 2.68 84.6 7.87 3.85 27.7 Target msc - 4 -0.332 0.1 5 79.4 5.17 2.32 30 World Transportation - 5 -0.536 -0.535 25 79.4 0.0135 20 50 OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -25 100 0 0 0 World initStep - 1 0 0 -5 100 0.0118 20 20 Target Transportation - 2 0.197 0.00359 0.809 88.5 11.4 5.82 25.8 Target msc - 3 0.404 0.327 5 80.1 8.41 4.21 30 World Transportation - 4 1.08 1.56 25 80.1 0.0223 20 50.1 OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -25 100 0 0 0 World initStep - 1 0 0 -5 100 0.0128 20 20 Target Transportation - 2 0.131 -0.0455 -0.338 90.9 9.1 4.67 24.7 Target msc - 3 0.53 -0.00332 4.31 81.3 9.58 4.67 29.3 Target msc - 4 0.573 -0.00845 5 79.7 1.65 0.694 30 World Transportation - 5 1.7 -0.281 25 79.6 0.0136 20 50.1 OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -25 100 0 0 0 World initStep - 1 0 0 -5 100 0.0127 20 20 Target Transportation - 2 -0.0387 -0.107 -0.881 91.7 8.29 4.12 24.1 Target msc - 3 0.00734 -0.146 3.24 83.5 8.2 4.12 28.2 Target msc - 4 0.0282 -0.114 5 80 3.48 1.76 30 World Transportation - 5 -0.2 0.606 25 80 0.0177 20 50 OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -25 100 0 0 0 World initStep - 1 0 0 -5 100 0.011 20 20 Target Transportation - 2 -0.0555 -0.0344 -2.15 94.4 5.55 2.85 22.8 Target msc - 3 -0.0484 -0.177 0.691 89.4 5.01 2.85 25.7 Target msc - 4 -0.0688 -0.247 3.54 83.5 5.96 2.85 28.5 Target msc - 5 -0.119 -0.344 5 79.8 3.67 1.47 30 World Transportation - 6 -0.781 -1.48 25 79.8 0.0216 20 50.1 OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -25 100 0 0 0 World initStep - 1 0 0 -5 100 0.0159 20 20 Target Transportation - 2 -0.113 -0.0241 -0.832 91.6 8.35 4.17 24.2 Target msc - 3 -0.316 -0.232 3.33 83.5 8.1 4.17 28.3 Target msc - 4 -0.36 -0.316 5 80.6 2.97 1.68 30 World Transportation - 5 -1.45 -1.27 25 80.5 0.0187 20.1 50.1 OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = proton, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 -25 100 0 0 0 World initStep - 1 0 0 -5 100 0.0119 20 20 Target Transportation - 2 -0.0118 0.0762 -1.82 94 5.97 3.19 23.2 Target msc - 3 -0.188 0.218 1.36 88.1 5.88 3.19 26.4 Target msc - 4 -0.404 0.571 4.52 81.5 6.66 3.19 29.6 Target msc - 5 -0.423 0.613 5 80.5 0.963 0.483 30 World Transportation - 6 -0.807 2.22 25 80.5 0.0164 20.1 50.1 OutOfWorld Transportation -ROOT: files writing... -ROOT: files closing... -*** VRML 2.0 File g4_00.wrl is generated. -10 events have been kept for refreshing and/or reviewing. -Graphics systems deleted. -Visualization Manager deleting... - -************************************************************* - Geant4 version Name: geant4-08-02-ref-00 (15-December-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - ----> warning from G4Element::GetElement(). The element: H does not exist in the table. Return NULL pointer. - Material:Vacuum with formula: H added! - Nb of Material = 1 - Nb of Isotope = 0 - Nb of Element = 1 - ----> warning from G4Element::GetElement(). The element: N does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: O does not exist in the table. Return NULL pointer. - Material:Air with formula: N0.78-O0.22 added! - Nb of Material = 2 - Nb of Isotope = 0 - Nb of Element = 3 - ----> warning from G4Element::GetElement(). The element: Al does not exist in the table. Return NULL pointer. - Material:Aluminium with formula: Al added! - Nb of Material = 3 - Nb of Isotope = 0 - Nb of Element = 4 - ----> warning from G4Element::GetElement(). The element: Si does not exist in the table. Return NULL pointer. - Material:Silicon with formula: Si added! - Nb of Material = 4 - Nb of Isotope = 0 - Nb of Element = 5 - ----> warning from G4Element::GetElement(). The element: Pb does not exist in the table. Return NULL pointer. - Material:Lead with formula: Pb added! - Nb of Material = 5 - Nb of Isotope = 0 - Nb of Element = 6 - ----> warning from G4Element::GetElement(). The element: Ge does not exist in the table. Return NULL pointer. - Material:Germanium with formula: Ge added! - Nb of Material = 6 - Nb of Isotope = 0 - Nb of Element = 7 - ----> warning from G4Element::GetElement(). The element: Cs does not exist in the table. Return NULL pointer. - ----> warning from G4Element::GetElement(). The element: I does not exist in the table. Return NULL pointer. - Material:CsI with formula: Cs-I added! - Nb of Material = 7 - Nb of Isotope = 0 - Nb of Element = 9 -G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 -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) - 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 - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -G4VUserPhysicsList::Construct() -Construct processes -world cuts are set -Target cuts are set -Detector cuts are set - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -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. - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -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 - -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 - -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. - -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 - -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: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -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: 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 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -ionIoni: tables are built for GenericIon - 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 alpha particles below. - Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 - -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 - -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: 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: 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 - -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: 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 - -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: 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 - -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 - -========= 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 - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : CsI - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 550.166 keV e- 90.585 MeV e+ 84.1353 MeV - Region(s) which use this couple : - Target - -Index : 2 used in the geometry : Yes recalculation needed : No - Material : Germanium - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 396.666 keV e- 115.873 MeV e+ 110.306 MeV - Region(s) which use this couple : - Detector - -==================================================================== - -### exrdmHisto books 7 histograms -ROOT Histo 10 Energy deposit (MeV) in the traget booked -ROOT Histo 11 Energy deposit (MeV) in the detector booked -ROOT Histo 12 Total energy spectrum (MeV) of the traget and detector booked -ROOT Histo 13 Coincidence spectrum (MeV) between the traget and detector booked -ROOT Histo 14 Anti-coincidence spectrum (MeV) in the traget booked -ROOT Histo 15 Anti-coincidence spectrum (MeV) in the detector booked -ROOT Histo 16 Decay emission spectrum (MeV) booked -Creating Ntuple 100 in ROOT file: Emitted Particles -Creating Ntuple 200 in ROOT file: RadioIsotopes -Creating Ntuple 300 in ROOT file: Energy Depositions -### 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 -ROOT: files writing... -ROOT: files closing... -Graphics systems deleted. -Visualization Manager deleting... diff --git a/examples/extended/radioactivedecay/exrdm/macros/test.aida b/examples/extended/radioactivedecay/exrdm/macros/test.aida deleted file mode 100644 index b7b80643e1..0000000000 --- a/examples/extended/radioactivedecay/exrdm/macros/test.aida +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/examples/extended/radioactivedecay/exrdm/macros/vrml.mac b/examples/extended/radioactivedecay/exrdm/macros/vrml.mac deleted file mode 100644 index c65d752ad7..0000000000 --- a/examples/extended/radioactivedecay/exrdm/macros/vrml.mac +++ /dev/null @@ -1,24 +0,0 @@ -#/exrdm/phys/SelectPhysics LHEP_BIC_HP -/run/initialize -/run/setCut 1000 cm -/run/setCutForRegion Target 10 cm -/run/setCutForRegion Detector 50 cm - -# vis -/vis/open VRML2FILE -/vis/scene/create -/vis/viewer/reset -/vis/viewer/zoom 20. -/vis/viewer/set/viewpointThetaPhi 90. 180. -/vis/viewer/set/style wireframe -/vis/drawVolume -/vis/scene/endOfEventAction accumulate -/tracking/storeTrajectory 1 -# - -/gps/particle proton -/tracking/verbose 1 -/run/beamOn 10 - - - diff --git a/examples/extended/radioactivedecay/rdecay01/GNUmakefile b/examples/extended/radioactivedecay/rdecay01/GNUmakefile new file mode 100644 index 0000000000..eddcdd05e7 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/GNUmakefile @@ -0,0 +1,19 @@ + +name := rdecay01 +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../../.. +endif + +.PHONY: all +all: lib bin + +#### G4ANALYSIS_USE := true + +include $(G4INSTALL)/config/architecture.gmk +include $(G4INSTALL)/config/binmake.gmk + +histclean: + rm ${G4WORKDIR}/tmp/${G4SYSTEM}/${G4TARGET}/HistoManager.o diff --git a/examples/extended/radioactivedecay/rdecay01/History b/examples/extended/radioactivedecay/rdecay01/History new file mode 100644 index 0000000000..4798cb3ad5 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/History @@ -0,0 +1,59 @@ +$Id: History,v 1.3 2010/10/11 14:31:39 maire Exp $ +----------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + rdecay01 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 * + ---------------------------------------------------------- + +11-10-10 mma (rdecay01-V09-03-02) +- TrackingAction and RunAction : modify calculation of Activity +- PhysicsList : time life threshold = -1. sec + +17-09-10 mma (rdecay01-V09-03-01) +- UI commands --> /rdecay01/ + +16-09-10 Gabriele Cosmo (rdecay01-V09-03-00) +- Migrated name to "rdecay01". + +09-09-10 mma (radioActiv-V09-03-06) +- TrackingAction : AbortEvent() in single decay mode +- UI commands : radioActiv --> rdecay1 + +27-08-10 mma (radioActiv-V09-03-05) +- PhysicsList : time life threshold = 0. sec; no ICM; no ARM +- TrackingAction : save rndm event under condition +- Ebalance : final - initial + +05-08-10 mma (radioActiv-V09-03-04) +- Update Readme and HistoManager.cc + +27-07-10 mma (radioActiv-V09-03-03) +- TrackingAction : activity = f(t). Plot (histo 9) + +20-07-10 mma (radioActiv-V09-03-02) +- TrackingAction : Get global time of an event. Plot (histo 8) +- /testem/ --> /radioActiv/ +- PhysicsList : more units of time + +15-07-10 mma (radioActiv-V09-03-01) +- PhysicsList : SetCutsWithDefault + +01-07-10 mma (radioActiv-V09-03-00) + +27-06-10 mma +- DetectorConstruction : 2um*2um*2um +- PrimaryGenerator : E=0*eV by default +- RunAction : correct computation of min -> max + +06-06-10 Michel Maire +- Created. diff --git a/examples/extended/radioactivedecay/rdecay01/InstallAida.txt b/examples/extended/radioactivedecay/rdecay01/InstallAida.txt new file mode 100644 index 0000000000..3b8c8f7b4c --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/InstallAida.txt @@ -0,0 +1,78 @@ +$Id: InstallAida.txt,v 1.1 2010/09/16 16:26:13 gcosmo 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/extended/radioactivedecay/rdecay01/README b/examples/extended/radioactivedecay/rdecay01/README new file mode 100644 index 0000000000..caf0d2cf77 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/README @@ -0,0 +1,128 @@ +$Id: README,v 1.2 2010/09/17 11:21:45 maire Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + rdecay01 + -------- + + Survey G4RadioactiveDecay process. See Physics Reference Manual, chapter 36. + See also http://ie.lbl.gov/decay.html + + 1- Geometry construction + --------------------- + + It is a simple box which represente an 'infinite' homogeneous medium. + + 2- Physics list + ------------ + + PhysicsList.cc defines only G4RadioactiveDecay, Transportation processes, + and relevant particle definitions. + Therefore, once created, particles or ions travel as geantino. + + 3- Primary generator + ----------------- + + Default kinematic is an ion (Ne24), at rest, at coordinate origin. + Can be changed with particleGun commands. + + 4- Physics + ------- + As said above, all particles and ions behave as geantino, eg. no energy loss. + + A flag, /rdecay01/fullChain (false or true), allows to limit to + single decay (default) or full decay chain. + + In case of full decay chain, TrackStatus of ions is set to fStopButAlive + in order to force decay at rest. + + At each decay, one counts and plots energy spectrum of created particles and + ions, and energy-momentum balance of that decay. + + Total time of life of decay chain is plotted. Activity is computed. + + Few macros are given in example. Debug.mac is to be run in interactive mode. + + 5- Visualisation + ------------- + + Visualization Manager is set in the main(). + Initialisation of the drawing is done via the commands + /vis/.. in the macro vis.mac. This macro is automatically read from the main + in case of interactive running mode. + + e- red + e+ blue + nu_e white + anti_nu_e white + gamma green + alpha yellow + GenericIon grey + + 6- How to start ? + -------------- + + - compile and link to generate an executable + % cd rdecay01 + % gmake + + - execute rdecay01 in 'batch' mode from macro files + % rdecay01 singleDecay.mac + + - execute rdecay01 in 'interactive mode' with visualization + % rdecay01 + .... + Idle> ---> type your commands. For instance: + Idle> /control/execute debug.mac + .... + Idle> /run/beamOn 1 + .... + Idle> exit + + 7- Histograms + ---------- + + rdecay01 produces several 1D histograms which are saved as + rdecay01.root by default. + + 1 : energy spectrum: e+ e- + 2 : energy spectrum: nu_e anti_nu_ev + 3 : energy spectrum: gamma + 4 : energy spectrum: alpha + 5 : energy spectrum: ions + 6 : energy balance + 7 : momentum balance + 8 : time of life of decay chain + 9 : activity = f(t) + + The histograms are managed by the HistoManager class and its Messenger. + The histos can be individually activated with the command : + /rdecay1/histo/setHisto id nbBins valMin valMax unit + where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..) + + One can control the name of the histograms file with the command: + /rdecay1/histo/setFileName name (default particleGun) + + It is possible to choose the format of the histogram file (hbook, root, XML) + with the command /rdecay1/histo/setFileType (root by default) + + It is also possible to print selected histograms on an ascii file: + /rdecay1/histo/printHisto id + All selected histos will be written on a file name.ascii (default RDecay1) + + 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 + + 8- Using histograms + ---------------- + + To use histograms, at least one of the AIDA implementations should be + available. See the file InstallAida.txt + diff --git a/examples/extended/radioactivedecay/rdecay01/debug.mac b/examples/extended/radioactivedecay/rdecay01/debug.mac new file mode 100644 index 0000000000..63c4f3e730 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/debug.mac @@ -0,0 +1,13 @@ +/control/verbose 2 +/run/verbose 1 +/tracking/verbose 2 +# +/gun/particle ion +##/gun/ion 10 24 +/gun/ion 77 192 +# +/rdecay01/fullChain false +# +###/random/resetEngineFrom ir192/run1evt3.rndm +# +/run/beamOn 1 diff --git a/examples/extended/radioactivedecay/rdecay01/fullChain.mac b/examples/extended/radioactivedecay/rdecay01/fullChain.mac new file mode 100644 index 0000000000..839056ca5c --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/fullChain.mac @@ -0,0 +1,24 @@ +/control/verbose 2 +/run/verbose 1 +# +/gun/particle ion +/gun/ion 92 238 +# +/rdecay01/fullChain true +# +/rdecay01/histo/setFileName run2 +###/rdecay01/histo/setFileType hbook +/rdecay01/histo/setFileType root +/rdecay01/histo/setHisto 1 100 0. 4000 keV #e+ e- +/rdecay01/histo/setHisto 2 100 0. 4000 keV #neutrino +/rdecay01/histo/setHisto 3 100 0. 4000 keV #gamma +/rdecay01/histo/setHisto 4 100 0. 10 MeV #alpha +/rdecay01/histo/setHisto 5 100 0. 200 keV #recoil ion +/rdecay01/histo/setHisto 6 100 -0.5 6 MeV #E balance +/rdecay01/histo/setHisto 7 100 0. 300 MeV #P balance +/rdecay01/histo/setHisto 8 100 0. 1.e+11 y #time of life +/rdecay01/histo/setHisto 9 100 0. 1.e+11 y #activity +# +/rdecay01/event/printModulo 10000 +# +/run/beamOn 100000 diff --git a/examples/extended/radioactivedecay/rdecay01/include/DetectorConstruction.hh b/examples/extended/radioactivedecay/rdecay01/include/DetectorConstruction.hh new file mode 100644 index 0000000000..170757bb05 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/include/DetectorConstruction.hh @@ -0,0 +1,60 @@ +// +// ******************************************************************** +// * 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.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef DetectorConstruction_h +#define DetectorConstruction_h 1 + +#include "G4VUserDetectorConstruction.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class DetectorConstruction : public G4VUserDetectorConstruction +{ + public: + + DetectorConstruction(); + ~DetectorConstruction(); + + G4VPhysicalVolume* Construct(); + + G4double GetWorldSize() {return worldSize;}; + + private: + + G4double worldSize; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/radioactivedecay/rdecay01/include/EventAction.hh b/examples/extended/radioactivedecay/rdecay01/include/EventAction.hh new file mode 100644 index 0000000000..61eb3c78c4 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/include/EventAction.hh @@ -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. * +// ******************************************************************** +// +// $Id: EventAction.hh,v 1.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef EventAction_h +#define EventAction_h 1 + +#include "G4UserEventAction.hh" +#include "globals.hh" + +class EventMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class EventAction : public G4UserEventAction +{ + public: + EventAction(); + ~EventAction(); + + public: + void BeginOfEventAction(const G4Event*); + void EndOfEventAction(const G4Event*); + + void SetPrintModulo(G4int val) {printModulo = val;}; + void AddDecayChain(G4String val) {decayChain += val;}; + + private: + G4int printModulo; + G4String decayChain; + EventMessenger* eventMessenger; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + diff --git a/examples/extended/analysis/N03Con/include/ExN03EventActionMessenger.hh b/examples/extended/radioactivedecay/rdecay01/include/EventMessenger.hh similarity index 85% rename from examples/extended/analysis/N03Con/include/ExN03EventActionMessenger.hh rename to examples/extended/radioactivedecay/rdecay01/include/EventMessenger.hh index 6478dae01b..dc157eb635 100644 --- a/examples/extended/analysis/N03Con/include/ExN03EventActionMessenger.hh +++ b/examples/extended/radioactivedecay/rdecay01/include/EventMessenger.hh @@ -23,37 +23,36 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: ExN03EventActionMessenger.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// +// $Id: EventMessenger.hh,v 1.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03EventActionMessenger_h -#define ExN03EventActionMessenger_h 1 +#ifndef EventMessenger_h +#define EventMessenger_h 1 -#include "globals.hh" #include "G4UImessenger.hh" +#include "globals.hh" -class ExN03EventAction; +class EventAction; class G4UIdirectory; class G4UIcmdWithAnInteger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03EventActionMessenger: public G4UImessenger +class EventMessenger: public G4UImessenger { public: - ExN03EventActionMessenger(ExN03EventAction*); - ~ExN03EventActionMessenger(); + EventMessenger(EventAction*); + ~EventMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - ExN03EventAction* eventAction; + EventAction* eventAction; + + G4UIdirectory* Dir; G4UIdirectory* eventDir; G4UIcmdWithAnInteger* PrintCmd; }; diff --git a/examples/extended/radioactivedecay/rdecay01/include/HistoManager.hh b/examples/extended/radioactivedecay/rdecay01/include/HistoManager.hh new file mode 100644 index 0000000000..ce19e59e88 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/include/HistoManager.hh @@ -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. * +// ******************************************************************** +// +// +// $Id: HistoManager.hh,v 1.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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 HistoMessenger; + +const G4int MaxHisto = 10; + +//....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 e, G4double weight = 1.0); + void Normalize(G4int id, G4double fac); + void RemoveHisto (G4int); + void PrintHisto (G4int); + + G4bool HistoExist (G4int id) {return exist[id];} + G4double GetHistoUnit(G4int id) {return Unit[id];} + G4double GetBinWidth (G4int id) {return Width[id];} + + private: + + G4String fileName[2]; + G4String fileType; + G4String fileOption; + 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]; + + G4bool factoryOn; + HistoMessenger* histoMessenger; + + private: + void saveAscii(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/radioactivedecay/rdecay01/include/HistoMessenger.hh b/examples/extended/radioactivedecay/rdecay01/include/HistoMessenger.hh new file mode 100644 index 0000000000..ed00f15cc2 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/include/HistoMessenger.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. * +// ******************************************************************** +// +// +// $Id: HistoMessenger.hh,v 1.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/radioactivedecay/rdecay01/include/PhysicsList.hh b/examples/extended/radioactivedecay/rdecay01/include/PhysicsList.hh new file mode 100644 index 0000000000..eab0d5a43d --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/include/PhysicsList.hh @@ -0,0 +1,59 @@ +// +// ******************************************************************** +// * 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 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysicsList_h +#define PhysicsList_h 1 + +#include "G4VUserPhysicsList.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysicsList: public G4VUserPhysicsList +{ + public: + PhysicsList(); + ~PhysicsList(); + + protected: + // Construct particle and physics + void ConstructParticle(); + void ConstructProcess(); + void SetCuts(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + diff --git a/examples/extended/radioactivedecay/rdecay01/include/PrimaryGeneratorAction.hh b/examples/extended/radioactivedecay/rdecay01/include/PrimaryGeneratorAction.hh new file mode 100644 index 0000000000..268003cc9c --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/include/PrimaryGeneratorAction.hh @@ -0,0 +1,60 @@ +// +// ******************************************************************** +// * 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 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ + public: + PrimaryGeneratorAction(); + ~PrimaryGeneratorAction(); + + public: + void GeneratePrimaries(G4Event*); + G4ParticleGun* GetParticleGun() { return particleGun;} ; + + private: + G4ParticleGun* particleGun; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/extended/analysis/N03Con/include/ExN03RunAction.hh b/examples/extended/radioactivedecay/rdecay01/include/RunAction.hh similarity index 72% rename from examples/extended/analysis/N03Con/include/ExN03RunAction.hh rename to examples/extended/radioactivedecay/rdecay01/include/RunAction.hh index 1d9274f26b..760bd93e72 100644 --- a/examples/extended/analysis/N03Con/include/ExN03RunAction.hh +++ b/examples/extended/radioactivedecay/rdecay01/include/RunAction.hh @@ -24,48 +24,50 @@ // ******************************************************************** // // -// $Id: ExN03RunAction.hh,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// +// $Id: RunAction.hh,v 1.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03RunAction_h -#define ExN03RunAction_h 1 +#ifndef RunAction_h +#define RunAction_h 1 -#include "G4ConvergenceTester.hh" #include "G4UserRunAction.hh" #include "globals.hh" +#include + +class G4Run; +class HistoManager; +class PrimaryGeneratorAction; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class G4Run; - -class ExN03RunAction : public G4UserRunAction +class RunAction : public G4UserRunAction { public: - ExN03RunAction(); - ~ExN03RunAction(); - - public: + RunAction(HistoManager*, PrimaryGeneratorAction*); + ~RunAction(); + void BeginOfRunAction(const G4Run*); void EndOfRunAction(const G4Run*); - void fillPerEvent(G4double, G4double, G4double, G4double); - - private: - G4double sumEAbs, sum2EAbs; - G4double sumEGap, sum2EGap; + void ParticleCount(G4String, G4double); + void Balance(G4double,G4double); + void EventTiming(G4double); - G4double sumLAbs, sum2LAbs; - G4double sumLGap, sum2LGap; - - G4ConvergenceTester* Eabs_tally; - G4ConvergenceTester* Egap_tally; - G4ConvergenceTester* Labs_tally; - G4ConvergenceTester* Lgap_tally; + private: + HistoManager* histoManager; + PrimaryGeneratorAction* primary; + + std::map particleCount; + std::map Emean; + std::map Emin; + std::map Emax; + G4int decayCount; + G4double Ebalance[3]; + G4double Pbalance[3]; + G4double EventTime[3]; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysListEmLivermore.hh b/examples/extended/radioactivedecay/rdecay01/include/SteppingVerbose.hh similarity index 78% rename from examples/extended/electromagnetic/TestEm18/include/PhysListEmLivermore.hh rename to examples/extended/radioactivedecay/rdecay01/include/SteppingVerbose.hh index 748070d5d7..93feb7c4d2 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysListEmLivermore.hh +++ b/examples/extended/radioactivedecay/rdecay01/include/SteppingVerbose.hh @@ -24,34 +24,31 @@ // ******************************************************************** // // -// $Id: PhysListEmLivermore.hh,v 1.2 2009/10/12 21:47:57 maire Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: SteppingVerbose.hh,v 1.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef PhysListEmLivermore_h -#define PhysListEmLivermore_h 1 +#ifndef SteppingVerbose_h +#define SteppingVerbose_h 1 -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" +#include "G4SteppingVerbose.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysListEmLivermore : public G4VPhysicsConstructor -{ -public: - PhysListEmLivermore(const G4String& name = "Livermore"); +class SteppingVerbose : public G4SteppingVerbose { - virtual ~PhysListEmLivermore(); +public: + + SteppingVerbose(); + ~SteppingVerbose(); + + void StepInfo(); + void TrackingStarted(); - virtual void ConstructParticle() { }; - virtual void ConstructProcess(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - diff --git a/examples/extended/radioactivedecay/rdecay01/include/TrackingAction.hh b/examples/extended/radioactivedecay/rdecay01/include/TrackingAction.hh new file mode 100644 index 0000000000..df7ee608ef --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/include/TrackingAction.hh @@ -0,0 +1,69 @@ +// +// ******************************************************************** +// * 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 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef TrackingAction_h +#define TrackingAction_h 1 + +#include "G4UserTrackingAction.hh" +#include "globals.hh" + +class HistoManager; +class RunAction; +class EventAction; +class TrackingMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class TrackingAction : public G4UserTrackingAction { + + public: + TrackingAction(HistoManager*, RunAction*, EventAction*); + ~TrackingAction(); + + void PreUserTrackingAction(const G4Track*); + void PostUserTrackingAction(const G4Track*); + + void SetFullChain(G4bool flag) { fullChain = flag;}; + + private: + HistoManager* histoManager; + RunAction* run; + EventAction* event; + TrackingMessenger* trackMessenger; + + G4double charge, mass; + G4bool fullChain; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/extended/radioactivedecay/rdecay01/include/TrackingMessenger.hh b/examples/extended/radioactivedecay/rdecay01/include/TrackingMessenger.hh new file mode 100644 index 0000000000..b230101247 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/include/TrackingMessenger.hh @@ -0,0 +1,59 @@ +// +// ******************************************************************** +// * 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: TrackingMessenger.hh,v 1.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef TrackingMessenger_h +#define TrackingMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class TrackingAction; +class G4UIcmdWithABool; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class TrackingMessenger: public G4UImessenger +{ + public: + TrackingMessenger(TrackingAction*); + ~TrackingMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + TrackingAction* trackingAction; + + G4UIcmdWithABool* TrackingCmd; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/extended/radioactivedecay/rdecay01/plotHisto.C b/examples/extended/radioactivedecay/rdecay01/plotHisto.C new file mode 100644 index 0000000000..a4f06bbce6 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/plotHisto.C @@ -0,0 +1,17 @@ +{ + gROOT->Reset(); + + // Draw histos filled by Geant4 simulation + // + TFile f = TFile("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"); +} diff --git a/examples/extended/radioactivedecay/rdecay01/rdecay01.cc b/examples/extended/radioactivedecay/rdecay01/rdecay01.cc new file mode 100644 index 0000000000..a2ce485ac6 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/rdecay01.cc @@ -0,0 +1,126 @@ +// +// ******************************************************************** +// * 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: rdecay01.cc,v 1.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4RunManager.hh" +#include "G4UImanager.hh" +#include "Randomize.hh" + +#include "DetectorConstruction.hh" +#include "PhysicsList.hh" +#include "PrimaryGeneratorAction.hh" +#include "RunAction.hh" +#include "EventAction.hh" +#include "TrackingAction.hh" +#include "SteppingVerbose.hh" +#include "HistoManager.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) { + + //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 + // + runManager->SetUserInitialization(new DetectorConstruction); + runManager->SetUserInitialization(new PhysicsList); + + // set user action classes + // + HistoManager* histo = new HistoManager(); + PrimaryGeneratorAction* prim = new PrimaryGeneratorAction(); + RunAction* run = new RunAction(histo,prim); + EventAction* event = new EventAction(); + TrackingAction* track = new TrackingAction(histo,run,event); + + runManager->SetUserAction(run); + runManager->SetUserAction(prim); + runManager->SetUserAction(event); + runManager->SetUserAction(track); + + //Initialize G4 kernel + runManager->Initialize(); + + // 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(); + UI->ApplyCommand("/control/execute vis.mac"); +#endif + +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif + +#ifdef G4VIS_USE + delete visManager; +#endif + } + + // job termination + // + delete histo; + delete runManager; + + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + diff --git a/examples/extended/radioactivedecay/rdecay01/rdecay01.in b/examples/extended/radioactivedecay/rdecay01/rdecay01.in new file mode 100644 index 0000000000..c31711ccb9 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/rdecay01.in @@ -0,0 +1,17 @@ +/control/verbose 2 +/run/verbose 1 +# +/gun/particle ion +/gun/ion 27 60 +# +/tracking/verbose 2 +/run/beamOn 1 +# +/tracking/verbose 0 +/rdecay01/event/printModulo 10000 +# +/run/beamOn 100000 +# +/rdecay01/fullChain true +# +/run/beamOn 100000 diff --git a/examples/extended/radioactivedecay/rdecay01/singleDecay.mac b/examples/extended/radioactivedecay/rdecay01/singleDecay.mac new file mode 100644 index 0000000000..233bdf89cf --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/singleDecay.mac @@ -0,0 +1,23 @@ +/control/verbose 2 +/run/verbose 2 +# +/gun/particle ion +/gun/ion 10 24 +# +/rdecay01/fullChain false +# +/rdecay01/histo/setFileName run1 +###/rdecay01/histo/setFileType hbook +/rdecay01/histo/setFileType root +/rdecay01/histo/setHisto 1 100 0. 2000 keV #e+ e- +/rdecay01/histo/setHisto 2 100 0. 2000 keV #neutrino +/rdecay01/histo/setHisto 3 100 0. 1000 keV #gamma +/rdecay01/histo/setHisto 5 100 0. 200 eV #recoil ion +/rdecay01/histo/setHisto 6 100 -10. 10 keV #E balance +/rdecay01/histo/setHisto 7 100 0. 1 eV #P balance +/rdecay01/histo/setHisto 8 100 0. 70 min #time of life +/rdecay01/histo/setHisto 9 100 0. 70 min #activity +# +/rdecay01/event/printModulo 10000 +# +/run/beamOn 100000 diff --git a/examples/extended/radioactivedecay/rdecay01/src/DetectorConstruction.cc b/examples/extended/radioactivedecay/rdecay01/src/DetectorConstruction.cc new file mode 100644 index 0000000000..baa943c523 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/src/DetectorConstruction.cc @@ -0,0 +1,88 @@ +// +// ******************************************************************** +// * 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.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "DetectorConstruction.hh" + +#include "G4NistManager.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +DetectorConstruction::DetectorConstruction() +{ + worldSize = 2*um; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +DetectorConstruction::~DetectorConstruction() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4VPhysicalVolume* DetectorConstruction::Construct() +{ + // + // define a material + // + G4Material* Air = + G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR"); + + // + // World + // + G4Box* + solidWorld = new G4Box("World", //its name + worldSize/2,worldSize/2,worldSize/2); //its size + + G4LogicalVolume* + logicWorld = new G4LogicalVolume(solidWorld, //its solid + Air, //its material + "World"); //its name + G4VPhysicalVolume* + physiWorld = new G4PVPlacement(0, //no rotation + G4ThreeVector(), //at (0,0,0) + logicWorld, //its logical volume + "World", //its name + 0, //its mother volume + false, //no boolean operation + 0); //copy number + + // + //always return the physical World + // + return physiWorld; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/radioactivedecay/rdecay01/src/EventAction.cc b/examples/extended/radioactivedecay/rdecay01/src/EventAction.cc new file mode 100644 index 0000000000..5e1423c066 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/src/EventAction.cc @@ -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: EventAction.cc,v 1.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "EventAction.hh" +#include "EventMessenger.hh" + +#include "G4Event.hh" +#include + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +EventAction::EventAction() +:printModulo(10000),eventMessenger(0) +{ + eventMessenger = new EventMessenger(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +EventAction::~EventAction() +{ + delete eventMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void EventAction::BeginOfEventAction(const G4Event*) +{ + decayChain = " "; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void EventAction::EndOfEventAction(const G4Event* evt) +{ + G4int evtNb = evt->GetEventID(); + //printing survey + // + if (evtNb%printModulo == 0) + G4cout << "\n end of event " << std::setw(6) << evtNb + << " :" + decayChain << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + diff --git a/examples/extended/radioactivedecay/rdecay01/src/EventMessenger.cc b/examples/extended/radioactivedecay/rdecay01/src/EventMessenger.cc new file mode 100644 index 0000000000..3a760e7920 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/src/EventMessenger.cc @@ -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: EventMessenger.cc,v 1.2 2010/09/17 11:21:45 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "EventMessenger.hh" + +#include "EventAction.hh" + +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAnInteger.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +EventMessenger::EventMessenger(EventAction* EvAct) +:eventAction(EvAct) +{ + Dir = new G4UIdirectory("/rdecay01/"); + Dir->SetGuidance("this example"); + + eventDir = new G4UIdirectory("/rdecay01/event/"); + eventDir ->SetGuidance("event control"); + + PrintCmd = new G4UIcmdWithAnInteger("/rdecay01/event/printModulo",this); + PrintCmd->SetGuidance("Print events modulo n"); + PrintCmd->SetParameterName("EventNb",false); + PrintCmd->SetRange("EventNb>0"); + PrintCmd->AvailableForStates(G4State_Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +EventMessenger::~EventMessenger() +{ + delete PrintCmd; + delete eventDir; + delete Dir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void EventMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == PrintCmd) + {eventAction->SetPrintModulo(PrintCmd->GetNewIntValue(newValue));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/radioactivedecay/rdecay01/src/HistoManager.cc b/examples/extended/radioactivedecay/rdecay01/src/HistoManager.cc new file mode 100644 index 0000000000..04d52c1600 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/src/HistoManager.cc @@ -0,0 +1,277 @@ +// +// ******************************************************************** +// * 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.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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() +:af(0),tree(0),factoryOn(false) +{ +#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] = "rdecay1"; + fileType = "root"; + fileOption = "export=root"; + // 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=0; kcreateHistogram1D( Label[k], Title[k], + Nbins[k], Vmin[k], Vmax[k]); + factoryOn = true; + } + } + delete hf; + 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 e, G4double weight) +{ + if (ih > MaxHisto) { + G4cout << "---> warning from HistoManager::FillHisto() : histo " << ih + << "does not exist; e= " << e << " w= " << weight << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if(exist[ih]) histo[ih]->fill(e/Unit[ih], weight); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::SetHisto(G4int ih, + G4int nbins, G4double valmin, G4double valmax, const G4String& unit) +{ + if (ih > MaxHisto) { + G4cout << "---> warning from HistoManager::SetHisto() : histo " << ih + << "does not exist" << G4endl; + return; + } + + const G4String id[] = { "0", "1", "2", "3", "4", "5", "6", "7" , "8" , "9" }; + const G4String title[] = + { "dummy", //0 + "energy spectrum: e+ e-", //1 + "energy spectrum: nu_e anti_nu_e", //2 + "energy spectrum: gamma", //3 + "energy spectrum: alpha", //4 + "energy spectrum: ions", //5 + "energy balance", //6 + "momentum balance", //7 + "total time of life of decay chain",//8 + "activity in Bq/g" //9 + }; + + + 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...... + diff --git a/examples/extended/radioactivedecay/rdecay01/src/HistoMessenger.cc b/examples/extended/radioactivedecay/rdecay01/src/HistoMessenger.cc new file mode 100644 index 0000000000..a67161fb27 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/src/HistoMessenger.cc @@ -0,0 +1,145 @@ +// +// ******************************************************************** +// * 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.2 2010/09/17 11:21:46 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....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("/rdecay01/histo/"); + histoDir->SetGuidance("histograms control"); + + factoryCmd = new G4UIcmdWithAString("/rdecay01/histo/setFileName",this); + factoryCmd->SetGuidance("set name for the histograms file"); + + typeCmd = new G4UIcmdWithAString("/rdecay01/histo/setFileType",this); + typeCmd->SetGuidance("set histograms file type: hbook, root, XML"); + typeCmd->SetCandidates("hbook root XML"); + + optionCmd = new G4UIcmdWithAString("/rdecay01/histo/setFileOption",this); + optionCmd->SetGuidance("set option for the histograms file"); + + histoCmd = new G4UIcommand("/rdecay01/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"); + 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 unit"); + histoCmd->SetParameter(valMin); + // + G4UIparameter* valMax = new G4UIparameter("valMax",'d',false); + valMax->SetGuidance("valMax, expressed in 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("/rdecay01/histo/printHisto",this); + prhistoCmd->SetGuidance("print histo #id on ascii file"); + prhistoCmd->SetParameterName("id",false); + prhistoCmd->SetRange("id>0"); + + rmhistoCmd = new G4UIcmdWithAnInteger("/rdecay01/histo/removeHisto",this); + rmhistoCmd->SetGuidance("desactivate histo #id"); + rmhistoCmd->SetParameterName("id",false); + rmhistoCmd->SetRange("id>0"); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoMessenger::~HistoMessenger() +{ + delete rmhistoCmd; + delete prhistoCmd; + delete histoCmd; + 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; char unts[30]; + const char* t = newValues; + std::istringstream is(t); + 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)); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/radioactivedecay/rdecay01/src/PhysicsList.cc b/examples/extended/radioactivedecay/rdecay01/src/PhysicsList.cc new file mode 100644 index 0000000000..0796fbffdb --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/src/PhysicsList.cc @@ -0,0 +1,110 @@ +// +// ******************************************************************** +// * 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.2 2010/10/11 14:31:39 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysicsList.hh" +#include "G4UnitsTable.hh" +#include "G4ParticleTypes.hh" +#include "G4IonConstructor.hh" +#include "G4ProcessManager.hh" +#include "G4RadioactiveDecay.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysicsList::PhysicsList() +: G4VUserPhysicsList() +{ + //add new units for radioActive decays + // + const G4double minute = 60*second; + const G4double hour = 60*minute; + const G4double day = 24*hour; + const G4double year = 365*day; + new G4UnitDefinition("minute", "min", "Time", minute); + new G4UnitDefinition("hour", "h", "Time", hour); + new G4UnitDefinition("day", "d", "Time", day); + new G4UnitDefinition("year", "y", "Time", year); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysicsList::~PhysicsList() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::ConstructParticle() +{ + // pseudo-particles + G4Geantino::GeantinoDefinition(); + + // gamma + G4Gamma::GammaDefinition(); + + // leptons + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + + // baryons + G4Proton::ProtonDefinition(); + G4Neutron::NeutronDefinition(); + + // ions + G4IonConstructor iConstructor; + iConstructor.ConstructParticle(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::ConstructProcess() +{ + AddTransportation(); + + G4RadioactiveDecay* radioactiveDecay = new G4RadioactiveDecay(); + radioactiveDecay->SetHLThreshold(-1.*s); + ///radioactiveDecay->SetICM(false); + ///radioactiveDecay->SetARM(false); + + G4ProcessManager* pmanager = G4GenericIon::GenericIon()->GetProcessManager(); + pmanager->AddProcess(radioactiveDecay, 0, -1, 1); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::SetCuts() +{ + SetCutsWithDefault(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/radioactivedecay/rdecay01/src/PrimaryGeneratorAction.cc b/examples/extended/radioactivedecay/rdecay01/src/PrimaryGeneratorAction.cc new file mode 100644 index 0000000000..0000408444 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/src/PrimaryGeneratorAction.cc @@ -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: PrimaryGeneratorAction.cc,v 1.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PrimaryGeneratorAction.hh" + +#include "G4Event.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "G4Geantino.hh" +#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction::PrimaryGeneratorAction() +{ + G4int n_particle = 1; + particleGun = new G4ParticleGun(n_particle); + + particleGun->SetParticleEnergy(0*eV); + particleGun->SetParticlePosition(G4ThreeVector(0.,0.,0.)); + particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction::~PrimaryGeneratorAction() +{ + delete particleGun; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +{ + if (particleGun->GetParticleDefinition() == G4Geantino::Geantino()) { + G4int Z = 10, A = 24; + G4double ionCharge = 0.*eplus; + G4double excitEnergy = 0.*keV; + + G4ParticleDefinition* ion + = G4ParticleTable::GetParticleTable()->GetIon(Z,A,excitEnergy); + particleGun->SetParticleDefinition(ion); + particleGun->SetParticleCharge(ionCharge); + } + + //create vertex + // + particleGun->GeneratePrimaryVertex(anEvent); +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/radioactivedecay/rdecay01/src/RunAction.cc b/examples/extended/radioactivedecay/rdecay01/src/RunAction.cc new file mode 100644 index 0000000000..5c9b289170 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/src/RunAction.cc @@ -0,0 +1,212 @@ +// +// ******************************************************************** +// * 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.2 2010/10/11 14:31:39 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "RunAction.hh" +#include "HistoManager.hh" +#include "PrimaryGeneratorAction.hh" + +#include "G4Run.hh" +#include "G4RunManager.hh" +#include "G4UnitsTable.hh" +#include + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +RunAction::RunAction(HistoManager* histo, PrimaryGeneratorAction* kin) +:histoManager(histo), primary(kin) +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +RunAction::~RunAction() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::BeginOfRunAction(const G4Run*) +{ + //initialize arrays + // + decayCount = 0; + for (G4int i=0; i<3; i++) Ebalance[i] = Pbalance[i] = EventTime[i] = 0. ; + + //histograms + // + histoManager->book(); + + //inform the runManager to save random number seed + // + G4RunManager::GetRunManager()->SetRandomNumberStore(false); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::ParticleCount(G4String name, G4double Ekin) +{ + particleCount[name]++; + Emean[name] += Ekin; + if (particleCount[name] == 1) Emin[name] = Emax[name] = Ekin; + if (Ekin < Emin[name]) Emin[name] = Ekin; + if (Ekin > Emax[name]) Emax[name] = Ekin; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::Balance(G4double Ebal, G4double Pbal) +{ + decayCount++; + Ebalance[0] += Ebal; + if (decayCount == 1) Ebalance[1] = Ebalance[2] = Ebal; + if (Ebal < Ebalance[1]) Ebalance[1] = Ebal; + if (Ebal > Ebalance[2]) Ebalance[2] = Ebal; + + Pbalance[0] += Pbal; + if (decayCount == 1) Pbalance[1] = Pbalance[2] = Pbal; + if (Pbal < Pbalance[1]) Pbalance[1] = Pbal; + if (Pbal > Pbalance[2]) Pbalance[2] = Pbal; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::EventTiming(G4double time) +{ + EventTime[0] += time; + if (decayCount == 1) EventTime[1] = EventTime[2] = time; + if (time < EventTime[1]) EventTime[1] = time; + if (time > EventTime[2]) EventTime[2] = time; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::EndOfRunAction(const G4Run* run) +{ + G4int nbEvents = run->GetNumberOfEvent(); + if (nbEvents == 0) return; + + G4ParticleDefinition* particle = primary->GetParticleGun() + ->GetParticleDefinition(); + G4String partName = particle->GetParticleName(); + G4double eprimary = primary->GetParticleGun()->GetParticleEnergy(); + + G4cout << "\n ======================== run summary ======================"; + G4cout << "\n The run was " << nbEvents << " " << partName << " of " + << G4BestUnit(eprimary,"Energy"); + G4cout << "\n ===========================================================\n"; + G4cout << G4endl; + + G4int prec = 4, wid = prec + 2; + G4int dfprec = G4cout.precision(prec); + + //particle count + // + G4cout << " Nb of generated particles: \n" << G4endl; + + std::map::iterator it; + for (it = particleCount.begin(); it != particleCount.end(); it++) { + G4String name = it->first; + G4int count = it->second; + G4double eMean = Emean[name]/count; + G4double eMin = Emin[name], eMax = Emax[name]; + + G4cout << " " << std::setw(13) << name << ": " << std::setw(7) << count + << " Emean = " << std::setw(wid) << G4BestUnit(eMean, "Energy") + << "\t( " << G4BestUnit(eMin, "Energy") + << " --> " << G4BestUnit(eMax, "Energy") + << ")" << G4endl; + } + + //energy momentum balance + // + G4double Ebmean = Ebalance[0]/decayCount; + G4double Pbmean = Pbalance[0]/decayCount; + + G4cout << "\n Energy and momentum balance : final state - initial state" + << "\n (excluding gamma desexcitation from momentum balance) : \n" + << G4endl; + + G4cout + << " Energy: mean = " << std::setw(wid) << G4BestUnit(Ebmean, "Energy") + << "\t( " << G4BestUnit(Ebalance[1], "Energy") + << " --> " << G4BestUnit(Ebalance[2], "Energy") + << ")" << G4endl; + + G4cout + << " Momentum: mean = " << std::setw(wid) << G4BestUnit(Pbmean, "Energy") + << "\t( " << G4BestUnit(Pbalance[1], "Energy") + << " --> " << G4BestUnit(Pbalance[2], "Energy") + << ")" << G4endl; + + //time of life + // + G4double Tmean = EventTime[0]/nbEvents; + G4double halfLife = Tmean*std::log(2.); + + G4cout << "\n Time of life : mean = " + << std::setw(wid) << G4BestUnit(Tmean, "Time") + << " half-life = " + << std::setw(wid) << G4BestUnit(halfLife, "Time") + << " ( " << G4BestUnit(EventTime[1], "Time") + << " --> " << G4BestUnit(EventTime[2], "Time") + << ")" << G4endl; + + //activity + // + G4double molMass = particle->GetAtomicMass()*g/mole; + G4double nAtoms = Avogadro/molMass; + G4double ActivPerAtom = 1./Tmean; + G4double ActivPerMass = ActivPerAtom*nAtoms; + + G4cout << "\n Activity = " + << std::setw(wid) << ActivPerMass*g/becquerel + << " Bq/g (" << ActivPerMass*g/curie + << " Ci/g) \n" + << G4endl; + + //normalise histo 9 + G4double binW = histoManager->GetBinWidth(9); + G4double factor = (nAtoms*gram)/(binW*nbEvents*becquerel); + histoManager->Normalize(9,factor); + + // remove all contents in particleCount + // + particleCount.clear(); + Emean.clear(); Emin.clear(); Emax.clear(); + + // restore default precision + // + G4cout.precision(dfprec); + + //save histograms + // + histoManager->save(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc b/examples/extended/radioactivedecay/rdecay01/src/SteppingVerbose.cc similarity index 63% rename from examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc rename to examples/extended/radioactivedecay/rdecay01/src/SteppingVerbose.cc index 2b2b726b4b..e5475c7905 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc +++ b/examples/extended/radioactivedecay/rdecay01/src/SteppingVerbose.cc @@ -24,39 +24,30 @@ // ******************************************************************** // // -// $Id: AnaEx01SteppingVerbose.cc,v 1.7 2006/06/29 16:34:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -//--------------------------------------------------------------- -// -// AnaEx01SteppingVerbose.cc -// -// Description: -// Implementation of the AnaEx01SteppingVerbose class -// -//--------------------------------------------------------------- +// $Id: SteppingVerbose.cc,v 1.1 2010/09/16 16:26:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "SteppingVerbose.hh" -#include "AnaEx01SteppingVerbose.hh" #include "G4SteppingManager.hh" - #include "G4UnitsTable.hh" -//////////////////////////////////////////////// -AnaEx01SteppingVerbose::AnaEx01SteppingVerbose() -//////////////////////////////////////////////// -{ -} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -////////////////////////////////////////////////// -AnaEx01SteppingVerbose::~AnaEx01SteppingVerbose() -////////////////////////////////////////////////// -{ -} +SteppingVerbose::SteppingVerbose() +{} -///////////////////////////////////////// -void AnaEx01SteppingVerbose::StepInfo() -///////////////////////////////////////// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +SteppingVerbose::~SteppingVerbose() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void SteppingVerbose::StepInfo() { CopyState(); @@ -74,31 +65,33 @@ void AnaEx01SteppingVerbose::StepInfo() << std::setw( 9) << "dEStep" << " " << std::setw(10) << "StepLeng" << std::setw(10) << "TrakLeng" - << std::setw(10) << "NextVolu" + << 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"); + << 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->GetNextVolume()->GetName(); + 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(); + G4cout << " " + << std::setw(10) << fStep->GetPostStepPoint() + ->GetProcessDefinedStep()->GetProcessName(); } else { - G4cout << "User Limit"; + G4cout << " UserLimit"; } G4cout << G4endl; @@ -118,8 +111,8 @@ void AnaEx01SteppingVerbose::StepInfo() << " ---------------" << G4endl; - for(G4int lp1=(*fSecondary).size()-tN2ndariesTot; - lp1<(int)(*fSecondary).size(); lp1++){ + for(size_t lp1=(*fSecondary).size()-tN2ndariesTot; + lp1<(*fSecondary).size(); lp1++){ G4cout << " : " << std::setw(6) << G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length") @@ -133,6 +126,7 @@ void AnaEx01SteppingVerbose::StepInfo() << (*fSecondary)[lp1]->GetDefinition()->GetParticleName(); G4cout << G4endl; } + G4cout << " :-----------------------------" << "----------------------------------" << "-- EndOf2ndaries Info ---------------" @@ -144,9 +138,9 @@ void AnaEx01SteppingVerbose::StepInfo() G4cout.precision(prec); } -//////////////////////////////////////////////// -void AnaEx01SteppingVerbose::TrackingStarted() -//////////////////////////////////////////////// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void SteppingVerbose::TrackingStarted() { CopyState(); @@ -161,24 +155,27 @@ G4int prec = G4cout.precision(3); << std::setw( 9) << "dEStep" << " " << std::setw(10) << "StepLeng" << std::setw(10) << "TrakLeng" - << std::setw(10) << "NextVolu" + << 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"); + 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->GetNextVolume()->GetName() << " "; + G4cout << std::setw(10) << fTrack->GetVolume()->GetName(); } else { - G4cout << std::setw(10) << "OutOfWorld" << " "; + G4cout << std::setw(10) << "OutOfWorld"; } - G4cout << std::setw(10) << "initStep" << G4endl; + G4cout << " initStep" << G4endl; } G4cout.precision(prec); } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/radioactivedecay/rdecay01/src/TrackingAction.cc b/examples/extended/radioactivedecay/rdecay01/src/TrackingAction.cc new file mode 100644 index 0000000000..2405c23897 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/src/TrackingAction.cc @@ -0,0 +1,155 @@ +// +// ******************************************************************** +// * 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.2 2010/10/11 14:31:39 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "TrackingAction.hh" +#include "RunAction.hh" +#include "HistoManager.hh" +#include "RunAction.hh" +#include "EventAction.hh" +#include "TrackingMessenger.hh" + +#include "G4Track.hh" +#include "G4ParticleTypes.hh" +#include "G4RunManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +TrackingAction::TrackingAction(HistoManager* histo, + RunAction* RA, EventAction* EA) +:histoManager(histo),run(RA),event(EA) +{ + fullChain = false; + trackMessenger = new TrackingMessenger(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +TrackingAction::~TrackingAction() +{ + delete trackMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void TrackingAction::PreUserTrackingAction(const G4Track* track) +{ + G4ParticleDefinition* particle = track->GetDefinition(); + G4String name = particle->GetParticleName(); + charge = particle->GetPDGCharge(); + mass = particle->GetPDGMass(); + + G4double Ekin = track->GetKineticEnergy(); + G4int ID = track->GetTrackID(); + + G4bool condition = false; + + //count particles + // + run->ParticleCount(name, Ekin); + + //energy spectrum + // + G4int ih = 0; + if (particle == G4Electron::Electron()|| + particle == G4Positron::Positron()) ih = 1; + else if (particle == G4NeutrinoE::NeutrinoE()|| + particle == G4AntiNeutrinoE::AntiNeutrinoE()) ih = 2; + else if (particle == G4Gamma::Gamma()) ih = 3; + else if (particle == G4Alpha::Alpha()) ih = 4; + else if (charge > 2.) ih = 5; + if (ih) histoManager->FillHisto(ih, Ekin); + + //fullChain: stop ion and print decay chain + // + if (charge > 2.) { + G4Track* tr = (G4Track*) track; + if (fullChain) tr->SetTrackStatus(fStopButAlive); + if (ID == 1) event->AddDecayChain(name); + else event->AddDecayChain(" ---> " + name); + } + + //example of saving random number seed of this event, under condition + // + ////condition = (ih == 3); + if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void TrackingAction::PostUserTrackingAction(const G4Track* track) +{ + //keep only ions + // + if (charge < 3. ) return; + + //get time + // + G4double time = track->GetGlobalTime(); + + //energy and momentum balance (from secondaries) + // + G4TrackVector* secondaries = fpTrackingManager->GimmeSecondaries(); + size_t nbtrk = (*secondaries).size(); + if (nbtrk) { + //there are secondaries --> it is a decay + // + //force 'single' decay + G4int ID = track->GetTrackID(); + if ((!fullChain)&&(ID > 1)) G4RunManager::GetRunManager()->AbortEvent(); + // + //balance + G4double Ebalance = - track->GetTotalEnergy(); + G4ThreeVector Pbalance = - track->GetMomentum(); + for (size_t itr=0; itrGetTotalEnergy(); + //exclude gamma desexcitation from momentum balance + if (trk->GetDefinition() != G4Gamma::Gamma()) + Pbalance += trk->GetMomentum(); + } + G4double Pbal = Pbalance.mag(); + run->Balance(Ebalance,Pbal); + histoManager->FillHisto(6,Ebalance); + histoManager->FillHisto(7,Pbal); + } + + //no secondaries --> end of chain + // + if (!nbtrk) { + run->EventTiming(time); //time of life + histoManager->FillHisto(8,time); + histoManager->FillHisto(9,time); //activity + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/radioactivedecay/rdecay01/src/TrackingMessenger.cc b/examples/extended/radioactivedecay/rdecay01/src/TrackingMessenger.cc new file mode 100644 index 0000000000..dfec2ede5d --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/src/TrackingMessenger.cc @@ -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. * +// ******************************************************************** +// +// $Id: TrackingMessenger.cc,v 1.2 2010/09/17 11:21:46 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "TrackingMessenger.hh" +#include "TrackingAction.hh" + +#include "G4UIcmdWithABool.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +TrackingMessenger::TrackingMessenger(TrackingAction* trackA) +:trackingAction(trackA) +{ + TrackingCmd = new G4UIcmdWithABool("/rdecay01/fullChain",this); + TrackingCmd->SetGuidance("allow full decay chain"); + TrackingCmd->SetParameterName("flag",true); + TrackingCmd->SetDefaultValue(true); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +TrackingMessenger::~TrackingMessenger() +{ + delete TrackingCmd; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void TrackingMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == TrackingCmd) + { trackingAction->SetFullChain(TrackingCmd->GetNewBoolValue(newValue));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/radioactivedecay/rdecay01/vis.mac b/examples/extended/radioactivedecay/rdecay01/vis.mac new file mode 100644 index 0000000000..027592da2d --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay01/vis.mac @@ -0,0 +1,86 @@ +# +# Macro file for the initialization phase of "radioActiv.cc" +# +# Sets some default verbose +# and initializes the graphic. +# +/control/verbose 2 +/run/verbose 2 +# +/run/initialize +# +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +/vis/viewer/zoom 1.5 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +/vis/modeling/trajectories/create/drawByParticleID +/vis/modeling/trajectories/drawByParticleID-0/set e- red +/vis/modeling/trajectories/drawByParticleID-0/set e+ blue +/vis/modeling/trajectories/drawByParticleID-0/set nu_e white +/vis/modeling/trajectories/drawByParticleID-0/set anti_nu_e white +/vis/modeling/trajectories/drawByParticleID-0/set geantino white +/vis/modeling/trajectories/drawByParticleID-0/set gamma green +/vis/modeling/trajectories/drawByParticleID-0/set alpha yellow +/vis/modeling/trajectories/drawByParticleID-0/set GenericIon grey +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/extended/radioactivedecay/exrdm/GNUmakefile b/examples/extended/radioactivedecay/rdecay02/GNUmakefile similarity index 91% rename from examples/extended/radioactivedecay/exrdm/GNUmakefile rename to examples/extended/radioactivedecay/rdecay02/GNUmakefile index 4d7abaa76c..217a2a48b4 100644 --- a/examples/extended/radioactivedecay/exrdm/GNUmakefile +++ b/examples/extended/radioactivedecay/rdecay02/GNUmakefile @@ -1,9 +1,9 @@ -# $Id: GNUmakefile,v 1.9 2008/12/05 09:57:30 flei Exp $ +# $Id: GNUmakefile,v 1.1 2010/09/16 16:37:12 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module # -------------------------------------------------------------- -name := exRDM +name := rdecay02 G4TARGET := $(name) G4EXLIB := true diff --git a/examples/extended/radioactivedecay/exrdm/History b/examples/extended/radioactivedecay/rdecay02/History similarity index 81% rename from examples/extended/radioactivedecay/exrdm/History rename to examples/extended/radioactivedecay/rdecay02/History index c047ee52a7..690031120d 100644 --- a/examples/extended/radioactivedecay/exrdm/History +++ b/examples/extended/radioactivedecay/rdecay02/History @@ -1,12 +1,12 @@ -$Id: History,v 1.27 2009/09/22 16:50:06 gunter Exp $ +$Id: History,v 1.5 2010/11/17 15:31:08 flei Exp $ ------------------------------------------------------------------- ========================================================= Geant4 - an Object-Oriented Toolkit for Simulation in HEP ========================================================= - exRDM History file - ------------------ + rdecay02 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. @@ -14,6 +14,33 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +17/11/2010 - F.Lei (rdecay02-V09-03-04) +- The radioactivity data is output in file ".activity" with the same file name as the .aida or .root files +- Added more macros macros/u238-b.mac macros/u238.mac macros/po201m.mac +- rename vrml.mac to vrml.g4mac + +11/11/2010 - F.Lei (rdecay02-V09-03-03) +- Updated exrdmAnalysisManager.cc to output the accumulated radioactivities in the file + "activities.data" at the end of a run, in VR mode. +- Added macros/proton-beam.mac + +09/11/2010 - M.Asai (rdecay02-V09-03-02) +- Fix AIDA file option. + +08/11/2010 - J.Allison (rdecay02-V09-03-01) +- Introduced G4UIExecutive. + +16/10/2010 - G.Cosmo (rdecay02-V09-03-00) +- Migrated from "exrdm". + +06/06/2010 - J.Perl (exrdm-V09-03-02) +- Remove unused variable in EventAction + +02/06/2010 - J.Perl (exrdm-V09-03-01) +- Updated vis usage + +10/05/2010 V.Ivanchenko (exrdm-V09-03-00) +- substitute G4MultipleScattering by specialized processes per particle type 22/09/2009 G.Folger (exrdm-V09-02-00) - remove trivial compilation warning when compiled without G4ANALYSIS_USE in diff --git a/examples/extended/radioactivedecay/exrdm/README b/examples/extended/radioactivedecay/rdecay02/README similarity index 95% rename from examples/extended/radioactivedecay/exrdm/README rename to examples/extended/radioactivedecay/rdecay02/README index 0b002081ec..e28e3d7d25 100644 --- a/examples/extended/radioactivedecay/exrdm/README +++ b/examples/extended/radioactivedecay/rdecay02/README @@ -3,10 +3,10 @@ Geant4 - an Object-Oriented Toolkit for Simulation in HEP ========================================================= - Extended Example for G4RadioactiveDecay - -------------------- + Extended Example rdecay02 + ------------------------- - The exRDM is created to show how to use the G4RadioactiveDecay process to simulate the decays of + Rdecay02 is created to show how to use the G4RadioactiveDecay process to simulate the decays of radioactive isotopes as well as the induced radioactivity resulted from nuclear interactions. In this example a simple geometry consists of a cylindric target placed in the centre of a tube detector @@ -107,7 +107,7 @@ 5. VISUALIZATION: Visualisation of the geometry and the tracks is possible with many of the G4 visualisation packages. An - example of display the geometry and tracks using VRML is given in the macro file macros/vrml.mac. + example of display the geometry and tracks using VRML is given in the macro file macros/vis.mac. 6. ANALYSIS: @@ -187,16 +187,15 @@ ii) Build the exRDM executable: - cd to exrdm + cd to rdecay02 gmake clean gmake - Depends on the setup, gmake will create tmp and bin directories in your $G4TMP and $G4BIN directories. - The executable, named exRDM, will be in $G4BIN/$G4SYSTEM/ directory. + The executable, named rdecay02, will be in $G4WORKDIR/bin/$G4SYSTEM/ directory. - iii) Run the executable: while in the exrdm directory do + iii) Run the executable: while in the rdecay02 directory do - $G4BIN/$G4SYSTEM/exRDM exrdm.in + rdecay02 rdecay02.in If all goes well, the execution shall be terminated in a few seconds. If G4ANALYSIS_USE is defined, one should see a "proton.aida" file created. If G4ANALYSIS_USE_ROOT is defined, there will be diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmAnalysisManager.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmAnalysisManager.hh similarity index 99% rename from examples/extended/radioactivedecay/exrdm/include/exrdmAnalysisManager.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmAnalysisManager.hh index bd902413b0..13c6293caf 100644 --- a/examples/extended/radioactivedecay/exrdm/include/exrdmAnalysisManager.hh +++ b/examples/extended/radioactivedecay/rdecay02/include/exrdmAnalysisManager.hh @@ -69,7 +69,7 @@ public: // Without description void bookHisto(); void BeginOfRun(); - void EndOfRun(); + void EndOfRun(G4int); void BeginOfEvent(); void EndOfEvent(); diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmDetectorConstruction.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmDetectorConstruction.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmDetectorConstruction.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmDetectorConstruction.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmDetectorMessenger.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmDetectorMessenger.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmDetectorMessenger.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmDetectorMessenger.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmEnergyDeposition.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmEnergyDeposition.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmEnergyDeposition.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmEnergyDeposition.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmEventAction.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmEventAction.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmEventAction.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmEventAction.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmEventActionMessenger.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmEventActionMessenger.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmEventActionMessenger.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmEventActionMessenger.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmHisto.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmHisto.hh similarity index 99% rename from examples/extended/radioactivedecay/exrdm/include/exrdmHisto.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmHisto.hh index 240881b56b..af04ba09a6 100644 --- a/examples/extended/radioactivedecay/exrdm/include/exrdmHisto.hh +++ b/examples/extended/radioactivedecay/rdecay02/include/exrdmHisto.hh @@ -102,6 +102,7 @@ public: // Save tuple event void setFileName(const G4String&); + const G4String& getFileName() const; void setFileType(const G4String&); const G4String& FileType() const; diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmHistoMessenger.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmHistoMessenger.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmHistoMessenger.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmHistoMessenger.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmMaterial.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmMaterial.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmMaterial.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmMaterial.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmMaterialData.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmMaterialData.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmMaterialData.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmMaterialData.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmMaterialMessenger.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmMaterialMessenger.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmMaterialMessenger.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmMaterialMessenger.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmPhysListEmLowEnergy.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmPhysListEmLowEnergy.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmPhysListEmLowEnergy.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmPhysListEmLowEnergy.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmPhysListHadron.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmPhysListHadron.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmPhysListHadron.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmPhysListHadron.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmPhysListParticles.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmPhysListParticles.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmPhysListParticles.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmPhysListParticles.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmPhysicsList.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmPhysicsList.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmPhysicsList.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmPhysicsList.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmPhysicsListMessenger.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmPhysicsListMessenger.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmPhysicsListMessenger.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmPhysicsListMessenger.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmPrimaryGeneratorAction.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmPrimaryGeneratorAction.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmPrimaryGeneratorAction.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmPrimaryGeneratorAction.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmRunAction.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmRunAction.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmRunAction.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmRunAction.hh diff --git a/examples/extended/radioactivedecay/exrdm/include/exrdmSteppingAction.hh b/examples/extended/radioactivedecay/rdecay02/include/exrdmSteppingAction.hh similarity index 100% rename from examples/extended/radioactivedecay/exrdm/include/exrdmSteppingAction.hh rename to examples/extended/radioactivedecay/rdecay02/include/exrdmSteppingAction.hh diff --git a/examples/extended/radioactivedecay/exrdm/macros/as74.mac b/examples/extended/radioactivedecay/rdecay02/macros/as74.mac similarity index 97% rename from examples/extended/radioactivedecay/exrdm/macros/as74.mac rename to examples/extended/radioactivedecay/rdecay02/macros/as74.mac index e2a51077c6..defdd7a705 100644 --- a/examples/extended/radioactivedecay/exrdm/macros/as74.mac +++ b/examples/extended/radioactivedecay/rdecay02/macros/as74.mac @@ -41,12 +41,12 @@ # # Analogue MC /histo/fileName as74 -/run/beamOn 10000 +/run/beamOn 100000 # VR MC /histo/fileName as74-b /grdm/analogueMC 0 -/run/beamOn 10000 +/run/beamOn 100000 diff --git a/examples/extended/radioactivedecay/rdecay02/macros/beam.data b/examples/extended/radioactivedecay/rdecay02/macros/beam.data new file mode 100644 index 0000000000..f2b8a076e4 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay02/macros/beam.data @@ -0,0 +1,3 @@ +0 1 +1. 0 + diff --git a/examples/extended/radioactivedecay/exrdm/macros/bias.data b/examples/extended/radioactivedecay/rdecay02/macros/bias.data similarity index 100% rename from examples/extended/radioactivedecay/exrdm/macros/bias.data rename to examples/extended/radioactivedecay/rdecay02/macros/bias.data diff --git a/examples/extended/radioactivedecay/exrdm/macros/f24.mac b/examples/extended/radioactivedecay/rdecay02/macros/f24.mac similarity index 94% rename from examples/extended/radioactivedecay/exrdm/macros/f24.mac rename to examples/extended/radioactivedecay/rdecay02/macros/f24.mac index d207e32cdc..5944371d85 100644 --- a/examples/extended/radioactivedecay/exrdm/macros/f24.mac +++ b/examples/extended/radioactivedecay/rdecay02/macros/f24.mac @@ -33,20 +33,20 @@ # # complete chain decays /histo/fileName f24c -/run/beamOn 1000 +/run/beamOn 10000 # # complete chain decays in VR mode /grdm/analogueMC 0 /histo/fileName f24c-b -/run/beamOn 1000 +/run/beamOn 10000 # # No daughter decays in analogue MC mode /histo/fileName f24 /grdm/analogueMC 1 /grdm/nucleusLimits 24 24 9 9 -/run/beamOn 1000 +/run/beamOn 10000 # No daughter decays in VR MC mode /histo/fileName f24-b /grdm/analogueMC 0 /grdm/BRbias 0 -/run/beamOn 1000 +/run/beamOn 10000 diff --git a/examples/extended/radioactivedecay/exrdm/macros/isotopes.mac b/examples/extended/radioactivedecay/rdecay02/macros/isotopes.mac similarity index 94% rename from examples/extended/radioactivedecay/exrdm/macros/isotopes.mac rename to examples/extended/radioactivedecay/rdecay02/macros/isotopes.mac index 1d65a13fee..7b2e49c131 100644 --- a/examples/extended/radioactivedecay/exrdm/macros/isotopes.mac +++ b/examples/extended/radioactivedecay/rdecay02/macros/isotopes.mac @@ -38,20 +38,20 @@ /histo/setHisto 5 50 0 10 MeV /histo/setHisto 6 50 0 10 MeV /gps/ion 11 24 0 0 -/run/beamOn 1000 +/run/beamOn 100000 # # NA-24 (472 KEV METASTABLE STATE) BETA+ DECAY AND IT. # /histo/fileName na24m /gps/ion 11 24 0 472 -/run/beamOn 1000 +/run/beamOn 100000 # # NE-24 BETA- DECAY. # -/histo/fileName ne24.aida +/histo/fileName ne24 /grdm/nucleusLimits 24 24 10 10 /gps/ion 10 24 0 0 -/run/beamOn 1000 +/run/beamOn 100000 # # AL-24 (GND-STATE) BETA+ DECAY. @@ -66,7 +66,7 @@ /histo/setHisto 6 50 0 15 MeV /grdm/nucleusLimits 24 24 13 13 /gps/ion 13 24 0 0 -/run/beamOn 1000 +/run/beamOn 100000 # # CR-46 BETA+ DECAY. # @@ -80,7 +80,7 @@ /histo/setHisto 6 50 0 10 MeV /grdm/nucleusLimits 46 46 24 24 /gps/ion 24 46 0 0 -/run/beamOn 1000 +/run/beamOn 100000 # # # PO-215 ALPHA DECAY. @@ -89,4 +89,4 @@ /grdm/nucleusLimits 215 215 84 84 /gps/ion 84 215 0 0 /run/beamOn -/run/beamOn 1000 +/run/beamOn 100000 diff --git a/examples/extended/radioactivedecay/rdecay02/macros/measures.data b/examples/extended/radioactivedecay/rdecay02/macros/measures.data new file mode 100644 index 0000000000..85977ac948 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay02/macros/measures.data @@ -0,0 +1,8 @@ +0. 1 +1. 0 +1000 1 +1001 0 +10000 1 +10001 0 +1e7 1 +1e9 0 \ No newline at end of file diff --git a/examples/extended/radioactivedecay/exrdm/macros/multiple-source.mac b/examples/extended/radioactivedecay/rdecay02/macros/multiple-source.mac similarity index 100% rename from examples/extended/radioactivedecay/exrdm/macros/multiple-source.mac rename to examples/extended/radioactivedecay/rdecay02/macros/multiple-source.mac diff --git a/examples/extended/radioactivedecay/exrdm/macros/ne24.mac b/examples/extended/radioactivedecay/rdecay02/macros/ne24.mac similarity index 100% rename from examples/extended/radioactivedecay/exrdm/macros/ne24.mac rename to examples/extended/radioactivedecay/rdecay02/macros/ne24.mac diff --git a/examples/extended/radioactivedecay/exrdm/macros/neutron-10ev.mac b/examples/extended/radioactivedecay/rdecay02/macros/neutron-10ev.mac similarity index 97% rename from examples/extended/radioactivedecay/exrdm/macros/neutron-10ev.mac rename to examples/extended/radioactivedecay/rdecay02/macros/neutron-10ev.mac index 978e6e9f3a..e760cdb8f5 100644 --- a/examples/extended/radioactivedecay/exrdm/macros/neutron-10ev.mac +++ b/examples/extended/radioactivedecay/rdecay02/macros/neutron-10ev.mac @@ -23,4 +23,4 @@ /tracking/verbose 0 /gps/particle neutron /gps/energy 10 eV -/run/beamOn 1000 +/run/beamOn 10000 diff --git a/examples/extended/radioactivedecay/exrdm/macros/one-iso.mac b/examples/extended/radioactivedecay/rdecay02/macros/one-iso.mac similarity index 100% rename from examples/extended/radioactivedecay/exrdm/macros/one-iso.mac rename to examples/extended/radioactivedecay/rdecay02/macros/one-iso.mac diff --git a/examples/extended/radioactivedecay/rdecay02/macros/po201m.mac b/examples/extended/radioactivedecay/rdecay02/macros/po201m.mac new file mode 100644 index 0000000000..cb88e0fa02 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay02/macros/po201m.mac @@ -0,0 +1,58 @@ +############################################################################### +# # +# THIS TEST GENERATES NUCLEI OF F-24 AT THE CENTRE OF THE TARGET +# WHICH IS THE ORIGIN. +# +################################################################################ +# +/histo/setHisto 0 50 0 1 MeV +/histo/setHisto 1 50 0 15 MeV +/histo/setHisto 2 50 0 15 MeV +/histo/setHisto 3 50 0 15 MeV +/histo/setHisto 4 50 0 1 MeV +/histo/setHisto 5 50 0 15 MeV +/histo/setHisto 6 50 0 15 MeV +/exrdm/det/setTargetRadius 1e10 pc +/exrdm/det/setTargetLength 1e10 pc +/exrdm/det/setDetectorThickness 1e10 pc +/exrdm/det/setDetectorLength 1e10 pc +#/exrdm/phys/SelectPhysics transport +/run/initialize + +/run/setCutForRegion Target 100 cm +/run/setCutForRegion Detector 100 cm +/run/verbose 0 + +/process/inactivate msc +/process/inactivate hIoni +#/process/inactivate ionIoni +/process/inactivate eIoni +/process/inactivate eBrem +/process/inactivate annihil +/process/inactivate phot +/process/inactivate compt +/process/inactivate conv +/process/inactivate hBrems +/process/inactivate hPairProd +/process/inactivate CoulombScat +/process/inactivate Decay + +/event/verbose 0 +/tracking/verbose 0 +/grdm/verbose 0 + +# +/gps/position 0 0 0 +/gps/energy 0 keV +# complete chain decays in VR mode +/grdm/hlThreshold 1e-6 s +/grdm/applyARM false +/grdm/sourceTimeProfile beam.data +/grdm/decayBiasProfile measures.data +#/grdm/nucleusLimits 220 234 80 92 +/gps/ion 84 201 0 424. +/histo/fileName po201m +#/random/setSavingFlag +#/random/resetEngineFrom oldEvent.rndm +/grdm/analogueMC false +/run/beamOn 10000 diff --git a/examples/extended/radioactivedecay/exrdm/macros/proton-1gev.mac b/examples/extended/radioactivedecay/rdecay02/macros/proton-1gev.mac similarity index 97% rename from examples/extended/radioactivedecay/exrdm/macros/proton-1gev.mac rename to examples/extended/radioactivedecay/rdecay02/macros/proton-1gev.mac index e6f8210869..d01689fcb9 100644 --- a/examples/extended/radioactivedecay/exrdm/macros/proton-1gev.mac +++ b/examples/extended/radioactivedecay/rdecay02/macros/proton-1gev.mac @@ -21,7 +21,7 @@ /gps/particle proton /gps/energy 1 GeV /tracking/verbose 0 -/run/beamOn 1000 +/run/beamOn 10000 diff --git a/examples/extended/radioactivedecay/exrdm/macros/proton-b.mac b/examples/extended/radioactivedecay/rdecay02/macros/proton-b.mac similarity index 100% rename from examples/extended/radioactivedecay/exrdm/macros/proton-b.mac rename to examples/extended/radioactivedecay/rdecay02/macros/proton-b.mac diff --git a/examples/extended/radioactivedecay/rdecay02/macros/proton-beam.mac b/examples/extended/radioactivedecay/rdecay02/macros/proton-beam.mac new file mode 100644 index 0000000000..d14976ce98 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay02/macros/proton-beam.mac @@ -0,0 +1,38 @@ +################################################################################# +# # +# THIS TEST TO DEMONSTRATE THAT ISOTOPES GENERATED IN HADRONIC # +# PROCESSES CAN BE TREATED BY THE RDM. # +# # +################################################################################# +# +# +/exrdm/phys/SelectPhysics Hadron +#/geometry/material/add NaI Na-I 3.67 +# material definitions has to be done before /run/initilalize +/exrdm/det/setTargetMate Lead +/histo/fileName proton-beam +/run/initialize +/run/setCutForRegion Target 50 cm +/run/setCutForRegion Detector 50 cm +/grdm/analogueMC 0 +/grdm/verbose 0 +/grdm/noVolumes +/grdm/selectVolume Target +/grdm/sourceTimeProfile beam.data +/grdm/decayBiasProfile measures.data +#/grdm/BRbias 0 + +/gps/particle proton +/gps/energy 1 GeV +/tracking/verbose 0 +#/random/setSavingFlag +#/random/resetEngineFrom oldEvent.rndm +/run/beamOn 10000 + + + + + + + + diff --git a/examples/extended/radioactivedecay/exrdm/macros/runall b/examples/extended/radioactivedecay/rdecay02/macros/runall similarity index 59% rename from examples/extended/radioactivedecay/exrdm/macros/runall rename to examples/extended/radioactivedecay/rdecay02/macros/runall index ff07c1e359..7a363b487f 100755 --- a/examples/extended/radioactivedecay/exrdm/macros/runall +++ b/examples/extended/radioactivedecay/rdecay02/macros/runall @@ -2,7 +2,7 @@ \rm runall.log foreach i (`ls *.mac`) echo ' Runing ' $i - time ../bin/$G4SYSTEM/exRDM $i >>& runall.log + time ../bin/$G4SYSTEM/rdecay02 $i >>& runall.log end diff --git a/examples/extended/radioactivedecay/exrdm/macros/source.data b/examples/extended/radioactivedecay/rdecay02/macros/source.data similarity index 100% rename from examples/extended/radioactivedecay/exrdm/macros/source.data rename to examples/extended/radioactivedecay/rdecay02/macros/source.data diff --git a/examples/extended/radioactivedecay/exrdm/macros/test.mac b/examples/extended/radioactivedecay/rdecay02/macros/test.mac similarity index 100% rename from examples/extended/radioactivedecay/exrdm/macros/test.mac rename to examples/extended/radioactivedecay/rdecay02/macros/test.mac diff --git a/examples/extended/radioactivedecay/exrdm/macros/th234c-b.mac b/examples/extended/radioactivedecay/rdecay02/macros/th234c-b.mac similarity index 100% rename from examples/extended/radioactivedecay/exrdm/macros/th234c-b.mac rename to examples/extended/radioactivedecay/rdecay02/macros/th234c-b.mac diff --git a/examples/extended/radioactivedecay/rdecay02/macros/u238-b.mac b/examples/extended/radioactivedecay/rdecay02/macros/u238-b.mac new file mode 100644 index 0000000000..35bd2719c0 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay02/macros/u238-b.mac @@ -0,0 +1,60 @@ +############################################################################### +# # +# THIS TEST GENERATES NUCLEI OF U-238 AT THE CENTRE OF THE TARGET +# WHICH IS THE ORIGIN. +# +################################################################################ +# +/histo/setHisto 0 50 0 1 MeV +/histo/setHisto 1 50 0 15 MeV +/histo/setHisto 2 50 0 15 MeV +/histo/setHisto 3 50 0 15 MeV +/histo/setHisto 4 50 0 1 MeV +/histo/setHisto 5 50 0 15 MeV +/histo/setHisto 6 50 0 15 MeV +/exrdm/det/setTargetRadius 1e10 pc +/exrdm/det/setTargetLength 1e10 pc +/exrdm/det/setDetectorThickness 1e10 pc +/exrdm/det/setDetectorLength 1e10 pc +/run/initialize + +/run/setCutForRegion Target 50 cm +/run/setCutForRegion Detector 50 cm + +/process/inactivate msc +/process/inactivate hIoni +#/process/inactivate ionIoni +/process/inactivate eIoni +/process/inactivate eBrem +/process/inactivate annihil +/process/inactivate phot +/process/inactivate compt +/process/inactivate conv +/process/inactivate hBrems +/process/inactivate hPairProd +/process/inactivate CoulombScat +/process/inactivate Decay + +/run/verbose 0 +/event/verbose 0 +/grdm/verbose 0 +/grdm/noVolumes +/grdm/selectVolume Target + +/gps/position 0 0 0 +/gps/energy 0 keV +# +# complete chain decays in VR mode +/grdm/sourceTimeProfile beam.data +/grdm/decayBiasProfile measures.data +#/grdm/nucleusLimits 238 238 90 92 +# start from 100 keV excited state +/gps/ion 92 238 0 100 +/histo/fileName u238-b +#/random/setSavingFlag +#/random/resetEngineFrom oldEvent.rndm +/grdm/hlThreshold 1e-6 s +/grdm/analogueMC 0 +/tracking/verbose 0 +/grdm/verbose 0 +/run/beamOn 1000 diff --git a/examples/extended/radioactivedecay/rdecay02/macros/u238.mac b/examples/extended/radioactivedecay/rdecay02/macros/u238.mac new file mode 100644 index 0000000000..c6c4ed9889 --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay02/macros/u238.mac @@ -0,0 +1,55 @@ +############################################################################### +# # +# THIS TEST GENERATES NUCLEI OF U-238 AT THE CENTRE OF THE TARGET +# WHICH IS THE ORIGIN. +# +################################################################################ +# +/histo/setHisto 0 50 0 1 MeV +/histo/setHisto 1 50 0 15 MeV +/histo/setHisto 2 50 0 15 MeV +/histo/setHisto 3 50 0 15 MeV +/histo/setHisto 4 50 0 1 MeV +/histo/setHisto 5 50 0 15 MeV +/histo/setHisto 6 50 0 15 MeV +/exrdm/det/setTargetRadius 1e10 pc +/exrdm/det/setTargetLength 1e10 pc +/exrdm/det/setDetectorThickness 1e10 pc +/exrdm/det/setDetectorLength 1e10 pc +/run/initialize + +/run/setCutForRegion Target 50 cm +/run/setCutForRegion Detector 50 cm + +/process/inactivate msc +/process/inactivate hIoni +#/process/inactivate ionIoni +/process/inactivate eIoni +/process/inactivate eBrem +/process/inactivate annihil +/process/inactivate phot +/process/inactivate compt +/process/inactivate conv +/process/inactivate hBrems +/process/inactivate hPairProd +/process/inactivate CoulombScat +/process/inactivate Decay + +/run/verbose 0 +/event/verbose 0 +/grdm/verbose 0 +/grdm/noVolumes +/grdm/selectVolume Target + +/gps/position 0 0 0 +/gps/energy 0 keV +/gps/particle ion +/gps/ion 92 238 0 0 +# +# complete chain decays +/histo/fileName u238 +/grdm/applyICM false +/grdm/applyARM false +/grdm/hlThreshold 1e-6 s +/tracking/verbose 1 +/run/beamOn 2 diff --git a/examples/extended/radioactivedecay/exrdm/macros/u238c.mac b/examples/extended/radioactivedecay/rdecay02/macros/u238c.mac similarity index 100% rename from examples/extended/radioactivedecay/exrdm/macros/u238c.mac rename to examples/extended/radioactivedecay/rdecay02/macros/u238c.mac diff --git a/examples/extended/radioactivedecay/rdecay02/macros/vrml.g4mac b/examples/extended/radioactivedecay/rdecay02/macros/vrml.g4mac new file mode 100644 index 0000000000..a9a8d74bbb --- /dev/null +++ b/examples/extended/radioactivedecay/rdecay02/macros/vrml.g4mac @@ -0,0 +1,81 @@ +#/exrdm/phys/SelectPhysics LHEP_BIC_HP +/run/initialize +/run/setCut 1000 cm +/run/setCutForRegion Target 10 cm +/run/setCutForRegion Detector 50 cm +# +# Use this open statement to create an OpenGL view: +#/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: +/vis/viewer/zoom 20. +# +# Specify style (surface or wireframe): +/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# +/gps/particle proton +/tracking/verbose 1 +/run/beamOn 10 + + + diff --git a/examples/extended/radioactivedecay/exrdm/exRDM.cc b/examples/extended/radioactivedecay/rdecay02/rdecay02.cc similarity index 83% rename from examples/extended/radioactivedecay/exrdm/exRDM.cc rename to examples/extended/radioactivedecay/rdecay02/rdecay02.cc index 26b5b74d01..0b2171dccf 100644 --- a/examples/extended/radioactivedecay/exrdm/exRDM.cc +++ b/examples/extended/radioactivedecay/rdecay02/rdecay02.cc @@ -25,15 +25,6 @@ // #include "G4RunManager.hh" #include "G4UImanager.hh" -#ifdef G4UI_USE_GAG -#include "G4UIGAG.hh" -#endif -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif - #include "exrdmDetectorConstruction.hh" #include "exrdmPhysicsList.hh" @@ -48,6 +39,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + int main(int argc,char** argv) { // random engine @@ -70,23 +65,7 @@ int main(int argc,char** argv) runManager->SetUserAction(new exrdmRunAction); runManager->SetUserAction(new exrdmEventAction); runManager->SetUserAction(new exrdmSteppingAction); - // - // - G4UIsession* session=0; - - if (argc==1) // Define UI session for interactive mode. - { -#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; @@ -98,17 +77,21 @@ int main(int argc,char** argv) // runManager->Initialize(); // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); - if (session) // Define UI session for interactive mode. + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + + if (argc == 1) // Define UI session for interactive mode. { - session->SessionStart(); - delete session; +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; +#endif } 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/extended/radioactivedecay/exrdm/exrdm.in b/examples/extended/radioactivedecay/rdecay02/rdecay02.in similarity index 100% rename from examples/extended/radioactivedecay/exrdm/exrdm.in rename to examples/extended/radioactivedecay/rdecay02/rdecay02.in diff --git a/examples/extended/radioactivedecay/exrdm/exrdm.out b/examples/extended/radioactivedecay/rdecay02/rdecay02.out similarity index 80% rename from examples/extended/radioactivedecay/exrdm/exrdm.out rename to examples/extended/radioactivedecay/rdecay02/rdecay02.out index a9c77649b0..87dce921a6 100644 --- a/examples/extended/radioactivedecay/exrdm/exrdm.out +++ b/examples/extended/radioactivedecay/rdecay02/rdecay02.out @@ -4,19 +4,19 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) 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 -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 +/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 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 @@ -100,13 +102,16 @@ Detector cuts are set ============================================================================================ HADRONIC PROCESSES SUMMARY (verbose level 1) + Hadronic Processes for + ionInelastic Models: Binary Cascade: Emin(GeV)= 0 Emax(GeV)= 20 + Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 @@ -118,17 +123,17 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 KaonPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEKaonPlusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEKaonMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 @@ -136,8 +141,7 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( muMinusCaptureAtRest Hadronic Processes for - hElastic Models: NeutronHPElastic: Emin(GeV)= 0 Emax(GeV)= 0.02 - G4HadronElastic: Emin(GeV)= 0.0195 Emax(GeV)= 100000 + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 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 @@ -148,17 +152,19 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( NeutronHPFission: Emin(GeV)= 0 Emax(GeV)= 0.02 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 PionPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEPionPlusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEPionMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticCHIPS: 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 @@ -191,6 +197,7 @@ Index : 2 used in the geometry : Yes recalculation needed : No exrdmAnalysisManager: Histograms are booked and the run has been started ### Run : 0 +exrdmAnalysisManager: Histograms have been saved! Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmAnalysisManager.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmAnalysisManager.cc similarity index 78% rename from examples/extended/radioactivedecay/exrdm/src/exrdmAnalysisManager.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmAnalysisManager.cc index c7e0e7cfd9..41a9ea4b89 100644 --- a/examples/extended/radioactivedecay/exrdm/src/exrdmAnalysisManager.cc +++ b/examples/extended/radioactivedecay/rdecay02/src/exrdmAnalysisManager.cc @@ -31,6 +31,10 @@ #include "exrdmAnalysisManager.hh" #include "G4UnitsTable.hh" #include "exrdmHisto.hh" +#include "G4ProcessTable.hh" +#include "G4RadioactiveDecay.hh" + +#include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -88,25 +92,25 @@ void exrdmAnalysisManager::bookHisto() histEMin = .0*MeV; histNBin = 100; - histo->add1D("10", + histo->add1D("H10", "Energy deposit (MeV) in the traget",histNBin,histEMin,histEMax,MeV); - histo->add1D("11", + histo->add1D("H11", "Energy deposit (MeV) in the detector",histNBin,histEMin,histEMax,MeV); - histo->add1D("12", + histo->add1D("H12", "Total energy spectrum (MeV) of the traget and detector",histNBin,histEMin,histEMax,MeV); - histo->add1D("13", + histo->add1D("H13", "Coincidence spectrum (MeV) between the traget and detector",histNBin,histEMin,histEMax,MeV); - histo->add1D("14", + histo->add1D("H14", "Anti-coincidence spectrum (MeV) in the traget",histNBin,histEMin,histEMax,MeV); - histo->add1D("15", + histo->add1D("H15", "Anti-coincidence spectrum (MeV) in the detector",histNBin,histEMin,histEMax,MeV); - histo->add1D("16", + histo->add1D("H16", "Decay emission spectrum (MeV)",histNBin,histEMin,histEMax,MeV); // in aida these histos are indiced from 0-6 // - histo->addTuple( "1", "Emitted Particles","double PID, Energy, Time, Weight" ); - histo->addTuple( "2", "RadioIsotopes","double PID, Time, Weight" ); - histo->addTuple( "3", "Energy Depositions","double Energy, Time, Weight" ); + histo->addTuple( "T1", "Emitted Particles","double PID, Energy, Time, Weight" ); + histo->addTuple( "T2", "RadioIsotopes","double PID, Time, Weight" ); + histo->addTuple( "T3", "Energy Depositions","double Energy, Time, Weight" ); } @@ -116,15 +120,54 @@ void exrdmAnalysisManager::BeginOfRun() { histo->book(); G4cout << "exrdmAnalysisManager: Histograms are booked and the run has been started" << G4endl; + G4ProcessTable *pTable = G4ProcessTable::GetProcessTable(); + G4RadioactiveDecay * rDecay = (G4RadioactiveDecay *) pTable->FindProcess("RadioactiveDecay", "GenericIon"); + if (rDecay != NULL) { + if (!rDecay->IsAnalogueMonteCarlo()) { + std::vector theTables = rDecay->GetTheRadioactivityTables(); + for (size_t i = 0 ; i < theTables.size(); i++) { + theTables[i]->GetTheMap()->clear(); + G4cout << " Clear the radioactivity map: 0, new size = " << theTables[i]->GetTheMap()->size() << G4endl; + } + } + } + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void exrdmAnalysisManager::EndOfRun() +void exrdmAnalysisManager::EndOfRun(G4int nevent) { - histo->save(); -} + histo->save(); + G4cout << "exrdmAnalysisManager: Histograms have been saved!" << G4endl; + // Output the induced radioactivities + // in VR mode only + // + G4ProcessTable *pTable = G4ProcessTable::GetProcessTable(); + G4RadioactiveDecay * rDecay = (G4RadioactiveDecay *) pTable->FindProcess("RadioactiveDecay", "GenericIon"); + if (rDecay != NULL) { + if (!rDecay->IsAnalogueMonteCarlo()) { + G4String fileName = histo->getFileName() + ".activity" ; + std::ofstream outfile (fileName, std::ios::out ); + std::vector theTables = rDecay->GetTheRadioactivityTables(); + for (size_t i = 0 ; i < theTables.size(); i++) { + G4double rate; + outfile << "Radioactivities in decay window no. " << i << G4endl; + outfile << "Z \tA \tE \tActivity (decays/window) "<< G4endl; + map *aMap = theTables[i]->GetTheMap(); + map::iterator iter; + for(iter=aMap->begin(); iter != aMap->end(); iter++) { + rate = iter->second; + if ( rate < 0.) rate = 0.; // statically it can be < 0. but it's unphysical + outfile << iter->first.x() <<"\t"<< iter->first.y() <<"\t"<< iter->first.z() << "\t" << rate/nevent << G4endl; + } + outfile << G4endl; + } + outfile.close(); + } + } +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void exrdmAnalysisManager::BeginOfEvent() diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmDetectorConstruction.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmDetectorConstruction.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmDetectorConstruction.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmDetectorConstruction.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmDetectorMessenger.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmDetectorMessenger.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmDetectorMessenger.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmDetectorMessenger.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmEnergyDeposition.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmEnergyDeposition.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmEnergyDeposition.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmEnergyDeposition.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmEventAction.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmEventAction.cc similarity index 77% rename from examples/extended/radioactivedecay/exrdm/src/exrdmEventAction.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmEventAction.cc index 31d406c108..3dc2816f0a 100644 --- a/examples/extended/radioactivedecay/exrdm/src/exrdmEventAction.cc +++ b/examples/extended/radioactivedecay/rdecay02/src/exrdmEventAction.cc @@ -31,9 +31,6 @@ #include "G4Event.hh" #include "G4EventManager.hh" #include "G4HCofThisEvent.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" #include "G4UImanager.hh" #include "G4UnitsTable.hh" #include "exrdmAnalysisManager.hh" @@ -64,28 +61,10 @@ void exrdmEventAction::BeginOfEventAction(const G4Event* ) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void exrdmEventAction::EndOfEventAction(const G4Event* evt) +void exrdmEventAction::EndOfEventAction(const G4Event*) { //analysis exrdmAnalysisManager::getInstance()->EndOfEvent(); - // visualisation -#ifdef G4VIS_USE - G4int event_id = evt->GetEventID(); - if (event_id < 100 && 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(0); - } else if (drawFlag == "charged" && trj->GetCharge() != 0.) { - trj->DrawTrajectory(0); - } - } - } -#endif } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmEventActionMessenger.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmEventActionMessenger.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmEventActionMessenger.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmEventActionMessenger.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmHisto.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmHisto.cc similarity index 98% rename from examples/extended/radioactivedecay/exrdm/src/exrdmHisto.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmHisto.cc index 91643d5a56..6ad8185516 100644 --- a/examples/extended/radioactivedecay/exrdm/src/exrdmHisto.cc +++ b/examples/extended/radioactivedecay/rdecay02/src/exrdmHisto.cc @@ -51,8 +51,8 @@ exrdmHisto::exrdmHisto() { verbose = 1; histName = "exrdm"; - histType = "aida"; - //histType = "root"; + // histType = "aida"; + histType = "root"; nHisto = 0; nTuple = 0; defaultAct = 1; @@ -125,7 +125,7 @@ void exrdmHisto::book() // Creating a tree mapped to a new aida file. G4String fileName = histName + "." + histType; if (histType == "root") fileName = histName + "_aida." + histType; - tree = tf->create(fileName,histType,false,true,"compress=yes"); + tree = tf->create(fileName,histType,false,true,""); delete tf; if(!tree) { G4cout << "ERROR: Tree store " << histName << " is not created!" << G4endl; @@ -427,6 +427,13 @@ void exrdmHisto::setFileName(const G4String& nam) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +const G4String& exrdmHisto::getFileName() const +{ + return histName; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + void exrdmHisto::setFileType(const G4String& nam) { histType = nam; diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmHistoMessenger.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmHistoMessenger.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmHistoMessenger.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmHistoMessenger.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmMaterial.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmMaterial.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmMaterial.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmMaterial.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmMaterialMessenger.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmMaterialMessenger.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmMaterialMessenger.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmMaterialMessenger.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmPhysListEmLowEnergy.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmPhysListEmLowEnergy.cc similarity index 91% rename from examples/extended/radioactivedecay/exrdm/src/exrdmPhysListEmLowEnergy.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmPhysListEmLowEnergy.cc index 82d06e5388..50415afa0d 100644 --- a/examples/extended/radioactivedecay/exrdm/src/exrdmPhysListEmLowEnergy.cc +++ b/examples/extended/radioactivedecay/rdecay02/src/exrdmPhysListEmLowEnergy.cc @@ -45,7 +45,9 @@ #include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" @@ -87,13 +89,13 @@ void exrdmPhysListEmLowEnergy::ConstructProcess() } else if (particleName == "e-") { - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4eMultipleScattering, -1, 1,1); pmanager->AddProcess(new G4LowEnergyIonisation, -1, 2,2); pmanager->AddProcess(new G4LowEnergyBremsstrahlung, -1,-3,3); } else if (particleName == "e+") { - 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); @@ -101,14 +103,14 @@ void exrdmPhysListEmLowEnergy::ConstructProcess() } else if( particleName == "mu+" || particleName == "mu-" ) { - 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); } else if (particleName == "GenericIon") { - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4hMultipleScattering, -1, 1,1); pmanager->AddProcess(new G4hLowEnergyIonisation, -1,2,2); // pmanager->AddProcess(new G4ionIonisation, -1, 2,2); // it dose not work here @@ -116,7 +118,7 @@ void exrdmPhysListEmLowEnergy::ConstructProcess() (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { - pmanager->AddProcess(new G4MultipleScattering,-1,1,1); + pmanager->AddProcess(new G4hMultipleScattering,-1,1,1); pmanager->AddProcess(new G4hLowEnergyIonisation, -1,2,2); } } diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmPhysListHadron.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmPhysListHadron.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmPhysListHadron.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmPhysListHadron.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmPhysListParticles.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmPhysListParticles.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmPhysListParticles.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmPhysListParticles.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmPhysicsList.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmPhysicsList.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmPhysicsList.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmPhysicsList.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmPhysicsListMessenger.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmPhysicsListMessenger.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmPhysicsListMessenger.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmPhysicsListMessenger.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmPrimaryGeneratorAction.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmPrimaryGeneratorAction.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmPrimaryGeneratorAction.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmPrimaryGeneratorAction.cc diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmRunAction.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmRunAction.cc similarity index 96% rename from examples/extended/radioactivedecay/exrdm/src/exrdmRunAction.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmRunAction.cc index 8cfee4d83e..f3285ba5e4 100644 --- a/examples/extended/radioactivedecay/exrdm/src/exrdmRunAction.cc +++ b/examples/extended/radioactivedecay/rdecay02/src/exrdmRunAction.cc @@ -69,11 +69,11 @@ void exrdmRunAction::BeginOfRunAction(const G4Run* aRun) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void exrdmRunAction::EndOfRunAction(const G4Run* ) +void exrdmRunAction::EndOfRunAction(const G4Run* aRun) { // Get the analysis manager exrdmAnalysisManager* analysis = exrdmAnalysisManager::getInstance(); - analysis->EndOfRun(); + analysis->EndOfRun(aRun->GetNumberOfEvent()); #ifdef G4VIS_USE if (G4VVisManager::GetConcreteInstance()) diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmSteppingAction.cc b/examples/extended/radioactivedecay/rdecay02/src/exrdmSteppingAction.cc similarity index 100% rename from examples/extended/radioactivedecay/exrdm/src/exrdmSteppingAction.cc rename to examples/extended/radioactivedecay/rdecay02/src/exrdmSteppingAction.cc diff --git a/examples/extended/runAndEvent/RE01/History b/examples/extended/runAndEvent/RE01/History index cbd5c34593..01b90e6516 100644 --- a/examples/extended/runAndEvent/RE01/History +++ b/examples/extended/runAndEvent/RE01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2007/11/13 20:33:28 asaim Exp $ +$Id: History,v 1.10 2010/11/24 22:47:23 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,11 +14,29 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- - -Feb. 05, 07 G.Cosmo (exampleRE01-V08-02-00) + +Nov. 24, 2010 M.Asai (exampleRE01-V09-03-05) +- Add a protection against empty stack : RE01StackingAction.cc + +Nov. 15, 2010 M.Asai (exampleRE01-V09-03-04) +- Fix one more warning message in RE01Trajectory class. + +Nov. 08, 2010 M.Asai (exampleRE01-V09-03-03) +- Fix warning message in RE01Trajectory class. + +Nov. 08, 2010 J.Allison (exampleRE01-V09-03-02) +- Introduced G4UIExecutive. + +Jun. 04, 2010 J.Perl (exampleRE01-V09-03-01) +- Updated vis usage + +Apr. 06, 2010 M.Asai (exampleRE01-V09-03-00) +- Replace G4MultipleScattering with G4eMultipleScattering, G4MuMultipleScattering and G4hMultipleScattring. + +Feb. 05, 2007 G.Cosmo (exampleRE01-V08-02-00) - Removed big output file ... -Nov. 17, 06 M.Asai (exampleRE01-V08-01-01) +Nov. 17, 2006 M.Asai (exampleRE01-V08-01-01) - History file is created though the example has been here since two years. - Fix a bug in RE01CalorimeterSD::ProcessHits() concerning about the transformation vector and rotation materix of the calorimater cell diff --git a/examples/extended/runAndEvent/RE01/RE01.cc b/examples/extended/runAndEvent/RE01/RE01.cc index 58cdc34b76..3856fd6b49 100644 --- a/examples/extended/runAndEvent/RE01/RE01.cc +++ b/examples/extended/runAndEvent/RE01/RE01.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE01.cc,v 1.3 2006/06/29 17:42:25 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RE01.cc,v 1.4 2010/11/08 17:42:28 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -40,8 +40,6 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "RE01DetectorConstruction.hh" #include "RE01PhysicsList.hh" @@ -56,6 +54,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + int main(int argc,char** argv) { G4RunManager* runManager = new G4RunManager; @@ -80,13 +82,11 @@ int main(int argc,char** argv) if(argc==1) { -#ifdef G4UI_USE_TCSH - G4UIsession* session = new G4UIterminal(new G4UItcsh); -#else - G4UIsession* session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + ui->SessionStart(); + delete ui; +#endif } else { diff --git a/examples/extended/runAndEvent/RE01/include/RE01Trajectory.hh b/examples/extended/runAndEvent/RE01/include/RE01Trajectory.hh index 58dcb53a5c..a81da5e862 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01Trajectory.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01Trajectory.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE01Trajectory.hh,v 1.3 2006/06/29 17:43:31 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RE01Trajectory.hh,v 1.6 2010/11/15 22:29:57 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef RE01Trajectory_h @@ -80,7 +80,7 @@ class RE01Trajectory : public G4VTrajectory { return (*positionRecord)[i]; } virtual void ShowTrajectory(std::ostream& os=G4cout) const; - virtual void DrawTrajectory(G4int i_mode=0) const; + virtual void DrawTrajectory(G4int i_mode =0) const; virtual const std::map* GetAttDefs() const; virtual std::vector* CreateAttValues() const; virtual void AppendStep(const G4Step* aStep); @@ -88,7 +88,7 @@ class RE01Trajectory : public G4VTrajectory G4ParticleDefinition* GetParticleDefinition(); - inline const G4int GetTrackStatus() const + inline const G4int& GetTrackStatus() const { return fTrackStatus; } inline const G4ThreeVector& GetVertexPosition() const { return vertexPosition; } diff --git a/examples/extended/runAndEvent/RE01/src/RE01HadronPhysics.cc b/examples/extended/runAndEvent/RE01/src/RE01HadronPhysics.cc index f4e8211a9c..dcce430cf3 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01HadronPhysics.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01HadronPhysics.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE01HadronPhysics.cc,v 1.2 2006/06/29 17:44:00 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RE01HadronPhysics.cc,v 1.3 2010/04/07 01:27:53 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #include "RE01HadronPhysics.hh" @@ -36,7 +36,7 @@ // processes #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" -#include "G4MultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4hIonisation.hh" #include "G4HadronElasticProcess.hh" #include "G4PionPlusInelasticProcess.hh" @@ -204,7 +204,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4PionPlus::PionPlus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -233,7 +233,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4PionMinus::PionMinus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -265,7 +265,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4KaonPlus::KaonPlus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -288,7 +288,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4KaonMinus::KaonMinus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -349,7 +349,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4Proton::Proton()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -379,7 +379,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4AntiProton::AntiProton()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -515,7 +515,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4SigmaMinus::SigmaMinus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -539,7 +539,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4AntiSigmaMinus::AntiSigmaMinus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -565,7 +565,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4SigmaPlus::SigmaPlus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -588,7 +588,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4AntiSigmaPlus::AntiSigmaPlus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -614,7 +614,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4XiMinus::XiMinus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -637,7 +637,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4AntiXiMinus::AntiXiMinus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -700,7 +700,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4OmegaMinus::OmegaMinus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -724,7 +724,7 @@ void RE01HadronPhysics::ConstructProcess() pManager = G4AntiOmegaMinus::AntiOmegaMinus()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic diff --git a/examples/extended/runAndEvent/RE01/src/RE01IonPhysics.cc b/examples/extended/runAndEvent/RE01/src/RE01IonPhysics.cc index 32b6ca0d8d..86e03db776 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01IonPhysics.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01IonPhysics.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE01IonPhysics.cc,v 1.2 2006/06/29 17:44:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RE01IonPhysics.cc,v 1.3 2010/04/07 01:27:53 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #include "RE01IonPhysics.hh" @@ -35,7 +35,7 @@ #include "G4IonConstructor.hh" // processes -#include "G4MultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4hIonisation.hh" #include "G4ionIonisation.hh" #include "G4HadronElasticProcess.hh" @@ -87,7 +87,7 @@ void RE01IonPhysics::ConstructProcess() pManager = G4Deuteron::Deuteron()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -108,7 +108,7 @@ void RE01IonPhysics::ConstructProcess() pManager = G4Triton::Triton()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -129,7 +129,7 @@ void RE01IonPhysics::ConstructProcess() pManager = G4He3::He3()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -146,7 +146,7 @@ void RE01IonPhysics::ConstructProcess() pManager = G4Alpha::Alpha()->GetProcessManager(); // EM processes - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // hadron elastic @@ -167,7 +167,7 @@ void RE01IonPhysics::ConstructProcess() pManager = G4GenericIon::GenericIon()->GetProcessManager(); // Only EM processes for generic ion - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4ionIonisation(), -1, 2, 2); } diff --git a/examples/extended/runAndEvent/RE01/src/RE01LeptonPhysics.cc b/examples/extended/runAndEvent/RE01/src/RE01LeptonPhysics.cc index 4a0a825f24..996f34bbc1 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01LeptonPhysics.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01LeptonPhysics.cc @@ -24,21 +24,23 @@ // ******************************************************************** // // -// $Id: RE01LeptonPhysics.cc,v 1.2 2006/06/29 17:44:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RE01LeptonPhysics.cc,v 1.3 2010/04/07 01:27:53 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #include "RE01LeptonPhysics.hh" #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.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 "G4Electron.hh" @@ -89,14 +91,14 @@ void RE01LeptonPhysics::ConstructProcess() // Electron physics pManager = G4Electron::Electron()->GetProcessManager(); - 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); //Positron physics pManager = G4Positron::Positron()->GetProcessManager(); - 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); @@ -104,7 +106,7 @@ void RE01LeptonPhysics::ConstructProcess() // Muon- pManager = G4MuonMinus::MuonMinus()->GetProcessManager(); - 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); @@ -112,7 +114,7 @@ void RE01LeptonPhysics::ConstructProcess() // Muon+ pManager = G4MuonPlus::MuonPlus()->GetProcessManager(); - 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); @@ -120,13 +122,13 @@ void RE01LeptonPhysics::ConstructProcess() // Tau- pManager = G4TauMinus::TauMinus()->GetProcessManager(); - pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1); + pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1); pManager->AddProcess(new G4hIonisation(), -1, 2, 2); // Tau+ pManager = G4TauPlus::TauPlus()->GetProcessManager(); - 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/extended/runAndEvent/RE01/src/RE01StackingAction.cc b/examples/extended/runAndEvent/RE01/src/RE01StackingAction.cc index 250dab4644..0e605c78a8 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01StackingAction.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01StackingAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RE01StackingAction.cc,v 1.2 2006/06/29 17:44:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RE01StackingAction.cc,v 1.3 2010/11/24 22:47:23 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // @@ -95,6 +95,7 @@ G4VHitsCollection* RE01StackingAction::GetCalCollection() void RE01StackingAction::NewStage() { +G4cout << "+++++++++++ Stage " << stage << G4endl; if(stage==0) { // display trajetory information in the tracking region @@ -138,15 +139,18 @@ void RE01StackingAction::NewStage() } } - // Transfer all tracks in Urgent stack to Waiting stack, since all tracks - // in Waiting stack have already been transfered to Urgent stack before - // invokation of this method. - stackManager->TransferStackedTracks(fUrgent,fWaiting); + if(stackManager->GetNUrgentTrack()) + { + // Transfer all tracks in Urgent stack to Waiting stack, since all tracks + // in Waiting stack have already been transfered to Urgent stack before + // invokation of this method. + stackManager->TransferStackedTracks(fUrgent,fWaiting); - // Then, transfer only one track to Urgent stack. - stackManager->TransferOneStackedTrack(fWaiting,fUrgent); + // Then, transfer only one track to Urgent stack. + stackManager->TransferOneStackedTrack(fWaiting,fUrgent); - stage++; + stage++; + } } void RE01StackingAction::PrepareNewEvent() diff --git a/examples/extended/runAndEvent/RE01/src/RE01Trajectory.cc b/examples/extended/runAndEvent/RE01/src/RE01Trajectory.cc index 6e976fc9ab..23e93ed600 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01Trajectory.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01Trajectory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE01Trajectory.cc,v 1.3 2006/06/29 17:44:37 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RE01Trajectory.cc,v 1.5 2010/11/08 22:16:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // @@ -154,7 +154,7 @@ void RE01Trajectory::ShowTrajectory(std::ostream& os) const } } -void RE01Trajectory::DrawTrajectory(G4int) const +void RE01Trajectory::DrawTrajectory(G4int /*i_mode*/) const { G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); diff --git a/examples/extended/runAndEvent/RE01/vis.mac b/examples/extended/runAndEvent/RE01/vis.mac new file mode 100644 index 0000000000..c2dcf0d069 --- /dev/null +++ b/examples/extended/runAndEvent/RE01/vis.mac @@ -0,0 +1,69 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: +#/vis/scene/endOfEventAction accumulate +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# autoRefresh false suppressed initial empty detector view. +# Draw one now if desired: +#/vis/viewer/refresh diff --git a/examples/extended/runAndEvent/RE02/GNUmakefile b/examples/extended/runAndEvent/RE02/GNUmakefile index 3f1279d59d..90cc9a6f57 100644 --- a/examples/extended/runAndEvent/RE02/GNUmakefile +++ b/examples/extended/runAndEvent/RE02/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2005/11/24 01:44:18 asaim Exp $ +# $Id: GNUmakefile,v 1.2 2010/01/11 17:07:33 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/runAndEvent/RE02/History b/examples/extended/runAndEvent/RE02/History index d22153b426..a06501d695 100644 --- a/examples/extended/runAndEvent/RE02/History +++ b/examples/extended/runAndEvent/RE02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2007/05/18 18:16:28 asaim Exp $ +$Id: History,v 1.10 2010/12/07 15:20:46 gunter Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,19 +14,38 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +December 7th, 2010 G.Folger (exampleRE02-V09-03-05) +- Bug fix in RE02DetectorConstruction.cc correcting size of C-array + fixing crash on Windows + +November 9th, 2010 M.Asai (exampleRE02-V09-03-04) +- Additional Fixing warning messages. + +November 8th, 2010 M.Asai (exampleRE02-V09-03-03) +- Fixing warning messages. + +November 8th, 2010 John Allison (exampleRE02-V09-03-02) +- Introduced G4UIExecutive. -May 18, 07 M.Asai (exampleRE02-V08-03-00) +June 4th, 2010 Joseph Perl (exampleRE02-V09-03-01) +- Updated vis usage. + +Apr 06, 2010 M.Asai (exampleRE02-V09-03-00) +- Replace G4MultipleScattering with G4eMultipleScattering, G4MuMultipleScattering and G4hMultipleScattring. + +May 18, 2007 M.Asai (exampleRE02-V08-03-00) - Fix the indexing scheme of GetIndex() method in the scorers. -Jan. 29, 07 M.Asai (exampleRE02-V08-02-00) +Jan. 29, 2007 M.Asai (exampleRE02-V08-02-00) - Fix missing null pointer protection in ComputeMaterial() method. -Nov. 17, 06 T.Aso (exampleRE02-V08-01-00) +Nov. 17, 2006 T.Aso (exampleRE02-V08-01-00) - Reimplement the geometry with G4VNestedParameterization. - Modify the scorers according to the nested para,eterisation. -Nov. 23, 05 M.Asai (exampleRE02-V07-01-00) +Nov. 23, 2005 M.Asai (exampleRE02-V07-01-00) - Tagged. -Nov. 18, 05 T.Aso, A.Kimura +Nov. 18, 2005 T.Aso, A.Kimura - Created. diff --git a/examples/extended/runAndEvent/RE02/exampleRE02.cc b/examples/extended/runAndEvent/RE02/exampleRE02.cc index ba2840bcd9..e63b94a316 100644 --- a/examples/extended/runAndEvent/RE02/exampleRE02.cc +++ b/examples/extended/runAndEvent/RE02/exampleRE02.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleRE02.cc,v 1.3 2006/11/18 01:37:22 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: exampleRE02.cc,v 1.5 2010/11/08 18:48:54 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // @@ -38,8 +38,10 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif #ifdef G4VIS_USE #include "G4VisExecutive.hh" @@ -89,17 +91,10 @@ int main(int argc,char** argv) { if(argc==1) // Define (G)UI terminal for interactive mode { - // G4UIterminal is a (dumb) terminal. - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - + G4UIExecutive* ui = new G4UIExecutive(argc, argv); UI->ApplyCommand("/control/execute vis.mac"); - session->SessionStart(); - delete session; + ui->SessionStart(); + delete ui; } else // Batch mode diff --git a/examples/extended/runAndEvent/RE02/include/RE02EMPhysics.hh b/examples/extended/runAndEvent/RE02/include/RE02EMPhysics.hh index f276db9cab..882266e51b 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02EMPhysics.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02EMPhysics.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RE02EMPhysics.hh,v 1.2 2006/06/29 17:44:43 gunter Exp $ +// $Id: RE02EMPhysics.hh,v 1.3 2010/04/07 01:29:00 asaim Exp $ // -------------------------------------------------------------- // // 09-Oct-2003 Chhange gamma, electron, positorn process T. Koi @@ -40,7 +40,7 @@ #include "G4PhotoElectricEffect.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" diff --git a/examples/extended/runAndEvent/RE02/include/RE02HadronPhysics.hh b/examples/extended/runAndEvent/RE02/include/RE02HadronPhysics.hh index 1baf1e8c71..50c5aa1211 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02HadronPhysics.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02HadronPhysics.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RE02HadronPhysics.hh,v 1.2 2006/06/29 17:44:50 gunter Exp $ +// $Id: RE02HadronPhysics.hh,v 1.3 2010/04/07 01:29:00 asaim Exp $ // -------------------------------------------------------------- // // 10-Oct-2003 Full Hadron Processes with Parameterization Model T. Koi @@ -35,7 +35,7 @@ #include "G4ios.hh" #include "G4VPhysicsConstructor.hh" -#include "G4MultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4hIonisation.hh" // Hadronic Processes diff --git a/examples/extended/runAndEvent/RE02/include/RE02IonPhysics.hh b/examples/extended/runAndEvent/RE02/include/RE02IonPhysics.hh index dac3c17067..8cd57bee95 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02IonPhysics.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02IonPhysics.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RE02IonPhysics.hh,v 1.2 2006/06/29 17:44:52 gunter Exp $ +// $Id: RE02IonPhysics.hh,v 1.3 2010/04/07 01:29:00 asaim Exp $ // -------------------------------------------------------------- // 05-Jan-2004 Add G4ionIonisation T. Koi // @@ -54,7 +54,7 @@ #include "G4hIonisation.hh" #include "G4ionIonisation.hh" -#include "G4MultipleScattering.hh" +#include "G4hMultipleScattering.hh" class RE02IonPhysics : public G4VPhysicsConstructor { diff --git a/examples/extended/runAndEvent/RE02/include/RE02MuonPhysics.hh b/examples/extended/runAndEvent/RE02/include/RE02MuonPhysics.hh index 77be643c26..1454fc052d 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02MuonPhysics.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02MuonPhysics.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RE02MuonPhysics.hh,v 1.2 2006/06/29 17:44:55 gunter Exp $ +// $Id: RE02MuonPhysics.hh,v 1.3 2010/04/07 01:29:00 asaim Exp $ // -------------------------------------------------------------- // // 09-Oct-2003 mu+- tau+- processes are changed by T. Koi @@ -36,7 +36,8 @@ #include "G4ios.hh" #include "G4VPhysicsConstructor.hh" -#include "G4MultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4MuBremsstrahlung.hh" #include "G4MuPairProduction.hh" #include "G4MuIonisation.hh" diff --git a/examples/extended/runAndEvent/RE02/include/RE02NestedPhantomParameterisation.hh b/examples/extended/runAndEvent/RE02/include/RE02NestedPhantomParameterisation.hh index 10577dd06f..31f0e04aea 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02NestedPhantomParameterisation.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02NestedPhantomParameterisation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE02NestedPhantomParameterisation.hh,v 1.2 2006/12/13 15:42:45 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RE02NestedPhantomParameterisation.hh,v 1.4 2010/11/09 19:46:30 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4VNestedParameterisation // @@ -137,6 +137,11 @@ private: // Dummy declarations to get rid of warnings ... const {} void ComputeDimensions (G4Polyhedra&,const G4int,const G4VPhysicalVolume*) const {} +// G4Material* ComputeMaterial(const G4int repNo, +// G4VPhysicalVolume* currentVol, +// const G4VTouchable* parentTouch) +// { return ComputeMaterial( currentVol, repNo, parentTouch ); } + using G4VNestedParameterisation::ComputeMaterial; private: G4double fdX,fdY,fdZ; diff --git a/examples/extended/runAndEvent/RE02/run.mac b/examples/extended/runAndEvent/RE02/run.mac index fd89e82558..464a29175b 100644 --- a/examples/extended/runAndEvent/RE02/run.mac +++ b/examples/extended/runAndEvent/RE02/run.mac @@ -1,4 +1,4 @@ -# $Id: run.mac,v 1.1 2006/11/18 01:37:23 asaim Exp $ +# $Id: run.mac,v 1.2 2010/06/06 05:16:16 perl Exp $ # # Macro file for "exampleRE02.cc" # @@ -15,7 +15,7 @@ # # Create a scene handler for a specific graphics system # (Edit the next line(s) to choose another graphic system) -#/vis/open OGLIX +#/vis/open OGL #/vis/open DAWNFILE #/vis/open VRML2FILE # diff --git a/examples/extended/runAndEvent/RE02/run1.mac b/examples/extended/runAndEvent/RE02/run1.mac index 5d0cf0d4bf..984d55f7c5 100644 --- a/examples/extended/runAndEvent/RE02/run1.mac +++ b/examples/extended/runAndEvent/RE02/run1.mac @@ -15,7 +15,7 @@ # (Edit the next line(s) to choose another graphic system) # #/vis/open VRML2FILE -#/vis/open OGLIX +#/vis/open OGL #/vis/open DAWNFILE # # draw scene diff --git a/examples/extended/runAndEvent/RE02/run2.mac b/examples/extended/runAndEvent/RE02/run2.mac index f6cdd57e40..b8717334da 100644 --- a/examples/extended/runAndEvent/RE02/run2.mac +++ b/examples/extended/runAndEvent/RE02/run2.mac @@ -1,4 +1,4 @@ -# $Id: run2.mac,v 1.2 2006/11/18 01:37:23 asaim Exp $ +# $Id: run2.mac,v 1.3 2010/06/06 05:16:16 perl Exp $ # # Macro file for "exampleRE02.cc" # @@ -15,7 +15,7 @@ # # Create a scene handler for a specific graphics system # (Edit the next line(s) to choose another graphic system) -#/vis/open OGLIX +#/vis/open OGL #/vis/open DAWNFILE #/vis/open VRML2FILE # diff --git a/examples/extended/runAndEvent/RE02/run3.mac b/examples/extended/runAndEvent/RE02/run3.mac index d6c9b29ac0..89288cbecc 100644 --- a/examples/extended/runAndEvent/RE02/run3.mac +++ b/examples/extended/runAndEvent/RE02/run3.mac @@ -1,4 +1,4 @@ -# $Id: run3.mac,v 1.2 2006/11/18 01:37:23 asaim Exp $ +# $Id: run3.mac,v 1.3 2010/06/06 05:16:16 perl Exp $ # # Macro file for "exampleRE02.cc" # @@ -15,7 +15,7 @@ # # Create a scene handler for a specific graphics system # (Edit the next line(s) to choose another graphic system) -#/vis/open OGLIX +#/vis/open OGL #/vis/open DAWNFILE #/vis/open VRML2FILE # diff --git a/examples/extended/runAndEvent/RE02/run4.mac b/examples/extended/runAndEvent/RE02/run4.mac index 5fe94ee770..ff8401d349 100644 --- a/examples/extended/runAndEvent/RE02/run4.mac +++ b/examples/extended/runAndEvent/RE02/run4.mac @@ -1,4 +1,4 @@ -# $Id: run4.mac,v 1.2 2006/11/18 01:37:23 asaim Exp $ +# $Id: run4.mac,v 1.3 2010/06/06 05:16:16 perl Exp $ # # Macro file for "exampleRE02.cc" # @@ -15,7 +15,7 @@ # # Create a scene handler for a specific graphics system # (Edit the next line(s) to choose another graphic system) -#/vis/open OGLIX +#/vis/open OGL #/vis/open DAWNFILE #/vis/open VRML2FILE # diff --git a/examples/extended/runAndEvent/RE02/src/RE02DetectorConstruction.cc b/examples/extended/runAndEvent/RE02/src/RE02DetectorConstruction.cc index 5b94bfa403..42f1ccfef3 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02DetectorConstruction.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02DetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE02DetectorConstruction.cc,v 1.3 2006/11/18 01:37:23 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RE02DetectorConstruction.cc,v 1.5 2010/12/07 15:17:13 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "RE02DetectorConstruction.hh" @@ -357,7 +357,7 @@ RE02DetectorConstruction::~RE02DetectorConstruction() // 100 keV to 1 MeV, gammaSurfCurr002 // 1 MeV to 10 MeV. gammaSurfCurr003 // - char name[16]; + char name[17]; for ( G4int i = 0; i < 4; i++){ std::sprintf(name,"gammaSurfCurr%03d",i); G4String psgName(name); @@ -392,7 +392,7 @@ RE02DetectorConstruction::~RE02DetectorConstruction() G4VisAttributes* YRepVisAtt = new G4VisAttributes(G4Colour(0.0,1.0,0.0)); logYRep->SetVisAttributes(YRepVisAtt); G4VisAttributes* XRepVisAtt = new G4VisAttributes(G4Colour(0.0,1.0,0.0)); - logXRep->SetVisAttributes(YRepVisAtt); + logXRep->SetVisAttributes(XRepVisAtt); // Skip the visualization for those voxels. logicPhantomSens->SetVisAttributes(G4VisAttributes::Invisible); diff --git a/examples/extended/runAndEvent/RE02/src/RE02EMPhysics.cc b/examples/extended/runAndEvent/RE02/src/RE02EMPhysics.cc index 80d3f3d20b..674119944e 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02EMPhysics.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02EMPhysics.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RE02EMPhysics.cc,v 1.2 2006/06/29 17:45:12 gunter Exp $ +// $Id: RE02EMPhysics.cc,v 1.3 2010/04/07 01:29:00 asaim Exp $ // -------------------------------------------------------------- // // @@ -72,7 +72,7 @@ void RE02EMPhysics::ConstructProcess() //Electorn pManager = G4Electron::Electron()->GetProcessManager(); - G4VProcess* theeminusMultipleScattering = new G4MultipleScattering(); + G4VProcess* theeminusMultipleScattering = new G4eMultipleScattering(); G4VProcess* theeminusIonisation = new G4eIonisation(); G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung(); // @@ -93,7 +93,7 @@ void RE02EMPhysics::ConstructProcess() //Positron pManager = G4Positron::Positron()->GetProcessManager(); - G4VProcess* theeplusMultipleScattering = new G4MultipleScattering(); + G4VProcess* theeplusMultipleScattering = new G4eMultipleScattering(); G4VProcess* theeplusIonisation = new G4eIonisation(); G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung(); G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation(); diff --git a/examples/extended/runAndEvent/RE02/src/RE02HadronPhysics.cc b/examples/extended/runAndEvent/RE02/src/RE02HadronPhysics.cc index e337148bf4..68507da1a8 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02HadronPhysics.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02HadronPhysics.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RE02HadronPhysics.cc,v 1.2 2006/06/29 17:45:18 gunter Exp $ +// $Id: RE02HadronPhysics.cc,v 1.3 2010/04/07 01:29:00 asaim Exp $ // -------------------------------------------------------------- // // 09-Oct-2003 Hadron Physics List with Parameterization Model by T. Koi @@ -77,7 +77,7 @@ void RE02HadronPhysics::ConstructProcess() thePionPlusInelasticProcess->RegisterMe(thePionPlusHEPModel); pManager->AddDiscreteProcess(thePionPlusInelasticProcess); - G4VProcess* theppMultipleScattering = new G4MultipleScattering(); + G4VProcess* theppMultipleScattering = new G4hMultipleScattering(); G4VProcess* theppIonisation = new G4hIonisation(); // pManager->AddProcess(theppIonisation); @@ -110,7 +110,7 @@ void RE02HadronPhysics::ConstructProcess() thePionMinusInelasticProcess->RegisterMe(thePionMinusHEPModel); pManager->AddDiscreteProcess(thePionMinusInelasticProcess); - G4VProcess* thepmMultipleScattering = new G4MultipleScattering(); + G4VProcess* thepmMultipleScattering = new G4hMultipleScattering(); G4VProcess* thepmIonisation = new G4hIonisation(); // // add processes @@ -144,7 +144,7 @@ void RE02HadronPhysics::ConstructProcess() theKaonPlusInelasticProcess->RegisterMe(theKaonPlusHEPModel); pManager->AddDiscreteProcess(theKaonPlusInelasticProcess); - G4VProcess* thekpMultipleScattering = new G4MultipleScattering(); + G4VProcess* thekpMultipleScattering = new G4hMultipleScattering(); G4VProcess* thekpIonisation = new G4hIonisation(); // // add processes @@ -179,7 +179,7 @@ void RE02HadronPhysics::ConstructProcess() theKaonMinusInelasticProcess->RegisterMe(theKaonMinusHEPModel); pManager->AddDiscreteProcess(theKaonMinusInelasticProcess); - G4VProcess* thekmMultipleScattering = new G4MultipleScattering(); + G4VProcess* thekmMultipleScattering = new G4hMultipleScattering(); G4VProcess* thekmIonisation = new G4hIonisation(); pManager->AddProcess(thekmIonisation); @@ -255,7 +255,7 @@ void RE02HadronPhysics::ConstructProcess() theProtonInelasticProcess->RegisterMe(theProtonHEPModel); pManager->AddDiscreteProcess(theProtonInelasticProcess); - G4VProcess* thepMultipleScattering = new G4MultipleScattering(); + G4VProcess* thepMultipleScattering = new G4hMultipleScattering(); G4VProcess* thepIonisation = new G4hIonisation(); pManager->AddProcess(thepIonisation); @@ -293,7 +293,7 @@ void RE02HadronPhysics::ConstructProcess() = new G4AntiProtonAnnihilationAtRest(); pManager->AddRestProcess(theAntiProtonAnnihilation); - G4VProcess* theapMultipleScattering = new G4MultipleScattering(); + G4VProcess* theapMultipleScattering = new G4hMultipleScattering(); G4VProcess* theapIonisation = new G4hIonisation(); pManager->AddProcess(theapIonisation); @@ -428,7 +428,7 @@ void RE02HadronPhysics::ConstructProcess() theSigmaPlusInelasticProcess->RegisterMe(theSigmaPlusHEPModel); pManager->AddDiscreteProcess(theSigmaPlusInelasticProcess); - G4VProcess* thespMultipleScattering = new G4MultipleScattering(); + G4VProcess* thespMultipleScattering = new G4hMultipleScattering(); G4VProcess* thespIonisation = new G4hIonisation(); pManager->AddProcess(thespIonisation); @@ -462,7 +462,7 @@ void RE02HadronPhysics::ConstructProcess() theAntiSigmaPlusInelasticProcess->RegisterMe(theAntiSigmaPlusHEPModel); pManager->AddDiscreteProcess(theAntiSigmaPlusInelasticProcess); - G4VProcess* theaspMultipleScattering = new G4MultipleScattering(); + G4VProcess* theaspMultipleScattering = new G4hMultipleScattering(); G4VProcess* theaspIonisation = new G4hIonisation(); pManager->AddProcess(theaspIonisation); @@ -496,7 +496,7 @@ void RE02HadronPhysics::ConstructProcess() theSigmaMinusInelasticProcess->RegisterMe(theSigmaMinusHEPModel); pManager->AddDiscreteProcess(theSigmaMinusInelasticProcess); - G4VProcess* thesmMultipleScattering = new G4MultipleScattering(); + G4VProcess* thesmMultipleScattering = new G4hMultipleScattering(); G4VProcess* thesmIonisation = new G4hIonisation(); pManager->AddProcess(thesmIonisation); @@ -530,7 +530,7 @@ void RE02HadronPhysics::ConstructProcess() theAntiSigmaMinusInelasticProcess->RegisterMe(theAntiSigmaMinusHEPModel); pManager->AddDiscreteProcess(theAntiSigmaMinusInelasticProcess); - G4VProcess* theasmMultipleScattering = new G4MultipleScattering(); + G4VProcess* theasmMultipleScattering = new G4hMultipleScattering(); G4VProcess* theasmIonisation = new G4hIonisation(); pManager->AddProcess(theasmIonisation); @@ -604,7 +604,7 @@ void RE02HadronPhysics::ConstructProcess() theXiMinusInelasticProcess->RegisterMe(theXiMinusHEPModel); pManager->AddDiscreteProcess(theXiMinusInelasticProcess); - G4VProcess* thexmMultipleScattering = new G4MultipleScattering(); + G4VProcess* thexmMultipleScattering = new G4hMultipleScattering(); G4VProcess* thexmIonisation = new G4hIonisation(); pManager->AddProcess(thexmIonisation); @@ -638,7 +638,7 @@ void RE02HadronPhysics::ConstructProcess() theAntiXiMinusInelasticProcess->RegisterMe(theAntiXiMinusHEPModel); pManager->AddDiscreteProcess(theAntiXiMinusInelasticProcess); - G4VProcess* theaxmMultipleScattering = new G4MultipleScattering(); + G4VProcess* theaxmMultipleScattering = new G4hMultipleScattering(); G4VProcess* theaxmIonisation = new G4hIonisation(); pManager->AddProcess(theaxmIonisation); @@ -672,7 +672,7 @@ void RE02HadronPhysics::ConstructProcess() theOmegaMinusInelasticProcess->RegisterMe(theOmegaMinusHEPModel); pManager->AddDiscreteProcess(theOmegaMinusInelasticProcess); - G4VProcess* theomMultipleScattering = new G4MultipleScattering(); + G4VProcess* theomMultipleScattering = new G4hMultipleScattering(); G4VProcess* theomIonisation = new G4hIonisation(); pManager->AddProcess(theomIonisation); @@ -706,7 +706,7 @@ void RE02HadronPhysics::ConstructProcess() theAntiOmegaMinusInelasticProcess->RegisterMe(theAntiOmegaMinusHEPModel); pManager->AddDiscreteProcess(theAntiOmegaMinusInelasticProcess); - G4VProcess* theaomMultipleScattering = new G4MultipleScattering(); + G4VProcess* theaomMultipleScattering = new G4hMultipleScattering(); G4VProcess* theaomIonisation = new G4hIonisation(); pManager->AddProcess(theaomIonisation); diff --git a/examples/extended/runAndEvent/RE02/src/RE02IonPhysics.cc b/examples/extended/runAndEvent/RE02/src/RE02IonPhysics.cc index 4b48e974a6..70dcdd05a7 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02IonPhysics.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02IonPhysics.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RE02IonPhysics.cc,v 1.2 2006/06/29 17:45:21 gunter Exp $ +// $Id: RE02IonPhysics.cc,v 1.3 2010/04/07 01:29:00 asaim Exp $ // -------------------------------------------------------------- // // 13-Oct-2003 Add Comment for Ionisation of Generic Ion by T. Koi @@ -63,7 +63,7 @@ void RE02IonPhysics::ConstructProcess() pManager = G4GenericIon::GenericIon()->GetProcessManager(); // add process - G4VProcess* thegionMultipleScattering = new G4MultipleScattering(); + G4VProcess* thegionMultipleScattering = new G4hMultipleScattering(); // // G4hIonization may be not able to use for Geanric Ion in future // Please take care using this physics list after v5.2.p02 @@ -111,7 +111,7 @@ void RE02IonPhysics::ConstructProcess() theDeuteronInelasticProcess->RegisterMe(theDeuteronLEPModel); pManager->AddDiscreteProcess(theDeuteronInelasticProcess); - G4VProcess* thedueMultipleScattering = new G4MultipleScattering(); + G4VProcess* thedueMultipleScattering = new G4hMultipleScattering(); G4VProcess* thedueIonisation = new G4hIonisation(); // pManager->AddProcess(thedueIonisation); @@ -143,7 +143,7 @@ void RE02IonPhysics::ConstructProcess() theTritonInelasticProcess->RegisterMe(theTritonLEPModel); pManager->AddDiscreteProcess(theTritonInelasticProcess); - G4VProcess* thetriMultipleScattering = new G4MultipleScattering(); + G4VProcess* thetriMultipleScattering = new G4hMultipleScattering(); G4VProcess* thetriIonisation = new G4hIonisation(); // pManager->AddProcess(thetriIonisation); @@ -175,7 +175,7 @@ void RE02IonPhysics::ConstructProcess() theAlphaInelasticProcess->RegisterMe(theAlphaLEPModel); pManager->AddDiscreteProcess(theAlphaInelasticProcess); - G4VProcess* thealpMultipleScattering = new G4MultipleScattering(); + G4VProcess* thealpMultipleScattering = new G4hMultipleScattering(); G4VProcess* thealpIonisation = new G4hIonisation(); // pManager->AddProcess(thealpIonisation); @@ -200,7 +200,7 @@ void RE02IonPhysics::ConstructProcess() thehe3ElasticProcess->RegisterMe(thehe3ElasticModel); pManager->AddDiscreteProcess(thehe3ElasticProcess); - G4VProcess* thehe3MultipleScattering = new G4MultipleScattering(); + G4VProcess* thehe3MultipleScattering = new G4hMultipleScattering(); G4VProcess* thehe3Ionisation = new G4hIonisation(); // pManager->AddProcess(thehe3Ionisation); diff --git a/examples/extended/runAndEvent/RE02/src/RE02MuonPhysics.cc b/examples/extended/runAndEvent/RE02/src/RE02MuonPhysics.cc index 7f94f55e48..a22ada5bc5 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02MuonPhysics.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02MuonPhysics.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RE02MuonPhysics.cc,v 1.2 2006/06/29 17:45:23 gunter Exp $ +// $Id: RE02MuonPhysics.cc,v 1.3 2010/04/07 01:29:00 asaim Exp $ // -------------------------------------------------------------- // // 09-Oct-2003 mu+- tau+- processes are changed by T. Koi @@ -61,7 +61,7 @@ void RE02MuonPhysics::ConstructProcess() //Muon+ pManager = G4MuonPlus::MuonPlus()->GetProcessManager(); - G4VProcess* thempMultipleScattering = new G4MultipleScattering(); + G4VProcess* thempMultipleScattering = new G4MuMultipleScattering(); G4VProcess* thempBremsstrahlung = new G4MuBremsstrahlung(); G4VProcess* thempPairProduction = new G4MuPairProduction(); G4VProcess* thempIonisation = new G4MuIonisation(); @@ -86,7 +86,7 @@ void RE02MuonPhysics::ConstructProcess() //Muon- pManager = G4MuonMinus::MuonMinus()->GetProcessManager(); - G4VProcess* themmMultipleScattering = new G4MultipleScattering(); + G4VProcess* themmMultipleScattering = new G4MuMultipleScattering(); G4VProcess* themmBremsstrahlung = new G4MuBremsstrahlung(); G4VProcess* themmPairProduction = new G4MuPairProduction(); G4VProcess* themmIonisation = new G4MuIonisation(); @@ -110,7 +110,7 @@ void RE02MuonPhysics::ConstructProcess() // Tau+ Physics pManager = G4TauPlus::TauPlus()->GetProcessManager(); - G4VProcess* thetpMultipleScattering = new G4MultipleScattering(); + G4VProcess* thetpMultipleScattering = new G4hMultipleScattering(); G4VProcess* thetpIonisation = new G4hIonisation(); // // add processes @@ -127,7 +127,7 @@ void RE02MuonPhysics::ConstructProcess() // Tau- Physics pManager = G4TauMinus::TauMinus()->GetProcessManager(); - G4VProcess* thetmMultipleScattering = new G4MultipleScattering(); + G4VProcess* thetmMultipleScattering = new G4hMultipleScattering(); G4VProcess* thetmIonisation = new G4hIonisation(); // // add processes diff --git a/examples/extended/runAndEvent/RE02/src/RE02NestedPhantomParameterisation.cc b/examples/extended/runAndEvent/RE02/src/RE02NestedPhantomParameterisation.cc index 02ebcbf8e8..4551a3500f 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02NestedPhantomParameterisation.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02NestedPhantomParameterisation.cc @@ -69,7 +69,7 @@ RE02NestedPhantomParameterisation::~RE02NestedPhantomParameterisation(){ // // Material assignment to geometry. // -G4Material* RE02NestedPhantomParameterisation::ComputeMaterial(G4VPhysicalVolume* currentVol, +G4Material* RE02NestedPhantomParameterisation::ComputeMaterial(G4VPhysicalVolume* /*currentVol*/, const G4int copyNo, const G4VTouchable* parentTouch) { diff --git a/examples/extended/runAndEvent/RE02/vis.mac b/examples/extended/runAndEvent/RE02/vis.mac index bae94b7d27..fcc4974e51 100644 --- a/examples/extended/runAndEvent/RE02/vis.mac +++ b/examples/extended/runAndEvent/RE02/vis.mac @@ -5,34 +5,83 @@ # Sets some default verbose # /control/verbose 2 +/vis/verbose confirmations /run/verbose 2 #/tracking/verbose 2 # -# create empty scene +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/scene/create -# -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) -# -#/vis/open VRML2FILE -/vis/open OGLIX +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: #/vis/open DAWNFILE -#/vis/open DAWN # -# draw scene +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -/vis/viewer/set/viewpointThetaPhi 90 180 deg -#/vis/viewer/set/viewpointThetaPhi -90 90 deg +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: /vis/viewer/zoom 1.4 -#/vis/viewer/flush # -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) -/tracking/storeTrajectory 1 -/vis/scene/add/trajectories -# (if you prefer refreshing each event, comment out next line) +# Make all invisible - final voxels will be drawn with computed vis attrubutes +#/vis/geometry/set/visibility Phantom -1 false +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # +/vis/viewer/set/targetPoint 0 100 0 mm +/vis/viewer/zoomTo 10000000 +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# /run/beamOn 100 - diff --git a/examples/extended/runAndEvent/RE03/History b/examples/extended/runAndEvent/RE03/History index aad7a56873..e609eb81c2 100644 --- a/examples/extended/runAndEvent/RE03/History +++ b/examples/extended/runAndEvent/RE03/History @@ -1,4 +1,4 @@ -$Id: History,v 1.2 2008/11/24 17:34:46 asaim Exp $ +$Id: History,v 1.4 2010/11/08 20:14:41 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,12 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Nov. 07, 2010 J.Allison (exampleRE03-V09-03-01) +- Introduced G4UIExecutive. + +Apr. 06, 2010 M.Asai (exampleRE03-V09-03-00) +- Replace G4MultipleScattering with G4eMultipleScattering, G4MuMultipleScattering and G4hMultipleScattring. + Nov. 23, 08 M.Asai (exampleRE03-V09-01-00) - Add "run4.mac" with cylindrical scoring mesh. diff --git a/examples/extended/runAndEvent/RE03/RE03.cc b/examples/extended/runAndEvent/RE03/RE03.cc index 794f56a737..2789468b94 100644 --- a/examples/extended/runAndEvent/RE03/RE03.cc +++ b/examples/extended/runAndEvent/RE03/RE03.cc @@ -24,23 +24,26 @@ // ******************************************************************** // // -// $Id: RE03.cc,v 1.4 2007/11/17 01:26:01 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RE03.cc,v 1.5 2010/11/08 20:14:41 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "G4ScoringManager.hh" +#include "RE03DetectorConstruction.hh" +#include "RE03PhysicsList.hh" +#include "RE03PrimaryGeneratorAction.hh" + #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif -#include "RE03DetectorConstruction.hh" -#include "RE03PhysicsList.hh" -#include "RE03PrimaryGeneratorAction.hh" + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif //==================================================================== // Un-comment this line for user defined score writer @@ -74,11 +77,9 @@ int main(int argc,char** argv) // G4VUserPrimaryGeneratorAction* gen_action = new RE03PrimaryGeneratorAction; runManager->SetUserAction(gen_action); - // #ifdef G4VIS_USE // Visualization manager - // G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); #endif @@ -89,30 +90,24 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager // - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand("/control/execute vis.mac"); + 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 - - session->SessionStart(); - - delete session; +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); +#ifdef G4VIS_USE + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + ui->SessionStart(); + delete ui; +#endif } 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/extended/runAndEvent/RE03/src/RE03PhysicsList.cc b/examples/extended/runAndEvent/RE03/src/RE03PhysicsList.cc index d4067911ee..a846c00347 100644 --- a/examples/extended/runAndEvent/RE03/src/RE03PhysicsList.cc +++ b/examples/extended/runAndEvent/RE03/src/RE03PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE03PhysicsList.cc,v 1.1 2007/11/13 19:55:43 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RE03PhysicsList.cc,v 1.2 2010/04/07 01:30:07 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -120,16 +120,17 @@ void RE03PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" - +#include "G4eMultipleScattering.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" void RE03PhysicsList::ConstructEM() @@ -148,13 +149,13 @@ void RE03PhysicsList::ConstructEM() } 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); @@ -162,7 +163,7 @@ void RE03PhysicsList::ConstructEM() } 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); @@ -171,7 +172,7 @@ void RE03PhysicsList::ConstructEM() (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/extended/runAndEvent/RE03/vis.mac b/examples/extended/runAndEvent/RE03/vis.mac index 52b87ad28a..7a93146860 100644 --- a/examples/extended/runAndEvent/RE03/vis.mac +++ b/examples/extended/runAndEvent/RE03/vis.mac @@ -6,7 +6,7 @@ # Create a scene handler for a specific graphics system # (Edit the next line(s) to choose another graphic system) # -/vis/open OGLIX +/vis/open OGL # # draw scene # diff --git a/examples/extended/visualization/perspective/History b/examples/extended/visualization/perspective/History index 252b7a2c83..475ee26b8f 100644 --- a/examples/extended/visualization/perspective/History +++ b/examples/extended/visualization/perspective/History @@ -1,4 +1,4 @@ -$Id: History,v 1.2 2006/11/06 20:07:50 allison Exp $ +$Id: History,v 1.3 2010/11/09 09:49:57 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,7 +16,11 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -65th November 2006 (exam-ext-vis-perps-V08-01-00) +9th November 2010 John Allison (exam-ext-vis-perps-V09-03-00) +- Introduced G4UIExecutive. +- Introduced vis.mac, visXm.mac (was perspective.g4m). + +6th November 2006 (exam-ext-vis-perps-V08-01-00) - Improve command guidance. 25th May 2006 (exam-ext-vis-V08-00-00) diff --git a/examples/extended/visualization/perspective/perspective.cc b/examples/extended/visualization/perspective/perspective.cc index 977453c15e..bfd29fb2cd 100644 --- a/examples/extended/visualization/perspective/perspective.cc +++ b/examples/extended/visualization/perspective/perspective.cc @@ -24,33 +24,35 @@ // ******************************************************************** // // -// $Id: perspective.cc,v 1.2 2006/06/29 17:45:40 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: perspective.cc,v 1.3 2010/11/09 09:49:57 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #include "globals.hh" #include "G4VisExecutive.hh" #include "G4VisExtent.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" +#include "G4UIExecutive.hh" #include "PerspectiveVisAction.hh" -int main() { +int main(int argc,char** argv) { G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize (); + visManager->Initialise(); visManager->SetUserAction (new PerspectiveVisAction, G4VisExtent(-5*m,5*m,-5*m,5*m,-5*m,5*m)); // 2nd argument optional. - G4UImanager* UI = G4UImanager::GetUIpointer (); - UI->ApplyCommand ("/control/execute perspective.g4m"); + G4String command = "/control/execute "; + G4String fileName = "vis.mac"; + if (argc > 1) { // Macro name supplied. + fileName = argv[1]; + } + G4UIExecutive* ui = new G4UIExecutive(argc,argv); + G4UImanager::GetUIpointer()->ApplyCommand(command+fileName); + ui->SessionStart(); - G4UIsession* session = new G4UIterminal(new G4UItcsh); - session->SessionStart(); - - delete session; + delete ui; delete visManager; } diff --git a/examples/extended/visualization/perspective/vis.mac b/examples/extended/visualization/perspective/vis.mac new file mode 100644 index 0000000000..4e193d1e20 --- /dev/null +++ b/examples/extended/visualization/perspective/vis.mac @@ -0,0 +1,33 @@ +# Macro for perspective demonstration. + +/control/verbose 2 +#/vis/verbose p + +/vis/open OGL 600x600-0+0 + +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors + +/vis/scene/create +#/vis/scene/add/userAction +/vis/scene/add/userAction -100 100 -100 100 -100 100 m +/vis/scene/add/axes 0 0 0 1 m +#/vis/scene/add/scale 10 m +/vis/sceneHandler/attach + +/vis/viewer/set/background white +/vis/viewer/set/viewpointVector 1 0 0 +/vis/viewer/set/upVector 0 0 1 +/vis/viewer/set/hiddenMarker true +/vis/viewer/set/projection perspective 45 deg +/vis/viewer/pan 0 50 cm +/vis/viewer/dollyTo 241.5 m + +# To get perspective lines +/perspectiveDemo/optionString x + +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings diff --git a/examples/extended/visualization/perspective/perspective.g4m b/examples/extended/visualization/perspective/visXm.mac similarity index 100% rename from examples/extended/visualization/perspective/perspective.g4m rename to examples/extended/visualization/perspective/visXm.mac diff --git a/examples/extended/visualization/standalone/History b/examples/extended/visualization/standalone/History index 7676173c4f..eb6e99c2b3 100644 --- a/examples/extended/visualization/standalone/History +++ b/examples/extended/visualization/standalone/History @@ -1,4 +1,4 @@ -$Id: History,v 1.1 2005/10/18 18:09:14 allison Exp $ +$Id: History,v 1.2 2010/11/09 10:02:45 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,5 +16,8 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +9th November 2010 John Allison (exam-ext-vis-V09-03-00) +- Introduced G4UIExecutive. + 18th October 2005 (exam-ext-vis-V07-01-00) - First standalone example. diff --git a/examples/extended/visualization/standalone/standalone.cc b/examples/extended/visualization/standalone/standalone.cc index 5942c9a72f..7c1f6e4ad4 100644 --- a/examples/extended/visualization/standalone/standalone.cc +++ b/examples/extended/visualization/standalone/standalone.cc @@ -24,19 +24,18 @@ // ******************************************************************** // // -// $Id: standalone.cc,v 1.2 2006/06/29 17:45:53 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: standalone.cc,v 1.3 2010/11/09 10:02:45 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #include "globals.hh" #include "G4VisExecutive.hh" #include "G4VisExtent.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" +#include "G4UIExecutive.hh" #include "StandaloneVisAction.hh" -int main() { +int main(int argc,char** argv) { G4VisManager* visManager = new G4VisExecutive; visManager->Initialize (); @@ -45,12 +44,11 @@ int main() { (new StandaloneVisAction, G4VisExtent(-5*m,5*m,-5*m,5*m,-5*m,5*m)); // 2nd argument optional. - G4UImanager* UI = G4UImanager::GetUIpointer (); - UI->ApplyCommand ("/control/execute standalone.g4m"); + G4UIExecutive* ui = new G4UIExecutive(argc, argv); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + UImanager->ApplyCommand ("/control/execute standalone.g4m"); + ui->SessionStart(); - G4UIsession* session = new G4UIterminal(new G4UItcsh); - session->SessionStart(); - - delete session; + delete ui; delete visManager; } diff --git a/examples/extended/visualization/standalone/standalone.g4m b/examples/extended/visualization/standalone/standalone.g4m index 2a17026c3f..d3e94c900e 100644 --- a/examples/extended/visualization/standalone/standalone.g4m +++ b/examples/extended/visualization/standalone/standalone.g4m @@ -1,6 +1,6 @@ /control/verbose 2 /vis/verbose p -/vis/open OGLSXm +/vis/open OGL /vis/scene/create #/vis/scene/add/userAction /vis/scene/add/userAction -10 10 -10 10 -10 10 m diff --git a/examples/extended/visualization/userVisAction/GNUmakefile b/examples/extended/visualization/userVisAction/GNUmakefile index 36eb7cd4eb..3015c52746 100644 --- a/examples/extended/visualization/userVisAction/GNUmakefile +++ b/examples/extended/visualization/userVisAction/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2005/10/18 18:09:14 allison Exp $ +# $Id: GNUmakefile,v 1.2 2010/01/11 17:08:59 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../.. + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/visualization/userVisAction/History b/examples/extended/visualization/userVisAction/History index 1bae55297c..22b3c414ed 100644 --- a/examples/extended/visualization/userVisAction/History +++ b/examples/extended/visualization/userVisAction/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2006/11/06 20:12:13 allison Exp $ +$Id: History,v 1.6 2010/11/09 10:18:58 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,7 +15,16 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- - + +9th November 2010 John Allison (exam-ext-vis-UVA-V09-03-02) +- vis.mac: /vis/open OGL. + +5th November 2010 Gunter Folger (exam-ext-vis-UVA-V09-03-01) +- Use new G4MultipleScattering classes + +22nd December 2009 John Allison (exam-ext-vis-UVA-V09-03-00) +- Introduced G4UIExecutive. + 6th November 2006 John Allison (exam-ext-vis-UVA-V08-01-00) - Remove Mac dylib special - no longer necessary. diff --git a/examples/extended/visualization/userVisAction/src/UVA_PhysicsList.cc b/examples/extended/visualization/userVisAction/src/UVA_PhysicsList.cc index 98eeb2c662..9d13a14d30 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_PhysicsList.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: UVA_PhysicsList.cc,v 1.2 2006/06/29 17:46:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: UVA_PhysicsList.cc,v 1.3 2010/11/05 15:10:31 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -141,7 +141,9 @@ void UVA_PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -174,13 +176,13 @@ void UVA_PhysicsList::ConstructEM() } 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); @@ -188,7 +190,7 @@ void UVA_PhysicsList::ConstructEM() } 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); @@ -197,7 +199,7 @@ void UVA_PhysicsList::ConstructEM() (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); //step limit pmanager->AddProcess(new G4StepLimiter, -1,-1,3); diff --git a/examples/extended/visualization/userVisAction/userVisAction.cc b/examples/extended/visualization/userVisAction/userVisAction.cc index 3babb4426c..ef31521b3e 100644 --- a/examples/extended/visualization/userVisAction/userVisAction.cc +++ b/examples/extended/visualization/userVisAction/userVisAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: userVisAction.cc,v 1.2 2006/06/29 17:46:00 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: userVisAction.cc,v 1.3 2009/12/22 15:07:19 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -41,14 +41,16 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #ifdef G4VIS_USE #include "G4VisExecutive.hh" #include "UVA_VisAction.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -85,29 +87,24 @@ int main(int argc,char** argv) { runManager->Initialize(); //get the pointer to the User Interface manager - G4UImanager * UI = G4UImanager::GetUIpointer(); + G4UImanager * UImanager = G4UImanager::GetUIpointer(); if(argc==1) +#ifdef G4UI_USE // Define (G)UI terminal for interactive mode { - // G4UIterminal is a (dumb) terminal. - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - - UI->ApplyCommand("/control/execute vis.mac"); - session->SessionStart(); - delete session; + G4UIExecutive * ui = new G4UIExecutive(argc, argv); + UImanager->ApplyCommand("/control/execute vis.mac"); + ui->SessionStart(); + delete ui; +#endif } else // Batch mode { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } #ifdef G4VIS_USE diff --git a/examples/extended/visualization/userVisAction/vis.mac b/examples/extended/visualization/userVisAction/vis.mac index d25ee66c53..d1650c812c 100644 --- a/examples/extended/visualization/userVisAction/vis.mac +++ b/examples/extended/visualization/userVisAction/vis.mac @@ -18,7 +18,7 @@ # Create a scene handler for a specific graphics system # (Edit the next line(s) to choose another graphic system) # -/vis/open OGLIX +/vis/open OGL # ####/vis/open DAWNFILE # diff --git a/examples/novice/N01/exampleN01.out b/examples/novice/N01/exampleN01.out index 482b022591..11a865fd57 100644 --- a/examples/novice/N01/exampleN01.out +++ b/examples/novice/N01/exampleN01.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 diff --git a/examples/novice/N02/History b/examples/novice/N02/History index 88ac627d26..4cdf97d639 100644 --- a/examples/novice/N02/History +++ b/examples/novice/N02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.62 2009/11/15 14:27:30 maire Exp $ +$Id: History,v 1.64 2010/06/06 04:05:29 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,7 +14,13 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- - + +04-06-10 J.Perl (exampleN02-V09-03-01) +- Updated vis usage + +22-01-10 mma (exampleN02-V09-03-00) +- DetectorConstruction::SetMagField() : fpMagField->SetMagFieldValue() + 15-11-09 mma (exampleN02-V09-02-01) - Use G4MuMultipleScattering for muons - Separate alpha from GenericIon diff --git a/examples/novice/N02/exampleN02.out b/examples/novice/N02/exampleN02.out index 47730d654f..d769dc0ba4 100644 --- a/examples/novice/N02/exampleN02.out +++ b/examples/novice/N02/exampleN02.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -16,14 +16,14 @@ The materials defined are : ***** Table : Nb of materials = 3 ***** - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV + Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.258 cm Imean: 823.000 eV ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: XenonGas density: 5.458 mg/cm3 RadL: 15.539 m Nucl.Int.Length: 325.920 m Imean: 480.600 eV temperature: 293.15 K pressure: 1.00 atm + Material: XenonGas density: 5.458 mg/cm3 RadL: 15.539 m Nucl.Int.Length: 326.401 m Imean: 482.000 eV temperature: 293.15 K pressure: 1.00 atm ---> Element: XenonGas ( ) Z = 54.0 N = 131.3 A = 131.29 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % @@ -31,7 +31,7 @@ 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 instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -45,6 +45,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -67,208 +70,208 @@ Registered filter factories: phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + hPairProd : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -303,1859 +306,2225 @@ 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 -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 + 1 -136 um -5.36 um -2.8 m 200 MeV 19.3 keV 10.5 cm 10.5 cm World eIoni + 2 -731 um -53.7 um -2.45 m 200 MeV 89.3 keV 35.5 cm 46 cm World Transportation + 3 -721 um -45.6 um -2.45 m 198 MeV 1.71 MeV 682 um 46.1 cm Target eBrem + 4 -694 um -43.1 um -2.45 m 196 MeV 984 keV 787 um 46.1 cm Target eBrem + 5 -692 um -40.6 um -2.45 m 160 MeV 114 keV 118 um 46.2 cm Target eBrem + 6 -688 um -37 um -2.45 m 153 MeV 392 keV 236 um 46.2 cm Target eBrem + 7 -587 um -27.6 um -2.45 m 147 MeV 3.27 MeV 2.23 mm 46.4 cm Target eBrem + 8 -564 um -9.21 um -2.45 m 120 MeV 717 keV 602 um 46.5 cm Target eBrem + 9 -549 um 18 um -2.44 m 118 MeV 820 keV 591 um 46.5 cm Target eBrem + 10 -531 um 12.8 um -2.44 m 105 MeV 177 keV 144 um 46.5 cm Target eBrem + 11 -524 um 11.3 um -2.44 m 84.4 MeV 57.9 keV 56 um 46.5 cm Target eBrem + 12 -349 um -89.5 um -2.44 m 74.3 MeV 1.57 MeV 1.28 mm 46.7 cm Target eBrem + 13 -287 um -64.1 um -2.44 m 73.4 MeV 627 keV 527 um 46.7 cm Target eBrem + 14 -253 um -58.1 um -2.44 m 65.3 MeV 1.03 MeV 397 um 46.8 cm Target eBrem + 15 -175 um -62.4 um -2.44 m 63.3 MeV 1.33 MeV 1.24 mm 46.9 cm Target eBrem + 16 -165 um -74.9 um -2.44 m 55.8 MeV 188 keV 174 um 46.9 cm Target eBrem + 17 -1.31 mm -918 um -2.43 m 43.9 MeV 9.81 MeV 6.88 mm 47.6 cm Target eBrem + 18 -1.55 mm -1.22 mm -2.43 m 39.6 MeV 2.31 MeV 2.01 mm 47.8 cm Target eBrem + 19 -1.55 mm -1.22 mm -2.43 m 31.7 MeV 6.11 keV 13.2 um 47.8 cm Target eBrem + 20 -1.55 mm -1.22 mm -2.43 m 29.5 MeV 1.05 keV 2 um 47.8 cm Target eBrem + 21 -1.25 mm -1.4 mm -2.43 m 21.5 MeV 2.23 MeV 1.36 mm 47.9 cm Target eBrem + 22 -308 um -1.68 mm -2.43 m 3.78 MeV 5.59 MeV 2.44 mm 48.2 cm Target eBrem + 23 -450 um -1.02 mm -2.43 m 2.35 MeV 1.11 MeV 924 um 48.3 cm Target eBrem + 24 -254 um -1.11 mm -2.43 m 1.13 MeV 1.23 MeV 1.03 mm 48.4 cm Target eBrem + 25 -96.8 um -1.13 mm -2.43 m 477 keV 216 keV 253 um 48.4 cm Target eBrem + 26 -76.5 um -1.14 mm -2.43 m 0 eV 477 keV 285 um 48.4 cm Target eIoni + 27 -76.5 um -1.14 mm -2.43 m 0 eV 0 eV 0 fm 48.4 cm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -76.5 um -1.14 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.78 mm 1.63 cm -2.43 m 361 keV 0 eV 1.89 cm 1.89 cm Target compt + 2 -1.25 cm 1.81 cm -2.44 m 0 eV 88 keV 7.36 mm 2.63 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 26 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.25 cm 1.81 cm -2.44 m 273 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.26 cm 1.81 cm -2.44 m 0 eV 273 keV 130 um 130 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 26 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.78 mm 1.63 cm -2.43 m 150 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.78 mm 1.63 cm -2.43 m 0 eV 150 keV 52.7 um 52.7 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -76.5 um -1.14 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 1.05 mm -4.08 mm -2.43 m 231 keV 0 eV 3.19 mm 3.19 mm Target compt + 2 795 um -4.13 mm -2.43 m 199 keV 0 eV 616 um 3.81 mm Target compt + 3 913 um -4.16 mm -2.43 m 0 eV 88 keV 282 um 4.09 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 25 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 913 um -4.16 mm -2.43 m 111 keV 0 eV 0 fm 0 fm Target initStep + 1 915 um -4.16 mm -2.43 m 0 eV 111 keV 32.5 um 32.5 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 25 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 795 um -4.13 mm -2.43 m 31.9 keV 0 eV 0 fm 0 fm Target initStep + 1 794 um -4.13 mm -2.43 m 0 eV 31.9 keV 4.31 um 4.31 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 25 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.05 mm -4.08 mm -2.43 m 280 keV 0 eV 0 fm 0 fm Target initStep + 1 1.06 mm -4.09 mm -2.43 m 0 eV 280 keV 136 um 136 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -96.8 um -1.13 mm -2.43 m 433 keV 0 eV 0 fm 0 fm Target initStep + 1 2.26 mm -3.34 mm -2.43 m 405 keV 0 eV 6.48 mm 6.48 mm Target compt + 2 3.65 mm -4.34 mm -2.44 m 0 eV 88 keV 2.15 mm 8.62 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.65 mm -4.34 mm -2.44 m 317 keV 0 eV 0 fm 0 fm Target initStep + 1 3.66 mm -4.34 mm -2.44 m 0 eV 317 keV 162 um 162 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.26 mm -3.34 mm -2.43 m 28.6 keV 0 eV 0 fm 0 fm Target initStep + 1 2.26 mm -3.34 mm -2.43 m 0 eV 28.6 keV 3.61 um 3.61 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 23, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -450 um -1.02 mm -2.43 m 322 keV 0 eV 0 fm 0 fm Target initStep + 1 70.5 um 772 um -2.43 m 0 eV 88 keV 2.3 mm 2.3 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 23 +* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 23 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 24, Parent ID = 23 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 70.5 um 772 um -2.43 m 234 keV 0 eV 0 fm 0 fm Target initStep + 1 65.4 um 776 um -2.43 m 0 eV 234 keV 104 um 104 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -308 um -1.68 mm -2.43 m 12.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 730 um -475 um -2.43 m 0 eV 0 eV 2.24 mm 2.24 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 22 +* G4Track Information: Particle = e+, Track ID = 36, Parent ID = 22 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 730 um -475 um -2.43 m 8.39 MeV 0 eV 0 fm 0 fm Target initStep + 1 918 um -298 um -2.43 m 7.73 MeV 275 keV 309 um 309 um Target eBrem + 2 2.89 mm -674 um -2.43 m 3.97 MeV 3.75 MeV 2.68 mm 2.99 mm Target eIoni + 3 3.47 mm -504 um -2.43 m 2.61 MeV 945 keV 766 um 3.76 mm Target eBrem + 4 3.85 mm -606 um -2.43 m 1.5 MeV 762 keV 753 um 4.51 mm Target eBrem + 5 3.7 mm -385 um -2.43 m 349 keV 861 keV 829 um 5.34 mm Target eBrem + 6 3.7 mm -385 um -2.43 m 0 eV 1.13 keV 905 nm 5.34 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 42, Parent ID = 36 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.7 mm -385 um -2.43 m 960 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.77 um 3.95 mm -2.44 m 273 keV 0 eV 1.06 cm 1.06 cm Target compt + 2 961 um 3.93 mm -2.44 m 0 eV 88 keV 969 um 1.16 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 42 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 961 um 3.93 mm -2.44 m 185 keV 0 eV 0 fm 0 fm Target initStep + 1 964 um 3.94 mm -2.44 m 0 eV 185 keV 72.9 um 72.9 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 42 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.77 um 3.95 mm -2.44 m 687 keV 0 eV 0 fm 0 fm Target initStep + 1 -26.3 um 3.96 mm -2.44 m 0 eV 687 keV 462 um 462 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 41, Parent ID = 36 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.7 mm -385 um -2.43 m 410 keV 0 eV 0 fm 0 fm Target initStep + 1 3.89 mm -370 um -2.43 m 0 eV 88 keV 249 um 249 um Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 41 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.89 mm -370 um -2.43 m 322 keV 0 eV 0 fm 0 fm Target initStep + 1 3.9 mm -367 um -2.43 m 0 eV 322 keV 165 um 165 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 40, Parent ID = 36 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.7 mm -385 um -2.43 m 287 keV 0 eV 0 fm 0 fm Target initStep + 1 3.68 mm -356 um -2.43 m 0 eV 88 keV 87.3 um 87.3 um Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 40 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.68 mm -356 um -2.43 m 199 keV 0 eV 0 fm 0 fm Target initStep + 1 3.68 mm -355 um -2.43 m 0 eV 199 keV 81.3 um 81.3 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 39, Parent ID = 36 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.85 mm -606 um -2.43 m 356 keV 0 eV 0 fm 0 fm Target initStep + 1 3.83 mm -632 um -2.43 m 0 eV 88 keV 42.5 um 42.5 um Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 39 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.83 mm -632 um -2.43 m 268 keV 0 eV 0 fm 0 fm Target initStep + 1 3.83 mm -640 um -2.43 m 0 eV 268 keV 127 um 127 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 38, Parent ID = 36 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.47 mm -504 um -2.43 m 412 keV 0 eV 0 fm 0 fm Target initStep + 1 5.22 mm 129 um -2.43 m 0 eV 88 keV 1.87 mm 1.87 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 5.22 mm 129 um -2.43 m 324 keV 0 eV 0 fm 0 fm Target initStep + 1 5.23 mm 131 um -2.43 m 0 eV 324 keV 167 um 167 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 36 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 918 um -298 um -2.43 m 390 keV 0 eV 0 fm 0 fm Target initStep + 1 6.39 mm 2.43 mm -2.42 m 316 keV 0 eV 6.74 mm 6.74 mm Target compt + 2 7.13 mm 2.95 mm -2.42 m 309 keV 0 eV 965 um 7.7 mm Target compt + 3 8.86 mm 3.77 mm -2.43 m 0 eV 88 keV 2.28 mm 9.98 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 37 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 8.86 mm 3.77 mm -2.43 m 221 keV 0 eV 0 fm 0 fm Target initStep + 1 8.86 mm 3.77 mm -2.43 m 0 eV 221 keV 95.7 um 95.7 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 37 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 7.13 mm 2.95 mm -2.42 m 6.41 keV 0 eV 0 fm 0 fm Target initStep + 1 7.13 mm 2.95 mm -2.42 m 0 eV 6.41 keV 366 nm 366 nm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 37 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.39 mm 2.43 mm -2.42 m 74 keV 0 eV 0 fm 0 fm Target initStep + 1 6.39 mm 2.43 mm -2.42 m 0 eV 74 keV 17 um 17 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 22 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 730 um -475 um -2.43 m 2.67 MeV 0 eV 0 fm 0 fm Target initStep + 1 794 um -452 um -2.43 m 1.74 MeV 114 keV 107 um 107 um Target eBrem + 2 781 um -520 um -2.43 m 0 eV 1.74 MeV 1.29 mm 1.4 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 52, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 794 um -452 um -2.43 m 810 keV 0 eV 0 fm 0 fm Target initStep + 1 -847 um -1.51 cm -2.42 m 0 eV 88 keV 1.86 cm 1.86 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 52 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -847 um -1.51 cm -2.42 m 722 keV 0 eV 0 fm 0 fm Target initStep + 1 -843 um -1.51 cm -2.42 m 0 eV 722 keV 491 um 491 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -1.25 mm -1.4 mm -2.43 m 5.82 MeV 0 eV 0 fm 0 fm Target initStep + 1 -794 um -2.82 mm -2.42 m 5.5 MeV 0 eV 8.72 mm 8.72 mm Target compt + 2 -30.4 um -3.88 mm -2.41 m 581 keV 0 eV 1.69 cm 2.56 cm Target compt + 3 -338 um -4.13 mm -2.41 m 182 keV 0 eV 406 um 2.6 cm Target compt + 4 -118 um -3.94 mm -2.41 m 0 eV 88 keV 301 um 2.63 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 21 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -118 um -3.94 mm -2.41 m 93.9 keV 0 eV 0 fm 0 fm Target initStep + 1 -118 um -3.93 mm -2.41 m 0 eV 93.9 keV 25 um 25 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 21 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -338 um -4.13 mm -2.41 m 399 keV 0 eV 0 fm 0 fm Target initStep + 1 -350 um -4.14 mm -2.41 m 0 eV 399 keV 224 um 224 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 21 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -30.4 um -3.88 mm -2.41 m 4.92 MeV 0 eV 0 fm 0 fm Target initStep + 1 -243 um -3.87 mm -2.41 m 3.06 MeV 581 keV 545 um 545 um Target eBrem + 2 -254 um -3.89 mm -2.41 m 2.73 MeV 22 keV 29.2 um 574 um Target eBrem + 3 -224 um -4.34 mm -2.41 m 1.75 MeV 974 keV 856 um 1.43 mm Target eBrem + 4 -353 um -4.41 mm -2.41 m 236 keV 1.52 MeV 1.3 mm 2.73 mm Target eIoni + 5 -351 um -4.41 mm -2.41 m 0 eV 236 keV 105 um 2.83 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 59, Parent ID = 55 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -254 um -3.89 mm -2.41 m 313 keV 0 eV 0 fm 0 fm Target initStep + 1 -289 um -3.93 mm -2.41 m 0 eV 88 keV 61.3 um 61.3 um Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 59 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -289 um -3.93 mm -2.41 m 225 keV 0 eV 0 fm 0 fm Target initStep + 1 -289 um -3.93 mm -2.41 m 0 eV 225 keV 97.8 um 97.8 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 58, Parent ID = 55 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -243 um -3.87 mm -2.41 m 1.28 MeV 0 eV 0 fm 0 fm Target initStep + 1 -8.5 mm -1.42 cm -2.4 m 1.28 MeV 0 eV 1.43 cm 1.43 cm Target Transportation + 2 -1.91 m -2.4 m -1.19 m 1.28 MeV 0 eV 3.28 m 3.29 m Tracker Transportation + 3 -2.31 m -2.91 m -92.8 cm 1.28 MeV 0 eV 70.1 cm 4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 21 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -794 um -2.82 mm -2.42 m 317 keV 0 eV 0 fm 0 fm Target initStep + 1 -793 um -2.83 mm -2.42 m 0 eV 317 keV 162 um 162 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -1.55 mm -1.22 mm -2.43 m 2.24 MeV 0 eV 0 fm 0 fm Target initStep + 1 -172 um -1.83 mm -2.41 m 1.51 MeV 0 eV 1.83 cm 1.83 cm Target compt + 2 -2.51 mm -1.04 mm -2.41 m 456 keV 0 eV 6.47 mm 2.48 cm Target compt + 3 -1.51 mm -5.42 mm -2.41 m 0 eV 88 keV 4.97 mm 2.98 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 28, Parent ID = 20 +* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 20 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -1.51 mm -5.42 mm -2.41 m 368 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.5 mm -5.43 mm -2.41 m 0 eV 368 keV 200 um 200 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 32, Parent ID = 28 +* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 20 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -2.51 mm -1.04 mm -2.41 m 1.05 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.54 mm -1.02 mm -2.41 m 0 eV 1.05 MeV 777 um 777 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 32 +* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 20 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -172 um -1.83 mm -2.41 m 727 keV 0 eV 0 fm 0 fm Target initStep + 1 -185 um -1.82 mm -2.41 m 230 keV 121 keV 106 um 106 um Target eBrem + 2 -184 um -1.81 mm -2.41 m 0 eV 230 keV 102 um 208 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 32 +* G4Track Information: Particle = gamma, Track ID = 64, Parent ID = 61 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = gamma, Track ID = 31, Parent ID = 28 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = e-, Track ID = 35, Parent ID = 31 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = gamma, Track ID = 30, Parent ID = 28 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 -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 = gamma, Track ID = 29, Parent ID = 28 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 27, Parent ID = 20 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = gamma, Track ID = 38, Parent ID = 27 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = e-, Track ID = 40, Parent ID = 38 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 39, Parent ID = 38 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 41, Parent ID = 39 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 41 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = gamma, Track ID = 37, Parent ID = 27 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 43, Parent ID = 37 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = gamma, Track ID = 19, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = gamma, Track ID = 18, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = e-, Track ID = 45, Parent ID = 18 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 44, Parent ID = 18 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = gamma, Track ID = 17, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = e+, Track ID = 47, Parent ID = 17 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 -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.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 -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 = 52, Parent ID = 48 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -185 um -1.82 mm -2.41 m 375 keV 0 eV 0 fm 0 fm Target initStep + 1 1.11 mm 2.23 mm -2.41 m 0 eV 88 keV 4.28 mm 4.28 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 + 0 1.11 mm 2.23 mm -2.41 m 287 keV 0 eV 0 fm 0 fm Target initStep + 1 1.11 mm 2.24 mm -2.41 m 0 eV 287 keV 141 um 141 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 63, Parent ID = 62 +* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 1 ********************************************************************************************************* 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 + 0 -1.55 mm -1.22 mm -2.43 m 7.89 MeV 0 eV 0 fm 0 fm Target initStep + 1 -468 um -2.44 mm -2.41 m 0 eV 0 eV 1.77 cm 1.77 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 63 +* G4Track Information: Particle = e+, Track ID = 67, Parent ID = 19 ********************************************************************************************************* 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 + 0 -468 um -2.44 mm -2.41 m 1.78 MeV 0 eV 0 fm 0 fm Target initStep + 1 -753 um -2.29 mm -2.41 m 587 keV 1.19 MeV 1.32 mm 1.32 mm Target eIoni + 2 -772 um -2.31 mm -2.41 m 0 eV 587 keV 377 um 1.7 mm Target eIoni + 3 -772 um -2.31 mm -2.41 m 0 eV 0 eV 0 fm 1.7 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 12 +* G4Track Information: Particle = gamma, Track ID = 69, Parent ID = 67 ********************************************************************************************************* 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 + 0 -772 um -2.31 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.13 mm -4.45 mm -2.42 m 0 eV 88 keV 3.68 mm 3.68 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 61 +* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 69 ********************************************************************************************************* 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 + 0 -3.13 mm -4.45 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.14 mm -4.45 mm -2.42 m 0 eV 423 keV 243 um 243 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 67 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -772 um -2.31 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 2.32 mm 497 um -2.41 m 480 keV 0 eV 4.83 mm 4.83 mm Target compt + 2 2.87 mm 928 um -2.41 m 0 eV 88 keV 1.1 mm 5.93 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 68 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.87 mm 928 um -2.41 m 392 keV 0 eV 0 fm 0 fm Target initStep + 1 2.88 mm 930 um -2.41 m 0 eV 392 keV 219 um 219 um Target eIoni ********************************************************************************************************* * 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 + 0 2.32 mm 497 um -2.41 m 30.8 keV 0 eV 0 fm 0 fm Target initStep + 1 2.32 mm 497 um -2.41 m 0 eV 30.8 keV 4.07 um 4.07 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 68 +* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 19 ********************************************************************************************************* 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 + 0 -468 um -2.44 mm -2.41 m 5.09 MeV 0 eV 0 fm 0 fm Target initStep + 1 -598 um -2.49 mm -2.41 m 2.81 MeV 517 keV 352 um 352 um Target eBrem + 2 -603 um -2.53 mm -2.41 m 1.8 MeV 115 keV 107 um 460 um Target eBrem + 3 -844 um -2.73 mm -2.41 m 277 keV 1.52 MeV 1.32 mm 1.78 mm Target eIoni + 4 -844 um -2.73 mm -2.41 m 0 eV 277 keV 133 um 1.91 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 68 +* G4Track Information: Particle = gamma, Track ID = 74, Parent ID = 66 ********************************************************************************************************* 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 + 0 -603 um -2.53 mm -2.41 m 892 keV 0 eV 0 fm 0 fm Target initStep + 1 851 um -1.71 cm -2.4 m 0 eV 88 keV 1.74 cm 1.74 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 61 +* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 74 ********************************************************************************************************* 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 + 0 851 um -1.71 cm -2.4 m 804 keV 0 eV 0 fm 0 fm Target initStep + 1 850 um -1.71 cm -2.4 m 0 eV 804 keV 562 um 562 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 67 +* G4Track Information: Particle = gamma, Track ID = 73, Parent ID = 66 ********************************************************************************************************* 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 + 0 -598 um -2.49 mm -2.41 m 1.77 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.39 cm -1.49 cm -2.4 m 1.77 MeV 0 eV 2.33 cm 2.33 cm Target Transportation + 2 -2.4 m -2.23 m 20.5 cm 1.77 MeV 0 eV 4.17 m 4.19 m Tracker Transportation + 3 -2.91 m -2.7 m 76.2 cm 1.77 MeV 0 eV 89.1 cm 5.08 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -1.55 mm -1.22 mm -2.43 m 1.93 MeV 0 eV 0 fm 0 fm Target initStep + 1 -753 um -1.5 mm -2.42 m 412 keV 0 eV 9.04 mm 9.04 mm Target compt + 2 -464 um -254 um -2.42 m 0 eV 88 keV 1.28 mm 1.03 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 74, Parent ID = 11 +* G4Track Information: Particle = e-, Track ID = 77, Parent ID = 18 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -464 um -254 um -2.42 m 324 keV 0 eV 0 fm 0 fm Target initStep + 1 -457 um -253 um -2.42 m 0 eV 324 keV 167 um 167 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 74 +* G4Track Information: Particle = e-, Track ID = 76, Parent ID = 18 ********************************************************************************************************* 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 + 0 -753 um -1.5 mm -2.42 m 1.52 MeV 0 eV 0 fm 0 fm Target initStep + 1 -815 um -1.71 mm -2.42 m 31.1 keV 1.49 MeV 1.16 mm 1.16 mm Target eIoni + 2 -815 um -1.71 mm -2.42 m 0 eV 31.1 keV 4.13 um 1.16 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 80 +* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 1 ********************************************************************************************************* 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 + 0 -1.31 mm -918 um -2.43 m 2.15 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.24 mm -1.16 mm -2.43 m 0 eV 88 keV 5.65 mm 5.65 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 79, Parent ID = 74 +* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 17 ********************************************************************************************************* 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 + 0 -1.24 mm -1.16 mm -2.43 m 2.06 MeV 0 eV 0 fm 0 fm Target initStep + 1 -990 um -918 um -2.43 m 604 keV 1.46 MeV 1.44 mm 1.44 mm Target eIoni + 2 -1.01 mm -896 um -2.43 m 0 eV 604 keV 391 um 1.83 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 79 +* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 1 ********************************************************************************************************* 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 + 0 -165 um -74.9 um -2.44 m 7.28 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.26 mm -2.73 mm -2.42 m 0 eV 0 eV 2.53 cm 2.53 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 74 +* G4Track Information: Particle = e+, Track ID = 80, Parent ID = 16 ********************************************************************************************************* 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 + 0 1.26 mm -2.73 mm -2.42 m 1.27 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.28 mm -2.83 mm -2.42 m 0 eV 1.27 MeV 983 um 983 um Target eIoni + 2 1.28 mm -2.83 mm -2.42 m 0 eV 0 eV 0 fm 983 um Target annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 78 +* G4Track Information: Particle = gamma, Track ID = 82, Parent ID = 80 ********************************************************************************************************* 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 + 0 1.28 mm -2.83 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 1.43 mm -2.76 mm -2.42 m 313 keV 0 eV 197 um 197 um Target compt + 2 3.25 mm -4.97 mm -2.41 m 0 eV 88 keV 3.04 mm 3.24 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 83 +* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 82 ********************************************************************************************************* 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 + 0 3.25 mm -4.97 mm -2.41 m 225 keV 0 eV 0 fm 0 fm Target initStep + 1 3.26 mm -4.97 mm -2.41 m 0 eV 225 keV 98.2 um 98.2 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 87 +* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 82 ********************************************************************************************************* 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 + 0 1.43 mm -2.76 mm -2.42 m 198 keV 0 eV 0 fm 0 fm Target initStep + 1 1.43 mm -2.75 mm -2.42 m 0 eV 198 keV 80.6 um 80.6 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 86, Parent ID = 83 +* G4Track Information: Particle = gamma, Track ID = 81, Parent ID = 80 ********************************************************************************************************* 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 + 0 1.28 mm -2.83 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.54 mm -4.19 mm -2.42 m 0 eV 88 keV 3.66 mm 3.66 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 86 +* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 81 ********************************************************************************************************* 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 + 0 -1.54 mm -4.19 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.55 mm -4.19 mm -2.42 m 0 eV 423 keV 243 um 243 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 85, Parent ID = 83 +* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 16 ********************************************************************************************************* 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 + 0 1.26 mm -2.73 mm -2.42 m 4.98 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.67 mm -2.33 mm -2.42 m 206 keV 2.27 MeV 978 um 978 um Target eBrem + 2 1.67 mm -2.33 mm -2.42 m 0 eV 206 keV 85.5 um 1.06 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 85 +* G4Track Information: Particle = gamma, Track ID = 86, Parent ID = 79 ********************************************************************************************************* 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 + 0 1.67 mm -2.33 mm -2.42 m 2.51 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.5 cm -6.31 mm -2.4 m 2.51 MeV 0 eV 2.82 cm 2.82 cm Target Transportation + 2 2.5 cm -6.31 mm -2.4 m 2.51 MeV 0 eV 28.2 um 2.82 cm World Transportation + 3 2.4 m -41.1 cm -83.8 cm 2.51 MeV 0 eV 2.87 m 2.9 m Tracker Transportation + 4 2.91 m -49.8 cm -50.3 cm 2.51 MeV 0 eV 61.7 cm 3.52 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 84, Parent ID = 83 +* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 1 ********************************************************************************************************* 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 + 0 -175 um -62.4 um -2.44 m 672 keV 0 eV 0 fm 0 fm Target initStep + 1 126 um -856 um -2.43 m 0 eV 88 keV 1.03 cm 1.03 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 84 +* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 15 ********************************************************************************************************* 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 + 0 126 um -856 um -2.43 m 584 keV 0 eV 0 fm 0 fm Target initStep + 1 119 um -844 um -2.43 m 0 eV 584 keV 375 um 375 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 74 +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 1 ********************************************************************************************************* 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 + 0 -253 um -58.1 um -2.44 m 7.03 MeV 0 eV 0 fm 0 fm Target initStep + 1 65.8 um 904 um -2.43 m 0 eV 0 eV 1.19 cm 1.19 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 77 +* G4Track Information: Particle = e+, Track ID = 89, Parent ID = 14 ********************************************************************************************************* 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 + 0 65.8 um 904 um -2.43 m 284 keV 0 eV 0 fm 0 fm Target initStep + 1 74 um 914 um -2.43 m 0 eV 284 keV 135 um 135 um Target eIoni + 2 74 um 914 um -2.43 m 0 eV 0 eV 0 fm 135 um Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 74 +* G4Track Information: Particle = gamma, Track ID = 91, Parent ID = 89 ********************************************************************************************************* 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 + 0 74 um 914 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 913 um 690 um -2.43 m 0 eV 88 keV 985 um 985 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 76 +* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 91 ********************************************************************************************************* 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 + 0 913 um 690 um -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 927 um 696 um -2.43 m 0 eV 423 keV 243 um 243 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 76 +* G4Track Information: Particle = gamma, Track ID = 90, Parent ID = 89 ********************************************************************************************************* 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 + 0 74 um 914 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.07 mm 2.29 mm -2.43 m 475 keV 0 eV 6.04 mm 6.04 mm Target compt + 2 -8.87 mm 1.74 mm -2.44 m 0 eV 88 keV 5.01 mm 1.1 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 75, Parent ID = 74 +* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 90 ********************************************************************************************************* 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 + 0 -8.87 mm 1.74 mm -2.44 m 387 keV 0 eV 0 fm 0 fm Target initStep + 1 -8.88 mm 1.74 mm -2.44 m 0 eV 387 keV 215 um 215 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 95, Parent ID = 75 +* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 90 ********************************************************************************************************* 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 + 0 -5.07 mm 2.29 mm -2.43 m 35.9 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.07 mm 2.29 mm -2.43 m 0 eV 35.9 keV 5.22 um 5.22 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 11 +* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 14 ********************************************************************************************************* 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 + 0 65.8 um 904 um -2.43 m 5.73 MeV 0 eV 0 fm 0 fm Target initStep + 1 -115 um 429 um -2.43 m 2 MeV 1.53 MeV 909 um 909 um Target eBrem + 2 137 um 601 um -2.43 m 698 keV 1.3 MeV 1.41 mm 2.32 mm Target eIoni + 3 114 um 620 um -2.43 m 0 eV 698 keV 471 um 2.79 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 88 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -115 um 429 um -2.43 m 2.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 5.27 mm -6.37 mm -2.42 m 889 keV 0 eV 1.57 cm 1.57 cm Target compt + 2 1.68 mm -5.53 mm -2.41 m 0 eV 88 keV 1.18 cm 2.76 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 97, Parent ID = 10 +* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 95 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 100, Parent ID = 97 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 103, Parent ID = 100 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = e-, Track ID = 102, Parent ID = 100 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 101, Parent ID = 100 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 99, Parent ID = 97 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 105, Parent ID = 99 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = e-, Track ID = 104, Parent ID = 99 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 1.68 mm -5.53 mm -2.41 m 801 keV 0 eV 0 fm 0 fm Target initStep + 1 1.64 mm -5.56 mm -2.41 m 262 keV 70.5 keV 78.2 um 78.2 um Target eBrem + 2 1.64 mm -5.56 mm -2.41 m 0 eV 262 keV 123 um 201 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 98, Parent ID = 97 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 1.64 mm -5.56 mm -2.41 m 469 keV 0 eV 0 fm 0 fm Target initStep + 1 172 um -6.32 mm -2.41 m 0 eV 88 keV 2.53 mm 2.53 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 107, Parent ID = 98 +* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 98 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 172 um -6.32 mm -2.41 m 381 keV 0 eV 0 fm 0 fm Target initStep + 1 163 um -6.31 mm -2.41 m 0 eV 381 keV 211 um 211 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 110, Parent ID = 107 +* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 95 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 5.27 mm -6.37 mm -2.42 m 1.31 MeV 0 eV 0 fm 0 fm Target initStep + 1 5.32 mm -6.42 mm -2.42 m 0 eV 1.31 MeV 1 mm 1 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 110 +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -287 um -64.1 um -2.44 m 327 keV 0 eV 0 fm 0 fm Target initStep + 1 -102 um -8.05 um -2.44 m 0 eV 88 keV 1.43 mm 1.43 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 110 +* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 13 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -102 um -8.05 um -2.44 m 239 keV 0 eV 0 fm 0 fm Target initStep + 1 -102 um -6.32 um -2.44 m 0 eV 239 keV 107 um 107 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 110 +* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -349 um -89.5 um -2.44 m 8.47 MeV 0 eV 0 fm 0 fm Target initStep + 1 3.95 mm 258 um -2.4 m 8.47 MeV 0 eV 4.35 cm 4.35 cm Target Transportation + 2 8.34 cm 6.68 mm -1.6 m 8.47 MeV 0 eV 80.4 cm 84.7 cm Tracker Transportation + 3 10.3 cm 8.28 mm -1.4 m 8.47 MeV 0 eV 20.1 cm 1.05 m Chamber Transportation + 4 16.3 cm 1.31 cm -80 cm 8.47 MeV 0 eV 60.3 cm 1.65 m Tracker Transportation + 5 18.3 cm 1.47 cm -60 cm 8.47 MeV 0 eV 20.1 cm 1.85 m Chamber Transportation + 6 24.2 cm 1.95 cm 0 fm 8.47 MeV 0 eV 60.3 cm 2.46 m Tracker Transportation + 7 26.2 cm 2.11 cm 20 cm 8.47 MeV 0 eV 20.1 cm 2.66 m Chamber Transportation + 8 32.2 cm 2.59 cm 80 cm 8.47 MeV 0 eV 60.3 cm 3.26 m Tracker Transportation + 9 34.1 cm 2.75 cm 1 m 8.47 MeV 0 eV 20.1 cm 3.46 m Chamber Transportation + 10 40.1 cm 3.24 cm 1.6 m 8.47 MeV 0 eV 60.3 cm 4.06 m Tracker Transportation + 11 42.1 cm 3.4 cm 1.8 m 8.47 MeV 0 eV 20.1 cm 4.26 m Chamber Transportation + 12 48 cm 3.88 cm 2.4 m 8.47 MeV 0 eV 60.3 cm 4.87 m Tracker Transportation + 13 53.1 cm 4.29 cm 2.91 m 8.47 MeV 0 eV 51.3 cm 5.38 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 109, Parent ID = 107 +* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -524 um 11.3 um -2.44 m 20.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.21 mm -403 um -2.43 m 0 eV 0 eV 1.93 cm 1.93 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 108, Parent ID = 107 +* G4Track Information: Particle = e+, Track ID = 102, Parent ID = 11 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 2.21 mm -403 um -2.43 m 8.39 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.24 mm -267 um -2.43 m 7.09 MeV 606 keV 462 um 462 um Target eBrem + 2 2.73 mm 24.4 um -2.42 m 4.99 MeV 1.42 MeV 1.35 mm 1.81 mm Target eBrem + 3 2.66 mm 1.27 mm -2.42 m 2.13 MeV 2.85 MeV 1.96 mm 3.77 mm Target eBrem + 4 2.63 mm 1.33 mm -2.42 m 1.75 MeV 90.9 keV 88 um 3.86 mm Target eBrem + 5 2.25 mm 1.27 mm -2.42 m 335 keV 1.42 MeV 1.31 mm 5.17 mm Target eIoni + 6 2.26 mm 1.26 mm -2.42 m 0 eV 335 keV 172 um 5.34 mm Target eIoni + 7 2.26 mm 1.26 mm -2.42 m 0 eV 0 eV 0 fm 5.34 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 114, Parent ID = 108 +* G4Track Information: Particle = gamma, Track ID = 107, Parent ID = 102 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 2.26 mm 1.26 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -209 um 3.08 mm -2.43 m 0 eV 88 keV 5.01 mm 5.01 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 98 +* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 107 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -209 um 3.08 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -204 um 3.08 mm -2.43 m 0 eV 423 keV 243 um 243 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 106 +* G4Track Information: Particle = gamma, Track ID = 106, Parent ID = 102 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 2.26 mm 1.26 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 3.56 mm 306 um -2.42 m 0 eV 88 keV 2.64 mm 2.64 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 116, Parent ID = 115 +* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 106 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 3.56 mm 306 um -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 3.57 mm 295 um -2.42 m 0 eV 423 keV 243 um 243 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 10 +* G4Track Information: Particle = gamma, Track ID = 105, Parent ID = 102 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 2.63 mm 1.33 mm -2.42 m 288 keV 0 eV 0 fm 0 fm Target initStep + 1 2.22 mm 1.91 mm -2.42 m 0 eV 88 keV 716 um 716 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 117, Parent ID = 96 +* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 105 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 2.22 mm 1.91 mm -2.42 m 200 keV 0 eV 0 fm 0 fm Target initStep + 1 2.22 mm 1.91 mm -2.42 m 0 eV 200 keV 81.9 um 81.9 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 118, Parent ID = 117 +* G4Track Information: Particle = gamma, Track ID = 104, Parent ID = 102 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 2.73 mm 24.4 um -2.42 m 682 keV 0 eV 0 fm 0 fm Target initStep + 1 5.08 mm 2.3 mm -2.42 m 0 eV 88 keV 3.27 mm 3.27 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 104 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 5.08 mm 2.3 mm -2.42 m 594 keV 0 eV 0 fm 0 fm Target initStep + 1 5.11 mm 2.32 mm -2.42 m 0 eV 594 keV 383 um 383 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 102 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.24 mm -267 um -2.43 m 689 keV 0 eV 0 fm 0 fm Target initStep + 1 -608 um 2.59 mm -2.42 m 0 eV 88 keV 9.34 mm 9.34 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 103 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -608 um 2.59 mm -2.42 m 601 keV 0 eV 0 fm 0 fm Target initStep + 1 -624 um 2.6 mm -2.42 m 0 eV 601 keV 388 um 388 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.21 mm -403 um -2.43 m 11.5 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.12 mm -481 um -2.42 m 8.33 MeV 975 keV 660 um 660 um Target eBrem + 2 2.04 mm -534 um -2.42 m 6.31 MeV 675 keV 593 um 1.25 mm Target eBrem + 3 1.12 mm -704 um -2.42 m 2.24 MeV 1.57 MeV 1.45 mm 2.7 mm Target eBrem + 4 1.5 mm -910 um -2.42 m 466 keV 1.78 MeV 1.51 mm 4.22 mm Target eIoni + 5 1.49 mm -924 um -2.42 m 0 eV 466 keV 277 um 4.49 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 101 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.12 mm -704 um -2.42 m 2.5 MeV 0 eV 0 fm 0 fm Target initStep + 1 7.41 mm 699 um -2.45 m 2.5 MeV 0 eV 2.71 cm 2.71 cm Target Transportation + 2 11.8 cm 2.53 cm -2.91 m 2.5 MeV 0 eV 47.4 cm 50.1 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 101 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.04 mm -534 um -2.42 m 1.35 MeV 0 eV 0 fm 0 fm Target initStep + 1 -196 um 2.28 mm -2.41 m 631 keV 0 eV 1.64 cm 1.64 cm Target compt + 2 -5.13 mm -6.21 mm -2.4 m 631 keV 0 eV 1.29 cm 2.92 cm Target Transportation + 3 -1.4 m -2.4 m -5.8 cm 631 keV 0 eV 3.63 m 3.66 m Tracker Transportation + 4 -1.69 m -2.91 m 44.1 cm 631 keV 0 eV 77.3 cm 4.43 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 116, Parent ID = 114 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -196 um 2.28 mm -2.41 m 717 keV 0 eV 0 fm 0 fm Target initStep + 1 -194 um 2.3 mm -2.41 m 0 eV 717 keV 487 um 487 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 113, Parent ID = 101 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.12 mm -481 um -2.42 m 2.16 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.09 mm -1.85 mm -2.41 m 0 eV 0 eV 1.56 cm 1.56 cm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 118, Parent ID = 113 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.09 mm -1.85 mm -2.41 m 703 keV 0 eV 0 fm 0 fm Target initStep + 1 6.13 mm -1.87 mm -2.41 m 0 eV 192 keV 72.5 um 72.5 um Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 118 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.13 mm -1.87 mm -2.41 m 910 keV 0 eV 0 fm 0 fm Target initStep + 1 6.71 mm -719 um -2.41 m 277 keV 0 eV 1.9 mm 1.9 mm Target compt + 2 7.04 mm -686 um -2.41 m 0 eV 88 keV 484 um 2.38 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 122, Parent ID = 120 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 7.04 mm -686 um -2.41 m 189 keV 0 eV 0 fm 0 fm Target initStep + 1 7.04 mm -690 um -2.41 m 0 eV 189 keV 75.2 um 75.2 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 121, Parent ID = 120 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.71 mm -719 um -2.41 m 633 keV 0 eV 0 fm 0 fm Target initStep + 1 6.71 mm -703 um -2.41 m 0 eV 633 keV 416 um 416 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 119, Parent ID = 118 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.13 mm -1.87 mm -2.41 m 623 keV 0 eV 0 fm 0 fm Target initStep + 1 6.93 mm -2.58 mm -2.41 m 0 eV 88 keV 1.11 mm 1.11 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 119 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.93 mm -2.58 mm -2.41 m 535 keV 0 eV 0 fm 0 fm Target initStep + 1 6.95 mm -2.59 mm -2.41 m 0 eV 535 keV 334 um 334 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 113 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.09 mm -1.85 mm -2.41 m 430 keV 0 eV 0 fm 0 fm Target initStep + 1 6.09 mm -1.84 mm -2.41 m 0 eV 430 keV 249 um 249 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -531 um 12.8 um -2.44 m 12.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.66 mm -811 um -2.42 m 0 eV 0 eV 2.19 cm 2.19 cm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 125, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.66 mm -811 um -2.42 m 5.81 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.74 mm -1.24 mm -2.42 m 3.62 MeV 1.07 MeV 892 um 892 um Target eBrem + 2 2.54 mm -1.21 mm -2.42 m 2.01 MeV 728 keV 606 um 1.5 mm Target eBrem + 3 2.19 mm -1.19 mm -2.42 m 416 keV 1.59 MeV 1.43 mm 2.93 mm Target eIoni + 4 2.21 mm -1.19 mm -2.42 m 0 eV 416 keV 235 um 3.17 mm Target eIoni + 5 2.21 mm -1.19 mm -2.42 m 0 eV 0 eV 0 fm 3.17 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 129, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.21 mm -1.19 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 4.27 mm 6.23 mm -2.42 m 0 eV 88 keV 7.72 mm 7.72 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 129 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.27 mm 6.23 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 4.28 mm 6.24 mm -2.42 m 0 eV 423 keV 243 um 243 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 128, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.21 mm -1.19 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 765 um -6.37 mm -2.42 m 0 eV 88 keV 5.38 mm 5.38 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 128 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 765 um -6.37 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 769 um -6.38 mm -2.42 m 0 eV 423 keV 243 um 243 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 127, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.54 mm -1.21 mm -2.42 m 887 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.61 mm 2.49 cm -2.43 m 216 keV 0 eV 2.88 cm 2.88 cm Target compt + 2 -7.17 mm 2.4 cm -2.43 m 0 eV 88 keV 1.12 mm 2.99 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 127 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.17 mm 2.4 cm -2.43 m 128 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.17 mm 2.4 cm -2.43 m 0 eV 128 keV 41.2 um 41.2 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 127 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.61 mm 2.49 cm -2.43 m 670 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.62 mm 2.49 cm -2.43 m 639 keV 31.5 keV 31.3 um 31.3 um Target msc + 2 -7.63 mm 2.49 cm -2.43 m 625 keV 13.3 keV 20.5 um 51.8 um Target msc + 3 -7.62 mm 2.49 cm -2.43 m 605 keV 20.7 keV 17.9 um 69.7 um Target msc + 4 -7.61 mm 2.49 cm -2.43 m 601 keV 4.15 keV 17.9 um 87.6 um Target msc + 5 -7.6 mm 2.49 cm -2.43 m 580 keV 20.1 keV 17.9 um 106 um Target msc + 6 -7.59 mm 2.49 cm -2.43 m 559 keV 21.4 keV 17.9 um 123 um Target msc + 7 -7.58 mm 2.49 cm -2.43 m 539 keV 20.1 keV 17.9 um 141 um Target msc + 8 -7.58 mm 2.49 cm -2.43 m 522 keV 17 keV 17.9 um 159 um Target msc + 9 -7.58 mm 2.49 cm -2.43 m 507 keV 14.6 keV 17.9 um 177 um Target msc + 10 -7.57 mm 2.49 cm -2.43 m 490 keV 17.9 keV 17.9 um 195 um Target msc + 11 -7.56 mm 2.49 cm -2.43 m 470 keV 19.2 keV 17.9 um 213 um Target msc + 12 -7.56 mm 2.49 cm -2.43 m 449 keV 21.1 keV 17.9 um 231 um Target msc + 13 -7.56 mm 2.49 cm -2.43 m 440 keV 9.17 keV 17.9 um 249 um Target msc + 14 -7.57 mm 2.49 cm -2.43 m 419 keV 20.6 keV 17.9 um 267 um Target msc + 15 -7.57 mm 2.49 cm -2.43 m 382 keV 37.9 keV 17.9 um 284 um Target msc + 16 -7.57 mm 2.5 cm -2.43 m 365 keV 17 keV 17.9 um 302 um Target msc + 17 -7.55 mm 2.5 cm -2.43 m 349 keV 15.8 keV 17.9 um 320 um Target msc + 18 -7.55 mm 2.49 cm -2.43 m 337 keV 12 keV 17.9 um 338 um Target msc + 19 -7.56 mm 2.49 cm -2.43 m 312 keV 24.5 keV 17.9 um 356 um Target msc + 20 -7.57 mm 2.49 cm -2.43 m 255 keV 57.6 keV 20.6 um 377 um Target msc + 21 -7.58 mm 2.49 cm -2.43 m 242 keV 12.3 keV 17.9 um 395 um Target msc + 22 -7.58 mm 2.49 cm -2.43 m 219 keV 23.6 keV 17.9 um 413 um Target msc + 23 -7.59 mm 2.49 cm -2.43 m 157 keV 61.8 keV 17.9 um 430 um Target msc + 24 -7.58 mm 2.49 cm -2.43 m 128 keV 29.5 keV 17.9 um 448 um Target msc + 25 -7.59 mm 2.49 cm -2.43 m 86.7 keV 40.9 keV 17.9 um 466 um Target msc + 26 -7.59 mm 2.49 cm -2.43 m 0 eV 86.7 keV 21.9 um 488 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 126, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.74 mm -1.24 mm -2.42 m 1.12 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.94 mm -1.27 mm -2.42 m 894 keV 0 eV 547 um 547 um Target compt + 2 1.12 cm 5.83 mm -2.41 m 0 eV 88 keV 1.79 cm 1.85 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 126 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.12 cm 5.83 mm -2.41 m 806 keV 0 eV 0 fm 0 fm Target initStep + 1 1.12 cm 5.85 mm -2.41 m 0 eV 806 keV 564 um 564 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 126 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.94 mm -1.27 mm -2.42 m 230 keV 0 eV 0 fm 0 fm Target initStep + 1 2.94 mm -1.28 mm -2.42 m 0 eV 230 keV 101 um 101 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 124, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.66 mm -811 um -2.42 m 5.53 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.68 mm -815 um -2.42 m 4.82 MeV 47 keV 61.6 um 61.6 um Target eBrem + 2 2.33 mm -381 um -2.42 m 2.19 MeV 1.02 MeV 1.07 mm 1.13 mm Target eBrem + 3 2.29 mm -516 um -2.42 m 911 keV 963 keV 858 um 1.99 mm Target eBrem + 4 2.34 mm -521 um -2.42 m 0 eV 911 keV 654 um 2.65 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 138, Parent ID = 124 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.29 mm -516 um -2.42 m 319 keV 0 eV 0 fm 0 fm Target initStep + 1 4.49 mm 1.2 mm -2.42 m 0 eV 88 keV 2.95 mm 2.95 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 139, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.49 mm 1.2 mm -2.42 m 231 keV 0 eV 0 fm 0 fm Target initStep + 1 4.49 mm 1.21 mm -2.42 m 0 eV 231 keV 102 um 102 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 137, Parent ID = 124 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.33 mm -381 um -2.42 m 1.6 MeV 0 eV 0 fm 0 fm Target initStep + 1 531 um -1.44 mm -2.42 m 258 keV 0 eV 2.18 mm 2.18 mm Target compt + 2 1.26 mm -1.71 mm -2.42 m 183 keV 0 eV 816 um 2.99 mm Target compt + 3 654 um -3.2 mm -2.42 m 0 eV 88 keV 2.09 mm 5.08 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 137 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 654 um -3.2 mm -2.42 m 95 keV 0 eV 0 fm 0 fm Target initStep + 1 654 um -3.2 mm -2.42 m 0 eV 95 keV 25.4 um 25.4 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 137 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.26 mm -1.71 mm -2.42 m 75.4 keV 0 eV 0 fm 0 fm Target initStep + 1 1.26 mm -1.71 mm -2.42 m 0 eV 75.4 keV 17.5 um 17.5 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 140, Parent ID = 137 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 531 um -1.44 mm -2.42 m 1.34 MeV 0 eV 0 fm 0 fm Target initStep + 1 454 um -1.47 mm -2.42 m 0 eV 1.34 MeV 1.03 mm 1.03 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 136, Parent ID = 124 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.68 mm -815 um -2.42 m 667 keV 0 eV 0 fm 0 fm Target initStep + 1 3.25 mm -965 um -2.42 m 554 keV 0 eV 2.97 mm 2.97 mm Target compt + 2 1.01 cm -7.94 mm -2.41 m 0 eV 88 keV 1.46 cm 1.76 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 136 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.01 cm -7.94 mm -2.41 m 466 keV 0 eV 0 fm 0 fm Target initStep + 1 1.01 cm -7.94 mm -2.41 m 0 eV 466 keV 278 um 278 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 136 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.25 mm -965 um -2.42 m 113 keV 0 eV 0 fm 0 fm Target initStep + 1 3.25 mm -963 um -2.42 m 0 eV 113 keV 33.7 um 33.7 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -549 um 18 um -2.44 m 1.62 MeV 0 eV 0 fm 0 fm Target initStep + 1 -95.6 um -60.5 um -2.44 m 1.29 MeV 0 eV 4.2 mm 4.2 mm Target compt + 2 820 um -9.47 mm -2.42 m 1.12 MeV 0 eV 2.34 cm 2.76 cm Target compt + 3 1.1 mm -2.5 cm -2.4 m 1.12 MeV 0 eV 2.25 cm 5 cm Target Transportation + 4 1.15 mm -2.79 cm -2.4 m 1.12 MeV 0 eV 4.13 mm 5.42 cm World Transportation + 5 4.36 cm -2.4 m 7.78 cm 1.12 MeV 0 eV 3.43 m 3.48 m Tracker Transportation + 6 5.27 cm -2.91 m 61.1 cm 1.12 MeV 0 eV 73.8 cm 4.22 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 120, Parent ID = 9 +* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 9 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 820 um -9.47 mm -2.42 m 172 keV 0 eV 0 fm 0 fm Target initStep + 1 820 um -9.47 mm -2.42 m 0 eV 172 keV 65 um 65 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 119, Parent ID = 9 +* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 9 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -95.6 um -60.5 um -2.44 m 324 keV 0 eV 0 fm 0 fm Target initStep + 1 -93.5 um -52.3 um -2.44 m 0 eV 324 keV 167 um 167 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -564 um -9.21 um -2.45 m 25.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -562 um -6.07 um -2.45 m 0 eV 0 eV 130 um 130 um Target conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 122, Parent ID = 8 +* G4Track Information: Particle = e+, Track ID = 148, Parent ID = 8 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -562 um -6.07 um -2.45 m 5.77 MeV 0 eV 0 fm 0 fm Target initStep + 1 -544 um 2.58 um -2.45 m 4.77 MeV 82.9 keV 83.3 um 83.3 um Target eBrem + 2 -543 um 4.74 um -2.45 m 4.37 MeV 63.9 keV 11.7 um 95 um Target eBrem + 3 -543 um 57.3 um -2.45 m 3.65 MeV 147 keV 132 um 227 um Target eBrem + 4 -149 um 536 um -2.45 m 1.58 MeV 865 keV 826 um 1.05 mm Target eBrem + 5 57.9 um 565 um -2.44 m 207 keV 1.38 MeV 1.21 mm 2.27 mm Target eIoni + 6 50.9 um 566 um -2.44 m 0 eV 207 keV 82.8 um 2.35 mm Target eIoni + 7 50.9 um 566 um -2.44 m 0 eV 0 eV 0 fm 2.35 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 128, Parent ID = 122 +* G4Track Information: Particle = gamma, Track ID = 154, Parent ID = 148 ********************************************************************************************************* 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 + 0 50.9 um 566 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.33 mm 45.5 um -2.45 m 414 keV 0 eV 5.07 mm 5.07 mm Target compt + 2 -1.21 mm 93.3 um -2.45 m 414 keV 0 eV 337 um 5.41 mm Target Transportation + 3 18.3 cm 7.13 cm -2.91 m 414 keV 0 eV 50 cm 50.6 cm OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 128 +* G4Track Information: Particle = e-, Track ID = 155, Parent ID = 154 ********************************************************************************************************* 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 + 0 -1.33 mm 45.5 um -2.45 m 97.4 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.33 mm 44.8 um -2.45 m 0 eV 97.4 keV 26.5 um 26.5 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 129, Parent ID = 128 +* G4Track Information: Particle = gamma, Track ID = 153, Parent ID = 148 ********************************************************************************************************* 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 + 0 50.9 um 566 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 1.62 mm 1.16 mm -2.44 m 0 eV 88 keV 5.76 mm 5.76 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 127, Parent ID = 122 +* G4Track Information: Particle = e-, Track ID = 156, Parent ID = 153 ********************************************************************************************************* 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 -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 = 133, Parent ID = 126 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 -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 -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 = 139, Parent ID = 124 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 141, Parent ID = 139 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 142, Parent ID = 141 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = gamma, Track ID = 140, Parent ID = 139 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 144, Parent ID = 140 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 1.62 mm 1.16 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 1.63 mm 1.15 mm -2.44 m 0 eV 423 keV 243 um 243 um 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 + 0 -149 um 536 um -2.45 m 1.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 756 um 915 um -2.45 m 760 keV 0 eV 1.01 mm 1.01 mm Target compt + 2 9.54 mm 1.25 cm -2.44 m 307 keV 0 eV 1.51 cm 1.61 cm Target compt + 3 9.15 mm 1.18 cm -2.44 m 0 eV 88 keV 3.25 mm 1.93 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 153, Parent ID = 152 +* G4Track Information: Particle = e-, Track ID = 159, 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 + 0 9.15 mm 1.18 cm -2.44 m 219 keV 0 eV 0 fm 0 fm Target initStep + 1 9.15 mm 1.18 cm -2.44 m 0 eV 219 keV 94.4 um 94.4 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 158, Parent ID = 152 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 9.54 mm 1.25 cm -2.44 m 452 keV 0 eV 0 fm 0 fm Target initStep + 1 9.55 mm 1.25 cm -2.44 m 0 eV 452 keV 266 um 266 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 157, Parent ID = 152 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 756 um 915 um -2.45 m 439 keV 0 eV 0 fm 0 fm Target initStep + 1 770 um 912 um -2.45 m 0 eV 439 keV 256 um 256 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 + 0 -543 um 57.3 um -2.45 m 579 keV 0 eV 0 fm 0 fm Target initStep + 1 3.29 mm 1.7 mm -2.44 m 0 eV 88 keV 4.68 mm 4.68 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 154, Parent ID = 151 +* G4Track Information: Particle = e-, Track ID = 160, 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 + 0 3.29 mm 1.7 mm -2.44 m 491 keV 0 eV 0 fm 0 fm Target initStep + 1 3.29 mm 1.71 mm -2.44 m 0 eV 491 keV 298 um 298 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 7 +* G4Track Information: Particle = gamma, Track ID = 150, Parent ID = 148 ********************************************************************************************************* 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 + 0 -543 um 4.74 um -2.45 m 334 keV 0 eV 0 fm 0 fm Target initStep + 1 -797 um 786 um -2.44 m 0 eV 88 keV 8.14 mm 8.14 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 161, Parent ID = 150 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -797 um 786 um -2.44 m 246 keV 0 eV 0 fm 0 fm Target initStep + 1 -799 um 787 um -2.44 m 0 eV 246 keV 112 um 112 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 149, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -544 um 2.58 um -2.45 m 917 keV 0 eV 0 fm 0 fm Target initStep + 1 240 um 841 um -2.44 m 0 eV 88 keV 6.1 mm 6.1 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 162, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 240 um 841 um -2.44 m 829 keV 0 eV 0 fm 0 fm Target initStep + 1 230 um 864 um -2.44 m 0 eV 829 keV 584 um 584 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -562 um -6.07 um -2.45 m 18.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.05 mm -81.5 um -2.44 m 13.1 MeV 1.95 MeV 1.63 mm 1.63 mm Target eBrem + 2 -1.48 mm 12.4 um -2.44 m 12.1 MeV 694 keV 619 um 2.25 mm Target eBrem + 3 -1.89 mm 161 um -2.44 m 10.1 MeV 937 keV 829 um 3.08 mm Target eBrem + 4 -2.21 mm 273 um -2.44 m 9.05 MeV 485 keV 463 um 3.54 mm Target eBrem + 5 -2.49 mm 1.51 mm -2.44 m 6.77 MeV 2.27 MeV 1.74 mm 5.28 mm Target msc + 6 -2.32 mm 1.68 mm -2.44 m 6.03 MeV 313 keV 255 um 5.54 mm Target eBrem + 7 -2.13 mm 2.2 mm -2.44 m 4.99 MeV 681 keV 642 um 6.18 mm Target eBrem + 8 -2.23 mm 2.66 mm -2.44 m 2.64 MeV 1.75 MeV 1.35 mm 7.53 mm Target eBrem + 9 -2.61 mm 2.66 mm -2.44 m 1.11 MeV 598 keV 605 um 8.13 mm Target eBrem + 10 -2.65 mm 2.63 mm -2.44 m 559 keV 33.4 keV 52.7 um 8.19 mm Target eBrem + 11 -2.67 mm 2.63 mm -2.44 m 0 eV 559 keV 354 um 8.54 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 171, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.65 mm 2.63 mm -2.44 m 522 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.03 cm 893 um -2.44 m 185 keV 0 eV 7.84 mm 7.84 mm Target compt + 2 -1.02 cm 876 um -2.44 m 0 eV 88 keV 168 um 8.01 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 173, Parent ID = 171 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.02 cm 876 um -2.44 m 96.8 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.01 cm 875 um -2.44 m 0 eV 96.8 keV 26.2 um 26.2 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 172, Parent ID = 171 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.03 cm 893 um -2.44 m 337 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.03 cm 891 um -2.44 m 0 eV 337 keV 177 um 177 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 170, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.61 mm 2.66 mm -2.44 m 930 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.73 mm 2.02 mm -2.44 m 674 keV 0 eV 693 um 693 um Target compt + 2 -4.68 mm -2.33 mm -2.44 m 283 keV 0 eV 4.92 mm 5.62 mm Target compt + 3 -7.96 mm 660 um -2.44 m 0 eV 88 keV 6.11 mm 1.17 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 176, Parent ID = 170 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.96 mm 660 um -2.44 m 195 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.96 mm 661 um -2.44 m 0 eV 195 keV 78.8 um 78.8 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 175, Parent ID = 170 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.68 mm -2.33 mm -2.44 m 392 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.69 mm -2.34 mm -2.44 m 0 eV 392 keV 219 um 219 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 174, Parent ID = 170 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.73 mm 2.02 mm -2.44 m 256 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.72 mm 2.02 mm -2.44 m 0 eV 256 keV 119 um 119 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 169, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.23 mm 2.66 mm -2.44 m 592 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.34 mm 3.91 mm -2.44 m 348 keV 0 eV 3.13 mm 3.13 mm Target compt + 2 -4.34 mm 3.91 mm -2.44 m 0 eV 88 keV 15.1 nm 3.13 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 178, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.34 mm 3.91 mm -2.44 m 260 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.34 mm 3.92 mm -2.44 m 0 eV 260 keV 121 um 121 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 177, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.34 mm 3.91 mm -2.44 m 245 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.35 mm 3.91 mm -2.44 m 0 eV 245 keV 111 um 111 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 168, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.13 mm 2.2 mm -2.44 m 362 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.38 mm 2.64 mm -2.44 m 0 eV 88 keV 515 um 515 um Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 179, Parent ID = 168 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.38 mm 2.64 mm -2.44 m 274 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.39 mm 2.65 mm -2.44 m 0 eV 274 keV 131 um 131 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 167, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.32 mm 1.68 mm -2.44 m 425 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.25 mm 1.75 mm -2.44 m 0 eV 88 keV 93.3 um 93.3 um Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 180, Parent ID = 167 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.25 mm 1.75 mm -2.44 m 337 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.26 mm 1.75 mm -2.44 m 0 eV 337 keV 177 um 177 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 166, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.21 mm 273 um -2.44 m 582 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.77 mm 5.04 mm -2.43 m 0 eV 88 keV 1.12 cm 1.12 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 166 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.77 mm 5.04 mm -2.43 m 494 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.77 mm 5.05 mm -2.43 m 0 eV 494 keV 301 um 301 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 165, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.89 mm 161 um -2.44 m 1 MeV 0 eV 0 fm 0 fm Target initStep + 1 -3.22 mm 1.17 mm -2.44 m 919 keV 0 eV 2.8 mm 2.8 mm Target compt + 2 -4.9 mm 1.83 mm -2.44 m 407 keV 0 eV 2.36 mm 5.16 mm Target compt + 3 -3.76 mm 3.16 mm -2.44 m 0 eV 88 keV 2.56 mm 7.72 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 184, Parent ID = 165 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.76 mm 3.16 mm -2.44 m 319 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.76 mm 3.16 mm -2.44 m 0 eV 319 keV 163 um 163 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 183, Parent ID = 165 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.9 mm 1.83 mm -2.44 m 512 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.92 mm 1.83 mm -2.44 m 0 eV 512 keV 315 um 315 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 182, Parent ID = 165 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.22 mm 1.17 mm -2.44 m 81.6 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.21 mm 1.18 mm -2.44 m 0 eV 81.6 keV 19.9 um 19.9 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 164, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.48 mm 12.4 um -2.44 m 389 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.97 mm -136 um -2.44 m 211 keV 0 eV 2.08 mm 2.08 mm Target compt + 2 -3.02 mm -289 um -2.44 m 0 eV 88 keV 187 um 2.27 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 186, Parent ID = 164 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.02 mm -289 um -2.44 m 123 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.02 mm -287 um -2.44 m 0 eV 123 keV 38.7 um 38.7 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 185, Parent ID = 164 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.97 mm -136 um -2.44 m 177 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.97 mm -135 um -2.44 m 0 eV 177 keV 68.2 um 68.2 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 163, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.05 mm -81.5 um -2.44 m 3.83 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.18 cm 5.84 mm -2.43 m 0 eV 0 eV 1.94 cm 1.94 cm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 188, Parent ID = 163 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.18 cm 5.84 mm -2.43 m 2.51 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.15 cm 6.03 mm -2.43 m 762 keV 1.75 MeV 1.62 mm 1.62 mm Target eIoni + 2 -1.14 cm 6.07 mm -2.43 m 0 eV 762 keV 530 um 2.15 mm Target eIoni + 3 -1.14 cm 6.07 mm -2.43 m 0 eV 0 eV 0 fm 2.15 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 190, Parent ID = 188 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.14 cm 6.07 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.01 cm 6.5 mm -2.43 m 0 eV 88 keV 1.38 mm 1.38 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 191, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.01 cm 6.5 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.01 cm 6.5 mm -2.43 m 0 eV 423 keV 243 um 243 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 189, Parent ID = 188 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.14 cm 6.07 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.39 cm 5.26 mm -2.43 m 0 eV 88 keV 2.61 mm 2.61 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 192, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.39 cm 5.26 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.39 cm 5.25 mm -2.43 m 0 eV 423 keV 243 um 243 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 187, Parent ID = 163 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.18 cm 5.84 mm -2.43 m 298 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.18 cm 5.84 mm -2.43 m 0 eV 298 keV 148 um 148 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -587 um -27.6 um -2.45 m 3.23 MeV 0 eV 0 fm 0 fm Target initStep + 1 -433 um 25.1 um -2.44 m 2.7 MeV 0 eV 3.2 mm 3.2 mm Target compt + 2 -4.26 mm -1.15 mm -2.42 m 340 keV 0 eV 2.05 cm 2.37 cm Target compt + 3 -5.23 mm -2.73 mm -2.42 m 0 eV 88 keV 2.07 mm 2.57 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 195, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.23 mm -2.73 mm -2.42 m 252 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.23 mm -2.73 mm -2.42 m 0 eV 252 keV 116 um 116 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 194, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.26 mm -1.15 mm -2.42 m 2.36 MeV 0 eV 0 fm 0 fm Target initStep + 1 -4.24 mm -1.19 mm -2.42 m 1.29 MeV 104 keV 123 um 123 um Target eBrem + 2 -4.16 mm -1.18 mm -2.42 m 0 eV 1.29 MeV 982 um 1.11 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 196, Parent ID = 194 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.24 mm -1.19 mm -2.42 m 970 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.02 mm -205 um -2.42 m 415 keV 0 eV 3.8 mm 3.8 mm Target compt + 2 -2.3 mm 1.47 mm -2.42 m 0 eV 88 keV 5.12 mm 8.93 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 198, Parent ID = 196 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.3 mm 1.47 mm -2.42 m 327 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.31 mm 1.47 mm -2.42 m 0 eV 327 keV 170 um 170 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 197, Parent ID = 196 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.02 mm -205 um -2.42 m 554 keV 0 eV 0 fm 0 fm Target initStep + 1 -996 um -225 um -2.42 m 169 keV 386 keV 325 um 325 um Target eBrem + 2 -992 um -223 um -2.42 m 0 eV 169 keV 63.2 um 388 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 193, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -433 um 25.1 um -2.44 m 523 keV 0 eV 0 fm 0 fm Target initStep + 1 -416 um 30.3 um -2.44 m 0 eV 523 keV 324 um 324 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -688 um -37 um -2.45 m 6.09 MeV 0 eV 0 fm 0 fm Target initStep + 1 -592 um -54.8 um -2.43 m 1.62 MeV 0 eV 1.83 cm 1.83 cm Target compt + 2 261 um -2.01 mm -2.43 m 420 keV 0 eV 3.32 mm 2.16 cm Target compt + 3 -3.83 mm 242 um -2.42 m 213 keV 0 eV 6.06 mm 2.77 cm Target compt + 4 -3.14 mm 202 um -2.42 m 0 eV 88 keV 863 um 2.85 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 156, Parent ID = 6 +* G4Track Information: Particle = e-, Track ID = 202, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -3.14 mm 202 um -2.42 m 125 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.14 mm 201 um -2.42 m 0 eV 125 keV 39.5 um 39.5 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 158, Parent ID = 156 +* G4Track Information: Particle = e-, Track ID = 201, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -3.83 mm 242 um -2.42 m 206 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.84 mm 243 um -2.42 m 0 eV 206 keV 86.1 um 86.1 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 159, Parent ID = 158 +* G4Track Information: Particle = e-, Track ID = 200, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 261 um -2.01 mm -2.43 m 1.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 293 um -2.06 mm -2.43 m 0 eV 1.2 MeV 907 um 907 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 157, Parent ID = 156 +* G4Track Information: Particle = e-, Track ID = 199, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = e-, Track ID = 160, Parent ID = 157 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 = 155, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -592 um -54.8 um -2.43 m 4.47 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.48 mm -167 um -2.43 m 1.39 MeV 3.08 MeV 2.09 mm 2.09 mm Target eIoni + 2 -1.48 mm -256 um -2.43 m 0 eV 1.39 MeV 1.07 mm 3.16 mm Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -692 um -40.6 um -2.45 m 36.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 -450 um 415 um -2.43 m 0 eV 0 eV 1.64 cm 1.64 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 162, Parent ID = 5 +* G4Track Information: Particle = e+, Track ID = 204, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -450 um 415 um -2.43 m 2.62 MeV 0 eV 0 fm 0 fm Target initStep + 1 -888 um 170 um -2.43 m 1.22 MeV 1.02 MeV 995 um 995 um Target eBrem + 2 -982 um 229 um -2.43 m 0 eV 1.22 MeV 931 um 1.93 mm Target eIoni + 3 -982 um 229 um -2.43 m 0 eV 0 eV 0 fm 1.93 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 165, Parent ID = 162 +* G4Track Information: Particle = gamma, Track ID = 207, Parent ID = 204 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -982 um 229 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.24 cm 1.21 cm -2.43 m 390 keV 0 eV 1.67 cm 1.67 cm Target compt + 2 -1.25 cm 1.21 cm -2.43 m 298 keV 0 eV 168 um 1.68 cm Target compt + 3 -1.36 cm 1.04 cm -2.43 m 0 eV 88 keV 2.29 mm 1.91 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 167, Parent ID = 165 +* G4Track Information: Particle = e-, Track ID = 210, Parent ID = 207 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -1.36 cm 1.04 cm -2.43 m 210 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.36 cm 1.04 cm -2.43 m 0 eV 210 keV 88.3 um 88.3 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 166, Parent ID = 165 +* G4Track Information: Particle = e-, Track ID = 209, Parent ID = 207 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -1.25 cm 1.21 cm -2.43 m 92 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.25 cm 1.21 cm -2.43 m 0 eV 92 keV 24.2 um 24.2 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 164, Parent ID = 162 +* G4Track Information: Particle = e-, Track ID = 208, Parent ID = 207 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -1.24 cm 1.21 cm -2.43 m 121 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.24 cm 1.21 cm -2.43 m 0 eV 121 keV 37.5 um 37.5 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 169, Parent ID = 164 +* G4Track Information: Particle = gamma, Track ID = 206, Parent ID = 204 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -982 um 229 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 4.43 mm -5.37 mm -2.43 m 321 keV 0 eV 7.89 mm 7.89 mm Target compt + 2 4.91 mm -6.15 mm -2.43 m 150 keV 0 eV 1.62 mm 9.51 mm Target compt + 3 4.87 mm -6.15 mm -2.43 m 0 eV 88 keV 51.9 um 9.56 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 168, Parent ID = 164 +* G4Track Information: Particle = e-, Track ID = 213, Parent ID = 206 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 4.87 mm -6.15 mm -2.43 m 61.5 keV 0 eV 0 fm 0 fm Target initStep + 1 4.87 mm -6.14 mm -2.43 m 0 eV 61.5 keV 12.6 um 12.6 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 163, Parent ID = 162 +* G4Track Information: Particle = e-, Track ID = 212, Parent ID = 206 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 4.91 mm -6.15 mm -2.43 m 172 keV 0 eV 0 fm 0 fm Target initStep + 1 4.91 mm -6.15 mm -2.43 m 0 eV 172 keV 65 um 65 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 171, Parent ID = 163 +* G4Track Information: Particle = e-, Track ID = 211, Parent ID = 206 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 4.43 mm -5.37 mm -2.43 m 190 keV 0 eV 0 fm 0 fm Target initStep + 1 4.43 mm -5.38 mm -2.43 m 0 eV 190 keV 75.6 um 75.6 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 170, Parent ID = 163 +* G4Track Information: Particle = gamma, Track ID = 205, Parent ID = 204 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -888 um 170 um -2.43 m 382 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.71 mm 2.4 mm -2.43 m 0 eV 88 keV 4.43 mm 4.43 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 172, Parent ID = 170 +* G4Track Information: Particle = e-, Track ID = 214, Parent ID = 205 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -4.71 mm 2.4 mm -2.43 m 294 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.72 mm 2.41 mm -2.43 m 0 eV 294 keV 146 um 146 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 173, Parent ID = 172 +* G4Track Information: Particle = e-, Track ID = 203, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -450 um 415 um -2.43 m 32.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -383 um 674 um -2.43 m 16.5 MeV 2.02 MeV 1.4 mm 1.4 mm Target eBrem + 2 -31.3 um 388 um -2.43 m 12.1 MeV 1.29 MeV 1.04 mm 2.44 mm Target eBrem + 3 -201 um -29.8 um -2.43 m 9.52 MeV 959 keV 710 um 3.15 mm Target eBrem + 4 -561 um -361 um -2.43 m 8.04 MeV 674 keV 590 um 3.74 mm Target eBrem + 5 -1.17 mm -847 um -2.43 m 5.26 MeV 2.03 MeV 874 um 4.61 mm Target eBrem + 6 -2.19 mm -1.31 mm -2.43 m 1.88 MeV 3.39 MeV 2.25 mm 6.86 mm Target eIoni + 7 -2.17 mm -1.25 mm -2.43 m 0 eV 1.88 MeV 1.36 mm 8.22 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 161, Parent ID = 5 +* G4Track Information: Particle = gamma, Track ID = 219, Parent ID = 203 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -1.17 mm -847 um -2.43 m 748 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.29 mm -2.31 mm -2.43 m 454 keV 0 eV 1.5 mm 1.5 mm Target compt + 2 -4.09 mm -5.24 mm -2.44 m 366 keV 0 eV 7.79 mm 9.28 mm Target compt + 3 -3.37 mm -5.62 mm -2.44 m 0 eV 88 keV 2.08 mm 1.14 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 179, Parent ID = 161 +* G4Track Information: Particle = e-, Track ID = 222, Parent ID = 219 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -3.37 mm -5.62 mm -2.44 m 278 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.37 mm -5.62 mm -2.44 m 0 eV 278 keV 134 um 134 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 178, Parent ID = 161 +* G4Track Information: Particle = e-, Track ID = 221, Parent ID = 219 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -4.09 mm -5.24 mm -2.44 m 87.3 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.09 mm -5.24 mm -2.44 m 0 eV 87.3 keV 22.2 um 22.2 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 183, Parent ID = 178 +* G4Track Information: Particle = e-, Track ID = 220, Parent ID = 219 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -1.29 mm -2.31 mm -2.43 m 294 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.29 mm -2.32 mm -2.43 m 0 eV 294 keV 145 um 145 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 182, Parent ID = 178 +* G4Track Information: Particle = gamma, Track ID = 218, Parent ID = 203 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -561 um -361 um -2.43 m 804 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.25 cm -1.44 cm -2.42 m 654 keV 0 eV 2.78 cm 2.78 cm Target compt + 2 -2.5 cm -1.51 cm -2.42 m 654 keV 0 eV 3.9 mm 3.17 cm Target Transportation + 3 -3.92 cm -1.88 cm -2.4 m 654 keV 0 eV 2.21 cm 5.38 cm World Transportation + 4 -2.4 m -63.8 cm 32.4 cm 654 keV 0 eV 3.66 m 3.71 m Tracker Transportation + 5 -2.91 m -77.2 cm 91.3 cm 654 keV 0 eV 79 cm 4.5 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 178 +* G4Track Information: Particle = e-, Track ID = 223, Parent ID = 218 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -2.25 cm -1.44 cm -2.42 m 150 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.25 cm -1.44 cm -2.42 m 0 eV 150 keV 52.7 um 52.7 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 180, Parent ID = 178 +* G4Track Information: Particle = gamma, Track ID = 217, Parent ID = 203 ********************************************************************************************************* 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 + 0 -201 um -29.8 um -2.43 m 1.65 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.78 mm -2.67 mm -2.43 m 348 keV 0 eV 4.44 mm 4.44 mm Target compt + 2 -3.75 mm -2.01 mm -2.43 m 0 eV 88 keV 2.28 mm 6.72 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 177, Parent ID = 161 +* G4Track Information: Particle = e-, Track ID = 225, Parent ID = 217 ********************************************************************************************************* 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 + 0 -3.75 mm -2.01 mm -2.43 m 260 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.75 mm -2.01 mm -2.43 m 0 eV 260 keV 121 um 121 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 176, Parent ID = 161 +* G4Track Information: Particle = e-, Track ID = 224, Parent ID = 217 ********************************************************************************************************* 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 + 0 -1.78 mm -2.67 mm -2.43 m 1.3 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.8 mm -2.72 mm -2.43 m 0 eV 1.3 MeV 992 um 992 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 185, Parent ID = 176 +* G4Track Information: Particle = gamma, Track ID = 216, Parent ID = 203 ********************************************************************************************************* 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 + 0 -31.3 um 388 um -2.43 m 3.05 MeV 0 eV 0 fm 0 fm Target initStep + 1 209 um -2.74 mm -2.43 m 435 keV 0 eV 5.64 mm 5.64 mm Target compt + 2 1.38 mm -2.84 mm -2.43 m 0 eV 88 keV 1.19 mm 6.82 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 187, Parent ID = 185 +* G4Track Information: Particle = e-, Track ID = 227, Parent ID = 216 ********************************************************************************************************* 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 + 0 1.38 mm -2.84 mm -2.43 m 347 keV 0 eV 0 fm 0 fm Target initStep + 1 1.38 mm -2.84 mm -2.43 m 0 eV 347 keV 184 um 184 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 189, Parent ID = 187 +* G4Track Information: Particle = e-, Track ID = 226, Parent ID = 216 ********************************************************************************************************* 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 + 0 209 um -2.74 mm -2.43 m 2.61 MeV 0 eV 0 fm 0 fm Target initStep + 1 285 um -2.53 mm -2.42 m 568 keV 1.59 MeV 993 um 993 um Target eBrem + 2 297 um -2.54 mm -2.42 m 0 eV 568 keV 362 um 1.35 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 188, Parent ID = 187 +* G4Track Information: Particle = gamma, Track ID = 228, Parent ID = 226 ********************************************************************************************************* 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 + 0 285 um -2.53 mm -2.42 m 458 keV 0 eV 0 fm 0 fm Target initStep + 1 1.01 mm -3.62 mm -2.42 m 0 eV 88 keV 1.77 mm 1.77 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 186, Parent ID = 185 +* G4Track Information: Particle = e-, Track ID = 229, Parent ID = 228 ********************************************************************************************************* 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 + 0 1.01 mm -3.62 mm -2.42 m 370 keV 0 eV 0 fm 0 fm Target initStep + 1 1.01 mm -3.63 mm -2.42 m 0 eV 370 keV 202 um 202 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 190, Parent ID = 186 +* G4Track Information: Particle = gamma, Track ID = 215, Parent ID = 203 ********************************************************************************************************* 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 + 0 -383 um 674 um -2.43 m 14.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.2 mm -17.9 um -2.42 m 0 eV 0 eV 1.05 cm 1.05 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 184, Parent ID = 176 +* G4Track Information: Particle = e+, Track ID = 231, Parent ID = 215 ********************************************************************************************************* 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 + 0 2.2 mm -17.9 um -2.42 m 4.56 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.18 mm -55.8 um -2.42 m 3.22 MeV 295 keV 202 um 202 um Target eBrem + 2 1.49 mm -451 um -2.42 m 969 keV 1.65 MeV 1.49 mm 1.7 mm Target eBrem + 3 1.47 mm -529 um -2.42 m 0 eV 969 keV 713 um 2.41 mm Target eIoni + 4 1.47 mm -529 um -2.42 m 0 eV 0 eV 0 fm 2.41 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 191, Parent ID = 184 +* G4Track Information: Particle = gamma, Track ID = 235, Parent ID = 231 ********************************************************************************************************* 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 + 0 1.47 mm -529 um -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 11.2 um 2.05 mm -2.42 m 507 keV 0 eV 4.4 mm 4.4 mm Target compt + 2 -1.67 mm 4.07 mm -2.43 m 0 eV 88 keV 4.09 mm 8.5 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 193, Parent ID = 191 +* G4Track Information: Particle = e-, Track ID = 237, Parent ID = 235 ********************************************************************************************************* 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 + 0 -1.67 mm 4.07 mm -2.43 m 419 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.67 mm 4.07 mm -2.43 m 0 eV 419 keV 240 um 240 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 192, Parent ID = 191 +* G4Track Information: Particle = e-, Track ID = 236, Parent ID = 235 ********************************************************************************************************* 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 + 0 11.2 um 2.05 mm -2.42 m 3.93 keV 0 eV 0 fm 0 fm Target initStep + 1 11.2 um 2.05 mm -2.42 m 0 eV 3.93 keV 186 nm 186 nm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 175, Parent ID = 161 +* G4Track Information: Particle = gamma, Track ID = 234, Parent ID = 231 ********************************************************************************************************* 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 + 0 1.47 mm -529 um -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 1.51 mm -594 um -2.42 m 354 keV 0 eV 112 um 112 um Target compt + 2 2.07 mm -621 um -2.42 m 0 eV 88 keV 581 um 694 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 195, Parent ID = 175 +* G4Track Information: Particle = e-, Track ID = 239, Parent ID = 234 ********************************************************************************************************* 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 + 0 2.07 mm -621 um -2.42 m 266 keV 0 eV 0 fm 0 fm Target initStep + 1 2.07 mm -620 um -2.42 m 0 eV 266 keV 125 um 125 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 197, Parent ID = 195 +* G4Track Information: Particle = e-, Track ID = 238, Parent ID = 234 ********************************************************************************************************* 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 + 0 1.51 mm -594 um -2.42 m 157 keV 0 eV 0 fm 0 fm Target initStep + 1 1.51 mm -597 um -2.42 m 0 eV 157 keV 56.7 um 56.7 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 198, Parent ID = 197 +* G4Track Information: Particle = gamma, Track ID = 233, Parent ID = 231 ********************************************************************************************************* 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 + 0 1.49 mm -451 um -2.42 m 609 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.6 mm -1.74 cm -2.42 m 0 eV 88 keV 1.91 cm 1.91 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 196, Parent ID = 195 +* G4Track Information: Particle = e-, Track ID = 240, Parent ID = 233 ********************************************************************************************************* 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 + 0 -6.6 mm -1.74 cm -2.42 m 521 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.62 mm -1.74 cm -2.42 m 260 keV 261 keV 194 um 194 um Target eBrem + 2 -6.63 mm -1.74 cm -2.42 m 0 eV 260 keV 121 um 315 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 200, Parent ID = 196 +* G4Track Information: Particle = gamma, Track ID = 232, Parent ID = 231 ********************************************************************************************************* 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 + 0 2.18 mm -55.8 um -2.42 m 1.04 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.13 mm -3.36 mm -2.42 m 927 keV 0 eV 4.09 mm 4.09 mm Target compt + 2 -108 um -9.64 mm -2.41 m 533 keV 0 eV 7.32 mm 1.14 cm Target compt + 3 -142 um -9.68 mm -2.41 m 0 eV 88 keV 249 um 1.17 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 199, Parent ID = 196 +* G4Track Information: Particle = e-, Track ID = 243, Parent ID = 232 ********************************************************************************************************* 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 + 0 -142 um -9.68 mm -2.41 m 445 keV 0 eV 0 fm 0 fm Target initStep + 1 -150 um -9.67 mm -2.41 m 0 eV 445 keV 261 um 261 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 194, Parent ID = 175 +* G4Track Information: Particle = e-, Track ID = 242, Parent ID = 232 ********************************************************************************************************* 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 + 0 -108 um -9.64 mm -2.41 m 394 keV 0 eV 0 fm 0 fm Target initStep + 1 -112 um -9.65 mm -2.41 m 0 eV 394 keV 220 um 220 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 174, Parent ID = 161 +* G4Track Information: Particle = e-, Track ID = 241, Parent ID = 232 ********************************************************************************************************* 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 + 0 2.13 mm -3.36 mm -2.42 m 112 keV 0 eV 0 fm 0 fm Target initStep + 1 2.14 mm -3.36 mm -2.42 m 0 eV 112 keV 33.2 um 33.2 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 202, Parent ID = 174 +* G4Track Information: Particle = e-, Track ID = 230, Parent ID = 215 ********************************************************************************************************* 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 + 0 2.2 mm -17.9 um -2.42 m 8.67 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.36 mm 289 um -2.42 m 4.52 MeV 4.15 MeV 832 um 832 um Target eBrem + 2 2.21 mm 480 um -2.42 m 2.02 MeV 469 keV 300 um 1.13 mm Target eBrem + 3 2.19 mm 484 um -2.42 m 1.51 MeV 68.8 keV 65.1 um 1.2 mm Target eBrem + 4 2.04 mm 548 um -2.42 m 28 keV 1.48 MeV 1.15 mm 2.35 mm Target eIoni + 5 2.04 mm 548 um -2.42 m 0 eV 28 keV 3.49 um 2.35 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 201, Parent ID = 174 +* G4Track Information: Particle = gamma, Track ID = 245, Parent ID = 230 ********************************************************************************************************* 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 + 0 2.19 mm 484 um -2.42 m 447 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.89 mm 1.83 mm -2.42 m 0 eV 88 keV 4.64 mm 4.64 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 203, Parent ID = 201 +* G4Track Information: Particle = e-, Track ID = 246, Parent ID = 245 ********************************************************************************************************* 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 + 0 -1.89 mm 1.83 mm -2.42 m 359 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.9 mm 1.84 mm -2.42 m 0 eV 359 keV 194 um 194 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 204, Parent ID = 203 +* G4Track Information: Particle = gamma, Track ID = 244, Parent ID = 230 ********************************************************************************************************* 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 + 0 2.21 mm 480 um -2.42 m 2.02 MeV 0 eV 0 fm 0 fm Target initStep + 1 -9.66 mm 4.44 mm -2.41 m 390 keV 0 eV 1.63 cm 1.63 cm Target compt + 2 -1.04 cm 5.62 mm -2.41 m 0 eV 88 keV 2.03 mm 1.83 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 248, Parent ID = 244 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.04 cm 5.62 mm -2.41 m 302 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.04 cm 5.63 mm -2.41 m 0 eV 302 keV 151 um 151 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 247, Parent ID = 244 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -9.66 mm 4.44 mm -2.41 m 1.63 MeV 0 eV 0 fm 0 fm Target initStep + 1 -9.91 mm 4.36 mm -2.41 m 345 keV 1.29 MeV 1.23 mm 1.23 mm Target eIoni + 2 -9.91 mm 4.35 mm -2.41 m 0 eV 345 keV 183 um 1.41 mm Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -694 um -43.1 um -2.45 m 701 keV 0 eV 0 fm 0 fm Target initStep + 1 -666 um 29.7 um -2.45 m 393 keV 0 eV 2.38 mm 2.38 mm Target compt + 2 -1.03 mm 1.4 mm -2.45 m 256 keV 0 eV 1.55 mm 3.93 mm Target compt + 3 210 um 3.64 mm -2.45 m 0 eV 88 keV 3.14 mm 7.07 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 207, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 251, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 210 um 3.64 mm -2.45 m 168 keV 0 eV 0 fm 0 fm Target initStep + 1 209 um 3.65 mm -2.45 m 0 eV 168 keV 62.8 um 62.8 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 206, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 250, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -1.03 mm 1.4 mm -2.45 m 137 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.03 mm 1.4 mm -2.45 m 0 eV 137 keV 45.4 um 45.4 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 205, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 249, 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 + 0 -666 um 29.7 um -2.45 m 309 keV 0 eV 0 fm 0 fm Target initStep + 1 -664 um 24.4 um -2.45 m 0 eV 309 keV 156 um 156 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -721 um -45.6 um -2.45 m 301 keV 0 eV 0 fm 0 fm Target initStep + 1 -720 um -45 um -2.45 m 0 eV 88 keV 43.1 um 43.1 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 208, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 252, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -720 um -45 um -2.45 m 213 keV 0 eV 0 fm 0 fm Target initStep + 1 -715 um -46.8 um -2.45 m 0 eV 213 keV 90.2 um 90.2 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 @@ -2163,11 +2532,10 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 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 + 1 2.1 mm 1.74 mm -2.8 m 19 keV 3.52 keV 3.39 mm 3.39 mm World eIoni + 2 3.76 mm 3.68 mm -2.8 m 9.15 keV 9.84 keV 2.87 mm 6.26 mm World eIoni + 3 4.17 mm 3.2 mm -2.8 m 4.99 keV 4.16 keV 1.57 mm 7.83 mm World eIoni + 4 4.45 mm 3.32 mm -2.8 m 0 eV 4.99 keV 683 um 8.51 mm World eIoni >>> Event 0 0 trajectories stored in this event. ### Run 1 start. @@ -2178,467 +2546,362 @@ 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 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 + 1 0 fm 0 fm -2.45 m 1e+03 GeV 110 keV 46 cm 46 cm World Transportation + 2 200 nm -106 nm -2.44 m 1e+03 GeV 16.5 MeV 1.28 cm 47.3 cm Target muPairProd + 3 2.09 um 1.42 um -2.4 m 1e+03 GeV 65.9 MeV 3.72 cm 51 cm Target Transportation + 4 11.7 um 2.72 um -2.3 m 1e+03 GeV 20.9 keV 10 cm 61 cm Tracker StepLimiter + 5 21.2 um 4.01 um -2.2 m 1e+03 GeV 34 keV 10 cm 71 cm Tracker StepLimiter + 6 30.8 um 5.3 um -2.1 m 1e+03 GeV 25.3 keV 10 cm 81 cm Tracker StepLimiter + 7 40.3 um 6.61 um -2 m 1e+03 GeV 21.5 keV 10 cm 91 cm Tracker StepLimiter + 8 49.9 um 7.9 um -1.9 m 1e+03 GeV 20.8 keV 10 cm 1.01 m Tracker StepLimiter + 9 59.5 um 9.22 um -1.8 m 1e+03 GeV 28.6 keV 10 cm 1.11 m Tracker StepLimiter + 10 69 um 10.5 um -1.7 m 1e+03 GeV 31.9 keV 10 cm 1.21 m Tracker StepLimiter + 11 78.6 um 11.8 um -1.6 m 1e+03 GeV 31.9 keV 10 cm 1.31 m Tracker StepLimiter + 12 78.6 um 11.8 um -1.6 m 1e+03 GeV0.000895 eV 3.73 nm 1.31 m Tracker Transportation + 13 97.7 um 14.4 um -1.4 m 1e+03 GeV 158 keV 20 cm 1.51 m Chamber Transportation + 14 107 um 15.7 um -1.3 m 1e+03 GeV 25.6 keV 10 cm 1.61 m Tracker StepLimiter + 15 117 um 17 um -1.2 m 1e+03 GeV 19.4 keV 10 cm 1.71 m Tracker StepLimiter + 16 127 um 18.3 um -1.1 m 1e+03 GeV 63 keV 10 cm 1.81 m Tracker StepLimiter + 17 136 um 19.6 um -1 m 1e+03 GeV 18 keV 10 cm 1.91 m Tracker StepLimiter + 18 146 um 21 um -90 cm 1e+03 GeV 23.7 keV 10 cm 2.01 m Tracker StepLimiter + 19 155 um 22.3 um -80 cm 1e+03 GeV 23.6 keV 10 cm 2.11 m Tracker StepLimiter + 20 155 um 22.3 um -80 cm 1e+03 GeV0.000676 eV 2.82 nm 2.11 m Tracker Transportation + 21 174 um 24.9 um -60 cm 1e+03 GeV 208 keV 20 cm 2.31 m Chamber Transportation + 22 184 um 26.4 um -50 cm 1e+03 GeV 21.4 keV 10 cm 2.41 m Tracker StepLimiter + 23 194 um 27.9 um -40 cm 1e+03 GeV 40.4 keV 10 cm 2.51 m Tracker StepLimiter + 24 204 um 29.4 um -30 cm 1e+03 GeV 17.2 keV 10 cm 2.61 m Tracker StepLimiter + 25 214 um 30.9 um -20 cm 1e+03 GeV 17.5 keV 10 cm 2.71 m Tracker StepLimiter + 26 223 um 32.4 um -10 cm 1e+03 GeV 33.9 keV 10 cm 2.81 m Tracker StepLimiter + 27 233 um 33.8 um -2.93 nm 1e+03 GeV 25.3 keV 10 cm 2.91 m Tracker StepLimiter + 28 233 um 33.8 um -0.00219 fm 1e+03 GeV0.000704 eV 2.93 nm 2.91 m Tracker Transportation + 29 238 um 34.5 um 4.54 cm 1e+03 GeV 36.6 keV 4.54 cm 2.96 m Chamber muIoni + 30 253 um 36.7 um 20 cm 1e+03 GeV 133 keV 15.5 cm 3.11 m Chamber Transportation + 31 262 um 38.3 um 30 cm 1e+03 GeV 24.1 keV 10 cm 3.21 m Tracker StepLimiter + 32 272 um 39.9 um 40 cm 1e+03 GeV 35.8 keV 10 cm 3.31 m Tracker StepLimiter + 33 282 um 41.5 um 50 cm 1e+03 GeV 17.5 keV 10 cm 3.41 m Tracker StepLimiter + 34 292 um 43.1 um 60 cm 1e+03 GeV 21 keV 10 cm 3.51 m Tracker StepLimiter + 35 302 um 44.7 um 70 cm 1e+03 GeV 24.5 keV 10 cm 3.61 m Tracker StepLimiter + 36 311 um 46.2 um 80 cm 1e+03 GeV 33.5 keV 10 cm 3.71 m Tracker StepLimiter + 37 311 um 46.2 um 80 cm 1e+03 GeV0.000709 eV 2.95 nm 3.71 m Tracker Transportation + 38 331 um 49.4 um 1 m 1e+03 GeV 136 keV 20 cm 3.91 m Chamber Transportation + 39 334 um 49.8 um 1.03 m 1e+03 GeV 4.53 keV 2.8 cm 3.94 m Tracker muIoni + 40 343 um 51.4 um 1.13 m 1e+03 GeV 21.9 keV 10 cm 4.04 m Tracker StepLimiter + 41 353 um 53 um 1.23 m 1e+03 GeV 21 keV 10 cm 4.14 m Tracker StepLimiter + 42 363 um 54.5 um 1.33 m 1e+03 GeV 21 keV 10 cm 4.24 m Tracker StepLimiter + 43 372 um 56.1 um 1.43 m 1e+03 GeV 21.9 keV 10 cm 4.34 m Tracker StepLimiter + 44 382 um 57.7 um 1.53 m 1e+03 GeV 16.6 keV 10 cm 4.44 m Tracker StepLimiter + 45 389 um 58.8 um 1.6 m 1e+03 GeV 14.6 keV 7.2 cm 4.51 m Tracker Transportation + 46 408 um 62 um 1.8 m 1e+03 GeV 153 keV 20 cm 4.71 m Chamber Transportation + 47 410 um 62.3 um 1.82 m 1e+03 GeV 5.22 keV 2.42 cm 4.73 m Tracker muIoni + 48 420 um 63.9 um 1.92 m 1e+03 GeV 24.4 keV 10 cm 4.83 m Tracker StepLimiter + 49 430 um 65.5 um 2.02 m 1e+03 GeV 25.4 keV 10 cm 4.93 m Tracker StepLimiter + 50 439 um 67.1 um 2.12 m 1e+03 GeV 21.5 keV 10 cm 5.03 m Tracker StepLimiter + 51 449 um 68.6 um 2.22 m 1e+03 GeV 23.2 keV 10 cm 5.13 m Tracker StepLimiter + 52 459 um 70.1 um 2.32 m 1e+03 GeV 23.6 keV 10 cm 5.23 m Tracker StepLimiter + 53 466 um 71.2 um 2.4 m 1e+03 GeV 14.3 keV 7.58 cm 5.31 m Tracker Transportation + 54 516 um 78.8 um 2.91 m 1e+03 GeV 111 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 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 + 0 410 um 62.3 um 1.82 m 52.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -2.07 mm -7.96 mm 1.83 m 46.3 keV 6.36 keV 9.98 mm 9.98 mm Tracker eIoni + 2 -7.77 mm -9.92 mm 1.83 m 41.5 keV 4.76 keV 8.25 mm 1.82 cm Tracker eIoni + 3 -1.32 cm -7.56 mm 1.84 m 36.9 keV 4.67 keV 7.08 mm 2.53 cm Tracker eIoni + 4 -1.64 cm -8.62 mm 1.84 m 30.2 keV 6.62 keV 6.03 mm 3.13 cm Tracker eIoni + 5 -1.83 cm -1.14 cm 1.84 m 26 keV 4.18 keV 4.7 mm 3.6 cm Tracker eIoni + 6 -1.85 cm -1.42 cm 1.85 m 21.4 keV 4.66 keV 3.95 mm 4 cm Tracker eIoni + 7 -1.65 cm -1.61 cm 1.85 m 17.9 keV 3.47 keV 3.22 mm 4.32 cm Tracker eIoni + 8 -1.57 cm -1.81 cm 1.85 m 14.1 keV 3.77 keV 2.72 mm 4.59 cm Tracker eIoni + 9 -1.48 cm -1.97 cm 1.85 m 10.2 keV 3.96 keV 2.23 mm 4.82 cm Tracker eIoni + 10 -1.45 cm -1.97 cm 1.84 m 3.47 keV 6.72 keV 1.72 mm 4.99 cm Tracker eIoni + 11 -1.45 cm -1.96 cm 1.84 m 0 eV 3.47 keV 374 um 5.03 cm 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 + 0 334 um 49.8 um 1.03 m 37.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.46 mm 4.74 mm 1.03 m 32 keV 5.42 keV 6.15 mm 6.15 mm Tracker eIoni + 2 3.38 mm 5.59 mm 1.04 m 28.8 keV 3.21 keV 5.03 mm 1.12 cm Tracker eIoni + 3 5.36 mm 6.92 mm 1.04 m 18.7 keV 10.1 keV 4.43 mm 1.56 cm Tracker eIoni + 4 5.6 mm 7.95 mm 1.04 m 13.8 keV 4.86 keV 2.83 mm 1.84 cm Tracker eIoni + 5 6.48 mm 9.55 mm 1.04 m 8.56 keV 5.25 keV 2.19 mm 2.06 cm Tracker eIoni + 6 6.8 mm 1.05 cm 1.04 m 2.7 keV 5.86 keV 1.48 mm 2.21 cm Tracker eIoni + 7 6.9 mm 1.06 cm 1.04 m 0 eV 2.7 keV 249 um 2.24 cm Tracker eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 238 um 34.5 um 4.54 cm 87.8 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -5.86 mm 1.05 mm 4.6 cm 75.5 keV 12.4 keV 9.55 mm 9.55 mm Chamber eIoni + 2 -2.78 mm -274 um 4.24 cm 63.6 keV 11.9 keV 7.77 mm 1.73 cm Chamber eIoni + 3 -3.81 mm 2.63 mm 4.48 cm 54.5 keV 9.04 keV 6.22 mm 2.35 cm Chamber eIoni + 4 -1.62 mm 1.32 mm 4.67 cm 44.8 keV 9.76 keV 5.16 mm 2.87 cm Chamber eIoni + 5 -3.3 mm 834 um 4.84 cm 38.5 keV 6.32 keV 4.13 mm 3.28 cm Chamber eIoni + 6 -4.42 mm -813 um 4.85 cm 27.9 keV 10.6 keV 3.53 mm 3.63 cm Chamber eIoni + 7 -5.1 mm -1.95 mm 4.82 cm 24 keV 3.93 keV 2.64 mm 3.9 cm Chamber eIoni + 8 -5.12 mm -948 um 4.78 cm 14.6 keV 9.37 keV 2.34 mm 4.13 cm Chamber eIoni + 9 -4.83 mm -504 um 4.79 cm 3.72 keV 10.9 keV 1.61 mm 4.29 cm Chamber eIoni + 10 -4.85 mm -480 um 4.8 cm 0 eV 3.72 keV 247 um 4.32 cm Chamber eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 4 +* G4Track Information: Particle = e+, Track ID = 3, Parent ID = 1 ********************************************************************************************************* 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 + 0 200 nm -106 nm -2.44 m 12.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 147 nm -235 nm -2.44 m 8.31 MeV 8.73 keV 5.54 um 5.54 um Target eBrem + 2 13.6 um 8.77 um -2.44 m 7.1 MeV 114 keV 104 um 109 um Target eBrem + 3 954 um -481 um -2.44 m 4.08 MeV 2.67 MeV 2.25 mm 2.36 mm Target eBrem + 4 1.58 mm -1.28 mm -2.44 m 894 keV 3.18 MeV 2.02 mm 4.38 mm Target eIoni + 5 1.57 mm -1.3 mm -2.44 m 479 keV 416 keV 199 um 4.58 mm Target eBrem + 6 1.57 mm -1.28 mm -2.44 m 0 eV 479 keV 287 um 4.87 mm Target eIoni + 7 1.57 mm -1.28 mm -2.44 m 0 eV 0 eV 0 fm 4.87 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 4 +* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 3 ********************************************************************************************************* 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 + 0 1.57 mm -1.28 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 3.33 mm -2.15 mm -2.44 m 0 eV 88 keV 2.06 mm 2.06 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 ********************************************************************************************************* 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 + 0 3.33 mm -2.15 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 3.33 mm -2.16 mm -2.44 m 0 eV 423 keV 243 um 243 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 3 ********************************************************************************************************* 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 + 0 1.57 mm -1.28 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.05 cm 4.67 mm -2.43 m 499 keV 0 eV 1.41 cm 1.41 cm Target compt + 2 -1.4 cm 7.57 mm -2.43 m 315 keV 0 eV 4.83 mm 1.89 cm Target compt + 3 -1.18 cm 1.23 cm -2.43 m 145 keV 0 eV 7.19 mm 2.61 cm Target compt + 4 -1.18 cm 1.09 cm -2.43 m 0 eV 88 keV 1.66 mm 2.78 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 10 ********************************************************************************************************* 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 + 0 -1.18 cm 1.09 cm -2.43 m 56.7 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.18 cm 1.09 cm -2.43 m 0 eV 56.7 keV 11 um 11 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.18 cm 1.23 cm -2.43 m 170 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.18 cm 1.23 cm -2.43 m 0 eV 170 keV 64.2 um 64.2 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.4 cm 7.57 mm -2.43 m 184 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.4 cm 7.57 mm -2.43 m 0 eV 184 keV 72.3 um 72.3 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.05 cm 4.67 mm -2.43 m 11.9 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.05 cm 4.67 mm -2.43 m 0 eV 11.9 keV 906 nm 906 nm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 954 um -481 um -2.44 m 347 keV 0 eV 0 fm 0 fm Target initStep + 1 4.55 mm -387 um -2.44 m 278 keV 0 eV 3.79 mm 3.79 mm Target compt + 2 6.07 mm -839 um -2.44 m 0 eV 88 keV 1.81 mm 5.61 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.07 mm -839 um -2.44 m 190 keV 0 eV 0 fm 0 fm Target initStep + 1 6.08 mm -839 um -2.44 m 0 eV 190 keV 75.9 um 75.9 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.55 mm -387 um -2.44 m 68.7 keV 0 eV 0 fm 0 fm Target initStep + 1 4.55 mm -387 um -2.44 m 0 eV 68.7 keV 15 um 15 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 13.6 um 8.77 um -2.44 m 1.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 477 um 7.76 mm -2.4 m 274 keV 0 eV 3.46 cm 3.46 cm Target compt + 2 3.5 mm 7.87 mm -2.4 m 0 eV 88 keV 3.36 mm 3.79 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.5 mm 7.87 mm -2.4 m 186 keV 0 eV 0 fm 0 fm Target initStep + 1 3.5 mm 7.87 mm -2.4 m 0 eV 186 keV 73.2 um 73.2 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 477 um 7.76 mm -2.4 m 824 keV 0 eV 0 fm 0 fm Target initStep + 1 468 um 7.76 mm -2.4 m 0 eV 824 keV 579 um 579 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 147 nm -235 nm -2.44 m 4.6 MeV 0 eV 0 fm 0 fm Target initStep + 1 -155 um 451 um -2.43 m 942 keV 0 eV 9.32 mm 9.32 mm Target compt + 2 2.76 mm -6.09 mm -2.42 m 256 keV 0 eV 9.03 mm 1.84 cm Target compt + 3 2.27 mm -4.53 mm -2.42 m 0 eV 88 keV 1.79 mm 2.01 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.27 mm -4.53 mm -2.42 m 168 keV 0 eV 0 fm 0 fm Target initStep + 1 2.27 mm -4.53 mm -2.42 m 0 eV 168 keV 62.5 um 62.5 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.76 mm -6.09 mm -2.42 m 686 keV 0 eV 0 fm 0 fm Target initStep + 1 2.77 mm -6.11 mm -2.42 m 0 eV 686 keV 461 um 461 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -155 um 451 um -2.43 m 3.66 MeV 0 eV 0 fm 0 fm Target initStep + 1 -498 um 714 um -2.43 m 2.91 MeV 746 keV 706 um 706 um Target eBrem + 2 -419 um 473 um -2.43 m 466 keV 2.44 MeV 1.18 mm 1.89 mm Target eBrem + 3 -404 um 464 um -2.43 m 0 eV 466 keV 277 um 2.16 mm Target eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 200 nm -106 nm -2.44 m 11.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 30.9 um -39 um -2.44 m 9.95 MeV 236 keV 249 um 249 um Target eBrem + 2 -483 um 242 um -2.44 m 2.71 MeV 1.63 MeV 1.02 mm 1.27 mm Target eBrem + 3 -828 um 680 um -2.44 m 832 keV 1.87 MeV 1.67 mm 2.94 mm Target eIoni + 4 -871 um 676 um -2.44 m 0 eV 832 keV 586 um 3.52 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 2 +* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -483 um 242 um -2.44 m 5.61 MeV 0 eV 0 fm 0 fm Target initStep + 1 -5.08 mm 619 um -2.43 m 0 eV 0 eV 5.13 mm 5.13 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 16, Parent ID = 14 +* G4Track Information: Particle = e+, Track ID = 27, Parent ID = 25 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -5.08 mm 619 um -2.43 m 1.25 MeV 0 eV 0 fm 0 fm Target initStep + 1 -5.17 mm 647 um -2.43 m 0 eV 1.25 MeV 536 um 536 um Target annihil + 2 -5.17 mm 647 um -2.43 m 0 eV 0 eV 0 fm 536 um Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 16 +* G4Track Information: Particle = gamma, Track ID = 29, Parent ID = 27 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -5.17 mm 647 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.97 cm 3.18 mm -2.43 m 0 eV 88 keV 1.48 cm 1.48 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 18 +* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 29 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -1.97 cm 3.18 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.97 cm 3.19 mm -2.43 m 0 eV 423 keV 243 um 243 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 18 +* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 27 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -5.17 mm 647 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.98 mm 265 um -2.43 m 0 eV 88 keV 2.22 mm 2.22 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 16 +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 28 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -2.98 mm 265 um -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.97 mm 271 um -2.43 m 0 eV 423 keV 243 um 243 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 +* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 25 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -5.08 mm 619 um -2.43 m 3.34 MeV 0 eV 0 fm 0 fm Target initStep + 1 -5.37 mm -19.2 um -2.43 m 1.29 MeV 2.05 MeV 1.84 mm 1.84 mm Target eIoni + 2 -5.3 mm -28.6 um -2.43 m 0 eV 1.29 MeV 982 um 2.82 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 15 +* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 30.9 um -39 um -2.44 m 916 keV 0 eV 0 fm 0 fm Target initStep + 1 -118 um -94.9 um -2.44 m 250 keV 0 eV 632 um 632 um Target compt + 2 -99.7 um -71.8 um -2.44 m 0 eV 88 keV 30.9 um 662 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 15 +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 24 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 -99.7 um -71.8 um -2.44 m 162 keV 0 eV 0 fm 0 fm Target initStep + 1 -96.5 um -72.3 um -2.44 m 0 eV 162 keV 59.4 um 59.4 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -118 um -94.9 um -2.44 m 666 keV 0 eV 0 fm 0 fm Target initStep + 1 -129 um -103 um -2.44 m 0 eV 666 keV 444 um 444 um Target eIoni >>> Event 0 0 trajectories stored in this event. ### Run 2 start. diff --git a/examples/novice/N02/src/ExN02DetectorConstruction.cc b/examples/novice/N02/src/ExN02DetectorConstruction.cc index bb80375fe0..bc126dd8f8 100644 --- a/examples/novice/N02/src/ExN02DetectorConstruction.cc +++ b/examples/novice/N02/src/ExN02DetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN02DetectorConstruction.cc,v 1.21 2008/09/22 16:41:20 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExN02DetectorConstruction.cc,v 1.22 2010/01/22 11:57:03 maire Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -299,7 +299,7 @@ void ExN02DetectorConstruction::setChamberMaterial(G4String materialName) void ExN02DetectorConstruction::SetMagField(G4double fieldValue) { - fpMagField->SetFieldValue(fieldValue); + fpMagField->SetMagFieldValue(fieldValue); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/vis.mac b/examples/novice/N02/vis.mac index c6ffaa8295..3302cc9ea5 100644 --- a/examples/novice/N02/vis.mac +++ b/examples/novice/N02/vis.mac @@ -7,29 +7,73 @@ /control/verbose 2 /run/verbose 2 # -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphics system) +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/open OGLIX 600x600-0+0 +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -####/vis/open OGLSXm -####/vis/open HepRepXML +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -####/vis/open DAWNFILE +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -# draw scene +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # +# Draw geometry: /vis/drawVolume # -/vis/viewer/set/viewpointThetaPhi 90 180 deg +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: /vis/viewer/zoom 1.4 # -# for drawing the tracks +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: /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 # (if too many tracks cause core dump => /tracking/storeTrajectory 0) -# for drawing the hits, uncomment next line -# /vis/scene/add/hits -# (if you prefer refreshing each event, comment out next line) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +# /run/beamOn 10 diff --git a/examples/novice/N03/History b/examples/novice/N03/History index 4a1ce299a5..1729a0bfb4 100644 --- a/examples/novice/N03/History +++ b/examples/novice/N03/History @@ -1,4 +1,4 @@ -$Id: History,v 1.126 2009/11/15 14:48:40 maire Exp $ +$Id: History,v 1.132 2010/12/01 05:56:40 allison Exp $ -------------------------------------------------- ========================================================= @@ -15,6 +15,47 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +01-12-10 John Allison (exampleN03-V09-03-05) +- First attempt at rationalising visTutor: + o Several repetitive macros deleted: + exN03Tree1.mac exN03Vis1.mac exN03Vis2.mac exN03Vis3.mac exN03Vis4.mac + exN03Vis6.mac exN03Vis7.mac exN03Vis8.mac exN03Vis9.mac exN03Vis10.mac + exN03Vis11.mac exN03Vis14.mac exN03Vis15.mac + o 6 useful macros improved and retained: + exN03Tree0.mac - illustrates use of ASCIITree. + exN03Vis0.mac - a simple DAWNFILE example. + exN03Vis5.mac - an Open Inventor example, with useful instructions. + exN03Vis12.mac - a time-slice example. + exN03Vis13.mac - an em shower example (also time-slicing). + heprep.mac.mac - simple HepRepFile example. + o gui.mac: + Follows above changes. + Moved from visTutor to main directory. + o exampleN03.cc: + Follow move of gui.mac. + Added comment about G4VisExecutive("Quiet"). + Removed redundant spaces at end of some lines. + o README: visualisation part updated. + +14-11-10 mma (exampleN03-V09-03-04) +- update README + +18-10-10 mma (exampleN03-V09-03-03) +- change classe mames : suppress ExN03 +- DetectorConstruction : introduce nist materials + +04-06-10 J.Perl (exampleN03-V09-03-02) +- Updated vis usage + +21-03-10 Gabriele Cosmo (exampleN03-V09-03-01) +- Cleanup particle construction in Physics List + +21-01-10 Gabriele Cosmo (exampleN03-V09-03-00) +- visTutor: corrected exN03Vis14.mac and exN03Vis15.mac to enable + visualization of tracks and removed redundancy; updated gui.mac + adding missing macros and correcting order; corrected comments wherever + necessary. + 15-11-09 mma (exampleN03-V09-02-02) - Use G4MuMultipleScattering for muons - Separate alpha from GenericIon diff --git a/examples/novice/N03/README b/examples/novice/N03/README index ebd7fb291a..3dedc57caf 100644 --- a/examples/novice/N03/README +++ b/examples/novice/N03/README @@ -1,4 +1,4 @@ -$Id: README,v 1.17 2008/04/10 16:26:53 maire Exp $ +$Id: README,v 1.20 2010/12/01 05:55:04 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -13,23 +13,23 @@ $Id: README,v 1.17 2008/04/10 16:26:53 maire Exp $ 1- GEOMETRY DEFINITION - The calorimeter is a box made of a given number of layers. A layer - consists of an absorber plate and of a detection gap. The layer is - replicated. + The calorimeter is a box made of a given number of layers. A layer + consists of an absorber plate and of a detection gap. The layer is + replicated. - Six parameters define the calorimeter : - - the material of the absorber, + Six parameters define the calorimeter : + - the material of the absorber, - the thickness of an absorber plate, - the material of the detection gap, - the thickness of a gap, - the number of layers, - the transverse size of the calorimeter (the input face is a square). - In addition a transverse uniform magnetic field can be applied. + In addition a transverse uniform magnetic field can be applied. - The default geometry is constructed in DetectorConstruction class, - but all of the above parameters can be modified interactively via - the commands defined in the DetectorMessenger class. + The default geometry is constructed in DetectorConstruction class, + but all of the above parameters can be modified interactively via + the commands defined in the DetectorMessenger class. |<----layer 0---------->|<----layer 1---------->|<----layer 2---------->| @@ -49,137 +49,151 @@ $Id: README,v 1.17 2008/04/10 16:26:53 maire Exp $ || | || | || | || ========================================================================== - NB. The thickness of the absorber or of the gap can be set to zero - (but not together), and the number of layers to 1. In this case we - have a unique homogeneous block of matter, which looks like - a bubble chamber rather than a calorimeter ... - (see the macro of commands: newgeom.mac) + NB. The thickness of the absorber or of the gap can be set to zero + (but not together), and the number of layers to 1. In this case we + have a unique homogeneous block of matter, which looks like + a bubble chamber rather than a calorimeter ... + (see the macro of commands: newgeom.mac) - A more general version of this geometry can be found in : - examples/extended/electromagnetic/TestEm3 + A more general version of this geometry can be found in : + examples/extended/electromagnetic/TestEm3 2- AN EVENT : THE PRIMARY GENERATOR - The primary kinematic consists of a single particle which hits the - calorimeter perpendicular to the input face. The type of the particle - and its energy are set in the PrimaryGeneratorAction class, and can - be changed via the G4 build-in commands of ParticleGun class (see - the macros provided with this example). + The primary kinematic consists of a single particle which hits the + calorimeter perpendicular to the input face. The type of the particle + and its energy are set in the PrimaryGeneratorAction class, and can + be changed via the G4 build-in commands of ParticleGun class (see + the macros provided with this example). - In addition one can choose randomly the impact point of the incident - particle. The corresponding interactive command is built in - PrimaryGeneratorMessenger class (see run2.mac). + In addition one can choose randomly the impact point of the incident + particle. The corresponding interactive command is built in + PrimaryGeneratorMessenger class (see run2.mac). - A RUN is a set of events. + A RUN is a set of events. + + 3- DETECTOR RESPONSE + + Per event, one wants record total energy deposit in Absober and Gap + (total = sum of all layers), and also total track length of charged particles + in Absober and Gap. + + Therefore, these 4 quantities are data members of class EventAction. + They are collected step by step in + SteppingAction::UserSteppingAction(), and passed to EventAction via methods + AddAbs() and AddGap(). + + In EndOfEventAction(), these quantities are printed and passed to RunAction + to accumulate statistic and compute dispersion. + + It should be noticed that informations are collected and treated via 'direct' + methods. One do not need to use (SensitiveDetector + HitsCollection) tool, + though this can be done (see N02). - 3- VISUALIZATION + 4- VISUALIZATION - The Visualization Manager is set in the main(). - The initialisation of the drawing is done via a set of /vis/ commands - in the macro vis.mac. This macro is automatically read from - the main in case of interactive running mode. + The Visualization Manager is set in the main(). + The initialisation of the drawing is done via a set of /vis/ commands + in the macro vis.mac. This macro is automatically read from + the main in case of interactive running mode. - By default, vis.mac opens a DAWNFILE, suitable for viewing in DAWN, - and an OGLX for OpenGl. - You can switch to other graphics systems by commenting out this line - and instead uncommenting one of the other /vis/open statements, such as - HepRepFile or HepRepXML. + By default, vis.mac opens an OpenGL viewer. + You can switch to other graphics systems by commenting out this line + and instead uncommenting one of the other /vis/open statements, such as + HepRepFile or DAWNFILE (which produce files that can be viewed with + HepRApp and DAWN respectively). - The DAWNFILE, HepRepFile and HepRepXML drivers are always available - (since they require no external libraries), but the OGLIX driver - requires: - 1- the visualisation & interfaces categories have been compiled - with the environment variable G4VIS_BUILD_OPENGLX_DRIVER. - 2- exampleN03.cc has been compiled with G4VIS_USE_OPENGLX. + The DAWNFILE, HepRepFile drivers are always available + (since they require no external libraries), but the OGL driver requires: + 1- the visualisation & interfaces categories have been compiled + with the environment variable G4VIS_BUILD_OPENGLX_DRIVER. + 2- exampleN03.cc has been compiled with G4VIS_USE_OPENGLX. + (This is best done through Configure or CMake.) - The HepRepXML driver outputs a zip file that can be unzipped into - several individual HepRep files, each viewable in WIRED. - - For more information on visualization, including information on how to - install and run DAWN, OpenGL and WIRED, see the visualization tutorials - on the Geant4 Workshop Tutorial CD available at: - http://geant4.slac.stanford.edu/g4cd/Welcome.html + For more information on visualization, including information on how to + install and run DAWN, OpenGL and HepRApp, see the visualization tutorials, + for example, + http://geant4.slac.stanford.edu/Presentations/vis/G4OpenGLTutorial/G4OpenGLTutorial.html - The detector has a default view which is a longitudinal view of the - calorimeter. + The detector has a default view which is a longitudinal view of the + calorimeter. - The tracks are drawn at the end of event, and erased at the end of run. - Optionaly one can choose to draw all particles, only the charged, - or neutral or none. This command is build in EventActionMessenger class. + The tracks are drawn at the end of event, and accumulated to end of run. + vis.mac shows how to draw and filter trajectories. - Additional visualization tutorial macros are available in the visTutor - subdirectory. They can be tried as: + Additional visualization tutorial macros are available in the visTutor + subdirectory. They can be tried as: % $G4BINDIR/exampleN03 idle > /control/execute visTutor/exN03VisX.mac - For details, see comment lines described in the macro files. - These macros are designed to help your understanding the User's Guide. + For details, see comment lines described in the macro files. + These macros are designed to help your understanding the User's Guide. - 4- PHYSICS DEMO + 5- PHYSICS DEMO - The particle's type and the physic processes which will be available - in this example are set in PhysicsList class. + The particle's type and the physic processes which will be available + in this example are set in PhysicsList class. - In addition the build-in interactive command: + In addition the build-in interactive command: /process/(in)activate processName - allows to activate/inactivate the processes one by one. - Then one can well visualize the processes one by one, especially - in the bubble chamber setup with a transverse magnetic field. - (see run2.mac and newgeom.mac) + allows to activate/inactivate the processes one by one. + Then one can well visualize the processes one by one, especially + in the bubble chamber setup with a transverse magnetic field. + (see run2.mac and newgeom.mac) - As a homework try to visualize a gamma conversion alone, - or the effect of the multiple scattering. + As a homework try to visualize a gamma conversion alone, + or the effect of the multiple scattering. - 5- RANDOM NUMBERS HANDLING + 6- RANDOM NUMBERS HANDLING - CLHEP provides several random number engines. In this example the Ranecu - engine is choosen at beginning of the main (exampleN03.cc). + CLHEP provides several random number engines. In this example the Ranecu + engine is choosen at beginning of the main (exampleN03.cc). - By default, G4RunManager does not save the rndm seed. - To do so the user must set in BeginOfRunAction: - G4RunManager::GetRunManager()->SetRandomNumberStore(true); + By default, G4RunManager does not save the rndm seed. + To do so the user must set in BeginOfRunAction: + G4RunManager::GetRunManager()->SetRandomNumberStore(true); - Then the rndm seed is systematically saved at beginning of run - (currentRun.rndm) and beginning of event (currentEvent.rndm) - Therefore, in case of abnormal end, the seed of the last event processed - is available in currentEvent.rndm + Then the rndm seed is systematically saved at beginning of run + (currentRun.rndm) and beginning of event (currentEvent.rndm) + Therefore, in case of abnormal end, the seed of the last event processed + is available in currentEvent.rndm - Even in case of normal run processing, the user may wish to preserve the - rndm seed of selected events. At any time in the event, put the - following statement: - if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent(); - currentEvent.rndm will be copied to runXXevntYY.rndm - (see ExN03SteppingAction::UserSteppingAction() ) + Even in case of normal run processing, the user may wish to preserve the + rndm seed of selected events. At any time in the event, put the + following statement: + if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent(); + currentEvent.rndm will be copied to runXXevntYY.rndm + (see ExN03SteppingAction::UserSteppingAction() ) - To restart a run from a given rndm seed, use the UI command : - /random/resetEngineFrom fileName + To restart a run from a given rndm seed, use the UI command : + /random/resetEngineFrom fileName - The macro rndmSeed.mac shows how to save and reset the random number - seed between runs, from UI commands. + The macro rndmSeed.mac shows how to save and reset the random number + seed between runs, from UI commands. - 6- USER INTERFACES + 7- USER INTERFACES - The default command interface, called G4UIterminal, is done via - standart cin/G4cout. - On Linux and Sun-cc on can use a smarter command interface G4UItcsh. - It is enough to set the environment variable G4UI_USE_TCSH + The default command interface, called G4UIterminal, is done via + standart cin/G4cout. + On Linux and Sun-cc on can use a smarter command interface G4UItcsh. + It is enough to set the environment variable G4UI_USE_TCSH - On can use a Motif driven command interface (called G4UIXm) if: - 1- interfaces category has been compiled with G4UI_BUILD_XM_SESSION - 2- exampleN03.cc has been compiled with G4UI_USE_XM. + On can use a Motif driven command interface (called G4UIXm) if: + 1- interfaces category has been compiled with G4UI_BUILD_XM_SESSION + 2- exampleN03.cc has been compiled with G4UI_USE_XM. - 7- HOW TO START ? + 8- HOW TO START ? - - compile and link to generate an executable + - compile and link to generate an executable % cd N03 % gmake - - execute N03 in 'batch' mode from macro files + - execute N03 in 'batch' mode from macro files % exampleN03 run1.mac - - execute N03 in 'interactive mode' with visualization + - execute N03 in 'interactive mode' with visualization % exampleN03 .... Idle> ---> type your commands. For instance: @@ -191,9 +205,11 @@ $Id: README,v 1.17 2008/04/10 16:26:53 maire Exp $ .... Idle> exit - 8- HISTOGRAMS + 9- HISTOGRAMS - There is no histograms in novice examples. See a more complete version - of example N03 in : examples/extended/electromagnetic/TestEm3 + There is no histograms in novice examples. For N03 + histograms, see + examples/extended/analysis/AnaEx01 + See also a more complete version of example N03 in + examples/extended/electromagnetic/TestEm3 diff --git a/examples/novice/N03/exampleN03.cc b/examples/novice/N03/exampleN03.cc index ba220f4621..19529d23b7 100644 --- a/examples/novice/N03/exampleN03.cc +++ b/examples/novice/N03/exampleN03.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN03.cc,v 1.37 2009/10/30 15:06:01 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: exampleN03.cc,v 1.39 2010/12/01 05:56:17 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -36,13 +36,13 @@ #include "Randomize.hh" -#include "ExN03DetectorConstruction.hh" -#include "ExN03PhysicsList.hh" -#include "ExN03PrimaryGeneratorAction.hh" -#include "ExN03RunAction.hh" -#include "ExN03EventAction.hh" -#include "ExN03SteppingAction.hh" -#include "ExN03SteppingVerbose.hh" +#include "DetectorConstruction.hh" +#include "PhysicsList.hh" +#include "PrimaryGeneratorAction.hh" +#include "RunAction.hh" +#include "EventAction.hh" +#include "SteppingAction.hh" +#include "SteppingVerbose.hh" #ifdef G4VIS_USE #include "G4VisExecutive.hh" @@ -62,7 +62,7 @@ int main(int argc,char** argv) // User Verbose output class // - G4VSteppingVerbose::SetInstance(new ExN03SteppingVerbose); + G4VSteppingVerbose::SetInstance(new SteppingVerbose); // Construct the default run manager // @@ -70,26 +70,26 @@ int main(int argc,char** argv) // Set mandatory initialization classes // - ExN03DetectorConstruction* detector = new ExN03DetectorConstruction; + DetectorConstruction* detector = new DetectorConstruction; runManager->SetUserInitialization(detector); // - G4VUserPhysicsList* physics = new ExN03PhysicsList; + PhysicsList* physics = new PhysicsList; runManager->SetUserInitialization(physics); // Set user action classes // - G4VUserPrimaryGeneratorAction* gen_action = - new ExN03PrimaryGeneratorAction(detector); + PrimaryGeneratorAction* gen_action = + new PrimaryGeneratorAction(detector); runManager->SetUserAction(gen_action); // - ExN03RunAction* run_action = new ExN03RunAction; + RunAction* run_action = new RunAction; runManager->SetUserAction(run_action); // - ExN03EventAction* event_action = new ExN03EventAction(run_action); + EventAction* event_action = new EventAction(run_action); runManager->SetUserAction(event_action); // - G4UserSteppingAction* stepping_action = - new ExN03SteppingAction(detector, event_action); + SteppingAction* stepping_action = + new SteppingAction(detector, event_action); runManager->SetUserAction(stepping_action); // Initialize G4 kernel @@ -98,45 +98,45 @@ int main(int argc,char** argv) #ifdef G4VIS_USE // Initialize visualization - // G4VisManager* visManager = new G4VisExecutive; + // G4VisExecutive can take a verbosity argument - see /vis/verbose guidance. + // G4VisManager* visManager = new G4VisExecutive("Quiet"); visManager->Initialize(); #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); + UImanager->ApplyCommand(command+fileName); } else { // interactive mode : define UI session #ifdef G4UI_USE G4UIExecutive* ui = new G4UIExecutive(argc, argv); #ifdef G4VIS_USE - UImanager->ApplyCommand("/control/execute vis.mac"); + UImanager->ApplyCommand("/control/execute vis.mac"); #endif if (ui->IsGUI()) - UImanager->ApplyCommand("/control/execute visTutor/gui.mac"); + UImanager->ApplyCommand("/control/execute gui.mac"); ui->SessionStart(); delete ui; #endif } - + // Job termination // Free the store: user actions, physics_list and detector_description are // owned and deleted by the run manager, so they should not // be deleted in the main() program ! #ifdef G4VIS_USE delete visManager; -#endif +#endif delete runManager; return 0; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N03/exampleN03.out b/examples/novice/N03/exampleN03.out index b8e534ff33..0084dd60a7 100644 --- a/examples/novice/N03/exampleN03.out +++ b/examples/novice/N03/exampleN03.out @@ -4,73 +4,79 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -***** Table : Nb of materials = 13 ***** +***** Table : Nb of materials = 14 ***** - Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV + Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.860 cm Imean: 166.000 eV ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.078 cm Imean: 187.200 eV + Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.006 cm Imean: 188.000 eV ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV + Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.258 cm Imean: 823.000 eV ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.416 cm Imean: 75.000 eV + Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.537 cm Imean: 75.000 eV ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - Material: Scintillator density: 1.032 g/cm3 RadL: 42.549 cm Nucl.Int.Length: 69.996 cm Imean: 63.913 eV + Material: Scintillator density: 1.032 g/cm3 RadL: 42.549 cm Nucl.Int.Length: 70.109 cm Imean: 64.684 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: Mylar density: 1.397 g/cm3 RadL: 28.599 cm Nucl.Int.Length: 56.054 cm Imean: 75.075 eV + Material: Mylar density: 1.397 g/cm3 RadL: 28.599 cm Nucl.Int.Length: 56.108 cm Imean: 75.967 eV ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 62.49 % ElmAbundance 45.45 % ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 4.20 % ElmAbundance 36.36 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 33.30 % ElmAbundance 18.18 % - Material: quartz density: 2.200 g/cm3 RadL: 12.295 cm Nucl.Int.Length: 43.573 cm Imean: 126.007 eV + Material: quartz density: 2.200 g/cm3 RadL: 12.295 cm Nucl.Int.Length: 43.612 cm Imean: 125.663 eV ---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 46.75 % ElmAbundance 33.33 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 53.25 % ElmAbundance 66.67 % - 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 + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 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: Aerogel density: 200.000 mg/cm3 RadL: 1.493 m Nucl.Int.Length: 4.351 m Imean: 100.118 eV + Material: Aerogel density: 200.000 mg/cm3 RadL: 1.493 m Nucl.Int.Length: 4.356 m Imean: 98.882 eV ---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 29.22 % ElmAbundance 11.12 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 66.49 % ElmAbundance 44.42 % ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 4.19 % ElmAbundance 44.37 % ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 0.10 % ElmAbundance 0.09 % - Material: CarbonicGas density: 1.842 mg/cm3 RadL: 196.501 m Nucl.Int.Length: 466.037 m Imean: 90.164 eV temperature: 325.00 K pressure: 50.00 atm + Material: CarbonicGas density: 1.842 mg/cm3 RadL: 196.501 m Nucl.Int.Length: 466.112 m Imean: 90.958 eV temperature: 325.00 K pressure: 50.00 atm ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 27.29 % ElmAbundance 33.33 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 72.71 % ElmAbundance 66.67 % - Material: WaterSteam density: 0.300 kg/m3 RadL: 1.203 km Nucl.Int.Length: 2.514 km Imean: 70.893 eV temperature: 500.00 K pressure: 2.00 atm + Material: WaterSteam density: 0.300 kg/m3 RadL: 1.203 km Nucl.Int.Length: 2.518 km Imean: 68.998 eV temperature: 500.00 K pressure: 2.00 atm ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % - 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 + Material: Galactic density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 114561548.020 pc Imean: 19.200 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 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.486 km Imean: 85.684 eV temperature: 273.15 K pressure: 0.02 atm + Material: Beam density: 0.010 kg/m3 RadL: 36.786 km Nucl.Int.Length: 85.515 km Imean: 85.703 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 = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 % + Material: G4_SODIUM_IODIDE density: 3.667 g/cm3 RadL: 2.588 cm Nucl.Int.Length: 42.894 cm Imean: 452.000 eV + ---> Element: Na (Na) Z = 11.0 N = 23.0 A = 22.99 g/mole + ---> Isotope: Na23 Z = 11 N = 23 A = 22.99 g/mole abundance: 100.00 % ElmMassFraction: 15.34 % ElmAbundance 50.00 % + ---> Element: I (I) Z = 53.0 N = 127.0 A = 126.90 g/mole + ---> Isotope: I127 Z = 53 N = 127 A = 126.90 g/mole abundance: 100.00 % ElmMassFraction: 84.66 % ElmAbundance 50.00 % + ------------------------------------------------------------ ---> The calorimeter is 10 layers of: [ 10mm of Lead + 5mm of liquidArgon ] ------------------------------------------------------------ -ExN03PhysicsList::SetCuts:CutLength : 1 mm -Visualization Manager instantiating... +PhysicsList::SetCuts:CutLength : 1 mm +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -84,6 +90,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -106,208 +115,222 @@ Registered filter factories: phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV + +msc: for GenericIon SubType= 10 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + hPairProd : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -343,247 +366,261 @@ Index : 2 used in the geometry : Yes recalculation needed : No Current couple of seeds = 9876, 54321 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 275.20785 MeV total track length: 19.457951 cm - Gap: total energy: 19.115159 MeV total track length: 9.3632873 cm + Absorber: total energy: 266.072 MeV total track length: 18.8568 cm + Gap: total energy: 18.5203 MeV total track length: 9.43432 cm --------------------End of Run------------------------------ - mean Energy in Absorber : 275.20785 MeV +- 0 eV - mean Energy in Gap : 19.115159 MeV +- 0 eV + mean Energy in Absorber : 266.072 MeV +- 0 eV + mean Energy in Gap : 18.5203 MeV +- 0 eV - mean trackLength in Absorber : 19.457951 cm +- 0 fm - mean trackLength in Gap : 9.3632873 cm +- 0 fm + mean trackLength in Absorber : 18.8568 cm +- 0 fm + mean trackLength in Gap : 9.43432 cm +- 0 fm ------------------------------------------------------------ - Transportation, msc, hIoni, eIoni - eBrem, annihil, phot, compt - conv, muMsc, muIoni, muBrems - muPairProd, hBrems, hPairProd, Decay - + Transportation, msc, hIoni, ionIoni + eIoni, eBrem, annihil, phot + compt, conv, muMsc, muIoni + muBrems, muPairProd, hBrems, hPairProd + Decay phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 10 TeV in 77 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= 10 TeV + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV + +msc: for GenericIon SubType= 10 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + 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 = 399520705, 1405277458 + Current couple of seeds = 375446608, 1285866408 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 279.75422 MeV total track length: 19.901912 cm - Gap: total energy: 18.671614 MeV total track length: 9.7191178 cm + Absorber: total energy: 275.018 MeV total track length: 19.5112 cm + Gap: total energy: 18.868 MeV total track length: 9.59156 cm --------------------End of Run------------------------------ - mean Energy in Absorber : 279.75422 MeV +- 0 eV - mean Energy in Gap : 18.671614 MeV +- 0 eV + mean Energy in Absorber : 275.018 MeV +- 0 eV + mean Energy in Gap : 18.868 MeV +- 0 eV - mean trackLength in Absorber : 19.901912 cm +- 0 fm - mean trackLength in Gap : 9.7191178 cm +- 0 fm + mean trackLength in Absorber : 19.5112 cm +- 0 fm + mean trackLength in Gap : 9.59156 cm +- 0 fm ------------------------------------------------------------ @@ -593,227 +630,241 @@ hPairProd: for pi- SubType= 4 phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 10 TeV in 77 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= 10 TeV + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV + +msc: for GenericIon SubType= 10 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV 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 + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + 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 = 330333918, 180809835 + Current couple of seeds = 1823100376, 906268770 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 404.61721 MeV total track length: 96.080817 cm - Gap: total energy: 89.598634 MeV total track length: 2.4895852 m + Absorber: total energy: 325.301 MeV total track length: 76.0982 cm + Gap: total energy: 83.4037 MeV total track length: 2.2927 m --------------------End of Run------------------------------ - mean Energy in Absorber : 404.61721 MeV +- 0 eV - mean Energy in Gap : 89.598634 MeV +- 0 eV + mean Energy in Absorber : 325.301 MeV +- 0 eV + mean Energy in Gap : 83.4037 MeV +- 0 eV - mean trackLength in Absorber : 96.080817 cm +- 0 fm - mean trackLength in Gap : 2.4895852 m +- 0 fm + mean trackLength in Absorber : 76.0982 cm +- 0 fm + mean trackLength in Gap : 2.2927 m +- 0 fm ------------------------------------------------------------ Graphics systems deleted. diff --git a/examples/novice/N03/gui.mac b/examples/novice/N03/gui.mac new file mode 100644 index 0000000000..a9b9f54d21 --- /dev/null +++ b/examples/novice/N03/gui.mac @@ -0,0 +1,45 @@ +# +# This file permits to customize, with commands, +# the menu bar of the G4UIXm, G4UIQt, G4UIWin32 sessions. +# It has no effect with G4UIterminal. +# +# File : +/gui/addMenu g4file G4File +/gui/addButton g4file Continue continue +/gui/addButton g4file Exit "exit" +# +# Run menu : +/gui/addMenu run Run +/gui/addButton run "beamOn 1" "/run/beamOn 1" +/gui/addButton run run1 "/control/execute run1.mac" +/gui/addButton run run2 "/control/execute run2.mac" +# +# Gun menu : +/gui/addMenu gun Gun +/gui/addButton gun "50 MeV" "/gun/energy 50 MeV" +/gui/addButton gun "1 GeV" "/gun/energy 1 GeV" +/gui/addButton gun "10 GeV" "/gun/energy 10 GeV" +/gui/addButton gun "e-" "/gun/particle e-" +/gui/addButton gun "pi0" "/gun/particle pi0" +/gui/addButton gun "pi+" "/gun/particle pi+" +/gui/addButton gun "neutron" "/gun/particle neutron" +/gui/addButton gun "proton" "/gun/particle proton" +# +# Vis menu : +/gui/addMenu vis Vis +/gui/addButton vis DAWNFILE "/control/execute visTutor/exN03Vis0.mac" +/gui/addButton vis OpenInventor "/control/execute visTutor/exN03Vis5.mac" +/gui/addButton vis TimeSlicing "/control/execute visTutor/exN03Vis12.mac" +/gui/addButton vis EmShower "/control/execute visTutor/exN03Vis13.mac" +# +# Viewer menu : +/gui/addMenu viewer Viewer +/gui/addButton viewer "Set style surface" "/vis/viewer/set/style surface" +/gui/addButton viewer "Set style wireframe" "/vis/viewer/set/style wire" +/gui/addButton viewer "Refresh viewer" "/vis/viewer/refresh" +/gui/addButton viewer "Update viewer (interaction or end-of-file)" "/vis/viewer/update" +/gui/addButton viewer "Flush viewer (= refresh + update)" "/vis/viewer/flush" +/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/novice/N03/include/ExN03DetectorConstruction.hh b/examples/novice/N03/include/DetectorConstruction.hh similarity index 91% rename from examples/novice/N03/include/ExN03DetectorConstruction.hh rename to examples/novice/N03/include/DetectorConstruction.hh index 49c67b0cb5..6be3dc2bb7 100644 --- a/examples/novice/N03/include/ExN03DetectorConstruction.hh +++ b/examples/novice/N03/include/DetectorConstruction.hh @@ -24,16 +24,16 @@ // ******************************************************************** // // -// $Id: ExN03DetectorConstruction.hh,v 1.7 2006/06/29 17:48:32 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.hh,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03DetectorConstruction_h -#define ExN03DetectorConstruction_h 1 +#ifndef DetectorConstruction_h +#define DetectorConstruction_h 1 #include "G4VUserDetectorConstruction.hh" #include "globals.hh" @@ -43,16 +43,16 @@ class G4LogicalVolume; class G4VPhysicalVolume; class G4Material; class G4UniformMagField; -class ExN03DetectorMessenger; +class DetectorMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03DetectorConstruction : public G4VUserDetectorConstruction +class DetectorConstruction : public G4VUserDetectorConstruction { public: - ExN03DetectorConstruction(); - ~ExN03DetectorConstruction(); + DetectorConstruction(); + ~DetectorConstruction(); public: @@ -133,7 +133,7 @@ class ExN03DetectorConstruction : public G4VUserDetectorConstruction G4UniformMagField* magField; //pointer to the magnetic field - ExN03DetectorMessenger* detectorMessenger; //pointer to the Messenger + DetectorMessenger* detectorMessenger; //pointer to the Messenger private: @@ -144,7 +144,7 @@ class ExN03DetectorConstruction : public G4VUserDetectorConstruction //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline void ExN03DetectorConstruction::ComputeCalorParameters() +inline void DetectorConstruction::ComputeCalorParameters() { // Compute derived parameters of the calorimeter LayerThickness = AbsorberThickness + GapThickness; diff --git a/examples/novice/N03/include/ExN03DetectorMessenger.hh b/examples/novice/N03/include/DetectorMessenger.hh similarity index 87% rename from examples/novice/N03/include/ExN03DetectorMessenger.hh rename to examples/novice/N03/include/DetectorMessenger.hh index 4d171935aa..14a8141deb 100644 --- a/examples/novice/N03/include/ExN03DetectorMessenger.hh +++ b/examples/novice/N03/include/DetectorMessenger.hh @@ -24,21 +24,21 @@ // ******************************************************************** // // -// $Id: ExN03DetectorMessenger.hh,v 1.7 2006/06/29 17:48:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorMessenger.hh,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03DetectorMessenger_h -#define ExN03DetectorMessenger_h 1 +#ifndef DetectorMessenger_h +#define DetectorMessenger_h 1 #include "globals.hh" #include "G4UImessenger.hh" -class ExN03DetectorConstruction; +class DetectorConstruction; class G4UIdirectory; class G4UIcmdWithAString; class G4UIcmdWithAnInteger; @@ -47,16 +47,16 @@ class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03DetectorMessenger: public G4UImessenger +class DetectorMessenger: public G4UImessenger { public: - ExN03DetectorMessenger(ExN03DetectorConstruction* ); - ~ExN03DetectorMessenger(); + DetectorMessenger(DetectorConstruction* ); + ~DetectorMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - ExN03DetectorConstruction* ExN03Detector; + DetectorConstruction* Detector; G4UIdirectory* N03Dir; G4UIdirectory* detDir; diff --git a/examples/extended/analysis/N03Con/include/ExN03EventAction.hh b/examples/novice/N03/include/EventAction.hh similarity index 75% rename from examples/extended/analysis/N03Con/include/ExN03EventAction.hh rename to examples/novice/N03/include/EventAction.hh index bb83099ed5..34c9623757 100644 --- a/examples/extended/analysis/N03Con/include/ExN03EventAction.hh +++ b/examples/novice/N03/include/EventAction.hh @@ -24,49 +24,48 @@ // ******************************************************************** // // -// $Id: ExN03EventAction.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.hh,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03EventAction_h -#define ExN03EventAction_h 1 +#ifndef EventAction_h +#define EventAction_h 1 #include "G4UserEventAction.hh" #include "globals.hh" -class ExN03RunAction; -class ExN03EventActionMessenger; +class RunAction; +class EventActionMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03EventAction : public G4UserEventAction +class EventAction : public G4UserEventAction { - public: - ExN03EventAction(ExN03RunAction*); - ~ExN03EventAction(); +public: + EventAction(RunAction*); + virtual ~EventAction(); - public: - void BeginOfEventAction(const G4Event*); - void EndOfEventAction(const G4Event*); + void BeginOfEventAction(const G4Event*); + void EndOfEventAction(const G4Event*); - void AddAbs(G4double de, G4double dl) {EnergyAbs += de; TrackLAbs += dl;}; - void AddGap(G4double de, G4double dl) {EnergyGap += de; TrackLGap += dl;}; + void AddAbs(G4double de, G4double dl) {EnergyAbs += de; TrackLAbs += dl;}; + void AddGap(G4double de, G4double dl) {EnergyGap += de; TrackLGap += dl;}; - void SetPrintModulo(G4int val) {printModulo = val;}; + void SetPrintModulo(G4int val) {printModulo = val;}; - private: - ExN03RunAction* runAct; +private: + RunAction* runAct; G4double EnergyAbs, EnergyGap; G4double TrackLAbs, TrackLGap; G4int printModulo; - ExN03EventActionMessenger* eventMessenger; + EventActionMessenger* eventMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/include/EventActionMessenger.hh b/examples/novice/N03/include/EventActionMessenger.hh new file mode 100644 index 0000000000..7b34d617e6 --- /dev/null +++ b/examples/novice/N03/include/EventActionMessenger.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. * +// ******************************************************************** +// +// +// $Id: EventActionMessenger.hh,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef EventActionMessenger_h +#define EventActionMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class EventAction; +class G4UIdirectory; +class G4UIcmdWithAnInteger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class EventActionMessenger: public G4UImessenger +{ +public: + EventActionMessenger(EventAction*); + virtual ~EventActionMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + +private: + EventAction* eventAction; + G4UIdirectory* eventDir; + G4UIcmdWithAnInteger* PrintCmd; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/novice/N03/include/PhysicsList.hh b/examples/novice/N03/include/PhysicsList.hh new file mode 100644 index 0000000000..c7fcb94e76 --- /dev/null +++ b/examples/novice/N03/include/PhysicsList.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. * +// ******************************************************************** +// +// +// $Id: PhysicsList.hh,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysicsList_h +#define PhysicsList_h 1 + +#include "G4VUserPhysicsList.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysicsList: public G4VUserPhysicsList +{ +public: + PhysicsList(); + virtual ~PhysicsList(); + + // Construct particle and physics + void ConstructParticle(); + void ConstructProcess(); + + void SetCuts(); + +private: + + // these methods Construct physics processes and register them + void ConstructDecay(); + void ConstructEM(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + diff --git a/examples/novice/N03/include/PrimaryGeneratorAction.hh b/examples/novice/N03/include/PrimaryGeneratorAction.hh new file mode 100644 index 0000000000..3b6502053d --- /dev/null +++ b/examples/novice/N03/include/PrimaryGeneratorAction.hh @@ -0,0 +1,69 @@ +// +// ******************************************************************** +// * 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 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PrimaryGeneratorAction_h +#define PrimaryGeneratorAction_h 1 + +#include "G4VUserPrimaryGeneratorAction.hh" +#include "globals.hh" + +class G4ParticleGun; +class G4Event; +class DetectorConstruction; +class PrimaryGeneratorMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ +public: + PrimaryGeneratorAction(DetectorConstruction*); + virtual ~PrimaryGeneratorAction(); + + void GeneratePrimaries(G4Event*); + void SetRndmFlag(G4String val) { rndmFlag = val;} + +private: + G4ParticleGun* particleGun; //pointer a to G4 class + DetectorConstruction* Detector; //pointer to the geometry + + PrimaryGeneratorMessenger* gunMessenger; //messenger of this class + G4String rndmFlag; //flag for a rndm impact point +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + diff --git a/examples/novice/N03/include/PrimaryGeneratorMessenger.hh b/examples/novice/N03/include/PrimaryGeneratorMessenger.hh new file mode 100644 index 0000000000..35d5ed6b78 --- /dev/null +++ b/examples/novice/N03/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 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +//....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 G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PrimaryGeneratorMessenger: public G4UImessenger +{ +public: + PrimaryGeneratorMessenger(PrimaryGeneratorAction*); + virtual ~PrimaryGeneratorMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + +private: + PrimaryGeneratorAction* Action; + G4UIdirectory* gunDir; + G4UIcmdWithAString* RndmCmd; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/novice/N03/include/ExN03RunAction.hh b/examples/novice/N03/include/RunAction.hh similarity index 90% rename from examples/novice/N03/include/ExN03RunAction.hh rename to examples/novice/N03/include/RunAction.hh index c32705a7d4..51f0428f2b 100644 --- a/examples/novice/N03/include/ExN03RunAction.hh +++ b/examples/novice/N03/include/RunAction.hh @@ -24,16 +24,16 @@ // ******************************************************************** // // -// $Id: ExN03RunAction.hh,v 1.11 2007/07/02 13:22:08 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.hh,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef ExN03RunAction_h -#define ExN03RunAction_h 1 +#ifndef RunAction_h +#define RunAction_h 1 #include "G4UserRunAction.hh" #include "globals.hh" @@ -42,11 +42,11 @@ class G4Run; -class ExN03RunAction : public G4UserRunAction +class RunAction : public G4UserRunAction { public: - ExN03RunAction(); - virtual ~ExN03RunAction(); + RunAction(); + virtual ~RunAction(); void BeginOfRunAction(const G4Run*); void EndOfRunAction(const G4Run*); diff --git a/examples/novice/N03/include/SteppingAction.hh b/examples/novice/N03/include/SteppingAction.hh new file mode 100644 index 0000000000..7db2fcbb08 --- /dev/null +++ b/examples/novice/N03/include/SteppingAction.hh @@ -0,0 +1,60 @@ +// +// ******************************************************************** +// * 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.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef SteppingAction_h +#define SteppingAction_h 1 + +#include "G4UserSteppingAction.hh" + +class DetectorConstruction; +class EventAction; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class SteppingAction : public G4UserSteppingAction +{ +public: + SteppingAction(DetectorConstruction*, EventAction*); + virtual ~SteppingAction(); + + void UserSteppingAction(const G4Step*); + +private: + DetectorConstruction* detector; + EventAction* eventaction; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/novice/N03/include/ExN03SteppingVerbose.hh b/examples/novice/N03/include/SteppingVerbose.hh similarity index 87% rename from examples/novice/N03/include/ExN03SteppingVerbose.hh rename to examples/novice/N03/include/SteppingVerbose.hh index 839dcb36e7..8ccd21f4e1 100644 --- a/examples/novice/N03/include/ExN03SteppingVerbose.hh +++ b/examples/novice/N03/include/SteppingVerbose.hh @@ -24,28 +24,28 @@ // ******************************************************************** // // -// $Id: ExN03SteppingVerbose.hh,v 1.9 2006/06/29 17:48:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingVerbose.hh,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03SteppingVerbose; +class SteppingVerbose; -#ifndef ExN03SteppingVerbose_h -#define ExN03SteppingVerbose_h 1 +#ifndef SteppingVerbose_h +#define SteppingVerbose_h 1 #include "G4SteppingVerbose.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class ExN03SteppingVerbose : public G4SteppingVerbose +class SteppingVerbose : public G4SteppingVerbose { public: - ExN03SteppingVerbose(); - ~ExN03SteppingVerbose(); + SteppingVerbose(); + ~SteppingVerbose(); void StepInfo(); void TrackingStarted(); diff --git a/examples/extended/analysis/N03Con/src/ExN03DetectorConstruction.cc b/examples/novice/N03/src/DetectorConstruction.cc similarity index 92% rename from examples/extended/analysis/N03Con/src/ExN03DetectorConstruction.cc rename to examples/novice/N03/src/DetectorConstruction.cc index ef77937cd0..04779017cc 100644 --- a/examples/extended/analysis/N03Con/src/ExN03DetectorConstruction.cc +++ b/examples/novice/N03/src/DetectorConstruction.cc @@ -24,18 +24,20 @@ // ******************************************************************** // // -// $Id: ExN03DetectorConstruction.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.cc,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03DetectorConstruction.hh" -#include "ExN03DetectorMessenger.hh" +#include "DetectorConstruction.hh" +#include "DetectorMessenger.hh" #include "G4Material.hh" +#include "G4NistManager.hh" + #include "G4Box.hh" #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" @@ -52,7 +54,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03DetectorConstruction::ExN03DetectorConstruction() +DetectorConstruction::DetectorConstruction() :AbsorberMaterial(0),GapMaterial(0),defaultMaterial(0), solidWorld(0),logicWorld(0),physiWorld(0), solidCalor(0),logicCalor(0),physiCalor(0), @@ -74,24 +76,24 @@ ExN03DetectorConstruction::ExN03DetectorConstruction() SetGapMaterial("liquidArgon"); // create commands for interactive definition of the calorimeter - detectorMessenger = new ExN03DetectorMessenger(this); + detectorMessenger = new DetectorMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03DetectorConstruction::~ExN03DetectorConstruction() +DetectorConstruction::~DetectorConstruction() { delete detectorMessenger;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume* ExN03DetectorConstruction::Construct() +G4VPhysicalVolume* DetectorConstruction::Construct() { return ConstructCalorimeter(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::DefineMaterials() +void DetectorConstruction::DefineMaterials() { //This function illustrates the possible ways to define materials @@ -183,7 +185,7 @@ Aerog->AddElement (C , fractionmass= 0.1*perCent); // G4Material* CO2 = -new G4Material("CarbonicGas", density= 27.*mg/cm3, ncomponents=2, +new G4Material("CarbonicGas", density= 1.842*mg/cm3, ncomponents=2, kStateGas, 325.*kelvin, 50.*atmosphere); CO2->AddElement(C, natoms=1); CO2->AddElement(O, natoms=2); @@ -206,6 +208,14 @@ new G4Material("Beam", density= 1.e-5*g/cm3, ncomponents=1, kStateGas, STP_Temperature, 2.e-2*bar); beam->AddMaterial(Air, fractionmass=1.); +// +// or use G4-NIST materials data base +// +G4NistManager* man = G4NistManager::Instance(); +man->FindOrBuildMaterial("G4_SODIUM_IODIDE"); + +// print table +// G4cout << *(G4Material::GetMaterialTable()) << G4endl; //default materials of the World @@ -214,7 +224,7 @@ defaultMaterial = Vacuum; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter() +G4VPhysicalVolume* DetectorConstruction::ConstructCalorimeter() { // Clean old geometry, if any @@ -379,7 +389,7 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::PrintCalorParameters() +void DetectorConstruction::PrintCalorParameters() { G4cout << "\n------------------------------------------------------------" << "\n---> The calorimeter is " << NbOfLayers << " layers of: [ " @@ -391,7 +401,7 @@ void ExN03DetectorConstruction::PrintCalorParameters() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) +void DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) { // search the material by its name G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); @@ -400,7 +410,7 @@ void ExN03DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetGapMaterial(G4String materialChoice) +void DetectorConstruction::SetGapMaterial(G4String materialChoice) { // search the material by its name G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); @@ -409,7 +419,7 @@ void ExN03DetectorConstruction::SetGapMaterial(G4String materialChoice) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetAbsorberThickness(G4double val) +void DetectorConstruction::SetAbsorberThickness(G4double val) { // change Absorber thickness and recompute the calorimeter parameters AbsorberThickness = val; @@ -417,7 +427,7 @@ void ExN03DetectorConstruction::SetAbsorberThickness(G4double val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetGapThickness(G4double val) +void DetectorConstruction::SetGapThickness(G4double val) { // change Gap thickness and recompute the calorimeter parameters GapThickness = val; @@ -425,7 +435,7 @@ void ExN03DetectorConstruction::SetGapThickness(G4double val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetCalorSizeYZ(G4double val) +void DetectorConstruction::SetCalorSizeYZ(G4double val) { // change the transverse size and recompute the calorimeter parameters CalorSizeYZ = val; @@ -433,7 +443,7 @@ void ExN03DetectorConstruction::SetCalorSizeYZ(G4double val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorConstruction::SetNbOfLayers(G4int val) +void DetectorConstruction::SetNbOfLayers(G4int val) { NbOfLayers = val; } @@ -443,7 +453,7 @@ void ExN03DetectorConstruction::SetNbOfLayers(G4int val) #include "G4FieldManager.hh" #include "G4TransportationManager.hh" -void ExN03DetectorConstruction::SetMagField(G4double fieldValue) +void DetectorConstruction::SetMagField(G4double fieldValue) { //apply a global uniform magnetic field along Z axis G4FieldManager* fieldMgr @@ -465,7 +475,7 @@ void ExN03DetectorConstruction::SetMagField(G4double fieldValue) #include "G4RunManager.hh" -void ExN03DetectorConstruction::UpdateGeometry() +void DetectorConstruction::UpdateGeometry() { G4RunManager::GetRunManager()->DefineWorldVolume(ConstructCalorimeter()); } diff --git a/examples/novice/N03/src/ExN03DetectorMessenger.cc b/examples/novice/N03/src/DetectorMessenger.cc similarity index 85% rename from examples/novice/N03/src/ExN03DetectorMessenger.cc rename to examples/novice/N03/src/DetectorMessenger.cc index c82dcd840b..8fdb2181b7 100644 --- a/examples/novice/N03/src/ExN03DetectorMessenger.cc +++ b/examples/novice/N03/src/DetectorMessenger.cc @@ -24,17 +24,17 @@ // ******************************************************************** // // -// $Id: ExN03DetectorMessenger.cc,v 1.10 2006/06/29 17:48:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorMessenger.cc,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03DetectorMessenger.hh" +#include "DetectorMessenger.hh" -#include "ExN03DetectorConstruction.hh" +#include "DetectorConstruction.hh" #include "G4UIdirectory.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" @@ -43,9 +43,9 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03DetectorMessenger::ExN03DetectorMessenger( - ExN03DetectorConstruction* ExN03Det) -:ExN03Detector(ExN03Det) +DetectorMessenger::DetectorMessenger( + DetectorConstruction* Det) +:Detector(Det) { N03Dir = new G4UIdirectory("/N03/"); N03Dir->SetGuidance("UI commands of this example"); @@ -106,7 +106,7 @@ ExN03DetectorMessenger::ExN03DetectorMessenger( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03DetectorMessenger::~ExN03DetectorMessenger() +DetectorMessenger::~DetectorMessenger() { delete NbLayersCmd; delete AbsMaterCmd; delete GapMaterCmd; @@ -119,32 +119,32 @@ ExN03DetectorMessenger::~ExN03DetectorMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) { if( command == AbsMaterCmd ) - { ExN03Detector->SetAbsorberMaterial(newValue);} + { Detector->SetAbsorberMaterial(newValue);} if( command == GapMaterCmd ) - { ExN03Detector->SetGapMaterial(newValue);} + { Detector->SetGapMaterial(newValue);} if( command == AbsThickCmd ) - { ExN03Detector->SetAbsorberThickness(AbsThickCmd + { Detector->SetAbsorberThickness(AbsThickCmd ->GetNewDoubleValue(newValue));} if( command == GapThickCmd ) - { ExN03Detector->SetGapThickness(GapThickCmd->GetNewDoubleValue(newValue));} + { Detector->SetGapThickness(GapThickCmd->GetNewDoubleValue(newValue));} if( command == SizeYZCmd ) - { ExN03Detector->SetCalorSizeYZ(SizeYZCmd->GetNewDoubleValue(newValue));} + { Detector->SetCalorSizeYZ(SizeYZCmd->GetNewDoubleValue(newValue));} if( command == NbLayersCmd ) - { ExN03Detector->SetNbOfLayers(NbLayersCmd->GetNewIntValue(newValue));} + { Detector->SetNbOfLayers(NbLayersCmd->GetNewIntValue(newValue));} if( command == UpdateCmd ) - { ExN03Detector->UpdateGeometry(); } + { Detector->UpdateGeometry(); } if( command == MagFieldCmd ) - { ExN03Detector->SetMagField(MagFieldCmd->GetNewDoubleValue(newValue));} + { Detector->SetMagField(MagFieldCmd->GetNewDoubleValue(newValue));} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/src/ExN03EventAction.cc b/examples/novice/N03/src/EventAction.cc similarity index 81% rename from examples/extended/analysis/N03Con/src/ExN03EventAction.cc rename to examples/novice/N03/src/EventAction.cc index 900a6d50b6..a0501d60e4 100644 --- a/examples/extended/analysis/N03Con/src/ExN03EventAction.cc +++ b/examples/novice/N03/src/EventAction.cc @@ -24,23 +24,20 @@ // ******************************************************************** // // -// $Id: ExN03EventAction.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventAction.cc,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03EventAction.hh" +#include "EventAction.hh" -#include "ExN03RunAction.hh" -#include "ExN03EventActionMessenger.hh" +#include "RunAction.hh" +#include "EventActionMessenger.hh" #include "G4Event.hh" -#include "G4TrajectoryContainer.hh" -#include "G4VTrajectory.hh" -#include "G4VVisManager.hh" #include "G4UnitsTable.hh" #include "Randomize.hh" @@ -48,28 +45,28 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03EventAction::ExN03EventAction(ExN03RunAction* run) +EventAction::EventAction(RunAction* run) :runAct(run),printModulo(1),eventMessenger(0) { - eventMessenger = new ExN03EventActionMessenger(this); + eventMessenger = new EventActionMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03EventAction::~ExN03EventAction() +EventAction::~EventAction() { delete eventMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03EventAction::BeginOfEventAction(const G4Event* evt) +void EventAction::BeginOfEventAction(const G4Event* evt) { - G4int evtNb = evt->GetEventID(); - if (evtNb%printModulo == 0) { - G4cout << "\n---> Begin of event: " << evtNb << G4endl; - CLHEP::HepRandom::showEngineStatus(); - } + G4int evtNb = evt->GetEventID(); + if (evtNb%printModulo == 0) { + G4cout << "\n---> Begin of event: " << evtNb << G4endl; + CLHEP::HepRandom::showEngineStatus(); +} // initialisation per event EnergyAbs = EnergyGap = 0.; @@ -78,7 +75,7 @@ void ExN03EventAction::BeginOfEventAction(const G4Event* evt) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03EventAction::EndOfEventAction(const G4Event* evt) +void EventAction::EndOfEventAction(const G4Event* evt) { //accumulates statistic // @@ -102,7 +99,7 @@ void ExN03EventAction::EndOfEventAction(const G4Event* evt) << G4BestUnit(TrackLGap,"Length") << G4endl; - } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/src/ExN03EventActionMessenger.cc b/examples/novice/N03/src/EventActionMessenger.cc similarity index 88% rename from examples/novice/N03/src/ExN03EventActionMessenger.cc rename to examples/novice/N03/src/EventActionMessenger.cc index 8572011ae5..0ae480a0fc 100644 --- a/examples/novice/N03/src/ExN03EventActionMessenger.cc +++ b/examples/novice/N03/src/EventActionMessenger.cc @@ -24,24 +24,24 @@ // ******************************************************************** // // -// $Id: ExN03EventActionMessenger.cc,v 1.12 2006/10/26 14:28:00 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventActionMessenger.cc,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03EventActionMessenger.hh" +#include "EventActionMessenger.hh" -#include "ExN03EventAction.hh" +#include "EventAction.hh" #include "G4UIdirectory.hh" #include "G4UIcmdWithAnInteger.hh" #include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct) +EventActionMessenger::EventActionMessenger(EventAction* EvAct) :eventAction(EvAct) { eventDir = new G4UIdirectory("/N03/event/"); @@ -55,7 +55,7 @@ ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03EventActionMessenger::~ExN03EventActionMessenger() +EventActionMessenger::~EventActionMessenger() { delete PrintCmd; delete eventDir; @@ -63,7 +63,7 @@ ExN03EventActionMessenger::~ExN03EventActionMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03EventActionMessenger::SetNewValue( +void EventActionMessenger::SetNewValue( G4UIcommand* command,G4String newValue) { if(command == PrintCmd) diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02PhysicsList.cc b/examples/novice/N03/src/PhysicsList.cc similarity index 57% rename from examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02PhysicsList.cc rename to examples/novice/N03/src/PhysicsList.cc index d4c4f38739..d448c1304c 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02PhysicsList.cc +++ b/examples/novice/N03/src/PhysicsList.cc @@ -24,115 +24,70 @@ // ******************************************************************** // // -// $Id: H02PhysicsList.cc,v 1.5 2006/07/05 12:04:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysicsList.cc,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // +// + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "globals.hh" -#include "H02PhysicsList.hh" +#include "PhysicsList.hh" #include "G4ProcessManager.hh" -#include "G4ParticleTypes.hh" + +#include "G4BosonConstructor.hh" +#include "G4LeptonConstructor.hh" +#include "G4MesonConstructor.hh" +#include "G4BosonConstructor.hh" +#include "G4BaryonConstructor.hh" +#include "G4IonConstructor.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -H02PhysicsList::H02PhysicsList(): G4VUserPhysicsList() +PhysicsList::PhysicsList(): G4VUserPhysicsList() { - defaultCutValue = 1.0*cm; - SetVerboseLevel(1); + defaultCutValue = 1.0*mm; + SetVerboseLevel(1); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -H02PhysicsList::~H02PhysicsList() +PhysicsList::~PhysicsList() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void H02PhysicsList::ConstructParticle() +void PhysicsList::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(); - ConstructMesons(); - ConstructBaryons(); + G4BosonConstructor pBosonConstructor; + pBosonConstructor.ConstructParticle(); + + G4LeptonConstructor pLeptonConstructor; + pLeptonConstructor.ConstructParticle(); + + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); + + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); + + G4IonConstructor pIonConstructor; + pIonConstructor.ConstructParticle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void H02PhysicsList::ConstructBosons() -{ - // pseudo-particles - G4Geantino::GeantinoDefinition(); - G4ChargedGeantino::ChargedGeantinoDefinition(); - - // gamma - G4Gamma::GammaDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void H02PhysicsList::ConstructLeptons() -{ - // leptons - // e+/- - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); - // mu+/- - G4MuonPlus::MuonPlusDefinition(); - G4MuonMinus::MuonMinusDefinition(); - // nu_e - G4NeutrinoE::NeutrinoEDefinition(); - G4AntiNeutrinoE::AntiNeutrinoEDefinition(); - // nu_mu - G4NeutrinoMu::NeutrinoMuDefinition(); - G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void H02PhysicsList::ConstructMesons() -{ - // mesons - // light mesons - G4PionPlus::PionPlusDefinition(); - G4PionMinus::PionMinusDefinition(); - G4PionZero::PionZeroDefinition(); - G4Eta::EtaDefinition(); - G4EtaPrime::EtaPrimeDefinition(); - G4KaonPlus::KaonPlusDefinition(); - G4KaonMinus::KaonMinusDefinition(); - G4KaonZero::KaonZeroDefinition(); - G4AntiKaonZero::AntiKaonZeroDefinition(); - G4KaonZeroLong::KaonZeroLongDefinition(); - G4KaonZeroShort::KaonZeroShortDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void H02PhysicsList::ConstructBaryons() -{ - // barions - G4Proton::ProtonDefinition(); - G4AntiProton::AntiProtonDefinition(); - - G4Neutron::NeutronDefinition(); - G4AntiNeutron::AntiNeutronDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void H02PhysicsList::ConstructProcess() +void PhysicsList::ConstructProcess() { AddTransportation(); ConstructEM(); - ConstructGeneral(); + ConstructDecay(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -141,31 +96,33 @@ void H02PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" - +#include "G4eMultipleScattering.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" -#include "G4StepLimiter.hh" -#include "G4UserSpecialCuts.hh" +#include "G4ionIonisation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void H02PhysicsList::ConstructEM() +void PhysicsList::ConstructEM() { theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - + if (particleName == "gamma") { // gamma pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); @@ -174,42 +131,60 @@ void H02PhysicsList::ConstructEM() } else if (particleName == "e-") { //electron - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); + 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 G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); - + 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 G4MultipleScattering,-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-" || + 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 ((!particle->IsShortLived()) && + } else if( particleName == "alpha" || + 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")) { //all others charged particles except geantino - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); - pmanager->AddProcess(new G4hIonisation, -1, 2,2); - //step limit - pmanager->AddProcess(new G4StepLimiter, -1,-1,3); - ///pmanager->AddProcess(new G4UserSpecialCuts, -1,-1,4); - } + pmanager->AddProcess(new G4hMultipleScattering,-1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4Decay.hh" -void H02PhysicsList::ConstructGeneral() + +void PhysicsList::ConstructDecay() { // Add Decay Process G4Decay* theDecayProcess = new G4Decay(); @@ -228,13 +203,21 @@ void H02PhysicsList::ConstructGeneral() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void H02PhysicsList::SetCuts() +void PhysicsList::SetCuts() { - //G4VUserPhysicsList::SetCutsWithDefault method sets - //the default cut value for all particle types + 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 // - SetCutsWithDefault(); - + SetCutValue(defaultCutValue, "gamma"); + SetCutValue(defaultCutValue, "e-"); + SetCutValue(defaultCutValue, "e+"); + SetCutValue(defaultCutValue, "proton"); + if (verboseLevel>0) DumpCutValuesTable(); } diff --git a/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc b/examples/novice/N03/src/PrimaryGeneratorAction.cc similarity index 78% rename from examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc rename to examples/novice/N03/src/PrimaryGeneratorAction.cc index 633616ac4f..0ba2ee0c04 100644 --- a/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc +++ b/examples/novice/N03/src/PrimaryGeneratorAction.cc @@ -24,18 +24,18 @@ // ******************************************************************** // // -// $Id: ExN03PrimaryGeneratorAction.cc,v 1.8 2006/06/29 17:49:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PrimaryGeneratorAction.cc,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03PrimaryGeneratorAction.hh" +#include "PrimaryGeneratorAction.hh" -#include "ExN03DetectorConstruction.hh" -#include "ExN03PrimaryGeneratorMessenger.hh" +#include "DetectorConstruction.hh" +#include "PrimaryGeneratorMessenger.hh" #include "G4Event.hh" #include "G4ParticleGun.hh" @@ -45,15 +45,15 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PrimaryGeneratorAction::ExN03PrimaryGeneratorAction( - ExN03DetectorConstruction* ExN03DC) -:ExN03Detector(ExN03DC),rndmFlag("off") +PrimaryGeneratorAction::PrimaryGeneratorAction( + DetectorConstruction* DC) +:Detector(DC),rndmFlag("off") { G4int n_particle = 1; particleGun = new G4ParticleGun(n_particle); //create a messenger for this class - gunMessenger = new ExN03PrimaryGeneratorMessenger(this); + gunMessenger = new PrimaryGeneratorMessenger(this); // default particle kinematic @@ -64,14 +64,14 @@ ExN03PrimaryGeneratorAction::ExN03PrimaryGeneratorAction( particleGun->SetParticleDefinition(particle); particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); particleGun->SetParticleEnergy(50.*MeV); - G4double position = -0.5*(ExN03Detector->GetWorldSizeX()); + G4double position = -0.5*(Detector->GetWorldSizeX()); particleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PrimaryGeneratorAction::~ExN03PrimaryGeneratorAction() +PrimaryGeneratorAction::~PrimaryGeneratorAction() { delete particleGun; delete gunMessenger; @@ -79,15 +79,15 @@ ExN03PrimaryGeneratorAction::~ExN03PrimaryGeneratorAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { //this function is called at the begining of event // - G4double x0 = -0.5*(ExN03Detector->GetWorldSizeX()); + G4double x0 = -0.5*(Detector->GetWorldSizeX()); G4double y0 = 0.*cm, z0 = 0.*cm; if (rndmFlag == "on") - {y0 = (ExN03Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); - z0 = (ExN03Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); + {y0 = (Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); + z0 = (Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); } particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); diff --git a/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc b/examples/novice/N03/src/PrimaryGeneratorMessenger.cc similarity index 84% rename from examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc rename to examples/novice/N03/src/PrimaryGeneratorMessenger.cc index 8f77b21a2e..b497b958bf 100644 --- a/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc +++ b/examples/novice/N03/src/PrimaryGeneratorMessenger.cc @@ -24,25 +24,25 @@ // ******************************************************************** // // -// $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.9 2006/06/29 17:49:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PrimaryGeneratorMessenger.cc,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03PrimaryGeneratorMessenger.hh" +#include "PrimaryGeneratorMessenger.hh" -#include "ExN03PrimaryGeneratorAction.hh" +#include "PrimaryGeneratorAction.hh" #include "G4UIdirectory.hh" #include "G4UIcmdWithAString.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PrimaryGeneratorMessenger::ExN03PrimaryGeneratorMessenger( - ExN03PrimaryGeneratorAction* ExN03Gun) -:ExN03Action(ExN03Gun) +PrimaryGeneratorMessenger::PrimaryGeneratorMessenger( + PrimaryGeneratorAction* Gun) +:Action(Gun) { gunDir = new G4UIdirectory("/N03/gun/"); gunDir->SetGuidance("PrimaryGenerator control"); @@ -58,7 +58,7 @@ ExN03PrimaryGeneratorMessenger::ExN03PrimaryGeneratorMessenger( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03PrimaryGeneratorMessenger::~ExN03PrimaryGeneratorMessenger() +PrimaryGeneratorMessenger::~PrimaryGeneratorMessenger() { delete RndmCmd; delete gunDir; @@ -66,11 +66,11 @@ ExN03PrimaryGeneratorMessenger::~ExN03PrimaryGeneratorMessenger() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03PrimaryGeneratorMessenger::SetNewValue( +void PrimaryGeneratorMessenger::SetNewValue( G4UIcommand* command, G4String newValue) { if( command == RndmCmd ) - { ExN03Action->SetRndmFlag(newValue);} + { Action->SetRndmFlag(newValue);} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/src/ExN03RunAction.cc b/examples/novice/N03/src/RunAction.cc similarity index 92% rename from examples/novice/N03/src/ExN03RunAction.cc rename to examples/novice/N03/src/RunAction.cc index 91cc277b7a..9c4fcd6997 100644 --- a/examples/novice/N03/src/ExN03RunAction.cc +++ b/examples/novice/N03/src/RunAction.cc @@ -24,13 +24,13 @@ // ******************************************************************** // // -// $Id: ExN03RunAction.cc,v 1.19 2008/01/17 17:31:32 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: RunAction.cc,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03RunAction.hh" +#include "RunAction.hh" #include "G4Run.hh" #include "G4RunManager.hh" @@ -38,17 +38,17 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03RunAction::ExN03RunAction() +RunAction::RunAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03RunAction::~ExN03RunAction() +RunAction::~RunAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03RunAction::BeginOfRunAction(const G4Run* aRun) +void RunAction::BeginOfRunAction(const G4Run* aRun) { G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; @@ -63,7 +63,7 @@ void ExN03RunAction::BeginOfRunAction(const G4Run* aRun) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03RunAction::fillPerEvent(G4double EAbs, G4double EGap, +void RunAction::fillPerEvent(G4double EAbs, G4double EGap, G4double LAbs, G4double LGap) { //accumulate statistic @@ -77,7 +77,7 @@ void ExN03RunAction::fillPerEvent(G4double EAbs, G4double EGap, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03RunAction::EndOfRunAction(const G4Run* aRun) +void RunAction::EndOfRunAction(const G4Run* aRun) { G4int NbOfEvents = aRun->GetNumberOfEvent(); if (NbOfEvents == 0) return; diff --git a/examples/novice/N03/src/ExN03SteppingAction.cc b/examples/novice/N03/src/SteppingAction.cc similarity index 86% rename from examples/novice/N03/src/ExN03SteppingAction.cc rename to examples/novice/N03/src/SteppingAction.cc index 9329b28275..34e3b477a5 100644 --- a/examples/novice/N03/src/ExN03SteppingAction.cc +++ b/examples/novice/N03/src/SteppingAction.cc @@ -24,18 +24,18 @@ // ******************************************************************** // // -// $Id: ExN03SteppingAction.cc,v 1.15 2006/06/29 17:49:13 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingAction.cc,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03SteppingAction.hh" +#include "SteppingAction.hh" -#include "ExN03DetectorConstruction.hh" -#include "ExN03EventAction.hh" +#include "DetectorConstruction.hh" +#include "EventAction.hh" #include "G4Step.hh" @@ -43,19 +43,19 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03SteppingAction::ExN03SteppingAction(ExN03DetectorConstruction* det, - ExN03EventAction* evt) +SteppingAction::SteppingAction(DetectorConstruction* det, + EventAction* evt) :detector(det), eventaction(evt) { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03SteppingAction::~ExN03SteppingAction() +SteppingAction::~SteppingAction() { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03SteppingAction::UserSteppingAction(const G4Step* aStep) +void SteppingAction::UserSteppingAction(const G4Step* aStep) { // get volume of the current step G4VPhysicalVolume* volume diff --git a/examples/novice/N03/src/ExN03SteppingVerbose.cc b/examples/novice/N03/src/SteppingVerbose.cc similarity index 95% rename from examples/novice/N03/src/ExN03SteppingVerbose.cc rename to examples/novice/N03/src/SteppingVerbose.cc index 7eb69a493d..7134f12f78 100644 --- a/examples/novice/N03/src/ExN03SteppingVerbose.cc +++ b/examples/novice/N03/src/SteppingVerbose.cc @@ -24,30 +24,30 @@ // ******************************************************************** // // -// $Id: ExN03SteppingVerbose.cc,v 1.13 2006/06/29 17:49:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: SteppingVerbose.cc,v 1.1 2010/10/18 15:56:17 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ExN03SteppingVerbose.hh" +#include "SteppingVerbose.hh" #include "G4SteppingManager.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03SteppingVerbose::ExN03SteppingVerbose() +SteppingVerbose::SteppingVerbose() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN03SteppingVerbose::~ExN03SteppingVerbose() +SteppingVerbose::~SteppingVerbose() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03SteppingVerbose::StepInfo() +void SteppingVerbose::StepInfo() { CopyState(); @@ -141,7 +141,7 @@ void ExN03SteppingVerbose::StepInfo() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void ExN03SteppingVerbose::TrackingStarted() +void SteppingVerbose::TrackingStarted() { CopyState(); diff --git a/examples/novice/N03/vis.mac b/examples/novice/N03/vis.mac index f13aaaaa53..207b55d004 100644 --- a/examples/novice/N03/vis.mac +++ b/examples/novice/N03/vis.mac @@ -1,5 +1,3 @@ -# $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 # @@ -9,58 +7,71 @@ /control/saveHistory /run/verbose 2 # -# create empty scene +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/scene/create +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) -# -# Use this open statement to get an .eps and .prim files -# suitable for viewing in DAWN. -###/vis/open DAWNFILE -# -# Use this open statement instead for OpenGL in immediate mode. -/vis/open OGLIX -# -# Use this open statement instead to get a HepRep version 1 file -# suitable for viewing in WIRED. +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: #/vis/open HepRepFile # -# Use this open statement instead to get a HepRep version 2 file -# suitable for viewing in WIRED. -#/vis/open HepRepXML +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -# Output an empty detector -/vis/viewer/flush +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -# Draw trajectories at end of event, showing trajectory points as -# markers of size 2 pixels +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. +# +# Specify zoom value: +#/vis/viewer/zoom 2. +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: /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 # (if too many tracks cause core dump => /tracking/storeTrajectory 0) # -# To draw gammas only +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: #/vis/filtering/trajectories/create/particleFilter #/vis/filtering/trajectories/particleFilter-0/add gamma # -# To draw charged particles only +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: #/vis/filtering/trajectories/particleFilter-0/invert true # -# Many other options available with /vis/modeling and /vis/filtering. -# For example, select colour by particle ID +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: #/vis/modeling/trajectories/create/drawByParticleID -#/vis/modeling/trajectories/drawByParticleID-0/set e- red +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue # +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -# At end of each run, an automatic flush causes graphical output. -#/run/beamOn 1 -# When you exit Geant4, you will find a file called scene-0.heprep.zip. -# Unzipping this will give you three separate HepRep files suitable for -# viewing in WIRED. -# The first file will contain just detector geometry. -# The second file will contain the detector plus one event. -# The third file will contain the detector plus ten events. +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/novice/N03/visTutor/exN03Tree1.mac b/examples/novice/N03/visTutor/exN03Tree1.mac deleted file mode 100644 index cfc8321f09..0000000000 --- a/examples/novice/N03/visTutor/exN03Tree1.mac +++ /dev/null @@ -1,63 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Tree1.mac # -# # -# AUTHOR(S): Satoshi Tanaka # -# # -# DATE: # -# Sept 08-09, 2001 (at Hebden Bridge, UK) # -# June 20, 2001 # -# # -# CONTENTS: A macro to demonstrate GAG DTREE # -# # -# USAGE: # -# * Edit exampleN03.cc to use the GAG interface # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Tree1.mac # -# # -# REQUIRED PLATFORMS & SOFTWARES: Unix/Windows, GAG (Java version) # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# # -# * Unnecessary # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# * Unnecessary # -# # -# VERBOSE LEVEL: # -# # -# < 10: - does not print daughters of repeated logical volumes. # -# - does not repeat replicas. # -# >= 10: prints all physical volumes. # -# For level of detail add: # -# >= 0: prints physical volume name. # -# >= 1: prints logical volume name. # -# >= 2: prints solid name and type. # -# # -# ADDITIONAL NOTES: # -# * The geometry tree is displayed in GAG windows stdout. # -# (If you are using the G4 character terminals, the tree is # -# displayed in stdout.) # -# * The compound command to visualize geometry tree: # -# /vis/drawTree [] [] # -####################################################################### - -# Draw the whole geometry tree -# Note: "!" means the default argument, i.e., "world" -/vis/drawTree ! GAGTree - -# Draw a part of tree -/vis/drawTree Gap GAGTree - -# Change the level to display details -/vis/GAGTree/verbose 1 -/vis/drawTree ! GAGTree - -# Change the level to display details -/vis/GAGTree/verbose 2 -/vis/drawTree ! GAGTree - -# Change the level to display details -/vis/GAGTree/verbose 10 -/vis/drawTree ! GAGTree diff --git a/examples/novice/N03/visTutor/exN03Vis0.mac b/examples/novice/N03/visTutor/exN03Vis0.mac index fb505e3757..056d172716 100644 --- a/examples/novice/N03/visTutor/exN03Vis0.mac +++ b/examples/novice/N03/visTutor/exN03Vis0.mac @@ -1,9 +1,10 @@ ####################################################################### # MACRO FILE NAME: exN03Vis0.mac # # # -# AUTHOR(S): Satoshi Tanaka # +# AUTHOR(S): Satoshi Tanaka, John Allison # # # # DATE: # +# Nov 11, 2010 Updated (JA) # # Nov 07, 2001 # # Sept 08-09, 2001 (at Hebden Bridge, UK) # # June 20, 2001 # @@ -16,24 +17,15 @@ # CONTENTS: A simplest macro to demonstrate visualization of # # detector geometry and events # # # -# USAGE: % gmake visclean # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Vis0.mac # +# USAGE with terminal session: # +# Idle> /control/execute visTutor/exN03Vis0.mac # +# USAGE with GUI session: # +# /control/execute visTutor/exN03Vis0.mac # +# or pull-down "Vis" menu and click on "Vis0" # # # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, # -# DAWN (version 3.85 or after) # -# gv (Ghostview), Tcl/Tk # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv OGLHOME ... (e.g. /usr/X11R6) # -# % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv G4VIS_USE_OPENGLX 1 # +# REQUIRED PLATFORMS & SOFTWARES: # +# See geant4.cern.ch and Installation Guide. # +# We recommend standard installation. # # # # ADDITIONAL NOTES: # # The compound command "/vis/open " # @@ -53,12 +45,11 @@ ############################################## # Visualization of detector geometry -# with the OGLIX (OpenGL Immediate X) driver +# with the OGL (OpenGL) driver ############################################## -# Invoke the OGLIX driver -/vis/open OGLIX -#/vis/open DAWNFILE +# Invoke the OGL driver +/vis/open OGL # Set camera /vis/viewer/reset @@ -67,6 +58,9 @@ # Create an empty scene and add the detector geometry to it /vis/drawVolume +# Draw an event +/run/beamOn + # The following command "flush" # the action of the current viewer. # They are required for the post-processing drivers @@ -93,16 +87,20 @@ /vis/drawVolume # Add trajectories to the current scene -# Note: This command is not necessary in exampleN03, -# since the C++ method DrawTrajectory() is -# described in the event action. -#/vis/scene/add/trajectories +/vis/scene/add/trajectories + +# Draw an event +/run/beamOn # Set camera /vis/viewer/reset /vis/viewer/zoom 1.5 /vis/viewer/set/viewpointThetaPhi 70 20 +/vis/viewer/set/projection perspective 30 deg +/run/beamOn -# Visualize events added to the current scene -/tracking/storeTrajectory 1 -/run/beamOn 3 +# Add more stuff to the current scene +/vis/scene/add/axes 0 0 0 10 cm +/vis/scene/add/text 0 0 0 mm 50 -100 -240 N03 +/vis/scene/add/scale 10 cm z 1 0 0 manual -2.5 -13 0 cm +/run/beamOn diff --git a/examples/novice/N03/visTutor/exN03Vis1.mac b/examples/novice/N03/visTutor/exN03Vis1.mac deleted file mode 100644 index 5ee98b8319..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis1.mac +++ /dev/null @@ -1,164 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis1.mac # -# # -# AUTHOR(S): Satoshi Tanaka # -# # -# DATE: # -# Nov 07, 2001 # -# Sept 08-09, 2001 (at Hebden Bridge, UK) # -# June 20, 2001 # -# November 26, 2000 # -# October 17, 2000 # -# June 06, 2000 # -# May 20, 2000 # -# November 10, 1999 # -# # -# CONTENTS: A basic macro for visualization of detector geometry # -# # -# USAGE: % gmake visclean # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Vis1.mac # -# # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, # -# DAWN (version 3.85 or after) # -# gv (Ghostview), Tcl/Tk # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv OGLHOME ... (e.g. /usr/X11R6) # -# % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv G4VIS_USE_OPENGLX 1 # -# # -# ADDITIONAL NOTES: # -# The compound command "/vis/open " # -# is equivalent to the following set of commands: # -# # -# /vis/sceneHandler/create $1 # -# /vis/viewer/create # -# # -# The compound command "/vis/drawVolume " # -# is equivalent to the following set of commands: # -# # -# /vis/scene/create # -# /vis/scene/add/volume $1 # -# /vis/sceneHandler/attach # -# # -####################################################################### - -########################################### -# Visualization of detector geometry -# with the OGLSX (OpenGL Stored X) driver -########################################### - -# Invoke the OGLSX driver -/vis/open OGLSX - -# Bird's-eye view of the detector geometry -# -# viewpoint : (theta,phi) = (20*deg, 70*deg), -# zoom factor: 0.8 of the full screen size -# -/vis/viewer/reset -/vis/viewer/set/viewpointThetaPhi 20 70 -/vis/viewer/zoom 0.8 -/vis/drawVolume - -# The following two commands "flush" -# the action of the current viewer. -# They are required for the post-processing drivers -# such as DAWNFILE, VRMLFILE, HepRep drivers, etc. -# For OpenGL drivers, these commands are not required -# but harmless even if they are described. -/vis/viewer/flush - -########################################################## -# Visualization with the DAWNFILE driver -# -# * Each visualized view is saved to a file "g4_XX.eps" -# with the "vectorized" PostScript format. -# -# * Set an environmental variable if you wish to -# skip DAWN GUI: -# % setenv G4DAWNFILE_VIEWER "dawn -d" -########################################################## - -# Invoke the DAWNFILE driver -/vis/open DAWNFILE - -# Bird's-eye view of a detector component (Absorber) -# viewpoint : (theta,phi) = (35*deg, 35*deg), -# zoom factor: 1.1 of the full screen size -# coordinate axes: -# x-axis:red, y-axis:green, z-axis:blue -# origin: (0,0,0), length: 500 -# Scale: length = 10 cm, Orientation = z, color = red, -# placing_algorithm = manual, -# center = (-2.5 cm , -5 cm, 0 cm) -# -/vis/viewer/reset -/vis/viewer/zoom 1.1 -/vis/viewer/set/viewpointThetaPhi 35 35 -/vis/drawVolume Absorber -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 40 -100 -140 Absorber -/vis/scene/add/scale 10 cm z 1 0 0 manual -2.5 -5 0 cm - -# "Flush the action of all the existing viewers. -# Note: You should execute these commands, e.g., -# when the current scene is modified. -/vis/scene/notifyHandlers -/vis/viewer/update - -# FOR FUTURE UPDATION -#/vis/viewer/flushAll - -# Bird's-eye view of a detector component (Gap) -/vis/viewer/reset -/vis/viewer/zoom 1.1 -/vis/viewer/set/viewpointThetaPhi 35 35 -/vis/drawVolume Gap -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 50 -100 -140 Gap -/vis/scene/add/scale 10 cm z 1 0 0 manual -2.5 -5 0 cm - -# "Flush the action of all the existing viewers. -/vis/scene/notifyHandlers -/vis/viewer/update - -# FOR FUTURE UPDATION -#/vis/viewer/flushAll - - -# Bird's-eye view of the whole detector components (world) -# * The argument "world" of the command -# "/vis/scene/add/volume" is omittable. -# * "/vis/viewer/set/culling false" makes the invisible -# world volume visible. -# (The invisibility of the world volume is set -# in ExN03DetectorConstruction.cc.) -/vis/viewer/reset -/vis/viewer/zoom 1.1 -/vis/viewer/set/viewpointThetaPhi 35 35 -/vis/viewer/set/culling global false -/vis/drawVolume -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 50 -100 -240 World -/vis/scene/add/scale 10 cm x 1 0 0 - -# "Flush the action of all the existing viewers. -/vis/scene/notifyHandlers -/vis/viewer/update - -# FOR FUTURE UPDATION -#/vis/viewer/flushAll - - -# Make the culling on for next visualization -# Note: You may also use "/vis/viewer/reset" -# for this initialization. -/vis/viewer/set/culling global true diff --git a/examples/novice/N03/visTutor/exN03Vis10.mac b/examples/novice/N03/visTutor/exN03Vis10.mac deleted file mode 100644 index eda90180a5..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis10.mac +++ /dev/null @@ -1,72 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis10.mac # -# # -# AUTHOR(S): Guy Barrand # -# # -# DATE: June 09, 2000 # -# # -# CONTENTS: A basic macro for demonstrating Inventor driver # -# # -# USAGE: % $G4BINDIR/exampleN03 visTutor/exN03Vis6.mac # -# # -# REQUIRED PLATFORMS & SOFTWARES: Windows, # -# some Inventor (TGS, SGI, Coin) # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# G4VIS_BUILD_OIWIN32_DRIVER # -# G4UI_BUILD_WIN32_SESSION # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# G4VIS_USE_OIWIN32 # -# G4UI_USE_WIN32 # -# # -# ADDITIONAL NOTES: # -# # -####################################################################### - -# Create "scene-0" -/vis/scene/create - -# Invoke the OpenInventor driver -/vis/sceneHandler/create OIWin32 -/vis/viewer/create - -# Add the world volume to the current scene -/vis/scene/add/volume -#/vis/scene/add/volume Layer -# Name of the absorbers = name of their material (Lead) ! -#/vis/scene/add/volume Lead -# Name of the gaps = name of their material (liquidArgon) ! -#/vis/scene/add/volume liquidArgon -#/vis/scene/add/trajectories -/tracking/storeTrajectory 1 - -# Bird-eye view of events -/vis/viewer/reset -/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 : pan. # -# Ctrl+Shift+Left-button + pointer move : scale. # -# Middle-button + pointer move : pan. # -# # -####################################################################### - -/vis/viewer/update - -/run/beamOn 1 - - diff --git a/examples/novice/N03/visTutor/exN03Vis11.mac b/examples/novice/N03/visTutor/exN03Vis11.mac deleted file mode 100644 index 209999f183..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis11.mac +++ /dev/null @@ -1,157 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis11.mac # -# # -# AUTHOR(S): Guy Barrand dd # -# # -# DATE: # -# April 08, 2004 # -# # -# CONTENTS: A basic macro for visualization of detector geometry # -# # -# USAGE: % gmake visclean # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Vis11.mac # -# # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, # -# DAWN (version 3.85 or after) # -# gv (Ghostview), Tcl/Tk # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv OGLHOME ... (e.g. /usr/X11R6) # -# % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv G4VIS_USE_OPENGLX 1 # -# # -# ADDITIONAL NOTES: # -# The compound command "/vis/open " # -# is equivalent to the following set of commands: # -# # -# /vis/sceneHandler/create $1 # -# /vis/viewer/create # -# # -# The compound command "/vis/drawVolume " # -# is equivalent to the following set of commands: # -# # -# /vis/scene/create # -# /vis/scene/add/volume $1 # -# /vis/sceneHandler/attach # -# # -####################################################################### - -########################################### -# Visualization of detector geometry -# with the OGLSXm (OpenGL Stored Motif) driver -########################################### - -# Invoke the OGLSXm driver -/vis/open OGLSXm - -# Bird's-eye view of the detector geometry -# -# viewpoint : (theta,phi) = (20*deg, 70*deg), -# zoom factor: 0.8 of the full screen size -# -/vis/viewer/reset -/vis/viewer/set/viewpointThetaPhi 20 70 -/vis/viewer/zoom 0.8 -/vis/drawVolume - -# The following two commands "flush" -# the action of the current viewer. -# They are required for the post-processing drivers -# such as DAWNFILE, VRMLFILE, HepRep drivers, etc. -# For OpenGL drivers, these commands are not required -# but harmless even if they are described. -/vis/viewer/flush - -########################################################## -# Visualization with the DAWNFILE driver -# -# * Each visualized view is saved to a file "g4_XX.eps" -# with the "vectorized" PostScript format. -# -# * Set an environmental variable if you wish to -# skip DAWN GUI: -# % setenv G4DAWNFILE_VIEWER "dawn -d" -########################################################## - -# Invoke the DAWNFILE driver -/vis/open DAWNFILE - -# Bird's-eye view of a detector component (Absorber) -# viewpoint : (theta,phi) = (35*deg, 35*deg), -# zoom factor: 1.1 of the full screen size -# coordinate axes: -# x-axis:red, y-axis:green, z-axis:blue -# origin: (0,0,0), length: 500 -# Scale: length = 10 cm, Orientation = z, color = red, -# placing_algorithm = manual, -# center = (-2.5 cm , -5 cm, 0 cm) -# -/vis/viewer/reset -/vis/viewer/zoom 1.1 -/vis/viewer/set/viewpointThetaPhi 35 35 -/vis/drawVolume Absorber -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 40 -100 -140 Absorber -/vis/scene/add/scale 10 cm z 1 0 0 manual -2.5 -5 0 cm - -# "Flush the action of all the existing viewers. -# Note: You should execute these commands, e.g., -# when the current scene is modified. -/vis/scene/notifyHandlers -/vis/viewer/update - -# FOR FUTURE UPDATION -#/vis/viewer/flushAll - -# Bird's-eye view of a detector component (Gap) -/vis/viewer/reset -/vis/viewer/zoom 1.1 -/vis/viewer/set/viewpointThetaPhi 35 35 -/vis/drawVolume Gap -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 50 -100 -140 Gap -/vis/scene/add/scale 10 cm z 1 0 0 manual -2.5 -5 0 cm - -# "Flush the action of all the existing viewers. -/vis/scene/notifyHandlers -/vis/viewer/update - -# FOR FUTURE UPDATION -#/vis/viewer/flushAll - - -# Bird's-eye view of the whole detector components (world) -# * The argument "world" of the command -# "/vis/scene/add/volume" is omittable. -# * "/vis/viewer/set/culling false" makes the invisible -# world volume visible. -# (The invisibility of the world volume is set -# in ExN03DetectorConstruction.cc.) -/vis/viewer/reset -/vis/viewer/zoom 1.1 -/vis/viewer/set/viewpointThetaPhi 35 35 -/vis/viewer/set/culling global false -/vis/drawVolume -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 50 -100 -240 World -/vis/scene/add/scale 10 cm x 1 0 0 - -# "Flush the action of all the existing viewers. -/vis/scene/notifyHandlers -/vis/viewer/update - -# FOR FUTURE UPDATION -#/vis/viewer/flushAll - - -# Make the culling on for next visualization -# Note: You may also use "/vis/viewer/reset" -# for this initialization. -/vis/viewer/set/culling global true diff --git a/examples/novice/N03/visTutor/exN03Vis12.mac b/examples/novice/N03/visTutor/exN03Vis12.mac index c5562ae304..e1bbf6afbe 100644 --- a/examples/novice/N03/visTutor/exN03Vis12.mac +++ b/examples/novice/N03/visTutor/exN03Vis12.mac @@ -7,91 +7,143 @@ # # # CONTENTS: A basic macro for demonstrating time slicing # # # -# USAGE: % $G4BINDIR/exampleN03 visTutor/exN03Vis12.mac # +# USAGE: # +# exampleN03 visTutor/exN03Vis12.mac # +# or Idle> /control/execute visTutor/exN03Vis12.mac # +# or pull down "Vis" menu and click on "TimeSlicing" # # # # REQUIRED PLATFORMS & SOFTWARES: Mac/Unix with X-Windows, OpenGL # # # -# ADDITIONAL NOTES: # -# # ####################################################################### /control/verbose 2 /vis/verbose confirmations -/vis/open OGLSX +/vis/open OGL 600x600-0+0 + +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors + /vis/drawVolume /vis/scene/add/eventID /vis/scene/add/trajectories rich # Set up drawByCharge with time slicing -/vis/modeling/trajectories/create/drawByCharge -/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true -/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 5 -/vis/modeling/trajectories/drawByCharge-0/default/setDrawAuxPts true -/vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsSize 5 -/vis/modeling/trajectories/drawByCharge-0/default/setTimeSliceInterval 0.001 ns +/vis/modeling/trajectories/create/drawByCharge TimeSliceByCharge +/vis/modeling/trajectories/TimeSliceByCharge/default/setDrawStepPts true +/vis/modeling/trajectories/TimeSliceByCharge/default/setStepPtsSize 5 +/vis/modeling/trajectories/TimeSliceByCharge/default/setDrawAuxPts true +/vis/modeling/trajectories/TimeSliceByCharge/default/setAuxPtsSize 5 +/vis/modeling/trajectories/TimeSliceByCharge/default/setTimeSliceInterval 0.001 ns /vis/modeling/trajectories/list #/N03/det/setField 5 T +#/vis/scene/add/trajectories rich smooth #/N03/det/update + +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings + +# Draw event +/gun/particle e- +/gun/energy 50 MeV /run/beamOn # Configure OpenGL for display-by-time /vis/ogl/set/fade 1 /vis/ogl/set/displayHeadTime true /control/alias timeRange 0.1 + +# Display time slices /vis/verbose warnings /control/verbose 0 -/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.005 +/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.001 +/control/shell sleep 5 /control/verbose 2 /vis/verbose confirmations -/vis/ogl/set/displayHeadTime false + +# Another event +/run/beamOn + +# Display time slices +/vis/verbose warnings +/control/verbose 0 +/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.001 +/control/shell sleep 5 +/control/verbose 2 +/vis/verbose confirmations + +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # Set up drawByParticleID with time slicing -/vis/modeling/trajectories/create/drawByParticleID -/vis/modeling/trajectories/drawByParticleID-0/set e- red -/vis/modeling/trajectories/drawByParticleID-0/set e+ blue -/vis/modeling/trajectories/drawByParticleID-0/set pi- cyan -/vis/modeling/trajectories/drawByParticleID-0/set pi+ magenta -#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawStepPts true -/vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsSize 5 -#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawAuxPts true -/vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsSize 5 -/vis/modeling/trajectories/drawByParticleID-0/default/setTimeSliceInterval 0.001 ns +/vis/modeling/trajectories/create/drawByParticleID TimeSliceByParticleID +/vis/modeling/trajectories/TimeSliceByParticleID/set e- red +/vis/modeling/trajectories/TimeSliceByParticleID/set e+ blue +/vis/modeling/trajectories/TimeSliceByParticleID/set pi- cyan +/vis/modeling/trajectories/TimeSliceByParticleID/set pi+ magenta +#/vis/modeling/trajectories/TimeSliceByParticleID/default/setDrawStepPts true +/vis/modeling/trajectories/TimeSliceByParticleID/default/setStepPtsSize 5 +#/vis/modeling/trajectories/TimeSliceByParticleID/default/setDrawAuxPts true +/vis/modeling/trajectories/TimeSliceByParticleID/default/setAuxPtsSize 5 +/vis/modeling/trajectories/TimeSliceByParticleID/default/setTimeSliceInterval 0.001 ns /vis/modeling/trajectories/list # Remove gammas -/vis/filtering/trajectories/create/particleFilter -/vis/filtering/trajectories/particleFilter-0/add gamma -/vis/filtering/trajectories/particleFilter-0/invert true +/vis/filtering/trajectories/create/particleFilter TimeSliceFilter +/vis/filtering/trajectories/TimeSliceFilter/add gamma +/vis/filtering/trajectories/TimeSliceFilter/invert true + +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings /gun/energy 1 GeV /run/beamOn + /control/alias timeRange 0.1 /vis/ogl/set/displayHeadTime true /vis/ogl/set/displayLightFront true -90 0 0 mm /vis/verbose warnings /control/verbose 0 /control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.001 +/control/shell sleep 5 /control/verbose 2 /vis/verbose confirmations /vis/ogl/set/displayLightFront false /vis/ogl/set/displayHeadTime false +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors + # To see pi -> mu -> e decay. /gun/particle pi+ -/vis/filtering/trajectories/particleFilter-0/add anti_nu_mu -/vis/filtering/trajectories/particleFilter-0/add nu_mu -/vis/filtering/trajectories/particleFilter-0/add anti_nu_e -/vis/filtering/trajectories/particleFilter-0/add nu_e +/vis/filtering/trajectories/TimeSliceFilter/add anti_nu_mu +/vis/filtering/trajectories/TimeSliceFilter/add nu_mu +/vis/filtering/trajectories/TimeSliceFilter/add anti_nu_e +/vis/filtering/trajectories/TimeSliceFilter/add nu_e # Accumulate several events for effect # /vis/scene/endOfEventAction accumulate /gun/energy 100 MeV #/vis/viewer/set/globalLineWidthScale 2 + +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings + /run/beamOn + /control/alias timeRange 1000 /vis/ogl/set/displayHeadTime true /vis/verbose warnings /control/verbose 0 /control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 3000 5 +/control/shell sleep 5 /control/verbose 2 /vis/verbose confirmations diff --git a/examples/novice/N03/visTutor/exN03Vis13.mac b/examples/novice/N03/visTutor/exN03Vis13.mac index c2fae329bc..d54e811083 100644 --- a/examples/novice/N03/visTutor/exN03Vis13.mac +++ b/examples/novice/N03/visTutor/exN03Vis13.mac @@ -7,43 +7,55 @@ # # # CONTENTS: Time development of an electrmagnetic shower. # # # -# USAGE: % $G4BINDIR/exampleN03 visTutor/exN03Vis12.mac # +# USAGE: # +# exampleN03 visTutor/exN03Vis12.mac # +# or Idle> /control/execute visTutor/exN03Vis12.mac # +# or pull down "Vis" menu and click on "EmShower" # # # # REQUIRED PLATFORMS & SOFTWARES: Mac/Unix with X-Windows, OpenGL # # # -# ADDITIONAL NOTES: # -# # ####################################################################### /control/verbose 2 /vis/verbose confirmations -/vis/open OGLSX 600x600-0+0 +/vis/open OGL 600x600-0+0 +/vis/ogl/set/displayListLimit 100000 + +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors + /vis/drawVolume /vis/scene/add/eventID /vis/scene/add/trajectories rich # Set up drawByParticleID with time slicing -/vis/modeling/trajectories/create/drawByParticleID -/vis/modeling/trajectories/drawByParticleID-0/set e- red -/vis/modeling/trajectories/drawByParticleID-0/set e+ blue -/vis/modeling/trajectories/drawByParticleID-0/set pi- cyan -/vis/modeling/trajectories/drawByParticleID-0/set pi+ magenta -#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawStepPts true -/vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsSize 5 -#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawAuxPts true -/vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsSize 5 +/vis/modeling/trajectories/create/drawByParticleID EmShowerByParticleID +/vis/modeling/trajectories/EmShowerByParticleID/set e- red +/vis/modeling/trajectories/EmShowerByParticleID/set e+ blue +/vis/modeling/trajectories/EmShowerByParticleID/set pi- cyan +/vis/modeling/trajectories/EmShowerByParticleID/set pi+ magenta +#/vis/modeling/trajectories/EmShowerByParticleID/default/setDrawStepPts true +/vis/modeling/trajectories/EmShowerByParticleID/default/setStepPtsSize 5 +#/vis/modeling/trajectories/EmShowerByParticleID/default/setDrawAuxPts true +/vis/modeling/trajectories/EmShowerByParticleID/default/setAuxPtsSize 5 /control/alias interval 0.01 /control/alias halfInterval 0.005 -/vis/modeling/trajectories/drawByParticleID-0/default/setTimeSliceInterval {interval} ns +/vis/modeling/trajectories/EmShowerByParticleID/default/setTimeSliceInterval {interval} ns /vis/modeling/trajectories/list # Remove gammas -/vis/filtering/trajectories/create/particleFilter -/vis/filtering/trajectories/particleFilter-0/add gamma -/vis/filtering/trajectories/particleFilter-0/invert true +/vis/filtering/trajectories/create/particleFilter EmShowerFilter +/vis/filtering/trajectories/EmShowerFilter/add gamma +/vis/filtering/trajectories/EmShowerFilter/invert true -# Create trajecgtories +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings + +# Create trajectories /gun/energy 10 GeV /vis/viewer/set/globalLineWidthScale 2 /run/beamOn diff --git a/examples/novice/N03/visTutor/exN03Vis14.mac b/examples/novice/N03/visTutor/exN03Vis14.mac deleted file mode 100644 index 38580d1930..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis14.mac +++ /dev/null @@ -1,156 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis14.mac # -# # -# AUTHOR(S): Laurent Garnier # -# # -# DATE: July 13, 2007 # -# # -# CONTENTS: A basic macro for visualization of detector geometry # -# # -# USAGE: % gmake visclean # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Vis14.mac # -# # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL,Qt # -# DAWN (version 3.85 or after) # -# gv (Ghostview), Tcl/Tk # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv OGLHOME ... (e.g. /usr/X11R6) # -# % setenv G4VIS_BUILD_OPENGLQT_DRIVER 1 # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv G4VIS_USE_OPENGLQT 1 # -# # -# ADDITIONAL NOTES: # -# The compound command "/vis/open " # -# is equivalent to the following set of commands: # -# # -# /vis/sceneHandler/create $1 # -# /vis/viewer/create # -# # -# The compound command "/vis/drawVolume " # -# is equivalent to the following set of commands: # -# # -# /vis/scene/create # -# /vis/scene/add/volume $1 # -# /vis/sceneHandler/attach # -# # -####################################################################### - -########################################### -# Visualization of detector geometry -# with the OGLSQT (OpenGL Stored QT) driver -########################################### - -# Invoke the OGLSQt driver -/vis/open OGLSQt - -# Bird's-eye view of the detector geometry -# -# viewpoint : (theta,phi) = (20*deg, 70*deg), -# zoom factor: 0.8 of the full screen size -# -/vis/viewer/reset -/vis/viewer/set/viewpointThetaPhi 20 70 -/vis/viewer/zoom 0.8 -/vis/drawVolume - -# The following two commands "flush" -# the action of the current viewer. -# They are required for the post-processing drivers -# such as DAWNFILE, VRMLFILE, HepRep drivers, etc. -# For OpenGL drivers, these commands are not required -# but harmless even if they are described. -/vis/viewer/flush - -########################################################## -# Visualization with the DAWNFILE driver -# -# * Each visualized view is saved to a file "g4_XX.eps" -# with the "vectorized" PostScript format. -# -# * Set an environmental variable if you wish to -# skip DAWN GUI: -# % setenv G4DAWNFILE_VIEWER "dawn -d" -########################################################## - -# Invoke the DAWNFILE driver -/vis/open DAWNFILE - -# Bird's-eye view of a detector component (Absorber) -# viewpoint : (theta,phi) = (35*deg, 35*deg), -# zoom factor: 1.1 of the full screen size -# coordinate axes: -# x-axis:red, y-axis:green, z-axis:blue -# origin: (0,0,0), length: 500 -# Scale: length = 10 cm, Orientation = z, color = red, -# placing_algorithm = manual, -# center = (-2.5 cm , -5 cm, 0 cm) -# -/vis/viewer/reset -/vis/viewer/zoom 1.1 -/vis/viewer/set/viewpointThetaPhi 35 35 -/vis/drawVolume Absorber -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 40 -100 -140 Absorber -/vis/scene/add/scale 10 cm z 1 0 0 manual -2.5 -5 0 cm - -# "Flush the action of all the existing viewers. -# Note: You should execute these commands, e.g., -# when the current scene is modified. -/vis/scene/notifyHandlers -/vis/viewer/update - -# FOR FUTURE UPDATION -#/vis/viewer/flushAll - -# Bird's-eye view of a detector component (Gap) -/vis/viewer/reset -/vis/viewer/zoom 1.1 -/vis/viewer/set/viewpointThetaPhi 35 35 -/vis/drawVolume Gap -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 50 -100 -140 Gap -/vis/scene/add/scale 10 cm z 1 0 0 manual -2.5 -5 0 cm - -# "Flush the action of all the existing viewers. -/vis/scene/notifyHandlers -/vis/viewer/update - -# FOR FUTURE UPDATION -#/vis/viewer/flushAll - - -# Bird's-eye view of the whole detector components (world) -# * The argument "world" of the command -# "/vis/scene/add/volume" is omittable. -# * "/vis/viewer/set/culling false" makes the invisible -# world volume visible. -# (The invisibility of the world volume is set -# in ExN03DetectorConstruction.cc.) -/vis/viewer/reset -/vis/viewer/zoom 1.1 -/vis/viewer/set/viewpointThetaPhi 35 35 -/vis/viewer/set/culling global false -/vis/drawVolume -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 50 -100 -240 World -/vis/scene/add/scale 10 cm x 1 0 0 - -# "Flush the action of all the existing viewers. -/vis/scene/notifyHandlers -/vis/viewer/update - -# FOR FUTURE UPDATION -#/vis/viewer/flushAll - - -# Make the culling on for next visualization -# Note: You may also use "/vis/viewer/reset" -# for this initialization. -/vis/viewer/set/culling global true diff --git a/examples/novice/N03/visTutor/exN03Vis15.mac b/examples/novice/N03/visTutor/exN03Vis15.mac deleted file mode 100644 index bf72278ba9..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis15.mac +++ /dev/null @@ -1,56 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis12.mac # -# # -# AUTHOR(S): Laurent Garnier # -# # -# DATE: July 01, 2007 # -# # -# CONTENTS: A basic macro for demonstrating Inventor driver # -# # -# USAGE: % $G4BINDIR/exampleN03 visTutor/exN03Vis12.mac # -# # -# 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_OGLQT -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv G4VIS_USE_OGLQT 1 # -# # -# ADDITIONAL NOTES: # -# # -####################################################################### - -# Create "scene-0" -/vis/scene/create - -# Invoke the Qt driver -/vis/sceneHandler/create OGLSQt -/vis/viewer/create - -# Add the world volume to the current scene -/vis/scene/add/volume -#/vis/scene/add/volume Layer -# Name of the absorbers = name of their material (Lead) ! -#/vis/scene/add/volume Lead -# Name of the gaps = name of their material (liquidArgon) ! -#/vis/scene/add/volume liquidArgon -#/vis/scene/add/trajectories -/tracking/storeTrajectory 1 - -# Bird-eye view of events -/vis/viewer/reset -/vis/viewer/set/viewpointThetaPhi 45 45 - -/vis/scene/notifyHandlers - -/control/verbose 2 - -/vis/viewer/update - -/run/beamOn 1 - diff --git a/examples/novice/N03/visTutor/exN03Vis2.mac b/examples/novice/N03/visTutor/exN03Vis2.mac deleted file mode 100644 index b1fec56f33..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis2.mac +++ /dev/null @@ -1,127 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis2.mac # -# # -# AUTHOR(S): Satoshi Tanaka # -# # -# DATE: # -# Nov 07, 2001 # -# Sept 08-09, 2001 (at Hebden Bridge, UK) # -# June 20, 2001 # -# November 26, 2000 # -# October 17, 2000 # -# June 06, 2000 # -# May 20, 2000 # -# November 10, 1999 # -# # -# CONTENTS: A basic macro for visualization of events # -# # -# USAGE: % gmake visclean # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Vis2.mac # -# # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, # -# DAWN (version 3.85 or after) # -# gv (Ghostview), Tcl/Tk # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv OGLHOME ... (e.g. /usr/X11R6) # -# % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv G4VIS_USE_OPENGLX 1 # -# # -# ADDITIONAL NOTES: # -# The compound command "/vis/open " # -# is equivalent to the following set of commands: # -# # -# /vis/sceneHandler/create $1 # -# /vis/viewer/create # -# # -####################################################################### - -################################################# -# Store particle trajactories for visualization -################################################# -/tracking/storeTrajectory 1 - -####################################################### -# Visualization with the OGLSX (OpenGL Stored X) driver -####################################################### - -# Invoke the OGLSX driver -/vis/open OGLSX - -# Create an empty scene and add the detector geometry to it -/vis/drawVolume - -# Add trajectories to the current scene -# Note: This command is not necessary in exampleN03, -# since the C++ method DrawTrajectory() is -# described in the event action. -#/vis/scene/add/trajectories - -# Set viewing parameters -# viewpoint : (theta,phi) = (10*deg, 10*deg). -# drawing style: surface -/vis/viewer/reset -/vis/viewer/set/style surface -/vis/viewer/set/viewpointThetaPhi 10 10 - -# Generate one event and visualize it. -/run/beamOn 1 - - -########################################################## -# Visualization with the DAWNFILE driver -# -# * Each visualized view is saved to a file "g4_XX.eps" -# with the "vectorized" PostScript format. -# -# * Set an environmental variable if you wish to -# skip DAWN GUI: -# % setenv G4DAWNFILE_VIEWER "dawn -d" -########################################################## - -# Invoke the DAWNFILE driver -/vis/open DAWNFILE - -# Create an empty scene and add the detector geometry to it -/vis/drawVolume - -# Add trajectories to the current scene -# Note: This command is not necessary in exampleN03, -# since the C++ method DrawTrajectory() is -# described in the event action. -#/vis/scene/add/trajectories - -# Set the trajectory-accumulation mode to "accumulate". -# Trajectories of each event are accumulated -# and visualized at the end of one run. -/vis/scene/endOfEventAction accumulate - -# Visualize many events (bird's eye view) -# viewpoint : (theta,phi) = (45*deg, 45*deg) -# zoom factor: 1.5 x (full screen size) -# drawing style: wireframe -/vis/viewer/reset -/vis/viewer/set/style wireframe -/vis/viewer/set/viewpointThetaPhi 45 45 -/vis/viewer/zoom 1.5 -/run/beamOn 50 - -# Visualize many events (zoomed-up view) -# viewpoint : (theta,phi) = (90*deg, 0) -# zoom factor: 5 x (full screen size) -/vis/viewer/reset -/vis/viewer/set/style wireframe -/vis/viewer/set/viewpointThetaPhi 90 0 -/vis/viewer/zoom 5 -/run/beamOn 50 - -# Reset trajectory-accumulation mode to "refresh" (default) -# Trajectories are visualized at the end of each event. -/vis/scene/endOfEventAction refresh diff --git a/examples/novice/N03/visTutor/exN03Vis3.mac b/examples/novice/N03/visTutor/exN03Vis3.mac deleted file mode 100644 index 06f7b73f81..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis3.mac +++ /dev/null @@ -1,136 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis3.mac # -# # -# AUTHOR(S): Satoshi Tanaka # -# # -# DATE: # -# Nov 07, 2001 # -# Sept 08-09, 2001 (at Hebden Bridge, UK) # -# June 20, 2001 # -# November 26, 2000 # -# October 17, 2000 # -# June 06, 2000 # -# May 20, 2000 # -# November 10, 1999 # -# # -# CONTENTS: A basic macro for demonstrating various drawing styles # -# # -# USAGE: % gmake visclean # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Vis3.mac # -# # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, # -# DAWN (version 3.85 or after) # -# gv (Ghostview), Tcl/Tk # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv OGLHOME ... (e.g. /usr/local) # -# % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv G4VIS_USE_OPENGLX 1 # -# # -# ADDITIONAL NOTES: # -# The compound command "/vis/open " # -# is equivalent to the following set of commands: # -# # -# /vis/sceneHandler/create $1 # -# /vis/viewer/create # -# # -####################################################################### - -############################################## -# Store particle trajactories for visualization -############################################## -/tracking/storeTrajectory 1 - -########################################################### -# Visualization with the OGLIX (OpenGL Immediate X) driver -########################################################### - -# Invoke the OGLSX driver -/vis/open OGLSX - -# Create an empty scene and add the detector geometry to it -/vis/drawVolume - -# Add trajectories to the current scene -# Note: This command is not necessary in exampleN03, -# since the C++ method DrawTrajectory() is -# described in the event action. -#/vis/scene/add/trajectories - -# Bird-eye view of events with -# the hidden-surface drawing style -/vis/viewer/reset -/vis/viewer/set/viewpointThetaPhi 45 45 -/vis/viewer/set/style surface -/run/beamOn 10 - -########################################################## -# Visualization with the DAWNFILE driver -# -# * Each visualized view is saved to a file "g4_XX.eps" -# with the "vectorized" PostScript format. -# -# * Set an environmental variable if you wish to -# skip DAWN GUI: -# % setenv G4DAWNFILE_VIEWER "dawn -d" -# -########################################################## - -# Invoke the DAWNFILE driver -/vis/open DAWNFILE - -# Create an empty scene and add the detector geometry to it -/vis/drawVolume - -# Add trajectories to the current scene -# Note: This command is not necessary in exampleN03, -# since the C++ method DrawTrajectory() is -# described in the event action. -#/vis/scene/add/trajectories - -# Bird-eye view of events with the -# wireframe drawing style -/vis/viewer/reset -/vis/viewer/zoom 1.5 -/vis/viewer/set/viewpointThetaPhi 45 45 -/vis/viewer/set/style wireframe -/run/beamOn 3 - -# Set the trajectory-accumulation mode to "accumulate". -# Trajectories of each event are accumulated -# and visualized at the end of one run. -/vis/scene/endOfEventAction accumulate - -# Bird-eye view of events with the -# hidden-surface drawing style -/vis/viewer/set/style surface -/run/beamOn 50 - -# Cull detector geometry and show only trajectories. -/vis/viewer/reset -/vis/viewer/set/culling global true -/vis/viewer/set/culling density true 999 -/vis/viewer/set/style wireframe -/run/beamOn 10 - -# Reset the culling policy for next visualization -# The default culling policy is: -# global : on -# invisible : on -# low density : off -# covered daughter: off -# -# Note: You may also use "/vis/viewer/reset" -# for this initialization. -/vis/viewer/set/culling density false - -# Reset trajectory-accumulation mode to "refresh" (default) -# Trajectories are visualized at the end of each event. -/vis/scene/endOfEventAction refresh diff --git a/examples/novice/N03/visTutor/exN03Vis4.mac b/examples/novice/N03/visTutor/exN03Vis4.mac deleted file mode 100644 index aa65650ce9..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis4.mac +++ /dev/null @@ -1,105 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis4.mac # -# # -# AUTHOR(S): Satoshi Tanaka # -# # -# DATE: # -# Nov 07, 2001 # -# Sept 08-09, 2001 (at Hebden Bridge, UK) # -# June 20, 2001 # -# November 26, 2000 # -# October 17, 2000 # -# June 06, 2000 # -# # -# CONTENTS: An example for the compound command, # -# "/vis/specify " # -# # -# USAGE: % gmake visclean # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Vis4.mac # -# # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, # -# DAWN (version 3.85 or after) # -# gv (Ghostview), Tcl/Tk # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv OGLHOME ... (e.g. /usr/X11R6) # -# % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# % setenv G4VIS_USE_OPENGLX 1 # -# # -# ADDITIONAL NOTES: # -# The compound command "/vis/open " # -# is equivalent to the following set of commands: # -# # -# /vis/sceneHandler/create $1 # -# /vis/viewer/create # -# # -# The compound command "/vis/specify " # -# is equivalent to the following set of commands: # -# # -# /vis/scene/create # -# /vis/scene/add/logicalVolume $1 # -# /vis/sceneHandler/attach # -# # -####################################################################### - -########################################################## -# Visualization with the OGLIX driver -########################################################## - -# Invoke the OGLIX driver -/vis/open OGLIX - -# Set camera -/vis/viewer/reset -/vis/viewer/zoom 0.9 -/vis/viewer/set/viewpointThetaPhi 35 35 - -# Visualize a selected logical volume -/vis/specify Absorber -/vis/viewer/flush - -########################################################## -# Visualization with the DAWNFILE driver -# -# * Each visualized view is saved to a file "g4_XX.eps" -# with the "vectorized" PostScript format. -# -# * Set an environmental variable if you wish to -# skip DAWN GUI: -# % setenv G4DAWNFILE_VIEWER "dawn -d" -########################################################## -# Invoke the DAWNFILE driver -/vis/open DAWNFILE - -# Set camera -/vis/viewer/reset -/vis/viewer/zoom 0.9 -/vis/viewer/set/viewpointThetaPhi 35 35 - -# Visualize a selected logical volume (1) -/vis/specify Absorber -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 40 -100 -200 LogVol:Absorber -/vis/scene/notifyHandlers -/vis/viewer/update - -# FOR FUTURE UPDATION -#/vis/viewer/flushAll - -# Visualize a selected logical volume (2) -/vis/specify Gap -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 40 -100 -200 LogVol:Gap -/vis/scene/notifyHandlers -/vis/viewer/update - -# FOR FUTURE UPDATION -#/vis/viewer/flushAll - diff --git a/examples/novice/N03/visTutor/exN03Vis5.mac b/examples/novice/N03/visTutor/exN03Vis5.mac index 5373d2d069..72eed00795 100644 --- a/examples/novice/N03/visTutor/exN03Vis5.mac +++ b/examples/novice/N03/visTutor/exN03Vis5.mac @@ -7,7 +7,7 @@ # # # CONTENTS: A basic macro for demonstrating Inventor driver # # # -# USAGE: % $G4BINDIR/exampleN03 visTutor/exN03Vis6.mac # +# USAGE: % $G4BINDIR/exampleN03 visTutor/exN03Vis5.mac # # # # REQUIRED PLATFORMS & SOFTWARES: Unix, Motif, X-window, OpenGL, # # HEPVis # diff --git a/examples/novice/N03/visTutor/exN03Vis6.mac b/examples/novice/N03/visTutor/exN03Vis6.mac deleted file mode 100644 index 456305143c..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis6.mac +++ /dev/null @@ -1,68 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis6.mac # -# # -# AUTHOR(S): Satoshi Tanaka # -# # -# DATE: # -# Nov 07, 2001 # -# Sept 08-09, 2001 (at Hebden Bridge, UK) # -# June 20, 2001 # -# November 26, 2000 # -# October 17, 2000 # -# # -# CONTENTS: A macro to demonstrate the VRMLFILE driver # -# # -# USAGE: % gmake visclean # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Vis7.mac # -# # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, # -# VRML viewer (e.g. VRMLview) # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# * Unnecessary # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# * Unnecessary # -# # -# RECOMMENDED ENVIRONMENTAL VARIABLES FOR VISUALIZATION: # -# # -# % setenv G4VRMLFILE_VIEWER vrmlview # -# ( The default value is "NONE".) # -# # -# ADDITIONAL NOTES: # -# The VRML-file viewer "vrmlview" is obtainable from the following # -# Web site: # -# http://www.sim.no/downloads.html # -# # -####################################################################### - -################################################### -# Visualization of detector geometry and events -# with the VRML2FILE driver. -################################################### - -# Store particle trajactories for visualization -/tracking/storeTrajectory 1 - -# Invoke the VRML2FILE driver -# Note: The VRML1FILE driver generates VRML 1.0 format files. -# The VRML2FILE driver generates VRML 2.0 format files. -/vis/open VRML2FILE - -# Create an empty scene and add the detector geometry to it -/vis/drawVolume - -# Visualize 3 events in the wireframe mode -# Note: The command /vis/scene/add/trajectories -# is not necessary in exampleN03, -# since the C++ method DrawTrajectory() is -# described in the event action. -# Note: "/vis/viewer/set/style wireframe" means -# "half-transparent" in the VRML2FILE driver. -# It is a convention only for this driver. -#/vis/scene/add/trajectories -/vis/viewer/set/style wireframe -/run/beamOn 3 diff --git a/examples/novice/N03/visTutor/exN03Vis7.mac b/examples/novice/N03/visTutor/exN03Vis7.mac deleted file mode 100644 index d554cf0b9a..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis7.mac +++ /dev/null @@ -1,61 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis7.mac # -# # -# AUTHOR(S): Satoshi Tanaka # -# # -# DATE: # -# Nov 14, 2001 # -# # -# CONTENTS: A macro to demonstrate batch visualization to generate # -# PostScript file with the DAWNFILE driver # -# # -# % setenv DAWN_BATCH 1 # -# % make visclean # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Vis8.mac # -# Idle> exit # -# % gv g4_00.eps & # -# % gv g4_01.eps & # -# % gv g4_02.eps & # -# # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, # -# DAWN (version 3.85 or after) # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# * Unnecessary # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# * Unnecessary # -# # -# ADDITIONAL NOTES: # -# # -####################################################################### - -#################################################################### -# Creation of a multi-page PostScript file with the DAWNFILE driver -#################################################################### - -# Invoke the DAWNFILE driver -/vis/open DAWNFILE - -# Add the world volume to the current scene -/vis/drawVolume - -# Add trajectories to the current scene -# Note: This command is not necessary in exampleN03, -# since the C++ method DrawTrajectory() is -# described in the event action. -#/vis/scene/add/trajectories - -# Set camera -/vis/viewer/reset -/vis/viewer/zoom 1.5 -/vis/viewer/set/viewpointThetaPhi 70 20 - -# Visualize events added to the current scene -/tracking/storeTrajectory 1 -/run/beamOn 3 diff --git a/examples/novice/N03/visTutor/exN03Vis8.mac b/examples/novice/N03/visTutor/exN03Vis8.mac deleted file mode 100644 index 082584f505..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis8.mac +++ /dev/null @@ -1,87 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis8.mac # -# # -# AUTHOR(S): Satoshi Tanaka # -# # -# DATE: # -# Nov 14, 2001 (renamed from exN03Vis8.mac) # -# Nov 07, 2001 # -# Sept 08-09, 2001 (at Hebden Bridge, UK) # -# June 20, 2001 # -# November 26, 2000 # -# October 17, 2000 # -# # -# CONTENTS: A macro to demonstrate creation of a "multi-page" # -# PostScript file # -# # -# USAGE: % setenv G4DAWNFILE_MAX_FILE_NUM 1 # -# % setenv DAWN_BATCH a # -# % gmake visclean # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Vis9.mac # -# Idle> exit # -# % gv g4_00.eps # -# # -# Then click, "<<", ">>" etc to traverse pages # -# # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, # -# DAWN (version 3.85 or after) # -# gv (Ghostview), Tcl/Tk # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# * Unnecessary # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# * Unnecessary # -# # -# ADDITIONAL NOTES: # -# * If you execute this macro plural times, all the views are # -# sequentially appended to the file "g4_00.eps". # -# For example if you execute it two times, a 6-page (3+3 page) # -# PostScript file is made. # -# Unset environmental variables to initialize your environment: # -# # -# % unsetenv G4DAWNFILE_MAX_FILE_NUM # -# % unsetenv DAWN_BATCH # -# # -####################################################################### - -#################################################################### -# Creation of a multi-page PostScript file with the DAWNFILE driver -#################################################################### - -# Invoke the DAWNFILE driver -/vis/open DAWNFILE - -# Set viewing parameters -/vis/viewer/reset -/vis/viewer/zoom 0.9 -/vis/viewer/set/viewpointThetaPhi 35 35 - -# Generate page 1: Absorber -/vis/drawVolume Absorber -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 30 -150 -200 Page1/3:Absorber -/vis/viewer/flush - -# Generate page 2: Gap -/vis/drawVolume Gap -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 30 -100 -200 Page2/3:Gap -/vis/viewer/flush - -# Generate page 3: World -/vis/viewer/set/culling global false -/vis/drawVolume -/vis/scene/add/axes 0 0 0 500 mm -/vis/scene/add/text 0 0 0 mm 50 -100 -200 Page3/3:world -/vis/viewer/flush - -# Make the culling on for next visualization -# Note: You may also use "/vis/viewer/reset" -# for this initialization. -/vis/viewer/set/culling global true diff --git a/examples/novice/N03/visTutor/exN03Vis9.mac b/examples/novice/N03/visTutor/exN03Vis9.mac deleted file mode 100644 index 9c0da792bd..0000000000 --- a/examples/novice/N03/visTutor/exN03Vis9.mac +++ /dev/null @@ -1,65 +0,0 @@ -####################################################################### -# MACRO FILE NAME: exN03Vis9.mac # -# # -# AUTHOR(S): Guy Barrand -# # -# DATE: # -# Appril 08, 2004 # -# # -# CONTENTS: A simplest macro to demonstrate visualization of # -# detector geometry and events # -# # -# USAGE: % gmake visclean # -# % $G4BINDIR/exampleN03 # -# Idle> /control/execute visTutor/exN03Vis9.mac # -# # -# REQUIRED PLATFORMS & SOFTWARES: Windows, OpenGL # -# OPTIONAL : DAWN (version 3.85 or after) # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # -# (See geant4/source/visualization/README for details.) # -# # -# G4VIS_BUILD_OPENGLWIN32_DRIVER # -# (G4UI_BUILD_WIN32_SESSION) # -# # -# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # -# (See geant4/source/visualization/README for details.) # -# # -# G4VIS_USE_OPENGLWIN32 # -# (G4UI_USE_WIN32) # -# # -# ADDITIONAL NOTES: # -# The compound command "/vis/open " # -# is equivalent to the following set of commands: # -# # -# /vis/sceneHandler/create $1 # -# /vis/viewer/create # -# # -# The compound command "/vis/drawVolume " # -# is equivalent to the following set of commands: # -# # -# /vis/scene/create # -# /vis/scene/add/volume $1 # -# /vis/sceneHandler/attach # -# # -####################################################################### - -############################################## -# Visualization of detector geometry and trajectories -# with the OGLIWin32 (OpenGL Immediate Windows) driver -############################################## - -# Invoke the OGLIWin32 driver -/vis/open OGLIWin32 - -# Set camera -/vis/viewer/reset -/vis/viewer/set/viewpointThetaPhi 70 20 - -# Create an empty scene and add the detector geometry to it -/vis/drawVolume - -# Visualize events added to the current scene -/tracking/storeTrajectory 1 -/run/beamOn 1 - diff --git a/examples/novice/N03/visTutor/gui.mac b/examples/novice/N03/visTutor/gui.mac deleted file mode 100644 index 3592966deb..0000000000 --- a/examples/novice/N03/visTutor/gui.mac +++ /dev/null @@ -1,53 +0,0 @@ -# -# This file permits to customize, with commands, -# the menu bar of the G4UIXm, G4UIQt, 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 run1.mac" -/gui/addButton run run2 "/control/execute run2.mac" -# -# Gun menu : -/gui/addMenu gun Gun -/gui/addButton gun "50 MeV" "/gun/energy 50 MeV" -/gui/addButton gun "1 GeV" "/gun/energy 1 GeV" -/gui/addButton gun "10 GeV" "/gun/energy 10 GeV" -/gui/addButton gun "e-" "/gun/particle e-" -/gui/addButton gun "pi0" "/gun/particle pi0" -/gui/addButton gun "pi+" "/gun/particle pi+" -/gui/addButton gun "neutron" "/gun/particle neutron" -/gui/addButton gun "proton" "/gun/particle proton" -# -# Vis menu : -/gui/addMenu vis Vis -/gui/addButton vis Vis0(OGLIX) "/control/execute visTutor/exN03Vis0.mac" -/gui/addButton vis Vis1(OGLSX) "/control/execute visTutor/exN03Vis1.mac" -/gui/addButton vis Vis2(OGLSX) "/control/execute visTutor/exN03Vis2.mac" -/gui/addButton vis Vis3(OGLSX) "/control/execute visTutor/exN03Vis3.mac" -/gui/addButton vis Vis4(OGLIX) "/control/execute visTutor/exN03Vis4.mac" -/gui/addButton vis Vis15(OGLIQt) "/control/execute visTutor/exN03Vis15.mac" -/gui/addButton vis Vis14(OGLSQt) "/control/execute visTutor/exN03Vis14.mac" -/gui/addButton vis Vis5(OIX) "/control/execute visTutor/exN03Vis5.mac" -/gui/addButton vis Vis6(VRML2FILE) "/control/execute visTutor/exN03Vis6.mac" -/gui/addButton vis Vis7(DAWNFILE) "/control/execute visTutor/exN03Vis7.mac" -/gui/addButton vis Vis8(DAWNFILE) "/control/execute visTutor/exN03Vis8.mac" -/gui/addButton vis Vis9(OGLIWIN) "/control/execute visTutor/exN03Vis9.mac" -/gui/addButton vis Vis10(OIWin32) "/control/execute visTutor/exN03Vis10.mac" -/gui/addButton vis Vis11(OGLSXm) "/control/execute visTutor/exN03Vis11.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/novice/N04/History b/examples/novice/N04/History index a1e61b9529..9021ee7103 100644 --- a/examples/novice/N04/History +++ b/examples/novice/N04/History @@ -1,4 +1,4 @@ -$Id: History,v 1.63 2009/10/30 15:08:39 allison Exp $ +$Id: History,v 1.65 2010/06/06 04:07:31 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,12 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +04-06-10 J.Perl (exampleN04-V09-03-01) +- Updated vis usage + +04-06-10 V.Ivant (exampleN04-V09-03-00) +- Substituted QGSP -> QGSP_BERT 30-10-09 John Allison (exampleN04-V09-02-00) - Introduced G4UIExecutive. diff --git a/examples/novice/N04/exampleN04.EMtest.out b/examples/novice/N04/exampleN04.EMtest.out index 9d6a812c47..a36649f7e2 100644 --- a/examples/novice/N04/exampleN04.EMtest.out +++ b/examples/novice/N04/exampleN04.EMtest.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -12,26 +12,10 @@ <<< 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 -* -*=====================================================================* +<<< Geant4 Physics List simulation engine: QGSP_BERT 3.4 ### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0 -Visualization Manager instantiating... +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -45,6 +29,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -67,256 +54,268 @@ Registered filter factories: phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + hPairProd : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu+ SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu- SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + hPairProd : Emin= 0 eV Emax= 10 TeV ============================================================================================ HADRONIC PROCESSES SUMMARY (verbose level 1) Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 @@ -328,17 +327,19 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 KaonPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LEKaonPlusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LEKaonPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LEKaonMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LEKaonMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 @@ -346,48 +347,54 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( muMinusCaptureAtRest Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 NeutronInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LENeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LENeutronInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 nCapture Models: G4LCapture: Emin(GeV)= 0 Emax(GeV)= 20000 nFission Models: G4LFission: Emin(GeV)= 0 Emax(GeV)= 20000 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 PionPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LEPionPlusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LEPionPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LEPionMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LEPionMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 ProtonInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LEProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LEProtonInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 ============================================================================================ ### Run 0 start. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 - 71 hits are stored in ExN04TrackerHitsCollection. - 8 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.33801889648612 (GeV) + 23 hits are stored in ExN04TrackerHitsCollection. + 7 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.26988066518454 (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 - 54 hits are stored in ExN04TrackerHitsCollection. - 35 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 8.7022049968351 (GeV) + 8 hits are stored in ExN04TrackerHitsCollection. + 23 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 5.0753456726608 (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 - 5 hits are stored in ExN04TrackerHitsCollection. - 23 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 9.43263008814 (GeV) + 22 hits are stored in ExN04TrackerHitsCollection. + 33 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 19.805060863573 (GeV) 1 hits are stored in ExN04MuonHitsCollection. diff --git a/examples/novice/N04/exampleN04.cc b/examples/novice/N04/exampleN04.cc index 385ddc9d93..9286a54e10 100644 --- a/examples/novice/N04/exampleN04.cc +++ b/examples/novice/N04/exampleN04.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN04.cc,v 1.18 2009/10/30 15:08:39 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: exampleN04.cc,v 1.19 2010/06/04 17:50:22 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -35,7 +35,7 @@ #include "G4UImanager.hh" #include "ExN04DetectorConstruction.hh" -#include "QGSP.hh" +#include "QGSP_BERT.hh" #include "ExN04PrimaryGeneratorAction.hh" #include "ExN04RunAction.hh" #include "ExN04EventAction.hh" @@ -68,7 +68,7 @@ int main(int argc,char** argv) G4VUserDetectorConstruction* detector = new ExN04DetectorConstruction; runManager->SetUserInitialization(detector); // - G4VUserPhysicsList* physics = new QGSP; + G4VUserPhysicsList* physics = new QGSP_BERT(); runManager->SetUserInitialization(physics); runManager->Initialize(); diff --git a/examples/novice/N04/exampleN04.out b/examples/novice/N04/exampleN04.out index b5b3484a6f..5c982dfee3 100644 --- a/examples/novice/N04/exampleN04.out +++ b/examples/novice/N04/exampleN04.out @@ -4,7 +4,7 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -12,26 +12,10 @@ <<< 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 -* -*=====================================================================* +<<< Geant4 Physics List simulation engine: QGSP_BERT 3.4 ### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0 -Visualization Manager instantiating... +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -45,6 +29,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -70,256 +57,268 @@ Registered filter factories: phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 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.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 - Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + Stopping Power data for 17 ion/material pairs ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 10 TeV + BraggIon : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + hPairProd : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + 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 + 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 + 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + WentzelVIUni : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu+ SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV + +CoulombScat: for mu- SubType= 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eCoulombScattering : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi+ 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ 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 + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV hBrems: for pi- 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 + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- 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 + hPairProd : Emin= 0 eV Emax= 10 TeV ============================================================================================ HADRONIC PROCESSES SUMMARY (verbose level 1) Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 @@ -331,17 +330,19 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 KaonPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LEKaonPlusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LEKaonPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LEKaonMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LEKaonMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 @@ -349,26 +350,32 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( muMinusCaptureAtRest Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 NeutronInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LENeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LENeutronInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 nCapture Models: G4LCapture: Emin(GeV)= 0 Emax(GeV)= 20000 nFission Models: G4LFission: Emin(GeV)= 0 Emax(GeV)= 20000 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 PionPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LEPionPlusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LEPionPlusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 + hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LEPionMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LEPionMinusInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 Hadronic Processes for - hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 ProtonInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 - G4LEProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4LEProtonInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 ============================================================================================ ========= Table of registered couples ============================== @@ -415,9 +422,9 @@ Start Run processing. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 - 53 hits are stored in ExN04TrackerHitsCollection. - 27 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.48863941184205 (GeV) + 81 hits are stored in ExN04TrackerHitsCollection. + 28 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.52320825455927 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Stage 0->1 : 0 hits found in the muon chamber. ++++++++ event aborted @@ -429,13 +436,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 - 62 hits are stored in ExN04TrackerHitsCollection. - 27 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.49187478069713 (GeV) + 58 hits are stored in ExN04TrackerHitsCollection. + 26 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.50149937269237 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Run terminated. Run Summary Number of events processed : 3 - User=1.48s Real=1.48s Sys=0.01s + User=1.03s Real=1.03s Sys=0s G4 kernel has come to Quit state. diff --git a/examples/novice/N04/vis.mac b/examples/novice/N04/vis.mac index 048473014b..b3bb2045bd 100644 --- a/examples/novice/N04/vis.mac +++ b/examples/novice/N04/vis.mac @@ -7,38 +7,71 @@ /control/verbose 2 /run/verbose 2 # -# create empty scene +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -/vis/scene/create +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -/vis/open OGLIX +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -####/vis/open DAWNFILE -####/vis/open OIX +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -# draw scene +# Draw geometry: +/vis/drawVolume # -/vis/viewer/set/viewpointThetaPhi 90 180 deg +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 90. 180. +# +# Specify zoom value: /vis/viewer/zoom 1.4 # -# for drawing the tracks -# Draw trajectories at end of event, showing trajectory points as -# markers of size 2 pixels -/vis/scene/add/trajectories +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 # (if too many tracks cause core dump => /tracking/storeTrajectory 0) # -# for drawing the hits uncomment following line -# /vis/scene/add/hits +# Draw hits at end of event: +#/vis/scene/add/hits # +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -# Refresh ready for run -/vis/viewer/flush +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings # -# Now ready for /run/beamOn. +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/novice/N05/History b/examples/novice/N05/History index f4e719cdb4..382703a608 100644 --- a/examples/novice/N05/History +++ b/examples/novice/N05/History @@ -1,4 +1,4 @@ -$Id: History,v 1.48 2009/10/30 15:10:56 allison Exp $ +$Id: History,v 1.50 2010/06/06 04:08:05 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,12 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +4th June 2010 Joseph Perl (exampleN05-V09-03-01) +- Updated vis usage + +19th March 2010 Gabriele Cosmo (exampleN05-V09-03-00) +- Migrated physics lists to use particle-based multiple-scattering processes. + 30th October 2009 John Allison (exampleN05-V09-02-00) - Introduced G4UIExecutive. diff --git a/examples/novice/N05/exampleN05.out b/examples/novice/N05/exampleN05.out index 60a043e438..a4b522f838 100644 --- a/examples/novice/N05/exampleN05.out +++ b/examples/novice/N05/exampleN05.out @@ -5,7 +5,7 @@ RunManager construction starting.... ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -21,242 +21,8 @@ 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 instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -270,6 +36,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -293,176 +62,176 @@ Registered filter factories: 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV -msc: for mu+ SubType= 10 +muMsc: 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV ### Run 0 start. ********************************************************************************************************* @@ -471,46 +240,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.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 + 1 0.000748 51.7 86.1 1e+03 0.0224 100 100 WorldPhysical eIoni + 2 0.000479 60 100 1e+03 0.00457 16.2 117 DriftChamberPhysical CoupledTransportation + 3 0.00343 97.5 163 1e+03 0.00292 72.9 190 DriftChamberPhysical eIoni + 4 0.0523 540 900 1e+03 0.0284 860 1.05e+03 WorldPhysical CoupledTransportation + 5 0.0582 559 932 1e+03 0.0074 36.9 1.09e+03 WorldPhysical eIoni + 6 0.0704 600 1e+03 1e+03 0.0177 79.7 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 + 7 0.0704 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.0469 572 954 0.00146 0 0 0 WorldPhysical initStep - 1 -0.018 572 954 0 0.00146 0.0976 0.0976 WorldPhysical eIoni + 0 0.0582 559 932 0.00123 0 0 0 WorldPhysical initStep + 1 0.0878 559 932 0 0.00123 0.0763 0.0763 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.00382 196 327 0.00114 0 0 0 DriftChamberPhysical initStep - 1 0.222 196 327 0 0.00114 0.37 0.37 DriftChamberPhysical eIoni + 0 0.00343 97.5 163 0.00114 0 0 0 DriftChamberPhysical initStep + 1 0.221 97.4 163 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.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 + 0 0.000748 51.7 86.1 0.00126 0 0 0 WorldPhysical initStep + 1 0.00921 51.6 86.2 0 0.00126 0.079 0.079 WorldPhysical eIoni >>> Event 0 12 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999147477646225 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9999130919850356 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -520,41 +289,33 @@ 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.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 + 1 0 60 100 1e+03 0.0267 117 117 DriftChamberPhysical CoupledTransportation + 2 0.0445 224 373 1e+03 0.011 319 435 DriftChamberPhysical eIoni + 3 0.124 540 900 1e+03 0.0189 614 1.05e+03 WorldPhysical CoupledTransportation + 4 0.124 543 904 1e+03 0.0013 4.83 1.05e+03 WorldPhysical eIoni + 5 0.145 600 1e+03 1e+03 0.0312 112 1.17e+03 Crystal CoupledTransportation + 6 0.145 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.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 + 0 0.124 543 904 0.00605 0 0 0 WorldPhysical initStep + 1 -0.316 543 904 0 0.00605 1.01 1.01 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.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 + 0 0.0445 224 373 0.00537 0 0 0 DriftChamberPhysical initStep + 1 -0.661 226 373 0.00336 0.00201 2.41 2.41 DriftChamberPhysical eIoni + 2 -1.37 227 372 0.00177 0.00159 1.64 4.05 DriftChamberPhysical eIoni + 3 -1.31 228 372 0 0.00177 0.723 4.78 DriftChamberPhysical eIoni >>> Event 1 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999919128375402 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9998995086266891 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -564,200 +325,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.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 + 1 0 60 100 1e+03 0.0281 117 117 DriftChamberPhysical CoupledTransportation + 2 -0.0436 539 899 1e+03 0.0293 932 1.05e+03 DriftChamberPhysical eIoni + 3 -0.0436 540 900 1e+03 2.82e-05 1.33 1.05e+03 WorldPhysical CoupledTransportation + 4 -0.0433 600 1e+03 1e+03 0.0275 117 1.17e+03 Crystal CoupledTransportation + 5 -0.0433 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.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 + 0 -0.0436 539 899 0.0207 0 0 0 DriftChamberPhysical initStep + 1 -10.1 540 900 0.019 0.00169 10.4 10.4 WorldPhysical CoupledTransportation + 2 -10.7 540 900 0.0183 0.000759 0.757 11.2 WorldPhysical msc + 3 -11.4 540 900 0.0172 0.0011 0.757 12 WorldPhysical msc + 4 -11.9 540 901 0.0151 0.00206 0.757 12.7 WorldPhysical msc + 5 -12.5 540 901 0.013 0.00208 0.757 13.5 WorldPhysical msc + 6 -12.5 540 901 0.0118 5.9e-06 0.00335 13.5 WorldPhysical eIoni + 7 -13 540 902 0.0113 0.000567 0.757 14.2 WorldPhysical msc + 8 -13.1 540 902 0.0103 0.000991 0.757 15 WorldPhysical msc + 9 -13.4 540 903 0.0083 0.00197 0.757 15.7 WorldPhysical msc + 10 -13.2 540 904 0.00701 0.00129 0.757 16.5 WorldPhysical msc + 11 -12.6 540 903 0.00195 0.00385 1.07 17.6 WorldPhysical eIoni + 12 -12.7 540 903 0 0.00195 0.15 17.7 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 -12.6 540 903 0.00121 0 0 0 WorldPhysical initStep + 1 -12.6 540 903 0 0.00121 0.0747 0.0747 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 -12.5 540 901 0.00119 0 0 0 WorldPhysical initStep + 1 -12.5 540 901 0 0.00119 0.0734 0.0734 WorldPhysical eIoni >>> Event 2 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9992232628837502 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9998944107498262 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -767,104 +377,265 @@ 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.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 + 1 -0.000346 5.56 9.27 1e+03 0.00257 10.8 10.8 WorldPhysical eIoni + 2 0.00235 52.2 87.1 1e+03 0.0206 90.7 102 WorldPhysical eIoni + 3 0.00317 55.7 92.9 1e+03 0.00199 6.83 108 WorldPhysical eIoni + 4 0.00361 60 100 1e+03 0.00145 8.25 117 DriftChamberPhysical CoupledTransportation + 5 0.126 540 900 1e+03 0.0306 933 1.05e+03 WorldPhysical CoupledTransportation + 6 0.14 584 974 995 0.0211 86.6 1.14e+03 WorldPhysical eBrem + 7 0.141 584 974 995 0 0.205 1.14e+03 WorldPhysical eIoni + 8 0.148 598 997 995 0.00646 26.3 1.16e+03 WorldPhysical eIoni + 9 0.149 600 1e+03 995 0.000998 3.49 1.17e+03 Crystal CoupledTransportation + 10 0.149 600 1e+03 0 995 0 1.17e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +* 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.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 + 0 0.148 598 997 0.00572 0 0 0 WorldPhysical initStep + 1 0.315 598 997 0.00366 0.00107 0.182 0.182 WorldPhysical eIoni + 2 0.454 598 997 0 0.00366 0.417 0.6 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +* 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 -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 + 0 0.315 598 997 0.000999 0 0 0 WorldPhysical initStep + 1 0.308 598 997 0 0.000999 0.0577 0.0577 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.455 539 897 0.00306 0 0 0 DriftChamberPhysical initStep - 1 0.761 539 897 0 0.00306 1.51 1.51 DriftChamberPhysical eIoni + 0 0.141 584 974 0.0051 0 0 0 WorldPhysical initStep + 1 -0.126 585 974 0 0.0051 0.744 0.744 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +* 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.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 + 0 0.14 584 974 4.52 0 0 0 WorldPhysical initStep + 1 0.163 600 1e+03 4.52 0 30 30 Crystal CoupledTransportation + 2 0.163 600 1e+03 4.52 0 0.535 30.5 Crystal CoupledTransportation + 3 0.236 650 1.08e+03 4.52 0 97.4 128 Crystal CoupledTransportation + 4 0.247 658 1.1e+03 0.258 0 14.9 143 Crystal compt + 5 5.82 650 1.09e+03 0.258 0 12.2 155 Crystal CoupledTransportation + 6 5.83 650 1.09e+03 0 0.036 0.0198 155 Crystal phot + +********************************************************************************************************* +* 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 5.83 650 1.09e+03 0.222 0 0 0 Crystal initStep + 1 5.84 650 1.09e+03 0.219 0.00332 0.00842 0.00842 Crystal msc + 2 5.83 650 1.09e+03 0.214 0.00463 0.00842 0.0168 Crystal msc + 3 5.83 650 1.09e+03 0.214 0.000259 0.00392 0.0208 Crystal CoupledTransportation + 4 5.83 650 1.09e+03 0.212 0.00174 0.00795 0.0287 Crystal msc + 5 5.82 650 1.09e+03 0.21 0.00227 0.00795 0.0367 Crystal msc + 6 5.82 650 1.09e+03 0.209 0.000976 0.00795 0.0446 Crystal msc + 7 5.81 650 1.09e+03 0.205 0.00432 0.00795 0.0526 Crystal msc + 8 5.81 650 1.09e+03 0.203 0.00178 0.00795 0.0605 Crystal msc + 9 5.8 650 1.09e+03 0.201 0.00196 0.00795 0.0685 Crystal msc + 10 5.8 650 1.09e+03 0.184 0.0169 0.00795 0.0764 Crystal msc + 11 5.79 650 1.09e+03 0.181 0.0036 0.00795 0.0844 Crystal msc + 12 5.79 650 1.09e+03 0.173 0.00745 0.00795 0.0923 Crystal msc + 13 5.8 650 1.09e+03 0.172 0.00109 0.00795 0.1 Crystal msc + 14 5.8 650 1.09e+03 0.124 0.0482 0.00795 0.108 Crystal msc + 15 5.8 650 1.09e+03 0.117 0.00639 0.00795 0.116 Crystal msc + 16 5.8 650 1.09e+03 0.117 1.1e-05 0.000173 0.116 Crystal CoupledTransportation + 17 5.81 650 1.09e+03 0.116 0.00162 0.00307 0.119 Crystal msc + 18 5.81 650 1.09e+03 0.115 0.000921 0.00307 0.122 Crystal msc + 19 5.81 650 1.09e+03 0.113 0.00203 0.00307 0.126 Crystal msc + 20 5.81 650 1.09e+03 0.11 0.00298 0.00307 0.129 Crystal msc + 21 5.81 650 1.09e+03 0.0901 0.0198 0.00307 0.132 Crystal msc + 22 5.81 650 1.09e+03 0.0845 0.00555 0.00307 0.135 Crystal msc + 23 5.81 650 1.09e+03 0.0823 0.00221 0.00307 0.138 Crystal msc + 24 5.82 650 1.09e+03 0.0813 0.00102 0.00307 0.141 Crystal msc + 25 5.82 650 1.09e+03 0.0784 0.00291 0.00307 0.144 Crystal msc + 26 5.82 650 1.09e+03 0.0755 0.00292 0.00307 0.147 Crystal msc + 27 5.82 650 1.09e+03 0.0714 0.00411 0.00307 0.15 Crystal msc + 28 5.82 650 1.09e+03 0.0683 0.00301 0.00307 0.153 Crystal msc + 29 5.82 650 1.09e+03 0.068 0.000374 0.00135 0.155 Crystal CoupledTransportation + 30 5.82 650 1.09e+03 0.0672 0.000724 0.00125 0.156 Crystal msc + 31 5.82 650 1.09e+03 0.0664 0.000896 0.00125 0.157 Crystal msc + 32 5.82 650 1.09e+03 0.0661 0.000264 0.00125 0.158 Crystal msc + 33 5.82 650 1.09e+03 0.0649 0.00121 0.00125 0.16 Crystal msc + 34 5.82 650 1.09e+03 0.0629 0.00196 0.00125 0.161 Crystal msc + 35 5.82 650 1.09e+03 0.0617 0.00124 0.00125 0.162 Crystal msc + 36 5.82 650 1.09e+03 0.0609 0.000792 0.00125 0.163 Crystal msc + 37 5.82 650 1.09e+03 0.059 0.00191 0.00125 0.165 Crystal msc + 38 5.82 650 1.09e+03 0.0572 0.00178 0.00125 0.166 Crystal msc + 39 5.82 650 1.09e+03 0.0556 0.00157 0.00125 0.167 Crystal msc + 40 5.82 650 1.09e+03 0.0538 0.00183 0.00125 0.168 Crystal msc + 41 5.82 650 1.09e+03 0.0522 0.00162 0.00143 0.17 Crystal msc + 42 5.82 650 1.09e+03 0.0474 0.00474 0.00148 0.171 Crystal msc + 43 5.82 650 1.09e+03 0.0453 0.00211 0.00126 0.172 Crystal msc + 44 5.82 650 1.09e+03 0.0415 0.00382 0.00125 0.174 Crystal msc + 45 5.82 650 1.09e+03 0.0408 0.000705 0.00125 0.175 Crystal msc + 46 5.82 650 1.09e+03 0.0355 0.00528 0.00125 0.176 Crystal msc + 47 5.82 650 1.09e+03 0.0332 0.00228 0.00143 0.178 Crystal msc + 48 5.83 650 1.09e+03 0.0274 0.0058 0.00144 0.179 Crystal msc + 49 5.82 650 1.09e+03 0.0242 0.00326 0.00171 0.181 Crystal msc + 50 5.82 650 1.09e+03 0 0.0242 0.00555 0.186 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 0.247 658 1.1e+03 4.26 0 0 0 Crystal initStep + 1 0.127 658 1.1e+03 4.04 0.224 0.425 0.425 Crystal msc + 2 0.0884 658 1.1e+03 3.88 0.161 0.425 0.85 Crystal msc + 3 0.076 658 1.1e+03 3.56 0.0983 0.203 1.05 Crystal eBrem + 4 1.78e-15 658 1.1e+03 3.43 0.126 0.324 1.38 Crystal CoupledTransportation + 5 -0.0874 658 1.1e+03 3.23 0.204 0.296 1.67 Crystal msc + 6 -0.236 658 1.1e+03 3.06 0.168 0.296 1.97 Crystal msc + 7 -0.314 659 1.1e+03 2.93 0.132 0.296 2.26 Crystal msc + 8 -0.298 659 1.1e+03 2.8 0.129 0.296 2.56 Crystal msc + 9 -0.489 659 1.1e+03 2.68 0.119 0.296 2.85 Crystal msc + 10 -0.762 659 1.1e+03 2.54 0.142 0.296 3.15 Crystal msc + 11 -1.03 659 1.1e+03 2.41 0.13 0.296 3.45 Crystal msc + 12 -1.22 659 1.1e+03 2.29 0.124 0.296 3.74 Crystal msc + 13 -1.45 659 1.1e+03 2.18 0.11 0.296 4.04 Crystal msc + 14 -1.51 659 1.1e+03 2.08 0.0276 0.0679 4.11 Crystal eBrem + 15 -1.83 659 1.1e+03 1.91 0.167 0.412 4.52 Crystal msc + 16 -2.1 659 1.1e+03 1.77 0.141 0.303 4.82 Crystal msc + 17 -2.3 659 1.1e+03 1.6 0.174 0.439 5.26 Crystal msc + 18 -2.48 659 1.1e+03 1.35 0.25 0.475 5.73 Crystal msc + 19 -2.15 659 1.1e+03 1.11 0.24 0.53 6.26 Crystal msc + 20 -2.09 659 1.1e+03 0.367 0.74 1.54 7.8 Crystal eIoni + 21 -2.11 659 1.1e+03 0 0.367 0.442 8.24 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 9 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.51 659 1.1e+03 0.0692 0 0 0 Crystal initStep + 1 -1.83 659 1.1e+03 0 0.0332 0.323 0.323 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 12 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.83 659 1.1e+03 0.036 0 0 0 Crystal initStep + 1 -1.83 659 1.1e+03 0 0.036 0.0108 0.0108 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 9 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.076 658 1.1e+03 0.217 0 0 0 Crystal initStep + 1 1.78e-15 658 1.1e+03 0.217 0 0.204 0.204 Crystal CoupledTransportation + 2 -1.12 659 1.1e+03 0 0.036 3.01 3.21 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 11 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.12 659 1.1e+03 0.181 0 0 0 Crystal initStep + 1 -1.13 659 1.1e+03 0 0.181 0.153 0.153 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.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 + 0 0.00317 55.7 92.9 0.00114 0 0 0 WorldPhysical initStep + 1 0.0269 55.8 92.9 0 0.00114 0.0688 0.0688 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.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 + 0 0.00235 52.2 87.1 0.0257 0 0 0 WorldPhysical initStep + 1 -0.744 55.7 86.8 0.0202 0.00557 3.88 3.88 WorldPhysical msc + 2 -0.713 55.8 86.9 0.0186 0.000112 0.14 4.02 WorldPhysical eIoni + 3 0.12 58.4 87.4 0.0132 0.00541 3.05 7.07 WorldPhysical eIoni + 4 -0.329 58.3 87.1 0.00994 0.00221 0.562 7.64 WorldPhysical eIoni + 5 -1.7 58.3 86.9 0.00586 0.00408 1.77 9.4 WorldPhysical eIoni + 6 -1.79 58.4 87.3 0 0.00586 0.952 10.4 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.329 58.3 87.1 0.00107 0 0 0 WorldPhysical initStep + 1 -0.34 58.3 87.1 0 0.00107 0.0633 0.0633 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.713 55.8 86.9 0.00142 0 0 0 WorldPhysical initStep + 1 -0.747 55.8 86.9 0 0.00142 0.0934 0.0934 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.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 + 0 -0.000346 5.56 9.27 0.00297 0 0 0 WorldPhysical initStep + 1 -0.152 5.48 9.28 0.00118 0.00178 0.224 0.224 WorldPhysical eIoni + 2 -0.164 5.46 9.26 0 0.00118 0.0725 0.296 WorldPhysical eIoni +>>> Event 3 + 13 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9998735335026695 (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.0287 117 117 DriftChamberPhysical CoupledTransportation + 2 0.0243 200 334 1e+03 0.00842 272 389 DriftChamberPhysical eIoni + 3 0.112 540 900 1e+03 0.0185 661 1.05e+03 WorldPhysical CoupledTransportation + 4 0.114 546 909 1e+03 0.00509 10.1 1.06e+03 WorldPhysical eIoni + 5 0.146 590 983 1e+03 0.017 87 1.15e+03 WorldPhysical eIoni + 6 0.163 600 1e+03 1e+03 0.00462 19.6 1.17e+03 Crystal CoupledTransportation + 7 0.163 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.146 590 983 0.00776 0 0 0 WorldPhysical initStep + 1 -0.478 591 984 0.000256 0.0075 1.41 1.41 WorldPhysical eIoni + 2 -0.48 591 984 0 0.000256 0.015 1.42 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.114 546 909 0.00142 0 0 0 WorldPhysical initStep + 1 0.111 546 909 0 0.00142 0.0938 0.0938 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.0243 200 334 0.00184 0 0 0 DriftChamberPhysical initStep + 1 -0.246 201 333 0 0.00184 0.765 0.765 DriftChamberPhysical eIoni >>> Event 4 - 14 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999899685185026 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999067178295291 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -876,22 +647,41 @@ 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.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 + 1 -0.00471 21.8 72.9 1e+03 0.0133 76.1 76.1 WorldPhysical eIoni + 2 -0.00509 30 100 1e+03 0.00692 28.3 104 DriftChamberPhysical CoupledTransportation + 3 -0.00507 32.8 109 1e+03 0.00117 9.71 114 DriftChamberPhysical eIoni + 4 0.0368 270 900 1e+03 0.0265 826 940 WorldPhysical CoupledTransportation + 5 0.0363 288 959 1e+03 0.0116 61.8 1e+03 WorldPhysical eIoni + 6 0.0464 300 1e+03 1e+03 0.0118 42.6 1.04e+03 Crystal CoupledTransportation + 7 0.0464 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.0363 288 959 0.00128 0 0 0 WorldPhysical initStep + 1 0.0198 288 959 0 0.00128 0.0812 0.0812 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.00507 32.8 109 0.00321 0 0 0 DriftChamberPhysical initStep + 1 -0.712 33.9 109 0.00143 0.00178 1.58 1.58 DriftChamberPhysical eIoni + 2 -0.823 34.1 108 0 0.00143 0.518 2.09 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.0794 277 923 0.00307 0 0 0 WorldPhysical initStep - 1 -0.139 277 923 0 0.00307 0.31 0.31 WorldPhysical eIoni + 0 -0.00471 21.8 72.9 0.00104 0 0 0 WorldPhysical initStep + 1 -0.0112 21.9 72.9 0 0.00104 0.0607 0.0607 WorldPhysical eIoni >>> Event 0 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999257540940468 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9999231465523887 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -901,207 +691,152 @@ 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.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.287 152 507 0.00128 0 0 0 DriftChamberPhysical initStep - 1 -0.445 152 507 0 0.00128 0.441 0.441 DriftChamberPhysical eIoni + 1 0 30 100 1e+03 0.0206 104 104 DriftChamberPhysical CoupledTransportation + 2 0.344 270 900 1e+03 0.0277 835 940 WorldPhysical CoupledTransportation + 3 0.348 273 911 1e+03 0.00213 11.8 951 WorldPhysical eIoni + 4 0.374 300 1e+03 1e+03 0.0218 92.6 1.04e+03 Crystal CoupledTransportation + 5 0.374 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.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 + 0 0.348 273 911 0.00184 0 0 0 WorldPhysical initStep + 1 0.318 273 911 0 0.00184 0.137 0.137 WorldPhysical eIoni >>> Event 1 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - 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) - -********************************************************************************************************* -* 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.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.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.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.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.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) - -********************************************************************************************************* -* 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.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.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.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.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 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999919090332349 (GeV) + Total energy deposition in EM calorimeter crytals : 0.999925942086507 (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.000386 18.8 62.7 1e+03 0.0143 65.4 65.4 WorldPhysical eIoni + 2 -0.00254 27.2 90.5 1e+03 0.00499 29.1 94.5 WorldPhysical eIoni + 3 -0.00298 30 100 1e+03 0.00203 9.88 104 DriftChamberPhysical CoupledTransportation + 4 -0.0238 90.2 301 1e+03 0.00861 209 314 DriftChamberPhysical eIoni + 5 -0.174 270 900 1e+03 0.0189 626 940 WorldPhysical CoupledTransportation + 6 -0.211 300 1e+03 1e+03 0.0269 104 1.04e+03 Crystal CoupledTransportation + 7 -0.211 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.0238 90.2 301 0.00172 0 0 0 DriftChamberPhysical initStep + 1 0.075 89.7 301 0 0.00172 0.692 0.692 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.00254 27.2 90.5 0.00252 0 0 0 WorldPhysical initStep + 1 0.00804 27.3 90.5 0 0.00252 0.224 0.224 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.000386 18.8 62.7 0.00502 0 0 0 WorldPhysical initStep + 1 0.224 19 62.6 0 0.00502 0.725 0.725 WorldPhysical eIoni +>>> Event 2 + 7 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999149923964106 (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.00112 9.01 30 1e+03 0.00533 31.3 31.3 WorldPhysical eIoni + 2 -0.00427 30 100 1e+03 0.0172 73.1 104 DriftChamberPhysical CoupledTransportation + 3 0.00782 118 392 1e+03 0.0112 305 410 DriftChamberPhysical eIoni + 4 0.0573 270 900 1e+03 0.0135 530 940 WorldPhysical CoupledTransportation + 5 0.0543 300 1e+03 1e+03 0.0215 104 1.04e+03 Crystal CoupledTransportation + 6 0.0543 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.00782 118 392 0.00386 0 0 0 DriftChamberPhysical initStep + 1 1.15 119 392 0.00239 0.00147 1.84 1.84 DriftChamberPhysical eIoni + 2 1.22 119 392 0.00123 0 0.102 1.94 DriftChamberPhysical eIoni + 3 1.49 119 392 0 0.00123 0.413 2.36 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 1.22 119 392 0.00116 0 0 0 DriftChamberPhysical initStep + 1 1.16 119 392 0 0.00116 0.379 0.379 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.00112 9.01 30 0.00155 0 0 0 WorldPhysical initStep + 1 0.0259 8.97 30 0 0.00155 0.106 0.106 WorldPhysical eIoni +>>> Event 3 + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999258164436762 (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 30 100 1e+03 0.023 104 104 DriftChamberPhysical CoupledTransportation + 2 0.0424 127 422 1e+03 0.0112 336 441 DriftChamberPhysical eIoni + 3 0.0573 153 508 1e+03 0.00314 90.1 531 DriftChamberPhysical eIoni + 4 0.103 221 738 1e+03 0.00612 240 770 DriftChamberPhysical eIoni + 5 0.131 270 900 1e+03 0.00514 169 940 WorldPhysical CoupledTransportation + 6 0.147 300 1e+03 1e+03 0.0237 104 1.04e+03 Crystal CoupledTransportation + 7 0.147 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.103 221 738 0.00242 0 0 0 DriftChamberPhysical initStep + 1 0.86 222 738 0 0.00242 1.17 1.17 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.0573 153 508 0.00187 0 0 0 DriftChamberPhysical initStep + 1 0.122 153 508 0 0.00187 0.788 0.788 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.0424 127 422 0.00279 0 0 0 DriftChamberPhysical initStep + 1 -0.307 126 422 0 0.00279 1.38 1.38 DriftChamberPhysical eIoni +>>> Event 4 + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999205495357653 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -1113,59 +848,31 @@ 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.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.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.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.00163 -162 541 0.00109 0 0 0 DriftChamberPhysical initStep - 1 -0.0942 -162 541 0 0.00109 0.346 0.346 DriftChamberPhysical eIoni + 1 0 -30 100 1e+03 0.0189 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.149 -270 900 1e+03 0.027 835 940 WorldPhysical CoupledTransportation + 3 -0.149 -270 902 1e+03 0.00012 1.67 941 WorldPhysical eIoni + 4 -0.148 -289 963 1e+03 0.0126 63.8 1.01e+03 WorldPhysical eIoni + 5 -0.152 -300 1e+03 1e+03 0.00722 38.9 1.04e+03 Crystal CoupledTransportation + 6 -0.152 -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.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 + 0 -0.148 -289 963 0.00101 0 0 0 WorldPhysical initStep + 1 -0.156 -289 963 0 0.00101 0.0585 0.0585 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.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 + 0 -0.149 -270 902 0.00116 0 0 0 WorldPhysical initStep + 1 -0.149 -270 902 0 0.00116 0.0707 0.0707 WorldPhysical eIoni >>> Event 0 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999145939554031 (GeV) + 7 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999319379777475 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -1175,86 +882,61 @@ 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 -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 + 1 0.000529 -21.4 71.3 1e+03 0.0149 74.5 74.5 WorldPhysical eIoni + 2 0.0172 -30 100 1e+03 0.00659 29.9 104 DriftChamberPhysical CoupledTransportation + 3 0.0578 -70.8 236 1e+03 0.0045 142 246 DriftChamberPhysical eIoni + 4 0.2 -192 638 1e+03 0.0126 420 667 DriftChamberPhysical eIoni + 5 0.292 -270 900 1e+03 0.0071 273 940 WorldPhysical CoupledTransportation + 6 0.304 -280 932 1e+03 0.00777 33.2 973 WorldPhysical eIoni + 7 0.306 -282 938 1e+03 0.00316 6.64 980 WorldPhysical eIoni + 8 0.327 -300 1e+03 1e+03 0.0157 64.6 1.04e+03 Crystal CoupledTransportation + 9 0.327 -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.306 -282 938 0.00123 0 0 0 WorldPhysical initStep + 1 0.291 -282 938 0 0.00123 0.0764 0.0764 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.0405 -287 959 0.0012 0 0 0 WorldPhysical initStep - 1 0.0653 -287 959 0 0.0012 0.0736 0.0736 WorldPhysical eIoni + 0 0.304 -280 932 0.00235 0 0 0 WorldPhysical initStep + 1 0.218 -280 932 0 0.00235 0.2 0.2 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.0402 -283 944 0.00204 0 0 0 WorldPhysical initStep - 1 0.0649 -283 944 0 0.00204 0.16 0.16 WorldPhysical eIoni + 0 0.2 -192 638 0.00355 0 0 0 DriftChamberPhysical initStep + 1 -0.797 -191 639 0.00229 0.00127 1.72 1.72 DriftChamberPhysical eIoni + 2 -1.08 -190 639 0 0.00229 1.09 2.81 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.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 + 0 0.0578 -70.8 236 0.00416 0 0 0 DriftChamberPhysical initStep + 1 -0.375 -69 236 0.00278 0.00138 1.95 1.95 DriftChamberPhysical eIoni + 2 0.149 -67.9 236 0.000788 0.00199 1.38 3.33 DriftChamberPhysical eIoni + 3 0.233 -67.8 236 0 0.000788 0.224 3.55 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 -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 + 0 0.000529 -21.4 71.3 0.00144 0 0 0 WorldPhysical initStep + 1 0.0396 -21.4 71.3 0 0.00144 0.0954 0.0954 WorldPhysical eIoni >>> Event 1 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9998929654935526 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9999150228639336 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -1264,35 +946,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 -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 + 1 0 -30 100 1e+03 0.0227 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.198 -255 849 1e+03 0.0248 782 887 DriftChamberPhysical eIoni + 3 -0.21 -270 900 1e+03 0.00159 52.9 940 WorldPhysical CoupledTransportation + 4 -0.214 -275 916 1e+03 0.00296 16.7 956 WorldPhysical eIoni + 5 -0.24 -300 1e+03 1e+03 0.0186 87.7 1.04e+03 Crystal CoupledTransportation + 6 -0.24 -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 + 0 -0.214 -275 916 0.00122 0 0 0 WorldPhysical initStep + 1 -0.19 -275 916 0 0.00122 0.0754 0.0754 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 + 0 -0.198 -255 849 0.00153 0 0 0 DriftChamberPhysical initStep + 1 0.0381 -254 849 0 0.00153 0.576 0.576 DriftChamberPhysical eIoni >>> Event 2 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999194472989481 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999266572637729 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -1302,47 +980,22 @@ 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.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.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.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 + 1 0 -30 100 1e+03 0.0223 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.243 -270 900 1e+03 0.0265 835 940 WorldPhysical CoupledTransportation + 3 -0.266 -285 950 1e+03 0.0123 52.7 992 WorldPhysical eIoni + 4 -0.293 -300 1e+03 1e+03 0.0128 51.7 1.04e+03 Crystal CoupledTransportation + 5 -0.293 -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.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 + 0 -0.266 -285 950 0.00128 0 0 0 WorldPhysical initStep + 1 -0.276 -285 950 0 0.00128 0.081 0.081 WorldPhysical eIoni >>> Event 3 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999127113010713 (GeV) + 7 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999924774069688 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -1352,67 +1005,60 @@ 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.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 + 1 0.00207 -7.78 25.9 1e+03 0.00496 27.1 27.1 WorldPhysical eIoni + 2 0.00902 -23.8 79.3 1e+03 0.012 55.7 82.8 WorldPhysical eIoni + 3 0.00669 -30 100 1e+03 0.00318 21.7 104 DriftChamberPhysical CoupledTransportation + 4 -0.0265 -129 430 1e+03 0.0108 345 449 DriftChamberPhysical eIoni + 5 -0.0117 -232 772 1e+03 0.0116 357 806 DriftChamberPhysical eIoni + 6 -0.00113 -270 900 1e+03 0.00261 134 940 WorldPhysical CoupledTransportation + 7 0.00191 -276 919 1e+03 0.00423 19.7 959 WorldPhysical eIoni + 8 0.00534 -300 1e+03 1e+03 0.0179 84.7 1.04e+03 Crystal CoupledTransportation + 9 0.00534 -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.0101 -278 926 0.00122 0 0 0 WorldPhysical initStep - 1 -0.0233 -278 926 0 0.00122 0.0759 0.0759 WorldPhysical eIoni + 0 0.00191 -276 919 0.00208 0 0 0 WorldPhysical initStep + 1 0.0701 -276 919 0 0.00208 0.165 0.165 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 + 0 -0.0117 -232 772 0.00122 0 0 0 DriftChamberPhysical initStep + 1 -0.138 -232 772 0 0.00122 0.411 0.411 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 + 0 -0.0265 -129 430 0.00599 0 0 0 DriftChamberPhysical initStep + 1 -1.78 -131 429 0.00454 0.00145 2.65 2.65 DriftChamberPhysical eIoni + 2 -1.78 -133 429 0.00285 0.00169 2.1 4.75 DriftChamberPhysical eIoni + 3 -1.73 -133 428 0 0.00285 1.41 6.16 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 + 0 0.00902 -23.8 79.3 0.00146 0 0 0 WorldPhysical initStep + 1 0.0454 -23.8 79.3 0 0.00146 0.0975 0.0975 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 + 0 0.00207 -7.78 25.9 0.00304 0 0 0 WorldPhysical initStep + 1 0.136 -7.76 25.9 0 0.00304 0.306 0.306 WorldPhysical eIoni >>> Event 4 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999095515957912 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9999188870314509 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -1424,526 +1070,383 @@ 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.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.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 - 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) - -********************************************************************************************************* -* 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.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 + 1 -0.00138 -18.1 30.1 1e+03 0.0064 35.1 35.1 WorldPhysical eIoni + 2 -0.000228 -26.2 43.6 1e+03 0.002 15.7 50.8 WorldPhysical eIoni + 3 0.0133 -60 100 1e+03 0.0147 65.8 117 DriftChamberPhysical CoupledTransportation + 4 0.079 -225 375 1e+03 0.0107 321 437 DriftChamberPhysical eIoni + 5 0.192 -540 900 1e+03 0.019 612 1.05e+03 WorldPhysical CoupledTransportation + 6 0.194 -588 980 999 0.0226 93.4 1.14e+03 WorldPhysical eIoni + 7 0.206 -593 989 999 0.00166 9.87 1.15e+03 WorldPhysical eIoni + 8 0.223 -600 1e+03 999 0.00289 13.3 1.17e+03 Crystal CoupledTransportation + 9 0.223 -600 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.358 -578 966 0.00115 0 0 0 WorldPhysical initStep - 1 0.386 -578 966 0 0.00115 0.0694 0.0694 WorldPhysical eIoni + 0 0.206 -593 989 0.00248 0 0 0 WorldPhysical initStep + 1 0.146 -593 989 0 0.00248 0.218 0.218 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.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 + 0 0.194 -588 980 0.476 0 0 0 WorldPhysical initStep + 1 -2.8 -592 981 0.474 0.000993 5.33 5.33 WorldPhysical eIoni + 2 -20.3 -617 986 0.466 0.00733 31.2 36.5 WorldPhysical eIoni + 3 -58.1 -685 1e+03 0.451 0.0142 81 118 Crystal CoupledTransportation + 4 -58.1 -685 1e+03 0.434 0.0169 0.0236 118 Crystal msc + 5 -58.1 -685 1e+03 0.433 0.00117 0.00196 118 WorldPhysical CoupledTransportation + 6 -58.4 -685 1e+03 0.432 3.33e-06 0.38 118 WorldPhysical eIoni + 7 -133 -698 953 0.41 0.0201 90 208 WorldPhysical eIoni + 8 -187 -707 924 0.4 0.00848 63.4 271 WorldPhysical eIoni + 9 -200 -708 912 0.396 0.00304 17.8 289 WorldPhysical eIoni + 10 -284 -731 900 0.382 0.0135 91.3 380 DriftChamberPhysical CoupledTransportation + 11 -284 -731 900 0.382 0 0 380 WorldPhysical CoupledTransportation + 12 -318 -736 910 0.376 0.0058 35.5 416 WorldPhysical eIoni + 13 -453 -764 997 0.344 0.0311 175 591 WorldPhysical eIoni + 14 -456 -766 1e+03 0.342 0.00127 4.82 596 Crystal CoupledTransportation + 15 -456 -766 1e+03 0.334 0.00814 0.016 596 Crystal msc + 16 -456 -766 1e+03 0.323 0.0112 0.016 596 Crystal msc + 17 -456 -766 1e+03 0.317 0.00611 0.016 596 Crystal msc + 18 -456 -766 1e+03 0.307 0.0102 0.016 596 Crystal msc + 19 -456 -766 1e+03 0.291 0.0157 0.016 596 Crystal msc + 20 -456 -766 1e+03 0.285 0.00559 0.016 596 Crystal msc + 21 -456 -766 1e+03 0.274 0.011 0.016 596 Crystal msc + 22 -456 -766 1e+03 0.266 0.00847 0.016 596 Crystal msc + 23 -456 -766 1e+03 0.26 0.00556 0.00916 596 WorldPhysical CoupledTransportation + 24 -468 -784 991 0.252 0.00643 24.5 621 WorldPhysical eIoni + 25 -495 -815 977 0.24 0.0106 44 665 WorldPhysical eIoni + 26 -559 -888 900 0.212 0.0286 142 807 DriftChamberPhysical CoupledTransportation + 27 -510 -996 603 0.189 0.0127 322 1.13e+03 DriftChamberPhysical eIoni + 28 -452 -1.04e+03 482 0.183 0.0057 142 1.27e+03 DriftChamberPhysical eIoni + 29 -307 -1.12e+03 143 0.109 0.0127 384 1.65e+03 DriftChamberPhysical eIoni + 30 -279 -1.11e+03 100 0.107 0.00206 53.1 1.71e+03 WorldPhysical CoupledTransportation + 31 -277 -1.11e+03 98 0.104 0.000698 3.12 1.71e+03 WorldPhysical eIoni + 32 -272 -1.11e+03 93.5 0.0992 0.00289 6.84 1.72e+03 WorldPhysical eIoni + 33 -260 -1.09e+03 70.4 0.0881 0.0111 33.7 1.75e+03 WorldPhysical eIoni + 34 -248 -1.08e+03 49.1 0.0766 0.0115 27.6 1.78e+03 WorldPhysical eIoni + 35 -234 -1.08e+03 34.8 0.0674 0.00924 21.9 1.8e+03 WorldPhysical eIoni + 36 -219 -1.08e+03 30.5 0.0569 0.0104 17.8 1.82e+03 WorldPhysical eIoni + 37 -211 -1.09e+03 29.5 0.0505 0.00642 13.5 1.83e+03 WorldPhysical eIoni + 38 -203 -1.1e+03 32 0.0446 0.00591 11.2 1.84e+03 WorldPhysical eIoni + 39 -201 -1.11e+03 32.9 0.0376 0.00704 9.26 1.85e+03 WorldPhysical eIoni + 40 -200 -1.11e+03 32.7 0.0333 0.00424 7.19 1.86e+03 WorldPhysical eIoni + 41 -201 -1.12e+03 29.9 0.0294 0.00387 4.05 1.86e+03 WorldPhysical eIoni + 42 -201 -1.12e+03 29 0.0268 0.00153 1.36 1.86e+03 WorldPhysical eIoni + 43 -201 -1.12e+03 25.4 0.0212 0.00558 4.57 1.87e+03 WorldPhysical eIoni + 44 -202 -1.12e+03 24.1 0.0167 0.00296 1.79 1.87e+03 WorldPhysical eIoni + 45 -204 -1.12e+03 22.9 0.0123 0.00251 2.45 1.87e+03 WorldPhysical eIoni + 46 -205 -1.12e+03 21.5 0.00934 0.00295 2.11 1.88e+03 WorldPhysical eIoni + 47 -206 -1.12e+03 21.9 0.00512 0.00422 1.68 1.88e+03 WorldPhysical eIoni + 48 -206 -1.12e+03 22 0.00267 0.000155 0.0605 1.88e+03 WorldPhysical eIoni + 49 -206 -1.12e+03 21.9 0 0.00267 0.246 1.88e+03 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -206 -1.12e+03 22 0.00229 0 0 0 WorldPhysical initStep + 1 -206 -1.12e+03 22 0 0.00229 0.192 0.192 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -204 -1.12e+03 22.9 0.00195 0 0 0 WorldPhysical initStep + 1 -204 -1.12e+03 22.9 0 0.00195 0.149 0.149 WorldPhysical eIoni + +********************************************************************************************************* +* 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 -202 -1.12e+03 24.1 0.00149 0 0 0 WorldPhysical initStep + 1 -202 -1.12e+03 24.1 0 0.00149 0.1 0.1 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 -201 -1.12e+03 29 0.00114 0 0 0 WorldPhysical initStep + 1 -201 -1.12e+03 29 0 0.00114 0.069 0.069 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 -272 -1.11e+03 93.5 0.00221 0 0 0 WorldPhysical initStep + 1 -272 -1.11e+03 93.5 0 0.00221 0.181 0.181 WorldPhysical 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 -277 -1.11e+03 98 0.00197 0 0 0 WorldPhysical initStep + 1 -277 -1.11e+03 97.9 0 0.00197 0.152 0.152 WorldPhysical 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 -307 -1.12e+03 143 0.0608 0 0 0 DriftChamberPhysical initStep + 1 -311 -1.17e+03 115 0.0451 0.00677 64.9 64.9 DriftChamberPhysical eIoni + 2 -319 -1.19e+03 105 0.0435 0.00153 19.5 84.3 DriftChamberPhysical eIoni + 3 -323 -1.2e+03 100 0.0431 0.00043 9.3 93.6 WorldPhysical CoupledTransportation + 4 -326 -1.2e+03 97.6 0.0394 0.00373 8.8 102 WorldPhysical eIoni + 5 -321 -1.21e+03 98.1 0.0338 0.00555 7.7 110 WorldPhysical eIoni + 6 -321 -1.21e+03 98.3 0.0327 8.59e-05 0.269 110 WorldPhysical eIoni + 7 -318 -1.21e+03 100 0.0295 0.00316 3.71 114 DriftChamberPhysical CoupledTransportation + 8 -307 -1.21e+03 120 0.0257 0.00377 24.1 138 DriftChamberPhysical eIoni + 9 -291 -1.22e+03 129 0.023 0.00275 19.1 157 DriftChamberPhysical eIoni + 10 -277 -1.22e+03 133 0.0188 0.00298 14.7 172 DriftChamberPhysical eIoni + 11 -266 -1.22e+03 132 0.0164 0.00244 11.4 183 DriftChamberPhysical eIoni + 12 -259 -1.22e+03 131 0.0136 0.00277 9.16 193 DriftChamberPhysical eIoni + 13 -258 -1.22e+03 131 0.0123 0.000184 1.13 194 DriftChamberPhysical eIoni + 14 -252 -1.22e+03 132 0.0106 0.0017 6.04 200 DriftChamberPhysical eIoni + 15 -248 -1.22e+03 133 0.00999 0.000639 4.95 205 DriftChamberPhysical eIoni + 16 -244 -1.22e+03 131 0.00892 0.00107 4.58 209 DriftChamberPhysical eIoni + 17 -240 -1.22e+03 130 0.00698 0.00194 3.99 213 DriftChamberPhysical eIoni + 18 -239 -1.22e+03 130 0.00327 0.000728 1.14 214 DriftChamberPhysical eIoni + 19 -239 -1.22e+03 129 0.00164 0.00163 1.6 216 DriftChamberPhysical eIoni + 20 -238 -1.22e+03 129 0 0.00164 0.64 217 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 18 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -239 -1.22e+03 130 0.00299 0 0 0 DriftChamberPhysical initStep + 1 -238 -1.22e+03 130 0.000763 0.00222 1.48 1.48 DriftChamberPhysical eIoni + 2 -238 -1.22e+03 130 0 0.000763 0.215 1.69 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 18 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -258 -1.22e+03 131 0.00111 0 0 0 DriftChamberPhysical initStep + 1 -258 -1.22e+03 130 0 0.00111 0.355 0.355 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 18 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -277 -1.22e+03 133 0.00118 0 0 0 DriftChamberPhysical initStep + 1 -277 -1.22e+03 133 0 0.00118 0.389 0.389 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 18 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -321 -1.21e+03 98.3 0.00107 0 0 0 WorldPhysical initStep + 1 -321 -1.21e+03 98.3 0 0.00107 0.0632 0.0632 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 18 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -311 -1.17e+03 115 0.00899 0 0 0 DriftChamberPhysical initStep + 1 -308 -1.18e+03 115 0.00747 0.00152 4.03 4.03 DriftChamberPhysical eIoni + 2 -305 -1.18e+03 116 0.00532 0.00215 3.28 7.31 DriftChamberPhysical eIoni + 3 -303 -1.18e+03 116 0.00366 0.00166 2.39 9.7 DriftChamberPhysical eIoni + 4 -302 -1.18e+03 117 0.000731 0.00293 1.76 11.5 DriftChamberPhysical eIoni + 5 -302 -1.18e+03 118 0 0.000731 0.204 11.7 DriftChamberPhysical 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 -452 -1.04e+03 482 0.00104 0 0 0 DriftChamberPhysical initStep + 1 -452 -1.04e+03 482 0 0.00104 0.325 0.325 DriftChamberPhysical 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 -510 -996 603 0.00976 0 0 0 DriftChamberPhysical initStep + 1 -511 -1e+03 604 0.008 0.00176 4.45 4.45 DriftChamberPhysical eIoni + 2 -513 -1e+03 604 0.00674 0.00126 3.53 7.98 DriftChamberPhysical eIoni + 3 -516 -1e+03 603 0.00578 0.00096 2.96 10.9 DriftChamberPhysical eIoni + 4 -518 -1e+03 603 0.0035 0.00227 2.57 13.5 DriftChamberPhysical eIoni + 5 -519 -1e+03 604 0.000669 0.00283 1.7 15.2 DriftChamberPhysical eIoni + 6 -519 -1e+03 604 0 0.000669 0.183 15.4 DriftChamberPhysical 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 -495 -815 977 0.00129 0 0 0 WorldPhysical initStep + 1 -495 -815 977 0 0.00129 0.0814 0.0814 WorldPhysical 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 -468 -784 991 0.00154 0 0 0 WorldPhysical initStep + 1 -468 -784 991 0 0.00154 0.105 0.105 WorldPhysical 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 -453 -764 997 0.00165 0 0 0 WorldPhysical initStep + 1 -453 -764 997 0 0.00165 0.116 0.116 WorldPhysical 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 -200 -708 912 0.00114 0 0 0 WorldPhysical initStep + 1 -200 -708 912 0 0.00114 0.0687 0.0687 WorldPhysical 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 -187 -707 924 0.00133 0 0 0 WorldPhysical initStep + 1 -187 -707 924 0 0.00133 0.085 0.085 WorldPhysical 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 -133 -698 953 0.00195 0 0 0 WorldPhysical initStep + 1 -133 -698 953 0 0.00195 0.15 0.15 WorldPhysical 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 -58.4 -685 1e+03 0.0014 0 0 0 WorldPhysical initStep + 1 -58.4 -685 1e+03 0 0.0014 0.092 0.092 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 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 + 0 -20.3 -617 986 0.00104 0 0 0 WorldPhysical initStep + 1 -20.3 -617 986 0 0.00104 0.0606 0.0606 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 + 0 -2.8 -592 981 0.00122 0 0 0 WorldPhysical initStep + 1 -2.82 -592 981 0 0.00122 0.0758 0.0758 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.347 -560 936 0.00126 0 0 0 WorldPhysical initStep - 1 0.372 -560 936 0 0.00126 0.0788 0.0788 WorldPhysical eIoni + 0 0.079 -225 375 0.00545 0 0 0 DriftChamberPhysical initStep + 1 0.823 -227 373 0.00424 0.0012 2.44 2.44 DriftChamberPhysical eIoni + 2 0.672 -228 373 0.00285 0.00139 1.99 4.42 DriftChamberPhysical eIoni + 3 0.907 -230 372 0.000853 0.002 1.41 5.84 DriftChamberPhysical eIoni + 4 1.02 -230 372 0 0.000853 0.248 6.09 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.337 -549 916 0.00403 0 0 0 WorldPhysical initStep - 1 0.305 -549 916 0 0.00403 0.493 0.493 WorldPhysical eIoni + 0 -0.000228 -26.2 43.6 0.00242 0 0 0 WorldPhysical initStep + 1 -0.0857 -26.2 43.6 0 0.00242 0.21 0.21 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.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 + 0 -0.00138 -18.1 30.1 0.00524 0 0 0 WorldPhysical initStep + 1 -0.259 -18.3 30 0 0.00524 0.782 0.782 WorldPhysical eIoni +>>> Event 0 + 13 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9995286007589339 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 49, 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 -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 + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0.00151 -25.9 43.1 1e+03 0.00901 50.3 50.3 WorldPhysical eIoni + 2 0.0033 -60 100 1e+03 0.013 66.3 117 DriftChamberPhysical CoupledTransportation + 3 -0.258 -470 783 1e+03 0.0242 796 913 DriftChamberPhysical eIoni + 4 -0.3 -540 900 1e+03 0.00423 137 1.05e+03 WorldPhysical CoupledTransportation + 5 -0.307 -553 921 1e+03 0.00571 25.1 1.07e+03 WorldPhysical eIoni + 6 -0.314 -565 941 1e+03 0.00447 23.2 1.1e+03 WorldPhysical eIoni + 7 -0.326 -590 983 1e+03 0.0129 48.8 1.15e+03 WorldPhysical eIoni + 8 -0.334 -600 1e+03 1e+03 0.00455 19.5 1.17e+03 Crystal CoupledTransportation + 9 -0.334 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 2 +* 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 -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 + 0 -0.326 -590 983 0.00182 0 0 0 WorldPhysical initStep + 1 -0.283 -590 983 0 0.00182 0.135 0.135 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 2 +* 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 -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 + 0 -0.314 -565 941 0.00485 0 0 0 WorldPhysical initStep + 1 -0.595 -565 941 0 0.00485 0.682 0.682 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 2 +* 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 -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 + 0 -0.307 -553 921 0.001 0 0 0 WorldPhysical initStep + 1 -0.291 -553 921 0 0.001 0.058 0.058 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 2 +* 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 -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 + 0 -0.258 -470 783 0.00127 0 0 0 DriftChamberPhysical initStep + 1 -0.516 -470 783 0 0.00127 0.436 0.436 DriftChamberPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 2 +* 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 -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 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 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 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 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 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 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 -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 -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 -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 + 0 0.00151 -25.9 43.1 0.00437 0 0 0 WorldPhysical initStep + 1 -0.243 -25.9 43.1 0 0.00437 0.567 0.567 WorldPhysical eIoni >>> Event 1 - 14 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9992110961860632 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999085481852157 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -1953,50 +1456,22 @@ 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.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.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 + 1 0 -60 100 1e+03 0.0227 117 117 DriftChamberPhysical CoupledTransportation + 2 -0.0879 -540 900 1e+03 0.0283 933 1.05e+03 WorldPhysical CoupledTransportation + 3 -0.0986 -563 940 1e+03 0.00893 46.2 1.1e+03 WorldPhysical eIoni + 4 -0.124 -600 1e+03 1e+03 0.0162 70.4 1.17e+03 Crystal CoupledTransportation + 5 -0.124 -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.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 + 0 -0.0986 -563 940 0.00126 0 0 0 WorldPhysical initStep + 1 -0.0819 -563 940 0 0.00126 0.0788 0.0788 WorldPhysical eIoni >>> Event 2 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999165893961809 (GeV) + 12 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999226919923085 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -2006,65 +1481,169 @@ 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 -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 + 1 0 -60 100 1e+03 0.0253 117 117 DriftChamberPhysical CoupledTransportation + 2 0.0285 -255 425 1e+03 0.0172 380 496 DriftChamberPhysical eIoni + 3 0.0126 -423 704 1e+03 0.0104 325 821 DriftChamberPhysical eIoni + 4 0.0128 -492 821 1e+03 0.00495 136 957 DriftChamberPhysical eIoni + 5 -0.000989 -540 900 1e+03 0.00411 92.4 1.05e+03 WorldPhysical CoupledTransportation + 6 -0.0173 -599 999 1e+03 0.0231 115 1.16e+03 WorldPhysical eIoni + 7 -0.0178 -600 1e+03 1e+03 0.00017 1.55 1.17e+03 Crystal CoupledTransportation + 8 -0.0178 -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 + 0 -0.0173 -599 999 0.00172 0 0 0 WorldPhysical initStep + 1 0.0176 -599 999 0 0.00172 0.124 0.124 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 + 0 0.0128 -492 821 0.0401 0 0 0 DriftChamberPhysical initStep + 1 32.5 -513 808 0.0348 0.0053 41.2 41.2 DriftChamberPhysical eIoni + 2 56.4 -528 794 0.031 0.0038 32.1 73.2 DriftChamberPhysical eIoni + 3 57.4 -528 793 0.0308 0.000204 1.34 74.6 DriftChamberPhysical eIoni + 4 74.7 -525 775 0.0274 0.00336 25.9 101 DriftChamberPhysical eIoni + 5 89 -520 760 0.0236 0.00386 21.2 122 DriftChamberPhysical eIoni + 6 93.3 -519 745 0.0211 0.00243 16.4 138 DriftChamberPhysical eIoni + 7 97.2 -516 732 0.0178 0.00334 13.7 152 DriftChamberPhysical eIoni + 8 102 -515 723 0.0163 0.00153 10.4 162 DriftChamberPhysical eIoni + 9 103 -513 718 0.0139 0.000713 5.17 167 DriftChamberPhysical eIoni + 10 105 -515 712 0.0121 0.00186 7.16 175 DriftChamberPhysical eIoni + 11 109 -515 708 0.00944 0.00262 5.85 180 DriftChamberPhysical eIoni + 12 112 -517 706 0.00809 0.00135 4.27 185 DriftChamberPhysical eIoni + 13 114 -519 704 0.00587 0.00222 3.58 188 DriftChamberPhysical eIoni + 14 116 -520 703 0.00475 0.00112 2.6 191 DriftChamberPhysical eIoni + 15 117 -520 703 0.00331 0.00035 0.683 192 DriftChamberPhysical eIoni + 16 118 -520 701 0.0014 0.00191 1.62 193 DriftChamberPhysical eIoni + 17 118 -520 701 0 0.0014 0.505 194 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 117 -520 703 0.00109 0 0 0 DriftChamberPhysical initStep + 1 117 -520 702 0 0.00109 0.348 0.348 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 103 -513 718 0.00163 0 0 0 DriftChamberPhysical initStep + 1 103 -513 718 0 0.00163 0.634 0.634 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.173 -550 917 0.00157 0 0 0 WorldPhysical initStep - 1 -0.128 -550 917 0 0.00157 0.108 0.108 WorldPhysical eIoni + 0 0.0126 -423 704 0.00109 0 0 0 DriftChamberPhysical initStep + 1 -0.192 -423 704 0 0.00109 0.345 0.345 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.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 + 0 0.0285 -255 425 0.0013 0 0 0 DriftChamberPhysical initStep + 1 0.346 -255 425 0 0.0013 0.447 0.447 DriftChamberPhysical eIoni +>>> Event 3 + 11 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9998706707484735 (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.0112 -38.9 64.8 1e+03 0.0146 75.5 75.5 WorldPhysical eIoni + 2 -0.0111 -60 100 1e+03 0.00944 41.1 117 DriftChamberPhysical CoupledTransportation + 3 0.0274 -275 459 1e+03 0.017 419 535 DriftChamberPhysical eIoni + 4 0.0327 -317 529 1e+03 0.00483 82 617 DriftChamberPhysical eIoni + 5 0.0714 -472 787 1e+03 0.00883 300 918 DriftChamberPhysical eIoni + 6 0.0731 -540 900 1e+03 0.00529 132 1.05e+03 WorldPhysical CoupledTransportation + 7 0.0723 -548 913 1e+03 0.00216 15.5 1.06e+03 WorldPhysical eIoni + 8 0.0759 -584 974 1e+03 0.0139 70.6 1.14e+03 WorldPhysical eIoni + 9 0.0712 -595 992 1e+03 0.00334 20.5 1.16e+03 WorldPhysical eIoni + 10 0.0691 -600 1e+03 1e+03 0.00209 9.9 1.17e+03 Crystal CoupledTransportation + 11 0.0691 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* 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.0712 -595 992 0.0231 0 0 0 WorldPhysical initStep + 1 0.218 -593 993 0.0205 0.00253 2.55 2.55 WorldPhysical msc + 2 0.246 -593 995 0.0187 0.00187 1.61 4.16 WorldPhysical msc + 3 0.346 -593 996 0.0171 0.00153 1.42 5.58 WorldPhysical msc + 4 0.998 -593 997 0.0157 0.00141 1.38 6.96 WorldPhysical msc + 5 1.39 -594 998 0.0137 0.00205 1.38 8.34 WorldPhysical msc + 6 2.35 -595 998 0.012 0.00163 1.38 9.73 WorldPhysical msc + 7 3.33 -595 998 0.011 0.00103 1.38 11.1 WorldPhysical msc + 8 4.18 -595 997 0.00771 0.00331 1.38 12.5 WorldPhysical msc + 9 4.91 -595 996 0.00263 0.00508 1.38 13.9 WorldPhysical msc + 10 4.97 -595 996 0 0.00263 0.24 14.1 WorldPhysical eIoni + +********************************************************************************************************* +* 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.0759 -584 974 0.00185 0 0 0 WorldPhysical initStep + 1 0.122 -584 974 0 0.00185 0.138 0.138 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.0723 -548 913 0.00184 0 0 0 WorldPhysical initStep + 1 0.0427 -548 913 0 0.00184 0.136 0.136 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.0714 -472 787 0.00109 0 0 0 DriftChamberPhysical initStep + 1 0.0118 -472 787 0 0.00109 0.346 0.346 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.0327 -317 529 0.00194 0 0 0 DriftChamberPhysical initStep + 1 0.585 -318 529 0 0.00194 0.832 0.832 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.0274 -275 459 0.00104 0 0 0 DriftChamberPhysical initStep + 1 0.236 -275 459 0 0.00104 0.324 0.324 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.0112 -38.9 64.8 0.00106 0 0 0 WorldPhysical initStep + 1 0.0123 -38.9 64.8 0 0.00106 0.0624 0.0624 WorldPhysical eIoni >>> Event 4 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999250598482089 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9998866977035474 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -2076,146 +1655,108 @@ 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 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 + 1 -0.00114 16 26.7 1e+03 0.00502 31.1 31.1 WorldPhysical hIoni + 2 -0.00436 29.9 49.8 1e+03 0.00515 26.9 58 WorldPhysical hIoni + 3 -0.00517 33.9 56.5 1e+03 0.000883 7.8 65.8 WorldPhysical hIoni + 4 -0.00573 35.9 59.9 1e+03 0.000343 4.03 69.9 WorldPhysical hIoni + 5 -0.00621 37.5 62.5 1e+03 5.98e-05 3 72.9 WorldPhysical hIoni + 6 -0.0073 40.3 67.1 1e+03 0.00124 5.41 78.3 WorldPhysical hIoni + 7 -0.0118 60 100 1e+03 0.00591 38.3 117 DriftChamberPhysical CoupledTransportation + 8 -0.047 192 320 1e+03 0.00547 256 373 DriftChamberPhysical hIoni + 9 -0.0787 446 743 1e+03 0.0138 494 867 DriftChamberPhysical hIoni + 10 -0.0838 459 765 1e+03 0.000164 24.9 892 DriftChamberPhysical hIoni + 11 -0.12 540 900 1e+03 0.00231 158 1.05e+03 WorldPhysical CoupledTransportation + 12 -0.135 570 950 1e+03 0.0103 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 13 -0.135 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 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 + 0 -0.0838 459 765 0.00213 0 0 0 DriftChamberPhysical initStep + 1 0.621 458 765 0 0.00213 0.973 0.973 DriftChamberPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +* 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.00635 204 340 0.00125 0 0 0 DriftChamberPhysical initStep - 1 0.269 204 340 0 0.00125 0.423 0.423 DriftChamberPhysical eIoni + 0 -0.0787 446 743 0.0066 0 0 0 DriftChamberPhysical initStep + 1 2.43 444 744 0.00548 0.00112 2.9 2.9 DriftChamberPhysical eIoni + 2 4.67 444 744 0.00446 0.00101 2.45 5.35 DriftChamberPhysical eIoni + 3 5.59 443 744 0.00181 0.00146 1.15 6.5 DriftChamberPhysical eIoni + 4 5.93 443 744 0 0.00181 0.745 7.25 DriftChamberPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 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 + 0 5.59 443 744 0.00119 0 0 0 DriftChamberPhysical initStep + 1 5.72 443 744 0 0.00119 0.396 0.396 DriftChamberPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +* 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 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 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 - 6 hits are stored in EM ExN05CalorimeterHitsCollection. - 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.7599505595186855 (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.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 + 0 -0.047 192 320 0.00147 0 0 0 DriftChamberPhysical initStep + 1 -0.206 192 320 0 0.00147 0.542 0.542 DriftChamberPhysical eIoni ********************************************************************************************************* * 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.453 557 929 0.00139 0 0 0 WorldPhysical initStep - 1 -0.49 557 929 0 0.00139 0.0908 0.0908 WorldPhysical eIoni + 0 -0.0073 40.3 67.1 0.0078 0 0 0 WorldPhysical initStep + 1 -0.493 40.3 68 0.000795 0.00701 1.42 1.42 WorldPhysical eIoni + 2 -0.479 40.3 68 0 0.000795 0.0433 1.46 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.444 542 904 0.00102 0 0 0 WorldPhysical initStep - 1 -0.427 542 904 0 0.00102 0.0594 0.0594 WorldPhysical eIoni + 0 -0.00621 37.5 62.5 0.00116 0 0 0 WorldPhysical initStep + 1 0.0204 37.5 62.5 0 0.00116 0.0701 0.0701 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.422 506 843 0.00159 0 0 0 DriftChamberPhysical initStep - 1 -0.496 505 843 0 0.00159 0.612 0.612 DriftChamberPhysical eIoni + 0 -0.00573 35.9 59.9 0.00106 0 0 0 WorldPhysical initStep + 1 0.0156 36 59.9 0 0.00106 0.0626 0.0626 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.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 + 0 -0.00517 33.9 56.5 0.0011 0 0 0 WorldPhysical initStep + 1 -0.0141 33.9 56.4 0 0.0011 0.066 0.066 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.0864 116 193 0.00102 0 0 0 DriftChamberPhysical initStep - 1 -0.306 116 193 0 0.00102 0.318 0.318 DriftChamberPhysical eIoni + 0 -0.00436 29.9 49.8 0.00123 0 0 0 WorldPhysical initStep + 1 -0.0338 29.9 49.8 0 0.00123 0.0763 0.0763 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.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) + 0 -0.00114 16 26.7 0.00118 0 0 0 WorldPhysical initStep + 1 0.0118 16 26.7 0 0.00118 0.0722 0.0722 WorldPhysical eIoni +>>> Event 0 + 3 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.1599880890769028 (GeV) 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7199411262136545 (GeV) + Total energy deposition in HAD calorimeter towers : 0.7599434231152881 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -2223,101 +1764,47 @@ 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 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.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.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 + 1 -0.000131 3.45 5.76 1e+03 0.000851 6.71 6.71 WorldPhysical hIoni + 2 -0.0012 60 100 1e+03 0.0175 110 117 DriftChamberPhysical CoupledTransportation + 3 -0.0018 86.3 144 1e+03 0.000892 51.3 168 DriftChamberPhysical hIoni + 4 0.056 540 900 1e+03 0.021 882 1.05e+03 WorldPhysical CoupledTransportation + 5 0.0657 570 950 1e+03 0.00735 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 6 0.0657 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.0359 201 335 0.00242 0 0 0 DriftChamberPhysical initStep - 1 0.703 202 335 0 0.00242 1.17 1.17 DriftChamberPhysical eIoni + 0 -0.0018 86.3 144 0.0124 0 0 0 DriftChamberPhysical initStep + 1 -4.87 89.8 144 0.00949 0.00291 6.08 6.08 DriftChamberPhysical eIoni + 2 -8.27 92.2 144 0.0072 0.00229 4.3 10.4 DriftChamberPhysical eIoni + 3 -10.6 94 145 0.00517 0.00203 3.16 13.5 DriftChamberPhysical eIoni + 4 -8.61 94.9 145 0.00373 0.00144 2.33 15.9 DriftChamberPhysical eIoni + 5 -8.12 95.4 147 0.00163 0.0021 1.79 17.7 DriftChamberPhysical eIoni + 6 -7.95 95.2 147 0 0.00163 0.636 18.3 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.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 + 0 -0.000131 3.45 5.76 0.00632 0 0 0 WorldPhysical initStep + 1 0.337 3.51 5.77 0.00385 0.00147 0.379 0.379 WorldPhysical eIoni + 2 0.338 3.36 5.63 0 0.00385 0.456 0.835 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) + 0 0.337 3.51 5.77 0.001 0 0 0 WorldPhysical initStep + 1 0.355 3.5 5.78 0 0.001 0.058 0.058 WorldPhysical eIoni +>>> Event 1 + 6 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.1999867487217892 (GeV) 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.6999508767554513 (GeV) + Total energy deposition in HAD calorimeter towers : 0.73995097027062 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -2325,71 +1812,159 @@ 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.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 + 1 0 60 100 1e+03 0.0151 117 117 DriftChamberPhysical CoupledTransportation + 2 0.00168 90.6 151 1e+03 0.00161 59.4 176 DriftChamberPhysical hIoni + 3 -0.0146 457 762 1e+03 0.0173 712 888 DriftChamberPhysical hIoni + 4 -0.0105 540 900 1e+03 0.00248 161 1.05e+03 WorldPhysical CoupledTransportation + 5 -0.00914 561 935 1e+03 0.00602 40.5 1.09e+03 WorldPhysical hIoni + 6 -0.00839 570 950 1e+03 0.00415 17.8 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 7 -0.00839 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.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 + 0 -0.00914 561 935 0.00149 0 0 0 WorldPhysical initStep + 1 -0.0404 561 935 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.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 + 0 -0.0146 457 762 0.0011 0 0 0 DriftChamberPhysical initStep + 1 -0.00668 457 762 0 0.0011 0.35 0.35 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.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 + 0 0.00168 90.6 151 0.00731 0 0 0 DriftChamberPhysical initStep + 1 3.07 90.5 150 0.00555 0.00176 3.21 3.21 DriftChamberPhysical eIoni + 2 5.14 91.2 149 0.00488 0.000671 2.48 5.69 DriftChamberPhysical eIoni + 3 7.09 92.1 149 0.00426 0.000621 2.22 7.92 DriftChamberPhysical eIoni + 4 8.19 91.9 148 0.00211 0.00215 1.99 9.91 DriftChamberPhysical eIoni + 5 8.39 92.3 147 0 0.00211 0.955 10.9 DriftChamberPhysical eIoni +>>> Event 2 + 5 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.1599909521750737 (GeV) + 11 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.8199536298972526 (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.00157 10.7 17.8 1e+03 0.00234 20.8 20.8 WorldPhysical hIoni + 2 -0.0012 28.1 46.8 1e+03 0.00637 33.8 54.6 WorldPhysical hIoni + 3 -0.00149 33.3 55.4 1e+03 0.00176 10.1 64.7 WorldPhysical hIoni + 4 -0.00502 46.8 78 1e+03 0.00521 26.4 91 WorldPhysical hIoni + 5 -0.00525 47.7 79.6 1e+03 0.00024 1.8 92.8 WorldPhysical hIoni + 6 -0.00867 60 100 1e+03 0.00319 23.8 117 DriftChamberPhysical CoupledTransportation + 7 -0.00962 69.3 116 1e+03 0.00031 18.1 135 DriftChamberPhysical hIoni + 8 -0.0626 292 486 1e+03 0.0077 432 567 DriftChamberPhysical hIoni + 9 -0.104 540 900 1e+03 0.0109 483 1.05e+03 WorldPhysical CoupledTransportation + 10 -0.11 570 950 1e+03 0.00878 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 11 -0.11 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* 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.0626 292 486 0.00111 0 0 0 DriftChamberPhysical initStep + 1 0.123 292 486 0 0.00111 0.357 0.357 DriftChamberPhysical eIoni + +********************************************************************************************************* +* 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.00962 69.3 116 0.00186 0 0 0 DriftChamberPhysical initStep + 1 0.541 69.4 115 0 0.00186 0.782 0.782 DriftChamberPhysical 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.00525 47.7 79.6 0.00114 0 0 0 WorldPhysical initStep + 1 0.0197 47.8 79.6 0 0.00114 0.0685 0.0685 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.00502 46.8 78 0.00323 0 0 0 WorldPhysical initStep + 1 0.0801 46.9 78 0 0.00323 0.337 0.337 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.00149 33.3 55.4 0.00454 0 0 0 WorldPhysical initStep + 1 -0.0962 33.5 55.3 0 0.00454 0.607 0.607 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.0012 28.1 46.8 0.00294 0 0 0 WorldPhysical initStep + 1 -0.0451 28.2 46.8 0 0.00294 0.288 0.288 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.00157 10.7 17.8 0.0017 0 0 0 WorldPhysical initStep + 1 -0.0516 10.7 17.8 0 0.0017 0.122 0.122 WorldPhysical eIoni +>>> Event 3 + 11 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2599835400120017 (GeV) + 9 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.5799632815652346 (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.000373 4.74 7.9 1e+03 0.00123 9.21 9.21 WorldPhysical hIoni + 2 0.000347 60 100 1e+03 0.0148 107 117 DriftChamberPhysical CoupledTransportation + 3 0.0739 446 744 1e+03 0.0185 751 867 DriftChamberPhysical hIoni + 4 0.0734 540 900 1e+03 0.00503 182 1.05e+03 WorldPhysical CoupledTransportation + 5 0.072 570 950 1e+03 0.0111 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 6 0.072 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.0739 446 744 0.00133 0 0 0 DriftChamberPhysical initStep + 1 0.346 446 744 0 0.00133 0.462 0.462 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.000373 4.74 7.9 0.00114 0 0 0 WorldPhysical initStep + 1 -0.016 4.76 7.89 0 0.00114 0.0686 0.0686 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) + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2199883367016436 (GeV) + 9 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.7399607689055288 (GeV) number of event = 5 ### Run 5 start. @@ -2399,149 +1974,69 @@ 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.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 + 1 0 30 100 1e+03 0.0138 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.0944 270 900 1e+03 0.0186 835 940 WorldPhysical CoupledTransportation + 3 -0.104 285 950 1e+03 0.00981 52.2 992 WorldPhysical G4FSMP_parallelGeom + 4 -0.104 285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom +>>> Event 0 + 1 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.01999915656585181 (GeV) + 13 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9799586717267385 (GeV) ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +* 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.152 271 902 0.00239 0 0 0 WorldPhysical initStep - 1 -0.202 270 902 0 0.00239 0.206 0.206 WorldPhysical eIoni + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0.000168 1.52 5.07 1e+03 0.000714 5.29 5.29 WorldPhysical hIoni + 2 -0.00206 15.4 51.4 1e+03 0.0108 48.4 53.7 WorldPhysical hIoni + 3 -0.000219 30 100 1e+03 0.00717 50.7 104 DriftChamberPhysical CoupledTransportation + 4 0.00241 63.5 212 1e+03 0.00434 116 221 DriftChamberPhysical hIoni + 5 0.00974 254 846 1e+03 0.0161 663 884 DriftChamberPhysical hIoni + 6 0.0122 270 900 1e+03 0.00136 55.9 940 WorldPhysical CoupledTransportation + 7 0.0131 285 950 1e+03 0.00801 52.2 992 WorldPhysical G4FSMP_parallelGeom + 8 0.0131 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.133 248 827 0.00126 0 0 0 DriftChamberPhysical initStep - 1 -0.0982 248 827 0 0.00126 0.429 0.429 DriftChamberPhysical eIoni + 0 0.00974 254 846 0.00694 0 0 0 DriftChamberPhysical initStep + 1 -2.58 255 847 0.00415 0.0028 3.05 3.05 DriftChamberPhysical eIoni + 2 -4.25 255 846 0.00136 0.00279 1.95 5 DriftChamberPhysical eIoni + 3 -4.55 255 846 0 0.00136 0.48 5.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.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 + 0 0.00241 63.5 212 0.00173 0 0 0 DriftChamberPhysical initStep + 1 -0.0777 64 211 0 0.00173 0.696 0.696 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.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 + 0 -0.00206 15.4 51.4 0.00117 0 0 0 WorldPhysical initStep + 1 0.0235 15.4 51.4 0 0.00117 0.0715 0.0715 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 + 0 0.000168 1.52 5.07 0.00152 0 0 0 WorldPhysical initStep + 1 -0.0426 1.52 5.07 0 0.00152 0.103 0.103 WorldPhysical eIoni >>> 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) + Total energy deposition in EM calorimeter crytals : 0.01999880174941301 (GeV) + 12 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9799412857212376 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -2549,85 +2044,174 @@ 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.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 + 1 0.000206 1.72 5.72 1e+03 0.00092 5.97 5.97 WorldPhysical hIoni + 2 -0.0104 25.6 85.3 1e+03 0.0123 83.1 89 WorldPhysical hIoni + 3 -0.0122 30 100 1e+03 0.0016 15.4 104 DriftChamberPhysical CoupledTransportation + 4 -0.0441 67.4 225 1e+03 0.00232 130 235 DriftChamberPhysical hIoni + 5 -0.126 139 464 1e+03 0.00476 250 484 DriftChamberPhysical hIoni + 6 -0.182 208 694 1e+03 0.00463 240 725 DriftChamberPhysical hIoni + 7 -0.207 227 756 1e+03 0.00228 64.1 789 DriftChamberPhysical hIoni + 8 -0.239 252 839 1e+03 0.0012 87.2 876 DriftChamberPhysical hIoni + 9 -0.263 270 900 1e+03 0.00139 63.6 940 WorldPhysical CoupledTransportation + 10 -0.281 285 950 1e+03 0.00677 52.2 992 WorldPhysical G4FSMP_parallelGeom + 11 -0.281 285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* 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.239 252 839 0.00129 0 0 0 DriftChamberPhysical initStep + 1 -0.284 252 839 0 0.00129 0.443 0.443 DriftChamberPhysical eIoni ********************************************************************************************************* * 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 + 0 -0.207 227 756 0.003 0 0 0 DriftChamberPhysical initStep + 1 -1.05 228 755 0.00122 0.00177 1.48 1.48 DriftChamberPhysical eIoni + 2 -1.29 228 755 0 0.00122 0.411 1.89 DriftChamberPhysical 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 + 0 -0.182 208 694 0.0123 0 0 0 DriftChamberPhysical initStep + 1 1.03 204 697 0.00885 0.00194 5.45 5.45 DriftChamberPhysical eIoni + 2 1.25 201 699 0.00772 0.00113 3.96 9.41 DriftChamberPhysical eIoni + 3 1.66 198 701 0.00569 0.00203 3.4 12.8 DriftChamberPhysical eIoni + 4 2.67 196 701 0.00322 0.00247 2.53 15.3 DriftChamberPhysical eIoni + 5 2.48 195 702 0.00174 0.00149 1.58 16.9 DriftChamberPhysical eIoni + 6 2.39 195 702 0 0.00174 0.7 17.6 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 1.03 204 697 0.00153 0 0 0 DriftChamberPhysical initStep + 1 0.874 204 698 0 0.00153 0.573 0.573 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.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 + 0 -0.126 139 464 0.00229 0 0 0 DriftChamberPhysical initStep + 1 -0.927 139 464 0 0.00229 1.09 1.09 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 -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 + 0 -0.0441 67.4 225 0.00124 0 0 0 DriftChamberPhysical initStep + 1 0.161 67.2 225 0 0.00124 0.42 0.42 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.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 + 0 -0.0104 25.6 85.3 0.00259 0 0 0 WorldPhysical initStep + 1 0.076 25.6 85.3 0 0.00259 0.233 0.233 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.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 + 0 0.000206 1.72 5.72 0.00272 0 0 0 WorldPhysical initStep + 1 -0.0552 1.63 5.75 0 0.00272 0.253 0.253 WorldPhysical eIoni +>>> Event 2 3 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.05999466616314111 (GeV) + Total energy deposition in EM calorimeter crytals : 0.0599961842643362 (GeV) + 10 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9199414920531552 (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.97e-06 0.638 2.13 1e+03 0.00051 2.22 2.22 WorldPhysical hIoni + 2 0.0109 30 100 1e+03 0.0154 102 104 DriftChamberPhysical CoupledTransportation + 3 0.022 190 635 1e+03 0.0128 558 662 DriftChamberPhysical hIoni + 4 0.00314 270 900 1e+03 0.00674 277 940 WorldPhysical CoupledTransportation + 5 0.0024 285 950 1e+03 0.00877 52.2 992 WorldPhysical G4FSMP_parallelGeom + 6 0.0024 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.022 190 635 0.00172 0 0 0 DriftChamberPhysical initStep + 1 -0.435 190 635 0 0.00172 0.69 0.69 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 9.97e-06 0.638 2.13 0.00597 0 0 0 WorldPhysical initStep + 1 -0.401 0.479 2.21 0 0.00597 0.985 0.985 WorldPhysical eIoni +>>> Event 3 + 2 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.03999792321081558 (GeV) 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9399164365558772 (GeV) + Total energy deposition in HAD calorimeter towers : 0.9599501570595741 (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.00121 24.7 82.1 1e+03 0.0136 85.8 85.8 WorldPhysical hIoni + 2 0.00452 30 100 1e+03 0.00251 18.6 104 DriftChamberPhysical CoupledTransportation + 3 0.109 270 900 1e+03 0.0194 835 940 WorldPhysical CoupledTransportation + 4 0.109 270 900 1e+03 0.000122 0.345 940 WorldPhysical hIoni + 5 0.11 274 911 1e+03 0.00139 11.5 951 WorldPhysical hIoni + 6 0.114 285 950 1e+03 0.00738 40.4 992 WorldPhysical G4FSMP_parallelGeom + 7 0.114 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.11 274 911 0.00124 0 0 0 WorldPhysical initStep + 1 0.106 274 911 0 0.00124 0.0774 0.0774 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.109 270 900 0.00434 0 0 0 WorldPhysical initStep + 1 0.048 270 900 0.004 0.000336 0.103 0.103 WorldPhysical msc + 2 0.00528 270 900 0.00356 0.000444 0.103 0.207 WorldPhysical msc + 3 -0.0134 270 900 0.00318 0.000376 0.103 0.31 WorldPhysical msc + 4 0.0345 270 900 0.00292 0.000261 0.103 0.414 WorldPhysical msc + 5 -0.0205 270 900 0.00167 0.00125 0.103 0.517 WorldPhysical msc + 6 -0.0396 270 900 0 0.00167 0.119 0.636 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.00121 24.7 82.1 0.00112 0 0 0 WorldPhysical initStep + 1 0.00603 24.7 82.1 0 0.00112 0.0674 0.0674 WorldPhysical eIoni +>>> Event 4 + 1 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.01999897709167284 (GeV) + 12 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9799498774919688 (GeV) number of event = 5 ### Run 6 start. @@ -2637,79 +2221,43 @@ 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.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.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.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 - 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.9599509036231713 (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.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 + 1 0.00247 -13.2 43.9 1e+03 0.00692 45.8 45.8 WorldPhysical hIoni + 2 -0.000322 -28.5 95.1 1e+03 0.00737 53.5 99.3 WorldPhysical hIoni + 3 -9.49e-05 -30 100 1e+03 0.00133 5.1 104 DriftChamberPhysical CoupledTransportation + 4 0.0307 -191 637 1e+03 0.0156 561 665 DriftChamberPhysical hIoni + 5 0.0444 -270 900 1e+03 0.00767 274 940 WorldPhysical CoupledTransportation + 6 0.0464 -285 950 1e+03 0.00836 52.2 992 WorldPhysical G4FSMP_parallelGeom + 7 0.0464 -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.00144 -280 934 0.00115 0 0 0 WorldPhysical initStep - 1 0.0209 -280 934 0 0.00115 0.0693 0.0693 WorldPhysical eIoni + 0 0.0307 -191 637 0.00204 0 0 0 DriftChamberPhysical initStep + 1 0.515 -191 638 0 0.00204 0.909 0.909 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.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 + 0 -0.000322 -28.5 95.1 0.00105 0 0 0 WorldPhysical initStep + 1 -0.014 -28.5 95.1 0 0.00105 0.0614 0.0614 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.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.03999816855876209 (GeV) - 14 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9599560454102898 (GeV) + 0 0.00247 -13.2 43.9 0.00841 0 0 0 WorldPhysical initStep + 1 0.24 -14 43.2 0.00271 0.00569 1.52 1.52 WorldPhysical eIoni + 2 0.13 -14.1 43.2 0 0.00271 0.252 1.78 WorldPhysical eIoni +>>> Event 0 + 4 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.07999529842613519 (GeV) + 12 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.8999471072940211 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -2717,1722 +2265,1246 @@ 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.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 + 1 0 -30 100 1e+03 0.0161 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.0605 -124 413 1e+03 0.00514 327 432 DriftChamberPhysical Decay ********************************************************************************************************* -* G4Track Information: Particle = mu-, Track ID = 4, Parent ID = 1 +* G4Track Information: Particle = 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 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 + 0 -0.0605 -124 413 791 0 0 0 DriftChamberPhysical initStep + 1 16.8 -270 900 791 0.00799 508 508 WorldPhysical CoupledTransportation + 2 20.3 -300 1e+03 791 0.0147 104 613 Crystal CoupledTransportation + 3 20.3 -300 1e+03 791 0.19 0.506 613 Crystal CoupledTransportation + 4 21.1 -308 1.03e+03 772 15.6 28.7 642 Crystal muIoni + 5 25.2 -326 1.09e+03 738 33.2 64.8 707 Crystal muIoni + 6 29 -339 1.14e+03 706 28.1 53.9 761 Crystal muIoni + 7 30.1 -340 1.15e+03 701 3.23 6.75 767 Crystal muIoni + 8 32.7 -344 1.16e+03 692 8.35 16.5 784 Crystal muIoni + 9 32.9 -344 1.17e+03 674 0.414 0.989 785 Crystal muIoni + 10 33.8 -346 1.17e+03 669 3.37 5.87 791 Crystal muIoni + 11 34.4 -347 1.18e+03 665 1.76 4.22 795 Crystal muIoni + 12 35.2 -348 1.18e+03 662 2.91 5.65 801 Crystal muIoni + 13 36.3 -350 1.19e+03 657 4.65 9.22 810 Crystal CoupledTransportation + 14 38.2 -353 1.2e+03 646 8.57 14.1 824 Crystal muIoni + 15 39.6 -356 1.21e+03 639 5.32 10.2 834 Crystal muIoni + 16 40.7 -357 1.22e+03 632 3.3 7.14 841 Crystal muIoni + 17 44.1 -362 1.24e+03 622 9.6 20.1 861 Crystal muIoni + 18 50 -370 1.28e+03 603 18.8 38.3 900 Crystal CoupledTransportation + 19 60.6 -386 1.35e+03 557 41 76.5 976 Crystal muIoni + 20 64.8 -390 1.38e+03 541 15.1 29.8 1.01e+03 Crystal muIoni + 21 68.2 -393 1.4e+03 531 9.96 21 1.03e+03 WorldPhysical CoupledTransportation + 22 82.5 -405 1.49e+03 531 0.0185 95.9 1.12e+03 WorldPhysical muIoni + 23 83 -405 1.5e+03 531 0.00108 3.3 1.13e+03 WorldPhysical muIoni + 24 83.4 -405 1.5e+03 531 0.000222 2.66 1.13e+03 HadCaloPhysical CoupledTransportation + 25 91 -411 1.55e+03 531 0.00464 50.9 1.18e+03 Tower CoupledTransportation + 26 102 -419 1.64e+03 445 85.9 87.3 1.27e+03 Tower muIoni + 27 95.7 -429 1.71e+03 366 79.1 72.4 1.34e+03 Tower muIoni + 28 92.7 -444 1.76e+03 305 61 58.6 1.4e+03 Tower muIoni + 29 91.7 -450 1.79e+03 280 24.5 22.1 1.42e+03 Tower CoupledTransportation + 30 88.6 -459 1.83e+03 231 49.5 43.6 1.46e+03 Tower muIoni + 31 87 -468 1.86e+03 193 37.7 34.9 1.5e+03 Tower muIoni + 32 83.6 -470 1.89e+03 162 30.8 28.3 1.53e+03 Tower muIoni + 33 80.9 -474 1.91e+03 134 27.8 23 1.55e+03 Tower muIoni + 34 78.7 -476 1.93e+03 112 22 18.3 1.57e+03 Tower muIoni + 35 74 -475 1.94e+03 86.1 26.3 14.7 1.58e+03 Tower muIoni + 36 70.8 -477 1.95e+03 73.2 12.8 10.6 1.59e+03 Tower muIoni + 37 67.8 -480 1.96e+03 59.5 13.7 8.68 1.6e+03 Tower muIoni + 38 65.4 -483 1.97e+03 49 10.5 6.77 1.61e+03 Tower muIoni + 39 64 -484 1.97e+03 39.4 9.59 5.4 1.61e+03 Tower muIoni + 40 63 -485 1.98e+03 32.1 7.29 4.26 1.62e+03 Tower muIoni + 41 62.7 -486 1.98e+03 24.5 7.58 3.47 1.62e+03 Tower muIoni + 42 62.7 -487 1.98e+03 17.8 6.68 2.72 1.63e+03 Tower muIoni + 43 62.6 -488 1.98e+03 10.6 7.22 2.11 1.63e+03 Tower muIoni + 44 62.9 -488 1.99e+03 2.42 8.21 1.36 1.63e+03 Tower muIoni + 45 63 -488 1.99e+03 0 2.42 0.113 1.63e+03 Tower muIoni + 46 63 -488 1.99e+03 0 0 0 1.63e+03 Tower Decay ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 3 ********************************************************************************************************* 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 + 0 63 -488 1.99e+03 43.8 0 0 0 Tower initStep + 1 63.4 -487 1.99e+03 42.1 1.52 1.24 1.24 Tower eBrem + 2 63.5 -486 1.99e+03 40.3 0.502 0.491 1.73 Tower eBrem + 3 64.5 -484 1.99e+03 31.5 8.81 2.71 4.44 Tower eBrem + 4 65.2 -480 1.99e+03 27.3 4.03 3.97 8.41 Tower eBrem + 5 65.7 -478 1.99e+03 20.5 2.28 2.06 10.5 Tower eBrem + 6 65.7 -477 1.99e+03 18.4 1.95 1.07 11.5 Tower eBrem + 7 65.6 -476 1.99e+03 15.9 0.74 0.766 12.3 Tower eBrem + 8 65.4 -475 1.99e+03 13.8 1.57 1.46 13.8 Tower eBrem + 9 64.5 -472 1.99e+03 10.1 3.74 3.97 17.7 Tower eIoni + 10 64.3 -471 1.99e+03 8.99 0.984 0.966 18.7 Tower eBrem + 11 62.9 -469 1.99e+03 5.84 3.15 3.11 21.8 Tower eIoni + 12 63.1 -467 1.99e+03 3.27 2.26 2.18 24 Tower eBrem + 13 62.9 -467 1.99e+03 2.83 0.307 0.364 24.4 Tower eBrem + 14 61.7 -467 1.99e+03 0.644 2.18 1.8 26.2 Tower eIoni + 15 61.6 -467 1.99e+03 0 0.644 0.455 26.6 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 62.9 -467 1.99e+03 0.134 0 0 0 Tower initStep + 1 56.8 -462 1.99e+03 0.105 0 8.03 8.03 Tower compt + 2 59.1 -459 1.99e+03 0.101 0 4.09 12.1 Tower compt + 3 59.8 -458 1.99e+03 0 0.00711 0.758 12.9 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 34 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 59.8 -458 1.99e+03 0.0939 0 0 0 Tower initStep + 1 59.8 -458 1.99e+03 0 0.0939 0.0245 0.0245 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 34 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 59.1 -459 1.99e+03 0.00382 0 0 0 Tower initStep + 1 59.1 -459 1.99e+03 0 0.00382 0.000121 0.000121 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 34 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 56.8 -462 1.99e+03 0.0289 0 0 0 Tower initStep + 1 56.8 -462 1.99e+03 0 0.0289 0.00331 0.00331 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 33, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 63.1 -467 1.99e+03 0.311 0 0 0 Tower initStep + 1 61.3 -466 1.99e+03 0.272 0 2.38 2.38 Tower compt + 2 50.4 -468 1.99e+03 0.223 0 12 14.3 Tower compt + 3 50 -468 1.99e+03 0.223 0 0.461 14.8 Tower CoupledTransportation + 4 44 -469 1.99e+03 0.155 0 7.16 22 Tower compt + 5 44.5 -475 1.99e+03 0.126 0 6.32 28.3 Tower compt + 6 46.1 -476 1.99e+03 0.112 0 2.23 30.5 Tower compt + 7 46.1 -473 2e+03 0 0.00711 7.06 37.6 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 46.1 -473 2e+03 0.105 0 0 0 Tower initStep + 1 46.1 -473 2e+03 0 0.105 0.0297 0.0297 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 46.1 -476 1.99e+03 0.0139 0 0 0 Tower initStep + 1 46.1 -476 1.99e+03 0 0.0139 0.000964 0.000964 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 44.5 -475 1.99e+03 0.0287 0 0 0 Tower initStep + 1 44.5 -475 1.99e+03 0 0.0287 0.00329 0.00329 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 44 -469 1.99e+03 0.0677 0 0 0 Tower initStep + 1 44 -469 1.99e+03 0 0.0677 0.0141 0.0141 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 50.4 -468 1.99e+03 0.0489 0 0 0 Tower initStep + 1 50.4 -468 1.99e+03 0 0.0489 0.00814 0.00814 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 61.3 -466 1.99e+03 0.0398 0 0 0 Tower initStep + 1 61.3 -466 1.99e+03 0 0.0398 0.00572 0.00572 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 32, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 64.3 -471 1.99e+03 0.134 0 0 0 Tower initStep + 1 63.7 -470 1.99e+03 0 0.00711 2.15 2.15 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 32 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 63.7 -470 1.99e+03 0.127 0 0 0 Tower initStep + 1 63.7 -470 1.99e+03 0 0.127 0.0403 0.0403 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 31, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 65.4 -475 1.99e+03 0.462 0 0 0 Tower initStep + 1 64.3 -468 1.99e+03 0.424 0 6.75 6.75 Tower compt + 2 65.9 -462 1.99e+03 0 0.00711 6.29 13 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 31 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 65.9 -462 1.99e+03 0.417 0 0 0 Tower initStep + 1 66 -462 1.99e+03 0 0.417 0.251 0.251 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 31 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 64.3 -468 1.99e+03 0.0387 0 0 0 Tower initStep + 1 64.3 -468 1.99e+03 0 0.0387 0.00546 0.00546 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 + 0 65.6 -476 1.99e+03 1.79 0 0 0 Tower initStep + 1 65 -457 1.99e+03 0.479 0 18.9 18.9 Tower compt + 2 60.6 -456 1.99e+03 0.193 0 6.6 25.5 Tower compt + 3 59.4 -456 1.99e+03 0 0.00711 5.96 31.4 Tower phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 30 +* G4Track Information: Particle = e-, Track ID = 49, 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 + 0 59.4 -456 1.99e+03 0.186 0 0 0 Tower initStep + 1 59.4 -456 1.99e+03 0 0.186 0.0749 0.0749 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 30 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 60.6 -456 1.99e+03 0.285 0 0 0 Tower initStep + 1 60.6 -456 1.99e+03 0 0.285 0.144 0.144 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 30 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 65 -457 1.99e+03 1.31 0 0 0 Tower initStep + 1 65 -457 1.99e+03 0 1.31 1.09 1.09 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 + 0 65.7 -477 1.99e+03 0.193 0 0 0 Tower initStep + 1 64.9 -468 1.99e+03 0.167 0 9.31 9.31 Tower compt + 2 63.9 -467 1.99e+03 0 0.00711 1.25 10.6 Tower phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 29 +* G4Track Information: Particle = e-, Track ID = 51, 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 + 0 63.9 -467 1.99e+03 0.16 0 0 0 Tower initStep + 1 63.9 -467 1.99e+03 0 0.16 0.0589 0.0589 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 29 +* G4Track Information: Particle = e-, Track ID = 50, 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 + 0 64.9 -468 1.99e+03 0.0256 0 0 0 Tower initStep + 1 64.9 -468 1.99e+03 0 0.0256 0.00269 0.00269 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 + 0 65.7 -478 1.99e+03 4.47 0 0 0 Tower initStep + 1 64.7 -450 1.99e+03 4.47 0 28.3 28.3 Tower CoupledTransportation + 2 60.9 -350 2.01e+03 4.47 0 101 129 Tower CoupledTransportation + 3 60.3 -335 2.01e+03 0.268 0 15.4 145 Tower compt + 4 62.8 -350 1.99e+03 0.268 0 21.9 167 Tower CoupledTransportation + 5 66.3 -372 1.97e+03 0.176 0 31.5 198 Tower compt + 6 71.6 -381 1.98e+03 0 0.00711 14 212 Tower phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 28 +* G4Track Information: Particle = e-, Track ID = 54, 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 + 0 71.6 -381 1.98e+03 0.169 0 0 0 Tower initStep + 1 71.6 -381 1.98e+03 0 0.169 0.0641 0.0641 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 28 +* G4Track Information: Particle = e-, Track ID = 53, 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 + 0 66.3 -372 1.97e+03 0.092 0 0 0 Tower initStep + 1 66.3 -372 1.97e+03 0 0.092 0.0237 0.0237 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 23 +* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 28 ********************************************************************************************************* 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 + 0 60.3 -335 2.01e+03 4.21 0 0 0 Tower initStep + 1 60.3 -334 2.01e+03 2.37 0.396 0.455 0.455 Tower eBrem + 2 60.8 -334 2.01e+03 0.827 1.54 1.65 2.1 Tower eIoni + 3 60.7 -334 2.01e+03 0 0.827 0.629 2.73 Tower eIoni ********************************************************************************************************* * 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 + 0 60.3 -334 2.01e+03 1.44 0 0 0 Tower initStep + 1 69.9 -314 2e+03 0.738 0 23 23 Tower compt + 2 71.5 -313 2e+03 0.329 0 1.7 24.7 Tower compt + 3 71.4 -313 2e+03 0.183 0 0.421 25.1 Tower compt + 4 71.5 -313 2e+03 0.15 0 0.12 25.2 Tower compt + 5 72.8 -316 2.01e+03 0 0.00711 7.89 33.1 Tower phot ********************************************************************************************************* * 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 + 0 72.8 -316 2.01e+03 0.142 0 0 0 Tower initStep + 1 72.8 -316 2.01e+03 0 0.142 0.0487 0.0487 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 + 0 71.5 -313 2e+03 0.0336 0 0 0 Tower initStep + 1 71.5 -313 2e+03 0 0.0336 0.00429 0.00429 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 + 0 71.4 -313 2e+03 0.146 0 0 0 Tower initStep + 1 71.4 -313 2e+03 0 0.146 0.0505 0.0505 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 + 0 71.5 -313 2e+03 0.409 0 0 0 Tower initStep + 1 71.5 -313 2e+03 0 0.409 0.244 0.244 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 + 0 69.9 -314 2e+03 0.707 0 0 0 Tower initStep + 1 69.9 -314 2e+03 0 0.707 0.514 0.514 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 54, Parent ID = 52 +* 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 -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 + 0 65.2 -480 1.99e+03 0.118 0 0 0 Tower initStep + 1 69.8 -466 1.99e+03 0.108 0 15 15 Tower compt + 2 74.9 -464 1.99e+03 0.0897 0 5.93 20.9 Tower compt + 3 75.5 -465 1.99e+03 0 0.00711 1.23 22.1 Tower phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 54 +* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 27 ********************************************************************************************************* 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 + 0 75.5 -465 1.99e+03 0.0826 0 0 0 Tower initStep + 1 75.5 -465 1.99e+03 0 0.0826 0.0198 0.0198 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 54 +* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 27 ********************************************************************************************************* 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 + 0 74.9 -464 1.99e+03 0.0185 0 0 0 Tower initStep + 1 74.9 -464 1.99e+03 0 0.0185 0.00156 0.00156 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 68, Parent ID = 54 +* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 27 ********************************************************************************************************* 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 + 0 69.8 -466 1.99e+03 0.0102 0 0 0 Tower initStep + 1 69.8 -466 1.99e+03 0 0.0102 0.000571 0.000571 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 67, Parent ID = 54 +* 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 -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 + 0 64.5 -484 1.99e+03 0.0712 0 0 0 Tower initStep + 1 65.5 -481 1.99e+03 0 0.00711 2.7 2.7 Tower phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 54 +* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 26 ********************************************************************************************************* 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 + 0 65.5 -481 1.99e+03 0.0641 0 0 0 Tower initStep + 1 65.5 -481 1.99e+03 0 0.0641 0.0129 0.0129 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 54 +* 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 -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 + 0 63.5 -486 1.99e+03 1.27 0 0 0 Tower initStep + 1 69.1 -470 1.99e+03 1.06 0 17.7 17.7 Tower compt + 2 69.8 -469 1.99e+03 0.264 0 1.17 18.8 Tower compt + 3 67.7 -481 2e+03 0.188 0 14.9 33.7 Tower compt + 4 69.2 -484 2e+03 0.137 0 3.84 37.6 Tower compt + 5 79.7 -484 2e+03 0.0932 0 13.3 50.8 Tower compt + 6 78.7 -482 2e+03 0 0.00711 2.83 53.7 Tower phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 53, Parent ID = 52 +* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 25 ********************************************************************************************************* 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 + 0 78.7 -482 2e+03 0.0861 0 0 0 Tower initStep + 1 78.7 -482 2e+03 0 0.0861 0.0212 0.0212 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 53 +* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 25 ********************************************************************************************************* 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 + 0 79.7 -484 2e+03 0.0434 0 0 0 Tower initStep + 1 79.7 -484 2e+03 0 0.0434 0.00665 0.00665 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 25 +* G4Track Information: Particle = e-, Track ID = 68, 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 + 0 69.2 -484 2e+03 0.0518 0 0 0 Tower initStep + 1 69.2 -484 2e+03 0 0.0518 0.00898 0.00898 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 67, Parent ID = 25 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 67.7 -481 2e+03 0.0759 0 0 0 Tower initStep + 1 67.7 -481 2e+03 0 0.0759 0.0171 0.0171 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 25 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 69.8 -469 1.99e+03 0.795 0 0 0 Tower initStep + 1 69.8 -469 1.99e+03 0 0.795 0.598 0.598 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 25 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 69.1 -470 1.99e+03 0.206 0 0 0 Tower initStep + 1 69.1 -470 1.99e+03 0 0.206 0.0878 0.0878 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 + 0 63.4 -487 1.99e+03 0.204 0 0 0 Tower initStep + 1 65.4 -480 1.99e+03 0.194 0 7.24 7.24 Tower compt + 2 66.2 -479 1.99e+03 0.118 0 1.03 8.27 Tower compt + 3 66.1 -480 1.99e+03 0 0.00711 0.897 9.17 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 24 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 66.1 -480 1.99e+03 0.111 0 0 0 Tower initStep + 1 66.1 -480 1.99e+03 0 0.111 0.0323 0.0323 Tower eIoni ********************************************************************************************************* * 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 + 0 66.2 -479 1.99e+03 0.0758 0 0 0 Tower initStep + 1 66.2 -479 1.99e+03 0 0.0758 0.0171 0.0171 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = anti_nu_e, Track ID = 22, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 24 ********************************************************************************************************* 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 + 0 65.4 -480 1.99e+03 0.0102 0 0 0 Tower initStep + 1 65.4 -480 1.99e+03 0 0.0102 0.000579 0.000579 Tower eIoni ********************************************************************************************************* -* G4Track Information: Particle = nu_mu, Track ID = 21, Parent ID = 4 +* G4Track Information: Particle = anti_nu_e, Track ID = 22, Parent ID = 3 ********************************************************************************************************* 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 + 0 63 -488 1.99e+03 32 0 0 0 Tower initStep + 1 81.8 -550 1.99e+03 32 0 65.5 65.5 Tower CoupledTransportation + 2 112 -650 2.01e+03 32 0 105 171 Tower CoupledTransportation + 3 142 -750 2.02e+03 32 0 105 276 Tower CoupledTransportation + 4 150 -775 2.02e+03 32 0 26.8 303 Tower CoupledTransportation + 5 173 -850 2.03e+03 32 0 78.5 381 Tower CoupledTransportation + 6 203 -950 2.05e+03 32 0 105 487 Tower CoupledTransportation + 7 233 -1.05e+03 2.06e+03 32 0 105 592 Tower CoupledTransportation + 8 250 -1.11e+03 2.07e+03 32 0 58.9 651 Tower CoupledTransportation + 9 263 -1.15e+03 2.07e+03 32 0 46.4 697 HadCaloPhysical CoupledTransportation + 10 294 -1.25e+03 2.09e+03 32 0 105 803 WorldPhysical CoupledTransportation + 11 1.13e+03 -4e+03 2.45e+03 32 0 2.9e+03 3.7e+03 OutOfWorld CoupledTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 4 +* G4Track Information: Particle = nu_mu, Track ID = 21, Parent ID = 3 ********************************************************************************************************* 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 + 0 63 -488 1.99e+03 28.9 0 0 0 Tower initStep + 1 50 -493 1.98e+03 28.9 0 14.4 14.4 Tower CoupledTransportation + 2 -50 -531 1.95e+03 28.9 0 111 126 Tower CoupledTransportation + 3 -98.8 -550 1.94e+03 28.9 0 54.3 180 Tower CoupledTransportation + 4 -150 -570 1.92e+03 28.9 0 57 237 Tower CoupledTransportation + 5 -250 -608 1.89e+03 28.9 0 111 348 Tower CoupledTransportation + 6 -350 -647 1.86e+03 28.9 0 111 460 Tower CoupledTransportation + 7 -359 -650 1.86e+03 28.9 0 9.73 469 Tower CoupledTransportation + 8 -450 -685 1.83e+03 28.9 0 102 571 Tower CoupledTransportation + 9 -550 -724 1.8e+03 28.9 0 111 682 Tower CoupledTransportation + 10 -619 -750 1.78e+03 28.9 0 76.4 759 Tower CoupledTransportation + 11 -650 -762 1.77e+03 28.9 0 34.9 794 Tower CoupledTransportation + 12 -750 -801 1.74e+03 28.9 0 111 905 Tower CoupledTransportation + 13 -850 -839 1.71e+03 28.9 0 111 1.02e+03 Tower CoupledTransportation + 14 -879 -850 1.7e+03 28.9 0 31.8 1.05e+03 Tower CoupledTransportation + 15 -950 -877 1.68e+03 28.9 0 79.5 1.13e+03 Tower CoupledTransportation + 16 -1.05e+03 -916 1.65e+03 28.9 0 111 1.24e+03 Tower CoupledTransportation + 17 -1.14e+03 -950 1.62e+03 28.9 0 98.6 1.34e+03 Tower CoupledTransportation + 18 -1.15e+03 -954 1.62e+03 28.9 0 12.8 1.35e+03 HadCaloPhysical CoupledTransportation + 19 -1.25e+03 -993 1.59e+03 28.9 0 111 1.46e+03 WorldPhysical CoupledTransportation + 20 -4e+03 -2.05e+03 759 28.9 0 3.06e+03 4.52e+03 OutOfWorld CoupledTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 3 ********************************************************************************************************* 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 + 0 83 -405 1.5e+03 0.00715 0 0 0 WorldPhysical initStep + 1 83.2 -404 1.5e+03 0.00219 0.00496 1.28 1.28 WorldPhysical eIoni + 2 83.3 -404 1.5e+03 0 0.00219 0.18 1.46 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 73, Parent ID = 19 +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 3 ********************************************************************************************************* 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 + 0 82.5 -405 1.49e+03 0.00122 0 0 0 WorldPhysical initStep + 1 82.5 -405 1.49e+03 0 0.00122 0.0752 0.0752 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 73 +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 3 ********************************************************************************************************* 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 + 0 64.8 -390 1.38e+03 0.915 0 0 0 Crystal initStep + 1 64.9 -390 1.38e+03 0.245 0.671 1.35 1.35 Crystal eIoni + 2 64.9 -391 1.38e+03 0 0.245 0.244 1.6 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 3 ********************************************************************************************************* 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 + 0 60.6 -386 1.35e+03 5.02 0 0 0 Crystal initStep + 1 61.7 -385 1.35e+03 3.15 1.88 3.4 3.4 Crystal eIoni + 2 62 -384 1.35e+03 1.67 0.713 1.68 5.08 Crystal eIoni + 3 61.9 -384 1.35e+03 0.913 0.76 1.92 7 Crystal eIoni + 4 61.8 -384 1.35e+03 0.265 0.601 1.27 8.27 Crystal eBrem + 5 61.8 -384 1.35e+03 0 0.265 0.275 8.55 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 18 +* G4Track Information: Particle = gamma, Track ID = 75, Parent ID = 17 ********************************************************************************************************* 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 + 0 61.8 -384 1.35e+03 0.0469 0 0 0 Crystal initStep + 1 61.9 -384 1.35e+03 0 0.0332 0.0739 0.0739 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 77 +* G4Track Information: Particle = e-, Track ID = 76, Parent ID = 75 ********************************************************************************************************* 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 + 0 61.9 -384 1.35e+03 0.0138 0 0 0 Crystal initStep + 1 61.9 -384 1.35e+03 0 0.0138 0.0022 0.0022 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 77 +* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 17 ********************************************************************************************************* 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 + 0 62 -384 1.35e+03 0.763 0 0 0 Crystal initStep + 1 61.8 -384 1.35e+03 0.128 0.635 1.16 1.16 Crystal eIoni + 2 61.8 -384 1.35e+03 0 0.128 0.0884 1.25 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 44.1 -362 1.24e+03 0.728 0 0 0 Crystal initStep + 1 44.3 -362 1.24e+03 0.00592 0.722 1.1 1.1 Crystal eIoni + 2 44.3 -362 1.24e+03 0 0.00592 0.00059 1.1 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 40.7 -357 1.22e+03 3.76 0 0 0 Crystal initStep + 1 40.9 -357 1.22e+03 2.05 0.56 1.37 1.37 Crystal eBrem + 2 41.5 -358 1.22e+03 0.762 1.28 2.12 3.49 Crystal eIoni + 3 41.6 -358 1.22e+03 0 0.762 1.16 4.64 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 15 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 40.9 -357 1.22e+03 1.16 0 0 0 Crystal initStep + 1 50 -360 1.23e+03 1.16 0 14.7 14.7 Crystal CoupledTransportation + 2 76.7 -369 1.26e+03 1.07 0 43 57.6 Crystal compt + 3 100 -383 1.32e+03 1.07 0 58.3 116 Crystal CoupledTransportation + 4 130 -400 1.38e+03 1.07 0 74.5 190 Crystal CoupledTransportation + 5 132 -401 1.39e+03 1.06 0 5.51 196 Crystal compt + 6 139 -406 1.4e+03 1.06 0 15.3 211 WorldPhysical CoupledTransportation + 7 190 -447 1.5e+03 1.06 0 119 331 HadCaloPhysical CoupledTransportation + 8 216 -467 1.55e+03 1.06 0 59.7 390 Tower CoupledTransportation + 9 224 -473 1.57e+03 0.659 0 19.7 410 Tower compt + 10 223 -471 1.58e+03 0.417 0 11.1 421 Tower compt + 11 228 -477 1.58e+03 0.372 0 10.3 431 Tower compt + 12 247 -491 1.59e+03 0 0.00711 24.7 456 Tower phot ********************************************************************************************************* * 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 + 0 247 -491 1.59e+03 0.365 0 0 0 Tower initStep + 1 247 -491 1.59e+03 0 0.365 0.208 0.208 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 + 0 228 -477 1.58e+03 0.0451 0 0 0 Tower initStep + 1 228 -477 1.58e+03 0 0.0451 0.00709 0.00709 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 + 0 223 -471 1.58e+03 0.241 0 0 0 Tower initStep + 1 223 -471 1.58e+03 0 0.241 0.112 0.112 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 + 0 224 -473 1.57e+03 0.398 0 0 0 Tower initStep + 1 224 -473 1.57e+03 0 0.398 0.236 0.236 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 + 0 132 -401 1.39e+03 0.0165 0 0 0 Crystal initStep + 1 132 -401 1.39e+03 0 0.0165 0.00296 0.00296 Crystal 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 + 0 76.7 -369 1.26e+03 0.0817 0 0 0 Crystal initStep + 1 76.7 -369 1.26e+03 0 0.0817 0.0423 0.0423 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 18 +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 3 ********************************************************************************************************* 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 + 0 39.6 -356 1.21e+03 2.22 0 0 0 Crystal initStep + 1 40.1 -355 1.21e+03 1.27 0.804 1.77 1.77 Crystal eBrem + 2 40.4 -355 1.21e+03 0.494 0.774 1.66 3.43 Crystal eIoni + 3 40.4 -355 1.21e+03 0 0.494 0.669 4.1 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 76 +* G4Track Information: Particle = gamma, Track ID = 84, Parent ID = 14 ********************************************************************************************************* 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 + 0 40.1 -355 1.21e+03 0.149 0 0 0 Crystal initStep + 1 46.6 -356 1.21e+03 0 0.0332 6.56 6.56 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 75, Parent ID = 18 +* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 84 ********************************************************************************************************* 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 + 0 46.6 -356 1.21e+03 0.116 0 0 0 Crystal initStep + 1 46.6 -356 1.21e+03 0 0.116 0.0751 0.0751 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 75 +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 3 ********************************************************************************************************* 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 + 0 38.2 -353 1.2e+03 1.99 0 0 0 Crystal initStep + 1 38.6 -353 1.2e+03 1.49 0.497 0.993 0.993 Crystal msc + 2 38.4 -353 1.2e+03 1.37 0.119 0.262 1.26 Crystal eIoni + 3 38.8 -353 1.2e+03 0.486 0.888 1.74 2.99 Crystal eIoni + 4 38.8 -353 1.2e+03 0 0.486 0.655 3.65 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 3 ********************************************************************************************************* 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 + 0 35.2 -348 1.18e+03 0.767 0 0 0 Crystal initStep + 1 35.3 -348 1.18e+03 0.0714 0.696 1.16 1.16 Crystal eIoni + 2 35.3 -348 1.18e+03 0 0.0714 0.0339 1.2 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 17 +* 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 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 + 0 34.4 -347 1.18e+03 2.2 0 0 0 Crystal initStep + 1 34.8 -347 1.18e+03 1.32 0.874 1.02 1.02 Crystal msc + 2 34.8 -346 1.18e+03 0.343 0.982 1.7 2.72 Crystal eIoni + 3 34.8 -346 1.18e+03 0 0.343 0.401 3.12 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 89, Parent ID = 17 +* 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 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 + 0 33.8 -346 1.17e+03 1.22 0 0 0 Crystal initStep + 1 34.1 -345 1.17e+03 0.509 0.716 1.63 1.63 Crystal eIoni + 2 34.2 -345 1.17e+03 0 0.509 0.696 2.33 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 89 +* 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.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 + 0 32.9 -344 1.17e+03 17.6 0 0 0 Crystal initStep + 1 32.8 -344 1.17e+03 16.7 0.39 0.869 0.869 Crystal eBrem + 2 33 -345 1.17e+03 14.1 0.658 1.11 1.98 Crystal eBrem + 3 34.1 -345 1.17e+03 11.5 1.29 2.52 4.5 Crystal eBrem + 4 35.5 -344 1.17e+03 2.66 1.35 2.99 7.5 Crystal eBrem + 5 35.3 -344 1.17e+03 2.07 0.552 0.988 8.48 Crystal eBrem + 6 35.4 -343 1.17e+03 1.02 1.05 2.13 10.6 Crystal eIoni + 7 35 -343 1.17e+03 0.153 0.732 1.42 12 Crystal eBrem + 8 35 -343 1.17e+03 0 0.153 0.118 12.2 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 88, Parent ID = 17 +* G4Track Information: Particle = gamma, Track ID = 91, Parent ID = 9 ********************************************************************************************************* 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 + 0 35 -343 1.17e+03 0.133 0 0 0 Crystal initStep + 1 32.5 -342 1.17e+03 0 0.036 3.03 3.03 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 88 +* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 91 ********************************************************************************************************* 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 + 0 32.5 -342 1.17e+03 0.097 0 0 0 Crystal initStep + 1 32.5 -342 1.17e+03 0 0.097 0.0562 0.0562 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 88 +* G4Track Information: Particle = gamma, Track ID = 90, Parent ID = 9 ********************************************************************************************************* 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 + 0 35.3 -344 1.17e+03 0.0403 0 0 0 Crystal initStep + 1 35.3 -344 1.17e+03 0 0.0332 0.0816 0.0816 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 88 +* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 90 ********************************************************************************************************* 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 + 0 35.3 -344 1.17e+03 0.00717 0 0 0 Crystal initStep + 1 35.3 -344 1.17e+03 0 0.00717 0.000789 0.000789 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 98, Parent ID = 92 +* G4Track Information: Particle = gamma, Track ID = 89, Parent ID = 9 ********************************************************************************************************* 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 + 0 35.5 -344 1.17e+03 7.51 0 0 0 Crystal initStep + 1 45.4 -350 1.21e+03 7.51 0 39.8 39.8 Crystal CoupledTransportation + 2 50 -353 1.23e+03 7.51 0 18.4 58.2 Crystal CoupledTransportation + 3 53.3 -355 1.24e+03 0 0 13 71.2 Crystal conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 98 +* G4Track Information: Particle = e+, Track ID = 95, Parent ID = 89 ********************************************************************************************************* 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 + 0 53.3 -355 1.24e+03 0.778 0 0 0 Crystal initStep + 1 53.2 -355 1.24e+03 0.166 0.612 1.18 1.18 Crystal eIoni + 2 53.1 -355 1.24e+03 0 0.166 0.126 1.31 Crystal eIoni + 3 53.1 -355 1.24e+03 0 0 0 1.31 Crystal annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 97, Parent ID = 92 +* G4Track Information: Particle = gamma, Track ID = 97, Parent ID = 95 ********************************************************************************************************* 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 + 0 53.1 -355 1.24e+03 0.511 0 0 0 Crystal initStep + 1 56.4 -350 1.24e+03 0.511 0 5.88 5.88 Crystal CoupledTransportation + 2 60.1 -345 1.24e+03 0.242 0 6.54 12.4 Crystal compt + 3 64.4 -350 1.25e+03 0.242 0 7.15 19.6 Crystal CoupledTransportation + 4 76.9 -365 1.25e+03 0 0.036 20.9 40.5 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 97 +* G4Track Information: Particle = e-, Track ID = 99, 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 + 0 76.9 -365 1.25e+03 0.206 0 0 0 Crystal initStep + 1 76.9 -365 1.25e+03 0 0.206 0.188 0.188 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 97 +* G4Track Information: Particle = e-, Track ID = 98, 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 + 0 60.1 -345 1.24e+03 0.269 0 0 0 Crystal initStep + 1 60.1 -345 1.24e+03 0 0.269 0.28 0.28 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 97 +* G4Track Information: Particle = gamma, Track ID = 96, Parent ID = 95 ********************************************************************************************************* 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 + 0 53.1 -355 1.24e+03 0.511 0 0 0 Crystal initStep + 1 50 -359 1.24e+03 0.511 0 5.62 5.62 Crystal CoupledTransportation + 2 20.4 -400 1.22e+03 0.511 0 52.9 58.5 Crystal CoupledTransportation + 3 14.1 -409 1.22e+03 0.332 0 11.2 69.7 Crystal compt + 4 2.94 -413 1.17e+03 0.188 0 54.6 124 Crystal compt + 5 2.74 -414 1.17e+03 0 0.0332 1.15 125 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 97 +* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 96 ********************************************************************************************************* 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 + 0 2.74 -414 1.17e+03 0.155 0 0 0 Crystal initStep + 1 2.73 -414 1.17e+03 0 0.155 0.12 0.12 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 104, Parent ID = 97 +* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 96 ********************************************************************************************************* 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 + 0 2.94 -413 1.17e+03 0.144 0 0 0 Crystal initStep + 1 2.94 -413 1.17e+03 0 0.144 0.107 0.107 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 103, Parent ID = 97 +* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 96 ********************************************************************************************************* 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 + 0 14.1 -409 1.22e+03 0.179 0 0 0 Crystal initStep + 1 14.1 -409 1.22e+03 0 0.179 0.151 0.151 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 97 +* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 89 ********************************************************************************************************* 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 + 0 53.3 -355 1.24e+03 5.71 0 0 0 Crystal initStep + 1 53.7 -355 1.24e+03 5.25 0.461 0.978 0.978 Crystal msc + 2 54 -354 1.24e+03 4.87 0.38 0.731 1.71 Crystal msc + 3 54 -354 1.24e+03 4.41 0.459 0.855 2.56 Crystal msc + 4 53.7 -355 1.24e+03 3.88 0.531 0.881 3.45 Crystal msc + 5 53.5 -355 1.24e+03 3.62 0.203 0.442 3.89 Crystal eBrem + 6 54 -355 1.24e+03 3.17 0.448 0.948 4.84 Crystal msc + 7 54.2 -354 1.24e+03 2.61 0.567 0.731 5.57 Crystal msc + 8 54.8 -354 1.25e+03 2.08 0.529 0.936 6.5 Crystal msc + 9 55.5 -354 1.25e+03 1.6 0.481 0.953 7.46 Crystal msc + 10 55.6 -354 1.25e+03 1.34 0.0896 0.201 7.66 Crystal eBrem + 11 55.5 -354 1.24e+03 0.483 0.856 1.71 9.37 Crystal eIoni + 12 55.6 -354 1.24e+03 0 0.483 0.648 10 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 97 +* G4Track Information: Particle = gamma, Track ID = 104, Parent ID = 94 ********************************************************************************************************* 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 + 0 55.6 -354 1.25e+03 0.168 0 0 0 Crystal initStep + 1 58.2 -353 1.24e+03 0 0.036 3.25 3.25 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 109, Parent ID = 101 +* 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 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 + 0 58.2 -353 1.24e+03 0.132 0 0 0 Crystal initStep + 1 58.3 -353 1.24e+03 0 0.132 0.093 0.093 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 109 +* G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 94 ********************************************************************************************************* 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 + 0 53.5 -355 1.24e+03 0.0507 0 0 0 Crystal initStep + 1 53.6 -355 1.24e+03 0 0.0332 0.0561 0.0561 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 109 +* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 103 ********************************************************************************************************* 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 + 0 53.6 -355 1.24e+03 0.0176 0 0 0 Crystal initStep + 1 53.6 -355 1.24e+03 0 0.0176 0.00328 0.00328 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 97 +* G4Track Information: Particle = gamma, Track ID = 88, Parent ID = 9 ********************************************************************************************************* 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 + 0 34.1 -345 1.17e+03 1.24 0 0 0 Crystal initStep + 1 44.5 -350 1.19e+03 1.24 0 23.8 23.8 Crystal CoupledTransportation + 2 50 -353 1.2e+03 1.24 0 12.7 36.5 Crystal CoupledTransportation + 3 54.9 -355 1.21e+03 0.734 0 11.2 47.8 Crystal compt + 4 56.8 -400 1.25e+03 0.734 0 56 104 Crystal CoupledTransportation + 5 57.1 -407 1.25e+03 0.375 0 8.31 112 Crystal compt + 6 61.9 -408 1.25e+03 0 0.036 5.06 117 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 96, Parent ID = 92 +* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 88 ********************************************************************************************************* 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 + 0 61.9 -408 1.25e+03 0.339 0 0 0 Crystal initStep + 1 61.9 -408 1.25e+03 0 0.339 0.395 0.395 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 96 +* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 88 ********************************************************************************************************* 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 + 0 57.1 -407 1.25e+03 0.359 0 0 0 Crystal initStep + 1 57 -407 1.25e+03 0 0.359 0.428 0.428 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 92 +* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 88 ********************************************************************************************************* 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 + 0 54.9 -355 1.21e+03 0.51 0 0 0 Crystal initStep + 1 54.9 -355 1.21e+03 0.449 0.00433 0.0162 0.0162 Crystal eBrem + 2 54.9 -355 1.21e+03 0 0.449 0.586 0.603 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 95 +* G4Track Information: Particle = gamma, Track ID = 110, Parent ID = 107 ********************************************************************************************************* 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 + 0 54.9 -355 1.21e+03 0.0566 0 0 0 Crystal initStep + 1 54.8 -355 1.21e+03 0 0.036 0.39 0.39 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 110 ********************************************************************************************************* 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 + 0 54.8 -355 1.21e+03 0.0206 0 0 0 Crystal initStep + 1 54.8 -355 1.21e+03 0 0.0206 0.00428 0.00428 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 16 +* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 9 ********************************************************************************************************* 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 + 0 33 -345 1.17e+03 1.96 0 0 0 Crystal initStep + 1 35.2 -344 1.18e+03 1.6 0 11.9 11.9 Crystal compt + 2 37.4 -346 1.19e+03 0.741 0 7.16 19 Crystal compt + 3 33 -348 1.19e+03 0.675 0 7.91 26.9 Crystal compt + 4 31.7 -348 1.19e+03 0.425 0 2 28.9 Crystal compt + 5 26.3 -330 1.2e+03 0.398 0 20.3 49.2 Crystal compt + 6 16.4 -316 1.21e+03 0.221 0 21.7 70.9 Crystal compt + 7 16.6 -316 1.21e+03 0 0.036 0.26 71.2 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 115, Parent ID = 114 +* G4Track Information: Particle = e-, Track ID = 118, Parent ID = 87 ********************************************************************************************************* 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 + 0 16.6 -316 1.21e+03 0.185 0 0 0 Crystal initStep + 1 16.6 -316 1.21e+03 0 0.185 0.158 0.158 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 87 ********************************************************************************************************* 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 + 0 16.4 -316 1.21e+03 0.177 0 0 0 Crystal initStep + 1 16.4 -316 1.21e+03 0 0.177 0.148 0.148 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 116, Parent ID = 15 +* G4Track Information: Particle = e-, Track ID = 116, Parent ID = 87 ********************************************************************************************************* 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 + 0 26.3 -330 1.2e+03 0.0271 0 0 0 Crystal initStep + 1 26.3 -330 1.2e+03 0 0.0271 0.00669 0.00669 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 116 +* G4Track Information: Particle = e-, Track ID = 115, Parent ID = 87 ********************************************************************************************************* 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 + 0 31.7 -348 1.19e+03 0.251 0 0 0 Crystal initStep + 1 31.7 -348 1.19e+03 0 0.251 0.253 0.253 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 114, Parent ID = 87 ********************************************************************************************************* 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 + 0 33 -348 1.19e+03 0.0656 0 0 0 Crystal initStep + 1 33 -348 1.19e+03 0 0.0656 0.0294 0.0294 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 126, Parent ID = 14 +* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 87 ********************************************************************************************************* 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 + 0 37.4 -346 1.19e+03 0.857 0 0 0 Crystal initStep + 1 37.5 -346 1.19e+03 0.228 0.629 1.28 1.28 Crystal eIoni + 2 37.5 -346 1.19e+03 0 0.228 0.219 1.5 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 126 +* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 87 ********************************************************************************************************* 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 + 0 35.2 -344 1.18e+03 0.364 0 0 0 Crystal initStep + 1 35.2 -344 1.18e+03 0 0.364 0.437 0.437 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 126 +* G4Track Information: Particle = gamma, Track ID = 86, Parent ID = 9 ********************************************************************************************************* 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 + 0 32.8 -344 1.17e+03 0.54 0 0 0 Crystal initStep + 1 33.1 -346 1.17e+03 0 0.0332 6.45 6.45 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 125, Parent ID = 14 +* G4Track Information: Particle = e-, Track ID = 119, Parent ID = 86 ********************************************************************************************************* 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 + 0 33.1 -346 1.17e+03 0.507 0 0 0 Crystal initStep + 1 33.2 -346 1.17e+03 0 0.507 0.693 0.693 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 129, Parent ID = 125 +* 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 -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 + 0 32.7 -344 1.16e+03 1.15 0 0 0 Crystal initStep + 1 33.2 -344 1.16e+03 0.378 0.768 1.57 1.57 Crystal eIoni + 2 33.2 -344 1.16e+03 0 0.378 0.461 2.03 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 124, Parent ID = 14 +* 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.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 + 0 30.1 -340 1.15e+03 1.21 0 0 0 Crystal initStep + 1 29.7 -340 1.15e+03 0.484 0.721 1.62 1.62 Crystal eIoni + 2 29.7 -340 1.15e+03 0 0.484 0.651 2.27 Crystal 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 + 0 29 -339 1.14e+03 4.03 0 0 0 Crystal initStep + 1 29.8 -340 1.14e+03 2.33 1.71 3 3 Crystal eIoni + 2 29.5 -340 1.14e+03 1.48 0.734 1.53 4.53 Crystal eBrem + 3 28.8 -340 1.14e+03 0.584 0.739 1.41 5.94 Crystal eBrem + 4 28.8 -340 1.14e+03 0 0.584 0.837 6.78 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 28.8 -340 1.14e+03 0.154 0 0 0 Crystal initStep + 1 28.7 -341 1.14e+03 0 0.0332 0.923 0.923 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 122, Parent ID = 121 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 28.7 -341 1.14e+03 0.12 0 0 0 Crystal initStep + 1 28.7 -341 1.14e+03 0 0.12 0.08 0.08 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 29.5 -340 1.14e+03 0.115 0 0 0 Crystal initStep + 1 29.1 -339 1.15e+03 0 0.036 0.978 0.978 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 120 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 29.1 -339 1.15e+03 0.0786 0 0 0 Crystal initStep + 1 29.1 -339 1.15e+03 0 0.0786 0.0397 0.0397 Crystal 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 + 0 25.2 -326 1.09e+03 0.698 0 0 0 Crystal initStep + 1 25.2 -326 1.09e+03 0 0.698 1.05 1.05 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 ********************************************************************************************************* 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) + 0 21.1 -308 1.03e+03 3.73 0 0 0 Crystal initStep + 1 21.1 -308 1.03e+03 2.95 0.00813 0.0246 0.0246 Crystal eIoni + 2 20.8 -308 1.03e+03 2.53 0.281 0.605 0.629 Crystal eBrem + 3 20.5 -309 1.03e+03 0.828 1.71 2.35 2.98 Crystal eIoni + 4 20.4 -309 1.03e+03 0.477 0.0727 0.181 3.16 Crystal eBrem + 5 20.5 -309 1.03e+03 0 0.477 0.637 3.8 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 126, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 20.4 -309 1.03e+03 0.279 0 0 0 Crystal initStep + 1 50 -327 1.06e+03 0.279 0 44.2 44.2 Crystal CoupledTransportation + 2 51.5 -328 1.06e+03 0 0.036 2.22 46.4 Crystal phot + +********************************************************************************************************* +* 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 51.5 -328 1.06e+03 0.243 0 0 0 Crystal initStep + 1 51.5 -328 1.06e+03 0 0.243 0.241 0.241 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 125, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 20.8 -308 1.03e+03 0.136 0 0 0 Crystal initStep + 1 19.2 -306 1.03e+03 0 0.0332 2.71 2.71 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 125 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 19.2 -306 1.03e+03 0.103 0 0 0 Crystal initStep + 1 19.2 -306 1.03e+03 0 0.103 0.0621 0.0621 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 124, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 21.1 -308 1.03e+03 0.77 0 0 0 Crystal initStep + 1 21.3 -308 1.03e+03 0.137 0.633 1.17 1.17 Crystal eIoni + 2 21.3 -308 1.03e+03 0 0.137 0.0988 1.27 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = anti_nu_mu, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0605 -124 413 243 0 0 0 DriftChamberPhysical initStep + 1 -63.1 -271 900 243 0 512 512 WorldPhysical CoupledTransportation + 2 -76 -302 1e+03 243 0 105 618 Crystal CoupledTransportation + 3 -96.7 -350 1.16e+03 243 0 168 786 Crystal CoupledTransportation + 4 -100 -358 1.19e+03 243 0 26.6 813 Crystal CoupledTransportation + 5 -118 -400 1.33e+03 243 0 147 960 Crystal CoupledTransportation + 6 -128 -423 1.4e+03 243 0 78.7 1.04e+03 WorldPhysical CoupledTransportation + 7 -141 -453 1.5e+03 243 0 105 1.14e+03 HadCaloPhysical CoupledTransportation + 8 -147 -468 1.55e+03 243 0 52.6 1.2e+03 Tower CoupledTransportation + 9 -150 -474 1.57e+03 243 0 22.5 1.22e+03 Tower CoupledTransportation + 10 -182 -550 1.82e+03 243 0 263 1.48e+03 Tower CoupledTransportation + 11 -225 -650 2.15e+03 243 0 348 1.83e+03 Tower CoupledTransportation + 12 -250 -708 2.34e+03 243 0 202 2.03e+03 Tower CoupledTransportation + 13 -264 -740 2.45e+03 243 0 112 2.14e+03 HadCaloPhysical CoupledTransportation + 14 -270 -755 2.5e+03 243 0 52.6 2.2e+03 WorldPhysical CoupledTransportation + 15 -464 -1.21e+03 4e+03 243 0 1.58e+03 3.78e+03 OutOfWorld CoupledTransportation +>>> Event 1 + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2595774943607143 (GeV) + 5 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.5755603143351371 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -4440,33 +3512,103 @@ 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.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 + 1 0 -30 100 1e+03 0.0161 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.0745 -270 900 1e+03 0.0203 835 940 WorldPhysical CoupledTransportation + 3 -0.0751 -276 918 1e+03 0.00211 18.7 958 WorldPhysical hIoni + 4 -0.0702 -285 950 1e+03 0.00526 33.5 992 WorldPhysical G4FSMP_parallelGeom + 5 -0.0702 -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.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 + 0 -0.0751 -276 918 0.00284 0 0 0 WorldPhysical initStep + 1 -0.185 -276 918 0.00185 0.00099 0.169 0.169 WorldPhysical eIoni + 2 -0.235 -276 918 0 0.00185 0.138 0.307 WorldPhysical eIoni +>>> Event 2 + 4 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.07999627389223457 (GeV) + 10 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.87995901281458 (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.0146 -26.3 87.8 1e+03 0.0161 91.6 91.6 WorldPhysical hIoni + 2 0.0186 -30 100 1e+03 0.0021 12.8 104 DriftChamberPhysical CoupledTransportation + 3 0.0334 -44.9 150 1e+03 0.00119 51.9 156 DriftChamberPhysical hIoni + 4 0.0512 -67.4 225 1e+03 0.00249 78.2 235 DriftChamberPhysical hIoni + 5 0.249 -270 900 1e+03 0.0141 705 940 WorldPhysical CoupledTransportation + 6 0.256 -278 926 1e+03 0.00327 27.4 967 WorldPhysical hIoni + 7 0.262 -285 950 1e+03 0.0049 24.8 992 WorldPhysical G4FSMP_parallelGeom + 8 0.262 -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.256 -278 926 0.00283 0 0 0 WorldPhysical initStep + 1 0.196 -278 926 0 0.00283 0.272 0.272 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.0512 -67.4 225 0.00116 0 0 0 DriftChamberPhysical initStep + 1 -0.213 -67.5 225 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.0334 -44.9 150 0.00201 0 0 0 DriftChamberPhysical initStep + 1 0.677 -45 150 0 0.00201 0.882 0.882 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.0146 -26.3 87.8 0.00147 0 0 0 WorldPhysical initStep + 1 -0.0258 -26.3 87.8 0 0.00147 0.098 0.098 WorldPhysical eIoni +>>> Event 3 + 0 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0 (GeV) + 13 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9999483554759174 (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.0142 104 104 DriftChamberPhysical CoupledTransportation + 2 0.0693 -270 900 1e+03 0.0203 835 940 WorldPhysical CoupledTransportation + 3 0.0798 -282 941 1e+03 0.00556 42.7 982 WorldPhysical hIoni + 4 0.0816 -285 950 1e+03 0.000894 9.48 992 WorldPhysical G4FSMP_parallelGeom + 5 0.0816 -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.0798 -282 941 0.00974 0 0 0 WorldPhysical initStep + 1 0.733 -281 941 0.00382 0.00592 1.74 1.74 WorldPhysical eIoni + 2 0.715 -281 941 0 0.00382 0.45 2.19 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) + 0 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0 (GeV) + 13 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9799502857433056 (GeV) number of event = 5 ### Run 7 start. @@ -4476,42 +3618,15 @@ 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.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.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.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 + 1 0 -60 100 1e+03 0.017 117 117 DriftChamberPhysical CoupledTransportation + 2 0.044 -540 900 1e+03 0.0215 933 1.05e+03 WorldPhysical CoupledTransportation + 3 0.0552 -570 950 1e+03 0.00661 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 4 0.0552 -570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom >>> Event 0 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) + Total energy deposition in EM calorimeter crytals : 0.2599882612910327 (GeV) + 11 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.6799692987611624 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -4519,139 +3634,144 @@ 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.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 + 1 -0.00017 -2.71 4.52 1e+03 0.000326 5.28 5.28 WorldPhysical hIoni + 2 -0.0176 -60 100 1e+03 0.0147 111 117 DriftChamberPhysical CoupledTransportation + 3 -0.0499 -170 283 1e+03 0.00515 214 330 DriftChamberPhysical hIoni + 4 -0.153 -540 900 1e+03 0.0179 719 1.05e+03 WorldPhysical CoupledTransportation + 5 -0.155 -546 910 1e+03 0.000644 11.7 1.06e+03 WorldPhysical hIoni + 6 -0.158 -570 950 1e+03 0.0074 46.6 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 7 -0.158 -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.155 -546 910 0.00106 0 0 0 WorldPhysical initStep + 1 -0.161 -546 910 0 0.00106 0.0626 0.0626 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.0499 -170 283 0.00103 0 0 0 DriftChamberPhysical initStep + 1 -0.0552 -170 283 0 0.00103 0.322 0.322 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.00017 -2.71 4.52 0.031 0 0 0 WorldPhysical initStep + 1 2.87 -4.59 4.61 0.028 0.00297 3.62 3.62 WorldPhysical msc + 2 4.84 -4.49 4.83 0.0245 0.00134 2.06 5.68 WorldPhysical eIoni + 3 7.67 -6.21 5.17 0.0209 0.00355 3.62 9.3 WorldPhysical msc + 4 7.77 -6.76 4.56 0.0174 0.0016 0.842 10.1 WorldPhysical eIoni + 5 9.13 -8.88 4.73 0.0135 0.00391 2.86 13 WorldPhysical eIoni + 6 9.72 -10.6 3.99 0.0105 0.00303 2.28 15.3 WorldPhysical eIoni + 7 10.6 -9.83 3.01 0.00408 0.00643 1.85 17.1 WorldPhysical eIoni + 8 10.5 -9.62 3.09 0 0.00408 0.505 17.7 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 7.77 -6.76 4.56 0.00187 0 0 0 WorldPhysical initStep + 1 7.71 -6.76 4.54 0 0.00187 0.141 0.141 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 4.84 -4.49 4.83 0.0022 0 0 0 WorldPhysical initStep + 1 4.85 -4.42 4.86 0 0.0022 0.18 0.18 WorldPhysical eIoni +>>> Event 1 + 4 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.1599873225983008 (GeV) + 9 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.8199350283162917 (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.00416 -31.3 52.2 1e+03 0.00865 60.9 60.9 WorldPhysical hIoni + 2 -0.00533 -41.4 69 1e+03 0.00323 19.5 80.4 WorldPhysical hIoni + 3 -0.00576 -49.3 82.2 1e+03 0.00239 15.5 95.9 WorldPhysical hIoni + 4 -0.00581 -51.1 85.2 1e+03 0.000474 3.4 99.3 WorldPhysical hIoni + 5 -0.0053 -60 100 1e+03 0.00246 17.3 117 DriftChamberPhysical CoupledTransportation + 6 0.011 -306 510 1e+03 0.012 479 595 DriftChamberPhysical hIoni + 7 -0.00409 -540 900 1e+03 0.00905 454 1.05e+03 WorldPhysical CoupledTransportation + 8 -0.00204 -553 922 1e+03 0.00363 25.6 1.08e+03 WorldPhysical hIoni + 9 -0.00234 -570 950 1e+03 0.0046 32.7 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 10 -0.00234 -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.256 -568 945 0.00147 0 0 0 WorldPhysical initStep - 1 -0.216 -568 945 0 0.00147 0.0988 0.0988 WorldPhysical eIoni + 0 -0.00204 -553 922 0.00564 0 0 0 WorldPhysical initStep + 1 -0.0278 -553 922 0.00386 0.000205 0.0828 0.0828 WorldPhysical eIoni + 2 -0.185 -553 922 0 0.00386 0.458 0.541 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 -0.0278 -553 922 0.00158 0 0 0 WorldPhysical initStep + 1 -0.036 -553 922 0 0.00158 0.109 0.109 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.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 + 0 0.011 -306 510 0.00159 0 0 0 DriftChamberPhysical initStep + 1 0.384 -306 511 0 0.00159 0.612 0.612 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.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 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 + 0 -0.00581 -51.1 85.2 0.00261 0 0 0 WorldPhysical initStep + 1 -0.0912 -51.2 85.1 0 0.00261 0.237 0.237 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.116 -297 495 0.00111 0 0 0 DriftChamberPhysical initStep - 1 -0.0122 -297 495 0 0.00111 0.358 0.358 DriftChamberPhysical eIoni + 0 -0.00576 -49.3 82.2 0.00112 0 0 0 WorldPhysical initStep + 1 0.00477 -49.3 82.3 0 0.00112 0.0673 0.0673 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.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 + 0 -0.00533 -41.4 69 0.00268 0 0 0 WorldPhysical initStep + 1 -0.0682 -41.5 68.9 0 0.00268 0.248 0.248 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.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.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 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - 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 -********************************************************************************************************* - -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.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.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.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 -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 + 0 -0.00416 -31.3 52.2 0.0014 0 0 0 WorldPhysical initStep + 1 -0.0121 -31.3 52.2 0 0.0014 0.0913 0.0913 WorldPhysical 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) + 6 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2199864635723231 (GeV) + 10 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.7599532377952978 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -4659,89 +3779,86 @@ 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 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 + 1 0.0026 -14.9 24.8 1e+03 0.0057 28.9 28.9 WorldPhysical hIoni + 2 0.00614 -60 100 1e+03 0.0148 87.7 117 DriftChamberPhysical CoupledTransportation + 3 0.0556 -540 900 1e+03 0.0203 933 1.05e+03 WorldPhysical CoupledTransportation + 4 0.0487 -570 950 1e+03 0.00917 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 5 0.0487 -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.0026 -14.9 24.8 0.00134 0 0 0 WorldPhysical initStep + 1 0.00383 -14.9 24.8 0 0.00134 0.0864 0.0864 WorldPhysical eIoni +>>> Event 3 + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.3199835802025584 (GeV) + 9 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.6199681866424569 (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.000798 -7.18 12 1e+03 0.00266 14 14 WorldPhysical hIoni + 2 0.00373 -50.5 84.2 1e+03 0.0131 84.2 98.2 WorldPhysical hIoni + 3 0.00324 -51.9 86.6 1e+03 0.000633 2.79 101 WorldPhysical hIoni + 4 0.00165 -60 100 1e+03 0.00182 15.6 117 DriftChamberPhysical CoupledTransportation + 5 -0.0115 -421 702 1e+03 0.0139 702 818 DriftChamberPhysical hIoni + 6 -0.0235 -488 814 1e+03 0.00326 130 949 DriftChamberPhysical hIoni + 7 -0.0395 -540 900 1e+03 0.00248 101 1.05e+03 WorldPhysical CoupledTransportation + 8 -0.0481 -570 950 1e+03 0.00865 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 9 -0.0481 -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.0235 -488 814 0.00241 0 0 0 DriftChamberPhysical initStep + 1 0.771 -488 814 0.000545 0.00186 1.16 1.16 DriftChamberPhysical eIoni + 2 0.853 -488 814 0 0.000545 0.144 1.31 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.0115 -421 702 0.00142 0 0 0 DriftChamberPhysical initStep + 1 -0.343 -421 702 0 0.00142 0.514 0.514 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.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 + 0 0.00324 -51.9 86.6 0.00116 0 0 0 WorldPhysical initStep + 1 0.0117 -52 86.6 0 0.00116 0.0703 0.0703 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.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 + 0 0.00373 -50.5 84.2 0.0019 0 0 0 WorldPhysical initStep + 1 0.0481 -50.5 84.2 0 0.0019 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 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 - 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 -********************************************************************************************************* - -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.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.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.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 + 0 -0.000798 -7.18 12 0.0021 0 0 0 WorldPhysical initStep + 1 0.027 -7.13 12 0 0.0021 0.168 0.168 WorldPhysical eIoni >>> Event 4 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) + Total energy deposition in EM calorimeter crytals : 0.2399866827743674 (GeV) + 13 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.639964487398313 (GeV) number of event = 5 Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/novice/N05/src/ExN05PhysicsList.cc b/examples/novice/N05/src/ExN05PhysicsList.cc index a646e9737e..5b23a35788 100644 --- a/examples/novice/N05/src/ExN05PhysicsList.cc +++ b/examples/novice/N05/src/ExN05PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN05PhysicsList.cc,v 1.14 2007/11/30 18:08:42 mverderi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExN05PhysicsList.cc,v 1.15 2010/03/19 08:59:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -131,7 +131,9 @@ void ExN05PhysicsList::AddTransportation() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -160,7 +162,7 @@ void ExN05PhysicsList::ConstructEM() } else if (particleName == "e-") { //electron // Construct processes for electron - G4VProcess* theeminusMultipleScattering = new G4MultipleScattering(); + G4VProcess* theeminusMultipleScattering = new G4eMultipleScattering(); G4VProcess* theeminusIonisation = new G4eIonisation(); G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung(); // add processes @@ -178,7 +180,7 @@ void ExN05PhysicsList::ConstructEM() } else if (particleName == "e+") { //positron // Construct processes for positron - G4VProcess* theeplusMultipleScattering = new G4MultipleScattering(); + G4VProcess* theeplusMultipleScattering = new G4eMultipleScattering(); G4VProcess* theeplusIonisation = new G4eIonisation(); G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung(); G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation(); @@ -202,7 +204,7 @@ void ExN05PhysicsList::ConstructEM() particleName == "mu-" ) { //muon // Construct processes for muon+ - G4VProcess* aMultipleScattering = new G4MultipleScattering(); + G4VProcess* aMultipleScattering = new G4MuMultipleScattering(); G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung(); G4VProcess* aPairProduction = new G4MuPairProduction(); G4VProcess* anIonisation = new G4MuIonisation(); @@ -224,7 +226,7 @@ void ExN05PhysicsList::ConstructEM() (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { // all others charged particles except geantino - G4VProcess* aMultipleScattering = new G4MultipleScattering(); + G4VProcess* aMultipleScattering = new G4hMultipleScattering(); G4VProcess* anIonisation = new G4hIonisation(); // add processes pmanager->AddProcess(anIonisation); diff --git a/examples/novice/N05/vis.mac b/examples/novice/N05/vis.mac index f54be01cf2..7c8192e307 100644 --- a/examples/novice/N05/vis.mac +++ b/examples/novice/N05/vis.mac @@ -1,25 +1,71 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# create empty scene +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -/vis/scene/create +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -/vis/open OGLIX -# -# draw scene +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # +# Draw geometry: /vis/drawVolume worlds -/vis/viewer/set/viewpointThetaPhi -90 0 deg +# # Set specific colour for identification : ghost parallel geometry envelope ("ghost") as yellow /vis/geometry/set/colour GhostLogical ! yellow -/vis/viewer/zoom 2.5 -/vis/viewer/flush # -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) -/tracking/storeTrajectory 1 +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi -90 0 deg +# +# Specify zoom value: +/vis/viewer/zoom 2.5 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate -/vis/scene/add/trajectories - +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/novice/N06/History b/examples/novice/N06/History index 8915eae2d6..28f66e24a4 100644 --- a/examples/novice/N06/History +++ b/examples/novice/N06/History @@ -1,4 +1,4 @@ -$Id: History,v 1.42 2009/11/10 05:20:11 gum Exp $ +$Id: History,v 1.45 2010/10/23 20:04:40 gum Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,12 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +23rd October 2010 P. Gumplinger (exampleN06-V09-03-01) +- add G4OpMieHG scattering process and associated material properties + +4th June 2010 Joseph Perl (exampleN06-V09-03-00) +- Updated vis usage + 09th November 2009 Peter Gumplinger (exampleN06-V09-02-01) - use G4eMultipleScattering, G4MuMultipleScattering and G4hMultipleScattering instead of G4MultipleScattering diff --git a/examples/novice/N06/exampleN06.cc b/examples/novice/N06/exampleN06.cc index ccdd2bacaa..ec5367820a 100644 --- a/examples/novice/N06/exampleN06.cc +++ b/examples/novice/N06/exampleN06.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN06.cc,v 1.16 2009/10/30 15:12:40 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: exampleN06.cc,v 1.18 2010/10/23 19:33:55 gum Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -45,16 +45,13 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "ExN06DetectorConstruction.hh" #include "ExN06PhysicsList.hh" #include "ExN06PrimaryGeneratorAction.hh" +#include "ExN06DetectorConstruction.hh" #include "ExN06RunAction.hh" -#include "ExN06EventAction.hh" #include "ExN06StackingAction.hh" #include "ExN06SteppingVerbose.hh" -#include "Randomize.hh" - #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif @@ -71,7 +68,7 @@ int main(int argc,char** argv) // G4long myseed = 345354; CLHEP::HepRandom::setTheSeed(myseed); - + // User Verbose output class // G4VSteppingVerbose* verbosity = new ExN06SteppingVerbose; @@ -83,11 +80,14 @@ int main(int argc,char** argv) // UserInitialization classes - mandatory // - G4VUserDetectorConstruction* detector = new ExN06DetectorConstruction; - runManager-> SetUserInitialization(detector); - // G4VUserPhysicsList* physics = new ExN06PhysicsList; runManager-> SetUserInitialization(physics); + // + G4VUserPrimaryGeneratorAction* gen_action = new ExN06PrimaryGeneratorAction; + runManager->SetUserAction(gen_action); + // + G4VUserDetectorConstruction* detector = new ExN06DetectorConstruction; + runManager-> SetUserInitialization(detector); #ifdef G4VIS_USE // visualization manager @@ -101,12 +101,6 @@ int main(int argc,char** argv) G4UserRunAction* run_action = new ExN06RunAction; runManager->SetUserAction(run_action); // - G4VUserPrimaryGeneratorAction* gen_action = new ExN06PrimaryGeneratorAction; - runManager->SetUserAction(gen_action); - // - G4UserEventAction* event_action = new ExN06EventAction; - runManager->SetUserAction(event_action); - // G4UserStackingAction* stacking_action = new ExN06StackingAction; runManager->SetUserAction(stacking_action); diff --git a/examples/novice/N06/exampleN06.in b/examples/novice/N06/exampleN06.in index f74d8fab49..7d15e3a173 100644 --- a/examples/novice/N06/exampleN06.in +++ b/examples/novice/N06/exampleN06.in @@ -6,7 +6,7 @@ # /run/beamOn 1 # -/process/inactivate Scintillation -/N06/phys/verbose 0 +#/process/inactivate Scintillation +#/N06/phys/verbose 0 # -/run/beamOn 1 +#/run/beamOn 1 diff --git a/examples/novice/N06/exampleN06.out b/examples/novice/N06/exampleN06.out index 10fe806b6e..fcef5e71b9 100644 --- a/examples/novice/N06/exampleN06.out +++ b/examples/novice/N06/exampleN06.out @@ -4,13 +4,13 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -Visualization Manager instantiating... +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -24,6 +24,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -43,9 +46,6 @@ Registered filter factories: originVolumeFilter attributeFilter -Equal -Equal -Equal Surface type = 1 Surface finish = 0 Surface model = 0 @@ -68,142 +68,152 @@ to: pmanager->AddProcess(theCerenkovProcess); # /run/beamOn 1 +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 ====== + BetheHeitler : Emin= 0 eV Emax= 10 TeV + +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 + +phot: for gamma SubType= 12 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + PhotoElectric : Emin= 0 eV Emax= 10 TeV + 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV 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 + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV msc: for pi- SubType= 10 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV ### Run 0 start. ********************************************************************************************************* @@ -213,1141 +223,2044 @@ 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 = 4 + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 3 ### G4EmSaturation::FindBirksCoefficient Birks coefficient for Water 0.126 mm/MeV - 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 11.7 um -1.99 um 440 nm 3.37 eV 0 eV 0 fm 0 fm Tank initStep - -** 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 6.82 um -1.16 um 257 nm 2.69 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - 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 -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 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 102 um -17.4 um 3.84 um 3.12 eV 0 eV 0 fm 0 fm Tank initStep - 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.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 *** - 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 - 1 117 um -19.9 um 4.4 um 466 keV 0 eV 0 fm 120 um Tank initStep - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 1 - - 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 = 24, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 731 um -254 um 81.9 um 3.43 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - 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 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 = 23, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 309 um -93.3 um 28.7 um 2.55 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - 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 -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 = 22, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 840 um -296 um 95.6 um 3.61 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - 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 -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 = 21, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 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 = 19, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 622 um -213 um 68.1 um 2.26 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 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 = 18, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 556 um -187 um 59.8 um 2.41 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - 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 -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 = opticalphoton, Track ID = 17, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 598 um -203 um 65.1 um 2.29 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - 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 -4.52 m -3.91 m 5 m 2.18 eV 0 eV 7.79 m 7.79 m Tank Transportation - Photon at Boundary! - 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! - 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 *** - 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! - 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! - 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 *** - 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 = 14, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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! ** - 5 4.41 m -3.68 m 4.48 m 3.87 eV 0 eV 2.03 m 10.1 m Tank OpAbsorption + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 5 + 1 117 um -19.8 um -4.99 um 463 keV 36.9 keV 120 um 120 um Tank msc ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 9, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 229 um -62.8 um 18.6 um 3.88 eV 0 eV 0 fm 0 fm Tank initStep + 0 19.8 um -3.35 um -847 nm 3.92 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! 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) + Old Momentum Direction: (0.147195,0.648482,0.746863) + Old Polarization: (-0.97932,0.201512,0.0180414) + New Momentum Direction: (0.200134,0.881711,0.427237) + New Polarization: (-0.977558,0.208976,0.0266521) *** FresnelRefraction *** - 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 + 1 98.5 cm 4.34 m 5 m 3.92 eV 0 eV 6.69 m 6.69 m Tank Transportation + 2 2.27 m 10 m 7.74 m 3.92 eV 0 eV 6.42 m 13.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 8, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 93.6 um -15.9 um -4 um 2.25 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.719012,0.521483,0.459431) + Old Polarization: (-0.650294,0.738056,0.179973) + New Momentum Direction: (0.352556,0.70216,0.618608) + New Polarization: (0.88575,-0.0371146,-0.462677) + *** FresnelRefraction *** + 1 5 m 3.63 m 3.19 m 2.25 eV 0 eV 6.95 m 6.95 m Tank Transportation + 2 8.2 m 10 m 8.81 m 2.25 eV 0 eV 9.08 m 16 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 60.2 um -10.2 um -2.58 um 2.98 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.547409,0.210435,-0.809975) + Old Polarization: (0.262901,-0.962111,-0.0722825) + New Momentum Direction: (0.741276,0.284961,-0.607706) + New Polarization: (0.282911,-0.953696,-0.102106) + *** FresnelRefraction *** + 1 3.38 m 1.3 m -5 m 2.98 eV 0 eV 6.17 m 6.17 m Tank Transportation + 2 9.48 m 3.64 m -10 m 2.98 eV 0 eV 8.23 m 14.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 36.3 um -6.14 um -1.55 um 2.2 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 2.44 m 1.52 m -3.54 m 2.2 eV 0 eV 4.56 m 4.56 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 104 um -17.6 um -4.44 um 2.38 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -51.3 cm 85.4 cm -1.11 m 2.38 eV 0 eV 1.49 m 1.49 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 84.6 um -14.3 um -3.62 um 3.03 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.7768,-0.470622,-0.418446) + Old Polarization: (-0.621999,-0.469463,-0.626675) + New Momentum Direction: (0.521892,-0.637471,-0.566797) + New Polarization: (0.843668,0.483827,0.232671) + *** FresnelRefraction *** + 1 5 m -3.03 m -2.69 m 3.03 eV 0 eV 6.44 m 6.44 m Tank Transportation + 2 10 m -9.14 m -8.12 m 3.03 eV 0 eV 9.58 m 16 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 114 um -19.3 um -4.87 um 3.37 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.766148,-0.6412,0.0433501) + Old Polarization: (-0.639151,-0.753181,0.155577) + New Momentum Direction: (0.489505,-0.870014,0.0588197) + New Polarization: (0.867825,0.492645,0.0646592) + *** FresnelRefraction *** + 1 5 m -4.18 m 28.3 cm 3.37 eV 0 eV 6.53 m 6.53 m Tank Transportation + 2 8.27 m -10 m 67.6 cm 3.37 eV 0 eV 6.68 m 13.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 103 um -17.5 um -4.42 um 3.9 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.837006,-0.0645879,-0.543369) + Old Polarization: (-0.519659,0.217212,-0.826301) + New Momentum Direction: (0.668221,-0.0878134,-0.738762) + New Polarization: (0.708827,0.376711,0.596366) + *** FresnelRefraction *** + 1 5 m -38.6 cm -3.25 m 3.9 eV 0 eV 5.97 m 5.97 m Tank Transportation + 2 10 m -1.04 m -8.77 m 3.9 eV 0 eV 7.48 m 13.5 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 2 851 um -300 um 97 um 153 keV 0 eV 0 fm 1 mm Tank initStep + 1 117 um -19.8 um -4.99 um 463 keV 0 eV 0 fm 120 um 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 + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 14 -********************************************************************************************************* -* 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 + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 13 + 2 742 um 403 um -203 um 272 keV 191 keV 867 um 987 um Tank Cerenkov ********************************************************************************************************* * 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 + 0 585 um 297 um -153 um 3.65 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 + 1 -1.28 m 8.22 cm 71.8 cm 3.65 eV 0 eV 1.47 m 1.47 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! - 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 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 + 0 379 um 158 um -88.2 um 3.56 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 3.03 m 50.8 cm -1.56 m 3.56 eV 0 eV 3.45 m 3.45 m Tank OpAbsorption ********************************************************************************************************* * 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 + 0 122 um -16.4 um -6.56 um 3.27 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) + Old Momentum Direction: (-0.541046,-0.352559,0.763526) + Old Polarization: (0.325364,0.749438,0.576612) + New Momentum Direction: (-0.733678,-0.478084,0.482858) + New Polarization: (0.133311,0.595526,0.792197) *** 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 + 1 -3.54 m -2.31 m 5 m 3.27 eV 0 eV 6.55 m 6.55 m Tank Transportation + 2 -10 m -6.52 m 9.25 m 3.27 eV 0 eV 8.8 m 15.3 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 + 0 510 um 246 um -130 um 2.69 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) + Old Momentum Direction: (0.0745027,-0.138649,0.987535) + Old Polarization: (0.924132,-0.362535,-0.120619) + New Momentum Direction: (0.100702,-0.187405,0.977107) + New Polarization: (0.210729,0.963835,0.163141) *** 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 + 1 37.8 cm -70.2 cm 5 m 2.69 eV 0 eV 5.06 m 5.06 m Tank Transportation + 2 89.3 cm -1.66 m 10 m 2.69 eV 0 eV 5.12 m 10.2 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 + 0 583 um 295 um -153 um 2.38 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) + Old Momentum Direction: (0.245647,0.0631832,0.967298) + Old Polarization: (-0.559853,-0.805372,0.194782) + New Momentum Direction: (0.331116,0.0851667,0.939739) + New Polarization: (-0.540986,-0.798848,0.263014) *** 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 + 1 1.27 m 32.7 cm 5 m 2.38 eV 0 eV 5.17 m 5.17 m Tank Transportation + 2 3.03 m 78 cm 10 m 2.38 eV 0 eV 5.32 m 10.5 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 + 0 593 um 302 um -156 um 3.04 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) + Old Momentum Direction: (-0.91651,0.399295,-0.0239179) + Old Polarization: (-0.380711,-0.889078,-0.254165) + New Momentum Direction: (-0.840479,0.540874,-0.0323986) + New Polarization: (-0.516327,-0.817598,-0.254834) *** 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 + 1 -5 m 2.18 m -13.1 cm 3.04 eV 0 eV 5.46 m 5.46 m Tank Transportation + 2 -10 m 5.4 m -32.3 cm 3.04 eV 0 eV 5.95 m 11.4 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 + 0 591 um 301 um -155 um 4.11 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) + Old Momentum Direction: (0.536718,-0.398273,0.74385) + Old Polarization: (-0.653157,-0.754212,0.0674588) + New Momentum Direction: (0.730279,-0.541905,0.41597) + New Polarization: (-0.62902,-0.770933,0.0999772) *** 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 + 1 3.61 m -2.68 m 5 m 4.11 eV 0 eV 6.72 m 6.72 m Tank Transportation + 2 10 m -7.42 m 8.64 m 4.11 eV 0 eV 8.75 m 15.5 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 + 0 642 um 336 um -172 um 2.08 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) + Old Momentum Direction: (-0.924329,0.0199936,0.381072) + Old Polarization: (0.032986,0.999075,0.0275926) + New Momentum Direction: (-0.858422,0.0268755,0.512239) + New Polarization: (-0.0448203,0.990877,-0.127099) *** 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 + 1 -5 m 10.9 cm 2.06 m 2.08 eV 0 eV 5.41 m 5.41 m Tank Transportation + 2 -10 m 26.5 cm 5.05 m 2.08 eV 0 eV 5.82 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 + 0 615 um 317 um -163 um 3.42 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 + Old Momentum Direction: (0.932237,-0.344182,-0.111682) + Old Polarization: (-0.13262,-0.612158,0.779535) + New Momentum Direction: (-0.932237,0.344182,0.111682) + New Polarization: (0.13262,0.612158,-0.779535) + *** BackScattering *** + 1 5 m -1.85 m -59.9 cm 3.42 eV 0 eV 5.36 m 5.36 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 + 2 5 m -1.85 m -59.9 cm 3.42 eV 0 eV 0 fm 5.36 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) + Old Momentum Direction: (-0.932237,0.344182,0.111682) + Old Polarization: (0.13262,0.612158,-0.779535) + New Momentum Direction: (-0.871126,0.467085,0.151562) + New Polarization: (-0.181582,-0.0196293,-0.98318) *** 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 + 3 -5 m 1.85 m 59.9 cm 3.42 eV 0 eV 10.7 m 16.1 m Tank Transportation + 4 -10 m 4.53 m 1.47 m 3.42 eV 0 eV 5.74 m 21.8 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 + 0 202 um 38.2 um -32.1 um 3.04 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (-0.883933,-0.306524,-0.353136) +Old Polarization: (0.46742,-0.600889,-0.648421) +New Polarization: (-0.767893,0.592254,0.244081) +Polarization Change: (-0.767893,0.592254,0.244081) +New Momentum Direction: (-0.416353,-0.171882,-0.892808) +Momentum Change: (-0.416353,-0.171882,-0.892808) + Photon at Boundary! + thePrePV: Tank + thePostPV: Tank + *** NotAtBoundary *** + 1 -2.95 m -1.02 m -1.18 m 3.04 eV 0 eV 3.34 m 3.34 m Tank OpRayleigh 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) + Old Momentum Direction: (-0.416353,-0.171882,-0.892808) + Old Polarization: (-0.767893,0.592254,0.244081) + New Momentum Direction: (-0.563994,-0.232832,-0.792275) + New Polarization: (0.0828702,0.938626,-0.334834) *** 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 + 2 -4.73 m -1.76 m -5 m 3.04 eV 0 eV 4.28 m 7.62 m Tank Transportation + 3 -8.29 m -3.23 m -10 m 3.04 eV 0 eV 6.31 m 13.9 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 + 0 290 um 97.2 um -59.8 um 2.94 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.723248,0.341811,-0.600065) + Old Polarization: (0.579007,-0.173437,-0.796662) + New Momentum Direction: (0.723248,0.341811,-0.600065) + New Polarization: (-0.381828,-0.526097,-0.759888) + *** SpikeReflection *** + 1 -5 m 2.36 m -4.15 m 2.94 eV 0 eV 6.91 m 6.91 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 -5 m 2.36 m -4.15 m 2.94 eV 0 eV 0 fm 6.91 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.723248,0.341811,-0.600065) + Old Polarization: (-0.381828,-0.526097,-0.759888) + New Momentum Direction: (-0.723248,-0.341811,0.600065) + New Polarization: (0.381828,0.526097,0.759888) + *** BackScattering *** + 3 -3.97 m 2.85 m -5 m 2.94 eV 0 eV 1.42 m 8.33 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 4 -3.97 m 2.85 m -5 m 2.94 eV 0 eV 0 fm 8.33 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.723248,-0.341811,0.600065) + Old Polarization: (0.381828,0.526097,0.759888) + New Momentum Direction: (-0.354688,-0.462776,0.812425) + New Polarization: (-0.553961,0.803999,0.216129) + *** FresnelRefraction *** + 5 -5 m 2.36 m -4.15 m 2.94 eV 0 eV 1.42 m 9.75 m Tank Transportation + 6 -10 m -4.16 m 7.3 m 2.94 eV 0 eV 14.1 m 23.8 m OutOfWorld Transportation ********************************************************************************************************* * 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 + 0 388 um 164 um -90.9 um 3.71 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 5.62 cm -5.46 cm -8.19 cm 3.71 eV 0 eV 11.3 cm 11.3 cm Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 24, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 450 um 205 um -110 um 2.34 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) + Old Momentum Direction: (0.281603,0.221239,-0.933677) + Old Polarization: (0.453942,-0.887994,-0.0735026) + New Momentum Direction: (0.379455,0.298116,-0.875866) + New Polarization: (0.461743,-0.881365,-0.0999445) *** 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 -/N06/phys/verbose 0 -# -/run/beamOn 1 - -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 ====== - 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV - -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 - -msc: for proton SubType= 10 - 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 ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV - -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 - -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 - -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 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 - -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 - -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 - -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 - -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 - -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 - -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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV - -msc: for pi- SubType= 10 - 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 ====== - UrbanMsc90 : Emin= 0 eV Emax= 10 TeV - -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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV -### Run 1 start. + 1 1.51 m 1.18 m -5 m 2.34 eV 0 eV 5.36 m 5.36 m Tank Transportation + 2 3.67 m 2.89 m -10 m 2.34 eV 0 eV 5.71 m 11.1 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = opticalphoton, Track ID = 23, Parent ID = 1 ********************************************************************************************************* 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 117 um 19.7 um -5.46 um 475 keV 25.4 keV 120 um 120 um Tank msc + 0 435 um 196 um -106 um 3.2 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.945042,0.162024,-0.283978) + Old Polarization: (0.164144,-0.986299,-0.0164824) + New Momentum Direction: (0.896411,0.219646,-0.384972) + New Polarization: (0.223849,-0.974013,-0.0344896) + *** FresnelRefraction *** + 1 5 m 85.7 cm -1.5 m 3.2 eV 0 eV 5.29 m 5.29 m Tank Transportation + 2 10 m 2.08 m -3.65 m 3.2 eV 0 eV 5.58 m 10.9 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 4, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 22, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 281 um 91.1 um -56.9 um 3.07 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.949333,0.164281,-0.267915) + Old Polarization: (0.175988,-0.984187,0.0201112) + New Momentum Direction: (0.904832,0.222565,-0.362966) + New Polarization: (0.239609,-0.970867,0.00199768) + *** FresnelRefraction *** + 1 5 m 86.5 cm -1.41 m 3.07 eV 0 eV 5.27 m 5.27 m Tank Transportation + 2 10 m 2.1 m -3.42 m 3.07 eV 0 eV 5.53 m 10.8 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 3, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 21, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 155 um 6.26 um -17.2 um 2.79 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.874788,0.465481,0.134438) + Old Polarization: (0.00716344,-0.289871,0.957039) + New Momentum Direction: (0.755299,0.629645,0.181852) + New Polarization: (0.00990508,-0.28841,0.957456) + *** FresnelRefraction *** + 1 5 m 2.66 m 76.8 cm 2.79 eV 0 eV 5.72 m 5.72 m Tank Transportation + 2 10 m 6.83 m 1.97 m 2.79 eV 0 eV 6.62 m 12.3 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 20, 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 + 0 369 um 151 um -84.9 um 2.3 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.753785,0.319629,-0.574147) + Old Polarization: (-0.2738,-0.641505,-0.716592) + New Momentum Direction: (-0.753785,-0.319629,0.574147) + New Polarization: (0.2738,0.641505,0.716592) + *** BackScattering *** + 1 5 m 2.12 m -3.81 m 2.3 eV 0 eV 6.63 m 6.63 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 5 m 2.12 m -3.81 m 2.3 eV 0 eV 0 fm 6.63 m World Transportation + +** Photon absorbed! ** + 3 -30.1 cm -12.8 cm 22.9 cm 2.3 eV 0 eV 7.03 m 13.7 m Tank OpAbsorption ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = opticalphoton, Track ID = 19, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 712 um 383 um -193 um 3.96 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (0.974849,0.20677,-0.0831657) +Old Polarization: (0.222119,-0.870825,0.438552) +New Polarization: (0.134155,-0.979332,-0.151365) +Polarization Change: (0.134155,-0.979332,-0.151365) +New Momentum Direction: (0.194936,-0.12368,0.972987) +Momentum Change: (0.194936,-0.12368,0.972987) + Photon at Boundary! + thePrePV: Tank + thePostPV: Tank + *** NotAtBoundary *** + 1 1.75 m 37.2 cm -15 cm 3.96 eV 0 eV 1.8 m 1.8 m Tank OpRayleigh + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.194936,-0.12368,0.972987) + Old Polarization: (0.134155,-0.979332,-0.151365) + New Momentum Direction: (0.265084,-0.168187,0.949444) + New Polarization: (-0.930616,-0.302335,0.206271) + *** FresnelRefraction *** + 2 2.78 m -28.3 cm 5 m 3.96 eV 0 eV 5.29 m 7.09 m Tank Transportation + 3 4.18 m -1.17 m 10 m 3.96 eV 0 eV 5.27 m 12.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 18, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 185 um 26.3 um -26.6 um 3.37 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.496876,0.757526,-0.423402) + Old Polarization: (-0.862836,0.379014,-0.334458) + New Momentum Direction: (0.674196,0.464122,-0.574501) + New Polarization: (-0.729641,0.539039,-0.420785) + *** FresnelRefraction *** + 1 3.28 m 5 m -2.79 m 3.37 eV 0 eV 6.6 m 6.6 m Tank Transportation + 2 10 m 9.63 m -8.52 m 3.37 eV 0 eV 9.97 m 16.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 17, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 449 um 205 um -110 um 3.65 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.967844,0.251162,-0.0139834) + Old Polarization: (0.209499,-0.77403,0.597484) + New Momentum Direction: (0.939795,0.34121,-0.0189968) + New Polarization: (0.284998,-0.75187,0.594532) + *** FresnelRefraction *** + 1 5 m 1.3 m -7.23 cm 3.65 eV 0 eV 5.17 m 5.17 m Tank Transportation + 2 10 m 3.11 m -17.3 cm 3.65 eV 0 eV 5.32 m 10.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 16, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 192 um 31.4 um -28.9 um 3.34 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.972613,0.224118,-0.0616013) + Old Polarization: (0.224907,-0.840601,0.492755) + New Momentum Direction: (0.948982,0.304055,-0.0835729) + New Polarization: (0.305198,-0.818994,0.485905) + *** FresnelRefraction *** + 1 5 m 1.15 m -31.7 cm 3.34 eV 0 eV 5.14 m 5.14 m Tank Transportation + 2 10 m 2.75 m -75.7 cm 3.34 eV 0 eV 5.27 m 10.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 15, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 245 um 66.7 um -45.5 um 3.32 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.907325,0.404048,0.116222) + Old Polarization: (0.0758231,-0.429158,0.900041) + New Momentum Direction: (0.821417,0.548104,0.157658) + New Polarization: (0.104363,-0.416219,0.903255) + *** FresnelRefraction *** + 1 5 m 2.23 m 64 cm 3.32 eV 0 eV 5.51 m 5.51 m Tank Transportation + 2 10 m 5.56 m 1.6 m 3.32 eV 0 eV 6.09 m 11.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 14, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 159 um 9.04 um -18.5 um 3.36 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (0.512764,0.698886,-0.49863) +Old Polarization: (-0.826648,0.245109,-0.506532) +New Polarization: (-0.522851,0.469092,-0.711744) +Polarization Change: (-0.522851,0.469092,-0.711744) +New Momentum Direction: (0.83903,0.43064,-0.332532) +Momentum Change: (0.83903,0.43064,-0.332532) + Photon at Boundary! + thePrePV: Tank + thePostPV: Tank + *** NotAtBoundary *** + 1 2.82 m 3.85 m -2.75 m 3.36 eV 0 eV 5.51 m 5.51 m Tank OpRayleigh + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.83903,0.43064,-0.332532) + Old Polarization: (-0.522851,0.469092,-0.711744) + New Momentum Direction: (0.674556,0.584299,-0.451186) + New Polarization: (0.711149,-0.678329,0.184763) + *** FresnelRefraction *** + 2 5 m 4.97 m -3.61 m 3.36 eV 0 eV 2.59 m 8.1 m Tank Transportation + 3 10 m 9.3 m -6.95 m 3.36 eV 0 eV 7.41 m 15.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 13, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 541 um 268 um -140 um 3.42 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.871853,0.468391,0.143116) + Old Polarization: (-0.00614877,-0.28172,0.959477) + New Momentum Direction: (0.747156,0.635639,0.194218) + New Polarization: (0.0085413,-0.30137,0.953469) + *** FresnelRefraction *** + 1 5 m 2.69 m 82.1 cm 3.42 eV 0 eV 5.73 m 5.73 m Tank Transportation + 2 10 m 6.94 m 2.12 m 3.42 eV 0 eV 6.69 m 12.4 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 12, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 0 153 um 4.96 um -16.6 um 3.28 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.614527,0.495315,-0.614019) + Old Polarization: (-0.59488,-0.220256,-0.773049) + New Momentum Direction: (-0.534815,0.841841,0.0726391) + New Polarization: (0.502844,0.248005,0.828035) + *** LambertianReflection *** + 1 5 m 4.03 m -5 m 3.28 eV 0 eV 8.14 m 8.14 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 5 m 4.03 m -5 m 3.28 eV 0 eV 0 fm 8.14 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.534815,0.841841,0.0726391) + Old Polarization: (0.502844,0.248005,0.828035) + New Momentum Direction: (-0.725281,0.681369,0.0985084) + New Polarization: (0.436795,0.344827,0.830845) + *** FresnelRefraction *** + 3 4.38 m 5 m -4.91 m 3.28 eV 0 eV 1.15 m 9.29 m Tank Transportation + 4 -93.9 cm 10 m -4.19 m 3.28 eV 0 eV 7.34 m 16.6 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 + 0 382 um 160 um -89 um 2.88 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.780605,0.608199,0.144049) + Old Polarization: (-0.212721,0.041809,0.976218) + New Momentum Direction: (0.533278,0.823167,0.194963) + New Polarization: (0.302568,-0.400826,0.864749) + *** FresnelRefraction *** + 1 5 m 3.9 m 92.3 cm 2.88 eV 0 eV 6.4 m 6.4 m Tank Transportation + 2 8.95 m 10 m 2.37 m 2.88 eV 0 eV 7.42 m 13.8 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 + 0 291 um 97.9 um -60.1 um 2.75 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.836759,0.527762,0.145951) + Old Polarization: (-0.0808516,-0.144538,0.98619) + New Momentum Direction: (0.672183,0.7136,0.197344) + New Polarization: (0.112868,-0.36219,0.925245) + *** FresnelRefraction *** + 1 5 m 3.15 m 87.2 cm 2.75 eV 0 eV 5.98 m 5.98 m Tank Transportation + 2 10 m 8.46 m 2.34 m 2.75 eV 0 eV 7.44 m 13.4 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 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 + 2 742 um 403 um -203 um 272 keV 0 eV 0 fm 987 um Tank initStep +CAImin = 1.00657e-07 +ge = 1.04601e-06 + + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 1 + 3 735 um 434 um -311 um 252 keV 19.5 keV 116 um 1.1 mm Tank Cerenkov ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 37, 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.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 + 0 741 um 404 um -207 um 4.11 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -50.7 cm 50.3 cm -1.85 m 4.11 eV 0 eV 1.98 m 1.98 m Tank OpAbsorption ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 1 +* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 ********************************************************************************************************* 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 + 3 735 um 434 um -311 um 252 keV 0 eV 0 fm 1.1 mm Tank initStep +CAImin = 9.62111e-08 +ge = 1.05045e-06 +CAImin = 3.81105e-07 +ge = 7.65558e-07 + 4 700 um 429 um -297 um 244 keV 8.24 keV 38.8 um 1.14 mm Tank Cerenkov +CAImin = 8.30463e-07 +ge = 3.162e-07 +CAImin = 9.20162e-07 +ge = 2.26502e-07 + 5 694 um 427 um -294 um 243 keV 976 eV 6.95 um 1.15 mm Tank Cerenkov +CAImin = 1.00928e-06 +ge = 1.37384e-07 +CAImin = 1.04569e-06 +ge = 1.00975e-07 + 6 691 um 426 um -292 um 243 keV 280 eV 3.2 um 1.15 mm Tank Cerenkov +CAImin = 1.06728e-06 +ge = 7.93816e-08 +CAImin = 1.09967e-06 +ge = 4.69912e-08 + 7 690 um 425 um -291 um 243 keV 349 eV 2.13 um 1.15 mm Tank Cerenkov + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 9 + 8 422 um 352 um -124 um 0 eV 243 keV 586 um 1.74 mm Tank eIoni + 9 422 um 352 um -124 um 0 eV 0 eV 0 fm 1.74 mm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 48, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 422 um 352 um -124 um 511 keV 0 eV 0 fm 0 fm Tank initStep + 1 4.3 cm -1.02 cm 6.08 mm 413 keV 0 eV 4.43 cm 4.43 cm Tank compt + 2 9 cm 1.25 cm 5.74 mm 303 keV 0 eV 5.22 cm 9.65 cm Tank compt + 3 11.4 cm 6.45 cm -5.14 cm 188 keV 0 eV 8.09 cm 17.7 cm Tank compt + 4 2.45 cm 5.22 cm -9.55 cm 174 keV 0 eV 10.1 cm 27.8 cm Tank compt + 5 388 um 2.17 cm -12.6 cm 110 keV 0 eV 4.94 cm 32.7 cm Tank compt + 6 459 um 2.22 cm -12.6 cm 105 keV 0 eV 536 um 32.8 cm Tank compt + 7 19.7 cm 22 cm -22.3 cm 103 keV 0 eV 29.5 cm 62.3 cm Tank compt + 8 20.2 cm 22.2 cm -22.6 cm 96.2 keV 0 eV 6.28 mm 62.9 cm Tank compt + 9 21.7 cm 22.5 cm -32.8 cm 94.7 keV 0 eV 10.3 cm 73.2 cm Tank compt + 10 21.4 cm 25 cm -39 cm 85.9 keV 0 eV 6.74 cm 79.9 cm Tank compt + 11 25.6 cm 38.2 cm -40.6 cm 80.7 keV 0 eV 13.9 cm 93.9 cm Tank compt + 12 23.1 cm 47 cm -51.8 cm 63.1 keV 0 eV 14.5 cm 1.08 m Tank compt + 13 28 cm 46.2 cm -45.6 cm 61.6 keV 0 eV 8.03 cm 1.16 m Tank compt + 14 29.8 cm 42.8 cm -41.8 cm 60.6 keV 0 eV 5.32 cm 1.22 m Tank compt + 15 29.8 cm 42.7 cm -41.8 cm 60.4 keV 0 eV 1.13 mm 1.22 m Tank compt + 16 29.9 cm 42.3 cm -41.8 cm 51.7 keV 0 eV 4.77 mm 1.22 m Tank compt + 17 32.6 cm 44.7 cm -43.5 cm 48 keV 0 eV 4.03 cm 1.26 m Tank compt + 18 34.3 cm 44.2 cm -42.7 cm 0 eV 543 eV 1.98 cm 1.28 m Tank phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 34.3 cm 44.2 cm -42.7 cm 47.4 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 1 + 1 34.3 cm 44.2 cm -42.7 cm 0 eV 47.4 keV 38.9 um 38.9 um Tank eIoni + 2 34.3 cm 44.2 cm -42.7 cm 0 eV 0 eV 0 fm 38.9 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 67, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 34.3 cm 44.2 cm -42.7 cm 2.27 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 3.76 m 4.85 m -72.2 cm 2.27 eV 0 eV 5.58 m 5.58 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 32.6 cm 44.7 cm -43.5 cm 3.78 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 1 + 1 32.6 cm 44.7 cm -43.5 cm 0 eV 3.78 keV 468 nm 468 nm Tank eIoni + 2 32.6 cm 44.7 cm -43.5 cm 0 eV 0 eV 0 fm 468 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 68, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 32.6 cm 44.7 cm -43.5 cm 3.6 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.194303,-0.226921,0.954334) + Old Polarization: (0.93772,0.32857,-0.112794) + New Momentum Direction: (0.263913,-0.308215,0.913977) + New Polarization: (0.476996,0.865297,0.154066) + *** FresnelRefraction *** + 1 1.43 m -84.5 cm 5 m 3.6 eV 0 eV 5.7 m 5.7 m Tank Transportation + 2 2.88 m -2.53 m 10 m 3.6 eV 0 eV 5.47 m 11.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 29.9 cm 42.3 cm -41.8 cm 8.7 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 1 + 1 29.9 cm 42.3 cm -41.8 cm 0 eV 8.7 keV 1.95 um 1.95 um Tank eIoni + 2 29.9 cm 42.3 cm -41.8 cm 0 eV 0 eV 0 fm 1.95 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 69, Parent ID = 64 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 29.9 cm 42.3 cm -41.8 cm 2.43 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.181824,0.771587,0.609584) + Old Polarization: (-0.492879,0.464911,-0.735479) + New Momentum Direction: (-0.245192,0.513951,0.822031) + New Polarization: (-0.522763,0.643991,-0.558564) + *** FresnelRefraction *** + 1 -77.9 cm 5 m 3.2 m 2.43 eV 0 eV 5.93 m 5.93 m Tank Transportation + 2 -2.81 m 9.25 m 10 m 2.43 eV 0 eV 8.27 m 14.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 29.8 cm 42.7 cm -41.8 cm 203 eV 0 eV 0 fm 0 fm Tank initStep + 1 29.8 cm 42.7 cm -41.8 cm 0 eV 203 eV 13.7 nm 13.7 nm Tank eIoni + 2 29.8 cm 42.7 cm -41.8 cm 0 eV 0 eV 0 fm 13.7 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 29.8 cm 42.8 cm -41.8 cm 1.01 keV 0 eV 0 fm 0 fm Tank initStep + 1 29.8 cm 42.8 cm -41.8 cm 0 eV 1.01 keV 61.2 nm 61.2 nm Tank eIoni + 2 29.8 cm 42.8 cm -41.8 cm 0 eV 0 eV 0 fm 61.2 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 28 cm 46.2 cm -45.6 cm 1.42 keV 0 eV 0 fm 0 fm Tank initStep + 1 28 cm 46.2 cm -45.6 cm 0 eV 1.42 keV 99.4 nm 99.4 nm Tank eIoni + 2 28 cm 46.2 cm -45.6 cm 0 eV 0 eV 0 fm 99.4 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 23.1 cm 47 cm -51.8 cm 17.6 keV 0 eV 0 fm 0 fm Tank initStep + 1 23.1 cm 47 cm -51.8 cm 0 eV 17.6 keV 6.76 um 6.76 um Tank eIoni + 2 23.1 cm 47 cm -51.8 cm 0 eV 0 eV 0 fm 6.76 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 25.6 cm 38.2 cm -40.6 cm 5.21 keV 0 eV 0 fm 0 fm Tank initStep + 1 25.6 cm 38.2 cm -40.6 cm 0 eV 5.21 keV 806 nm 806 nm Tank eIoni + 2 25.6 cm 38.2 cm -40.6 cm 0 eV 0 eV 0 fm 806 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 21.4 cm 25 cm -39 cm 8.77 keV 0 eV 0 fm 0 fm Tank initStep + 1 21.4 cm 25 cm -39 cm 0 eV 8.77 keV 1.98 um 1.98 um Tank eIoni + 2 21.4 cm 25 cm -39 cm 0 eV 0 eV 0 fm 1.98 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 21.7 cm 22.5 cm -32.8 cm 1.48 keV 0 eV 0 fm 0 fm Tank initStep + 1 21.7 cm 22.5 cm -32.8 cm 0 eV 1.48 keV 106 nm 106 nm Tank eIoni + 2 21.7 cm 22.5 cm -32.8 cm 0 eV 0 eV 0 fm 106 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 20.2 cm 22.2 cm -22.6 cm 6.8 keV 0 eV 0 fm 0 fm Tank initStep + 1 20.2 cm 22.2 cm -22.6 cm 0 eV 6.8 keV 1.27 um 1.27 um Tank eIoni + 2 20.2 cm 22.2 cm -22.6 cm 0 eV 0 eV 0 fm 1.27 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 19.7 cm 22 cm -22.3 cm 1.76 keV 0 eV 0 fm 0 fm Tank initStep + 1 19.7 cm 22 cm -22.3 cm 0 eV 1.76 keV 137 nm 137 nm Tank eIoni + 2 19.7 cm 22 cm -22.3 cm 0 eV 0 eV 0 fm 137 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 459 um 2.22 cm -12.6 cm 5.71 keV 0 eV 0 fm 0 fm Tank initStep + 1 459 um 2.22 cm -12.6 cm 0 eV 5.71 keV 940 nm 940 nm Tank eIoni + 2 459 um 2.22 cm -12.6 cm 0 eV 0 eV 0 fm 940 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 388 um 2.17 cm -12.6 cm 63.3 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 3 + 1 375 um 2.17 cm -12.6 cm 0 eV 63.3 keV 64.5 um 64.5 um Tank eIoni + 2 375 um 2.17 cm -12.6 cm 0 eV 0 eV 0 fm 64.5 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 72, Parent ID = 53 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 377 um 2.17 cm -12.6 cm 2.63 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (0.523869,-0.700662,0.484391) +Old Polarization: (-0.698945,-0.0285553,0.714605) +New Polarization: (0.426415,0.452217,0.78337) +Polarization Change: (0.426415,0.452217,0.78337) +New Momentum Direction: (-0.831204,-0.14567,0.536544) +Momentum Change: (-0.831204,-0.14567,0.536544) + Photon at Boundary! + thePrePV: Tank + thePostPV: Tank + *** NotAtBoundary *** + 1 1.67 m -2.21 m 1.41 m 2.63 eV 0 eV 3.18 m 3.18 m Tank OpRayleigh + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.831204,-0.14567,0.536544) + Old Polarization: (0.426415,0.452217,0.78337) + New Momentum Direction: (0.412637,0.0672316,-0.908411) + New Polarization: (-0.767941,-0.510674,-0.386625) + *** LambertianReflection *** + 2 -3.89 m -3.18 m 5 m 2.63 eV 0 eV 6.68 m 9.86 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 3 -3.89 m -3.18 m 5 m 2.63 eV 0 eV 0 fm 9.86 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.412637,0.0672316,-0.908411) + Old Polarization: (-0.767941,-0.510674,-0.386625) + New Momentum Direction: (0.557426,0.0908221,-0.825244) + New Polarization: (-0.694323,-0.493977,-0.523357) + *** FresnelRefraction *** + 4 65.2 cm -2.44 m -5 m 2.63 eV 0 eV 11 m 20.9 m Tank Transportation + 5 4.03 m -1.89 m -10 m 2.63 eV 0 eV 6.06 m 26.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 71, Parent ID = 53 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 380 um 2.17 cm -12.6 cm 4.12 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.833826,-0.194835,0.516501) + Old Polarization: (-0.0594484,-0.89851,-0.43491) + New Momentum Direction: (-0.660124,-0.265117,0.702815) + New Polarization: (-0.0837834,-0.903818,-0.419634) + *** FresnelRefraction *** + 1 -5 m -1.15 m 2.97 m 4.12 eV 0 eV 6 m 6 m Tank Transportation + 2 -10 m -3.15 m 8.29 m 4.12 eV 0 eV 7.57 m 13.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 70, Parent ID = 53 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 380 um 2.17 cm -12.6 cm 3.47 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.746089,0.535738,0.395394) + Old Polarization: (0.178642,-0.410995,0.893963) + New Momentum Direction: (-0.42795,0.727196,0.536698) + New Polarization: (-0.261582,-0.668063,0.69661) + *** FresnelRefraction *** + 1 -5 m 3.61 m 2.52 m 3.47 eV 0 eV 6.7 m 6.7 m Tank Transportation + 2 -8.76 m 10 m 7.24 m 3.47 eV 0 eV 8.78 m 15.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.45 cm 5.22 cm -9.55 cm 14 keV 0 eV 0 fm 0 fm Tank initStep + 1 2.45 cm 5.22 cm -9.55 cm 0 eV 14 keV 4.52 um 4.52 um Tank eIoni + 2 2.45 cm 5.22 cm -9.55 cm 0 eV 0 eV 0 fm 4.52 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 11.4 cm 6.45 cm -5.14 cm 115 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 5 + 1 11.4 cm 6.45 cm -5.15 cm 0 eV 115 keV 179 um 179 um Tank eIoni + 2 11.4 cm 6.45 cm -5.15 cm 0 eV 0 eV 0 fm 179 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 77, Parent ID = 51 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 11.4 cm 6.45 cm -5.15 cm 3.58 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -4.67 m -32.6 cm -1.85 m 3.58 eV 0 eV 5.13 m 5.13 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 76, Parent ID = 51 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 11.4 cm 6.45 cm -5.15 cm 3.36 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -1.04 m 1.1 m 70.7 cm 3.36 eV 0 eV 1.73 m 1.73 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 75, Parent ID = 51 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 11.4 cm 6.45 cm -5.15 cm 3.25 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.863416,0.380218,0.331582) + Old Polarization: (0.179068,-0.845435,0.503164) + New Momentum Direction: (0.729437,0.515543,0.449596) + New Polarization: (0.248236,-0.811955,0.528307) + *** FresnelRefraction *** + 1 5 m 2.22 m 1.82 m 3.25 eV 0 eV 5.66 m 5.66 m Tank Transportation + 2 10 m 5.75 m 4.91 m 3.25 eV 0 eV 6.85 m 12.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 74, Parent ID = 51 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 11.4 cm 6.45 cm -5.15 cm 2.53 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 2.04 m 1.19 m 1.88 m 2.53 eV 0 eV 2.95 m 2.95 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 73, Parent ID = 51 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 11.4 cm 6.45 cm -5.14 cm 3.5 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.420152,-0.295377,0.858036) + Old Polarization: (0.636382,-0.578154,-0.510643) + New Momentum Direction: (0.570425,-0.401022,0.716796) + New Polarization: (-0.643089,0.324816,0.693493) + *** FresnelRefraction *** + 1 2.59 m -1.67 m 5 m 3.5 eV 0 eV 5.89 m 5.89 m Tank Transportation + 2 6.57 m -4.47 m 10 m 3.5 eV 0 eV 6.98 m 12.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 9 cm 1.25 cm 5.74 mm 110 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 3 + 1 9.01 cm 1.25 cm 5.79 mm 0 eV 110 keV 166 um 166 um Tank eIoni + 2 9.01 cm 1.25 cm 5.79 mm 0 eV 0 eV 0 fm 166 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 80, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 9 cm 1.25 cm 5.75 mm 2.2 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.0306238,-0.849325,-0.526981) + Old Polarization: (-0.902774,0.249802,-0.35014) + New Momentum Direction: (-0.0412134,-0.703794,-0.709208) + New Polarization: (-0.854178,-0.343422,0.390438) + *** FresnelRefraction *** + 1 -9.07 cm -5 m -3.1 m 2.2 eV 0 eV 5.9 m 5.9 m Tank Transportation + 2 -38.4 cm -10 m -8.14 m 2.2 eV 0 eV 7.1 m 13 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 79, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 9 cm 1.25 cm 5.75 mm 2.8 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.97415,-0.01287,-0.225536) + Old Polarization: (0.185377,-0.525026,0.830652) + New Momentum Direction: (0.952161,-0.0174103,-0.305101) + New Polarization: (0.251054,-0.524689,0.813433) + *** FresnelRefraction *** + 1 5 m -5.24 cm -1.13 m 2.8 eV 0 eV 5.04 m 5.04 m Tank Transportation + 2 10 m -14.4 cm -2.73 m 2.8 eV 0 eV 5.25 m 10.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 78, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 9.01 cm 1.25 cm 5.79 mm 3.75 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.245596,-0.606028,-0.75658) + Old Polarization: (-0.574217,-0.719767,0.390142) + New Momentum Direction: (0.333752,-0.82356,-0.458649) + New Polarization: (-0.831017,-0.0273701,-0.555573) + *** FresnelRefraction *** + 1 1.72 m -4 m -5 m 3.75 eV 0 eV 6.62 m 6.62 m Tank Transportation + 2 4.15 m -10 m -8.34 m 3.75 eV 0 eV 7.29 m 13.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.3 cm -1.02 cm 6.08 mm 98.5 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 1 + 1 4.3 cm -1.03 cm 6.09 mm 0 eV 98.5 keV 138 um 138 um Tank eIoni + 2 4.3 cm -1.03 cm 6.09 mm 0 eV 0 eV 0 fm 138 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 81, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.3 cm -1.02 cm 6.08 mm 2.4 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 2.42 m -2.64 m 40.2 cm 2.4 eV 0 eV 3.56 m 3.56 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 47, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 422 um 352 um -124 um 511 keV 0 eV 0 fm 0 fm Tank initStep + 1 -10.1 cm 2.54 cm -1.48 cm 427 keV 0 eV 10.5 cm 10.5 cm Tank compt + 2 -18.2 cm 11.3 cm -7.45 cm 212 keV 0 eV 13.4 cm 23.9 cm Tank compt + 3 -15.3 cm 12.2 cm -8.64 cm 172 keV 0 eV 3.25 cm 27.2 cm Tank compt + 4 -14.9 cm 11.7 cm -8.71 cm 159 keV 0 eV 6.06 mm 27.8 cm Tank compt + 5 -13 cm 2.98 cm -5.1 cm 109 keV 0 eV 9.64 cm 37.4 cm Tank compt + 6 -17.1 cm 3.34 cm -8.87 cm 94.9 keV 0 eV 5.55 cm 43 cm Tank compt + 7 -15.1 cm 8.64 cm -13.5 cm 89.2 keV 0 eV 7.34 cm 50.3 cm Tank compt + 8 -18.5 cm 11.3 cm -19.8 cm 79.1 keV 0 eV 7.55 cm 57.9 cm Tank compt + 9 -49.9 cm -7.4 cm -22.4 cm 64 keV 0 eV 36.6 cm 94.5 cm Tank compt + 10 -48.9 cm -8.79 mm -25.8 cm 58.8 keV 0 eV 7.45 cm 1.02 m Tank compt + 11 -49.3 cm -8.97 mm -26.4 cm 48.7 keV 0 eV 6.34 mm 1.03 m Tank compt + 12 -48.6 cm 6.76 mm -24.3 cm 47.6 keV 0 eV 2.7 cm 1.05 m Tank compt + 13 -51.6 cm 9.87 cm -20 cm 47.1 keV 0 eV 10.6 cm 1.16 m Tank compt + 14 -54.5 cm 12.4 cm -18.1 cm 40.9 keV 0 eV 4.31 cm 1.2 m Tank compt + 15 -54.7 cm 11.6 cm -18.8 cm 40.7 keV 0 eV 9.93 mm 1.21 m Tank compt + 16 -54.8 cm 11.4 cm -19 cm 38.5 keV 0 eV 3.37 mm 1.21 m Tank compt + 17 -54.1 cm 14.9 cm -24.1 cm 33.5 keV 0 eV 6.16 cm 1.28 m Tank compt + 18 -54.1 cm 14.4 cm -23.6 cm 33.4 keV 0 eV 7.1 mm 1.28 m Tank compt + 19 -53.8 cm 14 cm -22.6 cm 0 eV 543 eV 1.05 cm 1.29 m Tank phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -53.8 cm 14 cm -22.6 cm 32.8 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 2 + 1 -53.8 cm 14 cm -22.6 cm 0 eV 32.8 keV 20.3 um 20.3 um Tank eIoni + 2 -53.8 cm 14 cm -22.6 cm 0 eV 0 eV 0 fm 20.3 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 102, Parent ID = 100 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -53.8 cm 14 cm -22.6 cm 3.69 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -1.76 m 1.87 m 1.5 m 3.69 eV 0 eV 2.73 m 2.73 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 101, Parent ID = 100 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -53.8 cm 14 cm -22.6 cm 3.33 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.367436,0.386002,0.846164) + Old Polarization: (-0.576218,0.619672,-0.532897) + New Momentum Direction: (-0.498476,0.523664,0.690868) + New Polarization: (0.483257,-0.49377,0.722948) + *** FresnelRefraction *** + 1 -2.81 m 2.52 m 5 m 3.33 eV 0 eV 6.18 m 6.18 m Tank Transportation + 2 -6.42 m 6.31 m 10 m 3.33 eV 0 eV 7.24 m 13.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -54.1 cm 14.4 cm -23.6 cm 111 eV 0 eV 0 fm 0 fm Tank initStep + 1 -54.1 cm 14.4 cm -23.6 cm 0 eV 111 eV 10.1 nm 10.1 nm Tank eIoni + 2 -54.1 cm 14.4 cm -23.6 cm 0 eV 0 eV 0 fm 10.1 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -54.1 cm 14.9 cm -24.1 cm 5.01 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 1 + 1 -54.1 cm 14.9 cm -24.1 cm 0 eV 5.01 keV 754 nm 754 nm Tank eIoni + 2 -54.1 cm 14.9 cm -24.1 cm 0 eV 0 eV 0 fm 754 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 103, Parent ID = 98 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -54.1 cm 14.9 cm -24.1 cm 3.72 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.843716,-0.257636,0.470922) + Old Polarization: (0.4939,-0.0289688,0.869036) + New Momentum Direction: (-0.684077,-0.350085,0.639905) + New Polarization: (-0.674323,0.637986,-0.371836) + *** FresnelRefraction *** + 1 -5 m -1.21 m 2.25 m 3.72 eV 0 eV 5.28 m 5.28 m Tank Transportation + 2 -10 m -3.77 m 6.92 m 3.72 eV 0 eV 7.31 m 12.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -54.8 cm 11.4 cm -19 cm 2.24 keV 0 eV 0 fm 0 fm Tank initStep + 1 -54.8 cm 11.4 cm -19 cm 0 eV 2.24 keV 200 nm 200 nm Tank eIoni + 2 -54.8 cm 11.4 cm -19 cm 0 eV 0 eV 0 fm 200 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -54.7 cm 11.6 cm -18.8 cm 192 eV 0 eV 0 fm 0 fm Tank initStep + 1 -54.7 cm 11.6 cm -18.8 cm 0 eV 192 eV 13.3 nm 13.3 nm Tank eIoni + 2 -54.7 cm 11.6 cm -18.8 cm 0 eV 0 eV 0 fm 13.3 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 95, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -54.5 cm 12.4 cm -18.1 cm 6.13 keV 0 eV 0 fm 0 fm Tank initStep + 1 -54.5 cm 12.4 cm -18.1 cm 0 eV 6.13 keV 1.06 um 1.06 um Tank eIoni + 2 -54.5 cm 12.4 cm -18.1 cm 0 eV 0 eV 0 fm 1.06 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -51.6 cm 9.87 cm -20 cm 569 eV 0 eV 0 fm 0 fm Tank initStep + 1 -51.6 cm 9.87 cm -20 cm 0 eV 569 eV 30.7 nm 30.7 nm Tank eIoni + 2 -51.6 cm 9.87 cm -20 cm 0 eV 0 eV 0 fm 30.7 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -48.6 cm 6.76 mm -24.3 cm 1.1 keV 0 eV 0 fm 0 fm Tank initStep + 1 -48.6 cm 6.76 mm -24.3 cm 0 eV 1.1 keV 69.1 nm 69.1 nm Tank eIoni + 2 -48.6 cm 6.76 mm -24.3 cm 0 eV 0 eV 0 fm 69.1 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -49.3 cm -8.97 mm -26.4 cm 10.1 keV 0 eV 0 fm 0 fm Tank initStep + 1 -49.3 cm -8.97 mm -26.4 cm 0 eV 10.1 keV 2.53 um 2.53 um Tank eIoni + 2 -49.3 cm -8.97 mm -26.4 cm 0 eV 0 eV 0 fm 2.53 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -48.9 cm -8.79 mm -25.8 cm 5.15 keV 0 eV 0 fm 0 fm Tank initStep + 1 -48.9 cm -8.79 mm -25.8 cm 0 eV 5.15 keV 790 nm 790 nm Tank eIoni + 2 -48.9 cm -8.79 mm -25.8 cm 0 eV 0 eV 0 fm 790 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -49.9 cm -7.4 cm -22.4 cm 15.1 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 1 + 1 -49.9 cm -7.4 cm -22.4 cm 0 eV 15.1 keV 5.12 um 5.12 um Tank eIoni + 2 -49.9 cm -7.4 cm -22.4 cm 0 eV 0 eV 0 fm 5.12 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 104, Parent ID = 90 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -49.9 cm -7.4 cm -22.4 cm 3.8 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.775091,-0.570659,0.271259) + Old Polarization: (-0.503544,-0.298548,0.810748) + New Momentum Direction: (0.512336,-0.775618,0.368685) + New Polarization: (0.699479,0.625956,0.344831) + *** FresnelRefraction *** + 1 5 m -4.12 m 1.7 m 3.8 eV 0 eV 7.09 m 7.09 m Tank Transportation + 2 8.88 m -10 m 4.49 m 3.8 eV 0 eV 7.58 m 14.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.5 cm 11.3 cm -19.8 cm 10.1 keV 0 eV 0 fm 0 fm Tank initStep + 1 -18.5 cm 11.3 cm -19.8 cm 0 eV 10.1 keV 2.54 um 2.54 um Tank eIoni + 2 -18.5 cm 11.3 cm -19.8 cm 0 eV 0 eV 0 fm 2.54 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -15.1 cm 8.64 cm -13.5 cm 5.73 keV 0 eV 0 fm 0 fm Tank initStep + 1 -15.1 cm 8.64 cm -13.5 cm 0 eV 5.73 keV 946 nm 946 nm Tank eIoni + 2 -15.1 cm 8.64 cm -13.5 cm 0 eV 0 eV 0 fm 946 nm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -17.1 cm 3.34 cm -8.87 cm 14.5 keV 0 eV 0 fm 0 fm Tank initStep + 1 -17.1 cm 3.34 cm -8.87 cm 0 eV 14.5 keV 4.81 um 4.81 um Tank eIoni + 2 -17.1 cm 3.34 cm -8.87 cm 0 eV 0 eV 0 fm 4.81 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -13 cm 2.98 cm -5.1 cm 49.7 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 2 + 1 -13 cm 2.98 cm -5.1 cm 0 eV 49.7 keV 42.3 um 42.3 um Tank eIoni + 2 -13 cm 2.98 cm -5.1 cm 0 eV 0 eV 0 fm 42.3 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 106, Parent ID = 86 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -13 cm 2.98 cm -5.1 cm 3.83 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 1.76 m -1.11 m -32.6 cm 3.83 eV 0 eV 2.22 m 2.22 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 105, Parent ID = 86 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -13 cm 2.98 cm -5.1 cm 3.43 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.331004,0.854194,0.400984) + Old Polarization: (-0.934109,-0.356818,-0.0109776) + New Momentum Direction: (-0.449221,0.708556,0.544196) + New Polarization: (-0.239275,0.491448,-0.837393) + *** FresnelRefraction *** + 1 -2.06 m 5 m 2.28 m 3.43 eV 0 eV 5.82 m 5.82 m Tank Transportation + 2 -5.23 m 10 m 6.12 m 3.43 eV 0 eV 7.06 m 12.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -14.9 cm 11.7 cm -8.71 cm 12.9 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 1 + 1 -14.9 cm 11.7 cm -8.71 cm 0 eV 12.9 keV 3.88 um 3.88 um Tank eIoni + 2 -14.9 cm 11.7 cm -8.71 cm 0 eV 0 eV 0 fm 3.88 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 107, Parent ID = 85 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -14.9 cm 11.7 cm -8.71 cm 3.96 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.0649317,-0.287402,-0.955607) + Old Polarization: (0.795834,0.592648,-0.124165) + New Momentum Direction: (0.0882954,-0.390815,-0.916225) + New Polarization: (0.798029,0.578221,-0.169735) + *** FresnelRefraction *** + 1 18.5 cm -1.36 m -5 m 3.96 eV 0 eV 5.14 m 5.14 m Tank Transportation + 2 66.6 cm -3.49 m -10 m 3.96 eV 0 eV 5.46 m 10.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -15.3 cm 12.2 cm -8.64 cm 39.7 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 5 + 1 -15.3 cm 12.2 cm -8.64 cm 0 eV 39.7 keV 28.5 um 28.5 um Tank eIoni + 2 -15.3 cm 12.2 cm -8.64 cm 0 eV 0 eV 0 fm 28.5 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 112, Parent ID = 84 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -15.3 cm 12.2 cm -8.64 cm 2.26 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.988913,-0.0744288,-0.1285) + Old Polarization: (0.135698,-0.101466,-0.985541) + New Momentum Direction: (-0.979803,-0.100223,-0.173033) + New Polarization: (-0.182768,0.799916,0.571603) + *** FresnelRefraction *** + 1 -5 m -24.3 cm -71.6 cm 2.26 eV 0 eV 4.9 m 4.9 m Tank Transportation + 2 -10 m -75.5 cm -1.6 m 2.26 eV 0 eV 5.1 m 10 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 111, Parent ID = 84 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -15.3 cm 12.2 cm -8.64 cm 2.68 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.806709,0.336668,0.485669) + Old Polarization: (-0.260264,0.94026,-0.219487) + New Momentum Direction: (0.601682,0.455046,0.656439) + New Polarization: (0.364232,0.57511,-0.732519) + *** FresnelRefraction *** + 1 5 m 2.27 m 3.02 m 2.68 eV 0 eV 6.39 m 6.39 m Tank Transportation + 2 10 m 6.05 m 8.47 m 2.68 eV 0 eV 8.31 m 14.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 110, Parent ID = 84 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -15.3 cm 12.2 cm -8.64 cm 3.66 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (0.113286,-0.0821012,-0.990165) +Old Polarization: (-0.925512,0.353754,-0.135221) +New Polarization: (0.847432,-0.413274,0.333263) +Polarization Change: (0.847432,-0.413274,0.333263) +New Momentum Direction: (0.449651,0.224969,-0.864409) +Momentum Change: (0.449651,0.224969,-0.864409) + Photon at Boundary! + thePrePV: Tank + thePostPV: Tank + *** NotAtBoundary *** + 1 -7.43 mm 1.6 cm -1.36 m 3.66 eV 0 eV 1.29 m 1.29 m Tank OpRayleigh + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.449651,0.224969,-0.864409) + Old Polarization: (0.847432,-0.413274,0.333263) + New Momentum Direction: (0.610873,0.305631,-0.730359) + New Polarization: (-0.107879,-0.881751,-0.459214) + *** FresnelRefraction *** + 2 1.89 m 96.3 cm -5 m 3.66 eV 0 eV 4.21 m 5.5 m Tank Transportation + 3 6.07 m 3.06 m -10 m 3.66 eV 0 eV 6.85 m 12.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 109, Parent ID = 84 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -15.3 cm 12.2 cm -8.64 cm 3.43 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.654799,-0.438253,-0.61577) + Old Polarization: (0.75264,-0.303631,-0.584245) + New Momentum Direction: (0.654799,0.438253,0.61577) + New Polarization: (-0.75264,0.303631,0.584245) + *** BackScattering *** + 1 -5 m -3.12 m -4.64 m 3.43 eV 0 eV 7.4 m 7.4 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 -5 m -3.12 m -4.64 m 3.43 eV 0 eV 0 fm 7.4 m World Transportation + +** Photon absorbed! ** + 3 2.79 m 2.09 m 2.69 m 3.43 eV 0 eV 11.9 m 19.3 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 108, Parent ID = 84 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -15.3 cm 12.2 cm -8.64 cm 3.97 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.539888,0.725089,-0.427512) + Old Polarization: (0.137621,0.425021,0.894661) + New Momentum Direction: (0.539888,-0.725089,-0.427512) + New Polarization: (0.770952,0.222098,0.596913) + *** LobeReflection *** + 1 3.48 m 5 m -2.96 m 3.97 eV 0 eV 6.73 m 6.73 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 3.48 m 5 m -2.96 m 3.97 eV 0 eV 0 fm 6.73 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.539888,-0.725089,-0.427512) + Old Polarization: (0.770952,0.222098,0.596913) + New Momentum Direction: (-0.539888,-0.725089,-0.427512) + New Polarization: (0.770952,-0.222098,-0.596913) + *** SpikeReflection *** + 3 5 m 2.96 m -4.17 m 3.97 eV 0 eV 2.82 m 9.54 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 4 5 m 2.96 m -4.17 m 3.97 eV 0 eV 0 fm 9.54 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.539888,-0.725089,-0.427512) + Old Polarization: (0.770952,-0.222098,-0.596913) + New Momentum Direction: (-0.539888,-0.725089,0.427512) + New Polarization: (-0.770952,0.222098,-0.596913) + *** LobeReflection *** + 5 3.95 m 1.54 m -5 m 3.97 eV 0 eV 1.95 m 11.5 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 6 3.95 m 1.54 m -5 m 3.97 eV 0 eV 0 fm 11.5 m World Transportation +Scattering Photon! +Old Momentum Direction: (-0.539888,-0.725089,0.427512) +Old Polarization: (-0.770952,0.222098,-0.596913) +New Polarization: (-0.901666,0.100275,-0.420646) +Polarization Change: (-0.901666,0.100275,-0.420646) +New Momentum Direction: (0.410882,0.501917,-0.761088) +Momentum Change: (0.410882,0.501917,-0.761088) + Photon at Boundary! + thePrePV: Tank + thePostPV: Tank + *** NotAtBoundary *** + 7 2.13 m -90.2 cm -3.56 m 3.97 eV 0 eV 3.37 m 14.9 m Tank OpRayleigh + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.410882,0.501917,-0.761088) + Old Polarization: (-0.901666,0.100275,-0.420646) + New Momentum Direction: (0.558742,0.682538,-0.471115) + New Polarization: (-0.772274,0.221117,-0.595568) + *** FresnelRefraction *** + 8 2.91 m 4.93 cm -5 m 3.97 eV 0 eV 1.9 m 16.8 m Tank Transportation + 9 8.84 m 7.29 m -10 m 3.97 eV 0 eV 10.6 m 27.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.2 cm 11.3 cm -7.45 cm 216 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 10 + 1 -18.3 cm 11.4 cm -7.45 cm 0 eV 216 keV 501 um 501 um Tank eIoni + 2 -18.3 cm 11.4 cm -7.45 cm 0 eV 0 eV 0 fm 501 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 122, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.3 cm 11.3 cm -7.45 cm 3.55 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 44.5 cm 2.01 m -4.36 m 3.55 eV 0 eV 4.73 m 4.73 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 121, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.3 cm 11.3 cm -7.45 cm 2.75 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.729563,-0.245932,0.638166) + Old Polarization: (0.604742,-0.667775,0.43401) + New Momentum Direction: (-0.380581,-0.332535,0.86289) + New Polarization: (-0.833453,-0.28092,-0.475857) + *** FresnelRefraction *** + 1 -5 m -1.51 m 4.14 m 2.75 eV 0 eV 6.6 m 6.6 m Tank Transportation + 2 -7.58 m -3.77 m 10 m 2.75 eV 0 eV 6.79 m 13.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 120, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.2 cm 11.3 cm -7.45 cm 3.66 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.689712,0.714357,-0.118287) + Old Polarization: (0.442783,0.286841,-0.849509) + New Momentum Direction: (-0.93702,0.310111,-0.1607) + New Polarization: (0.288939,0.429737,-0.855477) + *** FresnelRefraction *** + 1 -4.9 m 5 m -88.4 cm 3.66 eV 0 eV 6.84 m 6.84 m Tank Transportation + 2 -10 m 6.69 m -1.76 m 3.66 eV 0 eV 5.44 m 12.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 119, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.2 cm 11.3 cm -7.45 cm 3.2 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.368599,-0.675515,0.638603) + Old Polarization: (0.580053,-0.369686,-0.725859) + New Momentum Direction: (-0.337865,0.712189,0.615333) + New Polarization: (-0.0523018,-0.666975,0.743242) + *** LambertianReflection *** + 1 2.61 m -5 m 4.76 m 3.2 eV 0 eV 7.57 m 7.57 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 2.61 m -5 m 4.76 m 3.2 eV 0 eV 0 fm 7.57 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.337865,0.712189,0.615333) + Old Polarization: (-0.0523018,-0.666975,0.743242) + New Momentum Direction: (0.337865,-0.712189,-0.615333) + New Polarization: (0.0523018,0.666975,-0.743242) + *** BackScattering *** + 3 2.48 m -4.72 m 5 m 3.2 eV 0 eV 39.1 cm 7.96 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 4 2.48 m -4.72 m 5 m 3.2 eV 0 eV 0 fm 7.96 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.337865,-0.712189,-0.615333) + Old Polarization: (0.0523018,0.666975,-0.743242) + New Momentum Direction: (0.458024,-0.307202,-0.834171) + New Polarization: (-0.386958,-0.913718,0.124027) + *** FresnelRefraction *** + 5 2.61 m -5 m 4.76 m 3.2 eV 0 eV 39.1 cm 8.35 m Tank Transportation + 6 10 m -9.96 m -8.7 m 3.2 eV 0 eV 16.1 m 24.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 118, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.3 cm 11.3 cm -7.45 cm 2.8 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.104109,-0.452377,0.885729) + Old Polarization: (0.0407122,-0.891761,-0.450672) + New Momentum Direction: (-0.140834,-0.611958,0.77825) + New Polarization: (0.398978,0.684345,0.610318) + *** FresnelRefraction *** + 1 -77.9 cm -2.48 m 5 m 2.8 eV 0 eV 5.73 m 5.73 m Tank Transportation + 2 -1.68 m -6.41 m 10 m 2.8 eV 0 eV 6.42 m 12.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 117, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.2 cm 11.3 cm -7.45 cm 3.74 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.00386218,-0.911334,-0.411651) + Old Polarization: (0.874207,0.202952,-0.441104) + New Momentum Direction: (0.00524833,-0.828886,-0.559393) + New Polarization: (0.863039,-0.278808,0.421223) + *** FresnelRefraction *** + 1 -16.1 cm -5 m -2.38 m 3.74 eV 0 eV 5.61 m 5.61 m Tank Transportation + 2 -12.9 cm -10 m -5.76 m 3.74 eV 0 eV 6.03 m 11.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 116, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.2 cm 11.3 cm -7.45 cm 2.85 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -2.75 m -2.53 m -79.6 cm 2.85 eV 0 eV 3.76 m 3.76 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 115, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.2 cm 11.3 cm -7.45 cm 2.37 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.315169,-0.434571,0.843692) + Old Polarization: (0.871627,0.484211,-0.0761959) + New Momentum Direction: (0.424789,-0.58572,0.69028) + New Polarization: (0.741614,0.662444,0.105721) + *** FresnelRefraction *** + 1 1.71 m -2.5 m 5 m 2.37 eV 0 eV 6.01 m 6.01 m Tank Transportation + 2 4.79 m -6.74 m 10 m 2.37 eV 0 eV 7.24 m 13.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 114, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.2 cm 11.3 cm -7.45 cm 2.21 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 3.07 m -2.86 m 4.83 m 2.21 eV 0 eV 6.6 m 6.6 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 113, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.2 cm 11.3 cm -7.45 cm 2.94 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.674184,0.733356,-0.0875485) + Old Polarization: (-0.522,-0.556997,-0.645964) + New Momentum Direction: (-0.912777,0.390881,-0.118532) + New Polarization: (0.396009,0.77578,-0.491265) + *** FresnelRefraction *** + 1 -4.67 m 5 m -65.8 cm 2.94 eV 0 eV 6.66 m 6.66 m Tank Transportation + 2 -10 m 7.28 m -1.35 m 2.94 eV 0 eV 5.83 m 12.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -10.1 cm 2.54 cm -1.48 cm 83.7 keV 0 eV 0 fm 0 fm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 5 + 1 -10.1 cm 2.54 cm -1.48 cm 0 eV 83.7 keV 104 um 104 um Tank eIoni + 2 -10.1 cm 2.54 cm -1.48 cm 0 eV 0 eV 0 fm 104 um Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 127, Parent ID = 82 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -10.1 cm 2.54 cm -1.48 cm 3.61 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.390755,-0.918498,0.0605943) + Old Polarization: (-0.1663,-0.00569761,0.986059) + New Momentum Direction: (0.530773,-0.843508,0.0823069) + New Polarization: (-0.165389,-0.00783993,0.986197) + *** FresnelRefraction *** + 1 2.04 m -5 m 31.7 cm 3.61 eV 0 eV 5.47 m 5.47 m Tank Transportation + 2 5.18 m -10 m 80.5 cm 3.61 eV 0 eV 5.93 m 11.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 126, Parent ID = 82 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -10.1 cm 2.54 cm -1.48 cm 2.68 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.585348,-0.725874,-0.361213) + Old Polarization: (0.180404,-0.550947,0.814808) + New Momentum Direction: (-0.791131,-0.368474,-0.4882) + New Polarization: (-0.0350834,-0.769521,0.637657) + *** FresnelRefraction *** + 1 -4.15 m -5 m -2.52 m 2.68 eV 0 eV 6.92 m 6.92 m Tank Transportation + 2 -10 m -7.72 m -6.12 m 2.68 eV 0 eV 7.39 m 14.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 125, Parent ID = 82 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -10.1 cm 2.54 cm -1.48 cm 3.07 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.454155,-0.0175837,0.890749) + Old Polarization: (-0.867952,-0.216837,-0.446812) + New Momentum Direction: (-0.615283,-0.0238222,0.787946) + New Polarization: (0.781475,-0.149734,0.605703) + *** FresnelRefraction *** + 1 -2.66 m -7.36 cm 5 m 3.07 eV 0 eV 5.63 m 5.63 m Tank Transportation + 2 -6.56 m -22.5 cm 10 m 3.07 eV 0 eV 6.35 m 12 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 124, Parent ID = 82 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -10.1 cm 2.54 cm -1.48 cm 2.84 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.188675,-0.737982,0.647908) + Old Polarization: (-0.197418,0.674792,0.711114) + New Momentum Direction: (-0.255306,-0.40765,0.876721) + New Polarization: (0.12214,-0.913105,-0.389) + *** FresnelRefraction *** + 1 -1.39 m -5 m 4.4 m 2.84 eV 0 eV 6.81 m 6.81 m Tank Transportation + 2 -3.02 m -7.61 m 10 m 2.84 eV 0 eV 6.39 m 13.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 123, Parent ID = 82 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -10.1 cm 2.54 cm -1.48 cm 3.71 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.842488,0.163176,0.513407) + Old Polarization: (0.0403523,-0.93123,0.36219) + New Momentum Direction: (-0.681316,0.221719,0.697602) + New Polarization: (-0.0566119,-0.966129,0.251775) + *** FresnelRefraction *** + 1 -5 m 97.4 cm 2.97 m 3.71 eV 0 eV 5.82 m 5.82 m Tank Transportation + 2 -10 m 2.6 m 8.09 m 3.71 eV 0 eV 7.34 m 13.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 46, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 648 um 414 um -265 um 2.42 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.735751,0.676722,-0.0267867) + Old Polarization: (0.0285303,0.0704874,0.997105) + New Momentum Direction: (-0.407567,0.912461,-0.0361179) + New Polarization: (-0.0418838,0.0208315,0.998905) + *** FresnelRefraction *** + 1 -5 m 4.6 m -18.2 cm 2.42 eV 0 eV 6.8 m 6.8 m Tank Transportation + 2 -7.41 m 10 m -39.6 cm 2.42 eV 0 eV 5.92 m 12.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 45, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 537 um 383 um -195 um 3.57 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 1.64 m -2.21 m 10.2 cm 3.57 eV 0 eV 2.76 m 2.76 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 44, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 496 um 372 um -170 um 3.6 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -3.9 m 1.44 m -2.51 m 3.6 eV 0 eV 4.85 m 4.85 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 43, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 598 um 400 um -234 um 4.02 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: Bubble + Old Momentum Direction: (-0.134858,0.97367,0.183793) + Old Polarization: (-0.238915,0.148063,-0.959686) + New Momentum Direction: (-0.134858,0.97367,0.183793) + New Polarization: (-0.238915,0.148063,-0.959686) + *** Detection *** + 1 -27.6 cm 2 m 37.7 cm 4.02 eV 4.02 eV 2.05 m 2.05 m Tank Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 42, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 623 um 407 um -249 um 2.12 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 25 cm 20.3 cm -5.91 cm 2.12 eV 0 eV 32.6 cm 32.6 cm Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 41, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 503 um 374 um -174 um 2.28 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -9.56 cm 5.32 cm -2.43 cm 2.28 eV 0 eV 11.2 cm 11.2 cm Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 40, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 640 um 412 um -260 um 2.24 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.15882,-0.29222,-0.943071) + Old Polarization: (0.954915,-0.197202,0.22192) + New Momentum Direction: (0.213824,-0.393425,-0.894145) + New Polarization: (0.365991,0.88091,-0.300079) + *** FresnelRefraction *** + 1 84.3 cm -1.55 m -5 m 2.24 eV 0 eV 5.3 m 5.3 m Tank Transportation + 2 2.04 m -3.75 m -10 m 2.24 eV 0 eV 5.59 m 10.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 39, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 688 um 425 um -290 um 3.48 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -79.8 cm -4.04 cm 2.02 m 3.48 eV 0 eV 2.17 m 2.17 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 38, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 668 um 419 um -278 um 2.59 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.0230897,-0.906822,0.420882) + Old Polarization: (0.881486,0.217079,0.419355) + New Momentum Direction: (0.0311833,-0.822152,0.568413) + New Polarization: (0.829117,-0.296323,-0.474087) + *** FresnelRefraction *** + 1 12.8 cm -5 m 2.32 m 2.59 eV 0 eV 5.51 m 5.51 m Tank Transportation + 2 31.8 cm -10 m 5.78 m 2.59 eV 0 eV 6.08 m 11.6 m OutOfWorld Transportation +Number of optical photons produced in this event : 87 +number of event = 1 User=0.01s Real=0.02s Sys=0s +# +#/process/inactivate Scintillation +#/N06/phys/verbose 0 +# +#/run/beamOn 1 Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/novice/N06/include/ExN06PhysicsList.hh b/examples/novice/N06/include/ExN06PhysicsList.hh index cb7e7a7a15..781bd5ee6a 100644 --- a/examples/novice/N06/include/ExN06PhysicsList.hh +++ b/examples/novice/N06/include/ExN06PhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN06PhysicsList.hh,v 1.7 2006/06/29 17:53:59 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExN06PhysicsList.hh,v 1.8 2010/10/23 19:13:23 gum Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -40,7 +40,9 @@ class G4Cerenkov; class G4Scintillation; class G4OpAbsorption; class G4OpRayleigh; +class G4OpMieHG; class G4OpBoundaryProcess; + class ExN06PhysicsListMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -77,6 +79,7 @@ class ExN06PhysicsList : public G4VUserPhysicsList G4Scintillation* theScintillationProcess; G4OpAbsorption* theAbsorptionProcess; G4OpRayleigh* theRayleighScatteringProcess; + G4OpMieHG* theMieHGScatteringProcess; G4OpBoundaryProcess* theBoundaryProcess; ExN06PhysicsListMessenger* pMessenger; @@ -85,4 +88,3 @@ class ExN06PhysicsList : public G4VUserPhysicsList //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif /* ExN06PhysicsList_h */ - diff --git a/examples/novice/N06/src/ExN06DetectorConstruction.cc b/examples/novice/N06/src/ExN06DetectorConstruction.cc index ed204a09d6..a095d1fe11 100644 --- a/examples/novice/N06/src/ExN06DetectorConstruction.cc +++ b/examples/novice/N06/src/ExN06DetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN06DetectorConstruction.cc,v 1.17 2008/07/17 00:32:34 gum Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExN06DetectorConstruction.cc,v 1.18 2010/10/23 19:27:38 gum Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,26 +33,22 @@ #include "ExN06DetectorConstruction.hh" #include "G4Material.hh" -#include "G4MaterialTable.hh" #include "G4Element.hh" -#include "G4ElementTable.hh" #include "G4LogicalBorderSurface.hh" #include "G4LogicalSkinSurface.hh" +#include "G4OpticalSurface.hh" #include "G4Box.hh" #include "G4LogicalVolume.hh" -#include "G4RotationMatrix.hh" #include "G4ThreeVector.hh" -#include "G4Transform3D.hh" #include "G4PVPlacement.hh" -#include "G4OpBoundaryProcess.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... ExN06DetectorConstruction::ExN06DetectorConstruction() { - expHall_x = expHall_y = expHall_z = 10*m; - tank_x = tank_y = tank_z = 5*m; - bubble_x = bubble_y = bubble_z = 0.5*m; + expHall_x = expHall_y = expHall_z = 10.0*m; + tank_x = tank_y = tank_z = 5.0*m; + bubble_x = bubble_y = bubble_z = 0.5*m; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -144,7 +140,59 @@ G4VPhysicalVolume* ExN06DetectorConstruction::Construct() myMPT1->AddConstProperty("FASTTIMECONSTANT", 1.*ns); myMPT1->AddConstProperty("SLOWTIMECONSTANT",10.*ns); myMPT1->AddConstProperty("YIELDRATIO",0.8); - + + const G4int NUMENTRIES_water = 90; + + G4double ENERGY_water[NUMENTRIES_water] = { + 1.56962*eV, 1.58974*eV, 1.61039*eV, 1.63157*eV, + 1.65333*eV, 1.67567*eV, 1.69863*eV, 1.72222*eV, + 1.74647*eV, 1.77142*eV, 1.7971 *eV, 1.82352*eV, + 1.85074*eV, 1.87878*eV, 1.90769*eV, 1.93749*eV, + 1.96825*eV, 1.99999*eV, 2.03278*eV, 2.06666*eV, + 2.10169*eV, 2.13793*eV, 2.17543*eV, 2.21428*eV, + 2.25454*eV, 2.29629*eV, 2.33962*eV, 2.38461*eV, + 2.43137*eV, 2.47999*eV, 2.53061*eV, 2.58333*eV, + 2.63829*eV, 2.69565*eV, 2.75555*eV, 2.81817*eV, + 2.88371*eV, 2.95237*eV, 3.02438*eV, 3.09999*eV, + 3.17948*eV, 3.26315*eV, 3.35134*eV, 3.44444*eV, + 3.54285*eV, 3.64705*eV, 3.75757*eV, 3.87499*eV, + 3.99999*eV, 4.13332*eV, 4.27585*eV, 4.42856*eV, + 4.59258*eV, 4.76922*eV, 4.95999*eV, 5.16665*eV, + 5.39129*eV, 5.63635*eV, 5.90475*eV, 6.19998*eV + }; + + //assume 100 times larger than the rayleigh scattering for now. + G4double MIE_water[NUMENTRIES_water] = { + 167024.4*m, 158726.7*m, 150742 *m, + 143062.5*m, 135680.2*m, 128587.4*m, + 121776.3*m, 115239.5*m, 108969.5*m, + 102958.8*m, 97200.35*m, 91686.86*m, + 86411.33*m, 81366.79*m, 76546.42*m, + 71943.46*m, 67551.29*m, 63363.36*m, + 59373.25*m, 55574.61*m, 51961.24*m, + 48527.00*m, 45265.87*m, 42171.94*m, + 39239.39*m, 36462.50*m, 33835.68*m, + 31353.41*m, 29010.30*m, 26801.03*m, + 24720.42*m, 22763.36*m, 20924.88*m, + 19200.07*m, 17584.16*m, 16072.45*m, + 14660.38*m, 13343.46*m, 12117.33*m, + 10977.70*m, 9920.416*m, 8941.407*m, + 8036.711*m, 7202.470*m, 6434.927*m, + 5730.429*m, 5085.425*m, 4496.467*m, + 3960.210*m, 3473.413*m, 3032.937*m, + 2635.746*m, 2278.907*m, 1959.588*m, + 1675.064*m, 1422.710*m, 1200.004*m, + 1004.528*m, 833.9666*m, 686.1063*m + }; + + // gforward, gbackward, forward backward ratio + G4double MIE_water_const[3]={0.99,0.99,0.8}; + + myMPT1->AddProperty("MIEHG",ENERGY_water,MIE_water,NUMENTRIES_water); + myMPT1->AddConstProperty("MIEHG_FORWARD",MIE_water_const[0]); + myMPT1->AddConstProperty("MIEHG_BACKWARD",MIE_water_const[1]); + myMPT1->AddConstProperty("MIEHG_FORWARD_RATIO",MIE_water_const[2]); + Water->SetMaterialPropertiesTable(myMPT1); // Set the Birks Constant for the Water scintillator @@ -210,13 +258,9 @@ G4VPhysicalVolume* ExN06DetectorConstruction::Construct() OpWaterSurface->SetFinish(ground); OpWaterSurface->SetModel(unified); - G4LogicalBorderSurface* WaterSurface = - new G4LogicalBorderSurface("WaterSurface", + new G4LogicalBorderSurface("WaterSurface", waterTank_phys,expHall_phys,OpWaterSurface); - if(WaterSurface->GetVolume1() == waterTank_phys) G4cout << "Equal" << G4endl; - if(WaterSurface->GetVolume2() == expHall_phys ) G4cout << "Equal" << G4endl; - // Air Bubble // G4OpticalSurface* OpAirSurface = new G4OpticalSurface("AirSurface"); @@ -227,7 +271,6 @@ G4VPhysicalVolume* ExN06DetectorConstruction::Construct() G4LogicalSkinSurface* AirSurface = new G4LogicalSkinSurface("AirSurface", bubbleAir_log, OpAirSurface); - if(AirSurface->GetLogicalVolume() == bubbleAir_log) G4cout << "Equal" << G4endl; G4OpticalSurface* opticalSurface = dynamic_cast (AirSurface->GetSurface(bubbleAir_log)->GetSurfaceProperty()); @@ -237,7 +280,7 @@ G4VPhysicalVolume* ExN06DetectorConstruction::Construct() // Generate & Add Material Properties Table attached to the optical surfaces // const G4int num = 2; - G4double Ephoton[num] = {2.038*eV, 4.144*eV}; + G4double Ephoton[num] = {2.034*eV, 4.136*eV}; //OpticalWaterSurface G4double RefractiveIndex[num] = {1.35, 1.40}; diff --git a/examples/novice/N06/src/ExN06PhysicsList.cc b/examples/novice/N06/src/ExN06PhysicsList.cc index 52d30786cf..0b0f34f013 100644 --- a/examples/novice/N06/src/ExN06PhysicsList.cc +++ b/examples/novice/N06/src/ExN06PhysicsList.cc @@ -24,15 +24,12 @@ // ******************************************************************** // // -// $Id: ExN06PhysicsList.cc,v 1.17 2009/11/10 05:16:23 gum Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: ExN06PhysicsList.cc,v 1.19 2010/10/23 19:14:03 gum Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4ios.hh" -#include - #include "globals.hh" #include "ExN06PhysicsList.hh" #include "ExN06PhysicsListMessenger.hh" @@ -41,16 +38,13 @@ #include "G4ParticleTypes.hh" #include "G4ParticleTable.hh" -#include "G4Material.hh" -#include "G4MaterialTable.hh" - #include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" #include "G4Cerenkov.hh" #include "G4Scintillation.hh" #include "G4OpAbsorption.hh" #include "G4OpRayleigh.hh" +#include "G4OpMieHG.hh" #include "G4OpBoundaryProcess.hh" #include "G4LossTableManager.hh" @@ -60,11 +54,12 @@ ExN06PhysicsList::ExN06PhysicsList() : G4VUserPhysicsList() { - theCerenkovProcess = 0; - theScintillationProcess = 0; - theAbsorptionProcess = 0; - theRayleighScatteringProcess = 0; - theBoundaryProcess = 0; + theCerenkovProcess = NULL; + theScintillationProcess = NULL; + theAbsorptionProcess = NULL; + theRayleighScatteringProcess = NULL; + theMieHGScatteringProcess = NULL; + theBoundaryProcess = NULL; pMessenger = new ExN06PhysicsListMessenger(this); SetVerboseLevel(0); @@ -109,12 +104,16 @@ void ExN06PhysicsList::ConstructBosons() void ExN06PhysicsList::ConstructLeptons() { // leptons + // e+/- G4Electron::ElectronDefinition(); G4Positron::PositronDefinition(); - G4NeutrinoE::NeutrinoEDefinition(); - G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + // mu+/- G4MuonPlus::MuonPlusDefinition(); G4MuonMinus::MuonMinusDefinition(); + // nu_e + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + // nu_mu G4NeutrinoMu::NeutrinoMuDefinition(); G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); } @@ -123,7 +122,7 @@ void ExN06PhysicsList::ConstructLeptons() void ExN06PhysicsList::ConstructMesons() { - // mesons + // mesons G4PionPlus::PionPlusDefinition(); G4PionMinus::PionMinusDefinition(); G4PionZero::PionZeroDefinition(); @@ -133,9 +132,10 @@ void ExN06PhysicsList::ConstructMesons() void ExN06PhysicsList::ConstructBaryons() { -// barions + // barions G4Proton::ProtonDefinition(); G4AntiProton::AntiProtonDefinition(); + G4Neutron::NeutronDefinition(); G4AntiNeutron::AntiNeutronDefinition(); } @@ -206,9 +206,9 @@ void ExN06PhysicsList::ConstructEM() if (particleName == "gamma") { // gamma // Construct processes for gamma -// pmanager->AddDiscreteProcess(new G4GammaConversion()); -// pmanager->AddDiscreteProcess(new G4ComptonScattering()); -// pmanager->AddDiscreteProcess(new G4PhotoElectricEffect()); + pmanager->AddDiscreteProcess(new G4GammaConversion()); + pmanager->AddDiscreteProcess(new G4ComptonScattering()); + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect()); } else if (particleName == "e-") { //electron @@ -237,7 +237,7 @@ void ExN06PhysicsList::ConstructEM() } else { if ((particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { - // all others charged particles except geantino + // all others charged particles except geantino pmanager->AddProcess(new G4hMultipleScattering(),-1,1,1); pmanager->AddProcess(new G4hIonisation(), -1,2,2); } @@ -250,14 +250,14 @@ void ExN06PhysicsList::ConstructEM() void ExN06PhysicsList::ConstructOp() { theCerenkovProcess = new G4Cerenkov("Cerenkov"); - theScintillationProcess = new G4Scintillation("Scintillation"); - theAbsorptionProcess = new G4OpAbsorption(); + theScintillationProcess = new G4Scintillation("Scintillation"); + theAbsorptionProcess = new G4OpAbsorption(); theRayleighScatteringProcess = new G4OpRayleigh(); - theBoundaryProcess = new G4OpBoundaryProcess(); + theMieHGScatteringProcess = new G4OpMieHG(); + theBoundaryProcess = new G4OpBoundaryProcess(); // theCerenkovProcess->DumpPhysicsTable(); // theScintillationProcess->DumpPhysicsTable(); -// theAbsorptionProcess->DumpPhysicsTable(); // theRayleighScatteringProcess->DumpPhysicsTable(); SetVerbose(1); @@ -295,6 +295,7 @@ void ExN06PhysicsList::ConstructOp() G4cout << " AddDiscreteProcess to OpticalPhoton " << G4endl; pmanager->AddDiscreteProcess(theAbsorptionProcess); pmanager->AddDiscreteProcess(theRayleighScatteringProcess); + pmanager->AddDiscreteProcess(theMieHGScatteringProcess); pmanager->AddDiscreteProcess(theBoundaryProcess); } } @@ -308,6 +309,7 @@ void ExN06PhysicsList::SetVerbose(G4int verbose) theScintillationProcess->SetVerboseLevel(verbose); theAbsorptionProcess->SetVerboseLevel(verbose); theRayleighScatteringProcess->SetVerboseLevel(verbose); + theMieHGScatteringProcess->SetVerboseLevel(verbose); theBoundaryProcess->SetVerboseLevel(verbose); } diff --git a/examples/novice/N06/src/ExN06StackingAction.cc b/examples/novice/N06/src/ExN06StackingAction.cc index cc48d3d94a..5e557dc804 100644 --- a/examples/novice/N06/src/ExN06StackingAction.cc +++ b/examples/novice/N06/src/ExN06StackingAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ExN06StackingAction.cc,v 1.5 2006/06/29 17:54:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExN06StackingAction.cc,v 1.6 2010/01/13 15:48:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -66,7 +66,7 @@ ExN06StackingAction::ClassifyNewTrack(const G4Track * aTrack) void ExN06StackingAction::NewStage() { - G4cout << "Number of optical photons produces in this event : " + G4cout << "Number of optical photons produced in this event : " << gammaCounter << G4endl; } diff --git a/examples/novice/N06/vis.mac b/examples/novice/N06/vis.mac index 9c2805b00f..c421f9b897 100644 --- a/examples/novice/N06/vis.mac +++ b/examples/novice/N06/vis.mac @@ -1,37 +1,68 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# Macro file for the initialization phase of "exampleN06.cc" -# when running in interactive mode +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -# Sets some default verbose +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -/control/verbose 2 -/run/verbose 2 +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -# create empty scene +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # -/vis/scene/create +# Draw geometry: +/vis/drawVolume # -# 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 +# Specify view angle: +#/vis/viewer/set/viewpointThetaPhi 90. 0. # +# Specify zoom value: /vis/viewer/zoom 1.5 -/vis/viewer/flush # -# for drawing the tracks -# Draw trajectories at end of event, showing trajectory points as -# markers of size 2 pixels -/vis/scene/add/trajectories +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 -# (if too many tracks cause core dump => storeTrajectory 0) +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) # +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate # -# Refresh ready for run -/vis/viewer/refresh +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings # -# Now ready for /run/beamOn. +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/examples/novice/N07/History b/examples/novice/N07/History index 5c98231292..058c3711e7 100644 --- a/examples/novice/N07/History +++ b/examples/novice/N07/History @@ -1,4 +1,4 @@ -$Id: History,v 1.17 2009/10/30 15:29:55 allison Exp $ +$Id: History,v 1.19 2010/06/06 04:10:12 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,14 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +4th June 2010 Joseph Perl (exampleN07-V09-03-01) +- Updated vis usage + +March 17, 2010 Makoto Asai (exampleN07-V09-03-00) +- ExN07PhysicsList + - Change G4MultipleScattering to G4eMultipleScattering, G4MuMultipleScattering + and G4hMultipleScattering. + October 30, 2009 John Allison (exampleN07-V09-02-00) - Introduced G4UIExecutive. diff --git a/examples/novice/N07/exampleN07.out b/examples/novice/N07/exampleN07.out index 5139ed78a1..347e6a3a6d 100644 --- a/examples/novice/N07/exampleN07.out +++ b/examples/novice/N07/exampleN07.out @@ -4,13 +4,13 @@ ############################################ ************************************************************* - Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Geant4 version Name: geant4-09-04-ref-00 (17-December-2010) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -Visualization Manager instantiating... +Visualization Manager instantiating with verbosity "warnings (3)"... Visualization Manager initialising... Registering graphics systems... @@ -24,6 +24,9 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) gMocrenFile (gMocrenFile) + OpenGLStoredX (OGL) + OpenGLImmediateX (OGLI) + OpenGLStoredX (OGLS) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -132,66 +135,6 @@ 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 @@ -229,171 +172,171 @@ Region -- appears in world volume 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 + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV -msc: for mu+ SubType= 10 +muMsc: 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -452,7 +395,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=1.92s Real=2.04s Sys=0.12s + User=4.84s Real=5.33s Sys=0.49s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -460,141 +403,141 @@ Region : Calor-A Production thresholds : gamma 1 mm e- 1 mm e+ 1 mm Energy deposition in an event : - Absorber 3.0861339 GeV Gap 383.89486 MeV + Absorber 7.99434 GeV Gap 857.145 MeV Number of secondaries in an event : - 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 + gamma in Absorber 4186.2 in Gap 241 + e- in Absorber 6378 in Gap 602.8 + e+ in Absorber 397.5 in Gap 13.7 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 101.851 keV in Gap 6.21572 keV + e- in Absorber 5.03982 eV in Gap 10.4284 eV + e+ in Absorber 944.303 eV in Gap 90.8247 keV Total track length of e+/e- in an event : - Absorber 1.2024493 m Gap 91.390038 cm + Absorber 4.70201 m Gap 3.22169 m Total number of steps of e+/e- in an event : - Absorber 4745.9 Gap 759.3 + Absorber 17859.5 Gap 2547.2 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 7933.36 4020.5 5361.9 352.8 6907.58 16030.6 + 1 567.059 261.5 918.1 35.4 647.852 2544.7 + 2 185.105 78 345.9 12.3 192.012 925.4 + 3 78.0547 31.9 157.3 4.9 77.4669 413.1 + 4 40.1657 16.4 87.4 2.5 45.5816 222.5 + 5 16.8829 6.9 38.1 1.3 14.8703 89.4 + 6 12.3977 5.2 27.8 0.9 11.7848 62.2 + 7 4.78646 1.3 13.3 0.5 4.06991 27.6 + 8 5.45504 2 11.5 0.1 9.55665 37.2 + 9 2.20852 1 5.2 0.2 2.63968 15 + 10 1.97517 0.6 3.9 0.2 1.64267 11 + 11 1.11424 0.2 3.6 0 0.71566 11.7 + 12 0.5932 0.2 1.4 0 0.392433 3.7 + 13 0.173102 0 0.7 0 0.118047 1.2 + 14 0.269095 0.1 1.4 0 0.402086 2 + 15 1.0697 0.5 1.2 0.1 4.04066 4.1 + 16 0.248364 0.5 0.5 0 1.18485 1.3 + 17 0.310281 0.3 1 0 0.867655 2.2 + 18 0.194488 0.1 0.3 0 0.806351 1.4 + 19 0.0661325 0 0.3 0 0.114552 0.4 ############################################################ Region : Calor-B Production thresholds : gamma 1 cm e- 1 cm e+ 1 cm Energy deposition in an event : - Absorber 2.6763693 GeV Gap 342.59479 MeV + Absorber 3.03008 GeV Gap 364.082 MeV Number of secondaries in an event : - 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 + gamma in Absorber 663 in Gap 51.7 + e- in Absorber 1212.1 in Gap 113.7 + e+ in Absorber 93.4 in Gap 2.5 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 284.08 keV in Gap 19.2814 keV + e- in Absorber 38.9675 eV in Gap 0.540619 eV + e+ in Absorber 3.28574 keV in Gap 195.737 keV Total track length of e+/e- in an event : - Absorber 76.132448 cm Gap 59.079805 cm + Absorber 1.01752 m Gap 69.4403 cm Total number of steps of e+/e- in an event : - Absorber 2531.8 Gap 385.3 + Absorber 3385.4 Gap 477.5 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 3137.74 635.3 925.6 78.2 1456.4 2788.8 + 1 153.914 50 225.2 10.1 152.176 606.3 + 2 50.5694 14.5 83.3 3.5 52.2441 239.7 + 3 25.7188 7.8 43.7 2.2 24.3046 103.6 + 4 14.1391 4.4 23.4 1.2 14.4277 59.1 + 5 3.99812 0.7 9 0 5.40951 18.8 + 6 2.82944 0.8 5.9 0.3 2.32187 14.8 + 7 0.968078 0.1 3.2 0 1.0787 8.7 + 8 1.20792 0.3 2.5 0.1 0.897309 7.1 + 9 1.76489 0.4 1.6 0.1 1.56915 7.9 + 10 0.485708 0.2 1.1 0.1 0.446298 3.4 + 11 0.150465 0 0.5 0 0.10115 1.2 + 12 0.447903 0.2 0.4 0.1 0.40254 0.8 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 + 16 0.0601538 0 0.1 0 0.0338679 2.3 17 0 0 0 0 0 0 - 18 0.13651435 0 0.2 0 0.080823837 0.4 - 19 0 0 0 0 0 0 + 18 0 0 0 0 0 0 + 19 0.0486954 0 0.1 0 0.0294467 0.1 ############################################################ Region : Calor-C Production thresholds : gamma 10 cm e- 10 cm e+ 10 cm Energy deposition in an event : - Absorber 2.8110928 GeV Gap 309.30507 MeV + Absorber 3.40197 GeV Gap 341.784 MeV Number of secondaries in an event : - 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 + gamma in Absorber 320 in Gap 28.5 + e- in Absorber 593.2 in Gap 52.9 + e+ in Absorber 87.3 in Gap 3.1 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 263.802 keV in Gap 56.9686 keV + e- in Absorber 60.961 eV in Gap 41.5091 eV + e+ in Absorber 29.0514 keV in Gap 322.736 keV Total track length of e+/e- in an event : - Absorber 46.45411 cm Gap 30.275276 cm + Absorber 85.2391 cm Gap 50.6893 cm Total number of steps of e+/e- in an event : - Absorber 1114.3 Gap 181.6 + Absorber 1951.1 Gap 290.7 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 3545.61 307.6 430.8 74.9 1148.57 1566.8 + 1 113.514 25.7 112.3 9.3 116.274 382.8 + 2 43.9919 8.6 51.5 3.8 38.2056 134.9 + 3 17.0343 2.5 23 1 15.9957 60.2 + 4 9.54646 1.7 10.9 0.6 10.478 37.4 + 5 3.85384 0.7 5 0.2 9.57997 16.9 + 6 2.86922 0.6 3.8 0.2 4.47302 20.9 + 7 1.76755 0 2.5 0 2.06395 5 + 8 1.45508 0.3 2.4 0.1 3.02128 7.6 + 9 1.5867 0.3 1.8 0.1 5.48317 3.5 + 10 1.44142 0.3 0.8 0.1 4.26604 2.5 + 11 0.152585 0 0.1 0 0.114153 0.6 + 12 0.581955 0.2 0.8 0.1 0.371299 1.9 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 + 16 0.122627 0 0.3 0 0.229747 0.5 + 17 0.220223 0 0.1 0 0.156386 0.3 18 0 0 0 0 0 0 19 0 0 0 0 0 0 ############################################################ -CPU Time spent by each region0x2a992e9688 +CPU Time spent by each region0x2b6e7c7c90e8 Region All particles : User=0 Real=0 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=0.69 Real=0.82 Sys=0.04 - e+ / e- : User=0.61 Real=0.68 Sys=0.04 + All particles : User=2.5 Real=2.81 Sys=0.19 + e+ / e- : User=1.81 Real=2.1 Sys=0.22 Region - All particles : User=0.47 Real=0.46 Sys=0 - e+ / e- : User=0.33 Real=0.31 Sys=0.02 + All particles : User=0.51 Real=0.6 Sys=0.03 + e+ / e- : User=0.3 Real=0.4 Sys=0.06 Region - All particles : User=0.21 Real=0.22 Sys=0.01 - e+ / e- : User=0.16 Real=0.19 Sys=0.01 + All particles : User=0.25 Real=0.36 Sys=0.02 + e+ / e- : User=0.19 Real=0.25 Sys=0.03 /run/dumpCouples @@ -610,42 +553,42 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : Yes recalculation needed : No Material : Lead 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 + 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 proton 1 mm - Energy thresholds : gamma 6.1998573 keV e- 344.85452 keV e+ 333.45981 keV proton 100 keV + 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 proton 1 cm - Energy thresholds : gamma 283.7918 keV e- 15.366683 MeV e+ 13.986896 MeV proton 1 MeV + 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 proton 1 cm - Energy thresholds : gamma 19.172874 keV e- 2.1742071 MeV e+ 2.0192847 MeV proton 1 MeV + 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 proton 10 cm - Energy thresholds : gamma 2.2184843 MeV e- 430.67421 MeV e+ 408.13231 MeV proton 10 MeV + 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 proton 10 cm - Energy thresholds : gamma 56.567029 keV e- 24.596545 MeV e+ 22.690929 MeV proton 10 MeV + 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 @@ -685,173 +628,173 @@ Region -- appears in world volume /run/beamOn 10 conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 10 TeV in 77 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= 10 TeV + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV -msc: for mu+ SubType= 10 +muMsc: 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -865,42 +808,42 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : Yes recalculation needed : No Material : Lead 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 + Energy thresholds : gamma 47.1807 keV e- 384 keV e+ 371.312 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 proton 200 um - Energy thresholds : gamma 2.8054364 keV e- 124.17271 keV e+ 122.51498 keV proton 20 keV + Energy thresholds : gamma 2.80544 keV e- 124.173 keV e+ 122.515 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 proton 2 mm - Energy thresholds : gamma 120.87938 keV e- 2.6420253 MeV e+ 2.4373346 MeV proton 200 keV + Energy thresholds : gamma 120.879 keV e- 2.64203 MeV e+ 2.43733 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 proton 2 mm - Energy thresholds : gamma 8.7342264 keV e- 567.02713 keV e+ 540.97157 keV proton 200 keV + Energy thresholds : gamma 8.73423 keV e- 567.027 keV e+ 540.972 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 proton 2 cm - Energy thresholds : gamma 419.05594 keV e- 35.119945 MeV e+ 32.617487 MeV proton 2 MeV + Energy thresholds : gamma 419.056 keV e- 35.1199 MeV e+ 32.6175 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 proton 2 cm - Energy thresholds : gamma 27.010336 keV e- 4.2289344 MeV e+ 4.007588 MeV proton 2 MeV + Energy thresholds : gamma 27.0103 keV e- 4.22893 MeV e+ 4.00759 MeV proton 2 MeV Region(s) which use this couple : Calor-C @@ -910,7 +853,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=3.11s Real=3.34s Sys=0.23s + User=2.27s Real=2.55s Sys=0.24s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -918,141 +861,141 @@ Region : Calor-A Production thresholds : gamma 200 um e- 200 um e+ 200 um Energy deposition in an event : - Absorber 2.9743948 GeV Gap 377.49171 MeV + Absorber 2.90187 GeV Gap 361.601 MeV Number of secondaries in an event : - 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 + gamma in Absorber 1230.5 in Gap 64.4 + e- in Absorber 2027.5 in Gap 264.7 + e+ in Absorber 87.1 in Gap 3.6 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 47.1812 keV in Gap 2.81245 keV + e- in Absorber 21.8044 eV in Gap 4.28672 eV + e+ in Absorber 27.7037 keV in Gap 269.545 keV Total track length of e+/e- in an event : - Absorber 1.2180056 m Gap 90.783714 cm + Absorber 1.18952 m Gap 83.6478 cm Total number of steps of e+/e- in an event : - Absorber 5670.4 Gap 942.6 + Absorber 5519 Gap 885.9 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 3022.92 1162.6 1833.8 75.5 1780.61 5157.4 + 1 148.872 84.1 260.7 9.7 157.331 721.8 + 2 49.2267 27.1 100.8 2.6 47.436 260.2 + 3 18.7749 10.6 42.9 1 14.3549 120.4 + 4 9.71776 4.1 19.9 0.8 10.126 56.9 + 5 7.5748 4.6 15.8 0.8 9.91852 46 + 6 3.01981 0.9 7.5 0.2 3.88846 18.7 + 7 1.45137 0.5 4.8 0 0.888373 13.4 + 8 0.651303 0.1 1.8 0 0.373225 3.7 + 9 0.399518 0 1.8 0 0.324039 2.4 + 10 0.363286 0.2 0.7 0.1 0.206447 1.2 + 11 0.112142 0 0.5 0 0.212756 0.8 + 12 0.315899 0.1 0.5 0 0.276372 1 + 13 0.0163842 0 0.2 0 0.00113435 0.3 + 14 0 0 0 0 0 0 + 15 0 0 0 0 0 0 + 16 0.0154045 0 0.2 0 0.0206125 0.2 + 17 0.0167088 0 0.1 0 0.00182087 0.2 + 18 0.0291817 0 0.2 0 0.022468 0.3 + 19 0 0 0 0 0 0 ############################################################ Region : Calor-B Production thresholds : gamma 2 mm e- 2 mm e+ 2 mm Energy deposition in an event : - Absorber 3.2993523 GeV Gap 401.12047 MeV + Absorber 2.62902 GeV Gap 336.286 MeV Number of secondaries in an event : - 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 + gamma in Absorber 720.5 in Gap 41.8 + e- in Absorber 1199.5 in Gap 106.4 + e+ in Absorber 71.9 in Gap 2.3 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 120.917 keV in Gap 8.73567 keV + e- in Absorber 34.7919 eV in Gap 42.6158 eV + e+ in Absorber 30.8068 eV in Gap 232.452 keV Total track length of e+/e- in an event : - Absorber 1.3061111 m Gap 96.535874 cm + Absorber 86.0896 cm Gap 64.5823 cm Total number of steps of e+/e- in an event : - Absorber 4997 Gap 779.2 + Absorber 3323.7 Gap 477.3 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 2777.55 683.4 982.5 62.1 1319.41 2919.3 + 1 116.667 50.4 180.2 7.9 121.8 510.1 + 2 36.5684 13.8 68.7 1.9 37.2362 173.3 + 3 14.1042 5.7 31.5 0.8 11.2629 67.3 + 4 9.97913 5.1 19.1 0.9 7.41736 53.6 + 5 5.87665 2.6 11.2 0.5 5.83852 34.7 + 6 1.86089 0.5 4.4 0 1.6782 21.6 + 7 1.28943 0.5 3.2 0.1 1.001 5.5 + 8 0.547894 0.1 1.5 0 0.417765 7.9 + 9 0.218347 0.2 0.8 0 0.200495 1.5 + 10 0.062162 0 0.4 0 0.0520754 1.7 + 11 0.0971893 0 0.3 0 0.0386659 0.5 + 12 0.24227 0 1 0 0.125287 2.4 + 13 0.0120741 0 0.1 0 0.0201575 0.1 + 14 0 0 0 0 0 0 + 15 0.0806714 0 0.4 0 0.0897871 0.6 + 16 0.125744 0 0.4 0 0.103819 0.7 + 17 0 0 0 0 0 0 + 18 0 0 0 0 0 0 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.0836211 GeV Gap 376.18442 MeV + Absorber 2.42615 GeV Gap 291.963 MeV Number of secondaries in an event : - 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 + gamma in Absorber 334.3 in Gap 20.7 + e- in Absorber 634.2 in Gap 58.3 + e+ in Absorber 53.1 in Gap 1.8 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 372.937 keV in Gap 27.1798 keV + e- in Absorber 336.437 eV in Gap 367.944 eV + e+ in Absorber 10.4142 keV in Gap 323.163 keV Total track length of e+/e- in an event : - Absorber 96.168047 cm Gap 70.494201 cm + Absorber 55.8131 cm Gap 32.6069 cm Total number of steps of e+/e- in an event : - Absorber 3065 Gap 475.2 + Absorber 1736 Gap 247.2 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 2568.84 318.9 464.9 45.9 751.92 1383.5 + 1 87.5643 21.9 121.1 5.2 78.1886 337.5 + 2 35.8289 8.6 55.9 2.3 29.9221 139.2 + 3 14.172 3.5 25.2 1.1 13.2805 66.7 + 4 6.36669 1.7 12.1 0.4 5.76249 29.3 + 5 0.987117 0.2 3.1 0 0.939368 6.5 + 6 1.5458 0.2 3.3 0 1.347 7.3 + 7 0.958508 0 2.2 0 0.889767 4 + 8 0.743183 0 1.8 0 0.478815 4 + 9 0.345647 0 0.8 0 0.516513 1.6 + 10 0.14242 0 0.8 0 0.0878168 1 + 11 0.211608 0 0.5 0 0.130744 0.8 + 12 0.129367 0 0.1 0 0.569514 0.4 + 13 0 0 0 0 0 0 + 14 0.190727 0 0.4 0 0.120905 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 0 0 0 0 0 ############################################################ -CPU Time spent by each region0x2a992e9688 +CPU Time spent by each region0x2b6e7c7c90e8 Region - All particles : User=0 Real=0 Sys=0 + All particles : User=0.01 Real=0 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=0.89 Real=0.95 Sys=0.03 - e+ / e- : User=0.66 Real=0.7 Sys=0.03 + All particles : User=0.76 Real=0.87 Sys=0.1 + e+ / e- : User=0.52 Real=0.72 Sys=0.08 Region - All particles : User=0.79 Real=0.88 Sys=0.06 - e+ / e- : User=0.54 Real=0.67 Sys=0.02 + All particles : User=0.55 Real=0.53 Sys=0.02 + e+ / e- : User=0.41 Real=0.39 Sys=0.02 Region - All particles : User=0.56 Real=0.5 Sys=0.03 - e+ / e- : User=0.34 Real=0.31 Sys=0.03 + All particles : User=0.27 Real=0.31 Sys=0.03 + e+ / e- : User=0.16 Real=0.21 Sys=0.03 /run/dumpCouples @@ -1068,42 +1011,42 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : Yes recalculation needed : No Material : Lead 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 + Energy thresholds : gamma 47.1807 keV e- 384 keV e+ 371.312 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 proton 200 um - Energy thresholds : gamma 2.8054364 keV e- 124.17271 keV e+ 122.51498 keV proton 20 keV + Energy thresholds : gamma 2.80544 keV e- 124.173 keV e+ 122.515 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 proton 2 mm - Energy thresholds : gamma 120.87938 keV e- 2.6420253 MeV e+ 2.4373346 MeV proton 200 keV + Energy thresholds : gamma 120.879 keV e- 2.64203 MeV e+ 2.43733 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 proton 2 mm - Energy thresholds : gamma 8.7342264 keV e- 567.02713 keV e+ 540.97157 keV proton 200 keV + Energy thresholds : gamma 8.73423 keV e- 567.027 keV e+ 540.972 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 proton 2 cm - Energy thresholds : gamma 419.05594 keV e- 35.119945 MeV e+ 32.617487 MeV proton 2 MeV + Energy thresholds : gamma 419.056 keV e- 35.1199 MeV e+ 32.6175 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 proton 2 cm - Energy thresholds : gamma 27.010336 keV e- 4.2289344 MeV e+ 4.007588 MeV proton 2 MeV + Energy thresholds : gamma 27.0103 keV e- 4.22893 MeV e+ 4.00759 MeV proton 2 MeV Region(s) which use this couple : Calor-C @@ -1142,173 +1085,173 @@ Region -- appears in world volume /run/beamOn 10 conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 10 TeV in 77 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= 10 TeV + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV -msc: for mu+ SubType= 10 +muMsc: 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -1322,72 +1265,72 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : No recalculation needed : No Material : Lead 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 + Energy thresholds : gamma 47.1807 keV e- 384 keV e+ 371.312 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 proton 200 um - Energy thresholds : gamma 2.8054364 keV e- 124.17271 keV e+ 122.51498 keV proton 20 keV + Energy thresholds : gamma 2.80544 keV e- 124.173 keV e+ 122.515 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 proton 2 mm - Energy thresholds : gamma 120.87938 keV e- 2.6420253 MeV e+ 2.4373346 MeV proton 200 keV + Energy thresholds : gamma 120.879 keV e- 2.64203 MeV e+ 2.43733 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 proton 2 mm - Energy thresholds : gamma 8.7342264 keV e- 567.02713 keV e+ 540.97157 keV proton 200 keV + Energy thresholds : gamma 8.73423 keV e- 567.027 keV e+ 540.972 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 proton 2 cm - Energy thresholds : gamma 419.05594 keV e- 35.119945 MeV e+ 32.617487 MeV proton 2 MeV + Energy thresholds : gamma 419.056 keV e- 35.1199 MeV e+ 32.6175 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 proton 2 cm - Energy thresholds : gamma 27.010336 keV e- 4.2289344 MeV e+ 4.007588 MeV proton 2 MeV + Energy thresholds : gamma 27.0103 keV e- 4.22893 MeV e+ 4.00759 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 proton 200 um - Energy thresholds : gamma 3.2524236 keV e- 200.09609 keV e+ 196.10251 keV proton 20 keV + Energy thresholds : gamma 3.25242 keV e- 200.096 keV e+ 196.103 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 proton 200 um - Energy thresholds : gamma 1.4816455 keV e- 128.41583 keV e+ 125.85287 keV proton 20 keV + Energy thresholds : gamma 1.48165 keV e- 128.416 keV e+ 125.853 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 proton 2 mm - Energy thresholds : gamma 9.5958453 keV e- 1.0312145 MeV e+ 977.23981 keV proton 200 keV + Energy thresholds : gamma 9.59585 keV e- 1.03121 MeV e+ 977.24 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 proton 2 mm - Energy thresholds : gamma 3.9257685 keV e- 570.85042 keV e+ 548.29137 keV proton 200 keV + Energy thresholds : gamma 3.92577 keV e- 570.85 keV e+ 548.291 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 proton 2 cm - Energy thresholds : gamma 28.121656 keV e- 9.4721636 MeV e+ 8.8565451 MeV proton 2 MeV + Energy thresholds : gamma 28.1217 keV e- 9.47216 MeV e+ 8.85655 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 proton 2 cm - Energy thresholds : gamma 10.401718 keV e- 4.2289344 MeV e+ 3.9540859 MeV proton 2 MeV + Energy thresholds : gamma 10.4017 keV e- 4.22893 MeV e+ 3.95409 MeV proton 2 MeV Region(s) which use this couple : Calor-C @@ -1397,7 +1340,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=0.56s Real=0.6s Sys=0.05s + User=0.51s Real=0.55s Sys=0.04s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -1405,141 +1348,141 @@ Region : Calor-A Production thresholds : gamma 200 um e- 200 um e+ 200 um Energy deposition in an event : - Absorber 626.37919 MeV Gap 269.05989 MeV + Absorber 562.764 MeV Gap 249.618 MeV Number of secondaries in an event : - 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 + gamma in Absorber 51.6 in Gap 12.9 + e- in Absorber 313 in Gap 154.6 + e+ in Absorber 1.6 in Gap 0.5 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 3.2675 keV in Gap 1.5214 keV + e- in Absorber 0.511087 eV in Gap 9.04067 eV + e+ in Absorber 2.70369 keV in Gap 2.62449 MeV Total track length of e+/e- in an event : - Absorber 57.563822 cm Gap 50.958825 cm + Absorber 41.5131 cm Gap 41.1841 cm Total number of steps of e+/e- in an event : - Absorber 865.5 Gap 434.5 + Absorber 667 Gap 370 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 778.451 55.7 288.7 1.6 732.374 756 + 1 12.7197 3.2 37 0 41.9561 64.6 + 2 8.68829 2.4 30.5 0.4 23.3635 63.6 + 3 5.33688 1.4 29.2 0.1 12.4635 43.9 + 4 1.27194 0.4 17.5 0 2.42702 21.6 + 5 1.53335 0.8 16.2 0 4.20043 24.4 + 6 0.981355 0.1 11.3 0 1.88493 16 + 7 1.42535 0.3 8 0 4.0501 11.3 + 8 0.688526 0 8 0 2.28822 9.7 + 9 0.229132 0 5 0 0.299389 6.7 + 10 0.398134 0 3.9 0 0.702303 4.7 + 11 0.202684 0.1 2.7 0 0.394837 3.3 + 12 0.119295 0.1 3.5 0 0.0795372 4.4 + 13 0.139117 0 1.9 0 0.285496 2.2 + 14 0.0789146 0 0.9 0 0.109578 0.9 + 15 0.0200065 0 0.3 0 0.0119398 0.4 + 16 0.0513686 0 1.5 0 0.0276215 1.6 + 17 0.0193637 0 0.6 0 0.00745759 0.8 + 18 0.00653032 0 0.7 0 0.0014144 0.7 + 19 0.0201575 0 0.1 0 0.0449987 0.1 ############################################################ Region : Calor-B Production thresholds : gamma 2 mm e- 2 mm e+ 2 mm Energy deposition in an event : - Absorber 560.0688 MeV Gap 244.71839 MeV + Absorber 526.373 MeV Gap 235.317 MeV Number of secondaries in an event : - 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 + gamma in Absorber 25.1 in Gap 9.2 + e- in Absorber 130.7 in Gap 59.4 + e+ in Absorber 0.8 in Gap 0.1 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 9.64661 keV in Gap 4.31379 keV + e- in Absorber 4.56428 eV in Gap 9.89294 eV + e+ in Absorber 3.614 MeV in Gap 5.187 MeV Total track length of e+/e- in an event : - Absorber 34.09465 cm Gap 33.875865 cm + Absorber 26.4631 cm Gap 29.1235 cm Total number of steps of e+/e- in an event : - Absorber 421.3 Gap 226.2 + Absorber 347.6 Gap 176 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 740.458 30.5 76 0.7 500.438 340.3 + 1 12.5297 2.1 26.9 0.1 37.8449 64.2 + 2 2.29417 0.5 18.7 0 4.88536 24.4 + 3 0.708774 0.1 16.7 0 0.733473 19 + 4 1.55992 0.2 13.5 0 4.35538 22.5 + 5 0.816926 0 7.1 0 1.38482 11 + 6 0.276296 0 6.5 0 0.388093 7.3 + 7 0.339341 0.1 4.4 0 0.512724 5.9 + 8 0.115584 0 3.9 0 0.0558967 6.3 + 9 0.211354 0.1 3.6 0 0.215673 4.4 + 10 0.0636272 0 1.7 0 0.0403707 1.9 + 11 0.976485 0.4 3.7 0.1 2.32679 6.4 + 12 0.524131 0.2 2.4 0 1.24355 3.3 + 13 0.0869917 0 0.6 0 0.128554 0.7 + 14 0.0398843 0 1.1 0 0.020265 1.3 + 15 0.36763 0.1 0.9 0 0.740129 1.5 + 16 0.0172608 0 0.3 0 0.0157477 0.3 + 17 0.0614555 0 0.8 0 0.0720091 1 + 18 0.0421468 0 0.4 0 0.0628974 0.4 + 19 0.00832778 0 0.5 0 0.00346457 0.6 ############################################################ Region : Calor-C Production thresholds : gamma 2 cm e- 2 cm e+ 2 cm Energy deposition in an event : - Absorber 558.17382 MeV Gap 243.51314 MeV + Absorber 626.133 MeV Gap 267.782 MeV Number of secondaries in an event : - 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 + gamma in Absorber 36.7 in Gap 10.3 + e- in Absorber 230.8 in Gap 88 + e+ in Absorber 2.6 in Gap 0.4 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 28.5319 keV in Gap 10.6446 keV + e- in Absorber 0.682898 eV in Gap 39.9605 eV + e+ in Absorber 243.544 keV in Gap 943.66 keV Total track length of e+/e- in an event : - Absorber 21.212944 cm Gap 23.56816 cm + Absorber 34.7694 cm Gap 35.4093 cm Total number of steps of e+/e- in an event : - Absorber 262.8 Gap 120.4 + Absorber 436.3 Gap 170 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 815.228 32.9 52.1 1.6 483.479 182 + 1 42.3553 8.7 45.8 0.7 120.879 101.2 + 2 13.7709 2.4 41.4 0.3 41.9824 65.3 + 3 6.97172 1.1 35.3 0.1 17.8204 58.1 + 4 2.30368 0.3 31 0 4.62226 45.8 + 5 5.30948 0.6 25.8 0.2 16.1662 37.1 + 6 3.52982 0.4 21.2 0 8.77688 31.2 + 7 1.35993 0.3 13.1 0.1 3.49116 18.9 + 8 0.559285 0 13.2 0 0.495438 16.5 + 9 0.599147 0.1 8.7 0 1.02415 11.5 + 10 0.182207 0.1 5.4 0 0.154383 6.2 + 11 0.337926 0 3.8 0 0.542707 6.4 + 12 0.187811 0 5.1 0 0.103401 5.8 + 13 0.196167 0 5.2 0 0.130945 6.4 + 14 0.191055 0 2.7 0 0.252314 3.2 + 15 0.215651 0 2.7 0 0.331449 2.8 + 16 0.0565378 0 1.4 0 0.110215 1.8 + 17 0.078391 0 1.7 0 0.0614912 2.1 + 18 0.0465242 0 1.1 0 0.0537436 1.3 + 19 0.35297 0.1 0.7 0 1.21324 1.2 ############################################################ -CPU Time spent by each region0x2a992e9688 +CPU Time spent by each region0x2b6e7c7c90e8 Region All particles : User=0 Real=0 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=0.19 Real=0.25 Sys=0.04 - e+ / e- : User=0.12 Real=0.15 Sys=0.03 + All particles : User=0.18 Real=0.16 Sys=0.01 + e+ / e- : User=0.08 Real=0.1 Sys=0.02 Region - All particles : User=0.12 Real=0.15 Sys=0 - e+ / e- : User=0.03 Real=0.05 Sys=0 + All particles : User=0.09 Real=0.13 Sys=0.01 + e+ / e- : User=0.04 Real=0.06 Sys=0 Region - All particles : User=0.06 Real=0.06 Sys=0 - e+ / e- : User=0.03 Real=0.02 Sys=0 + All particles : User=0.13 Real=0.13 Sys=0 + e+ / e- : User=0.03 Real=0.07 Sys=0.01 /run/dumpCouples @@ -1555,72 +1498,72 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : No recalculation needed : No Material : Lead 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 + Energy thresholds : gamma 47.1807 keV e- 384 keV e+ 371.312 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 proton 200 um - Energy thresholds : gamma 2.8054364 keV e- 124.17271 keV e+ 122.51498 keV proton 20 keV + Energy thresholds : gamma 2.80544 keV e- 124.173 keV e+ 122.515 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 proton 2 mm - Energy thresholds : gamma 120.87938 keV e- 2.6420253 MeV e+ 2.4373346 MeV proton 200 keV + Energy thresholds : gamma 120.879 keV e- 2.64203 MeV e+ 2.43733 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 proton 2 mm - Energy thresholds : gamma 8.7342264 keV e- 567.02713 keV e+ 540.97157 keV proton 200 keV + Energy thresholds : gamma 8.73423 keV e- 567.027 keV e+ 540.972 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 proton 2 cm - Energy thresholds : gamma 419.05594 keV e- 35.119945 MeV e+ 32.617487 MeV proton 2 MeV + Energy thresholds : gamma 419.056 keV e- 35.1199 MeV e+ 32.6175 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 proton 2 cm - Energy thresholds : gamma 27.010336 keV e- 4.2289344 MeV e+ 4.007588 MeV proton 2 MeV + Energy thresholds : gamma 27.0103 keV e- 4.22893 MeV e+ 4.00759 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 proton 200 um - Energy thresholds : gamma 3.2524236 keV e- 200.09609 keV e+ 196.10251 keV proton 20 keV + Energy thresholds : gamma 3.25242 keV e- 200.096 keV e+ 196.103 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 proton 200 um - Energy thresholds : gamma 1.4816455 keV e- 128.41583 keV e+ 125.85287 keV proton 20 keV + Energy thresholds : gamma 1.48165 keV e- 128.416 keV e+ 125.853 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 proton 2 mm - Energy thresholds : gamma 9.5958453 keV e- 1.0312145 MeV e+ 977.23981 keV proton 200 keV + Energy thresholds : gamma 9.59585 keV e- 1.03121 MeV e+ 977.24 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 proton 2 mm - Energy thresholds : gamma 3.9257685 keV e- 570.85042 keV e+ 548.29137 keV proton 200 keV + Energy thresholds : gamma 3.92577 keV e- 570.85 keV e+ 548.291 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 proton 2 cm - Energy thresholds : gamma 28.121656 keV e- 9.4721636 MeV e+ 8.8565451 MeV proton 2 MeV + Energy thresholds : gamma 28.1217 keV e- 9.47216 MeV e+ 8.85655 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 proton 2 cm - Energy thresholds : gamma 10.401718 keV e- 4.2289344 MeV e+ 3.9540859 MeV proton 2 MeV + Energy thresholds : gamma 10.4017 keV e- 4.22893 MeV e+ 3.95409 MeV proton 2 MeV Region(s) which use this couple : Calor-C @@ -1660,173 +1603,173 @@ Region -- appears in world volume /run/beamOn 10 conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 10 TeV in 77 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= 10 TeV + BetheHeitler : Emin= 0 eV Emax= 10 TeV 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 + Klein-Nishina : Emin= 0 eV Emax= 10 TeV phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 10 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV 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 + RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc93 : 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)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 10 TeV + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + MollerBhabha : Emin= 0 eV 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 ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 10 TeV + eBrem : Emin= 0 eV Emax= 1 GeV AngularGenUrban + eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban 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 + eplus2gg : Emin= 0 eV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV 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.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV + +msc: for kaon+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 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 + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV -msc: for mu+ SubType= 10 +muMsc: 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 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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 + ICRU73QO : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 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 + MuBrem : Emin= 0 eV Emax= 10 TeV 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 : Emin= 0 eV Emax= 10 TeV 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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV + Bragg : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 10 TeV + ICRU73QO : Emin= 0 eV Emax= 297.505 keV + BetheBloch : Emin= 297.505 keV Emax= 10 TeV 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 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== @@ -1840,72 +1783,72 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : No recalculation needed : No Material : Lead 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 + Energy thresholds : gamma 5.995 keV e- 58.1082 keV e+ 56.9484 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 proton 10 um - Energy thresholds : gamma 990 eV e- 14.595052 keV e+ 14.233931 keV proton 1 keV + Energy thresholds : gamma 990 eV e- 14.5951 keV e+ 14.2339 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 proton 100 um - Energy thresholds : gamma 29.476118 keV e- 241.52172 keV e+ 231.97719 keV proton 10 keV + Energy thresholds : gamma 29.4761 keV e- 241.522 keV e+ 231.977 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 proton 100 um - Energy thresholds : gamma 1.9980986 keV e- 82.413535 keV e+ 81.861568 keV proton 10 keV + Energy thresholds : gamma 1.9981 keV e- 82.4135 keV e+ 81.8616 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 proton 1 mm - Energy thresholds : gamma 101.84292 keV e- 1.367494 MeV e+ 1.2786173 MeV proton 100 keV + Energy thresholds : gamma 101.843 keV e- 1.36749 MeV e+ 1.27862 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 proton 1 mm - Energy thresholds : gamma 6.1998573 keV e- 344.85452 keV e+ 333.45981 keV proton 100 keV + Energy thresholds : gamma 6.19986 keV e- 344.855 keV e+ 333.46 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 proton 10 um - Energy thresholds : gamma 990 eV e- 34.172517 keV e+ 33.943645 keV proton 1 keV + Energy thresholds : gamma 990 eV e- 34.1725 keV e+ 33.9436 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 proton 10 um - Energy thresholds : gamma 990 eV e- 14.087402 keV e+ 14.087402 keV proton 1 keV + Energy thresholds : gamma 990 eV e- 14.0874 keV e+ 14.0874 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 proton 100 um - Energy thresholds : gamma 2.3477971 keV e- 131.03099 keV e+ 128.41583 keV proton 10 keV + Energy thresholds : gamma 2.3478 keV e- 131.031 keV e+ 128.416 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 proton 100 um - Energy thresholds : gamma 1.1098121 keV e- 84.658874 keV e+ 83.52866 keV proton 10 keV + Energy thresholds : gamma 1.10981 keV e- 84.6589 keV e+ 83.5287 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 proton 1 mm - Energy thresholds : gamma 6.9036292 keV e- 598.34507 keV e+ 570.85042 keV proton 100 keV + Energy thresholds : gamma 6.90363 keV e- 598.345 keV e+ 570.85 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 proton 1 mm - Energy thresholds : gamma 2.9405585 keV e- 351.8774 keV e+ 342.54485 keV proton 100 keV + Energy thresholds : gamma 2.94056 keV e- 351.877 keV e+ 342.545 keV proton 100 keV Region(s) which use this couple : Calor-C @@ -1915,7 +1858,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=6.94s Real=7.43s Sys=0.49s + User=1.13s Real=1.28s Sys=0.14s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -1923,141 +1866,141 @@ Region : Calor-A Production thresholds : gamma 10 um e- 10 um e+ 10 um Energy deposition in an event : - Absorber 1.696167 GeV Gap 745.56833 MeV + Absorber 530.328 MeV Gap 228.356 MeV Number of secondaries in an event : - 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 + gamma in Absorber 48.9 in Gap 11 + e- in Absorber 927.9 in Gap 868 + e+ in Absorber 0.8 in Gap 0.1 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 1.04812 keV in Gap 1.00115 keV + e- in Absorber 17.176 eV in Gap 91.2587 eV + e+ in Absorber 814.93 keV in Gap 294.656 keV Total track length of e+/e- in an event : - Absorber 3.2853222 m Gap 3.1693383 m + Absorber 36.661 cm Gap 31.5388 cm Total number of steps of e+/e- in an event : - Absorber 8099.1 Gap 6221.2 + Absorber 1417.8 Gap 1226.7 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 730.843 53.2 1632 0.4 597.357 2358.2 + 1 12.4366 3.6 47.5 0.2 38.2506 107.1 + 2 5.38263 1.1 32.2 0.1 17.6075 53.2 + 3 6.0485 1.7 26.2 0.2 20.3508 47.8 + 4 0.952938 0 10 0 1.72625 13.8 + 5 0.854997 0.3 12.3 0 1.53176 17.4 + 6 0.615446 0 8.2 0 1.84346 11.6 + 7 0.623384 0 6.1 0 2.15507 8.1 + 8 0.145283 0 3.2 0 0.149798 3.6 + 9 0.197077 0 4 0 0.174451 6.8 + 10 0.162643 0 3.5 0 0.18005 4 + 11 0.157375 0 3.7 0 0.387238 4.8 + 12 0.0385191 0 1.9 0 0.0153669 2.3 + 13 0.018015 0 1 0 0.00577366 1.1 + 14 0.0428136 0 1 0 0.0311714 1.1 + 15 0.00533799 0 0.3 0 0.00233057 0.3 + 16 0.00665747 0 0.4 0 0.00197746 0.5 + 17 0.0420132 0 0.5 0 0.103028 0.5 + 18 0.103277 0 1.7 0 0.122056 2.1 + 19 0.00714215 0 0.2 0 0.00280974 0.2 ############################################################ Region : Calor-B Production thresholds : gamma 100 um e- 100 um e+ 100 um Energy deposition in an event : - Absorber 3.5305126 GeV Gap 1.4957006 GeV + Absorber 512.058 MeV Gap 223.303 MeV Number of secondaries in an event : - 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 + gamma in Absorber 35.7 in Gap 6.5 + e- in Absorber 283.7 in Gap 163.6 + e+ in Absorber 0.5 in Gap 0.4 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 2.37252 keV in Gap 1.11699 keV + e- in Absorber 26.484 eV in Gap 14.0063 eV + e+ in Absorber 1.01026 MeV in Gap 1.95033 MeV Total track length of e+/e- in an event : - Absorber 7.6969285 m Gap 7.1734739 m + Absorber 30.4436 cm Gap 26.9208 cm Total number of steps of e+/e- in an event : - Absorber 11683 Gap 5311.2 + Absorber 561.4 Gap 324.5 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 724.241 39.9 351.6 0.8 547.837 745.7 + 1 6.12437 1.8 24.3 0.1 16.6393 48.8 + 2 1.61918 0.3 16.5 0 2.98058 22 + 3 0.450624 0 10.3 0 0.55919 12.3 + 4 0.415673 0 9.3 0 0.611971 11.2 + 5 0.420569 0 7.2 0 0.692918 8 + 6 0.701298 0.2 6.3 0 2.266 10.6 + 7 0.185886 0 4.9 0 0.370883 5.9 + 8 0.128939 0 2.7 0 0.136955 2.9 + 9 0.297243 0 2.5 0 0.536941 3.6 + 10 0.0699783 0 1.9 0 0.0463873 2.3 + 11 0.0869163 0 1.7 0 0.0891656 2 + 12 0.113199 0 1.9 0 0.106969 2.3 + 13 0.0355657 0 0.5 0 0.0280929 0.5 + 14 0.0211468 0 0.2 0 0.0165275 0.2 + 15 0.135314 0 0.9 0 0.221964 1 + 16 0.0247833 0 1.7 0 0.00752585 1.9 + 17 0.02839 0 0.9 0 0.0150527 1 + 18 0.0371296 0 1.1 0 0.0349243 1.2 + 19 0.124309 0 0.3 0 0.260616 0.5 ############################################################ Region : Calor-C Production thresholds : gamma 1 mm e- 1 mm e+ 1 mm Energy deposition in an event : - Absorber 618.10052 MeV Gap 275.986 MeV + Absorber 762.348 MeV Gap 330.846 MeV Number of secondaries in an event : - 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 + gamma in Absorber 94.5 in Gap 28.7 + e- in Absorber 517.9 in Gap 221.7 + e+ in Absorber 5 in Gap 1.8 Minimum kinetic energy of generated secondaries : - 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 + gamma in Absorber 6.9586 keV in Gap 2.98513 keV + e- in Absorber 5.949 eV in Gap 5.92081 eV + e+ in Absorber 227.942 keV in Gap 144 keV Total track length of e+/e- in an event : - Absorber 50.74172 cm Gap 52.58595 cm + Absorber 84.7334 cm Gap 81.7254 cm Total number of steps of e+/e- in an event : - Absorber 671.3 Gap 328.1 + Absorber 1127.9 Gap 520.9 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 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 + 0 926.824 85.4 200 4.1 1162.65 727.1 + 1 88.5412 21.6 110.7 1.1 287.852 258.7 + 2 32.7146 7.5 84.9 0.7 101.165 161.7 + 3 13.7449 3 68.6 0.1 34.3786 106.9 + 4 9.17248 1.6 61.5 0.3 23.1181 88.6 + 5 4.49229 0.8 52.7 0.2 10.5404 66.6 + 6 5.884 1.1 46.3 0.1 16.5922 76.9 + 7 2.67645 0.5 30.5 0.1 6.84266 43.7 + 8 2.23638 0.5 21.1 0.1 5.82248 34.1 + 9 0.716128 0.1 17.3 0 0.708737 22.1 + 10 0.428737 0 12.6 0 0.328331 15.1 + 11 0.86249 0.1 7.1 0 1.67101 9 + 12 1.35178 0.2 7.4 0 4.62539 9.9 + 13 1.33922 0.3 4.7 0 3.20513 8.3 + 14 0.148954 0 3.5 0 0.169102 4.5 + 15 0.965108 0.2 3.1 0 2.98186 5.5 + 16 0.591003 0.1 2.8 0 1.09609 3.8 + 17 0.116948 0 1.6 0 0.188888 2.1 + 18 0.0295784 0 1.4 0 0.0105845 1.5 + 19 0.012275 0 0.4 0 0.004445 0.6 ############################################################ -CPU Time spent by each region0x2a992e9688 +CPU Time spent by each region0x2b6e7c7c90e8 Region All particles : User=0 Real=0 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=2 Real=2.04 Sys=0.15 - e+ / e- : User=1.46 Real=1.33 Sys=0.13 + All particles : User=0.47 Real=0.39 Sys=0.01 + e+ / e- : User=0.25 Real=0.23 Sys=0 Region - All particles : User=2.85 Real=3.08 Sys=0.14 - e+ / e- : User=1.62 Real=1.9 Sys=0.06 + All particles : User=0.15 Real=0.14 Sys=0.01 + e+ / e- : User=0.08 Real=0.11 Sys=0.02 Region - All particles : User=0.16 Real=0.2 Sys=0 - e+ / e- : User=0.11 Real=0.09 Sys=0 + All particles : User=0.26 Real=0.26 Sys=0.03 + e+ / e- : User=0.15 Real=0.15 Sys=0.01 /run/dumpCouples @@ -2073,72 +2016,72 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : No recalculation needed : No Material : Lead 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 + Energy thresholds : gamma 5.995 keV e- 58.1082 keV e+ 56.9484 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 proton 10 um - Energy thresholds : gamma 990 eV e- 14.595052 keV e+ 14.233931 keV proton 1 keV + Energy thresholds : gamma 990 eV e- 14.5951 keV e+ 14.2339 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 proton 100 um - Energy thresholds : gamma 29.476118 keV e- 241.52172 keV e+ 231.97719 keV proton 10 keV + Energy thresholds : gamma 29.4761 keV e- 241.522 keV e+ 231.977 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 proton 100 um - Energy thresholds : gamma 1.9980986 keV e- 82.413535 keV e+ 81.861568 keV proton 10 keV + Energy thresholds : gamma 1.9981 keV e- 82.4135 keV e+ 81.8616 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 proton 1 mm - Energy thresholds : gamma 101.84292 keV e- 1.367494 MeV e+ 1.2786173 MeV proton 100 keV + Energy thresholds : gamma 101.843 keV e- 1.36749 MeV e+ 1.27862 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 proton 1 mm - Energy thresholds : gamma 6.1998573 keV e- 344.85452 keV e+ 333.45981 keV proton 100 keV + Energy thresholds : gamma 6.19986 keV e- 344.855 keV e+ 333.46 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 proton 10 um - Energy thresholds : gamma 990 eV e- 34.172517 keV e+ 33.943645 keV proton 1 keV + Energy thresholds : gamma 990 eV e- 34.1725 keV e+ 33.9436 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 proton 10 um - Energy thresholds : gamma 990 eV e- 14.087402 keV e+ 14.087402 keV proton 1 keV + Energy thresholds : gamma 990 eV e- 14.0874 keV e+ 14.0874 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 proton 100 um - Energy thresholds : gamma 2.3477971 keV e- 131.03099 keV e+ 128.41583 keV proton 10 keV + Energy thresholds : gamma 2.3478 keV e- 131.031 keV e+ 128.416 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 proton 100 um - Energy thresholds : gamma 1.1098121 keV e- 84.658874 keV e+ 83.52866 keV proton 10 keV + Energy thresholds : gamma 1.10981 keV e- 84.6589 keV e+ 83.5287 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 proton 1 mm - Energy thresholds : gamma 6.9036292 keV e- 598.34507 keV e+ 570.85042 keV proton 100 keV + Energy thresholds : gamma 6.90363 keV e- 598.345 keV e+ 570.85 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 proton 1 mm - Energy thresholds : gamma 2.9405585 keV e- 351.8774 keV e+ 342.54485 keV proton 100 keV + Energy thresholds : gamma 2.94056 keV e- 351.877 keV e+ 342.545 keV proton 100 keV Region(s) which use this couple : Calor-C diff --git a/examples/novice/N07/src/ExN07PhysicsList.cc b/examples/novice/N07/src/ExN07PhysicsList.cc index 00e913c175..776f6172fb 100644 --- a/examples/novice/N07/src/ExN07PhysicsList.cc +++ b/examples/novice/N07/src/ExN07PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN07PhysicsList.cc,v 1.7 2007/05/04 01:49:28 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExN07PhysicsList.cc,v 1.8 2010/03/18 00:19:12 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #include "ExN07PhysicsList.hh" @@ -119,7 +119,9 @@ void ExN07PhysicsList::ConstructProcess() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -148,7 +150,7 @@ void ExN07PhysicsList::ConstructEM() } else if (particleName == "e-") { //electron - G4MultipleScattering* theeminusMultipleScattering = new G4MultipleScattering(); + G4eMultipleScattering* theeminusMultipleScattering = new G4eMultipleScattering(); theeminusMultipleScattering->SetLateralDisplasmentFlag(displacementFlg); G4VProcess* theeminusIonisation = new G4eIonisation(); G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung(); @@ -170,7 +172,7 @@ void ExN07PhysicsList::ConstructEM() } else if (particleName == "e+") { //positron - G4MultipleScattering* theeplusMultipleScattering = new G4MultipleScattering(); + G4eMultipleScattering* theeplusMultipleScattering = new G4eMultipleScattering(); theeplusMultipleScattering->SetLateralDisplasmentFlag(displacementFlg); G4VProcess* theeplusIonisation = new G4eIonisation(); G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung(); @@ -199,7 +201,7 @@ void ExN07PhysicsList::ConstructEM() } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); + G4MuMultipleScattering* aMultipleScattering = new G4MuMultipleScattering(); aMultipleScattering->SetLateralDisplasmentFlag(displacementFlg); G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung(); G4VProcess* aPairProduction = new G4MuPairProduction(); @@ -228,7 +230,7 @@ void ExN07PhysicsList::ConstructEM() (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { // all others charged particles except geantino - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); + G4hMultipleScattering* aMultipleScattering = new G4hMultipleScattering(); aMultipleScattering->SetLateralDisplasmentFlag(displacementFlg); G4VProcess* anIonisation = new G4hIonisation(); // diff --git a/examples/novice/N07/vis.mac b/examples/novice/N07/vis.mac index 60e67f5a87..40e8861fa2 100644 --- a/examples/novice/N07/vis.mac +++ b/examples/novice/N07/vis.mac @@ -1,27 +1,73 @@ +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 # -# create empty scene +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE # -/vis/scene/create +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile # -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE # -/vis/open OGLIX -# -# draw scene +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors # +# Draw geometry: /vis/drawVolume worlds -/vis/viewer/set/viewpointThetaPhi 105 165 deg +# # Set specific colur for identification /vis/geometry/set/colour Calor-AP_LayerLog ! yellow /vis/geometry/set/colour Calor-BP_LayerLog ! yellow /vis/geometry/set/colour Calor-CP_LayerLog ! yellow -/vis/viewer/zoom 3.2 -/vis/viewer/flush # -# for drawing the tracks -# (if too many tracks cause core dump => storeTrajectory 0) -/tracking/storeTrajectory 1 +# Specify view angle: +/vis/viewer/set/viewpointThetaPhi 105 165 deg +# +# Specify zoom value: +/vis/viewer/zoom 3.2 +# +# Specify style (surface or wireframe): +#/vis/viewer/set/style wireframe +# +# Draw coordinate axes: +#/vis/scene/add/axes 0 0 0 1 m +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +/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 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# +# Draw hits at end of event: +#/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +#/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/set e- blue +# +# To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate -/vis/scene/add/trajectories - +# +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt new file mode 100644 index 0000000000..4a60f81433 --- /dev/null +++ b/source/CMakeLists.txt @@ -0,0 +1,39 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : +# Package: Geant4.src. +# +# Intermediate level CMakeLists.txt - just process subdirectories +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:37:36 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(digits_hits) +add_subdirectory(error_propagation) +add_subdirectory(event) + +# Target G4g3tog4 is optional based on user selection... +if(GEANT4_USE_GEANT3TOGEANT4) + add_subdirectory(g3tog4) +endif() + +add_subdirectory(geometry) +add_subdirectory(global) +add_subdirectory(graphics_reps) +add_subdirectory(intercoms) +add_subdirectory(interfaces) +add_subdirectory(materials) +add_subdirectory(parameterisations) +add_subdirectory(particles) +add_subdirectory(persistency) +add_subdirectory(physics_lists) +add_subdirectory(processes) +add_subdirectory(readout) +add_subdirectory(run) +add_subdirectory(track) +add_subdirectory(tracking) +add_subdirectory(visualization) + diff --git a/source/GNUmakefile b/source/GNUmakefile index 5a3ab1a7ed..96d852cb2c 100644 --- a/source/GNUmakefile +++ b/source/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.95 2009/11/27 10:55:26 gcosmo Exp $ +# $Id: GNUmakefile,v 1.97 2010/09/30 09:05:24 gcosmo Exp $ # ----------------------------------------------------------------- # "gmake" makes default libraries for each subdomain. # "gmake global" makes global libraries for each subdomain. @@ -31,7 +31,7 @@ G4LIBDIR := $(G4LIB)/$(G4SYSTEM) G4TMPDIR := $(G4TMP)/$(G4SYSTEM) unique := $(shell echo $$$$) -.PHONY: all glob global kernel_global kernel liblist libmap dll win32def includes clean_libs clean clean_lists clean_all +.PHONY: all glob global obj kernel_global kernel liblist libmap dll win32def includes clean_libs clean clean_lists clean_all all: banner kernel ifdef G4LIB_USE_G3TOG4 @@ -70,6 +70,15 @@ kernel: @for dir in $(SUBDIR2); do (cd $$dir && $(MAKE)); done;: @for dir in $(SUBDIR3); do (cd $$dir && $(MAKE)); done;: +obj: banner + @$(ECHO) Building all object files first ... + @for dir in $(SUBDIR1); do (cd $$dir && $(MAKE) obj); done;: + @for dir in $(SUBDIR2); do (cd $$dir && $(MAKE) obj); done;: + @for dir in $(SUBDIR3); do (cd $$dir && $(MAKE) obj); done;: +ifdef G4LIB_USE_G3TOG4 + @for dir in $(SUBDIR4); do (cd $$dir && $(MAKE) obj); done;: +endif + libmap: liblist @$(ECHO) "Libmap stage. Searching for GNUmakefiles and sorting ..." @$(FIND) . \ @@ -157,8 +166,8 @@ endif banner: @$(ECHO) "*************************************************************" - @$(ECHO) " Installation Geant4 version $$Name: geant4-09-03 $ " - @$(ECHO) " Copyright (C) 1994-2009 Geant4 Collaboration " + @$(ECHO) " Installation Geant4 version $$Name: geant4-09-04 $ " + @$(ECHO) " Copyright (C) 1994-2010 Geant4 Collaboration " @$(ECHO) "*************************************************************" clean_libs:: diff --git a/source/digits_hits/CMakeLists.txt b/source/digits_hits/CMakeLists.txt new file mode 100644 index 0000000000..b0374a38fa --- /dev/null +++ b/source/digits_hits/CMakeLists.txt @@ -0,0 +1,32 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4digits_hits +# Package: Geant4.src.G4digits_hits +# +# Top level CMakeLists.txt for a Geant4 Global Library +# or collection of sublibraries +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:37:44 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(detector) +add_subdirectory(digits) +add_subdirectory(hits) +add_subdirectory(scorer) +add_subdirectory(utils) + +if(NOT GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GLOBAL_LIBRARY_TARGET(NAME G4digits_hits + COMPONENTS + detector/sources.cmake + digits/sources.cmake + hits/sources.cmake + scorer/sources.cmake + utils/sources.cmake +) +endif() + diff --git a/source/digits_hits/History b/source/digits_hits/History index ab3b2e4e4a..51abd7ba25 100644 --- a/source/digits_hits/History +++ b/source/digits_hits/History @@ -1,4 +1,4 @@ -$Id: History,v 1.41 2009/11/23 18:13:28 asaim Exp $ +$Id: History,v 1.50 2010/11/10 16:38:39 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,36 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Nov 10, 2010, G.Cosmo (digits_hits-V09-03-07) +- Fixed signature in G4VPrimitiveScorer for Set/GetUnit() methods. + +Nov 08, 2010, M.Asai (digits_hits-V09-03-06) +- Including new tests. + +Nov 08, 2010, M.Asai (digits_hits-V09-03-05) +- Moving some inlined methods in G4VScoringMesh to source file to solve + some linking problems. + +Nov 03, 2010, M.Asai (digits_hits-V09-03-04) +- Updated utils/test2 to cover all the scorers. +- Improve some UI commands for defining scorers. + +Oct 27, 2010, G.Cosmo (digits_hits-V09-03-03) +- Restored DLL setup as originally. Withdrawn DLL setup changes in last tag. + +Oct 19, 2010, G.Cosmo (digits_hits-V09-03-02) +- Replaced G4DIGI_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported + symbols. +- Restored CMake scripts as in "geant4-09-03-ref-08" and updated scripts + in utils sub-module. + +Sep 15, 2010, M.Asai (digits_hits-V09-03-01) +- Added test3. + +Aug 12, 2010, M.Asai (digits_hits-V09-03-00) +- Re-implemented G4ScoringCylinder and related classes to improve navigation. +- Added units to appropriate scorers. Such units are included in plots and output. + Nov 23, 2009, M.Asai (digits_hits-V09-02-04) - G4VReadOutGeometry.hh: Add "virtual" to CheckROVolume() and FindROTouchable() methods and diff --git a/source/digits_hits/detector/CMakeLists.txt b/source/digits_hits/detector/CMakeLists.txt new file mode 100644 index 0000000000..84da230db7 --- /dev/null +++ b/source/digits_hits/detector/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4detector +# Package: Geant4.src.G4digits_hits.G4detector +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:37:57 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/digits_hits/detector/GNUmakefile b/source/digits_hits/detector/GNUmakefile index 90fd3730ba..2bd0a3b9ac 100644 --- a/source/digits_hits/detector/GNUmakefile +++ b/source/digits_hits/detector/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2004/06/11 14:10:29 gcosmo Exp $ +# $Id: GNUmakefile,v 1.5 2010/10/27 08:10:13 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for digits+hits library. Makoto Asai, 1/11/96. # -------------------------------------------------------------- diff --git a/source/digits_hits/detector/include/G4VPrimitiveScorer.hh b/source/digits_hits/detector/include/G4VPrimitiveScorer.hh index 4df94e43ad..260c6bd7e4 100644 --- a/source/digits_hits/detector/include/G4VPrimitiveScorer.hh +++ b/source/digits_hits/detector/include/G4VPrimitiveScorer.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VPrimitiveScorer.hh,v 1.3 2007/08/28 07:51:45 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VPrimitiveScorer.hh,v 1.7 2010/11/10 16:38:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4VPrimitiveScorer_h @@ -45,6 +45,8 @@ class G4TouchableHistory; // A concrete class object derived from this base class can be // used either as a sensitive detector or to be registered to // G4MultiFunctionalDetector to define multiple functionalities. +// +// class G4VPrimitiveScorer { @@ -77,12 +79,21 @@ class G4VPrimitiveScorer // These five methods are exactly identical to those in G4VSensitiveDetector. // These methods are invoked by G4SDManager through G4MultiFunctionalDetector. + void SetUnit(const G4String& unit) { unitName = unit; } + const G4String& GetUnit() const { return unitName; } + G4double GetUnitValue() const { return unitValue; } + + protected: + void CheckAndSetUnit(const G4String& unit,const G4String& category); + protected: G4String primitiveName; G4MultiFunctionalDetector* detector; G4VSDFilter* filter; G4int verboseLevel; G4int indexDepth; + G4String unitName; + G4double unitValue; public: // with description // Set/Get methods diff --git a/source/digits_hits/detector/sources.cmake b/source/digits_hits/detector/sources.cmake new file mode 100644 index 0000000000..d034c86e4a --- /dev/null +++ b/source/digits_hits/detector/sources.cmake @@ -0,0 +1,91 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4detector +# Package: Geant4.src.G4digits_hits.G4detector +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:38:06 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/biasing/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4detector + HEADERS + G4CellScoreComposer.hh + G4CellScoreValues.hh + G4CollectionNameVector.hh + G4HCtable.hh + G4MultiFunctionalDetector.hh + G4SDManager.hh + G4SDStructure.hh + G4SDmessenger.hh + G4SensitiveVolumeList.hh + G4SensitiveVolumeList.icc + G4TrackLogger.hh + G4VPrimitiveScorer.hh + G4VReadOutGeometry.hh + G4VSDFilter.hh + G4VSensitiveDetector.hh + SOURCES + G4CellScoreComposer.cc + G4HCtable.cc + G4MultiFunctionalDetector.cc + G4SDManager.cc + G4SDStructure.cc + G4SDmessenger.cc + G4SensitiveVolumeList.cc + G4TrackLogger.cc + G4VPrimitiveScorer.cc + G4VReadOutGeometry.cc + G4VSDFilter.cc + G4VSensitiveDetector.cc + GRANULAR_DEPENDENCIES + G4geombias + G4geometrymng + G4globman + G4hits + G4intercoms + G4materials + G4navigation + G4partman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/digits_hits/detector/src/G4MultiFunctionalDetector.cc b/source/digits_hits/detector/src/G4MultiFunctionalDetector.cc index 32100d751e..d163eed385 100644 --- a/source/digits_hits/detector/src/G4MultiFunctionalDetector.cc +++ b/source/digits_hits/detector/src/G4MultiFunctionalDetector.cc @@ -24,10 +24,14 @@ // ******************************************************************** // // -// $Id: G4MultiFunctionalDetector.cc,v 1.5 2008/03/06 23:31:12 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4MultiFunctionalDetector.cc,v 1.6 2010/07/23 02:07:23 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4MultiFunctionalDetector +// +// 2010-07-23 T.Aso Call PS if the step length or energy deposit is not zero. +// +// #include "G4MultiFunctionalDetector.hh" #include "G4SDManager.hh" #include "G4VPrimitiveScorer.hh" @@ -41,9 +45,13 @@ G4MultiFunctionalDetector::~G4MultiFunctionalDetector() G4bool G4MultiFunctionalDetector::ProcessHits(G4Step* aStep,G4TouchableHistory* aTH) { - G4int nPrim = primitives.size(); - for(G4int iPrim=0;iPrimGetStepLength()>0.) primitives[iPrim]->HitPrimitive(aStep,aTH); } + if(aStep->GetStepLength()>0. || aStep->GetTotalEnergyDeposit()>0.){ + G4int nPrim = primitives.size(); + for(G4int iPrim=0;iPrimHitPrimitive(aStep,aTH); + } + } return true; } diff --git a/source/digits_hits/detector/src/G4VPrimitiveScorer.cc b/source/digits_hits/detector/src/G4VPrimitiveScorer.cc index 868124e2f7..e974f2c622 100644 --- a/source/digits_hits/detector/src/G4VPrimitiveScorer.cc +++ b/source/digits_hits/detector/src/G4VPrimitiveScorer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VPrimitiveScorer.cc,v 1.2 2006/06/29 18:06:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VPrimitiveScorer.cc,v 1.5 2010/07/23 04:34:59 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VPrimitiveScorer #include "G4VPrimitiveScorer.hh" @@ -33,10 +33,11 @@ #include "G4SDManager.hh" #include "G4Step.hh" #include "G4TouchableHistory.hh" - +#include "G4UnitsTable.hh" G4VPrimitiveScorer::G4VPrimitiveScorer(G4String name, G4int depth) - :primitiveName(name),detector(0),filter(0),verboseLevel(0),indexDepth(depth) + :primitiveName(name),detector(0),filter(0),verboseLevel(0),indexDepth(depth), + unitName("NoUnit"),unitValue(1.0) {;} G4VPrimitiveScorer::~G4VPrimitiveScorer() @@ -73,3 +74,13 @@ G4int G4VPrimitiveScorer::GetIndex(G4Step* aStep) return th->GetReplicaNumber(indexDepth); } +void G4VPrimitiveScorer::CheckAndSetUnit(const G4String& unit, + const G4String& category){ + if ( G4UnitDefinition::GetCategory(unit) == category){ + unitName = unit; + unitValue = G4UnitDefinition::GetValueOf(unit); + } else { + G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; + G4Exception(GetName(),"DetPS0000",JustWarning,msg); + } +} diff --git a/source/digits_hits/digits/CMakeLists.txt b/source/digits_hits/digits/CMakeLists.txt new file mode 100644 index 0000000000..d578c4a581 --- /dev/null +++ b/source/digits_hits/digits/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4digits +# Package: Geant4.src.G4digits_hits.G4digits +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:38:15 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/digits_hits/digits/GNUmakefile b/source/digits_hits/digits/GNUmakefile index 30774d3336..4a0e49761b 100644 --- a/source/digits_hits/digits/GNUmakefile +++ b/source/digits_hits/digits/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2004/06/11 14:10:29 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2010/10/27 08:10:13 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for digits+hits library. Makoto Asai, 1/11/96. # -------------------------------------------------------------- diff --git a/source/digits_hits/digits/include/G4DCofThisEvent.hh b/source/digits_hits/digits/include/G4DCofThisEvent.hh index b4ee9d9e94..8d7b2266fc 100644 --- a/source/digits_hits/digits/include/G4DCofThisEvent.hh +++ b/source/digits_hits/digits/include/G4DCofThisEvent.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DCofThisEvent.hh,v 1.5 2006/06/29 18:06:13 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DCofThisEvent.hh,v 1.7 2010/10/27 08:10:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4DCofThisEvent_h diff --git a/source/digits_hits/digits/include/G4TDigiCollection.hh b/source/digits_hits/digits/include/G4TDigiCollection.hh index bcd3068780..0bdc0a86a8 100644 --- a/source/digits_hits/digits/include/G4TDigiCollection.hh +++ b/source/digits_hits/digits/include/G4TDigiCollection.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TDigiCollection.hh,v 1.6 2006/06/29 18:06:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TDigiCollection.hh,v 1.8 2010/10/27 08:10:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4TDigiCollection_h diff --git a/source/digits_hits/digits/sources.cmake b/source/digits_hits/digits/sources.cmake new file mode 100644 index 0000000000..4ebf39107e --- /dev/null +++ b/source/digits_hits/digits/sources.cmake @@ -0,0 +1,49 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4digits +# Package: Geant4.src.G4digits_hits.G4digits +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:38:24 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4digits + HEADERS + G4DCofThisEvent.hh + G4TDigiCollection.hh + G4VDigi.hh + G4VDigiCollection.hh + SOURCES + G4DCofThisEvent.cc + G4TDigiCollection.cc + G4VDigi.cc + G4VDigiCollection.cc + GRANULAR_DEPENDENCIES + G4globman + GLOBAL_DEPENDENCIES + G4global + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/digits_hits/hits/CMakeLists.txt b/source/digits_hits/hits/CMakeLists.txt new file mode 100644 index 0000000000..e6584923ce --- /dev/null +++ b/source/digits_hits/hits/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4hits +# Package: Geant4.src.G4digits_hits.G4hits +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:38:32 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/digits_hits/hits/GNUmakefile b/source/digits_hits/hits/GNUmakefile index 850c13b668..496f72bbdd 100644 --- a/source/digits_hits/hits/GNUmakefile +++ b/source/digits_hits/hits/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2004/06/11 14:10:32 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2010/10/27 08:10:13 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for digits+hits library. Makoto Asai, 1/11/96. # -------------------------------------------------------------- diff --git a/source/digits_hits/hits/include/G4HCofThisEvent.hh b/source/digits_hits/hits/include/G4HCofThisEvent.hh index b8ba7f578e..ae309af0ec 100644 --- a/source/digits_hits/hits/include/G4HCofThisEvent.hh +++ b/source/digits_hits/hits/include/G4HCofThisEvent.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4HCofThisEvent.hh,v 1.5 2006/06/29 18:06:32 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4HCofThisEvent.hh,v 1.7 2010/10/27 08:10:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4HCofThisEvent_h diff --git a/source/digits_hits/hits/include/G4THitsCollection.hh b/source/digits_hits/hits/include/G4THitsCollection.hh index 4de9ad7051..02c0e2b48b 100644 --- a/source/digits_hits/hits/include/G4THitsCollection.hh +++ b/source/digits_hits/hits/include/G4THitsCollection.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4THitsCollection.hh,v 1.5 2006/06/29 18:06:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4THitsCollection.hh,v 1.7 2010/10/27 08:10:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4THitsCollection_h diff --git a/source/digits_hits/hits/sources.cmake b/source/digits_hits/hits/sources.cmake new file mode 100644 index 0000000000..9bbaae2bb7 --- /dev/null +++ b/source/digits_hits/hits/sources.cmake @@ -0,0 +1,50 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4hits +# Package: Geant4.src.G4digits_hits.G4hits +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:38:41 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4hits + HEADERS + G4HCofThisEvent.hh + G4THitsCollection.hh + G4THitsMap.hh + G4VHit.hh + G4VHitsCollection.hh + SOURCES + G4HCofThisEvent.cc + G4THitsCollection.cc + G4VHit.cc + G4VHitsCollection.cc + GRANULAR_DEPENDENCIES + G4globman + GLOBAL_DEPENDENCIES + G4global + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/digits_hits/scorer/CMakeLists.txt b/source/digits_hits/scorer/CMakeLists.txt new file mode 100644 index 0000000000..5f5dad3b93 --- /dev/null +++ b/source/digits_hits/scorer/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4detscorer +# Package: Geant4.src.G4digits_hits.G4detscorer +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:38:50 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/digits_hits/scorer/GNUmakefile b/source/digits_hits/scorer/GNUmakefile index 0f43ee759d..86b315a3b7 100644 --- a/source/digits_hits/scorer/GNUmakefile +++ b/source/digits_hits/scorer/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2007/07/11 01:27:26 asaim Exp $ +# $Id: GNUmakefile,v 1.3 2010/10/27 08:10:13 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for digits+hits library. Makoto Asai, 1/11/96. # -------------------------------------------------------------- diff --git a/source/digits_hits/scorer/include/G4PSCellCharge.hh b/source/digits_hits/scorer/include/G4PSCellCharge.hh index 5323d42337..f709b446a2 100644 --- a/source/digits_hits/scorer/include/G4PSCellCharge.hh +++ b/source/digits_hits/scorer/include/G4PSCellCharge.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCellCharge.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCellCharge.hh,v 1.2 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSCellCharge_h @@ -39,6 +39,7 @@ // The Cell Charge is defined by a sum of deposited charge in the cell. // // Created: 2007-08-20 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -47,6 +48,7 @@ class G4PSCellCharge : public G4VPrimitiveScorer { public: // with description G4PSCellCharge(G4String name, G4int depth=0); + G4PSCellCharge(G4String name, const G4String& unit, G4int depth=0); virtual ~G4PSCellCharge(); protected: // with description @@ -59,6 +61,8 @@ class G4PSCellCharge : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + private: G4int HCID; G4THitsMap* EvtMap; diff --git a/source/digits_hits/scorer/include/G4PSCellCharge3D.hh b/source/digits_hits/scorer/include/G4PSCellCharge3D.hh index 5e60af91ca..338df6d224 100644 --- a/source/digits_hits/scorer/include/G4PSCellCharge3D.hh +++ b/source/digits_hits/scorer/include/G4PSCellCharge3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCellCharge3D.hh,v 1.2 2007/08/28 08:01:55 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCellCharge3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSCellCharge3D_h @@ -38,6 +38,7 @@ // The Cell Charge is defined by a sum of deposited charge in the cell. // // Created: 2007-08-20 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -48,6 +49,9 @@ class G4PSCellCharge3D : public G4PSCellCharge G4PSCellCharge3D(G4String name, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSCellCharge3D(G4String name, const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); virtual ~G4PSCellCharge3D(); diff --git a/source/digits_hits/scorer/include/G4PSCellFlux.hh b/source/digits_hits/scorer/include/G4PSCellFlux.hh index 7669bf6861..e6a009524a 100644 --- a/source/digits_hits/scorer/include/G4PSCellFlux.hh +++ b/source/digits_hits/scorer/include/G4PSCellFlux.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCellFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCellFlux.hh,v 1.3 2010/07/22 23:42:01 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSCellFlux_h @@ -47,6 +47,8 @@ // // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted option // /////////////////////////////////////////////////////////////////////////////// @@ -55,8 +57,12 @@ class G4PSCellFlux : public G4VPrimitiveScorer { public: // with description G4PSCellFlux(G4String name, G4int depth=0); + G4PSCellFlux(G4String name, const G4String& unit, G4int depth=0); virtual ~G4PSCellFlux(); + inline void Weighted(G4bool flg=true) { weighted = flg; } + // Multiply track weight + protected: // with description virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); @@ -67,9 +73,16 @@ class G4PSCellFlux : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + + protected: + virtual void DefineUnitAndCategory(); + private: G4int HCID; G4THitsMap* EvtMap; + G4bool weighted; + }; #endif diff --git a/source/digits_hits/scorer/include/G4PSCellFlux3D.hh b/source/digits_hits/scorer/include/G4PSCellFlux3D.hh index 8a41497649..e37b2902d2 100644 --- a/source/digits_hits/scorer/include/G4PSCellFlux3D.hh +++ b/source/digits_hits/scorer/include/G4PSCellFlux3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCellFlux3D.hh,v 1.2 2007/08/28 08:01:55 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCellFlux3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSCellFlux3D_h @@ -45,6 +45,7 @@ // // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -55,6 +56,9 @@ class G4PSCellFlux3D : public G4PSCellFlux G4PSCellFlux3D(G4String name, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSCellFlux3D(G4String name,const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); virtual ~G4PSCellFlux3D(); protected: // with description diff --git a/source/digits_hits/scorer/include/G4PSCylinderSurfaceCurrent.hh b/source/digits_hits/scorer/include/G4PSCylinderSurfaceCurrent.hh index 10d9ed9f10..529de2197a 100644 --- a/source/digits_hits/scorer/include/G4PSCylinderSurfaceCurrent.hh +++ b/source/digits_hits/scorer/include/G4PSCylinderSurfaceCurrent.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCylinderSurfaceCurrent.hh,v 1.1 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCylinderSurfaceCurrent.hh,v 1.2 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSCylinderSurfaceCurrent_h @@ -52,6 +52,7 @@ // // // Created: 2007-03-21 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -59,7 +60,10 @@ class G4PSCylinderSurfaceCurrent : public G4VPrimitiveScorer { public: // with description - G4PSCylinderSurfaceCurrent(G4String name ,G4int direction, G4int depth=0); + G4PSCylinderSurfaceCurrent(G4String name ,G4int direction, + G4int depth=0); + G4PSCylinderSurfaceCurrent(G4String name ,G4int direction, + const G4String& unit, G4int depth=0); virtual ~G4PSCylinderSurfaceCurrent(); inline void Weighted(G4bool flg=true) { weighted = flg; } @@ -80,6 +84,11 @@ class G4PSCylinderSurfaceCurrent : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + + protected: + virtual void DefineUnitAndCategory(); + private: G4int HCID; G4int fDirection; diff --git a/source/digits_hits/scorer/include/G4PSCylinderSurfaceCurrent3D.hh b/source/digits_hits/scorer/include/G4PSCylinderSurfaceCurrent3D.hh index 988e5a7a6d..f5734371ea 100644 --- a/source/digits_hits/scorer/include/G4PSCylinderSurfaceCurrent3D.hh +++ b/source/digits_hits/scorer/include/G4PSCylinderSurfaceCurrent3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCylinderSurfaceCurrent3D.hh,v 1.2 2007/08/28 08:01:55 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCylinderSurfaceCurrent3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSCylinderSurfaceCurrent3D_h @@ -48,6 +48,7 @@ // // // Created: 2008-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. /////////////////////////////////////////////////////////////////////////////// @@ -57,6 +58,10 @@ class G4PSCylinderSurfaceCurrent3D : public G4PSCylinderSurfaceCurrent G4PSCylinderSurfaceCurrent3D(G4String name, G4int direction, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSCylinderSurfaceCurrent3D(G4String name, G4int direction, + const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); virtual ~G4PSCylinderSurfaceCurrent3D(); protected: // with description diff --git a/source/digits_hits/scorer/include/G4PSCylinderSurfaceFlux.hh b/source/digits_hits/scorer/include/G4PSCylinderSurfaceFlux.hh index bdb62ab80d..d89d5d5ad4 100644 --- a/source/digits_hits/scorer/include/G4PSCylinderSurfaceFlux.hh +++ b/source/digits_hits/scorer/include/G4PSCylinderSurfaceFlux.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCylinderSurfaceFlux.hh,v 1.1 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCylinderSurfaceFlux.hh,v 1.3 2010/07/22 23:42:01 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSCylinderSurfaceFlux_h @@ -52,6 +52,8 @@ // 2 OUT |<- | fFlux_Out // // Created: 2007-03-29 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted and divideByArea options // /////////////////////////////////////////////////////////////////////////////// @@ -59,8 +61,17 @@ class G4PSCylinderSurfaceFlux : public G4VPrimitiveScorer { public: // with description G4PSCylinderSurfaceFlux(G4String name,G4int direction, G4int depth=0); + G4PSCylinderSurfaceFlux(G4String name,G4int direction, + const G4String& unit, G4int depth=0); virtual ~G4PSCylinderSurfaceFlux(); + inline void Weighted(G4bool flg=true) { weighted = flg; } + // Multiply track weight + + inline void DivideByArea(G4bool flg=true) { divideByArea = flg; } + // Divided by Area. + + protected: // with description virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); G4int IsSelectedSurface(G4Step*,G4Tubs*); @@ -72,11 +83,17 @@ class G4PSCylinderSurfaceFlux : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + + protected: + virtual void DefineUnitAndCategory(); + private: G4int HCID; G4int fDirection; G4THitsMap* EvtMap; - + G4bool weighted; + G4bool divideByArea; }; #endif diff --git a/source/digits_hits/scorer/include/G4PSCylinderSurfaceFlux3D.hh b/source/digits_hits/scorer/include/G4PSCylinderSurfaceFlux3D.hh index ca42292a36..183f15f0ba 100644 --- a/source/digits_hits/scorer/include/G4PSCylinderSurfaceFlux3D.hh +++ b/source/digits_hits/scorer/include/G4PSCylinderSurfaceFlux3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCylinderSurfaceFlux3D.hh,v 1.2 2007/08/28 08:01:55 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCylinderSurfaceFlux3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSCylinderSurfaceFlux3D_h @@ -48,6 +48,7 @@ // // // Created: 2008-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. /////////////////////////////////////////////////////////////////////////////// @@ -57,6 +58,10 @@ class G4PSCylinderSurfaceFlux3D : public G4PSCylinderSurfaceFlux G4PSCylinderSurfaceFlux3D(G4String name, G4int direction, G4int ni=1,G4int nj=1, G4int nk=1, G4int di=2, G4int dj=1, G4int dk=0); + G4PSCylinderSurfaceFlux3D(G4String name, G4int direction, + const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int di=2, G4int dj=1, G4int dk=0); virtual ~G4PSCylinderSurfaceFlux3D(); protected: // with description diff --git a/source/digits_hits/scorer/include/G4PSDoseDeposit.hh b/source/digits_hits/scorer/include/G4PSDoseDeposit.hh index 19e00ee3f8..bbbfd02ef2 100644 --- a/source/digits_hits/scorer/include/G4PSDoseDeposit.hh +++ b/source/digits_hits/scorer/include/G4PSDoseDeposit.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSDoseDeposit.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSDoseDeposit.hh,v 1.2 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSDoseDeposit_h @@ -39,6 +39,7 @@ // Primitive scorer class for scoring dose deposit in the geometry volume. // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -46,6 +47,7 @@ class G4PSDoseDeposit : public G4VPrimitiveScorer { public: // with description G4PSDoseDeposit(G4String name, G4int depth=0); + G4PSDoseDeposit(G4String name, const G4String& unit, G4int depth=0); virtual ~G4PSDoseDeposit(); protected: // with description @@ -58,6 +60,8 @@ class G4PSDoseDeposit : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + private: G4int HCID; G4THitsMap* EvtMap; diff --git a/source/digits_hits/scorer/include/G4PSDoseDeposit3D.hh b/source/digits_hits/scorer/include/G4PSDoseDeposit3D.hh index 9bbd426965..caf0cbad3b 100644 --- a/source/digits_hits/scorer/include/G4PSDoseDeposit3D.hh +++ b/source/digits_hits/scorer/include/G4PSDoseDeposit3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSDoseDeposit3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSDoseDeposit3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSDoseDeposit3D_h @@ -38,6 +38,7 @@ // Primitive scorer class for scoring dose deposit in the geometry volume. // // Created: 2008-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -47,6 +48,9 @@ class G4PSDoseDeposit3D : public G4PSDoseDeposit G4PSDoseDeposit3D(G4String name, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSDoseDeposit3D(G4String name, const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); virtual ~G4PSDoseDeposit3D(); diff --git a/source/digits_hits/scorer/include/G4PSEnergyDeposit.hh b/source/digits_hits/scorer/include/G4PSEnergyDeposit.hh index 7f52b1d22a..1f16b23cf2 100644 --- a/source/digits_hits/scorer/include/G4PSEnergyDeposit.hh +++ b/source/digits_hits/scorer/include/G4PSEnergyDeposit.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSEnergyDeposit.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSEnergyDeposit.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSEnergyDeposit_h @@ -39,6 +39,7 @@ // This is a primitive scorer class for scoring energy deposit. // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -46,7 +47,8 @@ class G4PSEnergyDeposit : public G4VPrimitiveScorer { public: // with description - G4PSEnergyDeposit(G4String name, G4int depth=0); + G4PSEnergyDeposit(G4String name, G4int depth=0); // default unit + G4PSEnergyDeposit(G4String name, const G4String& unit, G4int depth=0); virtual ~G4PSEnergyDeposit(); protected: // with description @@ -59,6 +61,8 @@ class G4PSEnergyDeposit : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + private: G4int HCID; G4THitsMap* EvtMap; diff --git a/source/digits_hits/scorer/include/G4PSEnergyDeposit3D.hh b/source/digits_hits/scorer/include/G4PSEnergyDeposit3D.hh index a5fae2e7f8..4250d4c7ad 100644 --- a/source/digits_hits/scorer/include/G4PSEnergyDeposit3D.hh +++ b/source/digits_hits/scorer/include/G4PSEnergyDeposit3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSEnergyDeposit3D.hh,v 1.2 2007/08/28 08:01:55 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSEnergyDeposit3D.hh,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSEnergyDeposit3D_h @@ -37,6 +37,7 @@ // This is a primitive scorer class for 3D scoring energy deposit. // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. /////////////////////////////////////////////////////////////////////////////// @@ -46,6 +47,10 @@ class G4PSEnergyDeposit3D : public G4PSEnergyDeposit G4PSEnergyDeposit3D(G4String name, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSEnergyDeposit3D(G4String name, const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); + virtual ~G4PSEnergyDeposit3D(); protected: // with description diff --git a/source/digits_hits/scorer/include/G4PSFlatSurfaceCurrent.hh b/source/digits_hits/scorer/include/G4PSFlatSurfaceCurrent.hh index 539d46fc43..0795748ce6 100644 --- a/source/digits_hits/scorer/include/G4PSFlatSurfaceCurrent.hh +++ b/source/digits_hits/scorer/include/G4PSFlatSurfaceCurrent.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceCurrent.hh,v 1.2 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSFlatSurfaceCurrent.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSFlatSurfaceCurrent_h @@ -54,6 +54,7 @@ // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. // 17-Nov-2005 T.Aso, Bug fix for area definition. // 31-Mar-2007 T.Aso, Add option for normalizing by the area. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -62,6 +63,8 @@ class G4PSFlatSurfaceCurrent : public G4VPrimitiveScorer public: // with description G4PSFlatSurfaceCurrent(G4String name ,G4int direction, G4int depth=0); + G4PSFlatSurfaceCurrent(G4String name ,G4int direction, + const G4String& unit, G4int depth=0); virtual ~G4PSFlatSurfaceCurrent(); // Scoring options @@ -81,6 +84,11 @@ class G4PSFlatSurfaceCurrent : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + + protected: + virtual void DefineUnitAndCategory(); + private: G4int HCID; G4int fDirection; diff --git a/source/digits_hits/scorer/include/G4PSFlatSurfaceCurrent3D.hh b/source/digits_hits/scorer/include/G4PSFlatSurfaceCurrent3D.hh index 22eb902620..8845f57fe2 100644 --- a/source/digits_hits/scorer/include/G4PSFlatSurfaceCurrent3D.hh +++ b/source/digits_hits/scorer/include/G4PSFlatSurfaceCurrent3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceCurrent3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSFlatSurfaceCurrent3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSFlatSurfaceCurrent3D_h @@ -48,6 +48,7 @@ // // // Created: 2008-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. /////////////////////////////////////////////////////////////////////////////// @@ -57,6 +58,10 @@ class G4PSFlatSurfaceCurrent3D : public G4PSFlatSurfaceCurrent G4PSFlatSurfaceCurrent3D(G4String name, G4int direction, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSFlatSurfaceCurrent3D(G4String name, G4int direction, + const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); virtual ~G4PSFlatSurfaceCurrent3D(); protected: // with description diff --git a/source/digits_hits/scorer/include/G4PSFlatSurfaceFlux.hh b/source/digits_hits/scorer/include/G4PSFlatSurfaceFlux.hh index 3e00045fc2..890c1371a1 100644 --- a/source/digits_hits/scorer/include/G4PSFlatSurfaceFlux.hh +++ b/source/digits_hits/scorer/include/G4PSFlatSurfaceFlux.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSFlatSurfaceFlux.hh,v 1.3 2010/07/22 23:42:01 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSFlatSurfaceFlux_h @@ -56,14 +56,24 @@ // 18-Nov-2005 T.Aso, To use always positive value for anglefactor. // Bug fix. Area definition. // 29-Mar-2007 T.Aso, Bug fix for momentum direction at outgoing flux. +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted and divideByArea options /////////////////////////////////////////////////////////////////////////////// class G4PSFlatSurfaceFlux : public G4VPrimitiveScorer { public: // with description G4PSFlatSurfaceFlux(G4String name,G4int direction, G4int depth=0); + G4PSFlatSurfaceFlux(G4String name,G4int direction, + const G4String& unit, G4int depth=0); virtual ~G4PSFlatSurfaceFlux(); + inline void Weighted(G4bool flg=true) { weighted = flg; } + // Multiply track weight + + inline void DivideByArea(G4bool flg=true) { divideByArea = flg; } + // Divided by Area. + protected: // with description virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); G4int IsSelectedSurface(G4Step*,G4Box*); @@ -75,11 +85,17 @@ class G4PSFlatSurfaceFlux : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + + protected: + virtual void DefineUnitAndCategory(); + private: G4int HCID; G4int fDirection; G4THitsMap* EvtMap; - + G4bool weighted; + G4bool divideByArea; }; #endif diff --git a/source/digits_hits/scorer/include/G4PSFlatSurfaceFlux3D.hh b/source/digits_hits/scorer/include/G4PSFlatSurfaceFlux3D.hh index 8ce8dcd284..20f3bef03e 100644 --- a/source/digits_hits/scorer/include/G4PSFlatSurfaceFlux3D.hh +++ b/source/digits_hits/scorer/include/G4PSFlatSurfaceFlux3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceFlux3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSFlatSurfaceFlux3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSFlatSurfaceFlux3D_h @@ -49,6 +49,7 @@ // 2 OUT |<- | fFlux_Out // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -59,6 +60,10 @@ class G4PSFlatSurfaceFlux3D : public G4PSFlatSurfaceFlux G4PSFlatSurfaceFlux3D(G4String name, G4int direction, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSFlatSurfaceFlux3D(G4String name, G4int direction, + const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); virtual ~G4PSFlatSurfaceFlux3D(); protected: // with description diff --git a/source/digits_hits/scorer/include/G4PSMinKinEAtGeneration.hh b/source/digits_hits/scorer/include/G4PSMinKinEAtGeneration.hh index 0eff22af25..58c868c8e3 100644 --- a/source/digits_hits/scorer/include/G4PSMinKinEAtGeneration.hh +++ b/source/digits_hits/scorer/include/G4PSMinKinEAtGeneration.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSMinKinEAtGeneration.hh,v 1.2 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSMinKinEAtGeneration.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSMinKinEAtGeneration_h @@ -40,6 +40,7 @@ // newly produced particles in the geometry. // // Created: 2005-11-17 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // // /////////////////////////////////////////////////////////////////////////////// @@ -50,6 +51,8 @@ class G4PSMinKinEAtGeneration : public G4VPrimitiveScorer public: // with description G4PSMinKinEAtGeneration(G4String name, G4int depth=0); + G4PSMinKinEAtGeneration(G4String name, const G4String& unit, + G4int depth=0); protected: // with description virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); @@ -66,6 +69,8 @@ class G4PSMinKinEAtGeneration : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + private: G4int HCID; G4THitsMap* EvtMap; diff --git a/source/digits_hits/scorer/include/G4PSMinKinEAtGeneration3D.hh b/source/digits_hits/scorer/include/G4PSMinKinEAtGeneration3D.hh index a07517c6c7..d7f205338f 100644 --- a/source/digits_hits/scorer/include/G4PSMinKinEAtGeneration3D.hh +++ b/source/digits_hits/scorer/include/G4PSMinKinEAtGeneration3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSMinKinEAtGeneration3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSMinKinEAtGeneration3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSMinKinEAtGeneration3D_h @@ -39,6 +39,7 @@ // newly produced particles in the geometry. // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // // /////////////////////////////////////////////////////////////////////////////// @@ -49,6 +50,9 @@ class G4PSMinKinEAtGeneration3D : public G4PSMinKinEAtGeneration G4PSMinKinEAtGeneration3D(G4String name, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSMinKinEAtGeneration3D(G4String name,const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); virtual ~G4PSMinKinEAtGeneration3D(); protected: // with description diff --git a/source/digits_hits/scorer/include/G4PSNofCollision.hh b/source/digits_hits/scorer/include/G4PSNofCollision.hh index 30922f5185..ef044a75f3 100644 --- a/source/digits_hits/scorer/include/G4PSNofCollision.hh +++ b/source/digits_hits/scorer/include/G4PSNofCollision.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSNofCollision.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSNofCollision.hh,v 1.2 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSNofCollision_h @@ -40,6 +40,7 @@ // This is a primitive scorer class for scoring Number of Steps in the cell. // // Created: 2007-2-2 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -68,6 +69,8 @@ class G4PSNofCollision : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + private: G4int HCID; G4THitsMap* EvtMap; diff --git a/source/digits_hits/scorer/include/G4PSNofSecondary.hh b/source/digits_hits/scorer/include/G4PSNofSecondary.hh index 964ee5da6c..bcc6aab3fa 100644 --- a/source/digits_hits/scorer/include/G4PSNofSecondary.hh +++ b/source/digits_hits/scorer/include/G4PSNofSecondary.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSNofSecondary.hh,v 1.2 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSNofSecondary.hh,v 1.4 2010/07/22 23:42:01 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSNofSecondary_h @@ -45,6 +45,7 @@ // specifying a particluar secondary. If the pointer // particleDef is not set, it accepts all secondaies. // But onece user sets it, it accepts only the particle. +// 2010-07-22 Introduce Unit specification. // // /////////////////////////////////////////////////////////////////////////////// @@ -59,6 +60,9 @@ class G4PSNofSecondary : public G4VPrimitiveScorer // Scoring option void SetParticle(const G4String& particleName); + inline void Weighted(G4bool flg=true) { weighted = flg; } + // Multiply track weight + protected: // with description virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); @@ -74,10 +78,13 @@ class G4PSNofSecondary : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + private: G4int HCID; G4THitsMap* EvtMap; G4ParticleDefinition* particleDef; + G4bool weighted; public: diff --git a/source/digits_hits/scorer/include/G4PSNofStep.hh b/source/digits_hits/scorer/include/G4PSNofStep.hh index 854583bdf7..9bac39941a 100644 --- a/source/digits_hits/scorer/include/G4PSNofStep.hh +++ b/source/digits_hits/scorer/include/G4PSNofStep.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSNofStep.hh,v 1.2 2007/08/29 06:36:41 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSNofStep.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSNofStep_h @@ -39,6 +39,7 @@ // This is a primitive scorer class for scoring Number of Steps in the cell. // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -64,6 +65,8 @@ class G4PSNofStep : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + public: void SetBoundaryFlag(G4bool flg=true) {boundaryFlag = flg;} diff --git a/source/digits_hits/scorer/include/G4PSNofStep3D.hh b/source/digits_hits/scorer/include/G4PSNofStep3D.hh index ed0faf60f1..9d69ced178 100644 --- a/source/digits_hits/scorer/include/G4PSNofStep3D.hh +++ b/source/digits_hits/scorer/include/G4PSNofStep3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSNofStep3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSNofStep3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSNofStep3D_h @@ -37,6 +37,7 @@ // This is a primitive scorer class for scoring Number of Steps in the cell. // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// diff --git a/source/digits_hits/scorer/include/G4PSPassageCellCurrent.hh b/source/digits_hits/scorer/include/G4PSPassageCellCurrent.hh index 47f084d5ae..689e9c8524 100644 --- a/source/digits_hits/scorer/include/G4PSPassageCellCurrent.hh +++ b/source/digits_hits/scorer/include/G4PSPassageCellCurrent.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCellCurrent.hh,v 1.1 2007/08/14 21:30:45 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageCellCurrent.hh,v 1.3 2010/07/22 23:42:01 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSPassageCellCurrent_h @@ -41,6 +41,8 @@ // into account. // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted option // /////////////////////////////////////////////////////////////////////////////// @@ -69,6 +71,8 @@ class G4PSPassageCellCurrent : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + private: G4int HCID; G4int fCurrentTrkID; diff --git a/source/digits_hits/scorer/include/G4PSPassageCellCurrent3D.hh b/source/digits_hits/scorer/include/G4PSPassageCellCurrent3D.hh index f7ee35df4c..0e77e8fe25 100644 --- a/source/digits_hits/scorer/include/G4PSPassageCellCurrent3D.hh +++ b/source/digits_hits/scorer/include/G4PSPassageCellCurrent3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCellCurrent3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageCellCurrent3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSPassageCellCurrent3D_h @@ -40,6 +40,7 @@ // into account. // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// diff --git a/source/digits_hits/scorer/include/G4PSPassageCellFlux.hh b/source/digits_hits/scorer/include/G4PSPassageCellFlux.hh index 939cdb02b7..a6f16800e6 100644 --- a/source/digits_hits/scorer/include/G4PSPassageCellFlux.hh +++ b/source/digits_hits/scorer/include/G4PSPassageCellFlux.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCellFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageCellFlux.hh,v 1.3 2010/07/22 23:42:01 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSPassageCellFlux_h @@ -45,6 +45,8 @@ // please use G4PSCellFlux. // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted option // /////////////////////////////////////////////////////////////////////////////// @@ -53,8 +55,13 @@ class G4PSPassageCellFlux : public G4VPrimitiveScorer public: // with description G4PSPassageCellFlux(G4String name, G4int depth=0); + G4PSPassageCellFlux(G4String name, const G4String& unit, G4int depth=0); + virtual ~G4PSPassageCellFlux(); + inline void Weighted(G4bool flg=true) { weighted = flg; } + // Multiply track weight + protected: // with description virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); virtual G4bool IsPassed(G4Step*); @@ -66,11 +73,17 @@ class G4PSPassageCellFlux : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + + protected: + virtual void DefineUnitAndCategory(); + private: G4int HCID; G4int fCurrentTrkID; G4double fCellFlux; G4THitsMap* EvtMap; + G4bool weighted; }; diff --git a/source/digits_hits/scorer/include/G4PSPassageCellFlux3D.hh b/source/digits_hits/scorer/include/G4PSPassageCellFlux3D.hh index 7b011128f4..84e7b52ccd 100644 --- a/source/digits_hits/scorer/include/G4PSPassageCellFlux3D.hh +++ b/source/digits_hits/scorer/include/G4PSPassageCellFlux3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCellFlux3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageCellFlux3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSPassageCellFlux3D_h @@ -43,6 +43,7 @@ // please use G4PSCellFlux. // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. /////////////////////////////////////////////////////////////////////////////// @@ -52,6 +53,9 @@ class G4PSPassageCellFlux3D : public G4PSPassageCellFlux G4PSPassageCellFlux3D(G4String name, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSPassageCellFlux3D(G4String name,const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); virtual ~G4PSPassageCellFlux3D(); protected: // with description diff --git a/source/digits_hits/scorer/include/G4PSPassageTrackLength.hh b/source/digits_hits/scorer/include/G4PSPassageTrackLength.hh index 408cde3ae8..093d197195 100644 --- a/source/digits_hits/scorer/include/G4PSPassageTrackLength.hh +++ b/source/digits_hits/scorer/include/G4PSPassageTrackLength.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageTrackLength.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageTrackLength.hh,v 1.2 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSPassageTrackLength_h @@ -41,6 +41,7 @@ // // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -49,6 +50,8 @@ class G4PSPassageTrackLength : public G4VPrimitiveScorer public: // with description G4PSPassageTrackLength(G4String name, G4int depth=0); + G4PSPassageTrackLength(G4String name, const G4String& unit, + G4int depth=0); virtual ~G4PSPassageTrackLength(); inline void Weighted(G4bool flg=true) { weighted = flg; } @@ -65,6 +68,8 @@ class G4PSPassageTrackLength : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + private: G4int HCID; G4int fCurrentTrkID; diff --git a/source/digits_hits/scorer/include/G4PSPassageTrackLength3D.hh b/source/digits_hits/scorer/include/G4PSPassageTrackLength3D.hh index f098f52985..81501075d2 100644 --- a/source/digits_hits/scorer/include/G4PSPassageTrackLength3D.hh +++ b/source/digits_hits/scorer/include/G4PSPassageTrackLength3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageTrackLength3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageTrackLength3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSPassageTrackLength3D_h @@ -40,6 +40,7 @@ // // // Created: 2008-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -50,6 +51,9 @@ class G4PSPassageTrackLength3D : public G4PSPassageTrackLength G4PSPassageTrackLength3D(G4String name, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSPassageTrackLength3D(G4String name,const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); virtual ~G4PSPassageTrackLength3D(); diff --git a/source/digits_hits/scorer/include/G4PSPopulation.hh b/source/digits_hits/scorer/include/G4PSPopulation.hh index 63ab5a48fd..31fc67fea2 100644 --- a/source/digits_hits/scorer/include/G4PSPopulation.hh +++ b/source/digits_hits/scorer/include/G4PSPopulation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPopulation.hh,v 1.2 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPopulation.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSPopulation_h @@ -42,6 +42,7 @@ // This is a primitive scorer class for scoring population in a cell. // // Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -70,6 +71,8 @@ class G4PSPopulation : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + private: G4int HCID; G4THitsMap* EvtMap; diff --git a/source/digits_hits/scorer/include/G4PSSphereSurfaceCurrent.hh b/source/digits_hits/scorer/include/G4PSSphereSurfaceCurrent.hh index af77446078..4889243d97 100644 --- a/source/digits_hits/scorer/include/G4PSSphereSurfaceCurrent.hh +++ b/source/digits_hits/scorer/include/G4PSSphereSurfaceCurrent.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceCurrent.hh,v 1.2 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSSphereSurfaceCurrent.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSSphereSurfaceCurrent_h @@ -52,7 +52,8 @@ // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. // 17-Nov-2005 Bug fix. square definition. -// 31-Mar-2007 T.Aso, Add option for normalizing by the area. +// 31-Mar-2007 T.Aso, Add option for normalizing by the area. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -61,6 +62,8 @@ class G4PSSphereSurfaceCurrent : public G4VPrimitiveScorer public: // with description G4PSSphereSurfaceCurrent(G4String name, G4int direction, G4int depth=0); + G4PSSphereSurfaceCurrent(G4String name, G4int direction, + const G4String& unit, G4int depth=0); virtual ~G4PSSphereSurfaceCurrent(); inline void Weighted(G4bool flg=true) { weighted = flg; } @@ -79,6 +82,11 @@ class G4PSSphereSurfaceCurrent : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + + protected: + virtual void DefineUnitAndCategory(); + private: G4int HCID; G4int fDirection; diff --git a/source/digits_hits/scorer/include/G4PSSphereSurfaceCurrent3D.hh b/source/digits_hits/scorer/include/G4PSSphereSurfaceCurrent3D.hh index 63ba80d9a8..e386e17788 100644 --- a/source/digits_hits/scorer/include/G4PSSphereSurfaceCurrent3D.hh +++ b/source/digits_hits/scorer/include/G4PSSphereSurfaceCurrent3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceCurrent3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSSphereSurfaceCurrent3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSSphereSurfaceCurrent3D_h @@ -47,6 +47,7 @@ // 2 OUT |<- | fCurrent_Out // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -57,6 +58,11 @@ class G4PSSphereSurfaceCurrent3D : public G4PSSphereSurfaceCurrent G4PSSphereSurfaceCurrent3D(G4String name, G4int direction, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSSphereSurfaceCurrent3D(G4String name, G4int direction, + const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); + virtual ~G4PSSphereSurfaceCurrent3D(); diff --git a/source/digits_hits/scorer/include/G4PSSphereSurfaceFlux.hh b/source/digits_hits/scorer/include/G4PSSphereSurfaceFlux.hh index a7c39a3b19..40995ffe47 100644 --- a/source/digits_hits/scorer/include/G4PSSphereSurfaceFlux.hh +++ b/source/digits_hits/scorer/include/G4PSSphereSurfaceFlux.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSSphereSurfaceFlux.hh,v 1.3 2010/07/22 23:42:01 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSSphereSurfaceFlux_h @@ -52,7 +52,9 @@ // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. // 17-Nov-2005 Bug fix. square definition. -// 29-Mar-2007 T.Aso, Bug fix for momentum direction at outgoing flux. +// 29-Mar-2007 T.Aso, Bug fix for momentum direction for out-going flux. +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted and divideByArea options // /////////////////////////////////////////////////////////////////////////////// @@ -61,8 +63,16 @@ class G4PSSphereSurfaceFlux : public G4VPrimitiveScorer public: // with description G4PSSphereSurfaceFlux(G4String name, G4int direction, G4int depth=0); + G4PSSphereSurfaceFlux(G4String name, G4int direction, + const G4String& unit, G4int depth=0); virtual ~G4PSSphereSurfaceFlux(); + inline void Weighted(G4bool flg=true) { weighted = flg; } + // Multiply track weight + + inline void DivideByArea(G4bool flg=true) { divideByArea = flg; } + // Divided by Area. + protected: // with description virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); G4int IsSelectedSurface(G4Step*,G4Sphere*); @@ -74,11 +84,17 @@ class G4PSSphereSurfaceFlux : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + + protected: + virtual void DefineUnitAndCategory(); + private: G4int HCID; G4int fDirection; G4THitsMap* EvtMap; - + G4bool weighted; + G4bool divideByArea; }; #endif diff --git a/source/digits_hits/scorer/include/G4PSSphereSurfaceFlux3D.hh b/source/digits_hits/scorer/include/G4PSSphereSurfaceFlux3D.hh index b9a73433e8..95fb8ab55e 100644 --- a/source/digits_hits/scorer/include/G4PSSphereSurfaceFlux3D.hh +++ b/source/digits_hits/scorer/include/G4PSSphereSurfaceFlux3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceFlux3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSSphereSurfaceFlux3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSSphereSurfaceFlux3D_h @@ -48,6 +48,7 @@ // 2 OUT |<- | fFlux_Out // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. /////////////////////////////////////////////////////////////////////////////// class G4PSSphereSurfaceFlux3D : public G4PSSphereSurfaceFlux @@ -58,6 +59,11 @@ class G4PSSphereSurfaceFlux3D : public G4PSSphereSurfaceFlux G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSSphereSurfaceFlux3D(G4String name, G4int direction, + const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); + virtual ~G4PSSphereSurfaceFlux3D(); protected: // with description diff --git a/source/digits_hits/scorer/include/G4PSTermination.hh b/source/digits_hits/scorer/include/G4PSTermination.hh index 15b059f939..d9675e2a40 100644 --- a/source/digits_hits/scorer/include/G4PSTermination.hh +++ b/source/digits_hits/scorer/include/G4PSTermination.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSTermination.hh,v 1.2 2007/12/10 16:29:35 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSTermination.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSTermination_h @@ -40,6 +40,7 @@ // This is a primitive scorer class for scoring Number of Steps in the cell. // // Created: 2007-2-2 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -68,6 +69,8 @@ class G4PSTermination : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + private: G4int HCID; G4THitsMap* EvtMap; diff --git a/source/digits_hits/scorer/include/G4PSTrackCounter.hh b/source/digits_hits/scorer/include/G4PSTrackCounter.hh index de82d6aa77..7a0b9d6b75 100644 --- a/source/digits_hits/scorer/include/G4PSTrackCounter.hh +++ b/source/digits_hits/scorer/include/G4PSTrackCounter.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSTrackCounter.hh,v 1.2 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSTrackCounter.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSTrackCounter_h @@ -41,6 +41,7 @@ // This is a primitive scorer class for scoring number of tracks in a cell. // // Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -68,6 +69,8 @@ class G4PSTrackCounter : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + private: G4int HCID; G4int fDirection; diff --git a/source/digits_hits/scorer/include/G4PSTrackCounter3D.hh b/source/digits_hits/scorer/include/G4PSTrackCounter3D.hh index ec8d49f72e..f28302d7b1 100644 --- a/source/digits_hits/scorer/include/G4PSTrackCounter3D.hh +++ b/source/digits_hits/scorer/include/G4PSTrackCounter3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSTrackCounter3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSTrackCounter3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSTrackCounter3D_h @@ -39,6 +39,7 @@ // This is a primitive scorer class for scoring number of tracks in a cell. // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// diff --git a/source/digits_hits/scorer/include/G4PSTrackLength.hh b/source/digits_hits/scorer/include/G4PSTrackLength.hh index 6c2b7b170f..a484b974c3 100644 --- a/source/digits_hits/scorer/include/G4PSTrackLength.hh +++ b/source/digits_hits/scorer/include/G4PSTrackLength.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSTrackLength.hh,v 1.2 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSTrackLength.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSTrackLength_h @@ -42,6 +42,7 @@ // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. // Modified: 2007-02-02 Tsukasa ASO, Add MultiplyKineticEnergy() // and DivideByVelocity(). +// 2010-07-22 Introduce Unit specification. // // /////////////////////////////////////////////////////////////////////////////// @@ -51,15 +52,16 @@ class G4PSTrackLength : public G4VPrimitiveScorer public: // with description G4PSTrackLength(G4String name, G4int depth=0); + G4PSTrackLength(G4String name, const G4String& unit, G4int depth=0); virtual ~G4PSTrackLength(); inline void Weighted(G4bool flg=true) { weighted = flg; } // Multiply track weight - inline void MultiplyKineticEnergy(G4bool flg=true) { multiplyKinE = flg; } + void MultiplyKineticEnergy(G4bool flg=true); // Multiply Kinetic Energy - inline void DivideByVelocity(G4bool flg=true) { divideByVelocity = flg; } + void DivideByVelocity(G4bool flg=true); // Divide by velocity @@ -73,6 +75,11 @@ class G4PSTrackLength : public G4VPrimitiveScorer virtual void DrawAll(); virtual void PrintAll(); + virtual void SetUnit(const G4String& unit); + + protected: + virtual void DefineUnitAndCategory(); + private: G4int HCID; G4THitsMap* EvtMap; diff --git a/source/digits_hits/scorer/include/G4PSTrackLength3D.hh b/source/digits_hits/scorer/include/G4PSTrackLength3D.hh index 6b9693f32e..5126b8b769 100644 --- a/source/digits_hits/scorer/include/G4PSTrackLength3D.hh +++ b/source/digits_hits/scorer/include/G4PSTrackLength3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSTrackLength3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSTrackLength3D.hh,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4PSTrackLength3D_h @@ -39,6 +39,7 @@ // // // Created: 2008-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -49,6 +50,9 @@ class G4PSTrackLength3D : public G4PSTrackLength G4PSTrackLength3D(G4String name, G4int ni=1,G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0); + G4PSTrackLength3D(G4String name, const G4String& unit, + G4int ni=1,G4int nj=1, G4int nk=1, + G4int depi=2, G4int depj=1, G4int depk=0); virtual ~G4PSTrackLength3D(); diff --git a/source/digits_hits/scorer/include/G4SDParticleFilter.hh b/source/digits_hits/scorer/include/G4SDParticleFilter.hh index 38af1d2871..b8ae444ab6 100644 --- a/source/digits_hits/scorer/include/G4SDParticleFilter.hh +++ b/source/digits_hits/scorer/include/G4SDParticleFilter.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDParticleFilter.hh,v 1.2 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SDParticleFilter.hh,v 1.3 2010/07/23 00:59:33 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4SDParticleFilter_h @@ -47,6 +47,7 @@ class G4ParticleDefinition; // The particles are given at constructor or add() method. // // Created: 2005-11-14 Tsukasa ASO. +// 2010-07-22 T.Aso Filter for Ions // /////////////////////////////////////////////////////////////////////////////// @@ -71,10 +72,13 @@ class G4SDParticleFilter : public G4VSDFilter void add(const G4String& particleName); // set method for acceptable particle name. // + void addIon(G4int Z, G4int A); void show(); private: std::vector thePdef; + std::vector theIonZ; + std::vector theIonA; }; diff --git a/source/digits_hits/scorer/sources.cmake b/source/digits_hits/scorer/sources.cmake new file mode 100644 index 0000000000..5d88a9e115 --- /dev/null +++ b/source/digits_hits/scorer/sources.cmake @@ -0,0 +1,163 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4detscorer +# Package: Geant4.src.G4digits_hits.G4detscorer +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:38:59 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4detscorer + HEADERS + G4PSCellCharge.hh + G4PSCellCharge3D.hh + G4PSCellFlux.hh + G4PSCellFlux3D.hh + G4PSCylinderSurfaceCurrent.hh + G4PSCylinderSurfaceCurrent3D.hh + G4PSCylinderSurfaceFlux.hh + G4PSCylinderSurfaceFlux3D.hh + G4PSDirectionFlag.hh + G4PSDoseDeposit.hh + G4PSDoseDeposit3D.hh + G4PSEnergyDeposit.hh + G4PSEnergyDeposit3D.hh + G4PSFlatSurfaceCurrent.hh + G4PSFlatSurfaceCurrent3D.hh + G4PSFlatSurfaceFlux.hh + G4PSFlatSurfaceFlux3D.hh + G4PSMinKinEAtGeneration.hh + G4PSMinKinEAtGeneration3D.hh + G4PSNofCollision.hh + G4PSNofCollision3D.hh + G4PSNofSecondary.hh + G4PSNofSecondary3D.hh + G4PSNofStep.hh + G4PSNofStep3D.hh + G4PSPassageCellCurrent.hh + G4PSPassageCellCurrent3D.hh + G4PSPassageCellFlux.hh + G4PSPassageCellFlux3D.hh + G4PSPassageTrackLength.hh + G4PSPassageTrackLength3D.hh + G4PSPopulation.hh + G4PSPopulation3D.hh + G4PSSphereSurfaceCurrent.hh + G4PSSphereSurfaceCurrent3D.hh + G4PSSphereSurfaceFlux.hh + G4PSSphereSurfaceFlux3D.hh + G4PSTermination.hh + G4PSTermination3D.hh + G4PSTrackCounter.hh + G4PSTrackCounter3D.hh + G4PSTrackLength.hh + G4PSTrackLength3D.hh + G4SDChargedFilter.hh + G4SDKineticEnergyFilter.hh + G4SDNeutralFilter.hh + G4SDParticleFilter.hh + G4SDParticleWithEnergyFilter.hh + SOURCES + G4PSCellCharge.cc + G4PSCellCharge3D.cc + G4PSCellFlux.cc + G4PSCellFlux3D.cc + G4PSCylinderSurfaceCurrent.cc + G4PSCylinderSurfaceCurrent3D.cc + G4PSCylinderSurfaceFlux.cc + G4PSCylinderSurfaceFlux3D.cc + G4PSDoseDeposit.cc + G4PSDoseDeposit3D.cc + G4PSEnergyDeposit.cc + G4PSEnergyDeposit3D.cc + G4PSFlatSurfaceCurrent.cc + G4PSFlatSurfaceCurrent3D.cc + G4PSFlatSurfaceFlux.cc + G4PSFlatSurfaceFlux3D.cc + G4PSMinKinEAtGeneration.cc + G4PSMinKinEAtGeneration3D.cc + G4PSNofCollision.cc + G4PSNofCollision3D.cc + G4PSNofSecondary.cc + G4PSNofSecondary3D.cc + G4PSNofStep.cc + G4PSNofStep3D.cc + G4PSPassageCellCurrent.cc + G4PSPassageCellCurrent3D.cc + G4PSPassageCellFlux.cc + G4PSPassageCellFlux3D.cc + G4PSPassageTrackLength.cc + G4PSPassageTrackLength3D.cc + G4PSPopulation.cc + G4PSPopulation3D.cc + G4PSSphereSurfaceCurrent.cc + G4PSSphereSurfaceCurrent3D.cc + G4PSSphereSurfaceFlux.cc + G4PSSphereSurfaceFlux3D.cc + G4PSTermination.cc + G4PSTermination3D.cc + G4PSTrackCounter.cc + G4PSTrackCounter3D.cc + G4PSTrackLength.cc + G4PSTrackLength3D.cc + G4SDChargedFilter.cc + G4SDKineticEnergyFilter.cc + G4SDNeutralFilter.cc + G4SDParticleFilter.cc + G4SDParticleWithEnergyFilter.cc + GRANULAR_DEPENDENCIES + G4csg + G4detector + G4digits + G4geometrymng + G4globman + G4hits + G4intercoms + G4materials + G4navigation + G4partman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/digits_hits/scorer/src/G4PSCellCharge.cc b/source/digits_hits/scorer/src/G4PSCellCharge.cc index 59aa1600db..32cbebdb1b 100644 --- a/source/digits_hits/scorer/src/G4PSCellCharge.cc +++ b/source/digits_hits/scorer/src/G4PSCellCharge.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PSCellCharge.cc,v 1.1 2007/07/11 01:31:02 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCellCharge.cc,v 1.2 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSCellCharge #include "G4PSCellCharge.hh" @@ -37,12 +37,22 @@ // The Cell Charge is defined by a sum of deposited charge inside the cell. // // Created: 2006-08-20 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// G4PSCellCharge::G4PSCellCharge(G4String name, G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1) -{;} +{ + SetUnit("e+"); +} + +G4PSCellCharge::G4PSCellCharge(G4String name, const G4String& unit, + G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1) +{ + SetUnit(unit); +} G4PSCellCharge::~G4PSCellCharge() {;} @@ -98,8 +108,15 @@ void G4PSCellCharge::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " cell charge : " << *(itr->second) << " [e]" + << " cell charge : " << *(itr->second)/GetUnitValue() + << " [" << GetUnit() << "]" << G4endl; } } +void G4PSCellCharge::SetUnit(const G4String& unit) +{ + CheckAndSetUnit(unit,"Electric charge"); +} + + diff --git a/source/digits_hits/scorer/src/G4PSCellCharge3D.cc b/source/digits_hits/scorer/src/G4PSCellCharge3D.cc index 5130d567eb..5c1be34164 100644 --- a/source/digits_hits/scorer/src/G4PSCellCharge3D.cc +++ b/source/digits_hits/scorer/src/G4PSCellCharge3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCellCharge3D.cc,v 1.3 2007/08/29 06:36:41 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCellCharge3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSCellCharge3D #include "G4PSCellCharge3D.hh" @@ -39,6 +39,7 @@ // // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -53,6 +54,18 @@ G4PSCellCharge3D::G4PSCellCharge3D(G4String name, fNk=nk; } +G4PSCellCharge3D::G4PSCellCharge3D(G4String name,const G4String& unit, + G4int ni, G4int nj, G4int nk, + G4int depi, G4int depj, G4int depk) + :G4PSCellCharge(name), + fDepthi(depi),fDepthj(depj),fDepthk(depk) +{ + fNi=ni; + fNj=nj; + fNk=nk; + SetUnit(unit); +} + G4PSCellCharge3D::~G4PSCellCharge3D() {;} diff --git a/source/digits_hits/scorer/src/G4PSCellFlux.cc b/source/digits_hits/scorer/src/G4PSCellFlux.cc index 66e720390e..430495ba39 100644 --- a/source/digits_hits/scorer/src/G4PSCellFlux.cc +++ b/source/digits_hits/scorer/src/G4PSCellFlux.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCellFlux.cc,v 1.2 2008/12/28 20:32:00 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PSCellFlux.cc,v 1.4 2010/07/22 23:42:01 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSCellFlux #include "G4PSCellFlux.hh" @@ -47,12 +47,24 @@ // // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted option // /////////////////////////////////////////////////////////////////////////////// G4PSCellFlux::G4PSCellFlux(G4String name, G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(true) +{ + DefineUnitAndCategory(); + SetUnit("percm2"); +} + +G4PSCellFlux::G4PSCellFlux(G4String name, const G4String& unit, G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1) -{;} +{ + DefineUnitAndCategory(); + SetUnit(unit); +} G4PSCellFlux::~G4PSCellFlux() {;} @@ -78,7 +90,7 @@ G4bool G4PSCellFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) } G4double CellFlux = stepLength / (solid->GetCubicVolume()); - CellFlux *= aStep->GetPreStepPoint()->GetWeight(); + if (weighted) CellFlux *= aStep->GetPreStepPoint()->GetWeight(); G4int index = GetIndex(aStep); EvtMap->add(index,CellFlux); @@ -111,8 +123,20 @@ void G4PSCellFlux::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " cell flux : " << *(itr->second)*cm*cm << " [cm^-2]" + << " cell flux : " << *(itr->second)/GetUnitValue() + << " [" << GetUnit() << "]" << G4endl; } } +void G4PSCellFlux::SetUnit(const G4String& unit) +{ + CheckAndSetUnit(unit,"Per Unit Surface"); +} + +void G4PSCellFlux::DefineUnitAndCategory(){ + // Per Unit Surface + new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); + new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); + new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); +} diff --git a/source/digits_hits/scorer/src/G4PSCellFlux3D.cc b/source/digits_hits/scorer/src/G4PSCellFlux3D.cc index 40bdae8675..aee71466d1 100644 --- a/source/digits_hits/scorer/src/G4PSCellFlux3D.cc +++ b/source/digits_hits/scorer/src/G4PSCellFlux3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCellFlux3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCellFlux3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSCellFlux3D #include "G4PSCellFlux3D.hh" @@ -43,6 +43,7 @@ // // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -57,6 +58,18 @@ G4PSCellFlux3D::G4PSCellFlux3D(G4String name, fNk=nk; } +G4PSCellFlux3D::G4PSCellFlux3D(G4String name,const G4String& unit, + G4int ni, G4int nj, G4int nk, + G4int depi, G4int depj, G4int depk) + :G4PSCellFlux(name), + fDepthi(depi),fDepthj(depj),fDepthk(depk) +{ + fNi=ni; + fNj=nj; + fNk=nk; + SetUnit(unit); +} + G4PSCellFlux3D::~G4PSCellFlux3D() {;} diff --git a/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent.cc b/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent.cc index 2c153e5b0a..4d78985e11 100644 --- a/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent.cc +++ b/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCylinderSurfaceCurrent.cc,v 1.3 2009/11/14 00:01:13 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PSCylinderSurfaceCurrent.cc,v 1.5 2010/07/23 04:35:38 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSCylinderSurfaceCurrent #include "G4PSCylinderSurfaceCurrent.hh" @@ -48,6 +48,7 @@ // 2 OUT |<- | // // Created: 2007-03-21 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -56,7 +57,21 @@ G4PSCylinderSurfaceCurrent::G4PSCylinderSurfaceCurrent(G4String name, G4int direction, G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), weighted(true),divideByArea(true) -{;} +{ + DefineUnitAndCategory(); + SetUnit("percm2"); +} + +G4PSCylinderSurfaceCurrent::G4PSCylinderSurfaceCurrent(G4String name, + G4int direction, + const G4String& unit, + G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), + weighted(true),divideByArea(true) +{ + DefineUnitAndCategory(); + SetUnit(unit); +} G4PSCylinderSurfaceCurrent::~G4PSCylinderSurfaceCurrent() {;} @@ -79,10 +94,6 @@ G4bool G4PSCylinderSurfaceCurrent::ProcessHits(G4Step* aStep,G4TouchableHistory* 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); @@ -121,9 +132,6 @@ 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 ){ G4double localR2 = localpos1.x()*localpos1.x()+localpos1.y()*localpos1.y(); G4double InsideRadius = tubsSolid->GetInnerRadius(); if (localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance) @@ -138,9 +146,6 @@ 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(); if (localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance) @@ -178,9 +183,35 @@ void G4PSCylinderSurfaceCurrent::PrintAll() for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first << " current : " ; - if ( divideByArea ) G4cout << *(itr->second)*cm*cm << " [/cm2]"; - else G4cout << *(itr->second) << " [track]"; + if ( divideByArea ) { + G4cout << *(itr->second)/GetUnitValue() + << " ["<second) << " [tracks]"; + } G4cout << G4endl; } } +void G4PSCylinderSurfaceCurrent::SetUnit(const G4String& unit) +{ + if ( divideByArea ) { + CheckAndSetUnit(unit,"Per Unit Surface"); + } else { + if (unit == "" ){ + unitName = unit; + unitValue = 1.0; + }else{ + G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; + G4Exception(GetName(),"DetScorer0000",JustWarning,msg); + } + } +} + +void G4PSCylinderSurfaceCurrent::DefineUnitAndCategory(){ + // Per Unit Surface + new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); + new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); + new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); +} + diff --git a/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent3D.cc b/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent3D.cc index f03ef44117..39948434ce 100644 --- a/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent3D.cc +++ b/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCylinderSurfaceCurrent3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCylinderSurfaceCurrent3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSCylinderSurfaceCurrent3D #include "G4PSCylinderSurfaceCurrent3D.hh" @@ -46,6 +46,7 @@ // // // Created: 2008-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. /////////////////////////////////////////////////////////////////////////////// G4PSCylinderSurfaceCurrent3D::G4PSCylinderSurfaceCurrent3D(G4String name, @@ -60,6 +61,20 @@ G4PSCylinderSurfaceCurrent3D::G4PSCylinderSurfaceCurrent3D(G4String name, fNk=nk; } +G4PSCylinderSurfaceCurrent3D::G4PSCylinderSurfaceCurrent3D(G4String name, + G4int direction, + const G4String& unit, + G4int ni, G4int nj, G4int nk, + G4int di, G4int dj, G4int dk) + :G4PSCylinderSurfaceCurrent(name,direction), + fDepthi(di),fDepthj(dj),fDepthk(dk) +{ + fNi=ni; + fNj=nj; + fNk=nk; + SetUnit(unit); +} + G4PSCylinderSurfaceCurrent3D::~G4PSCylinderSurfaceCurrent3D() {;} diff --git a/source/digits_hits/scorer/src/G4PSCylinderSurfaceFlux.cc b/source/digits_hits/scorer/src/G4PSCylinderSurfaceFlux.cc index a6df0393ef..7ad1f8a8e4 100644 --- a/source/digits_hits/scorer/src/G4PSCylinderSurfaceFlux.cc +++ b/source/digits_hits/scorer/src/G4PSCylinderSurfaceFlux.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCylinderSurfaceFlux.cc,v 1.4 2009/11/14 00:01:13 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PSCylinderSurfaceFlux.cc,v 1.8 2010/07/23 04:35:38 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // G4PSCylinderSurfaceFlux #include "G4PSCylinderSurfaceFlux.hh" @@ -49,12 +49,28 @@ // 2 OUT |<- | // // Created: 2007-03-29 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted and divideByArea options /////////////////////////////////////////////////////////////////////////////// G4PSCylinderSurfaceFlux::G4PSCylinderSurfaceFlux(G4String name, G4int direction, G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), + weighted(true),divideByArea(true) +{ + DefineUnitAndCategory(); + SetUnit("percm2"); +} + +G4PSCylinderSurfaceFlux::G4PSCylinderSurfaceFlux(G4String name, + G4int direction, + const G4String& unit, + G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction) -{;} +{ + DefineUnitAndCategory(); + SetUnit(unit); +} G4PSCylinderSurfaceFlux::~G4PSCylinderSurfaceFlux() {;} @@ -79,10 +95,6 @@ G4bool G4PSCylinderSurfaceFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) 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); @@ -115,10 +127,12 @@ G4bool G4PSCylinderSurfaceFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) G4double square = 2.*tubsSolid->GetZHalfLength() *tubsSolid->GetInnerRadius()* tubsSolid->GetDeltaPhiAngle()/radian; - G4double flux = preStep->GetWeight(); + G4double flux = 1.0; + if ( weighted ) flux *=preStep->GetWeight(); // Current (Particle Weight) - flux = flux/angleFactor/square; + flux = flux/angleFactor; + if ( divideByArea ) flux /= square; //Flux with angle. G4int index = GetIndex(aStep); EvtMap->add(index,flux); @@ -200,8 +214,32 @@ void G4PSCylinderSurfaceFlux::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " flux : " << *(itr->second)*cm*cm << " [cm^-2]" + << " flux : " << *(itr->second)/GetUnitValue() + << " ["<GetPreStepPoint()->GetTouchable())) ->GetReplicaNumber(indexDepth); + if(idx<0) + { + G4Exception("G4PSDoseDeposit","G4PSDoseDeposit::ProcessHits",JustWarning, + "Incorrect replica number"); + G4cerr << " --- GetReplicaNumber : " << idx << G4endl; + } solid = physParam->ComputeSolid(idx, physVol); solid->ComputeDimensions(physParam,idx,physVol); } @@ -70,7 +86,7 @@ G4bool G4PSDoseDeposit::ProcessHits(G4Step* aStep,G4TouchableHistory*) solid = physVol->GetLogicalVolume()->GetSolid(); } - G4double density = aStep->GetTrack()->GetMaterial()->GetDensity(); + G4double density = aStep->GetTrack()->GetStep()->GetPreStepPoint()->GetMaterial()->GetDensity(); G4double dose = edep / ( density * (solid->GetCubicVolume()) ); dose *= aStep->GetPreStepPoint()->GetWeight(); G4int index = GetIndex(aStep); @@ -105,8 +121,17 @@ void G4PSDoseDeposit::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " dose deposit: " << G4BestUnit(*(itr->second),"Dose") + << " dose deposit: " + << *(itr->second)/GetUnitValue() + << " ["<GetReplicaNumber(fDepthj); G4int k = touchable->GetReplicaNumber(fDepthk); +if(i<0) +{ + G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, + "GetReplicaNumber is negative"); + G4cerr << "touchable->GetReplicaNumber(fDepthi) returns " << i << G4endl + << "for volume: " << touchable->GetVolume(fDepthi)->GetName() + << G4endl; +} +if(j<0) +{ + G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, + "GetReplicaNumber is negative"); + G4cerr << "touchable->GetReplicaNumber(fDepthj) returns " << j << G4endl + << "for volume: " << touchable->GetVolume(fDepthj)->GetName() + << G4endl; +} +if(k<0) +{ + G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, + "GetReplicaNumber is negative"); + G4cerr << "touchable->GetReplicaNumber(fDepthk) returns " << k << G4endl + << "for volume: " << touchable->GetVolume(fDepthk)->GetName() + << G4endl; +} + return i*fNj*fNk+j*fNk+k; } diff --git a/source/digits_hits/scorer/src/G4PSEnergyDeposit.cc b/source/digits_hits/scorer/src/G4PSEnergyDeposit.cc index 35d23da3a3..117f54650c 100644 --- a/source/digits_hits/scorer/src/G4PSEnergyDeposit.cc +++ b/source/digits_hits/scorer/src/G4PSEnergyDeposit.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSEnergyDeposit.cc,v 1.1 2007/07/11 01:31:02 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSEnergyDeposit.cc,v 1.3 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSEnergyDeposit #include "G4PSEnergyDeposit.hh" @@ -35,12 +35,22 @@ // This is a primitive scorer class for scoring energy deposit. // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// G4PSEnergyDeposit::G4PSEnergyDeposit(G4String name, G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1) +{ + SetUnit("MeV"); +} + +G4PSEnergyDeposit::G4PSEnergyDeposit(G4String name, const G4String& unit, + G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1) -{;} +{ + SetUnit(unit); +} G4PSEnergyDeposit::~G4PSEnergyDeposit() {;} @@ -82,7 +92,14 @@ void G4PSEnergyDeposit::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " energy deposit: " << G4BestUnit(*(itr->second),"Energy") + << " energy deposit: " + << *(itr->second)/GetUnitValue() + << " [" << GetUnit()<<"]" << G4endl; } } + +void G4PSEnergyDeposit::SetUnit(const G4String& unit) +{ + CheckAndSetUnit(unit,"Energy"); +} diff --git a/source/digits_hits/scorer/src/G4PSEnergyDeposit3D.cc b/source/digits_hits/scorer/src/G4PSEnergyDeposit3D.cc index 3e4d44f494..7590e8b5d7 100644 --- a/source/digits_hits/scorer/src/G4PSEnergyDeposit3D.cc +++ b/source/digits_hits/scorer/src/G4PSEnergyDeposit3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSEnergyDeposit3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSEnergyDeposit3D.cc,v 1.6 2010/09/16 14:58:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSEnergyDeposit3D #include "G4PSEnergyDeposit3D.hh" @@ -48,6 +48,18 @@ G4PSEnergyDeposit3D::G4PSEnergyDeposit3D(G4String name, fNk=nk; } +G4PSEnergyDeposit3D::G4PSEnergyDeposit3D(G4String name, const G4String& unit, + G4int ni, G4int nj, G4int nk, + G4int depi, G4int depj, G4int depk) + :G4PSEnergyDeposit(name), + fDepthi(depi),fDepthj(depj),fDepthk(depk) +{ + fNi=ni; + fNj=nj; + fNk=nk; + SetUnit(unit); +} + G4PSEnergyDeposit3D::~G4PSEnergyDeposit3D() {;} @@ -58,5 +70,31 @@ G4int G4PSEnergyDeposit3D::GetIndex(G4Step* aStep) G4int j = touchable->GetReplicaNumber(fDepthj); G4int k = touchable->GetReplicaNumber(fDepthk); +if(i<0) +{ + G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, + "GetReplicaNumber is negative"); + G4cerr << "touchable->GetReplicaNumber(fDepthi) returns " << i << G4endl + << "for volume: " << touchable->GetVolume(fDepthi)->GetName() + << G4endl; +} +if(j<0) +{ + G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, + "GetReplicaNumber is negative"); + G4cerr << "touchable->GetReplicaNumber(fDepthj) returns " << j << G4endl + << "for volume: " << touchable->GetVolume(fDepthj)->GetName() + << G4endl; +} +if(k<0) +{ + G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, + "GetReplicaNumber is negative"); + G4cerr << "touchable->GetReplicaNumber(fDepthk) returns " << k << G4endl + << "for volume: " << touchable->GetVolume(fDepthk)->GetName() + << G4endl; + +} + return i*fNj*fNk+j*fNk+k; } diff --git a/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent.cc b/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent.cc index d092c69679..277b993007 100644 --- a/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent.cc +++ b/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceCurrent.cc,v 1.3 2008/12/29 00:17:14 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PSFlatSurfaceCurrent.cc,v 1.5 2010/07/23 04:35:38 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSFlatSurfaceCurrent #include "G4PSFlatSurfaceCurrent.hh" @@ -50,6 +50,7 @@ // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. // 17-Nov-2005 T.Aso, Bug fix for area definition. // 31-Mar-2007 T.Aso, Add option for normalizing by the area. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -58,7 +59,21 @@ G4PSFlatSurfaceCurrent::G4PSFlatSurfaceCurrent(G4String name, G4int direction, G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), weighted(true),divideByArea(true) -{;} +{ + DefineUnitAndCategory(); + SetUnit("percm2"); +} + +G4PSFlatSurfaceCurrent::G4PSFlatSurfaceCurrent(G4String name, + G4int direction, + const G4String& unit, + G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), + weighted(true),divideByArea(true) +{ + DefineUnitAndCategory(); + SetUnit(unit); +} G4PSFlatSurfaceCurrent::~G4PSFlatSurfaceCurrent() {;} @@ -81,10 +96,6 @@ G4bool G4PSFlatSurfaceCurrent::ProcessHits(G4Step* aStep,G4TouchableHistory*) 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); @@ -159,9 +170,35 @@ void G4PSFlatSurfaceCurrent::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first << " current : " ; - if ( divideByArea ) G4cout << *(itr->second)*cm*cm << " [/cm2] "; - else G4cout << *(itr->second) << " [track]"; + if ( divideByArea ) { + G4cout << *(itr->second)/GetUnitValue() + << " ["<second)/GetUnitValue() << " [tracks]"; + } G4cout << G4endl; } } +void G4PSFlatSurfaceCurrent::SetUnit(const G4String& unit) +{ + if ( divideByArea ) { + CheckAndSetUnit(unit,"Per Unit Surface"); + } else { + if (unit == "" ){ + unitName = unit; + unitValue = 1.0; + }else{ + G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; + G4Exception(GetName(),"DetScorer0000",JustWarning,msg); + } + } +} + +void G4PSFlatSurfaceCurrent::DefineUnitAndCategory(){ + // Per Unit Surface + new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); + new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); + new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); +} + diff --git a/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent3D.cc b/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent3D.cc index ba7840910b..14e48d9dd8 100644 --- a/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent3D.cc +++ b/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceCurrent3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSFlatSurfaceCurrent3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSFlatSurfaceCurrent3D #include "G4PSFlatSurfaceCurrent3D.hh" @@ -46,6 +46,7 @@ // // // Created: 2008-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. /////////////////////////////////////////////////////////////////////////////// @@ -61,6 +62,20 @@ G4PSFlatSurfaceCurrent3D::G4PSFlatSurfaceCurrent3D(G4String name, G4int directio fNk=nk; } +G4PSFlatSurfaceCurrent3D::G4PSFlatSurfaceCurrent3D(G4String name, G4int direction, + const G4String& unit, + G4int ni, G4int nj, G4int nk, + G4int di, G4int dj, G4int dk) + + :G4PSFlatSurfaceCurrent(name,direction), + fDepthi(di),fDepthj(dj),fDepthk(dk) +{ + fNi=ni; + fNj=nj; + fNk=nk; + SetUnit(unit); +} + G4PSFlatSurfaceCurrent3D::~G4PSFlatSurfaceCurrent3D() {;} diff --git a/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux.cc b/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux.cc index 7a9f5b2f8a..e8694c5806 100644 --- a/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux.cc +++ b/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceFlux.cc,v 1.2 2008/12/29 00:17:14 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PSFlatSurfaceFlux.cc,v 1.6 2010/07/23 04:35:38 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSFlatSurfaceFlux #include "G4PSFlatSurfaceFlux.hh" @@ -52,12 +52,28 @@ // // 18-Nov-2005 T.Aso, To use always positive value for anglefactor. // 29-Mar-2007 T.Aso, Bug fix for momentum direction at outgoing flux. +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted and divideByAre options /////////////////////////////////////////////////////////////////////////////// G4PSFlatSurfaceFlux::G4PSFlatSurfaceFlux(G4String name, G4int direction, G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), + weighted(true),divideByArea(true) +{ + DefineUnitAndCategory(); + SetUnit("percm2"); +} + +G4PSFlatSurfaceFlux::G4PSFlatSurfaceFlux(G4String name, + G4int direction, + const G4String& unit, + G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction) -{;} +{ + DefineUnitAndCategory(); + SetUnit(unit); +} G4PSFlatSurfaceFlux::~G4PSFlatSurfaceFlux() {;} @@ -80,10 +96,6 @@ G4bool G4PSFlatSurfaceFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) 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); @@ -106,11 +118,13 @@ G4bool G4PSFlatSurfaceFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) // G4double angleFactor = localdir.z(); if ( angleFactor < 0 ) angleFactor *= -1.; - G4double flux = preStep->GetWeight(); // Current (Particle Weight) + G4double flux = 1.0; + if ( weighted ) flux *=preStep->GetWeight(); // Current (Particle Weight) // G4double square = 4.*boxSolid->GetXHalfLength()*boxSolid->GetYHalfLength(); // - flux = flux/angleFactor/square; // Flux with angle. + flux = flux/angleFactor; // Flux with angle. + if ( divideByArea ) flux /= square; // G4int index = GetIndex(aStep); EvtMap->add(index,flux); @@ -179,8 +193,32 @@ void G4PSFlatSurfaceFlux::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " flux : " << *(itr->second)*cm*cm << " [cm^-2]" + << " flux : " << *(itr->second)/GetUnitValue() + << " [" << GetUnit() <<"]" << G4endl; } } +void G4PSFlatSurfaceFlux::SetUnit(const G4String& unit) +{ + if ( divideByArea ) { + CheckAndSetUnit(unit,"Per Unit Surface"); + } else { + if (unit == "" ){ + unitName = unit; + unitValue = 1.0; + }else{ + G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; + G4Exception(GetName(),"DetScorer0000",JustWarning,msg); + } + } +} + +void G4PSFlatSurfaceFlux::DefineUnitAndCategory(){ + // Per Unit Surface + new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); + new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); + new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); +} + + diff --git a/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux3D.cc b/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux3D.cc index 9aaa36b3cb..3c9241f79d 100644 --- a/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux3D.cc +++ b/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceFlux3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSFlatSurfaceFlux3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSFlatSurfaceFlux3D #include "G4PSFlatSurfaceFlux3D.hh" @@ -47,6 +47,7 @@ // 2 OUT |<- | fFlux_Out // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -61,6 +62,19 @@ G4PSFlatSurfaceFlux3D::G4PSFlatSurfaceFlux3D(G4String name, G4int direction, fNk=nk; } +G4PSFlatSurfaceFlux3D::G4PSFlatSurfaceFlux3D(G4String name, G4int direction, + const G4String& unit, + G4int ni, G4int nj, G4int nk, + G4int di, G4int dj, G4int dk) + :G4PSFlatSurfaceFlux(name,direction), + fDepthi(di),fDepthj(dj),fDepthk(dk) +{ + fNi=ni; + fNj=nj; + fNk=nk; + SetUnit(unit); +} + G4PSFlatSurfaceFlux3D::~G4PSFlatSurfaceFlux3D() {;} diff --git a/source/digits_hits/scorer/src/G4PSMinKinEAtGeneration.cc b/source/digits_hits/scorer/src/G4PSMinKinEAtGeneration.cc index a70127410c..e9e950ab93 100644 --- a/source/digits_hits/scorer/src/G4PSMinKinEAtGeneration.cc +++ b/source/digits_hits/scorer/src/G4PSMinKinEAtGeneration.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSMinKinEAtGeneration.cc,v 1.1 2007/07/11 01:31:02 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSMinKinEAtGeneration.cc,v 1.2 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSMinKinEAtGeneration #include "G4PSMinKinEAtGeneration.hh" @@ -36,11 +36,22 @@ // newly produced particles in the geometry. // // Created: 2005-11-17 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // G4PSMinKinEAtGeneration::G4PSMinKinEAtGeneration(G4String name, G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1) -{;} +{ + SetUnit("MeV"); +} + +G4PSMinKinEAtGeneration::G4PSMinKinEAtGeneration(G4String name, + const G4String& unit, + G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1) +{ + SetUnit(unit); +} G4PSMinKinEAtGeneration::~G4PSMinKinEAtGeneration() {;} @@ -109,8 +120,15 @@ void G4PSMinKinEAtGeneration::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " num of step: " << G4BestUnit(*(itr->second),"Energy") + << " num of step: " << *(itr->second)/GetUnitValue() + << " ["<::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " collisions: " << *(itr->second) + << " collisions: " << *(itr->second)/GetUnitValue() + << " [collision] " << G4endl; } } + +void G4PSNofCollision::SetUnit(const G4String& unit) +{ + if (unit == "" ){ + unitName = unit; + unitValue = 1.0; + }else{ + G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; + G4Exception(GetName(),"DetScorer0000",JustWarning,msg); + } +} + + diff --git a/source/digits_hits/scorer/src/G4PSNofSecondary.cc b/source/digits_hits/scorer/src/G4PSNofSecondary.cc index 3713615acd..2ce68eaf9a 100644 --- a/source/digits_hits/scorer/src/G4PSNofSecondary.cc +++ b/source/digits_hits/scorer/src/G4PSNofSecondary.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSNofSecondary.cc,v 1.2 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSNofSecondary.cc,v 1.5 2010/07/23 04:35:38 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSNofSecondary #include "G4PSNofSecondary.hh" @@ -38,7 +38,8 @@ // G4PSNofSecondary::G4PSNofSecondary(G4String name, G4int depth) - :G4VPrimitiveScorer(name,depth),HCID(-1),particleDef(0) + :G4VPrimitiveScorer(name,depth),HCID(-1),particleDef(0), + weighted(true) {;} G4PSNofSecondary::~G4PSNofSecondary() @@ -56,7 +57,8 @@ G4bool G4PSNofSecondary::ProcessHits(G4Step* aStep,G4TouchableHistory*) // //- This is a newly produced secondary particle. G4int index = GetIndex(aStep); - G4double weight = aStep->GetPreStepPoint()->GetWeight(); + G4double weight = 1.0; + if ( weighted ) weight *= aStep->GetPreStepPoint()->GetWeight(); EvtMap->add(index,weight); return TRUE; } @@ -98,8 +100,19 @@ void G4PSNofSecondary::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " num of step: " << *(itr->second) + << " num of step: " << *(itr->second)/GetUnitValue() << G4endl; } } +void G4PSNofSecondary::SetUnit(const G4String& unit) +{ + if (unit == "" ){ + unitName = unit; + unitValue = 1.0; + }else{ + G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; + G4Exception(GetName(),"DetScorer0000",JustWarning,msg); + } +} + diff --git a/source/digits_hits/scorer/src/G4PSNofStep.cc b/source/digits_hits/scorer/src/G4PSNofStep.cc index d2f34235c0..acf2cf258a 100644 --- a/source/digits_hits/scorer/src/G4PSNofStep.cc +++ b/source/digits_hits/scorer/src/G4PSNofStep.cc @@ -24,22 +24,26 @@ // ******************************************************************** // // -// $Id: G4PSNofStep.cc,v 1.2 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSNofStep.cc,v 1.4 2010/07/23 04:35:38 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSNofStep #include "G4PSNofStep.hh" +#include "G4UnitsTable.hh" // (Description) // This is a primitive scorer class for scoring number of steps in the // Cell. // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // G4PSNofStep::G4PSNofStep(G4String name, G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),boundaryFlag(false) -{;} +{ + SetUnit(""); +} G4PSNofStep::~G4PSNofStep() {;} @@ -81,7 +85,21 @@ void G4PSNofStep::PrintAll() for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first << " num of step: " << *(itr->second) + << " [steps] " << G4endl; } } +void G4PSNofStep::SetUnit(const G4String& unit) +{ + if (unit == "" ){ + unitName = unit; + unitValue = 1.0; + }else{ + G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; + G4Exception(GetName(),"DetScorer0000",JustWarning,msg); + } + +} + + diff --git a/source/digits_hits/scorer/src/G4PSNofStep3D.cc b/source/digits_hits/scorer/src/G4PSNofStep3D.cc index d4d627d2fa..32bc772914 100644 --- a/source/digits_hits/scorer/src/G4PSNofStep3D.cc +++ b/source/digits_hits/scorer/src/G4PSNofStep3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSNofStep3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSNofStep3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSNofStep3D #include "G4PSNofStep3D.hh" diff --git a/source/digits_hits/scorer/src/G4PSPassageCellCurrent.cc b/source/digits_hits/scorer/src/G4PSPassageCellCurrent.cc index 77932333ae..32700f9c5a 100644 --- a/source/digits_hits/scorer/src/G4PSPassageCellCurrent.cc +++ b/source/digits_hits/scorer/src/G4PSPassageCellCurrent.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCellCurrent.cc,v 1.1 2007/08/14 21:30:46 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageCellCurrent.cc,v 1.4 2010/07/23 04:35:38 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSPassageCellCurrent #include "G4PSPassageCellCurrent.hh" @@ -40,13 +40,17 @@ // into account. // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted option // /////////////////////////////////////////////////////////////////////////////// G4PSPassageCellCurrent::G4PSPassageCellCurrent(G4String name, G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),fCurrentTrkID(-1),fCurrent(0), weighted(true) -{;} +{ + SetUnit(""); +} G4PSPassageCellCurrent::~G4PSPassageCellCurrent() {;} @@ -117,7 +121,20 @@ void G4PSPassageCellCurrent::PrintAll() for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first << " cell current : " << *(itr->second) + << " [tracks] " << G4endl; } } +void G4PSPassageCellCurrent::SetUnit(const G4String& unit) +{ + if (unit == "" ){ + unitName = unit; + unitValue = 1.0; + }else{ + G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; + G4Exception(GetName(),"DetScorer0000",JustWarning,msg); + } +} + + diff --git a/source/digits_hits/scorer/src/G4PSPassageCellCurrent3D.cc b/source/digits_hits/scorer/src/G4PSPassageCellCurrent3D.cc index d6007f8c9c..df14d89036 100644 --- a/source/digits_hits/scorer/src/G4PSPassageCellCurrent3D.cc +++ b/source/digits_hits/scorer/src/G4PSPassageCellCurrent3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCellCurrent3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageCellCurrent3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSPassageCellCurrent3D #include "G4PSPassageCellCurrent3D.hh" @@ -37,6 +37,7 @@ // into account. // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// diff --git a/source/digits_hits/scorer/src/G4PSPassageCellFlux.cc b/source/digits_hits/scorer/src/G4PSPassageCellFlux.cc index 470d6c86d7..ccf7916638 100644 --- a/source/digits_hits/scorer/src/G4PSPassageCellFlux.cc +++ b/source/digits_hits/scorer/src/G4PSPassageCellFlux.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCellFlux.cc,v 1.2 2008/12/28 20:32:00 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PSPassageCellFlux.cc,v 1.4 2010/07/22 23:42:01 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSPassageCellFlux #include "G4PSPassageCellFlux.hh" @@ -46,12 +46,26 @@ // please use G4PSCellFlux. // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted option // /////////////////////////////////////////////////////////////////////////////// G4PSPassageCellFlux::G4PSPassageCellFlux(G4String name, G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),fCurrentTrkID(-1),fCellFlux(0), + weighted(true) +{ + DefineUnitAndCategory(); + SetUnit("percm2"); +} + +G4PSPassageCellFlux::G4PSPassageCellFlux(G4String name, const G4String& unit, + G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),fCurrentTrkID(-1),fCellFlux(0) -{;} +{ + DefineUnitAndCategory(); + SetUnit(unit); +} G4PSPassageCellFlux::~G4PSPassageCellFlux() {;} @@ -91,7 +105,7 @@ G4bool G4PSPassageCellFlux::IsPassed(G4Step* aStep){ G4int trkid = aStep->GetTrack()->GetTrackID(); G4double trklength = aStep->GetStepLength(); - trklength *= aStep->GetPreStepPoint()->GetWeight(); + if ( weighted ) trklength *= aStep->GetPreStepPoint()->GetWeight(); if ( IsEnter &&IsExit ){ // Passed at one step fCellFlux = trklength; // Track length is absolutely given. @@ -142,8 +156,22 @@ void G4PSPassageCellFlux::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " cell flux : " << *(itr->second)*cm*cm << " [cm^-2]" + << " cell flux : " << *(itr->second)/GetUnitValue() + << " [" << GetUnit() << G4endl; } } +void G4PSPassageCellFlux::SetUnit(const G4String& unit) +{ + CheckAndSetUnit(unit,"Per Unit Surface"); +} + +void G4PSPassageCellFlux::DefineUnitAndCategory(){ + // Per Unit Surface + new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); + new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); + new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); +} + + diff --git a/source/digits_hits/scorer/src/G4PSPassageCellFlux3D.cc b/source/digits_hits/scorer/src/G4PSPassageCellFlux3D.cc index 83f5deb06d..4a3b51fefb 100644 --- a/source/digits_hits/scorer/src/G4PSPassageCellFlux3D.cc +++ b/source/digits_hits/scorer/src/G4PSPassageCellFlux3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCellFlux3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageCellFlux3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSPassageCellFlux3D #include "G4PSPassageCellFlux3D.hh" @@ -54,6 +54,18 @@ G4PSPassageCellFlux3D::G4PSPassageCellFlux3D(G4String name, fNk=nk; } +G4PSPassageCellFlux3D::G4PSPassageCellFlux3D(G4String name,const G4String& unit, + G4int ni, G4int nj, G4int nk, + G4int di, G4int dj, G4int dk) + :G4PSPassageCellFlux(name), + fDepthi(di),fDepthj(dj),fDepthk(dk) +{ + fNi=ni; + fNj=nj; + fNk=nk; + SetUnit(unit); +} + G4PSPassageCellFlux3D::~G4PSPassageCellFlux3D() {;} diff --git a/source/digits_hits/scorer/src/G4PSPassageTrackLength.cc b/source/digits_hits/scorer/src/G4PSPassageTrackLength.cc index 6546c2782b..4abe9e8e95 100644 --- a/source/digits_hits/scorer/src/G4PSPassageTrackLength.cc +++ b/source/digits_hits/scorer/src/G4PSPassageTrackLength.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageTrackLength.cc,v 1.1 2007/07/11 01:31:03 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageTrackLength.cc,v 1.2 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSPassageTrackLength #include "G4PSPassageTrackLength.hh" @@ -40,13 +40,26 @@ // // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// G4PSPassageTrackLength::G4PSPassageTrackLength(G4String name, G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),fCurrentTrkID(-1),fTrackLength(0.), weighted(false) -{;} +{ + SetUnit("mm"); +} + +G4PSPassageTrackLength::G4PSPassageTrackLength(G4String name, + const G4String& unit, + G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),fCurrentTrkID(-1),fTrackLength(0.), + weighted(false) +{ + SetUnit(unit); +} + G4PSPassageTrackLength::~G4PSPassageTrackLength() {;} @@ -119,8 +132,14 @@ void G4PSPassageTrackLength::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " track length : " << G4BestUnit(*(itr->second),"Length") + << " track length : " + << *(itr->second)/GetUnitValue() + << " [" << GetUnit()<< "]" << G4endl; } } +void G4PSPassageTrackLength::SetUnit(const G4String& unit) +{ + CheckAndSetUnit(unit,"Length"); +} diff --git a/source/digits_hits/scorer/src/G4PSPassageTrackLength3D.cc b/source/digits_hits/scorer/src/G4PSPassageTrackLength3D.cc index 2c6ca04dac..e8418e8dee 100644 --- a/source/digits_hits/scorer/src/G4PSPassageTrackLength3D.cc +++ b/source/digits_hits/scorer/src/G4PSPassageTrackLength3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageTrackLength3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageTrackLength3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSPassageTrackLength3D #include "G4PSPassageTrackLength3D.hh" @@ -37,6 +37,7 @@ // // // Created: 2008-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -51,6 +52,18 @@ G4PSPassageTrackLength3D::G4PSPassageTrackLength3D(G4String name, fNk=nk; } +G4PSPassageTrackLength3D::G4PSPassageTrackLength3D(G4String name,const G4String& unit, + G4int ni, G4int nj, G4int nk, + G4int depi, G4int depj, G4int depk) + :G4PSPassageTrackLength(name), + fDepthi(depi),fDepthj(depj),fDepthk(depk) +{ + fNi=ni; + fNj=nj; + fNk=nk; + SetUnit(unit); +} + G4PSPassageTrackLength3D::~G4PSPassageTrackLength3D() {;} diff --git a/source/digits_hits/scorer/src/G4PSPopulation.cc b/source/digits_hits/scorer/src/G4PSPopulation.cc index eb491cab8d..8e92eeeef7 100644 --- a/source/digits_hits/scorer/src/G4PSPopulation.cc +++ b/source/digits_hits/scorer/src/G4PSPopulation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPopulation.cc,v 1.1 2007/07/11 01:31:03 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPopulation.cc,v 1.3 2010/07/23 04:35:38 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSPopulation #include "G4PSPopulation.hh" @@ -36,12 +36,15 @@ // This is a primitive scorer class for scoring population in a cell. // // Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// G4PSPopulation::G4PSPopulation(G4String name, G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false) -{;} +{ + SetUnit(""); +} G4PSPopulation::~G4PSPopulation() {;} @@ -88,8 +91,20 @@ void G4PSPopulation::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " population: " << *(itr->second) + << " population: " << *(itr->second)/GetUnitValue() + << " [tracks]" << G4endl; } } +void G4PSPopulation::SetUnit(const G4String& unit) +{ + if (unit == "" ){ + unitName = unit; + unitValue = 1.0; + }else{ + G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; + G4Exception(GetName(),"DetScorer0000",JustWarning,msg); + } + +} diff --git a/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent.cc b/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent.cc index d4e3a6f3c2..5c6afbf11a 100644 --- a/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent.cc +++ b/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceCurrent.cc,v 1.4 2009/11/14 00:01:13 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PSSphereSurfaceCurrent.cc,v 1.6 2010/07/23 04:35:38 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSSphereSurfaceCurrent #include "G4PSSphereSurfaceCurrent.hh" @@ -48,6 +48,7 @@ // 2 OUT |<- | // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -55,7 +56,21 @@ G4PSSphereSurfaceCurrent::G4PSSphereSurfaceCurrent(G4String name, G4int direction, G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), weighted(true),divideByArea(true) -{;} +{ + DefineUnitAndCategory(); + SetUnit("percm2"); +} + +G4PSSphereSurfaceCurrent::G4PSSphereSurfaceCurrent(G4String name, + G4int direction, + const G4String& unit, + G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), + weighted(true),divideByArea(true) +{ + DefineUnitAndCategory(); + SetUnit(unit); +} G4PSSphereSurfaceCurrent::~G4PSSphereSurfaceCurrent() {;} @@ -78,10 +93,6 @@ G4bool G4PSSphereSurfaceCurrent::ProcessHits(G4Step* aStep,G4TouchableHistory*) 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); @@ -176,9 +187,35 @@ void G4PSSphereSurfaceCurrent::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first << " current : " ; - if ( divideByArea ) G4cout << *(itr->second)*cm*cm << " [/cm2]" ; - else G4cout << *(itr->second)*cm*cm << " [track]" ; + if ( divideByArea ) { + G4cout << *(itr->second)/GetUnitValue() + << " [" <second) << " [tracks]" ; + } G4cout << G4endl; } } + +void G4PSSphereSurfaceCurrent::SetUnit(const G4String& unit) +{ + if ( divideByArea ) { + CheckAndSetUnit(unit,"Per Unit Surface"); + } else { + if (unit == "" ){ + unitName = unit; + unitValue = 1.0; + }else{ + G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; + G4Exception(GetName(),"DetScorer0000",JustWarning,msg); + } + } +} + +void G4PSSphereSurfaceCurrent::DefineUnitAndCategory(){ + // Per Unit Surface + new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); + new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); + new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); +} diff --git a/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent3D.cc b/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent3D.cc index e8ad1a4690..51d8342631 100644 --- a/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent3D.cc +++ b/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceCurrent3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSSphereSurfaceCurrent3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSSphereSurfaceCurrent3D #include "G4PSSphereSurfaceCurrent3D.hh" @@ -45,6 +45,7 @@ // 2 OUT |<- | fCurrent_Out // // Created: 2007-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -59,6 +60,20 @@ G4PSSphereSurfaceCurrent3D::G4PSSphereSurfaceCurrent3D(G4String name, G4int dire fNk=nk; } +G4PSSphereSurfaceCurrent3D::G4PSSphereSurfaceCurrent3D(G4String name, + G4int direction, + const G4String& unit, + G4int ni, G4int nj, G4int nk, + G4int depi, G4int depj, G4int depk) + :G4PSSphereSurfaceCurrent(name,direction), + fDepthi(depi),fDepthj(depj),fDepthk(depk) +{ + fNi=ni; + fNj=nj; + fNk=nk; + SetUnit(unit); +} + G4PSSphereSurfaceCurrent3D::~G4PSSphereSurfaceCurrent3D() {;} diff --git a/source/digits_hits/scorer/src/G4PSSphereSurfaceFlux.cc b/source/digits_hits/scorer/src/G4PSSphereSurfaceFlux.cc index fb9a5c11ea..f2406aa811 100644 --- a/source/digits_hits/scorer/src/G4PSSphereSurfaceFlux.cc +++ b/source/digits_hits/scorer/src/G4PSSphereSurfaceFlux.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceFlux.cc,v 1.3 2009/11/14 00:01:13 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PSSphereSurfaceFlux.cc,v 1.7 2010/07/23 04:35:38 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSSphereSurfaceFlux #include "G4PSSphereSurfaceFlux.hh" @@ -49,13 +49,29 @@ // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. // 29-Mar-2007 T.Aso, Bug fix for momentum direction at outgoing flux. +// 2010-07-22 Introduce Unit specification. +// 2010-07-22 Add weighted and divideByAre options // /////////////////////////////////////////////////////////////////////////////// G4PSSphereSurfaceFlux::G4PSSphereSurfaceFlux(G4String name, G4int direction, G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), + weighted(true),divideByArea(true) +{ + DefineUnitAndCategory(); + SetUnit("percm2"); +} + +G4PSSphereSurfaceFlux::G4PSSphereSurfaceFlux(G4String name, + G4int direction, + const G4String& unit, + G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction) -{;} +{ + DefineUnitAndCategory(); + SetUnit(unit); +} G4PSSphereSurfaceFlux::~G4PSSphereSurfaceFlux() {;} @@ -78,10 +94,6 @@ G4bool G4PSSphereSurfaceFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) 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); @@ -121,8 +133,9 @@ G4bool G4PSSphereSurfaceFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) G4double enth = stth+sphereSolid->GetDeltaThetaAngle()/radian; G4double square = radi*radi*dph*( -std::cos(enth) + std::cos(stth) ); - G4double current = thisStep->GetWeight(); // Flux (Particle Weight) - current = current/square; // Flux with angle. + G4double current = 1.0; + if ( weighted ) thisStep->GetWeight(); // Flux (Particle Weight) + if ( divideByArea ) current = current/square; // Flux with angle. current /= anglefactor; @@ -204,8 +217,31 @@ void G4PSSphereSurfaceFlux::PrintAll() std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first - << " current : " << *(itr->second) + << " current : " << *(itr->second)/GetUnitValue() + << " ["<GetMap()->end(); itr++) { G4cout << " copy no.: " << itr->first << " track count: " << *(itr->second) + << " [tracks] " << G4endl; } } + +void G4PSTrackCounter::SetUnit(const G4String& unit) +{ + if (unit == "" ){ + unitName = unit; + unitValue = 1.0; + }else{ + G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; + G4Exception(GetName(),"DetScorer0000",JustWarning,msg); + } + +} + diff --git a/source/digits_hits/scorer/src/G4PSTrackCounter3D.cc b/source/digits_hits/scorer/src/G4PSTrackCounter3D.cc index 168d2462c3..661b4afa11 100644 --- a/source/digits_hits/scorer/src/G4PSTrackCounter3D.cc +++ b/source/digits_hits/scorer/src/G4PSTrackCounter3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSTrackCounter3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSTrackCounter3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSTrackCounter3D #include "G4PSTrackCounter3D.hh" diff --git a/source/digits_hits/scorer/src/G4PSTrackLength.cc b/source/digits_hits/scorer/src/G4PSTrackLength.cc index 56b18f2468..e24b7c5aa2 100644 --- a/source/digits_hits/scorer/src/G4PSTrackLength.cc +++ b/source/digits_hits/scorer/src/G4PSTrackLength.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSTrackLength.cc,v 1.1 2007/07/11 01:31:03 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSTrackLength.cc,v 1.2 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSTrackLength #include "G4PSTrackLength.hh" @@ -36,17 +36,44 @@ // // // Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// G4PSTrackLength::G4PSTrackLength(G4String name, G4int depth) :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false),multiplyKinE(false), divideByVelocity(false) -{;} +{ + DefineUnitAndCategory(); + SetUnit("mm"); +} + +G4PSTrackLength::G4PSTrackLength(G4String name, const G4String& unit, + G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false),multiplyKinE(false), + divideByVelocity(false) +{ + DefineUnitAndCategory(); + SetUnit(unit); +} G4PSTrackLength::~G4PSTrackLength() {;} +void G4PSTrackLength::MultiplyKineticEnergy(G4bool flg) +{ + multiplyKinE = flg; + // Default unit is set according to flags. + SetUnit(""); +} + +void G4PSTrackLength::DivideByVelocity(G4bool flg) +{ + divideByVelocity = flg; + // Default unit is set according to flags. + SetUnit(""); +} + G4bool G4PSTrackLength::ProcessHits(G4Step* aStep,G4TouchableHistory*) { G4double trklength = aStep->GetStepLength(); @@ -83,17 +110,65 @@ void G4PSTrackLength::PrintAll() G4cout << " Number of entries " << EvtMap->entries() << G4endl; std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { - G4cout << " copy no.: " << itr->first << " track length: " ; - if ( multiplyKinE && !divideByVelocity ){ - G4cout << *(itr->second)/(mm*MeV) <<" mm*MeV"; - } else if ( !multiplyKinE && divideByVelocity ){ - G4cout << *(itr->second)*second <<" /second"; - } else if ( multiplyKinE && divideByVelocity) { - G4cout << *(itr->second)/MeV*second <<" MeV/second"; - } else { - G4cout << G4BestUnit(*(itr->second),"Length"); - } + G4cout << " copy no.: " << itr->first << " value "; + G4cout << *(itr->second)/GetUnitValue() + << " ["<< GetUnit() << "]"; G4cout << G4endl; } } +void G4PSTrackLength::SetUnit(const G4String& unit) +{ + if ( multiplyKinE ){ + if ( divideByVelocity ){ + if ( unit == "" ) { + CheckAndSetUnit("MeV_second","EnergyFlux"); + } else { + CheckAndSetUnit(unit,"EnergyFlux"); + } + }else { + if ( unit == "" ) { + CheckAndSetUnit("MeV_mm","EnergyFlow"); + } else { + CheckAndSetUnit(unit,"EnergyFlow"); + } + } + }else { + if ( divideByVelocity ){ + if ( unit == "" ) { + CheckAndSetUnit("second","Time"); + } else { + CheckAndSetUnit(unit,"Time"); + } + }else { + if ( unit == "") { + CheckAndSetUnit("mm","Length"); + } else { + CheckAndSetUnit(unit,"Length"); + } + } + } +} + +void G4PSTrackLength::DefineUnitAndCategory(){ + // EnergyFlux + new G4UnitDefinition("eV_second","eV_s","EnergyFlux",(eV*second)); + new G4UnitDefinition("keV_second","keV_s","EnergyFlux",(keV*second)); + new G4UnitDefinition("MeV_second","MeV_s","EnergyFlux",(MeV*second)); + new G4UnitDefinition("eV_millisecond","eV_ms","EnergyFlux",(eV*ms)); + new G4UnitDefinition("keV_millisecond","keV_ms","EnergyFlux",(keV*ms)); + new G4UnitDefinition("MeV_millisecond","MeV_ms","EnergyFlux",(MeV*ms)); + //EnergyFlow + new G4UnitDefinition("eV_millimeter","eV_mm","EnergyFlow",(eV*mm)); + new G4UnitDefinition("keV_millimeter","keV_mm","EnergyFlow",(keV*mm)); + new G4UnitDefinition("MeV_millimeter","MeV_mm","EnergyFlow",(MeV*mm)); + new G4UnitDefinition("eV_centimeter","eV_cm","EnergyFlow",(eV*cm)); + new G4UnitDefinition("keV_centimeter","keV_cm","EnergyFlow",(keV*cm)); + new G4UnitDefinition("MeV_centimeter","MeV_cm","EnergyFlow",(MeV*cm)); + new G4UnitDefinition("eV_meter","eV_m","EnergyFlow",(eV*m)); + new G4UnitDefinition("keV_meter","keV_m","EnergyFlow",(keV*m)); + new G4UnitDefinition("MeV_meter","MeV_m","EnergyFlow",(MeV*m)); +} + + + diff --git a/source/digits_hits/scorer/src/G4PSTrackLength3D.cc b/source/digits_hits/scorer/src/G4PSTrackLength3D.cc index 4350294578..6701eccdf9 100644 --- a/source/digits_hits/scorer/src/G4PSTrackLength3D.cc +++ b/source/digits_hits/scorer/src/G4PSTrackLength3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSTrackLength3D.cc,v 1.3 2007/08/29 06:36:42 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSTrackLength3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4PSTrackLength3D #include "G4PSTrackLength3D.hh" @@ -36,6 +36,7 @@ // // // Created: 2008-08-14 Tsukasa ASO +// 2010-07-22 Introduce Unit specification. // /////////////////////////////////////////////////////////////////////////////// @@ -50,6 +51,18 @@ G4PSTrackLength3D::G4PSTrackLength3D(G4String name, fNk=nk; } +G4PSTrackLength3D::G4PSTrackLength3D(G4String name,const G4String& unit, + G4int ni, G4int nj, G4int nk, + G4int depi, G4int depj, G4int depk) + :G4PSTrackLength(name), + fDepthi(depi),fDepthj(depj),fDepthk(depk) +{ + fNi=ni; + fNj=nj; + fNk=nk; + SetUnit(unit); +} + G4PSTrackLength3D::~G4PSTrackLength3D() {;} diff --git a/source/digits_hits/scorer/src/G4SDParticleFilter.cc b/source/digits_hits/scorer/src/G4SDParticleFilter.cc index 57c21d051e..8c6bd731a8 100644 --- a/source/digits_hits/scorer/src/G4SDParticleFilter.cc +++ b/source/digits_hits/scorer/src/G4SDParticleFilter.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDParticleFilter.cc,v 1.1 2007/07/11 01:31:03 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SDParticleFilter.cc,v 1.2 2010/07/23 00:59:58 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VSensitiveDetector #include "G4SDParticleFilter.hh" @@ -48,6 +48,8 @@ G4SDParticleFilter::G4SDParticleFilter(G4String name) :G4VSDFilter(name) { thePdef.clear(); + theIonZ.clear(); + theIonA.clear(); } G4SDParticleFilter::G4SDParticleFilter(G4String name, @@ -65,6 +67,8 @@ G4SDParticleFilter::G4SDParticleFilter(G4String name, "DetUtil0000",FatalException,msg); } thePdef.push_back(pd); + theIonZ.clear(); + theIonA.clear(); } G4SDParticleFilter::G4SDParticleFilter(G4String name, @@ -83,29 +87,45 @@ G4SDParticleFilter::G4SDParticleFilter(G4String name, "DetUtil0000",FatalException,msg); } thePdef.push_back(pd); + theIonZ.clear(); + theIonA.clear(); } } G4SDParticleFilter::G4SDParticleFilter(G4String name, const std::vector& particleDef) - :G4VSDFilter(name), thePdef(particleDef) + :G4VSDFilter(name), thePdef(particleDef) { for ( size_t i = 0; i < particleDef.size(); i++){ if(!particleDef[i]) G4Exception("G4SDParticleFilter::G4SDParticleFilter()","DetUtil0001",FatalException, "NULL pointer is found in the given particleDef vector."); } + theIonZ.clear(); + theIonA.clear(); } G4SDParticleFilter::~G4SDParticleFilter() { thePdef.clear(); -} + theIonZ.clear(); + theIonA.clear(); + } G4bool G4SDParticleFilter::Accept(const G4Step* aStep) const { + for ( size_t i = 0; i < thePdef.size(); i++){ if ( thePdef[i] == aStep->GetTrack()->GetDefinition() ) return TRUE; } + + // Ions by Z,A + for ( size_t i = 0; i < theIonZ.size(); i++){ + if ( theIonZ[i] == aStep->GetTrack()->GetDefinition()->GetAtomicNumber() + && theIonA[i] == aStep->GetTrack()->GetDefinition()->GetAtomicMass() ){ + return TRUE; + } + } + return FALSE; } @@ -127,11 +147,26 @@ void G4SDParticleFilter::add(const G4String& particleName) thePdef.push_back(pd); } +void G4SDParticleFilter::addIon(G4int Z, G4int A){ + for ( size_t i = 0; i < theIonZ.size(); i++){ + if ( theIonZ[i] == Z && theIonA[i] == A ){ + G4cout << "G4SDParticleFilter:: Ion has been already registered."<GetParticleName() << G4endl; } + for ( size_t i = 0; i < theIonZ.size(); i++){ + G4cout << " Ion PrtclDef (" << theIonZ[i]<<","< G4TokenVec; @@ -72,6 +74,8 @@ class G4ScoreQuantityMessenger: public G4UImessenger void FParticleCommand(G4VScoringMesh* mesh,G4TokenVec& token); void FParticleWithEnergyCommand(G4VScoringMesh* mesh,G4TokenVec& token); + + G4bool CheckMeshPS(G4VScoringMesh* mesh, G4String& psname); private: void QuantityCommands(); @@ -83,14 +87,16 @@ class G4ScoreQuantityMessenger: public G4UImessenger // Quantity commands G4UIdirectory* quantityDir; G4UIcmdWithAString* qTouchCmd; + G4UIcmdWithoutParameter* qGetUnitCmd; + G4UIcmdWithAString* qSetUnitCmd; // - G4UIcmdWithAString* qCellChgCmd; - G4UIcmdWithAString* qCellFluxCmd; - G4UIcmdWithAString* qPassCellFluxCmd; - G4UIcmdWithAString* qeDepCmd; - G4UIcmdWithAString* qdoseDepCmd; - G4UIcmdWithAString* qnOfStepCmd; - G4UIcmdWithAString* qnOfSecondaryCmd; + G4UIcommand* qCellChgCmd; + G4UIcommand* qCellFluxCmd; + G4UIcommand* qPassCellFluxCmd; + G4UIcommand* qeDepCmd; + G4UIcommand* qdoseDepCmd; + G4UIcommand* qnOfStepCmd; + G4UIcommand* qnOfSecondaryCmd; // G4UIcommand* qTrackLengthCmd; G4UIcommand* qPassCellCurrCmd; @@ -105,6 +111,7 @@ class G4ScoreQuantityMessenger: public G4UImessenger G4UIcommand* qPopulationCmd; G4UIcommand* qTrackCountCmd; G4UIcommand* qTerminationCmd; + G4UIcommand* qMinKinEAtGeneCmd; // // Filter commands diff --git a/source/digits_hits/utils/include/G4ScoringBox.hh b/source/digits_hits/utils/include/G4ScoringBox.hh index 818939cdc1..45ca234510 100644 --- a/source/digits_hits/utils/include/G4ScoringBox.hh +++ b/source/digits_hits/utils/include/G4ScoringBox.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ScoringBox.hh,v 1.18 2007/11/06 09:41:34 akimura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ScoringBox.hh,v 1.21 2010/07/22 02:04:39 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4ScoringBox_h @@ -48,11 +48,11 @@ public: ~G4ScoringBox(); public: - virtual void Construct(G4VPhysicalVolume* fWorldPhys); - virtual void List() const; - virtual void Draw(std::map * map, G4VScoreColorMap* colorMap, G4int axflg=111); - virtual void DrawColumn(std::map * map, G4VScoreColorMap* colorMap, - G4int idxProj, G4int idxColumn); + void Construct(G4VPhysicalVolume* fWorldPhys); + void List() const; + void Draw(std::map * map, G4VScoreColorMap* colorMap, G4int axflg=111); + void DrawColumn(std::map * map, G4VScoreColorMap* colorMap, + G4int idxProj, G4int idxColumn); // set a direction to segment this mesh void SetSegmentDirection(G4int dir) {fSegmentDirection = dir;} diff --git a/source/digits_hits/utils/include/G4ScoringBoxParameterisation.hh b/source/digits_hits/utils/include/G4ScoringBoxParameterisation.hh deleted file mode 100644 index 85dedb2a4c..0000000000 --- a/source/digits_hits/utils/include/G4ScoringBoxParameterisation.hh +++ /dev/null @@ -1,88 +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 G4ScoringBoxParametrisation_H -#define G4ScoringBoxParametrisation_H 1 - -#include "globals.hh" -#include "geomdefs.hh" -#include "G4VPVParameterisation.hh" -#include - -class G4VPhysicalVolume; -class G4Box; - -// Dummy declarations to get rid of warnings ... -class G4Tubs; -class G4Trd; -class G4Trap; -class G4Cons; -class G4Orb; -class G4Sphere; -class G4Torus; -class G4Para; -class G4Hype; -class G4Polycone; -class G4Polyhedra; - - - -class G4ScoringBoxParameterisation : public G4VPVParameterisation { -public: - - G4ScoringBoxParameterisation(EAxis segaxis, - G4double motherDimension[3], - std::vector & segpos); - virtual ~G4ScoringBoxParameterisation(); - - void ComputeTransformation(const G4int copyNo, - G4VPhysicalVolume *physVol) const; - void ComputeDimensions(G4Box & meshElement, - const G4int copyNo, - const G4VPhysicalVolume * physVol) const; - - private: // Dummy declarations to get rid of warnings ... - - void ComputeDimensions (G4Trd&,const G4int,const G4VPhysicalVolume*) const {} - void ComputeDimensions (G4Trap&,const G4int,const G4VPhysicalVolume*) const {} - void ComputeDimensions (G4Cons&,const G4int,const G4VPhysicalVolume*) const {} - void ComputeDimensions (G4Orb&,const G4int,const G4VPhysicalVolume*) const {} - void ComputeDimensions (G4Sphere&,const G4int,const G4VPhysicalVolume*) const {} - void ComputeDimensions (G4Torus&,const G4int,const G4VPhysicalVolume*) const {} - void ComputeDimensions (G4Para&,const G4int,const G4VPhysicalVolume*) const {} - void ComputeDimensions (G4Hype&,const G4int,const G4VPhysicalVolume*) const {} - void ComputeDimensions (G4Tubs&,const G4int,const G4VPhysicalVolume*) const {} - void ComputeDimensions (G4Polycone&,const G4int,const G4VPhysicalVolume*) const {} - void ComputeDimensions (G4Polyhedra&,const G4int,const G4VPhysicalVolume*) const {} - - private: - EAxis fSegmentAxis; - G4double fMotherDimensions[3]; - std::vector fSegmentPositions; - -}; - -#endif diff --git a/source/digits_hits/utils/include/G4ScoringCylinder.hh b/source/digits_hits/utils/include/G4ScoringCylinder.hh index 0544f00ee2..b4bbbfdc39 100644 --- a/source/digits_hits/utils/include/G4ScoringCylinder.hh +++ b/source/digits_hits/utils/include/G4ScoringCylinder.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ScoringCylinder.hh,v 1.2 2008/03/23 14:32:12 akimura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ScoringCylinder.hh,v 1.6 2010/07/25 11:05:03 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4ScoringCylinder_h @@ -50,25 +50,20 @@ class G4ScoringCylinder : public G4VScoringMesh virtual void List() const; virtual void Draw(std::map * map, G4VScoreColorMap* colorMap, G4int axflg=111); virtual void DrawColumn(std::map * map, G4VScoreColorMap* colorMap, - G4int idxProj, G4int idxColumn); + G4int idxProj, G4int idxColumn); - - void SetRMinMax(G4double rMinMax[2]) { - for(int i = 0; i < 2; i++) fSize[i] = rMinMax[i]; - } - void SetRMin(G4double rMin) {fSize[0] = rMin;} - void SetRMax(G4double rMax) {fSize[1] = rMax;} - void SetZSize(G4double zSize) {fSize[2] = zSize;} - - void SetSegmentDirection(G4int dir) {fSegmentDirection = dir;} // supports the r-direction only at present. + void SetRMax(G4double rMax) {fSize[0] = rMax;} + void SetZSize(G4double zSize) {fSize[1] = zSize;} // half height void RegisterPrimitives(std::vector & vps); - // get 3D index (r,z,phi) from sequential index + // get 3D index (z,phi,r) from sequential index void GetRZPhi(G4int index, G4int q[3]) const; private: - G4int fSegmentDirection; // =1: r, =2: phi, =3: z + //enum IDX {IR, IZ, IPHI}; + enum IDX {IZ, IPHI, IR}; + G4LogicalVolume * fMeshElementLogical; void SetupGeometry(G4VPhysicalVolume * fWorldPhys); diff --git a/source/digits_hits/utils/include/G4VScoreColorMap.hh b/source/digits_hits/utils/include/G4VScoreColorMap.hh index 6490553720..f6c7f11b6f 100644 --- a/source/digits_hits/utils/include/G4VScoreColorMap.hh +++ b/source/digits_hits/utils/include/G4VScoreColorMap.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VScoreColorMap.hh,v 1.5 2008/08/29 02:50:05 akimura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VScoreColorMap.hh,v 1.7 2010/07/23 06:25:30 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4VScoreColorMap_h @@ -69,15 +69,23 @@ class G4VScoreColorMap // draw a color chart virtual void DrawColorChart(G4int nPoint = 5); + virtual void DrawColorChartBar(G4int nPoint); + virtual void DrawColorChartText(G4int nPoint); + + void SetPSUnit(G4String & unit) {fPSUnit = unit;} + void SetPSName(G4String & psName) {fPSName = psName;} + protected: G4String fName; G4bool ifFloat; G4double fMinVal; G4double fMaxVal; G4VVisManager * fVisManager; + G4String fPSUnit; + G4String fPSName; }; #endif diff --git a/source/digits_hits/utils/include/G4VScoringMesh.hh b/source/digits_hits/utils/include/G4VScoringMesh.hh index b1a3da21fe..5c63755d36 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.29 2009/10/12 04:11:25 akimura Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VScoringMesh.hh,v 1.41 2010/11/09 00:29:55 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4VScoringMesh_h @@ -54,7 +54,7 @@ class G4VScoringMesh { public: G4VScoringMesh(G4String wName); - ~G4VScoringMesh(); + virtual ~G4VScoringMesh(); public: // with description // a pure virtual function to construct this mesh geometry @@ -80,14 +80,14 @@ class G4VScoringMesh // dump information of primitive socrers registered in this mesh void Dump(); // draw a projected quantity on a current viewer - inline void DrawMesh(G4String psName,G4VScoreColorMap* colorMap,G4int axflg=111); + void DrawMesh(G4String psName,G4VScoreColorMap* colorMap,G4int axflg=111); // draw a column of a quantity on a current viewer - inline void DrawMesh(G4String psName,G4int idxPlane,G4int iColumn,G4VScoreColorMap* colorMap); + void DrawMesh(G4String psName,G4int idxPlane,G4int iColumn,G4VScoreColorMap* colorMap); // draw a projected quantity on a current viewer virtual void Draw(std::map * map, G4VScoreColorMap* colorMap, G4int axflg=111) = 0; // draw a column of a quantity on a current viewer - virtual void DrawColumn(std::map * map, G4VScoreColorMap* colorMap, - G4int idxProj, G4int idxColumn) = 0; + virtual void DrawColumn(std::map * map, G4VScoreColorMap* colorMap, + G4int idxProj, G4int idxColumn) = 0; // reset registered primitive scorers void ResetScore(); @@ -114,8 +114,6 @@ class G4VScoringMesh void SetNumberOfSegments(G4int nSegment[3]); // get number of segments of this mesh void GetNumberOfSegments(G4int nSegment[3]); - // set positions to segment this mesh - inline void SetSegmentPositions(std::vector & sp) {fSegmentPositions = sp;} // register a primitive scorer to the MFD & set it to the current primitive scorer void SetPrimitiveScorer(G4VPrimitiveScorer * ps); @@ -130,6 +128,20 @@ class G4VScoringMesh if(fCurrentPS == NULL) return true; else return false; } + // get unit of primitive scorer by the name + G4String GetPSUnit(G4String & psname); + // get unit of current primitive scorer + G4String GetCurrentPSUnit(); + // set unit of current primitive scorer + void SetCurrentPSUnit(const G4String& unit); + // get unit value of primitive scorer by the name + G4double GetPSUnitValue(G4String & psname); + // set PS name to be drawn + void SetDrawPSName(G4String & psname) {fDrawPSName = psname;} + + // get axis names of the hierarchical division in the divided order + void GetDivisionAxisNames(G4String divisionAxisNames[3]); + // set current primitive scorer to NULL void SetNullToCurrentPrimitiveScorer() {fCurrentPS = NULL;} // set verbose level @@ -156,7 +168,6 @@ protected: G4ThreeVector fCenterPosition; G4RotationMatrix * fRotationMatrix; G4int fNSegment[3]; - std::vector fSegmentPositions; std::map* > fMap; G4MultiFunctionalDetector * fMFD; @@ -166,6 +177,11 @@ protected: G4bool sizeIsSet; G4bool nMeshIsSet; + G4String fDrawUnit; + G4double fDrawUnitValue; + G4String fDrawPSName; + + G4String fDivisionAxisNames[3]; }; void G4VScoringMesh::Accumulate(G4THitsMap * map) @@ -189,23 +205,5 @@ void G4VScoringMesh::Accumulate(G4THitsMap * map) } } -void G4VScoringMesh::DrawMesh(G4String psName,G4VScoreColorMap* colorMap,G4int axflg) -{ - std::map* >::const_iterator fMapItr = fMap.find(psName); - if(fMapItr!=fMap.end()) - { Draw(fMapItr->second->GetMap(),colorMap,axflg); } - else - { G4cerr << "Scorer <" << psName << "> is not defined. Method ignored." << G4endl; } -} - -void G4VScoringMesh::DrawMesh(G4String psName,G4int idxPlane,G4int iColumn,G4VScoreColorMap* colorMap) -{ - std::map* >::const_iterator fMapItr = fMap.find(psName); - if(fMapItr!=fMap.end()) - { DrawColumn(fMapItr->second->GetMap(),colorMap,idxPlane,iColumn); } - else - { G4cerr << "Scorer <" << psName << "> is not defined. Method ignored." << G4endl; } -} - #endif diff --git a/source/digits_hits/utils/sources.cmake b/source/digits_hits/utils/sources.cmake new file mode 100644 index 0000000000..80a349f745 --- /dev/null +++ b/source/digits_hits/utils/sources.cmake @@ -0,0 +1,96 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4detutils +# Package: Geant4.src.G4digits_hits.G4detutils +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/10/19 09:54:03 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/scorer/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/divisions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4detutils + HEADERS + G4DefaultLinearColorMap.hh + G4ScoreLogColorMap.hh + G4ScoreQuantityMessenger.hh + G4ScoringBox.hh + G4ScoringCylinder.hh + G4ScoringManager.hh + G4ScoringMessenger.hh + G4VScoreColorMap.hh + G4VScoreWriter.hh + G4VScoringMesh.hh + SOURCES + G4DefaultLinearColorMap.cc + G4ScoreLogColorMap.cc + G4ScoreQuantityMessenger.cc + G4ScoreQuantityMessengerQCmd.cc + G4ScoringBox.cc + G4ScoringCylinder.cc + G4ScoringManager.cc + G4ScoringMessenger.cc + G4VScoreColorMap.cc + G4VScoreWriter.cc + G4VScoringMesh.cc + GRANULAR_DEPENDENCIES + G4csg + G4detector + G4detscorer + G4digits + G4geomdivision + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4materials + G4navigation + G4partman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/digits_hits/utils/src/G4ScoreLogColorMap.cc b/source/digits_hits/utils/src/G4ScoreLogColorMap.cc index eb2e9b422c..8a87383175 100644 --- a/source/digits_hits/utils/src/G4ScoreLogColorMap.cc +++ b/source/digits_hits/utils/src/G4ScoreLogColorMap.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ScoreLogColorMap.cc,v 1.3 2009/05/04 15:57:33 akimura Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ScoreLogColorMap.cc,v 1.10 2010/11/03 19:31:36 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4ScoreLogColorMap.hh" @@ -49,12 +49,50 @@ G4ScoreLogColorMap::G4ScoreLogColorMap(G4String mName) G4ScoreLogColorMap::~G4ScoreLogColorMap() {;} +#include "G4UIcommand.hh" void G4ScoreLogColorMap::GetMapColor(G4double val, G4double color[4]) { G4bool lmin = true, lmax = true, lval = true; - if(fMinVal <= 0.) lmin = false; - if(fMaxVal <= 0.) lmax = false; - if(val <= 0.) lval = false; + if(fMinVal < 0.) { + lmin = false; + G4String message = " The min. value (fMinVal) is negative. : "; + message += G4UIcommand::ConvertToString(fMinVal); + G4Exception("G4ScoreLogColorMap::GetMapColor()", + "DigiHitsUtilsScoreLogColorMap000", JustWarning, + message); + } + if(fMaxVal < 0.) { + lmax = false; + G4String message = " The max. value (fMaxVal) is negative. : "; + message += G4UIcommand::ConvertToString(fMaxVal); + G4Exception("G4ScoreLogColorMap::GetMapColor()", + "DigiHitsUtilsScoreLogColorMap001", JustWarning, + message); + } + if(!lmin || !lmax) { + color[0] = 0.; + color[1] = 0.; + color[2] = 0.; + color[3] = 0.; + return; + } + + if(val < 0.) { + lval = false; + G4String message = " 'val' (first argument) is negative : "; + message += G4UIcommand::ConvertToString(fMaxVal); + G4Exception("G4ScoreLogColorMap::GetMapColor()", + "DigiHitsUtilsScoreLogColorMap002", JustWarning, + message); + } + if(!lval) { + color[0] = 0.; + color[1] = 0.; + color[2] = 0.; + color[3] = -1.; + return; + } + G4double logmin = 0., logmax = 0., logval = 0.; if(lmin) logmin = std::log10(fMinVal); if(lmax) logmax = std::log10(fMaxVal); @@ -100,6 +138,7 @@ void G4ScoreLogColorMap::GetMapColor(G4double val, G4double color[4]) void G4ScoreLogColorMap::DrawColorChartBar(G4int _nPoint) { + G4cout << "++++++ " << fMinVal << " - " << fMaxVal << G4endl; G4bool lmin = true, lmax = true; if(fMinVal <= 0.) lmin = false; if(fMaxVal <= 0.) lmax = false; @@ -117,6 +156,8 @@ void G4ScoreLogColorMap::DrawColorChartBar(G4int _nPoint) { line.push_back(G4Point3D(-0.91, y, 0.)); G4double val = std::pow(10., (ra*max+rb*min)/(ra+rb)); this->GetMapColor(val, c); + if(c[0] == 0 && c[1] == 0 && c[2] == 0 && c[3] == 0) return; + if(c[0] == 0 && c[1] == 0 && c[2] == 0 && c[3] == -1.) continue; G4Colour col(c[0], c[1], c[2]); G4VisAttributes att(col); line.SetVisAttributes(&att); @@ -131,19 +172,24 @@ void G4ScoreLogColorMap::DrawColorChartText(G4int _nPoint) { G4double min = 0.; if(lmin) min = std::log10(fMinVal); - if(min > 0.) min = std::floor(min); - else min = std::ceil(min); + //if(min > 0.) min = std::floor(min); + //else min = std::ceil(min); G4double max = 0.; if(lmax) max = std::log10(fMaxVal); - if(max > 0.) max = std::floor(max); - else max = std::ceil(max); + //if(max > 0.) max = std::ceil(max); + //else max = std::floor(max); G4double c[4]; G4Colour black(0., 0., 0.); for(int n = 0; n < _nPoint; n++) { G4double a = n/(_nPoint-1.), b = 1.-a; G4double v = (a*max + b*min)/(a+b); + + this->GetMapColor(std::pow(10., v), c); + if(c[0] == 0 && c[1] == 0 && c[2] == 0 && c[3] == 0) return; + if(c[0] == 0 && c[1] == 0 && c[2] == 0 && c[3] == -1.) continue; + // background color for(int l = 0; l < 21; l++) { G4Polyline line; @@ -164,11 +210,62 @@ void G4ScoreLogColorMap::DrawColorChartText(G4int _nPoint) { G4Text text(value, G4Point3D(-0.9, -0.9+0.05*n, 0)); G4double size = 12.; text.SetScreenSize(size); - this->GetMapColor(std::pow(10., v), c); + //this->GetMapColor(std::pow(10., v), c); G4Colour color(c[0], c[1], c[2]); G4VisAttributes att(color); text.SetVisAttributes(&att); fVisManager->Draw2D(text); } + + + // draw ps name + // background + G4int lpsname = 20;// fPSName.size(); + if(lpsname > 0) { + for(int l = 0; l < 22; l++) { + G4Polyline line; + line.push_back(G4Point3D(-0.9, -0.965+0.002*l, 0.)); + line.push_back(G4Point3D(-0.9+0.025*lpsname, -0.965+0.002*l, 0.)); + G4VisAttributes attblack(black); + //G4VisAttributes attblack(G4Colour(.0, .5, .0)); + line.SetVisAttributes(&attblack); + fVisManager->Draw2D(line); + } + // ps name + G4Text txtpsname(fPSName, G4Point3D(-0.9, -0.96, 0.)); + G4double size = 12.; + txtpsname.SetScreenSize(size); + G4Colour color(1., 1., 1.); + G4VisAttributes att(color); + txtpsname.SetVisAttributes(&att); + fVisManager->Draw2D(txtpsname); + } + + + + // draw unit + // background + G4int len = fPSUnit.size(); + if(len > 0) { + for(int l = 0; l < 21; l++) { + G4Polyline line; + line.push_back(G4Point3D(-0.7, -0.9+0.002*l, 0.)); + line.push_back(G4Point3D(-0.7+0.3, -0.9+0.002*l, 0.)); + G4VisAttributes attblack(black); + //G4VisAttributes attblack(G4Colour(.5, .0, .0)); + line.SetVisAttributes(&attblack); + fVisManager->Draw2D(line); + } + // unit + G4String psunit = "[" + fPSUnit + "]"; + G4Text txtunit(psunit, G4Point3D(-0.69, -0.9, 0.)); + G4double size = 12.; + txtunit.SetScreenSize(size); + G4Colour color(1., 1., 1.); + G4VisAttributes att(color); + txtunit.SetVisAttributes(&att); + fVisManager->Draw2D(txtunit); + } + } diff --git a/source/digits_hits/utils/src/G4ScoreQuantityMessenger.cc b/source/digits_hits/utils/src/G4ScoreQuantityMessenger.cc index 17818be422..a4b6fe9045 100644 --- a/source/digits_hits/utils/src/G4ScoreQuantityMessenger.cc +++ b/source/digits_hits/utils/src/G4ScoreQuantityMessenger.cc @@ -24,10 +24,13 @@ // ******************************************************************** // // -// $Id: G4ScoreQuantityMessenger.cc,v 1.8 2007/11/07 04:12:07 akimura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ScoreQuantityMessenger.cc,v 1.10 2010/11/03 08:28:42 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------- +// Modifications +// 08-Oct-2010 T.Aso remove unit of G4PSPassageCellCurrent. +// --------------------------------------------------------------------- #include "G4ScoreQuantityMessenger.hh" #include "G4ScoringManager.hh" @@ -54,6 +57,7 @@ #include "G4PSPopulation3D.hh" #include "G4PSTrackCounter3D.hh" #include "G4PSTermination3D.hh" +#include "G4PSMinKinEAtGeneration3D.hh" #include "G4SDChargedFilter.hh" #include "G4SDNeutralFilter.hh" @@ -159,6 +163,9 @@ G4ScoreQuantityMessenger::~G4ScoreQuantityMessenger() { delete quantityDir; delete qTouchCmd; + delete qGetUnitCmd; + delete qSetUnitCmd; + // delete qCellChgCmd; delete qCellFluxCmd; @@ -181,6 +188,7 @@ G4ScoreQuantityMessenger::~G4ScoreQuantityMessenger() delete qPopulationCmd; delete qTrackCountCmd; delete qTerminationCmd; + delete qMinKinEAtGeneCmd; // delete filterDir; delete fchargedCmd; @@ -208,196 +216,147 @@ void G4ScoreQuantityMessenger::SetNewValue(G4UIcommand * command,G4String newVal // Commands for Current Mesh if(command==qTouchCmd) { mesh->SetCurrentPrimitiveScorer(newVal); + } else if(command == qGetUnitCmd ){ + G4cout << "Unit: "<< mesh->GetCurrentPSUnit() <SetCurrentPSUnit(newVal); } else if(command== qCellChgCmd) { - if(!mesh->FindPrimitiveScorer(newVal)) { - mesh->SetPrimitiveScorer(new G4PSCellCharge3D(newVal)); - } else { - G4cout << "WARNING[" << qTouchCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + if ( CheckMeshPS(mesh,token[0]) ){ + G4PSCellCharge3D* ps = new G4PSCellCharge3D(token[0]); + ps->SetUnit(token[1]); + mesh->SetPrimitiveScorer(ps); + } } else if(command== qCellFluxCmd) { - if(!mesh->FindPrimitiveScorer(newVal)) { - mesh->SetPrimitiveScorer(new G4PSCellFlux3D(newVal)); - } else { - G4cout << "WARNING[" << qCellFluxCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + if ( CheckMeshPS(mesh,token[0]) ){ + G4PSCellFlux3D* ps = new G4PSCellFlux3D(token[0]); + ps->SetUnit(token[1]); + mesh->SetPrimitiveScorer(ps); + } } else if(command== qPassCellFluxCmd) { - if(!mesh->FindPrimitiveScorer(newVal)) { - mesh->SetPrimitiveScorer(new G4PSPassageCellFlux3D(newVal)); - } else { - G4cout << "WARNING[" << qPassCellFluxCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + if ( CheckMeshPS(mesh,token[0]) ){ + G4PSPassageCellFlux3D* ps = new G4PSPassageCellFlux3D(token[0]); + ps->SetUnit(token[1]); + mesh->SetPrimitiveScorer(ps); + } } else if(command==qeDepCmd) { - if(!mesh->FindPrimitiveScorer(newVal)) { - mesh->SetPrimitiveScorer(new G4PSEnergyDeposit3D(newVal)); - } else { - G4cout << "WARNING[" << qeDepCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + if ( CheckMeshPS(mesh,token[0]) ){ + G4PSEnergyDeposit3D* ps =new G4PSEnergyDeposit3D(token[0]); + ps->SetUnit(token[1]); + mesh->SetPrimitiveScorer(ps); + } } else if(command== qdoseDepCmd) { - if(!mesh->FindPrimitiveScorer(newVal)) { - mesh->SetPrimitiveScorer(new G4PSDoseDeposit3D(newVal)); - } else { - G4cout << "WARNING[" << qdoseDepCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + if ( CheckMeshPS(mesh,token[0]) ){ + G4PSDoseDeposit3D* ps = new G4PSDoseDeposit3D(token[0]); + ps->SetUnit(token[1]); + mesh->SetPrimitiveScorer(ps); + } } else if(command== qnOfStepCmd) { - if(!mesh->FindPrimitiveScorer(newVal)) { - mesh->SetPrimitiveScorer(new G4PSNofStep3D(newVal)); - } else { - G4cout << "WARNING[" << qnOfStepCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + if ( CheckMeshPS(mesh,token[0]) ){ + G4PSNofStep3D* ps = new G4PSNofStep3D(token[0]); + mesh->SetPrimitiveScorer(ps); + } } else if(command== qnOfSecondaryCmd) { - if(!mesh->FindPrimitiveScorer(newVal)) { - mesh->SetPrimitiveScorer(new G4PSNofSecondary3D(newVal)); - } else { - G4cout << "WARNING[" << qnOfSecondaryCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + if ( CheckMeshPS(mesh,token[0]) ){ + G4PSNofSecondary3D* ps =new G4PSNofSecondary3D(token[0]); + mesh->SetPrimitiveScorer(ps); + } } else if(command== qTrackLengthCmd) { - if(!mesh->FindPrimitiveScorer(newVal)) { + if ( CheckMeshPS(mesh,token[0]) ){ G4PSTrackLength3D* ps = new G4PSTrackLength3D(token[0]); ps->Weighted(StoB(token[1])); ps->MultiplyKineticEnergy(StoB(token[2])); ps->DivideByVelocity(StoB(token[3])); + ps->SetUnit(token[4]); mesh->SetPrimitiveScorer(ps); - } else { - G4cout << "WARNING[" << qTrackLengthCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + } } else if(command== qPassCellCurrCmd){ - if(!mesh->FindPrimitiveScorer(newVal)) { + if( CheckMeshPS(mesh,token[0]) ) { G4PSPassageCellCurrent* ps = new G4PSPassageCellCurrent3D(token[0]); ps->Weighted(StoB(token[1])); + //ps->SetUnit(token[2]); mesh->SetPrimitiveScorer(ps); - } else { - G4cout << "WARNING[" << qPassCellCurrCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + } } else if(command== qPassTrackLengthCmd){ - if(!mesh->FindPrimitiveScorer(newVal)) { + if( CheckMeshPS(mesh,token[0]) ) { G4PSPassageTrackLength* ps = new G4PSPassageTrackLength3D(token[0]); ps->Weighted(StoB(token[1])); mesh->SetPrimitiveScorer(ps); - } else { - G4cout << "WARNING[" << qPassTrackLengthCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + } } else if(command== qFlatSurfCurrCmd){ - if(!mesh->FindPrimitiveScorer(newVal)) { + if( CheckMeshPS(mesh,token[0])) { G4PSFlatSurfaceCurrent3D* ps = new G4PSFlatSurfaceCurrent3D(token[0],StoI(token[1])); ps->Weighted(StoB(token[2])); ps->DivideByArea(StoB(token[3])); + ps->SetUnit(token[4]); mesh->SetPrimitiveScorer(ps); - } else { - G4cout << "WARNING[" << qFlatSurfCurrCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + } } else if(command== qFlatSurfFluxCmd){ - if(!mesh->FindPrimitiveScorer(newVal)) { - mesh->SetPrimitiveScorer( - new G4PSFlatSurfaceFlux3D(token[0],StoI(token[1]))); - } else { - G4cout << "WARNING[" << qFlatSurfFluxCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } -// } else if(command== qSphereSurfCurrCmd){ -// if(!mesh->FindPrimitiveScorer(newVal)) { + if( CheckMeshPS(mesh, token[0] )) { + G4PSFlatSurfaceFlux3D* ps = new G4PSFlatSurfaceFlux3D(token[0],StoI(token[1])); + ps->SetUnit(token[2]); + mesh->SetPrimitiveScorer(ps); + } +// } else if(command== qSphereSurfCurrCmd){ +// if( CheckMeshPS(mesh, token[0] )) { // G4PSSphereSurfaceCurrent3D* ps = // new G4PSSphereSurfaceCurrent3D(token[0],StoI(token[1])); // ps->Weighted(StoB(token[2])); // ps->DivideByArea(StoB(token[3])); +// ps->SetUnit(token[4]); // mesh->SetPrimitiveScorer(ps); -// } else { -// G4cout << "WARNING[" << qSphereSurfCurrCmd->GetCommandPath() -// << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; -// mesh->SetNullToCurrentPrimitiveScorer(); -// } -// } else if(command== qSphereSurfFluxCmd){ -// if(!mesh->FindPrimitiveScorer(newVal)) { -// mesh->SetPrimitiveScorer( -// new G4PSSphereSurfaceFlux3D(token[0], StoI(token[1]))); -// } else { -// G4cout << "WARNING[" << qSphereSurfFluxCmd->GetCommandPath() -// << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; -// mesh->SetNullToCurrentPrimitiveScorer(); -// } -// } else if(command== qCylSurfCurrCmd){ -// if(!mesh->FindPrimitiveScorer(newVal)) { +// } +// } else if(command== qSphereSurfFluxCmd){ +// if( CheckMeshPS(mesh,token[0])) { +// G4PSSphereSurfaceFlux3D* ps = new G4PSSphereSurfaceFlux3D(token[0], StoI(token[1])); +// ps->SetUnit(token[2]); +// mesh->SetPrimitiveScorer(ps); +// } +// } else if(command== qCylSurfCurrCmd){ +// if( CheckMeshPS(mesh, token[0] ) ) { // G4PSCylinderSurfaceCurrent3D* ps = // new G4PSCylinderSurfaceCurrent3D(token[0],StoI(token[1])); // ps->Weighted(StoB(token[2])); // ps->DivideByArea(StoB(token[3])); +// ps->SetUnit(token[4]); // mesh->SetPrimitiveScorer(ps); -// } else { -// G4cout << "WARNING[" << qCylSurfCurrCmd->GetCommandPath() -// << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; -// mesh->SetNullToCurrentPrimitiveScorer(); -// } -// } else if(command== qCylSurfFluxCmd){ -// if(!mesh->FindPrimitiveScorer(newVal)) { -// mesh->SetPrimitiveScorer( -// new G4PSCylinderSurfaceFlux3D(token[0], StoI(token[1]))); -// } else { -// G4cout << "WARNING[" << qCylSurfFluxCmd->GetCommandPath() -// << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; -// mesh->SetNullToCurrentPrimitiveScorer(); -// } +// } +// } else if(command== qCylSurfFluxCmd){ +// if( CheckMeshPS(mesh, token[0] ) { +// G4PSCylinerSurfaceFlux3D* ps =new G4PSCylinderSurfaceFlux3D(token[0], StoI(token[1])); +// ps->SetUnit(token[2]); +// mesh->SetPrimitiveScorer(ps); +// } } else if(command== qNofCollisionCmd){ - if(!mesh->FindPrimitiveScorer(newVal)) { + if( CheckMeshPS(mesh,token[0])) { G4PSNofCollision3D* ps =new G4PSNofCollision3D(token[0]); ps->Weighted(StoB(token[1])); mesh->SetPrimitiveScorer(ps); - } else { - G4cout << "WARNING[" << qNofCollisionCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + } } else if(command== qPopulationCmd){ - if(!mesh->FindPrimitiveScorer(newVal)) { + if( CheckMeshPS(mesh,token[0]) ) { G4PSPopulation3D* ps =new G4PSPopulation3D(token[0]); ps->Weighted(StoB(token[1])); mesh->SetPrimitiveScorer(ps); - } else { - G4cout << "WARNING[" << qPopulationCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + } } else if(command== qTrackCountCmd){ - if(!mesh->FindPrimitiveScorer(newVal)) { + if( CheckMeshPS(mesh,token[0])) { G4PSTrackCounter3D* ps =new G4PSTrackCounter3D(token[0],StoI(token[1])); mesh->SetPrimitiveScorer(ps); - } else { - G4cout << "WARNING[" << qTrackCountCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + } } else if(command== qTerminationCmd){ - if(!mesh->FindPrimitiveScorer(newVal)) { + if( CheckMeshPS(mesh,token[0])) { G4PSTermination3D* ps =new G4PSTermination3D(token[0]); ps->Weighted(StoB(token[1])); mesh->SetPrimitiveScorer(ps); - } else { - G4cout << "WARNING[" << qTerminationCmd->GetCommandPath() - << "] : Quantity name, \"" << newVal << "\", is already existing." << G4endl; - mesh->SetNullToCurrentPrimitiveScorer(); - } + } + + } else if(command== qMinKinEAtGeneCmd){ + if( CheckMeshPS(mesh,token[0]) ){ + G4PSMinKinEAtGeneration3D* ps =new G4PSMinKinEAtGeneration3D(token[0]); + ps->SetUnit(token[1]); + mesh->SetPrimitiveScorer(ps); + } // // Filters @@ -487,4 +446,14 @@ void G4ScoreQuantityMessenger::FParticleWithEnergyCommand(G4VScoringMesh* mesh,G } mesh->SetFilter(filter); } - + +G4bool G4ScoreQuantityMessenger::CheckMeshPS(G4VScoringMesh* mesh, G4String& psname){ + if(!mesh->FindPrimitiveScorer(psname)) { + return true; + } else { + G4cout << "WARNING[" << qTouchCmd->GetCommandPath() + << "] : Quantity name, \"" << psname << "\", is already existing." << G4endl; + mesh->SetNullToCurrentPrimitiveScorer(); + return false; + } +} diff --git a/source/digits_hits/utils/src/G4ScoreQuantityMessengerQCmd.cc b/source/digits_hits/utils/src/G4ScoreQuantityMessengerQCmd.cc index ee4b0ffe20..0693b54cf1 100644 --- a/source/digits_hits/utils/src/G4ScoreQuantityMessengerQCmd.cc +++ b/source/digits_hits/utils/src/G4ScoreQuantityMessengerQCmd.cc @@ -24,10 +24,13 @@ // ******************************************************************** // // -// $Id: G4ScoreQuantityMessengerQCmd.cc,v 1.6 2007/11/07 04:12:07 akimura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ScoreQuantityMessengerQCmd.cc,v 1.8 2010/11/03 08:29:02 taso Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------- +// Modifications +// 08-Oct-2010 T.Aso remove unit of G4PSPassageCellCurrent. +// --------------------------------------------------------------------- #include "G4ScoreQuantityMessenger.hh" #include "G4ScoringManager.hh" @@ -85,42 +88,99 @@ void G4ScoreQuantityMessenger::QuantityCommands() qTouchCmd->SetGuidance("Assign previously defined quantity to the current quantity."); qTouchCmd->SetParameterName("qname",false); // - qeDepCmd = new G4UIcmdWithAString("/score/quantity/energyDeposit",this); + qGetUnitCmd = new G4UIcmdWithoutParameter("/score/quantity/get/unit",this); + qGetUnitCmd->SetGuidance("Print output unit of the current quantity."); + // + qSetUnitCmd = new G4UIcmdWithAString("/score/quantity/set/unit",this); + qSetUnitCmd->SetGuidance("Set output unit of the current quantity."); + qSetUnitCmd->SetParameterName("unit",false); + + // Primitive Scorers + qeDepCmd = new G4UIcommand("/score/quantity/energyDeposit",this); qeDepCmd->SetGuidance("Energy deposit scorer."); - qeDepCmd->SetParameterName("qname",false); + qeDepCmd-> + SetGuidance("[usage] /score/quantiy/energyDeposit qname unit"); + qeDepCmd->SetGuidance(" qname :(String) scorer name"); + qeDepCmd->SetGuidance(" unit :(String) unit"); + param = new G4UIparameter("qname",'s',false); + qeDepCmd->SetParameter(param); + param = new G4UIparameter("unit",'s',true); + param->SetDefaultValue("MeV"); + qeDepCmd->SetParameter(param); // - qCellChgCmd = new G4UIcmdWithAString("/score/quantity/cellCharge",this); + qCellChgCmd = new G4UIcommand("/score/quantity/cellCharge",this); qCellChgCmd->SetGuidance("Cell charge scorer."); - qCellChgCmd->SetParameterName("qname",false); + qCellChgCmd-> + SetGuidance("[usage] /score/quantiy/cellCharge qname unit"); + qCellChgCmd->SetGuidance(" qname :(String) scorer name"); + qCellChgCmd->SetGuidance(" unit :(String) unit"); + param = new G4UIparameter("qname",'s',false); + qCellChgCmd->SetParameter(param); + param = new G4UIparameter("unit",'s',true); + param->SetDefaultValue("e+"); + qCellChgCmd->SetParameter(param); // - qCellFluxCmd = new G4UIcmdWithAString("/score/quantity/cellFlux",this); + qCellFluxCmd = new G4UIcommand("/score/quantity/cellFlux",this); qCellFluxCmd->SetGuidance("Cell flux scorer."); - qCellFluxCmd->SetParameterName("qname",false); + qCellFluxCmd-> + SetGuidance("[usage] /score/quantiy/cellFlux qname unit"); + qCellFluxCmd->SetGuidance(" qname :(String) scorer name"); + qCellFluxCmd->SetGuidance(" unit :(String) unit"); + param = new G4UIparameter("qname",'s',false); + qCellFluxCmd->SetParameter(param); + param = new G4UIparameter("unit",'s',true); + param->SetDefaultValue("percm2"); + qCellFluxCmd->SetParameter(param); // - qPassCellFluxCmd = new G4UIcmdWithAString("/score/quantity/passageCellFlux",this); + qPassCellFluxCmd = new G4UIcommand("/score/quantity/passageCellFlux",this); qPassCellFluxCmd->SetGuidance("Passage cell flux scorer"); - qPassCellFluxCmd->SetParameterName("qname",false); + qPassCellFluxCmd-> + SetGuidance("[usage] /score/quantiy/passageCellFlux qname unit"); + qPassCellFluxCmd->SetGuidance(" qname :(String) scorer name"); + qPassCellFluxCmd->SetGuidance(" unit :(String) unit"); + param = new G4UIparameter("qname",'s',false); + qPassCellFluxCmd->SetParameter(param); + param = new G4UIparameter("unit",'s',true); + param->SetDefaultValue("percm2"); + qPassCellFluxCmd->SetParameter(param); // - qdoseDepCmd = new G4UIcmdWithAString("/score/quantity/doseDeposit",this); + qdoseDepCmd = new G4UIcommand("/score/quantity/doseDeposit",this); qdoseDepCmd->SetGuidance("Dose deposit scorer."); - qdoseDepCmd->SetParameterName("qname",false); + qdoseDepCmd-> + SetGuidance("[usage] /score/quantiy/doseDeposit qname unit"); + qdoseDepCmd->SetGuidance(" qname :(String) scorer name"); + qdoseDepCmd->SetGuidance(" unit :(String) unit"); + param = new G4UIparameter("qname",'s',false); + qdoseDepCmd->SetParameter(param); + param = new G4UIparameter("unit",'s',true); + param->SetDefaultValue("Gy"); + qdoseDepCmd->SetParameter(param); // - qnOfStepCmd = new G4UIcmdWithAString("/score/quantity/nOfStep",this); + qnOfStepCmd = new G4UIcommand("/score/quantity/nOfStep",this); qnOfStepCmd->SetGuidance("Number of step scorer."); - qnOfStepCmd->SetParameterName("qname",false); + qnOfStepCmd-> + SetGuidance("[usage] /score/quantiy/nOfStep qname"); + qnOfStepCmd->SetGuidance(" qname :(String) scorer name"); + param = new G4UIparameter("qname",'s',false); + qnOfStepCmd->SetParameter(param); // - qnOfSecondaryCmd = new G4UIcmdWithAString("/score/quantity/nOfSecondary",this); + qnOfSecondaryCmd = new G4UIcommand("/score/quantity/nOfSecondary",this); qnOfSecondaryCmd->SetGuidance("Number of secondary scorer."); - qnOfSecondaryCmd->SetParameterName("qname",false); + qnOfSecondaryCmd-> + SetGuidance("[usage] /score/quantiy/nOfSecondary qname"); + qnOfSecondaryCmd->SetGuidance(" qname :(String) scorer name"); + param = new G4UIparameter("qname",'s',false); + qnOfSecondaryCmd->SetParameter(param); // qTrackLengthCmd = new G4UIcommand("/score/quantity/trackLength",this); qTrackLengthCmd->SetGuidance("Track length scorer."); qTrackLengthCmd-> - SetGuidance("[usage] /score/quantiy/trackLength qname wflag kflag vflag "); + SetGuidance("[usage] /score/quantiy/trackLength qname wflag kflag vflag unit"); qTrackLengthCmd->SetGuidance(" qname :(String) scorer name"); qTrackLengthCmd->SetGuidance(" wflag :(Bool) weighted"); qTrackLengthCmd->SetGuidance(" kflag :(Bool) multiply kinetic energy"); qTrackLengthCmd->SetGuidance(" vflag :(Bool) divide by velocity"); + qTrackLengthCmd->SetGuidance(" unit :(String) unit"); param = new G4UIparameter("qname",'s',false); qTrackLengthCmd->SetParameter(param); param = new G4UIparameter("wflag",'b',true); @@ -132,35 +192,47 @@ void G4ScoreQuantityMessenger::QuantityCommands() param = new G4UIparameter("vflag",'b',true); param->SetDefaultValue("false"); qTrackLengthCmd->SetParameter(param); + param = new G4UIparameter("unit",'s',true); + param->SetDefaultValue("mm"); + qTrackLengthCmd->SetParameter(param); // qPassCellCurrCmd = new G4UIcommand("/score/quantity/passageCellCurrent",this); qPassCellCurrCmd->SetGuidance("Passage cell current scorer."); qPassCellCurrCmd-> - SetGuidance("[usage] /score/quantiy/passageCellCurrent qname wflag"); + SetGuidance("[usage] /score/quantiy/passageCellCurrent qname wflag"); + //SetGuidance("[usage] /score/quantiy/passageCellCurrent qname wflag unit"); qPassCellCurrCmd->SetGuidance(" qname :(String) scorer name"); qPassCellCurrCmd->SetGuidance(" wflag :(Bool) weighted"); + //qPassCellCurrCmd->SetGuidance(" unit :(Bool) unit"); param = new G4UIparameter("qname",'s',false); qPassCellCurrCmd->SetParameter(param); param = new G4UIparameter("wflag",'b',true); param->SetDefaultValue("true"); qPassCellCurrCmd->SetParameter(param); + //param = new G4UIparameter("unit",'s',true); + //param->SetDefaultValue("parcm2"); + //qPassCellCurrCmd->SetParameter(param); // qPassTrackLengthCmd = new G4UIcommand("/score/quantity/passageTrackLength",this); qPassTrackLengthCmd->SetGuidance("Passage track length scorer."); qPassTrackLengthCmd-> - SetGuidance("[usage] /score/quantiy/passageTrackLength qname wflag"); + SetGuidance("[usage] /score/quantiy/passageTrackLength qname wflag unit"); qPassTrackLengthCmd->SetGuidance(" qname :(String) scorer name"); qPassTrackLengthCmd->SetGuidance(" wflag :(Bool) weighted"); + qPassTrackLengthCmd->SetGuidance(" unit :(Bool) unit"); param = new G4UIparameter("qname",'s',false); qPassTrackLengthCmd->SetParameter(param); param = new G4UIparameter("wflag",'b',true); param->SetDefaultValue("true"); qPassTrackLengthCmd->SetParameter(param); + param = new G4UIparameter("unit",'s',true); + param->SetDefaultValue("mm"); + qPassTrackLengthCmd->SetParameter(param); // qFlatSurfCurrCmd = new G4UIcommand("/score/quantity/flatSurfaceCurrent",this); qFlatSurfCurrCmd->SetGuidance("Flat surface current Scorer."); qFlatSurfCurrCmd-> - SetGuidance("[usage] /score/quantiy/flatSurfaceCurrent qname dflag wflag aflag"); + SetGuidance("[usage] /score/quantiy/flatSurfaceCurrent qname dflag wflag aflag unit"); qFlatSurfCurrCmd->SetGuidance(" qname :(String) scorer name"); qFlatSurfCurrCmd->SetGuidance(" dflag :(Int) direction flag"); qFlatSurfCurrCmd->SetGuidance(" : 0 = Both In and Out"); @@ -168,6 +240,7 @@ void G4ScoreQuantityMessenger::QuantityCommands() qFlatSurfCurrCmd->SetGuidance(" : 2 = Out only"); qFlatSurfCurrCmd->SetGuidance(" wflag :(Bool) weighted"); qFlatSurfCurrCmd->SetGuidance(" aflag :(Bool) divide by area"); + qFlatSurfCurrCmd->SetGuidance(" unit :(Bool) unit"); param = new G4UIparameter("qname",'s',false); qFlatSurfCurrCmd->SetParameter(param); param = new G4UIparameter("dflag",'i',true); @@ -179,26 +252,33 @@ void G4ScoreQuantityMessenger::QuantityCommands() param = new G4UIparameter("aflag",'b',true); param->SetDefaultValue("true"); qFlatSurfCurrCmd->SetParameter(param); + param = new G4UIparameter("unit",'s',true); + param->SetDefaultValue("percm2"); + qFlatSurfCurrCmd->SetParameter(param); // qFlatSurfFluxCmd = new G4UIcommand("/score/quantity/flatSurfaceFlux",this); qFlatSurfFluxCmd->SetGuidance("Flat surface flux scorer."); qFlatSurfFluxCmd-> - SetGuidance("[usage] /score/quantiy/flatSurfaceFlux qname dflag"); + SetGuidance("[usage] /score/quantiy/flatSurfaceFlux qname dflag unit"); qFlatSurfFluxCmd->SetGuidance(" qname :(String) scorer name"); qFlatSurfFluxCmd->SetGuidance(" dflag :(Int) direction flag"); qFlatSurfFluxCmd->SetGuidance(" : 0 = Both In and Out"); qFlatSurfFluxCmd->SetGuidance(" : 1 = In only"); qFlatSurfFluxCmd->SetGuidance(" : 2 = Out only"); + qFlatSurfFluxCmd->SetGuidance(" unit :(String) unit"); param = new G4UIparameter("qname",'s',false); qFlatSurfFluxCmd->SetParameter(param); param = new G4UIparameter("dflag",'i',true); param->SetDefaultValue("0"); qFlatSurfFluxCmd->SetParameter(param); + param = new G4UIparameter("unit",'s',true); + param->SetDefaultValue("percm2"); + qFlatSurfFluxCmd->SetParameter(param); // // qSphereSurfCurrCmd = new G4UIcommand("/score/quantity/sphereSurfaceCurrent",this); // qSphereSurfCurrCmd->SetGuidance("Sphere surface current Scorer."); // qSphereSurfCurrCmd-> -// SetGuidance("[usage] /score/quantiy/sphereSurfaceCurrent qname dflag wflag aflag"); +// SetGuidance("[usage] /score/quantiy/sphereSurfaceCurrent qname dflag wflag aflag unit"); // qSphereSurfCurrCmd->SetGuidance(" qname :(String) scorer name"); // qSphereSurfCurrCmd->SetGuidance(" dflag :(Int) direction flag"); // qSphereSurfCurrCmd->SetGuidance(" : 0 = Both In and Out"); @@ -206,6 +286,7 @@ void G4ScoreQuantityMessenger::QuantityCommands() // qSphereSurfCurrCmd->SetGuidance(" : 2 = Out only"); // qSphereSurfCurrCmd->SetGuidance(" wflag :(Bool) Weighted"); // qSphereSurfCurrCmd->SetGuidance(" aflag :(Bool) DivideByArea"); +// qSphereSurfCurrCmd->SetGuidance(" unit :(String) unit"); // param = new G4UIparameter("qname",'s',false); // qSphereSurfCurrCmd->SetParameter(param); // param = new G4UIparameter("dflag",'i',true); @@ -216,29 +297,36 @@ void G4ScoreQuantityMessenger::QuantityCommands() // qSphereSurfCurrCmd->SetParameter(param); // param = new G4UIparameter("aflag",'b',true); // param->SetDefaultValue("true"); +// qSphereSurfCurrCmd->SetParameter(param); +// param = new G4UIparameter("unit",'s',true); +// param->SetDefaultValue("percm2"); // qSphereSurfCurrCmd->SetParameter(param); // // qSphereSurfFluxCmd = new G4UIcommand("/score/quantity/sphereSurfaceFlux",this); // qSphereSurfFluxCmd->SetGuidance("Sphere surface Flux Scorer."); // qSphereSurfFluxCmd-> -// SetGuidance("[usage] /score/quantiy/sphereSurfaceFlux qname dflag"); +// SetGuidance("[usage] /score/quantiy/sphereSurfaceFlux qname dflag unit"); // qSphereSurfFluxCmd->SetGuidance(" qname :(String) scorer name"); // qSphereSurfFluxCmd->SetGuidance(" dflag :(Int) direction flag"); // qSphereSurfFluxCmd->SetGuidance(" : 0 = Both In and Out"); // qSphereSurfFluxCmd->SetGuidance(" : 1 = In only"); // qSphereSurfFluxCmd->SetGuidance(" : 2 = Out only"); +// qSphereSurfFluxCmd->SetGuidance(" unit :(String) unit"); // param = new G4UIparameter("qname",'s',false); // qSphereSurfFluxCmd->SetParameter(param); // param = new G4UIparameter("dflag",'i',true); // param->SetDefaultValue("0"); +// qSphereSurfFluxCmd->SetParameter(param); +// param = new G4UIparameter("unit",'s',true); +// param->SetDefaultValue("percm2"); // qSphereSurfFluxCmd->SetParameter(param); // // qCylSurfCurrCmd = new G4UIcommand("/score/quantity/cylinderSurfaceCurrent",this); // qCylSurfCurrCmd->SetGuidance("Cylinder surface current Scorer."); // qCylSurfCurrCmd-> -// SetGuidance("[usage] /score/quantiy/cylinderSurfaceCurrent qname dflag wflag aflag"); +// SetGuidance("[usage] /score/quantiy/cylinderSurfaceCurrent qname dflag wflag aflag unit"); // qCylSurfCurrCmd->SetGuidance(" qname :(String) scorer name"); // qCylSurfCurrCmd->SetGuidance(" dflag :(Int) direction flag"); // qCylSurfCurrCmd->SetGuidance(" : 0 = Both In and Out"); @@ -246,6 +334,7 @@ void G4ScoreQuantityMessenger::QuantityCommands() // qCylSurfCurrCmd->SetGuidance(" : 2 = Out only"); // qCylSurfCurrCmd->SetGuidance(" wflag :(Bool) Weighted"); // qCylSurfCurrCmd->SetGuidance(" aflag :(Bool) DivideByArea"); +// qCylSurfCurrCmd->SetGuidance(" unit :(String) unit"); // param = new G4UIparameter("qname",'s',false); // qCylSurfCurrCmd->SetParameter(param); // param = new G4UIparameter("dflag",'i',true); @@ -256,29 +345,36 @@ void G4ScoreQuantityMessenger::QuantityCommands() // qCylSurfCurrCmd->SetParameter(param); // param = new G4UIparameter("aflag",'b',true); // param->SetDefaultValue("true"); +// qCylSurfCurrCmd->SetParameter(param); +// param = new G4UIparameter("unit",'s',true); +// param->SetDefaultValue("percm2"); // qCylSurfCurrCmd->SetParameter(param); // // qCylSurfFluxCmd = new G4UIcommand("/score/quantity/cylinderSurfaceFlux",this); // qCylSurfFluxCmd->SetGuidance("Cylinder surface Flux Scorer."); // qCylSurfFluxCmd-> -// SetGuidance("[usage] /score/quantiy/cylinderSurfaceFlux qname dflag"); +// SetGuidance("[usage] /score/quantiy/cylinderSurfaceFlux qname dflag unit"); // qCylSurfFluxCmd->SetGuidance(" qname :(String) scorer name"); // qCylSurfFluxCmd->SetGuidance(" dflag :(Int) direction flag"); // qCylSurfFluxCmd->SetGuidance(" : 0 = Both In and Out"); // qCylSurfFluxCmd->SetGuidance(" : 1 = In only"); // qCylSurfFluxCmd->SetGuidance(" : 2 = Out only"); +// qCylSurfFluxCmd->SetGuidance(" unit :(String) unit"); // param = new G4UIparameter("qname",'s',false); // qCylSurfFluxCmd->SetParameter(param); // param = new G4UIparameter("dflag",'i',true); // param->SetDefaultValue("0"); // qCylSurfFluxCmd->SetParameter(param); +// param = new G4UIparameter("unit",'s',true); +// param->SetDefaultValue("percm2"); +// qCylSurfFluxCmd->SetParameter(param); +// // qNofCollisionCmd = new G4UIcommand("/score/quantity/nOfCollision",this); qNofCollisionCmd->SetGuidance("Number of collision scorer."); qNofCollisionCmd-> - SetGuidance("[usage] /score/quantiy/nOfCollision qname wflag"); + SetGuidance("[usage] /score/quantiy/nOfCollision qname wflag"); qNofCollisionCmd->SetGuidance(" qname :(String) scorer name"); - qNofCollisionCmd->SetGuidance(" wflag :(Bool) weighted"); param = new G4UIparameter("qname",'s',false); qNofCollisionCmd->SetParameter(param); param = new G4UIparameter("wflag",'b',true); @@ -288,7 +384,7 @@ void G4ScoreQuantityMessenger::QuantityCommands() qPopulationCmd = new G4UIcommand("/score/quantity/population",this); qPopulationCmd->SetGuidance("Population scorer."); qPopulationCmd-> - SetGuidance("[usage] /score/quantiy/population qname wflag"); + SetGuidance("[usage] /score/quantiy/population qname wflag"); qPopulationCmd->SetGuidance(" qname :(String) scorer name"); qPopulationCmd->SetGuidance(" wflag :(Bool) weighted"); param = new G4UIparameter("qname",'s',false); @@ -301,7 +397,7 @@ void G4ScoreQuantityMessenger::QuantityCommands() qTrackCountCmd = new G4UIcommand("/score/quantity/nOfTrack",this); qTrackCountCmd->SetGuidance("Number of track scorer."); qTrackCountCmd-> - SetGuidance("[usage] /score/quantiy/nOfTrack qname dflag wflag"); + SetGuidance("[usage] /score/quantiy/nOfTrack qname dflag wflag"); qTrackCountCmd->SetGuidance(" qname :(String) scorer name"); qTrackCountCmd->SetGuidance(" dflag :(Int) direction"); qTrackCountCmd->SetGuidance(" : 0 = Both In and Out"); @@ -329,5 +425,14 @@ void G4ScoreQuantityMessenger::QuantityCommands() param = new G4UIparameter("wflag",'b',true); param->SetDefaultValue("false"); qTerminationCmd->SetParameter(param); + + // + qMinKinEAtGeneCmd = new G4UIcommand("/score/quantity/minKinEAtGeneration",this); + qMinKinEAtGeneCmd->SetGuidance("Min Kinetic Energy at Generation"); + qMinKinEAtGeneCmd-> + SetGuidance("[usage] /score/quantiy/minKinEAtGeneration qname"); + qMinKinEAtGeneCmd->SetGuidance(" qname :(String) scorer name"); + param = new G4UIparameter("qname",'s',false); + qMinKinEAtGeneCmd->SetParameter(param); } diff --git a/source/digits_hits/utils/src/G4ScoringBox.cc b/source/digits_hits/utils/src/G4ScoringBox.cc index 6bf822ab9a..b3d44db32c 100644 --- a/source/digits_hits/utils/src/G4ScoringBox.cc +++ b/source/digits_hits/utils/src/G4ScoringBox.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ScoringBox.cc,v 1.54 2008/08/29 02:50:05 akimura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ScoringBox.cc,v 1.61 2010/07/27 01:44:54 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4ScoringBox.hh" @@ -36,9 +36,7 @@ #include "G4PVPlacement.hh" #include "G4PVReplica.hh" #include "G4PVDivision.hh" -#include "G4PVParameterised.hh" #include "G4VisAttributes.hh" -#include "G4ScoringBoxParameterisation.hh" #include "G4VVisManager.hh" #include "G4VScoreColorMap.hh" @@ -56,6 +54,9 @@ G4ScoringBox::G4ScoringBox(G4String wName) fMeshElementLogical(0) { fShape = boxMesh; + fDivisionAxisNames[0] = "X"; + fDivisionAxisNames[1] = "Y"; + fDivisionAxisNames[2] = "Z"; } G4ScoringBox::~G4ScoringBox() @@ -185,46 +186,20 @@ void G4ScoringBox::SetupGeometry(G4VPhysicalVolume * fWorldPhys) { fSize[1]/fNSegment[1], fSize[2]/fNSegment[2]); fMeshElementLogical = new G4LogicalVolume(elementSolid, 0, elementName); - if(fNSegment[2] > 1) - if(fSegmentPositions.size() > 0) { - if(verboseLevel > 9) G4cout << "G4ScoringBox::Construct() : Parameterise to z direction" << G4endl; - G4double motherDims[3] ={fSize[0]/fNSegment[0], - fSize[1]/fNSegment[1], - fSize[2]/fNSegment[2]}; - G4int nelement = fNSegment[2]; - fSegmentPositions.push_back(fSize[2]*2.); - //G4ScoringBoxParameterisation * param = - G4VPVParameterisation * param = - new G4ScoringBoxParameterisation(kZAxis, motherDims, fSegmentPositions); - new G4PVParameterised(elementName, - fMeshElementLogical, - layerLogical[1], - kZAxis, - nelement, - param); + if(fNSegment[2] > 1) { + if(verboseLevel > 9) G4cout << "G4ScoringBox::Construct() : Replicate to z direction" << G4endl; - if(verboseLevel > 9) { - G4cout << motherDims[0] << ", " << motherDims[1] << ", " << motherDims[2] << G4endl; - for(int i = 0; i < (int)fSegmentPositions.size(); i++) - G4cout << fSegmentPositions[i] << ", "; - G4cout << G4endl; - } - - } else { - if(verboseLevel > 9) G4cout << "G4ScoringBox::Construct() : Replicate to z direction" << G4endl; - - if(G4ScoringManager::GetReplicaLevel()>2) - { - new G4PVReplica(elementName, fMeshElementLogical, layerLogical[1], kZAxis, + if(G4ScoringManager::GetReplicaLevel()>2) + { + new G4PVReplica(elementName, fMeshElementLogical, layerLogical[1], kZAxis, fNSegment[2], 2.*fSize[2]/fNSegment[2]); - } - else - { - new G4PVDivision(elementName, fMeshElementLogical, layerLogical[1], kZAxis, - fNSegment[2], 0.); - } } - else if(fNSegment[2] == 1) { + else + { + new G4PVDivision(elementName, fMeshElementLogical, layerLogical[1], kZAxis, + fNSegment[2], 0.); + } + } else if(fNSegment[2] == 1) { if(verboseLevel > 9) G4cout << "G4ScoringBox::Construct() : Placement" << G4endl; new G4PVPlacement(0, G4ThreeVector(0.,0.,0.), fMeshElementLogical, elementName, layerLogical[1], false, 0); } else @@ -291,6 +266,7 @@ void G4ScoringBox::Draw(std::map * map, G4VScoreColorMap* colo std::vector > xzcell; // xzcell[X][Z] for(int x = 0; x < fNSegment[0]; x++) xzcell.push_back(ez); + // search max. & min. values in each slice G4double xymin = DBL_MAX, yzmin = DBL_MAX, xzmin = DBL_MAX; G4double xymax = 0., yzmax = 0., xzmax = 0.; G4int q[3]; @@ -298,15 +274,15 @@ void G4ScoringBox::Draw(std::map * map, G4VScoreColorMap* colo for(; itr != map->end(); itr++) { GetXYZ(itr->first, q); - xycell[q[0]][q[1]] += *(itr->second); + xycell[q[0]][q[1]] += *(itr->second)/fDrawUnitValue; if(xymin > xycell[q[0]][q[1]]) xymin = xycell[q[0]][q[1]]; if(xymax < xycell[q[0]][q[1]]) xymax = xycell[q[0]][q[1]]; - yzcell[q[1]][q[2]] += *(itr->second); + yzcell[q[1]][q[2]] += *(itr->second)/fDrawUnitValue; if(yzmin > yzcell[q[1]][q[2]]) yzmin = yzcell[q[1]][q[2]]; if(yzmax < yzcell[q[1]][q[2]]) yzmax = yzcell[q[1]][q[2]]; - xzcell[q[0]][q[2]] += *(itr->second); + xzcell[q[0]][q[2]] += *(itr->second)/fDrawUnitValue; if(xzmin > xzcell[q[0]][q[2]]) xzmin = xzcell[q[0]][q[2]]; if(xzmax < xzcell[q[0]][q[2]]) xzmax = xzcell[q[0]][q[2]]; } @@ -403,6 +379,8 @@ void G4ScoringBox::Draw(std::map * map, G4VScoreColorMap* colo } } } + colorMap->SetPSUnit(fDrawUnit); + colorMap->SetPSName(fDrawPSName); colorMap->DrawColorChart(); } @@ -428,8 +406,8 @@ G4int G4ScoringBox::GetIndex(G4int x, G4int y, G4int z) const { return x + y*fNSegment[0] + z*fNSegment[0]*fNSegment[1]; } -void G4ScoringBox::DrawColumn(std::map * map, G4VScoreColorMap* colorMap, - G4int idxProj, G4int idxColumn) +void G4ScoringBox::DrawColumn(std::map * map, G4VScoreColorMap* colorMap, + G4int idxProj, G4int idxColumn) { if(idxColumn<0 || idxColumn>=fNSegment[idxProj]) { @@ -459,6 +437,7 @@ void G4ScoringBox::DrawColumn(std::map * map, G4VScoreColorMap std::vector > xzcell; // xzcell[X][Z] for(int x = 0; x < fNSegment[0]; x++) xzcell.push_back(ez); + // search max. & min. values in each slice G4double xymax = 0., yzmax = 0., xzmax = 0.; G4int q[3]; std::map::iterator itr = map->begin(); @@ -466,15 +445,15 @@ void G4ScoringBox::DrawColumn(std::map * map, G4VScoreColorMap GetXYZ(itr->first, q); if(idxProj == 0 && q[2] == idxColumn) { // xy plane - xycell[q[0]][q[1]] += *(itr->second); + xycell[q[0]][q[1]] += *(itr->second)/fDrawUnitValue; if(xymax < xycell[q[0]][q[1]]) xymax = xycell[q[0]][q[1]]; } if(idxProj == 1 && q[0] == idxColumn) { // yz plane - yzcell[q[1]][q[2]] += *(itr->second); + yzcell[q[1]][q[2]] += *(itr->second)/fDrawUnitValue; if(yzmax < yzcell[q[1]][q[2]]) yzmax = yzcell[q[1]][q[2]]; } if(idxProj == 2 && q[1] == idxColumn) { // zx plane - xzcell[q[0]][q[2]] += *(itr->second); + xzcell[q[0]][q[2]] += *(itr->second)/fDrawUnitValue; if(xzmax < xzcell[q[0]][q[2]]) xzmax = xzcell[q[0]][q[2]]; } } @@ -551,6 +530,8 @@ void G4ScoringBox::DrawColumn(std::map * map, G4VScoreColorMap } } + colorMap->SetPSUnit(fDrawUnit); + colorMap->SetPSName(fDrawPSName); colorMap->DrawColorChart(); } diff --git a/source/digits_hits/utils/src/G4ScoringBoxParameterisation.cc b/source/digits_hits/utils/src/G4ScoringBoxParameterisation.cc deleted file mode 100644 index 32e1e2ecca..0000000000 --- a/source/digits_hits/utils/src/G4ScoringBoxParameterisation.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. * -// ******************************************************************** -// - -#include "G4ScoringBoxParameterisation.hh" - -#include "G4VPhysicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4Box.hh" - -G4ScoringBoxParameterisation::G4ScoringBoxParameterisation(EAxis segaxis, - G4double motherDimension[3], - std::vector & segpos) - : fSegmentAxis(segaxis), fSegmentPositions(segpos) { - - for(int i = 0; i < 3; i++) fMotherDimensions[i] = motherDimension[i]; -} - -G4ScoringBoxParameterisation::~G4ScoringBoxParameterisation() { - ; -} - -void G4ScoringBoxParameterisation::ComputeTransformation(const G4int copyNo, - G4VPhysicalVolume *physVol) const { - G4ThreeVector trans; - - G4double pos; - if(copyNo == 0) - pos = fSegmentPositions[copyNo]/2.; - else - pos = (fSegmentPositions[copyNo-1] + fSegmentPositions[copyNo])/2.; - - if(fSegmentAxis == kXAxis) { - trans[0] = pos - fMotherDimensions[0]; - } - if(fSegmentAxis == kYAxis) { - trans[1] = pos - fMotherDimensions[1]; - } - if(fSegmentAxis == kZAxis) { - trans[2] = pos - fMotherDimensions[2]; - } - - physVol->SetTranslation(trans); - -} - -void G4ScoringBoxParameterisation::ComputeDimensions(G4Box & meshElement, - const G4int copyNo, - const G4VPhysicalVolume*) const { - - G4double dims[3] = {fMotherDimensions[0],fMotherDimensions[1],fMotherDimensions[2]}; - - G4double dim; - if(copyNo == 0) - dim = fSegmentPositions[copyNo]/2.; - else - dim = (fSegmentPositions[copyNo] - fSegmentPositions[copyNo-1])/2.; - - if(fSegmentAxis == kXAxis) { - dims[0] = dim; - } - if(fSegmentAxis == kYAxis) { - dims[1] = dim; - } - if(fSegmentAxis == kZAxis) { - dims[2] = dim; - } - - meshElement.SetXHalfLength(dims[0]); - meshElement.SetYHalfLength(dims[1]); - meshElement.SetZHalfLength(dims[2]); -} diff --git a/source/digits_hits/utils/src/G4ScoringCylinder.cc b/source/digits_hits/utils/src/G4ScoringCylinder.cc index 88611d9278..f01f0cbfa5 100644 --- a/source/digits_hits/utils/src/G4ScoringCylinder.cc +++ b/source/digits_hits/utils/src/G4ScoringCylinder.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ScoringCylinder.cc,v 1.6 2008/08/29 02:50:05 akimura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ScoringCylinder.cc,v 1.16 2010/08/30 08:15:20 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4ScoringCylinder.hh" @@ -37,9 +37,7 @@ #include "G4PVPlacement.hh" #include "G4PVReplica.hh" #include "G4PVDivision.hh" -#include "G4PVParameterised.hh" #include "G4VisAttributes.hh" -//#include "G4ScoringCylinderParameterisation.hh" #include "G4VVisManager.hh" #include "G4VScoreColorMap.hh" @@ -54,15 +52,17 @@ G4ScoringCylinder::G4ScoringCylinder(G4String wName) - :G4VScoringMesh(wName), fSegmentDirection(-1), - fMeshElementLogical(0) + :G4VScoringMesh(wName), fMeshElementLogical(0) { fShape = cylinderMesh; + + fDivisionAxisNames[0] = "Z"; + fDivisionAxisNames[1] = "PHI"; + fDivisionAxisNames[2] = "R"; } G4ScoringCylinder::~G4ScoringCylinder() -{ -} +{;} void G4ScoringCylinder::Construct(G4VPhysicalVolume* fWorldPhys) { @@ -90,168 +90,120 @@ void G4ScoringCylinder::SetupGeometry(G4VPhysicalVolume * fWorldPhys) { // Scoring Mesh if(verboseLevel > 9) G4cout << fWorldName << G4endl; - G4String tubsName = fWorldName; + G4String tubsName = fWorldName+"_mesh"; - if(verboseLevel > 9) G4cout << fSize[0] << ", " << fSize[1] << G4endl; + if(verboseLevel > 9) G4cout << "R max., Dz =: " << fSize[0] << ", " << fSize[1] << G4endl; G4VSolid * tubsSolid = new G4Tubs(tubsName+"0", // name 0., // R min fSize[0], // R max - fSize[1], // dZ + fSize[1], // Dz 0., // starting phi - twopi*rad); // segment phi + twopi*rad); // segment phi G4LogicalVolume * tubsLogical = new G4LogicalVolume(tubsSolid, 0, tubsName); new G4PVPlacement(fRotationMatrix, fCenterPosition, tubsLogical, tubsName+"0", worldLogical, false, 0); + if(verboseLevel > 9) G4cout << " # of segments : r, phi, z =: " + << fNSegment[IR] << ", " << fNSegment[IPHI] << ", " << fNSegment[IZ] << G4endl; G4String layerName[2] = {tubsName + "1", tubsName + "2"}; G4VSolid * layerSolid[2]; G4LogicalVolume * layerLogical[2]; - //-- fisrt nested layer (replicated along r direction) + //-- fisrt nested layer (replicated along z direction) if(verboseLevel > 9) G4cout << "layer 1 :" << G4endl; - layerSolid[0] = new G4Tubs(layerName[0], - 0., - fSize[0]/fNSegment[0], - fSize[1], - 0., twopi*rad); + layerSolid[0] = new G4Tubs(layerName[0], // name + 0., // inner radius + fSize[0], // outer radius + fSize[1]/fNSegment[IZ], // half len. in z + 0., // starting phi angle + twopi*rad); // delta angle of the segment layerLogical[0] = new G4LogicalVolume(layerSolid[0], 0, layerName[0]); - if(fNSegment[0] > 1) { - if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Replicate along r direction" << G4endl; - G4double r = fSize[0]/fNSegment[0]; - //if(G4ScoringManager::GetReplicaLevel()>0) { - if(false) { // always use G4PVDivision + if(fNSegment[IZ] > 1) { + if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Replicate along z direction" << G4endl; + if(G4ScoringManager::GetReplicaLevel()>0) { if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Replica" << G4endl; - new G4PVReplica(layerName[0], layerLogical[0], tubsLogical, kRho, - fNSegment[0], r, 0.); + new G4PVReplica(layerName[0], layerLogical[0], tubsLogical, kZAxis, fNSegment[IZ], 2.*fSize[1]/fNSegment[IZ]); } else { if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Division" << G4endl; - new G4PVDivision(layerName[0], layerLogical[0], tubsLogical, kRho, - fNSegment[0], 0.); + new G4PVDivision(layerName[0], layerLogical[0], tubsLogical, kZAxis, fNSegment[IZ], 0.); } - } else if(fNSegment[0] == 1) { + } else if(fNSegment[IZ] == 1) { if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Placement" << G4endl; new G4PVPlacement(0, G4ThreeVector(0.,0.,0.), layerLogical[0], layerName[0], tubsLogical, false, 0); } else { G4cerr << "G4ScoringCylinder::SetupGeometry() : invalid parameter (" - << fNSegment[0] << ") " + << fNSegment[IZ] << ") " << "in placement of the first nested layer." << G4endl; } - if(verboseLevel > 9) { - G4cout << fSize[0] << ", " - << fSize[1] - << G4endl; - G4cout << layerName[0] << ": kRho, " - << fNSegment[0] << ", " - << fSize[0]/fNSegment[0] << G4endl; - } - - // second nested layer (replicated along z direction) + // second nested layer (replicated along phi direction) if(verboseLevel > 9) G4cout << "layer 2 :" << G4endl; layerSolid[1] = new G4Tubs(layerName[1], 0., - fSize[0],///fNSegment[0], - fSize[1]/fNSegment[1], - 0., twopi*rad); + fSize[0], + fSize[1]/fNSegment[IZ], + 0., + twopi*rad/fNSegment[IPHI]); layerLogical[1] = new G4LogicalVolume(layerSolid[1], 0, layerName[1]); - if(fNSegment[1] > 1) { - if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Replicate along z direction" << G4endl; - G4double width = fSize[1]/fNSegment[1]*2.; - //if(G4ScoringManager::GetReplicaLevel()>1) { - if(false) { // always use G4PVDivision + if(fNSegment[IPHI] > 1) { + if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Replicate along phi direction" << G4endl; + if(G4ScoringManager::GetReplicaLevel()>1) { if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Replica" << G4endl; - new G4PVReplica(layerName[1], layerLogical[1], layerLogical[0], kZAxis, - fNSegment[1], width); + new G4PVReplica(layerName[1], layerLogical[1], layerLogical[0], kPhi, + fNSegment[IPHI], twopi*rad/fNSegment[IPHI]); } else { if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Division" << G4endl; - new G4PVDivision(layerName[1], layerLogical[1], layerLogical[0], kZAxis, - fNSegment[1], 0.); + new G4PVDivision(layerName[1], layerLogical[1], layerLogical[0], kPhi, fNSegment[IPHI], 0.); } - } else if(fNSegment[1] == 1) { + } else if(fNSegment[IPHI] == 1) { if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Placement" << G4endl; new G4PVPlacement(0, G4ThreeVector(0.,0.,0.), layerLogical[1], layerName[1], layerLogical[0], false, 0); } else G4cerr << "ERROR : G4ScoringCylinder::SetupGeometry() : invalid parameter (" - << fNSegment[1] << ") " + << fNSegment[IPHI] << ") " << "in placement of the second nested layer." << G4endl; - if(verboseLevel > 9) { - G4cout << fSize[0]/fNSegment[0] << ", " - << fSize[1]/fNSegment[1] << G4endl; - G4cout << layerName[1] << ": kZAxis, " - << fNSegment[1] << ", " - << fSize[1]/fNSegment[1] << G4endl; - } - - // mesh elements if(verboseLevel > 9) G4cout << "mesh elements :" << G4endl; G4String elementName = tubsName +"3"; G4VSolid * elementSolid = new G4Tubs(elementName, 0., - fSize[0],//fNSegment[0], - fSize[1]/fNSegment[1], - 0., twopi*rad/fNSegment[2]); + fSize[0]/fNSegment[IR], + fSize[1]/fNSegment[IZ], + 0., + twopi*rad/fNSegment[IPHI]); fMeshElementLogical = new G4LogicalVolume(elementSolid, 0, elementName); - if(fNSegment[2] > 1) { + if(fNSegment[IR] > 1) { - /* - if(fSegmentPositions.size() > 0) { - G4double motherDims[3] ={fSize[0]/fsegParam[2][0], - fSize[1]/fsegParam[2][1], - fSize[2]/fsegParam[2][2]}; - G4int nelement = fSegmentPositions.size() + 1; - //G4ScoringCylinderParameterisation * param = - G4VPVParameterisation * param = - new G4ScoringCylinderParameterisation(axis[2], motherDims, fSegmentPositions); - new G4PVParameterised(elementName, - fMeshElementLogical, - layerLogical[1], - axis[2], - nelement, - param); - } else { - */ - if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Replicate along phi direction" << G4endl; + if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Replicate along r direction" << G4endl; - G4double angle = twopi*rad/fNSegment[2]; - //if(G4ScoringManager::GetReplicaLevel()>2) { - if(false) { // always use G4PVDivision + if(G4ScoringManager::GetReplicaLevel()>2) { if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Replica" << G4endl; - new G4PVReplica(elementName, fMeshElementLogical, layerLogical[1], kPhi, - fNSegment[2], angle, 0.); + new G4PVReplica(elementName, fMeshElementLogical, layerLogical[1], kRho, + fNSegment[IR], fSize[0]/fNSegment[IR]); } else { if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Division" << G4endl; - new G4PVDivision(elementName, fMeshElementLogical, layerLogical[1], kPhi, - fNSegment[2], 0.); + new G4PVDivision(elementName, fMeshElementLogical, layerLogical[1], kRho, fNSegment[IR], 0.); } - //} - } else if(fNSegment[2] == 1) { + } else if(fNSegment[IR] == 1) { if(verboseLevel > 9) G4cout << "G4ScoringCylinder::Construct() : Placement" << G4endl; new G4PVPlacement(0, G4ThreeVector(0.,0.,0.), fMeshElementLogical, elementName, layerLogical[1], false, 0); } else { G4cerr << "G4ScoringCylinder::SetupGeometry() : " - << "invalid parameter (" << fNSegment[2] << ") " + << "invalid parameter (" << fNSegment[IR] << ") " << "in mesh element placement." << G4endl; } - if(verboseLevel > 9) { - G4cout << fSize[0]/fNSegment[0] << ", " - << fSize[1]/fNSegment[1] << G4endl; - G4cout << elementName << ": kPhi, " - << fNSegment[2] << G4endl; - } - // set the sensitive detector fMeshElementLogical->SetSensitiveDetector(fMFD); // vis. attributes - G4VisAttributes * visatt = new G4VisAttributes(G4Colour(.5,.5,.5,0.1)); + G4VisAttributes * visatt = new G4VisAttributes(G4Colour(.5,.5,.5)); visatt->SetVisibility(true); - //layerLogical[0]->SetVisAttributes(visatt); - //layerLogical[1]->SetVisAttributes(visatt); + layerLogical[0]->SetVisAttributes(visatt); + layerLogical[1]->SetVisAttributes(visatt); visatt = new G4VisAttributes(G4Colour(.5,.5,.5,0.01)); //visatt->SetForceSolid(true); fMeshElementLogical->SetVisAttributes(visatt); @@ -271,48 +223,39 @@ void G4ScoringCylinder::List() const { void G4ScoringCylinder::Draw(std::map * map, G4VScoreColorMap* colorMap, G4int axflg) { - G4VVisManager * pVisManager = G4VVisManager::GetConcreteInstance(); if(pVisManager) { // cell vectors - std::vector > > cell; // cell[R][Z][PHI] std::vector ephi; - for(int phi = 0; phi < fNSegment[2]; phi++) ephi.push_back(0.); - std::vector > ezphi; - for(int z = 0; z < fNSegment[1]; z++) ezphi.push_back(ephi); - for(int r = 0; r < fNSegment[0]; r++) cell.push_back(ezphi); - - std::vector > rzcell; // rzcell[R][Z] - std::vector ez; - for(int z = 0; z < fNSegment[1]; z++) ez.push_back(0.); - for(int r = 0; r < fNSegment[0]; r++) rzcell.push_back(ez); - + for(int phi = 0; phi < fNSegment[IPHI]; phi++) ephi.push_back(0.); + //- std::vector > zphicell; // zphicell[Z][PHI] - for(int z = 0; z < fNSegment[1]; z++) zphicell.push_back(ephi); - + for(int z = 0; z < fNSegment[IZ]; z++) zphicell.push_back(ephi); + //- std::vector > rphicell; // rphicell[R][PHI] - for(int r = 0; r < fNSegment[0]; r++) rphicell.push_back(ephi); + for(int r = 0; r < fNSegment[IR]; r++) rphicell.push_back(ephi); // search max. values - G4double rzmin = DBL_MAX, zphimin = DBL_MAX, rphimin = DBL_MAX; - G4double rzmax = 0., zphimax = 0., rphimax = 0.; + G4double zphimin = DBL_MAX, rphimin = DBL_MAX; + G4double zphimax = 0., rphimax = 0.; G4int q[3]; std::map::iterator itr = map->begin(); for(; itr != map->end(); itr++) { + if(itr->first < 0) { + G4cout << itr->first << G4endl; + continue; + } GetRZPhi(itr->first, q); - rzcell[q[0]][q[1]] += *(itr->second); - if(rzmin > rzcell[q[0]][q[1]]) rzmin = rzcell[q[0]][q[1]]; - if(rzmax < rzcell[q[0]][q[1]]) rzmax = rzcell[q[0]][q[1]]; - - zphicell[q[1]][q[2]] += *(itr->second); - if(zphimin > zphicell[q[1]][q[2]]) zphimin = zphicell[q[1]][q[2]]; - if(zphimax < zphicell[q[1]][q[2]]) zphimax = zphicell[q[1]][q[2]]; - - rphicell[q[0]][q[2]] += *(itr->second); - if(rphimin > rphicell[q[0]][q[2]]) rphimin = rphicell[q[0]][q[2]]; - if(rphimax < rphicell[q[0]][q[2]]) rphimax = rphicell[q[0]][q[2]]; + // projections + zphicell[q[IZ]][q[IPHI]] += *(itr->second)/fDrawUnitValue; + if(zphimin > zphicell[q[IZ]][q[IPHI]]) zphimin = zphicell[q[IZ]][q[IPHI]]; + if(zphimax < zphicell[q[IZ]][q[IPHI]]) zphimax = zphicell[q[IZ]][q[IPHI]]; + //- + rphicell[q[IR]][q[IPHI]] += *(itr->second)/fDrawUnitValue; + if(rphimin > rphicell[q[IR]][q[IPHI]]) rphimin = rphicell[q[IR]][q[IPHI]]; + if(rphimax < rphicell[q[IR]][q[IPHI]]) rphimax = rphicell[q[IR]][q[IPHI]]; } G4VisAttributes att; @@ -329,22 +272,18 @@ void G4ScoringCylinder::Draw(std::map * map, G4VScoreColorMap* // z-phi plane if(colorMap->IfFloatMinMax()) { colorMap->SetMinMax(zphimin, zphimax); } - G4double zhalf = fSize[1]/fNSegment[1]; - for(int phi = 0; phi < fNSegment[2]; phi++) { - for(int z = 0; z < fNSegment[1]; z++) { - - G4double angle = twopi/fNSegment[2]*phi; - G4double dphi = twopi/fNSegment[2]; - G4Tubs cylinder("z-phi", fSize[0]*0.99, fSize[0], zhalf, - angle, dphi*0.99999); - /* - G4cout << ">>>> " - << fSize[1]/fNSegment[1]/2. << " : " - << angle << " - " << angle + dphi - << G4endl; - */ - - G4ThreeVector zpos(0., 0., -fSize[1] + fSize[1]/fNSegment[1]*(1 + 2.*z)); + G4double zhalf = fSize[1]/fNSegment[IZ]; + for(int phi = 0; phi < fNSegment[IPHI]; phi++) { + for(int z = 0; z < fNSegment[IZ]; z++) { + //- + G4double angle = twopi/fNSegment[IPHI]*phi; + G4double dphi = twopi/fNSegment[IPHI]; + G4Tubs cylinder("z-phi", // name + fSize[0]*0.99, fSize[0], // inner radius, outer radius + zhalf, // half length in z + angle, dphi*0.99999); // starting phi angle, delta angle + //- + G4ThreeVector zpos(0., 0., -fSize[1] + fSize[1]/fNSegment[IZ]*(1 + 2.*z)); G4Transform3D trans; if(fRotationMatrix) { trans = G4Rotate3D(*fRotationMatrix).inverse()*G4Translate3D(zpos); @@ -355,10 +294,7 @@ void G4ScoringCylinder::Draw(std::map * map, G4VScoreColorMap* G4double c[4]; colorMap->GetMapColor(zphicell[z][phi], c); att.SetColour(c[0], c[1], c[2]);//, c[3]); - /* - G4cout << " " << c[0] << ", " - << c[1] << ", " << c[2] << G4endl; - */ + //- pVisManager->Draw(cylinder, att, trans); } } @@ -368,13 +304,13 @@ void G4ScoringCylinder::Draw(std::map * map, G4VScoreColorMap* // r-phi plane if(colorMap->IfFloatMinMax()) { colorMap->SetMinMax(rphimin, rphimax); } - G4double rsize = fSize[0]/fNSegment[0]; - for(int phi = 0; phi < fNSegment[2]; phi++) { - for(int r = 0; r < fNSegment[0]; r++) { + G4double rsize = fSize[0]/fNSegment[IR]; + for(int phi = 0; phi < fNSegment[IPHI]; phi++) { + for(int r = 0; r < fNSegment[IR]; r++) { G4double rs[2] = {rsize*r, rsize*(r+1)}; - G4double angle = twopi/fNSegment[2]*phi; - G4double dphi = twopi/fNSegment[2]; + G4double angle = twopi/fNSegment[IPHI]*phi; + G4double dphi = twopi/fNSegment[IPHI]; G4Tubs cylinder("z-phi", rs[0], rs[1], 0.001, angle, dphi*0.99999); /* @@ -408,60 +344,80 @@ void G4ScoringCylinder::Draw(std::map * map, G4VScoreColorMap* } } } + + colorMap->SetPSUnit(fDrawUnit); + colorMap->SetPSName(fDrawPSName); colorMap->DrawColorChart(); + } } void G4ScoringCylinder::DrawColumn(std::map * map, G4VScoreColorMap* colorMap, G4int idxProj, G4int idxColumn) { + G4int projAxis = 0; + switch(idxProj) { + case 0: + projAxis = IR; + break; + case 1: + projAxis = IZ; + break; + case 2: + projAxis = IPHI; + break; + } - if(idxColumn<0 || idxColumn>=fNSegment[idxProj]) + if(idxColumn<0 || idxColumn>=fNSegment[projAxis]) { - G4cerr << "ERROR : Column number " << idxColumn << " is out of scoring mesh [0," << fNSegment[idxProj]-1 << + G4cerr << "Warning : Column number " << idxColumn << " is out of scoring mesh [0," << fNSegment[projAxis]-1 << "]. Method ignored." << G4endl; return; } G4VVisManager * pVisManager = G4VVisManager::GetConcreteInstance(); if(pVisManager) { - + // cell vectors std::vector > > cell; // cell[R][Z][PHI] std::vector ephi; - for(int phi = 0; phi < fNSegment[2]; phi++) ephi.push_back(0.); + for(int phi = 0; phi < fNSegment[IPHI]; phi++) ephi.push_back(0.); std::vector > ezphi; - for(int z = 0; z < fNSegment[1]; z++) ezphi.push_back(ephi); - for(int r = 0; r < fNSegment[0]; r++) cell.push_back(ezphi); + for(int z = 0; z < fNSegment[IZ]; z++) ezphi.push_back(ephi); + for(int r = 0; r < fNSegment[IR]; r++) cell.push_back(ezphi); std::vector > rzcell; // rzcell[R][Z] std::vector ez; - for(int z = 0; z < fNSegment[1]; z++) ez.push_back(0.); - for(int r = 0; r < fNSegment[0]; r++) rzcell.push_back(ez); + for(int z = 0; z < fNSegment[IZ]; z++) ez.push_back(0.); + for(int r = 0; r < fNSegment[IR]; r++) rzcell.push_back(ez); std::vector > zphicell; // zphicell[Z][PHI] - for(int z = 0; z < fNSegment[1]; z++) zphicell.push_back(ephi); + for(int z = 0; z < fNSegment[IZ]; z++) zphicell.push_back(ephi); std::vector > rphicell; // rphicell[R][PHI] - for(int r = 0; r < fNSegment[0]; r++) rphicell.push_back(ephi); + for(int r = 0; r < fNSegment[IR]; r++) rphicell.push_back(ephi); // search max. values G4double rzmax = 0., zphimax = 0., rphimax = 0.; G4int q[3]; std::map::iterator itr = map->begin(); for(; itr != map->end(); itr++) { + if(itr->first < 0) { + G4cout << itr->first << G4endl; + continue; + } GetRZPhi(itr->first, q); - if(idxProj == 0 && q[0] == idxColumn) { // zphi plane - zphicell[q[1]][q[2]] += *(itr->second); - if(zphimax < zphicell[q[1]][q[2]]) zphimax = zphicell[q[1]][q[2]]; + if(projAxis == IR && q[IR] == idxColumn) { // zphi plane + zphicell[q[IZ]][q[IPHI]] += *(itr->second)/fDrawUnitValue; + if(zphimax < zphicell[q[IZ]][q[IPHI]]) zphimax = zphicell[q[IZ]][q[IPHI]]; } - if(idxProj == 1 && q[1] == idxColumn) { // rphi plane - rphicell[q[0]][q[2]] += *(itr->second); - if(rphimax < rphicell[q[0]][q[2]]) rphimax = rphicell[q[0]][q[2]]; + if(projAxis == IZ && q[IZ] == idxColumn) { // rphi plane + rphicell[q[IR]][q[IPHI]] += *(itr->second)/fDrawUnitValue; + if(rphimax < rphicell[q[IR]][q[IPHI]]) rphimax = rphicell[q[IR]][q[IPHI]]; } - if(idxProj == 2 && q[2] == idxColumn) { // rz plane - rzcell[q[0]][q[1]] += *(itr->second); - if(rzmax < rzcell[q[0]][q[1]]) rzmax = rzcell[q[0]][q[1]]; + if(projAxis == IPHI && q[IPHI] == idxColumn) { // rz plane + rzcell[q[IR]][q[IZ]] += *(itr->second)/fDrawUnitValue; + if(rzmax < rzcell[q[IR]][q[IZ]]) rzmax = rzcell[q[IR]][q[IZ]]; } } @@ -471,22 +427,22 @@ void G4ScoringCylinder::DrawColumn(std::map * map, G4VScoreCol G4Scale3D scale; - // r-phi plane - if(idxProj == 0) { + // z-phi plane + if(projAxis == IR) { if(colorMap->IfFloatMinMax()) { colorMap->SetMinMax(0.,zphimax); } - G4double zhalf = fSize[1]/fNSegment[1]; - G4double rsize[2] = {fSize[0]/fNSegment[0]*idxColumn, - fSize[0]/fNSegment[0]*(idxColumn+1)}; - for(int phi = 0; phi < fNSegment[2]; phi++) { - for(int z = 0; z < fNSegment[1]; z++) { + G4double zhalf = fSize[1]/fNSegment[IZ]; + G4double rsize[2] = {fSize[0]/fNSegment[IR]*idxColumn, + fSize[0]/fNSegment[IR]*(idxColumn+1)}; + for(int phi = 0; phi < fNSegment[IPHI]; phi++) { + for(int z = 0; z < fNSegment[IZ]; z++) { - G4double angle = twopi/fNSegment[2]*phi*radian; - G4double dphi = twopi/fNSegment[2]*radian; + G4double angle = twopi/fNSegment[IPHI]*phi*radian; + G4double dphi = twopi/fNSegment[IPHI]*radian; G4Tubs cylinder("z-phi", rsize[0], rsize[1], zhalf, angle, dphi*0.99999); - G4ThreeVector zpos(0., 0., -fSize[1] + fSize[1]/fNSegment[1]*(1 + 2.*z)); + G4ThreeVector zpos(0., 0., -fSize[1] + fSize[1]/fNSegment[IZ]*(1 + 2.*z)); G4Transform3D trans; if(fRotationMatrix) { trans = G4Rotate3D(*fRotationMatrix).inverse()*G4Translate3D(zpos); @@ -502,21 +458,21 @@ void G4ScoringCylinder::DrawColumn(std::map * map, G4VScoreCol } // r-phi plane - } else if(idxProj == 1) { + } else if(projAxis == IZ) { if(colorMap->IfFloatMinMax()) { colorMap->SetMinMax(0.,rphimax); } - G4double rsize = fSize[0]/fNSegment[0]; - for(int phi = 0; phi < fNSegment[2]; phi++) { - for(int r = 0; r < fNSegment[0]; r++) { + G4double rsize = fSize[0]/fNSegment[IR]; + for(int phi = 0; phi < fNSegment[IPHI]; phi++) { + for(int r = 0; r < fNSegment[IR]; r++) { G4double rs[2] = {rsize*r, rsize*(r+1)}; - G4double angle = twopi/fNSegment[2]*phi*radian; - G4double dz = fSize[1]/fNSegment[1]; - G4double dphi = twopi/fNSegment[2]*radian; + G4double angle = twopi/fNSegment[IPHI]*phi*radian; + G4double dz = fSize[1]/fNSegment[IZ]; + G4double dphi = twopi/fNSegment[IPHI]*radian; G4Tubs cylinder("r-phi", rs[0], rs[1], dz, angle, dphi*0.99999); G4ThreeVector zpos(0., 0., - -fSize[1]+fSize[1]/fNSegment[1]*(idxColumn*2+1)); + -fSize[1]+fSize[1]/fNSegment[IZ]*(idxColumn*2+1)); G4Transform3D trans; if(fRotationMatrix) { trans = G4Rotate3D(*fRotationMatrix).inverse()*G4Translate3D(zpos); @@ -532,22 +488,22 @@ void G4ScoringCylinder::DrawColumn(std::map * map, G4VScoreCol } // r-z plane - } else if(idxProj == 2) { + } else if(projAxis == IPHI) { if(colorMap->IfFloatMinMax()) { colorMap->SetMinMax(0.,rzmax); } - G4double rsize = fSize[0]/fNSegment[0]; - G4double zhalf = fSize[1]/fNSegment[1]; - G4double angle = twopi/fNSegment[2]*idxColumn*radian; - G4double dphi = twopi/fNSegment[2]*radian; - for(int z = 0; z < fNSegment[1]; z++) { - for(int r = 0; r < fNSegment[0]; r++) { + G4double rsize = fSize[0]/fNSegment[IR]; + G4double zhalf = fSize[1]/fNSegment[IZ]; + G4double angle = twopi/fNSegment[IPHI]*idxColumn*radian; + G4double dphi = twopi/fNSegment[IPHI]*radian; + for(int z = 0; z < fNSegment[IZ]; z++) { + for(int r = 0; r < fNSegment[IR]; r++) { G4double rs[2] = {rsize*r, rsize*(r+1)}; G4Tubs cylinder("z-phi", rs[0], rs[1], zhalf, angle, dphi); G4ThreeVector zpos(0., 0., - -fSize[1]+fSize[1]/fNSegment[1]*(2.*z+1)); + -fSize[1]+fSize[1]/fNSegment[IZ]*(2.*z+1)); G4Transform3D trans; if(fRotationMatrix) { trans = G4Rotate3D(*fRotationMatrix).inverse()*G4Translate3D(zpos); @@ -564,14 +520,21 @@ void G4ScoringCylinder::DrawColumn(std::map * map, G4VScoreCol } } + colorMap->SetPSUnit(fDrawUnit); + colorMap->SetPSName(fDrawPSName); colorMap->DrawColorChart(); } void G4ScoringCylinder::GetRZPhi(G4int index, G4int q[3]) const { + // index = k + j * k-size + i * jk-plane-size - q[0] = index/(fNSegment[2]*fNSegment[1]); - q[1] = (index - q[0]*fNSegment[2]*fNSegment[1])/fNSegment[2]; - q[2] = index - q[1]*fNSegment[2] - q[0]*fNSegment[2]*fNSegment[1]; - + // nested : z -> phi -> r + G4int i = IZ; + G4int j = IPHI; + G4int k = IR; + G4int jk = fNSegment[j]*fNSegment[k]; + q[i] = index/jk; + q[j] = (index - q[i]*jk)/fNSegment[k]; + q[k] = index - q[j]*fNSegment[k] - q[i]*jk; } diff --git a/source/digits_hits/utils/src/G4ScoringManager.cc b/source/digits_hits/utils/src/G4ScoringManager.cc index 6a6eed4255..5bf167af9e 100644 --- a/source/digits_hits/utils/src/G4ScoringManager.cc +++ b/source/digits_hits/utils/src/G4ScoringManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ScoringManager.cc,v 1.31 2008/03/25 02:18:38 akimura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ScoringManager.cc,v 1.33 2010/09/24 05:51:27 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4ScoringManager.hh" @@ -39,7 +39,7 @@ G4ScoringManager* G4ScoringManager::fSManager = 0; -G4int G4ScoringManager::replicaLevel = 2; +G4int G4ScoringManager::replicaLevel = 3; G4ScoringManager* G4ScoringManager::GetScoringManager() { diff --git a/source/digits_hits/utils/src/G4ScoringMessenger.cc b/source/digits_hits/utils/src/G4ScoringMessenger.cc index 60189b6017..b288ca043d 100644 --- a/source/digits_hits/utils/src/G4ScoringMessenger.cc +++ b/source/digits_hits/utils/src/G4ScoringMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ScoringMessenger.cc,v 1.39 2008/11/26 21:27:35 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ScoringMessenger.cc,v 1.42 2010/07/26 03:52:33 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------------- @@ -184,7 +184,8 @@ G4ScoringMessenger::G4ScoringMessenger(G4ScoringManager* SManager) drawCmd = new G4UIcommand("/score/drawProjection",this); drawCmd->SetGuidance("Draw projection(s) of scored quantities."); drawCmd->SetGuidance("Parameter specified which projection(s) to be drawn."); - drawCmd->SetGuidance(" 100 : xy-plane, 010 : yz-place, 001 : zx-plane -- default 111"); + drawCmd->SetGuidance(" 100 : xy-plane, 010 : yz-plane, 001 : zx-plane -- default 111"); + drawCmd->SetGuidance(" 100 : N/A, 010 : z_phi-plane, 001 : r_phi-plane -- default 111"); param = new G4UIparameter("meshName",'s',false); drawCmd->SetParameter(param); param = new G4UIparameter("psName",'s',false); @@ -199,7 +200,8 @@ G4ScoringMessenger::G4ScoringMessenger(G4ScoringManager* SManager) // Draw column drawColumnCmd = new G4UIcommand("/score/drawColumn",this); drawColumnCmd->SetGuidance("Draw a cell column."); - drawColumnCmd->SetGuidance(" plane = 0 : xy, 1: yz, 2: zx"); + drawColumnCmd->SetGuidance(" plane = 0 : x-y, 1: y-z, 2: z-x for box mesh"); + drawColumnCmd->SetGuidance(" 0 : z-phi, 1: r-phi, 2: r-z for cylinder mesh"); param = new G4UIparameter("meshName",'s',false); drawColumnCmd->SetParameter(param); param = new G4UIparameter("psName",'s',false); @@ -234,6 +236,7 @@ G4ScoringMessenger::G4ScoringMessenger(G4ScoringManager* SManager) param = new G4UIparameter("maxValue",'d',false); colorMapMinMaxCmd->SetParameter(param); + /* chartCmd = new G4UIcommand("/score/drawChart",this); chartCmd->SetGuidance("Draw color chart on the screen."); chartCmd->SetGuidance("[usage] /score/drawChart"); @@ -251,7 +254,8 @@ G4ScoringMessenger::G4ScoringMessenger(G4ScoringManager* SManager) param = new G4UIparameter("scale",'s',true); param->SetDefaultValue("linear"); chartCmd->SetParameter(param); - + */ + // Dump a scored quantity dumpQtyToFileCmd = new G4UIcommand("/score/dumpQuantityToFile", this); dumpQtyToFileCmd->SetGuidance("Dump one scored quantity to file."); @@ -540,9 +544,20 @@ void G4ScoringMessenger::MeshBinCommand(G4VScoringMesh* mesh,G4TokenVec& token){ G4int Nj = StoI(token[1]); G4int Nk = StoI(token[2]); G4int nSegment[3]; - nSegment[0] = Ni; - nSegment[1] = Nj; - nSegment[2] = Nk; + + if(dynamic_cast(mesh)) { + G4cout << ".... G4ScoringMessenger::MeshBinCommand - G4ScoringBox" << G4endl; + nSegment[0] = Ni; + nSegment[1] = Nj; + nSegment[2] = Nk; + } else if(dynamic_cast(mesh)) { + G4cout << ".... G4ScoringMessenger::MeshBinCommand - G4ScoringCylinder" << G4endl; + nSegment[0] = Nj; + nSegment[1] = Nk; + nSegment[2] = Ni; + } else { + G4Exception("G4ScoringMessenger::MeshBinCommand()", "001", FatalException, "invalid mesh type"); + } // mesh->SetNumberOfSegments(nSegment); } diff --git a/source/digits_hits/utils/src/G4VScoreColorMap.cc b/source/digits_hits/utils/src/G4VScoreColorMap.cc index 75bd33f50d..214d3b3069 100644 --- a/source/digits_hits/utils/src/G4VScoreColorMap.cc +++ b/source/digits_hits/utils/src/G4VScoreColorMap.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VScoreColorMap.cc,v 1.4 2009/05/04 15:57:33 akimura Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VScoreColorMap.cc,v 1.8 2010/07/26 03:52:33 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4VScoreColorMap.hh" @@ -79,6 +79,7 @@ void G4VScoreColorMap::DrawColorChartBar(G4int _nPoint) { } void G4VScoreColorMap::DrawColorChartText(G4int _nPoint) { + G4double min = this->GetMin(); G4double max = this->GetMax(); G4double c[4]; @@ -114,4 +115,52 @@ void G4VScoreColorMap::DrawColorChartText(G4int _nPoint) { fVisManager->Draw2D(text); } + + // draw ps name + // background + G4int lpsname = 20;//fPSName.size(); + if(lpsname > 0) { + for(int l = 0; l < 22; l++) { + G4Polyline line; + line.push_back(G4Point3D(-0.9, -0.965+0.002*l, 0.)); + line.push_back(G4Point3D(-0.9+0.025*lpsname, -0.965+0.002*l, 0.)); + G4VisAttributes attblack(black); + //G4VisAttributes attblack(G4Colour(.5, .5, 1.)); + line.SetVisAttributes(&attblack); + fVisManager->Draw2D(line); + } + // ps name + G4Text txtpsname(fPSName, G4Point3D(-0.9, -0.96, 0.)); + G4double size = 12.; + txtpsname.SetScreenSize(size); + G4Colour color(1., 1., 1.); + G4VisAttributes att(color); + txtpsname.SetVisAttributes(&att); + fVisManager->Draw2D(txtpsname); + } + + // draw unit + // background + G4int len = fPSUnit.size(); + if(len > 0) { + for(int l = 0; l < 21; l++) { + G4Polyline line; + line.push_back(G4Point3D(-0.7, -0.9+0.002*l, 0.)); + line.push_back(G4Point3D(-0.7+0.3, -0.9+0.002*l, 0.)); + G4VisAttributes attblack(black); + //G4VisAttributes attblack(G4Colour(.5, .5, .5)); + line.SetVisAttributes(&attblack); + fVisManager->Draw2D(line); + } + // unit + G4String psunit = "[" + fPSUnit + "]"; + G4Text txtunit(psunit, G4Point3D(-0.69, -0.9, 0.)); + G4double size = 12.; + txtunit.SetScreenSize(size); + G4Colour color(1., 1., 1.); + G4VisAttributes att(color); + txtunit.SetVisAttributes(&att); + fVisManager->Draw2D(txtunit); + } + } diff --git a/source/digits_hits/utils/src/G4VScoreWriter.cc b/source/digits_hits/utils/src/G4VScoreWriter.cc index dae930a44e..7af91dd2e6 100644 --- a/source/digits_hits/utils/src/G4VScoreWriter.cc +++ b/source/digits_hits/utils/src/G4VScoreWriter.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VScoreWriter.cc,v 1.5 2008/03/04 23:19:09 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VScoreWriter.cc,v 1.10 2010/07/27 01:44:54 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4VScoreWriter.hh" @@ -86,8 +86,24 @@ void G4VScoreWriter::DumpQuantityToFile(G4String & psName, G4String & fileName, << psName << "\"." << G4endl; return; } + + std::map * score = msMapItr->second->GetMap(); - ofile << "# primitive scorer name: " << msMapItr->first << G4endl; + ofile << "# primitive scorer name: " << msMapItr->first << std::endl; + + + G4double unitValue = fScoringMesh->GetPSUnitValue(psName); + G4String unit = fScoringMesh->GetPSUnit(psName); + G4String divisionAxisNames[3]; + fScoringMesh->GetDivisionAxisNames(divisionAxisNames); + // index order + ofile << "# i" << divisionAxisNames[0] + << ", i" << divisionAxisNames[1] + << ", i" << divisionAxisNames[2]; + // unit of scored value + ofile << ", value "; + if(unit.size() > 0) ofile << "[" << unit << "]"; + ofile << G4endl; // "sequence" option: write header info if(opt.find("sequence") != std::string::npos) { @@ -110,7 +126,7 @@ void G4VScoreWriter::DumpQuantityToFile(G4String & psName, G4String & fileName, if(value == score->end()) { ofile << 0.; } else { - ofile << *(value->second); + ofile << *(value->second)/unitValue; } if(opt.find("csv") != std::string::npos) { @@ -159,8 +175,25 @@ void G4VScoreWriter::DumpAllQuantitiesToFile(G4String & fileName, G4String & opt MeshScoreMap::const_iterator msMapItr = fSMap.begin(); std::map * score; for(; msMapItr != fSMap.end(); msMapItr++) { + + G4String psname = msMapItr->first; + score = msMapItr->second->GetMap(); - ofile << "# primitive scorer name: " << msMapItr->first << G4endl; + ofile << "# primitive scorer name: " << msMapItr->first << std::endl; + + G4double unitValue = fScoringMesh->GetPSUnitValue(psname); + G4String unit = fScoringMesh->GetPSUnit(psname); + G4String divisionAxisNames[3]; + fScoringMesh->GetDivisionAxisNames(divisionAxisNames); + // index order + ofile << "# i" << divisionAxisNames[0] + << ", i" << divisionAxisNames[1] + << ", i" << divisionAxisNames[2]; + // unit of scored value + ofile << ", value "; + if(unit.size() > 0) ofile << "[" << unit << "]"; + ofile << G4endl; + // "sequence" option: write header info if(opt.find("sequence") != std::string::npos) { @@ -183,7 +216,7 @@ void G4VScoreWriter::DumpAllQuantitiesToFile(G4String & fileName, G4String & opt if(value == score->end()) { ofile << 0.; } else { - ofile << *(value->second); + ofile << *(value->second)/unitValue; } if(opt.find("csv") != std::string::npos) { diff --git a/source/digits_hits/utils/src/G4VScoringMesh.cc b/source/digits_hits/utils/src/G4VScoringMesh.cc index 622c259826..9a4e70e71a 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.37 2009/10/12 04:11:25 akimura Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VScoringMesh.cc,v 1.43 2010/11/09 00:29:55 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4VScoringMesh.hh" @@ -38,12 +38,14 @@ G4VScoringMesh::G4VScoringMesh(G4String wName) : fWorldName(wName),fConstructed(false),fActive(true), fRotationMatrix(NULL), fMFD(new G4MultiFunctionalDetector(wName)), - verboseLevel(0),sizeIsSet(false),nMeshIsSet(false) + verboseLevel(0),sizeIsSet(false),nMeshIsSet(false), + fDrawUnit(""), fDrawUnitValue(1.) { G4SDManager::GetSDMpointer()->AddNewDetector(fMFD); fSize[0] = fSize[1] = fSize[2] = 0.; fNSegment[0] = fNSegment[1] = fNSegment[2] = 1; + fDivisionAxisNames[0] = fDivisionAxisNames[1] = fDivisionAxisNames[2] = ""; } G4VScoringMesh::~G4VScoringMesh() @@ -151,6 +153,50 @@ G4bool G4VScoringMesh::FindPrimitiveScorer(G4String & psname) { return true; } +G4String G4VScoringMesh::GetPSUnit(G4String & psname) { + std::map* >::iterator itr = fMap.find(psname);; + if(itr == fMap.end()) { + return G4String(""); + } else { + return GetPrimitiveScorer(psname)->GetUnit(); + } +} + +G4String G4VScoringMesh::GetCurrentPSUnit(){ + G4String unit = ""; + if(fCurrentPS == NULL) { + G4String msg = "ERROR : G4VScoringMesh::GetCurrentPSUnit() : "; + msg += " Current primitive scorer is null."; + G4cerr << msg << G4endl; + }else{ + unit = fCurrentPS->GetUnit(); + } + return unit; +} + +void G4VScoringMesh::SetCurrentPSUnit(const G4String& unit){ + if(fCurrentPS == NULL) { + G4String msg = "ERROR : G4VScoringMesh::GetCurrentPSUnit() : "; + msg += " Current primitive scorer is null."; + G4cerr << msg << G4endl; + }else{ + fCurrentPS->SetUnit(unit); + } +} + +G4double G4VScoringMesh::GetPSUnitValue(G4String & psname) { + std::map* >::iterator itr = fMap.find(psname);; + if(itr == fMap.end()) { + return 1.; + } else { + return GetPrimitiveScorer(psname)->GetUnitValue(); + } +} + +void G4VScoringMesh::GetDivisionAxisNames(G4String divisionAxisNames[3]) { + for(int i = 0; i < 3; i++) divisionAxisNames[i] = fDivisionAxisNames[i]; +} + G4VPrimitiveScorer * G4VScoringMesh::GetPrimitiveScorer(G4String & name) { if(fMFD == NULL) return NULL; @@ -216,3 +262,30 @@ void G4VScoringMesh::Dump() { } + +void G4VScoringMesh::DrawMesh(G4String psName,G4VScoreColorMap* colorMap,G4int axflg) +{ + fDrawPSName = psName; + std::map* >::const_iterator fMapItr = fMap.find(psName); + if(fMapItr!=fMap.end()) { + fDrawUnit = GetPSUnit(psName); + fDrawUnitValue = GetPSUnitValue(psName); + Draw(fMapItr->second->GetMap(), colorMap,axflg); + } else { + G4cerr << "Scorer <" << psName << "> is not defined. Method ignored." << G4endl; + } +} + +void G4VScoringMesh::DrawMesh(G4String psName,G4int idxPlane,G4int iColumn,G4VScoreColorMap* colorMap) +{ + fDrawPSName = psName; + std::map* >::const_iterator fMapItr = fMap.find(psName); + if(fMapItr!=fMap.end()) { + fDrawUnit = GetPSUnit(psName); + fDrawUnitValue = GetPSUnitValue(psName); + DrawColumn(fMapItr->second->GetMap(),colorMap,idxPlane,iColumn); + } else { + G4cerr << "Scorer <" << psName << "> is not defined. Method ignored." << G4endl; + } +} + diff --git a/source/error_propagation/CMakeLists.txt b/source/error_propagation/CMakeLists.txt new file mode 100644 index 0000000000..5700f57a19 --- /dev/null +++ b/source/error_propagation/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4error_propagation +# Package: Geant4.src.G4error_propagation +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:39:27 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/error_propagation/sources.cmake b/source/error_propagation/sources.cmake new file mode 100644 index 0000000000..1c2e51bc9f --- /dev/null +++ b/source/error_propagation/sources.cmake @@ -0,0 +1,138 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4error_propagation +# Package: Geant4.src.G4error_propagation +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:39:35 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/event/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/muons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/standard/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/transportation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/run/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4error_propagation + HEADERS + G4ErrorFreeTrajParam.hh + G4ErrorFreeTrajState.hh + G4ErrorGeomVolumeTarget.hh + G4ErrorMagFieldLimitProcess.hh + G4ErrorMatrix.hh + G4ErrorMatrix.icc + G4ErrorMessenger.hh + G4ErrorPhysicsList.hh + G4ErrorPropagator.hh + G4ErrorPropagatorManager.hh + G4ErrorRunManagerHelper.hh + G4ErrorStepLengthLimitProcess.hh + G4ErrorSurfaceTrajParam.hh + G4ErrorSurfaceTrajState.hh + G4ErrorSymMatrix.hh + G4ErrorSymMatrix.icc + G4ErrorTrackLengthTarget.hh + G4ErrorTrajErr.hh + G4ErrorTrajState.hh + G4VErrorLimitProcess.hh + SOURCES + G4ErrorFreeTrajParam.cc + G4ErrorFreeTrajState.cc + G4ErrorGeomVolumeTarget.cc + G4ErrorMagFieldLimitProcess.cc + G4ErrorMatrix.cc + G4ErrorMessenger.cc + G4ErrorPhysicsList.cc + G4ErrorPropagator.cc + G4ErrorPropagatorManager.cc + G4ErrorRunManagerHelper.cc + G4ErrorStepLengthLimitProcess.cc + G4ErrorSurfaceTrajParam.cc + G4ErrorSurfaceTrajState.cc + G4ErrorSymMatrix.cc + G4ErrorTrackLengthTarget.cc + G4ErrorTrajState.cc + G4VErrorLimitProcess.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4csg + G4cuts + G4digits + G4emstandard + G4emutils + G4event + G4geometrymng + G4globman + G4hits + G4intercoms + G4ions + G4leptons + G4magneticfield + G4materials + G4mesons + G4muons + G4navigation + G4partman + G4procman + G4run + G4track + G4tracking + G4transportation + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4event + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4processes + G4run + G4track + G4tracking + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/event/CMakeLists.txt b/source/event/CMakeLists.txt new file mode 100644 index 0000000000..707a51b8c2 --- /dev/null +++ b/source/event/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4event +# Package: Geant4.src.G4event +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:39:48 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/event/GNUmakefile b/source/event/GNUmakefile index 2a398b38f6..3273896f39 100644 --- a/source/event/GNUmakefile +++ b/source/event/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.8 2005/10/17 21:21:53 tinslay Exp $ +# $Id: GNUmakefile,v 1.10 2010/10/27 07:21:13 gcosmo Exp $ # ------------------------------------------------------------ # GNUmakefile for events library. Makoto Asai, 5/9/95. # ------------------------------------------------------------ diff --git a/source/event/History b/source/event/History index 1648f49a8f..411aa863c3 100644 --- a/source/event/History +++ b/source/event/History @@ -1,4 +1,4 @@ -$Id: History,v 1.127 2009/11/18 17:57:59 gcosmo Exp $ +$Id: History,v 1.142 2010/12/15 22:15:07 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,56 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +December 15th, 2010, M.Asai (event-V09-03-10) +- Fixing incorrect destination stack for the case more than three track stacks are used. + +November 24th, 2010, M.Asai (event-V09-03-09) +- Added protection against null pointer : G4TrackStack.cc, G4SmartTrackStack.cc + +Novemver 10th, 2010, F.Lei (event-V09-03-08) +- User can now specify arbitrary energy distribution by supplying the data points + in a 2-column (energy and flux) ASCII file, via the UI command + /gps/hist/file your_file_name +- Further update of the auto energy biasing implementation +- Bug fix (new implementation) in the Spline interpolation implementation +- Bug fix in the Logarithm interpolation implementation (alpha = -1 case). + +November 8th, 2010, M.Asai (event-V09-03-07) +- Setting touchable history of the origin to G4Track. + +November 2nd, 2010, F.Lei +- Implemented concrete destructor for G4SPSEneDistribution (bug #1149) +- Added automatic energy biasing scheme. Users now can bias the energy distribution + sampling to a given power-law distribution (index alpha) via the UI command + /gps/ene/biasAlpha alpha + Files affected are + G4SingleParticleSource.hh .cc + G4SPSEneDistribution.hh .cc + G4SPSRandomGenerator.hh .cc + G4GeneralParticleSourceMessenger.hh .cc + +October 27th, 2010, G.Cosmo (event-V09-03-06) +- Restored DLL setup as originally. Withdrawn changes in last tag. + +October 19th, 2010, G.Cosmo (event-V09-03-05) +- Replaced G4EVENT_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported + symbols. + +August 9th, 2010, M.Asai (event-V09-03-04) +- Fixing electron mass correction for ions in G4PrimaryTransformer. + +June 11th, 2010, M.Asai (event-V09-03-03) +- Remove obsolete CLHEP_HepMC option from G4EventManager class. + +May 20th, 2010, F.Lei (event-V09-03-02) +- Added a number of Get methods to G4SPSEneDistribution.hh + +April 19th, 2010, M.Asai (event-V09-03-01) +- Improving a logic in G4PrimaryTransformer. Addressing the problem report #1101. + +April 19th, 2010, M.Asai (event-V09-03-00) +- Fix warning message in G4SmartTrackStack found with gcc 4.5.0. + 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". diff --git a/source/event/include/G4Event.hh b/source/event/include/G4Event.hh index 240fafe815..3975e9e19a 100644 --- a/source/event/include/G4Event.hh +++ b/source/event/include/G4Event.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Event.hh,v 1.17 2007/03/08 23:56:12 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Event.hh,v 1.19 2010/10/27 07:21:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4Event_h diff --git a/source/event/include/G4EventManager.hh b/source/event/include/G4EventManager.hh index b340d4e2d4..3d0d087b7d 100644 --- a/source/event/include/G4EventManager.hh +++ b/source/event/include/G4EventManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EventManager.hh,v 1.22 2007/03/08 23:56:12 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EventManager.hh,v 1.23 2010/06/12 04:07:45 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -51,10 +51,6 @@ class G4SDManager; #include "globals.hh" class G4VUserEventInformation; -#ifdef CLHEP_HepMC // Temporarly disabled -#include "CLHEP/HepMC/GenEvent.h" -#endif - // class description: // // G4EventManager controls an event. This class must be a singleton @@ -82,23 +78,6 @@ class G4EventManager void ProcessOneEvent(G4Event* anEvent); // This method is the main entry to this class for simulating an event. -#ifdef CLHEP_HepMC // Temporarly disabled on Windows, until CLHEP - // will support the HepMC module - void ProcessOneEvent(const HepMC::GenEvent* hepmcevt,G4Event* anEvent=0); - // This is an alternative entry for large HEP experiments which use - // HepMC event class. Dummy G4Event object will be created if "anEvent" is null - // for internal use, but this dummy object will be deleted at the end of this - // method and will never be available for the use after the processing. - // Note that in this case of null G4Event pointer no output of the simulated event - // is returned by this method, but the user must implement some mechanism - // of storing output by his/herself, e.g. in his/her UserEventAction and/or - // sensitive detectors. - // If valid G4Event object is given, this object will not be deleted with - // this method and output objects such as hits collections and trajectories - // will be associated to this event object. If this event object has valid - // primary vertices/particles, they will be added to the given HepMC event input. -#endif - void ProcessOneEvent(G4TrackVector* trackVector,G4Event* anEvent=0); // This is an alternative entry for large HEP experiments which create G4Track // objects by themselves directly without using G4VPrimaryGenerator or user diff --git a/source/event/include/G4GeneralParticleSourceMessenger.hh b/source/event/include/G4GeneralParticleSourceMessenger.hh index ef61901c04..45f2953855 100644 --- a/source/event/include/G4GeneralParticleSourceMessenger.hh +++ b/source/event/include/G4GeneralParticleSourceMessenger.hh @@ -211,6 +211,7 @@ private: //commands G4UIcmdWithADouble *ezeroCmd1; G4UIcmdWithADouble *gradientCmd1; G4UIcmdWithADouble *interceptCmd1; + G4UIcmdWithADouble *arbeintCmd1; G4UIcmdWithoutParameter *calculateCmd1; G4UIcmdWithABool *energyspecCmd1; G4UIcmdWithABool *diffspecCmd1; @@ -236,6 +237,7 @@ private: //commands G4UIcmdWithAString *resethistCmd; // old ones, will be removed soon G4UIcmdWith3Vector *histpointCmd1; + G4UIcmdWithAString *histfileCmd1; G4UIcmdWithAString *histnameCmd1; G4UIcmdWithAString *arbintCmd1; G4UIcmdWithAString *resethistCmd1; diff --git a/source/event/include/G4HEPEvtParticle.hh b/source/event/include/G4HEPEvtParticle.hh index 310be32e41..518246acc8 100644 --- a/source/event/include/G4HEPEvtParticle.hh +++ b/source/event/include/G4HEPEvtParticle.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4HEPEvtParticle.hh,v 1.9 2006/06/29 18:08:39 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4HEPEvtParticle.hh,v 1.11 2010/10/27 07:21:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // diff --git a/source/event/include/G4SPSEneDistribution.hh b/source/event/include/G4SPSEneDistribution.hh index 2e34a3e64a..b8788bf86d 100644 --- a/source/event/include/G4SPSEneDistribution.hh +++ b/source/event/include/G4SPSEneDistribution.hh @@ -143,112 +143,184 @@ // #include "G4SPSRandomGenerator.hh" -class G4SPSEneDistribution -{ +class G4SPSEneDistribution { public: - G4SPSEneDistribution (); - ~G4SPSEneDistribution (); + G4SPSEneDistribution(); + ~G4SPSEneDistribution(); + + void SetEnergyDisType(G4String); + inline G4String GetEnergyDisType() { + return EnergyDisType; + } + ; + void SetEmin(G4double); + inline G4double GetEmin() { + return Emin; + } + ; + inline G4double GetArbEmin() { + return ArbEmin; + } + ; + void SetEmax(G4double); + inline G4double GetEmax() { + return Emax; + } + ; + inline G4double GetArbEmax() { + return ArbEmax; + } + ; + void SetMonoEnergy(G4double); + void SetAlpha(G4double); + void SetBiasAlpha(G4double); + void SetTemp(G4double); + void SetBeamSigmaInE(G4double); + void SetEzero(G4double); + void SetGradient(G4double); + void SetInterCept(G4double); + void UserEnergyHisto(G4ThreeVector); + void ArbEnergyHisto(G4ThreeVector); + void ArbEnergyHistoFile(G4String); + void EpnEnergyHisto(G4ThreeVector); + + void InputEnergySpectra(G4bool); + void InputDifferentialSpectra(G4bool); + void ArbInterpolate(G4String); + inline G4String GetIntType() { + return IntType; + } + ; + void Calculate(); + // + void SetBiasRndm(G4SPSRandomGenerator* a) { + eneRndm = a; + } + ; + // method to re-set the histograms + void ReSetHist(G4String); + // Set the verbosity level. + void SetVerbosity(G4int a) { + verbosityLevel = a; + } + ; + //x + G4double GetWeight() { + return weight; + } + + G4double GetMonoEnergy() { + return MonoEnergy; + } + ; //Mono-energteic energy + G4double GetSE() { + return SE; + } + ; // Standard deviation for Gaussion distrbution in energy + G4double Getalpha() { + return alpha; + } + ; // alpha (pow) + G4double GetEzero() { + return Ezero; + } + ; // E0 (exp) + G4double GetTemp() { + return Temp; + } + ; // Temp (bbody,brem) + G4double Getgrad() { + return grad; + } + ; // gradient and intercept for linear spectra + G4double Getcept() { + return cept; + } + ; + + inline G4PhysicsOrderedFreeVector GetUserDefinedEnergyHisto() { + return UDefEnergyH; + } + ; + inline G4PhysicsOrderedFreeVector GetArbEnergyHisto() { + return ArbEnergyH; + } + ; + + G4double GenerateOne(G4ParticleDefinition*); + G4double GetProbability (G4double); - void SetEnergyDisType(G4String); - inline G4String GetEnergyDisType() {return EnergyDisType;}; - void SetEmin(G4double); - inline G4double GetEmin() {return Emin;} ; - inline G4double GetArbEmin() {return ArbEmin;} ; - void SetEmax(G4double); - inline G4double GetEmax() {return Emax;} ; - inline G4double GetArbEmax() {return ArbEmax;}; - void SetMonoEnergy(G4double); - void SetAlpha(G4double); - void SetTemp(G4double); - void SetBeamSigmaInE(G4double); - void SetEzero(G4double); - void SetGradient(G4double); - void SetInterCept(G4double); - void UserEnergyHisto(G4ThreeVector); - void ArbEnergyHisto(G4ThreeVector); - void EpnEnergyHisto(G4ThreeVector); - void InputEnergySpectra(G4bool); - void InputDifferentialSpectra(G4bool); - void ArbInterpolate(G4String); - inline G4String GetIntType() {return IntType;}; - void Calculate(); - // - void SetBiasRndm(G4SPSRandomGenerator* a) {eneRndm = a; }; - // method to re-set the histograms - void ReSetHist(G4String); - // Set the verbosity level. - void SetVerbosity(G4int a) {verbosityLevel = a; } ; - //x - G4double GenerateOne(G4ParticleDefinition*); - private: - void LinearInterpolation(); - void LogInterpolation(); - void ExpInterpolation(); - void SplineInterpolation(); - void CalculateCdgSpectrum(); - void CalculateBbodySpectrum(); + void LinearInterpolation(); + void LogInterpolation(); + void ExpInterpolation(); + void SplineInterpolation(); + void CalculateCdgSpectrum(); + void CalculateBbodySpectrum(); + + // The following methods generate energies according to the spectral + // parameters defined above. + void GenerateMonoEnergetic(); + void GenerateLinearEnergies(G4bool); + void GeneratePowEnergies(G4bool); + void GenerateBiasPowEnergies(); + void GenerateExpEnergies(G4bool); + void GenerateGaussEnergies(); + void GenerateBremEnergies(); + void GenerateBbodyEnergies(); + void GenerateCdgEnergies(); + void GenUserHistEnergies(); + void GenEpnHistEnergies(); + void GenArbPointEnergies(); + // converts energy per nucleon to energy. + void ConvertEPNToEnergy(); - // The following methods generate energies according to the spectral - // parameters defined above. - void GenerateMonoEnergetic(); - void GenerateLinearEnergies(G4bool); - void GeneratePowEnergies(G4bool); - void GenerateExpEnergies(G4bool ); - void GenerateGaussEnergies(); - void GenerateBremEnergies(); - void GenerateBbodyEnergies(); - void GenerateCdgEnergies(); - void GenUserHistEnergies(); - void GenEpnHistEnergies(); - void GenArbPointEnergies(); - // converts energy per nucleon to energy. - void ConvertEPNToEnergy(); private: - G4String EnergyDisType; // energy dis type Variable - Mono,Lin,Exp,etc - G4double MonoEnergy; //Mono-energteic energy - G4double SE ; // Standard deviation for Gaussion distrbution in energy - G4double Emin, Emax; // emin and emax - G4double alpha, Ezero, Temp; // alpha (pow), E0 (exp) and Temp (bbody,brem) - G4double grad, cept; // gradient and intercept for linear spectra - G4bool EnergySpec; // true - energy spectra, false - momentum spectra - G4bool DiffSpec; // true - differential spec, false integral spec - G4bool ApplyRig; // false no rigidity cutoff, true then apply one - G4double ERig; // energy of rigidity cutoff - G4PhysicsOrderedFreeVector UDefEnergyH; // energy hist data - G4PhysicsOrderedFreeVector IPDFEnergyH; - G4bool IPDFEnergyExist, IPDFArbExist, Epnflag; - G4PhysicsOrderedFreeVector ArbEnergyH; // Arb x,y histogram - G4PhysicsOrderedFreeVector IPDFArbEnergyH; // IPDF for Arb - G4PhysicsOrderedFreeVector EpnEnergyH; - G4double CDGhist[3]; // cumulative histo for cdg - G4double BBHist[10001], Bbody_x[10001]; - G4String IntType; // Interpolation type - G4double Arb_grad[1024], Arb_cept[1024]; // grad and cept for 1024 segments - G4double Arb_alpha[1024], Arb_Const[1024]; // alpha and constants - G4double Arb_ezero[1024]; // ezero - G4double ArbEmin, ArbEmax; // Emin and Emax for the whole arb distribution used primarily for debug. + G4String EnergyDisType; // energy dis type Variable - Mono,Lin,Exp,etc + G4double weight; // particle weight + G4double MonoEnergy; //Mono-energteic energy + G4double SE; // Standard deviation for Gaussion distrbution in energy + G4double Emin, Emax; // emin and emax + G4double alpha, Ezero, Temp; // alpha (pow), E0 (exp) and Temp (bbody,brem) + G4double biasalpha; // biased power index + G4double grad, cept; // gradient and intercept for linear spectra + G4double prob_norm; // normalisation factor use in calculate the probability + G4bool Biased; // true - biased to power-law + G4bool EnergySpec; // true - energy spectra, false - momentum spectra + G4bool DiffSpec; // true - differential spec, false integral spec + G4bool ApplyRig; // false no rigidity cutoff, true then apply one + G4double ERig; // energy of rigidity cutoff + G4PhysicsOrderedFreeVector UDefEnergyH; // energy hist data + G4PhysicsOrderedFreeVector IPDFEnergyH; + G4bool IPDFEnergyExist, IPDFArbExist, Epnflag; + G4PhysicsOrderedFreeVector ArbEnergyH; // Arb x,y histogram + G4PhysicsOrderedFreeVector IPDFArbEnergyH; // IPDF for Arb + G4PhysicsOrderedFreeVector EpnEnergyH; + G4double CDGhist[3]; // cumulative histo for cdg + G4double BBHist[10001], Bbody_x[10001]; + G4String IntType; // Interpolation type + G4double Arb_grad[1024], Arb_cept[1024]; // grad and cept for 1024 segments + G4double Arb_alpha[1024], Arb_Const[1024]; // alpha and constants + G4double Arb_ezero[1024]; // ezero + G4double ArbEmin, ArbEmax; // Emin and Emax for the whole arb distribution used primarily for debug. - G4double particle_energy; - G4ParticleDefinition* particle_definition; + G4double particle_energy; + G4ParticleDefinition* particle_definition; - G4SPSRandomGenerator* eneRndm; + G4SPSRandomGenerator* eneRndm; - // Verbosity - G4int verbosityLevel; + // Verbosity + G4int verbosityLevel; - G4PhysicsOrderedFreeVector ZeroPhysVector ; // for re-set only + G4PhysicsOrderedFreeVector ZeroPhysVector; // for re-set only - G4DataInterpolation *SplineInt; // holds Spline stuff + G4DataInterpolation *SplineInt[1024]; // holds Spline stuff required for sampling + G4DataInterpolation *Splinetemp; // holds a temp Spline used for calculating area }; - #endif - - - diff --git a/source/event/include/G4SPSRandomGenerator.hh b/source/event/include/G4SPSRandomGenerator.hh index 4e6d334f4c..2d61246acd 100644 --- a/source/event/include/G4SPSRandomGenerator.hh +++ b/source/event/include/G4SPSRandomGenerator.hh @@ -135,84 +135,91 @@ #include "G4PhysicsOrderedFreeVector.hh" #include "G4DataInterpolation.hh" -class G4SPSRandomGenerator -{ +class G4SPSRandomGenerator { public: - G4SPSRandomGenerator (); - ~G4SPSRandomGenerator (); + G4SPSRandomGenerator(); + ~G4SPSRandomGenerator(); - // static G4SPSRandomGenerator* getInstance (); + // static G4SPSRandomGenerator* getInstance (); - // Biasing Methods - void SetXBias(G4ThreeVector); - void SetYBias(G4ThreeVector); - void SetZBias(G4ThreeVector); - void SetThetaBias(G4ThreeVector); - void SetPhiBias(G4ThreeVector); - void SetEnergyBias(G4ThreeVector); - void SetPosThetaBias(G4ThreeVector); - void SetPosPhiBias(G4ThreeVector); - G4double GenRandX(); - G4double GenRandY(); - G4double GenRandZ(); - G4double GenRandTheta(); - G4double GenRandPhi(); - G4double GenRandEnergy(); - G4double GenRandPosTheta(); - G4double GenRandPosPhi(); + // Biasing Methods + void SetXBias(G4ThreeVector); + void SetYBias(G4ThreeVector); + void SetZBias(G4ThreeVector); + void SetThetaBias(G4ThreeVector); + void SetPhiBias(G4ThreeVector); + void SetEnergyBias(G4ThreeVector); + void SetPosThetaBias(G4ThreeVector); + void SetPosPhiBias(G4ThreeVector); + G4double GenRandX(); + G4double GenRandY(); + G4double GenRandZ(); + G4double GenRandTheta(); + G4double GenRandPhi(); + G4double GenRandEnergy(); + G4double GenRandPosTheta(); + G4double GenRandPosPhi(); - inline void SetIntensityWeight(G4double weight) {bweights[8]=weight;}; + inline void SetIntensityWeight(G4double weight) { + bweights[8] = weight; + } + ; - inline G4double GetBiasWeight() - { return bweights[0]*bweights[1]*bweights[2]*bweights[3]*bweights[4]*bweights[5]*bweights[6]*bweights[7]*bweights[8];}; - - // method to re-set the histograms - void ReSetHist(G4String); + inline G4double GetBiasWeight() { + return bweights[0] * bweights[1] * bweights[2] * bweights[3] + * bweights[4] * bweights[5] * bweights[6] * bweights[7] + * bweights[8]; + } + ; - // Set the verbosity level. - void SetVerbosity(G4int a) {verbosityLevel = a; } ; + // method to re-set the histograms + void ReSetHist(G4String); + + // Set the verbosity level. + void SetVerbosity(G4int a) { + verbosityLevel = a; + } + ; private: - // static G4SPSRandomGenerator *instance; + // static G4SPSRandomGenerator *instance; - G4bool XBias, IPDFXBias; - G4PhysicsOrderedFreeVector XBiasH; - G4PhysicsOrderedFreeVector IPDFXBiasH; - G4bool YBias, IPDFYBias; - G4PhysicsOrderedFreeVector YBiasH; - G4PhysicsOrderedFreeVector IPDFYBiasH; - G4bool ZBias, IPDFZBias; - G4PhysicsOrderedFreeVector ZBiasH; - G4PhysicsOrderedFreeVector IPDFZBiasH; - G4bool ThetaBias, IPDFThetaBias; - G4PhysicsOrderedFreeVector ThetaBiasH; - G4PhysicsOrderedFreeVector IPDFThetaBiasH; - G4bool PhiBias, IPDFPhiBias; - G4PhysicsOrderedFreeVector PhiBiasH; - G4PhysicsOrderedFreeVector IPDFPhiBiasH; - G4bool EnergyBias, IPDFEnergyBias; - G4PhysicsOrderedFreeVector EnergyBiasH; - G4PhysicsOrderedFreeVector IPDFEnergyBiasH; - G4bool PosThetaBias, IPDFPosThetaBias; - G4PhysicsOrderedFreeVector PosThetaBiasH; - G4PhysicsOrderedFreeVector IPDFPosThetaBiasH; - G4bool PosPhiBias, IPDFPosPhiBias; - G4PhysicsOrderedFreeVector PosPhiBiasH; - G4PhysicsOrderedFreeVector IPDFPosPhiBiasH; + G4bool XBias, IPDFXBias; + G4PhysicsOrderedFreeVector XBiasH; + G4PhysicsOrderedFreeVector IPDFXBiasH; + G4bool YBias, IPDFYBias; + G4PhysicsOrderedFreeVector YBiasH; + G4PhysicsOrderedFreeVector IPDFYBiasH; + G4bool ZBias, IPDFZBias; + G4PhysicsOrderedFreeVector ZBiasH; + G4PhysicsOrderedFreeVector IPDFZBiasH; + G4bool ThetaBias, IPDFThetaBias; + G4PhysicsOrderedFreeVector ThetaBiasH; + G4PhysicsOrderedFreeVector IPDFThetaBiasH; + G4bool PhiBias, IPDFPhiBias; + G4PhysicsOrderedFreeVector PhiBiasH; + G4PhysicsOrderedFreeVector IPDFPhiBiasH; + G4bool EnergyBias, IPDFEnergyBias; + G4PhysicsOrderedFreeVector EnergyBiasH; + G4PhysicsOrderedFreeVector IPDFEnergyBiasH; + G4bool PosThetaBias, IPDFPosThetaBias; + G4PhysicsOrderedFreeVector PosThetaBiasH; + G4PhysicsOrderedFreeVector IPDFPosThetaBiasH; + G4bool PosPhiBias, IPDFPosPhiBias; + G4PhysicsOrderedFreeVector PosPhiBiasH; + G4PhysicsOrderedFreeVector IPDFPosPhiBiasH; - G4double bweights[9]; //record x,y,z,theta,phi,energy,posThet,posPhi,intensity weights + G4double alpha; // for biasing energy - // Verbosity - G4int verbosityLevel; + G4double bweights[9]; //record x,y,z,theta,phi,energy,posThet,posPhi,intensity weights + + // Verbosity + G4int verbosityLevel; + + G4PhysicsOrderedFreeVector ZeroPhysVector; // for re-set only - G4PhysicsOrderedFreeVector ZeroPhysVector ; // for re-set only - }; - #endif - - - diff --git a/source/event/include/G4SingleParticleSource.hh b/source/event/include/G4SingleParticleSource.hh index da83f3b2ae..61ade70050 100644 --- a/source/event/include/G4SingleParticleSource.hh +++ b/source/event/include/G4SingleParticleSource.hh @@ -120,68 +120,108 @@ #include "G4SPSEneDistribution.hh" #include "G4SPSRandomGenerator.hh" -class G4SingleParticleSource : public G4VPrimaryGenerator -{ +class G4SingleParticleSource: public G4VPrimaryGenerator { public: - G4SingleParticleSource (); - ~G4SingleParticleSource (); - void GeneratePrimaryVertex(G4Event *evt); - // - G4SPSPosDistribution* GetPosDist() {return posGenerator;}; - G4SPSAngDistribution* GetAngDist() {return angGenerator;}; - G4SPSEneDistribution* GetEneDist() {return eneGenerator;}; - G4SPSRandomGenerator* GetBiasRndm() {return biasRndm;}; + G4SingleParticleSource(); + ~G4SingleParticleSource(); + void GeneratePrimaryVertex(G4Event *evt); + // + G4SPSPosDistribution* GetPosDist() { + return posGenerator; + } + ; + G4SPSAngDistribution* GetAngDist() { + return angGenerator; + } + ; + G4SPSEneDistribution* GetEneDist() { + return eneGenerator; + } + ; + G4SPSRandomGenerator* GetBiasRndm() { + return biasRndm; + } + ; - // Set the verbosity level. - void SetVerbosity(G4int); + // Set the verbosity level. + void SetVerbosity(G4int); - // Set the particle species - void SetParticleDefinition (G4ParticleDefinition * aParticleDefinition); - inline G4ParticleDefinition * GetParticleDefinition () { return particle_definition;} ; + // Set the particle species + void SetParticleDefinition(G4ParticleDefinition * aParticleDefinition); + inline G4ParticleDefinition * GetParticleDefinition() { + return particle_definition; + } + ; - inline void SetParticleCharge(G4double aCharge) { particle_charge = aCharge; } ; + inline void SetParticleCharge(G4double aCharge) { + particle_charge = aCharge; + } + ; - // Set polarization - inline void SetParticlePolarization (G4ThreeVector aVal) {particle_polarization = aVal;}; - inline G4ThreeVector GetParticlePolarization () {return particle_polarization;}; + // Set polarization + inline void SetParticlePolarization(G4ThreeVector aVal) { + particle_polarization = aVal; + } + ; + inline G4ThreeVector GetParticlePolarization() { + return particle_polarization; + } + ; - // Set Time. - inline void SetParticleTime(G4double aTime) { particle_time = aTime; }; - inline G4double GetParticleTime() { return particle_time; }; + // Set Time. + inline void SetParticleTime(G4double aTime) { + particle_time = aTime; + } + ; + inline G4double GetParticleTime() { + return particle_time; + } + ; - inline void SetNumberOfParticles(G4int i) { NumberOfParticlesToBeGenerated = i; }; - // - inline G4int GetNumberOfParticles() { return NumberOfParticlesToBeGenerated; }; - inline G4ThreeVector GetParticlePosition() { return particle_position;}; - inline G4ThreeVector GetParticleMomentumDirection() { return particle_momentum_direction;}; - inline G4double GetParticleEnergy() {return particle_energy;}; + inline void SetNumberOfParticles(G4int i) { + NumberOfParticlesToBeGenerated = i; + } + ; + // + inline G4int GetNumberOfParticles() { + return NumberOfParticlesToBeGenerated; + } + ; + inline G4ThreeVector GetParticlePosition() { + return particle_position; + } + ; + inline G4ThreeVector GetParticleMomentumDirection() { + return particle_momentum_direction; + } + ; + inline G4double GetParticleEnergy() { + return particle_energy; + } + ; private: - G4SPSPosDistribution* posGenerator; - G4SPSAngDistribution* angGenerator; - G4SPSEneDistribution* eneGenerator; - G4SPSRandomGenerator* biasRndm; - // - // Other particle properties - G4int NumberOfParticlesToBeGenerated; - G4ParticleDefinition * particle_definition; - G4ParticleMomentum particle_momentum_direction; - G4double particle_energy; - G4double particle_charge; - G4ThreeVector particle_position; - G4double particle_time; - G4ThreeVector particle_polarization; - G4double particle_weight; + G4SPSPosDistribution* posGenerator; + G4SPSAngDistribution* angGenerator; + G4SPSEneDistribution* eneGenerator; + G4SPSRandomGenerator* biasRndm; + // + // Other particle properties + G4int NumberOfParticlesToBeGenerated; + G4ParticleDefinition * particle_definition; + G4ParticleMomentum particle_momentum_direction; + G4double particle_energy; + G4double particle_charge; + G4ThreeVector particle_position; + G4double particle_time; + G4ThreeVector particle_polarization; + G4double particle_weight; - // Verbosity - G4int verbosityLevel; + // Verbosity + G4int verbosityLevel; }; - #endif - - - diff --git a/source/event/include/G4StackedTrack.hh b/source/event/include/G4StackedTrack.hh index 8478df1533..f5ca7112da 100644 --- a/source/event/include/G4StackedTrack.hh +++ b/source/event/include/G4StackedTrack.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4StackedTrack.hh,v 1.10 2006/06/29 18:09:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4StackedTrack.hh,v 1.12 2010/10/27 07:21:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Last Modification : 02/Feb/96 M.Asai diff --git a/source/event/include/G4TrajectoryContainer.hh b/source/event/include/G4TrajectoryContainer.hh index b7e8c766f6..d4b46d29b4 100644 --- a/source/event/include/G4TrajectoryContainer.hh +++ b/source/event/include/G4TrajectoryContainer.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TrajectoryContainer.hh,v 1.15 2006/06/29 18:09:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryContainer.hh,v 1.17 2010/10/27 07:21:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // G4TrajectoryContainer diff --git a/source/event/sources.cmake b/source/event/sources.cmake new file mode 100644 index 0000000000..4b30f77bdb --- /dev/null +++ b/source/event/sources.cmake @@ -0,0 +1,160 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4event +# Package: Geant4.src.G4event +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:39:57 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/biasing/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4event + HEADERS + G4AdjointPosOnPhysVolGenerator.hh + G4AdjointPrimaryGenerator.hh + G4AdjointStackingAction.hh + G4CellScorer.hh + G4CellScorerStore.hh + G4ClassificationOfNewTrack.hh + G4EvManMessenger.hh + G4Event.hh + G4EventManager.hh + G4GeneralParticleSource.hh + G4GeneralParticleSourceMessenger.hh + G4HEPEvtInterface.hh + G4HEPEvtParticle.hh + G4ParticleGun.hh + G4ParticleGunMessenger.hh + G4PrimaryTransformer.hh + G4RayShooter.hh + G4SPSAngDistribution.hh + G4SPSEneDistribution.hh + G4SPSPosDistribution.hh + G4SPSRandomGenerator.hh + G4SingleParticleSource.hh + G4SmartTrackStack.hh + G4StackChecker.hh + G4StackManager.hh + G4StackedTrack.hh + G4StackingMessenger.hh + G4TrackStack.hh + G4TrajectoryContainer.hh + G4UserEventAction.hh + G4UserStackingAction.hh + G4VPrimaryGenerator.hh + G4VUserEventInformation.hh + eventgendefs.hh + evmandefs.hh + trajectoryControl.hh + SOURCES + G4AdjointPosOnPhysVolGenerator.cc + G4AdjointPrimaryGenerator.cc + G4AdjointStackingAction.cc + G4CellScorer.cc + G4CellScorerStore.cc + G4EvManMessenger.cc + G4Event.cc + G4EventManager.cc + G4GeneralParticleSource.cc + G4GeneralParticleSourceMessenger.cc + G4HEPEvtInterface.cc + G4HEPEvtParticle.cc + G4ParticleGun.cc + G4ParticleGunMessenger.cc + G4PrimaryTransformer.cc + G4RayShooter.cc + G4SPSAngDistribution.cc + G4SPSEneDistribution.cc + G4SPSPosDistribution.cc + G4SPSRandomGenerator.cc + G4SingleParticleSource.cc + G4SmartTrackStack.cc + G4StackChecker.cc + G4StackManager.cc + G4StackedTrack.cc + G4StackingMessenger.cc + G4TrackStack.cc + G4TrajectoryContainer.cc + G4UserEventAction.cc + G4UserStackingAction.cc + G4VPrimaryGenerator.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4detector + G4digits + G4emutils + G4geombias + G4geometrymng + G4globman + G4graphics_reps + G4hepnumerics + G4hits + G4intercoms + G4ions + G4leptons + G4materials + G4mesons + G4navigation + G4partman + G4procman + G4track + G4tracking + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4particles + G4processes + G4track + G4tracking + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/event/src/G4EventManager.cc b/source/event/src/G4EventManager.cc index 79c906fe18..c673caaadb 100644 --- a/source/event/src/G4EventManager.cc +++ b/source/event/src/G4EventManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EventManager.cc,v 1.30 2007/03/08 23:56:12 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EventManager.cc,v 1.32 2010/11/08 21:31:35 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // @@ -290,6 +290,7 @@ void G4EventManager::StackTracks(G4TrackVector *trackVector,G4bool IDhasAlreadyS pp->SetTrackID(trackIDCounter); } } + newTrack->SetOriginTouchableHandle(newTrack->GetTouchableHandle()); trackContainer->PushOneTrack( newTrack ); #ifdef G4VERBOSE if ( verboseLevel > 1 ) @@ -335,31 +336,6 @@ void G4EventManager::ProcessOneEvent(G4Event* anEvent) DoProcessing(anEvent); } -#ifdef CLHEP_HepMC // Temporarly disabled -#include "G4HepMCInterface.hh" -void G4EventManager::ProcessOneEvent(const HepMC::GenEvent* hepmcevt,G4Event* anEvent) -{ - static G4String randStat; - trackIDCounter = 0; - G4bool tempEvent = false; - if(!anEvent) - { - anEvent = new G4Event(); - tempEvent = true; - } - if(storetRandomNumberStatusToG4Event==1 || storetRandomNumberStatusToG4Event==3) - { - std::ostringstream oss; - CLHEP::HepRandom::saveFullState(oss); - anEvent->SetRandomNumberStatus(randStat=oss.str()); - } - G4HepMCInterface::HepMC2G4(hepmcevt,anEvent); - DoProcessing(anEvent); - if(tempEvent) - { delete anEvent; } -} -#endif - void G4EventManager::ProcessOneEvent(G4TrackVector* trackVector,G4Event* anEvent) { static G4String randStat; diff --git a/source/event/src/G4GeneralParticleSourceMessenger.cc b/source/event/src/G4GeneralParticleSourceMessenger.cc index aa0d0bb233..739417f29f 100644 --- a/source/event/src/G4GeneralParticleSourceMessenger.cc +++ b/source/event/src/G4GeneralParticleSourceMessenger.cc @@ -150,19 +150,19 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger directionCmd = new G4UIcmdWith3Vector("/gps/direction",this); directionCmd->SetGuidance("Set momentum direction."); directionCmd->SetGuidance("Direction needs not to be a unit vector."); - directionCmd->SetParameterName("Px","Py","Pz",true,true); + directionCmd->SetParameterName("Px","Py","Pz",false,false); directionCmd->SetRange("Px != 0 || Py != 0 || Pz != 0"); energyCmd = new G4UIcmdWithADoubleAndUnit("/gps/energy",this); energyCmd->SetGuidance("Set kinetic energy."); - energyCmd->SetParameterName("Energy",true,true); + energyCmd->SetParameterName("Energy",false,false); energyCmd->SetDefaultUnit("GeV"); //energyCmd->SetUnitCategory("Energy"); //energyCmd->SetUnitCandidates("eV keV MeV GeV TeV"); positionCmd = new G4UIcmdWith3VectorAndUnit("/gps/position",this); positionCmd->SetGuidance("Set starting position of the particle."); - positionCmd->SetParameterName("X","Y","Z",true,true); + positionCmd->SetParameterName("X","Y","Z",false,false); positionCmd->SetDefaultUnit("cm"); //positionCmd->SetUnitCategory("Length"); //positionCmd->SetUnitCandidates("microm mm cm m km"); @@ -192,19 +192,19 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger timeCmd = new G4UIcmdWithADoubleAndUnit("/gps/time",this); timeCmd->SetGuidance("Set initial time of the particle."); - timeCmd->SetParameterName("t0",true,true); + timeCmd->SetParameterName("t0",false,false); timeCmd->SetDefaultUnit("ns"); //timeCmd->SetUnitCategory("Time"); //timeCmd->SetUnitCandidates("ns ms s"); polCmd = new G4UIcmdWith3Vector("/gps/polarization",this); polCmd->SetGuidance("Set polarization."); - polCmd->SetParameterName("Px","Py","Pz",true,true); + polCmd->SetParameterName("Px","Py","Pz",false,false); polCmd->SetRange("Px>=-1.&&Px<=1.&&Py>=-1.&&Py<=1.&&Pz>=-1.&&Pz<=1."); numberCmd = new G4UIcmdWithAnInteger("/gps/number",this); numberCmd->SetGuidance("Set number of particles to be generated per vertex."); - numberCmd->SetParameterName("N",true,true); + numberCmd->SetParameterName("N",false,false); numberCmd->SetRange("N>0"); // verbosity @@ -224,212 +224,212 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger typeCmd1 = new G4UIcmdWithAString("/gps/pos/type",this); typeCmd1->SetGuidance("Sets source distribution type."); typeCmd1->SetGuidance("Either Point, Beam, Plane, Surface or Volume"); - typeCmd1->SetParameterName("DisType",true,true); + typeCmd1->SetParameterName("DisType",false,false); typeCmd1->SetDefaultValue("Point"); typeCmd1->SetCandidates("Point Beam Plane Surface Volume"); shapeCmd1 = new G4UIcmdWithAString("/gps/pos/shape",this); shapeCmd1->SetGuidance("Sets source shape for Plan, Surface or Volume type source."); - shapeCmd1->SetParameterName("Shape",true,true); + shapeCmd1->SetParameterName("Shape",false,false); shapeCmd1->SetDefaultValue("NULL"); shapeCmd1->SetCandidates("Circle Annulus Ellipse Square Rectangle Sphere Ellipsoid Cylinder Para"); centreCmd1 = new G4UIcmdWith3VectorAndUnit("/gps/pos/centre",this); centreCmd1->SetGuidance("Set centre coordinates of source."); centreCmd1->SetGuidance(" same effect as the /gps/position command"); - centreCmd1->SetParameterName("X","Y","Z",true,true); + centreCmd1->SetParameterName("X","Y","Z",false,false); centreCmd1->SetDefaultUnit("cm"); // centreCmd1->SetUnitCandidates("micron mm cm m km"); posrot1Cmd1 = new G4UIcmdWith3Vector("/gps/pos/rot1",this); posrot1Cmd1->SetGuidance("Set the 1st vector defining the rotation matrix'."); posrot1Cmd1->SetGuidance("It does not need to be a unit vector."); - posrot1Cmd1->SetParameterName("R1x","R1y","R1z",true,true); + posrot1Cmd1->SetParameterName("R1x","R1y","R1z",false,false); posrot1Cmd1->SetRange("R1x != 0 || R1y != 0 || R1z != 0"); posrot2Cmd1 = new G4UIcmdWith3Vector("/gps/pos/rot2",this); posrot2Cmd1->SetGuidance("Set the 2nd vector defining the rotation matrix'."); posrot2Cmd1->SetGuidance("It does not need to be a unit vector."); - posrot2Cmd1->SetParameterName("R2x","R2y","R2z",true,true); + posrot2Cmd1->SetParameterName("R2x","R2y","R2z",false,false); posrot2Cmd1->SetRange("R2x != 0 || R2y != 0 || R2z != 0"); halfxCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/pos/halfx",this); halfxCmd1->SetGuidance("Set x half length of source."); - halfxCmd1->SetParameterName("Halfx",true,true); + halfxCmd1->SetParameterName("Halfx",false,false); halfxCmd1->SetDefaultUnit("cm"); // 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->SetParameterName("Halfy",false,false); halfyCmd1->SetDefaultUnit("cm"); // 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->SetParameterName("Halfz",false,false); halfzCmd1->SetDefaultUnit("cm"); // 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->SetParameterName("Radius",false,false); radiusCmd1->SetDefaultUnit("cm"); // 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->SetParameterName("Radius0",false,false); radius0Cmd1->SetDefaultUnit("cm"); // 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->SetParameterName("Sigmar",false,false); possigmarCmd1->SetDefaultUnit("cm"); // 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->SetParameterName("Sigmax",false,false); possigmaxCmd1->SetDefaultUnit("cm"); // 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->SetParameterName("Sigmay",false,false); possigmayCmd1->SetDefaultUnit("cm"); // 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->SetParameterName("paralp",false,false); paralpCmd1->SetDefaultUnit("rad"); // 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->SetParameterName("parthe",false,false); partheCmd1->SetDefaultUnit("rad"); // 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->SetParameterName("parphi",false,false); parphiCmd1->SetDefaultUnit("rad"); // parphiCmd1->SetUnitCandidates("rad deg"); confineCmd1 = new G4UIcmdWithAString("/gps/pos/confine",this); confineCmd1->SetGuidance("Confine source to volume (NULL to unset)."); confineCmd1->SetGuidance("usage: confine VolName"); - confineCmd1->SetParameterName("VolName",true,true); + confineCmd1->SetParameterName("VolName",false,false); confineCmd1->SetDefaultValue("NULL"); // old implementations typeCmd = new G4UIcmdWithAString("/gps/type",this); typeCmd->SetGuidance("Sets source distribution type. (obsolete!)"); typeCmd->SetGuidance("Either Point, Beam, Plane, Surface or Volume"); - typeCmd->SetParameterName("DisType",true,true); + typeCmd->SetParameterName("DisType",false,false); typeCmd->SetDefaultValue("Point"); typeCmd->SetCandidates("Point Beam Plane Surface Volume"); shapeCmd = new G4UIcmdWithAString("/gps/shape",this); shapeCmd->SetGuidance("Sets source shape type.(obsolete!)"); - shapeCmd->SetParameterName("Shape",true,true); + shapeCmd->SetParameterName("Shape",false,false); shapeCmd->SetDefaultValue("NULL"); shapeCmd->SetCandidates("Circle Annulus Ellipse Square Rectangle Sphere Ellipsoid Cylinder Para"); centreCmd = new G4UIcmdWith3VectorAndUnit("/gps/centre",this); centreCmd->SetGuidance("Set centre coordinates of source.(obsolete!)"); - centreCmd->SetParameterName("X","Y","Z",true,true); + centreCmd->SetParameterName("X","Y","Z",false,false); centreCmd->SetDefaultUnit("cm"); // centreCmd->SetUnitCandidates("micron mm cm m km"); posrot1Cmd = new G4UIcmdWith3Vector("/gps/posrot1",this); posrot1Cmd->SetGuidance("Set rotation matrix of x'.(obsolete!)"); posrot1Cmd->SetGuidance("Posrot1 does not need to be a unit vector."); - posrot1Cmd->SetParameterName("R1x","R1y","R1z",true,true); + posrot1Cmd->SetParameterName("R1x","R1y","R1z",false,false); posrot1Cmd->SetRange("R1x != 0 || R1y != 0 || R1z != 0"); posrot2Cmd = new G4UIcmdWith3Vector("/gps/posrot2",this); posrot2Cmd->SetGuidance("Set rotation matrix of y'.(obsolete!)"); posrot2Cmd->SetGuidance("Posrot2 does not need to be a unit vector."); - posrot2Cmd->SetParameterName("R2x","R2y","R2z",true,true); + posrot2Cmd->SetParameterName("R2x","R2y","R2z",false,false); posrot2Cmd->SetRange("R2x != 0 || R2y != 0 || R2z != 0"); halfxCmd = new G4UIcmdWithADoubleAndUnit("/gps/halfx",this); halfxCmd->SetGuidance("Set x half length of source.(obsolete!)"); - halfxCmd->SetParameterName("Halfx",true,true); + halfxCmd->SetParameterName("Halfx",false,false); halfxCmd->SetDefaultUnit("cm"); // 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->SetParameterName("Halfy",false,false); halfyCmd->SetDefaultUnit("cm"); // 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->SetParameterName("Halfz",false,false); halfzCmd->SetDefaultUnit("cm"); // 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->SetParameterName("Radius",false,false); radiusCmd->SetDefaultUnit("cm"); // 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->SetParameterName("Radius0",false,false); radius0Cmd->SetDefaultUnit("cm"); // 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->SetParameterName("Sigmar",false,false); possigmarCmd->SetDefaultUnit("cm"); // 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->SetParameterName("Sigmax",false,false); possigmaxCmd->SetDefaultUnit("cm"); // 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->SetParameterName("Sigmay",false,false); possigmayCmd->SetDefaultUnit("cm"); // 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->SetParameterName("paralp",false,false); paralpCmd->SetDefaultUnit("rad"); // 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->SetParameterName("parthe",false,false); partheCmd->SetDefaultUnit("rad"); // 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->SetParameterName("parphi",false,false); parphiCmd->SetDefaultUnit("rad"); // parphiCmd->SetUnitCandidates("rad deg"); confineCmd = new G4UIcmdWithAString("/gps/confine",this); confineCmd->SetGuidance("Confine source to volume (NULL to unset)(obsolete!) ."); confineCmd->SetGuidance("usage: confine VolName"); - confineCmd->SetParameterName("VolName",true,true); + confineCmd->SetParameterName("VolName",false,false); confineCmd->SetDefaultValue("NULL"); // Angular distribution commands @@ -439,70 +439,70 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger angtypeCmd1 = new G4UIcmdWithAString("/gps/ang/type",this); angtypeCmd1->SetGuidance("Sets angular source distribution type"); angtypeCmd1->SetGuidance("Possible variables are: iso, cos, planar, beam1d, beam2d, focused or user"); - angtypeCmd1->SetParameterName("AngDis",true,true); + angtypeCmd1->SetParameterName("AngDis",false,false); angtypeCmd1->SetDefaultValue("iso"); angtypeCmd1->SetCandidates("iso cos planar beam1d beam2d focused user"); angrot1Cmd1 = new G4UIcmdWith3Vector("/gps/ang/rot1",this); angrot1Cmd1->SetGuidance("Sets the 1st vector for angular distribution rotation matrix"); angrot1Cmd1->SetGuidance("Need not be a unit vector"); - angrot1Cmd1->SetParameterName("AR1x","AR1y","AR1z",true,true); + angrot1Cmd1->SetParameterName("AR1x","AR1y","AR1z",false,false); angrot1Cmd1->SetRange("AR1x != 0 || AR1y != 0 || AR1z != 0"); angrot2Cmd1 = new G4UIcmdWith3Vector("/gps/ang/rot2",this); angrot2Cmd1->SetGuidance("Sets the 2nd vector for angular distribution rotation matrix"); angrot2Cmd1->SetGuidance("Need not be a unit vector"); - angrot2Cmd1->SetParameterName("AR2x","AR2y","AR2z",true,true); + angrot2Cmd1->SetParameterName("AR2x","AR2y","AR2z",false,false); angrot2Cmd1->SetRange("AR2x != 0 || AR2y != 0 || AR2z != 0"); minthetaCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ang/mintheta",this); minthetaCmd1->SetGuidance("Set minimum theta"); - minthetaCmd1->SetParameterName("MinTheta",true,true); + minthetaCmd1->SetParameterName("MinTheta",false,false); minthetaCmd1->SetDefaultValue(0.); minthetaCmd1->SetDefaultUnit("rad"); // minthetaCmd1->SetUnitCandidates("rad deg"); maxthetaCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ang/maxtheta",this); maxthetaCmd1->SetGuidance("Set maximum theta"); - maxthetaCmd1->SetParameterName("MaxTheta",true,true); + maxthetaCmd1->SetParameterName("MaxTheta",false,false); maxthetaCmd1->SetDefaultValue(pi); maxthetaCmd1->SetDefaultUnit("rad"); // maxthetaCmd1->SetUnitCandidates("rad deg"); minphiCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ang/minphi",this); minphiCmd1->SetGuidance("Set minimum phi"); - minphiCmd1->SetParameterName("MinPhi",true,true); + minphiCmd1->SetParameterName("MinPhi",false,false); minphiCmd1->SetDefaultUnit("rad"); // minphiCmd1->SetUnitCandidates("rad deg"); maxphiCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ang/maxphi",this); maxphiCmd1->SetGuidance("Set maximum phi"); - maxphiCmd1->SetParameterName("MaxPhi",true,true); + maxphiCmd1->SetParameterName("MaxPhi",false,false); maxphiCmd1->SetDefaultValue(pi); maxphiCmd1->SetDefaultUnit("rad"); // 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->SetParameterName("Sigmara",false,false); angsigmarCmd1->SetDefaultUnit("rad"); // 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->SetParameterName("Sigmaxa",false,false); angsigmaxCmd1->SetDefaultUnit("rad"); // 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->SetParameterName("Sigmaya",false,false); angsigmayCmd1->SetDefaultUnit("rad"); // 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->SetParameterName("x","y","z",false,false); angfocusCmd->SetDefaultUnit("cm"); // angfocusCmd->SetUnitCandidates("micron mm cm m km"); @@ -522,62 +522,62 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger angtypeCmd = new G4UIcmdWithAString("/gps/angtype",this); angtypeCmd->SetGuidance("Sets angular source distribution type (obsolete!)"); angtypeCmd->SetGuidance("Possible variables are: iso, cos planar beam1d beam2d or user"); - angtypeCmd->SetParameterName("AngDis",true,true); + angtypeCmd->SetParameterName("AngDis",false,false); angtypeCmd->SetDefaultValue("iso"); angtypeCmd->SetCandidates("iso cos planar beam1d beam2d user"); angrot1Cmd = new G4UIcmdWith3Vector("/gps/angrot1",this); angrot1Cmd->SetGuidance("Sets the x' vector for angular distribution(obsolete!) "); angrot1Cmd->SetGuidance("Need not be a unit vector"); - angrot1Cmd->SetParameterName("AR1x","AR1y","AR1z",true,true); + angrot1Cmd->SetParameterName("AR1x","AR1y","AR1z",false,false); angrot1Cmd->SetRange("AR1x != 0 || AR1y != 0 || AR1z != 0"); angrot2Cmd = new G4UIcmdWith3Vector("/gps/angrot2",this); angrot2Cmd->SetGuidance("Sets the y' vector for angular distribution (obsolete!)"); angrot2Cmd->SetGuidance("Need not be a unit vector"); - angrot2Cmd->SetParameterName("AR2x","AR2y","AR2z",true,true); + angrot2Cmd->SetParameterName("AR2x","AR2y","AR2z",false,false); angrot2Cmd->SetRange("AR2x != 0 || AR2y != 0 || AR2z != 0"); minthetaCmd = new G4UIcmdWithADoubleAndUnit("/gps/mintheta",this); minthetaCmd->SetGuidance("Set minimum theta (obsolete!)"); - minthetaCmd->SetParameterName("MinTheta",true,true); + minthetaCmd->SetParameterName("MinTheta",false,false); minthetaCmd->SetDefaultUnit("rad"); // minthetaCmd->SetUnitCandidates("rad deg"); maxthetaCmd = new G4UIcmdWithADoubleAndUnit("/gps/maxtheta",this); maxthetaCmd->SetGuidance("Set maximum theta (obsolete!)"); - maxthetaCmd->SetParameterName("MaxTheta",true,true); + maxthetaCmd->SetParameterName("MaxTheta",false,false); maxthetaCmd->SetDefaultValue(3.1416); maxthetaCmd->SetDefaultUnit("rad"); // maxthetaCmd->SetUnitCandidates("rad deg"); minphiCmd = new G4UIcmdWithADoubleAndUnit("/gps/minphi",this); minphiCmd->SetGuidance("Set minimum phi (obsolete!)"); - minphiCmd->SetParameterName("MinPhi",true,true); + minphiCmd->SetParameterName("MinPhi",false,false); minphiCmd->SetDefaultUnit("rad"); // minphiCmd->SetUnitCandidates("rad deg"); maxphiCmd = new G4UIcmdWithADoubleAndUnit("/gps/maxphi",this); maxphiCmd->SetGuidance("Set maximum phi(obsolete!)"); - maxphiCmd->SetParameterName("MaxPhi",true,true); + maxphiCmd->SetParameterName("MaxPhi",false,false); maxphiCmd->SetDefaultUnit("rad"); // 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->SetParameterName("Sigmara",false,false); angsigmarCmd->SetDefaultUnit("rad"); // 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->SetParameterName("Sigmaxa",false,false); angsigmaxCmd->SetDefaultUnit("rad"); // 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->SetParameterName("Sigmaya",false,false); angsigmayCmd->SetDefaultUnit("rad"); // angsigmayCmd->SetUnitCandidates("rad deg"); @@ -600,53 +600,57 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger energytypeCmd1 = new G4UIcmdWithAString("/gps/ene/type",this); energytypeCmd1->SetGuidance("Sets energy distribution type"); - energytypeCmd1->SetParameterName("EnergyDis",true,true); + energytypeCmd1->SetParameterName("EnergyDis",false,false); energytypeCmd1->SetDefaultValue("Mono"); energytypeCmd1->SetCandidates("Mono Lin Pow Exp Gauss Brem Bbody Cdg User Arb Epn"); eminCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ene/min",this); eminCmd1->SetGuidance("Sets minimum energy"); - eminCmd1->SetParameterName("emin",true,true); + eminCmd1->SetParameterName("emin",false,false); eminCmd1->SetDefaultUnit("keV"); // 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->SetParameterName("emax",false,false); emaxCmd1->SetDefaultUnit("keV"); // 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->SetParameterName("monoenergy",false,false); monoenergyCmd1->SetDefaultUnit("keV"); // 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->SetParameterName("Sigmae",false,false); engsigmaCmd1->SetDefaultUnit("keV"); // 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."); - alphaCmd1->SetParameterName("alpha",true,true); + alphaCmd1->SetParameterName("alpha",false,false); tempCmd1 = new G4UIcmdWithADouble("/gps/ene/temp",this); tempCmd1->SetGuidance("Sets the temperature for Brem and BBody distributions (in Kelvin)"); - tempCmd1->SetParameterName("temp",true,true); + tempCmd1->SetParameterName("temp",false,false); ezeroCmd1 = new G4UIcmdWithADouble("/gps/ene/ezero",this); ezeroCmd1->SetGuidance("Sets E_0 for exponential distribution (in MeV)"); - ezeroCmd1->SetParameterName("ezero",true,true); + ezeroCmd1->SetParameterName("ezero",false,false); gradientCmd1 = new G4UIcmdWithADouble("/gps/ene/gradient",this); gradientCmd1->SetGuidance("Sets the gradient for Lin distribution (in 1/MeV)"); - gradientCmd1->SetParameterName("gradient",true,true); + gradientCmd1->SetParameterName("gradient",false,false); interceptCmd1 = new G4UIcmdWithADouble("/gps/ene/intercept",this); interceptCmd1->SetGuidance("Sets the intercept for Lin distributions (in MeV)"); - interceptCmd1->SetParameterName("intercept",true,true); + interceptCmd1->SetParameterName("intercept",false,false); + + arbeintCmd1 = new G4UIcmdWithADouble("/gps/ene/biasAlpha",this); + arbeintCmd1->SetGuidance("Set the power-law index for the energy sampling distri. )"); + arbeintCmd1->SetParameterName("arbeint",false,false); calculateCmd1 = new G4UIcmdWithoutParameter("/gps/ene/calculate",this); calculateCmd1->SetGuidance("Calculates the distributions for Cdg and BBody"); @@ -664,53 +668,53 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger //old ones energytypeCmd = new G4UIcmdWithAString("/gps/energytype",this); energytypeCmd->SetGuidance("Sets energy distribution type (obsolete!)"); - energytypeCmd->SetParameterName("EnergyDis",true,true); + energytypeCmd->SetParameterName("EnergyDis",false,false); energytypeCmd->SetDefaultValue("Mono"); energytypeCmd->SetCandidates("Mono Lin Pow Exp Gauss Brem Bbody Cdg User Arb Epn"); eminCmd = new G4UIcmdWithADoubleAndUnit("/gps/emin",this); eminCmd->SetGuidance("Sets Emin (obsolete!)"); - eminCmd->SetParameterName("emin",true,true); + eminCmd->SetParameterName("emin",false,false); eminCmd->SetDefaultUnit("keV"); // 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->SetParameterName("emax",false,false); emaxCmd->SetDefaultUnit("keV"); // 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->SetParameterName("monoenergy",false,false); monoenergyCmd->SetDefaultUnit("keV"); // 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->SetParameterName("Sigmae",false,false); engsigmaCmd->SetDefaultUnit("keV"); // 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!)."); - alphaCmd->SetParameterName("alpha",true,true); + alphaCmd->SetParameterName("alpha",false,false); tempCmd = new G4UIcmdWithADouble("/gps/temp",this); tempCmd->SetGuidance("Sets the temperature for Brem and BBody (in Kelvin)(obsolete!)"); - tempCmd->SetParameterName("temp",true,true); + tempCmd->SetParameterName("temp",false,false); ezeroCmd = new G4UIcmdWithADouble("/gps/ezero",this); ezeroCmd->SetGuidance("Sets ezero exponential distributions (in MeV)(obsolete!)"); - ezeroCmd->SetParameterName("ezero",true,true); + ezeroCmd->SetParameterName("ezero",false,false); gradientCmd = new G4UIcmdWithADouble("/gps/gradient",this); gradientCmd->SetGuidance("Sets the gradient for Lin distributions (in 1/MeV)(obsolete!)"); - gradientCmd->SetParameterName("gradient",true,true); + gradientCmd->SetParameterName("gradient",false,false); interceptCmd = new G4UIcmdWithADouble("/gps/intercept",this); interceptCmd->SetGuidance("Sets the intercept for Lin distributions (in MeV)(obsolete!)"); - interceptCmd->SetParameterName("intercept",true,true); + interceptCmd->SetParameterName("intercept",false,false); calculateCmd = new G4UIcmdWithoutParameter("/gps/calculate",this); calculateCmd->SetGuidance("Calculates distributions for Cdg and BBody(obsolete!)"); @@ -731,13 +735,13 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger histnameCmd1 = new G4UIcmdWithAString("/gps/hist/type",this); histnameCmd1->SetGuidance("Sets histogram type"); - histnameCmd1->SetParameterName("HistType",true,true); + histnameCmd1->SetParameterName("HistType",false,false); histnameCmd1->SetDefaultValue("biasx"); histnameCmd1->SetCandidates("biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn"); resethistCmd1 = new G4UIcmdWithAString("/gps/hist/reset",this); resethistCmd1->SetGuidance("Reset (clean) the histogram "); - resethistCmd1->SetParameterName("HistType",true,true); + resethistCmd1->SetParameterName("HistType",false,false); resethistCmd1->SetDefaultValue("energy"); resethistCmd1->SetCandidates("biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn"); @@ -747,35 +751,39 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger histpointCmd1->SetParameterName("Ehi","Weight","Junk",true,true); histpointCmd1->SetRange("Ehi >= 0. && Weight >= 0."); + histfileCmd1 = new G4UIcmdWithAString("/gps/hist/file",this); + histfileCmd1->SetGuidance("import the arb energy hist in an ASCII file"); + histfileCmd1->SetParameterName("HistFile",false,false); + arbintCmd1 = new G4UIcmdWithAString("/gps/hist/inter",this); arbintCmd1->SetGuidance("Sets the interpolation method for arbitrary distribution."); - arbintCmd1->SetParameterName("int",true,true); + arbintCmd1->SetParameterName("int",false,false); arbintCmd1->SetDefaultValue("Lin"); arbintCmd1->SetCandidates("Lin Log Exp Spline"); // old ones histnameCmd = new G4UIcmdWithAString("/gps/histname",this); histnameCmd->SetGuidance("Sets histogram type (obsolete!)"); - histnameCmd->SetParameterName("HistType",true,true); + histnameCmd->SetParameterName("HistType",false,false); histnameCmd->SetDefaultValue("biasx"); histnameCmd->SetCandidates("biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn"); // re-set the histograms resethistCmd = new G4UIcmdWithAString("/gps/resethist",this); resethistCmd->SetGuidance("Re-Set the histogram (obsolete!)"); - resethistCmd->SetParameterName("HistType",true,true); + resethistCmd->SetParameterName("HistType",false,false); resethistCmd->SetDefaultValue("energy"); resethistCmd->SetCandidates("biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn"); histpointCmd = new G4UIcmdWith3Vector("/gps/histpoint",this); histpointCmd->SetGuidance("Allows user to define a histogram (obsolete!)"); histpointCmd->SetGuidance("Enter: Ehi Weight"); - histpointCmd->SetParameterName("Ehi","Weight","Junk",true,true); + histpointCmd->SetParameterName("Ehi","Weight","Junk",false,false); histpointCmd->SetRange("Ehi >= 0. && Weight >= 0."); arbintCmd = new G4UIcmdWithAString("/gps/arbint",this); arbintCmd->SetGuidance("Sets Arbitrary Interpolation type.(obsolete!) "); - arbintCmd->SetParameterName("int",true,true); + arbintCmd->SetParameterName("int",false,false); arbintCmd->SetDefaultValue("NULL"); arbintCmd->SetCandidates("Lin Log Exp Spline"); @@ -869,6 +877,7 @@ G4GeneralParticleSourceMessenger::~G4GeneralParticleSourceMessenger() delete ezeroCmd1; delete gradientCmd1; delete interceptCmd1; + delete arbeintCmd1; delete calculateCmd1; delete energyspecCmd1; delete diffspecCmd1; @@ -881,6 +890,7 @@ G4GeneralParticleSourceMessenger::~G4GeneralParticleSourceMessenger() delete histnameCmd1; delete resethistCmd1; delete histpointCmd1; + delete histfileCmd1; delete arbintCmd1; delete verbosityCmd; @@ -1504,6 +1514,10 @@ void G4GeneralParticleSourceMessenger::SetNewValue(G4UIcommand *command, G4Strin { fParticleGun->GetEneDist()->SetInterCept(interceptCmd1->GetNewDoubleValue(newValues)); } + else if(command == arbeintCmd1) + { + fParticleGun->GetEneDist()->SetBiasAlpha(arbeintCmd1->GetNewDoubleValue(newValues)); + } else if(command == calculateCmd1) { fParticleGun->GetEneDist()->Calculate(); @@ -1520,6 +1534,11 @@ void G4GeneralParticleSourceMessenger::SetNewValue(G4UIcommand *command, G4Strin { histtype = newValues; } + else if(command == histfileCmd1) + { + histtype = "arb"; + fParticleGun->GetEneDist()->ArbEnergyHistoFile(newValues); + } else if(command == histpointCmd1) { if(histtype == "biasx") diff --git a/source/event/src/G4PrimaryTransformer.cc b/source/event/src/G4PrimaryTransformer.cc index bb7237888c..14c24597ab 100644 --- a/source/event/src/G4PrimaryTransformer.cc +++ b/source/event/src/G4PrimaryTransformer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PrimaryTransformer.cc,v 1.27 2006/06/29 18:09:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PrimaryTransformer.cc,v 1.29 2010/08/09 14:38:18 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4PrimaryTransformer.hh" @@ -67,10 +67,12 @@ G4TrackVector* G4PrimaryTransformer::GimmePrimaries(G4Event* anEvent,G4int track for( size_t ii=0; iiGetNumberOfPrimaryVertex(); - if(n_vertex==0) return 0; - for( G4int i=0; iGetPrimaryVertex(i) ); } + G4PrimaryVertex* nextVertex = anEvent->GetPrimaryVertex(); + while(nextVertex) + { + GenerateTracks(nextVertex); + nextVertex = nextVertex->GetNext(); + } return &TV; } @@ -173,14 +175,24 @@ void G4PrimaryTransformer::GenerateSingleTrack } if(primaryParticle->GetProperTime()>0.0) { DP->SetPreAssignedDecayProperTime(primaryParticle->GetProperTime()); } - // Set Charge if it is specified - if (primaryParticle->GetCharge()SetCharge(primaryParticle->GetCharge()); - } + // Set Mass if it is specified G4double pmas = primaryParticle->GetMass(); if(pmas>=0.) { DP->SetMass(pmas); } + + // Set Charge if it is specified + if (primaryParticle->GetCharge()GetAtomicNumber() <0) { + DP->SetCharge(primaryParticle->GetCharge()); + } else { + // ions + G4int iz = partDef->GetAtomicNumber(); + G4int iq = static_cast(primaryParticle->GetCharge()/eplus); + G4int n_e = iz - iq; + if (n_e>0) DP->AddElectron(0,n_e); + } + } // Set decay products to the DynamicParticle SetDecayProducts( primaryParticle, DP ); // Set primary particle @@ -208,6 +220,7 @@ void G4PrimaryTransformer::GenerateSingleTrack track->SetWeight(wv*(primaryParticle->GetWeight())); // Store it to G4TrackVector TV.push_back( track ); + } } diff --git a/source/event/src/G4SPSEneDistribution.cc b/source/event/src/G4SPSEneDistribution.cc index 210ae65a57..77449054f0 100644 --- a/source/event/src/G4SPSEneDistribution.cc +++ b/source/event/src/G4SPSEneDistribution.cc @@ -49,1187 +49,1244 @@ #include "G4SPSEneDistribution.hh" -G4SPSEneDistribution::G4SPSEneDistribution() -{ - // - // Initialise all variables - particle_energy = 1.0*MeV; +G4SPSEneDistribution::G4SPSEneDistribution() { + // + // Initialise all variables + particle_energy = 1.0 * MeV; - EnergyDisType = "Mono"; - MonoEnergy = 1*MeV; - Emin = 0.; - Emax = 1.e30; - alpha = 0.; - Ezero = 0.; - SE = 0.; - Temp = 0.; - grad = 0.; - cept = 0.; - EnergySpec = true; // true - energy spectra, false - momentum spectra - DiffSpec = true; // true - differential spec, false integral spec - IntType = "NULL"; // Interpolation type - IPDFEnergyExist = false; - IPDFArbExist = false; + EnergyDisType = "Mono"; + weight = 1.; + MonoEnergy = 1 * MeV; + Emin = 0.; + Emax = 1.e30; + alpha = 0.; + biasalpha = 0.; + prob_norm = 1.0; + Ezero = 0.; + SE = 0.; + Temp = 0.; + grad = 0.; + cept = 0.; + Biased = false; // not biased + EnergySpec = true; // true - energy spectra, false - momentum spectra + DiffSpec = true; // true - differential spec, false integral spec + IntType = "NULL"; // Interpolation type + IPDFEnergyExist = false; + IPDFArbExist = false; - ArbEmin = 0.; - ArbEmax = 1.e30; + ArbEmin = 0.; + ArbEmax = 1.e30; - verbosityLevel = 0 ; + verbosityLevel = 0; } -G4SPSEneDistribution::~G4SPSEneDistribution() -{} - -void G4SPSEneDistribution::SetEnergyDisType(G4String DisType) -{ - EnergyDisType = DisType; - if (EnergyDisType == "User"){ - UDefEnergyH = IPDFEnergyH = ZeroPhysVector ; - IPDFEnergyExist = false ; - } else if ( EnergyDisType == "Arb"){ - ArbEnergyH =IPDFArbEnergyH = ZeroPhysVector ; - IPDFArbExist = false; - } else if (EnergyDisType == "Epn"){ - UDefEnergyH = IPDFEnergyH = ZeroPhysVector ; - IPDFEnergyExist = false ; - EpnEnergyH = ZeroPhysVector ; - } +G4SPSEneDistribution::~G4SPSEneDistribution() { } -void G4SPSEneDistribution::SetEmin(G4double emi) -{ - Emin = emi; -} - -void G4SPSEneDistribution::SetEmax(G4double ema) -{ - Emax = ema; -} - -void G4SPSEneDistribution::SetMonoEnergy(G4double menergy) -{ - MonoEnergy = menergy; -} - -void G4SPSEneDistribution::SetBeamSigmaInE(G4double e) -{ - SE = e; -} -void G4SPSEneDistribution::SetAlpha(G4double alp) -{ - alpha = alp; -} - -void G4SPSEneDistribution::SetTemp(G4double tem) -{ - Temp = tem; -} - -void G4SPSEneDistribution::SetEzero(G4double eze) -{ - Ezero = eze; -} - -void G4SPSEneDistribution::SetGradient(G4double gr) -{ - grad = gr; -} - -void G4SPSEneDistribution::SetInterCept(G4double c) -{ - cept = c; -} - -void G4SPSEneDistribution::UserEnergyHisto(G4ThreeVector input) -{ - G4double ehi, val; - ehi = input.x(); - val = input.y(); - if(verbosityLevel > 1) { - G4cout << "In UserEnergyHisto" << G4endl; - G4cout << " " << ehi << " " << val << G4endl; - } - UDefEnergyH.InsertValues(ehi, val); - Emax = ehi; -} - -void G4SPSEneDistribution::ArbEnergyHisto(G4ThreeVector input) -{ - G4double ehi, val; - ehi = input.x(); - val = input.y(); - if(verbosityLevel >1 ) { - G4cout << "In ArbEnergyHisto" << G4endl; - G4cout << " " << ehi << " " << val << G4endl; - } - ArbEnergyH.InsertValues(ehi, val); -} - -void G4SPSEneDistribution::EpnEnergyHisto(G4ThreeVector input) -{ - G4double ehi, val; - ehi = input.x(); - val = input.y(); - if(verbosityLevel > 1) { - G4cout << "In EpnEnergyHisto" << G4endl; - G4cout << " " << ehi << " " << val << G4endl; - } - EpnEnergyH.InsertValues(ehi, val); - Emax = ehi; - Epnflag = true; -} - -void G4SPSEneDistribution::Calculate() -{ - if(EnergyDisType == "Cdg") - CalculateCdgSpectrum(); - else if(EnergyDisType == "Bbody") - CalculateBbodySpectrum(); -} - -void G4SPSEneDistribution::CalculateCdgSpectrum() -{ - // This uses the spectrum from The INTEGRAL Mass Model (TIMM) - // to generate a Cosmic Diffuse X/gamma ray spectrum. - G4double pfact[2] = {8.5, 112}; - G4double spind[2] = {1.4, 2.3}; - G4double ene_line[3] = {1.*keV, 18.*keV, 1E6*keV}; - G4int n_par; - - ene_line[0] = Emin; - if(Emin < 18*keV) - { - n_par = 2; - ene_line[2] = Emax; - if(Emax < 18*keV) - { - n_par = 1; - ene_line[1] = Emax; +void G4SPSEneDistribution::SetEnergyDisType(G4String DisType) { + EnergyDisType = DisType; + if (EnergyDisType == "User") { + UDefEnergyH = IPDFEnergyH = ZeroPhysVector; + IPDFEnergyExist = false; + } else if (EnergyDisType == "Arb") { + ArbEnergyH = IPDFArbEnergyH = ZeroPhysVector; + IPDFArbExist = false; + } else if (EnergyDisType == "Epn") { + UDefEnergyH = IPDFEnergyH = ZeroPhysVector; + IPDFEnergyExist = false; + EpnEnergyH = ZeroPhysVector; } - } - else - { - n_par = 1; - pfact[0] = 112.; - spind[0] = 2.3; - ene_line[1] = Emax; - } - - // Create a cumulative histogram. - CDGhist[0] = 0.; - G4double omalpha; - G4int i = 0; - - while(i < n_par) - { - omalpha = 1. - spind[i]; - CDGhist[i+1] = CDGhist[i] + (pfact[i]/omalpha)* - (std::pow(ene_line[i+1]/keV,omalpha)-std::pow(ene_line[i]/keV,omalpha)); - i++; - } - - // Normalise histo and divide by 1000 to make MeV. - i = 0; - while(i < n_par) - { - CDGhist[i+1] = CDGhist[i+1]/CDGhist[n_par]; - // G4cout << CDGhist[i] << CDGhist[n_par] << G4endl; - i++; - } } -void G4SPSEneDistribution::CalculateBbodySpectrum() -{ - // create bbody spectrum - // Proved very hard to integrate indefinitely, so different - // method. User inputs emin, emax and T. These are used to - // create a 10,000 bin histogram. - // Use photon density spectrum = 2 nu**2/c**2 * (std::exp(h nu/kT)-1) - // = 2 E**2/h**2c**2 times the exponential - G4double erange = Emax - Emin; - G4double steps = erange/10000.; - G4double Bbody_y[10000]; - G4double k = 8.6181e-11; //Boltzmann const in MeV/K - G4double h = 4.1362e-21; // Plancks const in MeV s - G4double c = 3e8; // Speed of light - G4double h2 = h*h; - G4double c2 = c*c; - G4int count = 0; - G4double sum = 0.; - BBHist[0] = 0.; - while(count < 10000) - { - Bbody_x[count] = Emin + G4double(count*steps); - Bbody_y[count] = (2.*std::pow(Bbody_x[count],2.))/ - (h2*c2*(std::exp(Bbody_x[count]/(k*Temp)) - 1.)); - sum = sum + Bbody_y[count]; - BBHist[count+1] = BBHist[count] + Bbody_y[count]; - count++; - } - - Bbody_x[10000] = Emax; - // Normalise cumulative histo. - count = 0; - while(count<10001) - { - BBHist[count] = BBHist[count]/sum; - count++; - } +void G4SPSEneDistribution::SetEmin(G4double emi) { + Emin = emi; } -void G4SPSEneDistribution::InputEnergySpectra(G4bool value) -{ - // Allows user to specifiy spectrum is momentum - EnergySpec = value; // false if momentum - if(verbosityLevel > 1) - G4cout << "EnergySpec has value " << EnergySpec << G4endl; +void G4SPSEneDistribution::SetEmax(G4double ema) { + Emax = ema; } -void G4SPSEneDistribution::InputDifferentialSpectra(G4bool value) -{ - // Allows user to specify integral or differential spectra - DiffSpec = value; // true = differential, false = integral - if(verbosityLevel > 1) - G4cout << "Diffspec has value " << DiffSpec << G4endl; +void G4SPSEneDistribution::SetMonoEnergy(G4double menergy) { + MonoEnergy = menergy; } -void G4SPSEneDistribution::ArbInterpolate(G4String IType) -{ - if(EnergyDisType != "Arb") - G4cout << "Error: this is for arbitrary distributions" << G4endl; - IntType = IType; - ArbEmax = Emax; - ArbEmin = Emin; - - // Now interpolate points - if(IntType == "Lin") - LinearInterpolation(); - if(IntType == "Log") - LogInterpolation(); - if(IntType == "Exp") - ExpInterpolation(); - if(IntType == "Spline") - SplineInterpolation(); +void G4SPSEneDistribution::SetBeamSigmaInE(G4double e) { + SE = e; +} +void G4SPSEneDistribution::SetAlpha(G4double alp) { + alpha = alp; } -void G4SPSEneDistribution::LinearInterpolation() -{ - // Method to do linear interpolation on the Arb points - // Calculate equation of each line segment, max 1024. - // Calculate Area under each segment - // Create a cumulative array which is then normalised Arb_Cum_Area +void G4SPSEneDistribution::SetBiasAlpha(G4double alp) { + biasalpha = alp; + Biased = true; +} - G4double Area_seg[1024]; // Stores area under each segment - G4double sum = 0., Arb_x[1024], Arb_y[1024], Arb_Cum_Area[1024]; - G4int i, count; - G4int maxi = ArbEnergyH.GetVectorLength(); - for(i=0;iGetPDGMass(); - // convert point to energy unit and its value to per energy unit - G4double total_energy; - for(count=0;count 0.) - { - if(verbosityLevel == 2) - G4cout << "Arb_grad is positive" << G4endl; - Arb_cept[i] = Arb_y[i] - (Arb_grad[i] * Arb_x[i]); +void G4SPSEneDistribution::SetTemp(G4double tem) { + Temp = tem; +} + +void G4SPSEneDistribution::SetEzero(G4double eze) { + Ezero = eze; +} + +void G4SPSEneDistribution::SetGradient(G4double gr) { + grad = gr; +} + +void G4SPSEneDistribution::SetInterCept(G4double c) { + cept = c; +} + +void G4SPSEneDistribution::UserEnergyHisto(G4ThreeVector input) { + G4double ehi, val; + ehi = input.x(); + val = input.y(); + if (verbosityLevel > 1) { + G4cout << "In UserEnergyHisto" << G4endl; + G4cout << " " << ehi << " " << val << G4endl; } - else if(Arb_grad[i] < 0.) - { - if(verbosityLevel == 2) - G4cout << "Arb_grad is negative" << G4endl; - Arb_cept[i] = Arb_y[i] + (-Arb_grad[i] * Arb_x[i]); + UDefEnergyH.InsertValues(ehi, val); + Emax = ehi; +} + +void G4SPSEneDistribution::ArbEnergyHisto(G4ThreeVector input) { + G4double ehi, val; + ehi = input.x(); + val = input.y(); + if (verbosityLevel > 1) { + G4cout << "In ArbEnergyHisto" << G4endl; + G4cout << " " << ehi << " " << val << G4endl; } - else - { - if(verbosityLevel == 2) - G4cout << "Arb_grad is 0." << G4endl; - Arb_cept[i] = Arb_y[i]; + ArbEnergyH.InsertValues(ehi, val); +} + +void G4SPSEneDistribution::ArbEnergyHistoFile(G4String filename) { + std::ifstream infile(filename, std::ios::in); + if (!infile) + G4Exception("Unable to open the histo ASCII file"); + G4double ehi, val; + while (infile >> ehi >> val) { + ArbEnergyH.InsertValues(ehi, val); + } +} + +void G4SPSEneDistribution::EpnEnergyHisto(G4ThreeVector input) { + G4double ehi, val; + ehi = input.x(); + val = input.y(); + if (verbosityLevel > 1) { + G4cout << "In EpnEnergyHisto" << G4endl; + G4cout << " " << ehi << " " << val << G4endl; + } + EpnEnergyH.InsertValues(ehi, val); + Emax = ehi; + Epnflag = true; +} + +void G4SPSEneDistribution::Calculate() { + if (EnergyDisType == "Cdg") + CalculateCdgSpectrum(); + else if (EnergyDisType == "Bbody") + CalculateBbodySpectrum(); +} + +void G4SPSEneDistribution::CalculateCdgSpectrum() { + // This uses the spectrum from The INTEGRAL Mass Model (TIMM) + // to generate a Cosmic Diffuse X/gamma ray spectrum. + G4double pfact[2] = { 8.5, 112 }; + G4double spind[2] = { 1.4, 2.3 }; + G4double ene_line[3] = { 1. * keV, 18. * keV, 1E6 * keV }; + G4int n_par; + + ene_line[0] = Emin; + if (Emin < 18 * keV) { + n_par = 2; + ene_line[2] = Emax; + if (Emax < 18 * keV) { + n_par = 1; + ene_line[1] = Emax; + } + } else { + n_par = 1; + pfact[0] = 112.; + spind[0] = 2.3; + ene_line[1] = Emax; } - Area_seg[i] = ((Arb_grad[i]/2)*(Arb_x[i]*Arb_x[i] - Arb_x[i-1]*Arb_x[i-1]) + Arb_cept[i]*(Arb_x[i] - Arb_x[i-1])); - Arb_Cum_Area[i] = Arb_Cum_Area[i-1] + Area_seg[i]; - sum = sum + Area_seg[i]; - if(verbosityLevel == 2) - G4cout << Arb_x[i] << Arb_y[i] << Area_seg[i] << sum << Arb_grad[i] << G4endl; - i++; - } + // Create a cumulative histogram. + CDGhist[0] = 0.; + G4double omalpha; + G4int i = 0; - i=0; - while(i < maxi) - { - Arb_Cum_Area[i] = Arb_Cum_Area[i]/sum; // normalisation - IPDFArbEnergyH.InsertValues(Arb_x[i], Arb_Cum_Area[i]); - i++; - } - - if(verbosityLevel >= 1) - { - G4cout << "Leaving LinearInterpolation" << G4endl; - ArbEnergyH.DumpValues(); - IPDFArbEnergyH.DumpValues(); - } -} - -void G4SPSEneDistribution::LogInterpolation() -{ - // Interpolation based on Logarithmic equations - // Generate equations of line segments - // y = Ax**alpha => log y = alpha*logx + logA - // Find area under line segments - // create normalised, cumulative array Arb_Cum_Area - G4double Area_seg[1024]; // Stores area under each segment - G4double sum = 0., Arb_x[1024], Arb_y[1024], Arb_Cum_Area[1024]; - G4int i, count; - G4int maxi = ArbEnergyH.GetVectorLength(); - for(i=0;iGetPDGMass(); - // convert point to energy unit and its value to per energy unit - G4double total_energy; - for(count=0;count= 1) - G4cout << "Leaving LogInterpolation " << G4endl; -} - -void G4SPSEneDistribution::ExpInterpolation() -{ - // Interpolation based on Exponential equations - // Generate equations of line segments - // y = Ae**-(x/e0) => ln y = -x/e0 + lnA - // Find area under line segments - // create normalised, cumulative array Arb_Cum_Area - G4double Area_seg[1024]; // Stores area under each segment - G4double sum = 0., Arb_x[1024], Arb_y[1024], Arb_Cum_Area[1024]; - G4int i, count; - G4int maxi = ArbEnergyH.GetVectorLength(); - for(i=0;iGetPDGMass(); - // convert point to energy unit and its value to per energy unit - G4double total_energy; - for(count=0;count 0. || test < 0.) - { - Arb_ezero[i] = -(Arb_x[i] - Arb_x[i-1])/(std::log(Arb_y[i]) - std::log(Arb_y[i-1])); - Arb_Const[i] = Arb_y[i]/(std::exp(-Arb_x[i]/Arb_ezero[i])); - Area_seg[i]=-(Arb_Const[i]*Arb_ezero[i])*(std::exp(-Arb_x[i]/Arb_ezero[i]) - -std::exp(-Arb_x[i-1]/Arb_ezero[i])); + // Normalise histo and divide by 1000 to make MeV. + i = 0; + while (i < n_par) { + CDGhist[i + 1] = CDGhist[i + 1] / CDGhist[n_par]; + // G4cout << CDGhist[i] << CDGhist[n_par] << G4endl; + i++; } - else - { - G4cout << "Flat line segment: problem" << G4endl; - Arb_ezero[i] = 0.; - Arb_Const[i] = 0.; - Area_seg[i] = 0.; - } - sum = sum + Area_seg[i]; - Arb_Cum_Area[i] = Arb_Cum_Area[i-1] + Area_seg[i]; - if(verbosityLevel == 2) - G4cout << Arb_ezero[i] << Arb_Const[i] << Area_seg[i] << G4endl; - i++; - } - - i=0; - while(i= 1) - G4cout << "Leaving ExpInterpolation " << G4endl; } -void G4SPSEneDistribution::SplineInterpolation() -{ - // Interpolation using Splines. - // Create Normalised arrays, make x 0->1 and y hold - // the function (Energy) - G4double Arb_x[1024], Arb_y[1024]; - G4int i, count; - G4int maxi = ArbEnergyH.GetVectorLength(); - for(i=0;iGetPDGMass(); - // convert point to energy unit and its value to per energy unit - G4double total_energy; - for(count=0;count1) - G4cout << i <<" "<< Arb_x[i] << " " << Arb_y[i] << G4endl; - IPDFArbEnergyH.InsertValues(Arb_x[i], Arb_y[i]); - } - Emax = IPDFArbEnergyH.GetLowEdgeEnergy(IPDFArbEnergyH.GetVectorLength()-1); - Emin = IPDFArbEnergyH.GetLowEdgeEnergy(0); - */ - // Should now have normalised cumulative probabilities in Arb_y - // and energy values in Arb_x. - // maxi = maxi + 1; - // Put y into x and x into y. The spline interpolation will then - // go through x-axis to find where to interpolate (cum probability) - // then generate a y (which will now be energy). - SplineInt = new G4DataInterpolation(Arb_y,Arb_x,maxi,1e30,1e30); - if(verbosityLevel >1 ) - { - G4cout << SplineInt << G4endl; - G4cout << SplineInt->LocateArgument(1.0) << G4endl; - } - if(verbosityLevel > 0 ) - G4cout << "Leaving SplineInterpolation " << G4endl; -} - -void G4SPSEneDistribution::GenerateMonoEnergetic() -{ - // Method to generate MonoEnergetic particles. - particle_energy = MonoEnergy; -} - -void G4SPSEneDistribution::GenerateGaussEnergies() -{ - // Method to generate Gaussian particles. - particle_energy = G4RandGauss::shoot(MonoEnergy,SE); - if (particle_energy < 0) particle_energy = 0.; -} - -void G4SPSEneDistribution::GenerateLinearEnergies(G4bool bArb = false) -{ - G4double rndm; - G4double emaxsq = std::pow(Emax,2.); //Emax squared - G4double eminsq = std::pow(Emin,2.); //Emin squared - G4double intersq = std::pow(cept,2.); //cept squared - - if (bArb) rndm = G4UniformRand(); - else rndm = eneRndm->GenRandEnergy(); - - G4double bracket = ((grad/2.)*(emaxsq - eminsq) + cept*(Emax-Emin)); - bracket = bracket * rndm; - bracket = bracket + (grad/2.)*eminsq + cept*Emin; - // Now have a quad of form m/2 E**2 + cE - bracket = 0 - bracket = -bracket; - // G4cout << "BRACKET" << bracket << G4endl; - if(grad != 0.) - { - G4double sqbrack = (intersq - 4*(grad/2.)*(bracket)); - // G4cout << "SQBRACK" << sqbrack << G4endl; - sqbrack = std::sqrt(sqbrack); - G4double root1 = -cept + sqbrack; - root1 = root1/(2.*(grad/2.)); - - G4double root2 = -cept - sqbrack; - root2 = root2/(2.*(grad/2.)); - - // G4cout << root1 << " roots " << root2 << G4endl; - - if(root1 > Emin && root1 < Emax) - particle_energy = root1; - if(root2 > Emin && root2 < Emax) - particle_energy = root2; - } - else if(grad == 0.) - // have equation of form cE - bracket =0 - particle_energy = bracket/cept; - - if(particle_energy < 0.) - particle_energy = -particle_energy; - - if(verbosityLevel >= 1) - G4cout << "Energy is " << particle_energy << G4endl; -} - -void G4SPSEneDistribution::GeneratePowEnergies(G4bool bArb = false) -{ - // Method to generate particle energies distributed as - // a powerlaw - - G4double rndm; - G4double emina, emaxa; - - emina = std::pow(Emin,alpha+1); - emaxa = std::pow(Emax,alpha+1); - - if (bArb) rndm = G4UniformRand(); - else rndm = eneRndm->GenRandEnergy(); - - if(alpha != -1.) - { - particle_energy = ((rndm*(emaxa - emina)) + emina); - particle_energy = std::pow(particle_energy,(1./(alpha+1.))); - } - else if(alpha == -1.) - { - particle_energy = (std::log(Emin) + rndm*(std::log(Emax) - std::log(Emin))); - particle_energy = std::exp(particle_energy); - } - if(verbosityLevel >= 1) - G4cout << "Energy is " << particle_energy << G4endl; -} - -void G4SPSEneDistribution::GenerateExpEnergies(G4bool bArb = false) -{ - // Method to generate particle energies distributed according - // to an exponential curve. - G4double rndm; - - if (bArb) rndm = G4UniformRand(); - else rndm = eneRndm->GenRandEnergy(); - - particle_energy = -Ezero*(std::log(rndm*(std::exp(-Emax/Ezero) - std::exp(-Emin/Ezero)) + - std::exp(-Emin/Ezero))); - if(verbosityLevel >= 1) - G4cout << "Energy is " << particle_energy << G4endl; -} - -void G4SPSEneDistribution::GenerateBremEnergies() -{ - // Method to generate particle energies distributed according - // to a Bremstrahlung equation of - // form I = const*((kT)**1/2)*E*(e**(-E/kT)) - - G4double rndm; - rndm = eneRndm->GenRandEnergy(); - G4double expmax, expmin, k; - - k = 8.6181e-11; // Boltzmann's const in MeV/K - G4double ksq = std::pow(k,2.); // k squared - G4double Tsq = std::pow(Temp,2.); // Temp squared - - expmax = std::exp(-Emax/(k*Temp)); - expmin = std::exp(-Emin/(k*Temp)); - - // If either expmax or expmin are zero then this will cause problems - // Most probably this will be because T is too low or E is too high - - if(expmax == 0.) - G4cout << "*****EXPMAX=0. Choose different E's or Temp" << G4endl; - if(expmin == 0.) - G4cout << "*****EXPMIN=0. Choose different E's or Temp" << G4endl; - - G4double tempvar = rndm *((-k)*Temp*(Emax*expmax - Emin*expmin) - - (ksq*Tsq*(expmax-expmin))); - - G4double bigc = (tempvar - k*Temp*Emin*expmin - ksq*Tsq*expmin)/(-k*Temp); - - // This gives an equation of form: Ee(-E/kT) + kTe(-E/kT) - C =0 - // Solve this iteratively, step from Emin to Emax in 1000 steps - // and take the best solution. - - G4double erange = Emax - Emin; - G4double steps = erange/1000.; - G4int i; - G4double etest, diff, err; - - err = 100000.; - - for(i=1; i<1000; i++) - { - etest = Emin + (i-1)*steps; - - diff = etest*(std::exp(-etest/(k*Temp))) + k*Temp*(std::exp(-etest/(k*Temp))) - bigc; - - if(diff < 0.) - diff = -diff; - - if(diff < err) - { - err = diff; - particle_energy = etest; - } - } - if(verbosityLevel >= 1) - G4cout << "Energy is " << particle_energy << G4endl; -} - -void G4SPSEneDistribution::GenerateBbodyEnergies() -{ - // BBody_x holds Energies, and BBHist holds the cumulative histo. - // binary search to find correct bin then lin interpolation. - // Use the earlier defined histogram + RandGeneral method to generate - // random numbers following the histos distribution. - G4double rndm; - G4int nabove, nbelow = 0, middle; - nabove = 10001; - rndm = eneRndm->GenRandEnergy(); - - // Binary search to find bin that rndm is in - while(nabove-nbelow > 1) - { - middle = (nabove + nbelow)/2; - if(rndm == BBHist[middle]) break; - if(rndm < BBHist[middle]) nabove = middle; - else nbelow = middle; - } - - // Now interpolate in that bin to find the correct output value. - G4double x1, x2, y1, y2, m, q; - x1 = Bbody_x[nbelow]; - x2 = Bbody_x[nbelow+1]; - y1 = BBHist[nbelow]; - y2 = BBHist[nbelow+1]; - m = (y2-y1)/(x2-x1); - q = y1 - m*x1; - - particle_energy = (rndm - q)/m; - - if(verbosityLevel >= 1) - { - G4cout << "Energy is " << particle_energy << G4endl; - } -} - -void G4SPSEneDistribution::GenerateCdgEnergies() -{ - // Gen random numbers, compare with values in cumhist - // to find appropriate part of spectrum and then - // generate energy in the usual inversion way. - // G4double pfact[2] = {8.5, 112}; - // G4double spind[2] = {1.4, 2.3}; - // G4double ene_line[3] = {1., 18., 1E6}; - G4double rndm, rndm2; - G4double ene_line[3]; - G4double omalpha[2]; - if(Emin < 18*keV && Emax < 18*keV) - { - omalpha[0] = 1. - 1.4; - ene_line[0] = Emin; - ene_line[1] = Emax; - } - if(Emin < 18*keV && Emax > 18*keV) - { - omalpha[0] = 1. - 1.4; - omalpha[1] = 1. - 2.3; - ene_line[0] = Emin; - ene_line[1] = 18.*keV; - ene_line[2] = Emax; - } - if(Emin > 18*keV) - { - omalpha[0] = 1. - 2.3; - ene_line[0] = Emin; - ene_line[1] = Emax; - } - rndm = eneRndm->GenRandEnergy(); - rndm2 = eneRndm->GenRandEnergy(); - - G4int i = 0; - while( rndm >= CDGhist[i]) - { - i++; - } - // Generate final energy. - particle_energy = (std::pow(ene_line[i-1],omalpha[i-1]) + (std::pow(ene_line[i],omalpha[i-1]) - - std::pow(ene_line[i-1],omalpha[i-1]))*rndm2); - particle_energy = std::pow(particle_energy,(1./omalpha[i-1])); - - if(verbosityLevel >= 1) - G4cout << "Energy is " << particle_energy << G4endl; -} - -void G4SPSEneDistribution::GenUserHistEnergies() -{ - // Histograms are DIFFERENTIAL. - // G4cout << "In GenUserHistEnergies " << G4endl; - if(IPDFEnergyExist == false) - { - G4int ii; - G4int maxbin = G4int(UDefEnergyH.GetVectorLength()); - G4double bins[1024], vals[1024], sum; - sum=0.; - - if((EnergySpec == false) && (particle_definition == NULL)) - G4cout << "Error: particle definition is NULL" << G4endl; - - if(maxbin > 1024) - { - G4cout << "Maxbin > 1024" << G4endl; - G4cout << "Setting maxbin to 1024, other bins are lost" << G4endl; +void G4SPSEneDistribution::CalculateBbodySpectrum() { + // create bbody spectrum + // Proved very hard to integrate indefinitely, so different + // method. User inputs emin, emax and T. These are used to + // create a 10,000 bin histogram. + // Use photon density spectrum = 2 nu**2/c**2 * (std::exp(h nu/kT)-1) + // = 2 E**2/h**2c**2 times the exponential + G4double erange = Emax - Emin; + G4double steps = erange / 10000.; + G4double Bbody_y[10000]; + G4double k = 8.6181e-11; //Boltzmann const in MeV/K + G4double h = 4.1362e-21; // Plancks const in MeV s + G4double c = 3e8; // Speed of light + G4double h2 = h * h; + G4double c2 = c * c; + G4int count = 0; + G4double sum = 0.; + BBHist[0] = 0.; + while (count < 10000) { + Bbody_x[count] = Emin + G4double(count * steps); + Bbody_y[count] = (2. * std::pow(Bbody_x[count], 2.)) / (h2 * c2 + * (std::exp(Bbody_x[count] / (k * Temp)) - 1.)); + sum = sum + Bbody_y[count]; + BBHist[count + 1] = BBHist[count] + Bbody_y[count]; + count++; } - if(DiffSpec == false) - G4cout << "Histograms are Differential!!! " << G4endl; - else - { - bins[0] = UDefEnergyH.GetLowEdgeEnergy(size_t(0)); - vals[0] = UDefEnergyH(size_t(0)); - sum = vals[0]; - for(ii=1;ii 1) + G4cout << "EnergySpec has value " << EnergySpec << G4endl; +} + +void G4SPSEneDistribution::InputDifferentialSpectra(G4bool value) { + // Allows user to specify integral or differential spectra + DiffSpec = value; // true = differential, false = integral + if (verbosityLevel > 1) + G4cout << "Diffspec has value " << DiffSpec << G4endl; +} + +void G4SPSEneDistribution::ArbInterpolate(G4String IType) { + if (EnergyDisType != "Arb") + G4cout << "Error: this is for arbitrary distributions" << G4endl; + IntType = IType; + ArbEmax = ArbEnergyH.GetMaxLowEdgeEnergy(); + ArbEmin = ArbEnergyH.GetMinLowEdgeEnergy(); + + // Now interpolate points + if (IntType == "Lin") + LinearInterpolation(); + if (IntType == "Log") + LogInterpolation(); + if (IntType == "Exp") + ExpInterpolation(); + if (IntType == "Spline") + SplineInterpolation(); +} + +void G4SPSEneDistribution::LinearInterpolation() { + // Method to do linear interpolation on the Arb points + // Calculate equation of each line segment, max 1024. + // Calculate Area under each segment + // Create a cumulative array which is then normalised Arb_Cum_Area + + G4double Area_seg[1024]; // Stores area under each segment + G4double sum = 0., Arb_x[1024], Arb_y[1024], Arb_Cum_Area[1024]; + G4int i, count; + G4int maxi = ArbEnergyH.GetVectorLength(); + for (i = 0; i < maxi; i++) { + Arb_x[i] = ArbEnergyH.GetLowEdgeEnergy(size_t(i)); + Arb_y[i] = ArbEnergyH(size_t(i)); + } + // Points are now in x,y arrays. If the spectrum is integral it has to be + // made differential and if momentum it has to be made energy. + if (DiffSpec == false) { + // Converts integral point-wise spectra to Differential + for (count = 0; count < maxi - 1; count++) { + Arb_y[count] = (Arb_y[count] - Arb_y[count + 1]) + / (Arb_x[count + 1] - Arb_x[count]); + } + maxi--; + } + // + if (EnergySpec == false) { + // change currently stored values (emin etc) which are actually momenta + // to energies. + if (particle_definition == NULL) + G4cout << "Error: particle not defined" << G4endl; + else { + // Apply Energy**2 = p**2c**2 + m0**2c**4 + // p should be entered as E/c i.e. without the division by c + // being done - energy equivalent. + G4double mass = particle_definition->GetPDGMass(); + // convert point to energy unit and its value to per energy unit + G4double total_energy; + for (count = 0; count < maxi; count++) { + total_energy = std::sqrt((Arb_x[count] * Arb_x[count]) + (mass + * mass)); // total energy + + Arb_y[count] = Arb_y[count] * Arb_x[count] / total_energy; + Arb_x[count] = total_energy - mass; // kinetic energy + } + } + } + // + i = 1; + Arb_grad[0] = 0.; + Arb_cept[0] = 0.; + Area_seg[0] = 0.; + Arb_Cum_Area[0] = 0.; + while (i < maxi) { + // calc gradient and intercept for each segment + Arb_grad[i] = (Arb_y[i] - Arb_y[i - 1]) / (Arb_x[i] - Arb_x[i - 1]); + if (verbosityLevel == 2) + G4cout << Arb_grad[i] << G4endl; + if (Arb_grad[i] > 0.) { + if (verbosityLevel == 2) + G4cout << "Arb_grad is positive" << G4endl; + Arb_cept[i] = Arb_y[i] - (Arb_grad[i] * Arb_x[i]); + } else if (Arb_grad[i] < 0.) { + if (verbosityLevel == 2) + G4cout << "Arb_grad is negative" << G4endl; + Arb_cept[i] = Arb_y[i] + (-Arb_grad[i] * Arb_x[i]); + } else { + if (verbosityLevel == 2) + G4cout << "Arb_grad is 0." << G4endl; + Arb_cept[i] = Arb_y[i]; + } + + Area_seg[i] = ((Arb_grad[i] / 2) * (Arb_x[i] * Arb_x[i] - Arb_x[i - 1] + * Arb_x[i - 1]) + Arb_cept[i] * (Arb_x[i] - Arb_x[i - 1])); + Arb_Cum_Area[i] = Arb_Cum_Area[i - 1] + Area_seg[i]; + sum = sum + Area_seg[i]; + if (verbosityLevel == 2) + G4cout << Arb_x[i] << Arb_y[i] << Area_seg[i] << sum << Arb_grad[i] + << G4endl; + i++; + } + + i = 0; + while (i < maxi) { + Arb_Cum_Area[i] = Arb_Cum_Area[i] / sum; // normalisation + IPDFArbEnergyH.InsertValues(Arb_x[i], Arb_Cum_Area[i]); + i++; + } + + // now scale the ArbEnergyH, needed by Probability() + ArbEnergyH.ScaleVector(1., 1./sum); + + if (verbosityLevel >= 1) { + G4cout << "Leaving LinearInterpolation" << G4endl; + ArbEnergyH.DumpValues(); + IPDFArbEnergyH.DumpValues(); + } +} + +void G4SPSEneDistribution::LogInterpolation() { + // Interpolation based on Logarithmic equations + // Generate equations of line segments + // y = Ax**alpha => log y = alpha*logx + logA + // Find area under line segments + // create normalised, cumulative array Arb_Cum_Area + G4double Area_seg[1024]; // Stores area under each segment + G4double sum = 0., Arb_x[1024], Arb_y[1024], Arb_Cum_Area[1024]; + G4int i, count; + G4int maxi = ArbEnergyH.GetVectorLength(); + for (i = 0; i < maxi; i++) { + Arb_x[i] = ArbEnergyH.GetLowEdgeEnergy(size_t(i)); + Arb_y[i] = ArbEnergyH(size_t(i)); + } + // Points are now in x,y arrays. If the spectrum is integral it has to be + // made differential and if momentum it has to be made energy. + if (DiffSpec == false) { + // Converts integral point-wise spectra to Differential + for (count = 0; count < maxi - 1; count++) { + Arb_y[count] = (Arb_y[count] - Arb_y[count + 1]) + / (Arb_x[count + 1] - Arb_x[count]); + } + maxi--; + } + // + if (EnergySpec == false) { + // change currently stored values (emin etc) which are actually momenta + // to energies. + if (particle_definition == NULL) + G4cout << "Error: particle not defined" << G4endl; + else { + // Apply Energy**2 = p**2c**2 + m0**2c**4 + // p should be entered as E/c i.e. without the division by c + // being done - energy equivalent. + G4double mass = particle_definition->GetPDGMass(); + // convert point to energy unit and its value to per energy unit + G4double total_energy; + for (count = 0; count < maxi; count++) { + total_energy = std::sqrt((Arb_x[count] * Arb_x[count]) + (mass + * mass)); // total energy + + Arb_y[count] = Arb_y[count] * Arb_x[count] / total_energy; + Arb_x[count] = total_energy - mass; // kinetic energy + } + } + } + // + i = 1; + Arb_alpha[0] = 0.; + Arb_Const[0] = 0.; + Area_seg[0] = 0.; + Arb_Cum_Area[0] = 0.; + if (Arb_x[0] <= 0. || Arb_y[0] <= 0.) { + G4cout << "You should not use log interpolation with points <= 0." + << G4endl; + G4cout << "These will be changed to 1e-20, which may cause problems" + << G4endl; + if (Arb_x[0] <= 0.) + Arb_x[0] = 1e-20; + if (Arb_y[0] <= 0.) + Arb_y[0] = 1e-20; + } + + G4double alp; + while (i < maxi) { + // Incase points are negative or zero + if (Arb_x[i] <= 0. || Arb_y[i] <= 0.) { + G4cout << "You should not use log interpolation with points <= 0." + << G4endl; + G4cout + << "These will be changed to 1e-20, which may cause problems" + << G4endl; + if (Arb_x[i] <= 0.) + Arb_x[i] = 1e-20; + if (Arb_y[i] <= 0.) + Arb_y[i] = 1e-20; + } + + Arb_alpha[i] = (std::log10(Arb_y[i]) - std::log10(Arb_y[i - 1])) + / (std::log10(Arb_x[i]) - std::log10(Arb_x[i - 1])); + Arb_Const[i] = Arb_y[i] / (std::pow(Arb_x[i], Arb_alpha[i])); + alp = Arb_alpha[i] + 1; + if (alp == 0.) { + Area_seg[i] = Arb_Const[i] * (std::log(Arb_x[i]) - std::log(Arb_x[i - 1])); + } else { + Area_seg[i] = (Arb_Const[i] / alp) * (std::pow(Arb_x[i], alp) + - std::pow(Arb_x[i - 1], alp)); + } + sum = sum + Area_seg[i]; + Arb_Cum_Area[i] = Arb_Cum_Area[i - 1] + Area_seg[i]; + if (verbosityLevel == 2) + G4cout << Arb_alpha[i] << Arb_Const[i] << Area_seg[i] << G4endl; + i++; + } + + i = 0; + while (i < maxi) { + Arb_Cum_Area[i] = Arb_Cum_Area[i] / sum; + IPDFArbEnergyH.InsertValues(Arb_x[i], Arb_Cum_Area[i]); + i++; + } + + // now scale the ArbEnergyH, needed by Probability() + ArbEnergyH.ScaleVector(1., 1./sum); + + if (verbosityLevel >= 1) + G4cout << "Leaving LogInterpolation " << G4endl; +} + +void G4SPSEneDistribution::ExpInterpolation() { + // Interpolation based on Exponential equations + // Generate equations of line segments + // y = Ae**-(x/e0) => ln y = -x/e0 + lnA + // Find area under line segments + // create normalised, cumulative array Arb_Cum_Area + G4double Area_seg[1024]; // Stores area under each segment + G4double sum = 0., Arb_x[1024], Arb_y[1024], Arb_Cum_Area[1024]; + G4int i, count; + G4int maxi = ArbEnergyH.GetVectorLength(); + for (i = 0; i < maxi; i++) { + Arb_x[i] = ArbEnergyH.GetLowEdgeEnergy(size_t(i)); + Arb_y[i] = ArbEnergyH(size_t(i)); + } + // Points are now in x,y arrays. If the spectrum is integral it has to be + // made differential and if momentum it has to be made energy. + if (DiffSpec == false) { + // Converts integral point-wise spectra to Differential + for (count = 0; count < maxi - 1; count++) { + Arb_y[count] = (Arb_y[count] - Arb_y[count + 1]) + / (Arb_x[count + 1] - Arb_x[count]); + } + maxi--; + } + // + if (EnergySpec == false) { + // change currently stored values (emin etc) which are actually momenta + // to energies. + if (particle_definition == NULL) + G4cout << "Error: particle not defined" << G4endl; + else { + // Apply Energy**2 = p**2c**2 + m0**2c**4 + // p should be entered as E/c i.e. without the division by c + // being done - energy equivalent. + G4double mass = particle_definition->GetPDGMass(); + // convert point to energy unit and its value to per energy unit + G4double total_energy; + for (count = 0; count < maxi; count++) { + total_energy = std::sqrt((Arb_x[count] * Arb_x[count]) + (mass + * mass)); // total energy + + Arb_y[count] = Arb_y[count] * Arb_x[count] / total_energy; + Arb_x[count] = total_energy - mass; // kinetic energy + } + } + } + // + i = 1; + Arb_ezero[0] = 0.; + Arb_Const[0] = 0.; + Area_seg[0] = 0.; + Arb_Cum_Area[0] = 0.; + while (i < maxi) { + G4double test = std::log(Arb_y[i]) - std::log(Arb_y[i - 1]); + if (test > 0. || test < 0.) { + Arb_ezero[i] = -(Arb_x[i] - Arb_x[i - 1]) / (std::log(Arb_y[i]) + - std::log(Arb_y[i - 1])); + Arb_Const[i] = Arb_y[i] / (std::exp(-Arb_x[i] / Arb_ezero[i])); + Area_seg[i] = -(Arb_Const[i] * Arb_ezero[i]) * (std::exp(-Arb_x[i] + / Arb_ezero[i]) - std::exp(-Arb_x[i - 1] / Arb_ezero[i])); + } else { + G4cout << "Flat line segment: problem" << G4endl; + Arb_ezero[i] = 0.; + Arb_Const[i] = 0.; + Area_seg[i] = 0.; + } + sum = sum + Area_seg[i]; + Arb_Cum_Area[i] = Arb_Cum_Area[i - 1] + Area_seg[i]; + if (verbosityLevel == 2) + G4cout << Arb_ezero[i] << Arb_Const[i] << Area_seg[i] << G4endl; + i++; + } + + i = 0; + while (i < maxi) { + Arb_Cum_Area[i] = Arb_Cum_Area[i] / sum; + IPDFArbEnergyH.InsertValues(Arb_x[i], Arb_Cum_Area[i]); + i++; + } + + // now scale the ArbEnergyH, needed by Probability() + ArbEnergyH.ScaleVector(1., 1./sum); + + if (verbosityLevel >= 1) + G4cout << "Leaving ExpInterpolation " << G4endl; +} + +void G4SPSEneDistribution::SplineInterpolation() { + // Interpolation using Splines. + // Create Normalised arrays, make x 0->1 and y hold + // the function (Energy) + // + // Current method based on the above will not work in all cases. + // new method is implemented below. + + G4double sum, Arb_x[1024], Arb_y[1024], Arb_Cum_Area[1024]; + G4int i, count; + + G4int maxi = ArbEnergyH.GetVectorLength(); + for (i = 0; i < maxi; i++) { + Arb_x[i] = ArbEnergyH.GetLowEdgeEnergy(size_t(i)); + Arb_y[i] = ArbEnergyH(size_t(i)); + } + // Points are now in x,y arrays. If the spectrum is integral it has to be + // made differential and if momentum it has to be made energy. + if (DiffSpec == false) { + // Converts integral point-wise spectra to Differential + for (count = 0; count < maxi - 1; count++) { + Arb_y[count] = (Arb_y[count] - Arb_y[count + 1]) + / (Arb_x[count + 1] - Arb_x[count]); + } + maxi--; + } + // + if (EnergySpec == false) { + // change currently stored values (emin etc) which are actually momenta + // to energies. + if (particle_definition == NULL) + G4cout << "Error: particle not defined" << G4endl; + else { + // Apply Energy**2 = p**2c**2 + m0**2c**4 + // p should be entered as E/c i.e. without the division by c + // being done - energy equivalent. + G4double mass = particle_definition->GetPDGMass(); + // convert point to energy unit and its value to per energy unit + G4double total_energy; + for (count = 0; count < maxi; count++) { + total_energy = std::sqrt((Arb_x[count] * Arb_x[count]) + (mass + * mass)); // total energy + + Arb_y[count] = Arb_y[count] * Arb_x[count] / total_energy; + Arb_x[count] = total_energy - mass; // kinetic energy + } + } + } + + // + i = 1; + Arb_Cum_Area[0] = 0.; + sum = 0.; + Splinetemp = new G4DataInterpolation(Arb_x, Arb_y, maxi, 0., 0.); + G4double ei[101],prob[101]; + while (i < maxi) { + // 100 step per segment for the integration of area + G4double de = (Arb_x[i] - Arb_x[i - 1])/100.; + G4double area = 0.; + + for (count = 0; count < 101; count++) { + ei[count] = Arb_x[i - 1] + de*count ; + prob[count] = Splinetemp->CubicSplineInterpolation(ei[count]); + if (prob[count] < 0.) { + G4cout << "Warning: G4DataInterpolation returns value < 0 " << prob[count] <<" "<GetPDGMass(); - // multiply the function (vals) up by the bin width - // to make the function counts/s (i.e. get rid of momentum - // dependence). - for(ii=1;ii 1) - IPDFEnergyH.DumpValues(); - } - - // IPDF has been create so carry on - G4double rndm = eneRndm->GenRandEnergy(); - particle_energy = IPDFEnergyH.GetEnergy(rndm); - - if(verbosityLevel >= 1) - G4cout << "Energy is " << particle_energy << G4endl; + // now scale the ArbEnergyH, needed by Probability() + ArbEnergyH.ScaleVector(1., 1./sum); + + if (verbosityLevel > 0) + G4cout << "Leaving SplineInterpolation " << G4endl; } -void G4SPSEneDistribution::GenArbPointEnergies() -{ - if(verbosityLevel > 0) - G4cout << "In GenArbPointEnergies" << G4endl; - G4double rndm; - rndm = eneRndm->GenRandEnergy(); - if(IntType != "Spline") - { - // IPDFArbEnergyH.DumpValues(); - // Find the Bin - // have x, y, no of points, and cumulative area distribution - G4int nabove, nbelow = 0, middle; - nabove = IPDFArbEnergyH.GetVectorLength(); - // G4cout << nabove << G4endl; - // Binary search to find bin that rndm is in - while(nabove-nbelow > 1) - { - middle = (nabove + nbelow)/2; - if(rndm == IPDFArbEnergyH(size_t(middle))) break; - if(rndm < IPDFArbEnergyH(size_t(middle))) nabove = middle; - else nbelow = middle; +void G4SPSEneDistribution::GenerateMonoEnergetic() { + // Method to generate MonoEnergetic particles. + particle_energy = MonoEnergy; +} + +void G4SPSEneDistribution::GenerateGaussEnergies() { + // Method to generate Gaussian particles. + particle_energy = G4RandGauss::shoot(MonoEnergy,SE); + if (particle_energy < 0) particle_energy = 0.; +} + +void G4SPSEneDistribution::GenerateLinearEnergies(G4bool bArb = false) { + G4double rndm; + G4double emaxsq = std::pow(Emax, 2.); //Emax squared + G4double eminsq = std::pow(Emin, 2.); //Emin squared + G4double intersq = std::pow(cept, 2.); //cept squared + + if (bArb) + rndm = G4UniformRand(); + else + rndm = eneRndm->GenRandEnergy(); + + G4double bracket = ((grad / 2.) * (emaxsq - eminsq) + cept * (Emax - Emin)); + bracket = bracket * rndm; + bracket = bracket + (grad / 2.) * eminsq + cept * Emin; + // Now have a quad of form m/2 E**2 + cE - bracket = 0 + bracket = -bracket; + // G4cout << "BRACKET" << bracket << G4endl; + if (grad != 0.) { + G4double sqbrack = (intersq - 4 * (grad / 2.) * (bracket)); + // G4cout << "SQBRACK" << sqbrack << G4endl; + sqbrack = std::sqrt(sqbrack); + G4double root1 = -cept + sqbrack; + root1 = root1 / (2. * (grad / 2.)); + + G4double root2 = -cept - sqbrack; + root2 = root2 / (2. * (grad / 2.)); + + // G4cout << root1 << " roots " << root2 << G4endl; + + if (root1 > Emin && root1 < Emax) + particle_energy = root1; + if (root2 > Emin && root2 < Emax) + particle_energy = root2; + } else if (grad == 0.) + // have equation of form cE - bracket =0 + particle_energy = bracket / cept; + + if (particle_energy < 0.) + particle_energy = -particle_energy; + + if (verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4SPSEneDistribution::GeneratePowEnergies(G4bool bArb = false) { + // Method to generate particle energies distributed as + // a power-law + + G4double rndm; + G4double emina, emaxa; + + emina = std::pow(Emin, alpha + 1); + emaxa = std::pow(Emax, alpha + 1); + + if (bArb) + rndm = G4UniformRand(); + else + rndm = eneRndm->GenRandEnergy(); + + if (alpha != -1.) { + particle_energy = ((rndm * (emaxa - emina)) + emina); + particle_energy = std::pow(particle_energy, (1. / (alpha + 1.))); + } else { + particle_energy = (std::log(Emin) + rndm * (std::log(Emax) - std::log( + Emin))); + particle_energy = std::exp(particle_energy); } - if(IntType == "Lin") - { - Emax = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow+1)); + if (verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4SPSEneDistribution::GenerateBiasPowEnergies() { + // Method to generate particle energies distributed as + // in biased power-law and calculate its weight + + G4double rndm; + G4double emina, emaxa, emin, emax; + + G4double normal = 1. ; + + emin = Emin; + emax = Emax; + // if (EnergyDisType == "Arb") { + // emin = ArbEmin; + // emax = ArbEmax; + //} + + rndm = eneRndm->GenRandEnergy(); + + if (biasalpha != -1.) { + emina = std::pow(emin, biasalpha + 1); + emaxa = std::pow(emax, biasalpha + 1); + particle_energy = ((rndm * (emaxa - emina)) + emina); + particle_energy = std::pow(particle_energy, (1. / (biasalpha + 1.))); + normal = 1./(1+biasalpha) * (emaxa - emina); + } else { + particle_energy = (std::log(emin) + rndm * (std::log(emax) - std::log( + emin))); + particle_energy = std::exp(particle_energy); + normal = std::log(emax) - std::log(emin) ; + } + weight = GetProbability(particle_energy) / (std::pow(particle_energy,biasalpha)/normal); + + if (verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4SPSEneDistribution::GenerateExpEnergies(G4bool bArb = false) { + // Method to generate particle energies distributed according + // to an exponential curve. + G4double rndm; + + if (bArb) + rndm = G4UniformRand(); + else + rndm = eneRndm->GenRandEnergy(); + + particle_energy = -Ezero * (std::log(rndm * (std::exp(-Emax / Ezero) + - std::exp(-Emin / Ezero)) + std::exp(-Emin / Ezero))); + if (verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4SPSEneDistribution::GenerateBremEnergies() { + // Method to generate particle energies distributed according + // to a Bremstrahlung equation of + // form I = const*((kT)**1/2)*E*(e**(-E/kT)) + + G4double rndm; + rndm = eneRndm->GenRandEnergy(); + G4double expmax, expmin, k; + + k = 8.6181e-11; // Boltzmann's const in MeV/K + G4double ksq = std::pow(k, 2.); // k squared + G4double Tsq = std::pow(Temp, 2.); // Temp squared + + expmax = std::exp(-Emax / (k * Temp)); + expmin = std::exp(-Emin / (k * Temp)); + + // If either expmax or expmin are zero then this will cause problems + // Most probably this will be because T is too low or E is too high + + if (expmax == 0.) + G4cout << "*****EXPMAX=0. Choose different E's or Temp" << G4endl; + if (expmin == 0.) + G4cout << "*****EXPMIN=0. Choose different E's or Temp" << G4endl; + + G4double tempvar = rndm * ((-k) * Temp * (Emax * expmax - Emin * expmin) + - (ksq * Tsq * (expmax - expmin))); + + G4double bigc = (tempvar - k * Temp * Emin * expmin - ksq * Tsq * expmin) + / (-k * Temp); + + // This gives an equation of form: Ee(-E/kT) + kTe(-E/kT) - C =0 + // Solve this iteratively, step from Emin to Emax in 1000 steps + // and take the best solution. + + G4double erange = Emax - Emin; + G4double steps = erange / 1000.; + G4int i; + G4double etest, diff, err; + + err = 100000.; + + for (i = 1; i < 1000; i++) { + etest = Emin + (i - 1) * steps; + + diff = etest * (std::exp(-etest / (k * Temp))) + k * Temp * (std::exp( + -etest / (k * Temp))) - bigc; + + if (diff < 0.) + diff = -diff; + + if (diff < err) { + err = diff; + particle_energy = etest; + } + } + if (verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4SPSEneDistribution::GenerateBbodyEnergies() { + // BBody_x holds Energies, and BBHist holds the cumulative histo. + // binary search to find correct bin then lin interpolation. + // Use the earlier defined histogram + RandGeneral method to generate + // random numbers following the histos distribution. + G4double rndm; + G4int nabove, nbelow = 0, middle; + nabove = 10001; + rndm = eneRndm->GenRandEnergy(); + + // Binary search to find bin that rndm is in + while (nabove - nbelow > 1) { + middle = (nabove + nbelow) / 2; + if (rndm == BBHist[middle]) + break; + if (rndm < BBHist[middle]) + nabove = middle; + else + nbelow = middle; + } + + // Now interpolate in that bin to find the correct output value. + G4double x1, x2, y1, y2, m, q; + x1 = Bbody_x[nbelow]; + x2 = Bbody_x[nbelow + 1]; + y1 = BBHist[nbelow]; + y2 = BBHist[nbelow + 1]; + m = (y2 - y1) / (x2 - x1); + q = y1 - m * x1; + + particle_energy = (rndm - q) / m; + + if (verbosityLevel >= 1) { + G4cout << "Energy is " << particle_energy << G4endl; + } +} + +void G4SPSEneDistribution::GenerateCdgEnergies() { + // Gen random numbers, compare with values in cumhist + // to find appropriate part of spectrum and then + // generate energy in the usual inversion way. + // G4double pfact[2] = {8.5, 112}; + // G4double spind[2] = {1.4, 2.3}; + // G4double ene_line[3] = {1., 18., 1E6}; + G4double rndm, rndm2; + G4double ene_line[3]; + G4double omalpha[2]; + if (Emin < 18 * keV && Emax < 18 * keV) { + omalpha[0] = 1. - 1.4; + ene_line[0] = Emin; + ene_line[1] = Emax; + } + if (Emin < 18 * keV && Emax > 18 * keV) { + omalpha[0] = 1. - 1.4; + omalpha[1] = 1. - 2.3; + ene_line[0] = Emin; + ene_line[1] = 18. * keV; + ene_line[2] = Emax; + } + if (Emin > 18 * keV) { + omalpha[0] = 1. - 2.3; + ene_line[0] = Emin; + ene_line[1] = Emax; + } + rndm = eneRndm->GenRandEnergy(); + rndm2 = eneRndm->GenRandEnergy(); + + G4int i = 0; + while (rndm >= CDGhist[i]) { + i++; + } + // Generate final energy. + particle_energy = (std::pow(ene_line[i - 1], omalpha[i - 1]) + (std::pow( + ene_line[i], omalpha[i - 1]) - std::pow(ene_line[i - 1], omalpha[i + - 1])) * rndm2); + particle_energy = std::pow(particle_energy, (1. / omalpha[i - 1])); + + if (verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4SPSEneDistribution::GenUserHistEnergies() { + // Histograms are DIFFERENTIAL. + // G4cout << "In GenUserHistEnergies " << G4endl; + if (IPDFEnergyExist == false) { + G4int ii; + G4int maxbin = G4int(UDefEnergyH.GetVectorLength()); + G4double bins[1024], vals[1024], sum; + sum = 0.; + + if ((EnergySpec == false) && (particle_definition == NULL)) + G4cout << "Error: particle definition is NULL" << G4endl; + + if (maxbin > 1024) { + G4cout << "Maxbin > 1024" << G4endl; + G4cout << "Setting maxbin to 1024, other bins are lost" << G4endl; + } + + if (DiffSpec == false) + G4cout << "Histograms are Differential!!! " << G4endl; + else { + bins[0] = UDefEnergyH.GetLowEdgeEnergy(size_t(0)); + vals[0] = UDefEnergyH(size_t(0)); + sum = vals[0]; + for (ii = 1; ii < maxbin; ii++) { + bins[ii] = UDefEnergyH.GetLowEdgeEnergy(size_t(ii)); + vals[ii] = UDefEnergyH(size_t(ii)) + vals[ii - 1]; + sum = sum + UDefEnergyH(size_t(ii)); + } + } + + if (EnergySpec == false) { + G4double mass = particle_definition->GetPDGMass(); + // multiply the function (vals) up by the bin width + // to make the function counts/s (i.e. get rid of momentum + // dependence). + for (ii = 1; ii < maxbin; ii++) { + vals[ii] = vals[ii] * (bins[ii] - bins[ii - 1]); + } + // Put energy bins into new histo, plus divide by energy bin width + // to make evals counts/s/energy + for (ii = 0; ii < maxbin; ii++) { + bins[ii] = std::sqrt((bins[ii] * bins[ii]) + (mass * mass)) + - mass; //kinetic energy + } + for (ii = 1; ii < maxbin; ii++) { + vals[ii] = vals[ii] / (bins[ii] - bins[ii - 1]); + } + sum = vals[maxbin - 1]; + vals[0] = 0.; + } + for (ii = 0; ii < maxbin; ii++) { + vals[ii] = vals[ii] / sum; + IPDFEnergyH.InsertValues(bins[ii], vals[ii]); + } + + // Make IPDFEnergyExist = true + IPDFEnergyExist = true; + if (verbosityLevel > 1) + IPDFEnergyH.DumpValues(); + } + + // IPDF has been create so carry on + G4double rndm = eneRndm->GenRandEnergy(); + particle_energy = IPDFEnergyH.GetEnergy(rndm); + + if (verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4SPSEneDistribution::GenArbPointEnergies() { + if (verbosityLevel > 0) + G4cout << "In GenArbPointEnergies" << G4endl; + G4double rndm; + rndm = eneRndm->GenRandEnergy(); + // IPDFArbEnergyH.DumpValues(); + // Find the Bin + // have x, y, no of points, and cumulative area distribution + G4int nabove, nbelow = 0, middle; + nabove = IPDFArbEnergyH.GetVectorLength(); + // G4cout << nabove << G4endl; + // Binary search to find bin that rndm is in + while (nabove - nbelow > 1) { + middle = (nabove + nbelow) / 2; + if (rndm == IPDFArbEnergyH(size_t(middle))) + break; + if (rndm < IPDFArbEnergyH(size_t(middle))) + nabove = middle; + else + nbelow = middle; + } + if (IntType == "Lin") { + Emax = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow + 1)); Emin = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow)); - grad = Arb_grad[nbelow+1]; - cept = Arb_cept[nbelow+1]; + grad = Arb_grad[nbelow + 1]; + cept = Arb_cept[nbelow + 1]; // G4cout << rndm << " " << Emax << " " << Emin << " " << grad << " " << cept << G4endl; GenerateLinearEnergies(true); - } - else if(IntType == "Log") - { - Emax = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow+1)); + } else if (IntType == "Log") { + Emax = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow + 1)); Emin = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow)); - alpha = Arb_alpha[nbelow+1]; + alpha = Arb_alpha[nbelow + 1]; // G4cout << rndm << " " << Emax << " " << Emin << " " << alpha << G4endl; GeneratePowEnergies(true); - } - else if(IntType == "Exp") - { - Emax = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow+1)); + } else if (IntType == "Exp") { + Emax = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow + 1)); Emin = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow)); - Ezero = Arb_ezero[nbelow+1]; + Ezero = Arb_ezero[nbelow + 1]; // G4cout << rndm << " " << Emax << " " << Emin << " " << Ezero << G4endl; GenerateExpEnergies(true); - } - } - else if(IntType == "Spline") - { - if(verbosityLevel > 1) - G4cout << "IntType = Spline " << rndm << G4endl; - // in SplineInterpolation created SplineInt - // Now generate a random number put it into CubicSplineInterpolation - // and you should get out an energy!?! - particle_energy = -1e100; - while (particle_energy < Emin || particle_energy > Emax ) { - particle_energy = SplineInt->CubicSplineInterpolation(rndm); - rndm = eneRndm->GenRandEnergy(); - } - if(verbosityLevel >= 1) - G4cout << "Energy is " << particle_energy << G4endl; - } - else - G4cout << "Error: IntType unknown type" << G4endl; + } else if (IntType == "Spline") { + Emax = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow + 1)); + Emin = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow)); + particle_energy = -1e100; + rndm = eneRndm->GenRandEnergy(); + while (particle_energy < Emin || particle_energy > Emax) { + particle_energy = SplineInt[nbelow+1]->CubicSplineInterpolation(rndm); + rndm = eneRndm->GenRandEnergy(); + } + if (verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; + } else + G4cout << "Error: IntType unknown type" << G4endl; } -void G4SPSEneDistribution::GenEpnHistEnergies() -{ - // G4cout << "In GenEpnHistEnergies " << Epnflag << G4endl; - - // Firstly convert to energy if not already done. - if(Epnflag == true) - // epnflag = true means spectrum is epn, false means e. - { - // convert to energy by multiplying by A number - ConvertEPNToEnergy(); - // EpnEnergyH will be replace by UDefEnergyH. - // UDefEnergyH.DumpValues(); - } +void G4SPSEneDistribution::GenEpnHistEnergies() { + // G4cout << "In GenEpnHistEnergies " << Epnflag << G4endl; - // G4cout << "Creating IPDFEnergy if not already done so" << G4endl; - if(IPDFEnergyExist == false) - { - // IPDF has not been created, so create it - G4double bins[1024],vals[1024], sum; - G4int ii; - G4int maxbin = G4int(UDefEnergyH.GetVectorLength()); - bins[0] = UDefEnergyH.GetLowEdgeEnergy(size_t(0)); - vals[0] = UDefEnergyH(size_t(0)); - sum = vals[0]; - for(ii=1;iiGenRandEnergy(); - particle_energy = IPDFEnergyH.GetEnergy(rndm); - if(verbosityLevel >= 1) - G4cout << "Energy is " << particle_energy << G4endl; + // G4cout << "Creating IPDFEnergy if not already done so" << G4endl; + if (IPDFEnergyExist == false) { + // IPDF has not been created, so create it + G4double bins[1024], vals[1024], sum; + G4int ii; + G4int maxbin = G4int(UDefEnergyH.GetVectorLength()); + bins[0] = UDefEnergyH.GetLowEdgeEnergy(size_t(0)); + vals[0] = UDefEnergyH(size_t(0)); + sum = vals[0]; + for (ii = 1; ii < maxbin; ii++) { + bins[ii] = UDefEnergyH.GetLowEdgeEnergy(size_t(ii)); + vals[ii] = UDefEnergyH(size_t(ii)) + vals[ii - 1]; + sum = sum + UDefEnergyH(size_t(ii)); + } + + for (ii = 0; ii < maxbin; ii++) { + vals[ii] = vals[ii] / sum; + IPDFEnergyH.InsertValues(bins[ii], vals[ii]); + } + // Make IPDFEpnExist = true + IPDFEnergyExist = true; + } + // IPDFEnergyH.DumpValues(); + // IPDF has been create so carry on + G4double rndm = eneRndm->GenRandEnergy(); + particle_energy = IPDFEnergyH.GetEnergy(rndm); + + if (verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; } -void G4SPSEneDistribution::ConvertEPNToEnergy() -{ - // Use this before particle generation to convert the - // currently stored histogram from energy/nucleon - // to energy. - // G4cout << "In ConvertEpntoEnergy " << G4endl; - if(particle_definition==NULL) - G4cout << "Error: particle not defined" << G4endl; - else - { - // Need to multiply histogram by the number of nucleons. - // Baryon Number looks to hold the no. of nucleons. - G4int Bary = particle_definition->GetBaryonNumber(); - // G4cout << "Baryon No. " << Bary << G4endl; - // Change values in histogram, Read it out, delete it, re-create it - G4int count, maxcount; - maxcount = G4int(EpnEnergyH.GetVectorLength()); - // G4cout << maxcount << G4endl; - G4double ebins[1024],evals[1024]; - if(maxcount > 1024) - { - G4cout << "Histogram contains more than 1024 bins!" << G4endl; - 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;countGetBaryonNumber(); + // G4cout << "Baryon No. " << Bary << G4endl; + // Change values in histogram, Read it out, delete it, re-create it + G4int count, maxcount; + maxcount = G4int(EpnEnergyH.GetVectorLength()); + // G4cout << maxcount << G4endl; + G4double ebins[1024], evals[1024]; + if (maxcount > 1024) { + G4cout << "Histogram contains more than 1024 bins!" << G4endl; + 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; count < maxcount; count++) { + // Read out + ebins[count] = EpnEnergyH.GetLowEdgeEnergy(size_t(count)); + evals[count] = EpnEnergyH(size_t(count)); + } - // Multiply the channels by the nucleon number to give energies - for(count=0;count 1) - Emax = ebins[maxcount-1]; - else - Emax = ebins[0]; - // Put energy bins into new histogram - UDefEnergyH. - for(count=0;count 1) + Emax = ebins[maxcount - 1]; + else + Emax = ebins[0]; + // Put energy bins into new histogram - UDefEnergyH. + for (count = 0; count < maxcount; count++) { + UDefEnergyH.InsertValues(ebins[count], evals[count]); + } + Epnflag = false; //so that you dont repeat this method. } - Epnflag = false; //so that you dont repeat this method. - } } // -void G4SPSEneDistribution::ReSetHist(G4String atype) -{ - if (atype == "energy"){ - UDefEnergyH = IPDFEnergyH = ZeroPhysVector ; - IPDFEnergyExist = false ; - Emin = 0.; - Emax = 1e30;} - else if ( atype == "arb"){ - ArbEnergyH =IPDFArbEnergyH = ZeroPhysVector ; - IPDFArbExist = false;} - else if ( atype == "epn"){ - UDefEnergyH = IPDFEnergyH = ZeroPhysVector ; - IPDFEnergyExist = false ; - EpnEnergyH = ZeroPhysVector ;} - else { - G4cout << "Error, histtype not accepted " << G4endl; - } +void G4SPSEneDistribution::ReSetHist(G4String atype) { + if (atype == "energy") { + UDefEnergyH = IPDFEnergyH = ZeroPhysVector; + IPDFEnergyExist = false; + Emin = 0.; + Emax = 1e30; + } else if (atype == "arb") { + ArbEnergyH = IPDFArbEnergyH = ZeroPhysVector; + IPDFArbExist = false; + } else if (atype == "epn") { + UDefEnergyH = IPDFEnergyH = ZeroPhysVector; + IPDFEnergyExist = false; + EpnEnergyH = ZeroPhysVector; + } else { + G4cout << "Error, histtype not accepted " << G4endl; + } } -G4double G4SPSEneDistribution::GenerateOne(G4ParticleDefinition* a) -{ - particle_definition = a; - particle_energy = -1.; - while ( (EnergyDisType == "Arb")? (particle_energy < ArbEmin || particle_energy > ArbEmax) - : (particle_energy < Emin || particle_energy > Emax) ) { - if(EnergyDisType == "Mono") - GenerateMonoEnergetic(); - else if(EnergyDisType == "Lin") - GenerateLinearEnergies(); - else if(EnergyDisType == "Pow") - GeneratePowEnergies(); - else if(EnergyDisType == "Exp") - GenerateExpEnergies(); - else if(EnergyDisType == "Gauss") - GenerateGaussEnergies(); - else if(EnergyDisType == "Brem") - GenerateBremEnergies(); - else if(EnergyDisType == "Bbody") - GenerateBbodyEnergies(); - else if(EnergyDisType == "Cdg") - GenerateCdgEnergies(); - else if(EnergyDisType == "User") - GenUserHistEnergies(); - else if(EnergyDisType == "Arb") - GenArbPointEnergies(); - else if(EnergyDisType == "Epn") - GenEpnHistEnergies(); - else - G4cout << "Error: EnergyDisType has unusual value" << G4endl; - } - return particle_energy; +G4double G4SPSEneDistribution::GenerateOne(G4ParticleDefinition* a) { + particle_definition = a; + particle_energy = -1.; + + while ((EnergyDisType == "Arb") ? (particle_energy < ArbEmin + || particle_energy > ArbEmax) : (particle_energy < Emin + || particle_energy > Emax)) { + if (Biased) { + GenerateBiasPowEnergies(); + } else { + if (EnergyDisType == "Mono") + GenerateMonoEnergetic(); + else if (EnergyDisType == "Lin") + GenerateLinearEnergies(); + else if (EnergyDisType == "Pow") + GeneratePowEnergies(); + else if (EnergyDisType == "Exp") + GenerateExpEnergies(); + else if (EnergyDisType == "Gauss") + GenerateGaussEnergies(); + else if (EnergyDisType == "Brem") + GenerateBremEnergies(); + else if (EnergyDisType == "Bbody") + GenerateBbodyEnergies(); + else if (EnergyDisType == "Cdg") + GenerateCdgEnergies(); + else if (EnergyDisType == "User") + GenUserHistEnergies(); + else if (EnergyDisType == "Arb") + GenArbPointEnergies(); + else if (EnergyDisType == "Epn") + GenEpnHistEnergies(); + else + G4cout << "Error: EnergyDisType has unusual value" << G4endl; + } + } + return particle_energy; } +G4double G4SPSEneDistribution::GetProbability(G4double ene) { + G4double prob = 1.; - - - - - - - + if (EnergyDisType == "Lin") { + if (prob_norm == 1.) { + prob_norm = 0.5*grad*Emax*Emax + cept*Emax - 0.5*grad*Emin*Emin - cept*Emin; + } + prob = cept + grad * ene; + prob /= prob_norm; + } + else if (EnergyDisType == "Pow") { + if (prob_norm == 1.) { + if (alpha != -1.) { + G4double emina = std::pow(Emin, alpha + 1); + G4double emaxa = std::pow(Emax, alpha + 1); + prob_norm = 1./(1.+alpha) * (emaxa - emina); + } else { + prob_norm = std::log(Emax) - std::log(Emin) ; + } + } + prob = std::pow(ene, alpha)/prob_norm; + } + else if (EnergyDisType == "Exp"){ + if (prob_norm == 1.) { + prob_norm = -Ezero*(std::exp(-Emax/Ezero) - std::exp(Emin/Ezero)); + } + prob = std::exp(-ene / Ezero); + prob /= prob_norm; + } + else if (EnergyDisType == "Arb") { + prob = ArbEnergyH.Value(ene); + // prob = ArbEInt->CubicSplineInterpolation(ene); + //G4double deltaY; + //prob = ArbEInt->PolynomInterpolation(ene, deltaY); + if (prob <= 0.) { + //G4cout << " Warning:G4SPSEneDistribution::GetProbability: prob<= 0. "<= 1) - G4cout << "In GenRandX" << G4endl; - if(XBias == false) - { - // X is not biased - G4double rndm = G4UniformRand(); - return(rndm); - } - else - { - // X is biased - if(IPDFXBias == false) - { - // IPDF has not been created, so create it - G4double bins[1024],vals[1024], sum; - G4int ii; - G4int maxbin = G4int(XBiasH.GetVectorLength()); - bins[0] = XBiasH.GetLowEdgeEnergy(size_t(0)); - vals[0] = XBiasH(size_t(0)); - sum = vals[0]; - for(ii=1;ii IPDFXBiasH(biasn2)) - biasn1 = biasn2; - else - biasn3 = biasn2; - biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; - } - // retrieve the areas and then the x-axis values - bweights[0] = IPDFXBiasH(biasn2) - IPDFXBiasH(biasn2 - 1); - G4double xaxisl = IPDFXBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); - G4double xaxisu = IPDFXBiasH.GetLowEdgeEnergy(size_t(biasn2)); - G4double NatProb = xaxisu - xaxisl; - //G4cout << "X Bin weight " << bweights[0] << " " << rndm << G4endl; - //G4cout << "lower and upper xaxis vals "<= 1) - G4cout << "X bin weight " << bweights[0] << " " << rndm << G4endl; - return(IPDFXBiasH.GetEnergy(rndm)); - } } -G4double G4SPSRandomGenerator::GenRandY() -{ - if(verbosityLevel >= 1) - G4cout << "In GenRandY" << G4endl; - if(YBias == false) - { - // Y is not biased - G4double rndm = G4UniformRand(); - return(rndm); - } - else - { - // Y is biased - if(IPDFYBias == false) - { - // IPDF has not been created, so create it - G4double bins[1024],vals[1024], sum; - G4int ii; - G4int maxbin = G4int(YBiasH.GetVectorLength()); - bins[0] = YBiasH.GetLowEdgeEnergy(size_t(0)); - vals[0] = YBiasH(size_t(0)); - sum = vals[0]; - for(ii=1;ii= 1) + G4cout << "In GenRandX" << G4endl; + if (XBias == false) { + // X is not biased + G4double rndm = G4UniformRand(); + return (rndm); + } else { + // X is biased + if (IPDFXBias == false) { + // IPDF has not been created, so create it + G4double bins[1024], vals[1024], sum; + G4int ii; + G4int maxbin = G4int(XBiasH.GetVectorLength()); + bins[0] = XBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = XBiasH(size_t(0)); + sum = vals[0]; + for (ii = 1; ii < maxbin; ii++) { + bins[ii] = XBiasH.GetLowEdgeEnergy(size_t(ii)); + vals[ii] = XBiasH(size_t(ii)) + vals[ii - 1]; + sum = sum + XBiasH(size_t(ii)); + } - for(ii=0;ii IPDFXBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2; + } + // retrieve the areas and then the x-axis values + bweights[0] = IPDFXBiasH(biasn2) - IPDFXBiasH(biasn2 - 1); + G4double xaxisl = IPDFXBiasH.GetLowEdgeEnergy(size_t(biasn2 - 1)); + G4double xaxisu = IPDFXBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + //G4cout << "X Bin weight " << bweights[0] << " " << rndm << G4endl; + //G4cout << "lower and upper xaxis vals "<= 1) + G4cout << "X bin weight " << bweights[0] << " " << rndm << G4endl; + return (IPDFXBiasH.GetEnergy(rndm)); } - // IPDF has been create so carry on - G4double rndm = G4UniformRand(); - size_t numberOfBin = IPDFYBiasH.GetVectorLength(); - G4int biasn1 = 0; - G4int biasn2 = numberOfBin/2; - G4int biasn3 = numberOfBin - 1; - while (biasn1 != biasn3 - 1) { - if (rndm > IPDFYBiasH(biasn2)) - biasn1 = biasn2; - else - biasn3 = biasn2; - biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; - } - bweights[1] = IPDFYBiasH(biasn2) - IPDFYBiasH(biasn2 - 1); - G4double xaxisl = IPDFYBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); - G4double xaxisu = IPDFYBiasH.GetLowEdgeEnergy(size_t(biasn2)); - G4double NatProb = xaxisu - xaxisl; - bweights[1] = NatProb/bweights[1]; - if(verbosityLevel >= 1) - G4cout << "Y bin weight " << bweights[1] << " " << rndm << G4endl; - return(IPDFYBiasH.GetEnergy(rndm)); - } } -G4double G4SPSRandomGenerator::GenRandZ() -{ - if(verbosityLevel >= 1) - G4cout << "In GenRandZ" << G4endl; - if(ZBias == false) - { - // Z is not biased - G4double rndm = G4UniformRand(); - return(rndm); - } - else - { - // Z is biased - if(IPDFZBias == false) - { - // IPDF has not been created, so create it - G4double bins[1024],vals[1024], sum; - G4int ii; - G4int maxbin = G4int(ZBiasH.GetVectorLength()); - bins[0] = ZBiasH.GetLowEdgeEnergy(size_t(0)); - vals[0] = ZBiasH(size_t(0)); - sum = vals[0]; - for(ii=1;ii= 1) + G4cout << "In GenRandY" << G4endl; + if (YBias == false) { + // Y is not biased + G4double rndm = G4UniformRand(); + return (rndm); + } else { + // Y is biased + if (IPDFYBias == false) { + // IPDF has not been created, so create it + G4double bins[1024], vals[1024], sum; + G4int ii; + G4int maxbin = G4int(YBiasH.GetVectorLength()); + bins[0] = YBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = YBiasH(size_t(0)); + sum = vals[0]; + for (ii = 1; ii < maxbin; ii++) { + bins[ii] = YBiasH.GetLowEdgeEnergy(size_t(ii)); + vals[ii] = YBiasH(size_t(ii)) + vals[ii - 1]; + sum = sum + YBiasH(size_t(ii)); + } - for(ii=0;ii IPDFYBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2; + } + bweights[1] = IPDFYBiasH(biasn2) - IPDFYBiasH(biasn2 - 1); + G4double xaxisl = IPDFYBiasH.GetLowEdgeEnergy(size_t(biasn2 - 1)); + G4double xaxisu = IPDFYBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[1] = NatProb / bweights[1]; + if (verbosityLevel >= 1) + G4cout << "Y bin weight " << bweights[1] << " " << rndm << G4endl; + return (IPDFYBiasH.GetEnergy(rndm)); } - // IPDF has been create so carry on - G4double rndm = G4UniformRand(); - // size_t weight_bin_no = IPDFZBiasH.FindValueBinLocation(rndm); - size_t numberOfBin = IPDFZBiasH.GetVectorLength(); - G4int biasn1 = 0; - G4int biasn2 = numberOfBin/2; - G4int biasn3 = numberOfBin - 1; - while (biasn1 != biasn3 - 1) { - if (rndm > IPDFZBiasH(biasn2)) - biasn1 = biasn2; - else - biasn3 = biasn2; - biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; - } - bweights[2] = IPDFZBiasH(biasn2) - IPDFZBiasH(biasn2 - 1); - G4double xaxisl = IPDFZBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); - G4double xaxisu = IPDFZBiasH.GetLowEdgeEnergy(size_t(biasn2)); - G4double NatProb = xaxisu - xaxisl; - bweights[2] = NatProb/bweights[2]; - if(verbosityLevel >= 1) - G4cout << "Z bin weight " << bweights[2] << " " << rndm << G4endl; - return(IPDFZBiasH.GetEnergy(rndm)); - } } -G4double G4SPSRandomGenerator::GenRandTheta() -{ - if(verbosityLevel >= 1) - { - G4cout << "In GenRandTheta" << G4endl; - G4cout << "Verbosity " << verbosityLevel << G4endl; - } - if(ThetaBias == false) - { - // Theta is not biased - G4double rndm = G4UniformRand(); - return(rndm); - } - else - { - // Theta is biased - if(IPDFThetaBias == false) - { - // IPDF has not been created, so create it - G4double bins[1024],vals[1024], sum; - G4int ii; - G4int maxbin = G4int(ThetaBiasH.GetVectorLength()); - bins[0] = ThetaBiasH.GetLowEdgeEnergy(size_t(0)); - vals[0] = ThetaBiasH(size_t(0)); - sum = vals[0]; - for(ii=1;ii= 1) + G4cout << "In GenRandZ" << G4endl; + if (ZBias == false) { + // Z is not biased + G4double rndm = G4UniformRand(); + return (rndm); + } else { + // Z is biased + if (IPDFZBias == false) { + // IPDF has not been created, so create it + G4double bins[1024], vals[1024], sum; + G4int ii; + G4int maxbin = G4int(ZBiasH.GetVectorLength()); + bins[0] = ZBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = ZBiasH(size_t(0)); + sum = vals[0]; + for (ii = 1; ii < maxbin; ii++) { + bins[ii] = ZBiasH.GetLowEdgeEnergy(size_t(ii)); + vals[ii] = ZBiasH(size_t(ii)) + vals[ii - 1]; + sum = sum + ZBiasH(size_t(ii)); + } - for(ii=0;ii IPDFZBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2; + } + bweights[2] = IPDFZBiasH(biasn2) - IPDFZBiasH(biasn2 - 1); + G4double xaxisl = IPDFZBiasH.GetLowEdgeEnergy(size_t(biasn2 - 1)); + G4double xaxisu = IPDFZBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[2] = NatProb / bweights[2]; + if (verbosityLevel >= 1) + G4cout << "Z bin weight " << bweights[2] << " " << rndm << G4endl; + return (IPDFZBiasH.GetEnergy(rndm)); } - // IPDF has been create so carry on - G4double rndm = G4UniformRand(); - // size_t weight_bin_no = IPDFThetaBiasH.FindValueBinLocation(rndm); - size_t numberOfBin = IPDFThetaBiasH.GetVectorLength(); - G4int biasn1 = 0; - G4int biasn2 = numberOfBin/2; - G4int biasn3 = numberOfBin - 1; - while (biasn1 != biasn3 - 1) { - if (rndm > IPDFThetaBiasH(biasn2)) - biasn1 = biasn2; - else - biasn3 = biasn2; - biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; - } - bweights[3] = IPDFThetaBiasH(biasn2) - IPDFThetaBiasH(biasn2 - 1); - G4double xaxisl = IPDFThetaBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); - G4double xaxisu = IPDFThetaBiasH.GetLowEdgeEnergy(size_t(biasn2)); - G4double NatProb = xaxisu - xaxisl; - bweights[3] = NatProb/bweights[3]; - if(verbosityLevel >= 1) - G4cout << "Theta bin weight " << bweights[3] << " " << rndm << G4endl; - return(IPDFThetaBiasH.GetEnergy(rndm)); - } } -G4double G4SPSRandomGenerator::GenRandPhi() -{ - if(verbosityLevel >= 1) - G4cout << "In GenRandPhi" << G4endl; - if(PhiBias == false) - { - // Phi is not biased - G4double rndm = G4UniformRand(); - return(rndm); - } - else - { - // Phi is biased - if(IPDFPhiBias == false) - { - // IPDF has not been created, so create it - G4double bins[1024],vals[1024], sum; - G4int ii; - G4int maxbin = G4int(PhiBiasH.GetVectorLength()); - bins[0] = PhiBiasH.GetLowEdgeEnergy(size_t(0)); - vals[0] = PhiBiasH(size_t(0)); - sum = vals[0]; - for(ii=1;ii= 1) { + G4cout << "In GenRandTheta" << G4endl; + G4cout << "Verbosity " << verbosityLevel << G4endl; } - // IPDF has been create so carry on - G4double rndm = G4UniformRand(); - // size_t weight_bin_no = IPDFPhiBiasH.FindValueBinLocation(rndm); - size_t numberOfBin = IPDFPhiBiasH.GetVectorLength(); - G4int biasn1 = 0; - G4int biasn2 = numberOfBin/2; - G4int biasn3 = numberOfBin - 1; - while (biasn1 != biasn3 - 1) { - if (rndm > IPDFPhiBiasH(biasn2)) - biasn1 = biasn2; - else - biasn3 = biasn2; - biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; - } - bweights[4] = IPDFPhiBiasH(biasn2) - IPDFPhiBiasH(biasn2 - 1); - G4double xaxisl = IPDFPhiBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); - G4double xaxisu = IPDFPhiBiasH.GetLowEdgeEnergy(size_t(biasn2)); - G4double NatProb = xaxisu - xaxisl; - bweights[4] = NatProb/bweights[4]; - if(verbosityLevel >= 1) - G4cout << "Phi bin weight " << bweights[4] << " " << rndm << G4endl; - return(IPDFPhiBiasH.GetEnergy(rndm)); - } -} + if (ThetaBias == false) { + // Theta is not biased + G4double rndm = G4UniformRand(); + return (rndm); + } else { + // Theta is biased + if (IPDFThetaBias == false) { + // IPDF has not been created, so create it + G4double bins[1024], vals[1024], sum; + G4int ii; + G4int maxbin = G4int(ThetaBiasH.GetVectorLength()); + bins[0] = ThetaBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = ThetaBiasH(size_t(0)); + sum = vals[0]; + for (ii = 1; ii < maxbin; ii++) { + bins[ii] = ThetaBiasH.GetLowEdgeEnergy(size_t(ii)); + vals[ii] = ThetaBiasH(size_t(ii)) + vals[ii - 1]; + sum = sum + ThetaBiasH(size_t(ii)); + } -G4double G4SPSRandomGenerator::GenRandEnergy() -{ - if(verbosityLevel >= 1) - G4cout << "In GenRandEnergy" << G4endl; - if(EnergyBias == false) - { - // Energy is not biased - G4double rndm = G4UniformRand(); - return(rndm); - } - else { - // ENERGY is biased - if(IPDFEnergyBias == false) { - // IPDF has not been created, so create it - G4double bins[1024],vals[1024], sum; - G4int ii; - G4int maxbin = G4int(EnergyBiasH.GetVectorLength()); - bins[0] = EnergyBiasH.GetLowEdgeEnergy(size_t(0)); - vals[0] = EnergyBiasH(size_t(0)); - sum = vals[0]; - for(ii=1;ii IPDFEnergyBiasH(biasn2)) - biasn1 = biasn2; - else - biasn3 = biasn2; - biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; - } - bweights[5] = IPDFEnergyBiasH(biasn2) - IPDFEnergyBiasH(biasn2 - 1); - G4double xaxisl = IPDFEnergyBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); - G4double xaxisu = IPDFEnergyBiasH.GetLowEdgeEnergy(size_t(biasn2)); - G4double NatProb = xaxisu - xaxisl; - bweights[5] = NatProb/bweights[5]; - if(verbosityLevel >= 1) - G4cout << "Energy bin weight " << bweights[5] << " " << rndm << G4endl; - return(IPDFEnergyBiasH.GetEnergy(rndm)); - } -} - - -G4double G4SPSRandomGenerator::GenRandPosTheta() -{ - if(verbosityLevel >= 1) - { - G4cout << "In GenRandPosTheta" << G4endl; - G4cout << "Verbosity " << verbosityLevel << G4endl; - } - if(PosThetaBias == false) - { - // Theta is not biased - G4double rndm = G4UniformRand(); - return(rndm); - } - else - { - // Theta is biased - if(IPDFPosThetaBias == false) - { - // IPDF has not been created, so create it - G4double bins[1024],vals[1024], sum; - G4int ii; - G4int maxbin = G4int(PosThetaBiasH.GetVectorLength()); - bins[0] = PosThetaBiasH.GetLowEdgeEnergy(size_t(0)); - vals[0] = PosThetaBiasH(size_t(0)); - sum = vals[0]; - for(ii=1;ii IPDFThetaBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2; + } + bweights[3] = IPDFThetaBiasH(biasn2) - IPDFThetaBiasH(biasn2 - 1); + G4double xaxisl = IPDFThetaBiasH.GetLowEdgeEnergy(size_t(biasn2 - 1)); + G4double xaxisu = IPDFThetaBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[3] = NatProb / bweights[3]; + if (verbosityLevel >= 1) + G4cout << "Theta bin weight " << bweights[3] << " " << rndm + << G4endl; + return (IPDFThetaBiasH.GetEnergy(rndm)); } - // IPDF has been create so carry on - G4double rndm = G4UniformRand(); - // size_t weight_bin_no = IPDFThetaBiasH.FindValueBinLocation(rndm); - size_t numberOfBin = IPDFPosThetaBiasH.GetVectorLength(); - G4int biasn1 = 0; - G4int biasn2 = numberOfBin/2; - G4int biasn3 = numberOfBin - 1; - while (biasn1 != biasn3 - 1) { - if (rndm > IPDFPosThetaBiasH(biasn2)) - biasn1 = biasn2; - else - biasn3 = biasn2; - biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; - } - bweights[6] = IPDFPosThetaBiasH(biasn2) - IPDFPosThetaBiasH(biasn2 - 1); - G4double xaxisl = IPDFPosThetaBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); - G4double xaxisu = IPDFPosThetaBiasH.GetLowEdgeEnergy(size_t(biasn2)); - G4double NatProb = xaxisu - xaxisl; - bweights[6] = NatProb/bweights[6]; - if(verbosityLevel >= 1) - G4cout << "PosTheta bin weight " << bweights[6] << " " << rndm << G4endl; - return(IPDFPosThetaBiasH.GetEnergy(rndm)); - } } -G4double G4SPSRandomGenerator::GenRandPosPhi() -{ - if(verbosityLevel >= 1) - G4cout << "In GenRandPosPhi" << G4endl; - if(PosPhiBias == false) - { - // PosPhi is not biased - G4double rndm = G4UniformRand(); - return(rndm); - } - else - { - // PosPhi is biased - if(IPDFPosPhiBias == false) - { - // IPDF has not been created, so create it - G4double bins[1024],vals[1024], sum; - G4int ii; - G4int maxbin = G4int(PosPhiBiasH.GetVectorLength()); - bins[0] = PosPhiBiasH.GetLowEdgeEnergy(size_t(0)); - vals[0] = PosPhiBiasH(size_t(0)); - sum = vals[0]; - for(ii=1;ii= 1) + G4cout << "In GenRandPhi" << G4endl; + if (PhiBias == false) { + // Phi is not biased + G4double rndm = G4UniformRand(); + return (rndm); + } else { + // Phi is biased + if (IPDFPhiBias == false) { + // IPDF has not been created, so create it + G4double bins[1024], vals[1024], sum; + G4int ii; + G4int maxbin = G4int(PhiBiasH.GetVectorLength()); + bins[0] = PhiBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = PhiBiasH(size_t(0)); + sum = vals[0]; + for (ii = 1; ii < maxbin; ii++) { + bins[ii] = PhiBiasH.GetLowEdgeEnergy(size_t(ii)); + vals[ii] = PhiBiasH(size_t(ii)) + vals[ii - 1]; + sum = sum + PhiBiasH(size_t(ii)); + } - for(ii=0;ii IPDFPhiBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2; + } + bweights[4] = IPDFPhiBiasH(biasn2) - IPDFPhiBiasH(biasn2 - 1); + G4double xaxisl = IPDFPhiBiasH.GetLowEdgeEnergy(size_t(biasn2 - 1)); + G4double xaxisu = IPDFPhiBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[4] = NatProb / bweights[4]; + if (verbosityLevel >= 1) + G4cout << "Phi bin weight " << bweights[4] << " " << rndm << G4endl; + return (IPDFPhiBiasH.GetEnergy(rndm)); } - // IPDF has been create so carry on - G4double rndm = G4UniformRand(); - // size_t weight_bin_no = IPDFPosPhiBiasH.FindValueBinLocation(rndm); - size_t numberOfBin = IPDFPosPhiBiasH.GetVectorLength(); - G4int biasn1 = 0; - G4int biasn2 = numberOfBin/2; - G4int biasn3 = numberOfBin - 1; - while (biasn1 != biasn3 - 1) { - if (rndm > IPDFPosPhiBiasH(biasn2)) - biasn1 = biasn2; - else - biasn3 = biasn2; - biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; - } - bweights[7] = IPDFPosPhiBiasH(biasn2) - IPDFPosPhiBiasH(biasn2 - 1); - G4double xaxisl = IPDFPosPhiBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); - G4double xaxisu = IPDFPosPhiBiasH.GetLowEdgeEnergy(size_t(biasn2)); - G4double NatProb = xaxisu - xaxisl; - bweights[7] = NatProb/bweights[7]; - if(verbosityLevel >= 1) - G4cout << "PosPhi bin weight " << bweights[7] << " " << rndm << G4endl; - return(IPDFPosPhiBiasH.GetEnergy(rndm)); - } } +G4double G4SPSRandomGenerator::GenRandEnergy() { + if (verbosityLevel >= 1) + G4cout << "In GenRandEnergy" << G4endl; + if (EnergyBias == false) { + // Energy is not biased + G4double rndm = G4UniformRand(); + return (rndm); + } else { + // ENERGY is biased + if (IPDFEnergyBias == false) { + // IPDF has not been created, so create it + G4double bins[1024], vals[1024], sum; + G4int ii; + G4int maxbin = G4int(EnergyBiasH.GetVectorLength()); + bins[0] = EnergyBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = EnergyBiasH(size_t(0)); + sum = vals[0]; + for (ii = 1; ii < maxbin; ii++) { + bins[ii] = EnergyBiasH.GetLowEdgeEnergy(size_t(ii)); + vals[ii] = EnergyBiasH(size_t(ii)) + vals[ii - 1]; + sum = sum + EnergyBiasH(size_t(ii)); + } + IPDFEnergyBiasH = ZeroPhysVector; + for (ii = 0; ii < maxbin; ii++) { + vals[ii] = vals[ii] / sum; + IPDFEnergyBiasH.InsertValues(bins[ii], vals[ii]); + } + // Make IPDFEnergyBias = true + IPDFEnergyBias = true; + } + // IPDF has been create so carry on + G4double rndm = G4UniformRand(); + // size_t weight_bin_no = IPDFEnergyBiasH.FindValueBinLocation(rndm); + size_t numberOfBin = IPDFEnergyBiasH.GetVectorLength(); + G4int biasn1 = 0; + G4int biasn2 = numberOfBin / 2; + G4int biasn3 = numberOfBin - 1; + while (biasn1 != biasn3 - 1) { + if (rndm > IPDFEnergyBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2; + } + bweights[5] = IPDFEnergyBiasH(biasn2) - IPDFEnergyBiasH(biasn2 - 1); + G4double xaxisl = IPDFEnergyBiasH.GetLowEdgeEnergy(size_t(biasn2 - 1)); + G4double xaxisu = IPDFEnergyBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[5] = NatProb / bweights[5]; + if (verbosityLevel >= 1) + G4cout << "Energy bin weight " << bweights[5] << " " << rndm + << G4endl; + return (IPDFEnergyBiasH.GetEnergy(rndm)); + } +} +G4double G4SPSRandomGenerator::GenRandPosTheta() { + if (verbosityLevel >= 1) { + G4cout << "In GenRandPosTheta" << G4endl; + G4cout << "Verbosity " << verbosityLevel << G4endl; + } + if (PosThetaBias == false) { + // Theta is not biased + G4double rndm = G4UniformRand(); + return (rndm); + } else { + // Theta is biased + if (IPDFPosThetaBias == false) { + // IPDF has not been created, so create it + G4double bins[1024], vals[1024], sum; + G4int ii; + G4int maxbin = G4int(PosThetaBiasH.GetVectorLength()); + bins[0] = PosThetaBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = PosThetaBiasH(size_t(0)); + sum = vals[0]; + for (ii = 1; ii < maxbin; ii++) { + bins[ii] = PosThetaBiasH.GetLowEdgeEnergy(size_t(ii)); + vals[ii] = PosThetaBiasH(size_t(ii)) + vals[ii - 1]; + sum = sum + PosThetaBiasH(size_t(ii)); + } + for (ii = 0; ii < maxbin; ii++) { + vals[ii] = vals[ii] / sum; + IPDFPosThetaBiasH.InsertValues(bins[ii], vals[ii]); + } + // Make IPDFThetaBias = true + IPDFPosThetaBias = true; + } + // IPDF has been create so carry on + G4double rndm = G4UniformRand(); + // size_t weight_bin_no = IPDFThetaBiasH.FindValueBinLocation(rndm); + size_t numberOfBin = IPDFPosThetaBiasH.GetVectorLength(); + G4int biasn1 = 0; + G4int biasn2 = numberOfBin / 2; + G4int biasn3 = numberOfBin - 1; + while (biasn1 != biasn3 - 1) { + if (rndm > IPDFPosThetaBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2; + } + bweights[6] = IPDFPosThetaBiasH(biasn2) - IPDFPosThetaBiasH(biasn2 - 1); + G4double xaxisl = + IPDFPosThetaBiasH.GetLowEdgeEnergy(size_t(biasn2 - 1)); + G4double xaxisu = IPDFPosThetaBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[6] = NatProb / bweights[6]; + if (verbosityLevel >= 1) + G4cout << "PosTheta bin weight " << bweights[6] << " " << rndm + << G4endl; + return (IPDFPosThetaBiasH.GetEnergy(rndm)); + } +} +G4double G4SPSRandomGenerator::GenRandPosPhi() { + if (verbosityLevel >= 1) + G4cout << "In GenRandPosPhi" << G4endl; + if (PosPhiBias == false) { + // PosPhi is not biased + G4double rndm = G4UniformRand(); + return (rndm); + } else { + // PosPhi is biased + if (IPDFPosPhiBias == false) { + // IPDF has not been created, so create it + G4double bins[1024], vals[1024], sum; + G4int ii; + G4int maxbin = G4int(PosPhiBiasH.GetVectorLength()); + bins[0] = PosPhiBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = PosPhiBiasH(size_t(0)); + sum = vals[0]; + for (ii = 1; ii < maxbin; ii++) { + bins[ii] = PosPhiBiasH.GetLowEdgeEnergy(size_t(ii)); + vals[ii] = PosPhiBiasH(size_t(ii)) + vals[ii - 1]; + sum = sum + PosPhiBiasH(size_t(ii)); + } + + for (ii = 0; ii < maxbin; ii++) { + vals[ii] = vals[ii] / sum; + IPDFPosPhiBiasH.InsertValues(bins[ii], vals[ii]); + } + // Make IPDFPosPhiBias = true + IPDFPosPhiBias = true; + } + // IPDF has been create so carry on + G4double rndm = G4UniformRand(); + // size_t weight_bin_no = IPDFPosPhiBiasH.FindValueBinLocation(rndm); + size_t numberOfBin = IPDFPosPhiBiasH.GetVectorLength(); + G4int biasn1 = 0; + G4int biasn2 = numberOfBin / 2; + G4int biasn3 = numberOfBin - 1; + while (biasn1 != biasn3 - 1) { + if (rndm > IPDFPosPhiBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2; + } + bweights[7] = IPDFPosPhiBiasH(biasn2) - IPDFPosPhiBiasH(biasn2 - 1); + G4double xaxisl = IPDFPosPhiBiasH.GetLowEdgeEnergy(size_t(biasn2 - 1)); + G4double xaxisu = IPDFPosPhiBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[7] = NatProb / bweights[7]; + if (verbosityLevel >= 1) + G4cout << "PosPhi bin weight " << bweights[7] << " " << rndm + << G4endl; + return (IPDFPosPhiBiasH.GetEnergy(rndm)); + } +} diff --git a/source/event/src/G4SingleParticleSource.cc b/source/event/src/G4SingleParticleSource.cc index d56d6e6433..94cd0062df 100644 --- a/source/event/src/G4SingleParticleSource.cc +++ b/source/event/src/G4SingleParticleSource.cc @@ -57,117 +57,113 @@ #include "G4Track.hh" #include "G4SingleParticleSource.hh" -G4SingleParticleSource::G4SingleParticleSource() -{ - // Initialise all variables - // Position distribution Variables +G4SingleParticleSource::G4SingleParticleSource() { + // Initialise all variables + // Position distribution Variables - NumberOfParticlesToBeGenerated = 1; - particle_definition = G4Geantino::GeantinoDefinition(); - G4ThreeVector zero; - particle_momentum_direction = G4ParticleMomentum(1,0,0); - particle_energy = 1.0*MeV; - particle_position = zero; - particle_time = 0.0; - particle_polarization = zero; - particle_charge = 0.0; - particle_weight = 1.0; + NumberOfParticlesToBeGenerated = 1; + particle_definition = G4Geantino::GeantinoDefinition(); + G4ThreeVector zero; + particle_momentum_direction = G4ParticleMomentum(1, 0, 0); + particle_energy = 1.0 * MeV; + particle_position = zero; + particle_time = 0.0; + particle_polarization = zero; + particle_charge = 0.0; + particle_weight = 1.0; - biasRndm = new G4SPSRandomGenerator(); - posGenerator = new G4SPSPosDistribution(); - posGenerator->SetBiasRndm(biasRndm); - angGenerator = new G4SPSAngDistribution(); - angGenerator->SetPosDistribution(posGenerator); - angGenerator->SetBiasRndm(biasRndm); - eneGenerator = new G4SPSEneDistribution(); - eneGenerator->SetBiasRndm(biasRndm); + biasRndm = new G4SPSRandomGenerator(); + posGenerator = new G4SPSPosDistribution(); + posGenerator->SetBiasRndm(biasRndm); + angGenerator = new G4SPSAngDistribution(); + angGenerator->SetPosDistribution(posGenerator); + angGenerator->SetBiasRndm(biasRndm); + eneGenerator = new G4SPSEneDistribution(); + eneGenerator->SetBiasRndm(biasRndm); - // verbosity - verbosityLevel = 0; + // verbosity + verbosityLevel = 0; } -G4SingleParticleSource::~G4SingleParticleSource() -{} - -void G4SingleParticleSource::SetVerbosity(int vL) -{ - verbosityLevel = vL; - posGenerator->SetVerbosity(vL); - angGenerator->SetVerbosity(vL); - eneGenerator->SetVerbosity(vL); - G4cout << "Verbosity Set to: " << verbosityLevel << G4endl; +G4SingleParticleSource::~G4SingleParticleSource() { + delete biasRndm; + delete posGenerator; + delete angGenerator; + delete eneGenerator; } -void G4SingleParticleSource::SetParticleDefinition - (G4ParticleDefinition* aParticleDefinition) -{ - particle_definition = aParticleDefinition; - particle_charge = particle_definition->GetPDGCharge(); +void G4SingleParticleSource::SetVerbosity(int vL) { + verbosityLevel = vL; + posGenerator->SetVerbosity(vL); + angGenerator->SetVerbosity(vL); + eneGenerator->SetVerbosity(vL); + G4cout << "Verbosity Set to: " << verbosityLevel << G4endl; } -void G4SingleParticleSource::GeneratePrimaryVertex(G4Event *evt) -{ - if(particle_definition==NULL) return; - - if(verbosityLevel > 1) - G4cout << " NumberOfParticlesToBeGenerated: "<GenerateOne(); - - // create a new vertex - G4PrimaryVertex* vertex = new G4PrimaryVertex(particle_position,particle_time); - - for( G4int i=0; iGenerateOne(); - // Energy stuff - particle_energy = eneGenerator->GenerateOne(particle_definition); - - if(verbosityLevel >= 2) - G4cout << "Creating primaries and assigning to vertex" << G4endl; - // create new primaries and set them to the vertex - G4double mass = particle_definition->GetPDGMass(); - G4double energy = particle_energy + mass; - G4double pmom = std::sqrt(energy*energy-mass*mass); - G4double px = pmom*particle_momentum_direction.x(); - G4double py = pmom*particle_momentum_direction.y(); - G4double pz = pmom*particle_momentum_direction.z(); - - if(verbosityLevel > 1){ - G4cout << "Particle name: "<GetParticleName() << G4endl; - G4cout << " Energy: "<SetMass( mass ); - particle->SetCharge( particle_charge ); - particle->SetPolarization(particle_polarization.x(), - particle_polarization.y(), - particle_polarization.z()); - // Set bweight equal to the multiple of all non-zero weights - particle_weight = biasRndm->GetBiasWeight(); - // pass it to primary particle - particle->SetWeight(particle_weight); - - vertex->SetPrimary( particle ); - - } - // now pass the weight to the primary vertex. CANNOT be used here! - // vertex->SetWeight(particle_weight); - evt->AddPrimaryVertex( vertex ); - if(verbosityLevel > 1) - G4cout << " Primary Vetex generated !"<< G4endl; +void G4SingleParticleSource::SetParticleDefinition( + G4ParticleDefinition* aParticleDefinition) { + particle_definition = aParticleDefinition; + particle_charge = particle_definition->GetPDGCharge(); } +void G4SingleParticleSource::GeneratePrimaryVertex(G4Event *evt) { + if (particle_definition == NULL) + return; + if (verbosityLevel > 1) + G4cout << " NumberOfParticlesToBeGenerated: " + << NumberOfParticlesToBeGenerated << G4endl; + // Position stuff + particle_position = posGenerator->GenerateOne(); + // create a new vertex + G4PrimaryVertex* vertex = new G4PrimaryVertex(particle_position, + particle_time); + for (G4int i = 0; i < NumberOfParticlesToBeGenerated; i++) { + // Angular stuff + particle_momentum_direction = angGenerator->GenerateOne(); + // Energy stuff + particle_energy = eneGenerator->GenerateOne(particle_definition); + if (verbosityLevel >= 2) + G4cout << "Creating primaries and assigning to vertex" << G4endl; + // create new primaries and set them to the vertex + G4double mass = particle_definition->GetPDGMass(); + G4double energy = particle_energy + mass; + G4double pmom = std::sqrt(energy * energy - mass * mass); + G4double px = pmom * particle_momentum_direction.x(); + G4double py = pmom * particle_momentum_direction.y(); + G4double pz = pmom * particle_momentum_direction.z(); + if (verbosityLevel > 1) { + G4cout << "Particle name: " + << particle_definition->GetParticleName() << G4endl; + G4cout << " Energy: " << particle_energy << G4endl; + G4cout << " Position: " << particle_position << G4endl; + G4cout << " Direction: " << particle_momentum_direction + << G4endl; + } + G4PrimaryParticle* particle = new G4PrimaryParticle( + particle_definition, px, py, pz); + particle->SetMass(mass); + particle->SetCharge(particle_charge); + particle->SetPolarization(particle_polarization.x(), + particle_polarization.y(), particle_polarization.z()); + // Set bweight equal to the multiple of all non-zero weights + particle_weight = eneGenerator->GetWeight()*biasRndm->GetBiasWeight(); + // pass it to primary particle + particle->SetWeight(particle_weight); + vertex->SetPrimary(particle); + + } + // now pass the weight to the primary vertex. CANNOT be used here! + // vertex->SetWeight(particle_weight); + evt->AddPrimaryVertex(vertex); + if (verbosityLevel > 1) + G4cout << " Primary Vetex generated !" << G4endl; +} diff --git a/source/event/src/G4SmartTrackStack.cc b/source/event/src/G4SmartTrackStack.cc index d86886d4e2..3fca190413 100644 --- a/source/event/src/G4SmartTrackStack.cc +++ b/source/event/src/G4SmartTrackStack.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SmartTrackStack.cc,v 1.3 2009/09/16 23:10:46 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4SmartTrackStack.cc,v 1.5 2010/11/24 22:56:57 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4SmartTrackStack.hh" @@ -72,7 +72,7 @@ G4StackedTrack * G4SmartTrackStack::PopFromStack() { if(stacks[fTurn]->GetNTrack()==0) { - fTurn = (++fTurn)%nTurn; + fTurn = (fTurn+1)%nTurn; //G4cout<<"++++++++ Shift to Stack ["<GetNTrack()<<" stacked tracks."<GetTrack()->GetParentID() == 0 ) { diff --git a/source/event/src/G4StackManager.cc b/source/event/src/G4StackManager.cc index 55bd426fa0..235ed0362b 100644 --- a/source/event/src/G4StackManager.cc +++ b/source/event/src/G4StackManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4StackManager.cc,v 1.14 2009/09/16 23:10:46 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4StackManager.cc,v 1.15 2010/12/15 22:15:07 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Last Modification : 09/Dec/96 M.Asai @@ -356,7 +356,7 @@ void G4StackManager::TransferStackedTracks(G4ClassificationOfNewTrack origin, G4 targetStack = postponeStack; break; default: - int i = origin - 10; + int i = destination - 10; if(i<=numberOfAdditionalWaitingStacks) targetStack = additionalWaitingStacks[i-1]; break; } @@ -424,7 +424,7 @@ void G4StackManager::TransferOneStackedTrack(G4ClassificationOfNewTrack origin, targetStack = postponeStack; break; default: - int i = origin - 10; + int i = destination - 10; if(i<=numberOfAdditionalWaitingStacks) targetStack = additionalWaitingStacks[i-1]; break; } diff --git a/source/event/src/G4TrackStack.cc b/source/event/src/G4TrackStack.cc index 7887114a7a..30b671e2bc 100644 --- a/source/event/src/G4TrackStack.cc +++ b/source/event/src/G4TrackStack.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TrackStack.cc,v 1.8 2009/09/10 21:31:41 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4TrackStack.cc,v 1.9 2010/11/24 22:56:57 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4TrackStack.hh" @@ -107,19 +107,22 @@ G4StackedTrack * G4TrackStack::PopFromStack() void G4TrackStack::PushToStack( G4StackedTrack * aStackedTrack ) { - if( n_stackedTrack == 0 ) + if(aStackedTrack) { - aStackedTrack->SetPrevious( 0 ); - firstStackedTrack = aStackedTrack; + if( n_stackedTrack == 0 ) + { + aStackedTrack->SetPrevious( 0 ); + firstStackedTrack = aStackedTrack; + } + else + { + lastStackedTrack->SetNext( aStackedTrack ); + aStackedTrack->SetPrevious( lastStackedTrack ); + } + lastStackedTrack = aStackedTrack; + n_stackedTrack++; + if(n_stackedTrack>maxNTracks) maxNTracks = n_stackedTrack; } - else - { - lastStackedTrack->SetNext( aStackedTrack ); - aStackedTrack->SetPrevious( lastStackedTrack ); - } - lastStackedTrack = aStackedTrack; - n_stackedTrack++; - if(n_stackedTrack>maxNTracks) maxNTracks = n_stackedTrack; } void G4TrackStack::GrabFromStack( G4StackedTrack * aStackedTrack ) diff --git a/source/g3tog4/CMakeLists.txt b/source/g3tog4/CMakeLists.txt new file mode 100644 index 0000000000..ee53e3efa5 --- /dev/null +++ b/source/g3tog4/CMakeLists.txt @@ -0,0 +1,37 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G3toG4 +# Package: Geant4.src.G3toG4 +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:40:05 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + +# We also need to build the rztog4 application +# It's not a Mac Bundle or WIN32 app (i.e. no GUI!!) +# Will need cernlib libraries, but no FindPackage for that yet... +# Hmm, means it'll probably be UNIX only... +# NB: Doesn't build on Linux due to undefined references - so do +# need CERNLIB +# +#include_directories(include) +#add_executable(rztog4 +# src/g3routines.F +# src/jshape.F +# src/rztog4.F +# src/g3tog4.F +# src/mztog4.F +# src/tog4.F +#) + diff --git a/source/g3tog4/sources.cmake b/source/g3tog4/sources.cmake new file mode 100644 index 0000000000..704cd276c1 --- /dev/null +++ b/source/g3tog4/sources.cmake @@ -0,0 +1,147 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G3toG4 +# Package: Geant4.src.G3toG4 +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:40:13 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/BREPS/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/Boolean/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/decay/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G3toG4 + HEADERS + G3DetTable.hh + G3DetTableEntry.hh + G3Division.hh + G3EleTable.hh + G3G4Interface.hh + G3MatTable.hh + G3MatTableEntry.hh + G3MedTable.hh + G3MedTableEntry.hh + G3PartTable.hh + G3Pos.hh + G3RotTable.hh + G3RotTableEntry.hh + G3SensVolVector.hh + G3VolTable.hh + G3VolTableEntry.hh + G3toG4.hh + G3toG4BuildTree.hh + G3toG4MANY.hh + G3toG4MakeSolid.hh + G3toG4RotationMatrix.hh + SOURCES + G3DetTable.cc + G3DetTableEntry.cc + G3Division.cc + G3EleTable.cc + G3MatTable.cc + G3MatTableEntry.cc + G3MedTable.cc + G3MedTableEntry.cc + G3NegVolPars.cc + G3PartTable.cc + G3Pos.cc + G3RotTable.cc + G3RotTableEntry.cc + G3VolTable.cc + G3VolTableEntry.cc + G3toG4BuildTree.cc + G3toG4MANY.cc + G3toG4MakeSolid.cc + G3toG4RotationMatrix.cc + G4BuildGeom.cc + G4ggclos.cc + G4gsatt.cc + G4gsbool.cc + G4gsdet.cc + G4gsdeta.cc + G4gsdetd.cc + G4gsdeth.cc + G4gsdetu.cc + G4gsdetv.cc + G4gsdk.cc + G4gsdvn.cc + G4gsdvn2.cc + G4gsdvt.cc + G4gsdvt2.cc + G4gsdvx.cc + G4gsmate.cc + G4gsmixt.cc + G4gspart.cc + G4gspos.cc + G4gsposp.cc + G4gsrotm.cc + G4gstmed.cc + G4gstpar.cc + G4gsvolu.cc + clparse.cc + GRANULAR_DEPENDENCIES + G4brep + G4csg + G4decay + G4detector + G4geomBoolean + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4magneticfield + G4materials + G4partman + G4procman + G4specsolids + G4track + G4tracking + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4global + G4graphics_reps + G4materials + G4particles + G4processes + G4track + G4tracking + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/geometry/CMakeLists.txt b/source/geometry/CMakeLists.txt new file mode 100644 index 0000000000..3cdbcbbd03 --- /dev/null +++ b/source/geometry/CMakeLists.txt @@ -0,0 +1,40 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4geometry +# Package: Geant4.src.G4geometry +# +# Top level CMakeLists.txt for a Geant4 Global Library +# or collection of sublibraries +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:40:22 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(benchmarks) +add_subdirectory(biasing) +add_subdirectory(divisions) +add_subdirectory(magneticfield) +add_subdirectory(management) +add_subdirectory(navigation) +add_subdirectory(solids) +add_subdirectory(volumes) + +if(NOT GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GLOBAL_LIBRARY_TARGET(NAME G4geometry + COMPONENTS + biasing/sources.cmake + divisions/sources.cmake + magneticfield/sources.cmake + management/sources.cmake + navigation/sources.cmake + solids/BREPS/sources.cmake + solids/Boolean/sources.cmake + solids/CSG/sources.cmake + solids/specific/sources.cmake + volumes/sources.cmake +) +endif() + diff --git a/source/geometry/History b/source/geometry/History index dd1ec16be2..1ca29b402e 100644 --- a/source/geometry/History +++ b/source/geometry/History @@ -1,4 +1,4 @@ -$Id: History,v 1.39 2007/05/18 11:10:43 gcosmo Exp $ +$Id: History,v 1.42 2010/10/27 07:34:32 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -225,138 +225,129 @@ Jan 19, 2000 Gabriele Cosmo geometry-V01-00-00 - Sycronized file versions with HEAD after ISO-C++ migration. Collecting subtags: field-V01-00-00, geomsolids-V01-00-00, geommng-V01-00-00 and geomvol-V01-00-00. - -Changes are now documented in the individual sub-category History files. ------------------------------------------------------------------------- +- Changes are now documented in the individual sub-category History files. Nov 10, 99 John Apostolakis geometry-V00-01-01 - - geomsolids-V00-01-03 +------------------------------- +- geomsolids-V00-01-03 which includes the following sub-tags: geom-solids-csg-01-00-02-cand geom-solid-bool-V00-01-03b breps-V00-01-00 stepinterface-V00-01-00 +- geomvol-01-01-01b +- geommng-V00-01-01 +- field-V00-01-02 - geomvol-01-01-01b - - geommng-V00-01-01 - - field-V00-01-02 - -=============================================================================== +############################################################################### Geant4 1.0 , 1st STL-based release. -=============================================================================== -June 7, 99 John Apostolakis geometry-01-00-06 +############################################################################### +June 7, 99 John Apostolakis geometry-01-00-06 +------------------------------- - Tagged. June 7, 99 D. C. Williams - CSG Pcon/Pgon (and supporting classes) : several changes +------------------------------- +- CSG Pcon/Pgon (and supporting classes) : several changes June 4, 99 S. Giani - G4Trap : CalculateExtent fix - G4SmartVoxelHeader.cc : protection against inconsistent CalculateExtent +------------------------------- +- G4Trap : CalculateExtent fix +- G4SmartVoxelHeader.cc : protection against inconsistent CalculateExtent May 21, 99 John Apostolakis geometry-01-00-05 +------------------------------- - Tagged. May 20, 99 S.Giani, S.Magni - - Fixes in BREP Line, & (PCone, FCylindrical/FConical surf) respectively - For more details see solids/BREP/History - - Also see changes mentioned in solids/CSG/History for CSG Pcon/Pgon +------------------------------- +- Fixes in BREP Line, & (PCone, FCylindrical/FConical surf) respectively +- For more details see solids/BREP/History +- Also see changes mentioned in solids/CSG/History for CSG Pcon/Pgon May 19, 99 Frank Behner - - Volumes: Further minor fixes for STL. +------------------------------- +- Volumes: Further minor fixes for STL. May 12, 99 John Apostolakis geometry-01-00-04 - +------------------------------- - Tagged. May 12, 99 Simone Giani - Fixes to G4BREPSolidPolyhedra and G4FPlane. +------------------------------- +- Fixes to G4BREPSolidPolyhedra and G4FPlane. May 10, 99 Frank Behner - Changes in RW use for compatibility with RW/STL in +------------------------------- +- Changes in RW use for compatibility with RW/STL in management/src/G4PhysicalVolumeStore.cc management/src/G4LogicalVolumeStore.cc modifying "delete first();" to "removeFirst();" May 7, 98 John Apostolakis - - Changed G4Navigator to issue warning in the case of small inaccuracies +------------------------------- +- Changed G4Navigator to issue warning in the case of small inaccuracies & cause fatal exception only for large deviations. May 3, 99 John Apostolakis geometry-01-00-03 - - Minor fixes +------------------------------- +- Minor fixes In CSG solids: Cons & Tubs minor, and in PCon/PGon For STL migration: PV-vol-store, NavLevel (Frank Boehner) Apr 19, 99 John Apostolakis geometry-01-00-02 - - Small fixes to solids: consistency fix for CalculateExtent & tolerance - - CodeWarrior fixes (some) to magneticfield - +------------------------------- +- Small fixes to solids: consistency fix for CalculateExtent & tolerance +- CodeWarrior fixes (some) to magneticfield Apr 15, 99 John Allison - - Added -I$(G4BASE)/intercoms/include to BREPS, Boolean abd CSG GNUmakefiles - in preparation for move of G4VGraphicsScene to intercoms. +------------------------------- +- Added -I$(G4BASE)/intercoms/include to BREPS, Boolean abd CSG GNUmakefiles + in preparation for move of G4VGraphicsScene to intercoms. Mar 19, 99 John Apostolakis geometry-01-00-01 - - Category tag using: +------------------------------- +- Category tag using: solids: [tag geomsolids-01-00-01] volumes: [tag geomsolids-01-00-01] management: [tag geommng-01-00-02 ] magneticfield [tag field-01-00-03] Mar 19, 99 John Apostolakis - - Summary of significant changes in sub-categories/sub-directories - management: [tag geommng-01-00-02 ] +------------------------------- +- Summary of significant changes in sub-categories/sub-directories + management: [tag geommng-01-00-02 ] G4AffineTransform.icc InverseProduct fix (used in Navigator). - [.... Add information here .... ? ] - -Jan 15, 99 John Apostolakis - - Fixes in CSG solids (Cons by V.Grichine, CSG Pcone+Pgon by D.C.Williams) +Jan 15, 99 John Apostolakis +------------------------------- +- Fixes in CSG solids (Cons by V.Grichine, CSG Pcone+Pgon by D.C.Williams) Jan 15, 99 Simone Giani ( rec by JA. ) - Fixes in the creation of Smart Voxels: - - Less memory intensive and much more performant at initialisation. - No worse, but a little faster at tracking time. (G4SmartVoxelHeader) +------------------------------- +- Fixes in the creation of Smart Voxels: +- Less memory intensive and much more performant at initialisation. + No worse, but a little faster at tracking time. (G4SmartVoxelHeader) Jan 10, 99 John Apostolakis ( geometry-01-00-01 to be done) - geometry as in geant4-00-patch2 - - Fixes in BREPs (Pcone, Pgon, ...) see solids/BREPS/History - includes the subtags - +------------------------------- geometry as in geant4-00-patch2 +- Fixes in BREPs (Pcone, Pgon, ...) see solids/BREPS/History + includes the subtags stepinterface-01-00-01 step-01-00-01 -=============================================================================== +############################################################################### Geant4.0.0 , 1st production release. -=============================================================================== +############################################################################### Dec 11, 98 John Apostolakis geometry-00-04-04 - - Fixes in BREP Pcone, Pgon - new csg versions of above too. - +------------------------------- +- Fixes in BREP Pcone, Pgon new csg versions of above too. Dec 9, 98 John Apostolakis geometry-00-04-03 - - Fixes for - +------------------------------- +- Fixes for: - BrepPCone in constructor, FPlane, Cylindrical, Conical surfaces. Ellipse and others. @@ -364,21 +355,19 @@ Dec 9, 98 John Apostolakis geometry-00-04-03 - STEPinterface : several creators - Dec 1, 98 John Apostolakis geometry-00-04-02 - - New code in solids/CSG (other implementation of Pgon, Pcon - not exercised) +------------------------------- +- New code in solids/CSG (other implementation of Pgon, Pcon - not exercised) Dec 1, 98 John Apostolakis geometry-00-04-02minus - Fixes in Boolean/src portability +------------------------------- +- Fixes in Boolean/src portability BREPS/src logical problems (bPcone, ConeSurf, Plane) - - Added History files in subdirectories. - +- Added History files in subdirectories. Nov 27, 98 John Apostolakis geometry-00-04-01 - - Fixes in Boolean/src code: logical fixes +------------------------------- +- Fixes in Boolean/src code: logical fixes magneticfield/include interface problem src printing in propagator (debug) Breps renamed methods (from compiler warnings) @@ -386,379 +375,316 @@ Nov 27, 98 John Apostolakis geometry-00-04-01 volumes/NormalNav stores Copy No management no changes - but fixed versions (now head) -======= Nov 19, 98 John Apostolakis geometry-00-03-10 - - - Fixes from Lionel in BREPS/STEP/STEPinterface - - - management/include/G4LogicalVolume.icc - Deleted and readded same version to get CVS to see it on the head. - +------------------------------- +- Fixes from Lionel in BREPS/STEP/STEPinterface +- management/include/G4LogicalVolume.icc + Deleted and readded same version to get CVS to see it on the head. Nov 19, 98 John Apostolakis geometry-00-03-09 - - - Added field-00-03-03 +------------------------------- +- Added field-00-03-03 (it fixes propagation and several steppers) Nov 13, 98 John Apostolakis geometry-00-03-08 +------------------------------- +- Tagged. - - Added ??? - ----------------------------------------------------------------------- Nov 12, 98 John Apostolakis geometry-00-03-07 - - - Tagged for the STT. - - - solids-00-03-02: +------------------------------- +- Tagged for the STT. +- solids-00-03-02: i) New directory finally included: solids/Boolean As in geometry-00-03-03 with minor change/fix. ii) Fix in solids/CSG/src/G4Sphere.cc (V. Grichine). - - - field-00-03-02 +- field-00-03-02 Many changes in Magnetic field to accomodate Electric Field. - - Still does not contain the fixes in geometry-00-03-03 (and later) in the - following directories: +- Still does not contain the fixes in geometry-00-03-03 (and later) in the + following directories: BREPS, STEP, STEPinterface ----------------------------------------------------------------------------- Nov 9, 98 John Apostolakis geometry-00-03-06 - - - Tagged for the STT. - +------------------------------- +- Tagged for the STT. Includes reorganisation of volumes - Still does not contain the fixes in geometry-00-03-03 (and later) in the following directories: BREPS, STEP, STEPinterface, >all< of solids/Boolean ----------------------------------------------------------------------- - -Oct 30, 98 John Apostolakis geometry-00-03-03 -- NOT TESTED -- - - New Boolean directory. - - Many fixes in BREPS: +Oct 30, 98 John Apostolakis geometry-00-03-03 +------------------------------- +- New Boolean directory. +- Many fixes in BREPS: Deleted StepCopyData from all classes. Replaced G4Point, Point3d and Point2d with G4Point3D Fixes to BREPSolid for BoundingBoxes ----------------------------------------------------------------------- - Sept 23rd, 98 John Apostolakis - - G4Box: Changed DistanceToIn to fix new problem. - - G4ParameterisedNavigation - G4VoxelNavigation - Fixed VoxelSafety computation for the case of the middle voxel of - a set of equivalent (lowest-level) voxels. +------------------------------- +- G4Box: changed DistanceToIn to fix new problem. +- G4ParameterisedNavigation +- G4VoxelNavigation: fixed VoxelSafety computation for the case of the + middle voxel of a set of equivalent (lowest-level) voxels. Sept 17th, 98 John Apostolakis geometry-00-03-01 - - Tag created. +------------------------------- +- Tag created. Sept 15th, 98 John Apostolakis - - In G4ParameterisedNavigation - +------------------------------- +- In G4ParameterisedNavigation i) Corrected ComputeSafety(...) which called ComputeVoxelSafety without setting the fVoxelNode & fVoxelNodeNo to the ones at localpoint. - [ This produced incorrect safeties in some cases & resulted in an assertion failure in testT08 because of an unexpected change of volume. ] - ii) ComputeStep: Fixed assertion check of blocked replica number. - Aug 24th, 98 John Apostolakis geometry-00-02-01 - - Tagged. +------------------------------- +- Tagged. Small fixes in BREPS, to allow compilation on different platforms. - -============================================================================== +############################################################################### beta01 release -============================================================================== -July 31st, 98 Peter Urban +############################################################################### - Several fixes for BREPS. +July 31st, 98 Peter Urban +------------------------------- +- Several fixes for BREPS. July 29th, 98 John Apostolakis (with Stefano Magni) - - G4BREPSolidPCone.cc : Cylindrical sections were incorrectly placed. - - G4ConicalSurface.cc - G4CylindricalSurface.cc: - +------------------------------- +- G4BREPSolidPCone.cc : Cylindrical sections were incorrectly placed. +- G4ConicalSurface.cc + G4CylindricalSurface.cc: The Inside functions are modified to try to use the Geant-4 tolerance. --> must be checked further [ The method is used by Intersect of respective surfaces in a complicated manner. ] - - G4FConicalSurface.cc +- G4FConicalSurface.cc - Fix to Bounding Box, which was incorrectly centered/placed. - Fix to Intersect, to insure that only intersection in Finite extent of Surface are found. - July 28th, 98 John Apostolakis - - In the Navigator location, the blocked Volume was not cleared when the -navigator descended several levels in the tree. This would allows the same in another part of the tree to be wrongly blocked. - - In G4ParameterisedNavigation, the identity of the blocked Physical Volume -was not checked! You would block replica number 3 of your parameterised volume -although you exited replica number 3 of another volume! - - The above problems combined to allow BlockingList to be -called with replicaNo = -1, which caused Linux/G++ & HP to dump core -on program exit. - - Modified Files: +------------------------------- +- In the Navigator location, the blocked Volume was not cleared when the + navigator descended several levels in the tree. This would allows the same + in another part of the tree to be wrongly blocked. +- In G4ParameterisedNavigation, the identity of the blocked Physical Volume + was not checked! You would block replica number 3 of your parameterised + volume although you exited replica number 3 of another volume! +- The above problems combined to allow BlockingList to be called with + replicaNo = -1, which caused Linux/G++ & HP to dump core on program exit. + Modified Files: G4Navigator.cc G4ParameterisedNavigation.cc +- An assignment used to be an equality check by mistake. + (Probably it was ok because it is redundant) + Modified Files: + G4VoxelNavigation.cc - An assignment used to be an equality check by mistake. (Probably it was ok -because it is redundant) - - Modified Files: - G4VoxelNavigation.cc - - -July 23rd, 98 John Apostolakis - - - June 26th, 98 John Apostolakis geometry-00-06-05 - - 1) Modified check in ComputeStep that pseudo-relocation is within safety: +------------------------------- +- 1) Modified check in ComputeStep that pseudo-relocation is within safety: i) no check is made is the move is within tolerance as it makes no sense - on a boundary it would cause a volume change (where there was none.) ii) the Navigator now stores the last safety it calculated (origin, value) and uses it for the calculation of this check. This eliminates problems with this check, that produced assertion failure in many example codes. - - 2) NavigationHistory equality operator modified for efficiency (with P.Urban) - - 3) G4Box Problem in DistanceToIn reporting intersection where there was +- 2) NavigationHistory equality operator modified for efficiency (with P.Urban) +- 3) G4Box Problem in DistanceToIn reporting intersection where there was none has been given a more complete solution (V.Grichine) G4Sphere Exception problem fixed. (V.Grichine) - June 20th, 98 John Apostolakis geometry-00-06-04 - - 1) I have added a check that any pseudo-relocation made between a - call to Locate (the true Relocation) and the next call to ComputeStep - (eg in a PostStepDoIt) is truly within safety. - - 2) The Navigator's ComputeStep method now always returns infinity, when it - does not limit the step - - 3) G4Tubs.cc: Fixed surface normal (in R) which was not a unit vector. - +------------------------------- +- 1) I have added a check that any pseudo-relocation made between a + call to Locate (the true Relocation) and the next call to ComputeStep + (eg in a PostStepDoIt) is truly within safety. +- 2) The Navigator's ComputeStep method now always returns infinity, when it + does not limit the step +- 3) G4Tubs.cc: Fixed surface normal (in R) which was not a unit vector. June 18th, 98 John Apostolakis - - In the Navigator: +------------------------------- +- In the Navigator: 1) Fix to allow lateral displacement (within safety) in PostStepDoIts - without messaging the Navigator. + without messaging the Navigator. 2) A first implementation of LocateGlobalPointWithinVolume - - A fix in NormalNavigation's Compute Step, to allow volumes that are "touched" - to be tagged as entered. (Ie, if the step is just long enough to arrive at - the surface of a volume, the navigator can still enter it quickly.) - +- A fix in NormalNavigation's Compute Step, to allow volumes that are "touched" + to be tagged as entered. (Ie, if the step is just long enough to arrive at + the surface of a volume, the navigator can still enter it quickly.) June 12th, 98 John Apostolakis (geometry-00-06-03) - - Candidate fix to BREP PCone, constructing Conical Surfaces using different +------------------------------- +- Candidate fix to BREP PCone, constructing Conical Surfaces using different starting point. - - Fix to ReplicaNavigation to temporarily patch "assertion" problem. - +- Fix to ReplicaNavigation to temporarily patch "assertion" problem. June 10th, 98 John Apostolakis (geometry-00-06-02) - - Added a new CSG Solid (G4Hype), a Hyperboloid by rotation - - Bug fix to G4Box::DistanceToIn (which reported intersection where there - was none). - Bug fix to G4FConicalSurface and G4ConicalSurface to fix G4BREPSolidPCone. - Correction to to DistanceToOut of BREPSolid to ensure compatibility with - convexity assumptions of Navigator - +------------------------------- +- Added a new CSG Solid (G4Hype), a Hyperboloid by rotation +- Bug fix to G4Box::DistanceToIn (which reported intersection where there + was none). +- Bug fix to G4FConicalSurface and G4ConicalSurface to fix G4BREPSolidPCone. + Correction to to DistanceToOut of BREPSolid to ensure compatibility with + convexity assumptions of Navigator June 8th, 98 John Apostolakis (geometry-00-06-01) - - Created a tag for BREPS at the last point before merge with Peter's Developments. - - Modified +------------------------------- +- Created a tag for BREPS at the last point before merge with Peter's + Developments. + Modified G4Navigator and G4NormalNavigation G4ParameterisedNavigation G4ReplicaNavigation G4VoxelNavigation - to add ComputeSafety methods. These make a quick estimation of the - safety and can/should be called for the final point of a step only. - + safety and can/should be called for the final point of a step only. June 3rd, 98 John Apostolakis - - G4Navigator: - - Added a new new method LocateGlobalPointWithinVolume that serves to notify +------------------------------- +- G4Navigator: + Added a new new method LocateGlobalPointWithinVolume that serves to notify the Navigator that a track has moved to the new Global point 'position'. This point must be known to be within the current volume, probably because it is withing safety. May 11th, 98 John Apostolakis - - G4PVPlacement: - - Implemented additional (4th) constructor that takes a pointer to a - logical mother volume and a G4Transform3D with the solid's rotation. - - Also added a data member to store whether a RotationMatrix was created. - This allows us to avoid a small memory leak in use of 2 constructors. +------------------------------- +- G4PVPlacement: + - Implemented additional (4th) constructor that takes a pointer to a + logical mother volume and a G4Transform3D with the solid's rotation. + - Also added a data member to store whether a RotationMatrix was created. + This allows us to avoid a small memory leak in use of 2 constructors. May 8th, 98 John Apostolakis +------------------------------- +- History files created in magneticfield directory for this category. + It will be used exclusively for the maintenance of information in + this category. Only what impacts its interaction with the geometry + (G4PropagatorInField) will be mentioned here. -- History files created in magneticfield directory for this category. - It will be used exclusively for the maintenance of information in - this category. Only what impacts its interaction with the geometry - (G4PropagatorInField) will be mentioned here. - -- History file has existed in solids/BREPS for slightly more detailed - changes in that sub-category. - +- History file has existed in solids/BREPS for slightly more detailed + changes in that sub-category. April 29th, 98 John Apostolakis (geometry-00-05-05) - -- A significant logical error in G4VoxelNavigation::LocateNextVoxel was +------------------------------- +- A significant logical error in G4VoxelNavigation::LocateNextVoxel was corrected: the search for the next voxel could ignore voxels at lower levels - -- Small changes for DEC in GNUmakefile in BREPS & STEP +- Small changes for DEC in GNUmakefile in BREPS & STEP * Removed -cfront option from GNUmakefile for DEC. -cfront overrides ANSI standard rules in cxx-6.0. * Cleaned up trivial warnings on DEC (Extraneous semicolons). - April 27th, 98 John Apostolakis (geometry-00-05-04) - +------------------------------- - Tagged April 24th, 98 Jari Sulkimo ( recorded by John Apostolakis here) +------------------------------- - Fixes in BREPs (see solids/BREP/History for details, by author) * fixed scope bugs in for loops * bug fixes to G4Assembly.cc for STEP file interaction & placed solids creation. April 23rd, 98 John Apostolakis (geometry-00-05-03) - +------------------------------- - Bug fixes to BREP code for Assembly level of STEP files - (introduced in alpha05) - + (introduced in alpha05) - Renamed file G4Point3d.hh to G4Point3d.h (because of problems on Windows NT in name clash with G4Point3D.hh). - April 22nd, 98 John Apostolakis (geom-05-02) +------------------------------- - Tagged. April 21st, 98 John Apostolakis (geometry-00-05-01) +------------------------------- - Added SetAllParameters methods to G4Torus and G4Para. - All CSG solids now inherit from the new abstract class G4CSGSolid, instead -of directly from G4VSolid. + of directly from G4VSolid. - "const G4double" arguments have been changed to "G4double" for CSG methods. April 21st, 98 John Allison +------------------------------- - Slightly relaxed tolerance in G4Trap (for g3tog4). - Corrected G4BREPSolidPolyhedra.cc for graphics_reps/G4Polyhedron. - Added void G4Trd::SetAllParameters. - Also relaxed check in G4Trd::CheckAndSetAllParameters (pdx1>=0, etc.) April 2, 98 G.Barrand +------------------------------- - STEP/dirobj.cc : #ifdef WIN32, do not compile opendir and closedir. March 24, 98 G.Barrand +------------------------------- - GNUmakefile : MAKESHLIB changed in G4MAKESHLIB March 13, 98 G.Cosmo (on behalf of S.Giani) - (geometry-00-04-05) - +------------------------------- - Added G4VPVParameterisation.cc including default implementations of ComputeSolid() and ComputeMaterial() missing previously (J.Apostolakis). - Included fixes for aCC compiler in BREPS and STEP (J.Sulkimo, G.Cosmo). - March 9, 98 J. Apostolakis - (geometry-00-04-04) - +------------------------------- - Small fix to G4BREPSolid.cc which was causing problems on HP-UX. (Deleted use of floating point modulo for integers, with Jari S.) - - G4Sphere: further small corrections. - March 5, 98 J. Apostolakis - (geometry-00-04-03) - +------------------------------- - Parameterised Volume can now VARY the TYPE of SOLID and/or Material - by copy number. PVParameterisation classes can now compute these. - The Navigator has been modified to compute solid and material, and - to set them in the associated logical volume - + by copy number. PVParameterisation classes can now compute these. + The Navigator has been modified to compute solid and material, and + to set them in the associated logical volume - Now able to process an extra level of STEP files, using new code in - BREPs (Jari Sulkimo). - + BREPs (Jari Sulkimo). - Further cleanup of code in BREP category (Peter Urban). - - Small modification in solids/STEP/GNUmakefile for Win/NT port (S. Sadilov). - March 4, 98 J. Apostolakis - (geometry-00-04-02) - +------------------------------- - G4Sphere: corrected tests of the phi angle and with tolerance checking -that compared squares of distances. - + that compared squares of distances. - The World volume can now be split into replicas. This not recommended, but -the Navigator is now able to handle it. - + the Navigator is now able to handle it. - Cleanup of code in BREP category (Peter Urban & Jari Sulkimo) - February 16, 98 J. Apostolakis - (geometry-00-04-01) - +------------------------------- - Replicas and parameterised physical-volumes now store the copy number of -their current copy. (It is valid only for physical volume in the hot tree). -Navigation routines were modified to enable this. - + their current copy. (It is valid only for physical volume in the hot tree). + Navigation routines were modified to enable this. February 4, 98 J. Apostolakis - (geometry-00-03-02) - +------------------------------- - A few small changes were made to the Magnetic Field classes. -This included one that allows it to work without repeatedly -issuing an unneccessary warning. - + This included one that allows it to work without repeatedly + issuing an unneccessary warning. - Small fixes to BREP and STEP parts help in fixing a problem -with True/false on some platforms. + with True/false on some platforms. January 28, 98 S. Sadilov +------------------------------- - Small modification in GNUmakefile for Win/NT port - January 26, 98 J. Apostolakis - (geometry-00-03-01) - -i) New implementation of G4NavigationHistory using G4NavigationLevel. -This implementation allows for very fast copying of G4NavigationHistory, -which is required in order to copy G4TouchableHistory. - -ii) Correction in G4ReplicaNavigation.cc in DistanceToOutPhi, influencing -replicas divided in phi. - +------------------------------- +- i) New implementation of G4NavigationHistory using G4NavigationLevel. + This implementation allows for very fast copying of G4NavigationHistory, + which is required in order to copy G4TouchableHistory. +- ii) Correction in G4ReplicaNavigation.cc in DistanceToOutPhi, influencing + replicas divided in phi. December 19, 97 G. Cosmo - (alpha03) - +------------------------------- - Created. diff --git a/source/geometry/biasing/CMakeLists.txt b/source/geometry/biasing/CMakeLists.txt new file mode 100644 index 0000000000..431d642bfe --- /dev/null +++ b/source/geometry/biasing/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4geombias +# Package: Geant4.src.G4geometry.G4geombias +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:40:38 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/geometry/biasing/GNUmakefile b/source/geometry/biasing/GNUmakefile index af2807ded9..51e55090ab 100644 --- a/source/geometry/biasing/GNUmakefile +++ b/source/geometry/biasing/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.4 2004/06/11 14:17:12 gcosmo Exp $ +# $Id: GNUmakefile,v 1.6 2010/10/27 07:34:32 gcosmo Exp $ # -------------------------------------------------------------------- # GNUmakefile for geometry/biasing library. Gabriele Cosmo, 25/03/02. # -------------------------------------------------------------------- diff --git a/source/geometry/biasing/History b/source/geometry/biasing/History index 4f84a36715..9e039d433c 100644 --- a/source/geometry/biasing/History +++ b/source/geometry/biasing/History @@ -1,4 +1,4 @@ -$Id: History,v 1.45 2007/11/09 15:22:38 ahoward Exp $ +$Id: History,v 1.47 2010/09/06 09:13:46 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,20 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +September 6th, 2010 G.Cosmo geombias-V09-03-01 + - Fixed false-positive cases of invalid iterator in G4IStore and + G4WeightWindowStore. + +July 2nd, 2010 G.Cosmo geombias-V09-03-00 + - G4IStore: corrected use of internal cell-importance iterator to avoid + invalidation in methods GetImportance(). + - Corrected mispelled name for GetLowerWeight() method in classes + G4WeightWindowStore and G4VWeightWindowStore. Fixed use of internal + cell-importance iterator in G4WeightWindowStore::GetLowerWeight() to + avoid cases of invalidation. + - Fixed initialization of data in copy-constructor for G4GeometryCell + and corrected mispelled name for data member pointer. + November 9th, 2007 A.Howard geombias-V09-00-01 - Revised search algorithm to Weight/UpperBound + 1. diff --git a/source/geometry/biasing/include/G4GeometryCell.hh b/source/geometry/biasing/include/G4GeometryCell.hh index 7767e5d860..855f3e393f 100644 --- a/source/geometry/biasing/include/G4GeometryCell.hh +++ b/source/geometry/biasing/include/G4GeometryCell.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GeometryCell.hh,v 1.6 2006/06/29 18:15:49 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4GeometryCell.hh,v 1.7 2010/07/02 09:36:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4GeometryCell @@ -68,8 +68,8 @@ public: // with description G4GeometryCell &operator=(const G4GeometryCell &rhs); private: - const G4VPhysicalVolume *fVPhysiclaVolume; - // pinter to the G4VPhysicalVolume of the "cell" + const G4VPhysicalVolume *fVPhysicalVolume; + // pointer to the G4VPhysicalVolume of the "cell" // it is treated as identifyer G4int fRepNum; diff --git a/source/geometry/biasing/include/G4VWeightWindowStore.hh b/source/geometry/biasing/include/G4VWeightWindowStore.hh index 9d19a9eef7..b37f3b2ace 100644 --- a/source/geometry/biasing/include/G4VWeightWindowStore.hh +++ b/source/geometry/biasing/include/G4VWeightWindowStore.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VWeightWindowStore.hh,v 1.3 2006/06/29 18:16:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VWeightWindowStore.hh,v 1.4 2010/07/02 09:36:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4VWeightWindowStore @@ -54,8 +54,8 @@ public: // with description G4VWeightWindowStore(); virtual ~G4VWeightWindowStore(); - virtual G4double GetLowerWeitgh(const G4GeometryCell &gCell, - G4double partEnergy) const = 0; + virtual G4double GetLowerWeight(const G4GeometryCell &gCell, + G4double partEnergy) const = 0; // derive a lower weight bound value of a "cell" addresed by a // G4GeometryCell and the coresponding energy from the store. diff --git a/source/geometry/biasing/include/G4WeightWindowStore.hh b/source/geometry/biasing/include/G4WeightWindowStore.hh index 5ea9840b62..ae9f7a0746 100644 --- a/source/geometry/biasing/include/G4WeightWindowStore.hh +++ b/source/geometry/biasing/include/G4WeightWindowStore.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4WeightWindowStore.hh,v 1.3 2006/06/29 18:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4WeightWindowStore.hh,v 1.4 2010/07/02 09:36:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4WeightWindowStore @@ -54,19 +54,19 @@ public: // with description explicit G4WeightWindowStore(const G4VPhysicalVolume &worldvolume); // initialise the weight window store for the given geometry - virtual ~G4WeightWindowStore(); - // destruct + ~G4WeightWindowStore(); + // destructor - virtual G4double GetLowerWeitgh(const G4GeometryCell &gCell, - G4double partEnergy) const; + G4double GetLowerWeight(const G4GeometryCell &gCell, + G4double partEnergy) const; // derive a lower weight bound value of a "cell" addresed by a // G4GeometryCell and the coresponding energy from the store. - virtual G4bool IsKnown(const G4GeometryCell &gCell) const; + G4bool IsKnown(const G4GeometryCell &gCell) const; // returns true if the gCell is in the store, else false - virtual const G4VPhysicalVolume &GetWorldVolume() const; + const G4VPhysicalVolume &GetWorldVolume() const; // return a reference to the wolrd volume of the // geometry diff --git a/source/geometry/biasing/sources.cmake b/source/geometry/biasing/sources.cmake new file mode 100644 index 0000000000..3dc3ea8ecc --- /dev/null +++ b/source/geometry/biasing/sources.cmake @@ -0,0 +1,95 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4geombias +# Package: Geant4.src.G4geometry.G4geombias +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:40:46 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4geombias + HEADERS + G4GeometryCell.hh + G4GeometryCellComp.hh + G4GeometryCellImportance.hh + G4GeometryCellStep.hh + G4GeometryCellStepStream.hh + G4GeometryCellWeight.hh + G4IStore.hh + G4ImportanceAlgorithm.hh + G4Nsplit_Weight.hh + G4VCellScorer.hh + G4VCellScorerStore.hh + G4VGCellFinder.hh + G4VIStore.hh + G4VImportanceAlgorithm.hh + G4VImportanceSplitExaminer.hh + G4VWeightWindowAlgorithm.hh + G4VWeightWindowStore.hh + G4WeightWindowAlgorithm.hh + G4WeightWindowStore.hh + SOURCES + G4GeometryCell.cc + G4GeometryCellComp.cc + G4GeometryCellImportance.cc + G4GeometryCellStep.cc + G4GeometryCellStepStream.cc + G4IStore.cc + G4ImportanceAlgorithm.cc + G4Nsplit_Weight.cc + G4VCellScorer.cc + G4VCellScorerStore.cc + G4VGCellFinder.cc + G4VIStore.cc + G4VImportanceAlgorithm.cc + G4VImportanceSplitExaminer.cc + G4VWeightWindowAlgorithm.cc + G4VWeightWindowStore.cc + G4WeightWindowAlgorithm.cc + G4WeightWindowStore.cc + GRANULAR_DEPENDENCIES + G4csg + G4geometrymng + G4globman + G4graphics_reps + G4intercoms + G4materials + G4navigation + G4volumes + GLOBAL_DEPENDENCIES + G4global + G4graphics_reps + G4intercoms + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/geometry/biasing/src/G4GeometryCell.cc b/source/geometry/biasing/src/G4GeometryCell.cc index bdd8d5a46e..decbabfb50 100644 --- a/source/geometry/biasing/src/G4GeometryCell.cc +++ b/source/geometry/biasing/src/G4GeometryCell.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GeometryCell.cc,v 1.6 2006/06/29 18:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4GeometryCell.cc,v 1.7 2010/07/02 09:36:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -35,11 +35,10 @@ // ---------------------------------------------------------------------- #include "G4GeometryCell.hh" -//#include "G4VPhysicalVolume.hh" G4GeometryCell::G4GeometryCell(const G4VPhysicalVolume &aVolume, - G4int RepNum) - : fVPhysiclaVolume(&aVolume), + G4int RepNum) + : fVPhysicalVolume(&aVolume), fRepNum(RepNum) {} @@ -49,7 +48,7 @@ G4GeometryCell::~G4GeometryCell() const G4VPhysicalVolume &G4GeometryCell::GetPhysicalVolume() const { - return *fVPhysiclaVolume; + return *fVPhysicalVolume; } G4int G4GeometryCell::GetReplicaNumber() const @@ -58,14 +57,16 @@ G4int G4GeometryCell::GetReplicaNumber() const } -G4GeometryCell::G4GeometryCell(const G4GeometryCell &rhs){ - *this = rhs; +G4GeometryCell::G4GeometryCell(const G4GeometryCell &rhs) + : fVPhysicalVolume(rhs.fVPhysicalVolume), + fRepNum(rhs.fRepNum) +{ } G4GeometryCell &G4GeometryCell::operator=(const G4GeometryCell &rhs){ if (this != &rhs) { - fVPhysiclaVolume = rhs.fVPhysiclaVolume; // this is treated - // as identifyer + fVPhysicalVolume = rhs.fVPhysicalVolume; // this is treated + // as identifyer fRepNum = rhs.fRepNum; } return *this; diff --git a/source/geometry/biasing/src/G4IStore.cc b/source/geometry/biasing/src/G4IStore.cc index 6dc5f09d68..97af2f48a5 100644 --- a/source/geometry/biasing/src/G4IStore.cc +++ b/source/geometry/biasing/src/G4IStore.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IStore.cc,v 1.14 2006/06/29 18:17:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4IStore.cc,v 1.16 2010/09/06 09:13:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -106,8 +106,10 @@ G4double G4IStore::GetImportance(const G4VPhysicalVolume &aVolume, G4int aRepNum) const { SetInternalIterator(G4GeometryCell(aVolume, aRepNum)); - if (fCurrentIterator==fGeometryCelli.end()) { + G4GeometryCellImportance::const_iterator gCellIterator = fCurrentIterator; + if (gCellIterator==fGeometryCelli.end()) { Error("GetImportance: Region does not exist"); + return 0.; } return (*fCurrentIterator).second; } @@ -116,11 +118,13 @@ G4double G4IStore::GetImportance(const G4VPhysicalVolume &aVolume, G4double G4IStore::GetImportance(const G4GeometryCell &gCell) const { SetInternalIterator(gCell); - if (fCurrentIterator==fGeometryCelli.end()) { + G4GeometryCellImportance::const_iterator gCellIterator = fCurrentIterator; + if (gCellIterator==fGeometryCelli.end()) { G4cout << "PGeometryCell gCell: " << gCell << G4endl; G4cout << "Not found in: " << G4endl; G4cout << fGeometryCelli << G4endl; Error("GetImportance(gCell): Region does not exist"); + return 0.; } return (*fCurrentIterator).second; } diff --git a/source/geometry/biasing/src/G4WeightWindowStore.cc b/source/geometry/biasing/src/G4WeightWindowStore.cc index 6b7074ca41..4ab2c898fc 100644 --- a/source/geometry/biasing/src/G4WeightWindowStore.cc +++ b/source/geometry/biasing/src/G4WeightWindowStore.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4WeightWindowStore.cc,v 1.5 2006/06/29 18:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4WeightWindowStore.cc,v 1.7 2010/09/06 09:13:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -53,12 +53,14 @@ G4WeightWindowStore::~G4WeightWindowStore() {} -G4double G4WeightWindowStore::GetLowerWeitgh(const G4GeometryCell &gCell, - G4double partEnergy) const +G4double G4WeightWindowStore::GetLowerWeight(const G4GeometryCell &gCell, + G4double partEnergy) const { SetInternalIterator(gCell); - if (fCurrentIterator == fCellToUpEnBoundLoWePairsMap.end()) { + G4GeometryCellWeight::const_iterator gCellIterator = fCurrentIterator; + if (gCellIterator == fCellToUpEnBoundLoWePairsMap.end()) { Error("GetLowerWitgh: Cell does not exist"); + return 0.; } G4UpperEnergyToLowerWeightMap upEnLoWeiPairs = fCurrentIterator->second; diff --git a/source/geometry/divisions/CMakeLists.txt b/source/geometry/divisions/CMakeLists.txt new file mode 100644 index 0000000000..370e6c9d13 --- /dev/null +++ b/source/geometry/divisions/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4geomdivision +# Package: Geant4.src.G4geometry.G4geomdivision +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:40:54 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/geometry/divisions/GNUmakefile b/source/geometry/divisions/GNUmakefile index 04f39ae45b..24b9dccf32 100644 --- a/source/geometry/divisions/GNUmakefile +++ b/source/geometry/divisions/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.4 2004/06/11 14:17:13 gcosmo Exp $ +# $Id: GNUmakefile,v 1.6 2010/10/27 07:34:32 gcosmo Exp $ # ---------------------------------------------------------------------- # GNUmakefile for geometry/divisions library. Gabriele Cosmo, 16/06/03. # ---------------------------------------------------------------------- diff --git a/source/geometry/divisions/History b/source/geometry/divisions/History index cdbb84fea7..e84b9d2297 100644 --- a/source/geometry/divisions/History +++ b/source/geometry/divisions/History @@ -1,4 +1,4 @@ -$Id: History,v 1.31 2009/05/20 08:55:23 gcosmo Exp $ +$Id: History,v 1.35 2010/11/10 09:16:33 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,25 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November, 9th, 2010 M.Asai (geomdiv-V09-03-02) +- Introducing G4ReplicatedSlice, allowing for gaps in between divided daughter + volumes. + +September, 6th, 2010 G.Cosmo (geomdiv-V09-03-01) +- Removed obvious else statement in constructors of G4PVDivision. + +July, 2nd, 2010 G.Cosmo (geomdiv-V09-03-00) +- Improved logic in G4PVDivision constructors and in method + G4PVDivisionFactory::CreatePVDivision() in case of invalid construct. +- Properly initialise Boolean flag 'bDivInTrap' in G4VParameterisationTrd + constructor. +- G4ParameterisationTrd: disabled unreachable error message in method + G4ParameterisationTrdX::CheckParametersValidity(). +- Removed uninitialised member in G4ParameterisationTrdX and correction in + method ComputeSolid(). +- Get rid of unnecessary virtual specification for leaf classes in the + hierarchy... + 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 diff --git a/source/geometry/divisions/include/G4ParameterisationBox.hh b/source/geometry/divisions/include/G4ParameterisationBox.hh index 90d6e15bd3..968e248cf3 100644 --- a/source/geometry/divisions/include/G4ParameterisationBox.hh +++ b/source/geometry/divisions/include/G4ParameterisationBox.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationBox.hh,v 1.6 2006/06/29 18:18:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationBox.hh,v 1.7 2010/07/02 10:46:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // classes G4ParameterisationBoxX, // G4ParameterisationBoxY, @@ -50,6 +50,7 @@ class G4VSolid; class G4VPhysicalVolume; // Dummy declarations to get rid of warnings ... +// class G4Cons; class G4Trd; class G4Sphere; @@ -79,13 +80,12 @@ class G4ParameterisationBoxX : public G4VParameterisationBox G4ParameterisationBoxX( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* msolid, DivisionType divType ); - - virtual ~G4ParameterisationBoxX(); + ~G4ParameterisationBoxX(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions(G4Box& box, const G4int copyNo, const G4VPhysicalVolume* physVol) const; @@ -122,12 +122,12 @@ class G4ParameterisationBoxY : public G4VParameterisationBox G4ParameterisationBoxY( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* msolid, DivisionType divType ); - virtual ~G4ParameterisationBoxY(); + ~G4ParameterisationBoxY(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions(G4Box& box, const G4int copyNo, const G4VPhysicalVolume* physVol) const; @@ -165,12 +165,12 @@ class G4ParameterisationBoxZ : public G4VParameterisationBox G4ParameterisationBoxZ( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* msolid, DivisionType divType ); - virtual ~G4ParameterisationBoxZ(); + ~G4ParameterisationBoxZ(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions(G4Box& box, const G4int copyNo, const G4VPhysicalVolume* physVol) const; diff --git a/source/geometry/divisions/include/G4ParameterisationCons.hh b/source/geometry/divisions/include/G4ParameterisationCons.hh index 4ba777670f..54ba21858b 100644 --- a/source/geometry/divisions/include/G4ParameterisationCons.hh +++ b/source/geometry/divisions/include/G4ParameterisationCons.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationCons.hh,v 1.6 2006/06/29 18:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationCons.hh,v 1.7 2010/07/02 10:46:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // classes G4ParameterisationConsRho, // G4ParameterisationConsPhi, @@ -50,6 +50,7 @@ class G4VSolid; class G4VPhysicalVolume; // Dummy declarations to get rid of warnings ... +// class G4Trd; class G4Trap; class G4Box; @@ -80,12 +81,12 @@ class G4ParameterisationConsRho : public G4VParameterisationCons G4ParameterisationConsRho( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationConsRho(); + ~G4ParameterisationConsRho(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions( G4Cons& tubs, const G4int copyNo, const G4VPhysicalVolume* physVol) const; @@ -122,12 +123,12 @@ class G4ParameterisationConsPhi : public G4VParameterisationCons G4ParameterisationConsPhi( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationConsPhi(); + ~G4ParameterisationConsPhi(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions( G4Cons& tubs, const G4int copyNo, const G4VPhysicalVolume* physVol ) const; @@ -164,12 +165,12 @@ class G4ParameterisationConsZ : public G4VParameterisationCons G4ParameterisationConsZ( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationConsZ(); + ~G4ParameterisationConsZ(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions( G4Cons& tubs, const G4int copyNo, const G4VPhysicalVolume* physVol ) const; diff --git a/source/geometry/divisions/include/G4ParameterisationPara.hh b/source/geometry/divisions/include/G4ParameterisationPara.hh index c49dc0ef18..1b8b586af0 100644 --- a/source/geometry/divisions/include/G4ParameterisationPara.hh +++ b/source/geometry/divisions/include/G4ParameterisationPara.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationPara.hh,v 1.7 2006/06/29 18:18:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationPara.hh,v 1.8 2010/07/02 10:46:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // classes G4ParameterisationParaX, // G4ParameterisationParaY, @@ -48,7 +48,9 @@ class G4VSolid; class G4VPhysicalVolume; + // Dummy declarations to get rid of warnings ... +// class G4Cons; class G4Cons; class G4Sphere; @@ -78,12 +80,12 @@ class G4ParameterisationParaX : public G4VParameterisationPara G4ParameterisationParaX( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* msolid, DivisionType divType ); - virtual ~G4ParameterisationParaX(); + ~G4ParameterisationParaX(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions(G4Para& para, const G4int copyNo, const G4VPhysicalVolume* pv) const; @@ -122,12 +124,12 @@ class G4ParameterisationParaY : public G4VParameterisationPara G4ParameterisationParaY( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* msolid, DivisionType divType ); - virtual ~G4ParameterisationParaY(); + ~G4ParameterisationParaY(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions(G4Para& para, const G4int copyNo, const G4VPhysicalVolume* pv) const; @@ -166,12 +168,12 @@ class G4ParameterisationParaZ : public G4VParameterisationPara G4ParameterisationParaZ( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* msolid, DivisionType divType ); - virtual ~G4ParameterisationParaZ(); + ~G4ParameterisationParaZ(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions(G4Para& para, const G4int copyNo, const G4VPhysicalVolume* pv) const; diff --git a/source/geometry/divisions/include/G4ParameterisationPolycone.hh b/source/geometry/divisions/include/G4ParameterisationPolycone.hh index bc331b694d..47f68476f7 100644 --- a/source/geometry/divisions/include/G4ParameterisationPolycone.hh +++ b/source/geometry/divisions/include/G4ParameterisationPolycone.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationPolycone.hh,v 1.8 2009/05/14 14:19:32 ivana Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ParameterisationPolycone.hh,v 1.9 2010/07/02 10:46:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // classes G4ParameterisationPolyconeRho, // G4ParameterisationPolyconePhi, @@ -50,6 +50,7 @@ class G4VPhysicalVolume; // Dummy declarations to get rid of warnings ... +// class G4Trd; class G4Trap; class G4Cons; @@ -84,14 +85,14 @@ class G4ParameterisationPolyconeRho : public G4VParameterisationPolycone G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationPolyconeRho(); + ~G4ParameterisationPolyconeRho(); - virtual void CheckParametersValidity(); + void CheckParametersValidity(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions( G4Polycone& pcone, const G4int copyNo, const G4VPhysicalVolume* physVol ) const; @@ -133,12 +134,12 @@ class G4ParameterisationPolyconePhi : public G4VParameterisationPolycone G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationPolyconePhi(); + ~G4ParameterisationPolyconePhi(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions( G4Polycone& pcone, const G4int copyNo, const G4VPhysicalVolume* physVol ) const; @@ -180,25 +181,24 @@ class G4ParameterisationPolyconeZ : public G4VParameterisationPolycone G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationPolyconeZ(); + ~G4ParameterisationPolyconeZ(); - virtual void CheckParametersValidity(); + void CheckParametersValidity(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions( G4Polycone& pcone, const G4int copyNo, const G4VPhysicalVolume* physVol ) const; - private: - G4double GetR(G4double z, G4double z1, G4double r1, G4double z2, G4double r2) const; + 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, @@ -223,6 +223,10 @@ class G4ParameterisationPolyconeZ : public G4VParameterisationPolycone const G4VPhysicalVolume*) const {} void ComputeDimensions (G4Polyhedra&,const G4int, const G4VPhysicalVolume*) const {} + private: + + G4int fNSegment; + G4PolyconeHistorical* fOrigParamMother; }; #endif diff --git a/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh b/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh index 31997cfeb1..52ae95a908 100644 --- a/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh +++ b/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationPolyhedra.hh,v 1.9 2009/05/14 14:19:32 ivana Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ParameterisationPolyhedra.hh,v 1.10 2010/07/02 10:46:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // classes G4ParameterisationPolyhedraRho, // G4ParameterisationPolyhedraPhi, @@ -50,6 +50,7 @@ class G4VPhysicalVolume; // Dummy declarations to get rid of warnings ... +// class G4Trd; class G4Trap; class G4Cons; @@ -90,14 +91,14 @@ class G4ParameterisationPolyhedraRho : public G4VParameterisationPolyhedra G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationPolyhedraRho(); + ~G4ParameterisationPolyhedraRho(); - virtual void CheckParametersValidity(); + void CheckParametersValidity(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions( G4Polyhedra& phedra, const G4int copyNo, const G4VPhysicalVolume* physVol ) const; @@ -139,14 +140,14 @@ class G4ParameterisationPolyhedraPhi : public G4VParameterisationPolyhedra G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationPolyhedraPhi(); + ~G4ParameterisationPolyhedraPhi(); - virtual void CheckParametersValidity(); + void CheckParametersValidity(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions( G4Polyhedra& phedra, const G4int copyNo, const G4VPhysicalVolume* physVol ) const; @@ -188,25 +189,24 @@ class G4ParameterisationPolyhedraZ : public G4VParameterisationPolyhedra G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationPolyhedraZ(); + ~G4ParameterisationPolyhedraZ(); - virtual void CheckParametersValidity(); + void CheckParametersValidity(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation( const G4int copyNo, - G4VPhysicalVolume* physVol ) const; + void ComputeTransformation( const G4int copyNo, + G4VPhysicalVolume* physVol ) const; void ComputeDimensions( G4Polyhedra& phedra, const G4int copyNo, const G4VPhysicalVolume* physVol ) const; - private: - G4double GetR(G4double z, G4double z1, G4double r1, G4double z2, G4double r2) const; + 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 {} @@ -230,6 +230,10 @@ class G4ParameterisationPolyhedraZ : public G4VParameterisationPolyhedra const G4VPhysicalVolume*) const {} void ComputeDimensions (G4Polycone&,const G4int, const G4VPhysicalVolume*) const {} + private: + + G4int fNSegment; + G4PolyhedraHistorical* fOrigParamMother; }; #endif diff --git a/source/geometry/divisions/include/G4ParameterisationTrd.hh b/source/geometry/divisions/include/G4ParameterisationTrd.hh index 3999717cdb..6d42e62e79 100644 --- a/source/geometry/divisions/include/G4ParameterisationTrd.hh +++ b/source/geometry/divisions/include/G4ParameterisationTrd.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationTrd.hh,v 1.8 2008/12/03 16:48:48 arce Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationTrd.hh,v 1.9 2010/07/02 10:46:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // classes G4ParameterisationTrdX // G4ParameterisationTrdY @@ -44,12 +44,15 @@ #ifndef G4ParameterisationTrd_H #define G4ParameterisationTrd_H 1 +#include + #include "G4VDivisionParameterisation.hh" #include "G4VSolid.hh" class G4VPhysicalVolume; // Dummy declarations to get rid of warnings ... +// class G4Cons; class G4Box; class G4Sphere; @@ -60,7 +63,6 @@ class G4Hype; class G4Tubs; class G4Polycone; class G4Polyhedra; -#include class G4VParameterisationTrd : public G4VDivisionParameterisation { @@ -72,9 +74,9 @@ class G4VParameterisationTrd : public G4VDivisionParameterisation virtual ~G4VParameterisationTrd(); + protected: -protected: - G4bool bDivInTrap; + G4bool bDivInTrap; }; class G4ParameterisationTrdX : public G4VParameterisationTrd @@ -84,22 +86,22 @@ class G4ParameterisationTrdX : public G4VParameterisationTrd G4ParameterisationTrdX( EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationTrdX(); + ~G4ParameterisationTrdX(); - virtual void CheckParametersValidity(); + void CheckParametersValidity(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation(const G4int copyNo, - G4VPhysicalVolume* physVol) const; + void ComputeTransformation(const G4int copyNo, + G4VPhysicalVolume* physVol) const; - virtual void ComputeDimensions(G4Trd& trd, const G4int copyNo, + void ComputeDimensions(G4Trd& trd, const G4int copyNo, const G4VPhysicalVolume* pv) const; - virtual void ComputeDimensions(G4Trap& trd, const G4int copyNo, + void ComputeDimensions(G4Trap& trd, const G4int copyNo, const G4VPhysicalVolume* pv) const; - virtual G4VSolid* ComputeSolid(const G4int, G4VPhysicalVolume *); + G4VSolid* ComputeSolid(const G4int, G4VPhysicalVolume *); private: // Dummy declarations to get rid of warnings ... @@ -125,8 +127,7 @@ class G4ParameterisationTrdX : public G4VParameterisationTrd void ComputeDimensions (G4Polyhedra&,const G4int, const G4VPhysicalVolume*) const {} - void ComputeTrapParams(); - G4Trap* theTrap; + void ComputeTrapParams(); }; @@ -137,14 +138,14 @@ class G4ParameterisationTrdY : public G4VParameterisationTrd G4ParameterisationTrdY( EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationTrdY(); + ~G4ParameterisationTrdY(); - virtual void CheckParametersValidity(); + void CheckParametersValidity(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation(const G4int copyNo, - G4VPhysicalVolume *physVol) const; + void ComputeTransformation(const G4int copyNo, + G4VPhysicalVolume *physVol) const; void ComputeDimensions(G4Trd& trd, const G4int copyNo, const G4VPhysicalVolume* pv) const; @@ -183,12 +184,12 @@ class G4ParameterisationTrdZ : public G4VParameterisationTrd G4ParameterisationTrdZ( EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationTrdZ(); + ~G4ParameterisationTrdZ(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation(const G4int copyNo, - G4VPhysicalVolume* physVol) const; + void ComputeTransformation(const G4int copyNo, + G4VPhysicalVolume* physVol) const; void ComputeDimensions(G4Trd& trd, const G4int copyNo, const G4VPhysicalVolume* pv) const; diff --git a/source/geometry/divisions/include/G4ParameterisationTubs.hh b/source/geometry/divisions/include/G4ParameterisationTubs.hh index c08485a145..54bf3a4642 100644 --- a/source/geometry/divisions/include/G4ParameterisationTubs.hh +++ b/source/geometry/divisions/include/G4ParameterisationTubs.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationTubs.hh,v 1.6 2006/06/29 18:18:24 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationTubs.hh,v 1.7 2010/07/02 10:46:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // classes G4ParameterisationTubsRho // G4ParameterisationTubsPhi @@ -49,6 +49,7 @@ class G4VPhysicalVolume; // Dummy declarations to get rid of warnings ... +// class G4Trd; class G4Trap; class G4Cons; @@ -78,12 +79,12 @@ class G4ParameterisationTubsRho : public G4VParameterisationTubs G4ParameterisationTubsRho( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationTubsRho(); + ~G4ParameterisationTubsRho(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation(const G4int copyNo, - G4VPhysicalVolume* physVol) const; + void ComputeTransformation(const G4int copyNo, + G4VPhysicalVolume* physVol) const; void ComputeDimensions(G4Tubs& tubs, const G4int copyNo, const G4VPhysicalVolume* physVol) const; @@ -121,12 +122,12 @@ class G4ParameterisationTubsPhi : public G4VParameterisationTubs G4ParameterisationTubsPhi( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationTubsPhi(); + ~G4ParameterisationTubsPhi(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation(const G4int copyNo, - G4VPhysicalVolume* physVol) const; + void ComputeTransformation(const G4int copyNo, + G4VPhysicalVolume* physVol) const; void ComputeDimensions(G4Tubs& tubs, const G4int copyNo, const G4VPhysicalVolume* physVol) const; @@ -164,12 +165,12 @@ class G4ParameterisationTubsZ : public G4VParameterisationTubs G4ParameterisationTubsZ( EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid* motherSolid, DivisionType divType ); - virtual ~G4ParameterisationTubsZ(); + ~G4ParameterisationTubsZ(); - virtual G4double GetMaxParameter() const; + G4double GetMaxParameter() const; - virtual void ComputeTransformation(const G4int copyNo, - G4VPhysicalVolume* physVol) const; + void ComputeTransformation(const G4int copyNo, + G4VPhysicalVolume* physVol) const; void ComputeDimensions(G4Tubs& tubs, const G4int copyNo, const G4VPhysicalVolume* physVol) const; diff --git a/source/geometry/divisions/include/G4ReplicatedSlice.hh b/source/geometry/divisions/include/G4ReplicatedSlice.hh new file mode 100644 index 0000000000..3adf6a54f5 --- /dev/null +++ b/source/geometry/divisions/include/G4ReplicatedSlice.hh @@ -0,0 +1,195 @@ +// +// ******************************************************************** +// * 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: G4ReplicatedSlice.hh,v 1.2 2010/11/10 09:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// class G4ReplicatedSlice +// +// Class description: +// +// G4ReplicatedSlice represents many touchable detector elements differing +// only in their positioning. The elements' positions are calculated by means +// of a simple linear formula. +// +// Division may occur along: +// +// o Cartesian axes (kXAxis,kYAxis,kZAxis) +// +// The divisions, of specified width have coordinates of +// form (-width*(nReplicas-1)*0.5+n*width,0,0) where n=0.. nReplicas-1 +// for the case of kXAxis, and are unrotated. +// +// o Radial axis (cylindrical polar) (kRho) +// +// The divisions are cons/tubs sections, centred on the origin +// and are unrotated. +// They have radii of width*n+offset to width*(n+1)+offset +// where n=0..nReplicas-1 +// +// o Phi axis (cylindrical polar) (kPhi) +// The divisions are `phi sections' or wedges, and of cons/tubs form +// They have phi of offset+n*width to offset+(n+1)*width where +// n=0..nReplicas-1 + +// History: +// ------- +// Apr/20/2010 - Initial version extended from G4PVDivision +// ---------------------------------------------------------------------- +#ifndef G4ReplicatedSlice_HH +#define G4ReplicatedSlice_HH 1 + +#include "geomdefs.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VDivisionParameterisation.hh" + +class G4LogicalVolume; +class G4VSolid; + +class G4ReplicatedSlice : public G4VPhysicalVolume +{ + public: // with description + + G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4LogicalVolume* pMotherLogical, + const EAxis pAxis, + const G4int nReplicas, + const G4double width, + const G4double half_gap, + const G4double offset ); + // Constructor with number of divisions and width + + G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4LogicalVolume* pMotherLogical, + const EAxis pAxis, + const G4int nReplicas, + const G4double half_gap, + const G4double offset ); + // Constructor with number of divisions + + G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4LogicalVolume* pMotherLogical, + const EAxis pAxis, + const G4double width, + const G4double half_gap, + const G4double offset ); + // Constructor with width + + public: // without description + + G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4VPhysicalVolume* pMotherPhysical, + const EAxis pAxis, + const G4int nReplicas, + const G4double width, + const G4double half_gap, + const G4double offset); + // Constructor in mother physical volume + + G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4VPhysicalVolume* pMotherPhysical, + const EAxis pAxis, + const G4int nReplicas, + const G4double half_gap, + const G4double offset ); + // Constructor with number of divisions + + G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4VPhysicalVolume* pMotherPhysical, + const EAxis pAxis, + const G4double width, + const G4double half_gap, + const G4double offset ); + // Constructor with width + + public: // with description + + virtual ~G4ReplicatedSlice(); + + virtual G4bool IsMany() const; + virtual G4int GetCopyNo() const; + virtual void SetCopyNo(G4int CopyNo); + virtual G4bool IsReplicated() const; + virtual G4VPVParameterisation* GetParameterisation() const; + virtual void GetReplicationData( EAxis& axis, + G4int& nReplicas, + G4double& width, + G4double& offset, + G4bool& consuming ) const; + EAxis GetDivisionAxis() const; + G4bool IsParameterised() const; + + public: // without description + + G4bool IsRegularStructure() const; + G4int GetRegularStructureId() const; + // Methods to identify volume that can apply 'regular' navigation. + // Currently divisions do not qualify for this. + + private: + + void CheckAndSetParameters( const EAxis pAxis, + const G4int nDivs, + const G4double width, + const G4double half_gap, + const G4double offset, + DivisionType divType, + G4LogicalVolume* pMotherLogical, + const G4LogicalVolume* pLogical ); + + void SetParameterisation( G4LogicalVolume* motherLogical, + const EAxis pAxis, + const G4int nReplicas, + const G4double width, + const G4double half_gap, + const G4double offset, + DivisionType divType ); + + void ErrorInAxis( EAxis axis, G4VSolid* solid ); + + private: + + G4ReplicatedSlice(const G4ReplicatedSlice&); + const G4ReplicatedSlice& operator=(const G4ReplicatedSlice&); + // Private copy constructor and assignment operator. + + protected: + + EAxis faxis; // axis of optimisation + EAxis fdivAxis; // axis of division + G4int fnReplicas; + G4double fwidth,foffset; + G4int fcopyNo; + G4VDivisionParameterisation *fparam; +}; + +#endif diff --git a/source/geometry/divisions/include/G4VDivisionParameterisation.hh b/source/geometry/divisions/include/G4VDivisionParameterisation.hh index 87043e00c9..44d8ab3b0b 100644 --- a/source/geometry/divisions/include/G4VDivisionParameterisation.hh +++ b/source/geometry/divisions/include/G4VDivisionParameterisation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VDivisionParameterisation.hh,v 1.11 2007/05/11 13:26:26 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VDivisionParameterisation.hh,v 1.13 2010/11/10 09:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4VDivisionParameterisation // @@ -38,6 +38,7 @@ // ------- // 09.05.01 - P.Arce, Initial version // 08.04.04 - I.Hrivnacova, Implemented reflection +// 21.04.10 - M.Asai, Added gaps //--------------------------------------------------------------------- #ifndef G4VDivisionParameterisation_H #define G4VDivisionParameterisation_H 1 @@ -73,7 +74,9 @@ class G4VDivisionParameterisation : public G4VPVParameterisation inline G4VSolid* GetMotherSolid() const; inline void SetType(const G4String& type); inline G4int VolumeFirstCopyNo() const; - + inline void SetHalfGap(G4double hg); + inline G4double GetHalfGap() const; + protected: // with description void ChangeRotMatrix( G4VPhysicalVolume* physVol, @@ -106,6 +109,8 @@ class G4VDivisionParameterisation : public G4VPVParameterisation G4int theVoluFirstCopyNo; G4double kCarTolerance; + + G4double fhgap; }; #include "G4VDivisionParameterisation.icc" diff --git a/source/geometry/divisions/include/G4VDivisionParameterisation.icc b/source/geometry/divisions/include/G4VDivisionParameterisation.icc index ba6637d185..b5a4333d94 100644 --- a/source/geometry/divisions/include/G4VDivisionParameterisation.icc +++ b/source/geometry/divisions/include/G4VDivisionParameterisation.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VDivisionParameterisation.icc,v 1.4 2006/06/29 18:18:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VDivisionParameterisation.icc,v 1.5 2010/11/10 09:15:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4VDivisionParameterisation Inline Implementation file // @@ -78,3 +78,15 @@ G4int G4VDivisionParameterisation::VolumeFirstCopyNo() const { return theVoluFirstCopyNo; } + +inline +void G4VDivisionParameterisation::SetHalfGap(G4double hg) +{ + fhgap = hg; +} + +inline +G4double G4VDivisionParameterisation::GetHalfGap() const +{ + return fhgap; +} diff --git a/source/geometry/divisions/sources.cmake b/source/geometry/divisions/sources.cmake new file mode 100644 index 0000000000..a6326d8b0a --- /dev/null +++ b/source/geometry/divisions/sources.cmake @@ -0,0 +1,69 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4geomdivision +# Package: Geant4.src.G4geometry.G4geomdivision +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/11/10 11:27:53 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4geomdivision + HEADERS + G4PVDivision.hh + G4PVDivisionFactory.hh + G4ParameterisationBox.hh + G4ParameterisationCons.hh + G4ParameterisationPara.hh + G4ParameterisationPolycone.hh + G4ParameterisationPolyhedra.hh + G4ParameterisationTrd.hh + G4ParameterisationTubs.hh + G4ReplicatedSlice.hh + G4VDivisionParameterisation.hh + G4VDivisionParameterisation.icc + SOURCES + G4PVDivision.cc + G4PVDivisionFactory.cc + G4ParameterisationBox.cc + G4ParameterisationCons.cc + G4ParameterisationPara.cc + G4ParameterisationPolycone.cc + G4ParameterisationPolyhedra.cc + G4ParameterisationTrd.cc + G4ParameterisationTubs.cc + G4ReplicatedSlice.cc + G4VDivisionParameterisation.cc + GRANULAR_DEPENDENCIES + G4csg + G4geometrymng + G4globman + G4specsolids + GLOBAL_DEPENDENCIES + G4global + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/geometry/divisions/src/G4PVDivision.cc b/source/geometry/divisions/src/G4PVDivision.cc index 294fe15aad..63d6cfd66f 100644 --- a/source/geometry/divisions/src/G4PVDivision.cc +++ b/source/geometry/divisions/src/G4PVDivision.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PVDivision.cc,v 1.22 2008/12/03 16:41:45 arce Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PVDivision.cc,v 1.24 2010/09/06 09:28:24 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4PVDivision Implementation file // @@ -61,11 +61,11 @@ G4PVDivision::G4PVDivision(const G4String& pName, "NULL pointer specified as mother,\n for volume: " + pName; G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup", FatalException, message_1); + return; } if (pLogical == pMotherLogical) { - G4String message_2 = - "Cannot place a volume inside itself! Volume: " + pName; + G4String message_2 = "Cannot place a volume inside itself! Volume: "+ pName; G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup", FatalException, message_2); } @@ -89,15 +89,14 @@ G4PVDivision::G4PVDivision(const G4String& pName, { if (!pMotherLogical) { - G4String message_1 = - "NULL pointer specified as mother! Volume: " + pName; + G4String message_1 = "NULL pointer specified as mother! Volume: " + pName; G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup", FatalException, message_1); + return; } if (pLogical == pMotherLogical) { - G4String message_2 = - "Cannot place a volume inside itself! Volume: " + pName; + G4String message_2 = "Cannot place a volume inside itself! Volume: "+ pName; G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup", FatalException, message_2); } @@ -119,15 +118,14 @@ G4PVDivision::G4PVDivision(const G4String& pName, { if (!pMotherLogical) { - G4String message_1 = - "NULL pointer specified as mother! Volume: " + pName; + G4String message_1 = "NULL pointer specified as mother! Volume: " + pName; G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup", FatalException, message_1); + return; } if (pLogical == pMotherLogical) { - G4String message_2 = - "Cannot place a volume inside itself! Volume: " + pName; + G4String message_2 = "Cannot place a volume inside itself! Volume: "+ pName; G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup", FatalException, message_2); } diff --git a/source/geometry/divisions/src/G4PVDivisionFactory.cc b/source/geometry/divisions/src/G4PVDivisionFactory.cc index a83fcc948a..75e55460ff 100644 --- a/source/geometry/divisions/src/G4PVDivisionFactory.cc +++ b/source/geometry/divisions/src/G4PVDivisionFactory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PVDivisionFactory.cc,v 1.2 2006/06/29 18:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PVDivisionFactory.cc,v 1.3 2010/07/02 10:46:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4PVDivisionFactory Implementation file // @@ -136,15 +136,18 @@ G4PVDivisionFactory::CreatePVDivision(const G4String& pName, G4Exception("G4PVDivisionFactory::CreatePVDivision()", "WrongType", FatalException, "Unexpected parameterisation type !"); + return 0; } + else + { + EAxis axis = divParam->GetAxis(); + G4int nofDivisions = divParam->GetNoDiv(); + G4double width = divParam->GetWidth(); + G4double offset = divParam->GetOffset(); - EAxis axis = divParam->GetAxis(); - G4int nofDivisions = divParam->GetNoDiv(); - G4double width = divParam->GetWidth(); - G4double offset = divParam->GetOffset(); - - return new G4PVDivision(pName, pLogical, pMotherLogical, - axis, nofDivisions, width, offset); + return new G4PVDivision(pName, pLogical, pMotherLogical, + axis, nofDivisions, width, offset); + } } //_____________________________________________________________________________ diff --git a/source/geometry/divisions/src/G4ParameterisationBox.cc b/source/geometry/divisions/src/G4ParameterisationBox.cc index c23fbe1e25..6870e3619e 100644 --- a/source/geometry/divisions/src/G4ParameterisationBox.cc +++ b/source/geometry/divisions/src/G4ParameterisationBox.cc @@ -24,13 +24,14 @@ // ******************************************************************** // // -// $Id: G4ParameterisationBox.cc,v 1.10 2006/06/29 18:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationBox.cc,v 1.12 2010/11/10 09:15:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4ParameterisationBox Implementation file // // 26.05.03 - P.Arce, Initial version // 08.04.04 - I.Hrivnacova, Implemented reflection +// 21.04.10 - M.Asai, Added gaps // -------------------------------------------------------------------- #include "G4ParameterisationBox.hh" @@ -151,7 +152,7 @@ ComputeDimensions( G4Box& box, const G4int, { G4Box* msol = (G4Box*)(fmotherSolid); - G4double pDx = fwidth/2.; + G4double pDx = fwidth/2. - fhgap; G4double pDy = msol->GetYHalfLength(); G4double pDz = msol->GetZHalfLength(); @@ -253,7 +254,7 @@ ComputeDimensions( G4Box& box, const G4int, G4Box* msol = (G4Box*)(fmotherSolid); G4double pDx = msol->GetXHalfLength(); - G4double pDy = fwidth/2.; + G4double pDy = fwidth/2. - fhgap; G4double pDz = msol->GetZHalfLength(); box.SetXHalfLength( pDx ); @@ -355,7 +356,7 @@ ComputeDimensions( G4Box& box, const G4int, G4double pDx = msol->GetXHalfLength(); G4double pDy = msol->GetYHalfLength(); - G4double pDz = fwidth/2.; + G4double pDz = fwidth/2. - fhgap; box.SetXHalfLength( pDx ); box.SetYHalfLength( pDy ); diff --git a/source/geometry/divisions/src/G4ParameterisationCons.cc b/source/geometry/divisions/src/G4ParameterisationCons.cc index 49ff164d48..d4f8ae160a 100644 --- a/source/geometry/divisions/src/G4ParameterisationCons.cc +++ b/source/geometry/divisions/src/G4ParameterisationCons.cc @@ -24,13 +24,14 @@ // ******************************************************************** // // -// $Id: G4ParameterisationCons.cc,v 1.9 2006/06/29 18:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationCons.cc,v 1.11 2010/11/10 09:15:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4ParameterisationCons Implementation file // // 26.05.03 - P.Arce, Initial version // 08.04.04 - I.Hrivnacova, Implemented reflection +// 21.04.10 - M.Asai, Added gaps // -------------------------------------------------------------------- #include "G4ParameterisationCons.hh" @@ -187,14 +188,15 @@ ComputeDimensions( G4Cons& cons, const G4int copyNo, + foffset + fwidthPlus * (copyNo+1); G4double pDz = msol->GetZHalfLength(); + G4double d_half_gap = fhgap * pRMax2 / pRMax1; //- already rotated double pSR = foffset + copyNo*fwidth; G4double pSPhi = msol->GetStartPhiAngle(); G4double pDPhi = msol->GetDeltaPhiAngle();; - cons.SetInnerRadiusMinusZ( pRMin1 ); - cons.SetOuterRadiusMinusZ( pRMax1 ); - cons.SetInnerRadiusPlusZ( pRMin2 ); - cons.SetOuterRadiusPlusZ( pRMax2 ); + cons.SetInnerRadiusMinusZ( pRMin1 + fhgap ); + cons.SetOuterRadiusMinusZ( pRMax1 - fhgap ); + cons.SetInnerRadiusPlusZ( pRMin2 + d_half_gap ); + cons.SetOuterRadiusPlusZ( pRMax2 - d_half_gap ); cons.SetZHalfLength( pDz ); cons.SetStartPhiAngle( pSPhi ); cons.SetDeltaPhiAngle( pDPhi ); @@ -294,8 +296,8 @@ ComputeDimensions( G4Cons& cons, const G4int, G4double pDz = msol->GetZHalfLength(); //- already rotated double pSPhi = foffset + copyNo*fwidth; - G4double pSPhi = foffset + msol->GetStartPhiAngle(); - G4double pDPhi = fwidth; + G4double pSPhi = foffset + msol->GetStartPhiAngle() + fhgap; + G4double pDPhi = fwidth - 2.*fhgap; cons.SetInnerRadiusMinusZ( pRMin1 ); cons.SetOuterRadiusMinusZ( pRMax1 ); @@ -395,7 +397,7 @@ ComputeDimensions( G4Cons& cons, const G4int copyNo, { G4Cons* msol = (G4Cons*)(fmotherSolid); - G4double mHalfLength = msol->GetZHalfLength(); + G4double mHalfLength = msol->GetZHalfLength() - fhgap; G4double aRInner = (msol->GetInnerRadiusPlusZ() - msol->GetInnerRadiusMinusZ()) / (2*mHalfLength); G4double bRInner = (msol->GetInnerRadiusPlusZ() @@ -404,14 +406,14 @@ ComputeDimensions( G4Cons& cons, const G4int copyNo, - msol->GetOuterRadiusMinusZ()) / (2*mHalfLength); G4double bROuter = (msol->GetOuterRadiusPlusZ() + msol->GetOuterRadiusMinusZ()) / 2; - G4double xMinusZ = -mHalfLength + OffsetZ() + fwidth*copyNo; - G4double xPlusZ = -mHalfLength + OffsetZ() + fwidth*(copyNo+1); + G4double xMinusZ = -mHalfLength + OffsetZ() + fwidth*copyNo + fhgap; + G4double xPlusZ = -mHalfLength + OffsetZ() + fwidth*(copyNo+1) - fhgap; cons.SetInnerRadiusMinusZ( aRInner * xMinusZ + bRInner ); cons.SetOuterRadiusMinusZ( aROuter * xMinusZ + bROuter ); cons.SetInnerRadiusPlusZ( aRInner * xPlusZ + bRInner ); cons.SetOuterRadiusPlusZ( aROuter * xPlusZ + bROuter ); - G4double pDz = fwidth / 2.; + G4double pDz = fwidth / 2. - fhgap; G4double pSPhi = msol->GetStartPhiAngle(); G4double pDPhi = msol->GetDeltaPhiAngle(); diff --git a/source/geometry/divisions/src/G4ParameterisationPara.cc b/source/geometry/divisions/src/G4ParameterisationPara.cc index 2928e9e2d0..d78164b496 100644 --- a/source/geometry/divisions/src/G4ParameterisationPara.cc +++ b/source/geometry/divisions/src/G4ParameterisationPara.cc @@ -24,13 +24,14 @@ // ******************************************************************** // // -// $Id: G4ParameterisationPara.cc,v 1.11 2006/06/29 18:18:42 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationPara.cc,v 1.13 2010/11/10 09:16:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4ParameterisationPara Implementation file // // 26.05.03 - P.Arce, Initial version // 08.04.04 - I.Hrivnacova, Implemented reflection +// 21.04.10 - M.Asai, Added gaps // -------------------------------------------------------------------- #include "G4ParameterisationPara.hh" @@ -161,7 +162,7 @@ ComputeDimensions(G4Para& para, const G4int, G4Para* msol = (G4Para*)(fmotherSolid); //---- Get - G4double pDx = fwidth/2.; + G4double pDx = fwidth/2. - fhgap; G4double pDy = msol->GetYHalfLength(); G4double pDz = msol->GetZHalfLength(); G4double pAlpha = std::atan(msol->GetTanAlpha()); @@ -264,7 +265,7 @@ ComputeDimensions(G4Para& para, const G4int, //---- Get G4double pDx = msol->GetXHalfLength(); - G4double pDy = fwidth/2.; + G4double pDy = fwidth/2. - fhgap; G4double pDz = msol->GetZHalfLength(); G4double pAlpha = std::atan(msol->GetTanAlpha()); G4double pTheta = msol->GetSymAxis().theta(); @@ -365,10 +366,10 @@ ComputeDimensions(G4Para& para, const G4int, //---- Get G4double pDx = msol->GetXHalfLength(); G4double pDy = msol->GetYHalfLength(); + G4double pDz = fwidth/2. - fhgap; G4double pAlpha = std::atan(msol->GetTanAlpha()); G4double pTheta = msol->GetSymAxis().theta(); G4double pPhi = msol->GetSymAxis().phi(); - G4double pDz = fwidth/2.; para.SetAllParameters ( pDx, pDy, pDz, pAlpha, pTheta, pPhi ); diff --git a/source/geometry/divisions/src/G4ParameterisationTrd.cc b/source/geometry/divisions/src/G4ParameterisationTrd.cc index 3e389f1dc3..8e888ffed0 100644 --- a/source/geometry/divisions/src/G4ParameterisationTrd.cc +++ b/source/geometry/divisions/src/G4ParameterisationTrd.cc @@ -24,13 +24,14 @@ // ******************************************************************** // // -// $Id: G4ParameterisationTrd.cc,v 1.16 2008/12/18 12:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationTrd.cc,v 1.19 2010/11/10 09:16:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4ParameterisationTrd Implementation file // // 26.05.03 - P.Arce, Initial version // 08.04.04 - I.Hrivnacova, Implemented reflection +// 21.04.10 - M.Asai, Added gaps // -------------------------------------------------------------------- #include "G4ParameterisationTrd.hh" @@ -49,7 +50,8 @@ G4VParameterisationTrd:: G4VParameterisationTrd( EAxis axis, G4int nDiv, G4double width, G4double offset, G4VSolid* msolid, DivisionType divType ) - : G4VDivisionParameterisation( axis, nDiv, width, offset, divType, msolid ) + : G4VDivisionParameterisation( axis, nDiv, width, offset, divType, msolid ), + bDivInTrap(false) { G4Trd* msol = (G4Trd*)(msolid); if (msolid->GetEntityType() == "G4ReflectedSolid") @@ -140,9 +142,12 @@ ComputeTransformation( const G4int copyNo, //----- translation G4ThreeVector origin(0.,0.,0.); G4double posi; - if( !bDivInTrap ) { + if( !bDivInTrap ) + { posi = -mdx + foffset + (copyNo+0.5)*fwidth; - } else { + } + else + { G4double aveHL = (msol->GetXHalfLength1()+msol->GetXHalfLength2())/2.; posi = - aveHL + foffset + (copyNo+0.5)*aveHL/fnDiv*2; } @@ -180,7 +185,7 @@ ComputeDimensions( G4Trd& trd, const G4int, const G4VPhysicalVolume* ) const G4double pDy1 = msol->GetYHalfLength1(); G4double pDy2 = msol->GetYHalfLength2(); G4double pDz = msol->GetZHalfLength(); - G4double pDx = fwidth/2.; + G4double pDx = fwidth/2. - fhgap; trd.SetAllParameters ( pDx, pDx, pDy1, pDy2, pDz ); @@ -202,7 +207,7 @@ ComputeSolid(const G4int i, G4VPhysicalVolume * pv) } else { - return theTrap; + return fmotherSolid; } } @@ -231,8 +236,8 @@ ComputeDimensions( G4Trap& trap, const G4int copyNo, const G4VPhysicalVolume* ) pDx2, alp, pDy2, - pDx1, - pDx2, + pDx1 - fhgap, + pDx2 - fhgap * pDx2/pDx1, alp); #ifdef G4DIVDEBUG @@ -248,7 +253,7 @@ ComputeDimensions( G4Trap& trap, const G4int copyNo, const G4VPhysicalVolume* ) void G4ParameterisationTrdX::CheckParametersValidity() { G4VDivisionParameterisation::CheckParametersValidity(); - +/* G4Trd* msol = (G4Trd*)(fmotherSolid); G4double mpDx1 = msol->GetXHalfLength1(); @@ -257,8 +262,6 @@ void G4ParameterisationTrdX::CheckParametersValidity() if( std::fabs(mpDx1 - mpDx2) > kCarTolerance ) { - return; - G4cerr << "ERROR - G4ParameterisationTrdX::CheckParametersValidity()" << G4endl << " Making a division of a TRD along axis X," << G4endl @@ -269,6 +272,7 @@ void G4ParameterisationTrdX::CheckParametersValidity() "IllegalConstruct", FatalException, "Invalid solid specification. NOT supported."); } +*/ } //-------------------------------------------------------------------------- @@ -369,7 +373,7 @@ ComputeDimensions(G4Trd& trd, const G4int, const G4VPhysicalVolume*) const G4double pDx1 = msol->GetXHalfLength1(); G4double pDx2 = msol->GetXHalfLength2(); G4double pDz = msol->GetZHalfLength(); - G4double pDy = fwidth/2.; + G4double pDy = fwidth/2. - fhgap; trd.SetAllParameters ( pDx1, pDx2, pDy, pDy, pDz ); @@ -500,13 +504,13 @@ ComputeDimensions(G4Trd& trd, const G4int copyNo, G4double DDx = (msol->GetXHalfLength2() - msol->GetXHalfLength1() ); G4double pDy1 = msol->GetYHalfLength1(); G4double DDy = (msol->GetYHalfLength2() - msol->GetYHalfLength1() ); - G4double pDz = fwidth/2.; + G4double pDz = fwidth/2. - fhgap; G4double zLength = 2*msol->GetZHalfLength(); - trd.SetAllParameters( pDx1+DDx*(OffsetZ()+copyNo*fwidth)/zLength, - pDx1+DDx*(OffsetZ()+(copyNo+1)*fwidth)/zLength, - pDy1+DDy*(OffsetZ()+copyNo*fwidth)/zLength, - pDy1+DDy*(OffsetZ()+(copyNo+1)*fwidth)/zLength, pDz ); + trd.SetAllParameters( pDx1+DDx*(OffsetZ()+copyNo*fwidth+fhgap)/zLength, + pDx1+DDx*(OffsetZ()+(copyNo+1)*fwidth-fhgap)/zLength, + pDy1+DDy*(OffsetZ()+copyNo*fwidth+fhgap)/zLength, + pDy1+DDy*(OffsetZ()+(copyNo+1)*fwidth-fhgap)/zLength, pDz ); #ifdef G4DIVDEBUG if( verbose >= 1 ) diff --git a/source/geometry/divisions/src/G4ParameterisationTubs.cc b/source/geometry/divisions/src/G4ParameterisationTubs.cc index 62a5fc35d9..5beca83f6e 100644 --- a/source/geometry/divisions/src/G4ParameterisationTubs.cc +++ b/source/geometry/divisions/src/G4ParameterisationTubs.cc @@ -24,13 +24,14 @@ // ******************************************************************** // // -// $Id: G4ParameterisationTubs.cc,v 1.8 2006/06/29 18:18:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationTubs.cc,v 1.10 2010/11/10 09:16:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4ParameterisationTubs Implementation file // // 26.05.03 - P.Arce, Initial version // 08.04.04 - I.Hrivnacova, Implemented reflection +// 21.04.10 - M.Asai, Added gaps // -------------------------------------------------------------------- #include "G4ParameterisationTubs.hh" @@ -155,8 +156,8 @@ ComputeDimensions( G4Tubs& tubs, const G4int copyNo, { G4Tubs* msol = (G4Tubs*)(fmotherSolid); - G4double pRMin = msol->GetInnerRadius() + foffset + fwidth * copyNo; - G4double pRMax = msol->GetInnerRadius() + foffset + fwidth * (copyNo+1); + G4double pRMin = msol->GetInnerRadius() + foffset + fwidth * copyNo + fhgap; + G4double pRMax = msol->GetInnerRadius() + foffset + fwidth * (copyNo+1) - fhgap; G4double pDz = msol->GetZHalfLength(); //- already rotated G4double pSR = foffset + copyNo*fwidth; G4double pSPhi = msol->GetStartPhiAngle(); @@ -268,8 +269,8 @@ ComputeDimensions( G4Tubs& tubs, const G4int, G4double pRMax = msol->GetOuterRadius(); G4double pDz = msol->GetZHalfLength(); //----- already rotated in 'ComputeTransformation' - G4double pSPhi = msol->GetStartPhiAngle(); - G4double pDPhi = fwidth; + G4double pSPhi = msol->GetStartPhiAngle() + fhgap; + G4double pDPhi = fwidth - 2.*fhgap; tubs.SetInnerRadius( pRMin ); tubs.SetOuterRadius( pRMax ); @@ -378,7 +379,7 @@ ComputeDimensions( G4Tubs& tubs, const G4int, G4double pRMin = msol->GetInnerRadius(); G4double pRMax = msol->GetOuterRadius(); // G4double pDz = msol->GetZHalfLength() / GetNoDiv(); - G4double pDz = fwidth/2.; + G4double pDz = fwidth/2. - fhgap; G4double pSPhi = msol->GetStartPhiAngle(); G4double pDPhi = msol->GetDeltaPhiAngle(); diff --git a/source/geometry/divisions/src/G4ReplicatedSlice.cc b/source/geometry/divisions/src/G4ReplicatedSlice.cc new file mode 100644 index 0000000000..53a982ff9c --- /dev/null +++ b/source/geometry/divisions/src/G4ReplicatedSlice.cc @@ -0,0 +1,542 @@ +// +// ******************************************************************** +// * 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: G4ReplicatedSlice.cc,v 1.2 2010/11/10 09:16:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// -------------------------------------------------------------------- + +#include "G4ReplicatedSlice.hh" +#include "G4LogicalVolume.hh" +#include "G4VSolid.hh" +#include "G4ReflectedSolid.hh" +#include "G4ParameterisationBox.hh" +#include "G4ParameterisationTubs.hh" +#include "G4ParameterisationCons.hh" +#include "G4ParameterisationTrd.hh" +#include "G4ParameterisationPara.hh" +#include "G4ParameterisationPolycone.hh" +#include "G4ParameterisationPolyhedra.hh" + +//-------------------------------------------------------------------------- +G4ReplicatedSlice::G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4LogicalVolume* pMotherLogical, + const EAxis pAxis, + const G4int nDivs, + const G4double width, + const G4double half_gap, + const G4double offset ) + : G4VPhysicalVolume(0,G4ThreeVector(),pName,pLogical,0), fcopyNo(-1) +{ + CheckAndSetParameters(pAxis, nDivs, width, half_gap, offset, + DivNDIVandWIDTH, pMotherLogical, pLogical); +} + +//-------------------------------------------------------------------------- +G4ReplicatedSlice::G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4LogicalVolume* pMotherLogical, + const EAxis pAxis, + const G4int nDivs, + const G4double half_gap, + const G4double offset ) + : G4VPhysicalVolume(0,G4ThreeVector(),pName,pLogical,0), fcopyNo(-1) +{ + CheckAndSetParameters(pAxis, nDivs, 0., half_gap, offset, + DivNDIV, pMotherLogical, pLogical); +} + +//-------------------------------------------------------------------------- +G4ReplicatedSlice::G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4LogicalVolume* pMotherLogical, + const EAxis pAxis, + const G4double width, + const G4double half_gap, + const G4double offset ) + : G4VPhysicalVolume(0,G4ThreeVector(),pName,pLogical,0), fcopyNo(-1) +{ + CheckAndSetParameters(pAxis, 0, width, half_gap, offset, + DivWIDTH, pMotherLogical, pLogical); +} + +//-------------------------------------------------------------------------- +G4ReplicatedSlice::G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4VPhysicalVolume* pMotherPhysical, + const EAxis pAxis, + const G4int nDivs, + const G4double width, + const G4double half_gap, + const G4double offset ) + : G4VPhysicalVolume(0,G4ThreeVector(),pName,pLogical,0), fcopyNo(-1) +{ + CheckAndSetParameters(pAxis, nDivs, width, half_gap, offset, + DivNDIVandWIDTH, pMotherPhysical->GetLogicalVolume(), pLogical); +} + +//-------------------------------------------------------------------------- +G4ReplicatedSlice::G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4VPhysicalVolume* pMotherPhysical, + const EAxis pAxis, + const G4int nDivs, + const G4double half_gap, + const G4double offset ) + : G4VPhysicalVolume(0,G4ThreeVector(),pName,pLogical,0), fcopyNo(-1) +{ + CheckAndSetParameters(pAxis, nDivs, 0., half_gap, offset, + DivNDIV, pMotherPhysical->GetLogicalVolume(), pLogical); +} + +//-------------------------------------------------------------------------- +G4ReplicatedSlice::G4ReplicatedSlice(const G4String& pName, + G4LogicalVolume* pLogical, + G4VPhysicalVolume* pMotherPhysical, + const EAxis pAxis, + const G4double width, + const G4double half_gap, + const G4double offset ) + : G4VPhysicalVolume(0,G4ThreeVector(),pName,pLogical,0), fcopyNo(-1) +{ + CheckAndSetParameters(pAxis, 0, width, half_gap, offset, + DivWIDTH, pMotherPhysical->GetLogicalVolume(), pLogical); +} + +//-------------------------------------------------------------------------- +void +G4ReplicatedSlice::CheckAndSetParameters( const EAxis pAxis, + const G4int nDivs, + const G4double width, + const G4double half_gap, + const G4double offset, + DivisionType divType, + G4LogicalVolume* pMotherLogical, + const G4LogicalVolume* pLogical ) +{ + if(!pMotherLogical) + { + G4String message_1 = "NULL pointer specified as mother! Volume: " + + GetName(); + G4Exception("G4ReplicatedSlice::G4ReplicatedSlice()", "InvalidSetup", + FatalException, message_1); + } + if(pLogical == pMotherLogical) + { + G4String message_2 = "Cannot place a volume inside itself! Volume: " + + GetName(); + G4Exception("G4ReplicatedSlice::G4ReplicatedSlice()", "InvalidSetup", + FatalException, message_2); + } + + //----- Check that mother solid is of the same type as + // daughter solid (otherwise, the corresponding + // Parameterisation::ComputeDimension() will not be called) + // + G4String msolType = pMotherLogical->GetSolid()->GetEntityType(); + G4String dsolType = pLogical->GetSolid()->GetEntityType(); + if( msolType != dsolType && ( msolType != "G4Trd" || dsolType != "G4Trap" ) ) + { + G4String message = "Incorrect solid type for division of volume " + + GetName() + " It is: " + msolType + + ", while it should be: " + dsolType; + G4Exception("G4ReplicatedSlice::CheckAndSetParameters()", + "IllegalConstruct", FatalException, message ); + } + + pMotherLogical->AddDaughter(this); + SetMotherLogical(pMotherLogical); + SetParameterisation(pMotherLogical, pAxis, nDivs, + width, half_gap, offset, divType); + + if( divType == DivWIDTH ) + { + fnReplicas = fparam->GetNoDiv(); + } + else + { + fnReplicas = nDivs; + } + if (fnReplicas < 1 ) + { + G4Exception("G4ReplicatedSlice::G4ReplicatedSlice()", "IllegalConstruct", + FatalException, "Illegal number of replicas!"); + } + if( divType != DivNDIV) + { + fwidth = fparam->GetWidth(); + } + else + { + fwidth = width; + } + if( fwidth < 0 ) + { + G4Exception("G4ReplicatedSlice::G4ReplicatedSlice()", "IllegalConstruct", + FatalException, "Width must be positive!"); + } + if( fwidth < 2.*half_gap ) + { + G4Exception("G4ReplicatedSlice::G4ReplicatedSlice()", "IllegalConstruct", + FatalException, "Half_gap is too large!"); + } + + foffset = offset; + fdivAxis = pAxis; + + //!!!!! axis has to be x/y/z in G4VoxelLimits::GetMinExtent + // + if( pAxis == kRho || pAxis == kRadial3D || pAxis == kPhi ) + { + faxis = kZAxis; + } + else + { + faxis = pAxis; + } + + switch (faxis) + { + case kPhi: + case kRho: + case kXAxis: + case kYAxis: + case kZAxis: + break; + default: + G4Exception("G4ReplicatedSlice::G4ReplicatedSlice()", "IllegalConstruct", + FatalException, "Unknown axis of replication."); + break; + } + + // Create rotation matrix: for phi axis it will be changed + // in G4VPVParameterisation::ComputeTransformation, for others + // it will stay the unity + // + G4RotationMatrix *pRMat = new G4RotationMatrix(); + SetRotation(pRMat); +} + +//-------------------------------------------------------------------------- +G4ReplicatedSlice::~G4ReplicatedSlice() +{ + delete GetRotation(); +} + +//-------------------------------------------------------------------------- +EAxis G4ReplicatedSlice::GetDivisionAxis() const +{ + return fdivAxis; +} + +//-------------------------------------------------------------------------- +G4bool G4ReplicatedSlice::IsParameterised() const +{ + return true; +} + +//-------------------------------------------------------------------------- +G4bool G4ReplicatedSlice::IsMany() const +{ + return false; +} + +//-------------------------------------------------------------------------- +G4int G4ReplicatedSlice::GetCopyNo() const +{ + return fcopyNo; +} + +//-------------------------------------------------------------------------- +void G4ReplicatedSlice::SetCopyNo(G4int newCopyNo) +{ + fcopyNo= newCopyNo; +} + +//-------------------------------------------------------------------------- +G4bool G4ReplicatedSlice::IsReplicated() const +{ + return true; +} + +//-------------------------------------------------------------------------- +G4VPVParameterisation* G4ReplicatedSlice::GetParameterisation() const +{ + return fparam; +} + +//-------------------------------------------------------------------------- +void G4ReplicatedSlice::GetReplicationData(EAxis& axis, + G4int& nDivs, + G4double& width, + G4double& offset, + G4bool& consuming ) const +{ + axis=faxis; + nDivs=fnReplicas; + width=fwidth; + offset=foffset; + consuming=false; +} + + +//-------------------------------------------------------------------------- +void G4ReplicatedSlice::SetParameterisation( G4LogicalVolume* motherLogical, + const EAxis axis, + const G4int nDivs, + const G4double width, + const G4double half_gap, + const G4double offset, + DivisionType divType ) +{ + G4VSolid* mSolid = motherLogical->GetSolid(); + G4String mSolidType = mSolid->GetEntityType(); + + // If the solid is a reflected one, update type to its + // real constituent solid. + // + if (mSolidType == "G4ReflectedSolid") + { + mSolidType = ((G4ReflectedSolid*)mSolid)->GetConstituentMovedSolid() + ->GetEntityType(); + } + + // Parameterisation type depend of mother solid type and axis of division + // + if( mSolidType == "G4Box" ) + { + switch( axis ) + { + case kXAxis: + fparam = new G4ParameterisationBoxX( axis, nDivs, width, + offset, mSolid, divType ); + break; + case kYAxis: + fparam = new G4ParameterisationBoxY( axis, nDivs, width, + offset, mSolid, divType ); + break; + case kZAxis: + fparam = new G4ParameterisationBoxZ( axis, nDivs, width, + offset, mSolid, divType ); + break; + default: + ErrorInAxis( axis, mSolid ); + break; + } + } + else if( mSolidType == "G4Tubs" ) + { + switch( axis ) + { + case kRho: + fparam = new G4ParameterisationTubsRho( axis, nDivs, width, + offset, mSolid, divType ); + break; + case kPhi: + fparam = new G4ParameterisationTubsPhi( axis, nDivs, width, + offset, mSolid, divType ); + break; + case kZAxis: + fparam = new G4ParameterisationTubsZ( axis, nDivs, width, + offset, mSolid, divType ); + break; + default: + ErrorInAxis( axis, mSolid ); + break; + } + } + else if( mSolidType == "G4Cons" ) + { + switch( axis ) + { + case kRho: + fparam = new G4ParameterisationConsRho( axis, nDivs, width, + offset, mSolid, divType ); + break; + case kPhi: + fparam = new G4ParameterisationConsPhi( axis, nDivs, width, + offset, mSolid, divType ); + break; + case kZAxis: + fparam = new G4ParameterisationConsZ( axis, nDivs, width, + offset, mSolid, divType ); + break; + default: + ErrorInAxis( axis, mSolid ); + break; + } + } + else if( mSolidType == "G4Trd" ) + { + switch( axis ) + { + case kXAxis: + fparam = new G4ParameterisationTrdX( axis, nDivs, width, + offset, mSolid, divType ); + break; + case kYAxis: + fparam = new G4ParameterisationTrdY( axis, nDivs, width, + offset, mSolid, divType ); + break; + case kZAxis: + fparam = new G4ParameterisationTrdZ( axis, nDivs, width, + offset, mSolid, divType ); + break; + default: + ErrorInAxis( axis, mSolid ); + break; + } + } + else if( mSolidType == "G4Para" ) + { + switch( axis ) + { + case kXAxis: + fparam = new G4ParameterisationParaX( axis, nDivs, width, + offset, mSolid, divType ); + break; + case kYAxis: + fparam = new G4ParameterisationParaY( axis, nDivs, width, + offset, mSolid, divType ); + break; + case kZAxis: + fparam = new G4ParameterisationParaZ( axis, nDivs, width, + offset, mSolid, divType ); + break; + default: + ErrorInAxis( axis, mSolid ); + break; + } + } +// else if( mSolidType == "G4Trap" ) +// { +// } +// else if( mSolidType == "G4Polycone" ) +// { +// switch( axis ) +// { +// case kRho: +// fparam = new G4ParameterisationPolyconeRho( axis, nDivs, width, +// offset, mSolid, divType ); +// break; +// case kPhi: +// fparam = new G4ParameterisationPolyconePhi( axis, nDivs, width, +// offset, mSolid, divType ); +// break; +// case kZAxis: +// fparam = new G4ParameterisationPolyconeZ( axis, nDivs, width, +// offset, mSolid, divType ); +// break; +// default: +// ErrorInAxis( axis, mSolid ); +// break; +// } +// } +// else if( mSolidType == "G4Polyhedra" ) +// { +// switch( axis ) +// { +// case kRho: +// fparam = new G4ParameterisationPolyhedraRho( axis, nDivs, width, +// offset, mSolid, divType ); +// break; +// case kPhi: +// fparam = new G4ParameterisationPolyhedraPhi( axis, nDivs, width, +// offset, mSolid, divType ); +// break; +// case kZAxis: +// fparam = new G4ParameterisationPolyhedraZ( axis, nDivs, width, +// offset, mSolid, divType ); +// break; +// default: +// ErrorInAxis( axis, mSolid ); +// break; +// } +// } + else + { + G4cerr << "ERROR - G4ReplicatedSlice::SetParameterisation()" << G4endl + << " Divisions for " << mSolidType + << " not implemented." << G4endl; + G4String message = "Solid type not supported: " + mSolidType; + G4Exception("G4ReplicatedSlice::SetParameterisation()", "IllegalConstruct", + FatalException, message); + } + + fparam->SetHalfGap(half_gap); +} + +//-------------------------------------------------------------------------- +void G4ReplicatedSlice::ErrorInAxis( EAxis axis, G4VSolid* solid ) +{ + G4String error = "Trying to divide solid " + solid->GetName() + + " of type " + solid->GetEntityType() + " along axis "; + switch( axis ) + { + case kXAxis: + error += "X."; + break; + case kYAxis: + error += "Y."; + break; + case kZAxis: + error += "Z."; + break; + case kRho: + error += "Rho."; + break; + case kRadial3D: + error += "Radial3D."; + break; + case kPhi: + error += "Phi."; + break; + default: + break; + } + G4Exception("G4ReplicatedSlice::ErrorInAxis()", "IllegalConstruct", + FatalException, error); +} + +// The next methods are for specialised repeated volumes +// (replicas, parameterised vol.) which are completely regular. +// Currently this is not applicable to divisions ( J.A. Nov 2005 ) +// ---------------------------------------------------------------------- +// IsRegularRepeatedStructure() +// +G4bool G4ReplicatedSlice::IsRegularStructure() const +{ + return false; +} + +// ---------------------------------------------------------------------- +// IsRegularRepeatedStructure() +// +G4int G4ReplicatedSlice::GetRegularStructureId() const +{ + return 0; +} diff --git a/source/geometry/divisions/src/G4VDivisionParameterisation.cc b/source/geometry/divisions/src/G4VDivisionParameterisation.cc index fe25b4b240..bbbb7e443f 100644 --- a/source/geometry/divisions/src/G4VDivisionParameterisation.cc +++ b/source/geometry/divisions/src/G4VDivisionParameterisation.cc @@ -24,13 +24,14 @@ // ******************************************************************** // // -// $Id: G4VDivisionParameterisation.cc,v 1.14 2008/12/03 16:41:15 arce Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VDivisionParameterisation.cc,v 1.16 2010/11/10 09:16:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4VDivisionParameterisation Implementation file // // 26.05.03 - P.Arce, Initial version // 08.04.04 - I.Hrivnacova, Implemented reflection +// 21.04.10 - M.Asai, Added gaps // -------------------------------------------------------------------- #include "G4VDivisionParameterisation.hh" @@ -49,7 +50,7 @@ G4VDivisionParameterisation( EAxis axis, G4int nDiv, DivisionType divType, G4VSolid* motherSolid ) : faxis(axis), fnDiv( nDiv), fwidth(step), foffset(offset), fDivisionType(divType), fmotherSolid( motherSolid ), fReflectedSolid(false), - fDeleteSolid(false) + fDeleteSolid(false), theVoluFirstCopyNo(1), fhgap(0.) { #ifdef G4DIVDEBUG if (verbose >= 1) @@ -60,8 +61,6 @@ G4VDivisionParameterisation( EAxis axis, G4int nDiv, << " step " << fwidth << " = " << step << G4endl; } #endif - - theVoluFirstCopyNo = 1; kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } diff --git a/source/geometry/magneticfield/CMakeLists.txt b/source/geometry/magneticfield/CMakeLists.txt new file mode 100644 index 0000000000..ec17ed28da --- /dev/null +++ b/source/geometry/magneticfield/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4magneticfield +# Package: Geant4.src.G4geometry.G4magneticfield +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:41:10 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/geometry/magneticfield/History b/source/geometry/magneticfield/History index f86d28f7d0..c1296a0c13 100644 --- a/source/geometry/magneticfield/History +++ b/source/geometry/magneticfield/History @@ -1,4 +1,4 @@ -$Id: History,v 1.146 2009/11/12 15:05:49 japost Exp $ +$Id: History,v 1.153 2010/09/14 07:57:13 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,8 +17,39 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -Nov 12th, 2009 J.Apostolakis - field-V09-02-08 +Sep 10th, 2010 J.Apostolakis - field-V09-03-03 ----------------------------- +- Revised constructor of G4MagErrorStepper to add number of State variables +- Corrected MagErrorStepper to copy State Variable to output +- Enable G4ConstRK4 to copy remaining State Variables (must integrate 6) + +Sep 10th, 2010 J.Apostolakis - field-V09-03-02 +----------------------------- +- New class G4MonopoleEq for rhs of d(pc)/ds propagation in field + in SI units (V.Grichine). +- Fixed passing of time in G4NystromRK4 + +Jul 21st, 2010 T.Nikitina - field-V09-03-01 +-------------------------- +- Fixed cases of memory corruption in G4RKG3_Stepper. +- Fixed case of unused array data member in G4ExactHelixStepper. +- Removed useless code never executed in G4ConstRK4::Stepper(). +- Fixed initialization in G4NystromRK4 constructor. + +Jul 14th, 2010 G.Cosmo - field-V09-03-00 +----------------------- +- Added dummy initialization of members in constructors for G4CashKarpRKF45, + G4ConstRK4, G4EqEMFieldWithEDM, G4EqEMFieldWithSpin, G4ExactHelixStepper, + G4FieldTrack, G4MagHelicalStepper, G4MagInt_Driver, G4Mag_EqRhs, + G4Mag_SpinEqRhs, G4Mag_UsualEqRhs, G4NystromRK4, G4RKG3_Stepper, + G4UniformElectricField, G4UniformElectricField. + +Nov 12th, 2009 J.Apostolakis - field-V09-02-09 +----------------------------- +- G4MagIntegratorDriver: activate check on integration error for spin. + +Nov 12th, 2009 J.Apostolakis - field-V09-02-08 +----------------------------- (fix only) - G4Nystrom: Corrected interface method getField: array now has explicit dimension[4] (Problem found by gcc 4.3 - it checked indices used in inline method! ) diff --git a/source/geometry/magneticfield/include/G4CashKarpRKF45.hh b/source/geometry/magneticfield/include/G4CashKarpRKF45.hh index 4f70f5d175..a4875aa64b 100644 --- a/source/geometry/magneticfield/include/G4CashKarpRKF45.hh +++ b/source/geometry/magneticfield/include/G4CashKarpRKF45.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CashKarpRKF45.hh,v 1.11 2008/01/11 15:23:54 japost Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4CashKarpRKF45.hh,v 1.12 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4CashKarpRKF45 @@ -87,15 +87,16 @@ class G4CashKarpRKF45 : public G4MagIntegratorStepper private: - // G4int fNumberOfVariables ; // Already kept in G4MagIntegratorStepper - G4double *ak2, *ak3, *ak4, *ak5, *ak6, *ak7, *yTemp, *yIn; // scratch space + G4double *ak2, *ak3, *ak4, *ak5, *ak6, *ak7, *yTemp, *yIn; + // scratch space - // for DistChord calculations + G4double fLastStepLength; + G4double *fLastInitialVector, *fLastFinalVector, + *fLastDyDx, *fMidVector, *fMidError; + // for DistChord calculations + + G4CashKarpRKF45* fAuxStepper; - G4double fLastStepLength; - G4double *fLastInitialVector, *fLastFinalVector, - *fLastDyDx, *fMidVector, *fMidError; - G4CashKarpRKF45* fAuxStepper; }; #endif /* G4CashKARP_RKF45 */ diff --git a/source/geometry/magneticfield/include/G4ConstRK4.hh b/source/geometry/magneticfield/include/G4ConstRK4.hh index b9c6a42187..aff9efd0c4 100644 --- a/source/geometry/magneticfield/include/G4ConstRK4.hh +++ b/source/geometry/magneticfield/include/G4ConstRK4.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ConstRK4.hh,v 1.2 2008/10/29 14:17:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ConstRK4.hh,v 1.3 2010/09/10 15:50:17 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Class G4ConstRK4 @@ -53,7 +53,7 @@ class G4ConstRK4 : public G4MagErrorStepper { public: // with description - G4ConstRK4(G4Mag_EqRhs *EquationMotion, G4int numberOfVariables = 8); + G4ConstRK4(G4Mag_EqRhs *EquationMotion, G4int numberOfStateVariables=8); ~G4ConstRK4(); void Stepper( const G4double y[], diff --git a/source/geometry/magneticfield/include/G4EqEMFieldWithEDM.hh b/source/geometry/magneticfield/include/G4EqEMFieldWithEDM.hh index 398ea131e7..da771ca0a3 100644 --- a/source/geometry/magneticfield/include/G4EqEMFieldWithEDM.hh +++ b/source/geometry/magneticfield/include/G4EqEMFieldWithEDM.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EqEMFieldWithEDM.hh,v 1.1 2009/11/04 23:51:42 gum Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EqEMFieldWithEDM.hh,v 1.2 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4EqEMFieldWithEDM @@ -77,11 +77,10 @@ class G4EqEMFieldWithEDM : public G4EquationOfMotion G4double fElectroMagCof ; G4double fMassCof; - G4double omegac; G4double anomaly; G4double eta; - G4double ParticleCharge; + G4double pcharge; G4double E; G4double gamma; G4double beta; diff --git a/source/geometry/magneticfield/include/G4EqEMFieldWithSpin.hh b/source/geometry/magneticfield/include/G4EqEMFieldWithSpin.hh index 1adaa95a82..d6c8e6e662 100644 --- a/source/geometry/magneticfield/include/G4EqEMFieldWithSpin.hh +++ b/source/geometry/magneticfield/include/G4EqEMFieldWithSpin.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EqEMFieldWithSpin.hh,v 1.3 2008/11/14 13:37:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EqEMFieldWithSpin.hh,v 1.4 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4EqEMFieldWithSpin @@ -72,10 +72,9 @@ class G4EqEMFieldWithSpin : public G4EquationOfMotion G4double fElectroMagCof ; G4double fMassCof; - G4double omegac; G4double anomaly; - G4double ParticleCharge; + G4double pcharge; G4double E; G4double gamma; G4double beta; diff --git a/source/geometry/magneticfield/include/G4ExactHelixStepper.hh b/source/geometry/magneticfield/include/G4ExactHelixStepper.hh index 6c13f93c0d..6ff8e7d049 100644 --- a/source/geometry/magneticfield/include/G4ExactHelixStepper.hh +++ b/source/geometry/magneticfield/include/G4ExactHelixStepper.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ExactHelixStepper.hh,v 1.5 2007/05/18 12:50:31 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExactHelixStepper.hh,v 1.7 2010/07/21 13:45:37 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4ExactHelixStepper @@ -81,14 +81,10 @@ class G4ExactHelixStepper : public G4MagHelicalStepper // Private copy constructor and assignment operator. private: - G4ThreeVector fBfieldValue; // Initial value of field at last step - G4ThreeVector yInitialEHS, yFinalEHS; - G4ThreeVector pInitial; - G4double fLastStepSize; // Length of last step - G4double fYInSav[7]; // Starting state of x, p, ... - // Values saved for calculating mid-point for chord - G4Mag_EqRhs* fPtrMagEqOfMot; + G4ThreeVector fBfieldValue; + // Initial value of field at last step + G4Mag_EqRhs* fPtrMagEqOfMot; }; diff --git a/source/geometry/magneticfield/include/G4MagErrorStepper.hh b/source/geometry/magneticfield/include/G4MagErrorStepper.hh index 9f98b59ab1..181b2883a7 100644 --- a/source/geometry/magneticfield/include/G4MagErrorStepper.hh +++ b/source/geometry/magneticfield/include/G4MagErrorStepper.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4MagErrorStepper.hh,v 1.11 2006/06/29 18:22:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4MagErrorStepper.hh,v 1.12 2010/09/10 15:52:53 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4MagErrorStepper @@ -51,8 +51,7 @@ class G4MagErrorStepper : public G4MagIntegratorStepper { public: // with description - // G4MagErrorStepper(G4Mag_EqRhs *EqRhs, G4int numberOfVariables); - G4MagErrorStepper(G4EquationOfMotion *EqRhs, G4int numberOfVariables); + G4MagErrorStepper(G4EquationOfMotion *EqRhs, G4int numberOfVariables, G4int numStateVariables=12); virtual ~G4MagErrorStepper(); void Stepper( const G4double y[], diff --git a/source/geometry/magneticfield/include/G4MagErrorStepper.icc b/source/geometry/magneticfield/include/G4MagErrorStepper.icc index 8168e67d30..c4559da31f 100644 --- a/source/geometry/magneticfield/include/G4MagErrorStepper.icc +++ b/source/geometry/magneticfield/include/G4MagErrorStepper.icc @@ -24,15 +24,16 @@ // ******************************************************************** // // -// $Id: G4MagErrorStepper.icc,v 1.13 2006/06/29 18:22:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4MagErrorStepper.icc,v 1.14 2010/09/10 15:52:53 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- inline G4MagErrorStepper::G4MagErrorStepper(G4EquationOfMotion *EquationRhs, - G4int numberOfVariables) - : G4MagIntegratorStepper(EquationRhs,numberOfVariables) + G4int numberOfVariables, + G4int numStateVariables) + : G4MagIntegratorStepper(EquationRhs,numberOfVariables,numStateVariables) { G4int nvar = std::max(this->GetNumberOfVariables(), 8); yMiddle= new G4double[nvar]; diff --git a/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh b/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh index 72c3f87b4d..ffd8858115 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh +++ b/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4MagIntegratorDriver.hh,v 1.20 2007/05/10 10:10:05 japost Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4MagIntegratorDriver.hh,v 1.21 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4MagInt_Driver @@ -240,8 +240,8 @@ class G4MagInt_Driver G4int fNoTotalSteps, fNoBadSteps, fNoSmallSteps, fNoInitialSmallSteps; G4double fDyerr_max, fDyerr_mx2; - G4double fDyerrPos_smTot, fDyerrVel_smTot, fDyerrPos_lgTot, fDyerrVel_lgTot; - G4double fSumH_sm, fSumH_lg; + G4double fDyerrPos_smTot, fDyerrPos_lgTot, fDyerrVel_lgTot; + G4double fSumH_sm, fSumH_lg; // Step Statistics G4int fStatisticsVerboseLevel; diff --git a/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh b/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh index 406797cd6b..b0ef5dafb8 100644 --- a/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh +++ b/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Mag_SpinEqRhs.hh,v 1.11 2006/06/29 18:23:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Mag_SpinEqRhs.hh,v 1.12 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4Mag_SpinEqRhs @@ -74,8 +74,7 @@ class G4Mag_SpinEqRhs : public G4Mag_EqRhs G4double omegac; G4double anomaly; - G4double ParticleCharge; - + G4double pcharge; G4double E; G4double gamma; G4double beta; diff --git a/source/geometry/magneticfield/include/G4MonopoleEq.hh b/source/geometry/magneticfield/include/G4MonopoleEq.hh new file mode 100644 index 0000000000..c8b1cf181c --- /dev/null +++ b/source/geometry/magneticfield/include/G4MonopoleEq.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: G4MonopoleEq.hh,v 1.1 2009/11/17 09:53:03 grichine Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// class G4MonopoleEq +// +// Class description: +// +// This is the right-hand side of equation of motion +// for monopole in a combined +// electric and magnetic field. + +// History: +// - Created. V.Grichine, 17.11.09 +// ------------------------------------------------------------------- + +#ifndef G4EQMAGELECTRICFIELD_hh +#define G4EQMAGELECTRICFIELD_hh + +#include "G4EquationOfMotion.hh" +#include "G4ElectroMagneticField.hh" + +class G4MonopoleEq : public G4EquationOfMotion +{ + public: // with description + + G4MonopoleEq(G4ElectroMagneticField *emField ) + : G4EquationOfMotion( emField ) {;} + + ~G4MonopoleEq() {;} + + 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. + + private: + + G4double fElectroMagCof ; + G4double fMassCof; +}; + +#endif diff --git a/source/geometry/magneticfield/include/G4NystromRK4.hh b/source/geometry/magneticfield/include/G4NystromRK4.hh index 0182f59736..b605470403 100644 --- a/source/geometry/magneticfield/include/G4NystromRK4.hh +++ b/source/geometry/magneticfield/include/G4NystromRK4.hh @@ -23,8 +23,8 @@ // * 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 $ +// $Id: G4NystromRK4.hh,v 1.4 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4NystromRK4 // @@ -122,8 +122,8 @@ inline void G4NystromRK4::getField (const G4double P[4]) G4double dy = P[1]-m_fldPosition[1]; G4double dz = P[2]-m_fldPosition[2]; - if((dx*dx+dy*dy+dz*dz) > m_magdistance2) { - + if((dx*dx+dy*dy+dz*dz) > m_magdistance2) + { m_fldPosition[0] = P[0]; m_fldPosition[1] = P[1]; m_fldPosition[2] = P[2]; diff --git a/source/geometry/magneticfield/include/G4RKG3_Stepper.hh b/source/geometry/magneticfield/include/G4RKG3_Stepper.hh index 2773243df1..fdc75f7ec3 100644 --- a/source/geometry/magneticfield/include/G4RKG3_Stepper.hh +++ b/source/geometry/magneticfield/include/G4RKG3_Stepper.hh @@ -25,8 +25,8 @@ // // // -// $Id: G4RKG3_Stepper.hh,v 1.13 2007/05/18 12:44:02 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4RKG3_Stepper.hh,v 1.14 2010/07/23 14:13:09 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // @@ -68,20 +68,20 @@ class G4RKG3_Stepper : public G4MagIntegratorStepper G4double DistChord() const ; - void StepNoErr( const G4double tIn[7], - const G4double dydx[7], + void StepNoErr( const G4double tIn[8], + const G4double dydx[6], G4double Step, - G4double tOut[7], + G4double tOut[8], G4double B[3] ); // Integrator RK Stepper from G3 with only two field evaluation per // Step. It is used in propagation initial Step by small substeps // after solution error and delta geometry considerations. // B[3] is magnetic field which is passed from substep to substep. - void StepWithEst( const G4double tIn[7], - const G4double dydx[7], + void StepWithEst( const G4double tIn[8], + const G4double dydx[6], G4double Step, - G4double tOut[7], + G4double tOut[8], G4double& alpha2, G4double& beta2, const G4double B1[3], diff --git a/source/geometry/magneticfield/sources.cmake b/source/geometry/magneticfield/sources.cmake new file mode 100644 index 0000000000..e9f3d11aa3 --- /dev/null +++ b/source/geometry/magneticfield/sources.cmake @@ -0,0 +1,138 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4magneticfield +# Package: Geant4.src.G4geometry.G4magneticfield +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 29/9/2010 +# +# $Id: sources.cmake,v 1.3 2010/09/29 20:43:15 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4magneticfield + HEADERS + G4CachedMagneticField.hh + G4CashKarpRKF45.hh + G4ChordFinder.hh + G4ChordFinder.icc + G4ChordFinderSaf.hh + G4ClassicalRK4.hh + G4ConstRK4.hh + G4DELPHIMagField.hh + G4ElectricField.hh + G4ElectroMagneticField.hh + G4EqEMFieldWithEDM.hh + G4EqEMFieldWithSpin.hh + G4EqMagElectricField.hh + G4EquationOfMotion.hh + G4EquationOfMotion.icc + G4ErrorMag_UsualEqRhs.hh + G4ExactHelixStepper.hh + G4ExplicitEuler.hh + G4Field.hh + G4FieldManager.hh + G4FieldManager.icc + G4FieldManagerStore.hh + G4FieldTrack.hh + G4FieldTrack.icc + G4HarmonicPolMagField.hh + G4HelixExplicitEuler.hh + G4HelixHeum.hh + G4HelixImplicitEuler.hh + G4HelixMixedStepper.hh + G4HelixSimpleRunge.hh + G4ImplicitEuler.hh + G4LineCurrentMagField.hh + G4LineSection.hh + G4MagErrorStepper.hh + G4MagErrorStepper.icc + G4MagHelicalStepper.hh + G4MagHelicalStepper.icc + G4MagIntegratorDriver.hh + G4MagIntegratorDriver.icc + G4MagIntegratorStepper.hh + G4MagIntegratorStepper.icc + G4Mag_EqRhs.hh + G4Mag_SpinEqRhs.hh + G4Mag_UsualEqRhs.hh + G4MonopoleEq.hh + G4MagneticField.hh + G4NystromRK4.hh + G4QuadrupoleMagField.hh + G4RKG3_Stepper.hh + G4SimpleHeum.hh + G4SimpleRunge.hh + G4UniformElectricField.hh + G4UniformMagField.hh + SOURCES + G4CachedMagneticField.cc + G4CashKarpRKF45.cc + G4ChordFinder.cc + G4ChordFinderSaf.cc + G4ClassicalRK4.cc + G4ConstRK4.cc + G4DELPHIMagField.cc + G4ElectricField.cc + G4ElectroMagneticField.cc + G4EqEMFieldWithEDM.cc + G4EqEMFieldWithSpin.cc + G4EqMagElectricField.cc + G4EquationOfMotion.cc + G4ErrorMag_UsualEqRhs.cc + G4ExactHelixStepper.cc + G4ExplicitEuler.cc + G4FieldManager.cc + G4FieldManagerStore.cc + G4FieldTrack.cc + G4HarmonicPolMagField.cc + G4HelixExplicitEuler.cc + G4HelixHeum.cc + G4HelixImplicitEuler.cc + G4HelixMixedStepper.cc + G4HelixSimpleRunge.cc + G4ImplicitEuler.cc + G4LineCurrentMagField.cc + G4LineSection.cc + G4MagErrorStepper.cc + G4MagHelicalStepper.cc + G4MagIntegratorDriver.cc + G4MagIntegratorStepper.cc + G4Mag_EqRhs.cc + G4Mag_SpinEqRhs.cc + G4Mag_UsualEqRhs.cc + G4MagneticField.cc + G4MonopoleEq.cc + G4NystromRK4.cc + G4QuadrupoleMagField.cc + G4RKG3_Stepper.cc + G4SimpleHeum.cc + G4SimpleRunge.cc + G4UniformElectricField.cc + G4UniformMagField.cc + GRANULAR_DEPENDENCIES + G4globman + GLOBAL_DEPENDENCIES + G4global + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/geometry/magneticfield/src/G4CashKarpRKF45.cc b/source/geometry/magneticfield/src/G4CashKarpRKF45.cc index 0d1736431c..43fd714a18 100644 --- a/source/geometry/magneticfield/src/G4CashKarpRKF45.cc +++ b/source/geometry/magneticfield/src/G4CashKarpRKF45.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CashKarpRKF45.cc,v 1.15 2008/01/11 18:11:44 japost Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4CashKarpRKF45.cc,v 1.16 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // The Cash-Karp Runge-Kutta-Fehlberg 4/5 method is an embedded fourth // order method (giving fifth-order accuracy) for the solution of an ODE. @@ -48,9 +48,9 @@ G4CashKarpRKF45::G4CashKarpRKF45(G4EquationOfMotion *EqRhs, G4int noIntegrationVariables, G4bool primary) - : G4MagIntegratorStepper(EqRhs, noIntegrationVariables) + : G4MagIntegratorStepper(EqRhs, noIntegrationVariables), + fLastStepLength(0.), fAuxStepper(0) { - // unsigned int noVariables= std::max(numberOfVariables,8); // For Time .. 7+1 const G4int numberOfVariables = noIntegrationVariables; ak2 = new G4double[numberOfVariables] ; @@ -68,10 +68,10 @@ G4CashKarpRKF45::G4CashKarpRKF45(G4EquationOfMotion *EqRhs, fMidVector = new G4double[numberOfVariables]; fMidError = new G4double[numberOfVariables]; - fAuxStepper = 0; - if( primary ) - fAuxStepper = new G4CashKarpRKF45(EqRhs, numberOfVariables, !primary); - + if( primary ) + { + fAuxStepper = new G4CashKarpRKF45(EqRhs, numberOfVariables, !primary); + } } ///////////////////////////////////////////////////////////////////// diff --git a/source/geometry/magneticfield/src/G4ConstRK4.cc b/source/geometry/magneticfield/src/G4ConstRK4.cc index 0459bcaceb..b9c0411a42 100644 --- a/source/geometry/magneticfield/src/G4ConstRK4.cc +++ b/source/geometry/magneticfield/src/G4ConstRK4.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ConstRK4.cc,v 1.2 2008/10/29 14:17:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ConstRK4.cc,v 1.5 2010/09/10 15:51:10 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // - 18.09.2008 - J.Apostolakis, T.Nikitina - Created @@ -37,29 +37,32 @@ ////////////////////////////////////////////////////////////////// // -// Constructor sets the number of variables (default = 8) +// Constructor sets the number of *State* variables (default = 8) +// The number of variables integrated is always 6 -G4ConstRK4::G4ConstRK4(G4Mag_EqRhs* EqRhs, G4int numberOfVariables) - : G4MagErrorStepper(EqRhs, numberOfVariables) +G4ConstRK4::G4ConstRK4(G4Mag_EqRhs* EqRhs, G4int numStateVariables) + : G4MagErrorStepper(EqRhs, 6, numStateVariables) { - if(numberOfVariables !=8 ) + // const G4int numberOfVariables= 6; + if( numStateVariables < 8 ) { + G4cerr << "ERROR in G4ConstRK4::G4ConstRK4 " + << " The number of State variables at least 8 " << G4endl; + G4cerr << " Instead it is numStateVariables= " << numStateVariables << G4endl; G4Exception("G4ConstRK4::G4ConstRK4()", "InvalidSetup", FatalException, - "Valid only for number of variables=8. Use another Stepper!"); + "Valid only for number of state variables of 8 or more. Use another Stepper!"); } - else - { - fEq=EqRhs; - yMiddle= new G4double[8]; - dydxMid= new G4double[8]; - yInitial= new G4double[8]; - yOneStep= new G4double[8]; - dydxm = new G4double[8]; - dydxt = new G4double[8]; - yt = new G4double[8]; - Field[0]=0.;Field[1]=0.;Field[2]=0.; - } + fEq = EqRhs; + yMiddle = new G4double[8]; + dydxMid = new G4double[8]; + yInitial = new G4double[8]; + yOneStep = new G4double[8]; + + dydxm = new G4double[8]; + dydxt = new G4double[8]; + yt = new G4double[8]; + Field[0]=0.; Field[1]=0.; Field[2]=0.; } //////////////////////////////////////////////////////////////// @@ -149,24 +152,24 @@ G4ConstRK4::Stepper( const G4double yInput[], G4double yOutput[], G4double yError [] ) { - const G4int nvar = 8 ; - const G4int maxvar= 8; - - G4int i; + const G4int nvar = 6; // number of variables integrated + const G4int maxvar= GetNumberOfStateVariables(); // Correction for Richardson extrapolation - // G4double correction = 1. / ( (1 << IntegratorOrder()) -1 ); + + G4int i; // Saving yInput because yInput and yOutput can be aliases for same array + for (i=0; i dumb stepper does it too for RK4 - for (i=nvar;i dumb stepper does it too for RK4 yError[7] = 0.0; G4double halfStep = hstep * 0.5; diff --git a/source/geometry/magneticfield/src/G4EqEMFieldWithEDM.cc b/source/geometry/magneticfield/src/G4EqEMFieldWithEDM.cc index e35236efd4..5a5eb39905 100644 --- a/source/geometry/magneticfield/src/G4EqEMFieldWithEDM.cc +++ b/source/geometry/magneticfield/src/G4EqEMFieldWithEDM.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EqEMFieldWithEDM.cc,v 1.2 2009/11/06 22:31:54 gum Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EqEMFieldWithEDM.cc,v 1.3 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // This is the standard right-hand side for equation of motion. @@ -42,10 +42,10 @@ #include "globals.hh" G4EqEMFieldWithEDM::G4EqEMFieldWithEDM(G4ElectroMagneticField *emField ) - : G4EquationOfMotion( emField ) + : G4EquationOfMotion( emField ), fElectroMagCof(0.), fMassCof(0.), + omegac(0.), anomaly(0.0011659208), eta(0.), pcharge(0.), E(0.), + gamma(0.), beta(0.) { - anomaly = 0.0011659208; - eta = 0.; } G4EqEMFieldWithEDM::~G4EqEMFieldWithEDM() @@ -62,7 +62,7 @@ G4EqEMFieldWithEDM::SetChargeMomentumMass(G4double particleCharge, // e+ units omegac = 0.105658387*GeV/particleMass * 2.837374841e-3*(rad/cm/kilogauss); - ParticleCharge = particleCharge; + pcharge = particleCharge; E = std::sqrt(sqr(MomentumXc)+sqr(particleMass)); beta = MomentumXc/E; @@ -144,17 +144,15 @@ G4EqEMFieldWithEDM::EvaluateRhsGivenB(const G4double y[], G4ThreeVector Spin(y[9],y[10],y[11]); G4ThreeVector dSpin - = ParticleCharge*omegac*( ucb*(Spin.cross(BField))-udb*(Spin.cross(u)) + = pcharge*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)) - ) - ); - + - 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(); diff --git a/source/geometry/magneticfield/src/G4EqEMFieldWithSpin.cc b/source/geometry/magneticfield/src/G4EqEMFieldWithSpin.cc index cd15266d7d..3f0227fd61 100644 --- a/source/geometry/magneticfield/src/G4EqEMFieldWithSpin.cc +++ b/source/geometry/magneticfield/src/G4EqEMFieldWithSpin.cc @@ -24,16 +24,15 @@ // ******************************************************************** // // -// $Id: G4EqEMFieldWithSpin.cc,v 1.8 2009/11/06 22:31:35 gum Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EqEMFieldWithSpin.cc,v 1.9 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // This is the standard right-hand side for equation of motion. // // 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 +// 06.11.2009 Hiromi Iinuma // // ------------------------------------------------------------------- @@ -43,9 +42,9 @@ #include "globals.hh" G4EqEMFieldWithSpin::G4EqEMFieldWithSpin(G4ElectroMagneticField *emField ) - : G4EquationOfMotion( emField ) + : G4EquationOfMotion( emField ), fElectroMagCof(0.), fMassCof(0.), + omegac(0.), anomaly(0.0011659208), pcharge(0.), E(0.), gamma(0.), beta(0.) { - anomaly = 0.0011659208; } G4EqEMFieldWithSpin::~G4EqEMFieldWithSpin() @@ -62,7 +61,7 @@ G4EqEMFieldWithSpin::SetChargeMomentumMass(G4double particleCharge, // e+ units omegac = 0.105658387*GeV/particleMass * 2.837374841e-3*(rad/cm/kilogauss); - ParticleCharge = particleCharge; + pcharge = particleCharge; E = std::sqrt(sqr(MomentumXc)+sqr(particleMass)); beta = MomentumXc/E; @@ -134,11 +133,11 @@ G4EqEMFieldWithSpin::EvaluateRhsGivenB(const G4double y[], G4ThreeVector Spin(y[9],y[10],y[11]); G4ThreeVector dSpin - = ParticleCharge*omegac*( ucb*(Spin.cross(BField))-udb*(Spin.cross(u)) + = pcharge*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)) ); + - uce*(u*(Spin*EField) - EField*(Spin*u)) ); dydx[ 9] = dSpin.x(); dydx[10] = dSpin.y(); diff --git a/source/geometry/magneticfield/src/G4ExactHelixStepper.cc b/source/geometry/magneticfield/src/G4ExactHelixStepper.cc index 358ff5e16f..b10138f999 100644 --- a/source/geometry/magneticfield/src/G4ExactHelixStepper.cc +++ b/source/geometry/magneticfield/src/G4ExactHelixStepper.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExactHelixStepper.cc,v 1.9 2008/10/29 14:34:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExactHelixStepper.cc,v 1.11 2010/07/21 13:46:01 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Helix a-la-Explicity Euler: x_1 = x_0 + helix(h) // with helix(h) being a helix piece of length h @@ -42,97 +42,83 @@ #include "G4ThreeVector.hh" #include "G4LineSection.hh" - G4ExactHelixStepper::G4ExactHelixStepper(G4Mag_EqRhs *EqRhs) : G4MagHelicalStepper(EqRhs), - fBfieldValue(DBL_MAX, DBL_MAX, DBL_MAX), yInitialEHS(DBL_MAX), yFinalEHS(-DBL_MAX) - + fBfieldValue(DBL_MAX, DBL_MAX, DBL_MAX), + fPtrMagEqOfMot(EqRhs) { - const G4int nvar = 6 ; - G4int i; - for(i=0;i pi !! // If( h/R < pi) DistChord=h/2*std::tan(Ang_curve/4) // Else DistChord=R_helix - // + G4double distChord; G4double Ang_curve=GetAngCurve(); - - if(Ang_curve<=pi){ - distChord=GetRadHelix()*(1-std::cos(0.5*Ang_curve)); - } - else - if(Ang_curve2) - { - PrintStatus( ySubStepStart, xSubStart, y, x, h, nstp); // Only + if (dbg>2) { + PrintStatus( ySubStepStart, xSubStepStart, y, x, h, nstp); // Only } #endif } @@ -290,8 +290,11 @@ G4MagInt_Driver::AccurateAdvance(G4FieldTrack& y_current, if( (dbg>0) && (dbg<=2) && (nstp>nStpPr)) { if( nstp==nStpPr ) { G4cout << "***** Many steps ****" << G4endl; } + G4cout << "MagIntDrv: " ; G4cout << "hdid=" << std::setw(12) << hdid << " " - << "hnext=" << std::setw(12) << hnext << " " << G4endl; + << "hnext=" << std::setw(12) << hnext << " " + << "hstep=" << std::setw(12) << hstep << " (requested) " + << G4endl; PrintStatus( ystart, x1, y, x, h, (nstp==nStpPr) ? -nstp: nstp); } #endif @@ -368,13 +371,16 @@ G4MagInt_Driver::AccurateAdvance(G4FieldTrack& y_current, // Cannot progress - accept this as last step - by default lastStep = true; #ifdef G4DEBUG_FIELD - if (dbg) + if (dbg>2) { + int prec= G4cout.precision(12); G4cout << "Warning: G4MagIntegratorDriver::AccurateAdvance" << G4endl << " Integration step 'h' became " - << h << " due to roundoff " << G4endl + << h << " due to roundoff. " << G4endl + << " Calculated as difference of x2= "<< x2 << " and x=" << x << " Forcing termination of advance." << G4endl; + G4cout.precision(prec); } #endif } @@ -580,7 +586,8 @@ G4MagInt_Driver::OneGoodStep( G4double y[], // InOut 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; - } + errmax_sq = std::max( errmax_sq, errspin_sq ); + } if ( errmax_sq <= 1.0 ) { break; } // Step succeeded. diff --git a/source/geometry/magneticfield/src/G4Mag_EqRhs.cc b/source/geometry/magneticfield/src/G4Mag_EqRhs.cc index f562c96b2e..d98fa3be07 100644 --- a/source/geometry/magneticfield/src/G4Mag_EqRhs.cc +++ b/source/geometry/magneticfield/src/G4Mag_EqRhs.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Mag_EqRhs.cc,v 1.11 2006/06/29 18:24:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Mag_EqRhs.cc,v 1.12 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // This is the standard right-hand side for equation of motion // in a pure Magnetic Field . @@ -47,7 +47,7 @@ const G4double G4Mag_EqRhs::fUnitConstant = 0.299792458 * (GeV/(tesla*m)); // Constructor Implementation // G4Mag_EqRhs::G4Mag_EqRhs( G4MagneticField *magField ) - : G4EquationOfMotion(magField) + : G4EquationOfMotion(magField), fCof_val(0.) { } diff --git a/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc b/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc index ef3dfc009a..5d6851510b 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.15 2009/03/25 15:29:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Mag_SpinEqRhs.cc,v 1.16 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // This is the standard right-hand side for equation of motion. // This version of the right-hand side includes the three components @@ -42,9 +42,9 @@ #include "G4ThreeVector.hh" G4Mag_SpinEqRhs::G4Mag_SpinEqRhs( G4MagneticField* MagField ) - : G4Mag_EqRhs( MagField ) + : G4Mag_EqRhs( MagField ), omegac(0.), anomaly(0.0011659208), + pcharge(0.), E(0.), gamma(0.), beta(0.) { - anomaly = 0.0011659208; } G4Mag_SpinEqRhs::~G4Mag_SpinEqRhs() @@ -61,7 +61,7 @@ G4Mag_SpinEqRhs::SetChargeMomentumMass(G4double particleCharge, // in e+ units omegac = 0.105658387*GeV/particleMass * 2.837374841e-3*(rad/cm/kilogauss); - ParticleCharge = particleCharge; + pcharge = particleCharge; E = std::sqrt(sqr(MomentumXc)+sqr(particleMass)); beta = MomentumXc/E; @@ -100,7 +100,7 @@ G4Mag_SpinEqRhs::EvaluateRhsGivenB( const G4double y[], G4ThreeVector dSpin; - dSpin = ParticleCharge*omegac*(ucb*(Spin.cross(BField))-udb*(Spin.cross(u))); + dSpin = pcharge*omegac*(ucb*(Spin.cross(BField))-udb*(Spin.cross(u))); dydx[ 9] = dSpin.x(); dydx[10] = dSpin.y(); diff --git a/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc b/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc index 8e2847a3c0..aede109eca 100644 --- a/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc +++ b/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Mag_UsualEqRhs.cc,v 1.12 2006/06/29 18:24:42 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Mag_UsualEqRhs.cc,v 1.13 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // This is the 'standard' right-hand side for the equation of motion @@ -39,7 +39,7 @@ #include "G4MagneticField.hh" G4Mag_UsualEqRhs::G4Mag_UsualEqRhs( G4MagneticField* MagField ) - : G4Mag_EqRhs( MagField ) {} + : G4Mag_EqRhs( MagField ), fInvCurrentMomentumXc(0.) {} G4Mag_UsualEqRhs::~G4Mag_UsualEqRhs() {} diff --git a/source/geometry/magneticfield/src/G4MonopoleEq.cc b/source/geometry/magneticfield/src/G4MonopoleEq.cc new file mode 100644 index 0000000000..d32ad75792 --- /dev/null +++ b/source/geometry/magneticfield/src/G4MonopoleEq.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. * +// ******************************************************************** +// +// +// $Id: G4MonopoleEq.cc,v 1.2 2010/03/18 10:23:29 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// This is the right-hand side for equation of motion for a +// magnetic charge in a combined Electro-Magnetic field +// +// d(p_c)/ds=g{c-energyB_ - p_c x E}/pc +// +// 17.11.09 V.Grichine +// +// ------------------------------------------------------------------- + +#include "G4MonopoleEq.hh" +#include "globals.hh" + +void +G4MonopoleEq::SetChargeMomentumMass(G4double particleCharge, // e+ units + G4double, + G4double particleMass) +{ + fElectroMagCof = eplus*particleCharge; // no *c_light as for ususal q + fElectroMagCof /= 2*fine_structure_const; + + fMassCof = particleMass*particleMass ; +} + + + +void +G4MonopoleEq::EvaluateRhsGivenB(const G4double y[], + const G4double Field[], + G4double dydx[] ) const +{ + + // Components of y: + // 0-2 dr/ds, + // 3-5 d(pc)/ds - momentum derivatives + + 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 * 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 ; + + dydx[3] = cof1*(cof2*Field[0] - (y[4]*Field[5] - y[5]*Field[4])) ; + + dydx[4] = cof1*(cof2*Field[1] - (y[5]*Field[3] - y[3]*Field[5])) ; + + dydx[5] = cof1*(cof2*Field[2] - (y[3]*Field[4] - y[4]*Field[3])) ; + + dydx[6] = 0.;//not used + + // Lab Time of flight + dydx[7] = inverse_velocity; + return ; +} diff --git a/source/geometry/magneticfield/src/G4NystromRK4.cc b/source/geometry/magneticfield/src/G4NystromRK4.cc index f3532c81ae..d18433d411 100644 --- a/source/geometry/magneticfield/src/G4NystromRK4.cc +++ b/source/geometry/magneticfield/src/G4NystromRK4.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NystromRK4.cc,v 1.6 2009/12/16 17:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4NystromRK4.cc,v 1.9 2010/09/10 15:42:09 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // History: // - Created: I.Gavrilenko 15.05.2009 (as G4AtlasRK4) @@ -48,10 +48,11 @@ G4NystromRK4::G4NystromRK4(G4Mag_EqRhs* magEqRhs, G4double distanceConstField) 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[0] = m_iPoint[0] = m_fPoint[0] = m_mPoint[0] = 9.9999999e+99 ; + m_fldPosition[1] = m_iPoint[1] = m_fPoint[1] = m_mPoint[1] = 9.9999999e+99 ; + m_fldPosition[2] = m_iPoint[2] = m_fPoint[2] = m_mPoint[2] = 9.9999999e+99 ; m_fldPosition[3] = -9.9999999e+99; + m_lastField[0] = m_lastField[1] = m_lastField[2] = 0.0; m_magdistance2 = distanceConstField*distanceConstField; } @@ -195,7 +196,8 @@ G4NystromRK4::DistChord() const void G4NystromRK4::ComputeRightHandSide(const G4double P[],G4double dPdS[]) { - getField(P); + G4double P4vec[4]= { P[0], P[1], P[2], P[7] }; // Time is P[7] + getField(P4vec); 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 ; diff --git a/source/geometry/magneticfield/src/G4RKG3_Stepper.cc b/source/geometry/magneticfield/src/G4RKG3_Stepper.cc index 2dd863f8ad..b1b07ce954 100644 --- a/source/geometry/magneticfield/src/G4RKG3_Stepper.cc +++ b/source/geometry/magneticfield/src/G4RKG3_Stepper.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RKG3_Stepper.cc,v 1.15 2007/08/21 10:17:41 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4RKG3_Stepper.cc,v 1.17 2010/07/23 14:13:49 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- @@ -34,21 +34,18 @@ #include "G4Mag_EqRhs.hh" G4RKG3_Stepper::G4RKG3_Stepper(G4Mag_EqRhs *EqRhs) - : G4MagIntegratorStepper(EqRhs,6) + : G4MagIntegratorStepper(EqRhs,6), hStep(0.), fPtrMagEqOfMot(EqRhs) { - - fPtrMagEqOfMot=EqRhs; - } G4RKG3_Stepper::~G4RKG3_Stepper() { } -void G4RKG3_Stepper::Stepper( const G4double yInput[7], - const G4double dydx[7], +void G4RKG3_Stepper::Stepper( const G4double yInput[8], + const G4double dydx[6], G4double Step, - G4double yOut[7], + G4double yOut[8], G4double yErr[]) { G4double B[3]; @@ -56,10 +53,11 @@ void G4RKG3_Stepper::Stepper( const G4double yInput[7], G4int i; G4double by15 = 1. / 15. ; // was 0.066666666 ; - G4double yTemp[7], dydxTemp[6], yIn[7] ; + G4double yTemp[8], dydxTemp[6], yIn[8] ; // Saving yInput because yInput and yOut can be aliases for same array for(i=0;i= 0 && - vTheta >= 0 && vTheta <= pi && - vPhi >= 0 && vPhi <= twopi) - { - fFieldComponents[0] = 0.0; - fFieldComponents[1] = 0.0; - fFieldComponents[2] = 0.0; - fFieldComponents[3] = vField*std::sin(vTheta)*std::cos(vPhi) ; - fFieldComponents[4] = vField*std::sin(vTheta)*std::sin(vPhi) ; - fFieldComponents[5] = vField*std::cos(vTheta) ; - } - else + if ( (vField<0) || (vTheta<0) || (vTheta>pi) || (vPhi<0) || (vPhi>twopi) ) { G4Exception("G4UniformElectricField::G4UniformElectricField()", "WrongArgumentValue", FatalException, "Invalid parameters."); } + + fFieldComponents[0] = 0.0; + fFieldComponents[1] = 0.0; + fFieldComponents[2] = 0.0; + fFieldComponents[3] = vField*std::sin(vTheta)*std::cos(vPhi) ; + fFieldComponents[4] = vField*std::sin(vTheta)*std::sin(vPhi) ; + fFieldComponents[5] = vField*std::cos(vTheta) ; } G4UniformElectricField::~G4UniformElectricField() diff --git a/source/geometry/magneticfield/src/G4UniformMagField.cc b/source/geometry/magneticfield/src/G4UniformMagField.cc index 46dc76d9b9..749232b355 100644 --- a/source/geometry/magneticfield/src/G4UniformMagField.cc +++ b/source/geometry/magneticfield/src/G4UniformMagField.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UniformMagField.cc,v 1.11 2006/06/29 18:24:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UniformMagField.cc,v 1.12 2010/07/14 10:00:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Class for creation of uniform Magnetic Field @@ -55,19 +55,14 @@ G4UniformMagField::G4UniformMagField(G4double vField, G4double vTheta, G4double vPhi ) { - if(vField >= 0 && - vTheta >= 0 && vTheta <= pi && - vPhi >= 0 && vPhi <= twopi) - { - fFieldComponents[0] = vField*std::sin(vTheta)*std::cos(vPhi) ; - fFieldComponents[1] = vField*std::sin(vTheta)*std::sin(vPhi) ; - fFieldComponents[2] = vField*std::cos(vTheta) ; - } - else + if ( (vField<0) || (vTheta<0) || (vTheta>pi) || (vPhi<0) || (vPhi>twopi) ) { G4Exception("G4UniformMagField::G4UniformMagField()", "WrongArgumentValue", FatalException, "Invalid parameters.") ; } + fFieldComponents[0] = vField*std::sin(vTheta)*std::cos(vPhi) ; + fFieldComponents[1] = vField*std::sin(vTheta)*std::sin(vPhi) ; + fFieldComponents[2] = vField*std::cos(vTheta) ; } G4UniformMagField::~G4UniformMagField() diff --git a/source/geometry/management/CMakeLists.txt b/source/geometry/management/CMakeLists.txt new file mode 100644 index 0000000000..9ccb7370d0 --- /dev/null +++ b/source/geometry/management/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4geometrymng +# Package: Geant4.src.G4geometry.G4geometrymng +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:41:27 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/geometry/management/GNUmakefile b/source/geometry/management/GNUmakefile index 056dcfd283..99328f6e2a 100644 --- a/source/geometry/management/GNUmakefile +++ b/source/geometry/management/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.5 2004/11/12 09:05:05 gcosmo Exp $ +# $Id: GNUmakefile,v 1.7 2010/10/27 07:34:32 gcosmo Exp $ # ----------------------------------------------------------------------- # GNUmakefile for geometry/management library. Gabriele Cosmo, 16/11/96. # ----------------------------------------------------------------------- diff --git a/source/geometry/management/History b/source/geometry/management/History index 6b4b6e0bd0..b4bc230efb 100644 --- a/source/geometry/management/History +++ b/source/geometry/management/History @@ -1,4 +1,4 @@ -$Id: History,v 1.138 2009/11/27 16:34:53 gcosmo Exp $ +$Id: History,v 1.145 2010/10/19 15:20:33 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,43 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +October 19, 2010 G.Cosmo geommng-V09-03-05 +- Added Clone() virtual method to G4VSolid, to return a pointer to a + dynamically allocated copy of the solid. To be used by Geant4-MT. +- Added copy-ctr and assignment operator to G4ReflectedSolid, now also + implementing the Clone() method. + +September 6, 2010 G.Cosmo geommng-V09-03-04 +- Fixed false-positive null forward case in G4SmartVoxelHeader. + +July 16, 2010 G.Cosmo geommng-V09-03-03 +- Fixed compilation errors for code within G4GEOMETRY_VOXELDEBUG flag + in G4GeometryManager and G4SmartVoxelHeader. +- Added printout of voxel limits in G4SmartVoxelHeader::Buildnodes() and + removed protection on node width previously introduced. + +July 13, 2010 G.Cosmo geommng-V09-03-02 +- G4SmartVoxelHeader: added protection against rare cases of zero computed + node width in BuildNodes(). + +July 2, 2010 G.Cosmo geommng-V09-03-01 +- G4LogicalSurface: added missing initialisation for 'theTransRadSurface' + data member. Made virtual destructor and constructors not inline. +- G4ErrorTarget: added missing default initialisation of a data member. +- G4SmartVoxelHeader: added return statement after exceptions in methods + BuildVoxelsWithinLimits() and BuildNodes(); fixed case of invalid iterator + in deletion of test slices in BuildVoxelsWithinLimits(); added protection + for cases of invalide number of nodes in RefineNodes(), and added return + statement after exceptions. +- G4GeometryManager: restore cout precision after printing voxel statistics. +- G4LogicalVolume: added return statement after exception in GetMass(). +- G4ReflectedSolid: moved reserve() statement for 'vertices' within null-check + condition in CalculateExtent() ... + +February 9, 2010 G.Cosmo geommng-V09-03-00 +- Fixed initialisation of min/max extent for mother and target volumes in + method BuildNodes() of G4SmartVoxelHeader. + November 27, 2009 G.Cosmo geommng-V09-02-05 - G4Region: added pointer to field-manager and associated accessor/modifier. diff --git a/source/geometry/management/include/G4LogicalSurface.hh b/source/geometry/management/include/G4LogicalSurface.hh index 7078b3ce0f..8dca49c453 100644 --- a/source/geometry/management/include/G4LogicalSurface.hh +++ b/source/geometry/management/include/G4LogicalSurface.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LogicalSurface.hh,v 1.11 2009/04/21 15:18:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LogicalSurface.hh,v 1.12 2010/07/05 09:22:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //////////////////////////////////////////////////////////////////////// // Class G4LogicalSurface @@ -52,7 +52,7 @@ // // Data members: // G4String theName -// G4SurfaceProperty* theSurfaceProperty +// G4SurfaceProperty* theSurfaceProperty // G4TransitionRadiationSurface* theTransRadSurface // Created: 1997, June, 4th to 17th @@ -82,33 +82,33 @@ class G4LogicalSurface public: // with description - G4SurfaceProperty* GetSurfaceProperty() const; - void SetSurfaceProperty(G4SurfaceProperty* ptrSurfaceProperty); + inline G4SurfaceProperty* GetSurfaceProperty() const; + inline void SetSurfaceProperty(G4SurfaceProperty* ptrSurfaceProperty); - const G4String& GetName() const; - void SetName(const G4String& name); + inline const G4String& GetName() const; + inline void SetName(const G4String& name); - G4TransitionRadiationSurface* GetTransitionRadiationSurface() const; - void SetTransitionRadiationSurface(G4TransitionRadiationSurface* tRadSurf); + inline G4TransitionRadiationSurface* GetTransitionRadiationSurface() const; + inline void SetTransitionRadiationSurface(G4TransitionRadiationSurface* tRadSurf); public: // without description virtual ~G4LogicalSurface(); - G4int operator==(const G4LogicalSurface &right) const; - G4int operator!=(const G4LogicalSurface &right) const; + inline G4int operator==(const G4LogicalSurface &right) const; + inline G4int operator!=(const G4LogicalSurface &right) const; protected: // There should be no instances of this class - G4LogicalSurface(const G4String& name, G4SurfaceProperty* surfaceProperty); + G4LogicalSurface(const G4String& name, G4SurfaceProperty* prop); // Is the name more meaningful for the properties or the logical surface ? - private: + private: // Copying restricted - G4LogicalSurface(const G4LogicalSurface &right); // Copying restricted - const G4LogicalSurface& operator=(const G4LogicalSurface& right); + G4LogicalSurface(const G4LogicalSurface &right); + inline const G4LogicalSurface& operator=(const G4LogicalSurface& right); private: diff --git a/source/geometry/management/include/G4LogicalSurface.icc b/source/geometry/management/include/G4LogicalSurface.icc index 0016ce5952..8f949eacc3 100644 --- a/source/geometry/management/include/G4LogicalSurface.icc +++ b/source/geometry/management/include/G4LogicalSurface.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LogicalSurface.icc,v 1.10 2009/04/21 15:18:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LogicalSurface.icc,v 1.11 2010/07/05 09:22:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //////////////////////////////////////////////////////////////////////// // Surface Class Inline Methods @@ -41,41 +41,40 @@ inline G4SurfaceProperty* G4LogicalSurface::GetSurfaceProperty() const { - return theSurfaceProperty; + return theSurfaceProperty; } inline void G4LogicalSurface::SetSurfaceProperty(G4SurfaceProperty* ptrSurfaceProperty) { - theSurfaceProperty = ptrSurfaceProperty; + theSurfaceProperty = ptrSurfaceProperty; } inline const G4String& G4LogicalSurface::GetName() const { - return theName; + return theName; } inline void G4LogicalSurface::SetName(const G4String& name) { - theName = name; + theName = name; } inline G4TransitionRadiationSurface* G4LogicalSurface::GetTransitionRadiationSurface() const { - return theTransRadSurface; + return theTransRadSurface; } inline void G4LogicalSurface::SetTransitionRadiationSurface(G4TransitionRadiationSurface* transRadSurf ) { - theTransRadSurface= transRadSurf; + theTransRadSurface= transRadSurf; } - ////////////// // Operators ////////////// @@ -83,41 +82,22 @@ G4LogicalSurface::SetTransitionRadiationSurface(G4TransitionRadiationSurface* inline const G4LogicalSurface & G4LogicalSurface::operator=(const G4LogicalSurface &right) { - if (&right == this) return *this; - theName = right.theName; - theSurfaceProperty = right.theSurfaceProperty; - theTransRadSurface = right.theTransRadSurface; + if (&right == this) { return *this; } + theName = right.theName; + theSurfaceProperty = right.theSurfaceProperty; + theTransRadSurface = right.theTransRadSurface; - return *this; + return *this; } inline G4int G4LogicalSurface::operator==(const G4LogicalSurface &right) const { - return (this == (G4LogicalSurface *) &right); + return (this == (G4LogicalSurface *) &right); } inline G4int G4LogicalSurface::operator!=(const G4LogicalSurface &right) const { - return (this != (G4LogicalSurface *) &right); -} - - ///////////////// - // Constructors - ///////////////// - -inline G4LogicalSurface::G4LogicalSurface(const G4String& name, - G4SurfaceProperty* surfaceProperty) - : theName(name), theSurfaceProperty(surfaceProperty) -{ -} - -inline G4LogicalSurface::G4LogicalSurface(const G4LogicalSurface &right) -{ - *this = right; -} - -inline G4LogicalSurface::~G4LogicalSurface() -{ + return (this != (G4LogicalSurface *) &right); } diff --git a/source/geometry/management/include/G4ReflectedSolid.hh b/source/geometry/management/include/G4ReflectedSolid.hh index a379aa974b..e4036b3ab6 100644 --- a/source/geometry/management/include/G4ReflectedSolid.hh +++ b/source/geometry/management/include/G4ReflectedSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ReflectedSolid.hh,v 1.5 2006/06/29 18:31:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ReflectedSolid.hh,v 1.6 2010/10/19 15:20:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4ReflectedSolid @@ -93,6 +93,8 @@ class G4ReflectedSolid : public G4VSolid G4ThreeVector GetPointOnSurface() const; + G4VSolid* Clone() const; + public: // with description virtual G4GeometryType GetEntityType() const; @@ -114,6 +116,10 @@ class G4ReflectedSolid : public G4VSolid public: // without description + G4ReflectedSolid(const G4ReflectedSolid& rhs); + G4ReflectedSolid& operator=(const G4ReflectedSolid& rhs); + // Copy constructor and assignment operator. + void DescribeYourselfTo ( G4VGraphicsScene& scene ) const ; G4Polyhedron* CreatePolyhedron () const ; G4NURBS* CreateNURBS () const ; @@ -148,11 +154,6 @@ class G4ReflectedSolid : public G4VSolid mutable G4Polyhedron* fpPolyhedron; // Caches reflected G4Polyhedron. - private: - - G4ReflectedSolid(const G4ReflectedSolid&); - G4ReflectedSolid& operator=(const G4ReflectedSolid&); - // Private copy constructor and assignment operator. } ; #endif diff --git a/source/geometry/management/include/G4VSolid.hh b/source/geometry/management/include/G4VSolid.hh index 27ff3068be..98de2378f5 100644 --- a/source/geometry/management/include/G4VSolid.hh +++ b/source/geometry/management/include/G4VSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSolid.hh,v 1.29 2008/09/10 13:18:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VSolid.hh,v 1.30 2010/10/19 15:19:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4VSolid @@ -192,6 +192,11 @@ class G4VSolid virtual G4ThreeVector GetPointOnSurface() const; // Returns a random point located on the surface of the solid. + virtual G4VSolid* Clone() const; + // Returns a pointer of a dynamically allocated copy of the solid. + // Returns NULL pointer with warning in case the concrete solid does not + // implement this method. The caller has responsibility for ownership. + virtual std::ostream& StreamInfo(std::ostream& os) const = 0; // Dumps contents of the solid to a stream. inline void DumpInfo() const; diff --git a/source/geometry/management/sources.cmake b/source/geometry/management/sources.cmake new file mode 100644 index 0000000000..8f9a157666 --- /dev/null +++ b/source/geometry/management/sources.cmake @@ -0,0 +1,125 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4geometrymng +# Package: Geant4.src.G4geometry.G4geometrymng +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:41:37 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4geometrymng + HEADERS + G4AffineTransform.hh + G4AffineTransform.icc + G4BlockingList.hh + G4BlockingList.icc + G4ErrorCylSurfaceTarget.hh + G4ErrorPlaneSurfaceTarget.hh + G4ErrorSurfaceTarget.hh + G4ErrorTanPlaneTarget.hh + G4ErrorTarget.hh + G4GeometryManager.hh + G4IdentityTrajectoryFilter.hh + G4LogicalSurface.hh + G4LogicalSurface.icc + G4LogicalVolume.hh + G4LogicalVolume.icc + G4LogicalVolumeStore.hh + G4PhysicalVolumeStore.hh + G4ReflectedSolid.hh + G4Region.hh + G4Region.icc + G4RegionStore.hh + G4SmartVoxelHeader.hh + G4SmartVoxelHeader.icc + G4SmartVoxelNode.hh + G4SmartVoxelNode.icc + G4SmartVoxelProxy.hh + G4SmartVoxelProxy.icc + G4SmartVoxelStat.hh + G4SolidStore.hh + G4TouchableHandle.hh + G4VCurvedTrajectoryFilter.hh + G4VNestedParameterisation.hh + G4VPVDivisionFactory.hh + G4VPVParameterisation.hh + G4VPhysicalVolume.hh + G4VPhysicalVolume.icc + G4VSolid.hh + G4VSolid.icc + G4VStoreNotifier.hh + G4VTouchable.hh + G4VTouchable.icc + G4VUserRegionInformation.hh + G4VVolumeMaterialScanner.hh + G4VoxelLimits.hh + G4VoxelLimits.icc + meshdefs.hh + voxeldefs.hh + SOURCES + G4BlockingList.cc + G4ErrorCylSurfaceTarget.cc + G4ErrorPlaneSurfaceTarget.cc + G4ErrorSurfaceTarget.cc + G4ErrorTanPlaneTarget.cc + G4ErrorTarget.cc + G4GeometryManager.cc + G4IdentityTrajectoryFilter.cc + G4LogicalSurface.cc + G4LogicalVolume.cc + G4LogicalVolumeStore.cc + G4PhysicalVolumeStore.cc + G4ReflectedSolid.cc + G4Region.cc + G4RegionStore.cc + G4SmartVoxelHeader.cc + G4SmartVoxelNode.cc + G4SmartVoxelProxy.cc + G4SmartVoxelStat.cc + G4SolidStore.cc + G4VCurvedTrajectoryFilter.cc + G4VNestedParameterisation.cc + G4VPVDivisionFactory.cc + G4VPVParameterisation.cc + G4VPhysicalVolume.cc + G4VSolid.cc + G4VTouchable.cc + G4VoxelLimits.cc + GRANULAR_DEPENDENCIES + G4globman + G4graphics_reps + G4intercoms + G4materials + GLOBAL_DEPENDENCIES + G4global + G4graphics_reps + G4intercoms + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/geometry/management/src/G4ErrorTarget.cc b/source/geometry/management/src/G4ErrorTarget.cc index 0dc0333f29..de42c3f0e9 100644 --- a/source/geometry/management/src/G4ErrorTarget.cc +++ b/source/geometry/management/src/G4ErrorTarget.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ErrorTarget.cc,v 1.1 2007/05/16 12:50:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ErrorTarget.cc,v 1.2 2010/07/05 09:22:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -34,8 +34,10 @@ #include "G4ErrorTarget.hh" -G4ErrorTarget::G4ErrorTarget(){} -G4ErrorTarget::~G4ErrorTarget(){} +G4ErrorTarget::G4ErrorTarget() + : theType(G4ErrorTarget_GeomVolume) {} + +G4ErrorTarget::~G4ErrorTarget() {} G4double G4ErrorTarget::GetDistanceFromPoint( const G4ThreeVector&, const G4ThreeVector& ) const diff --git a/source/geometry/management/src/G4GeometryManager.cc b/source/geometry/management/src/G4GeometryManager.cc index d3d8eb938a..eeceed6827 100644 --- a/source/geometry/management/src/G4GeometryManager.cc +++ b/source/geometry/management/src/G4GeometryManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GeometryManager.cc,v 1.22 2008/05/16 13:46:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4GeometryManager.cc,v 1.24 2010/07/16 15:52:57 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GeometryManager // @@ -260,7 +260,7 @@ void G4GeometryManager::BuildOptimisations(G4bool allOpts, // Don't create voxels for this node #ifdef G4GEOMETRY_VOXELDEBUG G4cout << "**** G4GeometryManager::BuildOptimisations" << G4endl - << " Skipping logical volume name = " << volume->GetName() + << " Skipping logical volume name = " << tVolume->GetName() << G4endl; #endif } @@ -358,7 +358,8 @@ G4GeometryManager::ReportVoxelStats( std::vector & stats, G4cout << " Total memory consumed for geometry optimisation: " << totalMemory/1024 << " kByte" << G4endl; G4cout << " Total CPU time elapsed for geometry optimisation: " - << std::setprecision(2) << totalCpuTime << " seconds" << G4endl; + << std::setprecision(2) << totalCpuTime << " seconds" + << std::setprecision(6) << G4endl; // // First list: sort by total CPU time diff --git a/source/geometry/management/src/G4LogicalSurface.cc b/source/geometry/management/src/G4LogicalSurface.cc new file mode 100644 index 0000000000..b5e5c7586e --- /dev/null +++ b/source/geometry/management/src/G4LogicalSurface.cc @@ -0,0 +1,54 @@ +// +// ******************************************************************** +// * 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: G4LogicalSurface.cc,v 1.1 2010/07/05 09:22:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//////////////////////////////////////////////////////////////////////// +// G4LogicalSurface Class Implementation +//////////////////////////////////////////////////////////////////////// + +#include "G4LogicalSurface.hh" + + //////////////////////////// + // Constructors & Destructor + //////////////////////////// + +G4LogicalSurface::G4LogicalSurface(const G4String& name, + G4SurfaceProperty* surfaceProperty) + : theName(name), theSurfaceProperty(surfaceProperty), theTransRadSurface(0) +{ +} + +G4LogicalSurface::G4LogicalSurface(const G4LogicalSurface &r) + : theName(r.theName), theSurfaceProperty(r.theSurfaceProperty), + theTransRadSurface(r.theTransRadSurface) +{ +} + +G4LogicalSurface::~G4LogicalSurface() +{ +} diff --git a/source/geometry/management/src/G4LogicalVolume.cc b/source/geometry/management/src/G4LogicalVolume.cc index b3335d78a1..7e27a4bf1c 100644 --- a/source/geometry/management/src/G4LogicalVolume.cc +++ b/source/geometry/management/src/G4LogicalVolume.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LogicalVolume.cc,v 1.34 2009/09/24 13:22:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LogicalVolume.cc,v 1.35 2010/07/05 09:22:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4LogicalVolume Implementation @@ -210,6 +210,7 @@ G4double G4LogicalVolume::GetMass(G4bool forced, << fName << " ! Sorry, cannot compute the mass ..." << G4endl; G4Exception("G4LogicalVolume::GetMass()", "InvalidSetup", FatalException, "No material associated to the logical volume !"); + return 0; } if (!fSolid) { @@ -218,6 +219,7 @@ G4double G4LogicalVolume::GetMass(G4bool forced, << fName << " ! Sorry, cannot compute the mass ..." << G4endl; G4Exception("G4LogicalVolume::GetMass()", "InvalidSetup", FatalException, "No solid associated to the logical volume !"); + return 0; } G4double globalDensity = logMaterial->GetDensity(); fMass = fSolid->GetCubicVolume() * globalDensity; diff --git a/source/geometry/management/src/G4ReflectedSolid.cc b/source/geometry/management/src/G4ReflectedSolid.cc index 7be2874699..1372129851 100644 --- a/source/geometry/management/src/G4ReflectedSolid.cc +++ b/source/geometry/management/src/G4ReflectedSolid.cc @@ -24,9 +24,9 @@ // ******************************************************************** // // -// $Id: G4ReflectedSolid.cc,v 1.11 2006/11/08 09:56:33 gcosmo Exp $ +// $Id: G4ReflectedSolid.cc,v 1.13 2010/10/19 15:20:18 gcosmo Exp $ // -// GEANT4 tag $Name: geant4-09-02 $ +// GEANT4 tag $Name: geant4-09-04 $ // // Implementation for G4ReflectedSolid class for boolean // operations between other solids @@ -92,6 +92,49 @@ G4ReflectedSolid::~G4ReflectedSolid() delete fpPolyhedron; } +/////////////////////////////////////////////////////////////////// +// + +G4ReflectedSolid::G4ReflectedSolid(const G4ReflectedSolid& rhs) + : G4VSolid(rhs), fPtrSolid(rhs.fPtrSolid), fpPolyhedron(0) +{ + fPtrTransform = new G4AffineTransform(*rhs.fPtrTransform); + fDirectTransform = new G4AffineTransform(*rhs.fDirectTransform); + fPtrTransform3D = new G4Transform3D(*rhs.fPtrTransform3D); + fDirectTransform3D = new G4Transform3D(*rhs.fDirectTransform3D); +} + +/////////////////////////////////////////////////////////////////// +// + +G4ReflectedSolid& G4ReflectedSolid::operator=(const G4ReflectedSolid& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + fPtrSolid= rhs.fPtrSolid; fpPolyhedron= 0; + delete fPtrTransform; + fPtrTransform= new G4AffineTransform(*rhs.fPtrTransform); + delete fDirectTransform; + fDirectTransform= new G4AffineTransform(*rhs.fDirectTransform); + delete fPtrTransform3D; + fPtrTransform3D= new G4Transform3D(*rhs.fPtrTransform3D); + delete fDirectTransform3D; + fDirectTransform3D= new G4Transform3D(*rhs.fDirectTransform3D); + + return *this; +} + +/////////////////////////////////////////////////////////////////// +// + G4GeometryType G4ReflectedSolid::GetEntityType() const { return G4String("G4ReflectedSolid"); @@ -256,13 +299,14 @@ G4ReflectedSolid::CalculateExtent( const EAxis pAxis, G4Point3D tmpPoint; -// Calculate rotated vertex coordinates + // Calculate rotated vertex coordinates G4ThreeVectorList* vertices = new G4ThreeVectorList(); - vertices->reserve(8); if (vertices) { + vertices->reserve(8); + G4ThreeVector vertex0(x1,y1,z1) ; tmpPoint = transform3D*G4Point3D(vertex0); vertex0 = G4ThreeVector(tmpPoint.x(),tmpPoint.y(),tmpPoint.z()); @@ -493,7 +537,7 @@ G4ReflectedSolid::ComputeDimensions( G4VPVParameterisation*, const G4VPhysicalVolume* ) { DumpInfo(); - G4Exception("G4BooleanSolid::ComputeDimensions()", + G4Exception("G4ReflectedSolid::ComputeDimensions()", "NotApplicable", FatalException, "Method not applicable in this context!"); } @@ -511,6 +555,16 @@ G4ThreeVector G4ReflectedSolid::GetPointOnSurface() const return G4ThreeVector(newPoint.x(),newPoint.y(),newPoint.z()); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of this object + +G4VSolid* G4ReflectedSolid::Clone() const +{ + return new G4ReflectedSolid(*this); +} + + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream diff --git a/source/geometry/management/src/G4SmartVoxelHeader.cc b/source/geometry/management/src/G4SmartVoxelHeader.cc index 80336fdc76..c64146e3d9 100644 --- a/source/geometry/management/src/G4SmartVoxelHeader.cc +++ b/source/geometry/management/src/G4SmartVoxelHeader.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SmartVoxelHeader.cc,v 1.34 2009/10/30 14:05:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4SmartVoxelHeader.cc,v 1.39 2010/09/06 09:39:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4SmartVoxelHeader @@ -147,7 +147,7 @@ G4SmartVoxelHeader::~G4SmartVoxelHeader() delete dyingHeader; } } - else + else { dyingNode = fslices[node]->GetNode(); if (dyingNode!=lastNode) @@ -509,15 +509,19 @@ G4SmartVoxelHeader::BuildVoxelsWithinLimits(G4LogicalVolume* pVolume, tmpProx = pTestSlices->back(); pTestSlices->pop_back(); for (G4ProxyVector::iterator i=pTestSlices->begin(); - i!=pTestSlices->end(); i++) + i!=pTestSlices->end(); ) { if (*i==tmpProx) { - pTestSlices->erase(i); i--; + i = pTestSlices->erase(i); + } + else + { + ++i; } } if ( tmpProx ) { delete tmpProx; } - } + } delete pTestSlices; } } @@ -533,6 +537,7 @@ G4SmartVoxelHeader::BuildVoxelsWithinLimits(G4LogicalVolume* pVolume, G4Exception("G4SmartVoxelHeader::BuildVoxelsWithinLimits()", "InvalidSetup", FatalException, "Cannot select more than 3 axis for optimisation."); + return; } // @@ -547,7 +552,8 @@ G4SmartVoxelHeader::BuildVoxelsWithinLimits(G4LogicalVolume* pVolume, faxis=goodSliceAxis; #ifdef G4GEOMETRY_VOXELDEBUG - G4cout << G4endl << " Selected axis = " << faxis << G4endl; + G4cout << G4endl << " Volume = " << pVolume->GetName() + << G4endl << " Selected axis = " << faxis << G4endl; for (size_t islice=0; islicereserve(noNodes); if (!nodeList) { G4cerr << "ERROR - G4SmartVoxelHeader::BuildNodes()" << G4endl << " NodeList allocation failed." << G4endl; G4Exception("G4SmartVoxelHeader::BuildNodes()", "FatalError", FatalException, "NodeList allocation error."); + return 0; } + nodeList->reserve(noNodes); + for (nNode=0; nNodepush_back(pNode); } @@ -1024,14 +1043,16 @@ G4ProxyVector* G4SmartVoxelHeader::BuildNodes(G4LogicalVolume* pVolume, // (but we must delete nodeList *itself* - not the contents) // G4ProxyVector* proxyList = new G4ProxyVector(); - proxyList->reserve(noNodes); if (!proxyList) { G4cerr << "ERROR - G4SmartVoxelHeader::BuildNodes()" << G4endl << " Proxy list allocation failed." << G4endl; G4Exception("G4SmartVoxelHeader::BuildNodes()", "FatalError", FatalException, "Proxy list allocation error."); + return 0; } + proxyList->reserve(noNodes); + // // Fill proxy List // @@ -1047,6 +1068,7 @@ G4ProxyVector* G4SmartVoxelHeader::BuildNodes(G4LogicalVolume* pVolume, << " Proxy node allocation failed." << G4endl; G4Exception("G4SmartVoxelHeader::BuildNodes()", "FatalError", FatalException, "Proxy node allocation failed."); + return 0; } proxyList->push_back(pProxyNode); } @@ -1194,7 +1216,6 @@ void G4SmartVoxelHeader::RefineNodes(G4LogicalVolume* pVolume, { noContainedDaughters = targetNode->GetNoContained(); targetList = new G4VolumeNosVector(); - targetList->reserve(noContainedDaughters); if (!targetList) { G4cerr << "ERROR - G4SmartVoxelHeader::RefineNodes()" << G4endl @@ -1203,7 +1224,9 @@ void G4SmartVoxelHeader::RefineNodes(G4LogicalVolume* pVolume, G4Exception("G4SmartVoxelHeader::RefineNodes()", "FatalError", FatalException, "Target volume node list allocation error."); + return; } + targetList->reserve(noContainedDaughters); for (i=0; ipush_back(targetNode->GetVolume(i)); @@ -1216,6 +1239,13 @@ void G4SmartVoxelHeader::RefineNodes(G4LogicalVolume* pVolume, << " Refining nodes " << minNo << " - " << maxNo << " inclusive" << G4endl; #endif + if (minNo > maxNo) // Delete node and list to be replaced + { // and avoid further action ... + delete targetNode; + delete targetList; + return; + } + // Delete node proxies at start of collected sets of nodes/headers // lastProxy=0; @@ -1244,16 +1274,18 @@ void G4SmartVoxelHeader::RefineNodes(G4LogicalVolume* pVolume, << " Refined VoxelHeader allocation failed." << G4endl; G4Exception("G4SmartVoxelHeader::RefineNodes()", "FatalError", FatalException, "Refined VoxelHeader allocation error."); + return; } replaceHeader->SetMinEquivalentSliceNo(minNo); replaceHeader->SetMaxEquivalentSliceNo(maxNo); replaceHeaderProxy = new G4SmartVoxelProxy(replaceHeader); - if (!replaceHeader) + if (!replaceHeaderProxy) { G4cerr << "ERROR - G4SmartVoxelHeader::RefineNodes()" << G4endl << " Refined VoxelProxy allocation failed." << G4endl; G4Exception("G4SmartVoxelHeader::RefineNodes()", "FatalError", FatalException, "Refined VoxelProxy allocation error."); + return; } for (replaceNo=minNo; replaceNo<=maxNo; replaceNo++) { diff --git a/source/geometry/management/src/G4VSolid.cc b/source/geometry/management/src/G4VSolid.cc index 2aa12c4ffd..34d3fcfb79 100644 --- a/source/geometry/management/src/G4VSolid.cc +++ b/source/geometry/management/src/G4VSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSolid.cc,v 1.39 2008/09/23 13:07:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VSolid.cc,v 1.40 2010/10/19 15:19:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4VSolid // @@ -159,6 +159,176 @@ G4ThreeVector G4VSolid::GetPointOnSurface() const return G4ThreeVector(0,0,0); } +////////////////////////////////////////////////////////////////////////// +// +// Dummy implementations ... + +const G4VSolid* G4VSolid::GetConstituentSolid(G4int) const +{ return 0; } + +G4VSolid* G4VSolid::GetConstituentSolid(G4int) +{ return 0; } + +const G4DisplacedSolid* G4VSolid::GetDisplacedSolidPtr() const +{ return 0; } + +G4DisplacedSolid* G4VSolid::GetDisplacedSolidPtr() +{ return 0; } + +//////////////////////////////////////////////////////////////// +// +// Returns an estimation of the solid volume in internal units. +// The number of statistics and error accuracy is fixed. +// This method may be overloaded by derived classes to compute the +// exact geometrical quantity for solids where this is possible. +// or anyway to cache the computed value. +// This implementation does NOT cache the computed value. + +G4double G4VSolid::GetCubicVolume() +{ + G4int cubVolStatistics = 1000000; + G4double cubVolEpsilon = 0.001; + return EstimateCubicVolume(cubVolStatistics, cubVolEpsilon); +} + +//////////////////////////////////////////////////////////////// +// +// Calculate cubic volume based on Inside() method. +// Accuracy is limited by the second argument or the statistics +// expressed by the first argument. +// Implementation is courtesy of Vasiliki Despoina Mitsou, +// University of Athens. + +G4double G4VSolid::EstimateCubicVolume(G4int nStat, G4double epsilon) const +{ + G4int iInside=0; + G4double px,py,pz,minX,maxX,minY,maxY,minZ,maxZ,volume; + G4bool yesno; + G4ThreeVector p; + EInside in; + + // values needed for CalculateExtent signature + + G4VoxelLimits limit; // Unlimited + G4AffineTransform origin; + + // min max extents of pSolid along X,Y,Z + + yesno = this->CalculateExtent(kXAxis,limit,origin,minX,maxX); + yesno = this->CalculateExtent(kYAxis,limit,origin,minY,maxY); + yesno = this->CalculateExtent(kZAxis,limit,origin,minZ,maxZ); + + // limits + + if(nStat < 100) nStat = 100; + if(epsilon > 0.01) epsilon = 0.01; + + for(G4int i = 0; i < nStat; i++ ) + { + px = minX+(maxX-minX)*G4UniformRand(); + py = minY+(maxY-minY)*G4UniformRand(); + pz = minZ+(maxZ-minZ)*G4UniformRand(); + p = G4ThreeVector(px,py,pz); + in = this->Inside(p); + if(in != kOutside) iInside++; + } + volume = (maxX-minX)*(maxY-minY)*(maxZ-minZ)*iInside/nStat; + return volume; +} + +//////////////////////////////////////////////////////////////// +// +// Returns an estimation of the solid surface area in internal units. +// The number of statistics and error accuracy is fixed. +// This method may be overloaded by derived classes to compute the +// exact geometrical quantity for solids where this is possible. +// or anyway to cache the computed value. +// This implementation does NOT cache the computed value. + +G4double G4VSolid::GetSurfaceArea() +{ + G4int stat = 1000000; + G4double ell = -1.; + return EstimateSurfaceArea(stat,ell); +} + +//////////////////////////////////////////////////////////////// +// +// Estimate surface area based on Inside(), DistanceToIn(), and +// DistanceToOut() methods. Accuracy is limited by the statistics +// defined by the first argument. Implemented by Mikhail Kosov. + +G4double G4VSolid::EstimateSurfaceArea(G4int nStat, G4double ell) const +{ + G4int inside=0; + G4double px,py,pz,minX,maxX,minY,maxY,minZ,maxZ,surf; + G4bool yesno; + G4ThreeVector p; + EInside in; + + // values needed for CalculateExtent signature + + G4VoxelLimits limit; // Unlimited + G4AffineTransform origin; + + // min max extents of pSolid along X,Y,Z + + yesno = this->CalculateExtent(kXAxis,limit,origin,minX,maxX); + yesno = this->CalculateExtent(kYAxis,limit,origin,minY,maxY); + yesno = this->CalculateExtent(kZAxis,limit,origin,minZ,maxZ); + + // limits + + if(nStat < 100) { nStat = 100; } + + G4double dX=maxX-minX; + G4double dY=maxY-minY; + G4double dZ=maxZ-minZ; + if(ell<=0.) // Automatic definition of skin thickness + { + G4double minval=dX; + if(dYInside(p); + if(in != kOutside) + { + if (DistanceToOut(p)CalculateExtent(kXAxis,limit,origin,minX,maxX); - yesno = this->CalculateExtent(kYAxis,limit,origin,minY,maxY); - yesno = this->CalculateExtent(kZAxis,limit,origin,minZ,maxZ); - - // limits - - if(nStat < 100) nStat = 100; - if(epsilon > 0.01) epsilon = 0.01; - - for(G4int i = 0; i < nStat; i++ ) - { - px = minX+(maxX-minX)*G4UniformRand(); - py = minY+(maxY-minY)*G4UniformRand(); - pz = minZ+(maxZ-minZ)*G4UniformRand(); - p = G4ThreeVector(px,py,pz); - in = this->Inside(p); - if(in != kOutside) iInside++; - } - volume = (maxX-minX)*(maxY-minY)*(maxZ-minZ)*iInside/nStat; - return volume; -} - -//////////////////////////////////////////////////////////////// -// -// Returns an estimation of the solid surface area in internal units. -// The number of statistics and error accuracy is fixed. -// This method may be overloaded by derived classes to compute the -// exact geometrical quantity for solids where this is possible. -// or anyway to cache the computed value. -// This implementation does NOT cache the computed value. - -G4double G4VSolid::GetSurfaceArea() -{ - G4int stat = 1000000; - G4double ell = -1.; - return EstimateSurfaceArea(stat,ell); -} - -//////////////////////////////////////////////////////////////// -// -// Estimate surface area based on Inside(), DistanceToIn(), and -// DistanceToOut() methods. Accuracy is limited by the statistics -// defined by the first argument. Implemented by Mikhail Kosov. - -G4double G4VSolid::EstimateSurfaceArea(G4int nStat, G4double ell) const -{ - G4int inside=0; - G4double px,py,pz,minX,maxX,minY,maxY,minZ,maxZ,surf; - G4bool yesno; - G4ThreeVector p; - EInside in; - - // values needed for CalculateExtent signature - - G4VoxelLimits limit; // Unlimited - G4AffineTransform origin; - - // min max extents of pSolid along X,Y,Z - - yesno = this->CalculateExtent(kXAxis,limit,origin,minX,maxX); - yesno = this->CalculateExtent(kYAxis,limit,origin,minY,maxY); - yesno = this->CalculateExtent(kZAxis,limit,origin,minZ,maxZ); - - // limits - - if(nStat < 100) { nStat = 100; } - - G4double dX=maxX-minX; - G4double dY=maxY-minY; - G4double dZ=maxZ-minZ; - if(ell<=0.) // Automatic definition of skin thickness - { - G4double minval=dX; - if(dYInside(p); - if(in != kOutside) - { - if (DistanceToOut(p)global translation/rotation of current volume. + inline void EnableBestSafety( G4bool value= false ); + // Enable best-possible evaluation of isotropic safety + protected: // with description + inline G4ThreeVector ComputeLocalPoint(const G4ThreeVector& rGlobPoint) const; // Return position vector in local coordinate system, given a position // vector in world coordinate system. @@ -310,6 +313,12 @@ class G4Navigator // o Recompute transforms and/or solids of replicated/parameterised // volumes. + private: + + void ComputeStepLog(const G4ThreeVector& pGlobalpoint, + G4double moveLenSq) const; + // Log and checks for steps larger than the tolerance + protected: // without description G4double kCarTolerance; @@ -433,8 +442,8 @@ class G4Navigator // G4bool fCheck; // Check-mode flag [if true, more strict checks are performed]. - G4bool fPushed; - // Push flag [if true, means a stuck particle has been pushed]. + G4bool fPushed, fWarnPush; + // Push flags [if true, means a stuck particle has been pushed]. // Helpers/Utility classes // diff --git a/source/geometry/navigation/include/G4Navigator.icc b/source/geometry/navigation/include/G4Navigator.icc index 2ddba481ad..f5a9780927 100644 --- a/source/geometry/navigation/include/G4Navigator.icc +++ b/source/geometry/navigation/include/G4Navigator.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Navigator.icc,v 1.15 2007/10/18 14:18:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Navigator.icc,v 1.18 2010/12/15 13:46:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4Navigator Inline implementation @@ -306,6 +306,19 @@ G4TouchableHistory* G4Navigator::CreateTouchableHistory() const return new G4TouchableHistory(fHistory); } +// ******************************************************************** +// CreateTouchableHistory(history) +// +// `Touchable' creation method: caller has deletion responsibility +// ******************************************************************** +// +inline +G4TouchableHistory* +G4Navigator::CreateTouchableHistory(const G4NavigationHistory* history) const +{ + return new G4TouchableHistory(*history); +} + // ******************************************************************** // LocateGlobalPointAndUpdateTouchableHandle // ******************************************************************** @@ -448,6 +461,26 @@ void G4Navigator::CheckMode(G4bool mode) fregularNav.CheckMode(mode); } +// ******************************************************************** +// IsCheckModeActive +// ******************************************************************** +// +inline +G4bool G4Navigator::IsCheckModeActive() const +{ + return fCheck; +} + +// ******************************************************************** +// SetPushVerbosity +// ******************************************************************** +// +inline +void G4Navigator::SetPushVerbosity(G4bool mode) +{ + fWarnPush = mode; +} + // ******************************************************************** // SeverityOfZeroStepping // @@ -484,3 +517,12 @@ G4int G4Navigator::SeverityOfZeroStepping( G4int* noZeroSteps ) const } return severity; } + +// ******************************************************************** +// EnableBestSafety +// ******************************************************************** +// +inline void G4Navigator::EnableBestSafety( G4bool value ) +{ + fvoxelNav.EnableBestSafety( value ); +} diff --git a/source/geometry/navigation/include/G4NormalNavigation.hh b/source/geometry/navigation/include/G4NormalNavigation.hh index 5dbd730e13..0704e76721 100644 --- a/source/geometry/navigation/include/G4NormalNavigation.hh +++ b/source/geometry/navigation/include/G4NormalNavigation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NormalNavigation.hh,v 1.4 2006/06/29 18:36:06 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NormalNavigation.hh,v 1.6 2010/11/04 08:57:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4NormalNavigation @@ -41,7 +41,10 @@ #ifndef G4NORMALNAVIGATION_HH #define G4NORMALNAVIGATION_HH +#include + #include "G4NavigationHistory.hh" +#include "G4NavigationLogger.hh" #include "G4VPhysicalVolume.hh" #include "G4LogicalVolume.hh" #include "G4VSolid.hh" @@ -88,7 +91,7 @@ class G4NormalNavigation const G4NavigationHistory &history, const G4double pMaxLength=DBL_MAX ); - inline G4int GetVerboseLevel(); + inline G4int GetVerboseLevel() const; inline void SetVerboseLevel(G4int level); // Get/Set Verbose(ness) level. // [if level>0 && G4VERBOSE, printout can occur] @@ -101,7 +104,7 @@ class G4NormalNavigation private: G4bool fCheck; - G4int fVerbose; + G4NavigationLogger* fLogger; }; #include "G4NormalNavigation.icc" diff --git a/source/geometry/navigation/include/G4NormalNavigation.icc b/source/geometry/navigation/include/G4NormalNavigation.icc index e3101eb329..0bae4c6f3a 100644 --- a/source/geometry/navigation/include/G4NormalNavigation.icc +++ b/source/geometry/navigation/include/G4NormalNavigation.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NormalNavigation.icc,v 1.4 2006/06/29 18:36:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NormalNavigation.icc,v 1.5 2010/11/04 08:57:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // G4NormalNavigation Inline Implementation @@ -93,18 +93,30 @@ G4NormalNavigation::LevelLocate( G4NavigationHistory& history, return found; } +// ******************************************************************** +// GetVerboseLevel +// ******************************************************************** +// inline -G4int G4NormalNavigation::GetVerboseLevel() +G4int G4NormalNavigation::GetVerboseLevel() const { - return fVerbose; + return fLogger->GetVerboseLevel(); } +// ******************************************************************** +// SetVerboseLevel +// ******************************************************************** +// inline void G4NormalNavigation::SetVerboseLevel(G4int level) { - fVerbose = level; + fLogger->SetVerboseLevel(level); } +// ******************************************************************** +// CheckMode +// ******************************************************************** +// inline void G4NormalNavigation::CheckMode(G4bool mode) { diff --git a/source/geometry/navigation/include/G4PartialPhantomParameterisation.hh b/source/geometry/navigation/include/G4PartialPhantomParameterisation.hh new file mode 100755 index 0000000000..215aaf18ef --- /dev/null +++ b/source/geometry/navigation/include/G4PartialPhantomParameterisation.hh @@ -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: G4PartialPhantomParameterisation.hh,v 1.2 2010/11/10 11:20:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// class G4PartialPhantomParameterisation +// +// Class description: +// +// Describes partial regular parameterisations, i.e. the voxels do not +// completely fill the container in the three dimensions + +// History: +// - Created. P. Arce, September 2010 +// ********************************************************************* + +#ifndef G4PartialPhantomParameterisation_HH +#define G4PartialPhantomParameterisation_HH + +#include +#include +#include + +#include "G4Types.hh" +#include "G4PhantomParameterisation.hh" +#include "G4AffineTransform.hh" + +class G4VPhysicalVolume; +class G4VTouchable; +class G4VSolid; +class G4Material; + +class G4PartialPhantomParameterisation : public G4PhantomParameterisation +{ + public: // with description + + G4PartialPhantomParameterisation(); + ~G4PartialPhantomParameterisation(); + + void ComputeTransformation(const G4int, G4VPhysicalVolume *) const; + + G4Material* ComputeMaterial(const G4int repNo, + G4VPhysicalVolume *currentVol, + const G4VTouchable *parentTouch=0); + + G4int GetReplicaNo( const G4ThreeVector& localPoint, + const G4ThreeVector& localDir ); + // Get the voxel number corresponding to the point in the container + // frame. Use 'localDir' to avoid precision problems at the surfaces. + + G4ThreeVector GetTranslation(const G4int copyNo ) const; + + size_t GetMaterialIndex( size_t nx, size_t ny, size_t nz) const; + size_t GetMaterialIndex( size_t copyNo) const; + + G4Material* GetMaterial( size_t nx, size_t ny, size_t nz) const; + G4Material* GetMaterial( size_t copyNo ) const; + + void SetFilledIDs( std::multimap fid ){ + fFilledIDs = fid; + } + + void SetFilledMins( std::map< G4int, std::map > fmins ) { + fFilledMins = fmins; + } + + void BuildContainerWalls(); + + private: + + void ComputeVoxelIndices(const G4int copyNo, size_t& nx, + size_t& ny, size_t& nz ) const; + // Convert the copyNo to voxel numbers in x, y and z. + + void CheckCopyNo( const G4int copyNo ) const; + // Check that the copy number is within limits. + + private: + + std::multimap fFilledIDs; + std::map< G4int, std::map > fFilledMins; +}; + +#endif diff --git a/source/geometry/navigation/include/G4PathFinder.hh b/source/geometry/navigation/include/G4PathFinder.hh index dbfb35ca3e..973e3212da 100644 --- a/source/geometry/navigation/include/G4PathFinder.hh +++ b/source/geometry/navigation/include/G4PathFinder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PathFinder.hh,v 1.34 2007/11/02 12:28:31 japost Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PathFinder.hh,v 1.35 2010/07/13 15:59:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4PathFinder // @@ -258,13 +258,9 @@ class G4PathFinder // State for Step numbers G4int fLastStepNo, fCurrentStepNo; - G4bool fParticleIsLooping; G4int fVerboseLevel; // For debuging purposes - G4int fMax_loop_count; - // Limit for the number of sub-steps taken in one call to ComputeStep - G4TransportationManager* fpTransportManager; // Cache for frequent use G4PropagatorInField* fpFieldPropagator; diff --git a/source/geometry/navigation/include/G4PhantomParameterisation.hh b/source/geometry/navigation/include/G4PhantomParameterisation.hh index d2cd1daf64..c466e8ad2d 100755 --- a/source/geometry/navigation/include/G4PhantomParameterisation.hh +++ b/source/geometry/navigation/include/G4PhantomParameterisation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhantomParameterisation.hh,v 1.5 2009/05/19 18:27:03 arce Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhantomParameterisation.hh,v 1.6 2010/11/09 15:43:15 arce Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4PhantomParameterisation @@ -116,7 +116,7 @@ class G4PhantomParameterisation : public G4VPVParameterisation // Save as container solid the parent of the voxels. Check that the // voxels fill it completely. - G4int GetReplicaNo( const G4ThreeVector& localPoint, + virtual G4int GetReplicaNo( const G4ThreeVector& localPoint, const G4ThreeVector& localDir ); // Get the voxel number corresponding to the point in the container // frame. Use 'localDir' to avoid precision problems at the surfaces. @@ -166,7 +166,7 @@ class G4PhantomParameterisation : public G4VPVParameterisation void CheckCopyNo( const G4int copyNo ) const; // Check that the copy number is within limits. - private: + protected: G4double fVoxelHalfX,fVoxelHalfY,fVoxelHalfZ; // Half dimension of voxels (assume they are boxes). diff --git a/source/geometry/navigation/include/G4RegularNavigation.hh b/source/geometry/navigation/include/G4RegularNavigation.hh index 7765afaed6..fa8af89e5a 100755 --- a/source/geometry/navigation/include/G4RegularNavigation.hh +++ b/source/geometry/navigation/include/G4RegularNavigation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RegularNavigation.hh,v 1.2 2007/10/18 14:18:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4RegularNavigation.hh,v 1.4 2010/09/03 16:29:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4RegularNavigation @@ -86,7 +86,7 @@ class G4RegularNavigation // so when a track enters the mother it automatically enters a voxel. G4double ComputeStepSkippingEqualMaterials( - const G4ThreeVector localPoint, + G4ThreeVector& localPoint, const G4ThreeVector& globalDirection, const G4double currentProposedStepLength, G4double& newSafety, @@ -115,15 +115,15 @@ class G4RegularNavigation // Set and Get methods - void SetVerboseLevel(G4int level) { fVerbose = level; } - void CheckMode(G4bool mode) { fCheck = mode; } + void SetVerboseLevel(G4int level) { fverbose = level; } + void CheckMode(G4bool mode) { fcheck = mode; } void SetNormalNavigation( G4NormalNavigation* fnormnav ) { fnormalNav = fnormnav; } private: - G4int fVerbose; - G4bool fCheck; + G4int fverbose; + G4bool fcheck; G4NormalNavigation* fnormalNav; G4double kCarTolerance; diff --git a/source/geometry/navigation/include/G4VoxelNavigation.hh b/source/geometry/navigation/include/G4VoxelNavigation.hh index 8ab791dcc2..55626fbe26 100644 --- a/source/geometry/navigation/include/G4VoxelNavigation.hh +++ b/source/geometry/navigation/include/G4VoxelNavigation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VoxelNavigation.hh,v 1.5 2007/05/11 13:43:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VoxelNavigation.hh,v 1.8 2010/11/04 12:13:30 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4VoxelNavigation @@ -43,6 +43,7 @@ #include "geomdefs.hh" #include "G4NavigationHistory.hh" +#include "G4NavigationLogger.hh" #include "G4AffineTransform.hh" #include "G4VPhysicalVolume.hh" #include "G4LogicalVolume.hh" @@ -51,6 +52,8 @@ #include "G4BlockingList.hh" +class G4VoxelSafety; + // Required for inline implementation // #include "G4AuxiliaryNavServices.hh" @@ -97,7 +100,7 @@ class G4VoxelNavigation const G4double pMaxLength=DBL_MAX ); inline G4int GetVerboseLevel() const; - inline void SetVerboseLevel(G4int level); + void SetVerboseLevel(G4int level); // Get/Set Verbose(ness) level. // [if level>0 && G4VERBOSE, printout can occur] @@ -106,6 +109,9 @@ class G4VoxelNavigation // verifications and more strict correctness conditions. // Is effective only with G4VERBOSE set. + inline void EnableBestSafety( G4bool flag= false ); + // Enable best-possible evaluation of isotropic safety + protected: G4double ComputeVoxelSafety( const G4ThreeVector& localPoint ) const; @@ -113,6 +119,35 @@ class G4VoxelNavigation const G4ThreeVector& localDirection, const G4double currentStep ); + G4SmartVoxelNode* VoxelLocateLight( G4SmartVoxelHeader* pHead, + const G4ThreeVector& localPoint ) const; + + private: // Logging functions + + void PreComputeStepLog (const G4VPhysicalVolume* motherPhysical, + G4double motherSafety, + const G4ThreeVector& localPoint); + void AlongComputeStepLog(const G4VSolid* sampleSolid, + const G4ThreeVector& samplePoint, + const G4ThreeVector& sampleDirection, + const G4ThreeVector& localDirection, + G4double sampleSafety, + G4double sampleStep); + void PostComputeStepLog (const G4VSolid* motherSolid, + const G4ThreeVector& localPoint, + const G4ThreeVector& localDirection, + G4double motherStep, + G4double motherSafety); + void ComputeSafetyLog (const G4VSolid* solid, + const G4ThreeVector& point, + G4double safety, + G4bool banner); + inline void PrintDaughterLog (const G4VSolid* sampleSolid, + const G4ThreeVector& samplePoint, + G4double sampleSafety, + G4double sampleStep); + protected: + G4BlockingList fBList; // Blocked volumes @@ -146,9 +181,14 @@ class G4VoxelNavigation // END Voxel Stack information // + G4VoxelSafety *fpVoxelSafety; + // Helper object for Voxel Safety + G4bool fCheck; - G4int fVerbose; - G4double kCarTolerance; + G4bool fBestSafety; + + G4NavigationLogger* fLogger; + // Verbosity logger }; #include "G4VoxelNavigation.icc" diff --git a/source/geometry/navigation/include/G4VoxelNavigation.icc b/source/geometry/navigation/include/G4VoxelNavigation.icc index 18083a16cf..71269d45aa 100644 --- a/source/geometry/navigation/include/G4VoxelNavigation.icc +++ b/source/geometry/navigation/include/G4VoxelNavigation.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VoxelNavigation.icc,v 1.4 2006/06/29 18:36:30 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VoxelNavigation.icc,v 1.7 2010/11/04 17:38:17 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4VoxelNavigation Inline implementation @@ -66,9 +66,9 @@ G4VoxelNavigation::VoxelLocate( G4SmartVoxelHeader* pHead, targetNodeNo = 0; } else if ( targetNodeNo>=targetHeaderNoSlices ) - { - targetNodeNo = targetHeaderNoSlices-1; - } + { + targetNodeNo = targetHeaderNoSlices-1; + } // Stack info for stepping // fVoxelAxisStack[fVoxelDepth] = targetHeaderAxis; @@ -168,17 +168,7 @@ G4VoxelNavigation::LevelLocate( G4NavigationHistory& history, inline G4int G4VoxelNavigation::GetVerboseLevel() const { - return fVerbose; -} - -// ******************************************************************** -// SetVerboseLevel -// ******************************************************************** -// -inline -void G4VoxelNavigation::SetVerboseLevel(G4int level) -{ - fVerbose = level; + return fLogger->GetVerboseLevel(); } // ******************************************************************** @@ -190,3 +180,13 @@ void G4VoxelNavigation::CheckMode(G4bool mode) { fCheck = mode; } + +// ******************************************************************** +// EnableBestSafety +// ******************************************************************** +// +inline +void G4VoxelNavigation::EnableBestSafety(G4bool flag) +{ + fBestSafety = flag; +} diff --git a/source/geometry/navigation/include/G4VoxelSafety.hh b/source/geometry/navigation/include/G4VoxelSafety.hh new file mode 100644 index 0000000000..55e8428e1b --- /dev/null +++ b/source/geometry/navigation/include/G4VoxelSafety.hh @@ -0,0 +1,137 @@ +// +// ******************************************************************** +// * 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: G4VoxelSafety.hh,v 1.2 2010/11/04 17:32:46 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// class G4VoxelSafety +// +// Class description: +// +// Utility for isotropic safety in volumes containing only G4PVPlacement +// daughter volumes for which voxels have been constructed. + +// History: +// - Created. John Apostolakis, 30 April 2010 +// -------------------------------------------------------------------- +#ifndef G4VOXELSAFETY_HH +#define G4VOXELSAFETY_HH + +#include "geomdefs.hh" +#include "G4NavigationHistory.hh" +#include "G4AffineTransform.hh" +#include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" +#include "G4VSolid.hh" +#include "G4ThreeVector.hh" + +#include "G4BlockingList.hh" + +// #include "G4AuxiliaryNavServices.hh" + +// Required for voxel handling & voxel stack +// +#include + +class G4SmartVoxelNode; +class G4SmartVoxelHeader; + +class G4VoxelSafety +{ + public: // with description + + G4VoxelSafety(); + ~G4VoxelSafety(); + + G4SmartVoxelNode* VoxelLocate( G4SmartVoxelHeader* pHead, + const G4ThreeVector& localPoint ); + + G4double ComputeSafety( const G4ThreeVector& localPoint, + const G4VPhysicalVolume& currentPhysical, + G4double maxLength=DBL_MAX ); + + inline G4int GetVerboseLevel() const { return fVerbose; } + inline void SetVerboseLevel(G4int level) { fVerbose= level; } + // Get/Set Verbose(ness) level. + // [if level>0 && G4VERBOSE, printout can occur] + + // inline void CheckMode(G4bool mode); + // Make extra checks + + protected: + G4double SafetyForVoxelHeader( G4SmartVoxelHeader* pHead, + const G4ThreeVector& localPoint ); + + G4double SafetyForVoxelNode( G4SmartVoxelNode *curVoxelNode, + const G4ThreeVector& localPoint ); + + G4SmartVoxelNode* VoxelLocateLight( G4SmartVoxelHeader* pHead, + const G4ThreeVector& localPoint ) const; + private: + // BEGIN State + // - values used during computation of Safety + // + G4BlockingList fBlockList; + // Blocked volumes + G4LogicalVolume* fpMotherLogical; + + // + // BEGIN Voxel Stack information + // + + G4int fVoxelDepth; + // Note: fVoxelDepth==0+ => fVoxelAxisStack(0+) contains axes of voxel + // fVoxelDepth==-1 -> not in voxel + + std::vector fVoxelAxisStack; + // Voxel axes + + std::vector fVoxelNoSlicesStack; + // No slices per voxel at each level + + std::vector fVoxelSliceWidthStack; + // Width of voxels at each level + + std::vector fVoxelNodeNoStack; + // Node no point is inside at each level + + std::vector fVoxelHeaderStack; + // Voxel headers at each level + + G4SmartVoxelNode* fVoxelNode; + // Node containing last located point + + // + // END Voxel Stack information + // + + G4bool fCheck; + G4int fVerbose; + G4double kCarTolerance; +}; + +// #include "G4VoxelSafety.icc" + +#endif diff --git a/source/geometry/navigation/sources.cmake b/source/geometry/navigation/sources.cmake new file mode 100644 index 0000000000..8b49b7b977 --- /dev/null +++ b/source/geometry/navigation/sources.cmake @@ -0,0 +1,131 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4navigation +# Package: Geant4.src.G4geometry.G4navigation +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/11/10 11:24:46 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4navigation + HEADERS + G4AuxiliaryNavServices.hh + G4AuxiliaryNavServices.icc + G4BrentLocator.hh + G4DrawVoxels.hh + G4ErrorPropagationNavigator.hh + G4GeomTestErrorList.hh + G4GeomTestLogger.hh + G4GeomTestOverlapList.hh + G4GeomTestOvershootList.hh + G4GeomTestPoint.hh + G4GeomTestSegment.hh + G4GeomTestStreamLogger.hh + G4GeomTestVolPoint.hh + G4GeomTestVolume.hh + G4GeometryMessenger.hh + G4MultiLevelLocator.hh + G4MultiNavigator.hh + G4NavigationLogger.hh + G4Navigator.hh + G4Navigator.icc + G4NormalNavigation.hh + G4NormalNavigation.icc + G4ParameterisedNavigation.hh + G4ParameterisedNavigation.icc + G4PartialPhantomParameterisation.hh + G4PathFinder.hh + G4PhantomParameterisation.hh + G4PhantomParameterisation.icc + G4PropagatorInField.hh + G4PropagatorInField.icc + G4RegularNavigation.hh + G4RegularNavigationHelper.hh + G4ReplicaNavigation.hh + G4ReplicaNavigation.icc + G4SafetyHelper.hh + G4SimpleLocator.hh + G4TransportationManager.hh + G4TransportationManager.icc + G4VIntersectionLocator.hh + G4VIntersectionLocator.icc + G4VoxelNavigation.hh + G4VoxelNavigation.icc + G4VoxelSafety.hh + SOURCES + G4AuxiliaryNavServices.cc + G4BrentLocator.cc + G4DrawVoxels.cc + G4ErrorPropagationNavigator.cc + G4GeomTestErrorList.cc + G4GeomTestOverlapList.cc + G4GeomTestOvershootList.cc + G4GeomTestPoint.cc + G4GeomTestSegment.cc + G4GeomTestStreamLogger.cc + G4GeomTestVolPoint.cc + G4GeomTestVolume.cc + G4GeometryMessenger.cc + G4MultiLevelLocator.cc + G4MultiNavigator.cc + G4NavigationLogger.cc + G4Navigator.cc + G4NormalNavigation.cc + G4ParameterisedNavigation.cc + G4PartialPhantomParameterisation.cc + G4PathFinder.cc + G4PhantomParameterisation.cc + G4PropagatorInField.cc + G4RegularNavigation.cc + G4RegularNavigationHelper.cc + G4ReplicaNavigation.cc + G4SafetyHelper.cc + G4SimpleLocator.cc + G4TransportationManager.cc + G4VIntersectionLocator.cc + G4VoxelNavigation.cc + G4VoxelSafety.cc + GRANULAR_DEPENDENCIES + G4geometrymng + G4globman + G4graphics_reps + G4intercoms + G4magneticfield + G4materials + G4volumes + GLOBAL_DEPENDENCIES + G4global + G4graphics_reps + G4intercoms + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/geometry/navigation/src/G4BrentLocator.cc b/source/geometry/navigation/src/G4BrentLocator.cc index 6c314e7ef7..57ea2e04c6 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.8 2009/05/15 12:55:48 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BrentLocator.cc,v 1.9 2010/07/13 15:59:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Class G4BrentLocator implementation // @@ -141,6 +141,7 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( G4bool restoredFullEndpoint = false; + G4int oldprc; // cout, cerr precision G4int substep_no = 0; // Limits for substep number @@ -504,7 +505,7 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( G4cerr << "Recalculation of EndPoint was called with fEpsStep= " << GetEpsilonStepFor() << G4endl; } - G4cerr.precision(20); + oldprc = G4cerr.precision(20); G4cerr << " Point A (Curve start) is " << CurveStartPointVelocity << G4endl; G4cerr << " Point B (Curve end) is " << CurveEndPointVelocity @@ -528,6 +529,7 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( G4cerr << " Restarted no= "<< restartB << " Epsilon= " << GetEpsilonStepFor() <<" DeltaInters= " << GetDeltaIntersectionFor() << G4endl; + G4cerr.precision( oldprc ); G4Exception("G4BrentLocator::EstimateIntersectionPoint()", "FatalError", FatalException, @@ -727,7 +729,7 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( printStatus( CurrentA_PointVelocity, CurrentB_PointVelocity, -1.0, NewSafety, substep_no); G4cout << G4endl; - G4cout.precision( 10 ); + oldprc = G4cout.precision( 10 ); G4double done_len = CurrentA_PointVelocity.GetCurveLength(); G4double full_len = CurveEndPointVelocity.GetCurveLength(); G4cout << "ERROR - G4BrentLocator::EstimateIntersectionPoint()" @@ -735,6 +737,7 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( << " Undertaken only length: " << done_len << " out of " << full_len << " required." << G4endl; G4cout << " Remaining length = " << full_len - done_len << G4endl; + G4cout.precision( oldprc ); G4Exception("G4BrentLocator::EstimateIntersectionPoint()", "UnableToLocateIntersection", FatalException, @@ -742,7 +745,7 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( } else if( substep_no >= warn_substeps ) { - G4int oldprc= G4cout.precision( 10 ); + oldprc= G4cout.precision( 10 ); G4cout << "WARNING - G4BrentLocator::EstimateIntersectionPoint()" << G4endl << " Undertaken length: " diff --git a/source/geometry/navigation/src/G4GeomTestSegment.cc b/source/geometry/navigation/src/G4GeomTestSegment.cc index aecf186ee4..a9ea02076b 100644 --- a/source/geometry/navigation/src/G4GeomTestSegment.cc +++ b/source/geometry/navigation/src/G4GeomTestSegment.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GeomTestSegment.cc,v 1.11 2007/11/16 09:39:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4GeomTestSegment.cc,v 1.13 2010/08/20 09:03:54 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- // GEANT 4 class source file @@ -274,38 +274,32 @@ void G4GeomTestSegment::FindSomePoints( G4GeomTestLogger *logger, G4double s(0); G4bool entering; G4double vSurfN; - // G4cout<<"Entering Find Some Points vSearch="<DistanceToIn(p,vSearch); - //G4cout<<"Outside DistToIn="<= kInfinity) return; - s += sign*dist; entering = true; break; case kSurface: - vSurfN=vSearch.dot(solid->SurfaceNormal(p)); - if(std::abs(vSurfN)SurfaceNormal(p)); + if(std::fabs(vSurfN)Inside(p); - if (inside == kOutside) { - entering = false; - break; - } - } - - + entering = false; } else { dist = solid->DistanceToIn(p,vSearch); - //G4cout<<"if exiting distToIn="<= kInfinity) return; if ( (dist > kCarTolerance) diff --git a/source/geometry/navigation/src/G4GeometryMessenger.cc b/source/geometry/navigation/src/G4GeometryMessenger.cc index 3a7edfbee5..175a7ffe21 100644 --- a/source/geometry/navigation/src/G4GeometryMessenger.cc +++ b/source/geometry/navigation/src/G4GeometryMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GeometryMessenger.cc,v 1.5 2006/06/29 18:36:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4GeometryMessenger.cc,v 1.6 2010/11/10 14:06:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- // GEANT 4 class source file @@ -105,6 +105,18 @@ G4GeometryMessenger::G4GeometryMessenger(G4TransportationManager* tman) chkCmd->SetDefaultValue(false); chkCmd->AvailableForStates(G4State_Idle); + pchkCmd = new G4UIcmdWithABool( "/geometry/navigator/push_notify", this ); + pchkCmd->SetGuidance( "Set navigator verbosity push notifications." ); + pchkCmd->SetGuidance( "This allows to disable/re-enable verbosity in" ); + pchkCmd->SetGuidance( "navigation, when tracks may get stuck and require" ); + pchkCmd->SetGuidance( "one artificial push along the direction by the" ); + pchkCmd->SetGuidance( "navigator. Notification is active by default." ); + pchkCmd->SetGuidance( "NOTE: this command has effect -only- if Geant4 has" ); + pchkCmd->SetGuidance( " been installed with the G4VERBOSE flag set!" ); + pchkCmd->SetParameterName("pushFlag",true); + pchkCmd->SetDefaultValue(true); + pchkCmd->AvailableForStates(G4State_Idle); + // // Geometry verification test commands // @@ -243,7 +255,7 @@ G4GeometryMessenger::~G4GeometryMessenger() delete rcsCmd; delete rcdCmd; delete cyzCmd; delete cfzCmd; delete cfrCmd; delete cylCmd; delete tolCmd; - delete resCmd; delete verbCmd; delete chkCmd; + delete resCmd; delete verbCmd; delete pchkCmd; delete chkCmd; delete geodir; delete navdir; delete testdir; delete tvolume; delete tlogger; } @@ -424,6 +436,17 @@ G4GeometryMessenger::SetCheckMode(G4String input) navigator->CheckMode(mode); } +// +// Set navigator verbosity for push notifications +// +void +G4GeometryMessenger::SetPushFlag(G4String input) +{ + G4bool mode = pchkCmd->GetNewBoolValue(input); + G4Navigator* navigator = tmanager->GetNavigatorForTracking(); + navigator->SetPushVerbosity(mode); +} + // // LineTest // diff --git a/source/geometry/navigation/src/G4MultiLevelLocator.cc b/source/geometry/navigation/src/G4MultiLevelLocator.cc index 0f9b169694..e5012cf399 100644 --- a/source/geometry/navigation/src/G4MultiLevelLocator.cc +++ b/source/geometry/navigation/src/G4MultiLevelLocator.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MultiLevelLocator.cc,v 1.5 2008/12/11 10:01:02 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4MultiLevelLocator.cc,v 1.6 2010/07/13 15:59:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Class G4MultiLevelLocator implementation // @@ -119,7 +119,9 @@ G4bool G4MultiLevelLocator::EstimateIntersectionPoint( G4bool restoredFullEndpoint = false; G4int substep_no = 0; - + + G4int oldprc; // cout/cerr precision settings + // Limits for substep number // const G4int max_substeps= 10000; // Test 120 (old value 100 ) @@ -155,9 +157,9 @@ G4bool G4MultiLevelLocator::EstimateIntersectionPoint( G4int depth=0; // Depth counts how many subdivisions of initial step made #ifdef G4DEBUG_FIELD - static G4double tolerance= 1.0e-8; + static const G4double tolerance = 1.0e-8 * mm; G4ThreeVector StartPosition= CurveStartPointVelocity.GetPosition(); - if( (TrialPoint - StartPosition).mag() < tolerance * mm ) + if( (TrialPoint - StartPosition).mag() < tolerance) { G4cerr << "WARNING - G4MultiLevelLocator::EstimateIntersectionPoint()" << G4endl @@ -454,7 +456,7 @@ G4bool G4MultiLevelLocator::EstimateIntersectionPoint( G4cerr << "Recalculation of EndPoint was called with fEpsStep= " << GetEpsilonStepFor() << G4endl; } - G4cerr.precision(20); + oldprc = G4cerr.precision(20); G4cerr << " Point A (Curve start) is " << CurveStartPointVelocity << G4endl; G4cerr << " Point B (Curve end) is " << CurveEndPointVelocity @@ -473,6 +475,7 @@ G4bool G4MultiLevelLocator::EstimateIntersectionPoint( << substep_no << G4endl; G4cerr << " Substep depth no= "<< substep_no_p << " Depth= " << depth << G4endl; + G4cerr.precision(oldprc); G4Exception("G4MultiLevelLocator::EstimateIntersectionPoint()", "FatalError", FatalException, @@ -690,7 +693,7 @@ G4bool G4MultiLevelLocator::EstimateIntersectionPoint( } #endif - G4cout.precision( 10 ); + oldprc = G4cout.precision( 10 ); G4double done_len = CurrentA_PointVelocity.GetCurveLength(); G4double full_len = CurveEndPointVelocity.GetCurveLength(); G4cout << "ERROR - G4MultiLevelLocator::EstimateIntersectionPoint()" @@ -698,6 +701,7 @@ G4bool G4MultiLevelLocator::EstimateIntersectionPoint( << " Undertaken only length: " << done_len << " out of " << full_len << " required." << G4endl; G4cout << " Remaining length = " << full_len - done_len << G4endl; + G4cout.precision( oldprc ); G4Exception("G4MultiLevelLocator::EstimateIntersectionPoint()", "UnableToLocateIntersection", FatalException, @@ -705,7 +709,7 @@ G4bool G4MultiLevelLocator::EstimateIntersectionPoint( } else if( substep_no >= warn_substeps ) { - G4int oldprc= G4cout.precision( 10 ); + oldprc = G4cout.precision( 10 ); G4cout << "WARNING - G4MultiLevelLocator::EstimateIntersectionPoint()" << G4endl << " Undertaken length: " diff --git a/source/geometry/navigation/src/G4MultiNavigator.cc b/source/geometry/navigation/src/G4MultiNavigator.cc index 8a850f8194..35daec6618 100644 --- a/source/geometry/navigation/src/G4MultiNavigator.cc +++ b/source/geometry/navigation/src/G4MultiNavigator.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4MultiNavigator.cc,v 1.8 2008/10/24 14:00:03 gcosmo Exp $ +// $Id: G4MultiNavigator.cc,v 1.11 2010/09/06 09:49:15 gcosmo Exp $ // GEANT4 tag $ Name: $ // // class G4PathFinder Implementation @@ -47,25 +47,25 @@ class G4FieldManager; // ******************************************************************** // G4MultiNavigator::G4MultiNavigator() - : G4Navigator() + : G4Navigator(), fLastMassWorld(0) { fNoActiveNavigators= 0; - G4ThreeVector Big3Vector( DBL_MAX, DBL_MAX, DBL_MAX ); + G4ThreeVector Big3Vector( kInfinity, kInfinity, kInfinity ); fLastLocatedPosition = Big3Vector; fSafetyLocation = Big3Vector; fPreStepLocation = Big3Vector; fMinSafety_PreStepPt= -1.0; fMinSafety_atSafLocation= -1.0; - fMinSafety= -DBL_MAX; - fMinStep= -DBL_MAX; + fMinSafety= -kInfinity; + fTrueMinStep= fMinStep= -kInfinity; - for(register int num=0; num<= fMaxNav; ++num ) + for(register int num=0; num< fMaxNav; ++num ) { fpNavigator[num] = 0; fLimitTruth[num] = false; fLimitedStep[num] = kUndefLimited; - fCurrentStepSize[num] = -1.0; + fCurrentStepSize[num] = fNewSafety[num] = -1.0; fLocatedVolume[num] = 0; } @@ -93,7 +93,7 @@ G4double G4MultiNavigator::ComputeStep(const G4ThreeVector &pGlobalPoint, G4double &pNewSafety) { G4double safety= 0.0, step=0.0; - G4double minSafety= DBL_MAX, minStep= DBL_MAX; + G4double minSafety= kInfinity, minStep= kInfinity; #ifdef G4DEBUG_NAVIGATION if( fVerbose > 2 ) @@ -114,7 +114,7 @@ G4double G4MultiNavigator::ComputeStep(const G4ThreeVector &pGlobalPoint, for( register int num=0; num< fNoActiveNavigators; ++pNavigatorIter,++num ) { - safety= DBL_MAX; + safety= kInfinity; step= (*pNavigatorIter)->ComputeStep( initialPosition, initialDirection, @@ -188,13 +188,7 @@ G4MultiNavigator::ObtainFinalStep( G4int navigatorId, G4double &minStep, ELimited &limitedStep) { - G4int navigatorNo=-1; - - if( navigatorId <= fNoActiveNavigators ) - { - navigatorNo= navigatorId; - } - else + if( navigatorId > fNoActiveNavigators ) { G4cerr << "ERROR - G4MultiNavigator::ObtainFinalStep()" << " Navigator Id = " << navigatorId @@ -205,20 +199,23 @@ G4MultiNavigator::ObtainFinalStep( G4int navigatorId, } // Prepare the information to return - pNewSafety = fNewSafety[ navigatorNo ]; - limitedStep = fLimitedStep[ navigatorNo ]; + // + pNewSafety = fNewSafety[ navigatorId ]; + limitedStep = fLimitedStep[ navigatorId ]; minStep= fMinStep; - // if( (minStep==kInfinity) || (fVerbose > 1) ){ #ifdef G4DEBUG_NAVIGATION - if( fVerbose > 1 ){ - G4cout << " G4MultiNavigator::ComputeStep returns " << fCurrentStepSize[ navigatorNo ] - << " for Navigator " << navigatorNo << " Limited step = " << limitedStep + if( fVerbose > 1 ) + { + G4cout << " G4MultiNavigator::ComputeStep returns " + << fCurrentStepSize[ navigatorId ] + << " for Navigator " << navigatorId + << " Limited step = " << limitedStep << " Safety(mm) = " << pNewSafety / mm << G4endl; } #endif - return fCurrentStepSize[ navigatorNo ]; + return fCurrentStepSize[ navigatorId ]; } // ---------------------------------------------------------------------- @@ -427,7 +424,7 @@ G4double G4MultiNavigator::ComputeSafety( const G4ThreeVector& position, { // Recompute safety for the relevant point - G4double minSafety = DBL_MAX, safety = DBL_MAX; + G4double minSafety = kInfinity, safety = kInfinity; std::vector::iterator pNavigatorIter; pNavigatorIter= pTransportManager-> GetActiveNavigatorsIterator(); diff --git a/source/geometry/navigation/src/G4NavigationLogger.cc b/source/geometry/navigation/src/G4NavigationLogger.cc new file mode 100644 index 0000000000..ac915ae6a1 --- /dev/null +++ b/source/geometry/navigation/src/G4NavigationLogger.cc @@ -0,0 +1,332 @@ +// +// ******************************************************************** +// * 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: G4NavigationLogger.cc,v 1.1 2010/11/04 08:57:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// class G4NavigationLogger Implementation +// +// Author: G.Cosmo, 2010 +// +// -------------------------------------------------------------------- + +#include + +#include "G4NavigationLogger.hh" +#include "G4GeometryTolerance.hh" + +G4NavigationLogger::G4NavigationLogger(const G4String& id) + : fId(id), fVerbose(0) +{ +} + +G4NavigationLogger::~G4NavigationLogger() +{ +} + +void +G4NavigationLogger::PreComputeStepLog(const G4VPhysicalVolume* motherPhysical, + G4double motherSafety, + const G4ThreeVector& localPoint) const +{ + G4VSolid* motherSolid = motherPhysical->GetLogicalVolume()->GetSolid(); + G4String fType = fId + "::ComputeStep()"; + if( fVerbose == 1 ) + { + G4cout << "*************** " << fType << " *****************" << G4endl + << " VolType " + << std::setw(15) << "Safety/mm" << " " + << std::setw(15) << "Distance/mm" << " " + << std::setw(52) << "Position (local coordinates)" + << " - Solid" << G4endl; + G4cout << " Mother " + << std::setw(15) << motherSafety << " " + << std::setw(15) << "N/C" << " " << localPoint << " - " + << motherSolid->GetEntityType() << ": " << motherSolid->GetName() + << G4endl; + } + if ( motherSafety < 0.0 ) + { + G4cerr << "ERROR - " << fType << G4endl + << " Current solid " << motherSolid->GetName() + << " gave negative safety: " << motherSafety << G4endl + << " for the current (local) point " << localPoint + << G4endl; + motherSolid->DumpInfo(); + G4Exception(fType, "NegativeSafetyMotherVol", FatalException, + "Negative Safety In Voxel Navigation !" ); + } + if( motherSolid->Inside(localPoint)==kOutside ) + { + G4cout << "WARNING - " << fType << G4endl + << " Point " << localPoint + << " is outside current volume " << motherPhysical->GetName() + << G4endl; + G4double estDistToSolid= motherSolid->DistanceToIn(localPoint); + G4cout << " Estimated isotropic distance to solid (distToIn)= " + << estDistToSolid << G4endl; + if( estDistToSolid > 100.0 * motherSolid->GetTolerance() ) + { + motherSolid->DumpInfo(); + G4Exception(fType, "FarOutsideCurrentVolume", FatalException, + "Point is far outside Current Volume !" ); + } + else + G4Exception(fType, "OutsideCurrentVolume", JustWarning, + "Point is a little outside Current Volume."); + } + + // Verification / verbosity + // + if ( fVerbose > 1 ) + { + static G4int precVerf= 20; // Precision + G4int oldprec = G4cout.precision(precVerf); + G4cout << " - Information on mother / key daughters ..." << G4endl; + G4cout << " Type " << std::setw(12) << "Solid-Name" << " " + << std::setw(3*(6+precVerf)) << " local point" << " " + << std::setw(4+precVerf) << "solid-Safety" << " " + << std::setw(4+precVerf) << "solid-Step" << " " + << std::setw(17) << "distance Method " + << std::setw(3*(6+precVerf)) << " local direction" << " " + << G4endl; + G4cout << " Mother " << std::setw(12) << motherSolid->GetName() << " " + << std::setw(4+precVerf) << localPoint << " " + << std::setw(4+precVerf) << motherSafety << " " + << G4endl; + G4cout.precision(oldprec); + } +} + +void +G4NavigationLogger::AlongComputeStepLog(const G4VSolid* sampleSolid, + const G4ThreeVector& samplePoint, + const G4ThreeVector& sampleDirection, + const G4ThreeVector& localDirection, + G4double sampleSafety, + G4double sampleStep) const +{ + // Check to see that the resulting point is indeed in/on volume. + // This check could eventually be made only for successful candidate. + + if ( sampleStep < kInfinity ) + { + G4ThreeVector intersectionPoint; + intersectionPoint= samplePoint + sampleStep * sampleDirection; + EInside insideIntPt= sampleSolid->Inside(intersectionPoint); + G4String fType = fId + "::ComputeStep()"; + + G4String solidResponse = "-kInside-"; + if (insideIntPt == kOutside) + { solidResponse = "-kOutside-"; } + else if (insideIntPt == kSurface) + { solidResponse = "-kSurface-"; } + + if ( fVerbose == 1 ) + { + G4cout << " Invoked Inside() for solid: " + << sampleSolid->GetName() + << ". Solid replied: " << solidResponse << G4endl + << " For point p: " << intersectionPoint + << ", considered as 'intersection' point." << G4endl; + } + + G4double safetyIn= -1, safetyOut= -1; // Set to invalid values + G4double newDistIn= -1, newDistOut= -1; + if( insideIntPt != kInside ) + { + safetyIn= sampleSolid->DistanceToIn(intersectionPoint); + newDistIn= sampleSolid->DistanceToIn(intersectionPoint, + sampleDirection); + } + if( insideIntPt != kOutside ) + { + safetyOut= sampleSolid->DistanceToOut(intersectionPoint); + newDistOut= sampleSolid->DistanceToOut(intersectionPoint, + sampleDirection); + } + if( insideIntPt != kSurface ) + { + G4int oldcoutPrec = G4cout.precision(16); + G4cout << "WARNING - " << fType << G4endl + << " Inaccurate solid DistanceToIn" + << " for solid " << sampleSolid->GetName() << G4endl; + G4cout << " Solid gave DistanceToIn = " + << sampleStep << " yet returns " << solidResponse + << " for this point !" << G4endl; + G4cout << " Point = " << intersectionPoint << G4endl; + G4cout << " Safety values: " << G4endl; + if ( insideIntPt != kInside ) + { + G4cout << " DistanceToIn(p) = " << safetyIn << G4endl; + } + if ( insideIntPt != kOutside ) + { + G4cout << " DistanceToOut(p) = " << safetyOut << G4endl; + } + G4Exception(fType, "InaccurateDistanceToIn", JustWarning, + "Conflicting response from Solid."); + G4cout.precision(oldcoutPrec); + } + else + { + // If it is on the surface, *ensure* that either DistanceToIn + // or DistanceToOut returns a finite value ( >= Tolerance). + // + if( std::max( newDistIn, newDistOut ) <= + G4GeometryTolerance::GetInstance()->GetSurfaceTolerance() ) + { + G4cout << "ERROR - " << fType << G4endl + << " Identified point for which the solid " + << sampleSolid->GetName() << G4endl + << " has MAJOR problem: " << G4endl + << " --> Both DistanceToIn(p,v) and DistanceToOut(p,v) " + << "return Zero, an equivalent value or negative value." + << G4endl; + G4cout << " Solid: " << sampleSolid << G4endl; + G4cout << " Point p= " << intersectionPoint << G4endl; + G4cout << " Direction v= " << sampleDirection << G4endl; + G4cout << " DistanceToIn(p,v) = " << newDistIn << G4endl; + G4cout << " DistanceToOut(p,v,..) = " << newDistOut << G4endl; + G4cout << " Safety values: " << G4endl; + G4cout << " DistanceToIn(p) = " << safetyIn << G4endl; + G4cout << " DistanceToOut(p) = " << safetyOut << G4endl; + G4Exception(fType, "DistanceToInAndOutAreZero", FatalException, + "Zero from both Solid DistanceIn and Out(p,v)."); + } + } + + // Verification / verbosity + // + if ( fVerbose > 1 ) + { + static G4int precVerf= 20; // Precision + G4int oldprec = G4cout.precision(precVerf); + G4cout << "Daughter " + << std::setw(12) << sampleSolid->GetName() << " " + << std::setw(4+precVerf) << samplePoint << " " + << std::setw(4+precVerf) << sampleSafety << " " + << std::setw(4+precVerf) << sampleStep << " " + << std::setw(16) << "distanceToIn" << " " + << std::setw(4+precVerf) << localDirection << " " + << G4endl; + G4cout.precision(oldprec); + } + } +} + +void +G4NavigationLogger::PostComputeStepLog(const G4VSolid* motherSolid, + const G4ThreeVector& localPoint, + const G4ThreeVector& localDirection, + G4double motherStep, + G4double motherSafety) const +{ + if( fVerbose == 1 ) + { + G4cout << " Mother " + << std::setw(15) << motherSafety << " " + << std::setw(15) << motherStep << " " << localPoint << " - " + << motherSolid->GetEntityType() << ": " << motherSolid->GetName() + << G4endl; + } + if( ( motherStep < 0.0 ) || ( motherStep >= kInfinity) ) + { + G4String fType = fId + "::ComputeStep()"; + G4int oldPrOut= G4cout.precision(16); + G4int oldPrErr= G4cerr.precision(16); + G4cerr << "ERROR - " << fType << G4endl + << " Problem in Navigation" << G4endl + << " Point (local coordinates): " + << localPoint << G4endl + << " Local Direction: " << localDirection << G4endl + << " Solid: " << motherSolid->GetName() << G4endl; + motherSolid->DumpInfo(); + G4Exception(fType, "PointDistOutInvalid", FatalException, + "Current point is outside the current solid !"); + G4cout.precision(oldPrOut); + G4cerr.precision(oldPrErr); + } + if ( fVerbose > 1 ) + { + static G4int precVerf= 20; // Precision + G4int oldprec = G4cout.precision(precVerf); + G4cout << " Mother " << std::setw(12) << motherSolid->GetName() << " " + << std::setw(4+precVerf) << localPoint << " " + << std::setw(4+precVerf) << motherSafety << " " + << std::setw(4+precVerf) << motherStep << " " + << std::setw(16) << "distanceToOut" << " " + << std::setw(4+precVerf) << localDirection << " " + << G4endl; + G4cout.precision(oldprec); + } +} + +void +G4NavigationLogger::ComputeSafetyLog(const G4VSolid* solid, + const G4ThreeVector& point, + G4double safety, + G4bool banner) const +{ + G4String volumeType = "Daughter "; + if (banner) + { + G4cout << "************** " << fId << "::ComputeSafety() ****************" << G4endl; + G4cout << " VolType " + << std::setw(15) << "Safety/mm" << " " + << std::setw(52) << "Position (local coordinates)" + << " - Solid" << G4endl; + volumeType = " Mother "; + } + G4cout << volumeType + << std::setw(15) << safety << " " << point << " - " + << solid->GetEntityType() << ": " << solid->GetName() << G4endl; +} + +void +G4NavigationLogger::PrintDaughterLog (const G4VSolid* sampleSolid, + const G4ThreeVector& samplePoint, + G4double sampleSafety, + G4double sampleStep) const +{ + if ( fVerbose == 1 ) + { + G4cout << "Daughter " + << std::setw(15) << sampleSafety << " "; + if (sampleStep) + { + G4cout << std::setw(15) << sampleStep << " "; + } + else + { + G4cout << std::setw(15) << "N/C" << " "; + } + G4cout << samplePoint << " - " + << sampleSolid->GetEntityType() << ": " << sampleSolid->GetName() + << G4endl; + } +} diff --git a/source/geometry/navigation/src/G4Navigator.cc b/source/geometry/navigation/src/G4Navigator.cc index d27b622e08..394668428f 100644 --- a/source/geometry/navigation/src/G4Navigator.cc +++ b/source/geometry/navigation/src/G4Navigator.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4Navigator.cc,v 1.39 2009/05/08 06:47:32 tnikitin Exp $ +// $Id: G4Navigator.cc,v 1.46 2010/11/15 14:03:27 gcosmo Exp $ // GEANT4 tag $ Name: $ // // class G4Navigator Implementation @@ -46,7 +46,7 @@ // G4Navigator::G4Navigator() : fWasLimitedByGeometry(false), fVerbose(0), - fTopPhysical(0), fCheck(false), fPushed(false) + fTopPhysical(0), fCheck(false), fPushed(false), fWarnPush(true) { fActive= false; ResetStackAndState(); @@ -127,9 +127,9 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, #endif #ifdef G4VERBOSE - G4int oldcoutPrec = G4cout.precision(8); if( fVerbose > 2 ) { + G4int oldcoutPrec = G4cout.precision(8); G4cout << "*** G4Navigator::LocateGlobalPointAndSetup: ***" << G4endl; G4cout << " Called with arguments: " << G4endl << " Globalpoint = " << globalPoint << G4endl @@ -139,6 +139,7 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, G4cout << " ----- Upon entering:" << G4endl; PrintState(); } + G4cout.precision(oldcoutPrec); } #endif @@ -194,7 +195,7 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, fBlockedPhysicalVolume->SetCopyNo(fBlockedReplicaNo); break; case kParameterised: - if( fBlockedPhysicalVolume->GetRegularStructureId() != 1 ) + if( fBlockedPhysicalVolume->GetRegularStructureId() == 0 ) { G4VSolid *pSolid; G4VPVParameterisation *pParam; @@ -359,6 +360,7 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, // Determine `type' of current mother volume // targetPhysical = fHistory.GetTopVolume(); + if (!targetPhysical) { break; } targetLogical = targetPhysical->GetLogicalVolume(); switch( CharacteriseDaughters(targetLogical) ) { @@ -451,12 +453,9 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, #ifdef G4VERBOSE if( fVerbose == 4 ) { - G4cout.precision(6); + G4int oldcoutPrec = G4cout.precision(8); G4String curPhysVol_Name("None"); - if (targetPhysical!=0) - { - curPhysVol_Name = targetPhysical->GetName(); - } + if (targetPhysical) { curPhysVol_Name = targetPhysical->GetName(); } G4cout << " Return value = new volume = " << curPhysVol_Name << G4endl; G4cout << " ----- Upon exiting:" << G4endl; PrintState(); @@ -464,8 +463,8 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, G4cout << "Upon exiting LocateGlobalPointAndSetup():" << G4endl; G4cout << " History = " << G4endl << fHistory << G4endl << G4endl; #endif + G4cout.precision(oldcoutPrec); } - G4cout.precision(oldcoutPrec); #endif fLocatedOutsideWorld= false; @@ -626,7 +625,7 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, G4double &pNewSafety) { G4ThreeVector localDirection = ComputeLocalAxis(pDirection); - G4double Step = DBL_MAX; + G4double Step = kInfinity; G4VPhysicalVolume *motherPhysical = fHistory.GetTopVolume(); G4LogicalVolume *motherLogical = motherPhysical->GetLogicalVolume(); @@ -634,8 +633,6 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, sNavCScalls++; #ifdef G4VERBOSE - G4int oldcoutPrec= G4cout.precision(8); - G4int oldcerrPrec= G4cerr.precision(10); if( fVerbose > 0 ) { G4cout << "*** G4Navigator::ComputeStep: ***" << G4endl; @@ -653,9 +650,6 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, } #endif } - - static G4double fAccuracyForWarning = kCarTolerance, - fAccuracyForException = 1000*kCarTolerance; #endif G4ThreeVector newLocalPoint = ComputeLocalPoint(pGlobalpoint); @@ -669,93 +663,8 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, if ( moveLenSq >= kCarTolerance*kCarTolerance ) { #ifdef G4VERBOSE - // The following checks only make sense if the move is larger - // than the tolerance. - // - G4ThreeVector OriginalGlobalpoint = - fHistory.GetTopTransform().Inverse(). - TransformPoint(fLastLocatedPointLocal); - - G4double shiftOriginSafSq = (fPreviousSftOrigin-pGlobalpoint).mag2(); - - // Check that the starting point of this step is - // within the isotropic safety sphere of the last point - // to a accuracy/precision given by fAccuracyForWarning. - // If so give warning. - // If it fails by more than fAccuracyForException exit with error. - // - if( shiftOriginSafSq >= sqr(fPreviousSafety) ) - { - G4double shiftOrigin = std::sqrt(shiftOriginSafSq); - G4double diffShiftSaf = shiftOrigin - fPreviousSafety; - - if( diffShiftSaf > fAccuracyForWarning ) - { - G4Exception("G4Navigator::ComputeStep()", - "UnexpectedPositionShift", JustWarning, - "Accuracy ERROR or slightly inaccurate position shift."); - G4cerr << " The Step's starting point has moved " - << std::sqrt(moveLenSq)/mm << " mm " << G4endl - << " since the last call to a Locate method." << G4endl; - G4cerr << " This has resulted in moving " - << shiftOrigin/mm << " mm " - << " from the last point at which the safety " - << " was calculated " << G4endl; - G4cerr << " which is more than the computed safety= " - << fPreviousSafety/mm << " mm at that point." << G4endl; - G4cerr << " This difference is " - << diffShiftSaf/mm << " mm." << G4endl - << " The tolerated accuracy is " - << fAccuracyForException/mm << " mm." << G4endl; - - static G4int warnNow = 0; - if( ((++warnNow % 100) == 1) ) - { - G4cerr << " This problem can be due to either " << G4endl; - G4cerr << " - a process that has proposed a displacement" - << " larger than the current safety , or" << G4endl; - G4cerr << " - inaccuracy in the computation of the safety" - << G4endl; - G4cerr << " We suggest that you " << G4endl - << " - find i) what particle is being tracked, and " - << " ii) through what part of your geometry " << G4endl - << " for example by re-running this event with " - << G4endl - << " /tracking/verbose 1 " << G4endl - << " - check which processes you declare for" - << " this particle (and look at non-standard ones)" - << G4endl - << " - in case, create a detailed logfile" - << " of this event using:" << G4endl - << " /tracking/verbose 6 " - << G4endl; - } - } -#ifdef G4DEBUG_NAVIGATION - else - { - G4cerr << "WARNING - G4Navigator::ComputeStep()" << G4endl - << " The Step's starting point has moved " - << std::sqrt(moveLenSq) << "," << G4endl - << " which has taken it to the limit of" - << " the current safety. " << G4endl; - } + ComputeStepLog(pGlobalpoint, moveLenSq); #endif - } - G4double safetyPlus = fPreviousSafety + fAccuracyForException; - if ( shiftOriginSafSq > sqr(safetyPlus) ) - { - G4cerr << "ERROR - G4Navigator::ComputeStep()" << G4endl - << " Position has shifted considerably without" - << " notifying the navigator !" << G4endl - << " Tolerated safety: " << safetyPlus << G4endl - << " Computed shift : " << shiftOriginSafSq << G4endl; - G4Exception("G4Navigator::ComputeStep()", - "SignificantPositionShift", JustWarning, - "May lead to a crash or unreliable results."); - } -#endif // end G4VERBOSE - // Relocate the point within the same volume // LocateGlobalPointWithinVolume( pGlobalpoint ); @@ -783,7 +692,7 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, } else { - if( motherPhysical->GetRegularStructureId() != 1 ) + if( motherPhysical->GetRegularStructureId() == 0 ) { Step = fnormalNav.ComputeStep(fLastLocatedPointLocal, localDirection, @@ -810,7 +719,7 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, // of the container volume). Then LocateGlobalPointAndSetup() has // reset the history topvolume to world. // - if(fHistory.GetTopVolume()->GetRegularStructureId() != 1 ) + if(fHistory.GetTopVolume()->GetRegularStructureId() == 0 ) { G4Exception("G4Navigator::ComputeStep()", "Bad-location-of-point", JustWarning, @@ -943,9 +852,9 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, { // Act to recover this stuck track. Pushing it along direction // - Step += 0.9*kCarTolerance; + Step += 100*kCarTolerance; #ifdef G4VERBOSE - if (!fPushed) + if ((!fPushed) && (fWarnPush)) { G4cerr << "WARNING - G4Navigator::ComputeStep()" << G4endl << " Track stuck, not moving for " @@ -1047,8 +956,6 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, } G4cout << " Safety = " << pNewSafety << G4endl; } - G4cout.precision(oldcoutPrec); - G4cerr.precision(oldcerrPrec); #endif return Step; @@ -1111,7 +1018,7 @@ void G4Navigator::ResetState() fBlockedPhysicalVolume = 0; fBlockedReplicaNo = -1; - fLastLocatedPointLocal = G4ThreeVector( DBL_MAX, -DBL_MAX, 0.0 ); + fLastLocatedPointLocal = G4ThreeVector( kInfinity, -kInfinity, 0.0 ); fLocatedOutsideWorld = false; } @@ -1131,7 +1038,6 @@ void G4Navigator::SetupHierarchy() G4VSolid *pSolid; G4VPVParameterisation *pParam; - mother = fHistory.GetVolume(0); for ( i=1; i<=cdepth; i++ ) { current = fHistory.GetVolume(i); @@ -1406,6 +1312,106 @@ void G4Navigator::PrintState() const G4cout.precision(oldcoutPrec); } +// ******************************************************************** +// ComputeStepLog +// ******************************************************************** +// +void G4Navigator::ComputeStepLog(const G4ThreeVector& pGlobalpoint, + G4double moveLenSq) const +{ + // The following checks only make sense if the move is larger + // than the tolerance. + + static const G4double fAccuracyForWarning = kCarTolerance, + fAccuracyForException = 1000*kCarTolerance; + + G4ThreeVector OriginalGlobalpoint = fHistory.GetTopTransform().Inverse(). + TransformPoint(fLastLocatedPointLocal); + + G4double shiftOriginSafSq = (fPreviousSftOrigin-pGlobalpoint).mag2(); + + // Check that the starting point of this step is + // within the isotropic safety sphere of the last point + // to a accuracy/precision given by fAccuracyForWarning. + // If so give warning. + // If it fails by more than fAccuracyForException exit with error. + // + if( shiftOriginSafSq >= sqr(fPreviousSafety) ) + { + G4double shiftOrigin = std::sqrt(shiftOriginSafSq); + G4double diffShiftSaf = shiftOrigin - fPreviousSafety; + + if( diffShiftSaf > fAccuracyForWarning ) + { + G4int oldcoutPrec= G4cout.precision(8); + G4int oldcerrPrec= G4cerr.precision(10); + G4Exception("G4Navigator::ComputeStep()", + "UnexpectedPositionShift", JustWarning, + "Accuracy error or slightly inaccurate position shift."); + G4cerr << " The Step's starting point has moved " + << std::sqrt(moveLenSq)/mm << " mm " << G4endl + << " since the last call to a Locate method." << G4endl; + G4cerr << " This has resulted in moving " + << shiftOrigin/mm << " mm " + << " from the last point at which the safety " + << " was calculated " << G4endl; + G4cerr << " which is more than the computed safety= " + << fPreviousSafety/mm << " mm at that point." << G4endl; + G4cerr << " This difference is " + << diffShiftSaf/mm << " mm." << G4endl + << " The tolerated accuracy is " + << fAccuracyForException/mm << " mm." << G4endl; + + static G4int warnNow = 0; + if( ((++warnNow % 100) == 1) ) + { + G4cerr << " This problem can be due to either " << G4endl; + G4cerr << " - a process that has proposed a displacement" + << " larger than the current safety , or" << G4endl; + G4cerr << " - inaccuracy in the computation of the safety" + << G4endl; + G4cerr << " We suggest that you " << G4endl + << " - find i) what particle is being tracked, and " + << " ii) through what part of your geometry " << G4endl + << " for example by re-running this event with " + << G4endl + << " /tracking/verbose 1 " << G4endl + << " - check which processes you declare for" + << " this particle (and look at non-standard ones)" + << G4endl + << " - in case, create a detailed logfile" + << " of this event using:" << G4endl + << " /tracking/verbose 6 " + << G4endl; + } + G4cout.precision(oldcoutPrec); + G4cerr.precision(oldcerrPrec); + } +#ifdef G4DEBUG_NAVIGATION + else + { + G4cerr << "WARNING - G4Navigator::ComputeStep()" << G4endl + << " The Step's starting point has moved " + << std::sqrt(moveLenSq) << "," << G4endl + << " which has taken it to the limit of" + << " the current safety. " << G4endl; + } +#endif + } + G4double safetyPlus = fPreviousSafety + fAccuracyForException; + if ( shiftOriginSafSq > sqr(safetyPlus) ) + { + G4cerr << "ERROR - G4Navigator::ComputeStep()" << G4endl + << " Position has shifted considerably without" + << " notifying the navigator !" << G4endl + << " Tolerated safety: " << safetyPlus << G4endl + << " Computed shift : " << shiftOriginSafSq << G4endl; + G4Exception("G4Navigator::ComputeStep()", + "SignificantPositionShift", JustWarning, + "May lead to a crash or unreliable results."); + } +} + // ******************************************************************** // Operator << // ******************************************************************** diff --git a/source/geometry/navigation/src/G4NormalNavigation.cc b/source/geometry/navigation/src/G4NormalNavigation.cc index 26a40b5251..1cf3042013 100644 --- a/source/geometry/navigation/src/G4NormalNavigation.cc +++ b/source/geometry/navigation/src/G4NormalNavigation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NormalNavigation.cc,v 1.9 2007/05/11 13:43:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NormalNavigation.cc,v 1.11 2010/11/04 08:57:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4NormalNavigation Implementation @@ -37,15 +37,14 @@ #include "G4NormalNavigation.hh" #include "G4AffineTransform.hh" -#include - // ******************************************************************** // Constructor // ******************************************************************** // G4NormalNavigation::G4NormalNavigation() - : fCheck(false), fVerbose(0) + : fCheck(false) { + fLogger = new G4NavigationLogger("G4NormalNavigation"); } // ******************************************************************** @@ -53,7 +52,9 @@ G4NormalNavigation::G4NormalNavigation() // ******************************************************************** // G4NormalNavigation::~G4NormalNavigation() -{;} +{ + delete fLogger; +} // ******************************************************************** // ComputeStep @@ -89,72 +90,9 @@ G4NormalNavigation::ComputeStep(const G4ThreeVector &localPoint, ourSafety = motherSafety; // Working isotropic safety #ifdef G4VERBOSE - static G4int precVerf= 20; // Precision if ( fCheck ) { - if( fVerbose == 1 ) - { - G4cout << "*** G4NormalNavigation::ComputeStep(): ***" << G4endl - << " Invoked DistanceToOut(p) for mother solid: " - << motherSolid->GetName() - << ". Solid replied: " << motherSafety << G4endl - << " For local point p: " << localPoint << G4endl - << " To be considered as 'mother safety'." << G4endl; - } - if ( motherSafety < 0.0 ) - { - G4cerr << "ERROR - G4NormalNavigation::ComputeStep()" << G4endl - << " Current solid " << motherSolid->GetName() - << " gave negative safety: " << motherSafety << G4endl - << " for the current (local) point " << localPoint - << G4endl; - motherSolid->DumpInfo(); - G4Exception("G4NormalNavigation::ComputeStep()", - "NegativeSafetyMotherVol", FatalException, - "Negative Safety In Voxel Navigation !" ); - } - if( motherSolid->Inside(localPoint)==kOutside ) - { - G4cout << "WARNING - G4NormalNavigation::ComputeStep()" << G4endl - << " Point " << localPoint - << " is outside current volume " << motherPhysical->GetName() - << G4endl; - G4double estDistToSolid= motherSolid->DistanceToIn(localPoint); - G4cout << " Estimated isotropic distance to solid (distToIn)= " - << estDistToSolid << G4endl; - if( estDistToSolid > 100.0 * motherSolid->GetTolerance() ) - { - motherSolid->DumpInfo(); - G4Exception("G4NormalNavigation::ComputeStep()", - "FarOutsideCurrentVolume", FatalException, - "Point is far outside Current Volume !" ); - } - else - G4Exception("G4NormalNavigation::ComputeStep()", "OutsideCurrentVolume", - JustWarning, "Point is a little outside Current Volume."); - } - - // Verification / verbosity - // - if ( fVerbose > 1 ) - { - G4int oldprec = G4cout.precision(precVerf); - G4cout << " G4NormalNavigation::ComputeStep()" - << " - Information on mother / key daughters ..." << G4endl; - G4cout << " Type " << std::setw(12) << "Solid-Name" << " " - << std::setw(3*(6+precVerf)) << " local point" << " " - << std::setw(4+precVerf) << "solid-Safety" << " " - << std::setw(4+precVerf) << "solid-Step" << " " - << std::setw(17) << "distance Method " - << std::setw(3*(6+precVerf)) << " local direction" << " " - << G4endl; - G4cout << " Mother " << std::setw(12) << motherSolid->GetName() << " " - << std::setw(4+precVerf) << localPoint << " " - << std::setw(4+precVerf) << motherSafety << " " - << G4endl; - G4cout.precision(oldprec); - } - + fLogger->PreComputeStepLog(motherPhysical, motherSafety, localPoint); } #endif @@ -192,6 +130,12 @@ G4NormalNavigation::ComputeStep(const G4ThreeVector &localPoint, samplePhysical->GetLogicalVolume()->GetSolid(); const G4double sampleSafety = sampleSolid->DistanceToIn(samplePoint); +#ifdef G4VERBOSE + if( fCheck ) + { + fLogger->PrintDaughterLog(sampleSolid, samplePoint, sampleSafety, 0); + } +#endif if ( sampleSafetyDistanceToIn(samplePoint,sampleDirection); + #ifdef G4VERBOSE - if(( fCheck ) && ( fVerbose == 1 )) + if( fCheck ) { - G4cout << "*** G4NormalNavigation::ComputeStep(): ***" << G4endl - << " Invoked DistanceToIn(p,v) for daughter solid: " - << sampleSolid->GetName() - << ". Solid replied: " << sampleStep << G4endl - << " For local point p: " << samplePoint << G4endl - << " Direction v: " << sampleDirection - << ", to be considered as 'daughter step'." << G4endl; + fLogger->PrintDaughterLog(sampleSolid, samplePoint, + sampleSafety, sampleStep); } #endif if ( sampleStep<=ourStep ) @@ -220,69 +160,11 @@ G4NormalNavigation::ComputeStep(const G4ThreeVector &localPoint, exiting = false; *pBlockedPhysical = samplePhysical; blockedReplicaNo = -1; - #ifdef G4VERBOSE - // Check to see that the resulting point is indeed in/on volume. - // This check could eventually be made only for successful candidate. - - if ( ( fCheck ) && ( sampleStep < kInfinity ) ) + if( fCheck ) { - G4ThreeVector intersectionPoint; - intersectionPoint= samplePoint + sampleStep * sampleDirection; - EInside insideIntPt= sampleSolid->Inside(intersectionPoint); - G4String solidResponse = "-kInside-"; - if (insideIntPt == kOutside) - solidResponse = "-kOutside-"; - else if (insideIntPt == kSurface) - solidResponse = "-kSurface-"; - if( fVerbose == 1 ) - { - G4cout << "*** G4NormalNavigation::ComputeStep(): ***" << G4endl - << " Invoked Inside() for solid: " - << sampleSolid->GetName() - << ". Solid replied: " << solidResponse << G4endl - << " For point p: " << intersectionPoint - << ", considered as 'intersection' point." << G4endl; - } - if ( insideIntPt != kSurface ) - { - G4int oldcoutPrec = G4cout.precision(16); - G4cout << "WARNING - G4NormalNavigation::ComputeStep()" << G4endl - << " Inaccurate DistanceToIn for solid " - << sampleSolid->GetName() << G4endl; - G4cout << " Solid gave DistanceToIn = " << sampleStep - << " yet returns " << solidResponse - << " for this point !" << G4endl; - G4cout << " Point = " << intersectionPoint << G4endl; - if ( insideIntPt != kInside ) - G4cout << " DistanceToIn(p) = " - << sampleSolid->DistanceToIn(intersectionPoint) - << G4endl; - if ( insideIntPt != kOutside ) - G4cout << " DistanceToOut(p) = " - << sampleSolid->DistanceToOut(intersectionPoint) - << G4endl; - G4Exception("G4NormalNavigation::ComputeStep()", - "InaccurateDistanceToIn", JustWarning, - "Navigator gets conflicting response from Solid."); - G4cout.precision(oldcoutPrec); - } - } - - // Verification / verbosity - // - if ( fVerbose > 1 ) - { - G4int oldprec = G4cout.precision(precVerf); - G4cout << " Daught " - << std::setw(12) << sampleSolid->GetName() << " " - << std::setw(4+precVerf) << samplePoint << " " - << std::setw(4+precVerf) << sampleSafety << " " - << std::setw(4+precVerf) << sampleStep << " " - << std::setw(16) << "distanceToIn" << " " - << std::setw(4+precVerf) << localDirection << " " - << G4endl; - G4cout.precision(oldprec); + fLogger->AlongComputeStepLog(sampleSolid, samplePoint, + sampleDirection, localDirection, sampleSafety, sampleStep); } #endif } @@ -312,41 +194,8 @@ G4NormalNavigation::ComputeStep(const G4ThreeVector &localPoint, #ifdef G4VERBOSE if ( fCheck ) { - if( fVerbose == 1 ) - { - G4cout << "*** G4NormalNavigation::ComputeStep(): ***" << G4endl - << " Invoked DistanceToOut(p,v,...) for mother solid: " - << motherSolid->GetName() - << ". Solid replied: " << motherStep << G4endl - << " For local point p: " << localPoint << G4endl - << " Direction v: " << localDirection - << ", to be considered as 'mother step'." << G4endl; - } - if( ( motherStep < 0.0 ) || ( motherStep >= kInfinity) ) - { - G4cerr << "ERROR - G4NormalNavigation::ComputeStep()" << G4endl - << " Problem in Navigation" << G4endl - << " Point (local coordinates): " - << localPoint << G4endl - << " Local Direction: " << localDirection << G4endl - << " Solid: " << motherSolid->GetName() << G4endl; - motherSolid->DumpInfo(); - G4Exception("G4NormalNavigation::ComputeStep()", - "PointDistOutInvalid", FatalException, - "Current point is outside the current solid !"); - } - } - if ( fVerbose > 1 ) - { - G4int oldprec = G4cout.precision(precVerf); - G4cout << " Mother " << std::setw(12) << motherSolid->GetName() << " " - << std::setw(4+precVerf) << localPoint << " " - << std::setw(4+precVerf) << motherSafety << " " - << std::setw(4+precVerf) << motherStep << " " - << std::setw(16) << "distanceToOut" << " " - << std::setw(4+precVerf) << localDirection << " " - << G4endl; - G4cout.precision(oldprec); + fLogger->PostComputeStepLog(motherSolid, localPoint, localDirection, + motherStep, motherSafety); } #endif @@ -398,14 +247,9 @@ G4double G4NormalNavigation::ComputeSafety(const G4ThreeVector &localPoint, ourSafety = motherSafety; // Working isotropic safety #ifdef G4VERBOSE - if(( fCheck ) && ( fVerbose == 1 )) + if( fCheck ) { - G4cout << "*** G4NormalNavigation::ComputeSafety(): ***" << G4endl - << " Invoked DistanceToOut(p) for mother solid: " - << motherSolid->GetName() - << ". Solid replied: " << motherSafety << G4endl - << " For local point p: " << localPoint - << ", to be considered as 'mother safety'." << G4endl; + fLogger->ComputeSafetyLog(motherSolid, localPoint, motherSafety, true); } #endif @@ -429,14 +273,9 @@ G4double G4NormalNavigation::ComputeSafety(const G4ThreeVector &localPoint, ourSafety = sampleSafety; } #ifdef G4VERBOSE - if(( fCheck ) && ( fVerbose == 1 )) + if(fCheck) { - G4cout << "*** G4NormalNavigation::ComputeSafety(): ***" << G4endl - << " Invoked DistanceToIn(p) for daughter solid: " - << sampleSolid->GetName() - << ". Solid replied: " << sampleSafety << G4endl - << " For local point p: " << samplePoint - << ", to be considered as 'daughter safety'." << G4endl; + fLogger->ComputeSafetyLog(sampleSolid, samplePoint, sampleSafety, false); } #endif } diff --git a/source/geometry/navigation/src/G4ParameterisedNavigation.cc b/source/geometry/navigation/src/G4ParameterisedNavigation.cc index 1e9b3cfa85..b0cc000ad1 100644 --- a/source/geometry/navigation/src/G4ParameterisedNavigation.cc +++ b/source/geometry/navigation/src/G4ParameterisedNavigation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisedNavigation.cc,v 1.12 2007/11/09 16:06:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisedNavigation.cc,v 1.13 2010/07/13 15:59:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4ParameterisedNavigation Implementation @@ -57,7 +57,8 @@ // ******************************************************************** // G4ParameterisedNavigation::G4ParameterisedNavigation() - : fVoxelHeader(0) + : fVoxelAxis(kUndefined), fVoxelNoSlices(0), fVoxelSliceWidth(0.), + fVoxelNodeNo(0), fVoxelHeader(0) { } diff --git a/source/geometry/navigation/src/G4PartialPhantomParameterisation.cc b/source/geometry/navigation/src/G4PartialPhantomParameterisation.cc new file mode 100755 index 0000000000..5516ffac4d --- /dev/null +++ b/source/geometry/navigation/src/G4PartialPhantomParameterisation.cc @@ -0,0 +1,347 @@ +// +// ******************************************************************** +// * 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: G4PartialPhantomParameterisation.cc,v 1.3 2010/12/15 07:39:00 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// class G4PartialPhantomParameterisation implementation +// +// May 2007 Pedro Arce (CIEMAT), first version +// +// -------------------------------------------------------------------- + +#include "G4PartialPhantomParameterisation.hh" + +#include "globals.hh" +#include "G4Material.hh" +#include "G4VSolid.hh" +#include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" +#include "G4VVolumeMaterialScanner.hh" +#include "G4GeometryTolerance.hh" + +#include + +//------------------------------------------------------------------ +G4PartialPhantomParameterisation::G4PartialPhantomParameterisation() + : G4PhantomParameterisation() +{ +} + + +//------------------------------------------------------------------ +G4PartialPhantomParameterisation::~G4PartialPhantomParameterisation() +{ +} + +//------------------------------------------------------------------ +void G4PartialPhantomParameterisation:: +ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol ) const +{ + // Voxels cannot be rotated, return translation + // + G4ThreeVector trans = GetTranslation( copyNo ); + physVol->SetTranslation( trans ); +} + + +//------------------------------------------------------------------ +G4ThreeVector G4PartialPhantomParameterisation:: +GetTranslation(const G4int copyNo ) const +{ + CheckCopyNo( copyNo ); + + size_t nx; + size_t ny; + size_t nz; + ComputeVoxelIndices( copyNo, nx, ny, nz ); + + G4ThreeVector trans( (2*nx+1)*fVoxelHalfX - fContainerWallX, + (2*ny+1)*fVoxelHalfY - fContainerWallY, + (2*nz+1)*fVoxelHalfZ - fContainerWallZ); + return trans; +} + + +//------------------------------------------------------------------ +G4Material* G4PartialPhantomParameterisation:: +ComputeMaterial(const G4int copyNo, G4VPhysicalVolume *, const G4VTouchable *) +{ + CheckCopyNo( copyNo ); + size_t matIndex = GetMaterialIndex(copyNo); + + return fMaterials[ matIndex ]; +} + + +//------------------------------------------------------------------ +size_t G4PartialPhantomParameterisation:: +GetMaterialIndex( size_t copyNo ) const +{ + CheckCopyNo( copyNo ); + + if( !fMaterialIndices ) { return 0; } + + return *(fMaterialIndices+copyNo); +} + + +//------------------------------------------------------------------ +size_t G4PartialPhantomParameterisation:: +GetMaterialIndex( size_t nx, size_t ny, size_t nz ) const +{ + size_t copyNo = nx + fNoVoxelX*ny + fNoVoxelXY*nz; + return GetMaterialIndex( copyNo ); +} + + +//------------------------------------------------------------------ +G4Material* G4PartialPhantomParameterisation:: +GetMaterial( size_t nx, size_t ny, size_t nz) const +{ + return fMaterials[GetMaterialIndex(nx,ny,nz)]; +} + + +//------------------------------------------------------------------ +G4Material* G4PartialPhantomParameterisation:: +GetMaterial( size_t copyNo ) const +{ + return fMaterials[GetMaterialIndex(copyNo)]; +} + + +//------------------------------------------------------------------ +void G4PartialPhantomParameterisation:: +ComputeVoxelIndices(const G4int copyNo, size_t& nx, + size_t& ny, size_t& nz ) const +{ + CheckCopyNo( copyNo ); + + std::multimap::const_iterator ite = + fFilledIDs.lower_bound(size_t(copyNo)); + G4int dist = std::distance( fFilledIDs.begin(), ite ); + nz = size_t(dist/fNoVoxelY); + ny = size_t( dist%fNoVoxelY ); + + G4int ifmin = (*ite).second; + G4int nvoxXprev; + if( dist != 0 ) { + ite--; + nvoxXprev = (*ite).first; + } else { + nvoxXprev = -1; + } + + nx = ifmin+copyNo-nvoxXprev-1; +} + + +//------------------------------------------------------------------ +G4int G4PartialPhantomParameterisation:: +GetReplicaNo( const G4ThreeVector& localPoint, const G4ThreeVector& localDir ) +{ + // Check the voxel numbers corresponding to localPoint + // When a particle is on a surface, it may be between -kCarTolerance and + // +kCartolerance. By a simple distance as: + // G4int nx = G4int( (localPoint.x()+)/fVoxelHalfX/2.); + // those between -kCartolerance and 0 will be placed on voxel N-1 and those + // between 0 and kCarTolerance on voxel N. + // To avoid precision problems place the tracks that are on the surface on + // voxel N-1 if they have negative direction and on voxel N if they have + // positive direction. + // Add +kCarTolerance so that they are first placed on voxel N, and then + // if the direction is negative substract 1 + + G4double fx = (localPoint.x()+fContainerWallX+kCarTolerance)/(fVoxelHalfX*2.); + G4int nx = G4int(fx); + + G4double fy = (localPoint.y()+fContainerWallY+kCarTolerance)/(fVoxelHalfY*2.); + G4int ny = G4int(fy); + + G4double fz = (localPoint.z()+fContainerWallZ+kCarTolerance)/(fVoxelHalfZ*2.); + G4int nz = G4int(fz); + + // If it is on the surface side, check the direction: if direction is + // negative place it on the previous voxel (if direction is positive it is + // already in the next voxel...). + // Correct also cases where n = -1 or n = fNoVoxel. It is always traced to be + // due to multiple scattering: track is entering a voxel but multiple + // scattering changes the angle towards outside + // + if( fx - nx < kCarTolerance/fVoxelHalfX ) + { + if( localDir.x() < 0 ) + { + if( nx != 0 ) + { + nx -= 1; + } + } + else + { + if( nx == G4int(fNoVoxelX) ) + { + nx -= 1; + } + } + } + if( fy - ny < kCarTolerance/fVoxelHalfY ) + { + if( localDir.y() < 0 ) + { + if( ny != 0 ) + { + ny -= 1; + } + } + else + { + if( ny == G4int(fNoVoxelY) ) + { + ny -= 1; + } + } + } + if( fz - nz < kCarTolerance/fVoxelHalfZ ) + { + if( localDir.z() < 0 ) + { + if( nz != 0 ) + { + nz -= 1; + } + } + else + { + if( nz == G4int(fNoVoxelZ) ) + { + nz -= 1; + } + } + } + + // Check if there are still errors + // + G4bool isOK = true; + if( nx < 0 ) + { + nx = 0; + isOK = false; + } + else if( nx >= G4int(fNoVoxelX) ) + { + nx = fNoVoxelX-1; + isOK = false; + } + if( ny < 0 ) + { + ny = 0; + isOK = false; + } + else if( ny >= G4int(fNoVoxelY) ) + { + ny = fNoVoxelY-1; + isOK = false; + } + if( nz < 0 ) + { + nz = 0; + isOK = false; + } + else if( nz >= G4int(fNoVoxelZ) ) + { + nz = fNoVoxelZ-1; + isOK = false; + } + if( !isOK ) + { + G4cerr << "WARNING - G4PartialPhantomParameterisation::GetReplicaNo()" + << G4endl + << " LocalPoint: " << localPoint << G4endl + << " LocalDir: " << localDir << G4endl + << " Voxel container size: " << fContainerWallX + << " " << fContainerWallY << " " << fContainerWallZ << G4endl + << " LocalPoint - wall: " + << localPoint.x()-fContainerWallX << " " + << localPoint.y()-fContainerWallY << " " + << localPoint.z()-fContainerWallZ << G4endl; + G4Exception("G4PartialPhantomParameterisation::GetReplicaNo()", + "Wrong-copy-number", JustWarning, + "Corrected the copy number! It was negative or too big"); + } + + G4int nyz = nz*fNoVoxelY+ny; + std::multimap::iterator ite = fFilledIDs.begin(); +/* + for( ite = fFilledIDs.begin(); ite != fFilledIDs.end(); ite++ ) + { + G4cout << " G4PartialPhantomParameterisation::GetReplicaNo filled " + << (*ite).first << " , " << (*ite).second << std::endl; + } +*/ + ite = fFilledIDs.begin(); + + advance(ite,nyz); + std::multimap::iterator iteant = ite; iteant--; + G4int copyNo = (*iteant).first + 1 + ( nx - (*ite).second ); +/* + G4cout << " G4PartialPhantomParameterisation::GetReplicaNo getting copyNo " + << copyNo << " nyz " << nyz << " (*iteant).first " + << (*iteant).first << " (*ite).second " << (*ite).second << G4endl; + + G4cout << " G4PartialPhantomParameterisation::GetReplicaNo " << copyNo + << " nx " << nx << " ny " << ny << " nz " << nz + << " localPoint " << localPoint << " localDir " << localDir << G4endl; +*/ + return copyNo; +} + + +//------------------------------------------------------------------ +void G4PartialPhantomParameterisation::CheckCopyNo( const G4int copyNo ) const +{ + if( copyNo < 0 || copyNo >= G4int(fNoVoxel) ) + { + G4cerr << "ERROR - G4PartialPhantomParameterisation::CheckCopyNo()" + << G4endl + << " Copy number: " << copyNo << G4endl + << " Total number of voxels: " << fNoVoxel << G4endl; + G4Exception("G4PartialPhantomParameterisation::CheckCopyNo()", + "Wrong-copy-number", FatalErrorInArgument, + "Copy number is negative or too big!"); + } +} + + +//------------------------------------------------------------------ +void G4PartialPhantomParameterisation::BuildContainerWalls() +{ + fContainerWallX = fNoVoxelX * fVoxelHalfX; + fContainerWallY = fNoVoxelY * fVoxelHalfY; + fContainerWallZ = fNoVoxelZ * fVoxelHalfZ; +} diff --git a/source/geometry/navigation/src/G4PathFinder.cc b/source/geometry/navigation/src/G4PathFinder.cc index d04de3b282..0df6c18f12 100644 --- a/source/geometry/navigation/src/G4PathFinder.cc +++ b/source/geometry/navigation/src/G4PathFinder.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4PathFinder.cc,v 1.62 2009/05/13 23:20:54 japost Exp $ +// $Id: G4PathFinder.cc,v 1.64 2010/07/13 15:59:42 gcosmo Exp $ // GEANT4 tag $ Name: $ // // class G4PathFinder Implementation @@ -68,8 +68,9 @@ G4PathFinder* G4PathFinder::GetInstance() // G4PathFinder::G4PathFinder() : fEndState( G4ThreeVector(), G4ThreeVector(), 0., 0., 0., 0., 0.), + fFieldExertedForce(false), fRelocatedPoint(true), - fLastStepNo(-1), + fLastStepNo(-1), fCurrentStepNo(-1), fVerboseLevel(0) { fpMultiNavigator= new G4MultiNavigator(); @@ -90,10 +91,12 @@ G4PathFinder::G4PathFinder() fMinSafety_PreStepPt= -1.0; fMinSafety_atSafLocation= -1.0; fMinStep= -1.0; + fTrueMinStep= -1.0; + fPreStepCenterRenewed= false; fNewTrack= false; fNoGeometriesLimiting= 0; - for( register int num=0; num<= fMaxNav; ++num ) + for( register int num=0; num< fMaxNav; ++num ) { fpNavigator[num] = 0; fLimitTruth[num] = false; diff --git a/source/geometry/navigation/src/G4PhantomParameterisation.cc b/source/geometry/navigation/src/G4PhantomParameterisation.cc index 2c6013700c..7e3b80be82 100755 --- a/source/geometry/navigation/src/G4PhantomParameterisation.cc +++ b/source/geometry/navigation/src/G4PhantomParameterisation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4PhantomParameterisation.cc,v 1.6 2009/05/20 08:27:10 gcosmo Exp $ +// $Id: G4PhantomParameterisation.cc,v 1.7 2010/07/13 15:59:42 gcosmo Exp $ // GEANT4 tag $ Name:$ // // class G4PhantomParameterisation implementation @@ -44,17 +44,13 @@ //------------------------------------------------------------------ G4PhantomParameterisation::G4PhantomParameterisation() + : fVoxelHalfX(0.), fVoxelHalfY(0.), fVoxelHalfZ(0.), + fNoVoxelX(0), fNoVoxelY(0), fNoVoxelZ(0), fNoVoxelXY(0), fNoVoxel(0), + fMaterialIndices(0), fContainerSolid(0), + fContainerWallX(0.), fContainerWallY(0.), fContainerWallZ(0.), + bSkipEqualMaterials(true) { - // Initialise data - // - fMaterialIndices = 0; - fContainerWallX = 0.; - fContainerWallY = 0.; - fContainerWallZ = 0.; - kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); - - bSkipEqualMaterials = 1; } diff --git a/source/geometry/navigation/src/G4PropagatorInField.cc b/source/geometry/navigation/src/G4PropagatorInField.cc index aee508b9eb..366c746928 100644 --- a/source/geometry/navigation/src/G4PropagatorInField.cc +++ b/source/geometry/navigation/src/G4PropagatorInField.cc @@ -35,7 +35,7 @@ // 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 $ +// $Id: G4PropagatorInField.cc,v 1.52 2010/07/13 15:59:42 gcosmo Exp $ // GEANT4 tag $ Name: $ // --------------------------------------------------------------------------- @@ -128,9 +128,7 @@ G4PropagatorInField::ComputeStep( G4double CurrentProposedStepLength, 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) // @@ -237,8 +235,8 @@ G4PropagatorInField::ComputeStep( stepTrial *= decreaseFactor; #ifdef G4DEBUG_FIELD - G4cout << MethodName << ": " - << " Decreasing step - " + G4cout << " G4PropagatorInField::ComputeStep(): " << G4endl + << " Decreasing step - " << " decreaseFactor= " << std::setw(8) << decreaseFactor << " stepTrial = " << std::setw(18) << stepTrial << " " << " fZeroStepThreshold = " << fZeroStepThreshold << G4endl; @@ -247,15 +245,15 @@ G4PropagatorInField::ComputeStep( #endif if( stepTrial == 0.0 ) // Change to make it < 0.1 * kCarTolerance ?? { - G4cout << " G4PropagatorInField::ComputeStep " - << " Particle abandoned due to lack of progress in field." + G4cout << " G4PropagatorInField::ComputeStep(): " << G4endl + << " Particle abandoned due to lack of progress in field." << G4endl - << " Properties : " << pFieldTrack << " " + << " Properties : " << pFieldTrack << " " << G4endl; - G4cerr << " G4PropagatorInField::ComputeStep " - << " ERROR : attempting a zero step= " << stepTrial << G4endl - << " while attempting to progress after " << fNoZeroStep - << " trial steps. Will abandon step." << G4endl; + G4cerr << " G4PropagatorInField::ComputeStep() - ERROR " << G4endl + << " Attempting a zero step = " << stepTrial << G4endl + << " while attempting to progress after " << fNoZeroStep + << " trial steps. Will abandon step." << G4endl; fParticleIsLooping= true; return 0; // = stepTrial; } @@ -350,8 +348,8 @@ G4PropagatorInField::ComputeStep( #ifdef G4VERBOSE if( (fVerboseLevel > 1) && (do_loop_count > fMax_loop_count-10 )) { if( do_loop_count == fMax_loop_count-9 ){ - G4cout << "G4PropagatorInField::ComputeStep " - << " Difficult track - taking many sub steps." << G4endl; + G4cout << " G4PropagatorInField::ComputeStep(): " << G4endl + << " Difficult track - taking many sub steps." << G4endl; } printStatus( SubStepStartState, CurrentState, CurrentProposedStepLength, NewSafety, do_loop_count, pPhysVol ); @@ -368,13 +366,15 @@ G4PropagatorInField::ComputeStep( { fParticleIsLooping = true; - if ( fVerboseLevel > 0 ){ - G4cout << "G4PropagateInField: Killing looping particle " + if ( fVerboseLevel > 0 ) + { + G4cout << " G4PropagateInField::ComputeStep(): " << G4endl + << " Killing looping particle " // << " of " << energy << " energy " << " after " << do_loop_count << " field substeps " << " totaling " << StepTaken / mm << " mm " ; if( pPhysVol ) - G4cout << " in the volume " << pPhysVol->GetName() ; + G4cout << " in volume " << pPhysVol->GetName() ; else G4cout << " in unknown or null volume. " ; G4cout << G4endl; @@ -400,19 +400,19 @@ G4PropagatorInField::ComputeStep( if( std::fabs(OriginalState.GetCurveLength() + TruePathLength - End_PointAndTangent.GetCurveLength()) > 3.e-4 * TruePathLength ) { - G4cerr << " ERROR - G4PropagatorInField::ComputeStep():" << G4endl - << " Curve length mis-match, is advancement wrong ? " << G4endl; - G4cerr << " The curve length of the endpoint should be: " + G4cerr << " G4PropagatorInField::ComputeStep() - ERROR" << G4endl + << " Curve length mis-match, is advancement wrong ? " << G4endl; + G4cerr << " The curve length of the endpoint should be: " << OriginalState.GetCurveLength() + TruePathLength << G4endl - << " and it is instead: " + << " and it is instead: " << End_PointAndTangent.GetCurveLength() << "." << G4endl - << " A difference of: " + << " A difference of: " << OriginalState.GetCurveLength() + TruePathLength - End_PointAndTangent.GetCurveLength() << G4endl; - G4cerr << " Original state= " << OriginalState << G4endl - << " Proposed state= " << End_PointAndTangent << G4endl; - G4Exception("G4PropagatorInField::ComputeStep()", "IncorrectProposedEndPoint", - FatalException, + G4cerr << " Original state = " << OriginalState << G4endl + << " Proposed state = " << End_PointAndTangent << G4endl; + G4Exception("G4PropagatorInField::ComputeStep()", + "IncorrectProposedEndPoint", FatalException, "Curve length mis-match between original state and proposed endpoint of propagation."); } #endif @@ -433,21 +433,24 @@ G4PropagatorInField::ComputeStep( fNoZeroStep = 0; } - if( fNoZeroStep > fAbandonThreshold_NoZeroSteps ) { + if( fNoZeroStep > fAbandonThreshold_NoZeroSteps ) + { fParticleIsLooping = true; - G4cout << " WARNING - G4PropagatorInField::ComputeStep():" << G4endl - << " Zero progress for " << fNoZeroStep << " attempted steps." + G4cout << " G4PropagatorInField::ComputeStep() - WARNING" << G4endl + << " Zero progress for " << fNoZeroStep << " attempted steps." << G4endl; - G4cout << "Proposed Step is "<GetName() ; + G4cout << " in volume " << pPhysVol->GetName() ; else G4cout << " in unknown or null volume. " ; G4cout << G4endl; if ( fVerboseLevel > 2 ) - G4cout << " Particle that is stuck will be killed." << G4endl; + G4cout << " Particle is stuck; it will be killed." << G4endl; fNoZeroStep = 0; } @@ -466,20 +469,19 @@ G4PropagatorInField::printStatus( const G4FieldTrack& StartFT, G4int stepNo, G4VPhysicalVolume* startVolume) { - const G4int verboseLevel= fVerboseLevel; + const G4int verboseLevel=fVerboseLevel; const G4ThreeVector StartPosition = StartFT.GetPosition(); const G4ThreeVector StartUnitVelocity = StartFT.GetMomentumDir(); const G4ThreeVector CurrentPosition = CurrentFT.GetPosition(); const G4ThreeVector CurrentUnitVelocity = CurrentFT.GetMomentumDir(); G4double step_len = CurrentFT.GetCurveLength() - StartFT.GetCurveLength(); + + G4int oldprec; // cout/cerr precision settings - if( ((stepNo == 0) && (verboseLevel <3)) - || (verboseLevel >= 3) ) + if( ((stepNo == 0) && (verboseLevel <3)) || (verboseLevel >= 3) ) { - static G4int noPrecision= 4; - G4cout.precision(noPrecision); - // G4cout.setf(ios_base::fixed,ios_base::floatfield); + oldprec = G4cout.precision(4); G4cout << std::setw( 6) << " " << std::setw( 25) << " Current Position and Direction" << " " << G4endl; @@ -491,79 +493,62 @@ G4PropagatorInField::printStatus( const G4FieldTrack& StartFT, << std::setw( 7) << " N_x " << " " << std::setw( 7) << " N_y " << " " << std::setw( 7) << " N_z " << " " ; - // << G4endl; - G4cout // << " >>> " - << std::setw( 7) << " Delta|N|" << " " - // << std::setw( 7) << " Delta(N_z) " << " " + G4cout << std::setw( 7) << " Delta|N|" << " " << std::setw( 9) << "StepLen" << " " << std::setw(12) << "StartSafety" << " " << std::setw( 9) << "PhsStep" << " "; - if( startVolume ) { - G4cout << std::setw(18) << "NextVolume" << " "; - } + if( startVolume ) + { G4cout << std::setw(18) << "NextVolume" << " "; } + G4cout.precision(oldprec); G4cout << G4endl; } - if((stepNo == 0) && (verboseLevel <=3)){ - // Recurse to print the start values - // - printStatus( StartFT, StartFT, -1.0, safety, -1, startVolume); - } - if( verboseLevel <= 3 ) - { - if( stepNo >= 0) - G4cout << std::setw( 4) << stepNo << " "; - else - G4cout << std::setw( 5) << "Start" ; - G4cout.precision(8); - G4cout << std::setw(10) << CurrentFT.GetCurveLength() << " "; - G4cout.precision(8); - G4cout << std::setw(10) << CurrentPosition.x() << " " - << std::setw(10) << CurrentPosition.y() << " " - << std::setw(10) << CurrentPosition.z() << " "; - G4cout.precision(4); - G4cout << std::setw( 7) << CurrentUnitVelocity.x() << " " - << std::setw( 7) << CurrentUnitVelocity.y() << " " - << std::setw( 7) << CurrentUnitVelocity.z() << " "; - // G4cout << G4endl; - // G4cout << " >>> " ; - G4cout.precision(3); - G4cout << std::setw( 7) << CurrentFT.GetMomentum().mag()- StartFT.GetMomentum().mag() << " "; - // << std::setw( 7) << CurrentUnitVelocity.z() - InitialUnitVelocity.z() << " "; - G4cout << std::setw( 9) << step_len << " "; - G4cout << std::setw(12) << safety << " "; - if( requestStep != -1.0 ) - G4cout << std::setw( 9) << requestStep << " "; - else - G4cout << std::setw( 9) << "Init/NotKnown" << " "; - - if( startVolume != 0) - { - G4cout << std::setw(12) << startVolume->GetName() << " "; - } -#if 0 - else - { - if( step_len != -1 ) - G4cout << std::setw(12) << "OutOfWorld" << " "; - else - G4cout << std::setw(12) << "NotGiven" << " "; - } -#endif - - G4cout << G4endl; - } - else // if( verboseLevel > 3 ) - { - // Multi-line output - - 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; - } + if((stepNo == 0) && (verboseLevel <=3)) + { + // Recurse to print the start values + // + printStatus( StartFT, StartFT, -1.0, safety, -1, startVolume); + } + if( verboseLevel <= 3 ) + { + if( stepNo >= 0) + { G4cout << std::setw( 4) << stepNo << " "; } + else + { G4cout << std::setw( 5) << "Start" ; } + oldprec = G4cout.precision(8); + G4cout << std::setw(10) << CurrentFT.GetCurveLength() << " "; + G4cout.precision(8); + G4cout << std::setw(10) << CurrentPosition.x() << " " + << std::setw(10) << CurrentPosition.y() << " " + << std::setw(10) << CurrentPosition.z() << " "; + G4cout.precision(4); + G4cout << std::setw( 7) << CurrentUnitVelocity.x() << " " + << std::setw( 7) << CurrentUnitVelocity.y() << " " + << std::setw( 7) << CurrentUnitVelocity.z() << " "; + G4cout.precision(3); + G4cout << std::setw( 7) + << CurrentFT.GetMomentum().mag()-StartFT.GetMomentum().mag() << " "; + G4cout << std::setw( 9) << step_len << " "; + G4cout << std::setw(12) << safety << " "; + if( requestStep != -1.0 ) + { G4cout << std::setw( 9) << requestStep << " "; } + else + { G4cout << std::setw( 9) << "Init/NotKnown" << " "; } + if( startVolume != 0) + { G4cout << std::setw(12) << startVolume->GetName() << " "; } + G4cout.precision(oldprec); + G4cout << G4endl; + } + else // if( verboseLevel > 3 ) + { + // Multi-line output + + 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; + } } /////////////////////////////////////////////////////////////////////////// @@ -578,10 +563,10 @@ G4PropagatorInField::PrintStepLengthDiagnostic( const G4FieldTrack& ) { #if 0 - G4cout << " PiF: NoZeroStep= " << fNoZeroStep - << " CurrentProposedStepLength= " << CurrentProposedStepLength - << " Full_curvelen_last=" << fFull_CurveLen_of_LastAttempt - << " last proposed step-length= " << fLast_ProposedStepLength + G4cout << " PiF: NoZeroStep = " << fNoZeroStep + << " CurrentProposedStepLength = " << CurrentProposedStepLength + << " Full_curvelen_last =" << fFull_CurveLen_of_LastAttempt + << " last proposed step-length = " << fLast_ProposedStepLength << " decrease factor = " << decreaseFactor << " step trial = " << stepTrial << G4endl; @@ -697,7 +682,7 @@ G4int G4PropagatorInField::SetVerboseLevel( G4int level ) // MagIntegratorDriver ... ? // G4MagInt_Driver* integrDriver= GetChordFinder()->GetIntegrationDriver(); - integrDriver->SetVerboseLevel( fVerboseLevel - 2 ); + integrDriver->SetVerboseLevel( fVerboseLevel - 2 ); G4cout << "Set Driver verbosity to " << fVerboseLevel - 2 << G4endl; return oldval; diff --git a/source/geometry/navigation/src/G4RegularNavigation.cc b/source/geometry/navigation/src/G4RegularNavigation.cc index c14626b05b..8b5b82070d 100755 --- a/source/geometry/navigation/src/G4RegularNavigation.cc +++ b/source/geometry/navigation/src/G4RegularNavigation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4RegularNavigation.cc,v 1.9 2009/01/27 09:31:29 gcosmo Exp $ +// $Id: G4RegularNavigation.cc,v 1.15 2010/11/19 15:13:39 gcosmo Exp $ // GEANT4 tag $ Name:$ // // class G4RegularNavigation implementation @@ -44,7 +44,7 @@ //------------------------------------------------------------------ G4RegularNavigation::G4RegularNavigation() - : fVerbose(1), fCheck(true) + : fverbose(false), fcheck(false), fnormalNav(0) { kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } @@ -121,7 +121,7 @@ G4double G4RegularNavigation:: //------------------------------------------------------------------ G4double G4RegularNavigation::ComputeStepSkippingEqualMaterials( - G4ThreeVector localPoint, + G4ThreeVector& localPoint, const G4ThreeVector& localDirection, const G4double currentProposedStepLength, G4double& newSafety, @@ -290,26 +290,21 @@ G4RegularNavigation::LevelLocate( G4NavigationHistory& history, const G4int , const G4ThreeVector& globalPoint, const G4ThreeVector* globalDirection, - const G4bool pLocatedOnEdge, + const G4bool, // pLocatedOnEdge, G4ThreeVector& localPoint ) { - G4SmartVoxelHeader *motherVoxelHeader; G4VPhysicalVolume *motherPhysical, *pPhysical; G4PhantomParameterisation *pParam; G4LogicalVolume *motherLogical; - G4VSolid *pSolid; G4ThreeVector localDir; G4int replicaNo; motherPhysical = history.GetTopVolume(); motherLogical = motherPhysical->GetLogicalVolume(); - motherVoxelHeader = motherLogical->GetVoxelHeader(); pPhysical = motherLogical->GetDaughter(0); pParam = (G4PhantomParameterisation*)(pPhysical->GetParameterisation()); - pSolid = pParam->GetContainerSolid(); - // Save parent history in touchable history // ... for use as parent t-h in ComputeMaterial method of param // @@ -326,42 +321,28 @@ G4RegularNavigation::LevelLocate( G4NavigationHistory& history, localDir = G4ThreeVector(0.,0.,0.); } - // Check that track is not on the surface and check that track is not - // exiting the voxel parent volume + // Enter this daughter // - if ( !G4AuxiliaryNavServices::CheckPointOnSurface(pSolid, localPoint, - globalDirection, history.GetTopTransform(), pLocatedOnEdge) - || G4AuxiliaryNavServices::CheckPointExiting(pSolid, localPoint, - globalDirection, history.GetTopTransform() ) ) + replicaNo = pParam->GetReplicaNo( localPoint, localDir ); + + if( replicaNo < 0 || replicaNo >= G4int(pParam->GetNoVoxel()) ) { + return false; } - else - { - // Enter this daughter - // - replicaNo = pParam->GetReplicaNo( localPoint, localDir ); - if( replicaNo < 0 || replicaNo >= G4int(pParam->GetNoVoxel()) ) - { - return false; - } + // Set the correct copy number in physical + // + pPhysical->SetCopyNo(replicaNo); + pParam->ComputeTransformation(replicaNo,pPhysical); - // Set the correct copy number in physical - // - pPhysical->SetCopyNo(replicaNo); - pParam->ComputeTransformation(replicaNo,pPhysical); + history.NewLevel(pPhysical, kParameterised, replicaNo ); + localPoint = history.GetTopTransform().TransformPoint(globalPoint); - history.NewLevel(pPhysical, kParameterised, replicaNo ); - localPoint = history.GetTopTransform().TransformPoint(globalPoint); - - // Set the correct solid and material in Logical Volume - // - G4LogicalVolume *pLogical = pPhysical->GetLogicalVolume(); + // Set the correct solid and material in Logical Volume + // + G4LogicalVolume *pLogical = pPhysical->GetLogicalVolume(); - pLogical->UpdateMaterial(pParam->ComputeMaterial(replicaNo, - pPhysical, &parentTouchable) ); - return true; - } - - return false; + pLogical->UpdateMaterial(pParam->ComputeMaterial(replicaNo, + pPhysical, &parentTouchable) ); + return true; } diff --git a/source/geometry/navigation/src/G4ReplicaNavigation.cc b/source/geometry/navigation/src/G4ReplicaNavigation.cc index 2b752a07b8..0ead8e05e4 100644 --- a/source/geometry/navigation/src/G4ReplicaNavigation.cc +++ b/source/geometry/navigation/src/G4ReplicaNavigation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ReplicaNavigation.cc,v 1.19 2008/04/28 15:39:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ReplicaNavigation.cc,v 1.20 2010/07/13 15:59:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4ReplicaNavigation Implementation @@ -1038,6 +1038,7 @@ G4ReplicaNavigation::BackLocate(G4NavigationHistory &history, G4cerr << "The World volume must be a Placement!" << G4endl; G4Exception("G4ReplicaNavigation::BackLocate()", "InvalidSetup", FatalException, "The World volume must be a Placement!"); + return kInside; } motherSolid = pNRMother->GetLogicalVolume()->GetSolid(); diff --git a/source/geometry/navigation/src/G4SimpleLocator.cc b/source/geometry/navigation/src/G4SimpleLocator.cc index 48825a92f7..e9cc35178a 100644 --- a/source/geometry/navigation/src/G4SimpleLocator.cc +++ b/source/geometry/navigation/src/G4SimpleLocator.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4SimpleLocator.cc,v 1.5 2008/12/11 10:27:58 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SimpleLocator.cc,v 1.6 2010/07/13 15:59:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Class G4SimpleLocator implementation // @@ -105,6 +105,8 @@ G4bool G4SimpleLocator::EstimateIntersectionPoint( G4int substep_no = 0; + G4int oldprc; // cout/cerr precision settings + // Limits for substep number // const G4int max_substeps = 100000000; // Test 120 (old value 100 ) @@ -357,7 +359,7 @@ G4bool G4SimpleLocator::EstimateIntersectionPoint( G4cerr << "Recalculation of EndPoint was called with fEpsStep= " << GetEpsilonStepFor() << G4endl; } - G4cerr.precision(20); + oldprc = G4cerr.precision(20); G4cerr << " Point A (Curve start) is " << CurveStartPointVelocity << G4endl; G4cerr << " Point B (Curve end) is " << CurveEndPointVelocity @@ -372,6 +374,7 @@ G4bool G4SimpleLocator::EstimateIntersectionPoint( << G4endl; G4cerr << " LocateIntersection parameters are : Substep no= " << substep_no << G4endl; + G4cerr.precision(oldprc); G4Exception("G4SimpleLocator::EstimateIntersectionPoint()", "FatalError", FatalException, @@ -451,7 +454,7 @@ G4bool G4SimpleLocator::EstimateIntersectionPoint( printStatus( CurrentA_PointVelocity, CurrentB_PointVelocity, -1.0, NewSafety, substep_no); G4cout << G4endl; - G4cout.precision( 10 ); + oldprc = G4cout.precision(10); G4double done_len = CurrentA_PointVelocity.GetCurveLength(); G4double full_len = CurveEndPointVelocity.GetCurveLength(); G4cout << "ERROR - G4SimpleLocator::EstimateIntersectionPoint()" @@ -459,6 +462,7 @@ G4bool G4SimpleLocator::EstimateIntersectionPoint( << " Undertaken only length: " << done_len << " out of " << full_len << " required." << G4endl; G4cout << " Remaining length = " << full_len - done_len << G4endl; + G4cout.precision(oldprc); G4Exception("G4SimpleLocator::EstimateIntersectionPoint()", "UnableToLocateIntersection", FatalException, @@ -466,7 +470,7 @@ G4bool G4SimpleLocator::EstimateIntersectionPoint( } else if( substep_no >= warn_substeps ) { - G4int oldprc= G4cout.precision( 10 ); + oldprc= G4cout.precision(10); G4cout << "WARNING - G4SimpleLocator::EstimateIntersectionPoint()" << G4endl << " Undertaken length: " @@ -474,10 +478,10 @@ G4bool G4SimpleLocator::EstimateIntersectionPoint( G4cout << " - Needed: " << substep_no << " substeps." << G4endl << " Warning level = " << warn_substeps << " and maximum substeps = " << max_substeps << G4endl; + G4cout.precision(oldprc); G4Exception("G4SimpleLocator::EstimateIntersectionPoint()", "DifficultyToLocateIntersection", JustWarning, "Many substeps while trying to locate intersection."); - G4cout.precision( oldprc ); } return !there_is_no_intersection; // Success or failure } diff --git a/source/geometry/navigation/src/G4TransportationManager.cc b/source/geometry/navigation/src/G4TransportationManager.cc index 4849403dbd..ae7732b17b 100644 --- a/source/geometry/navigation/src/G4TransportationManager.cc +++ b/source/geometry/navigation/src/G4TransportationManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TransportationManager.cc,v 1.15 2007/04/12 11:51:48 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TransportationManager.cc,v 1.16 2010/07/13 15:59:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // G4TransportationManager @@ -55,23 +55,7 @@ G4TransportationManager* G4TransportationManager::fTransportationManager=0; // G4TransportationManager::G4TransportationManager() { - if (!fTransportationManager) - { - // Create the navigator for tracking and activate it; add to collections - // - G4Navigator* trackingNavigator = new G4Navigator(); - trackingNavigator->Activate(true); - fNavigators.push_back(trackingNavigator); - fActiveNavigators.push_back(trackingNavigator); - fWorlds.push_back(trackingNavigator->GetWorldVolume()); // NULL registered - - fGeomMessenger = new G4GeometryMessenger(this); - fFieldManager = new G4FieldManager(); - fPropagatorInField = new G4PropagatorInField(trackingNavigator, - fFieldManager); - fSafetyHelper = new G4SafetyHelper(); - } - else + if (fTransportationManager) { G4cerr << "Only ONE instance of G4TransportationManager is allowed!" << G4endl; @@ -79,6 +63,19 @@ G4TransportationManager::G4TransportationManager() "InvalidSetup", FatalException, "Only ONE instance of G4TransportationManager is allowed!"); } + + // Create the navigator for tracking and activate it; add to collections + // + G4Navigator* trackingNavigator = new G4Navigator(); + trackingNavigator->Activate(true); + fNavigators.push_back(trackingNavigator); + fActiveNavigators.push_back(trackingNavigator); + fWorlds.push_back(trackingNavigator->GetWorldVolume()); // NULL registered + + fGeomMessenger = new G4GeometryMessenger(this); + fFieldManager = new G4FieldManager(); + fPropagatorInField= new G4PropagatorInField(trackingNavigator,fFieldManager); + fSafetyHelper = new G4SafetyHelper(); } // ---------------------------------------------------------------------------- @@ -328,7 +325,11 @@ void G4TransportationManager::DeActivateNavigator( G4Navigator* aNavigator ) { std::vector::iterator pNav = std::find(fNavigators.begin(), fNavigators.end(), aNavigator); - if (pNav == fNavigators.end()) + if (pNav != fNavigators.end()) + { + (*pNav)->Activate(false); + } + else { G4String message = "Navigator for volume -" + aNavigator->GetWorldVolume()->GetName() @@ -336,10 +337,7 @@ void G4TransportationManager::DeActivateNavigator( G4Navigator* aNavigator ) G4Exception("G4TransportationManager::DeActivateNavigator()", "NoEffect", JustWarning, message); } - else - { - (*pNav)->Activate(false); - } + std::vector::iterator pActiveNav = std::find(fActiveNavigators.begin(), fActiveNavigators.end(), aNavigator); if (pActiveNav != fActiveNavigators.end()) diff --git a/source/geometry/navigation/src/G4VIntersectionLocator.cc b/source/geometry/navigation/src/G4VIntersectionLocator.cc index 7e7139a68e..cf7912479d 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.7 2009/11/27 15:21:59 japost Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VIntersectionLocator.cc,v 1.8 2010/07/13 15:59:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Class G4VIntersectionLocator implementation // @@ -82,12 +82,11 @@ G4VIntersectionLocator::printStatus( const G4FieldTrack& StartFT, const G4ThreeVector CurrentUnitVelocity = CurrentFT.GetMomentumDir(); G4double step_len = CurrentFT.GetCurveLength() - StartFT.GetCurveLength(); - + G4int oldprc; // cout/cerr precision settings + if( ((stepNo == 0) && (verboseLevel <3)) || (verboseLevel >= 3) ) { - static G4int noPrecision= 4; - G4cout.precision(noPrecision); - // G4cout.setf(ios_base::fixed,ios_base::floatfield); + oldprc = G4cout.precision(4); G4cout << std::setw( 6) << " " << std::setw( 25) << " Current Position and Direction" << " " << G4endl; @@ -99,15 +98,12 @@ G4VIntersectionLocator::printStatus( const G4FieldTrack& StartFT, << std::setw( 7) << " N_x " << " " << std::setw( 7) << " N_y " << " " << std::setw( 7) << " N_z " << " " ; - // << G4endl; - G4cout // << " >>> " - << std::setw( 7) << " Delta|N|" << " " - // << std::setw( 7) << " Delta(N_z) " << " " + G4cout << std::setw( 7) << " Delta|N|" << " " << std::setw( 9) << "StepLen" << " " << std::setw(12) << "StartSafety" << " " << std::setw( 9) << "PhsStep" << " "; - G4cout << G4endl; + G4cout.precision(oldprc); } if((stepNo == 0) && (verboseLevel <=3)) { @@ -125,9 +121,8 @@ G4VIntersectionLocator::printStatus( const G4FieldTrack& StartFT, { G4cout << std::setw( 5) << "Start" ; } - G4cout.precision(8); + oldprc = G4cout.precision(8); G4cout << std::setw(10) << CurrentFT.GetCurveLength() << " "; - G4cout.precision(8); G4cout << std::setw(10) << CurrentPosition.x() << " " << std::setw(10) << CurrentPosition.y() << " " << std::setw(10) << CurrentPosition.z() << " "; @@ -135,38 +130,34 @@ G4VIntersectionLocator::printStatus( const G4FieldTrack& StartFT, G4cout << std::setw( 7) << CurrentUnitVelocity.x() << " " << std::setw( 7) << CurrentUnitVelocity.y() << " " << std::setw( 7) << CurrentUnitVelocity.z() << " "; - // G4cout << G4endl; - // G4cout << " >>> " ; - G4cout.precision(3); - G4cout << std::setw( 7) - << CurrentFT.GetMomentum().mag()- StartFT.GetMomentum().mag() - << " "; - // << std::setw( 7) - // << CurrentUnitVelocity.z() - InitialUnitVelocity.z() << " "; - G4cout << std::setw( 9) << step_len << " "; - G4cout << std::setw(12) << safety << " "; - if( requestStep != -1.0 ) - { - G4cout << std::setw( 9) << requestStep << " "; - } - else - { - G4cout << std::setw( 9) << "Init/NotKnown" << " "; - } - G4cout << G4endl; - } - else // if( verboseLevel > 3 ) - { - // Multi-line output + G4cout.precision(3); + G4cout << std::setw( 7) + << CurrentFT.GetMomentum().mag()- StartFT.GetMomentum().mag() + << " "; + G4cout << std::setw( 9) << step_len << " "; + G4cout << std::setw(12) << safety << " "; + if( requestStep != -1.0 ) + { + G4cout << std::setw( 9) << requestStep << " "; + } + else + { + G4cout << std::setw( 9) << "Init/NotKnown" << " "; + } + G4cout << G4endl; + G4cout.precision(oldprc); + } + else // if( verboseLevel > 3 ) + { + // Multi-line output - 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 << "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; + } } /////////////////////////////////////////////////////////////////////////// diff --git a/source/geometry/navigation/src/G4VoxelNavigation.cc b/source/geometry/navigation/src/G4VoxelNavigation.cc index 256e00f116..fa2ed5a743 100644 --- a/source/geometry/navigation/src/G4VoxelNavigation.cc +++ b/source/geometry/navigation/src/G4VoxelNavigation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VoxelNavigation.cc,v 1.9 2008/11/14 18:26:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VoxelNavigation.cc,v 1.13 2010/11/04 18:18:00 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4VoxelNavigation Implementation @@ -36,23 +36,23 @@ #include "G4VoxelNavigation.hh" #include "G4GeometryTolerance.hh" +#include "G4VoxelSafety.hh" // ******************************************************************** // Constructor // ******************************************************************** // G4VoxelNavigation::G4VoxelNavigation() - : fVoxelDepth(-1), + : fBList(), fVoxelDepth(-1), fVoxelAxisStack(kNavigatorVoxelStackMax,kXAxis), fVoxelNoSlicesStack(kNavigatorVoxelStackMax,0), fVoxelSliceWidthStack(kNavigatorVoxelStackMax,0.), fVoxelNodeNoStack(kNavigatorVoxelStackMax,0), fVoxelHeaderStack(kNavigatorVoxelStackMax,(G4SmartVoxelHeader*)0), - fVoxelNode(0), - fCheck(false), - fVerbose(0) + fVoxelNode(0), fpVoxelSafety(0), fCheck(false), fBestSafety(false) { - kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + fLogger = new G4NavigationLogger("G4VoxelNavigation"); + fpVoxelSafety = new G4VoxelSafety (); } // ******************************************************************** @@ -61,9 +61,8 @@ G4VoxelNavigation::G4VoxelNavigation() // G4VoxelNavigation::~G4VoxelNavigation() { -#ifdef G4DEBUG_NAVIGATION - G4cout << "G4VoxelNavigation::~G4VoxelNavigation() called." << G4endl; -#endif + delete fpVoxelSafety; + delete fLogger; } // ******************************************************************** @@ -109,47 +108,7 @@ G4VoxelNavigation::ComputeStep( const G4ThreeVector& localPoint, #ifdef G4VERBOSE if ( fCheck ) { - if(fVerbose == 1 ) - { - G4cout << "*** G4VoxelNavigation::ComputeStep(): ***" << G4endl - << " Invoked DistanceToOut(p) for mother solid: " - << motherSolid->GetName() - << ". Solid replied: " << motherSafety << G4endl - << " For local point p: " << localPoint - << ", to be considered as 'mother safety'." << G4endl; - } - if( motherSafety < 0.0 ) - { - G4cout << "ERROR - G4VoxelNavigation::ComputeStep()" << G4endl - << " Current solid " << motherSolid->GetName() - << " gave negative safety: " << motherSafety << G4endl - << " for the current (local) point " << localPoint - << G4endl; - motherSolid->DumpInfo(); - G4Exception("G4VoxelNavigation::ComputeStep()", - "NegativeSafetyMotherVol", FatalException, - "Negative Safety In Voxel Navigation !" ); - } - if( motherSolid->Inside(localPoint)==kOutside ) - { - G4cout << "WARNING - G4VoxelNavigation::ComputeStep()" << G4endl - << " Point " << localPoint - << " is outside current volume " << motherPhysical->GetName() - << G4endl; - G4double estDistToSolid= motherSolid->DistanceToIn(localPoint); - G4cout << " Estimated isotropic distance to solid (distToIn)= " - << estDistToSolid << G4endl; - if( estDistToSolid > 100.0 * kCarTolerance ) - { - motherSolid->DumpInfo(); - G4Exception("G4VoxelNavigation::ComputeStep()", - "FarOutsideCurrentVolume", FatalException, - "Point is far outside Current Volume !"); - } - else - G4Exception("G4VoxelNavigation::ComputeStep()", "OutsideCurrentVolume", - JustWarning, "Point is a little outside Current Volume."); - } + fLogger->PreComputeStepLog (motherPhysical, motherSafety, localPoint); } #endif @@ -203,14 +162,9 @@ G4VoxelNavigation::ComputeStep( const G4ThreeVector& localPoint, const G4double sampleSafety = sampleSolid->DistanceToIn(samplePoint); #ifdef G4VERBOSE - if(( fCheck ) && ( fVerbose == 1 )) + if( fCheck ) { - G4cout << "*** G4VoxelNavigation::ComputeStep(): ***" << G4endl - << " Invoked DistanceToIn(p) for daughter solid: " - << sampleSolid->GetName() - << ". Solid replied: " << sampleSafety << G4endl - << " For local point p: " << samplePoint - << ", to be considered as 'daughter safety'." << G4endl; + fLogger->PrintDaughterLog(sampleSolid,samplePoint,sampleSafety,0); } #endif if ( sampleSafetyDistanceToIn(samplePoint, sampleDirection); #ifdef G4VERBOSE - if(( fCheck ) && ( fVerbose == 1 )) + if( fCheck ) { - G4cout << "*** G4VoxelNavigation::ComputeStep(): ***" << G4endl - << " Invoked DistanceToIn(p,v) for daughter solid: " - << sampleSolid->GetName() - << ". Solid replied: " << sampleStep << G4endl - << " For local point p: " << samplePoint << G4endl - << " Direction v: " << sampleDirection - << ", to be considered as 'daughter step'." << G4endl; + fLogger->PrintDaughterLog(sampleSolid, samplePoint, + sampleSafety, sampleStep); } #endif if ( sampleStep<=ourStep ) @@ -246,98 +195,10 @@ G4VoxelNavigation::ComputeStep( const G4ThreeVector& localPoint, // This check could eventually be made only for successful // candidate. - if ( ( fCheck ) && ( sampleStep < kInfinity ) ) + if ( fCheck ) { - G4ThreeVector intersectionPoint; - intersectionPoint= samplePoint + sampleStep * sampleDirection; - EInside insideIntPt= sampleSolid->Inside(intersectionPoint); - G4String solidResponse = "-kInside-"; - if (insideIntPt == kOutside) - { solidResponse = "-kOutside-"; } - else if (insideIntPt == kSurface) - { solidResponse = "-kSurface-"; } - if( fVerbose == 1 ) - { - G4cout << "*** G4VoxelNavigation::ComputeStep(): ***"<GetName() - << ". Solid replied: " << solidResponse << G4endl - << " For point p: " << intersectionPoint - << ", considered as 'intersection' point." << G4endl; - } - G4double safetyIn= -1, safetyOut= -1; // Set to invalid values - G4double newDistIn= -1, newDistOut= -1; - if( insideIntPt != kInside ) - { - safetyIn= sampleSolid->DistanceToIn(intersectionPoint); - newDistIn= sampleSolid->DistanceToIn(intersectionPoint, - sampleDirection); - } - if( insideIntPt != kOutside ) - { - safetyOut= sampleSolid->DistanceToOut(intersectionPoint); - newDistOut= sampleSolid->DistanceToOut(intersectionPoint, - sampleDirection); - } - if( insideIntPt != kSurface ) - { - G4int oldcoutPrec = G4cout.precision(16); - G4cout << "WARNING - G4VoxelNavigation::ComputeStep()" - << G4endl - << " Inaccurate solid DistanceToIn" - << " for solid " << sampleSolid->GetName() << G4endl; - G4cout << " Solid gave DistanceToIn = " - << sampleStep << " yet returns " << solidResponse - << " for this point !" << G4endl; - G4cout << " Point = " << intersectionPoint << G4endl; - G4cout << " Safety values: " << G4endl; - if ( insideIntPt != kInside ) - { - G4cout << " DistanceToIn(p) = " << safetyIn - << G4endl; - } - if ( insideIntPt != kOutside ) - { - G4cout << " DistanceToOut(p) = " << safetyOut - << G4endl; - } - G4Exception("G4VoxelNavigation::ComputeStep()", - "InaccurateDistanceToIn", JustWarning, - "Conflicting response from Solid."); - G4cout.precision(oldcoutPrec); - } - else - { - // If it is on the surface, *ensure* that either DistanceToIn - // or DistanceToOut returns a finite value ( >= Tolerance). - // - if( std::max( newDistIn, newDistOut ) <= kCarTolerance ) - { - G4cout << "ERROR - G4VoxelNavigation::ComputeStep()" - << G4endl - << " Identified point for which the solid " - << sampleSolid->GetName() << G4endl - << " has MAJOR problem: " << G4endl - << " --> Both DistanceToIn(p,v) and DistanceToOut(p,v) " - << "return Zero, an equivalent value or negative value." - << G4endl; - G4cout << " Solid: " << sampleSolid << G4endl; - G4cout << " Point p= " << intersectionPoint << G4endl; - G4cout << " Direction v= " << sampleDirection << G4endl; - G4cout << " DistanceToIn(p,v) = " << newDistIn - << G4endl; - G4cout << " DistanceToOut(p,v,..) = " << newDistOut - << G4endl; - G4cout << " Safety values: " << G4endl; - G4cout << " DistanceToIn(p) = " << safetyIn - << G4endl; - G4cout << " DistanceToOut(p) = " << safetyOut - << G4endl; - G4Exception("G4VoxelNavigation::ComputeStep()", - "DistanceToInAndOutAreZero", FatalException, - "Zero from both Solid DistanceIn and Out(p,v)."); - } - } + fLogger->AlongComputeStepLog (sampleSolid, samplePoint, + sampleDirection, localDirection, sampleSafety, sampleStep); } #endif } @@ -377,33 +238,8 @@ G4VoxelNavigation::ComputeStep( const G4ThreeVector& localPoint, #ifdef G4VERBOSE if ( fCheck ) { - if(fVerbose == 1) - { - G4cout << "*** G4VoxelNavigation::ComputeStep(): ***" << G4endl - << " Invoked DistanceToOut(p,v,...) for mother solid: " - << motherSolid->GetName() - << ". Solid replied: " << motherStep << G4endl - << " For local point p: " << localPoint << G4endl - << " Direction v: " << localDirection - << ", to be considered as 'mother step'." << G4endl; - } - if( ( motherStep < 0.0 ) || ( motherStep >= kInfinity) ) - { - G4int oldPrOut= G4cout.precision(16); - G4int oldPrErr= G4cerr.precision(16); - G4cerr << "ERROR - G4VoxelNavigation::ComputeStep()" << G4endl - << " Problem in Navigation" << G4endl - << " Point (local coordinates): " - << localPoint << G4endl - << " Local Direction: " << localDirection << G4endl - << " Solid: " << motherSolid->GetName() << G4endl; - motherSolid->DumpInfo(); - G4Exception("G4VoxelNavigation::ComputeStep()", - "PointOutsideCurrentVolume", FatalException, - "Current point is outside the current solid !"); - G4cout.precision(oldPrOut); - G4cerr.precision(oldPrErr); - } + fLogger->PostComputeStepLog(motherSolid, localPoint, localDirection, + motherStep, motherSafety); } #endif if ( motherStep<=ourStep ) @@ -479,15 +315,15 @@ G4VoxelNavigation::ComputeVoxelSafety(const G4ThreeVector& localPoint) const voxelSafety += minCurCommonDelta; } else if (maxCurNodeNoDelta < minCurNodeNoDelta) - { - voxelSafety = maxCurNodeNoDelta*curNodeWidth; - voxelSafety += maxCurCommonDelta; - } - else // (maxCurNodeNoDelta == minCurNodeNoDelta) - { - voxelSafety = minCurNodeNoDelta*curNodeWidth; - voxelSafety += std::min(minCurCommonDelta,maxCurCommonDelta); - } + { + voxelSafety = maxCurNodeNoDelta*curNodeWidth; + voxelSafety += maxCurCommonDelta; + } + else // (maxCurNodeNoDelta == minCurNodeNoDelta) + { + voxelSafety = minCurNodeNoDelta*curNodeWidth; + voxelSafety += std::min(minCurCommonDelta,maxCurCommonDelta); + } // Compute isotropic safety to boundaries of previous levels // [NOT to collected boundaries] @@ -551,6 +387,8 @@ G4VoxelNavigation::LocateNextVoxel(const G4ThreeVector& localPoint, G4bool isNewVoxel=false; G4double currentDistance = currentStep; + static const G4double sigma = 0.5*G4GeometryTolerance::GetInstance() + ->GetSurfaceTolerance(); // Determine if end of Step within current voxel // @@ -566,10 +404,10 @@ G4VoxelNavigation::LocateNextVoxel(const G4ThreeVector& localPoint, workCoord = targetPoint(workHeaderAxis); minVal = workMinExtent+workNodeNo*workNodeWidth; - if ( minVal<=workCoord+kCarTolerance*0.5 ) + if ( minVal<=workCoord+sigma ) { maxVal = minVal+workNodeWidth; - if ( maxVal<=workCoord-kCarTolerance*0.5 ) + if ( maxVal<=workCoord-sigma ) { // Must consider next voxel // @@ -606,11 +444,11 @@ G4VoxelNavigation::LocateNextVoxel(const G4ThreeVector& localPoint, workCoord = targetPoint(workHeaderAxis); minVal = workMinExtent+fVoxelNode->GetMinEquivalentSliceNo()*workNodeWidth; - if ( minVal<=workCoord+kCarTolerance*0.5 ) + if ( minVal<=workCoord+sigma ) { maxVal = workMinExtent+(fVoxelNode->GetMaxEquivalentSliceNo()+1) *workNodeWidth; - if ( maxVal<=workCoord-kCarTolerance*0.5 ) + if ( maxVal<=workCoord-sigma ) { newNodeNo = fVoxelNode->GetMaxEquivalentSliceNo()+1; newHeader = workHeader; @@ -709,7 +547,7 @@ G4VoxelNavigation::LocateNextVoxel(const G4ThreeVector& localPoint, G4double G4VoxelNavigation::ComputeSafety(const G4ThreeVector& localPoint, const G4NavigationHistory& history, - const G4double ) + const G4double maxLength) { G4VPhysicalVolume *motherPhysical, *samplePhysical; G4LogicalVolume *motherLogical; @@ -724,6 +562,11 @@ G4VoxelNavigation::ComputeSafety(const G4ThreeVector& localPoint, motherLogical = motherPhysical->GetLogicalVolume(); motherSolid = motherLogical->GetSolid(); + if( fBestSafety ) + { + return fpVoxelSafety->ComputeSafety( localPoint,*motherPhysical,maxLength ); + } + // // Compute mother safety // @@ -732,14 +575,9 @@ G4VoxelNavigation::ComputeSafety(const G4ThreeVector& localPoint, ourSafety = motherSafety; // Working isotropic safety #ifdef G4VERBOSE - if(( fCheck ) && ( fVerbose == 1 )) + if( fCheck ) { - G4cout << "*** G4VoxelNavigation::ComputeSafety(): ***" << G4endl - << " Invoked DistanceToOut(p) for mother solid: " - << motherSolid->GetName() - << ". Solid replied: " << motherSafety << G4endl - << " For local point p: " << localPoint - << ", to be considered as 'mother safety'." << G4endl; + fLogger->ComputeSafetyLog (motherSolid, localPoint, motherSafety, true); } #endif // @@ -771,14 +609,9 @@ G4VoxelNavigation::ComputeSafety(const G4ThreeVector& localPoint, ourSafety = sampleSafety; } #ifdef G4VERBOSE - if(( fCheck ) && ( fVerbose == 1 )) + if( fCheck ) { - G4cout << "*** G4VoxelNavigation::ComputeSafety(): ***" << G4endl - << " Invoked DistanceToIn(p) for daughter solid: " - << sampleSolid->GetName() - << ". Solid replied: " << sampleSafety << G4endl - << " For local point p: " << samplePoint - << ", to be considered as 'daughter safety'." << G4endl; + fLogger->ComputeSafetyLog (sampleSolid,samplePoint,sampleSafety,false); } #endif } @@ -789,3 +622,13 @@ G4VoxelNavigation::ComputeSafety(const G4ThreeVector& localPoint, } return ourSafety; } + +// ******************************************************************** +// SetVerboseLevel +// ******************************************************************** +// +void G4VoxelNavigation::SetVerboseLevel(G4int level) +{ + if( fLogger ) fLogger->SetVerboseLevel(level); + if( fpVoxelSafety) fpVoxelSafety->SetVerboseLevel( level ); +} diff --git a/source/geometry/navigation/src/G4VoxelSafety.cc b/source/geometry/navigation/src/G4VoxelSafety.cc new file mode 100644 index 0000000000..36dc28d63f --- /dev/null +++ b/source/geometry/navigation/src/G4VoxelSafety.cc @@ -0,0 +1,367 @@ +// +// ******************************************************************** +// * 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: G4VoxelSafety.cc,v 1.9 2010/11/11 16:15:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: John Apostolakis +// First version: 31 May 2010 +// +#include "G4VoxelSafety.hh" + +#include "G4GeometryTolerance.hh" + +#include "G4SmartVoxelProxy.hh" +#include "G4SmartVoxelNode.hh" +#include "G4SmartVoxelHeader.hh" + +// State +// - values used during computation of Safety +// +// Constructor +// - copied from G4VoxelNavigation (1st version) +G4VoxelSafety::G4VoxelSafety() + : fBlockList(), + fpMotherLogical(0), + fVoxelDepth(-1), + fVoxelAxisStack(kNavigatorVoxelStackMax,kXAxis), + fVoxelNoSlicesStack(kNavigatorVoxelStackMax,0), + fVoxelSliceWidthStack(kNavigatorVoxelStackMax,0.), + fVoxelNodeNoStack(kNavigatorVoxelStackMax,0), + fVoxelHeaderStack(kNavigatorVoxelStackMax,(G4SmartVoxelHeader*)0), + fVoxelNode(0), + fCheck(false), + fVerbose(0) +{ + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); +} + +G4VoxelSafety::~G4VoxelSafety() +{ +} + +// ******************************************************************** +// ComputeSafety +// +// Calculates the isotropic distance to the nearest boundary from the +// specified point in the local coordinate system. +// The localpoint utilised must be within the current volume. +// ******************************************************************** +// +G4double +G4VoxelSafety::ComputeSafety(const G4ThreeVector& localPoint, + const G4VPhysicalVolume& currentPhysical, + G4double ) // maxLength) +{ + // G4VPhysicalVolume *samplePhysical; + G4LogicalVolume *motherLogical; + G4VSolid *motherSolid; + G4SmartVoxelHeader *motherVoxelHeader; + G4double motherSafety, ourSafety; + G4int localNoDaughters; // , sampleNo; + // G4SmartVoxelNode *curVoxelNode; + // G4int curNoVolumes, contentNo; + G4double daughterSafety; + + motherLogical = currentPhysical.GetLogicalVolume(); + fpMotherLogical= motherLogical; // For use by the other methods + motherSolid = motherLogical->GetSolid(); + motherVoxelHeader= motherLogical->GetVoxelHeader(); + +#ifdef G4VERBOSE + if( fVerbose > 0 ){ + G4cout << "*** G4VoxelSafety::ComputeSafety(): ***" << G4endl; + } +#endif + + // Check that point is inside mother volume + EInside insideMother= motherSolid->Inside(localPoint); + if( insideMother != kInside ) { + if( insideMother == kOutside ) { + G4cerr << " G4VoxelSafety> Location for safety is Outside current volume. " << G4endl; + G4cerr << " The approximate distance to the solid (safety from outside ) is " + << motherSolid->DistanceToIn( localPoint ) << G4endl; + G4Exception("G4VoxelSafety::ComputeSafety()", + "IllegalLocationForSafetyCall", FatalException, + "Method called for location outside current Volume."); + } + return 0.0; + } + + // First limit: mother safety - distance to outer boundaries + motherSafety = motherSolid->DistanceToOut(localPoint); + ourSafety = motherSafety; // Working isotropic safety + +#ifdef G4VERBOSE + if(( fCheck ) && ( fVerbose == 1 )) + { + G4cout << "*** G4VoxelSafety::ComputeSafety(): ***" << G4endl + << " Invoked DistanceToOut(p) for mother solid: " + << motherSolid->GetName() + << ". Solid replied: " << motherSafety << G4endl + << " For local point p: " << localPoint + << ", to be considered as 'mother safety'." << G4endl; + } +#endif + localNoDaughters = motherLogical->GetNoDaughters(); + + fBlockList.Enlarge(localNoDaughters); + fBlockList.Reset(); + + fVoxelDepth = -1; // Resets the depth -- must be done for next method + daughterSafety= SafetyForVoxelHeader( motherVoxelHeader, localPoint ); + + ourSafety= std::min( motherSafety, daughterSafety ); + + return ourSafety; +} + +// Calculate the safety for volumes included in current Voxel Node +// +G4double +G4VoxelSafety:: +SafetyForVoxelNode( G4SmartVoxelNode *curVoxelNode, + const G4ThreeVector& localPoint ) +{ + G4double ourSafety= DBL_MAX; + + G4int curNoVolumes, contentNo, sampleNo; + G4VPhysicalVolume *samplePhysical; + + G4double sampleSafety=0.0; + G4ThreeVector samplePoint; + G4VSolid* ptrSolid=0; + + curNoVolumes = curVoxelNode->GetNoContained(); + + for ( contentNo=curNoVolumes-1; contentNo>=0; contentNo-- ) + { + sampleNo = curVoxelNode->GetVolume(contentNo); + if ( !fBlockList.IsBlocked(sampleNo) ) + { + fBlockList.BlockVolume(sampleNo); + + samplePhysical = fpMotherLogical->GetDaughter(sampleNo); + G4AffineTransform sampleTf(samplePhysical->GetRotation(), + samplePhysical->GetTranslation()); + sampleTf.Invert(); + samplePoint = sampleTf.TransformPoint(localPoint); + ptrSolid = samplePhysical->GetLogicalVolume()->GetSolid(); + + sampleSafety = ptrSolid->DistanceToIn(samplePoint); + ourSafety = std::min( sampleSafety, ourSafety ); +#ifdef G4VERBOSE + if(( fCheck ) && ( fVerbose == 1 )) + { + // ReportSolidSafetyToIn( MethodName, solid, value, point ); + G4cout << "*** G4VoxelSafety::SafetyForVoxelNode(): ***" << G4endl + << " Invoked DistanceToIn(p) for daughter solid: " + << ptrSolid->GetName() + << ". Solid replied: " << sampleSafety << G4endl + << " For local point p: " << samplePoint + << ", to be considered as 'daughter safety'." << G4endl; + } +#endif + } + } // end for contentNo + + return ourSafety; +} + + +// +// Pseudo-code for Compute Safety +// +// for each (potential) dimension of depth +// iterate through VoxelProxies (Header, Node) +// until distanceToVoxel > estimatedSafety +// +// Better: +// iterate through/down the three of VoxelProxies +// while distanceToVoxel <= estimatedSafety +// Examine one Nodes for which this condition holds. +// (version 0 can examine all nodes) + + +// How to step through voxels ?? Thu 29 April 2010 @ 17:00 + +// ******************************************************************** +// SafetyForVoxelHeader method +// - which cycles through levels of headers to process each node level +// - Obtained by modifying VoxelLocate (to cycle through Node Headers) +// ********************************************************************* +// +G4double +G4VoxelSafety::SafetyForVoxelHeader( G4SmartVoxelHeader* pHeader, + const G4ThreeVector& localPoint ) +{ + const G4SmartVoxelHeader *targetVoxelHeader=pHeader; + G4SmartVoxelNode *targetVoxelNode=0; + + G4SmartVoxelProxy *sampleProxy; + EAxis targetHeaderAxis; + G4double targetHeaderMin, targetHeaderNodeWidth; + G4int targetHeaderNoSlices; + G4int targetNodeNo; // , pointNodeNo; + // G4int minCurNodeNoDelta, maxCurNodeNoDelta; + + G4double minSafety= DBL_MAX; + + fVoxelDepth++; + // fVoxelDepth set by ComputeSafety or previous level call + + targetHeaderAxis = targetVoxelHeader->GetAxis(); + targetHeaderNoSlices = targetVoxelHeader->GetNoSlices(); + targetHeaderMin = targetVoxelHeader->GetMinExtent(); + targetHeaderNodeWidth = (targetVoxelHeader->GetMaxExtent()-targetHeaderMin) + / targetHeaderNoSlices; + + const G4int pointNodeNo = G4int( (localPoint(targetHeaderAxis)-targetHeaderMin) + / targetHeaderNodeWidth); + // Ensure that it is between 0 and targetHeader->GetMaxExtent() - 1 + + G4cout << " Calculated pointNodeNo= " << pointNodeNo + << " from position= " << localPoint(targetHeaderAxis) + << " min= " << targetHeaderMin + << " max= " << targetVoxelHeader->GetMaxExtent() + << " width= " << targetHeaderNodeWidth + << " no-slices= " << targetHeaderNoSlices + << " axis= " << targetHeaderAxis + << G4endl; + + // Stack info for stepping + // + fVoxelAxisStack[fVoxelDepth] = targetHeaderAxis; + fVoxelNoSlicesStack[fVoxelDepth] = targetHeaderNoSlices; + fVoxelSliceWidthStack[fVoxelDepth] = targetHeaderNodeWidth; + + + fVoxelHeaderStack[fVoxelDepth] = pHeader; + +#ifdef G4VERBOSE + if( fVerbose > 2 ){ + G4cout << G4endl; + G4cout << "**** G4VoxelSafety::SafetyForVoxelHeader " << G4endl; + G4cout << " Depth = " << fVoxelDepth ; // << G4endl; + G4cout << " Number of Slices = " << targetHeaderNoSlices ; // << G4endl; + G4cout << " Header (address) = " << targetVoxelHeader << G4endl; + } +#endif + // G4int numSlicesCheck= targetHeaderNoSlices; + + // G4cout << "---> Current Voxel Header has " << *targetVoxelHeader << G4endl; + + // targetVoxelHeader->GetMaxEquivalentSliceNo()+1; + // targetVoxelHeader->GetMinEquivalentSliceNo()-1; + + G4int nextUp= pointNodeNo+1; + G4int nextDown= pointNodeNo-1; + // Ignore equivalents for now + G4int nextNode= pointNodeNo; + + for( targetNodeNo= pointNodeNo; + // (targetNodeNo=0); + targetNodeNo= nextNode + ) + { + G4double nodeSafety= DBL_MAX, levelSafety= DBL_MAX; + fVoxelNodeNoStack[fVoxelDepth] = targetNodeNo; + + sampleProxy = targetVoxelHeader->GetSlice(targetNodeNo); + + G4cout << " -Checking node " << targetNodeNo + << " is proxy with address " << sampleProxy; // << G4endl; + + if ( sampleProxy->IsNode() ) + { + targetVoxelNode = sampleProxy->GetNode(); + G4cout << " -- It is a Node " << G4endl; + + // Deal with the node here [ i.e. the last level ] + nodeSafety= SafetyForVoxelNode( targetVoxelNode, localPoint); + // if( targetHeaderNoSlices != numSlicesCheck ) + // G4cerr << "Number of slices changed - to " << targetHeaderNoSlices << G4endl; + minSafety= std::min( minSafety, nodeSafety ); + } + else + { + G4SmartVoxelHeader *pNewVoxelHeader = sampleProxy->GetHeader(); + // fVoxelDepth++; + + G4cout << " -- It is a Header " << G4endl; + G4cout << " Recurse to deal with next level, fVoxelDepth= " + << fVoxelDepth+1 << G4endl; + + // Recurse to deal with lower levels + levelSafety= SafetyForVoxelHeader( pNewVoxelHeader, localPoint); + // fVoxelDepth--; + + // G4cout << " Returned from SafetyForVoxelHeader. Depth= " + // << fVoxelDepth << G4endl; + //--G4cout << " Decreased fVoxelDepth to " << fVoxelDepth << G4endl; + //--G4cout << " Header (address)= " << targetVoxelHeader << G4endl; + G4cout << " Level safety = " << levelSafety << G4endl; + + minSafety= std::min( minSafety, levelSafety ); + } + + // Find next closest Voxel + // - first try: by simple subtraction + // - later: using distance (TODO - tbc) + G4cout << " Next: up " << nextUp << " d= " << nextUp - pointNodeNo + << " down " << nextDown << " d= " << pointNodeNo - nextDown + << " cond " << ( nextUp < targetHeaderNoSlices ) + << " pointNodeNo= " << pointNodeNo + << G4endl; + if( ((nextUp - pointNodeNo) < (pointNodeNo - nextDown)) + && (nextUp < targetHeaderNoSlices) ) + { + nextNode=nextUp; + ++nextUp; + G4cout << " Chose Up: next= " << nextNode << " new= " << nextUp << G4endl; + }else{ + nextNode=nextDown; + --nextDown; + G4cout << " Chose Down: next= " << nextNode << " new= " << nextDown << G4endl; + } + } + +#ifdef G4VERBOSE + if( fVerbose > 0 ) { + G4cout << " Ended for targetNodeNo -- checked " + << targetHeaderNoSlices << " slices" << G4endl; + G4cout << " ===== Returning from SafetyForVoxelHeader " + << " Depth= " << fVoxelDepth << G4endl + << G4endl; + } +#endif + + // Go back one level + fVoxelDepth--; + + return minSafety; +} diff --git a/source/geometry/solids/BREPS/CMakeLists.txt b/source/geometry/solids/BREPS/CMakeLists.txt new file mode 100644 index 0000000000..4113fe7709 --- /dev/null +++ b/source/geometry/solids/BREPS/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4brep +# Package: Geant4.src.G4geometry..G4brep +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:42:05 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/geometry/solids/BREPS/GNUmakefile b/source/geometry/solids/BREPS/GNUmakefile index 6252585866..66478f2e20 100644 --- a/source/geometry/solids/BREPS/GNUmakefile +++ b/source/geometry/solids/BREPS/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.5 2004/06/11 14:17:16 gcosmo Exp $ +# $Id: GNUmakefile,v 1.7 2010/10/27 07:34:32 gcosmo Exp $ # ------------------------------------------------------------ # GNUmakefile for BREPS library. Gabriele Cosmo, 15/11/96. # ------------------------------------------------------------ diff --git a/source/geometry/solids/BREPS/History b/source/geometry/solids/BREPS/History index a60fed087f..72e3b34ea7 100644 --- a/source/geometry/solids/BREPS/History +++ b/source/geometry/solids/BREPS/History @@ -1,4 +1,4 @@ -$Id: History,v 1.70 2008/07/08 10:01:13 gcosmo Exp $ +$Id: History,v 1.79 2010/11/23 15:15:11 gcosmo Exp $ ---------------------------------------------------------------------------- ========================================================= @@ -17,6 +17,53 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +23/11/2010 : G.Cosmo breps-V09-03-07 and V09-03-06 +- Fixed remaining cases of pointer handling in experimental G4BezierSurface + code. + +01/11/2010 : G.Cosmo breps-V09-03-05 +- Fixed cases of null pointer forward in G4BREPSolid, G4BREPSolidPolyhedra + and G4BezierSurface classes. + +20/10/2010 : G.Cosmo breps-V09-03-04 +- Implemented Clone() virtual method for all solids, returning a pointer + to a dynamically allocated copy of the solid. To be used by Geant4-MT. + +22/09/2010 : G. Cosmo breps-V09-03-03 +- Implemented copy-constructor and assignment operator for solids classes + to facilitate conversion to Geant4-MT. + +06/09/2010 : G. Cosmo breps-V09-03-02 +- Fixed possible leak in G4BREPSolid::IsConvex() method. +- Corrected possible dereferencing of null pointer in method + G4BREPSolidSphere::DistanceToOut(). +- Corrected deletion of internal data in G4BSplineCurve::Project() method. +- Fixed possible leak in G4BezierSurface::ClipSurface() method, and fixed + case of dereferenciation of null pointer. +- Fixed leak in destructor of G4ToroidalSurface. +- Added dummy initialisation of static data in G4BoundingBox3D, + G4ProjectedSurface and G4Surface. + +13/07/2010 : G. Cosmo breps-V09-03-01 +- Fixed compilation warning on Linux for G4Surface... + +05/07/2010 : G. Cosmo breps-V09-03-00 +- G4Hyperbola: corrected signature to internal Init() function to avoid + parameter passed by value. +- G4Assembly: corrected case of invalid iterator in destructor. +- G4BREPSolid: corrected logic in IsConvex(), avoiding explicit memory leak. +- G4BSplineCurve: corrected initialization of null pointer in Project(); + removed useless typedef. +- G4CompositeCurve, G4SurfaceBoundary: corrected cases of invalid iterator. +- G4OsloMatrix: fixed leak in construction of G4PointMatrix. +- Added fake initializations to constructors in G4BREPSolid, G4Assembly, + G4BREPSolidPCone, G4BREPSolidPolyhedra, G4BSplineSurface, G4BezierSurface, + G4BoundingBox3D, G4CircularCurve, G4Curve, G4CurvePoint, G4Ellipse, + G4FCylindricalSurface, G4FPlane, G4Hyperbola, G4KnotVector, G4OsloMatrix, + G4Parabola, G4ProjectedSurface, G4Ray, G4RectangularTrimmedSurface, + G4Surface, G4ToroidalSurface. +- Code cleanup in G4ConicalSurface, GCylindricalSurface and G4SpericalSurface. + 08/07/2008 : G. Cosmo breps-V09-01-02 - Replaced exit() statement with G4Exception in G4Ray. diff --git a/source/geometry/solids/BREPS/include/G4BREPSolid.hh b/source/geometry/solids/BREPS/include/G4BREPSolid.hh index a7de659d43..df1aff91cf 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolid.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolid.hh,v 1.17 2006/10/19 15:35:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolid.hh,v 1.19 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4BREPSolid @@ -116,6 +116,10 @@ public: // with description // Returns identifier for solid type entity. // A generic BREP solid is considered a "Closed_Shell". + virtual G4VSolid* Clone() const; + // Returns a pointer of a dynamically allocated copy of the solid. + // The caller has responsibility for ownership. + virtual std::ostream& StreamInfo(std::ostream& os) const; // Streams solid contents to output stream. @@ -181,6 +185,10 @@ public: // without description // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4BREPSolid(const G4BREPSolid& rhs); + G4BREPSolid& operator=(const G4BREPSolid& rhs); + // Copy constructor and assignment operator. + protected: G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform&) const; @@ -227,6 +235,11 @@ protected: G4int Id; +private: + + G4int IsBox(); + G4int FinalEvaluation(register const G4Ray&, G4int =0) const; + private: G4int fStatistics; @@ -238,13 +251,6 @@ private: mutable G4Polyhedron* fpPolyhedron; - G4BREPSolid(const G4BREPSolid&); - G4BREPSolid& operator=(const G4BREPSolid&); - // Private copy constructor and assignment operator. - - G4int IsBox(); - G4int FinalEvaluation(register const G4Ray&, G4int =0) const; - }; #include "G4BREPSolid.icc" diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh b/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh index abbb54f4c0..d61858d123 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidBox.hh,v 1.10 2008/01/22 16:03:13 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidBox.hh,v 1.12 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidBox @@ -77,7 +77,10 @@ public: // with description // Determines if the point Pt is inside, outside or on the surface // of the solid. - virtual std::ostream& StreamInfo(std::ostream& os) const; + G4VSolid* Clone() const; + // Returns a pointer of a dynamically allocated copy of the solid. + + std::ostream& StreamInfo(std::ostream& os) const; // Streams solid contents to output stream. public: // without description @@ -87,11 +90,13 @@ public: // without description // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4BREPSolidBox(const G4BREPSolidBox& rhs); + G4BREPSolidBox& operator=(const G4BREPSolidBox& rhs); + // Copy constructor and assignment operator. + private: - G4BREPSolidBox(const G4BREPSolidBox&); - G4BREPSolidBox& operator=(const G4BREPSolidBox&); - // Private copy constructor and assignment operator. + void InitializeBox(); private: diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh index 76c28674a3..97e32ccb1e 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidCone.hh,v 1.11 2006/06/29 18:37:51 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidCone.hh,v 1.13 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidCone @@ -97,7 +97,10 @@ class G4BREPSolidCone : public G4BREPSolid // Calculates the distance to the nearest surface of a shape from an // inside point. The distance can be an underestimate. - virtual std::ostream& StreamInfo(std::ostream& os) const; + G4VSolid* Clone() const; + // Returns a pointer of a dynamically allocated copy of the solid. + + std::ostream& StreamInfo(std::ostream& os) const; // Streams solid contents to output stream. public: // without description @@ -107,12 +110,14 @@ class G4BREPSolidCone : public G4BREPSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4BREPSolidCone(const G4BREPSolidCone& rhs); + G4BREPSolidCone& operator=(const G4BREPSolidCone& rhs); + // Copy constructor and assignment operator. + private: - G4BREPSolidCone(const G4BREPSolidCone&); - G4BREPSolidCone& operator=(const G4BREPSolidCone&); - // Private copy constructor and assignment operator. - + void InitializeCone(); + private: struct G4BREPConeParams diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh b/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh index 9e1272aeed..27906f710f 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidCylinder.hh,v 1.10 2006/06/29 18:37:53 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidCylinder.hh,v 1.12 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidCylinder @@ -66,7 +66,10 @@ class G4BREPSolidCylinder : public G4BREPSolid ~G4BREPSolidCylinder(); // Empty destructor. - virtual std::ostream& StreamInfo(std::ostream& os) const; + G4VSolid* Clone() const; + // Returns a pointer of a dynamically allocated copy of the solid. + + std::ostream& StreamInfo(std::ostream& os) const; // Streams solid contents to output stream. public: // without description @@ -76,11 +79,15 @@ class G4BREPSolidCylinder : public G4BREPSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4BREPSolidCylinder(const G4BREPSolidCylinder& rhs); + G4BREPSolidCylinder& operator=(const G4BREPSolidCylinder& rhs); + // Copy constructor and assignment operator. + private: - G4BREPSolidCylinder(const G4BREPSolidCylinder&); - G4BREPSolidCylinder& operator=(const G4BREPSolidCylinder&); - // Private copy constructor and assignment operator. + void InitializeCylinder(); + + private: struct G4BREPCylinderParams { diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh index 5da7b83528..7b6b65a361 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidOpenPCone.hh,v 1.9 2006/06/29 18:37:55 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidOpenPCone.hh,v 1.12 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidOpenPCone @@ -73,7 +73,10 @@ class G4BREPSolidOpenPCone : public G4IntersectionSolid void DescribeYourselfTo (G4VGraphicsScene& scene) const; // Dispatch function which identifies the solid to the graphics scene. - virtual std::ostream& StreamInfo(std::ostream& os) const; + G4VSolid* Clone() const; + // Returns a pointer of a dynamically allocated copy of the solid. + + std::ostream& StreamInfo(std::ostream& os) const; // Streams solid contents to output stream. public: // without description @@ -83,11 +86,22 @@ class G4BREPSolidOpenPCone : public G4IntersectionSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4BREPSolidOpenPCone(const G4BREPSolidOpenPCone& rhs); + G4BREPSolidOpenPCone& operator=(const G4BREPSolidOpenPCone& rhs); + private: - G4BREPSolidOpenPCone(const G4BREPSolidOpenPCone&); - G4BREPSolidOpenPCone& operator=(const G4BREPSolidOpenPCone&); + void InitializeOPCone(); + private: + + struct G4BREPOpenPConeParams + { + G4double start_angle, opening_angle; + G4int num_z_planes; // sections + G4double z_start; + G4double *z_values, *RMIN, *RMAX; + } constructorParams; }; #endif diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh index 5cb7907ee3..bbfb98db59 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidPCone.hh,v 1.14 2006/06/29 18:37:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidPCone.hh,v 1.16 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidPCone @@ -121,7 +121,10 @@ public: G4Polyhedron* CreatePolyhedron () const; // Creates a G4Polyhedron - virtual std::ostream& StreamInfo(std::ostream& os) const; + G4VSolid* Clone() const; + // Returns a pointer of a dynamically allocated copy of the solid. + + std::ostream& StreamInfo(std::ostream& os) const; // Streams solid contents to output stream. public: // without description @@ -131,8 +134,14 @@ public: // without description // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4BREPSolidPCone(const G4BREPSolidPCone& rhs); + G4BREPSolidPCone& operator=(const G4BREPSolidPCone& rhs); + // Copy constructor and assignment operator. + private: - + + void InitializePCone(); + G4Surface* ComputePlanarSurface( G4double r1, G4double r2, G4ThreeVector& origin, G4ThreeVector& planeAxis, @@ -140,10 +149,6 @@ private: G4int surfSense ); // For a given radius values compute a planar surface - G4BREPSolidPCone(const G4BREPSolidPCone&); - G4BREPSolidPCone& operator=(const G4BREPSolidPCone&); - // Private copy constructor and assignment operator. - // The following is only utilised in storing the shape parameters for // use in visualising this shape. J.A. Feb 24, 1997 // R. Chytracek, Nov 2002, Update to new IO dumping mechanism diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh b/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh index dfa5e51d6a..dc18df2180 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidPolyhedra.hh,v 1.14 2006/06/29 18:37:59 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidPolyhedra.hh,v 1.16 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidPolyhedra @@ -115,7 +115,10 @@ public: // with description // solid to any boundary of this solid. // Return 0 if the point is already outside. - virtual std::ostream& StreamInfo(std::ostream& os) const; + G4VSolid* Clone() const; + // Returns a pointer of a dynamically allocated copy of the solid. + + std::ostream& StreamInfo(std::ostream& os) const; // Streams solid contents to output stream. public: @@ -133,17 +136,19 @@ public: // without description // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4BREPSolidPolyhedra(const G4BREPSolidPolyhedra& rhs); + G4BREPSolidPolyhedra& operator=(const G4BREPSolidPolyhedra& rhs); + // Copy constructor and assignment operator. + private: - G4BREPSolidPolyhedra(const G4BREPSolidPolyhedra&); - G4BREPSolidPolyhedra& operator=(const G4BREPSolidPolyhedra&); - // Private copy constructor and assignment operator. - typedef enum _SF { EInverse = 0, ENormal = 1 } ESurfaceSense; - + + void InitializePolyhedra(); + G4Surface* CreateTrapezoidalSurface( G4double r1, G4double r2, const G4Point3D& origin, G4double zDistance, G4Vector3D& xAxis, G4double partAngle, diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh b/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh index b729652984..60581986ec 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidSphere.hh,v 1.11 2006/06/29 18:38:01 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidSphere.hh,v 1.13 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidSphere @@ -99,7 +99,10 @@ class G4BREPSolidSphere : public G4BREPSolid // solid to any boundary of this solid. // Return 0 if the point is already outside. - virtual std::ostream& StreamInfo(std::ostream& os) const; + G4VSolid* Clone() const; + // Returns a pointer of a dynamically allocated copy of the solid. + + std::ostream& StreamInfo(std::ostream& os) const; // Streams solid contents to output stream. public: // without description @@ -111,18 +114,22 @@ class G4BREPSolidSphere : public G4BREPSolid inline void SphReset() { active=1; } + G4BREPSolidSphere(const G4BREPSolidSphere& rhs); + G4BREPSolidSphere& operator=(const G4BREPSolidSphere& rhs); + // Copy constructor and assignment operator. + private: - G4BREPSolidSphere(const G4BREPSolidSphere&); - G4BREPSolidSphere& operator=(const G4BREPSolidSphere&); - // Private copy constructor and assignment operator. + void InitializeSphere(); + + private: struct G4BREPSphereParams { G4Vector3D origin; - G4Vector3D xhat; - G4Vector3D zhat; - G4double radius; + G4Vector3D xhat; + G4Vector3D zhat; + G4double radius; } constructorParams; }; diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh b/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh index 9a3aaf239d..14ff56038d 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidTorus.hh,v 1.10 2006/06/29 18:38:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidTorus.hh,v 1.12 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidTorus @@ -65,7 +65,10 @@ class G4BREPSolidTorus : public G4BREPSolid ~G4BREPSolidTorus(); // Empty destructor. - virtual std::ostream& StreamInfo(std::ostream& os) const; + G4VSolid* Clone() const; + // Returns a pointer of a dynamically allocated copy of the solid. + + std::ostream& StreamInfo(std::ostream& os) const; // Streams solid contents to output stream. public: // without description @@ -75,11 +78,15 @@ class G4BREPSolidTorus : public G4BREPSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4BREPSolidTorus(const G4BREPSolidTorus& rhs); + G4BREPSolidTorus& operator=(const G4BREPSolidTorus& rhs); + // Copy constructor and assignment operator. + private: - G4BREPSolidTorus(const G4BREPSolidTorus&); - G4BREPSolidTorus& operator=(const G4BREPSolidTorus&); - // Private copy constructor and assignment operator. + void InitializeTorus(); + + private: struct G4BREPTorusParams { diff --git a/source/geometry/solids/BREPS/include/G4BSplineCurve.hh b/source/geometry/solids/BREPS/include/G4BSplineCurve.hh index 771b215257..5835b828ed 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineCurve.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineCurve.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BSplineCurve.hh,v 1.13 2006/06/29 18:38:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BSplineCurve.hh,v 1.14 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4BSplineCurve @@ -48,9 +48,6 @@ class G4KnotVector; class G4BSplineCurve : public G4Curve { -public: - - typedef std::vector G4doubleVector; public: // with description @@ -74,11 +71,11 @@ public: // with description // Accessors methods. void Init(G4int degree0, G4Point3DVector* controlPointsList0, - G4doubleVector* knots0, G4doubleVector* weightsData0); + std::vector* knots0, std::vector* weightsData0); G4int GetDegree() const; const G4Point3DVector* GetControlPointsList() const; - const G4doubleVector* GetKnots() const; - const G4doubleVector* GetWeightsData() const; + const std::vector* GetKnots() const; + const std::vector* GetWeightsData() const; // Get/Set methods for the geometric data. // The "knots" vector contains each knot multiplicity Times. // The object is responsible for deleting the containers passed @@ -113,8 +110,8 @@ protected: // G4int degree; G4Point3DVector* controlPointsList; - G4doubleVector* knots; - G4doubleVector* weightsData; + std::vector* knots; + std::vector* weightsData; }; diff --git a/source/geometry/solids/BREPS/include/G4BSplineCurve.icc b/source/geometry/solids/BREPS/include/G4BSplineCurve.icc index acfe6532b4..983ffb568c 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineCurve.icc +++ b/source/geometry/solids/BREPS/include/G4BSplineCurve.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BSplineCurve.icc,v 1.7 2006/06/29 18:38:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BSplineCurve.icc,v 1.8 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file @@ -48,14 +48,14 @@ G4BSplineCurve::GetControlPointsList() const } inline -const G4BSplineCurve::G4doubleVector* +const std::vector* G4BSplineCurve::GetKnots() const { return knots; } inline -const G4BSplineCurve::G4doubleVector* +const std::vector* G4BSplineCurve::GetWeightsData() const { return weightsData; diff --git a/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh b/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh index f7cd3f1f66..d8a5c87a4d 100644 --- a/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh +++ b/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BoundingBox3D.hh,v 1.7 2007/05/11 13:49:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BoundingBox3D.hh,v 1.8 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4BoundingBox3D diff --git a/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc b/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc index bd15c5f343..8e61fc9015 100644 --- a/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc +++ b/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BoundingBox3D.icc,v 1.4 2006/06/29 18:38:27 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BoundingBox3D.icc,v 1.5 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Curve.hh b/source/geometry/solids/BREPS/include/G4Curve.hh index 7757a004e5..dccd6408ac 100644 --- a/source/geometry/solids/BREPS/include/G4Curve.hh +++ b/source/geometry/solids/BREPS/include/G4Curve.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Curve.hh,v 1.11 2007/05/11 13:49:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Curve.hh,v 1.13 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4Curve diff --git a/source/geometry/solids/BREPS/include/G4CurvePoint.icc b/source/geometry/solids/BREPS/include/G4CurvePoint.icc index 861452f097..801e08da18 100644 --- a/source/geometry/solids/BREPS/include/G4CurvePoint.icc +++ b/source/geometry/solids/BREPS/include/G4CurvePoint.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CurvePoint.icc,v 1.4 2006/06/29 18:39:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4CurvePoint.icc,v 1.5 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file @@ -39,6 +39,7 @@ inline void G4CurvePoint::Init(G4Curve& c0) { c= &c0; + u= 0.; notComputed= allFlags; } diff --git a/source/geometry/solids/BREPS/include/G4Hyperbola.hh b/source/geometry/solids/BREPS/include/G4Hyperbola.hh index 602bda5fb3..3d36fad9f1 100644 --- a/source/geometry/solids/BREPS/include/G4Hyperbola.hh +++ b/source/geometry/solids/BREPS/include/G4Hyperbola.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Hyperbola.hh,v 1.10 2006/06/29 18:39:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Hyperbola.hh,v 1.11 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4Hyperbola @@ -70,7 +70,7 @@ public: // with description inline G4double GetSemiAxis() const; inline G4double GetSemiImagAxis() const; - inline void Init(G4Axis2Placement3D position0, + inline void Init(const G4Axis2Placement3D& position0, G4double semiAxis0, G4double semiImagAxis0); // Get/Set for the geometric data. diff --git a/source/geometry/solids/BREPS/include/G4Hyperbola.icc b/source/geometry/solids/BREPS/include/G4Hyperbola.icc index 65d068606f..ef61cb2297 100644 --- a/source/geometry/solids/BREPS/include/G4Hyperbola.icc +++ b/source/geometry/solids/BREPS/include/G4Hyperbola.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Hyperbola.icc,v 1.9 2006/06/29 18:39:38 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Hyperbola.icc,v 1.10 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file @@ -36,7 +36,7 @@ // -------------------------------------------------------------------- inline -void G4Hyperbola::Init(G4Axis2Placement3D position0, +void G4Hyperbola::Init(const G4Axis2Placement3D& position0, G4double semiAxis0, G4double semiImagAxis0) { position= position0; diff --git a/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh b/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh index 7332a72618..a70e303e22 100644 --- a/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh +++ b/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ProjectedSurface.hh,v 1.7 2006/06/29 18:40:17 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ProjectedSurface.hh,v 1.8 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4ProjectedSurface @@ -45,10 +45,9 @@ class G4ProjectedSurface : public G4Surface { friend class G4BSplineSurface; - friend void CopySurface(G4ProjectedSurface& proj); -public: // with description + public: // with description G4ProjectedSurface(); virtual ~G4ProjectedSurface(); @@ -60,18 +59,12 @@ public: // with description // to the surface. The bounding rectangle is used // for a preliminary check of intersection. -public: // without description + public: // without description inline G4Vector3D SurfaceNormal(const G4Point3D& Pt) const; // Returns normal to surface (G4Vector3D(0,0,0)). -protected: - - static G4int Splits; - G4ControlPoints *ctl_points; - // Test variables - -private: + private: G4ProjectedSurface(const G4ProjectedSurface&); G4ProjectedSurface& operator=(const G4ProjectedSurface&); @@ -112,7 +105,13 @@ private: inline G4int Amin(G4int i, G4int j) const; inline G4int AhIndex(G4int j, G4int t, G4int iorder) const; -private: + protected: + + static G4int Splits; + G4ControlPoints *ctl_points; + // Test variables + + private: short dir; G4KnotVector *u_knots; diff --git a/source/geometry/solids/BREPS/include/G4SphericalSurface.hh b/source/geometry/solids/BREPS/include/G4SphericalSurface.hh index 6c1959729c..10845f9a24 100644 --- a/source/geometry/solids/BREPS/include/G4SphericalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4SphericalSurface.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SphericalSurface.hh,v 1.10 2006/06/29 18:40:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SphericalSurface.hh,v 1.11 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4SphericalSurface @@ -50,7 +50,7 @@ class G4SphericalSurface : public G4Surface { -public: // with description + public: // with description G4SphericalSurface(); // Default constructor. @@ -152,7 +152,7 @@ public: // with description // Accessors methodss to return the axes, radius, and angles // of the G4SphericalSurface. -public: // without description + public: // without description virtual G4Vector3D Normal( const G4Vector3D& p ) const; // Returns the Normal unit vector as for SurfaceNormal(). @@ -198,7 +198,7 @@ public: // without description // non-zero reverses the order of the rotations. */ -protected: // with description + protected: // with description G4Vector3D x_axis; // Direction (unit vector) of axis of G4SphericalSurface @@ -227,7 +227,7 @@ protected: // with description // Upper polar angle limit of G4SphericalSurface // (in radians). Allowed range: theta_1 < theta_2 <= theta_1 + PI. -private: + private: G4SphericalSurface(const G4SphericalSurface&); G4SphericalSurface& operator=(const G4SphericalSurface&); diff --git a/source/geometry/solids/BREPS/include/G4Surface.hh b/source/geometry/solids/BREPS/include/G4Surface.hh index 6934a8c15d..8a2813073a 100644 --- a/source/geometry/solids/BREPS/include/G4Surface.hh +++ b/source/geometry/solids/BREPS/include/G4Surface.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Surface.hh,v 1.10 2007/05/11 13:49:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Surface.hh,v 1.12 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4Surface @@ -51,7 +51,7 @@ class G4Surface : public G4STEPEntity { -public: // with description + public: // with description G4Surface(); virtual ~G4Surface(); @@ -110,8 +110,7 @@ public: // with description // Calculates the bounds for a bounding box to the surface. // The bounding box is used for a preliminary check of intersection. - -public: // without description + public: // without description static void Project (G4double& Coord, const G4Point3D& Pt, const G4Plane& Pl); @@ -178,11 +177,11 @@ public: // without description // further checks are Done. It must be overwritten by derived classes. */ -protected: + protected: virtual void InitBounded(); -protected: + protected: G4BoundingBox3D* bbox; G4Point3D closest_hit; @@ -191,7 +190,7 @@ protected: G4SurfaceBoundary surfaceBoundary; // The boundaries of the surface. - G4double kCarTolerance; + G4double kCarTolerance, kAngTolerance; G4int Intersected; // BSplineSurface and FPlane sets it, no one gets it. @@ -209,15 +208,7 @@ protected: G4int sameSense; // by L. Broglia -protected: - - const G4double FLT_MAXX; - // Maybe kInfinity instead? - - const G4double FLT_EPSILO; - // Maybe kCarTolerance instead? - -private: + private: G4Surface(const G4Surface&); G4Surface& operator=(const G4Surface&); diff --git a/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh b/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh index 7ba065bb63..5afb48bd0d 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SurfaceOfRevolution.hh,v 1.5 2006/06/29 18:40:56 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SurfaceOfRevolution.hh,v 1.7 2010/07/13 14:44:23 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // Class G4SurfaceOfRevolution @@ -34,7 +34,7 @@ // // Definition of a surface of revolution. // (not implemented yet). - +// // ---------------------------------------------------------------------- #ifndef included_G4SurfaceOfRevolution #define included_G4SurfaceOfRevolution diff --git a/source/geometry/solids/BREPS/sources.cmake b/source/geometry/solids/BREPS/sources.cmake new file mode 100644 index 0000000000..3d7dd4187b --- /dev/null +++ b/source/geometry/solids/BREPS/sources.cmake @@ -0,0 +1,191 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4brep +# Package: Geant4.src.G4geometry..G4brep +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/09/29 20:47:19 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/Boolean/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4brep + HEADERS + G4PlacedSolid.icc + G4Assembly.hh + G4Hyperbola.icc + G4Assembly.icc + G4PlacedSolid.hh + G4Axis2Placement3D.hh + G4PlacementVector.hh + G4Axis2Placement3D.icc + G4Plane.hh + G4BREPSolid.hh + G4Point3DVector.hh + G4BREPSolid.icc + G4PointRat.hh + G4BREPSolidBox.hh + G4PointRat.icc + G4BREPSolidCone.hh + G4ProjectedSurface.hh + G4BREPSolidCylinder.hh + G4Ray.icc + G4Ray.hh + G4BREPSolidOpenPCone.hh + G4Sort.hh + G4BREPSolidPCone.hh + G4STEPEntity.hh + G4BREPSolidPolyhedra.hh + G4SphericalSurface.hh + G4BREPSolidSphere.hh + G4Surface.icc + G4BREPSolidTorus.hh + G4Surface.hh + G4BSplineCurve.hh + G4SurfaceBoundary.hh + G4BSplineCurve.icc + G4SurfaceBoundary.icc + G4BSplineCurveWithKnots.hh + G4SurfaceList.hh + G4BSplineSurface.hh + G4ThreeMat.hh + G4BSplineSurface.icc + G4ToroidalSurface.hh + G4BSplineSurfaceWithKnots.hh + G4ToroidalSurface.icc + G4BezierSurface.hh + G4UVHit.hh + G4BezierSurface.icc + G4BoundingBox3D.hh + G4BoundingBox3D.icc + G4CircularCurve.hh + G4CircularCurve.icc + G4CompositeCurve.hh + G4CompositeCurve.icc + G4Conic.hh + G4Conic.icc + G4ConicalSurface.hh + G4ConicalSurface.icc + G4ControlPoints.hh + G4ControlPoints.icc + G4ConvexHull.hh + G4Curve.hh + G4Curve.icc + G4CurvePoint.hh + G4CurvePoint.icc + G4CurveRayIntersection.hh + G4CurveRayIntersection.icc + G4CurveVector.hh + G4CylindricalSurface.hh + G4CylindricalSurface.icc + G4Ellipse.hh + G4Ellipse.icc + G4FConicalSurface.hh + G4FConicalSurface.icc + G4FCylindricalSurface.hh + G4FCylindricalSurface.icc + G4FPlane.hh + G4FPlane.icc + G4Globals.hh + G4Hyperbola.hh + G4KnotVector.hh + G4KnotVector.icc + G4Line.hh + G4Line.icc + G4OsloMatrix.hh + G4OsloMatrix.icc + G4Parabola.hh + G4Parabola.icc + G4ProjectedSurface.icc + G4RectangularTrimmedSurface.hh + G4SphericalSurface.icc + G4SurfaceOfLinearExtrusion.hh + G4SurfaceOfRevolution.hh + SOURCES + G4Assembly.cc + G4Axis2Placement3D.cc + G4BREPSolid.cc + G4BREPSolidBox.cc + G4BREPSolidCone.cc + G4BREPSolidCylinder.cc + G4BREPSolidOpenPCone.cc + G4BREPSolidPCone.cc + G4BREPSolidPolyhedra.cc + G4BREPSolidSphere.cc + G4BREPSolidTorus.cc + G4BSplineCurve.cc + G4BSplineCurveWithKnots.cc + G4BSplineSurface.cc + G4BSplineSurfaceWithKnots.cc + G4BezierSurface.cc + G4BoundingBox3D.cc + G4CircularCurve.cc + G4CompositeCurve.cc + G4Conic.cc + G4ConicalSurface.cc + G4ControlPoints.cc + G4Curve.cc + G4CurvePoint.cc + G4CurveRayIntersection.cc + G4CylindricalSurface.cc + G4Ellipse.cc + G4FConicalSurface.cc + G4FCylindricalSurface.cc + G4FPlane.cc + G4Hyperbola.cc + G4KnotVector.cc + G4Line.cc + G4OsloMatrix.cc + G4Parabola.cc + G4PlacedSolid.cc + G4PointRat.cc + G4ProjectedSurface.cc + G4Ray.cc + G4RectangularTrimmedSurface.cc + G4Sort.cc + G4SphericalSurface.cc + G4Surface.cc + G4SurfaceBoundary.cc + G4SurfaceList.cc + G4SurfaceOfLinearExtrusion.cc + G4SurfaceOfRevolution.cc + G4ThreeMat.cc + G4ToroidalSurface.cc + GRANULAR_DEPENDENCIES + G4csg + G4geomBoolean + G4geometrymng + G4globman + G4graphics_reps + G4intercoms + GLOBAL_DEPENDENCIES + G4global + G4graphics_reps + G4intercoms + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/geometry/solids/BREPS/src/G4Assembly.cc b/source/geometry/solids/BREPS/src/G4Assembly.cc index 59f9b5e09d..546f7f6169 100644 --- a/source/geometry/solids/BREPS/src/G4Assembly.cc +++ b/source/geometry/solids/BREPS/src/G4Assembly.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Assembly.cc,v 1.6 2006/06/29 18:41:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Assembly.cc,v 1.7 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -37,6 +37,7 @@ #include "G4Assembly.hh" G4Assembly::G4Assembly() + : numberOfSolids(0) { // ReadSTEPFile(); // CopySTEPData(); @@ -51,15 +52,18 @@ G4Assembly::~G4Assembly() { a = placedVec.back(); placedVec.pop_back(); - for (G4PlacedVector::iterator i=placedVec.begin(); i!=placedVec.end(); i++) + for (G4PlacedVector::iterator i=placedVec.begin(); i!=placedVec.end();) { if (*i==a) { - placedVec.erase(i); - i--; + i = placedVec.erase(i); + } + else + { + ++i; } } - if ( a ) delete a; + if ( a ) { delete a; } } } @@ -68,6 +72,7 @@ void G4Assembly::SetPlacedVector(G4PlacedVector& pVec) numberOfSolids = pVec.size(); for(G4int a=0;a 0 && SurfaceVec != 0 ) - delete [] SurfaceVec; - + delete [] SurfaceVec; delete fpPolyhedron; } +G4BREPSolid::G4BREPSolid(const G4BREPSolid& rhs) + : G4VSolid(rhs), Box(rhs.Box), Convex(rhs.Convex), AxisBox(rhs.AxisBox), + PlaneSolid(rhs.PlaneSolid), place(0), bbox(0), + intersectionDistance(rhs.intersectionDistance), active(rhs.active), + startInside(rhs.startInside), nb_of_surfaces(rhs.nb_of_surfaces), + intersection_point(rhs.intersection_point), SurfaceVec(0), + RealDist(rhs.RealDist), solidname(rhs.solidname), Id(rhs.Id), + fStatistics(rhs.fStatistics), fCubVolEpsilon(rhs.fCubVolEpsilon), + fAreaAccuracy(rhs.fAreaAccuracy), fCubicVolume(rhs.fCubicVolume), + fSurfaceArea(rhs.fSurfaceArea), fpPolyhedron(0) +{ + Initialize(); +} + +G4BREPSolid& G4BREPSolid::operator = (const G4BREPSolid& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + Box= rhs.Box; Convex= rhs.Convex; AxisBox= rhs.AxisBox; + PlaneSolid= rhs.PlaneSolid; + intersectionDistance= rhs.intersectionDistance; active= rhs.active; + startInside= rhs.startInside; nb_of_surfaces= rhs.nb_of_surfaces; + intersection_point= rhs.intersection_point; + RealDist= rhs.RealDist; solidname= rhs.solidname; Id= rhs.Id; + fStatistics= rhs.fStatistics; fCubVolEpsilon= rhs.fCubVolEpsilon; + fAreaAccuracy= rhs.fAreaAccuracy; fCubicVolume= rhs.fCubicVolume; + fSurfaceArea= rhs.fSurfaceArea; + + delete place; delete bbox; place= 0; bbox= 0; + for(G4int a=0;aactive=1; @@ -386,8 +436,7 @@ G4int G4BREPSolid::IsBox() G4bool G4BREPSolid::IsConvex() { - if(!PlaneSolid) - return 0; // All faces must be planar + if (!PlaneSolid) { return 0; } // All faces must be planar // This is not robust. There can be concave solids // where the concavity comes for example from three triangles. @@ -397,8 +446,8 @@ G4bool G4BREPSolid::IsConvex() // connecting face. If the result changes value at any point the // solid is concave. - G4Surface* Srf; - G4Surface* ConnectedSrf; + G4Surface* Srf=0; + G4Surface* ConnectedSrf=0; G4int Result; Convex = 1; @@ -413,7 +462,7 @@ G4bool G4BREPSolid::IsConvex() // Result = Srf->IsConvex(); - if(Result != -1) + if (Result != -1) { Convex = 0; return 0; @@ -421,22 +470,20 @@ G4bool G4BREPSolid::IsConvex() } Srf = SurfaceVec[0]; - G4Point3D Pt1; - G4Point3D Pt2; - - G4int ConnectingPoints=0; - - G4Vector3D N1; - G4Vector3D N2; + + G4int ConnectingPoints=0; + G4Point3D Pt1, Pt2; + G4Vector3D N1, N2; // L. Broglia // The number of connecting points can be // (nb_of_surfaces-1) * nb_of_surfaces (loop a & loop b) - // G4int* ConnectedList = new G4int[nb_of_surfaces]; - G4int* ConnectedList = new G4int[(nb_of_surfaces-1) * nb_of_surfaces]; + // G4int* ConnectedList = new G4int[nb_of_surfaces]; + const G4int maxCNum = (nb_of_surfaces-1)*nb_of_surfaces; + G4int* ConnectedList = new G4int[maxCNum]; - for(a=0; aGetPoint(d); - if(Pts1 == Pts2) - ConnectingPoints++; + if (Pts1 == Pts2) { ConnectingPoints++; } } - if(ConnectingPoints > 0) - break; + if (ConnectingPoints > 0) { break; } } - if( ConnectingPoints > 0 ) + if (ConnectingPoints > 0) { Connections++; ConnectedList[Connections]=b; @@ -511,13 +552,12 @@ G4bool G4BREPSolid::IsConvex() // G4Vector3D CP = G4Vector3D( N1.cross(N2) ); G4double CrossProd = CP.x()+CP.y()+CP.z(); - if( CrossProd > 0 ) - Left++; - if(CrossProd < 0) - Right++; - if(Left&&Right) + if (CrossProd > 0) { Left++; } + if (CrossProd < 0) { Right++; } + if (Left&&Right) { Convex = 0; + delete [] ConnectedList; return 0; } Connections=0; @@ -525,9 +565,7 @@ G4bool G4BREPSolid::IsConvex() Convex=1; - // L. Broglia - // Problems with this delete when there are many solids to create - // delete [] ConnectedList; + delete [] ConnectedList; return 1; } @@ -699,10 +737,10 @@ G4BREPSolid::CreateRotatedVertices(const G4AffineTransform& pTransform) const G4ThreeVectorList *vertices; vertices=new G4ThreeVectorList(); - vertices->reserve(8); if (vertices) { + vertices->reserve(8); G4ThreeVector vertex0(Min.x(),Min.y(),Min.z()); G4ThreeVector vertex1(Max.x(),Min.y(),Min.z()); G4ThreeVector vertex2(Max.x(),Max.y(),Min.z()); diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc b/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc index a99ed4cb7a..268b0bf45c 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidBox.cc,v 1.11 2008/01/22 16:03:52 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidBox.cc,v 1.14 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -49,44 +49,7 @@ G4BREPSolidBox::G4BREPSolidBox(const G4String& name, const G4Point3D& Pt8): G4BREPSolid(name) { nb_of_surfaces=6; - active=1;PlaneSolid=1; - SurfaceVec = new G4Surface*[6]; - G4Point3DVector PVec(4); - G4int sense=0; - - PVec[0] = Pt1; - PVec[1] = Pt2; - PVec[2] = Pt3; - PVec[3] = Pt4; - SurfaceVec[0] = new G4FPlane(&PVec); - - PVec[2] = Pt6; - PVec[3] = Pt5; - SurfaceVec[1] = new G4FPlane(&PVec,0,sense); - - PVec[0] = Pt2; - PVec[1] = Pt6; - PVec[2] = Pt7; - PVec[3] = Pt3; - SurfaceVec[2] = new G4FPlane(&PVec); - - PVec[0] = Pt3; - PVec[1] = Pt7; - PVec[2] = Pt8; - PVec[3] = Pt4; - SurfaceVec[3] = new G4FPlane(&PVec); - - PVec[0] = Pt1; - PVec[1] = Pt5; - PVec[2] = Pt8; - PVec[3] = Pt4; - SurfaceVec[4] = new G4FPlane(&PVec,0,sense); - - PVec[0] = Pt5; - PVec[1] = Pt6; - PVec[2] = Pt7; - PVec[3] = Pt8; - SurfaceVec[5] = new G4FPlane(&PVec,0,sense); + active=1; PlaneSolid=1; // Save the constructor parameters constructorParams[0] = Pt1; @@ -96,10 +59,9 @@ G4BREPSolidBox::G4BREPSolidBox(const G4String& name, constructorParams[4] = Pt5; constructorParams[5] = Pt6; constructorParams[6] = Pt7; - constructorParams[7] = Pt8; - - Initialize(); - + constructorParams[7] = Pt8; + + InitializeBox(); } G4BREPSolidBox::G4BREPSolidBox( __void__& a ) @@ -111,6 +73,75 @@ G4BREPSolidBox::~G4BREPSolidBox() { } +G4BREPSolidBox::G4BREPSolidBox(const G4BREPSolidBox& rhs) + : G4BREPSolid(rhs), Rotation(rhs.Rotation) +{ + for (size_t i=0; i<8; ++i) { constructorParams[i]= rhs.constructorParams[i]; } + InitializeBox(); +} + +G4BREPSolidBox& G4BREPSolidBox::operator = (const G4BREPSolidBox& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4BREPSolid::operator=(rhs); + + // Copy data + // + Rotation= rhs.Rotation; + for (size_t i=0; i<8; ++i) { constructorParams[i]= rhs.constructorParams[i]; } + InitializeBox(); + + return *this; +} + +void G4BREPSolidBox::InitializeBox() +{ + SurfaceVec = new G4Surface*[6]; + G4Point3DVector PVec(4); + G4int sense=0; + + PVec[0] = constructorParams[0]; + PVec[1] = constructorParams[1]; + PVec[2] = constructorParams[2]; + PVec[3] = constructorParams[3]; + SurfaceVec[0] = new G4FPlane(&PVec); + + PVec[2] = constructorParams[5]; + PVec[3] = constructorParams[4]; + SurfaceVec[1] = new G4FPlane(&PVec,0,sense); + + PVec[0] = constructorParams[1]; + PVec[1] = constructorParams[5]; + PVec[2] = constructorParams[6]; + PVec[3] = constructorParams[2]; + SurfaceVec[2] = new G4FPlane(&PVec); + + PVec[0] = constructorParams[2]; + PVec[1] = constructorParams[6]; + PVec[2] = constructorParams[7]; + PVec[3] = constructorParams[3]; + SurfaceVec[3] = new G4FPlane(&PVec); + + PVec[0] = constructorParams[0]; + PVec[1] = constructorParams[4]; + PVec[2] = constructorParams[7]; + PVec[3] = constructorParams[3]; + SurfaceVec[4] = new G4FPlane(&PVec,0,sense); + + PVec[0] = constructorParams[4]; + PVec[1] = constructorParams[5]; + PVec[2] = constructorParams[6]; + PVec[3] = constructorParams[7]; + SurfaceVec[5] = new G4FPlane(&PVec,0,sense); + + Initialize(); +} + EInside G4BREPSolidBox::Inside(register const G4ThreeVector& Pt) const { G4Point3D Point(Pt); @@ -135,9 +166,15 @@ EInside G4BREPSolidBox::Inside(register const G4ThreeVector& Pt) const return kSurface; } -// Streams solid contents to output stream. +G4VSolid* G4BREPSolidBox::Clone() const +{ + return new G4BREPSolidBox(*this); +} + std::ostream& G4BREPSolidBox::StreamInfo(std::ostream& os) const { + // Streams solid contents to output stream. + G4BREPSolid::StreamInfo( os ) << "\n" << " Pt1: " << constructorParams[0] diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc index ce383a7943..e589cefc99 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BREPSolidCone.cc,v 1.15 2006/06/29 18:41:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidCone.cc,v 1.17 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -48,60 +48,6 @@ G4BREPSolidCone::G4BREPSolidCone(const G4String& name, G4double large_radius) : G4BREPSolid(name) { - SurfaceVec = new G4Surface*[3]; - G4Point3D ArcStart1 = G4Point3D(origin + (radius*direction)); - G4Vector3D tmpaxis(axis); - G4Vector3D tmporigin(origin); - G4Point3D tmppoint; - - tmppoint= G4Point3D(origin) + (length*tmpaxis); - G4Point3D origin2(tmppoint.x(), tmppoint.y(), tmppoint.z()); - - tmppoint= origin2 + (large_radius*tmpaxis); - G4Point3D ArcStart2(tmppoint.x(), tmppoint.y(), tmppoint.z()); - - G4Ray::Vcross(tmpaxis, axis, direction); - G4ThreeVector axis2(tmpaxis.x(),tmpaxis.y(), tmpaxis.z()); - - G4CurveVector CVec; - G4CircularCurve* tmp; - - tmp = new G4CircularCurve(); - tmp->Init(G4Axis2Placement3D(direction, axis2, origin) , large_radius); - tmp->SetBounds(ArcStart1, ArcStart1); - CVec.push_back(tmp); - - tmp = new G4CircularCurve(); - tmp->Init(G4Axis2Placement3D(direction, axis2, origin2), large_radius); - tmp->SetBounds(ArcStart2, ArcStart2); - CVec.push_back(tmp); - - SurfaceVec[0] = new G4FConicalSurface(tmporigin, axis, - length, radius, large_radius); - SurfaceVec[0]->SetBoundaries(&CVec); - - // new G4AdvancedFace("G4FConicalSurface", tmporigin, direction, - // axis, CVec, 1, 0,0,length, radius, large_radius); - - // Create end planes & boundaries for cone solid - G4CurveVector CVec2; - tmp = new G4CircularCurve(); - tmp->Init(G4Axis2Placement3D(direction, axis2, origin), radius); - tmp->SetBounds(ArcStart1, ArcStart1); - CVec2.push_back(tmp); - - SurfaceVec[1] = new G4FPlane(tmpaxis, direction, origin2); - //new G4AdvancedFace("G4FPlane" , origin2, direction, tmpaxis, CVec2, 1); - SurfaceVec[1]->SetBoundaries(&CVec2); - - CVec2[0] = tmp = new G4CircularCurve(); - tmp->Init(G4Axis2Placement3D(direction, axis2, origin2), large_radius); - tmp->SetBounds(ArcStart2, ArcStart2); - - SurfaceVec[2] = new G4FPlane(tmpaxis, direction, origin); - //new G4AdvancedFace("G4FPlane", origin, direction, tmpaxis, CVec2, 1); - SurfaceVec[2]->SetBoundaries(&CVec2); - nb_of_surfaces = 3; active=1; @@ -113,7 +59,7 @@ G4BREPSolidCone::G4BREPSolidCone(const G4String& name, constructorParams.radius = radius; constructorParams.large_radius = large_radius; - Initialize(); + InitializeCone(); } G4BREPSolidCone::G4BREPSolidCone( __void__& a ) @@ -125,14 +71,118 @@ G4BREPSolidCone::~G4BREPSolidCone() { } +G4BREPSolidCone::G4BREPSolidCone(const G4BREPSolidCone& rhs) + : G4BREPSolid(rhs) +{ + constructorParams.origin = rhs.constructorParams.origin; + constructorParams.axis = rhs.constructorParams.axis; + constructorParams.direction = rhs.constructorParams.direction; + constructorParams.length = rhs.constructorParams.length; + constructorParams.radius = rhs.constructorParams.radius; + constructorParams.large_radius = rhs.constructorParams.large_radius; + + InitializeCone(); +} + +G4BREPSolidCone& G4BREPSolidCone::operator = (const G4BREPSolidCone& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4BREPSolid::operator=(rhs); + + // Copy data + // + constructorParams.origin = rhs.constructorParams.origin; + constructorParams.axis = rhs.constructorParams.axis; + constructorParams.direction = rhs.constructorParams.direction; + constructorParams.length = rhs.constructorParams.length; + constructorParams.radius = rhs.constructorParams.radius; + constructorParams.large_radius = rhs.constructorParams.large_radius; + + InitializeCone(); + + return *this; +} + +void G4BREPSolidCone::InitializeCone() +{ + + SurfaceVec = new G4Surface*[3]; + G4Point3D ArcStart1 = G4Point3D(constructorParams.origin + + (constructorParams.radius + * constructorParams.direction)); + G4Vector3D tmpaxis(constructorParams.axis); + G4Vector3D tmporigin(constructorParams.origin); + G4Point3D tmppoint; + + tmppoint= G4Point3D(constructorParams.origin) + + (constructorParams.length*tmpaxis); + G4Point3D origin2(tmppoint.x(), tmppoint.y(), tmppoint.z()); + + tmppoint= origin2 + (constructorParams.large_radius*tmpaxis); + G4Point3D ArcStart2(tmppoint.x(), tmppoint.y(), tmppoint.z()); + + G4Ray::Vcross(tmpaxis, constructorParams.axis, constructorParams.direction); + G4ThreeVector axis2(tmpaxis.x(),tmpaxis.y(), tmpaxis.z()); + + G4CurveVector CVec; + G4CircularCurve* tmp; + + tmp = new G4CircularCurve(); + tmp->Init(G4Axis2Placement3D(constructorParams.direction, + axis2, constructorParams.origin), + constructorParams.large_radius); + tmp->SetBounds(ArcStart1, ArcStart1); + CVec.push_back(tmp); + + tmp = new G4CircularCurve(); + tmp->Init(G4Axis2Placement3D(constructorParams.direction, axis2, origin2), + constructorParams.large_radius); + tmp->SetBounds(ArcStart2, ArcStart2); + CVec.push_back(tmp); + + SurfaceVec[0] = new G4FConicalSurface(tmporigin, constructorParams.axis, + constructorParams.length, + constructorParams.radius, + constructorParams.large_radius); + SurfaceVec[0]->SetBoundaries(&CVec); + + // Create end planes & boundaries for cone solid + G4CurveVector CVec2; + tmp = new G4CircularCurve(); + tmp->Init(G4Axis2Placement3D(constructorParams.direction, + axis2, constructorParams.origin), + constructorParams.radius); + tmp->SetBounds(ArcStart1, ArcStart1); + CVec2.push_back(tmp); + + SurfaceVec[1] = new G4FPlane(tmpaxis, constructorParams.direction, origin2); + SurfaceVec[1]->SetBoundaries(&CVec2); + + CVec2[0] = tmp = new G4CircularCurve(); + tmp->Init(G4Axis2Placement3D(constructorParams.direction, axis2, origin2), + constructorParams.large_radius); + tmp->SetBounds(ArcStart2, ArcStart2); + + SurfaceVec[2] = new G4FPlane(tmpaxis, constructorParams.direction, + constructorParams.origin); + SurfaceVec[2]->SetBoundaries(&CVec2); + + Initialize(); +} + void G4BREPSolidCone::Initialize() { // Calc bounding box for solids and surfaces - // Convert concave planes to convex + // Convert concave planes to convex + // ShortestDistance=1000000; CheckSurfaceNormals(); - if(!Box || !AxisBox) - IsConvex(); + if(!Box || !AxisBox) { IsConvex(); } CalcBBoxes(); } @@ -216,9 +266,15 @@ G4double G4BREPSolidCone::DistanceToOut(const G4ThreeVector& Pt) const return dist1; } -// Streams solid contents to output stream. +G4VSolid* G4BREPSolidCone::Clone() const +{ + return new G4BREPSolidCone(*this); +} + std::ostream& G4BREPSolidCone::StreamInfo(std::ostream& os) const { + // Streams solid contents to output stream. + G4BREPSolid::StreamInfo( os ) << "\n origin: " << constructorParams.origin << "\n axis: " << constructorParams.axis diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc b/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc index 4690f6f94b..f778413a55 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BREPSolidCylinder.cc,v 1.11 2006/06/29 18:41:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidCylinder.cc,v 1.13 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -42,51 +42,10 @@ G4BREPSolidCylinder::G4BREPSolidCylinder(const G4String& name, const G4ThreeVector& origin, const G4ThreeVector& axis, const G4ThreeVector& direction, - G4double radius, - G4double length) + G4double radius, + G4double length) : G4BREPSolid(name) { - SurfaceVec = new G4Surface*[3]; - G4CurveVector cv; - G4CircularCurve* tmp; - - - - // Creation of the cylindrical surface - SurfaceVec[0] = new G4FCylindricalSurface(origin, axis, radius , length); - //SurfaceVec[0]->SetBoundaries(&cv); - //cv.clear(); - - - // Creation of the first circular surface, which origin is origin - G4Point3D ArcStart1 = G4Point3D( origin + ( radius*direction ) ); - G4Vector3D axis1 = G4Vector3D( axis.cross( direction ) ); - - tmp = new G4CircularCurve; - tmp->Init( G4Axis2Placement3D(direction, axis1, origin), radius ); - tmp->SetBounds(ArcStart1, ArcStart1); - cv.push_back(tmp); - - SurfaceVec[1] = new G4FPlane(direction, axis1, origin); - SurfaceVec[1]->SetBoundaries(&cv); - cv.clear(); - - - // Creation of the second circular surface - G4Point3D origin2 = G4Point3D( origin + ( length*axis ) ); - G4Point3D ArcStart2 = origin2 + G4Point3D( radius*direction ); - G4Vector3D axis2 = axis1; - - tmp = new G4CircularCurve; - tmp->Init( G4Axis2Placement3D(direction, axis2, origin2), radius); - tmp->SetBounds(ArcStart2, ArcStart2); - cv.push_back(tmp); - - SurfaceVec[2] = new G4FPlane(direction, axis2, origin2); - SurfaceVec[2]->SetBoundaries(&cv); - cv.clear(); - - nb_of_surfaces = 3; active=1; @@ -97,7 +56,7 @@ G4BREPSolidCylinder::G4BREPSolidCylinder(const G4String& name, constructorParams.length = length; constructorParams.radius = radius; - Initialize(); + InitializeCylinder(); } G4BREPSolidCylinder::G4BREPSolidCylinder( __void__& a ) @@ -109,9 +68,107 @@ G4BREPSolidCylinder::~G4BREPSolidCylinder() { } -// Streams solid contents to output stream. +G4BREPSolidCylinder::G4BREPSolidCylinder(const G4BREPSolidCylinder& rhs) + : G4BREPSolid(rhs) +{ + constructorParams.origin = rhs.constructorParams.origin; + constructorParams.axis = rhs.constructorParams.axis; + constructorParams.direction = rhs.constructorParams.direction; + constructorParams.length = rhs.constructorParams.length; + constructorParams.radius = rhs.constructorParams.radius; + + InitializeCylinder(); +} + +G4BREPSolidCylinder& +G4BREPSolidCylinder::operator = (const G4BREPSolidCylinder& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4BREPSolid::operator=(rhs); + + // Copy data + // + constructorParams.origin = rhs.constructorParams.origin; + constructorParams.axis = rhs.constructorParams.axis; + constructorParams.direction = rhs.constructorParams.direction; + constructorParams.length = rhs.constructorParams.length; + constructorParams.radius = rhs.constructorParams.radius; + + InitializeCylinder(); + + return *this; +} + +void G4BREPSolidCylinder::InitializeCylinder() +{ + SurfaceVec = new G4Surface*[3]; + G4CurveVector cv; + G4CircularCurve* tmp; + + // Creation of the cylindrical surface + SurfaceVec[0] = new G4FCylindricalSurface(constructorParams.origin, + constructorParams.axis, + constructorParams.radius, + constructorParams.length); + //SurfaceVec[0]->SetBoundaries(&cv); + //cv.clear(); + + // Creation of the first circular surface, which origin is origin + G4Point3D ArcStart1 = G4Point3D( constructorParams.origin + + ( constructorParams.radius + * constructorParams.direction ) ); + G4Vector3D axis1 = G4Vector3D( constructorParams.axis.cross( constructorParams.direction ) ); + + tmp = new G4CircularCurve; + tmp->Init( G4Axis2Placement3D(constructorParams.direction, axis1, + constructorParams.origin), + constructorParams.radius ); + tmp->SetBounds(ArcStart1, ArcStart1); + cv.push_back(tmp); + + SurfaceVec[1] = new G4FPlane(constructorParams.direction, axis1, + constructorParams.origin); + SurfaceVec[1]->SetBoundaries(&cv); + cv.clear(); + + + // Creation of the second circular surface + G4Point3D origin2 = G4Point3D( constructorParams.origin + + ( constructorParams.length + * constructorParams.axis ) ); + G4Point3D ArcStart2 = origin2 + + G4Point3D( constructorParams.radius + * constructorParams.direction ); + G4Vector3D axis2 = axis1; + + tmp = new G4CircularCurve; + tmp->Init( G4Axis2Placement3D(constructorParams.direction, + axis2, origin2), + constructorParams.radius); + tmp->SetBounds(ArcStart2, ArcStart2); + cv.push_back(tmp); + + SurfaceVec[2] = new G4FPlane(constructorParams.direction, axis2, origin2); + SurfaceVec[2]->SetBoundaries(&cv); + cv.clear(); + + Initialize(); +} + +G4VSolid* G4BREPSolidCylinder::Clone() const +{ + return new G4BREPSolidCylinder(*this); +} + std::ostream& G4BREPSolidCylinder::StreamInfo(std::ostream& os) const { + // Streams solid contents to output stream. + G4BREPSolid::StreamInfo( os ) << "\n origin: " << constructorParams.origin << "\n axis: " << constructorParams.axis diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc index dfb61548cf..397be2a6cc 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidOpenPCone.cc,v 1.11 2006/06/29 18:41:21 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidOpenPCone.cc,v 1.15 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -39,49 +39,162 @@ #include "G4Tubs.hh" #include "G4VGraphicsScene.hh" -G4BREPSolidOpenPCone::G4BREPSolidOpenPCone - (const G4String& name, - G4double start_angle, - G4double opening_angle, - G4int num_z_planes, // sections, - G4double z_start, - G4double z_values[], - G4double RMIN[], - G4double RMAX[] - ) +G4BREPSolidOpenPCone:: +G4BREPSolidOpenPCone ( const G4String& name, + G4double sangle, + G4double oangle, + G4int nplanes, // sections, + G4double zstart, + G4double zvalues[], + G4double radmin[], + G4double radmax[] ) : G4IntersectionSolid ( name, new G4BREPSolidPCone( name, - start_angle, opening_angle, - num_z_planes, z_start, z_values, - RMIN, RMAX - ), + sangle, oangle, + nplanes, zstart, zvalues, + radmin, radmax ), new G4Tubs( "IntersectionTubs", - 0., 1., 1., start_angle, opening_angle - ) - ) - //, constructorParams.z_values( 0 ), constructorParams.RMIN( 0 ), constructorParams.RMAX( 0 ) + 0., 1., 1., sangle, oangle ) ) { + // Save local data + // + constructorParams.start_angle = sangle; + constructorParams.opening_angle = oangle; + constructorParams.num_z_planes = nplanes; + constructorParams.z_start = zstart; + constructorParams.z_values = 0; + constructorParams.RMIN = 0; + constructorParams.RMAX = 0; + if ( nplanes>0 ) + { + constructorParams.z_values = new G4double[nplanes]; + constructorParams.RMIN = new G4double[nplanes]; + constructorParams.RMAX = new G4double[nplanes]; + for ( G4int i = 0; i < nplanes; ++i ) + { + constructorParams.z_values[i] = zvalues[i]; + constructorParams.RMIN[i] = radmin[i]; + constructorParams.RMAX[i] = radmax[i]; + } + } -// compute max radius - - G4double MaxRMAX = 0; - for ( int i = 0; i < num_z_planes; i++ ) - if ( RMAX[i] > MaxRMAX ) MaxRMAX = RMAX[i]; - - G4double length = z_values[num_z_planes-1] - z_values[0]; - - ((G4Tubs*)fPtrSolidB)->SetOuterRadius ( MaxRMAX ); - ((G4Tubs*)fPtrSolidB)->SetZHalfLength ( length ); - + // compute max radius + // + InitializeOPCone(); } G4BREPSolidOpenPCone::G4BREPSolidOpenPCone( __void__& a ) : G4IntersectionSolid(a) { + constructorParams.start_angle = 0.; + constructorParams.opening_angle = 0.; + constructorParams.num_z_planes = 0; + constructorParams.z_start = 0.; + constructorParams.z_values = 0; + constructorParams.RMIN = 0; + constructorParams.RMAX = 0; } G4BREPSolidOpenPCone::~G4BREPSolidOpenPCone() { + if( constructorParams.num_z_planes > 0 ) + { + delete [] constructorParams.z_values; + delete [] constructorParams.RMIN; + delete [] constructorParams.RMAX; + } +} + +G4BREPSolidOpenPCone::G4BREPSolidOpenPCone(const G4BREPSolidOpenPCone& rhs) + : G4IntersectionSolid ( rhs.GetName(), + new G4BREPSolidPCone( rhs.GetName(), rhs.constructorParams.start_angle, + rhs.constructorParams.opening_angle, + rhs.constructorParams.num_z_planes, + rhs.constructorParams.z_start, + rhs.constructorParams.z_values, + rhs.constructorParams.RMIN, + rhs.constructorParams.RMAX ), + new G4Tubs( "IntersectionTubs", 0., 1., 1., + rhs.constructorParams.start_angle, + rhs.constructorParams.opening_angle ) ) + +{ + SetName(rhs.GetName()); + constructorParams.start_angle = rhs.constructorParams.start_angle; + constructorParams.opening_angle = rhs.constructorParams.opening_angle; + constructorParams.num_z_planes = rhs.constructorParams.num_z_planes; + constructorParams.z_start = rhs.constructorParams.z_start; + constructorParams.z_values = 0; + constructorParams.RMIN = 0; + constructorParams.RMAX = 0; + G4int nplanes = constructorParams.num_z_planes; + if( nplanes > 0 ) + { + constructorParams.z_values = new G4double[nplanes]; + constructorParams.RMIN = new G4double[nplanes]; + constructorParams.RMAX = new G4double[nplanes]; + for ( G4int i = 0; i < nplanes; ++i ) + { + constructorParams.z_values[i] = rhs.constructorParams.z_values[i]; + constructorParams.RMIN[i] = rhs.constructorParams.RMIN[i]; + constructorParams.RMAX[i] = rhs.constructorParams.RMAX[i]; + } + } + InitializeOPCone(); +} + +G4BREPSolidOpenPCone& +G4BREPSolidOpenPCone::operator = (const G4BREPSolidOpenPCone& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4IntersectionSolid::operator=(rhs); + + // Copy data + // + SetName(rhs.GetName()); + constructorParams.start_angle = rhs.constructorParams.start_angle; + constructorParams.opening_angle = rhs.constructorParams.opening_angle; + constructorParams.num_z_planes = rhs.constructorParams.num_z_planes; + constructorParams.z_start = rhs.constructorParams.z_start; + G4int nplanes = constructorParams.num_z_planes; + if( nplanes > 0 ) + { + delete [] constructorParams.z_values; + delete [] constructorParams.RMIN; + delete [] constructorParams.RMAX; + constructorParams.z_values = new G4double[nplanes]; + constructorParams.RMIN = new G4double[nplanes]; + constructorParams.RMAX = new G4double[nplanes]; + for( G4int idx = 0; idx < nplanes; ++idx ) + { + constructorParams.z_values[idx] = rhs.constructorParams.z_values[idx]; + constructorParams.RMIN[idx] = rhs.constructorParams.RMIN[idx]; + constructorParams.RMAX[idx] = rhs.constructorParams.RMAX[idx]; + } + } + InitializeOPCone(); + + return *this; +} + +void G4BREPSolidOpenPCone::InitializeOPCone() +{ + G4double MaxRMAX = 0; + for ( G4int i = 0; i < constructorParams.num_z_planes; ++i ) + if ( constructorParams.RMAX[i] > MaxRMAX ) + MaxRMAX = constructorParams.RMAX[i]; + + G4double length = + constructorParams.z_values[constructorParams.num_z_planes-1] + - constructorParams.z_values[0]; + + ((G4Tubs*)fPtrSolidB)->SetOuterRadius ( MaxRMAX ); + ((G4Tubs*)fPtrSolidB)->SetZHalfLength ( length ); } void G4BREPSolidOpenPCone::DescribeYourselfTo (G4VGraphicsScene& scene) const @@ -89,9 +202,15 @@ void G4BREPSolidOpenPCone::DescribeYourselfTo (G4VGraphicsScene& scene) const scene.AddSolid ( *this ); } -// Streams solid contents to output stream. +G4VSolid* G4BREPSolidOpenPCone::Clone() const +{ + return new G4BREPSolidOpenPCone(*this); +} + std::ostream& G4BREPSolidOpenPCone::StreamInfo(std::ostream& os) const { + // Streams solid contents to output stream. + G4IntersectionSolid::StreamInfo( os ); return os; diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc index 05f3821dc6..7a951978de 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BREPSolidPCone.cc,v 1.38 2006/06/29 18:41:24 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidPCone.cc,v 1.43 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -64,8 +64,133 @@ G4BREPSolidPCone::G4BREPSolidPCone(const G4String& name, G4double RMAX[] ) : G4BREPSolid(name) { - G4int sections= num_z_planes-1; + // Save contructor parameters + // + constructorParams.start_angle = start_angle; + constructorParams.opening_angle = opening_angle; + constructorParams.num_z_planes = num_z_planes; + constructorParams.z_start = z_start; + constructorParams.z_values = 0; + constructorParams.RMIN = 0; + constructorParams.RMAX = 0; + + if( num_z_planes > 0 ) + { + constructorParams.z_values = new G4double[num_z_planes]; + constructorParams.RMIN = new G4double[num_z_planes]; + constructorParams.RMAX = new G4double[num_z_planes]; + for( G4int idx = 0; idx < num_z_planes; ++idx ) + { + constructorParams.z_values[idx] = z_values[idx]; + constructorParams.RMIN[idx] = RMIN[idx]; + constructorParams.RMAX[idx] = RMAX[idx]; + } + } + + active=1; + InitializePCone(); +} + +G4BREPSolidPCone::G4BREPSolidPCone( __void__& a ) + : G4BREPSolid(a) +{ + constructorParams.start_angle = 0.; + constructorParams.opening_angle = 0.; + constructorParams.num_z_planes = 0; + constructorParams.z_start = 0.; + constructorParams.z_values = 0; + constructorParams.RMIN = 0; + constructorParams.RMAX = 0; +} + +G4BREPSolidPCone::~G4BREPSolidPCone() +{ + if( constructorParams.num_z_planes > 0 ) + { + delete [] constructorParams.z_values; + delete [] constructorParams.RMIN; + delete [] constructorParams.RMAX; + } +} + +G4BREPSolidPCone::G4BREPSolidPCone(const G4BREPSolidPCone& rhs) + : G4BREPSolid(rhs) +{ + constructorParams.start_angle = rhs.constructorParams.start_angle; + constructorParams.opening_angle = rhs.constructorParams.opening_angle; + constructorParams.num_z_planes = rhs.constructorParams.num_z_planes; + constructorParams.z_start = rhs.constructorParams.z_start; + constructorParams.z_values = 0; + constructorParams.RMIN = 0; + constructorParams.RMAX = 0; + G4int nplanes = constructorParams.num_z_planes; + if( nplanes > 0 ) + { + constructorParams.z_values = new G4double[nplanes]; + constructorParams.RMIN = new G4double[nplanes]; + constructorParams.RMAX = new G4double[nplanes]; + for( G4int idx = 0; idx < nplanes; ++idx ) + { + constructorParams.z_values[idx] = rhs.constructorParams.z_values[idx]; + constructorParams.RMIN[idx] = rhs.constructorParams.RMIN[idx]; + constructorParams.RMAX[idx] = rhs.constructorParams.RMAX[idx]; + } + } + + InitializePCone(); +} + +G4BREPSolidPCone& +G4BREPSolidPCone::operator = (const G4BREPSolidPCone& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4BREPSolid::operator=(rhs); + + // Copy data + // + constructorParams.start_angle = rhs.constructorParams.start_angle; + constructorParams.opening_angle = rhs.constructorParams.opening_angle; + constructorParams.num_z_planes = rhs.constructorParams.num_z_planes; + constructorParams.z_start = rhs.constructorParams.z_start; + G4int nplanes = constructorParams.num_z_planes; + if( nplanes > 0 ) + { + delete [] constructorParams.z_values; + delete [] constructorParams.RMIN; + delete [] constructorParams.RMAX; + constructorParams.z_values = new G4double[nplanes]; + constructorParams.RMIN = new G4double[nplanes]; + constructorParams.RMAX = new G4double[nplanes]; + for( G4int idx = 0; idx < nplanes; ++idx ) + { + constructorParams.z_values[idx] = rhs.constructorParams.z_values[idx]; + constructorParams.RMIN[idx] = rhs.constructorParams.RMIN[idx]; + constructorParams.RMAX[idx] = rhs.constructorParams.RMAX[idx]; + } + } + + InitializePCone(); + + return *this; +} + +void G4BREPSolidPCone::InitializePCone() +{ + G4double opening_angle = constructorParams.opening_angle; + G4int num_z_planes = constructorParams.num_z_planes; + G4double z_start = constructorParams.z_start; + G4double* z_values = constructorParams.z_values; + G4double* RMIN = constructorParams.RMIN; + G4double* RMAX = constructorParams.RMAX; + + G4int sections= constructorParams.num_z_planes-1; nb_of_surfaces = 2*sections+2; + SurfaceVec = new G4Surface*[nb_of_surfaces]; G4ThreeVector Axis(0,0,1); G4ThreeVector Origin(0,0,z_start); @@ -179,7 +304,7 @@ G4BREPSolidPCone::G4BREPSolidPCone(const G4String& name, << "] & RMAX[" << a+1 << "] or RMAX[" << a << "] & RMIN[" << a+1 << "] " << "generate an invalid configuration for solid: " - << name.c_str() << "!" << G4endl; + << GetName().c_str() << "!" << G4endl; G4String message = os.str(); G4Exception("G4BREPSolidPCone::G4BREPSolidPCone()", "InvalidSetup", FatalException, message ); @@ -531,48 +656,9 @@ G4BREPSolidPCone::G4BREPSolidPCone(const G4String& name, nb_of_surfaces--; } - // Save contructor parameters - // - constructorParams.start_angle = start_angle; - constructorParams.opening_angle = opening_angle; - constructorParams.num_z_planes = num_z_planes; - constructorParams.z_start = z_start; - constructorParams.z_values = 0; - constructorParams.RMIN = 0; - constructorParams.RMAX = 0; - - if( num_z_planes > 0 ) - { - constructorParams.z_values = new G4double[num_z_planes]; - constructorParams.RMIN = new G4double[num_z_planes]; - constructorParams.RMAX = new G4double[num_z_planes]; - for( G4int idx = 0; idx < num_z_planes; idx++ ) - { - constructorParams.z_values[idx] = z_values[idx]; - constructorParams.RMIN[idx] = RMIN[idx]; - constructorParams.RMAX[idx] = RMAX[idx]; - } - } - - active=1; Initialize(); } -G4BREPSolidPCone::G4BREPSolidPCone( __void__& a ) - : G4BREPSolid(a) -{ -} - -G4BREPSolidPCone::~G4BREPSolidPCone() -{ - if( constructorParams.num_z_planes > 0 ) - { - delete [] constructorParams.z_values; - delete [] constructorParams.RMIN; - delete [] constructorParams.RMAX; - } -} - void G4BREPSolidPCone::Initialize() { // Computes the bounding box for solids and surfaces @@ -956,6 +1042,11 @@ G4double G4BREPSolidPCone::DistanceToOut(const G4ThreeVector& Pt) const return std::fabs(Dist); } +G4VSolid* G4BREPSolidPCone::Clone() const +{ + return new G4BREPSolidPCone(*this); +} + std::ostream& G4BREPSolidPCone::StreamInfo(std::ostream& os) const { // Streams solid contents to output stream. diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc b/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc index 8bfb150d83..2f6e7106f3 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BREPSolidPolyhedra.cc,v 1.35 2008/01/22 16:04:58 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidPolyhedra.cc,v 1.40 2010/11/01 16:43:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -77,8 +77,161 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name, G4double RMIN[], G4double RMAX[] ) : G4BREPSolid(name) +{ + // Store the original parameters, to be used in visualisation + // Note radii are not scaled because this BREP uses the radius of the + // circumscribed circle and also graphics_reps/G4Polyhedron uses the + // radius of the circumscribed circle. + + // Save contructor parameters + // + constructorParams.start_angle = start_angle; + constructorParams.opening_angle = opening_angle; + constructorParams.sides = sides; + constructorParams.num_z_planes = num_z_planes; + constructorParams.z_start = z_start; + constructorParams.z_values = 0; + constructorParams.RMIN = 0; + constructorParams.RMAX = 0; + + if( num_z_planes > 0 ) + { + constructorParams.z_values = new G4double[num_z_planes]; + constructorParams.RMIN = new G4double[num_z_planes]; + constructorParams.RMAX = new G4double[num_z_planes]; + for( G4int idx = 0; idx < num_z_planes; ++idx ) + { + constructorParams.z_values[idx] = z_values[idx]; + constructorParams.RMIN[idx] = RMIN[idx]; + constructorParams.RMAX[idx] = RMAX[idx]; + } + } + + // z_values[0] should be equal to z_start, for consistency + // with what the constructor does. + // Otherwise the z_values that are shifted by (z_values[0] - z_start) , + // because z_values are only used in the form + // length = z_values[d+1] - z_values[d]; // JA Apr 2, 97 + + if( z_values[0] != z_start ) + { + G4cerr << "ERROR - G4BREPSolidPolyhedra::G4BREPSolidPolyhedra()" << G4endl + << " Wrong solid parameters: " + << " z_values[0]= " << z_values[0] << " is not equal to " + << " z_start= " << z_start << "." << G4endl; + G4Exception( "G4BREPSolidPolyhedra::G4BREPSolidPolyhedra()", + "Notification", JustWarning, + "Construction Error. z_values[0] must be equal to z_start!" ); + if( num_z_planes <= 0 ) { constructorParams.z_values = new G4double[1]; } + constructorParams.z_values[0]= z_start; + } + + active=1; + InitializePolyhedra(); +} + +G4BREPSolidPolyhedra::G4BREPSolidPolyhedra( __void__& a ) + : G4BREPSolid(a) { - G4int sections = num_z_planes - 1; + constructorParams.start_angle = 0.; + constructorParams.opening_angle = 0.; + constructorParams.sides = 0; + constructorParams.num_z_planes = 0; + constructorParams.z_start = 0.; + constructorParams.z_values = 0; + constructorParams.RMIN = 0; + constructorParams.RMAX = 0; +} + +G4BREPSolidPolyhedra::~G4BREPSolidPolyhedra() +{ + if( constructorParams.num_z_planes > 0 ) + { + delete [] constructorParams.z_values; + delete [] constructorParams.RMIN; + delete [] constructorParams.RMAX; + } +} + +G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4BREPSolidPolyhedra& rhs) + : G4BREPSolid(rhs) +{ + constructorParams.start_angle = rhs.constructorParams.start_angle; + constructorParams.opening_angle = rhs.constructorParams.opening_angle; + constructorParams.sides = rhs.constructorParams.sides; + constructorParams.num_z_planes = rhs.constructorParams.num_z_planes; + constructorParams.z_start = rhs.constructorParams.z_start; + constructorParams.z_values = 0; + constructorParams.RMIN = 0; + constructorParams.RMAX = 0; + G4int num_z_planes = constructorParams.num_z_planes; + if( num_z_planes > 0 ) + { + constructorParams.z_values = new G4double[num_z_planes]; + constructorParams.RMIN = new G4double[num_z_planes]; + constructorParams.RMAX = new G4double[num_z_planes]; + for( G4int idx = 0; idx < num_z_planes; ++idx ) + { + constructorParams.z_values[idx] = rhs.constructorParams.z_values[idx]; + constructorParams.RMIN[idx] = rhs.constructorParams.RMIN[idx]; + constructorParams.RMAX[idx] = rhs.constructorParams.RMAX[idx]; + } + } + + InitializePolyhedra(); +} + +G4BREPSolidPolyhedra& +G4BREPSolidPolyhedra::operator = (const G4BREPSolidPolyhedra& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4BREPSolid::operator=(rhs); + + // Copy data + // + constructorParams.start_angle = rhs.constructorParams.start_angle; + constructorParams.opening_angle = rhs.constructorParams.opening_angle; + constructorParams.sides = rhs.constructorParams.sides; + constructorParams.num_z_planes = rhs.constructorParams.num_z_planes; + constructorParams.z_start = rhs.constructorParams.z_start; + G4int num_z_planes = constructorParams.num_z_planes; + if( num_z_planes > 0 ) + { + delete [] constructorParams.z_values; + delete [] constructorParams.RMIN; + delete [] constructorParams.RMAX; + constructorParams.z_values = new G4double[num_z_planes]; + constructorParams.RMIN = new G4double[num_z_planes]; + constructorParams.RMAX = new G4double[num_z_planes]; + for( G4int idx = 0; idx < num_z_planes; ++idx ) + { + constructorParams.z_values[idx] = rhs.constructorParams.z_values[idx]; + constructorParams.RMIN[idx] = rhs.constructorParams.RMIN[idx]; + constructorParams.RMAX[idx] = rhs.constructorParams.RMAX[idx]; + } + } + + InitializePolyhedra(); + + return *this; +} + +void G4BREPSolidPolyhedra::InitializePolyhedra() +{ + G4double start_angle = constructorParams.start_angle; + G4double opening_angle = constructorParams.opening_angle; + G4int sides = constructorParams.sides; + G4int num_z_planes = constructorParams.num_z_planes; + G4double z_start = constructorParams.z_start; + G4double* z_values = constructorParams.z_values; + G4double* RMIN = constructorParams.RMIN; + G4double* RMAX = constructorParams.RMAX; + G4int sections = num_z_planes - 1; if( opening_angle >= 2*pi-perMillion ) { @@ -89,7 +242,6 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name, nb_of_surfaces = 2*(sections * sides) + 4; } - //SurfaceVec = new G4Surface*[nb_of_surfaces]; G4int MaxNbOfSurfaces = nb_of_surfaces; G4Surface** MaxSurfaceVec = new G4Surface*[MaxNbOfSurfaces]; @@ -407,7 +559,7 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name, s << G4endl << "The values of RMIN[" << a << "] & RMAX[" << a+1 << "] or RMAX[" << a << "] & RMIN[" << a+1 << "] " << "generate an invalid configuration of solid: " - << name.c_str() << "!" << G4endl << std::ends; + << GetName().c_str() << "!" << G4endl << std::ends; G4String message = s.str(); G4Exception( "G4BREPSolidPolyhedra::G4BREPSolidPolyhedra()", "InvalidSetup", FatalException, message ); @@ -758,71 +910,8 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name, // Clean up the temporary vector of surfaces // delete [] MaxSurfaceVec; - - // Store the original parameters, to be used in visualisation - // Note radii are not scaled because this BREP uses the radius of the - // circumscribed circle and also graphics_reps/G4Polyhedron uses the - // radius of the circumscribed circle. - - // Save contructor parameters - // - constructorParams.start_angle = start_angle; - constructorParams.opening_angle = opening_angle; - constructorParams.sides = sides; - constructorParams.num_z_planes = num_z_planes; - constructorParams.z_start = z_start; - constructorParams.z_values = 0; - constructorParams.RMIN = 0; - constructorParams.RMAX = 0; - - if( num_z_planes > 0 ) - { - constructorParams.z_values = new G4double[num_z_planes]; - constructorParams.RMIN = new G4double[num_z_planes]; - constructorParams.RMAX = new G4double[num_z_planes]; - for( G4int idx = 0; idx < num_z_planes; idx++ ) - { - constructorParams.z_values[idx] = z_values[idx]; - constructorParams.RMIN[idx] = RMIN[idx]; - constructorParams.RMAX[idx] = RMAX[idx]; - } - } - // z_values[0] should be equal to z_start, for consistency - // with what the constructor does. - // Otherwise the z_values that are shifted by (z_values[0] - z_start) , - // because z_values are only used in the form - // length = z_values[d+1] - z_values[d]; // JA Apr 2, 97 - - if( z_values[0] != z_start ) - { - G4cerr << "ERROR - G4BREPSolidPolyhedra::G4BREPSolidPolyhedra()" << G4endl - << " Wrong solid parameters: " - << " z_values[0]= " << z_values[0] << " is not equal to " - << " z_start= " << z_start << "." << G4endl; - G4Exception( "G4BREPSolidPolyhedra::G4BREPSolidPolyhedra()", - "Notification", JustWarning, - "Construction Error. z_values[0] must be equal to z_start!" ); - constructorParams.z_values[0]= z_start; - } - - active=1; - Initialize(); -} - -G4BREPSolidPolyhedra::G4BREPSolidPolyhedra( __void__& a ) - : G4BREPSolid(a) -{ -} - -G4BREPSolidPolyhedra::~G4BREPSolidPolyhedra() -{ - if( constructorParams.num_z_planes > 0 ) - { - delete [] constructorParams.z_values; - delete [] constructorParams.RMIN; - delete [] constructorParams.RMAX; - } + Initialize(); } void G4BREPSolidPolyhedra::Initialize() @@ -1259,9 +1348,13 @@ G4double G4BREPSolidPolyhedra::DistanceToOut(const G4ThreeVector& Pt) const } } -std::ostream& G4BREPSolidPolyhedra::StreamInfo(std::ostream& os) const -{ +G4VSolid* G4BREPSolidPolyhedra::Clone() const +{ + return new G4BREPSolidPolyhedra(*this); +} +std::ostream& G4BREPSolidPolyhedra::StreamInfo(std::ostream& os) const +{ // Streams solid contents to output stream. G4BREPSolid::StreamInfo( os ) diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc b/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc index 84ad49e54c..c120812826 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidSphere.cc,v 1.11 2006/06/29 18:41:32 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidSphere.cc,v 1.14 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -43,22 +43,14 @@ G4BREPSolidSphere::G4BREPSolidSphere(const G4String& name, const G4Vector3D& zhat, G4double radius) : G4BREPSolid(name) -{ - SurfaceVec = new G4Surface*[1]; - G4double ph1 = 0; - G4double ph2 = 2*pi; - G4double th1 = 0; - G4double th2 = pi; - SurfaceVec[0] = new G4SphericalSurface(origin, xhat, zhat, radius, ph1, ph2, th1, th2); - nb_of_surfaces = 1; - +{ constructorParams.origin = origin; - constructorParams.xhat = xhat; - constructorParams.zhat = zhat; - constructorParams.radius = radius; + constructorParams.xhat = xhat; + constructorParams.zhat = zhat; + constructorParams.radius = radius; active=1; - Initialize(); + InitializeSphere(); } G4BREPSolidSphere::G4BREPSolidSphere( __void__& a ) @@ -70,6 +62,56 @@ G4BREPSolidSphere::~G4BREPSolidSphere() { } +G4BREPSolidSphere::G4BREPSolidSphere(const G4BREPSolidSphere& rhs) + : G4BREPSolid(rhs) +{ + constructorParams.origin = rhs.constructorParams.origin; + constructorParams.xhat = rhs.constructorParams.xhat; + constructorParams.zhat = rhs.constructorParams.zhat; + constructorParams.radius = rhs.constructorParams.radius; + + InitializeSphere(); +} + +G4BREPSolidSphere& +G4BREPSolidSphere::operator = (const G4BREPSolidSphere& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4BREPSolid::operator=(rhs); + + // Copy data + // + constructorParams.origin = rhs.constructorParams.origin; + constructorParams.xhat = rhs.constructorParams.xhat; + constructorParams.zhat = rhs.constructorParams.zhat; + constructorParams.radius = rhs.constructorParams.radius; + + InitializeSphere(); + + return *this; +} + +void G4BREPSolidSphere::InitializeSphere() +{ + SurfaceVec = new G4Surface*[1]; + G4double ph1 = 0; + G4double ph2 = 2*pi; + G4double th1 = 0; + G4double th2 = pi; + SurfaceVec[0] = new G4SphericalSurface(constructorParams.origin, + constructorParams.xhat, + constructorParams.zhat, + constructorParams.radius, + ph1, ph2, th1, th2); + nb_of_surfaces = 1; + Initialize(); +} + EInside G4BREPSolidSphere::Inside(register const G4ThreeVector& Pt) const { G4double Dist = SurfaceVec[0]->HowNear(Pt); @@ -127,7 +169,7 @@ G4double G4BREPSolidSphere::DistanceToOut(register const G4ThreeVector& Pt, { if(calcNorm) { - *validNorm = true; + if(validNorm) *validNorm = true; *n = SurfaceNormal(Pt); } @@ -143,9 +185,15 @@ G4double G4BREPSolidSphere::DistanceToOut(const G4ThreeVector& Pt) const return std::fabs(SurfaceVec[0]->HowNear(Pt)); } -// Streams solid contents to output stream. +G4VSolid* G4BREPSolidSphere::Clone() const +{ + return new G4BREPSolidSphere(*this); +} + std::ostream& G4BREPSolidSphere::StreamInfo(std::ostream& os) const { + // Streams solid contents to output stream. + G4BREPSolid::StreamInfo( os ) << "\n origin: " << constructorParams.origin << "\n xhat: " << constructorParams.xhat diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc b/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc index aecad66382..2ebc0b228c 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolidTorus.cc,v 1.9 2006/06/29 18:41:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BREPSolidTorus.cc,v 1.11 2010/10/20 09:14:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -41,15 +41,10 @@ G4BREPSolidTorus::G4BREPSolidTorus(const G4String& name, const G4ThreeVector& origin, const G4ThreeVector& axis, const G4ThreeVector& direction, - G4double MinRadius, - G4double MaxRadius) + G4double MinRadius, + G4double MaxRadius) : G4BREPSolid(name) -{ - SurfaceVec = new G4Surface*[1]; - SurfaceVec[0] = new G4ToroidalSurface( origin, axis, direction, - MinRadius, MaxRadius); - nb_of_surfaces = 1; - +{ // Save constructor parameters constructorParams.origin = origin; constructorParams.axis = axis; @@ -58,7 +53,7 @@ G4BREPSolidTorus::G4BREPSolidTorus(const G4String& name, constructorParams.MaxRadius = MaxRadius; active = 1; - Initialize(); + InitializeTorus(); } G4BREPSolidTorus::G4BREPSolidTorus( __void__& a ) @@ -70,9 +65,64 @@ G4BREPSolidTorus::~G4BREPSolidTorus() { } -// Streams solid contents to output stream. +G4BREPSolidTorus::G4BREPSolidTorus(const G4BREPSolidTorus& rhs) + : G4BREPSolid(rhs) +{ + constructorParams.origin = rhs.constructorParams.origin; + constructorParams.axis = rhs.constructorParams.axis; + constructorParams.direction = rhs.constructorParams.direction; + constructorParams.MinRadius = rhs.constructorParams.MinRadius; + constructorParams.MaxRadius = rhs.constructorParams.MaxRadius; + + InitializeTorus(); +} + +G4BREPSolidTorus& +G4BREPSolidTorus::operator = (const G4BREPSolidTorus& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4BREPSolid::operator=(rhs); + + // Copy data + // + constructorParams.origin = rhs.constructorParams.origin; + constructorParams.axis = rhs.constructorParams.axis; + constructorParams.direction = rhs.constructorParams.direction; + constructorParams.MinRadius = rhs.constructorParams.MinRadius; + constructorParams.MaxRadius = rhs.constructorParams.MaxRadius; + + InitializeTorus(); + + return *this; +} + +void G4BREPSolidTorus::InitializeTorus() +{ + SurfaceVec = new G4Surface*[1]; + SurfaceVec[0] = new G4ToroidalSurface( constructorParams.origin, + constructorParams.axis, + constructorParams.direction, + constructorParams.MinRadius, + constructorParams.MaxRadius ); + nb_of_surfaces = 1; + + Initialize(); +} + +G4VSolid* G4BREPSolidTorus::Clone() const +{ + return new G4BREPSolidTorus(*this); +} + std::ostream& G4BREPSolidTorus::StreamInfo(std::ostream& os) const { + // Streams solid contents to output stream. + G4BREPSolid::StreamInfo( os ) << "\n origin: " << constructorParams.origin << "\n axis: " << constructorParams.axis diff --git a/source/geometry/solids/BREPS/src/G4BSplineCurve.cc b/source/geometry/solids/BREPS/src/G4BSplineCurve.cc index ea67abd548..69236280af 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineCurve.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineCurve.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BSplineCurve.cc,v 1.12 2006/06/29 18:41:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BSplineCurve.cc,v 1.14 2010/09/06 16:02:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -44,8 +44,8 @@ G4BSplineCurve::G4BSplineCurve() } void G4BSplineCurve::Init(G4int degree0, G4Point3DVector* controlPointsList0, - G4doubleVector* knots0, - G4doubleVector* weightsData0) + std::vector* knots0, + std::vector* weightsData0) { degree= degree0; @@ -59,14 +59,14 @@ void G4BSplineCurve::Init(G4int degree0, G4Point3DVector* controlPointsList0, } G4int nbknots = knots0->size(); - knots = new G4doubleVector(nbknots,0.); + knots = new std::vector(nbknots,0.); for(a = 0; a < nbknots; a++) { (*knots)[a] = (*knots0)[a]; } G4int nbweights = weightsData0->size(); - weightsData = new G4doubleVector(nbweights,0.); + weightsData = new std::vector(nbweights,0.); for(a = 0; a < nbweights; a++) { (*weightsData)[a] = (*weightsData0)[a]; @@ -104,7 +104,7 @@ G4BSplineCurve::G4BSplineCurve(const G4BSplineCurve& right) G4BSplineCurve& G4BSplineCurve::operator=(const G4BSplineCurve& right) { - if (&right == this) return *this; + if (&right == this) { return *this; } delete [] controlPointsList; delete [] knots; delete [] weightsData; @@ -188,13 +188,18 @@ G4Curve* G4BSplineCurve::Project(const G4Transform3D& tr) p.setZ(0); } - G4doubleVector* newKnots= new G4doubleVector(*knots); - G4doubleVector* newWeightsData= - weightsData ? new G4doubleVector(*weightsData) : 0; + std::vector* newKnots= new std::vector(*knots); + std::vector* newWeightsData= + weightsData ? new std::vector(*weightsData) + : new std::vector(0); G4BSplineCurve* r= new G4BSplineCurve; r->Init(degree, newControlPointsList, newKnots, newWeightsData); + delete newControlPointsList; + delete newKnots; + delete newWeightsData; + if (IsBounded()) { r->SetBounds(GetPStart(), GetPEnd()); diff --git a/source/geometry/solids/BREPS/src/G4BSplineSurface.cc b/source/geometry/solids/BREPS/src/G4BSplineSurface.cc index 7c40e1fd92..6a7f8cc07a 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineSurface.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineSurface.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BSplineSurface.cc,v 1.15 2008/03/13 14:18:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BSplineSurface.cc,v 1.16 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -40,19 +40,23 @@ #include "G4BoundingBox3D.hh" G4BSplineSurface::G4BSplineSurface() + : ord(0), k_index(0), param(0.), Rational(0) { distance = kInfinity; dir=ROW; first_hit = Hit = (G4UVHit*)0; + order[0] = 0; order[1] = 0; ctl_points = (G4ControlPoints*)0; u_knots = v_knots = tmp_knots = (G4KnotVector*)0; } G4BSplineSurface::G4BSplineSurface(const char*, G4Ray&) + : dir(0), ord(0), k_index(0), param(0.), Rational(0) { distance = kInfinity; first_hit = Hit = (G4UVHit*)0; + order[0] = 0; order[1] = 0; ctl_points = (G4ControlPoints*)0; u_knots = v_knots = tmp_knots = (G4KnotVector*)0; } @@ -60,11 +64,11 @@ G4BSplineSurface::G4BSplineSurface(const char*, G4Ray&) G4BSplineSurface::G4BSplineSurface(G4int u, G4int v, G4KnotVector& u_kv, G4KnotVector& v_kv, G4ControlPoints& cp) + : dir(0), ord(0), k_index(0), param(0.), Rational(0) { first_hit = Hit = (G4UVHit*)0; - order[0] = u+1; - order[1] = v+1; + order[0] = u+1; order[1] = v+1; u_knots = new G4KnotVector(u_kv); v_knots = new G4KnotVector(v_kv); diff --git a/source/geometry/solids/BREPS/src/G4BezierSurface.cc b/source/geometry/solids/BREPS/src/G4BezierSurface.cc index 400e0db369..42f7d5b47e 100644 --- a/source/geometry/solids/BREPS/src/G4BezierSurface.cc +++ b/source/geometry/solids/BREPS/src/G4BezierSurface.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BezierSurface.cc,v 1.10 2008/03/13 14:18:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BezierSurface.cc,v 1.17 2010/11/23 15:14:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -46,15 +46,15 @@ G4double G4BezierSurface::Tolerance=0; G4int G4BezierSurface::Clips=0; G4int G4BezierSurface::Splits=0; - G4BezierSurface::G4BezierSurface() + : G4Surface(), bezier_list(0), smin(0.), smax(0.), + average_u(0.), average_v(0.), dir(0), u_knots(0), v_knots(0), + ctl_points(0), new_knots(0), ord(0), oslo_m(0), lower(0), upper(0), + u_min(0.), u_max(0.), v_min(0.), v_max(0.), old_points(0) { - oslo_m = (G4OsloMatrix*)0; - new_knots = (G4KnotVector*)0; - old_points = (G4ControlPoints*)0; - - u[0]=0; u[1]=0; - v[0]=0; v[1]=0; + order[0]=0; order[1]=0; + u[0]=0.; u[1]=0.; + v[0]=0.; v[1]=0.; } G4BezierSurface::~G4BezierSurface() @@ -79,8 +79,14 @@ G4BezierSurface::~G4BezierSurface() } G4BezierSurface::G4BezierSurface(const G4BezierSurface&) - : G4Surface() + : G4Surface(), bezier_list(0), smin(0.), smax(0.), + average_u(0.), average_v(0.), dir(0), u_knots(0), v_knots(0), + ctl_points(0), new_knots(0), ord(0), oslo_m(0), lower(0), upper(0), + u_min(0.), u_max(0.), v_min(0.), v_max(0.), old_points(0) { + order[0]=0; order[1]=0; + u[0]=0.; u[1]=0.; + v[0]=0.; v[1]=0.; } G4Vector3D G4BezierSurface::SurfaceNormal(const G4Point3D&) const @@ -303,9 +309,11 @@ void G4BezierSurface::ClipSurface() // G4cout << "\nBezier clip."; register G4int i,j; - register G4ConvexHull *ch_ptr=0, *ch_tmp=0, *ch_first=0; register G4int col_size = ctl_points->GetCols(); register G4int row_size = ctl_points->GetRows(); + + G4ConvexHull *ch_tmp= new G4ConvexHull(0,1.0e8,-1.0e8); + G4ConvexHull *ch_ptr=0, *ch_first=0; // The four cornerpoints of the controlpoint mesh. @@ -365,7 +373,7 @@ void G4BezierSurface::ClipSurface() else { G4cout << "\n RETURNING FROm CLIP.."; - smin = 0; smax = 1; + smin = 0; smax = 1; delete ch_tmp; return; } @@ -391,7 +399,7 @@ void G4BezierSurface::ClipSurface() ch_ptr = new G4ConvexHull(a/(col_size - 1.0),1.0e8,-1.0e8); if(! a) { - ch_first=ch_ptr;ch_tmp=ch_ptr; + ch_first=ch_ptr; delete ch_tmp; } else ch_tmp->SetNextHull(ch_ptr); @@ -435,8 +443,7 @@ void G4BezierSurface::ClipSurface() ch_tmp=ch_ptr->GetNextHull(); for(G4int m = l+1; m < col_size; m++) { - register G4double d; - register G4double param1, param2; + register G4double d, param1, param2; param1 = ch_ptr->GetParam(); param2 = ch_tmp->GetParam(); @@ -465,7 +472,8 @@ void G4BezierSurface::ClipSurface() if (smin <= 0.0) smin = 0.0; if (smax >= 1.0) smax = 1.0; - if ( Sign(ch_ptr->GetMin()) != Sign(ch_ptr->GetMax())) smin = 0.0; + if ( (ch_ptr) + && (Sign(ch_ptr->GetMin()) != Sign(ch_ptr->GetMax()))) smin = 0.0; i = Sign(ch_tmp->GetMin()); // ch_tmp points to last nvex()_hull in List j = Sign(ch_tmp->GetMax()); @@ -481,8 +489,7 @@ void G4BezierSurface::ClipSurface() ch_ptr = new G4ConvexHull(n/(row_size - 1.0),1.0e8,-1.0e8); if(!n) { - ch_first=ch_ptr; - ch_tmp=ch_ptr; + ch_first=ch_ptr; delete ch_tmp; } else ch_tmp->SetNextHull(ch_ptr); @@ -514,7 +521,7 @@ void G4BezierSurface::ClipSurface() } ch_ptr=ch_first; - ch_tmp=ch_first; + delete ch_tmp; for(G4int q = 0; q < row_size - 1; q++) { @@ -543,7 +550,7 @@ void G4BezierSurface::ClipSurface() } ch_ptr=ch_ptr->GetNextHull(); - } + } ch_tmp=ch_ptr; ch_ptr=ch_first; @@ -551,17 +558,19 @@ void G4BezierSurface::ClipSurface() if (smin <= 0.0) smin = 0.0; if (smax >= 1.0) smax = 1.0; - if ( Sign(ch_ptr->GetMin()) != Sign(ch_ptr->GetMax())) smin = 0.0; - - i = Sign(ch_tmp->GetMin()); // ch_tmp points to last nvex()_hull in List - j = Sign(ch_tmp->GetMax()); + if ( (ch_ptr) + && (Sign(ch_ptr->GetMin()) != Sign(ch_ptr->GetMax()))) smin = 0.0; - // - if ( (std::abs(i-j) > kCarTolerance)) smax = 1.0; + if ( ch_tmp ) + { + i = Sign(ch_tmp->GetMin()); // ch_tmp points to last nvex()_hull in List + j = Sign(ch_tmp->GetMax()); + if ( (std::abs(i-j) > kCarTolerance)) smax = 1.0; + } } ch_ptr=ch_first; - while(ch_ptr!=ch_ptr->GetNextHull()) + while(ch_ptr && (ch_ptr!=ch_ptr->GetNextHull())) { ch_tmp=ch_ptr; ch_ptr=ch_ptr->GetNextHull(); diff --git a/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc b/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc index aee37db8f5..23baa1b530 100644 --- a/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc +++ b/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BoundingBox3D.cc,v 1.12 2007/07/16 08:06:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BoundingBox3D.cc,v 1.14 2010/09/06 16:02:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -46,7 +46,8 @@ const G4BoundingBox3D G4BoundingBox3D:: G4BoundingBox3D::G4BoundingBox3D() { - distance =0; + distance = 0; + test_result = 0; kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } @@ -104,6 +105,8 @@ void G4BoundingBox3D::Init(const G4Point3D& p1, const G4Point3D& p2) // Calc half spaces GeantBox = (box_max - box_min)*0.5; MiddlePoint = (box_min + box_max)*0.5; + + test_result = 0; distance = 0; } @@ -112,6 +115,7 @@ void G4BoundingBox3D::Init(const G4Point3D& p) { box_min= box_max= MiddlePoint= p; GeantBox= G4Point3D(0, 0, 0); + test_result = 0; distance= 0; kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } diff --git a/source/geometry/solids/BREPS/src/G4CircularCurve.cc b/source/geometry/solids/BREPS/src/G4CircularCurve.cc index 923f9abb35..3d50eca540 100644 --- a/source/geometry/solids/BREPS/src/G4CircularCurve.cc +++ b/source/geometry/solids/BREPS/src/G4CircularCurve.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CircularCurve.cc,v 1.10 2006/06/29 18:41:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4CircularCurve.cc,v 1.11 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -38,7 +38,7 @@ #include "G4Ellipse.hh" // G4CircularCurve -G4CircularCurve::G4CircularCurve() {} +G4CircularCurve::G4CircularCurve() : radius(0.) {} G4CircularCurve::~G4CircularCurve() {} G4CircularCurve::G4CircularCurve(const G4CircularCurve& right) diff --git a/source/geometry/solids/BREPS/src/G4CompositeCurve.cc b/source/geometry/solids/BREPS/src/G4CompositeCurve.cc index cb403f556b..b0595941cd 100644 --- a/source/geometry/solids/BREPS/src/G4CompositeCurve.cc +++ b/source/geometry/solids/BREPS/src/G4CompositeCurve.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CompositeCurve.cc,v 1.13 2006/06/29 18:41:54 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4CompositeCurve.cc,v 1.15 2010/07/07 15:03:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -60,20 +60,24 @@ G4CompositeCurve::G4CompositeCurve(const G4Point3DVector& vertices) G4CompositeCurve::~G4CompositeCurve() { // Remove segments and delete all its contents + G4Curve* a = 0; while (segments.size()>0) { a = segments.back(); segments.pop_back(); - for (G4CurveVector::iterator i=segments.begin(); i!=segments.end(); i++) + for (G4CurveVector::iterator i=segments.begin(); i!=segments.end();) { if (*i==a) { - segments.erase(i); - i--; + i = segments.erase(i); + } + else + { + ++i; } } - if ( a ) delete a; + delete a; } } @@ -99,19 +103,21 @@ G4Curve* G4CompositeCurve::Project(const G4Transform3D& tr) a = newSegments.back(); newSegments.pop_back(); for (G4CurveVector::iterator i=newSegments.begin(); - i!=newSegments.end(); i++) + i!=newSegments.end();) { if (*i==a) { - newSegments.erase(i); - i--; + i = newSegments.erase(i); + } + else + { + ++i; } } - if ( a ) delete a; + delete a; } return 0; } - newSegments.push_back(c); } diff --git a/source/geometry/solids/BREPS/src/G4ConicalSurface.cc b/source/geometry/solids/BREPS/src/G4ConicalSurface.cc index c7155ee055..39f30bbb94 100644 --- a/source/geometry/solids/BREPS/src/G4ConicalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4ConicalSurface.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ConicalSurface.cc,v 1.11 2006/06/29 18:41:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ConicalSurface.cc,v 1.12 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -46,26 +46,20 @@ G4ConicalSurface::G4ConicalSurface() G4ConicalSurface::G4ConicalSurface( const G4Point3D&, const G4Vector3D& a, - G4double e ) //: G4Surface( o ) + G4double e ) + : G4Surface() { // Normal constructor // require axis to be a unit vector -/* L. Broglia - G4double amag = a.Magnitude(); - include/G4ThreeVec.hh: G4double Magnitude() const - { return std::sqrt( x*x + y*y + z*z ); } - This function is mag2 for HepThreeVector -*/ G4double amag = a.mag2(); - if ( amag != 0.0 ) -/* L. Broglia - axis = a / amag; // this makes the axis a unit vector -*/ + { axis = a*(1/amag); - else { + } + else + { G4cerr << "WARNING - G4ConicalSurface::G4ConicalSurface" << G4endl << "\tAxis has zero length" << G4endl << "\tDefault axis ( 1.0, 0.0, 0.0 ) is used." << G4endl; @@ -74,9 +68,13 @@ G4ConicalSurface::G4ConicalSurface( const G4Point3D&, } // Require angle to range from 0 to PI/2 + // if ( ( e > 0.0 ) && ( e < ( 0.5 * pi ) ) ) + { angle = e; - else { + } + else + { G4cerr << "WARNING - G4ConicalSurface::G4ConicalSurface" << G4endl << "\tAsked for angle out of allowed range of 0 to " << 0.5*pi << " (PI/2): " << e << G4endl @@ -86,17 +84,28 @@ G4ConicalSurface::G4ConicalSurface( const G4Point3D&, } } + G4ConicalSurface::~G4ConicalSurface() { } -/* + G4ConicalSurface::G4ConicalSurface( const G4ConicalSurface& c ) - : G4Surface( c.origin ) + : G4Surface(), axis(c.axis), angle(c.angle) { - axis = c.axis; angle = c.angle; } -*/ + + +G4ConicalSurface& +G4ConicalSurface::operator=( const G4ConicalSurface& c ) +{ + if (&c == this) { return *this; } + axis = c.axis; + angle = c.angle; + + return *this; +} + const char* G4ConicalSurface::NameOf() const { @@ -105,9 +114,6 @@ const char* G4ConicalSurface::NameOf() const void G4ConicalSurface::CalcBBox() { - // Created by L. Broglia - // copy of G4FPlane::CalcBBox() - bbox= new G4BoundingBox3D(surfaceBoundary.BBox().GetBoxMin(), surfaceBoundary.BBox().GetBoxMax()); } @@ -115,6 +121,7 @@ void G4ConicalSurface::CalcBBox() void G4ConicalSurface::PrintOn( std::ostream& os ) const { // printing function using C++ std::ostream class + os << "G4ConicalSurface surface with origin: " << origin << "\t" << "angle: " << angle << " radians \tand axis " << axis << "\n"; } @@ -133,9 +140,6 @@ G4double G4ConicalSurface::HowNear( const G4Vector3D& x ) const G4Vector3D q = G4Vector3D( origin + l * axis ); G4Vector3D v = G4Vector3D( x - q ); -/* L. Broglia - G4double Dist = ( l * std::tan( angle ) - v.Magnitude() ) * std::cos ( angle ); -*/ G4double Dist = ( l*std::tan(angle) - v.mag2() ) * std::cos(angle); return Dist; @@ -163,37 +167,34 @@ G4int G4ConicalSurface::Intersect( const G4Ray& ry ) // If no valid intersection point is found, set the distance // and intersection point to large numbers. - G4int which_way = -1; //Originally a parameter.Read explanation above. + G4int which_way = -1; // Originally a parameter.Read explanation above. - distance = FLT_MAXX; + distance = kInfinity; - // G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); - G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); - - // p = lv; + G4Vector3D lv ( kInfinity, kInfinity, kInfinity ); closest_hit = lv; // Origin and G4Vector3D unit vector of Ray. - // G4Vector3D x = ry->position(); + // G4Vector3D x = G4Vector3D( ry.GetStart() ); - - // G4Vector3D dhat = ry->direction( 0.0 ); G4Vector3D dhat = ry.GetDir(); // Cone angle and axis unit vector. + // G4double ta = std::tan( GetAngle() ); G4Vector3D ahat = GetAxis(); G4int isoln = 0, maxsoln = 2; // array of solutions in distance along the Ray - // G4double s[2] = { -1.0, -1.0 }; + // G4double s[2]; s[0] = -1.0; s[1] = -1.0 ; // calculate the two solutions (quadratic equation) + // G4Vector3D gamma = G4Vector3D( x - GetOrigin() ); G4double T = 1.0 + ta * ta; G4double ga = gamma * ahat; @@ -203,20 +204,24 @@ G4int G4ConicalSurface::Intersect( const G4Ray& ry ) G4double C = gamma * gamma - T * ga * ga; // if quadratic term vanishes, just do the simple solution - if ( std::fabs( A ) < FLT_EPSILO ) + // + if ( std::fabs( A ) < kCarTolerance ) { if ( B == 0.0 ) - return 1; + { return 1; } else - s[0] = -C / B; + { s[0] = -C / B; } } // Normal quadratic case, no intersection if radical is less than zero + // else { G4double radical = B * B - 4.0 * A * C; if ( radical < 0.0 ) + { return 1; + } else { G4double root = std::sqrt( radical ); @@ -226,35 +231,43 @@ G4int G4ConicalSurface::Intersect( const G4Ray& ry ) } // order the possible solutions by increasing distance along the Ray - // (G4Sorting routines are in support/G4Sort.h) + // sort_double( s, isoln, maxsoln-1 ); // now loop over each positive solution, keeping the first one (smallest // distance along the Ray) which is within the boundary of the sub-shape // and which also has the correct G4Vector3D with respect to the Normal to // the G4ConicalSurface at the intersection point + // for ( isoln = 0; isoln < maxsoln; isoln++ ) { if ( s[isoln] >= 0.0 ) { - if ( s[isoln] >= FLT_MAXX ) // quit if too large - return 1; + if ( s[isoln] >= kInfinity ) // quit if too large + { + return 1; + } distance = s[isoln]; closest_hit = ry.GetPoint( distance ); // Following line necessary to select non-reflective solutions. + // if (( ahat * ( closest_hit - GetOrigin() ) > 0.0 ) && ((( dhat * SurfaceNormal( closest_hit ) * which_way )) >= 0.0 ) && ( std::fabs(HowNear( closest_hit )) < 0.1) ) - return 1; + { + return 1; + } } } // get here only if there was no solution within the boundary, Reset // distance and intersection point to large numbers - distance = FLT_MAXX; + // + distance = kInfinity; closest_hit = lv; + return 0; } @@ -280,8 +293,8 @@ G4int G4ConicalSurface::Intersect( const G4Ray& ry ) // If no valid intersection point is found, set the distance // and intersection point to large numbers. // Possible negative distance solutions are discarded. - G4double Dist = FLT_MAXX; - G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); + G4double Dist = kInfinity; + G4Vector3D lv ( kInfinity, kInfinity, kInfinity ); p = lv; G4int isoln = 0, maxsoln = 4; @@ -321,7 +334,7 @@ G4int G4ConicalSurface::Intersect( const G4Ray& ry ) G4double C = gamma * gamma - gc * gc * T; // Solution for no quadratic term - if ( std::fabs( A ) < FLT_EPSILO ) + if ( std::fabs( A ) < kCarTolerance ) { if ( B == 0.0 ) return Dist; @@ -367,7 +380,7 @@ G4int G4ConicalSurface::Intersect( const G4Ray& ry ) // Now do approximation to get remaining distance to correct this solution. // Iterate it until the accuracy is below the user-set surface precision. G4double delta = 0.; - G4double delta0 = FLT_MAXX; + G4double delta0 = kInfinity; G4int dummy = 1; G4int iter = 0; G4int in0 = Inside( hx->position() ); @@ -379,7 +392,7 @@ G4int G4ConicalSurface::Intersect( const G4Ray& ry ) // indicating no intersection with G4ConicalSurface. // This generally occurs if the Helix curls too tightly to Intersect it. if ( iter > 50 ) { - Dist = FLT_MAXX; + Dist = kInfinity; p = lv; break; } @@ -434,7 +447,7 @@ G4int G4ConicalSurface::Intersect( const G4Ray& ry ) Dist = std::fabs( rhp ) * gropeAlongHelix( hx ); if ( Dist < 0.0 ) { - Dist = FLT_MAXX; + Dist = kInfinity; p = lv; } else @@ -448,7 +461,7 @@ G4int G4ConicalSurface::Intersect( const G4Ray& ry ) // Negative distance along Helix means Helix doesn't Intersect G4ConicalSurface. // Reset distance to large number, indicating no intersection with G4ConicalSurface. if ( Dist < 0.0 ) { - Dist = FLT_MAXX; + Dist = kInfinity; p = lv; break; } @@ -461,7 +474,7 @@ G4int G4ConicalSurface::Intersect( const G4Ray& ry ) // solution, so test if it is within the boundary of the sub-shape // and require that it point in the correct G4Vector3D with respect to // the Normal to the G4ConicalSurface. - if ( ( Dist < FLT_MAXX ) && + if ( ( Dist < kInfinity ) && ( ( hx->direction( Dist ) * Normal( p ) * which_way ) >= 0.0 ) && ( WithinBoundary( p ) == 1 ) ) @@ -470,7 +483,7 @@ G4int G4ConicalSurface::Intersect( const G4Ray& ry ) } // end of for loop over solutions // If one gets here, there is no solution, so set distance along Helix // and position to large numbers. - Dist = FLT_MAXX; + Dist = kInfinity; p = lv; return Dist; } @@ -481,14 +494,13 @@ G4Vector3D G4ConicalSurface::SurfaceNormal( const G4Point3D& p ) const { // return the Normal unit vector to the G4ConicalSurface at a point p // on (or nearly on) the G4ConicalSurface + G4Vector3D s = G4Vector3D( p - origin ); -/* L. Broglia - G4double smag = s.Magnitude(); -*/ G4double smag = s.mag2(); // if the point happens to be at the origin, calculate a unit vector Normal // to the axis, with zero z component + // if ( smag == 0.0 ) { G4double ax = axis.x(); @@ -496,36 +508,24 @@ G4Vector3D G4ConicalSurface::SurfaceNormal( const G4Point3D& p ) const G4double ap = std::sqrt( ax * ax + ay * ay ); if ( ap == 0.0 ) - return G4Vector3D( 1.0, 0.0, 0.0 ); + { return G4Vector3D( 1.0, 0.0, 0.0 ); } else - return G4Vector3D( ay / ap, -ax / ap, 0.0 ); + { return G4Vector3D( ay / ap, -ax / ap, 0.0 ); } } - - // otherwise do the calculation of the Normal to the conical surface - else + else // otherwise do the calculation of the Normal to the conical surface { G4double l = s * axis; -/* L. Broglia - s = s / smag; -*/ s = s*(1/smag); G4Vector3D q = G4Vector3D( origin + l * axis ); G4Vector3D v = G4Vector3D( p - q ); -/* L. Broglia - G4double sl = v.Magnitude() * std::sin( angle ); -*/ G4double sl = v.mag2() * std::sin( angle ); G4Vector3D n = G4Vector3D( v - sl * s ); -/* L. Broglia - G4double nmag = n.Magnitude(); -*/ G4double nmag = n.mag2(); if ( nmag != 0.0 ) -/* L. Broglia - n = n / nmag; -*/ + { n=n*(1/nmag); + } return n; } } @@ -536,21 +536,23 @@ G4int G4ConicalSurface::Inside ( const G4Vector3D& x ) const // Return 0 if point x is outside G4ConicalSurface, 1 if Inside. // Outside means that the distance to the G4ConicalSurface would be negative. // Use the HowNear function to calculate this distance. + if ( HowNear( x ) >= -0.5*kCarTolerance ) - return 1; + { return 1; } else - return 0; + { return 0; } } G4int G4ConicalSurface::WithinBoundary( const G4Vector3D& x ) const { // return 1 if point x is on the G4ConicalSurface, otherwise return zero - // base this on the surface precision factor set in support/globals.h + // base this on the surface precision factor + if ( std::fabs( HowNear( x ) / Scale() ) <= SURFACE_PRECISION ) - return 1; + { return 1; } else - return 0; + { return 0; } } G4double G4ConicalSurface::Scale() const @@ -562,13 +564,13 @@ void G4ConicalSurface::SetAngle( G4double e ) { // Reset the angle of the G4ConicalSurface // Require angle to range from 0 to PI/2 - // if ( ( e > 0.0 ) && ( e < ( 0.5 * pi ) ) ) + if ( (e > 0.0) && (e <= ( 0.5 * pi )) ) - angle = e; - // use old value (do not change angle) if out of the range, - //but Print message - else { + angle = e; + } + else // use old value (do not change angle) if out of the range, + { // but print warning message G4cerr << "WARNING - G4ConicalSurface::SetAngle" << G4endl << "\tAsked for angle out of allowed range of 0 to " << 0.5*pi << " (PI/2):" << e << G4endl diff --git a/source/geometry/solids/BREPS/src/G4Curve.cc b/source/geometry/solids/BREPS/src/G4Curve.cc index 8f1632fde4..1666c95b4f 100644 --- a/source/geometry/solids/BREPS/src/G4Curve.cc +++ b/source/geometry/solids/BREPS/src/G4Curve.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Curve.cc,v 1.9 2007/07/16 08:06:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Curve.cc,v 1.10 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -38,7 +38,8 @@ #include "G4GeometryTolerance.hh" G4Curve::G4Curve() - : bBox(G4BoundingBox3D::space), bounded(false), sameSense(true) + : bBox(G4BoundingBox3D::space), pStart(0.), pEnd(0.), pRange(0.), + bounded(false), sameSense(true) { kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } @@ -56,7 +57,7 @@ G4Curve::G4Curve(const G4Curve& c) G4Curve& G4Curve::operator=(const G4Curve& c) { - if (&c == this) return *this; + if (&c == this) { return *this; } start = c.start; end = c.end; pStart = c.pStart; diff --git a/source/geometry/solids/BREPS/src/G4CurvePoint.cc b/source/geometry/solids/BREPS/src/G4CurvePoint.cc index e427347cf6..e7f1a4b174 100644 --- a/source/geometry/solids/BREPS/src/G4CurvePoint.cc +++ b/source/geometry/solids/BREPS/src/G4CurvePoint.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CurvePoint.cc,v 1.5 2006/06/29 18:42:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4CurvePoint.cc,v 1.6 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -41,7 +41,7 @@ const G4int G4CurvePoint::uFlag= 2; const G4int G4CurvePoint::allFlags= 0xFF; // lots of bits... G4CurvePoint::G4CurvePoint() - : c(0) + : c(0), u(0.), notComputed(allFlags) { } diff --git a/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc b/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc index 0af80d9a6d..02bf178b63 100644 --- a/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CylindricalSurface.cc,v 1.8 2006/06/29 18:42:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4CylindricalSurface.cc,v 1.9 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -42,41 +42,49 @@ G4CylindricalSurface::G4CylindricalSurface() : G4Surface() { // default constructor // default axis is ( 1.0, 0.0, 0.0 ), default radius is 1.0 + axis = G4Vector3D( 1.0, 0.0, 0.0 ); radius = 1.0; } G4CylindricalSurface::G4CylindricalSurface( const G4Vector3D& o, - const G4Vector3D& a, - G4double r ) //: G4Surface( o ) + const G4Vector3D& a, + G4double r ) + : G4Surface() { // Normal constructor // require axis to be a unit vector + G4double amag = a.mag(); if ( amag != 0.0 ) + { axis = a * (1/ amag); // this makes the axis a unit vector + } else { G4cerr << "Error in G4CylindricalSurface::G4CylindricalSurface--axis " - <<"has zero length\n" - << "\tDefault axis ( 1.0, 0.0, 0.0 ) is used.\n"; + <<"has zero length\n" + << "\tDefault axis ( 1.0, 0.0, 0.0 ) is used.\n"; axis = G4Vector3D( 1.0, 0.0, 0.0 ); } // Require radius to be non-negative + // if ( r >= 0.0 ) + { radius = r; + } else { G4cerr << "Error in G4CylindricalSurface::G4CylindricalSurface" - << "--asked for negative radius\n" - << "\tDefault radius of 1.0 is used.\n"; + << "--asked for negative radius\n" + << "\tDefault radius of 1.0 is used.\n"; radius = 1.0; } - + origin =o; } @@ -85,13 +93,23 @@ G4CylindricalSurface::~G4CylindricalSurface() { } -/* + G4CylindricalSurface::G4CylindricalSurface( const G4CylindricalSurface& c ) - : G4Surface( c.origin ) + : G4Surface(), axis(c.axis), radius(c.radius) { - axis = c.axis; radius = c.radius; } -*/ + + +G4CylindricalSurface& +G4CylindricalSurface::operator=( const G4CylindricalSurface& c ) +{ + if (&c == this) { return *this; } + axis = c.axis; + radius = c.radius; + + return *this; +} + const char* G4CylindricalSurface::NameOf() const { @@ -100,17 +118,12 @@ const char* G4CylindricalSurface::NameOf() const void G4CylindricalSurface::PrintOn( std::ostream& os ) const { - // printing function using C++ std::ostream class os << "G4CylindricalSurface surface with origin: " << origin << "\t" << "radius: " << radius << "\tand axis " << axis << "\n"; } -//G4int G4Surface::Intersect(const G4Ray& ry) G4int G4CylindricalSurface::Intersect(const G4Ray& ry) { - - // L. Broglia : copy of G4FCylindricalSurface::Intersect - // Distance along a Ray (straight line with G4ThreeVec) to leave or enter // a G4CylindricalSurface. The input variable which_way should be set // to +1 to indicate leaving a G4CylindricalSurface, -1 to indicate @@ -130,41 +143,37 @@ G4int G4CylindricalSurface::Intersect(const G4Ray& ry) // If no valid intersection point is found, set the distance // and intersection point to large numbers. - // G4int which_way = -1; - //Originally a parameter.Read explanation above. - G4int which_way=1; - if(!Inside(ry.GetStart())) - which_way = -1; + if(!Inside(ry.GetStart())) { which_way = -1; } - distance = FLT_MAXX; - G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); + distance = kInfinity; + G4Vector3D lv ( kInfinity, kInfinity, kInfinity ); closest_hit = lv; // Origin and G4Vector3D unit vector of Ray. + // G4Vector3D x = ry.GetStart(); G4Vector3D dhat = ry.GetDir(); // Axis unit vector of the G4CylindricalSurface. + // G4Vector3D ahat = GetAxis(); G4int isoln = 0, maxsoln = 2; - // array of solutions in distance along the Ray + // Array of solutions in distance along the Ray. + // G4double s[2]; s[0] = -1.0; s[1] = -1.0 ; - // calculate the two solutions (quadratic equation) + // Calculate the two solutions (quadratic equation) + // G4Vector3D d = x - GetOrigin(); G4double radiu = GetRadius(); - //quit with no intersection if the radius of the G4CylindricalSurface is zero - // if ( radiu <= 0.0 ) - // return 0; - G4double dsq = d * d; G4double da = d * ahat; G4double dasq = da * da; @@ -173,59 +182,59 @@ G4int G4CylindricalSurface::Intersect(const G4Ray& ry) G4double dira = dhat * ahat; G4double a = 1.0 - dira * dira; - if ( a <= 0.0 ) - return 0; - + if ( a <= 0.0 ) { return 0; } + G4double b = 2. * ( d * dhat - da * dira ); G4double c = rsq - qsq; G4double radical = b * b + 4. * a * c; - - if ( radical < 0.0 ) - return 0; + + if ( radical < 0.0 ) { return 0; } G4double root = std::sqrt( radical ); s[0] = ( - b + root ) / ( 2. * a ); s[1] = ( - b - root ) / ( 2. * a ); - // order the possible solutions by increasing distance along the Ray - // (G4Sorting routines are in support/G4Sort.h) + // Order the possible solutions by increasing distance along the Ray + // sort_double( s, isoln, maxsoln-1 ); - // now loop over each positive solution, keeping the first one (smallest + // Now loop over each positive solution, keeping the first one (smallest // distance along the Ray) which is within the boundary of the sub-shape // and which also has the correct G4Vector3D with respect to the Normal to // the G4CylindricalSurface at the intersection point + // for ( isoln = 0; isoln < maxsoln; isoln++ ) { if ( s[isoln] >= kCarTolerance*0.5 ) { - if ( s[isoln] >= FLT_MAXX ) // quit if too large - return 0; - + if ( s[isoln] >= kInfinity ) // quit if too large + { return 0; } + distance = s[isoln]; closest_hit = ry.GetPoint( distance ); G4double tmp = dhat * (Normal( closest_hit )); if ((tmp * which_way) >= 0.0 ) - if ( WithinBoundary( closest_hit ) == 1 ) - distance = distance*distance; - + { + if ( WithinBoundary( closest_hit ) == 1 ) + { + distance = distance*distance; + } + } return 1; } } - // get here only if there was no solution within the boundary, Reset + // Get here only if there was no solution within the boundary, Reset // distance and intersection point to large numbers - distance = FLT_MAXX; + // + distance = kInfinity; closest_hit = lv; - return 0; } - - G4double G4CylindricalSurface::HowNear( const G4Vector3D& x ) const { // Distance from the point x to the infinite G4CylindricalSurface. @@ -233,6 +242,7 @@ G4double G4CylindricalSurface::HowNear( const G4Vector3D& x ) const // G4CylindricalSurface, negative if the point is outside. // Note that this may not be correct for a bounded cylindrical object // subclassed to G4CylindricalSurface. + G4Vector3D d = x - origin; G4double dA = d * axis; G4double rad = std::sqrt( d.mag2() - dA*dA ); @@ -243,489 +253,583 @@ G4double G4CylindricalSurface::HowNear( const G4Vector3D& x ) const /* -G4double G4CylindricalSurface::distanceAlongRay( G4int which_way, const G4Ray* ry, - G4Vector3D& p ) const -{ // Distance along a Ray (straight line with G4Vector3D) to leave or enter - // a G4CylindricalSurface. The input variable which_way should be set to +1 - // to indicate leaving a G4CylindricalSurface, -1 to indicate entering a - // G4CylindricalSurface. - // p is the point of intersection of the Ray with the G4CylindricalSurface. - // If the G4Vector3D of the Ray is opposite to that of the Normal to - // the G4CylindricalSurface at the intersection point, it will not leave the - // G4CylindricalSurface. - // Similarly, if the G4Vector3D of the Ray is along that of the Normal - // to the G4CylindricalSurface at the intersection point, it will not enter - // the G4CylindricalSurface. - // This method is called by all finite shapes sub-classed to - // G4CylindricalSurface. - // Use the virtual function table to check if the intersection point - // is within the boundary of the finite shape. - // A negative result means no intersection. - // If no valid intersection point is found, set the distance - // and intersection point to large numbers. - G4double Dist = FLT_MAXX; - G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); - p = lv; -// Origin and G4Vector3D unit vector of Ray. - G4Vector3D x = ry->Position(); - G4Vector3D dhat = ry->Direction( 0.0 ); -// Axis unit vector of the G4CylindricalSurface. - G4Vector3D ahat = GetAxis(); - G4int isoln = 0, maxsoln = 2; -// array of solutions in distance along the Ray -// G4double s[2] = { -1.0, -1.0 }; - G4double s[2];s[0] = -1.0; s[1]= -1.0 ; -// calculate the two solutions (quadratic equation) - G4Vector3D d = x - GetOrigin(); - G4double radius = GetRadius(); -// quit with no intersection if the radius of the G4CylindricalSurface is zero - if ( radius <= 0.0 ) - return Dist; - G4double dsq = d * d; - G4double da = d * ahat; - G4double dasq = da * da; - G4double rsq = radius * radius; - G4double qsq = dsq - dasq; - G4double dira = dhat * ahat; - G4double a = 1.0 - dira * dira; - if ( a <= 0.0 ) - return Dist; - G4double b = 2. * ( d * dhat - da * dira ); - G4double c = rsq - qsq; - G4double radical = b * b + 4. * a * c; - if ( radical < 0.0 ) - return Dist; - G4double root = std::sqrt( radical ); - s[0] = ( - b + root ) / ( 2. * a ); - s[1] = ( - b - root ) / ( 2. * a ); -// order the possible solutions by increasing distance along the Ray -// (G4Sorting routines are in support/G4Sort.h) - G4Sort_double( s, isoln, maxsoln-1 ); -// now loop over each positive solution, keeping the first one (smallest -// distance along the Ray) which is within the boundary of the sub-shape -// and which also has the correct G4Vector3D with respect to the Normal to -// the G4CylindricalSurface at the intersection point - for ( isoln = 0; isoln < maxsoln; isoln++ ) { - if ( s[isoln] >= 0.0 ) { - if ( s[isoln] >= FLT_MAXX ) // quit if too large - return Dist; - Dist = s[isoln]; - p = ry->Position( Dist ); - if ( ( ( dhat * Normal( p ) * which_way ) >= 0.0 ) - && ( WithinBoundary( p ) == 1 ) ) - return Dist; - } - } -// get here only if there was no solution within the boundary, Reset -// distance and intersection point to large numbers - p = lv; - return FLT_MAXX; +G4double G4CylindricalSurface:: +distanceAlongRay( G4int which_way, const G4Ray* ry, G4Vector3D& p ) const +{ + // Distance along a Ray (straight line with G4Vector3D) to leave or enter + // a G4CylindricalSurface. The input variable which_way should be set to +1 + // to indicate leaving a G4CylindricalSurface, -1 to indicate entering a + // G4CylindricalSurface. + // p is the point of intersection of the Ray with the G4CylindricalSurface. + // If the G4Vector3D of the Ray is opposite to that of the Normal to + // the G4CylindricalSurface at the intersection point, it will not leave the + // G4CylindricalSurface. + // Similarly, if the G4Vector3D of the Ray is along that of the Normal + // to the G4CylindricalSurface at the intersection point, it will not enter + // the G4CylindricalSurface. + // This method is called by all finite shapes sub-classed to + // G4CylindricalSurface. + // Use the virtual function table to check if the intersection point + // is within the boundary of the finite shape. + // A negative result means no intersection. + // If no valid intersection point is found, set the distance + // and intersection point to large numbers. + + G4double Dist = kInfinity; + G4Vector3D lv ( kInfinity, kInfinity, kInfinity ); + p = lv; + + // Origin and G4Vector3D unit vector of Ray. + // + G4Vector3D x = ry->Position(); + G4Vector3D dhat = ry->Direction( 0.0 ); + + // Axis unit vector of the G4CylindricalSurface. + // + G4Vector3D ahat = GetAxis(); + G4int isoln = 0, maxsoln = 2; + + // Array of solutions in distance along the Ray + // + G4double s[2];s[0] = -1.0; s[1]= -1.0 ; + + // Calculate the two solutions (quadratic equation) + // + G4Vector3D d = x - GetOrigin(); + G4double radius = GetRadius(); + + // Quit with no intersection if radius of the G4CylindricalSurface is zero + // + if ( radius <= 0.0 ) { return Dist; } + + G4double dsq = d * d; + G4double da = d * ahat; + G4double dasq = da * da; + G4double rsq = radius * radius; + G4double qsq = dsq - dasq; + G4double dira = dhat * ahat; + G4double a = 1.0 - dira * dira; + if ( a <= 0.0 ) { return Dist; } + + G4double b = 2. * ( d * dhat - da * dira ); + G4double c = rsq - qsq; + G4double radical = b * b + 4. * a * c; + if ( radical < 0.0 ) { return Dist; } + + G4double root = std::sqrt( radical ); + s[0] = ( - b + root ) / ( 2. * a ); + s[1] = ( - b - root ) / ( 2. * a ); + + // Order the possible solutions by increasing distance along the Ray + // + G4Sort_double( s, isoln, maxsoln-1 ); + + // Now loop over each positive solution, keeping the first one (smallest + // distance along the Ray) which is within the boundary of the sub-shape + // and which also has the correct G4Vector3D with respect to the Normal to + // the G4CylindricalSurface at the intersection point + // + for ( isoln = 0; isoln < maxsoln; isoln++ ) + { + if ( s[isoln] >= 0.0 ) + { + if ( s[isoln] >= kInfinity ) // quit if too large + { return Dist; } + Dist = s[isoln]; + p = ry->Position( Dist ); + if ( ( ( dhat * Normal( p ) * which_way ) >= 0.0 ) + && ( WithinBoundary( p ) == 1 ) ) { return Dist; } + } + } + + // Get here only if there was no solution within the boundary, Reset + // distance and intersection point to large numbers + + p = lv; + return kInfinity; } -*/ +G4double G4CylindricalSurface:: +distanceAlongHelix( G4int which_way, const Helix* hx, G4Vector3D& p ) const +{ + // Distance along a Helix to leave or enter a G4CylindricalSurface. + // The input variable which_way should be set to +1 to + // indicate leaving a G4CylindricalSurface, -1 to indicate entering a + // G4CylindricalSurface. + // p is the point of intersection of the Helix with the G4CylindricalSurface. + // If the G4Vector3D of the Helix is opposite to that of the Normal to + // the G4CylindricalSurface at the intersection point, it will not leave the + // G4CylindricalSurface. + // Similarly, if the G4Vector3D of the Helix is along that of the Normal + // to the G4CylindricalSurface at the intersection point, it will not enter + // the G4CylindricalSurface. + // This method is called by all finite shapes sub-classed to + // G4CylindricalSurface. + // Use the virtual function table to check if the intersection point + // is within the boundary of the finite shape. + // If no valid intersection point is found, set the distance + // and intersection point to large numbers. + // Possible negative distance solutions are discarded. -/* + G4double Dist = kInfinity; + G4Vector3D lv ( kInfinity, kInfinity, kInfinity ); + G4Vector3D zerovec; // zero G4Vector3D + p = lv; + G4int isoln = 0, maxsoln = 4; -G4double G4CylindricalSurface::distanceAlongHelix( G4int which_way, - const Helix* hx, - G4Vector3D& p ) const -{ // Distance along a Helix to leave or enter a G4CylindricalSurface. - // The input variable which_way should be set to +1 to - // indicate leaving a G4CylindricalSurface, -1 to indicate entering a - // G4CylindricalSurface. - // p is the point of intersection of the Helix with the G4CylindricalSurface. - // If the G4Vector3D of the Helix is opposite to that of the Normal to - // the G4CylindricalSurface at the intersection point, it will not leave the - // G4CylindricalSurface. - // Similarly, if the G4Vector3D of the Helix is along that of the Normal - // to the G4CylindricalSurface at the intersection point, it will not enter - // the G4CylindricalSurface. - // This method is called by all finite shapes sub-classed to - // G4CylindricalSurface. - // Use the virtual function table to check if the intersection point - // is within the boundary of the finite shape. - // If no valid intersection point is found, set the distance - // and intersection point to large numbers. - // Possible negative distance solutions are discarded. - G4double Dist = FLT_MAXX; - G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); - G4Vector3D zerovec; // zero G4Vector3D - p = lv; - G4int isoln = 0, maxsoln = 4; -// Array of solutions in turning angle -// G4double s[4] = { -1.0, -1.0, -1.0, -1.0 }; - G4double s[4];s[0]=-1.0;s[1]= -1.0;s[2]= -1.0;s[3]= -1.0; + // Array of solutions in turning angle + // + G4double s[4];s[0]=-1.0;s[1]= -1.0;s[2]= -1.0;s[3]= -1.0; + // Flag set to 1 if exact solution is found + // + G4int exact = 0; -// Flag set to 1 if exact solution is found - G4int exact = 0; -// Helix parameters - G4double rh = hx->GetRadius(); // radius of Helix - G4Vector3D ah = hx->GetAxis(); // axis of Helix - G4Vector3D oh = hx->position(); // origin of Helix - G4Vector3D dh = hx->direction( 0.0 ); // initial G4Vector3D of Helix - G4Vector3D prp = hx->getPerp(); // perpendicular vector - G4double prpmag = prp.Magnitude(); - G4double rhp = rh / prpmag; -// G4CylindricalSurface parameters - G4double rc = GetRadius(); // radius of G4CylindricalSurface - if ( rc == 0.0 ) // quit if zero radius - return Dist; - G4Vector3D oc = GetOrigin(); // origin of G4CylindricalSurface - G4Vector3D ac = GetAxis(); // axis of G4CylindricalSurface -// -// Calculate quantities of use later on. - G4Vector3D alpha = rhp * prp; - G4Vector3D beta = rhp * dh; - G4Vector3D gamma = oh - oc; -// Declare variables used later on in several places. - G4double rcd2 = 0.0, alpha2 = 0.0; - G4double A = 0.0, B = 0.0, C = 0.0, F = 0.0, G = 0.0, H = 0.0; - G4double CoverB = 0.0, radical = 0.0, root = 0.0, s1 = 0.0, s2 = 0.0; - G4Vector3D ghat; -// -// Set flag for special cases - G4int special_case = 0; // 0 means general case -// -// Test to see if axes of Helix and G4CylindricalSurface are parallel, in which -// case there are exact solutions. - if ( ( std::fabs( ah.AngleBetween(ac) ) < FLT_EPSILO ) - || ( std::fabs( ah.AngleBetween(ac) - pi ) < FLT_EPSILO ) ) { - special_case = 1; -// If, in addition, gamma is a zero vector or is parallel to the -// G4CylindricalSurface axis, this simplifies the previous case. - if ( gamma == zerovec ) { - special_case = 3; - ghat = gamma; - } - else { - ghat = gamma / gamma.Magnitude(); - if ( ( std::fabs( ghat.AngleBetween(ac) ) < FLT_EPSILO ) - || ( std::fabs( ghat.AngleBetween(ac) - pi ) < - FLT_EPSILO ) ) - special_case = 3; - } -// Test to see if, in addition to the axes of the Helix and G4CylindricalSurface -// being parallel, the axis of the G4CylindricalSurface is perpendicular to the -// initial G4Vector3D of the Helix. - if ( std::fabs( ( ac * dh ) ) < FLT_EPSILO ) { -// And, if, in addition to all this, the difference in origins of the Helix -// and G4CylindricalSurface is perpendicular to the initial G4Vector3D of the -// Helix, there is a separate special case. - if ( std::fabs( ( ghat * dh ) ) < FLT_EPSILO ) - special_case = 4; - } - } // end of section with axes of Helix and G4CylindricalSurface parallel -// -// Another peculiar case occurs if the axis of the G4CylindricalSurface and the -// initial G4Vector3D of the Helix line up and their origins are the same. -// This will require a higher order approximation than the general case. - if ( ( ( std::fabs( dh.AngleBetween(ac) ) < FLT_EPSILO ) - || ( std::fabs( dh.AngleBetween(ac) - pi ) < FLT_EPSILO ) ) - && ( gamma == zerovec ) ) - special_case = 2; -// -// Now all the special cases have been tagged, so solutions are found -// for each case. Exact solutions are indicated by setting exact = 1. -// [For some reason switch doesn't work here, so do series of if's.] - if ( special_case == 0 ) { // approximate quadratic solutions - A = beta * beta - ( beta * ac ) * ( beta * ac ) - + gamma * alpha - ( gamma * ac ) * ( alpha * ac ); - B = 2.0 * gamma * beta - - 2.0 * ( gamma * ac ) * ( beta * ac ); - C = gamma * gamma - - ( gamma * ac ) * ( gamma * ac ) - rc * rc; - if ( std::fabs( A ) < FLT_EPSILO ) { // no quadratic term - if ( B == 0.0 ) // no intersection, quit - return Dist; - else // B != 0 - s[0] = -C / B; - } - else { // A != 0, general quadratic solution - radical = B * B - 4.0 * A * C; - if ( radical < 0.0 ) // no solution, quit - return Dist; - root = std::sqrt( radical ); - s[0] = ( -B + root ) / ( 2.0 * A ); - s[1] = ( -B - root ) / ( 2.0 * A ); - if ( rh < 0.0 ) { - s[0] = -s[0]; - s[1] = -s[1]; - } - s[2] = s[0] + 2.0 * pi; - s[3] = s[1] + 2.0 * pi; - } - } -// - else if ( special_case == 1 ) { // exact solutions - exact = 1; - H = 2.0 * ( alpha * alpha + gamma * alpha ); - F = gamma * gamma - - ( ( gamma * ac ) * ( gamma * ac ) ) - - rc * rc + H; - G = 2.0 * rhp * - ( gamma * dh - ( gamma * ac ) * ( ac * dh ) ); - A = G * G + H * H; - B = -2.0 * F * H; - C = F * F - G * G; - if ( std::fabs( A ) < FLT_EPSILO ) { // no quadratic term - if ( B == 0.0 ) // no intersection, quit - return Dist; - else { // B != 0 - CoverB = -C / B; - if ( std::fabs( CoverB ) > 1.0 ) - return Dist; - s[0] = std::acos( CoverB ); - } - } - else { // A != 0, general quadratic solution -// Try a different method of calculation using F, G, and H to avoid -// precision problems. -// radical = B * B - 4.0 * A * C; -// if ( radical < 0.0 ) { - if ( std::fabs( H ) > FLT_EPSILO ) { - G4double r1 = G / H; - G4double r2 = F / H; - G4double radsq = 1.0 + r1*r1 - r2*r2; - if ( radsq < 0.0 ) - return Dist; - root = G * std::sqrt( radsq ); - G4double denominator = H * ( 1.0 + r1*r1 ); - s1 = ( F + root ) / denominator; - s2 = ( F - root ) / denominator; - } - else - return Dist; -// } // end radical < 0 condition -// else { -// root = std::sqrt( radical ); -// s1 = ( -B + root ) / ( 2.0 * A ); -// s2 = ( -B - root ) / ( 2.0 * A ); -// } - if ( std::fabs( s1 ) <= 1.0 ) { - s[0] = std::acos( s1 ); - s[2] = 2.0 * pi - s[0]; - } - if ( std::fabs( s2 ) <= 1.0 ) { - s[1] = std::acos( s2 ); - s[3] = 2.0 * pi - s[1]; - } -// Must take only solutions which satisfy original unsquared equation: -// Gsin(s) - Hcos(s) + F = 0. Take best solution of pair and set false -// solutions to -1. Only do this if the result is significantly different -// from zero. - G4double temp1 = 0.0, temp2 = 0.0; - G4double rsign = 1.0; - if ( rh < 0.0 ) rsign = -1.0; - if ( s[0] > 0.0 ) { - temp1 = G * rsign * std::sin( s[0] ) - - H * std::cos( s[0] ) + F; - temp2 = G * rsign * std::sin( s[2] ) - - H * std::cos( s[2] ) + F; - if ( std::fabs( temp1 ) > std::fabs( temp2 ) ) - if ( std::fabs( temp1 ) > FLT_EPSILO ) - s[0] = -1.0; - else - if ( std::fabs( temp2 ) > FLT_EPSILO ) - s[2] = -1.0; - } - if ( s[1] > 0.0 ) { - temp1 = G * rsign * std::sin( s[1] ) - - H * std::cos( s[1] ) + F; - temp2 = G * rsign * std::sin( s[3] ) - - H * std::cos( s[3] ) + F; - if ( std::fabs( temp1 ) > std::fabs( temp2 ) ) - if ( std::fabs( temp1 ) > FLT_EPSILO ) - s[1] = -1.0; - else - if ( std::fabs( temp2 ) > FLT_EPSILO ) - s[3] = -1.0; - } - } - } -// - else if ( special_case == 2 ) { // approximate solution - G4Vector3D e = ah.cross( ac ); - G4double re = std::fabs( rhp ) * e.Magnitude(); - s[0] = std::sqrt( 2.0 * rc / re ); - } -// - else if ( special_case == 3 ) { // exact solutions - exact = 1; - alpha2 = alpha * alpha; - rcd2 = rhp * rhp * ( 1.0 - ( (ac*dh) * (ac*dh) ) ); - A = alpha2 - rcd2; - B = - 2.0 * alpha2; - C = alpha2 + rcd2 - rc*rc; - if ( std::fabs( A ) < FLT_EPSILO ) { // no quadratic term - if ( B == 0.0 ) // no intersection, quit - return Dist; - else { // B != 0 - CoverB = -C / B; - if ( std::fabs( CoverB ) > 1.0 ) - return Dist; - s[0] = std::acos( CoverB ); - } - } - else { // A != 0, general quadratic solution - radical = B * B - 4.0 * A * C; - if ( radical < 0.0 ) - return Dist; - root = std::sqrt( radical ); - s1 = ( -B + root ) / ( 2.0 * A ); - s2 = ( -B - root ) / ( 2.0 * A ); - if ( std::fabs( s1 ) <= 1.0 ) - s[0] = std::acos( s1 ); - if ( std::fabs( s2 ) <= 1.0 ) - s[1] = std::acos( s2 ); - } - } -// - else if ( special_case == 4 ) { // exact solution - exact = 1; - F = gamma * gamma - - ( ( gamma * ac ) * ( gamma * ac ) ) - - rc * rc; - G = 2.0 * ( rhp * rhp + gamma * alpha ); - if ( G == 0.0 ) // no intersection, quit - return Dist; - G4double cs = 1.0 + ( F / G ); - if ( std::fabs( cs ) > 1.0 ) // no intersection, quit - return Dist; - s[0] = std::acos( cs ); - } -// - else // shouldn't get here - return Dist; -// -// ************************************************************************** -// -// Order the possible solutions by increasing turning angle -// (G4Sorting routines are in support/G4Sort.h). - G4Sort_double( s, isoln, maxsoln-1 ); -// -// Now loop over each positive solution, keeping the first one (smallest -// distance along the Helix) which is within the boundary of the sub-shape. - for ( isoln = 0; isoln < maxsoln; isoln++ ) { - if ( s[isoln] >= 0.0 ) { -// Calculate distance along Helix and position and G4Vector3D vectors. - Dist = s[isoln] * std::fabs( rhp ); - p = hx->position( Dist ); - G4Vector3D d = hx->direction( Dist ); - if ( exact == 0 ) { // only for approximate solns -// Now do approximation to get remaining distance to correct this solution -// iterate it until the accuracy is below the user-set surface precision. - G4double delta = 0.0; - G4double delta0 = FLT_MAXX; - G4int dummy = 1; - G4int iter = 0; - G4int in0 = Inside( hx->position ( 0.0 ) ); - G4int in1 = Inside( p ); - G4double sc = Scale(); - while ( dummy ) { - iter++; -// Terminate loop after 50 iterations and Reset distance to large number, -// indicating no intersection with G4CylindricalSurface. -// This generally occurs if the Helix curls too tightly to Intersect it. - if ( iter > 50 ) { - Dist = FLT_MAXX; - p = lv; - break; - } -// Find distance from the current point along the above-calculated -// G4Vector3D using a Ray. -// The G4Vector3D of the Ray and the Sign of the distance are determined -// by whether the starting point of the Helix is Inside or outside of -// the G4CylindricalSurface. - in1 = Inside( p ); - if ( in1 ) { // current point Inside - if ( in0 ) { // starting point Inside - Ray* r = new Ray( p, d ); - delta = - distanceAlongRay( 1, r, p ); - delete r; - } - else { // starting point outside - Ray* r = new Ray( p, -d ); - delta = - -distanceAlongRay( 1, r, p ); - delete r; - } - } - else { // current point outside - if ( in0 ) { // starting point Inside - Ray* r = new Ray( p, -d ); - delta = - -distanceAlongRay( -1, r, p ); - delete r; - } - else { // starting point outside - Ray* r = new Ray( p, d ); - delta = - distanceAlongRay( -1, r, p ); - delete r; - } - } -// Test if distance is less than the surface precision, if so Terminate loop. - if ( std::fabs( delta / sc ) <= SURFACE_PRECISION ) - break; -// If delta has not changed sufficiently from the previous iteration, -// skip out of this loop. - if ( std::fabs( ( delta - delta0 ) / sc ) <= - SURFACE_PRECISION ) - break; -// If delta has increased in absolute value from the previous iteration -// either the Helix doesn't Intersect the G4CylindricalSurface or the approximate -// solution is too far from the real solution. Try groping for a solution. -// If not found, Reset distance to large number, indicating no intersection with -// the G4CylindricalSurface. - if ( std::fabs( delta ) > std::fabs( delta0 ) ) { - Dist = std::fabs( rhp ) * - gropeAlongHelix( hx ); - if ( Dist < 0.0 ) { - Dist = FLT_MAXX; - p = lv; - } - else - p = hx->position( Dist ); - break; - } -// Set old delta to new one. - delta0 = delta; -// Add distance to G4CylindricalSurface to distance along Helix. - Dist += delta; -// Negative distance along Helix means Helix doesn't Intersect -// G4CylindricalSurface. -// Reset distance to large number, indicating no intersection with -// G4CylindricalSurface. - if ( Dist < 0.0 ) { - Dist = FLT_MAXX; - p = lv; - break; - } -// Recalculate point along Helix and the G4Vector3D. - p = hx->position( Dist ); - d = hx->direction( Dist ); - } // end of while loop - } // end of exact == 0 condition -// Now have best value of distance along Helix and position for this -// solution, so test if it is within the boundary of the sub-shape -// and require that it point in the correct G4Vector3D with respect to -// the Normal to the G4CylindricalSurface. - if ( ( Dist < FLT_MAXX ) && - ( ( hx->direction( Dist ) * Normal( p ) * - which_way ) >= 0.0 ) && - ( WithinBoundary( p ) == 1 ) ) - return Dist; - } // end of if s[isoln] >= 0.0 condition - } // end of for loop over solutions -// if one gets here, there is no solution, so set distance along Helix -// and position to large numbers - Dist = FLT_MAXX; - p = lv; - return Dist; + // Helix parameters + // + G4double rh = hx->GetRadius(); // radius of Helix + G4Vector3D ah = hx->GetAxis(); // axis of Helix + G4Vector3D oh = hx->position(); // origin of Helix + G4Vector3D dh = hx->direction( 0.0 ); // initial G4Vector3D of Helix + G4Vector3D prp = hx->getPerp(); // perpendicular vector + G4double prpmag = prp.Magnitude(); + G4double rhp = rh / prpmag; + + // G4CylindricalSurface parameters + // + G4double rc = GetRadius(); // radius of G4CylindricalSurface + if ( rc == 0.0 ) { return Dist; } // quit if zero radius + + G4Vector3D oc = GetOrigin(); // origin of G4CylindricalSurface + G4Vector3D ac = GetAxis(); // axis of G4CylindricalSurface + + // Calculate quantities of use later on + // + G4Vector3D alpha = rhp * prp; + G4Vector3D beta = rhp * dh; + G4Vector3D gamma = oh - oc; + + // Declare variables used later on in several places + // + G4double rcd2 = 0.0, alpha2 = 0.0; + G4double A = 0.0, B = 0.0, C = 0.0, F = 0.0, G = 0.0, H = 0.0; + G4double CoverB = 0.0, radical = 0.0, root = 0.0, s1 = 0.0, s2 = 0.0; + G4Vector3D ghat; + + // Set flag for special cases + // + G4int special_case = 0; // 0 means general case + + // Test to see if axes of Helix and G4CylindricalSurface are parallel, + // in which case there are exact solutions + // + if ( ( std::fabs( ah.AngleBetween(ac) ) < kAngTolerance ) + || ( std::fabs( ah.AngleBetween(ac) - pi ) < kAngTolerance ) ) + { + special_case = 1; + + // If, in addition, gamma is a zero vector or is parallel to the + // G4CylindricalSurface axis, this simplifies the previous case + // + if ( gamma == zerovec ) + { + special_case = 3; + ghat = gamma; + } + else + { + ghat = gamma / gamma.Magnitude(); + if ( ( std::fabs( ghat.AngleBetween(ac) ) < kAngTolerance ) + || ( std::fabs( ghat.AngleBetween(ac) - pi ) < kAngTolerance ) ) + { + special_case = 3; + } + } + + // Test to see if, in addition to the axes of the Helix and + // G4CylindricalSurface being parallel, the axis of the surface is + // perpendicular to the initial G4Vector3D of the Helix + // + if ( std::fabs( ( ac * dh ) ) < kAngTolerance ) + { + // And, if, in addition to all this, the difference in origins of the + // Helix and G4CylindricalSurface is perpendicular to the initial + // G4Vector3D of the Helix, there is a separate special case + // + if ( std::fabs( ( ghat * dh ) ) < kAngTolerance ) + { + special_case = 4; + } + } + } // end of section with axes of Helix and G4CylindricalSurface parallel + + // Another peculiar case occurs if the axis of the G4CylindricalSurface and + // the initial G4Vector3D of the Helix line up and their origins are the same. + // This will require a higher order approximation than the general case + // + if ( ( ( std::fabs( dh.AngleBetween(ac) ) < kAngTolerance ) + || ( std::fabs( dh.AngleBetween(ac) - pi ) < kAngTolerance ) ) + && ( gamma == zerovec ) ) + { + special_case = 2; + } + + // Now all the special cases have been tagged, so solutions are found + // for each case. Exact solutions are indicated by setting exact = 1. + // [For some reason switch doesn't work here, so do series of if's.] + + if ( special_case == 0 ) // approximate quadratic solutions + { + A = beta * beta - ( beta * ac ) * ( beta * ac ) + + gamma * alpha - ( gamma * ac ) * ( alpha * ac ); + B = 2.0 * gamma * beta + - 2.0 * ( gamma * ac ) * ( beta * ac ); + C = gamma * gamma + - ( gamma * ac ) * ( gamma * ac ) - rc * rc; + + if ( std::fabs( A ) < kCarTolerance ) // no quadratic term + { + if ( B == 0.0 ) // no intersection, quit + { + return Dist; + } + else // B != 0 + { + s[0] = -C / B; + } + } + else // A != 0, general quadratic solution + { + radical = B * B - 4.0 * A * C; + if ( radical < 0.0 ) // no solution, quit + { + return Dist; + } + root = std::sqrt( radical ); + s[0] = ( -B + root ) / ( 2.0 * A ); + s[1] = ( -B - root ) / ( 2.0 * A ); + if ( rh < 0.0 ) + { + s[0] = -s[0]; + s[1] = -s[1]; + } + s[2] = s[0] + 2.0 * pi; + s[3] = s[1] + 2.0 * pi; + } + } + else if ( special_case == 1 ) // exact solutions + { + exact = 1; + H = 2.0 * ( alpha * alpha + gamma * alpha ); + F = gamma * gamma - ( ( gamma * ac ) * ( gamma * ac ) ) - rc * rc + H; + G = 2.0 * rhp * ( gamma * dh - ( gamma * ac ) * ( ac * dh ) ); + A = G * G + H * H; + B = -2.0 * F * H; + C = F * F - G * G; + + if ( std::fabs( A ) < kCarTolerance ) // no quadratic term + { + if ( B == 0.0 ) // no intersection, quit + { + return Dist; + } + else // B != 0 + { + CoverB = -C / B; + if ( std::fabs( CoverB ) > 1.0 ) + { + return Dist; + } + s[0] = std::acos( CoverB ); + } + } + } + else // A != 0, general quadratic solution + { + // Try a different method of calculation using F, G, and H to avoid + // precision problems. + + // radical = B * B - 4.0 * A * C; + // if ( radical < 0.0 ) + // { + if ( std::fabs( H ) > kCarTolerance ) + { + G4double r1 = G / H; + G4double r2 = F / H; + G4double radsq = 1.0 + r1*r1 - r2*r2; + if ( radsq < 0.0 ) { return Dist; } + root = G * std::sqrt( radsq ); + + G4double denominator = H * ( 1.0 + r1*r1 ); + s1 = ( F + root ) / denominator; + s2 = ( F - root ) / denominator; + } + else + { + return Dist; + } + // } // end radical < 0 condition + // else + // { + // root = std::sqrt( radical ); + // s1 = ( -B + root ) / ( 2.0 * A ); + // s2 = ( -B - root ) / ( 2.0 * A ); + // } + if ( std::fabs( s1 ) <= 1.0 ) + { + s[0] = std::acos( s1 ); + s[2] = 2.0 * pi - s[0]; + } + if ( std::fabs( s2 ) <= 1.0 ) + { + s[1] = std::acos( s2 ); + s[3] = 2.0 * pi - s[1]; + } + + // Must take only solutions which satisfy original unsquared equation: + // Gsin(s) - Hcos(s) + F = 0. Take best solution of pair and set false + // solutions to -1. Only do this if the result is significantly different + // from zero. + + G4double temp1 = 0.0, temp2 = 0.0; + G4double rsign = 1.0; + if ( rh < 0.0 ) rsign = -1.0; + if ( s[0] > 0.0 ) + { + temp1 = G * rsign * std::sin( s[0] ) - H * std::cos( s[0] ) + F; + temp2 = G * rsign * std::sin( s[2] ) - H * std::cos( s[2] ) + F; + if ( std::fabs( temp1 ) > std::fabs( temp2 ) ) + { + if ( std::fabs( temp1 ) > kAngTolerance ) { s[0] = -1.0; } + else if ( std::fabs( temp2 ) > kAngTolerance ) { s[2] = -1.0; } + } + } + if ( s[1] > 0.0 ) + { + temp1 = G * rsign * std::sin( s[1] ) - H * std::cos( s[1] ) + F; + temp2 = G * rsign * std::sin( s[3] ) - H * std::cos( s[3] ) + F; + if ( std::fabs( temp1 ) > std::fabs( temp2 ) ) + { + if ( std::fabs( temp1 ) > kAngTolerance ) { s[1] = -1.0; } + else if ( std::fabs( temp2 ) > kAngTolerance ) { s[3] = -1.0; } + } + } + } + else if ( special_case == 2 ) // approximate solution + { + G4Vector3D e = ah.cross( ac ); + G4double re = std::fabs( rhp ) * e.Magnitude(); + s[0] = std::sqrt( 2.0 * rc / re ); + } + else if ( special_case == 3 ) // exact solutions + { + exact = 1; + alpha2 = alpha * alpha; + rcd2 = rhp * rhp * ( 1.0 - ( (ac*dh) * (ac*dh) ) ); + A = alpha2 - rcd2; + B = - 2.0 * alpha2; + C = alpha2 + rcd2 - rc*rc; + if ( std::fabs( A ) < kCarTolerance ) // no quadratic term + { + if ( B == 0.0 ) { return Dist; } // no intersection, quit + else + { + CoverB = -C / B; + if ( std::fabs( CoverB ) > 1.0 ) { return Dist; } + s[0] = std::acos( CoverB ); + } + } + else // A != 0, general quadratic solution + { + radical = B * B - 4.0 * A * C; + if ( radical < 0.0 ) { return Dist; } + root = std::sqrt( radical ); + s1 = ( -B + root ) / ( 2.0 * A ); + s2 = ( -B - root ) / ( 2.0 * A ); + if ( std::fabs( s1 ) <= 1.0 ) { s[0] = std::acos( s1 ); } + if ( std::fabs( s2 ) <= 1.0 ) { s[1] = std::acos( s2 ); } + } + } + else if ( special_case == 4 ) // exact solution + { + exact = 1; + F = gamma * gamma - ( ( gamma * ac ) * ( gamma * ac ) ) - rc * rc; + G = 2.0 * ( rhp * rhp + gamma * alpha ); + if ( G == 0.0 ) { return Dist; } // no intersection, quit + + G4double cs = 1.0 + ( F / G ); + if ( std::fabs( cs ) > 1.0 ) { return Dist; } // no intersection, quit + s[0] = std::acos( cs ); + } + else // shouldn't get here + { + return Dist; + } + + // ************************************************************************** + // + // Order the possible solutions by increasing turning angle + // + G4Sort_double( s, isoln, maxsoln-1 ); + + // Now loop over each positive solution, keeping the first one (smallest + // distance along the Helix) which is within the boundary of the sub-shape + // + for ( isoln = 0; isoln < maxsoln; isoln++ ) + { + if ( s[isoln] >= 0.0 ) + { + // Calculate distance along Helix and position and G4Vector3D vectors + // + Dist = s[isoln] * std::fabs( rhp ); + p = hx->position( Dist ); + G4Vector3D d = hx->direction( Dist ); + if ( exact == 0 ) // only for approximate solutions + { + // Now do approximation to get remaining distance to correct this + // solution iterate it until the accuracy is below the user-set + // surface precision. + + G4double delta = 0.0; + G4double delta0 = kInfinity; + G4int dummy = 1; + G4int iter = 0; + G4int in0 = Inside( hx->position ( 0.0 ) ); + G4int in1 = Inside( p ); + G4double sc = Scale(); + while ( dummy ) + { + iter++; + + // Terminate loop after 50 iterations and Reset distance to large + // number, indicating no intersection with G4CylindricalSurface. + // This generally occurs if Helix curls too tightly to Intersect it. + // + if ( iter > 50 ) + { + Dist = kInfinity; + p = lv; + break; + } + + // Find distance from the current point along the above-calculated + // G4Vector3D using a Ray. The G4Vector3D of the Ray and the Sign of + // the distance are determined by whether the starting point of the + // Helix is Inside or outside of the G4CylindricalSurface. + // + in1 = Inside( p ); + if ( in1 ) // current point Inside + { + if ( in0 ) // starting point Inside + { + Ray* r = new Ray( p, d ); + delta = distanceAlongRay( 1, r, p ); + delete r; + } + else // starting point outside + { + Ray* r = new Ray( p, -d ); + delta = -distanceAlongRay( 1, r, p ); + delete r; + } + } + else // current point outside + { + if ( in0 ) // starting point Inside + { + Ray* r = new Ray( p, -d ); + delta = -distanceAlongRay( -1, r, p ); + delete r; + } + else // starting point outside + { + Ray* r = new Ray( p, d ); + delta = distanceAlongRay( -1, r, p ); + delete r; + } + } + + // Test if distance is less than the surface precision, + // if so Terminate loop. + // + if ( std::fabs( delta / sc ) <= SURFACE_PRECISION ) + { break; } + + // If delta has not changed sufficiently from the previous + // iteration, skip out of this loop. + // + if ( std::fabs( ( delta - delta0 ) / sc ) <= SURFACE_PRECISION ) + { break; } + + // If delta has increased in absolute value from the previous + // iteration either the Helix doesn't Intersect the surface or the + // approximate solution is too far from the real solution. + // Try groping for a solution. If not found, Reset distance to large + // number, indicating no intersection with the G4CylindricalSurface. + + if ( std::fabs( delta ) > std::fabs( delta0 ) ) + { + Dist = std::fabs( rhp ) * gropeAlongHelix( hx ); + if ( Dist < 0.0 ) + { + Dist = kInfinity; + p = lv; + } + else + { + p = hx->position( Dist ); + } + break; + } + + // Set old delta to new one + // + delta0 = delta; + + // Add distance to G4CylindricalSurface to distance along Helix + // + Dist += delta; + + // Negative distance along Helix means Helix doesn't Intersect + // G4CylindricalSurface. + // Reset distance to large number, indicating no intersection with + // G4CylindricalSurface. + // + if ( Dist < 0.0 ) + { + Dist = kInfinity; + p = lv; + break; + } + + // Recalculate point along Helix and the G4Vector3D + // + p = hx->position( Dist ); + d = hx->direction( Dist ); + } // end of while loop + } // end of exact == 0 condition + + // Now have best value of distance along Helix and position for this + // solution, so test if it is within the boundary of the sub-shape + // and require that it point in the correct G4Vector3D with respect to + // the Normal to the G4CylindricalSurface. + + if ( ( Dist < kInfinity ) && + ( ( hx->direction( Dist ) * Normal( p ) * which_way ) >= 0.0 ) && + ( WithinBoundary( p ) == 1 ) ) { return Dist; } + + } // end of if s[isoln] >= 0.0 condition + } // end of for loop over solutions + + // If one gets here, there is no solution, so set distance along Helix + // and position to large numbers + + Dist = kInfinity; + p = lv; + + return Dist; } */ @@ -738,8 +842,7 @@ G4Vector3D G4CylindricalSurface::Normal( const G4Vector3D& p ) const G4Vector3D n = ( p - origin ) - ( ( p - origin ) * axis ) * axis; G4double nmag = n.mag(); - if ( nmag != 0.0 ) - n = n * (1/nmag); + if ( nmag != 0.0 ) { n = n * (1/nmag); } return n; } @@ -753,8 +856,7 @@ G4Vector3D G4CylindricalSurface::SurfaceNormal( const G4Point3D& p ) const G4Vector3D n = ( p - origin ) - ( ( p - origin ) * axis ) * axis; G4double nmag = n.mag(); - if ( nmag != 0.0 ) - n = n * (1/nmag); + if ( nmag != 0.0 ) { n = n * (1/nmag); } return n; } @@ -764,23 +866,24 @@ G4int G4CylindricalSurface::Inside ( const G4Vector3D& x ) const { // Return 0 if point x is outside G4CylindricalSurface, 1 if Inside. // Outside means that the distance to the G4CylindricalSurface would - // be negative. - // Use the HowNear function to calculate this distance. + // be negative. Use the HowNear function to calculate this distance. + if ( HowNear( x ) >= -0.5*kCarTolerance ) - return 1; + { return 1; } else - return 0; + { return 0; } } G4int G4CylindricalSurface::WithinBoundary( const G4Vector3D& x ) const { // return 1 if point x is on the G4CylindricalSurface, otherwise return zero - // base this on the surface precision factor set in support/globals.h + // base this on the surface precision factor + if ( std::fabs( HowNear( x ) / Scale() ) <= SURFACE_PRECISION ) - return 1; + { return 1; } else - return 0; + { return 0; } } @@ -790,113 +893,126 @@ G4double G4CylindricalSurface::Scale() const // case returns the arbitrary number 1.0. // This is ok since derived finite-sized classes will overwrite this. // Used for Scale-invariant tests of surface thickness. + if ( radius == 0.0 ) - return 1.0; + { return 1.0; } else - return radius; + { return radius; } } +/* +void G4CylindricalSurface:: +rotate( G4double alpha, G4double beta, G4double gamma, + G4ThreeMat& m, G4int inverse ) +{ + // Rotate G4CylindricalSurface first about global x-axis by angle alpha, + // second about global y-axis by angle beta, + // and third about global z-axis by angle gamma + // by creating and using G4ThreeMat objects in Surface::rotate + // angles are assumed to be given in radians + // if inverse is non-zero, the order of rotations is reversed + // the axis is rotated here, the origin is rotated by calling + // Surface::rotate -//void G4CylindricalSurface::rotate( G4double alpha, G4double beta, -// G4double gamma, G4ThreeMat& m, G4int inverse ) -// // rotate G4CylindricalSurface first about global x-axis by angle alpha, -// second about global y-axis by angle beta, -// and third about global z-axis by angle gamma -// by creating and using G4ThreeMat objects in Surface::rotate -// angles are assumed to be given in radians -// if inverse is non-zero, the order of rotations is reversed -// the axis is rotated here, the origin is rotated by calling -// Surface::rotate -// G4Surface::rotate( alpha, beta, gamma, m, inverse ); -// axis = m * axis; -//} + G4Surface::rotate( alpha, beta, gamma, m, inverse ); + axis = m * axis; +} -//void G4CylindricalSurface::rotate( G4double alpha, G4double beta, -// G4double gamma, G4int inverse ) -//{ // rotate G4CylindricalSurface first about global x-axis by angle alpha, -// second about global y-axis by angle beta, -// and third about global z-axis by angle gamma -// by creating and using G4ThreeMat objects in Surface::rotate -// angles are assumed to be given in radians -// if inverse is non-zero, the order of rotations is reversed -// the axis is rotated here, the origin is rotated by calling -// Surface::rotate -// G4ThreeMat m; -// G4Surface::rotate( alpha, beta, gamma, m, inverse ); -// axis = m * axis; -//} +void G4CylindricalSurface:: +rotate( G4double alpha, G4double beta, G4double gamma, G4int inverse ) +{ + // Rotate G4CylindricalSurface first about global x-axis by angle alpha, + // second about global y-axis by angle beta, + // and third about global z-axis by angle gamma + // by creating and using G4ThreeMat objects in Surface::rotate + // angles are assumed to be given in radians + // if inverse is non-zero, the order of rotations is reversed + // the axis is rotated here, the origin is rotated by calling + // Surface::rotate + G4ThreeMat m; + G4Surface::rotate( alpha, beta, gamma, m, inverse ); + axis = m * axis; +} +*/ void G4CylindricalSurface::SetRadius( G4double r ) { // Reset the radius of the G4CylindricalSurface // Require radius to be non-negative - if ( r >= 0.0 ) - radius = r; - // use old value (do not change radius) if out of the range, - // but Print message - else - { + + if ( r >= 0.0 ) { radius = r; } + else // Use old value (do not change radius) if out of the range, + { // but print warning message G4cerr << "Error in G4CylindricalSurface::SetRadius" - << "--asked for negative radius\n" - << "\tDefault radius of " << radius << " is used.\n"; + << "--asked for negative radius\n" + << "\tDefault radius of " << radius << " is used.\n"; } } - /* G4double G4CylindricalSurface::gropeAlongHelix( const Helix* hx ) const -{ // Grope for a solution of a Helix intersecting a G4CylindricalSurface. - // This function returns the turning angle (in radians) where the - // intersection occurs with only positive values allowed, or -1.0 if - // no intersection is found. -// The idea is to start at the beginning of the Helix, then take steps -// of some fraction of a turn. If at the end of a Step, the current position -// along the Helix and the previous position are on opposite sides of the -// G4CylindricalSurface, then the solution must lie somewhere in between. - G4int one_over_f = 8; // one over fraction of a turn to go in each Step - G4double turn_angle = 0.0; - G4double dist_along = 0.0; - G4double d_new; - G4double fk = 1.0 / G4double( one_over_f ); - G4double scal = Scale(); - G4double d_old = HowNear( hx->position( dist_along ) ); - G4double rh = hx->GetRadius(); // radius of Helix - G4Vector3D prp = hx->getPerp(); // perpendicular vector - G4double prpmag = prp.Magnitude(); - G4double rhp = rh / prpmag; - G4int max_iter = one_over_f * HELIX_MAX_TURNS; -// Take up to a user-settable number of turns along the Helix, -// groping for an intersection point. - for ( G4int k = 1; k < max_iter; k++ ) { - turn_angle = 2.0 * pi * k / one_over_f; - dist_along = turn_angle * std::fabs( rhp ); - d_new = HowNear( hx->position( dist_along ) ); - if ( ( d_old < 0.0 && d_new > 0.0 ) || - ( d_old > 0.0 && d_new < 0.0 ) ) { - d_old = d_new; -// Old and new points are on opposite sides of the G4CylindricalSurface, therefore -// a solution lies in between, use a binary search to pin the point down -// to the surface precision, but don't do more than 50 iterations. - G4int itr = 0; - while ( std::fabs( d_new / scal ) > SURFACE_PRECISION ) { - itr++; - if ( itr > 50 ) - return turn_angle; - turn_angle -= fk * pi; - dist_along = turn_angle * std::fabs( rhp ); - d_new = HowNear( hx->position( dist_along ) ); - if ( ( d_old < 0.0 && d_new > 0.0 ) || - ( d_old > 0.0 && d_new < 0.0 ) ) - fk *= -0.5; - else - fk *= 0.5; - d_old = d_new; - } // end of while loop - return turn_angle; // this is the best solution - } // end of if condition - } // end of for loop -// Get here only if no solution is found, so return -1.0 to indicate that. - return -1.0; +{ + // Grope for a solution of a Helix intersecting a G4CylindricalSurface. + // This function returns the turning angle (in radians) where the + // intersection occurs with only positive values allowed, or -1.0 if + // no intersection is found. + // The idea is to start at the beginning of the Helix, then take steps + // of some fraction of a turn. If at the end of a Step, the current position + // along the Helix and the previous position are on opposite sides of the + // G4CylindricalSurface, then the solution must lie somewhere in between. + + G4int one_over_f = 8; // one over fraction of a turn to go in each Step + G4double turn_angle = 0.0; + G4double dist_along = 0.0; + G4double d_new; + G4double fk = 1.0 / G4double( one_over_f ); + G4double scal = Scale(); + G4double d_old = HowNear( hx->position( dist_along ) ); + G4double rh = hx->GetRadius(); // radius of Helix + G4Vector3D prp = hx->getPerp(); // perpendicular vector + G4double prpmag = prp.Magnitude(); + G4double rhp = rh / prpmag; + G4int max_iter = one_over_f * HELIX_MAX_TURNS; + + // Take up to a user-settable number of turns along the Helix, + // groping for an intersection point. + // + for ( G4int k = 1; k < max_iter; k++ ) + { + turn_angle = 2.0 * pi * k / one_over_f; + dist_along = turn_angle * std::fabs( rhp ); + d_new = HowNear( hx->position( dist_along ) ); + if ( ( d_old < 0.0 && d_new > 0.0 ) || + ( d_old > 0.0 && d_new < 0.0 ) ) + { + d_old = d_new; + + // Old and new points are on opposite sides of the G4CylindricalSurface, + // therefore a solution lies in between, use a binary search to pin the + // point down to the surface precision, but don't do more than 50 + // iterations. + + G4int itr = 0; + while ( std::fabs( d_new / scal ) > SURFACE_PRECISION ) + { + itr++; + if ( itr > 50 ) { return turn_angle; } + turn_angle -= fk * pi; + dist_along = turn_angle * std::fabs( rhp ); + d_new = HowNear( hx->position( dist_along ) ); + if ( ( d_old < 0.0 && d_new > 0.0 ) || ( d_old > 0.0 && d_new < 0.0 ) ) + { fk *= -0.5; } + else + { fk *= 0.5; } + d_old = d_new; + } // end of while loop + return turn_angle; // this is the best solution + } // end of if condition + } // end of for loop + + // Get here only if no solution is found, so return -1.0 to indicate that. + // + return -1.0; } */ diff --git a/source/geometry/solids/BREPS/src/G4Ellipse.cc b/source/geometry/solids/BREPS/src/G4Ellipse.cc index 327fbbf593..a70a60bc26 100644 --- a/source/geometry/solids/BREPS/src/G4Ellipse.cc +++ b/source/geometry/solids/BREPS/src/G4Ellipse.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Ellipse.cc,v 1.12 2007/05/18 07:33:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Ellipse.cc,v 1.13 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -39,6 +39,7 @@ #include "G4GeometryTolerance.hh" G4Ellipse::G4Ellipse() + : semiAxis1(0.), semiAxis2(0.), ratioAxis2Axis1(0.), forTangent(.0) { } diff --git a/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc b/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc index d07f903d1f..daad553476 100644 --- a/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FCylindricalSurface.cc,v 1.16 2006/06/29 18:42:14 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4FCylindricalSurface.cc,v 1.17 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -39,7 +39,7 @@ G4FCylindricalSurface::G4FCylindricalSurface() - : length(1.) + : radius(0.), length(1.) { } diff --git a/source/geometry/solids/BREPS/src/G4FPlane.cc b/source/geometry/solids/BREPS/src/G4FPlane.cc index 62bae6f6a1..998c9026b4 100644 --- a/source/geometry/solids/BREPS/src/G4FPlane.cc +++ b/source/geometry/solids/BREPS/src/G4FPlane.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FPlane.cc,v 1.16 2006/06/29 18:42:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4FPlane.cc,v 1.17 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -49,7 +49,7 @@ G4FPlane::G4FPlane( const G4Vector3D& direction, const G4Vector3D& axis , const G4Point3D& Pt0, G4int sense ) - : pplace(direction, axis, Pt0) + : pplace(direction, axis, Pt0), Convex(0), projectedBoundary(0) { G4Point3D Pt1 = G4Point3D( Pt0 + direction ); diff --git a/source/geometry/solids/BREPS/src/G4Hyperbola.cc b/source/geometry/solids/BREPS/src/G4Hyperbola.cc index eb91eef1df..c00411cb45 100644 --- a/source/geometry/solids/BREPS/src/G4Hyperbola.cc +++ b/source/geometry/solids/BREPS/src/G4Hyperbola.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Hyperbola.cc,v 1.12 2007/05/18 07:33:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Hyperbola.cc,v 1.13 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -39,6 +39,7 @@ #include "G4GeometryTolerance.hh" G4Hyperbola::G4Hyperbola() + : semiAxis(0.), semiImagAxis(0.), ratioAxisImagAxis(0.), forTangent(0.) { } diff --git a/source/geometry/solids/BREPS/src/G4KnotVector.cc b/source/geometry/solids/BREPS/src/G4KnotVector.cc index 0ae05124fe..a3ad0c5309 100644 --- a/source/geometry/solids/BREPS/src/G4KnotVector.cc +++ b/source/geometry/solids/BREPS/src/G4KnotVector.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4KnotVector.cc,v 1.11 2008/03/13 14:18:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4KnotVector.cc,v 1.12 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -38,8 +38,8 @@ #include "G4GeometryTolerance.hh" G4KnotVector::G4KnotVector() + : k_size(0), knots(0) { - knots=(G4double*)0; kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } diff --git a/source/geometry/solids/BREPS/src/G4OsloMatrix.cc b/source/geometry/solids/BREPS/src/G4OsloMatrix.cc index 9b5d64c918..52c0c9730e 100644 --- a/source/geometry/solids/BREPS/src/G4OsloMatrix.cc +++ b/source/geometry/solids/BREPS/src/G4OsloMatrix.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OsloMatrix.cc,v 1.6 2006/06/29 18:42:24 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4OsloMatrix.cc,v 1.7 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -37,14 +37,13 @@ #include "G4OsloMatrix.hh" G4OsloMatrix::G4OsloMatrix() + : next(0), offset(0), osize(0), o_vec(0) { - o_vec = (G4KnotVector*)0; - next = (G4OsloMatrix*)0; } G4OsloMatrix::G4OsloMatrix(G4int vec_size, G4int offsetparam, G4int osizeparam) { - next = (G4OsloMatrix*)0; + next = 0; o_vec = new G4KnotVector(vec_size); offset = offsetparam; osize = osizeparam; @@ -62,26 +61,24 @@ G4PointMatrix::G4PointMatrix() } -G4PointMatrix::G4PointMatrix(int rows, int columns) +G4PointMatrix::G4PointMatrix(G4int rows, G4int columns) { - nr=rows; - nc=columns; + nr=rows; nc=columns; data = new G4double[nr*nc]; - - for(int a =0; a= 0.0 ) + { radius = r; + } else { G4cerr << "Error in G4SphericalSurface::G4SphericalSurface" - << "--radius cannot be less than zero.\n" - << "\tDefault radius of 1.0 is used.\n"; + << "--radius cannot be less than zero.\n" + << "\tDefault radius of 1.0 is used.\n"; radius = 1.0; } // Require phi_1 in the range: 0 <= phi_1 < 2*PI // and phi_2 in the range: phi_1 < phi_2 <= phi_1 + 2*PI + // if ( ( ph1 >= 0.0 ) && ( ph1 < 2*pi ) ) - phi_1 = ph1; + { + phi_1 = ph1; + } else { G4cerr << "Error in G4SphericalSurface::G4SphericalSurface" - << "--lower azimuthal limit is out of range\n" - << "\tDefault angle of 0 is used.\n"; + << "--lower azimuthal limit is out of range\n" + << "\tDefault angle of 0 is used.\n"; phi_1 = 0.0; - } - - if ( ( ph2 > phi_1 ) && ( ph2 <= ( phi_1 + twopi ) ) ) - phi_2 = ph2; + } + + if ( ( ph2 > phi_1 ) && ( ph2 <= ( phi_1 + twopi ) ) ) + { + phi_2 = ph2; + } else { G4cerr << "Error in G4SphericalSurface::G4SphericalSurface" - << "--upper azimuthal limit is out of range\n" - << "\tDefault angle of 2*PI is used.\n"; + << "--upper azimuthal limit is out of range\n" + << "\tDefault angle of 2*PI is used.\n"; phi_2 = twopi; } - + // Require theta_1 in the range: 0 <= theta_1 < PI // and theta-2 in the range: theta_1 < theta_2 <= theta_1 + PI - if ( ( th1 >= 0.0 ) && ( th1 < pi ) ) + // + if ( ( th1 >= 0.0 ) && ( th1 < pi ) ) + { theta_1 = th1; + } else { G4cerr << "Error in G4SphericalSurface::G4SphericalSurface" - << "--lower polar limit is out of range\n" - << "\tDefault angle of 0 is used.\n"; + << "--lower polar limit is out of range\n" + << "\tDefault angle of 0 is used.\n"; theta_1 = 0.0; - } + } - if ( ( th2 > theta_1 ) && ( th2 <= ( theta_1 + pi ) ) ) - theta_2 =th2; + if ( ( th2 > theta_1 ) && ( th2 <= ( theta_1 + pi ) ) ) + { + theta_2 =th2; + } else { G4cerr << "Error in G4SphericalSurface::G4SphericalSurface" - << "--upper polar limit is out of range\n" - << "\tDefault angle of PI is used.\n"; + << "--upper polar limit is out of range\n" + << "\tDefault angle of PI is used.\n"; theta_2 = pi; } @@ -156,18 +170,33 @@ G4SphericalSurface::~G4SphericalSurface() { } -/* + G4SphericalSurface::G4SphericalSurface( const G4SphericalSurface& s ) - : G4Surface( s.origin ) -{ x_axis = s.x_axis; + : G4Surface() +{ + x_axis = s.x_axis; z_axis = s.z_axis; radius = s.radius; phi_1 = s.phi_1; phi_2 = s.phi_2; theta_1 = s.theta_1; theta_2 = s.theta_2; -} -*/ +} + +G4SphericalSurface& +G4SphericalSurface::operator=( const G4SphericalSurface& s ) +{ + if (&s == this) { return *this; } + x_axis = s.x_axis; + z_axis = s.z_axis; + radius = s.radius; + phi_1 = s.phi_1; + phi_2 = s.phi_2; + theta_1 = s.theta_1; + theta_2 = s.theta_2; + + return *this; +} const char* G4SphericalSurface::NameOf() const { @@ -176,7 +205,6 @@ const char* G4SphericalSurface::NameOf() const void G4SphericalSurface::PrintOn( std::ostream& os ) const { - // printing function using C++ std::ostream class os << "G4SphericalSurface surface with origin: " << origin << "\t" << "radius: " << radius << "\n" << "\t local x_axis: " << x_axis @@ -193,8 +221,10 @@ G4double G4SphericalSurface::HowNear( const G4Vector3D& x ) const // Distance from the point x to the G4SphericalSurface. // The distance will be positive if the point is Inside the // G4SphericalSurface, negative if the point is outside. + G4Vector3D d = G4Vector3D( x - origin ); G4double rad = d.mag(); + return (radius - rad); } @@ -203,72 +233,90 @@ G4double G4SphericalSurface::HowNear( const G4Vector3D& x ) const G4double G4SphericalSurface::distanceAlongRay( G4int which_way, const G4Ray* ry, G4Vector3D& p ) const -{ // Distance along a Ray (straight line with G4Vector3D) to leave or enter - // a G4SphericalSurface. The input variable which_way should be set to +1 to - // indicate leaving a G4SphericalSurface, -1 to indicate entering the surface. - // p is the point of intersection of the Ray with the G4SphericalSurface. - // If the G4Vector3D of the Ray is opposite to that of the Normal to - // the G4SphericalSurface at the intersection point, it will not leave the - // G4SphericalSurface. - // Similarly, if the G4Vector3D of the Ray is along that of the Normal - // to the G4SphericalSurface at the intersection point, it will not enter the - // G4SphericalSurface. - // This method is called by all finite shapes sub-classed to G4SphericalSurface. - // Use the virtual function table to check if the intersection point - // is within the boundary of the finite shape. - // A negative result means no intersection. - // If no valid intersection point is found, set the distance - // and intersection point to large numbers. - G4double Dist = FLT_MAXX; - G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); - p = lv; -// Origin and G4Vector3D unit vector of Ray. - G4Vector3D x = ry->Position( 0.0 ); - G4Vector3D dhat = ry->Direction( 0.0 ); - G4int isoln = 0, maxsoln = 2; -// array of solutions in distance along the Ray -// G4double s[2] = { -1.0, -1.0 }; - G4double s[2];s[0] = -1.0; s[1]= -1.0 ; -// calculate the two solutions (quadratic equation) - G4Vector3D d = x - GetOrigin(); - G4double radius = GetRadius(); -// quit with no intersection if the radius of the G4SphericalSurface is zero - if ( radius <= 0.0 ) - return Dist; - G4double dsq = d * d; - G4double rsq = radius * radius; - G4double b = d * dhat; - G4double c = dsq - rsq; - G4double radical = b * b - c; -// quit with no intersection if the radical is negative - if ( radical < 0.0 ) - return Dist; - G4double root = std::sqrt( radical ); - s[0] = -b + root; - s[1] = -b - root; -// order the possible solutions by increasing distance along the Ray -// (G4Sorting routines are in support/G4Sort.h) - G4Sort_double( s, isoln, maxsoln-1 ); -// now loop over each positive solution, keeping the first one (smallest -// distance along the Ray) which is within the boundary of the sub-shape -// and which also has the correct G4Vector3D with respect to the Normal to -// the G4SphericalSurface at the intersection point - for ( isoln = 0; isoln < maxsoln; isoln++ ) { - if ( s[isoln] >= 0.0 ) { - if ( s[isoln] >= FLT_MAXX ) // quit if too large - return Dist; - Dist = s[isoln]; - p = ry->Position( Dist ); - if ( ( ( dhat * Normal( p ) * which_way ) >= 0.0 ) - && ( WithinBoundary( p ) == 1 ) ) - return Dist; - } - } -// get here only if there was no solution within the boundary, Reset -// distance and intersection point to large numbers - p = lv; - return FLT_MAXX; -} + + // Distance along a Ray (straight line with G4Vector3D) to leave or enter + // a G4SphericalSurface. The input variable which_way should be set to +1 to + // indicate leaving a G4SphericalSurface, -1 to indicate entering the surface. + // p is the point of intersection of the Ray with the G4SphericalSurface. + // If the G4Vector3D of the Ray is opposite to that of the Normal to + // the G4SphericalSurface at the intersection point, it will not leave the + // G4SphericalSurface. + // Similarly, if the G4Vector3D of the Ray is along that of the Normal + // to the G4SphericalSurface at the intersection point, it will not enter the + // G4SphericalSurface. + // This method is called by all finite shapes sub-classed to + // G4SphericalSurface. + // Use the virtual function table to check if the intersection point + // is within the boundary of the finite shape. + // A negative result means no intersection. + // If no valid intersection point is found, set the distance + // and intersection point to large numbers. + +{ + G4double Dist = kInfinity; + G4Vector3D lv ( kInfinity, kInfinity, kInfinity ); + p = lv; + + // Origin and G4Vector3D unit vector of Ray. + // + G4Vector3D x = ry->Position( 0.0 ); + G4Vector3D dhat = ry->Direction( 0.0 ); + G4int isoln = 0, maxsoln = 2; + + // Array of solutions in distance along the Ray + // + G4double s[2];s[0] = -1.0; s[1]= -1.0 ; + + // Calculate the two solutions (quadratic equation) + // + G4Vector3D d = x - GetOrigin(); + G4double radius = GetRadius(); + + // Quit with no intersection if the radius of the G4SphericalSurface is zero + // + if ( radius <= 0.0 ) { return Dist; } + + G4double dsq = d * d; + G4double rsq = radius * radius; + G4double b = d * dhat; + G4double c = dsq - rsq; + G4double radical = b * b - c; + + // Quit with no intersection if the radical is negative + // + if ( radical < 0.0 ) { return Dist; } + + G4double root = std::sqrt( radical ); + s[0] = -b + root; + s[1] = -b - root; + + // Order the possible solutions by increasing distance along the Ray + // + G4Sort_double( s, isoln, maxsoln-1 ); + + // Now loop over each positive solution, keeping the first one (smallest + // distance along the Ray) which is within the boundary of the sub-shape + // and which also has the correct G4Vector3D with respect to the Normal to + // the G4SphericalSurface at the intersection point + // + for ( isoln = 0; isoln < maxsoln; isoln++ ) + { + if ( s[isoln] >= 0.0 ) + { + if ( s[isoln] >= kInfinity ) { return Dist; } // quit if too large + Dist = s[isoln]; + p = ry->Position( Dist ); + if ( ( ( dhat * Normal( p ) * which_way ) >= 0.0 ) + && ( WithinBoundary( p ) == 1 ) ) { return Dist; } + } + } + + // Get here only if there was no solution within the boundary, + // reset distance and intersection point to large numbers + + p = lv; + return kInfinity; +} */ @@ -309,36 +357,36 @@ G4int G4SphericalSurface::Intersect( const G4Ray& ry ) // and intersection point to large numbers. G4int which_way = (G4int)HowNear(ry.GetStart()); - //Originally a parameter.Read explanation above. - if(!which_way)which_way =-1; - distance = FLT_MAXX; + if(!which_way) { which_way =-1; } + distance = kInfinity; - G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); + G4Vector3D lv ( kInfinity, kInfinity, kInfinity ); - // p = lv; + // p = lv; + // closest_hit = lv; - // Origin and G4Vector3D unit vector of Ray. - // G4Vector3D x = ry->position( 0.0 ); + // Origin and G4Vector3D unit vector of Ray. + // G4Vector3D x= G4Vector3D( ry.GetStart() ); - - // G4Vector3D dhat = ry->direction( 0.0 ); G4Vector3D dhat = ry.GetDir(); G4int isoln = 0, maxsoln = 2; - // array of solutions in distance along the Ray + // Array of solutions in distance along the Ray + // G4double s[2]; s[0] = -1.0 ; s[1] = -1.0 ; - // calculate the two solutions (quadratic equation) + // Calculate the two solutions (quadratic equation) + // G4Vector3D d = G4Vector3D( x - GetOrigin() ); G4double r = GetRadius(); -// quit with no intersection if the radius of the G4SphericalSurface is zero - if ( r <= 0.0 ) - return 0; + // Quit with no intersection if the radius of the G4SphericalSurface is zero + // + if ( r <= 0.0 ) { return 0; } G4double dsq = d * d; G4double rsq = r * r; @@ -346,17 +394,17 @@ G4int G4SphericalSurface::Intersect( const G4Ray& ry ) G4double c = dsq - rsq; G4double radical = b * b - c; -// quit with no intersection if the radical is negative - if ( radical < 0.0 ) - return 0; + // Quit with no intersection if the radical is negative + // + if ( radical < 0.0 ) { return 0; } G4double root = std::sqrt( radical ); s[0] = -b + root; s[1] = -b - root; - // order the possible solutions by increasing distance along the Ray - // (G4Sorting routines are in support/G4Sort.h) - // G4Sort_double( s, isoln, maxsoln-1 ); + // Order the possible solutions by increasing distance along the Ray + // G4Sort_double( s, isoln, maxsoln-1 ); + // if(s[0] > s[1]) { G4double tmp =s[0]; @@ -364,527 +412,578 @@ G4int G4SphericalSurface::Intersect( const G4Ray& ry ) s[1] = tmp; } - // now loop over each positive solution, keeping the first one (smallest - // distance along the Ray) which is within the boundary of the sub-shape - // and which also has the correct G4Vector3D with respect to the Normal to - // the G4SphericalSurface at the intersection point + // Now loop over each positive solution, keeping the first one (smallest + // distance along the Ray) which is within the boundary of the sub-shape + // and which also has the correct G4Vector3D with respect to the Normal to + // the G4SphericalSurface at the intersection point + // for ( isoln = 0; isoln < maxsoln; isoln++ ) { if ( s[isoln] >= kCarTolerance*0.5 ) { - if ( s[isoln] >= FLT_MAXX ) // quit if too large - return 0; - + if ( s[isoln] >= kInfinity ) { return 0; } // quit if too large distance = s[isoln]; closest_hit = ry.GetPoint( distance ); if ( ( ( dhat * Normal( closest_hit ) * which_way ) >= 0.0 ) && - ( WithinBoundary( closest_hit ) == 1 ) ) + ( WithinBoundary( closest_hit ) == 1 ) ) { - distance = distance*distance; - return 1; + distance = distance*distance; + return 1; } } } - // get here only if there was no solution within the boundary, Reset - // distance and intersection point to large numbers - // p = lv; - // return FLT_MAXX; - distance = FLT_MAXX; + // Get here only if there was no solution within the boundary, + // reset distance and intersection point to large numbers + // + distance = kInfinity; closest_hit = lv; + return 0; -} +} /* G4double G4SphericalSurface::distanceAlongHelix( G4int which_way, const Helix* hx, G4Vector3D& p ) const -{ // Distance along a Helix to leave or enter a G4SphericalSurface. - // The input variable which_way should be set to +1 to - // indicate leaving a G4SphericalSurface, -1 to indicate entering a G4SphericalSurface. - // p is the point of intersection of the Helix with the G4SphericalSurface. - // If the G4Vector3D of the Helix is opposite to that of the Normal to - // the G4SphericalSurface at the intersection point, it will not leave the - // G4SphericalSurface. - // Similarly, if the G4Vector3D of the Helix is along that of the Normal - // to the G4SphericalSurface at the intersection point, it will not enter the - // G4SphericalSurface. - // This method is called by all finite shapes sub-classed to G4SphericalSurface. - // Use the virtual function table to check if the intersection point - // is within the boundary of the finite shape. - // If no valid intersection point is found, set the distance - // and intersection point to large numbers. - // Possible negative distance solutions are discarded. - G4double Dist = FLT_MAXX; - G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); - p = lv; - G4int isoln = 0, maxsoln = 4; -// Array of solutions in turning angle -// G4double s[4] = { -1.0, -1.0, -1.0, -1.0 }; - G4double s[4];s[0] = -1.0; s[1]= -1.0 ;s[2] = -1.0; s[3]= -1.0 ; +{ + // Distance along a Helix to leave or enter a G4SphericalSurface. + // The input variable which_way should be set to +1 to + // indicate leaving a G4SphericalSurface, -1 to indicate entering a + // G4SphericalSurface. + // p is the point of intersection of the Helix with the G4SphericalSurface. + // If the G4Vector3D of the Helix is opposite to that of the Normal to + // the G4SphericalSurface at the intersection point, it will not leave the + // G4SphericalSurface. + // Similarly, if the G4Vector3D of the Helix is along that of the Normal + // to the G4SphericalSurface at the intersection point, it will not enter + // the G4SphericalSurface. + // This method is called by all finite shapes sub-classed to + // G4SphericalSurface. + // Use the virtual function table to check if the intersection point + // is within the boundary of the finite shape. + // If no valid intersection point is found, set the distance + // and intersection point to large numbers. + // Possible negative distance solutions are discarded. -// Helix parameters - G4double rh = hx->GetRadius(); // radius of Helix - G4Vector3D oh = hx->position( 0.0 ); // origin of Helix - G4Vector3D dh = hx->direction( 0.0 ); // initial G4Vector3D of Helix - G4Vector3D prp = hx->getPerp(); // perpendicular vector - G4double prpmag = prp.mag(); - G4double rhp = rh / prpmag; -// G4SphericalSurface parameters - G4double rs = GetRadius(); // radius of G4SphericalSurface - if ( rs == 0.0 ) // quit if zero radius - return Dist; - G4Vector3D os = GetOrigin(); // origin of G4SphericalSurface -// -// Calculate quantities of use later on - G4Vector3D alpha = rhp * prp; - G4Vector3D beta = rhp * dh; - G4Vector3D gamma = oh - os; -// -// Only consider approximate solutions to quadratic order in the turning -// angle along the Helix - G4double A = beta * beta + gamma * alpha; - G4double B = 2.0 * gamma * beta; - G4double C = gamma * gamma - rs * rs; -// Case if quadratic term is zero - if ( std::fabs( A ) < FLT_EPSILO ) { - if ( B == 0.0 ) // no intersection, quit - return Dist; - else // B != 0 - s[0] = -C / B; - } -// General quadratic solution, A != 0 - else { - G4double radical = B * B - 4.0 * A * C; - if ( radical < 0.0 ) // no intersection, quit - return Dist; - G4double root = std::sqrt( radical ); - s[0] = ( -B + root ) / ( 2.0 * A ); - s[1] = ( -B - root ) / ( 2.0 * A ); - if ( rh < 0.0 ) { - s[0] = -s[0]; - s[1] = -s[1]; - } - s[2] = s[0] + twopi; - s[3] = s[1] + twopi; - } -// -// Order the possible solutions by increasing turning angle -// (G4Sorting routines are in support/G4Sort.h). - G4Sort_double( s, isoln, maxsoln-1 ); -// -// Now loop over each positive solution, keeping the first one (smallest -// distance along the Helix) which is within the boundary of the sub-shape. - for ( isoln = 0; isoln < maxsoln; isoln++ ) { - if ( s[isoln] >= 0.0 ) { -// Calculate distance along Helix and position and G4Vector3D vectors. - Dist = s[isoln] * std::fabs( rhp ); - p = hx->position( Dist ); - G4Vector3D d = hx->direction( Dist ); -// Now do approximation to get remaining distance to correct this solution -// iterate it until the accuracy is below the user-set surface precision. - G4double delta = 0.; - G4double delta0 = FLT_MAXX; - G4int dummy = 1; - G4int iter = 0; - G4int in0 = Inside( hx->position ( 0.0 ) ); - G4int in1 = Inside( p ); - G4double sc = Scale(); - while ( dummy ) { - iter++; -// Terminate loop after 50 iterations and Reset distance to large number, -// indicating no intersection with G4SphericalSurface. -// This generally occurs if the Helix curls too tightly to Intersect it. - if ( iter > 50 ) { - Dist = FLT_MAXX; - p = lv; - break; - } -// Find distance from the current point along the above-calculated -// G4Vector3D using a Ray. -// The G4Vector3D of the Ray and the Sign of the distance are determined -// by whether the starting point of the Helix is Inside or outside of -// the G4SphericalSurface. - in1 = Inside( p ); - if ( in1 ) { // current point Inside - if ( in0 ) { // starting point Inside - Ray* r = new Ray( p, d ); - delta = - distanceAlongRay( 1, r, p ); - delete r; - } - else { // starting point outside - Ray* r = new Ray( p, -d ); - delta = - -distanceAlongRay( 1, r, p ); - delete r; - } - } - else { // current point outside - if ( in0 ) { // starting point Inside - Ray* r = new Ray( p, -d ); - delta = - -distanceAlongRay( -1, r, p ); - delete r; - } - else { // starting point outside - Ray* r = new Ray( p, d ); - delta = - distanceAlongRay( -1, r, p ); - delete r; - } - } -// Test if distance is less than the surface precision, if so Terminate loop. - if ( std::fabs( delta / sc ) <= SURFACE_PRECISION ) - break; -// Ff delta has not changed sufficiently from the previous iteration, -// skip out of this loop. - if ( std::fabs( ( delta - delta0 ) / sc ) <= - SURFACE_PRECISION ) - break; -// If delta has increased in absolute value from the previous iteration -// either the Helix doesn't Intersect the G4SphericalSurface or the approximate -// solution is too far from the real solution. Try groping for a solution. -// If not found, Reset distance to large number, indicating no intersection -// with the G4SphericalSurface. - if ( ( std::fabs( delta ) > std::fabs( delta0 ) ) ) { - Dist = std::fabs( rhp ) * - gropeAlongHelix( hx ); - if ( Dist < 0.0 ) { - Dist = FLT_MAXX; - p = lv; - } - else - p = hx->position( Dist ); - break; - } -// Set old delta to new one. - delta0 = delta; -// Add distance to G4SphericalSurface to distance along Helix. - Dist += delta; -// Negative distance along Helix means Helix doesn't Intersect G4SphericalSurface. -// Reset distance to large number, indicating no intersection with G4SphericalSurface. - if ( Dist < 0.0 ) { - Dist = FLT_MAXX; - p = lv; - break; - } -// Recalculate point along Helix and the G4Vector3D. - p = hx->position( Dist ); - d = hx->direction( Dist ); - } // end of while loop -// Now have best value of distance along Helix and position for this -// solution, so test if it is within the boundary of the sub-shape -// and require that it point in the correct G4Vector3D with respect to -// the Normal to the G4SphericalSurface. - if ( ( Dist < FLT_MAXX ) && - ( ( hx->direction( Dist ) * Normal( p ) * - which_way ) >= 0.0 ) && - ( WithinBoundary( p ) == 1 ) ) - return Dist; - } // end of if s[isoln] >= 0.0 condition - } // end of for loop over solutions -// If one gets here, there is no solution, so set distance along Helix -// and position to large numbers. - Dist = FLT_MAXX; - p = lv; - return Dist; +{ + G4double Dist = kInfinity; + G4Vector3D lv ( kInfinity, kInfinity, kInfinity ); + p = lv; + G4int isoln = 0, maxsoln = 4; + + // Array of solutions in turning angle + // + G4double s[4];s[0] = -1.0; s[1]= -1.0 ;s[2] = -1.0; s[3]= -1.0 ; + + // Helix parameters + // + G4double rh = hx->GetRadius(); // radius of Helix + G4Vector3D oh = hx->position( 0.0 ); // origin of Helix + G4Vector3D dh = hx->direction( 0.0 ); // initial G4Vector3D of Helix + G4Vector3D prp = hx->getPerp(); // perpendicular vector + G4double prpmag = prp.mag(); + G4double rhp = rh / prpmag; + G4double rs = GetRadius(); // radius of G4SphericalSurface + if ( rs == 0.0 ) { return Dist; } // quit if zero radius + G4Vector3D os = GetOrigin(); // origin of G4SphericalSurface + + // Calculate quantities of use later on + // + G4Vector3D alpha = rhp * prp; + G4Vector3D beta = rhp * dh; + G4Vector3D gamma = oh - os; + + // Only consider approximate solutions to quadratic order in the turning + // angle along the Helix + // + G4double A = beta * beta + gamma * alpha; + G4double B = 2.0 * gamma * beta; + G4double C = gamma * gamma - rs * rs; + + // Case if quadratic term is zero + // + if ( std::fabs( A ) < kCarTolerance ) + { + if ( B == 0.0 ) { return Dist; } // no intersection, quit + else { s[0] = -C / B; } + } + else // General quadratic solution, A != 0 + { + G4double radical = B * B - 4.0 * A * C; + if ( radical < 0.0 ) { return Dist; } // no intersection, quit + + G4double root = std::sqrt( radical ); + s[0] = ( -B + root ) / ( 2.0 * A ); + s[1] = ( -B - root ) / ( 2.0 * A ); + if ( rh < 0.0 ) + { + s[0] = -s[0]; + s[1] = -s[1]; + } + s[2] = s[0] + twopi; + s[3] = s[1] + twopi; + } + + // Order the possible solutions by increasing turning angle + // + G4Sort_double( s, isoln, maxsoln-1 ); + + // Now loop over each positive solution, keeping the first one (smallest + // distance along the Helix) which is within the boundary of the sub-shape. + // + for ( isoln = 0; isoln < maxsoln; isoln++ ) + { + if ( s[isoln] >= 0.0 ) + { + // Calculate distance along Helix and position and G4Vector3D vectors. + // + Dist = s[isoln] * std::fabs( rhp ); + p = hx->position( Dist ); + G4Vector3D d = hx->direction( Dist ); + + // Now do approximation to get remaining distance to correct this + // solution iterate it until the accuracy is below the user-set + // surface precision + // + G4double delta = 0.; + G4double delta0 = kInfinity; + G4int dummy = 1; + G4int iter = 0; + G4int in0 = Inside( hx->position ( 0.0 ) ); + G4int in1 = Inside( p ); + G4double sc = Scale(); + while ( dummy ) + { + iter++; + + // Terminate loop after 50 iterations and Reset distance to large + // number, indicating no intersection with G4SphericalSurface. This + // generally occurs if the Helix curls too tightly to intersect it. + // + if ( iter > 50 ) + { + Dist = kInfinity; + p = lv; + break; + } + + // Find distance from the current point along the above-calculated + // G4Vector3D using a Ray. + // The G4Vector3D of the Ray and the Sign of the distance are + // determined by whether the starting point of the Helix is Inside + // or outside of the G4SphericalSurface. + // + in1 = Inside( p ); + if ( in1 ) // current point Inside + { + if ( in0 ) // starting point Inside + { + Ray* r = new Ray( p, d ); + delta = distanceAlongRay( 1, r, p ); + delete r; + } + else // starting point outside + { + Ray* r = new Ray( p, -d ); + delta = -distanceAlongRay( 1, r, p ); + delete r; + } + } + else // current point outside + { + if ( in0 ) // starting point Inside + { + Ray* r = new Ray( p, -d ); + delta = -distanceAlongRay( -1, r, p ); + delete r; + } + else // starting point outside + { + Ray* r = new Ray( p, d ); + delta = distanceAlongRay( -1, r, p ); + delete r; + } + } + + // Test if distance is less than the surface precision, if so + // terminate loop. + // + if ( std::fabs( delta / sc ) <= SURFACE_PRECISION ) { break; } + + // If delta has not changed sufficiently from the previous iteration, + // skip out of this loop. + // + if (std::fabs( ( delta-delta0 )/sc ) <= SURFACE_PRECISION) { break; } + + // If delta has increased in absolute value from the previous iteration + // either the Helix doesn't Intersect the G4SphericalSurface or the + // approximate solution is too far from the real solution. Try groping + // for a solution. If not found, Reset distance to large number, + // indicating no intersection with the G4SphericalSurface. + // + if ( ( std::fabs( delta ) > std::fabs( delta0 ) ) ) + { + Dist = std::fabs( rhp ) * gropeAlongHelix( hx ); + if ( Dist < 0.0 ) + { + Dist = kInfinity; + p = lv; + } + else + { + p = hx->position( Dist ); + } + break; + } + + // Set old delta to new one. + // + delta0 = delta; + + // Add distance to G4SphericalSurface to distance along Helix. + // + Dist += delta; + + // Negative distance along Helix means Helix doesn't Intersect + // G4SphericalSurface. Reset distance to large number, indicating + // no intersection with G4SphericalSurface. + // + if ( Dist < 0.0 ) + { + Dist = kInfinity; + p = lv; + break; + } + + // Recalculate point along Helix and the G4Vector3D. + // + p = hx->position( Dist ); + d = hx->direction( Dist ); + } // end of while loop + + // Now have best value of distance along Helix and position for this + // solution, so test if it is within the boundary of the sub-shape + // and require that it point in the correct G4Vector3D with respect to + // the Normal to the G4SphericalSurface. + + if ( ( Dist < kInfinity ) && + ( ( hx->direction( Dist ) * Normal( p ) * which_way ) >= 0.0 ) + && ( WithinBoundary( p ) == 1 ) ) { return Dist; } + } // end of if s[isoln] >= 0.0 condition + } // end of for loop over solutions + + // If one gets here, there is no solution, so set distance along Helix + // and position to large numbers. + // + Dist = kInfinity; + p = lv; + + return Dist; } -*/ -/* G4Vector3D G4SphericalSurface::Normal( const G4Vector3D& p ) const -{ // Return the Normal unit vector to the G4SphericalSurface at a point p on - // (or nearly on) the G4SphericalSurface. - G4Vector3D n = p - origin; - G4double nmag = n.mag(); - if ( nmag != 0.0 ) - n = n / nmag; -// If the point p happens to coincide with the origin (which is possible -// if the radius is zero), set the Normal to the z-axis unit vector. - else - n = G4Vector3D( 0.0, 0.0, 1.0 ); - return n; -} -*/ - - -G4Vector3D G4SphericalSurface::Normal( const G4Vector3D& p ) const -{ +{ // Return the Normal unit vector to the G4SphericalSurface at a point p on // (or nearly on) the G4SphericalSurface. - G4Vector3D n = G4Vector3D( p - origin ); + + G4Vector3D n = p - origin; G4double nmag = n.mag(); - - if ( nmag != 0.0 ) - n = n * (1/ nmag); // If the point p happens to coincide with the origin (which is possible // if the radius is zero), set the Normal to the z-axis unit vector. - else - n = G4Vector3D( 0.0, 0.0, 1.0 ); + // + if ( nmag != 0.0 ) { n = n / nmag; } + else { n = G4Vector3D( 0.0, 0.0, 1.0 ); } + + return n; +} +*/ + + +G4Vector3D G4SphericalSurface::Normal( const G4Vector3D& p ) const +{ + // Return the Normal unit vector to the G4SphericalSurface at a point p on + // (or nearly on) the G4SphericalSurface. + + G4Vector3D n = G4Vector3D( p - origin ); + G4double nmag = n.mag(); + // If the point p happens to coincide with the origin (which is possible + // if the radius is zero), set the Normal to the z-axis unit vector. + // + if ( nmag != 0.0 ) { n = n * (1/ nmag); } + else { n = G4Vector3D( 0.0, 0.0, 1.0 ); } + return n; } G4Vector3D G4SphericalSurface::SurfaceNormal( const G4Point3D& p ) const { - // Return the Normal unit vector to the G4SphericalSurface at a point p on - // (or nearly on) the G4SphericalSurface. + // Return the Normal unit vector to the G4SphericalSurface at a point p on + // (or nearly on) the G4SphericalSurface. + G4Vector3D n = G4Vector3D( p - origin ); G4double nmag = n.mag(); - if ( nmag != 0.0 ) - n = n * (1/ nmag); - // If the point p happens to coincide with the origin (which is possible // if the radius is zero), set the Normal to the z-axis unit vector. - else - n = G4Vector3D( 0.0, 0.0, 1.0 ); - + // + if ( nmag != 0.0 ) { n = n * (1/ nmag); } + else { n = G4Vector3D( 0.0, 0.0, 1.0 ); } + return n; } G4int G4SphericalSurface::Inside ( const G4Vector3D& x ) const { - // Return 0 if point x is outside G4SphericalSurface, 1 if Inside. - // Outside means that the distance to the G4SphericalSurface would - // be negative. - // Use the HowNear function to calculate this distance. - if ( HowNear( x ) >= 0.0 ) - return 1; - else - return 0; + // Return 0 if point x is outside G4SphericalSurface, 1 if Inside. + // Outside means that the distance to the G4SphericalSurface would + // be negative. + // Use the HowNear function to calculate this distance. + + if ( HowNear( x ) >= 0.0 ) { return 1; } + else { return 0; } } G4int G4SphericalSurface::WithinBoundary( const G4Vector3D& x ) const { - // return 1 if point x is on the G4SphericalSurface, otherwise return zero - // (x is assumed to lie on the surface of the G4SphericalSurface, so one - // only checks the angular limits) + // Return 1 if point x is on the G4SphericalSurface, otherwise return zero + // (x is assumed to lie on the surface of the G4SphericalSurface, so one + // only checks the angular limits) + G4Vector3D y_axis = G4Vector3D( z_axis.cross( x_axis ) ); - // components of x in the local coordinate system of the G4SphericalSurface + // Components of x in the local coordinate system of the G4SphericalSurface + // G4double px = x * x_axis; G4double py = x * y_axis; G4double pz = x * z_axis; - // check if within polar angle limits + // Check if within polar angle limits + // G4double theta = std::acos( pz / x.mag() ); // acos in range 0 to PI - // Normal case + // Normal case + // if ( theta_2 <= pi ) { - if ( ( theta < theta_1 ) || ( theta > theta_2 ) ) - return 0; + if ( ( theta < theta_1 ) || ( theta > theta_2 ) ) { return 0; } } - - // this is for the case that theta_2 is greater than PI else { theta += pi; - if ( ( theta < theta_1 ) || ( theta > theta_2 ) ) - return 0; + if ( ( theta < theta_1 ) || ( theta > theta_2 ) ) { return 0; } } - // now check if within azimuthal angle limits + // Now check if within azimuthal angle limits + // G4double phi = std::atan2( py, px ); // atan2 in range -PI to PI - if ( phi < 0.0 ) - phi += twopi; + if ( phi < 0.0 ) { phi += twopi; } - // Normal case - if ( ( phi >= phi_1 ) && ( phi <= phi_2 ) ) - return 1; + // Normal case + // + if ( ( phi >= phi_1 ) && ( phi <= phi_2 ) ) { return 1; } - // this is for the case that phi_2 is greater than 2*PI + // This is for the case that phi_2 is greater than 2*PI + // phi += twopi; - if ( ( phi >= phi_1 ) && ( phi <= phi_2 ) ) - return 1; - // get here if not within azimuthal limits + if ( ( phi >= phi_1 ) && ( phi <= phi_2 ) ) { return 1; } + + // Get here if not within azimuthal limits - return 0; + return 0; } G4double G4SphericalSurface::Scale() const { - // Returns the radius of a G4SphericalSurface unless it is zero, in which - // case returns the arbitrary number 1.0. - // Used for Scale-invariant tests of surface thickness. - if ( radius == 0.0 ) - return 1.0; - else - return radius; + // Returns the radius of a G4SphericalSurface unless it is zero, in which + // case returns the arbitrary number 1.0. + // Used for Scale-invariant tests of surface thickness. + + if ( radius == 0.0 ) { return 1.0; } + else { return radius; } } G4double G4SphericalSurface::Area() const { - // Returns the Area of a G4SphericalSurface + // Returns the Area of a G4SphericalSurface + return ( 2.0*( theta_2 - theta_1 )*( phi_2 - phi_1)*radius*radius/pi ); } void G4SphericalSurface::resize( G4double r, - G4double ph1, G4double ph2, - G4double th1, G4double th2 ) + G4double ph1, G4double ph2, + G4double th1, G4double th2 ) { - // Resize the G4SphericalSurface to new radius r, new lower and upper - // azimuthal angle limits ph1 and ph2, and new lower and upper polar - // angle limits th1 and th2. + // Resize the G4SphericalSurface to new radius r, new lower and upper + // azimuthal angle limits ph1 and ph2, and new lower and upper polar + // angle limits th1 and th2. // Require radius to be non-negative - if ( r >= 0.0 ) - radius = r; + // + if ( r >= 0.0 ) { radius = r; } else { G4cerr << "Error in G4SphericalSurface::resize" - << "--radius cannot be less than zero.\n" - << "\tOriginal value of " << radius << " is retained.\n"; + << "--radius cannot be less than zero.\n" + << "\tOriginal value of " << radius << " is retained.\n"; } // Require azimuthal angles to be within bounds - if ( ( ph1 >= 0.0 ) && ( ph1 < twopi ) ) - phi_1 = ph1; + if ( ( ph1 >= 0.0 ) && ( ph1 < twopi ) ) { phi_1 = ph1; } else { G4cerr << "Error in G4SphericalSurface::resize" - << "--lower azimuthal limit out of range\n" - << "\tOriginal value of " << phi_1 << " is retained.\n"; + << "--lower azimuthal limit out of range\n" + << "\tOriginal value of " << phi_1 << " is retained.\n"; } - if ( ( ph2 > phi_1 ) && ( ph2 <= ( phi_1 + twopi ) ) ) - phi_2 = ph2; + if ( ( ph2 > phi_1 ) && ( ph2 <= ( phi_1 + twopi ) ) ) { phi_2 = ph2; } else { - ph2 = ( phi_2 <= phi_1 ) ? ( phi_1 + FLT_EPSILO ) : phi_2; + ph2 = ( phi_2 <= phi_1 ) ? ( phi_1 + kAngTolerance ) : phi_2; phi_2 = ph2; G4cerr << "Error in G4SphericalSurface::resize" - << "--upper azimuthal limit out of range\n" - << "\tValue of " << phi_2 << " is used.\n"; + << "--upper azimuthal limit out of range\n" + << "\tValue of " << phi_2 << " is used.\n"; } - // Require polar angles to be within bounds - if ( ( th1 >= 0.0 ) && ( th1 < pi ) ) - theta_1 = th1; + // Require polar angles to be within bounds + // + if ( ( th1 >= 0.0 ) && ( th1 < pi ) ) { theta_1 = th1; } else { G4cerr << "Error in G4SphericalSurface::resize" - << "--lower polar limit out of range\n" - << "\tOriginal value of " << theta_1 << " is retained.\n"; + << "--lower polar limit out of range\n" + << "\tOriginal value of " << theta_1 << " is retained.\n"; } - if ( ( th2 > theta_1 ) && ( th2 <= ( theta_1 + pi ) ) ) - theta_2 = th2; + if ( ( th2 > theta_1 ) && ( th2 <= ( theta_1 + pi ) ) ) { theta_2 = th2; } else { - th2 = ( theta_2 <= theta_1 ) ? ( theta_1 + FLT_EPSILO ) : theta_2; + th2 = ( theta_2 <= theta_1 ) ? ( theta_1 + kAngTolerance ) : theta_2; theta_2 = th2; G4cerr << "Error in G4SphericalSurface::resize" - << "--upper polar limit out of range\n" - << "\tValue of " << theta_2 << " is used.\n"; + << "--upper polar limit out of range\n" + << "\tValue of " << theta_2 << " is used.\n"; } } /* -void G4SphericalSurface::rotate( G4double alpha, G4double beta, - G4double gamma, G4ThreeMat& m, G4int inverse ) -{ // rotate G4SphericalSurface first about global x_axis by angle alpha, - // second about global y-axis by angle beta, - // and third about global z_axis by angle gamma - // by creating and using G4ThreeMat objects in Surface::rotate - // angles are assumed to be given in radians - // if inverse is non-zero, the order of rotations is reversed - // the axis is rotated here, the origin is rotated by calling - // Surface::rotate - G4Surface::rotate( alpha, beta, gamma, m, inverse ); - x_axis = m * x_axis; - z_axis = m * z_axis; +void G4SphericalSurface:: +rotate( G4double alpha, G4double beta, + G4double gamma, G4ThreeMat& m, G4int inverse ) +{ + // Rotate G4SphericalSurface first about global x_axis by angle alpha, + // second about global y-axis by angle beta, + // and third about global z_axis by angle gamma + // by creating and using G4ThreeMat objects in Surface::rotate + // angles are assumed to be given in radians + // if inverse is non-zero, the order of rotations is reversed + // the axis is rotated here, the origin is rotated by calling + // Surface::rotate + + G4Surface::rotate( alpha, beta, gamma, m, inverse ); + x_axis = m * x_axis; + z_axis = m * z_axis; } -*/ -/* -void G4SphericalSurface::rotate( G4double alpha, G4double beta, - G4double gamma, G4int inverse ) -{ // rotate G4SphericalSurface first about global x_axis by angle alpha, - // second about global y-axis by angle beta, - // and third about global z_axis by angle gamma - // by creating and using G4ThreeMat objects in Surface::rotate - // angles are assumed to be given in radians - // if inverse is non-zero, the order of rotations is reversed - // the axis is rotated here, the origin is rotated by calling - // Surface::rotate - G4ThreeMat m; - G4Surface::rotate( alpha, beta, gamma, m, inverse ); - x_axis = m * x_axis; - z_axis = m * z_axis; +void G4SphericalSurface:: +rotate( G4double alpha, G4double beta, G4double gamma, G4int inverse ) +{ + // Rotate G4SphericalSurface first about global x_axis by angle alpha, + // second about global y-axis by angle beta, + // and third about global z_axis by angle gamma + // by creating and using G4ThreeMat objects in Surface::rotate + // angles are assumed to be given in radians + // if inverse is non-zero, the order of rotations is reversed + // the axis is rotated here, the origin is rotated by calling + // Surface::rotate + + G4ThreeMat m; + G4Surface::rotate( alpha, beta, gamma, m, inverse ); + x_axis = m * x_axis; + z_axis = m * z_axis; } */ /* G4double G4SphericalSurface::gropeAlongHelix( const Helix* hx ) const -{ // Grope for a solution of a Helix intersecting a G4SphericalSurface. - // This function returns the turning angle (in radians) where the - // intersection occurs with only positive values allowed, or -1.0 if - // no intersection is found. -// The idea is to start at the beginning of the Helix, then take steps -// of some fraction of a turn. If at the end of a Step, the current position -// along the Helix and the previous position are on opposite sides of the -// G4SphericalSurface, then the solution must lie somewhere in between. - G4int one_over_f = 8; // one over fraction of a turn to go in each Step - G4double turn_angle = 0.0; - G4double dist_along = 0.0; - G4double d_new; - G4double fk = 1.0 / G4double( one_over_f ); - G4double scal = Scale(); - G4double d_old = HowNear( hx->position( dist_along ) ); - G4double rh = hx->GetRadius(); // radius of Helix - G4Vector3D prp = hx->getPerp(); // perpendicular vector - G4double prpmag = prp.mag(); - G4double rhp = rh / prpmag; - G4int max_iter = one_over_f * HELIX_MAX_TURNS; -// Take up to a user-settable number of turns along the Helix, -// groping for an intersection point. - for ( G4int k = 1; k < max_iter; k++ ) { - turn_angle = twopi * k / one_over_f; - dist_along = turn_angle * std::fabs( rhp ); - d_new = HowNear( hx->position( dist_along ) ); - if ( ( d_old < 0.0 && d_new > 0.0 ) || - ( d_old > 0.0 && d_new < 0.0 ) ) { - d_old = d_new; -// Old and new points are on opposite sides of the G4SphericalSurface, therefore -// a solution lies in between, use a binary search to pin the point down -// to the surface precision, but don't do more than 50 iterations. - G4int itr = 0; - while ( std::fabs( d_new / scal ) > SURFACE_PRECISION ) { - itr++; - if ( itr > 50 ) - return turn_angle; - turn_angle -= fk * pi; - dist_along = turn_angle * std::fabs( rhp ); - d_new = HowNear( hx->position( dist_along ) ); - if ( ( d_old < 0.0 && d_new > 0.0 ) || - ( d_old > 0.0 && d_new < 0.0 ) ) - fk *= -0.5; - else - fk *= 0.5; - d_old = d_new; - } // end of while loop - return turn_angle; // this is the best solution - } // end of if condition - } // end of for loop -// Get here only if no solution is found, so return -1.0 to indicate that. - return -1.0; +{ + // Grope for a solution of a Helix intersecting a G4SphericalSurface. + // This function returns the turning angle (in radians) where the + // intersection occurs with only positive values allowed, or -1.0 if + // no intersection is found. + // The idea is to start at the beginning of the Helix, then take steps + // of some fraction of a turn. If at the end of a Step, the current position + // along the Helix and the previous position are on opposite sides of the + // G4SphericalSurface, then the solution must lie somewhere in between. + + G4int one_over_f = 8; // one over fraction of a turn to go in each Step + G4double turn_angle = 0.0; + G4double dist_along = 0.0; + G4double d_new; + G4double fk = 1.0 / G4double( one_over_f ); + G4double scal = Scale(); + G4double d_old = HowNear( hx->position( dist_along ) ); + G4double rh = hx->GetRadius(); // radius of Helix + G4Vector3D prp = hx->getPerp(); // perpendicular vector + G4double prpmag = prp.mag(); + G4double rhp = rh / prpmag; + G4int max_iter = one_over_f * HELIX_MAX_TURNS; + + // Take up to a user-settable number of turns along the Helix, + // groping for an intersection point. + + for ( G4int k = 1; k < max_iter; k++ ) + { + turn_angle = twopi * k / one_over_f; + dist_along = turn_angle * std::fabs( rhp ); + d_new = HowNear( hx->position( dist_along ) ); + if ( ( d_old < 0.0 && d_new > 0.0 ) || ( d_old > 0.0 && d_new < 0.0 ) ) + { + d_old = d_new; + + // Old and new points are on opposite sides of the G4SphericalSurface, + // therefore a solution lies in between, use a binary search to pin the + // point down to the surface precision, but don't do more than 50 + // iterations. + + G4int itr = 0; + while ( std::fabs( d_new / scal ) > SURFACE_PRECISION ) + { + itr++; + if ( itr > 50 ) { return turn_angle; } + turn_angle -= fk * pi; + dist_along = turn_angle * std::fabs( rhp ); + d_new = HowNear( hx->position( dist_along ) ); + if (( d_old < 0.0 && d_new > 0.0 ) || ( d_old > 0.0 && d_new < 0.0 )) + { fk *= -0.5; } + else + { fk *= 0.5; } + d_old = d_new; + } // end of while loop + return turn_angle; // this is the best solution + } // end of if condition + } // end of for loop + + // Get here only if no solution is found, so return -1.0 to indicate that. + + return -1.0; } */ diff --git a/source/geometry/solids/BREPS/src/G4Surface.cc b/source/geometry/solids/BREPS/src/G4Surface.cc index 7f3c239d39..67ac102fc8 100644 --- a/source/geometry/solids/BREPS/src/G4Surface.cc +++ b/source/geometry/solids/BREPS/src/G4Surface.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Surface.cc,v 1.17 2007/07/16 08:06:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Surface.cc,v 1.20 2010/09/06 16:02:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -39,20 +39,52 @@ #include "G4GeometryTolerance.hh" G4Surface::G4Surface() - : FLT_MAXX(kInfinity), FLT_EPSILO(0.0001) + : G4STEPEntity(), + bbox(0), next(0), Intersected(0), Type(0), AdvancedFace(0), + active(1), distance(kInfinity), uhit(0.), vhit(0.), sameSense(0) { - AdvancedFace=0; - active = 1; - distance = 1.0e20; - Type = 0; - bbox = 0; kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); } + G4Surface::~G4Surface() { } + +G4Surface::G4Surface( const G4Surface& c ) + : G4STEPEntity(), + bbox(c.bbox), next(c.next), Intersected(c.Intersected), Type(c.Type), + AdvancedFace(c.AdvancedFace), active(c.active), distance(c.distance), + uhit(c.uhit), vhit(c.vhit), sameSense(c.sameSense) +{ + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); +} + + +G4Surface& +G4Surface::operator=( const G4Surface& c ) +{ + if (&c == this) { return *this; } + bbox = c.bbox; + next = c.next; + Intersected = c.Intersected; + Type = c.Type; + AdvancedFace = c.AdvancedFace; + active = c.active; + distance = c.distance; + uhit = c.uhit; + vhit = c.vhit; + + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); + + return *this; +} + + G4int G4Surface::operator==( const G4Surface& s ) { return origin == s.origin; @@ -166,7 +198,6 @@ G4int G4Surface::Intersect(const G4Ray&) #endif return Result; - } diff --git a/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc b/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc index 1c2ee89c66..3e7cf5b1fa 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SurfaceBoundary.cc,v 1.14 2006/06/29 18:42:46 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SurfaceBoundary.cc,v 1.15 2010/07/07 14:45:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -131,15 +131,18 @@ G4SurfaceBoundary* G4SurfaceBoundary::Project(const G4Transform3D& tr) a = newBounds.back(); newBounds.pop_back(); for (G4CurveVector::iterator i=newBounds.begin(); - i!=newBounds.end(); i++) + i!=newBounds.end();) { if (*i==a) { - newBounds.erase(i); + i = newBounds.erase(i); + } + else + { i--; } } - if ( a ) delete a; + if ( a ) { delete a; } } return 0; } diff --git a/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc b/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc index bdf58a09e6..0dde5b9c30 100644 --- a/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ToroidalSurface.cc,v 1.10 2006/06/29 18:42:59 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ToroidalSurface.cc,v 1.12 2010/09/06 16:02:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -38,7 +38,7 @@ G4ToroidalSurface::G4ToroidalSurface() - : EQN_EPS(1e-9) + : MinRadius(0.), MaxRadius(0.), TransMatrix(0), EQN_EPS(1e-9) { } @@ -59,6 +59,7 @@ G4ToroidalSurface::G4ToroidalSurface(const G4Vector3D& Location, G4ToroidalSurface::~G4ToroidalSurface() { + delete TransMatrix; } @@ -128,14 +129,14 @@ G4int G4ToroidalSurface::Intersect(const G4Ray& Ray) // -------------------------------------------------------------------- // Variables. Should be optimized later... - G4Point3D Base = Ray.GetStart(); // Base of the intersection ray - G4Vector3D DCos = Ray.GetDir(); // Direction cosines of the ray - G4int nhits=0; // Number of intersections - G4double rhits[4]; // Intersection distances - G4double hits[4]; // Ordered intersection distances - G4double rho, a0, b0; // Related constants - G4double f, l, t, g, q, m, u; // Ray dependent terms - G4double C[5]; // Quartic coefficients + G4Point3D Base = Ray.GetStart(); // Base of the intersection ray + G4Vector3D DCos = Ray.GetDir(); // Direction cosines of the ray + G4int nhits=0; // Number of intersections + G4double rhits[4]; // Intersection distances + G4double hits[4] = {0.,0.,0.,0.}; // Ordered intersection distances + G4double rho, a0, b0; // Related constants + G4double f, l, t, g, q, m, u; // Ray dependent terms + G4double C[5]; // Quartic coefficients // Transform the intersection ray diff --git a/source/geometry/solids/Boolean/CMakeLists.txt b/source/geometry/solids/Boolean/CMakeLists.txt new file mode 100644 index 0000000000..20e583f686 --- /dev/null +++ b/source/geometry/solids/Boolean/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4geomBoolean +# Package: Geant4.src.G4geometry..G4geomBoolean +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:42:21 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/geometry/solids/Boolean/GNUmakefile b/source/geometry/solids/Boolean/GNUmakefile index b22d2d3374..ceb9656467 100644 --- a/source/geometry/solids/Boolean/GNUmakefile +++ b/source/geometry/solids/Boolean/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.6 2005/05/09 13:44:58 gcosmo Exp $ +# $Id: GNUmakefile,v 1.8 2010/10/27 07:34:32 gcosmo Exp $ # ---------------------------------------------------------------- # GNUmakefile for geometry/CSG library. Gabriele Cosmo, 16/11/96. # ---------------------------------------------------------------- diff --git a/source/geometry/solids/Boolean/History b/source/geometry/solids/Boolean/History index bf67990973..e1c7f0ba59 100644 --- a/source/geometry/solids/Boolean/History +++ b/source/geometry/solids/Boolean/History @@ -1,5 +1,5 @@ -$Id: History,v 1.62 2007/10/24 08:19:11 gcosmo Exp $ +$Id: History,v 1.67 2010/10/20 07:31:58 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,27 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + October 19, 2010 G.Cosmo geom-bool-V09-03-03 + - Implemented Clone() virtual method for all solids, returning a pointer + to a dynamically allocated copy of the solid. To be used by Geant4-MT. + + September 22, 2010 G.Cosmo geom-bool-V09-03-02 + - Implemented copy-constructor and assignment operator for concrete + solids classes to facilitate conversion to Geant4-MT. + + July 7, 2010 G.Cosmo geom-bool-V09-03-01 + - Simplified logic in G4UnionSolid::Inside() to exclude obvious + conditional cases. + + May 11, 2010 J.Allison geom-bool-V09-03-00 + - Introduced recursive algorithm in CreatePolyhedron(): it uses + HepPolyhedronProcessor from 'graphics_reps', which tries small shifts + in an attempt to avoid numerical problems in the calculation of the + polyhedron in BooleanProcessor. Recursion allows HepPolyhedronProcessor + to try all permutations, also for Booleans of Booleans. + Helps in reducing the number of cases of "Error in Boolean processor" for + visualization, but still some stubborn cases are left. + Oct 24, 2007 V.Grichine geom-bool-V09-00-00 - Improved response of Inside() for G4SubtractionSolid and G4UnionSolid according to suggestion in problem report #979. diff --git a/source/geometry/solids/Boolean/include/G4BooleanSolid.hh b/source/geometry/solids/Boolean/include/G4BooleanSolid.hh index af657f3084..53eb08f71b 100644 --- a/source/geometry/solids/Boolean/include/G4BooleanSolid.hh +++ b/source/geometry/solids/Boolean/include/G4BooleanSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BooleanSolid.hh,v 1.15 2006/10/19 15:34:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BooleanSolid.hh,v 1.18 2010/09/22 14:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4BooleanSolid @@ -49,7 +49,7 @@ #include "G4RotationMatrix.hh" #include "G4Transform3D.hh" -class G4VSolid; +class HepPolyhedronProcessor; class G4BooleanSolid : public G4VSolid { @@ -105,16 +105,18 @@ class G4BooleanSolid : public G4VSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4BooleanSolid(const G4BooleanSolid& rhs); + G4BooleanSolid& operator=(const G4BooleanSolid& rhs); + // Copy constructor and assignment operator. + protected: G4VSolid* fPtrSolidA; G4VSolid* fPtrSolidB; - private: - - G4BooleanSolid(const G4BooleanSolid&); - G4BooleanSolid& operator=(const G4BooleanSolid&); - // Private copy constructor and assignment operator. + G4Polyhedron* StackPolyhedron(HepPolyhedronProcessor&, + const G4VSolid*) const; + // Stack polyhedra for processing. Return top polyhedron. private: diff --git a/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh b/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh index 02b3f73370..a3862bf848 100644 --- a/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh +++ b/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DisplacedSolid.hh,v 1.19 2006/06/29 18:43:31 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DisplacedSolid.hh,v 1.21 2010/10/20 07:31:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4DisplacedSolid @@ -108,10 +108,11 @@ class G4DisplacedSolid : public G4VSolid public: // with description - virtual G4GeometryType GetEntityType() const; + G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; - virtual const G4DisplacedSolid* GetDisplacedSolidPtr() const ; - virtual G4DisplacedSolid* GetDisplacedSolidPtr(); + const G4DisplacedSolid* GetDisplacedSolidPtr() const; + G4DisplacedSolid* GetDisplacedSolidPtr(); // If the Solid is a "G4DisplacedSolid", // return a self pointer else return 0. @@ -147,10 +148,14 @@ class G4DisplacedSolid : public G4VSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4DisplacedSolid(const G4DisplacedSolid& rhs); + G4DisplacedSolid& operator=(const G4DisplacedSolid& rhs); + // Copy constructor and assignment operator. + void DescribeYourselfTo ( G4VGraphicsScene& scene ) const ; G4Polyhedron* CreatePolyhedron () const ; G4NURBS* CreateNURBS () const ; - virtual G4Polyhedron* GetPolyhedron () const; + G4Polyhedron* GetPolyhedron () const ; // For creating graphical representations (ie for visualisation). protected: @@ -159,12 +164,6 @@ class G4DisplacedSolid : public G4VSolid G4AffineTransform* fPtrTransform ; G4AffineTransform* fDirectTransform ; mutable G4Polyhedron* fpPolyhedron; - - private: - - G4DisplacedSolid(const G4DisplacedSolid&); - G4DisplacedSolid& operator=(const G4DisplacedSolid&); - // Private copy constructor and assignment operator. } ; #endif diff --git a/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh b/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh index 1349aaeb7f..8c231b176a 100644 --- a/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IntersectionSolid.hh,v 1.9 2006/06/29 18:43:33 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4IntersectionSolid.hh,v 1.11 2010/10/20 07:31:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4IntersectionSolid @@ -72,7 +72,9 @@ class G4IntersectionSolid : public G4BooleanSolid virtual ~G4IntersectionSolid() ; - virtual G4GeometryType GetEntityType() const; + G4GeometryType GetEntityType() const; + + G4VSolid* Clone() const; public: // without description @@ -81,6 +83,10 @@ class G4IntersectionSolid : public G4BooleanSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4IntersectionSolid(const G4IntersectionSolid& rhs); + G4IntersectionSolid& operator=(const G4IntersectionSolid& rhs); + // Copy constructor and assignment operator. + G4bool CalculateExtent( const EAxis pAxis, const G4VoxelLimits& pVoxelLimit, const G4AffineTransform& pTransform, diff --git a/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh b/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh index 2824884a1a..a4aa27ea1f 100644 --- a/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SubtractionSolid.hh,v 1.9 2006/06/29 18:43:35 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SubtractionSolid.hh,v 1.11 2010/10/20 07:31:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4SubtractionSolid @@ -72,7 +72,9 @@ class G4SubtractionSolid : public G4BooleanSolid virtual ~G4SubtractionSolid() ; - virtual G4GeometryType GetEntityType() const ; + G4GeometryType GetEntityType() const ; + + G4VSolid* Clone() const; public: // without description @@ -81,6 +83,10 @@ class G4SubtractionSolid : public G4BooleanSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4SubtractionSolid(const G4SubtractionSolid& rhs); + G4SubtractionSolid& operator=(const G4SubtractionSolid& rhs); + // Copy constructor and assignment operator. + G4bool CalculateExtent( const EAxis pAxis, const G4VoxelLimits& pVoxelLimit, const G4AffineTransform& pTransform, diff --git a/source/geometry/solids/Boolean/include/G4UnionSolid.hh b/source/geometry/solids/Boolean/include/G4UnionSolid.hh index b5dc22fcee..0c5567b00c 100644 --- a/source/geometry/solids/Boolean/include/G4UnionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4UnionSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UnionSolid.hh,v 1.10 2006/06/29 18:43:37 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UnionSolid.hh,v 1.12 2010/10/20 07:31:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4UnionSolid @@ -71,7 +71,9 @@ class G4UnionSolid : public G4BooleanSolid virtual ~G4UnionSolid() ; - virtual G4GeometryType GetEntityType() const ; + G4GeometryType GetEntityType() const ; + + G4VSolid* Clone() const; public: // without description @@ -80,6 +82,10 @@ class G4UnionSolid : public G4BooleanSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4UnionSolid(const G4UnionSolid& rhs); + G4UnionSolid& operator=(const G4UnionSolid& rhs); + // Copy constructor and assignment operator. + G4bool CalculateExtent( const EAxis pAxis, const G4VoxelLimits& pVoxelLimit, const G4AffineTransform& pTransform, diff --git a/source/geometry/solids/Boolean/sources.cmake b/source/geometry/solids/Boolean/sources.cmake new file mode 100644 index 0000000000..4fae2d5a46 --- /dev/null +++ b/source/geometry/solids/Boolean/sources.cmake @@ -0,0 +1,62 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4geomBoolean +# Package: Geant4.src.G4geometry..G4geomBoolean +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:42:29 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4geomBoolean + HEADERS + G4BooleanSolid.hh + G4BooleanSolid.icc + G4DisplacedSolid.hh + G4IntersectionSolid.hh + G4SubtractionSolid.hh + G4UnionSolid.hh + SOURCES + G4BooleanSolid.cc + G4DisplacedSolid.cc + G4IntersectionSolid.cc + G4SubtractionSolid.cc + G4UnionSolid.cc + GRANULAR_DEPENDENCIES + G4geometrymng + G4globman + G4graphics_reps + G4intercoms + G4volumes + GLOBAL_DEPENDENCIES + G4global + G4graphics_reps + G4intercoms + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/geometry/solids/Boolean/src/G4BooleanSolid.cc b/source/geometry/solids/Boolean/src/G4BooleanSolid.cc index ba1222d220..fedf6402b7 100644 --- a/source/geometry/solids/Boolean/src/G4BooleanSolid.cc +++ b/source/geometry/solids/Boolean/src/G4BooleanSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BooleanSolid.cc,v 1.21 2006/10/19 15:34:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BooleanSolid.cc,v 1.24 2010/09/22 14:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Implementation for the abstract base class for solids created by boolean // operations between other solids @@ -39,6 +39,7 @@ #include "G4BooleanSolid.hh" #include "G4VSolid.hh" #include "G4Polyhedron.hh" +#include "HepPolyhedronProcessor.h" #include "Randomize.hh" ////////////////////////////////////////////////////////////////// @@ -115,6 +116,44 @@ G4BooleanSolid::~G4BooleanSolid() delete fpPolyhedron; } +/////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4BooleanSolid::G4BooleanSolid(const G4BooleanSolid& rhs) + : G4VSolid (rhs), fPtrSolidA(rhs.fPtrSolidA), fPtrSolidB(rhs.fPtrSolidB), + fStatistics(rhs.fStatistics), fCubVolEpsilon(rhs.fCubVolEpsilon), + fAreaAccuracy(rhs.fAreaAccuracy), fCubicVolume(rhs.fCubicVolume), + fSurfaceArea(rhs.fSurfaceArea), fpPolyhedron(0), + createdDisplacedSolid(rhs.createdDisplacedSolid) +{ +} + +/////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4BooleanSolid& G4BooleanSolid::operator = (const G4BooleanSolid& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + fPtrSolidA= rhs.fPtrSolidA; fPtrSolidB= rhs.fPtrSolidB; + fStatistics= rhs.fStatistics; fCubVolEpsilon= rhs.fCubVolEpsilon; + fAreaAccuracy= rhs.fAreaAccuracy; fCubicVolume= rhs.fCubicVolume; + fSurfaceArea= rhs.fSurfaceArea; fpPolyhedron= 0; + createdDisplacedSolid= rhs.createdDisplacedSolid; + + return *this; +} + /////////////////////////////////////////////////////////////// // // If Solid is made up from a Boolean operation of two solids, @@ -230,3 +269,48 @@ G4Polyhedron* G4BooleanSolid::GetPolyhedron () const } return fpPolyhedron; } + +////////////////////////////////////////////////////////////////////////// +// +// Stacks polyhedra for processing. Returns top polyhedron. + +G4Polyhedron* +G4BooleanSolid::StackPolyhedron(HepPolyhedronProcessor& processor, + const G4VSolid* solid) const +{ + HepPolyhedronProcessor::Operation operation; + const G4String& type = solid->GetEntityType(); + if (type == "G4UnionSolid") + { operation = HepPolyhedronProcessor::UNION; } + else if (type == "G4IntersectionSolid") + { operation = HepPolyhedronProcessor::INTERSECTION; } + else if (type == "G4SubtractionSolid") + { operation = HepPolyhedronProcessor::SUBTRACTION; } + else + { + std::ostringstream oss; + oss << "Solid - " << solid->GetName() + << " - Unrecognised composite solid" + << "\n Returning NULL !"; + G4Exception("StackPolyhedron()", "InvalidSetup", + JustWarning, oss.str().c_str()); + return 0; + } + + G4Polyhedron* top = 0; + const G4VSolid* solidA = solid->GetConstituentSolid(0); + const G4VSolid* solidB = solid->GetConstituentSolid(1); + + if (solidA->GetConstituentSolid(0)) + { + top = StackPolyhedron(processor, solidA); + } + else + { + top = solidA->GetPolyhedron(); + } + G4Polyhedron* operand = solidB->GetPolyhedron(); + processor.push_back (operation, *operand); + + return top; +} diff --git a/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc b/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc index c15f2d7b09..ab68c81fd6 100644 --- a/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc +++ b/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DisplacedSolid.cc,v 1.27 2006/06/29 18:43:41 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DisplacedSolid.cc,v 1.29 2010/10/20 07:31:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Implementation for G4DisplacedSolid class for boolean // operations between other solids @@ -120,11 +120,42 @@ G4DisplacedSolid::~G4DisplacedSolid() delete fpPolyhedron; } -G4GeometryType G4DisplacedSolid::GetEntityType() const +/////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4DisplacedSolid::G4DisplacedSolid(const G4DisplacedSolid& rhs) + : G4VSolid (rhs), fPtrSolid(rhs.fPtrSolid), fpPolyhedron(0) { - return G4String("G4DisplacedSolid"); + fPtrTransform = new G4AffineTransform(*(rhs.fPtrTransform)); + fDirectTransform = new G4AffineTransform(*(rhs.fDirectTransform)); } +/////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4DisplacedSolid& G4DisplacedSolid::operator = (const G4DisplacedSolid& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + fPtrSolid = rhs.fPtrSolid; + delete fPtrTransform; delete fDirectTransform; + fPtrTransform = new G4AffineTransform(*(rhs.fPtrTransform)); + fDirectTransform = new G4AffineTransform(*(rhs.fDirectTransform)); + delete fpPolyhedron; fpPolyhedron= 0; + + return *this; +} + void G4DisplacedSolid::CleanTransformations() { if(fPtrTransform) @@ -355,6 +386,24 @@ G4ThreeVector G4DisplacedSolid::GetPointOnSurface() const return fDirectTransform->TransformPoint(p); } +////////////////////////////////////////////////////////////////////////// +// +// Return object type name + +G4GeometryType G4DisplacedSolid::GetEntityType() const +{ + return G4String("G4DisplacedSolid"); +} + +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object +// +G4VSolid* G4DisplacedSolid::Clone() const +{ + return new G4DisplacedSolid(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream diff --git a/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc b/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc index a52617834a..339501edf9 100644 --- a/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IntersectionSolid.cc,v 1.30 2006/11/08 09:37:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4IntersectionSolid.cc,v 1.34 2010/10/20 07:31:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Implementation of methods for the class G4IntersectionSolid // @@ -49,6 +49,7 @@ #include "G4VGraphicsScene.hh" #include "G4Polyhedron.hh" +#include "HepPolyhedronProcessor.h" #include "G4NURBS.hh" // #include "G4NURBSbox.hh" @@ -107,6 +108,33 @@ G4IntersectionSolid::~G4IntersectionSolid() { } +/////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4IntersectionSolid::G4IntersectionSolid(const G4IntersectionSolid& rhs) + : G4BooleanSolid (rhs) +{ +} + +/////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4IntersectionSolid& +G4IntersectionSolid::operator = (const G4IntersectionSolid& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4BooleanSolid::operator=(rhs); + + return *this; +} + /////////////////////////////////////////////////////////////// // // @@ -484,6 +512,15 @@ G4GeometryType G4IntersectionSolid::GetEntityType() const return G4String("G4IntersectionSolid"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object + +G4VSolid* G4IntersectionSolid::Clone() const +{ + return new G4IntersectionSolid(*this); +} + ///////////////////////////////////////////////// // // @@ -501,23 +538,13 @@ G4IntersectionSolid::DescribeYourselfTo ( G4VGraphicsScene& scene ) const G4Polyhedron* G4IntersectionSolid::CreatePolyhedron () const { - G4Polyhedron* pA = fPtrSolidA->GetPolyhedron(); - G4Polyhedron* pB = fPtrSolidB->GetPolyhedron(); - if (pA && pB) - { - G4Polyhedron* resultant = new G4Polyhedron (pA->intersect(*pB)); - return resultant; - } - else - { - std::ostringstream oss; - oss << "Solid - " << GetName() - << " - one of the Boolean components has no" << G4endl - << " corresponding polyhedron. Returning NULL !"; - G4Exception("G4IntersectionSolid::CreatePolyhedron()", "InvalidSetup", - JustWarning, oss.str().c_str()); - return 0; - } + HepPolyhedronProcessor processor; + // Stack components and components of components recursively + // See G4BooleanSolid::StackPolyhedron + G4Polyhedron* top = StackPolyhedron(processor, this); + G4Polyhedron* result = new G4Polyhedron(*top); + if (processor.execute(*result)) { return result; } + else { return 0; } } ///////////////////////////////////////////////////////// diff --git a/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc b/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc index 9e368efa5d..0a95ffc414 100644 --- a/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SubtractionSolid.cc,v 1.31 2007/10/23 14:42:31 grichine Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SubtractionSolid.cc,v 1.35 2010/10/20 07:31:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Implementation of methods for the class G4IntersectionSolid // @@ -47,6 +47,7 @@ #include "G4VGraphicsScene.hh" #include "G4Polyhedron.hh" +#include "HepPolyhedronProcessor.h" #include "G4NURBS.hh" // #include "G4NURBSbox.hh" @@ -107,6 +108,33 @@ G4SubtractionSolid::~G4SubtractionSolid() { } +/////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4SubtractionSolid::G4SubtractionSolid(const G4SubtractionSolid& rhs) + : G4BooleanSolid (rhs) +{ +} + +/////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4SubtractionSolid& +G4SubtractionSolid::operator = (const G4SubtractionSolid& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4BooleanSolid::operator=(rhs); + + return *this; +} + /////////////////////////////////////////////////////////////// // // CalculateExtent @@ -434,6 +462,15 @@ G4GeometryType G4SubtractionSolid::GetEntityType() const return G4String("G4SubtractionSolid"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object + +G4VSolid* G4SubtractionSolid::Clone() const +{ + return new G4SubtractionSolid(*this); +} + ////////////////////////////////////////////////////////////// // // @@ -462,23 +499,13 @@ G4SubtractionSolid::DescribeYourselfTo ( G4VGraphicsScene& scene ) const G4Polyhedron* G4SubtractionSolid::CreatePolyhedron () const { - G4Polyhedron* pA = fPtrSolidA->GetPolyhedron(); - G4Polyhedron* pB = fPtrSolidB->GetPolyhedron(); - if (pA && pB) - { - G4Polyhedron* resultant = new G4Polyhedron (pA->subtract(*pB)); - return resultant; - } - else - { - std::ostringstream oss; - oss << "Solid - " << GetName() - << " - one of the Boolean components has no" << G4endl - << " corresponding polyhedron. Returning NULL !"; - G4Exception("G4SubtractionSolid::CreatePolyhedron()", "InvalidSetup", - JustWarning, oss.str().c_str()); - return 0; - } + HepPolyhedronProcessor processor; + // Stack components and components of components recursively + // See G4BooleanSolid::StackPolyhedron + G4Polyhedron* top = StackPolyhedron(processor, this); + G4Polyhedron* result = new G4Polyhedron(*top); + if (processor.execute(*result)) { return result; } + else { return 0; } } ///////////////////////////////////////////////////////// diff --git a/source/geometry/solids/Boolean/src/G4UnionSolid.cc b/source/geometry/solids/Boolean/src/G4UnionSolid.cc index e8080a6387..5869edf5f1 100644 --- a/source/geometry/solids/Boolean/src/G4UnionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4UnionSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UnionSolid.cc,v 1.35 2007/10/23 14:42:31 grichine Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UnionSolid.cc,v 1.40 2010/10/20 07:31:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Implementation of methods for the class G4IntersectionSolid // @@ -48,6 +48,7 @@ #include "G4VGraphicsScene.hh" #include "G4Polyhedron.hh" +#include "HepPolyhedronProcessor.h" #include "G4NURBS.hh" // #include "G4NURBSbox.hh" @@ -107,6 +108,32 @@ G4UnionSolid::~G4UnionSolid() { } +/////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4UnionSolid::G4UnionSolid(const G4UnionSolid& rhs) + : G4BooleanSolid (rhs) +{ +} + +/////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4UnionSolid& G4UnionSolid::operator = (const G4UnionSolid& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4BooleanSolid::operator=(rhs); + + return *this; +} + /////////////////////////////////////////////////////////////// // // @@ -146,11 +173,11 @@ G4UnionSolid::CalculateExtent( const EAxis pAxis, EInside G4UnionSolid::Inside( const G4ThreeVector& p ) const { EInside positionA = fPtrSolidA->Inside(p); - if (positionA == kInside) return kInside; + if (positionA == kInside) { return kInside; } EInside positionB = fPtrSolidB->Inside(p); - if( positionA == kInside || positionB == kInside || + if( positionB == kInside || ( positionA == kSurface && positionB == kSurface && ( fPtrSolidA->SurfaceNormal(p) + fPtrSolidB->SurfaceNormal(p) ).mag2() < @@ -160,10 +187,10 @@ EInside G4UnionSolid::Inside( const G4ThreeVector& p ) const } else { - if( ( positionA != kInside && positionB == kSurface ) || - ( positionB != kInside && positionA == kSurface ) || - ( positionA == kSurface && positionB == kSurface ) ) return kSurface; - else return kOutside; + if( ( positionB == kSurface ) || ( positionA == kSurface ) ) + { return kSurface; } + else + { return kOutside; } } } @@ -425,6 +452,15 @@ G4GeometryType G4UnionSolid::GetEntityType() const return G4String("G4UnionSolid"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object + +G4VSolid* G4UnionSolid::Clone() const +{ + return new G4UnionSolid(*this); +} + ////////////////////////////////////////////////////////////// // // @@ -453,19 +489,13 @@ G4UnionSolid::DescribeYourselfTo ( G4VGraphicsScene& scene ) const G4Polyhedron* G4UnionSolid::CreatePolyhedron () const { - G4Polyhedron* pA = fPtrSolidA->GetPolyhedron(); - G4Polyhedron* pB = fPtrSolidB->GetPolyhedron(); - if (pA && pB) { - G4Polyhedron* resultant = new G4Polyhedron (pA->add(*pB)); - return resultant; - } else { - std::ostringstream oss; - oss << GetName() << - ": one of the Boolean components has no corresponding polyhedron."; - G4Exception("G4UnionSolid::CreatePolyhedron", - "", JustWarning, oss.str().c_str()); - return 0; - } + HepPolyhedronProcessor processor; + // Stack components and components of components recursively + // See G4BooleanSolid::StackPolyhedron + G4Polyhedron* top = StackPolyhedron(processor, this); + G4Polyhedron* result = new G4Polyhedron(*top); + if (processor.execute(*result)) { return result; } + else { return 0; } } ///////////////////////////////////////////////////////// diff --git a/source/geometry/solids/CMakeLists.txt b/source/geometry/solids/CMakeLists.txt new file mode 100644 index 0000000000..9b1115f5ea --- /dev/null +++ b/source/geometry/solids/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : +# Package: Geant4.src.G4geometry. +# +# Intermediate level CMakeLists.txt - just process subdirectories +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:42:42 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(BREPS) +add_subdirectory(Boolean) +add_subdirectory(CSG) +add_subdirectory(specific) + diff --git a/source/geometry/solids/CSG/CMakeLists.txt b/source/geometry/solids/CSG/CMakeLists.txt new file mode 100644 index 0000000000..ab31928880 --- /dev/null +++ b/source/geometry/solids/CSG/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4csg +# Package: Geant4.src.G4geometry..G4csg +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:42:50 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/geometry/solids/CSG/GNUmakefile b/source/geometry/solids/CSG/GNUmakefile index 2af722371b..9788489f26 100644 --- a/source/geometry/solids/CSG/GNUmakefile +++ b/source/geometry/solids/CSG/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.7 2005/05/09 13:47:24 gcosmo Exp $ +# $Id: GNUmakefile,v 1.9 2010/10/27 07:34:32 gcosmo Exp $ # ---------------------------------------------------------------- # GNUmakefile for geometry/CSG library. Gabriele Cosmo, 16/11/96. # ---------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/History b/source/geometry/solids/CSG/History index 6cbd478f53..7e6fa0a3e6 100644 --- a/source/geometry/solids/CSG/History +++ b/source/geometry/solids/CSG/History @@ -1,4 +1,4 @@ -$Id: History,v 1.119 2009/11/30 10:20:53 gcosmo Exp $ +$Id: History,v 1.135 2010/11/23 14:46:11 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,63 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Nov 23, 2010 G.Cosmo geom-csg-V09-03-14 & V09-03-12 +- Fixed one left cases of cout precision restoring in G4Sphere. + +Oct 19, 2010 G.Cosmo geom-csg-V09-03-11 +- Implemented Clone() virtual method for all solids, returning a pointer to a + dynamically allocated copy of the solid. To be used by Geant4-MT. + +Sep 23, 2010 G.Cosmo geom-csg-V09-03-10 +- Initialize fpPolyhedron to zero in G4CSGSolid copy-ctor and operator=(). + +Sep 22, 2010 G.Cosmo geom-csg-V09-03-09 +- Relaxed checking condition on SetOuterRadius() method to avoid + restrictions in order of calls for modifiers. + +Sep 17, 2010 G.Cosmo geom-csg-V09-03-08 +- Implemented copy-constructor and assignment operator for all solids + to facilitate conversion to Geant4-MT. + +Sep 17, 2010 G.Cosmo geom-csg-V09-03-07 +- Added missing validity checks on radii to modifiers in G4Tubs. + +Sep 07, 2010 G.Cosmo geom-csg-V09-03-06 +- Fix within G4CSGDEBUG code for restoring cout precision. + +Aug 23, 2010 G.Cosmo geom-csg-V09-03-05 +- G4Cons: fixed trivial compilation warning on Linux. + +Aug 19, 2010 T.Nikitina geom-csg-V09-03-04 +- G4Torus: fix in DistanceToOut(p,v,...) to address problem report #1081. + +Jul 12, 2010 G.Cosmo geom-csg-V09-03-03 +- Fixed condition in G4Tubs::Inside(p) for point on surface (T.Nikitina). +- Corrected use of std::fabs() in place of std::abs() in G4Tubs, G4Cons, + G4Sphere and G4Torus. Use pre-computed half-tolerance constants in G4Torus. + +Jul 08, 2010 G.Cosmo geom-csg-V09-03-02 +- Improved initialisation logic in constructor for: G4Box, G4Cons, G4Orb, + G4Para, G4Sphere, G4Torus, G4Trap, G4Trd, G4Tubs. +- Corrected cases of not-restored cout precision in: G4Box, G4Cons, G4Orb, + G4Para, G4Torus, G4Trap, G4Tubs. +- G4Torus: fixed call to internal method for finding roots, to avoid copy + of sdt::vector() by parameters. Some cleanup to avoid unnecessary protected + section and virtual table. +- Updated unit test for G4Sphere (V.Grichine). + +May 25, 2010 G.Cosmo geom-csg-V09-03-01 +- G4Box: more minor fixes in coding style, following code review discussion. + +May 18, 2010 G.Cosmo geom-csg-V09-03-00 +- G4Box: first implementation of speed improvements and corrections from joint + code review of G4Box class: introduced half-tolerance constants and better + logic in some conditional statements. +- Some code cleanup. + +Dec 04, 2009 V.Grichine +- G4Orb: modified DistanceToIn(p,v) to be more consistent with Inside(p). + Nov 30, 2009 V.Grichine geom-csg-V09-02-08 - G4Orb: moved debug warning in DistanceToIn(p,v) within G4CSGDEBUG flag. diff --git a/source/geometry/solids/CSG/include/G4Box.hh b/source/geometry/solids/CSG/include/G4Box.hh index 52f66a4480..71eb5653c2 100644 --- a/source/geometry/solids/CSG/include/G4Box.hh +++ b/source/geometry/solids/CSG/include/G4Box.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Box.hh,v 1.17 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Box.hh,v 1.20 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- // GEANT 4 class header file @@ -98,9 +98,11 @@ class G4Box : public G4CSGSolid G4GeometryType GetEntityType() const; G4ThreeVector GetPointOnSurface() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; - // Functions for visualization + // Utilities for visualization void DescribeYourselfTo (G4VGraphicsScene& scene) const; G4VisExtent GetExtent () const; @@ -114,6 +116,10 @@ class G4Box : public G4CSGSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Box(const G4Box& rhs); + G4Box& operator=(const G4Box& rhs); + // Copy constructor and assignment operator. + protected: // with description G4ThreeVectorList* @@ -124,7 +130,7 @@ class G4Box : public G4CSGSolid protected: // without description enum ESide {kUndefined,kPX,kMX,kPY,kMY,kPZ,kMZ}; - // Codes for faces (kPX=plus x face,kMY= minus y face etc) + // Codes for faces (kPX= +x face, kMY= -y face, etc...) private: diff --git a/source/geometry/solids/CSG/include/G4CSGSolid.hh b/source/geometry/solids/CSG/include/G4CSGSolid.hh index 9d0788c0f1..cdede61e67 100644 --- a/source/geometry/solids/CSG/include/G4CSGSolid.hh +++ b/source/geometry/solids/CSG/include/G4CSGSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CSGSolid.hh,v 1.12 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4CSGSolid.hh,v 1.14 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -65,6 +65,10 @@ class G4CSGSolid : public G4VSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4CSGSolid(const G4CSGSolid& rhs); + G4CSGSolid& operator=(const G4CSGSolid& rhs); + // Copy constructor and assignment operator. + protected: G4double fCubicVolume; diff --git a/source/geometry/solids/CSG/include/G4Cons.hh b/source/geometry/solids/CSG/include/G4Cons.hh index e1f9cdb624..2de262dc7d 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.22 2009/03/31 09:56:24 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Cons.hh,v 1.24 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -138,6 +138,8 @@ class G4Cons : public G4CSGSolid G4ThreeVector GetPointOnSurface() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; // Visualisation functions @@ -154,6 +156,10 @@ class G4Cons : public G4CSGSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Cons(const G4Cons& rhs); + G4Cons& operator=(const G4Cons& rhs); + // Copy constructor and assignment operator. + // Old access functions inline G4double GetRmin1() const; diff --git a/source/geometry/solids/CSG/include/G4Orb.hh b/source/geometry/solids/CSG/include/G4Orb.hh index 7cce2af04d..15e2f750b1 100644 --- a/source/geometry/solids/CSG/include/G4Orb.hh +++ b/source/geometry/solids/CSG/include/G4Orb.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Orb.hh,v 1.11 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Orb.hh,v 1.13 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -98,6 +98,8 @@ class G4Orb : public G4CSGSolid G4ThreeVector GetPointOnSurface() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; // Visualisation functions @@ -113,6 +115,10 @@ class G4Orb : public G4CSGSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Orb(const G4Orb& rhs); + G4Orb& operator=(const G4Orb& rhs); + // Copy constructor and assignment operator. + protected: // Used by distanceToOut diff --git a/source/geometry/solids/CSG/include/G4Para.hh b/source/geometry/solids/CSG/include/G4Para.hh index f2c8e7c009..58cd8da788 100644 --- a/source/geometry/solids/CSG/include/G4Para.hh +++ b/source/geometry/solids/CSG/include/G4Para.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Para.hh,v 1.18 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Para.hh,v 1.20 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -138,6 +138,8 @@ class G4Para : public G4CSGSolid G4ThreeVector GetPointOnSurface() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; // Visualisation functions @@ -153,6 +155,10 @@ class G4Para : public G4CSGSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Para(const G4Para& rhs); + G4Para& operator=(const G4Para& rhs); + // Copy constructor and assignment operator. + protected: // without description G4ThreeVectorList* diff --git a/source/geometry/solids/CSG/include/G4Sphere.hh b/source/geometry/solids/CSG/include/G4Sphere.hh index 3604e4ddfe..7493eaf416 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.24 2009/03/31 07:51:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Sphere.hh,v 1.27 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -143,6 +143,8 @@ class G4Sphere : public G4CSGSolid G4ThreeVector GetPointOnSurface() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; // Visualisation functions @@ -160,6 +162,10 @@ class G4Sphere : public G4CSGSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Sphere(const G4Sphere& rhs); + G4Sphere& operator=(const G4Sphere& rhs); + // Copy constructor and assignment operator. + // Old access functions inline G4double GetRmin() const; @@ -211,7 +217,11 @@ class G4Sphere : public G4CSGSolid // enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNSTheta,kNETheta}; - G4double fEpsilon, fRminTolerance, fRmaxTolerance, kAngTolerance; + static const G4double fEpsilon; + // + // Relative radial tolerance constant + + G4double fRminTolerance, fRmaxTolerance, kAngTolerance; // // Radial and angular tolerances diff --git a/source/geometry/solids/CSG/include/G4Torus.hh b/source/geometry/solids/CSG/include/G4Torus.hh index e4d86cb449..9936b06e99 100644 --- a/source/geometry/solids/CSG/include/G4Torus.hh +++ b/source/geometry/solids/CSG/include/G4Torus.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Torus.hh,v 1.27 2007/05/18 07:38:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Torus.hh,v 1.30 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -110,7 +110,7 @@ class G4Torus : public G4CSGSolid G4double pSPhi, G4double pDPhi); - virtual ~G4Torus(); + ~G4Torus(); // Accessors @@ -145,6 +145,8 @@ class G4Torus : public G4CSGSolid G4ThreeVector GetPointOnSurface() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; // Visualisation functions @@ -163,11 +165,16 @@ class G4Torus : public G4CSGSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. - protected: + G4Torus(const G4Torus& rhs); + G4Torus& operator=(const G4Torus& rhs); + // Copy constructor and assignment operator. - std::vector TorusRootsJT(const G4ThreeVector& p, - const G4ThreeVector& v, - G4double r) const ; + private: + + void TorusRootsJT(const G4ThreeVector& p, + const G4ThreeVector& v, + G4double r, + std::vector& roots) const ; G4double SolveNumericJT(const G4ThreeVector& p, const G4ThreeVector& v, @@ -178,7 +185,11 @@ class G4Torus : public G4CSGSolid CreateRotatedVertices(const G4AffineTransform& pTransform, G4int& noPolygonVertices) const; - protected: + G4ThreeVector ApproxSurfaceNormal( const G4ThreeVector& p) const; + // Algorithm for SurfaceNormal() following the original + // specification for points not on the surface + + private: G4double fRmin,fRmax,fRtor,fSPhi,fDPhi; @@ -188,14 +199,6 @@ class G4Torus : public G4CSGSolid // used by normal enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi}; - private: - - G4ThreeVector ApproxSurfaceNormal( const G4ThreeVector& p) const; - // Algorithm for SurfaceNormal() following the original - // specification for points not on the surface - - private: - G4double kRadTolerance, kAngTolerance; // Radial and angular tolerances }; diff --git a/source/geometry/solids/CSG/include/G4Trap.hh b/source/geometry/solids/CSG/include/G4Trap.hh index 1a76041819..8ea0bb9413 100644 --- a/source/geometry/solids/CSG/include/G4Trap.hh +++ b/source/geometry/solids/CSG/include/G4Trap.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Trap.hh,v 1.17 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Trap.hh,v 1.19 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -219,6 +219,8 @@ class G4Trap : public G4CSGSolid G4ThreeVector GetPointOnSurface() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo( std::ostream& os ) const; // Visualisation functions @@ -234,6 +236,10 @@ class G4Trap : public G4CSGSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Trap(const G4Trap& rhs); + G4Trap& operator=(const G4Trap& rhs); + // Copy constructor and assignment operator. + protected: // with description G4bool MakePlanes(); diff --git a/source/geometry/solids/CSG/include/G4Trd.hh b/source/geometry/solids/CSG/include/G4Trd.hh index 611ca4eb6e..ced810fb23 100644 --- a/source/geometry/solids/CSG/include/G4Trd.hh +++ b/source/geometry/solids/CSG/include/G4Trd.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Trd.hh,v 1.16 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Trd.hh,v 1.19 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -71,7 +71,7 @@ class G4Trd : public G4CSGSolid // // Constructs a trapezoid with name, and half lengths - virtual ~G4Trd(); + ~G4Trd(); // // Destructor @@ -134,6 +134,8 @@ class G4Trd : public G4CSGSolid G4ThreeVector GetPointOnSurface() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo( std::ostream& os ) const; // Visualisation functions @@ -144,12 +146,17 @@ class G4Trd : public G4CSGSolid public: // without description + enum ESide {kUndefined, kPX,kMX,kPY,kMY,kPZ,kMZ}; + // Codes for faces (kPX=plus x face,kMY= minus y face etc) + G4Trd(__void__&); // Fake default constructor for usage restricted to direct object // persistency for clients requiring preallocation of memory for // persistifiable objects. - protected: // without description + G4Trd(const G4Trd& rhs); + G4Trd& operator=(const G4Trd& rhs); + // Copy constructor and assignment operator. G4ThreeVectorList* CreateRotatedVertices( const G4AffineTransform& pTransform ) const; @@ -157,17 +164,13 @@ class G4Trd : public G4CSGSolid // Creates the List of transformed vertices in the format required // for G4CSGSolid:: ClipCrossSection and ClipBetweenSections - G4double fDx1,fDx2,fDy1,fDy2,fDz; - - // Codes for faces (kPX=plus x face,kMY= minus y face etc) - - enum ESide {kUndefined, kPX,kMX,kPY,kMY,kPZ,kMZ}; - - private: - G4ThreeVector ApproxSurfaceNormal( const G4ThreeVector& p ) const; // Algorithm for SurfaceNormal() following the original // specification for points not on the surface + + private: + + G4double fDx1,fDx2,fDy1,fDy2,fDz; }; #include "G4Trd.icc" diff --git a/source/geometry/solids/CSG/include/G4Tubs.hh b/source/geometry/solids/CSG/include/G4Tubs.hh index 42aa0b8259..6612d155c0 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.22 2009/03/26 16:25:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Tubs.hh,v 1.24 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -134,6 +134,8 @@ class G4Tubs : public G4CSGSolid G4ThreeVector GetPointOnSurface() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo( std::ostream& os ) const; // Visualisation functions @@ -150,6 +152,10 @@ class G4Tubs : public G4CSGSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Tubs(const G4Tubs& rhs); + G4Tubs& operator=(const G4Tubs& rhs); + // Copy constructor and assignment operator. + // Older names for access functions inline G4double GetRMin() const; diff --git a/source/geometry/solids/CSG/include/G4Tubs.icc b/source/geometry/solids/CSG/include/G4Tubs.icc index 480dd3734b..0adb3390f7 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.14 2009/06/09 16:08:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Tubs.icc,v 1.18 2010/09/22 08:31:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file @@ -144,6 +144,18 @@ inline void G4Tubs::CheckPhiAngles(G4double sPhi, G4double dPhi) inline void G4Tubs::SetInnerRadius (G4double newRMin) { + if ( newRMin < 0 ) // Check radii + { + G4cerr << "ERROR - G4Tubs()::SetInnerRadius()" << G4endl + << " Invalid values for radii in solid " << GetName() + << G4endl + << " newRMin = " << newRMin + << ", fRMax = " << fRMax << G4endl + << " Negative inner radius!" + << G4endl; + G4Exception("G4Tubs::SetInnerRadius()", "InvalidSetup", FatalException, + "Invalid radii."); + } fRMin= newRMin; Initialize(); } @@ -151,6 +163,18 @@ void G4Tubs::SetInnerRadius (G4double newRMin) inline void G4Tubs::SetOuterRadius (G4double newRMax) { + if ( newRMax <= 0 ) // Check radii + { + G4cerr << "ERROR - G4Tubs()::SetOuterRadius()" << G4endl + << " Invalid values for radii in solid " << GetName() + << G4endl + << " fRMin = " << fRMin + << ", newRMax = " << newRMax << G4endl + << " Invalid outer radius!" + << G4endl; + G4Exception("G4Tubs::SetOuterRadius()", "InvalidSetup", FatalException, + "Invalid radii."); + } fRMax= newRMax; Initialize(); } @@ -158,6 +182,14 @@ void G4Tubs::SetOuterRadius (G4double newRMax) inline void G4Tubs::SetZHalfLength (G4double newDz) { + if (newDz<=0) // Check z-len + { + G4cerr << "ERROR - G4Tubs()::SetZHalfLength()" << G4endl + << " Negative Z half-length (" << newDz << ") in solid: " + << GetName() << G4endl; + G4Exception("G4Tubs::SetZHalfLength()", "InvalidSetup", FatalException, + "Invalid Z half-length"); + } fDz= newDz; Initialize(); } diff --git a/source/geometry/solids/CSG/sources.cmake b/source/geometry/solids/CSG/sources.cmake new file mode 100644 index 0000000000..d2d4ae93b7 --- /dev/null +++ b/source/geometry/solids/CSG/sources.cmake @@ -0,0 +1,82 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4csg +# Package: Geant4.src.G4geometry..G4csg +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:42:59 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4csg + HEADERS + G4Box.hh + G4Box.icc + G4CSGSolid.hh + G4Cons.hh + G4Cons.icc + G4Orb.hh + G4Orb.icc + G4Para.hh + G4Para.icc + G4Sphere.hh + G4Sphere.icc + G4Torus.hh + G4Torus.icc + G4Trap.hh + G4Trap.icc + G4Trd.hh + G4Trd.icc + G4Tubs.hh + G4Tubs.icc + SOURCES + G4Box.cc + G4CSGSolid.cc + G4Cons.cc + G4Orb.cc + G4Para.cc + G4Sphere.cc + G4Torus.cc + G4Trap.cc + G4Trd.cc + G4Tubs.cc + GRANULAR_DEPENDENCIES + G4geometrymng + G4globman + G4graphics_reps + G4hepnumerics + G4intercoms + G4volumes + GLOBAL_DEPENDENCIES + G4global + G4graphics_reps + G4intercoms + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/geometry/solids/CSG/src/G4Box.cc b/source/geometry/solids/CSG/src/G4Box.cc index 047204cdbf..4e1401b08d 100644 --- a/source/geometry/solids/CSG/src/G4Box.cc +++ b/source/geometry/solids/CSG/src/G4Box.cc @@ -24,14 +24,14 @@ // ******************************************************************** // // -// $Id: G4Box.cc,v 1.44 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Box.cc,v 1.53 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // // Implementation for G4Box class // -// 24.06.98 - V. Grichine: insideEdge in DistanceToIn(p,v) +// 24.06.98 - V.Grichine: insideEdge in DistanceToIn(p,v) // 20.09.98 - V.Grichine: new algorithm of DistanceToIn(p,v) // 07.05.00 - V.Grichine: d= DistanceToIn(p,v), if d 2*kCarTolerance) - && (pY > 2*kCarTolerance) - && (pZ > 2*kCarTolerance) ) - { - fDx = pX ; - fDy = pY ; - fDz = pZ ; - } - else + if ( (pX < 2*kCarTolerance) + && (pY < 2*kCarTolerance) + && (pZ < 2*kCarTolerance) ) // limit to thickness of surfaces { G4cerr << "ERROR - G4Box()::G4Box(): " << GetName() << G4endl << " Dimensions too small ! - " @@ -88,7 +82,7 @@ G4Box::G4Box(const G4String& pName, // for usage restricted to object persistency. G4Box::G4Box( __void__& a ) - : G4CSGSolid(a) + : G4CSGSolid(a), fDx(0.), fDy(0.), fDz(0.) { } @@ -100,12 +94,46 @@ G4Box::~G4Box() { } +////////////////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4Box::G4Box(const G4Box& rhs) + : G4CSGSolid(rhs), fDx(rhs.fDx), fDy(rhs.fDy), fDz(rhs.fDz) +{ +} + +////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4Box& G4Box::operator = (const G4Box& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4CSGSolid::operator=(rhs); + + // Copy data + // + fDx = rhs.fDx; + fDy = rhs.fDy; + fDz = rhs.fDz; + + return *this; +} + ////////////////////////////////////////////////////////////////////////////// void G4Box::SetXHalfLength(G4double dx) { - if(dx > 2*kCarTolerance) + if(dx > 2*kCarTolerance) // limit to thickness of surfaces + { fDx = dx; + } else { G4cerr << "ERROR - G4Box()::SetXHalfLength(): " << GetName() << G4endl @@ -121,8 +149,10 @@ void G4Box::SetXHalfLength(G4double dx) void G4Box::SetYHalfLength(G4double dy) { - if(dy > 2*kCarTolerance) + if(dy > 2*kCarTolerance) // limit to thickness of surfaces + { fDy = dy; + } else { G4cerr << "ERROR - G4Box()::SetYHalfLength(): " << GetName() << G4endl @@ -138,8 +168,10 @@ void G4Box::SetYHalfLength(G4double dy) void G4Box::SetZHalfLength(G4double dz) { - if(dz > 2*kCarTolerance) + if(dz > 2*kCarTolerance) // limit to thickness of surfaces + { fDz = dz; + } else { G4cerr << "ERROR - G4Box()::SetZHalfLength(): " << GetName() << G4endl @@ -152,8 +184,6 @@ void G4Box::SetZHalfLength(G4double dz) fSurfaceArea= 0.; fpPolyhedron = 0; } - - //////////////////////////////////////////////////////////////////////// // @@ -192,18 +222,12 @@ G4bool G4Box::CalculateExtent(const EAxis pAxis, if (pVoxelLimit.IsXLimited()) { - if ( xMin > pVoxelLimit.GetMaxXExtent()+kCarTolerance || - xMax < pVoxelLimit.GetMinXExtent()-kCarTolerance ) return false ; + if ((xMin > pVoxelLimit.GetMaxXExtent()+kCarTolerance) || + (xMax < pVoxelLimit.GetMinXExtent()-kCarTolerance)) { return false ; } else { - if (xMin < pVoxelLimit.GetMinXExtent()) - { - xMin = pVoxelLimit.GetMinXExtent() ; - } - if (xMax > pVoxelLimit.GetMaxXExtent()) - { - xMax = pVoxelLimit.GetMaxXExtent() ; - } + xMin = std::max(xMin, pVoxelLimit.GetMinXExtent()); + xMax = std::min(xMax, pVoxelLimit.GetMaxXExtent()); } } yoffset = pTransform.NetTranslation().y() ; @@ -212,18 +236,12 @@ G4bool G4Box::CalculateExtent(const EAxis pAxis, if (pVoxelLimit.IsYLimited()) { - if ( yMin > pVoxelLimit.GetMaxYExtent()+kCarTolerance || - yMax < pVoxelLimit.GetMinYExtent()-kCarTolerance ) return false ; + if ((yMin > pVoxelLimit.GetMaxYExtent()+kCarTolerance) || + (yMax < pVoxelLimit.GetMinYExtent()-kCarTolerance)) { return false ; } else { - if (yMin < pVoxelLimit.GetMinYExtent()) - { - yMin = pVoxelLimit.GetMinYExtent() ; - } - if (yMax > pVoxelLimit.GetMaxYExtent()) - { - yMax = pVoxelLimit.GetMaxYExtent() ; - } + yMin = std::max(yMin, pVoxelLimit.GetMinYExtent()); + yMax = std::min(yMax, pVoxelLimit.GetMaxYExtent()); } } zoffset = pTransform.NetTranslation().z() ; @@ -232,18 +250,12 @@ G4bool G4Box::CalculateExtent(const EAxis pAxis, if (pVoxelLimit.IsZLimited()) { - if ( zMin > pVoxelLimit.GetMaxZExtent()+kCarTolerance || - zMax < pVoxelLimit.GetMinZExtent()-kCarTolerance ) return false ; + if ((zMin > pVoxelLimit.GetMaxZExtent()+kCarTolerance) || + (zMax < pVoxelLimit.GetMinZExtent()-kCarTolerance)) { return false ; } else { - if (zMin < pVoxelLimit.GetMinZExtent()) - { - zMin = pVoxelLimit.GetMinZExtent() ; - } - if (zMax > pVoxelLimit.GetMaxZExtent()) - { - zMax = pVoxelLimit.GetMaxZExtent() ; - } + zMin = std::max(zMin, pVoxelLimit.GetMinZExtent()); + zMax = std::min(zMax, pVoxelLimit.GetMaxZExtent()); } } switch (pAxis) @@ -285,14 +297,14 @@ G4bool G4Box::CalculateExtent(const EAxis pAxis, if (pVoxelLimit.IsLimited(pAxis) == false) { - if ( pMin != kInfinity || pMax != -kInfinity ) + if ( (pMin != kInfinity) || (pMax != -kInfinity) ) { existsAfterClip = true ; // Add 2*tolerance to avoid precision troubles - pMin -= kCarTolerance; - pMax += kCarTolerance; + pMin -= kCarTolerance; + pMax += kCarTolerance; } } else @@ -302,7 +314,7 @@ G4bool G4Box::CalculateExtent(const EAxis pAxis, ( pVoxelLimit.GetMinYExtent()+pVoxelLimit.GetMaxYExtent())*0.5, ( pVoxelLimit.GetMinZExtent()+pVoxelLimit.GetMaxZExtent())*0.5); - if ( pMin != kInfinity || pMax != -kInfinity ) + if ( (pMin != kInfinity) || (pMax != -kInfinity) ) { existsAfterClip = true ; @@ -355,25 +367,27 @@ G4bool G4Box::CalculateExtent(const EAxis pAxis, EInside G4Box::Inside(const G4ThreeVector& p) const { + static const G4double delta=0.5*kCarTolerance; EInside in = kOutside ; + G4ThreeVector q(std::fabs(p.x()), std::fabs(p.y()), std::fabs(p.z())); - if ( std::fabs(p.x()) <= fDx - kCarTolerance*0.5 ) + if ( q.x() <= (fDx - delta) ) { - if (std::fabs(p.y()) <= fDy - kCarTolerance*0.5 ) + if (q.y() <= (fDy - delta) ) { - if (std::fabs(p.z()) <= fDz - kCarTolerance*0.5 ) in = kInside ; - else if (std::fabs(p.z()) <= fDz + kCarTolerance*0.5 ) in = kSurface ; + if ( q.z() <= (fDz - delta) ) { in = kInside ; } + else if ( q.z() <= (fDz + delta) ) { in = kSurface ; } } - else if (std::fabs(p.y()) <= fDy + kCarTolerance*0.5 ) + else if ( q.y() <= (fDy + delta) ) { - if (std::fabs(p.z()) <= fDz + kCarTolerance*0.5 ) in = kSurface ; + if ( q.z() <= (fDz + delta) ) { in = kSurface ; } } } - else if (std::fabs(p.x()) <= fDx + kCarTolerance*0.5 ) + else if ( q.x() <= (fDx + delta) ) { - if (std::fabs(p.y()) <= fDy + kCarTolerance*0.5 ) + if ( q.y() <= (fDy + delta) ) { - if (std::fabs(p.z()) <= fDz + kCarTolerance*0.5) in = kSurface ; + if ( q.z() <= (fDz + delta) ) { in = kSurface ; } } } return in ; @@ -388,7 +402,7 @@ EInside G4Box::Inside(const G4ThreeVector& p) const G4ThreeVector G4Box::SurfaceNormal( const G4ThreeVector& p) const { G4double distx, disty, distz ; - G4ThreeVector norm ; + G4ThreeVector norm(0.,0.,0.); // Calculate distances as if in 1st octant @@ -399,7 +413,7 @@ G4ThreeVector G4Box::SurfaceNormal( const G4ThreeVector& p) const // New code for particle on surface including edges and corners with specific // normals - const G4double delta = 0.5*kCarTolerance; + static const G4double delta = 0.5*kCarTolerance; const G4ThreeVector nX = G4ThreeVector( 1.0, 0,0 ); const G4ThreeVector nmX = G4ThreeVector(-1.0, 0,0 ); const G4ThreeVector nY = G4ThreeVector( 0, 1.0,0 ); @@ -414,56 +428,53 @@ G4ThreeVector G4Box::SurfaceNormal( const G4ThreeVector& p) const if (distx <= delta) // on X/mX surface and around { noSurfaces ++; - if ( p.x() >= 0.){ // on +X surface - normX= nX ; // G4ThreeVector( 1.0, 0., 0. ); - }else{ - normX= nmX; // G4ThreeVector(-1.0, 0., 0. ); - } + if ( p.x() >= 0. ) { normX= nX ; } // on +X surface : (1,0,0) + else { normX= nmX; } // (-1,0,0) sumnorm= normX; } if (disty <= delta) // on one of the +Y or -Y surfaces { noSurfaces ++; - if ( p.y() >= 0.){ // on +Y surface - normY= nY; - }else{ - normY = nmY; - } + if ( p.y() >= 0. ) { normY= nY; } // on +Y surface + else { normY= nmY; } sumnorm += normY; } if (distz <= delta) // on one of the +Z or -Z surfaces { noSurfaces ++; - if ( p.z() >= 0.){ // on +Z surface - normZ= nZ; - }else{ - normZ = nmZ; - } - sumnorm += normZ; + if ( p.z() >= 0. ) { normZ= nZ; } // on +Z surface + else { normZ= nmZ; } + sumnorm += normZ; } - // sumnorm= normX + normY + normZ; - const G4double invSqrt2 = 1.0 / std::sqrt( 2.0); - const G4double invSqrt3 = 1.0 / std::sqrt( 3.0); + static const G4double invSqrt2 = 1.0 / std::sqrt(2.0); + static const G4double invSqrt3 = 1.0 / std::sqrt(3.0); - norm= G4ThreeVector( 0., 0., 0.); if( noSurfaces > 0 ) { - if( noSurfaces == 1 ){ + if( noSurfaces == 1 ) + { norm= sumnorm; - }else{ + } + else + { // norm = sumnorm . unit(); - if( noSurfaces == 2 ) { + if( noSurfaces == 2 ) + { // 2 surfaces -> on edge norm = invSqrt2 * sumnorm; - } else { + } + else + { // 3 surfaces (on corner) norm = invSqrt3 * sumnorm; } } - }else{ + } + else + { #ifdef G4CSGDEBUG G4Exception("G4Box::SurfaceNormal(p)", "Notification", JustWarning, "Point p is not on surface !?" ); @@ -482,7 +493,7 @@ G4ThreeVector G4Box::SurfaceNormal( const G4ThreeVector& p) const G4ThreeVector G4Box::ApproxSurfaceNormal( const G4ThreeVector& p ) const { G4double distx, disty, distz ; - G4ThreeVector norm ; + G4ThreeVector norm(0.,0.,0.); // Calculate distances as if in 1st octant @@ -494,26 +505,26 @@ G4ThreeVector G4Box::ApproxSurfaceNormal( const G4ThreeVector& p ) const { if ( distx <= distz ) // Closest to X { - if ( p.x() < 0 ) norm = G4ThreeVector(-1.0,0,0) ; - else norm = G4ThreeVector( 1.0,0,0) ; + if ( p.x() < 0 ) { norm = G4ThreeVector(-1.0,0,0) ; } + else { norm = G4ThreeVector( 1.0,0,0) ; } } else // Closest to Z { - if ( p.z() < 0 ) norm = G4ThreeVector(0,0,-1.0) ; - else norm = G4ThreeVector(0,0, 1.0) ; + if ( p.z() < 0 ) { norm = G4ThreeVector(0,0,-1.0) ; } + else { norm = G4ThreeVector(0,0, 1.0) ; } } } else { if ( disty <= distz ) // Closest to Y { - if ( p.y() < 0 ) norm = G4ThreeVector(0,-1.0,0) ; - else norm = G4ThreeVector(0, 1.0,0) ; + if ( p.y() < 0 ) { norm = G4ThreeVector(0,-1.0,0) ; } + else { norm = G4ThreeVector(0, 1.0,0) ; } } else // Closest to Z { - if ( p.z() < 0 ) norm = G4ThreeVector(0,0,-1.0) ; - else norm = G4ThreeVector(0,0, 1.0) ; + if ( p.z() < 0 ) { norm = G4ThreeVector(0,0,-1.0) ; } + else { norm = G4ThreeVector(0,0, 1.0) ; } } } return norm; @@ -540,7 +551,8 @@ G4ThreeVector G4Box::ApproxSurfaceNormal( const G4ThreeVector& p ) const // `Inside' safe - meaningful answers given if point is inside the exact // shape. -G4double G4Box::DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) const +G4double G4Box::DistanceToIn(const G4ThreeVector& p, + const G4ThreeVector& v) const { G4double safx, safy, safz ; G4double smin=0.0, sminy, sminz ; // , sminx ; @@ -548,6 +560,8 @@ G4double G4Box::DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) cons G4double stmp ; G4double sOut=kInfinity, sOuty=kInfinity, sOutz=kInfinity ; + static const G4double delta = 0.5*kCarTolerance; + safx = std::fabs(p.x()) - fDx ; // minimum distance to x surface of shape safy = std::fabs(p.y()) - fDy ; safz = std::fabs(p.z()) - fDz ; @@ -557,9 +571,9 @@ G4double G4Box::DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) cons // If both p.x/y/z and v.x/y/z repectively are both positive/negative, // travel is in a direction away from the shape. - if ( ((p.x()*v.x() >= 0.0) && safx > -kCarTolerance*0.5) - || ((p.y()*v.y() >= 0.0) && safy > -kCarTolerance*0.5) - || ((p.z()*v.z() >= 0.0) && safz > -kCarTolerance*0.5) ) + if ( ((p.x()*v.x() >= 0.0) && (safx > -delta)) + || ((p.y()*v.y() >= 0.0) && (safy > -delta)) + || ((p.z()*v.z() >= 0.0) && (safz > -delta)) ) { return kInfinity ; // travel away or parallel within tolerance } @@ -567,7 +581,7 @@ G4double G4Box::DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) cons // Compute min / max distances for x/y/z travel: // X Planes - if ( v.x()) + if ( v.x() ) // != 0 { stmp = 1.0/std::fabs(v.x()) ; @@ -578,14 +592,14 @@ G4double G4Box::DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) cons } else { - if (v.x() > 0) sOut = (fDx - p.x())*stmp ; - if (v.x() < 0) sOut = (fDx + p.x())*stmp ; + if (v.x() < 0) { sOut = (fDx + p.x())*stmp ; } + else { sOut = (fDx - p.x())*stmp ; } } } // Y Planes - if ( v.y()) + if ( v.y() ) // != 0 { stmp = 1.0/std::fabs(v.y()) ; @@ -594,54 +608,54 @@ G4double G4Box::DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) cons sminy = safy*stmp ; smaxy = (fDy+std::fabs(p.y()))*stmp ; - if (sminy > smin) smin=sminy ; - if (smaxy < smax) smax=smaxy ; + if (sminy > smin) { smin=sminy ; } + if (smaxy < smax) { smax=smaxy ; } - if (smin >= smax-kCarTolerance*0.5) + if (smin >= (smax-delta)) { return kInfinity ; // touch XY corner } } else { - if (v.y() > 0) sOuty = (fDy - p.y())*stmp ; - if (v.y() < 0) sOuty = (fDy + p.y())*stmp ; - if( sOuty < sOut ) sOut = sOuty ; + if (v.y() < 0) { sOuty = (fDy + p.y())*stmp ; } + else { sOuty = (fDy - p.y())*stmp ; } + if( sOuty < sOut ) { sOut = sOuty ; } } } // Z planes - if ( v.z() ) + if ( v.z() ) // != 0 { stmp = 1.0/std::fabs(v.z()) ; - if ( safz >= 0.0) + if ( safz >= 0.0 ) { sminz = safz*stmp ; smaxz = (fDz+std::fabs(p.z()))*stmp ; - if (sminz > smin) smin = sminz ; - if (smaxz < smax) smax = smaxz ; + if (sminz > smin) { smin = sminz ; } + if (smaxz < smax) { smax = smaxz ; } - if (smin >= smax-kCarTolerance*0.5) + if (smin >= (smax-delta)) { return kInfinity ; // touch ZX or ZY corners } } else { - if (v.z() > 0) sOutz = (fDz - p.z())*stmp ; - if (v.z() < 0) sOutz = (fDz + p.z())*stmp ; - if( sOutz < sOut ) sOut = sOutz ; + if (v.z() < 0) { sOutz = (fDz + p.z())*stmp ; } + else { sOutz = (fDz - p.z())*stmp ; } + if( sOutz < sOut ) { sOut = sOutz ; } } } - if ( sOut <= smin + 0.5*kCarTolerance) // travel over edge + if (sOut <= (smin + delta)) // travel over edge { return kInfinity ; } - if (smin < 0.5*kCarTolerance) smin = 0.0 ; + if (smin < delta) { smin = 0.0 ; } return smin ; } @@ -661,16 +675,16 @@ G4double G4Box::DistanceToIn(const G4ThreeVector& p) const safey = std::fabs(p.y()) - fDy ; safez = std::fabs(p.z()) - fDz ; - if (safex > safe) safe = safex ; - if (safey > safe) safe = safey ; - if (safez > safe) safe = safez ; + if (safex > safe) { safe = safex ; } + if (safey > safe) { safe = safey ; } + if (safez > safe) { safe = safez ; } return safe ; } ///////////////////////////////////////////////////////////////////////// // -// Calcluate distance to surface of box from inside +// Calculate distance to surface of box from inside // by calculating distances to box's x/y/z planes. // Smallest distance is exact distance to exiting. // - Eliminate one side of each pair by considering direction of v @@ -681,122 +695,125 @@ G4double G4Box::DistanceToOut( const G4ThreeVector& p,const G4ThreeVector& v, G4bool *validNorm,G4ThreeVector *n) const { ESide side = kUndefined ; - G4double pdist,stmp,snxt; + G4double pdist,stmp,snxt=kInfinity; - if (calcNorm) *validNorm = true ; // All normals are valid + static const G4double delta = 0.5*kCarTolerance; - if (v.x() > 0) // X planes + if (calcNorm) { *validNorm = true ; } // All normals are valid + + if (v.x() > 0) // X planes { pdist = fDx - p.x() ; - if (pdist > kCarTolerance*0.5) + if (pdist > delta) { snxt = pdist/v.x() ; side = kPX ; } else { - if (calcNorm) *n = G4ThreeVector(1,0,0) ; - return snxt = 0 ; + if (calcNorm) { *n = G4ThreeVector(1,0,0) ; } + return snxt = 0 ; } } - else if (v.x() < 0) + else if (v.x() < 0) { pdist = fDx + p.x() ; - if (pdist > kCarTolerance*0.5) + if (pdist > delta) { snxt = -pdist/v.x() ; side = kMX ; } else { - if (calcNorm) *n = G4ThreeVector(-1,0,0) ; + if (calcNorm) { *n = G4ThreeVector(-1,0,0) ; } return snxt = 0 ; } } - else snxt = kInfinity ; - if ( v.y() > 0 ) // Y planes + if (v.y() > 0) // Y planes { - pdist=fDy-p.y(); + pdist = fDy-p.y(); - if (pdist>kCarTolerance*0.5) + if (pdist > delta) { - stmp=pdist/v.y(); + stmp = pdist/v.y(); - if (stmp kCarTolerance*0.5) + if (pdist > delta) { - stmp=-pdist/v.y(); + stmp = -pdist/v.y(); - if (stmp0) // Z planes + + if (v.z() > 0) // Z planes { - pdist=fDz-p.z(); + pdist = fDz-p.z(); - if (pdist > kCarTolerance*0.5) + if ( pdist > delta ) { - stmp=pdist/v.z(); + stmp = pdist/v.z(); - if (stmp < snxt) + if ( stmp < snxt ) { - snxt=stmp; - side=kPZ; + snxt = stmp; + side = kPZ; } } else { - if (calcNorm) *n = G4ThreeVector(0,0,1) ; - return snxt = 0 ; + if (calcNorm) { *n = G4ThreeVector(0,0,1) ; } + return snxt = 0 ; } } - else if (v.z()<0) + else if (v.z() < 0) { - pdist = fDz + p.z() ; + pdist = fDz + p.z(); - if (pdist > kCarTolerance*0.5) + if ( pdist > delta ) { - stmp=-pdist/v.z(); + stmp = -pdist/v.z(); - if (stmp < snxt) + if ( stmp < snxt ) { - snxt=stmp; - side=kMZ; + snxt = stmp; + side = kMZ; } } else { - if (calcNorm) *n = G4ThreeVector(0,0,-1) ; - return snxt = 0 ; + if (calcNorm) { *n = G4ThreeVector(0,0,-1) ; } + return snxt = 0 ; } } + if (calcNorm) { switch (side) @@ -833,6 +850,7 @@ G4double G4Box::DistanceToOut( const G4ThreeVector& p,const G4ThreeVector& v, G4cout << "v.z() = " << v.z() << G4endl << G4endl; G4cout << "Proposed distance :" << G4endl << G4endl; G4cout << "snxt = " << snxt/mm << " mm" << G4endl << G4endl; + G4cout.precision(6); G4Exception("G4Box::DistanceToOut(p,v,..)","Notification",JustWarning, "Undefined side for valid surface normal to solid."); break; @@ -853,13 +871,14 @@ G4double G4Box::DistanceToOut(const G4ThreeVector& p) const #ifdef G4CSGDEBUG if( Inside(p) == kOutside ) { - G4cout.precision(16) ; + G4int oldprc = G4cout.precision(16) ; G4cout << G4endl ; DumpInfo(); 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 ; + G4cout.precision(oldprc) ; G4Exception("G4Box::DistanceToOut(p)", "Notification", JustWarning, "Point p is outside !?" ); } @@ -874,14 +893,14 @@ G4double G4Box::DistanceToOut(const G4ThreeVector& p) const // shortest Dist to any boundary now MIN(safx1,safx2,safy1..) - if (safx2 < safx1) safe = safx2 ; - else safe = safx1 ; - if (safy1 < safe) safe = safy1 ; - if (safy2 < safe) safe = safy2 ; - if (safz1 < safe) safe = safz1 ; - if (safz2 < safe) safe = safz2 ; + if (safx2 < safx1) { safe = safx2; } + else { safe = safx1; } + if (safy1 < safe) { safe = safy1; } + if (safy2 < safe) { safe = safy2; } + if (safz1 < safe) { safe = safz1; } + if (safz2 < safe) { safe = safz2; } - if (safe < 0) safe = 0 ; + if (safe < 0) { safe = 0 ; } return safe ; } @@ -898,10 +917,10 @@ G4ThreeVectorList* G4Box::CreateRotatedVertices(const G4AffineTransform& pTransform) const { G4ThreeVectorList* vertices = new G4ThreeVectorList(); - vertices->reserve(8); if (vertices) { + vertices->reserve(8); G4ThreeVector vertex0(-fDx,-fDy,-fDz) ; G4ThreeVector vertex1(fDx,-fDy,-fDz) ; G4ThreeVector vertex2(fDx,fDy,-fDz) ; @@ -978,28 +997,37 @@ G4ThreeVector G4Box::GetPointOnSurface() const px = -fDx +2*fDx*G4UniformRand(); py = -fDy +2*fDy*G4UniformRand(); - if(G4UniformRand() > 0.5) pz = fDz; - else pz = -fDz; + if(G4UniformRand() > 0.5) { pz = fDz; } + else { pz = -fDz; } } else if ( ( select - Sxy ) < Sxz ) { px = -fDx +2*fDx*G4UniformRand(); pz = -fDz +2*fDz*G4UniformRand(); - if(G4UniformRand() > 0.5) py = fDy; - else py = -fDy; + if(G4UniformRand() > 0.5) { py = fDy; } + else { py = -fDy; } } else { py = -fDy +2*fDy*G4UniformRand(); pz = -fDz +2*fDz*G4UniformRand(); - if(G4UniformRand() > 0.5) px = fDx; - else px = -fDx; + if(G4UniformRand() > 0.5) { px = fDx; } + else { px = -fDx; } } return G4ThreeVector(px,py,pz); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object +// +G4VSolid* G4Box::Clone() const +{ + return new G4Box(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Methods for visualisation diff --git a/source/geometry/solids/CSG/src/G4CSGSolid.cc b/source/geometry/solids/CSG/src/G4CSGSolid.cc index fe5c97defb..b00f9d8bed 100644 --- a/source/geometry/solids/CSG/src/G4CSGSolid.cc +++ b/source/geometry/solids/CSG/src/G4CSGSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CSGSolid.cc,v 1.13 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4CSGSolid.cc,v 1.16 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- @@ -53,11 +53,50 @@ G4CSGSolid::G4CSGSolid( __void__& a ) { } +////////////////////////////////////////////////////////////////////////// +// +// Destructor +// + G4CSGSolid::~G4CSGSolid() { delete fpPolyhedron; } +////////////////////////////////////////////////////////////////////////// +// +// Copy constructor +// + +G4CSGSolid::G4CSGSolid(const G4CSGSolid& rhs) + : G4VSolid(rhs), fCubicVolume(rhs.fCubicVolume), + fSurfaceArea(rhs.fSurfaceArea), fpPolyhedron(0) +{ +} + +////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4CSGSolid& G4CSGSolid::operator = (const G4CSGSolid& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + fCubicVolume = rhs.fCubicVolume; + fSurfaceArea = rhs.fSurfaceArea; + fpPolyhedron = 0; + + return *this; +} + std::ostream& G4CSGSolid::StreamInfo(std::ostream& os) const { os << "-----------------------------------------------------------\n" diff --git a/source/geometry/solids/CSG/src/G4Cons.cc b/source/geometry/solids/CSG/src/G4Cons.cc index 85ea75ac04..b3993a919f 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.67 2009/11/12 11:53:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Cons.cc,v 1.73 2010/10/19 15:42:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4Cons @@ -80,18 +80,15 @@ G4Cons::G4Cons( const G4String& pName, G4double pRmin2, G4double pRmax2, G4double pDz, G4double pSPhi, G4double pDPhi) - : G4CSGSolid(pName), fSPhi(0), fDPhi(0) + : G4CSGSolid(pName), fRmin1(pRmin1), fRmin2(pRmin2), + fRmax1(pRmax1), fRmax2(pRmax2), fDz(pDz), fSPhi(0.), fDPhi(0.) { kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); // Check z-len // - if ( pDz > 0 ) - { - fDz = pDz; - } - else + if ( pDz < 0 ) { G4cerr << "ERROR - G4Cons()::G4Cons(): " << GetName() << G4endl << " Negative Z half-length ! - " @@ -102,17 +99,7 @@ G4Cons::G4Cons( const G4String& pName, // Check radii // - if ( (pRmin1=0) && (pRmin2>=0) ) - { - - fRmin1 = pRmin1 ; - fRmax1 = pRmax1 ; - fRmin2 = pRmin2 ; - fRmax2 = pRmax2 ; - if( (pRmin1 == 0.0) && (pRmin2 > 0.0) ) { fRmin1 = 1e3*kRadTolerance ; } - if( (pRmin2 == 0.0) && (pRmin1 > 0.0) ) { fRmin2 = 1e3*kRadTolerance ; } - } - else + if (((pRmin1>=pRmax1) || (pRmin2>=pRmax2) || (pRmin1<0)) && (pRmin2<0)) { G4cerr << "ERROR - G4Cons()::G4Cons(): " << GetName() << G4endl << " Invalide values for radii ! - " @@ -121,6 +108,8 @@ G4Cons::G4Cons( const G4String& pName, G4Exception("G4Cons::G4Cons()", "InvalidSetup", FatalException, "Invalid radii.") ; } + if( (pRmin1 == 0.0) && (pRmin2 > 0.0) ) { fRmin1 = 1e3*kRadTolerance ; } + if( (pRmin2 == 0.0) && (pRmin1 > 0.0) ) { fRmin2 = 1e3*kRadTolerance ; } // Check angles // @@ -133,7 +122,11 @@ G4Cons::G4Cons( const G4String& pName, // for usage restricted to object persistency. // G4Cons::G4Cons( __void__& a ) - : G4CSGSolid(a) + : G4CSGSolid(a), kRadTolerance(0.), kAngTolerance(0.), + fRmin1(0.), fRmin2(0.), fRmax1(0.), fRmax2(0.), fDz(0.), + fSPhi(0.), fDPhi(0.), sinCPhi(0.), cosCPhi(0.), cosHDPhiOT(0.), + cosHDPhiIT(0.), sinSPhi(0.), cosSPhi(0.), sinEPhi(0.), cosEPhi(0.), + fPhiFullCone(false) { } @@ -145,6 +138,51 @@ G4Cons::~G4Cons() { } +////////////////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4Cons::G4Cons(const G4Cons& rhs) + : G4CSGSolid(rhs), kRadTolerance(rhs.kRadTolerance), + kAngTolerance(rhs.kAngTolerance), fRmin1(rhs.fRmin1), fRmin2(rhs.fRmin2), + fRmax1(rhs.fRmax1), fRmax2(rhs.fRmax2), fDz(rhs.fDz), fSPhi(rhs.fSPhi), + fDPhi(rhs.fDPhi), sinCPhi(rhs.sinCPhi), cosCPhi(rhs.cosCPhi), + cosHDPhiOT(rhs.cosHDPhiOT), cosHDPhiIT(rhs.cosHDPhiIT), + sinSPhi(rhs.sinSPhi), cosSPhi(rhs.cosSPhi), sinEPhi(rhs.sinEPhi), + cosEPhi(rhs.cosEPhi), fPhiFullCone(rhs.fPhiFullCone) +{ +} + +////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4Cons& G4Cons::operator = (const G4Cons& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4CSGSolid::operator=(rhs); + + // Copy data + // + kRadTolerance = rhs.kRadTolerance; + kAngTolerance = rhs.kAngTolerance; + fRmin1 = rhs.fRmin1; fRmin2 = rhs.fRmin2; + fRmax1 = rhs.fRmax1; fRmax2 = rhs.fRmax2; + fDz = rhs.fDz; fSPhi = rhs.fSPhi; fDPhi = rhs.fDPhi; + sinCPhi = rhs.sinCPhi; cosCPhi = rhs.cosCPhi; + cosHDPhiOT = rhs.cosHDPhiOT; cosHDPhiIT = rhs.cosHDPhiIT; + sinSPhi = rhs.sinSPhi; cosSPhi = rhs.cosSPhi; + sinEPhi = rhs.sinEPhi; cosEPhi = rhs.cosEPhi; + fPhiFullCone = rhs.fPhiFullCone; + + return *this; +} + ///////////////////////////////////////////////////////////////////// // // Return whether point inside/outside/on surface @@ -624,7 +662,7 @@ G4ThreeVector G4Cons::ApproxSurfaceNormal( const G4ThreeVector& p ) const rho *= secRMax ; norm = G4ThreeVector(p.x()/rho, p.y()/rho, -tanRMax/secRMax) ; break ; - case kNZ: // +/- dz + case kNZ: // +/- dz if (p.z() > 0) { norm = G4ThreeVector(0,0,1); } else { norm = G4ThreeVector(0,0,-1); } break ; @@ -634,7 +672,7 @@ G4ThreeVector G4Cons::ApproxSurfaceNormal( const G4ThreeVector& p ) const case kNEPhi: norm=G4ThreeVector(-std::sin(fSPhi+fDPhi), std::cos(fSPhi+fDPhi), 0) ; break ; - default: + default: // Should never reach this case... DumpInfo(); G4Exception("G4Cons::ApproxSurfaceNormal()", "Notification", JustWarning, "Undefined side for valid surface normal to solid.") ; @@ -1828,8 +1866,8 @@ G4double G4Cons::DistanceToOut( const G4ThreeVector& p, // Check intersecting with correct half-plane // (if not -> no intersect) // - if ( (std::abs(xi)<=kCarTolerance) - && (std::abs(yi)<=kCarTolerance) ) + if ( (std::fabs(xi)<=kCarTolerance) + && (std::fabs(yi)<=kCarTolerance) ) { sidephi= kSPhi; if ( ( fSPhi-halfAngTolerance <= vphi ) @@ -1875,8 +1913,8 @@ G4double G4Cons::DistanceToOut( const G4ThreeVector& p, // Check intersecting with correct half-plane - if ( (std::abs(xi)<=kCarTolerance) - && (std::abs(yi)<=kCarTolerance) ) + if ( (std::fabs(xi)<=kCarTolerance) + && (std::fabs(yi)<=kCarTolerance) ) { // Leaving via ending phi @@ -1997,6 +2035,7 @@ G4double G4Cons::DistanceToOut( const G4ThreeVector& p, G4cout << "v.z() = " << v.z() << G4endl<< G4endl ; G4cout << "Proposed distance :" << G4endl<< G4endl ; G4cout << "snxt = " << snxt/mm << " mm" << G4endl << G4endl ; + G4cout.precision(6) ; G4Exception("G4Cons::DistanceToOut(p,v,..)","Notification",JustWarning, "Undefined side for valid surface normal to solid.") ; break ; @@ -2020,7 +2059,7 @@ G4double G4Cons::DistanceToOut(const G4ThreeVector& p) const #ifdef G4CSGDEBUG if( Inside(p) == kOutside ) { - G4cout.precision(16) ; + G4int oldprc=G4cout.precision(16) ; G4cout << G4endl ; DumpInfo(); G4cout << "Position:" << G4endl << G4endl ; @@ -2034,6 +2073,7 @@ G4double G4Cons::DistanceToOut(const G4ThreeVector& p) const G4cout << "point phi = " << std::atan2(p.y(),p.x())/degree << " degree" << G4endl << G4endl ; } + G4cout.precision(oldprc) ; G4Exception("G4Cons::DistanceToOut(p)", "Notification", JustWarning, "Point p is outside !?" ); } @@ -2134,10 +2174,10 @@ G4Cons::CreateRotatedVertices(const G4AffineTransform& pTransform) const sAngle = fSPhi ; } vertices = new G4ThreeVectorList(); - vertices->reserve(noCrossSections*4) ; if (vertices) { + vertices->reserve(noCrossSections*4) ; for (crossSection = 0 ; crossSection < noCrossSections ; crossSection++) { // Compute coordinates of cross section at section crossSection @@ -2187,6 +2227,15 @@ G4GeometryType G4Cons::GetEntityType() const return G4String("G4Cons"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object +// +G4VSolid* G4Cons::Clone() const +{ + return new G4Cons(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream diff --git a/source/geometry/solids/CSG/src/G4Orb.cc b/source/geometry/solids/CSG/src/G4Orb.cc index 25ac437973..970f027859 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.30 2009/11/30 10:20:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Orb.cc,v 1.35 2010/10/19 15:42:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4Orb // @@ -74,8 +74,8 @@ const G4double G4Orb::fEpsilon = 2.e-11; // relative tolerance of fRmax // constructor - check positive radius // -G4Orb::G4Orb( const G4String& pName,G4double pRmax ) -: G4CSGSolid(pName) +G4Orb::G4Orb( const G4String& pName, G4double pRmax ) +: G4CSGSolid(pName), fRmax(pRmax) { G4double kRadTolerance @@ -83,11 +83,7 @@ G4Orb::G4Orb( const G4String& pName,G4double pRmax ) // Check radius // - if (pRmax >= 10*kCarTolerance ) - { - fRmax = pRmax; - } - else + if ( pRmax < 10*kCarTolerance ) { G4Exception("G4Orb::G4Orb()", "InvalidSetup", FatalException, "Invalid radius > 10*kCarTolerance."); @@ -102,7 +98,7 @@ G4Orb::G4Orb( const G4String& pName,G4double pRmax ) // for usage restricted to object persistency. // G4Orb::G4Orb( __void__& a ) - : G4CSGSolid(a) + : G4CSGSolid(a), fRmax(0.), fRmaxTolerance(0.) { } @@ -114,14 +110,45 @@ G4Orb::~G4Orb() { } +////////////////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4Orb::G4Orb(const G4Orb& rhs) + : G4CSGSolid(rhs), fRmax(rhs.fRmax), fRmaxTolerance(rhs.fRmaxTolerance) +{ +} + +////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4Orb& G4Orb::operator = (const G4Orb& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4CSGSolid::operator=(rhs); + + // Copy data + // + fRmax = rhs.fRmax; + fRmaxTolerance = rhs.fRmaxTolerance; + + return *this; +} + ////////////////////////////////////////////////////////////////////////// // // Dispatch to parameterisation for replication mechanism dimension // computation & modification. void G4Orb::ComputeDimensions( G4VPVParameterisation* p, - const G4int n, - const G4VPhysicalVolume* pRep) + const G4int n, + const G4VPhysicalVolume* pRep ) { p->ComputeDimensions(*this,n,pRep); } @@ -295,7 +322,7 @@ EInside G4Orb::Inside( const G4ThreeVector& p ) const EInside in; - rad2 = p.x()*p.x()+p.y()*p.y()+p.z()*p.z() ; + rad2 = p.x()*p.x()+p.y()*p.y()+p.z()*p.z(); G4double rad = std::sqrt(rad2); @@ -303,14 +330,14 @@ EInside G4Orb::Inside( const G4ThreeVector& p ) const // Check radial surface // sets `in' - tolRMax = fRmax - fRmaxTolerance*0.5 ; + tolRMax = fRmax - fRmaxTolerance*0.5; - if ( rad <= tolRMax ) { in = kInside ; } + if ( rad <= tolRMax ) { in = kInside; } else { - tolRMax = fRmax + fRmaxTolerance*0.5 ; - if ( rad <= tolRMax ) { in = kSurface ; } - else { in = kOutside ; } + tolRMax = fRmax + fRmaxTolerance*0.5; + if ( rad <= tolRMax ) { in = kSurface; } + else { in = kOutside; } } return in; } @@ -332,12 +359,10 @@ G4ThreeVector G4Orb::SurfaceNormal( const G4ThreeVector& p ) const case kNRMax: norm = G4ThreeVector(p.x()/rad,p.y()/rad,p.z()/rad); break; - default: + default: // Should never reach this case ... DumpInfo(); -#ifdef G4CSGDEBUG G4Exception("G4Orb::SurfaceNormal()", "Notification", JustWarning, "Undefined side for valid surface normal to solid."); -#endif break; } @@ -356,22 +381,22 @@ G4ThreeVector G4Orb::SurfaceNormal( const G4ThreeVector& p ) const G4double G4Orb::DistanceToIn( const G4ThreeVector& p, const G4ThreeVector& v ) const { - G4double snxt = kInfinity ; // snxt = default return value + G4double snxt = kInfinity; // snxt = default return value - G4double rad2, pDotV3d, tolORMax2, tolIRMax2 ; - G4double c, d2, s = kInfinity ; + G4double rad, 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() ; - pDotV3d = p.x()*v.x() + p.y()*v.y() + p.z()*v.z() ; + rad = std::sqrt(p.x()*p.x() + p.y()*p.y() + p.z()*p.z()); + pDotV3d = p.x()*v.x() + p.y()*v.y() + p.z()*v.z(); // Radial Precalcs - tolORMax2 = (fRmax+fRmaxTolerance*0.5)*(fRmax+fRmaxTolerance*0.5) ; - tolIRMax2 = (fRmax-fRmaxTolerance*0.5)*(fRmax-fRmaxTolerance*0.5) ; + // tolORMax2 = (fRmax+fRmaxTolerance*0.5)*(fRmax+fRmaxTolerance*0.5); + // tolIRMax2 = (fRmax-fRmaxTolerance*0.5)*(fRmax-fRmaxTolerance*0.5); // Outer spherical shell intersection // - Only if outside tolerant fRmax @@ -387,57 +412,59 @@ G4double G4Orb::DistanceToIn( const G4ThreeVector& p, // // => s=-pDotV3d+-std::sqrt(pDotV3d^2-(rad2-R^2)) - - G4double rad = std::sqrt(rad2); c = (rad - fRmax)*(rad + fRmax); - if ( c > fRmaxTolerance*fRmax ) + if( rad > fRmax-fRmaxTolerance*0.5 ) // not inside in terms of Inside(p) { - // If outside tolerant boundary of outer G4Orb - // [ should be std::sqrt(rad2) - fRmax > fRmaxTolerance*0.5 ] - - d2 = pDotV3d*pDotV3d - c ; - - if ( d2 >= 0 ) + if ( c > fRmaxTolerance*fRmax ) { - s = -pDotV3d - std::sqrt(d2) ; - if ( s >= 0 ) + // If outside tolerant boundary of outer G4Orb in terms of c + // [ should be std::sqrt(rad2) - fRmax > fRmaxTolerance*0.5 ] + + d2 = pDotV3d*pDotV3d - c; + + if ( d2 >= 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; + s = -pDotV3d - std::sqrt(d2); + 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 - { - return snxt = kInfinity; - } - } - else - { - if ( c > -fRmaxTolerance*fRmax ) // on surface - { - d2 = pDotV3d*pDotV3d - c ; - if ( (d2 < fRmaxTolerance*fRmax) || (pDotV3d >= 0) ) + else // No intersection with G4Orb { return snxt = kInfinity; } - else + } + else // not outside in terms of c + { + if ( c > -fRmaxTolerance*fRmax ) // on surface { - return snxt = 0.; + d2 = pDotV3d*pDotV3d - c; + if ( (d2 < fRmaxTolerance*fRmax) || (pDotV3d >= 0) ) + { + return snxt = kInfinity; + } + else + { + return snxt = 0.; + } } } + } #ifdef G4CSGDEBUG - else // inside ??? - { + else // inside ??? + { G4Exception("G4Orb::DistanceToIn(p,v)", "Notification", JustWarning, "Point p is inside !?"); - } -#endif } +#endif + return snxt; } @@ -519,15 +546,15 @@ G4double G4Orb::DistanceToOut( const G4ThreeVector& p, { if(calcNorm) { - *validNorm = true ; - *n = G4ThreeVector(p.x()/fRmax,p.y()/fRmax,p.z()/fRmax) ; + *validNorm = true; + *n = G4ThreeVector(p.x()/fRmax,p.y()/fRmax,p.z()/fRmax); } return snxt = 0; } else { snxt = -pDotV3d + std::sqrt(d2); // second root since inside Rmax - side = kRMax ; + side = kRMax; } } } @@ -548,6 +575,7 @@ G4double G4Orb::DistanceToOut( const G4ThreeVector& p, G4cout << "v.z() = " << v.z() << G4endl << G4endl; G4cout << "Proposed distance :" << G4endl << G4endl; G4cout << "snxt = " << snxt/mm << " mm" << G4endl << G4endl; + G4cout.precision(6); G4Exception("G4Orb::DistanceToOut(p,v,..)", "Notification", JustWarning, "Logic error: snxt = kInfinity ???"); } @@ -576,6 +604,7 @@ G4double G4Orb::DistanceToOut( const G4ThreeVector& p, G4cout << "v.z() = " << v.z() << G4endl << G4endl; G4cout << "Proposed distance :" << G4endl << G4endl; G4cout << "snxt = " << snxt/mm << " mm" << G4endl << G4endl; + G4cout.precision(6); G4Exception("G4Orb::DistanceToOut(p,v,..)","Notification",JustWarning, "Undefined side for valid surface normal to solid."); break; @@ -595,13 +624,14 @@ G4double G4Orb::DistanceToOut( const G4ThreeVector& p ) const #ifdef G4CSGDEBUG if( Inside(p) == kOutside ) { - G4cout.precision(16) ; - G4cout << G4endl ; + G4int oldprc = G4cout.precision(16); + G4cout << G4endl; DumpInfo(); - 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 ; + 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; + G4cout.precision(oldprc); G4Exception("G4Orb::DistanceToOut(p)", "Notification", JustWarning, "Point p is outside !?" ); } @@ -621,6 +651,15 @@ G4GeometryType G4Orb::GetEntityType() const return G4String("G4Orb"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object +// +G4VSolid* G4Orb::Clone() const +{ + return new G4Orb(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream diff --git a/source/geometry/solids/CSG/src/G4Para.cc b/source/geometry/solids/CSG/src/G4Para.cc index 3ad43a5d4a..6b37bd82ea 100644 --- a/source/geometry/solids/CSG/src/G4Para.cc +++ b/source/geometry/solids/CSG/src/G4Para.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Para.cc,v 1.39 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Para.cc,v 1.43 2010/10/19 15:42:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4Para // @@ -104,11 +104,7 @@ G4Para::G4Para(const G4String& pName, G4double pAlpha, G4double pTheta, G4double pPhi) : G4CSGSolid(pName) { - if (pDx>0&&pDy>0&&pDz>0) - { - SetAllParameters( pDx, pDy, pDz, pAlpha, pTheta, pPhi); - } - else + if ((pDx<=0) || (pDy<=0) || (pDz<=0)) { G4cerr << "ERROR - G4Para()::G4Para(): " << GetName() << G4endl << " Invalid dimensions ! - " @@ -116,6 +112,7 @@ G4Para::G4Para(const G4String& pName, G4Exception("G4Para::G4Para()", "InvalidSetup", FatalException, "Invalid Length Parameters."); } + SetAllParameters( pDx, pDy, pDz, pAlpha, pTheta, pPhi); } //////////////////////////////////////////////////////////////////////// @@ -128,37 +125,29 @@ G4Para::G4Para( const G4String& pName, const G4ThreeVector pt[8] ) : G4CSGSolid(pName) { - if ( pt[0].z()<0 && pt[0].z()==pt[1].z() && pt[0].z()==pt[2].z() && - pt[0].z()==pt[3].z() && pt[4].z()>0 && pt[4].z()==pt[5].z() && - pt[4].z()==pt[6].z() && pt[4].z()==pt[7].z() && - (pt[0].z()+pt[4].z())==0 && - pt[0].y()==pt[1].y() && pt[2].y()==pt[3].y() && - pt[4].y()==pt[5].y() && pt[6].y()==pt[7].y() && - ( pt[0].y() + pt[2].y() + pt[4].y() + pt[6].y() ) == 0 && - ( pt[0].x() + pt[1].x() + pt[4].x() + pt[5].x() ) == 0) - { - fDz = (pt[7]).z() ; - - fDy = ((pt[2]).y()-(pt[1]).y())*0.5 ; - fDx = ((pt[1]).x()-(pt[0]).x())*0.5 ; - fDx = ((pt[3]).x()-(pt[2]).x())*0.5 ; - fTalpha = ((pt[2]).x()+(pt[3]).x()-(pt[1]).x()-(pt[0]).x())*0.25/fDy ; - - // fDy = ((pt[6]).y()-(pt[5]).y())*0.5 ; - // fDx = ((pt[5]).x()-(pt[4]).x())*0.5 ; - // fDx = ((pt[7]).x()-(pt[6]).x())*0.5 ; - // fTalpha = ((pt[6]).x()+(pt[7]).x()-(pt[5]).x()-(pt[4]).x())*0.25/fDy ; - - fTthetaCphi = ((pt[4]).x()+fDy*fTalpha+fDx)/fDz ; - fTthetaSphi = ((pt[4]).y()+fDy)/fDz ; - } - else + if (!( pt[0].z()<0 && pt[0].z()==pt[1].z() && pt[0].z()==pt[2].z() && + pt[0].z()==pt[3].z() && pt[4].z()>0 && pt[4].z()==pt[5].z() && + pt[4].z()==pt[6].z() && pt[4].z()==pt[7].z() && + (pt[0].z()+pt[4].z())==0 && + pt[0].y()==pt[1].y() && pt[2].y()==pt[3].y() && + pt[4].y()==pt[5].y() && pt[6].y()==pt[7].y() && + ( pt[0].y() + pt[2].y() + pt[4].y() + pt[6].y() ) == 0 && + ( pt[0].x() + pt[1].x() + pt[4].x() + pt[5].x() ) == 0) ) { G4cerr << "ERROR - G4Para()::G4Para(): " << GetName() << G4endl << " Invalid dimensions !" << G4endl; G4Exception("G4Para::G4Para()", "InvalidSetup", FatalException, "Invalid vertice coordinates."); } + fDx = ((pt[3]).x()-(pt[2]).x())*0.5; + fDy = ((pt[2]).y()-(pt[1]).y())*0.5; + fDz = (pt[7]).z(); + fTalpha = ((pt[2]).x()+(pt[3]).x()-(pt[1]).x()-(pt[0]).x())*0.25/fDy ; + fTthetaCphi = ((pt[4]).x()+fDy*fTalpha+fDx)/fDz ; + fTthetaSphi = ((pt[4]).y()+fDy)/fDz ; + fCubicVolume = 0.; + fSurfaceArea = 0.; + fpPolyhedron = 0; } /////////////////////////////////////////////////////////////////////// @@ -167,7 +156,8 @@ G4Para::G4Para( const G4String& pName, // for usage restricted to object persistency. // G4Para::G4Para( __void__& a ) - : G4CSGSolid(a) + : G4CSGSolid(a), fDx(0.), fDy(0.), fDz(0.), + fTalpha(0.), fTthetaCphi(0.), fTthetaSphi(0.) { } @@ -178,6 +168,40 @@ G4Para::~G4Para() { } +////////////////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4Para::G4Para(const G4Para& rhs) + : G4CSGSolid(rhs), fDx(rhs.fDx), fDy(rhs.fDy), fDz(rhs.fDz), + fTalpha(rhs.fTalpha), fTthetaCphi(rhs.fTthetaCphi), + fTthetaSphi(rhs.fTthetaSphi) +{ +} + +////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4Para& G4Para::operator = (const G4Para& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4CSGSolid::operator=(rhs); + + // Copy data + // + fDx = rhs.fDx; fDy = rhs.fDy; fDz = rhs.fDz; + fTalpha = rhs.fTalpha; fTthetaCphi = rhs.fTthetaCphi; + fTthetaSphi = rhs.fTthetaSphi; + + return *this; +} + ////////////////////////////////////////////////////////////////////////// // // Dispatch to parameterisation for replication mechanism dimension @@ -1100,13 +1124,14 @@ G4double G4Para::DistanceToOut( const G4ThreeVector& p ) const #ifdef G4CSGDEBUG if( Inside(p) == kOutside ) { - G4cout.precision(16) ; + G4int oldprc = G4cout.precision(16) ; G4cout << G4endl ; DumpInfo(); 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 ; + G4cout.precision(oldprc) ; G4Exception("G4Para::DistanceToOut(p)", "Notification", JustWarning, "Point p is outside !?" ); } @@ -1162,9 +1187,9 @@ G4Para::CreateRotatedVertices( const G4AffineTransform& pTransform ) const { G4ThreeVectorList *vertices; vertices=new G4ThreeVectorList(); - vertices->reserve(8); if (vertices) { + vertices->reserve(8); G4ThreeVector vertex0(-fDz*fTthetaCphi-fDy*fTalpha-fDx, -fDz*fTthetaSphi-fDy, -fDz); G4ThreeVector vertex1(-fDz*fTthetaCphi-fDy*fTalpha+fDx, @@ -1210,6 +1235,15 @@ G4GeometryType G4Para::GetEntityType() const return G4String("G4Para"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object +// +G4VSolid* G4Para::Clone() const +{ + return new G4Para(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream diff --git a/source/geometry/solids/CSG/src/G4Sphere.cc b/source/geometry/solids/CSG/src/G4Sphere.cc index c8a4b6098b..e08eea091b 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.84 2009/08/07 15:56:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Sphere.cc,v 1.90 2010/11/23 14:45:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4Sphere // @@ -82,6 +82,8 @@ enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kSTheta,kETheta}; enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNSTheta,kNETheta}; +const G4double G4Sphere::fEpsilon = 2.e-11; // relative tolerance of radii + //////////////////////////////////////////////////////////////////////// // // constructor - check parameters, convert angles so 0GetAngularTolerance(); // Check radii and set radial tolerances 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 + if ( (pRmin >= pRmax) || (pRmax < 10*kRadTolerance) || (pRmin < 0) ) { G4cerr << "ERROR - G4Sphere()::G4Sphere(): " << GetName() << G4endl << " Invalide values for radii ! - " @@ -115,6 +109,9 @@ G4Sphere::G4Sphere( const G4String& pName, G4Exception("G4Sphere::G4Sphere()", "InvalidSetup", FatalException, "Invalid radii"); } + fRmin=pRmin; fRmax=pRmax; + fRminTolerance = (pRmin) ? std::max( kRadTolerance, fEpsilon*fRmin ) : 0; + fRmaxTolerance = std::max( kRadTolerance, fEpsilon*fRmax ); // Check angles @@ -128,7 +125,13 @@ G4Sphere::G4Sphere( const G4String& pName, // for usage restricted to object persistency. // G4Sphere::G4Sphere( __void__& a ) - : G4CSGSolid(a) + : G4CSGSolid(a), fRminTolerance(0.), fRmaxTolerance(0.), kAngTolerance(0.), + fRmin(0.), fRmax(0.), fSPhi(0.), fDPhi(0.), fSTheta(0.), + fDTheta(0.), sinCPhi(0.), cosCPhi(0.), cosHDPhiOT(0.), cosHDPhiIT(0.), + sinSPhi(0.), cosSPhi(0.), sinEPhi(0.), cosEPhi(0.), hDPhi(0.), cPhi(0.), + ePhi(0.), sinSTheta(0.), cosSTheta(0.), sinETheta(0.), cosETheta(0.), + tanSTheta(0.), tanSTheta2(0.), tanETheta(0.), tanETheta2(0.), eTheta(0.), + fFullPhiSphere(false), fFullThetaSphere(false), fFullSphere(true) { } @@ -140,6 +143,63 @@ G4Sphere::~G4Sphere() { } +////////////////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4Sphere::G4Sphere(const G4Sphere& rhs) + : G4CSGSolid(rhs), fRminTolerance(rhs.fRminTolerance), + fRmaxTolerance(rhs.fRmaxTolerance), kAngTolerance(rhs.kAngTolerance), + fRmin(rhs.fRmin), fRmax(rhs.fRmax), fSPhi(rhs.fSPhi), fDPhi(rhs.fDPhi), + fSTheta(rhs.fSTheta), fDTheta(rhs.fDTheta), + sinCPhi(rhs.sinCPhi), cosCPhi(rhs.cosCPhi), + cosHDPhiOT(rhs.cosHDPhiOT), cosHDPhiIT(rhs.cosHDPhiIT), + sinSPhi(rhs.sinSPhi), cosSPhi(rhs.cosSPhi), + sinEPhi(rhs.sinEPhi), cosEPhi(rhs.cosEPhi), + hDPhi(rhs.hDPhi), cPhi(rhs.cPhi), ePhi(rhs.ePhi), + sinSTheta(rhs.sinSTheta), cosSTheta(rhs.cosSTheta), + sinETheta(rhs.sinETheta), cosETheta(rhs.cosETheta), + tanSTheta(rhs.tanSTheta), tanSTheta2(rhs.tanSTheta2), + tanETheta(rhs.tanETheta), tanETheta2(rhs.tanETheta2), eTheta(rhs.eTheta), + fFullPhiSphere(rhs.fFullPhiSphere), fFullThetaSphere(rhs.fFullThetaSphere), + fFullSphere(rhs.fFullSphere) +{ +} + +////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4Sphere& G4Sphere::operator = (const G4Sphere& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4CSGSolid::operator=(rhs); + + // Copy data + // + fRminTolerance = rhs.fRminTolerance; fRmaxTolerance = rhs.fRmaxTolerance; + kAngTolerance = rhs.kAngTolerance; fRmin = rhs.fRmin; fRmax = rhs.fRmax; + fSPhi = rhs.fSPhi; fDPhi = rhs.fDPhi; fSTheta = rhs.fSTheta; + fDTheta = rhs.fDTheta; sinCPhi = rhs.sinCPhi; cosCPhi = rhs.cosCPhi; + cosHDPhiOT = rhs.cosHDPhiOT; cosHDPhiIT = rhs.cosHDPhiIT; + sinSPhi = rhs.sinSPhi; cosSPhi = rhs.cosSPhi; + sinEPhi = rhs.sinEPhi; cosEPhi = rhs.cosEPhi; + hDPhi = rhs.hDPhi; cPhi = rhs.cPhi; ePhi = rhs.ePhi; + sinSTheta = rhs.sinSTheta; cosSTheta = rhs.cosSTheta; + sinETheta = rhs.sinETheta; cosETheta = rhs.cosETheta; + tanSTheta = rhs.tanSTheta; tanSTheta2 = rhs.tanSTheta2; + tanETheta = rhs.tanETheta; tanETheta2 = rhs.tanETheta2; + eTheta = rhs.eTheta; fFullPhiSphere = rhs.fFullPhiSphere; + fFullThetaSphere = rhs.fFullThetaSphere; fFullSphere = rhs.fFullSphere; + + return *this; +} + ////////////////////////////////////////////////////////////////////////// // // Dispatch to parameterisation for replication mechanism dimension @@ -759,7 +819,7 @@ G4ThreeVector G4Sphere::ApproxSurfaceNormal( const G4ThreeVector& p ) const cosETheta*std::sin(pPhi), -sinETheta ); break; - default: + default: // Should never reach this case ... DumpInfo(); G4Exception("G4Sphere::ApproxSurfaceNormal()","Notification",JustWarning, "Undefined side for valid surface normal to solid."); @@ -2296,7 +2356,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // Check intersection with correct half-plane (if not -> no intersect) // - if( (std::abs(xi)<=kCarTolerance) && (std::abs(yi)<=kCarTolerance) ) + if( (std::fabs(xi)<=kCarTolerance) && (std::fabs(yi)<=kCarTolerance) ) { vphi = std::atan2(v.y(),v.x()); sidephi = kSPhi; @@ -2328,7 +2388,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // Check intersection with correct half-plane // - if ((std::abs(xi)<=kCarTolerance) && (std::abs(yi)<=kCarTolerance)) + if ((std::fabs(xi)<=kCarTolerance) && (std::fabs(yi)<=kCarTolerance)) { // Leaving via ending phi // @@ -2396,7 +2456,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // Check intersection in correct half-plane // (if not -> not leaving phi extent) // - if( (std::abs(xi)<=kCarTolerance)&&(std::abs(yi)<=kCarTolerance) ) + if( (std::fabs(xi)<=kCarTolerance)&&(std::fabs(yi)<=kCarTolerance) ) { vphi = std::atan2(v.y(),v.x()); sidephi = kSPhi; @@ -2434,7 +2494,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // Check intersection in correct half-plane // (if not -> remain in extent) // - if( (std::abs(xi)<=kCarTolerance)&&(std::abs(yi)<=kCarTolerance) ) + if( (std::fabs(xi)<=kCarTolerance)&&(std::fabs(yi)<=kCarTolerance) ) { vphi = std::atan2(v.y(),v.x()); sidephi = kSPhi; @@ -2478,7 +2538,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // Check intersection in correct half-plane // (if not -> not leaving phi extent) // - if( (std::abs(xi)<=kCarTolerance)&&(std::abs(yi)<=kCarTolerance) ) + if( (std::fabs(xi)<=kCarTolerance)&&(std::fabs(yi)<=kCarTolerance) ) { vphi = std::atan2(v.y(),v.x()) ; sidephi = kSPhi; @@ -2516,7 +2576,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // Check intersection in correct half-plane // (if not -> remain in extent) // - if((std::abs(xi)<=kCarTolerance) && (std::abs(yi)<=kCarTolerance)) + if((std::fabs(xi)<=kCarTolerance) && (std::fabs(yi)<=kCarTolerance)) { vphi = std::atan2(v.y(),v.x()) ; sidephi = kSPhi; @@ -2670,7 +2730,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, break; default: - G4cout.precision(16); + G4int old_prc = G4cout.precision(16); G4cout << G4endl; DumpInfo(); G4cout << "Position:" << G4endl << G4endl; @@ -2683,6 +2743,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, G4cout << "v.z() = " << v.z() << G4endl << G4endl; G4cout << "Proposed distance :" << G4endl << G4endl; G4cout << "snxt = " << snxt/mm << " mm" << G4endl << G4endl; + G4cout.precision(old_prc); G4Exception("G4Sphere::DistanceToOut(p,v,..)", "Notification", JustWarning, "Undefined side for valid surface normal to solid."); @@ -2691,7 +2752,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, } if (snxt == kInfinity) { - G4cout.precision(24); + G4int old_prc = G4cout.precision(24); G4cout << G4endl; DumpInfo(); G4cout << "Position:" << G4endl << G4endl; @@ -2706,6 +2767,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, G4cout << "v.z() = " << v.z() << G4endl << G4endl; G4cout << "Proposed distance :" << G4endl << G4endl; G4cout << "snxt = " << snxt/mm << " mm" << G4endl << G4endl; + G4cout.precision(old_prc); G4Exception("G4Sphere::DistanceToOut(p,v,..)", "Notification", JustWarning, "Logic error: snxt = kInfinity ???"); @@ -2730,13 +2792,14 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p ) const #ifdef G4CSGDEBUG if( Inside(p) == kOutside ) { - G4cout.precision(16) ; - G4cout << G4endl ; + G4int old_prc = G4cout.precision(16); + G4cout << G4endl; DumpInfo(); 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 ; + G4cout.precision(old_prc) ; G4Exception("G4Sphere::DistanceToOut(p)", "Notification", JustWarning, "Point p is outside !?" ); } @@ -2877,9 +2940,9 @@ G4Sphere::CreateRotatedVertices( const G4AffineTransform& pTransform, G4double* cosCrossTheta = new G4double[noThetaSections]; G4double* sinCrossTheta = new G4double[noThetaSections]; vertices=new G4ThreeVectorList(); - vertices->reserve(noPhiCrossSections*(noThetaSections*2)); if (vertices && cosCrossTheta && sinCrossTheta) { + vertices->reserve(noPhiCrossSections*(noThetaSections*2)); for (crossSectionPhi=0; crossSectionPhi G4Torus::TorusRootsJT( const G4ThreeVector& p, - const G4ThreeVector& v, - G4double r ) const +void G4Torus::TorusRootsJT( const G4ThreeVector& p, + const G4ThreeVector& v, + G4double r, + std::vector& roots ) const { G4int i, num ; G4double c[5], sr[4], si[4] ; - std::vector roots ; G4double Rtor2 = fRtor*fRtor, r2 = r*r ; @@ -232,9 +267,7 @@ std::vector G4Torus::TorusRootsJT( const G4ThreeVector& p, if( si[i] == 0. ) { roots.push_back(sr[i]) ; } // store real roots } - std::sort(roots.begin() , roots.end() ) ; // sorting with < - - return roots; + std::sort(roots.begin() , roots.end() ) ; // sorting with < } ////////////////////////////////////////////////////////////////////////////// @@ -252,13 +285,15 @@ G4double G4Torus::SolveNumericJT( const G4ThreeVector& p, G4double bigdist = 10*mm ; G4double tmin = kInfinity ; G4double t, scal ; + static const G4double halfCarTolerance = 0.5*kCarTolerance; + static const G4double halfAngTolerance = 0.5*kAngTolerance; // calculate the distances to the intersections with the Torus // from a given point p and direction v. // std::vector roots ; std::vector rootsrefined ; - roots = TorusRootsJT(p,v,r) ; + TorusRootsJT(p,v,r,roots) ; G4ThreeVector ptmp ; @@ -268,12 +303,12 @@ G4double G4Torus::SolveNumericJT( const G4ThreeVector& p, { t = roots[k] ; - if ( t < -0.5*kCarTolerance ) { continue ; } // skip negative roots + if ( t < -halfCarTolerance ) { continue ; } // skip negative roots if ( t > bigdist && t= 0 ) { - if ( theta < - kAngTolerance*0.5 ) { theta += twopi; } - if ( (std::abs(theta) < kAngTolerance*0.5) - && (std::abs(fSPhi + fDPhi - twopi) < kAngTolerance*0.5) ) + if ( theta < - halfAngTolerance ) { theta += twopi; } + if ( (std::fabs(theta) < halfAngTolerance) + && (std::fabs(fSPhi + fDPhi - twopi) < halfAngTolerance) ) { theta += twopi ; // 0 <= theta < 2pi } } - if ((fSPhi <= -pi )&&(theta>kAngTolerance*0.5)) { theta = theta-twopi; } + if ((fSPhi <= -pi )&&(theta>halfAngTolerance)) { theta = theta-twopi; } // We have to verify if this root is inside the region between // fSPhi and fSPhi + fDPhi // - if ( (theta - fSPhi >= - kAngTolerance*0.5) - && (theta - (fSPhi + fDPhi) <= kAngTolerance*0.5) ) + if ( (theta - fSPhi >= - halfAngTolerance) + && (theta - (fSPhi + fDPhi) <= halfAngTolerance) ) { // check if P is on the surface, and called from DistanceToIn // DistanceToIn has to return 0.0 if particle is going inside the solid if ( IsDistanceToIn == true ) { - if (std::fabs(t) < 0.5*kCarTolerance ) + if (std::fabs(t) < halfCarTolerance ) { // compute scalar product at position p : v.n // ( n taken from SurfaceNormal, not normalized ) @@ -329,7 +364,7 @@ G4double G4Torus::SolveNumericJT( const G4ThreeVector& p, if ( IsDistanceToIn == false ) { - if (std::fabs(t) < 0.5*kCarTolerance ) + if (std::fabs(t) < halfCarTolerance ) { // compute scalar product at position p : v.n // @@ -348,7 +383,7 @@ G4double G4Torus::SolveNumericJT( const G4ThreeVector& p, // check if distance is larger than 1/2 kCarTolerance // - if( t > 0.5*kCarTolerance ) + if( t > halfCarTolerance ) { tmin = t ; return tmin ; @@ -417,7 +452,7 @@ G4bool G4Torus::CalculateExtent( const EAxis pAxis, else { if (yMin < pVoxelLimit.GetMinYExtent() ) - { + { yMin = pVoxelLimit.GetMinYExtent() ; } if (yMax > pVoxelLimit.GetMaxYExtent() ) @@ -469,6 +504,7 @@ G4bool G4Torus::CalculateExtent( const EAxis pAxis, // Y limits don't cross max/min x => compute max delta x, // hence new mins/maxs // + RTorus=fRmax+fRtor; delta = RTorus*RTorus - yoff1*yoff1; diff1 = (delta>0.) ? std::sqrt(delta) : 0.; @@ -587,14 +623,17 @@ EInside G4Torus::Inside( const G4ThreeVector& p ) const G4double r2, pt2, pPhi, tolRMin, tolRMax ; EInside in = kOutside ; + static const G4double halfRadTolerance = 0.5*kRadTolerance; + static const G4double halfAngTolerance = 0.5*kAngTolerance; + // General precals r2 = p.x()*p.x() + p.y()*p.y() ; pt2 = r2 + p.z()*p.z() + fRtor*fRtor - 2*fRtor*std::sqrt(r2) ; - if (fRmin) tolRMin = fRmin + kRadTolerance*0.5 ; + if (fRmin) tolRMin = fRmin + halfRadTolerance ; else tolRMin = 0 ; - tolRMax = fRmax - kRadTolerance*0.5; + tolRMax = fRmax - halfRadTolerance; if (pt2 >= tolRMin*tolRMin && pt2 <= tolRMax*tolRMax ) { @@ -609,29 +648,29 @@ EInside G4Torus::Inside( const G4ThreeVector& p ) const pPhi = std::atan2(p.y(),p.x()) ; - if ( pPhi < -kAngTolerance*0.5 ) { pPhi += twopi ; } // 0<=pPhi<2pi + if ( pPhi < -halfAngTolerance ) { pPhi += twopi ; } // 0<=pPhi<2pi if ( fSPhi >= 0 ) { - if ( (std::abs(pPhi) < kAngTolerance*0.5) - && (std::abs(fSPhi + fDPhi - twopi) < kAngTolerance*0.5) ) + if ( (std::fabs(pPhi) < halfAngTolerance) + && (std::fabs(fSPhi + fDPhi - twopi) < halfAngTolerance) ) { pPhi += twopi ; // 0 <= pPhi < 2pi } - if ( (pPhi >= fSPhi + kAngTolerance*0.5) - && (pPhi <= fSPhi + fDPhi - kAngTolerance*0.5) ) + if ( (pPhi >= fSPhi + halfAngTolerance) + && (pPhi <= fSPhi + fDPhi - halfAngTolerance) ) { in = kInside ; } - else if ( (pPhi >= fSPhi - kAngTolerance*0.5) - && (pPhi <= fSPhi + fDPhi + kAngTolerance*0.5) ) + else if ( (pPhi >= fSPhi - halfAngTolerance) + && (pPhi <= fSPhi + fDPhi + halfAngTolerance) ) { in = kSurface ; } } else // fSPhi < 0 { - if ( (pPhi <= fSPhi + twopi - kAngTolerance*0.5) - && (pPhi >= fSPhi + fDPhi + kAngTolerance*0.5) ) {;} + if ( (pPhi <= fSPhi + twopi - halfAngTolerance) + && (pPhi >= fSPhi + fDPhi + halfAngTolerance) ) {;} else { in = kSurface ; @@ -641,8 +680,8 @@ EInside G4Torus::Inside( const G4ThreeVector& p ) const } else // Try generous boundaries { - tolRMin = fRmin - kRadTolerance*0.5 ; - tolRMax = fRmax + kRadTolerance*0.5 ; + tolRMin = fRmin - halfRadTolerance ; + tolRMax = fRmax + halfRadTolerance ; if (tolRMin < 0 ) { tolRMin = 0 ; } @@ -656,24 +695,24 @@ EInside G4Torus::Inside( const G4ThreeVector& p ) const { pPhi = std::atan2(p.y(),p.x()) ; - if ( pPhi < -kAngTolerance*0.5 ) { pPhi += twopi ; } // 0<=pPhi<2pi + if ( pPhi < -halfAngTolerance ) { pPhi += twopi ; } // 0<=pPhi<2pi if ( fSPhi >= 0 ) { - if ( (std::abs(pPhi) < kAngTolerance*0.5) - && (std::abs(fSPhi + fDPhi - twopi) < kAngTolerance*0.5) ) + if ( (std::fabs(pPhi) < halfAngTolerance) + && (std::fabs(fSPhi + fDPhi - twopi) < halfAngTolerance) ) { pPhi += twopi ; // 0 <= pPhi < 2pi } - if ( (pPhi >= fSPhi - kAngTolerance*0.5) - && (pPhi <= fSPhi + fDPhi + kAngTolerance*0.5) ) + if ( (pPhi >= fSPhi - halfAngTolerance) + && (pPhi <= fSPhi + fDPhi + halfAngTolerance) ) { in = kSurface; } } else // fSPhi < 0 { - if ( (pPhi <= fSPhi + twopi - kAngTolerance*0.5) - && (pPhi >= fSPhi + fDPhi + kAngTolerance*0.5) ) {;} + if ( (pPhi <= fSPhi + twopi - halfAngTolerance) + && (pPhi >= fSPhi + fDPhi + halfAngTolerance) ) {;} else { in = kSurface ; @@ -697,7 +736,10 @@ G4ThreeVector G4Torus::SurfaceNormal( const G4ThreeVector& p ) const G4double rho2, rho, pt2, pt, pPhi; G4double distRMin = kInfinity; G4double distSPhi = kInfinity, distEPhi = kInfinity; - G4double delta = 0.5*kCarTolerance, dAngle = 0.5*kAngTolerance; + + static const G4double delta = 0.5*kCarTolerance; + static const G4double dAngle = 0.5*kAngTolerance; + G4ThreeVector nR, nPs, nPe; G4ThreeVector norm, sumnorm(0.,0.,0.); @@ -845,7 +887,7 @@ G4ThreeVector G4Torus::ApproxSurfaceNormal( const G4ThreeVector& p ) const case kNEPhi: norm = G4ThreeVector(-std::sin(fSPhi+fDPhi),std::cos(fSPhi+fDPhi),0) ; break; - default: + default: // Should never reach this case ... DumpInfo(); G4Exception("G4Torus::ApproxSurfaceNormal()", "Notification", JustWarning, @@ -896,8 +938,11 @@ G4double G4Torus::DistanceToIn( const G4ThreeVector& p, G4double tolORMin2,tolIRMin2; // `generous' radii squared G4double tolORMax2,tolIRMax2 ; - G4double Dist,xi,yi,zi,rhoi2,it2; // Intersection point variables + static const G4double halfCarTolerance = 0.5*kCarTolerance; + static const G4double halfRadTolerance = 0.5*kRadTolerance; + static const G4double halfAngTolerance = 0.5*kAngTolerance; + G4double Dist,xi,yi,zi,rhoi2,it2; // Intersection point variables G4double Comp; G4double cosSPhi,sinSPhi; // Trig for phi start intersect @@ -910,8 +955,8 @@ G4double G4Torus::DistanceToIn( const G4ThreeVector& p, seg = true ; hDPhi = 0.5*fDPhi ; // half delta phi cPhi = fSPhi + hDPhi ; - hDPhiOT = hDPhi+0.5*kAngTolerance ; // outers tol' half delta phi - hDPhiIT = hDPhi - 0.5*kAngTolerance ; + hDPhiOT = hDPhi + halfAngTolerance ; // outers tol' half delta phi + hDPhiIT = hDPhi - halfAngTolerance ; sinCPhi = std::sin(cPhi) ; cosCPhi = std::cos(cPhi) ; cosHDPhiOT = std::cos(hDPhiOT) ; @@ -924,16 +969,16 @@ G4double G4Torus::DistanceToIn( const G4ThreeVector& p, if (fRmin > kRadTolerance) // Calculate tolerant rmin and rmax { - tolORMin2 = (fRmin - 0.5*kRadTolerance)*(fRmin - 0.5*kRadTolerance) ; - tolIRMin2 = (fRmin + 0.5*kRadTolerance)*(fRmin + 0.5*kRadTolerance) ; + tolORMin2 = (fRmin - halfRadTolerance)*(fRmin - halfRadTolerance) ; + tolIRMin2 = (fRmin + halfRadTolerance)*(fRmin + halfRadTolerance) ; } else { tolORMin2 = 0 ; tolIRMin2 = 0 ; } - tolORMax2 = (fRmax + 0.5*kRadTolerance)*(fRmax + 0.5*kRadTolerance) ; - tolIRMax2 = (fRmax - kRadTolerance*0.5)*(fRmax - kRadTolerance*0.5) ; + tolORMax2 = (fRmax + halfRadTolerance)*(fRmax + halfRadTolerance) ; + tolIRMax2 = (fRmax - halfRadTolerance)*(fRmax - halfRadTolerance) ; // Intersection with Rmax (possible return) and Rmin (must also check phi) @@ -966,7 +1011,7 @@ G4double G4Torus::DistanceToIn( const G4ThreeVector& p, { Dist = (p.y()*cosSPhi - p.x()*sinSPhi) ; - if (Dist < kCarTolerance*0.5) + if (Dist < halfCarTolerance) { sphi = Dist/Comp ; if (sphi < snxt) @@ -998,7 +1043,7 @@ G4double G4Torus::DistanceToIn( const G4ThreeVector& p, { Dist = -(p.y()*cosEPhi - p.x()*sinEPhi) ; - if (Dist < kCarTolerance*0.5 ) + if (Dist < halfCarTolerance ) { sphi = Dist/Comp ; if (sphi < snxt ) @@ -1022,7 +1067,7 @@ G4double G4Torus::DistanceToIn( const G4ThreeVector& p, } } } - if(snxt < 0.5*kCarTolerance) { snxt = 0.0 ; } + if(snxt < halfCarTolerance) { snxt = 0.0 ; } return snxt ; } @@ -1091,6 +1136,10 @@ G4double G4Torus::DistanceToOut( const G4ThreeVector& p, ESide side = kNull, sidephi = kNull ; G4double snxt = kInfinity, sphi, s[4] ; + static const G4double halfCarTolerance = 0.5*kCarTolerance; + static const G4double halfRadTolerance = 0.5*kRadTolerance; + static const G4double halfAngTolerance = 0.5*kAngTolerance; + // Vars for phi intersection // G4double sinSPhi, cosSPhi, ePhi, sinEPhi, cosEPhi; @@ -1117,7 +1166,7 @@ G4double G4Torus::DistanceToOut( const G4ThreeVector& p, G4double pDotV = p.x()*v.x() + p.y()*v.y() + p.z()*v.z() ; - G4double tolRMax = fRmax - kRadTolerance*0.5 ; + G4double tolRMax = fRmax - halfRadTolerance ; G4double vDotNmax = pDotV - fRtor*(v.x()*p.x() + v.y()*p.y())/rho ; G4double pDotxyNmax = (1 - fRtor/rho) ; @@ -1145,7 +1194,7 @@ G4double G4Torus::DistanceToOut( const G4ThreeVector& p, if ( fRmin ) { - G4double tolRMin = fRmin + kRadTolerance*0.5 ; + G4double tolRMin = fRmin + halfRadTolerance ; if ( (pt2 < tolRMin*tolRMin) && (vDotNmax < 0) ) { @@ -1186,7 +1235,7 @@ G4double G4Torus::DistanceToOut( const G4ThreeVector& p, } #endif - + if (fDPhi < twopi) // Phi Intersections { sinSPhi = std::sin(fSPhi) ; @@ -1197,6 +1246,14 @@ G4double G4Torus::DistanceToOut( const G4ThreeVector& p, cPhi = fSPhi + fDPhi*0.5 ; sinCPhi = std::sin(cPhi) ; cosCPhi = std::cos(cPhi) ; + + // angle calculation with correction + // of difference in domain of atan2 and Sphi + // + vphi = std::atan2(v.y(),v.x()) ; + + if ( vphi < fSPhi - halfAngTolerance ) { vphi += twopi; } + else if ( vphi > ePhi + halfAngTolerance ) { vphi -= twopi; } if ( p.x() || p.y() ) // Check if on z axis (rho not needed later) { @@ -1208,243 +1265,108 @@ G4double G4Torus::DistanceToOut( const G4ThreeVector& p, compS = -sinSPhi*v.x() + cosSPhi*v.y() ; compE = sinEPhi*v.x() - cosEPhi*v.y() ; sidephi = kNull ; - - if ( (pDistS <= 0) && (pDistE <= 0) ) + + if( ( (fDPhi <= pi) && ( (pDistS <= halfCarTolerance) + && (pDistE <= halfCarTolerance) ) ) + || ( (fDPhi > pi) && !((pDistS > halfCarTolerance) + && (pDistE > halfCarTolerance) ) ) ) { // Inside both phi *full* planes - - if (compS<0) + + if ( compS < 0 ) { - sphi=pDistS/compS; - 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) + sphi = pDistS/compS ; + + if (sphi >= -halfCarTolerance) { - sphi=kInfinity; - } - else - { - sidephi=kSPhi; - if (pDistS>-kCarTolerance*0.5) { sphi=0; } // Leave by sphi - // immediately - } - } - else - { - sphi=kInfinity; - } - - if (compE<0) - { - sphi2=pDistE/compE; - - // Only check further if < starting phi intersection - // - if (sphi2=0) + // (if not -> no intersect) + // + if ( (std::fabs(xi)<=kCarTolerance) + && (std::fabs(yi)<=kCarTolerance) ) { - // Leaving via ending phi - // - sidephi=kEPhi; - if (pDistE<=-kCarTolerance*0.5) + sidephi = kSPhi; + if ( ((fSPhi-halfAngTolerance)<=vphi) + && ((ePhi+halfAngTolerance)>=vphi) ) { - sphi=sphi2; - } - else - { - sphi=0; + sphi = kInfinity; } } - } - } - } - else if ( (pDistS>=0) && (pDistE>=0) ) - { - // Outside both *full* phi planes - - if (pDistS <= pDistE) - { - sidephi = kSPhi ; - } - else - { - sidephi = kEPhi ; - } - if (fDPhi>pi) - { - 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; - } - } - } - else if ( (pDistS>0) && (pDistE<0) ) - { - // Outside full starting plane, inside full ending plane - - if (fDPhi>pi) - { - if (compE<0) - { - sphi=pDistE/compE; - 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) + else if ( yi*cosCPhi-xi*sinCPhi >=0 ) { - sphi=kInfinity; + sphi = kInfinity ; } else { - // Leaving via Ending phi - // - sidephi = kEPhi ; - if (pDistE>-kCarTolerance*0.5) { sphi=0; } - } + sidephi = kSPhi ; + } } else { - sphi=kInfinity; + sphi = kInfinity ; } } else { - if (compS>=0) - { - if (compE<0) - { - sphi=pDistE/compE; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); + sphi = kInfinity ; + } - // Check intersection in correct half-plane - // (if not -> remain in extent) + if ( compE < 0 ) + { + sphi2 = pDistE/compE ; + + // Only check further if < starting phi intersection + // + if ( (sphi2 > -kCarTolerance) && (sphi2 < sphi) ) + { + xi = p.x() + sphi2*v.x() ; + yi = p.y() + sphi2*v.y() ; + + if ( (std::fabs(xi)<=kCarTolerance) + && (std::fabs(yi)<=kCarTolerance) ) + { + // Leaving via ending phi // - if ((yi*cosCPhi-xi*sinCPhi)<=0) + if( !( (fSPhi-halfAngTolerance <= vphi) + && (ePhi+halfAngTolerance >= vphi) ) ) { - sphi=kInfinity; + sidephi = kEPhi ; + sphi = sphi2; } - else + } + else // Check intersecting with correct half-plane + { + if ( (yi*cosCPhi-xi*sinCPhi) >= 0) { - // otherwise leaving via Ending phi + // Leaving via ending phi // - sidephi=kEPhi; + sidephi = kEPhi ; + sphi = sphi2; + } } - else { sphi=kInfinity; } - } - else - { - // leaving immediately by starting phi - // - sidephi=kSPhi; - sphi=0; } } } else { - // Must be pDistS<0&&pDistE>0 - // Inside full starting plane, outside full ending plane - - if (fDPhi>pi) - { - if (compS<0) - { - 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) - { - sphi=kInfinity; - } - else - { - // Leaving via Starting phi - // - sidephi = kSPhi ; - if (pDistS>-kCarTolerance*0.5) { sphi=0; } - } - } - else - { - sphi=kInfinity; - } - } - else - { - if (compE>=0) - { - if (compS<0) - { - 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) - { - sphi=kInfinity; - } - else - { - // otherwise leaving via Starting phi - // - sidephi=kSPhi; - } - } - else { sphi=kInfinity; } - } - else - { - // leaving immediately by ending - // - sidephi=kEPhi; - sphi=0; - } - } + sphi = kInfinity ; } - } + } else { // On z axis + travel not || to z axis -> if phi of vector direction // within phi of shape, Step limited by rmax, else Step =0 - vphi=std::atan2(v.y(),v.x()); - if ( (fSPhireserve(noCrossSections*4) ; if (vertices) { + vertices->reserve(noCrossSections*4) ; for (crossSection=0;crossSection= 2.0 * pi) + if (fDPhi >= twopi) { pNURBS = new G4NURBStube(fRmin, fRmax, fRtor); } @@ -1806,7 +1740,7 @@ G4NURBS* G4Torus::CreateNURBS () const } else { - if (fDPhi >= 2.0 * pi) + if (fDPhi >= twopi) { pNURBS = new G4NURBScylinder (fRmax, fRtor); } diff --git a/source/geometry/solids/CSG/src/G4Trap.cc b/source/geometry/solids/CSG/src/G4Trap.cc index d683921bdb..9cc383406f 100644 --- a/source/geometry/solids/CSG/src/G4Trap.cc +++ b/source/geometry/solids/CSG/src/G4Trap.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Trap.cc,v 1.45 2008/04/23 09:49:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Trap.cc,v 1.49 2010/10/19 15:42:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4Trap // @@ -91,26 +91,8 @@ G4Trap::G4Trap( const G4String& pName, G4double pAlp2) : G4CSGSolid(pName) { - if ( pDz > 0 && pDy1 > 0 && pDx1 > 0 && - pDx2 > 0 && pDy2 > 0 && pDx3 > 0 && pDx4 > 0 ) - { - fDz=pDz; - fTthetaCphi=std::tan(pTheta)*std::cos(pPhi); - fTthetaSphi=std::tan(pTheta)*std::sin(pPhi); - - fDy1=pDy1; - fDx1=pDx1; - fDx2=pDx2; - fTalpha1=std::tan(pAlp1); - - fDy2=pDy2; - fDx3=pDx3; - fDx4=pDx4; - fTalpha2=std::tan(pAlp2); - - MakePlanes(); - } - else + if ( pDz <= 0 || pDy1 <= 0 || pDx1 <= 0 || + pDx2 <= 0 || pDy2 <= 0 || pDx3 <= 0 || pDx4 <= 0 ) { G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl << " Invalid dimensions !" << G4endl @@ -121,6 +103,22 @@ G4Trap::G4Trap( const G4String& pName, G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, "Invalid length G4Trap parameters."); } + + fDz=pDz; + fTthetaCphi=std::tan(pTheta)*std::cos(pPhi); + fTthetaSphi=std::tan(pTheta)*std::sin(pPhi); + + fDy1=pDy1; + fDx1=pDx1; + fDx2=pDx2; + fTalpha1=std::tan(pAlp1); + + fDy2=pDy2; + fDx3=pDx3; + fDx4=pDx4; + fTalpha2=std::tan(pAlp2); + + MakePlanes(); } //////////////////////////////////////////////////////////////////////////// @@ -133,87 +131,85 @@ G4Trap::G4Trap( const G4String& pName, const G4ThreeVector pt[8] ) : G4CSGSolid(pName) { + G4bool good; + // Start with check of centering - the center of gravity trap line // should cross the origin of frame - if ( pt[0].z() < 0 - && pt[0].z() == pt[1].z() && pt[0].z() == pt[2].z() - && pt[0].z() == pt[3].z() - && pt[4].z() > 0 - && pt[4].z() == pt[5].z() && pt[4].z() == pt[6].z() - && pt[4].z() == pt[7].z() - && std::fabs( pt[0].z() + pt[4].z() ) < kCarTolerance - && pt[0].y() == pt[1].y() && pt[2].y() == pt[3].y() - && pt[4].y() == pt[5].y() && pt[6].y() == pt[7].y() - && std::fabs( pt[0].y() + pt[2].y() + pt[4].y() + pt[6].y() ) < kCarTolerance - && std::fabs( pt[0].x() + pt[1].x() + pt[4].x() + pt[5].x() + - pt[2].x() + pt[3].x() + pt[6].x() + pt[7].x() ) < kCarTolerance ) - { - G4bool good; - - // Bottom side with normal approx. -Y - - good = MakePlane(pt[0],pt[4],pt[5],pt[1],fPlanes[0]); - - if (!good) - { - DumpInfo(); - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~-Y not planar."); - } - - // Top side with normal approx. +Y - - good = MakePlane(pt[2],pt[3],pt[7],pt[6],fPlanes[1]); - - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~+Y not planar."); - } - - // Front side with normal approx. -X - - good = MakePlane(pt[0],pt[2],pt[6],pt[4],fPlanes[2]); - - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~-X not planar."); - } - - // Back side iwth normal approx. +X - - good = MakePlane(pt[1],pt[5],pt[7],pt[3],fPlanes[3]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~+X not planar."); - } - fDz = (pt[7]).z() ; - - fDy1 = ((pt[2]).y()-(pt[1]).y())*0.5; - fDx1 = ((pt[1]).x()-(pt[0]).x())*0.5; - fDx2 = ((pt[3]).x()-(pt[2]).x())*0.5; - fTalpha1 = ((pt[2]).x()+(pt[3]).x()-(pt[1]).x()-(pt[0]).x())*0.25/fDy1; - - fDy2 = ((pt[6]).y()-(pt[5]).y())*0.5; - fDx3 = ((pt[5]).x()-(pt[4]).x())*0.5; - fDx4 = ((pt[7]).x()-(pt[6]).x())*0.5; - fTalpha2 = ((pt[6]).x()+(pt[7]).x()-(pt[5]).x()-(pt[4]).x())*0.25/fDy2; - - fTthetaCphi = ((pt[4]).x()+fDy2*fTalpha2+fDx3)/fDz; - fTthetaSphi = ((pt[4]).y()+fDy2)/fDz; - } - else + if (!( pt[0].z() < 0 + && pt[0].z() == pt[1].z() && pt[0].z() == pt[2].z() + && pt[0].z() == pt[3].z() + && pt[4].z() > 0 + && pt[4].z() == pt[5].z() && pt[4].z() == pt[6].z() + && pt[4].z() == pt[7].z() + && std::fabs( pt[0].z() + pt[4].z() ) < kCarTolerance + && pt[0].y() == pt[1].y() && pt[2].y() == pt[3].y() + && pt[4].y() == pt[5].y() && pt[6].y() == pt[7].y() + && std::fabs( pt[0].y() + pt[2].y() + pt[4].y() + pt[6].y() ) < kCarTolerance + && std::fabs( pt[0].x() + pt[1].x() + pt[4].x() + pt[5].x() + + pt[2].x() + pt[3].x() + pt[6].x() + pt[7].x() ) < kCarTolerance ) ) { G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, "Invalid vertice coordinates."); } + + // Bottom side with normal approx. -Y + + good = MakePlane(pt[0],pt[4],pt[5],pt[1],fPlanes[0]); + + if (!good) + { + DumpInfo(); + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~-Y not planar."); + } + + // Top side with normal approx. +Y + + good = MakePlane(pt[2],pt[3],pt[7],pt[6],fPlanes[1]); + + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~+Y not planar."); + } + + // Front side with normal approx. -X + + good = MakePlane(pt[0],pt[2],pt[6],pt[4],fPlanes[2]); + + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~-X not planar."); + } + + // Back side iwth normal approx. +X + + good = MakePlane(pt[1],pt[5],pt[7],pt[3],fPlanes[3]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~+X not planar."); + } + fDz = (pt[7]).z() ; + + fDy1 = ((pt[2]).y()-(pt[1]).y())*0.5; + fDx1 = ((pt[1]).x()-(pt[0]).x())*0.5; + fDx2 = ((pt[3]).x()-(pt[2]).x())*0.5; + fTalpha1 = ((pt[2]).x()+(pt[3]).x()-(pt[1]).x()-(pt[0]).x())*0.25/fDy1; + + fDy2 = ((pt[6]).y()-(pt[5]).y())*0.5; + fDx3 = ((pt[5]).x()-(pt[4]).x())*0.5; + fDx4 = ((pt[7]).x()-(pt[6]).x())*0.5; + fTalpha2 = ((pt[6]).x()+(pt[7]).x()-(pt[5]).x()-(pt[4]).x())*0.25/fDy2; + + fTthetaCphi = ((pt[4]).x()+fDy2*fTalpha2+fDx3)/fDz; + fTthetaSphi = ((pt[4]).y()+fDy2)/fDz; } ////////////////////////////////////////////////////////////////////////////// @@ -224,92 +220,89 @@ G4Trap::G4Trap( const G4String& pName, G4double pZ, G4double pY, G4double pX, G4double pLTX ) - : G4CSGSolid(pName) - + : G4CSGSolid(pName) { G4bool good; - if ( pZ>0 && pY>0 && pX>0 && pLTX>0 && pLTX<=pX ) - { - fDz = 0.5*pZ ; - fTthetaCphi = 0 ; - fTthetaSphi = 0 ; - - fDy1 = 0.5*pY; - fDx1 = 0.5*pX ; - fDx2 = 0.5*pLTX; - fTalpha1 = 0.5*(pLTX - pX)/pY; - - fDy2 = fDy1 ; - fDx3 = fDx1; - fDx4 = fDx2 ; - fTalpha2 = fTalpha1 ; - - G4ThreeVector pt[8] ; - - pt[0]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1-fDx1, - -fDz*fTthetaSphi-fDy1,-fDz); - pt[1]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1+fDx1, - -fDz*fTthetaSphi-fDy1,-fDz); - pt[2]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1-fDx2, - -fDz*fTthetaSphi+fDy1,-fDz); - pt[3]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1+fDx2, - -fDz*fTthetaSphi+fDy1,-fDz); - pt[4]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2-fDx3, - +fDz*fTthetaSphi-fDy2,+fDz); - pt[5]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2+fDx3, - +fDz*fTthetaSphi-fDy2,+fDz); - pt[6]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2-fDx4, - +fDz*fTthetaSphi+fDy2,+fDz); - pt[7]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2+fDx4, - +fDz*fTthetaSphi+fDy2,+fDz); - - // Bottom side with normal approx. -Y - // - good=MakePlane(pt[0],pt[4],pt[5],pt[1],fPlanes[0]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~-Y not planar."); - } - - // Top side with normal approx. +Y - // - good=MakePlane(pt[2],pt[3],pt[7],pt[6],fPlanes[1]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~+Y not planar."); - } - - // Front side with normal approx. -X - // - good=MakePlane(pt[0],pt[2],pt[6],pt[4],fPlanes[2]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~-X not planar."); - } - - // Back side iwth normal approx. +X - // - good=MakePlane(pt[1],pt[5],pt[7],pt[3],fPlanes[3]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~+X not planar."); - } - } - else + if ( pZ<=0 || pY<=0 || pX<=0 || pLTX<=0 || pLTX>pX ) { G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, "Invalid length G4Trap parameters."); } + + fDz = 0.5*pZ ; + fTthetaCphi = 0 ; + fTthetaSphi = 0 ; + + fDy1 = 0.5*pY; + fDx1 = 0.5*pX ; + fDx2 = 0.5*pLTX; + fTalpha1 = 0.5*(pLTX - pX)/pY; + + fDy2 = fDy1 ; + fDx3 = fDx1; + fDx4 = fDx2 ; + fTalpha2 = fTalpha1 ; + + G4ThreeVector pt[8] ; + + pt[0]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1-fDx1, + -fDz*fTthetaSphi-fDy1,-fDz); + pt[1]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1+fDx1, + -fDz*fTthetaSphi-fDy1,-fDz); + pt[2]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1-fDx2, + -fDz*fTthetaSphi+fDy1,-fDz); + pt[3]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1+fDx2, + -fDz*fTthetaSphi+fDy1,-fDz); + pt[4]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2-fDx3, + +fDz*fTthetaSphi-fDy2,+fDz); + pt[5]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2+fDx3, + +fDz*fTthetaSphi-fDy2,+fDz); + pt[6]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2-fDx4, + +fDz*fTthetaSphi+fDy2,+fDz); + pt[7]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2+fDx4, + +fDz*fTthetaSphi+fDy2,+fDz); + + // Bottom side with normal approx. -Y + // + good=MakePlane(pt[0],pt[4],pt[5],pt[1],fPlanes[0]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~-Y not planar."); + } + + // Top side with normal approx. +Y + // + good=MakePlane(pt[2],pt[3],pt[7],pt[6],fPlanes[1]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~+Y not planar."); + } + + // Front side with normal approx. -X + // + good=MakePlane(pt[0],pt[2],pt[6],pt[4],fPlanes[2]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~-X not planar."); + } + + // Back side iwth normal approx. +X + // + good=MakePlane(pt[1],pt[5],pt[7],pt[3],fPlanes[3]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~+X not planar."); + } } /////////////////////////////////////////////////////////////////////////////// @@ -324,87 +317,85 @@ G4Trap::G4Trap( const G4String& pName, { G4bool good; - if ( pDz>0 && pDy1>0 && pDx1>0 && pDx2>0 && pDy2>0 ) - { - fDz = pDz; - fTthetaCphi = 0 ; - fTthetaSphi = 0 ; - - fDy1 = pDy1 ; - fDx1 = pDx1 ; - fDx2 = pDx1 ; - fTalpha1 = 0 ; - - fDy2 = pDy2 ; - fDx3 = pDx2 ; - fDx4 = pDx2 ; - fTalpha2 = 0 ; - - G4ThreeVector pt[8] ; - - pt[0]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1-fDx1, - -fDz*fTthetaSphi-fDy1,-fDz); - pt[1]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1+fDx1, - -fDz*fTthetaSphi-fDy1,-fDz); - pt[2]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1-fDx2, - -fDz*fTthetaSphi+fDy1,-fDz); - pt[3]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1+fDx2, - -fDz*fTthetaSphi+fDy1,-fDz); - pt[4]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2-fDx3, - +fDz*fTthetaSphi-fDy2,+fDz); - pt[5]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2+fDx3, - +fDz*fTthetaSphi-fDy2,+fDz); - pt[6]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2-fDx4, - +fDz*fTthetaSphi+fDy2,+fDz); - pt[7]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2+fDx4, - +fDz*fTthetaSphi+fDy2,+fDz); - - // Bottom side with normal approx. -Y - // - good=MakePlane(pt[0],pt[4],pt[5],pt[1],fPlanes[0]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~-Y not planar."); - } - - // Top side with normal approx. +Y - // - good=MakePlane(pt[2],pt[3],pt[7],pt[6],fPlanes[1]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~+Y not planar."); - } - - // Front side with normal approx. -X - // - good=MakePlane(pt[0],pt[2],pt[6],pt[4],fPlanes[2]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~-X not planar."); - } - - // Back side iwth normal approx. +X - // - good=MakePlane(pt[1],pt[5],pt[7],pt[3],fPlanes[3]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~+X not planar."); - } - } - else + if ( pDz<=0 || pDy1<=0 || pDx1<=0 || pDx2<=0 || pDy2<=0 ) { G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, "Invalid length G4Trap parameters."); } + + fDz = pDz; + fTthetaCphi = 0 ; + fTthetaSphi = 0 ; + + fDy1 = pDy1 ; + fDx1 = pDx1 ; + fDx2 = pDx1 ; + fTalpha1 = 0 ; + + fDy2 = pDy2 ; + fDx3 = pDx2 ; + fDx4 = pDx2 ; + fTalpha2 = 0 ; + + G4ThreeVector pt[8] ; + + pt[0]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1-fDx1, + -fDz*fTthetaSphi-fDy1,-fDz); + pt[1]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1+fDx1, + -fDz*fTthetaSphi-fDy1,-fDz); + pt[2]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1-fDx2, + -fDz*fTthetaSphi+fDy1,-fDz); + pt[3]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1+fDx2, + -fDz*fTthetaSphi+fDy1,-fDz); + pt[4]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2-fDx3, + +fDz*fTthetaSphi-fDy2,+fDz); + pt[5]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2+fDx3, + +fDz*fTthetaSphi-fDy2,+fDz); + pt[6]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2-fDx4, + +fDz*fTthetaSphi+fDy2,+fDz); + pt[7]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2+fDx4, + +fDz*fTthetaSphi+fDy2,+fDz); + + // Bottom side with normal approx. -Y + // + good=MakePlane(pt[0],pt[4],pt[5],pt[1],fPlanes[0]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~-Y not planar."); + } + + // Top side with normal approx. +Y + // + good=MakePlane(pt[2],pt[3],pt[7],pt[6],fPlanes[1]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~+Y not planar."); + } + + // Front side with normal approx. -X + // + good=MakePlane(pt[0],pt[2],pt[6],pt[4],fPlanes[2]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~-X not planar."); + } + + // Back side iwth normal approx. +X + // + good=MakePlane(pt[1],pt[5],pt[7],pt[3],fPlanes[3]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~+X not planar."); + } } //////////////////////////////////////////////////////////////////////////// @@ -415,92 +406,90 @@ G4Trap::G4Trap( const G4String& pName, G4double pDx, G4double pDy, G4double pDz, G4double pAlpha, - G4double pTheta, G4double pPhi) + G4double pTheta, G4double pPhi ) : G4CSGSolid(pName) { G4bool good; - if ( pDz>0 && pDy>0 && pDx>0 ) - { - fDz = pDz ; - fTthetaCphi = std::tan(pTheta)*std::cos(pPhi) ; - fTthetaSphi = std::tan(pTheta)*std::sin(pPhi) ; - - fDy1 = pDy ; - fDx1 = pDx ; - fDx2 = pDx ; - fTalpha1 = std::tan(pAlpha) ; - - fDy2 = pDy ; - fDx3 = pDx ; - fDx4 = pDx ; - fTalpha2 = fTalpha1 ; - - G4ThreeVector pt[8] ; - - pt[0]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1-fDx1, - -fDz*fTthetaSphi-fDy1,-fDz); - pt[1]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1+fDx1, - -fDz*fTthetaSphi-fDy1,-fDz); - pt[2]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1-fDx2, - -fDz*fTthetaSphi+fDy1,-fDz); - pt[3]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1+fDx2, - -fDz*fTthetaSphi+fDy1,-fDz); - pt[4]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2-fDx3, - +fDz*fTthetaSphi-fDy2,+fDz); - pt[5]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2+fDx3, - +fDz*fTthetaSphi-fDy2,+fDz); - pt[6]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2-fDx4, - +fDz*fTthetaSphi+fDy2,+fDz); - pt[7]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2+fDx4, - +fDz*fTthetaSphi+fDy2,+fDz); - - // Bottom side with normal approx. -Y - // - good=MakePlane(pt[0],pt[4],pt[5],pt[1],fPlanes[0]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~-Y not planar."); - } - - // Top side with normal approx. +Y - // - good=MakePlane(pt[2],pt[3],pt[7],pt[6],fPlanes[1]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~+Y not planar."); - } - - // Front side with normal approx. -X - // - good=MakePlane(pt[0],pt[2],pt[6],pt[4],fPlanes[2]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~-X not planar."); - } - - // Back side iwth normal approx. +X - // - good=MakePlane(pt[1],pt[5],pt[7],pt[3],fPlanes[3]); - if (!good) - { - G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; - G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, - "Face at ~+X not planar."); - } - } - else + if ( pDz<=0 || pDy<=0 || pDx<=0 ) { G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, "Invalid length G4Trap parameters."); } + + fDz = pDz ; + fTthetaCphi = std::tan(pTheta)*std::cos(pPhi) ; + fTthetaSphi = std::tan(pTheta)*std::sin(pPhi) ; + + fDy1 = pDy ; + fDx1 = pDx ; + fDx2 = pDx ; + fTalpha1 = std::tan(pAlpha) ; + + fDy2 = pDy ; + fDx3 = pDx ; + fDx4 = pDx ; + fTalpha2 = fTalpha1 ; + + G4ThreeVector pt[8] ; + + pt[0]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1-fDx1, + -fDz*fTthetaSphi-fDy1,-fDz); + pt[1]=G4ThreeVector(-fDz*fTthetaCphi-fDy1*fTalpha1+fDx1, + -fDz*fTthetaSphi-fDy1,-fDz); + pt[2]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1-fDx2, + -fDz*fTthetaSphi+fDy1,-fDz); + pt[3]=G4ThreeVector(-fDz*fTthetaCphi+fDy1*fTalpha1+fDx2, + -fDz*fTthetaSphi+fDy1,-fDz); + pt[4]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2-fDx3, + +fDz*fTthetaSphi-fDy2,+fDz); + pt[5]=G4ThreeVector(+fDz*fTthetaCphi-fDy2*fTalpha2+fDx3, + +fDz*fTthetaSphi-fDy2,+fDz); + pt[6]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2-fDx4, + +fDz*fTthetaSphi+fDy2,+fDz); + pt[7]=G4ThreeVector(+fDz*fTthetaCphi+fDy2*fTalpha2+fDx4, + +fDz*fTthetaSphi+fDy2,+fDz); + + // Bottom side with normal approx. -Y + // + good=MakePlane(pt[0],pt[4],pt[5],pt[1],fPlanes[0]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~-Y not planar."); + } + + // Top side with normal approx. +Y + // + good=MakePlane(pt[2],pt[3],pt[7],pt[6],fPlanes[1]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~+Y not planar."); + } + + // Front side with normal approx. -X + // + good=MakePlane(pt[0],pt[2],pt[6],pt[4],fPlanes[2]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~-X not planar."); + } + + // Back side iwth normal approx. +X + // + good=MakePlane(pt[1],pt[5],pt[7],pt[3],fPlanes[3]); + if (!good) + { + G4cerr << "ERROR - G4Trap()::G4Trap(): " << GetName() << G4endl; + G4Exception("G4Trap::G4Trap()", "InvalidSetup", FatalException, + "Face at ~+X not planar."); + } } /////////////////////////////////////////////////////////////////////////// @@ -510,20 +499,11 @@ G4Trap::G4Trap( const G4String& pName, // angles: final check of coplanarity G4Trap::G4Trap( const G4String& pName ) - : G4CSGSolid (pName), - fDz (1.), - fTthetaCphi (0.), - fTthetaSphi (0.), - fDy1 (1.), - fDx1 (1.), - fDx2 (1.), - fTalpha1 (0.), - fDy2 (1.), - fDx3 (1.), - fDx4 (1.), - fTalpha2 (0.) + : G4CSGSolid (pName), fDz(1.), fTthetaCphi(0.), fTthetaSphi(0.), + fDy1(1.), fDx1(1.), fDx2(1.), fTalpha1(0.), + fDy2(1.), fDx3(1.), fDx4(1.), fTalpha2(0.) { - MakePlanes(); + MakePlanes(); } /////////////////////////////////////////////////////////////////////// @@ -532,8 +512,11 @@ G4Trap::G4Trap( const G4String& pName ) // for usage restricted to object persistency. // G4Trap::G4Trap( __void__& a ) - : G4CSGSolid(a) + : G4CSGSolid(a), fDz(1.), fTthetaCphi(0.), fTthetaSphi(0.), + fDy1(1.), fDx1(1.), fDx2(1.), fTalpha1(0.), + fDy2(1.), fDx3(1.), fDx4(1.), fTalpha2(0.) { + MakePlanes(); } //////////////////////////////////////////////////////////////////////// @@ -544,6 +527,56 @@ G4Trap::~G4Trap() { } +////////////////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4Trap::G4Trap(const G4Trap& rhs) + : G4CSGSolid(rhs), fDz(rhs.fDz), + fTthetaCphi(rhs.fTthetaCphi), fTthetaSphi(rhs.fTthetaSphi), + fDy1(rhs.fDy1), fDx1(rhs.fDx1), fDx2(rhs.fDx2), fTalpha1(rhs.fTalpha1), + fDy2(rhs.fDy2), fDx3(rhs.fDx3), fDx4(rhs.fDx4), fTalpha2(rhs.fTalpha2) +{ + for (size_t i=0; i<4; ++i) + { + fPlanes[i].a = rhs.fPlanes[i].a; + fPlanes[i].b = rhs.fPlanes[i].b; + fPlanes[i].c = rhs.fPlanes[i].c; + fPlanes[i].d = rhs.fPlanes[i].d; + } +} + +////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4Trap& G4Trap::operator = (const G4Trap& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4CSGSolid::operator=(rhs); + + // Copy data + // + fDz = rhs.fDz; + fTthetaCphi = rhs.fTthetaCphi; fTthetaSphi = rhs.fTthetaSphi; + fDy1 = rhs.fDy1; fDx1 = rhs.fDx1; fDx2 = rhs.fDx2; fTalpha1 = rhs.fTalpha1; + fDy2 = rhs.fDy2; fDx3 = rhs.fDx3; fDx4 = rhs.fDx4; fTalpha2 = rhs.fTalpha2; + for (size_t i=0; i<4; ++i) + { + fPlanes[i].a = rhs.fPlanes[i].a; + fPlanes[i].b = rhs.fPlanes[i].b; + fPlanes[i].c = rhs.fPlanes[i].c; + fPlanes[i].d = rhs.fPlanes[i].d; + } + + return *this; +} + /////////////////////////////////////////////////////////////////////// // // Set all parameters, as for constructor - check and set half-widths @@ -561,28 +594,7 @@ void G4Trap::SetAllParameters ( G4double pDz, G4double pDx4, G4double pAlp2 ) { - fCubicVolume= 0.; - fSurfaceArea= 0.; - fpPolyhedron = 0; - if ( pDz>0 && pDy1>0 && pDx1>0 && pDx2>0 && pDy2>0 && pDx3>0 && pDx4>0 ) - { - fDz=pDz; - fTthetaCphi=std::tan(pTheta)*std::cos(pPhi); - fTthetaSphi=std::tan(pTheta)*std::sin(pPhi); - - fDy1=pDy1; - fDx1=pDx1; - fDx2=pDx2; - fTalpha1=std::tan(pAlp1); - - fDy2=pDy2; - fDx3=pDx3; - fDx4=pDx4; - fTalpha2=std::tan(pAlp2); - - MakePlanes(); - } - else + if ( pDz<=0 || pDy1<=0 || pDx1<=0 || pDx2<=0 || pDy2<=0 || pDx3<=0 || pDx4<=0 ) { G4cerr << "ERROR - G4Trap()::SetAllParameters(): " << GetName() << G4endl << " Invalid dimensions !" << G4endl @@ -593,6 +605,24 @@ void G4Trap::SetAllParameters ( G4double pDz, G4Exception("G4Trap::SetAllParameters()", "InvalidSetup", FatalException, "Invalid Length Parameters."); } + fCubicVolume= 0.; + fSurfaceArea= 0.; + fpPolyhedron = 0; + fDz=pDz; + fTthetaCphi=std::tan(pTheta)*std::cos(pPhi); + fTthetaSphi=std::tan(pTheta)*std::sin(pPhi); + + fDy1=pDy1; + fDx1=pDx1; + fDx2=pDx2; + fTalpha1=std::tan(pAlp1); + + fDy2=pDy2; + fDx3=pDx3; + fDx4=pDx4; + fTalpha2=std::tan(pAlp2); + + MakePlanes(); } ////////////////////////////////////////////////////////////////////////// @@ -1633,6 +1663,7 @@ G4double G4Trap::DistanceToOut(const G4ThreeVector& p, const G4ThreeVector& v, G4cout << "v.z() = " << v.z() << G4endl << G4endl; G4cout << "Proposed distance :" << G4endl << G4endl; G4cout << "snxt = " << snxt/mm << " mm" << G4endl << G4endl; + G4cout.precision(6); G4Exception("G4Trap::DistanceToOut(p,v,..)","Notification",JustWarning, "Undefined side for valid surface normal to solid."); break; @@ -1654,13 +1685,14 @@ G4double G4Trap::DistanceToOut( const G4ThreeVector& p ) const #ifdef G4CSGDEBUG if( Inside(p) == kOutside ) { - G4cout.precision(16) ; + G4int oldprc = G4cout.precision(16) ; G4cout << G4endl ; DumpInfo(); 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 ; + G4cout.precision(oldprc) ; G4Exception("G4Trap::DistanceToOut(p)", "Notification", JustWarning, "Point p is outside !?" ); } @@ -1695,9 +1727,9 @@ G4Trap::CreateRotatedVertices( const G4AffineTransform& pTransform ) const { G4ThreeVectorList *vertices; vertices=new G4ThreeVectorList(); - vertices->reserve(8); if (vertices) { + vertices->reserve(8); G4ThreeVector vertex0(-fDz*fTthetaCphi-fDy1*fTalpha1-fDx1, -fDz*fTthetaSphi-fDy1,-fDz); G4ThreeVector vertex1(-fDz*fTthetaCphi-fDy1*fTalpha1+fDx1, @@ -1743,6 +1775,15 @@ G4GeometryType G4Trap::GetEntityType() const return G4String("G4Trap"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object +// +G4VSolid* G4Trap::Clone() const +{ + return new G4Trap(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream diff --git a/source/geometry/solids/CSG/src/G4Trd.cc b/source/geometry/solids/CSG/src/G4Trd.cc index 07fce761cb..e0fa4abdf9 100644 --- a/source/geometry/solids/CSG/src/G4Trd.cc +++ b/source/geometry/solids/CSG/src/G4Trd.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Trd.cc,v 1.34 2006/10/19 15:33:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Trd.cc,v 1.38 2010/10/19 15:42:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Implementation for G4Trd class @@ -119,7 +119,7 @@ void G4Trd::CheckAndSetAllParameters ( G4double pdx1, G4double pdx2, // for usage restricted to object persistency. // G4Trd::G4Trd( __void__& a ) - : G4CSGSolid(a) + : G4CSGSolid(a), fDx1(0.), fDx2(0.), fDy1(0.), fDy2(0.), fDz(0.) { } @@ -131,6 +131,39 @@ G4Trd::~G4Trd() { } +////////////////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4Trd::G4Trd(const G4Trd& rhs) + : G4CSGSolid(rhs), fDx1(rhs.fDx1), fDx2(rhs.fDx2), + fDy1(rhs.fDy1), fDy2(rhs.fDy2), fDz(rhs.fDz) +{ +} + +////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4Trd& G4Trd::operator = (const G4Trd& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4CSGSolid::operator=(rhs); + + // Copy data + // + fDx1 = rhs.fDx1; fDx2 = rhs.fDx2; + fDy1 = rhs.fDy1; fDy2 = rhs.fDy2; + fDz = rhs.fDz; + + return *this; +} + //////////////////////////////////////////////////////////////////////////// // // @@ -1236,13 +1269,14 @@ G4double G4Trd::DistanceToOut( const G4ThreeVector& p ) const #ifdef G4CSGDEBUG if( Inside(p) == kOutside ) { - G4cout.precision(16) ; + G4int oldprc = G4cout.precision(16) ; G4cout << G4endl ; DumpInfo(); 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 ; + G4cout.precision(oldprc) ; G4Exception("G4Trd::DistanceToOut(p)", "Notification", JustWarning, "Point p is outside !?" ); } @@ -1287,9 +1321,9 @@ G4Trd::CreateRotatedVertices( const G4AffineTransform& pTransform ) const { G4ThreeVectorList *vertices; vertices=new G4ThreeVectorList(); - vertices->reserve(8); if (vertices) { + vertices->reserve(8); G4ThreeVector vertex0(-fDx1,-fDy1,-fDz); G4ThreeVector vertex1(fDx1,-fDy1,-fDz); G4ThreeVector vertex2(fDx1,fDy1,-fDz); @@ -1327,6 +1361,15 @@ G4GeometryType G4Trd::GetEntityType() const return G4String("G4Trd"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object +// +G4VSolid* G4Trd::Clone() const +{ + return new G4Trd(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream diff --git a/source/geometry/solids/CSG/src/G4Tubs.cc b/source/geometry/solids/CSG/src/G4Tubs.cc index 2799b9b7e4..187f8ce3e6 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.79 2009/06/30 10:10:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Tubs.cc,v 1.84 2010/10/19 15:42:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4Tubs @@ -89,17 +89,13 @@ G4Tubs::G4Tubs( const G4String &pName, G4double pRMin, G4double pRMax, G4double pDz, G4double pSPhi, G4double pDPhi ) - : G4CSGSolid(pName), fSPhi(0), fDPhi(0) + : G4CSGSolid(pName), fRMin(pRMin), fRMax(pRMax), fDz(pDz), fSPhi(0), fDPhi(0) { kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); - if (pDz>0) // Check z-len - { - fDz = pDz ; - } - else + if (pDz<=0) // Check z-len { G4cerr << "ERROR - G4Tubs()::G4Tubs()" << G4endl << " Negative Z half-length (" << pDz << ") in solid: " @@ -107,12 +103,7 @@ G4Tubs::G4Tubs( const G4String &pName, G4Exception("G4Tubs::G4Tubs()", "InvalidSetup", FatalException, "Invalid Z half-length"); } - if ( (pRMin < pRMax) && (pRMin >= 0) ) // Check radii - { - fRMin = pRMin ; - fRMax = pRMax ; - } - else + if ( (pRMin >= pRMax) || (pRMin < 0) ) // Check radii { G4cerr << "ERROR - G4Tubs()::G4Tubs()" << G4endl << " Invalid values for radii in solid " << GetName() @@ -123,7 +114,7 @@ G4Tubs::G4Tubs( const G4String &pName, } // Check angles - + // CheckPhiAngles(pSPhi, pDPhi); } @@ -133,7 +124,11 @@ G4Tubs::G4Tubs( const G4String &pName, // for usage restricted to object persistency. // G4Tubs::G4Tubs( __void__& a ) - : G4CSGSolid(a) + : G4CSGSolid(a), kRadTolerance(0.), kAngTolerance(0.), + fRMin(0.), fRMax(0.), fDz(0.), fSPhi(0.), fDPhi(0.), + sinCPhi(0.), cosCPhi(0.), cosHDPhiOT(0.), cosHDPhiIT(0.), + sinSPhi(0.), cosSPhi(0.), sinEPhi(0.), cosEPhi(0.), + fPhiFullTube(false) { } @@ -145,6 +140,50 @@ G4Tubs::~G4Tubs() { } +////////////////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4Tubs::G4Tubs(const G4Tubs& rhs) + : G4CSGSolid(rhs), + kRadTolerance(rhs.kRadTolerance), kAngTolerance(rhs.kAngTolerance), + fRMin(rhs.fRMin), fRMax(rhs.fRMax), fDz(rhs.fDz), + fSPhi(rhs.fSPhi), fDPhi(rhs.fDPhi), + sinCPhi(rhs.sinCPhi), cosCPhi(rhs.sinCPhi), + cosHDPhiOT(rhs.cosHDPhiOT), cosHDPhiIT(rhs.cosHDPhiOT), + sinSPhi(rhs.sinSPhi), cosSPhi(rhs.cosSPhi), + sinEPhi(rhs.sinEPhi), cosEPhi(rhs.cosEPhi), fPhiFullTube(rhs.fPhiFullTube) +{ +} + +////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4Tubs& G4Tubs::operator = (const G4Tubs& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4CSGSolid::operator=(rhs); + + // Copy data + // + kRadTolerance = rhs.kRadTolerance; kAngTolerance = rhs.kAngTolerance; + fRMin = rhs.fRMin; fRMax = rhs.fRMax; fDz = rhs.fDz; + fSPhi = rhs.fSPhi; fDPhi = rhs.fDPhi; + sinCPhi = rhs.sinCPhi; cosCPhi = rhs.sinCPhi; + cosHDPhiOT = rhs.cosHDPhiOT; cosHDPhiIT = rhs.cosHDPhiOT; + sinSPhi = rhs.sinSPhi; cosSPhi = rhs.cosSPhi; + sinEPhi = rhs.sinEPhi; cosEPhi = rhs.cosEPhi; + fPhiFullTube = rhs.fPhiFullTube; + + return *this; +} + ///////////////////////////////////////////////////////////////////////// // // Dispatch to parameterisation for replication mechanism dimension @@ -403,7 +442,8 @@ EInside G4Tubs::Inside( const G4ThreeVector& p ) const // Try inner tolerant phi boundaries (=>inside) // if not inside, try outer tolerant phi boundaries - if ((tolRMin==0)&&(p.x()<=halfCarTolerance)&&(p.y()<=halfCarTolerance)) + if ( (tolRMin==0) && (std::fabs(p.x())<=halfCarTolerance) + && (std::fabs(p.y())<=halfCarTolerance) ) { in=kSurface; } @@ -414,8 +454,8 @@ EInside G4Tubs::Inside( const G4ThreeVector& p ) const if ( fSPhi >= 0 ) { - if ( (std::abs(pPhi) < halfAngTolerance) - && (std::abs(fSPhi + fDPhi - twopi) < halfAngTolerance) ) + if ( (std::fabs(pPhi) < halfAngTolerance) + && (std::fabs(fSPhi + fDPhi - twopi) < halfAngTolerance) ) { pPhi += twopi ; // 0 <= pPhi < 2pi } @@ -467,8 +507,8 @@ EInside G4Tubs::Inside( const G4ThreeVector& p ) const if ( pPhi < -halfAngTolerance) { pPhi += twopi; } // 0<=pPhi<2pi if ( fSPhi >= 0 ) { - if ( (std::abs(pPhi) < halfAngTolerance) - && (std::abs(fSPhi + fDPhi - twopi) < halfAngTolerance) ) + if ( (std::fabs(pPhi) < halfAngTolerance) + && (std::fabs(fSPhi + fDPhi - twopi) < halfAngTolerance) ) { pPhi += twopi ; // 0 <= pPhi < 2pi } @@ -512,8 +552,8 @@ EInside G4Tubs::Inside( const G4ThreeVector& p ) const if ( pPhi < -halfAngTolerance ) { pPhi += twopi; } // 0<=pPhi<2pi if ( fSPhi >= 0 ) { - if ( (std::abs(pPhi) < halfAngTolerance) - && (std::abs(fSPhi + fDPhi - twopi) < halfAngTolerance) ) + if ( (std::fabs(pPhi) < halfAngTolerance) + && (std::fabs(fSPhi + fDPhi - twopi) < halfAngTolerance) ) { pPhi += twopi ; // 0 <= pPhi < 2pi } @@ -620,9 +660,10 @@ G4ThreeVector G4Tubs::SurfaceNormal( const G4ThreeVector& p ) const #ifdef G4CSGDEBUG G4Exception("G4Tube::SurfaceNormal(p)", "Notification", JustWarning, "Point p is not on surface !?" ); - G4cout.precision(20); + G4int oldprc = G4cout.precision(20); G4cout<< "G4Tubs::SN ( "< 0 ) { norm = G4ThreeVector(0,0,1) ; } else { norm = G4ThreeVector(0,0,-1); } @@ -734,7 +775,7 @@ G4ThreeVector G4Tubs::ApproxSurfaceNormal( const G4ThreeVector& p ) const norm = G4ThreeVector(-std::sin(fSPhi+fDPhi), std::cos(fSPhi+fDPhi), 0) ; break; } - default: + default: // Should never reach this case ... { DumpInfo(); G4Exception("G4Tubs::ApproxSurfaceNormal()", "Notification", JustWarning, @@ -1425,7 +1466,7 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, // Check intersecting with correct half-plane // (if not -> no intersect) // - if( (std::abs(xi)<=kCarTolerance)&&(std::abs(yi)<=kCarTolerance) ) + if( (std::fabs(xi)<=kCarTolerance)&&(std::fabs(yi)<=kCarTolerance) ) { sidephi = kSPhi; if (((fSPhi-halfAngTolerance)<=vphi) @@ -1468,7 +1509,7 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, xi = p.x() + sphi2*v.x() ; yi = p.y() + sphi2*v.y() ; - if ((std::abs(xi)<=kCarTolerance)&&(std::abs(yi)<=kCarTolerance)) + if ((std::fabs(xi)<=kCarTolerance)&&(std::fabs(yi)<=kCarTolerance)) { // Leaving via ending phi // @@ -1592,6 +1633,7 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, G4cout << "v.z() = " << v.z() << G4endl << G4endl ; G4cout << "Proposed distance :" << G4endl << G4endl ; G4cout << "snxt = " << snxt/mm << " mm" << G4endl << G4endl ; + G4cout.precision(6) ; G4Exception("G4Tubs::DistanceToOut(p,v,..)","Notification",JustWarning, "Undefined side for valid surface normal to solid."); break ; @@ -1614,13 +1656,14 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p ) const #ifdef G4CSGDEBUG if( Inside(p) == kOutside ) { - G4cout.precision(16) ; + G4int oldprc = G4cout.precision(16) ; G4cout << G4endl ; DumpInfo(); 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 ; + G4cout.precision(oldprc) ; G4Exception("G4Tubs::DistanceToOut(p)", "Notification", JustWarning, "Point p is outside !?"); } @@ -1709,10 +1752,10 @@ G4Tubs::CreateRotatedVertices( const G4AffineTransform& pTransform ) const else { sAngle = fSPhi ; } vertices = new G4ThreeVectorList(); - vertices->reserve(noCrossSections*4); if ( vertices ) { + vertices->reserve(noCrossSections*4); for (crossSection = 0 ; crossSection < noCrossSections ; crossSection++ ) { // Compute coordinates of cross section at section crossSection @@ -1764,6 +1807,15 @@ G4GeometryType G4Tubs::GetEntityType() const return G4String("G4Tubs"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object +// +G4VSolid* G4Tubs::Clone() const +{ + return new G4Tubs(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream diff --git a/source/geometry/solids/specific/CMakeLists.txt b/source/geometry/solids/specific/CMakeLists.txt new file mode 100644 index 0000000000..d4a6ef291c --- /dev/null +++ b/source/geometry/solids/specific/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4specsolids +# Package: Geant4.src.G4geometry..G4specsolids +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:43:09 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/geometry/solids/specific/GNUmakefile b/source/geometry/solids/specific/GNUmakefile index bc0a029aca..80eb84b340 100644 --- a/source/geometry/solids/specific/GNUmakefile +++ b/source/geometry/solids/specific/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.6 2007/05/23 09:31:15 gcosmo Exp $ +# $Id: GNUmakefile,v 1.8 2010/10/27 07:34:32 gcosmo Exp $ # ---------------------------------------------------------------------------- # GNUmakefile for geometry/solids/specific library. Gabriele Cosmo, 05/04/00. # ---------------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/History b/source/geometry/solids/specific/History index 2a16025301..147ec2ddfe 100644 --- a/source/geometry/solids/specific/History +++ b/source/geometry/solids/specific/History @@ -1,4 +1,4 @@ -$Id: History,v 1.160 2009/11/11 12:25:46 gcosmo Exp $ +$Id: History,v 1.186 2010/11/26 13:36:35 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,127 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +26-Nov-2010 T.Nikitina (geom-specific-V09-03-20) +- Fixes in G4GenericTrap reported by SBT unit test in SurfaceNormal(), + DistanceToPlane() and VisExtent(). + +16-Nov-2010 T.Nikitina (geom-specific-V09-03-19) +- G4EllipticalCone: fixes in DistanceToIn(p,v) and DistanceToOut(p,v) for + correct handling of point on the surface. + Corrected formula for SurfaceNormal(p). + +10-Nov-2010 T.Nikitina (geom-specific-V09-03-18) +- Added checks on crossing of vertices and too big twisted angle in + G4GenericTrap. +- Fixed case of division by zero in G4TwistedTubs. +- Added unit test for G4Polyhedra. + +02-Nov-2010 G.Cosmo (geom-specific-V09-03-17) +- More fixes on Coverity reports for G4TessellatedSolid and G4ReduciblePolygon. + +20-Oct-2010 G.Cosmo (geom-specific-V09-03-16) +- Implemented Clone() virtual method for all solids, returning a pointer + to a dynamically allocated copy of the solid. To be used by Geant4-MT. + +23-Sep-2010 G.Cosmo (geom-specific-V09-03-15) +- Initialize fpPolyhedron to zero in copy-ctor and operator=(). +- Completed implementation of copy-ctor and operator=() for facets. + +20-Sep-2010 G.Cosmo (geom-specific-V09-03-14) +- Implemented copy-constructor and assignment operator for all solids + to facilitate conversion to Geant4-MT. + +08-Sep-2010 G.Cosmo (geom-specific-V09-03-13) +- Correction to previous fix in G4ReduciblePolygon to avoid deleting current + 'vertexHead' pointer. + +07-Sep-2010 G.Cosmo (geom-specific-V09-03-12) +- Fix within G4CSGDEBUG code for restoring cout precision. +- Fix in G4ReduciblePolygon::RemoveRedundantVertices() to avoid potential + case of dereferencing freed pointer. + +19-Aug-2010 T.Nikitina (geom-specific-V09-03-11) +- G4EllipticalTube: extended implementation of SurfaceNormal(p) in agreement + with canonical form. Added unit test testG4EllipticalTube.cc. + +16-Jul-2010 G.Cosmo (geom-specific-V09-03-10) +- Fixed cases of division by zero in G4VTwistSurface and G4TwistBoxSide. +- Use INT_MAX as initialisation for max limits in G4SolidExtentList. + +12-Jul-2010 G.Cosmo (geom-specific-V09-03-09) +- Added dummy initialization to members in struct + G4PolyPhiFace::G4PolyPhiFaceEdge, struct G4ReduciblePolygon::ABVertex. + G4Ellipsoid, G4EllipticalTube, G4EnclosingCylinder, G4ExtrudedSolid, G4Hype, + G4IntersectingCone, G4Paraboloid, G4PolyPhiFace, G4Polycone, G4PolyconeSide, + G4Polyhedra, G4PolyhedraSide, G4QuadrangularFacet, G4ReduciblePolygon, + G4TessellatedSolid, G4TriangularFacet, G4TwistBoxSide, G4TwistTrapAlphaSide, + G4TwistTrapFlatSide, G4TwistTrapParallelSide, G4TwistTubsFlatSide, + G4TwistTubsHypeSide, G4TwistTubsSide, G4TwistedTubs, G4VCSGfaceted, G4VFacet, + G4VTwistSurface, G4VTwistedFaceted. +- Fixed case of dereferencing null pointer in methods + G4EllipticalTube::DistanceToOut(p,v), G4VCSGfaceted::DistanceToIn(p,v) + and G4VCSGfaceted::DistanceToOut(p,v). +- Fixed unecessary object copy as argument in method + G4PolyhedraSide::IntersectSidePlane(). +- Avoid possible case of derefencing null pointer in G4ReduciblePolygon + RemoveDuplicateVertices() and RemoveRedundantVertices() methods. +- Replaced calls to std::abs() with std::fabs() where suitable. + +16-Jun-2010 G.Cosmo (geom-specific-V09-03-08) +- Fixed deletion of internal arrays in CreatePolyhedron() for G4Polycone + and G4Polyhedra. + +11-Jun-2010 T.Nikitina (geom-specific-V09-03-07) +- G4GenericTrap: fixed cases of zero dToIn/sToOut when vertices are collapsed + to triangle, line or point. Added new methods handling those specific cases. +- Added unit test for G4GenericTrap. + +10-Jun-2010 I.Hrivnacova +- G4GenericTrap: fixed parameter names in CalculateExtent() for the test + case construction through tessellated facets. + +09-Jun-2010 G.Cosmo +- G4GenericTrap: moved internal methods to private section and reordered + in source file. Added missing implementation for IsTwisted() method. + +03-Jun-2010 T.Nikitina, G.Cosmo (geom-specific-V09-03-06) +- G4GenericTrap: + o Fixed initialization of fSurfaceArea and fCubicVolume and + calculation of surface area. + o Fixed error in Inside(p) function, and corrected use std::fabs() instead + of std::abs() for floating point values. + o Added missing initialisation of fpPolyhedron pointer. + o More corrected signatures for use of non-const references for vectors + passed as arguments to functions. + +02-Jun-2010 G.Cosmo (geom-specific-V09-03-05) +- G4GenericTrap: use const reference for vector of vertices passed as argument + in constructor and accessor. + +27-May-2010 T.Nikitina (geom-specific-V09-03-04) +- First implementation of G4GenericTrap shape, a new solid representing an + arbitrary trapezoid with up to 8 vertices standing on two parallel planes + perpendicular to the Z axis. + +28-Apr-2010 P.R.Truscott (geom-specific-V09-03-03) +- Fix in G4TriangularFacet and G4TessellatedSolid to correct treatment of + optical photon transport related to internal reflection at surface. + Addresses problem report #1103. + +15-Apr-2010 I.Hrivnacova (geom-specific-V09-03-02) +- G4ExtrudedSolid: eliminated requirement for clockwise ordering of polygon + vertices. Added a check for vertices ordering; if vertices are defined + anti-clockwise their ordering is reverted. + Fix in polygon facet triangularization for consequent concave vertices. + +24-Feb-2010 G.Cosmo (geom-specific-V09-03-01) +- Adopt caching of Phi in G4PolyconeSide and G4PolyhedraSide to avoid + unnecessary consecutive computations on the same point. + +10-Feb-2010 G.Cosmo (geom-specific-V09-03-00) +- Use kInfinity for initialising minimum and maximum allowed extent for + G4SolidExtentList of faceted solids. + 11-Nov-2009 G.Cosmo (geom-specific-V09-02-08) - Avoid fake (and redundant) assignment of value to 3-vector in G4PolyconeSide and G4TwistTubsSide. diff --git a/source/geometry/solids/specific/include/G4Ellipsoid.hh b/source/geometry/solids/specific/include/G4Ellipsoid.hh index 919510677e..28968f94a4 100644 --- a/source/geometry/solids/specific/include/G4Ellipsoid.hh +++ b/source/geometry/solids/specific/include/G4Ellipsoid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Ellipsoid.hh,v 1.12 2007/05/18 07:39:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Ellipsoid.hh,v 1.14 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -98,6 +98,8 @@ class G4Ellipsoid : public G4VSolid G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; G4ThreeVector GetPointOnSurface() const; @@ -117,6 +119,10 @@ class G4Ellipsoid : public G4VSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Ellipsoid(const G4Ellipsoid& rhs); + G4Ellipsoid& operator=(const G4Ellipsoid& rhs); + // Copy constructor and assignment operator. + protected: // without description G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pT, diff --git a/source/geometry/solids/specific/include/G4EllipticalCone.hh b/source/geometry/solids/specific/include/G4EllipticalCone.hh index 1b636aa8c0..b1c6e0c9ce 100644 --- a/source/geometry/solids/specific/include/G4EllipticalCone.hh +++ b/source/geometry/solids/specific/include/G4EllipticalCone.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EllipticalCone.hh,v 1.12 2008/11/21 09:26:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EllipticalCone.hh,v 1.14 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -131,6 +131,8 @@ class G4EllipticalCone : public G4VSolid G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; + G4ThreeVector GetPointOnSurface() const; std::ostream& StreamInfo(std::ostream& os) const; @@ -150,6 +152,10 @@ class G4EllipticalCone : public G4VSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4EllipticalCone(const G4EllipticalCone& rhs); + G4EllipticalCone& operator=(const G4EllipticalCone& rhs); + // Copy constructor and assignment operator. + protected: // without description G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pT, diff --git a/source/geometry/solids/specific/include/G4EllipticalTube.hh b/source/geometry/solids/specific/include/G4EllipticalTube.hh index afffed606e..2f7b5ecb3b 100644 --- a/source/geometry/solids/specific/include/G4EllipticalTube.hh +++ b/source/geometry/solids/specific/include/G4EllipticalTube.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EllipticalTube.hh,v 1.18 2006/10/20 13:45:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EllipticalTube.hh,v 1.22 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- // GEANT 4 class header file @@ -87,6 +87,8 @@ class G4EllipticalTube : public G4VSolid G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; G4double GetCubicVolume(); @@ -118,6 +120,10 @@ class G4EllipticalTube : public G4VSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4EllipticalTube(const G4EllipticalTube& rhs); + G4EllipticalTube& operator=(const G4EllipticalTube& rhs); + // Copy constructor and assignment operator. + protected: // without description G4double dx, dy, dz; @@ -134,6 +140,10 @@ class G4EllipticalTube : public G4VSolid private: + G4ThreeVector ApproxSurfaceNormal( const G4ThreeVector& p ) const; + // Algorithm for SurfaceNormal() following the original + // specification for points not on the surface. + G4double fCubicVolume; G4double fSurfaceArea; mutable G4Polyhedron* fpPolyhedron; diff --git a/source/geometry/solids/specific/include/G4ExtrudedSolid.hh b/source/geometry/solids/specific/include/G4ExtrudedSolid.hh index f232c5dd69..4aa7850e8e 100644 --- a/source/geometry/solids/specific/include/G4ExtrudedSolid.hh +++ b/source/geometry/solids/specific/include/G4ExtrudedSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExtrudedSolid.hh,v 1.7 2008/02/27 12:32:48 ivana Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExtrudedSolid.hh,v 1.10 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -44,7 +44,7 @@ // Parameters in the constructor: // const G4String& pName - solid name // std::vector polygon - the vertices of the outlined polygon -// defined in clock-wise order +// defined in clockwise or anti-clockwise order // std::vector - the z-sections defined by // z position, offset and scale // in increasing z-position order @@ -120,6 +120,7 @@ class G4ExtrudedSolid : public G4TessellatedSolid G4bool *validNorm=0, G4ThreeVector *n=0) const; G4double DistanceToOut (const G4ThreeVector &p) const; G4GeometryType GetEntityType () const; + G4VSolid* Clone() const; std::ostream& StreamInfo(std::ostream &os) const; @@ -130,6 +131,10 @@ class G4ExtrudedSolid : public G4TessellatedSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4ExtrudedSolid(const G4ExtrudedSolid& rhs); + G4ExtrudedSolid& operator=(const G4ExtrudedSolid& rhs); + // Copy constructor and assignment operator. + private: void ComputeProjectionParameters(); diff --git a/source/geometry/solids/specific/include/G4GenericTrap.hh b/source/geometry/solids/specific/include/G4GenericTrap.hh new file mode 100644 index 0000000000..ddc7325294 --- /dev/null +++ b/source/geometry/solids/specific/include/G4GenericTrap.hh @@ -0,0 +1,223 @@ +// +// ******************************************************************** +// * 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: G4GenericTrap.hh,v 1.13 2010/11/10 10:00:16 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// -------------------------------------------------------------------- +// GEANT 4 class header file +// +// +// G4GenericTrap +// +// Class description: +// +// G4GenericTrap is a solid which represents an arbitrary trapezoid with +// up to 8 vertices standing on two parallel planes perpendicular to Z axis. +// +// Parameters in the constructor: +// - name - solid name +// - hz - the solid half length in Z +// - vertices - the (x,y) coordinates of vertices: +// o first four points: vertices[i], i<4 +// are the vertices sitting on the -hz plane; +// o last four points: vertices[i], i>=4 +// are the vertices sitting on the +hz plane. +// +// The order of defining the vertices of the solid is the following: +// - point 0 is connected with points 1,3,4 +// - point 1 is connected with points 0,2,5 +// - point 2 is connected with points 1,3,6 +// - point 3 is connected with points 0,2,7 +// - point 4 is connected with points 0,5,7 +// - point 5 is connected with points 1,4,6 +// - point 6 is connected with points 2,5,7 +// - point 7 is connected with points 3,4,6 +// Points can be identical in order to create shapes with less than +// 8 vertices. + +// Authors: +// Tatiana Nikitina, CERN; Ivana Hrivnacova, IPN Orsay +// Adapted from Root Arb8 implementation, author Andrea Gheata, CERN +// ------------------------------------------------------------------- + +#ifndef G4GenericTrap_HH +#define G4GenericTrap_HH + +#include + +#include "G4TwoVector.hh" +#include "G4VSolid.hh" +#include "globals.hh" + +class G4VFacet; +class G4TessellatedSolid; + +class G4GenericTrap : public G4VSolid +{ + public: // with description + + G4GenericTrap( const G4String& name, G4double hz, + const std::vector& vertices ); + // Constructor + + ~G4GenericTrap(); + // Destructor + + // Accessors + + inline G4double GetZHalfLength() const; + inline G4int GetNofVertices() const; + inline G4TwoVector GetVertex(G4int index) const; + inline const std::vector& GetVertices() const; + inline G4double GetTwistAngle(G4int index) const; + inline G4bool IsTwisted() const; + inline G4int GetVisSubdivisions() const; + inline void SetVisSubdivisions(G4int subdiv); + + // Solid methods + + EInside Inside(const G4ThreeVector& p) const; + G4ThreeVector SurfaceNormal(const G4ThreeVector& p) const; + G4double DistanceToIn(const G4ThreeVector& p, + const G4ThreeVector& v) const; + G4double DistanceToIn(const G4ThreeVector& p) const; + G4double DistanceToOut(const G4ThreeVector& p, + const G4ThreeVector& v, + const G4bool calcNorm = false, + G4bool *validNorm = 0, + G4ThreeVector *n = 0) const; + G4double DistanceToOut(const G4ThreeVector& p) const; + G4bool CalculateExtent(const EAxis pAxis, + const G4VoxelLimits& pVoxelLimit, + const G4AffineTransform& pTransform, + G4double& pmin, G4double& pmax) const; + + G4GeometryType GetEntityType() const; + + G4VSolid* Clone() const; + + std::ostream& StreamInfo(std::ostream& os) const; + + G4ThreeVector GetPointOnSurface() const ; + + G4double GetCubicVolume(); + G4double GetSurfaceArea(); + + // Visualisation functions + + G4Polyhedron* GetPolyhedron () const; + void DescribeYourselfTo(G4VGraphicsScene& scene) const; + G4VisExtent GetExtent() const; + G4Polyhedron* CreatePolyhedron() const; + G4NURBS* CreateNURBS() const; + + public: // without description + + G4GenericTrap(__void__&); + // Fake default constructor for usage restricted to direct object + // persistency for clients requiring preallocation of memory for + // persistifiable objects. + + G4GenericTrap(const G4GenericTrap& rhs); + G4GenericTrap& operator=(const G4GenericTrap& rhs); + // Copy constructor and assignment operator. + + private: + + // Internal methods + + inline void SetTwistAngle(G4int index, G4double twist); + G4bool ComputeIsTwisted() ; + G4bool CheckOrder(const std::vector& vertices) const; + G4bool IsSegCrossing(const G4TwoVector& a, const G4TwoVector& b, + const G4TwoVector& c, const G4TwoVector& d) const; + G4bool IsSegCrossingZ(const G4TwoVector& a, const G4TwoVector& b, + const G4TwoVector& c, const G4TwoVector& d) const; + G4ThreeVectorList* CreateRotatedVertices(const + G4AffineTransform& pTransform) const; + void ReorderVertices(std::vector& vertices) const; + void ComputeBBox(); + inline G4ThreeVector GetMinimumBBox() const; + inline G4ThreeVector GetMaximumBBox() const; + + G4VFacet* MakeDownFacet(const std::vector& fromVertices, + G4int ind1, G4int ind2, G4int ind3) const; + G4VFacet* MakeUpFacet(const std::vector& fromVertices, + G4int ind1, G4int ind2, G4int ind3) const; + G4VFacet* MakeSideFacet(const G4ThreeVector& downVertex0, + const G4ThreeVector& downVertex1, + const G4ThreeVector& upVertex1, + const G4ThreeVector& upVertex0) const; + G4TessellatedSolid* CreateTessellatedSolid() const; + + EInside InsidePolygone(const G4ThreeVector& p, + const std::vector& poly) const; + G4double DistToPlane(const G4ThreeVector& p, + const G4ThreeVector& v, const G4int ipl) const ; + G4double DistToTriangle(const G4ThreeVector& p, + const G4ThreeVector& v, const G4int ipl) const; + G4ThreeVector NormalToPlane(const G4ThreeVector& p, + const G4int ipl) const; + G4double SafetyToFace(const G4ThreeVector& p, const G4int iseg) const; + G4double GetFaceSurfaceArea(const G4ThreeVector& p0, + const G4ThreeVector& p1, + const G4ThreeVector& p2, + const G4ThreeVector& p3) const; + protected: + + mutable G4Polyhedron* fpPolyhedron; + + private: + + // static data members + + static const G4int fgkNofVertices; + static const G4double fgkTolerance; + + // data members + + G4double fDz; + std::vector fVertices; + G4bool fIsTwisted; + G4double fTwist[4]; + G4TessellatedSolid* fTessellatedSolid; + G4ThreeVector fMinBBoxVector; + G4ThreeVector fMaxBBoxVector; + G4int fVisSubdivisions; + + enum ESide {kUndefined,kXY0,kXY1,kXY2,kXY3,kMZ,kPZ}; + // Codes for faces (kXY[num]=num of lateral face,kMZ= minus z face etc) + + G4double fSurfaceArea; + G4double fCubicVolume; + // Surface and Volume +}; + +#include "G4GenericTrap.icc" + +#endif diff --git a/source/geometry/solids/specific/include/G4GenericTrap.icc b/source/geometry/solids/specific/include/G4GenericTrap.icc new file mode 100644 index 0000000000..c30089ad5a --- /dev/null +++ b/source/geometry/solids/specific/include/G4GenericTrap.icc @@ -0,0 +1,145 @@ +// +// ******************************************************************** +// * 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: G4GenericTrap.icc,v 1.5 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4GenericTrap.icc +// +// Implementation of inline methods of G4GenericTrap +// -------------------------------------------------------------------- + +inline +G4double G4GenericTrap::GetZHalfLength() const +{ + return fDz; +} + +// -------------------------------------------------------------------- + +inline +G4int G4GenericTrap::GetNofVertices() const +{ + return fVertices.size(); +} + +// -------------------------------------------------------------------- + +inline +G4TwoVector G4GenericTrap::GetVertex(G4int index) const +{ + if ( index<0 || index >= G4int(fVertices.size()) ) + { + G4Exception ("G4GenericTrap::GetVertex()", "InvalidInput", + FatalException, "Index outside range."); + return G4TwoVector(); + } + return fVertices[index]; +} + +// -------------------------------------------------------------------- + +inline +const std::vector& G4GenericTrap::GetVertices() const +{ + return fVertices; +} + +// -------------------------------------------------------------------- + +inline +G4double G4GenericTrap::GetTwistAngle(G4int index) const +{ + if ( (index<0) || (index >= G4int(fVertices.size())) ) + { + G4Exception ("G4GenericTrap::GetTwistAngle()", "InvalidInput", + FatalException, "Index outside range."); + return 0.; + } + return fTwist[index]; +} + +// -------------------------------------------------------------------- + +inline +G4bool G4GenericTrap::IsTwisted() const +{ + return fIsTwisted; +} + +// -------------------------------------------------------------------- + +inline +void G4GenericTrap::SetTwistAngle(G4int index, G4double twist) +{ + if ( (index<0) || (index >= G4int(fVertices.size())) ) + { + G4Exception ("G4GenericTrap::SetTwistAngle()", "InvalidInput", + FatalException, "Index outside range."); + } + else + { + fTwist[index]=twist; + } +} + +// -------------------------------------------------------------------- + +inline +G4int G4GenericTrap::GetVisSubdivisions()const +{ + return fVisSubdivisions; +} + +// -------------------------------------------------------------------- + +inline +void G4GenericTrap::SetVisSubdivisions(G4int subdiv) +{ + fVisSubdivisions=subdiv; +} + +// -------------------------------------------------------------------- + +inline +G4ThreeVector G4GenericTrap::GetMinimumBBox() const +{ + return fMinBBoxVector; +} + +// -------------------------------------------------------------------- + +inline +G4ThreeVector G4GenericTrap::GetMaximumBBox() const +{ + return fMaxBBoxVector; +} + +// -------------------------------------------------------------------- + diff --git a/source/geometry/solids/specific/include/G4Hype.hh b/source/geometry/solids/specific/include/G4Hype.hh index a94a25f92f..f982bc344f 100644 --- a/source/geometry/solids/specific/include/G4Hype.hh +++ b/source/geometry/solids/specific/include/G4Hype.hh @@ -24,9 +24,9 @@ // ******************************************************************** // // -// $Id: G4Hype.hh,v 1.15 2006/10/20 13:45:20 gcosmo Exp $ +// $Id: G4Hype.hh,v 1.17 2010/10/20 08:54:18 gcosmo Exp $ // $Original: G4Hype.hh,v 1.0 1998/06/09 16:57:50 safai Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -111,6 +111,8 @@ class G4Hype : public G4VSolid G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; G4double GetCubicVolume(); @@ -131,6 +133,10 @@ class G4Hype : public G4VSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Hype(const G4Hype& rhs); + G4Hype& operator=(const G4Hype& rhs); + // Copy constructor and assignment operator. + protected: // without description inline G4bool InnerSurfaceExists() const; diff --git a/source/geometry/solids/specific/include/G4IntersectingCone.hh b/source/geometry/solids/specific/include/G4IntersectingCone.hh index 23ddf255a2..2bfdb92789 100644 --- a/source/geometry/solids/specific/include/G4IntersectingCone.hh +++ b/source/geometry/solids/specific/include/G4IntersectingCone.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IntersectingCone.hh,v 1.11 2008/04/28 08:59:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4IntersectingCone.hh,v 1.13 2010/07/12 15:33:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -80,13 +80,11 @@ class G4IntersectingCone rLo, rHi; // R bounds of side G4bool type1; // True if cone is type 1 - // (std::abs(z1-z2)>std::abs(r1-r2)) + // (std::fabs(z1-z2)>std::fabs(r1-r2)) G4double A, B; // Cone radius parameter: // type 1: r = A + B*z // type 2: z = A + B*r - G4double half_kCarTolerance; // half of Surface Thickness - G4int LineHitsCone1( const G4ThreeVector &p, const G4ThreeVector &v, G4double *s1, G4double *s2 ); G4int LineHitsCone2( const G4ThreeVector &p, const G4ThreeVector &v, diff --git a/source/geometry/solids/specific/include/G4Paraboloid.hh b/source/geometry/solids/specific/include/G4Paraboloid.hh index c3ecf41bf7..07ce1d68e9 100644 --- a/source/geometry/solids/specific/include/G4Paraboloid.hh +++ b/source/geometry/solids/specific/include/G4Paraboloid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Paraboloid.hh,v 1.4 2008/01/22 17:42:09 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Paraboloid.hh,v 1.6 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -110,6 +110,8 @@ class G4Paraboloid : public G4VSolid G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; G4ThreeVector GetPointOnSurface() const; @@ -128,6 +130,10 @@ class G4Paraboloid : public G4VSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Paraboloid(const G4Paraboloid& rhs); + G4Paraboloid& operator=(const G4Paraboloid& rhs); + // Copy constructor and assignment operator. + protected: // without description mutable G4Polyhedron* fpPolyhedron; diff --git a/source/geometry/solids/specific/include/G4PolyPhiFace.hh b/source/geometry/solids/specific/include/G4PolyPhiFace.hh index a0553f6444..80bcfa71b3 100644 --- a/source/geometry/solids/specific/include/G4PolyPhiFace.hh +++ b/source/geometry/solids/specific/include/G4PolyPhiFace.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolyPhiFace.hh,v 1.12 2008/05/15 11:41:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PolyPhiFace.hh,v 1.13 2010/07/12 15:25:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -76,7 +76,7 @@ struct G4PolyPhiFaceVertex struct G4PolyPhiFaceEdge { - G4PolyPhiFaceEdge(): v0(0), v1(0) {} + G4PolyPhiFaceEdge(): v0(0), v1(0), tr(.0), tz(0.), length(0.) {} G4PolyPhiFaceVertex *v0, *v1; // Corners G4double tr, tz, // Unit vector along edge length; // Length of edge @@ -211,7 +211,7 @@ class G4PolyPhiFace : public G4VCSGface // For details see "Computational Geometry in C" by Joseph O'Rourke. void Triangulate(); - // Triangulisation by ear tips for Polycone or Polyhedra. + // Triangularisation by ear tips for Polycone or Polyhedra. // For details see "Computational Geometry in C" by Joseph O'Rourke. // NOTE: a copy of the shape is made and this copy is reordered in // order to have a list of triangles. This list is used by the diff --git a/source/geometry/solids/specific/include/G4Polycone.hh b/source/geometry/solids/specific/include/G4Polycone.hh index 32753e2236..adfefd49e6 100644 --- a/source/geometry/solids/specific/include/G4Polycone.hh +++ b/source/geometry/solids/specific/include/G4Polycone.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Polycone.hh,v 1.22 2008/05/15 13:45:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Polycone.hh,v 1.24 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -105,9 +105,6 @@ class G4Polycone : public G4VCSGfaceted virtual ~G4Polycone(); - G4Polycone( const G4Polycone &source ); - const G4Polycone &operator=( const G4Polycone &source ); - // Methods for solid EInside Inside( const G4ThreeVector &p ) const; @@ -122,6 +119,8 @@ class G4Polycone : public G4VCSGfaceted G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; G4Polyhedron* CreatePolyhedron() const; @@ -147,6 +146,10 @@ class G4Polycone : public G4VCSGfaceted // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Polycone( const G4Polycone &source ); + const G4Polycone &operator=( const G4Polycone &source ); + // Copy constructor and assignment operator. + protected: // without description // Generic initializer, called by all constructors diff --git a/source/geometry/solids/specific/include/G4PolyconeSide.hh b/source/geometry/solids/specific/include/G4PolyconeSide.hh index 9ac21028cf..c372df7bb0 100644 --- a/source/geometry/solids/specific/include/G4PolyconeSide.hh +++ b/source/geometry/solids/specific/include/G4PolyconeSide.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolyconeSide.hh,v 1.12 2008/05/15 11:41:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PolyconeSide.hh,v 1.13 2010/02/24 11:18:25 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // -------------------------------------------------------------------- @@ -111,6 +111,25 @@ class G4PolyconeSide : public G4VCSGface // persistency for clients requiring preallocation of memory for // persistifiable objects. + protected: + + G4double DistanceAway( const G4ThreeVector &p, G4bool opposite, + G4double &distOutside2, G4double *rzNorm=0 ); + + G4bool PointOnCone( const G4ThreeVector &hit, G4double normSign, + const G4ThreeVector &p, + const G4ThreeVector &v, G4ThreeVector &normal ); + + void CopyStuff( const G4PolyconeSide &source ); + + static void FindLineIntersect( G4double x1, G4double y1, + G4double tx1, G4double ty1, + G4double x2, G4double y2, + G4double tx2, G4double ty2, + G4double &x, G4double &y ); + + G4double GetPhi( const G4ThreeVector& p ); + protected: G4double r[2], z[2]; // r, z parameters, in specified order @@ -135,22 +154,9 @@ class G4PolyconeSide : public G4VCSGface G4int ncorners; G4ThreeVector *corners; // The coordinates of the corners (if phiIsOpen) - G4double DistanceAway( const G4ThreeVector &p, G4bool opposite, - G4double &distOutside2, G4double *rzNorm=0 ); - - G4bool PointOnCone( const G4ThreeVector &hit, G4double normSign, - const G4ThreeVector &p, - const G4ThreeVector &v, G4ThreeVector &normal ); - - void CopyStuff( const G4PolyconeSide &source ); - - static void FindLineIntersect( G4double x1, G4double y1, - G4double tx1, G4double ty1, - G4double x2, G4double y2, - G4double tx2, G4double ty2, - G4double &x, G4double &y ); private: + std::pair fPhi; // Cached value for phi G4double kCarTolerance; // Geometrical surface thickness G4double fSurfaceArea; // Used for surface calculation }; diff --git a/source/geometry/solids/specific/include/G4Polyhedra.hh b/source/geometry/solids/specific/include/G4Polyhedra.hh index dbb00732b9..90a2fce3da 100644 --- a/source/geometry/solids/specific/include/G4Polyhedra.hh +++ b/source/geometry/solids/specific/include/G4Polyhedra.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Polyhedra.hh,v 1.20 2008/05/15 13:45:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Polyhedra.hh,v 1.22 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -108,9 +108,6 @@ class G4Polyhedra : public G4VCSGfaceted const G4double z[] ); // z coordinate of these corners virtual ~G4Polyhedra(); - - G4Polyhedra( const G4Polyhedra &source ); - const G4Polyhedra &operator=( const G4Polyhedra &source ); // Methods for solid @@ -125,6 +122,8 @@ class G4Polyhedra : public G4VCSGfaceted G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; + G4ThreeVector GetPointOnSurface() const; std::ostream& StreamInfo( std::ostream& os ) const; @@ -158,6 +157,10 @@ class G4Polyhedra : public G4VCSGfaceted // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Polyhedra( const G4Polyhedra &source ); + const G4Polyhedra &operator=( const G4Polyhedra &source ); + // Copy constructor and assignment operator. + protected: // without description inline void SetOriginalParameters(); diff --git a/source/geometry/solids/specific/include/G4PolyhedraSide.hh b/source/geometry/solids/specific/include/G4PolyhedraSide.hh index 2eb2390aef..d4d5fbcd70 100644 --- a/source/geometry/solids/specific/include/G4PolyhedraSide.hh +++ b/source/geometry/solids/specific/include/G4PolyhedraSide.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolyhedraSide.hh,v 1.11 2008/05/15 11:41:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PolyhedraSide.hh,v 1.13 2010/07/12 15:25:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -152,7 +152,7 @@ class G4PolyhedraSide : public G4VCSGface } G4PolyhedraSideVec; G4bool IntersectSidePlane( const G4ThreeVector &p, const G4ThreeVector &v, - const G4PolyhedraSideVec vec, + const G4PolyhedraSideVec& vec, G4double normSign, G4double surfTolerance, G4double &distance, @@ -165,7 +165,9 @@ class G4PolyhedraSide : public G4VCSGface G4int ClosestPhiSegment( G4double phi ); G4int PhiSegment( G4double phi ); - + + G4double GetPhi( const G4ThreeVector& p ); + G4double DistanceToOneSide( const G4ThreeVector &p, const G4PolyhedraSideVec &vec, G4double *normDist ); @@ -196,6 +198,7 @@ class G4PolyhedraSide : public G4VCSGface private: + std::pair fPhi; // Cached value for phi G4double kCarTolerance; // Geometrical surface thickness G4double fSurfaceArea; // Surface Area }; diff --git a/source/geometry/solids/specific/include/G4ReduciblePolygon.hh b/source/geometry/solids/specific/include/G4ReduciblePolygon.hh index 8291077587..63a0ce9f43 100644 --- a/source/geometry/solids/specific/include/G4ReduciblePolygon.hh +++ b/source/geometry/solids/specific/include/G4ReduciblePolygon.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ReduciblePolygon.hh,v 1.9 2006/06/29 18:47:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ReduciblePolygon.hh,v 1.10 2010/07/12 15:25:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -141,7 +141,7 @@ class G4ReduciblePolygon friend struct ABVertex; // protected nested structures struct ABVertex { - ABVertex() { next = 0; } + ABVertex() : a(0.), b(0.), next(0) {} G4double a, b; ABVertex *next; }; diff --git a/source/geometry/solids/specific/include/G4TessellatedSolid.hh b/source/geometry/solids/specific/include/G4TessellatedSolid.hh index d7cc1f2891..8f821a353c 100644 --- a/source/geometry/solids/specific/include/G4TessellatedSolid.hh +++ b/source/geometry/solids/specific/include/G4TessellatedSolid.hh @@ -24,8 +24,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TessellatedSolid.hh,v 1.10 2007/12/10 16:30:13 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TessellatedSolid.hh,v 1.11 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // @@ -159,6 +159,7 @@ class G4TessellatedSolid : public G4VSolid G4bool *validNorm=0, G4ThreeVector *n=0) const; virtual G4double DistanceToOut (const G4ThreeVector &p) const; virtual G4GeometryType GetEntityType () const; + virtual G4VSolid* Clone() const; void SetSolidClosed (const G4bool t); G4bool GetSolidClosed () const; diff --git a/source/geometry/solids/specific/include/G4Tet.hh b/source/geometry/solids/specific/include/G4Tet.hh index f22bec409d..27f1f1f3e9 100644 --- a/source/geometry/solids/specific/include/G4Tet.hh +++ b/source/geometry/solids/specific/include/G4Tet.hh @@ -28,8 +28,8 @@ // ******************************************************************** // // -// $Id: G4Tet.hh,v 1.9 2006/11/13 08:58:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Tet.hh,v 1.11 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -47,6 +47,7 @@ // 03.09.2004 - M.H.Mendenhall & R.A.Weller (Vanderbilt University, USA) // 10.02.2005 - D.Anninos (CERN) - Added GetPointOnSurface() method. // 12.11.2006 - M.H.Mendenhall - Added GetSurfaceArea() concrete implementation. +// 20.09.2010 - G.Cosmo (CERN) - Added copy-ctor and operator=(). // -------------------------------------------------------------------- #ifndef G4TET_HH #define G4TET_HH @@ -96,6 +97,8 @@ class G4Tet : public G4VSolid G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; G4ThreeVector GetPointOnSurface() const; @@ -115,8 +118,12 @@ class G4Tet : public G4VSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4Tet(const G4Tet& rhs); + G4Tet& operator=(const G4Tet& rhs); + // Copy constructor and assignment operator. + const char* CVSHeaderVers() - { return "$Id: G4Tet.hh,v 1.9 2006/11/13 08:58:03 gcosmo Exp $"; } + { return "$Id: G4Tet.hh,v 1.11 2010/10/20 08:54:18 gcosmo Exp $"; } const char* CVSFileVers() { return CVSVers; } void PrintWarnings(G4bool flag) diff --git a/source/geometry/solids/specific/include/G4TwistedBox.hh b/source/geometry/solids/specific/include/G4TwistedBox.hh index 14c4eeb5b0..e8fbab3a08 100644 --- a/source/geometry/solids/specific/include/G4TwistedBox.hh +++ b/source/geometry/solids/specific/include/G4TwistedBox.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistedBox.hh,v 1.10 2006/06/29 18:48:00 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TwistedBox.hh,v 1.12 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -78,6 +78,8 @@ class G4TwistedBox : public G4VTwistedFaceted G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; public: // without description @@ -86,6 +88,10 @@ class G4TwistedBox : public G4VTwistedFaceted // Fake default constructor for usage restricted to direct object // persistency for clients requiring preallocation of memory for // persistifiable objects. + + G4TwistedBox(const G4TwistedBox& rhs); + G4TwistedBox& operator=(const G4TwistedBox& rhs); + // Copy constructor and assignment operator. }; #endif diff --git a/source/geometry/solids/specific/include/G4TwistedTrap.hh b/source/geometry/solids/specific/include/G4TwistedTrap.hh index e198136828..301f3daf0e 100644 --- a/source/geometry/solids/specific/include/G4TwistedTrap.hh +++ b/source/geometry/solids/specific/include/G4TwistedTrap.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistedTrap.hh,v 1.10 2006/06/29 18:48:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TwistedTrap.hh,v 1.12 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -113,6 +113,8 @@ class G4TwistedTrap : public G4VTwistedFaceted G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; + std::ostream &StreamInfo(std::ostream& os) const; public: // without description @@ -122,6 +124,10 @@ class G4TwistedTrap : public G4VTwistedFaceted // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4TwistedTrap(const G4TwistedTrap& rhs); + G4TwistedTrap& operator=(const G4TwistedTrap& rhs); + // Copy constructor and assignment operator. + } ; #endif diff --git a/source/geometry/solids/specific/include/G4TwistedTrd.hh b/source/geometry/solids/specific/include/G4TwistedTrd.hh index af571d3f88..d7c920009c 100644 --- a/source/geometry/solids/specific/include/G4TwistedTrd.hh +++ b/source/geometry/solids/specific/include/G4TwistedTrd.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistedTrd.hh,v 1.6 2006/06/29 18:48:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TwistedTrd.hh,v 1.8 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -84,6 +84,8 @@ class G4TwistedTrd : public G4VTwistedFaceted G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; + std::ostream& StreamInfo(std::ostream& os) const; public: // without description @@ -93,6 +95,10 @@ class G4TwistedTrd : public G4VTwistedFaceted // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4TwistedTrd(const G4TwistedTrd& rhs); + G4TwistedTrd& operator=(const G4TwistedTrd& rhs); + // Copy constructor and assignment operator. + } ; #endif diff --git a/source/geometry/solids/specific/include/G4TwistedTubs.hh b/source/geometry/solids/specific/include/G4TwistedTubs.hh index 60418bccc6..ba50e5fa52 100644 --- a/source/geometry/solids/specific/include/G4TwistedTubs.hh +++ b/source/geometry/solids/specific/include/G4TwistedTubs.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistedTubs.hh,v 1.14 2007/05/23 09:32:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TwistedTubs.hh,v 1.16 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -166,6 +166,7 @@ class G4TwistedTubs : public G4VSolid G4VisExtent GetExtent () const; G4GeometryType GetEntityType() const; + G4VSolid* Clone() const; G4double GetCubicVolume(); // Returns an estimation of the geometrical cubic volume of the @@ -183,6 +184,10 @@ class G4TwistedTubs : public G4VSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4TwistedTubs(const G4TwistedTubs& rhs); + G4TwistedTubs& operator=(const G4TwistedTubs& rhs); + // Copy constructor and assignment operator. + #ifdef G4TWISTDEBUG G4VTwistSurface * GetOuterHype() const { return fOuterHype; } #endif @@ -247,9 +252,15 @@ class G4TwistedTubs : public G4VSolid inside = kOutside; } ~LastState(){} + LastState(const LastState& r) : p(r.p), inside(r.inside){} + LastState& operator=(const LastState& r) + { + p = r.p; inside = r.inside; + return *this; + } public: G4ThreeVector p; - EInside inside; + EInside inside; }; class LastVector // last SurfaceNormal result @@ -265,10 +276,22 @@ class G4TwistedTubs : public G4VSolid { delete [] surface; } + LastVector(const LastVector& r) : p(r.p), vec(r.vec) + { + surface = new G4VTwistSurface*[1]; + surface[0] = r.surface[0]; + } + LastVector& operator=(const LastVector& r) + { + p = r.p; vec = r.vec; + delete [] surface; surface = new G4VTwistSurface*[1]; + surface[0] = r.surface[0]; + return *this; + } public: G4ThreeVector p; G4ThreeVector vec; - G4VTwistSurface **surface; + G4VTwistSurface **surface; }; class LastValue // last G4double value @@ -280,6 +303,12 @@ class G4TwistedTubs : public G4VSolid value = DBL_MAX; } ~LastValue(){} + LastValue(const LastValue& r) : p(r.p), value(r.value){} + LastValue& operator=(const LastValue& r) + { + p = r.p; value = r.value; + return *this; + } public: G4ThreeVector p; G4double value; @@ -295,10 +324,17 @@ class G4TwistedTubs : public G4VSolid value = DBL_MAX; } ~LastValueWithDoubleVector(){} - public: - G4ThreeVector p; - G4ThreeVector vec; - G4double value; + LastValueWithDoubleVector(const LastValueWithDoubleVector& r) + : p(r.p), vec(r.vec), value(r.value){} + LastValueWithDoubleVector& operator=(const LastValueWithDoubleVector& r) + { + p = r.p; vec = r.vec; value = r.value; + return *this; + } + public: + G4ThreeVector p; + G4ThreeVector vec; + G4double value; }; LastState fLastInside; diff --git a/source/geometry/solids/specific/include/G4VFacet.hh b/source/geometry/solids/specific/include/G4VFacet.hh index a7e0bbde12..258bb4ff0b 100644 --- a/source/geometry/solids/specific/include/G4VFacet.hh +++ b/source/geometry/solids/specific/include/G4VFacet.hh @@ -24,8 +24,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VFacet.hh,v 1.7 2008/12/18 12:57:30 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VFacet.hh,v 1.8 2010/09/23 10:27:25 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // @@ -102,6 +102,11 @@ class G4VFacet virtual G4double GetArea() = 0; virtual G4ThreeVector GetPointOnFace() const = 0; + public: // without description + + G4VFacet (const G4VFacet &right); + const G4VFacet &operator=(G4VFacet &right); + protected: G4GeometryType geometryType; @@ -119,11 +124,6 @@ class G4VFacet G4double dirTolerance; G4double kCarTolerance; G4double area; - - private: - - G4VFacet (const G4VFacet &right); - const G4VFacet &operator=(G4VFacet &right); }; typedef std::vector::iterator FacetI; diff --git a/source/geometry/solids/specific/include/G4VTwistSurface.icc b/source/geometry/solids/specific/include/G4VTwistSurface.icc index 6bb1f4afd8..b02372de36 100644 --- a/source/geometry/solids/specific/include/G4VTwistSurface.icc +++ b/source/geometry/solids/specific/include/G4VTwistSurface.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VTwistSurface.icc,v 1.3 2006/06/29 18:48:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VTwistSurface.icc,v 1.5 2010/07/16 15:58:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -49,7 +49,9 @@ G4double G4VTwistSurface::DistanceToPlaneWithV(const G4ThreeVector &p, const G4ThreeVector &n0, G4ThreeVector &xx) { - G4double t = (n0 * (x0 - p)) / (n0 * v); + G4double q = n0 * v; + G4double t = kInfinity; + if (q) { t = (n0 * (x0 - p)) / q; } xx = p + t * v; return t; } @@ -80,7 +82,7 @@ G4double G4VTwistSurface::DistanceToPlane(const G4ThreeVector &p, // xx = p - t*n // // where - // t = n * (p - x0) / std::abs(n) + // t = n * (p - x0) / std::fabs(n) // G4double t; G4ThreeVector n = n0.unit(); diff --git a/source/geometry/solids/specific/include/G4VTwistedFaceted.hh b/source/geometry/solids/specific/include/G4VTwistedFaceted.hh index c342cf2398..8f754f4f88 100644 --- a/source/geometry/solids/specific/include/G4VTwistedFaceted.hh +++ b/source/geometry/solids/specific/include/G4VTwistedFaceted.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VTwistedFaceted.hh,v 1.10 2006/10/20 13:45:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VTwistedFaceted.hh,v 1.12 2010/09/20 15:03:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- // GEANT 4 class header file @@ -148,6 +148,10 @@ class G4VTwistedFaceted: public G4VSolid // persistency for clients requiring preallocation of memory for // persistifiable objects. + G4VTwistedFaceted(const G4VTwistedFaceted& rhs); + G4VTwistedFaceted& operator=(const G4VTwistedFaceted& rhs); + // Copy constructor and assignment operator. + protected: // with description G4ThreeVectorList* @@ -185,8 +189,6 @@ class G4VTwistedFaceted: public G4VSolid G4double fPhiTwist; // twist angle ( dphi in surface equation) - G4double fAngleSide; - G4VTwistSurface *fLowerEndcap ; // surface of -ve z G4VTwistSurface *fUpperEndcap ; // surface of +ve z @@ -205,13 +207,18 @@ class G4VTwistedFaceted: public G4VSolid public: LastState() { - p.set(kInfinity,kInfinity,kInfinity); - inside = kOutside; + p.set(kInfinity,kInfinity,kInfinity); inside = kOutside; } ~LastState(){} + LastState(const LastState& r) : p(r.p), inside(r.inside){} + LastState& operator=(const LastState& r) + { + p = r.p; inside = r.inside; + return *this; + } public: G4ThreeVector p; - EInside inside; + EInside inside; }; class LastVector // last SurfaceNormal result @@ -227,10 +234,22 @@ class G4VTwistedFaceted: public G4VSolid { delete [] surface; } + LastVector(const LastVector& r) : p(r.p), vec(r.vec) + { + surface = new G4VTwistSurface*[1]; + surface[0] = r.surface[0]; + } + LastVector& operator=(const LastVector& r) + { + p = r.p; vec = r.vec; + delete [] surface; surface = new G4VTwistSurface*[1]; + surface[0] = r.surface[0]; + return *this; + } public: G4ThreeVector p; G4ThreeVector vec; - G4VTwistSurface **surface; + G4VTwistSurface **surface; }; class LastValue // last G4double value @@ -242,6 +261,12 @@ class G4VTwistedFaceted: public G4VSolid value = DBL_MAX; } ~LastValue(){} + LastValue(const LastValue& r) : p(r.p), value(r.value){} + LastValue& operator=(const LastValue& r) + { + p = r.p; value = r.value; + return *this; + } public: G4ThreeVector p; G4double value; @@ -257,10 +282,17 @@ class G4VTwistedFaceted: public G4VSolid value = DBL_MAX; } ~LastValueWithDoubleVector(){} - public: - G4ThreeVector p; - G4ThreeVector vec; - G4double value; + LastValueWithDoubleVector(const LastValueWithDoubleVector& r) + : p(r.p), vec(r.vec), value(r.value){} + LastValueWithDoubleVector& operator=(const LastValueWithDoubleVector& r) + { + p = r.p; vec = r.vec; value = r.value; + return *this; + } + public: + G4ThreeVector p; + G4ThreeVector vec; + G4double value; }; LastState fLastInside; diff --git a/source/geometry/solids/specific/sources.cmake b/source/geometry/solids/specific/sources.cmake new file mode 100644 index 0000000000..e3f3c4ffa0 --- /dev/null +++ b/source/geometry/solids/specific/sources.cmake @@ -0,0 +1,142 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4specsolids +# Package: Geant4.src.G4geometry..G4specsolids +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:43:17 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4specsolids + HEADERS + G4ClippablePolygon.hh + G4ClippablePolygon.icc + G4Ellipsoid.hh + G4Ellipsoid.icc + G4EllipticalCone.hh + G4EllipticalCone.icc + G4EllipticalTube.hh + G4EllipticalTube.icc + G4EnclosingCylinder.hh + G4ExtrudedSolid.hh + G4ExtrudedSolid.icc + G4GenericTrap.hh + G4GenericTrap.icc + G4Hype.hh + G4Hype.icc + G4IntersectingCone.hh + G4Paraboloid.hh + G4Paraboloid.icc + G4PolyPhiFace.hh + G4PolyPhiFace.icc + G4Polycone.hh + G4Polycone.icc + G4PolyconeSide.hh + G4Polyhedra.hh + G4Polyhedra.icc + G4PolyhedraSide.hh + G4QuadrangularFacet.hh + G4ReduciblePolygon.hh + G4SolidExtentList.hh + G4TessellatedGeometryAlgorithms.hh + G4TessellatedGeometryAlgorithms.icc + G4TessellatedSolid.hh + G4Tet.hh + G4TriangularFacet.hh + G4TwistBoxSide.hh + G4TwistTrapAlphaSide.hh + G4TwistTrapFlatSide.hh + G4TwistTrapParallelSide.hh + G4TwistTubsFlatSide.hh + G4TwistTubsHypeSide.hh + G4TwistTubsSide.hh + G4TwistedBox.hh + G4TwistedTrap.hh + G4TwistedTrd.hh + G4TwistedTubs.hh + G4VCSGface.hh + G4VCSGfaceted.hh + G4VFacet.hh + G4VFacet.icc + G4VTwistSurface.hh + G4VTwistSurface.icc + G4VTwistedFaceted.hh + SOURCES + G4ClippablePolygon.cc + G4Ellipsoid.cc + G4EllipticalCone.cc + G4EllipticalTube.cc + G4EnclosingCylinder.cc + G4ExtrudedSolid.cc + G4GenericTrap.cc + G4Hype.cc + G4IntersectingCone.cc + G4Paraboloid.cc + G4PolyPhiFace.cc + G4Polycone.cc + G4PolyconeSide.cc + G4Polyhedra.cc + G4PolyhedraSide.cc + G4QuadrangularFacet.cc + G4ReduciblePolygon.cc + G4SolidExtentList.cc + G4TessellatedGeometryAlgorithms.cc + G4TessellatedSolid.cc + G4Tet.cc + G4TriangularFacet.cc + G4TwistBoxSide.cc + G4TwistTrapAlphaSide.cc + G4TwistTrapFlatSide.cc + G4TwistTrapParallelSide.cc + G4TwistTubsFlatSide.cc + G4TwistTubsHypeSide.cc + G4TwistTubsSide.cc + G4TwistedBox.cc + G4TwistedTrap.cc + G4TwistedTrd.cc + G4TwistedTubs.cc + G4VCSGfaceted.cc + G4VFacet.cc + G4VTwistSurface.cc + G4VTwistedFaceted.cc + GRANULAR_DEPENDENCIES + G4geometrymng + G4globman + G4graphics_reps + G4hepnumerics + G4intercoms + G4volumes + GLOBAL_DEPENDENCIES + G4global + G4graphics_reps + G4intercoms + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/geometry/solids/specific/src/G4Ellipsoid.cc b/source/geometry/solids/specific/src/G4Ellipsoid.cc index 3c9330b988..74758dcf31 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.24 2009/09/24 15:51:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Ellipsoid.cc,v 1.30 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4Ellipsoid // @@ -77,11 +77,7 @@ G4Ellipsoid::G4Ellipsoid(const G4String& pName, kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); // Check Semi-Axis - if ( (pxSemiAxis>0.) && (pySemiAxis>0.) && (pzSemiAxis>0.) ) - { - SetSemiAxis(pxSemiAxis, pySemiAxis, pzSemiAxis); - } - else + if ( (pxSemiAxis<=0.) || (pySemiAxis<=0.) || (pzSemiAxis<=0.) ) { G4cerr << "ERROR - G4Ellipsoid::G4Ellipsoid(): " << GetName() << G4endl << " Invalid semi-axis !" @@ -89,6 +85,7 @@ G4Ellipsoid::G4Ellipsoid(const G4String& pName, G4Exception("G4Ellipsoid::G4Ellipsoid()", "InvalidSetup", FatalException, "Invalid semi-axis."); } + SetSemiAxis(pxSemiAxis, pySemiAxis, pzSemiAxis); if ( pzBottomCut == 0 && pzTopCut == 0 ) { @@ -115,7 +112,9 @@ G4Ellipsoid::G4Ellipsoid(const G4String& pName, // for usage restricted to object persistency. // G4Ellipsoid::G4Ellipsoid( __void__& a ) - : G4VSolid(a), fpPolyhedron(0), fCubicVolume(0.), fSurfaceArea(0.) + : G4VSolid(a), fpPolyhedron(0), kRadTolerance(0.), fCubicVolume(0.), + fSurfaceArea(0.), xSemiAxis(0.), ySemiAxis(0.), zSemiAxis(0.), + semiAxisMax(0.), zBottomCut(0.), zTopCut(0.) { } @@ -127,6 +126,45 @@ G4Ellipsoid::~G4Ellipsoid() { } +/////////////////////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4Ellipsoid::G4Ellipsoid(const G4Ellipsoid& rhs) + : G4VSolid(rhs), + fpPolyhedron(0), kRadTolerance(rhs.kRadTolerance), + fCubicVolume(rhs.fCubicVolume), fSurfaceArea(rhs.fSurfaceArea), + xSemiAxis(rhs.xSemiAxis), ySemiAxis(rhs.ySemiAxis), + zSemiAxis(rhs.zSemiAxis), semiAxisMax(rhs.semiAxisMax), + zBottomCut(rhs.zBottomCut), zTopCut(rhs.zTopCut) +{ +} + +/////////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4Ellipsoid& G4Ellipsoid::operator = (const G4Ellipsoid& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + fpPolyhedron = 0; kRadTolerance = rhs.kRadTolerance; + fCubicVolume = rhs.fCubicVolume; fSurfaceArea = rhs.fSurfaceArea; + xSemiAxis = rhs.xSemiAxis; ySemiAxis = rhs.ySemiAxis; + zSemiAxis = rhs.zSemiAxis; semiAxisMax = rhs.semiAxisMax; + zBottomCut = rhs.zBottomCut; zTopCut = rhs.zTopCut; + + return *this; +} + /////////////////////////////////////////////////////////////////////////////// // // Calculate extent under transform and specified limit @@ -475,7 +513,7 @@ G4double G4Ellipsoid::DistanceToIn( const G4ThreeVector& p, 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.; } + if ( std::fabs(distZ) < halfRadTolerance ) { distZ=0.; } return distMin= distZ; } } @@ -486,7 +524,7 @@ G4double G4Ellipsoid::DistanceToIn( const G4ThreeVector& p, 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.; } + if ( std::fabs(distZ) < halfRadTolerance ) { distZ=0.; } return distMin= distZ; } } @@ -543,7 +581,7 @@ G4double G4Ellipsoid::DistanceToIn( const G4ThreeVector& p, } } - if (std::abs(distMin)kMaxMeshSections) + else if (noPhiCrossSections>kMaxMeshSections) // >37 { noPhiCrossSections=kMaxMeshSections; } +*/ meshAnglePhi=twopi/(noPhiCrossSections-1); // Set start angle such that mesh will be at fRMax @@ -812,16 +854,18 @@ G4Ellipsoid::CreateRotatedVertices(const G4AffineTransform& pTransform, // Theta cross sections - noThetaSections = G4int(pi/kMeshAngleDefault)+3; - - if (noThetaSectionskMaxMeshSections) + else if (noThetaSections>kMaxMeshSections) // >37 { noThetaSections=kMaxMeshSections; } +*/ meshTheta= pi/(noThetaSections-2); // Set start angle such that mesh will be at fRMax @@ -897,6 +941,15 @@ G4GeometryType G4Ellipsoid::GetEntityType() const return G4String("G4Ellipsoid"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object + +G4VSolid* G4Ellipsoid::Clone() const +{ + return new G4Ellipsoid(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream diff --git a/source/geometry/solids/specific/src/G4EllipticalCone.cc b/source/geometry/solids/specific/src/G4EllipticalCone.cc index ee727a0c66..585f21515b 100644 --- a/source/geometry/solids/specific/src/G4EllipticalCone.cc +++ b/source/geometry/solids/specific/src/G4EllipticalCone.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EllipticalCone.cc,v 1.16 2008/04/25 08:45:26 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EllipticalCone.cc,v 1.23 2010/11/16 11:46:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Implementation of G4EllipticalCone class // @@ -77,13 +77,9 @@ G4EllipticalCone::G4EllipticalCone(const G4String& pName, kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); - // Check Semi-Axis + // Check Semi-Axis & Z-cut // - if ( (pxSemiAxis > 0.) && (pySemiAxis > 0.) && (pzMax > 0.) ) - { - SetSemiAxis( pxSemiAxis, pySemiAxis, pzMax ); - } - else + if ( (pxSemiAxis <= 0.) || (pySemiAxis <= 0.) || (pzMax <= 0.) ) { G4cerr << "ERROR - G4EllipticalCone::G4EllipticalCone(): " << GetName() << G4endl @@ -91,12 +87,7 @@ G4EllipticalCone::G4EllipticalCone(const G4String& pName, G4Exception("G4EllipticalCone::G4EllipticalCone()", "InvalidSetup", FatalException, "Invalid semi-axis or height."); } - - if ( pzTopCut > 0 ) - { - SetZCut(pzTopCut); - } - else + if ( pzTopCut <= 0 ) { G4cerr << "ERROR - G4EllipticalCone::G4EllipticalCone(): " << GetName() << G4endl @@ -104,6 +95,9 @@ G4EllipticalCone::G4EllipticalCone(const G4String& pName, G4Exception("G4EllipticalCone::G4EllipticalCone()", "InvalidSetup", FatalException, "Invalid z-coordinate for cutting plane."); } + + SetSemiAxis( pxSemiAxis, pySemiAxis, pzMax ); + SetZCut(pzTopCut); } /////////////////////////////////////////////////////////////////////////////// @@ -112,8 +106,9 @@ G4EllipticalCone::G4EllipticalCone(const G4String& pName, // for usage restricted to object persistency. // G4EllipticalCone::G4EllipticalCone( __void__& a ) - : G4VSolid(a), fpPolyhedron(0), fCubicVolume(0.), fSurfaceArea(0.), - zTopCut(0.) + : G4VSolid(a), fpPolyhedron(0), kRadTolerance(0.), fCubicVolume(0.), + fSurfaceArea(0.), xSemiAxis(0.), ySemiAxis(0.), zheight(0.), + semiAxisMax(0.), zTopCut(0.) { } @@ -125,6 +120,43 @@ G4EllipticalCone::~G4EllipticalCone() { } +/////////////////////////////////////////////////////////////////////////////// +// +// Copy constructor +// +G4EllipticalCone::G4EllipticalCone(const G4EllipticalCone& rhs) + : G4VSolid(rhs), + fpPolyhedron(0), kRadTolerance(rhs.kRadTolerance), + fCubicVolume(rhs.fCubicVolume), fSurfaceArea(rhs.fSurfaceArea), + xSemiAxis(rhs.xSemiAxis), ySemiAxis(rhs.ySemiAxis), zheight(rhs.zheight), + semiAxisMax(rhs.semiAxisMax), zTopCut(rhs.zTopCut) +{ +} + +/////////////////////////////////////////////////////////////////////////////// +// +// Assignment operator +// +G4EllipticalCone& G4EllipticalCone::operator = (const G4EllipticalCone& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + fpPolyhedron = 0; kRadTolerance = rhs.kRadTolerance; + fCubicVolume = rhs.fCubicVolume; fSurfaceArea = rhs.fSurfaceArea; + xSemiAxis = rhs.xSemiAxis; ySemiAxis = rhs.ySemiAxis; + zheight = rhs.zheight; semiAxisMax = rhs.semiAxisMax; zTopCut = rhs.zTopCut; + + return *this; +} + /////////////////////////////////////////////////////////////////////////////// // // Calculate extent under transform and specified limit @@ -256,17 +288,20 @@ EInside G4EllipticalCone::Inside(const G4ThreeVector& p) const EInside in; + static const G4double halfRadTol = 0.5*kRadTolerance; + static const G4double halfCarTol = 0.5*kCarTolerance; + // check this side of z cut first, because that's fast // - if ( (p.z() < -zTopCut - 0.5*kCarTolerance) - || (p.z() > zTopCut + 0.5*kCarTolerance ) ) + if ( (p.z() < -zTopCut - halfCarTol) + || (p.z() > zTopCut + halfCarTol ) ) { return in = kOutside; } - rad2oo= sqr(p.x()/( xSemiAxis + 0.5*kRadTolerance )) - + sqr(p.y()/( ySemiAxis + 0.5*kRadTolerance )); + rad2oo= sqr(p.x()/( xSemiAxis + halfRadTol )) + + sqr(p.y()/( ySemiAxis + halfRadTol )); if ( rad2oo > sqr( zheight-p.z() ) ) { @@ -275,13 +310,13 @@ EInside G4EllipticalCone::Inside(const G4ThreeVector& p) const // rad2oi= sqr( p.x()*(1.0 + 0.5*kRadTolerance/(xSemiAxis*xSemiAxis)) ) // + sqr( p.y()*(1.0 + 0.5*kRadTolerance/(ySemiAxis*ySemiAxis)) ); - rad2oi = sqr(p.x()/( xSemiAxis - 0.5*kRadTolerance )) - + sqr(p.y()/( ySemiAxis - 0.5*kRadTolerance )); + rad2oi = sqr(p.x()/( xSemiAxis - halfRadTol )) + + sqr(p.y()/( ySemiAxis - halfRadTol )); if (rad2oi < sqr( zheight-p.z() ) ) { - in = ( ( p.z() < -zTopCut + 0.5*kRadTolerance ) - || ( p.z() > zTopCut - 0.5*kRadTolerance ) ) ? kSurface : kInside; + in = ( ( p.z() < -zTopCut + halfRadTol ) + || ( p.z() > zTopCut - halfRadTol ) ) ? kSurface : kInside; } else { @@ -341,7 +376,7 @@ G4ThreeVector G4EllipticalCone::SurfaceNormal( const G4ThreeVector& p) const norm = G4ThreeVector( p.x() < 0. ? -x : x, p.y() < 0. ? -y : y, - zheight - zTopCut ); + - ( zheight - zTopCut ) ); norm /= norm.mag(); norm += G4ThreeVector( 0., 0., 1. ); return norm /= norm.mag(); @@ -373,7 +408,7 @@ G4ThreeVector G4EllipticalCone::SurfaceNormal( const G4ThreeVector& p) const norm = G4ThreeVector( p.x() < 0. ? -x : x, p.y() < 0. ? -y : y, - zheight - zTopCut ); + - ( zheight - zTopCut ) ); norm /= norm.mag(); norm += G4ThreeVector( 0., 0., -1. ); return norm /= norm.mag(); @@ -541,8 +576,8 @@ G4double G4EllipticalCone::DistanceToIn( const G4ThreeVector& p, } } - if (p.z() > zTopCut - 0.5*kCarTolerance - && p.z() < zTopCut + 0.5*kCarTolerance ) + if (p.z() > zTopCut - halfTol + && p.z() < zTopCut + halfTol ) { if (v.z() > 0.) { return kInfinity; } @@ -550,8 +585,8 @@ G4double G4EllipticalCone::DistanceToIn( const G4ThreeVector& p, return distMin = 0.; } - if (p.z() < -zTopCut + 0.5*kCarTolerance - && p.z() > -zTopCut - 0.5*kCarTolerance) + if (p.z() < -zTopCut + halfTol + && p.z() > -zTopCut - halfTol) { if (v.z() < 0.) { return distMin = kInfinity; } @@ -575,20 +610,37 @@ G4double G4EllipticalCone::DistanceToIn( const G4ThreeVector& p, // if the discriminant is negative it never hits the curved object // - if ( discr < -0.5*kCarTolerance ) + if ( discr < -halfTol ) { return distMin; } //case below is when it hits or grazes the surface // - if ( (discr >= - 0.5*kCarTolerance ) && (discr < 0.5*kCarTolerance ) ) + if ( (discr >= - halfTol ) && (discr < halfTol ) ) { return distMin = std::fabs(-B/(2.*A)); } G4double plus = (-B+std::sqrt(discr))/(2.*A); G4double minus = (-B-std::sqrt(discr))/(2.*A); - // G4double lambda = std::fabs(plus) < std::fabs(minus) ? plus : minus; + + // Special case::Point on Surface, Check norm.dot(v) + if ( ( std::fabs(plus) < halfTol )||( std::fabs(minus) < halfTol ) ) + { + G4ThreeVector truenorm(p.x()/(xSemiAxis*xSemiAxis), + p.y()/(ySemiAxis*ySemiAxis), + -( p.z() - zheight )); + if ( truenorm*v >= 0) // going outside the solid from surface + { + return kInfinity; + } + else + { + return 0; + } + } + + // G4double lambda = std::fabs(plus) < std::fabs(minus) ? plus : minus; G4double lambda = 0; if ( minus > halfTol && minus < distMin ) @@ -620,14 +672,7 @@ G4double G4EllipticalCone::DistanceToIn( const G4ThreeVector& p, distMin = lambda; } } - -#ifdef G4SPECSDEBUG -// G4cout << "DToIn: plus,minus, lambda = " << plus -// << ", " << minus << ", " << lambda << G4endl ; -// G4cout << "DToIn: distMin = " << distMin << G4endl ; -#endif - - + if (distMin < halfTol) distMin=0.; return distMin ; } @@ -774,8 +819,22 @@ G4double G4EllipticalCone::DistanceToOut(const G4ThreeVector& p, if ( std::fabs(lambda) < distMin ) { - distMin = std::fabs(lambda); - surface = kCurvedSurf; + if( std::fabs(lambda) > 0.5*kCarTolerance) + { + distMin = std::fabs(lambda); + surface = kCurvedSurf; + } + else // Point is On the Surface, Check Normal + { + G4ThreeVector truenorm(p.x()/(xSemiAxis*xSemiAxis), + p.y()/(ySemiAxis*ySemiAxis), + -( p.z() - zheight )); + if( truenorm.dot(v) > 0 ) + { + distMin = 0.0; + surface = kCurvedSurf; + } + } } } @@ -801,16 +860,16 @@ G4double G4EllipticalCone::DistanceToOut(const G4ThreeVector& p, case kCurvedSurf: { G4ThreeVector pexit = p + distMin*v; - G4ThreeVector truenorm(pexit.x()/(xSemiAxis*xSemiAxis), - pexit.y()/(ySemiAxis*ySemiAxis), - pexit.z() - zheight ); + G4ThreeVector truenorm( pexit.x()/(xSemiAxis*xSemiAxis), + pexit.y()/(ySemiAxis*ySemiAxis), + -( pexit.z() - zheight ) ); truenorm /= truenorm.mag(); *n= truenorm; } break; - default: - G4cout.precision(16); + default: // Should never reach this case ... + G4int oldprc = G4cout.precision(16); G4cout << G4endl; DumpInfo(); G4cout << "Position:" << G4endl << G4endl; @@ -823,6 +882,7 @@ G4double G4EllipticalCone::DistanceToOut(const G4ThreeVector& p, G4cout << "v.z() = " << v.z() << G4endl << G4endl; G4cout << "Proposed distance :" << G4endl << G4endl; G4cout << "distMin = " << distMin/mm << " mm" << G4endl << G4endl; + G4cout.precision(oldprc); G4Exception("G4EllipticalCone::DistanceToOut(p,v,..)", "Notification", JustWarning, "Undefined side for valid surface normal to solid."); @@ -831,6 +891,8 @@ G4double G4EllipticalCone::DistanceToOut(const G4ThreeVector& p, } } + if (distMin<0.5*kCarTolerance) { distMin=0; } + return distMin; } @@ -853,6 +915,7 @@ G4double G4EllipticalCone::DistanceToOut(const G4ThreeVector& p) const 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 ; + G4cout.precision(6) ; G4Exception("G4Ellipsoid::DistanceToOut(p)", "Notification", JustWarning, "Point p is outside !?" ); } @@ -891,6 +954,15 @@ G4GeometryType G4EllipticalCone::GetEntityType() const return G4String("G4EllipticalCone"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object +// +G4VSolid* G4EllipticalCone::Clone() const +{ + return new G4EllipticalCone(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream diff --git a/source/geometry/solids/specific/src/G4EllipticalTube.cc b/source/geometry/solids/specific/src/G4EllipticalTube.cc index ca9b54c20d..7a0957b380 100644 --- a/source/geometry/solids/specific/src/G4EllipticalTube.cc +++ b/source/geometry/solids/specific/src/G4EllipticalTube.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EllipticalTube.cc,v 1.27 2006/10/20 13:45:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EllipticalTube.cc,v 1.33 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -75,7 +75,8 @@ G4EllipticalTube::G4EllipticalTube( const G4String &name, // for usage restricted to object persistency. // G4EllipticalTube::G4EllipticalTube( __void__& a ) - : G4VSolid(a), fCubicVolume(0.), fSurfaceArea(0.), fpPolyhedron(0) + : G4VSolid(a), dx(0.), dy(0.), dz(0.), + fCubicVolume(0.), fSurfaceArea(0.), fpPolyhedron(0) { } @@ -89,6 +90,40 @@ G4EllipticalTube::~G4EllipticalTube() } +// +// Copy constructor +// +G4EllipticalTube::G4EllipticalTube(const G4EllipticalTube& rhs) + : G4VSolid(rhs), dx(rhs.dx), dy(rhs.dy), dz(rhs.dz), + fCubicVolume(rhs.fCubicVolume), fSurfaceArea(rhs.fSurfaceArea), + fpPolyhedron(0) +{ +} + + +// +// Assignment operator +// +G4EllipticalTube& G4EllipticalTube::operator = (const G4EllipticalTube& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + dx = rhs.dx; dy = rhs.dy; dz = rhs.dz; + fCubicVolume = rhs.fCubicVolume; fSurfaceArea = rhs.fSurfaceArea; + fpPolyhedron = 0; + + return *this; +} + + // // CalculateExtent // @@ -250,7 +285,52 @@ EInside G4EllipticalTube::Inside( const G4ThreeVector& p ) const G4ThreeVector G4EllipticalTube::SurfaceNormal( const G4ThreeVector& p ) const { // - // Which of the three surfaces are we closest to (approximately)? + // SurfaceNormal for the point On the Surface, sum the normals on the Corners + // + static const G4double halfTol = 0.5*kCarTolerance; + + G4int noSurfaces=0; + G4ThreeVector norm, sumnorm(0.,0.,0.); + + G4double distZ = std::fabs(std::fabs(p.z()) - dz); + + G4double distR1 = CheckXY( p.x(), p.y(),+ halfTol ); + G4double distR2 = CheckXY( p.x(), p.y(),- halfTol ); + + if ( (distZ < halfTol ) && ( distR1 <= 1 ) ) + { + noSurfaces++; + sumnorm=G4ThreeVector( 0.0, 0.0, p.z() < 0 ? -1.0 : 1.0 ); + } + if( (distR1 <= 1 ) && ( distR2 >= 1 ) ) + { + noSurfaces++; + norm= G4ThreeVector( p.x()*dy*dy, p.y()*dx*dx, 0.0 ).unit(); + sumnorm+=norm; + } + if ( noSurfaces == 0 ) + { +#ifdef G4SPECSDEBUG + G4Exception("G4EllipticalTube::SurfaceNormal(p)", "Notification", + JustWarning, "Point p is not on surface !?" ); +#endif + norm = ApproxSurfaceNormal(p); + } + else if ( noSurfaces == 1 ) { norm = sumnorm; } + else { norm = sumnorm.unit(); } + + return norm; +} + + +// +// ApproxSurfaceNormal +// +G4ThreeVector +G4EllipticalTube::ApproxSurfaceNormal( const G4ThreeVector& p ) const +{ + // + // Which of the three surfaces are we closest to (approximatively)? // G4double distZ = std::fabs(p.z()) - dz; @@ -260,8 +340,10 @@ G4ThreeVector G4EllipticalTube::SurfaceNormal( const G4ThreeVector& p ) const // // Closer to z? // - if (distZ*distZ < distR2) + if (distZ*distZ < distR2) + { return G4ThreeVector( 0.0, 0.0, p.z() < 0 ? -1.0 : 1.0 ); + } // // Closer to x/y @@ -515,10 +597,10 @@ G4double G4EllipticalTube::DistanceToOut( const G4ThreeVector& p, // // Our normal is always valid // - if (calcNorm) *validNorm = true; + if (calcNorm) { *validNorm = true; } G4double sBest = kInfinity; - const G4ThreeVector *nBest=0; + G4ThreeVector nBest(0,0,0); // // Might we intersect the -dz surface? @@ -534,12 +616,15 @@ G4double G4EllipticalTube::DistanceToOut( const G4ThreeVector& p, // // Are we on the surface? If so, return zero // - if (p.z() < -dz+halfTol) { - if (calcNorm) *norm = normHere; + if (p.z() < -dz+halfTol) + { + if (calcNorm) { *norm = normHere; } return 0; } else - nBest = &normHere; + { + nBest = normHere; + } } // @@ -556,15 +641,16 @@ G4double G4EllipticalTube::DistanceToOut( const G4ThreeVector& p, // // Are we on the surface? If so, return zero // - if (p.z() > +dz-halfTol) { - if (calcNorm) *norm = normHere; + if (p.z() > +dz-halfTol) + { + if (calcNorm) { *norm = normHere; } return 0; } // // Best so far? // - if (s < sBest) { sBest = s; nBest = &normHere; } + if (s < sBest) { sBest = s; nBest = normHere; } } // @@ -590,15 +676,16 @@ G4double G4EllipticalTube::DistanceToOut( const G4ThreeVector& p, G4cout << "v.z() = " << v.z() << G4endl << G4endl; G4cout << "Proposed distance :" << G4endl << G4endl; G4cout << "snxt = " << sBest/mm << " mm" << G4endl << G4endl; + G4cout.precision(6) ; G4Exception( "G4EllipticalTube::DistanceToOut(p,v,...)", "Notification", JustWarning, "Point p is outside !?" ); } - if (calcNorm) *norm = *nBest; + if (calcNorm) { *norm = nBest; } return sBest; } else if (s[n-1] > sBest) { - if (calcNorm) *norm = *nBest; + if (calcNorm) { *norm = nBest; } return sBest; } sBest = s[n-1]; @@ -765,6 +852,15 @@ G4GeometryType G4EllipticalTube::GetEntityType() const } +// +// Make a clone of the object +// +G4VSolid* G4EllipticalTube::Clone() const +{ + return new G4EllipticalTube(*this); +} + + // // GetCubicVolume // diff --git a/source/geometry/solids/specific/src/G4EnclosingCylinder.cc b/source/geometry/solids/specific/src/G4EnclosingCylinder.cc index 3c98f23691..ceb5fe9ac6 100644 --- a/source/geometry/solids/specific/src/G4EnclosingCylinder.cc +++ b/source/geometry/solids/specific/src/G4EnclosingCylinder.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EnclosingCylinder.cc,v 1.10 2007/05/11 13:54:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EnclosingCylinder.cc,v 1.11 2010/07/12 15:25:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -93,6 +93,9 @@ G4EnclosingCylinder::G4EnclosingCylinder( const G4ReduciblePolygon *rz, // for usage restricted to object persistency. // G4EnclosingCylinder::G4EnclosingCylinder( __void__& ) +: radius(0.), zLo(0.), zHi(0.), phiIsOpen(0.), startPhi(0.), totalPhi(0.), + rx1(0.), ry1(0.), dx1(0.), dy1(0.), rx2(0.), ry2(0.), dx2(0.), dy2(0.), + concave(false) { } diff --git a/source/geometry/solids/specific/src/G4ExtrudedSolid.cc b/source/geometry/solids/specific/src/G4ExtrudedSolid.cc index 440ad48ed1..b4ebf48731 100644 --- a/source/geometry/solids/specific/src/G4ExtrudedSolid.cc +++ b/source/geometry/solids/specific/src/G4ExtrudedSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExtrudedSolid.cc,v 1.18 2008/10/30 11:47:45 ivana Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExtrudedSolid.cc,v 1.22 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -39,6 +39,7 @@ #include #include #include +#include #include "G4ExtrudedSolid.hh" #include "G4TriangularFacet.hh" @@ -93,11 +94,32 @@ G4ExtrudedSolid::G4ExtrudedSolid( const G4String& pName, FatalException, "Z-sections with the same z position are not supported."); } - } - + } + + // Check if polygon vertices are defined clockwise + // (the area is positive if polygon vertices are defined anti-clockwise) + // + G4double area = 0.; + for ( G4int i=0; ifirst, c3->first, c1->first); + //G4cout << "angle " << angle << G4endl; - if ( angle > pi ) + G4int counter = 0; + while ( angle > pi ) { // G4cout << "Skipping concave vertex " << c2->second << G4endl; @@ -466,8 +550,18 @@ G4bool G4ExtrudedSolid::AddGeneralPolygonFacets() // G4cout << "Looking at triangle : " // << c1->second << " " << c2->second - // << " " << c3->second << G4endl; - + // << " " << c3->second << G4endl; + + angle = GetAngle(c2->first, c3->first, c1->first); + //G4cout << "angle " << angle << G4endl; + + counter++; + + if ( counter > fNv) { + G4Exception("G4ExtrudedSolid::AddGeneralPolygonFacets", "InvalidSetup" , + FatalException, "Triangularisation has failed."); + break; + } } G4bool good = true; @@ -634,6 +728,13 @@ G4GeometryType G4ExtrudedSolid::GetEntityType () const //_____________________________________________________________________________ +G4VSolid* G4ExtrudedSolid::Clone() const +{ + return new G4ExtrudedSolid(*this); +} + +//_____________________________________________________________________________ + EInside G4ExtrudedSolid::Inside (const G4ThreeVector &p) const { // Override the base class function as it fails in case of concave polygon. @@ -733,7 +834,6 @@ G4double G4ExtrudedSolid::DistanceToOut (const G4ThreeVector &p) const return G4TessellatedSolid::DistanceToOut(p); } - //_____________________________________________________________________________ std::ostream& G4ExtrudedSolid::StreamInfo(std::ostream &os) const @@ -750,7 +850,8 @@ std::ostream& G4ExtrudedSolid::StreamInfo(std::ostream &os) const for ( G4int i=0; i >::const_iterator it; + for ( it = fTriangles.begin(); it != fTriangles.end(); it++ ) { + std::vector triangle = *it; + os << std::setw(10) << counter++ + << std::setw(10) << triangle[0] << std::setw(10) << triangle[1] << std::setw(10) << triangle[2] + << G4endl; + } +*/ return os; } diff --git a/source/geometry/solids/specific/src/G4GenericTrap.cc b/source/geometry/solids/specific/src/G4GenericTrap.cc new file mode 100644 index 0000000000..e7def0cf16 --- /dev/null +++ b/source/geometry/solids/specific/src/G4GenericTrap.cc @@ -0,0 +1,2232 @@ +// +// ******************************************************************** +// * 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: G4GenericTrap.cc,v 1.21 2010/11/26 13:30:26 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// -------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4GenericTrap.cc +// +// Authors: +// Tatiana Nikitina, CERN; Ivana Hrivnacova, IPN Orsay +// Adapted from Root Arb8 implementation by Andrei Gheata, CERN +// -------------------------------------------------------------------- + +#include + +#include "G4GenericTrap.hh" +#include "G4TessellatedSolid.hh" +#include "G4TriangularFacet.hh" +#include "G4QuadrangularFacet.hh" +#include "Randomize.hh" + +#include "G4VGraphicsScene.hh" +#include "G4Polyhedron.hh" +#include "G4PolyhedronArbitrary.hh" +#include "G4NURBS.hh" +#include "G4NURBSbox.hh" +#include "G4VisExtent.hh" + +const G4int G4GenericTrap::fgkNofVertices = 8; +const G4double G4GenericTrap::fgkTolerance = 1E-3; + +// -------------------------------------------------------------------- + +G4GenericTrap::G4GenericTrap( const G4String& name, G4double hz, + const std::vector& vertices ) + : G4VSolid(name), + fpPolyhedron(0), + fDz(hz), + fVertices(), + fIsTwisted(false), + fTessellatedSolid(0), + fMinBBoxVector(G4ThreeVector(0,0,0)), + fMaxBBoxVector(G4ThreeVector(0,0,0)), + fVisSubdivisions(0), + fSurfaceArea(0.), + fCubicVolume(0.) + +{ + // General constructor + const G4double min_length=5*1.e-6; + G4double length = 0.; + G4int k=0; + G4String errorDescription = "InvalidSetup in \" "; + errorDescription += name; + errorDescription += "\""; + + // Check vertices size + + if ( G4int(vertices.size()) != fgkNofVertices ) + { + G4Exception("G4GenericTrap::G4GenericTrap()", errorDescription, + FatalException, "Number of vertices != 8"); + } + + // Check dZ + // + if (hz < kCarTolerance) + { + G4Exception("G4GenericTrap::G4GenericTrap()", errorDescription, + FatalException, "dZ is too small or negative"); + } + + // Check Ordering and Copy vertices + // + if(CheckOrder(vertices)) + { + for (G4int i=0; i kCarTolerance ) ) + { + G4Exception("G4GenericTrap::G4GenericTrap()", errorDescription, + JustWarning, + "Length segment is too small, vertices will be collapsed"); + G4cerr << "Distance between " << fVertices[k-1] << " and " + << fVertices[k] << " is only " << length << " mm !" << G4endl; + fVertices[k]=fVertices[k-1]; + } + } + } + + // Compute Twist + // + for( G4int i=0; i<4; i++) { fTwist[i]=0.; } + fIsTwisted = ComputeIsTwisted(); + + // Compute Bounding Box + // + ComputeBBox(); + + // If not twisted - create tessellated solid + // (an alternative implementation for testing) + // +#ifdef G4TESS_TEST + if ( !fIsTwisted ) { fTessellatedSolid = CreateTessellatedSolid(); } +#endif +} + +// -------------------------------------------------------------------- + +G4GenericTrap::G4GenericTrap( __void__& a ) + : G4VSolid(a), + fpPolyhedron(0), + fDz(0.), + fVertices(), + fIsTwisted(false), + fTessellatedSolid(0), + fMinBBoxVector(G4ThreeVector(0,0,0)), + fMaxBBoxVector(G4ThreeVector(0,0,0)), + fVisSubdivisions(0), + fSurfaceArea(0.), + fCubicVolume(0.) +{ + // Fake default constructor - sets only member data and allocates memory + // for usage restricted to object persistency. + + for (size_t i=0; i<4; ++i) { fTwist[i]=0.; } +} + +// -------------------------------------------------------------------- + +G4GenericTrap::~G4GenericTrap() +{ + // Destructor + delete fTessellatedSolid; +} + +// -------------------------------------------------------------------- + +G4GenericTrap::G4GenericTrap(const G4GenericTrap& rhs) + : G4VSolid(rhs), + fpPolyhedron(0), fDz(rhs.fDz), fVertices(rhs.fVertices), + fIsTwisted(rhs.fIsTwisted), fTessellatedSolid(0), + fMinBBoxVector(rhs.fMinBBoxVector), fMaxBBoxVector(rhs.fMaxBBoxVector), + fVisSubdivisions(rhs.fVisSubdivisions), + fSurfaceArea(rhs.fSurfaceArea), fCubicVolume(rhs.fCubicVolume) +{ + for (size_t i=0; i<4; ++i) { fTwist[i] = rhs.fTwist[i]; } +#ifdef G4TESS_TEST + if (rhs.fTessellatedSolid && !fIsTwisted ) + { fTessellatedSolid = CreateTessellatedSolid(); } +#endif +} + +// -------------------------------------------------------------------- + +G4GenericTrap& G4GenericTrap::operator = (const G4GenericTrap& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + fpPolyhedron = 0; fDz = rhs.fDz; fVertices = rhs.fVertices; + fIsTwisted = rhs.fIsTwisted; fTessellatedSolid = 0; + fMinBBoxVector = rhs.fMinBBoxVector; fMaxBBoxVector = rhs.fMaxBBoxVector; + fVisSubdivisions = rhs.fVisSubdivisions; + fSurfaceArea = rhs.fSurfaceArea; fCubicVolume = rhs.fCubicVolume; + + for (size_t i=0; i<4; ++i) { fTwist[i] = rhs.fTwist[i]; } +#ifdef G4TESS_TEST + if (rhs.fTessellatedSolid && !fIsTwisted ) + { delete fTessellatedSolid; fTessellatedSolid = CreateTessellatedSolid(); } +#endif + + return *this; +} + +// -------------------------------------------------------------------- + +EInside +G4GenericTrap::InsidePolygone(const G4ThreeVector& p, + const std::vector& poly) const +{ + static const G4double halfCarTolerance=kCarTolerance*0.5; + EInside in = kInside; + G4double cross, len2; + G4int count=0; + + for (G4int i = 0; i < 4; i++) + { + G4int j = (i+1) % 4; + + cross = (p.x()-poly[i].x())*(poly[j].y()-poly[i].y())- + (p.y()-poly[i].y())*(poly[j].x()-poly[i].x()); + + len2=(poly[i]-poly[j]).mag2(); + if (len2 > kCarTolerance) + { + if(cross*cross<=len2*halfCarTolerance*halfCarTolerance) // Surface check + { + G4double test; + G4int k,l; + if ( poly[i].y() > poly[j].y() ) { k=i; l=j; } + else { k=j; l=i; } + + if ( poly[k].x() != poly[l].x() ) + { + test = (p.x()-poly[l].x())/(poly[k].x()-poly[l].x()) + * (poly[k].y()-poly[l].y())+poly[l].y(); + } + else + { + test = p.y(); + } + + // Check if point is Inside Segment + // + if( (test>=(poly[l].y()-halfCarTolerance)) + && (test<=(poly[k].y()+halfCarTolerance)) ) + { + return kSurface; + } + else + { + return kOutside; + } + } + else if (cross<0.) { return kOutside; } + } + else + { + count++; + } + } + + // All collapsed vertices, Tet like + // + if(count==4) + { + if ( (std::fabs(p.x()-poly[0].x())+std::fabs(p.y()-poly[0].y())) > halfCarTolerance ) + { + in=kOutside; + } + } + return in; +} + +// -------------------------------------------------------------------- + +EInside G4GenericTrap::Inside(const G4ThreeVector& p) const +{ + // Test if point is inside this shape + +#ifdef G4TESS_TEST + if ( fTessellatedSolid ) + { + return fTessellatedSolid->Inside(p); + } +#endif + + static const G4double halfCarTolerance=kCarTolerance*0.5; + EInside innew=kOutside; + std::vector xy; + + if (std::fabs(p.z()) <= fDz+halfCarTolerance) // First check Z range + { + // Compute intersection between Z plane containing point and the shape + // + G4double cf = 0.5*(fDz-p.z())/fDz; + for (G4int i=0; i<4; i++) + { + xy.push_back(fVertices[i+4]+cf*( fVertices[i]-fVertices[i+4])); + } + + innew=InsidePolygone(p,xy); + + if( (innew==kInside) || (innew==kSurface) ) + { + if(std::fabs(p.z()) > fDz-halfCarTolerance) { innew=kSurface; } + } + } + return innew; +} + +// -------------------------------------------------------------------- + +G4ThreeVector G4GenericTrap::SurfaceNormal( const G4ThreeVector& p ) const +{ + // Calculate side nearest to p, and return normal + // If two sides are equidistant, sum of the Normal is returned + +#ifdef G4TESS_TEST + if ( fTessellatedSolid ) + { + return fTessellatedSolid->SurfaceNormal(p); + } +#endif + + static const G4double halfCarTolerance=kCarTolerance*0.5; + + G4ThreeVector lnorm, sumnorm(0.,0.,0.), apprnorm(0.,0.,1.), + p0, p1, p2, r1, r2, r3, r4; + G4int noSurfaces = 0; + G4double distxy,distz; + G4bool zPlusSide=false; + + distz = fDz-std::fabs(p.z()); + if (distz < halfCarTolerance) + { + if(p.z()>0) + { + zPlusSide=true; + sumnorm=G4ThreeVector(0,0,1); + } + else + { + sumnorm=G4ThreeVector(0,0,-1); + } + noSurfaces ++; + } + + // Check lateral planes + // + std:: vector vertices; + G4double cf = 0.5*(fDz-p.z())/fDz; + for (G4int i=0; i<4; i++) + { + vertices.push_back(fVertices[i+4]+cf*(fVertices[i]-fVertices[i+4])); + } + + // Compute distance for lateral planes + // + for (G4int s=0; s<4; s++) + { + p0=G4ThreeVector(vertices[s].x(),vertices[s].y(),p.z()); + if(zPlusSide) + { + p1=G4ThreeVector(fVertices[s].x(),fVertices[s].y(),-fDz); + } + else + { + p1=G4ThreeVector(fVertices[s+4].x(),fVertices[s+4].y(),fDz); + } + p2=G4ThreeVector(vertices[(s+1)%4].x(),vertices[(s+1)%4].y(),p.z()); + + // Collapsed vertices + // + if ( (p2-p0).mag2() < kCarTolerance ) + { + if ( std::fabs(p.z()+fDz) > kCarTolerance ) + { + p2=G4ThreeVector(fVertices[(s+1)%4].x(),fVertices[(s+1)%4].y(),-fDz); + } + else + { + p2=G4ThreeVector(fVertices[(s+1)%4+4].x(),fVertices[(s+1)%4+4].y(),fDz); + } + } + lnorm = (p1-p0).cross(p2-p0); + lnorm = lnorm.unit(); + if(zPlusSide) { lnorm=-lnorm; } + + // Adjust Normal for Twisted Surface + // + if ( (fIsTwisted) && (GetTwistAngle(s)!=0) ) + { + G4double normP=(p2-p0).mag(); + if(normP) + { + G4double proj=(p-p0).dot(p2-p0)/normP; + if(proj<0) { proj=0; } + if(proj>normP) { proj=normP; } + G4int j=(s+1)%4; + r1=G4ThreeVector(fVertices[s+4].x(),fVertices[s+4].y(),fDz); + r2=G4ThreeVector(fVertices[j+4].x(),fVertices[j+4].y(),fDz); + r3=G4ThreeVector(fVertices[s].x(),fVertices[s].y(),-fDz); + r4=G4ThreeVector(fVertices[j].x(),fVertices[j].y(),-fDz); + r1=r1+proj*(r2-r1)/normP; + r3=r3+proj*(r4-r3)/normP; + r2=r1-r3; + r4=r2.cross(p2-p0); r4=r4.unit(); + lnorm=r4; + } + } // End if fIsTwisted + + distxy=std::fabs((p0-p).dot(lnorm)); + if ( distxySurfaceNormal(p); + } +#endif + + static const G4double halfCarTolerance=kCarTolerance*0.5; + G4ThreeVector lnorm, norm(0.,0.,0.), p0,p1,p2; + + G4double distz = fDz-p.z(); + G4int i=ipl; // current plane index + + G4TwoVector u,v; + G4ThreeVector r1,r2,r3,r4; + G4double cf = 0.5*(fDz-p.z())/fDz; + G4int j=(i+1)%4; + + u=fVertices[i+4]+cf*(fVertices[i]-fVertices[i+4]); + v=fVertices[j+4]+cf*(fVertices[j]-fVertices[j+4]); + + // Compute cross product + // + p0=G4ThreeVector(u.x(),u.y(),p.z()); + + if (std::fabs(distz) halfCarTolerance ) + { + p2=G4ThreeVector(fVertices[j].x(),fVertices[j].y(),-fDz); + } + else + { + p2=G4ThreeVector(fVertices[j+4].x(),fVertices[j+4].y(),fDz); + } + } + lnorm=-(p1-p0).cross(p2-p0); + if (distz>-halfCarTolerance) { lnorm=-lnorm.unit(); } + else { lnorm=lnorm.unit(); } + + // Adjust Normal for Twisted Surface + // + if( (fIsTwisted) && (GetTwistAngle(ipl)!=0) ) + { + G4double normP=(p2-p0).mag(); + if(normP) + { + G4double proj=(p-p0).dot(p2-p0)/normP; + if (proj<0) { proj=0; } + if (proj>normP) { proj=normP; } + + r1=G4ThreeVector(fVertices[i+4].x(),fVertices[i+4].y(),fDz); + r2=G4ThreeVector(fVertices[j+4].x(),fVertices[j+4].y(),fDz); + r3=G4ThreeVector(fVertices[i].x(),fVertices[i].y(),-fDz); + r4=G4ThreeVector(fVertices[j].x(),fVertices[j].y(),-fDz); + r1=r1+proj*(r2-r1)/normP; + r3=r3+proj*(r4-r3)/normP; + r2=r1-r3; + r4=r2.cross(p2-p0);r4=r4.unit(); + lnorm=r4; + } + } // End if fIsTwisted + + return lnorm; +} + +// -------------------------------------------------------------------- + +G4double G4GenericTrap::DistToPlane(const G4ThreeVector& p, + const G4ThreeVector& v, + const G4int ipl) const +{ + // Computes distance to plane ipl : + // ipl=0 : points 0,4,1,5 + // ipl=1 : points 1,5,2,6 + // ipl=2 : points 2,6,3,7 + // ipl=3 : points 3,7,0,4 + + static const G4double halfCarTolerance=0.5*kCarTolerance; + G4double xa,xb,xc,xd,ya,yb,yc,yd; + + G4int j = (ipl+1)%4; + + xa=fVertices[ipl].x(); + ya=fVertices[ipl].y(); + xb=fVertices[ipl+4].x(); + yb=fVertices[ipl+4].y(); + xc=fVertices[j].x(); + yc=fVertices[j].y(); + xd=fVertices[4+j].x(); + yd=fVertices[4+j].y(); + + G4double dz2 =0.5/fDz; + G4double tx1 =dz2*(xb-xa); + G4double ty1 =dz2*(yb-ya); + G4double tx2 =dz2*(xd-xc); + G4double ty2 =dz2*(yd-yc); + G4double dzp =fDz+p.z(); + G4double xs1 =xa+tx1*dzp; + G4double ys1 =ya+ty1*dzp; + G4double xs2 =xc+tx2*dzp; + G4double ys2 =yc+ty2*dzp; + G4double dxs =xs2-xs1; + G4double dys =ys2-ys1; + G4double dtx =tx2-tx1; + G4double dty =ty2-ty1; + + G4double a = (dtx*v.y()-dty*v.x()+(tx1*ty2-tx2*ty1)*v.z())*v.z(); + G4double b = dxs*v.y()-dys*v.x()+(dtx*p.y()-dty*p.x()+ty2*xs1-ty1*xs2 + + tx1*ys2-tx2*ys1)*v.z(); + G4double c=dxs*p.y()-dys*p.x()+xs1*ys2-xs2*ys1; + G4double s=kInfinity; + G4double x1,x2,y1,y2,xp,yp,zi; + + if (std::fabs(a)-halfCarTolerance) + { + if (s=0) + { + if (a>0) { s=0.5*(-b-std::sqrt(d))/a; } + else { s=0.5*(-b+std::sqrt(d))/a; } + + // Check if Point is on the Surface + // + if (s>-halfCarTolerance) + { + if(s0) { s=0.5*(-b+std::sqrt(d))/a; } + else { s=0.5*(-b-std::sqrt(d))/a; } + if (s<=halfCarTolerance) { return kInfinity; } + } + } + // Check the Intersection + // + zi=p.z()+s*v.z(); + if (std::fabs(zi)0) { s=0.5*(-b+std::sqrt(d))/a; } + else { s=0.5*(-b-std::sqrt(d))/a; } + + // Check if Point is on the Surface + // + if (s>-halfCarTolerance) + { + if(s0) { s=0.5*(-b-std::sqrt(d))/a; } + else { s=0.5*(-b+std::sqrt(d))/a; } + if (s<=halfCarTolerance) { return kInfinity; } + } + } + // Check the Intersection + // + zi=p.z()+s*v.z(); + if (std::fabs(zi)DistanceToIn(p, v); + } +#endif + + static const G4double halfCarTolerance=kCarTolerance*0.5; + + G4double dist[5]; + G4ThreeVector n; + + // Check lateral faces + // + G4int i; + for (i=0; i<4; i++) + { + dist[i]=DistToPlane(p, v, i); + } + + // Check Z planes + // + dist[4]=kInfinity; + if (std::fabs(p.z())>fDz-halfCarTolerance) + { + if (v.z()) + { + G4ThreeVector pt; + if (p.z()>0) + { + dist[4] = (fDz-p.z())/v.z(); + } + else + { + dist[4] = (-fDz-p.z())/v.z(); + } + if (dist[4]<-halfCarTolerance) + { + dist[4]=kInfinity; + } + else + { + if(dist[4]0) { n=G4ThreeVector(0,0,1); } + else { n=G4ThreeVector(0,0,-1); } + if (n.dot(v)<0) { dist[4]=0.; } + else { dist[4]=kInfinity; } + } + pt=p+dist[4]*v; + if (Inside(pt)==kOutside) { dist[4]=kInfinity; } + } + } + } + G4double distmin = dist[0]; + for (i=1;i<5;i++) + { + if (dist[i] < distmin) { distmin = dist[i]; } + } + + if (distminDistanceToIn(p); + } +#endif + + G4double safz = std::fabs(p.z())-fDz; + if(safz<0) { safz=0; } + + G4int iseg; + G4double safe = safz; + G4double safxy = safz; + + for (iseg=0; iseg<4; iseg++) + { + safxy = SafetyToFace(p,iseg); + if (safxy>safe) { safe=safxy; } + } + + return safe; +} + +// -------------------------------------------------------------------- + +G4double +G4GenericTrap::SafetyToFace(const G4ThreeVector& p, const G4int iseg) const +{ + // Estimate distance to lateral plane defined by segment iseg in range [0,3] + // Might be negative: plane seen only from inside + + G4ThreeVector p1,norm; + G4double safe; + + p1=G4ThreeVector(fVertices[iseg].x(),fVertices[iseg].y(),-fDz); + + norm=NormalToPlane(p,iseg); + safe = (p-p1).dot(norm); // Can be negative + + return safe; +} + +// -------------------------------------------------------------------- + +G4double +G4GenericTrap::DistToTriangle(const G4ThreeVector& p, + const G4ThreeVector& v, const G4int ipl) const +{ + static const G4double halfCarTolerance=kCarTolerance*0.5; + + G4double xa=fVertices[ipl].x(); + G4double ya=fVertices[ipl].y(); + G4double xb=fVertices[ipl+4].x(); + G4double yb=fVertices[ipl+4].y(); + G4int j=(ipl+1)%4; + G4double xc=fVertices[j].x(); + G4double yc=fVertices[j].y(); + G4double zab=2*fDz; + G4double zac=0; + + if ( (std::fabs(xa-xc)+std::fabs(ya-yc)) < halfCarTolerance ) + { + xc=fVertices[j+4].x(); + yc=fVertices[j+4].y(); + zac=2*fDz; + zab=2*fDz; + + //Line case + // + if ( (std::fabs(xb-xc)+std::fabs(yb-yc)) < halfCarTolerance ) + { + return kInfinity; + } + } + G4double a=(yb-ya)*zac-(yc-ya)*zab; + G4double b=(xc-xa)*zab-(xb-xa)*zac; + G4double c=(xb-xa)*(yc-ya)-(xc-xa)*(yb-ya); + G4double d=-xa*a-ya*b+fDz*c; + G4double t=a*v.x()+b*v.y()+c*v.z(); + + if (t!=0) + { + t=-(a*p.x()+b*p.y()+c*p.z()+d)/t; + } + if ( (t-halfCarTolerance) ) + { + if (NormalToPlane(p,ipl).dot(v)DistanceToOut(p, v, calcNorm, validNorm, n); + } +#endif + + static const G4double halfCarTolerance=kCarTolerance*0.5; + + G4double distmin; + G4bool lateral_cross = false; + ESide side = kUndefined; + + if (calcNorm) { *validNorm=true; } // All normals are valid + + if (v.z() < 0) + { + distmin=(-fDz-p.z())/v.z(); + if (calcNorm) { side=kMZ; *n=G4ThreeVector(0,0,-1); } + } + else + { + if (v.z() > 0) + { + distmin = (fDz-p.z())/v.z(); + if (calcNorm) { side=kPZ; *n=G4ThreeVector(0,0,1); } + } + else { distmin = kInfinity; } + } + + G4double dz2 =0.5/fDz; + G4double xa,xb,xc,xd; + G4double ya,yb,yc,yd; + + for (G4int ipl=0; ipl<4; ipl++) + { + G4int j = (ipl+1)%4; + xa=fVertices[ipl].x(); + ya=fVertices[ipl].y(); + xb=fVertices[ipl+4].x(); + yb=fVertices[ipl+4].y(); + xc=fVertices[j].x(); + yc=fVertices[j].y(); + xd=fVertices[4+j].x(); + yd=fVertices[4+j].y(); + + if ( ((std::fabs(xb-xd)+std::fabs(yb-yd))=0) && (s -halfCarTolerance) && (s < distmin)) + { + if (s < halfCarTolerance) + { + if (NormalToPlane(p,ipl).dot(v)<0.) { continue; } + } + distmin =s; + lateral_cross=true; + side=ESide(ipl+1); + } + continue; + } + G4double d=b*b-4*a*c; + if (d >= 0.) + { + if (a > 0) { s=0.5*(-b-std::sqrt(d))/a; } + else { s=0.5*(-b+std::sqrt(d))/a; } + + // Check for Point on the Surface + // + if (s > -halfCarTolerance ) + { + if (s < distmin) + { + if(s < halfCarTolerance) + { + if (NormalToPlane(p,ipl).dot(v)<0.) // Check second root + { + if (a > 0) { s=0.5*(-b+std::sqrt(d))/a; } + else { s=0.5*(-b-std::sqrt(d))/a; } + if (( s > halfCarTolerance) && (s < distmin)) + { + distmin=s; + lateral_cross = true; + side=ESide(ipl+1); + } + continue; + } + } + distmin = s; + lateral_cross = true; + side=ESide(ipl+1); + } + } + else + { + if (a > 0) { s=0.5*(-b+std::sqrt(d))/a; } + else { s=0.5*(-b-std::sqrt(d))/a; } + + // Check for Point on the Surface + // + if ((s > -halfCarTolerance) && (s < distmin)) + { + if (s < halfCarTolerance) + { + if (NormalToPlane(p,ipl).dot(v)<0.) // Check second root + { + if (a > 0) { s=0.5*(-b-std::sqrt(d))/a; } + else { s=0.5*(-b+std::sqrt(d))/a; } + if ( ( s > halfCarTolerance) && (s < distmin) ) + { + distmin=s; + lateral_cross = true; + side=ESide(ipl+1); + } + continue; + } + } + distmin =s; + lateral_cross = true; + side=ESide(ipl+1); + } + } + } + } + if (!lateral_cross) // Make sure that track crosses the top or bottom + { + if (distmin >= kInfinity) { distmin=kCarTolerance; } + G4ThreeVector pt=p+distmin*v; + + // Check if propagated point is in the polygon + // + G4int i=0; + if (v.z()>0.) { i=4; } + std::vector xy; + for ( G4int j=0; j<4; j++) { xy.push_back(fVertices[i+j]); } + + // Check Inside + // + if (InsidePolygone(pt,xy)==kOutside) + { + if(calcNorm) + { + if (v.z()>0) {side= kPZ; *n = G4ThreeVector(0,0,1);} + else { side=kMZ; *n = G4ThreeVector(0,0,-1);} + } + return 0.; + } + else + { + if(v.z()>0) {side=kPZ;} + else {side=kMZ;} + } + } + + if (calcNorm) + { + G4ThreeVector pt=p+v*distmin; + switch (side) + { + case kXY0: + *n=NormalToPlane(pt,0); + break; + case kXY1: + *n=NormalToPlane(pt,1); + break; + case kXY2: + *n=NormalToPlane(pt,2); + break; + case kXY3: + *n=NormalToPlane(pt,3); + break; + case kPZ: + *n=G4ThreeVector(0,0,1); + break; + case kMZ: + *n=G4ThreeVector(0,0,-1); + break; + default: + G4int oldprc = G4cout.precision(16); + G4cout << G4endl; + DumpInfo(); + 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; + G4cout << "Direction:" << G4endl << G4endl; + G4cout << "v.x() = " << v.x() << G4endl; + G4cout << "v.y() = " << v.y() << G4endl; + G4cout << "v.z() = " << v.z() << G4endl << G4endl; + G4cout << "Proposed distance :" << G4endl << G4endl; + G4cout << "distmin = " << distmin/mm << " mm" << G4endl << G4endl; + G4cout.precision(oldprc); + G4Exception("G4GenericTrap::DistanceToOut(p,v,..)", + "Notification", JustWarning, + "Undefined side for valid surface normal to solid."); + break; + } + } + + if (distminDistanceToOut(p); + } +#endif + + G4double safz = fDz-std::fabs(p.z()); + if (safz<0) { safz = 0; } + + G4double safe = safz; + G4double safxy = safz; + + for (G4int iseg=0; iseg<4; iseg++) + { + safxy = std::fabs(SafetyToFace(p,iseg)); + if (safxy < safe) { safe = safxy; } + } + + return safe; +} + +// -------------------------------------------------------------------- + +G4bool G4GenericTrap::CalculateExtent(const EAxis pAxis, + const G4VoxelLimits& pVoxelLimit, + const G4AffineTransform& pTransform, + G4double& pMin, G4double& pMax) const +{ +#ifdef G4TESS_TEST + if ( fTessellatedSolid ) + { + return fTessellatedSolid->CalculateExtent(pAxis, pVoxelLimit, + pTransform, pMin, pMax); + } +#endif + + // Computes bounding vectors for a shape + // + G4double Dx,Dy; + G4ThreeVector minVec = GetMinimumBBox(); + G4ThreeVector maxVec = GetMaximumBBox(); + Dx = 0.5*(maxVec.x()- minVec.x()); + Dy = 0.5*(maxVec.y()- minVec.y()); + + if (!pTransform.IsRotated()) + { + // Special case handling for unrotated shapes + // Compute x/y/z mins and maxs respecting limits, with early returns + // if outside limits. Then switch() on pAxis + // + G4double xoffset,xMin,xMax; + G4double yoffset,yMin,yMax; + G4double zoffset,zMin,zMax; + + xoffset=pTransform.NetTranslation().x(); + xMin=xoffset-Dx; + xMax=xoffset+Dx; + if (pVoxelLimit.IsXLimited()) + { + if ( (xMin>pVoxelLimit.GetMaxXExtent()+kCarTolerance) + || (xMaxpVoxelLimit.GetMaxXExtent()) + { + xMax=pVoxelLimit.GetMaxXExtent(); + } + } + } + + yoffset=pTransform.NetTranslation().y(); + yMin=yoffset-Dy; + yMax=yoffset+Dy; + if (pVoxelLimit.IsYLimited()) + { + if ( (yMin>pVoxelLimit.GetMaxYExtent()+kCarTolerance) + || (yMaxpVoxelLimit.GetMaxYExtent()) + { + yMax=pVoxelLimit.GetMaxYExtent(); + } + } + } + + zoffset=pTransform.NetTranslation().z(); + zMin=zoffset-fDz; + zMax=zoffset+fDz; + if (pVoxelLimit.IsZLimited()) + { + if ( (zMin>pVoxelLimit.GetMaxZExtent()+kCarTolerance) + || (zMaxpVoxelLimit.GetMaxZExtent()) + { + zMax=pVoxelLimit.GetMaxZExtent(); + } + } + } + + switch (pAxis) + { + case kXAxis: + pMin = xMin; + pMax = xMax; + break; + case kYAxis: + pMin = yMin; + pMax = yMax; + break; + case kZAxis: + pMin = zMin; + pMax = zMax; + break; + default: + break; + } + pMin-=kCarTolerance; + pMax+=kCarTolerance; + + return true; + } + else + { + // General rotated case - create and clip mesh to boundaries + + G4bool existsAfterClip=false; + G4ThreeVectorList *vertices; + + pMin=+kInfinity; + pMax=-kInfinity; + + // Calculate rotated vertex coordinates + // + vertices=CreateRotatedVertices(pTransform); + ClipCrossSection(vertices,0,pVoxelLimit,pAxis,pMin,pMax); + ClipCrossSection(vertices,4,pVoxelLimit,pAxis,pMin,pMax); + ClipBetweenSections(vertices,0,pVoxelLimit,pAxis,pMin,pMax); + + if ( (pMin!=kInfinity) || (pMax!=-kInfinity) ) + { + existsAfterClip=true; + + // Add 2*tolerance to avoid precision troubles + // + pMin-=kCarTolerance; + pMax+=kCarTolerance; + } + else + { + // Check for case where completely enveloping clipping volume. + // If point inside then we are confident that the solid completely + // envelopes the clipping volume. Hence set min/max extents according + // to clipping volume extents along the specified axis. + // + G4ThreeVector clipCentre( + (pVoxelLimit.GetMinXExtent()+pVoxelLimit.GetMaxXExtent())*0.5, + (pVoxelLimit.GetMinYExtent()+pVoxelLimit.GetMaxYExtent())*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); + } + } + delete vertices; + return existsAfterClip; + } +} + +// -------------------------------------------------------------------- + +G4ThreeVectorList* +G4GenericTrap::CreateRotatedVertices(const G4AffineTransform& pTransform) const +{ + // Create a List containing the transformed vertices + // Ordering [0-3] -fDz cross section + // [4-7] +fDz cross section such that [0] is below [4], + // [1] below [5] etc. + // Note: caller has deletion responsibility + + G4ThreeVector Min = GetMinimumBBox(); + G4ThreeVector Max = GetMaximumBBox(); + + G4ThreeVectorList *vertices; + vertices=new G4ThreeVectorList(); + + if (vertices) + { + vertices->reserve(8); + G4ThreeVector vertex0(Min.x(),Min.y(),Min.z()); + G4ThreeVector vertex1(Max.x(),Min.y(),Min.z()); + G4ThreeVector vertex2(Max.x(),Max.y(),Min.z()); + G4ThreeVector vertex3(Min.x(),Max.y(),Min.z()); + G4ThreeVector vertex4(Min.x(),Min.y(),Max.z()); + G4ThreeVector vertex5(Max.x(),Min.y(),Max.z()); + G4ThreeVector vertex6(Max.x(),Max.y(),Max.z()); + G4ThreeVector vertex7(Min.x(),Max.y(),Max.z()); + + vertices->push_back(pTransform.TransformPoint(vertex0)); + vertices->push_back(pTransform.TransformPoint(vertex1)); + vertices->push_back(pTransform.TransformPoint(vertex2)); + vertices->push_back(pTransform.TransformPoint(vertex3)); + vertices->push_back(pTransform.TransformPoint(vertex4)); + vertices->push_back(pTransform.TransformPoint(vertex5)); + vertices->push_back(pTransform.TransformPoint(vertex6)); + vertices->push_back(pTransform.TransformPoint(vertex7)); + } + else + { + G4Exception("G4GenericTrap::CreateRotatedVertices()", "FatalError", + FatalException, "Out of memory - Cannot allocate vertices!"); + } + return vertices; +} + +// -------------------------------------------------------------------- + +G4GeometryType G4GenericTrap::GetEntityType() const +{ + return G4String("G4GenericTrap"); +} + +// -------------------------------------------------------------------- + +G4VSolid* G4GenericTrap::Clone() const +{ + return new G4GenericTrap(*this); +} + +// -------------------------------------------------------------------- + +std::ostream& G4GenericTrap::StreamInfo(std::ostream& os) const +{ + os << "-----------------------------------------------------------\n" + << " *** Dump for solid - " << GetName() << " *** \n" + << " =================================================== \n" + << " Solid geometry type: " << GetEntityType() << G4endl + << " half length Z: " << fDz/mm << " mm \n" + << " list of vertices:\n"; + + for ( G4int i=0; iGetPointOnSurface(); + } +#endif + + G4ThreeVector point; + G4TwoVector u,v,w; + G4double rand,area,chose,cf,lambda0,lambda1,alfa,beta,zp; + G4int ipl,j; + + std::vector vertices; + for (G4int i=0; i<4;i++) + { + vertices.push_back(G4ThreeVector(fVertices[i].x(),fVertices[i].y(),-fDz)); + } + for (G4int i=4; i<8;i++) + { + vertices.push_back(G4ThreeVector(fVertices[i].x(),fVertices[i].y(),fDz)); + } + + // Surface Area of Planes(only estimation for twisted) + // + G4double Surface0=GetFaceSurfaceArea(vertices[0],vertices[1], + vertices[2],vertices[3]);//-fDz plane + G4double Surface1=GetFaceSurfaceArea(vertices[0],vertices[1], + vertices[5],vertices[4]);// Lat plane + G4double Surface2=GetFaceSurfaceArea(vertices[3],vertices[0], + vertices[4],vertices[7]);// Lat plane + G4double Surface3=GetFaceSurfaceArea(vertices[2],vertices[3], + vertices[7],vertices[6]);// Lat plane + G4double Surface4=GetFaceSurfaceArea(vertices[2],vertices[1], + vertices[5],vertices[6]);// Lat plane + G4double Surface5=GetFaceSurfaceArea(vertices[4],vertices[5], + vertices[6],vertices[7]);// fDz plane + rand = G4UniformRand(); + area = Surface0+Surface1+Surface2+Surface3+Surface4+Surface5; + chose = rand*area; + + if ( ( chose < Surface0) + || ( chose > (Surface0+Surface1+Surface2+Surface3+Surface4)) ) + { // fDz or -fDz Plane + ipl = G4int(G4UniformRand()*4); + j = (ipl+1)%4; + if(chose < Surface0) + { + zp = -fDz; + u = fVertices[ipl]; v = fVertices[j]; + w = fVertices[(ipl+3)%4]; + } + else + { + zp = fDz; + u = fVertices[ipl+4]; v = fVertices[j+4]; + w = fVertices[(ipl+3)%4+4]; + } + alfa = G4UniformRand(); + beta = G4UniformRand(); + lambda1=alfa*beta; + lambda0=alfa-lambda1; + v = v-u; + w = w-u; + v = u+lambda0*v+lambda1*w; + } + else // Lateral Plane Twisted or Not + { + if (chose < Surface0+Surface1) { ipl=0; } + else if (chose < Surface0+Surface1+Surface2) { ipl=1; } + else if (chose < Surface0+Surface1+Surface2+Surface3) { ipl=2; } + else { ipl=3; } + j = (ipl+1)%4; + zp = -fDz+G4UniformRand()*2*fDz; + cf = 0.5*(fDz-zp)/fDz; + u = fVertices[ipl+4]+cf*( fVertices[ipl]-fVertices[ipl+4]); + v = fVertices[j+4]+cf*(fVertices[j]-fVertices[j+4]); + v = u+(v-u)*G4UniformRand(); + } + point=G4ThreeVector(v.x(),v.y(),zp); + + return point; +} + +// -------------------------------------------------------------------- + +G4double G4GenericTrap::GetCubicVolume() +{ + if(fCubicVolume != 0.) {;} + else { fCubicVolume = G4VSolid::GetCubicVolume(); } + return fCubicVolume; +} + +// -------------------------------------------------------------------- + +G4double G4GenericTrap::GetSurfaceArea() +{ + if(fSurfaceArea != 0.) {;} + else + { + std::vector vertices; + for (G4int i=0; i<4;i++) + { + vertices.push_back(G4ThreeVector(fVertices[i].x(),fVertices[i].y(),-fDz)); + } + for (G4int i=4; i<8;i++) + { + vertices.push_back(G4ThreeVector(fVertices[i].x(),fVertices[i].y(),fDz)); + } + + // Surface Area of Planes(only estimation for twisted) + // + G4double fSurface0=GetFaceSurfaceArea(vertices[0],vertices[1], + vertices[2],vertices[3]);//-fDz plane + G4double fSurface1=GetFaceSurfaceArea(vertices[0],vertices[1], + vertices[5],vertices[4]);// Lat plane + G4double fSurface2=GetFaceSurfaceArea(vertices[3],vertices[0], + vertices[4],vertices[7]);// Lat plane + G4double fSurface3=GetFaceSurfaceArea(vertices[2],vertices[3], + vertices[7],vertices[6]);// Lat plane + G4double fSurface4=GetFaceSurfaceArea(vertices[2],vertices[1], + vertices[5],vertices[6]);// Lat plane + G4double fSurface5=GetFaceSurfaceArea(vertices[4],vertices[5], + vertices[6],vertices[7]);// fDz plane + + // Total Surface Area + // + if(!fIsTwisted) + { + fSurfaceArea = fSurface0+fSurface1+fSurface2 + + fSurface3+fSurface4+fSurface5; + } + else + { + fSurfaceArea = G4VSolid::GetSurfaceArea(); + } + } + return fSurfaceArea; +} + +// -------------------------------------------------------------------- + +G4double G4GenericTrap::GetFaceSurfaceArea(const G4ThreeVector& p0, + const G4ThreeVector& p1, + const G4ThreeVector& p2, + const G4ThreeVector& p3) const +{ + // Auxiliary method for Get Surface Area of Face + + G4double aOne, aTwo; + G4ThreeVector t, u, v, w, Area, normal; + + t = p2 - p1; + u = p0 - p1; + v = p2 - p3; + w = p0 - p3; + + Area = w.cross(v); + aOne = 0.5*Area.mag(); + + Area = t.cross(u); + aTwo = 0.5*Area.mag(); + + return aOne + aTwo; +} + +// -------------------------------------------------------------------- + +G4bool G4GenericTrap::ComputeIsTwisted() +{ + // Computes tangents of twist angles (angles between projections on XY plane + // of corresponding -dz +dz edges). + + G4bool twisted = false; + G4double dx1, dy1, dx2, dy2; + G4int nv = fgkNofVertices/2; + + for ( G4int i=0; i<4; i++ ) + { + dx1 = fVertices[(i+1)%nv].x()-fVertices[i].x(); + dy1 = fVertices[(i+1)%nv].y()-fVertices[i].y(); + if ( (dx1 == 0) && (dy1 == 0) ) { continue; } + + dx2 = fVertices[nv+(i+1)%nv].x()-fVertices[nv+i].x(); + dy2 = fVertices[nv+(i+1)%nv].y()-fVertices[nv+i].y(); + + if ( dx2 == 0 && dy2 == 0 ) { continue; } + G4double twist_angle = std::fabs(dy1*dx2 - dx1*dy2); + if ( twist_angle < fgkTolerance ) { continue; } + twisted = true; + SetTwistAngle(i,twist_angle); + + // Check on big angles, potentially navigation problem + + twist_angle = std::acos( (dx1*dx2 + dy1*dy2) + / (std::sqrt(dx1*dx1+dy1*dy1) + * std::sqrt(dx2*dx2+dy2*dy2)) ); + + if ( std::fabs(twist_angle) > 0.5*pi+kCarTolerance ) + { + G4String errorDescription = "WarningSetup in \""; + errorDescription += GetName(); + errorDescription += "\""; + G4String errorMessage = "Twisted Angle is bigger than 90 degrees.\n"; + errorMessage += " Potential problem of malformed Solid !"; + G4cerr << "TwistANGLE= " << twist_angle + << "*rad for lateral plane N= " << i << G4endl; + G4Exception("G4GenericTrap::ComputeIsTwisted()", errorDescription, + JustWarning, errorMessage); + } + } + + return twisted; +} + +// -------------------------------------------------------------------- + +G4bool G4GenericTrap::CheckOrder(const std::vector& vertices) const +{ + // Test if the vertices are in a clockwise order, if not reorder them. + // Also test if they're well defined without crossing opposite segments + + G4bool clockwise_order=true; + G4double sum1 = 0.; + G4double sum2 = 0.; + G4int j; + + for (G4int i=0; i<4; i++) + { + j = (i+1)%4; + sum1 += vertices[i].x()*vertices[j].y() - vertices[j].x()*vertices[i].y(); + sum2 += vertices[i+4].x()*vertices[j+4].y() + - vertices[j+4].x()*vertices[i+4].y(); + } + if (sum1*sum2 < -fgkTolerance) + { + G4String errorDescription = "InvalidSetup in \""; + errorDescription += GetName(); + errorDescription += "\""; + + G4Exception("G4GenericTrap::CheckOrder()", errorDescription, FatalException, + "Lower/upper faces defined with opposite clockwise."); + } + + if ((sum1 > 0.)||(sum2 > 0.)) + { + G4String errorDescription = "WarningSetup in \""; + errorDescription += GetName(); + errorDescription += "\""; + G4Exception("G4GenericTrap::CheckOrder()", errorDescription, JustWarning, + "Vertices must be defined in clockwise in XY planes! Re-ordering.. "); + clockwise_order = false; + } + + // Check for illegal crossings + // + G4bool illegal_cross = false; + illegal_cross = IsSegCrossingZ(vertices[0],vertices[4], + vertices[1],vertices[5]); + + if (!illegal_cross) + { + illegal_cross = IsSegCrossingZ(vertices[2],vertices[6], + vertices[3],vertices[7]); + } + // +/- dZ planes + if (!illegal_cross) + { + illegal_cross = IsSegCrossing(vertices[0],vertices[1], + vertices[2],vertices[3]); + } + if (!illegal_cross) + { + illegal_cross = IsSegCrossing(vertices[0],vertices[3], + vertices[1],vertices[2]); + } + if (!illegal_cross) + { + illegal_cross = IsSegCrossing(vertices[4],vertices[5], + vertices[6],vertices[7]); + } + if (!illegal_cross) + { + illegal_cross = IsSegCrossing(vertices[4],vertices[7], + vertices[5],vertices[6]); + } + + if (illegal_cross) + { + G4String errorDescription = "InvalidSetup in \""; + errorDescription += GetName(); + errorDescription += "\""; + G4Exception("G4GenericTrap::CheckOrderAndSetup()", + errorDescription, FatalException, + "Malformed polygone with opposite sides."); + } + return clockwise_order; +} + +// -------------------------------------------------------------------- + +void G4GenericTrap::ReorderVertices(std::vector& vertices) const +{ + // Reorder the vector of vertices + + std::vector oldVertices(vertices); + + for ( G4int i=0; i < G4int(oldVertices.size()); ++i ) + { + vertices[i] = oldVertices[oldVertices.size()-1-i]; + } +} + +// -------------------------------------------------------------------- + +G4bool +G4GenericTrap::IsSegCrossing(const G4TwoVector& a, const G4TwoVector& b, + const G4TwoVector& c, const G4TwoVector& d) const +{ + // Check if segments [A,B] and [C,D] are crossing + + G4bool stand1 = false; + G4bool stand2 = false; + G4double dx1,dx2,xm=0.,ym=0.,a1=0.,a2=0.,b1=0.,b2=0.; + dx1=(b-a).x(); + dx2=(d-c).x(); + + if( std::fabs(dx1) < fgkTolerance ) { stand1 = true; } + if( std::fabs(dx2) < fgkTolerance ) { stand2 = true; } + if (!stand1) + { + a1 = (b.x()*a.y()-a.x()*b.y())/dx1; + b1 = (b-a).y()/dx1; + } + if (!stand2) + { + a2 = (d.x()*c.y()-c.x()*d.y())/dx2; + b2 = (d-c).y()/dx2; + } + if (stand1 && stand2) + { + // Segments parallel and vertical + // + if (std::fabs(a.x()-c.x()) fgkTolerance) { return false; } + + // Aligned segments, are they overlapping + // + if ( ((c.x()-a.x())*(c.x()-b.x())<-fgkTolerance) + || ((d.x()-a.x())*(d.x()-b.x())<-fgkTolerance) + || ((a.x()-c.x())*(a.x()-d.x())<-fgkTolerance) + || ((b.x()-c.x())*(b.x()-d.x())<-fgkTolerance) ) { return true; } + + return false; + } + xm = (a1-a2)/(b2-b1); + ym = (a1*b2-a2*b1)/(b2-b1); + } + } + + // Check if crossing point is both between A,B and C,D + // + G4double check = (xm-a.x())*(xm-b.x())+(ym-a.y())*(ym-b.y()); + if (check > -fgkTolerance) { return false; } + check = (xm-c.x())*(xm-d.x())+(ym-c.y())*(ym-d.y()); + if (check > -fgkTolerance) { return false; } + + return true; +} + +// -------------------------------------------------------------------- + +G4bool +G4GenericTrap::IsSegCrossingZ(const G4TwoVector& a, const G4TwoVector& b, + const G4TwoVector& c, const G4TwoVector& d) const +{ + // Check if segments [A,B] and [C,D] are crossing when + // A and C are on -dZ and B and D are on +dZ + + // Calculate the Intersection point between two lines in 3D + // + G4ThreeVector temp1,temp2; + G4ThreeVector v1,v2,p1,p2,p3,p4,dv; + G4double s,det; + p1=G4ThreeVector(a.x(),a.y(),-fDz); + p2=G4ThreeVector(c.x(),c.y(),-fDz); + p3=G4ThreeVector(b.x(),b.y(),fDz); + p4=G4ThreeVector(d.x(),d.y(),fDz); + v1=p3-p1; + v2=p4-p2; + dv=p2-p1; + + // In case of Collapsed Vertices No crossing + // + if( (std::fabs(dv.x()) < kCarTolerance )&& + (std::fabs(dv.y()) < kCarTolerance ) ) { return false; } + + if( (std::fabs((p4-p3).x()) < kCarTolerance )&& + (std::fabs((p4-p3).y()) < kCarTolerance ) ) { return false; } + + // First estimate if Intersection is possible( if det is 0) + // + det = dv.x()*v1.y()*v2.z()+dv.y()*v1.z()*v2.x() + - dv.x()*v1.z()*v2.y()-dv.y()*v1.x()*v2.z(); + + if (std::fabs(det)& fromVertices, + G4int ind1, G4int ind2, G4int ind3) const +{ + // Create a triangular facet from the polygon points given by indices + // forming the down side ( the normal goes in -z) + // Do not create facet if 2 vertices are the same + + if ( (fromVertices[ind1] == fromVertices[ind2]) || + (fromVertices[ind2] == fromVertices[ind3]) || + (fromVertices[ind1] == fromVertices[ind3]) ) { return 0; } + + std::vector vertices; + vertices.push_back(fromVertices[ind1]); + vertices.push_back(fromVertices[ind2]); + vertices.push_back(fromVertices[ind3]); + + // first vertex most left + // + G4ThreeVector cross=(vertices[1]-vertices[0]).cross(vertices[2]-vertices[1]); + + if ( cross.z() > 0.0 ) + { + // Should not happen, as vertices should have been reordered at this stage + + G4String errorDescription = "InvalidSetup in \""; + errorDescription += GetName(); + errorDescription += "\""; + G4Exception("G4GenericTrap::MakeDownFacet", errorDescription, + FatalException, "Vertices in wrong order."); + } + + return new G4TriangularFacet(vertices[0], vertices[1], vertices[2], ABSOLUTE); +} + +// -------------------------------------------------------------------- + +G4VFacet* +G4GenericTrap::MakeUpFacet(const std::vector& fromVertices, + G4int ind1, G4int ind2, G4int ind3) const +{ + // Create a triangular facet from the polygon points given by indices + // forming the upper side ( z>0 ) + + // Do not create facet if 2 vertices are the same + // + if ( (fromVertices[ind1] == fromVertices[ind2]) || + (fromVertices[ind2] == fromVertices[ind3]) || + (fromVertices[ind1] == fromVertices[ind3]) ) { return 0; } + + std::vector vertices; + vertices.push_back(fromVertices[ind1]); + vertices.push_back(fromVertices[ind2]); + vertices.push_back(fromVertices[ind3]); + + // First vertex most left + // + G4ThreeVector cross=(vertices[1]-vertices[0]).cross(vertices[2]-vertices[1]); + + if ( cross.z() < 0.0 ) + { + // Should not happen, as vertices should have been reordered at this stage + + G4String errorDescription = "InvalidSetup in \""; + errorDescription += GetName(); + errorDescription += "\""; + G4Exception("G4GenericTrap::MakeUpFacet", errorDescription, + FatalException, "Vertices in wrong order."); + } + + return new G4TriangularFacet(vertices[0], vertices[1], vertices[2], ABSOLUTE); +} + +// -------------------------------------------------------------------- + +G4VFacet* +G4GenericTrap::MakeSideFacet(const G4ThreeVector& downVertex0, + const G4ThreeVector& downVertex1, + const G4ThreeVector& upVertex1, + const G4ThreeVector& upVertex0) const +{ + // Creates a triangular facet from the polygon points given by indices + // forming the upper side ( z>0 ) + + if ( (downVertex0 == downVertex1) && (upVertex0 == upVertex1) ) + { + return 0; + } + + if ( downVertex0 == downVertex1 ) + { + return new G4TriangularFacet(downVertex0, upVertex1, upVertex0, ABSOLUTE); + } + + if ( upVertex0 == upVertex1 ) + { + return new G4TriangularFacet(downVertex0, downVertex1, upVertex0, ABSOLUTE); + } + + return new G4QuadrangularFacet(downVertex0, downVertex1, + upVertex1, upVertex0, ABSOLUTE); +} + +// -------------------------------------------------------------------- + +G4TessellatedSolid* G4GenericTrap::CreateTessellatedSolid() const +{ + // 3D vertices + // + G4int nv = fgkNofVertices/2; + std::vector downVertices; + for ( G4int i=0; i upVertices; + for ( G4int i=nv; i<2*nv; i++ ) + { + upVertices.push_back(G4ThreeVector(fVertices[i].x(), + fVertices[i].y(), fDz)); + } + + // Reorder vertices if they are not ordered anti-clock wise + // + G4ThreeVector cross + = (downVertices[1]-downVertices[0]).cross(downVertices[2]-downVertices[1]); + G4ThreeVector cross1 + = (upVertices[1]-upVertices[0]).cross(upVertices[2]-upVertices[1]); + if ( (cross.z() > 0.0) || (cross1.z() > 0.0) ) + { + ReorderVertices(downVertices); + ReorderVertices(upVertices); + } + + G4TessellatedSolid* tessellatedSolid = new G4TessellatedSolid(GetName()); + + G4VFacet* facet = 0; + facet = MakeDownFacet(downVertices, 0, 1, 2); + if (facet) { tessellatedSolid->AddFacet( facet ); } + facet = MakeDownFacet(downVertices, 0, 2, 3); + if (facet) { tessellatedSolid->AddFacet( facet ); } + facet = MakeUpFacet(upVertices, 0, 2, 1); + if (facet) { tessellatedSolid->AddFacet( facet ); } + facet = MakeUpFacet(upVertices, 0, 3, 2); + if (facet) { tessellatedSolid->AddFacet( facet ); } + + // The quadrangular sides + // + for ( G4int i = 0; i < nv; ++i ) + { + G4int j = (i+1) % nv; + facet = MakeSideFacet(downVertices[j], downVertices[i], + upVertices[i], upVertices[j]); + + if ( facet ) { tessellatedSolid->AddFacet( facet ); } + } + + tessellatedSolid->SetSolidClosed(true); + + return tessellatedSolid; +} + +// -------------------------------------------------------------------- + +void G4GenericTrap::ComputeBBox() +{ + // Computes bounding box for a shape. + + G4double minX, maxX, minY, maxY; + minX = maxX = fVertices[0].x(); + minY = maxY = fVertices[0].y(); + + for (G4int i=1; i< fgkNofVertices; i++) + { + if (minX>fVertices[i].x()) { minX=fVertices[i].x(); } + if (maxXfVertices[i].y()) { minY=fVertices[i].y(); } + if (maxYGetPolyhedron(); + } +#endif + + if ( (!fpPolyhedron) + || (fpPolyhedron->GetNumberOfRotationStepsAtTimeOfCreation() != + fpPolyhedron->GetNumberOfRotationSteps()) ) + { + delete fpPolyhedron; + fpPolyhedron = CreatePolyhedron(); + } + return fpPolyhedron; +} + +// -------------------------------------------------------------------- + +void G4GenericTrap::DescribeYourselfTo(G4VGraphicsScene& scene) const +{ + +#ifdef G4TESS_TEST + if ( fTessellatedSolid ) + { + return fTessellatedSolid->DescribeYourselfTo(scene); + } +#endif + + scene.AddSolid(*this); +} + +// -------------------------------------------------------------------- + +G4VisExtent G4GenericTrap::GetExtent() const +{ + // Computes bounding vectors for the shape + +#ifdef G4TESS_TEST + if ( fTessellatedSolid ) + { + return fTessellatedSolid->GetExtent(); + } +#endif + + G4double Dx,Dy; + G4ThreeVector minVec = GetMinimumBBox(); + G4ThreeVector maxVec = GetMaximumBBox(); + Dx = 0.5*(maxVec.x()- minVec.x()); + Dy = 0.5*(maxVec.y()- minVec.y()); + + return G4VisExtent (-Dx, Dx, -Dy, Dy, -fDz, fDz); +} + +// -------------------------------------------------------------------- + +G4Polyhedron* G4GenericTrap::CreatePolyhedron() const +{ + +#ifdef G4TESS_TEST + if ( fTessellatedSolid ) + { + return fTessellatedSolid->CreatePolyhedron(); + } +#endif + + // Approximation of Twisted Side + // Construct extra Points, if Twisted Side + // + G4PolyhedronArbitrary* polyhedron; + size_t nVertices, nFacets; + + G4int subdivisions=0; + G4int i; + if(fIsTwisted) + { + if ( GetVisSubdivisions()!= 0 ) + { + subdivisions=GetVisSubdivisions(); + } + else + { + // Estimation of Number of Subdivisions for smooth visualisation + // + G4double maxTwist=0.; + for(i=0; i<4; i++) + { + if(GetTwistAngle(i)>maxTwist) { maxTwist=GetTwistAngle(i); } + } + + // Computes bounding vectors for the shape + // + G4double Dx,Dy; + G4ThreeVector minVec = GetMinimumBBox(); + G4ThreeVector maxVec = GetMaximumBBox(); + Dx = 0.5*(maxVec.x()- minVec.y()); + Dy = 0.5*(maxVec.y()- minVec.y()); + if (Dy > Dx) { Dx=Dy; } + + subdivisions=8*G4int(maxTwist/(Dx*Dx*Dx)*fDz); + if (subdivisions<4) { subdivisions=4; } + if (subdivisions>30) { subdivisions=30; } + } + } + G4int sub4=4*subdivisions; + nVertices = 8+subdivisions*4; + nFacets = 6+subdivisions*4; + G4double cf=1./(subdivisions+1); + polyhedron = new G4PolyhedronArbitrary (nVertices, nFacets); + + // Add Vertex + // + for (i=0;i<4;i++) + { + polyhedron->AddVertex(G4ThreeVector(fVertices[i].x(), + fVertices[i].y(),-fDz)); + } + for( i=0;iAddVertex(G4ThreeVector(u.x(),u.y(),-fDz+cf*2*fDz*(i+1))); + } + } + for (i=4;i<8;i++) + { + polyhedron->AddVertex(G4ThreeVector(fVertices[i].x(), + fVertices[i].y(),fDz)); + } + + // Add Facets + // + polyhedron->AddFacet(1,4,3,2); //Z-plane + for (i=0;iAddFacet(5+is,8+is,4+is,1+is); + polyhedron->AddFacet(8+is,7+is,3+is,4+is); + polyhedron->AddFacet(7+is,6+is,2+is,3+is); + polyhedron->AddFacet(6+is,5+is,1+is,2+is); + } + polyhedron->AddFacet(5+sub4,6+sub4,7+sub4,8+sub4); //Z-plane + + return (G4Polyhedron*) polyhedron; +} + +// -------------------------------------------------------------------- + +G4NURBS* G4GenericTrap::CreateNURBS() const +{ +#ifdef G4TESS_TEST + if ( fTessellatedSolid ) + { + return fTessellatedSolid->CreateNURBS(); + } +#endif + + // Computes bounding vectors for the shape + // + G4double Dx,Dy; + G4ThreeVector minVec = GetMinimumBBox(); + G4ThreeVector maxVec = GetMaximumBBox(); + Dx = 0.5*(maxVec.x()- minVec.y()); + Dy = 0.5*(maxVec.y()- minVec.y()); + + return new G4NURBSbox (Dx, Dy, fDz); +} + +// -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4Hype.cc b/source/geometry/solids/specific/src/G4Hype.cc index 73d0b71b7a..bc1ccbecf7 100644 --- a/source/geometry/solids/specific/src/G4Hype.cc +++ b/source/geometry/solids/specific/src/G4Hype.cc @@ -24,9 +24,9 @@ // ******************************************************************** // // -// $Id: G4Hype.cc,v 1.27 2008/04/14 08:49:28 gcosmo Exp $ +// $Id: G4Hype.cc,v 1.31 2010/10/20 08:54:18 gcosmo Exp $ // $Original: G4Hype.cc,v 1.0 1998/06/09 16:57:50 safai Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -80,11 +80,7 @@ G4Hype::G4Hype(const G4String& pName, { // Check z-len // - if (newHalfLenZ>0) - { - halfLenZ=newHalfLenZ; - } - else + if (newHalfLenZ<=0) { G4cerr << "ERROR - G4Hype::G4Hype(): " << GetName() << G4endl << " Invalid Z half-length: " @@ -92,32 +88,11 @@ G4Hype::G4Hype(const G4String& pName, G4Exception("G4Hype::G4Hype()", "InvalidSetup", FatalException, "Invalid Z half-length."); } + halfLenZ=newHalfLenZ; // Check radii // - if (newInnerRadius>=0 && newOuterRadius>=0) - { - if (newInnerRadius < newOuterRadius) - { - innerRadius=newInnerRadius; - outerRadius=newOuterRadius; - } - else - { // swapping radii (:-) - // innerRadius=newOuterRadius; - // outerRadius=newInnerRadius; - // DCW: swapping is fine, but what about the stereo angles??? - - G4cerr << "ERROR - G4Hype::G4Hype(): " << GetName() << G4endl - << " Invalid radii ! Inner radius: " - << newInnerRadius/mm << " mm" << G4endl - << " Outer radius: " - << newOuterRadius/mm << " mm" << G4endl; - G4Exception("G4Hype::G4Hype()", "InvalidSetup", FatalException, - "Error: outer > inner radius."); - } - } - else + if (newInnerRadius<0 || newOuterRadius<0) { G4cerr << "ERROR - G4Hype::G4Hype(): " << GetName() << G4endl << " Invalid radii ! Inner radius: " @@ -127,6 +102,19 @@ G4Hype::G4Hype(const G4String& pName, G4Exception("G4Hype::G4Hype()", "InvalidSetup", FatalException, "Invalid radii."); } + if (newInnerRadius >= newOuterRadius) + { + G4cerr << "ERROR - G4Hype::G4Hype(): " << GetName() << G4endl + << " Invalid radii ! Inner radius: " + << newInnerRadius/mm << " mm" << G4endl + << " Outer radius: " + << newOuterRadius/mm << " mm" << G4endl; + G4Exception("G4Hype::G4Hype()", "InvalidSetup", FatalException, + "Error: outer > inner radius."); + } + + innerRadius=newInnerRadius; + outerRadius=newOuterRadius; innerRadius2=innerRadius*innerRadius; outerRadius2=outerRadius*outerRadius; @@ -141,7 +129,11 @@ G4Hype::G4Hype(const G4String& pName, // for usage restricted to object persistency. // G4Hype::G4Hype( __void__& a ) - : G4VSolid(a), fCubicVolume(0.), fSurfaceArea(0.), fpPolyhedron(0) + : G4VSolid(a), innerRadius(0.), outerRadius(0.), halfLenZ(0.), innerStereo(0.), + outerStereo(0.), tanInnerStereo(0.), tanOuterStereo(0.), tanInnerStereo2(0.), + tanOuterStereo2(0.), innerRadius2(0.), outerRadius2(0.), endInnerRadius2(0.), + endOuterRadius2(0.), endInnerRadius(0.), endOuterRadius(0.), + fCubicVolume(0.), fSurfaceArea(0.), fpPolyhedron(0) { } @@ -155,6 +147,54 @@ G4Hype::~G4Hype() } +// +// Copy constructor +// +G4Hype::G4Hype(const G4Hype& rhs) + : G4VSolid(rhs), innerRadius(rhs.innerRadius), + outerRadius(rhs.outerRadius), halfLenZ(rhs.halfLenZ), + innerStereo(rhs.innerStereo), outerStereo(rhs.outerStereo), + tanInnerStereo(rhs.tanInnerStereo), tanOuterStereo(rhs.tanOuterStereo), + tanInnerStereo2(rhs.tanInnerStereo2), tanOuterStereo2(rhs.tanOuterStereo2), + innerRadius2(rhs.innerRadius2), outerRadius2(rhs.outerRadius2), + endInnerRadius2(rhs.endInnerRadius2), endOuterRadius2(rhs.endOuterRadius2), + endInnerRadius(rhs.endInnerRadius), endOuterRadius(rhs.endOuterRadius), + fCubicVolume(rhs.fCubicVolume), fSurfaceArea(rhs.fSurfaceArea), + fpPolyhedron(0) +{ +} + + +// +// Assignment operator +// +G4Hype& G4Hype::operator = (const G4Hype& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + innerRadius = rhs.innerRadius; outerRadius = rhs.outerRadius; + halfLenZ = rhs.halfLenZ; + innerStereo = rhs.innerStereo; outerStereo = rhs.outerStereo; + tanInnerStereo = rhs.tanInnerStereo; tanOuterStereo = rhs.tanOuterStereo; + tanInnerStereo2 = rhs.tanInnerStereo2; tanOuterStereo2 = rhs.tanOuterStereo2; + innerRadius2 = rhs.innerRadius2; outerRadius2 = rhs.outerRadius2; + endInnerRadius2 = rhs.endInnerRadius2; endOuterRadius2 = rhs.endOuterRadius2; + endInnerRadius = rhs.endInnerRadius; endOuterRadius = rhs.endOuterRadius; + fCubicVolume = rhs.fCubicVolume; fSurfaceArea = rhs.fSurfaceArea; + fpPolyhedron = 0; + + return *this; +} + + // // Dispatch to parameterisation for replication mechanism dimension // computation & modification. @@ -1324,6 +1364,15 @@ G4GeometryType G4Hype::GetEntityType() const } +// +// Clone +// +G4VSolid* G4Hype::Clone() const +{ + return new G4Hype(*this); +} + + // // GetCubicVolume // diff --git a/source/geometry/solids/specific/src/G4IntersectingCone.cc b/source/geometry/solids/specific/src/G4IntersectingCone.cc index 94eb1acb72..8fd512751e 100644 --- a/source/geometry/solids/specific/src/G4IntersectingCone.cc +++ b/source/geometry/solids/specific/src/G4IntersectingCone.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IntersectingCone.cc,v 1.12 2008/04/28 08:59:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4IntersectingCone.cc,v 1.13 2010/07/12 15:25:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -47,10 +47,9 @@ G4IntersectingCone::G4IntersectingCone( const G4double r[2], const G4double z[2] ) { + static const G4double halfCarTolerance + = 0.5 * G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); - - half_kCarTolerance = 0.5 * G4GeometryTolerance::GetInstance() - ->GetSurfaceTolerance(); // // What type of cone are we? // @@ -71,20 +70,20 @@ G4IntersectingCone::G4IntersectingCone( const G4double r[2], // if (r[0] < r[1]) { - rLo = r[0]-half_kCarTolerance; rHi = r[1]+half_kCarTolerance; + rLo = r[0]-halfCarTolerance; rHi = r[1]+halfCarTolerance; } else { - rLo = r[1]-half_kCarTolerance; rHi = r[0]+half_kCarTolerance; + rLo = r[1]-halfCarTolerance; rHi = r[0]+halfCarTolerance; } if (z[0] < z[1]) { - zLo = z[0]-half_kCarTolerance; zHi = z[1]+half_kCarTolerance; + zLo = z[0]-halfCarTolerance; zHi = z[1]+halfCarTolerance; } else { - zLo = z[1]-half_kCarTolerance; zHi = z[0]+half_kCarTolerance; + zLo = z[1]-halfCarTolerance; zHi = z[0]+halfCarTolerance; } } @@ -94,6 +93,7 @@ G4IntersectingCone::G4IntersectingCone( const G4double r[2], // for usage restricted to object persistency. // G4IntersectingCone::G4IntersectingCone( __void__& ) + : zLo(0.), zHi(0.), rLo(0.), rHi(0.), type1(false), A(0.), B(0.) { } diff --git a/source/geometry/solids/specific/src/G4Paraboloid.cc b/source/geometry/solids/specific/src/G4Paraboloid.cc index a898df60d6..648a9e0980 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.9 2009/02/27 15:10:46 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Paraboloid.cc,v 1.14 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4Paraboloid // @@ -58,19 +58,13 @@ using namespace CLHEP; // constructor - check parameters G4Paraboloid::G4Paraboloid(const G4String& pName, - G4double pDz, - G4double pR1, - G4double pR2) - : G4VSolid(pName),fpPolyhedron(0), fCubicVolume(0.) + G4double pDz, + G4double pR1, + G4double pR2) + : G4VSolid(pName), fpPolyhedron(0), fSurfaceArea(0.), fCubicVolume(0.) { - if(pDz > 0. && pR2 > pR1 && pR1 >= 0.) - { - r1 = pR1; - r2 = pR2; - dz = pDz; - } - else + if( (pDz <= 0.) || (pR2 <= pR1) || (pR1 < 0.) ) { G4cerr << "Error - G4Paraboloid::G4Paraboloid(): " << GetName() << G4endl << "Z half-length must be larger than zero or R1>=R2 " << G4endl; @@ -79,6 +73,10 @@ G4Paraboloid::G4Paraboloid(const G4String& pName, "Invalid dimensions. Negative Input Values or R1>=R2."); } + r1 = pR1; + r2 = pR2; + dz = pDz; + // r1^2 = k1 * (-dz) + k2 // r2^2 = k1 * ( dz) + k2 // => r1^2 + r2^2 = k2 + k2 => k2 = (r2^2 + r1^2) / 2 @@ -86,8 +84,6 @@ G4Paraboloid::G4Paraboloid(const G4String& pName, k1 = (r2 * r2 - r1 * r1) / 2 / dz; k2 = (r2 * r2 + r1 * r1) / 2; - - fSurfaceArea = 0.; } /////////////////////////////////////////////////////////////////////////////// @@ -96,9 +92,9 @@ G4Paraboloid::G4Paraboloid(const G4String& pName, // for usage restricted to object persistency. // G4Paraboloid::G4Paraboloid( __void__& a ) - : G4VSolid(a), fpPolyhedron(0), fCubicVolume(0.) + : G4VSolid(a), fpPolyhedron(0), fSurfaceArea(0.), fCubicVolume(0.), + dz(0.), r1(0.), r2(0.), k1(0.), k2(0.) { - fSurfaceArea = 0.; } /////////////////////////////////////////////////////////////////////////////// @@ -109,6 +105,41 @@ G4Paraboloid::~G4Paraboloid() { } +/////////////////////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4Paraboloid::G4Paraboloid(const G4Paraboloid& rhs) + : G4VSolid(rhs), fpPolyhedron(0), + fSurfaceArea(rhs.fSurfaceArea), fCubicVolume(rhs.fCubicVolume), + dz(rhs.dz), r1(rhs.r1), r2(rhs.r2), k1(rhs.k1), k2(rhs.k2) +{ +} + + +/////////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4Paraboloid& G4Paraboloid::operator = (const G4Paraboloid& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + fpPolyhedron = 0; + fSurfaceArea = rhs.fSurfaceArea; fCubicVolume = rhs.fCubicVolume; + dz = rhs.dz; r1 = rhs.r1; r2 = rhs.r2; k1 = rhs.k1; k2 = rhs.k2; + + return *this; +} + ///////////////////////////////////////////////////////////////////////// // // Dispatch to parameterisation for replication mechanism dimension @@ -898,13 +929,14 @@ G4double G4Paraboloid::DistanceToOut(const G4ThreeVector& p) const #ifdef G4SPECSDEBUG if( Inside(p) == kOutside ) { - G4cout.precision(16) ; + G4int oldprc = G4cout.precision(16) ; G4cout << G4endl ; DumpInfo(); 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 ; + G4cout.precision(oldprc) ; G4Exception("G4Paraboloid::DistanceToOut(p)", "Notification", JustWarning, "Point p is outside !?" ); } @@ -933,6 +965,15 @@ G4GeometryType G4Paraboloid::GetEntityType() const return G4String("G4Paraboloid"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object + +G4VSolid* G4Paraboloid::Clone() const +{ + return new G4Paraboloid(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream @@ -1001,16 +1042,17 @@ G4Paraboloid::CreateRotatedVertices(const G4AffineTransform& pTransform, // Phi cross sections // - noPhiCrossSections = G4int(twopi/kMeshAngleDefault)+1; - - if (noPhiCrossSectionskMaxMeshSections) + else if (noPhiCrossSections>kMaxMeshSections) // >37 { noPhiCrossSections=kMaxMeshSections; } +*/ meshAnglePhi=twopi/(noPhiCrossSections-1); sAnglePhi = -meshAnglePhi*0.5*0; diff --git a/source/geometry/solids/specific/src/G4PolyPhiFace.cc b/source/geometry/solids/specific/src/G4PolyPhiFace.cc index 1e8037dd0c..6fedfdb3dd 100644 --- a/source/geometry/solids/specific/src/G4PolyPhiFace.cc +++ b/source/geometry/solids/specific/src/G4PolyPhiFace.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolyPhiFace.cc,v 1.15 2008/05/15 11:41:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PolyPhiFace.cc,v 1.16 2010/07/12 15:25:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -63,9 +63,9 @@ G4PolyPhiFace::G4PolyPhiFace( const G4ReduciblePolygon *rz, G4double phi, G4double deltaPhi, G4double phiOther ) + : fSurfaceArea(0.), triangles(0) { kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); - fSurfaceArea = 0.; numEdges = rz->NumVertices(); @@ -290,7 +290,8 @@ void G4PolyPhiFace::Diagnose( G4VSolid *owner ) // for usage restricted to object persistency. // G4PolyPhiFace::G4PolyPhiFace( __void__&) - : edges(0), corners(0) + : numEdges(0), edges(0), corners(0), rMin(0.), rMax(0.), zMin(0.), zMax(0.), + allBehind(false), kCarTolerance(0.), fSurfaceArea(0.), triangles(0) { } @@ -320,7 +321,7 @@ G4PolyPhiFace::G4PolyPhiFace( const G4PolyPhiFace &source ) // G4PolyPhiFace& G4PolyPhiFace::operator=( const G4PolyPhiFace &source ) { - if (this == &source) return *this; + if (this == &source) { return *this; } delete [] edges; delete [] corners; @@ -348,6 +349,7 @@ void G4PolyPhiFace::CopyStuff( const G4PolyPhiFace &source ) zMin = source.zMin; zMax = source.zMax; allBehind = source.allBehind; + triangles = 0; kCarTolerance = source.kCarTolerance; fSurfaceArea = source.fSurfaceArea; @@ -1300,4 +1302,5 @@ void G4PolyPhiFace::Triangulate() } while( icreatePolyhedron(nNodes, nFaces, xyz, faces_vec); - delete faces_vec; - delete xyz; + delete [] faces_vec; + delete [] xyz; if (problem) { std::ostringstream oss; @@ -1183,7 +1191,8 @@ G4NURBS *G4Polycone::CreateNURBS() const // G4PolyconeHistorical::G4PolyconeHistorical() - : Z_values(0), Rmin(0), Rmax(0) + : Start_angle(0.), Opening_angle(0.), Num_z_planes(0), + Z_values(0), Rmin(0), Rmax(0) { } diff --git a/source/geometry/solids/specific/src/G4PolyconeSide.cc b/source/geometry/solids/specific/src/G4PolyconeSide.cc index b8fac9725f..9585d05254 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.22 2009/11/11 12:23:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PolyconeSide.cc,v 1.25 2010/07/12 15:25:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -66,6 +66,8 @@ G4PolyconeSide::G4PolyconeSide( const G4PolyconeSideRZ *prevRZ, { kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); fSurfaceArea = 0.0; + fPhi.first = G4ThreeVector(0,0,0); + fPhi.second= 0.0; // // Record values @@ -156,8 +158,15 @@ G4PolyconeSide::G4PolyconeSide( const G4PolyconeSideRZ *prevRZ, // for usage restricted to object persistency. // G4PolyconeSide::G4PolyconeSide( __void__& ) - : phiIsOpen(false), cone(0), ncorners(0), corners(0) + : startPhi(0.), deltaPhi(0.), phiIsOpen(false), allBehind(false), + cone(0), rNorm(0.), zNorm(0.), rS(0.), zS(0.), length(0.), + prevRS(0.), prevZS(0.), nextRS(0.), nextZS(0.), ncorners(0), corners(0), + kCarTolerance(0.), fSurfaceArea(0.) { + r[0] = r[1] = 0.; + z[0] = z[1] = 0.; + rNormEdge[0]= rNormEdge[1] = 0.; + zNormEdge[0]= zNormEdge[1] = 0.; } @@ -167,7 +176,7 @@ G4PolyconeSide::G4PolyconeSide( __void__& ) G4PolyconeSide::~G4PolyconeSide() { delete cone; - if (phiIsOpen) delete [] corners; + if (phiIsOpen) { delete [] corners; } } @@ -175,7 +184,7 @@ G4PolyconeSide::~G4PolyconeSide() // Copy constructor // G4PolyconeSide::G4PolyconeSide( const G4PolyconeSide &source ) - : G4VCSGface() + : G4VCSGface(), ncorners(0), corners(0) { CopyStuff( source ); } @@ -186,10 +195,10 @@ G4PolyconeSide::G4PolyconeSide( const G4PolyconeSide &source ) // G4PolyconeSide& G4PolyconeSide::operator=( const G4PolyconeSide &source ) { - if (this == &source) return *this; + if (this == &source) { return *this; } delete cone; - if (phiIsOpen) delete [] corners; + if (phiIsOpen) { delete [] corners; } CopyStuff( source ); @@ -491,7 +500,7 @@ G4double G4PolyconeSide::Extent( const G4ThreeVector axis ) // if (phiIsOpen) { - G4double phi = axis.phi(); + G4double phi = GetPhi(axis); while( phi < startPhi ) phi += twopi; if (phi > deltaPhi+startPhi) @@ -852,6 +861,29 @@ void G4PolyconeSide::CalculateExtent( const EAxis axis, return; } +// +// GetPhi +// +// Calculate Phi for a given 3-vector (point), if not already cached for the +// same point, in the attempt to avoid consecutive computation of the same +// quantity +// +G4double G4PolyconeSide::GetPhi( const G4ThreeVector& p ) +{ + G4double val=0.; + + if (fPhi.first != p) + { + val = p.phi(); + fPhi.first = p; + fPhi.second = val; + } + else + { + val = fPhi.second; + } + return val; +} // // DistanceAway @@ -921,7 +953,7 @@ G4double G4PolyconeSide::DistanceAway( const G4ThreeVector &p, // // Finally, check phi // - G4double phi = p.phi(); + G4double phi = GetPhi(p); while( phi < startPhi ) phi += twopi; if (phi > startPhi+deltaPhi) @@ -977,7 +1009,7 @@ G4bool G4PolyconeSide::PointOnCone( const G4ThreeVector &hit, // to use the standard method consistent with // PolyPhiFace. See PolyPhiFace::InsideEdgesExact // - G4double phi = hit.phi(); + G4double phi = GetPhi(hit); while( phi < startPhi-phiTolerant ) phi += twopi; if (phi > startPhi+deltaPhi+phiTolerant) return false; diff --git a/source/geometry/solids/specific/src/G4Polyhedra.cc b/source/geometry/solids/specific/src/G4Polyhedra.cc index cb58dac26b..9a0b6c6315 100644 --- a/source/geometry/solids/specific/src/G4Polyhedra.cc +++ b/source/geometry/solids/specific/src/G4Polyhedra.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Polyhedra.cc,v 1.42 2008/05/15 13:45:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Polyhedra.cc,v 1.45 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -365,7 +365,8 @@ void G4Polyhedra::Create( G4double phiStart, // for usage restricted to object persistency. // G4Polyhedra::G4Polyhedra( __void__& a ) - : G4VCSGfaceted(a), genericPgon(false), corners(0), + : G4VCSGfaceted(a), numSide(0), startPhi(0.), endPhi(0.), + phiIsOpen(false), genericPgon(false), numCorner(0), corners(0), original_parameters(0), enclosingCylinder(0) { } @@ -568,6 +569,15 @@ G4GeometryType G4Polyhedra::GetEntityType() const } +// +// Make a clone of the object +// +G4VSolid* G4Polyhedra::Clone() const +{ + return new G4Polyhedra(*this); +} + + // // Stream object contents to an output stream // @@ -1125,8 +1135,8 @@ G4Polyhedron* G4Polyhedra::CreatePolyhedron() const } G4Polyhedron* polyhedron = new G4Polyhedron; G4int problem = polyhedron->createPolyhedron(nNodes, nFaces, xyz, faces_vec); - delete faces_vec; - delete xyz; + delete [] faces_vec; + delete [] xyz; if (problem) { std::ostringstream oss; @@ -1156,7 +1166,8 @@ G4NURBS *G4Polyhedra::CreateNURBS() const // G4PolyhedraHistorical stuff // G4PolyhedraHistorical::G4PolyhedraHistorical() - : Z_values(0), Rmin(0), Rmax(0) + : Start_angle(0.), Opening_angle(0.), numSide(0), Num_z_planes(0), + Z_values(0), Rmin(0), Rmax(0) { } diff --git a/source/geometry/solids/specific/src/G4PolyhedraSide.cc b/source/geometry/solids/specific/src/G4PolyhedraSide.cc index 221603f011..3070e8aeeb 100644 --- a/source/geometry/solids/specific/src/G4PolyhedraSide.cc +++ b/source/geometry/solids/specific/src/G4PolyhedraSide.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolyhedraSide.cc,v 1.15 2008/05/15 11:41:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PolyhedraSide.cc,v 1.18 2010/07/12 15:25:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -63,9 +63,11 @@ G4PolyhedraSide::G4PolyhedraSide( const G4PolyhedraSideRZ *prevRZ, G4bool thePhiIsOpen, G4bool isAllBehind ) { - kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); fSurfaceArea=0.; + fPhi.first = G4ThreeVector(0,0,0); + fPhi.second= 0.0; + // // Record values // @@ -292,8 +294,13 @@ G4PolyhedraSide::G4PolyhedraSide( const G4PolyhedraSideRZ *prevRZ, // for usage restricted to object persistency. // G4PolyhedraSide::G4PolyhedraSide( __void__&) - : cone(0), vecs(0), edges(0) + : numSide(0), startPhi(0.), deltaPhi(0.), endPhi(0.), + phiIsOpen(false), allBehind(false), cone(0), vecs(0), edges(0), + lenRZ(0.), edgeNorm(0.), kCarTolerance(0.), fSurfaceArea(0.) { + r[0] = r[1] = 0.; + z[0] = z[1] = 0.; + lenPhi[0] = lenPhi[1] = 0.; } @@ -560,7 +567,7 @@ G4double G4PolyhedraSide::Distance( const G4ThreeVector &p, G4bool outgoing ) // // Try the closest phi segment first // - G4int iPhi = ClosestPhiSegment( p.phi() ); + G4int iPhi = ClosestPhiSegment( GetPhi(p) ); G4ThreeVector pdotc = p - vecs[iPhi].center; G4double normDist = pdotc.dot(vecs[iPhi].normal); @@ -593,7 +600,7 @@ EInside G4PolyhedraSide::Inside( const G4ThreeVector &p, // // Which phi segment is closest to this point? // - G4int iPhi = ClosestPhiSegment( p.phi() ); + G4int iPhi = ClosestPhiSegment( GetPhi(p) ); G4double norm; @@ -623,7 +630,7 @@ G4ThreeVector G4PolyhedraSide::Normal( const G4ThreeVector &p, // // Which phi segment is closest to this point? // - G4int iPhi = ClosestPhiSegment( p.phi() ); + G4int iPhi = ClosestPhiSegment( GetPhi(p) ); // // Get distance to this segment @@ -655,7 +662,7 @@ G4double G4PolyhedraSide::Extent( const G4ThreeVector axis ) // // Which phi segment, if any, does the axis belong to // - iPhi = PhiSegment( axis.phi() ); + iPhi = PhiSegment( GetPhi(axis) ); if (iPhi < 0) { @@ -771,7 +778,7 @@ void G4PolyhedraSide::CalculateExtent( const EAxis axis, // G4bool G4PolyhedraSide::IntersectSidePlane( const G4ThreeVector &p, const G4ThreeVector &v, - const G4PolyhedraSideVec vec, + const G4PolyhedraSideVec& vec, G4double normSign, G4double surfTolerance, G4double &distance, @@ -969,6 +976,31 @@ G4int G4PolyhedraSide::PhiSegment( G4double phi0 ) } +// +// GetPhi +// +// Calculate Phi for a given 3-vector (point), if not already cached for the +// same point, in the attempt to avoid consecutive computation of the same +// quantity +// +G4double G4PolyhedraSide::GetPhi( const G4ThreeVector& p ) +{ + G4double val=0.; + + if (fPhi.first != p) + { + val = p.phi(); + fPhi.first = p; + fPhi.second = val; + } + else + { + val = fPhi.second; + } + return val; +} + + // // DistanceToOneSide // diff --git a/source/geometry/solids/specific/src/G4QuadrangularFacet.cc b/source/geometry/solids/specific/src/G4QuadrangularFacet.cc index 3b68c5f867..0d26f82f96 100644 --- a/source/geometry/solids/specific/src/G4QuadrangularFacet.cc +++ b/source/geometry/solids/specific/src/G4QuadrangularFacet.cc @@ -25,8 +25,8 @@ // ******************************************************************** // // -// $Id: G4QuadrangularFacet.cc,v 1.7 2008/12/18 12:57:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4QuadrangularFacet.cc,v 1.9 2010/09/23 10:27:25 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // @@ -59,7 +59,7 @@ G4QuadrangularFacet::G4QuadrangularFacet (const G4ThreeVector Pt0, const G4ThreeVector vt1, const G4ThreeVector vt2, const G4ThreeVector vt3, G4FacetVertexType vertexType) - : G4VFacet() + : G4VFacet(), facet1(0), facet2(0) { P0 = Pt0; nVertices = 4; @@ -136,14 +136,44 @@ G4QuadrangularFacet::G4QuadrangularFacet (const G4ThreeVector Pt0, // G4QuadrangularFacet::~G4QuadrangularFacet () { - if (facet1 != 0) delete facet1; - if (facet2 != 0) delete facet2; + delete facet1; + delete facet2; P.clear(); E.clear(); I.clear(); } +/////////////////////////////////////////////////////////////////////////////// +// +G4QuadrangularFacet::G4QuadrangularFacet (const G4QuadrangularFacet &rhs) + : G4VFacet(rhs) +{ + facet1 = new G4TriangularFacet(*(rhs.facet1)); + facet2 = new G4TriangularFacet(*(rhs.facet2)); +} + +/////////////////////////////////////////////////////////////////////////////// +// +const G4QuadrangularFacet & +G4QuadrangularFacet::operator=(G4QuadrangularFacet &rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VFacet::operator=(rhs); + + // Copy data + // + delete facet1; facet1 = new G4TriangularFacet(*(rhs.facet1)); + delete facet2; facet2 = new G4TriangularFacet(*(rhs.facet2)); + + return *this; +} + /////////////////////////////////////////////////////////////////////////////// // G4VFacet *G4QuadrangularFacet::GetClone () diff --git a/source/geometry/solids/specific/src/G4ReduciblePolygon.cc b/source/geometry/solids/specific/src/G4ReduciblePolygon.cc index f1d6a7b7f9..9737dfbddb 100644 --- a/source/geometry/solids/specific/src/G4ReduciblePolygon.cc +++ b/source/geometry/solids/specific/src/G4ReduciblePolygon.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ReduciblePolygon.cc,v 1.11 2006/06/29 18:48:53 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ReduciblePolygon.cc,v 1.15 2010/11/02 11:28:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -139,7 +139,7 @@ void G4ReduciblePolygon::Create( const G4double a[], // for usage restricted to object persistency. // G4ReduciblePolygon::G4ReduciblePolygon( __void__& ) - : aMin(0.), aMax(0.), bMin(0.), bMax(0.), vertexHead(0) + : aMin(0.), aMax(0.), bMin(0.), bMax(0.), numVertices(0), vertexHead(0) { } @@ -220,8 +220,7 @@ void G4ReduciblePolygon::ScaleB( G4double scale ) G4bool G4ReduciblePolygon::RemoveDuplicateVertices( G4double tolerance ) { ABVertex *curr = vertexHead, - *prev = 0, - *next = curr->next; // A little dangerous + *prev = 0, *next = 0; while( curr ) { next = curr->next; @@ -284,8 +283,7 @@ G4bool G4ReduciblePolygon::RemoveRedundantVertices( G4double tolerance ) // // Loop over all vertices // - ABVertex *curr = vertexHead, - *next = curr->next; // A little dangerous + ABVertex *curr = vertexHead, *next = 0; while( curr ) { next = curr->next; @@ -340,7 +338,7 @@ G4bool G4ReduciblePolygon::RemoveRedundantVertices( G4double tolerance ) else vertexHead = test; // New head - delete next; + if ((curr != next) && (next != test)) delete next; numVertices--; @@ -426,39 +424,43 @@ void G4ReduciblePolygon::ReverseOrder() G4bool G4ReduciblePolygon::CrossesItself( G4double tolerance ) { G4double tolerance2 = tolerance*tolerance; - G4double one = 1.0-tolerance, - zero = tolerance; + G4double one = 1.0-tolerance, + zero = tolerance; // // Top loop over line segments. By the time we finish // with the second to last segment, we're done. // ABVertex *curr1 = vertexHead, *next1=0; - while (curr1->next) { - next1 = curr1->next; + while (curr1->next) + { + next1 = curr1->next; G4double da1 = next1->a-curr1->a, - db1 = next1->b-curr1->b; + db1 = next1->b-curr1->b; // // Inner loop over subsequent line segments // ABVertex *curr2 = next1->next; - while( curr2 ) { + while( curr2 ) + { ABVertex *next2 = curr2->next; if (next2==0) next2 = vertexHead; G4double da2 = next2->a-curr2->a, - db2 = next2->b-curr2->b; + db2 = next2->b-curr2->b; G4double a12 = curr2->a-curr1->a, - b12 = curr2->b-curr1->b; + b12 = curr2->b-curr1->b; // // Calculate intersection of the two lines // G4double deter = da1*db2 - db1*da2; - if (std::fabs(deter) > tolerance2) { + if (std::fabs(deter) > tolerance2) + { G4double s1, s2; s1 = (a12*db2-b12*da2)/deter; - if (s1 >= zero && s1 < one) { + if (s1 >= zero && s1 < one) + { s2 = -(da1*b12-db1*a12)/deter; if (s2 >= zero && s2 < one) return true; } diff --git a/source/geometry/solids/specific/src/G4SolidExtentList.cc b/source/geometry/solids/specific/src/G4SolidExtentList.cc index 91295ab509..a86999347c 100644 --- a/source/geometry/solids/specific/src/G4SolidExtentList.cc +++ b/source/geometry/solids/specific/src/G4SolidExtentList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SolidExtentList.cc,v 1.5 2007/05/11 13:54:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SolidExtentList.cc,v 1.7 2010/07/16 15:59:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -50,8 +50,8 @@ G4SolidExtentList::G4SolidExtentList() { axis = kZAxis; limited = false; - minLimit = -DBL_MAX; - maxLimit = +DBL_MAX; + minLimit = -INT_MAX/2; + maxLimit = INT_MAX/2; } @@ -71,8 +71,8 @@ G4SolidExtentList::G4SolidExtentList( const EAxis targetAxis, } else { - minLimit = -DBL_MAX; - maxLimit = +DBL_MAX; + minLimit = -INT_MAX/2; + maxLimit = INT_MAX/2; } } diff --git a/source/geometry/solids/specific/src/G4TessellatedSolid.cc b/source/geometry/solids/specific/src/G4TessellatedSolid.cc index 80e0c4e325..e1208c9a9a 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.19 2009/04/27 08:06:27 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4TessellatedSolid.cc,v 1.27 2010/11/02 11:29:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // @@ -42,6 +42,10 @@ // CHANGE HISTORY // -------------- // +// 12 April 2010 P R Truscott, QinetiQ, bug fixes to treat optical +// photon transport, in particular internal reflection +// at surface. +// // 14 November 2007 P R Truscott, QinetiQ & Stan Seibert, U Texas // Bug fixes to CalculateExtent // @@ -127,7 +131,7 @@ G4TessellatedSolid::G4TessellatedSolid( __void__& a ) geometryType("G4TessellatedSolid"), cubicVolume(0.), surfaceArea(0.), vertexList(), xMinExtent(0.), xMaxExtent(0.), yMinExtent(0.), yMaxExtent(0.), zMinExtent(0.), zMaxExtent(0.), - solidClosed(false) + solidClosed(false), dirTolerance(1.0E-14) { SetRandomVectorSet(); } @@ -146,16 +150,17 @@ G4TessellatedSolid::~G4TessellatedSolid () // Define copy constructor. // G4TessellatedSolid::G4TessellatedSolid (const G4TessellatedSolid &s) - : G4VSolid(s) + : G4VSolid(s), fpPolyhedron(0) { - if (&s == this) { return; } - dirTolerance = 1.0E-14; geometryType = "G4TessellatedSolid"; facets.clear(); solidClosed = false; - + + cubicVolume = s.cubicVolume; + surfaceArea = s.surfaceArea; + xMinExtent = kInfinity; xMaxExtent = -kInfinity; yMinExtent = kInfinity; @@ -177,6 +182,16 @@ G4TessellatedSolid::operator= (const G4TessellatedSolid &s) { if (&s == this) { return *this; } + // Copy base class data + // + G4VSolid::operator=(s); + + // Copy data + // + cubicVolume = s.cubicVolume; + surfaceArea = s.surfaceArea; + fpPolyhedron = 0; + DeleteObjects (); CopyObjects (s); @@ -206,8 +221,6 @@ void G4TessellatedSolid::CopyObjects (const G4TessellatedSolid &s) } if ( s.GetSolidClosed() ) { SetSolidClosed(true); } - -// cubicVolume = s.GetCubicVolume(); } /////////////////////////////////////////////////////////////////////////////// @@ -508,8 +521,8 @@ EInside G4TessellatedSolid::Inside (const G4ThreeVector &p) const crossingI = ((*f)->Intersect(p,v,false,distI,distFromSurfaceI,normalI)); if (crossingO || crossingI) { - nearParallel = (crossingO && std::abs(normalO.dot(v)) 0.0 && distO < distOut) distOut = distO; @@ -652,7 +665,7 @@ G4double G4TessellatedSolid::DistanceToIn (const G4ThreeVector &p, #if G4SPECSDEBUG if ( Inside(p) == kInside ) { - G4cout.precision(16) ; + G4int oldprc = G4cout.precision(16) ; G4cout << G4endl ; // DumpInfo(); G4cout << "Position:" << G4endl << G4endl ; @@ -660,6 +673,7 @@ G4double G4TessellatedSolid::DistanceToIn (const G4ThreeVector &p, G4cout << "p.y() = " << p.y()/mm << " mm" << G4endl ; G4cout << "p.z() = " << p.z()/mm << " mm" << G4endl << G4endl ; G4cout << "DistanceToOut(p) == " << DistanceToOut(p) << G4endl; + G4cout.precision(oldprc) ; G4Exception("G4TriangularFacet::DistanceToIn(p,v)", "Notification", JustWarning, "Point p is already inside!?" ); } @@ -669,10 +683,22 @@ G4double G4TessellatedSolid::DistanceToIn (const G4ThreeVector &p, { if ((*f)->Intersect(p,v,false,dist,distFromSurface,normal)) { +// +// +// Set minDist to the new distance to current facet if distFromSurface is in +// positive direction and point is not at surface. If the point is within +// 0.5*kCarTolerance of the surface, then force distance to be zero and +// leave member function immediately (for efficiency), as proposed by & credit +// to Akira Okumura. +// if (distFromSurface > 0.5*kCarTolerance && dist >= 0.0 && dist < minDist) { minDist = dist; } + else if (-0.5*kCarTolerance <= dist && dist <= 0.5*kCarTolerance) + { + return 0.0; + } } } @@ -694,7 +720,7 @@ G4double G4TessellatedSolid::DistanceToIn (const G4ThreeVector &p) const #if G4SPECSDEBUG if ( Inside(p) == kInside ) { - G4cout.precision(16) ; + G4int oldprc = G4cout.precision(16) ; G4cout << G4endl ; // DumpInfo(); G4cout << "Position:" << G4endl << G4endl ; @@ -702,6 +728,7 @@ G4double G4TessellatedSolid::DistanceToIn (const G4ThreeVector &p) const G4cout << "p.y() = " << p.y()/mm << " mm" << G4endl ; G4cout << "p.z() = " << p.z()/mm << " mm" << G4endl << G4endl ; G4cout << "DistanceToOut(p) == " << DistanceToOut(p) << G4endl; + G4cout.precision(oldprc) ; G4Exception("G4TriangularFacet::DistanceToIn(p)", "Notification", JustWarning, "Point p is already inside!?" ); } @@ -747,7 +774,7 @@ G4double G4TessellatedSolid::DistanceToOut (const G4ThreeVector &p, #if G4SPECSDEBUG if ( Inside(p) == kOutside ) { - G4cout.precision(16) ; + G4int oldprc = G4cout.precision(16) ; G4cout << G4endl ; // DumpInfo(); G4cout << "Position:" << G4endl << G4endl ; @@ -755,6 +782,7 @@ G4double G4TessellatedSolid::DistanceToOut (const G4ThreeVector &p, G4cout << "p.y() = " << p.y()/mm << " mm" << G4endl ; G4cout << "p.z() = " << p.z()/mm << " mm" << G4endl << G4endl ; G4cout << "DistanceToIn(p) == " << DistanceToIn(p) << G4endl; + G4cout.precision(oldprc) ; G4Exception("G4TriangularFacet::DistanceToOut(p)", "Notification", JustWarning, "Point p is already outside !?" ); } @@ -820,7 +848,7 @@ G4double G4TessellatedSolid::DistanceToOut (const G4ThreeVector &p) const #if G4SPECSDEBUG if ( Inside(p) == kOutside ) { - G4cout.precision(16) ; + G4int oldprc = G4cout.precision(16) ; G4cout << G4endl ; // DumpInfo(); G4cout << "Position:" << G4endl << G4endl ; @@ -828,6 +856,7 @@ G4double G4TessellatedSolid::DistanceToOut (const G4ThreeVector &p) const G4cout << "p.y() = " << p.y()/mm << " mm" << G4endl ; G4cout << "p.z() = " << p.z()/mm << " mm" << G4endl << G4endl ; G4cout << "DistanceToIn(p) == " << DistanceToIn(p) << G4endl; + G4cout.precision(oldprc) ; G4Exception("G4TriangularFacet::DistanceToOut(p)", "Notification", JustWarning, "Point p is already outside !?" ); } @@ -854,6 +883,15 @@ G4GeometryType G4TessellatedSolid::GetEntityType () const return geometryType; } +/////////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object +// +G4VSolid* G4TessellatedSolid::Clone() const +{ + return new G4TessellatedSolid(*this); +} + /////////////////////////////////////////////////////////////////////////////// // void G4TessellatedSolid::DescribeYourselfTo (G4VGraphicsScene& scene) const diff --git a/source/geometry/solids/specific/src/G4Tet.cc b/source/geometry/solids/specific/src/G4Tet.cc index 3e3d13f692..d554f34175 100644 --- a/source/geometry/solids/specific/src/G4Tet.cc +++ b/source/geometry/solids/specific/src/G4Tet.cc @@ -27,8 +27,8 @@ // * * // ******************************************************************** // -// $Id: G4Tet.cc,v 1.11 2006/11/13 08:58:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Tet.cc,v 1.16 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4Tet // @@ -51,12 +51,13 @@ // 20041103 - MHM removed many unused variables from class // 20040803 - Dionysios Anninos, added GetPointOnSurface() method // 20061112 - MHM added code for G4VSolid GetSurfaceArea() +// 20100920 - Gabriele Cosmo added copy-ctor and operator=() // // -------------------------------------------------------------------- #include "G4Tet.hh" -const char G4Tet::CVSVers[]="$Id: G4Tet.cc,v 1.11 2006/11/13 08:58:03 gcosmo Exp $"; +const char G4Tet::CVSVers[]="$Id: G4Tet.cc,v 1.16 2010/10/20 08:54:18 gcosmo Exp $"; #include "G4VoxelLimits.hh" #include "G4AffineTransform.hh" @@ -111,7 +112,7 @@ G4Tet::G4Tet(const G4String& pName, fV41=fV31; fV31=temp; } - fCubicVolume = std::abs(signed_vol) / 6.; + fCubicVolume = std::fabs(signed_vol) / 6.; G4ThreeVector fV24=p2-p4; G4ThreeVector fV43=p4-p3; @@ -132,7 +133,7 @@ G4Tet::G4Tet(const G4String& pName, (p3-fMiddle).mag()), (p4-fMiddle).mag()); - G4bool degenerate=std::abs(signed_vol) < 1e-9*fMaxSize*fMaxSize*fMaxSize; + G4bool degenerate=std::fabs(signed_vol) < 1e-9*fMaxSize*fMaxSize*fMaxSize; if(degeneracyFlag) *degeneracyFlag=degenerate; else if (degenerate) @@ -141,8 +142,8 @@ G4Tet::G4Tet(const G4String& pName, "Degenerate tetrahedron not allowed."); } - fTol=1e-9*(std::abs(fXMin)+std::abs(fXMax)+std::abs(fYMin) - +std::abs(fYMax)+std::abs(fZMin)+std::abs(fZMax)); + fTol=1e-9*(std::fabs(fXMin)+std::fabs(fXMax)+std::fabs(fYMin) + +std::fabs(fYMax)+std::fabs(fZMin)+std::fabs(fZMax)); //fTol=kCarTolerance; fAnchor=anchor; @@ -206,6 +207,58 @@ G4Tet::~G4Tet() delete fpPolyhedron; } +/////////////////////////////////////////////////////////////////////////////// +// +// Copy constructor + +G4Tet::G4Tet(const G4Tet& rhs) + : G4VSolid(rhs), + fCubicVolume(rhs.fCubicVolume), fSurfaceArea(rhs.fSurfaceArea), + fpPolyhedron(0), fAnchor(rhs.fAnchor), + fP2(rhs.fP2), fP3(rhs.fP3), fP4(rhs.fP4), fMiddle(rhs.fMiddle), + fNormal123(rhs.fNormal123), fNormal142(rhs.fNormal142), + fNormal134(rhs.fNormal134), fNormal234(rhs.fNormal234), + warningFlag(rhs.warningFlag), fCdotN123(rhs.fCdotN123), + fCdotN142(rhs.fCdotN142), fCdotN134(rhs.fCdotN134), + fCdotN234(rhs.fCdotN234), fXMin(rhs.fXMin), fXMax(rhs.fXMax), + fYMin(rhs.fYMin), fYMax(rhs.fYMax), fZMin(rhs.fZMin), fZMax(rhs.fZMax), + fDx(rhs.fDx), fDy(rhs.fDy), fDz(rhs.fDz), fTol(rhs.fTol), + fMaxSize(rhs.fMaxSize) +{ +} + + +/////////////////////////////////////////////////////////////////////////////// +// +// Assignment operator + +G4Tet& G4Tet::operator = (const G4Tet& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + fCubicVolume = rhs.fCubicVolume; fSurfaceArea = rhs.fSurfaceArea; + fpPolyhedron = 0; fAnchor = rhs.fAnchor; + fP2 = rhs.fP2; fP3 = rhs.fP3; fP4 = rhs.fP4; fMiddle = rhs.fMiddle; + fNormal123 = rhs.fNormal123; fNormal142 = rhs.fNormal142; + fNormal134 = rhs.fNormal134; fNormal234 = rhs.fNormal234; + warningFlag = rhs.warningFlag; fCdotN123 = rhs.fCdotN123; + fCdotN142 = rhs.fCdotN142; fCdotN134 = rhs.fCdotN134; + fCdotN234 = rhs.fCdotN234; fXMin = rhs.fXMin; fXMax = rhs.fXMax; + fYMin = rhs.fYMin; fYMax = rhs.fYMax; fZMin = rhs.fZMin; fZMax = rhs.fZMax; + fDx = rhs.fDx; fDy = rhs.fDy; fDz = rhs.fDz; fTol = rhs.fTol; + fMaxSize = rhs.fMaxSize; + + return *this; +} + ////////////////////////////////////////////////////////////////////////// // // CheckDegeneracy @@ -364,10 +417,10 @@ EInside G4Tet::Inside(const G4ThreeVector& p) const G4ThreeVector G4Tet::SurfaceNormal( const G4ThreeVector& p) const { - G4double r123=std::abs(p.dot(fNormal123)-fCdotN123); - G4double r134=std::abs(p.dot(fNormal134)-fCdotN134); - G4double r142=std::abs(p.dot(fNormal142)-fCdotN142); - G4double r234=std::abs(p.dot(fNormal234)-fCdotN234); + G4double r123=std::fabs(p.dot(fNormal123)-fCdotN123); + G4double r134=std::fabs(p.dot(fNormal134)-fCdotN134); + G4double r142=std::fabs(p.dot(fNormal142)-fCdotN142); + G4double r234=std::fabs(p.dot(fNormal234)-fCdotN234); if( (r123<=r134) && (r123<=r142) && (r123<=r234) ) { return fNormal123; } else if ( (r134<=r142) && (r134<=r234) ) { return fNormal134; } @@ -566,10 +619,10 @@ G4ThreeVectorList* G4Tet::CreateRotatedVertices(const G4AffineTransform& pTransform) const { G4ThreeVectorList* vertices = new G4ThreeVectorList(); - vertices->reserve(4); if (vertices) { + vertices->reserve(4); G4ThreeVector vertex0(fAnchor); G4ThreeVector vertex1(fP2); G4ThreeVector vertex2(fP3); @@ -584,8 +637,8 @@ G4Tet::CreateRotatedVertices(const G4AffineTransform& pTransform) const { DumpInfo(); G4Exception("G4Tet::CreateRotatedVertices()", - "FatalError", FatalException, - "Error in allocation of vertices. Out of memory !"); + "FatalError", FatalException, + "Error in allocation of vertices. Out of memory !"); } return vertices; } @@ -599,6 +652,15 @@ G4GeometryType G4Tet::GetEntityType() const return G4String("G4Tet"); } +////////////////////////////////////////////////////////////////////////// +// +// Make a clone of the object + +G4VSolid* G4Tet::Clone() const +{ + return new G4Tet(*this); +} + ////////////////////////////////////////////////////////////////////////// // // Stream object contents to an output stream diff --git a/source/geometry/solids/specific/src/G4TriangularFacet.cc b/source/geometry/solids/specific/src/G4TriangularFacet.cc index ebae81cf2e..6571ac816b 100644 --- a/source/geometry/solids/specific/src/G4TriangularFacet.cc +++ b/source/geometry/solids/specific/src/G4TriangularFacet.cc @@ -24,8 +24,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TriangularFacet.cc,v 1.12 2008/11/13 08:25:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TriangularFacet.cc,v 1.16 2010/09/23 10:27:25 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // @@ -55,6 +55,9 @@ // function to correctly treat rays nearly parallel to the // plane of the triangle. // +// 12 April 2010 P R Truscott, QinetiQ, bug fixes to treat optical +// photon transport, in particular internal reflection +// at surface. // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #include "G4TriangularFacet.hh" @@ -72,7 +75,7 @@ G4TriangularFacet::G4TriangularFacet (const G4ThreeVector Pt0, const G4ThreeVector vt1, const G4ThreeVector vt2, G4FacetVertexType vertexType) - : G4VFacet() + : G4VFacet(), sMin(0.), sMax(1.), tMin(0.), sqrDist(0.) { tGeomAlg = G4TessellatedGeometryAlgorithms::GetInstance(); P0 = Pt0; @@ -128,7 +131,7 @@ G4TriangularFacet::G4TriangularFacet (const G4ThreeVector Pt0, a = E[0].mag2(); b = E[0].dot(E[1]); c = E[1].mag2(); - det = std::abs(a*c - b*b); + det = std::fabs(a*c - b*b); sMin = -0.5*kCarTolerance/std::sqrt(a); sMax = 1.0 - sMin; @@ -160,6 +163,40 @@ G4TriangularFacet::~G4TriangularFacet () I.clear(); } +/////////////////////////////////////////////////////////////////////////////// +// +// Copy constructor +// +G4TriangularFacet::G4TriangularFacet (const G4TriangularFacet &rhs) + : G4VFacet(rhs), a(rhs.a), b(rhs.b), c(rhs.c), det(rhs.det), + sMin(rhs.sMin), sMax(rhs.sMax), tMin(rhs.tMin), sqrDist(rhs.sqrDist) +{ + tGeomAlg = G4TessellatedGeometryAlgorithms::GetInstance(); +} + +/////////////////////////////////////////////////////////////////////////////// +// +// Assignment operator +// +const G4TriangularFacet &G4TriangularFacet::operator=(G4TriangularFacet &rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VFacet::operator=(rhs); + + // Copy data + // + a = rhs.a; b = rhs.b; c = rhs.c; det = rhs.det; + sMin = rhs.sMin; sMax = rhs.sMax; tMin = rhs.tMin; sqrDist = rhs.sqrDist; + tGeomAlg = G4TessellatedGeometryAlgorithms::GetInstance(); + + return *this; +} + /////////////////////////////////////////////////////////////////////////////// // // GetClone @@ -349,11 +386,31 @@ G4ThreeVector G4TriangularFacet::Distance (const G4ThreeVector &p) } // // -// Do a heck for rounding errors in the distance-squared. +// Do a check for rounding errors in the distance-squared. It appears that +// the conventional methods for calculating sqrDist breaks down when very near +// to or at the surface (as required by transport). We'll therefore also use +// the magnitude-squared of the vector displacement. (Note that I've also +// tried to get around this problem by using the existing equations for +// +// sqrDist = function(a,b,c,d,s,t) +// +// and use a more accurate addition process which minimises errors and +// breakdown of cummutitivity [where (A+B)+C != A+(B+C)] but this still +// doesn't work. +// Calculation from u = D + s*E[0] + t*E[1] is less efficient, but appears +// more robust. // if (sqrDist < 0.0) { sqrDist = 0.0; } + G4ThreeVector u = D + s*E[0] + t*E[1]; + G4double u2 = u.mag2(); +// +// +// The following (part of the roundoff error check) is from Oliver Merle's +// updates. +// + if ( sqrDist > u2 ) sqrDist = u2; - return D + s*E[0] + t*E[1]; + return u; } /////////////////////////////////////////////////////////////////////////////// @@ -541,7 +598,8 @@ G4bool G4TriangularFacet::Intersect (const G4ThreeVector &p, // We're very close. Therefore return a small negative number to pretend // we intersect. // - distance = -0.5*kCarTolerance; +// distance = -0.5*kCarTolerance; + distance = 0.0; normal = surfaceNormal; return true; } @@ -610,7 +668,7 @@ G4bool G4TriangularFacet::Intersect (const G4ThreeVector &p, else { G4double dnormDist = normDist1-normDist0; - if (std::abs(dnormDist) < DBL_EPSILON) + if (std::fabs(dnormDist) < DBL_EPSILON) { distance = s0; normal = surfaceNormal; @@ -727,3 +785,5 @@ G4double G4TriangularFacet::GetArea() { return area; } +//////////////////////////////////////////////////////////////////////// +// diff --git a/source/geometry/solids/specific/src/G4TwistBoxSide.cc b/source/geometry/solids/specific/src/G4TwistBoxSide.cc index 2e064c708a..f17be87ff6 100644 --- a/source/geometry/solids/specific/src/G4TwistBoxSide.cc +++ b/source/geometry/solids/specific/src/G4TwistBoxSide.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistBoxSide.cc,v 1.6 2007/05/23 09:31:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TwistBoxSide.cc,v 1.8 2010/07/16 15:58:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -131,7 +131,11 @@ G4TwistBoxSide::G4TwistBoxSide(const G4String &name, //* Fake default constructor ------------------------------------------ G4TwistBoxSide::G4TwistBoxSide( __void__& a ) - : G4VTwistSurface(a) + : G4VTwistSurface(a), fTheta(0.), fPhi(0.), fDy1(0.), fDx1(0.), fDx2(0.), + fDy2(0.), fDx3(0.), fDx4(0.), fDz(0.), fAlph(0.), fTAlph(0.), fPhiTwist(0.), + fAngleSide(0.), fdeltaX(0.), fdeltaY(0.), fDx4plus2(0.), fDx4minus2(0.), + fDx3plus1(0.), fDx3minus1(0.), fDy2plus1(0.), fDy2minus1(0.), fa1md1(0.), + fa2md2(0.) { } @@ -240,7 +244,7 @@ G4int G4TwistBoxSide::DistanceToSurface(const G4ThreeVector &gp, G4cout << "Local direction v = " << v << G4endl ; #endif - G4double phi,u ; // parameters + G4double phi=0.,u=0.,q=0.; // parameters // temporary variables @@ -263,11 +267,19 @@ G4int G4TwistBoxSide::DistanceToSurface(const G4ThreeVector &gp, if ( v.z() == 0. ) { - if ( std::fabs(p.z()) <= L ) { // intersection possible in z + if ( (std::fabs(p.z()) <= L) && fPhiTwist ) { // intersection possible in z phi = p.z() * fPhiTwist / L ; // phi is determined by the z-position - u = (2*(-(fdeltaY*phi*v.x()) + fPhiTwist*p.y()*v.x() + fdeltaX*phi*v.y() - fPhiTwist*p.x()*v.y()) + (fDx4plus2*fPhiTwist + 2*fDx4minus2*phi)*(v.y()*std::cos(phi) - v.x()*std::sin(phi)))/(2.* fPhiTwist*((v.x() - fTAlph*v.y())*std::cos(phi) + (fTAlph*v.x() + v.y())*std::sin(phi))) ; + q = (2.* fPhiTwist*((v.x() - fTAlph*v.y())*std::cos(phi) + + (fTAlph*v.x() + v.y())*std::sin(phi))); + + if (q) { + u = (2*(-(fdeltaY*phi*v.x()) + fPhiTwist*p.y()*v.x() + + fdeltaX*phi*v.y() - fPhiTwist*p.x()*v.y()) + + (fDx4plus2*fPhiTwist + 2*fDx4minus2*phi) + * (v.y()*std::cos(phi) - v.x()*std::sin(phi))) / q; + } xbuftmp.phi = phi ; xbuftmp.u = u ; @@ -329,13 +341,17 @@ G4int G4TwistBoxSide::DistanceToSurface(const G4ThreeVector &gp, for (G4int i = 0 ; i DBL_MIN) { // single solution @@ -402,7 +405,7 @@ G4int G4TwistTubsHypeSide::DistanceToSurface(const G4ThreeVector &gp, fCurStatWithV.SetCurrentStatus(0, gxx[0], distance[0], areacode[0], isvalid[0], 1, validate, &gp, &gv); - return 1; + vout = 1; } else { // if a=b=0 and c != 0, p is origin and v is parallel to asymptotic line. @@ -412,7 +415,7 @@ G4int G4TwistTubsHypeSide::DistanceToSurface(const G4ThreeVector &gp, fCurStatWithV.SetCurrentStatus(0, gxx[0], distance[0], areacode[0], isvalid[0], 0, validate, &gp, &gv); - return 0; + vout = 0; } } else if (D > DBL_MIN) { // double solutions @@ -477,7 +480,7 @@ G4int G4TwistTubsHypeSide::DistanceToSurface(const G4ThreeVector &gp, isvalid[0], 2, validate, &gp, &gv); fCurStatWithV.SetCurrentStatus(1, gxx[1], distance[1], areacode[1], isvalid[1], 2, validate, &gp, &gv); - return 2; + vout = 2; } else { // if D<0, no solution @@ -485,11 +488,9 @@ G4int G4TwistTubsHypeSide::DistanceToSurface(const G4ThreeVector &gp, fCurStatWithV.SetCurrentStatus(0, gxx[0], distance[0], areacode[0], isvalid[0], 0, validate, &gp, &gv); - return 0; + vout = 0; } - G4Exception("G4TwistTubsHypeSide::DistanceToSurface(p,v)", - "InvalidCondition", FatalException, "Illegal operation !"); - return 1; + return vout; } diff --git a/source/geometry/solids/specific/src/G4TwistTubsSide.cc b/source/geometry/solids/specific/src/G4TwistTubsSide.cc index 0955763db3..d21c8e79cf 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.6 2009/11/11 12:23:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4TwistTubsSide.cc,v 1.7 2010/07/12 15:25:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -108,7 +108,7 @@ G4TwistTubsSide::G4TwistTubsSide(const G4String &name, //* Fake default constructor ------------------------------------------ G4TwistTubsSide::G4TwistTubsSide( __void__& a ) - : G4VTwistSurface(a) + : G4VTwistSurface(a), fKappa(0.) { } @@ -262,6 +262,7 @@ G4int G4TwistTubsSide::DistanceToSurface(const G4ThreeVector &gp, G4double b = fKappa * (v.x() * p.z() + v.z() * p.x()) - v.y(); G4double c = fKappa * p.x() * p.z() - p.y(); G4double D = b * b - 4 * a * c; // discriminant + G4int vout = 0; if (std::fabs(a) < DBL_MIN) { if (std::fabs(b) > DBL_MIN) { @@ -292,13 +293,13 @@ G4int G4TwistTubsSide::DistanceToSurface(const G4ThreeVector &gp, fCurStatWithV.SetCurrentStatus(0, gxx[0], distance[0], areacode[0], isvalid[0], 0, validate, &gp, &gv); - return 0; + return vout; } } fCurStatWithV.SetCurrentStatus(0, gxx[0], distance[0], areacode[0], isvalid[0], 1, validate, &gp, &gv); - return 1; + vout = 1; } else { // if a=b=0 , v.y=0 and (v.x=0 && p.x=0) or (v.z=0 && p.z=0) . @@ -310,8 +311,6 @@ G4int G4TwistTubsSide::DistanceToSurface(const G4ThreeVector &gp, fCurStatWithV.SetCurrentStatus(0, gxx[0], distance[0], areacode[0], isvalid[0], 0, validate, &gp, &gv); - - return 0; } } else if (D > DBL_MIN) { @@ -439,19 +438,16 @@ G4int G4TwistTubsSide::DistanceToSurface(const G4ThreeVector &gp, } } - return 2; + vout = 2; } else { // if D<0, no solution // if D=0, just grazing the surfaces, return kInfinity fCurStatWithV.SetCurrentStatus(0, gxx[0], distance[0], areacode[0], isvalid[0], 0, validate, &gp, &gv); - - return 0; } - G4Exception("G4TwistTubsSide::DistanceToSurface(p,v)", - "InvalidCondition", FatalException, "Illegal operation !"); - return 1; + + return vout; } //===================================================================== diff --git a/source/geometry/solids/specific/src/G4TwistedBox.cc b/source/geometry/solids/specific/src/G4TwistedBox.cc index 12fab90229..3990913e85 100644 --- a/source/geometry/solids/specific/src/G4TwistedBox.cc +++ b/source/geometry/solids/specific/src/G4TwistedBox.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistedBox.cc,v 1.12 2006/06/29 18:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TwistedBox.cc,v 1.14 2010/10/20 08:54:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -65,6 +65,31 @@ G4TwistedBox::~G4TwistedBox() { } + +// Copy constructor +// +G4TwistedBox::G4TwistedBox(const G4TwistedBox& rhs) + : G4VTwistedFaceted(rhs) +{ +} + + +// Assignment operator +// +G4TwistedBox& G4TwistedBox::operator = (const G4TwistedBox& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VTwistedFaceted::operator=(rhs); + + return *this; +} + + std::ostream& G4TwistedBox::StreamInfo(std::ostream& os) const { // @@ -92,3 +117,11 @@ G4GeometryType G4TwistedBox::GetEntityType() const { return G4String("G4TwistedBox"); } + +//===================================================================== +//* Clone ------------------------------------------------------------- + +G4VSolid* G4TwistedBox::Clone() const +{ + return new G4TwistedBox(*this); +} diff --git a/source/geometry/solids/specific/src/G4TwistedTrap.cc b/source/geometry/solids/specific/src/G4TwistedTrap.cc index e587a971ef..2cd98bfe7b 100644 --- a/source/geometry/solids/specific/src/G4TwistedTrap.cc +++ b/source/geometry/solids/specific/src/G4TwistedTrap.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistedTrap.cc,v 1.14 2006/06/29 18:49:23 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TwistedTrap.cc,v 1.16 2010/10/20 08:54:19 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -85,6 +85,28 @@ G4TwistedTrap::~G4TwistedTrap() { } +// Copy constructor +// +G4TwistedTrap::G4TwistedTrap(const G4TwistedTrap& rhs) + : G4VTwistedFaceted(rhs) +{ +} + +// Assignment operator +// +G4TwistedTrap& G4TwistedTrap::operator = (const G4TwistedTrap& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VTwistedFaceted::operator=(rhs); + + return *this; +} + std::ostream& G4TwistedTrap::StreamInfo(std::ostream& os) const { // @@ -123,3 +145,11 @@ G4GeometryType G4TwistedTrap::GetEntityType() const { return G4String("G4TwistedTrap"); } + +//===================================================================== +//* Clone ------------------------------------------------------------- + +G4VSolid* G4TwistedTrap::Clone() const +{ + return new G4TwistedTrap(*this); +} diff --git a/source/geometry/solids/specific/src/G4TwistedTrd.cc b/source/geometry/solids/specific/src/G4TwistedTrd.cc index 6cb6de21e6..a407effca7 100644 --- a/source/geometry/solids/specific/src/G4TwistedTrd.cc +++ b/source/geometry/solids/specific/src/G4TwistedTrd.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistedTrd.cc,v 1.7 2006/06/29 18:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TwistedTrd.cc,v 1.9 2010/10/20 08:54:19 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -67,6 +67,28 @@ G4TwistedTrd::~G4TwistedTrd() { } +// Copy constructor +// +G4TwistedTrd::G4TwistedTrd(const G4TwistedTrd& rhs) + : G4VTwistedFaceted(rhs) +{ +} + +// Assignment operator +// +G4TwistedTrd& G4TwistedTrd::operator = (const G4TwistedTrd& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VTwistedFaceted::operator=(rhs); + + return *this; +} + std::ostream& G4TwistedTrd::StreamInfo(std::ostream& os) const { // @@ -96,3 +118,11 @@ G4GeometryType G4TwistedTrd::GetEntityType() const { return G4String("G4TwistedTrd"); } + +//===================================================================== +//* Clone ------------------------------------------------------------- + +G4VSolid* G4TwistedTrd::Clone() const +{ + return new G4TwistedTrd(*this); +} diff --git a/source/geometry/solids/specific/src/G4TwistedTubs.cc b/source/geometry/solids/specific/src/G4TwistedTubs.cc index b0cd77e57a..1196083614 100644 --- a/source/geometry/solids/specific/src/G4TwistedTubs.cc +++ b/source/geometry/solids/specific/src/G4TwistedTubs.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistedTubs.cc,v 1.24 2007/05/18 07:39:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TwistedTubs.cc,v 1.30 2010/11/10 10:00:16 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -192,10 +192,18 @@ G4TwistedTubs::G4TwistedTubs(const G4String &pname, //* Fake default constructor ------------------------------------------ G4TwistedTubs::G4TwistedTubs( __void__& a ) - : G4VSolid(a), fLowerEndcap(0), fUpperEndcap(0), fLatterTwisted(0), - fFormerTwisted(0), fInnerHype(0), fOuterHype(0), fCubicVolume(0.), - fSurfaceArea(0.), fpPolyhedron(0) + : G4VSolid(a), fPhiTwist(0.), fInnerRadius(0.), fOuterRadius(0.), fDPhi(0.), + fZHalfLength(0.), fInnerStereo(0.), fOuterStereo(0.), fTanInnerStereo(0.), + fTanOuterStereo(0.), fKappa(0.), fInnerRadius2(0.), fOuterRadius2(0.), + fTanInnerStereo2(0.), fTanOuterStereo2(0.), fLowerEndcap(0), fUpperEndcap(0), + fLatterTwisted(0), fFormerTwisted(0), fInnerHype(0), fOuterHype(0), + fCubicVolume(0.), fSurfaceArea(0.), fpPolyhedron(0) { + fEndZ[0] = 0.; fEndZ[1] = 0.; + fEndInnerRadius[0] = 0.; fEndInnerRadius[1] = 0.; + fEndOuterRadius[0] = 0.; fEndOuterRadius[1] = 0.; + fEndPhi[0] = 0.; fEndPhi[1] = 0.; + fEndZ2[0] = 0.; fEndZ2[1] = 0.; } //===================================================================== @@ -212,6 +220,86 @@ G4TwistedTubs::~G4TwistedTubs() if (fpPolyhedron) { delete fpPolyhedron; } } +//===================================================================== +//* Copy constructor -------------------------------------------------- + +G4TwistedTubs::G4TwistedTubs(const G4TwistedTubs& rhs) + : G4VSolid(rhs), fPhiTwist(rhs.fPhiTwist), + fInnerRadius(rhs.fInnerRadius), fOuterRadius(rhs.fOuterRadius), + fDPhi(rhs.fDPhi), fZHalfLength(rhs.fZHalfLength), + fInnerStereo(rhs.fInnerStereo), fOuterStereo(rhs.fOuterStereo), + fTanInnerStereo(rhs.fTanInnerStereo), fTanOuterStereo(rhs.fTanOuterStereo), + fKappa(rhs.fKappa), fInnerRadius2(rhs.fInnerRadius2), + fOuterRadius2(rhs.fOuterRadius2), fTanInnerStereo2(rhs.fTanInnerStereo2), + fTanOuterStereo2(rhs.fTanOuterStereo2), + fLowerEndcap(0), fUpperEndcap(0), fLatterTwisted(0), fFormerTwisted(0), + fInnerHype(0), fOuterHype(0), + fCubicVolume(rhs.fCubicVolume), fSurfaceArea(rhs.fSurfaceArea), + fpPolyhedron(0), fLastInside(rhs.fLastInside), fLastNormal(rhs.fLastNormal), + fLastDistanceToIn(rhs.fLastDistanceToIn), + fLastDistanceToOut(rhs.fLastDistanceToOut), + fLastDistanceToInWithV(rhs.fLastDistanceToInWithV), + fLastDistanceToOutWithV(rhs.fLastDistanceToOutWithV) +{ + for (size_t i=0; i<2; ++i) + { + fEndZ[i] = rhs.fEndZ[i]; + fEndInnerRadius[i] = rhs.fEndInnerRadius[i]; + fEndOuterRadius[i] = rhs.fEndOuterRadius[i]; + fEndPhi[i] = rhs.fEndPhi[i]; + fEndZ2[i] = rhs.fEndZ2[i]; + } + CreateSurfaces(); +} + + +//===================================================================== +//* Assignment operator ----------------------------------------------- + +G4TwistedTubs& G4TwistedTubs::operator = (const G4TwistedTubs& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + fPhiTwist= rhs.fPhiTwist; + fInnerRadius= rhs.fInnerRadius; fOuterRadius= rhs.fOuterRadius; + fDPhi= rhs.fDPhi; fZHalfLength= rhs.fZHalfLength; + fInnerStereo= rhs.fInnerStereo; fOuterStereo= rhs.fOuterStereo; + fTanInnerStereo= rhs.fTanInnerStereo; fTanOuterStereo= rhs.fTanOuterStereo; + fKappa= rhs.fKappa; fInnerRadius2= rhs.fInnerRadius2; + fOuterRadius2= rhs.fOuterRadius2; fTanInnerStereo2= rhs.fTanInnerStereo2; + fTanOuterStereo2= rhs.fTanOuterStereo2; + fLowerEndcap= fUpperEndcap= fLatterTwisted= fFormerTwisted= 0; + fInnerHype= fOuterHype= 0; + fCubicVolume= rhs.fCubicVolume; fSurfaceArea= rhs.fSurfaceArea; + fpPolyhedron= 0; + fLastInside= rhs.fLastInside; fLastNormal= rhs.fLastNormal; + fLastDistanceToIn= rhs.fLastDistanceToIn; + fLastDistanceToOut= rhs.fLastDistanceToOut; + fLastDistanceToInWithV= rhs.fLastDistanceToInWithV; + fLastDistanceToOutWithV= rhs.fLastDistanceToOutWithV; + + for (size_t i=0; i<2; ++i) + { + fEndZ[i] = rhs.fEndZ[i]; + fEndInnerRadius[i] = rhs.fEndInnerRadius[i]; + fEndOuterRadius[i] = rhs.fEndOuterRadius[i]; + fEndPhi[i] = rhs.fEndPhi[i]; + fEndZ2[i] = rhs.fEndZ2[i]; + } + + CreateSurfaces(); + + return *this; +} + //===================================================================== //* ComputeDimensions ------------------------------------------------- @@ -298,6 +386,7 @@ G4bool G4TwistedTubs::CalculateExtent( const EAxis axis, G4ClippablePolygon endPoly1, endPoly2; G4double phimax = maxphi + 0.5*fDPhi; + if ( phimax > pi/2) { phimax = pi-phimax; } G4double phimin = - phimax; G4ThreeVector v0, v1, v2, v3, v4, v5, v6; // -ve phi verticies for polygon @@ -309,7 +398,7 @@ G4bool G4TwistedTubs::CalculateExtent( const EAxis axis, G4double cosPhi = std::cos(phimin); G4double sinPhi = std::sin(phimin); - + // Outer hyperbolic surface v0 = transform.TransformPoint( @@ -366,7 +455,7 @@ G4bool G4TwistedTubs::CalculateExtent( const EAxis axis, cosPhi = std::cos(phimax); sinPhi = std::sin(phimax); - + // Outer hyperbolic surface w0 = transform.TransformPoint( @@ -1128,6 +1217,14 @@ G4GeometryType G4TwistedTubs::GetEntityType() const return G4String("G4TwistedTubs"); } +//===================================================================== +//* Clone ------------------------------------------------------------- + +G4VSolid* G4TwistedTubs::Clone() const +{ + return new G4TwistedTubs(*this); +} + //===================================================================== //* GetCubicVolume ---------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4VCSGfaceted.cc b/source/geometry/solids/specific/src/G4VCSGfaceted.cc index a4434ebb78..a53466c440 100644 --- a/source/geometry/solids/specific/src/G4VCSGfaceted.cc +++ b/source/geometry/solids/specific/src/G4VCSGfaceted.cc @@ -29,8 +29,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VCSGfaceted.cc,v 1.26 2009/05/08 14:29:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VCSGfaceted.cc,v 1.29 2010/09/23 10:27:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -97,6 +97,10 @@ G4VCSGfaceted::~G4VCSGfaceted() G4VCSGfaceted::G4VCSGfaceted( const G4VCSGfaceted &source ) : G4VSolid( source ) { + fStatistics = source.fStatistics; + fCubVolEpsilon = source.fCubVolEpsilon; + fAreaAccuracy = source.fAreaAccuracy; + CopyStuff( source ); } @@ -108,6 +112,16 @@ const G4VCSGfaceted &G4VCSGfaceted::operator=( const G4VCSGfaceted &source ) { if (&source == this) { return *this; } + // Copy base class data + // + G4VSolid::operator=(source); + + // Copy data + // + fStatistics = source.fStatistics; + fCubVolEpsilon = source.fCubVolEpsilon; + fAreaAccuracy = source.fAreaAccuracy; + DeleteStuff(); CopyStuff( source ); @@ -134,7 +148,8 @@ void G4VCSGfaceted::CopyStuff( const G4VCSGfaceted &source ) *face = (*sourceFace)->Clone(); } while( ++sourceFace, ++face < faces+numFace ); fCubicVolume = source.fCubicVolume; - fpPolyhedron = source.fpPolyhedron; + fSurfaceArea = source.fSurfaceArea; + fpPolyhedron = 0; } @@ -245,8 +260,8 @@ G4double G4VCSGfaceted::DistanceToIn( const G4ThreeVector &p, { G4double distance = kInfinity; G4double distFromSurface = kInfinity; - G4VCSGface *bestFace=0; G4VCSGface **face = faces; + G4VCSGface *bestFace = *face; do { G4double faceDistance, @@ -301,9 +316,9 @@ G4double G4VCSGfaceted::DistanceToOut( const G4ThreeVector &p, G4double distance = kInfinity; G4double distFromSurface = kInfinity; G4ThreeVector normal; - G4VCSGface *bestFace=0; G4VCSGface **face = faces; + G4VCSGface *bestFace = *face; do { G4double faceDistance, diff --git a/source/geometry/solids/specific/src/G4VFacet.cc b/source/geometry/solids/specific/src/G4VFacet.cc index a0c72c049f..37101c6313 100644 --- a/source/geometry/solids/specific/src/G4VFacet.cc +++ b/source/geometry/solids/specific/src/G4VFacet.cc @@ -25,8 +25,8 @@ // ******************************************************************** // // -// $Id: G4VFacet.cc,v 1.8 2008/12/18 12:57:38 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VFacet.cc,v 1.11 2010/09/23 10:30:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // @@ -54,17 +54,15 @@ /////////////////////////////////////////////////////////////////////////////// // G4VFacet::G4VFacet () + : geometryType("G4VFacet"), isDefined(false), nVertices(0), + radius(0.), radiusSqr(0.), dirTolerance(1.0E-14), area(0.) { - dirTolerance = 1.0E-14; kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); P.clear(); E.clear(); circumcentre = G4ThreeVector(0.0,0.0,0.0); - radius = 0.0; - radiusSqr = 0.0; - area = 0.0; } /////////////////////////////////////////////////////////////////////////////// @@ -75,6 +73,38 @@ G4VFacet::~G4VFacet () E.clear(); } +/////////////////////////////////////////////////////////////////////////////// +// +G4VFacet::G4VFacet (const G4VFacet &rhs) + : geometryType(rhs.geometryType), isDefined(rhs.isDefined), + nVertices(rhs.nVertices), P0(rhs.P0), P(rhs.P), E(rhs.E), I(rhs.I), + surfaceNormal(rhs.surfaceNormal), circumcentre(rhs.circumcentre), + radius(rhs.radius), radiusSqr(rhs.radiusSqr), + dirTolerance(rhs.dirTolerance), kCarTolerance(rhs.kCarTolerance), + area(rhs.area) +{ +} + +/////////////////////////////////////////////////////////////////////////////// +// +const G4VFacet &G4VFacet::operator=(G4VFacet &rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy data + // + geometryType = rhs.geometryType; isDefined = rhs.isDefined; + nVertices = rhs.nVertices; P0 = rhs.P0; P = rhs.P; E = rhs.E; I = rhs.I; + surfaceNormal = rhs.surfaceNormal; circumcentre = rhs.circumcentre; + radius = rhs.radius; radiusSqr = rhs.radiusSqr; + dirTolerance = rhs.dirTolerance; kCarTolerance = rhs.kCarTolerance; + area = rhs.area; + + return *this; +} + /////////////////////////////////////////////////////////////////////////////// // G4bool G4VFacet::operator== (const G4VFacet &right) const diff --git a/source/geometry/solids/specific/src/G4VTwistSurface.cc b/source/geometry/solids/specific/src/G4VTwistSurface.cc index 030b747c21..88bf70eb47 100644 --- a/source/geometry/solids/specific/src/G4VTwistSurface.cc +++ b/source/geometry/solids/specific/src/G4VTwistSurface.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VTwistSurface.cc,v 1.9 2007/05/31 13:52:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VTwistSurface.cc,v 1.10 2010/07/12 15:25:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -74,7 +74,7 @@ const G4int G4VTwistSurface::sAreaMask = 0XF0000000; //* constructors ------------------------------------------------------ G4VTwistSurface::G4VTwistSurface(const G4String &name) - : fName(name) + : fIsValidNorm(false), fName(name) { fAxis[0] = kUndefined; @@ -85,8 +85,8 @@ G4VTwistSurface::G4VTwistSurface(const G4String &name) fAxisMax[1] = kInfinity; fHandedness = 1; - G4int i; - for (i=0; i<4; i++) { + for (G4int i=0; i<4; i++) + { fCorners[i].set(kInfinity, kInfinity, kInfinity); fNeighbours[i] = 0; } @@ -108,7 +108,7 @@ G4VTwistSurface::G4VTwistSurface(const G4String &name, G4double axis1min, G4double axis0max, G4double axis1max ) - : fName(name) + : fIsValidNorm(false), fName(name) { fAxis[0] = axis0; fAxis[1] = axis1; @@ -120,8 +120,8 @@ G4VTwistSurface::G4VTwistSurface(const G4String &name, fRot = rot; fTrans = tlate; - G4int i; - for (i=0; i<4; i++) { + for (G4int i=0; i<4; i++) + { fCorners[i].set(kInfinity, kInfinity, kInfinity); fNeighbours[i] = 0; } @@ -137,8 +137,13 @@ G4VTwistSurface::G4VTwistSurface(const G4String &name, //* Fake default constructor ------------------------------------------ G4VTwistSurface::G4VTwistSurface( __void__& ) - : fName("") + : fHandedness(0), fIsValidNorm(false), kCarTolerance(0.), + fName("") { + fAxis[0] = fAxis[1] = kXAxis; + fAxisMin[0] = fAxisMin[1] = 0.; + fAxisMax[0] = fAxisMax[1] = 0.; + fNeighbours[0] = fNeighbours[1] = fNeighbours[2] = fNeighbours[3] = 0; } //===================================================================== diff --git a/source/geometry/solids/specific/src/G4VTwistedFaceted.cc b/source/geometry/solids/specific/src/G4VTwistedFaceted.cc index 0523e24c8e..ec57868089 100644 --- a/source/geometry/solids/specific/src/G4VTwistedFaceted.cc +++ b/source/geometry/solids/specific/src/G4VTwistedFaceted.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VTwistedFaceted.cc,v 1.18 2007/05/25 09:42:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VTwistedFaceted.cc,v 1.22 2010/09/23 10:27:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -200,10 +200,11 @@ G4VTwistedFaceted( const G4String &pname, // Name of instance //* Fake default constructor ------------------------------------------ G4VTwistedFaceted::G4VTwistedFaceted( __void__& a ) - : G4VSolid(a), - fLowerEndcap(0), fUpperEndcap(0), fSide0(0), - fSide90(0), fSide180(0), fSide270(0), - fCubicVolume(0.), fSurfaceArea(0.), fpPolyhedron(0) + : G4VSolid(a), fTheta(0.), fPhi(0.), fDy1(0.), fDx1(0.), fDx2(0.), + fDy2(0.), fDx3(0.), fDx4(0.), fDz(0.), fDx(0.), fDy(0.), fAlph(0.), + fTAlph(0.), fdeltaX(0.), fdeltaY(0.), fPhiTwist(0.), + fLowerEndcap(0), fUpperEndcap(0), fSide0(0), fSide90(0), fSide180(0), + fSide270(0), fCubicVolume(0.), fSurfaceArea(0.), fpPolyhedron(0) { } @@ -222,6 +223,62 @@ G4VTwistedFaceted::~G4VTwistedFaceted() if (fpPolyhedron) delete fpPolyhedron; } +//===================================================================== +//* Copy constructor -------------------------------------------------- + +G4VTwistedFaceted::G4VTwistedFaceted(const G4VTwistedFaceted& rhs) + : G4VSolid(rhs), fTheta(rhs.fTheta), fPhi(rhs.fPhi), + fDy1(rhs.fDy1), fDx1(rhs.fDx1), fDx2(rhs.fDx2), fDy2(rhs.fDy2), + fDx3(rhs.fDx3), fDx4(rhs.fDx4), fDz(rhs.fDz), fDx(rhs.fDx), fDy(rhs.fDy), + fAlph(rhs.fAlph), fTAlph(rhs.fTAlph), fdeltaX(rhs.fdeltaX), + fdeltaY(rhs.fdeltaY), fPhiTwist(rhs.fPhiTwist), fLowerEndcap(0), + fUpperEndcap(0), fSide0(0), fSide90(0), fSide180(0), fSide270(0), + fCubicVolume(rhs.fCubicVolume), fSurfaceArea(rhs.fSurfaceArea), + fpPolyhedron(0), + fLastInside(rhs.fLastInside), fLastNormal(rhs.fLastNormal), + fLastDistanceToIn(rhs.fLastDistanceToIn), + fLastDistanceToOut(rhs.fLastDistanceToOut), + fLastDistanceToInWithV(rhs.fLastDistanceToInWithV), + fLastDistanceToOutWithV(rhs.fLastDistanceToOutWithV) +{ + CreateSurfaces(); +} + + +//===================================================================== +//* Assignment operator ----------------------------------------------- + +G4VTwistedFaceted& G4VTwistedFaceted::operator = (const G4VTwistedFaceted& rhs) +{ + // Check assignment to self + // + if (this == &rhs) { return *this; } + + // Copy base class data + // + G4VSolid::operator=(rhs); + + // Copy data + // + fTheta = rhs.fTheta; fPhi = rhs.fPhi; + fDy1= rhs.fDy1; fDx1= rhs.fDx1; fDx2= rhs.fDx2; fDy2= rhs.fDy2; + fDx3= rhs.fDx3; fDx4= rhs.fDx4; fDz= rhs.fDz; fDx= rhs.fDx; fDy= rhs.fDy; + fAlph= rhs.fAlph; fTAlph= rhs.fTAlph; fdeltaX= rhs.fdeltaX; + fdeltaY= rhs.fdeltaY; fPhiTwist= rhs.fPhiTwist; fLowerEndcap= 0; + fUpperEndcap= 0; fSide0= 0; fSide90= 0; fSide180= 0; fSide270= 0; + fCubicVolume= rhs.fCubicVolume; fSurfaceArea= rhs.fSurfaceArea; + fpPolyhedron= 0; + fLastInside= rhs.fLastInside; fLastNormal= rhs.fLastNormal; + fLastDistanceToIn= rhs.fLastDistanceToIn; + fLastDistanceToOut= rhs.fLastDistanceToOut; + fLastDistanceToInWithV= rhs.fLastDistanceToInWithV; + fLastDistanceToOutWithV= rhs.fLastDistanceToOutWithV; + + CreateSurfaces(); + + return *this; +} + //===================================================================== //* ComputeDimensions ------------------------------------------------- @@ -427,10 +484,10 @@ CreateRotatedVertices(const G4AffineTransform& pTransform) const { G4ThreeVectorList* vertices = new G4ThreeVectorList(); - vertices->reserve(8); if (vertices) { + vertices->reserve(8); G4double maxRad = std::sqrt( fDx*fDx + fDy*fDy); @@ -926,9 +983,9 @@ G4double G4VTwistedFaceted::DistanceToOut( const G4ThreeVector& p ) const // checking last value // - G4ThreeVector *tmpp; G4double *tmpdist; + if (fLastDistanceToOut.p == p) { return fLastDistanceToOut.value; @@ -945,73 +1002,79 @@ G4double G4VTwistedFaceted::DistanceToOut( const G4ThreeVector& p ) const // EInside currentside = Inside(p); + G4double retval = kInfinity; switch (currentside) { case (kOutside) : { #ifdef G4SPECSDEBUG - G4cout.precision(16) ; + G4int oldprc = G4cout.precision(16) ; G4cout << G4endl ; DumpInfo(); 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 ; + G4cout.precision(oldprc) ; G4Exception("G4VTwistedFaceted::DistanceToOut(p)", "Notification", JustWarning, "Point p is outside !?" ); #endif + break; } case (kSurface) : { *tmpdist = 0.; - return fLastDistanceToOut.value; + retval = fLastDistanceToOut.value; + break; } case (kInside) : { - // Initialize - // - G4double distance = kInfinity; + // Initialize + // + G4double distance = kInfinity; - // find intersections and choose nearest one - // - G4VTwistSurface *surfaces[6]; + // find intersections and choose nearest one + // + G4VTwistSurface *surfaces[6]; - surfaces[0] = fSide0; - surfaces[1] = fSide90 ; - surfaces[2] = fSide180 ; - surfaces[3] = fSide270 ; - surfaces[4] = fLowerEndcap; - surfaces[5] = fUpperEndcap; + surfaces[0] = fSide0; + surfaces[1] = fSide90 ; + surfaces[2] = fSide180 ; + surfaces[3] = fSide270 ; + surfaces[4] = fLowerEndcap; + surfaces[5] = fUpperEndcap; - G4int i; - G4int besti = -1; - G4ThreeVector xx; - G4ThreeVector bestxx; - for (i=0; i< 6; i++) - { - G4double tmpdistance = surfaces[i]->DistanceTo(p, xx); - if (tmpdistance < distance) - { - distance = tmpdistance; - bestxx = xx; - besti = i; - } - } - *tmpdist = distance; + G4int i; + G4int besti = -1; + G4ThreeVector xx; + G4ThreeVector bestxx; + for (i=0; i< 6; i++) + { + G4double tmpdistance = surfaces[i]->DistanceTo(p, xx); + if (tmpdistance < distance) + { + distance = tmpdistance; + bestxx = xx; + besti = i; + } + } + *tmpdist = distance; - return fLastDistanceToOut.value; + retval = fLastDistanceToOut.value; + break; } default : { - G4Exception("G4VTwistedFaceted::DistanceToOut(p)", "InvalidCondition", - FatalException, "Unknown point location!"); + G4Exception("G4VTwistedFaceted::DistanceToOut(p)", "InvalidCondition", + FatalException, "Unknown point location!"); + break; } } // switch end - return kInfinity; + return retval; } diff --git a/source/geometry/volumes/CMakeLists.txt b/source/geometry/volumes/CMakeLists.txt new file mode 100644 index 0000000000..5ed5db0fdd --- /dev/null +++ b/source/geometry/volumes/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4volumes +# Package: Geant4.src.G4geometry.G4volumes +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:43:25 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/geometry/volumes/GNUmakefile b/source/geometry/volumes/GNUmakefile index 8e29f0dcfa..6e0179e735 100644 --- a/source/geometry/volumes/GNUmakefile +++ b/source/geometry/volumes/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.7 2004/06/11 14:17:19 gcosmo Exp $ +# $Id: GNUmakefile,v 1.10 2010/12/15 17:05:05 gcosmo Exp $ # -------------------------------------------------------------------- # GNUmakefile for geometry/volumes library. Gabriele Cosmo, 16/11/96. # -------------------------------------------------------------------- @@ -11,6 +11,9 @@ endif include $(G4INSTALL)/config/architecture.gmk +ifdef G4LIB_BUILD_DLL + CPPFLAGS += -DG4LIB_BUILD_DLL +endif CPPFLAGS += -DG4GEOM_ALLOC_EXPORT CPPFLAGS += -I$(G4BASE)/graphics_reps/include \ -I$(G4BASE)/intercoms/include \ diff --git a/source/geometry/volumes/History b/source/geometry/volumes/History index 90ab90b6d8..c2114e0013 100644 --- a/source/geometry/volumes/History +++ b/source/geometry/volumes/History @@ -1,4 +1,4 @@ -$Id: History,v 1.163 2009/11/06 11:35:03 gcosmo Exp $ +$Id: History,v 1.173 2010/12/15 17:05:06 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,49 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +December 15th, 2010 G.Cosmo - geomvol-V09-03-09 +- Use normal allocator if building DLLs on Windows. + +September 6th, 2010 G.Cosmo - geomvol-V09-03-08 +- Fixed false-positive cases for initialization in copy-constructor of + G4GRSSolid amd G4GRSVolume. + +Jul 5th, 2010 G.Cosmo - geomvol-V09-03-07 +- G4GRSSolid, G4GRSVolume: safer initialisation in copy constructor. +- G4PVPlacement, G4PVReplica: added fake initialisation for all members in + specialized constructor for I/O persistency. Added fake return statements + after exceptions. +- G4NavigationHistory: restore original implementation for constructor. + +Apr 23rd, 2010 G.Cosmo - geomvol-V09-03-06 +- Corrected initialisation of dummy copy-ctor in G4EnhancedVecAllocator, + fixing compilation problem on WIN32-VC. + +Apr 22nd, 2010 G.Cosmo - geomvol-V09-03-05 +- Make use of specialized allocator for handling internal vector in + G4NavigatorHistory, globally controlling the memory pool. + Measured ~2% average run-time speed-up. + +Apr 15th, 2010 G.Cosmo - geomvol-V09-03-04 +- Combine use of G4Allocator for vectors in G4NavigationHistory with use + of assign(). + +Apr 13th, 2010 G.Cosmo - geomvol-V09-03-03 +- Added Reset() method to G4ReflectionFactory for clearing maps of + constituent and reflected volumes. + +Apr 9th, 2010 G.Cosmo - geomvol-V09-03-02 +- Use more elegant solution in G4NavigationHistory copy-ctor. Adopt assign(). + +Mar 31th, 2010 G.Cosmo - geomvol-V09-03-01 +- Restore original vector allocation, but adopt simple loop copy within + copy-constructor. Should provide slight performance improvement and keep + locality. + +Dec 11th, 2009 G.Cosmo - geomvol-V09-03-00 +- Use G4Allocator for vectors in G4NavigationHistory, to optimise memory + management and reduce fragmentation. + Nov 6th, 2009 G.Cosmo - geomvol-V09-02-04 - Moved inline constructors to source for G4TouchableHistory, to avoid problems of memory alignment in allocation. diff --git a/source/geometry/volumes/include/G4EnhancedVecAllocator.hh b/source/geometry/volumes/include/G4EnhancedVecAllocator.hh new file mode 100644 index 0000000000..8e5cabf4fe --- /dev/null +++ b/source/geometry/volumes/include/G4EnhancedVecAllocator.hh @@ -0,0 +1,269 @@ +// +// ******************************************************************** +// * 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: G4EnhancedVecAllocator.hh,v 1.3 2010/04/23 10:25:22 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// Class Description: +// +// A class for fast allocation of STL vectors through a static pool. +// It's meant to be used as alternative allocator for STL vectors. + +// ---------------- G4EnhancedVecAllocator ---------------- +// +// Original author: X.Dong (NorthEastern Univ.), November 2009 +// Reviewed implementation: G.Cosmo (CERN), December 2009 +// ------------------------------------------------------------ + +#ifndef G4EnhancedVecAllocator_h +#define G4EnhancedVecAllocator_h 1 + +#include "G4Types.hh" + +// #include + +typedef struct +{ + G4int isAllocated; + char *address; +} G4ChunkType; + +typedef struct +{ + size_t size; + G4int totalspace; + G4ChunkType *preAllocated; +} G4ChunkIndexType; + +class G4AllocStats +{ + // -------------------------------------------------------------------- + // Utility class, placeholder for global data on allocation. + // Initialisation to zero of the data below *must* be added ONCE only + // directly in the client code, where this allocator is to be applied + // -------------------------------------------------------------------- + + public: + + static G4ChunkIndexType * allocStat; + static G4int totSpace; + static G4int numCat; +}; + +template +class G4EnhancedVecAllocator : public std::allocator<_Tp> +{ + public: + + template + struct rebind { typedef G4EnhancedVecAllocator<_Tp1> other; }; + + G4EnhancedVecAllocator() {;} + + G4EnhancedVecAllocator(const G4EnhancedVecAllocator<_Tp>&) + : std::allocator<_Tp>() {;} + + template + G4EnhancedVecAllocator(const G4EnhancedVecAllocator<_Tp1>&) + : std::allocator<_Tp>() {;} + + ~G4EnhancedVecAllocator() {;} + + // override allocate / deallocate + // + void deallocate(_Tp* _Ptr, size_t _Count); + _Tp* allocate(size_t _Count); +}; + +// ------------------------------------------------------------ +// Inline implementations +// ------------------------------------------------------------ + +// ************************************************************ +// deallocate +// ************************************************************ +// +template +void G4EnhancedVecAllocator<_Tp>::deallocate(_Tp* _Ptr, size_t _Count) +{ + G4int found = -1; + for (register int j = 0 ; j < G4AllocStats::numCat ; j++) + { + if ( (G4AllocStats::allocStat != 0) + && (G4AllocStats::allocStat[j].size == (_Count * sizeof(_Tp)))) + { + found = j; + break; + } + } + // assert(found != -1); + + for (register int k = 0; k < G4AllocStats::allocStat[found].totalspace; k++) + { + if ( ((G4AllocStats::allocStat[found]).preAllocated[k]).address + == ((char *) _Ptr)) + { + // assert(((G4AllocStats::allocStat[found]).preAllocated[k]).isAllocated==1); + ((G4AllocStats::allocStat[found]).preAllocated[k]).isAllocated = 0; + return; + } + } +} + +// ************************************************************ +// allocate +// ************************************************************ +// +template +_Tp* G4EnhancedVecAllocator<_Tp>::allocate(size_t _Count) +{ + size_t totalsize = _Count * sizeof(_Tp); + + G4int found = -1; + for (register int j = 0 ; j < G4AllocStats::numCat ; j++) + { + if ( (G4AllocStats::allocStat != 0) + && (G4AllocStats::allocStat[j].size == totalsize) ) + { + found = j; + break; + } + } + + if (found == -1) // Find the new size + { + G4AllocStats::numCat++; + if (G4AllocStats::numCat > G4AllocStats::totSpace) + { + G4AllocStats::totSpace = G4AllocStats::totSpace + 128; + // heuristic parameter for different sizes + + G4AllocStats::allocStat = + (G4ChunkIndexType *) realloc(G4AllocStats::allocStat, + sizeof(G4ChunkIndexType) * G4AllocStats::totSpace); + // This value must be different than zero; otherwise means + // failure in allocating extra space ! + // assert(G4AllocStats::allocStat != 0); + } + + G4AllocStats::allocStat[G4AllocStats::numCat-1].size = totalsize; + G4AllocStats::allocStat[G4AllocStats::numCat-1].totalspace = 0; + G4AllocStats::allocStat[G4AllocStats::numCat-1].preAllocated = 0; + + found = G4AllocStats::numCat - 1; + + G4AllocStats::allocStat[found].totalspace = 512; + // heuristic for the number of STL vector instances + + G4AllocStats::allocStat[found].preAllocated = + (G4ChunkType *) realloc(G4AllocStats::allocStat[found].preAllocated, + sizeof(G4ChunkType) * G4AllocStats::allocStat[found].totalspace); + // This value must be different than zero; otherwise means + // failure in allocating extra space for pointers ! + // assert(G4AllocStats::allocStat[found].preAllocated != 0); + + char *newSpace1 = (char *) malloc(totalsize * 512); + // This pointer must be different than zero; otherwise means + // failure in allocating extra space for instances ! + // assert(newSpace1 != 0); + + for (register int k = 0; k < 512 ; k++) + { + ((G4AllocStats::allocStat[found]).preAllocated[k]).isAllocated = 0; + ((G4AllocStats::allocStat[found]).preAllocated[k]).address = + newSpace1+totalsize*k; + } + + ((G4AllocStats::allocStat[found]).preAllocated[0]).isAllocated = 1; + return (_Tp*)(((G4AllocStats::allocStat[found]).preAllocated[0]).address); + } + + // assert(G4AllocStats::allocStat[found].size == totalsize); + + for (register int k = 0; k < G4AllocStats::allocStat[found].totalspace; k++) + { + if (((G4AllocStats::allocStat[found]).preAllocated[k]).isAllocated == 0) + { + ((G4AllocStats::allocStat[found]).preAllocated[k]).isAllocated = 1; + return (_Tp*)(((G4AllocStats::allocStat[found]).preAllocated[k]).address); + } + } + + G4int originalchunknumber = G4AllocStats::allocStat[found].totalspace; + + G4AllocStats::allocStat[found].totalspace = // heuristic for the number + G4AllocStats::allocStat[found].totalspace+512; // of STL vector instances + + G4AllocStats::allocStat[found].preAllocated = + (G4ChunkType *) realloc(G4AllocStats::allocStat[found].preAllocated, + sizeof(G4ChunkType) * G4AllocStats::allocStat[found].totalspace); + // This value must be different than zero; otherwise means + // failure in allocating extra space for pointers ! + // assert(G4AllocStats::allocStat[found].preAllocated != 0); + + char *newSpace = (char *) malloc(totalsize * 512); + // This pointer must be different than zero; otherwise means + // failure in allocating extra space for instances ! + // assert(newSpace != 0); + + for (register int k = 0; k < 512 ; k++) + { + ((G4AllocStats::allocStat[found]). + preAllocated[originalchunknumber + k]).isAllocated= 0; + ((G4AllocStats::allocStat[found]). + preAllocated[originalchunknumber + k]).address= newSpace+totalsize*k; + } + + ((G4AllocStats::allocStat[found]).preAllocated[originalchunknumber]) + .isAllocated = 1; + + return (_Tp*)(((G4AllocStats::allocStat[found]). + preAllocated[originalchunknumber]).address); +} + +// ************************************************************ +// operator== +// ************************************************************ +// +template +inline bool operator==(const G4EnhancedVecAllocator<_T1>&, + const G4EnhancedVecAllocator<_T2>&) +{ return true; } + +// ************************************************************ +// operator!= +// ************************************************************ +// +template +inline bool operator!=(const G4EnhancedVecAllocator<_T1>&, + const G4EnhancedVecAllocator<_T2>&) +{ return false; } + +#endif diff --git a/source/geometry/volumes/include/G4NavigationHistory.hh b/source/geometry/volumes/include/G4NavigationHistory.hh index eb0248639e..88158039c6 100644 --- a/source/geometry/volumes/include/G4NavigationHistory.hh +++ b/source/geometry/volumes/include/G4NavigationHistory.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NavigationHistory.hh,v 1.14 2009/11/03 09:15:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4NavigationHistory.hh,v 1.19 2010/12/15 17:05:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4NavigationHistory // @@ -46,10 +46,10 @@ #include #include "geomdefs.hh" -//#include "G4Allocator.hh" #include "G4AffineTransform.hh" #include "G4VPhysicalVolume.hh" #include "G4NavigationLevel.hh" +#include "G4EnhancedVecAllocator.hh" #include #include @@ -141,8 +141,14 @@ class G4NavigationHistory private: +#ifdef G4LIB_BUILD_DLL std::vector fNavHistory; - //std::vector > fNavHistory; +#else + std::vector > fNavHistory; + // The geometrical tree; uses specialized allocator to optimize + // memory handling and reduce possible fragmentation +#endif G4int fStackDepth; // Depth of stack: effectively depth in geometrical tree diff --git a/source/geometry/volumes/include/G4NavigationLevel.icc b/source/geometry/volumes/include/G4NavigationLevel.icc index 3ed6892358..fda6cf27b4 100644 --- a/source/geometry/volumes/include/G4NavigationLevel.icc +++ b/source/geometry/volumes/include/G4NavigationLevel.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NavigationLevel.icc,v 1.22 2009/08/04 08:27:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4NavigationLevel.icc,v 1.24 2010/10/27 07:34:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // 30.09.97 J.Apostolakis Initial version. // diff --git a/source/geometry/volumes/include/G4NavigationLevelRep.icc b/source/geometry/volumes/include/G4NavigationLevelRep.icc index de19944eba..3107227245 100644 --- a/source/geometry/volumes/include/G4NavigationLevelRep.icc +++ b/source/geometry/volumes/include/G4NavigationLevelRep.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NavigationLevelRep.icc,v 1.14 2006/06/29 18:57:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NavigationLevelRep.icc,v 1.16 2010/10/27 07:34:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // 1 October 1997 J.Apostolakis Initial version. // diff --git a/source/geometry/volumes/include/G4PVReplica.hh b/source/geometry/volumes/include/G4PVReplica.hh index 0fb745b01a..bbf01f9338 100644 --- a/source/geometry/volumes/include/G4PVReplica.hh +++ b/source/geometry/volumes/include/G4PVReplica.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PVReplica.hh,v 1.5 2006/06/29 18:57:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PVReplica.hh,v 1.6 2010/07/05 13:29:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4PVReplica @@ -120,41 +120,34 @@ class G4PVReplica : public G4VPhysicalVolume G4double& offset, G4bool& consuming) const; - // Methods for specialised geometries - G4bool IsRegularStructure() const; - G4int GetRegularStructureId() const; - // return values virtual void SetRegularStructureId( G4int Code ); - // This method must set a unique code for each type - // of regular structure. - // - It must be called only during detector construction. - // - It can also be used to prepare a/any corresponding - // special navigation 'conditions'. - private: + // This method must set a unique code for each type of regular structure. + // - It must be called only during detector construction. + // - It can also be used to prepare any corresponding special + // navigation 'conditions'. - void CheckAndSetParameters( - const EAxis pAxis, - const G4int nReplicas, - const G4double width, - const G4double offset); + G4bool IsRegularStructure() const; + G4int GetRegularStructureId() const; + // Accessors for specialised geometries - G4PVReplica(const G4PVReplica&); - const G4PVReplica& operator=(const G4PVReplica&); - - private: - G4int fRegularStructureCode; - - protected: + protected: EAxis faxis; G4int fnReplicas; G4double fwidth,foffset; - G4int fcopyNo; private: - G4int fRegularVolsId; - }; + void CheckAndSetParameters(const EAxis pAxis, const G4int nReplicas, + const G4double width, const G4double offset); + G4PVReplica(const G4PVReplica&); + const G4PVReplica& operator=(const G4PVReplica&); + + private: + + G4int fRegularStructureCode; + G4int fRegularVolsId; +}; #endif diff --git a/source/geometry/volumes/include/G4ReflectionFactory.hh b/source/geometry/volumes/include/G4ReflectionFactory.hh index bcfe0045e2..80ab2fba64 100644 --- a/source/geometry/volumes/include/G4ReflectionFactory.hh +++ b/source/geometry/volumes/include/G4ReflectionFactory.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ReflectionFactory.hh,v 1.4 2008/11/13 09:33:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ReflectionFactory.hh,v 1.5 2010/04/13 07:19:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // class G4ReflectionFactory @@ -180,6 +180,10 @@ class G4ReflectionFactory // Returns a handle to the internal map of volumes which have // been reflected, after that placement or replication is performed. + void Reset(); + // Resets maps of constituent and reflected volumes. + // To be used exclusively when volumes are removed from the stores. + protected: G4ReflectionFactory(); diff --git a/source/geometry/volumes/include/G4TouchableHistory.icc b/source/geometry/volumes/include/G4TouchableHistory.icc index 94d6794390..1b3d421700 100644 --- a/source/geometry/volumes/include/G4TouchableHistory.icc +++ b/source/geometry/volumes/include/G4TouchableHistory.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TouchableHistory.icc,v 1.13 2009/11/06 11:10:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4TouchableHistory.icc,v 1.15 2010/10/27 07:34:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4TouchableHistory inline implementation diff --git a/source/geometry/volumes/sources.cmake b/source/geometry/volumes/sources.cmake new file mode 100644 index 0000000000..e561432381 --- /dev/null +++ b/source/geometry/volumes/sources.cmake @@ -0,0 +1,92 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4volumes +# Package: Geant4.src.G4geometry.G4volumes +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:43:33 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4volumes + HEADERS + G4AssemblyTriplet.hh + G4AssemblyTriplet.icc + G4AssemblyVolume.hh + G4AssemblyVolume.icc + G4EnhancedVecAllocator.hh + G4GRSSolid.hh + G4GRSSolid.icc + G4GRSSolidHandle.hh + G4GRSVolume.hh + G4GRSVolume.icc + G4GRSVolumeHandle.hh + G4LogicalBorderSurface.hh + G4LogicalBorderSurface.icc + G4LogicalSkinSurface.hh + G4LogicalSkinSurface.icc + G4NavigationHistory.hh + G4NavigationHistory.icc + G4NavigationLevel.hh + G4NavigationLevel.icc + G4NavigationLevelRep.hh + G4NavigationLevelRep.icc + G4PVParameterised.hh + G4PVPlacement.hh + G4PVReplica.hh + G4ReflectionFactory.hh + G4TouchableHistory.hh + G4TouchableHistory.icc + G4TouchableHistoryHandle.hh + SOURCES + G4AssemblyVolume.cc + G4GRSSolid.cc + G4GRSVolume.cc + G4LogicalBorderSurface.cc + G4LogicalSkinSurface.cc + G4NavigationHistory.cc + G4NavigationLevel.cc + G4NavigationLevelRep.cc + G4PVParameterised.cc + G4PVPlacement.cc + G4PVReplica.cc + G4ReflectionFactory.cc + G4TouchableHistory.cc + GRANULAR_DEPENDENCIES + G4geometrymng + G4globman + G4graphics_reps + G4intercoms + G4magneticfield + GLOBAL_DEPENDENCIES + G4global + G4graphics_reps + G4intercoms + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/geometry/volumes/src/G4GRSSolid.cc b/source/geometry/volumes/src/G4GRSSolid.cc index 7a450a83ea..9432b2c885 100644 --- a/source/geometry/volumes/src/G4GRSSolid.cc +++ b/source/geometry/volumes/src/G4GRSSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GRSSolid.cc,v 1.8 2006/06/29 18:57:53 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4GRSSolid.cc,v 1.10 2010/09/06 10:02:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4GRSSolid Implementation @@ -40,25 +40,24 @@ G4GRSSolid::~G4GRSSolid() } G4GRSSolid::G4GRSSolid(const G4GRSSolid& right) - : G4VTouchable() + : G4VTouchable(), fsolid(0) { + if (frot) { delete frot; } + frot = 0; if ((&right) && (&right != this)) { fsolid = right.fsolid; ftlate = right.ftlate; - if (frot) - { - delete frot; - frot = 0; - } if (right.frot) + { frot = new G4RotationMatrix(*(right.frot)); + } } } G4GRSSolid& G4GRSSolid::operator=(const G4GRSSolid& right) { - if (&right == this) return *this; + if (&right == this) { return *this; } if (&right) { fsolid = right.fsolid; @@ -69,7 +68,9 @@ G4GRSSolid& G4GRSSolid::operator=(const G4GRSSolid& right) frot = 0; } if (right.frot) + { frot = new G4RotationMatrix(*(right.frot)); + } } return *this; } diff --git a/source/geometry/volumes/src/G4GRSVolume.cc b/source/geometry/volumes/src/G4GRSVolume.cc index 56f13d0731..5e190b8037 100644 --- a/source/geometry/volumes/src/G4GRSVolume.cc +++ b/source/geometry/volumes/src/G4GRSVolume.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GRSVolume.cc,v 1.8 2006/06/29 18:57:55 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4GRSVolume.cc,v 1.10 2010/09/06 10:02:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4GRSVolume Implementation @@ -40,25 +40,24 @@ G4GRSVolume::~G4GRSVolume() } G4GRSVolume::G4GRSVolume(const G4GRSVolume& right) - : G4VTouchable() + : G4VTouchable(), fvol(0) { + if (frot) { delete frot; } + frot = 0; if ((&right) && (&right != this)) { fvol = right.fvol; ftlate = right.ftlate; - if (frot) - { - delete frot; - frot = 0; - } if (right.frot) + { frot = new G4RotationMatrix(*(right.frot)); + } } } G4GRSVolume& G4GRSVolume::operator=(const G4GRSVolume& right) { - if (&right == this) return *this; + if (&right == this) { return *this; } if (&right) { fvol = right.fvol; @@ -69,7 +68,9 @@ G4GRSVolume& G4GRSVolume::operator=(const G4GRSVolume& right) frot = 0; } if (right.frot) + { frot = new G4RotationMatrix(*(right.frot)); + } } return *this; } diff --git a/source/geometry/volumes/src/G4NavigationHistory.cc b/source/geometry/volumes/src/G4NavigationHistory.cc index ef6081138b..97a3be2da5 100644 --- a/source/geometry/volumes/src/G4NavigationHistory.cc +++ b/source/geometry/volumes/src/G4NavigationHistory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NavigationHistory.cc,v 1.11 2009/08/03 16:27:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4NavigationHistory.cc,v 1.17 2010/12/15 17:05:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // G4NavigationHistory Implementation @@ -37,6 +37,15 @@ #include "G4NavigationHistory.hh" #include "G4ios.hh" +#ifndef G4LIB_BUILD_DLL + // Initialise static data for the specialized memory pool + // for the internal STL vector of histories ... + // + G4ChunkIndexType* G4AllocStats::allocStat = 0; + G4int G4AllocStats::totSpace = 0; + G4int G4AllocStats::numCat = 0; +#endif + G4NavigationHistory::G4NavigationHistory() : fNavHistory(kHistoryMax), fStackDepth(0) { diff --git a/source/geometry/volumes/src/G4PVPlacement.cc b/source/geometry/volumes/src/G4PVPlacement.cc index 2205a7da32..966e1bc5b0 100644 --- a/source/geometry/volumes/src/G4PVPlacement.cc +++ b/source/geometry/volumes/src/G4PVPlacement.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PVPlacement.cc,v 1.16 2007/04/11 07:56:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PVPlacement.cc,v 1.17 2010/07/05 13:29:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4PVPlacement Implementation @@ -150,7 +150,7 @@ G4PVPlacement::G4PVPlacement( const G4Transform3D &Transform3D, // for usage restricted to object persistency. // G4PVPlacement::G4PVPlacement( __void__& a ) - : G4VPhysicalVolume(a) + : G4VPhysicalVolume(a), fmany(false), fallocatedRotM(0), fcopyNo(0) { } diff --git a/source/geometry/volumes/src/G4PVReplica.cc b/source/geometry/volumes/src/G4PVReplica.cc index 152e4e3ad2..f52369991b 100644 --- a/source/geometry/volumes/src/G4PVReplica.cc +++ b/source/geometry/volumes/src/G4PVReplica.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PVReplica.cc,v 1.7 2006/06/29 18:58:14 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PVReplica.cc,v 1.8 2010/07/05 13:29:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4PVReplica Implementation @@ -52,11 +52,15 @@ G4PVReplica::G4PVReplica( const G4String& pName, << G4endl; G4Exception("G4PVReplica::G4PVReplica()", "InvalidSetup", FatalException, "NULL pointer to mother. World volume cannot be sliced !"); + return; } G4LogicalVolume* motherLogical = pMother->GetLogicalVolume(); if (pLogical == motherLogical) + { G4Exception("G4PVReplica::G4PVReplica()", "InvalidSetup", FatalException, "Cannot place a volume inside itself!"); + return; + } SetMotherLogical(motherLogical); motherLogical->AddDaughter(this); if (motherLogical->GetNoDaughters() != 1) @@ -67,6 +71,7 @@ G4PVReplica::G4PVReplica( const G4String& pName, << " Replicated volume: " << pName << G4endl; G4Exception("G4PVReplica::G4PVReplica()", "InvalidSetup", FatalException, "Replica or parameterised volume must be the only daughter !"); + return; } CheckAndSetParameters (pAxis, nReplicas, width, offset); } @@ -87,10 +92,14 @@ G4PVReplica::G4PVReplica( const G4String& pName, << pName << "." << G4endl; G4Exception("G4PVReplica::G4PVReplica()", "NullPointer", FatalException, "Invalid setup. NULL pointer specified as mother !"); + return; } if (pLogical == pMotherLogical) + { G4Exception("G4PVReplica::G4PVReplica()", "InvalidSetup", FatalException, "Cannot place a volume inside itself!"); + return; + } pMotherLogical->AddDaughter(this); SetMotherLogical(pMotherLogical); if (pMotherLogical->GetNoDaughters() != 1) @@ -101,6 +110,7 @@ G4PVReplica::G4PVReplica( const G4String& pName, << " Replicated volume: " << pName << G4endl; G4Exception("G4PVReplica::G4PVReplica()", "InvalidSetup", FatalException, "Replica or parameterised volume must be the only daughter !"); + return; } CheckAndSetParameters (pAxis, nReplicas, width, offset); } @@ -153,7 +163,8 @@ void G4PVReplica::CheckAndSetParameters( const EAxis pAxis, } G4PVReplica::G4PVReplica( __void__& a ) - : G4VPhysicalVolume(a), fRegularVolsId(0) + : G4VPhysicalVolume(a), faxis(kZAxis), fnReplicas(0), fwidth(0.), + foffset(0.), fcopyNo(-1), fRegularStructureCode(0), fRegularVolsId(0) { } diff --git a/source/geometry/volumes/src/G4ReflectionFactory.cc b/source/geometry/volumes/src/G4ReflectionFactory.cc index dce3964877..c0bae7f2cb 100644 --- a/source/geometry/volumes/src/G4ReflectionFactory.cc +++ b/source/geometry/volumes/src/G4ReflectionFactory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ReflectionFactory.cc,v 1.9 2008/11/13 09:33:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ReflectionFactory.cc,v 1.10 2010/04/13 07:19:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Class G4ReflectionFactory Implementation @@ -760,6 +760,15 @@ G4ReflectionFactory::GetReflectedVolumesMap() const //_____________________________________________________________________________ +void +G4ReflectionFactory::Reset() +{ + fConstituentLVMap.~map(); + fReflectedLVMap.~map(); +} + +//_____________________________________________________________________________ + void G4ReflectionFactory::PrintConstituentLVMap() { // temporary - for debugging purpose diff --git a/source/global/CMakeLists.txt b/source/global/CMakeLists.txt new file mode 100644 index 0000000000..5f2e356e33 --- /dev/null +++ b/source/global/CMakeLists.txt @@ -0,0 +1,30 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4global +# Package: Geant4.src.G4global +# +# Top level CMakeLists.txt for a Geant4 Global Library +# or collection of sublibraries +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:43:41 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(HEPGeometry) +add_subdirectory(HEPNumerics) +add_subdirectory(HEPRandom) +add_subdirectory(management) + +if(NOT GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GLOBAL_LIBRARY_TARGET(NAME G4global + COMPONENTS + HEPGeometry/sources.cmake + HEPNumerics/sources.cmake + HEPRandom/sources.cmake + management/sources.cmake +) +endif() + diff --git a/source/global/HEPGeometry/CMakeLists.txt b/source/global/HEPGeometry/CMakeLists.txt new file mode 100644 index 0000000000..fffb488147 --- /dev/null +++ b/source/global/HEPGeometry/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4hepgeometry +# Package: Geant4.src.G4global.G4hepgeometry +# +# CMakeLists.txt for building a header-only module. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:43:49 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_HEADER_MODULE_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/global/HEPGeometry/GNUmakefile b/source/global/HEPGeometry/GNUmakefile index db030fff88..5f52af16fc 100644 --- a/source/global/HEPGeometry/GNUmakefile +++ b/source/global/HEPGeometry/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2004/06/11 14:18:56 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2010/10/27 07:40:06 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for global HEPGeometry. Gabriele Cosmo, 26/9/96. # -------------------------------------------------------------- @@ -11,7 +11,7 @@ endif include $(G4INSTALL)/config/architecture.gmk -CPPFLAGS += -DG4IOS_EXPORT +CPPFLAGS += -DG4IOS_ALLOC_EXPORT CPPFLAGS += -I$(G4BASE)/global/management/include include $(G4INSTALL)/config/common.gmk diff --git a/source/global/HEPGeometry/sources.cmake b/source/global/HEPGeometry/sources.cmake new file mode 100644 index 0000000000..34890a0bf0 --- /dev/null +++ b/source/global/HEPGeometry/sources.cmake @@ -0,0 +1,46 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4hepgeometry +# Package: Geant4.src.G4global.G4hepgeometry +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:44:01 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4hepgeometry + HEADERS + G4LorentzRotation.hh + G4LorentzVector.hh + G4Normal3D.hh + G4Plane3D.hh + G4Point3D.hh + G4Transform3D.hh + G4Vector3D.hh + geomdefs.hh + SOURCES + GRANULAR_DEPENDENCIES + G4globman + GLOBAL_DEPENDENCIES + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/global/HEPNumerics/CMakeLists.txt b/source/global/HEPNumerics/CMakeLists.txt new file mode 100644 index 0000000000..c579de9ca0 --- /dev/null +++ b/source/global/HEPNumerics/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4hepnumerics +# Package: Geant4.src.G4global.G4hepnumerics +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:44:09 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/global/HEPNumerics/GNUmakefile b/source/global/HEPNumerics/GNUmakefile index 2264799fb8..b04ad27f3b 100644 --- a/source/global/HEPNumerics/GNUmakefile +++ b/source/global/HEPNumerics/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2004/06/11 14:18:57 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2010/10/27 07:40:06 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for global HEPNumerics. Gabriele Cosmo, 26/9/96. # -------------------------------------------------------------- @@ -11,7 +11,7 @@ endif include $(G4INSTALL)/config/architecture.gmk -CPPFLAGS += -DG4IOS_EXPORT +CPPFLAGS += -DG4IOS_ALLOC_EXPORT CPPFLAGS += -I$(G4BASE)/global/management/include include $(G4INSTALL)/config/common.gmk diff --git a/examples/extended/analysis/N03Con/include/G4ConvergenceTester.hh b/source/global/HEPNumerics/include/G4ConvergenceTester.hh similarity index 76% rename from examples/extended/analysis/N03Con/include/G4ConvergenceTester.hh rename to source/global/HEPNumerics/include/G4ConvergenceTester.hh index ec4eea6419..655517f138 100644 --- a/examples/extended/analysis/N03Con/include/G4ConvergenceTester.hh +++ b/source/global/HEPNumerics/include/G4ConvergenceTester.hh @@ -24,7 +24,12 @@ // ******************************************************************** // // -// Convergence Tests for Monte Carlo resut. +// $Id: G4ConvergenceTester.hh,v 1.1 2010/10/12 07:24:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Class description: +// +// Convergence Tests for Monte Carlo results. // // Reference // MCNP(TM) -A General Monte Carlo N-Particle Transport Code @@ -35,9 +40,10 @@ // VI. ESTIMATION OF THE MONTE CARLO PRECISION // // Positives numbers are assumed for input values + +// Author: Tatsumi Koi (SLAC/SCCS) // -// Koi, Tatsumi (SLAC/SCCS) -// +// -------------------------------------------------------------------- #ifndef G4ConvergenceTester #define G4ConvergenceTester_h 1 @@ -52,47 +58,61 @@ class G4ConvergenceTester { - public: + G4ConvergenceTester(); - ~G4ConvergenceTester(); + ~G4ConvergenceTester(); G4ConvergenceTester( G4double ); public: + void AddScore( G4double ); void ShowHistory(); void ShowResult(); - G4double GetValueOfMinimizingFunction( std::vector< G4double > x ){ return slope_fitting_function( x ); }; + inline G4double GetValueOfMinimizingFunction( std::vector x ) + { return slope_fitting_function( x ); } + + private: - private: void calStat(); - G4double GetMean() { return mean; }; - G4double GetStandardDeviation() { return sd; }; - G4double GetVariance() { return var; }; - G4double GetR() { return r; }; - G4double GetEfficiency() { return efficiency; }; - G4double GetR2eff() { return r2eff; }; - G4double GetR2int() { return r2int; }; - G4double GetShift() { return shift; }; - G4double GetVOV() { return vov; }; - G4double GetFOM() { return fom; }; + G4double GetMean() { return mean; } + G4double GetStandardDeviation() { return sd; } + G4double GetVariance() { return var; } + G4double GetR() { return r; } + G4double GetEfficiency() { return efficiency; } + G4double GetR2eff() { return r2eff; } + G4double GetR2int() { return r2int; } + G4double GetShift() { return shift; } + G4double GetVOV() { return vov; } + G4double GetFOM() { return fom; } - std::map< G4int , G4double > nonzero_histories; // (ith-history , score value) - G4int n; // number of history; + void calc_grid_point_of_history(); + void calc_stat_history(); + void check_stat_history(); + G4double calc_Pearson_r( G4int, std::vector, + std::vector ); + G4bool is_monotonically_decrease( std::vector ); + void calc_slope_fit( std::vector< G4double > ); + G4double slope_fitting_function( std::vector< G4double > ); + + private: + + std::map< G4int , G4double > nonzero_histories; + // (ith-history , score value) + G4int n; + // number of history G4double sum; // sum of scores; G4Timer* timer; std::vector cpu_time; - private: - G4double mean; G4double var; G4double sd; - G4double r; // relative err sd/mean/sqrt(n) + G4double r; // relative err sd/mean/sqrt(n) G4double efficiency; // rate of non zero score G4double r2eff; G4double r2int; @@ -103,18 +123,14 @@ class G4ConvergenceTester G4double largest; G4int largest_score_happened; - G4double mean_1; G4double var_1; G4double sd_1; - G4double r_1; // relative err sd/mean/sqrt(n) + G4double r_1; // relative err sd/mean/sqrt(n) G4double shift_1; G4double vov_1; G4double fom_1; - - void calc_grid_point_of_history(); - void calc_stat_history(); G4int noBinOfHistory; std::vector< G4int > history_grid; std::vector< G4double > mean_history; @@ -128,19 +144,12 @@ class G4ConvergenceTester std::vector< G4double > r2eff_history; std::vector< G4double > r2int_history; - void check_stat_history(); - - G4double calc_Pearson_r( G4int , std::vector , std::vector ); - G4bool is_monotonically_decrease( std::vector ); - G4double slope; std::vector< G4double > largest_scores; - void calc_slope_fit( std::vector< G4double > ); std::vector< G4double > f_xi; std::vector< G4double > f_yi; G4int noBinOfPDF; G4SimplexDownhill* minimizer; - G4double slope_fitting_function( std::vector< G4double > ); G4int noPass; G4int noTotal; // Total number of tests diff --git a/source/global/HEPNumerics/include/G4SimplexDownhill.hh b/source/global/HEPNumerics/include/G4SimplexDownhill.hh index f0491a4320..bdc10d900a 100644 --- a/source/global/HEPNumerics/include/G4SimplexDownhill.hh +++ b/source/global/HEPNumerics/include/G4SimplexDownhill.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SimplexDownhill.hh,v 1.3 2007/06/21 15:04:12 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SimplexDownhill.hh,v 1.4 2010/11/01 13:55:17 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Class description: // @@ -53,7 +53,8 @@ class G4SimplexDownhill public: // with description G4SimplexDownhill( T* tp , G4int n ) - { target = tp; init(); numberOfVariable = n; } + : currentValue(0.), target(tp), numberOfVariable(n) + { init(); } ~G4SimplexDownhill(); diff --git a/source/global/HEPNumerics/sources.cmake b/source/global/HEPNumerics/sources.cmake new file mode 100644 index 0000000000..f0726b9dcb --- /dev/null +++ b/source/global/HEPNumerics/sources.cmake @@ -0,0 +1,68 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4hepnumerics +# Package: Geant4.src.G4global.G4hepnumerics +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/10/12 07:24:27 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4hepnumerics + HEADERS + G4AnalyticalPolSolver.hh + G4ChebyshevApproximation.hh + G4ConvergenceTester.hh + G4DataInterpolation.hh + G4GaussChebyshevQ.hh + G4GaussHermiteQ.hh + G4GaussJacobiQ.hh + G4GaussLaguerreQ.hh + G4GaussLegendreQ.hh + G4Integrator.hh + G4Integrator.icc + G4JTPolynomialSolver.hh + G4PolynomialSolver.hh + G4PolynomialSolver.icc + G4SimpleIntegration.hh + G4SimplexDownhill.hh + G4SimplexDownhill.icc + G4VGaussianQuadrature.hh + SOURCES + G4AnalyticalPolSolver.cc + G4ChebyshevApproximation.cc + G4ConvergenceTester.cc + G4DataInterpolation.cc + G4GaussChebyshevQ.cc + G4GaussHermiteQ.cc + G4GaussJacobiQ.cc + G4GaussLaguerreQ.cc + G4GaussLegendreQ.cc + G4JTPolynomialSolver.cc + G4SimpleIntegration.cc + G4VGaussianQuadrature.cc + GRANULAR_DEPENDENCIES + G4globman + GLOBAL_DEPENDENCIES + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/examples/extended/analysis/N03Con/src/G4ConvergenceTester.cc b/source/global/HEPNumerics/src/G4ConvergenceTester.cc similarity index 93% rename from examples/extended/analysis/N03Con/src/G4ConvergenceTester.cc rename to source/global/HEPNumerics/src/G4ConvergenceTester.cc index d9bdedceff..998f903e4e 100644 --- a/examples/extended/analysis/N03Con/src/G4ConvergenceTester.cc +++ b/source/global/HEPNumerics/src/G4ConvergenceTester.cc @@ -24,7 +24,8 @@ // ******************************************************************** // // -// Convergence Tests for Monte Carlo resut. +// +// Convergence Tests for Monte Carlo results. // // Reference // MCNP(TM) -A General Monte Carlo N-Particle Transport Code @@ -42,14 +43,16 @@ #include "G4ConvergenceTester.hh" G4ConvergenceTester::G4ConvergenceTester() + : n(0), sum(0.), mean(0.), var(0.), sd(0.), r(0.), efficiency(0.), + r2eff(0.), r2int(0.), shift(0.), vov(0.), fom(0.), largest(0.), + largest_score_happened(0), mean_1(0.), var_1(0.), sd_1(0.), r_1(0.), + shift_1(0.), vov_1(0.), fom_1(0.), noBinOfHistory(16), slope(0.), + noBinOfPDF(10), minimizer(0), noPass(0), noTotal(8) { - nonzero_histories.clear(); largest_scores.clear(); largest_scores.push_back( 0.0 ); - n=0; - sum=0; - noBinOfHistory = 16; + history_grid.resize( noBinOfHistory , 0 ); mean_history.resize( noBinOfHistory , 0.0 ); var_history.resize( noBinOfHistory , 0.0 ); @@ -66,12 +69,6 @@ G4ConvergenceTester::G4ConvergenceTester() timer->Start(); cpu_time.clear(); cpu_time.push_back( 0.0 ); - - noBinOfPDF = 10; // this will be used calculating SLOPE - - noPass = 0; - noTotal = 8; - } @@ -159,7 +156,7 @@ void G4ConvergenceTester::calStat() sd = std::sqrt ( var ); - r = sd / mean / std::sqrt ( n ); + r = sd / mean / std::sqrt ( G4double(n) ); r2eff = ( 1 - efficiency ) / ( efficiency * n ); r2int = sum_x2 / ( sum * sum ) - 1 / ( efficiency * n ); @@ -179,7 +176,7 @@ void G4ConvergenceTester::calStat() { largest = it->second; largest_score_happened = it->first; - spend_time_of_largest = cpu_time [ it->first ] - cpu_time [ it->first - 1 ]; + spend_time_of_largest = cpu_time [ it->first+1 ] - cpu_time [ it->first ]; } } @@ -220,7 +217,7 @@ void G4ConvergenceTester::calStat() sd_1 = std::sqrt ( var_1 ); - r_1 = sd_1 / mean_1 / std::sqrt ( n + 1 ); + r_1 = sd_1 / mean_1 / std::sqrt ( G4double(n + 1) ); shift_1 = shift_1 / ( 2 * var_1 * ( n + 1 ) ); @@ -445,7 +442,7 @@ void G4ConvergenceTester::check_stat_history() for ( i = 0 ; i < N ; i++ ) { - first_ally [ i ] = 1.0 / std::sqrt ( history_grid [ N + i ] ); + first_ally [ i ] = 1.0 / std::sqrt ( G4double(history_grid [ N + i ]) ); second_ally [ i ] = r_history [ N + i ]; } @@ -462,7 +459,14 @@ void G4ConvergenceTester::check_stat_history() G4cout << "r does not follow 1/std::sqrt(N)" << G4endl; } - G4cout << "r is monotonically decrease " << is_monotonically_decrease( second_ally ) << G4endl; + if ( is_monotonically_decrease( second_ally ) == true ) + { + G4cout << "r is monotonically decrease " << G4endl; + } + else + { + G4cout << "r is NOT monotonically decrease " << G4endl; + } if ( r_history.back() < 0.1 ) { @@ -494,7 +498,15 @@ void G4ConvergenceTester::check_stat_history() { G4cout << "VOV does not follow 1/std::sqrt(N)" << G4endl; } - G4cout << "VOV is monotonically decrease " << is_monotonically_decrease( second_ally ) << G4endl; + + if ( is_monotonically_decrease( second_ally ) == true ) + { + G4cout << "VOV is monotonically decrease " << G4endl; + } + else + { + G4cout << "VOV is NOT monotonically decrease " << G4endl; + } // FOM @@ -558,6 +570,7 @@ G4double G4ConvergenceTester::calc_Pearson_r ( G4int N , std::vector f G4bool G4ConvergenceTester::is_monotonically_decrease ( std::vector ally ) { + std::vector::iterator it; for ( it = ally.begin() ; it != ally.end() - 1 ; it++ ) { @@ -685,10 +698,12 @@ G4double G4ConvergenceTester::slope_fitting_function ( std::vector< G4double > x //if ( 1/a * ( 1 + k * f_xi [ i ] / a ) < 0 ) if ( ( 1 + k * f_xi [ i ] / a ) < 0 ) { - //return 3.402823466e+38; // FLOAT_MAX y +=3.402823466e+38; // FLOAT_MAX } - y += ( f_yi [ i ] - 1/a*std::pow ( ( 1 + k * f_xi [ i ] / a ) , - 1/k - 1 ) ) * ( f_yi [ i ] - 1/a*std::pow ( ( 1 + k * f_xi [ i ] / a ) , - 1/k - 1 ) ); + else + { + y += ( f_yi [ i ] - 1/a*std::pow ( 1 + k * f_xi [ i ] / a , - 1/k - 1 ) ) * ( f_yi [ i ] - 1/a*std::pow ( 1 + k * f_xi [ i ] / a , - 1/k - 1 ) ); + } } // G4cout << "y = " << y << G4endl; diff --git a/source/global/HEPNumerics/src/G4JTPolynomialSolver.cc b/source/global/HEPNumerics/src/G4JTPolynomialSolver.cc index e2e1a741d8..939c3af7de 100644 --- a/source/global/HEPNumerics/src/G4JTPolynomialSolver.cc +++ b/source/global/HEPNumerics/src/G4JTPolynomialSolver.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4JTPolynomialSolver.cc,v 1.7 2008/03/13 09:35:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4JTPolynomialSolver.cc,v 1.8 2010/07/14 10:45:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------------- // GEANT 4 class source file @@ -45,6 +45,12 @@ const G4double G4JTPolynomialSolver::mre = DBL_EPSILON; const G4double G4JTPolynomialSolver::lo = DBL_MIN/DBL_EPSILON ; G4JTPolynomialSolver::G4JTPolynomialSolver() + : sr(0.), si(0.), u(0.),v(0.), + a(0.), b(0.), c(0.), d(0.), + a1(0.), a2(0.), a3(0.), a6(0.), a7(0.), + e(0.), f(0.), g(0.), h(0.), + szr(0.), szi(0.), lzr(0.), lzi(0.), + n(0), nmi(0) { } diff --git a/source/global/HEPRandom/CMakeLists.txt b/source/global/HEPRandom/CMakeLists.txt new file mode 100644 index 0000000000..e12910e92f --- /dev/null +++ b/source/global/HEPRandom/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : +# Package: Geant4.src.G4global. +# +# CMakeLists.txt for building a header-only module. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:44:25 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_HEADER_MODULE_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/global/HEPRandom/GNUmakefile b/source/global/HEPRandom/GNUmakefile index c23c7e6418..d4fc28dd57 100644 --- a/source/global/HEPRandom/GNUmakefile +++ b/source/global/HEPRandom/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2004/10/29 08:40:23 gcosmo Exp $ +# $Id: GNUmakefile,v 1.5 2010/10/27 07:40:06 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for global HEPRandom. Gunter Folger 12-Dec-2000. # This is needed only for generating "installed" include files. @@ -10,7 +10,7 @@ endif include $(G4INSTALL)/config/architecture.gmk -CPPFLAGS += -DG4IOS_EXPORT +CPPFLAGS += -DG4IOS_ALLOC_EXPORT CPPFLAGS += -I$(G4BASE)/global/HepGeometry/include include $(G4INSTALL)/config/common.gmk diff --git a/source/global/HEPRandom/sources.cmake b/source/global/HEPRandom/sources.cmake new file mode 100644 index 0000000000..d38704d3fb --- /dev/null +++ b/source/global/HEPRandom/sources.cmake @@ -0,0 +1,40 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : +# Package: Geant4.src.G4global. +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:44:33 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4heprandom + HEADERS + G4Poisson.hh + G4RandomDirection.hh + G4RandomTools.hh + Randomize.hh + SOURCES + GRANULAR_DEPENDENCIES + GLOBAL_DEPENDENCIES + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/global/History b/source/global/History index 8efee17e08..f65bb4d993 100644 --- a/source/global/History +++ b/source/global/History @@ -1,4 +1,4 @@ -$Id: History,v 1.234 2009/12/07 09:24:27 vnivanch Exp $ +$Id: History,v 1.266 2010/11/24 10:58:00 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,9 +17,117 @@ 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, 2010 G.Cosmo (global-V09-03-24) +- Changed date for release 9.4. + +Nov 09, 2010 T.Koi (global-V09-03-23) +- G4ConvergenceTester: fixed error in calculation of SLOPE; + fixed incorrect initialization of 'noTotal'. Modified some output + +Nov 01, 2010 G.Cosmo (global-V09-03-22) +- Fixed dummy initialisation in constructor for G4SimplexDownhill and + G4ConvergenceTester classes. +- Fixed cases of tainted scalar in G4DataVector, G4OrderedTable, + G4PhysicsTable and G4PhysicsVector. + +Oct 30, 2010 T.Koi (global-V09-03-21) +- Fixed error in calculation of CPU time for each event in G4ConvergenceTester. + +Oct 27, 2010 G.Cosmo (global-V09-03-20, global-V09-03-19) +- Replaced G4IOS_EXPORT flag with G4IOS_ALLOC_EXPORT for DLL exported symbols. + +Oct 15, 2010 G.Cosmo (global-V09-03-18) +- Fixed compilation error on WIN32-VC for G4ConvergenceTester. Also, added + explicit initialization of static data to constructor. + +Oct 14, 2010 M.Kelsey (global-V09-03-17) +- Modified FPE handler to get correct SIGINFO data for error messages. + +Oct 12, 2010 G.Cosmo (global-V09-03-16) +- Added class G4ConvergenceTester, moved from extended example N03Con, + implementing a facility for estimating the quality of the simulation, + by providing statistical information to assist in establishing valid + confidence intervals for Monte Carlo results. + +Oct 1, 2010 G.Cosmo (global-V09-03-15) +- Fixed typo in destructor of G4StateManager. +- Fixed type clash with input stream in G4PhysicsVector::Retrieve(), + G4PhysicsTable::RetrievePhysicsTable(), G4OrderedTable::Store() + and G4DataVector::Retrieve(). +- Fixed potential case of memory leak in G4OrderedTable::Retrieve(). +- Added dummy initialization of members in constructors for classes + G4SliceTimer, G4ErrorPropagatorData, + +Sep 18, 2010 V.Ivantchenko (global-V09-03-14) +- Withdrawn latest change made to G4PhysicsVector::PutValue(), due to + misunderstanding... + +Sep 18, 2010 H.Kurashige (global-V09-03-13) +- Fixed bug in G4PhysicsVector::PutValue() to correctly handle last bin + when Energy=theEmax in getValue(). + +Aug 23, 2010 V.Ivantchenko (global-V09-03-12) +- Added methods logfactorial() and powN() to G4Pow class. + +Aug 19, 2010 G.Cosmo (global-V09-03-11) +- Correction to G4FPEDetection.hh to avoid compilation error on Linux. + +Aug 09, 2010 M.Maire +- G4UnitsTable: added new category "Solid angle". + +Jul 16, 2010 G.Cosmo (global-V09-03-10) +- Added INT_MAX and INT_MIN portability macros in templates.hh. + +Jul 14, 2010 G.Cosmo (global-V09-03-09) +- G4Allocator: implemented customizable pool size. +- G4AllocatorPool: moved dummy copy constructor to private section. +- Fixed cases of invalidated iterator in G4StateManager. +- Fixed restoring of cout/cerr formatting in G4DataVector, G4PhysicsVector. +- Added dummy initialization of members in constructors for classes + G4JTPolynomialSolver, G4AllocatorPool, G4ErrorPropagatorData. +- Added experimental code for MacOSX in G4FPEDetection.hh. + +Jun 09, 2010 G.Cosmo (global-V09-03-08) +- Changed date for release 9.4-beta. + +May 29, 2010 V.Ivantchenko (global-V09-03-07) +- More safe numerical computation of A13 and logA methods in G4Pow. + +May 28, 2010 H.Kurasige +- Restored G4PVDataVector vectors in G4PhysicsVector owned by value instead + of pointers, as originally was before tag "global-V09-03-00". + +May 05, 2010 G.Cosmo (global-V09-03-06) +- Move interpolation methods to inline in G4PhysicsVector. +- Some cleanup. + +May 04, 2010 H.Kurashige (global-V09-03-05) +- Introduced G4PhysicsVectorCache, placeholder for cache R/W data in use + by G4PhysicsVector and derivates. + Modified G4PhysicsVector and G4LPhysicsFreeVector accordingly. + +Apr 06, 2010 G.Cosmo (global-V09-03-04) +- Changed date for release 9.3.p01. + +Mar 30, 2010 G.Cosmo (global-V09-03-03) +- Moved 'mem' pool in G4Allocator to public section, to allow for use of + allocator in vectors on Windows/C++. + +Mar 23, 2010 V.Ivanchenko (global-V09-03-02) +- G4PhysicsLogVector, G4PhysicsLnVector, G4PhysicsLinearVector: preserve + values of 'edgeMin' and 'edgeMax' in constructors avoiding recomputation, + to avoid precision problem; fixes problem detected on Windows/VC++. + +Feb 01, 2010 G.Cosmo (global-V09-03-01) +- Restored G4PVDataVector as typedef for optimisation; removed class files. + +Dec 22, 2009 H.Kurashige (global-V09-03-00) +- Modified G4PhysicsVector to use pointers to G4PVDataVector instead of + holding it as static data. + +Dec 07, 2009 L.Pandola, V.Ivanchenko (global-V09-02-12) +- G4PhysicsVector: 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. diff --git a/source/global/management/CMakeLists.txt b/source/global/management/CMakeLists.txt new file mode 100644 index 0000000000..ecbc69ec46 --- /dev/null +++ b/source/global/management/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4globman +# Package: Geant4.src.G4global.G4globman +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:44:41 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/global/management/GNUmakefile b/source/global/management/GNUmakefile index be22fbbb0c..3452546401 100644 --- a/source/global/management/GNUmakefile +++ b/source/global/management/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.6 2009/01/27 08:45:28 gcosmo Exp $ +# $Id: GNUmakefile,v 1.8 2010/10/27 07:40:06 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for global management. Gabriele Cosmo, 26/9/96. # -------------------------------------------------------------- @@ -11,7 +11,7 @@ endif include $(G4INSTALL)/config/architecture.gmk -CPPFLAGS += -DG4IOS_EXPORT +CPPFLAGS += -DG4IOS_ALLOC_EXPORT ifdef G4RF_DEBUG CPPFLAGS += -DG4RF_DEBUG endif diff --git a/source/global/management/include/G4Allocator.hh b/source/global/management/include/G4Allocator.hh index e1894fec19..60be523f54 100644 --- a/source/global/management/include/G4Allocator.hh +++ b/source/global/management/include/G4Allocator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Allocator.hh,v 1.19 2009/10/29 16:01:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Allocator.hh,v 1.21 2010/04/01 12:43:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -65,12 +65,17 @@ class G4Allocator // new and delete operators in the client object inline void ResetStorage(); - // Returns allocated storage to the free store, resets - // allocator and page sizes. + // Returns allocated storage to the free store, resets allocator. // Note: contents in memory are lost using this call ! inline size_t GetAllocatedSize() const; // Returns the size of the total memory allocated + inline int GetNoPages() const; + // Returns the total number of allocated pages + inline size_t GetPageSize() const; + // Returns the current size of a page + inline void IncreasePageSize( unsigned int sz ); + // Resets allocator and increases default page size of a given factor public: // without description @@ -136,8 +141,6 @@ class G4Allocator struct rebind { typedef G4Allocator other; }; // Rebind allocator to type U - private: - G4AllocatorPool mem; // Pool of elements of sizeof(Type) }; @@ -213,6 +216,37 @@ size_t G4Allocator::GetAllocatedSize() const return mem.Size(); } +// ************************************************************ +// GetNoPages +// ************************************************************ +// +template +int G4Allocator::GetNoPages() const +{ + return mem.GetNoPages(); +} + +// ************************************************************ +// GetPageSize +// ************************************************************ +// +template +size_t G4Allocator::GetPageSize() const +{ + return mem.GetPageSize(); +} + +// ************************************************************ +// IncreasePageSize +// ************************************************************ +// +template +void G4Allocator::IncreasePageSize( unsigned int sz ) +{ + ResetStorage(); + mem.GrowPageSize(sz); +} + // ************************************************************ // operator== // ************************************************************ diff --git a/source/global/management/include/G4AllocatorPool.hh b/source/global/management/include/G4AllocatorPool.hh index cf09614181..33499b73ed 100644 --- a/source/global/management/include/G4AllocatorPool.hh +++ b/source/global/management/include/G4AllocatorPool.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AllocatorPool.hh,v 1.5 2006/06/29 19:01:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AllocatorPool.hh,v 1.7 2010/07/14 10:45:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------------- @@ -57,9 +57,6 @@ class G4AllocatorPool ~G4AllocatorPool(); // Destructor. Return storage to the free store - G4AllocatorPool(const G4AllocatorPool& right); - // Copy constructor - inline void* Alloc(); // Allocate one element inline void Free( void* b ); @@ -70,8 +67,17 @@ class G4AllocatorPool void Reset(); // Return storage to the free store + inline int GetNoPages() const; + // Return the total number of allocated pages + inline unsigned int GetPageSize() const; + // Accessor for default page size + inline void GrowPageSize( unsigned int factor ); + // Increase default page size by a given factor + private: + G4AllocatorPool(const G4AllocatorPool& right); + // Provate copy constructor G4AllocatorPool& operator= (const G4AllocatorPool& right); // Private equality operator @@ -96,7 +102,7 @@ class G4AllocatorPool private: const unsigned int esize; - const unsigned int csize; + unsigned int csize; G4PoolChunk* chunks; G4PoolLink* head; int nchunks; @@ -141,4 +147,34 @@ G4AllocatorPool::Size() const return nchunks*csize; } +// ************************************************************ +// GetNoPages +// ************************************************************ +// +inline int +G4AllocatorPool::GetNoPages() const +{ + return nchunks; +} + +// ************************************************************ +// GetPageSize +// ************************************************************ +// +inline unsigned int +G4AllocatorPool::GetPageSize() const +{ + return csize; +} + +// ************************************************************ +// GrowPageSize +// ************************************************************ +// +inline void +G4AllocatorPool::GrowPageSize( unsigned int sz ) +{ + csize = (sz) ? sz*csize : csize; +} + #endif diff --git a/source/global/management/include/G4FPEDetection.hh b/source/global/management/include/G4FPEDetection.hh index 7b0c69a001..2e0706ae1c 100644 --- a/source/global/management/include/G4FPEDetection.hh +++ b/source/global/management/include/G4FPEDetection.hh @@ -24,16 +24,16 @@ // ******************************************************************** // // -// $Id: G4FPEDetection.hh,v 1.2 2006/11/15 16:00:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4FPEDetection.hh,v 1.5 2010/10/14 17:02:52 mkelsey Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -*- C++ -*- // // ----------------------------------------------------------------------- -// This global method should be used on LINUX platforms with gcc compiler -// for activating NaN detection and FPE signals, and forcing abortion of -// the application at the time these are detected. +// This global method should be used on LINUX or MacOSX platforms with gcc +// compiler for activating NaN detection and FPE signals, and forcing +// abortion of the application at the time these are detected. // Meant to be used for debug purposes, can be activated by compiling the // "run" module with the flag G4FPE_DEBUG set in the environment. // ----------------------------------------------------------------------- @@ -41,22 +41,27 @@ #ifndef G4FPEDetection_h #define G4FPEDetection_h 1 +#include +#include /* abort(), exit() */ + #ifdef __linux__ #ifdef __GNUC__ #include #include #include - #include - struct sigaction termaction, oldaction; - void TerminationSignalHandler(int sig) + static void TerminationSignalHandler(int sig, siginfo_t* sinfo, void* /* context */) { std::cerr << "ERROR: " << sig; - std::string message; - switch (SIGFPE) - { + std::string message = "Floating-point exception (FPE)."; + + if (sinfo) { + switch (sinfo->si_code) { +#ifdef FPE_NOOP /* BUG: MacOSX uses this instead of INTDIV */ + case FPE_NOOP: +#endif case FPE_INTDIV: message = "Integer divide by zero."; break; @@ -84,13 +89,15 @@ default: message = "Unknown error."; break; + } } - std::cerr << " - " << message << std::endl; + std::cerr << " - " << message << std::endl; + ::abort(); } - void InvalidOperationDetection() + static void InvalidOperationDetection() { std::cout << std::endl << " " @@ -105,17 +112,160 @@ //(void) feenableexcept( FE_OVERFLOW ); //(void) feenableexcept( FE_UNDERFLOW ); - sigset_t *def_set; - def_set=&termaction.sa_mask; - sigfillset(def_set); - sigdelset(def_set,SIGFPE); - termaction.sa_handler=TerminationSignalHandler; - termaction.sa_flags=0; - sigaction(SIGFPE, &termaction,&oldaction); + sigdelset(&termaction.sa_mask,SIGFPE); + termaction.sa_sigaction=TerminationSignalHandler; + termaction.sa_flags=SA_SIGINFO; + sigaction(SIGFPE, &termaction, &oldaction); } #endif -#else - void InvalidOperationDetection() {;} +#elif __MACH__ /* MacOSX */ + + #include + #include + + #define DEFINED_PPC (defined(__ppc__) || defined(__ppc64__)) + #define DEFINED_INTEL (defined(__i386__) || defined(__x86_64__)) + + #if DEFINED_PPC + + #define FE_EXCEPT_SHIFT 22 // shift flags right to get masks + #define FM_ALL_EXCEPT FE_ALL_EXCEPT >> FE_EXCEPT_SHIFT + + static inline int feenableexcept (unsigned int excepts) + { + static fenv_t fenv; + unsigned int new_excepts = (excepts & FE_ALL_EXCEPT) >> FE_EXCEPT_SHIFT, + old_excepts; // all previous masks + + if ( fegetenv (&fenv) ) { return -1; } + old_excepts = (fenv & FM_ALL_EXCEPT) << FE_EXCEPT_SHIFT; + fenv = (fenv & ~new_excepts) | new_excepts; + + return ( fesetenv (&fenv) ? -1 : old_excepts ); + } + + static inline int fedisableexcept (unsigned int excepts) + { + static fenv_t fenv; + unsigned int still_on = ~((excepts & FE_ALL_EXCEPT) >> FE_EXCEPT_SHIFT), + old_excepts; // previous masks + + if ( fegetenv (&fenv) ) { return -1; } + old_excepts = (fenv & FM_ALL_EXCEPT) << FE_EXCEPT_SHIFT; + fenv &= still_on; + + return ( fesetenv (&fenv) ? -1 : old_excepts ); + } + + #elif DEFINED_INTEL + + static inline int feenableexcept (unsigned int excepts) + { + static fenv_t fenv; + unsigned int new_excepts = excepts & FE_ALL_EXCEPT, + old_excepts; // previous masks + + if ( fegetenv (&fenv) ) { return -1; } + old_excepts = fenv.__control & FE_ALL_EXCEPT; + + // unmask + // + fenv.__control &= ~new_excepts; + fenv.__mxcsr &= ~(new_excepts << 7); + + return ( fesetenv (&fenv) ? -1 : old_excepts ); + } + + static inline int fedisableexcept (unsigned int excepts) + { + static fenv_t fenv; + unsigned int new_excepts = excepts & FE_ALL_EXCEPT, + old_excepts; // all previous masks + + if ( fegetenv (&fenv) ) { return -1; } + old_excepts = fenv.__control & FE_ALL_EXCEPT; + + // mask + // + fenv.__control |= new_excepts; + fenv.__mxcsr |= new_excepts << 7; + + return ( fesetenv (&fenv) ? -1 : old_excepts ); + } + + #endif /* PPC or INTEL enabling */ + + static void TerminationSignalHandler(int sig, siginfo_t* sinfo, void* /* context */) + { + std::cerr << "ERROR: " << sig; + std::string message = "Floating-point exception (FPE)."; + + if (sinfo) { + switch (sinfo->si_code) { +#ifdef FPE_NOOP /* BUG: MacOSX uses this instead of INTDIV */ + case FPE_NOOP: +#endif + case FPE_INTDIV: + message = "Integer divide by zero."; + break; + case FPE_INTOVF: + message = "Integer overflow."; + break; + case FPE_FLTDIV: + message = "Floating point divide by zero."; + break; + case FPE_FLTOVF: + message = "Floating point overflow."; + break; + case FPE_FLTUND: + message = "Floating point underflow."; + break; + case FPE_FLTRES: + message = "Floating point inexact result."; + break; + case FPE_FLTINV: + message = "Floating point invalid operation."; + break; + case FPE_FLTSUB: + message = "Subscript out of range."; + break; + default: + message = "Unknown error."; + break; + } + } + + std::cerr << " - " << message << std::endl; + + ::abort(); + } + + static void InvalidOperationDetection() + { + struct sigaction termaction, oldaction; + + std::cout << std::endl + << " " + << "############################################" << std::endl + << " " + << "!!! WARNING - FPE detection is activated !!!" << std::endl + << " " + << "############################################" << std::endl; + + feenableexcept ( FE_DIVBYZERO ); + feenableexcept ( FE_INVALID ); + // fedisableexcept( FE_OVERFLOW ); + // fedisableexcept( FE_UNDERFLOW ); + + sigdelset(&termaction.sa_mask,SIGFPE); + termaction.sa_sigaction=TerminationSignalHandler; + termaction.sa_flags=SA_SIGINFO; + sigaction(SIGFPE, &termaction, &oldaction); + } +#else /* Not Linux, nor MacOSX ... */ + + static void InvalidOperationDetection() {;} + #endif #endif diff --git a/source/global/management/include/G4LPhysicsFreeVector.hh b/source/global/management/include/G4LPhysicsFreeVector.hh index 02bd0b55b5..fc530845f9 100644 --- a/source/global/management/include/G4LPhysicsFreeVector.hh +++ b/source/global/management/include/G4LPhysicsFreeVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LPhysicsFreeVector.hh,v 1.11 2008/09/22 08:26:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4LPhysicsFreeVector.hh,v 1.14 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // ------------------------------------------------------------------ @@ -73,10 +73,6 @@ public: // with description G4int GetVerboseLevel(G4int); - G4double GetLastEnergy(); - - size_t GetLastBin(); - void DumpValues(); private: diff --git a/source/global/management/include/G4LPhysicsFreeVector.icc b/source/global/management/include/G4LPhysicsFreeVector.icc index 1f1629f9a7..b09ddc7223 100644 --- a/source/global/management/include/G4LPhysicsFreeVector.icc +++ b/source/global/management/include/G4LPhysicsFreeVector.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LPhysicsFreeVector.icc,v 1.14 2009/06/25 10:05:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LPhysicsFreeVector.icc,v 1.17 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // ------------------------------------------------------------------ @@ -67,17 +67,6 @@ G4int G4LPhysicsFreeVector::GetVerboseLevel(G4int) return verboseLevel; } -inline -G4double G4LPhysicsFreeVector::GetLastEnergy() -{ - return lastEnergy; -} - -inline -size_t G4LPhysicsFreeVector::GetLastBin() -{ - return lastBin; -} inline size_t G4LPhysicsFreeVector::FindBinLocation(G4double theEnergy) const diff --git a/source/global/management/include/G4PhysicsFreeVector.hh b/source/global/management/include/G4PhysicsFreeVector.hh index b1ce4b9823..9f2ddc097c 100644 --- a/source/global/management/include/G4PhysicsFreeVector.hh +++ b/source/global/management/include/G4PhysicsFreeVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsFreeVector.hh,v 1.13 2009/06/25 10:05:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicsFreeVector.hh,v 1.15 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // //-------------------------------------------------------------------- @@ -75,7 +75,7 @@ class G4PhysicsFreeVector : public G4PhysicsVector // 'binVector'. 'binVector' and 'dataVector' need to have // the same vector length. - ~G4PhysicsFreeVector(); + virtual ~G4PhysicsFreeVector(); // Destructor void PutValue( size_t binNumber, G4double binValue, diff --git a/source/global/management/include/G4PhysicsLinearVector.hh b/source/global/management/include/G4PhysicsLinearVector.hh index 13527ef563..afac6597b0 100644 --- a/source/global/management/include/G4PhysicsLinearVector.hh +++ b/source/global/management/include/G4PhysicsLinearVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsLinearVector.hh,v 1.11 2008/09/22 11:37:09 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PhysicsLinearVector.hh,v 1.13 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsLnVector.hh b/source/global/management/include/G4PhysicsLnVector.hh index f8094074d2..0bf851ce0b 100644 --- a/source/global/management/include/G4PhysicsLnVector.hh +++ b/source/global/management/include/G4PhysicsLnVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsLnVector.hh,v 1.13 2008/09/22 11:37:09 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PhysicsLnVector.hh,v 1.15 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsLogVector.hh b/source/global/management/include/G4PhysicsLogVector.hh index d3bf81ab22..908177d4e7 100644 --- a/source/global/management/include/G4PhysicsLogVector.hh +++ b/source/global/management/include/G4PhysicsLogVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsLogVector.hh,v 1.13 2008/09/22 08:26:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PhysicsLogVector.hh,v 1.15 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsOrderedFreeVector.hh b/source/global/management/include/G4PhysicsOrderedFreeVector.hh index 2edd6abdb5..ba7f581970 100644 --- a/source/global/management/include/G4PhysicsOrderedFreeVector.hh +++ b/source/global/management/include/G4PhysicsOrderedFreeVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsOrderedFreeVector.hh,v 1.12 2009/06/25 10:05:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicsOrderedFreeVector.hh,v 1.14 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //////////////////////////////////////////////////////////////////////// // PhysicsOrderedFreeVector Class Definition diff --git a/source/global/management/include/G4PhysicsOrderedFreeVector.icc b/source/global/management/include/G4PhysicsOrderedFreeVector.icc index 0bea151611..87fa01f001 100644 --- a/source/global/management/include/G4PhysicsOrderedFreeVector.icc +++ b/source/global/management/include/G4PhysicsOrderedFreeVector.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsOrderedFreeVector.icc,v 1.9 2009/06/25 10:05:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicsOrderedFreeVector.icc,v 1.11 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //////////////////////////////////////////////////////////////////////// // PhysicsOrderedFreeVector Class Inline Functions Definitions diff --git a/source/global/management/include/G4PhysicsVector.hh b/source/global/management/include/G4PhysicsVector.hh index aa1ef7a151..d82aaf4377 100644 --- a/source/global/management/include/G4PhysicsVector.hh +++ b/source/global/management/include/G4PhysicsVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsVector.hh,v 1.25 2009/11/04 11:32:43 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicsVector.hh,v 1.31 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // //--------------------------------------------------------------- @@ -52,7 +52,9 @@ // 02 Apr. 2008, A.Bagulya : Added SplineInterpolation() and SetSpline() // 11 May 2009, V.Ivanchenko : Added ComputeSecondDerivatives // 19 Jun. 2009, V.Ivanchenko : Removed hidden bin -// +// 22 Dec. 2009 H.Kurashige : Use pointers to G4PVDataVector +// 04 May. 2010 H.Kurashige : Use G4PhysicsVectorCache +// 28 May 2010 H.Kurashige : Stop using pointers to G4PVDataVector //--------------------------------------------------------------- #ifndef G4PhysicsVector_h @@ -64,8 +66,11 @@ #include #include +#include "G4PhysicsVectorCache.hh" #include "G4PhysicsVectorType.hh" +typedef std::vector G4PVDataVector; + class G4PhysicsVector { public: @@ -85,7 +90,7 @@ class G4PhysicsVector virtual ~G4PhysicsVector(); // destructor - inline G4double Value(G4double theEnergy); + 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. @@ -174,6 +179,12 @@ class G4PhysicsVector friend std::ostream& operator<<(std::ostream&, const G4PhysicsVector&); + + G4double GetLastEnergy() const; + G4double GetLastValue() const; + size_t GetLastBin() const; + // Get cache values + protected: virtual size_t FindBinLocation(G4double theEnergy) const=0; @@ -185,8 +196,6 @@ class G4PhysicsVector protected: - typedef std::vector G4PVDataVector; - G4PhysicsVectorType type; // The type of PhysicsVector (enumerator) G4double edgeMin; // Energy of first point @@ -194,24 +203,22 @@ class G4PhysicsVector 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 + G4PhysicsVectorCache* cache; - G4PVDataVector dataVector; // Vector to keep the crossection/energyloss - G4PVDataVector binVector; // Vector to keep energy - G4PVDataVector secDerivative; // Vector to keep second derivatives + G4PVDataVector dataVector; // Vector to keep the crossection/energyloss + G4PVDataVector binVector; // Vector to keep energy + G4PVDataVector secDerivative; // Vector to keep second derivatives private: G4bool SplinePossible(); - inline G4double LinearInterpolation(); + inline G4double LinearInterpolation(G4int lastBin); // Linear interpolation function - inline G4double SplineInterpolation(); + inline G4double SplineInterpolation(G4int lastBin); // Spline interpolation function - inline void Interpolation(); + inline void Interpolation(G4int lastBin); G4String comment; G4bool useSpline; diff --git a/source/global/management/include/G4PhysicsVector.icc b/source/global/management/include/G4PhysicsVector.icc index cc92120ed8..c95ab56a3f 100644 --- a/source/global/management/include/G4PhysicsVector.icc +++ b/source/global/management/include/G4PhysicsVector.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsVector.icc,v 1.23 2009/11/18 11:42:03 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicsVector.icc,v 1.30 2010/09/20 16:22:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //--------------------------------------------------------------- @@ -42,10 +42,28 @@ // //--------------------------------------------------------------- +inline + G4double G4PhysicsVector::GetLastEnergy() const +{ + return cache->lastEnergy; +} + +inline + G4double G4PhysicsVector::GetLastValue() const +{ + return cache->lastValue; +} + +inline + size_t G4PhysicsVector::GetLastBin() const +{ + return cache->lastBin; +} + inline G4double G4PhysicsVector::operator[](const size_t binNumber) const { - return dataVector[binNumber]; + return dataVector[binNumber]; } //--------------------------------------------------------------- @@ -75,7 +93,15 @@ inline //--------------------------------------------------------------- inline - G4double G4PhysicsVector::LinearInterpolation() + G4double G4PhysicsVector::GetValue(G4double theEnergy, G4bool&) +{ + return Value(theEnergy); +} + +//------------------------------------------------ + +inline + G4double G4PhysicsVector::LinearInterpolation(G4int lastBin) { // Linear interpolation is used to get the value. If the give energy // is in the highest bin, no interpolation will be Done. Because @@ -83,17 +109,17 @@ inline // the following interpolation is valid even the current locBin= // numberOfBin-1. - G4double intplFactor = (lastEnergy-binVector[lastBin]) - / (binVector[lastBin+1]-binVector[lastBin]); // Interpolation factor + G4double intplFactor = (cache->lastEnergy-binVector[lastBin]) + / (binVector[lastBin + 1]-binVector[lastBin]); // Interpol. factor return dataVector[lastBin] + - ( dataVector[lastBin+1]-dataVector[lastBin] ) * intplFactor; + ( dataVector[lastBin + 1]-dataVector[lastBin] ) * intplFactor; } //--------------------------------------------------------------- inline - G4double G4PhysicsVector::SplineInterpolation() + G4double G4PhysicsVector::SplineInterpolation(G4int lastBin) { // Spline interpolation is used to get the value. If the give energy // is in the highest bin, no interpolation will be Done. Because @@ -105,73 +131,30 @@ inline // check bin value G4double x1 = binVector[lastBin]; - G4double x2 = binVector[lastBin+1]; + G4double x2 = binVector[lastBin + 1]; G4double delta = x2 - x1; - G4double a = (x2 - lastEnergy)/delta; - G4double b = (lastEnergy - x1)/delta; + G4double a = (x2 - cache->lastEnergy)/delta; + G4double b = (cache->lastEnergy - x1)/delta; // Final evaluation of cubic spline polynomial for return G4double y1 = dataVector[lastBin]; - G4double y2 = dataVector[lastBin+1]; + 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; + (b*b*b - b)*secDerivative[lastBin + 1] )*delta*delta/6.0; return res; } //--------------------------------------------------------------- -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 - // value 'theEnergy' lies between the last energy and low edge of of the - // bin of last call, then the last bin location is used. - - if( theEnergy == lastEnergy ) { - - } else if(theEnergy < lastEnergy && theEnergy >= binVector[lastBin]) { - lastEnergy = theEnergy; - Interpolation(); - - } else if( theEnergy <= edgeMin ) { - lastBin = 0; - lastEnergy = edgeMin; - lastValue = dataVector[0]; - - } else if( theEnergy >= edgeMax ){ - lastBin = numberOfNodes-2; - lastEnergy = edgeMax; - lastValue = dataVector[numberOfNodes-1]; - - } else { - lastBin = FindBinLocation(theEnergy); - if(lastBin >= numberOfNodes-1) {lastBin = numberOfNodes-2;} - lastEnergy = theEnergy; - Interpolation(); - } - return lastValue; -} - -//--------------------------------------------------------------- - inline - void G4PhysicsVector::Interpolation() + void G4PhysicsVector::Interpolation(G4int lastBin) { - if(useSpline) { lastValue = SplineInterpolation(); } - else { lastValue = LinearInterpolation(); } + if(useSpline) { cache->lastValue = SplineInterpolation(lastBin); } + else { cache->lastValue = LinearInterpolation(lastBin); } } //--------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsVectorCache.hh b/source/global/management/include/G4PhysicsVectorCache.hh new file mode 100644 index 0000000000..4c18501114 --- /dev/null +++ b/source/global/management/include/G4PhysicsVectorCache.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: G4PhysicsVectorCache.hh,v 1.3 2010/05/05 15:44:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// +// --------------------------------------------------------------- +// GEANT 4 class header file +// +// G4PhysicsVectorCache +// +// Class description: +// +// This class includes cache data in use by G4PhysicsVector: +// last input value, last output value, last bin location. + +// Author: +// 04.05.2010 Hisaya Kurashige +// --------------------------------------------------------------- + +#ifndef G4PhysicsVectorCache_h +#define G4PhysicsVectorCache_h 1 + +#include "globals.hh" +#include "G4Allocator.hh" + +class G4PhysicsVectorCache +{ + public: + + G4PhysicsVectorCache() : lastEnergy(-DBL_MAX), lastValue(0.), lastBin(0) {} + // Constructor + + ~G4PhysicsVectorCache() {} + // Destructor + + G4double lastEnergy; // Cache the last input value + G4double lastValue; // Cache the last output value + size_t lastBin; // Cache the last bin location +}; + +#endif diff --git a/source/global/management/include/G4Pow.hh b/source/global/management/include/G4Pow.hh index 9dcdab728d..e637a5a11c 100644 --- a/source/global/management/include/G4Pow.hh +++ b/source/global/management/include/G4Pow.hh @@ -23,8 +23,8 @@ // * 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 $ +// $Id: G4Pow.hh,v 1.7 2010/08/24 08:12:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------------- @@ -34,7 +34,10 @@ // Class description: // // Utility singleton class for the fast computation of log and pow -// functions +// functions. Integer argument should in the interval 0-255, no +// check is performed inside these methods for performance reasons. +// Computations with double arguments are fast for the interval +// 0.5-255.5, standard library is used in the opposite case // Author: Vladimir Ivanchenko // @@ -78,10 +81,12 @@ class G4Pow // inline G4double powZ(G4int Z, G4double y); inline G4double powA(G4double A, G4double y); + G4double powN(G4double x, G4int n); // Fast factorial // inline G4double factorial(G4int Z); + inline G4double logfactorial(G4int Z); private: @@ -97,6 +102,7 @@ class G4Pow G4DataVector pz13; G4DataVector lz; G4DataVector fact; + G4DataVector logfact; }; // ------------------------------------------------------------------- @@ -108,12 +114,13 @@ inline G4double G4Pow::Z13(G4int Z) inline G4double G4Pow::A13(G4double A) { - const G4int maxZ = 256; + const G4double minA = 0.5000001; + const G4double maxA = 255.5; G4double res; - G4int i = G4int(A + 0.5); - if((i >= 1) && (i < maxZ)) + if((A >= minA) && (A <= maxA)) { + G4int i = G4int(A + 0.5); G4double x = (1.0 - A/G4double(i))*onethird; res = pz13[i]*(1.0 + x - x*x*(1.0 - 1.66666666*x)); } @@ -143,12 +150,13 @@ inline G4double G4Pow::logZ(G4int Z) inline G4double G4Pow::logA(G4double A) { - const G4int maxZ = 256; + const G4double minA = 0.5000001; + const G4double maxA = 255.5; G4double res; - G4int i = G4int(A + 0.5); - if((i >= 1) && (i < maxZ)) + if((A >= minA) && (A <= maxA)) { + G4int i = G4int(A + 0.5); G4double x = 1.0 - A/G4double(i); res = lz[i] + x*(1.0 - 0.5*x + onethird*x*x); } @@ -184,6 +192,11 @@ inline G4double G4Pow::factorial(G4int Z) return fact[Z]; } +inline G4double G4Pow::logfactorial(G4int Z) +{ + return logfact[Z]; +} + // ------------------------------------------------------------------- #endif diff --git a/source/global/management/include/G4Version.hh b/source/global/management/include/G4Version.hh index 00e81286c1..7f1156e280 100644 --- a/source/global/management/include/G4Version.hh +++ b/source/global/management/include/G4Version.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Version.hh,v 1.25 2009/11/24 13:51:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Version.hh,v 1.28 2010/11/24 10:57:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Version information // @@ -46,18 +46,18 @@ // |--> patch number #ifndef G4VERSION_NUMBER -#define G4VERSION_NUMBER 930 +#define G4VERSION_NUMBER 940 #endif #ifndef G4VERSION_TAG -#define G4VERSION_TAG "$Name: geant4-09-03 $" +#define G4VERSION_TAG "$Name: geant4-09-04 $" #endif // as variables #include "G4String.hh" -static const G4String G4Version = "$Name: geant4-09-03 $"; -static const G4String G4Date = "(18-December-2009)"; +static const G4String G4Version = "$Name: geant4-09-04 $"; +static const G4String G4Date = "(17-December-2010)"; #endif diff --git a/source/global/management/include/G4ios.hh b/source/global/management/include/G4ios.hh index e89420df48..299c011e5a 100644 --- a/source/global/management/include/G4ios.hh +++ b/source/global/management/include/G4ios.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ios.hh,v 1.10 2006/06/29 19:03:43 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ios.hh,v 1.12 2010/10/27 07:40:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // --------------------------------------------------------------- @@ -41,7 +41,7 @@ #include -#if defined G4IOS_EXPORT +#if defined G4IOS_ALLOC_EXPORT extern G4DLLEXPORT std::ostream G4cout; extern G4DLLEXPORT std::ostream G4cerr; #else diff --git a/source/global/management/include/G4strstreambuf.hh b/source/global/management/include/G4strstreambuf.hh index f88d72f5e4..9748f1355c 100644 --- a/source/global/management/include/G4strstreambuf.hh +++ b/source/global/management/include/G4strstreambuf.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4strstreambuf.hh,v 1.16 2007/11/13 17:35:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4strstreambuf.hh,v 1.18 2010/10/27 07:40:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ==================================================================== // // G4strstreambuf @@ -40,7 +40,7 @@ class G4strstreambuf; -#if defined G4IOS_EXPORT +#if defined G4IOS_ALLOC_EXPORT extern G4DLLEXPORT G4strstreambuf G4coutbuf; extern G4DLLEXPORT G4strstreambuf G4cerrbuf; #else diff --git a/source/global/management/include/templates.hh b/source/global/management/include/templates.hh index a62ac33e77..329e205eef 100644 --- a/source/global/management/include/templates.hh +++ b/source/global/management/include/templates.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: templates.hh,v 1.13 2008/08/15 12:15:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: templates.hh,v 1.14 2010/07/16 15:48:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -*- C++ -*- @@ -108,6 +108,14 @@ typedef float Float; #define MAXFLOAT std::numeric_limits::max() // 3.40282347e+38F #endif +#ifndef INT_MAX /* Max decimal value of a int */ +#define INT_MAX std::numeric_limits::max() // 2147483647 +#endif + +#ifndef INT_MIN /* Min decimal value of a int */ +#define INT_MIN std::numeric_limits::min() // -2147483648 +#endif + //--------------------------------- template diff --git a/source/global/management/sources.cmake b/source/global/management/sources.cmake new file mode 100644 index 0000000000..fe57346f2a --- /dev/null +++ b/source/global/management/sources.cmake @@ -0,0 +1,119 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4globman +# Package: Geant4.src.G4global.G4globman +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:44:49 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4globman + HEADERS + G4strstreambuf.hh + G4Allocator.hh + G4strstreambuf.icc + G4AllocatorPool.hh + globals.hh + G4ApplicationState.hh + templates.hh + G4DataVector.hh + G4DataVector.icc + G4ErrorPropagatorData.hh + G4ErrorPropagatorData.icc + G4ExceptionSeverity.hh + G4FPEDetection.hh + G4FastVector.hh + G4GeometryTolerance.hh + G4LPhysicsFreeVector.hh + G4LPhysicsFreeVector.icc + G4OrderedTable.hh + G4PhysicalConstants.hh + G4PhysicsFreeVector.hh + G4PhysicsLinearVector.hh + G4PhysicsLnVector.hh + G4PhysicsLogVector.hh + G4PhysicsOrderedFreeVector.hh + G4PhysicsOrderedFreeVector.icc + G4PhysicsTable.hh + G4PhysicsTable.icc + G4PhysicsVector.hh + G4PhysicsVector.icc + G4PhysicsVectorCache.hh + G4PhysicsVectorType.hh + G4Pow.hh + G4ReferenceCountedHandle.hh + G4RotationMatrix.hh + G4SIunits.hh + G4SliceTimer.hh + G4SliceTimer.icc + G4StateManager.hh + G4StateManager.icc + G4String.hh + G4String.icc + G4SystemOfUnits.hh + G4ThreeVector.hh + G4Timer.hh + G4Timer.icc + G4Tokenizer.hh + G4TwoVector.hh + G4Types.hh + G4UnitsTable.hh + G4UnitsTable.icc + G4UserLimits.hh + G4UserLimits.icc + G4VExceptionHandler.hh + G4VNotifier.hh + G4VStateDependent.hh + G4Version.hh + G4coutDestination.hh + G4ios.hh + SOURCES + G4AllocatorPool.cc + G4DataVector.cc + G4ErrorPropagatorData.cc + G4Exception.cc + G4GeometryTolerance.cc + G4LPhysicsFreeVector.cc + G4OrderedTable.cc + G4PhysicsFreeVector.cc + G4PhysicsLinearVector.cc + G4PhysicsLnVector.cc + G4PhysicsLogVector.cc + G4PhysicsOrderedFreeVector.cc + G4PhysicsTable.cc + G4PhysicsVector.cc + G4Pow.cc + G4SliceTimer.cc + G4StateManager.cc + G4Timer.cc + G4UnitsTable.cc + G4VExceptionHandler.cc + G4VNotifier.cc + G4VStateDependent.cc + G4coutDestination.cc + G4ios.cc + GRANULAR_DEPENDENCIES + GLOBAL_DEPENDENCIES + LINK_LIBRARIES + ${CLHEP_LIBRARIES} +) + +# List any source specific properties here + diff --git a/source/global/management/src/G4AllocatorPool.cc b/source/global/management/src/G4AllocatorPool.cc index 75d43d46d2..e26d4dfbbc 100644 --- a/source/global/management/src/G4AllocatorPool.cc +++ b/source/global/management/src/G4AllocatorPool.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AllocatorPool.cc,v 1.4 2006/06/29 19:03:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AllocatorPool.cc,v 1.6 2010/07/14 10:45:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -54,9 +54,9 @@ G4AllocatorPool::G4AllocatorPool( unsigned int sz ) // ************************************************************ // G4AllocatorPool::G4AllocatorPool(const G4AllocatorPool& right) - : esize(right.esize), csize(right.csize) + : esize(right.esize), csize(right.csize), + chunks(right.chunks), head(right.head), nchunks(right.nchunks) { - *this = right; } // ************************************************************ diff --git a/source/global/management/src/G4DataVector.cc b/source/global/management/src/G4DataVector.cc index f251734138..4d24b339bf 100644 --- a/source/global/management/src/G4DataVector.cc +++ b/source/global/management/src/G4DataVector.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DataVector.cc,v 1.9 2007/11/13 17:35:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DataVector.cc,v 1.12 2010/11/01 13:55:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -87,7 +87,7 @@ G4bool G4DataVector::Store(std::ofstream& fOut, G4bool ascii) G4bool G4DataVector::Retrieve(std::ifstream& fIn, G4bool ascii) { clear(); - size_t sizeV=0; + G4int sizeV=0; // retrieve in ascii mode if (ascii) @@ -95,9 +95,17 @@ G4bool G4DataVector::Retrieve(std::ifstream& fIn, G4bool ascii) // contents fIn >> sizeV; if (fIn.fail()) { return false; } - + if (sizeV<=0) + { +#ifdef G4VERBOSE + G4cerr << "G4DataVector::Retrieve():"; + G4cerr << " Invalid vector size: " << sizeV << G4endl; +#endif + return false; + } + reserve(sizeV); - for(size_t i = 0; i < sizeV ; i++) + for(G4int i = 0; i < sizeV ; i++) { G4double vData=0.0; fIn >> vData; @@ -119,7 +127,7 @@ G4bool G4DataVector::Retrieve(std::ifstream& fIn, G4bool ascii) } reserve(sizeV); - for(size_t i = 0; i < sizeV; i++) + for(G4int i = 0; i < sizeV; i++) { push_back(value[i]); } @@ -129,11 +137,12 @@ G4bool G4DataVector::Retrieve(std::ifstream& fIn, G4bool ascii) std::ostream& operator<<(std::ostream& out, const G4DataVector& pv) { - out << pv.size() << G4endl; + out << pv.size() << std::setprecision(12) << G4endl; for(size_t i = 0; i < pv.size(); i++) { - out << std::setprecision(12) << pv[i] << G4endl; + out << pv[i] << G4endl; } + out << std::setprecision(6); return out; } diff --git a/source/global/management/src/G4ErrorPropagatorData.cc b/source/global/management/src/G4ErrorPropagatorData.cc index 44c1855a7b..119745070a 100644 --- a/source/global/management/src/G4ErrorPropagatorData.cc +++ b/source/global/management/src/G4ErrorPropagatorData.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ErrorPropagatorData.cc,v 1.5 2009/05/19 13:31:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ErrorPropagatorData.cc,v 1.7 2010/10/01 16:36:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------------- @@ -37,18 +37,18 @@ //------------------------------------------------------------------- G4ErrorPropagatorData* G4ErrorPropagatorData::theErrorPropagatorData = 0; - G4int G4ErrorPropagatorData::theVerbosity = 0; //------------------------------------------------------------------- -G4ErrorPropagatorData::~G4ErrorPropagatorData() +G4ErrorPropagatorData::G4ErrorPropagatorData() + : theMode(G4ErrorMode_PropTest), theState(G4ErrorState_PreInit), + theStage(G4ErrorStage_Inflation), theTarget(0) { } -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 d68e30e80c..306ee121e1 100644 --- a/source/global/management/src/G4LPhysicsFreeVector.cc +++ b/source/global/management/src/G4LPhysicsFreeVector.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LPhysicsFreeVector.cc,v 1.23 2009/06/25 10:05:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LPhysicsFreeVector.cc,v 1.25 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // -------------------------------------------------------------------- diff --git a/source/global/management/src/G4OrderedTable.cc b/source/global/management/src/G4OrderedTable.cc index 2433dccd7e..aa88d7804c 100644 --- a/source/global/management/src/G4OrderedTable.cc +++ b/source/global/management/src/G4OrderedTable.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OrderedTable.cc,v 1.6 2007/11/13 17:35:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4OrderedTable.cc,v 1.8 2010/11/01 13:55:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -70,8 +70,8 @@ G4bool G4OrderedTable::Store(const G4String& fileName, if (!fOut) { #ifdef G4VERBOSE - G4cerr << "G4OrderedTable::::Store "; - G4cerr << " Can not open file " << fileName << G4endl; + G4cerr << "G4OrderedTable::::Store():"; + G4cerr << " Cannot open file: " << fileName << G4endl; #endif fOut.close(); return false; @@ -122,8 +122,8 @@ G4bool G4OrderedTable::Retrieve(const G4String& fileName, if (!fIn) { #ifdef G4VERBOSE - G4cerr << "G4OrderedTable::Retrieve "; - G4cerr << " Can not open file " << fileName << G4endl; + G4cerr << "G4OrderedTable::Retrieve():"; + G4cerr << " Cannot open file: " << fileName << G4endl; #endif fIn.close(); return false; @@ -133,7 +133,7 @@ G4bool G4OrderedTable::Retrieve(const G4String& fileName, clearAndDestroy(); // Number of elements - size_t tableSize=0; + G4int tableSize=0; if (!ascii) { fIn.read((char*)(&tableSize), sizeof tableSize); @@ -142,10 +142,18 @@ G4bool G4OrderedTable::Retrieve(const G4String& fileName, { fIn >> tableSize; } + if (tableSize<=0) + { +#ifdef G4VERBOSE + G4cerr << "G4OrderedTable::Retrieve():"; + G4cerr << " Invalid table size: " << tableSize << G4endl; +#endif + return false; + } reserve(tableSize); // Physics Vector - for (size_t idx=0; idxRetrieve(fIn,ascii)) ) { #ifdef G4VERBOSE - G4cerr << "G4OrderedTable::Retrieve "; - G4cerr << " error in retreiving " << idx - << "-th Physics Vector from file "; + G4cerr << "G4OrderedTable::Retrieve(): "; + G4cerr << " Rrror in retreiving " << idx + << "-th Physics Vector from file: "; G4cerr << fileName << G4endl; #endif fIn.close(); + delete pVec; return false; } diff --git a/source/global/management/src/G4PhysicsFreeVector.cc b/source/global/management/src/G4PhysicsFreeVector.cc index da6bf67a12..054f0ab362 100644 --- a/source/global/management/src/G4PhysicsFreeVector.cc +++ b/source/global/management/src/G4PhysicsFreeVector.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsFreeVector.cc,v 1.13 2009/06/25 10:05:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicsFreeVector.cc,v 1.15 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // //-------------------------------------------------------------------- @@ -92,7 +92,8 @@ G4PhysicsFreeVector::~G4PhysicsFreeVector() { } -void G4PhysicsFreeVector::PutValue( size_t theBinNumber, G4double theBinValue, +void G4PhysicsFreeVector::PutValue( size_t theBinNumber, + G4double theBinValue, G4double theDataValue ) { binVector[theBinNumber] = theBinValue; diff --git a/source/global/management/src/G4PhysicsLinearVector.cc b/source/global/management/src/G4PhysicsLinearVector.cc index 09b3b0df99..f430c14141 100644 --- a/source/global/management/src/G4PhysicsLinearVector.cc +++ b/source/global/management/src/G4PhysicsLinearVector.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsLinearVector.cc,v 1.15 2009/06/25 10:05:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicsLinearVector.cc,v 1.18 2010/05/28 05:13:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // //-------------------------------------------------------------------- @@ -74,11 +74,16 @@ G4PhysicsLinearVector::G4PhysicsLinearVector(G4double theEmin, dataVector.reserve(numberOfNodes); binVector.reserve(numberOfNodes); - for (size_t i=0; i #include #include +#include "G4PhysicsVector.hh" +#include "G4PhysicsTable.hh" +#include "G4PhysicsVectorType.hh" +#include "G4LPhysicsFreeVector.hh" +#include "G4PhysicsLogVector.hh" +#include "G4PhysicsFreeVector.hh" +#include "G4PhysicsOrderedFreeVector.hh" +#include "G4PhysicsLinearVector.hh" +#include "G4PhysicsLnVector.hh" + G4PhysicsTable::G4PhysicsTable() : G4PhysCollection() { @@ -102,8 +110,8 @@ G4bool G4PhysicsTable::StorePhysicsTable(const G4String& fileName, if (!fOut) { #ifdef G4VERBOSE - G4cerr << "G4PhysicsTable::StorePhysicsTable "; - G4cerr << " Can not open file " << fileName << G4endl; + G4cerr << "G4PhysicsTable::StorePhysicsTable():"; + G4cerr << " Cannot open file: " << fileName << G4endl; #endif fOut.close(); return false; @@ -169,8 +177,8 @@ G4bool G4PhysicsTable::RetrievePhysicsTable(const G4String& fileName, if (!fIn) { #ifdef G4VERBOSE - G4cerr << "G4PhysicsTable::RetrievePhysicsTable "; - G4cerr << " Can not open file " << fileName << G4endl; + G4cerr << "G4PhysicsTable::RetrievePhysicsTable():"; + G4cerr << " Cannot open file: " << fileName << G4endl; #endif fIn.close(); return false; @@ -180,7 +188,7 @@ G4bool G4PhysicsTable::RetrievePhysicsTable(const G4String& fileName, clearAndDestroy(); // Number of elements - size_t tableSize=0; + G4int tableSize=0; if (!ascii) { fIn.read((char*)(&tableSize), sizeof tableSize); @@ -189,11 +197,19 @@ G4bool G4PhysicsTable::RetrievePhysicsTable(const G4String& fileName, { fIn >> tableSize; } + if (tableSize<=0) + { +#ifdef G4VERBOSE + G4cerr << "G4PhysicsTable::RetrievePhysicsTable():"; + G4cerr << " Invalid table size: " << tableSize << G4endl; +#endif + return false; + } reserve(tableSize); vecFlag.clear(); // Physics Vector - for (size_t idx=0; idxRetrieve(fIn,ascii)) ) { #ifdef G4VERBOSE - G4cerr << "G4PhysicsTable::RetrievePhysicsTable "; - G4cerr << " error in retreiving " << idx << "-th Physics Vector from file "; + G4cerr << "G4PhysicsTable::RetrievePhysicsTable():"; + G4cerr << " Rrror in retreiving " << idx + << "-th Physics Vector from file: "; G4cerr << fileName << G4endl; #endif fIn.close(); @@ -272,14 +289,6 @@ void G4PhysicsTable::ResetFlagArray() } } -#include "G4PhysicsVectorType.hh" -#include "G4LPhysicsFreeVector.hh" -#include "G4PhysicsLogVector.hh" -#include "G4PhysicsFreeVector.hh" -#include "G4PhysicsOrderedFreeVector.hh" -#include "G4PhysicsLinearVector.hh" -#include "G4PhysicsLnVector.hh" - G4PhysicsVector* G4PhysicsTable::CreatePhysicsVector(G4int type) { G4PhysicsVector* pVector=0; diff --git a/source/global/management/src/G4PhysicsVector.cc b/source/global/management/src/G4PhysicsVector.cc index e303885215..4e0b006dbb 100644 --- a/source/global/management/src/G4PhysicsVector.cc +++ b/source/global/management/src/G4PhysicsVector.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsVector.cc,v 1.41 2009/12/07 09:21:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicsVector.cc,v 1.49 2010/11/01 13:55:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -48,6 +48,9 @@ // FillSecondDerivatives - default computation base on "not-a-knot" // algorithm // 19 Jun. 2009, V.Ivanchenko : removed hidden bin +// 17 Nov. 2009, H.Kurashige : use pointer for DataVector +// 04 May 2010 H.Kurashige : use G4PhyscisVectorCache +// 28 May 2010 H.Kurashige : Stop using pointers to G4PVDataVector // -------------------------------------------------------------- #include "G4PhysicsVector.hh" @@ -58,18 +61,23 @@ G4PhysicsVector::G4PhysicsVector(G4bool spline) : type(T_G4PhysicsVector), edgeMin(0.), edgeMax(0.), numberOfNodes(0), - lastEnergy(-DBL_MAX), lastValue(0.), lastBin(0), useSpline(spline) -{} + useSpline(spline) +{ + cache = new G4PhysicsVectorCache(); +} // -------------------------------------------------------------- G4PhysicsVector::~G4PhysicsVector() -{} +{ + delete cache; cache =0; +} // -------------------------------------------------------------- G4PhysicsVector::G4PhysicsVector(const G4PhysicsVector& right) { + cache = new G4PhysicsVectorCache(); CopyData(right); } @@ -115,14 +123,25 @@ void G4PhysicsVector::CopyData(const G4PhysicsVector& vec) edgeMin = vec.edgeMin; edgeMax = vec.edgeMax; numberOfNodes = vec.numberOfNodes; - lastEnergy = vec.lastEnergy; - lastValue = vec.lastValue; - lastBin = vec.lastBin; - dataVector = vec.dataVector; - binVector = vec.binVector; + cache->lastEnergy = vec.GetLastEnergy(); + cache->lastValue = vec.GetLastValue(); + cache->lastBin = vec.GetLastBin(); useSpline = vec.useSpline; comment = vec.comment; - secDerivative = vec.secDerivative; + + size_t i; + dataVector.clear(); + for(i=0; i<(vec.dataVector).size(); i++){ + dataVector.push_back( (vec.dataVector)[i] ); + } + binVector.clear(); + for(i=0; i<(vec.binVector).size(); i++){ + binVector.push_back( (vec.binVector)[i] ); + } + secDerivative.clear(); + for(i=0; i<(vec.secDerivative).size(); i++){ + secDerivative.push_back( (vec.secDerivative)[i] ); + } } // -------------------------------------------------------------- @@ -170,9 +189,9 @@ G4bool G4PhysicsVector::Store(std::ofstream& fOut, G4bool ascii) G4bool G4PhysicsVector::Retrieve(std::ifstream& fIn, G4bool ascii) { // clear properties; - lastEnergy=-DBL_MAX; - lastValue =0.; - lastBin =0; + cache->lastEnergy=-DBL_MAX; + cache->lastValue =0.; + cache->lastBin =0; dataVector.clear(); binVector.clear(); secDerivative.clear(); @@ -185,15 +204,23 @@ G4bool G4PhysicsVector::Retrieve(std::ifstream& fIn, G4bool ascii) fIn >> edgeMin >> edgeMax >> numberOfNodes; if (fIn.fail()) { return false; } // contents - size_t size=0; - fIn >> size; + G4int siz=0; + fIn >> siz; if (fIn.fail()) { return false; } + if (siz<=0) + { +#ifdef G4VERBOSE + G4cerr << "G4PhysicsVector::Retrieve():"; + G4cerr << " Invalid vector size: " << siz << G4endl; +#endif + return false; + } - binVector.reserve(size); - dataVector.reserve(size); + binVector.reserve(siz); + dataVector.reserve(siz); G4double vBin, vData; - for(size_t i = 0; i < size ; i++) + for(G4int i = 0; i < siz ; i++) { vBin = 0.; vData= 0.; @@ -252,8 +279,8 @@ G4PhysicsVector::ScaleVector(G4double factorE, G4double factorV) edgeMin *= factorE; edgeMax *= factorE; - lastEnergy *= factorE; - lastValue *= factorV; + cache->lastEnergy = factorE*(cache->lastEnergy); + cache->lastValue = factorV*(cache->lastValue); } // -------------------------------------------------------------- @@ -292,7 +319,7 @@ G4PhysicsVector::ComputeSecondDerivatives(G4double firstPointDerivative, for(G4int i=1; ilastEnergy ) { + + } else if( theEnergy < cache->lastEnergy + && theEnergy >= binVector[cache->lastBin]) { + cache->lastEnergy = theEnergy; + Interpolation(cache->lastBin); + + } else if( theEnergy <= edgeMin ) { + cache->lastBin = 0; + cache->lastEnergy = edgeMin; + cache->lastValue = dataVector[0]; + + } else if( theEnergy >= edgeMax ){ + cache->lastBin = numberOfNodes-1; + cache->lastEnergy = edgeMax; + cache->lastValue = dataVector[cache->lastBin]; + + } else { + cache->lastBin = FindBinLocation(theEnergy); + cache->lastEnergy = theEnergy; + Interpolation(cache->lastBin); + } + return cache->lastValue; +} + diff --git a/source/global/management/src/G4Pow.cc b/source/global/management/src/G4Pow.cc index 38533818ec..2a570efbe3 100644 --- a/source/global/management/src/G4Pow.cc +++ b/source/global/management/src/G4Pow.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4Pow.cc,v 1.2 2009/07/03 11:35:06 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Pow.cc,v 1.4 2010/08/24 08:12:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -64,19 +64,22 @@ G4Pow::G4Pow() pz13.resize(maxZ,0.0); lz.resize(maxZ,0.0); fact.resize(maxZ,0.0); + logfact.resize(maxZ,0.0); onethird = 1.0/3.0; G4double f = 1.0; - for(G4int i=1; i= 0) { for(G4int i=0; i::iterator - i=theDependentsList.begin(); i!=theDependentsList.end(); i++) + i=theDependentsList.begin(); i!=theDependentsList.end();) { if (*i==state) { - theDependentsList.erase(i); - i--; + i = theDependentsList.erase(i); + } + else + { + ++i; } } if ( state ) { delete state; } @@ -152,14 +155,18 @@ G4StateManager::DeregisterDependent(G4VStateDependent* aDependent) { G4VStateDependent* tmp = 0; for (std::vector::iterator i=theDependentsList.begin(); - i!=theDependentsList.end(); i++) + i!=theDependentsList.end();) + { + if (**i==*aDependent) { - if (**i==*aDependent) - { - tmp = *i; - theDependentsList.erase(i); - } + tmp = *i; + i = theDependentsList.erase(i); } + else + { + ++i; + } + } return (tmp != 0); } @@ -215,14 +222,18 @@ G4StateManager::RemoveDependent(const G4VStateDependent* aDependent) { G4VStateDependent* tmp = 0; for (std::vector::iterator i=theDependentsList.begin(); - i!=theDependentsList.end(); i++) + i!=theDependentsList.end();) + { + if (**i==*aDependent) { - if (**i==*aDependent) - { - tmp = *i; - theDependentsList.erase(i); - } + tmp = *i; + i = theDependentsList.erase(i); } + else + { + ++i; + } + } return tmp; } diff --git a/source/global/management/src/G4UnitsTable.cc b/source/global/management/src/G4UnitsTable.cc index 765e30a8af..c717729723 100644 --- a/source/global/management/src/G4UnitsTable.cc +++ b/source/global/management/src/G4UnitsTable.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UnitsTable.cc,v 1.37 2008/05/06 17:17:08 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UnitsTable.cc,v 1.38 2010/08/09 15:21:14 maire Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // @@ -42,6 +42,7 @@ // MeV*cm2/g ..etc.. ("Energy*Surface/Mass") // 18-08-06: remove symbol mum (mma) // 06-05-08: V/m ("Electric field") (mma) +// 09-08-10: new category "Solid angle" (mma) // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -216,9 +217,12 @@ void G4UnitDefinition::BuildUnitsTable() //Angle new G4UnitDefinition( "radian","rad" ,"Angle",radian); new G4UnitDefinition("milliradian","mrad" ,"Angle",milliradian); - new G4UnitDefinition( "steradian","sr" ,"Angle",steradian); new G4UnitDefinition( "degree","deg" ,"Angle",degree); + //Solid angle + new G4UnitDefinition( "steradian","sr" ,"Solid angle",steradian); + new G4UnitDefinition("millisteradian","msr" ,"Solid angle",steradian*0.001); + //Time new G4UnitDefinition( "second","s" ,"Time",second); new G4UnitDefinition("millisecond","ms" ,"Time",millisecond); diff --git a/source/graphics_reps/CMakeLists.txt b/source/graphics_reps/CMakeLists.txt new file mode 100644 index 0000000000..50053ba619 --- /dev/null +++ b/source/graphics_reps/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4graphics_reps +# Package: Geant4.src.G4graphics_reps +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:44:57 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/graphics_reps/History b/source/graphics_reps/History index ace5be8ff6..5a1e1786cb 100644 --- a/source/graphics_reps/History +++ b/source/graphics_reps/History @@ -1,4 +1,4 @@ -cvs log $Id: History,v 1.138 2009/10/28 13:40:40 allison Exp $ +cvs log $Id: History,v 1.141 2010/05/30 11:15:52 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,21 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +30th May 2010 John Allison (greps-V09-03-02) +- G4VVisManager: Added Draw(const G4VDigi&) and FilterDigi(const G4VDigi&). +- G4VGraphicsScene: Added AddCompound (const G4VDigi&). + +29th May 2010 John Allison (greps-V09-03-01) +- G4VVisManager: + o Removed IsDefaultDrawTrajectory. A better way is... + o Added DispatchToModel(const G4VTrajectory&), i.e., without i_mode, to + distinguish usage and in preparation for i_mode migration. + +7th May 2010 John Allison (greps-V09-03-00) +- G4VVisManager: Added a public static boolean flag, + IsDefaultDrawTrajectory, to assist deprecation of i-mode trajectory + drawing parameter. After 10.0, it can be removed. + 28th October 2009 John Allison (greps-V09-02-03 coworks vis-V09-02-10) - HepPolyhedron: o Removed static instance of BooleanProcessor. diff --git a/source/graphics_reps/include/G4VGraphicsScene.hh b/source/graphics_reps/include/G4VGraphicsScene.hh index 7fe71c3b07..e3f19809a3 100644 --- a/source/graphics_reps/include/G4VGraphicsScene.hh +++ b/source/graphics_reps/include/G4VGraphicsScene.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VGraphicsScene.hh,v 1.12 2009/10/21 15:36:22 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VGraphicsScene.hh,v 1.13 2010/05/30 11:15:36 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // John Allison 19th July 1996 // // Class Description: @@ -56,6 +56,7 @@ class G4Polycone; class G4Polyhedra; class G4VTrajectory; class G4VHit; +class G4VDigi; template class G4THitsMap; class G4Polyline; class G4Scale; @@ -115,6 +116,7 @@ public: // With description virtual void AddCompound (const G4VTrajectory&) = 0; virtual void AddCompound (const G4VHit&) = 0; + virtual void AddCompound (const G4VDigi&) = 0; virtual void AddCompound (const G4THitsMap&) = 0; /////////////////////////////////////////////////////////////////// diff --git a/source/graphics_reps/include/G4VVisManager.hh b/source/graphics_reps/include/G4VVisManager.hh index 00d76b30de..614daff886 100644 --- a/source/graphics_reps/include/G4VVisManager.hh +++ b/source/graphics_reps/include/G4VVisManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VVisManager.hh,v 1.15 2009/02/25 14:13:43 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VVisManager.hh,v 1.18 2010/05/30 11:15:36 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // John Allison 19/Oct/1996. // // Class Description: @@ -86,6 +86,7 @@ class G4Polyhedron; class G4NURBS; class G4VSolid; class G4VHit; +class G4VDigi; class G4VTrajectory; class G4LogicalVolume; class G4VPhysicalVolume; @@ -167,6 +168,8 @@ public: // With description virtual void Draw (const G4VHit&) = 0; + virtual void Draw (const G4VDigi&) = 0; + virtual void Draw (const G4VTrajectory&, G4int i_mode = 0) = 0; // i_mode is a parameter that can be used to control the drawing of // the trajectory. See, e.g., G4TrajectoryDrawByCharge::Draw in the @@ -193,7 +196,8 @@ public: // With description // has changed so that they may rebuild their graphics database, if // any, and redraw all views. - virtual void DispatchToModel(const G4VTrajectory&, G4int i_mode = 0) = 0; + virtual void DispatchToModel(const G4VTrajectory&) = 0; + virtual void DispatchToModel(const G4VTrajectory&, G4int i_mode) = 0; // Draw the trajectory. virtual G4bool FilterTrajectory(const G4VTrajectory&) = 0; @@ -202,12 +206,14 @@ public: // With description virtual G4bool FilterHit(const G4VHit&) = 0; // Hit filter + virtual G4bool FilterDigi(const G4VDigi&) = 0; + // Digi filter + protected: static void SetConcreteInstance (G4VVisManager*); static G4VVisManager* fpConcreteInstance; // Pointer to real G4VisManager. - }; #endif diff --git a/source/graphics_reps/sources.cmake b/source/graphics_reps/sources.cmake new file mode 100644 index 0000000000..ae540f25e0 --- /dev/null +++ b/source/graphics_reps/sources.cmake @@ -0,0 +1,124 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4graphics_reps +# Package: Geant4.src.G4graphics_reps +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:45:06 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4graphics_reps + HEADERS + G4AttCheck.hh + G4AttDef.hh + G4AttDefStore.hh + G4AttDefT.hh + G4AttHolder.hh + G4AttUtils.hh + G4AttValue.hh + G4Circle.hh + G4Color.hh + G4Colour.hh + G4ConversionFatalError.hh + G4ConversionUtils.hh + G4CreatorFactoryT.hh + G4DimensionedDouble.hh + G4DimensionedThreeVector.hh + G4DimensionedType.hh + G4NURBS.hh + G4NURBSbox.hh + G4NURBScylinder.hh + G4NURBShexahedron.hh + G4NURBStube.hh + G4NURBStubesector.hh + G4PlacedPolyhedron.hh + G4Point3DList.hh + G4Polyhedron.hh + G4PolyhedronArbitrary.hh + G4Polyline.hh + G4Polymarker.hh + G4Polymarker.icc + G4Scale.hh + G4Scale.icc + G4SmartFilter.hh + G4Square.hh + G4Square.icc + G4Text.hh + G4Text.icc + G4TypeKey.hh + G4TypeKeyT.hh + G4VFilter.hh + G4VGraphicsScene.hh + G4VMarker.hh + G4VMarker.icc + G4VVisManager.hh + G4VisAttributes.hh + G4VisAttributes.icc + G4VisExtent.hh + G4Visible.hh + G4Visible.icc + HepPolyhedron.h + HepPolyhedronProcessor.h + SOURCES + BooleanProcessor.src + G4AttCheck.cc + G4AttDef.cc + G4AttDefStore.cc + G4AttHolder.cc + G4AttUtils.cc + G4Circle.cc + G4Colour.cc + G4NURBS.cc + G4NURBSbox.cc + G4NURBScylinder.cc + G4NURBShexahedron.cc + G4NURBStube.cc + G4NURBStubesector.cc + G4PlacedPolyhedron.cc + G4Point3DList.cc + G4Polyhedron.cc + G4PolyhedronArbitrary.cc + G4Polyline.cc + G4Polymarker.cc + G4Scale.cc + G4Square.cc + G4Text.cc + G4VGraphicsScene.cc + G4VMarker.cc + G4VVisManager.cc + G4VisAttributes.cc + G4VisExtent.cc + G4Visible.cc + HepPolyhedron.cc + HepPolyhedronProcessor.src + GRANULAR_DEPENDENCIES + G4globman + G4intercoms + GLOBAL_DEPENDENCIES + G4global + G4intercoms + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/graphics_reps/src/G4VVisManager.cc b/source/graphics_reps/src/G4VVisManager.cc index 0f11572bb5..0dc51eb560 100644 --- a/source/graphics_reps/src/G4VVisManager.cc +++ b/source/graphics_reps/src/G4VVisManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VVisManager.cc,v 1.4 2006/06/29 19:07:24 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VVisManager.cc,v 1.6 2010/05/29 21:35:16 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Abstract interface for GEANT4 Visualization Manager. diff --git a/source/intercoms/CMakeLists.txt b/source/intercoms/CMakeLists.txt new file mode 100644 index 0000000000..3f7bbda81b --- /dev/null +++ b/source/intercoms/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4intercoms +# Package: Geant4.src.G4intercoms +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:45:14 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/intercoms/History b/source/intercoms/History index 8806fc33a4..b57fd18935 100644 --- a/source/intercoms/History +++ b/source/intercoms/History @@ -1,4 +1,4 @@ -$Id: History,v 1.77 2009/11/06 09:00:02 kmura Exp $ +$Id: History,v 1.83 2010/11/11 11:32:08 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,29 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +11 November, 2010 G. Cosmo (intercoms-V09-03-04) + - Corrected printout spelling in G4UIbatch. + +24 August, 2010 M. Asai (intercoms-V09-03-03) + - Add new commands + /control/if + /control/add + /control/subtract + /control/multiply + /control/divide + +3 Aug. 2010 K. Murakami (intercoms-V09-03-02) + - Range check of UI commands care for units. + * G4UIcommahd::DoIt() method is changed to virtual. + * G4UIcmdWithADoubleAndUnit/G4UIcmdWith3VectorAndUnit: add DoIt() method. + +19 May 2010 L. Garnier (intercoms-V09-03-01) + - G4UIManager : Add field to get GUI Window session + +18 May, 2010 K.Murakami (intercoms-V09-03-00) + - add used characters to tokenNum in G4UItokenNum + for suppressing compiler warnings of gcc 4.5 + 6 November, 2009 K. Murakami (intercoms-V09-02-02) - add GetPreviousSession() in G4UIbatch diff --git a/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh b/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh index 3586c25456..1651ec6404 100644 --- a/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh +++ b/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UIcmdWith3VectorAndUnit.hh,v 1.8 2006/06/29 19:07:49 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UIcmdWith3VectorAndUnit.hh,v 1.9 2010/08/03 07:10:09 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -47,6 +47,7 @@ class G4UIcmdWith3VectorAndUnit : public G4UIcommand (const char * theCommandPath,G4UImessenger * theMessenger); // Constructor. The command string with full path directory // and the pointer to the messenger must be given. + virtual G4int DoIt(G4String parameterList); static G4ThreeVector GetNew3VectorValue(const char* paramString); // Convert string which represents three double values and a unit to // G4ThreeVector. Values are converted to the Geant4 internal unit. @@ -73,7 +74,7 @@ class G4UIcmdWith3VectorAndUnit : public G4UIcommand // the value(s) when he/she applies the command. If "omittable" is false, // the user must supply all three values. // "currentAsDefault" flag is valid only if "omittable" is true. If this - // flag is true, the current values are used as the default values when the + // flag is true, the current values are used as the default values when the // user ommit some of the parameters. If this flag is false, the values // given by the next SetDefaultValue() method are used. void SetDefaultValue(G4ThreeVector defVal); diff --git a/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh b/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh index e895f2dc2b..7cb54b3ad3 100644 --- a/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh +++ b/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UIcmdWithADoubleAndUnit.hh,v 1.8 2006/06/29 19:07:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UIcmdWithADoubleAndUnit.hh,v 1.9 2010/08/03 07:10:09 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -45,7 +45,8 @@ class G4UIcmdWithADoubleAndUnit : public G4UIcommand G4UIcmdWithADoubleAndUnit (const char * theCommandPath,G4UImessenger * theMessenger); // Constructor. The command string with full path directory - // and the pointer to the messenger must be given. + // and the pointer to the messenger must be given. + virtual G4int DoIt(G4String parameterList); static G4double GetNewDoubleValue(const char* paramString); // Convert string which represents a double value and a unit to // double. Value is converted to the Geant4 internal unit. @@ -72,7 +73,7 @@ class G4UIcmdWithADoubleAndUnit : public G4UIcommand // the value when he/she applies the command. If "omittable" is false, // the user must supply a value. // "currentAsDefault" flag is valid only if "omittable" is true. If this - // flag is true, the current value is used as the default value when the + // flag is true, the current value is used as the default value when the // user ommit the double parameter. If this flag is false, the value // given by the next SetDefaultValue() method is used. void SetDefaultValue(G4double defVal); diff --git a/source/intercoms/include/G4UIcommand.hh b/source/intercoms/include/G4UIcommand.hh index 88ee064d3b..4e9c62233a 100644 --- a/source/intercoms/include/G4UIcommand.hh +++ b/source/intercoms/include/G4UIcommand.hh @@ -24,10 +24,10 @@ // ******************************************************************** // // -// $Id: G4UIcommand.hh,v 1.15 2006/06/29 19:08:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UIcommand.hh,v 1.16 2010/08/03 07:10:09 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // -// #ifndef G4UIcommand_h #define G4UIcommand_h 1 @@ -41,7 +41,7 @@ class G4UImessenger; #include "G4ThreeVector.hh" // class description: -// +// // This G4UIcommand is the "concrete" base class which represents a command // used by Geant4 (G)UI. The user can use this class in case the parameter // arguments of a command are not suitable with respect to the derived command @@ -49,21 +49,21 @@ class G4UImessenger; // Some methods defined in this base class are used by the derived classes. // -class G4UIcommand +class G4UIcommand { - public: + public: G4UIcommand(); public: // with description G4UIcommand(const char * theCommandPath, G4UImessenger * theMessenger); // Constructor. The command string with full path directory // and the pointer to the messenger must be given. - public: + public: virtual ~G4UIcommand(); G4int operator==(const G4UIcommand &right) const; G4int operator!=(const G4UIcommand &right) const; - G4int DoIt(G4String parameterList); + virtual G4int DoIt(G4String parameterList); G4String GetCurrentValue(); public: // with description void AvailableForStates(G4ApplicationState s1); @@ -107,7 +107,7 @@ class G4UIcommand static G4String UnitsList(const char* unitCategory); // Static methods for unit and its category. - private: + private: void G4UIcommandCommonConstructorCode (const char * theCommandPath); G4UImessenger *messenger; G4String commandPath; @@ -145,16 +145,16 @@ class G4UIcommand public: // with description inline void SetParameter(G4UIparameter *const newParameter) { - parameter.push_back( newParameter ); - newVal.resize( parameter.size() ); + parameter.push_back( newParameter ); + newVal.resize( parameter.size() ); } // Defines a parameter. This method is used by the derived command classes // but the user can directly use this command when he/she defines a command // by hem(her)self without using the derived class. For this case, the order // of the parameters is the order of invoking this method. inline void SetGuidance(const char * aGuidance) - { - commandGuidance.push_back( G4String( aGuidance ) ); + { + commandGuidance.push_back( G4String( aGuidance ) ); } // Adds a guidance line. Unlimitted number of invokation of this method is // allowed. The given lines of guidance will appear for the help. The first @@ -163,10 +163,10 @@ class G4UIcommand public: inline const G4String GetTitle() const { - if(commandGuidance.size() == 0) - { return G4String("...Title not available..."); } - else - { return commandGuidance[0]; } + if(commandGuidance.size() == 0) + { return G4String("...Title not available..."); } + else + { return commandGuidance[0]; } } protected: @@ -193,12 +193,12 @@ class G4UIcommand G4int Eval2( yystype arg1, G4int op, yystype arg2 ); G4int CompareInt( G4int arg1, G4int op, G4int arg2); G4int CompareDouble( G4double arg1, G4int op, G4double arg2); - // utility + // utility tokenNum Yylex( void ); // returns next token unsigned IndexOf( const char* ); // returns the index of the var name unsigned IsParameter( const char* ); // returns 1 or 0 G4int G4UIpGetc( void ); // read one char from rangeBuf - G4int G4UIpUngetc( G4int c ); // put back + G4int G4UIpUngetc( G4int c ); // put back G4int Backslash( G4int c ); G4int Follow( G4int expect, G4int ifyes, G4int ifno ); G4String TokenToStr(G4int token); diff --git a/source/intercoms/include/G4UIcontrolMessenger.hh b/source/intercoms/include/G4UIcontrolMessenger.hh index 4e69e44b6c..05b4e4b4cb 100644 --- a/source/intercoms/include/G4UIcontrolMessenger.hh +++ b/source/intercoms/include/G4UIcontrolMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UIcontrolMessenger.hh,v 1.12 2007/06/06 15:14:51 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UIcontrolMessenger.hh,v 1.13 2010/08/25 06:09:57 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4UIcontrolMessenger_h @@ -60,6 +60,11 @@ class G4UIcommand; // /control/manual // /control/createHTML // /control/maximumStoredHistory +// /control/if +// /control/add +// /control/subtract +// /control/multiply +// /control/divide class G4UIcontrolMessenger : public G4UImessenger { @@ -87,6 +92,12 @@ class G4UIcontrolMessenger : public G4UImessenger G4UIcmdWithAString * ManualCommand; G4UIcmdWithAString * HTMLCommand; G4UIcmdWithAnInteger * maxStoredHistCommand; + G4UIcommand * ifCommand; + G4UIcommand * addCommand; + G4UIcommand * subtractCommand; + G4UIcommand * multiplyCommand; + G4UIcommand * divideCommand; + G4UIcommand * remainderCommand; }; #endif diff --git a/source/intercoms/include/G4UImanager.hh b/source/intercoms/include/G4UImanager.hh index bcc81249ab..cdf6b44fac 100644 --- a/source/intercoms/include/G4UImanager.hh +++ b/source/intercoms/include/G4UImanager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UImanager.hh,v 1.21 2006/06/29 19:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UImanager.hh,v 1.22 2010/05/19 14:50:30 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef G4UImanager_h @@ -143,6 +143,7 @@ class G4UImanager : public G4VStateDependent static G4bool fUImanagerHasBeenKilled; G4UIcommandTree * treeTop; G4UIsession * session; + G4UIsession * g4UIWindow; G4UIcontrolMessenger * UImessenger; G4UnitsMessenger * UnitsMessenger; G4String savedParameters; @@ -197,9 +198,13 @@ class G4UImanager : public G4VStateDependent { return treeTop; } inline G4UIsession * GetSession() const { return session; } + inline G4UIsession * GetG4UIWindow() const + { return g4UIWindow; } public: // with description inline void SetSession(G4UIsession *const value) { session = value; } + inline void SetG4UIWindow(G4UIsession *const value) + { g4UIWindow = value; } // This method defines the active (G)UI session. void SetCoutDestination(G4UIsession *const value); // This method defines the destination of G4cout/G4cerr stream. diff --git a/source/intercoms/include/G4UItokenNum.hh b/source/intercoms/include/G4UItokenNum.hh index 29679516a6..b53f736fc9 100644 --- a/source/intercoms/include/G4UItokenNum.hh +++ b/source/intercoms/include/G4UItokenNum.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UItokenNum.hh,v 1.8 2006/06/29 19:08:25 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UItokenNum.hh,v 1.9 2010/05/18 07:46:29 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // G4UItokenNum.hh @@ -49,7 +49,11 @@ enum tokenNum NE = 267, //LOGICALNOT = 268, LOGICALOR = 269, - LOGICALAND = 270 + LOGICALAND = 270, + SCAREAMER = 33, + LPAREN = 40, + PLUS = 43, + MINUS = 45 }; @@ -83,5 +87,5 @@ typedef struct yystype *this=right; } } yystype; - + #endif diff --git a/source/intercoms/sources.cmake b/source/intercoms/sources.cmake new file mode 100644 index 0000000000..4917c3ca77 --- /dev/null +++ b/source/intercoms/sources.cmake @@ -0,0 +1,84 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4intercoms +# Package: Geant4.src.G4intercoms +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:45:22 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4intercoms + HEADERS + G4UIaliasList.hh + G4UIbatch.hh + G4UIcmdWith3Vector.hh + G4UIcmdWith3VectorAndUnit.hh + G4UIcmdWithABool.hh + G4UIcmdWithADouble.hh + G4UIcmdWithADoubleAndUnit.hh + G4UIcmdWithAString.hh + G4UIcmdWithAnInteger.hh + G4UIcmdWithoutParameter.hh + G4UIcommand.hh + G4UIcommandStatus.hh + G4UIcommandTree.hh + G4UIcontrolMessenger.hh + G4UIdirectory.hh + G4UImanager.hh + G4UImessenger.hh + G4UIparameter.hh + G4UIsession.hh + G4UItokenNum.hh + G4UnitsMessenger.hh + G4VFlavoredParallelWorld.hh + G4VGlobalFastSimulationManager.hh + SOURCES + G4UIaliasList.cc + G4UIbatch.cc + G4UIcmdWith3Vector.cc + G4UIcmdWith3VectorAndUnit.cc + G4UIcmdWithABool.cc + G4UIcmdWithADouble.cc + G4UIcmdWithADoubleAndUnit.cc + G4UIcmdWithAString.cc + G4UIcmdWithAnInteger.cc + G4UIcmdWithoutParameter.cc + G4UIcommand.cc + G4UIcommandTree.cc + G4UIcontrolMessenger.cc + G4UIdirectory.cc + G4UImanager.cc + G4UImessenger.cc + G4UIparameter.cc + G4UIsession.cc + G4UnitsMessenger.cc + G4VGlobalFastSimulationManager.cc + GRANULAR_DEPENDENCIES + G4globman + GLOBAL_DEPENDENCIES + G4global + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/intercoms/src/G4UIbatch.cc b/source/intercoms/src/G4UIbatch.cc index 8d7a66c392..9924b15090 100644 --- a/source/intercoms/src/G4UIbatch.cc +++ b/source/intercoms/src/G4UIbatch.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4UIbatch.cc,v 1.17 2008/11/21 10:54:16 kmura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UIbatch.cc,v 1.18 2010/11/11 11:30:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ==================================================================== // G4UIbatch.cc @@ -211,7 +211,7 @@ G4UIsession * G4UIbatch::SessionStart() // execute command G4int rc= ExecCommand(newCommand); if(rc != fCommandSucceeded) { - G4cerr << G4endl << "***** Batch is interupted!! *****" << G4endl; + G4cerr << G4endl << "***** Batch is interrupted!! *****" << G4endl; break; } } diff --git a/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc b/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc index b90f322169..bd29ed5499 100644 --- a/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc +++ b/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UIcmdWith3VectorAndUnit.cc,v 1.9 2006/06/29 19:08:41 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UIcmdWith3VectorAndUnit.cc,v 1.10 2010/08/03 07:10:47 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -49,6 +49,44 @@ G4UIcmdWith3VectorAndUnit::G4UIcmdWith3VectorAndUnit untParam->SetParameterName("Unit"); } +G4int G4UIcmdWith3VectorAndUnit::DoIt(G4String parameterList) +{ + std::vector token_vector; + G4Tokenizer token(parameterList); + G4String str; + while( (str = token()) != "" ) { + token_vector.push_back(str); + } + + // convert a value in default unit + G4String converted_parameter; + G4String default_unit = GetParameter(3)-> GetDefaultValue(); + if (default_unit != "" && token_vector.size() >= 4) { + G4double value_given = ValueOf(token_vector[3]); + G4double value_default = ValueOf(default_unit); + G4double x = ConvertToDouble(token_vector[0]) * value_given / value_default; + G4double y = ConvertToDouble(token_vector[1]) * value_given / value_default; + G4double z = ConvertToDouble(token_vector[2]) * value_given / value_default; + + // reconstruct parameter list + converted_parameter += ConvertToString(x); + converted_parameter += " "; + converted_parameter += ConvertToString(y); + converted_parameter += " "; + converted_parameter += ConvertToString(z); + converted_parameter += " "; + converted_parameter += default_unit; + for ( size_t i=4 ; i< token_vector.size(); i++) { + converted_parameter += " "; + converted_parameter += token_vector[i]; + } + } else { + converted_parameter = parameterList; + } + + return G4UIcommand::DoIt(converted_parameter); +} + G4ThreeVector G4UIcmdWith3VectorAndUnit::GetNew3VectorValue(const char* paramString) { return ConvertToDimensioned3Vector(paramString); diff --git a/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc b/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc index 5ac28bbb9a..c0e0583d89 100644 --- a/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc +++ b/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UIcmdWithADoubleAndUnit.cc,v 1.9 2006/06/29 19:08:48 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UIcmdWithADoubleAndUnit.cc,v 1.10 2010/08/03 07:10:47 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -33,6 +33,7 @@ #include "G4Tokenizer.hh" #include "G4UnitsTable.hh" #include +#include G4UIcmdWithADoubleAndUnit::G4UIcmdWithADoubleAndUnit (const char * theCommandPath,G4UImessenger * theMessenger) @@ -45,6 +46,38 @@ G4UIcmdWithADoubleAndUnit::G4UIcmdWithADoubleAndUnit untParam->SetParameterName("Unit"); } +G4int G4UIcmdWithADoubleAndUnit::DoIt(G4String parameterList) +{ + std::vector token_vector; + G4Tokenizer token(parameterList); + G4String str; + while( (str = token()) != "" ) { + token_vector.push_back(str); + } + + // convert a value in default unit + G4String converted_parameter; + G4String default_unit = GetParameter(1)-> GetDefaultValue(); + if (default_unit != "" && token_vector.size() >= 2) { + G4double value_given = ValueOf(token_vector[1]); + G4double value_default = ValueOf(default_unit); + G4double value = ConvertToDouble(token_vector[0]) + * value_given / value_default; + // reconstruct parameter list + converted_parameter += ConvertToString(value); + converted_parameter += " "; + converted_parameter += default_unit; + for ( size_t i=2 ; i< token_vector.size(); i++) { + converted_parameter += " "; + converted_parameter += token_vector[i]; + } + } else { + converted_parameter = parameterList; + } + + return G4UIcommand::DoIt(converted_parameter); +} + G4double G4UIcmdWithADoubleAndUnit::GetNewDoubleValue(const char* paramString) { return ConvertToDimensionedDouble(paramString); @@ -54,10 +87,10 @@ G4double G4UIcmdWithADoubleAndUnit::GetNewDoubleRawValue(const char* paramString { G4double vl; char unts[30]; - + std::istringstream is(paramString); is >> vl >> unts; - + return vl; } @@ -65,11 +98,11 @@ G4double G4UIcmdWithADoubleAndUnit::GetNewUnitValue(const char* paramString) { G4double vl; char unts[30]; - + std::istringstream is(paramString); is >> vl >> unts; G4String unt = unts; - + return ValueOf(unt); } diff --git a/source/intercoms/src/G4UIcontrolMessenger.cc b/source/intercoms/src/G4UIcontrolMessenger.cc index 2c31525a51..077843ba7b 100644 --- a/source/intercoms/src/G4UIcontrolMessenger.cc +++ b/source/intercoms/src/G4UIcontrolMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UIcontrolMessenger.cc,v 1.11 2007/06/06 15:14:51 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UIcontrolMessenger.cc,v 1.12 2010/08/25 06:09:57 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include @@ -39,6 +39,8 @@ #include "G4UIcmdWithoutParameter.hh" #include "G4UIaliasList.hh" #include "G4StateManager.hh" +#include "G4Tokenizer.hh" + #include "G4ios.hh" G4UIcontrolMessenger::G4UIcontrolMessenger() @@ -151,6 +153,82 @@ G4UIcontrolMessenger::G4UIcontrolMessenger() maxStoredHistCommand->SetGuidance("Set maximum number of stored UI commands."); maxStoredHistCommand->SetParameterName("max",true); maxStoredHistCommand->SetDefaultValue(20); + + ifCommand = new G4UIcommand("/control/if",this); + ifCommand->SetGuidance("Execute a macro file if the expression is true."); + ifCommand->SetGuidance(" Syntax : "); + G4UIparameter* leftParam = new G4UIparameter("left",'d',false); + ifCommand->SetParameter(leftParam); + G4UIparameter* compParam = new G4UIparameter("comp",'s',false); + compParam->SetParameterCandidates("> >= < <= == !="); + ifCommand->SetParameter(compParam); + G4UIparameter* rightParam = new G4UIparameter("right",'d',false); + ifCommand->SetParameter(rightParam); + G4UIparameter* macroFileParam = new G4UIparameter("aliasValue",'s',false); + ifCommand->SetParameter(macroFileParam); + + addCommand = new G4UIcommand("/control/add",this); + addCommand->SetGuidance("Define a new alias as the sum of two values."); + addCommand->SetGuidance(" Syntax : "); + addCommand->SetGuidance(" may be an already existing alias. If it is the case,"); + addCommand->SetGuidance(" aliased value is alternated."); + G4UIparameter* newAlias1 = new G4UIparameter("new_alias",'s',false); + addCommand->SetParameter(newAlias1); + G4UIparameter* val1a = new G4UIparameter("value1",'d',false); + addCommand->SetParameter(val1a); + G4UIparameter* val1b = new G4UIparameter("value2",'d',false); + addCommand->SetParameter(val1b); + + subtractCommand = new G4UIcommand("/control/subtract",this); + subtractCommand->SetGuidance("Define a new alias as the subtraction of two values."); + subtractCommand->SetGuidance(" Syntax : "); + subtractCommand->SetGuidance(" may be an already existing alias. If it is the case,"); + subtractCommand->SetGuidance(" aliased value is alternated."); + G4UIparameter* newAlias2 = new G4UIparameter("new_alias",'s',false); + subtractCommand->SetParameter(newAlias2); + G4UIparameter* val2a = new G4UIparameter("value1",'d',false); + subtractCommand->SetParameter(val2a); + G4UIparameter* val2b = new G4UIparameter("value2",'d',false); + subtractCommand->SetParameter(val2b); + + multiplyCommand = new G4UIcommand("/control/multiply",this); + multiplyCommand->SetGuidance("Define a new alias as the multiplification of two values."); + multiplyCommand->SetGuidance(" Syntax : "); + multiplyCommand->SetGuidance(" may be an already existing alias. If it is the case,"); + multiplyCommand->SetGuidance(" aliased value is alternated."); + G4UIparameter* newAlias3 = new G4UIparameter("new_alias",'s',false); + multiplyCommand->SetParameter(newAlias3); + G4UIparameter* val3a = new G4UIparameter("value1",'d',false); + multiplyCommand->SetParameter(val3a); + G4UIparameter* val3b = new G4UIparameter("value2",'d',false); + multiplyCommand->SetParameter(val3b); + + divideCommand = new G4UIcommand("/control/divide",this); + divideCommand->SetGuidance("Define a new alias as the division of two values."); + divideCommand->SetGuidance(" Syntax : "); + divideCommand->SetGuidance(" may be an already existing alias. If it is the case,"); + divideCommand->SetGuidance(" aliased value is alternated."); + G4UIparameter* newAlias4 = new G4UIparameter("new_alias",'s',false); + divideCommand->SetParameter(newAlias4); + G4UIparameter* val4a = new G4UIparameter("value1",'d',false); + divideCommand->SetParameter(val4a); + G4UIparameter* val4b = new G4UIparameter("value2",'d',false); + val4b->SetParameterRange("value2 != 0."); + divideCommand->SetParameter(val4b); + + remainderCommand = new G4UIcommand("/control/remainder",this); + remainderCommand->SetGuidance("Define a new alias as the remainder of two values."); + remainderCommand->SetGuidance(" Syntax : "); + remainderCommand->SetGuidance(" may be an already existing alias. If it is the case,"); + remainderCommand->SetGuidance(" aliased value is alternated."); + G4UIparameter* newAlias5 = new G4UIparameter("new_alias",'s',false); + remainderCommand->SetParameter(newAlias5); + G4UIparameter* val5a = new G4UIparameter("value1",'i',false); + remainderCommand->SetParameter(val5a); + G4UIparameter* val5b = new G4UIparameter("value2",'i',false); + val4b->SetParameterRange("value2 != 0"); + remainderCommand->SetParameter(val5b); + } G4UIcontrolMessenger::~G4UIcontrolMessenger() @@ -171,6 +249,13 @@ G4UIcontrolMessenger::~G4UIcontrolMessenger() delete foreachCommand; delete HTMLCommand; delete maxStoredHistCommand; + delete ifCommand; + delete addCommand; + delete subtractCommand; + delete multiplyCommand; + delete divideCommand; + delete remainderCommand; + delete controlDirectory; } @@ -249,7 +334,82 @@ void G4UIcontrolMessenger::SetNewValue(G4UIcommand * command,G4String newValue) { UI->SetMaxHistSize(maxStoredHistCommand->GetNewIntValue(newValue)); } - + if(command==ifCommand) + { + G4Tokenizer next(newValue); + G4double l = StoD(next()); + G4String comp = next(); + G4double r = StoD(next()); + G4String mac = next(); + G4bool x = false; + if(comp==">") x = (l>r); + else if(comp==">=") x = (l>=r); + else if(comp=="<") x = (lExecuteMacroFile(mac); + } + if(command==addCommand) + { + G4Tokenizer next(newValue); + G4String newA = next(); + G4double l = StoD(next()); + G4double r = StoD(next()); + G4String st = "/control/alias "; + st += newA; + st += " "; + st += DtoS(l+r); + UI->ApplyCommand(st); + } + if(command==subtractCommand) + { + G4Tokenizer next(newValue); + G4String newA = next(); + G4double l = StoD(next()); + G4double r = StoD(next()); + G4String st = "/control/alias "; + st += newA; + st += " "; + st += DtoS(l-r); + UI->ApplyCommand(st); + } + if(command==multiplyCommand) + { + G4Tokenizer next(newValue); + G4String newA = next(); + G4double l = StoD(next()); + G4double r = StoD(next()); + G4String st = "/control/alias "; + st += newA; + st += " "; + st += DtoS(l*r); + UI->ApplyCommand(st); + } + if(command==divideCommand) + { + G4Tokenizer next(newValue); + G4String newA = next(); + G4double l = StoD(next()); + G4double r = StoD(next()); + G4String st = "/control/alias "; + st += newA; + st += " "; + st += DtoS(l/r); + UI->ApplyCommand(st); + } + if(command==remainderCommand) + { + G4Tokenizer next(newValue); + G4String newA = next(); + G4int l = StoI(next()); + G4int r = StoI(next()); + G4String st = "/control/alias "; + st += newA; + st += " "; + st += DtoS(l%r); + UI->ApplyCommand(st); + } } G4String G4UIcontrolMessenger::GetCurrentValue(G4UIcommand * command) diff --git a/source/intercoms/src/G4UImanager.cc b/source/intercoms/src/G4UImanager.cc index 6ad6818501..f00076fda4 100644 --- a/source/intercoms/src/G4UImanager.cc +++ b/source/intercoms/src/G4UImanager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UImanager.cc,v 1.33 2007/07/16 10:14:36 kmura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UImanager.cc,v 1.34 2010/05/19 14:50:30 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // --------------------------------------------------------------------- @@ -73,6 +73,7 @@ G4UImanager::G4UImanager() verboseLevel = 0; saveHistory = false; session = NULL; + g4UIWindow = NULL; SetCoutDestination(session); pauseAtBeginOfEvent = false; pauseAtEndOfEvent = false; diff --git a/source/interfaces/CMakeLists.txt b/source/interfaces/CMakeLists.txt new file mode 100644 index 0000000000..940e1452b2 --- /dev/null +++ b/source/interfaces/CMakeLists.txt @@ -0,0 +1,28 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4interfaces +# Package: Geant4.src.G4interfaces +# +# Top level CMakeLists.txt for a Geant4 Global Library +# or collection of sublibraries +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:45:30 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(GAG) +add_subdirectory(basic) +add_subdirectory(common) + +if(NOT GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GLOBAL_LIBRARY_TARGET(NAME G4interfaces + COMPONENTS + GAG/sources.cmake + basic/sources.cmake + common/sources.cmake +) +endif() + diff --git a/source/interfaces/GAG/CMakeLists.txt b/source/interfaces/GAG/CMakeLists.txt new file mode 100644 index 0000000000..c061bc968d --- /dev/null +++ b/source/interfaces/GAG/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4UIGAG +# Package: Geant4.src.G4interfaces.G4UIGAG +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:45:39 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/interfaces/GAG/sources.cmake b/source/interfaces/GAG/sources.cmake new file mode 100644 index 0000000000..ecaf87901c --- /dev/null +++ b/source/interfaces/GAG/sources.cmake @@ -0,0 +1,48 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4UIGAG +# Package: Geant4.src.G4interfaces.G4UIGAG +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:45:47 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/interfaces/common/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4UIGAG + HEADERS + G4UIGAG.hh + G4UIGainServer.hh + SOURCES + G4UIGAG.cc + G4UIGainServer.cc + GRANULAR_DEPENDENCIES + G4UIcommon + G4globman + G4intercoms + GLOBAL_DEPENDENCIES + G4global + G4intercoms + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/interfaces/History b/source/interfaces/History index 9db68ba55f..301e9c5bea 100644 --- a/source/interfaces/History +++ b/source/interfaces/History @@ -1,4 +1,4 @@ -$Id: History,v 1.122 2009/11/20 22:15:20 kmura Exp $ +$Id: History,v 1.157 2010/11/02 17:39:48 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,16 +17,114 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +8, October L. Garnier (interfaces-V09-03-13) +- G4UIQt : Fiw problem with redraw of help tree. + +6, October J. Allison (interfaces-V09-03-12) +- G4UIQt : Remove message about empty viewer (comment out + fEmptyViewerTabLabel - suggested by Laurent). + +5, June L. Garnier +- G4UIQt : Fix some bug on helpTree view + +23, June L. Garnier +- G4UIQt : Fix compilation warnings on Qt3 and Qt4 + +22, June L. Garnier (interfaces-V09-03-11) +- G4UIQt : Fix crash when open UI with no vis tab + +18, June L. Garnier +- Fix Qt3 compilation bug (setVisible(...) unprotected + +17, June G. Cosmo (interfaces-V09-03-10) +- Fixed compilation errors in G4UIQt for Qt3.... + +17, June K. Murakami (interfaces-V09-03-09) +- Tagged. + +10th June L. Garnier +- G4UIQt : Fix crash when del all viewer tabs and create a new one. + Fix widget QLabel strange effect on OSX 10.5 + +10th June L. Garnier +- G4UIQt : Improvments on OpenGL tab at initialisation (tab size was + too small). Remove some flicker effect at initialisation. Remove a + compilation warning. Improvment on Cout Filter for Qt3 + +8, June, 2010 K.Murakami (interfaces-V09-03-08) +- G4VBasicShell : wrong version is in the cvs head. + back to previous version (1.14) which includes + a correct bug fix. + +4th June L. Garnier (interfaces-V09-03-07) +- G4UIQt : Fix recursive repaint on windows and linux + Also fixed compilation problem for Qt3. +- G4VBasicShell : Command completion improvments (was solve in + v1.14 of G4VBasicShell but don't know why I go one step back) + +3rd June J. Allison (interfaces-V09-03-06) +- Tagged. + +1st June, L. Garnier + - G4UIQt : Fix bug on Qt >4.5 introduce on 1st June + +1st June, L. Garnier (interfaces-V09-03-05) + - G4UIQt : warning on Qt version < 4.5 + +28 May, L. Garnier + - G4UIQt : Bug fix when compiling on windows + +28 May, K. Murakami (interfaces-V09-03-04) + - G4UIExective : session type order is changed. + GUI session is prioritized. + +26 May, L. Garnier (interfaces-V09-03-03) + - G4UIQt: Fix some compil errors with qt3 + +20 May, L. Garnier (interfaces-V09-03-02) + Co-working tag : intercoms-V09-03-01 + - G4UIQt: Add some changes in order to register UI in order to access + it after + - G4Qt: Remove a cycle dependency + +19 May, L. Garnier + - G4UIQt: Fix a warning in Cout during viewer creation + Fix a flush problem at viewer creation + +18 May, L. Garnier + - G4UIQt: Fix an output warning + +11 May, J.Allison (interfaces-V09-03-01) +- Tagged interfaces-V09-03-01. (Note: interfaces-V09-03-00 already + used on a patch branch.) + +7 May, L. Garnier + - G4UIQt: Add new command in help tree will update immediatly the help tree + (removing a command not code yet) + +26 April, L. Garnier + - G4UIQt: Improvments + - G4Qt: Improvments + +15 April, 2010 G. Cosmo + - Fixed call to contructor QKeySequence() in G4UIQt:AddButton() to + allow for porting on gcc-4.5. + +6 January, 2010 L. Garnier + - G4VBasicShell : improvments for command completion + - G4Qt : Add a link to G4UIQt + - G4UIQt : Add tab widgets in order to put Vis in + 20 November, 2009 K. Murakami (interfaces-V09-02-07) -- G4UIExecutive.hh: no default arguments of the constructor -- G4UIExecutive.icc: more cleaver way for suppressing compiler warnings + - G4UIExecutive.hh: no default arguments of the constructor + - G4UIExecutive.icc: more cleaver way for suppressing compiler warnings 20 November, 2009 J. Allison (interfaces-V09-02-06) -- G4UIExecutive.icc: Fixed complier warnings for some cases when more + - G4UIExecutive.icc: Fixed complier warnings for some cases when more than one flag is set. 19 November, 2009 J. Allison (interfaces-V09-02-05) -- Tagged for the release. + - Tagged for the release. 18 November, 2009 L. Garnier - G4UIQt: Add CTRL+A and CTRL+E to move to begin/end of command line diff --git a/source/interfaces/basic/CMakeLists.txt b/source/interfaces/basic/CMakeLists.txt new file mode 100644 index 0000000000..97694b9c1f --- /dev/null +++ b/source/interfaces/basic/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4UIbasic +# Package: Geant4.src.G4interfaces.G4UIbasic +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:45:55 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/interfaces/basic/include/G4UIExecutive.icc b/source/interfaces/basic/include/G4UIExecutive.icc index a90714c76b..adc074e0df 100644 --- a/source/interfaces/basic/include/G4UIExecutive.icc +++ b/source/interfaces/basic/include/G4UIExecutive.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UIExecutive.icc,v 1.6 2009/11/20 22:10:31 kmura Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4UIExecutive.icc,v 1.7 2010/05/28 08:12:27 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ==================================================================== // G4UIExecutive.icc @@ -34,9 +34,9 @@ #include "G4UIsession.hh" #include "G4UImanager.hh" -#if defined(G4UI_USE_TCSH) -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" +#if defined(G4UI_USE_QT) +#include "G4UIQt.hh" +#include "G4Qt.hh" #elif defined(G4UI_USE_XM) #include "G4UIXm.hh" @@ -44,9 +44,9 @@ #elif defined(G4UI_USE_WIN32) #include "G4UIWin32.hh" -#elif defined(G4UI_USE_QT) -#include "G4UIQt.hh" -#include "G4Qt.hh" +#elif defined(G4UI_USE_TCSH) +#include "G4UIterminal.hh" +#include "G4UItcsh.hh" #else #include "G4UIterminal.hh" @@ -61,12 +61,9 @@ G4UIExecutive::G4UIExecutive(G4int argc, char** argv) : session(0), shell(0),isGUI(false) ///////////////////////////////////////////////////// { -#if defined(G4UI_USE_TCSH) - DISCARD_PARAMETER(argc); - DISCARD_PARAMETER(argv); - - shell = new G4UItcsh; - session = new G4UIterminal(shell); +#if defined(G4UI_USE_QT) + session = new G4UIQt(argc, argv); + isGUI = true; #elif defined(G4UI_USE_XM) session = new G4UIXm(argc, argv); @@ -78,10 +75,13 @@ G4UIExecutive::G4UIExecutive(G4int argc, char** argv) session = new G4UIWin32(); -#elif defined(G4UI_USE_QT) - session = new G4UIQt(argc, argv); - isGUI = true; - +#elif defined(G4UI_USE_TCSH) + DISCARD_PARAMETER(argc); + DISCARD_PARAMETER(argv); + + shell = new G4UItcsh; + session = new G4UIterminal(shell); + #else DISCARD_PARAMETER(argc); DISCARD_PARAMETER(argv); @@ -120,7 +120,7 @@ inline void G4UIExecutive::SetPrompt(const G4String& prompt) } ////////////////////////////////////////////////////////////// -inline void G4UIExecutive::SetLsColor(TermColorIndex dirColor, +inline void G4UIExecutive::SetLsColor(TermColorIndex dirColor, TermColorIndex cmdColor) ////////////////////////////////////////////////////////////// { @@ -132,6 +132,6 @@ inline void G4UIExecutive::SessionStart() ///////////////////////////////////////// { session-> SessionStart(); - delete session; + delete session; } diff --git a/source/interfaces/basic/include/G4UIQt.hh b/source/interfaces/basic/include/G4UIQt.hh index 6ab42b7a5d..639f8b2d9d 100644 --- a/source/interfaces/basic/include/G4UIQt.hh +++ b/source/interfaces/basic/include/G4UIQt.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UIQt.hh,v 1.16 2009/02/16 11:40:26 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4UIQt.hh,v 1.23 2010/06/10 15:37:13 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef G4UIQt_h #define G4UIQt_h @@ -39,6 +39,8 @@ #include #include +#include +#include class QMainWindow; class QLineEdit; @@ -53,7 +55,10 @@ class QTreeWidgetItem; #endif class QTextEdit; class QLabel; -class QDialog; +class QResizeEvent; +class QToolBox; +class QStringList; +class QSplitter; // Class description : // @@ -75,6 +80,18 @@ class QDialog; // // Class description - end : +class G4QTabWidget : public QTabWidget { +public : + G4QTabWidget(); + G4QTabWidget(QSplitter*&); + void paintEvent ( QPaintEvent * event ); + inline void setTabSelected(bool a) { tabSelected = a; }; + inline void setLastTabCreated(int a) { lastCreated = a; }; + inline bool isTabSelected() { return tabSelected; }; + bool tabSelected; + int lastCreated; +}; + class G4UIQt : public QObject, public G4VBasicShell, public G4VInteractiveSession { Q_OBJECT @@ -94,6 +111,12 @@ public: // With description // Second argument is the label of the button. // Third argument is the Geant4 command executed when the button is fired. // Ex : AddButton("my_menu","Run","/run/beamOn 1"); + + bool AddTabWidget(QWidget*,QString,int,int); + // To add a tab for vis openGL Qt driver + + bool IsSplitterReleased(); + public: ~G4UIQt(); void Prompt(G4String); @@ -102,16 +125,13 @@ public: G4int ReceiveG4cout(G4String); G4int ReceiveG4cerr(G4String); // G4String GetCommand(Widget); - QMainWindow * getMainWindow(); private: void SecondaryLoop(G4String); // a VIRER - void TerminalHelp(G4String); -#if QT_VERSION < 0x040000 - QListView * CreateHelpTree(); -#else - QTreeWidget * CreateHelpTree(); -#endif + void CreateHelpWidget(); + void InitHelpTree(); + void FillHelpTree(); + void ExitHelp(); #if QT_VERSION < 0x040000 void CreateChildTree(QListViewItem*,G4UIcommandTree*); @@ -124,11 +144,22 @@ private: QString GetCommandList(const G4UIcommand*); G4bool GetHelpChoice(G4int&) ;// have to be implemeted because we heritate from G4VBasicShell - void ExitHelp();// have to be implemeted because we heritate from G4VBasicShell bool eventFilter(QObject*,QEvent*); void ActivateCommand(G4String); QMap LookForHelpStringInChildTree(G4UIcommandTree *,const QString&); + void CreateVisParametersTBWidget(); + void CreateViewComponentsTBWidget(); + void CreateHelpTBWidget(); + void CreateCoutTBWidget(); + void CreateHistoryTBWidget(); + void OpenHelpTreeOnCommand(const QString &); + QString GetShortCommandPath(QString); +#if QT_VERSION < 0x040000 + QString GetLongCommandPath(QListViewItem*); +#else + QString GetLongCommandPath(QTreeWidgetItem*); +#endif private: @@ -139,20 +170,32 @@ private: QMainWindow * fMainWindow; QLabel *fCommandLabel; QLineEdit * fCommandArea; - QTextEdit *fTextArea; + QTextEdit *fCoutTBTextArea; QTextEdit *fHelpArea; + QToolBox* fToolBox; + QStringList fG4cout; + QLineEdit * fCoutFilter; + #if QT_VERSION < 0x040000 - QListView *fCommandHistoryArea; + QListView *fHistoryTBTableList; QListView *fHelpTreeWidget; #else - QListWidget *fCommandHistoryArea; + QListWidget *fHistoryTBTableList; QTreeWidget *fHelpTreeWidget; #endif - QDialog *fHelpDialog; - QLineEdit *helpLine; - -signals : - void myClicked(const QString &text); + QWidget* fHelpTBWidget; + QWidget* fHistoryTBWidget; + QWidget* fCoutTBWidget; + QWidget* fVisParametersTBWidget; + QWidget* fViewComponentsTBWidget; + QLineEdit* fHelpLine; + G4QTabWidget* fTabWidget; + QString fCoutText; + QLabel *fEmptyViewerTabLabel; + QSplitter * fMyVSplitter; + QSplitter * fHelpVSplitter; + int fLastQTabSizeX; + int fLastQTabSizeY; private slots : void ExitSession(); @@ -163,7 +206,12 @@ private slots : void HelpTreeDoubleClicCallback(); void ShowHelpCallback(); void CommandHistoryCallback(); - void lookForHelpStringCallback(); + void LookForHelpStringCallback(); + void UpdateTabWidget(int); + void ResizeTabWidget( QResizeEvent* ); + void CoutFilterCallback(const QString&); + void TabCloseCallback(int); + void ToolBoxActivated(int); }; #endif diff --git a/source/interfaces/basic/sources.cmake b/source/interfaces/basic/sources.cmake new file mode 100644 index 0000000000..f4d067e908 --- /dev/null +++ b/source/interfaces/basic/sources.cmake @@ -0,0 +1,146 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4UIbasic +# Package: Geant4.src.G4interfaces.G4UIbasic +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.4 2010/11/29 17:04:04 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/interfaces/common/include) + +# +# Module has optional sources +# +include(Geant4MacroDefineModule) + +# List those always built +set(G4INTERFACES_BASIC_MODULE_HEADERS + G4UIArrayString.hh + G4UIExecutive.hh + G4UIExecutive.icc + G4UIcsh.hh + G4UIterminal.hh + G4VUIshell.hh) + +set(G4INTERFACES_BASIC_MODULE_SOURCES + G4UIArrayString.cc + G4UIcsh.cc + G4UIterminal.cc + G4VUIshell.cc) + + +set(G4INTERFACES_BASIC_MODULE_LINK_LIBRARIES ) + + +# +# Tcsh only on UNIX style systems +# +if(UNIX) + list(APPEND G4INTERFACES_BASIC_MODULE_HEADERS G4UItcsh.hh) + list(APPEND G4INTERFACES_BASIC_MODULE_SOURCES G4UItcsh.cc) +endif() + + +# +# Win32 terminal only on Win32 and if selected. +# +if(WIN32 AND GEANT4_USE_WIN32TERMINAL) + list(APPEND G4INTERFACES_BASIC_MODULE_HEADERS G4UIWin32.hh) + list(APPEND G4INTERFACES_BASIC_MODULE_SOURCES G4UIWin32.cc) +endif() + + +# +# Qt only if selected. +# +if(GEANT4_USE_QT) + list(APPEND G4INTERFACES_BASIC_MODULE_HEADERS G4UIQt.hh) + list(APPEND G4INTERFACES_BASIC_MODULE_SOURCES G4UIQt.cc) + + # Now need to add Qt in to build moc wrappers + include(${QT_USE_FILE}) + + # Add the moc sources - must use an absolute path to the files being + # wrapped + QT4_WRAP_CPP(G4INTERFACES_MOC_SOURCES + ${CMAKE_SOURCE_DIR}/source/interfaces/basic/include/G4UIQt.hh + OPTIONS -DG4UI_BUILD_QT_SESSION) + + list(APPEND G4INTERFACES_BASIC_MODULE_SOURCES ${G4INTERFACES_MOC_SOURCES}) + + # Add the definitions + # We have to also add in G4INTY_BUILD_QT 'cause G4QT header needs that... + GEANT4_ADD_COMPILE_DEFINITIONS(SOURCES G4UIQt.cc + COMPILE_DEFINITIONS G4UI_BUILD_QT_SESSION;G4INTY_BUILD_QT) + + # and for the moc file... + set_source_files_properties(${G4INTERFACES_MOC_SOURCES} + PROPERTIES COMPILE_DEFINITIONS G4UI_BUILD_QT_SESSION) + + # Add the extra libraries - seem to need to quote variables to get + # both linked in. + list(APPEND G4INTERFACES_BASIC_MODULE_LINK_LIBRARIES + "${QT_QTGUI_LIBRARY};${QT_QTCORE_LIBRARY}") +endif() + + +# +# Xm and Xaw only on UNIX and if selected +# +if(UNIX) + if(GEANT4_USE_XM) + list(APPEND G4INTERFACES_BASIC_MODULE_HEADERS G4UIXm.hh) + list(APPEND G4INTERFACES_BASIC_MODULE_SOURCES G4UIXm.cc) + + # Any other includes, libraries here + endif() + + if(GEANT4_USE_XAW) + list(APPEND G4INTERFACES_BASIC_MODULE_HEADERS G4UIXaw.hh) + list(APPEND G4INTERFACES_BASIC_MODULE_SOURCES G4UIXaw.cc) + + # Any other includes, libraries here + endif() +endif() + + + + + +# +# Define the Geant4 Module. +# +GEANT4_DEFINE_MODULE(NAME G4UIbasic + HEADERS + ${G4INTERFACES_BASIC_MODULE_HEADERS} + SOURCES + ${G4INTERFACES_BASIC_MODULE_SOURCES} + GRANULAR_DEPENDENCIES + G4UIcommon + G4globman + G4intercoms + GLOBAL_DEPENDENCIES + G4global + G4intercoms + LINK_LIBRARIES + ${G4INTERFACES_BASIC_MODULE_LINK_LIBRARIES} +) + +# List any source specific properties here + diff --git a/source/interfaces/basic/src/G4UIQt.cc b/source/interfaces/basic/src/G4UIQt.cc index a742d59a18..ef8cae0dc2 100644 --- a/source/interfaces/basic/src/G4UIQt.cc +++ b/source/interfaces/basic/src/G4UIQt.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UIQt.cc,v 1.29 2009/11/18 10:30:21 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4UIQt.cc,v 1.53 2010/11/02 15:38:51 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // L. Garnier @@ -50,12 +50,16 @@ #include #include #include +#include #include #include #include #include #include #include +#include +#include +#include #include #if QT_VERSION >= 0x040000 @@ -102,8 +106,19 @@ G4UIQt::G4UIQt ( int argc ,char** argv ) - :fHelpDialog(NULL) +:fHelpArea(NULL) +,fG4cout("") +,fHelpTreeWidget(NULL) +,fHelpTBWidget(NULL) +,fHistoryTBWidget(NULL) +,fCoutTBWidget(NULL) +,fVisParametersTBWidget(NULL) +,fViewComponentsTBWidget(NULL) +,fHelpLine(NULL) +,fTabWidget(NULL) +,fCoutText("Output") { + G4Qt* interactorManager = G4Qt::getInstance (argc,argv,(char*)"Qt"); if (!(QApplication*)interactorManager->GetMainInteractor()) { G4cout << "G4UIQt : Unable to init Qt. Aborted" << G4endl; @@ -111,6 +126,7 @@ G4UIQt::G4UIQt ( G4UImanager* UI = G4UImanager::GetUIpointer(); if(UI!=NULL) UI->SetSession(this); + if(UI!=NULL) UI->SetG4UIWindow(this); // Check if already define in external app QMainWindow bool found = false; @@ -142,8 +158,148 @@ G4UIQt::G4UIQt ( fMainWindow = new QMainWindow(); #ifdef G4DEBUG_INTERFACES_BASIC - printf("G4UIQt::Initialise after main window creation\n"); + printf("G4UIQt::Initialise after main window creation +++++++++++\n"); #endif + + QWidget *mainWidget = new QWidget(fMainWindow); +#if QT_VERSION < 0x040000 + fMyVSplitter = new QSplitter(Qt::Horizontal,fMainWindow); + fToolBox = new QToolBox(fMyVSplitter); +#else + fMyVSplitter = new QSplitter(Qt::Horizontal,fMainWindow); + fToolBox = new QToolBox(); +#endif + + // Set layouts + + QWidget* commandLineWidget = new QWidget(mainWidget); +#if QT_VERSION < 0x040000 + QVBoxLayout *layoutCommandLine = new QVBoxLayout(commandLineWidget); +#else + QVBoxLayout *layoutCommandLine = new QVBoxLayout(); +#endif + + // fill them + + fCommandLabel = new QLabel("",commandLineWidget); + + fCommandArea = new QLineEdit(commandLineWidget); + fCommandArea->installEventFilter(this); +#if QT_VERSION < 0x040000 + fCommandArea->setActiveWindow(); +#else + fCommandArea->activateWindow(); +#endif + +#if QT_VERSION < 0x040000 + fCommandArea->setFocusPolicy ( QWidget::StrongFocus ); + fCommandArea->setFocus(); +#else + fCommandArea->setFocusPolicy ( Qt::StrongFocus ); + fCommandArea->setFocus(Qt::TabFocusReason); +#endif + + + + layoutCommandLine->addWidget(fCommandLabel); + layoutCommandLine->addWidget(fCommandArea); + QVBoxLayout *mainLayout; +#if QT_VERSION >= 0x040000 + mainLayout = new QVBoxLayout(); +#else + mainLayout = new QVBoxLayout(mainWidget); +#endif + + fHelpTBWidget = new QWidget(fToolBox); + fHistoryTBWidget = new QWidget(fToolBox); + fCoutTBWidget = new QWidget(fToolBox); + fVisParametersTBWidget = new QWidget(fToolBox); + fViewComponentsTBWidget = new QWidget(fToolBox); + + CreateVisParametersTBWidget(); + CreateViewComponentsTBWidget(); + CreateHelpTBWidget(); + CreateCoutTBWidget(); + CreateHistoryTBWidget(); + + // the splitter + // fToolBox->addItem(fVisParametersTBWidget,"Vis parameters"); + // fToolBox->addItem(fViewComponentsTBWidget,"Viewer components"); + fToolBox->addItem(fHelpTBWidget,"Help"); + fToolBox->addItem(fCoutTBWidget,"Cout"); + fToolBox->addItem(fHistoryTBWidget,"History"); + + + + fToolBox->setSizePolicy (QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed)); + +#if QT_VERSION < 0x040000 + fEmptyViewerTabLabel = new QLabel(fToolBox," If you want to have a Viewer, please use /vis/open commands. "); +#else + fEmptyViewerTabLabel = new QLabel(" If you want to have a Viewer, please use /vis/open commands. "); +#endif + + // Only at creation. Will be set visible when sessionStart(); +#if QT_VERSION >= 0x040000 + #if QT_VERSION >= 0x040200 + fEmptyViewerTabLabel->setVisible(false); + #else + fEmptyViewerTabLabel->hide(); + #endif +#else + fEmptyViewerTabLabel->hide(); +#endif + + +#if QT_VERSION >= 0x040000 + fMyVSplitter->addWidget(fToolBox); + fMyVSplitter->addWidget(fEmptyViewerTabLabel); +#endif + + +#if QT_VERSION >= 0x040000 + commandLineWidget->setLayout(layoutCommandLine); +#endif + commandLineWidget->setSizePolicy (QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum)); + mainLayout->addWidget(fMyVSplitter,1); + mainLayout->addWidget(commandLineWidget); + +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::G4UIQt :: 5\n"); +#endif + +#if QT_VERSION >= 0x040000 + mainWidget->setLayout(mainLayout); +#endif + + fMainWindow->setCentralWidget(mainWidget); + +#if QT_VERSION < 0x040000 + + // Add a quit subMenu + QPopupMenu *fileMenu = new QPopupMenu( fMainWindow); + fileMenu->insertItem( "&Quit", this, SLOT(ExitSession()), CTRL+Key_Q ); + fMainWindow->menuBar()->insertItem( QString("&File"), fileMenu ); + +#else + + // Add a quit subMenu + QMenu *fileMenu = fMainWindow->menuBar()->addMenu("File"); + fileMenu->addAction("Quit", this, SLOT(ExitSession())); + +#endif + + AddInteractor ("file",(G4Interactor)fileMenu); +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::G4UIQt :: 6\n"); +#endif + + // Connect signal + connect(fCommandArea, SIGNAL(returnPressed()), SLOT(CommandEnteredCallback())); + connect(fToolBox, SIGNAL(currentChanged(int)), SLOT(ToolBoxActivated(int))); + + if(UI!=NULL) UI->SetCoutDestination(this); // TO KEEP + #if QT_VERSION < 0x040000 fMainWindow->setCaption( tr( "G4UI Session" )); fMainWindow->resize(900,600); @@ -154,128 +310,20 @@ G4UIQt::G4UIQt ( fMainWindow->move(QPoint(50,100)); #endif - QWidget *mainWidget = new QWidget(fMainWindow); -#if QT_VERSION < 0x040000 - QSplitter *splitter = new QSplitter(Qt::Vertical,fMainWindow); -#else - QSplitter *splitter = new QSplitter(Qt::Vertical,mainWidget); -#endif - - // Set layouts - - QWidget* topWidget = new QWidget(splitter); - QWidget* bottomWidget = new QWidget(splitter); - - QVBoxLayout *layoutTop = new QVBoxLayout(topWidget); - QVBoxLayout *layoutBottom = new QVBoxLayout(bottomWidget); - - // fill them - - fTextArea = new QTextEdit(topWidget); - QPushButton *clearButton = new QPushButton("clear",topWidget); - connect(clearButton, SIGNAL(clicked()), SLOT(ClearButtonCallback())); - -#if QT_VERSION < 0x040000 - - fCommandHistoryArea = new QListView(bottomWidget); - fCommandHistoryArea->setSorting (-1, FALSE); - fCommandHistoryArea->setSelectionMode(QListView::Single); - fCommandHistoryArea->addColumn(""); - fCommandHistoryArea->header()->hide(); - connect(fCommandHistoryArea, SIGNAL(selectionChanged()), SLOT(CommandHistoryCallback())); -#else - fCommandHistoryArea = new QListWidget(); - fCommandHistoryArea->setSelectionMode(QAbstractItemView::SingleSelection); - connect(fCommandHistoryArea, SIGNAL(itemSelectionChanged()), SLOT(CommandHistoryCallback())); -#endif - fCommandHistoryArea->installEventFilter(this); - fCommandLabel = new QLabel("",bottomWidget); - - fCommandArea = new QLineEdit(bottomWidget); - fCommandArea->installEventFilter(this); -#if QT_VERSION < 0x040000 - fCommandArea->setActiveWindow(); -#else - fCommandArea->activateWindow(); -#endif - connect(fCommandArea, SIGNAL(returnPressed()), SLOT(CommandEnteredCallback())); -#if QT_VERSION < 0x040000 - fCommandArea->setFocusPolicy ( QWidget::StrongFocus ); - fCommandArea->setFocus(); -#else - fCommandArea->setFocusPolicy ( Qt::StrongFocus ); - fCommandArea->setFocus(Qt::TabFocusReason); -#endif - fTextArea->setReadOnly(true); - - layoutTop->addWidget(fTextArea); - layoutTop->addWidget(clearButton); - + // Set not visible until session start #if QT_VERSION >= 0x040000 - // topWidget->setLayout(layoutTop); -#endif - - layoutBottom->addWidget(fCommandHistoryArea); - layoutBottom->addWidget(fCommandLabel); - layoutBottom->addWidget(fCommandArea); -#if QT_VERSION >= 0x040000 - - // bottomWidget->setLayout(layoutBottom); - QVBoxLayout *mainLayout = new QVBoxLayout(mainWidget); - - splitter->addWidget(topWidget); - splitter->addWidget(bottomWidget); - - mainLayout->addWidget(splitter); - -#endif - -#if QT_VERSION >= 0x040000 - fMainWindow->setCentralWidget(mainWidget); + #if QT_VERSION >= 0x040200 + fMainWindow->setVisible(false); + #else + fMainWindow->hide(); + #endif #else - fMainWindow->setCentralWidget(splitter); + fMainWindow->hide(); #endif -#if QT_VERSION < 0x040000 - - // Add a quit subMenu - QPopupMenu *fileMenu = new QPopupMenu( fMainWindow); - fileMenu->insertItem( "&Quit", this, SLOT(ExitSession()), CTRL+Key_Q ); - fMainWindow->menuBar()->insertItem( QString("&File"), fileMenu ); - - // Add a Help menu - QPopupMenu *helpMenu = new QPopupMenu( fMainWindow ); - helpMenu->insertItem( "&Show Help", this, SLOT(ShowHelpCallback()), CTRL+Key_H ); - fMainWindow->menuBar()->insertItem( QString("&Help"), helpMenu ); - - -#else - - // Add a quit subMenu - QMenu *fileMenu = fMainWindow->menuBar()->addMenu("File"); - fileMenu->addAction("Quit", this, SLOT(ExitSession())); - - // Add a Help menu - QMenu *helpMenu = fMainWindow->menuBar()->addMenu("Help"); - helpMenu->addAction("Show Help", this, SLOT(ShowHelpCallback())); +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::G4UIQt END\n"); #endif - - AddInteractor ("file",(G4Interactor)fileMenu); - AddInteractor ("help",(G4Interactor)helpMenu); - - // Set the splitter size. The fTextArea sould be 2/3 on the fMainWindow -#if QT_VERSION < 0x040000 - QValueList vals = splitter->sizes(); -#else - QList vals = splitter->sizes(); -#endif -// if(vals.size()==2) { -// vals[0] = (splitter->orientation()==Qt::Vertical ? splitter->height() : splitter->width())*3/4; -// vals[1] = (splitter->orientation()==Qt::Vertical ? splitter->height() : splitter->width())*1/4; -// splitter->setSizes(vals); -// } - - if(UI!=NULL) UI->SetCoutDestination(this); // TO KEEP } @@ -283,16 +331,370 @@ G4UIQt::G4UIQt ( G4UIQt::~G4UIQt( ) { +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::~G4UIQt Delete\n"); +#endif G4UImanager* UI = G4UImanager::GetUIpointer(); // TO KEEP if(UI!=NULL) { // TO KEEP UI->SetSession(NULL); // TO KEEP + UI->SetG4UIWindow(NULL); UI->SetCoutDestination(NULL); // TO KEEP } - if (fMainWindow!=NULL) + if (fMainWindow!=NULL) { +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::~G4UIQt DELETE fMainWindow\n"); +#endif delete fMainWindow; + } } +/** Create the History ToolBox Widget + */ +void G4UIQt::CreateHistoryTBWidget( +) +{ + +#if QT_VERSION < 0x040000 + QVBoxLayout *layoutHistoryTB = new QVBoxLayout(fHistoryTBWidget); + + fHistoryTBTableList = new QListView(fHistoryTBWidget); + fHistoryTBTableList->setSorting (-1, FALSE); + fHistoryTBTableList->setSelectionMode(QListView::Single); + fHistoryTBTableList->addColumn(""); + fHistoryTBTableList->header()->hide(); + connect(fHistoryTBTableList, SIGNAL(selectionChanged()), SLOT(CommandHistoryCallback())); +#else + QVBoxLayout *layoutHistoryTB = new QVBoxLayout(); + fHistoryTBTableList = new QListWidget(); + fHistoryTBTableList->setSelectionMode(QAbstractItemView::SingleSelection); + connect(fHistoryTBTableList, SIGNAL(itemSelectionChanged()), SLOT(CommandHistoryCallback())); +#endif + fHistoryTBTableList->installEventFilter(this); + + layoutHistoryTB->addWidget(fHistoryTBTableList); + +#if QT_VERSION >= 0x040000 + fHistoryTBWidget->setLayout(layoutHistoryTB); +#endif +} + +/** Create the Help ToolBox Widget + */ +void G4UIQt::CreateHelpTBWidget( +) +{ + + +#if QT_VERSION < 0x040000 + QWidget *helpWidget = new QWidget(fHelpTBWidget); + QHBoxLayout *helpLayout = new QHBoxLayout(helpWidget); + fHelpVSplitter = new QSplitter(Qt::Horizontal,fHelpTBWidget); +#else + QWidget *helpWidget = new QWidget(); + QHBoxLayout *helpLayout = new QHBoxLayout(); + QVBoxLayout *vLayout = new QVBoxLayout(); + fHelpVSplitter = new QSplitter(Qt::Horizontal); +#endif + fHelpLine = new QLineEdit(fHelpTBWidget); + helpLayout->addWidget(new QLabel("Search :",helpWidget)); + helpLayout->addWidget(fHelpLine); +#if QT_VERSION < 0x040000 + connect( fHelpLine, SIGNAL( returnPressed () ), this, SLOT( LookForHelpStringCallback() ) ); +#else + connect( fHelpLine, SIGNAL( editingFinished () ), this, SLOT( LookForHelpStringCallback() ) ); +#endif + + // Create Help tree + FillHelpTree(); + + fHelpArea = new QTextEdit(fHelpVSplitter); + fHelpArea->setReadOnly(true); + + // Set layouts + +#if QT_VERSION >= 0x040000 + if (fHelpTreeWidget) { + fHelpVSplitter->addWidget(fHelpTreeWidget); + } + fHelpVSplitter->addWidget(fHelpArea); +#endif + + +#if QT_VERSION >= 0x040000 + vLayout->addWidget(helpWidget); + vLayout->addWidget(fHelpVSplitter,1); +#endif + + fHelpTBWidget->setMinimumSize(50,50); + fHelpTBWidget->setSizePolicy (QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum)); + // set the splitter size +#if QT_VERSION >= 0x040000 + QList list; +#else + QValueList list; +#endif + list.append( 50 ); + list.append( 50 ); + fHelpVSplitter->setSizes(list); + +#if QT_VERSION >= 0x040000 + helpWidget->setLayout(helpLayout); + fHelpTBWidget->setLayout(vLayout); +#endif +} + + +/** Create the Cout ToolBox Widget + */ +void G4UIQt::CreateCoutTBWidget( +) +{ +#if QT_VERSION >= 0x040000 + QVBoxLayout *layoutCoutTB = new QVBoxLayout(); +#else + QVBoxLayout *layoutCoutTB = new QVBoxLayout(fCoutTBWidget); +#endif + + fCoutTBTextArea = new QTextEdit(fCoutTBWidget); + fCoutFilter = new QLineEdit(fCoutTBWidget); + QLabel* coutFilterLabel = new QLabel("Filter : ",fCoutTBWidget); + + QPushButton *coutTBClearButton = new QPushButton("clear",fCoutTBWidget); + connect(coutTBClearButton, SIGNAL(clicked()), SLOT(ClearButtonCallback())); + connect(fCoutFilter, SIGNAL(textEdited ( const QString &)), SLOT(CoutFilterCallback( const QString &))); + + fCoutTBTextArea->setReadOnly(true); + + QWidget* coutButtonWidget = new QWidget(fCoutTBWidget); + QHBoxLayout* layoutCoutTBButtons = new QHBoxLayout(coutButtonWidget); + layoutCoutTBButtons->addWidget(coutTBClearButton); + layoutCoutTBButtons->addWidget(coutFilterLabel); + layoutCoutTBButtons->addWidget(fCoutFilter); + + layoutCoutTB->addWidget(fCoutTBTextArea); + layoutCoutTB->addWidget(coutButtonWidget); + +#if QT_VERSION >= 0x040000 + fCoutTBWidget->setLayout(layoutCoutTB); +#endif +} + + +/** Create the VisParameters ToolBox Widget + */ +void G4UIQt::CreateVisParametersTBWidget( +) +{ +} + + +/** Create the ViewComponents ToolBox Widget + */ +void G4UIQt::CreateViewComponentsTBWidget( +) +{ +} + + +/** Add a new tab widget. + Create the tab if it was not done +*/ +bool G4UIQt::AddTabWidget( + QWidget* aWidget +,QString name +,int sizeX +,int sizeY +) +{ +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::AddTabWidget %d %d\n",sizeX, sizeY); +#endif + + if (fTabWidget == NULL) { +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::AddTabWidget +++++\n"); +#endif + fTabWidget = new G4QTabWidget(fMyVSplitter); +#if QT_VERSION >= 0x040500 + fTabWidget->setTabsClosable (true); +#endif + +#if QT_VERSION >= 0x040200 + fTabWidget->setUsesScrollButtons (true); +#endif + + fTabWidget->setSizePolicy (QSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum)); + + QSizePolicy policy = fTabWidget->sizePolicy(); +#if QT_VERSION < 0x040000 + policy.setHorStretch(1); + policy.setVerStretch(1); +#else + policy.setHorizontalStretch(1); + policy.setVerticalStretch(1); +#endif + fTabWidget->setSizePolicy(policy); + +#if QT_VERSION >= 0x040500 + connect(fTabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(TabCloseCallback(int))); +#endif + connect(fTabWidget, SIGNAL(currentChanged ( int ) ), SLOT(UpdateTabWidget(int))); + } + + fLastQTabSizeX = sizeX; + fLastQTabSizeY = sizeY; + + if (!aWidget) { + return false; + } + + // Remove QLabel + + // L.Garnier 26/05/2010 : not exactly the same in qt3. Could cause some + // troubles +#if QT_VERSION >= 0x040000 + if ( fMyVSplitter->indexOf(fEmptyViewerTabLabel) != -1) { +#endif + +#if QT_VERSION < 0x040000 + fEmptyViewerTabLabel->reparent(0,0,QPoint(0,0)); + fEmptyViewerTabLabel->hide(); + delete fEmptyViewerTabLabel; + fEmptyViewerTabLabel = NULL; + +#else + fEmptyViewerTabLabel->hide(); + fEmptyViewerTabLabel->setParent(NULL); + delete fEmptyViewerTabLabel; + fEmptyViewerTabLabel = NULL; + + fMyVSplitter->addWidget(fTabWidget); +#endif + +#if QT_VERSION < 0x040000 + aWidget->reparent(fTabWidget,0,QPoint(0,0)); +#else + aWidget->setParent(fTabWidget); +#endif +#if QT_VERSION >= 0x040000 + } +#endif + + +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::AddTabWidget ADD %d %d + %d %d---------------------------------------------------\n",sizeX, sizeY,sizeX-fTabWidget->width(),sizeY-fTabWidget->height()); +#endif + + if (fMainWindow->isVisible()) { + + // get the size of the tabbar + int tabBarX = 0; + int tabBarY = 0; + if (fTabWidget->count() >0) { +#if QT_VERSION < 0x040000 + tabBarX = fTabWidget->width()-fTabWidget->page(0)->width(); + tabBarY = fTabWidget->height()-fTabWidget->page(0)->height(); +#else + tabBarX = fTabWidget->width()-fTabWidget->widget(0)->width(); + tabBarY = fTabWidget->height()-fTabWidget->widget(0)->height(); +#endif + } + + fMainWindow->resize(tabBarX+fMainWindow->width()+sizeX-fTabWidget->width(),tabBarY+fMainWindow->height()+sizeY-fTabWidget->height()); + } + + // Problems with resize. The widgets are not realy drawn at this step, + // then we have to force them on order to check the size + +#if QT_VERSION < 0x040000 + fTabWidget->insertTab(aWidget,name,fTabWidget->count()); +#else + fTabWidget->insertTab(fTabWidget->count(),aWidget,name); +#endif + +#if QT_VERSION < 0x040000 + fTabWidget->setCurrentPage(fTabWidget->count()-1); +#else + fTabWidget->setCurrentIndex(fTabWidget->count()-1); +#endif + + // Set visible +#if QT_VERSION >= 0x040000 + #if QT_VERSION >= 0x040200 + fTabWidget->setLastTabCreated(fTabWidget->currentIndex()); + #else + fTabWidget->setLastTabCreated(fTabWidget->currentIndex()); + #endif +#else + fTabWidget->setLastTabCreated(fTabWidget->currentPageIndex()); +#endif + + return true; +} + + +void G4UIQt::UpdateTabWidget(int tabNumber) { +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::UpdateTabWidget %d\n",tabNumber); +#endif + if ( fTabWidget == NULL) { + fTabWidget = new G4QTabWidget; + } + + +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::UpdateTabWidget CALL REPAINT tabGL\n"); +#endif + +#if QT_VERSION < 0x040000 + fTabWidget->setCurrentPage(tabNumber); +#else + fTabWidget->setCurrentIndex(tabNumber); +#endif + + // Send this signal to unblock graphic updates ! + fTabWidget->setTabSelected(false); + +#if QT_VERSION >= 0x040000 + #if QT_VERSION >= 0x040200 + fTabWidget->setVisible(true); + #else + fTabWidget->show(); + #endif +#else + fTabWidget->show(); +#endif + + // This will send a paintEvent to OGL Viewers + fTabWidget->setTabSelected(true); + +#if QT_VERSION < 0x040000 + QApplication::sendPostedEvents () ; +#else + QCoreApplication::sendPostedEvents () ; +#endif + +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::UpdateTabWidget END\n"); +#endif +} + + +/** Send resize event to all tabs + */ +void G4UIQt::ResizeTabWidget( QResizeEvent* e) { + for (G4int a=0;acount() ;a++) { +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::ResizeTabWidget +++++++++++++++++++++++++++++++++++++++\n"); +#endif +#if QT_VERSION < 0x040000 + fTabWidget->page(a)->resize(e->size()); +#else + fTabWidget->widget(a)->resize(e->size()); +#endif + } +} /** Start the Qt main loop @@ -300,22 +702,57 @@ G4UIQt::~G4UIQt( G4UIsession* G4UIQt::SessionStart ( ) { +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::G4UIQt SessionStart\n"); +#endif G4Qt* interactorManager = G4Qt::getInstance (); -#if QT_VERSION >= 0x040000 -#if QT_VERSION >= 0x040200 - fMainWindow->setVisible(true); -#else - fMainWindow->show(); -#endif -#else - fMainWindow->show(); -#endif - Prompt("session"); + Prompt("Session :"); exitSession = false; + if (fEmptyViewerTabLabel != NULL) { + bool visible = false; + if (fTabWidget != NULL) { + if (fTabWidget->isVisible()) { + visible = true; + } + } + } +#if QT_VERSION >= 0x040000 + #if QT_VERSION >= 0x040200 + fMainWindow->setVisible(true); + #else + fMainWindow->show(); + #endif +#else + fMainWindow->show(); +#endif + // get the size of the tabbar + int tabBarX = 0; + int tabBarY = 0; + + if (fTabWidget != NULL) { +#if QT_VERSION < 0x040000 + tabBarX = -fTabWidget->page(0)->width(); + tabBarY = -fTabWidget->page(0)->height(); +#else + tabBarX = -fTabWidget->widget(0)->width(); + tabBarY = -fTabWidget->widget(0)->height(); +#endif + } + fMainWindow->resize(tabBarX+fMainWindow->width()+fLastQTabSizeX,tabBarY+fMainWindow->height()+fLastQTabSizeY); + +#if QT_VERSION < 0x040000 + QApplication::sendPostedEvents () ; +#else + QCoreApplication::sendPostedEvents () ; +#endif + +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::G4UIQt SessionStart2\n"); +#endif interactorManager->DisableSecondaryLoop (); // TO KEEP if ((QApplication*)interactorManager->GetMainInteractor()) ((QApplication*)interactorManager->GetMainInteractor())->exec(); @@ -349,11 +786,6 @@ void G4UIQt::Prompt ( } -QMainWindow * G4UIQt::getMainWindow ( -) -{ - return fMainWindow; -} void G4UIQt::SessionTerminate ( ) @@ -409,7 +841,7 @@ void G4UIQt::SecondaryLoop ( interactorManager->DispatchEvent(event); // TO KEEP if(exitPause==true) break; // TO KEEP } // TO KEEP - Prompt("session"); // TO KEEP + Prompt("Session :"); // TO KEEP } @@ -421,21 +853,39 @@ void G4UIQt::SecondaryLoop ( */ G4int G4UIQt::ReceiveG4cout ( G4String aString -) + ) { if (!aString) return 0; - G4Qt* interactorManager = G4Qt::getInstance (); - if (!interactorManager) return 0; + QStringList newStr; + + // Add to stringList #if QT_VERSION < 0x040000 - fTextArea->append(QString((char*)aString.data()).simplifyWhiteSpace()); - fTextArea->verticalScrollBar()->setValue(fTextArea->verticalScrollBar()->maxValue()); + newStr = QStringList(QString((char*)aString.data()).simplifyWhiteSpace()); #else - fTextArea->append(QString((char*)aString.data()).trimmed()); - fTextArea->verticalScrollBar()->setSliderPosition(fTextArea->verticalScrollBar()->maximum()); + newStr = QStringList(QString((char*)aString.data()).trimmed()); #endif - fTextArea->repaint(); - // interactorManager->FlushAndWaitExecution(); + fG4cout += newStr; + +#if QT_VERSION >= 0x040000 + QStringList result = newStr.filter(fCoutFilter->text()); +#else + //L. Garnier : in qt3 filter will does nothing + QStringList result = ""; +#endif + + if (result.join("\n").isEmpty()) { + return 0; + } + fCoutTBTextArea->append(result.join("\n")); + fCoutTBTextArea->repaint(); + +#if QT_VERSION < 0x040000 + fCoutTBTextArea->verticalScrollBar()->setValue(fCoutTBTextArea->verticalScrollBar()->maxValue()); +#else + fCoutTBTextArea->verticalScrollBar()->setSliderPosition(fCoutTBTextArea->verticalScrollBar()->maximum()); +#endif + return 0; } @@ -450,24 +900,38 @@ G4int G4UIQt::ReceiveG4cerr ( ) { if (!aString) return 0; - G4Qt* interactorManager = G4Qt::getInstance (); - if (!interactorManager) return 0; + + QStringList newStr; + + // Add to stringList +#if QT_VERSION < 0x040000 + newStr = QStringList(QString((char*)aString.data()).simplifyWhiteSpace()); +#else + newStr = QStringList(QString((char*)aString.data()).trimmed()); +#endif + fG4cout += newStr; + +#if QT_VERSION < 0x040000 + //L. Garnier : in qt3 filter will does nothing + QStringList result = ""; +#else + QStringList result = newStr.filter(fCoutFilter->text()); +#endif #if QT_VERSION < 0x040000 - QColor previousColor = fTextArea->color(); - fTextArea->setColor(Qt::red); - fTextArea->append(QString((char*)aString.data()).simplifyWhiteSpace()); - fTextArea->setColor(previousColor); - fTextArea->verticalScrollBar()->setValue(fTextArea->verticalScrollBar()->maxValue()); + QColor previousColor = fCoutTBTextArea->color(); + fCoutTBTextArea->setColor(Qt::red); + fCoutTBTextArea->append(result.join("\n")); + fCoutTBTextArea->setColor(previousColor); + fCoutTBTextArea->verticalScrollBar()->setValue(fCoutTBTextArea->verticalScrollBar()->maxValue()); #else - QColor previousColor = fTextArea->textColor(); - fTextArea->setTextColor(Qt::red); - fTextArea->append(QString((char*)aString.data()).trimmed()); - fTextArea->setTextColor(previousColor); - fTextArea->verticalScrollBar()->setSliderPosition(fTextArea->verticalScrollBar()->maximum()); + QColor previousColor = fCoutTBTextArea->textColor(); + fCoutTBTextArea->setTextColor(Qt::red); + fCoutTBTextArea->append(result.join("\n")); + fCoutTBTextArea->setTextColor(previousColor); + fCoutTBTextArea->verticalScrollBar()->setSliderPosition(fCoutTBTextArea->verticalScrollBar()->maximum()); #endif - fTextArea->repaint(); - // interactorManager->FlushAndWaitExecution(); + fCoutTBTextArea->repaint(); return 0; } @@ -524,12 +988,12 @@ void G4UIQt::AddButton ( QSignalMapper *signalMapper = new QSignalMapper(this); #if QT_VERSION < 0x030200 - QAction *action = new QAction(QString(aLabel),QString(aLabel),QKeySequence::QKeySequence (),signalMapper, SLOT(map())); + QAction *action = new QAction(QString(aLabel),QString(aLabel),QKeySequence(),signalMapper, SLOT(map())); action->addTo(parent); connect(action,SIGNAL(activated()),signalMapper,SLOT(map())); #elif QT_VERSION < 0x040000 - QAction *action = new QAction(QString(aLabel),QKeySequence::QKeySequence (),signalMapper, SLOT(map())); + QAction *action = new QAction(QString(aLabel),QKeySequence(),signalMapper, SLOT(map())); action->addTo(parent); connect(action,SIGNAL(activated()),signalMapper,SLOT(map())); @@ -544,111 +1008,6 @@ void G4UIQt::AddButton ( -/** - Open the help dialog in a separate window.
    - This will be display as a tree widget.
    - Implementation of void G4VBasicShell::TerminalHelp(G4String newCommand) - - @param newCommand : open the tree widget item on this command if is set -*/ -void G4UIQt::TerminalHelp( - G4String newCommand -) -{ - // Create the help dialog - if (!fHelpDialog) { -#if QT_VERSION < 0x040000 - fHelpDialog = new QDialog(0,0,FALSE,Qt::WStyle_Title | Qt::WStyle_SysMenu | Qt::WStyle_MinMax ); -#else - fHelpDialog = new QDialog(0,Qt::WindowTitleHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint); -#endif - QVBoxLayout *vLayout = new QVBoxLayout(fHelpDialog); - QWidget *helpWidget = new QWidget(fHelpDialog); - QSplitter *splitter = new QSplitter(Qt::Horizontal,fHelpDialog); - QPushButton *exitButton = new QPushButton("Exit",fHelpDialog); - exitButton->setAutoDefault(false); - connect(exitButton, SIGNAL(clicked()), fHelpDialog,SLOT(close())); - - QHBoxLayout *helpLayout = new QHBoxLayout(helpWidget); -#if QT_VERSION < 0x040000 - helpLayout->add(new QLabel("Search :",helpWidget)); -#else - helpLayout->addWidget(new QLabel("Search :",helpWidget)); -#endif - helpLine = new QLineEdit(fHelpDialog); -#if QT_VERSION < 0x040000 - helpLayout->add(helpLine); - connect( helpLine, SIGNAL( returnPressed () ), this, SLOT( lookForHelpStringCallback() ) ); -#else - helpLayout->addWidget(helpLine); - connect( helpLine, SIGNAL( editingFinished () ), this, SLOT( lookForHelpStringCallback() ) ); -#endif - - // the help tree -#if QT_VERSION < 0x040000 - fHelpTreeWidget = new QListView(splitter); -#else - fHelpTreeWidget = new QTreeWidget(); -#endif - fHelpTreeWidget = CreateHelpTree(); - - fHelpArea = new QTextEdit(splitter); - fHelpArea->setReadOnly(true); - - // Set layouts - -#if QT_VERSION >= 0x040000 - if (fHelpTreeWidget) - splitter->addWidget(fHelpTreeWidget); - splitter->addWidget(fHelpArea); -#endif - - -#if QT_VERSION >= 0x040000 - vLayout->addWidget(helpWidget); - vLayout->addWidget(splitter,1); - vLayout->addWidget(exitButton); -#else - vLayout->addWidget(helpWidget); - vLayout->addWidget(splitter,1); - vLayout->addWidget(exitButton); -#endif - - // set the splitter size -#if QT_VERSION >= 0x040000 - QList list; -#else - QValueList list; -#endif - list.append( 400 ); - list.append( 400 ); - splitter->setSizes(list); - -#if QT_VERSION >= 0x040000 - fHelpDialog->setLayout(vLayout); -#endif - - } - - ActivateCommand(newCommand); - -#if QT_VERSION < 0x040000 - fHelpDialog->setCaption( tr( "Help on commands" )); -#else - fHelpDialog->setWindowTitle(tr("Help on commands")); -#endif - fHelpDialog->resize(800,600); - fHelpDialog->move(QPoint(400,150)); - fHelpDialog->show(); - fHelpDialog->raise(); -#if QT_VERSION < 0x040000 - fHelpDialog->setActiveWindow(); -#else - fHelpDialog->activateWindow(); -#endif -} - - void G4UIQt::ActivateCommand( G4String newCommand ) @@ -658,101 +1017,25 @@ void G4UIQt::ActivateCommand( } // Look for the choosen command "newCommand" size_t i = newCommand.index(" "); - G4String targetCom=""; + G4String targetCom =""; if( i != std::string::npos ) { G4String newValue = newCommand(i+1,newCommand.length()-(i+1)); newValue.strip(G4String::both); targetCom = ModifyToFullPathCommand( newValue ); } +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::ActivateCommand found : %s \n",targetCom.data()); +#endif if (targetCom != "") { -#if QT_VERSION < 0x040000 - QListViewItem* findItem = NULL; - QListViewItem* tmpItem = fHelpTreeWidget->firstChild(); - while (tmpItem != 0) { - if (!findItem) { - findItem = FindTreeItem(tmpItem,QString((char*)targetCom.data())); - } - tmpItem = tmpItem->nextSibling(); - } -#else - QTreeWidgetItem* findItem = NULL; - for (int a=0;atopLevelItemCount();a++) { - if (!findItem) { - findItem = FindTreeItem(fHelpTreeWidget->topLevelItem(a),QString((char*)targetCom.data())); - } - } -#endif - - if (findItem) { - - //collapsed open item -#if QT_VERSION < 0x040000 - - // FIXME : Has to be checked - QListViewItem* tmpItem = fHelpTreeWidget->firstChild(); - QList openItems; - while ((tmpItem != 0) || (!openItems.isEmpty())) { - if (tmpItem->isOpen() ) { - tmpItem->setOpen(false); - openItems.append(tmpItem); - tmpItem = tmpItem->firstChild(); - } else { - tmpItem = tmpItem->nextSibling(); - } - if (tmpItem == 0) { - tmpItem = openItems.take(openItems.count()-1); - } - } -#else - QList selected; - - selected = fHelpTreeWidget->selectedItems(); - if ( selected.count() != 0 ) { - QTreeWidgetItem * tmp =selected.at( 0 ); - while ( tmp) { -#if QT_VERSION < 0x040202 - fHelpTreeWidget->setItemExpanded(tmp,false); -#else - tmp->setExpanded(false); -#endif - tmp = tmp->parent(); - } - } -#endif - - // clear old selection - fHelpTreeWidget->clearSelection(); - - // set new selection -#if QT_VERSION >= 0x040000 -#if QT_VERSION < 0x040202 - fHelpTreeWidget->setItemSelected(findItem,true); -#else - findItem->setSelected(true); -#endif -#else - findItem->setSelected(true); -#endif - - // expand parent item - while ( findItem) { -#if QT_VERSION < 0x040000 - findItem->setOpen(true); -#else -#if QT_VERSION < 0x040202 - fHelpTreeWidget->setItemExpanded(findItem,true); -#else - findItem->setExpanded(true); -#endif -#endif - findItem = findItem->parent(); - } - - // Call the update of the right textArea - HelpTreeClicCallback(); - } + OpenHelpTreeOnCommand(targetCom.data()); } + +#if QT_VERSION < 0x040000 + fToolBox->setCurrentItem(fHelpTBWidget); +#else + fToolBox->setCurrentWidget(fHelpTBWidget); +#endif } @@ -763,15 +1046,16 @@ void G4UIQt::ActivateCommand( @return the widget containing the tree or NULL if it could not have beeen created */ -#if QT_VERSION < 0x040000 -QListView * G4UIQt::CreateHelpTree() -#else -QTreeWidget * G4UIQt::CreateHelpTree() -#endif +void G4UIQt::InitHelpTree() { - G4UImanager* UI = G4UImanager::GetUIpointer(); - if(UI==NULL) return NULL; - G4UIcommandTree * treeTop = UI->GetTree(); + + if (! fHelpTreeWidget ) { +#if QT_VERSION < 0x040000 + fHelpTreeWidget = new QListView(fHelpVSplitter); +#else + fHelpTreeWidget = new QTreeWidget(); +#endif + } // build widget @@ -787,29 +1071,6 @@ QTreeWidget * G4UIQt::CreateHelpTree() fHelpTreeWidget->setHeaderLabels(labels); #endif - G4int treeSize = treeTop->GetTreeEntry(); -#if QT_VERSION < 0x040000 - QListViewItem * newItem; -#else - QTreeWidgetItem * newItem; -#endif - for (int a=0;asetText(0,QString((char*)(treeTop->GetTree(a+1)->GetPathName()).data()).simplifyWhiteSpace()); -#else - newItem = new QTreeWidgetItem(fHelpTreeWidget); - newItem->setText(0,QString((char*)(treeTop->GetTree(a+1)->GetPathName()).data()).trimmed()); -#endif - - - // look for childs - CreateChildTree(newItem,treeTop->GetTree(a+1)); - // items.append(newItem); - } - #if QT_VERSION < 0x040000 connect(fHelpTreeWidget, SIGNAL(selectionChanged ()),this, SLOT(HelpTreeClicCallback())); @@ -819,7 +1080,99 @@ QTreeWidget * G4UIQt::CreateHelpTree() connect(fHelpTreeWidget, SIGNAL(itemDoubleClicked (QTreeWidgetItem*,int)),this, SLOT(HelpTreeDoubleClicCallback())); #endif - return fHelpTreeWidget; +} +/** + Create the help tree widget + @param parent : parent of tree widget + @return the widget containing the tree or NULL if it could not have beeen created + */ + +void G4UIQt::FillHelpTree() +{ + if (! fHelpTreeWidget ) { + InitHelpTree(); + } + + QString searchText = fHelpLine->text(); + + if (searchText =="") { + // clear old help tree + // fHelpTreeWidget->clear(); +#if QT_VERSION < 0x040000 + fHelpTreeWidget->removeColumn(1); + fHelpTreeWidget->removeColumn(0); +#endif + } else { + return; + } + + if (fHelpArea) { +#if QT_VERSION < 0x040200 + fHelpArea->clear(); +#else + fHelpArea->setText(""); +#endif + } + + if (fHelpLine) { +#if QT_VERSION < 0x040200 + fHelpLine->clear(); +#else + fHelpLine->setText(""); +#endif + } + + G4UImanager* UI = G4UImanager::GetUIpointer(); + if(UI==NULL) return; + G4UIcommandTree * treeTop = UI->GetTree(); + + G4int treeSize = treeTop->GetTreeEntry(); +#if QT_VERSION < 0x040000 + QListViewItem * newItem = NULL; +#else + QTreeWidgetItem * newItem = NULL; +#endif + QString commandText = ""; + for (int a=0;aGetTree(a+1)->GetPathName()).data()).simplifyWhiteSpace(); +#else + commandText = QString((char*)(treeTop->GetTree(a+1)->GetPathName()).data()).trimmed(); +#endif + + // if already exist, don't create it ! +#if QT_VERSION < 0x040000 + QListViewItem* tmpAddItem = fHelpTreeWidget->firstChild(); + while (tmpAddItem != 0) { + if (!newItem) { + newItem = FindTreeItem(tmpAddItem,commandText); + } + tmpAddItem = tmpAddItem->nextSibling(); + } +#else + for (int b=0;btopLevelItemCount();b++) { + if (!newItem) + newItem = FindTreeItem(fHelpTreeWidget->topLevelItem(b),commandText); + } +#endif + + if (newItem == NULL) { + +#if QT_VERSION < 0x040000 + newItem = new QListViewItem(fHelpTreeWidget); +#else + newItem = new QTreeWidgetItem(fHelpTreeWidget); +#endif + newItem->setText(0,GetShortCommandPath(commandText)); + } + + // look for childs + CreateChildTree(newItem,treeTop->GetTree(a+1)); + } + } @@ -850,18 +1203,26 @@ void G4UIQt::CreateChildTree( QTreeWidgetItem * newItem; #endif + QString commandText = ""; // Get the Sub directories for (int a=0;aGetTreeEntry();a++) { #if QT_VERSION < 0x040000 - newItem = new QListViewItem(aParent); - newItem->setText(0,QString((char*)(aCommandTree->GetTree(a+1)->GetPathName()).data()).simplifyWhiteSpace()); - + commandText = QString((char*)(aCommandTree->GetTree(a+1)->GetPathName()).data()).simplifyWhiteSpace(); #else - newItem = new QTreeWidgetItem(aParent); - newItem->setText(0,QString((char*)(aCommandTree->GetTree(a+1)->GetPathName()).data()).trimmed()); + commandText = QString((char*)(aCommandTree->GetTree(a+1)->GetPathName()).data()).trimmed(); #endif - + + // if already exist, don't create it ! + newItem = FindTreeItem(aParent,commandText); + if (newItem == NULL) { +#if QT_VERSION < 0x040000 + newItem = new QListViewItem(aParent); +#else + newItem = new QTreeWidgetItem(aParent); +#endif + newItem->setText(0,GetShortCommandPath(commandText)); + } CreateChildTree(newItem,aCommandTree->GetTree(a+1)); } @@ -873,24 +1234,33 @@ void G4UIQt::CreateChildTree( QStringList stringList; #if QT_VERSION < 0x040000 - newItem = new QListViewItem(aParent); - newItem->setText(0,QString((char*)(aCommandTree->GetCommand(a+1)->GetCommandPath()).data()).simplifyWhiteSpace()); - newItem->setOpen(false); + commandText = QString((char*)(aCommandTree->GetCommand(a+1)->GetCommandPath()).data()).simplifyWhiteSpace(); +#else + commandText = QString((char*)(aCommandTree->GetCommand(a+1)->GetCommandPath()).data()).trimmed(); +#endif -#else - newItem = new QTreeWidgetItem(aParent); - newItem->setText(0,QString((char*)(aCommandTree->GetCommand(a+1)->GetCommandPath()).data()).trimmed()); -#if QT_VERSION < 0x040202 - fHelpTreeWidget->setItemExpanded(newItem,false); -#else - newItem->setExpanded(false); -#endif -#endif + // if already exist, don't create it ! + newItem = FindTreeItem(aParent,commandText); + if (newItem == NULL) { +#if QT_VERSION < 0x040000 + newItem = new QListViewItem(aParent); + newItem->setText(0,GetShortCommandPath(commandText)); + newItem->setOpen(false); +#else + newItem = new QTreeWidgetItem(aParent); + newItem->setText(0,GetShortCommandPath(commandText)); +#if QT_VERSION < 0x040202 + fHelpTreeWidget->setItemExpanded(newItem,false); +#else + newItem->setExpanded(false); +#endif +#endif + } } } - + /** Find a treeItemWidget in the help tree @param aCommand item's String to look for @return item if found, NULL if not @@ -907,7 +1277,19 @@ QTreeWidgetItem* G4UIQt::FindTreeItem( { if (aParent == NULL) return NULL; - if (aParent->text(0) == aCommand) + // Suppress last "/" + QString myCommand = aCommand; + +#if QT_VERSION < 0x040000 + if (myCommand.findRev("/") == ((int)myCommand.length()-1)) { + myCommand = myCommand.left(myCommand.length()-1); +#else + if (myCommand.lastIndexOf("/") == (myCommand.size()-1)) { + myCommand = myCommand.left(myCommand.size()-1); +#endif + } + + if (GetLongCommandPath(aParent) == myCommand) return aParent; #if QT_VERSION < 0x040000 @@ -915,21 +1297,21 @@ QTreeWidgetItem* G4UIQt::FindTreeItem( QListViewItem* tmpItem = aParent->firstChild(); while (tmpItem != 0) { if (!tmp) - tmp = FindTreeItem(tmpItem,aCommand); + tmp = FindTreeItem(tmpItem,myCommand); tmpItem = tmpItem->nextSibling(); } - #else QTreeWidgetItem * tmp = NULL; for (int a=0;achildCount();a++) { if (!tmp) - tmp = FindTreeItem(aParent->child(a),aCommand); + tmp = FindTreeItem(aParent->child(a),myCommand); } #endif return tmp; } + /** Build the command list parameters in a QString
    Reimplement partialy the G4UIparameter.cc @param aCommand : command to list parameters @@ -1016,17 +1398,6 @@ G4bool G4UIQt::GetHelpChoice( } -/** Implement G4VBasicShell vurtual function -*/ -void G4UIQt::ExitHelp( -) -{ -#ifdef G4DEBUG_INTERFACES_BASIC - printf("G4UIQt::ExitHelp SHOULD NEVER GO HERE"); -#endif -} - - /** Event filter method. Every event from QtApplication goes here.
    We apply a filter only for the Up and Down Arrow press when the QLineEdit
    is active. If this filter match, Up arrow we give the previous command
    @@ -1039,10 +1410,11 @@ bool G4UIQt::eventFilter( // Should stay with a minuscule eventFilter because of ,QEvent *aEvent ) { + bool moveCommandCursor = false; if (aObj == NULL) return false; if (aEvent == NULL) return false; - if (aObj == fCommandHistoryArea) { + if (aObj == fHistoryTBTableList) { if (aEvent->type() == QEvent::KeyPress) { fCommandArea->setFocus(); } @@ -1056,36 +1428,36 @@ bool G4UIQt::eventFilter( // Should stay with a minuscule eventFilter because of (e->key() == (Qt::Key_PageUp))) { #if QT_VERSION < 0x040000 // count rows... - QListViewItem* tmpItem = fCommandHistoryArea->firstChild(); + QListViewItem* tmpItem = fHistoryTBTableList->firstChild(); int selection = -1; int index = 0; while (tmpItem != 0) { - if (tmpItem == fCommandHistoryArea->selectedItem()) { + if (tmpItem == fHistoryTBTableList->selectedItem()) { selection = index; } index ++; tmpItem = tmpItem->nextSibling(); } - if (fCommandHistoryArea->childCount()) { + if (fHistoryTBTableList->childCount()) { if (selection == -1) { - selection = fCommandHistoryArea->childCount()-1; + selection = fHistoryTBTableList->childCount()-1; } else { if (e->key() == (Qt::Key_Down)) { - if (selection <(fCommandHistoryArea->childCount()-1)) + if (selection <(fHistoryTBTableList->childCount()-1)) selection++; } else if (e->key() == (Qt::Key_PageDown)) { - selection = fCommandHistoryArea->childCount()-1; + selection = fHistoryTBTableList->childCount()-1; #else - int selection = fCommandHistoryArea->currentRow(); - if (fCommandHistoryArea->count()) { + int selection = fHistoryTBTableList->currentRow(); + if (fHistoryTBTableList->count()) { if (selection == -1) { - selection = fCommandHistoryArea->count()-1; + selection = fHistoryTBTableList->count()-1; } else { if (e->key() == (Qt::Key_Down)) { - if (selection <(fCommandHistoryArea->count()-1)) + if (selection <(fHistoryTBTableList->count()-1)) selection++; } else if (e->key() == (Qt::Key_PageDown)) { - selection = fCommandHistoryArea->count()-1; + selection = fHistoryTBTableList->count()-1; #endif } else if (e->key() == (Qt::Key_Up)) { if (selection >0) @@ -1094,27 +1466,28 @@ bool G4UIQt::eventFilter( // Should stay with a minuscule eventFilter because of selection = 0; } } - fCommandHistoryArea->clearSelection(); + fHistoryTBTableList->clearSelection(); #if QT_VERSION < 0x040000 - QListViewItem* tmpItem = fCommandHistoryArea->firstChild(); + QListViewItem* tmpItem = fHistoryTBTableList->firstChild(); int index = 0; while (tmpItem != 0) { if (index == selection) { tmpItem->setSelected(true); - fCommandHistoryArea->setCurrentItem(tmpItem); + fHistoryTBTableList->setCurrentItem(tmpItem); } index ++; tmpItem = tmpItem->nextSibling(); } #else #if QT_VERSION < 0x040202 - fCommandHistoryArea->setItemSelected(fCommandHistoryArea->item(selection),true); + fHistoryTBTableList->setItemSelected(fHistoryTBTableList->item(selection),true); #else - fCommandHistoryArea->item(selection)->setSelected(true); + fHistoryTBTableList->item(selection)->setSelected(true); #endif - fCommandHistoryArea->setCurrentItem(fCommandHistoryArea->item(selection)); + fHistoryTBTableList->setCurrentItem(fHistoryTBTableList->item(selection)); #endif } + moveCommandCursor = true; } else if (e->key() == (Qt::Key_Tab)) { #if QT_VERSION < 0x040000 G4String ss = Complete(fCommandArea->text().ascii()); @@ -1138,8 +1511,19 @@ bool G4UIQt::eventFilter( // Should stay with a minuscule eventFilter because of } } } - // pass the event on to the parent class - return QObject::eventFilter(aObj, aEvent); + bool res= false; + // change cursor position if needed + if (moveCommandCursor == true) { +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::eventFilter setCursor Position\n"); +#endif + fCommandArea->setCursorPosition ( fCommandArea->text().length() ); + fCommandArea->setCursorPosition (4); + } else { + // pass the event on to the parent class + res = QObject::eventFilter(aObj, aEvent); + } + return res; } @@ -1165,7 +1549,8 @@ void G4UIQt::ShowHelpCallback ( void G4UIQt::ClearButtonCallback ( ) { - fTextArea->clear(); + fCoutTBTextArea->clear(); + fG4cout.clear(); } /** Called when user exit session @@ -1176,6 +1561,10 @@ void G4UIQt::ExitSession ( SessionTerminate(); } +void G4UIQt::ExitHelp( +) +{ +} /** Callback call when "click on a menu entry.
    Send the associated command to geant4 @@ -1187,23 +1576,23 @@ void G4UIQt::CommandEnteredCallback ( G4String command (fCommandArea->text().ascii()); if (fCommandArea->text().simplifyWhiteSpace() != "") { - QListViewItem *newItem = new QListViewItem(fCommandHistoryArea); + QListViewItem *newItem = new QListViewItem(fHistoryTBTableList); newItem->setText(0,fCommandArea->text()); - fCommandHistoryArea->insertItem(newItem); + fHistoryTBTableList->insertItem(newItem); // now we have to arrange - QListViewItem *temp= fCommandHistoryArea->lastItem(); - for (int i=0; ichildCount()-1;i++) { - fCommandHistoryArea->takeItem(temp); - fCommandHistoryArea->insertItem(temp); - temp= fCommandHistoryArea->lastItem(); + QListViewItem *temp= fHistoryTBTableList->lastItem(); + for (int i=0; ichildCount()-1;i++) { + fHistoryTBTableList->takeItem(temp); + fHistoryTBTableList->insertItem(temp); + temp= fHistoryTBTableList->lastItem(); } #else G4String command (fCommandArea->text().toStdString().c_str()); if (fCommandArea->text().trimmed() != "") { - fCommandHistoryArea->addItem(fCommandArea->text()); + fHistoryTBTableList->addItem(fCommandArea->text()); #endif - fCommandHistoryArea->clearSelection(); - fCommandHistoryArea->setCurrentItem(NULL); + fHistoryTBTableList->clearSelection(); + fHistoryTBTableList->setCurrentItem(NULL); fCommandArea->setText(""); G4Qt* interactorManager = G4Qt::getInstance (); @@ -1213,8 +1602,11 @@ void G4UIQt::CommandEnteredCallback ( if (command(0,4) != "help") { ApplyShellCommand (command,exitSession,exitPause); } else { - TerminalHelp(command); + ActivateCommand(command); } + // Rebuild help tree + FillHelpTree(); + if(exitSession==true) SessionTerminate(); } @@ -1235,6 +1627,10 @@ void G4UIQt::ButtonCallback ( G4String ss = G4String(aCommand.toStdString().c_str()); #endif ApplyShellCommand(ss,exitSession,exitPause); + + // Rebuild help tree + FillHelpTree(); + if(exitSession==true) SessionTerminate(); } @@ -1272,15 +1668,12 @@ void G4UIQt::HelpTreeClicCallback ( if(UI==NULL) return; G4UIcommandTree * treeTop = UI->GetTree(); - - - std::string itemText; #if QT_VERSION < 0x040000 - itemText = std::string(item->text(0).ascii()); + std::string itemText = GetLongCommandPath(item).ascii(); #else - itemText = std::string(item->text(0).toStdString()); + std::string itemText = GetLongCommandPath(item).toStdString(); #endif - + G4UIcommand* command = treeTop->FindPath(itemText.c_str()); if (command) { @@ -1343,7 +1736,7 @@ void G4UIQt::HelpTreeDoubleClicCallback ( return; fCommandArea->clear(); - fCommandArea->setText(item->text(0)); + fCommandArea->setText(GetLongCommandPath(item)); } @@ -1358,14 +1751,14 @@ void G4UIQt::CommandHistoryCallback( #else QListWidgetItem* item = NULL; #endif - if (!fCommandHistoryArea) + if (!fHistoryTBTableList) return ; #if QT_VERSION < 0x040000 - item =fCommandHistoryArea->selectedItem(); + item =fHistoryTBTableList->selectedItem(); #else - QList list =fCommandHistoryArea->selectedItems(); + QList list =fHistoryTBTableList->selectedItems(); if (list.isEmpty()) return; item = list.first(); @@ -1377,33 +1770,70 @@ void G4UIQt::CommandHistoryCallback( #else fCommandArea->setText(item->text()); #endif - +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4UIQt::CommandHistoryCallback change text\n"); +#endif } +void G4UIQt::CoutFilterCallback( +#if QT_VERSION < 0x040000 +const QString &) { +#else +const QString & text) { +#endif + +#if QT_VERSION < 0x040000 + QStringList result = ""; +#else + QStringList result = fG4cout.filter(text); + fCoutTBTextArea->setPlainText(result.join("\n")); +#endif + + fCoutTBTextArea->repaint(); +#if QT_VERSION < 0x040000 + fCoutTBTextArea->verticalScrollBar()->setValue(fCoutTBTextArea->verticalScrollBar()->maxValue()); +#else + fCoutTBTextArea->verticalScrollBar()->setSliderPosition(fCoutTBTextArea->verticalScrollBar()->maximum()); +#endif + + } + /** Callback called when user give a new string to look for
    Display a list of matching commands descriptions. If no string is set, will display the complete help tree */ -void G4UIQt::lookForHelpStringCallback( +void G4UIQt::LookForHelpStringCallback( ) { + QString searchText = fHelpLine->text(); + #if QT_VERSION < 0x040200 fHelpArea->clear(); #else fHelpArea->setText(""); #endif - if (helpLine->text() =="") { + if (searchText =="") { // clear old help tree fHelpTreeWidget->clear(); #if QT_VERSION < 0x040000 fHelpTreeWidget->removeColumn(1); fHelpTreeWidget->removeColumn(0); #endif - CreateHelpTree(); - return; - } + FillHelpTree(); + + return; + } else { + OpenHelpTreeOnCommand(searchText); + } +} + + +void G4UIQt::OpenHelpTreeOnCommand( + const QString & searchText +) +{ // the help tree G4UImanager* UI = G4UImanager::GetUIpointer(); if(UI==NULL) return; @@ -1432,9 +1862,9 @@ void G4UIQt::lookForHelpStringCallback( for (int a=0;aFindPath(treeTop->GetTree(a+1)->GetPathName().data()); #if QT_VERSION > 0x040000 - tmp = GetCommandList (command).count(helpLine->text(),Qt::CaseInsensitive); + tmp = GetCommandList (command).count(searchText,Qt::CaseInsensitive); #else - tmp = GetCommandList (command).contains(helpLine->text(),false); + tmp = GetCommandList (command).contains(searchText,false); #endif if (tmp >0) { #if QT_VERSION > 0x040000 @@ -1448,7 +1878,7 @@ void G4UIQt::lookForHelpStringCallback( #endif } // look for childs - commandChildResultMap = LookForHelpStringInChildTree(treeTop->GetTree(a+1),helpLine->text()); + commandChildResultMap = LookForHelpStringInChildTree(treeTop->GetTree(a+1),searchText); // insert new childs if (!commandChildResultMap.empty()) { #if QT_VERSION > 0x040000 @@ -1525,11 +1955,22 @@ void G4UIQt::lookForHelpStringCallback( } #if QT_VERSION < 0x040000 newItem = new QListViewItem(fHelpTreeWidget); - newItem->setText(0,i.data().simplifyWhiteSpace()); + QString commandStr = i.data().simplifyWhiteSpace(); #else newItem = new QTreeWidgetItem(fHelpTreeWidget); - newItem->setText(0,i.value().trimmed()); + QString commandStr = i.value().trimmed(); #endif + +#if QT_VERSION < 0x040000 + if (commandPath.find("/") == 0) { + commandStr = commandStr.right(commandStr.length()-1); +#else + if (commandStr.indexOf("/") == 0) { + commandStr = commandStr.right(commandStr.size()-1); +#endif + } + + newItem->setText(0,commandStr); newItem->setText(1,progressStr); #if QT_VERSION >= 0x040200 @@ -1634,4 +2075,177 @@ QMap G4UIQt::LookForHelpStringInChildTree( } return commandResultMap; } + + +QString G4UIQt::GetShortCommandPath( +QString commandPath +) +{ +#if QT_VERSION < 0x040000 + if (commandPath.find("/") == 0) { + commandPath = commandPath.right(commandPath.length()-1); +#else + if (commandPath.indexOf("/") == 0) { + commandPath = commandPath.right(commandPath.size()-1); +#endif + } + +#if QT_VERSION < 0x040000 + commandPath = commandPath.right(commandPath.length()-commandPath.findRev("/",-2)-1); +#else + commandPath = commandPath.right(commandPath.size()-commandPath.lastIndexOf("/",-2)-1); +#endif + +#if QT_VERSION < 0x040000 + if (commandPath.findRev("/") == ((int)commandPath.length()-1)) { + commandPath = commandPath.left(commandPath.length()-1); + } +#else + if (commandPath.lastIndexOf("/") == (commandPath.size()-1)) { + commandPath = commandPath.left(commandPath.size()-1); + } +#endif + + return commandPath; +} + + +QString G4UIQt::GetLongCommandPath( +#if QT_VERSION < 0x040000 + QListViewItem* item +#else + QTreeWidgetItem* item +#endif +) +{ + if (item == NULL) return ""; + + // rebuild path: + QString itemText = ""; + itemText = item->text(0); + + while (item->parent() != NULL) { + itemText = item->parent()->text(0)+"/"+itemText; + item = item->parent(); + } + itemText = "/"+itemText; + + return itemText; +} + +G4QTabWidget::G4QTabWidget( +QSplitter*& split +):QTabWidget(split) + ,tabSelected(false) + ,lastCreated(-1) +{ +} + +G4QTabWidget::G4QTabWidget( +):QTabWidget() + ,tabSelected(false) + ,lastCreated(-1) +{ +} + + + +#if QT_VERSION >= 0x040500 +void G4UIQt::TabCloseCallback(int a){ +#else +void G4UIQt::TabCloseCallback(int){ +#endif +#if QT_VERSION >= 0x040500 + QWidget* temp = fTabWidget->widget(a); + fTabWidget->removeTab (a); + + delete temp; + + if (fTabWidget->count() == 0) { + if (fEmptyViewerTabLabel == NULL) { +#if QT_VERSION < 0x040000 + fEmptyViewerTabLabel = new QLabel(fToolBox," If you want to have a Viewer, please use /vis/open commands. "); +#else + fEmptyViewerTabLabel = new QLabel(" If you want to have a Viewer, please use /vis/open commands. "); +#endif + } + + fMyVSplitter->addWidget(fEmptyViewerTabLabel); + fMyVSplitter->show(); + fEmptyViewerTabLabel->show(); + fTabWidget->setParent(0); +#if QT_VERSION >= 0x040000 + #if QT_VERSION >= 0x040200 + fTabWidget->setVisible(false); + #else + fMainWindow->hide(); + #endif +#else + fMainWindow->hide(); +#endif + delete fTabWidget; + fTabWidget = NULL; + } +#endif +} + + +void G4UIQt::ToolBoxActivated(int a){ + +#if QT_VERSION < 0x040000 + if (fToolBox->item(a) == fHelpTBWidget) { +#else + if (fToolBox->widget(a) == fHelpTBWidget) { +#endif + // Rebuild the help tree + FillHelpTree(); + } +} + +void G4QTabWidget::paintEvent( +QPaintEvent * +) +{ + +#if QT_VERSION < 0x040000 + if (currentPage()) { +#else + if (currentWidget()) { +#endif + + if ( isTabSelected()) { + +#if QT_VERSION < 0x040000 + QApplication::sendPostedEvents () ; +#else + QCoreApplication::sendPostedEvents () ; +#endif + +#ifdef G4DEBUG_INTERFACES_BASIC + printf("G4QTabWidget::paintEvent OK\n"); +#endif +#if QT_VERSION < 0x040000 + QString text = label (currentPageIndex()); +#else + QString text = tabText (currentIndex()); +#endif + + if (lastCreated == -1) { + QString paramSelect = QString("/vis/viewer/select ")+text; + G4UImanager* UI = G4UImanager::GetUIpointer(); + if(UI != NULL) { +#if QT_VERSION < 0x040000 + UI->ApplyCommand(paramSelect.ascii()); +#else + UI->ApplyCommand(paramSelect.toStdString().c_str()); +#endif + } + } else { + lastCreated = -1; + } + setTabSelected(false); + } + } +} + #endif diff --git a/source/interfaces/common/CMakeLists.txt b/source/interfaces/common/CMakeLists.txt new file mode 100644 index 0000000000..dabfede097 --- /dev/null +++ b/source/interfaces/common/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4UIcommon +# Package: Geant4.src.G4interfaces.G4UIcommon +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:46:11 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/interfaces/common/GNUmakefile b/source/interfaces/common/GNUmakefile index 427e4cfcd8..40f6767e92 100644 --- a/source/interfaces/common/GNUmakefile +++ b/source/interfaces/common/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.4 2009/10/19 07:37:48 lgarnier Exp $ +# $Id: GNUmakefile,v 1.5 2010/01/06 14:08:20 lgarnier Exp $ # ------------------------------------------------------------- # GNUmakefile for interfaces/common library. John Allison, 6/7/98. @@ -18,5 +18,6 @@ include $(G4INSTALL)/config/interactivity.gmk CPPFLAGS += -I$(G4BASE)/global/management/include CPPFLAGS += -I$(G4BASE)/intercoms/include +CPPFLAGS += -I$(G4BASE)/interfaces/basic/include include $(G4INSTALL)/config/common.gmk diff --git a/source/interfaces/common/include/G4Qt.hh b/source/interfaces/common/include/G4Qt.hh index 13e86ea6ee..24079539da 100644 --- a/source/interfaces/common/include/G4Qt.hh +++ b/source/interfaces/common/include/G4Qt.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Qt.hh,v 1.4 2008/11/06 10:06:33 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Qt.hh,v 1.6 2010/05/20 07:01:03 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // To unify Qt event treatment between // G4/interfaces Qt sessions and G4/visualizations Qt drivers. @@ -38,6 +38,9 @@ #include "G4VInteractorManager.hh" +class QWidget; +class QString; + // Class description : // // G4Qt : a singleton to handle GUI sessions and visualization @@ -55,6 +58,7 @@ public: void* GetEvent(); void FlushAndWaitExecution(); virtual ~G4Qt(); + private: G4Qt (int,char**,char*); static G4Qt* instance; // Pointer to single instance. diff --git a/source/interfaces/common/sources.cmake b/source/interfaces/common/sources.cmake new file mode 100644 index 0000000000..aca1b0996d --- /dev/null +++ b/source/interfaces/common/sources.cmake @@ -0,0 +1,108 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4UIcommon +# Package: Geant4.src.G4interfaces.G4UIcommon +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.4 2010/11/30 12:00:56 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +#include_directories(${CMAKE_SOURCE_DIR}/source/interfaces/basic/include) + +# +# Module has optional sources +# +# List those always built +set(G4INTERFACES_COMMON_MODULE_HEADERS + G4InteractorMessenger.hh + G4VBasicShell.hh + G4VInteractiveSession.hh + G4VInteractorManager.hh) + +set(G4INTERFACES_COMMON_MODULE_SOURCES + G4InteractorMessenger.cc + G4VBasicShell.cc + G4VInteractiveSession.cc + G4VInteractorManager.cc) + +set(G4INTERFACES_COMMON_MODULE_LINK_LIBRARIES ) + +# +# Add Qt if required +# +if(GEANT4_USE_QT) + # Add the sources + list(APPEND G4INTERFACES_COMMON_MODULE_HEADERS G4Qt.hh) + list(APPEND G4INTERFACES_COMMON_MODULE_SOURCES G4Qt.cc) + + # Stuff for Moc etc, plus LINK_LIBRARIES here + include(${QT_USE_FILE}) + + # Must enable Qt source with a def... + GEANT4_ADD_COMPILE_DEFINITIONS(SOURCES G4Qt.cc + COMPILE_DEFINITIONS G4INTY_BUILD_QT) + + # It uses Qt core and gui(?) libs + list(APPEND G4INTERFACES_COMMON_MODULE_LINK_LIBRARIES + "${QT_QTGUI_LIBRARY};${QT_QTCORE_LIBRARY}") +endif() + +# +# Win32 option +# +if(MSVC AND GEANT4_USE_WIN32TERMINAL) + # Add the sources + list(APPEND G4INTERFACES_COMMON_MODULE_HEADERS G4Win32.hh) + list(APPEND G4INTERFACES_COMMON_MODULE_SOURCES G4Win32.cc) + + # Any extra things here +endif() + +# +# X11/Xt options +# +if(UNIX AND GEANT4_USE_X11TERMINAL) + # Add the sources + list(APPEND G4INTERFACES_COMMON_MODULE_HEADERS G4Xt.hh) + list(APPEND G4INTERFACES_COMMON_MODULE_SOURCES G4Xt.cc) + + # Any extra things here +endif() + + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4UIcommon + HEADERS + ${G4INTERFACES_COMMON_MODULE_HEADERS} + SOURCES + ${G4INTERFACES_COMMON_MODULE_SOURCES} + GRANULAR_DEPENDENCIES + G4globman + G4intercoms + GLOBAL_DEPENDENCIES + G4global + G4intercoms + LINK_LIBRARIES + ${G4INTERFACES_COMMON_MODULE_LINK_LIBRARIES} +) + +# List any source specific properties here + diff --git a/source/interfaces/common/src/G4Qt.cc b/source/interfaces/common/src/G4Qt.cc index 990859362d..bb67fc735b 100644 --- a/source/interfaces/common/src/G4Qt.cc +++ b/source/interfaces/common/src/G4Qt.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Qt.cc,v 1.14 2009/10/07 09:12:35 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Qt.cc,v 1.17 2010/05/20 07:01:03 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // L. Garnier @@ -37,6 +37,7 @@ #include "G4ios.hh" #include "G4Qt.hh" +#include #include @@ -72,7 +73,7 @@ G4Qt::G4Qt ( int a_argn ,char** a_args ,char* /*a_class */ -) + ) /***************************************************************************/ /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ { @@ -123,6 +124,9 @@ G4Qt::G4Qt ( #if QT_VERSION < 0x040000 qApp = new QApplication (*p_argn, args); #else +#ifdef G4DEBUG_INTERFACES_COMMON + printf("G4Qt::G4Qt QAppl \n"); +#endif new QApplication (*p_argn, args); #endif if(!qApp) { @@ -131,6 +135,9 @@ G4Qt::G4Qt ( } else { QtInited = TRUE; if (a_argn != 0) { +#ifdef G4DEBUG_INTERFACES_COMMON + printf("G4Qt::G4Qt SetMainInteractor\n"); +#endif SetMainInteractor (qApp); } SetArguments (a_argn,a_args); @@ -142,7 +149,7 @@ G4Qt::G4Qt ( } #ifdef G4DEBUG_INTERFACES_COMMON if (qApp) { - printf("G4Qt::qApp exist\n"); + printf("G4Qt::qApp already exist\n"); } else { printf("G4Qt::qApp not exist\n"); } @@ -200,4 +207,3 @@ void G4Qt::FlushAndWaitExecution ( #endif - diff --git a/source/interfaces/common/src/G4VBasicShell.cc b/source/interfaces/common/src/G4VBasicShell.cc index 6ef5574d8d..7e3326e61b 100644 --- a/source/interfaces/common/src/G4VBasicShell.cc +++ b/source/interfaces/common/src/G4VBasicShell.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VBasicShell.cc,v 1.14 2009/11/17 17:41:33 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VBasicShell.cc,v 1.16 2010/06/08 04:39:22 kmura Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #include "G4VBasicShell.hh" diff --git a/source/materials/CMakeLists.txt b/source/materials/CMakeLists.txt new file mode 100644 index 0000000000..42d3359dcf --- /dev/null +++ b/source/materials/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4materials +# Package: Geant4.src.G4materials +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:46:27 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/materials/History b/source/materials/History index 219f244d87..7410766083 100644 --- a/source/materials/History +++ b/source/materials/History @@ -1,4 +1,4 @@ -$Id: History,v 1.168 2009/12/03 11:09:47 vnivanch Exp $ +$Id: History,v 1.190 2010/11/23 17:35:54 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,8 +17,76 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +23-11-10 V.Ivanchenko (materials-V09-03-14) +- G4SandiaTable - V.Grichine Bug fix in G4_Ar + +12-11-10 V.Ivanchenko (materials-V09-03-13) +12-11-10 V.Grichine Bug fix in G4SandiaTable::SandiaMixing adding + fVerbose and pedantic variable initialisation + +05-11-10 V.Ivanchenko (materials-V09-03-12) +- Removed obsolete unused data classes G4IronStoppingICRU73, + G4MaterialStoppingICRU73, G4SimpleMaterialStoppingICRU73, + data are uploaded from G4LEDATA + +04-11-10 V.Ivanchenko (materials-V09-03-11) +- G4NistMaterialBuilder - added few DNA materials + +01-11-10 V.Ivanchenko (materials-V09-03-10) +- G4NistManager - use G4Pow for fast computations +- Fixed problems highlighted by the Coverity tool + +26-10-10 V.Ivanchenko (materials-V09-03-09) +- G4NistMaterialBuilder - added BioChemicalMaterials and corresponding + access methods + +25-10-10 V.Ivanchenko (materials-V09-03-08) +- Fixed problems highlighted by the Coverity tool, mainly proper + initialisation + +20-05-10 V.Ivanchenko (materials-V09-03-07) +- G4NistMaterialBuilder - added G4_LUCITE + +15-05-10 V.Ivanchenko (materials-V09-03-06) +- G4DensityEffectData - fixed method GetIndex(Z, state) for Hydrogen + and solid states, rename it to GetElementIndex +- G4IonisParamMat - fixed typo in the method GetInvA23, use GetElementIndex + +10-05-10 V.Ivanchenko (materials-V09-03-05) +- G4IonisParamMat - added member and method GetInvA23 + +30-04-10 V.Ivanchenko (materials-V09-03-04) +- G4AtomicShells - improved performance by adding an array of indexes +- G4Element - moved include of G4AtomicShells header to the source file + +29-04-10 V.Ivanchenko (materials-V09-03-03) +- G4NistMaterialBuilder, G4NistManager - added method GetMeanIonisationEnergy +- G4IonisParamElm - use mean excitation energy from NIST DB; this modification + addressing a problem reported by Wolfgang Lukas for + mean energy deposition in compound materials + +23-04-10 V.Ivanchenko (materials-V09-03-02) +- G4NistMaterialBuilder - added 6 new materials : G4_BRASS, G4_BRONZE, + G4_STAINLESS-STEEL, G4_KEVLAR, G4_DACRON, G4_NEOPRENE +- G4IonisParamMat, G4DensityEffectData - added a possibility to access + density effect data in the case when pure material is not + defined via NIST; atom number and state of such materials + are checked. + +22-04-10 P.Gumplinger (materials-V09-03-01) - thanks to Ivana Hrivnacova +- G4MaterialPropertyVector.cc: 21% speed up of code by removing new/delete + of temporary helper object and modifying GetAdjacentBins to allow for a + value to match a bin exactly, thus avoiding a whole extra loop. + G4OpticalSurface.hh: change the return of GetAngularDistributionValue + no longer dereferencing a pointer but return the value at the + array index. + +07-01-10 G.Cosmo (materials-V09-03-00) +- G4OpticalSurface - removed left-over debug test function OverWrite() from + header. + 03-12-09 V.Ivanchenko (materials-V09-02-24) -- G4NIstMessenger - fixed minor memory leak at destruction +- G4NistMessenger - fixed minor memory leak at destruction 01-12-09 G.Cosmo (materials-V09-02-23) - Use G4double in place of G4float in G4DensityEffectData. diff --git a/source/materials/include/G4AtomicShells.hh b/source/materials/include/G4AtomicShells.hh index d78320e596..b09486a2c1 100644 --- a/source/materials/include/G4AtomicShells.hh +++ b/source/materials/include/G4AtomicShells.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AtomicShells.hh,v 1.7 2006/10/17 15:15:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AtomicShells.hh,v 1.8 2010/04/30 13:09:22 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // class description // @@ -46,6 +46,7 @@ // 24-04-98, implementation of the first version, V. Grichine // 16-11-98, GetBindingEnergy(Z,ShellNb), M.Maire // 11-02-05, GetNumberOfElectrons(Z,ShellNb), V.Ivanchenko +// 30-04-10, added fIndexOfShells, V.Ivanchenko //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... @@ -70,6 +71,7 @@ static G4double GetBindingEnergy (G4int Z, G4int SubshellNb); private : static const G4int fNumberOfShells[101]; +static const G4int fIndexOfShells[101]; static const G4int fNumberOfElectrons[1540]; static const G4double fBindingEnergies[1540]; diff --git a/source/materials/include/G4DensityEffectData.hh b/source/materials/include/G4DensityEffectData.hh index 9c3b1282e8..f05759224f 100644 --- a/source/materials/include/G4DensityEffectData.hh +++ b/source/materials/include/G4DensityEffectData.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DensityEffectData.hh,v 1.7 2009/12/01 08:24:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DensityEffectData.hh,v 1.10 2010/05/15 15:37:33 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ //--------------------------------------------------------------------------- // @@ -50,6 +50,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "globals.hh" +#include "G4Material.hh" #include //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -67,7 +68,7 @@ public: ~G4DensityEffectData(); // return index by Z, -1 if material is not in the table - G4int GetIndex(const G4int Z); + G4int GetElementIndex(G4int Z, G4State mState); // return index by material name, -1 if material is not in the table G4int GetIndex(const G4String& matName); @@ -101,7 +102,10 @@ private: G4double data[NDENSDATA][NDENSARRAY]; std::vector names; + + // indexes defined only for pure materials G4int indexZ[NDENSELEM]; + G4State state[NDENSELEM]; G4int index; diff --git a/source/materials/include/G4Element.hh b/source/materials/include/G4Element.hh index eb1f881b97..d726276113 100644 --- a/source/materials/include/G4Element.hh +++ b/source/materials/include/G4Element.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Element.hh,v 1.27 2009/09/19 14:13:03 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Element.hh,v 1.28 2010/04/30 13:19:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // class description @@ -80,7 +80,6 @@ #include #include "G4ios.hh" #include "G4Isotope.hh" -#include "G4AtomicShells.hh" #include "G4IonisParamElm.hh" #include "G4IsotopeVector.hh" #include "G4ElementTable.hh" diff --git a/source/materials/include/G4ExtDEDXTable.hh b/source/materials/include/G4ExtDEDXTable.hh index fab784cfe5..7db721cefe 100644 --- a/source/materials/include/G4ExtDEDXTable.hh +++ b/source/materials/include/G4ExtDEDXTable.hh @@ -23,7 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// +// $Id: G4ExtDEDXTable.hh,v 1.3 2010/10/25 08:35:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // =========================================================================== // GEANT4 class header file diff --git a/source/materials/include/G4IonStoppingData.hh b/source/materials/include/G4IonStoppingData.hh index 9819b0a677..ebffd47159 100644 --- a/source/materials/include/G4IonStoppingData.hh +++ b/source/materials/include/G4IonStoppingData.hh @@ -23,7 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// +// $Id: G4IonStoppingData.hh,v 1.2 2010/10/25 08:41:39 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // =========================================================================== // GEANT4 class header file diff --git a/source/materials/include/G4IonisParamMat.hh b/source/materials/include/G4IonisParamMat.hh index 76de9c5169..8fb24770ce 100644 --- a/source/materials/include/G4IonisParamMat.hh +++ b/source/materials/include/G4IonisParamMat.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IonisParamMat.hh,v 1.17 2009/11/18 17:42:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4IonisParamMat.hh,v 1.18 2010/05/10 10:44:39 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // class description @@ -103,6 +103,7 @@ public: G4double GetZeffective() const {return fZeff;}; G4double GetFermiEnergy() const {return fFermiEnergy;}; G4double GetLFactor() const {return fLfactor;}; + G4double GetInvA23() const {return fInvA23;}; // parameters for Birks attenuation: void SetBirksConstant(G4double value) {fBirks = value;}; @@ -176,6 +177,7 @@ private: G4double fZeff; G4double fFermiEnergy; G4double fLfactor; + G4double fInvA23; // parameter for Birks attenuation G4double fBirks; diff --git a/source/materials/include/G4IronStoppingICRU73.hh b/source/materials/include/G4IronStoppingICRU73.hh deleted file mode 100644 index 587fe0e49c..0000000000 --- a/source/materials/include/G4IronStoppingICRU73.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: G4IronStoppingICRU73.hh,v 1.6 2009/11/09 16:51:07 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ - -#ifndef G4IronStoppingICRU73_h -#define G4IronStoppingICRU73_h 1 - -//--------------------------------------------------------------------------- -// -// ClassName: G4IronStoppingICRU73 -// -// Description: Data on stopping powers for light ions in compounds -// -// Author: A.Ivantchenko 8.08.2008 -// -// in the framework of the ESA Technology Research Programme -// (ESA contract 21435/08/NL/AT) -// -// Modifications: -// 03.11.2009 A. Lechner: Added new methods BuildPhysicsVector according -// to interface changes in base class G4VIonDEDXTable. -// -//---------------------------------------------------------------------------- -// -// Class Description: -// -// Data on Stopping Powers from the ICRU73 report -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -#include "globals.hh" -#include "G4VIonDEDXTable.hh" -#include "G4LPhysicsFreeVector.hh" -#include - - -class G4IronStoppingICRU73 : public G4VIonDEDXTable -{ -public: - - G4IronStoppingICRU73(G4bool splineFlag = true); - - ~G4IronStoppingICRU73(); - - G4bool BuildPhysicsVector(G4int ionZ, - const G4String& matName); - - G4bool BuildPhysicsVector(G4int ionZ, - G4int matZ); - - G4bool IsApplicable(G4int ionZ, - G4int matZ); - - G4bool IsApplicable(G4int ionZ, - const G4String& matName); - - G4PhysicsVector* GetPhysicsVector(G4int ionZ, - G4int matZ); - - G4PhysicsVector* GetPhysicsVector(G4int ionZ, - const G4String& matName); - - G4double GetDEDX(G4double kinEnergyPerNucleon, - G4int ionZ, - const G4String& matName); - - G4double GetDEDX(G4double kinEnergyPerNucleon, - G4int ionZ, - G4int matZ); - -private: - // Function for creating a physics vector - G4PhysicsVector* CreatePhysicsVector(G4double* energy, - G4double* stoppower, - G4double factor); - - // Assignment operator and copy constructor - G4IronStoppingICRU73 & operator=(const G4IronStoppingICRU73 &right); - G4IronStoppingICRU73(const G4IronStoppingICRU73&); - - // Flag indicating the use of spline interpolation for dE/dx vectors - G4bool spline; - - // Vectors containing the atomic numbers and names of the materials - std::vector atomicNumbersMat; - std::vector namesMat; - - // Keys (material names) corresponding to created dE/dx vectors - std::vector dedxKeys; - - // Vector of dE/dx vectors - std::vector dedx; -}; - - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#endif - diff --git a/source/materials/include/G4Material.hh b/source/materials/include/G4Material.hh index 997d2918f8..668e920c91 100644 --- a/source/materials/include/G4Material.hh +++ b/source/materials/include/G4Material.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Material.hh,v 1.27 2008/11/14 15:14:24 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Material.hh,v 1.28 2010/05/14 14:34:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // class description @@ -96,7 +96,7 @@ #include "G4ElementVector.hh" #include "G4MaterialTable.hh" -enum G4State { kStateUndefined, kStateSolid, kStateLiquid, kStateGas }; +enum G4State { kStateUndefined = 0, kStateSolid, kStateLiquid, kStateGas }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/materials/include/G4MaterialStoppingICRU73.hh b/source/materials/include/G4MaterialStoppingICRU73.hh deleted file mode 100644 index 00f8def886..0000000000 --- a/source/materials/include/G4MaterialStoppingICRU73.hh +++ /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: G4MaterialStoppingICRU73.hh,v 1.8 2009/11/09 16:51:07 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ - -#ifndef G4MaterialStoppingICRU73_h -#define G4MaterialStoppingICRU73_h 1 - -//--------------------------------------------------------------------------- -// -// ClassName: G4MaterialStoppingICRU73 -// -// Description: Data on stopping powers for light ions in compounds -// -// Author: Ivantchenko 10.07.2008 -// -// in the framework of the ESA Technology Research Programme -// (ESA contract 21435/08/NL/AT) -// -// Modifications: -// 03.11.2009 A. Lechner: Added new methods BuildPhysicsVector according -// to interface changes in base class G4VIonDEDXTable. -// -//---------------------------------------------------------------------------- -// -// Class Description: -// -// Data on Stopping Powers from the ICRU73 report -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -#include "globals.hh" -#include "G4VIonDEDXTable.hh" -#include "G4LPhysicsFreeVector.hh" -#include - - -class G4MaterialStoppingICRU73 : public G4VIonDEDXTable -{ -public: - - G4MaterialStoppingICRU73(G4bool splineFlag = true); - - ~G4MaterialStoppingICRU73(); - - G4bool BuildPhysicsVector(G4int ionZ, - const G4String& matName); - - G4bool BuildPhysicsVector(G4int ionZ, - G4int matZ); - - G4bool IsApplicable(G4int ionZ, - const G4String& matName); - - G4bool IsApplicable(G4int ionZ, - G4int matZ); - - G4PhysicsVector* GetPhysicsVector(G4int ionZ, - const G4String& matName); - - G4PhysicsVector* GetPhysicsVector(G4int ionZ, - G4int matZ); - - G4double GetDEDX(G4double kinEnergyPerNucleon, - G4int ionZ, - const G4String& matName); - - G4double GetDEDX(G4double kinEnergyPerNucleon, - G4int ionZ, - G4int matZ); - -private: - // Function for creating a physics vector - G4PhysicsVector* CreatePhysicsVector(G4double* energy, - G4double* stoppower, - G4double factor); - - // Function for creating a physics vector (full range up to 1 GeV/u) - G4PhysicsVector* CreatePhysicsVectorFullRange(G4double* energy, - G4double* stoppower, - G4double factor); - - // Assignment operator and copy constructor - G4MaterialStoppingICRU73 & - operator=(const G4MaterialStoppingICRU73 &right); - G4MaterialStoppingICRU73(const G4MaterialStoppingICRU73&); - - // Flag indicating the use of spline interpolation for dE/dx vectors - G4bool spline; - - // Minimum and maximum atomic number - G4int minIonAtomicNmb; - G4int maxIonAtomicNmb; - - // Vector containing the names of the materials - std::vector namesMat; - - // Keys (ion atomic number and material names) corresponding to created - // dE/dx vectors - typedef std::pair DEDXKey; - std::vector dedxKeys; - - // Vector of dE/dx vectors - std::vector dedx; -}; - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#endif diff --git a/source/materials/include/G4NistElementBuilder.hh b/source/materials/include/G4NistElementBuilder.hh index 068ed03ec5..83302e030e 100644 --- a/source/materials/include/G4NistElementBuilder.hh +++ b/source/materials/include/G4NistElementBuilder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4NistElementBuilder.hh,v 1.18 2008/08/07 10:15:16 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NistElementBuilder.hh,v 1.19 2010/10/25 13:00:47 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #ifndef G4NistElementBuilder_h #define G4NistElementBuilder_h 1 @@ -111,7 +111,7 @@ public: inline G4int GetMaxNumElements(); - inline void SetVerbose (G4int); + inline void SetVerbose(G4int); private: @@ -142,7 +142,6 @@ private: G4double sigMass [maxAbundance]; // G4 units G4double relAbundance [maxAbundance]; - G4int limitNumElements; // protection G4int index; G4int verbose; G4bool first; @@ -156,7 +155,7 @@ private: inline G4double G4NistElementBuilder::GetA(G4int Z) { G4double a = 0.0; - if(Z>0 && Z0 && Z& GetNistElementNames() const; + // Access mean ionisation energy for atoms (Z <= 98) + // + inline G4double GetMeanIonisationEnergy(G4int Z) const; + // Get G4Material by index // inline G4Material* GetMaterial(size_t index); @@ -238,8 +245,7 @@ private: G4NistManager(); static G4NistManager* instance; - G4double POWERZ13[256]; - G4double LOGA[256]; + G4Pow* g4pow; G4double POWERA27[101]; G4double LOGAZ[101]; @@ -271,7 +277,7 @@ inline G4Element* G4NistManager::GetElement(size_t index) { G4Element* elm = 0; const G4ElementTable* theElementTable = G4Element::GetElementTable(); - if(index < theElementTable->size()) elm = (*theElementTable)[index]; + if(index < theElementTable->size()) { elm = (*theElementTable)[index]; } return elm; } @@ -371,6 +377,13 @@ const std::vector& G4NistManager::GetNistElementNames() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +inline G4double G4NistManager::GetMeanIonisationEnergy(G4int Z) const +{ + return matBuilder->GetMeanIonisationEnergy(Z-1); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + inline void G4NistManager::PrintElement(G4int Z) { elmBuilder->PrintElement(Z); @@ -464,20 +477,16 @@ const std::vector& G4NistManager::GetNistMaterialNames() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline G4double G4NistManager::GetZ13(G4double Z) +inline G4double G4NistManager::GetZ13(G4double A) { - G4int iz = G4int(Z); - G4double x = (Z - G4double(iz))/(3.0*Z); - if(iz > 255) iz = 255; - else if(iz < 0) iz = 0; - return POWERZ13[iz]*(1.0 + x); + return g4pow->A13(A); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... inline G4double G4NistManager::GetZ13(G4int Z) { - return POWERZ13[Z]; + return g4pow->Z13(Z); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -485,7 +494,7 @@ inline G4double G4NistManager::GetZ13(G4int Z) inline G4double G4NistManager::GetA27(G4int Z) { G4double res = 0.0; - if(Z < 101) res = POWERA27[Z]; + if(Z < 101) { res = POWERA27[Z]; } return res; } @@ -493,20 +502,14 @@ inline G4double G4NistManager::GetA27(G4int Z) inline G4double G4NistManager::GetLOGZ(G4int Z) { - G4double res = 0.0; - if(Z < 256) res = LOGA[Z]; - return res; + return g4pow->logZ(Z); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... inline G4double G4NistManager::GetLOGA(G4double A) { - G4int ia = G4int(A); - G4double x = (A - G4double(ia))/A; - if(ia > 255) ia = 255; - else if(ia < 0) ia = 0; - return LOGA[ia] + x*(1.0 - 0.5*x); + return g4pow->logA(A); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -514,7 +517,7 @@ inline G4double G4NistManager::GetLOGA(G4double A) inline G4double G4NistManager::GetLOGA(G4int Z) { G4double res = 0.0; - if(Z < 101) res = LOGAZ[Z]; + if(Z < 101) { res = LOGAZ[Z]; } return res; } diff --git a/source/materials/include/G4NistMaterialBuilder.hh b/source/materials/include/G4NistMaterialBuilder.hh index c17a067429..a604fbb61b 100644 --- a/source/materials/include/G4NistMaterialBuilder.hh +++ b/source/materials/include/G4NistMaterialBuilder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4NistMaterialBuilder.hh,v 1.13 2008/04/28 08:51:29 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NistMaterialBuilder.hh,v 1.17 2010/10/26 16:25:24 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #ifndef G4NistMaterialBuilder_h #define G4NistMaterialBuilder_h 1 @@ -44,6 +44,7 @@ // 27.07.06 V.Ivanchneko set defaul warning=true for FindOrBuildMaterial // 27.07.07 V.Ivanchneko add matIndex vector to control built materials // 28.07.07 V.Ivanchneko add BuildMaterial method using Nist index +// 29.04.10 V.Ivanchneko add GetMeanIonisationEnergy method using Nist index // //---------------------------------------------------------------------------- // @@ -124,17 +125,25 @@ public: void ListNistSimpleMaterials(); void ListNistCompoundMaterials(); void ListHepMaterials(); + void ListSpaceMaterials(); + void ListBioChemicalMaterials(); // access to the list of names of Geant4 predefined materials // const std::vector& GetMaterialNames() const; + // access to the NIST mean ionisation potentials + // + inline G4double GetMeanIonisationEnergy(G4int index) const; + private: void Initialise(); void NistSimpleMaterials(); void NistCompoundMaterials(); void HepAndNuclearMaterials(); + void SpaceMaterials(); + void BioChemicalMaterials(); // add parameters of material from NIST DB to internal vectors // density in g/cm3, mean ionisation potential in eV @@ -172,6 +181,8 @@ private: G4int nCurrent; G4int nElementary; G4int nNIST; + G4int nHEP; + G4int nSpace; std::vector names; std::vector chFormulas; @@ -199,4 +210,12 @@ inline const std::vector& return names; } +inline G4double +G4NistMaterialBuilder::GetMeanIonisationEnergy(G4int index) const +{ + G4double res = 10*index; + if(index >= 0 && index < nMaterials) { res = ionPotentials[index]; } + return res; +} + #endif diff --git a/source/materials/include/G4OpticalSurface.hh b/source/materials/include/G4OpticalSurface.hh index 41a1e0e50d..b8892b0920 100644 --- a/source/materials/include/G4OpticalSurface.hh +++ b/source/materials/include/G4OpticalSurface.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpticalSurface.hh,v 1.15 2009/11/20 00:57:34 gum Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpticalSurface.hh,v 1.17 2010/04/22 21:19:14 gum Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // //////////////////////////////////////////////////////////////////////// @@ -149,39 +149,36 @@ public: // Without description public: // With description - virtual void Overwrite() {G4cout << "G4OpticalSurface" << G4endl;}; + void SetType(const G4SurfaceType& type); - void SetType(const G4SurfaceType& type); - - G4OpticalSurfaceFinish GetFinish() const {return theFinish;}; + inline G4OpticalSurfaceFinish GetFinish() const { return theFinish; } // Returns the optical surface finish. - void SetFinish(const G4OpticalSurfaceFinish ); + void SetFinish(const G4OpticalSurfaceFinish ); // Sets the optical surface finish. - G4OpticalSurfaceModel GetModel() const {return theModel;}; + inline G4OpticalSurfaceModel GetModel() const { return theModel; } // Returns the optical surface model used. - void SetModel(const G4OpticalSurfaceModel model) - {theModel = model;}; + inline void SetModel(const G4OpticalSurfaceModel model) + { theModel = model; } // Sets the optical surface model to be followed. - G4double GetSigmaAlpha() const {return sigma_alpha;}; + inline G4double GetSigmaAlpha() const { return sigma_alpha; } // Returns an unified model surface parameter. - void SetSigmaAlpha(const G4double s_a) - {sigma_alpha = s_a;}; + inline void SetSigmaAlpha(const G4double s_a) { sigma_alpha = s_a; } // Sets an unified model surface parameter. - G4double GetPolish() const {return polish;}; + G4double GetPolish() const { return polish; } // Returns the optical surface polish type. - void SetPolish(const G4double plsh) {polish=plsh;}; + inline void SetPolish(const G4double plsh) { polish=plsh; } // Sets the optical surface polish type. - G4MaterialPropertiesTable* GetMaterialPropertiesTable() const - { return theMaterialPropertiesTable;}; + inline G4MaterialPropertiesTable* GetMaterialPropertiesTable() const + { return theMaterialPropertiesTable; } // Retrieves the pointer of the G4MaterialPropertiesTable // attached to optical surface. - void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT) - { theMaterialPropertiesTable = anMPT;}; + inline void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT) + { theMaterialPropertiesTable = anMPT; } // Attaches a G4MaterialPropertiesTable to the optical surface. void DumpInfo() const; @@ -190,7 +187,7 @@ public: // With description void ReadFile(void); // Method to read the Look-Up-Table into array AngularDistribution - G4double GetAngularDistributionValue(G4int, G4int, G4int); + inline G4double GetAngularDistributionValue(G4int, G4int, G4int); inline G4int GetThetaIndexMax(void) const { return thetaIndexMax; } inline G4int GetPhiIndexMax(void) const { return phiIndexMax; } @@ -226,9 +223,9 @@ inline G4int thetaIndex, G4int phiIndex) { - return *(AngularDistribution+angleIncident+ - thetaIndex*incidentIndexMax+ - phiIndex*thetaIndexMax*incidentIndexMax); + return AngularDistribution[angleIncident+ + thetaIndex*incidentIndexMax+ + phiIndex*thetaIndexMax*incidentIndexMax]; } #endif /* G4OpticalSurface_h */ diff --git a/source/materials/include/G4SandiaTable.hh b/source/materials/include/G4SandiaTable.hh index 6c81d41300..90d51a761c 100644 --- a/source/materials/include/G4SandiaTable.hh +++ b/source/materials/include/G4SandiaTable.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SandiaTable.hh,v 1.21 2007/10/02 10:13:33 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SandiaTable.hh,v 1.23 2010/11/22 08:21:04 grichine Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // class description // @@ -82,6 +82,8 @@ public: // with description inline G4double GetSandiaMatTablePAI(G4int,G4int); inline G4OrderedTable* GetSandiaMatrixPAI(); + void SetVerbose(G4int ver){fVerbose = ver;}; + public: // without description G4SandiaTable(__void__&); @@ -141,7 +143,7 @@ public: // without description G4int el ); G4int SandiaMixing( G4int Z[], - const G4double fractionW[], + const G4double* fractionW, G4int el, G4int mi ); @@ -164,6 +166,8 @@ private: G4double** fPhotoAbsorptionCof ; // SandiaTable for mixture G4int fMaxInterval ; + G4int fVerbose; + // // diff --git a/source/materials/include/G4SimpleMaterialStoppingICRU73.hh b/source/materials/include/G4SimpleMaterialStoppingICRU73.hh deleted file mode 100644 index c4099ef4bb..0000000000 --- a/source/materials/include/G4SimpleMaterialStoppingICRU73.hh +++ /dev/null @@ -1,133 +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: G4SimpleMaterialStoppingICRU73.hh,v 1.8 2009/11/09 16:51:07 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ - -#ifndef G4SimpleMaterialStoppingICRU73_h -#define G4SimpleMaterialStoppingICRU73_h 1 - -//--------------------------------------------------------------------------- -// -// ClassName: G4SimpleMaterialStoppingICRU73 -// -// Description: Data on stopping powers for light ions in compounds -// -// Author: Ivantchenko 10.07.2008 -// -// in the framework of the ESA Technology Research Programme -// (ESA contract 21435/08/NL/AT) -// -// Modifications: -// 03.11.2009 A. Lechner: Added new methods BuildPhysicsVector according -// to interface changes in base class G4VIonDEDXTable. -// -//---------------------------------------------------------------------------- -// -// Class Description: -// -// Data on Stopping Powers from the ICRU73 report -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -#include "globals.hh" -#include "G4VIonDEDXTable.hh" -#include "G4LPhysicsFreeVector.hh" -#include -#include -#include - - -class G4SimpleMaterialStoppingICRU73 : public G4VIonDEDXTable -{ -public: - - G4SimpleMaterialStoppingICRU73(G4bool splineFlag = true); - - ~G4SimpleMaterialStoppingICRU73(); - - G4bool BuildPhysicsVector(G4int ionZ, - const G4String& matName); - - G4bool BuildPhysicsVector(G4int ionZ, - G4int matZ); - - G4bool IsApplicable(G4int ionZ, - G4int matZ); - - G4bool IsApplicable(G4int ionZ, - const G4String& matName); - - G4PhysicsVector* GetPhysicsVector(G4int ionZ, - G4int matZ); - - G4PhysicsVector* GetPhysicsVector(G4int ionZ, - const G4String& matName); - - G4double GetDEDX(G4double kinEnergyPerNucleon, - G4int ionZ, - const G4String& matName); - - G4double GetDEDX(G4double kinEnergyPerNucleon, - G4int ionZ, - G4int matZ); - -private: - // Function for creating a physics vector - G4PhysicsVector* CreatePhysicsVector(G4double* energy, - G4double* stoppower, - G4double factor); - - // Assignment operator and copy constructor - G4SimpleMaterialStoppingICRU73 & - operator=(const G4SimpleMaterialStoppingICRU73 &right); - G4SimpleMaterialStoppingICRU73(const G4SimpleMaterialStoppingICRU73&); - - // Flag indicating the use of spline interpolation for dE/dx vectors - G4bool spline; - - // Minimum and maximum atomic number - G4int minIonAtomicNmb; - G4int maxIonAtomicNmb; - - // Vectors containing the atomic numbers and names of the materials - std::vector atomicNumbersMat; - std::vector namesMat; - - // Keys (ion atomic number and material names) corresponding to created - // dE/dx vectors - typedef std::pair DEDXKey; - std::vector dedxKeys; - - // Vector of dE/dx vectors - std::vector dedx; -}; - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#endif diff --git a/source/materials/sources.cmake b/source/materials/sources.cmake new file mode 100644 index 0000000000..487ddf9411 --- /dev/null +++ b/source/materials/sources.cmake @@ -0,0 +1,92 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4materials +# Package: Geant4.src.G4materials +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.3 2010/11/29 17:15:46 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4materials + HEADERS + G4Isotope.hh + G4NistManager.hh + G4AtomicShells.hh + G4IsotopeVector.hh + G4NistMaterialBuilder.hh + G4DensityEffectData.hh + G4Material.hh + G4NistMessenger.hh + G4Element.hh + G4MaterialPropertiesTable.hh + G4OpticalSurface.hh + G4ElementTable.hh + G4MaterialPropertiesTable.icc + G4SandiaTable.hh + G4ElementVector.hh + G4MaterialPropertyVector.hh + G4StaticSandiaData.hh + G4ExtDEDXTable.hh + G4MaterialPropertyVector.icc + G4SurfaceProperty.hh + G4IonisParamElm.hh + G4MaterialTable.hh + G4VIonDEDXTable.hh + G4IonisParamMat.hh + G4MPVEntry.hh + G4IonStoppingData.hh + G4NistElementBuilder.hh + SOURCES + G4IonStoppingData.cc + G4NistManager.cc + G4AtomicShells.cc + G4Isotope.cc + G4NistMaterialBuilder.cc + G4DensityEffectData.cc + G4Material.cc + G4NistMessenger.cc + G4Element.cc + G4MaterialPropertiesTable.cc + G4OpticalSurface.cc + G4ExtDEDXTable.cc + G4MaterialPropertyVector.cc + G4SandiaTable.cc + G4IonisParamElm.cc + G4MPVEntry.cc + G4SurfaceProperty.cc + G4IonisParamMat.cc + G4NistElementBuilder.cc + G4VIonDEDXTable.cc + GRANULAR_DEPENDENCIES + G4globman + G4intercoms + GLOBAL_DEPENDENCIES + G4global + G4intercoms + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/materials/src/G4AtomicShells.cc b/source/materials/src/G4AtomicShells.cc index a42109bf51..dbed4ebb5d 100644 --- a/source/materials/src/G4AtomicShells.cc +++ b/source/materials/src/G4AtomicShells.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AtomicShells.cc,v 1.7 2006/10/17 15:15:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AtomicShells.cc,v 1.8 2010/04/30 13:09:22 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... @@ -33,6 +33,7 @@ // 16-11-98, GetBindingEnergy(Z,ShellNb), M.Maire // 19-07-04, add a protection in GetNumberOfShells(), mma // 11-02-05, GetNumberOfElectrons(Z,ShellNb), V.Ivanchenko +// 30-04-10, added fIndexOfShells, V.Ivanchenko //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... @@ -43,7 +44,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... const G4int -G4AtomicShells::fNumberOfShells[101] = +G4AtomicShells::fNumberOfShells[101] = { 0 , // nonexisting zero element @@ -76,6 +77,23 @@ G4AtomicShells::fNumberOfShells[101] = //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... +const G4int +G4AtomicShells::fIndexOfShells[101] = + { 0, + 1, 2, 3, 5, 7, 10, 13, 17, 21, 24, + 28, 33, 38, 44, 50, 56, 62, 68, 75, 83, + 91, 100, 109, 118, 127, 136, 145, 154, 164, 174, + 184, 195, 206, 217, 228, 239, 251, 264, 277, 291, + 305, 319, 333, 347, 361, 375, 390, 405, 420, 436, + 452, 468, 484, 500, 517, 535, 553, 572, 591, 610, + 629, 648, 667, 686, 706, 725, 744, 763, 782, 801, + 821, 842, 863, 884, 905, 926, 947, 968, 989, 1011, + 1033, 1056, 1079, 1102, 1125, 1149, 1173, 1198, 1223, 1249, + 1275, 1302, 1329, 1356, 1382, 1408, 1435, 1462, 1488, 1514 + }; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... + const G4double G4AtomicShells::fBindingEnergies[1540] = { @@ -728,7 +746,7 @@ G4AtomicShells::fNumberOfElectrons[1540] = G4int G4AtomicShells::GetNumberOfShells(G4int Z) { - assert (Z>=1 && Z<=101); + assert (Z>0 && Z<101); return fNumberOfShells[Z]; } @@ -737,12 +755,8 @@ G4AtomicShells::GetNumberOfShells(G4int Z) G4double G4AtomicShells::GetBindingEnergy(G4int Z, G4int ShellNb) { - assert (Z>=1 && Z<=101 && ShellNb0 && Z<101 && ShellNb=1 && Z<=101 && ShellNb0 && Z<101 && ShellNb=1 && Z<=101); + assert (Z>=1 && Z<101); - G4int idx = 1; - for (G4int z = 1 ; z < Z ; z++) idx += fNumberOfShells[z]; - G4double energy = 0.0; + G4int idx = fIndexOfShells[Z]; G4int idxmax = idx + fNumberOfShells[Z]; - for (G4int i=idx; i= 0 && Z < NDENSELEM) idx = indexZ[Z]; + if(Z > 0 && Z < NDENSELEM) { + if(st == state[Z]) { idx = indexZ[Z]; } + else if(st == kStateUndefined) { idx = indexZ[Z]; } + } return idx; } diff --git a/source/materials/src/G4Element.cc b/source/materials/src/G4Element.cc index 4ab633482b..c70582b4db 100644 --- a/source/materials/src/G4Element.cc +++ b/source/materials/src/G4Element.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Element.cc,v 1.34 2009/09/18 15:35:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Element.cc,v 1.36 2010/10/25 07:58:15 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,6 +56,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4Element.hh" +#include "G4AtomicShells.hh" #include G4ElementTable G4Element::theElementTable; @@ -137,13 +138,14 @@ void G4Element::AddIsotope(G4Isotope* isotope, G4double abundance) G4cout << "G4Element ERROR: " << fName << G4endl; G4Exception ("ERROR from G4Element::AddIsotope!" " Trying to add an Isotope before contructing the element."); + return; } G4int iz = isotope->GetZ(); // filling ... if ( fNumberOfIsotopes < theIsotopeVector->size() ) { // check same Z - if (fNumberOfIsotopes==0) fZeff = G4double(iz); + if (fNumberOfIsotopes==0) { fZeff = G4double(iz); } else if (G4double(iz) != fZeff) { G4Exception ("ERROR from G4Element::AddIsotope!" " Try to add isotopes with different Z"); @@ -198,6 +200,18 @@ void G4Element::InitializePointers() fIonisation = 0; fNumberOfIsotopes = 0; fNaturalAbandances = false; + + // add initialisation of all remaining members + fZeff = 0; + fNeff = 0; + fAeff = 0; + fNbOfAtomicShells = 0; + fCountUse = 0; + fIndexZ = 0; + fIndexInTable = 0; + fNaturalAbandances = false; + fCoulomb = 0.0; + fRadTsai = 0.0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -206,11 +220,9 @@ void G4Element::InitializePointers() // for usage restricted to object persistency G4Element::G4Element( __void__& ) - : fZeff(0), fNeff(0), fAeff(0), fNbOfAtomicShells(0), - fAtomicShells(0), fNbOfShellElectrons(0), fNumberOfIsotopes(0), theIsotopeVector(0), - fRelativeAbundanceVector(0), fCountUse(0), fIndexInTable(0), - fCoulomb(0), fRadTsai(0), fIonisation(0) + : fZeff(0), fNeff(0), fAeff(0) { + InitializePointers(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -219,11 +231,11 @@ G4Element::~G4Element() { // G4cout << "### Destruction of element " << fName << " started" <> nmbVectors; - - for(G4int i = 0; i < nmbVectors; i++) { - G4String line = ""; + if(nmbVectors == std::string::npos || nmbVectors == 0) { +#ifdef G4VERBOSE + G4cout << "G4ExtDEDXTable::RetrievePhysicsVector() " + << " The file is empty "<< nmbVectors + << G4endl; +#endif + return false; + } + for(size_t i = 0; i 0) { + line = line.substr(0, pos); + } + } - G4int atomicNumberIon; - headerstream >> atomicNumberIon; + std::istringstream headerstream( line ); - G4String materialName; - headerstream >> materialName; + std::string::size_type atomicNumberIon; + headerstream >> atomicNumberIon; - if( headerstream.fail() ) { + G4String materialName; + headerstream >> materialName; + + if( headerstream.fail() || std::string::npos == atomicNumberIon) { #ifdef G4VERBOSE - G4cerr << "G4ExtDEDXTable::RetrievePhysicsTable() " - << " File content of " << fileName << " ill-formated " - << " (vector header)." - << G4endl; + G4cout << "G4ExtDEDXTable::RetrievePhysicsTable() " + << " File content of " << fileName << " ill-formated " + << " (vector header)." + << G4endl; #endif - ifilestream.close(); - return false; - } + ifilestream.close(); + return false; + } - G4int atomicNumberMat; - headerstream >> atomicNumberMat; + std::string::size_type atomicNumberMat; + headerstream >> atomicNumberMat; - if( headerstream.eof() ) atomicNumberMat = 0; + if( headerstream.eof() || std::string::npos == atomicNumberMat) { + atomicNumberMat = 0; + } - G4int vectorType; - - ifilestream >> vectorType; + G4int vectorType; + ifilestream >> vectorType; - G4PhysicsVector* physicsVector = CreatePhysicsVector(vectorType); - - if(physicsVector == 0) { + G4PhysicsVector* physicsVector = CreatePhysicsVector(vectorType); + if(physicsVector == 0) { #ifdef G4VERBOSE - G4cerr << "G4ExtDEDXTable::RetrievePhysicsTable " - << " illegal physics Vector type " << vectorType - << " in " << fileName - << G4endl; + G4cout << "G4ExtDEDXTable::RetrievePhysicsTable " + << " illegal physics Vector type " << vectorType + << " in " << fileName + << G4endl; #endif - ifilestream.close(); - return false; - } + ifilestream.close(); + return false; + } - if( !physicsVector -> Retrieve(ifilestream, true) ) { - + if( !physicsVector -> Retrieve(ifilestream, true) ) { + #ifdef G4VERBOSE - G4cerr << "G4ExtDEDXTable::RetrievePhysicsTable() " - << " File content of " << fileName << " ill-formated." - << G4endl; + G4cout << "G4ExtDEDXTable::RetrievePhysicsTable() " + << " File content of " << fileName << " ill-formated." + << G4endl; #endif - ifilestream.close(); - return false; - } + ifilestream.close(); + return false; + } - physicsVector -> SetSpline(true); + physicsVector -> SetSpline(true); - // Retrieved vector is added to material store - if( !AddPhysicsVector(physicsVector, atomicNumberIon, - materialName, atomicNumberMat) ) { + // Retrieved vector is added to material store + if( !AddPhysicsVector(physicsVector, (G4int)atomicNumberIon, + materialName, (G4int)atomicNumberMat) ) { - delete physicsVector; - ifilestream.close(); - return false; - } + delete physicsVector; + ifilestream.close(); + return false; + } } ifilestream.close(); diff --git a/source/materials/src/G4IonStoppingData.cc b/source/materials/src/G4IonStoppingData.cc index 59fc5b29e0..a373d0a9c0 100644 --- a/source/materials/src/G4IonStoppingData.cc +++ b/source/materials/src/G4IonStoppingData.cc @@ -23,6 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4IonStoppingData.cc,v 1.3 2010/10/25 08:41:39 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // =========================================================================== // GEANT4 class source file @@ -36,6 +38,7 @@ // First implementation: 03. 11. 2009 // // Modifications: +// 25.10.2010 V.Ivanchenko fixed warnings reported by the Coverity tool // // // Class description: Class which can read ion stopping power data from @@ -377,7 +380,10 @@ G4bool G4IonStoppingData::BuildPhysicsVector( if( IsApplicable(atomicNumberIon, matIdentifier) ) return true; char* path = getenv("G4LEDATA"); - if ( !path ) G4Exception("G4LEDATA environment variable not set"); + if ( !path ) { + G4Exception("G4IonStoppingData::BuildPhysicsVector: G4LEDATA environment variable not set"); + return false; + } std::ostringstream file; @@ -424,8 +430,10 @@ G4bool G4IonStoppingData::BuildPhysicsVector( if( IsApplicable(atomicNumberIon, atomicNumberElem) ) return true; char* path = getenv("G4LEDATA"); - if ( !path ) G4Exception("G4LEDATA environment variable not set"); - + if ( !path ) { + G4Exception("G4IonStoppingData::BuildPhysicsVector: G4LEDATA environment variable not set"); + return false; + } std::ostringstream file; file << path << "/" << subDir << "/z" diff --git a/source/materials/src/G4IonisParamElm.cc b/source/materials/src/G4IonisParamElm.cc index 7261babdb7..46537c0adc 100644 --- a/source/materials/src/G4IonisParamElm.cc +++ b/source/materials/src/G4IonisParamElm.cc @@ -24,58 +24,45 @@ // ******************************************************************** // // -// $Id: G4IonisParamElm.cc,v 1.15 2008/06/03 14:30:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4IonisParamElm.cc,v 1.18 2010/11/01 18:18:57 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... // -// 06-09-04, Update calculated values after any change of ionisation -// potential change. V.Ivanchenko -// 17-10-02, Fix excitation energy interpolation. V.Ivanchenko -// 08-03-01, correct handling of fShellCorrectionVector. M.Maire +// 09-07-98, data moved from G4Element. M.Maire // 22-11-00, tabulation of ionisation potential from // the ICRU Report N#37. V.Ivanchenko -// 09-07-98, data moved from G4Element. M.Maire +// 08-03-01, correct handling of fShellCorrectionVector. M.Maire +// 17-10-02, Fix excitation energy interpolation. V.Ivanchenko +// 06-09-04, Update calculated values after any change of ionisation +// potential change. V.Ivanchenko +// 29-04-10, Using G4Pow and mean ionisation energy from NIST V.Ivanchenko // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... #include "G4IonisParamElm.hh" +#include "G4NistManager.hh" +#include "G4Pow.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... -G4IonisParamElm::G4IonisParamElm(G4double Z) +G4IonisParamElm::G4IonisParamElm(G4double AtomNumber) { - if (Z < 1.) - G4Exception (" ERROR! It is not allowed to create an Element with Z < 1" ); - + G4int Z = G4int(AtomNumber + 0.5); + if (Z < 1) { + G4Exception("G4IonisParamElm: ERROR! It is not allowed to create an Element with Z<1"); + } + G4Pow* g4pow = G4Pow::GetInstance(); + // some basic functions of the atomic number - fZ = Z; - fZ3 = std::pow(fZ, 1./3.); - fZZ3 = std::pow(fZ*(fZ+1.), 1./3.); - flogZ3 = std::log(fZ)/3.; + fZ = Z; + fZ3 = g4pow->Z13(Z); + fZZ3 = fZ3*g4pow->Z13(Z+1); + flogZ3 = g4pow->logZ(Z)/3.; - // Parameters for energy loss by ionisation - - // Mean excitation energy - // from "Stopping Powers for Electrons and Positrons" - // ICRU Report N#37, 1984 (energy in eV) - static double exc[100] = { - 21.8, 20.9, 13.3, 15.9, 15.2, 13.0, 11.7, 11.9, 11.5, 13.7, - 13.6, 13.0, 12.8, 12.4, 11.5, 11.3, 10.2, 10.4, 10.0, 9.6, - 10.3, 10.6, 10.7, 10.7, 10.9, 11.0, 11.0, 11.1, 11.1, 11.0, - 10.8, 10.4, 10.5, 10.2, 9.8, 9.8, 9.8, 9.6, 9.7, 9.8, - 10.2, 10.1, 10.0, 10.0, 10.0, 10.2, 10.0, 9.8, 10.0, 9.8, - 9.5, 9.3, 9.3, 8.9, 8.9, 8.8, 8.8, 8.8, 9.1, 9.1, - 9.2, 9.3, 9.2, 9.2, 9.4, 9.5, 9.7, 9.7, 9.8, 9.8, - 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 10.1, 10.0, 10.0, - 10.0, 10.0, 9.9, 9.9, 9.7, 9.2, 9.5, 9.4, 9.4, 9.4, - 9.6, 9.7, 9.7, 9.8, 9.8, 9.8, 9.8, 9.9, 9.9, 9.9 }; - - G4int iz = (G4int)Z - 1 ; - if(0 > iz) iz = 0; - else if(99 < iz) iz = 99 ; - fMeanExcitationEnergy = fZ * exc[iz] * eV ; + fMeanExcitationEnergy = + G4NistManager::Instance()->GetMeanIonisationEnergy(Z); // compute parameters for ion transport // The aproximation from: @@ -84,7 +71,8 @@ G4IonisParamElm::G4IonisParamElm(G4double Z) // Vol.1, Pergamon Press, 1985 // Fast ions or hadrons - if(91 < iz) iz = 91; + G4int iz = Z - 1; + if(91 < iz) { iz = 91; } static G4double vFermi[92] = { 1.0309, 0.15976, 0.59782, 1.0781, 1.0486, 1.0, 1.058, 0.93942, 0.74562, 0.3424, @@ -150,19 +138,22 @@ G4IonisParamElm::G4IonisParamElm(G4double Z) G4IonisParamElm::G4IonisParamElm(__void__&) : fShellCorrectionVector(0) { + fZ=fZ3=fZZ3=flogZ3=fTau0=fTaul=fBetheBlochLow=fAlow=fBlow=fClow + =fMeanExcitationEnergy=fVFermi=fLFactor=0.0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... G4IonisParamElm::~G4IonisParamElm() { - if (fShellCorrectionVector) delete [] fShellCorrectionVector; + if (fShellCorrectionVector) { delete [] fShellCorrectionVector; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... G4IonisParamElm::G4IonisParamElm(G4IonisParamElm& right) { + fShellCorrectionVector = 0; *this = right; } @@ -183,12 +174,14 @@ const G4IonisParamElm& G4IonisParamElm::operator=(const G4IonisParamElm& right) fBlow = right.fBlow; fClow = right.fClow; fMeanExcitationEnergy = right.fMeanExcitationEnergy; - if (fShellCorrectionVector) delete [] fShellCorrectionVector; + fVFermi = right.fVFermi; + fLFactor = right.fLFactor; + if (fShellCorrectionVector) { delete [] fShellCorrectionVector; } fShellCorrectionVector = new G4double[3]; fShellCorrectionVector[0] = right.fShellCorrectionVector[0]; fShellCorrectionVector[1] = right.fShellCorrectionVector[1]; fShellCorrectionVector[2] = right.fShellCorrectionVector[2]; - } + } return *this; } diff --git a/source/materials/src/G4IonisParamMat.cc b/source/materials/src/G4IonisParamMat.cc index 2461adc290..b3d5b69d83 100644 --- a/source/materials/src/G4IonisParamMat.cc +++ b/source/materials/src/G4IonisParamMat.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IonisParamMat.cc,v 1.34 2009/11/30 15:48:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4IonisParamMat.cc,v 1.40 2010/11/01 18:18:57 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... @@ -61,7 +61,7 @@ G4IonisParamMat::G4IonisParamMat(G4Material* material) fCdensity = 0.0; fD0density = 0.0; fAdjustmentFactor = 1.0; - if(!fDensityData) fDensityData = new G4DensityEffectData(); + if(!fDensityData) { fDensityData = new G4DensityEffectData(); } // compute parameters ComputeMeanParameters(); @@ -78,6 +78,31 @@ G4IonisParamMat::G4IonisParamMat(G4Material* material) G4IonisParamMat::G4IonisParamMat(__void__&) : fMaterial(0), fShellCorrectionVector(0) { + fMeanExcitationEnergy = 0.0; + fLogMeanExcEnergy = 0.0; + fTaul = 0.0; + fCdensity = 0.0; + fMdensity = 0.0; + fAdensity = 0.0; + fX0density = 0.0; + fX1density = 0.0; + fD0density = 0.0; + fPlasmaEnergy = 0.0; + fAdjustmentFactor = 0.0; + fF1fluct = 0.0; + fF2fluct = 0.0; + fEnergy1fluct = 0.0; + fLogEnergy1fluct = 0.0; + fEnergy2fluct = 0.0; + fLogEnergy2fluct = 0.0; + fEnergy0fluct = 0.0; + fRateionexcfluct = 0.0; + fZeff = 0.0; + fFermiEnergy = 0.0; + fLfactor = 0.0; + fInvA23 = 0.0; + fBirks = 0.0; + fMeanEnergyPerIon = 0.0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... @@ -97,7 +122,7 @@ void G4IonisParamMat::ComputeMeanParameters() const G4String ch = fMaterial->GetChemicalFormula(); - if(ch != "") fMeanExcitationEnergy = FindMeanExcitationEnergy(ch); + if(ch != "") { fMeanExcitationEnergy = FindMeanExcitationEnergy(ch); } // Chemical formula defines mean excitation energy if(fMeanExcitationEnergy > 0.0) { @@ -114,7 +139,7 @@ void G4IonisParamMat::ComputeMeanParameters() fMeanExcitationEnergy = std::exp(fLogMeanExcEnergy); } - fShellCorrectionVector = new G4double[3]; //[3] + fShellCorrectionVector = new G4double[3]; for (G4int j=0; j<=2; j++) { @@ -145,11 +170,12 @@ void G4IonisParamMat::ComputeDensityEffect() // Check if density effect data exist in the table // R.M. Sternheimer, Atomic Data and Nuclear Data Tables, 30: 261 (1984) G4int idx = fDensityData->GetIndex(fMaterial->GetName()); - // if(idx < 0 && fMaterial->GetNumberOfElements() == 1) { - // idx = fDensityData->GetIndex(G4int(fMaterial->GetZ())); - // } + if(idx < 0 && fMaterial->GetNumberOfElements() == 1) { + idx = fDensityData->GetElementIndex(G4int(fMaterial->GetZ()), + fMaterial->GetState()); + } - //G4cout << "DensityEffect for " << fMaterial->GetName() << " " << idx << G4endl; + //G4cout<<"DensityEffect for "<GetName()<<" "<< idx << G4endl; if(idx >= 0) { @@ -276,8 +302,7 @@ void G4IonisParamMat::ComputeDensityEffect() void G4IonisParamMat::ComputeFluctModel() { // compute parameters for the energy loss fluctuation model - - // need an 'effective Z' ????? + // needs an 'effective Z' G4double Zeff = 0.; for (size_t i=0;iGetNumberOfElements();i++) { Zeff += (fMaterial->GetFractionVector())[i] @@ -308,13 +333,14 @@ void G4IonisParamMat::ComputeIonParameters() // loop for the elements in the material // to find out average values Z, vF, lF - G4double z = 0.0, vF = 0.0, lF = 0.0, norm = 0.0 ; + G4double z(0.0), vF(0.0), lF(0.0), norm(0.0), a23(0.0); if( 1 == NumberOfElements ) { const G4Element* element = (*theElementVector)[0]; z = element->GetZ(); vF= element->GetIonisation()->GetFermiVelocity(); lF= element->GetIonisation()->GetLFactor(); + a23 = std::pow(element->GetN(),-2./3.); } else { for (G4int iel=0; ielGetZ() * weight ; vF += element->GetIonisation()->GetFermiVelocity() * weight ; lF += element->GetIonisation()->GetLFactor() * weight ; + a23 += std::pow(element->GetN(),-2./3.) * weight ; } - z /= norm ; - vF /= norm ; - lF /= norm ; + z /= norm; + vF /= norm; + lF /= norm; + a23 /= norm; } fZeff = z; fLfactor = lF; fFermiEnergy = 25.*keV*vF*vF; + fInvA23 = a23; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... void G4IonisParamMat::SetMeanExcitationEnergy(G4double value) { - if(value == fMeanExcitationEnergy || value <= 0.0) return; + if(value == fMeanExcitationEnergy || value <= 0.0) { return; } /* if (G4NistManager::Instance()->GetVerbose() > 0) @@ -427,12 +456,15 @@ G4IonisParamMat::~G4IonisParamMat() if (fShellCorrectionVector) { delete [] fShellCorrectionVector; } if (fDensityData) { delete fDensityData; } fDensityData = 0; + fShellCorrectionVector = 0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... G4IonisParamMat::G4IonisParamMat(const G4IonisParamMat& right) { + fShellCorrectionVector = 0; + fMaterial = 0; *this = right; } @@ -445,7 +477,7 @@ const G4IonisParamMat& G4IonisParamMat::operator=(const G4IonisParamMat& right) fMaterial = right.fMaterial; fMeanExcitationEnergy = right.fMeanExcitationEnergy; fLogMeanExcEnergy = right.fLogMeanExcEnergy; - if (fShellCorrectionVector) delete [] fShellCorrectionVector; + if(fShellCorrectionVector){ delete [] fShellCorrectionVector; } fShellCorrectionVector = new G4double[3]; fShellCorrectionVector[0] = right.fShellCorrectionVector[0]; fShellCorrectionVector[1] = right.fShellCorrectionVector[1]; @@ -470,6 +502,7 @@ const G4IonisParamMat& G4IonisParamMat::operator=(const G4IonisParamMat& right) fZeff = right.fZeff; fFermiEnergy = right.fFermiEnergy; fLfactor = right.fLfactor; + fInvA23 = right.fInvA23; fBirks = right.fBirks; fMeanEnergyPerIon = right.fMeanEnergyPerIon; fDensityData = right.fDensityData; diff --git a/source/materials/src/G4IronStoppingICRU73.cc b/source/materials/src/G4IronStoppingICRU73.cc deleted file mode 100644 index b39d26b24d..0000000000 --- a/source/materials/src/G4IronStoppingICRU73.cc +++ /dev/null @@ -1,351 +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: G4IronStoppingICRU73.cc,v 1.9 2009/11/09 16:51:07 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ - -//--------------------------------------------------------------------------- -// -// GEANT4 Class file -// -// Description: Data on stopping power -// -// Author: A.Ivanchenko 10.08.2008 -// -// in the framework of the ESA Technology Research Programme -// (ESA contract 21435/08/NL/AT) -// -// Modifications: -// 29.04.2009 A.Ivantchenko added data for G4WATER -// provided by Prof.P.Sigmund Univ. Southern Denmark -// 03.11.2009 A. Lechner: Added new methods BuildPhysicsVector according -// to interface changes in base class G4VIonDEDXTable. -// -//---------------------------------------------------------------------------- -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4IronStoppingICRU73.hh" -#include "G4LPhysicsFreeVector.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -G4IronStoppingICRU73::G4IronStoppingICRU73(G4bool splineFlag) -{ - spline = splineFlag; - - G4int matZ[17] = {1,2,4,6,7,8,10,13,14,18,22,26,28,29,32,36,1000}; - - G4String matName[17] = {"G4_H", "G4_He", "G4_Be", "G4_C", "G4_N", "G4_O", "G4_Ne", "G4_Al", "G4_Si", "G4_Ar", "G4_Ti", "G4_Fe", "G4_Ni", "G4_Cu", "G4_Ge", "G4_Kr","G4_WATER"}; - - for( size_t i = 0; i < 17; i++ ) { - atomicNumbersMat.push_back( matZ[i] ); - namesMat.push_back( matName[i] ); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4IronStoppingICRU73::~G4IronStoppingICRU73() -{ - size_t nmb = dedx.size(); - - for(size_t i = 0; i < nmb; i++) delete dedx[i]; - - dedx.clear(); - dedxKeys.clear(); - atomicNumbersMat.clear(); - namesMat.clear(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool G4IronStoppingICRU73::BuildPhysicsVector(G4int ionZ, - G4int matZ) -{ - return IsApplicable( ionZ, matZ ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4IronStoppingICRU73::BuildPhysicsVector(G4int ionZ, - const G4String& matName) -{ - return IsApplicable( ionZ, matName ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4bool -G4IronStoppingICRU73::IsApplicable(G4int ionZ, G4int matZ) -{ - G4bool isApplicable = false; - - if( ionZ == 26 ) { - - size_t nmbMat = atomicNumbersMat.size(); - - for( size_t i = 0; i < nmbMat; i++ ) { - - if( atomicNumbersMat[i] == matZ ) { isApplicable = true; break; } - } - } - - return isApplicable; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4bool -G4IronStoppingICRU73::IsApplicable(G4int ionZ, const G4String& matName) -{ - G4bool isApplicable = false; - - if( ionZ == 26 ) { - - size_t nmbMat = namesMat.size(); - - for( size_t i = 0; i < nmbMat; i++ ) { - - if( namesMat[i] == matName ) { isApplicable = true; break; } - } - } - - return isApplicable; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4IronStoppingICRU73::GetDEDX(G4double kinEnergyPerNucleon, - G4int ionZ, - G4int matZ) { - - G4double dedxValue = -1.0; - - size_t nmbMat = atomicNumbersMat.size(); - - for( size_t i = 0; i < nmbMat; i++ ) { - - if( atomicNumbersMat[i] == matZ ) { - dedxValue = GetDEDX(kinEnergyPerNucleon, ionZ, namesMat[i]); - break; - } - } - - return dedxValue; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4IronStoppingICRU73::GetDEDX(G4double kinEnergyPerNucleon, - G4int ionZ, - const G4String& matName) -{ - G4double dedxValue = -1.0; - - if(ionZ != 26) return dedxValue; - - G4PhysicsVector* physicsVector = GetPhysicsVector(ionZ, matName); - - if(physicsVector != 0) { - - size_t nmbBins = physicsVector -> GetVectorLength(); - G4double lowerEnergyEdge = physicsVector -> GetLowEdgeEnergy(0); - G4double upperEnergyEdge = physicsVector -> GetLowEdgeEnergy(nmbBins-1); - - if(kinEnergyPerNucleon <= upperEnergyEdge) { - G4bool b; - - if(kinEnergyPerNucleon < lowerEnergyEdge) { - dedxValue = physicsVector -> GetValue(lowerEnergyEdge, b) * - std::sqrt(kinEnergyPerNucleon / lowerEnergyEdge); - } - else { - dedxValue = physicsVector -> GetValue(kinEnergyPerNucleon, b); - } - } - } - - return dedxValue; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4PhysicsVector* G4IronStoppingICRU73::CreatePhysicsVector( - G4double* energy, - G4double* stoppower, - G4double factor) -{ - G4LPhysicsFreeVector* pv = new G4LPhysicsFreeVector(53,energy[0],energy[52]); - pv->SetSpline(spline); - - for( G4int i = 0; i < 53; i++ ) { - pv->PutValues(i,energy[i],stoppower[i]*factor); - } - - return pv; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4PhysicsVector* G4IronStoppingICRU73::GetPhysicsVector( - G4int ionZ, - const G4String& matName) -{ - G4PhysicsVector* physicsVector = 0; - - if(ionZ != 26) return physicsVector; - - // Checking if dE/dx vector was already created - size_t nmbKeys = dedxKeys.size(); - for( size_t i = 0; i < nmbKeys; i++ ) { - - if( dedxKeys[i] == matName ) { physicsVector = dedx[i]; break; } - } - if(physicsVector != 0) { return physicsVector; } - - // Creating dE/dx vector if ion-material pair covered - G4double factor = MeV * cm2 / (0.001 * g); - - G4double E[53] = {.025,.03,.04,.05,.06,.07,0.08,0.09,0.1,0.15,0.2,0.25,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.5,2,2.5,3,4,5,6,7,8,9,10,15,20,25,30,40,50,60,70,80,90,100,150,200,250,300,400,500,600,700,800,900,1000}; - - for( G4int i = 0; i < 53; i++ ) E[i] *= MeV; - - - if(matName == namesMat[0]) { - - G4double H_Fe[53] ={2.760E+01, 3.046E+01, 3.563E+01, 4.023E+01, 4.441E+01, 4.828E+01, 5.191E+01, 5.535E+01, 5.862E+01, 7.281E+01, 8.345E+01, 9.110E+01, 9.654E+01, 1.032E+02, 1.068E+02, 1.085E+02, 1.093E+02, 1.095E+02, 1.092E+02, 1.086E+02, 1.041E+02, 9.890E+01, 9.387E+01, 8.923E+01, 8.115E+01, 7.443E+01, 6.878E+01, 6.397E+01, 5.981E+01, 5.619E+01, 5.300E+01, 4.143E+01, 3.416E+01, 2.915E+01, 2.550E+01, 2.053E+01, 1.731E+01, 1.505E+01, 1.338E+01, 1.209E+01, 1.107E+01, 1.024E+01, 7.662E+00, 6.326E+00, 5.510E+00, 4.960E+00, 4.272E+00, 3.864E+00, 3.597E+00, 3.412E+00, 3.279E+00, 3.180E+00, 3.104E+00}; - physicsVector = CreatePhysicsVector(E,H_Fe,factor); - } - else if(matName == namesMat[1]) { - - G4double He_Fe[53] ={9.071E+00, 9.992E+00, 1.168E+01, 1.322E+01, 1.465E+01, 1.601E+01, 1.731E+01, 1.856E+01, 1.977E+01, 2.534E+01, 3.009E+01, 3.392E+01, 3.691E+01, 4.096E+01, 4.337E+01, 4.482E+01, 4.569E+01, 4.620E+01, 4.645E+01, 4.653E+01, 4.569E+01, 4.406E+01, 4.229E+01, 4.053E+01, 3.730E+01, 3.447E+01, 3.202E+01, 2.988E+01, 2.801E+01, 2.635E+01, 2.489E+01, 1.948E+01, 1.603E+01, 1.365E+01, 1.192E+01, 9.560E+00, 8.040E+00, 6.981E+00, 6.200E+00, 5.601E+00, 5.126E+00, 4.741E+00, 3.553E+00, 2.939E+00, 2.563E+00, 2.310E+00, 1.994E+00, 1.806E+00, 1.684E+00, 1.599E+00, 1.538E+00, 1.493E+00, 1.458E+00}; - physicsVector = CreatePhysicsVector(E,He_Fe,factor); - } - else if(matName == namesMat[2]) { - - G4double Be_Fe[53] ={7.231E+00, 8.001E+00, 9.429E+00, 1.074E+01, 1.198E+01, 1.315E+01, 1.426E+01, 1.532E+01, 1.632E+01, 2.070E+01, 2.417E+01, 2.687E+01, 2.894E+01, 3.186E+01, 3.377E+01, 3.507E+01, 3.597E+01, 3.657E+01, 3.697E+01, 3.722E+01, 3.722E+01, 3.633E+01, 3.519E+01, 3.398E+01, 3.163E+01, 2.948E+01, 2.756E+01, 2.585E+01, 2.431E+01, 2.294E+01, 2.171E+01, 1.705E+01, 1.402E+01, 1.190E+01, 1.035E+01, 8.254E+00, 6.906E+00, 5.972E+00, 5.289E+00, 4.768E+00, 4.357E+00, 4.025E+00, 3.010E+00, 2.489E+00, 2.172E+00, 1.960E+00, 1.693E+00, 1.535E+00, 1.432E+00, 1.361E+00, 1.310E+00, 1.272E+00, 1.243E+00}; - physicsVector = CreatePhysicsVector(E,Be_Fe,factor); - } - else if(matName == namesMat[3]) { - - G4double C_Fe[53] ={6.513E+00, 7.256E+00, 8.631E+00, 9.900E+00, 1.109E+01, 1.222E+01, 1.329E+01, 1.431E+01, 1.528E+01, 1.972E+01, 2.371E+01, 2.695E+01, 2.943E+01, 3.276E+01, 3.481E+01, 3.617E+01, 3.708E+01, 3.770E+01, 3.813E+01, 3.842E+01, 3.865E+01, 3.799E+01, 3.701E+01, 3.592E+01, 3.370E+01, 3.160E+01, 2.969E+01, 2.795E+01, 2.638E+01, 2.496E+01, 2.368E+01, 1.874E+01, 1.545E+01, 1.313E+01, 1.142E+01, 9.087E+00, 7.588E+00, 6.550E+00, 5.792E+00, 5.215E+00, 4.761E+00, 4.396E+00, 3.282E+00, 2.714E+00, 2.369E+00, 2.137E+00, 1.848E+00, 1.677E+00, 1.565E+00, 1.488E+00, 1.433E+00, 1.392E+00, 1.361E+00}; - physicsVector = CreatePhysicsVector(E,C_Fe,factor); - } - else if(matName == namesMat[4]) { - - G4double N_Fe[53] ={7.196E+00, 7.991E+00, 9.457E+00, 1.080E+01, 1.207E+01, 1.328E+01, 1.443E+01, 1.552E+01, 1.657E+01, 2.116E+01, 2.497E+01, 2.817E+01, 3.072E+01, 3.422E+01, 3.634E+01, 3.768E+01, 3.855E+01, 3.912E+01, 3.948E+01, 3.969E+01, 3.965E+01, 3.883E+01, 3.774E+01, 3.657E+01, 3.426E+01, 3.212E+01, 3.017E+01, 2.840E+01, 2.682E+01, 2.538E+01, 2.407E+01, 1.907E+01, 1.573E+01, 1.337E+01, 1.163E+01, 9.250E+00, 7.718E+00, 6.657E+00, 5.883E+00, 5.293E+00, 4.831E+00, 4.458E+00, 3.323E+00, 2.746E+00, 2.396E+00, 2.161E+00, 1.868E+00, 1.694E+00, 1.581E+00, 1.503E+00, 1.447E+00, 1.405E+00, 1.374E+00}; - physicsVector = CreatePhysicsVector(E,N_Fe,factor); - } - else if(matName == namesMat[5]) { - - G4double O_Fe[53] ={5.927E+00, 6.602E+00, 7.858E+00, 9.021E+00, 1.012E+01, 1.118E+01, 1.220E+01, 1.319E+01, 1.415E+01, 1.850E+01, 2.219E+01, 2.529E+01, 2.784E+01, 3.147E+01, 3.372E+01, 3.515E+01, 3.609E+01, 3.671E+01, 3.712E+01, 3.738E+01, 3.753E+01, 3.687E+01, 3.594E+01, 3.491E+01, 3.283E+01, 3.087E+01, 2.906E+01, 2.742E+01, 2.593E+01, 2.457E+01, 2.333E+01, 1.856E+01, 1.535E+01, 1.306E+01, 1.137E+01, 9.051E+00, 7.553E+00, 6.516E+00, 5.757E+00, 5.180E+00, 4.727E+00, 4.362E+00, 3.253E+00, 2.688E+00, 2.346E+00, 2.117E+00, 1.831E+00, 1.661E+00, 1.551E+00, 1.475E+00, 1.420E+00, 1.380E+00, 1.349E+00}; - physicsVector = CreatePhysicsVector(E,O_Fe,factor); - } - else if(matName == namesMat[6]) { - - G4double Ne_Fe[53] ={4.522E+00, 5.012E+00, 5.923E+00, 6.771E+00, 7.576E+00, 8.354E+00, 9.113E+00, 9.858E+00, 1.059E+01, 1.406E+01, 1.714E+01, 1.983E+01, 2.214E+01, 2.574E+01, 2.821E+01, 2.989E+01, 3.102E+01, 3.180E+01, 3.233E+01, 3.270E+01, 3.324E+01, 3.287E+01, 3.221E+01, 3.141E+01, 2.975E+01, 2.812E+01, 2.659E+01, 2.518E+01, 2.389E+01, 2.270E+01, 2.161E+01, 1.733E+01, 1.440E+01, 1.229E+01, 1.072E+01, 8.553E+00, 7.146E+00, 6.167E+00, 5.451E+00, 4.906E+00, 4.478E+00, 4.133E+00, 3.084E+00, 2.552E+00, 2.229E+00, 2.012E+00, 1.742E+00, 1.582E+00, 1.479E+00, 1.407E+00, 1.356E+00, 1.318E+00, 1.289E+00}; - physicsVector = CreatePhysicsVector(E,Ne_Fe,factor); - } - else if(matName == namesMat[7]) { - - G4double Al_Fe[53] ={5.170E+00, 5.727E+00, 6.746E+00, 7.678E+00, 8.549E+00, 9.369E+00, 1.015E+01, 1.089E+01, 1.160E+01, 1.473E+01, 1.729E+01, 1.934E+01, 2.100E+01, 2.358E+01, 2.550E+01, 2.697E+01, 2.809E+01, 2.892E+01, 2.953E+01, 2.997E+01, 3.072E+01, 3.045E+01, 2.984E+01, 2.912E+01, 2.760E+01, 2.611E+01, 2.472E+01, 2.344E+01, 2.227E+01, 2.120E+01, 2.020E+01, 1.629E+01, 1.359E+01, 1.163E+01, 1.017E+01, 8.131E+00, 6.803E+00, 5.876E+00, 5.196E+00, 4.677E+00, 4.270E+00, 3.941E+00, 2.942E+00, 2.434E+00, 2.127E+00, 1.921E+00, 1.664E+00, 1.512E+00, 1.413E+00, 1.345E+00, 1.296E+00, 1.260E+00, 1.233E+00}; - physicsVector = CreatePhysicsVector(E,Al_Fe,factor); - } - else if(matName == namesMat[8]) { - - G4double Si_Fe[53] ={5.179E+00, 5.792E+00, 6.906E+00, 7.894E+00, 8.779E+00, 9.583E+00, 1.033E+01, 1.105E+01, 1.176E+01, 1.509E+01, 1.774E+01, 1.979E+01, 2.143E+01, 2.390E+01, 2.572E+01, 2.711E+01, 2.818E+01, 2.901E+01, 2.964E+01, 3.011E+01, 3.100E+01, 3.079E+01, 3.022E+01, 2.950E+01, 2.798E+01, 2.650E+01, 2.511E+01, 2.382E+01, 2.264E+01, 2.155E+01, 2.056E+01, 1.661E+01, 1.387E+01, 1.189E+01, 1.039E+01, 8.322E+00, 6.967E+00, 6.020E+00, 5.324E+00, 4.794E+00, 4.377E+00, 4.040E+00, 3.017E+00, 2.497E+00, 2.182E+00, 1.971E+00, 1.708E+00, 1.552E+00, 1.451E+00, 1.381E+00, 1.331E+00, 1.295E+00, 1.266E+00}; - physicsVector = CreatePhysicsVector(E,Si_Fe,factor); - } - else if(matName == namesMat[9]) { - - G4double Ar_Fe[53] ={4.640E+00, 5.184E+00, 6.169E+00, 7.042E+00, 7.836E+00, 8.580E+00, 9.290E+00, 9.972E+00, 1.063E+01, 1.362E+01, 1.604E+01, 1.796E+01, 1.949E+01, 2.168E+01, 2.315E+01, 2.417E+01, 2.491E+01, 2.545E+01, 2.586E+01, 2.617E+01, 2.681E+01, 2.669E+01, 2.625E+01, 2.567E+01, 2.438E+01, 2.311E+01, 2.191E+01, 2.081E+01, 1.979E+01, 1.886E+01, 1.801E+01, 1.461E+01, 1.225E+01, 1.052E+01, 9.221E+00, 7.405E+00, 6.211E+00, 5.374E+00, 4.757E+00, 4.286E+00, 3.914E+00, 3.615E+00, 2.701E+00, 2.236E+00, 1.955E+00, 1.766E+00, 1.530E+00, 1.391E+00, 1.301E+00, 1.239E+00, 1.194E+00, 1.161E+00, 1.136E+00}; - physicsVector = CreatePhysicsVector(E,Ar_Fe,factor); - } - else if(matName == namesMat[10]) { - - G4double Ti_Fe[53] ={3.463E+00, 3.857E+00, 4.576E+00, 5.231E+00, 5.840E+00, 6.417E+00, 6.971E+00, 7.510E+00, 8.037E+00, 1.056E+01, 1.286E+01, 1.484E+01, 1.650E+01, 1.899E+01, 2.064E+01, 2.176E+01, 2.255E+01, 2.312E+01, 2.353E+01, 2.385E+01, 2.452E+01, 2.450E+01, 2.420E+01, 2.377E+01, 2.273E+01, 2.165E+01, 2.060E+01, 1.962E+01, 1.870E+01, 1.786E+01, 1.708E+01, 1.396E+01, 1.175E+01, 1.014E+01, 8.910E+00, 7.185E+00, 6.043E+00, 5.239E+00, 4.644E+00, 4.189E+00, 3.829E+00, 3.538E+00, 2.651E+00, 2.198E+00, 1.923E+00, 1.738E+00, 1.508E+00, 1.372E+00, 1.284E+00, 1.223E+00, 1.180E+00, 1.148E+00, 1.123E+00}; - physicsVector = CreatePhysicsVector(E,Ti_Fe,factor); - } - else if(matName == namesMat[11]) { - - G4double Fe_Fe[53] ={2.849E+00, 3.182E+00, 3.799E+00, 4.367E+00, 4.900E+00, 5.406E+00, 5.896E+00, 6.375E+00, 6.847E+00, 9.117E+00, 1.120E+01, 1.305E+01, 1.461E+01, 1.702E+01, 1.875E+01, 2.000E+01, 2.088E+01, 2.151E+01, 2.197E+01, 2.230E+01, 2.301E+01, 2.302E+01, 2.277E+01, 2.239E+01, 2.148E+01, 2.052E+01, 1.959E+01, 1.870E+01, 1.786E+01, 1.709E+01, 1.637E+01, 1.345E+01, 1.138E+01, 9.844E+00, 8.673E+00, 7.018E+00, 5.918E+00, 5.139E+00, 4.562E+00, 4.119E+00, 3.768E+00, 3.484E+00, 2.615E+00, 2.171E+00, 1.901E+00, 1.720E+00, 1.493E+00, 1.360E+00, 1.273E+00, 1.213E+00, 1.171E+00, 1.139E+00, 1.115E+00}; - physicsVector = CreatePhysicsVector(E,Fe_Fe,factor); - } - else if(matName == namesMat[12]) { - - G4double Ni_Fe[53] ={2.634E+00, 2.937E+00, 3.504E+00, 4.033E+00, 4.536E+00, 5.017E+00, 5.480E+00, 5.930E+00, 6.372E+00, 8.530E+00, 1.058E+01, 1.247E+01, 1.412E+01, 1.669E+01, 1.851E+01, 1.983E+01, 2.078E+01, 2.147E+01, 2.197E+01, 2.234E+01, 2.310E+01, 2.311E+01, 2.285E+01, 2.247E+01, 2.156E+01, 2.061E+01, 1.969E+01, 1.881E+01, 1.798E+01, 1.721E+01, 1.650E+01, 1.359E+01, 1.151E+01, 9.971E+00, 8.793E+00, 7.127E+00, 6.015E+00, 5.227E+00, 4.643E+00, 4.193E+00, 3.838E+00, 3.550E+00, 2.666E+00, 2.214E+00, 1.939E+00, 1.754E+00, 1.524E+00, 1.387E+00, 1.299E+00, 1.238E+00, 1.195E+00, 1.163E+00, 1.138E+00}; - physicsVector = CreatePhysicsVector(E,Ni_Fe,factor); - } - else if(matName == namesMat[13]) { - - G4double Cu_Fe[53] ={2.375E+00, 2.651E+00, 3.165E+00, 3.642E+00, 4.090E+00, 4.517E+00, 4.929E+00, 5.331E+00, 5.729E+00, 7.707E+00, 9.605E+00, 1.135E+01, 1.289E+01, 1.528E+01, 1.699E+01, 1.823E+01, 1.915E+01, 1.982E+01, 2.031E+01, 2.066E+01, 2.143E+01, 2.148E+01, 2.125E+01, 2.092E+01, 2.010E+01, 1.924E+01, 1.839E+01, 1.759E+01, 1.683E+01, 1.612E+01, 1.545E+01, 1.276E+01, 1.082E+01, 9.381E+00, 8.279E+00, 6.716E+00, 5.673E+00, 4.933E+00, 4.383E+00, 3.963E+00, 3.625E+00, 3.354E+00, 2.521E+00, 2.094E+00, 1.835E+00, 1.660E+00, 1.443E+00, 1.314E+00, 1.231E+00, 1.173E+00, 1.132E+00, 1.102E+00, 1.079E+00}; - physicsVector = CreatePhysicsVector(E,Cu_Fe,factor); - } - else if(matName == namesMat[14]) { - - G4double Ge_Fe[53] ={2.136E+00, 2.387E+00, 2.854E+00, 3.284E+00, 3.678E+00, 4.043E+00, 4.391E+00, 4.730E+00, 5.064E+00, 6.677E+00, 8.224E+00, 9.597E+00, 1.079E+01, 1.278E+01, 1.434E+01, 1.557E+01, 1.651E+01, 1.723E+01, 1.777E+01, 1.819E+01, 1.913E+01, 1.925E+01, 1.910E+01, 1.883E+01, 1.814E+01, 1.740E+01, 1.667E+01, 1.597E+01, 1.531E+01, 1.469E+01, 1.410E+01, 1.171E+01, 9.967E+00, 8.666E+00, 7.664E+00, 6.237E+00, 5.279E+00, 4.597E+00, 4.090E+00, 3.699E+00, 3.389E+00, 3.137E+00, 2.363E+00, 1.966E+00, 1.723E+00, 1.561E+00, 1.358E+00, 1.237E+00, 1.160E+00, 1.106E+00, 1.068E+00, 1.040E+00, 1.018E+00}; - physicsVector = CreatePhysicsVector(E,Ge_Fe,factor); - } - else if(matName == namesMat[15]) { - - G4double Kr_Fe[53] ={2.888E+00, 3.222E+00, 3.838E+00, 4.386E+00, 4.875E+00, 5.326E+00, 5.754E+00, 6.164E+00, 6.563E+00, 8.427E+00, 9.958E+00, 1.119E+01, 1.221E+01, 1.383E+01, 1.508E+01, 1.608E+01, 1.689E+01, 1.753E+01, 1.802E+01, 1.840E+01, 1.922E+01, 1.926E+01, 1.903E+01, 1.870E+01, 1.792E+01, 1.712E+01, 1.635E+01, 1.563E+01, 1.496E+01, 1.433E+01, 1.375E+01, 1.139E+01, 9.689E+00, 8.425E+00, 7.454E+00, 6.071E+00, 5.143E+00, 4.482E+00, 3.990E+00, 3.610E+00, 3.309E+00, 3.064E+00, 2.309E+00, 1.921E+00, 1.685E+00, 1.526E+00, 1.327E+00, 1.209E+00, 1.133E+00, 1.081E+00, 1.044E+00, 1.016E+00, 9.949E-01}; - physicsVector = CreatePhysicsVector(E,Kr_Fe,factor); - } - else if(matName == namesMat[16]) { - - G4double WATER_Fe[53] ={6.5394, 7.3060, 8.7367, 10.0690, 11.3310, 12.5470, 13.7280, 14.8780, 15.9980, 21.1160, 25.4850, 29.1260, 32.0640, 36.1770, 38.6920, 40.2760, 41.2950, 41.9530, 42.3710, 42.6210, 42.5910, 41.6900, 40.5190, 39.2690, 36.8000, 34.5040, 32.4190, 30.5410, 28.8480, 27.3170, 25.9310, 20.6170, 17.0680, 14.5540, 12.6930, 10.1410, 8.4892, 7.3402, 6.4976, 5.8545, 5.3479, 4.9387, 3.6892, 3.0503, 2.6620, 2.4014, 2.0756, 1.8825, 1.7569, 1.6702, 1.6079, 1.5619, 1.5267}; - physicsVector = CreatePhysicsVector(E,WATER_Fe,factor); - } - - if(physicsVector != 0) { - dedxKeys.push_back( matName ); - dedx.push_back( physicsVector ); - } - - return physicsVector; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4PhysicsVector* G4IronStoppingICRU73::GetPhysicsVector(G4int ionZ, G4int matZ) -{ - G4PhysicsVector* physicsVector = 0; - - size_t nmbMat = atomicNumbersMat.size(); - - for( size_t i = 0; i < nmbMat; i++ ) { - - if( atomicNumbersMat[i] == matZ ) { - physicsVector = GetPhysicsVector(ionZ, namesMat[i]); - break; - } - } - - return physicsVector; -} diff --git a/source/materials/src/G4Isotope.cc b/source/materials/src/G4Isotope.cc index 69d54571e9..066ea9ae0f 100644 --- a/source/materials/src/G4Isotope.cc +++ b/source/materials/src/G4Isotope.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Isotope.cc,v 1.22 2008/08/11 11:53:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Isotope.cc,v 1.23 2010/10/25 09:20:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,12 +56,12 @@ G4IsotopeTable G4Isotope::theIsotopeTable; G4Isotope::G4Isotope(const G4String& Name, G4int Z, G4int N, G4double A) : fName(Name), fZ(Z), fN(N), fA(A), fCountUse(0) { - if (Z<1) G4Exception - (" ERROR! It is not allowed to create an Isotope with Z < 1" ); - - if (NGetAtomicMass(Z,N))*g/(mole*amu_c2); } @@ -75,7 +75,7 @@ G4Isotope::G4Isotope(const G4String& Name, G4int Z, G4int N, G4double A) // for usage restricted to object persistency G4Isotope::G4Isotope(__void__&) - : fZ(0), fN(0), fA(0), fCountUse(0) + : fZ(0), fN(0), fA(0), fCountUse(0), fIndexInTable(0) { } @@ -114,6 +114,7 @@ G4Isotope & G4Isotope::operator=(const G4Isotope& right) fZ = right.fZ; fN = right.fN; fA = right.fA; + fCountUse = right.fCountUse; } return *this; } @@ -154,7 +155,7 @@ std::ostream& operator<<(std::ostream& flux, G4Isotope* isotope) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - std::ostream& operator<<(std::ostream& flux, G4Isotope& isotope) +std::ostream& operator<<(std::ostream& flux, G4Isotope& isotope) { flux << &isotope; return flux; diff --git a/source/materials/src/G4Material.cc b/source/materials/src/G4Material.cc index 10809b2295..88f50bc447 100644 --- a/source/materials/src/G4Material.cc +++ b/source/materials/src/G4Material.cc @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4Material.cc,v 1.42 2008/08/13 16:06:42 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Material.cc,v 1.44 2010/10/25 10:35:11 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // @@ -73,9 +72,9 @@ #include "G4Material.hh" #include "G4UnitsTable.hh" +#include "G4Pow.hh" #include - G4MaterialTable G4Material::theMaterialTable; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -90,13 +89,14 @@ G4Material::G4Material(const G4String& name, G4double z, InitializePointers(); if (density < universe_mean_density) - { G4cerr << "--- Warning from G4Material::G4Material()" - << " define a material with density=0 is not allowed. \n" - << " The material " << name << " will be constructed with the" - << " default minimal density: " << universe_mean_density/(g/cm3) - << "g/cm3" << G4endl; - density = universe_mean_density; - } + { + G4cerr << "--- Warning from G4Material::G4Material()" + << " define a material with density=0 is not allowed. \n" + << " The material " << name << " will be constructed with the" + << " default minimal density: " << universe_mean_density/(g/cm3) + << "g/cm3" << G4endl; + density = universe_mean_density; + } fDensity = density; fState = state; @@ -118,8 +118,8 @@ G4Material::G4Material(const G4String& name, G4double z, if (fState == kStateUndefined) { - if (fDensity > kGasThreshold) fState = kStateSolid; - else fState = kStateGas; + if (fDensity > kGasThreshold) { fState = kStateSolid; } + else { fState = kStateGas; } } ComputeDerivedQuantities(); @@ -138,12 +138,13 @@ G4Material::G4Material(const G4String& name, G4double density, InitializePointers(); if (density < universe_mean_density) - {G4cerr << "--- Warning from G4Material::G4Material()" - << " define a material with density=0 is not allowed. \n" - << " The material " << name << " will be constructed with the" - << " default minimal density: " << universe_mean_density/(g/cm3) - << "g/cm3" << G4endl; - density = universe_mean_density; + { + G4cerr << "--- Warning from G4Material::G4Material()" + << " define a material with density=0 is not allowed. \n" + << " The material " << name << " will be constructed with the" + << " default minimal density: " << universe_mean_density/(g/cm3) + << "g/cm3" << G4endl; + density = universe_mean_density; } fDensity = density; @@ -161,8 +162,8 @@ G4Material::G4Material(const G4String& name, G4double density, if (fState == kStateUndefined) { - if (fDensity > kGasThreshold) fState = kStateSolid; - else fState = kStateGas; + if (fDensity > kGasThreshold) { fState = kStateSolid; } + else { fState = kStateGas; } } } @@ -177,6 +178,7 @@ G4Material::G4Material(__void__&) fMaterialPropertiesTable(0), fIndexInTable(0), VecNbOfAtomsPerVolume(0), fIonisation(0), fSandiaTable(0) { + InitializePointers(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -194,7 +196,7 @@ void G4Material::AddElement(G4Element* element, G4int nAtoms) // filling ... if ( G4int(fNumberOfElements) < maxNbComponents ) { theElementVector->push_back(element); - fAtomsVector [fNumberOfElements] = nAtoms; + fAtomsVector[fNumberOfElements] = nAtoms; fNumberOfComponents = ++fNumberOfElements; element->increaseCountUse(); } else { @@ -205,19 +207,19 @@ void G4Material::AddElement(G4Element* element, G4int nAtoms) } // filled. if ( G4int(fNumberOfElements) == maxNbComponents ) { - // compute proportion by mass - size_t i=0; - G4double Zmol(0.), Amol(0.); - for (i=0;iGetZ(); - Amol += fAtomsVector[i]*(*theElementVector)[i]->GetA(); - } - for (i=0;iGetA()/Amol; - } + // compute proportion by mass + size_t i=0; + G4double Zmol(0.), Amol(0.); + for (i=0; iGetZ(); + Amol += fAtomsVector[i]*(*theElementVector)[i]->GetA(); + } + for (i=0; iGetA()/Amol; + } - ComputeDerivedQuantities(); + ComputeDerivedQuantities(); } } @@ -235,16 +237,16 @@ void G4Material::AddElement(G4Element* element, G4double fraction) // filling ... if (G4int(fNumberOfComponents) < maxNbComponents) { - size_t el = 0; - while ((elpush_back(element); - fMassFractionVector[el] = fraction; - fNumberOfElements++; - element->increaseCountUse(); - } - fNumberOfComponents++; + size_t el = 0; + while ((elpush_back(element); + fMassFractionVector[el] = fraction; + ++fNumberOfElements; + element->increaseCountUse(); + } + ++fNumberOfComponents; } else { G4cerr << "G4Material::AddElement ERROR for " << fName << " nElement= " << fNumberOfElements << G4endl; @@ -255,26 +257,26 @@ void G4Material::AddElement(G4Element* element, G4double fraction) // filled. if (G4int(fNumberOfComponents) == maxNbComponents) { - size_t i=0; - G4double Zmol(0.), Amol(0.); - // check sum of weights -- OK? - G4double wtSum(0.0); - for (i=0;iGetZ(); - Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA(); - } - if (std::abs(1.-wtSum) > perThousand) { - G4cerr << "WARNING !! for " << fName << " sum of fractional masses " - << wtSum << " is not 1 - results may be wrong" - << G4endl; - } - for (i=0;iGetA()+0.5); - } + size_t i=0; + G4double Zmol(0.), Amol(0.); + // check sum of weights -- OK? + G4double wtSum(0.0); + for (i=0; iGetZ(); + Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA(); + } + if (std::fabs(1.-wtSum) > perThousand) { + G4cerr << "WARNING !! for " << fName << " sum of fractional masses " + << wtSum << " is not 1 - results may be wrong" + << G4endl; + } + for (i=0; iGetA()+0.5); + } - ComputeDerivedQuantities(); + ComputeDerivedQuantities(); } } @@ -298,7 +300,7 @@ void G4Material::AddMaterial(G4Material* material, G4double fraction) fArrayLength += nelm - 1; G4double* v1 = new G4double[fArrayLength]; G4int* i1 = new G4int[fArrayLength]; - for(G4int i=0; iGetElementVector()))[elm]; size_t el = 0; while ((elpush_back(element); fMassFractionVector[el] = fraction *(material->GetFractionVector())[elm]; - fNumberOfElements++; + ++fNumberOfElements; element->increaseCountUse(); } - } - fNumberOfComponents++; + } + ++fNumberOfComponents; } else { G4cerr << "G4Material::AddElement ERROR for " << fName << " nElement= " << fNumberOfElements << G4endl; @@ -335,26 +337,26 @@ void G4Material::AddMaterial(G4Material* material, G4double fraction) // filled. if (G4int(fNumberOfComponents) == maxNbComponents) { - size_t i=0; - G4double Zmol(0.), Amol(0.); - // check sum of weights -- OK? - G4double wtSum(0.0); - for (i=0;iGetZ(); - Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA(); - } - if (std::abs(1.-wtSum) > perThousand) { - G4cerr << "WARNING !! for " << fName << " sum of fractional masses " - << wtSum << " is not 1 - results may be wrong" - << G4endl; - } - for (i=0;iGetA()+0.5); - } + size_t i=0; + G4double Zmol(0.), Amol(0.); + // check sum of weights -- OK? + G4double wtSum(0.0); + for (i=0; iGetZ(); + Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA(); + } + if (std::fabs(1.-wtSum) > perThousand) { + G4cerr << "WARNING !! for " << fName << " sum of fractional masses " + << wtSum << " is not 1 - results may be wrong" + << G4endl; + } + for (i=0;iGetA()+0.5); + } - ComputeDerivedQuantities(); + ComputeDerivedQuantities(); } } @@ -368,10 +370,10 @@ void G4Material::ComputeDerivedQuantities() // Number of atoms per volume (per element), total nb of electrons per volume G4double Zi, Ai; TotNbOfAtomsPerVolume = 0.; - if (VecNbOfAtomsPerVolume) delete [] VecNbOfAtomsPerVolume; + if (VecNbOfAtomsPerVolume) { delete [] VecNbOfAtomsPerVolume; } VecNbOfAtomsPerVolume = new G4double[fNumberOfElements]; TotNbOfElectPerVolume = 0.; - for (size_t i=0;iGetZ(); Ai = (*theElementVector)[i]->GetA(); VecNbOfAtomsPerVolume[i] = Avogadro*fDensity*fMassFractionVector[i]/Ai; @@ -382,9 +384,9 @@ void G4Material::ComputeDerivedQuantities() ComputeRadiationLength(); ComputeNuclearInterLength(); - if (fIonisation) delete fIonisation; + if (fIonisation) { delete fIonisation; } fIonisation = new G4IonisParamMat(this); - if (fSandiaTable) delete fSandiaTable; + if (fSandiaTable) { delete fSandiaTable; } fSandiaTable = new G4SandiaTable(this); } @@ -393,9 +395,9 @@ void G4Material::ComputeDerivedQuantities() void G4Material::ComputeRadiationLength() { G4double radinv = 0.0 ; - for (size_t i=0;iGetfRadTsai()); - } + } fRadlen = (radinv <= 0.0 ? DBL_MAX : 1./radinv); } @@ -405,10 +407,11 @@ void G4Material::ComputeNuclearInterLength() { const G4double lambda0 = 35*g/cm2; G4double NILinv = 0.0; - for (size_t i=0;iGetN()),0.6666667); - } + G4Pow* g4pow = G4Pow::GetInstance(); + for (size_t i=0; iZ23(G4int((*theElementVector)[i]->GetN()+0.5)); + } NILinv *= amu/lambda0; fNuclInterLen = (NILinv <= 0.0 ? DBL_MAX : 1./NILinv); } @@ -426,6 +429,18 @@ void G4Material::InitializePointers() fIonisation = 0; fSandiaTable = 0; + // initilized data members + fDensity = 0.0; + fState = kStateUndefined; + fTemp = 0.0; + fPressure = 0.0; + maxNbComponents = 0; + fArrayLength = 0; + TotNbOfAtomsPerVolume = 0; + TotNbOfElectPerVolume = 0; + fRadlen = 0.0; + fNuclInterLen = 0.0; + // Store in the static Table of Materials theMaterialTable.push_back(this); fIndexInTable = theMaterialTable.size() - 1; @@ -452,15 +467,15 @@ G4Material* G4Material::GetMaterial(G4String materialName, G4bool warning) // search the material by its name for (size_t J=0 ; JGetName() == materialName) - return theMaterialTable[J]; + if (theMaterialTable[J]->GetName() == materialName) + { return theMaterialTable[J]; } } // the material does not exist in the table if (warning) { - G4cout << "\n---> warning from G4Material::GetMaterial(). The material: " - << materialName << " does not exist in the table. Return NULL pointer." - << G4endl; + G4cout << "\n---> warning from G4Material::GetMaterial(). The material: " + << materialName << " does not exist in the table. Return NULL pointer." + << G4endl; } return 0; } @@ -478,12 +493,12 @@ G4Material::G4Material(const G4Material& right) G4Material::~G4Material() { // G4cout << "### Destruction of material " << fName << " started" <GetIonisation()->GetMeanExcitationEnergy(),"Energy"); - if(material->fState == kStateGas) + if(material->fState == kStateGas) { flux << " temperature: " << std::setw(6) << std::setprecision(2) << (material->fTemp)/kelvin << " K" << " pressure: " << std::setw(6) << std::setprecision(2) << (material->fPressure)/atmosphere << " atm"; - - for (size_t i=0; ifNumberOfElements; i++) + } + for (size_t i=0; ifNumberOfElements; i++) { flux << "\n ---> " << (*(material->theElementVector))[i] << " ElmMassFraction: " << std::setw(6)<< std::setprecision(2) @@ -592,7 +607,7 @@ std::ostream& operator<<(std::ostream& flux, G4Material* material) << " ElmAbundance " << std::setw(6)<< std::setprecision(2) << 100*(material->VecNbOfAtomsPerVolume[i])/(material->TotNbOfAtomsPerVolume) << " %"; - + } flux.precision(prec); flux.setf(mode,std::ios::floatfield); @@ -601,7 +616,7 @@ std::ostream& operator<<(std::ostream& flux, G4Material* material) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - std::ostream& operator<<(std::ostream& flux, G4Material& material) +std::ostream& operator<<(std::ostream& flux, G4Material& material) { flux << &material; return flux; @@ -611,14 +626,15 @@ std::ostream& operator<<(std::ostream& flux, G4Material* material) std::ostream& operator<<(std::ostream& flux, G4MaterialTable MaterialTable) { - //Dump info for all known materials - flux << "\n***** Table : Nb of materials = " << MaterialTable.size() - << " *****\n" << G4endl; + //Dump info for all known materials + flux << "\n***** Table : Nb of materials = " << MaterialTable.size() + << " *****\n" << G4endl; - for (size_t i=0; i::iterator i; - for (i = MPV.begin(); i != MPV.end(); i++) - { - if (**i == *newElement) { success = *i; break; } - } - // success = MPV.remove(newElement); + for (i = MPV.begin(); i != MPV.end(); ++i) + { + if((*i)->GetPhotonEnergy() == aPhotonEnergy) { success = *i; break; } + } if(success == 0) - { - G4Exception("G4MaterialPropertyVector::RemoveElement()", "NotFound", - FatalException, "Element not found !"); - return; - } + { + G4Exception("G4MaterialPropertyVector::RemoveElement()", "NotFound", + FatalException, "Element not found !"); + return; + } else - { - MPV.erase(i); // remove done here. - } + { + MPV.erase(i); // remove done here. + } NumEntries--; } G4double G4MaterialPropertyVector::GetProperty(G4double aPhotonEnergy) const { - G4MPVEntry *target, *temp; G4int left, right; G4double ratio1, ratio2, pmright, pmleft, InterpolatedValue; @@ -174,6 +169,8 @@ G4double G4MaterialPropertyVector::GetProperty(G4double aPhotonEnergy) const { G4Exception("G4MaterialPropertyVector::GetProperty()", "OutOfRange", JustWarning, "Attempt to retrieve property below range !"); + G4cout << " aPhotonEnergy = " << aPhotonEnergy/MeV + << " [MeV] PMmin = " << PMmin << " [MeV]" << G4endl; return minProp; } @@ -181,45 +178,23 @@ G4double G4MaterialPropertyVector::GetProperty(G4double aPhotonEnergy) const { G4Exception("G4MaterialPropertyVector::GetProperty()", "OutOfRange", JustWarning, "Attempt to retrieve property above range !"); + G4cout << " aPhotonEnergy = " << aPhotonEnergy/MeV + << " [MeV] PMmax = " << PMmax << " [MeV]" << G4endl; return maxProp; } - - target = new G4MPVEntry(aPhotonEnergy, 0.0); - temp = 0; - //temp = MPV.find(target); - std::vector::const_iterator i; - for (i = MPV.begin(); i != MPV.end(); i++) - { - if (**i == *target) { temp = *i; break; } - } - if (temp != 0) - { - //////////////////////// - // Return actual value - //////////////////////// + ////////////////////////////// + // Return interpolated value + ////////////////////////////// - G4double retval = temp->GetProperty(); - delete target; - return retval; - } - else - { - ////////////////////////////// - // Return interpolated value - ////////////////////////////// - - GetAdjacentBins(aPhotonEnergy, &left, &right); - - pmleft = MPV[left]->GetPhotonEnergy(); - pmright = MPV[right]->GetPhotonEnergy(); - ratio1 = (aPhotonEnergy-pmleft)/(pmright-pmleft); - ratio2 = 1 - ratio1; - InterpolatedValue = MPV[left]->GetProperty()*ratio2 + - MPV[right]->GetProperty()*ratio1; - delete target; - return InterpolatedValue; - } + GetAdjacentBins(aPhotonEnergy, &left, &right); + pmleft = MPV[left]->GetPhotonEnergy(); + pmright = MPV[right]->GetPhotonEnergy(); + ratio1 = (aPhotonEnergy-pmleft)/(pmright-pmleft); + ratio2 = 1 - ratio1; + InterpolatedValue = MPV[left]->GetProperty()*ratio2 + + MPV[right]->GetProperty()*ratio1; + return InterpolatedValue; } G4double G4MaterialPropertyVector::GetPhotonEnergy(G4double aProperty) const @@ -339,7 +314,7 @@ void G4MaterialPropertyVector::GetAdjacentBins(G4double aPhotonEnergy, do { mid = (*left + *right)/2; - if (MPV[mid]->GetPhotonEnergy() < aPhotonEnergy) + if (MPV[mid]->GetPhotonEnergy() <= aPhotonEnergy) { *left = mid; } diff --git a/source/materials/src/G4MaterialStoppingICRU73.cc b/source/materials/src/G4MaterialStoppingICRU73.cc deleted file mode 100644 index 190799bd32..0000000000 --- a/source/materials/src/G4MaterialStoppingICRU73.cc +++ /dev/null @@ -1,2319 +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: G4MaterialStoppingICRU73.cc,v 1.10 2009/11/09 16:51:07 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ - -//--------------------------------------------------------------------------- -// -// GEANT4 Class file -// -// Description: Data on stopping power -// -// Author: A.Ivantchenko 07.08.2008 -// -// in the framework of the ESA Technology Research Programme -// (ESA contract 21435/08/NL/AT) -// -// Modifications: -// 29.04.2009 A.Ivantchenko added revised data for G4WATER, G4WATER_VAPOR, -// G4_NYLON-6/6 provided by Prof.P.Sigmund Univ. Southern Denmark -// 01.11.2009 A. Lechner: Extended energy range of G4_WATER tables up to -// 1 GeV/u -// 03.11.2009 A. Lechner: Changed material name from G4_NYLON-6/6 to -// G4_NYLON-6-6. Added new methods BuildPhysicsVector according -// to interface changes in base class G4VIonDEDXTable. -// -//---------------------------------------------------------------------------- -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4MaterialStoppingICRU73.hh" -#include "G4LPhysicsFreeVector.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4MaterialStoppingICRU73::G4MaterialStoppingICRU73(G4bool splineFlag) -{ - spline = splineFlag; - - minIonAtomicNmb = 3; - maxIonAtomicNmb = 18; - - G4String matName[31] = {"G4_A-150_TISSUE","G4_ADIPOSE_TISSUE_ICRP","G4_AIR","G4_ALUMINUM_OXIDE","G4_BONE_COMPACT_ICRU","G4_BONE_CORTICAL_ICRP","G4_C-552","G4_CALCIUM_FLUORIDE","G4_CARBON_DIOXIDE","G4_Pyrex_Glass","G4_KAPTON","G4_LITHIUM_FLUORIDE","G4_LITHIUM_TETRABORATE","G4_METHANE","G4_MUSCLE_STRIATED_ICRU","G4_NYLON-6-6","G4_PHOTO_EMULSION","G4_PLASTIC_SC_VINYLTOLUENE","G4_POLYCARBONATE","G4_POLYETHYLENE","G4_MYLAR","G4_LUCITE","G4_POLYSTYRENE","G4_TEFLON","G4_PROPANE","G4_SILICON_DIOXIDE","G4_SODIUM_IODIDE","G4_TISSUE-METHANE","G4_TISSUE-PROPANE","G4_WATER","G4_WATER_VAPOR"}; - - for( size_t i = 0; i < 31; i++ ) { - namesMat.push_back( matName[i] ); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4MaterialStoppingICRU73::~G4MaterialStoppingICRU73() -{ - size_t nmb = dedx.size(); - - for(size_t i = 0; i < nmb; i++) delete dedx[i]; - - namesMat.clear(); - dedxKeys.clear(); - dedx.clear(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool G4MaterialStoppingICRU73::BuildPhysicsVector(G4int ionZ, - G4int matZ) -{ - return IsApplicable( ionZ, matZ ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4MaterialStoppingICRU73::BuildPhysicsVector(G4int ionZ, - const G4String& matName) -{ - return IsApplicable( ionZ, matName ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4MaterialStoppingICRU73::IsApplicable(G4int, G4int) -{ - return false; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4MaterialStoppingICRU73::IsApplicable(G4int ionZ, - const G4String& matName) -{ - G4bool isApplicable = false; - - if( ionZ >= minIonAtomicNmb && ionZ <= maxIonAtomicNmb ) { - - size_t nmbMat = namesMat.size(); - - for( size_t i = 0; i < nmbMat; i++ ) { - - if( namesMat[i] == matName ) { isApplicable = true; break; } - } - } - - return isApplicable; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4PhysicsVector* G4MaterialStoppingICRU73::CreatePhysicsVector( - G4double* energy, - G4double* stoppower, - G4double factor) -{ - G4LPhysicsFreeVector* pv = new G4LPhysicsFreeVector(31,energy[0],energy[30]); - pv->SetSpline(spline); - - for( G4int i = 0; i < 31; i++ ) { - pv->PutValues(i,energy[i],stoppower[i]*factor); - } - - return pv; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4PhysicsVector* G4MaterialStoppingICRU73::CreatePhysicsVectorFullRange( - G4double* energy, - G4double* stoppower, - G4double factor) -{ - G4LPhysicsFreeVector* pv = new G4LPhysicsFreeVector(53,energy[0],energy[52]); - pv->SetSpline(spline); - - for( G4int i = 0; i < 53; i++ ) { - pv->PutValues(i,energy[i],stoppower[i]*factor); - } - - return pv; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MaterialStoppingICRU73::GetDEDX(G4double, G4int, G4int) { - - G4double dedxValue = -1.0; - - return dedxValue; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MaterialStoppingICRU73::GetDEDX(G4double kinEnergyPerNucleon, - G4int ionZ, - const G4String& matName) -{ - G4double dedxValue = -1.0; - - G4PhysicsVector* physicsVector = GetPhysicsVector(ionZ, matName); - - if(physicsVector != 0) { - - size_t nmbBins = physicsVector -> GetVectorLength(); - G4double lowerEnergyEdge = physicsVector -> GetLowEdgeEnergy(0); - G4double upperEnergyEdge = physicsVector -> GetLowEdgeEnergy(nmbBins-1); - - if(kinEnergyPerNucleon <= upperEnergyEdge) { - G4bool b; - - if(kinEnergyPerNucleon < lowerEnergyEdge) { - dedxValue = physicsVector -> GetValue(lowerEnergyEdge, b) * - std::sqrt(kinEnergyPerNucleon / lowerEnergyEdge); - } - else { - dedxValue = physicsVector -> GetValue(kinEnergyPerNucleon, b); - } - } - } - - return dedxValue; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4PhysicsVector* G4MaterialStoppingICRU73::GetPhysicsVector( - G4int ionZ, - const G4String& matName) -{ - G4PhysicsVector* physicsVector = 0; - - DEDXKey key = std::make_pair(ionZ, matName); - - // Checking if dE/dx vector was already created - size_t nmbKeys = dedxKeys.size(); - for( size_t i = 0; i < nmbKeys; i++ ) { - - if( dedxKeys[i] == key ) { physicsVector = dedx[i]; break; } - } - if(physicsVector != 0) { return physicsVector; } - - // Creating dE/dx vector if ion-material pair covered - G4double factor = MeV * cm2 / (0.001 * g); - - G4double E[53] = {.025,.03,.04,.05,.06,.07,0.08,0.09,0.1,0.15,0.2,0.25,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.5,2,2.5,3,4,5,6,7,8,9,10,15,20,25,30,40,50,60,70,80,90,100,150,200,250,300,400,500,600,700,800,900,1000}; - - for( G4int i = 0; i < 53; i++ ) E[i] *= MeV; - - if( matName == namesMat[0] ) { - if( ionZ == 3 ) { - G4double A_3[31]={2.748,2.992,3.386,3.674,3.877,4.016,4.108,4.166,4.2,4.186,4.059,3.906,3.751,3.458,3.2,2.974,2.777,2.603,2.449,2.313,1.807,1.485,1.263,1.1,0.8801,0.7372,0.6368,0.5623,0.5046,0.4586,0.4209}; - physicsVector = CreatePhysicsVector(E,A_3,factor); - } - else if( ionZ == 4 ) { - G4double A_4[31]={3.391,3.718,4.275,4.722,5.07,5.333,5.527,5.668,5.769,5.944,5.889,5.762,5.61,5.291,4.986,4.706,4.45,4.219,4.008,3.817,3.075,2.571,2.21,1.938,1.56,1.31,1.132,1,0.8972,0.8151,0.748}; - physicsVector = CreatePhysicsVector(E,A_4,factor); - } - else if( ionZ == 5 ) { - G4double A_5[31]={3.899,4.3,5.003,5.593,6.081,6.474,6.784,7.025,7.21,7.643,7.704,7.633,7.509,7.202,6.881,6.57,6.277,6.004,5.75,5.515,4.562,3.881,3.373,2.982,2.423,2.043,1.769,1.564,1.403,1.275,1.169}; - physicsVector = CreatePhysicsVector(E,A_5,factor); - } - else if( ionZ == 6 ) { - G4double A_6[31]={4.3,4.767,5.598,6.316,6.933,7.453,7.883,8.233,8.514,9.262,9.476,9.487,9.409,9.143,8.827,8.504,8.189,7.888,7.603,7.333,6.205,5.361,4.712,4.2,3.448,2.925,2.542,2.251,2.022,1.837,1.686}; - physicsVector = CreatePhysicsVector(E,A_6,factor); - } - else if( ionZ == 7 ) { - G4double A_7[31]={4.67,5.188,6.12,6.941,7.664,8.295,8.836,9.293,9.673,10.77,11.17,11.29,11.28,11.08,10.79,10.48,10.15,9.843,9.537,9.243,7.973,6.983,6.2,5.569,4.621,3.946,3.444,3.057,2.751,2.502,2.297}; - physicsVector = CreatePhysicsVector(E,A_7,factor); - } - else if( ionZ == 8 ) { - G4double A_8[31]={4.999,5.564,6.589,7.5,8.319,9.049,9.693,10.25,10.73,12.2,12.82,13.07,13.14,13.04,12.79,12.5,12.18,11.86,11.54,11.23,9.852,8.734,7.828,7.082,5.938,5.105,4.475,3.984,3.591,3.271,3.005}; - physicsVector = CreatePhysicsVector(E,A_8,factor); - } - else if( ionZ == 9 ) { - G4double A_9[31]={5.251,5.856,6.959,7.948,8.846,9.66,10.39,11.04,11.61,13.46,14.31,14.69,14.85,14.85,14.65,14.38,14.07,13.75,13.43,13.11,11.65,10.44,9.434,8.594,7.282,6.309,5.562,4.973,4.497,4.106,3.779}; - physicsVector = CreatePhysicsVector(E,A_9,factor); - } - else if( ionZ == 10 ) { - G4double A_10[31]={5.481,6.119,7.29,8.347,9.312,10.19,11,11.74,12.39,14.62,15.71,16.25,16.5,16.61,16.48,16.24,15.95,15.64,15.32,15,13.47,12.17,11.08,10.15,8.689,7.581,6.721,6.034,5.475,5.012,4.623}; - physicsVector = CreatePhysicsVector(E,A_10,factor); - } - else if( ionZ == 11 ) { - G4double A_11[31]={5.684,6.355,7.597,8.728,9.768,10.73,11.62,12.44,13.19,15.86,17.28,18.04,18.46,18.78,18.78,18.63,18.41,18.13,17.84,17.54,16.01,14.62,13.42,12.38,10.69,9.381,8.343,7.504,6.815,6.239,5.753}; - physicsVector = CreatePhysicsVector(E,A_11,factor); - } - else if( ionZ == 12 ) { - G4double A_12[31]={5.906,6.584,7.845,9.005,10.07,11.07,12,12.87,13.66,16.63,18.27,19.18,19.69,20.11,20.15,20.01,19.79,19.51,19.21,18.9,17.31,15.88,14.63,13.55,11.78,10.41,9.323,8.435,7.7,7.083,6.558}; - physicsVector = CreatePhysicsVector(E,A_12,factor); - } - else if( ionZ == 13 ) { - G4double A_13[31]={6.121,6.817,8.116,9.314,10.42,11.46,12.44,13.35,14.2,17.49,19.41,20.51,21.16,21.76,21.9,21.84,21.65,21.41,21.12,20.82,19.23,17.75,16.44,15.29,13.4,11.91,10.71,9.726,8.906,8.212,7.619}; - physicsVector = CreatePhysicsVector(E,A_13,factor); - } - else if( ionZ == 14 ) { - G4double A_14[31]={6.335,7.047,8.378,9.61,10.75,11.83,12.84,13.8,14.69,18.27,20.45,21.74,22.53,23.31,23.57,23.57,23.44,23.23,22.96,22.67,21.09,19.58,18.22,17.01,15,13.4,12.1,11.03,10.13,9.368,8.711}; - physicsVector = CreatePhysicsVector(E,A_14,factor); - } - else if( ionZ == 15 ) { - G4double A_15[31]={6.589,7.318,8.682,9.948,11.13,12.24,13.28,14.27,15.21,19.05,21.5,23,23.94,24.93,25.31,25.41,25.34,25.17,24.94,24.68,23.14,21.6,20.19,18.93,16.8,15.08,13.67,12.5,11.5,10.66,9.93}; - physicsVector = CreatePhysicsVector(E,A_15,factor); - } - else if( ionZ == 16 ) { - G4double A_16[31]={6.793,7.544,8.947,10.25,11.47,12.61,13.69,14.72,15.7,19.79,22.5,24.22,25.31,26.52,27.05,27.24,27.24,27.12,26.93,26.69,25.22,23.67,22.23,20.92,18.67,16.84,15.32,14.04,12.96,12.03,11.22}; - physicsVector = CreatePhysicsVector(E,A_16,factor); - } - else if( ionZ == 17 ) { - G4double A_17[31]={7.055,7.821,9.248,10.57,11.82,12.99,14.1,15.15,16.16,20.46,23.42,25.34,26.59,28.01,28.67,28.95,29.02,28.95,28.8,28.59,27.18,25.63,24.15,22.8,20.46,18.53,16.92,15.55,14.39,13.38,12.51}; - physicsVector = CreatePhysicsVector(E,A_17,factor); - } - else if( ionZ == 18 ) { - G4double A_18[31]={7.196,7.978,9.43,10.77,12.04,13.24,14.37,15.44,16.47,20.95,24.14,26.26,27.67,29.29,30.09,30.46,30.59,30.57,30.45,30.27,28.91,27.36,25.87,24.48,22.07,20.06,18.38,16.94,15.72,14.65,13.72}; - physicsVector = CreatePhysicsVector(E,A_18,factor); - } - } - - else if( matName == namesMat[1] ) { - if( ionZ == 3 ) { - G4double AA_3[31]={2.852,3.097,3.49,3.778,3.983,4.125,4.221,4.283,4.321,4.313,4.182,4.022,3.859,3.553,3.284,3.05,2.845,2.665,2.507,2.366,1.846,1.516,1.289,1.123,0.898,0.7521,0.6496,0.5735,0.5147,0.4677,0.4292}; - physicsVector = CreatePhysicsVector(E,AA_3,factor); - } - else if( ionZ == 4 ) { - G4double AA_4[31]={3.53,3.861,4.421,4.867,5.214,5.479,5.677,5.823,5.929,6.119,6.064,5.93,5.769,5.434,5.115,4.822,4.557,4.317,4.1,3.902,3.139,2.623,2.254,1.977,1.591,1.336,1.155,1.019,0.915,0.8313,0.7627}; - physicsVector = CreatePhysicsVector(E,AA_4,factor); - } - else if( ionZ == 5 ) { - G4double AA_5[31]={4.062,4.473,5.185,5.776,6.262,6.655,6.968,7.213,7.405,7.862,7.928,7.854,7.721,7.396,7.057,6.731,6.426,6.142,5.879,5.635,4.655,3.957,3.438,3.04,2.469,2.082,1.804,1.594,1.431,1.3,1.192}; - physicsVector = CreatePhysicsVector(E,AA_5,factor); - } - else if( ionZ == 6 ) { - G4double AA_6[31]={4.476,4.958,5.807,6.532,7.149,7.668,8.099,8.452,8.739,9.519,9.746,9.757,9.672,9.386,9.051,8.71,8.381,8.067,7.77,7.491,6.329,5.464,4.801,4.279,3.512,2.98,2.59,2.294,2.061,1.873,1.718}; - physicsVector = CreatePhysicsVector(E,AA_6,factor); - } - else if( ionZ == 7 ) { - G4double AA_7[31]={4.857,5.394,6.352,7.185,7.913,8.544,9.085,9.543,9.927,11.06,11.48,11.61,11.59,11.38,11.07,10.73,10.39,10.06,9.744,9.439,8.128,7.114,6.314,5.672,4.706,4.019,3.508,3.115,2.803,2.55,2.341}; - physicsVector = CreatePhysicsVector(E,AA_7,factor); - } - else if( ionZ == 8 ) { - G4double AA_8[31]={5.192,5.778,6.836,7.768,8.596,9.33,9.974,10.53,11.01,12.52,13.17,13.43,13.5,13.38,13.11,12.79,12.46,12.12,11.79,11.47,10.04,8.895,7.969,7.209,6.044,5.197,4.557,4.057,3.658,3.332,3.062}; - physicsVector = CreatePhysicsVector(E,AA_8,factor); - } - else if( ionZ == 9 ) { - G4double AA_9[31]={5.447,6.073,7.214,8.232,9.145,9.967,10.7,11.35,11.92,13.81,14.69,15.09,15.25,15.24,15.02,14.73,14.4,14.06,13.73,13.39,11.88,10.63,9.606,8.75,7.413,6.423,5.664,5.064,4.581,4.183,3.85}; - physicsVector = CreatePhysicsVector(E,AA_9,factor); - } - else if( ionZ == 10 ) { - G4double AA_10[31]={5.677,6.338,7.55,8.641,9.63,10.52,11.34,12.07,12.73,14.99,16.12,16.68,16.95,17.05,16.9,16.64,16.33,16,15.66,15.32,13.74,12.4,11.28,10.34,8.848,7.721,6.845,6.146,5.578,5.107,4.711}; - physicsVector = CreatePhysicsVector(E,AA_10,factor); - } - else if( ionZ == 11 ) { - G4double AA_11[31]={5.885,6.579,7.866,9.036,10.1,11.08,11.99,12.81,13.56,16.27,17.73,18.53,18.96,19.28,19.27,19.1,18.85,18.55,18.24,17.92,16.33,14.9,13.67,12.6,10.87,9.542,8.487,7.634,6.934,6.349,5.854}; - physicsVector = CreatePhysicsVector(E,AA_11,factor); - } - else if( ionZ == 12 ) { - G4double AA_12[31]={6.112,6.813,8.118,9.318,10.42,11.44,12.39,13.26,14.06,17.05,18.74,19.68,20.21,20.64,20.67,20.51,20.27,19.97,19.65,19.31,17.66,16.18,14.9,13.8,12,10.6,9.493,8.59,7.842,7.215,6.681}; - physicsVector = CreatePhysicsVector(E,AA_12,factor); - } - else if( ionZ == 13 ) { - G4double AA_13[31]={6.332,7.05,8.393,9.633,10.78,11.85,12.84,13.77,14.63,17.94,19.9,21.05,21.72,22.33,22.47,22.38,22.18,21.91,21.61,21.29,19.63,18.1,16.75,15.58,13.64,12.12,10.9,9.904,9.069,8.364,7.761}; - physicsVector = CreatePhysicsVector(E,AA_13,factor); - } - else if( ionZ == 14 ) { - G4double AA_14[31]={6.551,7.286,8.66,9.935,11.12,12.23,13.26,14.23,15.14,18.74,20.97,22.31,23.13,23.93,24.18,24.17,24.02,23.78,23.5,23.19,21.53,19.96,18.57,17.33,15.28,13.65,12.33,11.23,10.32,9.542,8.873}; - physicsVector = CreatePhysicsVector(E,AA_14,factor); - } - else if( ionZ == 15 ) { - G4double AA_15[31]={6.812,7.564,8.97,10.27,11.5,12.64,13.72,14.73,15.68,19.54,22.04,23.59,24.57,25.59,25.97,26.05,25.96,25.77,25.52,25.23,23.62,22.02,20.58,19.29,17.11,15.35,13.92,12.72,11.71,10.85,10.11}; - physicsVector = CreatePhysicsVector(E,AA_15,factor); - } - else if( ionZ == 16 ) { - G4double AA_16[31]={7.022,7.795,9.24,10.58,11.84,13.02,14.14,15.19,16.19,20.31,23.06,24.83,25.98,27.22,27.75,27.92,27.9,27.77,27.55,27.3,25.73,24.13,22.64,21.3,19.01,17.14,15.59,14.29,13.19,12.25,11.43}; - physicsVector = CreatePhysicsVector(E,AA_16,factor); - } - else if( ionZ == 17 ) { - G4double AA_17[31]={7.291,8.078,9.546,10.91,12.2,13.41,14.55,15.64,16.67,21,24,25.98,27.28,28.74,29.41,29.68,29.73,29.64,29.47,29.24,27.74,26.13,24.61,23.22,20.83,18.86,17.22,15.83,14.65,13.62,12.73}; - physicsVector = CreatePhysicsVector(E,AA_17,factor); - } - else if( ionZ == 18 ) { - G4double AA_18[31]={7.435,8.239,9.732,11.11,12.42,13.66,14.83,15.94,16.99,21.52,24.74,26.92,28.38,30.07,30.87,31.24,31.35,31.31,31.17,30.97,29.52,27.91,26.37,24.95,22.48,20.43,18.71,17.25,16,14.92,13.97}; - physicsVector = CreatePhysicsVector(E,AA_18,factor); - } - } - - else if( matName == namesMat[2] ) { - if( ionZ == 3 ) { - G4double B_3[31]={2.062,2.238,2.532,2.764,2.943,3.077,3.176,3.247,3.296,3.354,3.282,3.176,3.061,2.839,2.639,2.461,2.305,2.167,2.044,1.933,1.523,1.257,1.072,0.9372,0.752,0.6313,0.5463,0.4831,0.4341,0.3949,0.3627}; - physicsVector = CreatePhysicsVector(E,B_3,factor); - } - else if( ionZ == 4 ) { - G4double B_4[31]={2.56,2.797,3.205,3.546,3.829,4.06,4.245,4.39,4.502,4.751,4.76,4.686,4.581,4.346,4.113,3.896,3.696,3.513,3.346,3.193,2.592,2.179,1.879,1.653,1.335,1.123,0.9729,0.8601,0.7724,0.7024,0.645}; - physicsVector = CreatePhysicsVector(E,B_4,factor); - } - else if( ionZ == 5 ) { - G4double B_5[31]={2.959,3.253,3.766,4.204,4.582,4.905,5.178,5.404,5.588,6.086,6.216,6.203,6.13,5.915,5.676,5.439,5.212,4.998,4.799,4.612,3.848,3.292,2.872,2.547,2.076,1.755,1.522,1.347,1.21,1.1,1.009}; - physicsVector = CreatePhysicsVector(E,B_5,factor); - } - else if( ionZ == 6 ) { - G4double B_6[31]={3.28,3.628,4.24,4.769,5.234,5.642,5.998,6.305,6.566,7.35,7.635,7.707,7.683,7.514,7.286,7.045,6.805,6.572,6.35,6.138,5.239,4.553,4.019,3.593,2.962,2.518,2.192,1.943,1.746,1.588,1.458}; - physicsVector = CreatePhysicsVector(E,B_6,factor); - } - else if( ionZ == 7 ) { - G4double B_7[31]={3.554,3.946,4.645,5.254,5.796,6.28,6.712,7.094,7.428,8.517,8.989,9.172,9.216,9.119,8.923,8.692,8.451,8.21,7.974,7.746,6.741,5.941,5.298,4.775,3.979,3.407,2.978,2.646,2.382,2.168,1.99}; - physicsVector = CreatePhysicsVector(E,B_7,factor); - } - else if( ionZ == 8 ) { - G4double B_8[31]={3.796,4.228,5.005,5.69,6.302,6.856,7.357,7.808,8.212,9.609,10.28,10.59,10.72,10.72,10.57,10.36,10.13,9.893,9.653,9.415,8.332,7.434,6.695,6.079,5.121,4.415,3.877,3.456,3.117,2.84,2.61}; - physicsVector = CreatePhysicsVector(E,B_8,factor); - } - else if( ionZ == 9 ) { - G4double B_9[31]={4.002,4.467,5.312,6.064,6.739,7.354,7.915,8.427,8.892,10.58,11.47,11.91,12.13,12.23,12.13,11.95,11.73,11.5,11.25,11.01,9.875,8.901,8.082,7.389,6.291,5.466,4.828,4.321,3.91,3.572,3.288}; - physicsVector = CreatePhysicsVector(E,B_9,factor); - } - else if( ionZ == 10 ) { - G4double B_10[31]={4.19,4.683,5.587,6.399,7.133,7.803,8.418,8.986,9.507,11.47,12.58,13.18,13.49,13.71,13.67,13.52,13.32,13.1,12.86,12.61,11.43,10.39,9.506,8.744,7.517,6.578,5.842,5.252,4.768,4.367,4.029}; - physicsVector = CreatePhysicsVector(E,B_10,factor); - } - else if( ionZ == 11 ) { - G4double B_11[31]={4.337,4.854,5.813,6.684,7.477,8.206,8.878,9.502,10.08,12.34,13.71,14.5,14.94,15.33,15.4,15.33,15.18,14.98,14.77,14.54,13.38,12.3,11.34,10.51,9.131,8.049,7.183,6.477,5.894,5.404,4.988}; - physicsVector = CreatePhysicsVector(E,B_11,factor); - } - else if( ionZ == 12 ) { - G4double B_12[31]={4.499,5.029,6.02,6.929,7.763,8.531,9.243,9.905,10.52,13,14.57,15.51,16.07,16.58,16.7,16.66,16.52,16.33,16.11,15.87,14.66,13.53,12.52,11.64,10.18,9.031,8.103,7.343,6.711,6.178,5.723}; - physicsVector = CreatePhysicsVector(E,B_12,factor); - } - else if( ionZ == 13 ) { - G4double B_13[31]={4.647,5.193,6.215,7.16,8.035,8.846,9.599,10.3,10.96,13.65,15.45,16.57,17.25,17.93,18.16,18.17,18.08,17.91,17.71,17.49,16.28,15.12,14.07,13.14,11.57,10.32,9.31,8.47,7.765,7.166,6.653}; - physicsVector = CreatePhysicsVector(E,B_13,factor); - } - else if( ionZ == 14 ) { - G4double B_14[31]={4.794,5.352,6.401,7.378,8.289,9.137,9.928,10.66,11.36,14.25,16.25,17.55,18.37,19.22,19.55,19.64,19.58,19.45,19.27,19.06,17.87,16.68,15.6,14.62,12.96,11.62,10.52,9.613,8.84,8.18,7.611}; - physicsVector = CreatePhysicsVector(E,B_14,factor); - } - else if( ionZ == 15 ) { - G4double B_15[31]={4.946,5.515,6.588,7.595,8.539,9.422,10.24,11.02,11.75,14.83,17.04,18.51,19.48,20.53,20.99,21.16,21.17,21.08,20.93,20.75,19.6,18.41,17.29,16.28,14.53,13.09,11.9,10.9,10.05,9.324,8.69}; - physicsVector = CreatePhysicsVector(E,B_15,factor); - } - else if( ionZ == 16 ) { - G4double B_16[31]={5.082,5.665,6.766,7.802,8.779,9.697,10.55,11.36,12.13,15.38,17.79,19.45,20.56,21.82,22.41,22.67,22.74,22.7,22.59,22.43,21.36,20.17,19.03,17.98,16.15,14.62,13.34,12.26,11.33,10.53,9.839}; - physicsVector = CreatePhysicsVector(E,B_16,factor); - } - else if( ionZ == 17 ) { - G4double B_17[31]={5.242,5.836,6.957,8.015,9.017,9.963,10.85,11.69,12.48,15.89,18.48,20.31,21.57,23.04,23.77,24.11,24.25,24.25,24.18,24.05,23.04,21.86,20.7,19.62,17.71,16.11,14.75,13.6,12.6,11.73,10.98}; - physicsVector = CreatePhysicsVector(E,B_17,factor); - } - else if( ionZ == 18 ) { - G4double B_18[31]={5.351,5.954,7.092,8.167,9.189,10.15,11.07,11.93,12.75,16.29,19.03,21.03,22.44,24.11,24.96,25.39,25.59,25.64,25.59,25.49,24.53,23.35,22.18,21.08,19.11,17.45,16.03,14.81,13.76,12.85,12.04}; - physicsVector = CreatePhysicsVector(E,B_18,factor); - } - } - - else if( matName == namesMat[3] ) { - if( ionZ == 3 ) { - G4double C_3[31]={1.355,1.466,1.653,1.806,1.931,2.032,2.115,2.181,2.234,2.369,2.391,2.366,2.32,2.204,2.082,1.966,1.859,1.76,1.671,1.59,1.276,1.066,0.9168,0.8057,0.6519,0.5505,0.4785,0.4246,0.3826,0.3489,0.3212}; - physicsVector = CreatePhysicsVector(E,C_3,factor); - } - else if( ionZ == 4 ) { - G4double C_4[31]={1.73,1.882,2.144,2.364,2.553,2.714,2.851,2.967,3.065,3.355,3.462,3.485,3.466,3.368,3.24,3.105,2.973,2.847,2.728,2.617,2.166,1.843,1.603,1.419,1.156,0.979,0.8516,0.7556,0.6807,0.6205,0.5712}; - physicsVector = CreatePhysicsVector(E,C_4,factor); - } - else if( ionZ == 5 ) { - G4double C_5[31]={2.04,2.23,2.562,2.845,3.093,3.311,3.503,3.671,3.816,4.292,4.511,4.603,4.627,4.576,4.464,4.328,4.185,4.043,3.905,3.773,3.207,2.777,2.444,2.182,1.796,1.528,1.332,1.183,1.066,0.9714,0.8937}; - physicsVector = CreatePhysicsVector(E,C_5,factor); - } - else if( ionZ == 6 ) { - G4double C_6[31]={2.295,2.523,2.922,3.267,3.572,3.844,4.087,4.306,4.5,5.177,5.527,5.704,5.786,5.803,5.722,5.599,5.458,5.31,5.161,5.015,4.36,3.835,3.415,3.074,2.559,2.191,1.917,1.706,1.538,1.403,1.29}; - physicsVector = CreatePhysicsVector(E,C_6,factor); - } - else if( ionZ == 7 ) { - G4double C_7[31]={2.515,2.773,3.232,3.633,3.99,4.312,4.604,4.869,5.109,5.992,6.491,6.769,6.923,7.029,6.998,6.901,6.771,6.626,6.475,6.322,5.603,4.998,4.497,4.081,3.436,2.963,2.603,2.323,2.098,1.915,1.762}; - physicsVector = CreatePhysicsVector(E,C_7,factor); - } - else if( ionZ == 8 ) { - G4double C_8[31]={2.707,2.993,3.506,3.959,4.366,4.735,5.073,5.383,5.667,6.753,7.409,7.8,8.035,8.247,8.278,8.218,8.11,7.976,7.829,7.675,6.915,6.244,5.673,5.188,4.416,3.836,3.388,3.033,2.745,2.509,2.311}; - physicsVector = CreatePhysicsVector(E,C_8,factor); - } - else if( ionZ == 9 ) { - G4double C_9[31]={2.876,3.185,3.746,4.245,4.696,5.108,5.487,5.838,6.162,7.438,8.249,8.755,9.075,9.399,9.497,9.478,9.395,9.276,9.136,8.985,8.201,7.48,6.852,6.309,5.429,4.753,4.222,3.795,3.447,3.157,2.914}; - physicsVector = CreatePhysicsVector(E,C_9,factor); - } - else if( ionZ == 10 ) { - G4double C_10[31]={3.029,3.359,3.961,4.502,4.994,5.446,5.863,6.251,6.613,8.069,9.037,9.665,10.07,10.52,10.69,10.72,10.67,10.57,10.44,10.3,9.503,8.742,8.065,7.471,6.491,5.724,5.113,4.617,4.207,3.864,3.574}; - physicsVector = CreatePhysicsVector(E,C_10,factor); - } - else if( ionZ == 11 ) { - G4double C_11[31]={3.151,3.498,4.137,4.716,5.247,5.736,6.191,6.615,7.012,8.647,9.778,10.54,11.05,11.63,11.89,11.98,11.97,11.9,11.78,11.65,10.86,10.07,9.354,8.713,7.637,6.781,6.089,5.52,5.046,4.647,4.306}; - physicsVector = CreatePhysicsVector(E,C_11,factor); - } - else if( ionZ == 12 ) { - G4double C_12[31]={3.282,3.642,4.308,4.919,5.482,6.005,6.491,6.947,7.375,9.168,10.45,11.34,11.95,12.68,13.04,13.19,13.22,13.17,13.08,12.96,12.18,11.37,10.62,9.939,8.782,7.848,7.083,6.449,5.916,5.463,5.073}; - physicsVector = CreatePhysicsVector(E,C_12,factor); - } - else if( ionZ == 13 ) { - G4double C_13[31]={3.4,3.772,4.463,5.1,5.691,6.244,6.762,7.248,7.705,9.646,11.08,12.1,12.81,13.7,14.16,14.38,14.46,14.45,14.38,14.28,13.53,12.71,11.93,11.21,9.982,8.972,8.136,7.436,6.844,6.336,5.898}; - physicsVector = CreatePhysicsVector(E,C_13,factor); - } - else if( ionZ == 14 ) { - G4double C_14[31]={3.513,3.896,4.608,5.268,5.884,6.463,7.008,7.521,8.006,10.08,11.65,12.8,13.62,14.66,15.23,15.53,15.66,15.69,15.65,15.57,14.85,14.02,13.22,12.48,11.18,10.1,9.201,8.441,7.792,7.234,6.748}; - physicsVector = CreatePhysicsVector(E,C_14,factor); - } - else if( ionZ == 15 ) { - G4double C_15[31]={3.621,4.013,4.743,5.423,6.063,6.666,7.237,7.776,8.287,10.49,12.2,13.48,14.41,15.63,16.32,16.71,16.91,16.99,16.98,16.93,16.29,15.47,14.65,13.88,12.52,11.37,10.4,9.571,8.86,8.243,7.705}; - physicsVector = CreatePhysicsVector(E,C_15,factor); - } - else if( ionZ == 16 ) { - G4double C_16[31]={3.72,4.122,4.874,5.575,6.238,6.865,7.46,8.024,8.561,10.89,12.73,14.14,15.19,16.58,17.39,17.87,18.15,18.28,18.32,18.29,17.73,16.93,16.11,15.32,13.9,12.69,11.65,10.76,9.984,9.311,8.719}; - physicsVector = CreatePhysicsVector(E,C_16,factor); - } - else if( ionZ == 17 ) { - G4double C_17[31]={3.832,4.242,5.008,5.726,6.406,7.054,7.669,8.255,8.814,11.26,13.22,14.75,15.91,17.47,18.41,18.99,19.33,19.52,19.6,19.61,19.13,18.35,17.52,16.72,15.25,13.98,12.88,11.93,11.1,10.38,9.736}; - physicsVector = CreatePhysicsVector(E,C_17,factor); - } - else if( ionZ == 18 ) { - G4double C_18[31]={3.921,4.338,5.118,5.849,6.544,7.208,7.842,8.448,9.026,11.58,13.65,15.29,16.55,18.29,19.35,20.02,20.43,20.67,20.8,20.84,20.43,19.67,18.84,18.02,16.51,15.18,14.03,13.04,12.16,11.39,10.71}; - physicsVector = CreatePhysicsVector(E,C_18,factor); - } - } - - else if( matName == namesMat[4] ) { - if( ionZ == 3 ) { - G4double D_3[31]={2.204,2.403,2.723,2.962,3.137,3.265,3.355,3.418,3.459,3.491,3.406,3.291,3.171,2.939,2.731,2.548,2.387,2.244,2.117,2.004,1.581,1.307,1.117,0.9771,0.7854,0.6601,0.5718,0.5059,0.4547,0.4138,0.3803}; - physicsVector = CreatePhysicsVector(E,D_3,factor); - } - else if( ionZ == 4 ) { - G4double D_4[31]={2.712,2.981,3.438,3.805,4.096,4.324,4.5,4.636,4.738,4.953,4.942,4.856,4.742,4.494,4.252,4.026,3.82,3.631,3.459,3.301,2.684,2.259,1.951,1.719,1.391,1.172,1.016,0.8994,0.8084,0.7355,0.6757}; - physicsVector = CreatePhysicsVector(E,D_4,factor); - } - else if( ionZ == 5 ) { - G4double D_5[31]={3.108,3.438,4.018,4.502,4.904,5.236,5.506,5.725,5.9,6.355,6.459,6.43,6.345,6.115,5.863,5.616,5.381,5.16,4.954,4.762,3.975,3.404,2.974,2.64,2.158,1.827,1.588,1.406,1.264,1.15,1.057}; - physicsVector = CreatePhysicsVector(E,D_5,factor); - } - else if( ionZ == 6 ) { - G4double D_6[31]={3.419,3.802,4.489,5.081,5.589,6.02,6.385,6.691,6.946,7.683,7.935,7.988,7.949,7.761,7.52,7.267,7.017,6.776,6.546,6.328,5.402,4.698,4.151,3.715,3.069,2.615,2.28,2.024,1.822,1.658,1.524}; - physicsVector = CreatePhysicsVector(E,D_6,factor); - } - else if( ionZ == 7 ) { - G4double D_7[31]={3.699,4.122,4.892,5.573,6.171,6.693,7.146,7.536,7.87,8.913,9.345,9.503,9.529,9.41,9.198,8.955,8.703,8.452,8.208,7.972,6.937,6.116,5.46,4.925,4.113,3.528,3.09,2.75,2.479,2.259,2.077}; - physicsVector = CreatePhysicsVector(E,D_7,factor); - } - else if( ionZ == 8 ) { - G4double D_8[31]={3.948,4.407,5.25,6.009,6.688,7.293,7.829,8.3,8.711,10.07,10.7,10.99,11.09,11.06,10.9,10.67,10.43,10.18,9.928,9.682,8.563,7.642,6.886,6.257,5.281,4.562,4.014,3.583,3.237,2.954,2.718}; - physicsVector = CreatePhysicsVector(E,D_8,factor); - } - else if( ionZ == 9 ) { - G4double D_9[31]={4.148,4.637,5.539,6.363,7.111,7.788,8.396,8.94,9.423,11.09,11.94,12.35,12.54,12.61,12.5,12.3,12.07,11.82,11.57,11.32,10.15,9.147,8.308,7.602,6.483,5.644,4.994,4.477,4.058,3.711,3.421}; - physicsVector = CreatePhysicsVector(E,D_9,factor); - } - else if( ionZ == 10 ) { - G4double D_10[31]={4.332,4.847,5.801,6.677,7.485,8.224,8.897,9.508,10.06,12.03,13.09,13.65,13.94,14.13,14.07,13.91,13.7,13.46,13.22,12.96,11.75,10.68,9.773,8.995,7.745,6.79,6.041,5.439,4.946,4.535,4.189}; - physicsVector = CreatePhysicsVector(E,D_10,factor); - } - else if( ionZ == 11 ) { - G4double D_11[31]={4.494,5.033,6.04,6.97,7.838,8.642,9.383,10.06,10.69,13,14.34,15.1,15.53,15.9,15.95,15.87,15.71,15.5,15.28,15.04,13.83,12.71,11.72,10.86,9.432,8.319,7.429,6.705,6.106,5.604,5.177}; - physicsVector = CreatePhysicsVector(E,D_11,factor); - } - else if( ionZ == 12 ) { - G4double D_12[31]={4.672,5.218,6.244,7.198,8.094,8.932,9.712,10.43,11.1,13.66,15.2,16.1,16.62,17.1,17.21,17.15,17,16.8,16.58,16.34,15.09,13.92,12.89,11.99,10.5,9.319,8.373,7.597,6.952,6.407,5.942}; - physicsVector = CreatePhysicsVector(E,D_12,factor); - } - else if( ionZ == 13 ) { - G4double D_13[31]={4.842,5.403,6.458,7.44,8.367,9.243,10.06,10.83,11.55,14.36,16.13,17.2,17.86,18.51,18.72,18.72,18.62,18.44,18.24,18.01,16.76,15.57,14.49,13.53,11.93,10.66,9.617,8.759,8.039,7.428,6.903}; - physicsVector = CreatePhysicsVector(E,D_13,factor); - } - else if( ionZ == 14 ) { - G4double D_14[31]={5.012,5.585,6.664,7.673,8.626,9.531,10.39,11.19,11.95,14.99,16.98,18.23,19.02,19.84,20.16,20.23,20.17,20.03,19.84,19.63,18.4,17.18,16.06,15.06,13.37,12,10.88,9.941,9.152,8.477,7.895}; - physicsVector = CreatePhysicsVector(E,D_14,factor); - } - else if( ionZ == 15 ) { - G4double D_15[31]={5.2,5.786,6.889,7.923,8.9,9.832,10.72,11.56,12.35,15.61,17.82,19.26,20.19,21.2,21.64,21.8,21.79,21.7,21.54,21.35,20.17,18.94,17.8,16.75,14.96,13.5,12.28,11.26,10.39,9.648,9.002}; - physicsVector = CreatePhysicsVector(E,D_15,factor); - } - else if( ionZ == 16 ) { - G4double D_16[31]={5.36,5.962,7.094,8.155,9.159,10.12,11.03,11.91,12.73,16.2,18.62,20.24,21.32,22.54,23.11,23.36,23.42,23.37,23.25,23.09,21.97,20.74,19.57,18.49,16.61,15.06,13.75,12.65,11.7,10.89,10.18}; - physicsVector = CreatePhysicsVector(E,D_16,factor); - } - else if( ionZ == 17 ) { - G4double D_17[31]={5.554,6.169,7.319,8.4,9.423,10.4,11.34,12.24,13.09,16.74,19.36,21.16,22.38,23.8,24.5,24.83,24.96,24.96,24.88,24.74,23.69,22.47,21.28,20.17,18.22,16.58,15.19,14.02,13,12.12,11.35}; - physicsVector = CreatePhysicsVector(E,D_17,factor); - } - else if( ionZ == 18 ) { - G4double D_18[31]={5.672,6.299,7.469,8.566,9.605,10.6,11.55,12.47,13.35,17.15,19.95,21.92,23.28,24.91,25.73,26.16,26.34,26.39,26.34,26.22,25.23,24.02,22.82,21.68,19.67,17.97,16.52,15.28,14.21,13.28,12.46}; - physicsVector = CreatePhysicsVector(E,D_18,factor); - } - } - - else if( matName == namesMat[5] ) { - if( ionZ == 3 ) { - G4double E_3[31]={2.041,2.227,2.528,2.754,2.923,3.048,3.138,3.201,3.244,3.289,3.217,3.113,3.003,2.789,2.596,2.425,2.275,2.141,2.021,1.915,1.515,1.256,1.074,0.9407,0.7572,0.6371,0.5522,0.4889,0.4397,0.4003,0.3679}; - physicsVector = CreatePhysicsVector(E,E_3,factor); - } - else if( ionZ == 4 ) { - G4double E_4[31]={2.507,2.76,3.189,3.535,3.811,4.031,4.203,4.337,4.44,4.665,4.667,4.593,4.491,4.264,4.041,3.831,3.639,3.463,3.301,3.153,2.572,2.169,1.876,1.654,1.341,1.132,0.9817,0.8693,0.7817,0.7114,0.6538}; - physicsVector = CreatePhysicsVector(E,E_4,factor); - } - else if( ionZ == 5 ) { - G4double E_5[31]={2.869,3.179,3.723,4.178,4.559,4.875,5.135,5.349,5.521,5.982,6.098,6.081,6.009,5.801,5.571,5.343,5.125,4.92,4.727,4.547,3.808,3.268,2.859,2.541,2.08,1.764,1.534,1.359,1.223,1.113,1.023}; - physicsVector = CreatePhysicsVector(E,E_5,factor); - } - else if( ionZ == 6 ) { - G4double E_6[31]={3.155,3.512,4.157,4.714,5.192,5.601,5.95,6.245,6.492,7.226,7.489,7.554,7.528,7.364,7.145,6.914,6.683,6.46,6.246,6.042,5.174,4.51,3.991,3.576,2.959,2.524,2.203,1.957,1.762,1.605,1.475}; - physicsVector = CreatePhysicsVector(E,E_6,factor); - } - else if( ionZ == 7 ) { - G4double E_7[31]={3.408,3.802,4.524,5.165,5.729,6.222,6.653,7.026,7.348,8.376,8.816,8.984,9.023,8.928,8.74,8.519,8.288,8.057,7.831,7.612,6.644,5.871,5.249,4.741,3.966,3.407,2.986,2.659,2.399,2.186,2.011}; - physicsVector = CreatePhysicsVector(E,E_7,factor); - } - else if( ionZ == 8 ) { - G4double E_8[31]={3.634,4.062,4.85,5.564,6.204,6.775,7.283,7.731,8.126,9.455,10.09,10.38,10.5,10.5,10.35,10.15,9.932,9.702,9.471,9.243,8.2,7.334,6.619,6.023,5.092,4.405,3.879,3.465,3.133,2.859,2.632}; - physicsVector = CreatePhysicsVector(E,E_8,factor); - } - else if( ionZ == 9 ) { - G4double E_9[31]={3.82,4.275,5.117,5.891,6.596,7.235,7.81,8.326,8.787,10.41,11.25,11.67,11.88,11.97,11.88,11.71,11.5,11.27,11.04,10.81,9.719,8.781,7.99,7.319,6.254,5.451,4.828,4.331,3.928,3.594,3.314}; - physicsVector = CreatePhysicsVector(E,E_9,factor); - } - else if( ionZ == 10 ) { - G4double E_10[31]={3.991,4.47,5.359,6.182,6.943,7.64,8.277,8.855,9.378,11.29,12.34,12.91,13.21,13.41,13.38,13.24,13.06,12.84,12.62,12.38,11.26,10.26,9.4,8.663,7.473,6.56,5.842,5.263,4.789,4.393,4.059}; - physicsVector = CreatePhysicsVector(E,E_10,factor); - } - else if( ionZ == 11 ) { - G4double E_11[31]={4.141,4.641,5.578,6.448,7.264,8.022,8.721,9.364,9.953,12.18,13.49,14.24,14.68,15.06,15.14,15.07,14.93,14.75,14.55,14.33,13.21,12.17,11.24,10.42,9.075,8.016,7.167,6.475,5.901,5.419,5.009}; - physicsVector = CreatePhysicsVector(E,E_11,factor); - } - else if( ionZ == 12 ) { - G4double E_12[31]={4.304,4.812,5.769,6.662,7.505,8.297,9.034,9.718,10.35,12.8,14.31,15.21,15.74,16.24,16.37,16.33,16.2,16.03,15.83,15.61,14.45,13.37,12.4,11.54,10.13,9.002,8.096,7.352,6.731,6.207,5.758}; - physicsVector = CreatePhysicsVector(E,E_12,factor); - } - else if( ionZ == 13 ) { - G4double E_13[31]={4.461,4.982,5.965,6.884,7.756,8.583,9.36,10.09,10.76,13.45,15.18,16.25,16.91,17.57,17.8,17.83,17.74,17.59,17.41,17.2,16.06,14.94,13.93,13.03,11.51,10.29,9.299,8.476,7.784,7.196,6.69}; - physicsVector = CreatePhysicsVector(E,E_13,factor); - } - else if( ionZ == 14 ) { - G4double E_14[31]={4.617,5.149,6.155,7.098,7.993,8.848,9.658,10.42,11.14,14.04,15.98,17.22,18.01,18.84,19.17,19.26,19.23,19.11,18.94,18.75,17.63,16.49,15.45,14.5,12.89,11.59,10.52,9.621,8.862,8.214,7.653}; - physicsVector = CreatePhysicsVector(E,E_14,factor); - } - else if( ionZ == 15 ) { - G4double E_15[31]={4.786,5.33,6.357,7.322,8.239,9.119,9.959,10.75,11.51,14.61,16.76,18.17,19.1,20.13,20.58,20.76,20.77,20.7,20.57,20.4,19.33,18.19,17.11,16.13,14.43,13.04,11.88,10.9,10.07,9.349,8.727}; - physicsVector = CreatePhysicsVector(E,E_15,factor); - } - else if( ionZ == 16 ) { - G4double E_16[31]={4.931,5.49,6.543,7.534,8.475,9.379,10.25,11.07,11.86,15.16,17.5,19.1,20.17,21.39,21.98,22.24,22.32,22.29,22.2,22.05,21.04,19.91,18.82,17.8,16.03,14.54,13.3,12.24,11.34,10.55,9.865}; - physicsVector = CreatePhysicsVector(E,E_16,factor); - } - else if( ionZ == 17 ) { - G4double E_17[31]={5.106,5.676,6.746,7.755,8.714,9.635,10.52,11.37,12.19,15.65,18.18,19.95,21.16,22.59,23.3,23.65,23.79,23.81,23.75,23.63,22.69,21.57,20.46,19.42,17.57,16.02,14.7,13.57,12.6,11.75,11.01}; - physicsVector = CreatePhysicsVector(E,E_17,factor); - } - else if( ionZ == 18 ) { - G4double E_18[31]={5.216,5.797,6.886,7.91,8.884,9.818,10.72,11.59,12.43,16.04,18.74,20.67,22.02,23.64,24.47,24.91,25.12,25.18,25.15,25.06,24.18,23.06,21.94,20.88,18.98,17.36,15.98,14.8,13.77,12.87,12.09}; - physicsVector = CreatePhysicsVector(E,E_18,factor); - } - } - - else if( matName == namesMat[6] ) { - if( ionZ == 3 ) { - G4double F_3[31]={1.926,2.103,2.397,2.623,2.794,2.92,3.013,3.079,3.126,3.192,3.136,3.044,2.941,2.737,2.551,2.384,2.236,2.105,1.987,1.882,1.486,1.229,1.05,0.9178,0.7373,0.6196,0.5365,0.4747,0.4267,0.3883,0.3569}; - physicsVector = CreatePhysicsVector(E,F_3,factor); - } - else if( ionZ == 4 ) { - G4double F_4[31]={2.371,2.606,3.017,3.357,3.634,3.855,4.029,4.165,4.271,4.519,4.545,4.488,4.397,4.186,3.972,3.77,3.582,3.409,3.251,3.105,2.528,2.129,1.838,1.618,1.309,1.102,0.955,0.8448,0.7592,0.6906,0.6344}; - physicsVector = CreatePhysicsVector(E,F_4,factor); - } - else if( ionZ == 5 ) { - G4double F_5[31]={2.721,3.009,3.521,3.961,4.337,4.653,4.915,5.129,5.304,5.787,5.931,5.937,5.881,5.695,5.478,5.26,5.048,4.848,4.659,4.482,3.751,3.214,2.808,2.492,2.034,1.721,1.494,1.323,1.189,1.081,0.9929}; - physicsVector = CreatePhysicsVector(E,F_5,factor); - } - else if( ionZ == 6 ) { - G4double F_6[31]={2.999,3.334,3.936,4.466,4.933,5.339,5.687,5.983,6.233,6.986,7.28,7.372,7.366,7.23,7.029,6.809,6.587,6.37,6.161,5.961,5.103,4.443,3.926,3.513,2.899,2.468,2.15,1.907,1.715,1.561,1.433}; - physicsVector = CreatePhysicsVector(E,F_6,factor); - } - else if( ionZ == 7 ) { - G4double F_7[31]={3.243,3.614,4.29,4.894,5.437,5.922,6.35,6.724,7.048,8.093,8.565,8.766,8.83,8.769,8.602,8.395,8.174,7.951,7.731,7.516,6.56,5.791,5.171,4.665,3.893,3.336,2.919,2.595,2.338,2.129,1.956}; - physicsVector = CreatePhysicsVector(E,F_7,factor); - } - else if( ionZ == 8 ) { - G4double F_8[31]={3.463,3.867,4.607,5.277,5.887,6.443,6.944,7.391,7.787,9.131,9.799,10.13,10.27,10.31,10.19,10.01,9.799,9.579,9.355,9.133,8.105,7.245,6.531,5.936,5.007,4.322,3.798,3.388,3.058,2.788,2.563}; - physicsVector = CreatePhysicsVector(E,F_8,factor); - } - else if( ionZ == 9 ) { - G4double F_9[31]={3.645,4.075,4.87,5.595,6.263,6.877,7.441,7.953,8.413,10.05,10.91,11.37,11.61,11.75,11.68,11.53,11.34,11.12,10.9,10.68,9.598,8.667,7.878,7.21,6.147,5.347,4.727,4.234,3.834,3.504,3.228}; - physicsVector = CreatePhysicsVector(E,F_9,factor); - } - else if( ionZ == 10 ) { - G4double F_10[31]={3.812,4.265,5.107,5.881,6.597,7.263,7.881,8.45,8.97,10.88,11.96,12.56,12.9,13.15,13.15,13.04,12.86,12.66,12.44,12.22,11.11,10.11,9.261,8.527,7.341,6.432,5.718,5.144,4.674,4.283,3.953}; - physicsVector = CreatePhysicsVector(E,F_10,factor); - } - else if( ionZ == 11 ) { - G4double F_11[31]={3.948,4.421,5.31,6.132,6.899,7.618,8.292,8.921,9.504,11.73,13.06,13.85,14.32,14.76,14.87,14.83,14.71,14.54,14.35,14.14,13.05,12.02,11.1,10.29,8.949,7.893,7.048,6.358,5.787,5.308,4.901}; - physicsVector = CreatePhysicsVector(E,F_11,factor); - } - else if( ionZ == 12 ) { - G4double F_12[31]={4.1,4.581,5.489,6.337,7.131,7.879,8.584,9.248,9.869,12.32,13.84,14.77,15.34,15.89,16.06,16.05,15.94,15.78,15.58,15.37,14.24,13.17,12.2,11.36,9.946,8.829,7.929,7.191,6.576,6.057,5.613}; - physicsVector = CreatePhysicsVector(E,F_12,factor); - } - else if( ionZ == 13 ) { - G4double F_13[31]={4.243,4.737,5.669,6.544,7.369,8.148,8.886,9.587,10.25,12.93,14.66,15.76,16.46,17.18,17.45,17.51,17.44,17.31,17.13,16.93,15.81,14.71,13.71,12.81,11.31,10.09,9.109,8.292,7.606,7.024,6.524}; - physicsVector = CreatePhysicsVector(E,F_13,factor); - } - else if( ionZ == 14 ) { - G4double F_14[31]={4.384,4.889,5.844,6.742,7.591,8.397,9.164,9.895,10.59,13.47,15.41,16.68,17.5,18.4,18.78,18.9,18.88,18.78,18.63,18.45,17.35,16.22,15.19,14.25,12.66,11.36,10.3,9.409,8.658,8.016,7.462}; - physicsVector = CreatePhysicsVector(E,F_14,factor); - } - else if( ionZ == 15 ) { - G4double F_15[31]={4.538,5.054,6.03,6.951,7.825,8.656,9.45,10.21,10.93,14.01,16.15,17.59,18.56,19.65,20.16,20.36,20.41,20.35,20.23,20.07,19.03,17.9,16.84,15.86,14.18,12.79,11.64,10.67,9.844,9.133,8.517}; - physicsVector = CreatePhysicsVector(E,F_15,factor); - } - else if( ionZ == 16 ) { - G4double F_16[31]={4.67,5.2,6.202,7.148,8.047,8.904,9.723,10.51,11.26,14.52,16.86,18.47,19.58,20.88,21.52,21.82,21.93,21.92,21.84,21.71,20.73,19.61,18.53,17.52,15.76,14.29,13.05,12,11.1,10.32,9.639}; - physicsVector = CreatePhysicsVector(E,F_16,factor); - } - else if( ionZ == 17 ) { - G4double F_17[31]={4.832,5.372,6.391,7.353,8.271,9.148,9.989,10.8,11.57,14.98,17.51,19.29,20.53,22.03,22.8,23.19,23.37,23.41,23.36,23.26,22.35,21.24,20.14,19.11,17.28,15.73,14.42,13.3,12.33,11.49,10.75}; - physicsVector = CreatePhysicsVector(E,F_17,factor); - } - else if( ionZ == 18 ) { - G4double F_18[31]={4.931,5.481,6.515,7.491,8.423,9.316,10.17,11,11.79,15.33,18.02,19.96,21.33,23.03,23.93,24.41,24.64,24.73,24.71,24.64,23.79,22.68,21.58,20.52,18.64,17.03,15.66,14.49,13.47,12.58,11.8}; - physicsVector = CreatePhysicsVector(E,F_18,factor); - } - } - - else if( matName == namesMat[7] ) { - if( ionZ == 3 ) { - G4double G_3[31]={1.514,1.638,1.842,2.004,2.133,2.236,2.317,2.379,2.427,2.52,2.5,2.443,2.372,2.226,2.088,1.963,1.851,1.75,1.659,1.577,1.265,1.057,0.9105,0.801,0.6489,0.5484,0.4768,0.4231,0.3813,0.3477,0.32}; - physicsVector = CreatePhysicsVector(E,G_3,factor); - } - else if( ionZ == 4 ) { - G4double G_4[31]={1.913,2.085,2.375,2.615,2.815,2.982,3.122,3.237,3.331,3.582,3.636,3.612,3.556,3.409,3.253,3.102,2.96,2.829,2.707,2.594,2.143,1.824,1.587,1.406,1.148,0.9733,0.8473,0.7521,0.6777,0.6179,0.5687}; - physicsVector = CreatePhysicsVector(E,G_4,factor); - } - else if( ionZ == 5 ) { - G4double G_5[31]={2.238,2.453,2.825,3.138,3.406,3.637,3.836,4.007,4.152,4.594,4.753,4.786,4.762,4.642,4.488,4.327,4.169,4.018,3.874,3.738,3.169,2.743,2.415,2.158,1.779,1.516,1.323,1.176,1.06,0.9664,0.8893}; - physicsVector = CreatePhysicsVector(E,G_5,factor); - } - else if( ionZ == 6 ) { - G4double G_6[31]={2.506,2.761,3.209,3.592,3.925,4.217,4.474,4.7,4.898,5.549,5.838,5.948,5.97,5.897,5.761,5.603,5.44,5.278,5.12,4.968,4.304,3.783,3.369,3.034,2.529,2.169,1.9,1.692,1.527,1.394,1.283}; - physicsVector = CreatePhysicsVector(E,G_6,factor); - } - else if( ionZ == 7 ) { - G4double G_7[31]={2.732,3.021,3.534,3.981,4.375,4.724,5.036,5.315,5.563,6.432,6.87,7.074,7.158,7.154,7.051,6.909,6.75,6.586,6.422,6.261,5.528,4.925,4.431,4.022,3.39,2.927,2.576,2.301,2.08,1.9,1.75}; - physicsVector = CreatePhysicsVector(E,G_7,factor); - } - else if( ionZ == 8 ) { - G4double G_8[31]={2.934,3.251,3.824,4.329,4.779,5.183,5.547,5.876,6.173,7.259,7.855,8.168,8.324,8.406,8.348,8.231,8.086,7.927,7.764,7.599,6.818,6.147,5.582,5.105,4.349,3.783,3.345,2.998,2.717,2.485,2.291}; - physicsVector = CreatePhysicsVector(E,G_8,factor); - } - else if( ionZ == 9 ) { - G4double G_9[31]={3.114,3.456,4.078,4.635,5.135,5.589,6.001,6.376,6.718,8.011,8.77,9.196,9.431,9.608,9.602,9.514,9.386,9.236,9.076,8.911,8.097,7.374,6.75,6.214,5.349,4.687,4.168,3.751,3.41,3.127,2.888}; - physicsVector = CreatePhysicsVector(E,G_9,factor); - } - else if( ionZ == 10 ) { - G4double G_10[31]={3.28,3.643,4.309,4.911,5.457,5.956,6.412,6.831,7.216,8.707,9.63,10.18,10.5,10.78,10.84,10.79,10.68,10.54,10.39,10.23,9.397,8.63,7.956,7.367,6.401,5.649,5.05,4.565,4.163,3.827,3.542}; - physicsVector = CreatePhysicsVector(E,G_10,factor); - } - else if( ionZ == 11 ) { - G4double G_11[31]={3.422,3.803,4.507,5.148,5.736,6.277,6.775,7.236,7.661,9.347,10.44,11.12,11.54,11.95,12.08,12.07,11.99,11.87,11.73,11.58,10.75,9.946,9.227,8.591,7.53,6.689,6.011,5.454,4.99,4.598,4.264}; - physicsVector = CreatePhysicsVector(E,G_11,factor); - } - else if( ionZ == 12 ) { - G4double G_12[31]={3.568,3.963,4.697,5.371,5.994,6.572,7.107,7.604,8.067,9.931,11.19,12,12.52,13.06,13.27,13.31,13.27,13.17,13.04,12.9,12.07,11.24,10.49,9.811,8.666,7.745,6.994,6.372,5.849,5.405,5.023}; - physicsVector = CreatePhysicsVector(E,G_12,factor); - } - else if( ionZ == 13 ) { - G4double G_13[31]={3.704,4.112,4.873,5.576,6.23,6.84,7.41,7.942,8.439,10.47,11.89,12.83,13.46,14.15,14.44,14.54,14.54,14.47,14.36,14.23,13.42,12.57,11.79,11.08,9.853,8.856,8.034,7.347,6.765,6.268,5.837}; - physicsVector = CreatePhysicsVector(E,G_13,factor); - } - else if( ionZ == 14 ) { - G4double G_14[31]={3.835,4.255,5.039,5.767,6.447,7.086,7.686,8.25,8.779,10.97,12.54,13.62,14.35,15.18,15.57,15.73,15.77,15.73,15.64,15.53,14.75,13.89,13.08,12.34,11.05,9.98,9.092,8.344,7.707,7.158,6.681}; - physicsVector = CreatePhysicsVector(E,G_14,factor); - } - else if( ionZ == 15 ) { - G4double G_15[31]={3.959,4.391,5.195,5.945,6.65,7.315,7.943,8.535,9.094,11.44,13.15,14.37,15.21,16.21,16.71,16.95,17.04,17.04,16.98,16.89,16.16,15.32,14.49,13.72,12.36,11.22,10.27,9.452,8.753,8.148,7.62}; - physicsVector = CreatePhysicsVector(E,G_15,factor); - } - else if( ionZ == 16 ) { - G4double G_16[31]={4.077,4.521,5.348,6.12,6.848,7.538,8.193,8.812,9.398,11.88,13.74,15.09,16.05,17.23,17.83,18.15,18.3,18.34,18.32,18.25,17.59,16.76,15.92,15.13,13.71,12.51,11.49,10.61,9.853,9.192,8.613}; - physicsVector = CreatePhysicsVector(E,G_16,factor); - } - else if( ionZ == 17 ) { - G4double G_17[31]={4.203,4.656,5.5,6.289,7.036,7.747,8.424,9.068,9.679,12.3,14.29,15.77,16.84,18.19,18.91,19.31,19.52,19.6,19.61,19.57,18.98,18.17,17.33,16.52,15.05,13.79,12.71,11.77,10.96,10.25,9.617}; - physicsVector = CreatePhysicsVector(E,G_17,factor); - } - else if( ionZ == 18 ) { - G4double G_18[31]={4.313,4.776,5.638,6.443,7.208,7.938,8.635,9.299,9.933,12.67,14.79,16.39,17.58,19.09,19.93,20.41,20.67,20.81,20.85,20.83,20.31,19.51,18.66,17.83,16.31,15,13.86,12.88,12.02,11.26,10.59}; - physicsVector = CreatePhysicsVector(E,G_18,factor); - } - } - - else if( matName == namesMat[8] ) { - if( ionZ == 3 ) { - G4double H_3[31]={1.909,2.083,2.374,2.602,2.778,2.91,3.008,3.079,3.128,3.196,3.137,3.042,2.938,2.733,2.547,2.38,2.232,2.101,1.984,1.878,1.484,1.227,1.048,0.9166,0.7364,0.6188,0.5359,0.4741,0.4262,0.3879,0.3565}; - physicsVector = CreatePhysicsVector(E,H_3,factor); - } - else if( ionZ == 4 ) { - G4double H_4[31]={2.35,2.582,2.986,3.325,3.605,3.832,4.014,4.157,4.267,4.525,4.547,4.487,4.395,4.182,3.967,3.765,3.577,3.404,3.246,3.1,2.525,2.127,1.837,1.617,1.308,1.101,0.9543,0.8441,0.7585,0.69,0.6338}; - physicsVector = CreatePhysicsVector(E,H_4,factor); - } - else if( ionZ == 5 ) { - G4double H_5[31]={2.696,2.981,3.484,3.919,4.295,4.615,4.885,5.108,5.29,5.791,5.935,5.937,5.878,5.689,5.472,5.253,5.042,4.842,4.653,4.477,3.747,3.212,2.807,2.492,2.034,1.721,1.494,1.322,1.188,1.081,0.9923}; - physicsVector = CreatePhysicsVector(E,H_5,factor); - } - else if( ionZ == 6 ) { - G4double H_6[31]={2.972,3.304,3.899,4.422,4.885,5.292,5.645,5.949,6.207,6.988,7.286,7.374,7.365,7.224,7.022,6.802,6.58,6.364,6.155,5.956,5.101,4.443,3.927,3.515,2.901,2.469,2.151,1.907,1.715,1.56,1.433}; - physicsVector = CreatePhysicsVector(E,H_6,factor); - } - else if( ionZ == 7 ) { - G4double H_7[31]={3.208,3.579,4.25,4.848,5.386,5.869,6.3,6.679,7.011,8.091,8.573,8.771,8.831,8.765,8.596,8.389,8.169,7.947,7.727,7.514,6.562,5.795,5.177,4.671,3.898,3.34,2.922,2.598,2.34,2.13,1.957}; - physicsVector = CreatePhysicsVector(E,H_7,factor); - } - else if( ionZ == 8 ) { - G4double H_8[31]={3.419,3.823,4.562,5.228,5.833,6.384,6.885,7.336,7.737,9.121,9.806,10.13,10.27,10.3,10.18,10,9.794,9.574,9.351,9.13,8.108,7.251,6.54,5.945,5.016,4.33,3.805,3.393,3.062,2.791,2.566}; - physicsVector = CreatePhysicsVector(E,H_8,factor); - } - else if( ionZ == 9 ) { - G4double H_9[31]={3.605,4.037,4.835,5.56,6.223,6.833,7.395,7.907,8.372,10.05,10.94,11.4,11.63,11.76,11.69,11.54,11.34,11.13,10.9,10.68,9.605,8.676,7.889,7.221,6.158,5.357,4.735,4.241,3.84,3.509,3.231}; - physicsVector = CreatePhysicsVector(E,H_9,factor); - } - else if( ionZ == 10 ) { - G4double H_10[31]={3.767,4.221,5.068,5.843,6.556,7.218,7.831,8.399,8.92,10.87,11.98,12.59,12.92,13.17,13.16,13.05,12.87,12.67,12.45,12.23,11.12,10.14,9.283,8.549,7.362,6.451,5.733,5.157,4.685,4.292,3.961}; - physicsVector = CreatePhysicsVector(E,H_10,factor); - } - else if( ionZ == 11 ) { - G4double H_11[31]={3.897,4.371,5.263,6.088,6.854,7.567,8.235,8.858,9.438,11.69,13.05,13.84,14.31,14.73,14.83,14.79,14.66,14.5,14.3,14.1,13.01,11.99,11.08,10.28,8.943,7.892,7.049,6.36,5.79,5.311,4.904}; - physicsVector = CreatePhysicsVector(E,H_11,factor); - } - else if( ionZ == 12 ) { - G4double H_12[31]={4.043,4.528,5.444,6.3,7.098,7.845,8.547,9.207,9.826,12.29,13.86,14.8,15.37,15.92,16.08,16.06,15.95,15.79,15.59,15.38,14.26,13.19,12.23,11.38,9.973,8.854,7.952,7.211,6.593,6.072,5.627}; - physicsVector = CreatePhysicsVector(E,H_12,factor); - } - else if( ionZ == 13 ) { - G4double H_13[31]={4.179,4.676,5.618,6.503,7.334,8.116,8.855,9.552,10.21,12.9,14.68,15.8,16.5,17.21,17.48,17.52,17.45,17.32,17.15,16.95,15.83,14.74,13.74,12.84,11.34,10.12,9.136,8.316,7.628,7.044,6.541}; - physicsVector = CreatePhysicsVector(E,H_13,factor); - } - else if( ionZ == 14 ) { - G4double H_14[31]={4.312,4.82,5.785,6.695,7.555,8.368,9.137,9.867,10.56,13.45,15.43,16.72,17.56,18.45,18.81,18.93,18.9,18.8,18.65,18.46,17.37,16.25,15.22,14.29,12.69,11.4,10.33,9.439,8.685,8.04,7.483}; - physicsVector = CreatePhysicsVector(E,H_14,factor); - } - else if( ionZ == 15 ) { - G4double H_15[31]={4.45,4.968,5.953,6.887,7.774,8.615,9.415,10.18,10.9,13.98,16.16,17.64,18.61,19.7,20.19,20.39,20.43,20.37,20.25,20.09,19.05,17.94,16.88,15.91,14.23,12.84,11.68,10.71,9.878,9.164,8.545}; - physicsVector = CreatePhysicsVector(E,H_15,factor); - } - else if( ionZ == 16 ) { - G4double H_16[31]={4.574,5.105,6.114,7.072,7.987,8.857,9.685,10.47,11.23,14.48,16.86,18.51,19.64,20.93,21.55,21.84,21.95,21.94,21.86,21.73,20.76,19.65,18.57,17.57,15.81,14.34,13.1,12.04,11.14,10.36,9.674}; - physicsVector = CreatePhysicsVector(E,H_16,factor); - } - else if( ionZ == 17 ) { - G4double H_17[31]={4.722,5.263,6.289,7.266,8.201,9.094,9.946,10.76,11.54,14.94,17.5,19.33,20.59,22.09,22.85,23.23,23.4,23.44,23.39,23.29,22.39,21.29,20.2,19.17,17.34,15.79,14.48,13.35,12.38,11.54,10.8}; - physicsVector = CreatePhysicsVector(E,H_17,factor); - } - else if( ionZ == 18 ) { - G4double H_18[31]={4.82,5.37,6.411,7.401,8.352,9.262,10.13,10.97,11.77,15.3,18.02,20,21.4,23.1,23.99,24.46,24.68,24.77,24.75,24.67,23.83,22.74,21.64,20.59,18.71,17.1,15.73,14.55,13.52,12.63,11.84}; - physicsVector = CreatePhysicsVector(E,H_18,factor); - } - } - - else if( matName == namesMat[9] ) { - if( ionZ == 3 ) { - G4double I_3[31]={1.707,1.866,2.117,2.301,2.438,2.539,2.615,2.67,2.71,2.774,2.74,2.674,2.597,2.437,2.284,2.145,2.02,1.907,1.805,1.714,1.366,1.136,0.9741,0.8543,0.6893,0.5809,0.5042,0.4469,0.4023,0.3666,0.3372}; - physicsVector = CreatePhysicsVector(E,I_3,factor); - } - else if( ionZ == 4 ) { - G4double I_4[31]={2.09,2.31,2.678,2.965,3.192,3.371,3.514,3.626,3.715,3.934,3.972,3.941,3.881,3.724,3.555,3.389,3.232,3.085,2.949,2.823,2.319,1.964,1.703,1.504,1.222,1.033,0.8972,0.7952,0.7156,0.6518,0.5994}; - physicsVector = CreatePhysicsVector(E,I_4,factor); - } - else if( ionZ == 5 ) { - G4double I_5[31]={2.389,2.659,3.13,3.515,3.829,4.088,4.302,4.479,4.625,5.041,5.183,5.211,5.185,5.061,4.899,4.725,4.551,4.383,4.223,4.071,3.434,2.96,2.597,2.313,1.898,1.612,1.403,1.245,1.12,1.02,0.9381}; - physicsVector = CreatePhysicsVector(E,I_5,factor); - } - else if( ionZ == 6 ) { - G4double I_6[31]={2.629,2.94,3.5,3.976,4.376,4.714,5,5.243,5.449,6.09,6.361,6.466,6.489,6.42,6.281,6.113,5.936,5.757,5.581,5.412,4.669,4.088,3.629,3.259,2.704,2.311,2.019,1.794,1.617,1.473,1.354}; - physicsVector = CreatePhysicsVector(E,I_6,factor); - } - else if( ionZ == 7 ) { - G4double I_7[31]={2.835,3.177,3.806,4.359,4.837,5.249,5.604,5.911,6.178,7.059,7.483,7.684,7.771,7.78,7.681,7.533,7.363,7.184,7.002,6.822,6.001,5.327,4.779,4.327,3.63,3.124,2.741,2.443,2.204,2.01,1.849}; - physicsVector = CreatePhysicsVector(E,I_7,factor); - } - else if( ionZ == 8 ) { - G4double I_8[31]={3.025,3.392,4.077,4.696,5.245,5.726,6.147,6.517,6.843,7.97,8.559,8.87,9.032,9.134,9.089,8.973,8.82,8.648,8.467,8.284,7.408,6.658,6.029,5.5,4.666,4.044,3.566,3.188,2.883,2.633,2.424}; - physicsVector = CreatePhysicsVector(E,I_8,factor); - } - else if( ionZ == 9 ) { - G4double I_9[31]={3.194,3.582,4.312,4.983,5.591,6.134,6.615,7.043,7.425,8.789,9.548,9.974,10.22,10.42,10.43,10.35,10.22,10.06,9.882,9.698,8.787,7.977,7.283,6.689,5.736,5.01,4.443,3.989,3.619,3.313,3.055}; - physicsVector = CreatePhysicsVector(E,I_9,factor); - } - else if( ionZ == 10 ) { - G4double I_10[31]={3.352,3.759,4.526,5.24,5.899,6.496,7.032,7.515,7.948,9.545,10.48,11.03,11.36,11.67,11.75,11.71,11.61,11.46,11.3,11.12,10.18,9.324,8.573,7.922,6.858,6.034,5.38,4.852,4.417,4.054,3.746}; - physicsVector = CreatePhysicsVector(E,I_10,factor); - } - else if( ionZ == 11 ) { - G4double I_11[31]={3.483,3.906,4.707,5.459,6.163,6.813,7.405,7.942,8.43,10.28,11.41,12.12,12.56,13.03,13.21,13.24,13.18,13.07,12.93,12.77,11.86,10.98,10.18,9.467,8.279,7.335,6.573,5.948,5.428,4.989,4.615}; - physicsVector = CreatePhysicsVector(E,I_11,factor); - } - else if( ionZ == 12 ) { - G4double I_12[31]={3.626,4.061,4.882,5.657,6.391,7.076,7.708,8.287,8.816,10.86,12.16,12.98,13.52,14.1,14.35,14.42,14.38,14.29,14.15,13.99,13.06,12.14,11.3,10.55,9.285,8.277,7.457,6.779,6.212,5.732,5.319}; - physicsVector = CreatePhysicsVector(E,I_12,factor); - } - else if( ionZ == 13 ) { - G4double I_13[31]={3.759,4.208,5.051,5.846,6.605,7.323,7.994,8.614,9.185,11.43,12.91,13.87,14.51,15.25,15.59,15.73,15.74,15.68,15.56,15.42,14.51,13.56,12.69,11.9,10.55,9.462,8.565,7.817,7.186,6.647,6.183}; - physicsVector = CreatePhysicsVector(E,I_13,factor); - } - else if( ionZ == 14 ) { - G4double I_14[31]={3.889,4.35,5.213,6.027,6.805,7.55,8.253,8.908,9.516,11.94,13.59,14.7,15.45,16.34,16.78,16.99,17.05,17.02,16.94,16.81,15.93,14.97,14.07,13.24,11.82,10.66,9.687,8.874,8.183,7.589,7.075}; - physicsVector = CreatePhysicsVector(E,I_14,factor); - } - else if( ionZ == 15 ) { - G4double I_15[31]={4.017,4.488,5.371,6.202,6.998,7.765,8.496,9.184,9.827,12.43,14.25,15.51,16.38,17.44,18,18.29,18.41,18.43,18.38,18.28,17.47,16.51,15.59,14.73,13.24,11.99,10.95,10.06,9.303,8.647,8.076}; - physicsVector = CreatePhysicsVector(E,I_15,factor); - } - else if( ionZ == 16 ) { - G4double I_16[31]={4.134,4.62,5.527,6.377,7.191,7.978,8.733,9.45,10.13,12.9,14.89,16.29,17.28,18.51,19.2,19.57,19.77,19.84,19.83,19.76,19.02,18.08,17.14,16.26,14.7,13.38,12.26,11.31,10.48,9.766,9.137}; - physicsVector = CreatePhysicsVector(E,I_16,factor); - } - else if( ionZ == 17 ) { - G4double I_17[31]={4.266,4.762,5.689,6.554,7.382,8.184,8.958,9.698,10.4,13.33,15.47,17.01,18.12,19.54,20.34,20.81,21.07,21.19,21.21,21.18,20.52,19.59,18.65,17.75,16.13,14.75,13.56,12.54,11.66,10.88,10.2}; - physicsVector = CreatePhysicsVector(E,I_17,factor); - } - else if( ionZ == 18 ) { - G4double I_18[31]={4.361,4.869,5.813,6.692,7.531,8.343,9.13,9.889,10.61,13.68,15.96,17.63,18.86,20.44,21.36,21.91,22.23,22.4,22.47,22.46,21.86,20.95,20,19.08,17.42,15.98,14.75,13.68,12.74,11.92,11.2}; - physicsVector = CreatePhysicsVector(E,I_18,factor); - } - } - - else if( matName == namesMat[10] ) { - if( ionZ == 3 ) { - G4double J_3[31]={2.149,2.349,2.681,2.933,3.118,3.25,3.342,3.405,3.445,3.476,3.393,3.281,3.163,2.935,2.729,2.547,2.386,2.243,2.116,2.002,1.576,1.3,1.109,0.9689,0.777,0.6521,0.5641,0.4987,0.448,0.4075,0.3743}; - physicsVector = CreatePhysicsVector(E,J_3,factor); - } - else if( ionZ == 4 ) { - G4double J_4[31]={2.637,2.902,3.364,3.746,4.054,4.294,4.477,4.616,4.718,4.931,4.923,4.841,4.733,4.492,4.254,4.031,3.825,3.637,3.464,3.306,2.684,2.255,1.944,1.709,1.379,1.16,1.004,0.8878,0.7972,0.7248,0.6655}; - physicsVector = CreatePhysicsVector(E,J_4,factor); - } - else if( ionZ == 5 ) { - G4double J_5[31]={3.024,3.346,3.92,4.415,4.836,5.185,5.468,5.695,5.874,6.329,6.435,6.411,6.333,6.113,5.87,5.627,5.395,5.175,4.969,4.777,3.984,3.406,2.971,2.633,2.145,1.812,1.571,1.39,1.248,1.134,1.041}; - physicsVector = CreatePhysicsVector(E,J_5,factor); - } - else if( ionZ == 6 ) { - G4double J_6[31]={3.334,3.707,4.38,4.974,5.497,5.949,6.332,6.651,6.914,7.658,7.912,7.969,7.939,7.764,7.533,7.287,7.041,6.803,6.574,6.356,5.424,4.711,4.156,3.713,3.058,2.599,2.261,2.004,1.801,1.638,1.503}; - physicsVector = CreatePhysicsVector(E,J_6,factor); - } - else if( ionZ == 7 ) { - G4double J_7[31]={3.611,4.025,4.777,5.451,6.058,6.599,7.073,7.482,7.829,8.893,9.326,9.489,9.524,9.421,9.222,8.987,8.741,8.495,8.252,8.017,6.976,6.144,5.476,4.932,4.106,3.513,3.07,2.727,2.455,2.234,2.051}; - physicsVector = CreatePhysicsVector(E,J_7,factor); - } - else if( ionZ == 8 ) { - G4double J_8[31]={3.86,4.31,5.135,5.88,6.56,7.179,7.735,8.228,8.658,10.05,10.68,10.97,11.09,11.08,10.92,10.71,10.48,10.23,9.99,9.746,8.623,7.689,6.919,6.278,5.283,4.552,3.996,3.56,3.211,2.925,2.688}; - physicsVector = CreatePhysicsVector(E,J_8,factor); - } - else if( ionZ == 9 ) { - G4double J_9[31]={4.066,4.547,5.433,6.238,6.978,7.662,8.287,8.853,9.357,11.07,11.92,12.34,12.54,12.62,12.52,12.34,12.12,11.88,11.63,11.38,10.2,9.196,8.344,7.624,6.485,5.631,4.971,4.448,4.025,3.676,3.384}; - physicsVector = CreatePhysicsVector(E,J_9,factor); - } - else if( ionZ == 10 ) { - G4double J_10[31]={4.255,4.762,5.702,6.56,7.353,8.091,8.776,9.406,9.978,12.01,13.08,13.64,13.94,14.14,14.1,13.95,13.75,13.52,13.27,13.02,11.8,10.72,9.805,9.014,7.741,6.771,6.011,5.402,4.904,4.491,4.143}; - physicsVector = CreatePhysicsVector(E,J_10,factor); - } - else if( ionZ == 11 ) { - G4double J_11[31]={4.408,4.939,5.931,6.845,7.693,8.488,9.234,9.93,10.57,12.96,14.31,15.06,15.5,15.88,15.95,15.88,15.74,15.55,15.33,15.1,13.9,12.77,11.78,10.9,9.461,8.331,7.427,6.693,6.086,5.578,5.147}; - physicsVector = CreatePhysicsVector(E,J_11,factor); - } - else if( ionZ == 12 ) { - G4double J_12[31]={4.579,5.119,6.133,7.075,7.954,8.779,9.557,10.29,10.97,13.62,15.17,16.07,16.6,17.09,17.22,17.17,17.03,16.84,16.62,16.39,15.14,13.96,12.92,12,10.49,9.297,8.338,7.554,6.902,6.353,5.884}; - physicsVector = CreatePhysicsVector(E,J_12,factor); - } - else if( ionZ == 13 ) { - G4double J_13[31]={4.741,5.295,6.339,7.313,8.224,9.083,9.897,10.66,11.39,14.3,16.1,17.17,17.83,18.49,18.71,18.73,18.63,18.47,18.27,18.05,16.81,15.6,14.52,13.55,11.92,10.63,9.58,8.712,7.985,7.368,6.839}; - physicsVector = CreatePhysicsVector(E,J_13,factor); - } - else if( ionZ == 14 ) { - G4double J_14[31]={4.901,5.468,6.538,7.539,8.48,9.369,10.21,11.01,11.77,14.91,16.94,18.19,18.98,19.81,20.14,20.22,20.17,20.04,19.87,19.66,18.44,17.21,16.08,15.07,13.35,11.96,10.83,9.885,9.087,8.408,7.822}; - physicsVector = CreatePhysicsVector(E,J_14,factor); - } - else if( ionZ == 15 ) { - G4double J_15[31]={5.077,5.658,6.753,7.782,8.752,9.669,10.54,11.37,12.16,15.52,17.77,19.21,20.14,21.17,21.62,21.79,21.81,21.72,21.58,21.39,20.23,18.99,17.83,16.78,14.96,13.47,12.24,11.21,10.33,9.58,8.927}; - physicsVector = CreatePhysicsVector(E,J_15,factor); - } - else if( ionZ == 16 ) { - G4double J_16[31]={5.227,5.824,6.95,8.008,9.008,9.954,10.85,11.71,12.54,16.09,18.57,20.2,21.28,22.51,23.09,23.35,23.43,23.4,23.29,23.14,22.04,20.81,19.63,18.54,16.63,15.05,13.72,12.6,11.65,10.82,10.1}; - physicsVector = CreatePhysicsVector(E,J_16,factor); - } - else if( ionZ == 17 ) { - G4double J_17[31]={5.413,6.021,7.168,8.248,9.27,10.24,11.16,12.04,12.89,16.61,19.3,21.12,22.34,23.77,24.48,24.83,24.98,24.99,24.92,24.79,23.76,22.54,21.34,20.22,18.23,16.57,15.16,13.97,12.94,12.05,11.27}; - physicsVector = CreatePhysicsVector(E,J_17,factor); - } - else if( ionZ == 18 ) { - G4double J_18[31]={5.524,6.145,7.31,8.406,9.446,10.43,11.37,12.27,13.14,16.99,19.88,21.86,23.23,24.85,25.69,26.13,26.33,26.39,26.35,26.25,25.28,24.07,22.85,21.7,19.66,17.93,16.47,15.21,14.13,13.18,12.35}; - physicsVector = CreatePhysicsVector(E,J_18,factor); - } - } - - else if( matName == namesMat[11] ) { - if( ionZ == 3 ) { - G4double K_3[31]={1.622,1.757,1.984,2.165,2.312,2.429,2.522,2.595,2.652,2.774,2.762,2.702,2.624,2.457,2.297,2.152,2.022,1.905,1.8,1.705,1.349,1.116,0.9538,0.8343,0.6707,0.5639,0.4886,0.4325,0.3889,0.354,0.3255}; - physicsVector = CreatePhysicsVector(E,K_3,factor); - } - else if( ionZ == 4 ) { - G4double K_4[31]={2.038,2.224,2.541,2.806,3.029,3.218,3.376,3.507,3.616,3.918,3.997,3.981,3.922,3.757,3.577,3.402,3.237,3.084,2.943,2.813,2.294,1.933,1.67,1.471,1.19,1.003,0.8695,0.7696,0.6918,0.6295,0.5785}; - physicsVector = CreatePhysicsVector(E,K_4,factor); - } - else if( ionZ == 5 ) { - G4double K_5[31]={2.368,2.601,3.005,3.348,3.645,3.903,4.127,4.32,4.486,5.003,5.207,5.26,5.241,5.109,4.932,4.746,4.561,4.384,4.217,4.059,3.403,2.918,2.551,2.264,1.85,1.566,1.36,1.205,1.083,0.9854,0.9052}; - physicsVector = CreatePhysicsVector(E,K_5,factor); - } - else if( ionZ == 6 ) { - G4double K_6[31]={2.629,2.905,3.391,3.81,4.178,4.503,4.791,5.046,5.27,6.024,6.377,6.522,6.559,6.483,6.326,6.142,5.95,5.76,5.575,5.397,4.628,4.032,3.565,3.192,2.636,2.245,1.957,1.736,1.562,1.422,1.306}; - physicsVector = CreatePhysicsVector(E,K_6,factor); - } - else if( ionZ == 7 ) { - G4double K_7[31]={2.856,3.166,3.721,4.207,4.639,5.025,5.373,5.686,5.966,6.963,7.487,7.744,7.854,7.86,7.74,7.571,7.382,7.187,6.993,6.803,5.947,5.254,4.695,4.237,3.538,3.034,2.655,2.362,2.129,1.939,1.782}; - physicsVector = CreatePhysicsVector(E,K_7,factor); - } - else if( ionZ == 8 ) { - G4double K_8[31]={3.056,3.396,4.013,4.561,5.053,5.498,5.902,6.269,6.603,7.841,8.547,8.93,9.126,9.234,9.166,9.024,8.849,8.658,8.462,8.265,7.346,6.572,5.928,5.39,4.55,3.929,3.455,3.083,2.784,2.539,2.335}; - physicsVector = CreatePhysicsVector(E,K_8,factor); - } - else if( ionZ == 9 ) { - G4double K_9[31]={3.218,3.582,4.251,4.853,5.398,5.894,6.349,6.765,7.148,8.61,9.495,10.01,10.3,10.51,10.5,10.39,10.23,10.05,9.855,9.656,8.694,7.857,7.147,6.544,5.584,4.861,4.299,3.853,3.491,3.191,2.941}; - physicsVector = CreatePhysicsVector(E,K_9,factor); - } - else if( ionZ == 10 ) { - G4double K_10[31]={3.364,3.749,4.461,5.11,5.702,6.246,6.747,7.21,7.637,9.314,10.38,11.03,11.42,11.76,11.81,11.74,11.6,11.43,11.24,11.04,10.05,9.166,8.398,7.737,6.667,5.846,5.199,4.68,4.254,3.9,3.602}; - physicsVector = CreatePhysicsVector(E,K_10,factor); - } - else if( ionZ == 11 ) { - G4double K_11[31]={3.476,3.878,4.632,5.327,5.97,6.565,7.116,7.629,8.107,10.03,11.31,12.14,12.66,13.18,13.35,13.35,13.27,13.13,12.97,12.79,11.83,10.9,10.08,9.351,8.14,7.185,6.419,5.793,5.275,4.84,4.47}; - physicsVector = CreatePhysicsVector(E,K_11,factor); - } - else if( ionZ == 12 ) { - G4double K_12[31]={3.604,4.015,4.786,5.505,6.174,6.798,7.38,7.924,8.434,10.52,11.96,12.91,13.53,14.18,14.41,14.44,14.37,14.24,14.08,13.9,12.89,11.93,11.07,10.31,9.035,8.027,7.213,6.544,5.987,5.517,5.115}; - physicsVector = CreatePhysicsVector(E,K_12,factor); - } - else if( ionZ == 13 ) { - G4double K_13[31]={3.723,4.144,4.937,5.679,6.378,7.034,7.649,8.228,8.772,11.03,12.64,13.75,14.49,15.31,15.65,15.75,15.72,15.62,15.48,15.31,14.32,13.33,12.43,11.63,10.27,9.178,8.286,7.547,6.926,6.398,5.945}; - physicsVector = CreatePhysicsVector(E,K_13,factor); - } - else if( ionZ == 14 ) { - G4double K_14[31]={3.84,4.27,5.081,5.844,6.566,7.248,7.893,8.502,9.077,11.5,13.27,14.52,15.39,16.38,16.83,17,17.02,16.95,16.83,16.67,15.7,14.7,13.77,12.93,11.5,10.33,9.367,8.563,7.883,7.301,6.798}; - physicsVector = CreatePhysicsVector(E,K_14,factor); - } - else if( ionZ == 15 ) { - G4double K_15[31]={3.971,4.409,5.238,6.02,6.764,7.472,8.144,8.782,9.387,11.96,13.89,15.29,16.29,17.48,18.05,18.31,18.39,18.36,18.27,18.14,17.22,16.22,15.27,14.39,12.88,11.63,10.59,9.708,8.96,8.316,7.758}; - physicsVector = CreatePhysicsVector(E,K_15,factor); - } - else if( ionZ == 16 ) { - G4double K_16[31]={4.08,4.53,5.379,6.182,6.95,7.683,8.382,9.047,9.68,12.41,14.49,16.04,17.16,18.55,19.26,19.61,19.76,19.78,19.73,19.62,18.77,17.77,16.8,15.9,14.31,12.98,11.87,10.91,10.1,9.394,8.779}; - physicsVector = CreatePhysicsVector(E,K_16,factor); - } - else if( ionZ == 17 ) { - G4double K_17[31]={4.22,4.677,5.538,6.353,7.136,7.889,8.609,9.298,9.956,12.81,15.04,16.72,17.97,19.55,20.4,20.84,21.05,21.12,21.1,21.02,20.23,19.24,18.26,17.34,15.69,14.29,13.11,12.1,11.22,10.46,9.792}; - physicsVector = CreatePhysicsVector(E,K_17,factor); - } - else if( ionZ == 18 ) { - G4double K_18[31]={4.299,4.762,5.633,6.458,7.252,8.018,8.755,9.463,10.14,13.11,15.46,17.27,18.64,20.41,21.38,21.91,22.18,22.3,22.31,22.26,21.52,20.55,19.55,18.61,16.92,15.47,14.24,13.18,12.25,11.45,10.74}; - physicsVector = CreatePhysicsVector(E,K_18,factor); - } - } - - else if( matName == namesMat[12] ) { - if( ionZ == 3 ) { - G4double L_3[31]={1.968,2.15,2.444,2.663,2.824,2.943,3.029,3.091,3.133,3.185,3.123,3.027,2.922,2.717,2.53,2.363,2.215,2.083,1.966,1.861,1.466,1.211,1.033,0.9028,0.7245,0.6083,0.5265,0.4656,0.4184,0.3807,0.3498}; - physicsVector = CreatePhysicsVector(E,L_3,factor); - } - else if( ionZ == 4 ) { - G4double L_4[31]={2.403,2.652,3.075,3.412,3.679,3.89,4.055,4.184,4.283,4.511,4.526,4.464,4.371,4.157,3.942,3.739,3.55,3.377,3.218,3.072,2.497,2.1,1.811,1.593,1.286,1.083,0.9375,0.8289,0.7446,0.6771,0.6219}; - physicsVector = CreatePhysicsVector(E,L_4,factor); - } - else if( ionZ == 5 ) { - G4double L_5[31]={2.739,3.045,3.58,4.026,4.396,4.701,4.952,5.157,5.324,5.779,5.908,5.906,5.846,5.656,5.438,5.218,5.006,4.804,4.615,4.437,3.706,3.171,2.768,2.454,2.001,1.691,1.467,1.298,1.166,1.06,0.9734}; - physicsVector = CreatePhysicsVector(E,L_5,factor); - } - else if( ionZ == 6 ) { - G4double L_6[31]={3.003,3.358,3.992,4.538,5.005,5.403,5.74,6.024,6.262,6.98,7.255,7.335,7.324,7.181,6.978,6.756,6.533,6.314,6.104,5.904,5.045,4.386,3.872,3.462,2.853,2.426,2.112,1.872,1.683,1.531,1.405}; - physicsVector = CreatePhysicsVector(E,L_6,factor); - } - else if( ionZ == 7 ) { - G4double L_7[31]={3.237,3.628,4.341,4.97,5.522,6.003,6.421,6.781,7.092,8.093,8.541,8.726,8.781,8.712,8.541,8.332,8.109,7.884,7.662,7.447,6.488,5.72,5.102,4.599,3.832,3.28,2.868,2.548,2.294,2.088,1.918}; - physicsVector = CreatePhysicsVector(E,L_7,factor); - } - else if( ionZ == 8 ) { - G4double L_8[31]={3.448,3.869,4.647,5.349,5.977,6.536,7.03,7.464,7.845,9.135,9.774,10.08,10.22,10.24,10.12,9.934,9.723,9.5,9.274,9.051,8.019,7.157,6.446,5.853,4.931,4.251,3.733,3.327,3.002,2.735,2.514}; - physicsVector = CreatePhysicsVector(E,L_8,factor); - } - else if( ionZ == 9 ) { - G4double L_9[31]={3.63,4.073,4.905,5.665,6.357,6.982,7.543,8.043,8.489,10.06,10.89,11.33,11.55,11.67,11.6,11.45,11.25,11.03,10.81,10.58,9.495,8.562,7.775,7.109,6.053,5.26,4.646,4.158,3.764,3.438,3.166}; - physicsVector = CreatePhysicsVector(E,L_9,factor); - } - else if( ionZ == 10 ) { - G4double L_10[31]={3.799,4.263,5.137,5.946,6.692,7.375,7.996,8.558,9.064,10.91,11.94,12.52,12.83,13.07,13.06,12.94,12.76,12.55,12.33,12.1,10.98,9.992,9.139,8.407,7.228,6.326,5.619,5.051,4.587,4.202,3.877}; - physicsVector = CreatePhysicsVector(E,L_10,factor); - } - else if( ionZ == 11 ) { - G4double L_11[31]={3.933,4.415,5.328,6.184,6.983,7.724,8.407,9.032,9.603,11.75,13.03,13.78,14.23,14.64,14.74,14.69,14.57,14.4,14.2,13.99,12.89,11.86,10.95,10.15,8.813,7.768,6.931,6.25,5.686,5.213,4.812}; - physicsVector = CreatePhysicsVector(E,L_11,factor); - } - else if( ionZ == 12 ) { - G4double L_12[31]={4.086,4.576,5.507,6.386,7.213,7.988,8.709,9.376,9.991,12.35,13.82,14.72,15.26,15.79,15.94,15.92,15.81,15.64,15.44,15.23,14.08,13,12.04,11.2,9.795,8.687,7.795,7.065,6.457,5.945,5.508}; - physicsVector = CreatePhysicsVector(E,L_12,factor); - } - else if( ionZ == 13 ) { - G4double L_13[31]={4.23,4.732,5.684,6.586,7.441,8.25,9.011,9.721,10.38,12.97,14.65,15.71,16.38,17.07,17.32,17.36,17.29,17.15,16.97,16.77,15.64,14.53,13.53,12.64,11.14,9.934,8.956,8.148,7.471,6.896,6.402}; - physicsVector = CreatePhysicsVector(E,L_13,factor); - } - else if( ionZ == 14 ) { - G4double L_14[31]={4.374,4.887,5.858,6.779,7.658,8.495,9.287,10.03,10.73,13.53,15.41,16.63,17.42,18.28,18.64,18.75,18.72,18.61,18.46,18.27,17.15,16.03,14.99,14.06,12.47,11.18,10.13,9.246,8.504,7.87,7.323}; - physicsVector = CreatePhysicsVector(E,L_14,factor); - } - else if( ionZ == 15 ) { - G4double L_15[31]={4.527,5.052,6.042,6.982,7.882,8.744,9.566,10.34,11.08,14.08,16.15,17.55,18.48,19.53,20.01,20.2,20.23,20.17,20.04,19.88,18.82,17.69,16.62,15.65,13.97,12.59,11.45,10.49,9.67,8.968,8.359}; - physicsVector = CreatePhysicsVector(E,L_15,factor); - } - else if( ionZ == 16 ) { - G4double L_16[31]={4.659,5.201,6.216,7.177,8.1,8.985,9.833,10.64,11.41,14.61,16.87,18.43,19.5,20.75,21.36,21.64,21.74,21.72,21.64,21.5,20.5,19.38,18.29,17.29,15.53,14.06,12.84,11.79,10.9,10.13,9.462}; - physicsVector = CreatePhysicsVector(E,L_16,factor); - } - else if( ionZ == 17 ) { - G4double L_17[31]={4.821,5.374,6.409,7.386,8.323,9.227,10.1,10.93,11.72,15.09,17.52,19.25,20.46,21.9,22.64,23.01,23.17,23.2,23.15,23.04,22.11,20.99,19.89,18.86,17.03,15.49,14.19,13.07,12.12,11.28,10.56}; - physicsVector = CreatePhysicsVector(E,L_17,factor); - } - else if( ionZ == 18 ) { - G4double L_18[31]={4.923,5.487,6.539,7.527,8.475,9.391,10.27,11.12,11.94,15.45,18.04,19.92,21.26,22.89,23.75,24.21,24.43,24.51,24.49,24.4,23.52,22.41,21.3,20.24,18.36,16.77,15.4,14.24,13.23,12.35,11.58}; - physicsVector = CreatePhysicsVector(E,L_18,factor); - } - } - - else if( matName == namesMat[13] ) { - if( ionZ == 3 ) { - G4double M_3[31]={3.507,3.775,4.211,4.539,4.78,4.952,5.072,5.152,5.203,5.217,5.066,4.872,4.671,4.291,3.955,3.664,3.41,3.188,2.992,2.819,2.187,1.79,1.517,1.32,1.052,0.8799,0.759,0.6694,0.6001,0.5449,0.4998}; - physicsVector = CreatePhysicsVector(E,M_3,factor); - } - else if( ionZ == 4 ) { - G4double M_4[31]={4.48,4.839,5.448,5.94,6.331,6.635,6.866,7.04,7.169,7.41,7.349,7.185,6.985,6.562,6.159,5.791,5.459,5.16,4.891,4.647,3.713,3.091,2.648,2.319,1.862,1.561,1.348,1.189,1.066,0.9678,0.8876}; - physicsVector = CreatePhysicsVector(E,M_4,factor); - } - else if( ionZ == 5 ) { - G4double M_5[31]={5.276,5.728,6.503,7.151,7.691,8.133,8.489,8.772,8.995,9.539,9.619,9.522,9.352,8.935,8.501,8.087,7.7,7.342,7.013,6.71,5.503,4.657,4.034,3.559,2.884,2.428,2.102,1.856,1.665,1.512,1.386}; - physicsVector = CreatePhysicsVector(E,M_5,factor); - } - else if( ionZ == 6 ) { - G4double M_6[31]={5.909,6.449,7.385,8.181,8.863,9.444,9.93,10.33,10.66,11.57,11.83,11.83,11.71,11.34,10.9,10.46,10.04,9.64,9.265,8.915,7.474,6.421,5.624,5,4.094,3.468,3.012,2.666,2.394,2.175,1.995}; - physicsVector = CreatePhysicsVector(E,M_6,factor); - } - else if( ionZ == 7 ) { - G4double M_7[31]={6.512,7.125,8.193,9.111,9.914,10.61,11.22,11.74,12.17,13.47,13.96,14.09,14.05,13.74,13.33,12.89,12.44,12.02,11.61,11.23,9.59,8.349,7.384,6.615,5.473,4.667,4.07,3.612,3.249,2.956,2.713}; - physicsVector = CreatePhysicsVector(E,M_7,factor); - } - else if( ionZ == 8 ) { - G4double M_8[31]={7.02,7.704,8.902,9.939,10.85,11.67,12.39,13.02,13.56,15.28,16.02,16.3,16.36,16.16,15.79,15.37,14.92,14.48,14.05,13.64,11.84,10.43,9.31,8.399,7.017,6.023,5.275,4.695,4.232,3.855,3.542}; - physicsVector = CreatePhysicsVector(E,M_8,factor); - } - else if( ionZ == 9 ) { - G4double M_9[31]={7.39,8.136,9.451,10.59,11.61,12.53,13.35,14.08,14.72,16.86,17.86,18.3,18.47,18.39,18.07,17.67,17.23,16.79,16.35,15.92,14.01,12.47,11.22,10.19,8.599,7.436,6.549,5.853,5.292,4.832,4.448}; - physicsVector = CreatePhysicsVector(E,M_9,factor); - } - else if( ionZ == 10 ) { - G4double M_10[31]={7.713,8.512,9.933,11.17,12.28,13.29,14.2,15.03,15.76,18.32,19.61,20.23,20.51,20.56,20.32,19.95,19.53,19.09,18.64,18.2,16.2,14.54,13.18,12.04,10.26,8.933,7.909,7.098,6.439,5.894,5.436}; - physicsVector = CreatePhysicsVector(E,M_10,factor); - } - else if( ionZ == 11 ) { - G4double M_11[31]={7.985,8.827,10.34,11.67,12.87,13.95,14.95,15.87,16.7,19.7,21.3,22.14,22.57,22.8,22.65,22.34,21.95,21.52,21.08,20.64,18.56,16.8,15.32,14.07,12.09,10.59,9.417,8.48,7.713,7.076,6.537}; - physicsVector = CreatePhysicsVector(E,M_11,factor); - } - else if( ionZ == 12 ) { - G4double M_12[31]={8.334,9.2,10.77,12.16,13.42,14.58,15.64,16.62,17.53,20.92,22.84,23.9,24.48,24.91,24.87,24.62,24.26,23.86,23.42,22.98,20.86,19,17.43,16.08,13.93,12.27,10.97,9.911,9.042,8.315,7.698}; - physicsVector = CreatePhysicsVector(E,M_12,factor); - } - else if( ionZ == 13 ) { - G4double M_13[31]={8.64,9.535,11.16,12.62,13.95,15.16,16.28,17.33,18.3,22.05,24.28,25.57,26.32,26.96,27.05,26.87,26.57,26.19,25.78,25.35,23.19,21.27,19.61,18.17,15.84,14.04,12.6,11.43,10.46,9.637,8.938}; - physicsVector = CreatePhysicsVector(E,M_13,factor); - } - else if( ionZ == 14 ) { - G4double M_14[31]={8.94,9.859,11.54,13.06,14.44,15.7,16.88,17.97,19,23.07,25.6,27.12,28.03,28.89,29.11,29.02,28.76,28.42,28.03,27.61,25.45,23.47,21.73,20.22,17.75,15.8,14.24,12.96,11.89,10.99,10.21}; - physicsVector = CreatePhysicsVector(E,M_14,factor); - } - else if( ionZ == 15 ) { - G4double M_15[31]={9.314,10.26,11.99,13.56,15,16.32,17.54,18.69,19.76,24.14,26.97,28.71,29.8,30.9,31.27,31.27,31.09,30.8,30.44,30.05,27.91,25.88,24.08,22.49,19.85,17.76,16.07,14.66,13.49,12.49,11.63}; - physicsVector = CreatePhysicsVector(E,M_15,factor); - } - else if( ionZ == 16 ) { - G4double M_16[31]={9.598,10.57,12.37,14,15.49,16.87,18.15,19.34,20.47,25.14,28.27,30.26,31.54,32.89,33.42,33.54,33.43,33.19,32.88,32.51,30.42,28.36,26.49,24.84,22.05,19.81,17.98,16.46,15.17,14.07,13.12}; - physicsVector = CreatePhysicsVector(E,M_16,factor); - } - else if( ionZ == 17 ) { - G4double M_17[31]={9.983,10.97,12.8,14.46,16,17.42,18.74,19.98,21.15,26.06,29.46,31.68,33.13,34.73,35.42,35.64,35.61,35.43,35.15,34.81,32.77,30.69,28.78,27.06,24.15,21.79,19.84,18.21,16.83,15.64,14.61}; - physicsVector = CreatePhysicsVector(E,M_17,factor); - } - else if( ionZ == 18 ) { - G4double M_18[31]={10.18,11.19,13.05,14.75,16.32,17.78,19.14,20.42,21.63,26.77,30.43,32.88,34.52,36.37,37.21,37.55,37.59,37.46,37.22,36.91,34.93,32.84,30.89,29.12,26.11,23.64,21.6,19.88,18.42,17.15,16.05}; - physicsVector = CreatePhysicsVector(E,M_18,factor); - } - } - - else if( matName == namesMat[14] ) { - if( ionZ == 3 ) { - G4double N_3[31]={2.654,2.875,3.232,3.499,3.697,3.84,3.942,4.013,4.059,4.086,3.975,3.828,3.676,3.388,3.134,2.912,2.719,2.548,2.398,2.264,1.77,1.455,1.238,1.08,0.8645,0.7247,0.6264,0.5534,0.4968,0.4516,0.4146}; - physicsVector = CreatePhysicsVector(E,N_3,factor); - } - else if( ionZ == 4 ) { - G4double N_4[31]={3.29,3.594,4.103,4.51,4.833,5.088,5.286,5.438,5.552,5.786,5.758,5.641,5.493,5.179,4.878,4.602,4.351,4.124,3.918,3.731,3.007,2.517,2.165,1.901,1.532,1.287,1.114,0.984,0.8833,0.8027,0.7368}; - physicsVector = CreatePhysicsVector(E,N_4,factor); - } - else if( ionZ == 5 ) { - G4double N_5[31]={3.785,4.166,4.817,5.355,5.801,6.169,6.471,6.715,6.912,7.417,7.519,7.465,7.347,7.046,6.727,6.42,6.131,5.863,5.614,5.384,4.456,3.794,3.301,2.922,2.377,2.007,1.74,1.539,1.381,1.255,1.152}; - physicsVector = CreatePhysicsVector(E,N_5,factor); - } - else if( ionZ == 6 ) { - G4double N_6[31]={4.166,4.615,5.399,6.062,6.626,7.106,7.512,7.852,8.137,8.959,9.23,9.267,9.2,8.94,8.626,8.306,7.995,7.699,7.419,7.155,6.057,5.238,4.609,4.112,3.382,2.873,2.499,2.214,1.99,1.81,1.661}; - physicsVector = CreatePhysicsVector(E,N_6,factor); - } - else if( ionZ == 7 ) { - G4double N_7[31]={4.507,5.009,5.902,6.671,7.339,7.919,8.421,8.854,9.225,10.39,10.86,11.02,11.02,10.84,10.55,10.23,9.915,9.603,9.302,9.015,7.779,6.82,6.063,5.452,4.532,3.876,3.386,3.008,2.708,2.465,2.264}; - physicsVector = CreatePhysicsVector(E,N_7,factor); - } - else if( ionZ == 8 ) { - G4double N_8[31]={4.804,5.352,6.342,7.21,7.973,8.648,9.242,9.765,10.22,11.74,12.44,12.73,12.83,12.74,12.5,12.2,11.89,11.57,11.26,10.95,9.606,8.524,7.649,6.928,5.82,5.012,4.399,3.92,3.536,3.223,2.962}; - physicsVector = CreatePhysicsVector(E,N_8,factor); - } - else if( ionZ == 9 ) { - G4double N_9[31]={5.032,5.618,6.689,7.641,8.489,9.247,9.924,10.53,11.06,12.92,13.86,14.3,14.49,14.51,14.33,14.05,13.75,13.43,13.11,12.8,11.38,10.2,9.227,8.415,7.144,6.199,5.471,4.896,4.431,4.048,3.727}; - physicsVector = CreatePhysicsVector(E,N_9,factor); - } - else if( ionZ == 10 ) { - G4double N_10[31]={5.239,5.856,6.994,8.019,8.942,9.776,10.53,11.21,11.82,14.01,15.19,15.8,16.1,16.25,16.12,15.89,15.6,15.29,14.97,14.65,13.17,11.91,10.85,9.956,8.532,7.456,6.616,5.946,5.399,4.945,4.562}; - physicsVector = CreatePhysicsVector(E,N_10,factor); - } - else if( ionZ == 11 ) { - G4double N_11[31]={5.425,6.072,7.277,8.376,9.379,10.29,11.13,11.89,12.58,15.17,16.66,17.51,17.97,18.33,18.33,18.18,17.95,17.67,17.38,17.07,15.58,14.24,13.08,12.07,10.44,9.172,8.168,7.356,6.687,6.127,5.653}; - physicsVector = CreatePhysicsVector(E,N_11,factor); - } - else if( ionZ == 12 ) { - G4double N_12[31]={5.628,6.282,7.507,8.639,9.68,10.64,11.52,12.33,13.07,15.91,17.62,18.62,19.19,19.67,19.72,19.59,19.36,19.09,18.79,18.47,16.92,15.53,14.32,13.28,11.57,10.24,9.174,8.308,7.589,6.985,6.471}; - physicsVector = CreatePhysicsVector(E,N_12,factor); - } - else if( ionZ == 13 ) { - G4double N_13[31]={5.824,6.493,7.751,8.919,10,11.01,11.94,12.81,13.61,16.73,18.7,19.89,20.61,21.28,21.45,21.38,21.2,20.95,20.67,20.36,18.8,17.37,16.1,14.99,13.15,11.71,10.54,9.579,8.777,8.098,7.517}; - physicsVector = CreatePhysicsVector(E,N_13,factor); - } - else if( ionZ == 14 ) { - G4double N_14[31]={6.02,6.703,7.987,9.187,10.31,11.36,12.34,13.25,14.09,17.47,19.68,21.07,21.94,22.81,23.09,23.1,22.96,22.75,22.48,22.19,20.64,19.16,17.85,16.68,14.73,13.18,11.92,10.87,9.99,9.241,8.596}; - physicsVector = CreatePhysicsVector(E,N_14,factor); - } - else if( ionZ == 15 ) { - G4double N_15[31]={6.246,6.943,8.254,9.482,10.64,11.72,12.74,13.7,14.59,18.21,20.66,22.25,23.28,24.37,24.79,24.89,24.82,24.64,24.41,24.15,22.63,21.13,19.77,18.56,16.5,14.83,13.46,12.31,11.35,10.52,9.8}; - physicsVector = CreatePhysicsVector(E,N_15,factor); - } - else if( ionZ == 16 ) { - G4double N_16[31]={6.433,7.148,8.491,9.751,10.94,12.07,13.12,14.12,15.05,18.91,21.59,23.4,24.59,25.91,26.47,26.67,26.67,26.55,26.35,26.11,24.65,23.15,21.75,20.49,18.32,16.55,15.07,13.83,12.78,11.87,11.08}; - physicsVector = CreatePhysicsVector(E,N_16,factor); - } - else if( ionZ == 17 ) { - G4double N_17[31]={6.668,7.395,8.757,10.04,11.25,12.4,13.49,14.52,15.49,19.55,22.45,24.45,25.81,27.35,28.06,28.36,28.42,28.35,28.19,27.98,26.57,25.07,23.64,22.34,20.08,18.21,16.65,15.32,14.19,13.21,12.35}; - physicsVector = CreatePhysicsVector(E,N_17,factor); - } - else if( ionZ == 18 ) { - G4double N_18[31]={6.799,7.541,8.924,10.22,11.45,12.62,13.74,14.8,15.8,20.04,23.14,25.33,26.84,28.61,29.46,29.86,29.99,29.96,29.84,29.65,28.3,26.79,25.35,24.01,21.68,19.74,18.1,16.71,15.51,14.47,13.56}; - physicsVector = CreatePhysicsVector(E,N_18,factor); - } - } - - else if( matName == namesMat[15] ) { - if( ionZ == 3 ) { - G4double O_3[31]={2.784,3.026,3.417,3.703,3.906,4.047,4.141,4.202,4.238,4.231,4.103,3.948,3.79,3.492,3.23,3.001,2.801,2.625,2.469,2.331,1.821,1.496,1.272,1.108,0.8863,0.7423,0.6413,0.5662,0.5082,0.4618,0.4239}; - physicsVector = CreatePhysicsVector(E,O_3,factor); - } - else if( ionZ == 4 ) { - G4double O_4[31]={3.441,3.767,4.322,4.765,5.11,5.374,5.57,5.714,5.818,6.004,5.951,5.822,5.666,5.341,5.031,4.746,4.487,4.252,4.039,3.845,3.096,2.589,2.225,1.952,1.571,1.319,1.14,1.007,0.9035,0.8208,0.7532}; - physicsVector = CreatePhysicsVector(E,O_4,factor); - } - else if( ionZ == 5 ) { - G4double O_5[31]={3.957,4.361,5.063,5.649,6.133,6.524,6.834,7.078,7.266,7.715,7.782,7.711,7.583,7.27,6.941,6.625,6.327,6.05,5.792,5.554,4.592,3.905,3.395,3.001,2.438,2.057,1.782,1.575,1.413,1.284,1.178}; - physicsVector = CreatePhysicsVector(E,O_5,factor); - } - else if( ionZ == 6 ) { - G4double O_6[31]={4.362,4.834,5.668,6.385,6.997,7.514,7.942,8.292,8.576,9.344,9.568,9.581,9.501,9.227,8.903,8.573,8.253,7.947,7.657,7.384,6.245,5.394,4.741,4.226,3.47,2.944,2.559,2.266,2.036,1.85,1.698}; - physicsVector = CreatePhysicsVector(E,O_6,factor); - } - else if( ionZ == 7 ) { - G4double O_7[31]={4.74,5.265,6.205,7.026,7.747,8.374,8.912,9.367,9.748,10.87,11.29,11.41,11.4,11.19,10.89,10.57,10.24,9.915,9.604,9.307,8.022,7.024,6.237,5.602,4.65,3.971,3.466,3.077,2.769,2.519,2.313}; - physicsVector = CreatePhysicsVector(E,O_7,factor); - } - else if( ionZ == 8 ) { - G4double O_8[31]={5.063,5.635,6.671,7.587,8.405,9.133,9.773,10.33,10.81,12.3,12.94,13.2,13.27,13.16,12.91,12.6,12.27,11.95,11.62,11.31,9.911,8.784,7.871,7.122,5.972,5.136,4.503,4.009,3.615,3.293,3.025}; - physicsVector = CreatePhysicsVector(E,O_8,factor); - } - else if( ionZ == 9 ) { - G4double O_9[31]={7.121,7.892,9.331,10.67,11.93,13.12,14.24,15.31,16.32,20.61,23.59,25.53,26.82,28.26,28.93,29.21,29.27,29.19,29.03,28.81,27.36,25.79,24.3,22.94,20.59,18.64,17.02,15.65,14.48,13.47,12.59}; - physicsVector = CreatePhysicsVector(E,O_9,factor); - } - else if( ionZ == 10 ) { - G4double O_10[31]={5.543,6.188,7.373,8.442,9.413,10.3,11.11,11.84,12.49,14.73,15.84,16.4,16.66,16.77,16.63,16.38,16.08,15.76,15.44,15.11,13.56,12.25,11.15,10.22,8.743,7.63,6.764,6.074,5.512,5.046,4.655}; - physicsVector = CreatePhysicsVector(E,O_10,factor); - } - else if( ionZ == 11 ) { - G4double O_11[31]={5.732,6.403,7.645,8.776,9.811,10.76,11.64,12.45,13.18,15.8,17.2,17.93,18.32,18.59,18.53,18.33,18.06,17.76,17.44,17.11,15.53,14.14,12.95,11.93,10.3,9.044,8.057,7.261,6.609,6.064,5.603}; - physicsVector = CreatePhysicsVector(E,O_11,factor); - } - else if( ionZ == 12 ) { - G4double O_12[31]={5.969,6.654,7.93,9.104,10.19,11.19,12.12,12.99,13.78,16.75,18.42,19.34,19.87,20.29,20.33,20.19,19.95,19.67,19.36,19.04,17.42,15.98,14.72,13.63,11.86,10.48,9.379,8.487,7.749,7.129,6.601}; - physicsVector = CreatePhysicsVector(E,O_12,factor); - } - else if( ionZ == 13 ) { - G4double O_13[31]={6.184,6.887,8.201,9.414,10.54,11.59,12.57,13.48,14.33,17.62,19.56,20.69,21.35,21.96,22.1,22.03,21.84,21.58,21.29,20.98,19.36,17.87,16.55,15.39,13.48,11.98,10.78,9.788,8.963,8.266,7.67}; - physicsVector = CreatePhysicsVector(E,O_13,factor); - } - else if( ionZ == 14 ) { - G4double O_14[31]={6.399,7.118,8.463,9.71,10.87,11.96,12.98,13.94,14.83,18.4,20.6,21.93,22.73,23.53,23.79,23.79,23.64,23.42,23.15,22.85,21.24,19.71,18.33,17.12,15.1,13.49,12.18,11.1,10.2,9.43,8.769}; - physicsVector = CreatePhysicsVector(E,O_14,factor); - } - else if( ionZ == 15 ) { - G4double O_15[31]={6.653,7.389,8.766,10.05,11.24,12.37,13.42,14.42,15.36,19.19,21.66,23.19,24.15,25.16,25.55,25.63,25.56,25.38,25.14,24.87,23.3,21.74,20.32,19.05,16.91,15.18,13.76,12.58,11.58,10.73,9.995}; - physicsVector = CreatePhysicsVector(E,O_15,factor); - } - else if( ionZ == 16 ) { - G4double O_16[31]={6.858,7.616,9.031,10.35,11.58,12.74,13.84,14.87,15.85,19.93,22.66,24.41,25.53,26.76,27.29,27.48,27.47,27.34,27.15,26.9,25.39,23.82,22.36,21.05,18.79,16.94,15.42,14.14,13.05,12.11,11.3}; - physicsVector = CreatePhysicsVector(E,O_16,factor); - } - else if( ionZ == 17 ) { - G4double O_17[31]={7.121,7.892,9.331,10.67,11.93,13.12,14.24,15.31,16.32,20.61,23.59,25.53,26.82,28.26,28.93,29.21,29.27,29.19,29.03,28.81,27.36,25.79,24.3,22.94,20.59,18.64,17.02,15.65,14.48,13.47,12.59}; - physicsVector = CreatePhysicsVector(E,O_17,factor); - } - else if( ionZ == 18 ) { - G4double O_18[31]={7.278,8.066,9.53,10.89,12.17,13.38,14.53,15.62,16.66,21.14,24.34,26.49,27.93,29.6,30.41,30.78,30.91,30.88,30.76,30.57,29.17,27.6,26.09,24.69,22.25,20.22,18.52,17.08,15.84,14.77,13.83}; - physicsVector = CreatePhysicsVector(E,O_18,factor); - } - } - - else if( matName == namesMat[16] ) { - if( ionZ == 3 ) { - G4double P_3[31]={1.023,1.127,1.298,1.427,1.522,1.591,1.641,1.677,1.704,1.755,1.743,1.711,1.671,1.585,1.5,1.42,1.346,1.279,1.218,1.162,0.9451,0.7987,0.6937,0.6149,0.5043,0.4302,0.3768,0.3364,0.3046,0.2788,0.2575}; - physicsVector = CreatePhysicsVector(E,P_3,factor); - } - else if( ionZ == 4 ) { - G4double P_4[31]={1.245,1.386,1.628,1.825,1.983,2.106,2.202,2.276,2.335,2.487,2.524,2.517,2.489,2.41,2.319,2.227,2.138,2.053,1.972,1.897,1.589,1.367,1.201,1.073,0.8873,0.7599,0.667,0.596,0.54,0.4945,0.4569}; - physicsVector = CreatePhysicsVector(E,P_4,factor); - } - else if( ionZ == 5 ) { - G4double P_5[31]={1.418,1.587,1.888,2.146,2.363,2.543,2.689,2.808,2.904,3.184,3.29,3.323,3.32,3.266,3.184,3.091,2.996,2.9,2.808,2.719,2.336,2.043,1.816,1.635,1.366,1.177,1.036,0.9275,0.8412,0.7709,0.7124}; - physicsVector = CreatePhysicsVector(E,P_5,factor); - } - else if( ionZ == 6 ) { - G4double P_6[31]={1.557,1.747,2.097,2.406,2.676,2.91,3.107,3.273,3.411,3.837,4.029,4.114,4.146,4.132,4.07,3.986,3.892,3.794,3.695,3.598,3.158,2.803,2.517,2.285,1.93,1.674,1.48,1.328,1.207,1.107,1.024}; - physicsVector = CreatePhysicsVector(E,P_6,factor); - } - else if( ionZ == 7 ) { - G4double P_7[31]={1.678,1.883,2.268,2.618,2.933,3.213,3.458,3.669,3.85,4.436,4.726,4.876,4.951,4.991,4.96,4.894,4.809,4.715,4.616,4.515,4.036,3.63,3.292,3.011,2.572,2.246,1.995,1.796,1.635,1.502,1.391}; - physicsVector = CreatePhysicsVector(E,P_7,factor); - } - else if( ionZ == 8 ) { - G4double P_8[31]={1.791,2.007,2.419,2.803,3.155,3.476,3.764,4.019,4.242,4.994,5.393,5.614,5.74,5.845,5.854,5.813,5.744,5.658,5.563,5.463,4.961,4.512,4.129,3.802,3.281,2.886,2.576,2.328,2.125,1.955,1.812}; - physicsVector = CreatePhysicsVector(E,P_8,factor); - } - else if( ionZ == 9 ) { - G4double P_9[31]={1.889,2.115,2.548,2.958,3.34,3.694,4.02,4.313,4.575,5.493,6.004,6.304,6.485,6.663,6.716,6.704,6.654,6.58,6.493,6.397,5.885,5.404,4.984,4.62,4.026,3.567,3.201,2.905,2.659,2.453,2.278}; - physicsVector = CreatePhysicsVector(E,P_9,factor); - } - else if( ionZ == 10 ) { - G4double P_10[31]={1.981,2.217,2.667,3.097,3.504,3.885,4.241,4.569,4.867,5.948,6.577,6.96,7.202,7.46,7.564,7.585,7.559,7.501,7.424,7.335,6.824,6.321,5.868,5.47,4.811,4.29,3.871,3.527,3.239,2.996,2.788}; - physicsVector = CreatePhysicsVector(E,P_10,factor); - } - else if( ionZ == 11 ) { - G4double P_11[31]={2.062,2.309,2.776,3.225,3.654,4.061,4.446,4.806,5.138,6.389,7.15,7.631,7.948,8.31,8.483,8.553,8.561,8.529,8.471,8.395,7.906,7.387,6.906,6.472,5.739,5.149,4.665,4.264,3.925,3.637,3.388}; - physicsVector = CreatePhysicsVector(E,P_11,factor); - } - else if( ionZ == 12 ) { - G4double P_12[31]={2.147,2.4,2.877,3.336,3.778,4.201,4.604,4.986,5.344,6.735,7.608,8.174,8.553,9,9.226,9.334,9.368,9.354,9.308,9.241,8.762,8.231,7.73,7.275,6.498,5.865,5.342,4.905,4.532,4.213,3.937}; - physicsVector = CreatePhysicsVector(E,P_12,factor); - } - else if( ionZ == 13 ) { - G4double P_13[31]={2.227,2.489,2.98,3.448,3.903,4.341,4.761,5.163,5.544,7.074,8.069,8.729,9.181,9.73,10.02,10.18,10.25,10.26,10.24,10.19,9.739,9.205,8.686,8.209,7.381,6.698,6.128,5.645,5.233,4.877,4.566}; - physicsVector = CreatePhysicsVector(E,P_13,factor); - } - else if( ionZ == 14 ) { - G4double P_14[31]={2.303,2.574,3.079,3.557,4.021,4.47,4.905,5.322,5.722,7.378,8.491,9.246,9.773,10.43,10.79,11,11.11,11.15,11.15,11.11,10.71,10.17,9.643,9.147,8.275,7.546,6.931,6.407,5.957,5.565,5.222}; - physicsVector = CreatePhysicsVector(E,P_14,factor); - } - else if( ionZ == 15 ) { - G4double P_15[31]={2.379,2.659,3.178,3.665,4.137,4.597,5.043,5.474,5.89,7.66,8.89,9.743,10.35,11.12,11.56,11.83,11.98,12.06,12.08,12.07,11.72,11.2,10.66,10.15,9.236,8.462,7.802,7.235,6.743,6.314,5.935}; - physicsVector = CreatePhysicsVector(E,P_15,factor); - } - else if( ionZ == 16 ) { - G4double P_16[31]={1.791,2.007,2.419,2.803,3.155,3.476,3.764,4.019,4.242,4.994,5.393,5.614,5.74,5.845,5.854,5.813,5.744,5.658,5.563,5.463,4.961,4.512,4.129,3.802,3.281,2.886,2.576,2.328,2.125,1.955,1.812}; - physicsVector = CreatePhysicsVector(E,P_16,factor); - } - else if( ionZ == 17 ) { - G4double P_17[31]={2.525,2.82,3.37,3.879,4.368,4.844,5.308,5.761,6.202,8.163,9.615,10.66,11.42,12.43,13.04,13.43,13.68,13.83,13.92,13.95,13.74,13.26,12.72,12.19,11.21,10.35,9.614,8.967,8.4,7.898,7.452}; - physicsVector = CreatePhysicsVector(E,P_17,factor); - } - else if( ionZ == 18 ) { - G4double P_18[31]={2.583,2.886,3.449,3.97,4.466,4.948,5.419,5.879,6.328,8.364,9.915,11.05,11.89,13.02,13.71,14.16,14.46,14.65,14.76,14.82,14.67,14.22,13.68,13.15,12.14,11.26,10.48,9.805,9.206,8.674,8.2}; - physicsVector = CreatePhysicsVector(E,P_18,factor); - } - } - - else if( matName == namesMat[17] ) { - if( ionZ == 3 ) { - G4double Q_3[31]={2.597,2.831,3.212,3.493,3.691,3.828,3.919,3.977,4.012,4.006,3.89,3.747,3.601,3.326,3.081,2.867,2.679,2.513,2.366,2.235,1.75,1.439,1.224,1.068,0.8543,0.7158,0.6185,0.5463,0.4904,0.4457,0.4092}; - physicsVector = CreatePhysicsVector(E,Q_3,factor); - } - else if( ionZ == 4 ) { - G4double Q_4[31]={3.198,3.511,4.048,4.481,4.821,5.078,5.269,5.409,5.509,5.688,5.643,5.528,5.387,5.088,4.801,4.536,4.294,4.073,3.872,3.689,2.977,2.493,2.144,1.881,1.515,1.273,1.1,0.9718,0.8721,0.7924,0.7272}; - physicsVector = CreatePhysicsVector(E,Q_4,factor); - } - else if( ionZ == 5 ) { - G4double Q_5[31]={3.674,4.056,4.73,5.3,5.774,6.157,6.461,6.698,6.881,7.313,7.382,7.323,7.21,6.926,6.626,6.333,6.056,5.797,5.555,5.331,4.419,3.763,3.273,2.896,2.354,1.985,1.72,1.52,1.365,1.24,1.137}; - physicsVector = CreatePhysicsVector(E,Q_5,factor); - } - else if( ionZ == 6 ) { - G4double Q_6[31]={4.051,4.495,5.289,5.98,6.577,7.083,7.502,7.845,8.121,8.862,9.081,9.103,9.036,8.794,8.5,8.198,7.901,7.617,7.346,7.09,6.012,5.2,4.574,4.079,3.351,2.844,2.472,2.189,1.967,1.787,1.64}; - physicsVector = CreatePhysicsVector(E,Q_6,factor); - } - else if( ionZ == 7 ) { - G4double Q_7[31]={4.399,4.891,5.779,6.565,7.264,7.876,8.403,8.849,9.221,10.31,10.71,10.84,10.84,10.67,10.4,10.11,9.804,9.506,9.216,8.938,7.725,6.775,6.021,5.411,4.493,3.838,3.351,2.975,2.677,2.435,2.235}; - physicsVector = CreatePhysicsVector(E,Q_7,factor); - } - else if( ionZ == 8 ) { - G4double Q_8[31]={4.708,5.245,6.219,7.091,7.878,8.585,9.21,9.755,10.22,11.68,12.29,12.55,12.63,12.55,12.33,12.05,11.76,11.46,11.16,10.87,9.548,8.476,7.603,6.883,5.775,4.967,4.355,3.878,3.496,3.184,2.926}; - physicsVector = CreatePhysicsVector(E,Q_8,factor); - } - else if( ionZ == 9 ) { - G4double Q_9[31]={4.95,5.523,6.572,7.516,8.376,9.161,9.871,10.5,11.06,12.88,13.72,14.1,14.27,14.29,14.12,13.87,13.59,13.29,12.99,12.69,11.3,10.13,9.163,8.353,7.083,6.139,5.414,4.841,4.378,3.998,3.68}; - physicsVector = CreatePhysicsVector(E,Q_9,factor); - } - else if( ionZ == 10 ) { - G4double Q_10[31]={5.171,5.776,6.888,7.895,8.819,9.67,10.45,11.16,11.8,13.98,15.06,15.6,15.86,15.99,15.88,15.67,15.4,15.11,14.81,14.51,13.06,11.82,10.76,9.872,8.452,7.378,6.542,5.875,5.331,4.881,4.502}; - physicsVector = CreatePhysicsVector(E,Q_10,factor); - } - else if( ionZ == 11 ) { - G4double Q_11[31]={5.362,5.997,7.176,8.252,9.245,10.17,11.03,11.82,12.54,15.16,16.55,17.3,17.72,18.06,18.08,17.95,17.74,17.49,17.22,16.93,15.49,14.17,13.02,12.02,10.39,9.122,8.117,7.303,6.634,6.075,5.602}; - physicsVector = CreatePhysicsVector(E,Q_11,factor); - } - else if( ionZ == 12 ) { - G4double Q_12[31]={5.572,6.215,7.413,8.517,9.541,10.5,11.39,12.23,13,15.9,17.51,18.4,18.91,19.35,19.41,19.3,19.1,18.85,18.57,18.27,16.77,15.4,14.21,13.17,11.46,10.13,9.076,8.213,7.499,6.899,6.388}; - physicsVector = CreatePhysicsVector(E,Q_12,factor); - } - else if( ionZ == 13 ) { - G4double Q_13[31]={5.774,6.434,7.668,8.809,9.871,10.87,11.8,12.68,13.51,16.71,18.59,19.68,20.32,20.93,21.1,21.05,20.9,20.67,20.41,20.13,18.63,17.22,15.96,14.86,13.03,11.59,10.43,9.471,8.674,7.999,7.422}; - physicsVector = CreatePhysicsVector(E,Q_13,factor); - } - else if( ionZ == 14 ) { - G4double Q_14[31]={5.976,6.651,7.915,9.089,10.18,11.21,12.18,13.1,13.97,17.45,19.59,20.86,21.64,22.43,22.7,22.73,22.62,22.43,22.19,21.92,20.43,18.99,17.69,16.53,14.59,13.05,11.79,10.74,9.87,9.126,8.486}; - physicsVector = CreatePhysicsVector(E,Q_14,factor); - } - else if( ionZ == 15 ) { - G4double Q_15[31]={6.211,6.903,8.199,9.405,10.53,11.59,12.6,13.55,14.45,18.19,20.58,22.06,22.99,23.98,24.38,24.49,24.45,24.3,24.1,23.86,22.42,20.95,19.61,18.4,16.34,14.68,13.32,12.18,11.21,10.39,9.676}; - physicsVector = CreatePhysicsVector(E,Q_15,factor); - } - else if( ionZ == 16 ) { - G4double Q_16[31]={6.402,7.115,8.448,9.69,10.85,11.95,12.98,13.97,14.91,18.88,21.54,23.22,24.31,25.51,26.05,26.26,26.28,26.19,26.02,25.8,24.43,22.96,21.58,20.33,18.17,16.39,14.92,13.69,12.63,11.73,10.94}; - physicsVector = CreatePhysicsVector(E,Q_16,factor); - } - else if( ionZ == 17 ) { - G4double Q_17[31]={6.647,7.373,8.73,9.996,11.18,12.3,13.37,14.38,15.35,19.51,22.41,24.29,25.53,26.94,27.61,27.91,28,27.96,27.83,27.64,26.33,24.86,23.46,22.16,19.91,18.04,16.48,15.16,14.03,13.05,12.2}; - physicsVector = CreatePhysicsVector(E,Q_17,factor); - } - else if( ionZ == 18 ) { - G4double Q_18[31]={6.781,7.522,8.903,10.19,11.4,12.54,13.62,14.65,15.64,19.98,23.1,25.17,26.56,28.17,28.98,29.37,29.52,29.52,29.42,29.26,28.01,26.54,25.12,23.79,21.47,19.53,17.9,16.51,15.32,14.28,13.38}; - physicsVector = CreatePhysicsVector(E,Q_18,factor); - } - } - - else if( matName == namesMat[18] ) { - if( ionZ == 3 ) { - G4double R_3[31]={2.358,2.573,2.927,3.191,3.383,3.517,3.609,3.671,3.709,3.726,3.628,3.501,3.37,3.119,2.895,2.698,2.524,2.37,2.234,2.112,1.658,1.366,1.163,1.015,0.8137,0.6824,0.59,0.5214,0.4682,0.4258,0.391}; - physicsVector = CreatePhysicsVector(E,R_3,factor); - } - else if( ionZ == 4 ) { - G4double R_4[31]={2.899,3.186,3.682,4.086,4.408,4.656,4.843,4.983,5.085,5.286,5.263,5.166,5.041,4.773,4.512,4.269,4.046,3.842,3.656,3.486,2.822,2.367,2.038,1.79,1.443,1.213,1.05,0.9278,0.8329,0.7571,0.695}; - physicsVector = CreatePhysicsVector(E,R_4,factor); - } - else if( ionZ == 5 ) { - G4double R_5[31]={3.326,3.677,4.296,4.825,5.269,5.633,5.926,6.158,6.34,6.789,6.88,6.841,6.747,6.497,6.226,5.959,5.706,5.467,5.245,5.037,4.188,3.574,3.113,2.757,2.243,1.894,1.642,1.452,1.303,1.184,1.087}; - physicsVector = CreatePhysicsVector(E,R_5,factor); - } - else if( ionZ == 6 ) { - G4double R_6[31]={3.666,4.073,4.802,5.44,5.996,6.471,6.871,7.201,7.471,8.219,8.46,8.503,8.456,8.249,7.988,7.715,7.445,7.185,6.936,6.7,5.699,4.94,4.352,3.886,3.196,2.715,2.361,2.092,1.88,1.709,1.568}; - physicsVector = CreatePhysicsVector(E,R_6,factor); - } - else if( ionZ == 7 ) { - G4double R_7[31]={3.974,4.425,5.241,5.967,6.615,7.188,7.685,8.11,8.47,9.55,9.975,10.12,10.14,10,9.776,9.513,9.24,8.969,8.704,8.448,7.327,6.439,5.732,5.158,4.289,3.667,3.203,2.844,2.56,2.329,2.139}; - physicsVector = CreatePhysicsVector(E,R_7,factor); - } - else if( ionZ == 8 ) { - G4double R_8[31]={4.249,4.74,5.635,6.439,7.168,7.827,8.414,8.93,9.377,10.8,11.43,11.71,11.81,11.77,11.58,11.34,11.08,10.8,10.53,10.26,9.055,8.057,7.239,6.562,5.515,4.748,4.166,3.711,3.346,3.048,2.801}; - physicsVector = CreatePhysicsVector(E,R_8,factor); - } - else if( ionZ == 9 ) { - G4double R_9[31]={4.469,4.993,5.956,6.826,7.623,8.352,9.016,9.611,10.13,11.9,12.75,13.16,13.35,13.4,13.27,13.06,12.81,12.54,12.26,11.99,10.71,9.634,8.728,7.967,6.767,5.871,5.181,4.635,4.193,3.829,3.525}; - physicsVector = CreatePhysicsVector(E,R_9,factor); - } - else if( ionZ == 10 ) { - G4double R_10[31]={4.672,5.224,6.244,7.173,8.027,8.818,9.547,10.21,10.81,12.92,14,14.55,14.84,15.01,14.93,14.75,14.52,14.26,13.99,13.72,12.39,11.23,10.25,9.418,8.077,7.058,6.263,5.627,5.108,4.677,4.314}; - physicsVector = CreatePhysicsVector(E,R_10,factor); - } - else if( ionZ == 11 ) { - G4double R_11[31]={4.841,5.42,6.5,7.49,8.406,9.261,10.06,10.8,11.47,13.97,15.35,16.11,16.54,16.9,16.95,16.85,16.68,16.46,16.21,15.96,14.64,13.43,12.36,11.42,9.896,8.702,7.752,6.981,6.345,5.813,5.362}; - physicsVector = CreatePhysicsVector(E,R_11,factor); - } - else if( ionZ == 12 ) { - G4double R_12[31]={5.029,5.617,6.716,7.735,8.682,9.568,10.4,11.18,11.9,14.66,16.25,17.16,17.68,18.15,18.25,18.17,18,17.78,17.53,17.27,15.9,14.64,13.52,12.55,10.95,9.694,8.688,7.867,7.186,6.613,6.125}; - physicsVector = CreatePhysicsVector(E,R_12,factor); - } - else if( ionZ == 13 ) { - G4double R_13[31]={5.209,5.812,6.943,7.995,8.978,9.901,10.77,11.59,12.36,15.41,17.25,18.34,18.99,19.64,19.83,19.82,19.7,19.51,19.28,19.02,17.66,16.36,15.19,14.16,12.45,11.08,9.982,9.073,8.313,7.669,7.118}; - physicsVector = CreatePhysicsVector(E,R_13,factor); - } - else if( ionZ == 14 ) { - G4double R_14[31]={5.387,6.004,7.163,8.245,9.259,10.21,11.11,11.97,12.78,16.07,18.16,19.43,20.22,21.04,21.34,21.4,21.32,21.16,20.96,20.72,19.37,18.04,16.83,15.76,13.93,12.47,11.28,10.29,9.46,8.75,8.139}; - physicsVector = CreatePhysicsVector(E,R_14,factor); - } - else if( ionZ == 15 ) { - G4double R_15[31]={5.591,6.222,7.409,8.52,9.564,10.54,11.48,12.37,13.21,16.74,19.07,20.53,21.47,22.49,22.92,23.06,23.05,22.94,22.76,22.55,21.25,19.91,18.67,17.54,15.61,14.04,12.75,11.66,10.75,9.965,9.285}; - physicsVector = CreatePhysicsVector(E,R_15,factor); - } - else if( ionZ == 16 ) { - G4double R_16[31]={5.759,6.409,7.629,8.771,9.848,10.86,11.82,12.74,13.62,17.37,19.93,21.6,22.69,23.91,24.48,24.72,24.77,24.71,24.57,24.39,23.16,21.82,20.55,19.38,17.35,15.68,14.29,13.12,12.11,11.25,10.5}; - physicsVector = CreatePhysicsVector(E,R_16,factor); - } - else if( ionZ == 17 ) { - G4double R_17[31]={5.972,6.633,7.875,9.04,10.14,11.18,12.17,13.11,14.02,17.94,20.73,22.58,23.82,25.25,25.95,26.28,26.4,26.38,26.28,26.13,24.97,23.63,22.33,21.13,19.02,17.26,15.79,14.53,13.45,12.52,11.71}; - physicsVector = CreatePhysicsVector(E,R_17,factor); - } - else if( ionZ == 18 ) { - G4double R_18[31]={6.093,6.768,8.031,9.213,10.33,11.39,12.39,13.36,14.28,18.36,21.35,23.39,24.78,26.41,27.24,27.65,27.83,27.86,27.8,27.67,26.56,25.23,23.92,22.68,20.52,18.69,17.14,15.83,14.69,13.71,12.84}; - physicsVector = CreatePhysicsVector(E,R_18,factor); - } - } - - else if( matName == namesMat[19] ) { - if( ionZ == 3 ) { - G4double S_3[31]={3.038,3.3,3.719,4.021,4.232,4.375,4.469,4.527,4.56,4.531,4.384,4.211,4.037,3.712,3.428,3.181,2.966,2.777,2.61,2.462,1.918,1.574,1.337,1.164,0.9296,0.778,0.6717,0.5928,0.5318,0.4832,0.4433}; - physicsVector = CreatePhysicsVector(E,S_3,factor); - } - else if( ionZ == 4 ) { - G4double S_4[31]={3.761,4.114,4.711,5.183,5.547,5.82,6.02,6.164,6.267,6.432,6.358,6.209,6.036,5.678,5.34,5.03,4.751,4.498,4.269,4.062,3.261,2.722,2.337,2.048,1.647,1.382,1.194,1.054,0.9453,0.8586,0.7877}; - physicsVector = CreatePhysicsVector(E,S_4,factor); - } - else if( ionZ == 5 ) { - G4double S_5[31]={4.329,4.766,5.525,6.153,6.667,7.077,7.399,7.648,7.839,8.273,8.318,8.226,8.079,7.729,7.368,7.023,6.7,6.4,6.123,5.866,4.837,4.106,3.565,3.149,2.555,2.154,1.865,1.647,1.478,1.342,1.231}; - physicsVector = CreatePhysicsVector(E,S_5,factor); - } - else if( ionZ == 6 ) { - G4double S_6[31]={4.774,5.286,6.188,6.959,7.613,8.16,8.609,8.972,9.264,10.03,10.23,10.22,10.12,9.809,9.45,9.088,8.738,8.406,8.093,7.799,6.576,5.669,4.976,4.431,3.634,3.081,2.677,2.369,2.128,1.934,1.774}; - physicsVector = CreatePhysicsVector(E,S_6,factor); - } - else if( ionZ == 7 ) { - G4double S_7[31]={5.194,5.763,6.779,7.664,8.436,9.103,9.671,10.15,10.54,11.67,12.07,12.17,12.14,11.9,11.56,11.2,10.84,10.49,10.15,9.827,8.445,7.38,6.543,5.872,4.867,4.154,3.624,3.216,2.893,2.632,2.416}; - physicsVector = CreatePhysicsVector(E,S_7,factor); - } - else if( ionZ == 8 ) { - G4double S_8[31]={5.553,6.174,7.294,8.281,9.159,9.936,10.61,11.2,11.7,13.23,13.85,14.09,14.14,13.99,13.7,13.35,13,12.64,12.28,11.94,10.43,9.228,8.257,7.463,6.249,5.369,4.705,4.188,3.775,3.438,3.158}; - physicsVector = CreatePhysicsVector(E,S_8,factor); - } - else if( ionZ == 9 ) { - G4double S_9[31]={5.826,6.49,7.698,8.774,9.741,10.61,11.39,12.07,12.67,14.59,15.45,15.83,15.97,15.92,15.68,15.36,15.01,14.65,14.3,13.94,12.34,11.03,9.95,9.055,7.662,6.633,5.845,5.225,4.725,4.313,3.97}; - physicsVector = CreatePhysicsVector(E,S_9,factor); - } - else if( ionZ == 10 ) { - G4double S_10[31]={6.073,6.774,8.058,9.21,10.25,11.21,12.07,12.84,13.53,15.85,16.96,17.5,17.75,17.82,17.64,17.35,17.02,16.66,16.3,15.94,14.27,12.87,11.69,10.7,9.143,7.971,7.062,6.339,5.751,5.264,4.855}; - physicsVector = CreatePhysicsVector(E,S_10,factor); - } - else if( ionZ == 11 ) { - G4double S_11[31]={6.28,7.01,8.355,9.574,10.69,11.71,12.65,13.51,14.28,17.02,18.42,19.15,19.52,19.75,19.66,19.42,19.11,18.77,18.42,18.06,16.34,14.85,13.58,12.5,10.77,9.448,8.411,7.577,6.894,6.324,5.843}; - physicsVector = CreatePhysicsVector(E,S_11,factor); - } - else if( ionZ == 12 ) { - G4double S_12[31]={6.544,7.288,8.67,9.936,11.1,12.18,13.17,14.1,14.94,18.04,19.74,20.67,21.17,21.57,21.57,21.39,21.12,20.8,20.45,20.1,18.35,16.78,15.44,14.28,12.4,10.95,9.793,8.857,8.083,7.434,6.883}; - physicsVector = CreatePhysicsVector(E,S_12,factor); - } - else if( ionZ == 13 ) { - G4double S_13[31]={6.783,7.547,8.969,10.28,11.49,12.61,13.66,14.64,15.54,18.99,20.98,22.11,22.76,23.34,23.45,23.34,23.11,22.82,22.5,22.15,20.39,18.77,17.36,16.13,14.11,12.52,11.25,10.21,9.349,8.619,7.996}; - physicsVector = CreatePhysicsVector(E,S_13,factor); - } - else if( ionZ == 14 ) { - G4double S_14[31]={7.021,7.803,9.26,10.61,11.86,13.02,14.11,15.13,16.09,19.85,22.11,23.44,24.24,25.01,25.24,25.2,25.02,24.76,24.46,24.13,22.37,20.71,19.24,17.94,15.8,14.1,12.72,11.59,10.64,9.832,9.14}; - physicsVector = CreatePhysicsVector(E,S_14,factor); - } - else if( ionZ == 15 ) { - G4double S_15[31]={7.309,8.11,9.602,10.98,12.27,13.47,14.6,15.67,16.67,20.71,23.26,24.8,25.76,26.75,27.11,27.16,27.05,26.84,26.57,26.26,24.53,22.85,21.32,19.97,17.68,15.86,14.36,13.12,12.08,11.18,10.41}; - physicsVector = CreatePhysicsVector(E,S_15,factor); - } - else if( ionZ == 16 ) { - G4double S_16[31]={7.538,8.363,9.898,11.32,12.65,13.89,15.06,16.17,17.21,21.53,24.36,26.12,27.25,28.46,28.96,29.12,29.08,28.92,28.68,28.4,26.74,25.03,23.47,22.05,19.65,17.7,16.09,14.74,13.6,12.62,11.77}; - physicsVector = CreatePhysicsVector(E,S_16,factor); - } - else if( ionZ == 17 ) { - G4double S_17[31]={7.835,8.674,10.23,11.68,13.04,14.31,15.51,16.65,17.73,22.27,25.36,27.34,28.63,30.06,30.7,30.95,30.98,30.87,30.67,30.42,28.81,27.1,25.5,24.04,21.53,19.47,17.76,16.32,15.09,14.03,13.11}; - physicsVector = CreatePhysicsVector(E,S_17,factor); - } - else if( ionZ == 18 ) { - G4double S_18[31]={8.007,8.865,10.45,11.92,13.3,14.6,15.82,16.99,18.1,22.84,26.18,28.37,29.83,31.48,32.27,32.61,32.71,32.65,32.49,32.26,30.71,28.99,27.36,25.86,23.27,21.12,19.33,17.81,16.51,15.38,14.4}; - physicsVector = CreatePhysicsVector(E,S_18,factor); - } - } - - else if( matName == namesMat[20] ) { - if( ionZ == 3 ) { - G4double T_3[31]={2.242,2.448,2.786,3.041,3.229,3.363,3.457,3.52,3.562,3.591,3.503,3.385,3.26,3.021,2.806,2.617,2.45,2.302,2.17,2.052,1.613,1.331,1.134,0.9906,0.7941,0.6663,0.5764,0.5095,0.4576,0.4162,0.3823}; - physicsVector = CreatePhysicsVector(E,T_3,factor); - } - else if( ionZ == 4 ) { - G4double T_4[31]={2.756,3.03,3.503,3.891,4.203,4.446,4.632,4.772,4.877,5.093,5.081,4.993,4.877,4.622,4.373,4.14,3.926,3.73,3.552,3.388,2.746,2.306,1.987,1.746,1.409,1.185,1.025,0.9067,0.8141,0.7401,0.6796}; - physicsVector = CreatePhysicsVector(E,T_4,factor); - } - else if( ionZ == 5 ) { - G4double T_5[31]={3.161,3.495,4.086,4.592,5.019,5.372,5.66,5.889,6.072,6.535,6.639,6.611,6.525,6.291,6.033,5.779,5.536,5.308,5.094,4.894,4.076,3.482,3.035,2.689,2.19,1.85,1.604,1.419,1.274,1.158,1.063}; - physicsVector = CreatePhysicsVector(E,T_5,factor); - } - else if( ionZ == 6 ) { - G4double T_6[31]={3.482,3.87,4.566,5.176,5.709,6.168,6.556,6.88,7.147,7.905,8.161,8.215,8.177,7.987,7.741,7.482,7.224,6.975,6.737,6.51,5.547,4.814,4.244,3.791,3.121,2.653,2.308,2.045,1.838,1.671,1.534}; - physicsVector = CreatePhysicsVector(E,T_6,factor); - } - else if( ionZ == 7 ) { - G4double T_7[31]={3.769,4.2,4.981,5.675,6.296,6.847,7.328,7.742,8.095,9.177,9.617,9.778,9.808,9.69,9.475,9.225,8.966,8.707,8.454,8.209,7.131,6.275,5.59,5.034,4.19,3.584,3.132,2.782,2.504,2.279,2.093}; - physicsVector = CreatePhysicsVector(E,T_7,factor); - } - else if( ionZ == 8 ) { - G4double T_8[31]={4.026,4.495,5.352,6.122,6.821,7.453,8.019,8.519,8.955,10.37,11.02,11.3,11.41,11.39,11.22,11,10.75,10.49,10.23,9.978,8.813,7.851,7.061,6.405,5.388,4.642,4.074,3.63,3.274,2.983,2.742}; - physicsVector = CreatePhysicsVector(E,T_8,factor); - } - else if( ionZ == 9 ) { - G4double T_9[31]={4.235,4.735,5.656,6.491,7.254,7.955,8.593,9.168,9.679,11.42,12.28,12.71,12.9,12.98,12.86,12.67,12.43,12.18,11.91,11.65,10.43,9.391,8.515,7.778,6.613,5.742,5.069,4.536,4.104,3.749,3.451}; - physicsVector = CreatePhysicsVector(E,T_9,factor); - } - else if( ionZ == 10 ) { - G4double T_10[31]={4.427,4.954,5.93,6.821,7.641,8.4,9.1,9.742,10.32,12.39,13.48,14.05,14.34,14.53,14.48,14.32,14.1,13.85,13.6,13.33,12.07,10.95,10,9.197,7.895,6.904,6.129,5.508,5.001,4.58,4.225}; - physicsVector = CreatePhysicsVector(E,T_10,factor); - } - else if( ionZ == 11 ) { - G4double T_11[31]={4.585,5.138,6.169,7.118,7.997,8.817,9.583,10.29,10.94,13.38,14.75,15.53,15.97,16.35,16.41,16.32,16.16,15.95,15.72,15.48,14.22,13.06,12.03,11.13,9.654,8.497,7.574,6.824,6.205,5.686,5.247}; - physicsVector = CreatePhysicsVector(E,T_11,factor); - } - else if( ionZ == 12 ) { - G4double T_12[31]={4.762,5.323,6.375,7.352,8.263,9.115,9.915,10.66,11.36,14.05,15.64,16.55,17.09,17.58,17.69,17.63,17.48,17.27,17.04,16.79,15.48,14.27,13.19,12.25,10.7,9.481,8.502,7.701,7.036,6.476,5.999}; - physicsVector = CreatePhysicsVector(E,T_12,factor); - } - else if( ionZ == 13 ) { - G4double T_13[31]={4.93,5.505,6.587,7.597,8.542,9.43,10.26,11.06,11.8,14.76,16.59,17.68,18.35,19.01,19.23,19.23,19.12,18.94,18.73,18.49,17.19,15.94,14.82,13.83,12.16,10.84,9.767,8.881,8.14,7.511,6.972}; - physicsVector = CreatePhysicsVector(E,T_13,factor); - } - else if( ionZ == 14 ) { - G4double T_14[31]={5.097,5.685,6.793,7.83,8.806,9.725,10.59,11.42,12.2,15.39,17.45,18.73,19.54,20.37,20.69,20.77,20.7,20.56,20.36,20.14,18.86,17.59,16.42,15.38,13.62,12.2,11.04,10.07,9.264,8.571,7.973}; - physicsVector = CreatePhysicsVector(E,T_14,factor); - } - else if( ionZ == 15 ) { - G4double T_15[31]={5.283,5.884,7.018,8.083,9.087,10.03,10.93,11.79,12.61,16.02,18.32,19.79,20.74,21.77,22.22,22.38,22.38,22.28,22.12,21.92,20.69,19.41,18.21,17.12,15.26,13.74,12.48,11.42,10.53,9.763,9.098}; - physicsVector = CreatePhysicsVector(E,T_15,factor); - } - else if( ionZ == 16 ) { - G4double T_16[31]={5.44,6.058,7.223,8.317,9.352,10.33,11.26,12.15,12.99,16.62,19.14,20.8,21.9,23.15,23.73,23.98,24.05,24,23.88,23.71,22.54,21.26,20.04,18.91,16.96,15.34,13.99,12.84,11.87,11.02,10.29}; - physicsVector = CreatePhysicsVector(E,T_16,factor); - } - else if( ionZ == 17 ) { - G4double T_17[31]={5.636,6.266,7.45,8.566,9.623,10.62,11.58,12.49,13.36,17.16,19.89,21.74,22.99,24.44,25.16,25.5,25.63,25.63,25.54,25.4,24.3,23.03,21.79,20.63,18.59,16.89,15.45,14.23,13.18,12.27,11.48}; - physicsVector = CreatePhysicsVector(E,T_17,factor); - } - else if( ionZ == 18 ) { - G4double T_18[31]={5.751,6.393,7.597,8.728,9.803,10.82,11.79,12.73,13.62,17.56,20.49,22.52,23.91,25.56,26.4,26.83,27.02,27.07,27.02,26.9,25.86,24.59,23.33,22.15,20.05,18.28,16.78,15.5,14.4,13.43,12.59}; - physicsVector = CreatePhysicsVector(E,T_18,factor); - } - } - - else if( matName == namesMat[21] ) { - if( ionZ == 3 ) { - G4double U_3[31]={2.534,2.757,3.121,3.391,3.587,3.725,3.82,3.884,3.924,3.937,3.829,3.69,3.547,3.276,3.035,2.824,2.639,2.476,2.331,2.202,1.725,1.42,1.208,1.054,0.8438,0.7073,0.6114,0.5401,0.485,0.4409,0.4048}; - physicsVector = CreatePhysicsVector(E,U_3,factor); - } - else if( ionZ == 4 ) { - G4double U_4[31]={3.127,3.427,3.941,4.355,4.683,4.936,5.128,5.272,5.378,5.583,5.551,5.442,5.304,5.011,4.728,4.466,4.228,4.011,3.814,3.634,2.934,2.458,2.114,1.857,1.496,1.257,1.088,0.9608,0.8624,0.7838,0.7194}; - physicsVector = CreatePhysicsVector(E,U_4,factor); - } - else if( ionZ == 5 ) { - G4double U_5[31]={3.592,3.963,4.61,5.155,5.609,5.981,6.28,6.518,6.705,7.168,7.256,7.206,7.097,6.819,6.523,6.234,5.961,5.706,5.468,5.248,4.352,3.709,3.228,2.857,2.324,1.961,1.7,1.503,1.349,1.226,1.125}; - physicsVector = CreatePhysicsVector(E,U_5,factor); - } - else if( ionZ == 6 ) { - G4double U_6[31]={3.958,4.39,5.159,5.822,6.393,6.88,7.288,7.625,7.902,8.673,8.918,8.952,8.892,8.656,8.367,8.068,7.776,7.496,7.23,6.978,5.92,5.124,4.51,4.024,3.308,2.809,2.443,2.164,1.945,1.768,1.623}; - physicsVector = CreatePhysicsVector(E,U_6,factor); - } - else if( ionZ == 7 ) { - G4double U_7[31]={4.294,4.776,5.641,6.401,7.071,7.659,8.167,8.602,8.969,10.08,10.51,10.66,10.67,10.5,10.24,9.947,9.649,9.355,9.07,8.796,7.607,6.675,5.936,5.338,4.436,3.792,3.312,2.941,2.647,2.409,2.212}; - physicsVector = CreatePhysicsVector(E,U_7,factor); - } - else if( ionZ == 8 ) { - G4double U_8[31]={4.583,5.108,6.06,6.907,7.666,8.345,8.947,9.474,9.931,11.4,12.05,12.32,12.41,12.34,12.13,11.86,11.57,11.27,10.98,10.69,9.398,8.348,7.493,6.788,5.701,4.907,4.305,3.835,3.458,3.151,2.895}; - physicsVector = CreatePhysicsVector(E,U_8,factor); - } - else if( ionZ == 9 ) { - G4double U_9[31]={4.813,5.373,6.399,7.321,8.155,8.912,9.594,10.2,10.74,12.56,13.43,13.85,14.03,14.06,13.9,13.65,13.37,13.08,12.78,12.49,11.12,9.983,9.035,8.241,6.995,6.067,5.353,4.789,4.333,3.957,3.643}; - physicsVector = CreatePhysicsVector(E,U_9,factor); - } - else if( ionZ == 10 ) { - G4double U_10[31]={5.022,5.613,6.702,7.688,8.588,9.413,10.17,10.85,11.47,13.63,14.74,15.31,15.59,15.74,15.64,15.43,15.17,14.88,14.59,14.29,12.87,11.65,10.62,9.745,8.351,7.295,6.472,5.814,5.278,4.833,4.458}; - physicsVector = CreatePhysicsVector(E,U_10,factor); - } - else if( ionZ == 11 ) { - G4double U_11[31]={5.194,5.808,6.949,7.992,8.951,9.836,10.65,11.41,12.1,14.61,15.99,16.74,17.14,17.44,17.42,17.26,17.03,16.76,16.47,16.18,14.73,13.44,12.33,11.38,9.835,8.647,7.709,6.952,6.329,5.808,5.368}; - physicsVector = CreatePhysicsVector(E,U_11,factor); - } - else if( ionZ == 12 ) { - G4double U_12[31]={5.404,6.031,7.205,8.289,9.292,10.22,11.09,11.9,12.65,15.48,17.11,18.05,18.58,19.05,19.12,19.01,18.81,18.56,18.28,17.99,16.52,15.18,14.01,12.99,11.32,10.02,8.974,8.125,7.421,6.829,6.325}; - physicsVector = CreatePhysicsVector(E,U_12,factor); - } - else if( ionZ == 13 ) { - G4double U_13[31]={5.596,6.24,7.447,8.566,9.609,10.58,11.5,12.35,13.15,16.27,18.17,19.29,19.97,20.61,20.78,20.74,20.59,20.37,20.11,19.83,18.36,16.97,15.75,14.67,12.87,11.46,10.31,9.371,8.585,7.92,7.35}; - physicsVector = CreatePhysicsVector(E,U_13,factor); - } - else if( ionZ == 14 ) { - G4double U_14[31]={5.788,6.446,7.681,8.832,9.908,10.92,11.87,12.76,13.6,16.98,19.13,20.44,21.26,22.08,22.37,22.4,22.29,22.1,21.87,21.6,20.14,18.72,17.45,16.32,14.42,12.9,11.66,10.63,9.77,9.036,8.404}; - physicsVector = CreatePhysicsVector(E,U_14,factor); - } - else if( ionZ == 15 ) { - G4double U_15[31]={6.009,6.682,7.945,9.126,10.23,11.28,12.26,13.19,14.07,17.7,20.09,21.6,22.57,23.6,24.02,24.14,24.09,23.95,23.75,23.51,22.09,20.66,19.34,18.16,16.14,14.51,13.17,12.05,11.1,10.29,9.584}; - physicsVector = CreatePhysicsVector(E,U_15,factor); - } - else if( ionZ == 16 ) { - G4double U_16[31]={6.191,6.883,8.18,9.394,10.54,11.61,12.63,13.6,14.52,18.37,21.01,22.72,23.85,25.1,25.65,25.87,25.89,25.8,25.64,25.42,24.07,22.63,21.28,20.06,17.94,16.2,14.76,13.54,12.51,11.61,10.84}; - physicsVector = CreatePhysicsVector(E,U_16,factor); - } - else if( ionZ == 17 ) { - G4double U_17[31]={6.421,7.126,8.445,9.68,10.85,11.95,13,13.99,14.94,18.98,21.85,23.76,25.04,26.5,27.19,27.5,27.59,27.55,27.42,27.24,25.94,24.51,23.14,21.87,19.66,17.83,16.3,15,13.89,12.92,12.08}; - physicsVector = CreatePhysicsVector(E,U_17,factor); - } - else if( ionZ == 18 ) { - G4double U_18[31]={6.564,7.283,8.624,9.878,11.06,12.19,13.26,14.28,15.25,19.47,22.54,24.64,26.08,27.75,28.59,28.99,29.15,29.15,29.06,28.9,27.66,26.23,24.83,23.53,21.25,19.35,17.74,16.37,15.19,14.17,13.27}; - physicsVector = CreatePhysicsVector(E,U_18,factor); - } - } - - else if( matName == namesMat[22] ) { - if( ionZ == 3 ) { - G4double V_3[31]={2.541,2.772,3.148,3.426,3.623,3.759,3.849,3.907,3.942,3.94,3.827,3.688,3.546,3.276,3.037,2.827,2.642,2.479,2.335,2.206,1.728,1.422,1.21,1.055,0.8447,0.7079,0.6118,0.5404,0.4851,0.441,0.4049}; - physicsVector = CreatePhysicsVector(E,V_3,factor); - } - else if( ionZ == 4 ) { - G4double V_4[31]={3.127,3.434,3.963,4.392,4.729,4.984,5.174,5.313,5.413,5.594,5.553,5.441,5.304,5.014,4.733,4.473,4.236,4.019,3.822,3.642,2.941,2.463,2.119,1.86,1.498,1.259,1.088,0.9614,0.8628,0.784,0.7195}; - physicsVector = CreatePhysicsVector(E,V_4,factor); - } - else if( ionZ == 5 ) { - G4double V_5[31]={3.591,3.966,4.629,5.192,5.661,6.041,6.342,6.577,6.759,7.191,7.263,7.208,7.1,6.825,6.532,6.246,5.974,5.72,5.483,5.263,4.366,3.719,3.236,2.863,2.328,1.964,1.702,1.504,1.35,1.227,1.126}; - physicsVector = CreatePhysicsVector(E,V_5,factor); - } - else if( ionZ == 6 ) { - G4double V_6[31]={3.96,4.395,5.175,5.856,6.445,6.946,7.362,7.702,7.977,8.714,8.935,8.961,8.899,8.665,8.38,8.085,7.795,7.517,7.251,7,5.94,5.14,4.523,4.035,3.315,2.814,2.446,2.166,1.946,1.769,1.623}; - physicsVector = CreatePhysicsVector(E,V_6,factor); - } - else if( ionZ == 7 ) { - G4double V_7[31]={4.304,4.787,5.659,6.433,7.122,7.727,8.249,8.691,9.061,10.14,10.55,10.68,10.68,10.51,10.26,9.969,9.674,9.383,9.099,8.826,7.635,6.699,5.955,5.353,4.446,3.799,3.316,2.944,2.649,2.41,2.213}; - physicsVector = CreatePhysicsVector(E,V_7,factor); - } - else if( ionZ == 8 ) { - G4double V_8[31]={4.602,5.127,6.083,6.94,7.716,8.414,9.032,9.572,10.04,11.48,12.09,12.35,12.44,12.36,12.15,11.89,11.6,11.31,11.01,10.73,9.436,8.381,7.52,6.81,5.715,4.916,4.311,3.839,3.461,3.152,2.896}; - physicsVector = CreatePhysicsVector(E,V_8,factor); - } - else if( ionZ == 9 ) { - G4double V_9[31]={4.84,5.401,6.429,7.356,8.203,8.977,9.679,10.3,10.85,12.66,13.5,13.88,14.05,14.08,13.92,13.68,13.41,13.12,12.82,12.53,11.16,10.02,9.063,8.264,7.01,6.077,5.359,4.792,4.334,3.958,3.643}; - physicsVector = CreatePhysicsVector(E,V_9,factor); - } - else if( ionZ == 10 ) { - G4double V_10[31]={5.057,5.649,6.739,7.728,8.637,9.476,10.25,10.95,11.58,13.75,14.82,15.35,15.62,15.76,15.66,15.46,15.2,14.92,14.62,14.33,12.91,11.68,10.65,9.768,8.365,7.304,6.477,5.817,5.278,4.832,4.457}; - physicsVector = CreatePhysicsVector(E,V_10,factor); - } - else if( ionZ == 11 ) { - G4double V_11[31]={5.234,5.85,6.992,8.036,8.999,9.896,10.73,11.5,12.21,14.75,16.08,16.8,17.18,17.46,17.44,17.29,17.06,16.8,16.51,16.22,14.77,13.48,12.36,11.4,9.853,8.658,7.716,6.955,6.33,5.809,5.367}; - physicsVector = CreatePhysicsVector(E,V_11,factor); - } - else if( ionZ == 12 ) { - G4double V_12[31]={5.449,6.079,7.253,8.337,9.343,10.28,11.16,11.99,12.75,15.62,17.22,18.12,18.62,19.06,19.13,19.03,18.84,18.59,18.32,18.04,16.57,15.22,14.05,13.02,11.34,10.03,8.983,8.13,7.423,6.83,6.324}; - physicsVector = CreatePhysicsVector(E,V_12,factor); - } - else if( ionZ == 13 ) { - G4double V_13[31]={5.647,6.293,7.503,8.623,9.666,10.64,11.57,12.43,13.25,16.42,18.29,19.37,20.01,20.63,20.8,20.76,20.61,20.4,20.15,19.87,18.41,17.02,15.79,14.7,12.9,11.47,10.32,9.377,8.588,7.921,7.35}; - physicsVector = CreatePhysicsVector(E,V_13,factor); - } - else if( ionZ == 14 ) { - G4double V_14[31]={5.843,6.505,7.745,8.897,9.973,10.98,11.94,12.84,13.7,17.14,19.26,20.53,21.31,22.1,22.38,22.42,22.31,22.13,21.9,21.64,20.19,18.77,17.49,16.35,14.44,12.91,11.67,10.64,9.772,9.036,8.403}; - physicsVector = CreatePhysicsVector(E,V_14,factor); - } - else if( ionZ == 15 ) { - G4double V_15[31]={6.072,6.75,8.021,9.205,10.31,11.35,12.34,13.28,14.17,17.87,20.25,21.71,22.64,23.63,24.04,24.16,24.12,23.98,23.79,23.55,22.15,20.71,19.39,18.2,16.17,14.53,13.18,12.06,11.1,10.29,9.583}; - physicsVector = CreatePhysicsVector(E,V_15,factor); - } - else if( ionZ == 16 ) { - G4double V_16[31]={6.259,6.957,8.265,9.483,10.63,11.7,12.72,13.69,14.62,18.55,21.18,22.85,23.93,25.13,25.68,25.89,25.92,25.84,25.68,25.47,24.14,22.7,21.35,20.11,17.98,16.23,14.78,13.55,12.51,11.62,10.84}; - physicsVector = CreatePhysicsVector(E,V_16,factor); - } - else if( ionZ == 17 ) { - G4double V_17[31]={6.496,7.208,8.54,9.782,10.95,12.05,13.09,14.09,15.04,19.17,22.04,23.91,25.14,26.54,27.22,27.53,27.62,27.59,27.47,27.29,26.01,24.58,23.2,21.92,19.7,17.86,16.32,15.01,13.89,12.93,12.08}; - physicsVector = CreatePhysicsVector(E,V_17,factor); - } - else if( ionZ == 18 ) { - G4double V_18[31]={6.642,7.369,8.724,9.986,11.17,12.3,13.36,14.38,15.35,19.64,22.74,24.8,26.18,27.8,28.61,29,29.17,29.18,29.09,28.94,27.73,26.29,24.89,23.58,21.29,19.37,17.75,16.37,15.19,14.16,13.27}; - physicsVector = CreatePhysicsVector(E,V_18,factor); - } - } - - else if( matName == namesMat[23] ) { - if( ionZ == 3 ) { - G4double W_3[31]={1.603,1.75,1.999,2.196,2.352,2.474,2.568,2.64,2.694,2.799,2.774,2.705,2.623,2.454,2.295,2.151,2.023,1.908,1.804,1.711,1.358,1.127,0.965,0.8452,0.6807,0.573,0.4969,0.4401,0.396,0.3606,0.3316}; - physicsVector = CreatePhysicsVector(E,W_3,factor); - } - else if( ionZ == 4 ) { - G4double W_4[31]={1.976,2.173,2.518,2.808,3.052,3.255,3.421,3.556,3.665,3.952,4.014,3.986,3.921,3.751,3.572,3.4,3.238,3.088,2.949,2.821,2.31,1.952,1.69,1.49,1.209,1.02,0.8848,0.7835,0.7046,0.6415,0.5896}; - physicsVector = CreatePhysicsVector(E,W_4,factor); - } - else if( ionZ == 5 ) { - G4double W_5[31]={2.267,2.509,2.939,3.312,3.636,3.916,4.156,4.36,4.531,5.044,5.229,5.268,5.24,5.101,4.924,4.74,4.56,4.387,4.224,4.07,3.425,2.946,2.581,2.295,1.879,1.593,1.385,1.227,1.104,1.005,0.923}; - physicsVector = CreatePhysicsVector(E,W_5,factor); - } - else if( ionZ == 6 ) { - G4double W_6[31]={2.498,2.779,3.287,3.735,4.133,4.486,4.798,5.069,5.305,6.07,6.406,6.535,6.56,6.474,6.317,6.136,5.949,5.764,5.584,5.412,4.66,4.073,3.609,3.237,2.679,2.285,1.994,1.77,1.594,1.451,1.333}; - physicsVector = CreatePhysicsVector(E,W_6,factor); - } - else if( ionZ == 7 ) { - G4double W_7[31]={2.696,3.008,3.579,4.091,4.554,4.973,5.349,5.685,5.983,7.012,7.524,7.764,7.86,7.853,7.732,7.566,7.384,7.196,7.008,6.824,5.991,5.311,4.757,4.3,3.6,3.092,2.709,2.411,2.174,1.981,1.821}; - physicsVector = CreatePhysicsVector(E,W_7,factor); - } - else if( ionZ == 8 ) { - G4double W_8[31]={2.869,3.207,3.834,4.403,4.924,5.401,5.838,6.234,6.591,7.882,8.584,8.951,9.133,9.225,9.155,9.017,8.848,8.665,8.477,8.289,7.399,6.641,6.006,5.472,4.632,4.007,3.527,3.149,2.845,2.595,2.387}; - physicsVector = CreatePhysicsVector(E,W_8,factor); - } - else if( ionZ == 9 ) { - G4double W_9[31]={3.02,3.38,4.053,4.67,5.241,5.769,6.256,6.705,7.116,8.654,9.546,10.05,10.32,10.52,10.5,10.4,10.25,10.07,9.886,9.696,8.768,7.95,7.249,6.65,5.69,4.961,4.393,3.939,3.57,3.265,3.009}; - physicsVector = CreatePhysicsVector(E,W_9,factor); - } - else if( ionZ == 10 ) { - G4double W_10[31]={3.16,3.539,4.25,4.909,5.523,6.095,6.629,7.125,7.584,9.359,10.44,11.09,11.46,11.78,11.83,11.76,11.63,11.47,11.29,11.1,10.15,9.283,8.527,7.87,6.8,5.972,5.317,4.789,4.355,3.993,3.688}; - physicsVector = CreatePhysicsVector(E,W_10,factor); - } - else if( ionZ == 11 ) { - G4double W_11[31]={3.269,3.662,4.406,5.102,5.754,6.367,6.942,7.482,7.987,9.996,11.28,12.08,12.57,13.04,13.17,13.15,13.05,12.91,12.74,12.56,11.6,10.7,9.889,9.18,8.003,7.076,6.334,5.727,5.225,4.803,4.444}; - physicsVector = CreatePhysicsVector(E,W_11,factor); - } - else if( ionZ == 12 ) { - G4double W_12[31]={3.392,3.795,4.561,5.284,5.967,6.612,7.222,7.798,8.341,10.56,12.04,12.99,13.6,14.22,14.44,14.47,14.41,14.29,14.14,13.96,13,12.07,11.22,10.47,9.203,8.191,7.369,6.692,6.126,5.647,5.237}; - physicsVector = CreatePhysicsVector(E,W_12,factor); - } - else if( ionZ == 13 ) { - G4double W_13[31]={3.506,3.919,4.705,5.45,6.159,6.833,7.473,8.081,8.659,11.06,12.73,13.85,14.58,15.37,15.69,15.79,15.77,15.68,15.54,15.38,14.44,13.49,12.61,11.81,10.46,9.366,8.467,7.719,7.088,6.551,6.089}; - physicsVector = CreatePhysicsVector(E,W_13,factor); - } - else if( ionZ == 14 ) { - G4double W_14[31]={3.618,4.04,4.843,5.607,6.337,7.034,7.701,8.337,8.945,11.52,13.37,14.63,15.49,16.46,16.89,17.05,17.08,17.02,16.91,16.76,15.84,14.88,13.97,13.14,11.71,10.54,9.573,8.76,8.07,7.478,6.966}; - physicsVector = CreatePhysicsVector(E,W_14,factor); - } - else if( ionZ == 15 ) { - G4double W_15[31]={3.732,4.163,4.982,5.763,6.513,7.233,7.924,8.587,9.221,11.96,13.98,15.41,16.4,17.56,18.11,18.37,18.45,18.43,18.36,18.24,17.38,16.41,15.48,14.63,13.12,11.87,10.82,9.936,9.178,8.524,7.954}; - physicsVector = CreatePhysicsVector(E,W_15,factor); - } - else if( ionZ == 16 ) { - G4double W_16[31]={3.835,4.276,5.116,5.916,6.686,7.428,8.142,8.829,9.488,12.38,14.56,16.15,17.28,18.64,19.33,19.67,19.82,19.85,19.81,19.72,18.92,17.97,17.03,16.15,14.58,13.26,12.13,11.17,10.35,9.631,9.005}; - physicsVector = CreatePhysicsVector(E,W_16,factor); - } - else if( ionZ == 17 ) { - G4double W_17[31]={3.958,4.407,5.258,6.072,6.857,7.616,8.349,9.056,9.738,12.76,15.1,16.83,18.09,19.65,20.48,20.91,21.12,21.2,21.2,21.13,20.41,19.47,18.52,17.62,15.99,14.6,13.41,12.39,11.5,10.73,10.05}; - physicsVector = CreatePhysicsVector(E,W_17,factor); - } - else if( ionZ == 18 ) { - G4double W_18[31]={4.048,4.504,5.369,6.194,6.991,7.764,8.512,9.236,9.936,13.07,15.55,17.43,18.81,20.57,21.52,22.05,22.33,22.45,22.48,22.44,21.78,20.85,19.89,18.97,17.29,15.85,14.6,13.53,12.59,11.77,11.05}; - physicsVector = CreatePhysicsVector(E,W_18,factor); - } - } - - else if( matName == namesMat[24] ) { - if( ionZ == 3 ) { - G4double X_3[31]={3.332,3.612,4.056,4.373,4.592,4.739,4.835,4.893,4.924,4.88,4.713,4.519,4.326,3.97,3.659,3.39,3.157,2.952,2.773,2.613,2.031,1.663,1.411,1.228,0.9798,0.8194,0.7071,0.6238,0.5594,0.508,0.466}; - physicsVector = CreatePhysicsVector(E,X_3,factor); - } - else if( ionZ == 4 ) { - G4double X_4[31]={4.135,4.515,5.152,5.649,6.03,6.313,6.519,6.667,6.771,6.928,6.834,6.663,6.468,6.07,5.698,5.36,5.055,4.781,4.533,4.309,3.45,2.875,2.465,2.159,1.735,1.455,1.256,1.109,0.9941,0.9026,0.8279}; - physicsVector = CreatePhysicsVector(E,X_4,factor); - } - else if( ionZ == 5 ) { - G4double X_5[31]={4.766,5.239,6.053,6.721,7.261,7.69,8.024,8.281,8.476,8.912,8.94,8.827,8.657,8.263,7.862,7.483,7.129,6.802,6.501,6.223,5.115,4.335,3.759,3.318,2.69,2.266,1.961,1.732,1.554,1.411,1.294}; - physicsVector = CreatePhysicsVector(E,X_5,factor); - } - else if( ionZ == 6 ) { - G4double X_6[31]={5.255,5.811,6.786,7.61,8.302,8.877,9.345,9.723,10.02,10.8,10.99,10.97,10.84,10.48,10.08,9.68,9.295,8.932,8.59,8.271,6.952,5.981,5.244,4.666,3.822,3.239,2.813,2.489,2.236,2.031,1.863}; - physicsVector = CreatePhysicsVector(E,X_6,factor); - } - else if( ionZ == 7 ) { - G4double X_7[31]={5.72,6.34,7.441,8.391,9.212,9.916,10.51,11.01,11.42,12.58,12.97,13.06,13,12.71,12.33,11.93,11.53,11.14,10.77,10.42,8.924,7.783,6.891,6.178,5.115,4.363,3.805,3.376,3.037,2.763,2.536}; - physicsVector = CreatePhysicsVector(E,X_7,factor); - } - else if( ionZ == 8 ) { - G4double X_8[31]={6.114,6.792,8.008,9.073,10.01,10.83,11.55,12.16,12.68,14.26,14.89,15.11,15.14,14.95,14.61,14.22,13.82,13.42,13.03,12.66,11.02,9.728,8.693,7.849,6.564,5.636,4.937,4.394,3.96,3.606,3.313}; - physicsVector = CreatePhysicsVector(E,X_8,factor); - } - else if( ionZ == 9 ) { - G4double X_9[31]={6.408,7.134,8.448,9.611,10.65,11.58,12.4,13.11,13.74,15.73,16.61,16.98,17.1,17.01,16.72,16.36,15.96,15.56,15.17,14.78,13.04,11.63,10.47,9.522,8.047,6.961,6.132,5.48,4.955,4.523,4.163}; - physicsVector = CreatePhysicsVector(E,X_9,factor); - } - else if( ionZ == 10 ) { - G4double X_10[31]={6.674,7.439,8.836,10.09,11.21,12.23,13.14,13.96,14.68,17.09,18.23,18.77,19,19.03,18.81,18.47,18.09,17.7,17.3,16.9,15.08,13.56,12.31,11.26,9.601,8.365,7.408,6.648,6.03,5.519,5.09}; - physicsVector = CreatePhysicsVector(E,X_10,factor); - } - else if( ionZ == 11 ) { - G4double X_11[31]={6.899,7.695,9.16,10.48,11.69,12.78,13.78,14.69,15.51,18.36,19.81,20.54,20.91,21.1,20.96,20.68,20.33,19.94,19.55,19.15,17.27,15.66,14.3,13.15,11.31,9.914,8.822,7.945,7.227,6.629,6.124}; - physicsVector = CreatePhysicsVector(E,X_11,factor); - } - else if( ionZ == 12 ) { - G4double X_12[31]={7.191,8.003,9.507,10.88,12.14,13.3,14.36,15.34,16.23,19.48,21.23,22.17,22.68,23.05,23.01,22.78,22.46,22.1,21.71,21.32,19.39,17.71,16.26,15.03,13.03,11.49,10.27,9.286,8.473,7.791,7.213}; - physicsVector = CreatePhysicsVector(E,X_12,factor); - } - else if( ionZ == 13 ) { - G4double X_13[31]={7.454,8.287,9.835,11.26,12.57,13.78,14.9,15.94,16.9,20.51,22.57,23.72,24.38,24.95,25.02,24.86,24.59,24.26,23.89,23.5,21.56,19.81,18.29,16.97,14.82,13.14,11.8,10.71,9.799,9.032,8.377}; - physicsVector = CreatePhysicsVector(E,X_13,factor); - } - else if( ionZ == 14 ) { - G4double X_14[31]={7.717,8.569,10.15,11.61,12.97,14.22,15.39,16.49,17.5,21.44,23.79,25.16,25.97,26.73,26.92,26.84,26.62,26.32,25.97,25.6,23.65,21.85,20.27,18.88,16.6,14.8,13.34,12.15,11.15,10.3,9.576}; - physicsVector = CreatePhysicsVector(E,X_14,factor); - } - else if( ionZ == 15 ) { - G4double X_15[31]={8.04,8.913,10.54,12.04,13.43,14.73,15.94,17.08,18.14,22.39,25.04,26.63,27.61,28.59,28.92,28.93,28.78,28.52,28.21,27.86,25.94,24.11,22.46,21.01,18.58,16.64,15.06,13.75,12.65,11.71,10.91}; - physicsVector = CreatePhysicsVector(E,X_15,factor); - } - else if( ionZ == 16 ) { - G4double X_16[31]={8.294,9.193,10.86,12.4,13.84,15.18,16.44,17.63,18.74,23.29,26.23,28.06,29.21,30.42,30.9,31.02,30.94,30.74,30.46,30.13,28.27,26.41,24.72,23.2,20.63,18.56,16.86,15.44,14.24,13.21,12.32}; - physicsVector = CreatePhysicsVector(E,X_16,factor); - } - else if( ionZ == 17 ) { - G4double X_17[31]={8.625,9.54,11.24,12.8,14.27,15.64,16.94,18.16,19.31,24.1,27.32,29.37,30.69,32.13,32.76,32.97,32.96,32.81,32.57,32.27,30.46,28.59,26.85,25.28,22.6,20.42,18.61,17.09,15.8,14.69,13.72}; - physicsVector = CreatePhysicsVector(E,X_17,factor); - } - else if( ionZ == 18 ) { - G4double X_18[31]={8.813,9.748,11.47,13.07,14.56,15.96,17.28,18.53,19.71,24.73,28.21,30.48,31.98,33.65,34.43,34.74,34.8,34.7,34.49,34.23,32.47,30.59,28.82,27.21,24.43,22.15,20.26,18.65,17.29,16.1,15.07}; - physicsVector = CreatePhysicsVector(E,X_18,factor); - } - } - - else if( matName == namesMat[25] ) { - if( ionZ == 3 ) { - G4double Y_3[31]={1.481,1.6,1.8,1.961,2.091,2.197,2.28,2.347,2.399,2.52,2.526,2.488,2.432,2.302,2.17,2.046,1.932,1.829,1.735,1.649,1.321,1.102,0.9471,0.8318,0.6725,0.5676,0.4931,0.4374,0.394,0.3592,0.3306}; - physicsVector = CreatePhysicsVector(E,Y_3,factor); - } - else if( ionZ == 4 ) { - G4double Y_4[31]={1.894,2.058,2.337,2.571,2.77,2.938,3.08,3.198,3.296,3.576,3.664,3.67,3.638,3.521,3.379,3.233,3.092,2.958,2.833,2.716,2.242,1.905,1.656,1.464,1.193,1.009,0.8775,0.7783,0.7009,0.6388,0.5877}; - physicsVector = CreatePhysicsVector(E,Y_4,factor); - } - else if( ionZ == 5 ) { - G4double Y_5[31]={2.237,2.443,2.798,3.099,3.361,3.59,3.79,3.963,4.112,4.582,4.781,4.853,4.861,4.786,4.657,4.508,4.355,4.203,4.057,3.917,3.321,2.871,2.525,2.252,1.852,1.575,1.372,1.218,1.097,1,0.9198}; - physicsVector = CreatePhysicsVector(E,Y_5,factor); - } - else if( ionZ == 6 ) { - G4double Y_6[31]={2.522,2.767,3.196,3.564,3.887,4.174,4.429,4.656,4.856,5.536,5.867,6.022,6.085,6.072,5.972,5.835,5.681,5.521,5.362,5.207,4.515,3.965,3.527,3.172,2.638,2.258,1.974,1.756,1.584,1.444,1.328}; - physicsVector = CreatePhysicsVector(E,Y_6,factor); - } - else if( ionZ == 7 ) { - G4double Y_7[31]={2.767,3.047,3.541,3.97,4.349,4.69,4.997,5.274,5.523,6.419,6.901,7.156,7.287,7.359,7.305,7.192,7.049,6.892,6.729,6.565,5.804,5.168,4.645,4.212,3.542,3.052,2.681,2.391,2.16,1.97,1.813}; - physicsVector = CreatePhysicsVector(E,Y_7,factor); - } - else if( ionZ == 8 ) { - G4double Y_8[31]={2.982,3.293,3.847,4.333,4.766,5.158,5.514,5.839,6.135,7.245,7.888,8.255,8.465,8.639,8.644,8.566,8.443,8.297,8.137,7.972,7.164,6.457,5.86,5.354,4.552,3.952,3.488,3.121,2.825,2.581,2.377}; - physicsVector = CreatePhysicsVector(E,Y_8,factor); - } - else if( ionZ == 9 ) { - G4double Y_9[31]={3.17,3.508,4.116,4.653,5.135,5.573,5.973,6.341,6.68,7.991,8.796,9.279,9.572,9.852,9.921,9.882,9.783,9.65,9.498,9.335,8.499,7.738,7.079,6.512,5.596,4.896,4.347,3.906,3.547,3.248,2.997}; - physicsVector = CreatePhysicsVector(E,Y_9,factor); - } - else if( ionZ == 10 ) { - G4double Y_10[31]={3.34,3.702,4.357,4.942,5.469,5.95,6.392,6.801,7.18,8.682,9.65,10.26,10.64,11.04,11.18,11.18,11.11,11,10.86,10.7,9.851,9.046,8.335,7.713,6.693,5.897,5.265,4.752,4.329,3.975,3.676}; - physicsVector = CreatePhysicsVector(E,Y_10,factor); - } - else if( ionZ == 11 ) { - G4double Y_11[31]={3.478,3.859,4.556,5.183,5.753,6.275,6.757,7.205,7.623,9.316,10.45,11.19,11.68,12.21,12.44,12.5,12.47,12.38,12.25,12.11,11.26,10.42,9.668,8.996,7.875,6.986,6.27,5.682,5.193,4.78,4.428}; - physicsVector = CreatePhysicsVector(E,Y_11,factor); - } - else if( ionZ == 12 ) { - G4double Y_12[31]={3.623,4.019,4.749,5.412,6.018,6.578,7.096,7.578,8.029,9.891,11.19,12.06,12.65,13.32,13.64,13.76,13.77,13.71,13.6,13.47,12.63,11.77,10.98,10.27,9.058,8.087,7.294,6.638,6.087,5.62,5.218}; - physicsVector = CreatePhysicsVector(E,Y_12,factor); - } - else if( ionZ == 13 ) { - G4double Y_13[31]={3.754,4.165,4.923,5.616,6.256,6.849,7.401,7.917,8.4,10.42,11.88,12.88,13.58,14.4,14.82,15.01,15.07,15.04,14.96,14.85,14.04,13.16,12.33,11.58,10.3,9.246,8.38,7.655,7.042,6.518,6.066}; - physicsVector = CreatePhysicsVector(E,Y_13,factor); - } - else if( ionZ == 14 ) { - G4double Y_14[31]={3.88,4.303,5.086,5.806,6.474,7.097,7.68,8.225,8.738,10.9,12.51,13.65,14.45,15.43,15.95,16.21,16.32,16.34,16.28,16.18,15.41,14.52,13.67,12.89,11.53,10.41,9.478,8.69,8.019,7.442,6.941}; - physicsVector = CreatePhysicsVector(E,Y_14,factor); - } - else if( ionZ == 15 ) { - G4double Y_15[31]={4,4.433,5.238,5.982,6.678,7.329,7.94,8.515,9.057,11.36,13.11,14.39,15.31,16.46,17.1,17.45,17.63,17.69,17.67,17.6,16.9,16.02,15.15,14.34,12.92,11.72,10.71,9.853,9.117,8.48,7.924}; - physicsVector = CreatePhysicsVector(E,Y_15,factor); - } - else if( ionZ == 16 ) { - G4double Y_16[31]={4.111,4.556,5.384,6.154,6.876,7.554,8.193,8.796,9.366,11.81,13.7,15.11,16.14,17.47,18.23,18.68,18.92,19.03,19.06,19.02,18.4,17.54,16.66,15.83,14.34,13.08,12,11.07,10.27,9.578,8.966}; - physicsVector = CreatePhysicsVector(E,Y_16,factor); - } - else if( ionZ == 17 ) { - G4double Y_17[31]={4.234,4.688,5.534,6.322,7.066,7.768,8.431,9.058,9.652,12.22,14.24,15.78,16.92,18.43,19.31,19.85,20.16,20.33,20.39,20.39,19.85,19.01,18.13,17.28,15.74,14.41,13.27,12.28,11.43,10.67,10.01}; - physicsVector = CreatePhysicsVector(E,Y_17,factor); - } - else if( ionZ == 18 ) { - G4double Y_18[31]={4.333,4.796,5.658,6.463,7.224,7.946,8.63,9.28,9.896,12.58,14.71,16.37,17.63,19.31,20.31,20.94,21.32,21.54,21.64,21.67,21.21,20.38,19.49,18.63,17.04,15.65,14.46,13.42,12.51,11.72,11.01}; - physicsVector = CreatePhysicsVector(E,Y_18,factor); - } - } - - else if( matName == namesMat[26] ) { - if( ionZ == 3 ) { - G4double Z_3[31]={1.572,1.764,2.123,2.452,2.743,2.998,3.22,3.417,3.593,4.244,4.656,4.924,5.094,5.266,5.319,5.315,5.281,5.229,5.167,5.099,4.73,4.375,4.056,3.775,3.31,2.946,2.656,2.419,2.222,2.057,1.915}; - physicsVector = CreatePhysicsVector(E,Z_3,factor); - } - else if( ionZ == 4 ) { - G4double Z_4[31]={1.032,1.139,1.311,1.439,1.539,1.618,1.683,1.737,1.781,1.917,1.966,1.971,1.955,1.896,1.828,1.759,1.693,1.631,1.571,1.516,1.284,1.113,0.983,0.8813,0.7334,0.6312,0.5563,0.4989,0.4534,0.4163,0.3856}; - physicsVector = CreatePhysicsVector(E,Z_4,factor); - } - else if( ionZ == 5 ) { - G4double Z_5[31]={1.181,1.315,1.542,1.72,1.861,1.977,2.073,2.154,2.224,2.452,2.56,2.603,2.61,2.574,2.512,2.443,2.372,2.302,2.234,2.169,1.883,1.66,1.483,1.34,1.127,0.9759,0.863,0.7755,0.7057,0.6485,0.6009}; - physicsVector = CreatePhysicsVector(E,Z_5,factor); - } - else if( ionZ == 6 ) { - G4double Z_6[31]={1.3,1.455,1.729,1.954,2.137,2.29,2.419,2.529,2.625,2.955,3.132,3.222,3.26,3.26,3.214,3.152,3.083,3.011,2.939,2.868,2.542,2.273,2.053,1.871,1.591,1.386,1.231,1.11,1.011,0.9306,0.8628}; - physicsVector = CreatePhysicsVector(E,Z_6,factor); - } - else if( ionZ == 7 ) { - G4double Z_7[31]={1.399,1.569,1.88,2.146,2.369,2.557,2.718,2.858,2.981,3.417,3.669,3.814,3.892,3.94,3.921,3.873,3.811,3.742,3.67,3.597,3.246,2.941,2.682,2.463,2.117,1.858,1.658,1.499,1.369,1.262,1.171}; - physicsVector = CreatePhysicsVector(E,Z_7,factor); - } - else if( ionZ == 8 ) { - G4double Z_8[31]={1.49,1.672,2.01,2.311,2.571,2.793,2.986,3.155,3.305,3.849,4.181,4.385,4.508,4.614,4.628,4.601,4.551,4.49,4.421,4.35,3.985,3.65,3.358,3.105,2.697,2.384,2.138,1.939,1.776,1.64,1.524}; - physicsVector = CreatePhysicsVector(E,Z_8,factor); - } - else if( ionZ == 9 ) { - G4double Z_9[31]={1.572,1.764,2.123,2.452,2.743,2.998,3.22,3.417,3.593,4.244,4.656,4.924,5.094,5.266,5.319,5.315,5.281,5.229,5.167,5.099,4.73,4.375,4.056,3.775,3.31,2.946,2.656,2.419,2.222,2.057,1.915}; - physicsVector = CreatePhysicsVector(E,Z_9,factor); - } - else if( ionZ == 10 ) { - G4double Z_10[31]={1.652,1.85,2.226,2.576,2.895,3.178,3.429,3.652,3.853,4.609,5.103,5.435,5.657,5.901,5.999,6.024,6.009,5.97,5.917,5.855,5.49,5.121,4.779,4.473,3.957,3.545,3.212,2.937,2.707,2.511,2.343}; - physicsVector = CreatePhysicsVector(E,Z_10,factor); - } - else if( ionZ == 11 ) { - G4double Z_11[31]={1.725,1.93,2.319,2.685,3.026,3.335,3.611,3.86,4.085,4.946,5.522,5.921,6.199,6.522,6.671,6.731,6.739,6.717,6.675,6.621,6.271,5.893,5.534,5.205,4.642,4.185,3.81,3.497,3.232,3.006,2.81}; - physicsVector = CreatePhysicsVector(E,Z_11,factor); - } - else if( ionZ == 12 ) { - G4double Z_12[31]={1.8,2.011,2.41,2.788,3.146,3.477,3.777,4.049,4.297,5.258,5.915,6.381,6.713,7.118,7.322,7.42,7.454,7.451,7.423,7.379,7.047,6.665,6.292,5.945,5.34,4.842,4.428,4.079,3.782,3.527,3.304}; - physicsVector = CreatePhysicsVector(E,Z_12,factor); - } - else if( ionZ == 13 ) { - G4double Z_13[31]={1.872,2.089,2.498,2.885,3.256,3.604,3.925,4.219,4.487,5.546,6.283,6.817,7.206,7.697,7.96,8.099,8.163,8.181,8.17,8.138,7.835,7.455,7.072,6.71,6.067,5.53,5.078,4.695,4.366,4.08,3.83}; - physicsVector = CreatePhysicsVector(E,Z_13,factor); - } - else if( ionZ == 14 ) { - G4double Z_14[31]={1.942,2.166,2.583,2.978,3.358,3.72,4.059,4.371,4.66,5.81,6.625,7.226,7.673,8.253,8.577,8.76,8.856,8.897,8.904,8.885,8.619,8.245,7.856,7.481,6.805,6.232,5.746,5.329,4.97,4.656,4.38}; - physicsVector = CreatePhysicsVector(E,Z_14,factor); - } - else if( ionZ == 15 ) { - G4double Z_15[31]={2.007,2.237,2.663,3.065,3.452,3.825,4.178,4.508,4.814,6.052,6.945,7.613,8.119,8.792,9.184,9.417,9.55,9.62,9.648,9.648,9.429,9.07,8.681,8.297,7.592,6.984,6.463,6.013,5.622,5.278,4.975}; - physicsVector = CreatePhysicsVector(E,Z_15,factor); - } - else if( ionZ == 16 ) { - G4double Z_16[31]={2.071,2.309,2.745,3.153,3.546,3.928,4.293,4.638,4.961,6.283,7.25,7.983,8.548,9.316,9.78,10.06,10.24,10.34,10.39,10.41,10.24,9.904,9.518,9.129,8.4,7.761,7.207,6.725,6.303,5.93,5.599}; - physicsVector = CreatePhysicsVector(E,Z_16,factor); - } - else if( ionZ == 17 ) { - G4double Z_17[31]={2.134,2.38,2.826,3.24,3.638,4.025,4.401,4.758,5.095,6.494,7.533,8.331,8.953,9.818,10.35,10.69,10.91,11.04,11.11,11.15,11.05,10.73,10.35,9.958,9.209,8.542,7.959,7.447,6.996,6.597,6.24}; - physicsVector = CreatePhysicsVector(E,Z_17,factor); - } - else if( ionZ == 18 ) { - G4double Z_18[31]={2.199,2.452,2.911,3.332,3.735,4.128,4.511,4.879,5.229,6.701,7.809,8.67,9.348,10.31,10.92,11.31,11.56,11.73,11.83,11.89,11.83,11.54,11.17,10.77,10,9.31,8.699,8.16,7.683,7.258,6.877}; - physicsVector = CreatePhysicsVector(E,Z_18,factor); - } - } - - else if( matName == namesMat[27] ) { - if( ionZ == 3 ) { - G4double XX_3[31]={2.663,2.892,3.261,3.535,3.734,3.875,3.973,4.038,4.08,4.092,3.977,3.829,3.678,3.391,3.138,2.917,2.724,2.553,2.403,2.269,1.774,1.459,1.241,1.082,0.8659,0.7257,0.6271,0.5539,0.4973,0.452,0.415}; - physicsVector = CreatePhysicsVector(E,XX_3,factor); - } - else if( ionZ == 4 ) { - G4double XX_4[31]={3.295,3.605,4.129,4.549,4.881,5.138,5.334,5.481,5.59,5.801,5.764,5.645,5.498,5.186,4.887,4.611,4.361,4.135,3.929,3.741,3.016,2.524,2.17,1.905,1.535,1.289,1.115,0.9851,0.8841,0.8034,0.7374}; - physicsVector = CreatePhysicsVector(E,XX_4,factor); - } - else if( ionZ == 5 ) { - G4double XX_5[31]={3.789,4.174,4.84,5.395,5.855,6.232,6.535,6.778,6.969,7.445,7.532,7.474,7.356,7.057,6.741,6.436,6.148,5.88,5.632,5.402,4.472,3.807,3.311,2.93,2.382,2.011,1.743,1.541,1.383,1.257,1.153}; - physicsVector = CreatePhysicsVector(E,XX_5,factor); - } - else if( ionZ == 6 ) { - G4double XX_6[31]={4.173,4.625,5.421,6.101,6.682,7.175,7.589,7.932,8.214,9.005,9.254,9.283,9.213,8.956,8.645,8.328,8.019,7.723,7.444,7.181,6.08,5.257,4.624,4.125,3.39,2.878,2.503,2.217,1.993,1.812,1.663}; - physicsVector = CreatePhysicsVector(E,XX_6,factor); - } - else if( ionZ == 7 ) { - G4double XX_7[31]={4.521,5.025,5.925,6.708,7.394,7.99,8.506,8.946,9.32,10.46,10.9,11.04,11.04,10.86,10.57,10.26,9.946,9.635,9.336,9.049,7.81,6.846,6.084,5.47,4.544,3.884,3.392,3.012,2.711,2.467,2.266}; - physicsVector = CreatePhysicsVector(E,XX_7,factor); - } - else if( ionZ == 8 ) { - G4double XX_8[31]={4.828,5.377,6.371,7.249,8.029,8.721,9.332,9.866,10.33,11.83,12.49,12.77,12.86,12.77,12.53,12.24,11.92,11.61,11.3,11,9.647,8.56,7.678,6.953,5.837,5.023,4.407,3.926,3.54,3.226,2.964}; - physicsVector = CreatePhysicsVector(E,XX_8,factor); - } - else if( ionZ == 9 ) { - G4double XX_9[31]={5.063,5.651,6.724,7.682,8.543,9.318,10.01,10.63,11.18,13.03,13.93,14.35,14.53,14.54,14.36,14.09,13.79,13.47,13.16,12.85,11.42,10.24,9.259,8.442,7.162,6.211,5.48,4.902,4.435,4.051,3.729}; - physicsVector = CreatePhysicsVector(E,XX_9,factor); - } - else if( ionZ == 10 ) { - G4double XX_10[31]={5.278,5.897,7.037,8.065,8.998,9.846,10.62,11.31,11.94,14.13,15.28,15.86,16.14,16.28,16.16,15.92,15.64,15.33,15.02,14.7,13.21,11.95,10.88,9.983,8.55,7.468,6.625,5.951,5.402,4.947,4.564}; - physicsVector = CreatePhysicsVector(E,XX_10,factor); - } - else if( ionZ == 11 ) { - G4double XX_11[31]={5.468,6.118,7.326,8.428,9.437,10.36,11.22,12,12.71,15.31,16.77,17.58,18.03,18.38,18.38,18.23,18.01,17.74,17.45,17.15,15.65,14.31,13.14,12.13,10.48,9.207,8.196,7.378,6.704,6.141,5.665}; - physicsVector = CreatePhysicsVector(E,XX_11,factor); - } - else if( ionZ == 12 ) { - G4double XX_12[31]={5.677,6.333,7.561,8.693,9.738,10.7,11.6,12.42,13.18,16.06,17.74,18.7,19.24,19.7,19.76,19.63,19.41,19.13,18.84,18.53,16.98,15.58,14.37,13.32,11.6,10.26,9.187,8.317,7.596,6.99,6.474}; - physicsVector = CreatePhysicsVector(E,XX_12,factor); - } - else if( ionZ == 13 ) { - G4double XX_13[31]={5.878,6.551,7.813,8.982,10.07,11.08,12.02,12.9,13.72,16.89,18.83,19.98,20.67,21.32,21.48,21.42,21.24,21,20.72,20.42,18.86,17.42,16.15,15.03,13.18,11.73,10.55,9.59,8.785,8.104,7.521}; - physicsVector = CreatePhysicsVector(E,XX_13,factor); - } - else if( ionZ == 14 ) { - G4double XX_14[31]={6.078,6.766,8.057,9.258,10.38,11.43,12.42,13.34,14.2,17.63,19.83,21.18,22.01,22.84,23.12,23.13,23,22.79,22.53,22.24,20.7,19.22,17.9,16.72,14.77,13.2,11.93,10.88,9.998,9.247,8.6}; - physicsVector = CreatePhysicsVector(E,XX_14,factor); - } - else if( ionZ == 15 ) { - G4double XX_15[31]={6.312,7.015,8.334,9.566,10.72,11.81,12.83,13.79,14.7,18.38,20.82,22.38,23.37,24.41,24.82,24.93,24.86,24.69,24.47,24.21,22.7,21.2,19.83,18.61,16.53,14.86,13.48,12.33,11.36,10.52,9.805}; - physicsVector = CreatePhysicsVector(E,XX_15,factor); - } - else if( ionZ == 16 ) { - G4double XX_16[31]={6.503,7.226,8.58,9.845,11.04,12.16,13.22,14.22,15.16,19.09,21.78,23.54,24.69,25.96,26.52,26.72,26.72,26.6,26.41,26.18,24.73,23.22,21.82,20.55,18.37,16.58,15.1,13.85,12.79,11.88,11.08}; - physicsVector = CreatePhysicsVector(E,XX_16,factor); - } - else if( ionZ == 17 ) { - G4double XX_17[31]={6.746,7.481,8.856,10.14,11.36,12.51,13.6,14.63,15.61,19.74,22.65,24.61,25.92,27.41,28.11,28.4,28.47,28.4,28.25,28.05,26.66,25.15,23.72,22.41,20.13,18.25,16.67,15.34,14.2,13.22,12.36}; - physicsVector = CreatePhysicsVector(E,XX_17,factor); - } - else if( ionZ == 18 ) { - G4double XX_18[31]={6.88,7.63,9.027,10.33,11.57,12.74,13.85,14.91,15.91,20.22,23.34,25.5,26.96,28.67,29.51,29.89,30.03,30.01,29.89,29.71,28.38,26.87,25.42,24.07,21.73,19.77,18.12,16.72,15.52,14.47,13.56}; - physicsVector = CreatePhysicsVector(E,XX_18,factor); - } - } - - else if( matName == namesMat[28] ) { - if( ionZ == 3 ) { - G4double YY_3[31]={2.7,2.933,3.311,3.589,3.789,3.93,4.026,4.09,4.129,4.134,4.014,3.864,3.711,3.421,3.166,2.942,2.747,2.575,2.423,2.288,1.788,1.47,1.25,1.09,0.8721,0.7307,0.6314,0.5576,0.5005,0.4549,0.4176}; - physicsVector = CreatePhysicsVector(E,YY_3,factor); - } - else if( ionZ == 4 ) { - G4double YY_4[31]={3.338,3.654,4.189,4.618,4.955,5.214,5.409,5.555,5.662,5.863,5.82,5.698,5.548,5.232,4.93,4.652,4.4,4.17,3.962,3.773,3.04,2.544,2.187,1.919,1.546,1.298,1.123,0.9916,0.8899,0.8086,0.7421}; - physicsVector = CreatePhysicsVector(E,YY_4,factor); - } - else if( ionZ == 5 ) { - G4double YY_5[31]={3.839,4.23,4.909,5.475,5.944,6.325,6.631,6.874,7.064,7.528,7.607,7.545,7.424,7.121,6.802,6.493,6.203,5.932,5.681,5.449,4.509,3.837,3.337,2.952,2.399,2.025,1.754,1.551,1.392,1.265,1.16}; - physicsVector = CreatePhysicsVector(E,YY_5,factor); - } - else if( ionZ == 6 ) { - G4double YY_6[31]={4.229,4.687,5.496,6.189,6.782,7.283,7.702,8.048,8.33,9.11,9.349,9.373,9.3,9.037,8.723,8.403,8.09,7.792,7.51,7.244,6.131,5.3,4.66,4.156,3.414,2.898,2.52,2.232,2.006,1.823,1.673}; - physicsVector = CreatePhysicsVector(E,YY_6,factor); - } - else if( ionZ == 7 ) { - G4double YY_7[31]={4.586,5.096,6.008,6.805,7.503,8.11,8.634,9.08,9.455,10.58,11.02,11.15,11.15,10.96,10.67,10.36,10.04,9.722,9.419,9.129,7.876,6.902,6.131,5.511,4.576,3.911,3.415,3.032,2.729,2.483,2.28}; - physicsVector = CreatePhysicsVector(E,YY_7,factor); - } - else if( ionZ == 8 ) { - G4double YY_8[31]={4.9,5.456,6.463,7.354,8.146,8.851,9.473,10.01,10.48,11.98,12.63,12.9,12.98,12.89,12.64,12.35,12.03,11.71,11.4,11.09,9.73,8.63,7.739,7.006,5.879,5.058,4.436,3.951,3.563,3.246,2.983}; - physicsVector = CreatePhysicsVector(E,YY_8,factor); - } - else if( ionZ == 9 ) { - G4double YY_9[31]={5.141,5.736,6.822,7.793,8.667,9.455,10.16,10.79,11.35,13.2,14.08,14.5,14.67,14.68,14.49,14.22,13.91,13.59,13.27,12.96,11.52,10.32,9.33,8.504,7.212,6.253,5.515,4.933,4.463,4.075,3.752}; - physicsVector = CreatePhysicsVector(E,YY_9,factor); - } - else if( ionZ == 10 ) { - G4double YY_10[31]={5.361,5.988,7.141,8.182,9.127,9.988,10.77,11.48,12.11,14.32,15.45,16.02,16.3,16.43,16.3,16.06,15.77,15.46,15.14,14.82,13.32,12.04,10.97,10.06,8.609,7.517,6.667,5.988,5.435,4.976,4.591}; - physicsVector = CreatePhysicsVector(E,YY_10,factor); - } - else if( ionZ == 11 ) { - G4double YY_11[31]={5.555,6.214,7.436,8.551,9.573,10.51,11.38,12.17,12.89,15.53,16.98,17.77,18.21,18.55,18.56,18.4,18.17,17.9,17.61,17.31,15.8,14.44,13.25,12.23,10.57,9.277,8.256,7.43,6.75,6.182,5.702}; - physicsVector = CreatePhysicsVector(E,YY_11,factor); - } - else if( ionZ == 12 ) { - G4double YY_12[31]={5.769,6.434,7.677,8.821,9.878,10.86,11.76,12.6,13.37,16.28,17.95,18.9,19.44,19.88,19.93,19.8,19.57,19.3,19,18.68,17.12,15.7,14.48,13.41,11.68,10.32,9.246,8.369,7.642,7.032,6.512}; - physicsVector = CreatePhysicsVector(E,YY_12,factor); - } - else if( ionZ == 13 ) { - G4double YY_13[31]={5.974,6.657,7.934,9.117,10.22,11.24,12.19,13.08,13.91,17.12,19.06,20.2,20.88,21.51,21.67,21.6,21.42,21.17,20.89,20.59,19.02,17.56,16.27,15.14,13.28,11.81,10.62,9.65,8.838,8.152,7.565}; - physicsVector = CreatePhysicsVector(E,YY_13,factor); - } - else if( ionZ == 14 ) { - G4double YY_14[31]={6.18,6.877,8.185,9.4,10.54,11.6,12.59,13.52,14.4,17.88,20.07,21.41,22.23,23.05,23.32,23.33,23.19,22.98,22.72,22.43,20.86,19.37,18.03,16.85,14.87,13.29,12.01,10.95,10.06,9.301,8.65}; - physicsVector = CreatePhysicsVector(E,YY_14,factor); - } - else if( ionZ == 15 ) { - G4double YY_15[31]={6.421,7.134,8.471,9.718,10.89,11.98,13.02,13.99,14.9,18.64,21.09,22.63,23.61,24.64,25.04,25.14,25.07,24.9,24.67,24.41,22.88,21.37,19.99,18.75,16.65,14.95,13.56,12.4,11.42,10.59,9.861}; - physicsVector = CreatePhysicsVector(E,YY_15,factor); - } - else if( ionZ == 16 ) { - G4double YY_16[31]={6.617,7.35,8.723,10,11.21,12.34,13.41,14.42,15.38,19.36,22.06,23.81,24.95,26.21,26.75,26.95,26.95,26.83,26.64,26.4,24.93,23.41,21.99,20.7,18.5,16.69,15.19,13.94,12.87,11.95,11.15}; - physicsVector = CreatePhysicsVector(E,YY_16,factor); - } - else if( ionZ == 17 ) { - G4double YY_17[31]={6.866,7.613,9.008,10.31,11.54,12.7,13.8,14.84,15.83,20.02,22.95,24.9,26.2,27.67,28.36,28.65,28.71,28.64,28.49,28.28,26.87,25.35,23.9,22.57,20.27,18.37,16.78,15.44,14.29,13.29,12.43}; - physicsVector = CreatePhysicsVector(E,YY_17,factor); - } - else if( ionZ == 18 ) { - G4double YY_18[31]={7.003,7.765,9.183,10.51,11.75,12.94,14.06,15.12,16.14,20.5,23.65,25.8,27.25,28.94,29.76,30.15,30.28,30.26,30.14,29.95,28.6,27.08,25.61,24.25,21.87,19.9,18.23,16.82,15.61,14.56,13.64}; - physicsVector = CreatePhysicsVector(E,YY_18,factor); - } - } - - else if( matName == namesMat[29] ) { - if( ionZ == 3) { - G4double ZZ_3[53]={2.3193,2.5198,2.8539,3.1164,3.3203,3.4756,3.5914,3.6755,3.7347,3.8125,3.7349,3.6134,3.4818,3.2258,2.9949,2.7909,2.611,2.4517,2.3103,2.1841,1.7151,1.4139,1.2053,1.0525,0.84417,0.70862,0.61317,0.54214,0.48708,0.44305,0.40697,0.29312,0.23208,0.19364,0.16706,0.13252,0.11092,0.09608,0.08522,0.076915,0.07035,0.065026,0.048615,0.040137,0.034964,0.03149,0.027148,0.024579,0.022911,0.021761,0.020937,0.020327,0.019862}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_3,factor); -} - else if( ionZ == 4) { - G4double ZZ_4[53]={2.872,3.1439,3.6102,3.9967,4.3169,4.5788,4.7897,4.9568,5.0872,5.387,5.4028,5.3185,5.1971,4.9243,4.6549,4.4036,4.1732,3.9629,3.771,3.5957,2.9117,2.4439,2.1062,1.8518,1.4956,1.2587,1.0901,0.96393,0.86589,0.78742,0.72313,0.52053,0.41214,0.34394,0.2968,0.2355,0.19717,0.17081,0.15152,0.13676,0.1251,0.11564,0.086471,0.071399,0.062202,0.056023,0.048303,0.043734,0.040767,0.038723,0.037256,0.036172,0.035345}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_4,factor); - } - else if( ionZ == 5) { - G4double ZZ_5[53]={3.2922,3.6315,4.2226,4.7242,5.1543,5.5219,5.8323,6.0911,6.3043,6.8888,7.0451,7.0309,6.9445,6.6925,6.4129,6.1372,5.8747,5.6283,5.3983,5.1841,4.3121,3.6826,3.2109,2.8459,2.3203,1.9619,1.7028,1.5072,1.3543,1.2315,1.1307,0.81305,0.64344,0.53693,0.46337,0.36777,0.30797,0.26684,0.23674,0.21371,0.1955,0.18072,0.13517,0.11163,0.097256,0.087601,0.075535,0.068395,0.063757,0.060561,0.058268,0.056574,0.05528}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_5,factor); - } - else if( ionZ == 6) { - G4double ZZ_6[53]={3.6037,4.0035,4.7125,5.3248,5.8601,6.3287,6.7363,7.0875,7.3872,8.2986,8.635,8.7189,8.6879,8.485,8.2162,7.9331,7.6534,7.3839,7.1272,6.884,5.8573,5.0814,4.4808,4.0044,3.3005,2.808,2.4458,2.1691,1.9511,1.7751,1.6302,1.1714,0.9263,0.77269,0.66676,0.52925,0.44328,0.38415,0.34086,0.30773,0.28154,0.26028,0.19473,0.16083,0.14014,0.12624,0.10886,0.098575,0.091894,0.08729,0.083986,0.081545,0.079682}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_6,factor); - } - else if( ionZ == 7) { - G4double ZZ_7[53]={3.8821,4.3278,5.1314,5.8371,6.4632,7.021,7.5168,7.9545,8.3378,9.5943,10.145,10.356,10.402,10.278,10.041,9.7677,9.4845,9.2035,8.9301,8.6668,7.5173,6.6126,5.8919,5.308,4.4226,3.7883,3.3138,2.9467,2.655,2.4179,2.2217,1.5965,1.2614,1.0516,0.90715,0.71995,0.60305,0.52268,0.46384,0.41882,0.3832,0.35431,0.26515,0.21903,0.19087,0.17194,0.14829,0.13429,0.12519,0.11892,0.11442,0.1111,0.10856}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_7,factor); - } - else if( ionZ == 8) { - G4double ZZ_8[53]={4.1215,4.6063,5.4945,6.2868,6.9978,7.6391,8.2175,8.7372,9.201,10.808,11.596,11.955,12.096,12.077,11.89,11.639,11.364,11.081,10.799,10.523,9.2787,8.2615,7.4307,6.7431,5.6787,4.8981,4.3045,3.8393,3.4663,3.161,2.9069,2.0903,1.6501,1.3745,1.1851,0.94004,0.78733,0.68244,0.60568,0.54694,0.50048,0.46278,0.34643,0.28622,0.24945,0.22474,0.19384,0.17555,0.16367,0.15547,0.14959,0.14525,0.14194}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_8,factor); - } -else if( ionZ == 9) { - G4double ZZ_9[53]={4.2951,4.8107,5.7678,6.6342,7.4196,8.1343,8.7858,9.3786,9.9152,11.857,12.89,13.408,13.652,13.749,13.62,13.398,13.136,12.857,12.573,12.291,10.982,9.88,8.9601,8.1871,6.9687,6.0574,5.3535,4.7954,4.3434,3.9704,3.658,2.642,2.0878,1.7393,1.4994,1.1892,0.99601,0.86336,0.76632,0.69207,0.63334,0.58568,0.43857,0.36242,0.3159,0.28462,0.24552,0.22237,0.20733,0.19696,0.18951,0.18401,0.17981}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_9,factor); -} -else if( ionZ == 10) { - G4double ZZ_10[53]={4.4513,4.991,6.004,6.9338,7.7852,8.5662,9.284,9.9435,10.547,12.813,14.099,14.791,15.151,15.382,15.321,15.136,14.895,14.626,14.345,14.061,12.705,11.53,10.532,9.6823,8.3208,7.2846,6.4735,5.8234,5.2919,4.8502,4.4779,3.252,2.5745,2.146,1.8503,1.4675,1.2291,1.0654,0.94575,0.85419,0.78178,0.72301,0.54158,0.44763,0.39022,0.35162,0.30335,0.27477,0.25619,0.24339,0.23419,0.2274,0.22222}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_10,factor); -} - else if( ionZ == 11) { - G4double ZZ_11[53]={4.5914,5.1553,6.2244,7.2203,8.1435,8.9982,9.7906,10.526,11.206,13.848,15.453,16.384,16.916,17.369,17.442,17.344,17.16,16.93,16.675,16.407,15.045,13.799,12.706,11.753,10.187,8.9672,7.9956,7.2072,6.5562,6.0112,5.5493,4.0154,3.1635,2.6262,2.2573,1.7832,1.4904,1.2907,1.1451,1.0339,0.94615,0.87498,0.65548,0.54186,0.47243,0.42574,0.36734,0.33275,0.31027,0.29478,0.28364,0.27542,0.26915}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_11,factor); - } - else if( ionZ == 12) { - G4double ZZ_12[53]={4.7537,5.3178,6.3962,7.4137,8.3663,9.2554,10.085,10.859,11.581,14.455,16.279,17.373,18.018,18.598,18.727,18.654,18.479,18.25,17.99,17.716,16.313,15.026,13.895,12.907,11.277,9.9981,8.9727,8.1344,7.4376,6.8507,6.35,4.6625,3.7049,3.0916,2.666,2.1135,1.7695,1.5336,1.3613,1.2296,1.1255,1.041,0.7802,0.64511,0.56252,0.50698,0.43749,0.39634,0.36958,0.35114,0.33789,0.3281,0.32063}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_12,factor); - } - else if( ionZ == 13) { - G4double ZZ_13[53]={4.911,5.4856,6.5852,7.6302,8.6193,9.551,10.426,11.248,12.018,15.152,17.23,18.531,19.33,20.11,20.354,20.352,20.224,20.024,19.785,19.521,18.12,16.795,15.611,14.565,12.819,11.431,10.305,9.3772,8.6003,7.9413,7.3761,5.45,4.342,3.6272,3.129,2.4808,2.0767,1.7997,1.5975,1.4429,1.3207,1.2216,0.91581,0.75739,0.66053,0.59537,0.51383,0.46554,0.43413,0.41248,0.39693,0.38544,0.37667}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_13,factor); - } - else if( ionZ == 14) { - G4double ZZ_14[53]={5.0697,5.6529,6.77,7.8376,8.8564,9.8229,10.736,11.597,12.409,15.773,18.09,19.594,20.549,21.535,21.9,21.975,21.896,21.73,21.513,21.265,19.878,18.525,17.298,16.202,14.354,12.867,11.651,10.64,9.7876,9.0607,8.4341,6.2756,5.0169,4.1981,3.6247,2.8758,2.4078,2.0868,1.8523,1.6731,1.5315,1.4167,1.0623,0.8787,0.76644,0.69091,0.59637,0.54036,0.50394,0.47883,0.46078,0.44746,0.43728}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_14,factor); - } - else if( ionZ == 15) { - G4double ZZ_15[53]={5.2616,5.8538,6.9867,8.074,9.1192,10.117,11.065,11.964,12.815,16.396,18.945,20.657,21.779,22.993,23.502,23.672,23.659,23.54,23.356,23.132,21.792,20.425,19.162,18.02,16.066,14.472,13.155,12.051,11.114,10.311,9.6149,7.1917,5.7614,4.8249,4.1667,3.305,2.7661,2.3966,2.1269,1.9215,1.7603,1.6263,1.2197,1.0091,0.88027,0.79361,0.68512,0.62083,0.57902,0.55019,0.52947,0.51417,0.50248}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_15,factor); - } - else if( ionZ == 16) { - G4double ZZ_16[53]={5.4129,6.0193,7.1761,8.2871,9.36,10.39,11.373,12.308,13.196,16.986,19.762,21.683,22.976,24.431,25.091,25.363,25.421,25.354,25.208,25.013,23.734,22.366,21.074,19.891,17.84,16.146,14.731,13.536,12.516,11.636,10.869,8.1727,6.5617,5.4997,4.7505,3.7671,3.1514,2.7293,2.4215,2.1866,2.0012,1.8509,1.3881,1.1485,1.002,0.90348,0.78008,0.70695,0.65938,0.62657,0.60299,0.58558,0.57229}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_16,factor); - } - else if( ionZ == 17) { - G4double ZZ_17[53]={5.6171,6.2307,7.3984,8.5209,9.6097,10.661,11.669,12.632,13.551,17.518,20.497,22.615,24.076,25.769,26.58,26.953,27.082,27.066,26.958,26.791,25.579,24.214,22.901,21.685,19.553,17.771,16.271,14.996,13.9,12.949,12.118,9.1688,7.385,6.2003,5.3604,4.2535,3.5588,3.0821,2.7343,2.4689,2.2595,2.0898,1.5673,1.297,1.1318,1.0205,0.88128,0.79874,0.74504,0.708,0.68138,0.66172,0.64671}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_17,factor); - } - else if( ionZ == 18) { - G4double ZZ_18[53]={5.7158,6.3394,7.5204,8.6525,9.7528,10.82,11.849,12.836,13.78,17.904,21.07,23.375,24.999,26.928,27.889,28.361,28.559,28.592,28.521,28.381,27.228,25.869,24.541,23.299,21.103,19.255,17.686,16.346,15.19,14.183,13.3,10.137,8.2021,6.9062,5.9819,4.757,3.9841,3.4523,3.0636,2.7668,2.5324,2.3425,1.7573,1.4546,1.2694,1.1448,0.98872,0.8962,0.83601,0.79448,0.76464,0.74259,0.72575}; - physicsVector = CreatePhysicsVectorFullRange(E,ZZ_18,factor); - } - } - - else if( matName == namesMat[30] ) { - if( ionZ == 3) { - G4double Z3_3[31]={2.5756,2.7949,3.1551,3.4304,3.6374,3.7896,3.899,3.9751,4.0258,4.0654,3.9592,3.8156,3.6658,3.3814,3.1293,2.9089,2.716,2.5462,2.3961,2.2626,1.7699,1.456,1.2393,1.0811,0.86577,0.72598,0.6277,0.55463,0.49803,0.45281,0.41577}; - physicsVector = CreatePhysicsVector(E,Z3_3,factor); - } - else if( ionZ == 4) { - G4double Z3_4[31]={3.1808,3.4804,3.989,4.4026,4.7367,5.0026,5.2109,5.3716,5.4936,5.7485,5.7287,5.6167,5.4725,5.1634,4.8658,4.5919,4.343,4.1174,3.9126,3.7263,3.0052,2.5166,2.1655,1.9019,1.5337,1.2895,1.1158,0.98607,0.88532,0.80474,0.73875}; - physicsVector = CreatePhysicsVector(E,Z3_4,factor); - } - else if( ionZ == 5) { - G4double Z3_5[31]={3.6406,4.016,4.6644,5.207,5.6635,6.0445,6.3589,6.6152,6.8219,7.3586,7.4733,7.4265,7.3134,7.0185,6.705,6.4016,6.1159,5.8498,5.603,5.3742,4.4516,3.7924,3.3012,2.9226,2.379,2.0095,1.7428,1.5416,1.3845,1.2585,1.1551}; - physicsVector = CreatePhysicsVector(E,Z3_5,factor); - } - else if( ionZ == 6) { - G4double Z3_6[31]={3.9822,4.4258,5.206,5.8723,6.4462,6.9391,7.359,7.7136,8.0105,8.8754,9.165,9.212,9.1507,8.8994,8.592,8.2768,7.9698,7.6768,7.3997,7.1387,6.0479,5.2336,4.6072,4.1123,3.3838,2.8758,2.5029,2.2184,1.9945,1.8139,1.6652}; - physicsVector = CreatePhysicsVector(E,Z3_6,factor); - } - else if( ionZ == 7) { - G4double Z3_7[31]={4.2846,4.7807,5.6683,6.4396,7.1157,7.7088,8.2263,8.6746,9.0603,10.276,10.776,10.946,10.958,10.781,10.502,10.192,9.8785,9.5706,9.2737,8.9896,7.7641,6.8117,6.0585,5.4511,4.534,3.8794,3.3908,3.0134,2.7137,2.4704,2.2692}; - physicsVector = CreatePhysicsVector(E,Z3_7,factor); - } - else if( ionZ == 8) { - G4double Z3_8[31]={4.5438,5.0849,6.0686,6.9369,7.7081,8.3949,9.0047,9.5432,10.016,11.593,12.327,12.642,12.746,12.669,12.436,12.146,11.836,11.524,11.216,10.917,9.5846,8.511,7.6411,6.9248,5.8213,5.0153,4.4038,3.9255,3.5425,3.2292,2.9686}; - physicsVector = CreatePhysicsVector(E,Z3_8,factor); - } - else if( ionZ == 9) { - G4double Z3_9[31]={4.7328,5.3092,6.3724,7.3248,8.1798,8.9497,9.6421,10.262,10.815,12.742,13.72,14.19,14.394,14.429,14.25,13.986,13.688,13.377,13.065,12.757,11.35,10.183,9.2173,8.4105,7.1453,6.2032,5.4776,4.9034,4.4389,4.0561,3.7356}; - physicsVector = CreatePhysicsVector(E,Z3_9,factor); - } - else if( ionZ == 10) { - G4double Z3_10[31]={4.9049,5.5088,6.6366,7.6612,8.5905,9.4349,10.202,10.898,11.525,13.795,15.027,15.667,15.984,16.149,16.035,15.807,15.527,15.223,14.912,14.6,13.136,11.888,10.839,9.9499,8.5338,7.4615,6.6246,5.9551,5.4088,4.9551,4.573}; - physicsVector = CreatePhysicsVector(E,Z3_10,factor); - } - else if( ionZ == 11) { - G4double Z3_11[31]={5.0608,5.6915,6.8824,7.9813,8.9898,9.9152,10.765,11.544,12.255,14.923,16.477,17.354,17.84,18.223,18.241,18.096,17.872,17.605,17.317,17.019,15.541,14.216,13.064,12.067,10.439,9.1772,8.1756,7.3646,6.6961,6.137,5.6636}; - physicsVector = CreatePhysicsVector(E,Z3_11,factor); - } - else if( ionZ == 12) { - G4double Z3_12[31]={5.2373,5.8701,7.0762,8.204,9.249,10.215,11.11,11.935,12.696,15.62,17.397,18.435,19.032,19.538,19.609,19.488,19.27,19.003,18.709,18.403,16.875,15.501,14.306,13.269,11.57,10.243,9.1835,8.3192,7.6021,6.9989,6.4848}; - physicsVector = CreatePhysicsVector(E,Z3_12,factor); - } - else if( ionZ == 13) { - G4double Z3_13[31]={5.4086,6.0533,7.2853,8.4469,9.535,10.55,11.496,12.376,13.191,16.403,18.44,19.685,20.434,21.135,21.319,21.267,21.094,20.855,20.579,20.283,18.75,17.331,16.078,14.978,13.154,11.713,10.548,9.5911,8.791,8.1134,7.5329}; - physicsVector = CreatePhysicsVector(E,Z3_13,factor); - } - else if( ionZ == 14) { - G4double Z3_14[31]={5.5814,6.2362,7.4891,8.6787,9.8027,10.858,11.847,12.773,13.637,17.106,19.39,20.838,21.741,22.645,22.947,22.97,22.845,22.638,22.383,22.1,20.575,19.122,17.82,16.666,14.733,13.187,11.928,10.884,10.006,9.2581,8.6142}; - physicsVector = CreatePhysicsVector(E,Z3_14,factor); - } - else if( ionZ == 15) { - G4double Z3_15[31]={5.7894,6.4545,7.7257,8.9393,10.095,11.187,12.216,13.184,14.093,17.806,20.334,21.99,23.059,24.187,24.63,24.746,24.686,24.524,24.301,24.042,22.557,21.085,19.742,18.537,16.491,14.832,13.468,12.327,11.362,10.535,9.8194}; - physicsVector = CreatePhysicsVector(E,Z3_15,factor); - } - else if( ionZ == 16) { - G4double Z3_16[31]={5.958,6.6384,7.9356,9.1763,10.364,11.493,12.561,13.57,14.521,18.469,21.236,23.104,24.343,25.708,26.3,26.516,26.526,26.414,26.229,25.997,24.568,23.089,21.712,20.462,18.312,16.547,15.081,13.846,12.794,11.888,11.099}; - physicsVector = CreatePhysicsVector(E,Z3_16,factor); - } - else if( ionZ == 17) { - G4double Z3_17[31]={6.1773,6.8664,8.1767,9.4315,10.639,11.794,12.892,13.933,14.919,19.07,22.054,24.123,25.528,27.128,27.869,28.184,28.264,28.202,28.053,27.849,26.481,25,23.598,22.311,20.072,18.215,16.659,15.34,14.209,13.23,12.375}; - physicsVector = CreatePhysicsVector(E,Z3_17,factor); - } - else if( ionZ == 18) { - G4double Z3_18[31]={6.2903,6.991,8.3169,9.5836,10.806,11.981,13.104,14.172,15.188,19.521,22.708,24.968,26.536,28.37,29.258,29.67,29.817,29.804,29.691,29.512,28.199,26.719,25.297,23.98,21.671,19.742,18.113,16.726,15.532,14.494,13.585}; - physicsVector = CreatePhysicsVector(E,Z3_18,factor); - } - } - - if(physicsVector != 0) { - dedxKeys.push_back( key ); - dedx.push_back( physicsVector ); - } - - return physicsVector; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4PhysicsVector* G4MaterialStoppingICRU73::GetPhysicsVector(G4int, G4int) -{ - G4PhysicsVector* physicsVector = 0; - return physicsVector; -} diff --git a/source/materials/src/G4NistElementBuilder.cc b/source/materials/src/G4NistElementBuilder.cc index 752fa592c4..41b9f8276a 100644 --- a/source/materials/src/G4NistElementBuilder.cc +++ b/source/materials/src/G4NistElementBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4NistElementBuilder.cc,v 1.23 2009/07/17 18:45:57 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4NistElementBuilder.cc,v 1.25 2010/10/25 13:00:19 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -66,9 +66,7 @@ G4NistElementBuilder::G4NistElementBuilder(G4int vb): verbose(vb), first(true) { Initialise(); - // Atomic shells are defined only for 101 elements - limitNumElements = 101; - for(G4int i=0; i0 && elmSymbol[Z] != name); + do {--Z;} while( Z>0 && elmSymbol[Z] != name); return Z; } @@ -96,22 +94,25 @@ G4Element* G4NistElementBuilder::FindOrBuildElement(const G4String& symb, } first = false; } - G4int Z = 0; G4Element* elm = 0; - do {Z++;} while (Z= maxNumElements) { return anElement; } - // Nist element does exist + // Nist or user defined element does exist if(elmIndex[Z] >= 0) { const G4ElementTable* theElementTable = G4Element::GetElementTable(); anElement = (*theElementTable)[elmIndex[Z]]; @@ -119,7 +120,7 @@ G4Element* G4NistElementBuilder::FindOrBuildElement(G4int Z, // build new element } else { anElement = BuildElement(Z, buildIsotopes); - if(anElement) elmIndex[Z] = anElement->GetIndex(); + if(anElement) { elmIndex[Z] = anElement->GetIndex(); } } return anElement; } @@ -129,15 +130,15 @@ G4Element* G4NistElementBuilder::FindOrBuildElement(G4int Z, G4Element* G4NistElementBuilder::BuildElement(G4int Z, G4bool buildIsotopes) { G4Element* theElement = 0; - if(Z<1 || Z>=limitNumElements) return theElement; + if(Z<1 || Z>=maxNumElements) { return theElement; } G4double Zeff = (G4double)Z; G4double Aeff = atomicMass[Z]; if (verbose > 1) { G4cout << "G4NistElementBuilder: Build Element <" << elmSymbol[Z] << "> Z= " << Zeff << " A= " << Aeff; - if(buildIsotopes) G4cout << " with natural isotope composition" << G4endl; - else G4cout << " isotopes are not built" << G4endl; + if(buildIsotopes) { G4cout << " with natural isotope composition" << G4endl; } + else { G4cout << " isotopes are not built" << G4endl; } } //build Element with its Isotopes @@ -148,7 +149,7 @@ G4Element* G4NistElementBuilder::BuildElement(G4int Z, G4bool buildIsotopes) G4int idx = idxIsotopes[Z]; std::vector iso; G4Isotope* ist; - for (G4int i=0; i 0.0) { std::ostringstream os; os << elmSymbol[Z] << n0 + i; @@ -165,7 +166,7 @@ G4Element* G4NistElementBuilder::BuildElement(G4int Z, G4bool buildIsotopes) G4int ni = iso.size(); G4double w; theElement = new G4Element(elmSymbol[Z],elmSymbol[Z],ni); - for(G4int j=0; jGetN() - n0]; ist = iso[j]; theElement->AddIsotope(ist, w); @@ -184,7 +185,6 @@ G4Element* G4NistElementBuilder::BuildElement(G4int Z, G4bool buildIsotopes) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - void G4NistElementBuilder::PrintElement(G4int Z) { G4int imin = Z; @@ -193,9 +193,9 @@ void G4NistElementBuilder::PrintElement(G4int Z) imin = 1; imax = maxNumElements; } - if(imax > maxNumElements) imax = maxNumElements; + if(imax > maxNumElements) { imax = maxNumElements; } - for(G4int i=imin; i Z= " << i @@ -206,13 +206,13 @@ void G4NistElementBuilder::PrintElement(G4int Z) G4int idx = idxIsotopes[i]; G4int n0 = nFirstIsotope[i]; G4cout << " N: "; - for(j=0; j 1) - G4cout << "AddElement " << name << " Z= " << Z << " nc= " << nc << G4endl; - + if (verbose > 1) { + G4cout << "AddElement " << name << " Z= " << Z << " nc= " << nc << G4endl; + } if (Z >= maxNumElements) { G4cout << "G4NistElementBuilder::AddElement: Warning! Z= " << Z << " is too big" << G4endl; return; } - if (index >= maxAbundance) { - G4cout << "G4NistElementBuilder::AddElement: Warning! index= " << index - << " is too big" << G4endl; + if (index+nc >= maxAbundance) { + G4cout << "G4NistElementBuilder::AddElement: ERROR index= " << index + << " + nc= " << nc + << " is above array size " << maxAbundance << G4endl; return; } @@ -246,9 +247,8 @@ void G4NistElementBuilder::AddElement(const G4String& name, G4int Z, G4int nc, nFirstIsotope[Z] = (&N)[0]; G4double ww = 0.0; G4double www; - size_t nm = nc; - for(size_t i=0; i 1) {PrintElement(Z);} + if (verbose > 1) { PrintElement(Z); } else if(1 == verbose) { G4cout << "Nist Element " << elmSymbol[Z] << " Z= " << Z @@ -284,7 +284,7 @@ void G4NistElementBuilder::Initialise() // Parameterisation from D.Lunney,J.M.Pearson,C.Thibault, // Rev.Mod.Phys. 75 (2003) 1021 bindingEnergy[0] = 0.0; - for(G4int i=1; iGetA(j); POWERA27[j] = std::pow(A,0.27); LOGAZ[j] = std::log(A); } - POWERZ13[0] = 1.0; POWERA27[0] = 1.0; - LOGA[0] = 0.0; LOGAZ[0] = 0.0; } diff --git a/source/materials/src/G4NistMaterialBuilder.cc b/source/materials/src/G4NistMaterialBuilder.cc index 3681768caf..a705349c0b 100644 --- a/source/materials/src/G4NistMaterialBuilder.cc +++ b/source/materials/src/G4NistMaterialBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4NistMaterialBuilder.cc,v 1.23 2009/11/24 17:19:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4NistMaterialBuilder.cc,v 1.36 2010/11/03 18:08:12 antoni Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------------- @@ -61,6 +61,7 @@ #include "G4NistMaterialBuilder.hh" #include "G4NistElementBuilder.hh" +#include "G4Element.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -94,8 +95,8 @@ G4Material* G4NistMaterialBuilder::FindOrBuildMaterial(const G4String& matname, } G4String name = matname; - if("G4_NYLON-6/6" == matname) name = "G4_NYLON-6-6"; - if("G4_NYLON-6/10" == matname) name = "G4_NYLON-6-10"; + if("G4_NYLON-6/6" == matname) { name = "G4_NYLON-6-6"; } + if("G4_NYLON-6/10" == matname) { name = "G4_NYLON-6-10";} if (verbose > 1) { G4cout << "G4NistMaterialBuilder::FindOrBuildMaterial " << name << G4endl; @@ -106,15 +107,15 @@ G4Material* G4NistMaterialBuilder::FindOrBuildMaterial(const G4String& matname, // Check if name inside NIST DB? G4Material* mat = 0; - for (G4int i=0; i 0) { - for (G4int i=0; iGetName()) { mat = (*theMaterialTable)[i]; return mat; @@ -145,13 +146,14 @@ G4Material* G4NistMaterialBuilder::BuildMaterial(const G4String& name, G4bool isotopes) { - if (verbose > 1) G4cout << "G4NistMaterialBuilder: BuildMaterial " << name - << G4endl; - + if (verbose > 1) { + G4cout << "G4NistMaterialBuilder: BuildMaterial " << name + << G4endl; + } G4Material* mat = 0; - if (nMaterials == 0) return mat; + if (nMaterials == 0) { return mat; } - for (G4int i=0; i 1) G4cout << "G4NistMaterialBuilder: BuildMaterial #" << i - << G4endl; - + if (verbose > 1) { + G4cout << "G4NistMaterialBuilder: BuildMaterial #" << i + << G4endl; + } G4Material* mat = 0; - if (nMaterials == 0) return mat; + if (nMaterials == 0) { return mat; } G4int nc = components[i]; mat = new G4Material(names[i],densities[i],nc, states[i],temperatures[i], presures[i]); - if (verbose>1) G4cout << "New material nComponents= " << nc << G4endl; + if (verbose>1) { G4cout << "New material nComponents= " << nc << G4endl; } if (nc > 0) { G4int idx = indexes[i]; for (G4int j=0; jFindOrBuildElement(Z, isotopes); - mat->AddElement(elm,fractions[idx+j]); + G4Element* el = elmBuilder->FindOrBuildElement(Z, isotopes); + if(!el) { + G4cout << "G4NistMaterialBuilder::BuildMaterial:" + << " ERROR: elements Z= " << Z << " is not found" + << G4endl; + G4Exception("G4NistMaterialBuilder::BuildMaterial: Fail to construct material"); + return 0; + } + mat->AddElement(el,fractions[idx+j]); } } @@ -193,9 +201,9 @@ G4Material* G4NistMaterialBuilder::BuildMaterial(G4int i, mat->GetIonisation()->SetMeanExcitationEnergy(exc); } - if (ionPotentials[i] != 0.0) + if (ionPotentials[i] != 0.0) { mat->GetIonisation()->SetMeanExcitationEnergy(ionPotentials[i]); - + } matIndex[i] = mat->GetIndex(); return mat; @@ -218,6 +226,7 @@ G4Material* G4NistMaterialBuilder::ConstructNewMaterial( G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:" << " WARNING: empty list of elements for " << name << G4endl; + G4cout << " Material is not constructed" << G4endl; return 0; } @@ -225,9 +234,16 @@ G4Material* G4NistMaterialBuilder::ConstructNewMaterial( // density in g/cm3, mean ionisation potential is not defined AddMaterial(name,dens*cm3/g,0,0.,nm,state,temp,pressure); - for (G4int i=0; iFindOrBuildElement(elm[i]))->GetZ()); - AddElementByAtomCount(Z, nbAtoms[i]); + for (G4int i=0; iFindOrBuildElement(elm[i]); + if(!el) { + G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:" + << " ERROR: elements " << elm[i] << " is not found" + << G4endl; + G4Exception("G4NistMaterialBuilder::ConstructNewMaterial: Fail to construct material"); + return 0; + } + AddElementByAtomCount(G4int(el->GetZ()), nbAtoms[i]); } return BuildMaterial(name, isotopes); @@ -257,9 +273,16 @@ G4Material* G4NistMaterialBuilder::ConstructNewMaterial( // density in g/cm3, mean ionisation potential is not defined AddMaterial(name,dens*cm3/g,0,0.,nm,state,temp,pressure); - for (G4int i=0; iFindOrBuildElement(elm[i]))->GetZ()); - AddElementByWeightFraction(Z, w[i]); + for (G4int i=0; iFindOrBuildElement(elm[i]); + if(!el) { + G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:" + << " ERROR: elements " << elm[i] << " is not found" + << G4endl; + G4Exception("G4NistMaterialBuilder::ConstructNewMaterial: Fail to construct material"); + return 0; + } + AddElementByWeightFraction(G4int(el->GetZ()), w[i]); } return BuildMaterial(name, isotopes); @@ -275,7 +298,7 @@ G4Material* G4NistMaterialBuilder::ConstructNewGasMaterial( G4bool isotopes) { G4int idx = -1; - for (G4int i=0; i 0) { G4int k = indexes[idx]; - for (G4int j=0; jFindOrBuildElement(Z, isotopes); - mat->AddElement(elm,fractions[k+j]); + G4Element* el = elmBuilder->FindOrBuildElement(Z, isotopes); + if(!el) { + G4cout << "G4NistMaterialBuilder::ConstructNewGasMaterial:" + << " ERROR: element Z= " << Z << " is not found" + << G4endl; + G4Exception("G4NistMaterialBuilder::ConstructNewGasMaterial: Fail to construct material"); + return 0; + } + mat->AddElement(el,fractions[k+j]); } } @@ -349,16 +379,24 @@ void G4NistMaterialBuilder::SetVerbose(G4int val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4NistMaterialBuilder::ListMaterials(const G4String& list) +void G4NistMaterialBuilder::ListMaterials(const G4String& mnam) { - if (list == "simple") ListNistSimpleMaterials(); - if (list == "compound") ListNistCompoundMaterials(); - if (list == "hep") ListHepMaterials(); + if (mnam == "simple") { ListNistSimpleMaterials(); } + else if (mnam == "compound") { ListNistCompoundMaterials(); } + else if (mnam == "hep") { ListHepMaterials(); } + else if (mnam == "space") { ListSpaceMaterials(); } + else if (mnam == "biochemical") { ListBioChemicalMaterials(); } - if (list == "all") { + else if (mnam == "all") { ListNistSimpleMaterials(); ListNistCompoundMaterials(); ListHepMaterials(); + ListSpaceMaterials(); + ListBioChemicalMaterials(); + + } else { + G4cout << "### G4NistMaterialBuilder::ListMaterials: Warning " + << mnam << " list is not known" << G4endl; } } @@ -371,7 +409,7 @@ void G4NistMaterialBuilder::ListNistSimpleMaterials() G4cout << "=======================================================" << G4endl; G4cout << " Z Name ChFormula density(g/cm^3) I(eV) " << G4endl; G4cout << "=======================================================" << G4endl; - for (G4int i=0; i 1) { G4int imin = indexes[i]; G4int imax = imin + nc; - for (G4int j=imin; j 1) { G4cout << "New material " << nameMat << " is prepeared; " @@ -487,16 +551,16 @@ void G4NistMaterialBuilder::AddChemicalFormula(const G4String& nameMat, { if (nCurrent != 0) { G4cout - << "WARNING: G4NistMaterialBuilder::AddChemicalFormula : previous mixture " - << nMaterials << " " << names[nMaterials] << " is not yet complete!" - << G4endl; + << "WARNING: G4NistMaterialBuilder::AddChemicalFormula : previous mixture " + << nMaterials << " " << names[nMaterials] << " is not yet complete!" + << G4endl; } if(nameMat == names[nMaterials-1]) { chFormulas[nMaterials-1] = ch; return; } else { - for(G4int i=0; i 1) ListMaterials("all"); + if (verbose > 1) { ListMaterials("all"); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -1318,7 +1384,7 @@ void G4NistMaterialBuilder::NistCompoundMaterials() AddElementByWeightFraction( 6, 0.156214); AddElementByWeightFraction( 7, 0.035451); AddElementByWeightFraction( 8, 0.7101 ); - + AddMaterial("G4_MUSCLE_WITHOUT_SUCROSE", 1.07, 0, 74.2, 4); AddElementByWeightFraction( 1, 0.101969); AddElementByWeightFraction( 6, 0.120058); @@ -1442,6 +1508,7 @@ void G4NistMaterialBuilder::NistCompoundMaterials() AddElementByWeightFraction( 9, 0.759817); AddMaterial("G4_POLYTRIFLUOROCHLOROETHYLENE", 2.1, 0, 120.7, 3); + // correct chemical name Polychlorotrifluoroethylene [CF2CClF]n, IvantchenkoA. AddElementByWeightFraction( 6, 0.20625 ); AddElementByWeightFraction( 9, 0.489354); AddElementByWeightFraction(17, 0.304395); @@ -1712,8 +1779,27 @@ void G4NistMaterialBuilder::NistCompoundMaterials() AddElementByWeightFraction( 6, 0.905065); AddMaterial("G4_GRAPHITE", 2.21, 6, 78.); - nNIST = nMaterials; AddChemicalFormula("G4_GRAPHITE","Graphite"); + + AddMaterial("G4_CYTOSINE", 1.55, 0, 72., 4); + AddElementByAtomCount("H", 5); + AddElementByAtomCount("C", 4); + AddElementByAtomCount("N", 3); + AddElementByAtomCount("O", 1); + + AddMaterial("G4_THYMINE", 1.23, 0, 72., 4); + AddElementByAtomCount("H", 6); + AddElementByAtomCount("C", 5); + AddElementByAtomCount("N", 2); + AddElementByAtomCount("O", 2); + + AddMaterial("G4_URACIL", 1.32, 0, 72., 4); + AddElementByAtomCount("H", 4); + AddElementByAtomCount("C", 4); + AddElementByAtomCount("N", 2); + AddElementByAtomCount("O", 2); + + nNIST = nMaterials; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -1737,9 +1823,163 @@ void G4NistMaterialBuilder::HepAndNuclearMaterials() AddGas("G4_Galactic",2.73*kelvin, 3.e-18*pascal); AddMaterial("G4_GRAPHITE_POROUS", 1.7, 6, 78.); - AddChemicalFormula("G4_GRAPHITE","Graphite"); + AddChemicalFormula("G4_GRAPHITE_POROUS","Graphite"); + // LUCITE is equal to plustiglass + AddMaterial("G4_LUCITE", 1.19, 0, 74., 3); + AddElementByWeightFraction( 1, 0.080538); + AddElementByWeightFraction( 6, 0.599848); + AddElementByWeightFraction( 8, 0.319614); + + // SRIM-2008 materials + AddMaterial("G4_BRASS", 8.52, 0, 0.0, 3); + AddElementByAtomCount("Cu", 62); + AddElementByAtomCount("Zn", 35); + AddElementByAtomCount("Pb" , 3); + + AddMaterial("G4_BRONZE", 8.82, 0, 0.0, 3); + AddElementByAtomCount("Cu", 89); + AddElementByAtomCount("Zn", 9); + AddElementByAtomCount("Pb" , 2); + + AddMaterial("G4_STAINLESS-STEEL", 8.00, 0, 0.0, 3); + AddElementByAtomCount("Fe", 74); + AddElementByAtomCount("Cr", 8); + AddElementByAtomCount("Ni" ,18); + + nHEP = nMaterials; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void G4NistMaterialBuilder::SpaceMaterials() +{ + // density in g/cm3 + AddMaterial("G4_KEVLAR" , 1.44, 0, 0.0, 4); + AddElementByAtomCount("C", 14); + AddElementByAtomCount("H", 10); + AddElementByAtomCount("O", 2); + AddElementByAtomCount("N", 2); + + AddMaterial("G4_DACRON" , 1.40, 0, 0.0, 3); // G4_POLYETHYLENE_TEREPHTALATE + AddElementByAtomCount("C", 10); + AddElementByAtomCount("H", 8); + AddElementByAtomCount("O", 4); + + AddMaterial("G4_NEOPRENE" , 1.23, 0, 0.0, 3); // POLYCLOROPRENE + AddElementByAtomCount("C", 4); + AddElementByAtomCount("H", 5); + AddElementByAtomCount("Cl", 1); + + nSpace = nMaterials; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4NistMaterialBuilder::BioChemicalMaterials() +{ + // DNA_Nucleobase (Nucleobase-1H) + AddMaterial("G4_DNA_ADENINE", 1, 0, 72., 3); + AddElementByAtomCount("H",4 ); + AddElementByAtomCount("C",5 ); + AddElementByAtomCount("N",5 ); + + AddMaterial("G4_DNA_GUANINE", 1, 0, 72. ,4); + AddElementByAtomCount("H",4 ); + AddElementByAtomCount("C",5 ); + AddElementByAtomCount("N",5 ); + AddElementByAtomCount("O",1 ); + + AddMaterial("G4_DNA_CYTOSINE", 1, 0, 72., 4); + AddElementByAtomCount("H", 4); + AddElementByAtomCount("C", 4); + AddElementByAtomCount("N", 3); + AddElementByAtomCount("O", 1); + + AddMaterial("G4_DNA_THYMINE", 1, 0, 72., 4); + AddElementByAtomCount("H", 5); + AddElementByAtomCount("C", 5); + AddElementByAtomCount("N", 2); + AddElementByAtomCount("O", 2); + + AddMaterial("G4_DNA_URACIL", 1, 0, 72., 4); + AddElementByAtomCount("H", 4); + AddElementByAtomCount("C", 4); + AddElementByAtomCount("N", 2); + AddElementByAtomCount("O", 2); + + // DNA_Nucleoside (Nucleoside-3H) + AddMaterial("G4_DNA_ADENOSINE", 1, 0, 72., 4); + AddElementByAtomCount("H", 10); + AddElementByAtomCount("C", 10); + AddElementByAtomCount("N", 5); + AddElementByAtomCount("O", 4); + + AddMaterial("G4_DNA_GUANOSINE", 1, 0, 72. ,4); + AddElementByAtomCount("H", 10); + AddElementByAtomCount("C", 10); + AddElementByAtomCount("N", 5); + AddElementByAtomCount("O", 5); + + AddMaterial("G4_DNA_CYTIDINE", 1, 0, 72., 4); + AddElementByAtomCount("H", 10); + AddElementByAtomCount("C", 9); + AddElementByAtomCount("N", 3); + AddElementByAtomCount("O", 5); + + AddMaterial("G4_DNA_URIDINE", 1, 0, 72., 4); + AddElementByAtomCount("H", 9); + AddElementByAtomCount("C", 9); + AddElementByAtomCount("N", 2); + AddElementByAtomCount("O", 6); + + AddMaterial("G4_DNA_METHYLURIDINE", 1, 0, 72., 4); + AddElementByAtomCount("H", 11); + AddElementByAtomCount("C", 10); + AddElementByAtomCount("N", 2); + AddElementByAtomCount("O", 6); + + AddMaterial("G4_DNA_MONOPHOSPHATE", 1, 0, 72., 2); + AddElementByAtomCount("P", 1); + AddElementByAtomCount("O", 3); + + AddMaterial("G4_DNA_A", 1, 0, 72., 5); //Adenine base + AddElementByAtomCount("H", 10); + AddElementByAtomCount("C", 10); + AddElementByAtomCount("N", 5); + AddElementByAtomCount("O", 7); + AddElementByAtomCount("P", 1); + + AddMaterial("G4_DNA_G", 1, 0, 72. ,5); //Guanine base + AddElementByAtomCount("H", 10); + AddElementByAtomCount("C", 10); + AddElementByAtomCount("N", 5); + AddElementByAtomCount("O", 8); + AddElementByAtomCount("P", 1); + + AddMaterial("G4_DNA_C", 1, 0, 72., 5); // Cytosine base + AddElementByAtomCount("H", 10); + AddElementByAtomCount("C", 9); + AddElementByAtomCount("N", 3); + AddElementByAtomCount("O", 8); + AddElementByAtomCount("P", 1); + + AddMaterial("G4_DNA_U", 1, 0, 72., 5); // Uracil base + AddElementByAtomCount("H", 9); + AddElementByAtomCount("C", 9); + AddElementByAtomCount("N", 2); + AddElementByAtomCount("O", 9); + AddElementByAtomCount("P", 1); + + AddMaterial("G4_DNA_MU", 1, 0, 72., 5); // MethaUracil base + AddElementByAtomCount("H", 11); + AddElementByAtomCount("C", 10); + AddElementByAtomCount("N", 2); + AddElementByAtomCount("O", 9); + AddElementByAtomCount("P", 1); + +} + + + + diff --git a/source/materials/src/G4NistMessenger.cc b/source/materials/src/G4NistMessenger.cc index 5f9f431642..533a716a98 100644 --- a/source/materials/src/G4NistMessenger.cc +++ b/source/materials/src/G4NistMessenger.cc @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4NistMessenger.cc,v 1.9 2009/12/03 11:09:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4NistMessenger.cc,v 1.10 2010/10/25 13:22:51 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // File name: G4NistMessenger @@ -152,9 +151,6 @@ void G4NistMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { manager->PrintG4Material(newValue);} if (command == g4DensCmd) - { if (G4Material::GetNumberOfMaterials > 0) { - G4IonisParamMat::GetDensityEffectData()->PrintData(newValue); - } - } + { G4IonisParamMat::GetDensityEffectData()->PrintData(newValue); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/materials/src/G4OpticalSurface.cc b/source/materials/src/G4OpticalSurface.cc index f37c159d22..65d498ab0a 100644 --- a/source/materials/src/G4OpticalSurface.cc +++ b/source/materials/src/G4OpticalSurface.cc @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4OpticalSurface.cc,v 1.16 2009/12/01 08:24:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpticalSurface.cc,v 1.17 2010/10/25 15:16:02 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //////////////////////////////////////////////////////////////////////// @@ -255,6 +254,7 @@ void G4OpticalSurface::ReadFile() G4String excep = "G4OpBoundaryProcess - G4REALSURFACEDATA environment variable not set"; G4Exception(excep); + return; } G4String pathString(path); @@ -265,15 +265,17 @@ void G4OpticalSurface::ReadFile() readFileHandle = fopen(readFileName,"r"); - if (readFileHandle!=NULL) { - for (int i=0;iGetElementVector(); G4int* Z = new G4int[NbElm]; //Atomic number - - // + //determine the maximum number of energy-intervals for this material - // + G4int MaxIntervals = 0; - G4int elm; - for (elm=0; elmGetZ(); MaxIntervals += fNbOfIntervals[Z[elm]]; } - // //copy the Energy bins in a tmp1 array //(take care of the Ionization Potential of each element) - // + G4double* tmp1 = new G4double[MaxIntervals]; G4double IonizationPot; - G4int interval1=0; - for (elm=0; elmpush_back(new G4DataVector(5,0.)); + + for (interval = 0; interval < interval2; interval++ ) + { + fMatSandiaMatrix->push_back( new G4DataVector(5,0.) ); } - // + //ready to compute the Sandia coefs for the material - // + const G4double* NbOfAtomsPerVolume = fMaterial->GetVecNbOfAtomsPerVolume(); const G4double prec = 1.e-03*eV; G4double coef, oldsum(0.), newsum(0.); fMatNbOfIntervals = 0; - for (interval=0; interval 0 && fMaterial->GetName() == "G4_Ar" ) + { + G4cout<<"mma, G4SandiaTable::ComputeMatSandiaMatrix(), mat = "<GetName()<GetSandiaCofForMaterial(i,1) + <<"\t"<GetSandiaCofForMaterial(i,2)<<"\t"<GetSandiaCofForMaterial(i,3) + <<"\t"<GetSandiaCofForMaterial(i,4)<GetElementVector(); G4int* Z = new G4int[noElm]; //Atomic number - for (elm = 0; elmGetZ(); - MaxIntervals += fNbOfIntervals[Z[elm]]; - } + for ( elm = 0; elm < noElm; elm++ ) + { + Z[elm] = (G4int)(*ElementVector)[elm]->GetZ(); + MaxIntervals += fNbOfIntervals[Z[elm]]; + } fMaxInterval = MaxIntervals + 2; - // G4cout<<"fMaxInterval = "< 0 && fMaterial->GetName() == "G4_Ar" ) + { + G4cout<<"fMaxInterval = "< fSandiaTable[k1][0]) + if( I1 > fSandiaTable[k1][0] ) { - continue ; // no ionization for energies smaller than I1 (first + continue; // no ionization for energies smaller than I1 (first } // ionisation potential) - break ; + break; } - G4int flag = 0 ; + G4int flag = 0; - for(c1 = 1 ; c1 < c ; c1++) + for( c1 = 1; c1 < c; c1++ ) { - if(fPhotoAbsorptionCof0[c1] == I1) // this value already has existed + if( fPhotoAbsorptionCof0[c1] == I1 ) // this value already has existed { - flag = 1 ; - break ; + flag = 1; + break; } } if(flag == 0) { - fPhotoAbsorptionCof0[c] = I1 ; - c++ ; + fPhotoAbsorptionCof0[c] = I1; + c++; } - for(k2 = k1 ; k2 < n2 ; k2++) + for( k2 = k1; k2 < n2; k2++ ) { - flag = 0 ; + flag = 0; - for(c1 = 1 ; c1 < c ; c1++) + for( c1 = 1; c1 < c; c1++ ) { - if(fPhotoAbsorptionCof0[c1] == fSandiaTable[k2][0]) + if( fPhotoAbsorptionCof0[c1] == fSandiaTable[k2][0] ) { - flag = 1 ; - break ; + flag = 1; + break; } } if(flag == 0) { - fPhotoAbsorptionCof0[c] = fSandiaTable[k2][0] ; - c++ ; + fPhotoAbsorptionCof0[c] = fSandiaTable[k2][0]; + c++; } } } // end for(i) - // sort out - for(i = 1; i < c ; i++ ) + + for( i = 1; i < c; i++ ) + { + for( j = i + 1; j < c; j++ ) { - for(j = i + 1 ; j < c; j++ ) - { - if(fPhotoAbsorptionCof0[i] > fPhotoAbsorptionCof0[j]) - { - G4double tmp = fPhotoAbsorptionCof0[i]; - fPhotoAbsorptionCof0[i] = fPhotoAbsorptionCof0[j]; - fPhotoAbsorptionCof0[j] = tmp ; - } - } + if( fPhotoAbsorptionCof0[i] > fPhotoAbsorptionCof0[j] ) + { + G4double tmp = fPhotoAbsorptionCof0[i]; + fPhotoAbsorptionCof0[i] = fPhotoAbsorptionCof0[j]; + fPhotoAbsorptionCof0[j] = tmp; + } } - - fMaxInterval = c ; + if ( fVerbose > 0 && fMaterial->GetName() == "G4_Ar" ) + { + G4cout<GetDensity(); + for (i = 0; i < fMaxInterval; i++) fMatSandiaMatrixPAI->push_back(new G4DataVector(5,0.)); + for (i = 0; i < fMaxInterval; i++) - { - fMatSandiaMatrixPAI->push_back(new G4DataVector(5,0.)); - } - for (i = 0; i < fMaxInterval; i++) - { - (*(*fMatSandiaMatrixPAI)[i])[0] = fPhotoAbsorptionCof0[i+1]; - (*(*fMatSandiaMatrixPAI)[i])[1] = fPhotoAbsorptionCof1[i+1]*density; - (*(*fMatSandiaMatrixPAI)[i])[2] = fPhotoAbsorptionCof2[i+1]*density; - (*(*fMatSandiaMatrixPAI)[i])[3] = fPhotoAbsorptionCof3[i+1]*density; - (*(*fMatSandiaMatrixPAI)[i])[4] = fPhotoAbsorptionCof4[i+1]*density; + { + (*(*fMatSandiaMatrixPAI)[i])[0] = fPhotoAbsorptionCof0[i+1]; + (*(*fMatSandiaMatrixPAI)[i])[1] = fPhotoAbsorptionCof1[i+1]*density; + (*(*fMatSandiaMatrixPAI)[i])[2] = fPhotoAbsorptionCof2[i+1]*density; + (*(*fMatSandiaMatrixPAI)[i])[3] = fPhotoAbsorptionCof3[i+1]*density; + (*(*fMatSandiaMatrixPAI)[i])[4] = fPhotoAbsorptionCof4[i+1]*density; + } + if ( fVerbose > 0 && fMaterial->GetName() == "G4_Ar" ) + { + G4cout<<"mma, G4SandiaTable::ComputeMatSandiaMatrixPAI(), mat = "<GetName()<GetSandiaMatTablePAI(i,1) + <<"\t"<GetSandiaMatTablePAI(i,2)<<"\t"<GetSandiaMatTablePAI(i,3) + <<"\t"<GetSandiaMatTablePAI(i,4)< da[j][0]) - { - SandiaSwap(da,i,j) ; - } + if(da[i][0] > da[j][0]) SandiaSwap(da,i,j); } } } @@ -495,89 +568,84 @@ G4int G4SandiaTable::SandiaIntervals(G4int Z[], G4int el ) { - G4int c,i ; + G4int c, i, flag = 0, n1 = 1; + G4int j, c1, k1, k2; + G4double I1; + fMaxInterval = 0; - fMaxInterval = 0 ; + for( i = 0; i < el; i++ ) fMaxInterval += fNbOfIntervals[ Z[i] ]; - for(i=0;i 0 ) G4cout<<"begin sanInt, fMaxInterval = "<GetSandiaCofForMaterial(i,1) + <<"\t"<GetSandiaCofForMaterial(i,2)<<"\t"<GetSandiaCofForMaterial(i,3) + <<"\t"<GetSandiaCofForMaterial(i,4)<= minIonAtomicNmb && ionZ <= maxIonAtomicNmb) { - - size_t nmbMat = atomicNumbersMat.size(); - - for( size_t i = 0; i < nmbMat; i++ ) { - - if( atomicNumbersMat[i] == matZ ) { isApplicable = true; break; } - } - } - - return isApplicable; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4SimpleMaterialStoppingICRU73::IsApplicable(G4int ionZ, - const G4String& matName) -{ - G4bool isApplicable = false; - - if(ionZ >= minIonAtomicNmb && ionZ <= maxIonAtomicNmb) { - - size_t nmbMat = namesMat.size(); - - for( size_t i = 0; i < nmbMat; i++ ) { - - if( namesMat[i] == matName ) { isApplicable = true; break; } - } - } - - return isApplicable; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4SimpleMaterialStoppingICRU73::~G4SimpleMaterialStoppingICRU73() -{ - size_t nmb = dedx.size(); - - for(size_t i = 0; i < nmb; i++) delete dedx[i]; - - dedx.clear(); - dedxKeys.clear(); - atomicNumbersMat.clear(); - namesMat.clear(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4SimpleMaterialStoppingICRU73::GetDEDX(G4double kinEnergyPerNucleon, - G4int ionZ, - G4int matZ) { - - G4double dedxValue = -1.0; - - size_t nmbMat = atomicNumbersMat.size(); - - for( size_t i = 0; i < nmbMat; i++ ) { - - if( atomicNumbersMat[i] == matZ ) { - dedxValue = GetDEDX(kinEnergyPerNucleon, ionZ, namesMat[i]); - break; - } - } - - return dedxValue; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4SimpleMaterialStoppingICRU73::GetDEDX(G4double kinEnergyPerNucleon, - G4int ionZ, - const G4String& matName) -{ - G4double dedxValue = -1.0; - - G4PhysicsVector* physicsVector = GetPhysicsVector(ionZ, matName); - - if(physicsVector != 0) { - - size_t nmbBins = physicsVector -> GetVectorLength(); - G4double lowerEnergyEdge = physicsVector -> GetLowEdgeEnergy(0); - G4double upperEnergyEdge = physicsVector -> GetLowEdgeEnergy(nmbBins-1); - - if(kinEnergyPerNucleon <= upperEnergyEdge) { - G4bool b; - - if(kinEnergyPerNucleon < lowerEnergyEdge) { - dedxValue = physicsVector -> GetValue(lowerEnergyEdge, b) * - std::sqrt(kinEnergyPerNucleon / lowerEnergyEdge); - } - else { - dedxValue = physicsVector -> GetValue(kinEnergyPerNucleon, b); - } - } - } - - return dedxValue; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4PhysicsVector* G4SimpleMaterialStoppingICRU73::CreatePhysicsVector( - G4double* energy, - G4double* stoppower, - G4double factor) -{ - G4LPhysicsFreeVector* pv = new G4LPhysicsFreeVector(31,energy[0],energy[30]); - pv->SetSpline(spline); - - for( G4int i = 0; i < 31; i++ ) { - pv->PutValues(i,energy[i],stoppower[i]*factor); - } - - return pv; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4PhysicsVector* G4SimpleMaterialStoppingICRU73::GetPhysicsVector( - G4int ionZ, - const G4String& matName) -{ - G4PhysicsVector* physicsVector = 0; - - DEDXKey key = std::make_pair(ionZ, matName); - - // Checking if dE/dx vector was already created - size_t nmbKeys = dedxKeys.size(); - for( size_t i = 0; i < nmbKeys; i++ ) { - - if( dedxKeys[i] == key ) { physicsVector = dedx[i]; break; } - } - if(physicsVector != 0) { return physicsVector; } - - // Creating dE/dx vector if ion-material pair covered - G4double factor = MeV * cm2 / (0.001 * g); - - G4double E[31] = {.025,.03,.04,.05,.06,.07,.08,.09,.1,.15,.2,.25,.3,.4,.5,.6,.7,.8,.9,1,1.5,2,2.5,3,4,5,6,7,8,9,10}; - - for( G4int i = 0; i < 31; i++ ) E[i] *= MeV; - - // Data name: (Z_NameMaterial)_(Z_Ion)[31]= - if( matName == namesMat[0] ) { - if( ionZ == 3 ) { - G4double H_3[31]={8.31,8.919,9.838,10.46,10.87,11.14,11.3,11.4,11.43,11.21,10.73,10.21,9.696,8.773,7.989,7.326,6.761,6.275,5.853,5.485,4.175,3.377,2.843,2.46,1.948,1.62,1.393,1.225,1.095,0.9921,0.9082}; - physicsVector = CreatePhysicsVector(E,H_3,factor); - } - else if( ionZ == 4 ) { - G4double H_4[31]={10.5,11.36,12.72,13.72,14.44,14.96,15.33,15.58,15.76,15.9,15.53,15.01,14.46,13.38,12.41,11.55,10.79,10.12,9.533,9.006,7.054,5.801,4.933,4.297,3.427,2.862,2.464,2.169,1.941,1.759,1.61}; - physicsVector = CreatePhysicsVector(E,H_4,factor); - } - else if( ionZ == 5 ) { - G4double H_5[31]={12.19,13.29,15.12,16.52,17.59,18.4,19.01,19.47,19.81,20.46,20.31,19.88,19.34,18.2,17.1,16.1,15.2,14.38,13.65,12.98,10.42,8.704,7.478,6.56,5.278,4.428,3.823,3.371,3.019,2.738,2.509}; - physicsVector = CreatePhysicsVector(E,H_5,factor); - } - else if( ionZ == 6 ) { - G4double H_6[31]={13.42,14.75,17,18.81,20.25,21.38,22.27,22.96,23.5,24.79,24.94,24.64,24.17,23.04,21.88,20.78,19.77,18.84,17.98,17.2,14.1,11.95,10.37,9.165,7.449,6.286,5.448,4.815,4.321,3.923,3.597}; - physicsVector = CreatePhysicsVector(E,H_6,factor); - } - else if( ionZ == 7 ) { - G4double H_7[31]={14.65,16.14,18.73,20.87,22.62,24.05,25.2,26.14,26.89,28.88,29.39,29.29,28.92,27.86,26.68,25.53,24.44,23.42,22.47,21.59,18.02,15.47,13.55,12.06,9.897,8.406,7.316,6.486,5.831,5.303,4.867}; - physicsVector = CreatePhysicsVector(E,H_7,factor); - } - else if( ionZ == 8 ) { - G4double H_8[31]={15.64,17.28,20.18,22.63,24.7,26.42,27.86,29.04,30.01,32.8,33.74,33.89,33.67,32.74,31.6,30.43,29.28,28.2,27.17,26.21,22.22,19.28,17.02,15.25,12.63,10.79,9.426,8.38,7.55,6.877,6.319}; - physicsVector = CreatePhysicsVector(E,H_8,factor); - } - else if( ionZ == 9 ) { - G4double H_9[31]={16.24,18,21.15,23.88,26.22,28.23,29.92,31.35,32.54,36.14,37.55,37.97,37.91,37.16,36.08,34.91,33.75,32.63,31.55,30.54,26.25,23.01,20.48,18.46,15.44,13.29,11.67,10.42,9.415,8.595,7.913}; - physicsVector = CreatePhysicsVector(E,H_9,factor); - } - else if( ionZ == 10 ) { - G4double H_10[31]={16.75,18.6,21.96,24.92,27.51,29.77,31.71,33.37,34.79,39.25,41.16,41.89,42.03,41.48,40.49,39.36,38.19,37.05,35.94,34.89,30.34,26.83,24.06,21.82,18.41,15.94,14.08,12.61,11.43,10.46,9.649}; - physicsVector = CreatePhysicsVector(E,H_10,factor); - } - else if( ionZ == 11 ) { - G4double H_11[31]={17.23,19.15,22.67,25.81,28.63,31.11,33.29,35.19,36.84,42.23,44.76,45.89,46.29,46.05,45.2,44.14,43,41.85,40.73,39.64,34.85,31.06,28.02,25.53,21.7,18.89,16.74,15.04,13.66,12.53,11.57}; - physicsVector = CreatePhysicsVector(E,H_11,factor); - } - else if( ionZ == 12 ) { - G4double H_12[31]={18,19.94,23.52,26.77,29.72,32.37,34.73,36.82,38.65,44.89,48.02,49.56,50.24,50.33,49.67,48.7,47.6,46.47,45.34,44.23,39.25,35.23,31.96,29.25,25.04,21.91,19.5,17.58,16.01,14.71,13.61}; - physicsVector = CreatePhysicsVector(E,H_12,factor); - } - else if( ionZ == 13 ) { - G4double H_13[31]={18.67,20.65,24.32,27.67,30.74,33.53,36.06,38.32,40.33,47.38,51.11,53.06,54.04,54.51,54.05,53.2,52.17,51.07,49.94,48.83,43.71,39.47,36,33.09,28.51,25.07,22.39,20.25,18.49,17.02,15.77}; - physicsVector = CreatePhysicsVector(E,H_13,factor); - } - else if( ionZ == 14 ) { - G4double H_14[31]={19.33,21.35,25.1,28.53,31.69,34.6,37.26,39.67,41.83,49.62,53.93,56.29,57.56,58.4,58.15,57.43,56.47,55.41,54.31,53.2,47.99,43.59,39.93,36.85,31.95,28.23,25.32,22.96,21.02,19.39,18.01}; - physicsVector = CreatePhysicsVector(E,H_14,factor); - } - else if( ionZ == 15 ) { - G4double H_15[31]={20.27,22.34,26.16,29.67,32.92,35.93,38.7,41.24,43.54,52.03,56.89,59.67,61.24,62.49,62.48,61.9,61.04,60.04,58.96,57.86,52.58,48.02,44.17,40.89,35.65,31.64,28.46,25.88,23.75,21.95,20.41}; - physicsVector = CreatePhysicsVector(E,H_15,factor); - } - else if( ionZ == 16 ) { - G4double H_16[31]={20.94,23.07,26.99,30.59,33.94,37.06,39.96,42.63,45.08,54.29,59.75,62.97,64.88,66.56,66.82,66.41,65.66,64.72,63.69,62.62,57.29,52.58,48.55,45.1,39.52,35.2,31.76,28.96,26.62,24.64,22.95}; - physicsVector = CreatePhysicsVector(E,H_16,factor); - } - else if( ionZ == 17 ) { - G4double H_17[31]={21.89,24.05,28,31.64,35.03,38.21,41.18,43.94,46.49,56.31,62.31,65.95,68.16,70.25,70.76,70.52,69.87,69.01,68.02,66.97,61.64,56.83,52.67,49.08,43.22,38.65,34.98,31.98,29.46,27.33,25.49}; - physicsVector = CreatePhysicsVector(E,H_17,factor); - } - else if( ionZ == 18 ) { - G4double H_18[31]={22.3,24.5,28.52,32.2,35.64,38.87,41.91,44.76,47.41,57.82,64.39,68.46,71,73.53,74.31,74.25,73.72,72.94,72.01,71,65.7,60.83,56.57,52.86,46.78,41.99,38.13,34.95,32.28,30,28.04}; - physicsVector = CreatePhysicsVector(E,H_18,factor); - } - } - - else if( matName == namesMat[1] ) { - if( ionZ == 3 ) { - G4double He_3[31]={2.636,2.851,3.202,3.47,3.676,3.832,3.948,4.035,4.097,4.194,4.123,3.996,3.85,3.558,3.29,3.052,2.842,2.656,2.492,2.346,1.812,1.476,1.247,1.082,0.8605,0.7182,0.6189,0.5455,0.4889,0.4437,0.4068}; - physicsVector = CreatePhysicsVector(E,He_3,factor); - } - else if( ionZ == 4 ) { - G4double He_4[31]={3.352,3.645,4.14,4.539,4.862,5.122,5.33,5.495,5.626,5.943,5.972,5.886,5.753,5.439,5.122,4.824,4.55,4.302,4.077,3.871,3.08,2.553,2.179,1.903,1.522,1.274,1.098,0.9684,0.8679,0.7877,0.7222}; - physicsVector = CreatePhysicsVector(E,He_4,factor); - } - else if( ionZ == 5 ) { - G4double He_5[31]={3.917,4.284,4.921,5.452,5.897,6.268,6.577,6.832,7.043,7.634,7.806,7.794,7.697,7.402,7.067,6.735,6.419,6.123,5.848,5.592,4.569,3.85,3.323,2.923,2.358,1.981,1.712,1.511,1.354,1.229,1.127}; - physicsVector = CreatePhysicsVector(E,He_5,factor); - } - else if( ionZ == 6 ) { - G4double He_6[31]={4.345,4.779,5.548,6.207,6.774,7.26,7.675,8.027,8.325,9.235,9.584,9.671,9.631,9.382,9.051,8.703,8.36,8.029,7.717,7.423,6.202,5.306,4.629,4.104,3.344,2.826,2.45,2.166,1.944,1.766,1.62}; - physicsVector = CreatePhysicsVector(E,He_6,factor); - } - else if( ionZ == 7 ) { - G4double He_7[31]={4.78,5.263,6.129,6.889,7.557,8.144,8.656,9.102,9.487,10.73,11.29,11.5,11.54,11.36,11.05,10.7,10.35,9.995,9.655,9.331,7.944,6.887,6.069,5.42,4.463,3.795,3.304,2.929,2.634,2.395,2.199}; - physicsVector = CreatePhysicsVector(E,He_7,factor); - } - else if( ionZ == 8 ) { - G4double He_8[31]={5.133,5.662,6.619,7.473,8.238,8.921,9.528,10.07,10.54,12.15,12.93,13.29,13.42,13.36,13.1,12.76,12.4,12.04,11.68,11.34,9.814,8.61,7.654,6.882,5.721,4.894,4.278,3.802,3.425,3.119,2.865}; - physicsVector = CreatePhysicsVector(E,He_8,factor); - } - else if( ionZ == 9 ) { - G4double He_9[31]={5.37,5.934,6.966,7.897,8.742,9.509,10.2,10.82,11.38,13.33,14.35,14.86,15.09,15.13,14.92,14.61,14.26,13.9,13.53,13.17,11.55,10.24,9.184,8.317,6.989,6.025,5.297,4.729,4.274,3.901,3.591}; - physicsVector = CreatePhysicsVector(E,He_9,factor); - } - else if( ionZ == 10 ) { - G4double He_10[31]={5.57,6.164,7.257,8.253,9.168,10.01,10.78,11.47,12.11,14.4,15.67,16.35,16.69,16.86,16.71,16.43,16.09,15.73,15.36,14.99,13.3,11.9,10.75,9.798,8.315,7.221,6.383,5.722,5.189,4.749,4.381}; - physicsVector = CreatePhysicsVector(E,He_10,factor); - } - else if( ionZ == 11 ) { - G4double He_11[31]={5.709,6.323,7.464,8.515,9.493,10.4,11.24,12.02,12.73,15.4,16.95,17.83,18.31,18.66,18.6,18.38,18.07,17.72,17.36,16.99,15.25,13.76,12.52,11.47,9.812,8.571,7.609,6.843,6.22,5.704,5.269}; - physicsVector = CreatePhysicsVector(E,He_11,factor); - } - else if( ionZ == 12 ) { - G4double He_12[31]={5.934,6.556,7.715,8.793,9.807,10.76,11.65,12.49,13.26,16.25,18.08,19.16,19.79,20.33,20.38,20.22,19.94,19.62,19.27,18.9,17.13,15.57,14.25,13.12,11.32,9.946,8.87,8.005,7.297,6.706,6.206}; - physicsVector = CreatePhysicsVector(E,He_12,factor); - } - else if( ionZ == 13 ) { - G4double He_13[31]={6.134,6.771,7.956,9.062,10.11,11.1,12.04,12.92,13.74,17.03,19.13,20.42,21.21,21.95,22.13,22.04,21.82,21.52,21.19,20.83,19.04,17.43,16.03,14.83,12.89,11.38,10.2,9.233,8.438,7.771,7.205}; - physicsVector = CreatePhysicsVector(E,He_13,factor); - } - else if( ionZ == 14 ) { - G4double He_14[31]={6.339,6.99,8.198,9.326,10.4,11.42,12.39,13.31,14.18,17.73,20.07,21.57,22.51,23.46,23.76,23.75,23.57,23.31,22.99,22.65,20.85,19.2,17.75,16.48,14.41,12.8,11.51,10.46,9.59,8.853,8.225}; - physicsVector = CreatePhysicsVector(E,He_14,factor); - } - else if( ionZ == 15 ) { - G4double He_15[31]={6.634,7.302,8.541,9.696,10.79,11.84,12.85,13.81,14.72,18.51,21.1,22.8,23.91,25.08,25.52,25.6,25.49,25.27,24.98,24.66,22.88,21.18,19.66,18.33,16.12,14.38,12.98,11.82,10.86,10.05,9.347}; - physicsVector = CreatePhysicsVector(E,He_15,factor); - } - else if( ionZ == 16 ) { - G4double He_16[31]={6.833,7.524,8.803,9.993,11.12,12.21,13.25,14.24,15.2,19.23,22.07,23.99,25.27,26.69,27.28,27.46,27.42,27.25,27,26.7,24.96,23.23,21.66,20.26,17.91,16.05,14.53,13.27,12.22,11.32,10.54}; - physicsVector = CreatePhysicsVector(E,He_16,factor); - } - else if( ionZ == 17 ) { - G4double He_17[31]={7.144,7.843,9.139,10.34,11.49,12.59,13.65,14.68,15.66,19.88,22.95,25.06,26.5,28.14,28.87,29.15,29.17,29.05,28.83,28.55,26.84,25.09,23.48,22.03,19.58,17.61,16,14.66,13.52,12.55,11.72}; - physicsVector = CreatePhysicsVector(E,He_17,factor); - } - else if( ionZ == 18 ) { - G4double He_18[31]={7.268,7.978,9.289,10.51,11.66,12.78,13.85,14.89,15.9,20.3,23.58,25.89,27.49,29.36,30.24,30.62,30.71,30.63,30.44,30.19,28.52,26.76,25.12,23.64,21.12,19.07,17.38,15.97,14.77,13.75,12.85}; - physicsVector = CreatePhysicsVector(E,He_18,factor); - } - } - - else if( matName == namesMat[2] ) { - if( ionZ == 3 ) { - G4double Be_3[31]={2.148,2.307,2.562,2.753,2.897,3.003,3.08,3.132,3.166,3.193,3.127,3.033,2.931,2.727,2.538,2.368,2.217,2.082,1.961,1.854,1.451,1.192,1.013,0.8818,0.7042,0.5894,0.5089,0.4493,0.4032,0.3664,0.3363}; - physicsVector = CreatePhysicsVector(E,Be_3,factor); - } - else if( ionZ == 4 ) { - G4double Be_4[31]={2.702,2.928,3.303,3.599,3.833,4.017,4.162,4.273,4.357,4.533,4.535,4.474,4.386,4.177,3.961,3.754,3.561,3.382,3.218,3.067,2.476,2.07,1.777,1.557,1.251,1.049,0.9061,0.7996,0.7172,0.6515,0.5978}; - physicsVector = CreatePhysicsVector(E,Be_4,factor); - } - else if( ionZ == 5 ) { - G4double Be_5[31]={3.141,3.432,3.925,4.326,4.654,4.922,5.141,5.32,5.463,5.831,5.93,5.924,5.868,5.687,5.471,5.247,5.029,4.82,4.624,4.44,3.682,3.131,2.72,2.402,1.947,1.639,1.418,1.252,1.123,1.02,0.9352}; - physicsVector = CreatePhysicsVector(E,Be_5,factor); - } - else if( ionZ == 6 ) { - G4double Be_6[31]={3.484,3.837,4.444,4.949,5.372,5.727,6.025,6.275,6.483,7.078,7.297,7.363,7.353,7.22,7.02,6.796,6.566,6.339,6.12,5.911,5.014,4.332,3.805,3.388,2.775,2.35,2.039,1.803,1.619,1.47,1.349}; - physicsVector = CreatePhysicsVector(E,Be_6,factor); - } - else if( ionZ == 7 ) { - G4double Be_7[31]={3.795,4.198,4.903,5.499,6.008,6.445,6.819,7.14,7.413,8.257,8.619,8.774,8.824,8.761,8.595,8.383,8.153,7.917,7.684,7.457,6.449,5.649,5.011,4.497,3.723,3.173,2.764,2.451,2.203,2.003,1.838}; - physicsVector = CreatePhysicsVector(E,Be_7,factor); - } - else if( ionZ == 8 ) { - G4double Be_8[31]={4.05,4.499,5.294,5.978,6.57,7.085,7.534,7.924,8.263,9.368,9.89,10.15,10.27,10.3,10.18,9.998,9.78,9.546,9.308,9.071,7.978,7.075,6.336,5.727,4.791,4.109,3.597,3.197,2.879,2.62,2.406}; - physicsVector = CreatePhysicsVector(E,Be_8,factor); - } - else if( ionZ == 9 ) { - G4double Be_9[31]={4.249,4.737,5.609,6.369,7.035,7.621,8.137,8.591,8.991,10.35,11.03,11.39,11.59,11.7,11.64,11.48,11.28,11.05,10.81,10.57,9.42,8.439,7.621,6.937,5.866,5.072,4.465,3.987,3.602,3.286,3.023}; - physicsVector = CreatePhysicsVector(E,Be_9,factor); - } - else if( ionZ == 10 ) { - G4double Be_10[31]={4.423,4.942,5.88,6.708,7.442,8.094,8.674,9.189,9.647,11.26,12.11,12.58,12.85,13.07,13.07,12.94,12.76,12.55,12.31,12.07,10.87,9.823,8.936,8.184,6.988,6.087,5.389,4.833,4.381,4.008,3.695}; - physicsVector = CreatePhysicsVector(E,Be_10,factor); - } - else if( ionZ == 11 ) { - G4double Be_11[31]={4.542,5.085,6.08,6.967,7.763,8.478,9.12,9.697,10.22,12.09,13.14,13.75,14.11,14.46,14.53,14.46,14.31,14.11,13.89,13.65,12.43,11.33,10.38,9.559,8.236,7.222,6.425,5.784,5.259,4.822,4.452}; - physicsVector = CreatePhysicsVector(E,Be_11,factor); - } - else if( ionZ == 12 ) { - G4double Be_12[31]={4.691,5.249,6.282,7.213,8.055,8.819,9.511,10.14,10.71,12.83,14.06,14.8,15.27,15.75,15.91,15.89,15.77,15.6,15.39,15.16,13.93,12.79,11.79,10.91,9.483,8.37,7.485,6.765,6.171,5.673,5.249}; - physicsVector = CreatePhysicsVector(E,Be_12,factor); - } - else if( ionZ == 13 ) { - G4double Be_13[31]={4.831,5.402,6.469,7.44,8.325,9.133,9.871,10.54,11.16,13.5,14.93,15.81,16.38,17.01,17.26,17.31,17.24,17.09,16.91,16.69,15.47,14.3,13.25,12.32,10.79,9.579,8.605,7.807,7.142,6.582,6.103}; - physicsVector = CreatePhysicsVector(E,Be_13,factor); - } - else if( ionZ == 14 ) { - G4double Be_14[31]={4.976,5.558,6.651,7.655,8.577,9.423,10.2,10.92,11.57,14.12,15.73,16.74,17.42,18.19,18.54,18.66,18.63,18.52,18.35,18.15,16.95,15.75,14.66,13.69,12.07,10.77,9.722,8.852,8.123,7.505,6.974}; - physicsVector = CreatePhysicsVector(E,Be_14,factor); - } - else if( ionZ == 15 ) { - G4double Be_15[31]={5.153,5.747,6.866,7.902,8.859,9.743,10.56,11.31,12.01,14.76,16.55,17.72,18.5,19.44,19.9,20.1,20.14,20.08,19.94,19.77,18.62,17.4,16.27,15.26,13.53,12.13,10.99,10.04,9.232,8.545,7.953}; - physicsVector = CreatePhysicsVector(E,Be_15,factor); - } - else if( ionZ == 16 ) { - G4double Be_16[31]={5.3,5.907,7.053,8.12,9.113,10.03,10.89,11.68,12.42,15.37,17.35,18.66,19.56,20.67,21.25,21.54,21.65,21.63,21.54,21.39,20.3,19.09,17.93,16.87,15.05,13.56,12.33,11.29,10.41,9.655,9.001}; - physicsVector = CreatePhysicsVector(E,Be_16,factor); - } - else if( ionZ == 17 ) { - G4double Be_17[31]={5.5,6.113,7.275,8.362,9.379,10.33,11.21,12.04,12.81,15.93,18.08,19.53,20.55,21.82,22.51,22.89,23.05,23.08,23.02,22.9,21.87,20.65,19.47,18.38,16.49,14.92,13.6,12.5,11.55,10.73,10.02}; - physicsVector = CreatePhysicsVector(E,Be_17,factor); - } - else if( ionZ == 18 ) { - G4double Be_18[31]={5.619,6.238,7.409,8.508,9.542,10.51,11.42,12.28,13.07,16.35,18.66,20.25,21.37,22.8,23.61,24.07,24.29,24.37,24.34,24.25,23.27,22.05,20.85,19.74,17.78,16.14,14.77,13.61,12.61,11.75,10.99}; - physicsVector = CreatePhysicsVector(E,Be_18,factor); - } -} - - else if( matName == namesMat[3] ) { - if( ionZ == 3 ) { - G4double C_3[31]={2.043,2.2,2.457,2.658,2.815,2.939,3.035,3.109,3.162,3.238,3.178,3.082,2.978,2.774,2.587,2.419,2.27,2.137,2.018,1.911,1.508,1.246,1.063,0.9292,0.7457,0.6261,0.5418,0.4792,0.4306,0.3918,0.3599}; - physicsVector = CreatePhysicsVector(E,C_3,factor); - } - else if( ionZ == 4 ) { - G4double C_4[31]={2.54,2.761,3.135,3.441,3.694,3.902,4.072,4.21,4.321,4.588,4.608,4.546,4.455,4.245,4.032,3.83,3.641,3.467,3.306,3.159,2.572,2.163,1.866,1.641,1.325,1.115,0.9653,0.8533,0.7664,0.6969,0.64}; - physicsVector = CreatePhysicsVector(E,C_4,factor); - } - else if( ionZ == 5 ) { - G4double C_5[31]={2.919,3.203,3.692,4.102,4.449,4.743,4.992,5.202,5.378,5.882,6.02,6.019,5.96,5.776,5.562,5.346,5.136,4.935,4.745,4.566,3.821,3.272,2.856,2.532,2.063,1.743,1.512,1.337,1.201,1.092,1.002}; - physicsVector = CreatePhysicsVector(E,C_5,factor); - } - else if( ionZ == 6 ) { - G4double C_6[31]={3.206,3.548,4.148,4.659,5.099,5.479,5.809,6.094,6.34,7.113,7.401,7.482,7.471,7.335,7.139,6.923,6.703,6.487,6.278,6.077,5.205,4.529,3.998,3.574,2.944,2.502,2.177,1.929,1.734,1.576,1.447}; - physicsVector = CreatePhysicsVector(E,C_6,factor); - } - else if( ionZ == 7 ) { - G4double C_7[31]={3.445,3.836,4.53,5.131,5.657,6.119,6.527,6.885,7.2,8.259,8.728,8.914,8.969,8.905,8.742,8.541,8.324,8.103,7.884,7.668,6.698,5.91,5.273,4.751,3.957,3.386,2.958,2.627,2.364,2.152,1.975}; - physicsVector = CreatePhysicsVector(E,C_7,factor); - } - else if( ionZ == 8 ) { - G4double C_8[31]={3.638,4.069,4.848,5.533,6.141,6.682,7.165,7.595,7.979,9.328,9.997,10.31,10.44,10.47,10.36,10.18,9.98,9.764,9.543,9.321,8.282,7.401,6.666,6.053,5.096,4.39,3.853,3.432,3.095,2.819,2.59}; - physicsVector = CreatePhysicsVector(E,C_8,factor); - } - else if( ionZ == 9 ) { - G4double C_9[31]={3.792,4.257,5.106,5.864,6.544,7.156,7.707,8.203,8.65,10.28,11.15,11.59,11.8,11.93,11.87,11.72,11.54,11.33,11.11,10.89,9.8,8.848,8.037,7.348,6.254,5.431,4.794,4.289,3.88,3.543,3.261}; - physicsVector = CreatePhysicsVector(E,C_9,factor); - } - else if( ionZ == 10 ) { - G4double C_10[31]={3.927,4.419,5.328,6.149,6.893,7.57,8.185,8.744,9.252,11.15,12.23,12.81,13.12,13.35,13.35,13.24,13.08,12.88,12.67,12.45,11.33,10.32,9.442,8.686,7.464,6.529,5.796,5.208,4.728,4.329,3.993}; - physicsVector = CreatePhysicsVector(E,C_10,factor); - } - else if( ionZ == 11 ) { - G4double C_11[31]={4.019,4.53,5.486,6.362,7.165,7.903,8.579,9.2,9.768,11.94,13.26,14,14.42,14.79,14.86,14.8,14.67,14.49,14.29,14.08,12.95,11.89,10.96,10.14,8.79,7.742,6.908,6.232,5.675,5.208,4.813}; - physicsVector = CreatePhysicsVector(E,C_11,factor); - } - else if( ionZ == 12 ) { - G4double C_12[31]={4.132,4.653,5.638,6.555,7.407,8.194,8.922,9.593,10.21,12.64,14.18,15.08,15.62,16.13,16.29,16.28,16.18,16.03,15.84,15.64,14.51,13.42,12.43,11.56,10.11,8.965,8.041,7.285,6.656,6.126,5.674}; - physicsVector = CreatePhysicsVector(E,C_12,factor); - } - else if( ionZ == 13 ) { - G4double C_13[31]={4.239,4.77,5.781,6.732,7.623,8.455,9.228,9.947,10.61,13.28,15.03,16.11,16.77,17.44,17.7,17.75,17.69,17.57,17.41,17.22,16.11,14.99,13.97,13.05,11.5,10.25,9.242,8.412,7.705,7.108,6.597}; - physicsVector = CreatePhysicsVector(E,C_13,factor); - } - else if( ionZ == 14 ) { - G4double C_14[31]={4.352,4.888,5.918,6.895,7.819,8.689,9.503,10.26,10.97,13.85,15.81,17.06,17.84,18.68,19.04,19.16,19.15,19.06,18.91,18.74,17.66,16.53,15.47,14.51,12.87,11.54,10.45,9.535,8.767,8.111,7.545}; - physicsVector = CreatePhysicsVector(E,C_14,factor); - } - else if( ionZ == 15 ) { - G4double C_15[31]={4.48,5.022,6.068,7.07,8.023,8.927,9.779,10.58,11.33,14.43,16.59,18.01,18.94,19.96,20.44,20.64,20.69,20.65,20.54,20.39,19.37,18.24,17.16,16.16,14.43,13,11.82,10.82,9.972,9.246,8.616}; - physicsVector = CreatePhysicsVector(E,C_15,factor); - } - else if( ionZ == 16 ) { - G4double C_16[31]={4.597,5.146,6.21,7.235,8.216,9.151,10.04,10.88,11.67,14.97,17.33,18.94,20,21.22,21.83,22.12,22.23,22.24,22.17,22.06,21.11,19.99,18.89,17.86,16.05,14.53,13.26,12.18,11.25,10.45,9.757}; - physicsVector = CreatePhysicsVector(E,C_16,factor); - } - else if( ionZ == 17 ) { - G4double C_17[31]={4.745,5.296,6.37,7.409,8.41,9.37,10.29,11.16,11.98,15.46,18.01,19.79,21,22.41,23.14,23.52,23.7,23.75,23.72,23.63,22.76,21.65,20.54,19.48,17.59,16,14.65,13.49,12.5,11.64,10.88}; - physicsVector = CreatePhysicsVector(E,C_17,factor); - } - else if( ionZ == 18 ) { - G4double C_18[31]={4.847,5.401,6.479,7.526,8.54,9.518,10.46,11.35,12.21,15.85,18.57,20.52,21.86,23.47,24.32,24.78,25.02,25.12,25.12,25.06,24.25,23.16,22.02,20.94,19,17.34,15.92,14.71,13.66,12.75,11.95}; - physicsVector = CreatePhysicsVector(E,C_18,factor); - } -} - - else if( matName == namesMat[4] ) { - if( ionZ == 3 ) { - G4double N_3[31]={2.13,2.311,2.613,2.849,3.03,3.166,3.264,3.333,3.381,3.429,3.351,3.239,3.12,2.891,2.685,2.503,2.343,2.201,2.075,1.963,1.544,1.274,1.086,0.9483,0.7603,0.638,0.5519,0.4879,0.4382,0.3986,0.3661}; - physicsVector = CreatePhysicsVector(E,N_3,factor); - } - else if( ionZ == 4 ) { - G4double N_4[31]={2.65,2.892,3.309,3.658,3.947,4.181,4.367,4.512,4.622,4.861,4.862,4.781,4.671,4.427,4.186,3.963,3.757,3.57,3.399,3.242,2.629,2.208,1.903,1.673,1.35,1.136,0.9828,0.8685,0.7799,0.709,0.6509}; - physicsVector = CreatePhysicsVector(E,N_4,factor); - } - else if( ionZ == 5 ) { - G4double N_5[31]={3.07,3.37,3.894,4.342,4.728,5.057,5.333,5.56,5.745,6.232,6.351,6.331,6.251,6.026,5.778,5.534,5.301,5.08,4.875,4.684,3.903,3.335,2.909,2.578,2.1,1.774,1.538,1.36,1.222,1.11,1.019}; - physicsVector = CreatePhysicsVector(E,N_5,factor); - } - else if( ionZ == 6 ) { - G4double N_6[31]={3.409,3.764,4.389,4.93,5.404,5.821,6.183,6.494,6.756,7.532,7.805,7.868,7.836,7.656,7.418,7.168,6.92,6.681,6.452,6.235,5.315,4.615,4.07,3.637,2.995,2.545,2.215,1.962,1.763,1.603,1.471}; - physicsVector = CreatePhysicsVector(E,N_6,factor); - } - else if( ionZ == 7 ) { - G4double N_7[31]={3.704,4.106,4.82,5.441,5.993,6.487,6.927,7.315,7.654,8.74,9.198,9.369,9.404,9.295,9.088,8.847,8.597,8.347,8.105,7.87,6.839,6.021,5.367,4.834,4.024,3.443,3.008,2.672,2.405,2.188,2.009}; - physicsVector = CreatePhysicsVector(E,N_7,factor); - } - else if( ionZ == 8 ) { - G4double N_8[31]={3.958,4.401,5.196,5.894,6.518,7.082,7.593,8.053,8.463,9.864,10.53,10.83,10.94,10.93,10.77,10.55,10.31,10.06,9.811,9.566,8.454,7.535,6.78,6.153,5.179,4.463,3.917,3.49,3.147,2.867,2.634}; - physicsVector = CreatePhysicsVector(E,N_8,factor); - } - else if( ionZ == 9 ) { - G4double N_9[31]={4.177,4.656,5.522,6.288,6.976,7.602,8.173,8.695,9.168,10.87,11.75,12.18,12.39,12.47,12.36,12.17,11.94,11.69,11.44,11.19,10.02,9.022,8.185,7.479,6.362,5.524,4.877,4.363,3.947,3.605,3.318}; - physicsVector = CreatePhysicsVector(E,N_9,factor); - } - else if( ionZ == 10 ) { - G4double N_10[31]={4.375,4.884,5.813,6.641,7.388,8.071,8.698,9.275,9.805,11.79,12.89,13.48,13.78,13.98,13.93,13.77,13.56,13.32,13.07,12.82,11.6,10.54,9.628,8.851,7.601,6.648,5.901,5.303,4.813,4.407,4.065}; - physicsVector = CreatePhysicsVector(E,N_10,factor); - } - else if( ionZ == 11 ) { - G4double N_11[31]={4.532,5.065,6.047,6.932,7.735,8.47,9.15,9.78,10.36,12.63,13.97,14.72,15.14,15.48,15.51,15.4,15.21,14.99,14.75,14.51,13.27,12.15,11.17,10.33,8.95,7.88,7.031,6.342,5.775,5.3,4.898}; - physicsVector = CreatePhysicsVector(E,N_11,factor); - } - else if( ionZ == 12 ) { - G4double N_12[31]={4.702,5.251,6.272,7.203,8.054,8.835,9.559,10.23,10.86,13.38,14.95,15.87,16.41,16.9,17.01,16.95,16.8,16.6,16.37,16.13,14.88,13.72,12.69,11.79,10.3,9.125,8.183,7.413,6.773,6.233,5.773}; - physicsVector = CreatePhysicsVector(E,N_12,factor); - } - else if( ionZ == 13 ) { - G4double N_13[31]={4.858,5.424,6.48,7.449,8.342,9.168,9.934,10.65,11.32,14.06,15.86,16.96,17.63,18.29,18.5,18.5,18.39,18.22,18.01,17.78,16.53,15.33,14.26,13.31,11.71,10.44,9.405,8.552,7.838,7.232,6.713}; - physicsVector = CreatePhysicsVector(E,N_13,factor); - } - else if( ionZ == 14 ) { - G4double N_14[31]={5.011,5.59,6.676,7.68,8.611,9.475,10.28,11.03,11.74,14.67,16.69,17.97,18.77,19.61,19.92,19.99,19.92,19.78,19.59,19.37,18.14,16.92,15.8,14.8,13.11,11.75,10.64,9.706,8.923,8.255,7.679}; - physicsVector = CreatePhysicsVector(E,N_14,factor); - } - else if( ionZ == 15 ) { - G4double N_15[31]={5.17,5.761,6.874,7.91,8.877,9.779,10.62,11.41,12.15,15.28,17.5,18.97,19.92,20.95,21.39,21.54,21.54,21.44,21.28,21.08,19.9,18.67,17.52,16.48,14.7,13.24,12.03,11.01,10.15,9.409,8.768}; - physicsVector = CreatePhysicsVector(E,N_15,factor); - } - else if( ionZ == 16 ) { - G4double N_16[31]={5.313,5.919,7.061,8.131,9.133,10.07,10.95,11.77,12.55,15.85,18.28,19.93,21.03,22.27,22.84,23.08,23.14,23.09,22.97,22.8,21.68,20.45,19.29,18.21,16.34,14.78,13.48,12.39,11.45,10.63,9.926}; - physicsVector = CreatePhysicsVector(E,N_16,factor); - } - else if( ionZ == 17 ) { - G4double N_17[31]={5.481,6.098,7.262,8.355,9.386,10.35,11.26,12.12,12.92,16.38,19,20.83,22.08,23.52,24.22,24.55,24.67,24.67,24.58,24.44,23.38,22.16,20.98,19.87,17.92,16.29,14.91,13.73,12.72,11.84,11.08}; - physicsVector = CreatePhysicsVector(E,N_17,factor); - } - else if( ionZ == 18 ) { - G4double N_18[31]={5.604,6.233,7.416,8.529,9.581,10.57,11.51,12.39,13.22,16.82,19.6,21.61,23,24.65,25.48,25.9,26.08,26.12,26.07,25.96,24.95,23.73,22.53,21.39,19.38,17.67,16.23,14.99,13.92,12.99,12.17}; - physicsVector = CreatePhysicsVector(E,N_18,factor); - } -} - - else if( matName == namesMat[5] ) { - if( ionZ == 3 ) { - G4double O_3[31]={1.865,2.032,2.312,2.534,2.709,2.843,2.944,3.019,3.072,3.153,3.1,3.007,2.904,2.702,2.517,2.353,2.207,2.077,1.962,1.858,1.468,1.215,1.038,0.9083,0.7302,0.6139,0.5318,0.4706,0.4232,0.3852,0.354}; - physicsVector = CreatePhysicsVector(E,O_3,factor); - } - else if( ionZ == 4 ) { - G4double O_4[31]={2.293,2.519,2.909,3.236,3.509,3.735,3.918,4.065,4.18,4.458,4.489,4.433,4.342,4.132,3.919,3.719,3.534,3.364,3.207,3.064,2.497,2.105,1.819,1.602,1.296,1.092,0.9469,0.8378,0.753,0.6851,0.6295}; - physicsVector = CreatePhysicsVector(E,O_4,factor); - } - else if( ionZ == 5 ) { - G4double O_5[31]={2.624,2.903,3.393,3.813,4.176,4.49,4.757,4.982,5.169,5.696,5.853,5.861,5.805,5.618,5.403,5.187,4.978,4.781,4.595,4.421,3.704,3.177,2.778,2.467,2.016,1.706,1.482,1.312,1.18,1.073,0.9855}; - physicsVector = CreatePhysicsVector(E,O_5,factor); - } - else if( ionZ == 6 ) { - G4double O_6[31]={2.883,3.21,3.792,4.3,4.747,5.143,5.49,5.792,6.051,6.861,7.178,7.275,7.27,7.133,6.932,6.714,6.495,6.282,6.076,5.88,5.04,4.392,3.885,3.479,2.874,2.448,2.134,1.893,1.703,1.55,1.423}; - physicsVector = CreatePhysicsVector(E,O_6,factor); - } - else if( ionZ == 7 ) { - G4double O_7[31]={3.103,3.469,4.13,4.714,5.236,5.704,6.124,6.497,6.827,7.932,8.439,8.65,8.715,8.653,8.486,8.281,8.063,7.843,7.627,7.417,6.482,5.729,5.121,4.623,3.862,3.312,2.899,2.578,2.323,2.115,1.944}; - physicsVector = CreatePhysicsVector(E,O_7,factor); - } - else if( ionZ == 8 ) { - G4double O_8[31]={3.292,3.69,4.419,5.072,5.662,6.198,6.684,7.124,7.52,8.922,9.637,9.981,10.13,10.17,10.05,9.869,9.663,9.446,9.227,9.009,8.006,7.164,6.467,5.883,4.969,4.292,3.775,3.367,3.04,2.772,2.549}; - physicsVector = CreatePhysicsVector(E,O_8,factor); - } - else if( ionZ == 9 ) { - G4double O_9[31]={3.458,3.881,4.667,5.381,6.03,6.623,7.168,7.666,8.121,9.803,10.73,11.21,11.46,11.6,11.54,11.38,11.19,10.98,10.76,10.54,9.49,8.58,7.808,7.152,6.106,5.316,4.702,4.213,3.815,3.487,3.212}; - physicsVector = CreatePhysicsVector(E,O_9,factor); - } - else if( ionZ == 10 ) { - G4double O_10[31]={3.612,4.056,4.889,5.655,6.357,7.003,7.601,8.152,8.661,10.61,11.75,12.39,12.74,13,13,12.88,12.71,12.51,12.3,12.08,10.99,10.02,9.187,8.466,7.298,6.4,5.692,5.122,4.655,4.266,3.937}; - physicsVector = CreatePhysicsVector(E,O_10,factor); - } - else if( ionZ == 11 ) { - G4double O_11[31]={3.734,4.194,5.066,5.876,6.626,7.321,7.967,8.569,9.128,11.33,12.71,13.52,13.98,14.39,14.47,14.4,14.26,14.08,13.88,13.66,12.56,11.55,10.66,9.877,8.591,7.584,6.78,6.126,5.584,5.13,4.744}; - physicsVector = CreatePhysicsVector(E,O_11,factor); - } - else if( ionZ == 12 ) { - G4double O_12[31]={3.869,4.34,5.238,6.083,6.872,7.608,8.296,8.939,9.541,11.98,13.57,14.55,15.14,15.71,15.88,15.86,15.75,15.59,15.4,15.19,14.09,13.04,12.1,11.27,9.882,8.78,7.89,7.158,6.548,6.032,5.591}; - physicsVector = CreatePhysicsVector(E,O_12,factor); - } - else if( ionZ == 13 ) { - G4double O_13[31]={3.995,4.477,5.398,6.269,7.09,7.864,8.591,9.273,9.915,12.56,14.37,15.52,16.25,16.99,17.26,17.31,17.24,17.11,16.94,16.74,15.64,14.57,13.59,12.72,11.23,10.04,9.066,8.257,7.577,6.998,6.501}; - physicsVector = CreatePhysicsVector(E,O_13,factor); - } - else if( ionZ == 14 ) { - G4double O_14[31]={4.121,4.612,5.552,6.446,7.295,8.1,8.86,9.576,10.25,13.09,15.09,16.42,17.29,18.21,18.58,18.7,18.68,18.58,18.43,18.24,17.17,16.07,15.06,14.15,12.58,11.3,10.25,9.372,8.626,7.989,7.437}; - physicsVector = CreatePhysicsVector(E,O_14,factor); - } - else if( ionZ == 15 ) { - G4double O_15[31]={4.248,4.749,5.704,6.618,7.493,8.327,9.118,9.867,10.58,13.59,15.79,17.3,18.31,19.44,19.94,20.15,20.19,20.13,20.01,19.85,18.83,17.73,16.7,15.75,14.1,12.73,11.59,10.63,9.812,9.106,8.493}; - physicsVector = CreatePhysicsVector(E,O_15,factor); - } - else if( ionZ == 16 ) { - G4double O_16[31]={4.365,4.877,5.853,6.788,7.688,8.549,9.37,10.15,10.89,14.07,16.46,18.15,19.31,20.64,21.28,21.58,21.68,21.67,21.59,21.46,20.51,19.42,18.37,17.39,15.66,14.21,12.99,11.95,11.06,10.29,9.614}; - physicsVector = CreatePhysicsVector(E,O_16,factor); - } - else if( ionZ == 17 ) { - G4double O_17[31]={4.501,5.022,6.013,6.964,7.882,8.766,9.61,10.42,11.18,14.52,17.07,18.93,20.23,21.78,22.56,22.95,23.12,23.16,23.11,23.01,22.12,21.04,19.98,18.97,17.18,15.66,14.37,13.26,12.3,11.47,10.73}; - physicsVector = CreatePhysicsVector(E,O_17,factor); - } - else if( ionZ == 18 ) { - G4double O_18[31]={4.604,5.133,6.139,7.102,8.034,8.934,9.799,10.63,11.42,14.88,17.59,19.61,21.06,22.82,23.73,24.21,24.44,24.53,24.52,24.44,23.61,22.54,21.46,20.43,18.58,17,15.64,14.47,13.46,12.58,11.8}; - physicsVector = CreatePhysicsVector(E,O_18,factor); - } -} - - else if( matName == namesMat[6] ) { - if( ionZ == 3 ) { - G4double Ne_3[31]={1.497,1.622,1.831,1.999,2.136,2.25,2.343,2.42,2.481,2.631,2.638,2.589,2.519,2.364,2.215,2.079,1.957,1.848,1.749,1.66,1.322,1.1,0.9434,0.8276,0.6681,0.5634,0.4893,0.4339,0.3908,0.3562,0.3278}; - physicsVector = CreatePhysicsVector(E,Ne_3,factor); - } - else if( ionZ == 4 ) { - G4double Ne_4[31]={1.876,2.046,2.338,2.58,2.787,2.964,3.117,3.248,3.36,3.697,3.808,3.811,3.765,3.618,3.452,3.29,3.136,2.993,2.861,2.738,2.249,1.905,1.652,1.46,1.186,1.003,0.8715,0.7727,0.6956,0.6338,0.583}; - physicsVector = CreatePhysicsVector(E,Ne_4,factor); - } - else if( ionZ == 5 ) { - G4double Ne_5[31]={2.174,2.385,2.752,3.065,3.337,3.576,3.787,3.975,4.14,4.693,4.939,5.024,5.025,4.919,4.76,4.589,4.419,4.255,4.099,3.952,3.335,2.875,2.523,2.247,1.845,1.567,1.364,1.211,1.09,0.9929,0.913}; - physicsVector = CreatePhysicsVector(E,Ne_5,factor); - } - else if( ionZ == 6 ) { - G4double Ne_6[31]={2.414,2.661,3.1,3.48,3.815,4.113,4.382,4.624,4.841,5.622,6.026,6.212,6.277,6.237,6.104,5.939,5.765,5.591,5.42,5.256,4.538,3.975,3.529,3.17,2.631,2.249,1.965,1.747,1.574,1.434,1.319}; - physicsVector = CreatePhysicsVector(E,Ne_6,factor); - } - else if( ionZ == 7 ) { - G4double Ne_7[31]={2.603,2.879,3.377,3.817,4.21,4.565,4.887,5.181,5.45,6.461,7.043,7.352,7.499,7.553,7.465,7.32,7.153,6.978,6.801,6.627,5.834,5.184,4.652,4.213,3.537,3.044,2.671,2.381,2.149,1.959,1.802}; - physicsVector = CreatePhysicsVector(E,Ne_7,factor); - } - else if( ionZ == 8 ) { - G4double Ne_8[31]={2.789,3.09,3.64,4.133,4.578,4.984,5.356,5.698,6.013,7.245,8.009,8.452,8.695,8.863,8.833,8.72,8.569,8.401,8.225,8.048,7.204,6.481,5.873,5.36,4.55,3.945,3.479,3.111,2.813,2.569,2.365}; - physicsVector = CreatePhysicsVector(E,Ne_8,factor); - } - else if( ionZ == 9 ) { - G4double Ne_9[31]={2.946,3.267,3.86,4.399,4.892,5.344,5.762,6.148,6.507,7.945,8.888,9.47,9.813,10.11,10.14,10.06,9.933,9.775,9.604,9.426,8.547,7.768,7.097,6.523,5.597,4.891,4.338,3.895,3.534,3.234,2.983}; - physicsVector = CreatePhysicsVector(E,Ne_9,factor); - } - else if( ionZ == 10 ) { - G4double Ne_10[31]={3.091,3.431,4.061,4.64,5.175,5.67,6.13,6.558,6.957,8.59,9.709,10.43,10.89,11.32,11.43,11.39,11.29,11.15,10.98,10.81,9.909,9.083,8.359,7.728,6.696,5.894,5.256,4.741,4.316,3.961,3.66}; - physicsVector = CreatePhysicsVector(E,Ne_10,factor); - } - else if( ionZ == 11 ) { - G4double Ne_11[31]={3.201,3.555,4.218,4.832,5.406,5.941,6.442,6.91,7.349,9.177,10.48,11.36,11.93,12.52,12.72,12.74,12.67,12.55,12.4,12.23,11.33,10.47,9.695,9.015,7.882,6.985,6.262,5.67,5.179,4.764,4.412}; - physicsVector = CreatePhysicsVector(E,Ne_11,factor); - } - else if( ionZ == 12 ) { - G4double Ne_12[31]={3.316,3.68,4.365,5.005,5.608,6.176,6.71,7.213,7.688,9.693,11.17,12.2,12.9,13.66,13.96,14.04,14,13.9,13.77,13.61,12.71,11.82,11.01,10.29,9.066,8.086,7.287,6.626,6.073,5.603,5.2}; - physicsVector = CreatePhysicsVector(E,Ne_12,factor); - } - else if( ionZ == 13 ) { - G4double Ne_13[31]={3.429,3.801,4.503,5.164,5.791,6.386,6.95,7.485,7.992,10.16,11.8,12.98,13.81,14.76,15.17,15.32,15.33,15.27,15.15,15,14.12,13.21,12.37,11.61,10.31,9.247,8.373,7.644,7.027,6.501,6.046}; - physicsVector = CreatePhysicsVector(E,Ne_13,factor); - } - else if( ionZ == 14 ) { - G4double Ne_14[31]={3.539,3.919,4.635,5.311,5.957,6.574,7.164,7.725,8.261,10.58,12.36,13.69,14.65,15.79,16.33,16.56,16.62,16.58,16.49,16.36,15.51,14.58,13.72,12.92,11.55,10.42,9.473,8.679,8.004,7.423,6.92}; - physicsVector = CreatePhysicsVector(E,Ne_14,factor); - } - else if( ionZ == 15 ) { - G4double Ne_15[31]={3.647,4.032,4.759,5.448,6.108,6.744,7.355,7.942,8.503,10.96,12.89,14.37,15.46,16.81,17.49,17.82,17.95,17.96,17.91,17.8,17,16.09,15.2,14.38,12.93,11.73,10.71,9.845,9.104,8.463,7.904}; - physicsVector = CreatePhysicsVector(E,Ne_15,factor); - } - else if( ionZ == 16 ) { - G4double Ne_16[31]={3.75,4.145,4.888,5.592,6.268,6.922,7.554,8.163,8.749,11.34,13.41,15.03,16.25,17.81,18.64,19.07,19.27,19.34,19.32,19.25,18.52,17.61,16.72,15.87,14.37,13.09,12,11.07,10.26,9.562,8.947}; - physicsVector = CreatePhysicsVector(E,Ne_16,factor); - } - else if( ionZ == 17 ) { - G4double Ne_17[31]={3.861,4.261,5.013,5.725,6.413,7.081,7.73,8.359,8.965,11.67,13.88,15.62,16.97,18.75,19.73,20.26,20.53,20.65,20.68,20.63,19.98,19.09,18.19,17.32,15.77,14.43,13.27,12.28,11.42,10.66,9.997}; - physicsVector = CreatePhysicsVector(E,Ne_17,factor); - } - else if( ionZ == 18 ) { - G4double Ne_18[31]={3.955,4.36,5.12,5.839,6.536,7.216,7.88,8.526,9.152,11.97,14.29,16.16,17.62,19.6,20.73,21.37,21.72,21.89,21.95,21.94,21.35,20.47,19.56,18.68,17.07,15.67,14.46,13.42,12.51,11.7,10.99}; - physicsVector = CreatePhysicsVector(E,Ne_18,factor); - } -} - - else if( matName == namesMat[7] ) { - if( ionZ == 3 ) { - G4double Al_3[31]={1.388,1.496,1.67,1.8,1.898,1.971,2.024,2.063,2.093,2.164,2.172,2.15,2.111,2.01,1.901,1.797,1.701,1.612,1.532,1.459,1.176,0.9856,0.8498,0.7483,0.6073,0.514,0.4476,0.3977,0.3588,0.3275,0.3018}; - physicsVector = CreatePhysicsVector(E,Al_3,factor); - } - else if( ionZ == 4 ) { - G4double Al_4[31]={1.754,1.91,2.167,2.37,2.531,2.659,2.76,2.838,2.901,3.08,3.151,3.17,3.156,3.075,2.963,2.843,2.723,2.61,2.502,2.402,1.995,1.702,1.484,1.316,1.076,0.9136,0.7962,0.7076,0.6382,0.5824,0.5365}; - physicsVector = CreatePhysicsVector(E,Al_4,factor); - } - else if( ionZ == 5 ) { - G4double Al_5[31]={2.047,2.247,2.586,2.86,3.084,3.269,3.421,3.545,3.646,3.96,4.113,4.188,4.214,4.181,4.086,3.966,3.838,3.709,3.584,3.464,2.952,2.562,2.261,2.022,1.67,1.425,1.245,1.107,0.9991,0.9116,0.8395}; - physicsVector = CreatePhysicsVector(E,Al_5,factor); - } - else if( ionZ == 6 ) { - G4double Al_6[31]={2.284,2.525,2.94,3.284,3.571,3.813,4.016,4.188,4.332,4.8,5.049,5.192,5.269,5.301,5.241,5.136,5.01,4.876,4.741,4.608,4.013,3.537,3.157,2.847,2.378,2.042,1.791,1.596,1.442,1.316,1.212}; - physicsVector = CreatePhysicsVector(E,Al_6,factor); - } - else if( ionZ == 7 ) { - G4double Al_7[31]={2.478,2.753,3.234,3.641,3.988,4.286,4.541,4.761,4.95,5.583,5.941,6.164,6.302,6.419,6.409,6.331,6.218,6.088,5.951,5.812,5.157,4.609,4.156,3.779,3.192,2.76,2.431,2.173,1.966,1.797,1.655}; - physicsVector = CreatePhysicsVector(E,Al_7,factor); - } - else if( ionZ == 8 ) { - G4double Al_8[31]={2.648,2.953,3.495,3.962,4.366,4.718,5.024,5.292,5.525,6.328,6.801,7.108,7.314,7.528,7.581,7.541,7.45,7.331,7.199,7.059,6.366,5.757,5.24,4.801,4.1,3.572,3.162,2.836,2.572,2.353,2.17}; - physicsVector = CreatePhysicsVector(E,Al_8,factor); - } - else if( ionZ == 9 ) { - G4double Al_9[31]={2.795,3.126,3.719,4.238,4.693,5.094,5.448,5.762,6.039,7.017,7.606,8.001,8.275,8.59,8.709,8.712,8.648,8.544,8.418,8.281,7.563,6.906,6.336,5.843,5.044,4.428,3.942,3.551,3.23,2.963,2.737}; - physicsVector = CreatePhysicsVector(E,Al_9,factor); - } - else if( ionZ == 10 ) { - G4double Al_10[31]={2.924,3.276,3.913,4.477,4.978,5.424,5.822,6.178,6.496,7.647,8.355,8.841,9.188,9.614,9.809,9.863,9.833,9.751,9.638,9.508,8.781,8.087,7.471,6.931,6.04,5.34,4.781,4.325,3.947,3.63,3.361}; - physicsVector = CreatePhysicsVector(E,Al_10,factor); - } - else if( ionZ == 11 ) { - G4double Al_11[31]={3.037,3.406,4.083,4.69,5.235,5.725,6.167,6.566,6.926,8.264,9.11,9.701,10.14,10.7,10.99,11.12,11.14,11.09,11.01,10.89,10.19,9.479,8.825,8.24,7.25,6.456,5.808,5.273,4.826,4.446,4.121}; - physicsVector = CreatePhysicsVector(E,Al_11,factor); - } - else if( ionZ == 12 ) { - G4double Al_12[31]={3.156,3.539,4.245,4.883,5.462,5.987,6.463,6.895,7.288,8.778,9.738,10.41,10.92,11.59,11.96,12.14,12.2,12.17,12.1,11.99,11.28,10.54,9.851,9.231,8.178,7.325,6.625,6.042,5.551,5.132,4.772}; - physicsVector = CreatePhysicsVector(E,Al_12,factor); - } - else if( ionZ == 13 ) { - G4double Al_13[31]={3.267,3.662,4.395,5.063,5.672,6.23,6.739,7.205,7.631,9.28,10.36,11.14,11.72,12.52,12.99,13.24,13.35,13.36,13.31,13.23,12.55,11.79,11.07,10.42,9.298,8.375,7.609,6.967,6.421,5.953,5.547}; - physicsVector = CreatePhysicsVector(E,Al_13,factor); - } - else if( ionZ == 14 ) { - G4double Al_14[31]={3.374,3.779,4.534,5.227,5.864,6.449,6.988,7.484,7.941,9.742,10.95,11.82,12.48,13.41,13.98,14.3,14.47,14.52,14.5,14.43,13.79,13.02,12.29,11.61,10.42,9.435,8.61,7.912,7.315,6.799,6.349}; - physicsVector = CreatePhysicsVector(E,Al_14,factor); - } - else if( ionZ == 15 ) { - G4double Al_15[31]={3.473,3.887,4.662,5.378,6.039,6.65,7.216,7.74,8.226,10.17,11.51,12.47,13.22,14.28,14.96,15.38,15.61,15.72,15.74,15.7,15.12,14.36,13.61,12.91,11.66,10.62,9.727,8.969,8.314,7.745,7.248}; - physicsVector = CreatePhysicsVector(E,Al_15,factor); - } - else if( ionZ == 16 ) { - G4double Al_16[31]={3.569,3.992,4.787,5.523,6.208,6.844,7.436,7.987,8.5,10.59,12.05,13.12,13.94,15.15,15.94,16.44,16.74,16.9,16.97,16.96,16.46,15.72,14.96,14.24,12.95,11.84,10.89,10.07,9.364,8.744,8.198}; - physicsVector = CreatePhysicsVector(E,Al_16,factor); - } - else if( ionZ == 17 ) { - G4double Al_17[31]={3.673,4.103,4.913,5.666,6.369,7.025,7.639,8.213,8.751,10.97,12.55,13.72,14.63,15.97,16.87,17.46,17.84,18.05,18.16,18.19,17.77,17.05,16.29,15.55,14.21,13.05,12.05,11.18,10.42,9.75,9.159}; - physicsVector = CreatePhysicsVector(E,Al_17,factor); - } - else if( ionZ == 18 ) { - G4double Al_18[31]={3.756,4.193,5.016,5.782,6.499,7.171,7.803,8.397,8.956,11.29,12.99,14.25,15.24,16.7,17.7,18.38,18.82,19.09,19.24,19.3,18.96,18.26,17.49,16.74,15.37,14.16,13.12,12.2,11.4,10.69,10.07}; - physicsVector = CreatePhysicsVector(E,Al_18,factor); - } -} - - else if( matName == namesMat[8] ) { - if( ionZ == 3 ) { - G4double Si_3[31]={1.468,1.612,1.817,1.946,2.033,2.093,2.137,2.169,2.192,2.242,2.237,2.208,2.167,2.066,1.96,1.856,1.759,1.67,1.589,1.514,1.224,1.027,0.8863,0.7809,0.634,0.5366,0.4672,0.4151,0.3745,0.3418,0.3149}; - physicsVector = CreatePhysicsVector(E,Si_3,factor); - } - else if( ionZ == 4 ) { - G4double Si_4[31]={1.792,1.998,2.323,2.55,2.71,2.828,2.918,2.988,3.043,3.195,3.247,3.254,3.236,3.155,3.047,2.929,2.811,2.697,2.589,2.488,2.071,1.77,1.545,1.371,1.122,0.9528,0.8305,0.7381,0.6658,0.6075,0.5596}; - physicsVector = CreatePhysicsVector(E,Si_4,factor); - } - else if( ionZ == 5 ) { - G4double Si_5[31]={2.047,2.299,2.729,3.055,3.297,3.48,3.623,3.738,3.831,4.113,4.241,4.3,4.318,4.283,4.193,4.079,3.954,3.827,3.702,3.581,3.06,2.66,2.35,2.103,1.739,1.484,1.297,1.154,1.042,0.9505,0.8753}; - physicsVector = CreatePhysicsVector(E,Si_5,factor); - } - else if( ionZ == 6 ) { - G4double Si_6[31]={2.263,2.546,3.059,3.478,3.804,4.057,4.259,4.424,4.56,4.992,5.211,5.333,5.397,5.424,5.37,5.272,5.152,5.022,4.889,4.757,4.154,3.667,3.276,2.957,2.473,2.125,1.864,1.662,1.502,1.371,1.263}; - physicsVector = CreatePhysicsVector(E,Si_6,factor); - } - else if( ionZ == 7 ) { - G4double Si_7[31]={2.453,2.758,3.329,3.825,4.23,4.555,4.819,5.036,5.218,5.814,6.138,6.333,6.454,6.561,6.557,6.489,6.386,6.262,6.129,5.992,5.333,4.773,4.308,3.92,3.315,2.869,2.529,2.261,2.047,1.871,1.724}; - physicsVector = CreatePhysicsVector(E,Si_7,factor); - } - else if( ionZ == 8 ) { - G4double Si_8[31]={2.634,2.956,3.568,4.125,4.603,4.997,5.323,5.595,5.825,6.596,7.031,7.307,7.49,7.688,7.746,7.719,7.64,7.531,7.404,7.268,6.575,5.955,5.425,4.974,4.254,3.709,3.285,2.949,2.675,2.448,2.259}; - physicsVector = CreatePhysicsVector(E,Si_8,factor); - } - else if( ionZ == 9 ) { - G4double Si_9[31]={2.803,3.14,3.782,4.384,4.921,5.379,5.765,6.091,6.369,7.318,7.869,8.227,8.475,8.767,8.889,8.907,8.858,8.767,8.651,8.521,7.809,7.143,6.56,6.055,5.232,4.598,4.096,3.691,3.359,3.083,2.849}; - physicsVector = CreatePhysicsVector(E,Si_9,factor); - } - else if( ionZ == 10 ) { - G4double Si_10[31]={2.965,3.318,3.984,4.616,5.2,5.715,6.158,6.537,6.864,7.996,8.666,9.112,9.426,9.819,10.01,10.08,10.07,10,9.901,9.779,9.063,8.361,7.732,7.179,6.263,5.542,4.965,4.494,4.103,3.775,3.496}; - physicsVector = CreatePhysicsVector(E,Si_10,factor); - } - else if( ionZ == 11 ) { - G4double Si_11[31]={3.107,3.473,4.161,4.817,5.437,6.001,6.496,6.927,7.302,8.623,9.423,9.963,10.35,10.86,11.13,11.26,11.29,11.25,11.17,11.07,10.36,9.634,8.966,8.369,7.365,6.562,5.909,5.37,4.919,4.537,4.21}; - physicsVector = CreatePhysicsVector(E,Si_11,factor); - } - else if( ionZ == 12 ) { - G4double Si_12[31]={3.257,3.639,4.347,5.018,5.665,6.268,6.809,7.287,7.707,9.209,10.13,10.77,11.23,11.85,12.21,12.4,12.47,12.47,12.41,12.32,11.64,10.89,10.19,9.554,8.473,7.595,6.874,6.273,5.765,5.333,4.96}; - physicsVector = CreatePhysicsVector(E,Si_12,factor); - } - else if( ionZ == 13 ) { - G4double Si_13[31]={3.396,3.794,4.523,5.207,5.87,6.502,7.083,7.604,8.067,9.75,10.81,11.54,12.08,12.81,13.26,13.52,13.65,13.68,13.65,13.58,12.94,12.18,11.45,10.78,9.63,8.682,7.894,7.231,6.668,6.184,5.764}; - physicsVector = CreatePhysicsVector(E,Si_13,factor); - } - else if( ionZ == 14 ) { - G4double Si_14[31]={3.53,3.941,4.694,5.39,6.063,6.716,7.328,7.887,8.39,10.25,11.43,12.26,12.88,13.73,14.27,14.6,14.79,14.86,14.87,14.82,14.22,13.45,12.7,12.01,10.79,9.782,8.932,8.212,7.595,7.062,6.598}; - physicsVector = CreatePhysicsVector(E,Si_14,factor); - } - else if( ionZ == 15 ) { - G4double Si_15[31]={3.652,4.078,4.853,5.562,6.244,6.91,7.547,8.139,8.678,10.71,12.03,12.96,13.66,14.64,15.29,15.7,15.95,16.08,16.12,16.1,15.58,14.83,14.07,13.35,12.08,11,10.08,9.303,8.628,8.042,7.527}; - physicsVector = CreatePhysicsVector(E,Si_15,factor); - } - else if( ionZ == 16 ) { - G4double Si_16[31]={3.768,4.21,5.011,5.738,6.429,7.107,7.763,8.382,8.954,11.15,12.6,13.64,14.42,15.54,16.29,16.79,17.1,17.29,17.37,17.39,16.96,16.22,15.46,14.72,13.4,12.26,11.28,10.44,9.713,9.073,8.509}; - physicsVector = CreatePhysicsVector(E,Si_16,factor); - } - else if( ionZ == 17 ) { - G4double Si_17[31]={3.887,4.344,5.168,5.91,6.609,7.292,7.961,8.602,9.201,11.55,13.14,14.28,15.14,16.39,17.24,17.83,18.21,18.45,18.58,18.64,18.3,17.59,16.82,16.07,14.7,13.51,12.48,11.59,10.8,10.12,9.505}; - physicsVector = CreatePhysicsVector(E,Si_17,factor); - } - else if( ionZ == 18 ) { - G4double Si_18[31]={3.994,4.465,5.314,6.074,6.781,7.469,8.146,8.803,9.426,11.92,13.63,14.87,15.82,17.2,18.15,18.82,19.27,19.56,19.74,19.83,19.57,18.89,18.12,17.35,15.94,14.7,13.62,12.68,11.85,11.12,10.47}; - physicsVector = CreatePhysicsVector(E,Si_18,factor); - } -} - - else if( matName == namesMat[9] ) { - if( ionZ == 3 ) { - G4double Ar_3[31]={1.288,1.41,1.603,1.742,1.838,1.904,1.949,1.979,1.998,2.017,1.985,1.936,1.882,1.773,1.672,1.58,1.498,1.423,1.355,1.293,1.053,0.8894,0.7709,0.6814,0.5556,0.4714,0.4111,0.3656,0.3301,0.3014,0.2778}; - physicsVector = CreatePhysicsVector(E,Ar_3,factor); - } - else if( ionZ == 4 ) { - G4double Ar_4[31]={1.578,1.748,2.032,2.253,2.422,2.549,2.645,2.716,2.769,2.886,2.898,2.87,2.825,2.716,2.604,2.495,2.393,2.297,2.207,2.123,1.779,1.528,1.34,1.193,0.9809,0.8355,0.7297,0.6495,0.5864,0.5355,0.4936}; - physicsVector = CreatePhysicsVector(E,Ar_4,factor); - } - else if( ionZ == 5 ) { - G4double Ar_5[31]={1.804,2.017,2.382,2.68,2.92,3.111,3.261,3.38,3.474,3.723,3.801,3.81,3.787,3.699,3.591,3.479,3.367,3.258,3.154,3.054,2.624,2.292,2.032,1.825,1.516,1.299,1.138,1.014,0.9162,0.837,0.7714}; - physicsVector = CreatePhysicsVector(E,Ar_5,factor); - } - else if( ionZ == 6 ) { - G4double Ar_6[31]={1.988,2.236,2.672,3.04,3.347,3.601,3.808,3.978,4.116,4.52,4.682,4.742,4.752,4.7,4.609,4.502,4.39,4.276,4.164,4.054,3.559,3.155,2.828,2.561,2.151,1.855,1.632,1.458,1.319,1.206,1.112}; - physicsVector = CreatePhysicsVector(E,Ar_6,factor); - } - else if( ionZ == 7 ) { - G4double Ar_7[31]={2.142,2.417,2.912,3.34,3.708,4.02,4.283,4.504,4.689,5.262,5.524,5.648,5.701,5.701,5.638,5.547,5.442,5.331,5.218,5.104,4.564,4.101,3.713,3.388,2.878,2.5,2.209,1.98,1.795,1.643,1.516}; - physicsVector = CreatePhysicsVector(E,Ar_7,factor); - } - else if( ionZ == 8 ) { - G4double Ar_8[31]={2.285,2.582,3.126,3.606,4.027,4.394,4.71,4.98,5.212,5.963,6.336,6.532,6.635,6.7,6.673,6.605,6.515,6.412,6.302,6.188,5.621,5.111,4.67,4.292,3.686,3.225,2.865,2.576,2.342,2.147,1.983}; - physicsVector = CreatePhysicsVector(E,Ar_8,factor); - } - else if( ionZ == 9 ) { - G4double Ar_9[31]={2.419,2.731,3.314,3.838,4.306,4.721,5.085,5.402,5.678,6.609,7.1,7.374,7.533,7.667,7.682,7.64,7.567,7.475,7.372,7.261,6.682,6.134,5.649,5.226,4.534,3.996,3.57,3.224,2.94,2.702,2.501}; - physicsVector = CreatePhysicsVector(E,Ar_9,factor); - } - else if( ionZ == 10 ) { - G4double Ar_10[31]={2.55,2.874,3.487,4.048,4.556,5.014,5.422,5.783,6.101,7.21,7.824,8.183,8.402,8.616,8.679,8.668,8.616,8.539,8.446,8.342,7.76,7.185,6.662,6.199,5.428,4.818,4.327,3.925,3.59,3.308,3.068}; - physicsVector = CreatePhysicsVector(E,Ar_10,factor); - } - else if( ionZ == 11 ) { - G4double Ar_11[31]={2.671,3.004,3.641,4.233,4.776,5.271,5.718,6.12,6.478,7.764,8.509,8.961,9.249,9.555,9.674,9.701,9.676,9.617,9.537,9.443,8.874,8.28,7.726,7.227,6.381,5.7,5.145,4.686,4.3,3.973,3.692}; - physicsVector = CreatePhysicsVector(E,Ar_11,factor); - } - else if( ionZ == 12 ) { - G4double Ar_12[31]={2.799,3.14,3.794,4.41,4.981,5.509,5.992,6.43,6.826,8.279,9.153,9.699,10.06,10.46,10.64,10.71,10.71,10.67,10.61,10.52,9.972,9.364,8.785,8.254,7.342,6.599,5.986,5.473,5.039,4.668,4.348}; - physicsVector = CreatePhysicsVector(E,Ar_12,factor); - } - else if( ionZ == 13 ) { - G4double Ar_13[31]={2.923,3.272,3.942,4.577,5.173,5.727,6.24,6.712,7.142,8.757,9.761,10.41,10.84,11.34,11.59,11.7,11.74,11.73,11.68,11.61,11.09,10.48,9.876,9.319,8.347,7.543,6.873,6.308,5.826,5.411,5.051}; - physicsVector = CreatePhysicsVector(E,Ar_13,factor); - } - else if( ionZ == 14 ) { - G4double Ar_14[31]={3.044,3.402,4.085,4.736,5.351,5.928,6.467,6.967,7.428,9.196,10.33,11.07,11.58,12.19,12.51,12.67,12.74,12.76,12.73,12.68,12.2,11.58,10.97,10.39,9.361,8.502,7.779,7.165,6.637,6.181,5.782}; - physicsVector = CreatePhysicsVector(E,Ar_14,factor); - } - else if( ionZ == 15 ) { - G4double Ar_15[31]={3.158,3.525,4.22,4.883,5.514,6.11,6.671,7.197,7.686,9.599,10.86,11.71,12.3,13.02,13.42,13.65,13.76,13.81,13.81,13.78,13.36,12.76,12.14,11.54,10.46,9.552,8.774,8.108,7.532,7.03,6.589}; - physicsVector = CreatePhysicsVector(E,Ar_15,factor); - } - else if( ionZ == 16 ) { - G4double Ar_16[31]={3.27,3.647,4.357,5.032,5.678,6.291,6.872,7.42,7.933,9.984,11.37,12.32,13,13.85,14.33,14.61,14.78,14.86,14.9,14.89,14.53,13.95,13.33,12.72,11.6,10.64,9.809,9.093,8.47,7.923,7.441}; - physicsVector = CreatePhysicsVector(E,Ar_16,factor); - } - else if( ionZ == 17 ) { - G4double Ar_17[31]={3.382,3.77,4.494,5.178,5.835,6.462,7.059,7.625,8.16,10.34,11.84,12.9,13.66,14.63,15.2,15.55,15.76,15.88,15.95,15.96,15.68,15.13,14.51,13.89,12.73,11.72,10.85,10.09,9.419,8.83,8.309}; - physicsVector = CreatePhysicsVector(E,Ar_17,factor); - } - else if( ionZ == 18 ) { - G4double Ar_18[31]={3.489,3.89,4.63,5.325,5.991,6.63,7.24,7.822,8.376,10.67,12.29,13.45,14.29,15.39,16.04,16.45,16.71,16.87,16.97,17.01,16.8,16.26,15.64,15.01,13.82,12.77,11.85,11.04,10.34,9.712,9.155}; - physicsVector = CreatePhysicsVector(E,Ar_18,factor); - } -} - - else if( matName == namesMat[10] ) { - if( ionZ == 3 ) { - G4double Ti_3[31]={1.008,1.108,1.272,1.4,1.5,1.577,1.635,1.68,1.715,1.785,1.777,1.743,1.7,1.612,1.527,1.448,1.376,1.311,1.251,1.197,0.9831,0.8357,0.7282,0.6465,0.5304,0.452,0.3954,0.3525,0.3188,0.2916,0.269}; - physicsVector = CreatePhysicsVector(E,Ti_3,factor); - } - else if( ionZ == 4 ) { - G4double Ti_4[31]={1.218,1.356,1.594,1.789,1.949,2.081,2.187,2.274,2.345,2.538,2.587,2.579,2.548,2.464,2.372,2.281,2.193,2.11,2.032,1.959,1.656,1.433,1.263,1.13,0.9349,0.7999,0.701,0.6255,0.5659,0.5177,0.4777}; - physicsVector = CreatePhysicsVector(E,Ti_4,factor); - } - else if( ionZ == 5 ) { - G4double Ti_5[31]={1.374,1.544,1.846,2.103,2.321,2.507,2.664,2.796,2.907,3.249,3.381,3.419,3.414,3.353,3.268,3.175,3.081,2.988,2.898,2.812,2.438,2.145,1.912,1.725,1.442,1.241,1.091,0.9755,0.8833,0.8084,0.7461}; - physicsVector = CreatePhysicsVector(E,Ti_5,factor); - } - else if( ionZ == 6 ) { - G4double Ti_6[31]={1.498,1.692,2.047,2.358,2.631,2.869,3.075,3.253,3.406,3.912,4.147,4.247,4.279,4.258,4.19,4.105,4.012,3.916,3.821,3.727,3.3,2.947,2.657,2.416,2.043,1.77,1.563,1.401,1.27,1.164,1.075}; - physicsVector = CreatePhysicsVector(E,Ti_6,factor); - } - else if( ionZ == 7 ) { - G4double Ti_7[31]={1.6,1.812,2.207,2.563,2.883,3.168,3.42,3.643,3.839,4.516,4.869,5.044,5.125,5.16,5.122,5.053,4.968,4.876,4.781,4.685,4.224,3.823,3.481,3.191,2.73,2.382,2.113,1.9,1.727,1.583,1.464}; - physicsVector = CreatePhysicsVector(E,Ti_7,factor); - } - else if( ionZ == 8 ) { - G4double Ti_8[31]={1.696,1.922,2.348,2.742,3.102,3.428,3.723,3.988,4.225,5.076,5.555,5.816,5.956,6.06,6.06,6.014,5.944,5.86,5.768,5.673,5.194,4.756,4.371,4.036,3.49,3.068,2.736,2.468,2.249,2.067,1.912}; - physicsVector = CreatePhysicsVector(E,Ti_8,factor); - } - else if( ionZ == 9 ) { - G4double Ti_9[31]={1.789,2.024,2.474,2.896,3.289,3.651,3.984,4.287,4.561,5.582,6.192,6.547,6.751,6.932,6.976,6.956,6.903,6.831,6.746,6.655,6.17,5.705,5.284,4.911,4.29,3.8,3.407,3.087,2.822,2.599,2.41}; - physicsVector = CreatePhysicsVector(E,Ti_9,factor); - } - else if( ionZ == 10 ) { - G4double Ti_10[31]={1.883,2.125,2.593,3.037,3.457,3.849,4.214,4.551,4.86,6.044,6.786,7.241,7.517,7.788,7.882,7.894,7.862,7.804,7.73,7.645,7.164,6.679,6.23,5.824,5.134,4.58,4.129,3.756,3.445,3.181,2.955}; - physicsVector = CreatePhysicsVector(E,Ti_10,factor); - } - else if( ionZ == 11 ) { - G4double Ti_11[31]={1.969,2.218,2.7,3.162,3.603,4.02,4.413,4.78,5.121,6.462,7.338,7.9,8.255,8.629,8.784,8.835,8.83,8.79,8.728,8.653,8.186,7.69,7.218,6.783,6.031,5.415,4.906,4.482,4.124,3.818,3.554}; - physicsVector = CreatePhysicsVector(E,Ti_11,factor); - } - else if( ionZ == 12 ) { - G4double Ti_12[31]={2.062,2.316,2.808,3.283,3.74,4.178,4.594,4.987,5.356,6.841,7.846,8.514,8.953,9.436,9.658,9.753,9.777,9.758,9.711,9.646,9.197,8.694,8.204,7.745,6.939,6.267,5.706,5.233,4.831,4.484,4.184}; - physicsVector = CreatePhysicsVector(E,Ti_12,factor); - } - else if( ionZ == 13 ) { - G4double Ti_13[31]={2.154,2.414,2.917,3.402,3.873,4.326,4.762,5.177,5.57,7.192,8.324,9.101,9.626,10.23,10.52,10.66,10.72,10.72,10.7,10.64,10.23,9.723,9.219,8.741,7.886,7.162,6.55,6.029,5.583,5.196,4.859}; - physicsVector = CreatePhysicsVector(E,Ti_13,factor); - } - else if( ionZ == 14 ) { - G4double Ti_14[31]={2.246,2.512,3.023,3.518,3.998,4.465,4.915,5.348,5.762,7.509,8.763,9.648,10.26,10.98,11.35,11.55,11.64,11.67,11.66,11.63,11.25,10.75,10.24,9.74,8.842,8.071,7.413,6.848,6.359,5.934,5.561}; - physicsVector = CreatePhysicsVector(E,Ti_14,factor); - } - else if( ionZ == 15 ) { - G4double Ti_15[31]={2.33,2.602,3.122,3.624,4.112,4.589,5.052,5.5,5.932,7.792,9.166,10.16,10.86,11.72,12.18,12.43,12.57,12.64,12.65,12.64,12.31,11.83,11.32,10.81,9.876,9.059,8.354,7.742,7.21,6.744,6.333}; - physicsVector = CreatePhysicsVector(E,Ti_15,factor); - } - else if( ionZ == 16 ) { - G4double Ti_16[31]={2.246,2.512,3.023,3.518,3.998,4.465,4.915,5.348,5.762,7.509,8.763,9.648,10.26,10.98,11.35,11.55,11.64,11.67,11.66,11.63,11.25,10.75,10.24,9.74,8.842,8.071,7.413,6.848,6.359,5.934,5.561}; - physicsVector = CreatePhysicsVector(E,Ti_16,factor); - } - else if( ionZ == 17 ) { - G4double Ti_17[31]={2.5,2.786,3.327,3.844,4.346,4.838,5.32,5.792,6.25,8.302,9.896,11.1,11.99,13.13,13.77,14.16,14.39,14.53,14.61,14.64,14.45,14.01,13.51,12.99,12,11.1,10.32,9.62,9.006,8.461,7.976}; - physicsVector = CreatePhysicsVector(E,Ti_17,factor); - } - else if( ionZ == 18 ) { - G4double Ti_18[31]={2.585,2.879,3.433,3.958,4.467,4.965,5.454,5.934,6.403,8.533,10.23,11.53,12.52,13.8,14.53,14.99,15.27,15.45,15.55,15.6,15.48,15.07,14.57,14.04,13.02,12.1,11.27,10.54,9.887,9.308,8.791}; - physicsVector = CreatePhysicsVector(E,Ti_18,factor); - } -} - - else if( matName == namesMat[11] ) { - if( ionZ == 3 ) { - G4double Fe_3[31]={0.8835,0.9749,1.128,1.249,1.346,1.422,1.481,1.526,1.561,1.644,1.652,1.63,1.595,1.515,1.436,1.363,1.297,1.236,1.18,1.13,0.9314,0.7945,0.6945,0.6183,0.5096,0.4358,0.3822,0.3414,0.3092,0.2831,0.2615}; - physicsVector = CreatePhysicsVector(E,Fe_3,factor); - } - else if( ionZ == 4 ) { - G4double Fe_4[31]={1.055,1.181,1.398,1.58,1.732,1.859,1.964,2.051,2.121,2.322,2.391,2.401,2.383,2.312,2.227,2.142,2.061,1.984,1.912,1.844,1.565,1.359,1.202,1.078,0.8965,0.7699,0.6767,0.6051,0.5484,0.5024,0.4642}; - physicsVector = CreatePhysicsVector(E,Fe_4,factor); - } - else if( ionZ == 5 ) { - G4double Fe_5[31]={1.178,1.33,1.603,1.839,2.044,2.221,2.373,2.502,2.612,2.956,3.108,3.17,3.182,3.14,3.064,2.978,2.891,2.805,2.722,2.642,2.298,2.029,1.815,1.642,1.38,1.193,1.052,0.9424,0.8551,0.7837,0.7243}; - physicsVector = CreatePhysicsVector(E,Fe_5,factor); - } - else if( ionZ == 6 ) { - G4double Fe_6[31]={1.273,1.446,1.764,2.047,2.299,2.522,2.719,2.892,3.042,3.543,3.794,3.92,3.976,3.98,3.924,3.846,3.76,3.672,3.584,3.497,3.105,2.782,2.516,2.295,1.952,1.698,1.504,1.351,1.228,1.127,1.042}; - physicsVector = CreatePhysicsVector(E,Fe_6,factor); - } - else if( ionZ == 7 ) { - G4double Fe_7[31]={1.349,1.535,1.886,2.208,2.5,2.765,3.003,3.217,3.407,4.072,4.434,4.636,4.745,4.815,4.792,4.731,4.654,4.569,4.481,4.392,3.968,3.602,3.291,3.026,2.602,2.281,2.03,1.83,1.667,1.532,1.418}; - physicsVector = CreatePhysicsVector(E,Fe_7,factor); - } - else if( ionZ == 8 ) { - G4double Fe_8[31]={1.422,1.617,1.994,2.347,2.674,2.974,3.249,3.5,3.727,4.558,5.037,5.324,5.495,5.643,5.663,5.627,5.564,5.487,5.403,5.315,4.875,4.475,4.126,3.821,3.321,2.933,2.624,2.374,2.168,1.996,1.85}; - physicsVector = CreatePhysicsVector(E,Fe_8,factor); - } - else if( ionZ == 9 ) { - G4double Fe_9[31]={1.492,1.695,2.089,2.466,2.82,3.151,3.458,3.741,4.002,4.993,5.594,5.97,6.208,6.444,6.514,6.508,6.463,6.397,6.319,6.235,5.788,5.364,4.984,4.646,4.079,3.629,3.265,2.967,2.718,2.509,2.33}; - physicsVector = CreatePhysicsVector(E,Fe_9,factor); - } - else if( ionZ == 10 ) { - G4double Fe_10[31]={1.564,1.772,2.179,2.574,2.951,3.306,3.64,3.953,4.244,5.386,6.111,6.58,6.89,7.226,7.354,7.383,7.36,7.309,7.241,7.163,6.721,6.279,5.872,5.505,4.879,4.37,3.953,3.607,3.316,3.068,2.855}; - physicsVector = CreatePhysicsVector(E,Fe_10,factor); - } - else if( ionZ == 11 ) { - G4double Fe_11[31]={1.632,1.845,2.262,2.67,3.064,3.441,3.799,4.136,4.454,5.738,6.588,7.155,7.543,7.99,8.187,8.259,8.264,8.232,8.177,8.108,7.678,7.226,6.799,6.407,5.726,5.162,4.694,4.3,3.965,3.679,3.431}; - physicsVector = CreatePhysicsVector(E,Fe_11,factor); - } - else if( ionZ == 12 ) { - G4double Fe_12[31]={1.706,1.923,2.348,2.765,3.173,3.566,3.943,4.302,4.643,6.055,7.026,7.69,8.156,8.719,8.992,9.113,9.15,9.14,9.1,9.041,8.628,8.169,7.726,7.314,6.585,5.972,5.456,5.018,4.643,4.319,4.037}; - physicsVector = CreatePhysicsVector(E,Fe_12,factor); - } - else if( ionZ == 13 ) { - G4double Fe_13[31]={1.778,2,2.432,2.857,3.274,3.681,4.074,4.451,4.811,6.343,7.433,8.196,8.742,9.426,9.779,9.955,10.03,10.05,10.02,9.979,9.594,9.135,8.681,8.25,7.479,6.82,6.259,5.778,5.363,5.002,4.685}; - physicsVector = CreatePhysicsVector(E,Fe_13,factor); - } - else if( ionZ == 14 ) { - G4double Fe_14[31]={1.851,2.078,2.517,2.948,3.373,3.79,4.196,4.588,4.965,6.603,7.808,8.669,9.296,10.1,10.54,10.77,10.89,10.93,10.93,10.9,10.55,10.1,9.637,9.193,8.384,7.684,7.082,6.56,6.107,5.71,5.36}; - physicsVector = CreatePhysicsVector(E,Fe_14,factor); - } - else if( ionZ == 15 ) { - G4double Fe_15[31]={1.919,2.151,2.597,3.033,3.463,3.888,4.305,4.709,5.101,6.833,8.149,9.109,9.819,10.76,11.29,11.59,11.75,11.83,11.86,11.85,11.56,11.12,10.65,10.2,9.358,8.618,7.974,7.411,6.918,6.484,6.099}; - physicsVector = CreatePhysicsVector(E,Fe_15,factor); - } - else if( ionZ == 16 ) { - G4double Fe_16[31]={1.987,2.225,2.681,3.122,3.559,3.991,4.416,4.831,5.235,7.05,8.47,9.527,10.32,11.4,12.03,12.4,12.61,12.73,12.78,12.8,12.56,12.14,11.68,11.22,10.36,9.581,8.898,8.296,7.765,7.294,6.875}; - physicsVector = CreatePhysicsVector(E,Fe_16,factor); - } - else if( ionZ == 17 ) { - G4double Fe_17[31]={2.055,2.3,2.764,3.211,3.651,4.087,4.519,4.943,5.357,7.244,8.76,9.911,10.79,12,12.73,13.18,13.44,13.6,13.68,13.72,13.56,13.16,12.71,12.24,11.36,10.55,9.832,9.195,8.628,8.123,7.671}; - physicsVector = CreatePhysicsVector(E,Fe_17,factor); - } - else if( ionZ == 18 ) { - G4double Fe_18[31]={2.127,2.378,2.854,3.308,3.753,4.194,4.631,5.062,5.485,7.434,9.04,10.28,11.24,12.58,13.42,13.94,14.26,14.46,14.57,14.63,14.53,14.16,13.71,13.24,12.33,11.49,10.74,10.07,9.473,8.937,8.455}; - physicsVector = CreatePhysicsVector(E,Fe_18,factor); - } -} - - else if( matName == namesMat[12] ) { - if( ionZ == 3 ) { - G4double Ni_3[31]={0.8314,0.9198,1.07,1.193,1.294,1.376,1.443,1.495,1.536,1.634,1.649,1.632,1.601,1.525,1.447,1.375,1.308,1.247,1.192,1.141,0.942,0.8042,0.7035,0.6266,0.5169,0.4423,0.3881,0.3468,0.3142,0.2878,0.266}; - physicsVector = CreatePhysicsVector(E,Ni_3,factor); - } - else if( ionZ == 4 ) { - G4double Ni_4[31]={0.9896,1.109,1.32,1.5,1.654,1.786,1.899,1.994,2.072,2.301,2.382,2.399,2.387,2.322,2.24,2.157,2.076,1.999,1.927,1.859,1.579,1.373,1.215,1.091,0.9083,0.7808,0.6867,0.6144,0.5571,0.5105,0.4718}; - physicsVector = CreatePhysicsVector(E,Ni_4,factor); - } - else if( ionZ == 5 ) { - G4double Ni_5[31]={1.103,1.245,1.506,1.737,1.941,2.12,2.278,2.417,2.537,2.92,3.091,3.162,3.183,3.151,3.08,2.995,2.908,2.823,2.74,2.66,2.316,2.046,1.832,1.659,1.397,1.208,1.066,0.9562,0.8681,0.796,0.736}; - physicsVector = CreatePhysicsVector(E,Ni_5,factor); - } - else if( ionZ == 6 ) { - G4double Ni_6[31]={1.191,1.35,1.649,1.923,2.17,2.393,2.594,2.774,2.934,3.485,3.763,3.904,3.971,3.991,3.942,3.867,3.781,3.693,3.605,3.518,3.125,2.802,2.537,2.316,1.972,1.718,1.523,1.37,1.246,1.144,1.058}; - physicsVector = CreatePhysicsVector(E,Ni_6,factor); - } - else if( ionZ == 7 ) { - G4double Ni_7[31]={1.262,1.432,1.759,2.065,2.35,2.611,2.85,3.068,3.266,3.989,4.387,4.609,4.732,4.822,4.809,4.753,4.677,4.592,4.504,4.415,3.991,3.625,3.315,3.05,2.627,2.305,2.054,1.853,1.69,1.553,1.439}; - physicsVector = CreatePhysicsVector(E,Ni_7,factor); - } - else if( ionZ == 8 ) { - G4double Ni_8[31]={1.329,1.508,1.855,2.187,2.502,2.796,3.069,3.322,3.555,4.445,4.972,5.283,5.471,5.645,5.679,5.65,5.59,5.513,5.429,5.341,4.899,4.5,4.151,3.847,3.349,2.961,2.653,2.402,2.196,2.023,1.876}; - physicsVector = CreatePhysicsVector(E,Ni_8,factor); - } - else if( ionZ == 9 ) { - G4double Ni_9[31]={1.395,1.581,1.942,2.293,2.631,2.952,3.254,3.536,3.8,4.848,5.506,5.914,6.173,6.44,6.529,6.533,6.492,6.427,6.35,6.265,5.816,5.392,5.012,4.675,4.111,3.662,3.299,3,2.751,2.541,2.361}; - physicsVector = CreatePhysicsVector(E,Ni_9,factor); - } - else if( ionZ == 10 ) { - G4double Ni_10[31]={1.461,1.653,2.026,2.39,2.746,3.088,3.414,3.722,4.013,5.207,5.998,6.507,6.842,7.213,7.366,7.409,7.392,7.343,7.276,7.198,6.751,6.309,5.903,5.538,4.914,4.408,3.992,3.646,3.355,3.107,2.893}; - physicsVector = CreatePhysicsVector(E,Ni_10,factor); - } - else if( ionZ == 11 ) { - G4double Ni_11[31]={1.522,1.719,2.102,2.477,2.846,3.205,3.552,3.883,4.198,5.524,6.447,7.062,7.479,7.967,8.194,8.284,8.298,8.269,8.215,8.146,7.713,7.259,6.833,6.442,5.765,5.204,4.737,4.344,4.01,3.723,3.474}; - physicsVector = CreatePhysicsVector(E,Ni_11,factor); - } - else if( ionZ == 12 ) { - G4double Ni_12[31]={1.588,1.791,2.183,2.566,2.944,3.316,3.679,4.029,4.364,5.809,6.856,7.576,8.076,8.685,8.993,9.136,9.186,9.18,9.142,9.084,8.668,8.207,7.764,7.353,6.628,6.019,5.505,5.068,4.693,4.369,4.087}; - physicsVector = CreatePhysicsVector(E,Ni_12,factor); - } - else if( ionZ == 13 ) { - G4double Ni_13[31]={1.652,1.86,2.261,2.651,3.037,3.418,3.793,4.158,4.511,6.061,7.229,8.057,8.643,9.378,9.772,9.974,10.06,10.09,10.07,10.03,9.64,9.177,8.722,8.293,7.525,6.871,6.313,5.833,5.419,5.058,4.741}; - physicsVector = CreatePhysicsVector(E,Ni_13,factor); - } - else if( ionZ == 14 ) { - G4double Ni_14[31]={1.717,1.93,2.34,2.737,3.129,3.517,3.901,4.278,4.645,6.29,7.571,8.504,9.178,10.04,10.53,10.79,10.92,10.98,10.98,10.96,10.61,10.15,9.683,9.239,8.435,7.74,7.141,6.621,6.169,5.772,5.423}; - physicsVector = CreatePhysicsVector(E,Ni_14,factor); - } - else if( ionZ == 15 ) { - G4double Ni_15[31]={1.776,1.994,2.411,2.814,3.211,3.605,3.996,4.382,4.761,6.489,7.879,8.917,9.681,10.68,11.27,11.6,11.79,11.88,11.91,11.91,11.61,11.17,10.7,10.25,9.41,8.676,8.036,7.476,6.985,6.551,6.166}; - physicsVector = CreatePhysicsVector(E,Ni_15,factor); - } - else if( ionZ == 16 ) { - G4double Ni_16[31]={1.837,2.061,2.488,2.899,3.302,3.701,4.098,4.492,4.881,6.679,8.166,9.307,10.16,11.3,11.99,12.4,12.64,12.77,12.84,12.86,12.62,12.2,11.73,11.27,10.41,9.641,8.963,8.365,7.836,7.366,6.947}; - physicsVector = CreatePhysicsVector(E,Ni_16,factor); - } - else if( ionZ == 17 ) { - G4double Ni_17[31]={1.899,2.127,2.563,2.981,3.389,3.792,4.193,4.593,4.989,6.847,8.422,9.66,10.6,11.89,12.68,13.17,13.47,13.64,13.74,13.78,13.62,13.22,12.76,12.3,11.41,10.61,9.901,9.267,8.703,8.2,7.749}; - physicsVector = CreatePhysicsVector(E,Ni_17,factor); - } - else if( ionZ == 18 ) { - G4double Ni_18[31]={1.965,2.199,2.645,3.072,3.486,3.894,4.299,4.704,5.106,7.015,8.67,10,11.03,12.46,13.35,13.92,14.28,14.5,14.63,14.7,14.6,14.22,13.77,13.3,12.39,11.56,10.82,10.15,9.555,9.021,8.54}; - physicsVector = CreatePhysicsVector(E,Ni_18,factor); - } -} - - else if( matName == namesMat[13] ) { - if( ionZ == 3) { - G4double Cu_3[31]={0.618,0.6921,0.8207,0.9275,1.017,1.091,1.153,1.203,1.245,1.356,1.386,1.383,1.365,1.311,1.252,1.195,1.142,1.093,1.047,1.006,0.8383,0.7202,0.6328,0.5655,0.4688,0.4025,0.354,0.3169,0.2876,0.2638,0.244}; - physicsVector = CreatePhysicsVector(E,Cu_3,factor); - } - else if( ionZ == 4) { - G4double Cu_4[31]={0.7253,0.8223,0.9989,1.153,1.287,1.404,1.505,1.593,1.668,1.903,1.998,2.031,2.034,1.996,1.938,1.874,1.811,1.75,1.691,1.636,1.403,1.228,1.092,0.9835,0.823,0.71,0.6261,0.5613,0.5098,0.4677,0.4328}; - physicsVector = CreatePhysicsVector(E,Cu_4,factor); - } - else if( ionZ == 5) { - G4double Cu_5[31]={0.8018,0.9144,1.127,1.321,1.496,1.652,1.792,1.917,2.027,2.404,2.588,2.675,2.711,2.709,2.664,2.603,2.537,2.47,2.404,2.34,2.056,1.828,1.645,1.495,1.265,1.098,0.9717,0.8731,0.794,0.7291,0.6749}; - physicsVector = CreatePhysicsVector(E,Cu_5,factor); - } - else if( ionZ == 6) { - G4double Cu_6[31]={0.8636,0.9862,1.225,1.45,1.659,1.85,2.025,2.184,2.329,2.856,3.143,3.297,3.379,3.43,3.41,3.36,3.298,3.231,3.162,3.093,2.772,2.501,2.275,2.085,1.785,1.56,1.387,1.25,1.139,1.047,0.9701}; - physicsVector = CreatePhysicsVector(E,Cu_6,factor); - } - else if( ionZ == 7) { - G4double Cu_7[31]={0.9151,1.044,1.298,1.545,1.781,2.003,2.208,2.399,2.574,3.25,3.651,3.884,4.021,4.142,4.159,4.131,4.08,4.018,3.95,3.881,3.539,3.234,2.971,2.743,2.375,2.093,1.87,1.691,1.544,1.422,1.319}; - physicsVector = CreatePhysicsVector(E,Cu_7,factor); - } - else if( ionZ == 8) { - G4double Cu_8[31]={0.9691,1.102,1.367,1.629,1.885,2.131,2.363,2.581,2.785,3.602,4.122,4.442,4.643,4.846,4.911,4.91,4.876,4.824,4.762,4.695,4.343,4.012,3.718,3.458,3.027,2.687,2.414,2.191,2.006,1.851,1.719}; - physicsVector = CreatePhysicsVector(E,Cu_8,factor); - } - else if( ionZ == 9) { - G4double Cu_9[31]={1.024,1.161,1.432,1.704,1.974,2.238,2.491,2.732,2.961,3.907,4.548,4.961,5.229,5.524,5.644,5.676,5.662,5.623,5.569,5.507,5.154,4.806,4.487,4.2,3.713,3.321,3,2.735,2.513,2.324,2.163}; - physicsVector = CreatePhysicsVector(E,Cu_9,factor); - } - else if( ionZ == 10) { - G4double Cu_10[31]={1.08,1.22,1.497,1.775,2.055,2.331,2.601,2.862,3.111,4.175,4.934,5.443,5.785,6.181,6.364,6.436,6.447,6.424,6.381,6.326,5.982,5.621,5.283,4.973,4.437,3.996,3.63,3.323,3.063,2.841,2.649}; - physicsVector = CreatePhysicsVector(E,Cu_10,factor); -} - else if( ionZ == 11) { - G4double Cu_11[31]={1.133,1.277,1.56,1.843,2.128,2.414,2.697,2.973,3.24,4.408,5.281,5.89,6.311,6.819,7.074,7.194,7.236,7.234,7.205,7.16,6.833,6.466,6.112,5.783,5.202,4.715,4.305,3.957,3.66,3.403,3.18}; - physicsVector = CreatePhysicsVector(E,Cu_11,factor); - } - else if( ionZ == 12) { - G4double Cu_12[31]={1.192,1.34,1.628,1.914,2.203,2.494,2.786,3.074,3.356,4.614,5.594,6.3,6.801,7.425,7.759,7.931,8.009,8.031,8.018,7.985,7.678,7.309,6.943,6.598,5.979,5.451,5.001,4.615,4.282,3.993,3.74}; - physicsVector = CreatePhysicsVector(E,Cu_12,factor); - } - else if( ionZ == 13) { - G4double Cu_13[31]={1.248,1.4,1.694,1.984,2.275,2.57,2.868,3.164,3.457,4.795,5.874,6.678,7.26,8.006,8.423,8.654,8.773,8.824,8.832,8.813,8.539,8.172,7.798,7.439,6.786,6.22,5.732,5.31,4.942,4.621,4.338}; - physicsVector = CreatePhysicsVector(E,Cu_13,factor); - } - else if( ionZ == 14) { - G4double Cu_14[31]={1.305,1.461,1.762,2.056,2.35,2.647,2.948,3.25,3.551,4.958,6.129,7.028,7.692,8.562,9.066,9.358,9.52,9.601,9.632,9.63,9.394,9.034,8.655,8.286,7.604,7.005,6.482,6.026,5.625,5.272,4.96}; - physicsVector = CreatePhysicsVector(E,Cu_14,factor); - } - else if( ionZ == 15) { - G4double Cu_15[31]={1.356,1.517,1.824,2.123,2.419,2.717,3.02,3.327,3.634,5.098,6.353,7.345,8.094,9.095,9.694,10.05,10.27,10.39,10.44,10.46,10.28,9.94,9.563,9.188,8.481,7.85,7.293,6.801,6.367,5.982,5.639}; - physicsVector = CreatePhysicsVector(E,Cu_15,factor); - } - else if( ionZ == 16) { - G4double Cu_16[31]={1.408,1.574,1.89,2.194,2.494,2.795,3.099,3.409,3.72,5.232,6.562,7.642,8.475,9.61,10.31,10.74,11.01,11.17,11.26,11.3,11.18,10.86,10.49,10.11,9.381,8.721,8.133,7.609,7.142,6.726,6.353}; - physicsVector = CreatePhysicsVector(E,Cu_16,factor); - } - else if( ionZ == 17) { - G4double Cu_17[31]={1.46,1.631,1.955,2.265,2.568,2.87,3.176,3.486,3.8,5.35,6.745,7.908,8.822,10.09,10.89,11.4,11.72,11.92,12.05,12.11,12.06,11.77,11.4,11.02,10.28,9.599,8.982,8.428,7.931,7.485,7.084}; - physicsVector = CreatePhysicsVector(E,Cu_17,factor); - } - else if( ionZ == 18) { - G4double Cu_18[31]={1.515,1.692,2.025,2.343,2.651,2.956,3.263,3.575,3.89,5.471,6.924,8.164,9.158,10.56,11.46,12.05,12.43,12.67,12.83,12.92,12.93,12.66,12.3,11.92,11.16,10.45,9.811,9.229,8.706,8.233,7.806}; - physicsVector = CreatePhysicsVector(E,Cu_18,factor); - } - } - - else if( matName == namesMat[14] ) { - if( ionZ == 3 ) { - G4double Ge_3[31]={0.6441,0.7195,0.842,0.9317,0.9987,1.05,1.091,1.124,1.152,1.233,1.266,1.272,1.263,1.222,1.171,1.119,1.069,1.023,0.9797,0.9402,0.7833,0.673,0.5915,0.5289,0.439,0.3774,0.3323,0.2979,0.2705,0.2483,0.2298}; - physicsVector = CreatePhysicsVector(E,Ge_3,factor); - } - else if( ionZ == 4 ) { - G4double Ge_4[31]={0.7658,0.8635,1.037,1.178,1.29,1.379,1.452,1.513,1.565,1.733,1.819,1.86,1.874,1.855,1.809,1.753,1.695,1.637,1.582,1.53,1.311,1.147,1.02,0.9192,0.7703,0.6653,0.5874,0.5272,0.4793,0.4401,0.4075}; - physicsVector = CreatePhysicsVector(E,Ge_4,factor); - } - else if( ionZ == 5 ) { - G4double Ge_5[31]={0.8579,0.9711,1.182,1.367,1.522,1.651,1.759,1.85,1.929,2.198,2.352,2.441,2.488,2.51,2.482,2.432,2.373,2.311,2.249,2.188,1.92,1.707,1.536,1.396,1.183,1.028,0.9111,0.8196,0.746,0.6857,0.6352}; - physicsVector = CreatePhysicsVector(E,Ge_5,factor); - } - else if( ionZ == 6 ) { - G4double Ge_6[31]={0.9323,1.057,1.294,1.512,1.706,1.873,2.016,2.139,2.247,2.626,2.856,3.001,3.091,3.168,3.17,3.136,3.083,3.022,2.958,2.893,2.59,2.335,2.123,1.946,1.668,1.46,1.3,1.173,1.07,0.9843,0.9125}; - physicsVector = CreatePhysicsVector(E,Ge_6,factor); - } - else if( ionZ == 7 ) { - G4double Ge_7[31]={0.9928,1.126,1.382,1.623,1.847,2.047,2.224,2.379,2.515,3.01,3.321,3.53,3.669,3.815,3.858,3.849,3.81,3.756,3.695,3.63,3.305,3.018,2.771,2.56,2.218,1.957,1.751,1.585,1.449,1.335,1.239}; - physicsVector = CreatePhysicsVector(E,Ge_7,factor); - } - else if( ionZ == 8 ) { - G4double Ge_8[31]={1.053,1.192,1.462,1.72,1.966,2.194,2.401,2.586,2.751,3.362,3.758,4.034,4.227,4.451,4.545,4.568,4.549,4.507,4.452,4.39,4.057,3.744,3.468,3.226,2.825,2.511,2.258,2.052,1.881,1.737,1.615}; - physicsVector = CreatePhysicsVector(E,Ge_8,factor); - } - else if( ionZ == 9 ) { - G4double Ge_9[31]={1.111,1.254,1.535,1.806,2.068,2.317,2.549,2.76,2.951,3.677,4.159,4.504,4.754,5.063,5.213,5.272,5.278,5.251,5.206,5.15,4.816,4.486,4.186,3.918,3.466,3.102,2.806,2.561,2.355,2.181,2.031}; - physicsVector = CreatePhysicsVector(E,Ge_9,factor); - } - else if( ionZ == 10 ) { - G4double Ge_10[31]={1.169,1.316,1.605,1.887,2.16,2.424,2.675,2.91,3.125,3.961,4.53,4.945,5.254,5.655,5.868,5.969,6.003,5.996,5.963,5.916,5.592,5.249,4.93,4.64,4.141,3.732,3.394,3.11,2.87,2.664,2.487}; - physicsVector = CreatePhysicsVector(E,Ge_10,factor); - } - else if( ionZ == 11 ) { - G4double Ge_11[31]={1.224,1.375,1.671,1.96,2.242,2.518,2.784,3.038,3.275,4.216,4.872,5.358,5.729,6.228,6.511,6.662,6.73,6.746,6.73,6.693,6.388,6.039,5.705,5.396,4.855,4.404,4.024,3.704,3.428,3.191,2.984}; - physicsVector = CreatePhysicsVector(E,Ge_11,factor); - } - else if( ionZ == 12 ) { - G4double Ge_12[31]={1.281,1.438,1.739,2.035,2.325,2.608,2.885,3.154,3.409,4.448,5.187,5.742,6.174,6.772,7.129,7.334,7.44,7.484,7.486,7.463,7.181,6.829,6.482,6.158,5.58,5.091,4.674,4.318,4.01,3.743,3.508}; - physicsVector = CreatePhysicsVector(E,Ge_12,factor); - } - else if( ionZ == 13 ) { - G4double Ge_13[31]={1.335,1.498,1.806,2.106,2.402,2.692,2.977,3.256,3.525,4.654,5.477,6.101,6.593,7.293,7.728,7.991,8.14,8.215,8.241,8.235,7.987,7.637,7.282,6.945,6.335,5.81,5.358,4.968,4.628,4.33,4.068}; - physicsVector = CreatePhysicsVector(E,Ge_13,factor); - } - else if( ionZ == 14 ) { - G4double Ge_14[31]={1.389,1.558,1.873,2.178,2.478,2.773,3.064,3.351,3.631,4.841,5.744,6.438,6.99,7.791,8.305,8.628,8.823,8.931,8.982,8.995,8.789,8.446,8.086,7.738,7.1,6.543,6.059,5.637,5.267,4.941,4.651}; - physicsVector = CreatePhysicsVector(E,Ge_14,factor); - } - else if( ionZ == 15 ) { - G4double Ge_15[31]={1.437,1.612,1.936,2.244,2.548,2.848,3.143,3.435,3.723,5.006,5.988,6.75,7.363,8.27,8.868,9.258,9.504,9.652,9.733,9.768,9.621,9.294,8.935,8.58,7.918,7.331,6.815,6.361,5.959,5.603,5.286}; - physicsVector = CreatePhysicsVector(E,Ge_15,factor); - } - else if( ionZ == 16 ) { - G4double Ge_16[31]={1.485,1.667,2.002,2.315,2.622,2.927,3.227,3.523,3.818,5.162,6.218,7.047,7.721,8.733,9.419,9.878,10.18,10.37,10.48,10.54,10.46,10.15,9.797,9.438,8.756,8.143,7.598,7.113,6.682,6.297,5.952}; - physicsVector = CreatePhysicsVector(E,Ge_16,factor); - } - else if( ionZ == 17 ) { - G4double Ge_17[31]={1.533,1.721,2.066,2.384,2.695,3.002,3.305,3.605,3.903,5.3,6.424,7.319,8.05,9.166,9.94,10.47,10.83,11.06,11.21,11.29,11.28,11,10.66,10.3,9.599,8.963,8.39,7.878,7.419,7.007,6.636}; - physicsVector = CreatePhysicsVector(E,Ge_17,factor); - } - else if( ionZ == 18 ) { - G4double Ge_18[31]={1.585,1.779,2.137,2.463,2.778,3.088,3.395,3.698,4,5.439,6.629,7.587,8.375,9.592,10.45,11.05,11.47,11.74,11.93,12.04,12.1,11.84,11.5,11.14,10.42,9.764,9.167,8.629,8.145,7.708,7.313}; - physicsVector = CreatePhysicsVector(E,Ge_18,factor); - } -} - - else if( matName == namesMat[15] ) { - if( ionZ == 3 ) { - G4double Kr_3[31]={0.826,0.9063,1.029,1.113,1.17,1.211,1.241,1.265,1.282,1.324,1.328,1.317,1.298,1.247,1.188,1.13,1.076,1.026,0.9803,0.9389,0.7771,0.6654,0.5835,0.521,0.4315,0.3705,0.326,0.292,0.2652,0.2433,0.2252}; - physicsVector = CreatePhysicsVector(E,Kr_3,factor); - } - else if( ionZ == 4 ) { - G4double Kr_4[31]={0.9936,1.106,1.292,1.432,1.534,1.611,1.671,1.72,1.759,1.872,1.917,1.931,1.929,1.894,1.838,1.775,1.71,1.647,1.588,1.532,1.304,1.135,1.007,0.9061,0.7574,0.6533,0.5763,0.517,0.4698,0.4313,0.3993}; - physicsVector = CreatePhysicsVector(E,Kr_4,factor); - } - else if( ionZ == 5 ) { - G4double Kr_5[31]={1.119,1.256,1.495,1.689,1.84,1.958,2.052,2.128,2.192,2.393,2.492,2.543,2.567,2.565,2.525,2.466,2.399,2.33,2.262,2.197,1.913,1.692,1.518,1.377,1.163,1.01,0.8939,0.8036,0.7312,0.6718,0.6223}; - physicsVector = CreatePhysicsVector(E,Kr_5,factor); - } - else if( ionZ == 6 ) { - G4double Kr_6[31]={1.219,1.375,1.656,1.896,2.094,2.254,2.384,2.492,2.583,2.882,3.043,3.138,3.195,3.24,3.227,3.182,3.121,3.051,2.98,2.908,2.583,2.318,2.101,1.921,1.641,1.434,1.275,1.15,1.048,0.9642,0.8938}; - physicsVector = CreatePhysicsVector(E,Kr_6,factor); - } - else if( ionZ == 7 ) { - G4double Kr_7[31]={1.301,1.47,1.784,2.062,2.301,2.501,2.668,2.807,2.927,3.331,3.562,3.706,3.802,3.904,3.928,3.907,3.859,3.795,3.725,3.653,3.301,2.999,2.744,2.528,2.183,1.921,1.717,1.553,1.419,1.308,1.214}; - physicsVector = CreatePhysicsVector(E,Kr_7,factor); - } - else if( ionZ == 8 ) { - G4double Kr_8[31]={1.38,1.559,1.897,2.204,2.479,2.716,2.918,3.091,3.239,3.753,4.057,4.256,4.394,4.559,4.628,4.637,4.608,4.556,4.491,4.421,4.054,3.723,3.435,3.186,2.78,2.465,2.214,2.01,1.842,1.7,1.58}; - physicsVector = CreatePhysicsVector(E,Kr_8,factor); - } - else if( ionZ == 9 ) { - G4double Kr_9[31]={1.456,1.642,1.998,2.329,2.631,2.901,3.136,3.339,3.516,4.14,4.521,4.776,4.959,5.192,5.311,5.355,5.348,5.311,5.256,5.19,4.82,4.466,4.151,3.874,3.412,3.047,2.752,2.509,2.306,2.134,1.988}; - physicsVector = CreatePhysicsVector(E,Kr_9,factor); - } - else if( ionZ == 10 ) { - G4double Kr_10[31]={1.533,1.724,2.094,2.443,2.767,3.064,3.329,3.561,3.765,4.499,4.958,5.273,5.503,5.809,5.981,6.064,6.086,6.068,6.025,5.967,5.602,5.232,4.894,4.592,4.08,3.668,3.329,3.048,2.81,2.608,2.433}; - physicsVector = CreatePhysicsVector(E,Kr_10,factor); - } - else if( ionZ == 11 ) { - G4double Kr_11[31]={1.606,1.803,2.183,2.546,2.889,3.208,3.498,3.758,3.988,4.831,5.369,5.745,6.024,6.408,6.641,6.769,6.823,6.828,6.801,6.754,6.404,6.024,5.668,5.344,4.786,4.329,3.949,3.629,3.357,3.122,2.919}; - physicsVector = CreatePhysicsVector(E,Kr_11,factor); - } - else if( ionZ == 12 ) { - G4double Kr_12[31]={1.684,1.886,2.275,2.649,3.005,3.341,3.653,3.937,4.193,5.141,5.757,6.193,6.522,6.984,7.278,7.454,7.546,7.577,7.569,7.535,7.205,6.818,6.447,6.104,5.506,5.008,4.589,4.233,3.928,3.664,3.433}; - physicsVector = CreatePhysicsVector(E,Kr_12,factor); - } - else if( ionZ == 13 ) { - G4double Kr_13[31]={1.759,1.968,2.365,2.748,3.114,3.464,3.793,4.099,4.377,5.427,6.122,6.621,7,7.541,7.898,8.126,8.257,8.319,8.334,8.316,8.019,7.632,7.249,6.89,6.255,5.718,5.263,4.872,4.534,4.24,3.981}; - physicsVector = CreatePhysicsVector(E,Kr_13,factor); - } - else if( ionZ == 14 ) { - G4double Kr_14[31]={1.833,2.049,2.455,2.845,3.22,3.581,3.924,4.247,4.544,5.69,6.464,7.024,7.454,8.075,8.496,8.777,8.951,9.046,9.085,9.087,8.831,8.447,8.056,7.684,7.016,6.445,5.955,5.531,5.162,4.839,4.553}; - physicsVector = CreatePhysicsVector(E,Kr_14,factor); - } - else if( ionZ == 15 ) { - G4double Kr_15[31]={1.901,2.126,2.541,2.936,3.318,3.687,4.041,4.378,4.693,5.932,6.783,7.407,7.889,8.594,9.083,9.422,9.643,9.775,9.844,9.867,9.667,9.297,8.903,8.522,7.825,7.221,6.698,6.241,5.841,5.487,5.173}; - physicsVector = CreatePhysicsVector(E,Kr_15,factor); - } - else if( ionZ == 16 ) { - G4double Kr_16[31]={1.97,2.204,2.631,3.033,3.421,3.796,4.16,4.509,4.838,6.164,7.089,7.776,8.311,9.102,9.66,10.06,10.33,10.5,10.6,10.65,10.51,10.16,9.764,9.376,8.656,8.021,7.466,6.978,6.547,6.164,5.823}; - physicsVector = CreatePhysicsVector(E,Kr_16,factor); - } - else if( ionZ == 17 ) { - G4double Kr_17[31]={2.038,2.28,2.72,3.128,3.521,3.902,4.272,4.63,4.972,6.375,7.374,8.122,8.709,9.584,10.21,10.67,10.99,11.2,11.33,11.41,11.34,11.01,10.62,10.23,9.491,8.831,8.247,7.73,7.27,6.86,6.492}; - physicsVector = CreatePhysicsVector(E,Kr_17,factor); - } - else if( ionZ == 18 ) { - G4double Kr_18[31]={2.11,2.362,2.817,3.234,3.633,4.019,4.394,4.759,5.111,6.587,7.656,8.465,9.104,10.06,10.76,11.27,11.64,11.9,12.06,12.16,12.17,11.86,11.47,11.07,10.31,9.628,9.016,8.472,7.987,7.551,7.158}; - physicsVector = CreatePhysicsVector(E,Kr_18,factor); - } -} - - else if( matName == namesMat[16] ) { - if( ionZ == 3 ) { - G4double Mo_3[31]={0.6534,0.7272,0.8512,0.9467,1.019,1.073,1.114,1.147,1.173,1.235,1.244,1.236,1.22,1.177,1.13,1.083,1.037,0.9929,0.9519,0.9138,0.7605,0.6532,0.5743,0.5137,0.4269,0.3673,0.3238,0.2904,0.264,0.2424,0.2245}; - physicsVector = CreatePhysicsVector(E,Mo_3,factor); - } - else if( ionZ == 4 ) { - G4double Mo_4[31]={0.7836,0.8807,1.052,1.196,1.312,1.406,1.48,1.542,1.592,1.741,1.796,1.812,1.81,1.782,1.739,1.689,1.638,1.586,1.534,1.485,1.272,1.112,0.9894,0.8922,0.7484,0.6472,0.5719,0.5138,0.4674,0.4295,0.3979}; - physicsVector = CreatePhysicsVector(E,Mo_4,factor); - } - else if( ionZ == 5 ) { - G4double Mo_5[31]={0.8829,0.9968,1.205,1.389,1.547,1.68,1.791,1.883,1.962,2.215,2.331,2.385,2.408,2.408,2.379,2.337,2.287,2.232,2.176,2.12,1.862,1.654,1.489,1.354,1.148,0.9989,0.8861,0.7979,0.7269,0.6686,0.6199}; - physicsVector = CreatePhysicsVector(E,Mo_5,factor); - } - else if( ionZ == 6 ) { - G4double Mo_6[31]={0.9635,1.089,1.326,1.541,1.735,1.905,2.05,2.175,2.283,2.649,2.84,2.942,2.997,3.038,3.034,3.006,2.964,2.913,2.857,2.798,2.509,2.262,2.056,1.885,1.616,1.417,1.262,1.14,1.041,0.9587,0.8896}; - physicsVector = CreatePhysicsVector(E,Mo_6,factor); - } - else if( ionZ == 7 ) { - G4double Mo_7[31]={1.029,1.164,1.421,1.661,1.882,2.083,2.261,2.418,2.554,3.039,3.313,3.471,3.566,3.659,3.687,3.681,3.653,3.611,3.56,3.504,3.199,2.92,2.681,2.476,2.147,1.895,1.697,1.538,1.408,1.299,1.207}; - physicsVector = CreatePhysicsVector(E,Mo_7,factor); - } - else if( ionZ == 8 ) { - G4double Mo_8[31]={1.092,1.232,1.505,1.764,2.007,2.234,2.441,2.627,2.792,3.394,3.757,3.978,4.118,4.273,4.34,4.361,4.352,4.323,4.281,4.23,3.922,3.619,3.351,3.116,2.73,2.428,2.186,1.988,1.825,1.687,1.57}; - physicsVector = CreatePhysicsVector(E,Mo_8,factor); - } - else if( ionZ == 9 ) { - G4double Mo_9[31]={1.15,1.296,1.581,1.854,2.115,2.361,2.592,2.804,2.995,3.712,4.166,4.455,4.645,4.867,4.979,5.03,5.043,5.031,5,4.957,4.656,4.337,4.045,3.785,3.348,2.999,2.714,2.479,2.283,2.115,1.972}; - physicsVector = CreatePhysicsVector(E,Mo_9,factor); - } - else if( ionZ == 10 ) { - G4double Mo_10[31]={1.205,1.357,1.651,1.937,2.211,2.473,2.722,2.956,3.171,3.998,4.543,4.904,5.148,5.446,5.606,5.692,5.731,5.738,5.722,5.689,5.406,5.076,4.765,4.483,4,3.606,3.281,3.01,2.78,2.583,2.413}; - physicsVector = CreatePhysicsVector(E,Mo_10,factor); - } - else if( ionZ == 11 ) { - G4double Mo_11[31]={1.256,1.414,1.717,2.012,2.297,2.572,2.836,3.088,3.324,4.256,4.89,5.325,5.628,6.008,6.224,6.35,6.418,6.448,6.449,6.429,6.173,5.839,5.514,5.213,4.688,4.253,3.888,3.58,3.317,3.09,2.892}; - physicsVector = CreatePhysicsVector(E,Mo_11,factor); - } - else if( ionZ == 12 ) { - G4double Mo_12[31]={1.308,1.471,1.783,2.086,2.381,2.666,2.942,3.208,3.462,4.49,5.211,5.721,6.083,6.547,6.822,6.991,7.092,7.147,7.167,7.163,6.939,6.606,6.269,5.952,5.39,4.917,4.517,4.175,3.88,3.624,3.4}; - physicsVector = CreatePhysicsVector(E,Mo_12,factor); - } - else if( ionZ == 13 ) { - G4double Mo_13[31]={1.356,1.526,1.847,2.157,2.459,2.753,3.039,3.316,3.584,4.702,5.507,6.092,6.515,7.068,7.405,7.62,7.757,7.84,7.883,7.896,7.716,7.389,7.044,6.714,6.121,5.612,5.177,4.802,4.476,4.191,3.94}; - physicsVector = CreatePhysicsVector(E,Mo_13,factor); - } - else if( ionZ == 14 ) { - G4double Mo_14[31]={1.403,1.58,1.91,2.226,2.534,2.835,3.129,3.415,3.694,4.892,5.777,6.436,6.922,7.567,7.967,8.231,8.405,8.517,8.585,8.618,8.491,8.174,7.825,7.485,6.863,6.323,5.855,5.449,5.094,4.782,4.505}; - physicsVector = CreatePhysicsVector(E,Mo_14,factor); - } - else if( ionZ == 15 ) { - G4double Mo_15[31]={1.446,1.628,1.967,2.289,2.603,2.91,3.21,3.503,3.791,5.059,6.022,6.754,7.304,8.046,8.517,8.834,9.049,9.195,9.29,9.346,9.285,8.989,8.642,8.295,7.649,7.079,6.581,6.143,5.758,5.417,5.114}; - physicsVector = CreatePhysicsVector(E,Mo_15,factor); - } - else if( ionZ == 16 ) { - G4double Mo_16[31]={1.49,1.677,2.028,2.357,2.676,2.988,3.294,3.594,3.889,5.22,6.255,7.057,7.672,8.515,9.059,9.43,9.689,9.87,9.993,10.07,10.08,9.812,9.47,9.119,8.453,7.857,7.33,6.863,6.45,6.081,5.751}; - physicsVector = CreatePhysicsVector(E,Mo_16,factor); - } - else if( ionZ == 17 ) { - G4double Mo_17[31]={1.533,1.726,2.086,2.422,2.746,3.063,3.374,3.679,3.979,5.362,6.465,7.335,8.013,8.957,9.575,10,10.31,10.53,10.68,10.78,10.87,10.63,10.3,9.946,9.264,8.645,8.091,7.598,7.157,6.763,6.408}; - physicsVector = CreatePhysicsVector(E,Mo_17,factor); - } - else if( ionZ == 18 ) { - G4double Mo_18[31]={1.583,1.781,2.153,2.497,2.827,3.149,3.465,3.775,4.08,5.508,6.675,7.61,8.351,9.397,10.09,10.58,10.92,11.18,11.36,11.49,11.66,11.44,11.12,10.76,10.07,9.424,8.846,8.327,7.862,7.443,7.065}; - physicsVector = CreatePhysicsVector(E,Mo_18,factor); - } -} - - else if( matName == namesMat[17] ) { - if( ionZ == 3 ) { - G4double Ag_3[31]={0.616,0.695,0.8256,0.9274,1.006,1.064,1.108,1.141,1.165,1.222,1.224,1.207,1.184,1.131,1.079,1.031,0.9856,0.9444,0.9066,0.8719,0.7337,0.635,0.5609,0.5032,0.4193,0.3612,0.3185,0.2857,0.2596,0.2384,0.2208}; - physicsVector = CreatePhysicsVector(E,Ag_3,factor); - } - else if( ionZ == 4 ) { - G4double Ag_4[31]={0.7283,0.8324,1.015,1.166,1.292,1.394,1.475,1.54,1.591,1.734,1.781,1.786,1.772,1.726,1.672,1.617,1.563,1.512,1.463,1.418,1.226,1.079,0.9641,0.8719,0.7337,0.6354,0.5619,0.505,0.4595,0.4223,0.3913}; - physicsVector = CreatePhysicsVector(E,Ag_4,factor); - } - else if( ionZ == 5 ) { - G4double Ag_5[31]={0.8167,0.9362,1.158,1.352,1.52,1.664,1.785,1.886,1.969,2.219,2.326,2.367,2.374,2.348,2.3,2.246,2.19,2.133,2.079,2.026,1.792,1.602,1.448,1.32,1.123,0.9791,0.8694,0.7834,0.714,0.657,0.6092}; - physicsVector = CreatePhysicsVector(E,Ag_5,factor); - } - else if( ionZ == 6 ) { - G4double Ag_6[31]={0.8963,1.023,1.271,1.499,1.702,1.884,2.043,2.18,2.297,2.669,2.85,2.937,2.974,2.98,2.948,2.901,2.847,2.79,2.733,2.676,2.413,2.188,1.998,1.836,1.579,1.387,1.237,1.118,1.021,0.9412,0.8736}; - physicsVector = CreatePhysicsVector(E,Ag_6,factor); - } - else if( ionZ == 7 ) { - G4double Ag_7[31]={0.9709,1.099,1.362,1.615,1.847,2.06,2.252,2.424,2.574,3.076,3.34,3.483,3.558,3.608,3.6,3.567,3.521,3.468,3.412,3.354,3.074,2.822,2.601,2.409,2.095,1.853,1.661,1.507,1.38,1.274,1.184}; - physicsVector = CreatePhysicsVector(E,Ag_7,factor); - } - else if( ionZ == 8 ) { - G4double Ag_8[31]={1.047,1.177,1.447,1.716,1.972,2.21,2.431,2.632,2.814,3.45,3.804,4.01,4.129,4.233,4.256,4.241,4.207,4.161,4.109,4.054,3.767,3.495,3.248,3.029,2.661,2.37,2.136,1.945,1.786,1.653,1.538}; - physicsVector = CreatePhysicsVector(E,Ag_8,factor); - } - else if( ionZ == 9 ) { - G4double Ag_9[31]={1.12,1.254,1.527,1.807,2.08,2.339,2.582,2.809,3.019,3.786,4.234,4.508,4.676,4.843,4.902,4.91,4.891,4.855,4.809,4.758,4.472,4.186,3.92,3.677,3.262,2.926,2.651,2.424,2.233,2.071,1.931}; - physicsVector = CreatePhysicsVector(E,Ag_9,factor); - } - else if( ionZ == 10 ) { - G4double Ag_10[31]={1.189,1.331,1.607,1.893,2.178,2.453,2.715,2.963,3.196,4.09,4.633,4.979,5.202,5.44,5.541,5.576,5.574,5.551,5.514,5.468,5.192,4.898,4.616,4.354,3.896,3.517,3.204,2.941,2.718,2.527,2.362}; - physicsVector = CreatePhysicsVector(E,Ag_10,factor); - } - else if( ionZ == 11 ) { - G4double Ag_11[31]={1.251,1.402,1.685,1.974,2.267,2.555,2.832,3.098,3.35,4.362,5.003,5.424,5.705,6.023,6.173,6.24,6.26,6.252,6.226,6.189,5.928,5.632,5.338,5.06,4.563,4.145,3.794,3.496,3.241,3.021,2.829}; - physicsVector = CreatePhysicsVector(E,Ag_11,factor); - } - else if( ionZ == 12 ) { - G4double Ag_12[31]={1.311,1.472,1.766,2.058,2.356,2.653,2.942,3.221,3.49,4.609,5.348,5.844,6.185,6.586,6.788,6.892,6.937,6.947,6.934,6.906,6.666,6.37,6.068,5.776,5.246,4.792,4.406,4.075,3.789,3.541,3.324}; - physicsVector = CreatePhysicsVector(E,Ag_12,factor); - } - else if( ionZ == 13 ) { - G4double Ag_13[31]={1.366,1.537,1.845,2.14,2.441,2.744,3.043,3.334,3.615,4.83,5.666,6.24,6.644,7.133,7.392,7.535,7.608,7.638,7.641,7.624,7.413,7.124,6.817,6.515,5.956,5.468,5.048,4.685,4.37,4.094,3.851}; - physicsVector = CreatePhysicsVector(E,Ag_13,factor); - } - else if( ionZ == 14 ) { - G4double Ag_14[31]={1.419,1.597,1.922,2.221,2.525,2.832,3.138,3.438,3.73,5.028,5.958,6.61,7.077,7.659,7.978,8.163,8.266,8.319,8.338,8.336,8.16,7.88,7.572,7.262,6.678,6.16,5.709,5.316,4.972,4.67,4.402}; - physicsVector = CreatePhysicsVector(E,Ag_14,factor); - } - else if( ionZ == 15 ) { - G4double Ag_15[31]={1.465,1.65,1.99,2.298,2.603,2.912,3.223,3.53,3.831,5.199,6.222,6.951,7.483,8.164,8.55,8.782,8.92,8.999,9.039,9.052,8.924,8.662,8.357,8.043,7.439,6.894,6.413,5.99,5.617,5.287,4.993}; - physicsVector = CreatePhysicsVector(E,Ag_15,factor); - } - else if( ionZ == 16 ) { - G4double Ag_16[31]={1.511,1.703,2.059,2.377,2.685,2.997,3.312,3.625,3.933,5.361,6.471,7.277,7.875,8.659,9.115,9.397,9.572,9.678,9.74,9.771,9.692,9.452,9.154,8.839,8.218,7.648,7.14,6.689,6.289,5.932,5.613}; - physicsVector = CreatePhysicsVector(E,Ag_16,factor); - } - else if( ionZ == 17 ) { - G4double Ag_17[31]={1.555,1.753,2.123,2.454,2.767,3.08,3.397,3.714,4.028,5.505,6.696,7.578,8.242,9.129,9.659,9.994,10.21,10.34,10.43,10.48,10.45,10.24,9.951,9.637,9.004,8.413,7.88,7.403,6.976,6.595,6.251}; - physicsVector = CreatePhysicsVector(E,Ag_17,factor); - } - else if( ionZ == 18 ) { - G4double Ag_18[31]={1.605,1.81,2.193,2.539,2.858,3.175,3.494,3.814,4.133,5.653,6.919,7.875,8.603,9.596,10.2,10.59,10.84,11.01,11.12,11.18,11.21,11.02,10.74,10.43,9.784,9.172,8.615,8.113,7.663,7.258,6.892}; - physicsVector = CreatePhysicsVector(E,Ag_18,factor); - } -} - - else if( matName == namesMat[18] ) { - if( ionZ == 3 ) { - G4double Sn_3[31]={0.5096,0.5567,0.632,0.6872,0.728,0.7589,0.7833,0.8031,0.8194,0.8713,0.8964,0.9074,0.9098,0.8992,0.8778,0.8518,0.8241,0.7964,0.7696,0.744,0.6366,0.5568,0.4957,0.4473,0.3757,0.3253,0.2879,0.259,0.2361,0.2174,0.2018}; - physicsVector = CreatePhysicsVector(E,Sn_3,factor); - } - else if( ionZ == 4 ) { - G4double Sn_4[31]={0.6712,0.7388,0.8518,0.9402,1.009,1.063,1.107,1.143,1.173,1.273,1.328,1.36,1.376,1.382,1.368,1.343,1.313,1.281,1.247,1.214,1.066,0.9472,0.8523,0.7751,0.6573,0.5722,0.508,0.4579,0.4179,0.3851,0.3577}; - physicsVector = CreatePhysicsVector(E,Sn_4,factor); - } - else if( ionZ == 5 ) { - G4double Sn_5[31]={0.8182,0.904,1.052,1.173,1.271,1.351,1.416,1.471,1.517,1.674,1.766,1.824,1.86,1.892,1.893,1.876,1.848,1.815,1.779,1.742,1.562,1.409,1.282,1.175,1.007,0.8819,0.7861,0.7105,0.6494,0.5991,0.5569}; - physicsVector = CreatePhysicsVector(E,Sn_5,factor); - } - else if( ionZ == 6 ) { - G4double Sn_6[31]={0.9537,1.056,1.235,1.386,1.513,1.619,1.708,1.782,1.846,2.067,2.201,2.289,2.349,2.416,2.438,2.433,2.413,2.383,2.348,2.309,2.109,1.928,1.771,1.635,1.417,1.25,1.119,1.015,0.9293,0.8585,0.7988}; - physicsVector = CreatePhysicsVector(E,Sn_6,factor); - } - else if( ionZ == 7 ) { - G4double Sn_7[31]={1.078,1.194,1.401,1.579,1.733,1.864,1.976,2.072,2.155,2.445,2.624,2.747,2.835,2.941,2.99,3.004,2.995,2.973,2.941,2.905,2.696,2.492,2.31,2.148,1.881,1.671,1.504,1.368,1.256,1.162,1.083}; - physicsVector = CreatePhysicsVector(E,Sn_7,factor); - } - else if( ionZ == 8 ) { - G4double Sn_8[31]={1.198,1.327,1.559,1.762,1.94,2.096,2.231,2.348,2.45,2.813,3.042,3.202,3.319,3.47,3.55,3.585,3.592,3.579,3.555,3.522,3.312,3.093,2.889,2.705,2.392,2.14,1.935,1.767,1.627,1.508,1.407}; - physicsVector = CreatePhysicsVector(E,Sn_8,factor); - } - else if( ionZ == 9 ) { - G4double Sn_9[31]={1.311,1.452,1.705,1.93,2.13,2.308,2.465,2.603,2.725,3.164,3.444,3.643,3.791,3.99,4.104,4.164,4.188,4.187,4.171,4.145,3.942,3.713,3.492,3.289,2.935,2.644,2.403,2.203,2.035,1.891,1.768}; - physicsVector = CreatePhysicsVector(E,Sn_9,factor); - } - else if( ionZ == 10 ) { - G4double Sn_10[31]={1.42,1.571,1.845,2.089,2.309,2.507,2.684,2.842,2.983,3.499,3.833,4.073,4.254,4.504,4.655,4.742,4.786,4.8,4.795,4.776,4.587,4.353,4.12,3.9,3.509,3.181,2.906,2.675,2.478,2.309,2.162}; - physicsVector = CreatePhysicsVector(E,Sn_10,factor); - } - else if( ionZ == 11 ) { - G4double Sn_11[31]={1.52,1.681,1.974,2.235,2.473,2.689,2.885,3.062,3.222,3.816,4.206,4.488,4.704,5.008,5.199,5.317,5.384,5.417,5.424,5.415,5.248,5.013,4.772,4.539,4.116,3.753,3.445,3.182,2.957,2.762,2.592}; - physicsVector = CreatePhysicsVector(E,Sn_11,factor); - } - else if( ionZ == 12 ) { - G4double Sn_12[31]={1.612,1.782,2.091,2.368,2.621,2.853,3.065,3.26,3.437,4.108,4.554,4.879,5.13,5.488,5.722,5.874,5.967,6.019,6.042,6.045,5.906,5.675,5.429,5.186,4.735,4.342,4.004,3.712,3.459,3.239,3.047}; - physicsVector = CreatePhysicsVector(E,Sn_12,factor); - } - else if( ionZ == 13 ) { - G4double Sn_13[31]={1.705,1.883,2.208,2.5,2.767,3.014,3.242,3.453,3.646,4.392,4.896,5.266,5.552,5.968,6.246,6.432,6.552,6.625,6.665,6.681,6.576,6.354,6.105,5.855,5.38,4.959,4.591,4.271,3.992,3.747,3.531}; - physicsVector = CreatePhysicsVector(E,Sn_13,factor); - } - else if( ionZ == 14 ) { - G4double Sn_14[31]={1.793,1.98,2.32,2.626,2.906,3.166,3.408,3.633,3.842,4.66,5.222,5.637,5.961,6.434,6.758,6.979,7.128,7.224,7.282,7.312,7.246,7.036,6.788,6.532,6.038,5.591,5.197,4.85,4.545,4.276,4.038}; - physicsVector = CreatePhysicsVector(E,Sn_14,factor); - } - else if( ionZ == 15 ) { - G4double Sn_15[31]={1.874,2.07,2.424,2.742,3.035,3.307,3.561,3.799,4.021,4.909,5.529,5.991,6.353,6.889,7.26,7.521,7.702,7.823,7.902,7.949,7.931,7.742,7.499,7.241,6.732,6.262,5.841,5.468,5.138,4.844,4.583}; - physicsVector = CreatePhysicsVector(E,Sn_15,factor); - } - else if( ionZ == 16 ) { - G4double Sn_16[31]={1.954,2.158,2.527,2.858,3.163,3.446,3.712,3.962,4.197,5.152,5.83,6.338,6.74,7.339,7.761,8.062,8.275,8.423,8.524,8.588,8.624,8.456,8.222,7.965,7.443,6.952,6.508,6.11,5.755,5.438,5.154}; - physicsVector = CreatePhysicsVector(E,Sn_16,factor); - } - else if( ionZ == 17 ) { - G4double Sn_17[31]={2.03,2.242,2.625,2.969,3.285,3.579,3.855,4.116,4.363,5.381,6.116,6.671,7.112,7.776,8.248,8.59,8.837,9.013,9.136,9.219,9.311,9.168,8.945,8.69,8.161,7.653,7.187,6.767,6.389,6.049,5.743}; - physicsVector = CreatePhysicsVector(E,Sn_17,factor); - } - else if( ionZ == 18 ) { - G4double Sn_18[31]={2.114,2.334,2.732,3.089,3.417,3.722,4.009,4.28,4.538,5.618,6.409,7.012,7.493,8.22,8.742,9.124,9.404,9.607,9.752,9.853,9.998,9.878,9.664,9.411,8.874,8.349,7.863,7.421,7.022,6.661,6.335}; - physicsVector = CreatePhysicsVector(E,Sn_18,factor); - } -} - - else if( matName == namesMat[19] ) { - if( ionZ == 3 ) { - G4double Xe_3[31]={0.5617,0.6027,0.6687,0.7189,0.7574,0.7872,0.8104,0.8285,0.8426,0.8788,0.8879,0.8864,0.88,0.8595,0.8342,0.807,0.7794,0.7523,0.7263,0.7016,0.5984,0.5227,0.4653,0.4202,0.3538,0.3069,0.272,0.245,0.2235,0.2058,0.1912}; - physicsVector = CreatePhysicsVector(E,Xe_3,factor); - } - else if( ionZ == 4 ) { - G4double Xe_4[31]={0.7468,0.8068,0.9059,0.9845,1.048,1.099,1.14,1.174,1.202,1.285,1.32,1.334,1.337,1.327,1.305,1.277,1.246,1.213,1.18,1.147,1.003,0.8898,0.8004,0.7282,0.6187,0.5396,0.4798,0.433,0.3954,0.3646,0.3388}; - physicsVector = CreatePhysicsVector(E,Xe_4,factor); - } - else if( ionZ == 5 ) { - G4double Xe_5[31]={0.9138,0.9925,1.125,1.233,1.321,1.395,1.457,1.509,1.552,1.691,1.759,1.795,1.813,1.822,1.81,1.787,1.757,1.722,1.686,1.649,1.473,1.325,1.204,1.104,0.9474,0.8314,0.7421,0.6715,0.6143,0.567,0.5273}; - physicsVector = CreatePhysicsVector(E,Xe_5,factor); - } - else if( ionZ == 6 ) { - G4double Xe_6[31]={1.065,1.162,1.327,1.463,1.578,1.675,1.758,1.829,1.889,2.09,2.197,2.259,2.297,2.332,2.336,2.322,2.297,2.265,2.229,2.19,1.991,1.814,1.664,1.537,1.333,1.178,1.056,0.9584,0.8786,0.8122,0.7561}; - physicsVector = CreatePhysicsVector(E,Xe_6,factor); - } - else if( ionZ == 7 ) { - G4double Xe_7[31]={1.201,1.315,1.51,1.675,1.814,1.935,2.039,2.129,2.207,2.475,2.625,2.717,2.778,2.845,2.871,2.872,2.856,2.829,2.796,2.758,2.547,2.348,2.172,2.02,1.769,1.574,1.418,1.292,1.187,1.099,1.025}; - physicsVector = CreatePhysicsVector(E,Xe_7,factor); - } - else if( ionZ == 8 ) { - G4double Xe_8[31]={1.329,1.459,1.685,1.875,2.04,2.183,2.307,2.417,2.513,2.851,3.048,3.174,3.26,3.364,3.414,3.432,3.429,3.411,3.382,3.347,3.133,2.916,2.719,2.544,2.25,2.015,1.825,1.668,1.537,1.426,1.331}; - physicsVector = CreatePhysicsVector(E,Xe_8,factor); - } - else if( ionZ == 9 ) { - G4double Xe_9[31]={1.448,1.593,1.845,2.061,2.249,2.413,2.559,2.687,2.801,3.212,3.458,3.619,3.732,3.875,3.953,3.991,4.002,3.994,3.973,3.943,3.733,3.504,3.29,3.095,2.762,2.49,2.266,2.079,1.922,1.787,1.672}; - physicsVector = CreatePhysicsVector(E,Xe_9,factor); - } - else if( ionZ == 10 ) { - G4double Xe_10[31]={1.56,1.718,1.997,2.236,2.446,2.631,2.796,2.944,3.075,3.558,3.856,4.055,4.197,4.382,4.49,4.55,4.578,4.583,4.571,4.548,4.348,4.112,3.883,3.673,3.304,2.997,2.741,2.524,2.34,2.182,2.045}; - physicsVector = CreatePhysicsVector(E,Xe_10,factor); - } - else if( ionZ == 11 ) { - G4double Xe_11[31]={1.664,1.834,2.136,2.398,2.629,2.834,3.018,3.183,3.332,3.888,4.239,4.478,4.65,4.881,5.022,5.108,5.155,5.175,5.175,5.16,4.979,4.74,4.501,4.276,3.876,3.536,3.249,3.003,2.792,2.609,2.45}; - physicsVector = CreatePhysicsVector(E,Xe_11,factor); - } - else if( ionZ == 12 ) { - G4double Xe_12[31]={1.759,1.94,2.263,2.545,2.795,3.019,3.22,3.402,3.567,4.195,4.6,4.879,5.082,5.359,5.535,5.649,5.718,5.755,5.768,5.764,5.607,5.37,5.125,4.889,4.461,4.093,3.776,3.503,3.267,3.061,2.88}; - physicsVector = CreatePhysicsVector(E,Xe_12,factor); - } - else if( ionZ == 13 ) { - G4double Xe_13[31]={1.854,2.046,2.389,2.69,2.958,3.199,3.418,3.616,3.797,4.495,4.955,5.276,5.512,5.838,6.05,6.192,6.284,6.339,6.367,6.375,6.248,6.017,5.767,5.522,5.071,4.675,4.331,4.031,3.77,3.54,3.337}; - physicsVector = CreatePhysicsVector(E,Xe_13,factor); - } - else if( ionZ == 14 ) { - G4double Xe_14[31]={1.946,2.147,2.508,2.828,3.113,3.371,3.605,3.819,4.015,4.781,5.295,5.659,5.929,6.305,6.555,6.726,6.842,6.916,6.959,6.979,6.889,6.667,6.416,6.165,5.693,5.273,4.903,4.578,4.293,4.04,3.817}; - physicsVector = CreatePhysicsVector(E,Xe_14,factor); - } - else if( ionZ == 15 ) { - G4double Xe_15[31]={2.032,2.241,2.619,2.955,3.257,3.53,3.779,4.008,4.218,5.049,5.619,6.026,6.331,6.762,7.052,7.256,7.398,7.495,7.557,7.592,7.545,7.339,7.091,6.837,6.348,5.905,5.511,5.161,4.852,4.577,4.331}; - physicsVector = CreatePhysicsVector(E,Xe_15,factor); - } - else if( ionZ == 16 ) { - G4double Xe_16[31]={2.116,2.335,2.729,3.08,3.397,3.686,3.949,4.192,4.416,5.311,5.935,6.386,6.728,7.214,7.547,7.784,7.954,8.073,8.154,8.206,8.206,8.02,7.778,7.522,7.021,6.557,6.14,5.767,5.435,5.137,4.87}; - physicsVector = CreatePhysicsVector(E,Xe_16,factor); - } - else if( ionZ == 17 ) { - G4double Xe_17[31]={2.199,2.425,2.835,3.2,3.532,3.834,4.111,4.367,4.604,5.561,6.238,6.733,7.111,7.655,8.03,8.302,8.5,8.643,8.744,8.812,8.864,8.699,8.465,8.211,7.7,7.22,6.782,6.387,6.033,5.714,5.427}; - physicsVector = CreatePhysicsVector(E,Xe_17,factor); - } - else if( ionZ == 18 ) { - G4double Xe_18[31]={2.288,2.523,2.948,3.329,3.675,3.991,4.282,4.551,4.801,5.818,6.548,7.088,7.503,8.104,8.522,8.826,9.052,9.217,9.337,9.421,9.521,9.377,9.15,8.896,8.375,7.879,7.422,7.007,6.632,6.293,5.987}; - physicsVector = CreatePhysicsVector(E,Xe_18,factor); - } -} - - else if( matName == namesMat[20] ) { - if( ionZ == 3 ) { - G4double W_3[31]={0.2439,0.2673,0.3038,0.3307,0.3513,0.368,0.3819,0.3938,0.4041,0.4399,0.4601,0.4714,0.4774,0.4805,0.4778,0.4725,0.4657,0.4583,0.4506,0.4428,0.4054,0.3722,0.3432,0.3182,0.2778,0.2471,0.2231,0.2039,0.1882,0.1751,0.164}; - physicsVector = CreatePhysicsVector(E,W_3,factor); - } - else if( ionZ == 4 ) { - G4double W_4[31]={0.3226,0.3566,0.4129,0.4564,0.4909,0.5191,0.543,0.5637,0.5818,0.648,0.6891,0.7156,0.7327,0.7499,0.7556,0.7553,0.7512,0.7447,0.7368,0.7281,0.6801,0.6322,0.5883,0.5491,0.4837,0.4326,0.392,0.3592,0.332,0.3093,0.2899}; - physicsVector = CreatePhysicsVector(E,W_4,factor); - } - else if( ionZ == 5 ) { - G4double W_5[31]={0.3961,0.4392,0.514,0.5747,0.6241,0.6653,0.7005,0.7311,0.7582,0.8591,0.925,0.9703,1.002,1.04,1.059,1.067,1.069,1.066,1.06,1.052,1,0.9409,0.8833,0.8299,0.7381,0.6641,0.6042,0.5551,0.5141,0.4795,0.4499}; - physicsVector = CreatePhysicsVector(E,W_5,factor); - } - else if( ionZ == 6 ) { - G4double W_6[31]={0.466,0.5168,0.608,0.6852,0.7498,0.8046,0.8517,0.893,0.9298,1.069,1.162,1.229,1.278,1.342,1.379,1.399,1.409,1.412,1.41,1.405,1.355,1.289,1.22,1.154,1.036,0.9378,0.8569,0.7896,0.7329,0.6847,0.6431}; - physicsVector = CreatePhysicsVector(E,W_6,factor); - } - else if( ionZ == 7 ) { - G4double W_7[31]={0.5322,0.5896,0.695,0.7871,0.8664,0.9347,0.9941,1.047,1.093,1.273,1.396,1.487,1.556,1.65,1.708,1.743,1.764,1.775,1.779,1.779,1.738,1.669,1.592,1.514,1.372,1.25,1.147,1.061,0.9871,0.9237,0.8687}; - physicsVector = CreatePhysicsVector(E,W_7,factor); - } - else if( ionZ == 8 ) { - G4double W_8[31]={0.6002,0.664,0.7818,0.8875,0.9807,1.062,1.134,1.198,1.255,1.477,1.632,1.748,1.837,1.964,2.046,2.099,2.132,2.153,2.165,2.17,2.144,2.075,1.993,1.906,1.742,1.597,1.473,1.366,1.274,1.195,1.125}; - physicsVector = CreatePhysicsVector(E,W_8,factor); - } - else if( ionZ == 9 ) { - G4double W_9[31]={0.6666,0.7365,0.8655,0.9831,1.089,1.183,1.267,1.342,1.41,1.674,1.862,2.004,2.116,2.277,2.384,2.456,2.504,2.536,2.557,2.569,2.561,2.497,2.412,2.319,2.136,1.97,1.825,1.699,1.59,1.494,1.41}; - physicsVector = CreatePhysicsVector(E,W_9,factor); - } - else if( ionZ == 10 ) { - G4double W_10[31]={0.7327,0.8086,0.9483,1.076,1.194,1.3,1.395,1.481,1.559,1.867,2.088,2.258,2.392,2.59,2.724,2.817,2.881,2.926,2.956,2.977,2.992,2.936,2.85,2.753,2.554,2.369,2.205,2.06,1.932,1.82,1.721}; - physicsVector = CreatePhysicsVector(E,W_10,factor); - } - else if( ionZ == 11 ) { - G4double W_11[31]={0.7964,0.8785,1.028,1.166,1.294,1.411,1.517,1.614,1.702,2.053,2.308,2.506,2.663,2.898,3.062,3.178,3.261,3.32,3.362,3.392,3.435,3.39,3.307,3.207,2.995,2.793,2.61,2.446,2.301,2.173,2.058}; - physicsVector = CreatePhysicsVector(E,W_11,factor); - } - else if( ionZ == 12 ) { - G4double W_12[31]={0.8567,0.9447,1.104,1.251,1.387,1.514,1.63,1.737,1.835,2.228,2.517,2.742,2.923,3.195,3.389,3.531,3.634,3.709,3.764,3.805,3.879,3.848,3.769,3.669,3.448,3.231,3.031,2.851,2.689,2.545,2.415}; - physicsVector = CreatePhysicsVector(E,W_12,factor); - } - else if( ionZ == 13 ) { - G4double W_13[31]={0.9191,1.013,1.183,1.338,1.483,1.618,1.744,1.86,1.968,2.402,2.725,2.979,3.184,3.496,3.721,3.888,4.012,4.103,4.172,4.224,4.333,4.318,4.247,4.148,3.92,3.689,3.474,3.277,3.1,2.94,2.795}; - physicsVector = CreatePhysicsVector(E,W_13,factor); - } - else if( ionZ == 14 ) { - G4double W_14[31]={0.9809,1.081,1.262,1.425,1.577,1.721,1.856,1.981,2.097,2.572,2.928,3.21,3.439,3.791,4.049,4.242,4.386,4.496,4.578,4.642,4.79,4.794,4.732,4.636,4.403,4.161,3.931,3.719,3.527,3.352,3.193}; - physicsVector = CreatePhysicsVector(E,W_14,factor); - } - else if( ionZ == 15 ) { - G4double W_15[31]={1.039,1.146,1.336,1.508,1.667,1.818,1.96,2.094,2.218,2.732,3.121,3.431,3.686,4.079,4.371,4.592,4.761,4.889,4.988,5.065,5.257,5.285,5.234,5.144,4.91,4.658,4.415,4.189,3.981,3.791,3.618}; - physicsVector = CreatePhysicsVector(E,W_15,factor); - } - else if( ionZ == 16 ) { - G4double W_16[31]={1.098,1.211,1.412,1.592,1.759,1.917,2.067,2.208,2.34,2.893,3.314,3.653,3.932,4.368,4.695,4.945,5.137,5.286,5.401,5.492,5.731,5.783,5.747,5.663,5.43,5.171,4.916,4.676,4.454,4.25,4.062}; - physicsVector = CreatePhysicsVector(E,W_16,factor); - } - else if( ionZ == 17 ) { - G4double W_17[31]={1.154,1.273,1.486,1.674,1.848,2.013,2.169,2.317,2.457,3.046,3.499,3.865,4.169,4.649,5.01,5.29,5.507,5.676,5.809,5.915,6.202,6.282,6.262,6.186,5.957,5.692,5.428,5.175,4.94,4.722,4.521}; - physicsVector = CreatePhysicsVector(E,W_17,factor); - } - else if( ionZ == 18 ) { - G4double W_18[31]={1.219,1.344,1.569,1.767,1.949,2.12,2.283,2.438,2.586,3.211,3.696,4.09,4.419,4.94,5.336,5.643,5.884,6.073,6.223,6.343,6.677,6.782,6.776,6.709,6.484,6.215,5.94,5.677,5.429,5.199,4.985}; - physicsVector = CreatePhysicsVector(E,W_18,factor); - } -} - - else if( matName == namesMat[21] ) { - if( ionZ == 3 ) { - G4double Pt_3[31]={0.2992,0.3235,0.3633,0.3948,0.4203,0.4415,0.4596,0.4752,0.4888,0.5363,0.5617,0.5743,0.5791,0.5764,0.5666,0.5541,0.5405,0.527,0.5137,0.5011,0.446,0.4022,0.3663,0.3365,0.2897,0.2551,0.2285,0.2074,0.1904,0.1763,0.1644}; - physicsVector = CreatePhysicsVector(E,Pt_3,factor); - } - else if( ionZ == 4 ) { - G4double Pt_4[31]={0.4136,0.4491,0.5084,0.5565,0.5962,0.6298,0.6587,0.6839,0.7063,0.7881,0.8373,0.8667,0.8831,0.8938,0.8903,0.8805,0.8672,0.8523,0.8367,0.821,0.7467,0.6824,0.6274,0.5802,0.5043,0.4465,0.4015,0.3655,0.336,0.3115,0.2908}; - physicsVector = CreatePhysicsVector(E,Pt_4,factor); - } - else if( ionZ == 5 ) { - G4double Pt_5[31]={0.5215,0.568,0.6469,0.712,0.7668,0.8137,0.8544,0.8903,0.9224,1.042,1.12,1.17,1.202,1.233,1.241,1.238,1.228,1.214,1.199,1.182,1.095,1.014,0.9405,0.8758,0.7687,0.6851,0.6186,0.5648,0.5204,0.4832,0.4516}; - physicsVector = CreatePhysicsVector(E,Pt_5,factor); - } - else if( ionZ == 6 ) { - G4double Pt_6[31]={0.6218,0.679,0.7771,0.8591,0.9292,0.9899,1.043,1.09,1.132,1.294,1.402,1.475,1.526,1.584,1.608,1.615,1.611,1.601,1.588,1.572,1.48,1.385,1.296,1.215,1.077,0.9665,0.8768,0.8032,0.7419,0.6901,0.6458}; - physicsVector = CreatePhysicsVector(E,Pt_6,factor); - } - else if( ionZ == 7 ) { - G4double Pt_7[31]={0.7138,0.781,0.8974,0.9958,1.081,1.155,1.221,1.28,1.333,1.538,1.679,1.779,1.851,1.939,1.984,2.004,2.01,2.006,1.997,1.984,1.893,1.79,1.688,1.593,1.425,1.287,1.173,1.079,0.9988,0.931,0.8725}; - physicsVector = CreatePhysicsVector(E,Pt_7,factor); - } - else if( ionZ == 8 ) { - G4double Pt_8[31]={0.803,0.8796,1.014,1.128,1.228,1.316,1.395,1.466,1.529,1.779,1.955,2.083,2.177,2.3,2.368,2.404,2.42,2.424,2.421,2.412,2.328,2.22,2.109,2.001,1.807,1.642,1.504,1.388,1.289,1.204,1.13}; - physicsVector = CreatePhysicsVector(E,Pt_8,factor); - } - else if( ionZ == 9 ) { - G4double Pt_9[31]={0.8862,0.9718,1.122,1.252,1.366,1.468,1.559,1.641,1.716,2.012,2.223,2.38,2.499,2.658,2.751,2.804,2.834,2.847,2.851,2.847,2.775,2.666,2.549,2.431,2.214,2.025,1.863,1.726,1.608,1.505,1.416}; - physicsVector = CreatePhysicsVector(E,Pt_9,factor); - } - else if( ionZ == 10 ) { - G4double Pt_10[31]={0.9654,1.059,1.226,1.37,1.498,1.612,1.716,1.81,1.896,2.238,2.485,2.672,2.816,3.014,3.134,3.207,3.251,3.275,3.287,3.29,3.234,3.128,3.007,2.882,2.644,2.432,2.249,2.091,1.953,1.833,1.728}; - physicsVector = CreatePhysicsVector(E,Pt_10,factor); - } - else if( ionZ == 11 ) { - G4double Pt_11[31]={1.04,1.141,1.322,1.481,1.621,1.748,1.864,1.969,2.066,2.455,2.74,2.957,3.127,3.365,3.515,3.61,3.671,3.708,3.729,3.739,3.704,3.605,3.482,3.352,3.096,2.864,2.66,2.481,2.325,2.187,2.066}; - physicsVector = CreatePhysicsVector(E,Pt_11,factor); - } - else if( ionZ == 12 ) { - G4double Pt_12[31]={1.108,1.217,1.411,1.582,1.735,1.874,2,2.116,2.224,2.658,2.98,3.228,3.424,3.702,3.884,4.004,4.083,4.134,4.166,4.185,4.175,4.085,3.964,3.83,3.561,3.311,3.088,2.89,2.716,2.561,2.424}; - physicsVector = CreatePhysicsVector(E,Pt_12,factor); - } - else if( ionZ == 13 ) { - G4double Pt_13[31]={1.176,1.292,1.499,1.683,1.847,1.997,2.135,2.262,2.379,2.86,3.218,3.498,3.72,4.042,4.255,4.4,4.498,4.564,4.608,4.637,4.655,4.577,4.46,4.325,4.044,3.778,3.537,3.321,3.129,2.958,2.804}; - physicsVector = CreatePhysicsVector(E,Pt_13,factor); - } - else if( ionZ == 14 ) { - G4double Pt_14[31]={1.242,1.365,1.585,1.779,1.955,2.116,2.264,2.401,2.528,3.053,3.448,3.759,4.008,4.375,4.622,4.792,4.91,4.992,5.048,5.087,5.137,5.073,4.961,4.827,4.538,4.258,4,3.767,3.559,3.371,3.203}; - physicsVector = CreatePhysicsVector(E,Pt_14,factor); - } - else if( ionZ == 15 ) { - G4double Pt_15[31]={1.303,1.432,1.663,1.869,2.055,2.226,2.383,2.53,2.667,3.235,3.666,4.008,4.285,4.698,4.981,5.18,5.32,5.419,5.49,5.541,5.628,5.583,5.48,5.349,5.055,4.762,4.489,4.24,4.015,3.811,3.627}; - physicsVector = CreatePhysicsVector(E,Pt_15,factor); - } - else if( ionZ == 16 ) { - G4double Pt_16[31]={1.363,1.498,1.741,1.957,2.154,2.334,2.501,2.657,2.804,3.414,3.882,4.255,4.56,5.019,5.34,5.568,5.731,5.849,5.935,5.998,6.124,6.1,6.008,5.88,5.584,5.281,4.994,4.73,4.489,4.27,4.071}; - physicsVector = CreatePhysicsVector(E,Pt_16,factor); - } - else if( ionZ == 17 ) { - G4double Pt_17[31]={1.42,1.561,1.815,2.041,2.247,2.437,2.613,2.778,2.933,3.584,4.087,4.492,4.824,5.331,5.69,5.947,6.134,6.271,6.373,6.449,6.618,6.616,6.537,6.416,6.121,5.809,5.51,5.232,4.977,4.743,4.53}; - physicsVector = CreatePhysicsVector(E,Pt_17,factor); - } - else if( ionZ == 18 ) { - G4double Pt_18[31]={1.484,1.632,1.897,2.133,2.349,2.548,2.733,2.907,3.071,3.763,4.302,4.738,5.097,5.651,6.047,6.333,6.543,6.699,6.816,6.905,7.113,7.133,7.065,6.95,6.656,6.338,6.028,5.737,5.468,5.221,4.994}; - physicsVector = CreatePhysicsVector(E,Pt_18,factor); - } -} - - else if( matName == namesMat[22] ) { - if( ionZ == 3 ) { - G4double Au_3[31]={0.3146,0.3401,0.3821,0.4151,0.4417,0.4636,0.4822,0.4981,0.512,0.5601,0.5855,0.5977,0.6018,0.5976,0.5859,0.5715,0.5563,0.5412,0.5266,0.5127,0.4536,0.4077,0.3708,0.3403,0.2927,0.2576,0.2306,0.2093,0.192,0.1778,0.1657}; - physicsVector = CreatePhysicsVector(E,Au_3,factor); - } - else if( ionZ == 4 ) { - G4double Au_4[31]={0.4344,0.4717,0.5341,0.5845,0.6261,0.6609,0.6907,0.7167,0.7395,0.8225,0.8719,0.9009,0.9167,0.9255,0.9198,0.9076,0.8921,0.875,0.8575,0.84,0.7597,0.6921,0.6352,0.5868,0.5095,0.4509,0.4052,0.3687,0.3389,0.3142,0.2932}; - physicsVector = CreatePhysicsVector(E,Au_4,factor); - } - else if( ionZ == 5 ) { - G4double Au_5[31]={0.5472,0.5962,0.6791,0.7473,0.8046,0.8534,0.8955,0.9324,0.9652,1.087,1.165,1.215,1.246,1.276,1.281,1.275,1.263,1.246,1.228,1.209,1.114,1.028,0.9523,0.8859,0.7766,0.6917,0.6243,0.5698,0.5249,0.4873,0.4553}; - physicsVector = CreatePhysicsVector(E,Au_5,factor); - } - else if( ionZ == 6 ) { - G4double Au_6[31]={0.6522,0.7123,0.8152,0.9011,0.9743,1.037,1.093,1.141,1.185,1.349,1.457,1.531,1.581,1.637,1.659,1.663,1.656,1.643,1.627,1.608,1.506,1.405,1.313,1.23,1.088,0.9758,0.8848,0.8102,0.7482,0.6958,0.651}; - physicsVector = CreatePhysicsVector(E,Au_6,factor); - } - else if( ionZ == 7 ) { - G4double Au_7[31]={0.7484,0.8189,0.9409,1.044,1.133,1.21,1.279,1.339,1.394,1.602,1.744,1.844,1.916,2.003,2.045,2.062,2.064,2.057,2.045,2.029,1.926,1.816,1.71,1.611,1.44,1.299,1.184,1.088,1.007,0.9385,0.8794}; - physicsVector = CreatePhysicsVector(E,Au_7,factor); - } - else if( ionZ == 8 ) { - G4double Au_8[31]={0.8412,0.9217,1.062,1.182,1.286,1.378,1.459,1.532,1.598,1.853,2.03,2.158,2.253,2.374,2.439,2.472,2.485,2.486,2.479,2.466,2.369,2.253,2.136,2.025,1.826,1.658,1.518,1.4,1.3,1.214,1.139}; - physicsVector = CreatePhysicsVector(E,Au_8,factor); - } - else if( ionZ == 9 ) { - G4double Au_9[31]={0.9278,1.018,1.175,1.311,1.43,1.536,1.63,1.715,1.793,2.094,2.307,2.465,2.584,2.742,2.833,2.883,2.909,2.919,2.919,2.911,2.824,2.706,2.582,2.46,2.237,2.044,1.88,1.74,1.621,1.517,1.427}; - physicsVector = CreatePhysicsVector(E,Au_9,factor); - } - else if( ionZ == 10 ) { - G4double Au_10[31]={1.01,1.109,1.283,1.433,1.567,1.686,1.793,1.89,1.979,2.329,2.579,2.767,2.911,3.108,3.227,3.297,3.337,3.357,3.365,3.364,3.291,3.175,3.046,2.916,2.671,2.456,2.269,2.108,1.969,1.848,1.741}; - physicsVector = CreatePhysicsVector(E,Au_10,factor); - } - else if( ionZ == 11 ) { - G4double Au_11[31]={1.087,1.194,1.383,1.548,1.695,1.827,1.946,2.056,2.156,2.553,2.842,3.061,3.231,3.469,3.617,3.71,3.766,3.799,3.817,3.823,3.77,3.659,3.528,3.392,3.129,2.892,2.684,2.502,2.344,2.204,2.081}; - physicsVector = CreatePhysicsVector(E,Au_11,factor); - } - else if( ionZ == 12 ) { - G4double Au_12[31]={1.158,1.272,1.475,1.653,1.813,1.957,2.088,2.208,2.319,2.764,3.09,3.341,3.537,3.816,3.996,4.113,4.188,4.236,4.264,4.279,4.25,4.147,4.016,3.877,3.599,3.343,3.116,2.915,2.738,2.581,2.442}; - physicsVector = CreatePhysicsVector(E,Au_12,factor); - } - else if( ionZ == 13 ) { - G4double Au_13[31]={1.228,1.349,1.566,1.757,1.929,2.084,2.227,2.358,2.48,2.972,3.336,3.618,3.842,4.165,4.377,4.519,4.614,4.676,4.716,4.74,4.739,4.646,4.519,4.377,4.087,3.815,3.568,3.349,3.154,2.981,2.825}; - physicsVector = CreatePhysicsVector(E,Au_13,factor); - } - else if( ionZ == 14 ) { - G4double Au_14[31]={1.296,1.424,1.653,1.856,2.039,2.206,2.36,2.502,2.633,3.171,3.573,3.887,4.139,4.506,4.753,4.921,5.035,5.113,5.165,5.2,5.229,5.15,5.028,4.886,4.587,4.299,4.036,3.8,3.588,3.398,3.227}; - physicsVector = CreatePhysicsVector(E,Au_14,factor); - } - else if( ionZ == 15 ) { - G4double Au_15[31]={1.358,1.493,1.734,1.949,2.142,2.32,2.483,2.635,2.776,3.359,3.798,4.145,4.424,4.838,5.122,5.318,5.455,5.551,5.617,5.663,5.729,5.668,5.554,5.414,5.109,4.809,4.53,4.276,4.047,3.841,3.654}; - physicsVector = CreatePhysicsVector(E,Au_15,factor); - } - else if( ionZ == 16 ) { - G4double Au_16[31]={1.42,1.561,1.814,2.039,2.244,2.431,2.605,2.766,2.917,3.544,4.021,4.399,4.706,5.168,5.489,5.715,5.875,5.989,6.071,6.13,6.234,6.192,6.088,5.952,5.645,5.333,5.04,4.771,4.526,4.303,4.101}; - physicsVector = CreatePhysicsVector(E,Au_16,factor); - } - else if( ionZ == 17 ) { - G4double Au_17[31]={1.479,1.626,1.89,2.125,2.339,2.536,2.719,2.89,3.05,3.719,4.232,4.642,4.978,5.489,5.848,6.104,6.288,6.422,6.519,6.591,6.737,6.717,6.624,6.494,6.187,5.867,5.561,5.277,5.017,4.78,4.563}; - physicsVector = CreatePhysicsVector(E,Au_17,factor); - } - else if( ionZ == 18 ) { - G4double Au_18[31]={1.543,1.697,1.973,2.219,2.443,2.65,2.842,3.022,3.191,3.903,4.453,4.895,5.259,5.817,6.213,6.499,6.706,6.859,6.971,7.056,7.241,7.241,7.16,7.036,6.729,6.401,6.083,5.787,5.513,5.261,5.031}; - physicsVector = CreatePhysicsVector(E,Au_18,factor); - } -} - - else if( matName == namesMat[23] ) { - if( ionZ == 3 ) { - G4double Pb_3[31]={0.3483,0.3786,0.426,0.4605,0.4861,0.5059,0.5217,0.5346,0.5454,0.5801,0.5962,0.602,0.6016,0.5907,0.5742,0.5559,0.5375,0.5197,0.5029,0.4873,0.4243,0.3787,0.3436,0.3154,0.2722,0.2406,0.2163,0.1971,0.1814,0.1684,0.1574}; - physicsVector = CreatePhysicsVector(E,Pb_3,factor); - } - else if( ionZ == 4 ) { - G4double Pb_4[31]={0.4635,0.5078,0.5801,0.6356,0.6786,0.7126,0.7402,0.7631,0.7826,0.8488,0.8853,0.9051,0.9142,0.9137,0.9012,0.8835,0.8633,0.8423,0.8215,0.8013,0.714,0.646,0.5913,0.5461,0.4751,0.4219,0.3805,0.3473,0.3202,0.2976,0.2784}; - physicsVector = CreatePhysicsVector(E,Pb_4,factor); - } - else if( ionZ == 5 ) { - G4double Pb_5[31]={0.5692,0.6265,0.7228,0.7996,0.8612,0.911,0.9521,0.9866,1.016,1.119,1.18,1.218,1.241,1.258,1.255,1.242,1.224,1.202,1.18,1.157,1.052,0.9641,0.8904,0.8276,0.7265,0.6487,0.5871,0.5373,0.4962,0.4617,0.4323}; - physicsVector = CreatePhysicsVector(E,Pb_5,factor); - } - else if( ionZ == 6 ) { - G4double Pb_6[31]={0.6665,0.7355,0.8541,0.9515,1.032,1.098,1.154,1.201,1.242,1.386,1.475,1.534,1.573,1.614,1.626,1.621,1.607,1.588,1.566,1.543,1.427,1.323,1.232,1.153,1.021,0.9172,0.8336,0.765,0.7079,0.6597,0.6184}; - physicsVector = CreatePhysicsVector(E,Pb_6,factor); - } - else if( ionZ == 7 ) { - G4double Pb_7[31]={0.7558,0.8351,0.9739,1.091,1.189,1.272,1.343,1.403,1.456,1.645,1.765,1.848,1.906,1.974,2.005,2.012,2.006,1.992,1.973,1.952,1.831,1.715,1.61,1.515,1.354,1.224,1.117,1.029,0.954,0.8905,0.8358}; - physicsVector = CreatePhysicsVector(E,Pb_7,factor); - } - else if( ionZ == 8 ) { - G4double Pb_8[31]={0.8429,0.9317,1.089,1.223,1.339,1.439,1.524,1.599,1.664,1.9,2.053,2.161,2.24,2.34,2.391,2.414,2.418,2.411,2.396,2.378,2.259,2.135,2.018,1.91,1.722,1.565,1.435,1.325,1.232,1.153,1.083}; - physicsVector = CreatePhysicsVector(E,Pb_8,factor); - } - else if( ionZ == 9 ) { - G4double Pb_9[31]={0.9254,1.023,1.197,1.348,1.479,1.594,1.695,1.783,1.86,2.146,2.334,2.469,2.57,2.703,2.778,2.817,2.833,2.835,2.827,2.812,2.7,2.571,2.445,2.327,2.114,1.934,1.781,1.651,1.539,1.442,1.358}; - physicsVector = CreatePhysicsVector(E,Pb_9,factor); - } - else if( ionZ == 10 ) { - G4double Pb_10[31]={1.005,1.11,1.299,1.465,1.612,1.742,1.856,1.958,2.048,2.384,2.609,2.772,2.896,3.065,3.166,3.224,3.253,3.265,3.264,3.255,3.154,3.024,2.892,2.765,2.531,2.327,2.153,2.002,1.872,1.758,1.658}; - physicsVector = CreatePhysicsVector(E,Pb_10,factor); - } - else if( ionZ == 11 ) { - G4double Pb_11[31]={1.081,1.193,1.396,1.576,1.736,1.88,2.008,2.123,2.226,2.613,2.875,3.068,3.216,3.422,3.551,3.63,3.676,3.699,3.708,3.706,3.621,3.493,3.358,3.223,2.97,2.746,2.55,2.38,2.231,2.1,1.984}; - physicsVector = CreatePhysicsVector(E,Pb_11,factor); - } - else if( ionZ == 12 ) { - G4double Pb_12[31]={1.152,1.271,1.487,1.679,1.851,2.007,2.148,2.275,2.39,2.828,3.128,3.351,3.523,3.767,3.925,4.028,4.092,4.129,4.148,4.154,4.09,3.968,3.831,3.691,3.422,3.18,2.965,2.776,2.609,2.461,2.33}; - physicsVector = CreatePhysicsVector(E,Pb_12,factor); - } - else if( ionZ == 13 ) { - G4double Pb_13[31]={1.223,1.349,1.577,1.781,1.965,2.133,2.285,2.424,2.551,3.04,3.378,3.632,3.83,4.114,4.303,4.429,4.512,4.563,4.593,4.608,4.569,4.455,4.318,4.175,3.894,3.634,3.401,3.193,3.009,2.845,2.698}; - physicsVector = CreatePhysicsVector(E,Pb_13,factor); - } - else if( ionZ == 14 ) { - G4double Pb_14[31]={1.293,1.426,1.666,1.88,2.075,2.253,2.417,2.567,2.705,3.243,3.621,3.905,4.129,4.455,4.675,4.827,4.928,4.995,5.038,5.062,5.051,4.947,4.813,4.669,4.376,4.101,3.851,3.627,3.426,3.246,3.084}; - physicsVector = CreatePhysicsVector(E,Pb_14,factor); - } - else if( ionZ == 15 ) { - G4double Pb_15[31]={1.358,1.497,1.748,1.973,2.178,2.366,2.54,2.7,2.848,3.435,3.851,4.167,4.417,4.787,5.042,5.22,5.344,5.428,5.484,5.52,5.543,5.454,5.326,5.181,4.882,4.594,4.328,4.087,3.869,3.673,3.496}; - physicsVector = CreatePhysicsVector(E,Pb_15,factor); - } - else if( ionZ == 16 ) { - G4double Pb_16[31]={1.423,1.569,1.831,2.065,2.28,2.477,2.661,2.831,2.989,3.624,4.078,4.426,4.703,5.118,5.408,5.614,5.76,5.863,5.934,5.982,6.04,5.968,5.847,5.705,5.401,5.101,4.82,4.564,4.33,4.119,3.927}; - physicsVector = CreatePhysicsVector(E,Pb_16,factor); - } - else if( ionZ == 17 ) { - G4double Pb_17[31]={1.485,1.637,1.91,2.154,2.377,2.584,2.776,2.955,3.122,3.802,4.296,4.675,4.98,5.44,5.765,6,6.17,6.291,6.378,6.439,6.536,6.483,6.371,6.233,5.927,5.617,5.324,5.053,4.805,4.579,4.372}; - physicsVector = CreatePhysicsVector(E,Pb_17,factor); - } - else if( ionZ == 18 ) { - G4double Pb_18[31]={1.554,1.713,1.998,2.252,2.485,2.7,2.901,3.089,3.265,3.99,4.522,4.934,5.266,5.771,6.132,6.394,6.586,6.726,6.827,6.901,7.035,6.999,6.897,6.762,6.454,6.136,5.831,5.547,5.285,5.044,4.824}; - physicsVector = CreatePhysicsVector(E,Pb_18,factor); - } -} - - else if( matName == namesMat[24] ) { - if( ionZ == 3 ) { - G4double U_3[31]={0.4158,0.4488,0.4987,0.5342,0.5603,0.5798,0.5944,0.6054,0.6139,0.6323,0.6313,0.623,0.6119,0.5877,0.564,0.5413,0.5196,0.4992,0.4801,0.4623,0.3915,0.3427,0.3074,0.2806,0.2419,0.2148,0.1943,0.1781,0.1649,0.1538,0.1443}; - physicsVector = CreatePhysicsVector(E,U_3,factor); - } - else if( ionZ == 4 ) { - G4double U_4[31]={0.5309,0.5804,0.6584,0.7166,0.7614,0.7965,0.8243,0.8465,0.8645,0.9152,0.9314,0.9324,0.9264,0.9057,0.8816,0.8569,0.8318,0.8068,0.7824,0.7591,0.6601,0.5867,0.5313,0.4878,0.4235,0.3773,0.3421,0.314,0.291,0.2716,0.2551}; - physicsVector = CreatePhysicsVector(E,U_4,factor); - } - else if( ionZ == 5 ) { - G4double U_5[31]={0.6283,0.6928,0.7987,0.8807,0.9455,0.9979,1.041,1.076,1.105,1.196,1.235,1.25,1.253,1.243,1.224,1.201,1.175,1.149,1.122,1.095,0.9736,0.8778,0.8024,0.7416,0.6491,0.581,0.5283,0.4859,0.4508,0.4212,0.3959}; - physicsVector = CreatePhysicsVector(E,U_5,factor); - } - else if( ionZ == 6 ) { - G4double U_6[31]={0.7126,0.79,0.9217,1.027,1.112,1.183,1.241,1.291,1.332,1.468,1.535,1.569,1.585,1.59,1.58,1.563,1.54,1.514,1.486,1.458,1.322,1.207,1.113,1.036,0.9142,0.8227,0.7506,0.692,0.6431,0.6017,0.566}; - physicsVector = CreatePhysicsVector(E,U_6,factor); - } - else if( ionZ == 7 ) { - G4double U_7[31]={0.786,0.8741,1.029,1.156,1.261,1.35,1.425,1.489,1.543,1.728,1.828,1.883,1.914,1.941,1.944,1.935,1.917,1.895,1.869,1.841,1.697,1.567,1.457,1.364,1.215,1.099,1.007,0.9307,0.8667,0.812,0.7647}; - physicsVector = CreatePhysicsVector(E,U_7,factor); - } - else if( ionZ == 8 ) { - G4double U_8[31]={0.8561,0.9532,1.127,1.275,1.4,1.506,1.597,1.676,1.744,1.982,2.116,2.196,2.245,2.296,2.314,2.316,2.306,2.289,2.267,2.241,2.094,1.953,1.829,1.722,1.546,1.407,1.294,1.2,1.12,1.051,0.9908}; - physicsVector = CreatePhysicsVector(E,U_8,factor); - } - else if( ionZ == 9 ) { - G4double U_9[31]={0.9213,1.026,1.217,1.383,1.526,1.649,1.756,1.849,1.932,2.223,2.394,2.501,2.57,2.648,2.684,2.698,2.698,2.688,2.67,2.648,2.504,2.355,2.22,2.101,1.902,1.74,1.607,1.495,1.398,1.315,1.242}; - physicsVector = CreatePhysicsVector(E,U_9,factor); - } - else if( ionZ == 10 ) { - G4double U_10[31]={0.9839,1.096,1.3,1.483,1.642,1.782,1.904,2.012,2.107,2.453,2.664,2.8,2.891,2.999,3.055,3.083,3.094,3.092,3.08,3.063,2.927,2.773,2.629,2.5,2.279,2.097,1.944,1.814,1.701,1.603,1.516}; - physicsVector = CreatePhysicsVector(E,U_10,factor); - } - else if( ionZ == 11 ) { - G4double U_11[31]={1.043,1.161,1.378,1.574,1.749,1.903,2.04,2.162,2.271,2.672,2.924,3.09,3.204,3.344,3.422,3.468,3.491,3.499,3.496,3.484,3.361,3.206,3.056,2.918,2.677,2.476,2.304,2.157,2.028,1.915,1.814}; - physicsVector = CreatePhysicsVector(E,U_11,factor); - } - else if( ionZ == 12 ) { - G4double U_12[31]={1.098,1.222,1.45,1.657,1.845,2.013,2.164,2.298,2.42,2.875,3.168,3.365,3.503,3.677,3.78,3.844,3.883,3.902,3.908,3.903,3.798,3.645,3.49,3.345,3.088,2.87,2.681,2.517,2.372,2.244,2.131}; - physicsVector = CreatePhysicsVector(E,U_12,factor); - } - else if( ionZ == 13 ) { - G4double U_13[31]={1.155,1.284,1.522,1.74,1.939,2.12,2.283,2.431,2.564,3.074,3.408,3.637,3.801,4.011,4.14,4.224,4.277,4.309,4.324,4.328,4.244,4.096,3.939,3.788,3.517,3.282,3.077,2.896,2.737,2.595,2.467}; - physicsVector = CreatePhysicsVector(E,U_13,factor); - } - else if( ionZ == 14 ) { - G4double U_14[31]={1.209,1.345,1.592,1.819,2.029,2.221,2.396,2.555,2.7,3.262,3.638,3.9,4.09,4.34,4.495,4.599,4.669,4.713,4.739,4.751,4.692,4.551,4.394,4.24,3.956,3.707,3.486,3.291,3.117,2.961,2.82}; - physicsVector = CreatePhysicsVector(E,U_14,factor); - } - else if( ionZ == 15 ) { - G4double U_15[31]={1.261,1.402,1.658,1.893,2.111,2.313,2.499,2.669,2.825,3.437,3.854,4.15,4.367,4.658,4.844,4.971,5.058,5.118,5.156,5.178,5.149,5.02,4.865,4.709,4.416,4.153,3.919,3.709,3.521,3.351,3.197}; - physicsVector = CreatePhysicsVector(E,U_15,factor); - } - else if( ionZ == 16 ) { - G4double U_16[31]={1.313,1.459,1.725,1.967,2.193,2.404,2.599,2.78,2.946,3.607,4.065,4.396,4.641,4.975,5.192,5.342,5.449,5.524,5.575,5.608,5.611,5.495,5.345,5.189,4.888,4.614,4.367,4.143,3.941,3.757,3.59}; - physicsVector = CreatePhysicsVector(E,U_16,factor); - } - else if( ionZ == 17 ) { - G4double U_17[31]={1.363,1.514,1.789,2.038,2.271,2.49,2.694,2.884,3.06,3.767,4.266,4.63,4.904,5.283,5.532,5.707,5.833,5.924,5.989,6.033,6.073,5.972,5.828,5.673,5.368,5.084,4.825,4.589,4.373,4.177,3.998}; - physicsVector = CreatePhysicsVector(E,U_17,factor); - } - else if( ionZ == 18 ) { - G4double U_18[31]={1.419,1.577,1.861,2.118,2.358,2.585,2.797,2.996,3.181,3.935,4.474,4.872,5.175,5.599,5.879,6.078,6.223,6.33,6.408,6.463,6.537,6.451,6.313,6.159,5.849,5.556,5.286,5.038,4.811,4.603,4.412}; - physicsVector = CreatePhysicsVector(E,U_18,factor); - } - } - - if(physicsVector != 0) { - dedxKeys.push_back( key ); - dedx.push_back( physicsVector ); - } - - return physicsVector; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4PhysicsVector* G4SimpleMaterialStoppingICRU73::GetPhysicsVector(G4int ionZ, - G4int matZ) -{ - G4PhysicsVector* physicsVector = 0; - - size_t nmbMat = atomicNumbersMat.size(); - - for( size_t i = 0; i < nmbMat; i++ ) { - - if( atomicNumbersMat[i] == matZ ) { - physicsVector = GetPhysicsVector(ionZ, namesMat[i]); - break; - } - } - - return physicsVector; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/parameterisations/CMakeLists.txt b/source/parameterisations/CMakeLists.txt new file mode 100644 index 0000000000..2376c381f8 --- /dev/null +++ b/source/parameterisations/CMakeLists.txt @@ -0,0 +1,24 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4parmodels +# Package: Geant4.src.G4parmodels +# +# Top level CMakeLists.txt for a Geant4 Global Library +# or collection of sublibraries +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:46:44 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(gflash) + +if(NOT GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GLOBAL_LIBRARY_TARGET(NAME G4parmodels + COMPONENTS + gflash/sources.cmake +) +endif() + diff --git a/source/parameterisations/gflash/CMakeLists.txt b/source/parameterisations/gflash/CMakeLists.txt new file mode 100644 index 0000000000..c6c2003b81 --- /dev/null +++ b/source/parameterisations/gflash/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4gflash +# Package: Geant4.src.G4parmodels.G4gflash +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:46:52 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/parameterisations/gflash/sources.cmake b/source/parameterisations/gflash/sources.cmake new file mode 100644 index 0000000000..e13fd3a25c --- /dev/null +++ b/source/parameterisations/gflash/sources.cmake @@ -0,0 +1,113 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4gflash +# Package: Geant4.src.G4parmodels.G4gflash +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:47:00 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/muons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/parameterisation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4gflash + HEADERS + G4GFlashSpot.hh + G4VGFlashSensitiveDetector.hh + GFlashEnergySpot.hh + GFlashHitMaker.hh + GFlashHomoShowerParameterisation.hh + GFlashParticleBounds.hh + GFlashSamplingShowerParameterisation.hh + GFlashSamplingShowerTuning.hh + GFlashShowerModel.hh + GFlashShowerModelMessenger.hh + GVFlashHomoShowerTuning.hh + GVFlashShowerParameterisation.hh + Gamma.hh + SOURCES + GFlashEnergySpot.cc + GFlashHitMaker.cc + GFlashHomoShowerParameterisation.cc + GFlashParticleBounds.cc + GFlashSamplingShowerParameterisation.cc + GFlashShowerModel.cc + GFlashShowerModelMessenger.cc + GVFlashShowerParameterisation.cc + Gamma.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4cuts + G4detector + G4emutils + G4geometrymng + G4globman + G4graphics_reps + G4hepnumerics + G4hits + G4intercoms + G4ions + G4leptons + G4materials + G4mesons + G4muons + G4navigation + G4parameterisation + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4particles + G4processes + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/particles/CMakeLists.txt b/source/particles/CMakeLists.txt new file mode 100644 index 0000000000..2335201354 --- /dev/null +++ b/source/particles/CMakeLists.txt @@ -0,0 +1,38 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4particles +# Package: Geant4.src.G4particles +# +# Top level CMakeLists.txt for a Geant4 Global Library +# or collection of sublibraries +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:47:08 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(adjoint) +add_subdirectory(bosons) +add_subdirectory(hadrons) +add_subdirectory(leptons) +add_subdirectory(management) +add_subdirectory(shortlived) +add_subdirectory(utils) + +if(NOT GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GLOBAL_LIBRARY_TARGET(NAME G4particles + COMPONENTS + adjoint/sources.cmake + bosons/sources.cmake + hadrons/barions/sources.cmake + hadrons/ions/sources.cmake + hadrons/mesons/sources.cmake + leptons/sources.cmake + management/sources.cmake + shortlived/sources.cmake + utils/sources.cmake +) +endif() + diff --git a/source/particles/History b/source/particles/History index 97e824a675..f39934f44f 100644 --- a/source/particles/History +++ b/source/particles/History @@ -1,4 +1,4 @@ -$Id: History,v 1.184 2009/11/20 14:01:31 kurasige Exp $ +$Id: History,v 1.202 2010/10/30 07:55:00 kurasige Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,71 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +- October 30 2010 Hisaya Kurashige (particles-V09-03-15) +- Fix bugs of uninitialized variables (reported by Coverity) + +- October 27 2010 Gabriele Cosmo (particles-V09-03-14) +- Restored DLL setup as originally. Withdrawn changes in last tag. + +- October 19 2010 Gabriele Cosmo (particles-V09-03-13) +- Replaced G4PARTICLES_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported + symbols. + +- October 16 2010 Hisaya Kurashige (particles-V09-03-12) +- Fix bugs in G4IonTable::IsIon + (anti nuclei were identified as normal ions and contained in the IonTable) + +- October 11 2010 Hisaya Kurashige (particles-V09-03-11) +- Modify reporttParticleTable +- Fix particle type for anti_alpha +- Modify G4ParticleDefiniton::Dump to print AtomicNumber/Mass +- Fix a bug in G4PDGCodeChecker for anti_nuclei + +- October 9 2010 Hisaya Kurashige (particles-V09-03-10) +- Remove anti_nuclei from shortlived +- Add anti_nuclei classes under hadrons/ions +- Fix G4IonTable::IsLightIon method (neutron,genericIon are not light ions) +- Add G4IonTable::IsLightAntiIon, G4IonTable::GetLightAntiIon + +- October 1 2010 Hisaya Kurashige (particles-V09-03-09) +- Update mass/width of muons, taus, mesons, and baryons biased on PDG2010 +- Fixed signature for std::pair in G4IonTable source code for compliance + to ISO/C++ Standard. (Sep. 3 by G.Cosmo) + +- August 12 2010 Hisaya Kurashige (particles-V09-03-08) +- Add G4DynamicParticle::GetParticleDefinition giving 'const' pointer + +- August 10 2010 Hisaya Kurashige (particles-V09-03-07) +- Clean up codes + (Use const pointer of G4ParticleDefinition as possible) + +- July 20 2010 Hisaya Kurashige (particles-V09-03-06) +- Fix a bug in G4ExcitedMesonConstructor::Add3PiMode + +- June 16 2010 Peter Gumplinger (particles-V09-03-05) +- G4MuonRadiativeDecayChannelWithSpin.cc: correct a sign error in + front of the som01 term; Pmu is -1 for mu+ and hence already + takes care of the sign in equ. (70) of TWIST Technote 55" + +- June 11 2010 Hisaya Kurashige (particles-V09-03-04) +- Add anti-nuclei as shortlived + +- May 20 2010 Hisaya Kurashige (particles-V09-03-03) +- Fix problems that error messages appear in cout not in cerr + +- May 13 2010 Hisaya Kurashige (particles-V09-03-02) +- Clean up codes of G4Dynamicparticle ctors (M.Kelsey) + +- Apr. 20 2010 Hisaya Kurashige (particles-V09-03-01) +- revert destructor of G4DynamicParticle to non-virtual + (It was changed to virtual by mistake in particles-V09-03-00) + +- Apr. 19 2010 Hisaya Kurashige (particles-V09-03-00) +- Allow creation of shortlived particles other than 'PreInit' state +- ElectronOccupancy in G4DynamicParticle is created on demand + (i.e. not created at the construction of G4DynamicParticle but + created when AddElectron/RemoveElectron are invoked) + - Nov 20 2009 Laurent Desorgher (particles-V09-02-17) - Add Geant4 disclaimer to G4AdjointProton and Adjoint-light ions diff --git a/source/particles/adjoint/CMakeLists.txt b/source/particles/adjoint/CMakeLists.txt new file mode 100644 index 0000000000..db1aed6d60 --- /dev/null +++ b/source/particles/adjoint/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4partadj +# Package: Geant4.src.G4particles.G4partadj +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:47:16 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/particles/adjoint/GNUmakefile b/source/particles/adjoint/GNUmakefile index 82c8811998..67782f192b 100644 --- a/source/particles/adjoint/GNUmakefile +++ b/source/particles/adjoint/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2008/11/06 13:17:36 kurasige Exp $ +# $Id: GNUmakefile,v 1.3 2010/10/27 07:47:04 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for adjoint library. Hisaya Kurashige, 06/11/08. # -------------------------------------------------------------- diff --git a/source/particles/adjoint/History b/source/particles/adjoint/History index 9c561c96ae..43a967cb64 100644 --- a/source/particles/adjoint/History +++ b/source/particles/adjoint/History @@ -1,4 +1,4 @@ -$Id: History,v 1.1 2009/11/20 13:56:39 ldesorgh Exp $ +$Id: History,v 1.2 2009/11/20 14:04:10 ldesorgh Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,7 +17,7 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -- Nov 20 2009 Laurent Desorgher (paradjoint-V09-02-00) +- Nov 20 2009 Laurent Desorgher (partadjoint-V09-02-00) - Add Geant4 disclaimer to G4AdjointProton and Adjoint-light ions Creation of History file for particles/adjoint. diff --git a/source/particles/adjoint/sources.cmake b/source/particles/adjoint/sources.cmake new file mode 100644 index 0000000000..6cc51472e6 --- /dev/null +++ b/source/particles/adjoint/sources.cmake @@ -0,0 +1,66 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4partadj +# Package: Geant4.src.G4particles.G4partadj +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:47:24 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4partadj + HEADERS + G4AdjointAlpha.hh + G4AdjointDeuteron.hh + G4AdjointElectron.hh + G4AdjointGamma.hh + G4AdjointGenericIon.hh + G4AdjointHe3.hh + G4AdjointIons.hh + G4AdjointPositron.hh + G4AdjointProton.hh + G4AdjointTriton.hh + SOURCES + G4AdjointAlpha.cc + G4AdjointDeuteron.cc + G4AdjointElectron.cc + G4AdjointGamma.cc + G4AdjointGenericIon.cc + G4AdjointHe3.cc + G4AdjointIons.cc + G4AdjointPositron.cc + G4AdjointProton.cc + G4AdjointTriton.cc + GRANULAR_DEPENDENCIES + G4globman + G4materials + G4partman + GLOBAL_DEPENDENCIES + G4global + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/particles/bosons/CMakeLists.txt b/source/particles/bosons/CMakeLists.txt new file mode 100644 index 0000000000..0907c70a1f --- /dev/null +++ b/source/particles/bosons/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4bosons +# Package: Geant4.src.G4particles.G4bosons +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:47:32 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/particles/bosons/GNUmakefile b/source/particles/bosons/GNUmakefile index f9cdbd8bba..eac1261a56 100644 --- a/source/particles/bosons/GNUmakefile +++ b/source/particles/bosons/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2004/06/11 14:25:22 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2010/10/27 07:47:04 gcosmo Exp $ # ---------------------------------------------------------- # GNUmakefile for bosons library. Gabriele Cosmo, 18/9/96. # ---------------------------------------------------------- diff --git a/source/particles/bosons/sources.cmake b/source/particles/bosons/sources.cmake new file mode 100644 index 0000000000..7da2bfa7ad --- /dev/null +++ b/source/particles/bosons/sources.cmake @@ -0,0 +1,58 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4bosons +# Package: Geant4.src.G4particles.G4bosons +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:47:40 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4bosons + HEADERS + G4BosonConstructor.hh + G4ChargedGeantino.hh + G4Gamma.hh + G4Geantino.hh + G4OpticalPhoton.hh + G4UnknownParticle.hh + SOURCES + G4BosonConstructor.cc + G4ChargedGeantino.cc + G4Gamma.cc + G4Geantino.cc + G4OpticalPhoton.cc + G4UnknownParticle.cc + GRANULAR_DEPENDENCIES + G4globman + G4materials + G4partman + GLOBAL_DEPENDENCIES + G4global + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/particles/hadrons/CMakeLists.txt b/source/particles/hadrons/CMakeLists.txt new file mode 100644 index 0000000000..f548ba9bf5 --- /dev/null +++ b/source/particles/hadrons/CMakeLists.txt @@ -0,0 +1,17 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : +# Package: Geant4.src.G4particles. +# +# Intermediate level CMakeLists.txt - just process subdirectories +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:47:48 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(barions) +add_subdirectory(ions) +add_subdirectory(mesons) + diff --git a/source/particles/hadrons/barions/CMakeLists.txt b/source/particles/hadrons/barions/CMakeLists.txt new file mode 100644 index 0000000000..0fe2cbc1a5 --- /dev/null +++ b/source/particles/hadrons/barions/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4baryons +# Package: Geant4.src.G4particles..G4baryons +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:47:56 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/particles/hadrons/barions/GNUmakefile b/source/particles/hadrons/barions/GNUmakefile index ba4ab00924..4237b7d49e 100644 --- a/source/particles/hadrons/barions/GNUmakefile +++ b/source/particles/hadrons/barions/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2004/06/11 14:25:22 gcosmo Exp $ +# $Id: GNUmakefile,v 1.5 2010/10/27 07:47:04 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for barions library. Gabriele Cosmo, 18/9/96. # -------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/sources.cmake b/source/particles/hadrons/barions/sources.cmake new file mode 100644 index 0000000000..77c6279463 --- /dev/null +++ b/source/particles/hadrons/barions/sources.cmake @@ -0,0 +1,112 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4baryons +# Package: Geant4.src.G4particles..G4baryons +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:48:04 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4baryons + HEADERS + G4AntiLambda.hh + G4AntiLambdacPlus.hh + G4AntiNeutron.hh + G4AntiOmegaMinus.hh + G4AntiOmegacZero.hh + G4AntiProton.hh + G4AntiSigmaMinus.hh + G4AntiSigmaPlus.hh + G4AntiSigmaZero.hh + G4AntiSigmacPlus.hh + G4AntiSigmacPlusPlus.hh + G4AntiSigmacZero.hh + G4AntiXiMinus.hh + G4AntiXiZero.hh + G4AntiXicPlus.hh + G4AntiXicZero.hh + G4BaryonConstructor.hh + G4Lambda.hh + G4LambdacPlus.hh + G4Neutron.hh + G4OmegaMinus.hh + G4OmegacZero.hh + G4Proton.hh + G4SigmaMinus.hh + G4SigmaPlus.hh + G4SigmaZero.hh + G4SigmacPlus.hh + G4SigmacPlusPlus.hh + G4SigmacZero.hh + G4XiMinus.hh + G4XiZero.hh + G4XicPlus.hh + G4XicZero.hh + SOURCES + G4AntiLambda.cc + G4AntiLambdacPlus.cc + G4AntiNeutron.cc + G4AntiOmegaMinus.cc + G4AntiOmegacZero.cc + G4AntiProton.cc + G4AntiSigmaMinus.cc + G4AntiSigmaPlus.cc + G4AntiSigmaZero.cc + G4AntiSigmacPlus.cc + G4AntiSigmacPlusPlus.cc + G4AntiSigmacZero.cc + G4AntiXiMinus.cc + G4AntiXiZero.cc + G4AntiXicPlus.cc + G4AntiXicZero.cc + G4BaryonConstructor.cc + G4Lambda.cc + G4LambdacPlus.cc + G4Neutron.cc + G4OmegaMinus.cc + G4OmegacZero.cc + G4Proton.cc + G4SigmaMinus.cc + G4SigmaPlus.cc + G4SigmaZero.cc + G4SigmacPlus.cc + G4SigmacPlusPlus.cc + G4SigmacZero.cc + G4XiMinus.cc + G4XiZero.cc + G4XicPlus.cc + G4XicZero.cc + GRANULAR_DEPENDENCIES + G4globman + G4materials + G4partman + GLOBAL_DEPENDENCIES + G4global + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/particles/hadrons/barions/src/G4AntiLambda.cc b/source/particles/hadrons/barions/src/G4AntiLambda.cc index 77a0bdfae0..5a8b21f193 100644 --- a/source/particles/hadrons/barions/src/G4AntiLambda.cc +++ b/source/particles/hadrons/barions/src/G4AntiLambda.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiLambda.cc,v 1.19 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AntiLambda.cc,v 1.20 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4AntiLambda* G4AntiLambda::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.115683*GeV, 2.518e-12*MeV, 0.0, + name, 1.115683*GeV, 2.501e-12*MeV, 0.0, 1, +1, 0, 0, 0, 0, "baryon", 0, -1, -3122, diff --git a/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc b/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc index dbaf9fb169..b973da9370 100644 --- a/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiLambdacPlus.cc,v 1.16 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AntiLambdacPlus.cc,v 1.17 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4AntiLambdacPlus* G4AntiLambdacPlus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 2.28646*GeV, 3.32e-9*MeV, -1.*eplus, + name, 2.28646*GeV, 3.30e-9*MeV, -1.*eplus, 1, +1, 0, 0, 0, 0, "baryon", 0, +1, -4122, diff --git a/source/particles/hadrons/barions/src/G4AntiNeutron.cc b/source/particles/hadrons/barions/src/G4AntiNeutron.cc index da553b95fa..23f9cc297b 100644 --- a/source/particles/hadrons/barions/src/G4AntiNeutron.cc +++ b/source/particles/hadrons/barions/src/G4AntiNeutron.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiNeutron.cc,v 1.23 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AntiNeutron.cc,v 1.24 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -68,7 +68,7 @@ G4AntiNeutron* G4AntiNeutron::Definition() // static const double neutron_mass_c2 = 939.56563 * MeV; anInstance = new G4ParticleDefinition( - name, neutron_mass_c2, 7.480e-28*GeV, 0.0, + name, neutron_mass_c2, 7.432e-28*GeV, 0.0, 1, +1, 0, 1, +1, 0, "baryon", 0, -1, -2112, diff --git a/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc b/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc index e0ad5796be..a775104bdf 100644 --- a/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiOmegacZero.cc,v 1.19 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AntiOmegacZero.cc,v 1.20 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4AntiOmegacZero* G4AntiOmegacZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 2.6975*GeV, 9.6e-9*MeV, 0.*eplus, + name, 2.6952*GeV, 9.6e-9*MeV, 0.*eplus, 1, +1, 0, 0, 0, 0, "baryon", 0, -1, -4332, diff --git a/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc b/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc index b6a08581ff..46378c6334 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiSigmaMinus.cc,v 1.15 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AntiSigmaMinus.cc,v 1.16 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4AntiSigmaMinus* G4AntiSigmaMinus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.197449*GeV, 4.48e-12*MeV, eplus, + name, 1.197449*GeV, 4.45e-12*MeV, eplus, 1, +1, 0, 2, +2, 0, "baryon", 0, -1, -3112, diff --git a/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc b/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc index 2ec14c8895..4bb28ec3fb 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiSigmaPlus.cc,v 1.15 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AntiSigmaPlus.cc,v 1.16 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4AntiSigmaPlus* G4AntiSigmaPlus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.18937*GeV, 8.264e-12*MeV, -1.*eplus, + name, 1.18937*GeV, 8.209e-12*MeV, -1.*eplus, 1, +1, 0, 2, -2, 0, "baryon", 0, -1, -3222, diff --git a/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc b/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc index e6fcc8e4a9..fcd51746e5 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiSigmaZero.cc,v 1.19 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AntiSigmaZero.cc,v 1.20 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4AntiSigmaZero* G4AntiSigmaZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.192642*GeV, 9.0e-3*MeV, 0.0, + name, 1.192642*GeV, 8.9e-3*MeV, 0.0, 1, +1, 0, 2, 0, 0, "baryon", 0, -1, -3212, diff --git a/source/particles/hadrons/barions/src/G4AntiXiMinus.cc b/source/particles/hadrons/barions/src/G4AntiXiMinus.cc index df3f0ca5b5..88777a6c76 100644 --- a/source/particles/hadrons/barions/src/G4AntiXiMinus.cc +++ b/source/particles/hadrons/barions/src/G4AntiXiMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiXiMinus.cc,v 1.14 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AntiXiMinus.cc,v 1.15 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4AntiXiMinus* G4AntiXiMinus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.32171*GeV, 4.04e-12*MeV, eplus, + name, 1.32171*GeV, 4.02e-12*MeV, eplus, 1, +1, 0, 1, +1, 0, "baryon", 0, -1, -3312, diff --git a/source/particles/hadrons/barions/src/G4AntiXiZero.cc b/source/particles/hadrons/barions/src/G4AntiXiZero.cc index 259b572181..ea0c05d832 100644 --- a/source/particles/hadrons/barions/src/G4AntiXiZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiXiZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiXiZero.cc,v 1.21 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AntiXiZero.cc,v 1.22 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4AntiXiZero* G4AntiXiZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.31486*GeV, 2.28e-12*MeV, 0.0, + name, 1.31486*GeV, 2.27e-12*MeV, 0.0, 1, +1, 0, 1, -1, 0, "baryon", 0, -1, -3322, diff --git a/source/particles/hadrons/barions/src/G4AntiXicPlus.cc b/source/particles/hadrons/barions/src/G4AntiXicPlus.cc index ac92330c24..14580a95e8 100644 --- a/source/particles/hadrons/barions/src/G4AntiXicPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiXicPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiXicPlus.cc,v 1.15 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AntiXicPlus.cc,v 1.16 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4AntiXicPlus* G4AntiXicPlus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 2.4679*GeV, 1.50e-9*MeV, -1.*eplus, + name, 2.4678*GeV, 1.49e-9*MeV, -1.*eplus, 1, +1, 0, 1, -1, 0, "baryon", 0, -1, -4232, diff --git a/source/particles/hadrons/barions/src/G4AntiXicZero.cc b/source/particles/hadrons/barions/src/G4AntiXicZero.cc index ec6444614b..a632bf6a98 100644 --- a/source/particles/hadrons/barions/src/G4AntiXicZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiXicZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiXicZero.cc,v 1.20 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AntiXicZero.cc,v 1.21 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4AntiXicZero* G4AntiXicZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 2.4710*GeV, 5.9e-9*MeV, 0.0, + name, 2.47088*GeV, 5.9e-9*MeV, 0.0, 1, +1, 0, 1, +1, 0, "baryon", 0, -1, -4132, diff --git a/source/particles/hadrons/barions/src/G4Lambda.cc b/source/particles/hadrons/barions/src/G4Lambda.cc index 511cb02889..875c0184d2 100644 --- a/source/particles/hadrons/barions/src/G4Lambda.cc +++ b/source/particles/hadrons/barions/src/G4Lambda.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Lambda.cc,v 1.19 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Lambda.cc,v 1.20 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4Lambda* G4Lambda::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.115683*GeV, 2.518e-12*MeV, 0.0, + name, 1.115683*GeV, 2.501e-12*MeV, 0.0, 1, +1, 0, 0, 0, 0, "baryon", 0, +1, 3122, diff --git a/source/particles/hadrons/barions/src/G4LambdacPlus.cc b/source/particles/hadrons/barions/src/G4LambdacPlus.cc index c6e2d3ef51..7c3d96d083 100644 --- a/source/particles/hadrons/barions/src/G4LambdacPlus.cc +++ b/source/particles/hadrons/barions/src/G4LambdacPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LambdacPlus.cc,v 1.16 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LambdacPlus.cc,v 1.17 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4LambdacPlus* G4LambdacPlus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 2.28646*GeV, 3.32e-9*MeV, +1.*eplus, + name, 2.28646*GeV, 3.30e-9*MeV, +1.*eplus, 1, +1, 0, 0, 0, 0, "baryon", 0, +1, 4122, diff --git a/source/particles/hadrons/barions/src/G4Neutron.cc b/source/particles/hadrons/barions/src/G4Neutron.cc index 0c7afb87a2..1ea6e15f79 100644 --- a/source/particles/hadrons/barions/src/G4Neutron.cc +++ b/source/particles/hadrons/barions/src/G4Neutron.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Neutron.cc,v 1.23 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Neutron.cc,v 1.24 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -72,7 +72,7 @@ G4Neutron* G4Neutron::Definition() // static const double neutron_mass_c2 = 939.56563 * MeV; anInstance = new G4Ions( - name, neutron_mass_c2, 7.480e-28*GeV, 0.0, + name, neutron_mass_c2, 7.432e-28*GeV, 0.0, 1, +1, 0, 1, -1, 0, "baryon", 0, +1, 2112, diff --git a/source/particles/hadrons/barions/src/G4OmegacZero.cc b/source/particles/hadrons/barions/src/G4OmegacZero.cc index 47014af401..af40d56975 100644 --- a/source/particles/hadrons/barions/src/G4OmegacZero.cc +++ b/source/particles/hadrons/barions/src/G4OmegacZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OmegacZero.cc,v 1.19 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4OmegacZero.cc,v 1.20 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4OmegacZero* G4OmegacZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 2.6975*GeV, 9.6e-9*MeV, 0.*eplus, + name, 2.6952*GeV, 9.6e-9*MeV, 0.*eplus, 1, +1, 0, 0, 0, 0, "baryon", 0, +1, 4332, diff --git a/source/particles/hadrons/barions/src/G4SigmaMinus.cc b/source/particles/hadrons/barions/src/G4SigmaMinus.cc index 1d39018bb4..ba67e4f21d 100644 --- a/source/particles/hadrons/barions/src/G4SigmaMinus.cc +++ b/source/particles/hadrons/barions/src/G4SigmaMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SigmaMinus.cc,v 1.14 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SigmaMinus.cc,v 1.15 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4SigmaMinus* G4SigmaMinus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.197449*GeV, 4.48e-12*MeV, -1*eplus, + name, 1.197449*GeV, 4.45e-12*MeV, -1*eplus, 1, +1, 0, 2, -2, 0, "baryon", 0, +1, 3112, diff --git a/source/particles/hadrons/barions/src/G4SigmaPlus.cc b/source/particles/hadrons/barions/src/G4SigmaPlus.cc index 15c1d59e56..5c41a60e4d 100644 --- a/source/particles/hadrons/barions/src/G4SigmaPlus.cc +++ b/source/particles/hadrons/barions/src/G4SigmaPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SigmaPlus.cc,v 1.15 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SigmaPlus.cc,v 1.16 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4SigmaPlus* G4SigmaPlus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.18937*GeV, 8.264e-12*MeV, eplus, + name, 1.18937*GeV, 8.209e-12*MeV, eplus, 1, +1, 0, 2, +2, 0, "baryon", 0, +1, 3222, diff --git a/source/particles/hadrons/barions/src/G4SigmaZero.cc b/source/particles/hadrons/barions/src/G4SigmaZero.cc index ceb9bc91ef..5f5f0b14d6 100644 --- a/source/particles/hadrons/barions/src/G4SigmaZero.cc +++ b/source/particles/hadrons/barions/src/G4SigmaZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SigmaZero.cc,v 1.19 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SigmaZero.cc,v 1.20 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4SigmaZero* G4SigmaZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.192642*GeV, 9.0e-3*MeV, 0.0, + name, 1.192642*GeV, 8.9e-3*MeV, 0.0, 1, +1, 0, 2, 0, 0, "baryon", 0, +1, 3212, diff --git a/source/particles/hadrons/barions/src/G4XiMinus.cc b/source/particles/hadrons/barions/src/G4XiMinus.cc index ccb9c573fc..3e8d0eba20 100644 --- a/source/particles/hadrons/barions/src/G4XiMinus.cc +++ b/source/particles/hadrons/barions/src/G4XiMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4XiMinus.cc,v 1.14 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4XiMinus.cc,v 1.15 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4XiMinus* G4XiMinus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.32171*GeV, 4.04e-12*MeV, -1*eplus, + name, 1.32171*GeV, 4.02e-12*MeV, -1*eplus, 1, +1, 0, 1, -1, 0, "baryon", 0, +1, 3312, diff --git a/source/particles/hadrons/barions/src/G4XiZero.cc b/source/particles/hadrons/barions/src/G4XiZero.cc index abc930d6f9..6e8342d395 100644 --- a/source/particles/hadrons/barions/src/G4XiZero.cc +++ b/source/particles/hadrons/barions/src/G4XiZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4XiZero.cc,v 1.20 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4XiZero.cc,v 1.21 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4XiZero* G4XiZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.31486*GeV, 2.28e-12*MeV, 0.0, + name, 1.31486*GeV, 2.27e-12*MeV, 0.0, 1, +1, 0, 1, +1, 0, "baryon", 0, +1, 3322, diff --git a/source/particles/hadrons/barions/src/G4XicPlus.cc b/source/particles/hadrons/barions/src/G4XicPlus.cc index 7d35ba5075..5c50e2cd75 100644 --- a/source/particles/hadrons/barions/src/G4XicPlus.cc +++ b/source/particles/hadrons/barions/src/G4XicPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4XicPlus.cc,v 1.15 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4XicPlus.cc,v 1.16 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4XicPlus* G4XicPlus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 2.4679*GeV, 1.50e-9*MeV, +1.*eplus, + name, 2.4678*GeV, 1.49e-9*MeV, +1.*eplus, 1, +1, 0, 1, +1, 0, "baryon", 0, +1, 4232, diff --git a/source/particles/hadrons/barions/src/G4XicZero.cc b/source/particles/hadrons/barions/src/G4XicZero.cc index 937137a521..87d640da38 100644 --- a/source/particles/hadrons/barions/src/G4XicZero.cc +++ b/source/particles/hadrons/barions/src/G4XicZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4XicZero.cc,v 1.19 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4XicZero.cc,v 1.20 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4XicZero* G4XicZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 2.4710*GeV, 5.9e-9*MeV, 0.0, + name, 2.47088*GeV, 5.9e-9*MeV, 0.0, 1, +1, 0, 1, -1, 0, "baryon", 0, +1, 4132, diff --git a/source/particles/hadrons/ions/CMakeLists.txt b/source/particles/hadrons/ions/CMakeLists.txt new file mode 100644 index 0000000000..63f95a520a --- /dev/null +++ b/source/particles/hadrons/ions/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4ions +# Package: Geant4.src.G4particles..G4ions +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:48:12 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/particles/hadrons/ions/GNUmakefile b/source/particles/hadrons/ions/GNUmakefile index a65ad7e824..ea8dc36e68 100644 --- a/source/particles/hadrons/ions/GNUmakefile +++ b/source/particles/hadrons/ions/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2004/06/11 14:25:23 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2010/10/27 07:47:04 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for ions library. Gabriele Cosmo, 18/9/96. # -------------------------------------------------------------- diff --git a/source/particles/hadrons/ions/include/G4AntiAlpha.hh b/source/particles/hadrons/ions/include/G4AntiAlpha.hh new file mode 100644 index 0000000000..1dd121bd58 --- /dev/null +++ b/source/particles/hadrons/ions/include/G4AntiAlpha.hh @@ -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. * +// ******************************************************************** +// +// +// $Id: G4AntiAlpha.hh,v 1.1 2010/10/09 10:36:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// History: first implementation, based on object model of +// 4-th April 1996, G.Cosmo +// **************************************************************** +// New implementation as a utility class M.Asai, 26 July 2004 +// ---------------------------------------------------------------- + +#ifndef G4AntiAlpha_h +#define G4AntiAlpha_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "G4ParticleDefinition.hh" +#include "G4Ions.hh" + +// ###################################################################### +// ### ANTI ALPHA ### +// ###################################################################### + +class G4AntiAlpha : public G4Ions +{ + private: + static G4AntiAlpha* theInstance; + G4AntiAlpha(){} + ~G4AntiAlpha(){} + + public: + static G4AntiAlpha* Definition(); + static G4AntiAlpha* AntiAlphaDefinition(); + static G4AntiAlpha* AntiAlpha(); +}; + +#endif diff --git a/examples/extended/parallel/ExDiane/include/BrachyFactoryI.hh b/source/particles/hadrons/ions/include/G4AntiDeuteron.hh similarity index 61% rename from examples/extended/parallel/ExDiane/include/BrachyFactoryI.hh rename to source/particles/hadrons/ions/include/G4AntiDeuteron.hh index 48ea3f3257..f4bb35788e 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyFactoryI.hh +++ b/source/particles/hadrons/ions/include/G4AntiDeuteron.hh @@ -23,51 +23,44 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// ******************************* -// * * -// * BrachyFactoryI.cc * -// * * -// ******************************* // -// -// Code developed by: -// S.Guatelli +// $Id: G4AntiDeuteron.hh,v 1.1 2010/10/09 10:36:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -// $Id: BrachyFactoryI.hh,v 1.2 2006/06/29 17:32:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// ------------------------------------------------------------ +// GEANT 4 class header file // -// -// -------------------------------------------------------------- -#ifndef BrachyFactoryI_h -#define BrachyFactoryI_h 1 +// History: first implementation, based on object model of +// 4-th April 1996, G.Cosmo +// **************************************************************** +// New implementation as a utility class M.Asai, 26 July 2004 +// ---------------------------------------------------------------- -#include "G4VUserPrimaryGeneratorAction.hh" -#include "BrachyDetectorConstructionI.hh" -#include "BrachyFactory.hh" -#include "G4RunManager.hh" +#ifndef G4AntiDeuteron_h +#define G4AntiDeuteron_h 1 -class G4ParticleGun; -class G4Run; -class G4Event; -class BrachyAnalysisManager; -class BrachyFactory; -class BrachyPrimaryGeneratorActionI; -class BrachyDetectorConstructionI; +#include "globals.hh" +#include "G4ios.hh" +#include "G4ParticleDefinition.hh" +#include "G4Ions.hh" -// This class manages the creation of Bebig Isoseed I-125 source -// used in interstitial brachytherapy ... -class BrachyFactoryI:public BrachyFactory +// ###################################################################### +// ### AntiDEUTERON ### +// ###################################################################### + +class G4AntiDeuteron : public G4Ions { -public: - BrachyFactoryI(); - ~BrachyFactoryI(); + private: + static G4AntiDeuteron* theInstance; + G4AntiDeuteron(){} + ~G4AntiDeuteron(){} - G4VUserPrimaryGeneratorAction* CreatePrimaryGeneratorAction(); - void CreateSource(G4VPhysicalVolume*); - void CleanSource(); - -private: - BrachyDetectorConstructionI* iodiumSource; + public: + static G4AntiDeuteron* Definition(); + static G4AntiDeuteron* AntiDeuteronDefinition(); + static G4AntiDeuteron* AntiDeuteron(); }; + #endif + diff --git a/source/particles/hadrons/ions/include/G4AntiHe3.hh b/source/particles/hadrons/ions/include/G4AntiHe3.hh new file mode 100644 index 0000000000..bcbef57e9f --- /dev/null +++ b/source/particles/hadrons/ions/include/G4AntiHe3.hh @@ -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. * +// ******************************************************************** +// +// +// $Id: G4AntiHe3.hh,v 1.1 2010/10/09 10:36:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// History: first implementation, based on object model of +// 24-th April 1998,H.Kurashige +// **************************************************************** +// New implementation as a utility class M.Asai, 26 July 2004 +// ---------------------------------------------------------------- + +#ifndef G4AntiHe3_h +#define G4AntiHe3_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "G4ParticleDefinition.hh" +#include "G4Ions.hh" + +// ###################################################################### +// ### ANTI He3 ### +// ###################################################################### + +class G4AntiHe3 : public G4Ions +{ + private: + static G4AntiHe3* theInstance; + G4AntiHe3(){} + ~G4AntiHe3(){} + + public: + static G4AntiHe3* Definition(); + static G4AntiHe3* AntiHe3Definition(); + static G4AntiHe3* AntiHe3(); +}; + +#endif diff --git a/source/particles/hadrons/ions/include/G4AntiTriton.hh b/source/particles/hadrons/ions/include/G4AntiTriton.hh new file mode 100644 index 0000000000..ad4e5b53db --- /dev/null +++ b/source/particles/hadrons/ions/include/G4AntiTriton.hh @@ -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. * +// ******************************************************************** +// +// +// $Id: G4AntiTriton.hh,v 1.1 2010/10/09 10:36:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// History: first implementation, based on object model of +// 4-th April 1996, G.Cosmo +// **************************************************************** +// New implementation as a utility class M.Asai, 26 July 2004 +// ---------------------------------------------------------------- + +#ifndef G4AntiTriton_h +#define G4AntiTriton_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "G4ParticleDefinition.hh" +#include "G4Ions.hh" + +// ###################################################################### +// ### ANTI TRITON ### +// ###################################################################### + +class G4AntiTriton : public G4Ions +{ + private: + static G4AntiTriton* theInstance; + G4AntiTriton(){} + ~G4AntiTriton(){} + + public: + static G4AntiTriton* Definition(); + static G4AntiTriton* AntiTritonDefinition(); + static G4AntiTriton* AntiTriton(); +}; + +#endif diff --git a/source/particles/hadrons/ions/sources.cmake b/source/particles/hadrons/ions/sources.cmake new file mode 100644 index 0000000000..82eadf5c7e --- /dev/null +++ b/source/particles/hadrons/ions/sources.cmake @@ -0,0 +1,66 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4ions +# Package: Geant4.src.G4particles..G4ions +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/10/19 12:44:06 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4ions + HEADERS + G4Alpha.hh + G4AntiAlpha.hh + G4AntiDeuteron.hh + G4AntiHe3.hh + G4AntiTriton.hh + G4Deuteron.hh + G4GenericIon.hh + G4He3.hh + G4IonConstructor.hh + G4Triton.hh + SOURCES + G4Alpha.cc + G4AntiAlpha.cc + G4AntiDeuteron.cc + G4AntiHe3.cc + G4AntiTriton.cc + G4Deuteron.cc + G4GenericIon.cc + G4He3.cc + G4IonConstructor.cc + G4Triton.cc + GRANULAR_DEPENDENCIES + G4globman + G4materials + G4partman + GLOBAL_DEPENDENCIES + G4global + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/particles/hadrons/ions/src/G4Alpha.cc b/source/particles/hadrons/ions/src/G4Alpha.cc index 4d635df9f4..2434b683bc 100644 --- a/source/particles/hadrons/ions/src/G4Alpha.cc +++ b/source/particles/hadrons/ions/src/G4Alpha.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Alpha.cc,v 1.15 2009/02/26 23:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Alpha.cc,v 1.16 2010/10/11 03:33:56 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -71,15 +71,12 @@ G4Alpha* G4Alpha::Definition() 0, 0, 0, "nucleus", 0, +4, 1000020040, true, -1.0, NULL, - false, "static", 0, + false, "static", -1000020040, 0.0 ); } - //No Anti particle registered - anInstance->SetAntiPDGEncoding(0); - theInstance = reinterpret_cast(anInstance); return theInstance; } diff --git a/source/particles/hadrons/ions/src/G4AntiAlpha.cc b/source/particles/hadrons/ions/src/G4AntiAlpha.cc new file mode 100644 index 0000000000..c0191d30f9 --- /dev/null +++ b/source/particles/hadrons/ions/src/G4AntiAlpha.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: G4AntiAlpha.cc,v 1.2 2010/10/11 03:33:56 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// ---------------------------------------------------------------------- +// GEANT 4 class implementation file +// +// History: first implementation, based on object model of +// 4th April 1996, G.Cosmo +// ********************************************************************** +// New impelemenataion as an utility class M.Asai, 26 July 2004 +// ---------------------------------------------------------------------- + +#include "G4AntiAlpha.hh" +#include "G4ParticleTable.hh" + +// ###################################################################### +// ### ANTI ALPHA ### +// ###################################################################### + +G4AntiAlpha* G4AntiAlpha::theInstance = 0; + +G4AntiAlpha* G4AntiAlpha::Definition() +{ + if (theInstance !=0) return theInstance; + const G4String name = "anti_alpha"; + // search in particle table] + G4ParticleTable* pTable = G4ParticleTable::GetParticleTable(); + G4Ions* anInstance = reinterpret_cast(pTable->FindParticle(name)); + if (anInstance ==0) + { + // create particle + // + // Arguments for constructor are as follows + // name mass width charge + // 2*spin parity C-conjugation + // 2*Isospin 2*Isospin3 G-parity + // type lepton number baryon number PDG encoding + // stable lifetime decay table + // shortlived subType anti_encoding + // excitation + anInstance = new G4Ions( + name, 3.727379*GeV, 0.0*MeV, -2.0*eplus, + 0, +1, 0, + 0, 0, 0, + "anti_nucleus", 0, -4, -1000020040, + true, -1.0, NULL, + false, "static", 1000020040, + 0.0 + ); + + } + + theInstance = reinterpret_cast(anInstance); + return theInstance; +} + +G4AntiAlpha* G4AntiAlpha::AntiAlphaDefinition() +{ + return Definition(); +} + +G4AntiAlpha* G4AntiAlpha::AntiAlpha() +{ + return Definition(); +} + + diff --git a/source/particles/hadrons/ions/src/G4AntiDeuteron.cc b/source/particles/hadrons/ions/src/G4AntiDeuteron.cc new file mode 100644 index 0000000000..2400c07adc --- /dev/null +++ b/source/particles/hadrons/ions/src/G4AntiDeuteron.cc @@ -0,0 +1,97 @@ +// +// ******************************************************************** +// * 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: G4AntiDeuteron.cc,v 1.1 2010/10/09 10:36:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// ---------------------------------------------------------------------- +// GEANT 4 class implementation file +// +// History: first implementation, based on object model of +// 4th April 1996, G.Cosmo +// ********************************************************************** +// New impelemenataion as an utility class M.Asai, 26 July 2004 +// ---------------------------------------------------------------------- + +#include "G4AntiDeuteron.hh" +#include "G4ParticleTable.hh" + +// ###################################################################### +// ### ANTI DEUTERON ### +// ###################################################################### + +G4AntiDeuteron* G4AntiDeuteron::theInstance = 0; + +G4AntiDeuteron* G4AntiDeuteron::Definition() +{ + if (theInstance !=0) return theInstance; + const G4String name = "anti_deuteron"; + // search in particle table] + G4ParticleTable* pTable = G4ParticleTable::GetParticleTable(); + G4Ions* anInstance = reinterpret_cast(pTable->FindParticle(name)); + if (anInstance ==0) + { + // create particle + // + // Arguments for constructor are as follows + // name mass width charge + // 2*spin parity C-conjugation + // 2*Isospin 2*Isospin3 G-parity + // type lepton number baryon number PDG encoding + // stable lifetime decay table + // shortlived subType anti_encoding + // excitation + anInstance = new G4Ions( + name, 1.875613*GeV, 0.0*MeV, -1.0*eplus, + 2, +1, 0, + 0, 0, 0, + "anti_nucleus", 0, -2, -1000010020, + true, -1.0, NULL, + false, "static", 1000010020, + 0.0 + ); + + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -0.857438230 * mN); + + } + + theInstance = reinterpret_cast(anInstance); + return theInstance; +} + +G4AntiDeuteron* G4AntiDeuteron::AntiDeuteronDefinition() +{ + return Definition(); +} + +G4AntiDeuteron* G4AntiDeuteron::AntiDeuteron() +{ + return Definition(); +} + diff --git a/source/particles/hadrons/ions/src/G4AntiHe3.cc b/source/particles/hadrons/ions/src/G4AntiHe3.cc new file mode 100644 index 0000000000..4bbe8170cf --- /dev/null +++ b/source/particles/hadrons/ions/src/G4AntiHe3.cc @@ -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. * +// ******************************************************************** +// +// +// $Id: G4AntiHe3.cc,v 1.1 2010/10/09 10:36:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// ---------------------------------------------------------------------- +// GEANT 4 class implementation file +// +// History: first implementation, based on object model of +// 24th April 1998, H.Kurashige +// ********************************************************************** +// New impelemenataion as an utility class M.Asai, 26 July 2004 +// ---------------------------------------------------------------------- + +#include "G4AntiHe3.hh" +#include "G4ParticleTable.hh" + +// ###################################################################### +// ### ANTI He3 ### +// ###################################################################### + +G4AntiHe3* G4AntiHe3::theInstance = 0; + +G4AntiHe3* G4AntiHe3::Definition() +{ + if (theInstance !=0) return theInstance; + const G4String name = "anti_He3"; + // search in particle table] + G4ParticleTable* pTable = G4ParticleTable::GetParticleTable(); + G4Ions* anInstance = reinterpret_cast(pTable->FindParticle(name)); + if (anInstance ==0) + { + // create particle + // + // Arguments for constructor are as follows + // name mass width charge + // 2*spin parity C-conjugation + // 2*Isospin 2*Isospin3 G-parity + // type lepton number baryon number PDG encoding + // stable lifetime decay table + // shortlived subType anti_encoding + // excitation + anInstance = new G4Ions( + name, 2.808391*GeV, 0.0*MeV, -2.0*eplus, + 1, +1, 0, + 0, 0, 0, + "anti_nucleus", 0, -3, -1000020030, + true, -1.0, NULL, + false, "static", 1000020030, + 0.0 + ); + + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( 2.12762485 * mN); + + } + + theInstance = reinterpret_cast(anInstance); + return theInstance; +} + +G4AntiHe3* G4AntiHe3::AntiHe3Definition() +{ + return Definition(); +} + +G4AntiHe3* G4AntiHe3::AntiHe3() +{ + return Definition(); +} + + diff --git a/source/particles/hadrons/ions/src/G4AntiTriton.cc b/source/particles/hadrons/ions/src/G4AntiTriton.cc new file mode 100644 index 0000000000..2d05b84b2e --- /dev/null +++ b/source/particles/hadrons/ions/src/G4AntiTriton.cc @@ -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. * +// ******************************************************************** +// +// +// $Id: G4AntiTriton.cc,v 1.1 2010/10/09 10:36:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// ---------------------------------------------------------------------- +// GEANT 4 class implementation file +// +// History: first implementation, based on object model of +// 4th April 1996, G.Cosmo +// ********************************************************************** +// New impelemenataion as an utility class M.Asai, 26 July 2004 +// ---------------------------------------------------------------------- + +#include "G4AntiTriton.hh" +#include "G4ParticleTable.hh" + +// ###################################################################### +// ### ANTI TRITON ### +// ###################################################################### + +G4AntiTriton* G4AntiTriton::theInstance = 0; + +G4AntiTriton* G4AntiTriton::Definition() +{ + if (theInstance !=0) return theInstance; + const G4String name = "anti_triton"; + // search in particle table] + G4ParticleTable* pTable = G4ParticleTable::GetParticleTable(); + G4Ions* anInstance = reinterpret_cast(pTable->FindParticle(name)); + if (anInstance ==0) + { + // create particle + // + // Arguments for constructor are as follows + // name mass width charge + // 2*spin parity C-conjugation + // 2*Isospin 2*Isospin3 G-parity + // type lepton number baryon number PDG encoding + // stable lifetime decay table + // shortlived subType anti_encoding + // excitation + anInstance = new G4Ions( + name, 2.808921*GeV, 0.0*MeV, -1.0*eplus, + 1, +1, 0, + 0, 0, 0, + "anti_nucleus", 0, -3, -1000010030, + true, -1.0, NULL, + false, "static", 1000010030, + 0.0 + ); + + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -2.97896248 * mN); + + } + + theInstance = reinterpret_cast(anInstance); + return theInstance; +} + +G4AntiTriton* G4AntiTriton::AntiTritonDefinition() +{ + return Definition(); +} + +G4AntiTriton* G4AntiTriton::AntiTriton() +{ + return Definition(); +} + + diff --git a/source/particles/hadrons/ions/src/G4Deuteron.cc b/source/particles/hadrons/ions/src/G4Deuteron.cc index 47208b2a86..8dab480924 100644 --- a/source/particles/hadrons/ions/src/G4Deuteron.cc +++ b/source/particles/hadrons/ions/src/G4Deuteron.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Deuteron.cc,v 1.14 2007/03/11 07:17:35 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Deuteron.cc,v 1.15 2010/10/09 10:36:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -71,7 +71,7 @@ G4Deuteron* G4Deuteron::Definition() 0, 0, 0, "nucleus", 0, +2, 1000010020, true, -1.0, NULL, - false, "static", 0, + false, "static", -1000010020, 0.0 ); @@ -80,8 +80,6 @@ G4Deuteron* G4Deuteron::Definition() anInstance->SetPDGMagneticMoment( 0.857438230 * mN); } - //No Anti particle registered - anInstance->SetAntiPDGEncoding(0); theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/ions/src/G4He3.cc b/source/particles/hadrons/ions/src/G4He3.cc index 5a9498d5a0..edb152fbf0 100644 --- a/source/particles/hadrons/ions/src/G4He3.cc +++ b/source/particles/hadrons/ions/src/G4He3.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4He3.cc,v 1.15 2009/02/26 23:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4He3.cc,v 1.16 2010/10/09 10:36:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -71,7 +71,7 @@ G4He3* G4He3::Definition() 0, 0, 0, "nucleus", 0, +3, 1000020030, true, -1.0, NULL, - false, "static", 0, + false, "static", -1000020030, 0.0 ); @@ -80,8 +80,6 @@ G4He3* G4He3::Definition() anInstance->SetPDGMagneticMoment( -2.12762485 * mN); } - //No Anti particle registered - anInstance->SetAntiPDGEncoding(0); theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/ions/src/G4IonConstructor.cc b/source/particles/hadrons/ions/src/G4IonConstructor.cc index c4c40c271d..2ecc427e62 100644 --- a/source/particles/hadrons/ions/src/G4IonConstructor.cc +++ b/source/particles/hadrons/ions/src/G4IonConstructor.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IonConstructor.cc,v 1.4 2006/06/29 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4IonConstructor.cc,v 1.5 2010/10/09 10:36:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -42,6 +42,11 @@ #include "G4Triton.hh" #include "G4He3.hh" #include "G4GenericIon.hh" +// AntiNuclei +#include "G4AntiAlpha.hh" +#include "G4AntiDeuteron.hh" +#include "G4AntiTriton.hh" +#include "G4AntiHe3.hh" G4IonConstructor::G4IonConstructor() { @@ -64,6 +69,11 @@ void G4IonConstructor::ConstructLightIons() G4Deuteron::DeuteronDefinition(); G4Triton::TritonDefinition(); G4He3::He3Definition(); + // anti_nuclei + G4AntiAlpha::AntiAlphaDefinition(); + G4AntiDeuteron::AntiDeuteronDefinition(); + G4AntiTriton::AntiTritonDefinition(); + G4AntiHe3::AntiHe3Definition(); // generic ion G4GenericIon::GenericIonDefinition(); } diff --git a/source/particles/hadrons/ions/src/G4Triton.cc b/source/particles/hadrons/ions/src/G4Triton.cc index 710bf31bb6..b475d07c83 100644 --- a/source/particles/hadrons/ions/src/G4Triton.cc +++ b/source/particles/hadrons/ions/src/G4Triton.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Triton.cc,v 1.16 2009/02/26 23:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Triton.cc,v 1.17 2010/10/09 10:36:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -71,7 +71,7 @@ G4Triton* G4Triton::Definition() 0, 0, 0, "nucleus", 0, +3, 1000010030, true, -1.0, NULL, - false, "static", 0, + false, "static", -1000010030, 0.0 ); @@ -80,8 +80,6 @@ G4Triton* G4Triton::Definition() anInstance->SetPDGMagneticMoment( 2.97896248 * mN); } - //No Anti particle registered - anInstance->SetAntiPDGEncoding(0); theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/mesons/CMakeLists.txt b/source/particles/hadrons/mesons/CMakeLists.txt new file mode 100644 index 0000000000..729b6d9f19 --- /dev/null +++ b/source/particles/hadrons/mesons/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4mesons +# Package: Geant4.src.G4particles..G4mesons +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:48:28 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/particles/hadrons/mesons/GNUmakefile b/source/particles/hadrons/mesons/GNUmakefile index 3a08595413..a157cf48a1 100644 --- a/source/particles/hadrons/mesons/GNUmakefile +++ b/source/particles/hadrons/mesons/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2004/06/11 14:25:23 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2010/10/27 07:47:04 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for mesons library. Gabriele Cosmo, 18/9/96. # -------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/sources.cmake b/source/particles/hadrons/mesons/sources.cmake new file mode 100644 index 0000000000..5c725a9155 --- /dev/null +++ b/source/particles/hadrons/mesons/sources.cmake @@ -0,0 +1,96 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4mesons +# Package: Geant4.src.G4particles..G4mesons +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:48:36 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4mesons + HEADERS + G4AntiBMesonZero.hh + G4AntiBsMesonZero.hh + G4AntiDMesonZero.hh + G4AntiKaonZero.hh + G4BMesonMinus.hh + G4BMesonPlus.hh + G4BMesonZero.hh + G4BsMesonZero.hh + G4DMesonMinus.hh + G4DMesonPlus.hh + G4DMesonZero.hh + G4DsMesonMinus.hh + G4DsMesonPlus.hh + G4Eta.hh + G4EtaPrime.hh + G4JPsi.hh + G4KaonMinus.hh + G4KaonPlus.hh + G4KaonZero.hh + G4KaonZeroLong.hh + G4KaonZeroShort.hh + G4MesonConstructor.hh + G4PionMinus.hh + G4PionPlus.hh + G4PionZero.hh + SOURCES + G4AntiBMesonZero.cc + G4AntiBsMesonZero.cc + G4AntiDMesonZero.cc + G4AntiKaonZero.cc + G4BMesonMinus.cc + G4BMesonPlus.cc + G4BMesonZero.cc + G4BsMesonZero.cc + G4DMesonMinus.cc + G4DMesonPlus.cc + G4DMesonZero.cc + G4DsMesonMinus.cc + G4DsMesonPlus.cc + G4Eta.cc + G4EtaPrime.cc + G4JPsi.cc + G4KaonMinus.cc + G4KaonPlus.cc + G4KaonZero.cc + G4KaonZeroLong.cc + G4KaonZeroShort.cc + G4MesonConstructor.cc + G4PionMinus.cc + G4PionPlus.cc + G4PionZero.cc + GRANULAR_DEPENDENCIES + G4globman + G4materials + G4partman + GLOBAL_DEPENDENCIES + G4global + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc b/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc index 1dae9eb3f5..99ae6c14ae 100644 --- a/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiBMesonZero.cc,v 1.21 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AntiBMesonZero.cc,v 1.22 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -65,11 +65,11 @@ G4AntiBMesonZero* G4AntiBMesonZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 5.27953*GeV, 4.331e-10*MeV, 0., + name, 5.27950*GeV, 4.316e-10*MeV, 0., 0, -1, 0, 1, +1, 0, "meson", 0, 0, -511, - false, 1.530e-3*ns, NULL, + false, 1.525e-3*ns, NULL, false, "B"); } theInstance = reinterpret_cast(anInstance); diff --git a/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc b/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc index 80f94a06cb..29f6115d60 100644 --- a/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiBsMesonZero.cc,v 1.19 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AntiBsMesonZero.cc,v 1.20 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -65,11 +65,11 @@ G4AntiBsMesonZero* G4AntiBsMesonZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 5.3663*GeV, 4.65e-10*MeV, 0., + name, 5.3663*GeV, 4.47e-10*MeV, 0., 0, -1, 0, 0, 0, 0, "meson", 0, 0, -531, - false, 1.470e-3*ns, NULL, + false, 1.472e-3*ns, NULL, false, "Bs"); } theInstance = reinterpret_cast(anInstance); diff --git a/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc b/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc index 5a203a15b6..3e45f7b646 100644 --- a/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiDMesonZero.cc,v 1.19 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AntiDMesonZero.cc,v 1.20 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -65,7 +65,7 @@ G4AntiDMesonZero* G4AntiDMesonZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.86484*GeV, 1.616e-9*MeV, 0., + name, 1.86483*GeV, 1.605e-9*MeV, 0., 0, -1, 0, 1, +1, 0, "meson", 0, 0, -421, diff --git a/source/particles/hadrons/mesons/src/G4BMesonMinus.cc b/source/particles/hadrons/mesons/src/G4BMesonMinus.cc index c0cd5b2acd..68db6c2d84 100644 --- a/source/particles/hadrons/mesons/src/G4BMesonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4BMesonMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BMesonMinus.cc,v 1.16 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BMesonMinus.cc,v 1.17 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -66,7 +66,7 @@ G4BMesonMinus* G4BMesonMinus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 5.27915*GeV, 4.045e-10*MeV, -1.*eplus, + name, 5.27917*GeV, 4.018e-10*MeV, -1.*eplus, 0, -1, 0, 1, -1, 0, "meson", 0, 0, -521, diff --git a/source/particles/hadrons/mesons/src/G4BMesonPlus.cc b/source/particles/hadrons/mesons/src/G4BMesonPlus.cc index 749f3113de..7a84418a0b 100644 --- a/source/particles/hadrons/mesons/src/G4BMesonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4BMesonPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BMesonPlus.cc,v 1.16 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BMesonPlus.cc,v 1.17 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -66,7 +66,7 @@ G4BMesonPlus* G4BMesonPlus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 5.27915*GeV, 4.045e-10*MeV, +1.*eplus, + name, 5.27917*GeV, 4.018e-10*MeV, +1.*eplus, 0, -1, 0, 1, +1, 0, "meson", 0, 0, 521, diff --git a/source/particles/hadrons/mesons/src/G4BMesonZero.cc b/source/particles/hadrons/mesons/src/G4BMesonZero.cc index e9487ab8f6..9f5770a141 100644 --- a/source/particles/hadrons/mesons/src/G4BMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4BMesonZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BMesonZero.cc,v 1.21 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BMesonZero.cc,v 1.22 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -65,11 +65,11 @@ G4BMesonZero* G4BMesonZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 5.27953*GeV, 4.331e-10*MeV, 0., + name, 5.27950*GeV, 4.316e-10*MeV, 0., 0, -1, 0, 1, -1, 0, "meson", 0, 0, 511, - false, 1.530e-3*ns, NULL, + false, 1.525e-3*ns, NULL, false, "B"); } theInstance = reinterpret_cast(anInstance); diff --git a/source/particles/hadrons/mesons/src/G4BsMesonZero.cc b/source/particles/hadrons/mesons/src/G4BsMesonZero.cc index 59d222b636..56d36b0a37 100644 --- a/source/particles/hadrons/mesons/src/G4BsMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4BsMesonZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BsMesonZero.cc,v 1.19 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BsMesonZero.cc,v 1.20 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -65,11 +65,11 @@ G4BsMesonZero* G4BsMesonZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 5.3663*GeV, 4.65e-10*MeV, 0., + name, 5.3663*GeV, 4.47e-10*MeV, 0., 0, -1, 0, 0, 0, 0, "meson", 0, 0, 531, - false, 1.470e-3*ns, NULL, + false, 1.472e-3*ns, NULL, false, "Bs"); } theInstance = reinterpret_cast(anInstance); diff --git a/source/particles/hadrons/mesons/src/G4DMesonMinus.cc b/source/particles/hadrons/mesons/src/G4DMesonMinus.cc index 1d4d06f3a4..d17827421a 100644 --- a/source/particles/hadrons/mesons/src/G4DMesonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4DMesonMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DMesonMinus.cc,v 1.14 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DMesonMinus.cc,v 1.15 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -66,7 +66,7 @@ G4DMesonMinus* G4DMesonMinus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.86962*GeV, 6.37e-10*MeV, -1.*eplus, + name, 1.86960*GeV, 6.33e-10*MeV, -1.*eplus, 0, -1, 0, 1, -1, 0, "meson", 0, 0, -411, diff --git a/source/particles/hadrons/mesons/src/G4DMesonPlus.cc b/source/particles/hadrons/mesons/src/G4DMesonPlus.cc index 0cca284916..0f389984f4 100644 --- a/source/particles/hadrons/mesons/src/G4DMesonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4DMesonPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DMesonPlus.cc,v 1.14 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DMesonPlus.cc,v 1.15 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -66,7 +66,7 @@ G4DMesonPlus* G4DMesonPlus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.86962*GeV, 6.37e-10*MeV, +1.*eplus, + name, 1.86960*GeV, 6.33e-10*MeV, +1.*eplus, 0, -1, 0, 1, +1, 0, "meson", 0, 0, 411, diff --git a/source/particles/hadrons/mesons/src/G4DMesonZero.cc b/source/particles/hadrons/mesons/src/G4DMesonZero.cc index 4886810965..7ad226bedd 100644 --- a/source/particles/hadrons/mesons/src/G4DMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4DMesonZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DMesonZero.cc,v 1.20 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DMesonZero.cc,v 1.21 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -64,7 +64,7 @@ G4DMesonZero* G4DMesonZero::Definition() // stable lifetime decay table // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.86484*GeV, 1.616e-9*MeV, 0., + name, 1.86483*GeV, 1.605e-9*MeV, 0., 0, -1, 0, 1, -1, 0, "meson", 0, 0, 421, diff --git a/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc b/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc index 2f5f36d62c..a92bdc191f 100644 --- a/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DsMesonMinus.cc,v 1.14 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DsMesonMinus.cc,v 1.15 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -65,7 +65,7 @@ G4DsMesonMinus* G4DsMesonMinus::Definition() // stable lifetime decay table // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.96849*GeV, 1.325e-9*MeV, -1.*eplus, + name, 1.96847*GeV, 1.317e-9*MeV, -1.*eplus, 0, -1, 0, 0, 0, 0, "meson", 0, 0, -431, diff --git a/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc b/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc index 4ace259031..1be996efa4 100644 --- a/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DsMesonPlus.cc,v 1.14 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DsMesonPlus.cc,v 1.15 2010/10/01 02:41:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -65,7 +65,7 @@ G4DsMesonPlus* G4DsMesonPlus::Definition() // stable lifetime decay table // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.96849*GeV, 1.325e-9*MeV, +1.*eplus, + name, 1.96847*GeV, 1.317e-9*MeV, +1.*eplus, 0, -1, 0, 0, 0, 0, "meson", 0, 0, 431, diff --git a/source/particles/hadrons/mesons/src/G4EtaPrime.cc b/source/particles/hadrons/mesons/src/G4EtaPrime.cc index aa51ffdd55..490d427817 100644 --- a/source/particles/hadrons/mesons/src/G4EtaPrime.cc +++ b/source/particles/hadrons/mesons/src/G4EtaPrime.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EtaPrime.cc,v 1.19 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EtaPrime.cc,v 1.20 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------- @@ -70,7 +70,7 @@ G4EtaPrime* G4EtaPrime::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 0.95766*GeV, 0.205*MeV, 0.0, + name, 0.95778*GeV, 0.194*MeV, 0.0, 0, -1, +1, 0, 0, +1, "meson", 0, 0, 331, diff --git a/source/particles/hadrons/mesons/src/G4JPsi.cc b/source/particles/hadrons/mesons/src/G4JPsi.cc index cbcbcfbf7c..94e7048568 100644 --- a/source/particles/hadrons/mesons/src/G4JPsi.cc +++ b/source/particles/hadrons/mesons/src/G4JPsi.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4JPsi.cc,v 1.18 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4JPsi.cc,v 1.19 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -65,7 +65,7 @@ G4JPsi* G4JPsi::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 3.096916*GeV, 0.0932*MeV, 0., + name, 3.096916*GeV, 0.0929*MeV, 0., 2, -1, -1, 0, 0, -1, "meson", 0, 0, 443, diff --git a/source/particles/hadrons/mesons/src/G4KaonMinus.cc b/source/particles/hadrons/mesons/src/G4KaonMinus.cc index eae1edfc49..bc281154d8 100644 --- a/source/particles/hadrons/mesons/src/G4KaonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4KaonMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4KaonMinus.cc,v 1.15 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4KaonMinus.cc,v 1.16 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -71,11 +71,11 @@ G4KaonMinus* G4KaonMinus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 0.493677*GeV, 5.352e-14*MeV, -1.*eplus, + name, 0.493677*GeV, 5.317e-14*MeV, -1.*eplus, 0, -1, 0, 1, -1, 0, "meson", 0, 0, -321, - false, 12.3785*ns, NULL, + false, 12.380*ns, NULL, false, "kaon"); //create Decay Table @@ -84,17 +84,17 @@ G4KaonMinus* G4KaonMinus::Definition() // create decay channels G4VDecayChannel** mode = new G4VDecayChannel*[6]; // kaon- -> mu- + anti_nu_mu - mode[0] = new G4PhaseSpaceDecayChannel("kaon-",0.6339,2,"mu-","anti_nu_mu"); + mode[0] = new G4PhaseSpaceDecayChannel("kaon-",0.6355,2,"mu-","anti_nu_mu"); // kaon- -> pi- + pi0 - mode[1] = new G4PhaseSpaceDecayChannel("kaon-",0.2103,2,"pi-","pi0"); + mode[1] = new G4PhaseSpaceDecayChannel("kaon-",0.2066,2,"pi-","pi0"); // kaon- -> pi- + pi+ + pi- mode[2] = new G4PhaseSpaceDecayChannel("kaon-",0.0559,3,"pi-","pi+","pi-"); // kaon- -> pi- + pi0 + pi0 - mode[3] = new G4PhaseSpaceDecayChannel("kaon-",0.01757,3,"pi-","pi0","pi0"); + mode[3] = new G4PhaseSpaceDecayChannel("kaon-",0.01761,3,"pi-","pi0","pi0"); // kaon- -> pi0 + e- + anti_nu_e (Ke3) - mode[4] = new G4KL3DecayChannel("kaon-",0.0493,"pi0","e-","anti_nu_e"); + mode[4] = new G4KL3DecayChannel("kaon-",0.0507,"pi0","e-","anti_nu_e"); // kaon- -> pi0 + mu- + anti_nu_mu (Kmu3) - mode[5] = new G4KL3DecayChannel("kaon-",0.0330,"pi0","mu-","anti_nu_mu"); + mode[5] = new G4KL3DecayChannel("kaon-",0.0335,"pi0","mu-","anti_nu_mu"); for (G4int index=0; index <6; index++ ) table->Insert(mode[index]); delete [] mode; diff --git a/source/particles/hadrons/mesons/src/G4KaonPlus.cc b/source/particles/hadrons/mesons/src/G4KaonPlus.cc index 97803590fc..28e97b19b8 100644 --- a/source/particles/hadrons/mesons/src/G4KaonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4KaonPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4KaonPlus.cc,v 1.14 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4KaonPlus.cc,v 1.15 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -71,11 +71,11 @@ G4KaonPlus* G4KaonPlus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 0.493677*GeV, 5.352e-14*MeV, +1.*eplus, + name, 0.493677*GeV, 5.317e-14*MeV, +1.*eplus, 0, -1, 0, 1, +1, 0, "meson", 0, 0, 321, - false, 12.385*ns, NULL, + false, 12.380*ns, NULL, false, "kaon"); //create Decay Table @@ -84,17 +84,17 @@ G4KaonPlus* G4KaonPlus::Definition() // create decay channels G4VDecayChannel** mode = new G4VDecayChannel*[6]; // kaon+ -> mu+ + nu_mu - mode[0] = new G4PhaseSpaceDecayChannel("kaon+",0.6339,2,"mu+","nu_mu"); + mode[0] = new G4PhaseSpaceDecayChannel("kaon+",0.6355,2,"mu+","nu_mu"); // kaon+ -> pi+ + pi0 - mode[1] = new G4PhaseSpaceDecayChannel("kaon+",0.2103,2,"pi+","pi0"); + mode[1] = new G4PhaseSpaceDecayChannel("kaon+",0.2066,2,"pi+","pi0"); // kaon+ -> pi+ + pi+ + pi- mode[2] = new G4PhaseSpaceDecayChannel("kaon+",0.0559,3,"pi+","pi+","pi-"); // kaon+ -> pi+ + pi0 + pi0 - mode[3] = new G4PhaseSpaceDecayChannel("kaon+",0.01757,3,"pi+","pi0","pi0"); + mode[3] = new G4PhaseSpaceDecayChannel("kaon+",0.01761,3,"pi+","pi0","pi0"); // kaon+ -> pi0 + e+ + nu_e (Ke3) - mode[4] = new G4KL3DecayChannel("kaon+",0.0493,"pi0","e+","nu_e"); + mode[4] = new G4KL3DecayChannel("kaon+",0.0507,"pi0","e+","nu_e"); // kaon+ -> pi0 + mu+ + nu_mu (Kmu3) - mode[5] = new G4KL3DecayChannel("kaon+",0.0330,"pi0","mu+","nu_mu"); + mode[5] = new G4KL3DecayChannel("kaon+",0.0335,"pi0","mu+","nu_mu"); for (G4int index=0; index <6; index++ ) table->Insert(mode[index]); delete [] mode; diff --git a/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc b/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc index 6f14f68428..c670d88037 100644 --- a/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc +++ b/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4KaonZeroLong.cc,v 1.19 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4KaonZeroLong.cc,v 1.20 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -73,7 +73,7 @@ G4KaonZeroLong* G4KaonZeroLong::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 0.497614*GeV, 1.295e-14*MeV, 0.0, + name, 0.497614*GeV, 1.287e-14*MeV, 0.0, 0, -1, 0, 1, 0, 0, "meson", 0, 0, 130, @@ -86,17 +86,17 @@ G4KaonZeroLong* G4KaonZeroLong::Definition() // create decay channels G4VDecayChannel** mode = new G4VDecayChannel*[6]; // kaon0L -> pi0 + pi0 + pi0 - mode[0] = new G4PhaseSpaceDecayChannel("kaon0L",0.1983,3,"pi0","pi0","pi0"); + mode[0] = new G4PhaseSpaceDecayChannel("kaon0L",0.1952,3,"pi0","pi0","pi0"); // kaon0L -> pi0 + pi+ + pi- - mode[1] = new G4PhaseSpaceDecayChannel("kaon0L",0.1247,3,"pi0","pi+","pi-"); + mode[1] = new G4PhaseSpaceDecayChannel("kaon0L",0.1254,3,"pi0","pi+","pi-"); // kaon0L -> pi- + e+ + nu_e (Ke3) - mode[2] = new G4KL3DecayChannel("kaon0L",0.2020,"pi-","e+","nu_e"); + mode[2] = new G4KL3DecayChannel("kaon0L",0.2027,"pi-","e+","nu_e"); // kaon0L -> pi+ + e- + anti_nu_e (Ke3) - mode[3] = new G4KL3DecayChannel("kaon0L",0.2020,"pi+","e-","anti_nu_e"); + mode[3] = new G4KL3DecayChannel("kaon0L",0.2027,"pi+","e-","anti_nu_e"); // kaon0L -> pi- + mu+ + nu_mu (Kmu3) - mode[4] = new G4KL3DecayChannel("kaon0L",0.1348,"pi-","mu+","nu_mu"); + mode[4] = new G4KL3DecayChannel("kaon0L",0.1352,"pi-","mu+","nu_mu"); // kaon0L -> pi+ + mu- + anti_nu_mu (Kmu3) - mode[5] = new G4KL3DecayChannel("kaon0L",0.1348,"pi+","mu-","anti_nu_mu"); + mode[5] = new G4KL3DecayChannel("kaon0L",0.1352,"pi+","mu-","anti_nu_mu"); for (G4int index=0; index <6; index++ ) table->Insert(mode[index]); delete [] mode; diff --git a/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc b/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc index 3e21679d85..a1795cca49 100644 --- a/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc +++ b/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4KaonZeroShort.cc,v 1.18 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4KaonZeroShort.cc,v 1.19 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -70,7 +70,7 @@ G4KaonZeroShort* G4KaonZeroShort::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 0.497614*GeV, 7.397e-12*MeV, 0.0, + name, 0.497614*GeV, 7.352e-12*MeV, 0.0, 0, -1, 0, 1, 0, 0, "meson", 0, 0, 310, @@ -83,9 +83,9 @@ G4KaonZeroShort* G4KaonZeroShort::Definition() // create decay channels G4VDecayChannel** mode = new G4VDecayChannel*[2]; // kaon0s -> pi+ + pi- - mode[0] = new G4PhaseSpaceDecayChannel("kaon0S",0.6895,2,"pi+","pi-"); + mode[0] = new G4PhaseSpaceDecayChannel("kaon0S",0.6920,2,"pi+","pi-"); // kaon0s -> pi0 + pi0 - mode[1] = new G4PhaseSpaceDecayChannel("kaon0S",0.3105,2,"pi0","pi0"); + mode[1] = new G4PhaseSpaceDecayChannel("kaon0S",0.3069,2,"pi0","pi0"); for (G4int index=0; index <2; index++ ) table->Insert(mode[index]); delete [] mode; diff --git a/source/particles/hadrons/mesons/src/G4PionMinus.cc b/source/particles/hadrons/mesons/src/G4PionMinus.cc index 11f509f35e..aced68d81e 100644 --- a/source/particles/hadrons/mesons/src/G4PionMinus.cc +++ b/source/particles/hadrons/mesons/src/G4PionMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PionMinus.cc,v 1.12 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PionMinus.cc,v 1.13 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,11 +69,11 @@ G4PionMinus* G4PionMinus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 0.1395700*GeV, 2.5452e-14*MeV, -1.*eplus, + name, 0.1395701*GeV, 2.5284e-14*MeV, -1.*eplus, 0, -1, 0, 2, -2, -1, "meson", 0, 0, -211, - false, 26.030*ns, NULL, + false, 26.033*ns, NULL, false, "pi"); //create Decay Table diff --git a/source/particles/hadrons/mesons/src/G4PionPlus.cc b/source/particles/hadrons/mesons/src/G4PionPlus.cc index d2318f95f8..8ebcc2998a 100644 --- a/source/particles/hadrons/mesons/src/G4PionPlus.cc +++ b/source/particles/hadrons/mesons/src/G4PionPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PionPlus.cc,v 1.13 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PionPlus.cc,v 1.14 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,11 +69,11 @@ G4PionPlus* G4PionPlus::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 0.1395700*GeV, 2.5452e-14*MeV, +1.*eplus, + name, 0.1395701*GeV, 2.5284e-14*MeV, +1.*eplus, 0, -1, 0, 2, +2, -1, "meson", 0, 0, 211, - false, 26.030*ns, NULL, + false, 26.033*ns, NULL, false, "pi"); //create Decay Table diff --git a/source/particles/hadrons/mesons/src/G4PionZero.cc b/source/particles/hadrons/mesons/src/G4PionZero.cc index 9f0c4b96d3..9c814b4001 100644 --- a/source/particles/hadrons/mesons/src/G4PionZero.cc +++ b/source/particles/hadrons/mesons/src/G4PionZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PionZero.cc,v 1.17 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PionZero.cc,v 1.18 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -71,7 +71,7 @@ G4PionZero* G4PionZero::Definition() // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 0.1349764*GeV, 7.9e-06*MeV, 0.0, + name, 0.1349766*GeV, 7.8e-06*MeV, 0.0, 0, -1, +1, 2, 0, -1, "meson", 0, 0, 111, diff --git a/source/particles/leptons/CMakeLists.txt b/source/particles/leptons/CMakeLists.txt new file mode 100644 index 0000000000..b0aac6a966 --- /dev/null +++ b/source/particles/leptons/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4leptons +# Package: Geant4.src.G4particles.G4leptons +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:48:44 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/particles/leptons/GNUmakefile b/source/particles/leptons/GNUmakefile index 98ed3ba12b..c3a5c6cbe1 100644 --- a/source/particles/leptons/GNUmakefile +++ b/source/particles/leptons/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2004/06/11 14:25:24 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2010/10/27 07:47:04 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for leptons library. Gabriele Cosmo, 18/9/96. # -------------------------------------------------------------- diff --git a/source/particles/leptons/sources.cmake b/source/particles/leptons/sources.cmake new file mode 100644 index 0000000000..d5317dfc2a --- /dev/null +++ b/source/particles/leptons/sources.cmake @@ -0,0 +1,72 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4leptons +# Package: Geant4.src.G4particles.G4leptons +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:48:52 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4leptons + HEADERS + G4AntiNeutrinoE.hh + G4AntiNeutrinoMu.hh + G4AntiNeutrinoTau.hh + G4Electron.hh + G4LeptonConstructor.hh + G4MuonMinus.hh + G4MuonPlus.hh + G4NeutrinoE.hh + G4NeutrinoMu.hh + G4NeutrinoTau.hh + G4Positron.hh + G4TauMinus.hh + G4TauPlus.hh + SOURCES + G4AntiNeutrinoE.cc + G4AntiNeutrinoMu.cc + G4AntiNeutrinoTau.cc + G4Electron.cc + G4LeptonConstructor.cc + G4MuonMinus.cc + G4MuonPlus.cc + G4NeutrinoE.cc + G4NeutrinoMu.cc + G4NeutrinoTau.cc + G4Positron.cc + G4TauMinus.cc + G4TauPlus.cc + GRANULAR_DEPENDENCIES + G4globman + G4materials + G4partman + GLOBAL_DEPENDENCIES + G4global + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/particles/leptons/src/G4MuonMinus.cc b/source/particles/leptons/src/G4MuonMinus.cc index 0115623303..c365059d9b 100644 --- a/source/particles/leptons/src/G4MuonMinus.cc +++ b/source/particles/leptons/src/G4MuonMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4MuonMinus.cc,v 1.15 2008/11/13 08:23:12 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4MuonMinus.cc,v 1.16 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -67,11 +67,11 @@ G4MuonMinus* G4MuonMinus::Definition() // stable lifetime decay table // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 0.1056584*GeV, 3.01594e-16*MeV, -1.*eplus, - 1, 0, 0, - 0, 0, 0, - "lepton", 1, 0, 13, - false, 2197.03*ns, NULL, + name, 0.105658367*GeV, 2.995912e-16*MeV, -1.*eplus, + 1, 0, 0, + 0, 0, 0, + "lepton", 1, 0, 13, + false, 2197.03*ns, NULL, false, "mu" ); // Bohr Magnetron diff --git a/source/particles/leptons/src/G4MuonPlus.cc b/source/particles/leptons/src/G4MuonPlus.cc index 83a68ebdcb..eaa62830e8 100644 --- a/source/particles/leptons/src/G4MuonPlus.cc +++ b/source/particles/leptons/src/G4MuonPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4MuonPlus.cc,v 1.15 2008/11/13 08:23:12 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4MuonPlus.cc,v 1.16 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -67,11 +67,11 @@ G4MuonPlus* G4MuonPlus::Definition() // stable lifetime decay table // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 0.1056584*GeV, 3.01594e-16*MeV, +1.*eplus, - 1, 0, 0, - 0, 0, 0, - "lepton", -1, 0, -13, - false, 2197.03*ns, NULL, + name, 0.105658367*GeV, 2.995912e-16*MeV, +1.*eplus, + 1, 0, 0, + 0, 0, 0, + "lepton", -1, 0, -13, + false, 2197.03*ns, NULL, false, "mu" ); // Bohr Magnetron diff --git a/source/particles/leptons/src/G4TauMinus.cc b/source/particles/leptons/src/G4TauMinus.cc index 8cf50fe1f6..99e556fa2d 100644 --- a/source/particles/leptons/src/G4TauMinus.cc +++ b/source/particles/leptons/src/G4TauMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TauMinus.cc,v 1.19 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4TauMinus.cc,v 1.20 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4TauMinus* G4TauMinus::Definition() // stable lifetime decay table // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.77684*GeV, 2.280e-9*MeV, -1.*eplus, + name, 1.77682*GeV, 2.265e-9*MeV, -1.*eplus, 1, 0, 0, 0, 0, 0, "lepton", 1, 0, 15, diff --git a/source/particles/leptons/src/G4TauPlus.cc b/source/particles/leptons/src/G4TauPlus.cc index de128a708c..9e5b7b5e24 100644 --- a/source/particles/leptons/src/G4TauPlus.cc +++ b/source/particles/leptons/src/G4TauPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TauPlus.cc,v 1.19 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4TauPlus.cc,v 1.20 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -69,7 +69,7 @@ G4TauPlus* G4TauPlus::Definition() // stable lifetime decay table // shortlived subType anti_encoding anInstance = new G4ParticleDefinition( - name, 1.77684*GeV, 2.280e-9*MeV, 1.*eplus, + name, 1.77682*GeV, 2.265e-9*MeV, 1.*eplus, 1, 0, 0, 0, 0, 0, "lepton", -1, 0, -15, diff --git a/source/particles/management/CMakeLists.txt b/source/particles/management/CMakeLists.txt new file mode 100644 index 0000000000..c20931c9ff --- /dev/null +++ b/source/particles/management/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4partman +# Package: Geant4.src.G4particles.G4partman +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:49:00 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/particles/management/GNUmakefile b/source/particles/management/GNUmakefile index e9c9552ca6..5d6bc94f0b 100644 --- a/source/particles/management/GNUmakefile +++ b/source/particles/management/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.6 2004/06/11 14:25:25 gcosmo Exp $ +# $Id: GNUmakefile,v 1.8 2010/10/27 07:47:04 gcosmo Exp $ # ---------------------------------------------------------------- # GNUmakefile for particle management library. G.Cosmo, 4/4/97. # ---------------------------------------------------------------- diff --git a/source/particles/management/include/G4DecayProducts.hh b/source/particles/management/include/G4DecayProducts.hh index 8fd6646c08..536f92d8a9 100644 --- a/source/particles/management/include/G4DecayProducts.hh +++ b/source/particles/management/include/G4DecayProducts.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DecayProducts.hh,v 1.12 2006/06/29 19:22:45 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DecayProducts.hh,v 1.14 2010/10/27 07:47:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4DynamicParticle.hh b/source/particles/management/include/G4DynamicParticle.hh index e2fc5fc033..c9ddf33120 100644 --- a/source/particles/management/include/G4DynamicParticle.hh +++ b/source/particles/management/include/G4DynamicParticle.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DynamicParticle.hh,v 1.18 2007/03/11 07:17:35 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DynamicParticle.hh,v 1.22 2010/08/11 17:14:02 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -82,14 +82,14 @@ class G4DynamicParticle //- constructors G4DynamicParticle(); - G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, + G4DynamicParticle(const G4ParticleDefinition * aParticleDefinition, const G4ThreeVector& aMomentumDirection, G4double aKineticEnergy); - G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, + G4DynamicParticle(const G4ParticleDefinition * aParticleDefinition, const G4ThreeVector& aParticleMomentum); - G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, + G4DynamicParticle(const G4ParticleDefinition * aParticleDefinition, const G4LorentzVector &aParticleMomentum); - G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, + G4DynamicParticle(const G4ParticleDefinition * aParticleDefinition, G4double aTotalEnergy, const G4ThreeVector &aParticleMomentum); @@ -181,10 +181,14 @@ class G4DynamicParticle void AddElectron(G4int orbit, G4int number = 1); void RemoveElectron(G4int orbit, G4int number = 1); + + const G4ParticleDefinition* GetParticleDefinition() const; + void SetDefinition(const G4ParticleDefinition * aParticleDefinition); + // Set/Get particle definition + // following method of GetDefinition remains + // because of backward compatiblity. It will be removed in future G4ParticleDefinition* GetDefinition() const; - void SetDefinition(G4ParticleDefinition * aParticleDefinition); - // Set/Get particle definition - + const G4DecayProducts *GetPreAssignedDecayProducts() const; void SetPreAssignedDecayProducts(G4DecayProducts *aDecayProducts); @@ -200,15 +204,15 @@ class G4DynamicParticle // mode 0 : default )(minimum) // mode 1 : 0 + electron occupancy - private: + protected: void AllocateElectronOccupancy(); G4double GetElectronMass() const; - private: + protected: G4ThreeVector theMomentumDirection; // The normalized momentum vector - G4ParticleDefinition *theParticleDefinition; + const G4ParticleDefinition *theParticleDefinition; // Contains the static information of this particle. G4ThreeVector thePolarization; @@ -231,7 +235,7 @@ class G4DynamicParticle G4double thePreAssignedDecayTime; - private: + protected: G4int verboseLevel; public: // With Description @@ -242,7 +246,7 @@ class G4DynamicParticle // 1: Warning message // 2: More - private: + protected: G4PrimaryParticle* primaryParticle; // This void pointer is used by G4EventManager to maintain the // link between pre-assigned decay products and corresponding @@ -265,7 +269,7 @@ class G4DynamicParticle // corresponding primary particle or pre-assigned decay product will be // returned if available. Otherwise (e.g. for geantino) returns 0. - private: + protected: G4int thePDGcode; }; diff --git a/source/particles/management/include/G4DynamicParticle.icc b/source/particles/management/include/G4DynamicParticle.icc index 1aaaa7254d..4bf2ed639e 100644 --- a/source/particles/management/include/G4DynamicParticle.icc +++ b/source/particles/management/include/G4DynamicParticle.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DynamicParticle.icc,v 1.16 2007/03/11 07:17:35 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DynamicParticle.icc,v 1.21 2010/10/27 07:47:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -86,6 +86,7 @@ inline G4int G4DynamicParticle::GetOccupancy(G4int orbit) const inline void G4DynamicParticle::AddElectron(G4int orbit, G4int number ) { + if ( theElectronOccupancy == 0) AllocateElectronOccupancy(); if ( theElectronOccupancy != 0) { G4int n = theElectronOccupancy->AddElectron(orbit, number ); theDynamicalCharge -= eplus * n; @@ -95,7 +96,8 @@ inline void G4DynamicParticle::AddElectron(G4int orbit, G4int number ) inline void G4DynamicParticle::RemoveElectron(G4int orbit, G4int number) { - if ( theElectronOccupancy != 0) { + if ( theElectronOccupancy == 0) AllocateElectronOccupancy(); + if ( theElectronOccupancy != 0) { G4int n = theElectronOccupancy->RemoveElectron(orbit, number ); theDynamicalCharge += eplus * n; theDynamicalMass -= GetElectronMass() * n; @@ -190,7 +192,12 @@ inline G4double G4DynamicParticle::GetTotalMomentum() const inline G4ParticleDefinition* G4DynamicParticle::GetDefinition() const { - return theParticleDefinition; + return const_cast(theParticleDefinition); +} + +inline const G4ParticleDefinition* G4DynamicParticle::GetParticleDefinition() const +{ + return const_cast(theParticleDefinition); } inline const G4ThreeVector& G4DynamicParticle::GetPolarization() const diff --git a/source/particles/management/include/G4ElectronOccupancy.hh b/source/particles/management/include/G4ElectronOccupancy.hh index d0798777f9..6331afe8a0 100644 --- a/source/particles/management/include/G4ElectronOccupancy.hh +++ b/source/particles/management/include/G4ElectronOccupancy.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ElectronOccupancy.hh,v 1.10 2009/10/21 12:50:31 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ElectronOccupancy.hh,v 1.12 2010/10/27 07:47:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4IonTable.hh b/source/particles/management/include/G4IonTable.hh index 6b4d9de40a..0da70e7b19 100644 --- a/source/particles/management/include/G4IonTable.hh +++ b/source/particles/management/include/G4IonTable.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IonTable.hh,v 1.28 2009/09/23 12:13:48 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4IonTable.hh,v 1.31 2010/10/16 06:04:51 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -50,7 +50,7 @@ #include "G4ios.hh" #include "globals.hh" #include "G4ParticleDefinition.hh" -#include "G4ParticleTableIterator.hh" +#include "G4ParticleTable.hh" #include "G4Ions.hh" #include @@ -70,8 +70,8 @@ class G4IonTable public: // Use STL map as list of ions - typedef std::multimap G4IonList; - typedef std::multimap::iterator G4IonListIterator; + typedef std::multimap G4IonList; + typedef std::multimap::iterator G4IonListIterator; public: // constructor @@ -139,6 +139,10 @@ class G4IonTable static G4bool IsIon(const G4ParticleDefinition*); // return true if the particle is ion + static G4bool IsAntiIon(const G4ParticleDefinition*); + // return true if the particle is anti_ion + + const G4String& GetIonName(G4int Z, G4int A, G4double E) const; const G4String& GetIonName(G4int Z, G4int A, G4int L, G4double E) const; // get ion name @@ -193,8 +197,8 @@ class G4IonTable G4bool Contains(const G4ParticleDefinition *particle) const; // Return 'true' if the ion exists - void Insert(G4ParticleDefinition* particle); - void Remove(G4ParticleDefinition* particle); + void Insert(const G4ParticleDefinition* particle); + void Remove(const G4ParticleDefinition* particle); // Insert/Remove an ion in the table void clear(); @@ -217,9 +221,10 @@ class G4IonTable // Ask properties of isotopes to this G4VIsotopeTable G4ParticleDefinition* GetLightIon(G4int Z, G4int A) const; + G4ParticleDefinition* GetLightAntiIon(G4int Z, G4int A) const; - - G4bool IsLightIon(G4ParticleDefinition*) const; + G4bool IsLightIon(const G4ParticleDefinition*) const; + G4bool IsLightAntiIon(const G4ParticleDefinition*) const; // return true if the particle is pre-defined ion void AddProcessManager(const G4String& ionName); diff --git a/source/particles/management/include/G4KL3DecayChannel.hh b/source/particles/management/include/G4KL3DecayChannel.hh index 5ceb91ad95..073c248363 100644 --- a/source/particles/management/include/G4KL3DecayChannel.hh +++ b/source/particles/management/include/G4KL3DecayChannel.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4KL3DecayChannel.hh,v 1.5 2006/06/29 19:23:33 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4KL3DecayChannel.hh,v 1.6 2010/10/30 07:55:00 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -89,7 +89,6 @@ class G4KL3DecayChannel :public G4VDecayChannel // coefficients G4double pLambda; G4double pXi0; - G4double pNormalization; public: void SetDalitzParameter(G4double aLambda, G4double aXi ); diff --git a/source/particles/management/include/G4ParticleDefinition.hh b/source/particles/management/include/G4ParticleDefinition.hh index 866485fcd5..40df4b0e65 100644 --- a/source/particles/management/include/G4ParticleDefinition.hh +++ b/source/particles/management/include/G4ParticleDefinition.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleDefinition.hh,v 1.33 2008/11/14 16:26:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ParticleDefinition.hh,v 1.34 2010/08/10 15:47:42 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -160,7 +160,7 @@ class G4ParticleDefinition void SetPDGLifeTime(G4double aLifeTime) { thePDGLifeTime = aLifeTime; } public:// With Description - G4DecayTable* GetDecayTable(); + G4DecayTable* GetDecayTable() const; void SetDecayTable(G4DecayTable* aDecayTable); // Set/Get Decay Table // !! Decay Table can be modified !! @@ -171,7 +171,7 @@ class G4ParticleDefinition // Set/Get Process Manager // !! Process Manager can be modified !! - G4ParticleTable* GetParticleTable(); + G4ParticleTable* GetParticleTable() const; // get pointer to the particle table void DumpTable() const; diff --git a/source/particles/management/include/G4ParticleDefinition.icc b/source/particles/management/include/G4ParticleDefinition.icc index 4d897b5758..fe80a21122 100644 --- a/source/particles/management/include/G4ParticleDefinition.icc +++ b/source/particles/management/include/G4ParticleDefinition.icc @@ -24,18 +24,18 @@ // ******************************************************************** // // -// $Id: G4ParticleDefinition.icc,v 1.14 2009/03/27 20:33:50 gum Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ParticleDefinition.icc,v 1.15 2010/08/10 15:47:42 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // inline - G4ParticleTable* G4ParticleDefinition::GetParticleTable() + G4ParticleTable* G4ParticleDefinition::GetParticleTable() const { return theParticleTable; } inline - G4DecayTable* G4ParticleDefinition::GetDecayTable() + G4DecayTable* G4ParticleDefinition::GetDecayTable() const { return theDecayTable; } diff --git a/source/particles/management/include/G4ParticleTable.hh b/source/particles/management/include/G4ParticleTable.hh index b951d35231..42fececadd 100644 --- a/source/particles/management/include/G4ParticleTable.hh +++ b/source/particles/management/include/G4ParticleTable.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleTable.hh,v 1.21 2008/03/22 06:03:40 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParticleTable.hh,v 1.22 2010/10/30 07:55:00 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -208,7 +208,6 @@ class G4ParticleTable G4PTblDictionary* fDictionary; G4PTblDicIterator* fIterator; G4PTblEncodingDictionary* fEncodingDictionary; - G4int DictionaryBucketSize; static G4ParticleTable* fgParticleTable; diff --git a/source/particles/management/include/G4PrimaryParticle.hh b/source/particles/management/include/G4PrimaryParticle.hh index bb6e15af5d..599b34b5c5 100644 --- a/source/particles/management/include/G4PrimaryParticle.hh +++ b/source/particles/management/include/G4PrimaryParticle.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PrimaryParticle.hh,v 1.4 2006/09/28 14:29:43 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PrimaryParticle.hh,v 1.8 2010/10/27 07:47:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -76,10 +76,10 @@ class G4PrimaryParticle G4double px,G4double py,G4double pz); G4PrimaryParticle(G4int Pcode, G4double px,G4double py,G4double pz,G4double E); - G4PrimaryParticle(G4ParticleDefinition* Gcode); - G4PrimaryParticle(G4ParticleDefinition* Gcode, + G4PrimaryParticle(const G4ParticleDefinition* Gcode); + G4PrimaryParticle(const G4ParticleDefinition* Gcode, G4double px,G4double py,G4double pz); - G4PrimaryParticle(G4ParticleDefinition* Gcode, + G4PrimaryParticle(const G4ParticleDefinition* Gcode, G4double px,G4double py,G4double pz,G4double E); ~G4PrimaryParticle(); @@ -93,7 +93,7 @@ class G4PrimaryParticle private: G4int PDGcode; - G4ParticleDefinition * G4code; + const G4ParticleDefinition * G4code; G4double Px; G4double Py; G4double Pz; @@ -129,6 +129,8 @@ class G4PrimaryParticle inline G4int GetPDGcode() const { return PDGcode; } inline G4ParticleDefinition * GetG4code() const + { return const_cast(G4code); } + inline const G4ParticleDefinition * GetParticleDefinition() const { return G4code; } inline G4ThreeVector GetMomentum() const { return G4ThreeVector(Px,Py,Pz); } @@ -161,7 +163,8 @@ class G4PrimaryParticle public: // with description // Followings are available Set methods. void SetPDGcode(G4int Pcode); - void SetG4code(G4ParticleDefinition * Gcode); + void SetG4code(const G4ParticleDefinition * Gcode); + void SetParticleDefinition(const G4ParticleDefinition * pdef); inline void SetMomentum(G4double px, G4double py, G4double pz) { Px = px; diff --git a/source/particles/management/include/G4PrimaryVertex.hh b/source/particles/management/include/G4PrimaryVertex.hh index a55cd730ae..00b90cbce6 100644 --- a/source/particles/management/include/G4PrimaryVertex.hh +++ b/source/particles/management/include/G4PrimaryVertex.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PrimaryVertex.hh,v 1.4 2006/07/20 15:14:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PrimaryVertex.hh,v 1.6 2010/10/27 07:47:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // diff --git a/source/particles/management/include/G4ShortLivedTable.hh b/source/particles/management/include/G4ShortLivedTable.hh index ef18acc80e..cf27afd9a7 100644 --- a/source/particles/management/include/G4ShortLivedTable.hh +++ b/source/particles/management/include/G4ShortLivedTable.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ShortLivedTable.hh,v 1.13 2008/03/20 02:23:31 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ShortLivedTable.hh,v 1.14 2010/08/10 15:47:42 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -57,7 +57,7 @@ class G4ShortLivedTable public: // Use STL Vector as list of shortlives - typedef std::vector G4ShortLivedList; + typedef std::vector G4ShortLivedList; public: G4ShortLivedTable(); @@ -68,7 +68,7 @@ class G4ShortLivedTable public: // With Description virtual ~G4ShortLivedTable(); - G4bool IsShortLived(G4ParticleDefinition*) const; + G4bool IsShortLived(const G4ParticleDefinition*) const; // return true if the particle is shortlived particle void DumpTable(const G4String &particle_name = "ALL") const; @@ -80,10 +80,10 @@ class G4ShortLivedTable G4bool Contains(const G4ParticleDefinition *particle) const; // return true if the list contains the specified particle - void Insert(G4ParticleDefinition* particle); + void Insert(const G4ParticleDefinition* particle); // add the particle in the list - void Remove(G4ParticleDefinition* particle); + void Remove(const G4ParticleDefinition* particle); // remove the particle (not delete) from the list G4ParticleDefinition* GetParticle(G4int index) const; @@ -131,7 +131,7 @@ inline G4ParticleDefinition* G4ShortLivedTable::GetParticle(G4int index) const { if ( (index >=0 ) && (index < Entries()) ) { - return (*fShortLivedList)[index]; + return const_cast( (*fShortLivedList)[index] ); } else { return 0; } diff --git a/source/particles/management/include/G4VDecayChannel.hh b/source/particles/management/include/G4VDecayChannel.hh index 3574b866bb..127593de9b 100644 --- a/source/particles/management/include/G4VDecayChannel.hh +++ b/source/particles/management/include/G4VDecayChannel.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VDecayChannel.hh,v 1.12 2006/06/29 19:24:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VDecayChannel.hh,v 1.13 2010/08/10 15:47:42 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -86,7 +86,7 @@ class G4VDecayChannel public: // With Description //get kinematics name - G4String GetKinematicsName() const; + const G4String& GetKinematicsName() const; //get branching ratio G4double GetBR() const; //get number of daughter particles @@ -260,7 +260,7 @@ inline } inline - G4String G4VDecayChannel::GetKinematicsName() const { return kinematics_name; } + const G4String& G4VDecayChannel::GetKinematicsName() const { return kinematics_name; } inline void G4VDecayChannel::SetBR(G4double value){ rbranch = value; } diff --git a/source/particles/management/sources.cmake b/source/particles/management/sources.cmake new file mode 100644 index 0000000000..5bee6c907f --- /dev/null +++ b/source/particles/management/sources.cmake @@ -0,0 +1,128 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4partman +# Package: Geant4.src.G4particles.G4partman +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:49:08 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4partman + HEADERS + G4DalitzDecayChannel.hh + G4DecayProducts.hh + G4DecayTable.hh + G4DecayTableMessenger.hh + G4DynamicParticle.hh + G4DynamicParticle.icc + G4DynamicParticleFastVector.hh + G4ElectronOccupancy.hh + G4HyperNucleiProperties.hh + G4IonTable.hh + G4Ions.hh + G4IsotopeProperty.hh + G4KL3DecayChannel.hh + G4MuonDecayChannel.hh + G4MuonDecayChannelWithSpin.hh + G4MuonRadiativeDecayChannelWithSpin.hh + G4NeutronBetaDecayChannel.hh + G4NucleiProperties.hh + G4NucleiPropertiesTableAME03.hh + G4NucleiPropertiesTheoreticalTable.hh + G4PDGCodeChecker.hh + G4ParticleDefinition.hh + G4ParticleDefinition.icc + G4ParticleMessenger.hh + G4ParticleMomentum.hh + G4ParticlePropertyData.hh + G4ParticlePropertyData.icc + G4ParticlePropertyMessenger.hh + G4ParticlePropertyTable.hh + G4ParticleTable.hh + G4ParticleTable.icc + G4ParticleTableIterator.hh + G4ParticleWithCuts.hh + G4PhaseSpaceDecayChannel.hh + G4PionRadiativeDecayChannel.hh + G4PrimaryParticle.hh + G4PrimaryVertex.hh + G4ShortLivedTable.hh + G4TauLeptonicDecayChannel.hh + G4VDecayChannel.hh + G4VIsotopeTable.hh + G4VUserPrimaryParticleInformation.hh + G4VUserPrimaryVertexInformation.hh + SOURCES + G4DalitzDecayChannel.cc + G4DecayProducts.cc + G4DecayTable.cc + G4DecayTableMessenger.cc + G4DynamicParticle.cc + G4ElectronOccupancy.cc + G4HyperNucleiProperties.cc + G4IonTable.cc + G4Ions.cc + G4IsotopeProperty.cc + G4KL3DecayChannel.cc + G4MuonDecayChannel.cc + G4MuonDecayChannelWithSpin.cc + G4MuonRadiativeDecayChannelWithSpin.cc + G4NeutronBetaDecayChannel.cc + G4NucleiProperties.cc + G4NucleiPropertiesTableAME03.cc + G4NucleiPropertiesTheoreticalTableA.cc + G4NucleiPropertiesTheoreticalTableB.cc + G4PDGCodeChecker.cc + G4ParticleDefinition.cc + G4ParticleMessenger.cc + G4ParticlePropertyData.cc + G4ParticlePropertyMessenger.cc + G4ParticlePropertyTable.cc + G4ParticleTable.cc + G4PhaseSpaceDecayChannel.cc + G4PionRadiativeDecayChannel.cc + G4PrimaryParticle.cc + G4PrimaryVertex.cc + G4ShortLivedTable.cc + G4TauLeptonicDecayChannel.cc + G4VDecayChannel.cc + G4VUserPrimaryParticleInformation.cc + G4VUserPrimaryVertexInformation.cc + GRANULAR_DEPENDENCIES + G4geometrymng + G4globman + G4intercoms + G4materials + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/particles/management/src/G4DecayProducts.cc b/source/particles/management/src/G4DecayProducts.cc index 26cc14dad7..2ae1f96ff6 100644 --- a/source/particles/management/src/G4DecayProducts.cc +++ b/source/particles/management/src/G4DecayProducts.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DecayProducts.cc,v 1.17 2009/04/02 02:24:53 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DecayProducts.cc,v 1.19 2010/10/30 07:55:00 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -50,18 +50,30 @@ G4Allocator aDecayProductsAllocator; G4DecayProducts::G4DecayProducts() :numberOfProducts(0),theParentParticle(0) { - + //clear theProductVector + for (size_t i=0;i0.0) && (std::fabs(direction.mag()-1.0) >1.0e-6 ) ) { #ifdef G4VERBOSE - G4cout << " Momentum Direction Vector of Parent is not normalized "; - G4cout << " (=" << direction.mag() << ")" << G4endl; + G4cerr << "G4DecayProducts::IsChecked():: " + << " Momentum Direction Vector of Parent is not normalized " + << " (=" << direction.mag() << ")" << G4endl; #endif returnValue = false; parent_momentum = parent_momentum * (1./direction.mag()); @@ -262,8 +275,9 @@ G4bool G4DecayProducts::IsChecked() const // check momentum dirction is a unit vector if ( (momentum.mag()>0.0) && (std::fabs(direction.mag()-1.0) > 1.0e-6)) { #ifdef G4VERBOSE - G4cout << " Momentum Direction Vector of Daughter [" << index; - G4cout << "] is not normalized (=" << direction.mag() << ")" << G4endl; + G4cerr << "G4DecayProducts::IsChecked():: " + << " Momentum Direction Vector of Daughter [" << index + << "] is not normalized (=" << direction.mag() << ")" << G4endl; #endif returnValue = false; momentum = momentum * (1./direction.mag()); @@ -271,7 +285,8 @@ G4bool G4DecayProducts::IsChecked() const // whether daughter stops or not if (energy - mass < DBL_MIN ) { #ifdef G4VERBOSE - G4cout << "Daughter [" << index << "] has no kinetic energy "<< G4endl; + G4cerr << "G4DecayProducts::IsChecked():: " + << " Daughter [" << index << "] has no kinetic energy "<< G4endl; #endif returnValue = false; } @@ -281,10 +296,11 @@ G4bool G4DecayProducts::IsChecked() const // check energy/momentum conservation if ( (std::fabs(total_energy) >1.0e-9*MeV) || (total_momentum.mag() >1.0e-9*MeV ) ){ #ifdef G4VERBOSE - G4cout << " Energy/Momentum is not conserved "<< G4endl; - G4cout << " difference between parent energy and sum of dughters' energy : " + G4cerr << "G4DecayProducts::IsChecked():: " + << " Energy/Momentum is not conserved "<< G4endl; + G4cerr << " difference between parent energy and sum of dughters' energy : " << total_energy /MeV << "[MeV] " << G4endl; - G4cout << " difference between parent momentum and sum of dughters' momentum : " + G4cerr << " difference between parent momentum and sum of dughters' momentum : " << " x:" << total_momentum.getX()/MeV << " y:" << total_momentum.getY()/MeV << " z:" << total_momentum.getZ()/MeV diff --git a/source/particles/management/src/G4DecayTable.cc b/source/particles/management/src/G4DecayTable.cc index 9b52724a90..e6099877e5 100644 --- a/source/particles/management/src/G4DecayTable.cc +++ b/source/particles/management/src/G4DecayTable.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DecayTable.cc,v 1.8 2006/06/29 19:25:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DecayTable.cc,v 1.9 2010/05/20 01:01:07 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // ------------------------------------------------------------ @@ -62,9 +62,9 @@ void G4DecayTable::Insert( G4VDecayChannel * aChannel){ if (parent == 0) { parent = (G4ParticleDefinition*)(aChannel->GetParent()); } if (parent != aChannel->GetParent()) { #ifdef G4VERBOSE - G4cout << " G4DecayTable::Insert :: bad G4VDecayChannel (mismatch parent) "; - G4cout << " " << parent->GetParticleName(); - G4cout << " input:" << aChannel->GetParent()->GetParticleName() << G4endl; + G4cerr << " G4DecayTable::Insert :: bad G4VDecayChannel (mismatch parent) " + << " " << parent->GetParticleName() + << " input:" << aChannel->GetParent()->GetParticleName() << G4endl; #endif } else { G4double r = aChannel->GetBR(); diff --git a/source/particles/management/src/G4DynamicParticle.cc b/source/particles/management/src/G4DynamicParticle.cc index 87cda427a4..37fb2d905d 100644 --- a/source/particles/management/src/G4DynamicParticle.cc +++ b/source/particles/management/src/G4DynamicParticle.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DynamicParticle.cc,v 1.26 2009/08/17 14:52:19 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DynamicParticle.cc,v 1.30 2010/08/10 15:47:42 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -58,7 +58,8 @@ // fixed problem of massless particles // revised by V.Ivanchenko, 18 June 2003 // take into account the case of virtual photons -// +// revised by M.Kelsey 12 May 2010 +// ensure that all constructors initialize all data members //-------------------------------------------------------------- #include "G4DynamicParticle.hh" @@ -74,150 +75,112 @@ static const G4double EnergyMomentumRelationAllowance = keV; //////////////////// G4DynamicParticle::G4DynamicParticle(): - theMomentumDirection(G4ThreeVector(0.0,0.0,1.0)), + theMomentumDirection(0.0,0.0,1.0), theParticleDefinition(0), theKineticEnergy(0.0), theProperTime(0.0), + theDynamicalMass(0.0), + theDynamicalCharge(0.0), + theDynamicalSpin(0.0), + theDynamicalMagneticMoment(0.0), + theElectronOccupancy(0), thePreAssignedDecayProducts(0), thePreAssignedDecayTime(-1.0), verboseLevel(1), primaryParticle(0), - thePDGcode(0) -{ - theDynamicalMass = 0.0; - theDynamicalCharge= 0.0; - theElectronOccupancy = 0; -} + thePDGcode(0) {} //////////////////// // -- constructors ---- //////////////////// -G4DynamicParticle::G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, +G4DynamicParticle::G4DynamicParticle(const G4ParticleDefinition * aParticleDefinition, const G4ThreeVector& aMomentumDirection, G4double aKineticEnergy): theMomentumDirection(aMomentumDirection), theParticleDefinition(aParticleDefinition), theKineticEnergy(aKineticEnergy), theProperTime(0.0), + theDynamicalMass(aParticleDefinition->GetPDGMass()), + theDynamicalCharge(aParticleDefinition->GetPDGCharge()), + theDynamicalSpin(aParticleDefinition->GetPDGSpin()), + theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()), + theElectronOccupancy(0), thePreAssignedDecayProducts(0), thePreAssignedDecayTime(-1.0), verboseLevel(1), primaryParticle(0), - thePDGcode(0) -{ - // set dynamic charge/mass - theDynamicalMass = aParticleDefinition->GetPDGMass(); - theDynamicalCharge = aParticleDefinition->GetPDGCharge(); - theDynamicalMagneticMoment = aParticleDefinition->GetPDGMagneticMoment(); - AllocateElectronOccupancy(); -} + thePDGcode(0) {} //////////////////// -G4DynamicParticle::G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, +G4DynamicParticle::G4DynamicParticle(const G4ParticleDefinition * aParticleDefinition, const G4ThreeVector& aParticleMomentum): theParticleDefinition(aParticleDefinition), + theKineticEnergy(0.0), theProperTime(0.0), + theDynamicalMass(aParticleDefinition->GetPDGMass()), + theDynamicalCharge(aParticleDefinition->GetPDGCharge()), + theDynamicalSpin(aParticleDefinition->GetPDGSpin()), + theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()), + theElectronOccupancy(0), thePreAssignedDecayProducts(0), thePreAssignedDecayTime(-1.0), verboseLevel(1), primaryParticle(0), thePDGcode(0) { - // set dynamic charge/mass - theDynamicalMass = aParticleDefinition->GetPDGMass(); - theDynamicalCharge = aParticleDefinition->GetPDGCharge(); - theDynamicalMagneticMoment = aParticleDefinition->GetPDGMagneticMoment(); - AllocateElectronOccupancy(); - // 3-dim momentum is given - G4double pModule2 = aParticleMomentum.mag2(); - if (pModule2>0.0) { - G4double mass = theDynamicalMass; - SetKineticEnergy(std::sqrt(pModule2+mass*mass)-mass); - G4double pModule = std::sqrt(pModule2); - SetMomentumDirection(aParticleMomentum.x()/pModule, - aParticleMomentum.y()/pModule, - aParticleMomentum.z()/pModule); - } else { - SetMomentumDirection(1.0,0.0,0.0); - SetKineticEnergy(0.0); - } + SetMomentum(aParticleMomentum); } //////////////////// -G4DynamicParticle::G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, +G4DynamicParticle::G4DynamicParticle(const G4ParticleDefinition * aParticleDefinition, const G4LorentzVector &aParticleMomentum): theParticleDefinition(aParticleDefinition), + theKineticEnergy(0.0), theProperTime(0.0), + theDynamicalMass(aParticleDefinition->GetPDGMass()), + theDynamicalCharge(aParticleDefinition->GetPDGCharge()), + theDynamicalSpin(aParticleDefinition->GetPDGSpin()), + theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()), + theElectronOccupancy(0), thePreAssignedDecayProducts(0), thePreAssignedDecayTime(-1.0), verboseLevel(1), primaryParticle(0), thePDGcode(0) { - // set dynamic charge/mass - theDynamicalMass = aParticleDefinition->GetPDGMass(); - theDynamicalCharge = aParticleDefinition->GetPDGCharge(); - theDynamicalMagneticMoment = aParticleDefinition->GetPDGMagneticMoment(); - AllocateElectronOccupancy(); - // 4-momentum vector (Lorentz vecotr) is given - G4double pModule2 = aParticleMomentum.x()*aParticleMomentum.x() - + aParticleMomentum.y()*aParticleMomentum.y() - + aParticleMomentum.z()*aParticleMomentum.z(); - if (pModule2>0.0) { - G4double pModule = std::sqrt(pModule2); - SetMomentumDirection(aParticleMomentum.x()/pModule, - aParticleMomentum.y()/pModule, - aParticleMomentum.z()/pModule); - G4double totalenergy = aParticleMomentum.t(); - G4double mass2 = totalenergy*totalenergy - pModule2; - if(mass2 < EnergyMomentumRelationAllowance*EnergyMomentumRelationAllowance) { - theDynamicalMass = 0.; - SetKineticEnergy(totalenergy); - } else { - theDynamicalMass = std::sqrt(mass2); - SetKineticEnergy(totalenergy-theDynamicalMass); - } - - } else { - SetMomentumDirection(1.0,0.0,0.0); - SetKineticEnergy(0.0); - } + Set4Momentum(aParticleMomentum); } -G4DynamicParticle::G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, +G4DynamicParticle::G4DynamicParticle(const G4ParticleDefinition * aParticleDefinition, G4double totalEnergy, const G4ThreeVector &aParticleMomentum): theParticleDefinition(aParticleDefinition), + theKineticEnergy(0.0), theProperTime(0.0), + theDynamicalMass(aParticleDefinition->GetPDGMass()), + theDynamicalCharge(aParticleDefinition->GetPDGCharge()), + theDynamicalSpin(aParticleDefinition->GetPDGSpin()), + theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()), + theElectronOccupancy(0), thePreAssignedDecayProducts(0), thePreAssignedDecayTime(-1.0), verboseLevel(1), primaryParticle(0), thePDGcode(0) { - // set dynamic charge/mass - theDynamicalMass = aParticleDefinition->GetPDGMass(); - theDynamicalCharge = aParticleDefinition->GetPDGCharge(); - theDynamicalMagneticMoment = aParticleDefinition->GetPDGMagneticMoment(); - AllocateElectronOccupancy(); - - // total energy and momentum direction are given + // total energy and 3-dim momentum are given G4double pModule2 = aParticleMomentum.mag2(); if (pModule2>0.0) { - G4double pModule = std::sqrt(pModule2); - SetMomentumDirection(aParticleMomentum.x()/pModule, - aParticleMomentum.y()/pModule, - aParticleMomentum.z()/pModule); - G4double mass2 = totalEnergy*totalEnergy - pModule2; if(mass2 < EnergyMomentumRelationAllowance*EnergyMomentumRelationAllowance) { theDynamicalMass = 0.; + SetMomentumDirection(aParticleMomentum.unit()); SetKineticEnergy(totalEnergy); } else { theDynamicalMass = std::sqrt(mass2); - SetKineticEnergy(totalEnergy-theDynamicalMass); + SetMomentum(aParticleMomentum); } } else { SetMomentumDirection(1.0,0.0,0.0); @@ -226,34 +189,27 @@ G4DynamicParticle::G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, } //////////////////// -G4DynamicParticle::G4DynamicParticle(const G4DynamicParticle &right) +G4DynamicParticle::G4DynamicParticle(const G4DynamicParticle &right): + theMomentumDirection(right.theMomentumDirection), + theParticleDefinition(right.theParticleDefinition), + thePolarization(right.thePolarization), + theKineticEnergy(right.theKineticEnergy), + theProperTime(0.0), + theDynamicalMass(right.theDynamicalMass), + theDynamicalCharge(right.theDynamicalCharge), + theDynamicalSpin(right.theDynamicalSpin), + theDynamicalMagneticMoment(right.theDynamicalMagneticMoment), + theElectronOccupancy(0), + thePreAssignedDecayProducts(0), // Do not copy preassignedDecayProducts + thePreAssignedDecayTime(-1.0), + verboseLevel(right.verboseLevel), + primaryParticle(right.primaryParticle), + thePDGcode(right.thePDGcode) { - theDynamicalMass = right.theDynamicalMass; - theDynamicalCharge = right.theDynamicalCharge; - theDynamicalMagneticMoment = right.theDynamicalMagneticMoment; - - if (right.theElectronOccupancy != 0){ + if (right.theElectronOccupancy != 0) { theElectronOccupancy = new G4ElectronOccupancy(*right.theElectronOccupancy); - } else { - theElectronOccupancy = 0; } - - theParticleDefinition = right.theParticleDefinition; - theMomentumDirection = right.theMomentumDirection; - theKineticEnergy = right.theKineticEnergy; - thePolarization = right.thePolarization; - verboseLevel = right.verboseLevel; - - // proper time is set to zero - theProperTime = 0.0; - - // thePreAssignedDecayProducts/Time must not be copied. - thePreAssignedDecayProducts = 0; - thePreAssignedDecayTime = -1.0; - - primaryParticle = right.primaryParticle; - thePDGcode = right.thePDGcode; } //////////////////// @@ -276,8 +232,15 @@ G4DynamicParticle::~G4DynamicParticle() { G4DynamicParticle & G4DynamicParticle::operator=(const G4DynamicParticle &right) { if (this != &right) { + theMomentumDirection = right.theMomentumDirection; + theParticleDefinition = right.theParticleDefinition; + thePolarization = right.thePolarization; + theKineticEnergy = right.theKineticEnergy; + theProperTime = right.theProperTime; + theDynamicalMass = right.theDynamicalMass; theDynamicalCharge = right.theDynamicalCharge; + theDynamicalSpin = right.theDynamicalSpin; theDynamicalMagneticMoment = right.theDynamicalMagneticMoment; if (theElectronOccupancy != 0) delete theElectronOccupancy; @@ -288,34 +251,32 @@ G4DynamicParticle & G4DynamicParticle::operator=(const G4DynamicParticle &right) theElectronOccupancy = 0; } - theParticleDefinition = right.theParticleDefinition; - theMomentumDirection = right.theMomentumDirection; - theKineticEnergy = right.theKineticEnergy; - thePolarization = right.thePolarization; - theProperTime = right.theProperTime; - verboseLevel = right.verboseLevel; - // thePreAssignedDecayProducts must not be copied. thePreAssignedDecayProducts = 0; thePreAssignedDecayTime = -1.0; + verboseLevel = right.verboseLevel; + + // Primary particle information must be preserved + //*** primaryParticle = right.primaryParticle; + + thePDGcode = right.thePDGcode; } return *this; } //////////////////// -void G4DynamicParticle::SetDefinition(G4ParticleDefinition * aParticleDefinition) +void G4DynamicParticle::SetDefinition(const G4ParticleDefinition * aParticleDefinition) { // remove preassigned decay if (thePreAssignedDecayProducts != 0) { #ifdef G4VERBOSE if (verboseLevel>0) { - G4cout << " G4DynamicParticle::SetDefinition()::"; - G4cout << "!!! Pre-assigned decay products is attached !!!! " << G4endl; - DumpInfo(0); - G4cout << "!!! New Definition is " << aParticleDefinition->GetParticleName() + G4cerr << " G4DynamicParticle::SetDefinition()::" + << "!!! Pre-assigned decay products is attached !!!! " << G4endl; + G4cerr << "!!! New Definition is " << aParticleDefinition->GetParticleName() << " !!! " << G4endl; - G4cout << "!!! Pre-assigned decay products will be deleted !!!! " << G4endl; + G4cerr << "!!! Pre-assigned decay products will be deleted !!!! " << G4endl; } #endif delete thePreAssignedDecayProducts; @@ -323,15 +284,17 @@ void G4DynamicParticle::SetDefinition(G4ParticleDefinition * aParticleDefinition thePreAssignedDecayProducts = 0; theParticleDefinition = aParticleDefinition; + // set Dynamic mass/chrge theDynamicalMass = theParticleDefinition->GetPDGMass(); theDynamicalCharge = theParticleDefinition->GetPDGCharge(); + theDynamicalSpin = theParticleDefinition->GetPDGSpin(); theDynamicalMagneticMoment = theParticleDefinition->GetPDGMagneticMoment(); // Set electron orbits if (theElectronOccupancy != 0) delete theElectronOccupancy; theElectronOccupancy =0; - AllocateElectronOccupancy(); + //AllocateElectronOccupancy(); } @@ -354,7 +317,7 @@ G4int G4DynamicParticle::operator!=(const G4DynamicParticle &right) const //////////////////// void G4DynamicParticle::AllocateElectronOccupancy() { - G4ParticleDefinition* particle = GetDefinition(); + const G4ParticleDefinition* particle = GetDefinition(); if (G4IonTable::IsIon(particle)) { // Only ions can have ElectronOccupancy @@ -374,10 +337,7 @@ void G4DynamicParticle::SetMomentum(const G4ThreeVector &momentum) G4double pModule2 = momentum.mag2(); if (pModule2>0.0) { G4double mass = theDynamicalMass; - G4double pModule = std::sqrt(pModule2); - SetMomentumDirection(momentum.x()/pModule, - momentum.y()/pModule, - momentum.z()/pModule); + SetMomentumDirection(momentum.unit()); SetKineticEnergy(std::sqrt(pModule2 + mass*mass)-mass); } else { SetMomentumDirection(1.0,0.0,0.0); @@ -388,24 +348,18 @@ void G4DynamicParticle::SetMomentum(const G4ThreeVector &momentum) //////////////////// void G4DynamicParticle::Set4Momentum(const G4LorentzVector &momentum ) { - G4double pModule2 = momentum.x()*momentum.x() - + momentum.y()*momentum.y() - + momentum.z()*momentum.z(); + G4double pModule2 = momentum.vect().mag2(); if (pModule2>0.0) { - G4double pModule = std::sqrt(pModule2); - SetMomentumDirection(momentum.x()/pModule, - momentum.y()/pModule, - momentum.z()/pModule); + SetMomentumDirection(momentum.vect().unit()); G4double totalenergy = momentum.t(); G4double mass2 = totalenergy*totalenergy - pModule2; - if(mass2 < 0.0001*MeV*MeV) { + if(mass2 < EnergyMomentumRelationAllowance*EnergyMomentumRelationAllowance) { theDynamicalMass = 0.; SetKineticEnergy(totalenergy); } else { theDynamicalMass = std::sqrt(mass2); SetKineticEnergy(totalenergy-theDynamicalMass); } - } else { SetMomentumDirection(1.0,0.0,0.0); SetKineticEnergy(0.0); diff --git a/source/particles/management/src/G4IonTable.cc b/source/particles/management/src/G4IonTable.cc index 5a01e70be9..d8de8e2ea6 100644 --- a/source/particles/management/src/G4IonTable.cc +++ b/source/particles/management/src/G4IonTable.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IonTable.cc,v 1.60 2009/09/23 12:13:48 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4IonTable.cc,v 1.65 2010/10/16 06:04:51 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -109,9 +109,9 @@ G4ParticleDefinition* G4IonTable::CreateIon(G4int Z, G4int A, if (currentState == G4State_PreInit){ #ifdef G4VERBOSE if (GetVerboseLevel()>1) { - G4cout << "G4IonTable::CreateIon() : can not create ion of "; - G4cout << " Z =" << Z << " A = " << A << G4endl; - G4cout << " because the current state is PreInit !!" << G4endl; + G4cerr << "G4IonTable::CreateIon() : can not create ion of " + << " Z =" << Z << " A = " << A + << " because the current state is PreInit !!" << G4endl; } #endif G4Exception( "G4IonTable::CreateIon()","Illegal operation", @@ -124,8 +124,8 @@ G4ParticleDefinition* G4IonTable::CreateIon(G4int Z, G4int A, if ( name(0) == '?') { #ifdef G4VERBOSE if (GetVerboseLevel()>0) { - G4cout << "G4IonTable::CreateIon() : can not create ions " << G4endl; - G4cout << " Z =" << Z << " A = " << A << G4endl; + G4cerr << "G4IonTable::CreateIon() : can not create ions " + << " Z =" << Z << " A = " << A << G4endl; } #endif return 0; @@ -195,9 +195,9 @@ G4ParticleDefinition* G4IonTable::CreateIon(G4int Z, G4int A, G4int L, if (currentState == G4State_PreInit){ #ifdef G4VERBOSE if (GetVerboseLevel()>1) { - G4cout << "G4IonTable::CreateIon() : can not create ion of "; - G4cout << " Z =" << Z << " A = " << A << " L = " <0) { - G4cout << "G4IonTable::CreateIon() : can not create ions " << G4endl; - G4cout << " Z =" << Z << " A = " << A << " L = " << L << G4endl; + G4cerr << "G4IonTable::CreateIon() : can not create ions " + << " Z =" << Z << " A = " << A << " L = " << L << G4endl; } #endif return 0; @@ -276,8 +276,8 @@ G4ParticleDefinition* G4IonTable::GetIon(G4int encoding) if (!GetNucleusByEncoding(encoding,Z,A,L,E,J) ){ #ifdef G4VERBOSE if (GetVerboseLevel()>0) { - G4cout << "G4IonTable::GetIon() : illegal encoding" << G4endl; - G4cout << " CODE:" << encoding << G4endl; + G4cerr << "G4IonTable::GetIon() : illegal encoding" + << " CODE:" << encoding << G4endl; } #endif G4Exception( "G4IonTable::GetIon()","Illegal operation", @@ -294,8 +294,8 @@ G4ParticleDefinition* G4IonTable::GetIon(G4int Z, G4int A, G4double E, G4int J) if ( (A<1) || (Z<=0) || (J<0) || (E<0.0) || (A>999) ) { #ifdef G4VERBOSE if (GetVerboseLevel()>0) { - G4cout << "G4IonTable::GetIon() : illegal atomic number/mass" << G4endl; - G4cout << " Z =" << Z << " A = " << A << " E = " << E/keV << G4endl; + G4cerr << "G4IonTable::GetIon() : illegal atomic number/mass" + << " Z =" << Z << " A = " << A << " E = " << E/keV << G4endl; } #endif return 0; @@ -320,8 +320,8 @@ G4ParticleDefinition* G4IonTable::GetIon(G4int Z, G4int A, G4int L, G4double E, if (A < 2 || Z < 0 || Z > A-L || L>A || A>999 ) { #ifdef G4VERBOSE if (GetVerboseLevel()>0) { - G4cout << "G4IonTable::GetIon() : illegal atomic number/mass" << G4endl; - G4cout << " Z =" << Z << " A = " << A << " L = " << L + G4cerr << "G4IonTable::GetIon() : illegal atomic number/mass" + << " Z =" << Z << " A = " << A << " L = " << L <<" E = " << E/keV << G4endl; } #endif @@ -329,8 +329,8 @@ G4ParticleDefinition* G4IonTable::GetIon(G4int Z, G4int A, G4int L, G4double E, } else if( A==2 ) { #ifdef G4VERBOSE if (GetVerboseLevel()>0) { - G4cout << "G4IonTable::GetIon() : No boud state for " << G4endl; - G4cout << " Z =" << Z << " A = " << A << " L = " << L + G4cerr << "G4IonTable::GetIon() : No boud state for " + << " Z =" << Z << " A = " << A << " L = " << L << " E = " << E/keV << G4endl; } #endif @@ -356,8 +356,8 @@ G4ParticleDefinition* G4IonTable::FindIon(G4int Z, G4int A, G4double E, G4int J) if ( (A<1) || (Z<=0) || (J<0) || (E<0.0) || (A>999) ) { #ifdef G4VERBOSE if (GetVerboseLevel()>0) { - G4cout << "G4IonTable::FindIon() : illegal atomic number/mass or excitation level " << G4endl; - G4cout << " Z =" << Z << " A = " << A << " E = " << E/keV << G4endl; + G4cerr << "G4IonTable::FindIon() : illegal atomic number/mass or excitation level " + << " Z =" << Z << " A = " << A << " E = " << E/keV << G4endl; } #endif G4Exception( "G4IonTable::FindIon()","Illegal operation", @@ -366,7 +366,7 @@ G4ParticleDefinition* G4IonTable::FindIon(G4int Z, G4int A, G4double E, G4int J) } // Search ions with A, Z ,E // !! J is omitted now !! - G4ParticleDefinition* ion=0; + const G4ParticleDefinition* ion=0; G4bool isFound = false; // -- loop over all particles in Ion table @@ -385,7 +385,7 @@ G4ParticleDefinition* G4IonTable::FindIon(G4int Z, G4int A, G4double E, G4int J) } if ( isFound ){ - return ion; + return const_cast(ion); } else { return 0; } @@ -402,8 +402,8 @@ G4ParticleDefinition* G4IonTable::FindIon(G4int Z, G4int A, G4int L, G4double E, if (A < 2 || Z < 0 || Z > A-L || L>A || A>999 ) { #ifdef G4VERBOSE if (GetVerboseLevel()>0) { - G4cout << "G4IonTable::FindIon() : illegal atomic number/mass or excitation level " << G4endl; - G4cout << " Z =" << Z << " A = " << A << " L = " << L + G4cerr << "G4IonTable::FindIon() : illegal atomic number/mass or excitation level " + << " Z =" << Z << " A = " << A << " L = " << L <<" E = " << E/keV << G4endl; } #endif @@ -413,7 +413,7 @@ G4ParticleDefinition* G4IonTable::FindIon(G4int Z, G4int A, G4int L, G4double E, } // Search ions with A, Z ,E // !! J is omitted now !! - G4ParticleDefinition* ion=0; + const G4ParticleDefinition* ion=0; G4bool isFound = false; // -- loop over all particles in Ion table @@ -434,7 +434,7 @@ G4ParticleDefinition* G4IonTable::FindIon(G4int Z, G4int A, G4int L, G4double E, } if ( isFound ){ - return ion; + return const_cast(ion); } else { return 0; } @@ -598,9 +598,14 @@ G4bool G4IonTable::IsIon(const G4ParticleDefinition* particle) static G4String proton("proton"); // neutron is not ion - if ((particle->GetAtomicMass() >0) && (particle->GetAtomicNumber()>0)) return true; + if ((particle->GetAtomicMass()>0) && + (particle->GetAtomicNumber()>0) ){ + if (particle->GetBaryonNumber()>0) return true; + else return false; + } + - // particles derived from G4VIon and G4Ions + // particles derived from G4Ions if (particle->GetParticleType() == nucleus) return true; // proton (Hydrogen nucleus) @@ -609,16 +614,49 @@ G4bool G4IonTable::IsIon(const G4ParticleDefinition* particle) return false; } +///////////////// +G4bool G4IonTable::IsAntiIon(const G4ParticleDefinition* particle) +{ + // return true if the particle is ion + + static G4String anti_nucleus("anti_nucleus"); + static G4String anti_proton("anti_proton"); + + // anti_neutron is not ion + if ((particle->GetAtomicMass()>0) && + (particle->GetAtomicNumber()>0) ){ + if (particle->GetBaryonNumber()<0) return true; + else return false; + } + + // particles derived from G4Ions + if (particle->GetParticleType() == anti_nucleus) return true; + + // anti_proton (Anti_Hydrogen nucleus) + if (particle->GetParticleName() == anti_proton) return true; + + return false; +} + ///////////////// #include -G4bool G4IonTable::IsLightIon(G4ParticleDefinition* particle) const +G4bool G4IonTable::IsLightIon(const G4ParticleDefinition* particle) const { - static const std::string names[] = { "proton", "neutron", "alpha", "deuteron", - "triton", "He3", "GenericIon"}; + static const std::string names[] = { "proton", "alpha", "deuteron", + "triton", "He3"}; // return true if the particle is pre-defined ion - return std::find(names, names+7, particle->GetParticleName())!=names+7; + return std::find(names, names+5, particle->GetParticleName())!=names+5; +} + +G4bool G4IonTable::IsLightAntiIon(const G4ParticleDefinition* particle) const +{ + static const std::string names[] = { "anti_proton", "anti_alpha", "anti_deuteron", + "anti_triton", "anti_He3"}; + + // return true if the particle is pre-defined ion + return std::find(names, names+5, particle->GetParticleName())!=names+5; } ///////////////// @@ -626,16 +664,14 @@ G4ParticleDefinition* G4IonTable::GetLightIon(G4int Z, G4int A) const { // returns pointer to pre-defined ions static G4bool isInitialized = false; - static G4ParticleDefinition* p_proton=0; - static G4ParticleDefinition* p_neutron=0; - static G4ParticleDefinition* p_deuteron=0; - static G4ParticleDefinition* p_triton=0; - static G4ParticleDefinition* p_alpha=0; - static G4ParticleDefinition* p_He3=0; + static const G4ParticleDefinition* p_proton=0; + static const G4ParticleDefinition* p_deuteron=0; + static const G4ParticleDefinition* p_triton=0; + static const G4ParticleDefinition* p_alpha=0; + static const G4ParticleDefinition* p_He3=0; if (!isInitialized) { p_proton = G4ParticleTable::GetParticleTable()->FindParticle("proton"); // proton - p_neutron = G4ParticleTable::GetParticleTable()->FindParticle("neutron"); // neutron p_deuteron = G4ParticleTable::GetParticleTable()->FindParticle("deuteron"); // deuteron p_triton = G4ParticleTable::GetParticleTable()->FindParticle("triton"); // tritoon p_alpha = G4ParticleTable::GetParticleTable()->FindParticle("alpha"); // alpha @@ -643,12 +679,10 @@ G4ParticleDefinition* G4IonTable::GetLightIon(G4int Z, G4int A) const isInitialized = true; } - G4ParticleDefinition* ion=0; + const G4ParticleDefinition* ion=0; if ( (Z<=2) ) { if ( (Z==1)&&(A==1) ) { ion = p_proton; - } else if ( (Z==0)&&(A==1) ) { - ion = p_neutron; } else if ( (Z==1)&&(A==2) ) { ion = p_deuteron; } else if ( (Z==1)&&(A==3) ) { @@ -659,9 +693,47 @@ G4ParticleDefinition* G4IonTable::GetLightIon(G4int Z, G4int A) const ion = p_He3; } } - return ion; + return const_cast(ion); } +///////////////// +G4ParticleDefinition* G4IonTable::GetLightAntiIon(G4int Z, G4int A) const +{ + // returns pointer to pre-defined ions + static G4bool isInitialized = false; + static const G4ParticleDefinition* p_proton=0; + static const G4ParticleDefinition* p_deuteron=0; + static const G4ParticleDefinition* p_triton=0; + static const G4ParticleDefinition* p_alpha=0; + static const G4ParticleDefinition* p_He3=0; + + if (!isInitialized) { + p_proton = G4ParticleTable::GetParticleTable()->FindParticle("anti_proton"); // proton + p_deuteron = G4ParticleTable::GetParticleTable()->FindParticle("anti_deuteron"); // deuteron + p_triton = G4ParticleTable::GetParticleTable()->FindParticle("anti_triton"); // tritoon + p_alpha = G4ParticleTable::GetParticleTable()->FindParticle("anti_alpha"); // alpha + p_He3 = G4ParticleTable::GetParticleTable()->FindParticle("anti_He3"); // He3 + isInitialized = true; + } + + const G4ParticleDefinition* ion=0; + if ( (Z<=2) ) { + if ( (Z==1)&&(A==1) ) { + ion = p_proton; + } else if ( (Z==1)&&(A==2) ) { + ion = p_deuteron; + } else if ( (Z==1)&&(A==3) ) { + ion = p_triton; + } else if ( (Z==2)&&(A==4) ) { + ion = p_alpha; + } else if ( (Z==2)&&(A==3) ) { + ion = p_He3; + } + } + return const_cast(ion); +} + + ///////////////// // -- GetNucleusMass/GetIonMass --- ///////////////// @@ -670,8 +742,8 @@ G4double G4IonTable::GetNucleusMass(G4int Z, G4int A, G4int L) const if ( (A<1) || (Z<0) || (L<0) ){ #ifdef G4VERBOSE if (GetVerboseLevel()>0) { - G4cout << "G4IonTable::GetNucleusMass() : illegal atomic number/mass " << G4endl; - G4cout << " Z =" << Z << " A = " << A << G4endl; + G4cerr << "G4IonTable::GetNucleusMass() : illegal atomic number/mass " + << " Z =" << Z << " A = " << A << G4endl; } #endif G4Exception( "G4IonTable::GetNucleusMass()","Illegal operation", @@ -682,7 +754,7 @@ G4double G4IonTable::GetNucleusMass(G4int Z, G4int A, G4int L) const G4double mass; if (L == 0) { // calculate nucleus mass - G4ParticleDefinition* ion=GetLightIon(Z, A); + const G4ParticleDefinition* ion=GetLightIon(Z, A); if (ion!=0) { mass = ion->GetPDGMass(); @@ -707,7 +779,7 @@ G4double G4IonTable::GetIonMass(G4int Z, G4int A, G4int L) const ///////////////// // -- Methods for handling conatiner --- ///////////////// -void G4IonTable::Insert(G4ParticleDefinition* particle) +void G4IonTable::Insert(const G4ParticleDefinition* particle) { if (!IsIon(particle)) return; if (Contains(particle)) return; @@ -717,12 +789,12 @@ void G4IonTable::Insert(G4ParticleDefinition* particle) G4int L = particle->GetQuarkContent(3); //strangeness G4int encoding=GetNucleusEncoding(Z, A, L); - fIonList->insert( std::pair(encoding, particle) ); + fIonList->insert( std::pair(encoding, particle) ); } ///////////////// -void G4IonTable::Remove(G4ParticleDefinition* particle) +void G4IonTable::Remove(const G4ParticleDefinition* particle) { if (IsIon(particle)) { G4int Z = particle->GetAtomicNumber(); @@ -741,8 +813,8 @@ void G4IonTable::Remove(G4ParticleDefinition* particle) } else { #ifdef G4VERBOSE if (GetVerboseLevel()>1) { - G4cout << "G4IonTable::Remove :" << particle->GetParticleName() ; - G4cout << " is not ions" << G4endl; + G4cerr << "G4IonTable::Remove :" << particle->GetParticleName() + << " is not ions" << G4endl; } #endif } @@ -756,7 +828,7 @@ void G4IonTable::Remove(G4ParticleDefinition* particle) ///////////////// void G4IonTable::DumpTable(const G4String &particle_name) const { - G4ParticleDefinition* ion; + const G4ParticleDefinition* ion; G4IonList::iterator idx; for (idx = fIonList->begin(); idx!= fIonList->end(); ++idx) { ion = idx->second; @@ -904,15 +976,17 @@ G4ParticleDefinition* G4IonTable::GetParticle(G4int index) const G4IonList::iterator idx = fIonList->begin(); G4int counter = 0; while( idx != fIonList->end() ){ - if ( counter == index ) return idx->second; + if ( counter == index ) { + return const_cast(idx->second); + } counter++; idx++; } } #ifdef G4VERBOSE if (GetVerboseLevel()>1){ - G4cout << " G4IonTable::GetParticle"; - G4cout << " invalid index (=" << index << ")" + G4cerr << " G4IonTable::GetParticle" + << " invalid index (=" << index << ")" << " entries = " << Entries() << G4endl; } #endif diff --git a/source/particles/management/src/G4Ions.cc b/source/particles/management/src/G4Ions.cc index d43a61f83d..df50468da0 100644 --- a/source/particles/management/src/G4Ions.cc +++ b/source/particles/management/src/G4Ions.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Ions.cc,v 1.16 2009/08/06 15:53:42 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Ions.cc,v 1.18 2010/12/15 07:39:02 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -66,8 +66,9 @@ G4Ions::G4Ions( theExcitationEnergy = excitation; if (GetAtomicNumber() == 0 ) { - SetAtomicNumber( G4int(GetPDGCharge()/eplus) ); - SetAtomicMass( GetBaryonNumber() ); + // AtomicNumber/Mass is positve even for anti_nulceus + SetAtomicNumber( std::abs(G4int(GetPDGCharge()/eplus)) ); + SetAtomicMass( std::abs(GetBaryonNumber()) ); } } diff --git a/source/particles/management/src/G4KL3DecayChannel.cc b/source/particles/management/src/G4KL3DecayChannel.cc index 2d8af48554..afdf2ddc51 100644 --- a/source/particles/management/src/G4KL3DecayChannel.cc +++ b/source/particles/management/src/G4KL3DecayChannel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4KL3DecayChannel.cc,v 1.9 2009/08/17 14:52:19 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4KL3DecayChannel.cc,v 1.10 2010/10/30 07:55:00 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -61,7 +61,12 @@ G4KL3DecayChannel::G4KL3DecayChannel( static const G4String Mu_minus("mu-"); static const G4String E_plus("e+"); static const G4String E_minus("e-"); - + + massK = 0.0; + daughterM[idPi] = 0.0; + daughterM[idLepton] = 0.0; + daughterM[idNutrino] = 0.0; + // check modes if ( ((theParentName == K_plus)&&(theLeptonName == E_plus)) || ((theParentName == K_minus)&&(theLeptonName == E_minus)) ) { diff --git a/source/particles/management/src/G4MuonDecayChannelWithSpin.cc b/source/particles/management/src/G4MuonDecayChannelWithSpin.cc index 5f645d877d..d34d87d367 100644 --- a/source/particles/management/src/G4MuonDecayChannelWithSpin.cc +++ b/source/particles/management/src/G4MuonDecayChannelWithSpin.cc @@ -42,6 +42,7 @@ #include "G4MuonDecayChannelWithSpin.hh" #include "Randomize.hh" + #include "G4DecayProducts.hh" #include "G4LorentzVector.hh" @@ -49,6 +50,8 @@ G4MuonDecayChannelWithSpin::G4MuonDecayChannelWithSpin(const G4String& theParent G4double theBR) : G4MuonDecayChannel(theParentName,theBR) { + EMMU = 0.*MeV; + EMASS = 0.*MeV; } G4MuonDecayChannelWithSpin::~G4MuonDecayChannelWithSpin() diff --git a/source/particles/management/src/G4MuonRadiativeDecayChannelWithSpin.cc b/source/particles/management/src/G4MuonRadiativeDecayChannelWithSpin.cc index a3322264a9..bf5950d4d2 100644 --- a/source/particles/management/src/G4MuonRadiativeDecayChannelWithSpin.cc +++ b/source/particles/management/src/G4MuonRadiativeDecayChannelWithSpin.cc @@ -73,6 +73,8 @@ G4MuonRadiativeDecayChannelWithSpin:: } #endif } + EMMU = 0.*MeV; + EMASS = 0.*MeV; } G4MuonRadiativeDecayChannelWithSpin::~G4MuonRadiativeDecayChannelWithSpin() @@ -491,7 +493,7 @@ G4double G4MuonRadiativeDecayChannelWithSpin::fron(G4double Pmu, G4double term3g = 2.0*nsg-2.0*nvg+ntg; G4double som00 = term1+(1.0-4.0/3.0*rho)*term2+eps*term3; - G4double som01 = -Pmu*ksi*(cthetaE*(nve-term1e*term2e+kap*term3e) + G4double som01 = Pmu*ksi*(cthetaE*(nve-term1e*term2e+kap*term3e) +cthetaG*(nvg-term1g*term2g+kap*term3g)); G4double som0 = som00+som01; diff --git a/source/particles/management/src/G4NucleiProperties.cc b/source/particles/management/src/G4NucleiProperties.cc index dc8911e2c2..9dc531a45f 100644 --- a/source/particles/management/src/G4NucleiProperties.cc +++ b/source/particles/management/src/G4NucleiProperties.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NucleiProperties.cc,v 1.21 2009/05/02 11:58:17 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4NucleiProperties.cc,v 1.23 2010/08/10 15:47:42 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -67,10 +67,11 @@ G4double G4NucleiProperties::GetNuclearMass(const G4double A, const G4double Z) return mass; } + G4double G4NucleiProperties::GetNuclearMass(const G4int A, const G4int Z) { if (mass_proton <= 0.0 ) { - G4ParticleDefinition * nucleus = 0; + const G4ParticleDefinition * nucleus = 0; nucleus = G4ParticleTable::GetParticleTable()->FindParticle("proton"); // proton if (nucleus!=0) mass_proton = nucleus->GetPDGMass(); nucleus = G4ParticleTable::GetParticleTable()->FindParticle("neutron"); // neutron @@ -89,7 +90,7 @@ G4double G4NucleiProperties::GetNuclearMass(const G4int A, const G4int Z) if (A < 1 || Z < 0 || Z > A) { #ifdef G4VERBOSE if (G4ParticleTable::GetParticleTable()->GetVerboseLevel()>0) { - G4cout << "G4NucleiProperties::GetNuclearMass: Wrong values for A = " << A + G4cerr << "G4NucleiProperties::GetNuclearMass: Wrong values for A = " << A << " and Z = " << Z << G4endl; } #endif @@ -142,7 +143,7 @@ G4bool G4NucleiProperties::IsInStableTable(const G4int A, const int Z) if (A < 1 || Z < 0 || Z > A) { #ifdef G4VERBOSE if (G4ParticleTable::GetParticleTable()->GetVerboseLevel()>0) { - G4cout << "G4NucleiProperties::IsInStableTable: Wrong values for A = " + G4cerr << "G4NucleiProperties::IsInStableTable: Wrong values for A = " << A << " and Z = " << Z << G4endl; } #endif @@ -165,7 +166,7 @@ G4double G4NucleiProperties::GetMassExcess(const G4int A, const G4int Z) if (A < 1 || Z < 0 || Z > A) { #ifdef G4VERBOSE if (G4ParticleTable::GetParticleTable()->GetVerboseLevel()>0) { - G4cout << "G4NucleiProperties::GetMassExccess: Wrong values for A = " + G4cerr << "G4NucleiProperties::GetMassExccess: Wrong values for A = " << A << " and Z = " << Z << G4endl; } #endif @@ -190,7 +191,7 @@ G4double G4NucleiProperties::GetAtomicMass(const G4double A, const G4double Z) if (A < 1 || Z < 0 || Z > A) { #ifdef G4VERBOSE if (G4ParticleTable::GetParticleTable()->GetVerboseLevel()>0) { - G4cout << "G4NucleiProperties::GetAtomicMass: Wrong values for A = " + G4cerr << "G4NucleiProperties::GetAtomicMass: Wrong values for A = " << A << " and Z = " << Z << G4endl; } #endif @@ -224,7 +225,7 @@ G4double G4NucleiProperties::GetBindingEnergy(const G4int A, const G4int Z) if (A < 1 || Z < 0 || Z > A) { #ifdef G4VERBOSE if (G4ParticleTable::GetParticleTable()->GetVerboseLevel()>0) { - G4cout << "G4NucleiProperties::GetMassExccess: Wrong values for A = " + G4cerr << "G4NucleiProperties::GetMassExccess: Wrong values for A = " << A << " and Z = " << Z << G4endl; } #endif @@ -264,7 +265,7 @@ G4double G4NucleiProperties::NuclearMass(G4double A, G4double Z) if (A < 1 || Z < 0 || Z > A) { #ifdef G4VERBOSE if (G4ParticleTable::GetParticleTable()->GetVerboseLevel()>0) { - G4cout << "G4NucleiProperties::NuclearMass: Wrong values for A = " + G4cerr << "G4NucleiProperties::NuclearMass: Wrong values for A = " << A << " and Z = " << Z << G4endl; } #endif diff --git a/source/particles/management/src/G4NucleiPropertiesTableAME03.cc b/source/particles/management/src/G4NucleiPropertiesTableAME03.cc index 673e002005..2599f3f894 100644 --- a/source/particles/management/src/G4NucleiPropertiesTableAME03.cc +++ b/source/particles/management/src/G4NucleiPropertiesTableAME03.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NucleiPropertiesTableAME03.cc,v 1.3 2009/05/02 11:58:17 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4NucleiPropertiesTableAME03.cc,v 1.4 2010/10/30 07:55:00 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -63,14 +63,17 @@ G4int G4NucleiPropertiesTableAME03::GetIndex(G4int Z, G4int A) G4Exception("G4NucleiPropertiesTableAME03::GetIndex", "Illegal arguemnt", EventMustBeAborted,"Nucleon number larger than 293!"); + return -1; } else if(A<1) { G4Exception("G4NucleiPropertiesTableAME03::GetIndex", "Illegal arguemnt", EventMustBeAborted," Nucleon number is negative!"); + return -1; } else if(Z>A) { G4Exception("G4NucleiPropertiesTableAME03::GetIndex", "Illegal arguemnt", EventMustBeAborted, "Nucleon number smaller than Z!"); + return -1; } G4int i = shortTable[A-1]; diff --git a/source/particles/management/src/G4PDGCodeChecker.cc b/source/particles/management/src/G4PDGCodeChecker.cc index c750140249..979bb811b8 100644 --- a/source/particles/management/src/G4PDGCodeChecker.cc +++ b/source/particles/management/src/G4PDGCodeChecker.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PDGCodeChecker.cc,v 1.12 2009/04/02 02:24:53 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PDGCodeChecker.cc,v 1.16 2010/12/15 07:39:05 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ---------------------------------------------------------------------- @@ -42,9 +42,18 @@ ///////////// G4PDGCodeChecker::G4PDGCodeChecker() + :code(0),theParticleType(""), + thePDGiSpin(0),higherSpin(0), + exotic(0),radial(0),multiplet(0), + quark1(0),quark2(0),quark3(0),spin(0) { - code = 0; verboseLevel = 1; + // clear QuarkContents + G4int flavor; + for (flavor=0; flavor0) { + theQuarkContent[0] = n_up; + theQuarkContent[1] = n_down; + theQuarkContent[2] = n_s; + } else { + // anti_nucleus + theAntiQuarkContent[0] = n_up; + theAntiQuarkContent[1] = n_down; + theAntiQuarkContent[2] = n_s; + } return code; } diff --git a/source/particles/management/src/G4ParticleDefinition.cc b/source/particles/management/src/G4ParticleDefinition.cc index 527ec1ef59..311d0aa2a3 100644 --- a/source/particles/management/src/G4ParticleDefinition.cc +++ b/source/particles/management/src/G4ParticleDefinition.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleDefinition.cc,v 1.34 2009/09/21 04:08:24 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ParticleDefinition.cc,v 1.38 2010/12/15 07:39:08 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -132,11 +132,11 @@ G4ParticleDefinition::G4ParticleDefinition( // check initialization is in Pre_Init state except for ions G4ApplicationState currentState = G4StateManager::GetStateManager()->GetCurrentState(); - if ( (theParticleType!=nucleus) && (currentState!=G4State_PreInit)){ + if ( !fShortLivedFlag && (theParticleType!=nucleus) && (currentState!=G4State_PreInit)){ #ifdef G4VERBOSE if (GetVerboseLevel()>0) { - G4cout << "G4ParticleDefintion (other than ions) should be created in Pre_Init state "; - G4cout << aName << G4endl; + G4cerr << "G4ParticleDefintion (other than ions and shortlived) should be created in Pre_Init state " + << aName << G4endl; } #endif G4Exception( "G4ParticleDefintion::G4ParticleDefintion", @@ -150,6 +150,10 @@ G4ParticleDefinition::G4ParticleDefinition( SetAtomicMass( GetBaryonNumber() ); } + if (theParticleTable->GetIonTable()->IsAntiIon(this)) { + SetAtomicNumber( std::abs(G4int(GetPDGCharge()/eplus)) ); + SetAtomicMass( std::abs(GetBaryonNumber()) ); + } // check name and register this particle into ParticleTable theParticleTable->Insert(this); @@ -224,9 +228,9 @@ G4int G4ParticleDefinition::FillQuarkContents() temp = 0; #ifdef G4VERBOSE if (verboseLevel>0) { - G4cout << "G4ParticleDefinition::FillQuarkContents : "; - G4cout << " illegal charge (" << thePDGCharge/eplus; - G4cout << " PDG code=" << thePDGEncoding <GetIonTable()->IsIon(this)) + || (theParticleTable->GetIonTable()->IsAntiIon(this)) ) { + G4cout << " Atomic Number : " << GetAtomicNumber(); + G4cout << " Atomic Mass : " << GetAtomicMass() << G4endl; + } if ( fShortLivedFlag ){ G4cout << " ShortLived : ON" << G4endl; } @@ -315,16 +324,3 @@ void G4ParticleDefinition::SetApplyCutsFlag(G4bool flg) << "gamma, e- and e+." << G4endl; } } - - - - - - - - - - - - - diff --git a/source/particles/management/src/G4ParticlePropertyData.cc b/source/particles/management/src/G4ParticlePropertyData.cc index 07a8f5618b..99fcdd0e9a 100644 --- a/source/particles/management/src/G4ParticlePropertyData.cc +++ b/source/particles/management/src/G4ParticlePropertyData.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ParticlePropertyData.cc,v 1.4 2009/08/17 14:52:19 kurasige Exp $ +// $Id: G4ParticlePropertyData.cc,v 1.5 2010/10/30 07:55:00 kurasige Exp $ // // class G4ParticlePropertyData // @@ -60,6 +60,7 @@ G4ParticlePropertyData::G4ParticlePropertyData(const G4String& particleName): theBaryonNumber(0), thePDGEncoding(0), theAntiPDGEncoding(0), + thePDGLifeTime(-1.0), fPDGMassModified(false), fPDGWidthModified(false), fPDGChargeModified(false), diff --git a/source/particles/management/src/G4ParticleTable.cc b/source/particles/management/src/G4ParticleTable.cc index 91fde43161..32fe280745 100644 --- a/source/particles/management/src/G4ParticleTable.cc +++ b/source/particles/management/src/G4ParticleTable.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleTable.cc,v 1.35 2009/08/17 14:52:19 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ParticleTable.cc,v 1.37 2010/10/30 07:55:00 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4ParticleTable // @@ -115,6 +115,9 @@ G4ParticleTable::~G4ParticleTable() //////////////////// G4ParticleTable::G4ParticleTable(const G4ParticleTable &right) + :verboseLevel(1),fParticleMessenger(0), + noName(" "), + readyToUse(false) { G4Exception("G4ParticleTable::G4ParticleTable()", "illegal constructor call", JustWarning, @@ -224,7 +227,7 @@ G4ParticleDefinition* G4ParticleTable::Insert(G4ParticleDefinition *particle) if ((particle == 0) || (GetKey(particle).isNull())) { #ifdef G4VERBOSE if (verboseLevel>0){ - G4cout << "The particle[Addr:" << particle << "] has no name "<< G4endl; + G4cerr << "The particle[Addr:" << particle << "] has no name "<< G4endl; } #endif return 0; @@ -234,7 +237,7 @@ G4ParticleDefinition* G4ParticleTable::Insert(G4ParticleDefinition *particle) if (contains(particle)) { #ifdef G4VERBOSE if (verboseLevel>0){ - G4cout << "The particle " << particle->GetParticleName() + G4cerr << "The particle " << particle->GetParticleName() << "has been already registered in the Particle Table "<< G4endl; } if (verboseLevel>1){ @@ -383,8 +386,8 @@ G4ParticleDefinition* G4ParticleTable::GetParticle(G4int index) } #ifdef G4VERBOSE if (verboseLevel>1){ - G4cout << " G4ParticleTable::GetParticle"; - G4cout << " invalid index (=" << index << ")" << G4endl; + G4cerr << " G4ParticleTable::GetParticle" + << " invalid index (=" << index << ")" << G4endl; } #endif return 0; @@ -406,7 +409,7 @@ G4ParticleDefinition* G4ParticleTable::FindParticle(G4int aPDGEncoding ) if (aPDGEncoding == 0){ #ifdef G4VERBOSE if (verboseLevel>1){ - G4cout << "PDGEncoding [" << aPDGEncoding << "] is not valid " << G4endl; + G4cerr << "PDGEncoding [" << aPDGEncoding << "] is not valid " << G4endl; } #endif return 0; @@ -422,7 +425,7 @@ G4ParticleDefinition* G4ParticleTable::FindParticle(G4int aPDGEncoding ) #ifdef G4VERBOSE if ((particle == 0) && (verboseLevel>1) ){ - G4cout << "CODE:" << aPDGEncoding << " does not exist in ParticleTable " << G4endl; + G4cerr << "CODE:" << aPDGEncoding << " does not exist in ParticleTable " << G4endl; } #endif return particle; @@ -446,7 +449,7 @@ void G4ParticleTable::DumpTable(const G4String &particle_name) if ( ptr != 0) { ptr->DumpTable(); } else { - G4cout << " G4ParticleTable::DumpTable : " + G4cerr << " G4ParticleTable::DumpTable : " << particle_name << " does not exist in ParticleTable " <GetPDGEncoding(); } -G4PrimaryParticle::G4PrimaryParticle(G4ParticleDefinition* Gcode, +G4PrimaryParticle::G4PrimaryParticle(const G4ParticleDefinition* Gcode, G4double px,G4double py,G4double pz) :G4code(Gcode),Px(px),Py(py),Pz(pz), nextParticle(0),daughterParticle(0),trackID(-1), @@ -88,7 +88,7 @@ G4PrimaryParticle::G4PrimaryParticle(G4ParticleDefinition* Gcode, Weight0(1.0),properTime(0.0),userInfo(0) { PDGcode = Gcode->GetPDGEncoding(); } -G4PrimaryParticle::G4PrimaryParticle(G4ParticleDefinition* Gcode, +G4PrimaryParticle::G4PrimaryParticle(const G4ParticleDefinition* Gcode, G4double px,G4double py,G4double pz,G4double E) :G4code(Gcode),Px(px),Py(py),Pz(pz), nextParticle(0),daughterParticle(0),trackID(-1), @@ -119,7 +119,12 @@ void G4PrimaryParticle::SetPDGcode(G4int Pcode) G4code = G4ParticleTable::GetParticleTable()->FindParticle(Pcode); } -void G4PrimaryParticle::SetG4code(G4ParticleDefinition* Gcode) +void G4PrimaryParticle::SetG4code(const G4ParticleDefinition* Gcode) +{ + SetParticleDefinition(Gcode); +} + +void G4PrimaryParticle::SetParticleDefinition(const G4ParticleDefinition* Gcode) { G4code = Gcode; PDGcode = Gcode->GetPDGEncoding(); diff --git a/source/particles/management/src/G4ShortLivedTable.cc b/source/particles/management/src/G4ShortLivedTable.cc index c4e15a831a..d0ea76636d 100644 --- a/source/particles/management/src/G4ShortLivedTable.cc +++ b/source/particles/management/src/G4ShortLivedTable.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ShortLivedTable.cc,v 1.17 2009/08/17 14:52:19 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ShortLivedTable.cc,v 1.18 2010/08/10 15:47:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -63,19 +63,19 @@ G4int G4ShortLivedTable::GetVerboseLevel() const return G4ParticleTable::GetParticleTable()->GetVerboseLevel(); } -G4bool G4ShortLivedTable::IsShortLived(G4ParticleDefinition* particle) const +G4bool G4ShortLivedTable::IsShortLived(const G4ParticleDefinition* particle) const { return particle->IsShortLived(); } -void G4ShortLivedTable::Insert(G4ParticleDefinition* particle) +void G4ShortLivedTable::Insert(const G4ParticleDefinition* particle) { if (IsShortLived(particle)) { fShortLivedList->push_back(particle); } } -void G4ShortLivedTable::Remove(G4ParticleDefinition* particle) +void G4ShortLivedTable::Remove(const G4ParticleDefinition* particle) { if (IsShortLived(particle)) { G4ShortLivedList::iterator idx; @@ -98,7 +98,7 @@ void G4ShortLivedTable::Remove(G4ParticleDefinition* particle) void G4ShortLivedTable::DumpTable(const G4String &particle_name) const { - G4ParticleDefinition* particle; + const G4ParticleDefinition* particle; G4ShortLivedList::iterator idx; for (idx = fShortLivedList->begin(); idx!= fShortLivedList->end(); ++idx) { diff --git a/source/particles/management/src/G4VDecayChannel.cc b/source/particles/management/src/G4VDecayChannel.cc index 75c8fb5bb3..58e9b45178 100644 --- a/source/particles/management/src/G4VDecayChannel.cc +++ b/source/particles/management/src/G4VDecayChannel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VDecayChannel.cc,v 1.19 2009/08/17 14:52:19 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VDecayChannel.cc,v 1.20 2010/05/20 01:01:07 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // ------------------------------------------------------------ @@ -217,8 +217,8 @@ void G4VDecayChannel::SetDaughter(G4int anIndex, if (numberOfDaughters<=0) { #ifdef G4VERBOSE if (verboseLevel>0) { - G4cout << "G4VDecayChannel::SetDaughter: "; - G4cout << "Number of daughters is not defined" << G4endl; + G4cerr << "G4VDecayChannel::SetDaughter: " + << "Number of daughters is not defined" << G4endl; } #endif return; @@ -237,8 +237,8 @@ void G4VDecayChannel::SetDaughter(G4int anIndex, if ( (anIndex<0) || (anIndex>=numberOfDaughters) ) { #ifdef G4VERBOSE if (verboseLevel>0) { - G4cout << "G4VDecayChannel::SetDaughter"; - G4cout << "index out of range " << anIndex << G4endl; + G4cerr << "G4VDecayChannel::SetDaughter" + << "index out of range " << anIndex << G4endl; } #endif } else { @@ -280,9 +280,9 @@ void G4VDecayChannel::FillDaughters() if ((numberOfDaughters <=0) || (daughters_name == 0) ){ #ifdef G4VERBOSE if (verboseLevel>0) { - G4cout << "G4VDecayChannel::FillDaughters "; - G4cout << "[ " << parent->GetParticleName() << " ]"; - G4cout << "numberOfDaughters is not defined yet"; + G4cerr << "G4VDecayChannel::FillDaughters " + << "[ " << parent->GetParticleName() << " ]" + << "numberOfDaughters is not defined yet"; } #endif daughters = 0; @@ -301,9 +301,9 @@ void G4VDecayChannel::FillDaughters() // daughter name is not defined #ifdef G4VERBOSE if (verboseLevel>0) { - G4cout << "G4VDecayChannel::FillDaughters "; - G4cout << "[ " << parent->GetParticleName() << " ]"; - G4cout << index << "-th daughter is not defined yet" << G4endl; + G4cerr << "G4VDecayChannel::FillDaughters " + << "[ " << parent->GetParticleName() << " ]" + << index << "-th daughter is not defined yet" << G4endl; } #endif daughters[index] = 0; @@ -317,11 +317,11 @@ void G4VDecayChannel::FillDaughters() // can not find the daughter particle #ifdef G4VERBOSE if (verboseLevel>0) { - G4cout << "G4VDecayChannel::FillDaughters "; - G4cout << "[ " << parent->GetParticleName() << " ]"; - G4cout << index << ":" << *daughters_name[index]; - G4cout << " is not defined !!" << G4endl; - G4cout << " The BR of this decay mode is set to zero " << G4endl; + G4cerr << "G4VDecayChannel::FillDaughters " + << "[ " << parent->GetParticleName() << " ]" + << index << ":" << *daughters_name[index] + << " is not defined !!" << G4endl; + G4cerr << " The BR of this decay mode is set to zero " << G4endl; } #endif SetBR(0.0); @@ -344,16 +344,16 @@ void G4VDecayChannel::FillDaughters() // !!! illegal mass !!! #ifdef G4VERBOSE if (GetVerboseLevel()>0) { - G4cout << "G4VDecayChannel::FillDaughters "; - G4cout << "[ " << parent->GetParticleName() << " ]"; - G4cout << " Energy/Momentum conserevation breaks " <GetParticleName() << " ]" + << " Energy/Momentum conserevation breaks " <1) { - G4cout << " parent:" << *parent_name; - G4cout << " mass:" << parentmass/GeV << "[GeV/c/c]" <GetPDGMass()/GeV; - G4cout << "[GeV/c/c]" <GetPDGMass()/GeV + << "[GeV/c/c]" <0) { - G4cout << "G4VDecayChannel::FillParent "; - G4cout << ": parent name is not defined !!" << G4endl; + G4cerr << "G4VDecayChannel::FillParent " + << ": parent name is not defined !!" << G4endl; } #endif parent = 0; @@ -383,8 +383,8 @@ void G4VDecayChannel::FillParent() // parent particle does not exist #ifdef G4VERBOSE if (verboseLevel>0) { - G4cout << "G4VDecayChannel::FillParent "; - G4cout << *parent_name << " does not exist !!" << G4endl; + G4cerr << "G4VDecayChannel::FillParent " + << *parent_name << " does not exist !!" << G4endl; } #endif G4Exception("G4VDecayChannel::FillParent()", diff --git a/source/particles/shortlived/CMakeLists.txt b/source/particles/shortlived/CMakeLists.txt new file mode 100644 index 0000000000..f9d1a2467c --- /dev/null +++ b/source/particles/shortlived/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4shortlived +# Package: Geant4.src.G4particles.G4shortlived +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:49:16 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/particles/shortlived/GNUmakefile b/source/particles/shortlived/GNUmakefile index d1a7e686b7..48d99c520a 100644 --- a/source/particles/shortlived/GNUmakefile +++ b/source/particles/shortlived/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2004/06/11 14:25:29 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2010/10/27 07:47:05 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for shortlived library. Gabriele Cosmo, 18/9/96. # -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh b/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh index da55138840..b5ca463c6f 100644 --- a/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedBaryonConstructor.hh,v 1.6 2006/06/29 19:26:28 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedBaryonConstructor.hh,v 1.7 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -77,8 +77,8 @@ class G4ExcitedBaryonConstructor virtual G4int GetQuarkContents(G4int, G4int)=0; virtual G4String GetName(G4int, G4int )=0; virtual G4String GetMultipletName(G4int)=0; - virtual G4double GetMass( G4int )=0; - virtual G4double GetWidth( G4int )=0; + virtual G4double GetMass( G4int state, G4int iso)=0; + virtual G4double GetWidth( G4int state, G4int iso)=0; virtual G4int GetiSpin( G4int )=0; virtual G4int GetiParity( G4int )=0; virtual G4int GetEncodingOffset( G4int )=0; diff --git a/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh b/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh index 6e04a44f73..c5326b543a 100644 --- a/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedDeltaConstructor.hh,v 1.6 2006/06/29 19:26:32 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedDeltaConstructor.hh,v 1.7 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -60,8 +60,8 @@ class G4ExcitedDeltaConstructor: public G4ExcitedBaryonConstructor virtual G4String GetName(G4int iIso3, G4int iState); virtual G4String GetMultipletName(G4int iState); - virtual G4double GetMass(G4int iState); - virtual G4double GetWidth(G4int iState); + virtual G4double GetMass( G4int state, G4int iso); + virtual G4double GetWidth( G4int state, G4int iso); virtual G4int GetiSpin(G4int iState); virtual G4int GetiParity(G4int iState); virtual G4int GetEncodingOffset(G4int iState); @@ -103,13 +103,13 @@ class G4ExcitedDeltaConstructor: public G4ExcitedBaryonConstructor }; inline - G4double G4ExcitedDeltaConstructor::GetMass(G4int iState) + G4double G4ExcitedDeltaConstructor::GetMass(G4int iState, G4int) { return mass[iState]; } inline - G4double G4ExcitedDeltaConstructor::GetWidth(G4int iState) + G4double G4ExcitedDeltaConstructor::GetWidth(G4int iState, G4int) { return width[iState]; } diff --git a/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh b/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh index e9b2bfec93..c9e4bbda12 100644 --- a/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedLambdaConstructor.hh,v 1.8 2006/06/29 19:26:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedLambdaConstructor.hh,v 1.9 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -56,8 +56,8 @@ class G4ExcitedLambdaConstructor: public G4ExcitedBaryonConstructor virtual G4int GetQuarkContents(G4int, G4int); virtual G4String GetName(G4int iIso3, G4int iState); virtual G4String GetMultipletName(G4int iState); - virtual G4double GetMass(G4int iState); - virtual G4double GetWidth(G4int iState); + virtual G4double GetMass( G4int state, G4int iso); + virtual G4double GetWidth( G4int state, G4int iso); virtual G4int GetiSpin(G4int iState); virtual G4int GetiParity(G4int iState); virtual G4int GetEncodingOffset(G4int iState); @@ -104,13 +104,13 @@ class G4ExcitedLambdaConstructor: public G4ExcitedBaryonConstructor }; inline - G4double G4ExcitedLambdaConstructor::GetMass(G4int iState) + G4double G4ExcitedLambdaConstructor::GetMass(G4int iState, G4int) { return mass[iState]; } inline - G4double G4ExcitedLambdaConstructor::GetWidth(G4int iState) + G4double G4ExcitedLambdaConstructor::GetWidth(G4int iState, G4int) { return width[iState]; } diff --git a/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh b/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh index cdb7b737f3..396f2a8a4f 100644 --- a/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh @@ -30,8 +30,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ExcitedMesonConstructor.hh,v 1.8 2006/06/29 19:26:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedMesonConstructor.hh,v 1.9 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh b/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh index d5944744ee..4ab5570157 100644 --- a/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedNucleonConstructor.hh,v 1.6 2006/06/29 19:26:40 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedNucleonConstructor.hh,v 1.7 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -59,8 +59,8 @@ class G4ExcitedNucleonConstructor: public G4ExcitedBaryonConstructor virtual G4int GetQuarkContents(G4int, G4int); virtual G4String GetName(G4int iIso3, G4int iState); virtual G4String GetMultipletName(G4int iState); - virtual G4double GetMass(G4int iState); - virtual G4double GetWidth(G4int iState); + virtual G4double GetMass( G4int state, G4int iso); + virtual G4double GetWidth( G4int state, G4int iso); virtual G4int GetiSpin(G4int iState); virtual G4int GetiParity(G4int iState); virtual G4int GetEncodingOffset(G4int iState); @@ -111,13 +111,13 @@ class G4ExcitedNucleonConstructor: public G4ExcitedBaryonConstructor }; inline - G4double G4ExcitedNucleonConstructor::GetMass(G4int iState) + G4double G4ExcitedNucleonConstructor::GetMass(G4int iState, G4int) { return mass[iState]; } inline - G4double G4ExcitedNucleonConstructor::GetWidth(G4int iState) + G4double G4ExcitedNucleonConstructor::GetWidth(G4int iState, G4int) { return width[iState]; } diff --git a/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh b/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh index 6c27ce045b..8103180152 100644 --- a/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedSigmaConstructor.hh,v 1.6 2006/06/29 19:26:42 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedSigmaConstructor.hh,v 1.7 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -56,9 +56,8 @@ class G4ExcitedSigmaConstructor: public G4ExcitedBaryonConstructor virtual G4int GetQuarkContents(G4int, G4int); virtual G4String GetName(G4int iIso3, G4int iState); virtual G4String GetMultipletName(G4int iState); - - virtual G4double GetMass(G4int iState); - virtual G4double GetWidth(G4int iState); + virtual G4double GetMass( G4int state, G4int iso); + virtual G4double GetWidth( G4int state, G4int iso); virtual G4int GetiSpin(G4int iState); virtual G4int GetiParity(G4int iState); virtual G4int GetEncodingOffset(G4int iState); @@ -106,17 +105,7 @@ class G4ExcitedSigmaConstructor: public G4ExcitedBaryonConstructor static const G4double bRatio[ NStates ][ NumberOfDecayModes]; }; -inline - G4double G4ExcitedSigmaConstructor::GetMass(G4int iState) -{ - return mass[iState]; -} -inline - G4double G4ExcitedSigmaConstructor::GetWidth(G4int iState) -{ - return width[iState]; -} inline G4int G4ExcitedSigmaConstructor::GetiSpin(G4int iState) diff --git a/source/particles/shortlived/include/G4ExcitedXiConstructor.hh b/source/particles/shortlived/include/G4ExcitedXiConstructor.hh index 8bfcaed86d..212957db0a 100644 --- a/source/particles/shortlived/include/G4ExcitedXiConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedXiConstructor.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedXiConstructor.hh,v 1.6 2006/06/29 19:26:44 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedXiConstructor.hh,v 1.7 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -56,9 +56,8 @@ class G4ExcitedXiConstructor: public G4ExcitedBaryonConstructor virtual G4int GetQuarkContents(G4int, G4int); virtual G4String GetName(G4int iIso3, G4int iState); virtual G4String GetMultipletName(G4int iState); - - virtual G4double GetMass(G4int iState); - virtual G4double GetWidth(G4int iState); + virtual G4double GetMass( G4int state, G4int iso); + virtual G4double GetWidth( G4int state, G4int iso); virtual G4int GetiSpin(G4int iState); virtual G4int GetiParity(G4int iState); virtual G4int GetEncodingOffset(G4int iState); @@ -97,17 +96,6 @@ class G4ExcitedXiConstructor: public G4ExcitedBaryonConstructor static const G4double bRatio[ NStates ][ NumberOfDecayModes]; }; -inline - G4double G4ExcitedXiConstructor::GetMass(G4int iState) -{ - return mass[iState]; -} - -inline - G4double G4ExcitedXiConstructor::GetWidth(G4int iState) -{ - return width[iState]; -} inline G4int G4ExcitedXiConstructor::GetiSpin(G4int iState) diff --git a/source/particles/shortlived/include/G4ShortLivedConstructor.hh b/source/particles/shortlived/include/G4ShortLivedConstructor.hh index ab2222732e..cb32ebde19 100644 --- a/source/particles/shortlived/include/G4ShortLivedConstructor.hh +++ b/source/particles/shortlived/include/G4ShortLivedConstructor.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ShortLivedConstructor.hh,v 1.6 2006/06/29 19:26:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ShortLivedConstructor.hh,v 1.7 2010/06/11 05:50:20 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // -------------------------------------------------------------- @@ -54,6 +54,7 @@ class G4ShortLivedConstructor static void ConstructBaryons(); static void ConstructMesons(); static void ConstructQuarks(); + static void ConstructAntiNuclei(); private: static G4bool isConstructed; diff --git a/source/particles/shortlived/sources.cmake b/source/particles/shortlived/sources.cmake new file mode 100644 index 0000000000..11eb765f63 --- /dev/null +++ b/source/particles/shortlived/sources.cmake @@ -0,0 +1,74 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4shortlived +# Package: Geant4.src.G4particles.G4shortlived +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/10/19 12:44:06 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4shortlived + HEADERS + G4DiQuarks.hh + G4ExcitedBaryonConstructor.hh + G4ExcitedBaryons.hh + G4ExcitedDeltaConstructor.hh + G4ExcitedLambdaConstructor.hh + G4ExcitedMesonConstructor.hh + G4ExcitedMesons.hh + G4ExcitedNucleonConstructor.hh + G4ExcitedSigmaConstructor.hh + G4ExcitedXiConstructor.hh + G4Gluons.hh + G4Quarks.hh + G4ShortLivedConstructor.hh + G4VShortLivedParticle.hh + SOURCES + G4DiQuarks.cc + G4ExcitedBaryonConstructor.cc + G4ExcitedBaryons.cc + G4ExcitedDeltaConstructor.cc + G4ExcitedLambdaConstructor.cc + G4ExcitedMesonConstructor.cc + G4ExcitedMesons.cc + G4ExcitedNucleonConstructor.cc + G4ExcitedSigmaConstructor.cc + G4ExcitedXiConstructor.cc + G4Gluons.cc + G4Quarks.cc + G4ShortLivedConstructor.cc + G4VShortLivedParticle.cc + GRANULAR_DEPENDENCIES + G4globman + G4materials + G4partman + GLOBAL_DEPENDENCIES + G4global + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc b/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc index d2e954c9b7..47023d0f65 100644 --- a/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedBaryonConstructor.cc,v 1.7 2006/06/29 19:26:56 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedBaryonConstructor.cc,v 1.8 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -100,7 +100,7 @@ void G4ExcitedBaryonConstructor::ConstructParticle(G4int idx) name= GetName(iIso3, idx); particle = new G4ExcitedBaryons( - name, GetMass(idx), GetWidth(idx), GetCharge(iIso3), + name, GetMass(idx,iIso3), GetWidth(idx,iIso3), GetCharge(iIso3), GetiSpin(idx), GetiParity(idx), iConjugation, iIsoSpin, iIso3, iGParity, type, leptonNumber, baryonNumber, GetEncoding( iIso3,idx), @@ -132,7 +132,7 @@ void G4ExcitedBaryonConstructor::ConstructAntiParticle(G4int idx) name = "anti_" + name; particle = new G4ExcitedBaryons( - name, GetMass(idx), GetWidth(idx), -1.0*GetCharge(iIso3), + name, GetMass(idx,iIso3), GetWidth(idx,iIso3), -1.0*GetCharge(iIso3), GetiSpin(idx), GetiParity(idx), iConjugation, iIsoSpin, -1*iIso3, iGParity, type, leptonNumber, diff --git a/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc b/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc index cb8a1a6e31..c4cd1aa7fb 100644 --- a/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedDeltaConstructor.cc,v 1.12 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedDeltaConstructor.cc,v 1.13 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -481,7 +481,7 @@ const G4double G4ExcitedDeltaConstructor::mass[] = const G4double G4ExcitedDeltaConstructor::width[] = { 350.0*MeV, 145.0*MeV, 300.0*MeV, 200.0*MeV, 330.0*MeV, - 250.0*MeV, 200.0*MeV, 360.0*MeV, 290.0*MeV + 250.0*MeV, 200.0*MeV, 360.0*MeV, 280.0*MeV }; const G4int G4ExcitedDeltaConstructor::iSpin[] = diff --git a/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc b/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc index ce991552b0..1d8949b35b 100644 --- a/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedLambdaConstructor.cc,v 1.12 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedLambdaConstructor.cc,v 1.13 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -356,7 +356,7 @@ const char* G4ExcitedLambdaConstructor::name[] = { }; const G4double G4ExcitedLambdaConstructor::mass[] = { - 1.406*GeV,1.5195*GeV, 1.600*GeV, 1.670*GeV, 1.690*GeV, + 1.407*GeV,1.5195*GeV, 1.600*GeV, 1.670*GeV, 1.690*GeV, 1.800*GeV, 1.810*GeV, 1.820*GeV, 1.830*GeV, 1.890*GeV, 2.100*GeV, 2.110*GeV }; diff --git a/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc b/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc index 3c56977201..16b9300363 100644 --- a/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedMesonConstructor.cc,v 1.21 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ExcitedMesonConstructor.cc,v 1.23 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -1062,7 +1062,7 @@ G4DecayTable* G4ExcitedMesonConstructor::Add3PiMode( mode = new G4PhaseSpaceDecayChannel(nameParent, br, 3, "pi+","pi-","pi0"); decayTable->Insert(mode); - } else if (iIso==0) { + } else if (iIso==2) { // This mode is X(I=1) --> pi + pipi(I=0) mode if (iIso3==+2) { mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, @@ -1400,7 +1400,7 @@ const char* G4ExcitedMesonConstructor::name[G4ExcitedMesonConstructor::NMultiple const G4double G4ExcitedMesonConstructor::mass[G4ExcitedMesonConstructor::NMultiplets ][ G4ExcitedMesonConstructor::NMesonTypes ] = { { 1.2295*GeV, 1.170*GeV, 1.386*GeV, 1.272*GeV, 1.272*GeV }, - { 1.474*GeV, 1.350*GeV, 0.0, 1.420*GeV, 1.420*GeV }, + { 1.474*GeV, 1.350*GeV, 0.0, 1.430*GeV, 1.430*GeV }, { 1.230*GeV,1.2818*GeV,1.4264*GeV, 1.403*GeV, 1.403*GeV }, { 1.3183*GeV,1.2751*GeV, 1.525*GeV,1.4256*GeV, 1.4256*GeV }, { 1.6724*GeV, 1.617*GeV, 1.842*GeV, 1.773*GeV, 1.773*GeV }, @@ -1426,7 +1426,7 @@ const G4double G4ExcitedMesonConstructor::width[G4ExcitedMesonConstructor::NMult { 142.0*MeV, 360.0*MeV, 91.0*MeV, 90.0*MeV, 90.0*MeV }, { 265.0*MeV, 350.0*MeV, 0.0, 270.0*MeV, 270.0*MeV }, { 420.0*MeV, 24.3*MeV, 54.9*MeV, 174.0*MeV, 174.0*MeV }, - { 107.0*MeV, 185.0*MeV, 73.0*MeV, 98.5*MeV, 98.5*MeV }, + { 107.0*MeV, 185.1*MeV, 73.0*MeV, 98.5*MeV, 98.5*MeV }, { 259.0*MeV, 181.0*MeV, 225.0*MeV, 186.0*MeV, 186.0*MeV }, { 250.0*MeV, 315.0*MeV, 0.0, 320.0*MeV, 320.0*MeV }, { 161.0*MeV, 168.0*MeV, 87.0*MeV, 159.0*MeV, 159.0*MeV }, diff --git a/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc b/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc index d0594a7cd9..c6794a0b7a 100644 --- a/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedNucleonConstructor.cc,v 1.11 2006/06/29 19:27:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedNucleonConstructor.cc,v 1.12 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc b/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc index cfbc863151..98079d91b1 100644 --- a/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedSigmaConstructor.cc,v 1.11 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedSigmaConstructor.cc,v 1.12 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -568,6 +568,27 @@ G4DecayTable* G4ExcitedSigmaConstructor::AddLambdaStarPiMode( return decayTable; } + +G4double G4ExcitedSigmaConstructor::GetMass(G4int iState, G4int iso3) +{ + G4double fmass = mass[iState]; + if (iState == 0 ) { + if (iso3== +2) fmass -= 0.9*MeV; // sigma+ + else if (iso3== -2) fmass += 3.5*MeV; // sigma- + } + return fmass; +} + +G4double G4ExcitedSigmaConstructor::GetWidth(G4int iState, G4int iso3) +{ + G4double fw=width[iState]; + if (iState == 0 ) { + if (iso3== +2) fw = 35.8*MeV; // sigma+ + else if (iso3== -2) fw = 39.4*MeV; // sigma- + } + return fw; +} + const char* G4ExcitedSigmaConstructor::name[] = { "sigma(1385)","sigma(1660)","sigma(1670)","sigma(1750)","sigma(1775)", "sigma(1915)","sigma(1940)","sigma(2030)" @@ -579,7 +600,7 @@ const G4double G4ExcitedSigmaConstructor::mass[] = { }; const G4double G4ExcitedSigmaConstructor::width[] = { - 35.8*MeV, 100.0*MeV, 60.0*MeV, 90.0*MeV, 120.0*MeV, + 36.0*MeV, 100.0*MeV, 60.0*MeV, 90.0*MeV, 120.0*MeV, 120.0*MeV, 220.0*MeV, 180.0*MeV }; diff --git a/source/particles/shortlived/src/G4ExcitedXiConstructor.cc b/source/particles/shortlived/src/G4ExcitedXiConstructor.cc index 59c1a4f3f7..124c73d48b 100644 --- a/source/particles/shortlived/src/G4ExcitedXiConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedXiConstructor.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedXiConstructor.cc,v 1.8 2008/09/18 08:37:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ExcitedXiConstructor.cc,v 1.9 2010/10/01 02:41:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -283,13 +283,30 @@ G4DecayTable* G4ExcitedXiConstructor::AddXiPiMode( return decayTable; } +G4double G4ExcitedXiConstructor::GetMass(G4int iState, G4int iso3) +{ + G4double fm = mass[iState]; + if ( iState==0 ) { + if (iso3== -1) fm = 1.5350*GeV; // xi- + } + return fm; +} + +G4double G4ExcitedXiConstructor::GetWidth(G4int iState, G4int iso3) +{ + G4double fw = width[iState]; + if ( iState==0 ) { + if (iso3== -1) fw = 9.9*MeV; // xi- + } + return fw; +} const char* G4ExcitedXiConstructor::name[] = { "xi(1530)", "xi(1690)", "xi(1820)", "xi(1950)", "xi(2030)" }; const G4double G4ExcitedXiConstructor::mass[] = { - 1.5334*GeV, 1.690*GeV, 1.823*GeV, 1.950*GeV, 2.025*GeV + 1.5318*GeV, 1.690*GeV, 1.823*GeV, 1.950*GeV, 2.025*GeV }; const G4double G4ExcitedXiConstructor::width[] = { diff --git a/source/particles/shortlived/src/G4ShortLivedConstructor.cc b/source/particles/shortlived/src/G4ShortLivedConstructor.cc index 28fccabb02..da4c7b9dd0 100644 --- a/source/particles/shortlived/src/G4ShortLivedConstructor.cc +++ b/source/particles/shortlived/src/G4ShortLivedConstructor.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ShortLivedConstructor.cc,v 1.18 2009/10/09 14:34:02 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ShortLivedConstructor.cc,v 1.21 2010/10/09 10:02:41 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -90,21 +90,21 @@ void G4ShortLivedConstructor::ConstructQuarks() particle->SetAntiPDGEncoding(21); // u-quark particle = new G4Quarks( - "u_quark", 2.4*MeV, 0.0*MeV, 2./3.*eplus, + "u_quark", 2.5*MeV, 0.0*MeV, 2./3.*eplus, 1, +1, 0, 1, +1, 0, "quarks", 0, 0, 2, true, -1.0, NULL); // d-quark particle = new G4Quarks( - "d_quark", 4.8*MeV, 0.0*MeV, -1./3.*eplus, + "d_quark", 5.0*MeV, 0.0*MeV, -1./3.*eplus, 1, +1, 0, 1, -1, 0, "quarks", 0, 0, 1, true, -1.0, NULL); // s-quark particle = new G4Quarks( - "s_quark", 104.0*MeV, 0.0*MeV, -1./3.*eplus, + "s_quark", 101.0*MeV, 0.0*MeV, -1./3.*eplus, 1, +1, 0, 0, 0, 0, "quarks", 0, 0, 3, @@ -118,35 +118,35 @@ void G4ShortLivedConstructor::ConstructQuarks() true, -1.0, NULL); // b-quark particle = new G4Quarks( - "b_quark", 4.68*GeV, 0.0*MeV, -1./3.*eplus, + "b_quark", 4.67*GeV, 0.0*MeV, -1./3.*eplus, 1, +1, 0, 0, 0, 0, "quarks", 0, 0, 5, true, -1.0, NULL); // t-quark particle = new G4Quarks( - "t_quark", 171.2*GeV, 0.0*MeV, +2./3.*eplus, + "t_quark", 172.0*GeV, 0.0*MeV, +2./3.*eplus, 1, +1, 0, 0, 0, 0, "quarks", 0, 0, 6, true, -1.0, NULL); // anti u-quark particle = new G4Quarks( - "anti_u_quark", 2.4*MeV, 0.0*MeV, -2./3.*eplus, + "anti_u_quark", 2.5*MeV, 0.0*MeV, -2./3.*eplus, 1, +1, 0, 1, -1, 0, "quarks", 0, 0, -2, true, -1.0, NULL); // anti d-quark particle = new G4Quarks( - "anti_d_quark", 4.8*MeV, 0.0*MeV, 1./3.*eplus, + "anti_d_quark", 5.0*MeV, 0.0*MeV, 1./3.*eplus, 1, +1, 0, 1, +1, 0, "quarks", 0, 0, -1, true, -1.0, NULL); // s-quark particle = new G4Quarks( - "anti_s_quark", 104.0*MeV, 0.0*MeV, 1./3.*eplus, + "anti_s_quark", 101.0*MeV, 0.0*MeV, 1./3.*eplus, 1, +1, 0, 0, 0, 0, "quarks", 0, 0, -3, @@ -160,14 +160,14 @@ void G4ShortLivedConstructor::ConstructQuarks() true, -1.0, NULL); // b-quark particle = new G4Quarks( - "anti_b_quark", 4.68*GeV, 0.0*MeV, 1./3.*eplus, + "anti_b_quark", 4.67*GeV, 0.0*MeV, 1./3.*eplus, 1, +1, 0, 0, 0, 0, "quarks", 0, 0, -5, true, -1.0, NULL); // t-quark particle = new G4Quarks( - "anti_t_quark", 171.2*GeV, 0.0*MeV, -2./3.*eplus, + "anti_t_quark", 172.0*GeV, 0.0*MeV, -2./3.*eplus, 1, +1, 0, 0, 0, 0, "quarks", 0, 0, -6, @@ -674,7 +674,7 @@ void G4ShortLivedConstructor::ConstructMesons() // rho0 particle = new G4ExcitedMesons( - "rho0", 775.49*MeV, 149.4*MeV, 0.0, + "rho0", 775.49*MeV, 149.1*MeV, 0.0, 2, -1, -1, 2, 0, +1, "meson", 0, 0, 113, @@ -694,7 +694,7 @@ void G4ShortLivedConstructor::ConstructMesons() // a0(980)+ particle = new G4ExcitedMesons( - "a0(980)+", 984.7*MeV, 60.0*MeV, +1.0*eplus, + "a0(980)+", 980.0*MeV, 60.0*MeV, +1.0*eplus, 0, +1, +1, 2, +2, -1, "meson", 0, 0, 9000211, @@ -713,7 +713,7 @@ void G4ShortLivedConstructor::ConstructMesons() // a0(980)- particle = new G4ExcitedMesons( - "a0(980)-", 984.7*MeV, 60.0*MeV, -1.0*eplus, + "a0(980)-", 980.0*MeV, 60.0*MeV, -1.0*eplus, 0, +1, +1, 2, -2, -1, "meson", 0, 0, -9000211, @@ -732,7 +732,7 @@ void G4ShortLivedConstructor::ConstructMesons() // a0(980)0 particle = new G4ExcitedMesons( - "a0(980)0", 984.7*MeV, 75.0*MeV, 0.0, + "a0(980)0", 980.0*MeV, 75.0*MeV, 0.0, 0, +1, +1, 2, 0, -1, "meson", 0, 0, 9000111, @@ -832,7 +832,7 @@ void G4ShortLivedConstructor::ConstructMesons() // f0(1710) particle = new G4ExcitedMesons( - "f0(1710)", 1724.0*MeV, 137.0*MeV, 0.0, + "f0(1710)", 1720.0*MeV, 135.0*MeV, 0.0, 0, +1, +1, 0, 0, +1, "meson", 0, 0, 10331, @@ -868,7 +868,7 @@ void G4ShortLivedConstructor::ConstructMesons() // k_star+ particle = new G4ExcitedMesons( - "k_star+", 891.66*MeV, 50.8*MeV, +1.0*eplus, + "k_star+", 891.66*MeV, 50.8*MeV, +1.0*eplus, 2, -1, 0, 1, +1, 0, "meson", 0, 0, 323, @@ -893,7 +893,7 @@ void G4ShortLivedConstructor::ConstructMesons() // k_star0 particle = new G4ExcitedMesons( - "k_star0", 896.00*MeV, 50.3*MeV, 0.0*eplus, + "k_star0", 895.94*MeV, 48.7*MeV, 0.0*eplus, 2, -1, 0, 1, -1, 0, "meson", 0, 0, 313, @@ -944,7 +944,7 @@ void G4ShortLivedConstructor::ConstructMesons() // anti_k_star0 particle = new G4ExcitedMesons( - "anti_k_star0", 896.0*MeV, 50.3*MeV, 0.0*eplus, + "anti_k_star0", 895.94*MeV, 48.7*MeV, 0.0*eplus, 2, -1, 0, 1, -1, 0, "meson", 0, 0, -313, diff --git a/source/particles/utils/CMakeLists.txt b/source/particles/utils/CMakeLists.txt new file mode 100644 index 0000000000..9b713f26af --- /dev/null +++ b/source/particles/utils/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4partutils +# Package: Geant4.src.G4particles.G4partutils +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:49:32 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/particles/utils/GNUmakefile b/source/particles/utils/GNUmakefile index 2e289f4b8a..772d544617 100644 --- a/source/particles/utils/GNUmakefile +++ b/source/particles/utils/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2004/06/11 14:25:31 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2010/10/27 07:47:05 gcosmo Exp $ # ---------------------------------------------------------------- # GNUmakefile for particle management library. G.Cosmo, 4/4/97. # ---------------------------------------------------------------- diff --git a/source/particles/utils/include/G4HtmlPPReporter.hh b/source/particles/utils/include/G4HtmlPPReporter.hh index 0947b8bbcb..5b7b0c3596 100644 --- a/source/particles/utils/include/G4HtmlPPReporter.hh +++ b/source/particles/utils/include/G4HtmlPPReporter.hh @@ -29,8 +29,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4HtmlPPReporter.hh,v 1.2 2006/06/29 19:27:46 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4HtmlPPReporter.hh,v 1.3 2010/08/10 15:47:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // --------------------------------------------------------------- @@ -58,7 +58,7 @@ class G4HtmlPPReporter: public G4VParticlePropertyReporter private: void SparseOption(const G4String& option); void GenerateIndex(); - void GeneratePropertyTable(G4ParticleDefinition* ); + void GeneratePropertyTable(const G4ParticleDefinition* ); void PrintHeader(std::ofstream& ); void PrintFooter(std::ofstream& ); diff --git a/source/particles/utils/include/G4TextPPReporter.hh b/source/particles/utils/include/G4TextPPReporter.hh index 81a4cdb071..d34342667d 100644 --- a/source/particles/utils/include/G4TextPPReporter.hh +++ b/source/particles/utils/include/G4TextPPReporter.hh @@ -29,8 +29,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4TextPPReporter.hh,v 1.2 2006/06/29 19:27:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TextPPReporter.hh,v 1.3 2010/08/10 15:47:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // --------------------------------------------------------------- @@ -56,7 +56,7 @@ class G4TextPPReporter: public G4VParticlePropertyReporter protected: void SparseOption(const G4String& option); - void GeneratePropertyTable(G4ParticleDefinition* ); + void GeneratePropertyTable(const G4ParticleDefinition* ); protected: G4String baseDir; diff --git a/source/particles/utils/include/G4TextPPRetriever.hh b/source/particles/utils/include/G4TextPPRetriever.hh index 37c312b689..761d7f047d 100644 --- a/source/particles/utils/include/G4TextPPRetriever.hh +++ b/source/particles/utils/include/G4TextPPRetriever.hh @@ -29,8 +29,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4TextPPRetriever.hh,v 1.2 2006/06/29 19:27:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TextPPRetriever.hh,v 1.3 2010/08/10 15:47:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // --------------------------------------------------------------- @@ -58,7 +58,7 @@ class G4TextPPRetriever: public G4VParticlePropertyRetriever protected: void SparseOption(const G4String& option); - G4bool ModifyPropertyTable(G4ParticleDefinition* ); + G4bool ModifyPropertyTable(const G4ParticleDefinition* ); protected: G4String baseDir; diff --git a/source/particles/utils/sources.cmake b/source/particles/utils/sources.cmake new file mode 100644 index 0000000000..385944b9fc --- /dev/null +++ b/source/particles/utils/sources.cmake @@ -0,0 +1,65 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4partutils +# Package: Geant4.src.G4particles.G4partutils +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:49:41 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4partutils + HEADERS + G4HtmlPPReporter.hh + G4IsotopeMagneticMomentTable.hh + G4SimplePPReporter.hh + G4TextPPReporter.hh + G4TextPPRetriever.hh + G4VParticlePropertyReporter.hh + G4VParticlePropertyRetriever.hh + SOURCES + G4HtmlPPReporter.cc + G4IsotopeMagneticMomentTable.cc + G4SimplePPReporter.cc + G4TextPPReporter.cc + G4TextPPRetriever.cc + G4VParticlePropertyReporter.cc + GRANULAR_DEPENDENCIES + G4geometrymng + G4globman + G4intercoms + G4materials + G4partman + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/particles/utils/src/G4HtmlPPReporter.cc b/source/particles/utils/src/G4HtmlPPReporter.cc index 038a8d1851..1388a04664 100644 --- a/source/particles/utils/src/G4HtmlPPReporter.cc +++ b/source/particles/utils/src/G4HtmlPPReporter.cc @@ -29,8 +29,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4HtmlPPReporter.cc,v 1.6 2008/06/08 14:05:33 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4HtmlPPReporter.cc,v 1.7 2010/08/10 15:47:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // --------------------------------------------------------------- @@ -159,7 +159,7 @@ void G4HtmlPPReporter::SparseOption(const G4String& option) } - void G4HtmlPPReporter::GeneratePropertyTable(G4ParticleDefinition* particle) + void G4HtmlPPReporter::GeneratePropertyTable(const G4ParticleDefinition* particle) { if (particle->GetPDGEncoding()<0) return; diff --git a/source/particles/utils/src/G4TextPPReporter.cc b/source/particles/utils/src/G4TextPPReporter.cc index 21c71044de..1a33de2c38 100644 --- a/source/particles/utils/src/G4TextPPReporter.cc +++ b/source/particles/utils/src/G4TextPPReporter.cc @@ -29,8 +29,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4TextPPReporter.cc,v 1.2 2006/06/29 19:28:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TextPPReporter.cc,v 1.3 2010/08/10 15:47:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // --------------------------------------------------------------- @@ -80,7 +80,7 @@ void G4TextPPReporter::SparseOption(const G4String& option) -void G4TextPPReporter::GeneratePropertyTable(G4ParticleDefinition* particle) +void G4TextPPReporter::GeneratePropertyTable(const G4ParticleDefinition* particle) { G4String name = particle->GetParticleName(); diff --git a/source/particles/utils/src/G4TextPPRetriever.cc b/source/particles/utils/src/G4TextPPRetriever.cc index f4ab1d59d4..c983d56505 100644 --- a/source/particles/utils/src/G4TextPPRetriever.cc +++ b/source/particles/utils/src/G4TextPPRetriever.cc @@ -29,8 +29,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4TextPPRetriever.cc,v 1.2 2006/06/29 19:28:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TextPPRetriever.cc,v 1.3 2010/08/10 15:47:43 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // --------------------------------------------------------------- @@ -86,7 +86,7 @@ void G4TextPPRetriever::SparseOption(const G4String& option) -G4bool G4TextPPRetriever::ModifyPropertyTable(G4ParticleDefinition* particle) +G4bool G4TextPPRetriever::ModifyPropertyTable(const G4ParticleDefinition* particle) { G4String name = particle->GetParticleName(); diff --git a/source/persistency/CMakeLists.txt b/source/persistency/CMakeLists.txt new file mode 100644 index 0000000000..b5a760e5ac --- /dev/null +++ b/source/persistency/CMakeLists.txt @@ -0,0 +1,42 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4persistency +# Package: Geant4.src.G4persistency +# +# Top level CMakeLists.txt for a Geant4 Global Library +# or collection of sublibraries +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:49:49 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(ascii) + +# GDML only if required +if(GEANT4_USE_GDML) + add_subdirectory(gdml) +endif() + +add_subdirectory(mctruth) + + +if(NOT GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + if(GEANT4_USE_GDML) + GEANT4_GLOBAL_LIBRARY_TARGET(NAME G4persistency + COMPONENTS + ascii/sources.cmake + gdml/sources.cmake + mctruth/sources.cmake + ) + else() + GEANT4_GLOBAL_LIBRARY_TARGET(NAME G4persistency + COMPONENTS + ascii/sources.cmake + mctruth/sources.cmake + ) + endif() +endif() + diff --git a/source/persistency/ascii/CMakeLists.txt b/source/persistency/ascii/CMakeLists.txt new file mode 100644 index 0000000000..a4bbca2233 --- /dev/null +++ b/source/persistency/ascii/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4geomtext +# Package: Geant4.src.G4persistency.G4geomtext +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:49:57 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/persistency/ascii/GNUmakefile b/source/persistency/ascii/GNUmakefile index 0ec5702bb2..9ded5d5156 100644 --- a/source/persistency/ascii/GNUmakefile +++ b/source/persistency/ascii/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2008/11/21 16:27:42 gcosmo Exp $ +# $Id: GNUmakefile,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ # ----------------------------------------------------------------------- # GNUmakefile for persistency library. Gabriele Cosmo, 16/11/96. # ----------------------------------------------------------------------- diff --git a/source/persistency/ascii/History b/source/persistency/ascii/History index 95b03245f7..d679b1b96d 100644 --- a/source/persistency/ascii/History +++ b/source/persistency/ascii/History @@ -1,4 +1,4 @@ -$Id: History,v 1.13 2009/11/25 15:36:09 gcosmo Exp $ +$Id: History,v 1.19 2010/12/15 11:32:48 arce Exp $ ------------------------------------------------------------------- ========================================================= Geant4 - an Object-Oriented Toolkit for Simulation in HEP @@ -16,6 +16,36 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +15 December, 10 P.Arce (ascii-V09-03-05) +- Introduced fixes for Coverity reports... + +7 November, 10 G.Cosmo (ascii-V09-03-04) +- Removed wrong assumption for NULL pointer condition previously introduced + in G4tgbVolume. Fixes crash in example P03. + +2 November, 10 G.Cosmo (ascii-V09-03-03) +- Fixed minor left Coverity reports. + +13 October, 10 G.Cosmo (ascii-V09-03-02) +- Synchronised HEAD revision with current production code. +- Added missing static data initialisation to constructors in G4tgrFileIn, + G4tgbGeometryDumper, G4tgbIsotope, G4tgbMaterial, G4tgbMaterialSimple, + G4tgbPlaceParameterisation, G4tgbVolume, G4tgrElementFromIsotopes, + G4tgrElementSimple, G4tgrIsotope, G4tgrMaterial, G4tgrMaterialSimple, + G4tgrPlace, G4tgrPlaceDivRep, G4tgrRotationMatrix, G4tgrVolume. +- Fixed potential cases of dereferencing a NULL pointer in G4tgbMaterialMgr, +- Fixed cases of unreachable code in G4tbrVolumeMgr. +- Fixed leaks in G4tgrFileReader. +- G4tgrUtils: fixed logic in WordIsUnit() and fixed restoring of cout + precision in Dump3v(). + +3 September, 10 G.Cosmo (ascii-V09-03-01) +- Fixed signature for std::map in G4tgrVolumeMgr.hh.. +- Added missing inclusion of header in G4tgrFileIn.cc. + +14 June, 10 G.Cosmo (ascii-V09-03-00) +- Added missing virtual destructor to G4tgbDetectorBuilder. + 25 November, 09 G.Cosmo (ascii-V09-02-10) - Fixed compilation warnings on G4tgbVolume detected on MacOS. diff --git a/source/persistency/ascii/include/G4tgbDetectorBuilder.hh b/source/persistency/ascii/include/G4tgbDetectorBuilder.hh index 25cf4692a9..954052b724 100644 --- a/source/persistency/ascii/include/G4tgbDetectorBuilder.hh +++ b/source/persistency/ascii/include/G4tgbDetectorBuilder.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbDetectorBuilder.hh,v 1.2 2008/12/18 12:58:00 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbDetectorBuilder.hh,v 1.5 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbDetectorBuilder @@ -60,7 +60,7 @@ class G4tgbDetectorBuilder public: // with description G4tgbDetectorBuilder(); - ~G4tgbDetectorBuilder(); + virtual ~G4tgbDetectorBuilder(); virtual const G4tgrVolume* ReadDetector(); virtual G4VPhysicalVolume* ConstructDetector( const G4tgrVolume* tgrVoltop ); diff --git a/source/persistency/ascii/include/G4tgbDetectorConstruction.hh b/source/persistency/ascii/include/G4tgbDetectorConstruction.hh index 33f9fd57f2..7ee7c94028 100644 --- a/source/persistency/ascii/include/G4tgbDetectorConstruction.hh +++ b/source/persistency/ascii/include/G4tgbDetectorConstruction.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbDetectorConstruction.hh,v 1.2 2008/12/18 12:58:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbDetectorConstruction.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbDetectorConstruction diff --git a/source/persistency/ascii/include/G4tgbElement.hh b/source/persistency/ascii/include/G4tgbElement.hh index 19c7d5fe96..138e83a63d 100644 --- a/source/persistency/ascii/include/G4tgbElement.hh +++ b/source/persistency/ascii/include/G4tgbElement.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbElement.hh,v 1.2 2008/12/18 12:58:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbElement.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbElement diff --git a/source/persistency/ascii/include/G4tgbIsotope.hh b/source/persistency/ascii/include/G4tgbIsotope.hh index 36011f1c9d..e201a0709a 100644 --- a/source/persistency/ascii/include/G4tgbIsotope.hh +++ b/source/persistency/ascii/include/G4tgbIsotope.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbIsotope.hh,v 1.2 2008/12/18 12:58:06 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbIsotope.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbIsotope diff --git a/source/persistency/ascii/include/G4tgbMaterial.hh b/source/persistency/ascii/include/G4tgbMaterial.hh index 855f9dee59..2671489abc 100644 --- a/source/persistency/ascii/include/G4tgbMaterial.hh +++ b/source/persistency/ascii/include/G4tgbMaterial.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterial.hh,v 1.5 2008/12/18 12:58:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterial.hh,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterial diff --git a/source/persistency/ascii/include/G4tgbMaterialMgr.hh b/source/persistency/ascii/include/G4tgbMaterialMgr.hh index 22ed15815c..12a5e7c985 100644 --- a/source/persistency/ascii/include/G4tgbMaterialMgr.hh +++ b/source/persistency/ascii/include/G4tgbMaterialMgr.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterialMgr.hh,v 1.4 2008/12/18 12:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterialMgr.hh,v 1.5 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterialMgr diff --git a/source/persistency/ascii/include/G4tgbMaterialMixture.hh b/source/persistency/ascii/include/G4tgbMaterialMixture.hh index e62a355062..918096a7e7 100644 --- a/source/persistency/ascii/include/G4tgbMaterialMixture.hh +++ b/source/persistency/ascii/include/G4tgbMaterialMixture.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterialMixture.hh,v 1.2 2008/12/18 12:58:12 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterialMixture.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterialMixture diff --git a/source/persistency/ascii/include/G4tgbMaterialMixtureByNoAtoms.hh b/source/persistency/ascii/include/G4tgbMaterialMixtureByNoAtoms.hh index 68ec0583af..900a2847ec 100644 --- a/source/persistency/ascii/include/G4tgbMaterialMixtureByNoAtoms.hh +++ b/source/persistency/ascii/include/G4tgbMaterialMixtureByNoAtoms.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterialMixtureByNoAtoms.hh,v 1.3 2008/12/18 12:58:14 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterialMixtureByNoAtoms.hh,v 1.4 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterialMixtureByNoAtoms diff --git a/source/persistency/ascii/include/G4tgbMaterialMixtureByVolume.hh b/source/persistency/ascii/include/G4tgbMaterialMixtureByVolume.hh index 3b38cf3eda..7f57e699c0 100644 --- a/source/persistency/ascii/include/G4tgbMaterialMixtureByVolume.hh +++ b/source/persistency/ascii/include/G4tgbMaterialMixtureByVolume.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterialMixtureByVolume.hh,v 1.4 2008/12/18 12:58:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterialMixtureByVolume.hh,v 1.5 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterialMixtureByVolume diff --git a/source/persistency/ascii/include/G4tgbMaterialMixtureByWeight.hh b/source/persistency/ascii/include/G4tgbMaterialMixtureByWeight.hh index 5a5e23867f..826087933f 100644 --- a/source/persistency/ascii/include/G4tgbMaterialMixtureByWeight.hh +++ b/source/persistency/ascii/include/G4tgbMaterialMixtureByWeight.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterialMixtureByWeight.hh,v 1.2 2008/12/18 12:58:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterialMixtureByWeight.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterialMixtureByWeight diff --git a/source/persistency/ascii/include/G4tgbMaterialSimple.hh b/source/persistency/ascii/include/G4tgbMaterialSimple.hh index 0b9c695461..dd64337a2d 100644 --- a/source/persistency/ascii/include/G4tgbMaterialSimple.hh +++ b/source/persistency/ascii/include/G4tgbMaterialSimple.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterialSimple.hh,v 1.2 2008/12/18 12:58:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterialSimple.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterialSimple diff --git a/source/persistency/ascii/include/G4tgbPlaceParameterisation.hh b/source/persistency/ascii/include/G4tgbPlaceParameterisation.hh index e472b57898..82d4d1d5ae 100644 --- a/source/persistency/ascii/include/G4tgbPlaceParameterisation.hh +++ b/source/persistency/ascii/include/G4tgbPlaceParameterisation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbPlaceParameterisation.hh,v 1.4 2008/11/21 15:37:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbPlaceParameterisation.hh,v 1.5 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbPlaceParamSquare diff --git a/source/persistency/ascii/include/G4tgbRotationMatrix.hh b/source/persistency/ascii/include/G4tgbRotationMatrix.hh index 9738ac47fc..4f6289e34a 100644 --- a/source/persistency/ascii/include/G4tgbRotationMatrix.hh +++ b/source/persistency/ascii/include/G4tgbRotationMatrix.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbRotationMatrix.hh,v 1.2 2008/12/18 12:58:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbRotationMatrix.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbRotationMatrix diff --git a/source/persistency/ascii/include/G4tgbRotationMatrixMgr.hh b/source/persistency/ascii/include/G4tgbRotationMatrixMgr.hh index a9266665ef..7749a885b5 100644 --- a/source/persistency/ascii/include/G4tgbRotationMatrixMgr.hh +++ b/source/persistency/ascii/include/G4tgbRotationMatrixMgr.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbRotationMatrixMgr.hh,v 1.2 2008/12/18 12:58:24 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbRotationMatrixMgr.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbRotationMatrixMgr diff --git a/source/persistency/ascii/include/G4tgbVolume.hh b/source/persistency/ascii/include/G4tgbVolume.hh index 5aab1ad1c4..c038b972fe 100644 --- a/source/persistency/ascii/include/G4tgbVolume.hh +++ b/source/persistency/ascii/include/G4tgbVolume.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbVolume.hh,v 1.4 2008/12/18 12:58:26 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbVolume.hh,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbVolume diff --git a/source/persistency/ascii/include/G4tgbVolumeMgr.hh b/source/persistency/ascii/include/G4tgbVolumeMgr.hh index 88575da67a..66cb44d925 100644 --- a/source/persistency/ascii/include/G4tgbVolumeMgr.hh +++ b/source/persistency/ascii/include/G4tgbVolumeMgr.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbVolumeMgr.hh,v 1.3 2008/12/18 12:58:28 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbVolumeMgr.hh,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbVolume diff --git a/source/persistency/ascii/include/G4tgrElement.hh b/source/persistency/ascii/include/G4tgrElement.hh index 34dcf00482..4152f08239 100644 --- a/source/persistency/ascii/include/G4tgrElement.hh +++ b/source/persistency/ascii/include/G4tgrElement.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrElement.hh,v 1.2 2008/12/18 12:58:30 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrElement.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrElement diff --git a/source/persistency/ascii/include/G4tgrElementFromIsotopes.hh b/source/persistency/ascii/include/G4tgrElementFromIsotopes.hh index 4affaba574..4b071695d4 100644 --- a/source/persistency/ascii/include/G4tgrElementFromIsotopes.hh +++ b/source/persistency/ascii/include/G4tgrElementFromIsotopes.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrElementFromIsotopes.hh,v 1.6 2008/12/18 12:58:32 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrElementFromIsotopes.hh,v 1.7 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrElementFromIsotopes diff --git a/source/persistency/ascii/include/G4tgrElementSimple.hh b/source/persistency/ascii/include/G4tgrElementSimple.hh index cae0421b93..907b0f1a8d 100644 --- a/source/persistency/ascii/include/G4tgrElementSimple.hh +++ b/source/persistency/ascii/include/G4tgrElementSimple.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrElementSimple.hh,v 1.6 2008/12/18 12:58:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrElementSimple.hh,v 1.7 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrElementSimple diff --git a/source/persistency/ascii/include/G4tgrFileIn.hh b/source/persistency/ascii/include/G4tgrFileIn.hh index 49476b9cdf..3888b38047 100644 --- a/source/persistency/ascii/include/G4tgrFileIn.hh +++ b/source/persistency/ascii/include/G4tgrFileIn.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrFileIn.hh,v 1.3 2008/12/18 12:58:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrFileIn.hh,v 1.5 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrFileIn @@ -76,7 +76,7 @@ class G4tgrFileIn private: - G4tgrFileIn( const G4String& name ) : theName(name) {} + G4tgrFileIn( const G4String& name ) : theCurrentFile(-1), theName(name) {} private: diff --git a/source/persistency/ascii/include/G4tgrFileReader.hh b/source/persistency/ascii/include/G4tgrFileReader.hh index 46fc5c52a9..a25df83c8c 100644 --- a/source/persistency/ascii/include/G4tgrFileReader.hh +++ b/source/persistency/ascii/include/G4tgrFileReader.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrFileReader.hh,v 1.2 2008/11/12 08:41:19 arce Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrFileReader.hh,v 1.4 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrFileReader diff --git a/source/persistency/ascii/include/G4tgrIsotope.hh b/source/persistency/ascii/include/G4tgrIsotope.hh index eea1c22bb2..5d32c481cb 100644 --- a/source/persistency/ascii/include/G4tgrIsotope.hh +++ b/source/persistency/ascii/include/G4tgrIsotope.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrIsotope.hh,v 1.4 2008/12/18 12:58:38 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrIsotope.hh,v 1.5 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrIsotope diff --git a/source/persistency/ascii/include/G4tgrLineProcessor.hh b/source/persistency/ascii/include/G4tgrLineProcessor.hh index 64cd4a341b..37a42921a7 100644 --- a/source/persistency/ascii/include/G4tgrLineProcessor.hh +++ b/source/persistency/ascii/include/G4tgrLineProcessor.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrLineProcessor.hh,v 1.1 2008/10/23 14:43:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrLineProcessor.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrIsotope diff --git a/source/persistency/ascii/include/G4tgrMaterial.hh b/source/persistency/ascii/include/G4tgrMaterial.hh index c17f9a1bba..834e99b99a 100644 --- a/source/persistency/ascii/include/G4tgrMaterial.hh +++ b/source/persistency/ascii/include/G4tgrMaterial.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrMaterial.hh,v 1.5 2008/12/18 12:58:40 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrMaterial.hh,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrMaterial diff --git a/source/persistency/ascii/include/G4tgrMaterialFactory.hh b/source/persistency/ascii/include/G4tgrMaterialFactory.hh index b2ffac040f..33e4e494ba 100644 --- a/source/persistency/ascii/include/G4tgrMaterialFactory.hh +++ b/source/persistency/ascii/include/G4tgrMaterialFactory.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrMaterialFactory.hh,v 1.2 2008/12/18 12:58:42 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrMaterialFactory.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrMaterialFactory diff --git a/source/persistency/ascii/include/G4tgrMaterialMixture.hh b/source/persistency/ascii/include/G4tgrMaterialMixture.hh index d47c0d4d38..cda93ca487 100644 --- a/source/persistency/ascii/include/G4tgrMaterialMixture.hh +++ b/source/persistency/ascii/include/G4tgrMaterialMixture.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrMaterialMixture.hh,v 1.2 2008/12/18 12:58:44 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrMaterialMixture.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrMaterialMixture diff --git a/source/persistency/ascii/include/G4tgrMaterialSimple.hh b/source/persistency/ascii/include/G4tgrMaterialSimple.hh index efffb2401d..5a73b54301 100644 --- a/source/persistency/ascii/include/G4tgrMaterialSimple.hh +++ b/source/persistency/ascii/include/G4tgrMaterialSimple.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrMaterialSimple.hh,v 1.2 2008/12/18 12:58:46 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrMaterialSimple.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrMaterialSimple diff --git a/source/persistency/ascii/include/G4tgrParameterMgr.hh b/source/persistency/ascii/include/G4tgrParameterMgr.hh index b4dd50be81..63c79ef880 100644 --- a/source/persistency/ascii/include/G4tgrParameterMgr.hh +++ b/source/persistency/ascii/include/G4tgrParameterMgr.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrParameterMgr.hh,v 1.2 2008/12/18 12:58:48 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrParameterMgr.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrParameterMgr diff --git a/source/persistency/ascii/include/G4tgrPlace.hh b/source/persistency/ascii/include/G4tgrPlace.hh index f4964e8519..a3a9accf96 100644 --- a/source/persistency/ascii/include/G4tgrPlace.hh +++ b/source/persistency/ascii/include/G4tgrPlace.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrPlace.hh,v 1.4 2008/12/18 12:58:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrPlace.hh,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrPlace diff --git a/source/persistency/ascii/include/G4tgrPlaceDivRep.hh b/source/persistency/ascii/include/G4tgrPlaceDivRep.hh index 0c3ac06470..97fc6f0536 100644 --- a/source/persistency/ascii/include/G4tgrPlaceDivRep.hh +++ b/source/persistency/ascii/include/G4tgrPlaceDivRep.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrPlaceDivRep.hh,v 1.5 2008/12/18 12:58:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrPlaceDivRep.hh,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrPlaceDivRep diff --git a/source/persistency/ascii/include/G4tgrPlaceParameterisation.hh b/source/persistency/ascii/include/G4tgrPlaceParameterisation.hh index db6ae4816c..886fd9e60a 100644 --- a/source/persistency/ascii/include/G4tgrPlaceParameterisation.hh +++ b/source/persistency/ascii/include/G4tgrPlaceParameterisation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrPlaceParameterisation.hh,v 1.7 2008/12/18 12:58:54 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrPlaceParameterisation.hh,v 1.8 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrPlaceParameterisation diff --git a/source/persistency/ascii/include/G4tgrPlaceSimple.hh b/source/persistency/ascii/include/G4tgrPlaceSimple.hh index 136186ec2b..e444ecbf52 100644 --- a/source/persistency/ascii/include/G4tgrPlaceSimple.hh +++ b/source/persistency/ascii/include/G4tgrPlaceSimple.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrPlaceSimple.hh,v 1.5 2008/12/18 12:58:56 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrPlaceSimple.hh,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrPlaceSimple diff --git a/source/persistency/ascii/include/G4tgrRotationMatrix.hh b/source/persistency/ascii/include/G4tgrRotationMatrix.hh index 27dc126d13..281424fbad 100644 --- a/source/persistency/ascii/include/G4tgrRotationMatrix.hh +++ b/source/persistency/ascii/include/G4tgrRotationMatrix.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrRotationMatrix.hh,v 1.5 2008/12/18 12:58:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrRotationMatrix.hh,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrRotationMatrix diff --git a/source/persistency/ascii/include/G4tgrRotationMatrixFactory.hh b/source/persistency/ascii/include/G4tgrRotationMatrixFactory.hh index c9e43a5e52..9c5d021671 100644 --- a/source/persistency/ascii/include/G4tgrRotationMatrixFactory.hh +++ b/source/persistency/ascii/include/G4tgrRotationMatrixFactory.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrRotationMatrixFactory.hh,v 1.2 2008/12/18 12:59:00 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrRotationMatrixFactory.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrRotationMatrixFactory diff --git a/source/persistency/ascii/include/G4tgrSolid.hh b/source/persistency/ascii/include/G4tgrSolid.hh index 95341832c4..3e0aef23dc 100644 --- a/source/persistency/ascii/include/G4tgrSolid.hh +++ b/source/persistency/ascii/include/G4tgrSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrSolid.hh,v 1.2 2008/12/18 12:59:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrSolid.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrSolid diff --git a/source/persistency/ascii/include/G4tgrSolidBoolean.hh b/source/persistency/ascii/include/G4tgrSolidBoolean.hh index cad1957c83..f5a0133b50 100644 --- a/source/persistency/ascii/include/G4tgrSolidBoolean.hh +++ b/source/persistency/ascii/include/G4tgrSolidBoolean.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrSolidBoolean.hh,v 1.2 2008/12/18 12:59:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrSolidBoolean.hh,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrSolidBoolean diff --git a/source/persistency/ascii/include/G4tgrUtils.hh b/source/persistency/ascii/include/G4tgrUtils.hh index 03d167db4d..577eadaafd 100644 --- a/source/persistency/ascii/include/G4tgrUtils.hh +++ b/source/persistency/ascii/include/G4tgrUtils.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrUtils.hh,v 1.6 2008/12/18 12:59:06 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrUtils.hh,v 1.8 2010/12/15 11:29:54 arce Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrUtils @@ -63,8 +63,7 @@ class G4tgrUtils static G4bool IsNumber( const G4String& str); static G4bool IsInteger( const G4double val, const G4double precision = 1.e-6 ); - static G4bool WordIsUnit( const G4String& word ); - static G4bool WordIsFunction( const G4String& word ); + static G4bool IsFunction( const G4String& word ); // Checks that every character in a G4String is a number // (also '.' or exponencial notation: 'E') diff --git a/source/persistency/ascii/include/G4tgrVolume.hh b/source/persistency/ascii/include/G4tgrVolume.hh index de9f05ea61..b1f28900e4 100644 --- a/source/persistency/ascii/include/G4tgrVolume.hh +++ b/source/persistency/ascii/include/G4tgrVolume.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrVolume.hh,v 1.10 2009/11/23 11:38:54 arce Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4tgrVolume.hh,v 1.11 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrVolume diff --git a/source/persistency/ascii/include/G4tgrVolumeAssembly.hh b/source/persistency/ascii/include/G4tgrVolumeAssembly.hh index fcab88640c..a36bb4e319 100644 --- a/source/persistency/ascii/include/G4tgrVolumeAssembly.hh +++ b/source/persistency/ascii/include/G4tgrVolumeAssembly.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrVolumeAssembly.hh,v 1.5 2008/12/18 12:59:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrVolumeAssembly.hh,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrVolumeAssembly diff --git a/source/persistency/ascii/include/G4tgrVolumeDivision.hh b/source/persistency/ascii/include/G4tgrVolumeDivision.hh index d9a0ddc9c3..6b07bdd138 100644 --- a/source/persistency/ascii/include/G4tgrVolumeDivision.hh +++ b/source/persistency/ascii/include/G4tgrVolumeDivision.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrVolumeDivision.hh,v 1.5 2008/12/18 12:59:12 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrVolumeDivision.hh,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrVolumeDivision diff --git a/source/persistency/ascii/include/G4tgrVolumeMgr.hh b/source/persistency/ascii/include/G4tgrVolumeMgr.hh index 88c39c109e..c59552de54 100644 --- a/source/persistency/ascii/include/G4tgrVolumeMgr.hh +++ b/source/persistency/ascii/include/G4tgrVolumeMgr.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrVolumeMgr.hh,v 1.5 2008/12/18 12:59:14 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrVolumeMgr.hh,v 1.8 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrVolumeMgr @@ -52,8 +52,8 @@ #include -typedef std::map< const G4String, const G4tgrSolid* > G4mapssol; -typedef std::map< const G4String, const G4tgrVolume* > G4mapsvol; +typedef std::map< G4String, G4tgrSolid* > G4mapssol; +typedef std::map< G4String, G4tgrVolume* > G4mapsvol; typedef std::multimap< const G4String, const G4tgrPlace* > G4mmapspl; //---------------------------------------------------------------------------- diff --git a/source/persistency/ascii/sources.cmake b/source/persistency/ascii/sources.cmake new file mode 100644 index 0000000000..9709f16c91 --- /dev/null +++ b/source/persistency/ascii/sources.cmake @@ -0,0 +1,164 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4geomtext +# Package: Geant4.src.G4persistency.G4geomtext +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:50:05 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/divisions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/BREPS/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/Boolean/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4geomtext + HEADERS + G4tgbDetectorBuilder.hh + G4tgbDetectorConstruction.hh + G4tgbElement.hh + G4tgbGeometryDumper.hh + G4tgbIsotope.hh + G4tgbMaterial.hh + G4tgbMaterialMgr.hh + G4tgbMaterialMixture.hh + G4tgbMaterialMixtureByNoAtoms.hh + G4tgbMaterialMixtureByVolume.hh + G4tgbMaterialMixtureByWeight.hh + G4tgbMaterialSimple.hh + G4tgbPlaceParamCircle.hh + G4tgbPlaceParamLinear.hh + G4tgbPlaceParamSquare.hh + G4tgbPlaceParameterisation.hh + G4tgbRotationMatrix.hh + G4tgbRotationMatrixMgr.hh + G4tgbVolume.hh + G4tgbVolumeMgr.hh + G4tgrElement.hh + G4tgrElementFromIsotopes.hh + G4tgrElementSimple.hh + G4tgrEvaluator.hh + G4tgrFileIn.hh + G4tgrFileReader.hh + G4tgrIsotope.hh + G4tgrLineProcessor.hh + G4tgrMaterial.hh + G4tgrMaterialFactory.hh + G4tgrMaterialMixture.hh + G4tgrMaterialSimple.hh + G4tgrMessenger.hh + G4tgrParameterMgr.hh + G4tgrPlace.hh + G4tgrPlaceDivRep.hh + G4tgrPlaceParameterisation.hh + G4tgrPlaceSimple.hh + G4tgrRotationMatrix.hh + G4tgrRotationMatrixFactory.hh + G4tgrSolid.hh + G4tgrSolidBoolean.hh + G4tgrUtils.hh + G4tgrVolume.hh + G4tgrVolumeAssembly.hh + G4tgrVolumeDivision.hh + G4tgrVolumeMgr.hh + SOURCES + G4tgbDetectorBuilder.cc + G4tgbDetectorConstruction.cc + G4tgbElement.cc + G4tgbGeometryDumper.cc + G4tgbIsotope.cc + G4tgbMaterial.cc + G4tgbMaterialMgr.cc + G4tgbMaterialMixture.cc + G4tgbMaterialMixtureByNoAtoms.cc + G4tgbMaterialMixtureByVolume.cc + G4tgbMaterialMixtureByWeight.cc + G4tgbMaterialSimple.cc + G4tgbPlaceParamCircle.cc + G4tgbPlaceParamLinear.cc + G4tgbPlaceParamSquare.cc + G4tgbPlaceParameterisation.cc + G4tgbRotationMatrix.cc + G4tgbRotationMatrixMgr.cc + G4tgbVolume.cc + G4tgbVolumeMgr.cc + G4tgrElement.cc + G4tgrElementFromIsotopes.cc + G4tgrElementSimple.cc + G4tgrEvaluator.cc + G4tgrFileIn.cc + G4tgrFileReader.cc + G4tgrIsotope.cc + G4tgrLineProcessor.cc + G4tgrMaterial.cc + G4tgrMaterialFactory.cc + G4tgrMaterialMixture.cc + G4tgrMaterialSimple.cc + G4tgrMessenger.cc + G4tgrParameterMgr.cc + G4tgrPlace.cc + G4tgrPlaceDivRep.cc + G4tgrPlaceParameterisation.cc + G4tgrPlaceSimple.cc + G4tgrRotationMatrix.cc + G4tgrRotationMatrixFactory.cc + G4tgrSolid.cc + G4tgrSolidBoolean.cc + G4tgrUtils.cc + G4tgrVolume.cc + G4tgrVolumeAssembly.cc + G4tgrVolumeDivision.cc + G4tgrVolumeMgr.cc + GRANULAR_DEPENDENCIES + G4brep + G4csg + G4geomBoolean + G4geomdivision + G4geometrymng + G4globman + G4graphics_reps + G4hepnumerics + G4intercoms + G4materials + G4partman + G4specsolids + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4particles + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/persistency/ascii/src/G4tgbDetectorBuilder.cc b/source/persistency/ascii/src/G4tgbDetectorBuilder.cc index 8ace33697e..9b7f41d0c7 100644 --- a/source/persistency/ascii/src/G4tgbDetectorBuilder.cc +++ b/source/persistency/ascii/src/G4tgbDetectorBuilder.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbDetectorBuilder.cc,v 1.4 2008/12/18 12:59:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbDetectorBuilder.cc,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbDetectorBuilder diff --git a/source/persistency/ascii/src/G4tgbDetectorConstruction.cc b/source/persistency/ascii/src/G4tgbDetectorConstruction.cc index e9763b4af2..90a1c8b110 100644 --- a/source/persistency/ascii/src/G4tgbDetectorConstruction.cc +++ b/source/persistency/ascii/src/G4tgbDetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbDetectorConstruction.cc,v 1.4 2008/12/18 12:59:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbDetectorConstruction.cc,v 1.5 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbDetectorConstruction diff --git a/source/persistency/ascii/src/G4tgbElement.cc b/source/persistency/ascii/src/G4tgbElement.cc index 1ba07a32c9..f6a1de9dc8 100644 --- a/source/persistency/ascii/src/G4tgbElement.cc +++ b/source/persistency/ascii/src/G4tgbElement.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbElement.cc,v 1.4 2008/12/18 12:59:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbElement.cc,v 1.5 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbElement diff --git a/source/persistency/ascii/src/G4tgbGeometryDumper.cc b/source/persistency/ascii/src/G4tgbGeometryDumper.cc index 2b6af6ac4e..fc3d5964cd 100644 --- a/source/persistency/ascii/src/G4tgbGeometryDumper.cc +++ b/source/persistency/ascii/src/G4tgbGeometryDumper.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbGeometryDumper.cc,v 1.12 2009/11/19 13:29:04 arce Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4tgbGeometryDumper.cc,v 1.15 2010/11/02 11:13:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbGeometryDumper @@ -80,9 +80,8 @@ G4tgbGeometryDumper* G4tgbGeometryDumper::theInstance = 0; //------------------------------------------------------------------------ G4tgbGeometryDumper::G4tgbGeometryDumper() + : theFile(0), theRotationNumber(0) { - - theRotationNumber = 0; } //------------------------------------------------------------------------ @@ -648,6 +647,12 @@ G4String G4tgbGeometryDumper::DumpSolid( G4VSolid* solid, } else if (solidType == "REFLECTEDSOLID") { G4ReflectedSolid* solidrefl = dynamic_cast(solid); + if (!solidrefl) + { + G4Exception("G4tgbGeometryDumper::DumpSolid()", + "InvalidType", FatalException, "Invalid reflected solid!"); + return solidName; + } G4VSolid* solidori = solidrefl->GetConstituentMovedSolid(); DumpSolid( solidori ); } @@ -668,6 +673,7 @@ void G4tgbGeometryDumper::DumpBooleanVolume( const G4String& solidType, G4VSolid* so ) { G4BooleanSolid * bso = dynamic_cast < G4BooleanSolid * > (so); + if (!bso) { return; } G4VSolid* solid0 = bso->GetConstituentSolid( 0 ); G4VSolid* solid1 = bso->GetConstituentSolid( 1 ); G4DisplacedSolid* solid1Disp = 0; @@ -675,7 +681,7 @@ void G4tgbGeometryDumper::DumpBooleanVolume( const G4String& solidType, if( displaced ) { solid1Disp = dynamic_cast(solid1); - solid1 = solid1Disp->GetConstituentMovedSolid(); + if (solid1Disp) { solid1 = solid1Disp->GetConstituentMovedSolid(); } } DumpSolid( solid0 ); DumpSolid( solid1 ); @@ -735,200 +741,213 @@ std::vector G4tgbGeometryDumper::GetSolidParams( const G4VSolid * so) if (solidType == "BOX") { const G4Box * sb = dynamic_cast < const G4Box*>(so); - params.push_back( sb->GetXHalfLength() ); - params.push_back( sb->GetYHalfLength() ); - params.push_back( sb->GetZHalfLength() ); - + if (sb) { + params.push_back( sb->GetXHalfLength() ); + params.push_back( sb->GetYHalfLength() ); + params.push_back( sb->GetZHalfLength() ); + } } else if (solidType == "TUBS") { const G4Tubs * tu = dynamic_cast < const G4Tubs * > (so); - params.push_back( tu->GetInnerRadius() ); - params.push_back( tu->GetOuterRadius() ); - params.push_back( tu->GetZHalfLength() ); - params.push_back( tu->GetStartPhiAngle()/deg ); - params.push_back( tu->GetDeltaPhiAngle()/deg ); - + if (tu) { + params.push_back( tu->GetInnerRadius() ); + params.push_back( tu->GetOuterRadius() ); + params.push_back( tu->GetZHalfLength() ); + params.push_back( tu->GetStartPhiAngle()/deg ); + params.push_back( tu->GetDeltaPhiAngle()/deg ); + } } else if (solidType == "TRAP") { const G4Trap * trp = dynamic_cast < const G4Trap * > (so); - G4ThreeVector symAxis(trp->GetSymAxis()); - G4double theta, phi; - theta = symAxis.theta()/deg; - phi = symAxis.phi()/deg; - params.push_back( trp->GetZHalfLength() ); - params.push_back( theta ); - params.push_back( phi); - params.push_back( trp->GetYHalfLength1() ); - params.push_back( trp->GetXHalfLength1() ); - params.push_back( trp->GetXHalfLength2() ); - params.push_back( std::atan(trp->GetTanAlpha1())/deg ); - params.push_back( trp->GetYHalfLength2() ); - params.push_back( trp->GetXHalfLength3() ); - params.push_back( trp->GetXHalfLength4() ); - params.push_back( std::atan(trp->GetTanAlpha2())/deg ); - + if (trp) { + G4ThreeVector symAxis(trp->GetSymAxis()); + G4double theta = symAxis.theta()/deg; + G4double phi = symAxis.phi()/deg; + params.push_back( trp->GetZHalfLength() ); + params.push_back( theta ); + params.push_back( phi); + params.push_back( trp->GetYHalfLength1() ); + params.push_back( trp->GetXHalfLength1() ); + params.push_back( trp->GetXHalfLength2() ); + params.push_back( std::atan(trp->GetTanAlpha1())/deg ); + params.push_back( trp->GetYHalfLength2() ); + params.push_back( trp->GetXHalfLength3() ); + params.push_back( trp->GetXHalfLength4() ); + params.push_back( std::atan(trp->GetTanAlpha2())/deg ); + } } else if (solidType == "TRD") { const G4Trd * tr = dynamic_cast < const G4Trd * > (so); - params.push_back( tr->GetXHalfLength1() ); - params.push_back( tr->GetXHalfLength2() ); - params.push_back( tr->GetYHalfLength1() ); - params.push_back( tr->GetYHalfLength2() ); - params.push_back( tr->GetZHalfLength()); - + if (tr) { + params.push_back( tr->GetXHalfLength1() ); + params.push_back( tr->GetXHalfLength2() ); + params.push_back( tr->GetYHalfLength1() ); + params.push_back( tr->GetYHalfLength2() ); + params.push_back( tr->GetZHalfLength()); + } } else if (solidType == "PARA") { const G4Para * para = dynamic_cast < const G4Para * > (so); - double phi; - if(para->GetSymAxis().z()!=1.0) - { phi = std::atan(para->GetSymAxis().y()/para->GetSymAxis().x()); } - else - { phi = 0; } - params.push_back( para->GetXHalfLength()); - params.push_back( para->GetYHalfLength()); - params.push_back( para->GetZHalfLength()); - params.push_back( std::atan(para->GetTanAlpha())/deg); - params.push_back( std::acos(para->GetSymAxis().z())/deg); - params.push_back( phi/deg); - + if (para) { + G4double phi = 0.; + if(para->GetSymAxis().z()!=1.0) + { phi = std::atan(para->GetSymAxis().y()/para->GetSymAxis().x()); } + params.push_back( para->GetXHalfLength()); + params.push_back( para->GetYHalfLength()); + params.push_back( para->GetZHalfLength()); + params.push_back( std::atan(para->GetTanAlpha())/deg); + params.push_back( std::acos(para->GetSymAxis().z())/deg); + params.push_back( phi/deg); + } } else if (solidType == "CONS") { const G4Cons * cn = dynamic_cast < const G4Cons * > (so); - params.push_back( cn->GetInnerRadiusMinusZ() ); - params.push_back( cn->GetOuterRadiusMinusZ() ); - params.push_back( cn->GetInnerRadiusPlusZ() ); - params.push_back( cn->GetOuterRadiusPlusZ() ); - params.push_back( cn->GetZHalfLength() ); - params.push_back( cn->GetStartPhiAngle()/deg ); - params.push_back( cn->GetDeltaPhiAngle()/deg ); - + if (cn) { + params.push_back( cn->GetInnerRadiusMinusZ() ); + params.push_back( cn->GetOuterRadiusMinusZ() ); + params.push_back( cn->GetInnerRadiusPlusZ() ); + params.push_back( cn->GetOuterRadiusPlusZ() ); + params.push_back( cn->GetZHalfLength() ); + params.push_back( cn->GetStartPhiAngle()/deg ); + params.push_back( cn->GetDeltaPhiAngle()/deg ); + } } else if (solidType == "SPHERE") { const G4Sphere * sphere = dynamic_cast < const G4Sphere * > (so); - params.push_back( sphere->GetInnerRadius()); - params.push_back( sphere->GetOuterRadius()); - params.push_back( sphere->GetStartPhiAngle()/deg); - params.push_back( sphere->GetDeltaPhiAngle()/deg); - params.push_back( sphere->GetStartThetaAngle()/deg); - params.push_back( sphere->GetDeltaThetaAngle()/deg); - + if (sphere) { + params.push_back( sphere->GetInnerRadius()); + params.push_back( sphere->GetOuterRadius()); + params.push_back( sphere->GetStartPhiAngle()/deg); + params.push_back( sphere->GetDeltaPhiAngle()/deg); + params.push_back( sphere->GetStartThetaAngle()/deg); + params.push_back( sphere->GetDeltaThetaAngle()/deg); + } } else if (solidType == "ORB") { const G4Orb * orb = dynamic_cast < const G4Orb * > (so); - params.push_back( orb->GetRadius()); - + if (orb) { + params.push_back( orb->GetRadius()); + } } else if (solidType == "TORUS") { const G4Torus * torus = dynamic_cast < const G4Torus * > (so); - params.push_back( torus->GetRmin()); - params.push_back( torus->GetRmax()); - params.push_back( torus->GetRtor()); - params.push_back( torus->GetSPhi()/deg); - params.push_back( torus->GetDPhi()/deg); - + if (torus) { + params.push_back( torus->GetRmin()); + params.push_back( torus->GetRmax()); + params.push_back( torus->GetRtor()); + params.push_back( torus->GetSPhi()/deg); + params.push_back( torus->GetDPhi()/deg); + } } else if (solidType == "POLYCONE") { //--- Dump RZ corners, as original parameters will not be present // if it was build from RZ corners const G4Polycone * pc = dynamic_cast < const G4Polycone * > (so); + if (pc) { + G4double angphi = pc->GetStartPhi()/deg; + if( angphi > 180*deg ) { angphi -= 360*deg; } + G4int ncor = pc->GetNumRZCorner(); + params.push_back( angphi ); + params.push_back( pc->GetOriginalParameters()->Opening_angle/deg ); + params.push_back( ncor ); - G4double angphi = pc->GetStartPhi()/deg; - if( angphi > 180*deg ) { angphi -= 360*deg; } - G4int ncor = pc->GetNumRZCorner(); - params.push_back( angphi ); - params.push_back( pc->GetOriginalParameters()->Opening_angle/deg ); - params.push_back( ncor ); - - for( G4int ii = 0; ii < ncor; ii++ ) - { - params.push_back( pc->GetCorner(ii).r ); - params.push_back( pc->GetCorner(ii).z ); + for( G4int ii = 0; ii < ncor; ii++ ) + { + params.push_back( pc->GetCorner(ii).r ); + params.push_back( pc->GetCorner(ii).z ); + } } - - } else if (solidType == "POLYHEDRA") { //--- Dump RZ corners, as original parameters will not be present // if it was build from RZ corners const G4Polyhedra * ph = (dynamic_cast < const G4Polyhedra * > (so)); - - G4double angphi = ph->GetStartPhi()/deg; - if( angphi > 180*deg ) angphi -= 360*deg; + if (ph) { + G4double angphi = ph->GetStartPhi()/deg; + if( angphi > 180*deg ) angphi -= 360*deg; - G4int ncor = ph->GetNumRZCorner(); + G4int ncor = ph->GetNumRZCorner(); - params.push_back( angphi ); - params.push_back( ph->GetOriginalParameters()->Opening_angle/deg ); - params.push_back( ph->GetNumSide() ); - params.push_back( ncor ); + params.push_back( angphi ); + params.push_back( ph->GetOriginalParameters()->Opening_angle/deg ); + params.push_back( ph->GetNumSide() ); + params.push_back( ncor ); - for( G4int ii = 0; ii < ncor; ii++ ) - { - params.push_back( ph->GetCorner(ii).r ); - params.push_back( ph->GetCorner(ii).z ); + for( G4int ii = 0; ii < ncor; ii++ ) + { + params.push_back( ph->GetCorner(ii).r ); + params.push_back( ph->GetCorner(ii).z ); + } } - } else if (solidType == "ELLIPTICALTUBE") { const G4EllipticalTube * eltu = dynamic_cast < const G4EllipticalTube * > (so); - params.push_back( eltu->GetDx()); - params.push_back( eltu->GetDy()); - params.push_back( eltu->GetDz()); - + if (eltu) { + params.push_back( eltu->GetDx()); + params.push_back( eltu->GetDy()); + params.push_back( eltu->GetDz()); + } } else if (solidType == "ELLIPSOID" ){ const G4Ellipsoid* dso = dynamic_cast < const G4Ellipsoid * > (so); - params.push_back( dso->GetSemiAxisMax(0) ); - params.push_back( dso->GetSemiAxisMax(1) ); - params.push_back( dso->GetSemiAxisMax(2) ); - params.push_back( dso->GetZBottomCut() ); - params.push_back( dso->GetZTopCut() ); - + if (dso) { + params.push_back( dso->GetSemiAxisMax(0) ); + params.push_back( dso->GetSemiAxisMax(1) ); + params.push_back( dso->GetSemiAxisMax(2) ); + params.push_back( dso->GetZBottomCut() ); + params.push_back( dso->GetZTopCut() ); + } } else if (solidType == "ELLIPTICAL_CONE") { const G4EllipticalCone * elco = dynamic_cast < const G4EllipticalCone * > (so); - params.push_back( elco-> GetSemiAxisX() ); - params.push_back( elco-> GetSemiAxisY() ); - params.push_back( elco-> GetZMax() ); - params.push_back( elco-> GetZTopCut() ); - + if (elco) { + params.push_back( elco-> GetSemiAxisX() ); + params.push_back( elco-> GetSemiAxisY() ); + params.push_back( elco-> GetZMax() ); + params.push_back( elco-> GetZTopCut() ); + } } else if (solidType == "HYPE") { const G4Hype* hype = dynamic_cast < const G4Hype * > (so); - params.push_back( hype->GetInnerRadius()); - params.push_back( hype->GetOuterRadius()); - params.push_back( hype->GetInnerStereo()/deg); - params.push_back( hype->GetOuterStereo()/deg); - params.push_back( 2*hype->GetZHalfLength()); - + if (hype) { + params.push_back( hype->GetInnerRadius()); + params.push_back( hype->GetOuterRadius()); + params.push_back( hype->GetInnerStereo()/deg); + params.push_back( hype->GetOuterStereo()/deg); + params.push_back( 2*hype->GetZHalfLength()); + } // } else if( solidType == "TET" ) { } else if( solidType == "TWISTEDBOX" ) { const G4TwistedBox* tbox = dynamic_cast < const G4TwistedBox * > (so); - params.push_back( tbox->GetPhiTwist()/deg ); - params.push_back( tbox->GetXHalfLength() ); - params.push_back( tbox->GetYHalfLength() ); - params.push_back( tbox->GetZHalfLength() ); - + if (tbox) { + params.push_back( tbox->GetPhiTwist()/deg ); + params.push_back( tbox->GetXHalfLength() ); + params.push_back( tbox->GetYHalfLength() ); + params.push_back( tbox->GetZHalfLength() ); + } } else if( solidType == "TWISTEDTRAP" ) { const G4TwistedTrap * ttrap = dynamic_cast < const G4TwistedTrap * > (so); - params.push_back( ttrap->GetPhiTwist()/deg ); - params.push_back( ttrap->GetZHalfLength() ); - params.push_back( ttrap->GetPolarAngleTheta()/deg ); - params.push_back( ttrap->GetAzimuthalAnglePhi()/deg ); - params.push_back( ttrap->GetY1HalfLength() ); - params.push_back( ttrap->GetX1HalfLength() ); - params.push_back( ttrap->GetX2HalfLength() ); - params.push_back( ttrap->GetY2HalfLength() ); - params.push_back( ttrap->GetX3HalfLength() ); - params.push_back( ttrap->GetX4HalfLength() ); - params.push_back( ttrap->GetTiltAngleAlpha()/deg ); - + if (ttrap) { + params.push_back( ttrap->GetPhiTwist()/deg ); + params.push_back( ttrap->GetZHalfLength() ); + params.push_back( ttrap->GetPolarAngleTheta()/deg ); + params.push_back( ttrap->GetAzimuthalAnglePhi()/deg ); + params.push_back( ttrap->GetY1HalfLength() ); + params.push_back( ttrap->GetX1HalfLength() ); + params.push_back( ttrap->GetX2HalfLength() ); + params.push_back( ttrap->GetY2HalfLength() ); + params.push_back( ttrap->GetX3HalfLength() ); + params.push_back( ttrap->GetX4HalfLength() ); + params.push_back( ttrap->GetTiltAngleAlpha()/deg ); + } } else if( solidType == "TWISTEDTRD" ) { const G4TwistedTrd * ttrd = dynamic_cast < const G4TwistedTrd * > (so); - params.push_back( ttrd->GetX1HalfLength()); - params.push_back( ttrd->GetX2HalfLength() ); - params.push_back( ttrd->GetY1HalfLength() ); - params.push_back( ttrd->GetY2HalfLength() ); - params.push_back( ttrd->GetZHalfLength() ); - params.push_back( ttrd->GetPhiTwist()/deg ); - + if (ttrd) { + params.push_back( ttrd->GetX1HalfLength()); + params.push_back( ttrd->GetX2HalfLength() ); + params.push_back( ttrd->GetY1HalfLength() ); + params.push_back( ttrd->GetY2HalfLength() ); + params.push_back( ttrd->GetZHalfLength() ); + params.push_back( ttrd->GetPhiTwist()/deg ); + } } else if( solidType == "TWISTEDTUBS" ) { const G4TwistedTubs * ttub = dynamic_cast < const G4TwistedTubs * > (so); - params.push_back( ttub->GetInnerRadius() ); - params.push_back( ttub->GetOuterRadius() ); - params.push_back( ttub->GetZHalfLength() ); - params.push_back( ttub->GetDPhi()/deg ); - params.push_back( ttub->GetPhiTwist()/deg ); - + if (ttub) { + params.push_back( ttub->GetInnerRadius() ); + params.push_back( ttub->GetOuterRadius() ); + params.push_back( ttub->GetZHalfLength() ); + params.push_back( ttub->GetDPhi()/deg ); + params.push_back( ttub->GetPhiTwist()/deg ); + } } else { @@ -944,13 +963,12 @@ std::vector G4tgbGeometryDumper::GetSolidParams( const G4VSolid * so) //------------------------------------------------------------------------ G4String G4tgbGeometryDumper::DumpRotationMatrix( G4RotationMatrix* rotm ) { + if (!rotm) { rotm = new G4RotationMatrix(); } + G4double de = MatDeterminant(rotm); - G4String rotName = LookForExistingRotation( rotm ); if( rotName != "" ) { return rotName; } - if (!rotm) { rotm = new G4RotationMatrix(); } - G4ThreeVector v(1.,1.,1.); if (de < -0.9 ) // a reflection .... { diff --git a/source/persistency/ascii/src/G4tgbIsotope.cc b/source/persistency/ascii/src/G4tgbIsotope.cc index 7ea150ebe8..66ca5dab97 100644 --- a/source/persistency/ascii/src/G4tgbIsotope.cc +++ b/source/persistency/ascii/src/G4tgbIsotope.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbIsotope.cc,v 1.4 2008/12/18 12:59:24 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbIsotope.cc,v 1.6 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbIsotope @@ -39,6 +39,7 @@ //---------------------------------------------------------------------- G4tgbIsotope::G4tgbIsotope() + : theTgrIsot(0), theG4Isot(0) { } diff --git a/source/persistency/ascii/src/G4tgbMaterial.cc b/source/persistency/ascii/src/G4tgbMaterial.cc index 4318e893ca..16e2d39f74 100644 --- a/source/persistency/ascii/src/G4tgbMaterial.cc +++ b/source/persistency/ascii/src/G4tgbMaterial.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterial.cc,v 1.2 2008/12/18 12:59:26 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterial.cc,v 1.5 2010/12/15 11:29:54 arce Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterial @@ -40,6 +40,7 @@ // ------------------------------------------------------------------------- G4tgbMaterial::G4tgbMaterial() + : theTgrMate(0), theG4Mate(0) { } @@ -50,8 +51,7 @@ G4tgbMaterial::~G4tgbMaterial() // ------------------------------------------------------------------------- G4tgbMaterial::G4tgbMaterial( G4tgrMaterial* hg ) + : theTgrMate(hg), theG4Mate(0) { - theTgrMate = hg; - theG4Mate = 0; } diff --git a/source/persistency/ascii/src/G4tgbMaterialMgr.cc b/source/persistency/ascii/src/G4tgbMaterialMgr.cc index 3967622371..ac1f729387 100644 --- a/source/persistency/ascii/src/G4tgbMaterialMgr.cc +++ b/source/persistency/ascii/src/G4tgbMaterialMgr.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterialMgr.cc,v 1.5 2008/12/18 12:59:28 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterialMgr.cc,v 1.7 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterialMgr @@ -150,7 +150,9 @@ void G4tgbMaterialMgr::CopyMaterials() tgb = new G4tgbMaterialMixtureByNoAtoms( tgr ); } else if( tgr->GetType() == "MaterialMixtureByVolume" ) { tgb = new G4tgbMaterialMixtureByVolume( tgr ); - } + } else { + return; + } theG4tgbMaterials[tgb->GetName()] = tgb; } } diff --git a/source/persistency/ascii/src/G4tgbMaterialMixtureByNoAtoms.cc b/source/persistency/ascii/src/G4tgbMaterialMixtureByNoAtoms.cc index f9d5774ea1..2b73054103 100644 --- a/source/persistency/ascii/src/G4tgbMaterialMixtureByNoAtoms.cc +++ b/source/persistency/ascii/src/G4tgbMaterialMixtureByNoAtoms.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterialMixtureByNoAtoms.cc,v 1.6 2008/12/18 12:59:30 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterialMixtureByNoAtoms.cc,v 1.7 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterialMixtureByNoAtoms diff --git a/source/persistency/ascii/src/G4tgbMaterialMixtureByVolume.cc b/source/persistency/ascii/src/G4tgbMaterialMixtureByVolume.cc index 81c709c8ef..e14f662c7a 100644 --- a/source/persistency/ascii/src/G4tgbMaterialMixtureByVolume.cc +++ b/source/persistency/ascii/src/G4tgbMaterialMixtureByVolume.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterialMixtureByVolume.cc,v 1.8 2008/12/18 12:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterialMixtureByVolume.cc,v 1.9 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterialMixtureByVolume diff --git a/source/persistency/ascii/src/G4tgbMaterialMixtureByWeight.cc b/source/persistency/ascii/src/G4tgbMaterialMixtureByWeight.cc index 0f8733d718..025fc32ffb 100644 --- a/source/persistency/ascii/src/G4tgbMaterialMixtureByWeight.cc +++ b/source/persistency/ascii/src/G4tgbMaterialMixtureByWeight.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterialMixtureByWeight.cc,v 1.4 2008/12/18 12:59:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterialMixtureByWeight.cc,v 1.5 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterialMixtureByWeight diff --git a/source/persistency/ascii/src/G4tgbMaterialSimple.cc b/source/persistency/ascii/src/G4tgbMaterialSimple.cc index bcf577e5bd..1cfe7e4ff1 100644 --- a/source/persistency/ascii/src/G4tgbMaterialSimple.cc +++ b/source/persistency/ascii/src/G4tgbMaterialSimple.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbMaterialSimple.cc,v 1.5 2008/12/18 12:59:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbMaterialSimple.cc,v 1.7 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbMaterialSimple @@ -40,6 +40,7 @@ // ------------------------------------------------------------------------- G4tgbMaterialSimple::G4tgbMaterialSimple() + : theZ(0.), theA(0.) { } diff --git a/source/persistency/ascii/src/G4tgbPlaceParamCircle.cc b/source/persistency/ascii/src/G4tgbPlaceParamCircle.cc index ae5c6469ec..66dae2f5f3 100644 --- a/source/persistency/ascii/src/G4tgbPlaceParamCircle.cc +++ b/source/persistency/ascii/src/G4tgbPlaceParamCircle.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbPlaceParamCircle.cc,v 1.5 2008/12/03 16:16:01 arce Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbPlaceParamCircle.cc,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbPlaceParamCircle diff --git a/source/persistency/ascii/src/G4tgbPlaceParamLinear.cc b/source/persistency/ascii/src/G4tgbPlaceParamLinear.cc index aeee3d2293..ec09a7acea 100644 --- a/source/persistency/ascii/src/G4tgbPlaceParamLinear.cc +++ b/source/persistency/ascii/src/G4tgbPlaceParamLinear.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbPlaceParamLinear.cc,v 1.5 2008/12/03 16:16:01 arce Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbPlaceParamLinear.cc,v 1.6 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbPlaceParamLinear diff --git a/source/persistency/ascii/src/G4tgbPlaceParamSquare.cc b/source/persistency/ascii/src/G4tgbPlaceParamSquare.cc index b6f1f2501f..1cfef602d8 100644 --- a/source/persistency/ascii/src/G4tgbPlaceParamSquare.cc +++ b/source/persistency/ascii/src/G4tgbPlaceParamSquare.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbPlaceParamSquare.cc,v 1.6 2008/12/03 16:16:01 arce Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbPlaceParamSquare.cc,v 1.7 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbPlaceParamSquare diff --git a/source/persistency/ascii/src/G4tgbPlaceParameterisation.cc b/source/persistency/ascii/src/G4tgbPlaceParameterisation.cc index ca0392c381..fa1222316b 100644 --- a/source/persistency/ascii/src/G4tgbPlaceParameterisation.cc +++ b/source/persistency/ascii/src/G4tgbPlaceParameterisation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbPlaceParameterisation.cc,v 1.4 2008/11/21 15:37:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbPlaceParameterisation.cc,v 1.6 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4tgbPlaceParameterisation @@ -44,6 +44,7 @@ G4tgbPlaceParameterisation:: G4tgbPlaceParameterisation( G4tgrPlaceParameterisation* tgrParam) + : theNCopies(0), theAxis(kUndefined) { theRotationMatrix = G4tgbRotationMatrixMgr::GetInstance() ->FindOrBuildG4RotMatrix( tgrParam->GetRotMatName() ); @@ -51,6 +52,7 @@ G4tgbPlaceParameterisation( G4tgrPlaceParameterisation* tgrParam) G4tgbPlaceParameterisation::~G4tgbPlaceParameterisation() { + delete theRotationMatrix; } void G4tgbPlaceParameterisation:: diff --git a/source/persistency/ascii/src/G4tgbRotationMatrix.cc b/source/persistency/ascii/src/G4tgbRotationMatrix.cc index 30c68875aa..e2c1e388d0 100644 --- a/source/persistency/ascii/src/G4tgbRotationMatrix.cc +++ b/source/persistency/ascii/src/G4tgbRotationMatrix.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbRotationMatrix.cc,v 1.8 2008/12/18 12:59:38 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbRotationMatrix.cc,v 1.10 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbRotationMatrix @@ -42,6 +42,7 @@ // ------------------------------------------------------------------------- G4tgbRotationMatrix::G4tgbRotationMatrix() + : theTgrRM(0), theG4RM(0) { } @@ -54,8 +55,8 @@ G4tgbRotationMatrix::~G4tgbRotationMatrix() // ------------------------------------------------------------------------- G4tgbRotationMatrix::G4tgbRotationMatrix( G4tgrRotationMatrix* tgr ) + : theTgrRM(tgr), theG4RM(0) { - theTgrRM = tgr; } diff --git a/source/persistency/ascii/src/G4tgbRotationMatrixMgr.cc b/source/persistency/ascii/src/G4tgbRotationMatrixMgr.cc index 94455fc8fb..fd2205d2fc 100644 --- a/source/persistency/ascii/src/G4tgbRotationMatrixMgr.cc +++ b/source/persistency/ascii/src/G4tgbRotationMatrixMgr.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbRotationMatrixMgr.cc,v 1.2 2008/12/18 12:59:40 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbRotationMatrixMgr.cc,v 1.3 2010/10/13 07:56:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbRotationMatrixMgr diff --git a/source/persistency/ascii/src/G4tgbVolume.cc b/source/persistency/ascii/src/G4tgbVolume.cc index 8bb132981f..2ccf5bc1dc 100644 --- a/source/persistency/ascii/src/G4tgbVolume.cc +++ b/source/persistency/ascii/src/G4tgbVolume.cc @@ -24,6 +24,9 @@ // ******************************************************************** // // +// $Id: G4tgbVolume.cc,v 1.23 2010/11/05 08:58:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // // class G4tgbVolume @@ -109,6 +112,7 @@ //------------------------------------------------------------------- G4tgbVolume::G4tgbVolume() + : theTgrVolume(0), theG4AssemblyVolume(0) { } @@ -154,9 +158,16 @@ void G4tgbVolume::ConstructG4Volumes( const G4tgrPlace* place, logvol = ConstructG4LogVol( solid ); g4vmgr->RegisterMe( logvol ); g4vmgr->RegisterChildParentLVs( logvol, parentLV ); - } - } + else + { + return; + } + } + else + { + return; + } } //--- Construct PhysVol G4VPhysicalVolume* physvol = ConstructG4PhysVol( place, logvol, parentLV ); @@ -290,6 +301,7 @@ G4VSolid* G4tgbVolume::FindOrConstructG4Solid( const G4tgrSolid* sol ) G4String ErrMessage = ErrMessage1 + ErrMessage2 + ErrMessage3 + " !"; G4Exception("G4tgbVolume::FindOrConstructG4Solid()", "InvalidSetup", FatalException, ErrMessage); + return 0; } } @@ -366,6 +378,7 @@ G4VSolid* G4tgbVolume::FindOrConstructG4Solid( const G4tgrSolid* sol ) G4String ErrMessage = Err1 + Err2 + Err3 + Err4 + Err5 + " !"; G4Exception("G4tgbVolume::FindOrConstructG4Solid()", "InvalidSetup", FatalException, ErrMessage); + return 0; } if( genericPoly ) @@ -426,6 +439,7 @@ G4VSolid* G4tgbVolume::FindOrConstructG4Solid( const G4tgrSolid* sol ) G4String ErrMessage = Err1 + Err2 + Err3 + Err4 + Err5 + " !"; G4Exception("G4tgbVolume::FindOrConstructG4Solid()", "InvalidSetup", FatalException, ErrMessage); + return 0; } if( genericPoly ) @@ -654,6 +668,7 @@ G4VSolid* G4tgbVolume::FindOrConstructG4Solid( const G4tgrSolid* sol ) G4String ErrMessage = Err1 + Err2 + Err3 + " !"; G4Exception("G4tgbVolume::FindOrConstructG4Solid()", "InvalidSetup", FatalException, ErrMessage); + return 0; } if( nPoints == 3 ) @@ -678,6 +693,7 @@ G4VSolid* G4tgbVolume::FindOrConstructG4Solid( const G4tgrSolid* sol ) G4String ErrMessage = Err1 + Err2 + Err3 + " !"; G4Exception("G4tgbVolume::FindOrConstructG4Solid()", "InvalidSetup", FatalException, ErrMessage); + return 0; } facet = new G4TriangularFacet( pt0, vt1, vt2, vertexType ); } @@ -704,6 +720,7 @@ G4VSolid* G4tgbVolume::FindOrConstructG4Solid( const G4tgrSolid* sol ) G4String ErrMessage = Err1 + Err2 + Err3 + " !"; G4Exception("G4tgbVolume::FindOrConstructG4Solid()", "InvalidSetup", FatalException, ErrMessage); + return 0; } facet = new G4QuadrangularFacet( pt0, vt1, vt2, vt3, vertexType ); } @@ -715,6 +732,7 @@ G4VSolid* G4tgbVolume::FindOrConstructG4Solid( const G4tgrSolid* sol ) G4String ErrMessage = Err1 + Err2 + Err3 + " !"; G4Exception("G4tgbVolume::FindOrConstructG4Solid()", "InvalidSetup", FatalException, ErrMessage); + return 0; } solidTS->AddFacet( facet ); @@ -747,6 +765,12 @@ G4VSolid* G4tgbVolume::FindOrConstructG4Solid( const G4tgrSolid* sol ) else if( stype.substr(0,7) == "Boolean" ) { const G4tgrSolidBoolean* solb = dynamic_cast(sol); + if (!solb) + { + G4Exception("G4tgbVolume::FindOrConstructG4Solid()", + "InvalidSetup", FatalException, "Invalid Solid pointer"); + return 0; + } G4VSolid* sol1 = FindOrConstructG4Solid( solb->GetSolid(0)); G4VSolid* sol2 = FindOrConstructG4Solid( solb->GetSolid(1)); G4RotationMatrix* relRotMat = G4tgbRotationMatrixMgr::GetInstance() @@ -770,6 +794,7 @@ G4VSolid* G4tgbVolume::FindOrConstructG4Solid( const G4tgrSolid* sol ) G4String ErrMessage = "Unknown Boolean type " + stype; G4Exception("G4tgbVolume::FindOrConstructG4Solid()", "InvalidSetup", FatalException, ErrMessage); + return 0; } } else @@ -778,6 +803,7 @@ G4VSolid* G4tgbVolume::FindOrConstructG4Solid( const G4tgrSolid* sol ) + " not implemented yet, sorry..."; G4Exception("G4tgbVolume::FindOrConstructG4Solid()", "NotImplemented", FatalException, ErrMessage); + return 0; } #ifdef G4VERBOSE @@ -1068,6 +1094,7 @@ G4tgbVolume::ConstructG4PhysVol( const G4tgrPlace* place, + G4String(dp->GetParamType()) + " !"; G4Exception("G4tgbVolume::ConstructG4PhysVol", "WrongArgument", FatalException, ErrMessage); + return 0; } #ifdef G4VERBOSE if( G4tgrMessenger::GetVerboseLevel() >= 1 ) @@ -1248,7 +1275,6 @@ G4tgbVolume::ConstructG4PhysVol( const G4tgrPlace* place, << " " << rotmat->colZ() << G4endl; } #endif - } } @@ -1383,6 +1409,7 @@ G4VSolid* G4tgbVolume::BuildSolidForDivision( G4VSolid* parentSolid, EAxis axis + " G4Trd, G4Para, G4Polycone, G4Polyhedra."; G4Exception("G4tgbVolume::BuildSolidForDivision()", "NotImplemented", FatalException, ErrMessage); + return 0; } #ifdef G4VERBOSE diff --git a/source/persistency/ascii/src/G4tgbVolumeMgr.cc b/source/persistency/ascii/src/G4tgbVolumeMgr.cc index 85aa10535f..f45ff62db0 100644 --- a/source/persistency/ascii/src/G4tgbVolumeMgr.cc +++ b/source/persistency/ascii/src/G4tgbVolumeMgr.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgbVolumeMgr.cc,v 1.5 2008/12/18 12:59:44 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgbVolumeMgr.cc,v 1.10 2010/12/15 11:29:54 arce Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgbVolumeMgr @@ -184,18 +184,18 @@ G4VSolid* G4tgbVolumeMgr::FindG4Solid( const G4String& name ) #endif G4VSolid* oldSolid = 0; - G4mmssol::const_iterator mmsscite; std::pair mmssdi; mmssdi = theSolids.equal_range( name ); - for( mmsscite = mmssdi.first; mmsscite != mmssdi.second; mmsscite++ ) - { + if( mmssdi.first != mmssdi.second ) { // check there is a solid found + G4mmssol::const_iterator mmsscite = mmssdi.first; + #ifdef G4VERBOSE - if( G4tgrMessenger::GetVerboseLevel() >= 2 ) - { - G4cout << " G4tgbVolumeMgr::FindG4Solid() - Solid finding " - << name << G4endl; - } + if( G4tgrMessenger::GetVerboseLevel() >= 2 ) + { + G4cout << " G4tgbVolumeMgr::FindG4Solid() - Solid finding " + << name << G4endl; + } #endif /* G4VSolid overwrites the operator== comparing the addresses @@ -213,22 +213,22 @@ G4VSolid* G4tgbVolumeMgr::FindG4Solid( const G4String& name ) */ oldSolid = (*mmsscite).second; #ifdef G4VERBOSE - if( G4tgrMessenger::GetVerboseLevel() >= 1 ) - { - G4cout << " G4tgbVolumeMgr::FindG4Solid() - Solid already found " - << name << G4endl; - } + if( G4tgrMessenger::GetVerboseLevel() >= 1 ) + { + G4cout << " G4tgbVolumeMgr::FindG4Solid() - Solid already found " + << name << G4endl; + } #endif - break; } #ifdef G4VERBOSE if( G4tgrMessenger::GetVerboseLevel() >= 2 ) { - G4cout << " G4tgbVolumeMgr::FindG4Solid() - Old solid: " - << oldSolid << G4endl; + G4cout << " G4tgbVolumeMgr::FindG4Solid() - Old solid: " + << oldSolid << G4endl; } #endif + return oldSolid; } diff --git a/source/persistency/ascii/src/G4tgrElementFromIsotopes.cc b/source/persistency/ascii/src/G4tgrElementFromIsotopes.cc index 9ed5aa8d38..b3d9b0bf82 100644 --- a/source/persistency/ascii/src/G4tgrElementFromIsotopes.cc +++ b/source/persistency/ascii/src/G4tgrElementFromIsotopes.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrElementFromIsotopes.cc,v 1.5 2008/12/18 12:59:46 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrElementFromIsotopes.cc,v 1.7 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrElementFromIsotopes @@ -41,6 +41,7 @@ // ------------------------------------------------------------------------- G4tgrElementFromIsotopes::G4tgrElementFromIsotopes() + : theNoIsotopes(0) { } diff --git a/source/persistency/ascii/src/G4tgrElementSimple.cc b/source/persistency/ascii/src/G4tgrElementSimple.cc index 931d1e48c6..a0e056c264 100644 --- a/source/persistency/ascii/src/G4tgrElementSimple.cc +++ b/source/persistency/ascii/src/G4tgrElementSimple.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrElementSimple.cc,v 1.5 2008/12/18 12:59:48 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrElementSimple.cc,v 1.7 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrElementSimple @@ -40,6 +40,7 @@ // ------------------------------------------------------------------------- G4tgrElementSimple::G4tgrElementSimple() + : theZ(0.), theA(0.) { } diff --git a/source/persistency/ascii/src/G4tgrFileIn.cc b/source/persistency/ascii/src/G4tgrFileIn.cc index 2fb2facb78..1ff028bdd3 100644 --- a/source/persistency/ascii/src/G4tgrFileIn.cc +++ b/source/persistency/ascii/src/G4tgrFileIn.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrFileIn.cc,v 1.9 2008/12/18 12:59:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrFileIn.cc,v 1.13 2010/12/15 11:29:54 arce Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrFileIn @@ -38,6 +38,7 @@ #include #include +#include #include "G4tgrFileIn.hh" #include "G4tgrMessenger.hh" @@ -49,6 +50,7 @@ std::vector G4tgrFileIn::theInstances; //----------------------------------------------------------------------- G4tgrFileIn::G4tgrFileIn() + : theCurrentFile(-1), theName("") { } @@ -56,12 +58,13 @@ G4tgrFileIn::G4tgrFileIn() //----------------------------------------------------------------------- G4tgrFileIn::~G4tgrFileIn() { - return; +/* std::vector::const_iterator vfcite; for( vfcite = theInstances.begin(); vfcite != theInstances.end(); vfcite++) { delete *vfcite; } +*/ } diff --git a/source/persistency/ascii/src/G4tgrFileReader.cc b/source/persistency/ascii/src/G4tgrFileReader.cc index 8b21c1656f..b9bd586cf8 100644 --- a/source/persistency/ascii/src/G4tgrFileReader.cc +++ b/source/persistency/ascii/src/G4tgrFileReader.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrFileReader.cc,v 1.4 2008/11/12 08:44:07 arce Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrFileReader.cc,v 1.7 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrFileReader @@ -64,6 +64,7 @@ G4tgrFileReader::G4tgrFileReader() //--------------------------------------------------------------- G4tgrFileReader::~G4tgrFileReader() { + delete theLineProcessor; delete theInstance; } diff --git a/source/persistency/ascii/src/G4tgrIsotope.cc b/source/persistency/ascii/src/G4tgrIsotope.cc index 882a39617b..e468e7458d 100644 --- a/source/persistency/ascii/src/G4tgrIsotope.cc +++ b/source/persistency/ascii/src/G4tgrIsotope.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrIsotope.cc,v 1.5 2008/12/18 12:59:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrIsotope.cc,v 1.7 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrIsotope @@ -41,6 +41,7 @@ //------------------------------------------------------------- G4tgrIsotope::G4tgrIsotope() + : theName(""), theZ(0), theN(0), theA(0.) { } diff --git a/source/persistency/ascii/src/G4tgrLineProcessor.cc b/source/persistency/ascii/src/G4tgrLineProcessor.cc index 0883a1b914..77fc166495 100644 --- a/source/persistency/ascii/src/G4tgrLineProcessor.cc +++ b/source/persistency/ascii/src/G4tgrLineProcessor.cc @@ -157,6 +157,7 @@ G4bool G4tgrLineProcessor::ProcessLine( const std::vector& wl ) { G4Exception("G4tgrLineProcessor::ProcessLine()", "Material not found", FatalException, G4tgrUtils::GetString( wl[1] ) ); + return false; } mate->SetIonisationMeanExcitationEnergy( G4tgrUtils::GetDouble( wl[2] ) ); diff --git a/source/persistency/ascii/src/G4tgrMaterial.cc b/source/persistency/ascii/src/G4tgrMaterial.cc index d11282af01..6692addd30 100644 --- a/source/persistency/ascii/src/G4tgrMaterial.cc +++ b/source/persistency/ascii/src/G4tgrMaterial.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrMaterial.cc,v 1.3 2008/11/21 15:37:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrMaterial.cc,v 1.5 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrMaterial @@ -39,8 +39,9 @@ // ------------------------------------------------------------------------- G4tgrMaterial::G4tgrMaterial() + : theName("Material"), theDensity(0.), theNoComponents(0), + theMateType("Material"), theIonisationMeanExcitationEnergy(-1.) { - theIonisationMeanExcitationEnergy = -1.; } diff --git a/source/persistency/ascii/src/G4tgrMaterialFactory.cc b/source/persistency/ascii/src/G4tgrMaterialFactory.cc index 31e6236554..9af387e0cf 100644 --- a/source/persistency/ascii/src/G4tgrMaterialFactory.cc +++ b/source/persistency/ascii/src/G4tgrMaterialFactory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrMaterialFactory.cc,v 1.4 2008/12/18 12:59:54 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrMaterialFactory.cc,v 1.5 2010/10/13 07:56:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrMaterialFactory diff --git a/source/persistency/ascii/src/G4tgrMaterialMixture.cc b/source/persistency/ascii/src/G4tgrMaterialMixture.cc index 1964c8a9a2..84b368615a 100644 --- a/source/persistency/ascii/src/G4tgrMaterialMixture.cc +++ b/source/persistency/ascii/src/G4tgrMaterialMixture.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrMaterialMixture.cc,v 1.7 2008/12/18 12:59:56 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrMaterialMixture.cc,v 1.8 2010/10/13 07:56:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrMaterialMixture diff --git a/source/persistency/ascii/src/G4tgrMaterialSimple.cc b/source/persistency/ascii/src/G4tgrMaterialSimple.cc index d25eb877ba..c7ece3ff7e 100644 --- a/source/persistency/ascii/src/G4tgrMaterialSimple.cc +++ b/source/persistency/ascii/src/G4tgrMaterialSimple.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrMaterialSimple.cc,v 1.7 2008/12/18 12:59:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrMaterialSimple.cc,v 1.9 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrMaterialSimple @@ -41,7 +41,7 @@ //------------------------------------------------------------- G4tgrMaterialSimple::G4tgrMaterialSimple() - : name("MaterialSimple") + : name("MaterialSimple"), theA(0.), theZ(0.) { } diff --git a/source/persistency/ascii/src/G4tgrParameterMgr.cc b/source/persistency/ascii/src/G4tgrParameterMgr.cc index 8a5b01beb7..75d307a742 100644 --- a/source/persistency/ascii/src/G4tgrParameterMgr.cc +++ b/source/persistency/ascii/src/G4tgrParameterMgr.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrParameterMgr.cc,v 1.6 2008/12/18 13:00:00 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrParameterMgr.cc,v 1.7 2010/10/13 07:56:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrParameterMgr diff --git a/source/persistency/ascii/src/G4tgrPlace.cc b/source/persistency/ascii/src/G4tgrPlace.cc index 380e41acda..965b2564c7 100644 --- a/source/persistency/ascii/src/G4tgrPlace.cc +++ b/source/persistency/ascii/src/G4tgrPlace.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrPlace.cc,v 1.3 2008/11/03 17:04:41 arce Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrPlace.cc,v 1.6 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrPlace @@ -38,6 +38,7 @@ // ------------------------------------------------------------------------- G4tgrPlace::G4tgrPlace() + : theVolume(0), theParentName(""), theCopyNo(0), theType("") { } diff --git a/source/persistency/ascii/src/G4tgrPlaceDivRep.cc b/source/persistency/ascii/src/G4tgrPlaceDivRep.cc index 36937273c3..54c62fca42 100644 --- a/source/persistency/ascii/src/G4tgrPlaceDivRep.cc +++ b/source/persistency/ascii/src/G4tgrPlaceDivRep.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrPlaceDivRep.cc,v 1.4 2008/11/21 15:37:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrPlaceDivRep.cc,v 1.7 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrPlaceDivRep @@ -41,8 +41,9 @@ //------------------------------------------------------------- G4tgrPlaceDivRep::G4tgrPlaceDivRep() + : theNDiv(0), theWidth(0.), theAxis(kUndefined), + theOffset(0.), theDivType(DivByNdivAndWidth) { - theOffset = 0.; } diff --git a/source/persistency/ascii/src/G4tgrPlaceParameterisation.cc b/source/persistency/ascii/src/G4tgrPlaceParameterisation.cc index 6a4b898dfc..1043f2e2ed 100644 --- a/source/persistency/ascii/src/G4tgrPlaceParameterisation.cc +++ b/source/persistency/ascii/src/G4tgrPlaceParameterisation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrPlaceParameterisation.cc,v 1.6 2008/12/18 13:00:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrPlaceParameterisation.cc,v 1.8 2010/10/13 07:56:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrPlaceParameterisation diff --git a/source/persistency/ascii/src/G4tgrPlaceSimple.cc b/source/persistency/ascii/src/G4tgrPlaceSimple.cc index 1e98a75420..6a554c80dd 100644 --- a/source/persistency/ascii/src/G4tgrPlaceSimple.cc +++ b/source/persistency/ascii/src/G4tgrPlaceSimple.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrPlaceSimple.cc,v 1.5 2008/12/18 13:00:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrPlaceSimple.cc,v 1.7 2010/10/13 07:56:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrPlaceSimple diff --git a/source/persistency/ascii/src/G4tgrRotationMatrix.cc b/source/persistency/ascii/src/G4tgrRotationMatrix.cc index 17b6c03d79..f3dd5d7178 100644 --- a/source/persistency/ascii/src/G4tgrRotationMatrix.cc +++ b/source/persistency/ascii/src/G4tgrRotationMatrix.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrRotationMatrix.cc,v 1.5 2008/12/18 13:00:06 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrRotationMatrix.cc,v 1.7 2010/10/13 15:20:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrRotationMatrix @@ -41,6 +41,7 @@ // ------------------------------------------------------------------------- G4tgrRotationMatrix::G4tgrRotationMatrix() + : theName("Rotation-Matrix"), theInputType(rm9) { } @@ -52,7 +53,8 @@ G4tgrRotationMatrix::~G4tgrRotationMatrix() // ------------------------------------------------------------------------- -G4tgrRotationMatrix::G4tgrRotationMatrix( const std::vector& wl ) +G4tgrRotationMatrix::G4tgrRotationMatrix( const std::vector& wl ) + : theInputType(rm9) { theName = G4tgrUtils::GetString( wl[1] ); diff --git a/source/persistency/ascii/src/G4tgrRotationMatrixFactory.cc b/source/persistency/ascii/src/G4tgrRotationMatrixFactory.cc index 27b655e735..d37c3dbf59 100644 --- a/source/persistency/ascii/src/G4tgrRotationMatrixFactory.cc +++ b/source/persistency/ascii/src/G4tgrRotationMatrixFactory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrRotationMatrixFactory.cc,v 1.2 2008/12/18 13:00:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrRotationMatrixFactory.cc,v 1.3 2010/10/13 07:56:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrRotationMatrixFactory diff --git a/source/persistency/ascii/src/G4tgrSolid.cc b/source/persistency/ascii/src/G4tgrSolid.cc index 9aad8d2906..7cc026fa6f 100644 --- a/source/persistency/ascii/src/G4tgrSolid.cc +++ b/source/persistency/ascii/src/G4tgrSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrSolid.cc,v 1.6 2008/12/18 13:00:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrSolid.cc,v 1.7 2010/10/13 07:56:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrSolid diff --git a/source/persistency/ascii/src/G4tgrSolidBoolean.cc b/source/persistency/ascii/src/G4tgrSolidBoolean.cc index da415be85c..5d5d434fd9 100644 --- a/source/persistency/ascii/src/G4tgrSolidBoolean.cc +++ b/source/persistency/ascii/src/G4tgrSolidBoolean.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrSolidBoolean.cc,v 1.4 2008/12/18 13:00:12 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrSolidBoolean.cc,v 1.5 2010/10/13 07:56:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrSolidBoolean diff --git a/source/persistency/ascii/src/G4tgrUtils.cc b/source/persistency/ascii/src/G4tgrUtils.cc index b77c888983..1e67c19921 100644 --- a/source/persistency/ascii/src/G4tgrUtils.cc +++ b/source/persistency/ascii/src/G4tgrUtils.cc @@ -77,7 +77,7 @@ G4bool G4tgrUtils::IsSeparator( const char ch) //------------------------------------------------------------- G4bool G4tgrUtils::IsNumber( const G4String& str) { - G4int isnum = 1; + G4int isnum = true; G4int numE = 0; for(size_t ii=0; ii& wl) } #endif } - } diff --git a/source/persistency/ascii/src/G4tgrVolumeAssembly.cc b/source/persistency/ascii/src/G4tgrVolumeAssembly.cc index 0364f8ec07..d86059e842 100644 --- a/source/persistency/ascii/src/G4tgrVolumeAssembly.cc +++ b/source/persistency/ascii/src/G4tgrVolumeAssembly.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrVolumeAssembly.cc,v 1.6 2008/12/18 13:00:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrVolumeAssembly.cc,v 1.7 2010/10/13 07:56:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrVolumeAssembly diff --git a/source/persistency/ascii/src/G4tgrVolumeDivision.cc b/source/persistency/ascii/src/G4tgrVolumeDivision.cc index 2883788dba..205fbbf8a2 100644 --- a/source/persistency/ascii/src/G4tgrVolumeDivision.cc +++ b/source/persistency/ascii/src/G4tgrVolumeDivision.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrVolumeDivision.cc,v 1.6 2008/12/18 13:00:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrVolumeDivision.cc,v 1.7 2010/10/13 07:56:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrVolumeDivision diff --git a/source/persistency/ascii/src/G4tgrVolumeMgr.cc b/source/persistency/ascii/src/G4tgrVolumeMgr.cc index 6858a71305..c3b5029462 100644 --- a/source/persistency/ascii/src/G4tgrVolumeMgr.cc +++ b/source/persistency/ascii/src/G4tgrVolumeMgr.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4tgrVolumeMgr.cc,v 1.7 2008/12/18 13:00:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4tgrVolumeMgr.cc,v 1.10 2010/10/13 07:56:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4tgrVolumeMgr @@ -372,7 +372,7 @@ void G4tgrVolumeMgr::DumpVolumeLeaf( const G4tgrVolume* vol, << " copy No " << copyNo << G4endl; //---------- construct the children of this VOL - std::pair children + std::pair children = GetChildren( vol->GetName() ); G4mmapspl::const_iterator cite; diff --git a/source/persistency/gdml/CMakeLists.txt b/source/persistency/gdml/CMakeLists.txt new file mode 100644 index 0000000000..c852c6ce51 --- /dev/null +++ b/source/persistency/gdml/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4gdml +# Package: Geant4.src.G4persistency.G4gdml +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:50:13 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/persistency/gdml/GNUmakefile b/source/persistency/gdml/GNUmakefile index c8b2289e16..4c0ab14cf9 100644 --- a/source/persistency/gdml/GNUmakefile +++ b/source/persistency/gdml/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.10 2008/07/02 14:15:16 gcosmo Exp $ +# $Id: GNUmakefile,v 1.12 2010/11/02 10:40:24 gcosmo Exp $ # ----------------------------------------------------------------------- # GNUmakefile for persistency library. Gabriele Cosmo, 16/11/96. # ----------------------------------------------------------------------- @@ -11,26 +11,29 @@ endif include $(G4INSTALL)/config/architecture.gmk -CPPFLAGS += -I$(G4INSTALL)/source/global/management/include \ - -I$(G4INSTALL)/source/global/HEPGeometry/include \ - -I$(G4INSTALL)/source/global/HEPNumerics/include \ - -I$(G4INSTALL)/source/digits_hits/hits/include \ - -I$(G4INSTALL)/source/digits_hits/digits/include \ - -I$(G4INSTALL)/source/particles/management/include \ - -I$(G4INSTALL)/source/run/include \ - -I$(G4INSTALL)/source/event/include \ - -I$(G4INSTALL)/source/track/include \ - -I$(G4INSTALL)/source/tracking/include \ - -I$(G4INSTALL)/source/intercoms/include \ - -I$(G4INSTALL)/source/geometry/management/include \ - -I$(G4INSTALL)/source/geometry/volumes/include \ - -I$(G4INSTALL)/source/geometry/navigation/include \ - -I$(G4INSTALL)/source/geometry/solids/CSG/include \ - -I$(G4INSTALL)/source/geometry/solids/Boolean/include \ - -I$(G4INSTALL)/source/geometry/solids/specific/include \ - -I$(G4INSTALL)/source/geometry/divisions/include \ - -I$(G4INSTALL)/source/materials/include \ - -I$(G4INSTALL)/source/graphics_reps/include +CPPFLAGS += \ + -I$(G4BASE)/global/management/include \ + -I$(G4BASE)/global/HEPGeometry/include \ + -I$(G4BASE)/global/HEPNumerics/include \ + -I$(G4BASE)/global/HEPRandom/include \ + -I$(G4BASE)/digits_hits/hits/include \ + -I$(G4BASE)/digits_hits/digits/include \ + -I$(G4BASE)/particles/management/include \ + -I$(G4BASE)/run/include \ + -I$(G4BASE)/event/include \ + -I$(G4BASE)/track/include \ + -I$(G4BASE)/tracking/include \ + -I$(G4BASE)/intercoms/include \ + -I$(G4BASE)/processes/management/include \ + -I$(G4BASE)/geometry/management/include \ + -I$(G4BASE)/geometry/volumes/include \ + -I$(G4BASE)/geometry/navigation/include \ + -I$(G4BASE)/geometry/solids/CSG/include \ + -I$(G4BASE)/geometry/solids/Boolean/include \ + -I$(G4BASE)/geometry/solids/specific/include \ + -I$(G4BASE)/geometry/divisions/include \ + -I$(G4BASE)/materials/include \ + -I$(G4BASE)/graphics_reps/include ifdef G4LIB_USE_GDML ifndef XERCESCROOT diff --git a/source/persistency/gdml/History b/source/persistency/gdml/History index c8649d8c3e..9357893692 100644 --- a/source/persistency/gdml/History +++ b/source/persistency/gdml/History @@ -1,4 +1,4 @@ -$Id: History,v 1.116 2009/12/04 13:59:05 gcosmo Exp $ +$Id: History,v 1.128 2010/11/30 08:56:16 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,62 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +30 Nov 2010 Gabriele Cosmo (gdml-V09-03-10) +- Fixed ambiguity in signature of Write() method in G4GDMLParser. + +17 Nov 2010 Gabriele Cosmo (gdml-V09-03-09) +- Added possibility to de-activate/activate names stripping when reading files, + by invoking a new method G4GDMLParser::SetStripFlag(bool) before importing + the GDML file. Stripping is activated by default. +- Corrected initialization of messenger for all constructors of G4GDMLParser. + +04 Nov 2010 Gabriele Cosmo (gdml-V09-03-08) +- Fixed compilation warning on G4GDMLEvaluator. + +02 Nov 2010 Gabriele Cosmo (gdml-V09-03-07) +- Fixed minor left Coverity reports. +- Some code cleanup and updated CMake scripts. + +25 Oct 2010 Witold Pokorski +- New class G4GDMLMessenger instantiated with G4GDMLParser and defining + UI commands for importing and exporting GDML files, through the various + options the parser provides. +- Corrected GetWorldVolume() in G4GDMLReadStructure, to make use of structure + stored in memory in case geometry is already imported. + +14 Oct 2010 Gabriele Cosmo (gdml-V09-03-06) +- Fixed dummy initialisation of members in constructors in classes + G4GDMLParameterisation, G4GDMLReadParamvol, G4GDMLReadStructure, + G4GDMLWrite, G4GDMLWriteDefine, G4GDMLWriteMaterials, G4GDMLWriteSolids. +- Added exceptions asserting validity of dynamic casted pointers. + +11 Oct 2010 Witold Pokorski (gdml-V09-03-05) +- Added GetAuxMap() method to G4GDMLParser and removed 'const' qualifier to + types in internal map of logical-volumes. Changed value type to 'string' in + G4GDMLAuxPairType to avoid extra type evaluation while parsing. + +19 Aug 2010 Gabriele Cosmo (gdml-V09-03-04) +- Fixed printout of unit in G4GDMLWriteStructure for replicas and divisions, + in the case of angles. + +02 Jun 2010 Gabriele Cosmo (gdml-V09-03-03) +- Added G4GenericTrap among the set of supported solids in both reader and + writer, treating as 'arb8' GDML type. + +20 May 2010 Gabriele Cosmo (gdml-V09-03-02) +- Corrected dump of division axis in writer. + +18 Feb 2010 Gabriele Cosmo (gdml-V09-03-01) +- Added missing reference attribute in G4GDMLWriteMaterials for dumping + of materials property vectors. Increased string buffer in G4GDMLWrite. + Addressing problem report #1104. +- Corrected import of surface properties in G4GDMLReadSolids for the case + of recursive read of files. + +17 Feb 2010 Gabriele Cosmo (gdml-V09-03-00) +- Added IsValid() method to parser to verify if variable/constant/quantity + is defined and is valid. Added const qualifier to reader accessors in parser. + 04 Dec 2009 Gabriele Cosmo (gdml-V09-02-18) - Updated list of optical properties in G4GDMLReadSolid according to last changes to G4OpticalSurface and G4SurfaceProperty. diff --git a/source/persistency/gdml/include/G4GDMLEvaluator.hh b/source/persistency/gdml/include/G4GDMLEvaluator.hh index 15ffb48aa5..30e9a1c3f5 100644 --- a/source/persistency/gdml/include/G4GDMLEvaluator.hh +++ b/source/persistency/gdml/include/G4GDMLEvaluator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLEvaluator.hh,v 1.17 2009/04/24 15:34:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLEvaluator.hh,v 1.18 2010/10/25 10:15:41 witoldp Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4GDMLEvaluator @@ -53,6 +53,7 @@ class G4GDMLEvaluator G4GDMLEvaluator(); + void Clear(); void DefineConstant(const G4String&, G4double); void DefineVariable(const G4String&, G4double); void DefineMatrix(const G4String&, G4int, std::vector); diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh b/source/persistency/gdml/include/G4GDMLMessenger.hh similarity index 65% rename from examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh rename to source/persistency/gdml/include/G4GDMLMessenger.hh index 6de9e4e8c8..1cbd650b20 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh +++ b/source/persistency/gdml/include/G4GDMLMessenger.hh @@ -24,41 +24,53 @@ // ******************************************************************** // // -// $Id: Em8PrimaryGeneratorMessenger.hh,v 1.4 2006/06/29 16:59:14 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4GDMLMessenger.hh,v 1.3 2010/11/02 11:44:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// +// +// class G4GDMLMessenger +// +// Class description: +// +// GDML UI messenger. -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// History: +// - Created. Witold Pokorski, October 2010 +// ------------------------------------------------------------------------- -#ifndef Em8PrimaryGeneratorMessenger_h -#define Em8PrimaryGeneratorMessenger_h 1 +#ifndef G4GDMLMessenger_h +#define G4GDMLMessenger_h 1 -#include "G4UImessenger.hh" #include "globals.hh" +#include "G4UImessenger.hh" +#include "G4VPhysicalVolume.hh" -class Em8PrimaryGeneratorAction; +class G4GDMLParser; +class G4UIdirectory; class G4UIcmdWithAString; class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithoutParameter; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class Em8PrimaryGeneratorMessenger: public G4UImessenger +class G4GDMLMessenger : public G4UImessenger { - public: - Em8PrimaryGeneratorMessenger(Em8PrimaryGeneratorAction*); - ~Em8PrimaryGeneratorMessenger(); + public: // with description + + G4GDMLMessenger(G4GDMLParser*); + ~G4GDMLMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - Em8PrimaryGeneratorAction* Em8Action; - G4UIcmdWithAString* RndmCmd; - G4UIcmdWithADoubleAndUnit* setxvertexCmd; - G4UIcmdWithADoubleAndUnit* setyvertexCmd; - G4UIcmdWithADoubleAndUnit* setzvertexCmd; + + G4GDMLParser* myParser; + G4LogicalVolume* topvol; + + G4UIdirectory* persistencyDir; + G4UIdirectory* gdmlDir; + G4UIcmdWithAString* ReaderCmd; + G4UIcmdWithAString* WriterCmd; + G4UIcmdWithAString* TopVolCmd; + G4UIcmdWithoutParameter* ClearCmd; }; #endif - diff --git a/source/persistency/gdml/include/G4GDMLParameterisation.hh b/source/persistency/gdml/include/G4GDMLParameterisation.hh index a50572354a..f07ac3d413 100644 --- a/source/persistency/gdml/include/G4GDMLParameterisation.hh +++ b/source/persistency/gdml/include/G4GDMLParameterisation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLParameterisation.hh,v 1.10 2008/07/16 15:46:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4GDMLParameterisation.hh,v 1.11 2010/10/14 16:19:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4GDMLParameterisation @@ -72,7 +72,7 @@ class G4GDMLParameterisation : public G4VPVParameterisation G4ThreeVector position; G4double dimension[16]; - PARAMETER() { memset(dimension,0,sizeof(dimension)); } + PARAMETER() : pRot(0) { memset(dimension,0,sizeof(dimension)); } }; G4int GetSize() const; diff --git a/source/persistency/gdml/include/G4GDMLParser.hh b/source/persistency/gdml/include/G4GDMLParser.hh index d2f8db8a1d..25c3ac2096 100644 --- a/source/persistency/gdml/include/G4GDMLParser.hh +++ b/source/persistency/gdml/include/G4GDMLParser.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLParser.hh,v 1.58 2009/04/15 13:29:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLParser.hh,v 1.66 2010/11/30 08:55:52 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4GDMLParser @@ -44,6 +44,11 @@ #include "G4GDMLReadStructure.hh" #include "G4GDMLWriteStructure.hh" #include "G4STRead.hh" +#include "G4GDMLMessenger.hh" + +#include "G4TransportationManager.hh" +#include "G4Navigator.hh" + #define G4GDML_DEFAULT_SCHEMALOCATION G4String("http://service-spi.web.cern.ch/service-spi/app/releases/GDML/schema/gdml.xsd") @@ -69,7 +74,7 @@ class G4GDMLParser // in input. Validation against schema is activated by default. inline void Write(const G4String& filename, - const G4VPhysicalVolume* const pvol = 0, + const G4VPhysicalVolume* pvol = 0, G4bool storeReferences = true, const G4String& SchemaLocation = G4GDML_DEFAULT_SCHEMALOCATION); // @@ -79,6 +84,18 @@ class G4GDMLParser // Alternative path for the schema location can be specified; by default // the URL to the GDML web site is used. + inline void Write(const G4String& filename, + const G4LogicalVolume* lvol, + G4bool storeReferences = true, + const G4String& SchemaLocation = G4GDML_DEFAULT_SCHEMALOCATION); + // + // Exports on a GDML file, specified by 'filename' a geometry tree + // starting from 'pvol' as top volume. Uniqueness of stored entities + // is guaranteed by storing pointer-references by default. + // Alternative path for the schema location can be specified; by default + // the URL to the GDML web site is used. Same as method above except + // that the logical volume must be provided here. + inline G4LogicalVolume* ParseST(const G4String& name, G4Material* medium, G4Material* solid); @@ -90,18 +107,22 @@ class G4GDMLParser // Methods for Reader // - inline G4double GetConstant(const G4String& name); - inline G4double GetVariable(const G4String& name); - inline G4double GetQuantity(const G4String& name); - inline G4ThreeVector GetPosition(const G4String& name); - inline G4ThreeVector GetRotation(const G4String& name); - inline G4ThreeVector GetScale(const G4String& name); - inline G4GDMLMatrix GetMatrix(const G4String& name); - inline G4LogicalVolume* GetVolume(const G4String& name); - inline G4VPhysicalVolume* GetWorldVolume(const G4String& setupName="Default"); - inline G4GDMLAuxListType GetVolumeAuxiliaryInformation(const G4LogicalVolume* const logvol); + inline G4bool IsValid(const G4String& name) const; + inline G4double GetConstant(const G4String& name) const; + inline G4double GetVariable(const G4String& name) const; + inline G4double GetQuantity(const G4String& name) const; + inline G4ThreeVector GetPosition(const G4String& name) const; + inline G4ThreeVector GetRotation(const G4String& name) const; + inline G4ThreeVector GetScale(const G4String& name) const; + inline G4GDMLMatrix GetMatrix(const G4String& name) const; + inline G4LogicalVolume* GetVolume(const G4String& name) const; + inline G4VPhysicalVolume* GetWorldVolume(const G4String& setupName="Default") const; + inline G4GDMLAuxListType GetVolumeAuxiliaryInformation(G4LogicalVolume* logvol) const; + inline const G4GDMLAuxMapType* GetAuxMap() const; inline void StripNamePointers() const; + inline void SetStripFlag(G4bool); inline void SetOverlapCheck(G4bool); + inline void Clear(); // Clears the evaluator // Methods for Writer // @@ -113,7 +134,8 @@ class G4GDMLParser G4GDMLReadStructure* reader; G4GDMLWriteStructure* writer; - G4bool urcode, uwcode; + G4GDMLMessenger* messenger; + G4bool urcode, uwcode, strip; }; diff --git a/source/persistency/gdml/include/G4GDMLParser.icc b/source/persistency/gdml/include/G4GDMLParser.icc index 362867af37..7368bbaee1 100644 --- a/source/persistency/gdml/include/G4GDMLParser.icc +++ b/source/persistency/gdml/include/G4GDMLParser.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLParser.icc,v 1.8 2009/01/22 11:02:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLParser.icc,v 1.15 2010/11/17 10:47:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4GDMLParser inline methods @@ -35,7 +35,7 @@ inline void G4GDMLParser::Read(const G4String& filename, G4bool validate) { - reader->Read(filename,validate,false); + reader->Read(filename,validate,false,strip); } inline @@ -46,7 +46,7 @@ void G4GDMLParser::ReadModule(const G4String& filename, G4bool validate) inline void G4GDMLParser::Write(const G4String& filename, - const G4VPhysicalVolume* const pvol, + const G4VPhysicalVolume* pvol, G4bool refs, const G4String& schemaLocation) { @@ -55,18 +55,30 @@ void G4GDMLParser::Write(const G4String& filename, if (!pvol) { - G4VPhysicalVolume* worldPV = GetWorldVolume(); - if (!worldPV) - { - G4Exception("G4DMLParser::Write()", "InvalidSetup", FatalException, - "Detector-Construction needs to be registered first!"); - } - lvol = worldPV->GetLogicalVolume(); + lvol = G4TransportationManager::GetTransportationManager()-> + GetNavigatorForTracking()->GetWorldVolume()->GetLogicalVolume(); } else { lvol = pvol->GetLogicalVolume(); } + + writer->Write(filename,lvol,schemaLocation,depth,refs); +} + +inline +void G4GDMLParser::Write(const G4String& filename, + const G4LogicalVolume* lvol, + G4bool refs, + const G4String& schemaLocation) +{ + const G4int depth = 0; + + if (!lvol) + { + lvol = G4TransportationManager::GetTransportationManager()-> + GetNavigatorForTracking()->GetWorldVolume()->GetLogicalVolume(); + } writer->Write(filename,lvol,schemaLocation,depth,refs); } @@ -83,78 +95,99 @@ G4LogicalVolume* G4GDMLParser::ParseST(const G4String& filename, // Methods for Reader // +inline G4bool G4GDMLParser::IsValid(const G4String& name) const +{ + return reader->IsValidID(name); +} + inline -G4double G4GDMLParser::GetConstant(const G4String& name) +G4double G4GDMLParser::GetConstant(const G4String& name) const { return reader->GetConstant(name); } inline -G4double G4GDMLParser::GetVariable(const G4String& name) +G4double G4GDMLParser::GetVariable(const G4String& name) const { return reader->GetVariable(name); } inline -G4double G4GDMLParser::GetQuantity(const G4String& name) +G4double G4GDMLParser::GetQuantity(const G4String& name) const { return reader->GetQuantity(name); } inline -G4ThreeVector G4GDMLParser::GetPosition(const G4String& name) +G4ThreeVector G4GDMLParser::GetPosition(const G4String& name) const { return reader->GetPosition(name); } inline -G4ThreeVector G4GDMLParser::GetRotation(const G4String& name) +G4ThreeVector G4GDMLParser::GetRotation(const G4String& name) const { return reader->GetRotation(name); } inline -G4ThreeVector G4GDMLParser::GetScale(const G4String& name) +G4ThreeVector G4GDMLParser::GetScale(const G4String& name) const { return reader->GetScale(name); } inline -G4GDMLMatrix G4GDMLParser::GetMatrix(const G4String& name) +G4GDMLMatrix G4GDMLParser::GetMatrix(const G4String& name) const { return reader->GetMatrix(name); } inline -G4LogicalVolume* G4GDMLParser::GetVolume(const G4String& name) +G4LogicalVolume* G4GDMLParser::GetVolume(const G4String& name) const { return reader->GetVolume(name); } -inline -G4VPhysicalVolume* G4GDMLParser::GetWorldVolume(const G4String& setupName) +inline G4VPhysicalVolume* +G4GDMLParser::GetWorldVolume(const G4String& setupName) const { return reader->GetWorldVolume(setupName); } inline G4GDMLAuxListType -G4GDMLParser::GetVolumeAuxiliaryInformation(const G4LogicalVolume* const logvol) +G4GDMLParser::GetVolumeAuxiliaryInformation(G4LogicalVolume* logvol) const { return reader->GetVolumeAuxiliaryInformation(logvol); } +inline +const G4GDMLAuxMapType* G4GDMLParser::GetAuxMap() const +{ + return reader->GetAuxMap(); +} + inline void G4GDMLParser::StripNamePointers() const { reader->StripNames(); } +inline void G4GDMLParser::SetStripFlag(G4bool flag) +{ + strip = flag; +} + inline void G4GDMLParser::SetOverlapCheck(G4bool flag) { reader->OverlapCheck(flag); } +inline void G4GDMLParser::Clear() +{ + reader->Clear(); +} + // // Methods for Writer // diff --git a/source/persistency/gdml/include/G4GDMLRead.hh b/source/persistency/gdml/include/G4GDMLRead.hh index 77f31a8015..9d28ae5030 100644 --- a/source/persistency/gdml/include/G4GDMLRead.hh +++ b/source/persistency/gdml/include/G4GDMLRead.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLRead.hh,v 1.31 2009/05/12 15:46:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLRead.hh,v 1.33 2010/11/17 10:47:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLRead // @@ -114,7 +114,8 @@ class G4GDMLRead // // More pure virtual methods implemented in the reader plugin. - void Read(const G4String&, G4bool validation, G4bool isModule); + void Read(const G4String&, G4bool validation, + G4bool isModule, G4bool strip=true); // // Main method for reading GDML files. diff --git a/source/persistency/gdml/include/G4GDMLReadDefine.hh b/source/persistency/gdml/include/G4GDMLReadDefine.hh index 226a3813e4..938e943b83 100644 --- a/source/persistency/gdml/include/G4GDMLReadDefine.hh +++ b/source/persistency/gdml/include/G4GDMLReadDefine.hh @@ -71,6 +71,7 @@ class G4GDMLReadDefine : public G4GDMLRead public: + G4bool IsValidID(const G4String&) const; G4double GetConstant(const G4String&); G4double GetVariable(const G4String&); G4double GetQuantity(const G4String&); diff --git a/source/persistency/gdml/include/G4GDMLReadSolids.hh b/source/persistency/gdml/include/G4GDMLReadSolids.hh index 9e88299afe..d066d064f5 100644 --- a/source/persistency/gdml/include/G4GDMLReadSolids.hh +++ b/source/persistency/gdml/include/G4GDMLReadSolids.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLReadSolids.hh,v 1.15 2009/04/24 15:34:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLReadSolids.hh,v 1.16 2010/06/02 13:53:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // class G4GDMLReadSolids @@ -87,6 +87,7 @@ class G4GDMLReadSolids : public G4GDMLReadMaterials void TessellatedRead(const xercesc::DOMElement* const); void TetRead(const xercesc::DOMElement* const); void TorusRead(const xercesc::DOMElement* const); + void GenTrapRead(const xercesc::DOMElement* const); void TrapRead(const xercesc::DOMElement* const); void TrdRead(const xercesc::DOMElement* const); void TubeRead(const xercesc::DOMElement* const); diff --git a/source/persistency/gdml/include/G4GDMLReadStructure.hh b/source/persistency/gdml/include/G4GDMLReadStructure.hh index 03b96ed155..d940723838 100644 --- a/source/persistency/gdml/include/G4GDMLReadStructure.hh +++ b/source/persistency/gdml/include/G4GDMLReadStructure.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLReadStructure.hh,v 1.28 2009/09/24 15:04:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLReadStructure.hh,v 1.32 2010/11/02 10:39:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4GDMLReadStructure @@ -53,11 +53,11 @@ class G4VPhysicalVolume; struct G4GDMLAuxPairType { G4String type; - G4double value; + G4String value; }; typedef std::vector G4GDMLAuxListType; -typedef std::map G4GDMLAuxMapType; +typedef std::map G4GDMLAuxMapType; typedef std::map G4GDMLAssemblyMapType; class G4GDMLReadStructure : public G4GDMLReadParamvol @@ -71,9 +71,10 @@ class G4GDMLReadStructure : public G4GDMLReadParamvol G4VPhysicalVolume* GetPhysvol(const G4String&) const; G4LogicalVolume* GetVolume(const G4String&) const; G4AssemblyVolume* GetAssembly(const G4String&) const; - G4GDMLAuxListType GetVolumeAuxiliaryInformation(const G4LogicalVolume* const); + G4GDMLAuxListType GetVolumeAuxiliaryInformation(G4LogicalVolume*) const; G4VPhysicalVolume* GetWorldVolume(const G4String&); const G4GDMLAuxMapType* GetAuxMap() const; + void Clear(); // Clears internal map and evaluator virtual void VolumeRead(const xercesc::DOMElement* const); virtual void Volume_contentRead(const xercesc::DOMElement* const); @@ -100,7 +101,7 @@ class G4GDMLReadStructure : public G4GDMLReadParamvol G4GDMLAuxMapType auxMap; G4GDMLAssemblyMapType assemblyMap; G4LogicalVolume *pMotherLogical; - + std::map setuptoPV; }; #endif diff --git a/source/persistency/gdml/include/G4GDMLWrite.hh b/source/persistency/gdml/include/G4GDMLWrite.hh index c4af7b4f6a..261d0dbe32 100644 --- a/source/persistency/gdml/include/G4GDMLWrite.hh +++ b/source/persistency/gdml/include/G4GDMLWrite.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLWrite.hh,v 1.41 2009/04/24 15:34:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLWrite.hh,v 1.42 2010/02/18 17:39:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // class G4GDMLWrite @@ -123,7 +123,7 @@ class G4GDMLWrite static G4bool addPointerToName; xercesc::DOMDocument* doc; xercesc::DOMElement* extElement; - XMLCh tempStr[100]; + XMLCh tempStr[10000]; }; diff --git a/source/persistency/gdml/include/G4GDMLWriteSolids.hh b/source/persistency/gdml/include/G4GDMLWriteSolids.hh index 23709b4674..3294ffc454 100644 --- a/source/persistency/gdml/include/G4GDMLWriteSolids.hh +++ b/source/persistency/gdml/include/G4GDMLWriteSolids.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLWriteSolids.hh,v 1.38 2009/04/24 15:34:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLWriteSolids.hh,v 1.39 2010/06/02 13:53:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // class G4GDMLWriteSolids @@ -62,6 +62,7 @@ class G4Sphere; class G4TessellatedSolid; class G4Tet; class G4Torus; +class G4GenericTrap; class G4Trap; class G4Trd; class G4Tubs; @@ -101,6 +102,7 @@ class G4GDMLWriteSolids : public G4GDMLWriteMaterials void TessellatedWrite(xercesc::DOMElement*, const G4TessellatedSolid* const); void TetWrite(xercesc::DOMElement*, const G4Tet* const); void TorusWrite(xercesc::DOMElement*, const G4Torus* const); + void GenTrapWrite(xercesc::DOMElement*, const G4GenericTrap* const); void TrapWrite(xercesc::DOMElement*, const G4Trap* const); void TrdWrite(xercesc::DOMElement*, const G4Trd* const); void TubeWrite(xercesc::DOMElement*, const G4Tubs* const); diff --git a/source/persistency/gdml/sources.cmake b/source/persistency/gdml/sources.cmake new file mode 100644 index 0000000000..5b540349a3 --- /dev/null +++ b/source/persistency/gdml/sources.cmake @@ -0,0 +1,133 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4gdml +# Package: Geant4.src.G4persistency.G4gdml +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/11/02 10:40:06 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# Need XercesC +include_directories(${XERCESC_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/event/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/divisions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/Boolean/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/run/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4gdml + HEADERS + G4GDMLEvaluator.hh + G4GDMLMessenger.hh + G4GDMLParameterisation.hh + G4GDMLParser.hh + G4GDMLParser.icc + G4GDMLRead.hh + G4GDMLReadDefine.hh + G4GDMLReadMaterials.hh + G4GDMLReadParamvol.hh + G4GDMLReadSetup.hh + G4GDMLReadSolids.hh + G4GDMLReadStructure.hh + G4GDMLWrite.hh + G4GDMLWriteDefine.hh + G4GDMLWriteMaterials.hh + G4GDMLWriteParamvol.hh + G4GDMLWriteSetup.hh + G4GDMLWriteSolids.hh + G4GDMLWriteStructure.hh + G4STRead.hh + SOURCES + G4GDMLEvaluator.cc + G4GDMLMessenger.cc + G4GDMLParameterisation.cc + G4GDMLParser.cc + G4GDMLRead.cc + G4GDMLReadDefine.cc + G4GDMLReadMaterials.cc + G4GDMLReadParamvol.cc + G4GDMLReadSetup.cc + G4GDMLReadSolids.cc + G4GDMLReadStructure.cc + G4GDMLWrite.cc + G4GDMLWriteDefine.cc + G4GDMLWriteMaterials.cc + G4GDMLWriteParamvol.cc + G4GDMLWriteSetup.cc + G4GDMLWriteSolids.cc + G4GDMLWriteStructure.cc + G4STRead.cc + GRANULAR_DEPENDENCIES + G4csg + G4digits + G4event + G4geomBoolean + G4geomdivision + G4geometrymng + G4globman + G4graphics_reps + G4hepnumerics + G4hits + G4intercoms + G4materials + G4navigation + G4partman + G4procman + G4run + G4specsolids + G4track + G4tracking + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4event + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4particles + G4processes + G4run + G4track + G4tracking + LINK_LIBRARIES + ${XERCESC_LIBRARIES} +) + +# List any source specific properties here + diff --git a/source/persistency/gdml/src/G4GDMLEvaluator.cc b/source/persistency/gdml/src/G4GDMLEvaluator.cc index 127ae64dea..ec659c020f 100644 --- a/source/persistency/gdml/src/G4GDMLEvaluator.cc +++ b/source/persistency/gdml/src/G4GDMLEvaluator.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4GDMLEvaluator.cc,v 1.23 2009/04/24 15:34:20 gcosmo Exp $ +// $Id: G4GDMLEvaluator.cc,v 1.26 2010/11/04 11:33:49 gcosmo Exp $ // GEANT4 tag $ Name:$ // // class G4GDMLEvaluator Implementation @@ -46,6 +46,15 @@ G4GDMLEvaluator::G4GDMLEvaluator() eval.setSystemOfUnits(meter,kilogram,second,ampere,kelvin,mole,candela); } +void G4GDMLEvaluator::Clear() +{ + eval.clear(); + eval.setStdMath(); + eval.setSystemOfUnits(meter,kilogram,second,ampere,kelvin,mole,candela); + + variableList.clear(); +} + void G4GDMLEvaluator::DefineConstant(const G4String& name, G4double value) { if (eval.findVariable(name)) @@ -152,11 +161,12 @@ G4String G4GDMLEvaluator::SolveBrackets(const G4String& in) if (open==close) { return in; } - if (open>close) + if ((open>close) || (open==std::string::npos) || (close==std::string::npos)) { G4String error_msg = "Bracket mismatch: " + in; G4Exception("G4GDMLEvaluator::SolveBrackets()", "InvalidExpression", FatalException, error_msg); + return in; } std::string::size_type begin = open; diff --git a/source/persistency/gdml/src/G4GDMLMessenger.cc b/source/persistency/gdml/src/G4GDMLMessenger.cc new file mode 100644 index 0000000000..7338ff310a --- /dev/null +++ b/source/persistency/gdml/src/G4GDMLMessenger.cc @@ -0,0 +1,113 @@ +// +// ******************************************************************** +// * 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: G4GDMLMessenger.cc,v 1.3 2010/11/02 11:44:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// class G4GDMLMessenger Implementation +// +// ------------------------------------------------------------------------- + +#include "G4GDMLMessenger.hh" +#include "G4GDMLParser.hh" + +#include "globals.hh" +#include "G4RunManager.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithoutParameter.hh" +#include "G4GeometryManager.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4SolidStore.hh" + +G4GDMLMessenger::G4GDMLMessenger(G4GDMLParser* myPars) + : myParser(myPars), topvol(0) +{ + persistencyDir = new G4UIdirectory("/persistency/"); + persistencyDir->SetGuidance("UI commands specific to persistency."); + + gdmlDir = new G4UIdirectory("/persistency/gdml/"); + gdmlDir->SetGuidance("GDML parser and writer."); + + ReaderCmd = new G4UIcmdWithAString("/persistency/gdml/read",this); + ReaderCmd->SetGuidance("Read GDML file."); + ReaderCmd->SetParameterName("filename",false); + ReaderCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + TopVolCmd = new G4UIcmdWithAString("/persistency/gdml/topvol",this); + TopVolCmd->SetGuidance("Set the top volume for writing the GDML file."); + TopVolCmd->SetParameterName("topvol",false); + + WriterCmd = new G4UIcmdWithAString("/persistency/gdml/write",this); + WriterCmd->SetGuidance("Write GDML file."); + WriterCmd->SetParameterName("filename",false); + WriterCmd->AvailableForStates(G4State_Idle); + + ClearCmd = new G4UIcmdWithoutParameter("/persistency/gdml/clear",this); + ClearCmd->SetGuidance("Clear geometry (before reading a new one from GDML)."); + ClearCmd->AvailableForStates(G4State_Idle); +} + +G4GDMLMessenger::~G4GDMLMessenger() +{ + delete ReaderCmd; + delete WriterCmd; + delete ClearCmd; + delete TopVolCmd; + delete persistencyDir; + delete gdmlDir; +} + +void G4GDMLMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if( command == ReaderCmd ) + { + G4GeometryManager::GetInstance()->OpenGeometry(); + myParser->Read(newValue); + G4RunManager::GetRunManager()->DefineWorldVolume(myParser->GetWorldVolume()); + } + + if( command == TopVolCmd ) + { + topvol = G4LogicalVolumeStore::GetInstance()->GetVolume(newValue); + } + + if( command == WriterCmd ) + { + myParser->Write(newValue, topvol); + } + + if( command == ClearCmd ) + { + myParser->Clear(); + G4GeometryManager::GetInstance()->OpenGeometry(); + G4PhysicalVolumeStore::Clean(); + G4LogicalVolumeStore::Clean(); + G4SolidStore::Clean(); + } +} diff --git a/source/persistency/gdml/src/G4GDMLParser.cc b/source/persistency/gdml/src/G4GDMLParser.cc index f4ab5c6692..d15ba6d41c 100644 --- a/source/persistency/gdml/src/G4GDMLParser.cc +++ b/source/persistency/gdml/src/G4GDMLParser.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLParser.cc,v 1.14 2009/04/15 13:29:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLParser.cc,v 1.18 2010/11/17 11:36:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // class G4GDMLParser Implementation @@ -35,10 +35,12 @@ #include "G4GDMLParser.hh" G4GDMLParser::G4GDMLParser() - : urcode(false), uwcode(false) + : urcode(false), uwcode(false), strip(true) { reader = new G4GDMLReadStructure; writer = new G4GDMLWriteStructure; + messenger = new G4GDMLMessenger(this); + xercesc::XMLPlatformUtils::Initialize(); } @@ -47,6 +49,8 @@ G4GDMLParser::G4GDMLParser(G4GDMLReadStructure* extr) { reader = extr; writer = new G4GDMLWriteStructure; + messenger = new G4GDMLMessenger(this); + xercesc::XMLPlatformUtils::Initialize(); } @@ -56,6 +60,8 @@ G4GDMLParser::G4GDMLParser(G4GDMLReadStructure* extr, { reader = extr; writer = extw; + messenger = new G4GDMLMessenger(this); + xercesc::XMLPlatformUtils::Initialize(); } @@ -64,4 +70,5 @@ G4GDMLParser::~G4GDMLParser() xercesc::XMLPlatformUtils::Terminate(); if (!urcode) { delete reader; } if (!uwcode) { delete writer; } + delete messenger; } diff --git a/source/persistency/gdml/src/G4GDMLRead.cc b/source/persistency/gdml/src/G4GDMLRead.cc index 6fc672e2bb..de4923b288 100644 --- a/source/persistency/gdml/src/G4GDMLRead.cc +++ b/source/persistency/gdml/src/G4GDMLRead.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4GDMLRead.cc,v 1.47 2009/05/12 15:46:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLRead.cc,v 1.50 2010/11/17 10:47:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLRead Implementation // @@ -198,6 +198,12 @@ void G4GDMLRead::LoopRead(const xercesc::DOMElement* const element, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLRead::LoopRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attribute_name = Transcode(attribute->getName()); const G4String attribute_value = Transcode(attribute->getValue()); @@ -265,7 +271,8 @@ void G4GDMLRead::ExtensionRead(const xercesc::DOMElement* const) void G4GDMLRead::Read(const G4String& fileName, G4bool validation, - G4bool isModule) + G4bool isModule, + G4bool strip) { if (isModule) { @@ -304,6 +311,7 @@ void G4GDMLRead::Read(const G4String& fileName, G4String error_msg = "Unable to open document: " + fileName; G4Exception("G4GDMLRead::Read()", "InvalidRead", FatalException, error_msg); + return; } xercesc::DOMElement* element = doc->getDocumentElement(); @@ -311,6 +319,7 @@ void G4GDMLRead::Read(const G4String& fileName, { G4Exception("G4GDMLRead::Read()", "InvalidRead", FatalException, "Empty document!"); + return; } for (xercesc::DOMNode* iter = element->getFirstChild(); @@ -320,6 +329,12 @@ void G4GDMLRead::Read(const G4String& fileName, const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLRead::Read()", "InvalidRead", + FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="define") { DefineRead(child); } else @@ -336,8 +351,8 @@ void G4GDMLRead::Read(const G4String& fileName, } } - if (parser) { delete parser; } - if (handler) { delete handler; } + delete parser; + delete handler; if (isModule) { @@ -346,6 +361,6 @@ void G4GDMLRead::Read(const G4String& fileName, else { G4cout << "G4GDML: Reading '" << fileName << "' done!" << G4endl; - StripNames(); + if (strip) { StripNames(); } } } diff --git a/source/persistency/gdml/src/G4GDMLReadDefine.cc b/source/persistency/gdml/src/G4GDMLReadDefine.cc index 39019cb2c7..4f27445204 100644 --- a/source/persistency/gdml/src/G4GDMLReadDefine.cc +++ b/source/persistency/gdml/src/G4GDMLReadDefine.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4GDMLReadDefine.cc,v 1.24 2009/10/14 13:10:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLReadDefine.cc,v 1.26 2010/10/14 16:19:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLReadDefine Implementation // @@ -41,7 +41,7 @@ G4GDMLMatrix::G4GDMLMatrix() G4GDMLMatrix::G4GDMLMatrix(size_t rows0, size_t cols0) { - if ((rows<=0) || (cols<=0)) + if ((rows0==0) || (cols0==0)) { G4Exception("G4GDMLMatrix::G4GDMLMatrix(r,c)", "InvalidSetup", FatalException, "Zero indeces as arguments!?"); @@ -160,6 +160,12 @@ G4GDMLReadDefine::ConstantRead(const xercesc::DOMElement* const constantElement) const xercesc::DOMAttr* const attribute = dynamic_cast(node); + if (!attribute) + { + G4Exception("G4GDMLRead::ConstantRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -189,6 +195,12 @@ G4GDMLReadDefine::ExpressionRead(const xercesc::DOMElement* const expElement) const xercesc::DOMAttr* const attribute = dynamic_cast(node); + if (!attribute) + { + G4Exception("G4GDMLRead::ExpressionRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -220,6 +232,12 @@ G4GDMLReadDefine::MatrixRead(const xercesc::DOMElement* const matrixElement) const xercesc::DOMAttr* const attribute = dynamic_cast(node); + if (!attribute) + { + G4Exception("G4GDMLRead::MatrixRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -270,6 +288,12 @@ G4GDMLReadDefine::PositionRead(const xercesc::DOMElement* const positionElement) const xercesc::DOMAttr* const attribute = dynamic_cast(node); + if (!attribute) + { + G4Exception("G4GDMLRead::PositionRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -303,6 +327,12 @@ G4GDMLReadDefine::RotationRead(const xercesc::DOMElement* const rotationElement) const xercesc::DOMAttr* const attribute = dynamic_cast(node); + if (!attribute) + { + G4Exception("G4GDMLRead::RotationRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -334,6 +364,12 @@ void G4GDMLReadDefine::ScaleRead(const xercesc::DOMElement* const scaleElement) const xercesc::DOMAttr* const attribute = dynamic_cast(node); + if (!attribute) + { + G4Exception("G4GDMLRead::ScaleRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -365,6 +401,12 @@ G4GDMLReadDefine::VariableRead(const xercesc::DOMElement* const variableElement) const xercesc::DOMAttr* const attribute = dynamic_cast(node); + if (!attribute) + { + G4Exception("G4GDMLRead::VariableRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -394,6 +436,12 @@ void G4GDMLReadDefine::QuantityRead(const xercesc::DOMElement* const element) const xercesc::DOMAttr* const attribute = dynamic_cast(node); + if (!attribute) + { + G4Exception("G4GDMLRead::QuantityRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -418,6 +466,12 @@ G4GDMLReadDefine::DefineRead(const xercesc::DOMElement* const defineElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLRead::DefineRead()", "InvalidRead", + FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="constant") { ConstantRead(child); } else @@ -457,6 +511,12 @@ G4GDMLReadDefine::VectorRead(const xercesc::DOMElement* const vectorElement, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLRead::VectorRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -486,6 +546,12 @@ G4String G4GDMLReadDefine::RefRead(const xercesc::DOMElement* const element) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLRead::Read()", "InvalidRead", + FatalException, "No attribute found!"); + return ref; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -495,6 +561,11 @@ G4String G4GDMLReadDefine::RefRead(const xercesc::DOMElement* const element) return ref; } +G4bool G4GDMLReadDefine::IsValidID(const G4String& ref) const +{ + return eval.IsVariable(ref); +} + G4double G4GDMLReadDefine::GetConstant(const G4String& ref) { return eval.GetConstant(ref); diff --git a/source/persistency/gdml/src/G4GDMLReadMaterials.cc b/source/persistency/gdml/src/G4GDMLReadMaterials.cc index 1f43fa0481..acb19dcd07 100644 --- a/source/persistency/gdml/src/G4GDMLReadMaterials.cc +++ b/source/persistency/gdml/src/G4GDMLReadMaterials.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4GDMLReadMaterials.cc,v 1.20 2009/04/24 15:34:20 gcosmo Exp $ +// $Id: G4GDMLReadMaterials.cc,v 1.21 2010/10/14 16:19:40 gcosmo Exp $ // GEANT4 tag $ Name:$ // // class G4GDMLReadMaterials Implementation @@ -68,6 +68,12 @@ G4GDMLReadMaterials::AtomRead(const xercesc::DOMElement* const atomElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadMaterials::AtomRead()", "InvalidRead", + FatalException, "No attribute found!"); + return value; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -97,6 +103,12 @@ CompositeRead(const xercesc::DOMElement* const compositeElement,G4String& ref) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadMaterials::CompositeRead()", "InvalidRead", + FatalException, "No attribute found!"); + return n; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -126,6 +138,12 @@ G4double G4GDMLReadMaterials::DRead(const xercesc::DOMElement* const DElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadMaterials::DRead()", "InvalidRead", + FatalException, "No attribute found!"); + return value; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -154,6 +172,12 @@ G4double G4GDMLReadMaterials::PRead(const xercesc::DOMElement* const PElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadMaterials::PRead()", "InvalidRead", + FatalException, "No attribute found!"); + return value; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -182,6 +206,12 @@ G4double G4GDMLReadMaterials::TRead(const xercesc::DOMElement* const TElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadMaterials::TRead()", "InvalidRead", + FatalException, "No attribute found!"); + return value; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -214,6 +244,12 @@ ElementRead(const xercesc::DOMElement* const elementElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadMaterials::ElementRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -231,6 +267,12 @@ ElementRead(const xercesc::DOMElement* const elementElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadMaterials::ElementRead()", "InvalidRead", + FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="atom") { a = AtomRead(child); } else @@ -267,6 +309,12 @@ FractionRead(const xercesc::DOMElement* const fractionElement, G4String& ref) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadMaterials::FractionRead()", "InvalidRead", + FatalException, "No attribute found!"); + return n; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -299,6 +347,12 @@ IsotopeRead(const xercesc::DOMElement* const isotopeElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadMaterials::IsotopeRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -314,6 +368,12 @@ IsotopeRead(const xercesc::DOMElement* const isotopeElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadMaterials::IsotopeRead()", "InvalidRead", + FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="atom") { a = AtomRead(child); } @@ -347,6 +407,12 @@ MaterialRead(const xercesc::DOMElement* const materialElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadMaterials::MaterialRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -369,6 +435,12 @@ MaterialRead(const xercesc::DOMElement* const materialElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadMaterials::MaterialRead()", "InvalidRead", + FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="atom") { a = AtomRead(child); } else @@ -400,6 +472,12 @@ MaterialRead(const xercesc::DOMElement* const materialElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadMaterials::MaterialRead()", "InvalidRead", + FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="property") { PropertyRead(child,material); } @@ -416,6 +494,12 @@ MixtureRead(const xercesc::DOMElement *const mixtureElement, G4Element *element) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadMaterials::MixtureRead()", "InvalidRead", + FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="fraction") @@ -438,6 +522,12 @@ MixtureRead(const xercesc::DOMElement *const mixtureElement, const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadMaterials::MixtureRead()", "InvalidRead", + FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="fraction") @@ -492,6 +582,12 @@ PropertyRead(const xercesc::DOMElement* const propertyElement, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadMaterials::PropertyRead()", "InvalidRead", + FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -542,6 +638,12 @@ MaterialsRead(const xercesc::DOMElement* const materialsElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadMaterials::MaterialsRead()", "InvalidRead", + FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="define") { DefineRead(child); } else diff --git a/source/persistency/gdml/src/G4GDMLReadParamvol.cc b/source/persistency/gdml/src/G4GDMLReadParamvol.cc index 67820d49ff..0145cf8799 100644 --- a/source/persistency/gdml/src/G4GDMLReadParamvol.cc +++ b/source/persistency/gdml/src/G4GDMLReadParamvol.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4GDMLReadParamvol.cc,v 1.13 2009/04/24 15:34:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLReadParamvol.cc,v 1.14 2010/10/14 16:19:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLReadParamvol Implementation // @@ -39,7 +39,8 @@ #include "G4PVPlacement.hh" #include "G4VPhysicalVolume.hh" -G4GDMLReadParamvol::G4GDMLReadParamvol() : G4GDMLReadSetup() +G4GDMLReadParamvol::G4GDMLReadParamvol() + : G4GDMLReadSetup(), parameterisation(0) { } @@ -66,6 +67,12 @@ Box_dimensionsRead( const xercesc::DOMElement* const element, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadParamvol::Box_dimensionsRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -99,6 +106,12 @@ Trd_dimensionsRead( const xercesc::DOMElement* const element, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadParamvol::Trd_dimensionsRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -137,6 +150,12 @@ Trap_dimensionsRead( const xercesc::DOMElement* const element, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadParamvol::Trap_dimensionsRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -201,6 +220,12 @@ Tube_dimensionsRead( const xercesc::DOMElement* const element, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadParamvol::Tube_dimensionsRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -247,6 +272,12 @@ Cone_dimensionsRead( const xercesc::DOMElement* const element, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadParamvol::Cone_dimensionsRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -299,6 +330,12 @@ Sphere_dimensionsRead( const xercesc::DOMElement* const element, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadParamvol::Sphere_dimensionsRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -347,6 +384,12 @@ Orb_dimensionsRead( const xercesc::DOMElement* const element, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadParamvol::Orb_dimensionsRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -377,6 +420,12 @@ Torus_dimensionsRead( const xercesc::DOMElement* const element, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadParamvol::Torus_dimensionsRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -423,6 +472,12 @@ Para_dimensionsRead( const xercesc::DOMElement* const element, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadParamvol::Para_dimensionsRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -472,6 +527,12 @@ Hype_dimensionsRead( const xercesc::DOMElement* const element, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadParamvol::Hype_dimensionsRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -513,6 +574,12 @@ ParametersRead(const xercesc::DOMElement* const element) { const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadParamvol::ParametersRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="rotation") { VectorRead(child,rotation); } else if (tag=="position") { VectorRead(child,position); } else @@ -559,6 +626,12 @@ ParameterisedRead(const xercesc::DOMElement* const element) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadParamvol::ParameterisedRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="parameters") @@ -577,6 +650,12 @@ ParameterisedRead(const xercesc::DOMElement* const element) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadParamvol::ParameterisedRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -601,6 +680,12 @@ Paramvol_contentRead(const xercesc::DOMElement* const element) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadParamvol::Paramvol_contentRead()", "InvalidRead", + FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="parameterised_position_size") { ParameterisedRead(child); }else if (tag=="loop") { LoopRead(child,&G4GDMLRead::Paramvol_contentRead); } @@ -621,6 +706,12 @@ ParamvolRead(const xercesc::DOMElement* const element, G4LogicalVolume* mother) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadParamvol::ParamvolRead()", "InvalidRead", + FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="volumeref") { volumeref = RefRead(child); } diff --git a/source/persistency/gdml/src/G4GDMLReadSetup.cc b/source/persistency/gdml/src/G4GDMLReadSetup.cc index f92fc9b09e..d9ae16b01e 100644 --- a/source/persistency/gdml/src/G4GDMLReadSetup.cc +++ b/source/persistency/gdml/src/G4GDMLReadSetup.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4GDMLReadSetup.cc,v 1.10 2009/03/24 15:47:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLReadSetup.cc,v 1.11 2010/10/14 16:19:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLReadSetup Implementation // @@ -78,6 +78,12 @@ void G4GDMLReadSetup::SetupRead(const xercesc::DOMElement* const element) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSetup::SetupRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -91,6 +97,12 @@ void G4GDMLReadSetup::SetupRead(const xercesc::DOMElement* const element) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadSetup::SetupRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag == "world") { setupMap[name] = GenerateName(RefRead(child)); } diff --git a/source/persistency/gdml/src/G4GDMLReadSolids.cc b/source/persistency/gdml/src/G4GDMLReadSolids.cc index e6885bd3c5..3ae173af25 100644 --- a/source/persistency/gdml/src/G4GDMLReadSolids.cc +++ b/source/persistency/gdml/src/G4GDMLReadSolids.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4GDMLReadSolids.cc,v 1.27 2009/12/04 13:58:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLReadSolids.cc,v 1.32 2010/10/14 16:19:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLReadSolids Implementation // @@ -51,6 +51,7 @@ #include "G4Sphere.hh" #include "G4SolidStore.hh" #include "G4SubtractionSolid.hh" +#include "G4GenericTrap.hh" #include "G4TessellatedSolid.hh" #include "G4Tet.hh" #include "G4Torus.hh" @@ -100,6 +101,12 @@ BooleanRead(const xercesc::DOMElement* const booleanElement, const BooleanOp op) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::BooleanRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -113,6 +120,12 @@ BooleanRead(const xercesc::DOMElement* const booleanElement, const BooleanOp op) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadSolids::BooleanRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="first") { first = RefRead(child); } else @@ -184,6 +197,12 @@ void G4GDMLReadSolids::BoxRead(const xercesc::DOMElement* const boxElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::BoxRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -229,6 +248,12 @@ void G4GDMLReadSolids::ConeRead(const xercesc::DOMElement* const coneElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::ConeRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -279,6 +304,12 @@ ElconeRead(const xercesc::DOMElement* const elconeElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::ElconeRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -323,6 +354,12 @@ EllipsoidRead(const xercesc::DOMElement* const ellipsoidElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::EllipsoidRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -367,6 +404,12 @@ EltubeRead(const xercesc::DOMElement* const eltubeElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::EltubeRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -403,6 +446,12 @@ void G4GDMLReadSolids::XtruRead(const xercesc::DOMElement* const xtruElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::XtruRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -420,6 +469,12 @@ void G4GDMLReadSolids::XtruRead(const xercesc::DOMElement* const xtruElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadSolids::XtruRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="twoDimVertex") @@ -456,6 +511,12 @@ void G4GDMLReadSolids::HypeRead(const xercesc::DOMElement* const hypeElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::HypeRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -498,6 +559,12 @@ void G4GDMLReadSolids::OrbRead(const xercesc::DOMElement* const orbElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::OrbRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -537,6 +604,12 @@ void G4GDMLReadSolids::ParaRead(const xercesc::DOMElement* const paraElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::ParaRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -585,6 +658,12 @@ ParaboloidRead(const xercesc::DOMElement* const paraElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::ParaboloidRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -626,6 +705,12 @@ PolyconeRead(const xercesc::DOMElement* const polyconeElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::PolyconeRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -648,6 +733,12 @@ PolyconeRead(const xercesc::DOMElement* const polyconeElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadSolids::PolyconeRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="zplane") { zplaneList.push_back(ZplaneRead(child)); } @@ -694,6 +785,12 @@ PolyhedraRead(const xercesc::DOMElement* const polyhedraElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::PolyhedraRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -717,6 +814,12 @@ PolyhedraRead(const xercesc::DOMElement* const polyhedraElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadSolids::PolyhedraRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="zplane") { zplaneList.push_back(ZplaneRead(child)); } @@ -763,6 +866,12 @@ QuadrangularRead(const xercesc::DOMElement* const quadrangularElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::QuadrangularRead()", + "InvalidRead", FatalException, "No attribute found!"); + return 0; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -806,6 +915,12 @@ ReflectedSolidRead(const xercesc::DOMElement* const reflectedSolidElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::ReflectedSolidRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -854,6 +969,12 @@ SectionRead(const xercesc::DOMElement* const sectionElement,G4double lunit) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::SectionRead()", + "InvalidRead", FatalException, "No attribute found!"); + return G4ExtrudedSolid::ZSection(zPosition,Offset,scalingFactor); + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -897,6 +1018,12 @@ SphereRead(const xercesc::DOMElement* const sphereElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::SphereRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -940,6 +1067,12 @@ TessellatedRead(const xercesc::DOMElement* const tessellatedElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TessellatedRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -955,6 +1088,12 @@ TessellatedRead(const xercesc::DOMElement* const tessellatedElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadSolids::TessellatedRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="triangular") @@ -988,6 +1127,12 @@ void G4GDMLReadSolids::TetRead(const xercesc::DOMElement* const tetElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TetRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1031,6 +1176,12 @@ void G4GDMLReadSolids::TorusRead(const xercesc::DOMElement* const torusElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TorusRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1053,6 +1204,73 @@ void G4GDMLReadSolids::TorusRead(const xercesc::DOMElement* const torusElement) new G4Torus(name,rmin,rmax,rtor,startphi,deltaphi); } +void G4GDMLReadSolids:: +GenTrapRead(const xercesc::DOMElement* const gtrapElement) +{ + G4String name; + G4double lunit = 1.0; + G4double dz =0.0; + G4double v1x=0.0, v1y=0.0, v2x=0.0, v2y=0.0, v3x=0.0, v3y=0.0, + v4x=0.0, v4y=0.0, v5x=0.0, v5y=0.0, v6x=0.0, v6y=0.0, + v7x=0.0, v7y=0.0, v8x=0.0, v8y=0.0; + + const xercesc::DOMNamedNodeMap* const attributes + = gtrapElement->getAttributes(); + XMLSize_t attributeCount = attributes->getLength(); + + for (XMLSize_t attribute_index=0; + attribute_indexitem(attribute_index); + + if (attribute_node->getNodeType() != xercesc::DOMNode::ATTRIBUTE_NODE) + { continue; } + + const xercesc::DOMAttr* const attribute + = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::GenTrapRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } + const G4String attName = Transcode(attribute->getName()); + const G4String attValue = Transcode(attribute->getValue()); + + if (attName=="name") { name = GenerateName(attValue); } else + if (attName=="lunit") { lunit = eval.Evaluate(attValue); } else + if (attName=="dz") { dz = eval.Evaluate(attValue); } else + if (attName=="v1x") { v1x = eval.Evaluate(attValue); } else + if (attName=="v1y") { v1y = eval.Evaluate(attValue); } else + if (attName=="v2x") { v2x = eval.Evaluate(attValue); } else + if (attName=="v2y") { v2y = eval.Evaluate(attValue); } else + if (attName=="v3x") { v3x = eval.Evaluate(attValue); } else + if (attName=="v3y") { v3y = eval.Evaluate(attValue); } else + if (attName=="v4x") { v4x = eval.Evaluate(attValue); } else + if (attName=="v4y") { v4y = eval.Evaluate(attValue); } else + if (attName=="v5x") { v5x = eval.Evaluate(attValue); } else + if (attName=="v5y") { v5y = eval.Evaluate(attValue); } else + if (attName=="v6x") { v6x = eval.Evaluate(attValue); } else + if (attName=="v6y") { v6y = eval.Evaluate(attValue); } else + if (attName=="v7x") { v7x = eval.Evaluate(attValue); } else + if (attName=="v7y") { v7y = eval.Evaluate(attValue); } else + if (attName=="v8x") { v8x = eval.Evaluate(attValue); } else + if (attName=="v8y") { v8y = eval.Evaluate(attValue); } + } + + dz *= lunit; + std::vector vertices; + vertices.push_back(G4TwoVector(v1x,v1y)); + vertices.push_back(G4TwoVector(v2x,v2y)); + vertices.push_back(G4TwoVector(v3x,v3y)); + vertices.push_back(G4TwoVector(v4x,v4y)); + vertices.push_back(G4TwoVector(v5x,v5y)); + vertices.push_back(G4TwoVector(v6x,v6y)); + vertices.push_back(G4TwoVector(v7x,v7y)); + vertices.push_back(G4TwoVector(v8x,v8y)); + new G4GenericTrap(name,dz,vertices); +} + void G4GDMLReadSolids::TrapRead(const xercesc::DOMElement* const trapElement) { G4String name; @@ -1084,6 +1302,12 @@ void G4GDMLReadSolids::TrapRead(const xercesc::DOMElement* const trapElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TrapRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1142,6 +1366,12 @@ void G4GDMLReadSolids::TrdRead(const xercesc::DOMElement* const trdElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TrdRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1186,6 +1416,12 @@ TriangularRead(const xercesc::DOMElement* const triangularElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TriangularRead()", + "InvalidRead", FatalException, "No attribute found!"); + return 0; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1227,6 +1463,12 @@ void G4GDMLReadSolids::TubeRead(const xercesc::DOMElement* const tubeElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TubeRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1274,6 +1516,12 @@ TwistedboxRead(const xercesc::DOMElement* const twistedboxElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TwistedboxRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1326,6 +1574,12 @@ TwistedtrapRead(const xercesc::DOMElement* const twistedtrapElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TwistedtrapRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1388,6 +1642,12 @@ TwistedtrdRead(const xercesc::DOMElement* const twistedtrdElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TwistedtrdRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1438,6 +1698,12 @@ TwistedtubsRead(const xercesc::DOMElement* const twistedtubsElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TwistedtubsRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1478,6 +1744,12 @@ TwoDimVertexRead(const xercesc::DOMElement* const element, G4double lunit) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::TwoDimVertexRead()", + "InvalidRead", FatalException, "No attribute found!"); + return vec; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1491,7 +1763,7 @@ TwoDimVertexRead(const xercesc::DOMElement* const element, G4double lunit) G4GDMLReadSolids::zplaneType G4GDMLReadSolids:: ZplaneRead(const xercesc::DOMElement* const zplaneElement) { - zplaneType zplane; + zplaneType zplane = {0.,0.,0.}; const xercesc::DOMNamedNodeMap* const attributes = zplaneElement->getAttributes(); @@ -1506,6 +1778,12 @@ ZplaneRead(const xercesc::DOMElement* const zplaneElement) const xercesc::DOMAttr* const attribute = dynamic_cast(node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::ZplaneRead()", + "InvalidRead", FatalException, "No attribute found!"); + return zplane; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1540,6 +1818,12 @@ OpticalSurfaceRead(const xercesc::DOMElement* const opticalsurfaceElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadSolids::OpticalSurfaceRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -1554,46 +1838,79 @@ OpticalSurfaceRead(const xercesc::DOMElement* const opticalsurfaceElement) G4OpticalSurfaceFinish finish; G4SurfaceType type; - if (smodel="unified") { model = unified; } else - if (smodel="glisur") { model = glisur; } + if ((smodel=="glisur") || (smodel=="0")) { model = glisur; } else + if ((smodel=="unified") || (smodel=="1")) { model = unified; } else { model = LUT; } - if (sfinish=="polishedfrontpainted") { finish = polishedfrontpainted; } else - if (sfinish=="polishedbackpainted") { finish = polishedbackpainted; } else - if (sfinish=="groundfrontpainted") { finish = groundfrontpainted; } else - if (sfinish=="groundbackpainted") { finish = groundbackpainted; } else - if (sfinish=="ground") { finish = ground; } else - if (sfinish=="polished") { finish = polished; } else - if (sfinish=="polishedlumirrorair") { finish = polishedlumirrorair; } else - if (sfinish=="polishedlumirrorglue") { finish = polishedlumirrorglue; } else - if (sfinish=="polishedair") { finish = polishedair; } else - if (sfinish=="polishedteflonair") { finish = polishedteflonair; } else - if (sfinish=="polishedtioair") { finish = polishedtioair; } else - if (sfinish=="polishedtyvekair") { finish = polishedtyvekair; } else - if (sfinish=="polishedvm2000air") { finish = polishedvm2000air; } else - if (sfinish=="polishedvm2000glue") { finish = polishedvm2000glue; } else - if (sfinish=="etchedlumirrorair") { finish = etchedlumirrorair; } else - if (sfinish=="etchedlumirrorglue") { finish = etchedlumirrorglue; } else - if (sfinish=="etchedair") { finish = etchedair; } else - if (sfinish=="etchedteflonair") { finish = etchedteflonair; } else - if (sfinish=="etchedtioair") { finish = etchedtioair; } else - if (sfinish=="etchedtyvekair") { finish = etchedtyvekair; } else - if (sfinish=="etchedvm2000air") { finish = etchedvm2000air; } else - if (sfinish=="etchedvm2000glue") { finish = etchedvm2000glue; } else - if (sfinish=="groundlumirrorair") { finish = groundlumirrorair; } else - if (sfinish=="groundlumirrorglue") { finish = groundlumirrorglue; } else - if (sfinish=="groundair") { finish = groundair; } else - if (sfinish=="groundteflonair") { finish = groundteflonair; } else - if (sfinish=="groundtioair") { finish = groundtioair; } else - if (sfinish=="groundtyvekair") { finish = groundtyvekair; } else - if (sfinish=="groundvm2000air") { finish = groundvm2000air; } + if ((sfinish=="polished") || (sfinish=="0")) + { finish = polished; } else + if ((sfinish=="polishedfrontpainted") || (sfinish=="1")) + { finish = polishedfrontpainted; } else + if ((sfinish=="polishedbackpainted") || (sfinish=="2")) + { finish = polishedbackpainted; } else + if ((sfinish=="ground") || (sfinish=="3")) + { finish = ground; } else + if ((sfinish=="groundfrontpainted") || (sfinish=="4")) + { finish = groundfrontpainted; } else + if ((sfinish=="groundbackpainted") || (sfinish=="5")) + { finish = groundbackpainted; } else + if ((sfinish=="polishedlumirrorair") || (sfinish=="6")) + { finish = polishedlumirrorair; } else + if ((sfinish=="polishedlumirrorglue") || (sfinish=="7")) + { finish = polishedlumirrorglue; } else + if ((sfinish=="polishedair") || (sfinish=="8")) + { finish = polishedair; } else + if ((sfinish=="polishedteflonair") || (sfinish=="9")) + { finish = polishedteflonair; } else + if ((sfinish=="polishedtioair") || (sfinish=="10")) + { finish = polishedtioair; } else + if ((sfinish=="polishedtyvekair") || (sfinish=="11")) + { finish = polishedtyvekair; } else + if ((sfinish=="polishedvm2000air") || (sfinish=="12")) + { finish = polishedvm2000air; } else + if ((sfinish=="polishedvm2000glue") || (sfinish=="13")) + { finish = polishedvm2000glue; } else + if ((sfinish=="etchedlumirrorair") || (sfinish=="14")) + { finish = etchedlumirrorair; } else + if ((sfinish=="etchedlumirrorglue") || (sfinish=="15")) + { finish = etchedlumirrorglue; } else + if ((sfinish=="etchedair") || (sfinish=="16")) + { finish = etchedair; } else + if ((sfinish=="etchedteflonair") || (sfinish=="17")) + { finish = etchedteflonair; } else + if ((sfinish=="etchedtioair") || (sfinish=="18")) + { finish = etchedtioair; } else + if ((sfinish=="etchedtyvekair") || (sfinish=="19")) + { finish = etchedtyvekair; } else + if ((sfinish=="etchedvm2000air") || (sfinish=="20")) + { finish = etchedvm2000air; } else + if ((sfinish=="etchedvm2000glue") || (sfinish=="21")) + { finish = etchedvm2000glue; } else + if ((sfinish=="groundlumirrorair") || (sfinish=="22")) + { finish = groundlumirrorair; } else + if ((sfinish=="groundlumirrorglue") || (sfinish=="23")) + { finish = groundlumirrorglue; } else + if ((sfinish=="groundair") || (sfinish=="24")) + { finish = groundair; } else + if ((sfinish=="groundteflonair") || (sfinish=="25")) + { finish = groundteflonair; } else + if ((sfinish=="groundtioair") || (sfinish=="26")) + { finish = groundtioair; } else + if ((sfinish=="groundtyvekair") || (sfinish=="27")) + { finish = groundtyvekair; } else + if ((sfinish=="groundvm2000air") || (sfinish=="28")) + { finish = groundvm2000air; } else { finish = groundvm2000glue; } - if (stype=="dielectric_metal") { type = dielectric_metal; } else - if (stype=="dielectric_dielectric") { type = dielectric_dielectric; } else - if (stype=="dielectric_LUT") { type = dielectric_LUT; } else - if (stype=="x_ray") { type = x_ray; } - else { type = firsov; } + if ((stype=="dielectric_metal") || (stype=="0")) + { type = dielectric_metal; } else + if ((stype=="dielectric_dielectric") || (stype=="1")) + { type = dielectric_dielectric; } else + if ((stype=="dielectric_LUT") || (stype=="2")) + { type = dielectric_LUT; } else + if ((stype=="firsov") || (stype=="3")) + { type = firsov; } + else { type = x_ray; } new G4OpticalSurface(name,model,finish,type,value); } @@ -1609,6 +1926,12 @@ void G4GDMLReadSolids::SolidsRead(const xercesc::DOMElement* const solidsElement const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadSolids::SolidsRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="define") { DefineRead(child); } else if (tag=="box") { BoxRead(child); } else @@ -1630,6 +1953,7 @@ void G4GDMLReadSolids::SolidsRead(const xercesc::DOMElement* const solidsElement if (tag=="tessellated") { TessellatedRead(child); } else if (tag=="tet") { TetRead(child); } else if (tag=="torus") { TorusRead(child); } else + if (tag=="arb8") { GenTrapRead(child); } else if (tag=="trap") { TrapRead(child); } else if (tag=="trd") { TrdRead(child); } else if (tag=="tube") { TubeRead(child); } else diff --git a/source/persistency/gdml/src/G4GDMLReadStructure.cc b/source/persistency/gdml/src/G4GDMLReadStructure.cc index 43b03ec1f3..76ecf5b9ba 100644 --- a/source/persistency/gdml/src/G4GDMLReadStructure.cc +++ b/source/persistency/gdml/src/G4GDMLReadStructure.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4GDMLReadStructure.cc,v 1.62 2009/09/24 15:04:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLReadStructure.cc,v 1.67 2010/11/02 10:39:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLReadStructure Implementation // @@ -46,7 +46,8 @@ #include "G4LogicalSkinSurface.hh" #include "G4VisAttributes.hh" -G4GDMLReadStructure::G4GDMLReadStructure() : G4GDMLReadParamvol() +G4GDMLReadStructure::G4GDMLReadStructure() + : G4GDMLReadParamvol(), pMotherLogical(0) { } @@ -57,7 +58,7 @@ G4GDMLReadStructure::~G4GDMLReadStructure() G4GDMLAuxPairType G4GDMLReadStructure:: AuxiliaryRead(const xercesc::DOMElement* const auxiliaryElement) { - G4GDMLAuxPairType auxpair; + G4GDMLAuxPairType auxpair = {"",""}; const xercesc::DOMNamedNodeMap* const attributes = auxiliaryElement->getAttributes(); @@ -73,11 +74,18 @@ AuxiliaryRead(const xercesc::DOMElement* const auxiliaryElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadStructure::AuxiliaryRead()", + "InvalidRead", FatalException, "No attribute found!"); + return auxpair; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); if (attName=="auxtype") { auxpair.type = attValue; } else - if (attName=="auxvalue") { auxpair.value = eval.Evaluate(attValue); } + // if (attName=="auxvalue") { auxpair.value = eval.Evaluate(attValue); } + if (attName=="auxvalue") { auxpair.value = attValue; } } return auxpair; @@ -106,6 +114,12 @@ BorderSurfaceRead(const xercesc::DOMElement* const bordersurfaceElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadStructure::BorderSurfaceRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -122,6 +136,12 @@ BorderSurfaceRead(const xercesc::DOMElement* const bordersurfaceElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadStructure::BorderSurfaceRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag != "physvolref") { continue; } @@ -161,6 +181,12 @@ DivisionvolRead(const xercesc::DOMElement* const divisionvolElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadStructure::DivisionvolRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -189,11 +215,19 @@ DivisionvolRead(const xercesc::DOMElement* const divisionvolElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadStructure::DivisionvolRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="volumeref") { logvol = GetVolume(GenerateName(RefRead(child))); } } + if (!logvol) { return; } + G4PVDivisionFactory::GetInstance(); G4PhysicalVolumesPair pair; @@ -238,6 +272,12 @@ FileRead(const xercesc::DOMElement* const fileElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadStructure::FileRead()", + "InvalidRead", FatalException, "No attribute found!"); + return 0; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -298,6 +338,12 @@ PhysvolRead(const xercesc::DOMElement* const physvolElement, const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadStructure::PhysvolRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -311,6 +357,12 @@ PhysvolRead(const xercesc::DOMElement* const physvolElement, const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadStructure::PhysvolRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="volumeref") @@ -338,6 +390,7 @@ PhysvolRead(const xercesc::DOMElement* const physvolElement, G4String error_msg = "Unknown tag in physvol: " + tag; G4Exception("G4GDMLReadStructure::PhysvolRead()", "ReadError", FatalException, error_msg); + return; } } @@ -346,6 +399,7 @@ PhysvolRead(const xercesc::DOMElement* const physvolElement, if (pAssembly) // Fill assembly structure { + if (!logvol) { return; } pAssembly->AddPlacedVolume(logvol, transform); } else // Generate physical volume tree or do assembly imprint @@ -356,6 +410,7 @@ PhysvolRead(const xercesc::DOMElement* const physvolElement, } else { + if (!logvol) { return; } G4String pv_name = logvol->GetName() + "_PV"; G4PhysicalVolumesPair pair = G4ReflectionFactory::Instance() ->Place(transform,pv_name,logvol,pMotherLogical,false,0,check); @@ -377,6 +432,12 @@ ReplicavolRead(const xercesc::DOMElement* const replicavolElement, G4int number) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadStructure::ReplicavolRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="volumeref") @@ -385,7 +446,7 @@ ReplicavolRead(const xercesc::DOMElement* const replicavolElement, G4int number) } else if (tag=="replicate_along_axis") { - ReplicaRead(child,logvol,number); + if (logvol) { ReplicaRead(child,logvol,number); } } else { @@ -414,6 +475,12 @@ ReplicaRead(const xercesc::DOMElement* const replicaElement, const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadStructure::ReplicaRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="position") @@ -450,7 +517,6 @@ ReplicaRead(const xercesc::DOMElement* const replicaElement, EAxis G4GDMLReadStructure:: AxisRead(const xercesc::DOMElement* const axisElement) { - EAxis axis = kUndefined; const xercesc::DOMNamedNodeMap* const attributes @@ -467,6 +533,12 @@ AxisRead(const xercesc::DOMElement* const axisElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadStructure::AxisRead()", + "InvalidRead", FatalException, "No attribute found!"); + return axis; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); if (attName=="x") @@ -502,6 +574,12 @@ QuantityRead(const xercesc::DOMElement* const readElement) { continue; } const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadStructure::QuantityRead()", + "InvalidRead", FatalException, "No attribute found!"); + return value; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -530,6 +608,12 @@ VolumeRead(const xercesc::DOMElement* const volumeElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadStructure::VolumeRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="auxiliary") @@ -564,6 +648,12 @@ AssemblyRead(const xercesc::DOMElement* const assemblyElement) if (iter->getNodeType() != xercesc::DOMNode::ELEMENT_NODE) { continue; } const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadStructure::AssemblyRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="physvol") @@ -599,6 +689,12 @@ SkinSurfaceRead(const xercesc::DOMElement* const skinsurfaceElement) const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadStructure::SkinsurfaceRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); @@ -615,6 +711,12 @@ SkinSurfaceRead(const xercesc::DOMElement* const skinsurfaceElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadStructure::SkinsurfaceRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="volumeref") @@ -642,6 +744,12 @@ Volume_contentRead(const xercesc::DOMElement* const volumeElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadStructure::Volume_contentRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if ((tag=="auxiliary") || (tag=="materialref") || (tag=="solidref")) @@ -673,6 +781,12 @@ Volume_contentRead(const xercesc::DOMElement* const volumeElement) } const xercesc::DOMAttr* const attribute = dynamic_cast(attribute_node); + if (!attribute) + { + G4Exception("G4GDMLReadStructure::Volume_contentRead()", + "InvalidRead", FatalException, "No attribute found!"); + return; + } const G4String attName = Transcode(attribute->getName()); const G4String attValue = Transcode(attribute->getValue()); if (attName=="number") @@ -710,6 +824,12 @@ StructureRead(const xercesc::DOMElement* const structureElement) const xercesc::DOMElement* const child = dynamic_cast(iter); + if (!child) + { + G4Exception("G4GDMLReadStructure::StructureRead()", + "InvalidRead", FatalException, "No child found!"); + return; + } const G4String tag = Transcode(child->getTagName()); if (tag=="bordersurface") { BorderSurfaceRead(child); } else @@ -767,7 +887,7 @@ GetAssembly(const G4String& ref) const } G4GDMLAuxListType G4GDMLReadStructure:: -GetVolumeAuxiliaryInformation(const G4LogicalVolume* const logvol) +GetVolumeAuxiliaryInformation(G4LogicalVolume* logvol) const { G4GDMLAuxMapType::const_iterator pos = auxMap.find(logvol); if (pos != auxMap.end()) { return pos->second; } @@ -785,7 +905,24 @@ GetWorldVolume(const G4String& setupName) { G4LogicalVolume* volume = GetVolume(Strip(GetSetup(setupName))); volume->SetVisAttributes(G4VisAttributes::Invisible); - G4VPhysicalVolume* pvWorld = - new G4PVPlacement(0,G4ThreeVector(0,0,0),volume,setupName,0,0,0); + + G4VPhysicalVolume* pvWorld = 0; + + if(setuptoPV[setupName]) + { + pvWorld = setuptoPV[setupName]; + } + else + { + pvWorld = new G4PVPlacement(0,G4ThreeVector(0,0,0),volume, + volume->GetName()+"_PV",0,0,0); + setuptoPV[setupName] = pvWorld; + } return pvWorld; } + +void G4GDMLReadStructure::Clear() +{ + eval.Clear(); + setuptoPV.clear(); +} diff --git a/source/persistency/gdml/src/G4GDMLWrite.cc b/source/persistency/gdml/src/G4GDMLWrite.cc index b5b2fd68f1..8f7f7b52d5 100644 --- a/source/persistency/gdml/src/G4GDMLWrite.cc +++ b/source/persistency/gdml/src/G4GDMLWrite.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLWrite.cc,v 1.55 2009/04/24 15:34:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLWrite.cc,v 1.58 2010/11/02 10:55:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLWrite Implementation // @@ -44,7 +44,7 @@ G4bool G4GDMLWrite::addPointerToName = true; -G4GDMLWrite::G4GDMLWrite() : extElement(0) +G4GDMLWrite::G4GDMLWrite() : doc(0), extElement(0) { } @@ -154,10 +154,10 @@ G4Transform3D G4GDMLWrite::Write(const G4String& fname, // so clear it only at once! xercesc::XMLString::transcode("LS", tempStr, 99); - xercesc::DOMImplementation* impl = xercesc::DOMImplementationRegistry::getDOMImplementation(tempStr); xercesc::XMLString::transcode("Range", tempStr, 99); - impl = xercesc::DOMImplementationRegistry::getDOMImplementation(tempStr); + xercesc::DOMImplementation* impl = + xercesc::DOMImplementationRegistry::getDOMImplementation(tempStr); xercesc::XMLString::transcode("gdml", tempStr, 99); doc = impl->createDocument(0,tempStr,0); xercesc::DOMElement* gdml = doc->getDocumentElement(); @@ -254,21 +254,25 @@ void G4GDMLWrite::AddModule(const G4VPhysicalVolume* const physvol) { G4Exception("G4GDMLWrite::AddModule()", "InvalidSetup", FatalException, "Invalid NULL pointer is specified for modularization!"); + return; } if (dynamic_cast(physvol)) { G4Exception("G4GDMLWrite::AddModule()", "InvalidSetup", FatalException, "It is not possible to modularize by divisionvol!"); + return; } if (physvol->IsParameterised()) { G4Exception("G4GDMLWrite::AddModule()", "InvalidSetup", FatalException, "It is not possible to modularize by parameterised volume!"); + return; } if (physvol->IsReplicated()) { G4Exception("G4GDMLWrite::AddModule()", "InvalidSetup", FatalException, "It is not possible to modularize by replicated volume!"); + return; } PvolumeMap()[physvol] = fname; diff --git a/source/persistency/gdml/src/G4GDMLWriteDefine.cc b/source/persistency/gdml/src/G4GDMLWriteDefine.cc index eda47e64d4..6c18e2e066 100644 --- a/source/persistency/gdml/src/G4GDMLWriteDefine.cc +++ b/source/persistency/gdml/src/G4GDMLWriteDefine.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLWriteDefine.cc,v 1.19 2009/03/24 15:47:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLWriteDefine.cc,v 1.20 2010/10/14 16:19:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLWriteDefine Implementation // @@ -39,7 +39,8 @@ const G4double G4GDMLWriteDefine::kRelativePrecision = DBL_EPSILON; const G4double G4GDMLWriteDefine::kAngularPrecision = DBL_EPSILON; const G4double G4GDMLWriteDefine::kLinearPrecision = DBL_EPSILON; -G4GDMLWriteDefine::G4GDMLWriteDefine() : G4GDMLWrite() +G4GDMLWriteDefine::G4GDMLWriteDefine() + : G4GDMLWrite(), defineElement(0) { } diff --git a/source/persistency/gdml/src/G4GDMLWriteMaterials.cc b/source/persistency/gdml/src/G4GDMLWriteMaterials.cc index 8e48fe7f47..134ce2b1da 100644 --- a/source/persistency/gdml/src/G4GDMLWriteMaterials.cc +++ b/source/persistency/gdml/src/G4GDMLWriteMaterials.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLWriteMaterials.cc,v 1.24 2009/04/27 07:22:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLWriteMaterials.cc,v 1.26 2010/10/14 16:19:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLWriteMaterials Implementation // @@ -40,13 +40,12 @@ #include "G4Isotope.hh" #include "G4Material.hh" -G4GDMLWriteMaterials:: -G4GDMLWriteMaterials() : G4GDMLWriteDefine() +G4GDMLWriteMaterials::G4GDMLWriteMaterials() + : G4GDMLWriteDefine(), materialsElement(0) { } -G4GDMLWriteMaterials:: -~G4GDMLWriteMaterials() +G4GDMLWriteMaterials::~G4GDMLWriteMaterials() { } @@ -194,8 +193,9 @@ void G4GDMLWriteMaterials::MaterialWrite(const G4Material* const materialPtr) void G4GDMLWriteMaterials::PropertyVectorWrite(const G4String& key, const G4MaterialPropertyVector* const pvec) { + const G4String matrixref = GenerateName(key, pvec); xercesc::DOMElement* matrixElement = NewElement("matrix"); - matrixElement->setAttributeNode(NewAttribute("name", key)); + matrixElement->setAttributeNode(NewAttribute("name", matrixref)); matrixElement->setAttributeNode(NewAttribute("coldim", "2")); std::ostringstream pvalues; for (G4int i=0; iEntries(); i++) @@ -226,7 +226,8 @@ void G4GDMLWriteMaterials::PropertyWrite(xercesc::DOMElement* matElement, { propElement = NewElement("property"); propElement->setAttributeNode(NewAttribute("name", mpos->first)); - propElement->setAttributeNode(NewAttribute("ref", mpos->first)); + propElement->setAttributeNode(NewAttribute("ref", + GenerateName(mpos->first, mpos->second))); PropertyVectorWrite(mpos->first, mpos->second); matElement->appendChild(propElement); } diff --git a/source/persistency/gdml/src/G4GDMLWriteSolids.cc b/source/persistency/gdml/src/G4GDMLWriteSolids.cc index 7446327814..7372899fda 100644 --- a/source/persistency/gdml/src/G4GDMLWriteSolids.cc +++ b/source/persistency/gdml/src/G4GDMLWriteSolids.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLWriteSolids.cc,v 1.65 2009/04/24 15:34:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLWriteSolids.cc,v 1.69 2010/10/14 16:19:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLWriteSolids Implementation // @@ -52,6 +52,7 @@ #include "G4ReflectedSolid.hh" #include "G4Sphere.hh" #include "G4SubtractionSolid.hh" +#include "G4GenericTrap.hh" #include "G4TessellatedSolid.hh" #include "G4Tet.hh" #include "G4Torus.hh" @@ -66,13 +67,12 @@ #include "G4OpticalSurface.hh" #include "G4SurfaceProperty.hh" -G4GDMLWriteSolids:: -G4GDMLWriteSolids() : G4GDMLWriteMaterials() +G4GDMLWriteSolids::G4GDMLWriteSolids() + : G4GDMLWriteMaterials(), solidsElement(0) { } -G4GDMLWriteSolids:: -~G4GDMLWriteSolids() +G4GDMLWriteSolids::~G4GDMLWriteSolids() { } @@ -609,6 +609,38 @@ TorusWrite(xercesc::DOMElement* solidsElement, const G4Torus* const torus) solidsElement->appendChild(torusElement); } +void G4GDMLWriteSolids:: +GenTrapWrite(xercesc::DOMElement* solidsElement, + const G4GenericTrap* const gtrap) +{ + const G4String& name = GenerateName(gtrap->GetName(),gtrap); + + std::vector vertices = gtrap->GetVertices(); + + xercesc::DOMElement* gtrapElement = NewElement("arb8"); + gtrapElement->setAttributeNode(NewAttribute("name",name)); + gtrapElement->setAttributeNode(NewAttribute("dz", + gtrap->GetZHalfLength()/mm)); + gtrapElement->setAttributeNode(NewAttribute("v1x", vertices[0].x())); + gtrapElement->setAttributeNode(NewAttribute("v1y", vertices[0].y())); + gtrapElement->setAttributeNode(NewAttribute("v2x", vertices[1].x())); + gtrapElement->setAttributeNode(NewAttribute("v2y", vertices[1].y())); + gtrapElement->setAttributeNode(NewAttribute("v3x", vertices[2].x())); + gtrapElement->setAttributeNode(NewAttribute("v3y", vertices[2].y())); + gtrapElement->setAttributeNode(NewAttribute("v4x", vertices[3].x())); + gtrapElement->setAttributeNode(NewAttribute("v4y", vertices[3].y())); + gtrapElement->setAttributeNode(NewAttribute("v5x", vertices[4].x())); + gtrapElement->setAttributeNode(NewAttribute("v5y", vertices[4].y())); + gtrapElement->setAttributeNode(NewAttribute("v6x", vertices[5].x())); + gtrapElement->setAttributeNode(NewAttribute("v6y", vertices[5].y())); + gtrapElement->setAttributeNode(NewAttribute("v7x", vertices[6].x())); + gtrapElement->setAttributeNode(NewAttribute("v7y", vertices[6].y())); + gtrapElement->setAttributeNode(NewAttribute("v8x", vertices[7].x())); + gtrapElement->setAttributeNode(NewAttribute("v8y", vertices[7].y())); + gtrapElement->setAttributeNode(NewAttribute("lunit","mm")); + solidsElement->appendChild(gtrapElement); +} + void G4GDMLWriteSolids:: TrapWrite(xercesc::DOMElement* solidsElement, const G4Trap* const trap) { @@ -892,6 +924,9 @@ void G4GDMLWriteSolids::AddSolid(const G4VSolid* const solidPtr) if (const G4Torus* const torusPtr = dynamic_cast(solidPtr)) { TorusWrite(solidsElement,torusPtr); } else + if (const G4GenericTrap* const gtrapPtr + = dynamic_cast(solidPtr)) + { GenTrapWrite(solidsElement,gtrapPtr); } else if (const G4Trap* const trapPtr = dynamic_cast(solidPtr)) { TrapWrite(solidsElement,trapPtr); } else diff --git a/source/persistency/gdml/src/G4GDMLWriteStructure.cc b/source/persistency/gdml/src/G4GDMLWriteStructure.cc index 3cabc97cf2..d40d47cbc9 100644 --- a/source/persistency/gdml/src/G4GDMLWriteStructure.cc +++ b/source/persistency/gdml/src/G4GDMLWriteStructure.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GDMLWriteStructure.cc,v 1.80 2009/04/24 15:34:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GDMLWriteStructure.cc,v 1.83 2010/10/14 16:19:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4GDMLWriteStructure Implementation // @@ -66,6 +66,7 @@ G4GDMLWriteStructure::DivisionvolWrite(xercesc::DOMElement* volumeElement, G4bool consuming = false; divisionvol->GetReplicationData(axis,number,width,offset,consuming); + axis = divisionvol->GetDivisionAxis(); G4String unitString("mm"); G4String axisString("kUndefined"); @@ -73,7 +74,7 @@ G4GDMLWriteStructure::DivisionvolWrite(xercesc::DOMElement* volumeElement, else if (axis==kYAxis) { axisString = "kYAxis"; } else if (axis==kZAxis) { axisString = "kZAxis"; } else if (axis==kRho) { axisString = "kRho"; } - else if (axis==kPhi) { axisString = "kPhi"; unitString = "degree"; } + else if (axis==kPhi) { axisString = "kPhi"; unitString = "rad"; } const G4String name = GenerateName(divisionvol->GetName(),divisionvol); @@ -186,7 +187,8 @@ void G4GDMLWriteStructure::ReplicavolWrite(xercesc::DOMElement* volumeElement, else if(axis==kRho) { dirElement->setAttributeNode(NewAttribute("rho","1")); } else if(axis==kPhi) - { dirElement->setAttributeNode(NewAttribute("phi","1")); } + { dirElement->setAttributeNode(NewAttribute("phi","1")); + unitString="rad"; } replicateElement->appendChild(dirElement); xercesc::DOMElement* widthElement = NewElement("width"); @@ -229,8 +231,15 @@ BorderSurfaceCache(const G4LogicalBorderSurface* const bsurf) if (FindOpticalSurface(psurf)) { - OpticalSurfaceWrite(solidsElement, - dynamic_cast(psurf)); + const G4OpticalSurface* opsurf = + dynamic_cast(psurf); + if (!opsurf) + { + G4Exception("G4GDMLWriteStructure::BorderSurfaceCache()", + "InvalidSetup", FatalException, "No optical surface found!"); + return; + } + OpticalSurfaceWrite(solidsElement, opsurf); } borderElementVec.push_back(borderElement); @@ -258,8 +267,15 @@ SkinSurfaceCache(const G4LogicalSkinSurface* const ssurf) if (FindOpticalSurface(psurf)) { - OpticalSurfaceWrite(solidsElement, - dynamic_cast(psurf)); + const G4OpticalSurface* opsurf = + dynamic_cast(psurf); + if (!opsurf) + { + G4Exception("G4GDMLWriteStructure::SkinSurfaceCache()", + "InvalidSetup", FatalException, "No optical surface found!"); + return; + } + OpticalSurfaceWrite(solidsElement, opsurf); } skinElementVec.push_back(skinElement); diff --git a/source/persistency/gdml/src/G4STRead.cc b/source/persistency/gdml/src/G4STRead.cc index 54e6d5519c..4809fefe24 100644 --- a/source/persistency/gdml/src/G4STRead.cc +++ b/source/persistency/gdml/src/G4STRead.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4STRead.cc,v 1.4 2009/04/24 15:34:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4STRead.cc,v 1.6 2010/11/02 10:39:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // class G4STRead Implementation // @@ -122,8 +122,17 @@ void G4STRead::PhysvolRead(const std::string& line) std::istringstream stream(line.substr(2)); stream >> level >> name >> r1 >> r2 >> r3 >> n1 >> r4 >> r5 >> r6 >> n2 >> r7 >> r8 >> r9 >> n3 >> pX >> pY >> pZ >> n4 >> n5; - - name.resize(name.rfind("_")); + std::string::size_type idx = name.rfind("_"); + if (idx!=std::string::npos) + { + name.resize(idx); + } + else + { + G4Exception("G4STRead::PhysvolRead()", "ReadError", + FatalException, "Invalid input stream!"); + return; + } G4cout << "G4STRead: Placing tessellated solid: " << name << G4endl; diff --git a/source/persistency/mctruth/CMakeLists.txt b/source/persistency/mctruth/CMakeLists.txt new file mode 100644 index 0000000000..6ee02b9d42 --- /dev/null +++ b/source/persistency/mctruth/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4mctruth +# Package: Geant4.src.G4persistency.G4mctruth +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:50:29 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/persistency/mctruth/History b/source/persistency/mctruth/History new file mode 100644 index 0000000000..2ebefc9b0f --- /dev/null +++ b/source/persistency/mctruth/History @@ -0,0 +1,312 @@ + + ========================================================= + 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 * + ---------------------------------------------------------- + +14 October, 10 G.Cosmo (mctruth-V09-03-01) +- Fixed possible case of NULL forward in G4PersistencyCenter class. + +19 July, 10 G.Cosmo (mctruth-V09-03-00) +- Fixed recursive header inclusion in G4PersistencyCenter class. +- Added dummy initialization of data members in constructors in classes: + G4MCTSimParticle, G4MCTSimVertex and G4PersistencyCenter. +- Added History file to 'mctruth' module. + +17 October, 07 G.Cosmo +- Moved existing classes to "mctruth" sub-module; renamed libraries. + +14 November, 06 G.Cosmo (persistency-V08-01-02) +- Cleared trivial compilation warnings in G4PersistencyManager implementation. +- Added setup for retrieving HepMC in case G4LIB_USE_HEPMC is set and the + HEPMC_DIR path defined in the environment. + +30 October, 06 W.Pokorski (persistency-V08-01-01) +- Put 'ifdef G4LIB_USE_HEPMC' in all the places which explicitly use HepMC + classes to allow compilation with CLHEP 2.0.3.0. + +22 August, 06 G.Cosmo (persistency-V08-01-00) +- Get Rid of useless forward declarations in G4MCTEvent and G4MCTGenParticle + header files. Clearing compilation warnings on icc-9.X compilers. + +28 June, 05 G.Cosmo (persistency-V07-01-01) +- Trivial fixes to G4MCTSimParticle and G4MCTSimVertex to support for + CLHEP-2.0.X series. + +28 June, 05 G.Cosmo (persistency-V07-01-00) +- Migration to for G4MCTSimParticle and G4MCTSimVertex. + +07 June, 04 G.Cosmo (persistency-V06-01-00) +- GNUmakefile: added definition of GLOBLIBS for DLLs support on Windows. + +04 October, 03 G.Cosmo (persistency-V05-02-00) +- GNUmakefile: + o replaced "digits+hits" with "digits_hits". +- Coworks with "geometry-V05-02-00" and "digits_hits-V05-02-00". + +04 June, 03 G.Cosmo (persistency-V05-01-01) +- Fixes for inclusion of in G4MCTSimParticle.cc and + G4MCTSimVertex.cc in view of the g4std wrappers migration. +- Fixed warning on SUN-CC for G4PersistencyCenterMessenger. + +30 May, 03 G.Cosmo (persistency-V05-01-00) +- Fixed few pedantic warnings... + +05 February, 03 G.Cosmo (persistency-V05-00-00) +- Corrected inclusion of headers for constant and units from CLHEP. + +04 December, 02 Y.Morita (persistency-V04-01-02) +- G4PersistencyManager.cc: protect for default persistency manager +- G4PersistencyCenter.cc: bug fixes, disable HepMC/MCTruth printout +- GetG4->Get, CurrentG4->Current +- SetG4->Set, RegisterG4->Register, DeleteG4->Delete + +04 December, 02 G.Cosmo (persistency-V04-01-01) +- Corrections to comply to G4 coding rules: + o use of g4std/ headers for STL classes; + o use G4std:: instead of std:: + o use of G4 types (limited to G4bool, G4cout, G4endl, G4cerr) +- Fixes for porting on Windows platform: + o HepMC is not currently supported by CLHEP on Windows, so must be + excluded from compilation on Windows systems. + +29 November, 02 Y.Morita (persistency-V04-01-00) +- tools for developers + +23 November, 02 Y.Morita +- new abstract interface for persistency for release 5.0. +- for actual implementation of HepODBMS and ROOT I/O, see + $G4INSTALL/examples/extended/persistency/README. + +7 December, 01 Y.Morita (persistency-V03-02-02) +- added G4Pglobals.hh to G4PVHits and G4PVDigits for g++ 2.95.2 headers + +6 July, 01 Y.Morita (persistency-V03-02-01) +- added more SRM descriptions + +4 July, 01 Y.Morita (persistency-V03-02-00) +- STL migration: + modified: G4Pglobals.hh, G4PGeometryObjectMap.ddl, G4PGeometryObjectMap.cc + removed: G4VPhysVolRefArray.hh, G4LogVolRefArray.hh G4VSolidRefArray.hh + +21 June, 01 Y.Morita (persistency-V03-01-00) +- new tag for release 3.2 + +28 April, 01 Y.Morita +- Change NULL to 0 + +25 April, 01 G.Cosmo +- Removed redundant declarations of G4ThreeVectorList in CSG schemas: + G4PPara.ddl, G4PSphere.ddl and G4PTrap.ddl. + Required to cowork with recent migration to STL vector of geometry code. + +15 March, 01 Y.Morita (persistency-V03-00-02) +- Updated GNUmakefile for new config. + +14 March, 01 Y.Morita (persistency-V03-00-01) +- G4PDCofThisEvent.ddl: fixed a bug in GetNumberOfCollections() + +08 March, 01 G.Cosmo (persistency-V03-00-00) +- G4Pglobals.hh: substituted inclusion of G4UnitsTest.hh with G4SIUnits.hh + according to tag "global-V03-00-06". + +15 December, 00 Y.Morita (persistency-V02-00-03) +- added more SRM comments + +5 December, 00 Y.Morita (persistency-V02-00-02) +- added SRM comments to some classes + +17 November, 00 Y.Morita (persistency-V02-00-01) +- more workaround on G4PGeometryObjectMap for ooddlx + +2 November, 00 Y.Morita (persistency-V02-00-00) +- created global/include/G4Pglobals.hh +- workaround to protect old ooddlx from new STL syntax. + +9 June, 00 Y.Morita (persistency-V01-00-02) +- added material in G4PersistentGeomMan::Retrieve() + +11 May, 00 Y.Morita (persistency-V01-00-01) +- moved G4PHype from geometry/solids/CSG to geometry/solids/specific +- modified GNUmakefile's to add G4pspecsolids + +23 Feburuary, 00 Y.Morita (persistency-V01-00-00) +- fixed a minor typo in G4PersistentGeomMan.cc + +December 6, 99 Y.Morita (persistency-V00-01-12) +- Bug fix in G4PGeometryObjectMap.cc + +December 5, 99 Y.Morita (persistency-V00-01-11) +- added G4PPrimaryParticle + +December 2, 99 Y.Morita (persistency-V00-01-10) +- bug fix in G4PHCofThisEvent, G4PHCofThisEvent, G4PersistentEventMan + +December 1, 99 Y.Morita (persistency-V00-01-09) +- fix for HP-aCC, Geant4 NamedSchema +- added G4TMPDIR to GNUmakefile include path + +November 29, 99 Y.Morita (persistency-V00-01-08) +- bug fix for persistent hits (works with PersistentEx02-V00-01-01) + +November 26, 99 Y.Morita +- Introduced G4TransactionManager for sustained transaction control + +November 23, 99 Y.Morita (persistency-V00-01-07) +- bug fix in G4PersistentEventMan, G4PersistentGeomMan, G4PersistentRunMan +- use /db commands + +November 22, 99 Y.Morita +- added digits+hits/digits +- removed dependency of transient hits +- introduced G4PersistencyMessenger + +November 20, 99 Y.Morita +- Introduced G4PersistentSchema.hh to use Geant4 named schema + (requires config-V00-01-12) + +November 19, 99 Y.Morita (persistency-V00-01-06) +- bug fixes in G4PersistentEventMan.cc and G4PersistentRunMan.cc + +November 18, 99 Y.Morita +- Use absolute path in GNUmakefile to include right dependencies for liblist +- bug fixes in G4PBooleanSolid, G4PersistentEventMan + +November 17, 99 Y.Morita +- Move schema header files from tmp to schema/include (requires new config) + +November 16, 99 Y.Morita +- more fix on circular dependencies: + + Moved G4PVSolids and G4PAffineTransform to pgeomGlobal + + G4PersistencyManager: Splitted classes into separate objects + + Added G4PersistentHitMan + +November 12, 99 Y.Morita +- GNUmakefile fix for dependency files +- Use d_Varray> instead of HepRefVArray() + +November 12, 99 Y.Morita (persistency-V00-01-05) +- Fix for RW->G4RW changes +- Bug fixes: + +Container of PrimaryVertex in G4PEvent + +Association of Boolean Solids + +November 10, 99 Y.Morita (persistency-V00-01-04) +- Added Boolean Solid Types + +November 9, 99 Y.Morita (persistency-V00-01-03) +- Bug fix in G4PEvent, G4PHCofThisEvent, G4PVHitsCollection, + G4PersistencyManager, G4PersistentEventMan +- Mod GNUmakefile + +November 8, 99 Y.Morita (persistency-V00-01-02) +- Modified HepVArray/HepRefVArray to d_Varray<>, d_Varray> +- Modified ooRef() to d_Ref<> +- Some mod G4int to G4Pint +- G4PEvent: Set associations to G4PPrimaryVertex, G4PHCofThisEvent +- Created G4PVHitsCollection and G4PHCofThisEvent + +November 4, 99 Y.Morita +- ./GNUmakefile: Added G4phits +- digits+hits/hits/GNUmakefile: + Added G4OODDLX_BOOT + Added explicit dependencies of G4PHCofThisEvent.hh: G4PVHitsCollection.hh +- moved G4PLogicalVolume from persistency/geometry/volumes to + persistency/geometry/management to avoid circular dependency +- G4PersistencyManager: Allow constructor with the name of Boot file + +October 27, 99 J.Allison +- Created persistency/global/include. +- Moved management/include/G4PersistentTypes.hh to global/include. +- Modified GNUmakefiles to add persistency/global/include to -I path. + +October 21, 99 Y.Morita (persistency-V00-01-01) +- One more bug fix in G4PEvent.cc (thePrimaryVertex) + +October 8, 99 Y.Morita (persistency-V00-01-00) +- GNUmakefile changes for G4TMPSCHEMA_BOOT (requires config-V00-01-01) +- Bug fix in G4PEvent.cc (thePrimaryVertex) + +April 29, 99 Y.Morita (persistency-00-04-01) +- removed overlapping definition of HepRefVArray for G4PVPhysicalVolume + in G4PGeometryObjectMap.cc +- Fixed a typo in G4PersistentGeomMan.cc + +November 15, 98 Y.Morita (persistency-00-03-03) +- Fix bug in G4PVPhysicalVolume.cc + +November 10, 98 Y.Morita (persistency-00-03-02) +- G4PersistentGeomMan now handle Replica geometry + +November 10, 98 Y.Morita (persistency-00-03-01) +- G4PersistencyManager splitted into G4PersistentEventMan, + G4PersistentGeomMan, G4PersistentRunMan +- G4Run is now persistent + +July 23, 98 Y.Morita (persistency-00-01-09) +- G4PVPhysicalVolume: protect declare of d_Double with + OO_VARRAY_D_DOUBLE for different version of HepODBMS +- G4PVPhysicalVolume: added G4Exception for restoring rotation matrix + (for now) + +July 15, 98 Y.Morita (persistency-00-01-08) +- revised "cleandb" target in GNUmakefile +- g4odbms_setup.csh cosmetics + +July 15, 98 Y.Morita (persistency-00-01-07) +- absorb oodlx compiler differences on CERN AIX-AFS + +July 14, 98 Y.Morita (persistency-00-01-06) +- Bug fix on store geometry +- added G4ODBMS := true to GNUmakefile + +July 11, 98 Y.Morita (persistency-00-01-05) +- script clean up for test/g4odbms_setup.csh + +July 10, 98 Y.Morita (persistency-00-01-04) +- updated test/GNUmakefile +- fixed a bug in G4PersistencyManager +- digits+hits/hits added + +July 10, 98 Y.Morita (persistency-00-01-03) +- moved GNUmakefile targes 'headers' and 'd_files' to common.gmk and + globlib.gmk. +- a few bug fix in G4PPVPlacement.cc, G4PVSolid.cc, + G4PGeometryObjectMap.ddl, G4PersistencyManager.hh, + G4PGeometryObjectMap.cc, G4PersistencyManager.cc + +July 9, 98 Y.Morita +- new GNUmakefile for pre-beta01 (persistency-00-01-02) + +July 8, 98 Y.Morita +- debug physics volume and logical volume (persistency-00-01-01) + +June 30, 98 Y.Morita +- added geometry persistency: (persistency-00-07-01) + +June 15, 98 Y.Morita +- made new subcategories: digits+hits, geometry, events, management, run + +June 11, 98 Y.Morita (persistency-00-06-01) +- G4PersistencyManager uses HepDbApplication rather than inherit +- Tagged. + +April 21, 98 G.Cosmo (persistency-00-05-01) +- Tagged. + +March 24, 98 G.Barrand +- GNUmakefile : MAKESHLIB changed in G4MAKESHLIB + +March 24, 98 G.Barrand +- Creation of this file. diff --git a/source/persistency/mctruth/include/G4PersistencyCenter.hh b/source/persistency/mctruth/include/G4PersistencyCenter.hh index bef1e7b629..e4babb8d3d 100644 --- a/source/persistency/mctruth/include/G4PersistencyCenter.hh +++ b/source/persistency/mctruth/include/G4PersistencyCenter.hh @@ -36,9 +36,7 @@ #include #include #include "G4HCIOcatalog.hh" -#include "G4VHCIOentry.hh" #include "G4DCIOcatalog.hh" -#include "G4VDCIOentry.hh" #ifndef WIN32 #include "G4FileUtilities.hh" diff --git a/source/persistency/mctruth/sources.cmake b/source/persistency/mctruth/sources.cmake new file mode 100644 index 0000000000..2924160455 --- /dev/null +++ b/source/persistency/mctruth/sources.cmake @@ -0,0 +1,113 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4mctruth +# Package: Geant4.src.G4persistency.G4mctruth +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:50:38 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/event/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/run/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4mctruth + HEADERS + G4DCIOcatalog.hh + G4DCIOentryT.hh + G4FileUtilities.hh + G4HCIOcatalog.hh + G4HCIOentryT.hh + G4MCTEvent.hh + G4MCTGenEvent.hh + G4MCTGenParticle.hh + G4MCTSimEvent.hh + G4MCTSimParticle.hh + G4MCTSimVertex.hh + G4PersistencyCenter.hh + G4PersistencyCenterMessenger.hh + G4PersistencyManager.hh + G4PersistencyManagerT.hh + G4Pevent.hh + G4VDCIOentry.hh + G4VHCIOentry.hh + G4VHepMCIO.hh + G4VMCTruthIO.hh + G4VPDigitIO.hh + G4VPDigitsCollectionIO.hh + G4VPEventIO.hh + G4VPHitIO.hh + G4VPHitsCollectionIO.hh + G4VTransactionManager.hh + SOURCES + G4DCIOcatalog.cc + G4FileUtilities.cc + G4HCIOcatalog.cc + G4MCTEvent.cc + G4MCTGenEvent.cc + G4MCTSimEvent.cc + G4MCTSimParticle.cc + G4MCTSimVertex.cc + G4PersistencyCenter.cc + G4PersistencyCenterMessenger.cc + G4PersistencyManager.cc + G4Pevent.cc + G4VDCIOentry.cc + G4VHCIOentry.cc + G4VHepMCIO.cc + G4VMCTruthIO.cc + G4VPDigitIO.cc + G4VPDigitsCollectionIO.cc + G4VPEventIO.cc + G4VPHitIO.cc + G4VPHitsCollectionIO.cc + GRANULAR_DEPENDENCIES + G4digits + G4event + G4geometrymng + G4globman + G4hits + G4intercoms + G4partman + G4run + G4track + G4tracking + GLOBAL_DEPENDENCIES + G4digits_hits + G4event + G4geometry + G4global + G4intercoms + G4particles + G4run + G4track + G4tracking + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/persistency/mctruth/src/G4MCTSimParticle.cc b/source/persistency/mctruth/src/G4MCTSimParticle.cc index f7716792a4..86003c197c 100644 --- a/source/persistency/mctruth/src/G4MCTSimParticle.cc +++ b/source/persistency/mctruth/src/G4MCTSimParticle.cc @@ -42,7 +42,7 @@ ///////////////////////////////// G4MCTSimParticle::G4MCTSimParticle() - : parentParticle(0), + : parentParticle(0), pdgID(0), trackID(0), parentTrackID(0), primaryFlag(false), vertex(0), storeFlag(false) diff --git a/source/persistency/mctruth/src/G4MCTSimVertex.cc b/source/persistency/mctruth/src/G4MCTSimVertex.cc index 1a220e7e18..1bf7126c7a 100644 --- a/source/persistency/mctruth/src/G4MCTSimVertex.cc +++ b/source/persistency/mctruth/src/G4MCTSimVertex.cc @@ -42,7 +42,7 @@ ///////////////////////////////////// G4MCTSimVertex::G4MCTSimVertex() - : inParticleTrackID(0),id(-1), + : inParticleTrackID(0),id(-1), time(0.), volumeName(""), volumeNumber(-1), creatorProcessName("none"), storeFlag(false) diff --git a/source/persistency/mctruth/src/G4PersistencyCenter.cc b/source/persistency/mctruth/src/G4PersistencyCenter.cc index af0d3d5e3a..ec4bce5732 100644 --- a/source/persistency/mctruth/src/G4PersistencyCenter.cc +++ b/source/persistency/mctruth/src/G4PersistencyCenter.cc @@ -36,6 +36,8 @@ // Addtional Include: #include "G4UImanager.hh" #include "G4PersistencyManager.hh" +#include "G4VHCIOentry.hh" +#include "G4VDCIOentry.hh" G4PersistencyCenter* G4PersistencyCenter::f_thePointer=G4PersistencyCenter::GetPersistencyCenter(); @@ -73,9 +75,12 @@ G4PersistencyCenter::G4PersistencyCenter() f_currentManager = new G4PersistencyManager(this, "Default"); } -// Implementation of Constructor #2 -G4PersistencyCenter::G4PersistencyCenter(const G4PersistencyCenter&) -{} +// Fake implementation of Copy Constructor +G4PersistencyCenter::G4PersistencyCenter(const G4PersistencyCenter& c) + : f_theMessenger(0), f_currentManager(0), m_verbose(0) +{ + *this = c; +} // Implementation of Destructor #1 G4PersistencyCenter::~G4PersistencyCenter() @@ -95,18 +100,13 @@ G4PersistencyCenter* G4PersistencyCenter::GetPersistencyCenter() // Implementation of SelectSystem void G4PersistencyCenter::SelectSystem(std::string systemName) { - int st = 0; + G4int st = 0; if (f_currentManager!=0) delete f_currentManager; G4PersistencyManager* pm = 0; - if (systemName=="None") - { - G4cout<<" G4PersistencyCenter: Default is selected."<< G4endl; - pm = new G4PersistencyManager(this, "Default"); - } - else if (systemName=="ROOT") + if (systemName=="ROOT") { G4cout<<" G4PersistencyCenter: \"ROOT\" Persistency Package is selected." <Create(); if (f_currentManager!=0) f_currentManager->SetVerboseLevel(m_verbose); diff --git a/source/physics_lists/CMakeLists.txt b/source/physics_lists/CMakeLists.txt new file mode 100644 index 0000000000..1b92e082ec --- /dev/null +++ b/source/physics_lists/CMakeLists.txt @@ -0,0 +1,26 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4physicslists +# Package: Geant4.src.G4physicslists +# +# Top level CMakeLists.txt for a Geant4 Global Library +# or collection of sublibraries +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:50:46 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(builders) +add_subdirectory(lists) + +if(NOT GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GLOBAL_LIBRARY_TARGET(NAME G4physicslists + COMPONENTS + builders/sources.cmake + lists/sources.cmake +) +endif() + diff --git a/source/physics_lists/History b/source/physics_lists/History index d78b6bc7a1..de72b444fc 100644 --- a/source/physics_lists/History +++ b/source/physics_lists/History @@ -1,4 +1,4 @@ -q$Id: History,v 1.119 2009/12/04 13:09:12 gcosmo Exp $ +q$Id: History,v 1.171 2010/11/25 07:44:55 sincerti Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,245 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +25-11-2010, S.Incerti (phys-lists-V09-03-43) +- changed default elastic model in G4EmDNAPhysics.cc + +22-11-2010, G.Folger (phys-lists-V09-03-42) +- Fix bug in QGSP_BERT_CHIPS physics list, Kaon cross sections are in CHIPS + process, not in hadronic framework. + +22-11-2010, G.Folger (phys-lists-V09-03-41) +- Fix bug in new G4CHIPSKaonBuilder + +21-11-2010, V.Ivanchenko (phys-lists-V09-03-40) +- G4EmStandardPhysics_option1 - enable back ApplyCuts option (CPU effect) +- G4EmStandardPhysics_option2, G4EmStandardPhysics_option3 - minor cleanup +- QGS_BIC: using G4NeutronCrossSectionXS +- QBBC: + +19-11-2010, V.Ivanchenko (phys-lists-V09-03-39) +- G4PhysListFactory - removed obsolete Physics Lists (26 are supported) +- QBBC - simplified, only one variant left; +- G4HadronInelasticQBBC - simplified +- QGS_BIC and FTF_BIC use G4NeutronXS cross sections + +18-11-2010, G.Folger, V.Ivanchenko (phys-lists-V09-03-38) +GF: +- use crosssection with relativistic rise also in all G4QGSBinary, FTFP and + FTFBinary builders. +- restore QGSP to be obsolete, not unusable, i.e. remove G4Exception. +- allow to seperate physics for pion and Kaon, i.e. seperate builders + G4{V,}{Pion,Kaon}Builder, G4{LEP,Bertini, QGSP}PionBuilder, and + G4ChipKaonBuilder. +- in QGSP_BERT_CHIPS, use Chip G4QInelastic via G4ChipKaonBuilder for Kaons. +- delete physics lists: + - remove previously blocked lists (FTFP_EMV, QGSC_EFLOW, QGSP_EMX) + - remove obsolete lists, except QGSP ( now blocked) and QGSC_CHIPS, + ie. removed FTFC, FTFP, LHEP_BERT_HP, LHEP_BERT, LHEP_PRECO_HP, + QGSC_EMV, QGSC, QGSC_QGSC, QGSP_BERT_DIF, QGSP_BERT_NQE, + QGSP_DIF, QGSP_EMV, QGSP_EMV_NQE, QGSP_NQE, QGSP_QE +V.I: +- G4EmStandardPhysics_option1 - added WentzelVI model for muons; + disable ApplyCut option for compatibility with 9.2; this option + can be defined by user via UI command or G4EmProcessOptions class + +17-11-2010, G.Folger (phys-lists-V09-03-37) +- in builders G4QGSP{Proton, Neutron,Pik}Builder, use crosssection with + relativistic rise, using a combination of previously used cross section + and G4GlauberGribovCrossSection above 91 GeV. + +10-11-2010, V.Ivanchenko (phys-lists-V09-03-36) +- G4EmStandardPhysics_option2 - added BS angular generator for + bremsstrahlung, use default msc model for e+- +- G4EmStandardPhysics_option3 - comment out Raylaigh to have better + CPU performance +- G4EmLivermorePolarizedPhysics - F.Longo provided updated + models + +08-11-2010, S.Incerti (phys-lists-V09-03-35) +- switched elastic model in G4DNA physics builder + +03-11-2010, P.Gumplinger (phys-lists-V09-03-34) +- correctly implement the new option SetScintillationByParticleType + in G4OpticalPhysics + +02-11-2010, P.Gumplinger (phys-lists-V09-03-33) +- Make ConstructProcess and ConstructParticle methods public + in G4OpticalPhysics + +28-10-2010, P.Gumplinger (phys-lists-V09-03-32) +- Add SetScintillationByParticleTypeCmd and associated methods + +23-10-2010, P.Gumplinger (phys-lists-V09-03-31) +- Add the G4OpMieHG scattering process to G4OpticalPhysics builder + +20-10-2010, L.Pandola (phys-lists-V09-03-30) +- updated physics list LBE to comply with the new EM design + (use Livermore models rather than LowEnergy processes) + +20-10-2010, L.Pandola (phys-lists-V09-03-30) +- updated physics list LBE to comply with the new EM design + (use Livermore models rather than LowEnergy processes) + +10-10-2010, V.Ivanchenko (phys-lists-V09-03-29) +- anti_deuteron, anti_triton, anti_alpha, anti_He3 are included + in all builders except DNA +- G4EmStandardPhysics - WentzelVI model for multiple scattering and + G4CoulombScattering process for muons are added +- G4EmStandardPhysics_option2 - WentzelVI model for multiple scattering + is added for pi+-, kaon+-, protons, single scattering + model is not added, because hadron elastic process + should be used + +08-10-2010, S. Incerti (phys-lists-V09-03-28) +- Added new H excitation model to G4EmDNAPhysics.cc in builders + +30-09-2010, G.Folger (phys-lists-V09-03-27) +- Further Bug fix in G4IonQMDPhysics: use QMD for d, alpha + +24-09-2010, V.Ivanchenko (phys-lists-V09-03-26) +- G4HadronElasticPhysics - attempt to use exactly the same cross section + for p and n as in 9.4beta + +23-09-2010, V.Ivanchenko (phys-lists-V09-03-25) +- G4HadronElasticPhysics, G4HadronElasticPhysicsHP - added CHIPS cross + sections for p and n on Hydrogen and Helium targets +- G4PhysicsListFactory - return NULL if the name is wrong + +09-09-2010, S.Incerti (phys-lists-V09-03-24) +- Added new e- G4DNA processes to G4EmDNAPhysics.cc in builders + +30-08-2010, G.Folger (phys-lists-V09-03-23) +- Bug fix in G4IonQMDPhysics: wrong energy limit for overlap with BIC + +25-08-2010, G.Folger (phys-lists-V09-03-22) +- Correct obsolete ctor of G4HadronElasticPhysics in header + +24-08-2010, V.Ivanchenko (phys-lists-V09-03-21) +- don't use + +17-08-2010, V.Ivanchenko (phys-lists-V09-03-20) +- Obsolete G4ParticleWithCut.hh header removed from many .icc files + by H.Kurashige + +30-07-2010, V.Ivanchenko (phys-lists-V09-03-19) +- In all EM builders use G4ionIonisation for He3 and He4 ions + +29-07-2010, V.Ivanchenko (phys-lists-V09-03-18) +- G4IonBinaryCascadePhysics - added G4IonProtonCrossSection + +29-07-2010, V.Ivanchenko (phys-lists-V09-03-17) +- G4DataQuestionaire - for optical physics G4REALSURFACEDATA is checked + instead of G4LEDATA (bug report #1125), the check is disabled, because + not clear if this dataset is mandatory or not; check on new + G4NEUTRONXSDATA is added +- QBBC - added check on G4NEUTRONXSDATA, use G4HadronElasticPhysics +- G4NeutronCrossSectionXS - added check on G4NEUTRONXSDATA +- G4HadronElasticPhysics renamed to G4HadronElasticPhysics93 +- G4HadronHElasticPhysics is copied to G4HadronElasticPhysics +- QGSP_BERT_EMV use G4HadronElasticPhysics instead of G4HadronHElasticPhysics +- G4HadronHElasticPhysics is marked as obsolete + +19-06-2010, V.Ivanchenko (phys-lists-V09-03-16) +- G4FTFPNeutronBuilder, G4FTFPPiKBuilder, G4FTFPProtonBuilder, + G4QGSPNeutronBuilder, G4QGSPPiKBuilder, G4QGSPProtonBuilder + G4QGSBuilder - added deletion of G4ExcitationHandler, G4QGSMFragmentation + HadronPhysicsQGSP_BERT, HadronPhysicsFTFP_BERT, + HadronPhysicsQGSP_FTFP_BERT - added deletion of neutron builder + +11-06-2010, G.Folger (phys-lists-V09-03-15) +- fix compilation error in G4QPhotoNuclearPhysics + +11-06-2010, G.Folger (phys-lists-V09-03-14) +- tag changes of Vladimir & Mikhail + +11-06-2010, V.Ivanchenko +- G4EmStandardPhysics_option2 - RangeFactor for e+- is set to 0.04 + +10-06-2010, M. Kosov (*** Not tagged ***) +reset of theParticleIterator in G4QPhotoNuclearPhysics + +08-06-2010, G.Folger (phys-lists-V09-03-13) +- Add Shielding list together with Tatsumi. This list is: + - based on FTFP_BERT + - using IonQMDPhysics, instead of LHEP ion physics + - Neutron_HP + - and Barashenkov + Glauber Gribov cross section via G4BGGNucleonInelasticXS + for neutron and proton + - and JENDL HE cross sections for neutrons + +08-06-2010, G.Folger (phys-lists-V09-03-12) +- 3 more fixes for compilation warnings on unused variables. + +07-06-2010, G.Folger (phys-lists-V09-03-11) +- remove few leftover declarations for G4bool Quasielastic in .icc files + for physics lists, not used any longer + +04-06-2010, G.Folger (phys-lists-V09-03-10) +- New ctor for G4NeutronTrackingCut +- Use new ctors in physics lists +- QGSP_FTFP_BERT becomes supported (was experimental) +- remove previously blocked lists (FTFP_EMV, QGSC_EFLOW, QGSP_EMX) +- remove obsolete lists, except QGSP ( now blocked) and QGSC_CHIPS, + ie. removed FTFC, FTFP, LHEP_BERT_HP, LHEP_BERT, LHEP_PRECO_HP, + QGSC_EMV, QGSC, QGSC_QGSC, QGSP_BERT_DIF, QGSP_BERT_NQE, + QGSP_DIF, QGSP_EMV, QGSP_EMV_NQE, QGSP_NQE, QGSP_QE + + +04-06-2010, M. Kosov (phys-lists-V09-03-09) +particles're restricted to SU(3) hadrons (no pi0 & eta) in G4QElasticPhysics + +04-06-2010, M. Kosov (phys-lists-V09-03-08) +bug fix for the virtual distructor in G4QElasticPhysics & G4QIonPhysics + +03-June, V.Ivanchenko, G.Folger (phys-lists-V09-03-07) +- Introduce new ctor for all builders with signature + AbcPhysics::AbcPhyics(G4int ver=value); + Existing ctor kept, but updated default arguments to avoid ambigous + signatures. Physicslist not changed to use new ctor yet. + + +03-06-2010, M. Kosov (phys-lists-V09-03-06) +- G4QElasticPhysics substitute for G4HadronQElasticPhysics in the CHIPS Physics List +- G4QIonPhysics substitute for G4IonPhysics in the CHIPS Physics ListList. + +02-06-2010, V.Ivanchenko (phys-lists-V09-03-05) +- G4EmStandardPhysics_option2 - added G4WentzelVIMscModel for e+- +- G4EmLivermorePhysics, G4EmPenelopePhysics, G4EmDNAPhysics, + G4EmLivermorePolarizedPhysics - added G4GoudsmitSaundersonMscModel for e+-; + - added 1 MeV upper limit for the Livermore + ionisation model (was 1 GeV) + +02-06-2010, G.Folger (phys-lists-V09-03-04) +- revise QGSP_FTFP_BERT and FTFP_BERT to + - Use CHIPS G4QInelastic for all "misc" particles, including + anti-proton, anti-neutron and hyperons. + - Use interface to CHIPS cross sections G4QHadronInelasticDataSet + for Kaons. + required changes to respective HadronPhysics... classes. + +26-05-2010, G.Folger (phys-lists-V09-03-03) +- new physics list QGSP_BERT_CHIPS: Use CHIPS G4QInelastic for all + "misc" particles, including anti-proton, anti-neutron and hyperons. + Also use interface to CHIPS cross sections G4QHadronInelasticDataSet + for Kaons. + added classes: QGSP_BERT_CHIPS, HadronPhysicsQGSP_BERT_CHIPS, and + G4MiscCHIPSBuilder + modifed G4PhysListFactory to make new list available. + +19-05-2010, V.Ivanchenko (phys-lists-V09-03-02) +- QBBC - disable multi fragmentation model of deexcitation + +12-04-2010, V.Ivanchenko (phys-lists-V09-03-01) +- LBE - Substituted obsolete G4MultipleScattering by particle wise + msc processes + +29-12-2009, V.Ivanchenko (phys-lists-V09-03-00) +- QBBC - fixed hadron inelastic configuration; instantiated + G4PreCompoundModel and its pointer propagated to + all high energy models; use CHIPS for anti-protons + to avoid crash in FTF + 04-12-2009, K.Murakami (phys-lists-V09-02-46) - Fixed typo in FTFP_EMV.icc for wrong call to G4WarnPLStatus. @@ -595,7 +834,7 @@ G4EmStandardPhysics_option3 - added G4LowEnergyRayleigh, set 120 bins - define StepFunction of e+ and e- (1.0, 1.0*mm) for G4EmStandardPhysics71 in order to have backward compatibility with the previous release -02.12.2005, G.Folger & V.Ivantchenko - phys-lists-V07-01-01 +02.12.2005, G.Folger & V.Ivanchenko - phys-lists-V07-01-01 - Includes tags: emphys-V07-01-01 and hadr-lists-V07-01-02. - Implemented migration of physics lists to non static particles scheme. diff --git a/source/physics_lists/builders/CMakeLists.txt b/source/physics_lists/builders/CMakeLists.txt new file mode 100644 index 0000000000..76460d3c49 --- /dev/null +++ b/source/physics_lists/builders/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4phys_builders +# Package: Geant4.src.G4physicslists.G4phys_builders +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:50:54 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/physics_lists/builders/include/G4BertiniPionBuilder.hh b/source/physics_lists/builders/include/G4BertiniPionBuilder.hh new file mode 100644 index 0000000000..b3584854ac --- /dev/null +++ b/source/physics_lists/builders/include/G4BertiniPionBuilder.hh @@ -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. * +// ******************************************************************** +// +// $Id: G4BertiniPionBuilder.hh,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4BertiniPionBuilder +// +// Author: 2010 G.Folger +// devired from G4BertiniPiKBuilder +// +// Modified: +// 30.03.2009 V.Ivanchenko create cross section by new +// +//---------------------------------------------------------------------------- +// +#ifndef G4BertiniPionBuilder_h +#define G4BertiniPionBuilder_h 1 + +#include "globals.hh" + +#include "G4HadronElasticProcess.hh" +#include "G4HadronFissionProcess.hh" +#include "G4HadronCaptureProcess.hh" +#include "G4NeutronInelasticProcess.hh" +#include "G4VPionBuilder.hh" + +#include "G4PiNuclearCrossSection.hh" +#include "G4CascadeInterface.hh" + +class G4BertiniPionBuilder : public G4VPionBuilder +{ + public: + G4BertiniPionBuilder(); + virtual ~G4BertiniPionBuilder(); + + public: + virtual void Build(G4HadronElasticProcess * aP); + virtual void Build(G4PionPlusInelasticProcess * aP); + virtual void Build(G4PionMinusInelasticProcess * aP); + + void SetMinEnergy(G4double aM) {theMin = aM;} + void SetMaxEnergy(G4double aM) {theMax = aM;} + + private: + G4PiNuclearCrossSection* thePiData; + G4CascadeInterface * theModel; + G4double theMin; + G4double theMax; + +}; +#endif + diff --git a/source/physics_lists/builders/include/G4ChargeExchangePhysics.hh b/source/physics_lists/builders/include/G4ChargeExchangePhysics.hh index 360f8b0ce7..975656c6b7 100644 --- a/source/physics_lists/builders/include/G4ChargeExchangePhysics.hh +++ b/source/physics_lists/builders/include/G4ChargeExchangePhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ChargeExchangePhysics.hh,v 1.1 2008/11/20 12:38:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ChargeExchangePhysics.hh,v 1.2 2010/06/03 14:37:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -48,7 +48,8 @@ class G4ChargeExchange; class G4ChargeExchangePhysics : public G4VPhysicsConstructor { public: - G4ChargeExchangePhysics(G4int ver = 0, G4bool glauber = false); + G4ChargeExchangePhysics(G4int ver = 0); + G4ChargeExchangePhysics(G4int ver, G4bool glauber); virtual ~G4ChargeExchangePhysics(); public: @@ -60,7 +61,6 @@ public: // each physics process will be instantiated and // registered to the process manager of each particle type virtual void ConstructProcess(); - private: G4ChargeExchange* model; diff --git a/source/physics_lists/lists/include/QGSP_EMV.hh b/source/physics_lists/builders/include/G4ChipsKaonBuilder.hh similarity index 75% rename from source/physics_lists/lists/include/QGSP_EMV.hh rename to source/physics_lists/builders/include/G4ChipsKaonBuilder.hh index 4536a10247..56ac68f7e8 100644 --- a/source/physics_lists/lists/include/QGSP_EMV.hh +++ b/source/physics_lists/builders/include/G4ChipsKaonBuilder.hh @@ -23,47 +23,40 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_EMV.hh,v 1.1 2006/10/31 11:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // -// ClassName: QGSP_EMV +// ClassName: G4ChipsKaonBuilder // -// Author: 2005 V.Ivanchenko +// Author: 2010 G.Folger // // Modified: // //---------------------------------------------------------------------------- // +#ifndef G4ChipsKaonBuilder_h +#define G4ChipsKaonBuilder_h -#ifndef TQGSP_EMV_h -#define TQGSP_EMV_h 1 - -#include "G4VModularPhysicsList.hh" #include "globals.hh" -#include "CompileTimeConstraints.hh" +#include "G4ios.hh" -template -class TQGSP_EMV: public T +#include "G4ParticleDefinition.hh" +#include "G4QInelastic.hh" + +class G4ChipsKaonBuilder { -public: - TQGSP_EMV(G4int ver = 1); - virtual ~TQGSP_EMV(); - -public: - // SetCuts() - virtual void SetCuts(); - -private: - enum {ok = CompileTimeConstraints::IsA::ok }; + public: + G4ChipsKaonBuilder(G4int verb=0); + ~G4ChipsKaonBuilder(); + + public: + void Build(); + + private: + G4QInelastic * theInelastic; + G4int verb; + + void attachProcess(G4ParticleDefinition * pDef); }; -#include "QGSP_EMV.icc" -typedef TQGSP_EMV QGSP_EMV; - -// 2002 by J.P. Wellisch - #endif - - - diff --git a/source/physics_lists/builders/include/G4DataQuestionaire.hh b/source/physics_lists/builders/include/G4DataQuestionaire.hh index c765e921a4..ad2e7896c2 100644 --- a/source/physics_lists/builders/include/G4DataQuestionaire.hh +++ b/source/physics_lists/builders/include/G4DataQuestionaire.hh @@ -32,17 +32,18 @@ #include "G4ProtonInelasticProcess.hh" #include "G4VPiKBuilder.hh" -enum G4DataType {no, photon, neutron, radioactive, lowenergy, optical}; +enum G4DataType {no, photon, neutron, radioactive, lowenergy, optical, neutronxs}; class G4DataQuestionaire { public: - G4DataQuestionaire(G4DataType t1=no, G4DataType t2=no, G4DataType t3=no, G4DataType t4=no, G4DataType t5=no) + G4DataQuestionaire(G4DataType t1=no, G4DataType t2=no, G4DataType t3=no, + G4DataType t4=no, G4DataType t5=no, G4DataType t6=no) { G4cout << G4endl; G4cout << "<<< Geant4 Physics List engine packaging library: PACK 5.5"< -class TQGSP_BERT_NQE: public T +class G4HadronElasticPhysicsXS : public G4VPhysicsConstructor { -public: - TQGSP_BERT_NQE(G4int ver = 1); - virtual ~TQGSP_BERT_NQE(); - -public: - // SetCuts() - virtual void SetCuts(); +public: + + G4HadronElasticPhysicsXS(G4int ver = 1); + + virtual ~G4HadronElasticPhysicsXS(); + + // 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(); private: - enum {ok = CompileTimeConstraints::IsA::ok }; + + G4int verbose; + G4bool wasActivated; }; -#include "QGSP_BERT_NQE.icc" -typedef TQGSP_BERT_NQE QGSP_BERT_NQE; - -// 2002 by J.P. Wellisch #endif + + + + + diff --git a/source/physics_lists/builders/include/G4HadronHElasticPhysics.hh b/source/physics_lists/builders/include/G4HadronHElasticPhysics.hh index b2fff49e22..fdd5c8b5d3 100644 --- a/source/physics_lists/builders/include/G4HadronHElasticPhysics.hh +++ b/source/physics_lists/builders/include/G4HadronHElasticPhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronHElasticPhysics.hh,v 1.4 2009/11/28 17:35:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HadronHElasticPhysics.hh,v 1.5 2010/06/03 11:04:33 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -42,19 +42,18 @@ #include "globals.hh" #include "G4VPhysicsConstructor.hh" -#include "G4UHadronElasticProcess.hh" -#include "G4HadronElastic.hh" -#include "G4NeutronHPElastic.hh" -#include "G4NeutronHPElasticData.hh" class G4HadronHElasticPhysics : public G4VPhysicsConstructor { public: - G4HadronHElasticPhysics(G4int ver = 0, G4bool hp = false, - const G4String& type = ""); + + G4HadronHElasticPhysics(G4int ver = 0); + + // obsolete + G4HadronHElasticPhysics(G4int ver, G4bool hp, const G4String& type=""); + virtual ~G4HadronHElasticPhysics(); -public: // This method will be invoked in the Construct() method. // each particle type will be instantiated virtual void ConstructParticle(); @@ -67,9 +66,7 @@ public: private: G4int verbose; - G4bool hpFlag; G4bool wasActivated; - G4String subtype; }; diff --git a/source/physics_lists/builders/include/G4HadronQElasticPhysics.hh b/source/physics_lists/builders/include/G4HadronQElasticPhysics.hh index 0419a3d243..eb77233a19 100644 --- a/source/physics_lists/builders/include/G4HadronQElasticPhysics.hh +++ b/source/physics_lists/builders/include/G4HadronQElasticPhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronQElasticPhysics.hh,v 1.1 2006/11/17 19:19:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4HadronQElasticPhysics.hh,v 1.2 2010/06/03 11:04:33 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -49,11 +49,14 @@ class G4QElastic; class G4HadronQElasticPhysics : public G4VPhysicsConstructor { public: - G4HadronQElasticPhysics(const G4String& name = "elastic", - G4int ver = 1); + + G4HadronQElasticPhysics(G4int ver = 1); + + // obsolete + G4HadronQElasticPhysics(const G4String& name, G4int ver); + virtual ~G4HadronQElasticPhysics(); -public: // This method will be invoked in the Construct() method. // each particle type will be instantiated virtual void ConstructParticle(); diff --git a/source/physics_lists/builders/include/G4IonBinaryCascadePhysics.hh b/source/physics_lists/builders/include/G4IonBinaryCascadePhysics.hh index c41b3c0c60..28a1443758 100644 --- a/source/physics_lists/builders/include/G4IonBinaryCascadePhysics.hh +++ b/source/physics_lists/builders/include/G4IonBinaryCascadePhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4IonBinaryCascadePhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4IonBinaryCascadePhysics.hh,v 1.3 2010/07/30 14:20:08 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -54,12 +54,13 @@ class G4HadronicInteraction; class G4TripathiLightCrossSection; class G4TripathiCrossSection; class G4IonsShenCrossSection; - +class G4IonProtonCrossSection; class G4IonBinaryCascadePhysics : public G4VPhysicsConstructor { public: - G4IonBinaryCascadePhysics(const G4String& name="ions", G4int verb = 0); + G4IonBinaryCascadePhysics(G4int ver = 0); + G4IonBinaryCascadePhysics(const G4String& name, G4int ver = 0); virtual ~G4IonBinaryCascadePhysics(); // This method will be invoked in the Construct() method. @@ -84,6 +85,7 @@ private: G4TripathiCrossSection* fTripathi; G4TripathiLightCrossSection* fTripathiLight; G4IonsShenCrossSection* fShen; + G4IonProtonCrossSection* fIonH; G4LEDeuteronInelastic* fLEDModel; G4LETritonInelastic* fLETModel; diff --git a/source/physics_lists/builders/include/G4IonInclAblaPhysics.hh b/source/physics_lists/builders/include/G4IonInclAblaPhysics.hh index 415e3984f6..986e2ee8a3 100644 --- a/source/physics_lists/builders/include/G4IonInclAblaPhysics.hh +++ b/source/physics_lists/builders/include/G4IonInclAblaPhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4IonInclAblaPhysics.hh,v 1.1 2009/07/19 18:24:03 kaitanie Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4IonInclAblaPhysics.hh,v 1.2 2010/06/03 15:03:53 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -59,7 +59,8 @@ class G4IonsShenCrossSection; class G4IonInclAblaPhysics : public G4VPhysicsConstructor { public: - G4IonInclAblaPhysics(const G4String& name="ions", G4int verb = 0); + G4IonInclAblaPhysics(G4int ver = 0); + G4IonInclAblaPhysics(const G4String& name, G4int ver = 0); virtual ~G4IonInclAblaPhysics(); // This method will be invoked in the Construct() method. diff --git a/source/physics_lists/builders/include/G4IonPhysics.hh b/source/physics_lists/builders/include/G4IonPhysics.hh index d08d0e5588..d83220a884 100644 --- a/source/physics_lists/builders/include/G4IonPhysics.hh +++ b/source/physics_lists/builders/include/G4IonPhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4IonPhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4IonPhysics.hh,v 1.2 2010/06/03 14:37:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -54,7 +54,9 @@ class G4LEAlphaInelastic; class G4IonPhysics : public G4VPhysicsConstructor { public: - G4IonPhysics(const G4String& name="ions"); + G4IonPhysics(G4int verbose =1); + //obsolete + G4IonPhysics(const G4String& name); virtual ~G4IonPhysics(); // This method will be invoked in the Construct() method. diff --git a/source/physics_lists/builders/include/G4IonQMDPhysics.hh b/source/physics_lists/builders/include/G4IonQMDPhysics.hh index 4efafe2bb5..89f66b996d 100644 --- a/source/physics_lists/builders/include/G4IonQMDPhysics.hh +++ b/source/physics_lists/builders/include/G4IonQMDPhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4IonQMDPhysics.hh,v 1.1 2009/11/27 17:25:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4IonQMDPhysics.hh,v 1.2 2010/06/03 15:03:53 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -62,7 +62,8 @@ class G4IonsShenCrossSection; class G4IonQMDPhysics : public G4VPhysicsConstructor { public: - G4IonQMDPhysics(const G4String& name="ions", G4int verb = 0); + G4IonQMDPhysics(G4int verb = 0); + G4IonQMDPhysics(const G4String& name, G4int ver = 0); virtual ~G4IonQMDPhysics(); // This method will be invoked in the Construct() method. diff --git a/source/physics_lists/lists/include/QGSP_EMX.hh b/source/physics_lists/builders/include/G4KaonBuilder.hh similarity index 67% rename from source/physics_lists/lists/include/QGSP_EMX.hh rename to source/physics_lists/builders/include/G4KaonBuilder.hh index c9c3e131ec..c01a7ce86f 100644 --- a/source/physics_lists/lists/include/QGSP_EMX.hh +++ b/source/physics_lists/builders/include/G4KaonBuilder.hh @@ -23,46 +23,51 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_EMX.hh,v 1.1 2006/10/31 11:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4KaonBuilder.hh,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // -// ClassName: LHEP_EMX +// ClassName: G4KaonBuilder // -// Author: 2006 V.Ivanchenko +// Author: 2010 G.Folger +// devired from G4PiKBuilder // // Modified: -// 21.06.2006 V.Ivanchenko crerate from QGSP_EMV +// 16.11.2005 G.Folger: don't keep processes as data members, but new these +// 13.06.2006 G.Folger: (re)move elastic scatterring // //---------------------------------------------------------------------------- // +#ifndef G4KaonBuilder_h +#define G4KaonBuilder_h 1 -#ifndef TQGSP_EMX_h -#define TQGSP_EMX_h 1 - -#include "G4VModularPhysicsList.hh" #include "globals.hh" -#include "CompileTimeConstraints.hh" -template -class TQGSP_EMX: public T +#include "G4ProtonInelasticProcess.hh" +#include "G4VKaonBuilder.hh" + +#include + +class G4KaonBuilder { -public: - TQGSP_EMX(G4int ver = 1); - virtual ~TQGSP_EMX(); - -public: - // SetCuts() - virtual void SetCuts(); + public: + G4KaonBuilder(); + virtual ~G4KaonBuilder(); -private: - enum {ok = CompileTimeConstraints::IsA::ok }; + public: + void Build(); + void RegisterMe(G4VKaonBuilder * aB) {theModelCollections.push_back(aB);} + + private: + G4KaonPlusInelasticProcess* theKaonPlusInelastic; + G4KaonMinusInelasticProcess* theKaonMinusInelastic; + G4KaonZeroLInelasticProcess* theKaonZeroLInelastic; + G4KaonZeroSInelasticProcess* theKaonZeroSInelastic; + + std::vector theModelCollections; + + G4bool wasActivated; }; -#include "QGSP_EMX.icc" -typedef TQGSP_EMX QGSP_EMX; - #endif - - diff --git a/source/physics_lists/builders/include/G4LEPPionBuilder.hh b/source/physics_lists/builders/include/G4LEPPionBuilder.hh new file mode 100644 index 0000000000..47bde8d479 --- /dev/null +++ b/source/physics_lists/builders/include/G4LEPPionBuilder.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. * +// ******************************************************************** +// +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4LEPPionBuilder +// +// Author: 2010 G.Folger +// devired from G4LEPPiKBuilder +// +// Modified: +// 16.11.2005 G.Folger: don't keep processes as data members, but new these +// 13.06.2006 G.Folger: (re)move elastic scatterring +// +//---------------------------------------------------------------------------- +// +#ifndef G4LEPPionBuilder_h +#define G4LEPPionBuilder_h + +#include "globals.hh" +#include "G4ios.hh" + +#include "G4VPionBuilder.hh" + +#include "G4LEPionPlusInelastic.hh" +#include "G4LEPionMinusInelastic.hh" + +class G4LEPPionBuilder : public G4VPionBuilder +{ + public: + G4LEPPionBuilder(); + virtual ~G4LEPPionBuilder(); + + public: + virtual void Build(G4HadronElasticProcess * aP); + virtual void Build(G4PionPlusInelasticProcess * aP); + virtual void Build(G4PionMinusInelasticProcess * aP); + + void SetMinEnergy(G4double aM) + { + theMin=aM; + } + void SetMaxEnergy(G4double aM) + { + theMax=aM; + } + + private: + G4double theMin; + G4double theMax; + + G4LEPionPlusInelastic* theLEPionPlusModel; + G4LEPionMinusInelastic* theLEPionMinusModel; + +}; +// 2002 by J.P. Wellisch + +#endif diff --git a/source/physics_lists/builders/include/G4LHEPStoppingPhysics.hh b/source/physics_lists/builders/include/G4LHEPStoppingPhysics.hh index 08bc0d5dc0..a06e7f4e9d 100644 --- a/source/physics_lists/builders/include/G4LHEPStoppingPhysics.hh +++ b/source/physics_lists/builders/include/G4LHEPStoppingPhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4LHEPStoppingPhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4LHEPStoppingPhysics.hh,v 1.2 2010/06/03 15:03:53 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -52,8 +52,8 @@ class G4AntiNeutronAnnihilationAtRest; class G4LHEPStoppingPhysics : public G4VPhysicsConstructor { public: - G4LHEPStoppingPhysics(const G4String& name = "stopping", - G4int ver = 1); + G4LHEPStoppingPhysics(G4int ver = 1); + G4LHEPStoppingPhysics(const G4String& name, G4int ver = 1); virtual ~G4LHEPStoppingPhysics(); public: diff --git a/source/physics_lists/builders/include/G4MiscCHIPSBuilder.hh b/source/physics_lists/builders/include/G4MiscCHIPSBuilder.hh new file mode 100644 index 0000000000..99bc4e5190 --- /dev/null +++ b/source/physics_lists/builders/include/G4MiscCHIPSBuilder.hh @@ -0,0 +1,68 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4MiscCHIPSBuilder +// +// Author: 2010, G.Folger +// +// created by modifying G4QInelasticCHIPSBuilder to apply only to MISC particles +// ----------------------------------------------------------------------------- +#ifndef G4MiscCHIPSBuilder_h +#define G4MiscCHIPSBuilder_h 1 + +#include "globals.hh" + +#include "G4VPhysicsConstructor.hh" +#include "G4QInelastic.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" + +class G4MiscCHIPSBuilder +{ + public: + G4MiscCHIPSBuilder(G4int verbose=0); + virtual ~G4MiscCHIPSBuilder(); + + public: + void Build(); + + protected: + // the particle table has the complete List of existing particle types + G4ParticleTable* theParticleTable; + G4ParticleTable::G4PTblDicIterator* theParticleIterator; + + private: + G4int verbose; + G4bool wasActivated; + G4QInelastic* inelastic; +}; + +#endif diff --git a/source/physics_lists/lists/include/FTFP.hh b/source/physics_lists/builders/include/G4NeutronCrossSectionXS.hh similarity index 77% rename from source/physics_lists/lists/include/FTFP.hh rename to source/physics_lists/builders/include/G4NeutronCrossSectionXS.hh index ad884a2269..22e7e8c45e 100644 --- a/source/physics_lists/lists/include/FTFP.hh +++ b/source/physics_lists/builders/include/G4NeutronCrossSectionXS.hh @@ -23,46 +23,44 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FTFP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NeutronCrossSectionXS.hh,v 1.1 2010/06/03 14:01:59 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // -// ClassName: +// ClassName: G4NeutronCrossSectionXS // -// Author: 2002 J.P. Wellisch +// Author: 3 June 2010 V. Ivanchenko // // Modified: // //---------------------------------------------------------------------------- // -#ifndef TFTFP_h -#define TFTFP_h 1 -#include "G4VModularPhysicsList.hh" +#ifndef G4NeutronCrossSectionXS_h +#define G4NeutronCrossSectionXS_h + +#include "G4VPhysicsConstructor.hh" #include "globals.hh" -#include "CompileTimeConstraints.hh" -template -class TFTFP: public T -{ +class G4NeutronCrossSectionXS : public G4VPhysicsConstructor { + public: - TFTFP(G4int ver = 1); - virtual ~TFTFP(); - -public: - // SetCuts() - virtual void SetCuts(); + + G4NeutronCrossSectionXS(G4int ver); + virtual ~G4NeutronCrossSectionXS(); + + virtual void ConstructParticle(); + virtual void ConstructProcess(); private: - enum {ok = CompileTimeConstraints::IsA::ok }; + G4int verbose; }; -#include "FTFP.icc" -typedef TFTFP FTFP; - -// 2002 by J.P. Wellisch #endif + + + diff --git a/source/physics_lists/builders/include/G4NeutronTrackingCut.hh b/source/physics_lists/builders/include/G4NeutronTrackingCut.hh index 2246978fae..4fd4f2a7cb 100644 --- a/source/physics_lists/builders/include/G4NeutronTrackingCut.hh +++ b/source/physics_lists/builders/include/G4NeutronTrackingCut.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4NeutronTrackingCut.hh,v 1.2 2008/09/17 18:19:15 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NeutronTrackingCut.hh,v 1.3 2010/06/04 15:28:35 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -47,7 +47,8 @@ class G4NeutronKiller; class G4NeutronTrackingCut : public G4VPhysicsConstructor { public: - G4NeutronTrackingCut(const G4String& name = "neutronTrackingCut",G4int ver=0); + G4NeutronTrackingCut(G4int ver=0); + G4NeutronTrackingCut(const G4String& name,G4int ver=0); virtual ~G4NeutronTrackingCut(); // This method will be invoked in the Construct() method. diff --git a/source/physics_lists/builders/include/G4OpticalPhysics.hh b/source/physics_lists/builders/include/G4OpticalPhysics.hh index 6b0f996b8c..8854abffa6 100644 --- a/source/physics_lists/builders/include/G4OpticalPhysics.hh +++ b/source/physics_lists/builders/include/G4OpticalPhysics.hh @@ -53,6 +53,7 @@ #include "G4OpAbsorption.hh" #include "G4OpRayleigh.hh" +#include "G4OpMieHG.hh" #include "G4OpBoundaryProcess.hh" #include "G4OpticalSurface.hh" @@ -63,11 +64,10 @@ class G4OpticalPhysics : public G4VPhysicsConstructor { public: - G4OpticalPhysics(G4int verbose = 0, const G4String& name = "Optical"); + G4OpticalPhysics(G4int verbose = 0); + G4OpticalPhysics(G4int verbose, const G4String& name); virtual ~G4OpticalPhysics(); - protected: - // construct particle and physics virtual void ConstructParticle(); virtual void ConstructProcess(); @@ -83,16 +83,19 @@ class G4OpticalPhysics : public G4VPhysicsConstructor // get methods virtual G4Scintillation* GetScintillationProcess() - { return fScintillationProcess; } - virtual G4Cerenkov* GetCerenkovProcess() { return fCerenkovProcess; } + { return fScintillationProcess; } + virtual G4Cerenkov* GetCerenkovProcess() + { return fCerenkovProcess; } virtual G4OpWLS* GetOpWLSProcess() { return fOpWLSProcess; } virtual G4OpAbsorption* GetOpAbsorptionProcess() - { return fOpAbsorptionProcess; } + { return fOpAbsorptionProcess; } virtual G4OpRayleigh* GetOpRayleighProcess() { return fOpRayleighScatteringProcess; } + virtual G4OpMieHG* GetOpMieHGProcess() + { return fOpMieHGScatteringProcess; } virtual G4OpBoundaryProcess* GetOpBoundaryProcess() - { return fOpBoundaryProcess; } + { return fOpBoundaryProcess; } // set methods @@ -103,8 +106,10 @@ class G4OpticalPhysics : public G4VPhysicsConstructor void SetOpticalSurfaceModel(G4OpticalSurfaceModel ); void SetWLSTimeProfile(G4String ); + void SetScintillationByParticleType(G4bool ); void AddScintillationSaturation(G4EmSaturation* ); + void SetTrackSecondariesFirst(G4bool ); private: @@ -121,6 +126,7 @@ class G4OpticalPhysics : public G4VPhysicsConstructor G4OpAbsorption* fOpAbsorptionProcess; G4OpRayleigh* fOpRayleighScatteringProcess; + G4OpMieHG* fOpMieHGScatteringProcess; G4OpBoundaryProcess* fOpBoundaryProcess; /// max number of Cerenkov photons per step @@ -144,6 +150,11 @@ class G4OpticalPhysics : public G4VPhysicsConstructor /// option to track secondaries before finishing their parent track G4bool fTrackSecondariesFirst; + /// option to allow for the light yield to be a function of + /// particle type and deposited energy in case of non-linear + /// light emission in scintillators + G4bool fScintillationByParticleType; + }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/physics_lists/builders/include/G4OpticalPhysicsMessenger.hh b/source/physics_lists/builders/include/G4OpticalPhysicsMessenger.hh index a82e0b52f3..7054387485 100644 --- a/source/physics_lists/builders/include/G4OpticalPhysicsMessenger.hh +++ b/source/physics_lists/builders/include/G4OpticalPhysicsMessenger.hh @@ -89,6 +89,9 @@ private: /// setScintillationYieldFactor command G4UIcmdWithADouble* fSetScintillationYieldFactorCmd; + /// setScintillationByParticleType command + G4UIcmdWithABool* fSetScintillationByParticleTypeCmd; + /// setOpticalSurfaceModel command G4UIcmdWithAString* fSetOpticalSurfaceModelCmd; diff --git a/source/physics_lists/builders/include/G4PionBuilder.hh b/source/physics_lists/builders/include/G4PionBuilder.hh new file mode 100644 index 0000000000..963231d043 --- /dev/null +++ b/source/physics_lists/builders/include/G4PionBuilder.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. * +// ******************************************************************** +// +// $Id: G4PionBuilder.hh,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4PionBuilder +// +// Author: 2010 G.Folger +// devired from G4PiKBuilder +// +// Modified: +// +//---------------------------------------------------------------------------- +// +#ifndef G4PionBuilder_h +#define G4PionBuilder_h 1 + +#include "globals.hh" + +#include "G4VPionBuilder.hh" + +#include + +class G4PionBuilder +{ + public: + G4PionBuilder(); + virtual ~G4PionBuilder(); + + public: + void Build(); + void RegisterMe(G4VPionBuilder * aB) {theModelCollections.push_back(aB);} + + private: + G4PionPlusInelasticProcess* thePionPlusInelastic; + G4PionMinusInelasticProcess* thePionMinusInelastic; + std::vector theModelCollections; + + G4bool wasActivated; +}; +#endif + diff --git a/source/physics_lists/builders/include/G4QAtomicPhysics.hh b/source/physics_lists/builders/include/G4QAtomicPhysics.hh index 363a0ba15d..2ce69b914d 100644 --- a/source/physics_lists/builders/include/G4QAtomicPhysics.hh +++ b/source/physics_lists/builders/include/G4QAtomicPhysics.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4QAtomicPhysics.hh,v 1.1 2009/11/20 10:24:28 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QAtomicPhysics.hh,v 1.2 2010/06/03 14:37:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -50,7 +50,8 @@ class G4QAtomicPhysics : public G4VPhysicsConstructor { public: - G4QAtomicPhysics(G4int ver = 0, const G4String& name = "G4QAtomic"); + G4QAtomicPhysics(G4int ver = 0); + G4QAtomicPhysics(G4int ver, const G4String& name); virtual ~G4QAtomicPhysics(); virtual void ConstructParticle(); diff --git a/source/physics_lists/builders/include/G4QCaptureAtRestPhysics.hh b/source/physics_lists/builders/include/G4QCaptureAtRestPhysics.hh index f02aa4db70..86478509ee 100644 --- a/source/physics_lists/builders/include/G4QCaptureAtRestPhysics.hh +++ b/source/physics_lists/builders/include/G4QCaptureAtRestPhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QCaptureAtRestPhysics.hh,v 1.1 2009/11/16 19:12:10 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QCaptureAtRestPhysics.hh,v 1.2 2010/06/03 15:03:53 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -55,7 +55,8 @@ class G4QCaptureAtRest; class G4QCaptureAtRestPhysics : public G4VPhysicsConstructor { public: - G4QCaptureAtRestPhysics(const G4String& name = "nuclear_capture", G4int ver = 1); + G4QCaptureAtRestPhysics(G4int ver = 1); + G4QCaptureAtRestPhysics(const G4String& name, G4int ver = 1); virtual ~G4QCaptureAtRestPhysics(); public: diff --git a/source/physics_lists/builders/include/G4QElasticPhysics.hh b/source/physics_lists/builders/include/G4QElasticPhysics.hh new file mode 100644 index 0000000000..1120bf06d6 --- /dev/null +++ b/source/physics_lists/builders/include/G4QElasticPhysics.hh @@ -0,0 +1,81 @@ +// +// ******************************************************************** +// * 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: G4QElasticPhysics.hh,v 1.2 2010/06/04 10:22:14 mkossov Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4QElasticPhysics +// +// Author: 3 Nov 2010 M. Kossov +// +// Modified: +// +//---------------------------------------------------------------------------- +// + +#ifndef G4QElasticPhysics_h +#define G4QElasticPhysics_h 1 + +#include "globals.hh" +#include "G4VPhysicsConstructor.hh" + +class G4HadronElastic; +class G4QElastic; + +class G4QElasticPhysics : public G4VPhysicsConstructor +{ +public: + G4QElasticPhysics(const G4String& name = "elastic", + G4int ver = 1); + virtual ~G4QElasticPhysics(){}; + +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(); + +private: + + G4HadronElastic* model; + G4QElastic* process; + + G4String mname; + + G4int verbose; + G4bool wasActivated; +}; + +#endif + + + + diff --git a/source/physics_lists/builders/include/G4QGSBinaryPiKBuilder.hh b/source/physics_lists/builders/include/G4QGSBinaryPiKBuilder.hh index 46e999edb8..b373102c1f 100644 --- a/source/physics_lists/builders/include/G4QGSBinaryPiKBuilder.hh +++ b/source/physics_lists/builders/include/G4QGSBinaryPiKBuilder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QGSBinaryPiKBuilder.hh,v 1.2 2009/03/31 11:04:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QGSBinaryPiKBuilder.hh,v 1.3 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -58,7 +58,7 @@ #include "G4ExcitedStringDecay.hh" #include "G4QuasiElasticChannel.hh" -#include "G4PiNuclearCrossSection.hh" +#include "G4VCrossSectionDataSet.hh" class G4QGSBinaryPiKBuilder : public G4VPiKBuilder { @@ -78,7 +78,7 @@ class G4QGSBinaryPiKBuilder : public G4VPiKBuilder void SetMinEnergy(G4double aM) {theMin = aM;} private: - G4PiNuclearCrossSection* thePiData; + G4VCrossSectionDataSet* thePiData; G4TheoFSGenerator * theModel; G4PreCompoundModel * thePreEquilib; G4BinaryCascade * theCascade; diff --git a/source/physics_lists/builders/include/G4QGSBuilder.hh b/source/physics_lists/builders/include/G4QGSBuilder.hh index 2ffc5ab74f..410af6e802 100644 --- a/source/physics_lists/builders/include/G4QGSBuilder.hh +++ b/source/physics_lists/builders/include/G4QGSBuilder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QGSBuilder.hh,v 1.1 2009/10/04 16:29:54 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QGSBuilder.hh,v 1.3 2010/06/19 11:12:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -46,13 +46,16 @@ class G4ExcitedStringDecay; class G4QuasiElasticChannel; +class G4PreCompoundModel; class G4ProjectileDiffractiveChannel; +class G4QGSMFragmentation; class G4QGSBuilder : public G4VHadronModelBuilder { public: - G4QGSBuilder(const G4String& name ="", + G4QGSBuilder(const G4String& name ="", + G4PreCompoundModel* p = 0, G4bool quasiElastic=true, G4bool projectileDiffraction=false); @@ -74,6 +77,8 @@ private: G4QuasiElasticChannel* theQuasiElastic; G4ProjectileDiffractiveChannel* theProjectileDiffraction; + G4PreCompoundModel* thePreCompound; + G4QGSMFragmentation* theQGSM; G4bool quasielFlag; G4bool diffFlag; diff --git a/source/physics_lists/builders/include/G4QGSPNeutronBuilder.hh b/source/physics_lists/builders/include/G4QGSPNeutronBuilder.hh index 94a0775303..a3c1c31962 100644 --- a/source/physics_lists/builders/include/G4QGSPNeutronBuilder.hh +++ b/source/physics_lists/builders/include/G4QGSPNeutronBuilder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QGSPNeutronBuilder.hh,v 1.4 2009/03/31 11:04:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QGSPNeutronBuilder.hh,v 1.5 2010/06/15 11:03:35 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -83,6 +83,9 @@ class G4QGSPNeutronBuilder : public G4VNeutronBuilder G4QuasiElasticChannel * theQuasiElastic; G4ProjectileDiffractiveChannel * theProjectileDiffraction; + G4QGSMFragmentation * theQGSM; + G4ExcitationHandler * theHandler; + G4double theMin; }; diff --git a/source/physics_lists/builders/include/G4QGSPPiKBuilder.hh b/source/physics_lists/builders/include/G4QGSPPiKBuilder.hh index 017187e6c3..f8d792f933 100644 --- a/source/physics_lists/builders/include/G4QGSPPiKBuilder.hh +++ b/source/physics_lists/builders/include/G4QGSPPiKBuilder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QGSPPiKBuilder.hh,v 1.4 2009/03/31 11:04:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QGSPPiKBuilder.hh,v 1.5 2010/06/15 11:03:35 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -87,6 +87,8 @@ class G4QGSPPiKBuilder : public G4VPiKBuilder G4ExcitedStringDecay * theStringDecay; G4QuasiElasticChannel * theQuasiElastic; G4ProjectileDiffractiveChannel * theProjectileDiffraction; + G4QGSMFragmentation * theQGSM; + G4ExcitationHandler * theHandler; G4double theMin; }; diff --git a/source/physics_lists/builders/include/G4QGSPPionBuilder.hh b/source/physics_lists/builders/include/G4QGSPPionBuilder.hh new file mode 100644 index 0000000000..e66cb45370 --- /dev/null +++ b/source/physics_lists/builders/include/G4QGSPPionBuilder.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. * +// ******************************************************************** +// +// $Id: G4QGSPPionBuilder.hh,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4QGSPPionBuilder +// +// Author: 2010 G.Folger +// devired from G4QGSPPiKBuilder +// +// Modified: +// +//---------------------------------------------------------------------------- +// +#ifndef G4QGSPPionBuilder_h +#define G4QGSPPionBuilder_h 1 + +#include "globals.hh" + +#include "G4HadronElasticProcess.hh" +#include "G4HadronFissionProcess.hh" +#include "G4HadronCaptureProcess.hh" +#include "G4VPionBuilder.hh" + +#include "G4TheoFSGenerator.hh" +#include "G4ExcitationHandler.hh" +#include "G4PreCompoundModel.hh" +#include "G4GeneratorPrecompoundInterface.hh" +#include "G4QGSModel.hh" +#include "G4QGSParticipants.hh" +#include "G4QGSMFragmentation.hh" +#include "G4ExcitedStringDecay.hh" +#include "G4QuasiElasticChannel.hh" +#include "G4ProjectileDiffractiveChannel.hh" +#include "G4VCrossSectionDataSet.hh" + +class G4QGSPPionBuilder : public G4VPionBuilder +{ + public: + G4QGSPPionBuilder(G4bool quasiElastic=false, + G4bool projectileDiffraction=false); + virtual ~G4QGSPPionBuilder(); + + public: + virtual void Build(G4HadronElasticProcess * aP); + virtual void Build(G4PionPlusInelasticProcess * aP); + virtual void Build(G4PionMinusInelasticProcess * aP); + + void SetMinEnergy(G4double aM) {theMin = aM;} + + private: + G4VCrossSectionDataSet* thePiData; + G4TheoFSGenerator * theModel; + G4PreCompoundModel * thePreEquilib; + G4GeneratorPrecompoundInterface * theCascade; + G4QGSModel< G4QGSParticipants > * theStringModel; + G4ExcitedStringDecay * theStringDecay; + G4QuasiElasticChannel * theQuasiElastic; + G4ProjectileDiffractiveChannel * theProjectileDiffraction; + G4QGSMFragmentation * theQGSM; + G4ExcitationHandler * theHandler; + G4double theMin; + +}; + +// 2002 by J.P. Wellisch + +#endif + diff --git a/source/physics_lists/builders/include/G4QGSPProtonBuilder.hh b/source/physics_lists/builders/include/G4QGSPProtonBuilder.hh index 830f4a0f72..d85443f8df 100644 --- a/source/physics_lists/builders/include/G4QGSPProtonBuilder.hh +++ b/source/physics_lists/builders/include/G4QGSPProtonBuilder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QGSPProtonBuilder.hh,v 1.5 2009/03/31 11:04:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QGSPProtonBuilder.hh,v 1.7 2010/11/17 17:12:28 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -60,8 +60,6 @@ #include "G4QuasiElasticChannel.hh" #include "G4ProjectileDiffractiveChannel.hh" -#include "G4ProtonInelasticCrossSection.hh" - class G4QGSPProtonBuilder : public G4VProtonBuilder { public: @@ -84,6 +82,8 @@ class G4QGSPProtonBuilder : public G4VProtonBuilder G4ExcitedStringDecay * theStringDecay; G4QuasiElasticChannel * theQuasiElastic; G4ProjectileDiffractiveChannel * theProjectileDiffraction; + G4QGSMFragmentation * theQGSM; + G4ExcitationHandler * theHandler; G4double theMin; }; diff --git a/source/physics_lists/builders/include/G4QIonPhysics.hh b/source/physics_lists/builders/include/G4QIonPhysics.hh new file mode 100644 index 0000000000..2a346ffac2 --- /dev/null +++ b/source/physics_lists/builders/include/G4QIonPhysics.hh @@ -0,0 +1,78 @@ +// +// ******************************************************************** +// * 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: G4QIonPhysics.hh,v 1.2 2010/06/04 10:22:14 mkossov Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4QIonPhysics +// +// Author: 03/06/2010, M. Kossov +// +// Modified: +// +//---------------------------------------------------------------------------- +// + +#ifndef G4QIonPhysics_h +#define G4QIonPhysics_h 1 + +#include "globals.hh" + +#include "G4VPhysicsConstructor.hh" +#include "G4IonConstructor.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" + +#include "G4QLowEnergy.hh" +#include "G4QIonIonElastic.hh" + +class G4QIonPhysics : public G4VPhysicsConstructor +{ +public: + G4QIonPhysics(const G4String& name="ions"); + virtual ~G4QIonPhysics() {}; + + // 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(); + +private: + + G4QLowEnergy* fQAAInelasticProcess; + G4QIonIonElastic* fQAAElasticProcess; + + G4bool wasActivated; +}; + +#endif + diff --git a/source/physics_lists/builders/include/G4QNeutrinoPhysics.hh b/source/physics_lists/builders/include/G4QNeutrinoPhysics.hh index 12121f2589..c7ce47247e 100644 --- a/source/physics_lists/builders/include/G4QNeutrinoPhysics.hh +++ b/source/physics_lists/builders/include/G4QNeutrinoPhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QNeutrinoPhysics.hh,v 1.2 2009/11/16 19:12:10 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QNeutrinoPhysics.hh,v 1.3 2010/06/03 14:37:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -59,7 +59,8 @@ class G4QNeutrinoPhysics : public G4VPhysicsConstructor { public: - G4QNeutrinoPhysics(const G4String& name = "CHIPS neutrino-nuclear"); + G4QNeutrinoPhysics(G4int verbose =1); + G4QNeutrinoPhysics(const G4String& name); virtual ~G4QNeutrinoPhysics(); void ConstructParticle(); diff --git a/source/physics_lists/builders/include/G4QPhotoNuclearPhysics.hh b/source/physics_lists/builders/include/G4QPhotoNuclearPhysics.hh index 4b29410006..8d209b7ec4 100644 --- a/source/physics_lists/builders/include/G4QPhotoNuclearPhysics.hh +++ b/source/physics_lists/builders/include/G4QPhotoNuclearPhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QPhotoNuclearPhysics.hh,v 1.2 2009/11/16 19:12:10 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QPhotoNuclearPhysics.hh,v 1.3 2010/06/03 14:37:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -65,7 +65,8 @@ class G4QPhotoNuclearPhysics : public G4VPhysicsConstructor { public: - G4QPhotoNuclearPhysics(const G4String& name = "CHIPS photo-nuclear"); + G4QPhotoNuclearPhysics(G4int verbose =1); + G4QPhotoNuclearPhysics(const G4String& name); virtual ~G4QPhotoNuclearPhysics(); void ConstructParticle(); diff --git a/source/physics_lists/builders/include/G4QStoppingPhysics.hh b/source/physics_lists/builders/include/G4QStoppingPhysics.hh index 67874206d0..1d3c77dc96 100644 --- a/source/physics_lists/builders/include/G4QStoppingPhysics.hh +++ b/source/physics_lists/builders/include/G4QStoppingPhysics.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QStoppingPhysics.hh,v 1.2 2007/04/26 16:03:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4QStoppingPhysics.hh,v 1.6 2010/06/04 09:59:47 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -49,7 +49,8 @@ class G4QCaptureAtRest; class G4QStoppingPhysics : public G4VPhysicsConstructor { public: - G4QStoppingPhysics(const G4String& name = "stopping", + G4QStoppingPhysics(G4int ver = 1); + G4QStoppingPhysics(const G4String& name, G4int ver = 1, G4bool UseMuonMinusCapture=true); virtual ~G4QStoppingPhysics(); diff --git a/source/physics_lists/builders/include/G4RadioactiveDecayPhysics.hh b/source/physics_lists/builders/include/G4RadioactiveDecayPhysics.hh index 2a208c4e67..5a77ffe9a1 100644 --- a/source/physics_lists/builders/include/G4RadioactiveDecayPhysics.hh +++ b/source/physics_lists/builders/include/G4RadioactiveDecayPhysics.hh @@ -38,7 +38,8 @@ class G4RadioactiveDecay; class G4RadioactiveDecayPhysics : public G4VPhysicsConstructor { public: - G4RadioactiveDecayPhysics(const G4String& name = "raddecay"); + G4RadioactiveDecayPhysics(G4int verbose =1); + G4RadioactiveDecayPhysics(const G4String& name); virtual ~G4RadioactiveDecayPhysics(); public: diff --git a/source/physics_lists/builders/include/G4VKaonBuilder.hh b/source/physics_lists/builders/include/G4VKaonBuilder.hh new file mode 100644 index 0000000000..8cd11dea93 --- /dev/null +++ b/source/physics_lists/builders/include/G4VKaonBuilder.hh @@ -0,0 +1,60 @@ +// +// ******************************************************************** +// * 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: G4VKaonBuilder.hh,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4VKaonBuilder +// +// Author: 2010 G.Folger +// devired from G4VPiKBuilder +// +// Modified: +// +//---------------------------------------------------------------------------- +// +#ifndef G4VKaonBuilder_h +#define G4VKaonBuilder_h + +#include "G4HadronElasticProcess.hh" +#include "G4KaonPlusInelasticProcess.hh" +#include "G4KaonMinusInelasticProcess.hh" +#include "G4KaonZeroLInelasticProcess.hh" +#include "G4KaonZeroSInelasticProcess.hh" + +class G4VKaonBuilder +{ +public: + G4VKaonBuilder(); + virtual ~G4VKaonBuilder(); + virtual void Build(G4HadronElasticProcess * aP) = 0; + virtual void Build(G4KaonPlusInelasticProcess * aP) = 0; + virtual void Build(G4KaonMinusInelasticProcess * aP) = 0; + virtual void Build(G4KaonZeroLInelasticProcess * aP) = 0; + virtual void Build(G4KaonZeroSInelasticProcess * aP) = 0; +}; +#endif diff --git a/source/physics_lists/lists/include/LHEP_BERT.hh b/source/physics_lists/builders/include/G4VPionBuilder.hh similarity index 74% rename from source/physics_lists/lists/include/LHEP_BERT.hh rename to source/physics_lists/builders/include/G4VPionBuilder.hh index c8661f5638..f9bb62eb59 100644 --- a/source/physics_lists/lists/include/LHEP_BERT.hh +++ b/source/physics_lists/builders/include/G4VPionBuilder.hh @@ -23,46 +23,34 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP_BERT.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VPionBuilder.hh,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // -// ClassName: LHEP_BERT +// ClassName: G4VPionBuilder // -// Author: 2002 J.P. Wellisch +// Author: 2010 G.Folger +// devired from G4VPiKBuilder // // Modified: // //---------------------------------------------------------------------------- // -#ifndef TLHEP_BERT_h -#define TLHEP_BERT_h 1 +#ifndef G4VPionBuilder_h +#define G4VPionBuilder_h -#include "G4VModularPhysicsList.hh" -#include "globals.hh" -#include "CompileTimeConstraints.hh" +#include "G4HadronElasticProcess.hh" +#include "G4PionPlusInelasticProcess.hh" +#include "G4PionMinusInelasticProcess.hh" -template -class TLHEP_BERT: public T +class G4VPionBuilder { public: - TLHEP_BERT(G4int ver = 1); - virtual ~TLHEP_BERT(); - -public: - // SetCuts() - virtual void SetCuts(); -private: - enum {ok = CompileTimeConstraints::IsA::ok }; - + G4VPionBuilder(); + virtual ~G4VPionBuilder(); + virtual void Build(G4HadronElasticProcess * aP) = 0; + virtual void Build(G4PionPlusInelasticProcess * aP) = 0; + virtual void Build(G4PionMinusInelasticProcess * aP) = 0; }; -#include "LHEP_BERT.icc" -typedef TLHEP_BERT LHEP_BERT; - -// 2002 by J.P. Wellisch - #endif - - - diff --git a/source/physics_lists/builders/sources.cmake b/source/physics_lists/builders/sources.cmake new file mode 100644 index 0000000000..d5b25803b5 --- /dev/null +++ b/source/physics_lists/builders/sources.cmake @@ -0,0 +1,399 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4phys_builders +# Package: Geant4.src.G4physicslists.G4phys_builders +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/11/29 17:23:53 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/shortlived/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/decay/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/highenergy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/lowenergy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/muons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/standard/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/xrays/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/binary_cascade/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/cascade/cascade/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/body/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/fragmentation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/interface/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/coherent_elastic/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/fermi_breakup/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/handler/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/multifragmentation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/photon_evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/high_energy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/im_r_matrix/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/incl/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/low_energy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/neutron_hp/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/diffraction/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/hadronization/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/qgsm/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/pre_equilibrium/exciton_model/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/qmd/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/radioactive_decay/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/theo_high_energy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/stopping/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/optical/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/transportation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/run/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4phys_builders + HEADERS + CompileTimeConstraints.hh + G4BertiniNeutronBuilder.hh + G4BertiniPiKBuilder.hh + G4BertiniPionBuilder.hh + G4BertiniProtonBuilder.hh + G4BinaryNeutronBuilder.hh + G4BinaryPiKBuilder.hh + G4BinaryProtonBuilder.hh + G4ChargeExchangePhysics.hh + G4ChipsKaonBuilder.hh + G4DataQuestionaire.hh + G4DecayPhysics.hh + G4ElectroNuclearBuilder.hh + G4EmDNAPhysics.hh + G4EmExtraPhysics.hh + G4EmLivermorePhysics.hh + G4EmLivermorePolarizedPhysics.hh + G4EmMessenger.hh + G4EmPenelopePhysics.hh + G4EmStandardPhysics.hh + G4EmStandardPhysics_option1.hh + G4EmStandardPhysics_option2.hh + G4EmStandardPhysics_option3.hh + G4FTFBinaryNeutronBuilder.hh + G4FTFBinaryPiKBuilder.hh + G4FTFBinaryProtonBuilder.hh + G4FTFBuilder.hh + G4FTFCNeutronBuilder.hh + G4FTFCPiKBuilder.hh + G4FTFCProtonBuilder.hh + G4FTFPNeutronBuilder.hh + G4FTFPPiKBuilder.hh + G4FTFPProtonBuilder.hh + G4HadronDElasticPhysics.hh + G4HadronElasticPhysics93.hh + G4HadronElasticPhysics.hh + G4HadronElasticPhysicsHP.hh + G4HadronElasticPhysicsLHEP.hh + G4HadronElasticPhysicsXS.hh + G4HadronHElasticPhysics.hh + G4HadronQElasticPhysics.hh + G4InclAblaNeutronBuilder.hh + G4InclAblaPiKBuilder.hh + G4InclAblaProtonBuilder.hh + G4IonBinaryCascadePhysics.hh + G4IonInclAblaPhysics.hh + G4IonPhysics.hh + G4IonQMDPhysics.hh + G4KaonBuilder.hh + G4LEPNeutronBuilder.hh + G4LEPPiKBuilder.hh + G4LEPPionBuilder.hh + G4LEPProtonBuilder.hh + G4LHEPNeutronBuilder.hh + G4LHEPPiKBuilder.hh + G4LHEPProtonBuilder.hh + G4LHEPStoppingPhysics.hh + G4MiscCHIPSBuilder.hh + G4MiscLHEPBuilder.hh + G4MiscQGSCBuilder.hh + G4NeutronBuilder.hh + G4NeutronCrossSectionXS.hh + G4NeutronHPBuilder.hh + G4NeutronTrackingCut.hh + G4OpticalPhysics.hh + G4OpticalPhysicsMessenger.hh + G4PiKBuilder.hh + G4PionBuilder.hh + G4PrecoNeutronBuilder.hh + G4PrecoProtonBuilder.hh + G4ProtonBuilder.hh + G4QAtomicPhysics.hh + G4QCaptureAtRestPhysics.hh + G4QElasticPhysics.hh + G4QEmExtraPhysics.hh + G4QGSBinaryNeutronBuilder.hh + G4QGSBinaryPiKBuilder.hh + G4QGSBinaryProtonBuilder.hh + G4QGSBuilder.hh + G4QGSC_CHIPSNeutronBuilder.hh + G4QGSC_CHIPSPiKBuilder.hh + G4QGSC_CHIPSProtonBuilder.hh + G4QGSCEflowNeutronBuilder.hh + G4QGSCEflowPiKBuilder.hh + G4QGSCEflowProtonBuilder.hh + G4QGSCNeutronBuilder.hh + G4QGSCPiKBuilder.hh + G4QGSCProtonBuilder.hh + G4QGSC_QGSCNeutronBuilder.hh + G4QGSC_QGSCPiKBuilder.hh + G4QGSC_QGSCProtonBuilder.hh + G4QGSPNeutronBuilder.hh + G4QGSPPiKBuilder.hh + G4QGSPPionBuilder.hh + G4QGSPProtonBuilder.hh + G4QInelasticCHIPSBuilder.hh + G4QIonPhysics.hh + G4QMessenger.hh + G4QNeutrinoPhysics.hh + G4QNeutronBuilder.hh + G4QPhotoNuclearPhysics.hh + G4QProtonBuilder.hh + G4QStoppingPhysics.hh + G4RadioactiveDecayPhysics.hh + G4StoppingHadronBuilder.hh + G4VHadronModelBuilder.hh + G4VKaonBuilder.hh + G4VNeutronBuilder.hh + G4VPiKBuilder.hh + G4VPionBuilder.hh + G4VProtonBuilder.hh + G4WarnPLStatus.hh + TheoModelFactory.hh + SOURCES + G4BertiniNeutronBuilder.cc + G4BertiniPiKBuilder.cc + G4BertiniPionBuilder.cc + G4BertiniProtonBuilder.cc + G4BinaryNeutronBuilder.cc + G4BinaryPiKBuilder.cc + G4BinaryProtonBuilder.cc + G4ChargeExchangePhysics.cc + G4ChipsKaonBuilder.cc + G4DecayPhysics.cc + G4ElectroNuclearBuilder.cc + G4EmDNAPhysics.cc + G4EmExtraPhysics.cc + G4EmLivermorePhysics.cc + G4EmLivermorePolarizedPhysics.cc + G4EmMessenger.cc + G4EmPenelopePhysics.cc + G4EmStandardPhysics.cc + G4EmStandardPhysics_option1.cc + G4EmStandardPhysics_option2.cc + G4EmStandardPhysics_option3.cc + G4FTFBinaryNeutronBuilder.cc + G4FTFBinaryPiKBuilder.cc + G4FTFBinaryProtonBuilder.cc + G4FTFBuilder.cc + G4FTFCNeutronBuilder.cc + G4FTFCPiKBuilder.cc + G4FTFCProtonBuilder.cc + G4FTFPNeutronBuilder.cc + G4FTFPPiKBuilder.cc + G4FTFPProtonBuilder.cc + G4HadronDElasticPhysics.cc + G4HadronElasticPhysics93.cc + G4HadronElasticPhysics.cc + G4HadronElasticPhysicsHP.cc + G4HadronElasticPhysicsLHEP.cc + G4HadronElasticPhysicsXS.cc + G4HadronHElasticPhysics.cc + G4HadronQElasticPhysics.cc + G4InclAblaNeutronBuilder.cc + G4InclAblaPiKBuilder.cc + G4InclAblaProtonBuilder.cc + G4IonBinaryCascadePhysics.cc + G4IonInclAblaPhysics.cc + G4IonPhysics.cc + G4IonQMDPhysics.cc + G4KaonBuilder.cc + G4LEPNeutronBuilder.cc + G4LEPPiKBuilder.cc + G4LEPPionBuilder.cc + G4LEPProtonBuilder.cc + G4LHEPNeutronBuilder.cc + G4LHEPPiKBuilder.cc + G4LHEPProtonBuilder.cc + G4LHEPStoppingPhysics.cc + G4MiscCHIPSBuilder.cc + G4MiscLHEPBuilder.cc + G4MiscQGSCBuilder.cc + G4NeutronBuilder.cc + G4NeutronCrossSectionXS.cc + G4NeutronHPBuilder.cc + G4NeutronTrackingCut.cc + G4OpticalPhysics.cc + G4OpticalPhysicsMessenger.cc + G4PiKBuilder.cc + G4PionBuilder.cc + G4PrecoNeutronBuilder.cc + G4PrecoProtonBuilder.cc + G4ProtonBuilder.cc + G4QAtomicPhysics.cc + G4QCaptureAtRestPhysics.cc + G4QElasticPhysics.cc + G4QEmExtraPhysics.cc + G4QGSBinaryNeutronBuilder.cc + G4QGSBinaryPiKBuilder.cc + G4QGSBinaryProtonBuilder.cc + G4QGSBuilder.cc + G4QGSC_CHIPSNeutronBuilder.cc + G4QGSC_CHIPSPiKBuilder.cc + G4QGSC_CHIPSProtonBuilder.cc + G4QGSCEflowNeutronBuilder.cc + G4QGSCEflowPiKBuilder.cc + G4QGSCEflowProtonBuilder.cc + G4QGSCNeutronBuilder.cc + G4QGSCPiKBuilder.cc + G4QGSCProtonBuilder.cc + G4QGSC_QGSCNeutronBuilder.cc + G4QGSC_QGSCPiKBuilder.cc + G4QGSC_QGSCProtonBuilder.cc + G4QGSPNeutronBuilder.cc + G4QGSPPiKBuilder.cc + G4QGSPPionBuilder.cc + G4QGSPProtonBuilder.cc + G4QInelasticCHIPSBuilder.cc + G4QIonPhysics.cc + G4QMessenger.cc + G4QNeutrinoPhysics.cc + G4QNeutronBuilder.cc + G4QPhotoNuclearPhysics.cc + G4QProtonBuilder.cc + G4QStoppingPhysics.cc + G4RadioactiveDecayPhysics.cc + G4StoppingHadronBuilder.cc + G4VHadronModelBuilder.cc + G4VKaonBuilder.cc + G4VNeutronBuilder.cc + G4VPiKBuilder.cc + G4VPionBuilder.cc + G4VProtonBuilder.cc + G4WarnPLStatus.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4cuts + G4decay + G4emhighenergy + G4emlowenergy + G4emstandard + G4emutils + G4geometrymng + G4globman + G4had_im_r_matrix + G4had_mod_man + G4had_mod_util + G4had_muon_nuclear + G4had_neu_hp + G4had_preequ_exciton + G4had_string_diff + G4had_string_frag + G4had_string_man + G4had_theo_max + G4hadronic_HE + G4hadronic_LE + G4hadronic_bert_cascade + G4hadronic_binary + G4hadronic_body_ci + G4hadronic_coherent_elastic + G4hadronic_crosec_ci + G4hadronic_deex_evaporation + G4hadronic_deex_fermi_breakup + G4hadronic_deex_handler + G4hadronic_deex_management + G4hadronic_deex_multifragmentation + G4hadronic_deex_photon_evaporation + G4hadronic_deex_util + G4hadronic_fragm_ci + G4hadronic_incl_cascade + G4hadronic_interface_ci + G4hadronic_mgt + G4hadronic_proc + G4hadronic_proc_ci + G4hadronic_qgstring + G4hadronic_qmd + G4hadronic_radioactivedecay + G4hadronic_stop + G4hadronic_util + G4hadronic_xsect + G4hepnumerics + G4intercoms + G4ions + G4leptons + G4magneticfield + G4materials + G4mesons + G4muons + G4navigation + G4optical + G4partman + G4procman + G4run + G4shortlived + G4track + G4transportation + G4volumes + G4xrays + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4processes + G4run + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/physics_lists/builders/src/G4BertiniPionBuilder.cc b/source/physics_lists/builders/src/G4BertiniPionBuilder.cc new file mode 100644 index 0000000000..ef377e0c25 --- /dev/null +++ b/source/physics_lists/builders/src/G4BertiniPionBuilder.cc @@ -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. * +// ******************************************************************** +// +// $Id: G4BertiniPionBuilder.cc,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4BertiniPionBuilder +// +// Author: 2010 G.Folger +// devired from G4BertiniPiKBuilder +// +// Modified: +// 02.04.2009 V.Ivanchenko remove add cross section, string builderis reponsible +// +//---------------------------------------------------------------------------- +// +#include "G4BertiniPionBuilder.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" + +G4BertiniPionBuilder:: +G4BertiniPionBuilder() + { + thePiData = new G4PiNuclearCrossSection; + theMin = 0*GeV; + theMax = 9.9*GeV; + theModel = new G4CascadeInterface; + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(theMax); + } + +G4BertiniPionBuilder::~G4BertiniPionBuilder() +{ +} + +void G4BertiniPionBuilder:: +Build(G4PionPlusInelasticProcess * aP) + { + aP->RegisterMe(theModel); + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(theMax); + } + +void G4BertiniPionBuilder:: +Build(G4PionMinusInelasticProcess * aP) + { + aP->RegisterMe(theModel); + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(theMax); + } + +void G4BertiniPionBuilder:: +Build(G4HadronElasticProcess * ) {} + + diff --git a/source/physics_lists/builders/src/G4ChargeExchangePhysics.cc b/source/physics_lists/builders/src/G4ChargeExchangePhysics.cc index 61297c5459..c8371b672f 100644 --- a/source/physics_lists/builders/src/G4ChargeExchangePhysics.cc +++ b/source/physics_lists/builders/src/G4ChargeExchangePhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ChargeExchangePhysics.cc,v 1.1 2008/11/20 12:38:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ChargeExchangePhysics.cc,v 1.2 2010/06/03 14:37:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -58,6 +58,14 @@ G4ChargeExchangePhysics::G4ChargeExchangePhysics(G4int ver, G4bool glauber) model = 0; } +G4ChargeExchangePhysics::G4ChargeExchangePhysics(G4int ver) + : G4VPhysicsConstructor("chargeExchange"), verbose(ver), glFlag(false), + wasActivated(false) +{ + if(verbose > 1) G4cout << "### ChargeExchangePhysics" << G4endl; + model = 0; +} + G4ChargeExchangePhysics::~G4ChargeExchangePhysics() { delete model; diff --git a/source/physics_lists/builders/src/G4ChipsKaonBuilder.cc b/source/physics_lists/builders/src/G4ChipsKaonBuilder.cc new file mode 100644 index 0000000000..b9939b82c7 --- /dev/null +++ b/source/physics_lists/builders/src/G4ChipsKaonBuilder.cc @@ -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. * +// ******************************************************************** +// +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// Author: 2010 G.Folger +// devired from G4LEPPiKBuilder +// +// +// Modified: +// +//---------------------------------------------------------------------------- +// +#include "G4ChipsKaonBuilder.hh" + +#include "globals.hh" +#include "G4ios.hh" +#include "G4MesonConstructor.hh" +#include "G4ProcessManager.hh" + +G4ChipsKaonBuilder::G4ChipsKaonBuilder(G4int ver) + : verb(ver) +{ + theInelastic = new G4QInelastic(); +} + +G4ChipsKaonBuilder:: +~G4ChipsKaonBuilder() +{ + delete theInelastic; +} + +void G4ChipsKaonBuilder::Build() +{ + static G4bool onceOnly(true); + if ( onceOnly ) + { + if (verb > 0 ) + {G4cout << "Info - G4ChipsKaonBuilder::Build() not adding elastic" << + G4endl;} + + attachProcess(G4KaonPlus::KaonPlus()); + attachProcess(G4KaonMinus::KaonMinus()); + attachProcess(G4KaonZeroShort::KaonZeroShort()); + attachProcess(G4KaonZeroLong::KaonZeroLong()); + onceOnly=false; + } +} + +void G4ChipsKaonBuilder::attachProcess(G4ParticleDefinition * pDef) +{ + if ( verb > 0 ) { + G4cout << " Using G4Qinelastic for " << pDef->GetParticleName() + << G4endl; + } + G4ProcessManager* pMan = pDef->GetProcessManager(); + pMan->AddDiscreteProcess(theInelastic); +} diff --git a/source/physics_lists/builders/src/G4DecayPhysics.cc b/source/physics_lists/builders/src/G4DecayPhysics.cc index 69215f2c34..f98ae79b1e 100644 --- a/source/physics_lists/builders/src/G4DecayPhysics.cc +++ b/source/physics_lists/builders/src/G4DecayPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DecayPhysics.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DecayPhysics.cc,v 1.2 2010/06/03 14:37:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -54,6 +54,10 @@ #include "G4ShortLivedConstructor.hh" +G4DecayPhysics::G4DecayPhysics(G4int ver) + : G4VPhysicsConstructor("Decay"), verbose(ver), wasActivated(false) +{} + G4DecayPhysics::G4DecayPhysics(const G4String& name, G4int ver) : G4VPhysicsConstructor(name), verbose(ver), wasActivated(false) {} diff --git a/source/physics_lists/builders/src/G4EmDNAPhysics.cc b/source/physics_lists/builders/src/G4EmDNAPhysics.cc index f46d3711a3..2e24e7d55b 100644 --- a/source/physics_lists/builders/src/G4EmDNAPhysics.cc +++ b/source/physics_lists/builders/src/G4EmDNAPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmDNAPhysics.cc,v 1.2 2009/11/01 13:21:13 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmDNAPhysics.cc,v 1.8 2010/11/25 07:44:55 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #include "G4EmDNAPhysics.hh" @@ -38,19 +38,11 @@ #include "G4DNAScreenedRutherfordElasticModel.hh" #include "G4DNAExcitation.hh" -#include "G4DNAEmfietzoglouExcitationModel.hh" -#include "G4DNAMillerGreenExcitationModel.hh" -#include "G4DNABornExcitationModel.hh" - +#include "G4DNAAttachment.hh" +#include "G4DNAVibExcitation.hh" #include "G4DNAIonisation.hh" -#include "G4DNABornIonisationModel.hh" -#include "G4DNARuddIonisationModel.hh" - #include "G4DNAChargeDecrease.hh" -#include "G4DNADingfelderChargeDecreaseModel.hh" - #include "G4DNAChargeIncrease.hh" -#include "G4DNADingfelderChargeIncreaseModel.hh" // particles @@ -61,6 +53,7 @@ // e+ #include "G4Positron.hh" #include "G4eMultipleScattering.hh" +#include "G4GoudsmitSaundersonMscModel.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" @@ -78,9 +71,14 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmDNAPhysics::G4EmDNAPhysics( - G4int ver, const G4String& name) - : G4VPhysicsConstructor(name), verbose(ver) +G4EmDNAPhysics::G4EmDNAPhysics(G4int ver) + : G4VPhysicsConstructor("G4EmDNAPhysics"), verbose(ver) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4EmDNAPhysics::G4EmDNAPhysics(G4int ver, const G4String&) + : G4VPhysicsConstructor("G4EmDNAPhysics"), verbose(ver) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -131,10 +129,10 @@ void G4EmDNAPhysics::ConstructProcess() // *** Elastic scattering (two alternative models available) *** G4DNAElastic* theDNAElasticProcess = new G4DNAElastic(); - theDNAElasticProcess->SetModel(new G4DNAScreenedRutherfordElasticModel()); + // theDNAElasticProcess->SetModel(new G4DNAChampionElasticModel()); // or alternative model - // theDNAElasticProcess->SetModel(new G4DNAChampionElasticModel()); + theDNAElasticProcess->SetModel(new G4DNAScreenedRutherfordElasticModel()); pmanager->AddDiscreteProcess(theDNAElasticProcess); @@ -144,6 +142,12 @@ void G4EmDNAPhysics::ConstructProcess() // *** Ionisation *** pmanager->AddDiscreteProcess(new G4DNAIonisation()); + // *** Vibrational excitation *** + pmanager->AddDiscreteProcess(new G4DNAVibExcitation()); + + // *** Attachment *** + pmanager->AddDiscreteProcess(new G4DNAAttachment()); + } else if ( particleName == "proton" ) { pmanager->AddDiscreteProcess(new G4DNAExcitation()); @@ -151,6 +155,7 @@ void G4EmDNAPhysics::ConstructProcess() pmanager->AddDiscreteProcess(new G4DNAChargeDecrease()); } else if ( particleName == "hydrogen" ) { + pmanager->AddDiscreteProcess(new G4DNAExcitation()); pmanager->AddDiscreteProcess(new G4DNAIonisation()); pmanager->AddDiscreteProcess(new G4DNAChargeIncrease()); @@ -184,6 +189,7 @@ void G4EmDNAPhysics::ConstructProcess() G4eMultipleScattering* msc = new G4eMultipleScattering(); msc->SetStepLimitType(fUseDistanceToBoundary); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); pmanager->AddProcess(msc, -1, 1, 1); G4eIonisation* eIoni = new G4eIonisation(); diff --git a/source/physics_lists/builders/src/G4EmExtraPhysics.cc b/source/physics_lists/builders/src/G4EmExtraPhysics.cc index 2895321c70..b7f72bffe8 100644 --- a/source/physics_lists/builders/src/G4EmExtraPhysics.cc +++ b/source/physics_lists/builders/src/G4EmExtraPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmExtraPhysics.cc,v 1.3 2008/01/08 10:36:32 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EmExtraPhysics.cc,v 1.4 2010/06/02 17:21:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -52,11 +52,20 @@ #include "G4MuonMinus.hh" #include "G4ProcessManager.hh" -G4EmExtraPhysics::G4EmExtraPhysics(const G4String& name): - G4VPhysicsConstructor(name), wasBuilt(false), gnActivated(false), munActivated(false), - synActivated(false), synchOn(false), gammNucOn(true), muNucOn(false), - theElectronSynch(0), thePositronSynch(0), theGNPhysics(0), theMuNuc1(0), - theMuNuc2(0) +G4EmExtraPhysics::G4EmExtraPhysics(G4int ver): + G4VPhysicsConstructor("G4GammaLeptoNuclearPhys"), wasBuilt(false), gnActivated(false), + munActivated(false), synActivated(false), synchOn(false), gammNucOn(true), muNucOn(false), + theElectronSynch(0), thePositronSynch(0), theGNPhysics(0), theMuNuc1(0), theMuNuc2(0), + verbose(ver) +{ + theMessenger = new G4EmMessenger(this); +} + +G4EmExtraPhysics::G4EmExtraPhysics(const G4String&): + G4VPhysicsConstructor("G4GammaLeptoNuclearPhys"), wasBuilt(false), gnActivated(false), + munActivated(false), synActivated(false), synchOn(false), gammNucOn(true), muNucOn(false), + theElectronSynch(0), thePositronSynch(0), theGNPhysics(0), theMuNuc1(0), theMuNuc2(0), + verbose(1) { theMessenger = new G4EmMessenger(this); } diff --git a/source/physics_lists/builders/src/G4EmLivermorePhysics.cc b/source/physics_lists/builders/src/G4EmLivermorePhysics.cc index 9b85030274..3fe5b714da 100644 --- a/source/physics_lists/builders/src/G4EmLivermorePhysics.cc +++ b/source/physics_lists/builders/src/G4EmLivermorePhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmLivermorePhysics.cc,v 1.7 2009/11/24 12:53:22 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmLivermorePhysics.cc,v 1.12 2010/10/10 15:18:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #include "G4EmLivermorePhysics.hh" @@ -79,12 +79,14 @@ #include "G4hIonisation.hh" #include "G4ionIonisation.hh" +#include "G4alphaIonisation.hh" #include "G4IonParametrisedLossModel.hh" #include "G4NuclearStopping.hh" // msc models #include "G4UrbanMscModel93.hh" #include "G4WentzelVIModel.hh" +#include "G4GoudsmitSaundersonMscModel.hh" #include "G4CoulombScattering.hh" // @@ -113,9 +115,16 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmLivermorePhysics::G4EmLivermorePhysics( - G4int ver, const G4String& name) - : G4VPhysicsConstructor(name), verbose(ver) +G4EmLivermorePhysics::G4EmLivermorePhysics(G4int ver) + : G4VPhysicsConstructor("G4EmLivermorePhysics"), verbose(ver) +{ + G4LossTableManager::Instance(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4EmLivermorePhysics::G4EmLivermorePhysics(G4int ver, const G4String&) + : G4VPhysicsConstructor("G4EmLivermorePhysics"), verbose(ver) { G4LossTableManager::Instance(); } @@ -210,7 +219,8 @@ void G4EmLivermorePhysics::ConstructProcess() } else if (particleName == "e-") { G4eMultipleScattering* msc = new G4eMultipleScattering(); - msc->AddEmModel(0, new G4UrbanMscModel93()); + //msc->AddEmModel(0, new G4UrbanMscModel93()); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); msc->SetStepLimitType(fUseDistanceToBoundary); pmanager->AddProcess(msc, -1, 1, 1); @@ -218,7 +228,7 @@ void G4EmLivermorePhysics::ConstructProcess() G4eIonisation* eIoni = new G4eIonisation(); G4LivermoreIonisationModel* theIoniLivermore = new G4LivermoreIonisationModel(); - theIoniLivermore->SetHighEnergyLimit(LivermoreHighEnergyLimit); + theIoniLivermore->SetHighEnergyLimit(1*MeV); eIoni->AddEmModel(0, theIoniLivermore, new G4UniversalFluctuation() ); eIoni->SetStepFunction(0.2, 100*um); // pmanager->AddProcess(eIoni, -1, 2, 2); @@ -236,7 +246,8 @@ void G4EmLivermorePhysics::ConstructProcess() // Identical to G4EmStandardPhysics_option3 G4eMultipleScattering* msc = new G4eMultipleScattering(); - msc->AddEmModel(0, new G4UrbanMscModel93()); + //msc->AddEmModel(0, new G4UrbanMscModel93()); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); msc->SetStepLimitType(fUseDistanceToBoundary); pmanager->AddProcess(msc, -1, 1, 1); @@ -309,6 +320,9 @@ void G4EmLivermorePhysics::ConstructProcess() particleName == "D-" || particleName == "Ds+" || particleName == "Ds-" || + particleName == "anti_He3" || + particleName == "anti_alpha" || + particleName == "anti_deuteron" || particleName == "anti_lambda_c+" || particleName == "anti_omega-" || particleName == "anti_proton" || @@ -316,6 +330,7 @@ void G4EmLivermorePhysics::ConstructProcess() particleName == "anti_sigma_c++" || particleName == "anti_sigma+" || particleName == "anti_sigma-" || + particleName == "anti_triton" || particleName == "anti_xi_c+" || particleName == "anti_xi-" || particleName == "deuteron" || diff --git a/source/physics_lists/builders/src/G4EmLivermorePolarizedPhysics.cc b/source/physics_lists/builders/src/G4EmLivermorePolarizedPhysics.cc index 899123122e..9d4a13d5cf 100644 --- a/source/physics_lists/builders/src/G4EmLivermorePolarizedPhysics.cc +++ b/source/physics_lists/builders/src/G4EmLivermorePolarizedPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmLivermorePolarizedPhysics.cc,v 1.6 2009/11/24 12:53:22 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmLivermorePolarizedPhysics.cc,v 1.12 2010/11/10 17:33:02 flongo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #include "G4EmLivermorePolarizedPhysics.hh" @@ -36,13 +36,13 @@ // gamma #include "G4PhotoElectricEffect.hh" -#include "G4LivermorePhotoElectricModel.hh" +#include "G4LivermorePolarizedPhotoElectricModel.hh" #include "G4ComptonScattering.hh" #include "G4LivermorePolarizedComptonModel.hh" #include "G4GammaConversion.hh" -#include "G4LivermoreGammaConversionModel.hh" +#include "G4LivermorePolarizedGammaConversionModel.hh" #include "G4RayleighScattering.hh" #include "G4LivermorePolarizedRayleighModel.hh" @@ -79,12 +79,14 @@ #include "G4hIonisation.hh" #include "G4ionIonisation.hh" +#include "G4alphaIonisation.hh" #include "G4IonParametrisedLossModel.hh" #include "G4NuclearStopping.hh" // msc models #include "G4UrbanMscModel93.hh" #include "G4WentzelVIModel.hh" +#include "G4GoudsmitSaundersonMscModel.hh" #include "G4CoulombScattering.hh" // @@ -113,9 +115,16 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmLivermorePolarizedPhysics::G4EmLivermorePolarizedPhysics( - G4int ver, const G4String& name) - : G4VPhysicsConstructor(name), verbose(ver) +G4EmLivermorePolarizedPhysics::G4EmLivermorePolarizedPhysics(G4int ver) + : G4VPhysicsConstructor("G4EmLivermorePolarizedPhysics"), verbose(ver) +{ + G4LossTableManager::Instance(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4EmLivermorePolarizedPhysics::G4EmLivermorePolarizedPhysics(G4int ver, const G4String&) + : G4VPhysicsConstructor("G4EmLivermorePolarizedPhysics"), verbose(ver) { G4LossTableManager::Instance(); } @@ -181,7 +190,7 @@ void G4EmLivermorePolarizedPhysics::ConstructProcess() if (particleName == "gamma") { G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); - G4LivermorePhotoElectricModel* theLivermorePhotoElectricModel = new G4LivermorePhotoElectricModel(); + G4LivermorePolarizedPhotoElectricModel* theLivermorePhotoElectricModel = new G4LivermorePolarizedPhotoElectricModel(); theLivermorePhotoElectricModel->SetHighEnergyLimit(LivermoreHighEnergyLimit); thePhotoElectricEffect->AddEmModel(0, theLivermorePhotoElectricModel); pmanager->AddDiscreteProcess(thePhotoElectricEffect); @@ -193,7 +202,7 @@ void G4EmLivermorePolarizedPhysics::ConstructProcess() pmanager->AddDiscreteProcess(theComptonScattering); G4GammaConversion* theGammaConversion = new G4GammaConversion(); - G4LivermoreGammaConversionModel* theLivermoreGammaConversionModel = new G4LivermoreGammaConversionModel(); + G4LivermorePolarizedGammaConversionModel* theLivermoreGammaConversionModel = new G4LivermorePolarizedGammaConversionModel(); theLivermoreGammaConversionModel->SetHighEnergyLimit(LivermoreHighEnergyLimit); theGammaConversion->AddEmModel(0, theLivermoreGammaConversionModel); pmanager->AddDiscreteProcess(theGammaConversion); @@ -207,7 +216,8 @@ void G4EmLivermorePolarizedPhysics::ConstructProcess() } else if (particleName == "e-") { G4eMultipleScattering* msc = new G4eMultipleScattering(); - msc->AddEmModel(0, new G4UrbanMscModel93()); + //msc->AddEmModel(0, new G4UrbanMscModel93()); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); msc->SetStepLimitType(fUseDistanceToBoundary); pmanager->AddProcess(msc, -1, 1, 1); @@ -215,7 +225,7 @@ void G4EmLivermorePolarizedPhysics::ConstructProcess() G4eIonisation* eIoni = new G4eIonisation(); G4LivermoreIonisationModel* theIoniLivermore = new G4LivermoreIonisationModel(); - theIoniLivermore->SetHighEnergyLimit(LivermoreHighEnergyLimit); + theIoniLivermore->SetHighEnergyLimit(1*MeV); eIoni->AddEmModel(0, theIoniLivermore, new G4UniversalFluctuation() ); eIoni->SetStepFunction(0.2, 100*um); // pmanager->AddProcess(eIoni, -1, 2, 2); @@ -233,7 +243,8 @@ void G4EmLivermorePolarizedPhysics::ConstructProcess() // Identical to G4EmStandardPhysics_option3 G4eMultipleScattering* msc = new G4eMultipleScattering(); - msc->AddEmModel(0, new G4UrbanMscModel93()); + //msc->AddEmModel(0, new G4UrbanMscModel93()); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); msc->SetStepLimitType(fUseDistanceToBoundary); pmanager->AddProcess(msc, -1, 1, 1); @@ -306,6 +317,9 @@ void G4EmLivermorePolarizedPhysics::ConstructProcess() particleName == "D-" || particleName == "Ds+" || particleName == "Ds-" || + particleName == "anti_He3" || + particleName == "anti_alpha" || + particleName == "anti_deuteron" || particleName == "anti_lambda_c+" || particleName == "anti_omega-" || particleName == "anti_proton" || @@ -313,6 +327,7 @@ void G4EmLivermorePolarizedPhysics::ConstructProcess() particleName == "anti_sigma_c++" || particleName == "anti_sigma+" || particleName == "anti_sigma-" || + particleName == "anti_triton" || particleName == "anti_xi_c+" || particleName == "anti_xi-" || particleName == "deuteron" || diff --git a/source/physics_lists/builders/src/G4EmPenelopePhysics.cc b/source/physics_lists/builders/src/G4EmPenelopePhysics.cc index b64300e6af..75a639fe55 100644 --- a/source/physics_lists/builders/src/G4EmPenelopePhysics.cc +++ b/source/physics_lists/builders/src/G4EmPenelopePhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmPenelopePhysics.cc,v 1.7 2009/11/24 12:53:22 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmPenelopePhysics.cc,v 1.12 2010/10/10 15:18:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #include "G4EmPenelopePhysics.hh" @@ -80,12 +80,14 @@ #include "G4hIonisation.hh" #include "G4ionIonisation.hh" +#include "G4alphaIonisation.hh" #include "G4IonParametrisedLossModel.hh" #include "G4NuclearStopping.hh" // msc models #include "G4UrbanMscModel93.hh" #include "G4WentzelVIModel.hh" +#include "G4GoudsmitSaundersonMscModel.hh" #include "G4CoulombScattering.hh" // @@ -114,9 +116,16 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmPenelopePhysics::G4EmPenelopePhysics( - G4int ver, const G4String& name) - : G4VPhysicsConstructor(name), verbose(ver) +G4EmPenelopePhysics::G4EmPenelopePhysics(G4int ver) + : G4VPhysicsConstructor("G4EmPenelopePhysics"), verbose(ver) +{ + G4LossTableManager::Instance(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4EmPenelopePhysics::G4EmPenelopePhysics(G4int ver, const G4String&) + : G4VPhysicsConstructor("G4EmPenelopePhysics"), verbose(ver) { G4LossTableManager::Instance(); } @@ -215,7 +224,8 @@ void G4EmPenelopePhysics::ConstructProcess() } else if (particleName == "e-") { G4eMultipleScattering* msc = new G4eMultipleScattering(); - msc->AddEmModel(0, new G4UrbanMscModel93()); + //msc->AddEmModel(0, new G4UrbanMscModel93()); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); msc->SetStepLimitType(fUseDistanceToBoundary); pmanager->AddProcess(msc, -1, 1, 1); @@ -239,7 +249,8 @@ void G4EmPenelopePhysics::ConstructProcess() } else if (particleName == "e+") { G4eMultipleScattering* msc = new G4eMultipleScattering(); - msc->AddEmModel(0, new G4UrbanMscModel93()); + //msc->AddEmModel(0, new G4UrbanMscModel93()); + msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); msc->SetStepLimitType(fUseDistanceToBoundary); pmanager->AddProcess(msc, -1, 1, 1); @@ -330,6 +341,9 @@ void G4EmPenelopePhysics::ConstructProcess() particleName == "D-" || particleName == "Ds+" || particleName == "Ds-" || + particleName == "anti_He3" || + particleName == "anti_alpha" || + particleName == "anti_deuteron" || particleName == "anti_lambda_c+" || particleName == "anti_omega-" || particleName == "anti_proton" || @@ -337,6 +351,7 @@ void G4EmPenelopePhysics::ConstructProcess() particleName == "anti_sigma_c++" || particleName == "anti_sigma+" || particleName == "anti_sigma-" || + particleName == "anti_triton" || particleName == "anti_xi_c+" || particleName == "anti_xi-" || particleName == "deuteron" || diff --git a/source/physics_lists/builders/src/G4EmStandardPhysics.cc b/source/physics_lists/builders/src/G4EmStandardPhysics.cc index 192dd5d022..aac1cf6aac 100644 --- a/source/physics_lists/builders/src/G4EmStandardPhysics.cc +++ b/source/physics_lists/builders/src/G4EmStandardPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmStandardPhysics.cc,v 1.20 2009/10/30 18:36:15 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmStandardPhysics.cc,v 1.24 2010/10/10 15:18:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -56,6 +56,8 @@ #include "G4eMultipleScattering.hh" #include "G4MuMultipleScattering.hh" #include "G4hMultipleScattering.hh" +#include "G4CoulombScattering.hh" +#include "G4WentzelVIModel.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -69,6 +71,7 @@ #include "G4hIonisation.hh" #include "G4ionIonisation.hh" +#include "G4alphaIonisation.hh" #include "G4Gamma.hh" #include "G4Electron.hh" @@ -89,8 +92,16 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmStandardPhysics::G4EmStandardPhysics(G4int ver, const G4String& name) - : G4VPhysicsConstructor(name), verbose(ver) +G4EmStandardPhysics::G4EmStandardPhysics(G4int ver) + : G4VPhysicsConstructor("G4EmStandard"), verbose(ver) +{ + G4LossTableManager::Instance(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4EmStandardPhysics::G4EmStandardPhysics(G4int ver, const G4String&) + : G4VPhysicsConstructor("G4EmStandard"), verbose(ver) { G4LossTableManager::Instance(); } @@ -168,10 +179,13 @@ void G4EmStandardPhysics::ConstructProcess() } else if (particleName == "mu+" || particleName == "mu-" ) { - 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); + G4MuMultipleScattering* msc = new G4MuMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -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->AddDiscreteProcess(new G4CoulombScattering()); } else if (particleName == "alpha" || particleName == "He3") { @@ -201,6 +215,9 @@ void G4EmStandardPhysics::ConstructProcess() particleName == "D-" || particleName == "Ds+" || particleName == "Ds-" || + particleName == "anti_He3" || + particleName == "anti_alpha" || + particleName == "anti_deuteron" || particleName == "anti_lambda_c+" || particleName == "anti_omega-" || particleName == "anti_proton" || @@ -208,6 +225,7 @@ void G4EmStandardPhysics::ConstructProcess() particleName == "anti_sigma_c++" || particleName == "anti_sigma+" || particleName == "anti_sigma-" || + particleName == "anti_triton" || particleName == "anti_xi_c+" || particleName == "anti_xi-" || particleName == "deuteron" || @@ -229,6 +247,7 @@ void G4EmStandardPhysics::ConstructProcess() } G4EmProcessOptions opt; opt.SetVerbose(verbose); + opt.SetPolarAngleLimit(0.2); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/physics_lists/builders/src/G4EmStandardPhysics_option1.cc b/source/physics_lists/builders/src/G4EmStandardPhysics_option1.cc index 4edf118f7d..0c11c94ad4 100644 --- a/source/physics_lists/builders/src/G4EmStandardPhysics_option1.cc +++ b/source/physics_lists/builders/src/G4EmStandardPhysics_option1.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmStandardPhysics_option1.cc,v 1.15 2009/10/30 18:36:15 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmStandardPhysics_option1.cc,v 1.21 2010/11/20 21:07:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -41,6 +41,8 @@ // 13.02.2007 V.Ivanchenko set skin=0.0 // 15.05.2007 V.Ivanchenko rename to _option1 // 21.04.2008 V.Ivanchenko add long-lived D and B mesons +// 19.11.2010 V.Ivanchenko added WentzelVI model for muons; +// disable ApplyCut option for compatibility with 9.2 // //---------------------------------------------------------------------------- // @@ -58,7 +60,8 @@ #include "G4eMultipleScattering.hh" #include "G4MuMultipleScattering.hh" #include "G4hMultipleScattering.hh" -#include "G4MscStepLimitType.hh" +#include "G4CoulombScattering.hh" +#include "G4WentzelVIModel.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -72,6 +75,7 @@ #include "G4hIonisation.hh" #include "G4ionIonisation.hh" +#include "G4alphaIonisation.hh" #include "G4Gamma.hh" #include "G4Electron.hh" @@ -92,9 +96,16 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmStandardPhysics_option1::G4EmStandardPhysics_option1( - G4int ver, const G4String& name) - : G4VPhysicsConstructor(name), verbose(ver) +G4EmStandardPhysics_option1::G4EmStandardPhysics_option1(G4int ver) + : G4VPhysicsConstructor("G4EmStandard_opt1"), verbose(ver) +{ + G4LossTableManager::Instance(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4EmStandardPhysics_option1::G4EmStandardPhysics_option1(G4int ver, const G4String&) + : G4VPhysicsConstructor("G4EmStandard_opt1"), verbose(ver) { G4LossTableManager::Instance(); } @@ -180,10 +191,13 @@ void G4EmStandardPhysics_option1::ConstructProcess() } else if (particleName == "mu+" || particleName == "mu-" ) { - 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); + G4MuMultipleScattering* msc = new G4MuMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -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->AddDiscreteProcess(new G4CoulombScattering()); } else if (particleName == "alpha" || particleName == "He3") { @@ -213,6 +227,9 @@ void G4EmStandardPhysics_option1::ConstructProcess() particleName == "D-" || particleName == "Ds+" || particleName == "Ds-" || + particleName == "anti_He3" || + particleName == "anti_alpha" || + particleName == "anti_deuteron" || particleName == "anti_lambda_c+" || particleName == "anti_omega-" || particleName == "anti_proton" || @@ -220,6 +237,7 @@ void G4EmStandardPhysics_option1::ConstructProcess() particleName == "anti_sigma_c++" || particleName == "anti_sigma+" || particleName == "anti_sigma-" || + particleName == "anti_triton" || particleName == "anti_xi_c+" || particleName == "anti_xi-" || particleName == "deuteron" || diff --git a/source/physics_lists/builders/src/G4EmStandardPhysics_option2.cc b/source/physics_lists/builders/src/G4EmStandardPhysics_option2.cc index a32b166f2d..8a963918f9 100644 --- a/source/physics_lists/builders/src/G4EmStandardPhysics_option2.cc +++ b/source/physics_lists/builders/src/G4EmStandardPhysics_option2.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmStandardPhysics_option2.cc,v 1.20 2009/11/24 12:53:22 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmStandardPhysics_option2.cc,v 1.29 2010/11/21 15:47:03 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -56,6 +56,8 @@ #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" +#include "G4PEEffectFluoModel.hh" +#include "G4KleinNishinaModel.hh" #include "G4eMultipleScattering.hh" #include "G4hMultipleScattering.hh" @@ -67,7 +69,10 @@ #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" +#include "G4eBremsstrahlungModel.hh" #include "G4eplusAnnihilation.hh" +#include "G4Generator2BS.hh" +#include "G4UAtomicDeexcitation.hh" #include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" @@ -77,6 +82,7 @@ #include "G4hIonisation.hh" #include "G4ionIonisation.hh" +#include "G4alphaIonisation.hh" //#include "G4IonParametrisedLossModel.hh" #include "G4Gamma.hh" @@ -98,9 +104,16 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmStandardPhysics_option2::G4EmStandardPhysics_option2( - G4int ver, const G4String& name) - : G4VPhysicsConstructor(name), verbose(ver) +G4EmStandardPhysics_option2::G4EmStandardPhysics_option2(G4int ver) + : G4VPhysicsConstructor("G4EmStandard_opt2"), verbose(ver) +{ + G4LossTableManager::Instance(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4EmStandardPhysics_option2::G4EmStandardPhysics_option2(G4int ver, const G4String&) + : G4VPhysicsConstructor("G4EmStandard_opt2"), verbose(ver) { G4LossTableManager::Instance(); } @@ -158,28 +171,46 @@ void G4EmStandardPhysics_option2::ConstructProcess() if (particleName == "gamma") { - pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); - pmanager->AddDiscreteProcess(new G4ComptonScattering); + G4PhotoElectricEffect* pe = new G4PhotoElectricEffect; + pe->SetModel(new G4PEEffectFluoModel()); + G4ComptonScattering* cs = new G4ComptonScattering; + cs->SetModel(new G4KleinNishinaModel()); + pmanager->AddDiscreteProcess(pe); + pmanager->AddDiscreteProcess(cs); pmanager->AddDiscreteProcess(new G4GammaConversion); } else if (particleName == "e-") { G4eMultipleScattering* msc = new G4eMultipleScattering(); - msc->AddEmModel(0, new G4UrbanMscModel93()); + //msc->AddEmModel(0, new G4WentzelVIModel()); + //msc->SetRangeFactor(0.04); + //msc->AddEmModel(0, new G4UrbanMscModel93()); // msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); - pmanager->AddProcess(msc, -1, 1, 1); + G4eBremsstrahlung* brem = new G4eBremsstrahlung(); + G4eBremsstrahlungModel* br = new G4eBremsstrahlungModel(); + br->SetAngularDistribution(new G4Generator2BS()); + brem->SetEmModel(br); + pmanager->AddProcess(msc, -1, 1, 1); pmanager->AddProcess(new G4eIonisation, -1, 2, 2); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-3, 3); + pmanager->AddProcess(brem, -1, 3, 3); + //pmanager->AddDiscreteProcess(new G4CoulombScattering()); } else if (particleName == "e+") { G4eMultipleScattering* msc = new G4eMultipleScattering(); - msc->AddEmModel(0, new G4UrbanMscModel93()); + //msc->AddEmModel(0, new G4UrbanMscModel93()); + //msc->AddEmModel(0, new G4WentzelVIModel()); + //msc->SetRangeFactor(0.04); // msc->AddEmModel(0, new G4GoudsmitSaundersonMscModel()); - pmanager->AddProcess(msc, -1, 1, 1); + G4eBremsstrahlung* brem = new G4eBremsstrahlung(); + G4eBremsstrahlungModel* br = new G4eBremsstrahlungModel(); + br->SetAngularDistribution(new G4Generator2BS()); + brem->SetEmModel(br); + pmanager->AddProcess(msc, -1, 1, 1); pmanager->AddProcess(new G4eIonisation, -1, 2, 2); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-3, 3); + pmanager->AddProcess(brem, -1, 3, 3); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); + //pmanager->AddDiscreteProcess(new G4CoulombScattering()); } else if (particleName == "mu+" || particleName == "mu-" ) { @@ -213,7 +244,9 @@ void G4EmStandardPhysics_option2::ConstructProcess() particleName == "kaon-" || particleName == "proton" ) { - pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + G4hMultipleScattering* msc = new G4hMultipleScattering(); + msc->AddEmModel(0, new G4WentzelVIModel()); + pmanager->AddProcess(msc, -1, 1, 1); pmanager->AddProcess(new G4hIonisation, -1, 2, 2); pmanager->AddProcess(new G4hBremsstrahlung, -1,-3, 3); pmanager->AddProcess(new G4hPairProduction, -1,-4, 4); @@ -224,6 +257,9 @@ void G4EmStandardPhysics_option2::ConstructProcess() particleName == "D-" || particleName == "Ds+" || particleName == "Ds-" || + particleName == "anti_He3" || + particleName == "anti_alpha" || + particleName == "anti_deuteron" || particleName == "anti_lambda_c+" || particleName == "anti_omega-" || particleName == "anti_proton" || @@ -231,6 +267,7 @@ void G4EmStandardPhysics_option2::ConstructProcess() particleName == "anti_sigma_c++" || particleName == "anti_sigma+" || particleName == "anti_sigma-" || + particleName == "anti_triton" || particleName == "anti_xi_c+" || particleName == "anti_xi-" || particleName == "deuteron" || @@ -257,18 +294,19 @@ void G4EmStandardPhysics_option2::ConstructProcess() opt.SetVerbose(verbose); opt.SetApplyCuts(true); - // Physics tables + // Scattering options // - //opt.SetMinEnergy(0.1*keV); - // opt.SetMaxEnergy(10*TeV); - //opt.SetDEDXBinning(77); - //opt.SetLambdaBinning(77); - //opt.SetSplineFlag(true); opt.SetPolarAngleLimit(0.2); // Ionization // //opt.SetSubCutoff(true); + + // Deexcitation + // + G4VAtomDeexcitation* de = new G4UAtomicDeexcitation(); + G4LossTableManager::Instance()->SetAtomDeexcitation(de); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/physics_lists/builders/src/G4EmStandardPhysics_option3.cc b/source/physics_lists/builders/src/G4EmStandardPhysics_option3.cc index 381db7413f..cc79959210 100644 --- a/source/physics_lists/builders/src/G4EmStandardPhysics_option3.cc +++ b/source/physics_lists/builders/src/G4EmStandardPhysics_option3.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmStandardPhysics_option3.cc,v 1.18 2009/11/24 12:53:22 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmStandardPhysics_option3.cc,v 1.24 2010/11/21 15:47:03 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -50,6 +50,8 @@ #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" #include "G4RayleighScattering.hh" +#include "G4PEEffectFluoModel.hh" +#include "G4KleinNishinaModel.hh" #include "G4eMultipleScattering.hh" #include "G4MuMultipleScattering.hh" @@ -62,6 +64,7 @@ #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" +#include "G4UAtomicDeexcitation.hh" #include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" @@ -93,9 +96,16 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmStandardPhysics_option3::G4EmStandardPhysics_option3( - G4int ver, const G4String& name) - : G4VPhysicsConstructor(name), verbose(ver) +G4EmStandardPhysics_option3::G4EmStandardPhysics_option3(G4int ver) + : G4VPhysicsConstructor("G4EmStandard_opt3"), verbose(ver) +{ + G4LossTableManager::Instance(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4EmStandardPhysics_option3::G4EmStandardPhysics_option3(G4int ver, const G4String&) + : G4VPhysicsConstructor("G4EmStandard_opt3"), verbose(ver) { G4LossTableManager::Instance(); } @@ -153,15 +163,19 @@ void G4EmStandardPhysics_option3::ConstructProcess() if (particleName == "gamma") { - pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); - pmanager->AddDiscreteProcess(new G4ComptonScattering); + G4PhotoElectricEffect* pe = new G4PhotoElectricEffect; + pe->SetModel(new G4PEEffectFluoModel()); + G4ComptonScattering* cs = new G4ComptonScattering; + cs->SetModel(new G4KleinNishinaModel()); + pmanager->AddDiscreteProcess(pe); + pmanager->AddDiscreteProcess(cs); pmanager->AddDiscreteProcess(new G4GammaConversion); - pmanager->AddDiscreteProcess(new G4RayleighScattering); + //pmanager->AddDiscreteProcess(new G4RayleighScattering); } else if (particleName == "e-") { G4eMultipleScattering* msc = new G4eMultipleScattering(); - msc->AddEmModel(0, new G4UrbanMscModel93()); + //msc->AddEmModel(0, new G4UrbanMscModel93()); msc->SetStepLimitType(fUseDistanceToBoundary); pmanager->AddProcess(msc, -1, 1, 1); G4eIonisation* eIoni = new G4eIonisation(); @@ -172,7 +186,7 @@ void G4EmStandardPhysics_option3::ConstructProcess() } else if (particleName == "e+") { G4eMultipleScattering* msc = new G4eMultipleScattering(); - msc->AddEmModel(0, new G4UrbanMscModel93()); + //msc->AddEmModel(0, new G4UrbanMscModel93()); msc->SetStepLimitType(fUseDistanceToBoundary); pmanager->AddProcess(msc, -1, 1, 1); G4eIonisation* eIoni = new G4eIonisation(); @@ -231,6 +245,9 @@ void G4EmStandardPhysics_option3::ConstructProcess() particleName == "D-" || particleName == "Ds+" || particleName == "Ds-" || + particleName == "anti_He3" || + particleName == "anti_alpha" || + particleName == "anti_deuteron" || particleName == "anti_lambda_c+" || particleName == "anti_omega-" || particleName == "anti_proton" || @@ -238,6 +255,7 @@ void G4EmStandardPhysics_option3::ConstructProcess() particleName == "anti_sigma_c++" || particleName == "anti_sigma+" || particleName == "anti_sigma-" || + particleName == "anti_triton" || particleName == "anti_xi_c+" || particleName == "anti_xi-" || particleName == "deuteron" || @@ -265,8 +283,7 @@ void G4EmStandardPhysics_option3::ConstructProcess() // Multiple Coulomb scattering // - //opt.SetMscStepLimitation(fUseDistanceToBoundary); - //opt.SetMscRangeFactor(0.02); + opt.SetPolarAngleLimit(0.2); // Physics tables // @@ -274,12 +291,15 @@ void G4EmStandardPhysics_option3::ConstructProcess() opt.SetMaxEnergy(10*TeV); opt.SetDEDXBinning(220); opt.SetLambdaBinning(220); - //opt.SetSplineFlag(true); - opt.SetPolarAngleLimit(0.2); // Ionization // //opt.SetSubCutoff(true); + + // Deexcitation + G4VAtomDeexcitation* de = new G4UAtomicDeexcitation(); + G4LossTableManager::Instance()->SetAtomDeexcitation(de); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/physics_lists/builders/src/G4FTFBinaryNeutronBuilder.cc b/source/physics_lists/builders/src/G4FTFBinaryNeutronBuilder.cc index e2699bebbe..8690abb285 100644 --- a/source/physics_lists/builders/src/G4FTFBinaryNeutronBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFBinaryNeutronBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4FTFBinaryNeutronBuilder.cc,v 1.4 2009/03/31 18:38:33 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFBinaryNeutronBuilder.cc,v 1.5 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,6 +33,8 @@ // Author: 2008 G.Folger // // Modified: +// 18.11.2010 G.Folger, use G4CrossSectionPairGG for relativistic rise of cross +// section at high energies. // 30.03.2009 V.Ivanchenko create cross section by new // //---------------------------------------------------------------------------- @@ -42,6 +44,7 @@ #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" #include "G4NeutronInelasticCrossSection.hh" +#include "G4CrossSectionPairGG.hh" G4FTFBinaryNeutronBuilder:: G4FTFBinaryNeutronBuilder(G4bool quasiElastic) @@ -96,5 +99,6 @@ Build(G4NeutronInelasticProcess * aP) { theModel->SetMinEnergy(theMin); aP->RegisterMe(theModel); - aP->AddDataSet(new G4NeutronInelasticCrossSection); + aP->AddDataSet(new G4CrossSectionPairGG( + new G4NeutronInelasticCrossSection(), 91*GeV)); } diff --git a/source/physics_lists/builders/src/G4FTFBinaryPiKBuilder.cc b/source/physics_lists/builders/src/G4FTFBinaryPiKBuilder.cc index 7606ced696..aa091bed4a 100644 --- a/source/physics_lists/builders/src/G4FTFBinaryPiKBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFBinaryPiKBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4FTFBinaryPiKBuilder.cc,v 1.3 2009/03/31 18:38:33 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFBinaryPiKBuilder.cc,v 1.4 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,6 +33,8 @@ // Author: 2008 G.Folger // // Modified: +// 18.11.2010 G.Folger, use G4CrossSectionPairGG for relativistic rise of cross +// section at high energies. // 30.03.2009 V.Ivanchenko create cross section by new // //---------------------------------------------------------------------------- @@ -41,87 +43,89 @@ #include "G4ParticleDefinition.hh" #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" +#include "G4PiNuclearCrossSection.hh" +#include "G4CrossSectionPairGG.hh" G4FTFBinaryPiKBuilder:: G4FTFBinaryPiKBuilder(G4bool quasiElastic) - { - thePiData = new G4PiNuclearCrossSection; - theMin = 4*GeV; - theModel = new G4TheoFSGenerator("FTFB"); +{ + thePiData = new G4CrossSectionPairGG(new G4PiNuclearCrossSection(), 91*GeV); + theMin = 4*GeV; + theModel = new G4TheoFSGenerator("FTFB"); - theStringModel = new G4FTFModel; - theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); - theStringModel->SetFragmentationModel(theStringDecay); + theStringModel = new G4FTFModel; + theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); + theStringModel->SetFragmentationModel(theStringDecay); - theCascade = new G4BinaryCascade; - thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); - theCascade->SetDeExcitation(thePreEquilib); + theCascade = new G4BinaryCascade; + thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); + theCascade->SetDeExcitation(thePreEquilib); - theModel->SetHighEnergyGenerator(theStringModel); - if (quasiElastic) - { - theQuasiElastic=new G4QuasiElasticChannel; - theModel->SetQuasiElasticChannel(theQuasiElastic); - } else - { theQuasiElastic=0;} + theModel->SetHighEnergyGenerator(theStringModel); + if (quasiElastic) + { + theQuasiElastic=new G4QuasiElasticChannel; + theModel->SetQuasiElasticChannel(theQuasiElastic); + } else + { theQuasiElastic=0;} - theModel->SetTransport(theCascade); - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(100*TeV); - } + theModel->SetTransport(theCascade); + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); +} G4FTFBinaryPiKBuilder:: ~G4FTFBinaryPiKBuilder() - { - delete theCascade; - delete theStringDecay; - delete theStringModel; - delete theModel; - if ( theQuasiElastic ) delete theQuasiElastic; - } +{ + delete theCascade; + delete theStringDecay; + delete theStringModel; + delete theModel; + if ( theQuasiElastic ) delete theQuasiElastic; +} void G4FTFBinaryPiKBuilder:: Build(G4HadronElasticProcess * ) {} void G4FTFBinaryPiKBuilder:: Build(G4PionPlusInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - aP->AddDataSet(thePiData); - aP->RegisterMe(theModel); - } +{ + theModel->SetMinEnergy(theMin); + aP->AddDataSet(thePiData); + aP->RegisterMe(theModel); +} void G4FTFBinaryPiKBuilder:: Build(G4PionMinusInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - aP->AddDataSet(thePiData); - aP->RegisterMe(theModel); - } +{ + theModel->SetMinEnergy(theMin); + aP->AddDataSet(thePiData); + aP->RegisterMe(theModel); +} - void G4FTFBinaryPiKBuilder:: - Build(G4KaonPlusInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - aP->RegisterMe(theModel); - } +void G4FTFBinaryPiKBuilder:: +Build(G4KaonPlusInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + aP->RegisterMe(theModel); +} - void G4FTFBinaryPiKBuilder:: - Build(G4KaonMinusInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - aP->RegisterMe(theModel); - } +void G4FTFBinaryPiKBuilder:: +Build(G4KaonMinusInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + aP->RegisterMe(theModel); +} - void G4FTFBinaryPiKBuilder:: - Build(G4KaonZeroLInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - aP->RegisterMe(theModel); - } +void G4FTFBinaryPiKBuilder:: +Build(G4KaonZeroLInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + aP->RegisterMe(theModel); +} - void G4FTFBinaryPiKBuilder:: - Build(G4KaonZeroSInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - aP->RegisterMe(theModel); - } +void G4FTFBinaryPiKBuilder:: +Build(G4KaonZeroSInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + aP->RegisterMe(theModel); +} diff --git a/source/physics_lists/builders/src/G4FTFBinaryProtonBuilder.cc b/source/physics_lists/builders/src/G4FTFBinaryProtonBuilder.cc index c2f972416a..22b47faaa7 100644 --- a/source/physics_lists/builders/src/G4FTFBinaryProtonBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFBinaryProtonBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4FTFBinaryProtonBuilder.cc,v 1.3 2009/03/31 18:38:33 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFBinaryProtonBuilder.cc,v 1.4 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,6 +33,8 @@ // Author: 2008 G.Folger // // Modified: +// 18.11.2010 G.Folger, use G4CrossSectionPairGG for relativistic rise of cross +// section at high energies. // 30.03.2009 V.Ivanchenko create cross section by new // //---------------------------------------------------------------------------- @@ -42,6 +44,7 @@ #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" #include "G4ProtonInelasticCrossSection.hh" +#include "G4CrossSectionPairGG.hh" G4FTFBinaryProtonBuilder:: G4FTFBinaryProtonBuilder(G4bool quasiElastic) @@ -76,7 +79,8 @@ Build(G4ProtonInelasticProcess * aP) { theModel->SetMinEnergy(theMin); aP->RegisterMe(theModel); - aP->AddDataSet(new G4ProtonInelasticCrossSection); + aP->AddDataSet(new G4CrossSectionPairGG( + new G4ProtonInelasticCrossSection(), 91*GeV)); } G4FTFBinaryProtonBuilder:: diff --git a/source/physics_lists/builders/src/G4FTFBuilder.cc b/source/physics_lists/builders/src/G4FTFBuilder.cc index b0fa7deff0..bb63207b0e 100644 --- a/source/physics_lists/builders/src/G4FTFBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4FTFBuilder.cc,v 1.2 2009/11/25 19:33:18 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFBuilder.cc,v 1.3 2009/12/29 17:54:25 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -45,15 +45,16 @@ #include "G4GeneratorPrecompoundInterface.hh" #include "G4LundStringFragmentation.hh" #include "G4BinaryCascade.hh" +#include "G4PreCompoundModel.hh" -G4FTFBuilder::G4FTFBuilder(const G4String& aName) : G4VHadronModelBuilder(aName) +G4FTFBuilder::G4FTFBuilder(const G4String& aName, G4PreCompoundModel* p) + : G4VHadronModelBuilder(aName), thePreCompound(p) {} G4FTFBuilder::~G4FTFBuilder() { delete theStringDecay; - //delete theStringModel; // is deleted by the model } G4HadronicInteraction* G4FTFBuilder::BuildModel() @@ -64,14 +65,22 @@ G4HadronicInteraction* G4FTFBuilder::BuildModel() theStringModel->SetFragmentationModel(theStringDecay); theFTFModel->SetHighEnergyGenerator(theStringModel); - if(GetName() == "FTFP") { - theFTFModel->SetTransport(new G4GeneratorPrecompoundInterface()); - } else if(GetName() == "FTFC") { + if(!thePreCompound) { + thePreCompound = new G4PreCompoundModel(new G4ExcitationHandler()); + } + + if(GetName() == "FTFC") { theFTFModel->SetTransport(new G4QStringChipsParticleLevelInterface()); + } else if(GetName() == "FTFB") { - theFTFModel->SetTransport(new G4BinaryCascade()); + G4BinaryCascade* bic = new G4BinaryCascade(); + bic->SetDeExcitation(thePreCompound); + theFTFModel->SetTransport(bic); + } else { - theFTFModel->SetTransport(new G4GeneratorPrecompoundInterface()); + G4GeneratorPrecompoundInterface* pint = new G4GeneratorPrecompoundInterface(); + pint->SetDeExcitation(thePreCompound); + theFTFModel->SetTransport(pint); } return theFTFModel; diff --git a/source/physics_lists/builders/src/G4FTFPNeutronBuilder.cc b/source/physics_lists/builders/src/G4FTFPNeutronBuilder.cc index 65f4248b0f..8db0404895 100644 --- a/source/physics_lists/builders/src/G4FTFPNeutronBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFPNeutronBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4FTFPNeutronBuilder.cc,v 1.5 2009/04/23 18:54:57 japost Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFPNeutronBuilder.cc,v 1.7 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,6 +33,8 @@ // Author: 2002 J.P. Wellisch // // Modified: +// 18.11.2010 G.Folger, use G4CrossSectionPairGG for relativistic rise of cross +// section at high energies. // 30.03.2009 V.Ivanchenko create cross section by new // //---------------------------------------------------------------------------- @@ -42,6 +44,7 @@ #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" #include "G4NeutronInelasticCrossSection.hh" +#include "G4CrossSectionPairGG.hh" G4FTFPNeutronBuilder:: G4FTFPNeutronBuilder(G4bool quasiElastic) @@ -51,11 +54,11 @@ G4FTFPNeutronBuilder(G4bool quasiElastic) theModel = new G4TheoFSGenerator("FTFP"); theStringModel = new G4FTFModel; - theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); + theStringDecay = new G4ExcitedStringDecay(theLund = new G4LundStringFragmentation); theStringModel->SetFragmentationModel(theStringDecay); theCascade = new G4GeneratorPrecompoundInterface; - thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); + thePreEquilib = new G4PreCompoundModel(theHandler = new G4ExcitationHandler); theCascade->SetDeExcitation(thePreEquilib); theModel->SetTransport(theCascade); @@ -80,6 +83,8 @@ G4FTFPNeutronBuilder:: delete thePreEquilib; delete theCascade; if ( theQuasiElastic ) delete theQuasiElastic; + delete theHandler; + delete theLund; } void G4FTFPNeutronBuilder:: @@ -103,7 +108,8 @@ Build(G4NeutronInelasticProcess * aP) theModel->SetMinEnergy(theMin); theModel->SetMaxEnergy(theMax); aP->RegisterMe(theModel); - aP->AddDataSet(new G4NeutronInelasticCrossSection); + aP->AddDataSet(new G4CrossSectionPairGG( + new G4NeutronInelasticCrossSection(), 91*GeV)); } // 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4FTFPPiKBuilder.cc b/source/physics_lists/builders/src/G4FTFPPiKBuilder.cc index a6541adf3a..3caf233543 100644 --- a/source/physics_lists/builders/src/G4FTFPPiKBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFPPiKBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4FTFPPiKBuilder.cc,v 1.5 2009/04/23 18:54:57 japost Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFPPiKBuilder.cc,v 1.7 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,6 +33,8 @@ // Author: 2002 J.P. Wellisch // // Modified: +// 18.11.2010 G.Folger, use G4CrossSectionPairGG for relativistic rise of cross +// section at high energies. // 30.03.2009 V.Ivanchenko create cross section by new // //---------------------------------------------------------------------------- @@ -41,96 +43,100 @@ #include "G4ParticleDefinition.hh" #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" +#include "G4PiNuclearCrossSection.hh" +#include "G4CrossSectionPairGG.hh" G4FTFPPiKBuilder:: G4FTFPPiKBuilder(G4bool quasiElastic) - { - thePiData = new G4PiNuclearCrossSection; - theMin = 4*GeV; - theMax = 100*TeV; - theModel = new G4TheoFSGenerator("FTFP"); +{ + thePiData = new G4CrossSectionPairGG(new G4PiNuclearCrossSection(), 91*GeV); + theMin = 4*GeV; + theMax = 100*TeV; + theModel = new G4TheoFSGenerator("FTFP"); - theStringModel = new G4FTFModel; - theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); - theStringModel->SetFragmentationModel(theStringDecay); + theStringModel = new G4FTFModel; + theStringDecay = new G4ExcitedStringDecay(theLund = new G4LundStringFragmentation); + theStringModel->SetFragmentationModel(theStringDecay); - theCascade = new G4GeneratorPrecompoundInterface; - thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); - theCascade->SetDeExcitation(thePreEquilib); + theCascade = new G4GeneratorPrecompoundInterface; + thePreEquilib = new G4PreCompoundModel(theHandler = new G4ExcitationHandler); + theCascade->SetDeExcitation(thePreEquilib); - theModel->SetHighEnergyGenerator(theStringModel); - if (quasiElastic) - { - theQuasiElastic=new G4QuasiElasticChannel; - theModel->SetQuasiElasticChannel(theQuasiElastic); - } else - { theQuasiElastic=0;} + theModel->SetHighEnergyGenerator(theStringModel); + if (quasiElastic) + { + theQuasiElastic=new G4QuasiElasticChannel; + theModel->SetQuasiElasticChannel(theQuasiElastic); + } else + { theQuasiElastic=0;} - theModel->SetTransport(theCascade); - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(100*TeV); - } + theModel->SetTransport(theCascade); + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); +} -G4FTFPPiKBuilder:: ~G4FTFPPiKBuilder() - { - delete theCascade; - delete theStringDecay; - delete theStringModel; - delete theModel; - if ( theQuasiElastic ) delete theQuasiElastic; - } +G4FTFPPiKBuilder::~G4FTFPPiKBuilder() +{ + delete theCascade; + delete theStringDecay; + delete theStringModel; + delete theModel; + if ( theQuasiElastic ) delete theQuasiElastic; + delete theHandler; + delete theLund; +} void G4FTFPPiKBuilder:: Build(G4HadronElasticProcess * ) {} void G4FTFPPiKBuilder:: Build(G4PionPlusInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(theMax); - aP->AddDataSet(thePiData); - aP->RegisterMe(theModel); - } +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(theMax); + aP->AddDataSet(thePiData); + aP->RegisterMe(theModel); +} void G4FTFPPiKBuilder:: Build(G4PionMinusInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(theMax); - aP->AddDataSet(thePiData); - aP->RegisterMe(theModel); - } +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(theMax); + aP->AddDataSet(thePiData); + aP->RegisterMe(theModel); +} void G4FTFPPiKBuilder:: Build(G4KaonPlusInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(theMax); - aP->RegisterMe(theModel); - } +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(theMax); + aP->RegisterMe(theModel); +} void G4FTFPPiKBuilder:: Build(G4KaonMinusInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(theMax); - aP->RegisterMe(theModel); - } +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(theMax); + aP->RegisterMe(theModel); +} void G4FTFPPiKBuilder:: Build(G4KaonZeroLInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(theMax); - aP->RegisterMe(theModel); - } +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(theMax); + aP->RegisterMe(theModel); +} void G4FTFPPiKBuilder:: Build(G4KaonZeroSInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(theMax); - aP->RegisterMe(theModel); - } +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(theMax); + aP->RegisterMe(theModel); +} // 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4FTFPProtonBuilder.cc b/source/physics_lists/builders/src/G4FTFPProtonBuilder.cc index 4df7271916..37d93243f2 100644 --- a/source/physics_lists/builders/src/G4FTFPProtonBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFPProtonBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4FTFPProtonBuilder.cc,v 1.6 2009/04/23 18:54:57 japost Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFPProtonBuilder.cc,v 1.8 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,6 +33,8 @@ // Author: 2002 J.P. Wellisch // // Modified: +// 18.11.2010 G.Folger, use G4CrossSectionPairGG for relativistic rise of cross +// section at high energies. // 30.03.2009 V.Ivanchenko create cross section by new // //---------------------------------------------------------------------------- @@ -42,6 +44,7 @@ #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" #include "G4ProtonInelasticCrossSection.hh" +#include "G4CrossSectionPairGG.hh" G4FTFPProtonBuilder:: G4FTFPProtonBuilder(G4bool quasiElastic) @@ -51,11 +54,11 @@ G4FTFPProtonBuilder(G4bool quasiElastic) theModel = new G4TheoFSGenerator("FTFP"); theStringModel = new G4FTFModel; - theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); + theStringDecay = new G4ExcitedStringDecay(theLund = new G4LundStringFragmentation); theStringModel->SetFragmentationModel(theStringDecay); theCascade = new G4GeneratorPrecompoundInterface; - thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); + thePreEquilib = new G4PreCompoundModel(theHandler = new G4ExcitationHandler); theCascade->SetDeExcitation(thePreEquilib); theModel->SetHighEnergyGenerator(theStringModel); @@ -77,7 +80,8 @@ Build(G4ProtonInelasticProcess * aP) theModel->SetMinEnergy(theMin); theModel->SetMaxEnergy(theMax); aP->RegisterMe(theModel); - aP->AddDataSet(new G4ProtonInelasticCrossSection); + aP->AddDataSet(new G4CrossSectionPairGG( + new G4ProtonInelasticCrossSection(), 91*GeV)); } G4FTFPProtonBuilder:: @@ -88,6 +92,8 @@ G4FTFPProtonBuilder:: delete theModel; delete theCascade; if ( theQuasiElastic ) delete theQuasiElastic; + delete theHandler; + delete theLund; } void G4FTFPProtonBuilder:: diff --git a/source/physics_lists/builders/src/G4HadronDElasticPhysics.cc b/source/physics_lists/builders/src/G4HadronDElasticPhysics.cc index 3e81f8f10f..22ba7dbd83 100644 --- a/source/physics_lists/builders/src/G4HadronDElasticPhysics.cc +++ b/source/physics_lists/builders/src/G4HadronDElasticPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronDElasticPhysics.cc,v 1.3 2008/05/19 10:21:34 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4HadronDElasticPhysics.cc,v 1.7 2010/07/29 10:52:14 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -42,36 +42,58 @@ // 19.02.2007 A.Howard set QModelLowLimit and LowestEnergyLimit to zero // for neutrons // 06.03.2007 V.Ivanchenko use updated interface to G4UElasticCrossSection +// 03.06.2010 V.Ivanchenko cleanup constructors and ConstructProcess method // //---------------------------------------------------------------------------- // +// Diffuse optical model for sampling scattering +// BBG cross sections for p, pi+- +// XS cross sections for n +// LHEP cross sections for other particles #include "G4HadronDElasticPhysics.hh" -#include "G4HadronicProcess.hh" -#include "G4HadronElasticProcess.hh" -#include "G4HadronicInteraction.hh" -#include "G4DiffuseElastic.hh" -#include "G4HadronElastic.hh" - #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" +#include "G4HadronicProcess.hh" #include "G4MesonConstructor.hh" #include "G4BaryonConstructor.hh" #include "G4IonConstructor.hh" #include "G4Neutron.hh" -#include "G4VQCrossSection.hh" -#include "G4UElasticCrossSection.hh" +#include "G4WHadronElasticProcess.hh" +#include "G4VHadronElastic.hh" +#include "G4CHIPSElastic.hh" +#include "G4ElasticHadrNucleusHE.hh" +#include "G4BGGNucleonElasticXS.hh" +#include "G4BGGPionElasticXS.hh" +#include "G4NeutronElasticXS.hh" + +#include "G4DiffuseElastic.hh" + +#include "G4NeutronElasticXS.hh" #include "G4BGGNucleonElasticXS.hh" #include "G4BGGPionElasticXS.hh" -G4HadronDElasticPhysics::G4HadronDElasticPhysics(G4int ver, G4bool hp) - : G4VPhysicsConstructor("DElastic"), mname("DElastic"), verbose(ver), - hpFlag(hp), wasActivated(false) +G4HadronDElasticPhysics::G4HadronDElasticPhysics(G4int ver) + : G4VPhysicsConstructor("hElasticDIFFUSE"), verbose(ver), + wasActivated(false) { - if(verbose > 1) G4cout << "### HadronDElasticPhysics" << G4endl; + if(verbose > 1) { + G4cout << "### G4HadronDElasticPhysics: " << GetPhysicsName() + << G4endl; + } +} + +G4HadronDElasticPhysics::G4HadronDElasticPhysics(G4int ver, G4bool) + : G4VPhysicsConstructor("hElasticDIFFUSE"), verbose(ver), + wasActivated(false) +{ + if(verbose > 1) { + G4cout << "### G4HadronDElasticPhysics: " << GetPhysicsName() + << G4endl; + } } G4HadronDElasticPhysics::~G4HadronDElasticPhysics() @@ -96,19 +118,24 @@ void G4HadronDElasticPhysics::ConstructProcess() if(wasActivated) return; wasActivated = true; - if(verbose > 1) - G4cout << "### HadronDElasticPhysics Construct Processes with the model <" - << mname << ">" << G4endl; + //G4double elimit = 1.0*GeV; + + if(verbose > 1) { + G4cout << "### HadronDElasticPhysics Construct Processes " << G4endl; + } + + //G4VHadronElastic* plep0 = new G4VHadronElastic(); + //G4VHadronElastic* plep1 = new G4VHadronElastic(); + //plep1->SetMaxEnergy(elimit); + + // G4CHIPSElastic* chipsp = new G4CHIPSElastic(); + // G4CHIPSElastic* chipsn = new G4CHIPSElastic(); + + //G4ElasticHadrNucleusHE* he = new G4ElasticHadrNucleusHE(); + //he->SetMinEnergy(elimit); - G4UHadronElasticProcess* hel = 0; G4DiffuseElastic* model = 0; - G4double elimit = 11.0*MeV; - - G4HadronElastic* he = new G4HadronElastic(); - G4VQCrossSection* man = he->GetCS(); - he->SetMaxEnergy(elimit); - theParticleIterator->reset(); while( (*theParticleIterator)() ) { @@ -139,36 +166,23 @@ void G4HadronDElasticPhysics::ConstructProcess() pname == "triton") { G4ProcessManager* pmanager = particle->GetProcessManager(); - hel = new G4UHadronElasticProcess("hElastic"); - hel->SetQElasticCrossSection(man); + G4WHadronElasticProcess* hel = new G4WHadronElasticProcess(); if(pname == "proton") { hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); } else if (pname == "pi+" || pname == "pi-") { hel->AddDataSet(new G4BGGPionElasticXS(particle)); - } else { - hel->AddDataSet(new G4UElasticCrossSection(particle)); } model = new G4DiffuseElastic(particle); hel->RegisterMe(model); - hel->RegisterMe(he); pmanager->AddDiscreteProcess(hel); // neutron case } else if(pname == "neutron") { G4ProcessManager* pmanager = particle->GetProcessManager(); - hel = new G4UHadronElasticProcess("hElastic"); - hel->SetQElasticCrossSection(man); - hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); + G4WHadronElasticProcess* hel = new G4WHadronElasticProcess(); + hel->AddDataSet(new G4NeutronElasticXS()); model = new G4DiffuseElastic(particle); - if(hpFlag) { - model->SetMinEnergy(19.5*MeV); - G4NeutronHPElastic* modelHP = new G4NeutronHPElastic(); - hel->RegisterMe(modelHP); - hel->AddDataSet(new G4NeutronHPElasticData()); - } else { - hel->RegisterMe(he); - } hel->RegisterMe(model); pmanager->AddDiscreteProcess(hel); diff --git a/source/physics_lists/builders/src/G4HadronElasticPhysics.cc b/source/physics_lists/builders/src/G4HadronElasticPhysics.cc index 9dfbaaab42..b485c21b14 100644 --- a/source/physics_lists/builders/src/G4HadronElasticPhysics.cc +++ b/source/physics_lists/builders/src/G4HadronElasticPhysics.cc @@ -23,36 +23,33 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronElasticPhysics.cc,v 1.9 2008/12/01 16:57:22 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4HadronElasticPhysics.cc,v 1.16 2010/09/24 12:54:13 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // -// ClassName: G4HadronElasticPhysics +// ClassName: G4HadronElasticPhysics // -// Author: 11 April 2006 V. Ivanchenko +// Author: 23 November 2006 V. Ivanchenko // // Modified: -// 05.07.2006 V.Ivanchenko define process by particle name; -// fix problem of initialisation of HP -// 24.07.2006 V.Ivanchenko add G4NeutronHPElasticData -// 10.08.2006 V.Ivanchenko separate neutrons from other particles -// 17.11.2006 V.Ivanchenko do not redefine G4HadronElastic default parameters -// 19.02.2007 V.Ivanchenko set QModelLowLimit and LowestEnergyLimit to zero -// 19.02.2007 A.Howard set QModelLowLimit and LowestEnergyLimit to zero -// for neutrons -// 06.03.2007 V.Ivanchenko use updated interface to G4UElasticCrossSection +// 21.03.2007 V.Ivanchenko Use G4BGGNucleonElasticXS and G4BGGPionElasticXS; +// Reduce thresholds for HE and Q-models to zero +// 03.06.2010 V.Ivanchenko cleanup constructors and ConstructProcess method +// 29.07.2010 V.Ivanchenko rename this class from G4HadronHElasticPhysics to +// G4HadronElasticPhysics, old version of the class +// is renamed to G4HadronElasticPhysics93 // //---------------------------------------------------------------------------- // +// CHIPS for sampling scattering for p and n +// Glauber model for samplimg of high energy pi+- (E > 1GeV) +// LHEP sampling model for the other particle +// BBG cross sections for p, n and pi+- +// LHEP cross sections for other particles #include "G4HadronElasticPhysics.hh" -#include "G4HadronicProcess.hh" -#include "G4HadronElasticProcess.hh" -#include "G4HadronicInteraction.hh" -#include "G4LElastic.hh" - #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" @@ -61,32 +58,42 @@ #include "G4IonConstructor.hh" #include "G4Neutron.hh" -#include "G4VQCrossSection.hh" -#include "G4UElasticCrossSection.hh" +#include "G4WHadronElasticProcess.hh" +#include "G4VHadronElastic.hh" +#include "G4CHIPSElastic.hh" +#include "G4ElasticHadrNucleusHE.hh" #include "G4BGGNucleonElasticXS.hh" #include "G4BGGPionElasticXS.hh" +#include "G4NeutronElasticXS.hh" +#include "G4CHIPSElasticXS.hh" -G4HadronElasticPhysics::G4HadronElasticPhysics( - const G4String& name, G4int ver, G4bool hp, G4bool glauber) - : G4VPhysicsConstructor(name), mname(name), verbose(ver), hpFlag(hp), - glFlag(glauber),wasActivated(false) +G4HadronElasticPhysics::G4HadronElasticPhysics(G4int ver) + : G4VPhysicsConstructor("hElasticWEL_CHIPS"), verbose(ver), + wasActivated(false) { - if(verbose > 1) G4cout << "### HadronElasticPhysics" << G4endl; - model = 0; - neutronModel = 0; - neutronHPModel = 0; + if(verbose > 1) { + G4cout << "### G4HadronElasticPhysics: " << GetPhysicsName() + << G4endl; + } +} + +G4HadronElasticPhysics::G4HadronElasticPhysics(const G4String&, + G4int ver, G4bool, const G4String&) + : G4VPhysicsConstructor("hElasticWEL_CHIPS"), verbose(ver), + wasActivated(false) +{ + if(verbose > 1) { + G4cout << "### G4HadronElasticPhysics: " << GetPhysicsName() + << G4endl; + } } G4HadronElasticPhysics::~G4HadronElasticPhysics() -{ - delete model; - delete neutronModel; - delete neutronHPModel; -} +{} void G4HadronElasticPhysics::ConstructParticle() { -// G4cout << "G4HadronElasticPhysics::ConstructParticle" << G4endl; + // G4cout << "G4HadronElasticPhysics::ConstructParticle" << G4endl; G4MesonConstructor pMesonConstructor; pMesonConstructor.ConstructParticle(); @@ -100,31 +107,29 @@ void G4HadronElasticPhysics::ConstructParticle() void G4HadronElasticPhysics::ConstructProcess() { - if(wasActivated) return; + if(wasActivated) { return; } wasActivated = true; + G4double elimit = 1.0*GeV; if(verbose > 1) { - G4cout << "### HadronElasticPhysics Construct Processes with the model <" - << mname << ">" << G4endl; + G4cout << "### HadronElasticPhysics Construct Processes with HE limit " + << elimit << " MeV" << G4endl; } - G4HadronicProcess* hel = 0; - G4VQCrossSection* man = 0; - if(mname == "elastic") { - G4HadronElastic* he = new G4HadronElastic(); - model = he; - man = he->GetCS(); - he->SetQModelLowLimit(0.0); - he->SetLowestEnergyLimit(0.0); - } else { - model = new G4LElastic(); - } + G4VHadronElastic* plep0 = new G4VHadronElastic(); + G4VHadronElastic* plep1 = new G4VHadronElastic(); + plep1->SetMaxEnergy(elimit); + + G4CHIPSElastic* chipsp = new G4CHIPSElastic(); + G4CHIPSElastic* chipsn = new G4CHIPSElastic(); + + G4ElasticHadrNucleusHE* he = new G4ElasticHadrNucleusHE(); + he->SetMinEnergy(elimit); theParticleIterator->reset(); while( (*theParticleIterator)() ) { G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); G4String pname = particle->GetParticleName(); if(pname == "anti_lambda" || pname == "anti_neutron" || @@ -140,6 +145,9 @@ void G4HadronElasticPhysics::ConstructProcess() pname == "kaon0L" || pname == "lambda" || pname == "omega-" || + pname == "pi-" || + pname == "pi+" || + pname == "proton" || pname == "sigma-" || pname == "sigma+" || pname == "xi-" || @@ -147,83 +155,40 @@ void G4HadronElasticPhysics::ConstructProcess() pname == "deuteron" || pname == "triton") { - if(mname == "elastic") { - G4UHadronElasticProcess* h = new G4UHadronElasticProcess("hElastic"); - h->SetQElasticCrossSection(man); - hel = h; - if(glFlag) hel->AddDataSet(new G4UElasticCrossSection(particle)); - } else { - hel = new G4HadronElasticProcess("hElastic"); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4WHadronElasticProcess* hel = new G4WHadronElasticProcess(); + if(pname == "proton") { + //hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); + hel->AddDataSet(new G4CHIPSElasticXS()); + hel->RegisterMe(chipsp); + } else if (pname == "pi+" || pname == "pi-") { + hel->AddDataSet(new G4BGGPionElasticXS(particle)); + hel->RegisterMe(plep1); + hel->RegisterMe(he); + } else { + hel->RegisterMe(plep0); } - hel->RegisterMe(model); pmanager->AddDiscreteProcess(hel); - if(verbose > 1) - G4cout << "### HadronElasticPhysics added for " - << particle->GetParticleName() << G4endl; - - // proton case - } else if(pname == "proton") { - if(mname == "elastic") { - G4UHadronElasticProcess* h = new G4UHadronElasticProcess("hElastic"); - h->SetQElasticCrossSection(man); - hel = h; - if(glFlag) hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); - } else { - hel = new G4HadronElasticProcess("hElastic"); + if(verbose > 1) { + G4cout << "### HadronElasticPhysics: " << hel->GetProcessName() + << " added for " << particle->GetParticleName() << G4endl; } - hel->RegisterMe(model); - pmanager->AddDiscreteProcess(hel); - if(verbose > 1) - G4cout << "### HadronElasticPhysics added for " - << particle->GetParticleName() << G4endl; // neutron case } else if(pname == "neutron") { - if(mname == "elastic") { - G4UHadronElasticProcess* h = new G4UHadronElasticProcess("hElastic"); - G4HadronElastic* nhe = new G4HadronElastic(); - nhe->SetQModelLowLimit(0.0); - nhe->SetLowestEnergyLimit(0.0); - neutronModel = nhe; - h->SetQElasticCrossSection(nhe->GetCS()); - hel = h; - if(glFlag) hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); - } else { - hel = new G4HadronElasticProcess("hElastic"); - neutronModel = new G4LElastic(); - } + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4WHadronElasticProcess* hel = new G4WHadronElasticProcess(); + //hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); + hel->AddDataSet(new G4CHIPSElasticXS()); + hel->RegisterMe(chipsn); - if(hpFlag) { - neutronModel->SetMinEnergy(19.5*MeV); - neutronHPModel = new G4NeutronHPElastic(); - hel->RegisterMe(neutronHPModel); - hel->AddDataSet(new G4NeutronHPElasticData()); - } - - hel->RegisterMe(neutronModel); pmanager->AddDiscreteProcess(hel); - if(verbose > 1) - G4cout << "### HadronElasticPhysics added for " - << particle->GetParticleName() << G4endl; - - // pion case - } else if(pname == "pi+" || pname == "pi-") { - if(mname == "elastic") { - G4UHadronElasticProcess* h = new G4UHadronElasticProcess("hElastic"); - h->SetQElasticCrossSection(man); - hel = h; - if(glFlag) hel->AddDataSet(new G4BGGPionElasticXS(particle)); - } else { - hel = new G4HadronElasticProcess("hElastic"); + if(verbose > 1) { + G4cout << "### HadronElasticPhysics: " << hel->GetProcessName() + << " added for " << particle->GetParticleName() << G4endl; } - hel->RegisterMe(model); - pmanager->AddDiscreteProcess(hel); - - if(verbose > 1) - G4cout << "### HadronElasticPhysics added for " - << particle->GetParticleName() << G4endl; } } } diff --git a/source/physics_lists/builders/src/G4HadronElasticPhysics93.cc b/source/physics_lists/builders/src/G4HadronElasticPhysics93.cc new file mode 100644 index 0000000000..158807c5d9 --- /dev/null +++ b/source/physics_lists/builders/src/G4HadronElasticPhysics93.cc @@ -0,0 +1,241 @@ +// +// ******************************************************************** +// * 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: G4HadronElasticPhysics93.cc,v 1.1 2010/07/29 10:52:14 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4HadronElasticPhysics93 +// +// Author: 11 April 2006 V. Ivanchenko +// +// Modified: +// 05.07.2006 V.Ivanchenko define process by particle name; +// fix problem of initialisation of HP +// 24.07.2006 V.Ivanchenko add G4NeutronHPElasticData +// 10.08.2006 V.Ivanchenko separate neutrons from other particles +// 17.11.2006 V.Ivanchenko do not redefine G4HadronElastic default parameters +// 19.02.2007 V.Ivanchenko set QModelLowLimit and LowestEnergyLimit to zero +// 19.02.2007 A.Howard set QModelLowLimit and LowestEnergyLimit to zero +// for neutrons +// 06.03.2007 V.Ivanchenko use updated interface to G4UElasticCrossSection +// +//---------------------------------------------------------------------------- +// + +#include "G4HadronElasticPhysics93.hh" + +#include "G4HadronicProcess.hh" +#include "G4HadronElasticProcess.hh" +#include "G4HadronicInteraction.hh" +#include "G4LElastic.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4MesonConstructor.hh" +#include "G4BaryonConstructor.hh" +#include "G4IonConstructor.hh" +#include "G4Neutron.hh" + +#include "G4VQCrossSection.hh" +#include "G4UElasticCrossSection.hh" +#include "G4BGGNucleonElasticXS.hh" +#include "G4BGGPionElasticXS.hh" + +G4HadronElasticPhysics93::G4HadronElasticPhysics93(G4int ver) + : G4VPhysicsConstructor("elastic"), mname("elastic"),verbose(ver), + hpFlag(false), glFlag(false),wasActivated(false) +{ + if(verbose > 1) G4cout << "### HadronElasticPhysics93" << G4endl; + model = 0; + neutronModel = 0; + neutronHPModel = 0; +} + +G4HadronElasticPhysics93::G4HadronElasticPhysics93( + const G4String& name, G4int ver, G4bool hp, G4bool glauber) + : G4VPhysicsConstructor(name), mname(name), verbose(ver), hpFlag(hp), + glFlag(glauber),wasActivated(false) +{ + if(verbose > 1) G4cout << "### HadronElasticPhysics93" << G4endl; + model = 0; + neutronModel = 0; + neutronHPModel = 0; +} + +G4HadronElasticPhysics93::~G4HadronElasticPhysics93() +{ + delete model; + delete neutronModel; + delete neutronHPModel; +} + +void G4HadronElasticPhysics93::ConstructParticle() +{ +// G4cout << "G4HadronElasticPhysics93::ConstructParticle" << G4endl; + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); + + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); + + // Construct light ions + G4IonConstructor pConstructor; + pConstructor.ConstructParticle(); +} + +void G4HadronElasticPhysics93::ConstructProcess() +{ + if(wasActivated) return; + wasActivated = true; + + if(verbose > 1) { + G4cout << "### HadronElasticPhysics93 Construct Processes with the model <" + << mname << ">" << G4endl; + } + G4HadronicProcess* hel = 0; + G4VQCrossSection* man = 0; + + if(mname == "elastic") { + G4HadronElastic* he = new G4HadronElastic(); + model = he; + man = he->GetCS(); + he->SetQModelLowLimit(0.0); + he->SetLowestEnergyLimit(0.0); + } else { + model = new G4LElastic(); + } + + theParticleIterator->reset(); + while( (*theParticleIterator)() ) + { + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String pname = particle->GetParticleName(); + if(pname == "anti_lambda" || + pname == "anti_neutron" || + pname == "anti_omega-" || + pname == "anti_proton" || + pname == "anti_sigma-" || + pname == "anti_sigma+" || + pname == "anti_xi-" || + pname == "anti_xi0" || + pname == "kaon-" || + pname == "kaon+" || + pname == "kaon0S" || + pname == "kaon0L" || + pname == "lambda" || + pname == "omega-" || + pname == "sigma-" || + pname == "sigma+" || + pname == "xi-" || + pname == "alpha" || + pname == "deuteron" || + pname == "triton") { + + if(mname == "elastic") { + G4UHadronElasticProcess* h = new G4UHadronElasticProcess("hElastic"); + h->SetQElasticCrossSection(man); + hel = h; + if(glFlag) hel->AddDataSet(new G4UElasticCrossSection(particle)); + } else { + hel = new G4HadronElasticProcess("hElastic"); + } + hel->RegisterMe(model); + pmanager->AddDiscreteProcess(hel); + if(verbose > 1) + G4cout << "### HadronElasticPhysics93 added for " + << particle->GetParticleName() << G4endl; + + // proton case + } else if(pname == "proton") { + if(mname == "elastic") { + G4UHadronElasticProcess* h = new G4UHadronElasticProcess("hElastic"); + h->SetQElasticCrossSection(man); + hel = h; + if(glFlag) hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); + } else { + hel = new G4HadronElasticProcess("hElastic"); + } + hel->RegisterMe(model); + pmanager->AddDiscreteProcess(hel); + if(verbose > 1) + G4cout << "### HadronElasticPhysics93 added for " + << particle->GetParticleName() << G4endl; + + // neutron case + } else if(pname == "neutron") { + + if(mname == "elastic") { + G4UHadronElasticProcess* h = new G4UHadronElasticProcess("hElastic"); + G4HadronElastic* nhe = new G4HadronElastic(); + nhe->SetQModelLowLimit(0.0); + nhe->SetLowestEnergyLimit(0.0); + neutronModel = nhe; + h->SetQElasticCrossSection(nhe->GetCS()); + hel = h; + if(glFlag) hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); + } else { + hel = new G4HadronElasticProcess("hElastic"); + neutronModel = new G4LElastic(); + } + + if(hpFlag) { + neutronModel->SetMinEnergy(19.5*MeV); + neutronHPModel = new G4NeutronHPElastic(); + hel->RegisterMe(neutronHPModel); + hel->AddDataSet(new G4NeutronHPElasticData()); + } + + hel->RegisterMe(neutronModel); + pmanager->AddDiscreteProcess(hel); + + if(verbose > 1) + G4cout << "### HadronElasticPhysics93 added for " + << particle->GetParticleName() << G4endl; + + // pion case + } else if(pname == "pi+" || pname == "pi-") { + if(mname == "elastic") { + G4UHadronElasticProcess* h = new G4UHadronElasticProcess("hElastic"); + h->SetQElasticCrossSection(man); + hel = h; + if(glFlag) hel->AddDataSet(new G4BGGPionElasticXS(particle)); + } else { + hel = new G4HadronElasticProcess("hElastic"); + } + hel->RegisterMe(model); + pmanager->AddDiscreteProcess(hel); + + if(verbose > 1) + G4cout << "### HadronElasticPhysics93 added for " + << particle->GetParticleName() << G4endl; + } + } +} + + diff --git a/source/physics_lists/builders/src/G4HadronElasticPhysicsHP.cc b/source/physics_lists/builders/src/G4HadronElasticPhysicsHP.cc new file mode 100644 index 0000000000..f2645520d2 --- /dev/null +++ b/source/physics_lists/builders/src/G4HadronElasticPhysicsHP.cc @@ -0,0 +1,191 @@ +// +// ******************************************************************** +// * 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: G4HadronElasticPhysicsHP.cc,v 1.3 2010/09/23 18:53:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4HadronElasticPhysicsHP +// +// Author: 3 June 2010 V. Ivanchenko +// +// Modified: +// +//---------------------------------------------------------------------------- +// +// CHIPS for sampling scattering for p and n +// HP model for n with E < 20 MeV +// Glauber model for samplimg of high energy pi+- (E > 1GeV) +// LHEP sampling model for the other particle +// BBG cross sections for n, p and pi+- +// HP cross sections for n n with E < 20 MeV +// LHEP cross sections for other particles + +#include "G4HadronElasticPhysicsHP.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4MesonConstructor.hh" +#include "G4BaryonConstructor.hh" +#include "G4IonConstructor.hh" +#include "G4Neutron.hh" + +#include "G4WHadronElasticProcess.hh" +#include "G4VHadronElastic.hh" +#include "G4CHIPSElastic.hh" +#include "G4ElasticHadrNucleusHE.hh" +#include "G4NeutronHPElastic.hh" +#include "G4UElasticCrossSection.hh" +#include "G4BGGNucleonElasticXS.hh" +#include "G4BGGPionElasticXS.hh" +#include "G4NeutronElasticXS.hh" +#include "G4CHIPSElasticXS.hh" + +#include "G4NeutronHPElastic.hh" +#include "G4NeutronHPElasticData.hh" + +G4HadronElasticPhysicsHP::G4HadronElasticPhysicsHP(G4int ver) + : G4VPhysicsConstructor("hElasticWEL_CHIPS_HP"), verbose(ver), + wasActivated(false) +{ + if(verbose > 1) { + G4cout << "### G4HadronElasticPhysicsHP: " << GetPhysicsName() + << G4endl; + } +} + +G4HadronElasticPhysicsHP::~G4HadronElasticPhysicsHP() +{} + +void G4HadronElasticPhysicsHP::ConstructParticle() +{ + // G4cout << "G4HadronElasticPhysics::ConstructParticle" << G4endl; + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); + + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); + + // Construct light ions + G4IonConstructor pConstructor; + pConstructor.ConstructParticle(); +} + +void G4HadronElasticPhysicsHP::ConstructProcess() +{ + if(wasActivated) return; + wasActivated = true; + + G4double elimit = 1.0*GeV; + if(verbose > 1) { + G4cout << "### HadronElasticPhysicsHP Construct Processes with HE limit " + << elimit << " MeV" << G4endl; + } + + G4VHadronElastic* plep0 = new G4VHadronElastic(); + G4VHadronElastic* plep1 = new G4VHadronElastic(); + plep1->SetMaxEnergy(elimit); + + G4CHIPSElastic* chipsp = new G4CHIPSElastic(); + G4CHIPSElastic* chipsn = new G4CHIPSElastic(); + + G4ElasticHadrNucleusHE* he = new G4ElasticHadrNucleusHE(); + he->SetMinEnergy(elimit); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ) + { + G4ParticleDefinition* particle = theParticleIterator->value(); + G4String pname = particle->GetParticleName(); + if(pname == "anti_lambda" || + pname == "anti_neutron" || + pname == "anti_omega-" || + pname == "anti_proton" || + pname == "anti_sigma-" || + pname == "anti_sigma+" || + pname == "anti_xi-" || + pname == "anti_xi0" || + pname == "kaon-" || + pname == "kaon+" || + pname == "kaon0S" || + pname == "kaon0L" || + pname == "lambda" || + pname == "omega-" || + pname == "pi-" || + pname == "pi+" || + pname == "proton" || + pname == "sigma-" || + pname == "sigma+" || + pname == "xi-" || + pname == "alpha" || + pname == "deuteron" || + pname == "triton") { + + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4WHadronElasticProcess* hel = new G4WHadronElasticProcess(); + if(pname == "proton") { + hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); + hel->AddDataSet(new G4CHIPSElasticXS()); + hel->RegisterMe(chipsp); + } else if (pname == "pi+" || pname == "pi-") { + hel->AddDataSet(new G4BGGPionElasticXS(particle)); + hel->RegisterMe(plep1); + hel->RegisterMe(he); + } else { + hel->RegisterMe(plep0); + } + pmanager->AddDiscreteProcess(hel); + if(verbose > 1) { + G4cout << "### HadronElasticPhysicsHP: " << hel->GetProcessName() + << " added for " << particle->GetParticleName() << G4endl; + } + + // neutron case + } else if(pname == "neutron") { + + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4WHadronElasticProcess* hel = new G4WHadronElasticProcess(); + hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); + hel->AddDataSet(new G4CHIPSElasticXS()); + hel->RegisterMe(chipsn); + + chipsn->SetMinEnergy(19.5*MeV); + G4NeutronHPElastic* hp = new G4NeutronHPElastic(); + hel->RegisterMe(hp); + hel->AddDataSet(new G4NeutronHPElasticData()); + + pmanager->AddDiscreteProcess(hel); + + if(verbose > 1) { + G4cout << "### HadronElasticPhysicsHP: " << hel->GetProcessName() + << " added for " << particle->GetParticleName() << G4endl; + } + } + } +} + + diff --git a/source/physics_lists/builders/src/G4HadronElasticPhysicsLHEP.cc b/source/physics_lists/builders/src/G4HadronElasticPhysicsLHEP.cc new file mode 100644 index 0000000000..7e81b77b13 --- /dev/null +++ b/source/physics_lists/builders/src/G4HadronElasticPhysicsLHEP.cc @@ -0,0 +1,137 @@ +// +// ******************************************************************** +// * 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: G4HadronElasticPhysicsLHEP.cc,v 1.2 2010/06/03 14:28:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4HadronElasticPhysicsLHEP +// +// Author: 3 June 2010 V. Ivanchenko +// +// Modified: +// +//---------------------------------------------------------------------------- +// +// LHEP x-sectios and sampling + +#include "G4HadronElasticPhysicsLHEP.hh" + +#include "G4HadronicProcess.hh" +#include "G4HadronElasticProcess.hh" +#include "G4HadronicInteraction.hh" +#include "G4LElastic.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4MesonConstructor.hh" +#include "G4BaryonConstructor.hh" +#include "G4IonConstructor.hh" +#include "G4Neutron.hh" + +G4HadronElasticPhysicsLHEP::G4HadronElasticPhysicsLHEP(G4int ver) + : G4VPhysicsConstructor("hElasticLHEP"), verbose(ver), + wasActivated(false) +{ + if(verbose > 1) { + G4cout << "### G4HadronElasticPhysicsLHEP: " << GetPhysicsName() + << G4endl; + } +} + +G4HadronElasticPhysicsLHEP::~G4HadronElasticPhysicsLHEP() +{} + +void G4HadronElasticPhysicsLHEP::ConstructParticle() +{ +// G4cout << "G4HadronElasticPhysicsLHEP::ConstructParticle" << G4endl; + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); + + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); + + // Construct light ions + G4IonConstructor pConstructor; + pConstructor.ConstructParticle(); +} + +void G4HadronElasticPhysicsLHEP::ConstructProcess() +{ + if(wasActivated) return; + wasActivated = true; + + if(verbose > 1) { + G4cout << "### HadronElasticPhysicsLHEP Construct Processes" + << G4endl; + } + G4HadronicProcess* hel = 0; + G4HadronicInteraction* model = new G4LElastic(); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ) + { + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String pname = particle->GetParticleName(); + if(pname == "anti_lambda" || + pname == "anti_neutron" || + pname == "anti_omega-" || + pname == "anti_proton" || + pname == "anti_sigma-" || + pname == "anti_sigma+" || + pname == "anti_xi-" || + pname == "anti_xi0" || + pname == "kaon-" || + pname == "kaon+" || + pname == "kaon0S" || + pname == "kaon0L" || + pname == "lambda" || + pname == "omega-" || + pname == "sigma-" || + pname == "sigma+" || + pname == "xi-" || + pname == "neutron" || + pname == "proton" || + pname == "pi+" || + pname == "pi-" || + pname == "alpha" || + pname == "deuteron" || + pname == "triton") { + + hel = new G4HadronElasticProcess("hElasticLHEP"); + hel->RegisterMe(model); + pmanager->AddDiscreteProcess(hel); + if(verbose > 1) { + G4cout << "### HadronElasticPhysicsLHEP added for " + << particle->GetParticleName() << G4endl; + } + } + } +} + + diff --git a/source/physics_lists/builders/src/G4HadronElasticPhysicsXS.cc b/source/physics_lists/builders/src/G4HadronElasticPhysicsXS.cc new file mode 100644 index 0000000000..4b6989f282 --- /dev/null +++ b/source/physics_lists/builders/src/G4HadronElasticPhysicsXS.cc @@ -0,0 +1,177 @@ +// +// ******************************************************************** +// * 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: G4HadronElasticPhysicsXS.cc,v 1.2 2010/06/03 14:28:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4HadronElasticPhysicsXS +// +// Author: 3 June 2010 V. Ivanchenko +// +// Modified: +// +//---------------------------------------------------------------------------- +// +// CHIPS for sampling scattering for p and n +// Glauber model for samplimg of high energy pi+- (E > 1GeV) +// LHEP sampling model for the other particle +// BBG cross sections for p and pi+- +// XS cross sections for neutrons +// LHEP cross sections for other particles + +#include "G4HadronElasticPhysicsXS.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4MesonConstructor.hh" +#include "G4BaryonConstructor.hh" +#include "G4IonConstructor.hh" +#include "G4Neutron.hh" + +#include "G4WHadronElasticProcess.hh" +#include "G4VHadronElastic.hh" +#include "G4CHIPSElastic.hh" +#include "G4ElasticHadrNucleusHE.hh" +#include "G4BGGNucleonElasticXS.hh" +#include "G4BGGPionElasticXS.hh" +#include "G4NeutronElasticXS.hh" + +G4HadronElasticPhysicsXS::G4HadronElasticPhysicsXS(G4int ver) + : G4VPhysicsConstructor("hElasticWEL_CHIPS_XS"), verbose(ver), + wasActivated(false) +{ + if(verbose > 1) { + G4cout << "### G4HadronElasticPhysicsHP: " << GetPhysicsName() + << G4endl; + } +} + +G4HadronElasticPhysicsXS::~G4HadronElasticPhysicsXS() +{} + +void G4HadronElasticPhysicsXS::ConstructParticle() +{ + // G4cout << "G4HadronElasticPhysics::ConstructParticle" << G4endl; + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); + + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); + + // Construct light ions + G4IonConstructor pConstructor; + pConstructor.ConstructParticle(); +} + +void G4HadronElasticPhysicsXS::ConstructProcess() +{ + if(wasActivated) return; + wasActivated = true; + + G4double elimit = 1.0*GeV; + if(verbose > 1) { + G4cout << "### HadronElasticPhysics Construct Processes with HE limit " + << elimit << " MeV" << G4endl; + } + + G4VHadronElastic* plep0 = new G4VHadronElastic(); + G4VHadronElastic* plep1 = new G4VHadronElastic(); + plep1->SetMaxEnergy(elimit); + + G4CHIPSElastic* chipsp = new G4CHIPSElastic(); + G4CHIPSElastic* chipsn = new G4CHIPSElastic(); + + G4ElasticHadrNucleusHE* he = new G4ElasticHadrNucleusHE(); + he->SetMinEnergy(elimit); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ) + { + G4ParticleDefinition* particle = theParticleIterator->value(); + G4String pname = particle->GetParticleName(); + if(pname == "anti_lambda" || + pname == "anti_neutron" || + pname == "anti_omega-" || + pname == "anti_proton" || + pname == "anti_sigma-" || + pname == "anti_sigma+" || + pname == "anti_xi-" || + pname == "anti_xi0" || + pname == "kaon-" || + pname == "kaon+" || + pname == "kaon0S" || + pname == "kaon0L" || + pname == "lambda" || + pname == "omega-" || + pname == "pi-" || + pname == "pi+" || + pname == "proton" || + pname == "sigma-" || + pname == "sigma+" || + pname == "xi-" || + pname == "alpha" || + pname == "deuteron" || + pname == "triton") { + + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4WHadronElasticProcess* hel = new G4WHadronElasticProcess(); + if(pname == "proton") { + hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); + hel->RegisterMe(chipsp); + } else if (pname == "pi+" || pname == "pi-") { + hel->AddDataSet(new G4BGGPionElasticXS(particle)); + hel->RegisterMe(plep1); + hel->RegisterMe(he); + } else { + hel->RegisterMe(plep0); + } + pmanager->AddDiscreteProcess(hel); + if(verbose > 1) { + G4cout << "### HadronElasticPhysicsXS: " << hel->GetProcessName() + << " added for " << particle->GetParticleName() << G4endl; + } + + // neutron case + } else if(pname == "neutron") { + + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4WHadronElasticProcess* hel = new G4WHadronElasticProcess(); + hel->AddDataSet(new G4NeutronElasticXS()); + hel->RegisterMe(chipsn); + + pmanager->AddDiscreteProcess(hel); + + if(verbose > 1) { + G4cout << "### HadronElasticPhysicsXS: " << hel->GetProcessName() + << " added for " << particle->GetParticleName() << G4endl; + } + } + } +} + + diff --git a/source/physics_lists/builders/src/G4HadronHElasticPhysics.cc b/source/physics_lists/builders/src/G4HadronHElasticPhysics.cc index 7347adc35e..aec522e7ee 100644 --- a/source/physics_lists/builders/src/G4HadronHElasticPhysics.cc +++ b/source/physics_lists/builders/src/G4HadronHElasticPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronHElasticPhysics.cc,v 1.7 2009/11/28 17:35:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HadronHElasticPhysics.cc,v 1.10 2010/07/29 10:52:14 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -35,9 +35,15 @@ // Modified: // 21.03.07 (V.Ivanchenko) Use G4BGGNucleonElasticXS and G4BGGPionElasticXS; // Reduce thresholds for HE and Q-models to zero +// 03.06.2010 V.Ivanchenko cleanup constructors and ConstructProcess method // //---------------------------------------------------------------------------- // +// CHIPS for sampling scattering for p and n +// Glauber model for samplimg of high energy pi+- (E > 1GeV) +// LHEP sampling model for the other particle +// BBG cross sections for p, n and pi+- +// LHEP cross sections for other particles #include "G4HadronHElasticPhysics.hh" @@ -53,18 +59,28 @@ #include "G4VHadronElastic.hh" #include "G4CHIPSElastic.hh" #include "G4ElasticHadrNucleusHE.hh" -#include "G4NeutronHPElastic.hh" -#include "G4UElasticCrossSection.hh" #include "G4BGGNucleonElasticXS.hh" #include "G4BGGPionElasticXS.hh" #include "G4NeutronElasticXS.hh" -G4HadronHElasticPhysics::G4HadronHElasticPhysics(G4int ver, G4bool hp, - const G4String& type) - : G4VPhysicsConstructor("HElastic"), verbose(ver), - hpFlag(hp), wasActivated(false), subtype(type) +G4HadronHElasticPhysics::G4HadronHElasticPhysics(G4int ver) + : G4VPhysicsConstructor("hElasticWEL_CHIPS"), verbose(ver), + wasActivated(false) { - if(verbose > 1) G4cout << "### HadronHElasticPhysics" << G4endl; + // if(verbose > 1) { + G4cout << "### G4HadronHElasticPhysics: " << GetPhysicsName() + << " is obsolete and soon will be removed" << G4endl; +} + +G4HadronHElasticPhysics::G4HadronHElasticPhysics(G4int ver, G4bool, + const G4String&) + : G4VPhysicsConstructor("hElasticWEL_CHIPS"), verbose(ver), + wasActivated(false) +{ + if(verbose > 1) { + G4cout << "### G4HadronHElasticPhysics: " << GetPhysicsName() + << G4endl; + } } G4HadronHElasticPhysics::~G4HadronHElasticPhysics() @@ -86,7 +102,7 @@ void G4HadronHElasticPhysics::ConstructParticle() void G4HadronHElasticPhysics::ConstructProcess() { - if(wasActivated) return; + if(wasActivated) { return; } wasActivated = true; G4double elimit = 1.0*GeV; @@ -144,7 +160,6 @@ void G4HadronHElasticPhysics::ConstructProcess() hel->RegisterMe(plep1); hel->RegisterMe(he); } else { - //hel->AddDataSet(new G4UElasticCrossSection(particle)); hel->RegisterMe(plep0); } pmanager->AddDiscreteProcess(hel); @@ -158,19 +173,9 @@ void G4HadronHElasticPhysics::ConstructProcess() G4ProcessManager* pmanager = particle->GetProcessManager(); G4WHadronElasticProcess* hel = new G4WHadronElasticProcess(); - if(subtype == "QBBC_XGGSN") { - hel->AddDataSet(new G4NeutronElasticXS()); - } else { - hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); - } + hel->AddDataSet(new G4BGGNucleonElasticXS(particle)); hel->RegisterMe(chipsn); - if(hpFlag) { - chipsn->SetMinEnergy(19.5*MeV); - G4NeutronHPElastic* hp = new G4NeutronHPElastic(); - hel->RegisterMe(hp); - hel->AddDataSet(new G4NeutronHPElasticData()); - } pmanager->AddDiscreteProcess(hel); if(verbose > 1) { diff --git a/source/physics_lists/builders/src/G4HadronQElasticPhysics.cc b/source/physics_lists/builders/src/G4HadronQElasticPhysics.cc index 3c4f221665..ad991dbfa1 100644 --- a/source/physics_lists/builders/src/G4HadronQElasticPhysics.cc +++ b/source/physics_lists/builders/src/G4HadronQElasticPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronQElasticPhysics.cc,v 1.7 2008/05/19 10:21:34 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4HadronQElasticPhysics.cc,v 1.9 2010/06/03 14:28:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -33,9 +33,12 @@ // Author: 17 Nov 2006 V.Ivanchenko // // Modified: +// 03.06.2010 V.Ivanchenko cleanup constructors and ConstructProcess method // //---------------------------------------------------------------------------- // +// CHIPS x-sections and generator (G4QElastic) for n and p +// LHEP x-section and generator for the rest #include "G4HadronQElasticPhysics.hh" @@ -53,11 +56,25 @@ #include "G4BaryonConstructor.hh" #include "G4IonConstructor.hh" -G4HadronQElasticPhysics::G4HadronQElasticPhysics( - const G4String& name, G4int ver) - : G4VPhysicsConstructor(name), verbose(ver), wasActivated(false) +G4HadronQElasticPhysics::G4HadronQElasticPhysics(G4int ver) + : G4VPhysicsConstructor("hElasticCHIPS_LHEP"), verbose(ver), + wasActivated(false) { - if(verbose > 1) G4cout << "### HadronQElasticPhysics" << G4endl; + if(verbose > 1) { + G4cout << "### G4HadronQElasticPhysics: " << GetPhysicsName() + << G4endl; + } + model = 0; +} + +G4HadronQElasticPhysics::G4HadronQElasticPhysics(const G4String&, G4int ver) + : G4VPhysicsConstructor("hElasticCHIPS_UELAST"), verbose(ver), + wasActivated(false) +{ + if(verbose > 1) { + G4cout << "### G4HadronQElasticPhysics: " << GetPhysicsName() + << G4endl; + } model = 0; } @@ -81,15 +98,15 @@ void G4HadronQElasticPhysics::ConstructParticle() void G4HadronQElasticPhysics::ConstructProcess() { - if(wasActivated) return; + if(wasActivated) { return; } wasActivated = true; G4double elimit = DBL_MAX; - if(verbose > 1) + if(verbose > 1) { G4cout << "### HadronQElasticPhysics: use HE limit " << elimit << " MeV" << G4endl; - + } process = new G4QElastic(); model = new G4HadronElastic(); diff --git a/source/physics_lists/builders/src/G4IonBinaryCascadePhysics.cc b/source/physics_lists/builders/src/G4IonBinaryCascadePhysics.cc index bff924d2c8..670693663b 100644 --- a/source/physics_lists/builders/src/G4IonBinaryCascadePhysics.cc +++ b/source/physics_lists/builders/src/G4IonBinaryCascadePhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4IonBinaryCascadePhysics.cc,v 1.2 2009/02/16 10:15:35 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4IonBinaryCascadePhysics.cc,v 1.4 2010/07/30 14:20:08 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -50,6 +50,7 @@ #include "G4TripathiCrossSection.hh" #include "G4TripathiLightCrossSection.hh" #include "G4IonsShenCrossSection.hh" +#include "G4IonProtonCrossSection.hh" #include "G4ParticleDefinition.hh" #include "G4ParticleTable.hh" @@ -58,9 +59,18 @@ // Nuclei #include "G4IonConstructor.hh" +G4IonBinaryCascadePhysics::G4IonBinaryCascadePhysics(G4int ver) + : G4VPhysicsConstructor("IonBinaryCascade"), verbose(ver), wasActivated(false) +{ + emax = 20.*GeV; + emaxLHEP = 1.*TeV; + eminBIC = 0.*MeV; + if(verbose > 1) G4cout << "### G4IonBinaryCascadePhysics" << G4endl; +} + G4IonBinaryCascadePhysics::G4IonBinaryCascadePhysics(const G4String& name, - G4int verb) - : G4VPhysicsConstructor(name), verbose(verb), wasActivated(false) + G4int ver) + : G4VPhysicsConstructor(name), verbose(ver), wasActivated(false) { emax = 20.*GeV; emaxLHEP = 1.*TeV; @@ -74,6 +84,7 @@ G4IonBinaryCascadePhysics::~G4IonBinaryCascadePhysics() delete fTripathi; delete fTripathiLight; delete fShen; + delete fIonH; delete fLEDModel; delete fLETModel; delete fLEAModel; @@ -87,7 +98,7 @@ G4IonBinaryCascadePhysics::~G4IonBinaryCascadePhysics() void G4IonBinaryCascadePhysics::ConstructProcess() { - if(wasActivated) return; + if(wasActivated) { return; } wasActivated = true; G4BinaryLightIonReaction* fBC= new G4BinaryLightIonReaction(); @@ -95,6 +106,7 @@ void G4IonBinaryCascadePhysics::ConstructProcess() fShen = new G4IonsShenCrossSection; fTripathi = new G4TripathiCrossSection; fTripathiLight = new G4TripathiLightCrossSection; + fIonH = new G4IonProtonCrossSection; fLEDModel = new G4LEDeuteronInelastic(); fLETModel = new G4LETritonInelastic(); @@ -120,6 +132,7 @@ void G4IonBinaryCascadePhysics::AddProcess(const G4String& name, hadi->AddDataSet(fShen); hadi->AddDataSet(fTripathi); hadi->AddDataSet(fTripathiLight); + if(p == G4GenericIon::GenericIon()) { hadi->AddDataSet(fIonH); } hmodel->SetMinEnergy(eminBIC); hmodel->SetMaxEnergy(emax); hadi->RegisterMe(hmodel); diff --git a/source/physics_lists/builders/src/G4IonInclAblaPhysics.cc b/source/physics_lists/builders/src/G4IonInclAblaPhysics.cc index e3dbac8f89..2c32846724 100644 --- a/source/physics_lists/builders/src/G4IonInclAblaPhysics.cc +++ b/source/physics_lists/builders/src/G4IonInclAblaPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4IonInclAblaPhysics.cc,v 1.1 2009/07/19 18:24:03 kaitanie Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4IonInclAblaPhysics.cc,v 1.2 2010/06/03 15:03:53 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -58,9 +58,22 @@ // Nuclei #include "G4IonConstructor.hh" +G4IonInclAblaPhysics::G4IonInclAblaPhysics(G4int ver) + : G4VPhysicsConstructor("IonInclAbla"), verbose(ver), wasActivated(false) +{ + // INCL/ABLA light ion maximum energy is 3.0 GeV/nucleon + emax_d = 2 * 3.0 * GeV; + emax_t = 3 * 3.0 * GeV; + emax_he3 = 3 * 3.0 * GeV; + emax_alpha = 4 * 3.0 * GeV; + emaxLHEP = 1.*TeV; + emin = 0.*MeV; + if(verbose > 1) G4cout << "### G4IonInclAblaPhysics" << G4endl; +} + G4IonInclAblaPhysics::G4IonInclAblaPhysics(const G4String& name, - G4int verb) - : G4VPhysicsConstructor(name), verbose(verb), wasActivated(false) + G4int ver) + : G4VPhysicsConstructor(name), verbose(ver), wasActivated(false) { // INCL/ABLA light ion maximum energy is 3.0 GeV/nucleon emax_d = 2 * 3.0 * GeV; diff --git a/source/physics_lists/builders/src/G4IonPhysics.cc b/source/physics_lists/builders/src/G4IonPhysics.cc index 22044bfc79..081bbc1150 100644 --- a/source/physics_lists/builders/src/G4IonPhysics.cc +++ b/source/physics_lists/builders/src/G4IonPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4IonPhysics.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4IonPhysics.cc,v 1.2 2010/06/03 14:37:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -55,6 +55,12 @@ // Nuclei #include "G4IonConstructor.hh" +G4IonPhysics::G4IonPhysics(G4int) + : G4VPhysicsConstructor("IonPhysics") + , wasActivated(false) +{ +} + G4IonPhysics::G4IonPhysics(const G4String& name) : G4VPhysicsConstructor(name), wasActivated(false) { @@ -111,7 +117,3 @@ void G4IonPhysics::ConstructProcess() G4IonConstructor pConstructor; pConstructor.ConstructParticle(); } - - - - // 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4IonQMDPhysics.cc b/source/physics_lists/builders/src/G4IonQMDPhysics.cc index de46f80c46..081ffb2871 100644 --- a/source/physics_lists/builders/src/G4IonQMDPhysics.cc +++ b/source/physics_lists/builders/src/G4IonQMDPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4IonQMDPhysics.cc,v 1.1 2009/11/27 17:25:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4IonQMDPhysics.cc,v 1.4 2010/09/30 21:23:05 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -59,9 +59,20 @@ // Nuclei #include "G4IonConstructor.hh" +G4IonQMDPhysics::G4IonQMDPhysics(G4int ver) + : G4VPhysicsConstructor("IonQMD"), verbose(ver), wasActivated(false) +{ + eminBIC = 0.*MeV; + eminQMD = 100.*MeV; + emaxQMD = 10.*GeV; + emaxLHEP = 1.*TeV; + overlap = 10*MeV; + if(verbose > 1) G4cout << "### G4IonQMDPhysics" << G4endl; +} + G4IonQMDPhysics::G4IonQMDPhysics(const G4String& name, - G4int verb) - : G4VPhysicsConstructor(name), verbose(verb), wasActivated(false) + G4int ver) + : G4VPhysicsConstructor(name), verbose(ver), wasActivated(false) { eminBIC = 0.*MeV; eminQMD = 100.*MeV; @@ -106,10 +117,10 @@ void G4IonQMDPhysics::ConstructProcess() fLETModel = new G4LETritonInelastic(); fLEAModel = new G4LEAlphaInelastic(); - AddProcess("dInelastic", G4Deuteron::Deuteron(), fBC,0, fLEDModel); - AddProcess("tInelastic",G4Triton::Triton(), fBC,0, fLETModel); - AddProcess("He3Inelastic",G4He3::He3(), fBC,0, 0); - AddProcess("alphaInelastic", G4Alpha::Alpha(), fBC,0, fLEAModel); + AddProcess("dInelastic", G4Deuteron::Deuteron(), fBC, fQMD, fLEDModel ); + AddProcess("tInelastic",G4Triton::Triton(), fBC, fQMD, fLETModel ); + AddProcess("He3Inelastic",G4He3::He3(), fBC, fQMD, 0 ); + AddProcess("alphaInelastic", G4Alpha::Alpha(), fBC, fQMD, fLEAModel ); AddProcess("ionInelastic",G4GenericIon::GenericIon(), fBC, fQMD, 0); } @@ -135,7 +146,7 @@ void G4IonQMDPhysics::AddProcess(const G4String& name, if(QMD) { QMD->SetMinEnergy(eminQMD); - BIC->SetMaxEnergy(eminQMD-overlap); + BIC->SetMaxEnergy(eminQMD+overlap); QMD->SetMaxEnergy(emaxQMD); hadi->RegisterMe(QMD); } diff --git a/source/physics_lists/lists/include/QGSP_DIF.hh b/source/physics_lists/builders/src/G4KaonBuilder.cc similarity index 53% rename from source/physics_lists/lists/include/QGSP_DIF.hh rename to source/physics_lists/builders/src/G4KaonBuilder.cc index edf1a464d4..b99a6838ca 100644 --- a/source/physics_lists/lists/include/QGSP_DIF.hh +++ b/source/physics_lists/builders/src/G4KaonBuilder.cc @@ -23,48 +23,66 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: QGSP_DIF.hh,v 1.1 2007/11/13 10:20:32 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4KaonBuilder.cc,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // -// ClassName: QGSP_DIF +// ClassName: G4KaonBuilder // -// Author: 2007 G.Folger -// created from QGSP originally by J.P. Wellisch +// Author: 2010 G.Folger +// devired from G4PiKBuilder // // Modified: // //---------------------------------------------------------------------------- -#ifndef TQGSP_DIF_h -#define TQGSP_DIF_h 1 +// +#include "G4KaonBuilder.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" -#include "G4VModularPhysicsList.hh" -#include "globals.hh" -#include "CompileTimeConstraints.hh" +G4KaonBuilder:: +G4KaonBuilder(): wasActivated(false) +{ + theKaonPlusInelastic=new G4KaonPlusInelasticProcess; + theKaonMinusInelastic=new G4KaonMinusInelasticProcess; + theKaonZeroLInelastic=new G4KaonZeroLInelasticProcess; + theKaonZeroSInelastic=new G4KaonZeroSInelasticProcess; +} -template -class TQGSP_DIF: public T +G4KaonBuilder:: +~G4KaonBuilder(){ + delete theKaonPlusInelastic; + delete theKaonMinusInelastic; + delete theKaonZeroLInelastic; + delete theKaonZeroSInelastic; +} + +void G4KaonBuilder:: +Build() { -public: - TQGSP_DIF(G4int ver = 1); - virtual ~TQGSP_DIF(); + wasActivated = true; + + std::vector::iterator i; + for(i=theModelCollections.begin(); i!=theModelCollections.end(); i++) + { + (*i)->Build(theKaonPlusInelastic); + (*i)->Build(theKaonMinusInelastic); + (*i)->Build(theKaonZeroLInelastic); + (*i)->Build(theKaonZeroSInelastic); + } + G4ProcessManager * theProcMan; + + theProcMan = G4KaonPlus::KaonPlus()->GetProcessManager(); + theProcMan->AddDiscreteProcess(theKaonPlusInelastic); -public: - // SetCuts() - virtual void SetCuts(); + theProcMan = G4KaonMinus::KaonMinus()->GetProcessManager(); + theProcMan->AddDiscreteProcess(theKaonMinusInelastic); -private: - enum {ok = CompileTimeConstraints::IsA::ok }; - -}; -#include "QGSP_DIF.icc" -typedef TQGSP_DIF QGSP_DIF; - -// 2002 by J.P. Wellisch - -#endif - - - + theProcMan = G4KaonZeroLong::KaonZeroLong()->GetProcessManager(); + theProcMan->AddDiscreteProcess(theKaonZeroLInelastic); + + theProcMan = G4KaonZeroShort::KaonZeroShort()->GetProcessManager(); + theProcMan->AddDiscreteProcess(theKaonZeroSInelastic); +} diff --git a/source/physics_lists/builders/src/G4LEPPionBuilder.cc b/source/physics_lists/builders/src/G4LEPPionBuilder.cc new file mode 100644 index 0000000000..130a791118 --- /dev/null +++ b/source/physics_lists/builders/src/G4LEPPionBuilder.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. * +// ******************************************************************** +// +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4LEPPionBuilder +// +// Author: 2010 G.Folger +// devired from G4LEPPiKBuilder +// +// Modified: +// +//---------------------------------------------------------------------------- +// +#include "G4LEPPionBuilder.hh" + +#include "globals.hh" +#include "G4ios.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4MesonConstructor.hh" +#include "G4BaryonConstructor.hh" +#include "G4ProcessManager.hh" + +G4LEPPionBuilder:: +G4LEPPionBuilder() +{ + theMin = 0; + theMax = 55*GeV; +} + +G4LEPPionBuilder:: +~G4LEPPionBuilder() +{ + delete theLEPionPlusModel; +} + +void G4LEPPionBuilder:: +Build(G4HadronElasticProcess *) +{ + G4cout << "Info - G4LEPPionBuilder::Build() not adding elastic" << G4endl; +} + +void G4LEPPionBuilder:: +Build(G4PionPlusInelasticProcess * aP) +{ + theLEPionPlusModel = new G4LEPionPlusInelastic(); + theLEPionPlusModel->SetMinEnergy(theMin); + theLEPionPlusModel->SetMaxEnergy(theMax); + aP->RegisterMe(theLEPionPlusModel); +} + +void G4LEPPionBuilder:: +Build(G4PionMinusInelasticProcess * aP) +{ + theLEPionMinusModel = new G4LEPionMinusInelastic(); + theLEPionMinusModel->SetMinEnergy(theMin); + theLEPionMinusModel->SetMaxEnergy(theMax); + aP->RegisterMe(theLEPionMinusModel); +} diff --git a/source/physics_lists/builders/src/G4LHEPStoppingPhysics.cc b/source/physics_lists/builders/src/G4LHEPStoppingPhysics.cc index 7afb735ae8..100a400124 100644 --- a/source/physics_lists/builders/src/G4LHEPStoppingPhysics.cc +++ b/source/physics_lists/builders/src/G4LHEPStoppingPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4LHEPStoppingPhysics.cc,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4LHEPStoppingPhysics.cc,v 1.2 2010/06/03 15:03:53 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -56,6 +56,10 @@ #include "G4AntiProtonAnnihilationAtRest.hh" #include "G4AntiNeutronAnnihilationAtRest.hh" +G4LHEPStoppingPhysics::G4LHEPStoppingPhysics(G4int ver) + : G4VPhysicsConstructor("LHEP Stopping"), verbose(ver), wasActivated(false) +{} + G4LHEPStoppingPhysics::G4LHEPStoppingPhysics(const G4String& nam, G4int ver) : G4VPhysicsConstructor(nam), verbose(ver), wasActivated(false) {} diff --git a/source/physics_lists/builders/src/G4MiscCHIPSBuilder.cc b/source/physics_lists/builders/src/G4MiscCHIPSBuilder.cc new file mode 100644 index 0000000000..dfb1696862 --- /dev/null +++ b/source/physics_lists/builders/src/G4MiscCHIPSBuilder.cc @@ -0,0 +1,81 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4MiscCHIPSBuilder +// +// Author: 2010, G.Folger +// +// created by modifying G4QInelasticCHIPSBuilder to apply only to MISC particles +// ----------------------------------------------------------------------------- +#include "G4MiscCHIPSBuilder.hh" + +G4MiscCHIPSBuilder::G4MiscCHIPSBuilder(G4int ver): + verbose(ver), wasActivated(false) +{ + // pointer to the particle table + theParticleTable = G4ParticleTable::GetParticleTable(); + theParticleIterator = theParticleTable->GetIterator(); +} + +G4MiscCHIPSBuilder::~G4MiscCHIPSBuilder() +{ + if(wasActivated) delete inelastic; +} + +void G4MiscCHIPSBuilder::Build() +{ + if(wasActivated) return; + + wasActivated = true; + theParticleIterator->reset(); + inelastic = new G4QInelastic(); + + while( (*theParticleIterator)() ) + { + G4ParticleDefinition* particle = theParticleIterator->value(); + G4String pname = particle->GetParticleName(); + if(pname == "kaon-" || pname == "kaon+" || pname == "kaon0S" || pname == "kaon0L" || + pname == "pi-" || pname == "pi+" || pname == "neutron" || pname == "proton" ) + { + if(verbose>1)G4cout<<"** G4MiscCHIPSBuilder: "<1)G4cout<< "__G4QInelCHIPSBuilder: "<< pname <<" is defined here"<GetProcessManager(); + pmanager->AddDiscreteProcess(inelastic); + if(verbose>1) G4cout<<"###> G4MiscCHIPSBuilder: "<GetProcessName() + <<" is added for "< 1) { + G4cout << "### G4NeutronCrossSectionXS: use alternative neutron X-sections" + << G4endl; + } + + G4ProcessVector* pv = neutron->GetProcessManager()->GetProcessList(); + G4int n = pv->size(); + G4HadronicProcess* had = 0; + for(G4int i=0; iGetProcessSubType()) { + had = static_cast((*pv)[i]); + had->AddDataSet(xinel); + } else if(fCapture == ((*pv)[i])->GetProcessSubType()) { + had = static_cast((*pv)[i]); + had->AddDataSet(xcap); + } + } +} diff --git a/source/physics_lists/builders/src/G4NeutronTrackingCut.cc b/source/physics_lists/builders/src/G4NeutronTrackingCut.cc index 85584ec28b..1d7f96baea 100644 --- a/source/physics_lists/builders/src/G4NeutronTrackingCut.cc +++ b/source/physics_lists/builders/src/G4NeutronTrackingCut.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4NeutronTrackingCut.cc,v 1.5 2008/09/17 18:19:15 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NeutronTrackingCut.cc,v 1.6 2010/06/04 15:28:35 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -44,6 +44,14 @@ #include "G4Neutron.hh" #include "G4NeutronKiller.hh" +G4NeutronTrackingCut::G4NeutronTrackingCut(G4int ver) + : G4VPhysicsConstructor("neutronTrackingCut") + , verbose(ver), wasActivated(false) +{ + timeLimit = 10.*microsecond; + kineticEnergyLimit = 0.0; +} + G4NeutronTrackingCut::G4NeutronTrackingCut(const G4String& name, G4int ver) : G4VPhysicsConstructor(name), verbose(ver), wasActivated(false) { diff --git a/source/physics_lists/builders/src/G4OpticalPhysics.cc b/source/physics_lists/builders/src/G4OpticalPhysics.cc index 9be85baffd..d626125502 100644 --- a/source/physics_lists/builders/src/G4OpticalPhysics.cc +++ b/source/physics_lists/builders/src/G4OpticalPhysics.cc @@ -41,6 +41,30 @@ #include "G4EmSaturation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4OpticalPhysics::G4OpticalPhysics(G4int verbose) + : G4VPhysicsConstructor("Optical") +, + wasActivated(false), + + fScintillationProcess(0), + fCerenkovProcess(0), + fOpWLSProcess(0), + fOpAbsorptionProcess(0), + fOpRayleighScatteringProcess(0), + fOpMieHGScatteringProcess(0), + fOpBoundaryProcess(0), + fMaxNumPhotons(100), + fMaxBetaChange(10.0), + fYieldFactor(1.), + fExcitationRatio(0.0), + fSurfaceModel(unified), + fProfile("delta"), + fTrackSecondariesFirst(true), + fScintillationByParticleType(false) +{ + verboseLevel = verbose; + fMessenger = new G4OpticalPhysicsMessenger(this); +} G4OpticalPhysics::G4OpticalPhysics(G4int verbose, const G4String& name) : G4VPhysicsConstructor(name), @@ -51,6 +75,7 @@ G4OpticalPhysics::G4OpticalPhysics(G4int verbose, const G4String& name) fOpWLSProcess(0), fOpAbsorptionProcess(0), fOpRayleighScatteringProcess(0), + fOpMieHGScatteringProcess(0), fOpBoundaryProcess(0), fMaxNumPhotons(100), fMaxBetaChange(10.0), @@ -58,7 +83,8 @@ G4OpticalPhysics::G4OpticalPhysics(G4int verbose, const G4String& name) fExcitationRatio(0.0), fSurfaceModel(unified), fProfile("delta"), - fTrackSecondariesFirst(true) + fTrackSecondariesFirst(true), + fScintillationByParticleType(false) { verboseLevel = verbose; fMessenger = new G4OpticalPhysicsMessenger(this); @@ -78,6 +104,7 @@ G4OpticalPhysics::~G4OpticalPhysics() delete fOpAbsorptionProcess; delete fOpRayleighScatteringProcess; + delete fOpMieHGScatteringProcess; delete fOpBoundaryProcess; } @@ -113,6 +140,7 @@ void G4OpticalPhysics::ConstructProcess() fOpAbsorptionProcess = new G4OpAbsorption(); fOpRayleighScatteringProcess = new G4OpRayleigh(); + fOpMieHGScatteringProcess = new G4OpMieHG(); fOpBoundaryProcess = new G4OpBoundaryProcess(); fOpBoundaryProcess->SetModel(fSurfaceModel); @@ -128,10 +156,12 @@ void G4OpticalPhysics::ConstructProcess() o << "Optical Photon without a Process Manager"; G4Exception("G4OpticalPhysics::ConstructProcess()","", FatalException,o.str().c_str()); + return; } pManager->AddDiscreteProcess(fOpAbsorptionProcess); pManager->AddDiscreteProcess(fOpRayleighScatteringProcess); + pManager->AddDiscreteProcess(fOpMieHGScatteringProcess); pManager->AddDiscreteProcess(fOpBoundaryProcess); pManager->AddDiscreteProcess(fOpWLSProcess); @@ -139,6 +169,7 @@ void G4OpticalPhysics::ConstructProcess() fScintillationProcess->SetScintillationYieldFactor(fYieldFactor); fScintillationProcess->SetScintillationExcitationRatio(fExcitationRatio); fScintillationProcess->SetTrackSecondariesFirst(fTrackSecondariesFirst); + fScintillationProcess->SetScintillationByParticleType(fScintillationByParticleType); // Use Birks Correction in the Scintillation process @@ -249,6 +280,14 @@ void G4OpticalPhysics::AddScintillationSaturation(G4EmSaturation* saturation) fScintillationProcess->AddSaturation(saturation); } +void G4OpticalPhysics::SetScintillationByParticleType(G4bool scintillationByParticleType) +{ + fScintillationByParticleType = scintillationByParticleType; + + if (fScintillationProcess) + fScintillationProcess->SetScintillationByParticleType(scintillationByParticleType); +} + void G4OpticalPhysics::SetTrackSecondariesFirst(G4bool trackSecondariesFirst) { fTrackSecondariesFirst = trackSecondariesFirst; diff --git a/source/physics_lists/builders/src/G4OpticalPhysicsMessenger.cc b/source/physics_lists/builders/src/G4OpticalPhysicsMessenger.cc index 3323717c2c..bca1e1bbaf 100644 --- a/source/physics_lists/builders/src/G4OpticalPhysicsMessenger.cc +++ b/source/physics_lists/builders/src/G4OpticalPhysicsMessenger.cc @@ -54,6 +54,7 @@ G4OpticalPhysicsMessenger::G4OpticalPhysicsMessenger( fSetCerenkovMaxPhotonsCmd(0), fSetCerenkovMaxBetaChangeCmd(0), fSetScintillationYieldFactorCmd(0), + fSetScintillationByParticleTypeCmd(0), fSetOpticalSurfaceModelCmd(0), fSetWLSTimeProfileCmd(0), fSetTrackSecondariesFirstCmd(0) @@ -105,6 +106,12 @@ G4OpticalPhysicsMessenger::G4OpticalPhysicsMessenger( fSetScintillationYieldFactorCmd->SetRange("ScintillationYieldFactor>=0"); fSetScintillationYieldFactorCmd->AvailableForStates(G4State_Idle,G4State_GeomClosed,G4State_EventProc); + fSetScintillationByParticleTypeCmd + = new G4UIcmdWithABool("/optics_engine/setScintillationByParticleType", this); + fSetScintillationByParticleTypeCmd->SetGuidance("Activate/Inactivate scintillation process by particle type"); + fSetScintillationByParticleTypeCmd->SetParameterName("ScintillationByParticleTypeActivation", false); + fSetScintillationByParticleTypeCmd->AvailableForStates(G4State_Idle,G4State_GeomClosed,G4State_EventProc); + fSetOpticalSurfaceModelCmd = new G4UIcmdWithAString("/optics_engine/setOpticalSurfaceModel", this); fSetOpticalSurfaceModelCmd @@ -140,6 +147,7 @@ G4OpticalPhysicsMessenger::~G4OpticalPhysicsMessenger() delete fSetCerenkovMaxPhotonsCmd; delete fSetCerenkovMaxBetaChangeCmd; delete fSetScintillationYieldFactorCmd; + delete fSetScintillationByParticleTypeCmd; delete fSetOpticalSurfaceModelCmd; delete fSetWLSTimeProfileCmd; delete fSetTrackSecondariesFirstCmd; @@ -159,6 +167,8 @@ void G4OpticalPhysicsMessenger::SetNewValue(G4UIcommand* command, G4String newVa GetOpAbsorptionProcess(); else if ( newValue == "OpRayleigh" ) fSelectedProcess = fOpticalPhysics-> GetOpRayleighProcess(); + else if ( newValue == "OpMieHG" ) fSelectedProcess = fOpticalPhysics-> + GetOpMieHGProcess(); else if ( newValue == "OpBoundary" ) fSelectedProcess = fOpticalPhysics-> GetOpBoundaryProcess(); else if ( newValue == "OpWLS" ) fSelectedProcess = fOpticalPhysics-> @@ -207,7 +217,12 @@ void G4OpticalPhysicsMessenger::SetNewValue(G4UIcommand* command, G4String newVa fOpticalPhysics ->SetScintillationYieldFactor( fSetScintillationYieldFactorCmd->GetNewDoubleValue(newValue)); - } + } + else if (command == fSetScintillationByParticleTypeCmd) { + fOpticalPhysics + ->SetScintillationByParticleType( + fSetScintillationByParticleTypeCmd->GetNewBoolValue(newValue)); + } else if (command == fSetOpticalSurfaceModelCmd) { if ( newValue == "glisur" ) { fOpticalPhysics diff --git a/source/physics_lists/builders/src/G4PionBuilder.cc b/source/physics_lists/builders/src/G4PionBuilder.cc new file mode 100644 index 0000000000..35dcded391 --- /dev/null +++ b/source/physics_lists/builders/src/G4PionBuilder.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. * +// ******************************************************************** +// +// $Id: G4PionBuilder.cc,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4PionBuilder +// +// Author: 2010 G.Folger +// devired from G4PiKBuilder +// +// Modified: +// +//---------------------------------------------------------------------------- +// +#include "G4PionBuilder.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" + +G4PionBuilder:: +G4PionBuilder(): wasActivated(false) +{ + thePionPlusInelastic=new G4PionPlusInelasticProcess; + thePionMinusInelastic=new G4PionMinusInelasticProcess; +} + +G4PionBuilder:: +~G4PionBuilder(){ + delete thePionPlusInelastic; + delete thePionMinusInelastic; +} + +void G4PionBuilder:: +Build() +{ + wasActivated = true; + + std::vector::iterator i; + for(i=theModelCollections.begin(); i!=theModelCollections.end(); i++) + { + (*i)->Build(thePionPlusInelastic); + (*i)->Build(thePionMinusInelastic); + } + G4ProcessManager * theProcMan; + + theProcMan = G4PionPlus::PionPlus()->GetProcessManager(); + theProcMan->AddDiscreteProcess(thePionPlusInelastic); + + theProcMan = G4PionMinus::PionMinus()->GetProcessManager(); + theProcMan->AddDiscreteProcess(thePionMinusInelastic); +} diff --git a/source/physics_lists/builders/src/G4QAtomicPhysics.cc b/source/physics_lists/builders/src/G4QAtomicPhysics.cc index 29a17133cf..6ae62c6a44 100644 --- a/source/physics_lists/builders/src/G4QAtomicPhysics.cc +++ b/source/physics_lists/builders/src/G4QAtomicPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QAtomicPhysics.cc,v 1.1 2009/11/20 10:24:28 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QAtomicPhysics.cc,v 1.2 2010/06/03 14:37:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -89,6 +89,12 @@ #include "G4Alpha.hh" #include "G4GenericIon.hh" +G4QAtomicPhysics::G4QAtomicPhysics(G4int ver) + : G4VPhysicsConstructor("CHIPS Atomic"), verbose(ver) +{ + G4LossTableManager::Instance(); +} + G4QAtomicPhysics::G4QAtomicPhysics(G4int ver, const G4String& name) : G4VPhysicsConstructor(name), verbose(ver) { diff --git a/source/physics_lists/builders/src/G4QCaptureAtRestPhysics.cc b/source/physics_lists/builders/src/G4QCaptureAtRestPhysics.cc index dfe6261c08..1e794890c4 100644 --- a/source/physics_lists/builders/src/G4QCaptureAtRestPhysics.cc +++ b/source/physics_lists/builders/src/G4QCaptureAtRestPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QCaptureAtRestPhysics.cc,v 1.1 2009/11/16 19:12:10 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QCaptureAtRestPhysics.cc,v 1.2 2010/06/03 15:03:53 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -39,6 +39,13 @@ #include "G4QCaptureAtRestPhysics.hh" +G4QCaptureAtRestPhysics::G4QCaptureAtRestPhysics(G4int ver) + : G4VPhysicsConstructor("CHIPS nuclear_capture") + , verbose(ver), wasActivated(false) +{ + if(verbose > 1) G4cout << "###> G4QCaptureAtRestPhysics is initialized" << G4endl; +} + G4QCaptureAtRestPhysics::G4QCaptureAtRestPhysics(const G4String& name, G4int ver) : G4VPhysicsConstructor(name), verbose(ver), wasActivated(false) { diff --git a/source/physics_lists/lists/src/HadronPhysicsFTFP.cc b/source/physics_lists/builders/src/G4QElasticPhysics.cc similarity index 51% rename from source/physics_lists/lists/src/HadronPhysicsFTFP.cc rename to source/physics_lists/builders/src/G4QElasticPhysics.cc index 4970020d38..80479bea94 100644 --- a/source/physics_lists/lists/src/HadronPhysicsFTFP.cc +++ b/source/physics_lists/builders/src/G4QElasticPhysics.cc @@ -23,79 +23,44 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTFP.cc,v 1.2 2007/06/01 15:20:06 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4QElasticPhysics.cc,v 1.2 2010/06/04 10:44:07 mkossov Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // -// ClassName: +// ClassName: G4QElasticPhysics // -// Author: 2002 J.P. Wellisch +// Author: 3 Nov 2010 M. Kosov // // Modified: -// 23.11.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping // //---------------------------------------------------------------------------- // -#include "HadronPhysicsFTFP.hh" -#include "globals.hh" -#include "G4ios.hh" -#include +#include "G4QElasticPhysics.hh" + +#include "G4UHadronElasticProcess.hh" +#include "G4HadronicInteraction.hh" +#include "G4HadronElastic.hh" +#include "G4QElastic.hh" + +#include "G4VQCrossSection.hh" + #include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" #include "G4MesonConstructor.hh" #include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" +#include "G4IonConstructor.hh" -HadronPhysicsFTFP::HadronPhysicsFTFP(const G4String& name, G4bool quasiElastic) - : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) -{} - -void HadronPhysicsFTFP::CreateModels() +G4QElasticPhysics::G4QElasticPhysics(const G4String& name, G4int ver) + : G4VPhysicsConstructor(name), verbose(ver), wasActivated(false) { - - theNeutrons=new G4NeutronBuilder; - theFTFPNeutron=new G4FTFPNeutronBuilder(QuasiElastic); - theNeutrons->RegisterMe(theFTFPNeutron); - theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); - theLEPNeutron->SetMaxInelasticEnergy(5*GeV); - - thePro=new G4ProtonBuilder; - theFTFPPro=new G4FTFPProtonBuilder(QuasiElastic); - thePro->RegisterMe(theFTFPPro); - thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder); - theLEPPro->SetMaxEnergy(5*GeV); - - thePiK=new G4PiKBuilder; - theFTFPPiK=new G4FTFPPiKBuilder(QuasiElastic); - thePiK->RegisterMe(theFTFPPiK); - thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder); - theLEPPiK->SetMaxEnergy(5*GeV); - - theMiscLHEP=new G4MiscLHEPBuilder; + if(verbose > 1) G4cout << "### QElasticPhysics is initialized" << G4endl; + model = 0; } -HadronPhysicsFTFP::~HadronPhysicsFTFP() -{ - delete theNeutrons; - delete theLEPNeutron; - delete theFTFPNeutron; - - delete thePiK; - delete theLEPPiK; - delete theFTFPPiK; - - delete thePro; - delete theLEPPro; - delete theFTFPPro; - - delete theMiscLHEP; -} - -void HadronPhysicsFTFP::ConstructParticle() +void G4QElasticPhysics::ConstructParticle() { G4MesonConstructor pMesonConstructor; pMesonConstructor.ConstructParticle(); @@ -103,17 +68,51 @@ void HadronPhysicsFTFP::ConstructParticle() G4BaryonConstructor pBaryonConstructor; pBaryonConstructor.ConstructParticle(); - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); + // Construct light ions + G4IonConstructor pConstructor; + pConstructor.ConstructParticle(); } -#include "G4ProcessManager.hh" -void HadronPhysicsFTFP::ConstructProcess() +void G4QElasticPhysics::ConstructProcess() { - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); + if(wasActivated) return; + wasActivated = true; + + process = new G4QElastic(); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ) + { + G4ParticleDefinition* particle = theParticleIterator->value(); + G4String pname = particle->GetParticleName(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + if(pname == "anti_neutron" || + pname == "anti_proton" || + pname == "anti_lambda" || + pname == "anti_sigma-" || + pname == "anti_sigma0" || + pname == "anti_sigma+" || + pname == "anti_xi-" || + pname == "anti_xi0" || + pname == "anti_omega-" || + pname == "pi-" || + pname == "pi+" || + pname == "kaon-" || + pname == "kaon+" || + pname == "kaon0S" || + pname == "kaon0L" || + pname == "lambda" || + pname == "sigma-" || + pname == "sigma0" || + pname == "sigma+" || + pname == "xi-" || + pname == "xi0" || + pname == "omega-" ) + { + pmanager->AddDiscreteProcess(process); + if(verbose>0) G4cout<<"### G4QElastic process is added for particle="<SetMinEnergy(theMin); theModel->SetMaxEnergy(100*TeV); aP->RegisterMe(theModel); - aP->AddDataSet(new G4NeutronInelasticCrossSection); + aP->AddDataSet(new G4CrossSectionPairGG( + new G4NeutronInelasticCrossSection(), 91*GeV)); } diff --git a/source/physics_lists/builders/src/G4QGSBinaryPiKBuilder.cc b/source/physics_lists/builders/src/G4QGSBinaryPiKBuilder.cc index e43f0dfd84..932526ee68 100644 --- a/source/physics_lists/builders/src/G4QGSBinaryPiKBuilder.cc +++ b/source/physics_lists/builders/src/G4QGSBinaryPiKBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QGSBinaryPiKBuilder.cc,v 1.3 2009/03/31 11:03:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QGSBinaryPiKBuilder.cc,v 1.4 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -41,11 +41,13 @@ #include "G4ParticleDefinition.hh" #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" +#include "G4PiNuclearCrossSection.hh" +#include "G4CrossSectionPairGG.hh" G4QGSBinaryPiKBuilder:: G4QGSBinaryPiKBuilder(G4bool quasiElastic) { - thePiData = new G4PiNuclearCrossSection; + thePiData = new G4CrossSectionPairGG(new G4PiNuclearCrossSection(), 91*GeV); theMin = 12*GeV; theModel = new G4TheoFSGenerator("QGSB"); diff --git a/source/physics_lists/builders/src/G4QGSBinaryProtonBuilder.cc b/source/physics_lists/builders/src/G4QGSBinaryProtonBuilder.cc index 2aa780a478..c583202ee5 100644 --- a/source/physics_lists/builders/src/G4QGSBinaryProtonBuilder.cc +++ b/source/physics_lists/builders/src/G4QGSBinaryProtonBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QGSBinaryProtonBuilder.cc,v 1.3 2009/03/31 11:03:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QGSBinaryProtonBuilder.cc,v 1.4 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -42,6 +42,7 @@ #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" #include "G4ProtonInelasticCrossSection.hh" +#include "G4CrossSectionPairGG.hh" G4QGSBinaryProtonBuilder:: G4QGSBinaryProtonBuilder(G4bool quasiElastic) @@ -71,7 +72,8 @@ void G4QGSBinaryProtonBuilder:: Build(G4ProtonInelasticProcess * aP) { // G4cout << "adding inelastic Proton in QGSBinary" << G4endl; - aP->AddDataSet(new G4ProtonInelasticCrossSection); + aP->AddDataSet(new G4CrossSectionPairGG( + new G4ProtonInelasticCrossSection(), 91*GeV)); theModel->SetMinEnergy(theMin); theModel->SetMaxEnergy(100*TeV); aP->RegisterMe(theModel); diff --git a/source/physics_lists/builders/src/G4QGSBuilder.cc b/source/physics_lists/builders/src/G4QGSBuilder.cc index 65be84fadd..3c43814483 100644 --- a/source/physics_lists/builders/src/G4QGSBuilder.cc +++ b/source/physics_lists/builders/src/G4QGSBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QGSBuilder.cc,v 1.1 2009/10/04 16:29:54 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QGSBuilder.cc,v 1.3 2010/06/19 11:12:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -47,10 +47,14 @@ #include "G4QGSMFragmentation.hh" #include "G4ExcitedStringDecay.hh" #include "G4BinaryCascade.hh" +#include "G4PreCompoundModel.hh" +#include "G4ExcitationHandler.hh" -G4QGSBuilder::G4QGSBuilder(const G4String& aName, G4bool quasiel, G4bool diff) - : G4VHadronModelBuilder(aName), quasielFlag(quasiel), diffFlag(diff) +G4QGSBuilder::G4QGSBuilder(const G4String& aName, G4PreCompoundModel* p, + G4bool quasiel, G4bool diff) + : G4VHadronModelBuilder(aName), thePreCompound(p), + quasielFlag(quasiel), diffFlag(diff) { theProjectileDiffraction = 0; theQuasiElastic = 0; @@ -62,13 +66,15 @@ G4QGSBuilder::~G4QGSBuilder() delete theQuasiElastic; delete theQGStringDecay; delete theQGStringModel; + delete theQGSM; } G4HadronicInteraction* G4QGSBuilder::BuildModel() { G4TheoFSGenerator* theQGSModel = new G4TheoFSGenerator(GetName()); theQGStringModel = new G4QGSModel< G4QGSParticipants >; - theQGStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation()); + theQGSM = new G4QGSMFragmentation(); + theQGStringDecay = new G4ExcitedStringDecay(theQGSM); theQGStringModel->SetFragmentationModel(theQGStringDecay); theQGSModel->SetHighEnergyGenerator(theQGStringModel); @@ -81,14 +87,22 @@ G4HadronicInteraction* G4QGSBuilder::BuildModel() theQGSModel->SetProjectileDiffraction(theProjectileDiffraction); } - if(GetName() == "QGSP") { - theQGSModel->SetTransport(new G4GeneratorPrecompoundInterface()); - } else if(GetName() == "QGSC") { + if(!thePreCompound) { + thePreCompound = new G4PreCompoundModel(new G4ExcitationHandler()); + } + + if(GetName() == "QGSC") { theQGSModel->SetTransport(new G4QStringChipsParticleLevelInterface()); + } else if(GetName() == "QGSB") { - theQGSModel->SetTransport(new G4BinaryCascade()); + G4BinaryCascade* bic = new G4BinaryCascade(); + bic->SetDeExcitation(thePreCompound); + theQGSModel->SetTransport(bic); + } else { - theQGSModel->SetTransport(new G4GeneratorPrecompoundInterface()); + G4GeneratorPrecompoundInterface* pint = new G4GeneratorPrecompoundInterface(); + pint->SetDeExcitation(thePreCompound); + theQGSModel->SetTransport(pint); } return theQGSModel; diff --git a/source/physics_lists/builders/src/G4QGSPNeutronBuilder.cc b/source/physics_lists/builders/src/G4QGSPNeutronBuilder.cc index faaca0c0dd..cf9e15d68c 100644 --- a/source/physics_lists/builders/src/G4QGSPNeutronBuilder.cc +++ b/source/physics_lists/builders/src/G4QGSPNeutronBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QGSPNeutronBuilder.cc,v 1.5 2009/03/31 11:03:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QGSPNeutronBuilder.cc,v 1.8 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,6 +33,8 @@ // Author: 2002 J.P. Wellisch // // Modified: +// 17.11.2010 G.Folger, use G4CrossSectionPairGG for relativistic rise of cross +// section at high energies. // 30.03.2009 V.Ivanchenko create cross section by new // //---------------------------------------------------------------------------- @@ -42,6 +44,7 @@ #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" #include "G4NeutronInelasticCrossSection.hh" +#include "G4CrossSectionPairGG.hh" G4QGSPNeutronBuilder:: G4QGSPNeutronBuilder(G4bool quasiElastic, G4bool projectileDiffraction) @@ -50,11 +53,11 @@ G4QGSPNeutronBuilder(G4bool quasiElastic, G4bool projectileDiffraction) theModel = new G4TheoFSGenerator("QGSP"); theStringModel = new G4QGSModel< G4QGSParticipants >; - theStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation); + theStringDecay = new G4ExcitedStringDecay(theQGSM = new G4QGSMFragmentation); theStringModel->SetFragmentationModel(theStringDecay); theCascade = new G4GeneratorPrecompoundInterface; - thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); + thePreEquilib = new G4PreCompoundModel(theHandler = new G4ExcitationHandler); theCascade->SetDeExcitation(thePreEquilib); theModel->SetTransport(theCascade); @@ -73,8 +76,7 @@ G4QGSPNeutronBuilder(G4bool quasiElastic, G4bool projectileDiffraction) { theProjectileDiffraction=0;} } -G4QGSPNeutronBuilder:: -~G4QGSPNeutronBuilder() +G4QGSPNeutronBuilder::~G4QGSPNeutronBuilder() { delete theStringDecay; delete theStringModel; @@ -83,6 +85,8 @@ G4QGSPNeutronBuilder:: if ( theQuasiElastic ) delete theQuasiElastic; if ( theProjectileDiffraction ) delete theProjectileDiffraction; delete theModel; + delete theQGSM; + delete theHandler; } void G4QGSPNeutronBuilder:: @@ -106,7 +110,8 @@ Build(G4NeutronInelasticProcess * aP) theModel->SetMinEnergy(theMin); theModel->SetMaxEnergy(100*TeV); aP->RegisterMe(theModel); - aP->AddDataSet(new G4NeutronInelasticCrossSection); + aP->AddDataSet(new G4CrossSectionPairGG( + new G4NeutronInelasticCrossSection(), 91*GeV)); } // 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4QGSPPiKBuilder.cc b/source/physics_lists/builders/src/G4QGSPPiKBuilder.cc index eec286d6fe..d8189bf371 100644 --- a/source/physics_lists/builders/src/G4QGSPPiKBuilder.cc +++ b/source/physics_lists/builders/src/G4QGSPPiKBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QGSPPiKBuilder.cc,v 1.5 2009/03/31 11:03:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QGSPPiKBuilder.cc,v 1.8 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,6 +33,8 @@ // Author: 2002 J.P. Wellisch // // Modified: +// 17.11.2010 G.Folger, use G4CrossSectionPairGG for relativistic rise of cross +// section at high energies. // 30.03.2009 V.Ivanchenko create cross section by new // //---------------------------------------------------------------------------- @@ -42,21 +44,22 @@ #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" #include "G4PiNuclearCrossSection.hh" +#include "G4CrossSectionPairGG.hh" G4QGSPPiKBuilder:: G4QGSPPiKBuilder(G4bool quasiElastic, G4bool projectileDiffraction) { - thePiData = new G4PiNuclearCrossSection(); + thePiData = new G4CrossSectionPairGG(new G4PiNuclearCrossSection(), 91*GeV); theMin = 12*GeV; theModel = new G4TheoFSGenerator("QGSP"); theStringModel = new G4QGSModel< G4QGSParticipants >; - theStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation); + theStringDecay = new G4ExcitedStringDecay(theQGSM = new G4QGSMFragmentation); theStringModel->SetFragmentationModel(theStringDecay); theCascade = new G4GeneratorPrecompoundInterface; - thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); + thePreEquilib = new G4PreCompoundModel(theHandler = new G4ExcitationHandler); theCascade->SetDeExcitation(thePreEquilib); theModel->SetHighEnergyGenerator(theStringModel); @@ -75,7 +78,7 @@ G4QGSPPiKBuilder(G4bool quasiElastic, G4bool projectileDiffraction) theModel->SetTransport(theCascade); } - + G4QGSPPiKBuilder:: ~G4QGSPPiKBuilder() { @@ -86,6 +89,8 @@ G4QGSPPiKBuilder:: delete theStringDecay; delete theStringModel; delete theModel; + delete theQGSM; + delete theHandler; } void G4QGSPPiKBuilder:: diff --git a/source/physics_lists/builders/src/G4QGSPPionBuilder.cc b/source/physics_lists/builders/src/G4QGSPPionBuilder.cc new file mode 100644 index 0000000000..8264bc419d --- /dev/null +++ b/source/physics_lists/builders/src/G4QGSPPionBuilder.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: G4QGSPPionBuilder.cc,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4QGSPPionBuilder +// +// Author: 2010 G.Folger +// devired from G4QGSPPiKBuilder +// +// Modified: +// 17.11.2010 G.Folger, use G4CrossSectionPairGG for relativistic rise of cross +// section at high energies. +// 30.03.2009 V.Ivanchenko create cross section by new +// +//---------------------------------------------------------------------------- +// +#include "G4QGSPPionBuilder.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" +#include "G4PiNuclearCrossSection.hh" +#include "G4CrossSectionPairGG.hh" + +G4QGSPPionBuilder:: +G4QGSPPionBuilder(G4bool quasiElastic, G4bool projectileDiffraction) +{ + thePiData = new G4CrossSectionPairGG(new G4PiNuclearCrossSection(), 91*GeV); + theMin = 12*GeV; + theModel = new G4TheoFSGenerator("QGSP"); + + theStringModel = new G4QGSModel< G4QGSParticipants >; + theStringDecay = new G4ExcitedStringDecay(theQGSM = new G4QGSMFragmentation); + theStringModel->SetFragmentationModel(theStringDecay); + + + theCascade = new G4GeneratorPrecompoundInterface; + thePreEquilib = new G4PreCompoundModel(theHandler = new G4ExcitationHandler); + theCascade->SetDeExcitation(thePreEquilib); + + theModel->SetHighEnergyGenerator(theStringModel); + if (quasiElastic) + { + theQuasiElastic=new G4QuasiElasticChannel; + theModel->SetQuasiElasticChannel(theQuasiElastic); + } else + { theQuasiElastic=0;} + if ( projectileDiffraction ) + { + theProjectileDiffraction=new G4ProjectileDiffractiveChannel; + theModel->SetProjectileDiffraction(theProjectileDiffraction); + } else + { theProjectileDiffraction=0;} + + theModel->SetTransport(theCascade); +} + +G4QGSPPionBuilder:: +~G4QGSPPionBuilder() +{ + delete theCascade; + delete thePreEquilib; + if ( theQuasiElastic ) delete theQuasiElastic; + if ( theProjectileDiffraction ) delete theProjectileDiffraction; + delete theStringDecay; + delete theStringModel; + delete theModel; + delete theQGSM; + delete theHandler; +} + +void G4QGSPPionBuilder:: +Build(G4HadronElasticProcess * ) {} + +void G4QGSPPionBuilder:: +Build(G4PionPlusInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); + aP->AddDataSet(thePiData); + aP->RegisterMe(theModel); +} + +void G4QGSPPionBuilder:: +Build(G4PionMinusInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); + aP->AddDataSet(thePiData); + aP->RegisterMe(theModel); +} + + +// 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4QGSPProtonBuilder.cc b/source/physics_lists/builders/src/G4QGSPProtonBuilder.cc index c995e271d5..45333e1073 100644 --- a/source/physics_lists/builders/src/G4QGSPProtonBuilder.cc +++ b/source/physics_lists/builders/src/G4QGSPProtonBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QGSPProtonBuilder.cc,v 1.5 2009/03/31 11:03:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QGSPProtonBuilder.cc,v 1.8 2010/11/18 14:52:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,6 +33,8 @@ // Author: 2002 J.P. Wellisch // // Modified: +// 17.11.2010 G.Folger, use G4CrossSectionPairGG for relativistic rise of cross +// section at high energies. // 30.03.2009 V.Ivanchenko create cross section by new // //---------------------------------------------------------------------------- @@ -42,6 +44,7 @@ #include "G4ParticleTable.hh" #include "G4ProcessManager.hh" #include "G4ProtonInelasticCrossSection.hh" +#include "G4CrossSectionPairGG.hh" G4QGSPProtonBuilder:: G4QGSPProtonBuilder(G4bool quasiElastic, G4bool projectileDiffraction) @@ -50,11 +53,11 @@ G4QGSPProtonBuilder(G4bool quasiElastic, G4bool projectileDiffraction) theModel = new G4TheoFSGenerator("QGSP"); theStringModel = new G4QGSModel< G4QGSParticipants >; - theStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation); + theStringDecay = new G4ExcitedStringDecay(theQGSM = new G4QGSMFragmentation); theStringModel->SetFragmentationModel(theStringDecay); theCascade = new G4GeneratorPrecompoundInterface; - thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); + thePreEquilib = new G4PreCompoundModel(theHandler = new G4ExcitationHandler); theCascade->SetDeExcitation(thePreEquilib); theModel->SetTransport(theCascade); @@ -77,7 +80,8 @@ void G4QGSPProtonBuilder:: Build(G4ProtonInelasticProcess * aP) { // G4cout << "adding inelastic Proton in QGSP" << G4endl; - aP->AddDataSet(new G4ProtonInelasticCrossSection()); + aP->AddDataSet(new G4CrossSectionPairGG( + new G4ProtonInelasticCrossSection(), 91*GeV)); theModel->SetMinEnergy(theMin); theModel->SetMaxEnergy(100*TeV); aP->RegisterMe(theModel); @@ -97,6 +101,8 @@ G4QGSPProtonBuilder::~G4QGSPProtonBuilder() delete theStringDecay; delete theStringModel; delete theModel; + delete theQGSM; + delete theHandler; } // 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/HadronPhysicsFTFC.hh b/source/physics_lists/builders/src/G4QIonPhysics.cc similarity index 55% rename from source/physics_lists/lists/include/HadronPhysicsFTFC.hh rename to source/physics_lists/builders/src/G4QIonPhysics.cc index 7f699327d2..550d092092 100644 --- a/source/physics_lists/lists/include/HadronPhysicsFTFC.hh +++ b/source/physics_lists/builders/src/G4QIonPhysics.cc @@ -23,71 +23,62 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTFC.hh,v 1.3 2008/06/19 08:08:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4QIonPhysics.cc,v 1.1 2010/06/03 09:31:41 mkossov Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // -// ClassName: +// ClassName: G4QIonPhysics // -// Author: 2002 J.P. Wellisch +// Author: 03/06/2010, M. Kossov // // Modified: -// 23.11.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// 19.06.2008 G.Folger: change default for QE to NOT use Chips QE // //---------------------------------------------------------------------------- // -#ifndef HadronPhysicsFTFC_h -#define HadronPhysicsFTFC_h 1 -#include "globals.hh" -#include "G4ios.hh" +#include "G4QIonPhysics.hh" -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" +G4QIonPhysics::G4QIonPhysics(const G4String& name) + : G4VPhysicsConstructor(name), wasActivated(false){} -#include "G4PiKBuilder.hh" -#include "G4LEPPiKBuilder.hh" -#include "G4FTFCPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4LEPProtonBuilder.hh" -#include "G4FTFCProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4LEPNeutronBuilder.hh" -#include "G4FTFCNeutronBuilder.hh" - -class HadronPhysicsFTFC : public G4VPhysicsConstructor +void G4QIonPhysics::ConstructProcess() { - public: - HadronPhysicsFTFC(const G4String& name ="hadron",G4bool quasiElastic=false); - virtual ~HadronPhysicsFTFC(); + G4ProcessManager* pManager = 0; + fQAAInelasticProcess = new G4QLowEnergy(); + fQAAElasticProcess = new G4QIonIonElastic(); - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); + // Deuteron + pManager = G4Deuteron::Deuteron()->GetProcessManager(); + pManager->AddDiscreteProcess(fQAAInelasticProcess); + pManager->AddDiscreteProcess(fQAAElasticProcess); - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LEPNeutronBuilder * theLEPNeutron; - G4FTFCNeutronBuilder * theFTFCNeutron; - - G4PiKBuilder * thePiK; - G4LEPPiKBuilder * theLEPPiK; - G4FTFCPiKBuilder * theFTFCPiK; - - G4ProtonBuilder * thePro; - G4LEPProtonBuilder * theLEPPro; - G4FTFCProtonBuilder * theFTFCPro; - - G4MiscLHEPBuilder * theMiscLHEP; + // Triton + pManager = G4Triton::Triton()->GetProcessManager(); + pManager->AddDiscreteProcess(fQAAInelasticProcess); + pManager->AddDiscreteProcess(fQAAElasticProcess); - G4bool QuasiElastic; -}; + // He3 + pManager = G4He3::He3()->GetProcessManager(); + pManager->AddDiscreteProcess(fQAAInelasticProcess); + pManager->AddDiscreteProcess(fQAAElasticProcess); -#endif + // Alpha + pManager = G4Alpha::Alpha()->GetProcessManager(); + pManager->AddDiscreteProcess(fQAAInelasticProcess); + pManager->AddDiscreteProcess(fQAAElasticProcess); + // GenericIon + pManager = G4GenericIon::GenericIon()->GetProcessManager(); + pManager->AddDiscreteProcess(fQAAInelasticProcess); + pManager->AddDiscreteProcess(fQAAElasticProcess); + + wasActivated = true; +} + + void G4QIonPhysics::ConstructParticle() + { + // Construct light ions + G4IonConstructor pConstructor; + pConstructor.ConstructParticle(); + } diff --git a/source/physics_lists/builders/src/G4QNeutrinoPhysics.cc b/source/physics_lists/builders/src/G4QNeutrinoPhysics.cc index 8403dea459..5c23924e32 100644 --- a/source/physics_lists/builders/src/G4QNeutrinoPhysics.cc +++ b/source/physics_lists/builders/src/G4QNeutrinoPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QNeutrinoPhysics.cc,v 1.3 2009/11/30 18:44:49 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QNeutrinoPhysics.cc,v 1.4 2010/06/03 14:37:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -39,6 +39,15 @@ #include "G4QNeutrinoPhysics.hh" +G4QNeutrinoPhysics::G4QNeutrinoPhysics(G4int): + G4VPhysicsConstructor("CHIPS neutrino-nuclear"), wasBuilt(false), nuEleActivated(false), + nuMuoActivated(false), nuTauActivated(false), nuEleOn(false), + nuMuoOn(false), nuTauOn(false), nuNucBias(1.), inelastic(0) +{ + theMessenger = G4QMessenger::GetPointer(); + theMessenger->Add(this); +} + G4QNeutrinoPhysics::G4QNeutrinoPhysics(const G4String& name): G4VPhysicsConstructor(name), wasBuilt(false), nuEleActivated(false), nuMuoActivated(false), nuTauActivated(false), nuEleOn(false), diff --git a/source/physics_lists/builders/src/G4QPhotoNuclearPhysics.cc b/source/physics_lists/builders/src/G4QPhotoNuclearPhysics.cc index d8a6d8aa27..7d06b12f8e 100644 --- a/source/physics_lists/builders/src/G4QPhotoNuclearPhysics.cc +++ b/source/physics_lists/builders/src/G4QPhotoNuclearPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QPhotoNuclearPhysics.cc,v 1.2 2009/11/16 19:12:10 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QPhotoNuclearPhysics.cc,v 1.5 2010/06/13 20:41:00 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -40,6 +40,16 @@ #include "G4QPhotoNuclearPhysics.hh" +G4QPhotoNuclearPhysics::G4QPhotoNuclearPhysics(G4int): + G4VPhysicsConstructor("CHIPS photo-nuclear"), wasBuilt(false), SynchRActivated(false), + GamNucActivated(false), EleNucActivated(false), MuoNucActivated(false), + TauNucActivated(false), synchrOn(true), synchrMinGam(227.), gamNucOn(true), + eleNucOn(true), muoNucOn(true), tauNucOn(true), photoNucBias(1.) +{ + theMessenger = G4QMessenger::GetPointer(); + theMessenger->Add(this); +} + G4QPhotoNuclearPhysics::G4QPhotoNuclearPhysics(const G4String& name): G4VPhysicsConstructor(name), wasBuilt(false), SynchRActivated(false), GamNucActivated(false), EleNucActivated(false), MuoNucActivated(false), @@ -193,6 +203,7 @@ void G4QPhotoNuclearPhysics::BuildSynchRad() if(SynchRActivated) return; SynchRActivated = true; synchrad = new G4QSynchRad(); + theParticleIterator->reset(); while( (*theParticleIterator)() ) { G4ParticleDefinition* particle = theParticleIterator->value(); diff --git a/source/physics_lists/builders/src/G4QStoppingPhysics.cc b/source/physics_lists/builders/src/G4QStoppingPhysics.cc index 42a8263d93..f1b8254b7e 100644 --- a/source/physics_lists/builders/src/G4QStoppingPhysics.cc +++ b/source/physics_lists/builders/src/G4QStoppingPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QStoppingPhysics.cc,v 1.2 2007/04/26 16:03:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4QStoppingPhysics.cc,v 1.5 2010/06/03 16:28:39 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -49,6 +49,13 @@ #include "G4BaryonConstructor.hh" #include "G4MuonMinus.hh" +G4QStoppingPhysics::G4QStoppingPhysics(G4int ver) + : G4VPhysicsConstructor("stopping"), verbose(ver), wasActivated(false) , + useMuonMinusCaptureAtRest(true) +{ + if(verbose > 1) G4cout << "### G4QStoppingPhysics" << G4endl; +} + G4QStoppingPhysics::G4QStoppingPhysics(const G4String& name, G4int ver, G4bool UseMuonMinusCapture) : G4VPhysicsConstructor(name), verbose(ver), wasActivated(false) , diff --git a/source/physics_lists/builders/src/G4RadioactiveDecayPhysics.cc b/source/physics_lists/builders/src/G4RadioactiveDecayPhysics.cc index 61e4473e0b..15fca0bf3b 100644 --- a/source/physics_lists/builders/src/G4RadioactiveDecayPhysics.cc +++ b/source/physics_lists/builders/src/G4RadioactiveDecayPhysics.cc @@ -35,6 +35,10 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4RadioactiveDecayPhysics::G4RadioactiveDecayPhysics(G4int) + : G4VPhysicsConstructor("G4RadioactiveDecay"), theRadioactiveDecay(0) +{} + G4RadioactiveDecayPhysics::G4RadioactiveDecayPhysics(const G4String& name) : G4VPhysicsConstructor(name), theRadioactiveDecay(0) {} diff --git a/examples/extended/parallel/ExDiane/src/BrachyFactory.cc b/source/physics_lists/builders/src/G4VKaonBuilder.cc similarity index 78% rename from examples/extended/parallel/ExDiane/src/BrachyFactory.cc rename to source/physics_lists/builders/src/G4VKaonBuilder.cc index b68b34cabe..69826f96f6 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyFactory.cc +++ b/source/physics_lists/builders/src/G4VKaonBuilder.cc @@ -23,24 +23,24 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4VKaonBuilder.cc,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// Code developed by: -// S.Guatelli +//--------------------------------------------------------------------------- // +// ClassName: G4VKaonBuilder // -// ******************************* -// * * -// * BrachyFactory.cc * -// * * -// ******************************* +// Author: 2010 G.Folger +// devired from G4VPiKBuilder // -// $Id: BrachyFactory.cc,v 1.3 2006/06/29 17:33:12 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// Modified: // -#include"BrachyFactory.hh" +//---------------------------------------------------------------------------- +// +#include "G4VKaonBuilder.hh" -BrachyFactory::BrachyFactory() -{;} +G4VKaonBuilder::G4VKaonBuilder() +{} -BrachyFactory::~BrachyFactory() -{;} +G4VKaonBuilder::~G4VKaonBuilder() +{} diff --git a/source/physics_lists/builders/src/G4VPionBuilder.cc b/source/physics_lists/builders/src/G4VPionBuilder.cc new file mode 100644 index 0000000000..122dd8cdb9 --- /dev/null +++ b/source/physics_lists/builders/src/G4VPionBuilder.cc @@ -0,0 +1,46 @@ +// +// ******************************************************************** +// * 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: G4VPionBuilder.cc,v 1.1 2010/11/19 16:21:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4VPionBuilder +// +// Author: 2010 G.Folger +// devired from G4VPiKBuilder +// +// Modified: +// +//---------------------------------------------------------------------------- +// +#include "G4VPionBuilder.hh" + +G4VPionBuilder::G4VPionBuilder() +{} + +G4VPionBuilder::~G4VPionBuilder() +{} diff --git a/source/physics_lists/lists/CMakeLists.txt b/source/physics_lists/lists/CMakeLists.txt new file mode 100644 index 0000000000..0e3c07e091 --- /dev/null +++ b/source/physics_lists/lists/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4phys_lists +# Package: Geant4.src.G4physicslists.G4phys_lists +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:51:11 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/physics_lists/lists/include/CHIPS.icc b/source/physics_lists/lists/include/CHIPS.icc index bddf412c9c..ae545b57e8 100644 --- a/source/physics_lists/lists/include/CHIPS.icc +++ b/source/physics_lists/lists/include/CHIPS.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: CHIPS.icc,v 1.7 2009/11/20 16:49:03 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: CHIPS.icc,v 1.11 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,12 +33,12 @@ // Author: 2009 M.Kosov (based on QGSC_BERT, but without BERT) // // Modified: +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -54,9 +54,9 @@ //#include "G4QAtomicPhysics.hh" #include "G4QPhotoNuclearPhysics.hh" #include "G4QNeutrinoPhysics.hh" -#include "G4IonPhysics.hh" +#include "G4QIonPhysics.hh" #include "G4QCaptureAtRestPhysics.hh" -#include "G4HadronQElasticPhysics.hh" +#include "G4QElasticPhysics.hh" #include "G4NeutronTrackingCut.hh" #include "G4DataQuestionaire.hh" @@ -67,7 +67,7 @@ template TCHIPS::TCHIPS(G4int ver): T() // default cut value (1.0mm) // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: CHIPS 1.0"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); @@ -77,28 +77,28 @@ template TCHIPS::TCHIPS(G4int ver): T() this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & Photo-Nuclear Physics - this->RegisterPhysics( new G4QPhotoNuclearPhysics("photo-nuclear")); + this->RegisterPhysics( new G4QPhotoNuclearPhysics(ver)); // Neutrino-Nuclear Physics - this->RegisterPhysics( new G4QNeutrinoPhysics("weak")); + this->RegisterPhysics( new G4QNeutrinoPhysics(ver)); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering, "CHIPS" version (to be replaced by G4QElasticPhysics) - this-> RegisterPhysics( new G4HadronQElasticPhysics("elastic",ver)); + this->RegisterPhysics( new G4QElasticPhysics(ver)); // Hadron Physics (to be replaced by G4QInelasticPhysics) - this->RegisterPhysics( new HadronPhysicsCHIPS("inelastic")); + this->RegisterPhysics( new HadronPhysicsCHIPS(ver)); // Stopping Physics - this->RegisterPhysics( new G4QCaptureAtRestPhysics("nuclear_capture",ver)); + this->RegisterPhysics( new G4QCaptureAtRestPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4QIonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/FTFC.icc b/source/physics_lists/lists/include/FTFC.icc deleted file mode 100644 index 761415f475..0000000000 --- a/source/physics_lists/lists/include/FTFC.icc +++ /dev/null @@ -1,131 +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: FTFC.icc,v 1.7 2009/05/18 08:54:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 18.05.2009 G.Folger: obsoleted -// 28.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 02.12.2005 V.Ivanchenko: rename components -// 05.12.2005 V.Ivanchenko add controlled verbosity -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic -// 16.05.2007 V.Ivanchenko: rename EM builders -// 19.06.2008 G.Folger: don't use chips quasielastic for FTF -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsFTFC.hh" - -#include "G4WarnPLStatus.hh" - -template TFTFC::TFTFC(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: FTFC 3.5"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("FTFC"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay", ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - - // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsFTFC("hadron",quasiElastic=false)); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - -} - -template TFTFC::~TFTFC() -{ -} - -template void TFTFC::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "FTFC::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel > 0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/FTFP.icc b/source/physics_lists/lists/include/FTFP.icc deleted file mode 100644 index 2d96db8ee4..0000000000 --- a/source/physics_lists/lists/include/FTFP.icc +++ /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: FTFP.icc,v 1.7 2009/11/27 17:28:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 28.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 02.12.2005 V.Ivanchenko: rename components -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic -// 20.11.2006 G.Folger: add Tracking Cut for neutrons -// 16.05.2007 V.Ivanchenko: rename EM builders -// 19.06.2008 G.Folger: don't use chips quasielastic in FTF -// 27.11.2009 G.Folger: Mark as obsolete -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsFTFP.hh" - -#include "G4WarnPLStatus.hh" - -template TFTFP::TFTFP(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: FTFP 4.5"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("FTFP", "FTFP_BERT"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - - // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsFTFP("hadron",quasiElastic=false)); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TFTFP::~TFTFP() -{ -} - -template void TFTFP::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "FTFP::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel > 0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/FTFP_BERT.icc b/source/physics_lists/lists/include/FTFP_BERT.icc index 0b700ffa1d..cb586daf21 100644 --- a/source/physics_lists/lists/include/FTFP_BERT.icc +++ b/source/physics_lists/lists/include/FTFP_BERT.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FTFP_BERT.icc,v 1.3 2009/11/27 17:28:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: FTFP_BERT.icc,v 1.7 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -37,13 +37,13 @@ // Modified: // 19.06.2008 G.Folger: don't use chips quasielastic in FTF // 27.11.2009 G.Folger: Remobe experimental status +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -70,7 +70,7 @@ template TFTFP_BERT::TFTFP_BERT(G4int ver): T() // default cut value (1.0mm) // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT 1.0"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); @@ -79,26 +79,25 @@ template TFTFP_BERT::TFTFP_BERT(G4int ver): T() this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsFTFP_BERT("hadron",quasiElastic=false)); + this->RegisterPhysics( new HadronPhysicsFTFP_BERT(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/FTFP_BERT_EMV.icc b/source/physics_lists/lists/include/FTFP_BERT_EMV.icc index cb72b7853d..17e15e1b06 100644 --- a/source/physics_lists/lists/include/FTFP_BERT_EMV.icc +++ b/source/physics_lists/lists/include/FTFP_BERT_EMV.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FTFP_BERT_EMV.icc,v 1.2 2009/11/27 17:28:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: FTFP_BERT_EMV.icc,v 1.6 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -34,14 +34,14 @@ // created from FTFP_BERT // // Modified: -// 27.11.2009 G.Folger: Remobe experimental status +// 27.11.2009 G.Folger: Remove experimental status +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -68,35 +68,34 @@ template TFTFP_BERT_EMV::TFTFP_BERT_EMV(G4int ver): T() // default cut value (1.0mm) // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT_EMV 1.0"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option1(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsFTFP_BERT("hadron",quasiElastic=false)); + this->RegisterPhysics( new HadronPhysicsFTFP_BERT(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/FTFP_BERT_EMX.icc b/source/physics_lists/lists/include/FTFP_BERT_EMX.icc index 7fe304e50d..5d3dd5f288 100644 --- a/source/physics_lists/lists/include/FTFP_BERT_EMX.icc +++ b/source/physics_lists/lists/include/FTFP_BERT_EMX.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FTFP_BERT_EMX.icc,v 1.1 2009/05/11 11:11:38 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: FTFP_BERT_EMX.icc,v 1.5 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,12 +33,14 @@ // Author: 11 May 2009 V.Ivanchenko // created from FTFP_BERT // +// Modified: +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts +// //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -67,7 +69,7 @@ template TFTFP_BERT_EMX::TFTFP_BERT_EMX(G4int ver): T() // default cut value (1.0mm) // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT_EMX 1.0"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); @@ -76,29 +78,28 @@ template TFTFP_BERT_EMX::TFTFP_BERT_EMX(G4int ver): T() exp.Experimental("FTFP_BERT_EMX"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics_option2(ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option2(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsFTFP_BERT("hadron",quasiElastic=false)); + this->RegisterPhysics( new HadronPhysicsFTFP_BERT(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/FTFP_BERT_TRV.icc b/source/physics_lists/lists/include/FTFP_BERT_TRV.icc index d2a169b302..f79faa6500 100644 --- a/source/physics_lists/lists/include/FTFP_BERT_TRV.icc +++ b/source/physics_lists/lists/include/FTFP_BERT_TRV.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FTFP_BERT_TRV.icc,v 1.2 2009/06/02 16:51:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: FTFP_BERT_TRV.icc,v 1.5 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -33,13 +33,13 @@ // Author: 2009 John Apostolakis // // created from FTFP_BERT - simple variant changing inelastic thresholds +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts +// // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -68,7 +68,7 @@ template TFTFP_BERT_TRV::TFTFP_BERT_TRV(G4int ver): T() // default cut value (1.0mm) // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT_TRV 1.0"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); @@ -77,29 +77,28 @@ template TFTFP_BERT_TRV::TFTFP_BERT_TRV(G4int ver): T() exp.Experimental("FTFP_BERT_TRV"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsFTFP_BERT_TRV("hadron",quasiElastic=false)); + this->RegisterPhysics( new HadronPhysicsFTFP_BERT_TRV(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/FTFP_EMV.icc b/source/physics_lists/lists/include/FTFP_EMV.icc deleted file mode 100644 index 967c3eed7f..0000000000 --- a/source/physics_lists/lists/include/FTFP_EMV.icc +++ /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. * -// ******************************************************************** -// -// $Id: FTFP_EMV.icc,v 1.6 2009/12/04 13:08:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: FTFP_EMV -// -// Author: 2007 G.Folger -// Created as copy from FTFP -// -// Modified: -// 18.05.2009 G.Folger: obsoleted -// 28.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 02.12.2005 V.Ivanchenko: rename components -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic -// 20.11.2006 G.Folger: add Tracking Cut for neutrons -// 16.05.2007 V.Ivanchenko: rename EM builders -// 19.06.2008 G.Folger: don't use chips quasielastic in FTF -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics_option1.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsFTFP.hh" - -#include "G4WarnPLStatus.hh" - -template TFTFP_EMV::TFTFP_EMV(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: FTFP_EMV 1.1"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Replaced("FTFP_EMV","FTFP_BERT_EMV"); - G4Exception(" Crash for usage of replaced physics list"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - - // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsFTFP("hadron",quasiElastic=false)); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TFTFP_EMV::~TFTFP_EMV() -{ -} - -template void TFTFP_EMV::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "FTFP_EMV::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel > 0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/FTF_BIC.icc b/source/physics_lists/lists/include/FTF_BIC.icc index 9a2e5db13c..d2af1bd644 100644 --- a/source/physics_lists/lists/include/FTF_BIC.icc +++ b/source/physics_lists/lists/include/FTF_BIC.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FTF_BIC.icc,v 1.4 2009/06/02 16:51:35 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: FTF_BIC.icc,v 1.9 2010/11/19 19:50:15 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -34,12 +34,12 @@ // // Modified: // 19.06.2008 G.Folger: don't use chips quasielastic in FTF +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -57,6 +57,7 @@ #include "G4QStoppingPhysics.hh" #include "G4HadronElasticPhysics.hh" #include "G4NeutronTrackingCut.hh" +#include "G4NeutronCrossSectionXS.hh" #include "G4DataQuestionaire.hh" #include "HadronPhysicsFTF_BIC.hh" @@ -69,7 +70,7 @@ template TFTF_BIC::TFTF_BIC(G4int ver): T() // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: FTF_BIC 1.1"<defaultCutValue = 0.7*mm; @@ -79,29 +80,31 @@ template TFTF_BIC::TFTF_BIC(G4int ver): T() exp.Experimental("FTF_BIC"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this-> RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsFTF_BIC("hadron",quasiElastic=false)); + this->RegisterPhysics( new HadronPhysicsFTF_BIC(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC")); + this->RegisterPhysics( new G4IonBinaryCascadePhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); + + // Neutron cross sections + this->RegisterPhysics( new G4NeutronCrossSectionXS(ver) ); } diff --git a/source/physics_lists/lists/include/G4HadronInelasticQBBC.hh b/source/physics_lists/lists/include/G4HadronInelasticQBBC.hh index d4717e5c65..5cf7e90a77 100644 --- a/source/physics_lists/lists/include/G4HadronInelasticQBBC.hh +++ b/source/physics_lists/lists/include/G4HadronInelasticQBBC.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronInelasticQBBC.hh,v 1.12 2009/11/25 13:10:51 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HadronInelasticQBBC.hh,v 1.14 2010/06/04 08:40:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -43,12 +43,17 @@ #include "globals.hh" #include "G4VHadronPhysics.hh" +class G4ExcitationHandler; +class G4Evaporation; + class G4HadronInelasticQBBC : public G4VHadronPhysics { public: // constructor - G4HadronInelasticQBBC(const G4String& name = "QBBC", + G4HadronInelasticQBBC(G4int ver = 1); + + G4HadronInelasticQBBC(const G4String& name, G4int ver = 1, G4bool ftf = false, G4bool bert = false, G4bool chips = false, G4bool hp = false, G4bool glauber = false); @@ -66,6 +71,9 @@ private: G4HadronInelasticQBBC(G4HadronInelasticQBBC &); G4HadronInelasticQBBC & operator=(const G4HadronInelasticQBBC &right); + G4ExcitationHandler* theHandler; + G4Evaporation* theEvaporation; + G4String htype; G4int verbose; G4bool wasActivated; diff --git a/source/physics_lists/lists/include/G4HadronInelasticQLHEP.hh b/source/physics_lists/lists/include/G4HadronInelasticQLHEP.hh index accc21d95d..60bc1eacb3 100644 --- a/source/physics_lists/lists/include/G4HadronInelasticQLHEP.hh +++ b/source/physics_lists/lists/include/G4HadronInelasticQLHEP.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronInelasticQLHEP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4HadronInelasticQLHEP.hh,v 1.2 2010/06/04 09:41:03 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -67,14 +67,15 @@ class G4HadronInelasticQLHEP : public G4VPhysicsConstructor { public: - G4HadronInelasticQLHEP(const G4String& name = "inelastic", + G4HadronInelasticQLHEP(G4int ver = 1); + + // obsolete + G4HadronInelasticQLHEP(const G4String& name, G4int ver = 1, G4bool qgs = false, G4bool bert = false, G4bool bic = false, G4bool hp = false); virtual ~G4HadronInelasticQLHEP(); -public: - // This method will be invoked in the Construct() method. // each particle type will be instantiated virtual void ConstructParticle(); diff --git a/source/physics_lists/lists/include/HadronPhysicsCHIPS.hh b/source/physics_lists/lists/include/HadronPhysicsCHIPS.hh index 52ff479f09..d3e3e608df 100644 --- a/source/physics_lists/lists/include/HadronPhysicsCHIPS.hh +++ b/source/physics_lists/lists/include/HadronPhysicsCHIPS.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsCHIPS.hh,v 1.2 2009/11/20 10:24:28 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsCHIPS.hh,v 1.3 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -48,7 +48,8 @@ class HadronPhysicsCHIPS : public G4VPhysicsConstructor { public: - HadronPhysicsCHIPS(const G4String& name ="CHIPS hadronic"); + HadronPhysicsCHIPS(G4int verbose =1); + HadronPhysicsCHIPS(const G4String& name); virtual ~HadronPhysicsCHIPS(); public: @@ -56,7 +57,8 @@ class HadronPhysicsCHIPS : public G4VPhysicsConstructor virtual void ConstructProcess(); private: - G4QInelasticCHIPSBuilder* theInelasticCHIPS; + G4QInelasticCHIPSBuilder* theInelasticCHIPS; +// G4int verbosity; }; #endif diff --git a/source/physics_lists/lists/include/HadronPhysicsFTFP_BERT.hh b/source/physics_lists/lists/include/HadronPhysicsFTFP_BERT.hh index bb55bd6960..f2031b9278 100644 --- a/source/physics_lists/lists/include/HadronPhysicsFTFP_BERT.hh +++ b/source/physics_lists/lists/include/HadronPhysicsFTFP_BERT.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTFP_BERT.hh,v 1.3 2008/06/19 08:08:23 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsFTFP_BERT.hh,v 1.5 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -46,7 +46,7 @@ #include "G4ios.hh" #include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" +#include "G4MiscCHIPSBuilder.hh" #include "G4PiKBuilder.hh" #include "G4BertiniPiKBuilder.hh" @@ -65,7 +65,8 @@ class HadronPhysicsFTFP_BERT : public G4VPhysicsConstructor { public: - HadronPhysicsFTFP_BERT(const G4String& name ="hadron",G4bool quasiElastic=false); + HadronPhysicsFTFP_BERT(G4int verbose =1); + HadronPhysicsFTFP_BERT(const G4String& name, G4bool quasiElastic=false); virtual ~HadronPhysicsFTFP_BERT(); public: @@ -74,6 +75,8 @@ class HadronPhysicsFTFP_BERT : public G4VPhysicsConstructor private: void CreateModels(); + G4HadronicProcess* FindInelasticProcess(const G4ParticleDefinition*); + G4NeutronBuilder * theNeutrons; G4BertiniNeutronBuilder * theBertiniNeutron; G4FTFPNeutronBuilder * theFTFPNeutron; @@ -87,9 +90,10 @@ class HadronPhysicsFTFP_BERT : public G4VPhysicsConstructor G4BertiniProtonBuilder * theBertiniPro; G4FTFPProtonBuilder * theFTFPPro; - G4MiscLHEPBuilder * theMiscLHEP; + G4MiscCHIPSBuilder * theMiscCHIPS; G4bool QuasiElastic; + G4VCrossSectionDataSet * theCHIPSInelastic; }; #endif diff --git a/source/physics_lists/lists/include/HadronPhysicsFTFP_BERT_TRV.hh b/source/physics_lists/lists/include/HadronPhysicsFTFP_BERT_TRV.hh index 4d470bc964..1bb2f428ae 100644 --- a/source/physics_lists/lists/include/HadronPhysicsFTFP_BERT_TRV.hh +++ b/source/physics_lists/lists/include/HadronPhysicsFTFP_BERT_TRV.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTFP_BERT_TRV.hh,v 1.1 2009/06/02 16:51:59 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsFTFP_BERT_TRV.hh,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -65,7 +65,8 @@ class HadronPhysicsFTFP_BERT_TRV : public G4VPhysicsConstructor { public: - HadronPhysicsFTFP_BERT_TRV(const G4String& name ="hadron",G4bool quasiElastic=false); + HadronPhysicsFTFP_BERT_TRV(G4int verbose =1); + HadronPhysicsFTFP_BERT_TRV(const G4String& name, G4bool quasiElastic=false); virtual ~HadronPhysicsFTFP_BERT_TRV(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsFTF_BIC.hh b/source/physics_lists/lists/include/HadronPhysicsFTF_BIC.hh index 50bad4b9fe..7103452a6f 100644 --- a/source/physics_lists/lists/include/HadronPhysicsFTF_BIC.hh +++ b/source/physics_lists/lists/include/HadronPhysicsFTF_BIC.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTF_BIC.hh,v 1.3 2008/06/19 08:08:23 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsFTF_BIC.hh,v 1.4 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -64,7 +64,8 @@ class HadronPhysicsFTF_BIC : public G4VPhysicsConstructor { public: - HadronPhysicsFTF_BIC(const G4String& name ="hadron",G4bool quasiElastic=false); + HadronPhysicsFTF_BIC(G4int verbose =1); + HadronPhysicsFTF_BIC(const G4String& name,G4bool quasiElastic=false); virtual ~HadronPhysicsFTF_BIC(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP.hh index 6b63d6917f..ada903681f 100644 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsLHEP.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsLHEP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsLHEP.hh,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -59,7 +59,8 @@ class HadronPhysicsLHEP : public G4VPhysicsConstructor { public: - HadronPhysicsLHEP(const G4String& name ="hadron"); + HadronPhysicsLHEP(G4int verbose =1); + HadronPhysicsLHEP(const G4String& name); virtual ~HadronPhysicsLHEP(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_EMV.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP_EMV.hh index 3e0d2fe135..b49294e86b 100644 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_EMV.hh +++ b/source/physics_lists/lists/include/HadronPhysicsLHEP_EMV.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsLHEP_EMV.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsLHEP_EMV.hh,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -59,7 +59,8 @@ class HadronPhysicsLHEP_EMV : public G4VPhysicsConstructor { public: - HadronPhysicsLHEP_EMV(const G4String& name ="hadron"); + HadronPhysicsLHEP_EMV(G4int verbose =1); + HadronPhysicsLHEP_EMV(const G4String& name); virtual ~HadronPhysicsLHEP_EMV(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_PRECO_HP.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP_PRECO_HP.hh deleted file mode 100644 index 4c753d75f1..0000000000 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_PRECO_HP.hh +++ /dev/null @@ -1,90 +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: HadronPhysicsLHEP_PRECO_HP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_PRECO_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#ifndef HadronPhysicsLHEP_PRECO_HP_h -#define HadronPhysicsLHEP_PRECO_HP_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" -# -#include "G4PiKBuilder.hh" -#include "G4LHEPPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4LHEPProtonBuilder.hh" -#include "G4PrecoProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4LHEPNeutronBuilder.hh" -#include "G4PrecoNeutronBuilder.hh" -#include "G4NeutronHPBuilder.hh" - -class HadronPhysicsLHEP_PRECO_HP : public G4VPhysicsConstructor -{ - public: - HadronPhysicsLHEP_PRECO_HP(const G4String& name ="hadron"); - virtual ~HadronPhysicsLHEP_PRECO_HP(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LHEPNeutronBuilder * theLHEPNeutron; - G4PrecoNeutronBuilder * thePrecoNeutron; - G4NeutronHPBuilder * theHPNeutron; - - G4PiKBuilder * thePiK; - G4LHEPPiKBuilder * theLHEPPiK; - - G4ProtonBuilder * thePro; - G4LHEPProtonBuilder * theLHEPPro; - G4PrecoProtonBuilder * thePrecoPro; - - G4MiscLHEPBuilder * theMiscLHEP; -}; - -#endif - diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSC_BERT.hh b/source/physics_lists/lists/include/HadronPhysicsQGSC_BERT.hh index e4bf96735c..446a75d6b0 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSC_BERT.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSC_BERT.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSC_BERT.hh,v 1.2 2009/04/09 08:22:53 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsQGSC_BERT.hh,v 1.3 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -62,7 +62,8 @@ class HadronPhysicsQGSC_BERT : public G4VPhysicsConstructor { public: - HadronPhysicsQGSC_BERT(const G4String& name ="hadron",G4bool quasiElastic=true); + HadronPhysicsQGSC_BERT(G4int verbose =1); + HadronPhysicsQGSC_BERT(const G4String& name,G4bool quasiElastic=true); virtual ~HadronPhysicsQGSC_BERT(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSC_CHIPS.hh b/source/physics_lists/lists/include/HadronPhysicsQGSC_CHIPS.hh index 1d556a275f..41c95f96a3 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSC_CHIPS.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSC_CHIPS.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSC_CHIPS.hh,v 1.6 2009/04/17 15:29:19 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsQGSC_CHIPS.hh,v 1.7 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -76,7 +76,8 @@ class HadronPhysicsQGSC_CHIPS : public G4VPhysicsConstructor { public: - HadronPhysicsQGSC_CHIPS(const G4String& name ="hadron",G4bool quasiElastic=true); + HadronPhysicsQGSC_CHIPS(G4int verbose =1); + HadronPhysicsQGSC_CHIPS(const G4String& name, G4bool quasiElastic=true); virtual ~HadronPhysicsQGSC_CHIPS(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSC_EFLOW.hh b/source/physics_lists/lists/include/HadronPhysicsQGSC_EFLOW.hh deleted file mode 100644 index 162ca1355f..0000000000 --- a/source/physics_lists/lists/include/HadronPhysicsQGSC_EFLOW.hh +++ /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: HadronPhysicsQGSC_EFLOW.hh,v 1.2 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsQGSC_EFLOW -// -// Author: 2006 Gunter Folger -// -// Created from HadronPhysicsQGSC -// Modified: -// 25.04.2007 G.Folger: Add quasielastic as option, use quasielastic by default -// -//---------------------------------------------------------------------------- - -#ifndef HadronPhysicsQGSC_EFLOW_h -#define HadronPhysicsQGSC_EFLOW_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" - -#include "G4PiKBuilder.hh" -#include "G4LEPPiKBuilder.hh" -#include "G4QGSCEflowPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4LEPProtonBuilder.hh" -#include "G4QGSCEflowProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4LEPNeutronBuilder.hh" -#include "G4QGSCEflowNeutronBuilder.hh" - -class HadronPhysicsQGSC_EFLOW : public G4VPhysicsConstructor -{ - public: - HadronPhysicsQGSC_EFLOW(const G4String& name ="hadron",G4bool quasiElastic=true); - virtual ~HadronPhysicsQGSC_EFLOW(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LEPNeutronBuilder * theLEPNeutron; - G4QGSCEflowNeutronBuilder * theQGSCEflowNeutron; - - G4PiKBuilder * thePiK; - G4LEPPiKBuilder * theLEPPiK; - G4QGSCEflowPiKBuilder * theQGSCEflowPiK; - - G4ProtonBuilder * thePro; - G4LEPProtonBuilder * theLEPPro; - G4QGSCEflowProtonBuilder * theQGSCEflowPro; - - G4MiscLHEPBuilder * theMiscLHEP; - - G4bool QuasiElastic; -}; - -#endif - diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSC_QGSC.hh b/source/physics_lists/lists/include/HadronPhysicsQGSC_QGSC.hh deleted file mode 100644 index 74a02c29fd..0000000000 --- a/source/physics_lists/lists/include/HadronPhysicsQGSC_QGSC.hh +++ /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: HadronPhysicsQGSC_QGSC.hh,v 1.4 2009/04/14 07:23:08 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsQGSC_QGSC -// -// Author: 2009 M. Kosov based on HadronPhysicsQGSC_BERT -// -// Modified: -// -//---------------------------------------------------------------------------- - -#ifndef HadronPhysicsQGSC_QGSC_h -#define HadronPhysicsQGSC_QGSC_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -//#include "G4MiscLHEPBuilder.hh" -#include "G4MiscQGSCBuilder.hh" - -#include "G4PiKBuilder.hh" -#include "G4QGSC_QGSCPiKBuilder.hh" -//#include "G4BertiniPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4QGSC_QGSCProtonBuilder.hh" -//#include "G4BertiniProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4QGSC_QGSCNeutronBuilder.hh" -//#include "G4BertiniNeutronBuilder.hh" -#include "G4LEPNeutronBuilder.hh" - -class HadronPhysicsQGSC_QGSC : public G4VPhysicsConstructor -{ - public: - HadronPhysicsQGSC_QGSC(const G4String& name ="hadron",G4bool quasiElastic=true); - virtual ~HadronPhysicsQGSC_QGSC(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4QGSC_QGSCNeutronBuilder * theQGSCNeutron; - //G4BertiniNeutronBuilder * theBertiniNeutron; - G4LEPNeutronBuilder * theLEPNeutron; //needed for capture&fission - - G4PiKBuilder * thePiK; - G4QGSC_QGSCPiKBuilder * theQGSCPiK; - //G4BertiniPiKBuilder * theBertiniPiK; - - G4ProtonBuilder * thePro; - G4QGSC_QGSCProtonBuilder * theQGSCPro; - //G4BertiniProtonBuilder * theBertiniPro; - - G4MiscQGSCBuilder * theMiscQGSC; - //G4MiscLHEPBuilder * theMiscLHEP; - - G4bool QuasiElastic; -}; - -#endif - diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP.hh index cc061d3305..0ade101382 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP.hh,v 1.4 2007/11/13 10:16:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP.hh,v 1.5 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -64,7 +64,8 @@ class HadronPhysicsQGSP : public G4VPhysicsConstructor { public: - HadronPhysicsQGSP(const G4String& name ="hadron",G4bool quasiElastic=true); + HadronPhysicsQGSP(G4int verbose =1); + HadronPhysicsQGSP(const G4String& name, G4bool quasiElastic=true); virtual ~HadronPhysicsQGSP(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT.hh index dd397b847c..1d0bce1997 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BERT.hh,v 1.3 2007/12/10 17:34:44 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP_BERT.hh,v 1.4 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -67,7 +67,8 @@ class HadronPhysicsQGSP_BERT : public G4VPhysicsConstructor { public: - HadronPhysicsQGSP_BERT(const G4String& name ="hadron",G4bool quasiElastic=true); + HadronPhysicsQGSP_BERT(G4int verbose =1); + HadronPhysicsQGSP_BERT(const G4String& name, G4bool quasiElastic=true); virtual ~HadronPhysicsQGSP_BERT(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSC.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_CHIPS.hh similarity index 61% rename from source/physics_lists/lists/include/HadronPhysicsQGSC.hh rename to source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_CHIPS.hh index 9da95b9f5e..3816614d0c 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSC.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_CHIPS.hh @@ -23,70 +23,84 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSC.hh,v 1.2 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP_BERT_CHIPS.hh,v 1.4 2010/11/23 15:09:30 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // -// ClassName: HadronPhysicsQGSC +// ClassName: HadronPhysicsQGSP_BERT_CHIPS // -// Author: 2002 J.P. Wellisch +// Author: 2010 G.Folger +// derived from HadronPhysicsQGSP_BERT // // Modified: -// 23.11.2005 G.Folger: don't keep processes as data members, but new these -// 08.06.2006 V.Ivanchenko: remove stopping -// 25.04.2007 G.Folger: Add quasielastic as option, use quasielastic by default // //---------------------------------------------------------------------------- - -#ifndef HadronPhysicsQGSC_h -#define HadronPhysicsQGSC_h 1 +// +#ifndef HadronPhysicsQGSP_BERT_CHIPS_h +#define HadronPhysicsQGSP_BERT_CHIPS_h 1 #include "globals.hh" #include "G4ios.hh" #include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" +#include "G4MiscCHIPSBuilder.hh" -#include "G4PiKBuilder.hh" -#include "G4LEPPiKBuilder.hh" -#include "G4QGSCPiKBuilder.hh" +#include "G4PionBuilder.hh" +#include "G4LEPPionBuilder.hh" +#include "G4QGSPPionBuilder.hh" +#include "G4BertiniPionBuilder.hh" + +#include "G4ChipsKaonBuilder.hh" #include "G4ProtonBuilder.hh" #include "G4LEPProtonBuilder.hh" -#include "G4QGSCProtonBuilder.hh" +#include "G4QGSPProtonBuilder.hh" +#include "G4BertiniProtonBuilder.hh" #include "G4NeutronBuilder.hh" #include "G4LEPNeutronBuilder.hh" -#include "G4QGSCNeutronBuilder.hh" +#include "G4QGSPNeutronBuilder.hh" +#include "G4BertiniNeutronBuilder.hh" -class HadronPhysicsQGSC : public G4VPhysicsConstructor +class HadronPhysicsQGSP_BERT_CHIPS : public G4VPhysicsConstructor { public: - HadronPhysicsQGSC(const G4String& name ="hadron",G4bool quasiElastic=true); - virtual ~HadronPhysicsQGSC(); + HadronPhysicsQGSP_BERT_CHIPS(G4int verbose =1); + HadronPhysicsQGSP_BERT_CHIPS(const G4String& name, G4bool quasiElastic=true); + virtual ~HadronPhysicsQGSP_BERT_CHIPS(); public: virtual void ConstructParticle(); virtual void ConstructProcess(); + void SetQuasiElastic(G4bool value) {QuasiElastic = value;}; + void SetProjectileDiffraction(G4bool value) {ProjectileDiffraction = value;}; + private: void CreateModels(); + G4NeutronBuilder * theNeutrons; G4LEPNeutronBuilder * theLEPNeutron; - G4QGSCNeutronBuilder * theQGSCNeutron; + G4QGSPNeutronBuilder * theQGSPNeutron; + G4BertiniNeutronBuilder * theBertiniNeutron; - G4PiKBuilder * thePiK; - G4LEPPiKBuilder * theLEPPiK; - G4QGSCPiKBuilder * theQGSCPiK; + G4PionBuilder * thePion; + G4LEPPionBuilder * theLEPPion; + G4QGSPPionBuilder * theQGSPPion; + G4BertiniPionBuilder * theBertiniPion; + + G4ChipsKaonBuilder * theKaon; G4ProtonBuilder * thePro; G4LEPProtonBuilder * theLEPPro; - G4QGSCProtonBuilder * theQGSCPro; + G4QGSPProtonBuilder * theQGSPPro; + G4BertiniProtonBuilder * theBertiniPro; - G4MiscLHEPBuilder * theMiscLHEP; + G4MiscCHIPSBuilder * theMiscCHIPS; G4bool QuasiElastic; + G4bool ProjectileDiffraction; }; #endif diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_HP.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_HP.hh index bdc4858789..e707cbf4d3 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_HP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_HP.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BERT_HP.hh,v 1.3 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP_BERT_HP.hh,v 1.5 2010/06/03 11:01:46 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -45,7 +45,6 @@ #include "G4ios.hh" #include "G4VPhysicsConstructor.hh" -#include "G4StoppingHadronBuilder.hh" #include "G4MiscLHEPBuilder.hh" #include "G4PiKBuilder.hh" @@ -67,7 +66,8 @@ class HadronPhysicsQGSP_BERT_HP : public G4VPhysicsConstructor { public: - HadronPhysicsQGSP_BERT_HP(const G4String& name ="hadron",G4bool quasiElastic=true); + HadronPhysicsQGSP_BERT_HP(G4int verbose =1); + HadronPhysicsQGSP_BERT_HP(const G4String& name, G4bool quasiElastic=true); virtual ~HadronPhysicsQGSP_BERT_HP(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_NOLEP.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_NOLEP.hh index 26d57831f2..3adf2536f0 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_NOLEP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_NOLEP.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BERT_NOLEP.hh,v 1.1 2008/10/17 12:43:21 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsQGSP_BERT_NOLEP.hh,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -62,8 +62,9 @@ class HadronPhysicsQGSP_BERT_NOLEP : public G4VPhysicsConstructor { public: - HadronPhysicsQGSP_BERT_NOLEP(const G4String& name ="hadron",G4bool quasiElastic=true); - virtual ~HadronPhysicsQGSP_BERT_NOLEP(); + HadronPhysicsQGSP_BERT_NOLEP(G4int verbose =1); + HadronPhysicsQGSP_BERT_NOLEP(const G4String& name, G4bool quasiElastic=true); + virtual ~HadronPhysicsQGSP_BERT_NOLEP(); public: virtual void ConstructParticle(); diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_TRV.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_TRV.hh index 6925e4c22f..efdf56f4e5 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_TRV.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_TRV.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BERT_TRV.hh,v 1.1 2007/05/07 14:34:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP_BERT_TRV.hh,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -64,7 +64,8 @@ class HadronPhysicsQGSP_BERT_TRV : public G4VPhysicsConstructor { public: - HadronPhysicsQGSP_BERT_TRV(const G4String& name ="hadron",G4bool quasiElastic=true); + HadronPhysicsQGSP_BERT_TRV(G4int verbose =1); + HadronPhysicsQGSP_BERT_TRV(const G4String& name,G4bool quasiElastic=true); virtual ~HadronPhysicsQGSP_BERT_TRV(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC.hh index c7261a8d65..5f84272cd1 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BIC.hh,v 1.2 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP_BIC.hh,v 1.3 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -65,7 +65,8 @@ class HadronPhysicsQGSP_BIC : public G4VPhysicsConstructor { public: - HadronPhysicsQGSP_BIC(const G4String& name ="hadron",G4bool quasiElastic=true); + HadronPhysicsQGSP_BIC(G4int verbose =1); + HadronPhysicsQGSP_BIC(const G4String& name,G4bool quasiElastic=true); virtual ~HadronPhysicsQGSP_BIC(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC_HP.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC_HP.hh index 71d75e3950..9bdffa32d6 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC_HP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC_HP.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BIC_HP.hh,v 1.2 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP_BIC_HP.hh,v 1.3 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -67,7 +67,8 @@ class HadronPhysicsQGSP_BIC_HP : public G4VPhysicsConstructor { public: - HadronPhysicsQGSP_BIC_HP(const G4String& name ="hadron",G4bool quasiElastic=true); + HadronPhysicsQGSP_BIC_HP(G4int verbose =1); + HadronPhysicsQGSP_BIC_HP(const G4String& name, G4bool quasiElastic=true); virtual ~HadronPhysicsQGSP_BIC_HP(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_FTFP_BERT.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_FTFP_BERT.hh index bcb8fd939a..720aae1359 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_FTFP_BERT.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_FTFP_BERT.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_FTFP_BERT.hh,v 1.1 2009/04/23 19:04:18 japost Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsQGSP_FTFP_BERT.hh,v 1.3 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -44,7 +44,7 @@ #include "G4ios.hh" #include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" +#include "G4MiscCHIPSBuilder.hh" #include "G4PiKBuilder.hh" #include "G4FTFPPiKBuilder.hh" @@ -65,7 +65,8 @@ class HadronPhysicsQGSP_FTFP_BERT : public G4VPhysicsConstructor { public: - HadronPhysicsQGSP_FTFP_BERT(const G4String& name ="hadron",G4bool quasiElastic=true); + HadronPhysicsQGSP_FTFP_BERT(G4int verbose =1); + HadronPhysicsQGSP_FTFP_BERT(const G4String& name,G4bool quasiElastic=true); virtual ~HadronPhysicsQGSP_FTFP_BERT(); public: @@ -77,6 +78,7 @@ class HadronPhysicsQGSP_FTFP_BERT : public G4VPhysicsConstructor private: void CreateModels(); + G4HadronicProcess* FindInelasticProcess(const G4ParticleDefinition*); G4NeutronBuilder * theNeutrons; G4FTFPNeutronBuilder * theFTFPNeutron; G4QGSPNeutronBuilder * theQGSPNeutron; @@ -93,10 +95,11 @@ class HadronPhysicsQGSP_FTFP_BERT : public G4VPhysicsConstructor G4QGSPProtonBuilder * theQGSPPro; G4BertiniProtonBuilder * theBertiniPro; - G4MiscLHEPBuilder * theMiscLHEP; + G4MiscCHIPSBuilder * theMiscCHIPS; G4bool QuasiElastic; G4bool ProjectileDiffraction; + G4VCrossSectionDataSet * theCHIPSInelastic; }; #endif diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_INCL_ABLA.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_INCL_ABLA.hh index 3059fd8308..da828522c1 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_INCL_ABLA.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_INCL_ABLA.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_INCL_ABLA.hh,v 1.1 2009/07/19 18:24:03 kaitanie Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsQGSP_INCL_ABLA.hh,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -77,7 +77,8 @@ class HadronPhysicsQGSP_INCL_ABLA : public G4VPhysicsConstructor { public: - HadronPhysicsQGSP_INCL_ABLA(const G4String& name ="hadron",G4bool quasiElastic=true); + HadronPhysicsQGSP_INCL_ABLA(G4int verbose =1); + HadronPhysicsQGSP_INCL_ABLA(const G4String& name, G4bool quasiElastic=true); virtual ~HadronPhysicsQGSP_INCL_ABLA(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsQGS_BIC.hh b/source/physics_lists/lists/include/HadronPhysicsQGS_BIC.hh index 667147b42f..8c9d597b5b 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGS_BIC.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGS_BIC.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGS_BIC.hh,v 1.1 2007/11/13 10:23:24 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGS_BIC.hh,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -64,7 +64,8 @@ class HadronPhysicsQGS_BIC : public G4VPhysicsConstructor { public: - HadronPhysicsQGS_BIC(const G4String& name ="hadron",G4bool quasiElastic=true); + HadronPhysicsQGS_BIC(G4int verbose =1); + HadronPhysicsQGS_BIC(const G4String& name, G4bool quasiElastic=true); virtual ~HadronPhysicsQGS_BIC(); public: diff --git a/source/physics_lists/lists/include/HadronPhysicsFTFP.hh b/source/physics_lists/lists/include/HadronPhysicsShielding.hh similarity index 67% rename from source/physics_lists/lists/include/HadronPhysicsFTFP.hh rename to source/physics_lists/lists/include/HadronPhysicsShielding.hh index 7a301a7fa5..80afef155d 100644 --- a/source/physics_lists/lists/include/HadronPhysicsFTFP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsShielding.hh @@ -23,48 +23,49 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTFP.hh,v 1.3 2008/06/19 08:08:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsShielding.hh,v 1.1 2010/06/08 16:05:48 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // // ClassName: // -// Author: 2002 J.P. Wellisch -// +// Author: 2007 tatsumi Koi, Gunter Folger +// created from HadronPhysicsFTFP_BERT // Modified: -// 23.11.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// 19.06.2008 G.Folger: change default for QE to NOT use Chips QE // //---------------------------------------------------------------------------- // -#ifndef HadronPhysicsFTFP_h -#define HadronPhysicsFTFP_h 1 +#ifndef HadronPhysicsShielding_h +#define HadronPhysicsShielding_h 1 #include "globals.hh" #include "G4ios.hh" #include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" +#include "G4MiscCHIPSBuilder.hh" #include "G4PiKBuilder.hh" -#include "G4LEPPiKBuilder.hh" +#include "G4BertiniPiKBuilder.hh" #include "G4FTFPPiKBuilder.hh" #include "G4ProtonBuilder.hh" -#include "G4LEPProtonBuilder.hh" +#include "G4BertiniProtonBuilder.hh" +#include "G4FTFPNeutronBuilder.hh" #include "G4FTFPProtonBuilder.hh" #include "G4NeutronBuilder.hh" -#include "G4LEPNeutronBuilder.hh" +#include "G4BertiniNeutronBuilder.hh" #include "G4FTFPNeutronBuilder.hh" +#include "G4LEPNeutronBuilder.hh" +#include "G4NeutronHPBuilder.hh" -class HadronPhysicsFTFP : public G4VPhysicsConstructor +class HadronPhysicsShielding : public G4VPhysicsConstructor { public: - HadronPhysicsFTFP(const G4String& name ="hadron",G4bool quasiElastic=false); - virtual ~HadronPhysicsFTFP(); + HadronPhysicsShielding(G4int verbose =1); + HadronPhysicsShielding(const G4String& name, G4bool quasiElastic=false); + virtual ~HadronPhysicsShielding(); public: virtual void ConstructParticle(); @@ -72,21 +73,29 @@ class HadronPhysicsFTFP : public G4VPhysicsConstructor private: void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LEPNeutronBuilder * theLEPNeutron; - G4FTFPNeutronBuilder * theFTFPNeutron; + G4HadronicProcess* FindInelasticProcess(const G4ParticleDefinition*); + G4NeutronBuilder * theNeutrons; + G4NeutronHPBuilder * theHPNeutron; + G4BertiniNeutronBuilder * theBertiniNeutron; + G4FTFPNeutronBuilder * theFTFPNeutron; + G4LEPNeutronBuilder * theLEPNeutron; //needed for capture&fission + G4PiKBuilder * thePiK; - G4LEPPiKBuilder * theLEPPiK; + G4BertiniPiKBuilder * theBertiniPiK; G4FTFPPiKBuilder * theFTFPPiK; G4ProtonBuilder * thePro; - G4LEPProtonBuilder * theLEPPro; + G4BertiniProtonBuilder * theBertiniPro; G4FTFPProtonBuilder * theFTFPPro; - G4MiscLHEPBuilder * theMiscLHEP; + G4MiscCHIPSBuilder * theMiscCHIPS; G4bool QuasiElastic; + G4VCrossSectionDataSet * theCHIPSInelastic; + G4VCrossSectionDataSet * BGGxsNeutron; + G4VCrossSectionDataSet * NeutronHPJENDLHEInelastic; + G4VCrossSectionDataSet * BGGxsProton; }; #endif diff --git a/source/physics_lists/lists/include/LBE.icc b/source/physics_lists/lists/include/LBE.icc index 47df673b48..934af0840f 100644 --- a/source/physics_lists/lists/include/LBE.icc +++ b/source/physics_lists/lists/include/LBE.icc @@ -45,7 +45,9 @@ // Modified: // // 14-02-03 Fix bugs in msc and hIon instanciation + cut per region -// +// 16-08-10 Remove inclusion of obsolete class of G4ParticleWithCuts +// 20-10-10 Migrate LowEnergy process to Livermore models, LP +// // -------------------------------------------------------------- @@ -53,8 +55,6 @@ #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ParticleTypes.hh" #include "G4ParticleTable.hh" #include "G4ProductionCutsTable.hh" @@ -64,6 +64,7 @@ #include "G4UserLimits.hh" #include "G4DataQuestionaire.hh" +#include "G4WarnPLStatus.hh" // Constructor ///////////////////////////////////////////////////////////// @@ -228,29 +229,49 @@ template TLBE::~TLBE() // Electromagnetic Processes //////////////////////////////////////////////// // all charged particles -#include "G4MultipleScattering.hh" -// gamma -#include "G4LowEnergyRayleigh.hh" -#include "G4LowEnergyPhotoElectric.hh" -#include "G4LowEnergyCompton.hh" -#include "G4LowEnergyGammaConversion.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" + +// gamma. Use Livermore models +#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 "G4UniversalFluctuation.hh" +#include "G4UrbanMscModel93.hh" + +#include "G4eIonisation.hh" +#include "G4LivermoreIonisationModel.hh" + +#include "G4eBremsstrahlung.hh" +#include "G4LivermoreBremsstrahlungModel.hh" // e+ -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" // alpha and GenericIon and deuterons, triton, He3: -#include "G4hLowEnergyIonisation.hh" +#include "G4ionIonisation.hh" +#include "G4hIonisation.hh" +#include "G4hBremsstrahlung.hh" +// +#include "G4IonParametrisedLossModel.hh" +#include "G4NuclearStopping.hh" #include "G4EnergyLossTables.hh" -// hLowEnergyIonisation uses Ziegler 1988 as the default + + +// msc models +#include "G4UrbanMscModel93.hh" //muon: @@ -264,34 +285,11 @@ template TLBE::~TLBE() template void TLBE::ConstructEM() { -// processes: - - G4LowEnergyPhotoElectric* lowePhot = new G4LowEnergyPhotoElectric(); - G4LowEnergyIonisation* loweIon = new G4LowEnergyIonisation(); - G4LowEnergyBremsstrahlung* loweBrem = new G4LowEnergyBremsstrahlung(); - - // note LowEIon uses proton as basis for its data-base, therefore - // cannot specify different LowEnergyIonisation models for different - // particles, but can change model globally for Ion, Alpha and Proton. - - - //fluorescence apply specific cut for fluorescence from photons, electrons - //and bremsstrahlung photons: - G4double fluorcut = 250*eV; - lowePhot->SetCutForLowEnSecPhotons(fluorcut); - loweIon->SetCutForLowEnSecPhotons(fluorcut); - loweBrem->SetCutForLowEnSecPhotons(fluorcut); - - // setting tables explicitly for electronic stopping power - // ahadronLowEIon->SetElectronicStoppingPowerModel - // (G4GenericIon::GenericIonDefinition(), "ICRU_R49p") ; - // ahadronLowEIon->SetElectronicStoppingPowerModel - // (G4Proton::ProtonDefinition(), "ICRU_R49p") ; - - // Switch off the Barkas and Bloch corrections - // ahadronLowEIon->SetBarkasOff(); - - + // models & processes: + // Use Livermore models up to 20 MeV, and standard + // models for higher energy + G4double LivermoreHighEnergyLimit = 20*MeV; + // this->theParticleIterator->reset(); while( (*(this->theParticleIterator))() ){ G4ParticleDefinition* particle = this->theParticleIterator->value(); @@ -302,36 +300,79 @@ template TLBE::~TLBE() if (particleName == "gamma") { - //gamma - pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh()); - pmanager->AddDiscreteProcess(lowePhot); - pmanager->AddDiscreteProcess(new G4LowEnergyCompton()); - pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion()); + G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); + G4LivermorePhotoElectricModel* theLivermorePhotoElectricModel = + new G4LivermorePhotoElectricModel(); + theLivermorePhotoElectricModel->SetHighEnergyLimit(LivermoreHighEnergyLimit); + thePhotoElectricEffect->AddEmModel(0, theLivermorePhotoElectricModel); + pmanager->AddDiscreteProcess(thePhotoElectricEffect); + + G4ComptonScattering* theComptonScattering = new G4ComptonScattering(); + G4LivermoreComptonModel* theLivermoreComptonModel = + new G4LivermoreComptonModel(); + theLivermoreComptonModel->SetHighEnergyLimit(LivermoreHighEnergyLimit); + theComptonScattering->AddEmModel(0, theLivermoreComptonModel); + pmanager->AddDiscreteProcess(theComptonScattering); + + G4GammaConversion* theGammaConversion = new G4GammaConversion(); + G4LivermoreGammaConversionModel* theLivermoreGammaConversionModel = + new G4LivermoreGammaConversionModel(); + theLivermoreGammaConversionModel->SetHighEnergyLimit(LivermoreHighEnergyLimit); + theGammaConversion->AddEmModel(0, theLivermoreGammaConversionModel); + pmanager->AddDiscreteProcess(theGammaConversion); + + G4RayleighScattering* theRayleigh = new G4RayleighScattering(); + G4LivermoreRayleighModel* theRayleighModel = new G4LivermoreRayleighModel(); + theRayleighModel->SetHighEnergyLimit(LivermoreHighEnergyLimit); + theRayleigh->AddEmModel(0, theRayleighModel); + pmanager->AddDiscreteProcess(theRayleigh); + } else if (particleName == "e-") { - //electron - // process ordering: AddProcess(name, at rest, along step, post step) - // -1 = not implemented, then ordering - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - pmanager->AddProcess(aMultipleScattering, -1, 1, 1); - pmanager->AddProcess(loweIon, -1, 2, 2); - pmanager->AddProcess(loweBrem, -1,-1, 3); + //electron + // process ordering: AddProcess(name, at rest, along step, post step) + // -1 = not implemented, then ordering + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4UrbanMscModel93()); + msc->SetStepLimitType(fUseDistanceToBoundary); + pmanager->AddProcess(msc, -1, 1, 1); + + // Ionisation + G4eIonisation* eIoni = new G4eIonisation(); + G4LivermoreIonisationModel* theIoniLivermore = new + G4LivermoreIonisationModel(); + theIoniLivermore->SetHighEnergyLimit(1*MeV); + eIoni->AddEmModel(0, theIoniLivermore, new G4UniversalFluctuation() ); + eIoni->SetStepFunction(0.2, 100*um); // + pmanager->AddProcess(eIoni, -1, 2, 2); + + // Bremsstrahlung + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); + G4LivermoreBremsstrahlungModel* theBremLivermore = new + G4LivermoreBremsstrahlungModel(); + theBremLivermore->SetHighEnergyLimit(LivermoreHighEnergyLimit); + eBrem->AddEmModel(0, theBremLivermore); + pmanager->AddProcess(eBrem, -1,-3, 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); + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->AddEmModel(0, new G4UrbanMscModel93()); + 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 G4eBremsstrahlung, -1,-3, 3); + pmanager->AddProcess(new G4eplusAnnihilation,0,-1, 4); } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); + G4MuMultipleScattering* aMultipleScattering = new G4MuMultipleScattering(); pmanager->AddProcess(aMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4MuIonisation(), -1, 2, 2); pmanager->AddProcess(new G4MuBremsstrahlung(), -1,-1, 3); @@ -339,38 +380,47 @@ template TLBE::~TLBE() if( particleName == "mu-" ) pmanager->AddProcess(new G4MuonMinusCaptureAtRest(), 0,-1,-1); } - else if (particleName == "proton" || - particleName == "alpha" || + else if (particleName == "GenericIon") + { + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + ionIoni->SetStepFunction(0.1, 10*um); + pmanager->AddProcess(ionIoni, -1, 2, 2); + pmanager->AddProcess(new G4NuclearStopping(), -1, 3,-1); + } + else if (particleName == "alpha" || particleName == "He3") + { + //MSC, ion-Ionisation, Nuclear Stopping + 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 G4NuclearStopping(), -1, 3,-1); + } + else if (particleName == "proton" || particleName == "deuteron" || particleName == "triton" || - particleName == "He3" || - particleName == "GenericIon" || - (particleType == "nucleus" && charge != 0)) + particleName == "pi+" || + particleName == "pi-" || + particleName == "kaon+" || + particleName == "kaon-") { - // OBJECT may be dynamically created as either a GenericIon or nucleus - // G4Nucleus exists and therefore has particle type nucleus - // genericIon: - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation(); - pmanager->AddProcess(aMultipleScattering,-1,1,1); - pmanager->AddProcess(ahadronLowEIon,-1,2,2); - // ahadronLowEIon->SetNuclearStoppingOff() ; - // ahadronLowEIon->SetNuclearStoppingPowerModel("ICRU_R49") ; - // ahadronLowEIon->SetNuclearStoppingOn() ; - - //fluorescence switch off for hadrons (for now) PIXE: - ahadronLowEIon->SetFluorescence(false); + //MSC, h-ionisation, bremsstrahlung + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + G4hIonisation* hIoni = new G4hIonisation(); + hIoni->SetStepFunction(0.2, 50*um); + pmanager->AddProcess(hIoni, -1, 2, 2); + pmanager->AddProcess(new G4hBremsstrahlung, -1,-3, 3); } else if ((!particle->IsShortLived()) && (charge != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation(); - pmanager->AddProcess(aMultipleScattering,-1,1,1); - pmanager->AddProcess(ahadronLowEIon, -1,2,2); - // pmanager->AddProcess(new G4hIonisation(), -1,2,2); + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); } } diff --git a/source/physics_lists/lists/include/LHEP.icc b/source/physics_lists/lists/include/LHEP.icc index 80663aa5a3..5d2bbf96e9 100644 --- a/source/physics_lists/lists/include/LHEP.icc +++ b/source/physics_lists/lists/include/LHEP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP.icc,v 1.3 2007/05/16 11:35:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: LHEP.icc,v 1.6 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -38,12 +38,12 @@ // 02.12.2005 V.Ivanchenko: rename components // 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic // 16.05.2007 V.Ivanchenko: rename EM builders +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -58,7 +58,7 @@ #include "G4EmStandardPhysics.hh" #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" -#include "G4HadronElasticPhysics.hh" +#include "G4HadronElasticPhysicsLHEP.hh" #include "G4DataQuestionaire.hh" #include "HadronPhysicsLHEP.hh" @@ -68,28 +68,28 @@ template TLHEP::TLHEP(G4int ver): T() // default cut value (1.0mm) // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: LHEP 4.2"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // General Physics - i.e. decay - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("LElastic",ver,false)); + this-> RegisterPhysics( new G4HadronElasticPhysicsLHEP(ver) ); // Hadron Physics - this->RegisterPhysics( new HadronPhysicsLHEP("hadron")); + this->RegisterPhysics( new HadronPhysicsLHEP(ver)); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); } diff --git a/source/physics_lists/lists/include/LHEP_BERT.icc b/source/physics_lists/lists/include/LHEP_BERT.icc deleted file mode 100644 index 077b81f675..0000000000 --- a/source/physics_lists/lists/include/LHEP_BERT.icc +++ /dev/null @@ -1,129 +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: LHEP_BERT.icc,v 1.4 2009/05/18 08:54:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: LHEP_BERT -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 18.05.2009 G.Folger: obsoleted -// 30.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic -// 16.05.2007 V.Ivanchenko: rename EM builders -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsLHEP_BERT.hh" - -#include "G4WarnPLStatus.hh" - -template TLHEP_BERT::TLHEP_BERT(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: LHEP_BERT 3.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("LHEP_BERT","QGSP_BERT"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // General Physics - i.e. decay - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("LElastic",ver,false)); - - // Hadron Physics - this->RegisterPhysics( new HadronPhysicsLHEP_BERT("hadron")); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - -} - -template TLHEP_BERT::~TLHEP_BERT() -{ -} - -template void TLHEP_BERT::SetCuts() -{ - if (this->verboseLevel >1) { - G4cout << "LHEP_BERT::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel > 0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/LHEP_BERT_HP.hh b/source/physics_lists/lists/include/LHEP_BERT_HP.hh deleted file mode 100644 index c069b01fe3..0000000000 --- a/source/physics_lists/lists/include/LHEP_BERT_HP.hh +++ /dev/null @@ -1,55 +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 TLHEP_BERT_HP_h -#define TLHEP_BERT_HP_h 1 - -#include "G4VModularPhysicsList.hh" -#include "globals.hh" -#include "CompileTimeConstraints.hh" - -template -class TLHEP_BERT_HP: public T -{ -public: - TLHEP_BERT_HP(G4int ver = 1); - virtual ~TLHEP_BERT_HP(); - -public: - // SetCuts() - virtual void SetCuts(); - -private: - enum {ok = CompileTimeConstraints::IsA::ok }; -}; -#include "LHEP_BERT_HP.icc" -typedef TLHEP_BERT_HP LHEP_BERT_HP; - -// 2002 by J.P. Wellisch - -#endif - - - diff --git a/source/physics_lists/lists/include/LHEP_BERT_HP.icc b/source/physics_lists/lists/include/LHEP_BERT_HP.icc deleted file mode 100644 index f0569ab9ce..0000000000 --- a/source/physics_lists/lists/include/LHEP_BERT_HP.icc +++ /dev/null @@ -1,127 +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: LHEP_BERT_HP.icc,v 1.4 2009/05/18 08:54:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 18.05.2009 G.Folger: obsoleted -// 30.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic -// 16.05.2007 V.Ivanchenko: rename EM builders -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsLHEP_BERT_HP.hh" - -#include "G4WarnPLStatus.hh" - -template TLHEP_BERT_HP::TLHEP_BERT_HP(G4int ver): T() -{ - - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: LHEP_BERT_HP 3.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("LHEP_BERT_HP","QGSP_BERT_HP"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("LElastic",ver,true)); - - // Hadron Physics - this->RegisterPhysics( new HadronPhysicsLHEP_BERT_HP("hadron")); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - -} - -template TLHEP_BERT_HP::~TLHEP_BERT_HP() -{ -} - -template void TLHEP_BERT_HP::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "LHEP_BERT_HP::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel > 0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/LHEP_EMV.icc b/source/physics_lists/lists/include/LHEP_EMV.icc index 56358fa3a2..e0e272b5c9 100644 --- a/source/physics_lists/lists/include/LHEP_EMV.icc +++ b/source/physics_lists/lists/include/LHEP_EMV.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP_EMV.icc,v 1.3 2007/05/16 11:35:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: LHEP_EMV.icc,v 1.6 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -37,13 +37,13 @@ // 08.06.2006 V.Ivanchenko: migration to CHIPS stopping // 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic // 16.05.2007 V.Ivanchenko: rename EM builders +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -59,7 +59,7 @@ #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" #include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" +#include "G4HadronElasticPhysicsLHEP.hh" #include "G4DataQuestionaire.hh" #include "HadronPhysicsLHEP_EMV.hh" @@ -69,31 +69,31 @@ template TLHEP_EMV::TLHEP_EMV(G4int ver): T() // default cut value (1.0mm) // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: LHEP_EMV 3.2"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); // EM Physics - without multiple scattering limiting the step - this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option1(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("general",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("LElastic",ver,false)); + this-> RegisterPhysics( new G4HadronElasticPhysicsLHEP(ver) ); // Hadron Physics - this->RegisterPhysics( new HadronPhysicsLHEP_EMV("hadron")); + this->RegisterPhysics( new HadronPhysicsLHEP_EMV(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); } template TLHEP_EMV::~TLHEP_EMV() diff --git a/source/physics_lists/lists/include/LHEP_PRECO_HP.hh b/source/physics_lists/lists/include/LHEP_PRECO_HP.hh deleted file mode 100644 index 2ae31f12a8..0000000000 --- a/source/physics_lists/lists/include/LHEP_PRECO_HP.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. * -// ******************************************************************** -// -// $Id: LHEP_PRECO_HP.hh,v 1.1 2006/10/31 11:35:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: LHEP_PRECO_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// -//---------------------------------------------------------------------------- -// -#ifndef TLHEP_PRECO_HP_h -#define TLHEP_PRECO_HP_h 1 - -#include "G4VModularPhysicsList.hh" -#include "globals.hh" -#include "CompileTimeConstraints.hh" - -template -class TLHEP_PRECO_HP: public T -{ -public: - TLHEP_PRECO_HP(G4int ver = 1); - virtual ~TLHEP_PRECO_HP(); - -public: - // SetCuts() - virtual void SetCuts(); - -private: - enum {ok = CompileTimeConstraints::IsA::ok }; -}; -#include "LHEP_PRECO_HP.icc" -typedef TLHEP_PRECO_HP LHEP_PRECO_HP; - -// 2002 by J.P. Wellisch - -#endif - - - diff --git a/source/physics_lists/lists/include/LHEP_PRECO_HP.icc b/source/physics_lists/lists/include/LHEP_PRECO_HP.icc deleted file mode 100644 index 3d86d8c231..0000000000 --- a/source/physics_lists/lists/include/LHEP_PRECO_HP.icc +++ /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: LHEP_PRECO_HP.icc,v 1.4 2009/05/18 08:54:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: LHEP_PRECO_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 18.05.2009 G.Folger: obsoleted -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic -// 16.05.2007 V.Ivanchenko: rename EM builders -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsLHEP_PRECO_HP.hh" - -#include "G4WarnPLStatus.hh" - -template TLHEP_PRECO_HP::TLHEP_PRECO_HP(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon, neutron); - G4cout << "<<< Geant4 Physics List simulation engine: LHEP_PRECO_HP 3.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("LHEP_PRECO_HP","QGSP_BIC_HP"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("LElastic",ver,true)); - - // Hadron Physics - this->RegisterPhysics( new HadronPhysicsLHEP_PRECO_HP("hadron")); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); -} - -template TLHEP_PRECO_HP::~TLHEP_PRECO_HP() -{ -} - -template void TLHEP_PRECO_HP::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "LHEP_PRECO_HP::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); - -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/QGSC.icc b/source/physics_lists/lists/include/QGSC.icc deleted file mode 100644 index a8d13e0779..0000000000 --- a/source/physics_lists/lists/include/QGSC.icc +++ /dev/null @@ -1,136 +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: QGSC.icc,v 1.9 2009/11/27 17:28:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: QGSC -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 21.11.2005 G.Folger: don't keep processes as data members, but new these -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 02.12.2005 V.Ivanchenko: rename components -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 13.06.2006 G.Folger: Migrate to HadronElasticPhysics with improved elastic -// 20.11.2006 G.Folger: add Tracking Cut for neutrons -// 26.04.2007 G.Folger: Enable quasielastic for QGS string model -// 26.04.2007 G.Folger Use QCaptureAtRest for muon -// 16.05.2007 V.Ivanchenko: rename EM builders -// 27.11.2009 G.Folger: Mark as obsolete -// -//---------------------------------------------------------------------------- -// -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronQElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSC.hh" - -#include "G4WarnPLStatus.hh" - -template TQGSC::TQGSC(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSC 4.4"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("QGSC", "QGSC_BERT"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering, "CHIPS" version - this-> RegisterPhysics( new G4HadronQElasticPhysics("elastic",ver)); - - // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSC("hadron",quasiElastic=true)); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping",ver,false)); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TQGSC::~TQGSC() -{ -} - -template void TQGSC::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSC::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); - -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/QGSC_BERT.icc b/source/physics_lists/lists/include/QGSC_BERT.icc index 400e033563..44a3284346 100644 --- a/source/physics_lists/lists/include/QGSC_BERT.icc +++ b/source/physics_lists/lists/include/QGSC_BERT.icc @@ -23,23 +23,23 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSC_BERT.icc,v 1.1 2007/11/15 16:58:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: QGSC_BERT.icc,v 1.4 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // // ClassName: QGSC_BERT // // Author: 2007 G.Folger -// cre4ated from QGSC by J.P. Wellisch +// created from QGSC by J.P. Wellisch // // Modified: +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -54,7 +54,7 @@ #include "G4EmStandardPhysics.hh" #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" +#include "G4QCaptureAtRestPhysics.hh" #include "G4HadronQElasticPhysics.hh" #include "G4NeutronTrackingCut.hh" @@ -66,35 +66,34 @@ template TQGSC_BERT::TQGSC_BERT(G4int ver): T() // default cut value (1.0mm) // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSC_BERT 1.0"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering, "CHIPS" version - this-> RegisterPhysics( new G4HadronQElasticPhysics("elastic",ver)); + this->RegisterPhysics( new G4HadronQElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSC_BERT("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSC_BERT(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping",ver,false)); + this->RegisterPhysics( new G4QCaptureAtRestPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/QGSC_CHIPS.icc b/source/physics_lists/lists/include/QGSC_CHIPS.icc index ef33334a0c..5517547067 100644 --- a/source/physics_lists/lists/include/QGSC_CHIPS.icc +++ b/source/physics_lists/lists/include/QGSC_CHIPS.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSC_CHIPS.icc,v 1.3 2009/11/27 17:28:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QGSC_CHIPS.icc,v 1.6 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -34,6 +34,7 @@ // // Modified: // 27.11.2009 G.Folger: Mark as obsolete +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //------------------------------------------------------------------------------- // Short description: In tis file the aim is to get rid of LHEP, use the @@ -45,11 +46,9 @@ // fragmentation CHIPS algorithm is the same in both models, but the first // interaction is temporary taken from the QGSC algorithm, which is not expected // to work at low energies, but temporary can be used as an interface to CHIPS. -//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------ #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -64,7 +63,7 @@ #include "G4EmStandardPhysics.hh" #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" +#include "G4QCaptureAtRestPhysics.hh" #include "G4HadronQElasticPhysics.hh" #include "G4NeutronTrackingCut.hh" @@ -86,23 +85,22 @@ template TQGSC_CHIPS::TQGSC_CHIPS(G4int ver): T() obs.Unsupported("QGSC_CHIPS", "CHIPS"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering, "CHIPS" version - this-> RegisterPhysics( new G4HadronQElasticPhysics("elastic",ver)); + this-> RegisterPhysics( new G4HadronQElasticPhysics(ver) ); // Hadron Physics, "CHIPS" version - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSC_CHIPS("hadron", quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSC_CHIPS(ver)); // Stopping Physics, "CHIPS" version - this->RegisterPhysics( new G4QStoppingPhysics("stopping", ver, false) ); + this->RegisterPhysics( new G4QCaptureAtRestPhysics(ver) ); // Ion Physics this->RegisterPhysics( new G4IonPhysics("ion") ); diff --git a/source/physics_lists/lists/include/QGSC_EFLOW.icc b/source/physics_lists/lists/include/QGSC_EFLOW.icc deleted file mode 100644 index b2728b62ca..0000000000 --- a/source/physics_lists/lists/include/QGSC_EFLOW.icc +++ /dev/null @@ -1,133 +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: QGSC_EFLOW.icc,v 1.6 2009/11/27 17:28:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: QGSC_EFLOW -// -// Author: 2006 Gunter Folger -// -// Created as copy of QGSC -// Modified: -// 18.05.2009 G.Folger: obsoleted -// 26.04.2007 G.Folger: Enable quasielastic for QGS string model -// 26.04.2007 G.Folger Use QCaptureAtRest for muon -// 16.05.2007 V.Ivanchenko: rename EM builders -// 27.11.2009 G.Folger: suggest different alternative list -// -//---------------------------------------------------------------------------- -// -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronQElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSC_EFLOW.hh" - -#include "G4WarnPLStatus.hh" - -template TQGSC_EFLOW::TQGSC_EFLOW(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSC_EFLOW 1.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Replaced("QGSC_EFLOW","QGSC_BERT"); - G4Exception(" Crash for usage of replaced physics list"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering, "CHIPS" version - this-> RegisterPhysics( new G4HadronQElasticPhysics("elastic",ver)); - - // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSC_EFLOW("hadron",quasiElastic=true)); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping",ver,false)); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TQGSC_EFLOW::~TQGSC_EFLOW() -{ -} - -template void TQGSC_EFLOW::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSC_EFLOW::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); - -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/QGSC_EMV.hh b/source/physics_lists/lists/include/QGSC_EMV.hh deleted file mode 100644 index 8136785f86..0000000000 --- a/source/physics_lists/lists/include/QGSC_EMV.hh +++ /dev/null @@ -1,55 +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 TQGSC_EMV_h -#define TQGSC_EMV_h 1 - -#include "G4VModularPhysicsList.hh" -#include "globals.hh" -#include "CompileTimeConstraints.hh" - -template -class TQGSC_EMV: public T -{ -public: - TQGSC_EMV(G4int ver = 1); - virtual ~TQGSC_EMV(); - -public: - // SetCuts() - virtual void SetCuts(); - -private: - enum {ok = CompileTimeConstraints::IsA::ok }; -}; -#include "QGSC_EMV.icc" -typedef TQGSC_EMV QGSC_EMV; - -// 2002 by J.P. Wellisch - -#endif - - - diff --git a/source/physics_lists/lists/include/QGSC_EMV.icc b/source/physics_lists/lists/include/QGSC_EMV.icc deleted file mode 100644 index eaff042157..0000000000 --- a/source/physics_lists/lists/include/QGSC_EMV.icc +++ /dev/null @@ -1,133 +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: QGSC_EMV.icc,v 1.5 2009/11/27 17:28:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: QGSC_EMV -// -// Author: 2006 G.Folger -// -// Created as copy of QGSC -// -// Modified: -// 26.04.2007 G.Folger Use HadronPhysicsQGSC instead of HadronPhysicsQGSC_EMV -// 26.04.2007 G.Folger Enable quasielastic for QGS string model -// 26.04.2007 G.Folger Use QCaptureAtRest for muon -// 16.05.2007 V.Ivanchenko: rename EM builders -// 27.11.2009 G.Folger: Mark as obsolete -// -//---------------------------------------------------------------------------- -// -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics_option1.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronQElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSC.hh" - -#include "G4WarnPLStatus.hh" - -template TQGSC_EMV::TQGSC_EMV(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSC_EMV 1.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("QGSC_EMV", "QGSC_BERT"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering, "CHIPS" version - this-> RegisterPhysics( new G4HadronQElasticPhysics("elastic",ver)); - - // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSC("hadron",quasiElastic=true)); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping",ver,false)); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TQGSC_EMV::~TQGSC_EMV() -{ -} - -template void TQGSC_EMV::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSC_EMV::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); - -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/QGSC_QGSC.icc b/source/physics_lists/lists/include/QGSC_QGSC.icc deleted file mode 100644 index 5af3d72cc4..0000000000 --- a/source/physics_lists/lists/include/QGSC_QGSC.icc +++ /dev/null @@ -1,124 +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: QGSC_QGSC.icc,v 1.2 2009/11/27 17:28:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: QGSC_QGSC -// -// Author: 2009 M.Kosov (based on QGSC_BERT, but without BERT) -// -// Modified: -// 27.11.2009 G.Folger: Mark as obsolete -// -//---------------------------------------------------------------------------- -// -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronQElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSC_QGSC.hh" - -#include "G4WarnPLStatus.hh" - -template TQGSC_QGSC::TQGSC_QGSC(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSC_QGSC 1.0"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("QGSC_QGSC", "CHIPS"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering, "CHIPS" version - this-> RegisterPhysics( new G4HadronQElasticPhysics("elastic",ver)); - - // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSC_QGSC("hadron",quasiElastic=true)); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping",ver,false)); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TQGSC_QGSC::~TQGSC_QGSC() -{ -} - -template void TQGSC_QGSC::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSC_QGSC::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); - -} - diff --git a/source/physics_lists/lists/include/QGSP.icc b/source/physics_lists/lists/include/QGSP.icc index 6997a968d6..4e9a83f645 100644 --- a/source/physics_lists/lists/include/QGSP.icc +++ b/source/physics_lists/lists/include/QGSP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP.icc,v 1.8 2009/11/27 17:28:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QGSP.icc,v 1.13 2010/11/18 14:57:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -41,13 +41,13 @@ // 30.03.2007 G.Folger: Enable quasielastic for QGS string model // 16.05.2007 V.Ivanchenko: rename EM builders // 27.11.2009 G.Folger: Mark as obsolete +// 04.06.2010 G.Folger: Mark as replaced, use new ctor for Builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -84,32 +84,31 @@ template TQGSP::TQGSP(G4int ver): T() this->SetVerboseLevel(ver); G4WarnPLStatus obs; - obs.Unsupported("QGSP", "QGSP_BERT"); + obs.Replaced("QGSP", "QGSP_BERT"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/QGSP_BERT.icc b/source/physics_lists/lists/include/QGSP_BERT.icc index adc2601933..81f5422b76 100644 --- a/source/physics_lists/lists/include/QGSP_BERT.icc +++ b/source/physics_lists/lists/include/QGSP_BERT.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT.icc,v 1.5 2007/05/16 11:35:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: QGSP_BERT.icc,v 1.8 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -41,13 +41,13 @@ // 20.11.2006 G.Folger: add Tracking Cut for neutrons // 26.04.2007 G.Folger: Enable quasielastic for QGS string model // 16.05.2007 V.Ivanchenko: rename EM builders +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -73,36 +73,35 @@ template TQGSP_BERT::TQGSP_BERT(G4int ver): T() { G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BERT 3.3"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_BERT("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP_BERT(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/FTFP_EMV.hh b/source/physics_lists/lists/include/QGSP_BERT_CHIPS.hh similarity index 82% rename from source/physics_lists/lists/include/FTFP_EMV.hh rename to source/physics_lists/lists/include/QGSP_BERT_CHIPS.hh index 3f5d080118..01ea245239 100644 --- a/source/physics_lists/lists/include/FTFP_EMV.hh +++ b/source/physics_lists/lists/include/QGSP_BERT_CHIPS.hh @@ -23,33 +23,33 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FTFP_EMV.hh,v 1.1 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: QGSP_BERT_CHIPS.hh,v 1.1 2010/05/26 15:06:49 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // -// ClassName: FTFP_EMV +// ClassName: QGSP_BERT_CHIPS // -// Author: 2007 G.Folger -// Created as copy from FTFP +// Author: 2010 G.Folger +// derived from QGSP_BERT // // Modified: // //---------------------------------------------------------------------------- // -#ifndef TFTFP_EMV_h -#define TFTFP_EMV_h 1 +#ifndef TQGSP_BERT_CHIPS_h +#define TQGSP_BERT_CHIPS_h 1 #include "G4VModularPhysicsList.hh" #include "globals.hh" #include "CompileTimeConstraints.hh" template -class TFTFP_EMV: public T +class TQGSP_BERT_CHIPS: public T { public: - TFTFP_EMV(G4int ver = 1); - virtual ~TFTFP_EMV(); + TQGSP_BERT_CHIPS(G4int ver = 1); + virtual ~TQGSP_BERT_CHIPS(); public: // SetCuts() @@ -58,11 +58,9 @@ public: private: enum {ok = CompileTimeConstraints::IsA::ok }; }; -#include "FTFP_EMV.icc" -typedef TFTFP_EMV FTFP_EMV; - -// 2002 by J.P. Wellisch +#include "QGSP_BERT_CHIPS.icc" +typedef TQGSP_BERT_CHIPS QGSP_BERT_CHIPS; #endif diff --git a/source/physics_lists/lists/include/QGSP_BERT_NQE.icc b/source/physics_lists/lists/include/QGSP_BERT_CHIPS.icc similarity index 71% rename from source/physics_lists/lists/include/QGSP_BERT_NQE.icc rename to source/physics_lists/lists/include/QGSP_BERT_CHIPS.icc index 560ee9a41e..402b1d9fd7 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_NQE.icc +++ b/source/physics_lists/lists/include/QGSP_BERT_CHIPS.icc @@ -23,26 +23,24 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT_NQE.icc,v 1.3 2009/05/18 08:54:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QGSP_BERT_CHIPS.icc,v 1.7 2010/11/23 15:09:30 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // -// ClassName: QGSP_BERT_NQE +// ClassName: QGSP_BERT_CHIPS // -// Author: 2007 G.Folger -// created from QGSP_BERT +// Author: 2010 G.Folger +// derived from QGSP_BERT // // Modified: -// 18.05.2009 G.Folger: obsoleted -// 16.05.2007 V.Ivanchenko: rename EM builders +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -62,58 +60,57 @@ #include "G4NeutronTrackingCut.hh" #include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSP_BERT.hh" +#include "HadronPhysicsQGSP_BERT_CHIPS.hh" #include "G4WarnPLStatus.hh" -template TQGSP_BERT_NQE::TQGSP_BERT_NQE(G4int ver): T() +template TQGSP_BERT_CHIPS::TQGSP_BERT_CHIPS(G4int ver): T() { G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BERT_NQE 1.0"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); - G4WarnPLStatus obs; - obs.Unsupported("QGSP_BERT_NQE"); + G4WarnPLStatus exp; + exp.Experimental("QGSP_BERT_CHIPS"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_BERT("hadron",quasiElastic=false)); + this->RegisterPhysics( new HadronPhysicsQGSP_BERT_CHIPS(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } -template TQGSP_BERT_NQE::~TQGSP_BERT_NQE() +template TQGSP_BERT_CHIPS::~TQGSP_BERT_CHIPS() { } -template void TQGSP_BERT_NQE::SetCuts() +template void TQGSP_BERT_CHIPS::SetCuts() { if (this->verboseLevel >1){ - G4cout << "QGSP_BERT_NQE::SetCuts:"; + G4cout << "QGSP_BERT_CHIPS::SetCuts:"; } // " G4VUserPhysicsList::SetCutsWithDefault" method sets // the default cut value for all particle types @@ -123,4 +120,3 @@ template void TQGSP_BERT_NQE::SetCuts() // if (this->verboseLevel >0) // G4VUserPhysicsList::DumpCutValuesTable(); } - diff --git a/source/physics_lists/lists/include/QGSP_BERT_DIF.icc b/source/physics_lists/lists/include/QGSP_BERT_DIF.icc deleted file mode 100644 index cb8134d113..0000000000 --- a/source/physics_lists/lists/include/QGSP_BERT_DIF.icc +++ /dev/null @@ -1,131 +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: QGSP_BERT_DIF.icc,v 1.3 2009/05/18 08:54:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: QGSP_BERT_DIF -// -// Author: 2007 G.Folger -// created from QGSP_BERT by J.P. Wellisch -// -// Modified: -// 18.05.2009 G.Folger: obsoleted -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSP_BERT.hh" - -#include "G4WarnPLStatus.hh" - -template TQGSP_BERT_DIF::TQGSP_BERT_DIF(G4int ver): T() -{ - - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BERT_DIF 1.0"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("QGSP_BERT_DIF"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - - // Hadron Physics - HadronPhysicsQGSP_BERT * hadronPhysics; - this->RegisterPhysics(hadronPhysics= new HadronPhysicsQGSP_BERT("hadron")); - hadronPhysics->SetQuasiElastic(true); - hadronPhysics->SetProjectileDiffraction(true); - - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TQGSP_BERT_DIF::~TQGSP_BERT_DIF() -{ -} - -template void TQGSP_BERT_DIF::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSP_BERT_DIF::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/QGSP_BERT_EMV.icc b/source/physics_lists/lists/include/QGSP_BERT_EMV.icc index 252f11d506..b468be9a93 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_EMV.icc +++ b/source/physics_lists/lists/include/QGSP_BERT_EMV.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT_EMV.icc,v 1.3 2009/10/04 16:06:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QGSP_BERT_EMV.icc,v 1.8 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -34,13 +34,13 @@ // Copied from QGSP_BERT (H.P.Wellisch) // // Modified: +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -57,7 +57,6 @@ #include "G4IonPhysics.hh" #include "G4QStoppingPhysics.hh" #include "G4HadronElasticPhysics.hh" -#include "G4HadronHElasticPhysics.hh" #include "G4NeutronTrackingCut.hh" #include "G4DataQuestionaire.hh" @@ -67,37 +66,35 @@ template TQGSP_BERT_EMV::TQGSP_BERT_EMV(G4int ver): T() { G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BERT_EMV 1.0"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option1(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - //this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - this-> RegisterPhysics( new G4HadronHElasticPhysics(ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_BERT("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP_BERT(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/QGSP_BERT_EMX.icc b/source/physics_lists/lists/include/QGSP_BERT_EMX.icc index 52633fbe19..8ab564c879 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_EMX.icc +++ b/source/physics_lists/lists/include/QGSP_BERT_EMX.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT_EMX.icc,v 1.2 2009/11/27 17:28:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QGSP_BERT_EMX.icc,v 1.5 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -35,13 +35,13 @@ // // Modified: // 27.11.2009 G.Folger: Mark as experimental +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -69,7 +69,7 @@ template TQGSP_BERT_EMX::TQGSP_BERT_EMX(G4int ver): T() { G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BERT_EMX 1.0"<defaultCutValue = 0.7*mm; @@ -79,29 +79,28 @@ template TQGSP_BERT_EMX::TQGSP_BERT_EMX(G4int ver): T() exp.Experimental("QGSP_BERT_EMX"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics_option2(ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option2(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_BERT("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP_BERT(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/QGSP_BERT_HP.icc b/source/physics_lists/lists/include/QGSP_BERT_HP.icc index b437f84e80..49b3165884 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_HP.icc +++ b/source/physics_lists/lists/include/QGSP_BERT_HP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT_HP.icc,v 1.4 2007/05/16 11:35:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: QGSP_BERT_HP.icc,v 1.7 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -39,11 +39,13 @@ // 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic // 26.04.2007 G.Folger: Enable quasielastic for QGS string model // 16.05.2007 V.Ivanchenko: rename EM builders -// +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts +// +//---------------------------------------------------------------------------- +// #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -59,7 +61,7 @@ #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" #include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" +#include "G4HadronElasticPhysicsHP.hh" #include "G4DataQuestionaire.hh" #include "HadronPhysicsQGSP_BERT_HP.hh" @@ -68,33 +70,32 @@ template TQGSP_BERT_HP::TQGSP_BERT_HP(G4int ver): T() { G4DataQuestionaire it(photon, neutron); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BERT_HP 2.3"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,true)); + this-> RegisterPhysics( new G4HadronElasticPhysicsHP(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_BERT_HP("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP_BERT_HP(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver)); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); } diff --git a/source/physics_lists/lists/include/QGSP_BERT_NOLEP.icc b/source/physics_lists/lists/include/QGSP_BERT_NOLEP.icc index 6452e95ab9..75defb1539 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_NOLEP.icc +++ b/source/physics_lists/lists/include/QGSP_BERT_NOLEP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT_NOLEP.icc,v 1.2 2009/11/27 17:28:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QGSP_BERT_NOLEP.icc,v 1.6 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -36,13 +36,13 @@ // Modified: // 15.10.2005 G.Folger: first version // 27.11.2009 G.Folger, Use QElastic directly +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -78,29 +78,28 @@ template TQGSP_BERT_NOLEP::TQGSP_BERT_NOLEP(G4int ver): T() exp.Experimental("QGSP_BERT_NOLEP"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronQElasticPhysics("elastic",ver)); + this->RegisterPhysics( new G4HadronQElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_BERT_NOLEP("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP_BERT_NOLEP(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/QGSP_BERT_TRV.icc b/source/physics_lists/lists/include/QGSP_BERT_TRV.icc index 9d3d1978c2..ea14e28dc5 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_TRV.icc +++ b/source/physics_lists/lists/include/QGSP_BERT_TRV.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT_TRV.icc,v 1.3 2009/11/27 17:28:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QGSP_BERT_TRV.icc,v 1.7 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -36,13 +36,13 @@ // Modified: // 16.05.2007 V.Ivanchenko: rename EM builders // 27.11.2009 G.Folger: Mark as experimental +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -70,7 +70,7 @@ template TQGSP_BERT_TRV::TQGSP_BERT_TRV(G4int ver): T() { G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BERT_TRV 1.1"<defaultCutValue = 0.7*mm; @@ -80,29 +80,28 @@ template TQGSP_BERT_TRV::TQGSP_BERT_TRV(G4int ver): T() exp.Experimental("QGSP_BERT_TRV"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_BERT_TRV("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP_BERT_TRV(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/QGSP_BIC.icc b/source/physics_lists/lists/include/QGSP_BIC.icc index a253e86f87..44346da761 100644 --- a/source/physics_lists/lists/include/QGSP_BIC.icc +++ b/source/physics_lists/lists/include/QGSP_BIC.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BIC.icc,v 1.5 2007/05/16 11:35:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: QGSP_BIC.icc,v 1.8 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -42,12 +42,11 @@ // 20.11.2006 G.Folger: add Tracking Cut for neutrons // 26.04.2007 G.Folger: Enable quasielastic for QGS string model // 16.05.2007 V.Ivanchenko: rename EM builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -75,36 +74,35 @@ template TQGSP_BIC::TQGSP_BIC(G4int ver): T() // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BIC 3.3"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_BIC("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP_BIC(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC")); + this->RegisterPhysics( new G4IonBinaryCascadePhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/QGSP_BIC_EMY.icc b/source/physics_lists/lists/include/QGSP_BIC_EMY.icc index 202a3ebf77..577447329a 100644 --- a/source/physics_lists/lists/include/QGSP_BIC_EMY.icc +++ b/source/physics_lists/lists/include/QGSP_BIC_EMY.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BIC_EMY.icc,v 1.1 2009/05/11 11:11:38 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QGSP_BIC_EMY.icc,v 1.5 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -34,12 +34,12 @@ // created from QGSP_BIC // // Modified: +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -67,36 +67,35 @@ template TQGSP_BIC_EMY::TQGSP_BIC_EMY(G4int ver): T() // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BIC_EMY 1.0"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics_option3(ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option3(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_BIC("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP_BIC(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC_EMY")); + this->RegisterPhysics( new G4IonBinaryCascadePhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/QGSP_BIC_HP.icc b/source/physics_lists/lists/include/QGSP_BIC_HP.icc index bceb0050eb..f7215d30b1 100644 --- a/source/physics_lists/lists/include/QGSP_BIC_HP.icc +++ b/source/physics_lists/lists/include/QGSP_BIC_HP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BIC_HP.icc,v 1.5 2007/05/24 11:32:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: QGSP_BIC_HP.icc,v 1.8 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -36,12 +36,12 @@ // Modified: // 26.04.2007 G.Folger: Enable quasielastic for QGS string model // 16.05.2007 V.Ivanchenko: rename EM builders +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -57,7 +57,7 @@ #include "G4EmExtraPhysics.hh" #include "G4IonBinaryCascadePhysics.hh" #include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" +#include "G4HadronElasticPhysicsHP.hh" #include "G4DataQuestionaire.hh" #include "HadronPhysicsQGSP_BIC_HP.hh" @@ -68,7 +68,7 @@ template TQGSP_BIC_HP::TQGSP_BIC_HP(G4int ver): T() // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BIC_HP 1.2"<defaultCutValue = 0.7*mm; @@ -76,26 +76,25 @@ template TQGSP_BIC_HP::TQGSP_BIC_HP(G4int ver): T() // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,true)); + this->RegisterPhysics( new G4HadronElasticPhysicsHP(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_BIC_HP("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP_BIC_HP(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC")); + this->RegisterPhysics( new G4IonBinaryCascadePhysics(ver)); } diff --git a/source/physics_lists/lists/include/QGSP_DIF.icc b/source/physics_lists/lists/include/QGSP_DIF.icc deleted file mode 100644 index 202e545c17..0000000000 --- a/source/physics_lists/lists/include/QGSP_DIF.icc +++ /dev/null @@ -1,129 +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: QGSP_DIF.icc,v 1.2 2009/05/18 08:54:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: -// -// Author: 2007 G.Folger -// created from QGSP originally by J.P. Wellisch -// -// Modified: -// 18.05.2009 G.Folger: obsoleted -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSP.hh" - -#include "G4WarnPLStatus.hh" - -template TQGSP_DIF::TQGSP_DIF(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_DIF 1.0"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("QGSP_DIF"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - - // Hadron Physics - HadronPhysicsQGSP * hadronPhysics; - this->RegisterPhysics(hadronPhysics= new HadronPhysicsQGSP("hadron")); - hadronPhysics->SetQuasiElastic(true); - hadronPhysics->SetProjectileDiffraction(true); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TQGSP_DIF::~TQGSP_DIF() -{ -} - -template void TQGSP_DIF::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSP_DIF::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel > 0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - diff --git a/source/physics_lists/lists/include/QGSP_EMV.icc b/source/physics_lists/lists/include/QGSP_EMV.icc deleted file mode 100644 index a9d641a671..0000000000 --- a/source/physics_lists/lists/include/QGSP_EMV.icc +++ /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: QGSP_EMV.icc,v 1.7 2009/11/27 17:28:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: QGSP_EMV -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 18.05.2009 G.Folger: obsoleted -// 23.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, -// Use EmStandard71 -// 02.12.2005 V.Ivanchenko: rename components -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic -// 21.06.2006 V.Ivanchenko: use v71 EM physics -// 20.11.2006 G.Folger: add Tracking Cut for neutrons -// 24.04.2007 G.Folger: -// - use quasielastic in QGS string model. -// - use HadronPhysicsQGSP, not HadronPhysicsQGSP_EMV, code is equivalent -// 16.05.2007 V.Ivanchenko: rename EM builders -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics_option1.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSP.hh" - -#include "G4WarnPLStatus.hh" - -template TQGSP_EMV::TQGSP_EMV(G4int ver): T() -{ - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_EMV 3.3"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("QGSP_EMV", "QGSP_BERT_EMV"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // General Physics - i.e. decay - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - - // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP("hadron",quasiElastic=true)); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TQGSP_EMV::~TQGSP_EMV() -{ -} - -template void TQGSP_EMV::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSP_EMV::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); - -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/QGSP_EMV_NQE.hh b/source/physics_lists/lists/include/QGSP_EMV_NQE.hh deleted file mode 100644 index 26b1795e63..0000000000 --- a/source/physics_lists/lists/include/QGSP_EMV_NQE.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. * -// ******************************************************************** -// -// $Id: QGSP_EMV_NQE.hh,v 1.1 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: QGSP_EMV_NQE -// -// Author: 2007 G.Folger -// created from QGSP_EMV -// -// Modified: -// -//---------------------------------------------------------------------------- -// - -#ifndef TQGSP_EMV_NQE_h -#define TQGSP_EMV_NQE_h 1 - -#include "G4VModularPhysicsList.hh" -#include "globals.hh" -#include "CompileTimeConstraints.hh" - -template -class TQGSP_EMV_NQE: public T -{ -public: - TQGSP_EMV_NQE(G4int ver = 1); - virtual ~TQGSP_EMV_NQE(); - -public: - // SetCuts() - virtual void SetCuts(); - -private: - enum {ok = CompileTimeConstraints::IsA::ok }; -}; -#include "QGSP_EMV_NQE.icc" -typedef TQGSP_EMV_NQE QGSP_EMV_NQE; - -#endif - - - diff --git a/source/physics_lists/lists/include/QGSP_EMV_NQE.icc b/source/physics_lists/lists/include/QGSP_EMV_NQE.icc deleted file mode 100644 index 3ec5ebc41e..0000000000 --- a/source/physics_lists/lists/include/QGSP_EMV_NQE.icc +++ /dev/null @@ -1,124 +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: QGSP_EMV_NQE.icc,v 1.3 2009/05/18 08:54:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: QGSP_EMV_NQE -// -// Author: 2007 G.Folger -// created from QGSP_EMV -// -// Modified: -// 18.05.2009 G.Folger: obsoleted -// 16.05.2007 V.Ivanchenko: rename EM builders -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics_option1.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSP.hh" - -#include "G4WarnPLStatus.hh" - -template TQGSP_EMV_NQE::TQGSP_EMV_NQE(G4int ver): T() -{ - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_EMV_NQE 1.0"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("QGSP_EMV_NQE"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // General Physics - i.e. decay - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - - // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP("hadron",quasiElastic=false)); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TQGSP_EMV_NQE::~TQGSP_EMV_NQE() -{ -} - -template void TQGSP_EMV_NQE::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSP_EMV_NQE::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); - -} diff --git a/source/physics_lists/lists/include/QGSP_EMX.icc b/source/physics_lists/lists/include/QGSP_EMX.icc deleted file mode 100644 index 9b59509a69..0000000000 --- a/source/physics_lists/lists/include/QGSP_EMX.icc +++ /dev/null @@ -1,130 +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: QGSP_EMX.icc,v 1.8 2009/11/27 17:28:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: QGSP_EMX -// -// Author: 2006 V.Ivanchenko -// -// Modified: -// 18.05.2009 G.Folger: obsoleted -// 20.11.2006 G.Folger: add Tracking Cut for neutrons -// 21.06.2006 V.Ivanchenko crerate from QGSP_EMV -// 26.04.2007 G.Folger -// - use HadronPhysicsQGSP, not HadronPhysicsQGSP_EMX -// - Enable quasielastic for QGS string model -// 16.05.2007 V.Ivanchenko: rename EM builders -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics_option2.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSP.hh" - -#include "G4WarnPLStatus.hh" - -template TQGSP_EMX::TQGSP_EMX(G4int ver): T() -{ - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_EMX 3.3"<defaultCutValue = 7.*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Replaced("QGSP_EMX","QGSP_BERT_EMX"); - G4Exception(" Crash for usage of replaced physics list"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics_option2(ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // General Physics - i.e. decay - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - - // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP("hadron",quasiElastic=true)); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TQGSP_EMX::~TQGSP_EMX() -{ -} - -template void TQGSP_EMX::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSP_EMX::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); - -} - diff --git a/source/physics_lists/lists/include/QGSP_FTFP_BERT.icc b/source/physics_lists/lists/include/QGSP_FTFP_BERT.icc index 80bded7e07..ccef25590c 100644 --- a/source/physics_lists/lists/include/QGSP_FTFP_BERT.icc +++ b/source/physics_lists/lists/include/QGSP_FTFP_BERT.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_FTFP_BERT.icc,v 1.2 2009/11/27 17:28:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QGSP_FTFP_BERT.icc,v 1.6 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -34,13 +34,14 @@ // // Modified: // 27.11.2009 G.Folger: Mark as experimental +// 04.06.2010 G.Folger: Use new ctor for builders +// 04.06.2010 G.Folger: Remove experimental status +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -62,45 +63,39 @@ #include "G4DataQuestionaire.hh" #include "HadronPhysicsQGSP_FTFP_BERT.hh" -#include "G4WarnPLStatus.hh" - template TQGSP_FTFP_BERT::TQGSP_FTFP_BERT(G4int ver): T() { G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_FTFP_BERT 3.3"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); - G4WarnPLStatus exp; - exp.Experimental("QGSP_FTFP_BERT"); - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_FTFP_BERT("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP_FTFP_BERT(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/QGSP_INCL_ABLA.icc b/source/physics_lists/lists/include/QGSP_INCL_ABLA.icc index 0fc1d6fb4f..80aef6e68b 100644 --- a/source/physics_lists/lists/include/QGSP_INCL_ABLA.icc +++ b/source/physics_lists/lists/include/QGSP_INCL_ABLA.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_INCL_ABLA.icc,v 1.3 2009/12/03 14:31:35 kaitanie Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QGSP_INCL_ABLA.icc,v 1.6 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -35,13 +35,13 @@ // // Modified: // 27.11.2009 G.Folger: Mark as experimental +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -69,7 +69,7 @@ template TQGSP_INCL_ABLA::TQGSP_INCL_ABLA(G4int ver): T() { G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_INCL_ABLA 0.1"<defaultCutValue = 0.7*mm; @@ -79,29 +79,28 @@ template TQGSP_INCL_ABLA::TQGSP_INCL_ABLA(G4int ver): T() exp.Experimental("QGSP_INCL_ABLA"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_INCL_ABLA("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGSP_INCL_ABLA(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonInclAblaPhysics("ion")); + this->RegisterPhysics( new G4IonInclAblaPhysics(ver)); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } diff --git a/source/physics_lists/lists/include/QGSP_QEL.icc b/source/physics_lists/lists/include/QGSP_QEL.icc index 9da438a061..d61e4e48f4 100644 --- a/source/physics_lists/lists/include/QGSP_QEL.icc +++ b/source/physics_lists/lists/include/QGSP_QEL.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_QEL.icc,v 1.4 2009/05/18 08:54:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QGSP_QEL.icc,v 1.6 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -38,13 +38,12 @@ // 18.05.2009 G.Folger: obsoleted // 26.04.2007 G.Folger: Enable quasielastic for QGS string model // 16.05.2007 V.Ivanchenko: rename EM builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -84,23 +83,23 @@ template TQGSP_QEL::TQGSP_QEL(G4int ver): T() obs.Unsupported("QGSP_QEL"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering, "CHIPS" version - this-> RegisterPhysics( new G4HadronQElasticPhysics("elastic",ver)); + this-> RegisterPhysics( new G4HadronQElasticPhysics(ver) ); // Hadron Physics G4bool quasiElastic; this->RegisterPhysics( new HadronPhysicsQGSP("hadron",quasiElastic=true)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics this->RegisterPhysics( new G4IonPhysics("ion")); diff --git a/source/physics_lists/lists/include/QGS_BIC.icc b/source/physics_lists/lists/include/QGS_BIC.icc index 5cf6b9e0f6..0e7d37902e 100644 --- a/source/physics_lists/lists/include/QGS_BIC.icc +++ b/source/physics_lists/lists/include/QGS_BIC.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGS_BIC.icc,v 1.2 2007/12/10 17:33:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: QGS_BIC.icc,v 1.6 2010/11/19 19:50:15 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -34,12 +34,12 @@ // created from QGSP_BIC by H.P.Wellisch // // Modified: +// 04.06.2010 G.Folger: Use new ctor for builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -57,6 +57,7 @@ #include "G4QStoppingPhysics.hh" #include "G4HadronElasticPhysics.hh" #include "G4NeutronTrackingCut.hh" +#include "G4NeutronCrossSectionXS.hh" #include "G4DataQuestionaire.hh" #include "HadronPhysicsQGS_BIC.hh" @@ -69,7 +70,7 @@ template TQGS_BIC::TQGS_BIC(G4int ver): T() // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGS_BIC 1.0"<defaultCutValue = 0.7*mm; @@ -79,29 +80,31 @@ template TQGS_BIC::TQGS_BIC(G4int ver): T() exp.Experimental("QGS_BIC"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics(ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver) ); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGS_BIC("hadron",quasiElastic=true)); + this->RegisterPhysics( new HadronPhysicsQGS_BIC(ver) ); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC")); + this->RegisterPhysics( new G4IonBinaryCascadePhysics(ver) ); // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + this->RegisterPhysics( new G4NeutronTrackingCut(ver) ); + + // Neutron cross sections + this->RegisterPhysics( new G4NeutronCrossSectionXS(ver) ); } diff --git a/source/physics_lists/lists/include/FTFC.hh b/source/physics_lists/lists/include/Shielding.hh similarity index 84% rename from source/physics_lists/lists/include/FTFC.hh rename to source/physics_lists/lists/include/Shielding.hh index d2392cd5a3..0808f6be98 100644 --- a/source/physics_lists/lists/include/FTFC.hh +++ b/source/physics_lists/lists/include/Shielding.hh @@ -23,33 +23,33 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FTFC.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: Shielding.hh,v 1.1 2010/06/08 16:05:48 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // // ClassName: // -// Author: 2002 J.P. Wellisch +// Author: 2010 Tatsumi Koi, Gunter Folger +// created from FTFP_BERT // // Modified: -// 05.12.2005 V.Ivanchenko add controlled verbosity // //---------------------------------------------------------------------------- // -#ifndef TTFTFC_h -#define TTFTFC_h 1 +#ifndef TShielding_h +#define TShielding_h 1 #include "G4VModularPhysicsList.hh" #include "globals.hh" #include "CompileTimeConstraints.hh" template -class TFTFC: public T +class TShielding: public T { public: - TFTFC(G4int ver = 1); - virtual ~TFTFC(); + TShielding(G4int ver = 1); + virtual ~TShielding(); public: // SetCuts() @@ -58,11 +58,8 @@ public: private: enum {ok = CompileTimeConstraints::IsA::ok }; }; -#include "FTFC.icc" - -typedef TFTFC FTFC; - -// 2002 by J.P. Wellisch +#include "Shielding.icc" +typedef TShielding Shielding; #endif diff --git a/source/physics_lists/lists/include/QGSP_NQE.icc b/source/physics_lists/lists/include/Shielding.icc similarity index 70% rename from source/physics_lists/lists/include/QGSP_NQE.icc rename to source/physics_lists/lists/include/Shielding.icc index d746c22b05..e30f0f514f 100644 --- a/source/physics_lists/lists/include/QGSP_NQE.icc +++ b/source/physics_lists/lists/include/Shielding.icc @@ -23,26 +23,24 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_NQE.icc,v 1.3 2009/05/18 08:54:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: Shielding.icc,v 1.2 2010/08/16 07:14:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // -// ClassName: +// ClassName: // -// Author: 2007 G.Folger -// created from QGSP.icc +// Author: 2010 Tatsumi Koi, Gunter Folger +// +// created from FTFP_BERT // // Modified: -// 18.05.2009 G.Folger: obsoleted -// 16.05.2007 V.Ivanchenko: rename EM builders +// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts // //---------------------------------------------------------------------------- // #include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" #include "G4ParticleTypes.hh" @@ -56,72 +54,68 @@ #include "G4DecayPhysics.hh" #include "G4EmStandardPhysics.hh" #include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" +#include "G4IonQMDPhysics.hh" #include "G4QStoppingPhysics.hh" #include "G4HadronElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" #include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSP.hh" +#include "HadronPhysicsShielding.hh" #include "G4WarnPLStatus.hh" -template TQGSP_NQE::TQGSP_NQE(G4int ver): T() +template TShielding::TShielding(G4int ver): T() { // default cut value (1.0mm) // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_NQE 1.0"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); - G4WarnPLStatus obs; - obs.Unsupported("QGSP_NQE"); + G4WarnPLStatus exp; + exp.Experimental("Shielding"); - // EM Physics + // EM Physics this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); + this->RegisterPhysics( new G4EmExtraPhysics(ver) ); - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); + // Decays + this->RegisterPhysics( new G4DecayPhysics(ver) ); // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysicsHP(ver) ); // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP("hadron",quasiElastic=false)); + this->RegisterPhysics( new HadronPhysicsShielding(ver)); // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); + this->RegisterPhysics( new G4QStoppingPhysics(ver) ); // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); + this->RegisterPhysics( new G4IonQMDPhysics(ver)); - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); + // Neutron tracking cut --> not by default + // this->RegisterPhysics( new G4NeutronTrackingCut(ver)); } -template TQGSP_NQE::~TQGSP_NQE() +template TShielding::~TShielding() { } -template void TQGSP_NQE::SetCuts() +template void TShielding::SetCuts() { if (this->verboseLevel >1){ - G4cout << "QGSP_NQE::SetCuts:"; + G4cout << "Shielding::SetCuts:"; } // " G4VUserPhysicsList::SetCutsWithDefault" method sets // the default cut value for all particle types this->SetCutsWithDefault(); - + // if (this->verboseLevel > 0) // G4VUserPhysicsList::DumpCutValuesTable(); } diff --git a/source/physics_lists/lists/sources.cmake b/source/physics_lists/lists/sources.cmake new file mode 100644 index 0000000000..22b0046ff1 --- /dev/null +++ b/source/physics_lists/lists/sources.cmake @@ -0,0 +1,306 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4phys_lists +# Package: Geant4.src.G4physicslists.G4phys_lists +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/11/29 17:29:30 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/event/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/shortlived/include) +include_directories(${CMAKE_SOURCE_DIR}/source/physics_lists/builders/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/decay/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/highenergy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/lowenergy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/muons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/standard/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/xrays/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/binary_cascade/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/cascade/cascade/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/cascade/evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/cascade/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/body/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/fragmentation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/interface/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/coherent_elastic/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/fermi_breakup/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/fission/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/gem_evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/handler/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/multifragmentation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/photon_evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/high_energy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/im_r_matrix/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/incl/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/isotope_production/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/low_energy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/neutron_hp/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/diffraction/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/hadronization/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/qgsm/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/pre_equilibrium/exciton_model/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/radioactive_decay/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/theo_high_energy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/stopping/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/optical/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/transportation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/run/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4phys_lists + HEADERS + CHIPS.hh + CHIPS.icc + FTF_BIC.hh + FTF_BIC.icc + FTFP_BERT_EMV.hh + FTFP_BERT_EMV.icc + FTFP_BERT_EMX.hh + FTFP_BERT_EMX.icc + FTFP_BERT.hh + FTFP_BERT.icc + FTFP_BERT_TRV.hh + FTFP_BERT_TRV.icc + G4HadronInelasticQBBC.hh + G4HadronInelasticQLHEP.hh + G4PhysListFactory.hh + G4VHadronPhysics.hh + HadronPhysicsCHIPS.hh + HadronPhysicsFTF_BIC.hh + HadronPhysicsFTFP_BERT.hh + HadronPhysicsFTFP_BERT_TRV.hh + HadronPhysicsLHEP_EMV.hh + HadronPhysicsLHEP.hh + HadronPhysicsQGS_BIC.hh + HadronPhysicsQGSC_BERT.hh + HadronPhysicsQGSC_CHIPS.hh + HadronPhysicsQGSP_BERT_CHIPS.hh + HadronPhysicsQGSP_BERT.hh + HadronPhysicsQGSP_BERT_HP.hh + HadronPhysicsQGSP_BERT_NOLEP.hh + HadronPhysicsQGSP_BERT_TRV.hh + HadronPhysicsQGSP_BIC.hh + HadronPhysicsQGSP_BIC_HP.hh + HadronPhysicsQGSP_FTFP_BERT.hh + HadronPhysicsQGSP.hh + HadronPhysicsQGSP_INCL_ABLA.hh + HadronPhysicsShielding.hh + LBE.hh + LBE.icc + LHEP_EMV.hh + LHEP_EMV.icc + LHEP.hh + LHEP.icc + MaxTimeCuts.hh + MinEkineCuts.hh + QBBC.hh + QGS_BIC.hh + QGS_BIC.icc + QGSC_BERT.hh + QGSC_BERT.icc + QGSC_CHIPS.hh + QGSC_CHIPS.icc + QGSP_BERT_CHIPS.hh + QGSP_BERT_CHIPS.icc + QGSP_BERT_EMV.hh + QGSP_BERT_EMV.icc + QGSP_BERT_EMX.hh + QGSP_BERT_EMX.icc + QGSP_BERT.hh + QGSP_BERT_HP.hh + QGSP_BERT_HP.icc + QGSP_BERT.icc + QGSP_BERT_NOLEP.hh + QGSP_BERT_NOLEP.icc + QGSP_BERT_TRV.hh + QGSP_BERT_TRV.icc + QGSP_BIC_EMY.hh + QGSP_BIC_EMY.icc + QGSP_BIC.hh + QGSP_BIC_HP.hh + QGSP_BIC_HP.icc + QGSP_BIC.icc + QGSP_FTFP_BERT.hh + QGSP_FTFP_BERT.icc + QGSP.hh + QGSP.icc + QGSP_INCL_ABLA.hh + QGSP_INCL_ABLA.icc + QGSP_QEL.hh + QGSP_QEL.icc + Shielding.hh + Shielding.icc + SpecialCuts.hh + SOURCES + G4HadronInelasticQBBC.cc + G4HadronInelasticQLHEP.cc + G4PhysListFactory.cc + G4VHadronPhysics.cc + HadronPhysicsCHIPS.cc + HadronPhysicsFTF_BIC.cc + HadronPhysicsFTFP_BERT.cc + HadronPhysicsFTFP_BERT_TRV.cc + HadronPhysicsLHEP.cc + HadronPhysicsLHEP_EMV.cc + HadronPhysicsQGS_BIC.cc + HadronPhysicsQGSC_BERT.cc + HadronPhysicsQGSC_CHIPS.cc + HadronPhysicsQGSP_BERT.cc + HadronPhysicsQGSP_BERT_CHIPS.cc + HadronPhysicsQGSP_BERT_HP.cc + HadronPhysicsQGSP_BERT_NOLEP.cc + HadronPhysicsQGSP_BERT_TRV.cc + HadronPhysicsQGSP_BIC.cc + HadronPhysicsQGSP_BIC_HP.cc + HadronPhysicsQGSP.cc + HadronPhysicsQGSP_FTFP_BERT.cc + HadronPhysicsQGSP_INCL_ABLA.cc + HadronPhysicsShielding.cc + MaxTimeCuts.cc + MinEkineCuts.cc + QBBC.cc + SpecialCuts.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4cuts + G4decay + G4digits + G4emhighenergy + G4emlowenergy + G4emstandard + G4emutils + G4event + G4geometrymng + G4globman + G4had_im_r_matrix + G4had_mod_man + G4had_mod_util + G4had_muon_nuclear + G4had_neu_hp + G4had_preequ_exciton + G4had_string_diff + G4had_string_frag + G4had_string_man + G4had_theo_max + G4hadronic_HE + G4hadronic_LE + G4hadronic_bert_cascade + G4hadronic_binary + G4hadronic_body_ci + G4hadronic_coherent_elastic + G4hadronic_crosec_ci + G4hadronic_deex_evaporation + G4hadronic_deex_fermi_breakup + G4hadronic_deex_fission + G4hadronic_deex_gem_evaporation + G4hadronic_deex_handler + G4hadronic_deex_management + G4hadronic_deex_multifragmentation + G4hadronic_deex_photon_evaporation + G4hadronic_deex_util + G4hadronic_fragm_ci + G4hadronic_hetcpp_evaporation + G4hadronic_hetcpp_utils + G4hadronic_incl_cascade + G4hadronic_interface_ci + G4hadronic_iso + G4hadronic_mgt + G4hadronic_proc + G4hadronic_proc_ci + G4hadronic_qgstring + G4hadronic_radioactivedecay + G4hadronic_stop + G4hadronic_util + G4hadronic_xsect + G4hits + G4intercoms + G4ions + G4leptons + G4magneticfield + G4materials + G4mesons + G4muons + G4navigation + G4optical + G4partman + G4phys_builders + G4procman + G4run + G4shortlived + G4track + G4tracking + G4transportation + G4volumes + G4xrays + GLOBAL_DEPENDENCIES + G4digits_hits + G4event + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4processes + G4run + G4track + G4tracking + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/physics_lists/lists/src/G4HadronInelasticQBBC.cc b/source/physics_lists/lists/src/G4HadronInelasticQBBC.cc index d694aca25f..5b4cb152a8 100644 --- a/source/physics_lists/lists/src/G4HadronInelasticQBBC.cc +++ b/source/physics_lists/lists/src/G4HadronInelasticQBBC.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronInelasticQBBC.cc,v 1.24 2009/11/25 18:55:56 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HadronInelasticQBBC.cc,v 1.29 2010/11/19 19:50:15 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -47,10 +47,13 @@ #include "G4BGGNucleonInelasticXS.hh" #include "G4BGGPionInelasticXS.hh" -//#include "G4UInelasticCrossSection.hh" + #include "G4NeutronInelasticXS.hh" #include "G4NeutronCaptureXS.hh" +#include "G4QInelastic.hh" +#include "G4HadronicProcessStore.hh" + #include "G4ProtonInelasticCrossSection.hh" #include "G4NeutronInelasticCrossSection.hh" #include "G4PiNuclearCrossSection.hh" @@ -64,160 +67,149 @@ #include "G4LCapture.hh" #include "G4NeutronRadCapture.hh" +#include "G4PreCompoundModel.hh" +#include "G4ExcitationHandler.hh" +#include "G4Evaporation.hh" + enum QBBCType { - fQBBC = 0, - fQBBC_XGG, - fQBBC_XGGSN + fQBBC = 0, // default QBBC + fQBBC_XGG, // neutron x-sections from BGG + fQBBC_XGGSN // n, p, pi+- x-sections from QGSP_BERT }; +G4HadronInelasticQBBC::G4HadronInelasticQBBC(G4int ver) + : G4VHadronPhysics("hInelastic"),verbose(ver),wasActivated(false) +{ + htype = "QBBC"; + theHandler = 0; + theEvaporation = 0; +} + G4HadronInelasticQBBC::G4HadronInelasticQBBC(const G4String& name, G4int ver, G4bool, G4bool,G4bool, G4bool, G4bool) : G4VHadronPhysics("hInelastic"),verbose(ver),wasActivated(false) { htype = name; + theHandler = 0; + theEvaporation = 0; } G4HadronInelasticQBBC::~G4HadronInelasticQBBC() -{} +{ + delete theHandler; + delete theEvaporation; +} void G4HadronInelasticQBBC::ConstructProcess() { if(wasActivated) return; wasActivated = true; - // select type - QBBCType fType = fQBBC; - if("QBBC_XGG" == htype) { fType = fQBBC_XGG; } - else if("QBBC_XGGSN" == htype) { fType = fQBBC_XGGSN; } - if(verbose > 1) { G4cout << "### HadronInelasticQBBC Construct Process with type <" << htype << ">" << G4endl; } + // PreCompound and Evaporation models are instantiated here + //theEvaporation = new G4Evaporation(); + //theEvaporation->SetCombinedChannel(); + theHandler = new G4ExcitationHandler(); + //theHandler->SetEvaporation(theEvaporation); + //theHandler->SetMinEForMultiFrag(3.0*GeV); + //theHandler->SetMaxAandZForFermiBreakUp(17,9); + G4PreCompoundModel* thePreCompound = new G4PreCompoundModel(theHandler); + // configure models G4HadronicInteraction* theQGSP = - BuildModel(new G4QGSBuilder("QGSP",true,false),9.5*GeV,100.*TeV); + BuildModel(new G4QGSBuilder("QGSP",thePreCompound,true,false),12.5*GeV,100.*TeV); G4HadronicInteraction* theFTFP = - BuildModel(new G4FTFBuilder("FTFP"),4.5*GeV,25.*GeV); + BuildModel(new G4FTFBuilder("FTFP",thePreCompound),4.0*GeV,25.*GeV); G4HadronicInteraction* theFTFP1 = - BuildModel(new G4FTFBuilder("FTFP"),4.5*GeV,100.*TeV); + BuildModel(new G4FTFBuilder("FTFP",thePreCompound),4.0*GeV,100.*TeV); + G4HadronicInteraction* theBERT = - NewModel(new G4CascadeInterface(),0.0,6.5*GeV); - //G4HadronicInteraction* theBERT1 = - // NewModel(new G4CascadeInterface(),2.5*GeV,6.5*GeV); - //G4HadronicInteraction* theBIC = - // NewModel(new G4BinaryCascade(),0.0,3.5*GeV); - G4HadronicInteraction* theCHIPS = - NewModel(new G4QStringChipsParticleLevelInterface(),0.0,7.5*GeV); + NewModel(new G4CascadeInterface(),1.0*GeV,5.0*GeV); + G4HadronicInteraction* theBERT1 = + NewModel(new G4CascadeInterface(),0.0*GeV,5.0*GeV); + + G4BinaryCascade* bic = new G4BinaryCascade(); + bic->SetDeExcitation(thePreCompound); + G4HadronicInteraction* theBIC = NewModel(bic,0.0,1.5*GeV); + + G4QInelastic* theCHIPS = new G4QInelastic(); + G4HadronicProcessStore* store = G4HadronicProcessStore::Instance(); + store->RegisterExtraProcess(theCHIPS); // loop over particles theParticleIterator->reset(); while( (*theParticleIterator)() ) { G4ParticleDefinition* particle = theParticleIterator->value(); G4String pname = particle->GetParticleName(); - if(verbose > 1) { G4cout << "### HadronInelasticQBBC: " << pname << G4endl; } - if(pname == "anti_lambda" || - pname == "anti_neutron" || - pname == "anti_omega-" || - pname == "anti_proton" || - pname == "anti_sigma-" || - pname == "anti_sigma+" || - pname == "anti_xi-" || - pname == "anti_xi0" || - pname == "kaon-" || - pname == "kaon+" || - pname == "kaon0S" || - pname == "kaon0L" || - pname == "lambda" || - pname == "neutron" || - pname == "omega-" || - pname == "pi-" || - pname == "pi+" || - pname == "proton" || - pname == "sigma-" || - pname == "sigma+" || - pname == "sigma0" || - pname == "xi-" || - pname == "xi0") { - - // common for all particles - G4HadronicProcess* hp = FindInelasticProcess(particle); - if(!hp) { continue; } - G4ProcessManager* pmanager = particle->GetProcessManager(); - pmanager->AddDiscreteProcess(hp); - - // model and X-section configuration - if(pname == "proton") { - if(fType == fQBBC) { - hp->AddDataSet(new G4ProtonInelasticCrossSection()); - } else { - hp->AddDataSet(new G4BGGNucleonInelasticXS(particle)); - } - hp->RegisterMe(theQGSP); - hp->RegisterMe(theFTFP); - hp->RegisterMe(theBERT); - // hp->RegisterMe(theBERT1); - // hp->RegisterMe(theBIC); - - } else if(pname == "neutron") { - if(fType == fQBBC) { - hp->AddDataSet(new G4NeutronInelasticCrossSection()); - } else if(fType == fQBBC_XGG) { - hp->AddDataSet(new G4BGGNucleonInelasticXS(particle)); - } else { - hp->AddDataSet(new G4NeutronInelasticXS()); - } - - hp->RegisterMe(theQGSP); - hp->RegisterMe(theFTFP); - // hp->RegisterMe(theBERT1); - - G4HadronicProcess* capture = FindCaptureProcess(); - pmanager->AddDiscreteProcess(capture); - - hp->RegisterMe(theBERT); - //hp->RegisterMe(theBIC); - capture->RegisterMe(new G4NeutronRadCapture()); - //capture->RegisterMe(new G4LCapture()); - if(fType == fQBBC_XGGSN) { - capture->AddDataSet(new G4NeutronCaptureXS()); - } - - } else if(pname == "pi-" || pname == "pi+") { - if(fType == fQBBC) { - hp->AddDataSet(new G4PiNuclearCrossSection()); - } else { - hp->AddDataSet(new G4BGGPionInelasticXS(particle)); - } - hp->RegisterMe(theQGSP); - hp->RegisterMe(theFTFP); - hp->RegisterMe(theBERT); - - } else if(pname == "kaon-" || - pname == "kaon+" || - pname == "kaon0S" || - pname == "kaon0L" || - pname == "lambda" || - pname == "sigma-" || - pname == "sigma+" || - pname == "sigma0" || - pname == "xi-" || - pname == "xi0") { - hp->RegisterMe(theFTFP1); - hp->RegisterMe(theBERT); - - } else { - hp->RegisterMe(theFTFP1); - hp->RegisterMe(theCHIPS); - - } - - if(verbose > 1) { - G4cout << "### HadronInelasticQBBC: " << hp->GetProcessName() - << " added for " << pname << G4endl; - } + G4ProcessManager* pmanager = particle->GetProcessManager(); + if(verbose > 1) { + G4cout << "### HadronInelasticQBBC: " << pname << G4endl; } + + // + // model and X-section configuration per particle type + // + if(pname == "proton") { + G4HadronicProcess* hp = FindInelasticProcess(particle); + hp->AddDataSet(new G4BGGNucleonInelasticXS(particle)); + + hp->RegisterMe(theQGSP); + hp->RegisterMe(theFTFP); + hp->RegisterMe(theBERT); + hp->RegisterMe(theBIC); + + } else if(pname == "neutron") { + G4HadronicProcess* hp = FindInelasticProcess(particle); + hp->AddDataSet(new G4NeutronInelasticXS()); + hp->RegisterMe(theQGSP); + hp->RegisterMe(theFTFP); + + G4HadronicProcess* capture = FindCaptureProcess(); + capture->AddDataSet(new G4NeutronCaptureXS()); + hp->RegisterMe(theBERT); + hp->RegisterMe(theBIC); + capture->RegisterMe(new G4NeutronRadCapture()); + + } else if(pname == "pi-" || pname == "pi+") { + G4HadronicProcess* hp = FindInelasticProcess(particle); + hp->AddDataSet(new G4BGGPionInelasticXS(particle)); + hp->RegisterMe(theQGSP); + hp->RegisterMe(theFTFP); + hp->RegisterMe(theBERT1); + + } else if(pname == "kaon-" || + pname == "kaon+" || + pname == "kaon0S" || + pname == "kaon0L" || + pname == "lambda" || + pname == "sigma-" || + pname == "sigma+" || + pname == "sigma0" || + pname == "xi-" || + pname == "xi0") { + G4HadronicProcess* hp = FindInelasticProcess(particle); + hp->RegisterMe(theFTFP1); + hp->RegisterMe(theBERT1); + + } else if(pname == "anti_lambda" || + pname == "anti_neutron" || + pname == "anti_omega-" || + pname == "anti_proton" || + pname == "anti_sigma-" || + pname == "anti_sigma+" || + pname == "anti_xi-" || + pname == "anti_xi0" || + pname == "omega-") { + //G4HadronicProcess* hp = FindInelasticProcess(particle); + //hp->RegisterMe(theFTFP1); + //hp->RegisterMe(theCHIPS); + pmanager->AddDiscreteProcess(theCHIPS); + store->RegisterParticleForExtraProcess(theCHIPS,particle); + } } } diff --git a/source/physics_lists/lists/src/G4HadronInelasticQLHEP.cc b/source/physics_lists/lists/src/G4HadronInelasticQLHEP.cc index e2f7436e19..98dad5a45e 100644 --- a/source/physics_lists/lists/src/G4HadronInelasticQLHEP.cc +++ b/source/physics_lists/lists/src/G4HadronInelasticQLHEP.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronInelasticQLHEP.cc,v 1.2 2008/05/19 10:21:34 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4HadronInelasticQLHEP.cc,v 1.4 2010/06/08 08:58:03 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -113,9 +113,23 @@ #include "G4HEXiMinusInelastic.hh" #include "G4HEXiZeroInelastic.hh" -G4HadronInelasticQLHEP::G4HadronInelasticQLHEP(const G4String& name, +G4HadronInelasticQLHEP::G4HadronInelasticQLHEP(G4int ver) + : G4VPhysicsConstructor("hInelasticQLHEP"), verbose(ver), qgsFlag(false), + bertFlag(false), bicFlag(false), hpFlag(false), wasActivated(false) +{ + if(verbose > 1) G4cout << "### HadronInelasticQLHEP" << G4endl; + theCascade = 0; + theQGStringDecay = 0; + theQGStringModel = 0; + thePreEquilib = 0; + theHPXSecI = 0; + theHPXSecC = 0; + theHPXSecF = 0; +} + +G4HadronInelasticQLHEP::G4HadronInelasticQLHEP(const G4String&, G4int ver, G4bool qgs, G4bool bert, G4bool bic, G4bool hp) - : G4VPhysicsConstructor(name), verbose(ver), qgsFlag(qgs), + : G4VPhysicsConstructor("hInelasticQLHEP"), verbose(ver), qgsFlag(qgs), bertFlag(bert), bicFlag(bic), hpFlag(hp), wasActivated(false) { if(verbose > 1) G4cout << "### HadronInelasticQLHEP" << G4endl; diff --git a/source/physics_lists/lists/src/G4PhysListFactory.cc b/source/physics_lists/lists/src/G4PhysListFactory.cc index 23167391d6..009c4cc575 100644 --- a/source/physics_lists/lists/src/G4PhysListFactory.cc +++ b/source/physics_lists/lists/src/G4PhysListFactory.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PhysListFactory.cc,v 1.12 2009/11/25 18:55:56 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysListFactory.cc,v 1.16 2010/11/19 19:50:15 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -49,19 +49,21 @@ #include "LHEP_EMV.hh" #include "QBBC.hh" #include "QGSC_BERT.hh" -#include "QGSC_CHIPS.hh" +#include "QGSP.hh" #include "QGSP_BERT.hh" #include "QGSP_BERT_EMV.hh" #include "QGSP_BERT_EMX.hh" #include "QGSP_BERT_HP.hh" #include "QGSP_BERT_NOLEP.hh" #include "QGSP_BERT_TRV.hh" +#include "QGSP_BERT_CHIPS.hh" #include "QGSP_BIC.hh" #include "QGSP_BIC_EMY.hh" #include "QGSP_BIC_HP.hh" #include "QGSP_FTFP_BERT.hh" #include "QGS_BIC.hh" #include "QGSP_INCL_ABLA.hh" +#include "Shielding.hh" G4PhysListFactory::G4PhysListFactory() { @@ -71,13 +73,15 @@ G4PhysListFactory::G4PhysListFactory() "CHIPS", "FTFP_BERT","FTFP_BERT_EMV","FTFP_BERT_EMX","FTFP_BERT_TRV","FTF_BIC", "LBE","LHEP","LHEP_EMV", - "QBBC","QBBC_XGG","QBBC_XGGSN", - "QGSC_BERT","QGSC_CHIPS", + "QBBC", + "QGSC_BERT","QGSP", "QGSP_BERT","QGSP_BERT_EMV","QGSP_BERT_EMX","QGSP_BERT_HP", - "QGSP_BERT_NOLEP","QGSP_BERT_TRV","QGSP_BIC","QGSP_BIC_EMY","QGSP_BIC_HP", - "QGSP_FTFP_BERT","QGS_BIC", "QGSP_INCL_ABLA"}; + "QGSP_BERT_NOLEP","QGSP_BERT_TRV","QGSP_BERT_CHIPS", + "QGSP_BIC","QGSP_BIC_EMY","QGSP_BIC_HP", + "QGSP_FTFP_BERT","QGS_BIC", "QGSP_INCL_ABLA", + "Shielding"}; - for(size_t i=0; i -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsFTFC::HadronPhysicsFTFC(const G4String& name, G4bool quasiElastic) - : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) -{} - -void HadronPhysicsFTFC::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - theFTFCNeutron=new G4FTFCNeutronBuilder(QuasiElastic); - theNeutrons->RegisterMe(theFTFCNeutron); - theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); - theLEPNeutron->SetMaxInelasticEnergy(5*GeV); - - thePro=new G4ProtonBuilder; - theFTFCPro=new G4FTFCProtonBuilder(QuasiElastic); - thePro->RegisterMe(theFTFCPro); - thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder); - theLEPPro->SetMaxEnergy(5*GeV); - - thePiK=new G4PiKBuilder; - theFTFCPiK=new G4FTFCPiKBuilder(QuasiElastic); - thePiK->RegisterMe(theFTFCPiK); - thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder); - theLEPPiK->SetMaxEnergy(5*GeV); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsFTFC::~HadronPhysicsFTFC() -{ - delete theNeutrons; - delete theLEPNeutron; - delete theFTFCNeutron; - - delete thePiK; - delete theLEPPiK; - delete theFTFCPiK; - - delete thePro; - delete theLEPPro; - delete theFTFCPro; - - delete theMiscLHEP; -} - -void HadronPhysicsFTFC::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsFTFC::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} - diff --git a/source/physics_lists/lists/src/HadronPhysicsFTFP_BERT.cc b/source/physics_lists/lists/src/HadronPhysicsFTFP_BERT.cc index 966f949eec..79a2b29fb7 100644 --- a/source/physics_lists/lists/src/HadronPhysicsFTFP_BERT.cc +++ b/source/physics_lists/lists/src/HadronPhysicsFTFP_BERT.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTFP_BERT.cc,v 1.1 2007/10/19 15:35:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsFTFP_BERT.cc,v 1.4 2010/06/15 11:03:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -49,6 +49,13 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +#include "G4QHadronInelasticDataSet.hh" + +HadronPhysicsFTFP_BERT::HadronPhysicsFTFP_BERT(G4int) + : G4VPhysicsConstructor("hInelastic FTFP_BERT") + , QuasiElastic(false) +{} + HadronPhysicsFTFP_BERT::HadronPhysicsFTFP_BERT(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {} @@ -78,7 +85,7 @@ void HadronPhysicsFTFP_BERT::CreateModels() thePiK->RegisterMe(theBertiniPiK=new G4BertiniPiKBuilder); theBertiniPiK->SetMaxEnergy(5*GeV); - theMiscLHEP=new G4MiscLHEPBuilder; + theMiscCHIPS=new G4MiscCHIPSBuilder; } HadronPhysicsFTFP_BERT::~HadronPhysicsFTFP_BERT() @@ -86,7 +93,8 @@ HadronPhysicsFTFP_BERT::~HadronPhysicsFTFP_BERT() delete theNeutrons; delete theBertiniNeutron; delete theFTFPNeutron; - + delete theLEPNeutron; + delete thePiK; delete theBertiniPiK; delete theFTFPPiK; @@ -95,7 +103,8 @@ HadronPhysicsFTFP_BERT::~HadronPhysicsFTFP_BERT() delete theBertiniPro; delete theFTFPPro; - delete theMiscLHEP; + delete theMiscCHIPS; + delete theCHIPSInelastic; } void HadronPhysicsFTFP_BERT::ConstructParticle() @@ -117,6 +126,32 @@ void HadronPhysicsFTFP_BERT::ConstructProcess() theNeutrons->Build(); thePro->Build(); thePiK->Build(); - theMiscLHEP->Build(); + // use CHIPS cross sections also for Kaons + theCHIPSInelastic = new G4QHadronInelasticDataSet(); + + FindInelasticProcess(G4KaonMinus::KaonMinus())->AddDataSet(theCHIPSInelastic); + FindInelasticProcess(G4KaonPlus::KaonPlus())->AddDataSet(theCHIPSInelastic); + FindInelasticProcess(G4KaonZeroShort::KaonZeroShort())->AddDataSet(theCHIPSInelastic); + FindInelasticProcess(G4KaonZeroLong::KaonZeroLong())->AddDataSet(theCHIPSInelastic); + + theMiscCHIPS->Build(); +} +G4HadronicProcess* +HadronPhysicsFTFP_BERT::FindInelasticProcess(const G4ParticleDefinition* p) +{ + G4HadronicProcess* had = 0; + if(p) { + G4ProcessVector* pvec = p->GetProcessManager()->GetProcessList(); + size_t n = pvec->size(); + if(0 < n) { + for(size_t i=0; iGetProcessSubType()) { + had = static_cast((*pvec)[i]); + break; + } + } + } + } + return had; } diff --git a/source/physics_lists/lists/src/HadronPhysicsFTFP_BERT_TRV.cc b/source/physics_lists/lists/src/HadronPhysicsFTFP_BERT_TRV.cc index e90027066f..439c75fe72 100644 --- a/source/physics_lists/lists/src/HadronPhysicsFTFP_BERT_TRV.cc +++ b/source/physics_lists/lists/src/HadronPhysicsFTFP_BERT_TRV.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTFP_BERT_TRV.cc,v 1.1 2009/06/02 16:51:59 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsFTFP_BERT_TRV.cc,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -49,6 +49,11 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsFTFP_BERT_TRV::HadronPhysicsFTFP_BERT_TRV(G4int) + : G4VPhysicsConstructor("hInelastic FTFP_BERT_TRV") + , QuasiElastic(false) +{} + HadronPhysicsFTFP_BERT_TRV::HadronPhysicsFTFP_BERT_TRV(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {} diff --git a/source/physics_lists/lists/src/HadronPhysicsFTF_BIC.cc b/source/physics_lists/lists/src/HadronPhysicsFTF_BIC.cc index 9834c5f664..dc296ced7b 100644 --- a/source/physics_lists/lists/src/HadronPhysicsFTF_BIC.cc +++ b/source/physics_lists/lists/src/HadronPhysicsFTF_BIC.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTF_BIC.cc,v 1.2 2008/04/25 14:53:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsFTF_BIC.cc,v 1.3 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -48,6 +48,11 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsFTF_BIC::HadronPhysicsFTF_BIC(G4int) + : G4VPhysicsConstructor("hInelastic FTF_BIC") + , QuasiElastic(false) +{} + HadronPhysicsFTF_BIC::HadronPhysicsFTF_BIC(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {} diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP.cc index feccab2545..9c5f956c39 100644 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsLHEP.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsLHEP.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsLHEP.cc,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -49,6 +49,10 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsLHEP::HadronPhysicsLHEP(G4int) + : G4VPhysicsConstructor("hInelastic LHEP") +{} + HadronPhysicsLHEP::HadronPhysicsLHEP(const G4String& name) : G4VPhysicsConstructor(name) {} diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT.cc deleted file mode 100644 index 2752c3305a..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT.cc +++ /dev/null @@ -1,120 +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: HadronPhysicsLHEP_BERT.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_BERT -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// 20.06.2006 G.Folger: Bertini applies to Kaons, i.e. use SetMinEnergy instead of SetMinPionEnergy -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsLHEP_BERT.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsLHEP_BERT::HadronPhysicsLHEP_BERT(const G4String& name) - : G4VPhysicsConstructor(name) -{} - -void HadronPhysicsLHEP_BERT::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - - theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder); - theNeutrons->RegisterMe(theBertiniNeutron=new G4BertiniNeutronBuilder); - theLHEPNeutron->SetMinInelasticEnergy(9.5*GeV); - theBertiniNeutron->SetMaxEnergy(9.9*GeV); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder); - thePro->RegisterMe(theBertiniPro=new G4BertiniProtonBuilder); - theLHEPPro->SetMinEnergy(9.5*GeV); - theBertiniPro->SetMaxEnergy(9.9*GeV); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder); - thePiK->RegisterMe(theBertiniPiK=new G4BertiniPiKBuilder); - theLHEPPiK->SetMinEnergy(9.5*GeV); - theBertiniPiK->SetMaxEnergy(9.9*GeV); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsLHEP_BERT::~HadronPhysicsLHEP_BERT() -{ - delete theNeutrons; - delete theLHEPNeutron; - delete theBertiniNeutron; - - delete thePiK; - delete theLHEPPiK; - delete theBertiniPiK; - - delete thePro; - delete theLHEPPro; - delete theBertiniPro; - - delete theMiscLHEP; -} - -void HadronPhysicsLHEP_BERT::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsLHEP_BERT::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} - diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_EMV.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_EMV.cc index 932975086d..055ec0ff0c 100644 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_EMV.cc +++ b/source/physics_lists/lists/src/HadronPhysicsLHEP_EMV.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsLHEP_EMV.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsLHEP_EMV.cc,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -44,6 +44,10 @@ #include "G4ios.hh" #include +HadronPhysicsLHEP_EMV::HadronPhysicsLHEP_EMV(G4int) + : G4VPhysicsConstructor("hInelastic LHEP_EMV") +{} + HadronPhysicsLHEP_EMV::HadronPhysicsLHEP_EMV(const G4String& name) : G4VPhysicsConstructor(name) {} diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_PRECO_HP.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_PRECO_HP.cc deleted file mode 100644 index 2c8d187cd1..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_PRECO_HP.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: HadronPhysicsLHEP_PRECO_HP.cc,v 1.1 2006/10/31 11:35:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_PRECO_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsLHEP_PRECO_HP.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsLHEP_PRECO_HP::HadronPhysicsLHEP_PRECO_HP(const G4String& name) - : G4VPhysicsConstructor(name) -{} - -void HadronPhysicsLHEP_PRECO_HP::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder); - theLHEPNeutron->SetMinEnergy(19.9*MeV); - theLHEPNeutron->SetMinInelasticEnergy(0.15*GeV); - theNeutrons->RegisterMe(thePrecoNeutron=new G4PrecoNeutronBuilder); - thePrecoNeutron->SetMinEnergy(19.9*MeV); - theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder); - theLHEPPro->SetMinEnergy(0.15*GeV); - thePro->RegisterMe(thePrecoPro=new G4PrecoProtonBuilder); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsLHEP_PRECO_HP::~HadronPhysicsLHEP_PRECO_HP() -{ - delete theNeutrons; - delete theLHEPNeutron; - delete thePrecoNeutron; - delete theHPNeutron; - - delete thePiK; - delete theLHEPPiK; - - delete thePro; - delete theLHEPPro; - delete thePrecoPro; - - delete theMiscLHEP; -} - -void HadronPhysicsLHEP_PRECO_HP::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsLHEP_PRECO_HP::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSC.cc b/source/physics_lists/lists/src/HadronPhysicsQGSC.cc deleted file mode 100644 index aae7d99331..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsQGSC.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: HadronPhysicsQGSC.cc,v 1.3 2009/03/12 12:19:44 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsQGSC -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 21.11.2005 G.Folger: don't keep processes as data members, but new these -// 08.06.2006 V.Ivanchenko: remove stopping -// 25.04.2007 G.Folger: Add code for quasielastic -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsQGSC.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsQGSC::HadronPhysicsQGSC(const G4String& name, G4bool quasiElastic) - : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) -{} - -void HadronPhysicsQGSC::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theQGSCNeutron=new G4QGSCNeutronBuilder(QuasiElastic)); - theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); - theLEPNeutron->SetMaxInelasticEnergy(25*GeV); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theQGSCPro=new G4QGSCProtonBuilder(QuasiElastic)); - thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder); - theLEPPro->SetMaxEnergy(25*GeV); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theQGSCPiK=new G4QGSCPiKBuilder(QuasiElastic)); - thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder); - theLEPPiK->SetMaxEnergy(25*GeV); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsQGSC::~HadronPhysicsQGSC() -{ - delete theMiscLHEP; - delete theQGSCPro; - delete theLEPPro; - delete thePro; - delete theQGSCNeutron; - delete theNeutrons; - delete theQGSCPiK; - delete theLEPPiK; - delete thePiK; -} - -void HadronPhysicsQGSC::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsQGSC::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} - diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSC_BERT.cc b/source/physics_lists/lists/src/HadronPhysicsQGSC_BERT.cc index d691ab4fdd..289779ce97 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSC_BERT.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSC_BERT.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSC_BERT.cc,v 1.1 2007/11/15 16:58:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSC_BERT.cc,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -49,6 +49,11 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsQGSC_BERT::HadronPhysicsQGSC_BERT(G4int) + : G4VPhysicsConstructor("hInelastic QGSC_BERT") + , QuasiElastic(true) +{} + HadronPhysicsQGSC_BERT::HadronPhysicsQGSC_BERT(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {} diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSC_CHIPS.cc b/source/physics_lists/lists/src/HadronPhysicsQGSC_CHIPS.cc index 798ac87e37..055b165de2 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSC_CHIPS.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSC_CHIPS.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSC_CHIPS.cc,v 1.6 2009/04/17 15:29:19 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsQGSC_CHIPS.cc,v 1.7 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -67,6 +67,11 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsQGSC_CHIPS::HadronPhysicsQGSC_CHIPS(G4int) + : G4VPhysicsConstructor("hInelastic QGSC_CHIPS") + , QuasiElastic(true) +{} + HadronPhysicsQGSC_CHIPS::HadronPhysicsQGSC_CHIPS(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name), QuasiElastic(quasiElastic) {} diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSC_EFLOW.cc b/source/physics_lists/lists/src/HadronPhysicsQGSC_EFLOW.cc deleted file mode 100644 index 55522bccb0..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsQGSC_EFLOW.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: HadronPhysicsQGSC_EFLOW.cc,v 1.2 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsQGSC_EFLOW -// -// Author: 2006 Gunter Folger -// -// Created from HadronPhysicsQGSC -// Modified: -// 25.04.2007 G.Folger: Add code for quasielastic -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsQGSC_EFLOW.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsQGSC_EFLOW::HadronPhysicsQGSC_EFLOW(const G4String& name, G4bool quasiElastic) - : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) -{} - -void HadronPhysicsQGSC_EFLOW::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theQGSCEflowNeutron=new G4QGSCEflowNeutronBuilder(QuasiElastic)); - theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); - theLEPNeutron->SetMaxInelasticEnergy(25*GeV); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theQGSCEflowPro=new G4QGSCEflowProtonBuilder(QuasiElastic)); - thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder); - theLEPPro->SetMaxEnergy(25*GeV); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theQGSCEflowPiK=new G4QGSCEflowPiKBuilder(QuasiElastic)); - thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder); - theLEPPiK->SetMaxEnergy(25*GeV); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsQGSC_EFLOW::~HadronPhysicsQGSC_EFLOW() -{ - delete theMiscLHEP; - delete theQGSCEflowNeutron; - delete theLEPNeutron; - delete theNeutrons; - delete theQGSCEflowPro; - delete theLEPPro; - delete thePro; - delete theQGSCEflowPiK; - delete theLEPPiK; - delete thePiK; -} - -void HadronPhysicsQGSC_EFLOW::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsQGSC_EFLOW::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} - diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSC_QGSC.cc b/source/physics_lists/lists/src/HadronPhysicsQGSC_QGSC.cc deleted file mode 100644 index 9bfa8b4557..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsQGSC_QGSC.cc +++ /dev/null @@ -1,130 +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: HadronPhysicsQGSC_QGSC.cc,v 1.4 2009/04/14 07:23:08 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsQGSC_QGSC -// -// Author: 2007 G.Folger -// created from HadronPhysicsQGSC, created by J.P. Wellisch -// -// Modified: -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsQGSC_QGSC.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsQGSC_QGSC::HadronPhysicsQGSC_QGSC(const G4String& name, G4bool quasiElastic) - : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) -{} - -void HadronPhysicsQGSC_QGSC::CreateModels() -{ - theNeutrons = new G4NeutronBuilder; - theNeutrons->RegisterMe(theQGSCNeutron=new G4QGSC_QGSCNeutronBuilder(QuasiElastic)); - //theNeutrons->RegisterMe(theBertiniNeutron=new G4BertiniNeutronBuilder); - - // M.K. ??? - theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); - theLEPNeutron->SetMinInelasticEnergy(0.0*eV); // no inelastic from LEP - theLEPNeutron->SetMaxInelasticEnergy(0.0*eV); - - theQGSCNeutron->SetMinEnergy(0.0*GeV); - //theBertiniNeutron->SetMinEnergy(0.0*GeV); - //theBertiniNeutron->SetMaxEnergy(9.0*GeV); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theQGSCPro=new G4QGSC_QGSCProtonBuilder(QuasiElastic)); - //thePro->RegisterMe(theBertiniPro=new G4BertiniProtonBuilder); - - theQGSCPro->SetMinEnergy(0.0*GeV); - //theBertiniPro->SetMaxEnergy(9.0*GeV); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theQGSCPiK=new G4QGSC_QGSCPiKBuilder(QuasiElastic)); - //thePiK->RegisterMe(theBertiniPiK=new G4BertiniPiKBuilder); - - theQGSCPiK->SetMinEnergy(0.0*GeV); - //theBertiniPiK->SetMaxEnergy(9.0*GeV); - - //theMiscLHEP=new G4MiscLHEPBuilder; // To be replaced by QGSC - theMiscQGSC=new G4MiscQGSCBuilder(0); // No verbose (@@ to be developed) -} - -HadronPhysicsQGSC_QGSC::~HadronPhysicsQGSC_QGSC() -{ - delete theQGSCNeutron; - //delete theBertiniNeutron; - delete theLEPNeutron; - delete theNeutrons; - - delete theQGSCPro; - //delete theBertiniPro; - delete thePro; - - delete theQGSCPiK; - //delete theBertiniPiK; - delete thePiK; - - //delete theMiscLHEP; - delete theMiscQGSC; -} - -void HadronPhysicsQGSC_QGSC::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsQGSC_QGSC::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - //theMiscLHEP->Build(); - theMiscQGSC->Build(); -} - diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP.cc index 09b7cb4ba1..ede1831327 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: HadronPhysicsQGSP.cc,v 1.4 2007/11/13 10:16:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP.cc,v 1.5 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -52,6 +52,13 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsQGSP::HadronPhysicsQGSP(G4int) + : G4VPhysicsConstructor("hInelastic QGSP") + , QuasiElastic(true) +{ + ProjectileDiffraction=false; +} + HadronPhysicsQGSP::HadronPhysicsQGSP(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) { diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT.cc index d3cb53d6a5..8dba665dc8 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BERT.cc,v 1.3 2007/12/10 17:34:44 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP_BERT.cc,v 1.5 2010/06/15 11:03:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -53,6 +53,13 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsQGSP_BERT::HadronPhysicsQGSP_BERT(G4int) + : G4VPhysicsConstructor("hInelastic QGSP_BERT") + , QuasiElastic(true) +{ + ProjectileDiffraction=false; +} + HadronPhysicsQGSP_BERT::HadronPhysicsQGSP_BERT(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) { @@ -97,6 +104,7 @@ HadronPhysicsQGSP_BERT::~HadronPhysicsQGSP_BERT() delete theMiscLHEP; delete theQGSPNeutron; delete theLEPNeutron; + delete theNeutrons; delete theBertiniNeutron; delete theQGSPPro; delete theLEPPro; diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT_HP.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_CHIPS.cc similarity index 53% rename from source/physics_lists/lists/src/HadronPhysicsLHEP_BERT_HP.cc rename to source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_CHIPS.cc index d2606026d9..60139cc12d 100644 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT_HP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_CHIPS.cc @@ -23,78 +23,102 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsLHEP_BERT_HP.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP_BERT_CHIPS.cc,v 1.4 2010/11/23 15:09:30 stesting Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // -// ClassName: HadronPhysicsLHEP_BERT_HP +// ClassName: HadronPhysicsQGSP_BERT_CHIPS // -// Author: 2002 J.P. Wellisch +// Author: 2010 G.Folger +// derived from HadronPhysicsQGSP_BERT // // Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping // //---------------------------------------------------------------------------- // -#include "HadronPhysicsLHEP_BERT_HP.hh" +#include "HadronPhysicsQGSP_BERT_CHIPS.hh" #include "globals.hh" #include "G4ios.hh" #include #include "G4ParticleDefinition.hh" #include "G4ParticleTable.hh" +#include "G4HadronicProcessType.hh" #include "G4MesonConstructor.hh" #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" -HadronPhysicsLHEP_BERT_HP::HadronPhysicsLHEP_BERT_HP(const G4String& name) - : G4VPhysicsConstructor(name) -{} +#include "G4QHadronInelasticDataSet.hh" -void HadronPhysicsLHEP_BERT_HP::CreateModels() +HadronPhysicsQGSP_BERT_CHIPS::HadronPhysicsQGSP_BERT_CHIPS(G4int) + : G4VPhysicsConstructor("hInelastic QGSP_BERT_CHIPS") + , QuasiElastic(true) +{ + ProjectileDiffraction=false; +} + +HadronPhysicsQGSP_BERT_CHIPS::HadronPhysicsQGSP_BERT_CHIPS(const G4String& name, G4bool quasiElastic) + : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) +{ + ProjectileDiffraction=false; +} + +void HadronPhysicsQGSP_BERT_CHIPS::CreateModels() { theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder); + theNeutrons->RegisterMe(theQGSPNeutron=new G4QGSPNeutronBuilder(QuasiElastic, ProjectileDiffraction)); + theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); + theLEPNeutron->SetMinInelasticEnergy(9.5*GeV); + theLEPNeutron->SetMaxInelasticEnergy(25*GeV); + theNeutrons->RegisterMe(theBertiniNeutron=new G4BertiniNeutronBuilder); - theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder); - theLHEPNeutron->SetMinEnergy(19.9*MeV); - theLHEPNeutron->SetMinInelasticEnergy(9.5*GeV); + theBertiniNeutron->SetMinEnergy(0.0*GeV); theBertiniNeutron->SetMaxEnergy(9.9*GeV); - theBertiniNeutron->SetMinEnergy(19.9*MeV); thePro=new G4ProtonBuilder; - thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder); + thePro->RegisterMe(theQGSPPro=new G4QGSPProtonBuilder(QuasiElastic, ProjectileDiffraction)); + thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder); + theLEPPro->SetMinEnergy(9.5*GeV); + theLEPPro->SetMaxEnergy(25*GeV); + thePro->RegisterMe(theBertiniPro=new G4BertiniProtonBuilder); - theLHEPPro->SetMinEnergy(9.5*GeV); theBertiniPro->SetMaxEnergy(9.9*GeV); - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder); + thePion=new G4PionBuilder; + thePion->RegisterMe(theQGSPPion=new G4QGSPPionBuilder(QuasiElastic)); + thePion->RegisterMe(theLEPPion=new G4LEPPionBuilder); + theLEPPion->SetMaxEnergy(25*GeV); + theLEPPion->SetMinEnergy(9.5*GeV); + + thePion->RegisterMe(theBertiniPion=new G4BertiniPionBuilder); + theBertiniPion->SetMaxEnergy(9.9*GeV); + + G4int verbosity(0); + theKaon=new G4ChipsKaonBuilder(verbosity); // is self contained, use G4QInelastic - theMiscLHEP=new G4MiscLHEPBuilder; + theMiscCHIPS=new G4MiscCHIPSBuilder; } -HadronPhysicsLHEP_BERT_HP::~HadronPhysicsLHEP_BERT_HP() +HadronPhysicsQGSP_BERT_CHIPS::~HadronPhysicsQGSP_BERT_CHIPS() { - delete theNeutrons; - delete theLHEPNeutron; - delete theBertiniNeutron; - delete theHPNeutron; - - delete thePiK; - delete theLHEPPiK; - - delete thePro; - delete theLHEPPro; - delete theBertiniPro; - - delete theMiscLHEP; + delete theMiscCHIPS; + delete theQGSPNeutron; + delete theLEPNeutron; + delete theBertiniNeutron; + delete theQGSPPro; + delete theLEPPro; + delete thePro; + delete theBertiniPro; + delete theQGSPPion; + delete theLEPPion; + delete theBertiniPion; + delete thePion; + delete theKaon; } -void HadronPhysicsLHEP_BERT_HP::ConstructParticle() +void HadronPhysicsQGSP_BERT_CHIPS::ConstructParticle() { G4MesonConstructor pMesonConstructor; pMesonConstructor.ConstructParticle(); @@ -107,12 +131,13 @@ void HadronPhysicsLHEP_BERT_HP::ConstructParticle() } #include "G4ProcessManager.hh" -void HadronPhysicsLHEP_BERT_HP::ConstructProcess() +void HadronPhysicsQGSP_BERT_CHIPS::ConstructProcess() { CreateModels(); theNeutrons->Build(); thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} + thePion->Build(); + theKaon->Build(); // has CHIPS cross sections for Kaons + theMiscCHIPS->Build(); +} diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_HP.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_HP.cc index 80e922074e..d0ff8bb17f 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_HP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_HP.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BERT_HP.cc,v 1.2 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP_BERT_HP.cc,v 1.3 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -52,6 +52,11 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsQGSP_BERT_HP::HadronPhysicsQGSP_BERT_HP(G4int) + : G4VPhysicsConstructor("hInelastic QGSP_BERT_HP") + , QuasiElastic(true) +{} + HadronPhysicsQGSP_BERT_HP::HadronPhysicsQGSP_BERT_HP(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {} diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_NOLEP.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_NOLEP.cc index d5afe03e29..e1c0d6995a 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_NOLEP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_NOLEP.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BERT_NOLEP.cc,v 1.1 2008/10/17 12:43:21 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsQGSP_BERT_NOLEP.cc,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -49,6 +49,13 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsQGSP_BERT_NOLEP::HadronPhysicsQGSP_BERT_NOLEP(G4int) + : G4VPhysicsConstructor("hInelastic QGSP_BERT_NOLEP") + , QuasiElastic(true) +{ + ProjectileDiffraction=false; +} + HadronPhysicsQGSP_BERT_NOLEP::HadronPhysicsQGSP_BERT_NOLEP(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) { diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_TRV.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_TRV.cc index 92be7044fd..72cc066287 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_TRV.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_TRV.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BERT_TRV.cc,v 1.2 2009/11/27 17:27:38 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsQGSP_BERT_TRV.cc,v 1.3 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -50,6 +50,11 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsQGSP_BERT_TRV::HadronPhysicsQGSP_BERT_TRV(G4int) + : G4VPhysicsConstructor("hInelastic QGSP_BERT_TRV") + , QuasiElastic(true) +{} + HadronPhysicsQGSP_BERT_TRV::HadronPhysicsQGSP_BERT_TRV(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {} diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC.cc index 720fc33467..6af8d32225 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BIC.cc,v 1.2 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP_BIC.cc,v 1.3 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -51,6 +51,11 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsQGSP_BIC::HadronPhysicsQGSP_BIC(G4int) + : G4VPhysicsConstructor("hInelastic QGSP_BIC") + , QuasiElastic(true) +{} + HadronPhysicsQGSP_BIC::HadronPhysicsQGSP_BIC(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {} diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC_HP.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC_HP.cc index 3500d5b604..01c6528473 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC_HP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC_HP.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_BIC_HP.cc,v 1.3 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGSP_BIC_HP.cc,v 1.4 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -51,6 +51,11 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsQGSP_BIC_HP::HadronPhysicsQGSP_BIC_HP(G4int) + : G4VPhysicsConstructor("hInelastic QGSP_BIC_HP") + , QuasiElastic(true) +{} + HadronPhysicsQGSP_BIC_HP::HadronPhysicsQGSP_BIC_HP(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {} diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_FTFP_BERT.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_FTFP_BERT.cc index 2e53240276..1ac606aa5b 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_FTFP_BERT.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_FTFP_BERT.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_FTFP_BERT.cc,v 1.1 2009/04/23 19:04:18 japost Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsQGSP_FTFP_BERT.cc,v 1.4 2010/06/19 11:12:46 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -47,8 +47,19 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" -HadronPhysicsQGSP_FTFP_BERT::HadronPhysicsQGSP_FTFP_BERT(const G4String& name, G4bool quasiElastic) - : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) +#include "G4QHadronInelasticDataSet.hh" + +HadronPhysicsQGSP_FTFP_BERT::HadronPhysicsQGSP_FTFP_BERT(G4int) + : G4VPhysicsConstructor("hInelastic QGSP_FTFP_BERT") + , QuasiElastic(true) +{ + ProjectileDiffraction=false; +} + +HadronPhysicsQGSP_FTFP_BERT::HadronPhysicsQGSP_FTFP_BERT(const G4String&, + G4bool quasiElastic) + : G4VPhysicsConstructor("hInelastic QGSP_FTFP_BERT"), + QuasiElastic(quasiElastic) { ProjectileDiffraction=false; } @@ -111,15 +122,16 @@ void HadronPhysicsQGSP_FTFP_BERT::CreateModels() thePiK->RegisterMe(theBertiniPiK=new G4BertiniPiKBuilder); theBertiniPiK->SetMaxEnergy(maxBERT); // was (9.9*GeV); - theMiscLHEP=new G4MiscLHEPBuilder; + theMiscCHIPS=new G4MiscCHIPSBuilder; } HadronPhysicsQGSP_FTFP_BERT::~HadronPhysicsQGSP_FTFP_BERT() { - delete theMiscLHEP; + delete theMiscCHIPS; delete theQGSPNeutron; delete theFTFPNeutron; delete theBertiniNeutron; + delete theNeutrons; delete theQGSPPro; delete theFTFPPro; delete thePro; @@ -128,6 +140,7 @@ HadronPhysicsQGSP_FTFP_BERT::~HadronPhysicsQGSP_FTFP_BERT() delete theFTFPPiK; delete theBertiniPiK; delete thePiK; + delete theCHIPSInelastic; } void HadronPhysicsQGSP_FTFP_BERT::ConstructParticle() @@ -149,6 +162,33 @@ void HadronPhysicsQGSP_FTFP_BERT::ConstructProcess() theNeutrons->Build(); thePro->Build(); thePiK->Build(); - theMiscLHEP->Build(); + // use CHIPS cross sections also for Kaons + theCHIPSInelastic = new G4QHadronInelasticDataSet(); + + FindInelasticProcess(G4KaonMinus::KaonMinus())->AddDataSet(theCHIPSInelastic); + FindInelasticProcess(G4KaonPlus::KaonPlus())->AddDataSet(theCHIPSInelastic); + FindInelasticProcess(G4KaonZeroShort::KaonZeroShort())->AddDataSet(theCHIPSInelastic); + FindInelasticProcess(G4KaonZeroLong::KaonZeroLong())->AddDataSet(theCHIPSInelastic); + + theMiscCHIPS->Build(); } + +G4HadronicProcess* +HadronPhysicsQGSP_FTFP_BERT::FindInelasticProcess(const G4ParticleDefinition* p) +{ + G4HadronicProcess* had = 0; + if(p) { + G4ProcessVector* pvec = p->GetProcessManager()->GetProcessList(); + size_t n = pvec->size(); + if(0 < n) { + for(size_t i=0; iGetProcessSubType()) { + had = static_cast((*pvec)[i]); + break; + } + } + } + } + return had; +} diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_INCL_ABLA.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_INCL_ABLA.cc index 60001e28ae..e00787b2a4 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_INCL_ABLA.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_INCL_ABLA.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGSP_INCL_ABLA.cc,v 1.1 2009/07/19 18:24:03 kaitanie Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: HadronPhysicsQGSP_INCL_ABLA.cc,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -53,6 +53,13 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsQGSP_INCL_ABLA::HadronPhysicsQGSP_INCL_ABLA(G4int) + : G4VPhysicsConstructor("hInelastic QGSP_INCL_ABLA") + , QuasiElastic(true) +{ + ProjectileDiffraction=false; +} + HadronPhysicsQGSP_INCL_ABLA::HadronPhysicsQGSP_INCL_ABLA(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) { diff --git a/source/physics_lists/lists/src/HadronPhysicsQGS_BIC.cc b/source/physics_lists/lists/src/HadronPhysicsQGS_BIC.cc index a2c8c59c5d..8a0f0cb207 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGS_BIC.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGS_BIC.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsQGS_BIC.cc,v 1.1 2007/11/13 10:23:24 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: HadronPhysicsQGS_BIC.cc,v 1.2 2010/06/03 10:42:44 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------------------- // @@ -49,6 +49,11 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" +HadronPhysicsQGS_BIC::HadronPhysicsQGS_BIC(G4int) + : G4VPhysicsConstructor("hInelastic QGS_BIC") + , QuasiElastic(true) +{} + HadronPhysicsQGS_BIC::HadronPhysicsQGS_BIC(const G4String& name, G4bool quasiElastic) : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {} diff --git a/source/physics_lists/lists/src/HadronPhysicsShielding.cc b/source/physics_lists/lists/src/HadronPhysicsShielding.cc new file mode 100644 index 0000000000..12defe7f9a --- /dev/null +++ b/source/physics_lists/lists/src/HadronPhysicsShielding.cc @@ -0,0 +1,173 @@ +// +// ******************************************************************** +// * 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: HadronPhysicsShielding.cc,v 1.1 2010/06/08 16:06:18 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: +// +// Author: 2010 Tatsumi Koi, Gunter Folger +// created from HadronPhysicsFTFP_BERT +// +// Modified: +// +//---------------------------------------------------------------------------- +// +#include "HadronPhysicsShielding.hh" + +#include "globals.hh" +#include "G4ios.hh" +#include +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" + +#include "G4MesonConstructor.hh" +#include "G4BaryonConstructor.hh" +#include "G4ShortLivedConstructor.hh" + +#include "G4QHadronInelasticDataSet.hh" +#include "G4BGGNucleonInelasticXS.hh" +#include "G4NeutronHPJENDLHEInelasticData.hh" +HadronPhysicsShielding::HadronPhysicsShielding(G4int) + : G4VPhysicsConstructor("hInelastic Shielding") + , QuasiElastic(false) +{} + +HadronPhysicsShielding::HadronPhysicsShielding(const G4String& name, G4bool quasiElastic) + : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) +{} + +void HadronPhysicsShielding::CreateModels() +{ + + theNeutrons=new G4NeutronBuilder; + theFTFPNeutron=new G4FTFPNeutronBuilder(QuasiElastic); + theNeutrons->RegisterMe(theFTFPNeutron); + theNeutrons->RegisterMe(theBertiniNeutron=new G4BertiniNeutronBuilder); + theBertiniNeutron->SetMinEnergy(19.9*MeV); + theBertiniNeutron->SetMaxEnergy(5*GeV); + theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); + theLEPNeutron->SetMinEnergy(19.9*MeV); + theLEPNeutron->SetMinInelasticEnergy(0.0*eV); // no inelastic from LEP + theLEPNeutron->SetMaxInelasticEnergy(0.0*eV); + + theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder); + + thePro=new G4ProtonBuilder; + theFTFPPro=new G4FTFPProtonBuilder(QuasiElastic); + thePro->RegisterMe(theFTFPPro); + thePro->RegisterMe(theBertiniPro=new G4BertiniProtonBuilder); + theBertiniPro->SetMaxEnergy(5*GeV); + + thePiK=new G4PiKBuilder; + theFTFPPiK=new G4FTFPPiKBuilder(QuasiElastic); + thePiK->RegisterMe(theFTFPPiK); + thePiK->RegisterMe(theBertiniPiK=new G4BertiniPiKBuilder); + theBertiniPiK->SetMaxEnergy(5*GeV); + + theMiscCHIPS=new G4MiscCHIPSBuilder; +} + +HadronPhysicsShielding::~HadronPhysicsShielding() +{ + delete theNeutrons; + delete theBertiniNeutron; + delete theFTFPNeutron; + delete theHPNeutron; + + delete thePiK; + delete theBertiniPiK; + delete theFTFPPiK; + + delete thePro; + delete theBertiniPro; + delete theFTFPPro; + + delete theMiscCHIPS; + delete theCHIPSInelastic; + delete BGGxsNeutron; + delete NeutronHPJENDLHEInelastic; + delete BGGxsProton; +} + +void HadronPhysicsShielding::ConstructParticle() +{ + G4MesonConstructor pMesonConstructor; + pMesonConstructor.ConstructParticle(); + + G4BaryonConstructor pBaryonConstructor; + pBaryonConstructor.ConstructParticle(); + + G4ShortLivedConstructor pShortLivedConstructor; + pShortLivedConstructor.ConstructParticle(); +} + +#include "G4ProcessManager.hh" +void HadronPhysicsShielding::ConstructProcess() +{ + CreateModels(); + theNeutrons->Build(); + BGGxsNeutron=new G4BGGNucleonInelasticXS(G4Neutron::Neutron()); + FindInelasticProcess(G4Neutron::Neutron())->AddDataSet(BGGxsNeutron); + + NeutronHPJENDLHEInelastic=new G4NeutronHPJENDLHEInelasticData; + FindInelasticProcess(G4Neutron::Neutron())->AddDataSet(NeutronHPJENDLHEInelastic); + + thePro->Build(); + BGGxsProton=new G4BGGNucleonInelasticXS(G4Proton::Proton()); + FindInelasticProcess(G4Proton::Proton())->AddDataSet(BGGxsProton); + + thePiK->Build(); + // use CHIPS cross sections also for Kaons + theCHIPSInelastic = new G4QHadronInelasticDataSet(); + + FindInelasticProcess(G4KaonMinus::KaonMinus())->AddDataSet(theCHIPSInelastic); + FindInelasticProcess(G4KaonPlus::KaonPlus())->AddDataSet(theCHIPSInelastic); + FindInelasticProcess(G4KaonZeroShort::KaonZeroShort())->AddDataSet(theCHIPSInelastic); + FindInelasticProcess(G4KaonZeroLong::KaonZeroLong())->AddDataSet(theCHIPSInelastic); + + theMiscCHIPS->Build(); +} +G4HadronicProcess* +HadronPhysicsShielding::FindInelasticProcess(const G4ParticleDefinition* p) +{ + G4HadronicProcess* had = 0; + if(p) { + G4ProcessVector* pvec = p->GetProcessManager()->GetProcessList(); + size_t n = pvec->size(); + if(0 < n) { + for(size_t i=0; iGetProcessSubType()) { + had = static_cast((*pvec)[i]); + break; + } + } + } + } + return had; +} + diff --git a/source/physics_lists/lists/src/QBBC.cc b/source/physics_lists/lists/src/QBBC.cc index 984ec72255..1c6a0fe878 100644 --- a/source/physics_lists/lists/src/QBBC.cc +++ b/source/physics_lists/lists/src/QBBC.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QBBC.cc,v 1.4 2009/11/28 17:35:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: QBBC.cc,v 1.10 2010/11/19 19:50:15 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -52,15 +52,17 @@ #include "G4DataQuestionaire.hh" #include "G4HadronInelasticQBBC.hh" #include "G4HadronElasticPhysics.hh" +#include "G4HadronElasticPhysics93.hh" +#include "G4HadronElasticPhysicsXS.hh" +#include "G4HadronElasticPhysicsHP.hh" #include "G4HadronDElasticPhysics.hh" -#include "G4HadronHElasticPhysics.hh" #include "G4ChargeExchangePhysics.hh" #include "G4IonBinaryCascadePhysics.hh" #include "G4NeutronTrackingCut.hh" QBBC::QBBC( G4int ver, const G4String& type ) { - G4DataQuestionaire it(photon, neutron); + G4DataQuestionaire it(photon, neutron, no, no, no, neutronxs); G4cout << "<<< Geant4 Physics List simulation engine: QBBC of type <" << type <<">" <GetTouchable()->GetReplicaNumber()); G4Nsplit_Weight nw = fWeightWindowAlgorithm.Calculate(aTrack.GetWeight(), - fWeightWindowStore.GetLowerWeitgh(postCell, + fWeightWindowStore.GetLowerWeight(postCell, aTrack.GetKineticEnergy())); fPostStepAction->DoIt(aTrack, fParticleChange, nw); } @@ -278,7 +278,7 @@ G4WeightWindowProcess::PostStepDoIt(const G4Track &aTrack, G4Nsplit_Weight nw = fWeightWindowAlgorithm.Calculate(aTrack.GetWeight(), - fWeightWindowStore.GetLowerWeitgh(postCell, + fWeightWindowStore.GetLowerWeight(postCell, aTrack.GetKineticEnergy())); fPostStepAction->DoIt(aTrack, fParticleChange, nw); } diff --git a/source/processes/cuts/CMakeLists.txt b/source/processes/cuts/CMakeLists.txt new file mode 100644 index 0000000000..a30ddee2d9 --- /dev/null +++ b/source/processes/cuts/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4cuts +# Package: Geant4.src.G4processes.G4cuts +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:51:51 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/cuts/History b/source/processes/cuts/History index 274d03edc8..8188dd8e10 100644 --- a/source/processes/cuts/History +++ b/source/processes/cuts/History @@ -1,4 +1,4 @@ -$Id: History,v 1.33 2009/11/12 00:20:03 kurasige Exp $ +$Id: History,v 1.35 2010/10/07 15:33:46 kurasige Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,12 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Oct. 7th, 2010 - H.Kurashige (procuts-V09-03-01) +- Fixed a possible memory leak soource + +Jan. 22th, 2010 - H.Kurashige (procuts-V09-03-00) +- Fixed G4ProductionCutTable to solve problems with zero range for protons + Nov. 12th, 2009 - H.Kurashige (procuts-V09-02-08) - Correfct spelling of /cuts/setMaxCutEnergy command diff --git a/source/processes/cuts/sources.cmake b/source/processes/cuts/sources.cmake new file mode 100644 index 0000000000..24021fc1fb --- /dev/null +++ b/source/processes/cuts/sources.cmake @@ -0,0 +1,76 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4cuts +# Package: Geant4.src.G4processes.G4cuts +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:52:00 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4cuts + HEADERS + G4MCCIndexConversionTable.hh + G4MaterialCutsCouple.hh + G4PhysicsTableHelper.hh + G4ProductionCuts.hh + G4ProductionCutsTable.hh + G4ProductionCutsTableMessenger.hh + G4RToEConvForElectron.hh + G4RToEConvForGamma.hh + G4RToEConvForPositron.hh + G4RToEConvForProton.hh + G4VRangeToEnergyConverter.hh + SOURCES + G4MCCIndexConversionTable.cc + G4MaterialCutsCouple.cc + G4PhysicsTableHelper.cc + G4ProductionCuts.cc + G4ProductionCutsTable.cc + G4ProductionCutsTableMessenger.cc + G4RToEConvForElectron.cc + G4RToEConvForGamma.cc + G4RToEConvForPositron.cc + G4RToEConvForProton.cc + G4VRangeToEnergyConverter.cc + GRANULAR_DEPENDENCIES + G4geometrymng + G4globman + G4intercoms + G4materials + G4partman + G4procman + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/cuts/src/G4PhysicsTableHelper.cc b/source/processes/cuts/src/G4PhysicsTableHelper.cc index cc77f3af4c..d48f8648ec 100644 --- a/source/processes/cuts/src/G4PhysicsTableHelper.cc +++ b/source/processes/cuts/src/G4PhysicsTableHelper.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PhysicsTableHelper.cc,v 1.6 2009/08/01 07:57:13 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicsTableHelper.cc,v 1.7 2010/10/07 15:27:56 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -142,6 +142,7 @@ G4bool G4PhysicsTableHelper::RetrievePhysicsTable(G4PhysicsTable* physTable, G4cerr << "Fail to retreive from "<< fileName << G4endl; } #endif + delete tempTable; return false; } @@ -160,6 +161,7 @@ G4bool G4PhysicsTableHelper::RetrievePhysicsTable(G4PhysicsTable* physTable, G4cerr << G4endl; } #endif + delete tempTable; return false; } diff --git a/source/processes/cuts/src/G4ProductionCutsTable.cc b/source/processes/cuts/src/G4ProductionCutsTable.cc index 228884284a..48ca7579b3 100644 --- a/source/processes/cuts/src/G4ProductionCutsTable.cc +++ b/source/processes/cuts/src/G4ProductionCutsTable.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ProductionCutsTable.cc,v 1.25 2009/11/11 03:20:22 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ProductionCutsTable.cc,v 1.27 2010/01/22 11:10:26 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // -------------------------------------------------------------- @@ -251,9 +251,9 @@ void G4ProductionCutsTable::UpdateCoupleTable(G4VPhysicalVolume* currentWorld) } if (verboseLevel>2) { timer.Stop(); - std::cout << "G4ProductionCutsTable::UpdateCoupleTable " + G4cout << "G4ProductionCutsTable::UpdateCoupleTable " << " elapsed time for calculation of energy cuts " << G4endl; - std::cout << timer <GetProductionCuts(); G4bool fRatio = true; for (size_t j=0; j< NumberOfG4CutIndex; j++) { - G4double ratio = cutValues[j]/aCut->GetProductionCut(j); - fRatio = fRatio && (0.999GetProductionCut(j)) { + G4double ratio = cutValues[j]/aCut->GetProductionCut(j); + fRatio = fRatio && (0.999GetDefinition(); + const G4ParticleDefinition* aParticleDef = aParticle->GetDefinition(); G4double aLife = aParticleDef->GetPDGLifeTime(); // check if the particle is stable? @@ -126,7 +127,7 @@ G4double G4Decay::GetMeanFreePath(const G4Track& aTrack,G4double, G4ForceConditi { // get particle const G4DynamicParticle* aParticle = aTrack.GetDynamicParticle(); - G4ParticleDefinition* aParticleDef = aParticle->GetDefinition(); + const G4ParticleDefinition* aParticleDef = aParticle->GetDefinition(); G4double aMass = aParticle->GetMass(); G4double aLife = aParticleDef->GetPDGLifeTime(); @@ -185,7 +186,7 @@ G4VParticleChange* G4Decay::DecayIt(const G4Track& aTrack, const G4Step& ) // get particle const G4DynamicParticle* aParticle = aTrack.GetDynamicParticle(); - G4ParticleDefinition* aParticleDef = aParticle->GetDefinition(); + const G4ParticleDefinition* aParticleDef = aParticle->GetDefinition(); // check if the particle is stable if (aParticleDef->GetPDGStable()) return &fParticleChangeForDecay ; diff --git a/source/processes/decay/src/G4DecayWithSpin.cc b/source/processes/decay/src/G4DecayWithSpin.cc index 13c3a917f1..23619dd5d8 100644 --- a/source/processes/decay/src/G4DecayWithSpin.cc +++ b/source/processes/decay/src/G4DecayWithSpin.cc @@ -61,7 +61,7 @@ G4VParticleChange* G4DecayWithSpin::DecayIt(const G4Track& aTrack, const G4Step& // get particle const G4DynamicParticle* aParticle = aTrack.GetDynamicParticle(); - G4ParticleDefinition* aParticleDef = aParticle->GetDefinition(); + const G4ParticleDefinition* aParticleDef = aParticle->GetDefinition(); // get parent_polarization G4ThreeVector parent_polarization = aParticle->GetPolarization(); diff --git a/source/processes/decay/src/G4PionDecayMakeSpin.cc b/source/processes/decay/src/G4PionDecayMakeSpin.cc index 22a21135b2..889797ca82 100644 --- a/source/processes/decay/src/G4PionDecayMakeSpin.cc +++ b/source/processes/decay/src/G4PionDecayMakeSpin.cc @@ -95,7 +95,7 @@ void G4PionDecayMakeSpin::DaughterPolarization(const G4Track& aTrack, for (G4int index=0; index < numberOfSecondaries; index++) { G4DynamicParticle* aSecondary = (*products)[index]; - G4ParticleDefinition* aSecondaryDef = aSecondary->GetDefinition(); + const G4ParticleDefinition* aSecondaryDef = aSecondary->GetDefinition(); if (aSecondaryDef == aMuonPlus || aSecondaryDef == aMuonMinus ) { diff --git a/source/processes/electromagnetic/CMakeLists.txt b/source/processes/electromagnetic/CMakeLists.txt new file mode 100644 index 0000000000..3d0adff94d --- /dev/null +++ b/source/processes/electromagnetic/CMakeLists.txt @@ -0,0 +1,23 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4electromagnetic +# Package: Geant4.src.G4processes.G4electromagnetic +# +# Intermediate level CMakeLists.txt - just process subdirectories +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.2 2010/11/19 08:39:52 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(adjoint) +add_subdirectory(highenergy) +add_subdirectory(lowenergy) +add_subdirectory(muons) +add_subdirectory(pii) +add_subdirectory(polarisation) +add_subdirectory(standard) +add_subdirectory(utils) +add_subdirectory(xrays) + diff --git a/source/processes/electromagnetic/GNUmakefile b/source/processes/electromagnetic/GNUmakefile index 07a08924c5..9b56b6ae08 100644 --- a/source/processes/electromagnetic/GNUmakefile +++ b/source/processes/electromagnetic/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.7 2008/11/14 19:54:40 gcosmo Exp $ +# $Id: GNUmakefile,v 1.9 2010/11/19 08:44:20 gcosmo Exp $ # ------------------------------------------------------------------ # GNUmakefile for electromagnetic library. Gabriele Cosmo, 18/9/96. # ------------------------------------------------------------------ @@ -7,8 +7,8 @@ MAKEFLAGS= --no-print-directory name := G4electromagnetic -SUBDIRS = muons standard utils xrays lowenergy highenergy adjoint polarisation -SUBLIBS = G4muons G4emstandard G4emutils G4xrays G4emlowenergy G4emhighenergy G4emadjoint G4polar +SUBDIRS = muons standard utils xrays lowenergy highenergy adjoint polarisation pii +SUBLIBS = G4muons G4emstandard G4emutils G4xrays G4emlowenergy G4emhighenergy G4emadjoint G4empolar G4empii ifndef G4INSTALL G4INSTALL = ../../.. diff --git a/source/processes/electromagnetic/adjoint/CMakeLists.txt b/source/processes/electromagnetic/adjoint/CMakeLists.txt new file mode 100644 index 0000000000..836deacf2b --- /dev/null +++ b/source/processes/electromagnetic/adjoint/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4emadjoint +# Package: Geant4.src.G4processes.G4electromagnetic.G4emadjoint +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:52:32 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/electromagnetic/adjoint/History b/source/processes/electromagnetic/adjoint/History index 5f43fc867d..e721614656 100644 --- a/source/processes/electromagnetic/adjoint/History +++ b/source/processes/electromagnetic/adjoint/History @@ -1,4 +1,4 @@ -$Id: History,v 1.5 2009/11/23 09:02:35 gcosmo Exp $ +$Id: History,v 1.8 2010/11/11 11:51:56 ldesorgh Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,23 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +11 Nov 2010: L. Desorgher (emadjoint-V09-03-02) +-G4AdjointBremsstrahlungModel: add a G4EmModelManager to initialise properly, + the G4eBremsstrahlungModel used as forward model. This allows to fix the + floating point exception detected when compiling with G4FPE_DEBUG=1. +-G4AdjointhIonisation: + Remove a negative term in the expression of the adjoint + cross section (AdjointCrossSection method) and adapt the RapidSampleSecondaries method. +-G4VEmAdjointModel: + Add a check on null cross section to avoid FPE. + +3 Sep 2010: G.Cosmo (emadjoint-V09-03-01) +- G4AdjointAlongStepWeightCorrection: get rid of call to non-Standard isnan(), + replaced by explicit validity test. + +12 Apr 2010: V.Ivanchenko (emadjoint-V09-03-00) +- G4AdjointhMultipleScattering: removed obsolete unused header. + 23 Nov 2009: G.Cosmo (emadjoint-V09-02-02) - Corrected compilation error on Windows for G4AdjointAlongStepWeightCorrection. diff --git a/source/processes/electromagnetic/adjoint/include/G4AdjointBremsstrahlungModel.hh b/source/processes/electromagnetic/adjoint/include/G4AdjointBremsstrahlungModel.hh index 888f6be27b..de95587fc3 100644 --- a/source/processes/electromagnetic/adjoint/include/G4AdjointBremsstrahlungModel.hh +++ b/source/processes/electromagnetic/adjoint/include/G4AdjointBremsstrahlungModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointBremsstrahlungModel.hh,v 1.4 2009/11/20 10:31:20 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointBremsstrahlungModel.hh,v 1.5 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////////////// // Class: G4AdjointBremsstrahlungModel @@ -59,7 +59,7 @@ #include "G4eBremsstrahlungModel.hh" //#include "G4PenelopeBremsstrahlungModel.hh" #include "G4PhysicsTable.hh" -//#include "G4EmModelManager.hh" +#include "G4EmModelManager.hh" class G4Timer; class G4AdjointBremsstrahlungModel: public G4VEmAdjointModel @@ -91,14 +91,19 @@ public: ); virtual G4double AdjointCrossSection(const G4MaterialCutsCouple* aCouple, G4double primEnergy, - G4bool IsScatProjToProjCase); + G4bool IsScatProjToProjCase); + virtual G4double GetAdjointCrossSection(const G4MaterialCutsCouple* aCouple, + G4double primEnergy, + G4bool IsScatProjToProjCase); // private void InitialiseFwdModels(); -private: +private: G4eBremsstrahlungModel* theDirectStdBremModel; + G4EmModelManager* theEmModelManagerForFwdModels; + G4bool isDirectModelInitialised ; //G4PenelopeBremsstrahlungModel* theDirectPenelopeBremModel; diff --git a/source/processes/electromagnetic/adjoint/include/G4AdjointCSManager.hh b/source/processes/electromagnetic/adjoint/include/G4AdjointCSManager.hh index 5828257d7c..03256f6716 100644 --- a/source/processes/electromagnetic/adjoint/include/G4AdjointCSManager.hh +++ b/source/processes/electromagnetic/adjoint/include/G4AdjointCSManager.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointCSManager.hh,v 1.4 2009/11/20 10:31:20 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointCSManager.hh,v 1.5 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////////////// // Class: G4AdjointCSManager @@ -79,7 +79,7 @@ class G4AdjointCSManager //Registration of the different models and processes - void RegisterEmAdjointModel(G4VEmAdjointModel*); + size_t RegisterEmAdjointModel(G4VEmAdjointModel*); void RegisterEmProcess(G4VEmProcess* aProcess, G4ParticleDefinition* aPartDef); @@ -101,6 +101,8 @@ class G4AdjointCSManager G4double GetTotalForwardCS(G4ParticleDefinition* aPartDef, G4double Ekin, const G4MaterialCutsCouple* aCouple); + G4double GetAdjointSigma(G4double Ekin_nuc, size_t index_model,G4bool is_scat_proj_to_proj, + const G4MaterialCutsCouple* aCouple); void GetEminForTotalCS(G4ParticleDefinition* aPartDef, const G4MaterialCutsCouple* aCouple, G4double& emin_adj, G4double& emin_fwd); @@ -205,8 +207,13 @@ class G4AdjointCSManager std::vector< std::vector > EminForAdjSigmaTables; std::vector< std::vector > EkinofFwdSigmaMax; std::vector< std::vector > EkinofAdjSigmaMax; + G4bool TotalSigmaTableAreBuilt; + //Sigma tavle for each G4VAdjointEMModel + std::vector listSigmaTableForAdjointModelScatProjToProj; + std::vector listSigmaTableForAdjointModelProdToProj; + //list of forward G4VEMLossProcess and of G4VEMProcess for the different adjoint particle @@ -265,6 +272,7 @@ class G4AdjointCSManager void DefineCurrentMaterial(const G4MaterialCutsCouple* couple); void DefineCurrentParticle(const G4ParticleDefinition* aPartDef); G4double ComputeAdjointCS(G4double aPrimEnergy, G4AdjointCSMatrix* anAdjointCSMatrix, G4double Tcut); + size_t eindex; }; #endif diff --git a/source/processes/electromagnetic/adjoint/include/G4AdjointComptonModel.hh b/source/processes/electromagnetic/adjoint/include/G4AdjointComptonModel.hh index 8f37cd7525..c0a6b8ad3e 100644 --- a/source/processes/electromagnetic/adjoint/include/G4AdjointComptonModel.hh +++ b/source/processes/electromagnetic/adjoint/include/G4AdjointComptonModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointComptonModel.hh,v 1.5 2009/11/20 10:31:20 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointComptonModel.hh,v 1.6 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////////////// // Class: G4AdjointComptonModel @@ -86,6 +86,10 @@ public: virtual G4double AdjointCrossSection(const G4MaterialCutsCouple* aCouple, G4double primEnergy, G4bool IsScatProjToProjCase); + + virtual G4double GetAdjointCrossSection(const G4MaterialCutsCouple* aCouple, + G4double primEnergy, + G4bool IsScatProjToProjCase); diff --git a/source/processes/electromagnetic/adjoint/include/G4AdjointPhotoElectricModel.hh b/source/processes/electromagnetic/adjoint/include/G4AdjointPhotoElectricModel.hh index d69daf3e07..9cef5acbf4 100644 --- a/source/processes/electromagnetic/adjoint/include/G4AdjointPhotoElectricModel.hh +++ b/source/processes/electromagnetic/adjoint/include/G4AdjointPhotoElectricModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointPhotoElectricModel.hh,v 1.4 2009/11/20 10:31:20 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointPhotoElectricModel.hh,v 1.5 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////////////// // Module: G4AdjointPhotoElectricModel @@ -76,6 +76,9 @@ public: virtual G4double AdjointCrossSection(const G4MaterialCutsCouple* aCouple, G4double primEnergy, G4bool IsScatProjToProjCase); + virtual G4double GetAdjointCrossSection(const G4MaterialCutsCouple* aCouple, + G4double primEnergy, + G4bool IsScatProjToProjCase); G4double AdjointCrossSectionPerAtom(const G4Element* anElement,G4double electronEnergy); diff --git a/source/processes/electromagnetic/adjoint/include/G4ContinuousGainOfEnergy.hh b/source/processes/electromagnetic/adjoint/include/G4ContinuousGainOfEnergy.hh index 451291dbe2..35fbab8bc9 100644 --- a/source/processes/electromagnetic/adjoint/include/G4ContinuousGainOfEnergy.hh +++ b/source/processes/electromagnetic/adjoint/include/G4ContinuousGainOfEnergy.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ContinuousGainOfEnergy.hh,v 1.4 2009/11/20 10:31:20 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ContinuousGainOfEnergy.hh,v 1.5 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////////////// // Class: G4ContinuousGainOfEnergy @@ -161,6 +161,7 @@ private: G4VEmModel* currentModel; G4double preStepChargeSqRatio; G4double preStepScaledKinEnergy; + G4double preStepRange; diff --git a/source/processes/electromagnetic/adjoint/include/G4VEmAdjointModel.hh b/source/processes/electromagnetic/adjoint/include/G4VEmAdjointModel.hh index 38d2dead8f..d6e56a9893 100644 --- a/source/processes/electromagnetic/adjoint/include/G4VEmAdjointModel.hh +++ b/source/processes/electromagnetic/adjoint/include/G4VEmAdjointModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VEmAdjointModel.hh,v 1.4 2009/11/20 10:31:20 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VEmAdjointModel.hh,v 1.5 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////////////// // Module: G4VEMAdjointModel @@ -98,6 +98,10 @@ public: // public methods virtual G4double AdjointCrossSection(const G4MaterialCutsCouple* aCouple, G4double primEnergy, G4bool IsScatProjToProjCase); + + virtual G4double GetAdjointCrossSection(const G4MaterialCutsCouple* aCouple, + G4double primEnergy, + G4bool IsScatProjToProjCase); virtual G4double DiffCrossSectionPerAtomPrimToSecond( G4double kinEnergyProj, // kinetic energy of the primary particle before the interaction @@ -313,8 +317,10 @@ protected: //attributes - - + //For ions + //--------- + G4double mass_ratio_product; + G4double mass_ratio_projectile; //Energy limits @@ -341,6 +347,8 @@ protected: //attributes //------------ size_t indexOfUsedCrossSectionMatrix; + size_t model_index; + diff --git a/source/processes/electromagnetic/adjoint/sources.cmake b/source/processes/electromagnetic/adjoint/sources.cmake new file mode 100644 index 0000000000..3be4461b1d --- /dev/null +++ b/source/processes/electromagnetic/adjoint/sources.cmake @@ -0,0 +1,125 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4emadjoint +# Package: Geant4.src.G4processes.G4electromagnetic.G4emadjoint +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:52:40 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/adjoint/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/standard/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4emadjoint + HEADERS + G4AdjointAlongStepWeightCorrection.hh + G4AdjointBremsstrahlungModel.hh + G4AdjointCSManager.hh + G4AdjointCSMatrix.hh + G4AdjointComptonModel.hh + G4AdjointInterpolator.hh + G4AdjointIonIonisationModel.hh + G4AdjointPhotoElectricModel.hh + G4AdjointProcessEquivalentToDirectProcess.hh + G4AdjointeIonisationModel.hh + G4AdjointhIonisationModel.hh + G4AdjointhMultipleScattering.hh + G4ContinuousGainOfEnergy.hh + G4InversePEEffect.hh + G4IonInverseIonisation.hh + G4VAdjointReverseReaction.hh + G4VEmAdjointModel.hh + G4eInverseBremsstrahlung.hh + G4eInverseCompton.hh + G4eInverseIonisation.hh + G4hInverseIonisation.hh + SOURCES + G4AdjointAlongStepWeightCorrection.cc + G4AdjointBremsstrahlungModel.cc + G4AdjointCSManager.cc + G4AdjointCSMatrix.cc + G4AdjointComptonModel.cc + G4AdjointInterpolator.cc + G4AdjointIonIonisationModel.cc + G4AdjointPhotoElectricModel.cc + G4AdjointProcessEquivalentToDirectProcess.cc + G4AdjointeIonisationModel.cc + G4AdjointhIonisationModel.cc + G4AdjointhMultipleScattering.cc + G4ContinuousGainOfEnergy.cc + G4InversePEEffect.cc + G4IonInverseIonisation.cc + G4VAdjointReverseReaction.cc + G4VEmAdjointModel.cc + G4eInverseBremsstrahlung.cc + G4eInverseCompton.cc + G4eInverseIonisation.cc + G4hInverseIonisation.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4cuts + G4emstandard + G4emutils + G4geometrymng + G4globman + G4hepnumerics + G4intercoms + G4ions + G4leptons + G4materials + G4mesons + G4navigation + G4partadj + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/electromagnetic/adjoint/src/G4AdjointAlongStepWeightCorrection.cc b/source/processes/electromagnetic/adjoint/src/G4AdjointAlongStepWeightCorrection.cc index b4e665248e..6ce7de6079 100644 --- a/source/processes/electromagnetic/adjoint/src/G4AdjointAlongStepWeightCorrection.cc +++ b/source/processes/electromagnetic/adjoint/src/G4AdjointAlongStepWeightCorrection.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointAlongStepWeightCorrection.cc,v 1.5 2009/11/23 09:02:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointAlongStepWeightCorrection.cc,v 1.6 2010/09/03 14:33:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4AdjointAlongStepWeightCorrection.hh" #include "G4Step.hh" @@ -89,11 +89,7 @@ G4VParticleChange* G4AdjointAlongStepWeightCorrection::AlongStepDoIt(const G4Tra //When the new weight is 0 it will be later on consider as nan by G4. //Therefore we do put a lower limit of 1.e-300. for new_weight //Correction by L.Desorgher on 15 July 2009 -#ifdef WIN32 - if (!!_isnan(new_weight) || new_weight==0){ -#else - if (std::isnan(new_weight) || new_weight==0){ -#endif + if (new_weight==0 || (new_weight<=0 && new_weight>0)){ //G4cout<AddEmModel(1, theDirectStdBremModel, f, r); // theDirectPenelopeBremModel =0; SetApplyCutInRange(true); @@ -277,11 +282,11 @@ G4double G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecond(con G4double kinEnergyProj, // kinetic energy of the primary particle before the interaction G4double kinEnergyProd // kinetic energy of the secondary particle ) -{/*if (UsePenelopeModel && !isPenelopeModelInitialised) { - theEmModelManagerForFwdModels->Initialise(G4Electron::Electron(),G4Gamma::Gamma(),1.,0); - isPenelopeModelInitialised =true; - } - */ +{if (!isDirectModelInitialised) { + theEmModelManagerForFwdModels->Initialise(G4Electron::Electron(),G4Gamma::Gamma(),1.,0); + isDirectModelInitialised =true; + } + return DiffCrossSectionPerVolumePrimToSecondApproximated2(aMaterial, kinEnergyProj, kinEnergyProd); @@ -304,8 +309,8 @@ G4double G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecondAppr //In this approximation we consider that the secondary gammas are sampled with 1/Egamma energy distribution - //This is what is applied in the discrete standard model before the rejection test that make a cooerction - //The application of the same rejection function is not possble here. + //This is what is applied in the discrete standard model before the rejection test that make a correction + //The application of the same rejection function is not possible here. //The differentiation of the CS over Ecut does not produce neither a good differential CS. That is due to the // fact that in the discrete model the differential CS and the integrated CS are both fitted but separatly and // therefore do not allow a correct numerical differentiation of the integrated CS to get the differential one. @@ -364,11 +369,10 @@ G4double G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecondAppr G4double G4AdjointBremsstrahlungModel::AdjointCrossSection(const G4MaterialCutsCouple* aCouple, G4double primEnergy, G4bool IsScatProjToProjCase) -{/* if (UsePenelopeModel && !isPenelopeModelInitialised) { +{ if (!isDirectModelInitialised) { theEmModelManagerForFwdModels->Initialise(G4Electron::Electron(),G4Gamma::Gamma(),1.,0); - isPenelopeModelInitialised =true; + isDirectModelInitialised =true; } - */ if (UseMatrix) return G4VEmAdjointModel::AdjointCrossSection(aCouple,primEnergy,IsScatProjToProjCase); DefineCurrentMaterial(aCouple); G4double Cross=0.; @@ -388,7 +392,15 @@ G4double G4AdjointBremsstrahlungModel::AdjointCrossSection(const G4MaterialCutsC return Cross; } - +G4double G4AdjointBremsstrahlungModel::GetAdjointCrossSection(const G4MaterialCutsCouple* aCouple, + G4double primEnergy, + G4bool IsScatProjToProjCase) +{ + return AdjointCrossSection(aCouple, primEnergy,IsScatProjToProjCase); + lastCZ=theDirectEMModel->CrossSectionPerVolume(aCouple->GetMaterial(),theDirectPrimaryPartDef,100.*MeV,100.*MeV/std::exp(1.));//this give the constant above + return G4VEmAdjointModel::GetAdjointCrossSection(aCouple, primEnergy,IsScatProjToProjCase); + +} diff --git a/source/processes/electromagnetic/adjoint/src/G4AdjointCSManager.cc b/source/processes/electromagnetic/adjoint/src/G4AdjointCSManager.cc index 635f4c0386..c90cc2f027 100644 --- a/source/processes/electromagnetic/adjoint/src/G4AdjointCSManager.cc +++ b/source/processes/electromagnetic/adjoint/src/G4AdjointCSManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointCSManager.cc,v 1.5 2009/11/20 10:31:20 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointCSManager.cc,v 1.6 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4AdjointCSManager.hh" #include "G4AdjointCSMatrix.hh" @@ -67,6 +67,7 @@ G4AdjointCSManager* G4AdjointCSManager::GetAdjointCSManager() // G4AdjointCSManager::G4AdjointCSManager() { CrossSectionMatrixesAreBuilt=false; + TotalSigmaTableAreBuilt=false; theTotalForwardSigmaTableVector.clear(); theTotalAdjointSigmaTableVector.clear(); listOfForwardEmProcess.clear(); @@ -76,9 +77,11 @@ G4AdjointCSManager::G4AdjointCSManager() EminForAdjSigmaTables.clear(); EkinofFwdSigmaMax.clear(); EkinofAdjSigmaMax.clear(); + listSigmaTableForAdjointModelScatProjToProj.clear(); + listSigmaTableForAdjointModelProdToProj.clear(); Tmin=0.1*keV; Tmax=100.*TeV; - nbins=360; //probably this should be decrease, that was choosen to avoid error in the CS value closed to CS jump.(For example at Tcut) + nbins=320; //probably this should be decrease, that was choosen to avoid error in the CS value closed to CS jump.(For example at Tcut) RegisterAdjointParticle(G4AdjointElectron::AdjointElectron()); RegisterAdjointParticle(G4AdjointGamma::AdjointGamma()); @@ -106,8 +109,12 @@ G4AdjointCSManager::~G4AdjointCSManager() } /////////////////////////////////////////////////////// // -void G4AdjointCSManager::RegisterEmAdjointModel(G4VEmAdjointModel* aModel) +size_t G4AdjointCSManager::RegisterEmAdjointModel(G4VEmAdjointModel* aModel) {listOfAdjointEMModel.push_back(aModel); + listSigmaTableForAdjointModelScatProjToProj.push_back(new G4PhysicsTable); + listSigmaTableForAdjointModelProdToProj.push_back(new G4PhysicsTable); + return listOfAdjointEMModel.size() -1; + } /////////////////////////////////////////////////////// // @@ -249,8 +256,24 @@ void G4AdjointCSManager::BuildCrossSectionMatrices() /////////////////////////////////////////////////////// // void G4AdjointCSManager::BuildTotalSigmaTables() -{ +{ if (TotalSigmaTableAreBuilt) return; + + const G4ProductionCutsTable* theCoupleTable= G4ProductionCutsTable::GetProductionCutsTable(); + + + //Prepare the Sigma table for all AdjointEMModel, will be filled later on + for (size_t i=0; iclearAndDestroy(); + listSigmaTableForAdjointModelProdToProj[i]->clearAndDestroy(); + for (size_t j=0;jGetTableSize();j++){ + listSigmaTableForAdjointModelScatProjToProj[i]->push_back(new G4PhysicsLogVector(Tmin, Tmax, nbins)); + listSigmaTableForAdjointModelProdToProj[i]->push_back(new G4PhysicsLogVector(Tmin, Tmax, nbins)); + } + } + + + for (size_t i=0;iGetVectorLength(); l++) { - G4double e=aVector->GetLowEdgeEnergy(l); + for(eindex=0; eindexGetVectorLength(); eindex++) { + G4double e=aVector->GetLowEdgeEnergy(eindex); G4double totCS =ComputeTotalAdjointCS(couple,thePartDef,e*0.9999999/massRatio); //massRatio needed for ions - aVector1->PutValue(l,totCS); + aVector1->PutValue(eindex,totCS); if (totCS>sigma_max){ sigma_max=totCS; e_sigma_max = e; @@ -357,6 +380,7 @@ void G4AdjointCSManager::BuildTotalSigmaTables() } } + TotalSigmaTableAreBuilt =true; } /////////////////////////////////////////////////////// @@ -382,7 +406,15 @@ G4double G4AdjointCSManager::GetTotalForwardCS(G4ParticleDefinition* aPartDef, G } - +/////////////////////////////////////////////////////// +// +G4double G4AdjointCSManager::GetAdjointSigma(G4double Ekin_nuc, size_t index_model,G4bool is_scat_proj_to_proj, + const G4MaterialCutsCouple* aCouple) +{ DefineCurrentMaterial(aCouple); + G4bool b; + if (is_scat_proj_to_proj) return (((*listSigmaTableForAdjointModelScatProjToProj[index_model])[currentMatIndex])->GetValue(Ekin_nuc, b)); + else return (((*listSigmaTableForAdjointModelProdToProj[index_model])[currentMatIndex])->GetValue(Ekin_nuc, b)); +} /////////////////////////////////////////////////////// // void G4AdjointCSManager::GetEminForTotalCS(G4ParticleDefinition* aPartDef, @@ -655,6 +687,7 @@ G4double G4AdjointCSManager::ComputeTotalAdjointCS(const G4MaterialCutsCouple* a std::vector CS_Vs_Element; + G4double CS; for (size_t i=0; iGetHighEnergyLimit() && Ekin>=listOfAdjointEMModel[i]->GetLowEnergyLimit()){ if (aPartDef == listOfAdjointEMModel[i]->GetAdjointEquivalentOfDirectPrimaryParticleDefinition()){ - TotalCS += ComputeAdjointCS(currentMaterial, + CS=ComputeAdjointCS(currentMaterial, listOfAdjointEMModel[i], - Ekin, Tlow,true,CS_Vs_Element); + Ekin, Tlow,true,CS_Vs_Element); + TotalCS += CS; + (*listSigmaTableForAdjointModelScatProjToProj[i])[currentMatIndex]->PutValue(eindex,CS); } if (aPartDef == listOfAdjointEMModel[i]->GetAdjointEquivalentOfDirectSecondaryParticleDefinition()){ - TotalCS += ComputeAdjointCS(currentMaterial, + CS = ComputeAdjointCS(currentMaterial, listOfAdjointEMModel[i], Ekin, Tlow,false, CS_Vs_Element); + TotalCS += CS; + (*listSigmaTableForAdjointModelProdToProj[i])[currentMatIndex]->PutValue(eindex,CS); } } + else { + (*listSigmaTableForAdjointModelScatProjToProj[i])[currentMatIndex]->PutValue(eindex,0.); + (*listSigmaTableForAdjointModelProdToProj[i])[currentMatIndex]->PutValue(eindex,0.); + + } } return TotalCS; diff --git a/source/processes/electromagnetic/adjoint/src/G4AdjointComptonModel.cc b/source/processes/electromagnetic/adjoint/src/G4AdjointComptonModel.cc index 220d5d83d9..89261fa21d 100644 --- a/source/processes/electromagnetic/adjoint/src/G4AdjointComptonModel.cc +++ b/source/processes/electromagnetic/adjoint/src/G4AdjointComptonModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointComptonModel.cc,v 1.6 2009/12/16 17:50:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointComptonModel.cc,v 1.7 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4AdjointComptonModel.hh" #include "G4AdjointCSManager.hh" @@ -45,7 +45,7 @@ G4AdjointComptonModel::G4AdjointComptonModel(): G4VEmAdjointModel("AdjointCompton") { SetApplyCutInRange(false); - SetUseMatrix(true); + SetUseMatrix(false); SetUseMatrixPerElement(true); SetUseOnlyOneMatrixForAllElements(true); theAdjEquivOfDirectPrimPartDef =G4AdjointGamma::AdjointGamma(); @@ -170,6 +170,7 @@ void G4AdjointComptonModel::RapidSampleSecondaries(const G4Track& aTrack, } + G4double diffCSUsed=currentMaterial->GetElectronDensity()*twopi_mc2_rcl2; G4double gammaE1=0.; G4double gammaE2=0.; @@ -380,15 +381,15 @@ G4double G4AdjointComptonModel::AdjointCrossSection(const G4MaterialCutsCouple* DefineCurrentMaterial(aCouple); - G4double Cross=0.; - G4double Emax_proj =0.; - G4double Emin_proj =0.; + float Cross=0.; + float Emax_proj =0.; + float Emin_proj =0.; if (!IsScatProjToProjCase ){ Emax_proj = GetSecondAdjEnergyMaxForProdToProjCase(primEnergy); Emin_proj = GetSecondAdjEnergyMinForProdToProjCase(primEnergy); if (Emax_proj>Emin_proj ){ - Cross= std::log((Emax_proj-primEnergy)*Emin_proj/Emax_proj/(Emin_proj-primEnergy)) - *(1.+2.*std::log(1.+electron_mass_c2/primEnergy)); + Cross= std::log((Emax_proj-float (primEnergy))*Emin_proj/Emax_proj/(Emin_proj-primEnergy)) + *(1.+2.*std::log(float(1.+electron_mass_c2/primEnergy))); } } else { @@ -404,5 +405,13 @@ G4double G4AdjointComptonModel::AdjointCrossSection(const G4MaterialCutsCouple* Cross*=currentMaterial->GetElectronDensity()*twopi_mc2_rcl2; lastCS=Cross; - return Cross; + return double(Cross); +} +//////////////////////////////////////////////////////////////////////////////// +// +G4double G4AdjointComptonModel::GetAdjointCrossSection(const G4MaterialCutsCouple* aCouple, + G4double primEnergy, + G4bool IsScatProjToProjCase) +{ return AdjointCrossSection(aCouple, primEnergy,IsScatProjToProjCase); + //return G4VEmAdjointModel::GetAdjointCrossSection(aCouple, primEnergy,IsScatProjToProjCase); } diff --git a/source/processes/electromagnetic/adjoint/src/G4AdjointIonIonisationModel.cc b/source/processes/electromagnetic/adjoint/src/G4AdjointIonIonisationModel.cc index 274800e170..cebeab7b7f 100644 --- a/source/processes/electromagnetic/adjoint/src/G4AdjointIonIonisationModel.cc +++ b/source/processes/electromagnetic/adjoint/src/G4AdjointIonIonisationModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointIonIonisationModel.cc,v 1.2 2009/11/20 10:31:20 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointIonIonisationModel.cc,v 1.3 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4AdjointIonIonisationModel.hh" #include "G4AdjointCSManager.hh" @@ -314,6 +314,7 @@ void G4AdjointIonIonisationModel::DefineProjectileProperty() mass = theDirectPrimaryPartDef->GetPDGMass(); massRatio= G4GenericIon::GenericIon()->GetPDGMass()/mass; + mass_ratio_projectile = massRatio; spin = theDirectPrimaryPartDef->GetPDGSpin(); G4double q = theDirectPrimaryPartDef->GetPDGCharge()/eplus; chargeSquare = q*q; diff --git a/source/processes/electromagnetic/adjoint/src/G4AdjointPhotoElectricModel.cc b/source/processes/electromagnetic/adjoint/src/G4AdjointPhotoElectricModel.cc index 82f9ee1cf0..1a2283e790 100644 --- a/source/processes/electromagnetic/adjoint/src/G4AdjointPhotoElectricModel.cc +++ b/source/processes/electromagnetic/adjoint/src/G4AdjointPhotoElectricModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointPhotoElectricModel.cc,v 1.5 2009/12/16 17:50:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointPhotoElectricModel.cc,v 1.6 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4AdjointPhotoElectricModel.hh" #include "G4AdjointCSManager.hh" @@ -214,6 +214,14 @@ G4double G4AdjointPhotoElectricModel::AdjointCrossSection(const G4MaterialCutsCo //////////////////////////////////////////////////////////////////////////////// // +G4double G4AdjointPhotoElectricModel::GetAdjointCrossSection(const G4MaterialCutsCouple* aCouple, + G4double electronEnergy, + G4bool IsScatProjToProjCase) +{ return AdjointCrossSection(aCouple,electronEnergy,IsScatProjToProjCase); +} +//////////////////////////////////////////////////////////////////////////////// +// + G4double G4AdjointPhotoElectricModel::AdjointCrossSectionPerAtom(const G4Element* anElement,G4double electronEnergy) { G4int nShells = anElement->GetNbOfAtomicShells(); diff --git a/source/processes/electromagnetic/adjoint/src/G4AdjointhIonisationModel.cc b/source/processes/electromagnetic/adjoint/src/G4AdjointhIonisationModel.cc index e029f799dd..622b215ab0 100644 --- a/source/processes/electromagnetic/adjoint/src/G4AdjointhIonisationModel.cc +++ b/source/processes/electromagnetic/adjoint/src/G4AdjointhIonisationModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointhIonisationModel.cc,v 1.3 2009/12/16 17:50:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointhIonisationModel.cc,v 1.4 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4AdjointhIonisationModel.hh" #include "G4AdjointCSManager.hh" @@ -203,9 +203,9 @@ void G4AdjointhIonisationModel::RapidSampleSecondaries(const G4Track& aTrack, G4double t1=adjointPrimKinEnergy*(1./diff1-1./diff2); G4double t2=adjointPrimKinEnergy*(1./Emin-1./Emax); - G4double f31=diff1/Emin; - G4double f32=diff2/Emax/f31; - G4double t3=2.*std::log(f32); + /*G4double f31=diff1/Emin; + G4double f32=diff2/Emax/f31;*/ + G4double t3=2.*std::log(Emax/Emin); G4double sum_t=t1+t2+t3; newCS=newCS*sum_t/adjointPrimKinEnergy/adjointPrimKinEnergy; G4double t=G4UniformRand()*sum_t; @@ -219,7 +219,7 @@ void G4AdjointhIonisationModel::RapidSampleSecondaries(const G4Track& aTrack, projectileKinEnergy =1./(1./Emin-q); } else { - projectileKinEnergy=adjointPrimKinEnergy/(1.-f31*std::pow(f32,G4UniformRand())); + projectileKinEnergy=Emin*std::pow(Emax/Emin,G4UniformRand()); } eEnergy=projectileKinEnergy-adjointPrimKinEnergy; @@ -414,6 +414,7 @@ void G4AdjointhIonisationModel::DefineProjectileProperty() } mass = theDirectPrimaryPartDef->GetPDGMass(); + mass_ratio_projectile = proton_mass_c2/theDirectPrimaryPartDef->GetPDGMass();; spin = theDirectPrimaryPartDef->GetPDGSpin(); G4double q = theDirectPrimaryPartDef->GetPDGCharge()/eplus; chargeSquare = q*q; @@ -469,7 +470,8 @@ G4double G4AdjointhIonisationModel::AdjointCrossSection(const G4MaterialCutsCoup G4double diff1=Emin_proj-primEnergy; G4double diff2=Emax_proj-primEnergy; G4double t1=(1./diff1+1./Emin_proj-1./diff2-1./Emax_proj)/primEnergy; - G4double t2=2.*std::log(diff2*Emin_proj/Emax_proj/diff1)/primEnergy/primEnergy; + //G4double t2=2.*std::log(diff2*Emin_proj/Emax_proj/diff1)/primEnergy/primEnergy; + G4double t2=2.*std::log(Emax_proj/Emin_proj)/primEnergy/primEnergy; Cross*=(t1+t2); diff --git a/source/processes/electromagnetic/adjoint/src/G4AdjointhMultipleScattering.cc b/source/processes/electromagnetic/adjoint/src/G4AdjointhMultipleScattering.cc index fbfab02ea0..acdd16a9e1 100644 --- a/source/processes/electromagnetic/adjoint/src/G4AdjointhMultipleScattering.cc +++ b/source/processes/electromagnetic/adjoint/src/G4AdjointhMultipleScattering.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointhMultipleScattering.cc,v 1.2 2009/11/20 10:31:20 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointhMultipleScattering.cc,v 1.3 2010/04/12 18:57:15 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -42,7 +42,6 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4AdjointhMultipleScattering.hh" -#include "G4UrbanMscModel.hh" #include "G4UrbanMscModel90.hh" #include "G4MscStepLimitType.hh" diff --git a/source/processes/electromagnetic/adjoint/src/G4ContinuousGainOfEnergy.cc b/source/processes/electromagnetic/adjoint/src/G4ContinuousGainOfEnergy.cc index b0cacc77ad..3b89ff1add 100644 --- a/source/processes/electromagnetic/adjoint/src/G4ContinuousGainOfEnergy.cc +++ b/source/processes/electromagnetic/adjoint/src/G4ContinuousGainOfEnergy.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ContinuousGainOfEnergy.cc,v 1.4 2009/11/20 10:31:20 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ContinuousGainOfEnergy.cc,v 1.5 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4ContinuousGainOfEnergy.hh" #include "G4Step.hh" @@ -136,15 +136,14 @@ G4VParticleChange* G4ContinuousGainOfEnergy::AlongStepDoIt(const G4Track& track, *dynParticle = *(track.GetDynamicParticle()); dynParticle->SetDefinition(theDirectPartDef); G4double Tkin = dynParticle->GetKineticEnergy(); - G4double Tkin1=Tkin*0.001; + size_t n=1; if (is_integral ) n=10; n=1; G4double dlength= length/n; for (size_t i=0;iGetChargeSquareRatio(theDirectPartDef,currentMaterial,Tkin); theDirectEnergyLossProcess->SetDynamicMassCharge(massRatio,chargeSqRatio); @@ -152,9 +151,7 @@ G4VParticleChange* G4ContinuousGainOfEnergy::AlongStepDoIt(const G4Track& track, G4double r = theDirectEnergyLossProcess->GetRange(Tkin, currentCouple); if( dlength <= linLossLimit * r ) { - degain = DEDX_before*dlength; - G4double degain1 = dlength*theDirectEnergyLossProcess->GetDEDX(Tkin1, currentCouple); - factor_dE=1.+(degain1-degain)/(Tkin1-Tkin); + degain = DEDX_before*dlength; } else { G4double x = r + dlength; @@ -172,10 +169,7 @@ G4VParticleChange* G4ContinuousGainOfEnergy::AlongStepDoIt(const G4Track& track, } } - G4double r1 = theDirectEnergyLossProcess->GetRange(Tkin1, currentCouple); - G4double x1 = r1 + dlength; - G4double E1 = theDirectEnergyLossProcess->GetKineticEnergy(x1,currentCouple); - factor_dE=(E1-E)/(Tkin1-Tkin); + degain=E-Tkin; @@ -279,7 +273,7 @@ G4double G4ContinuousGainOfEnergy::GetContinuousStepLimit(const G4Track& track, maxE=std::min(emax_model*1.001,maxE); - G4double r = theDirectEnergyLossProcess->GetRange(preStepKinEnergy, currentCouple); + preStepRange = theDirectEnergyLossProcess->GetRange(preStepKinEnergy, currentCouple); if (IsIon) { G4double chargeSqRatioAtEmax = currentModel->GetChargeSquareRatio(theDirectPartDef,currentMaterial,maxE); @@ -292,8 +286,8 @@ G4double G4ContinuousGainOfEnergy::GetContinuousStepLimit(const G4Track& track, - x=r1-r; - x=std::max(r1-r,0.001*mm); + x=r1-preStepRange; + x=std::max(r1-preStepRange,0.001*mm); return x; diff --git a/source/processes/electromagnetic/adjoint/src/G4VAdjointReverseReaction.cc b/source/processes/electromagnetic/adjoint/src/G4VAdjointReverseReaction.cc index cd20dec86b..360ac262de 100644 --- a/source/processes/electromagnetic/adjoint/src/G4VAdjointReverseReaction.cc +++ b/source/processes/electromagnetic/adjoint/src/G4VAdjointReverseReaction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VAdjointReverseReaction.cc,v 1.2 2009/11/20 10:31:20 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VAdjointReverseReaction.cc,v 1.3 2010/11/11 11:51:56 ldesorgh Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4VAdjointReverseReaction.hh" #include "G4AdjointCSManager.hh" @@ -108,9 +108,11 @@ G4double G4VAdjointReverseReaction::GetMeanFreePath(const G4Track& track, { *condition = NotForced; G4double preStepKinEnergy = track.GetKineticEnergy(); - G4double Sigma = - theAdjointEMModel->AdjointCrossSection(track.GetMaterialCutsCouple(),preStepKinEnergy,IsScatProjToProjCase); + /*G4double Sigma = + theAdjointEMModel->AdjointCrossSection(track.GetMaterialCutsCouple(),preStepKinEnergy,IsScatProjToProjCase);*/ + G4double Sigma = + theAdjointEMModel->GetAdjointCrossSection(track.GetMaterialCutsCouple(),preStepKinEnergy,IsScatProjToProjCase); G4double fwd_TotCS; Sigma *= theAdjointCSManager->GetCrossSectionCorrection(track.GetDefinition(),preStepKinEnergy,track.GetMaterialCutsCouple(),IsFwdCSUsed, fwd_TotCS); //G4cout<RegisterEmAdjointModel(this); + model_index = G4AdjointCSManager::GetAdjointCSManager()->RegisterEmAdjointModel(this); second_part_of_same_type =false; theDirectEMModel=0; + mass_ratio_product=1.; + mass_ratio_projectile=1.; } //////////////////////////////////////////////////////////////////////////////// // @@ -73,7 +77,49 @@ G4double G4VEmAdjointModel::AdjointCrossSection(const G4MaterialCutsCouple* aCou return lastCS; -} +} +//////////////////////////////////////////////////////////////////////////////// +// +G4double G4VEmAdjointModel::GetAdjointCrossSection(const G4MaterialCutsCouple* aCouple, + G4double primEnergy, + G4bool IsScatProjToProjCase) +{ + return AdjointCrossSection(aCouple, primEnergy, + IsScatProjToProjCase); + + //To continue + DefineCurrentMaterial(aCouple); + preStepEnergy=primEnergy; + if (IsScatProjToProjCase){ + G4double ekin=primEnergy*mass_ratio_projectile; + lastCS = G4AdjointCSManager::GetAdjointCSManager()->GetAdjointSigma(ekin, model_index,true, aCouple); + lastAdjointCSForScatProjToProjCase = lastCS; + //G4cout<GetAdjointSigma(ekin, model_index,false, aCouple); + lastAdjointCSForProdToProjCase = lastCS; + //G4cout<0) { + G4double ratio=lastCS/lastCS1; + G4double diff = std::abs(1-ratio)*100.; + if (diff >1) G4cout<0.001){ //Is that in all cases needed??? G4double post_stepCS=AdjointCrossSection(currentCouple, adjointPrimKinEnergy ,IsScatProjToProjCase ); - w_corr*=post_stepCS/lastCS; + if (post_stepCS>0 && lastCS>0) w_corr*=post_stepCS/lastCS; } new_weight*=w_corr; @@ -654,36 +700,18 @@ void G4VEmAdjointModel::DefineCurrentMaterial(const G4MaterialCutsCouple* coupl currentCoupleIndex = couple->GetIndex(); currentMaterialIndex = currentMaterial->GetIndex(); size_t idx=56; - currentTcutForDirectPrim =0.00000000001; - if (theAdjEquivOfDirectPrimPartDef) { - if (theAdjEquivOfDirectPrimPartDef->GetParticleName() == "adj_gamma") idx = 0; - else if (theAdjEquivOfDirectPrimPartDef->GetParticleName() == "adj_e-") idx = 1; - else if (theAdjEquivOfDirectPrimPartDef->GetParticleName() == "adj_e+") idx = 2; + currentTcutForDirectSecond =0.00000000001; + if (theAdjEquivOfDirectSecondPartDef) { + if (theAdjEquivOfDirectSecondPartDef == G4AdjointGamma::AdjointGamma()) idx = 0; + else if (theAdjEquivOfDirectSecondPartDef == G4AdjointElectron::AdjointElectron()) idx = 1; + else if (theAdjEquivOfDirectSecondPartDef == G4AdjointPositron::AdjointPositron()) idx = 2; if (idx <56){ const std::vector* aVec = G4ProductionCutsTable::GetProductionCutsTable()->GetEnergyCutsVector(idx); - currentTcutForDirectPrim=(*aVec)[currentCoupleIndex]; + currentTcutForDirectSecond=(*aVec)[currentCoupleIndex]; } } - currentTcutForDirectSecond =0.00000000001; - if (theAdjEquivOfDirectPrimPartDef == theAdjEquivOfDirectSecondPartDef) { - currentTcutForDirectSecond = currentTcutForDirectPrim; - } - else { - if (theAdjEquivOfDirectSecondPartDef){ - if (theAdjEquivOfDirectSecondPartDef->GetParticleName() == "adj_gamma") idx = 0; - else if (theAdjEquivOfDirectSecondPartDef->GetParticleName() == "adj_e-") idx = 1; - else if (theAdjEquivOfDirectSecondPartDef->GetParticleName() == "adj_e+") idx = 2; - const std::vector* aVec = G4ProductionCutsTable::GetProductionCutsTable()->GetEnergyCutsVector(idx); - currentTcutForDirectSecond=(*aVec)[currentCoupleIndex]; - if (idx <56){ - const std::vector* aVec = G4ProductionCutsTable::GetProductionCutsTable()->GetEnergyCutsVector(idx); - currentTcutForDirectPrim=(*aVec)[currentCoupleIndex]; - } - - - } - } + } } //////////////////////////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/highenergy/CMakeLists.txt b/source/processes/electromagnetic/highenergy/CMakeLists.txt new file mode 100644 index 0000000000..42731fa49b --- /dev/null +++ b/source/processes/electromagnetic/highenergy/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4emhighenergy +# Package: Geant4.src.G4processes.G4electromagnetic.G4emhighenergy +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:52:52 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/electromagnetic/highenergy/History b/source/processes/electromagnetic/highenergy/History index f6aa5816a6..b2606d32a3 100644 --- a/source/processes/electromagnetic/highenergy/History +++ b/source/processes/electromagnetic/highenergy/History @@ -1,4 +1,4 @@ -$Id: History,v 1.34 2009/11/11 17:13:47 vnivanch Exp $ +$Id: History,v 1.37 2010/10/26 15:40:03 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,21 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +26 October 10: V.Ivanchenko (emhighenergy-V09-03-02) +- Fixed problem reported by the Coverity tools (mainly pedantic + initialisation) +- Added G4mplIonisationWithDeltaModel which is substituted + G4mplIonisationModel by default - delat-ray production is required + both by ATLAS and CMS + +04 March 10: V.Ivanchenko (emhighenergy-V09-03-01) +- G4ICRU73NoDeltaModel - new model derived from G4ICRU73QOModel + +28 March 10: V.Ivanchenko (emhighenergy-V09-03-00) +- G4mplIonisation - fixed IsApplicable method - always "true" + (CMS report crash in the case when several types + of monopoles are instantiated) + 11 November 09: V.Ivanchenko (emhighenergy-V09-02-03) - G4eeTo3PiModel - fixed vector product in matrix element diff --git a/source/processes/electromagnetic/highenergy/include/G4GammaConversionToMuons.hh b/source/processes/electromagnetic/highenergy/include/G4GammaConversionToMuons.hh index 206272f546..a613505e89 100644 --- a/source/processes/electromagnetic/highenergy/include/G4GammaConversionToMuons.hh +++ b/source/processes/electromagnetic/highenergy/include/G4GammaConversionToMuons.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GammaConversionToMuons.hh,v 1.2 2006/06/29 19:32:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4GammaConversionToMuons.hh,v 1.3 2010/10/26 14:15:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------ G4GammaConversionToMuons physics process ------ // by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002 @@ -131,8 +131,6 @@ class G4GammaConversionToMuons : public G4VDiscreteProcess G4double LowestEnergyLimit ; // low energy limit of the tables G4double HighestEnergyLimit ; // high energy limit of the tables - G4double fminimalEnergy; // minimalEnergy of produced particles - G4double MeanFreePath; // actual MeanFreePath (current medium) G4double CrossSecFactor; // factor to artificially increase // the cross section diff --git a/source/processes/electromagnetic/highenergy/include/G4ICRU73NoDeltaModel.hh b/source/processes/electromagnetic/highenergy/include/G4ICRU73NoDeltaModel.hh new file mode 100644 index 0000000000..d9be27c78c --- /dev/null +++ b/source/processes/electromagnetic/highenergy/include/G4ICRU73NoDeltaModel.hh @@ -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: G4ICRU73NoDeltaModel.hh,v 1.1 2010/06/04 10:23:31 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4ICRU73NoDeltaModel +// +// Author: Vladimir Ivanchenko +// +// Creation date: 04.10.2010 +// +// Modifications: +// +// +// Class Description: +// +// Implementation of G4ICRU73QOModel without delta-ray + +// ------------------------------------------------------------------- +// + +#ifndef G4ICRU73NoDeltaModel_h +#define G4ICRU73NoDeltaModel_h 1 + +#include "G4ICRU73QOModel.hh" + +class G4ICRU73NoDeltaModel : public G4ICRU73QOModel +{ + +public: + + G4ICRU73NoDeltaModel(const G4ParticleDefinition* p = 0, + const G4String& nam = "ICRU73QONoD"); + + virtual ~G4ICRU73NoDeltaModel(); + + virtual G4double ComputeDEDXPerVolume(const G4Material*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy); + + virtual G4double CrossSectionPerVolume(const G4Material*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy, + G4double maxEnergy); +private: + + // hide assignment operator + G4ICRU73NoDeltaModel & operator=(const G4ICRU73NoDeltaModel &right); + G4ICRU73NoDeltaModel(const G4ICRU73NoDeltaModel&); + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/highenergy/include/G4hhIonisation.hh b/source/processes/electromagnetic/highenergy/include/G4hhIonisation.hh index 2e88b8fc5a..3ae25aa12f 100644 --- a/source/processes/electromagnetic/highenergy/include/G4hhIonisation.hh +++ b/source/processes/electromagnetic/highenergy/include/G4hhIonisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4hhIonisation.hh,v 1.6 2009/02/20 16:38:33 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4hhIonisation.hh,v 1.7 2010/10/26 14:15:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -89,17 +89,12 @@ private: G4double mass; G4double ratio; - G4double minKinEnergy; - G4double maxKinEnergy; const G4ParticleDefinition* theParticle; const G4ParticleDefinition* theBaseParticle; G4VEmFluctuationModel* flucModel; G4bool isInitialised; - - G4double eth; - }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/highenergy/include/G4mplIonisationModel.hh b/source/processes/electromagnetic/highenergy/include/G4mplIonisationModel.hh index 2467ead5a2..992689e60b 100644 --- a/source/processes/electromagnetic/highenergy/include/G4mplIonisationModel.hh +++ b/source/processes/electromagnetic/highenergy/include/G4mplIonisationModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4mplIonisationModel.hh,v 1.7 2009/02/20 16:38:33 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4mplIonisationModel.hh,v 1.8 2010/10/26 15:40:03 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -108,12 +108,10 @@ private: G4double betalim; G4double beta2lim; G4double bg2lim; - G4double factlow; G4double chargeSquare; G4double dedxlim; G4int nmpl; G4double pi_hbarc2_over_mc2; - G4double approxConst; }; #endif diff --git a/source/processes/electromagnetic/highenergy/include/G4mplIonisationWithDeltaModel.hh b/source/processes/electromagnetic/highenergy/include/G4mplIonisationWithDeltaModel.hh new file mode 100644 index 0000000000..c2b78be26f --- /dev/null +++ b/source/processes/electromagnetic/highenergy/include/G4mplIonisationWithDeltaModel.hh @@ -0,0 +1,139 @@ +// +// ******************************************************************** +// * 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: G4mplIonisationWithDeltaModel.hh,v 1.1 2010/10/26 15:40:03 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4mplIonisationWithDeltaModel +// +// Author: Vladimir Ivanchenko +// +// Creation date: 06.09.2005 +// +// Modifications: +// 12.08.2007 ComputeDEDXAhlen function added (M. Vladymyrov) +// +// Class Description: +// +// Implementation of model of energy loss of the magnetic monopole + +// ------------------------------------------------------------------- +// + +#ifndef G4mplIonisationWithDeltaModel_h +#define G4mplIonisationWithDeltaModel_h 1 + +#include "G4VEmModel.hh" +#include "G4VEmFluctuationModel.hh" + +class G4ParticleChangeForLoss; + +class G4mplIonisationWithDeltaModel : public G4VEmModel, public G4VEmFluctuationModel +{ + +public: + + G4mplIonisationWithDeltaModel(G4double mCharge, const G4String& nam = "mplIonisationWithDelta"); + + virtual ~G4mplIonisationWithDeltaModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double ComputeDEDXPerVolume(const G4Material*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy); + + virtual G4double ComputeCrossSectionPerElectron( + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy, + G4double maxEnergy); + + virtual G4double ComputeCrossSectionPerAtom( + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double Z, G4double A, + G4double cutEnergy, + G4double maxEnergy); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + + virtual G4double SampleFluctuations(const G4Material*, + const G4DynamicParticle*, + G4double& tmax, + G4double& length, + G4double& meanLoss); + + virtual G4double Dispersion(const G4Material*, + const G4DynamicParticle*, + G4double& tmax, + G4double& length); + +protected: + + virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*, + G4double kinEnergy); + +private: + + void SetParticle(const G4ParticleDefinition* p); + + G4double ComputeDEDXAhlen(const G4Material* material, G4double bg2, G4double cut); + + // hide assignment operator + G4mplIonisationWithDeltaModel & operator=(const G4mplIonisationWithDeltaModel &right); + G4mplIonisationWithDeltaModel(const G4mplIonisationWithDeltaModel&); + + const G4ParticleDefinition* monopole; + G4ParticleDefinition* theElectron; + G4ParticleChangeForLoss* fParticleChange; + + G4double mass; + G4double magCharge; + G4double twoln10; + G4double betalow; + G4double betalim; + G4double beta2lim; + G4double bg2lim; + G4double chargeSquare; + G4double dedxlim; + G4int nmpl; + G4double pi_hbarc2_over_mc2; +}; + +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/highenergy/sources.cmake b/source/processes/electromagnetic/highenergy/sources.cmake new file mode 100644 index 0000000000..c77b1d1aa5 --- /dev/null +++ b/source/processes/electromagnetic/highenergy/sources.cmake @@ -0,0 +1,125 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4emhighenergy +# Package: Geant4.src.G4processes.G4electromagnetic.G4emhighenergy +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/10/26 16:42:12 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/muons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/standard/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4emhighenergy + HEADERS + G4AnnihiToMuPair.hh + G4BetheBlochNoDeltaModel.hh + G4BraggNoDeltaModel.hh + G4GammaConversionToMuons.hh + G4ICRU73NoDeltaModel.hh + G4Vee2hadrons.hh + G4ee2KChargedModel.hh + G4ee2KNeutralModel.hh + G4eeCrossSections.hh + G4eeTo3PiModel.hh + G4eeToHadrons.hh + G4eeToHadronsModel.hh + G4eeToHadronsMultiModel.hh + G4eeToPGammaModel.hh + G4eeToTwoPiModel.hh + G4hBremsstrahlung.hh + G4hBremsstrahlungModel.hh + G4hPairProduction.hh + G4hPairProductionModel.hh + G4hhIonisation.hh + G4mplIonisation.hh + G4mplIonisationModel.hh + G4mplIonisationWithDeltaModel.hh + SOURCES + G4AnnihiToMuPair.cc + G4BetheBlochNoDeltaModel.cc + G4BraggNoDeltaModel.cc + G4GammaConversionToMuons.cc + G4ICRU73NoDeltaModel.cc + G4ee2KChargedModel.cc + G4ee2KNeutralModel.cc + G4eeCrossSections.cc + G4eeTo3PiModel.cc + G4eeToHadrons.cc + G4eeToHadronsModel.cc + G4eeToHadronsMultiModel.cc + G4eeToPGammaModel.cc + G4eeToTwoPiModel.cc + G4hBremsstrahlung.cc + G4hBremsstrahlungModel.cc + G4hPairProduction.cc + G4hPairProductionModel.cc + G4hhIonisation.cc + G4mplIonisation.cc + G4mplIonisationModel.cc + G4mplIonisationWithDeltaModel.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4cuts + G4emstandard + G4emutils + G4geometrymng + G4globman + G4hepnumerics + G4intercoms + G4ions + G4leptons + G4materials + G4mesons + G4muons + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/electromagnetic/highenergy/src/G4GammaConversionToMuons.cc b/source/processes/electromagnetic/highenergy/src/G4GammaConversionToMuons.cc index 22bd7ec1e2..b49f7ef41c 100644 --- a/source/processes/electromagnetic/highenergy/src/G4GammaConversionToMuons.cc +++ b/source/processes/electromagnetic/highenergy/src/G4GammaConversionToMuons.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GammaConversionToMuons.cc,v 1.7 2008/10/16 14:29:48 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4GammaConversionToMuons.cc,v 1.8 2010/10/26 14:15:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------ G4GammaConversionToMuons physics process ------ // by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002 @@ -52,6 +52,7 @@ G4GammaConversionToMuons::G4GammaConversionToMuons(const G4String& processName, CrossSecFactor(1.) { SetProcessSubType(15); + MeanFreePath = DBL_MAX; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc b/source/processes/electromagnetic/highenergy/src/G4ICRU73NoDeltaModel.cc similarity index 64% rename from examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc rename to source/processes/electromagnetic/highenergy/src/G4ICRU73NoDeltaModel.cc index 3d30521675..6f6c75ad69 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc +++ b/source/processes/electromagnetic/highenergy/src/G4ICRU73NoDeltaModel.cc @@ -23,48 +23,66 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4ICRU73NoDeltaModel.cc,v 1.1 2010/06/04 10:23:31 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // -// $Id: AnaEx01PrimaryGeneratorMessenger.cc,v 1.5 2006/06/29 16:33:59 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// ------------------------------------------------------------------- // -// +// GEANT4 Class file +// +// +// File name: G4ICRU73NoDeltaModel +// +// Author: Vladimir Ivanchenko +// +// Creation date: 04.06.2010 +// +// Modifications: +// +// +// Class Description: +// +// Ionisation of heavy negatively charged particles + +// ------------------------------------------------------------------- +// + +#include "G4ICRU73NoDeltaModel.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -#include "AnaEx01PrimaryGeneratorMessenger.hh" - -#include "AnaEx01PrimaryGeneratorAction.hh" -#include "G4UIcmdWithAString.hh" +G4ICRU73NoDeltaModel::G4ICRU73NoDeltaModel(const G4ParticleDefinition*p, + const G4String& nam) : + G4ICRU73QOModel(p, nam) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -AnaEx01PrimaryGeneratorMessenger::AnaEx01PrimaryGeneratorMessenger(AnaEx01PrimaryGeneratorAction* AnaEx01Gun) -:AnaEx01Action(AnaEx01Gun) -{ - RndmCmd = new G4UIcmdWithAString("/gun/random",this); - RndmCmd->SetGuidance("Shoot randomly the incident particle."); - RndmCmd->SetGuidance(" Choice : on(default), off"); - RndmCmd->SetParameterName("choice",true); - RndmCmd->SetDefaultValue("on"); - RndmCmd->SetCandidates("on off"); - RndmCmd->AvailableForStates(G4State_PreInit,G4State_Idle); -} +G4ICRU73NoDeltaModel::~G4ICRU73NoDeltaModel() +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -AnaEx01PrimaryGeneratorMessenger::~AnaEx01PrimaryGeneratorMessenger() +G4double G4ICRU73NoDeltaModel::ComputeDEDXPerVolume( + const G4Material* material, + const G4ParticleDefinition* pd, + G4double kinEnergy, G4double) { - delete RndmCmd; + return + G4ICRU73QOModel::ComputeDEDXPerVolume(material, pd, kinEnergy, DBL_MAX); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void AnaEx01PrimaryGeneratorMessenger::SetNewValue(G4UIcommand * command,G4String newValue) -{ - if( command == RndmCmd ) - { AnaEx01Action->SetRndmFlag(newValue);} +G4double G4ICRU73NoDeltaModel::CrossSectionPerVolume( + const G4Material*, + const G4ParticleDefinition*, + G4double, G4double, G4double) +{ + return 0.0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/source/processes/electromagnetic/highenergy/src/G4eeToHadronsModel.cc b/source/processes/electromagnetic/highenergy/src/G4eeToHadronsModel.cc index 1bc0df2abc..c3a9870cbe 100644 --- a/source/processes/electromagnetic/highenergy/src/G4eeToHadronsModel.cc +++ b/source/processes/electromagnetic/highenergy/src/G4eeToHadronsModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eeToHadronsModel.cc,v 1.9 2008/07/10 18:06:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4eeToHadronsModel.cc,v 1.10 2010/10/26 14:15:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -75,6 +75,12 @@ G4eeToHadronsModel::G4eeToHadronsModel(G4Vee2hadrons* m, G4int ver, verbose(ver) { theGamma = G4Gamma::Gamma(); + highKinEnergy = HighEnergyLimit(); + lowKinEnergy = LowEnergyLimit(); + emin = lowKinEnergy; + emax = highKinEnergy; + peakKinEnergy = highKinEnergy; + epeak = emax; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -91,7 +97,7 @@ G4eeToHadronsModel::~G4eeToHadronsModel() void G4eeToHadronsModel::Initialise(const G4ParticleDefinition*, const G4DataVector&) { - if(isInitialised) return; + if(isInitialised) { return; } isInitialised = true; // Lab system diff --git a/source/processes/electromagnetic/highenergy/src/G4eeToHadronsMultiModel.cc b/source/processes/electromagnetic/highenergy/src/G4eeToHadronsMultiModel.cc index f8d506f2d0..3af40458eb 100644 --- a/source/processes/electromagnetic/highenergy/src/G4eeToHadronsMultiModel.cc +++ b/source/processes/electromagnetic/highenergy/src/G4eeToHadronsMultiModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eeToHadronsMultiModel.cc,v 1.8 2009/04/12 17:48:21 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4eeToHadronsMultiModel.cc,v 1.9 2010/10/26 14:15:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -67,7 +67,10 @@ G4eeToHadronsMultiModel::G4eeToHadronsMultiModel(G4int ver, const G4String& name nModels(0), verbose(ver), isInitialised(false) -{} +{ + thKineticEnergy = DBL_MAX; + maxKineticEnergy = 1.2*GeV; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -90,9 +93,6 @@ void G4eeToHadronsMultiModel::Initialise(const G4ParticleDefinition*, if(!isInitialised) { isInitialised = true; - thKineticEnergy = DBL_MAX; - maxKineticEnergy = 1.2*GeV; - cross = new G4eeCrossSections(); G4eeToTwoPiModel* m2pi = new G4eeToTwoPiModel(cross); diff --git a/source/processes/electromagnetic/highenergy/src/G4hhIonisation.cc b/source/processes/electromagnetic/highenergy/src/G4hhIonisation.cc index 6b011baa4f..7c85f8a0db 100644 --- a/source/processes/electromagnetic/highenergy/src/G4hhIonisation.cc +++ b/source/processes/electromagnetic/highenergy/src/G4hhIonisation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4hhIonisation.cc,v 1.9 2009/02/20 16:38:33 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4hhIonisation.cc,v 1.11 2010/10/26 14:15:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -50,6 +50,7 @@ #include "G4hhIonisation.hh" #include "G4BraggNoDeltaModel.hh" #include "G4BetheBlochNoDeltaModel.hh" +#include "G4ICRU73NoDeltaModel.hh" #include "G4UniversalFluctuation.hh" #include "G4BohrFluctuations.hh" #include "G4UnitsTable.hh" @@ -100,30 +101,35 @@ G4double G4hhIonisation::MinPrimaryEnergy(const G4ParticleDefinition*, void G4hhIonisation::InitialiseEnergyLossProcess(const G4ParticleDefinition* part, const G4ParticleDefinition* bpart) { - if(isInitialised) return; + if(isInitialised) { return; } theParticle = part; - if(bpart) G4cout << "G4hhIonisation::InitialiseEnergyLossProcess WARNING: no " - << "base particle should be defined for the process " - << GetProcessName() << G4endl; - + if(bpart) { + G4cout << "G4hhIonisation::InitialiseEnergyLossProcess WARNING: no " + << "base particle should be defined for the process " + << GetProcessName() << G4endl; + } SetBaseParticle(0); SetSecondaryParticle(G4Electron::Electron()); + //G4double q = theParticle->GetPDGCharge(); mass = theParticle->GetPDGMass(); ratio = electron_mass_c2/mass; - eth = 2.0*MeV*mass/proton_mass_c2; + G4double eth = 2*MeV*mass/proton_mass_c2; flucModel = new G4BohrFluctuations(); G4int nm = 1; - minKinEnergy = MinKinEnergy(); + G4double minKinEnergy = MinKinEnergy(); if(eth > minKinEnergy) { - G4VEmModel* em = new G4BraggNoDeltaModel(); + G4VEmModel* em; + em = new G4BraggNoDeltaModel(); + //if(q > 0.0) { em = new G4BraggNoDeltaModel(); } + //else { em = new G4ICRU73NoDeltaModel(); } em->SetLowEnergyLimit(minKinEnergy); em->SetHighEnergyLimit(eth); AddEmModel(nm, em, flucModel); - nm++; + ++nm; } if(eth < MaxKinEnergy()) { diff --git a/source/processes/electromagnetic/highenergy/src/G4mplIonisation.cc b/source/processes/electromagnetic/highenergy/src/G4mplIonisation.cc index 2e30c3a7cd..f93c03e340 100644 --- a/source/processes/electromagnetic/highenergy/src/G4mplIonisation.cc +++ b/source/processes/electromagnetic/highenergy/src/G4mplIonisation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4mplIonisation.cc,v 1.8 2009/02/20 16:38:33 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4mplIonisation.cc,v 1.11 2010/10/26 15:40:03 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -48,6 +48,7 @@ #include "G4mplIonisation.hh" #include "G4Electron.hh" #include "G4mplIonisationModel.hh" +#include "G4mplIonisationWithDeltaModel.hh" #include "G4BohrFluctuations.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -74,9 +75,9 @@ G4mplIonisation::~G4mplIonisation() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4bool G4mplIonisation::IsApplicable(const G4ParticleDefinition& p) +G4bool G4mplIonisation::IsApplicable(const G4ParticleDefinition&) { - return (p.GetParticleName() == "monopole"); + return true; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -84,12 +85,13 @@ G4bool G4mplIonisation::IsApplicable(const G4ParticleDefinition& p) void G4mplIonisation::InitialiseEnergyLossProcess(const G4ParticleDefinition*, const G4ParticleDefinition*) { - if(isInitialised) return; + if(isInitialised) { return; } SetBaseParticle(0); SetSecondaryParticle(G4Electron::Electron()); - G4mplIonisationModel* ion = new G4mplIonisationModel(magneticCharge,"PAI"); + G4mplIonisationWithDeltaModel* ion = + new G4mplIonisationWithDeltaModel(magneticCharge,"PAI"); ion->SetLowEnergyLimit(MinKinEnergy()); ion->SetHighEnergyLimit(MaxKinEnergy()); AddEmModel(0,ion,ion); diff --git a/source/processes/electromagnetic/highenergy/src/G4mplIonisationModel.cc b/source/processes/electromagnetic/highenergy/src/G4mplIonisationModel.cc index 936b628a6b..e36e11e80f 100644 --- a/source/processes/electromagnetic/highenergy/src/G4mplIonisationModel.cc +++ b/source/processes/electromagnetic/highenergy/src/G4mplIonisationModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4mplIonisationModel.cc,v 1.7 2009/04/12 17:35:41 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4mplIonisationModel.cc,v 1.8 2010/10/26 15:40:03 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -73,12 +73,13 @@ G4mplIonisationModel::G4mplIonisationModel(G4double mCharge, const G4String& nam bg2lim(beta2lim*(1.0 + beta2lim)) { nmpl = G4int(abs(magCharge) * 2 * fine_structure_const + 0.5); - if(nmpl > 6) nmpl = 6; - else if(nmpl < 1) nmpl = 1; + if(nmpl > 6) { nmpl = 6; } + else if(nmpl < 1) { nmpl = 1; } pi_hbarc2_over_mc2 = pi * hbarc * hbarc / electron_mass_c2; chargeSquare = magCharge * magCharge; dedxlim = 45.*nmpl*nmpl*GeV*cm2/g; fParticleChange = 0; + mass = 0.0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -93,7 +94,7 @@ void G4mplIonisationModel::Initialise(const G4ParticleDefinition* p, { monopole = p; mass = monopole->GetPDGMass(); - if(!fParticleChange) fParticleChange = GetParticleChangeForLoss(); + if(!fParticleChange) { fParticleChange = GetParticleChangeForLoss(); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/highenergy/src/G4mplIonisationWithDeltaModel.cc b/source/processes/electromagnetic/highenergy/src/G4mplIonisationWithDeltaModel.cc new file mode 100644 index 0000000000..1d509728ea --- /dev/null +++ b/source/processes/electromagnetic/highenergy/src/G4mplIonisationWithDeltaModel.cc @@ -0,0 +1,330 @@ +// +// ******************************************************************** +// * 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: G4mplIonisationWithDeltaModel.cc,v 1.1 2010/10/26 15:40:03 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4mplIonisationWithDeltaModel +// +// Author: Vladimir Ivanchenko +// +// Creation date: 06.09.2005 +// +// Modifications: +// 12.08.2007 Changing low energy approximation and extrapolation. +// Small bug fixing and refactoring (M. Vladymyrov) +// 13.11.2007 Use low-energy asymptotic from [3] (V.Ivanchenko) +// +// +// ------------------------------------------------------------------- +// References +// [1] Steven P. Ahlen: Energy loss of relativistic heavy ionizing particles, +// S.P. Ahlen, Rev. Mod. Phys 52(1980), p121 +// [2] K.A. Milton arXiv:hep-ex/0602040 +// [3] S.P. Ahlen and K. Kinoshita, Phys. Rev. D26 (1982) 2347 + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4mplIonisationWithDeltaModel.hh" +#include "Randomize.hh" +#include "G4LossTableManager.hh" +#include "G4ParticleChangeForLoss.hh" +#include "G4Electron.hh" +#include "G4DynamicParticle.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +using namespace std; + +G4mplIonisationWithDeltaModel::G4mplIonisationWithDeltaModel(G4double mCharge, const G4String& nam) + : G4VEmModel(nam),G4VEmFluctuationModel(nam), + magCharge(mCharge), + twoln10(log(100.0)), + betalow(0.01), + betalim(0.1), + beta2lim(betalim*betalim), + bg2lim(beta2lim*(1.0 + beta2lim)) +{ + nmpl = G4int(abs(magCharge) * 2 * fine_structure_const + 0.5); + if(nmpl > 6) { nmpl = 6; } + else if(nmpl < 1) { nmpl = 1; } + pi_hbarc2_over_mc2 = pi * hbarc * hbarc / electron_mass_c2; + chargeSquare = magCharge * magCharge; + dedxlim = 45.*nmpl*nmpl*GeV*cm2/g; + fParticleChange = 0; + theElectron = G4Electron::Electron(); + G4cout << "### Monopole ionisation model with d-electron production, Gmag= " + << magCharge/eplus << G4endl; + mass = 0.0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4mplIonisationWithDeltaModel::~G4mplIonisationWithDeltaModel() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void +G4mplIonisationWithDeltaModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector&) +{ + monopole = p; + mass = monopole->GetPDGMass(); + if(!fParticleChange) { fParticleChange = GetParticleChangeForLoss(); } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double +G4mplIonisationWithDeltaModel::ComputeDEDXPerVolume(const G4Material* material, + const G4ParticleDefinition* p, + G4double kineticEnergy, + G4double maxEnergy) +{ + G4double tmax = MaxSecondaryEnergy(p,kineticEnergy); + G4double cutEnergy = std::min(tmax, maxEnergy); + G4double tau = kineticEnergy / mass; + G4double gam = tau + 1.0; + G4double bg2 = tau * (tau + 2.0); + G4double beta2 = bg2 / (gam * gam); + G4double beta = sqrt(beta2); + + // low-energy asymptotic formula + G4double dedx = dedxlim*beta*material->GetDensity(); + + // above asymptotic + if(beta > betalow) { + + // high energy + if(beta >= betalim) { + dedx = ComputeDEDXAhlen(material, bg2, cutEnergy); + + } else { + + G4double dedx1 = dedxlim*betalow*material->GetDensity(); + G4double dedx2 = ComputeDEDXAhlen(material, bg2lim, cutEnergy); + + // extrapolation between two formula + G4double kapa2 = beta - betalow; + G4double kapa1 = betalim - beta; + dedx = (kapa1*dedx1 + kapa2*dedx2)/(kapa1 + kapa2); + } + } + return dedx; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double +G4mplIonisationWithDeltaModel::ComputeDEDXAhlen(const G4Material* material, + G4double bg2, + G4double cutEnergy) +{ + G4double eDensity = material->GetElectronDensity(); + G4double eexc = material->GetIonisation()->GetMeanExcitationEnergy(); + + // Ahlen's formula for nonconductors, [1]p157, f(5.7) + G4double dedx = + 0.5*(log(2.0 * electron_mass_c2 * bg2*cutEnergy / (eexc*eexc)) - 1.0); + + // Kazama et al. cross-section correction + G4double k = 0.406; + if(nmpl > 1) { k = 0.346; } + + // Bloch correction + const G4double B[7] = { 0.0, 0.248, 0.672, 1.022, 1.243, 1.464, 1.685}; + + dedx += 0.5 * k - B[nmpl]; + + // density effect correction + G4double x = log(bg2)/twoln10; + dedx -= material->GetIonisation()->DensityCorrection(x); + + // now compute the total ionization loss + dedx *= pi_hbarc2_over_mc2 * eDensity * nmpl * nmpl; + + if (dedx < 0.0) { dedx = 0; } + return dedx; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double +G4mplIonisationWithDeltaModel::ComputeCrossSectionPerElectron( + const G4ParticleDefinition* p, + G4double kineticEnergy, + G4double cutEnergy, + G4double maxKinEnergy) +{ + G4double cross = 0.0; + G4double tmax = MaxSecondaryEnergy(p, kineticEnergy); + G4double maxEnergy = min(tmax,maxKinEnergy); + if(cutEnergy < maxEnergy) { + cross = (1.0/cutEnergy - 1.0/maxEnergy)*twopi_mc2_rcl2*chargeSquare; + } + return cross; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double +G4mplIonisationWithDeltaModel::ComputeCrossSectionPerAtom( + const G4ParticleDefinition* p, + G4double kineticEnergy, + G4double Z, G4double, + G4double cutEnergy, + G4double maxEnergy) +{ + G4double cross = + Z*ComputeCrossSectionPerElectron(p,kineticEnergy,cutEnergy,maxEnergy); + return cross; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void +G4mplIonisationWithDeltaModel::SampleSecondaries(vector* vdp, + const G4MaterialCutsCouple*, + const G4DynamicParticle* dp, + G4double minKinEnergy, + G4double maxEnergy) +{ + G4double kineticEnergy = dp->GetKineticEnergy(); + G4double tmax = MaxSecondaryEnergy(dp->GetDefinition(),kineticEnergy); + + G4double maxKinEnergy = std::min(maxEnergy,tmax); + if(minKinEnergy >= maxKinEnergy) { return; } + + //G4cout << "G4mplIonisationWithDeltaModel::SampleSecondaries: E(GeV)= " + // << kineticEnergy/GeV << " M(GeV)= " << mass/GeV + // << " tmin(MeV)= " << minKinEnergy/MeV << G4endl; + + G4double totEnergy = kineticEnergy + mass; + G4double etot2 = totEnergy*totEnergy; + G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*mass)/etot2; + + // sampling without nuclear size effect + G4double q = G4UniformRand(); + G4double deltaKinEnergy = minKinEnergy*maxKinEnergy + /(minKinEnergy*(1.0 - q) + maxKinEnergy*q); + + // delta-electron is produced + G4double totMomentum = totEnergy*sqrt(beta2); + G4double deltaMomentum = + sqrt(deltaKinEnergy * (deltaKinEnergy + 2.0*electron_mass_c2)); + G4double cost = deltaKinEnergy * (totEnergy + electron_mass_c2) / + (deltaMomentum * totMomentum); + if(cost > 1.0) { cost = 1.0; } + + G4double sint = sqrt((1.0 - cost)*(1.0 + cost)); + + G4double phi = twopi * G4UniformRand() ; + + G4ThreeVector deltaDirection(sint*cos(phi),sint*sin(phi), cost); + G4ThreeVector direction = dp->GetMomentumDirection(); + deltaDirection.rotateUz(direction); + + // create G4DynamicParticle object for delta ray + G4DynamicParticle* delta = + new G4DynamicParticle(theElectron,deltaDirection,deltaKinEnergy); + + vdp->push_back(delta); + + // Change kinematics of primary particle + kineticEnergy -= deltaKinEnergy; + G4ThreeVector finalP = direction*totMomentum - deltaDirection*deltaMomentum; + finalP = finalP.unit(); + + fParticleChange->SetProposedKineticEnergy(kineticEnergy); + fParticleChange->SetProposedMomentumDirection(finalP); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4mplIonisationWithDeltaModel::SampleFluctuations( + const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length, + G4double& meanLoss) +{ + G4double siga = Dispersion(material,dp,tmax,length); + G4double loss = meanLoss; + siga = sqrt(siga); + G4double twomeanLoss = meanLoss + meanLoss; + + if(twomeanLoss < siga) { + G4double x; + do { + loss = twomeanLoss*G4UniformRand(); + x = (loss - meanLoss)/siga; + } while (1.0 - 0.5*x*x < G4UniformRand()); + } else { + do { + loss = G4RandGauss::shoot(meanLoss,siga); + } while (0.0 > loss || loss > twomeanLoss); + } + return loss; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double +G4mplIonisationWithDeltaModel::Dispersion(const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length) +{ + G4double siga = 0.0; + G4double tau = dp->GetKineticEnergy()/mass; + if(tau > 0.0) { + G4double electronDensity = material->GetElectronDensity(); + G4double gam = tau + 1.0; + G4double invbeta2 = (gam*gam)/(tau * (tau+2.0)); + siga = (invbeta2 - 0.5) * twopi_mc2_rcl2 * tmax * length + * electronDensity * chargeSquare; + } + return siga; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double +G4mplIonisationWithDeltaModel::MaxSecondaryEnergy(const G4ParticleDefinition*, + G4double kinEnergy) +{ + G4double tau = kinEnergy/mass; + return 2.0*electron_mass_c2*tau*(tau + 2.); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/lowenergy/CMakeLists.txt b/source/processes/electromagnetic/lowenergy/CMakeLists.txt new file mode 100644 index 0000000000..34c9167444 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4emlowenergy +# Package: Geant4.src.G4processes.G4electromagnetic.G4emlowenergy +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:53:09 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/electromagnetic/lowenergy/History b/source/processes/electromagnetic/lowenergy/History index 2163e490c8..d1b917454c 100644 --- a/source/processes/electromagnetic/lowenergy/History +++ b/source/processes/electromagnetic/lowenergy/History @@ -1,4 +1,4 @@ -$Id: History,v 1.407 2009/12/10 12:26:05 sincerti Exp $ +$Id: History,v 1.477 2010/12/02 18:02:33 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,283 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +02.12.2010 V.Ivanchenko, tag emlowen-V09-03-69 + fixed minor memory leaks in G4VCrossSectinDataSet, G4EMDataSet, + G4LivermoreBremsstrahlungModel, G4LivermoreIonisationModel + +01.12.2010, L.Pandola, tag emlowen-V09-03-68 + Address Coverity reports for a few Penelope/Livermore + models. + +26.11.2010, L.Pandola, tag emlowen-V09-03-67 + Address Coverity reports for a few Penelope/Livermore + +25.11.2010 tag emlowen-V09-03-66 + V.Ivanchenko fixed initialisation in + G4UAtomicDeexcitation: delete objects, use consistent names + +25.11.2010, L.Pandola, tag emlowen-V09-03-65 + Address Coverity reports for a few Penelope/Livermore + classes + +22.11.2010, A.Mantero, tag emlowen-V09-03-64 + changed default for PIXE model + +22.11.2010, A.Mantero, tag emlowen-V09-03-63 + minor fixes + +22.11.2010, A.Mantero, tag emlowen-V09-03-62 + units management in PIXE fixed + calculation bug in G4UAtomicDeexcitation fixed + +19.11.2010, A.Mantero, tag emlowen-V09-03-61 + bug removal from G4LivermoreIonisation + bug removal from G4LivermorePolarizedPhotoElectricModel + +12.11.2010, A.Mantero, tag emlowen-V09-03-60 + minor fixes and added a test for G4UAtomicDeexcitation + in test subdir + +12.11.2010, A.Mantero, tag emlowen-V09-03-59 + Creation of G4UAtomicDeexcitation class, + derived from G4VAtomicDeexcitation in Utils. + It will replace G4AtomicDeexcitation class. + Updated G4hLowEnergyIonisation to use G4UAtomicDeexcitation + instead of G4AtomicDeexcitation. + + +12.11.2010, V. Ivanchenko, tag emlowen-V09-03-58 + G4BoldyshevTripletModel - F.Longo substitute asinh, + because it is abcent at Windows + +12.11.2010, S. Incerti, tag emlowen-V09-03-57 + Renamed inline function in Sanche excitation model + +11.11.2010, S. Incerti, tag emlowen-V09-03-56 + Added new control of low energy limit of G4DNA e- models + Energy ranges adapted accordingly. + +10.11.2010, V. Ivanchenko, tag emlowen-V09-03-55 + F.Longo and G.Depaiola provided new models: + G4BoldyshevTripletModel, G4LivermoreGammaConversionModelRC, + G4LivermoreNuclearGammaConversionModel; + G4LivermorePolarizedGammaConversionModel - fixed element + selection and initialisation + +04.11.2010, S. Incerti, tag emlowen-V09-03-54 + - removed warnings in Rudd ionization classes (SI) + - G4IonParametrisedLossModel - (VI) moved few virtual methods from + inline to source, minor cleanup of initialisation + +03.11.2010, S. Incerti, tag emlowen-V09-03-53 + restricted momentum conservation to electrons + in G4DNA ionisation + +03.11.2010, S. Incerti, tag emlowen-V09-03-52 + new preliminary Geant4-DNA ionisation class for ions by Z. Francis + to be used with G4LEDATA 6.18 + +17.10.2010, S. Incerti, tag emlowen-V09-03-51 + extended low energy coverage of G4DNA electron models + to be used with G4LEDATA 6.17 + +14.10.2010, V. Ivanchenko, tag emlowen-V09-03-50 + G4GeneratorBS - optimise computations to speedup, fixed comments + G4GeneratorBN - fixed comments + G4VBremAngularDistribution - moved to utils + G4ModifiedTsai - moved to standard + +13.10.2010, L. Pandola, tag emlowen-V09-03-49 + Update G4LivermoreIonisationModel to produce fluorescence AlongStep + only if above the production cuts. Stricter check for energy + conservation + +08.10.2010, S. Incerti, tag emlowen-V09-03-48 + Added new excitation model for H + +15.09.2010, S. Incerti, tag emlowen-V09-03-47 + Added protection in xs file opening for G4DNA Sanche excitation + +15.09.2010, S. Incerti, tag emlowen-V09-03-46 + Corrected data file names in G4DNA Melton and Sanche + +08.09.2010, S. Incerti, tag emlowen-V09-03-45 + Updated high energy limits of G4DNAExcitation and G4DNAIonisation + +08.09.2010, S. Incerti, tag emlowen-V09-03-44 + Set high energy limit of G4DNAScreenedRutherfordModel to 1 MeV + +08.09.2010, S. Incerti, tag emlowen-V09-03-43 + Added new G4DNA processes and models for vib. exc & attachment + Provided by Z. Francis et al. - Appl. Rad. Isot. (2010) + http://dx.doi.org/10.1016/j.apradiso.2010.08.011 + to be used with G4LEDATA 6.16 + +08.09.2010, S. Incerti, tag emlowen-V09-03-42 + Decreased low energy limit of G4DNAScreenedRutherfordModel + +05.09.2010, S. Incerti, tag emlowen-V09-03-41 + Bugzilla 1120 + Modified G4PhotoElectricAngularGeneratorSauterGavrila.cc + as proposed by J. Goldberg + +25.08.2010, S. Incerti, tag emlowen-V09-03-40 + - updated & extended Rudd and Miller & Green models + - to be used with G4LEDATA 6.15 + +25.08.2010, S. Incerti, tag emlowen-V09-03-39 + -Adapted all high energy limits of G4DNA electron models + +24.08.2010, S. Incerti, tag emlowen-V09-03-38 + -Changed low energy limit of G4DNA elastic scattering models for e- + -Switched default excitation model for e- to Born + -to be used with G4LEDATA 6.14 + +28.07.2010, L. Pandola, tag emlowen-V09-03-37 + First full version of G4Penelope08IonisationModel, model for e+/e- + ionisation according to Penelope v2008. Still beta version. + +26.07.2010, L. Pandola, tag emlowen-V09-03-36 + Added class G4PenelopeCrossSection to store/handle cross sections + (and higher momenta, like stopping powers) for the updated + Penelope08 e+/e- models (ionisation and bremsstrahlung). + +15.06.2010, G. Cosmo, tag emlowen-V09-03-35 + Corrected return value case in method GetPhotoElectronDirection() + in G4PhotoElectricAngularGeneratorSauterGavrila; addressing problem + report #1120. + Added missing virtual destructor to G4VecpssrKModel and + G4VecpssrLiModel base classes. + +14.06.2010, A. Lechner, tag emlowen-V09-03-34 + Made desctructor of base class G4VIonDEDXScalingAlgorithm virtual + (avoids also compiler warnings). + +10.06.2010, A. Mantero, tag emlowen-V09-03-33 + Fix in G4AugerTransition to cure crash on Windows. + +09.06.2010, A. Mantero, tag emlowen-V09-03-32 + Fixed compilation warning in G4AnalyticalEcpssrKCrossSection. + +08.06.2010, S. Incerti, tag emlowen-V09-03-31 + modified initialisation of e- Emfietzoglou excitation + model in G4DNAEmfietzoglouExcitationModel.cc and + in G4DNAMillerGreenExcitationModel.cc + +07.06.2010, A. Mantero, tag emlowen-V09-03-30 + added analytical (ecpssr) and empirical (Paul and Orlic) + models for the calculation of hadronc shell ionisation CS + +29.04.2010, L. Pandola, tag emlowen-V09-03-29 + Removed the compiler warning in G4PenelopeIonisationModel.cc which + caused the rejection of emlowen-V09-03-28 + +23.04.2010, L. Pandola, tag emlowen-V09-03-28 + Removed useless call in G4PenelopeIonisationModel which triggered fake + warning messages + +15.04.2010, L. Pandola, tag emlowen-V09-03-27 + Added MinEnergyCut() method to G4PenelopeIonisationModel. Small (minor) + changes to other G4Penelope models (mainly clean-up) + +08.04.2010, S. Incerti, tag emlowen-V09-03-26 + Changed computation of scattering angle in G4DNAChampionElasticModel.cc + G4EMLOW 6.12 version needed + +07.04.2010, S. Incerti, tag emlowen-V09-03-25 + Fixed memory leak in G4DNARuddIonisationModel.cc + +06.04.2010, S. Incerti, tag emlowen-V09-03-24 + Replaced hard coded masses in G4DNADingfelderCharge*.cc + +31.03.2010, L. Pandola, tag emlowen-V09-03-23 + Removed G4cout's used for debugging in G4Penelope08ComptonModel and + G4Penelope08PhotoElectricModel + +27.03.2010, S. Incerti, tag emlowen-V09-03-22 + Modified G4DNABornIonisationModel.hh + +27.03.2010, S. Incerti, tag emlowen-V09-03-21 + Modified method declaration in G4DNABornExcitation.hh + +27.03.2010, S. Incerti, tag emlowen-V09-03-20 + Added new excitation model for electrons in G4DNABornExcitationModel + +26.03.2010, S. Incerti, tag emlowen-V09-03-19 + Modified electron correction in G4DNAMillerGreenExcitation.cc + +26.03.2010, S. Incerti, tag emlowen-V09-03-18 + Extended range of search for maximum of DCS in G4DNARuddIonisationModel.cc + +26.03.2010, S. Incerti, tag emlowen-V09-03-17 + Changed default parameters of G4DNAEmfietzoglouExcitationModel.hh + +26.03.2010, tag emlowen-V09-03-16 + - S. Incerti : corrected G4DNABornIonisationModel.cc class + for maximum kinetic energy transfer + - A. Mantero: fixed bugs in G4AtomicDeexcitation.cc, G4AugerTransition.cc + +26.03.2010, L. Pandola, tag emlowen-V09-03-15 + Changed order in some models' constructor to get rid of a valgrind + warning (conditional jump or move depends on unitialized value(s)). + +25.03.2010, S. Incerti, tag emlowen-V09-03-14 + Modified hydrogen correction in G4DNARuddIonisation.cc + +25.03.2010, S. Incerti, tag emlowen-V09-03-13 + Dummy tag + +18.03.2010, S. Incerti, tag emlowen-V09-03-12 + - Re-added vapor water shell constants to G4DNARuddIonisationModel.cc + as suggested by Ziad. + +18.03.2010, S. Incerti, tag emlowen-V09-03-11 + Extended low energy cover of G4DNA charge change processes + +17.03.2010, L. Pandola, tag emlowen-V09-03-10 + Added four new models (gamma ray models Compton, GammaConversion, + PhotoElectric, Rayleigh), upgrades of G4Penelope from version2001 to + version 2008. For now, 2008 models named as G4Penelope08xxxxModel + ** to be used with G4LEDATA version 6.10 ** + +16.03.2010, L. Pandola, tag emlowen-V09-03-09 + Modified public interface of G4PenelopeOscillatorManager (info to be used for + PenelopeIonisation) + +15.03.2010, S. Incerti, tag emlowen-V09-03-08 + Modified electron correction in G4DNARuddIonisationModel.cc + +15.03.2010, L. Pandola tag emlowen-V09-03-07 + Updated public interface of G4LivermorePhotoElectricModel. Removed + possibility to use custom cuts for fluorescence/Auger. Main cuts from + G4ProductionCutsTable are always used - for consistency. + +15.03.2010, L. Pandola tag emlowen-V09-03-06 + Clean-up in Penelope models (explicitely set Auger flag to false in + constructor) + +19.02.2010, L. Pandola tag emlowen-V09-03-05 + Modification in calculations made by G4PenelopeOscillatorManager (Hartree + factors for Penelope Compton Scattering) + +17.02.2010, L. Pandola tag emlowen-V09-03-04 + Updated interface for G4PenelopeOscillatorManager. Still *beta* + +05.02.2010, S. Incerti, tag emlowen-V09-03-03 + Added initialisation to atomTotalCrossSection in G4hShellCrossSectionDoubleExp.cc. + +07.01.2010, S. Incerti, tag emlowen-V09-03-02 + Improved way of testing material in Geant4-DNA models. + +21.12.2009, L. Pandola, tag emlowen-V09-03-01 + Added classes G4PenelopeOscillator* to manage multi-element atomic oscillators used + in Penelope Compton and Ionisation models. Already compliant with Penelope2008. + **Beta version at the moment** + +21.12.2009, L. Pandola, tag emlowen-V09-03-00 + Added a dummy ComputeCrossSectionPerAtom() method in G4PenelopeRayleighModel. + Never inkoved by tracking, issues a warning if users access it via G4EmCalculator. + 10.12.2009, S. Incerti, tag emlowen-V09-02-68 - Added vapor water shell constants to G4DNARuddIonisationModel.cc as suggested by Ziad. diff --git a/source/processes/electromagnetic/lowenergy/include/G4AnalyticalEcpssrKCrossSection.hh b/source/processes/electromagnetic/lowenergy/include/G4AnalyticalEcpssrKCrossSection.hh new file mode 100755 index 0000000000..742c76cc03 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4AnalyticalEcpssrKCrossSection.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: G4AnalyticalEcpssrKCrossSection.hh,v 1.1 2010/06/06 23:40:35 mantero Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ + +#ifndef G4ANALYTICALECPSSRKCROSSSECTION_HH +#define G4ANALYTICALECPSSRKCROSSSECTION_HH 1 + +#include "G4VecpssrKModel.hh" +#include "globals.hh" +#include +#include + +#include "G4DNACrossSectionDataSet.hh" + + +class G4AnalyticalEcpssrKCrossSection : public G4VecpssrKModel +{ +public: + + G4AnalyticalEcpssrKCrossSection(); + + ~G4AnalyticalEcpssrKCrossSection(); + + + G4double CalculateCrossSection(G4int, G4double, G4double);//according to W.Brandt and G.Lapicki, Phys.Rev.A23(1981) + + G4double ExpIntFunction(G4int n,G4double x);//Exponential Integral Function + +private: + + G4AnalyticalEcpssrKCrossSection(const G4AnalyticalEcpssrKCrossSection&); + G4AnalyticalEcpssrKCrossSection & operator = (const G4AnalyticalEcpssrKCrossSection &right); + + G4double FunctionFK(G4double k, G4double theta); + + G4double LogLogInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2); + + G4double LinLogInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2); + + G4double QuadInterpolator(G4double e11, + G4double e12, + G4double e21, + G4double e22, + G4double x11, + G4double x12, + G4double x21, + G4double x22, + G4double t1, + G4double t2, + G4double t, + G4double e); + + typedef std::map > TriDimensionMap; + + TriDimensionMap FKData; + std::vector dummyVec; + + typedef std::map > VecMap; + VecMap aVecMap; + + G4int verboseLevel; + + G4DNACrossSectionDataSet* tableC1; + G4DNACrossSectionDataSet* tableC2; + G4DNACrossSectionDataSet* tableC3; +}; + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4AnalyticalEcpssrLiCrossSection.hh b/source/processes/electromagnetic/lowenergy/include/G4AnalyticalEcpssrLiCrossSection.hh new file mode 100755 index 0000000000..ecf54a332f --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4AnalyticalEcpssrLiCrossSection.hh @@ -0,0 +1,125 @@ +// +// ******************************************************************** +// * 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: G4AnalyticalEcpssrLiCrossSection.hh,v 1.2 2010/06/25 09:41:09 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// Author: Haifa Ben Abdelouahed +// +// +// History: +// ----------- +// 23 Apr 2008 H. Ben Abdelouahed 1st implementation +// 28 Apr 2008 MGP Major revision according to a design iteration +// 29 Apr 2009 ALF Updated Desing for Integration +// 01 Sep 2009 ALF Updated to G4AnalyticalEcpssrLiCrossSection +// +// ------------------------------------------------------------------- + +// Class description: +// Low Energy Electromagnetic Physics, Cross section, p and alpha ionisation, L shell +// Further documentation available from http://www.ge.infn.it/geant4/lowE + +// ------------------------------------------------------------------- + + +#ifndef G4ANALYTICALECPSSRLICROSSSECTION_HH +#define G4ANALYTICALECPSSRLICROSSSECTION_HH 1 + +#include "G4VecpssrLiModel.hh" +#include "globals.hh" +#include +#include + +class G4AnalyticalEcpssrLiCrossSection : public G4VecpssrLiModel + +{ +public: + + G4AnalyticalEcpssrLiCrossSection(); + + ~G4AnalyticalEcpssrLiCrossSection(); + + G4double CalculateL1CrossSection(G4int zTarget,G4double massIncident, G4double energyIncident);//according to W.Brandt and G.Lapicki, Phys.Rev.A23(1981) + + G4double CalculateL2CrossSection(G4int zTarget,G4double massIncident, G4double energyIncident);//according to W.Brandt and G.Lapicki, Phys.Rev.A23(1981) + + G4double CalculateL3CrossSection(G4int zTarget,G4double massIncident, G4double energyIncident);//according to W.Brandt and G.Lapicki, Phys.Rev.A23(1981) + + G4double CalculateVelocity(G4int subShell, G4int zTarget,G4double massIncident, G4double energyIncident); + + G4double ExpIntFunction(G4int n,G4double x);//Exponential Integral Function + + + +private: + + + G4AnalyticalEcpssrLiCrossSection(const G4AnalyticalEcpssrLiCrossSection&); + G4AnalyticalEcpssrLiCrossSection & operator = (const G4AnalyticalEcpssrLiCrossSection &right); + + G4double FunctionFL1(G4double k, G4double theta); + + G4double FunctionFL2(G4double k, G4double theta); + + + G4double LogLogInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2); + + G4double LinLogInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2); + + G4double LinLinInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2); + + G4double QuadInterpolator(G4double e11, + G4double e12, + G4double e21, + G4double e22, + G4double x11, + G4double x12, + G4double x21, + G4double x22, + G4double t1, + G4double t2, + G4double t, + G4double e); + + typedef std::map > TriDimensionMap; + + TriDimensionMap FL1Data; + + TriDimensionMap FL2Data; + std::vector dummyVec1; + std::vector dummyVec2; + + + + typedef std::map > VecMap; + VecMap aVecMap1; + VecMap aVecMap2; + + G4int verboseLevel; + +}; + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4BoldyshevTripletModel.hh b/source/processes/electromagnetic/lowenergy/include/G4BoldyshevTripletModel.hh new file mode 100644 index 0000000000..78a4acc8d7 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4BoldyshevTripletModel.hh @@ -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. * +// ******************************************************************** +// +// $Id: G4BoldyshevTripletModel.hh,v 1.1 2010/11/10 17:09:16 flongo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +#ifndef G4BoldyshevTripletModel_h +#define G4BoldyshevTripletModel_h 1 + +#include "G4VEmModel.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4ParticleChangeForGamma.hh" +#include "G4CrossSectionHandler.hh" +#include "G4ForceCondition.hh" +#include "G4CompositeEMDataSet.hh" +#include "G4Gamma.hh" + +class G4BoldyshevTripletModel : public G4VEmModel +{ + +public: + + G4BoldyshevTripletModel(const G4ParticleDefinition* p = 0, + const G4String& nam = "BoldyshevTriplet"); + + virtual ~G4BoldyshevTripletModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double ComputeCrossSectionPerAtom( + const G4ParticleDefinition*, + G4double kinEnergy, + G4double Z, + G4double A=0, + G4double cut=0, + G4double emax=DBL_MAX); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + +protected: + + G4ParticleChangeForGamma* fParticleChange; + + G4double GetMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition); +private: + + const G4double smallEnergy; + G4double lowEnergyLimit; + G4double highEnergyLimit; + + G4int verboseLevel; + G4bool isInitialised; + + G4VCrossSectionHandler* crossSectionHandler; + G4VEMDataSet* meanFreePathTable; + + G4BoldyshevTripletModel & operator=(const G4BoldyshevTripletModel &right); + G4BoldyshevTripletModel(const G4BoldyshevTripletModel&); + + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAAttachment.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAAttachment.hh new file mode 100644 index 0000000000..ee69c523fc --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAAttachment.hh @@ -0,0 +1,68 @@ +// +// ******************************************************************** +// * 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: G4DNAAttachment.hh,v 1.1 2010/09/08 13:46:45 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Created by Z. Francis + +#ifndef G4DNAAttachment_h +#define G4DNAAttachment_h 1 + +#include "G4VEmProcess.hh" + +// Available models +#include "G4DNAMeltonAttachmentModel.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class G4DNAAttachment : public G4VEmProcess + +{ +public: + + G4DNAAttachment(const G4String& processName ="DNAAttachment", + G4ProcessType type = fElectromagnetic); + + virtual ~G4DNAAttachment(); + + virtual G4bool IsApplicable(const G4ParticleDefinition&); + + virtual void PrintInfo(); + +protected: + + virtual void InitialiseProcess(const G4ParticleDefinition*); + +private: + + G4bool isInitialised; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNABornExcitationModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNABornExcitationModel.hh index 997d26c78c..9c754a1735 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNABornExcitationModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNABornExcitationModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNABornExcitationModel.hh,v 1.1 2009/01/12 14:26:02 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNABornExcitationModel.hh,v 1.4 2010/03/27 12:46:51 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef G4DNABornExcitationModel_h @@ -36,6 +36,7 @@ #include "G4DNACrossSectionDataSet.hh" #include "G4LogLogInterpolation.hh" +#include "G4Electron.hh" #include "G4Proton.hh" #include "G4WaterExcitationStructure.hh" @@ -49,7 +50,7 @@ public: virtual ~G4DNABornExcitationModel(); - virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector& = *(new G4DataVector()) ); virtual G4double CrossSectionPerVolume(const G4Material* material, const G4ParticleDefinition* p, @@ -69,30 +70,30 @@ protected: private: - G4double lowEnergyLimit; - G4double highEnergyLimit; + std::map > lowEnergyLimit; + std::map > highEnergyLimit; + G4bool isInitialised; G4int verboseLevel; // Cross section - G4DNACrossSectionDataSet* table; + typedef std::map > MapFile; + MapFile tableFile; + + typedef std::map > MapData; + MapData tableData; // Partial cross section - G4int RandomSelect(G4double energy); + G4int RandomSelect(G4double energy,const G4String& particle ); // Final state G4WaterExcitationStructure waterStructure; - // Test water material - - G4bool flagMaterialIsWater; - G4double densityWater; - // - + G4DNABornExcitationModel & operator=(const G4DNABornExcitationModel &right); G4DNABornExcitationModel(const G4DNABornExcitationModel&); diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNABornIonisationModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNABornIonisationModel.hh index 50854973c4..514fc16625 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNABornIonisationModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNABornIonisationModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNABornIonisationModel.hh,v 1.3 2009/06/26 10:15:19 mantero Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNABornIonisationModel.hh,v 1.5 2010/03/28 18:33:19 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef G4DNABornIonisationModel_h @@ -54,7 +54,7 @@ public: virtual ~G4DNABornIonisationModel(); - virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector& = *(new G4DataVector())); virtual G4double CrossSectionPerVolume( const G4Material* material, const G4ParticleDefinition* p, @@ -67,6 +67,8 @@ public: const G4DynamicParticle*, G4double tmin, G4double maxEnergy); + + double DifferentialCrossSection(G4ParticleDefinition * aParticleDefinition, G4double k, G4double energyTransfer, G4int shell); protected: @@ -97,8 +99,6 @@ private: void RandomizeEjectedElectronDirection(G4ParticleDefinition * aParticleDefinition, G4double incomingParticleEnergy, G4double outgoingParticleEnergy, G4double & cosTheta, G4double & phi ); - double DifferentialCrossSection(G4ParticleDefinition * aParticleDefinition, G4double k, G4double energyTransfer, G4int shell); - G4double LogLogInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2); G4double QuadInterpolator( G4double e11, @@ -128,11 +128,6 @@ private: G4int RandomSelect(G4double energy,const G4String& particle ); - // Test water material - - G4bool flagMaterialIsWater; - G4double densityWater; - // G4DNABornIonisationModel & operator=(const G4DNABornIonisationModel &right); diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAChampionElasticModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAChampionElasticModel.hh index b7bdb6ebec..e6e5a2ef32 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAChampionElasticModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAChampionElasticModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAChampionElasticModel.hh,v 1.1 2009/01/12 14:26:02 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAChampionElasticModel.hh,v 1.4 2010/11/11 22:32:22 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4DNAChampionElasticModel_h @@ -44,23 +44,26 @@ class G4DNAChampionElasticModel : public G4VEmModel public: G4DNAChampionElasticModel(const G4ParticleDefinition* p = 0, - const G4String& nam = "DNAChampionElasticModel"); + const G4String& nam = "DNAChampionElasticModel"); virtual ~G4DNAChampionElasticModel(); virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); virtual G4double CrossSectionPerVolume(const G4Material* material, - const G4ParticleDefinition* p, - G4double ekin, - G4double emin, - G4double emax); + const G4ParticleDefinition* p, + G4double ekin, + G4double emin, + G4double emax); virtual void SampleSecondaries(std::vector*, const G4MaterialCutsCouple*, const G4DynamicParticle*, G4double tmin, G4double maxEnergy); + + inline void SetKillBelowThreshold (G4double threshold); + G4double GetKillBelowThreshold () { return killBelowEnergy; } protected: @@ -70,7 +73,6 @@ private: G4double killBelowEnergy; G4double lowEnergyLimit; - G4double lowEnergyLimitOfModel; G4double highEnergyLimit; G4bool isInitialised; G4int verboseLevel; @@ -85,12 +87,16 @@ private: // Final state - G4double DifferentialCrossSection(G4ParticleDefinition * aParticleDefinition, G4double k, G4double theta); + //G4double DifferentialCrossSection(G4ParticleDefinition * aParticleDefinition, G4double k, G4double theta); + + G4double Theta(G4ParticleDefinition * aParticleDefinition, G4double k, G4double integrDiff); + + G4double LinLinInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2); - G4double LogLogInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2); - G4double LinLogInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2); + G4double LogLogInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2); + G4double QuadInterpolator(G4double e11, G4double e12, G4double e21, @@ -114,11 +120,6 @@ private: G4double RandomizeCosTheta(G4double k); - // Test water material - - G4bool flagMaterialIsWater; - G4double densityWater; - // G4DNAChampionElasticModel & operator=(const G4DNAChampionElasticModel &right); @@ -126,6 +127,18 @@ private: }; + +inline void G4DNAChampionElasticModel::SetKillBelowThreshold (G4double threshold) +{ + killBelowEnergy = threshold; + + if (threshold < 1*eV) + G4Exception ("*** WARNING : the G4DNAChampionElasticModel class is not validated below 1 eV !","",JustWarning,"") ; + + if (threshold < 0.025*eV) threshold = 0.025*eV; + +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeDecreaseModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeDecreaseModel.hh index 8985a42787..7debd3530b 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeDecreaseModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeDecreaseModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNADingfelderChargeDecreaseModel.hh,v 1.1 2009/01/12 14:26:02 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNADingfelderChargeDecreaseModel.hh,v 1.2 2010/01/07 18:10:19 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef G4DNADingfelderChargeDecreaseModel_h @@ -103,11 +103,6 @@ private: G4double OutgoingParticleBindingEnergyConstant(G4ParticleDefinition* particleDefinition, G4int finalStateIndex); - // Test water material - - G4bool flagMaterialIsWater; - G4double densityWater; - // G4DNADingfelderChargeDecreaseModel & operator=(const G4DNADingfelderChargeDecreaseModel &right); diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeIncreaseModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeIncreaseModel.hh index b951796ef5..832ecbb7ad 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeIncreaseModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeIncreaseModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNADingfelderChargeIncreaseModel.hh,v 1.1 2009/01/12 14:26:02 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNADingfelderChargeIncreaseModel.hh,v 1.2 2010/01/07 18:10:19 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef G4DNADingfelderChargeIncreaseModel_h @@ -106,11 +106,6 @@ private: G4double IncomingParticleBindingEnergyConstant(G4ParticleDefinition* particleDefinition, G4int finalStateIndex); - // Test water material - - G4bool flagMaterialIsWater; - G4double densityWater; - // G4DNADingfelderChargeIncreaseModel & operator=(const G4DNADingfelderChargeIncreaseModel &right); diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouExcitationModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouExcitationModel.hh index 99cd807874..92097189a8 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouExcitationModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouExcitationModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAEmfietzoglouExcitationModel.hh,v 1.1 2009/01/12 14:26:02 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAEmfietzoglouExcitationModel.hh,v 1.3 2010/03/26 19:52:44 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef G4DNAEmfietzoglouExcitationModel_h @@ -49,7 +49,7 @@ public: virtual ~G4DNAEmfietzoglouExcitationModel(); - virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector& = *(new G4DataVector()) ); virtual G4double CrossSectionPerVolume(const G4Material* material, const G4ParticleDefinition* p, @@ -88,11 +88,6 @@ private: G4WaterExcitationStructure waterExcitation; - // Test water material - - G4bool flagMaterialIsWater; - G4double densityWater; - // G4DNAEmfietzoglouExcitationModel & operator=(const G4DNAEmfietzoglouExcitationModel &right); diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAMeltonAttachmentModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAMeltonAttachmentModel.hh new file mode 100644 index 0000000000..106b6c2e9d --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAMeltonAttachmentModel.hh @@ -0,0 +1,97 @@ +// +// ******************************************************************** +// * 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: G4DNAMeltonAttachmentModel.hh,v 1.1 2010/09/08 13:46:45 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Created by Z. Francis + +#ifndef G4DNAMeltonAttachmentModel_h +#define G4DNAMeltonAttachmentModel_h 1 + +#include "G4VEmModel.hh" +#include "G4ParticleChangeForGamma.hh" +#include "G4DNAGenericIonsManager.hh" +#include "G4DNACrossSectionDataSet.hh" +#include "G4Electron.hh" +#include "G4LogLogInterpolation.hh" + +class G4DNAMeltonAttachmentModel : public G4VEmModel +{ + +public: + + G4DNAMeltonAttachmentModel(const G4ParticleDefinition* p = 0, + const G4String& nam = "DNAMeltonAttachmentModel"); + + virtual ~G4DNAMeltonAttachmentModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double CrossSectionPerVolume(const G4Material* material, + const G4ParticleDefinition* p, + G4double ekin, + G4double emin, + G4double emax); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + +protected: + + G4ParticleChangeForGamma* fParticleChangeForGamma; + +private: + + G4double lowEnergyLimit; + G4double highEnergyLimit; + G4double lowEnergyLimitOfModel; + G4bool isInitialised; + G4int verboseLevel; + + // Cross section + + typedef std::map > MapFile; + MapFile tableFile; + + typedef std::map > MapData; + MapData tableData; + + // + + G4DNAMeltonAttachmentModel & operator=(const G4DNAMeltonAttachmentModel &right); + G4DNAMeltonAttachmentModel(const G4DNAMeltonAttachmentModel&); + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAMillerGreenExcitationModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAMillerGreenExcitationModel.hh index 40ac0614cf..3b0d52ba4a 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAMillerGreenExcitationModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAMillerGreenExcitationModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAMillerGreenExcitationModel.hh,v 1.1 2009/01/12 14:26:03 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAMillerGreenExcitationModel.hh,v 1.2 2010/01/07 18:10:19 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef G4DNAMillerGreenExcitationModel_h @@ -114,13 +114,6 @@ private: G4double slaterEffectiveCharge[3][4]; G4double sCoefficient[3][4]; - // Final state - - // Test water material - - G4bool flagMaterialIsWater; - G4double densityWater; - // G4DNAMillerGreenExcitationModel & operator=(const G4DNAMillerGreenExcitationModel &right); diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNARuddIonisationExtendedModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNARuddIonisationExtendedModel.hh new file mode 100644 index 0000000000..8e063add73 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4DNARuddIonisationExtendedModel.hh @@ -0,0 +1,162 @@ +// +// ******************************************************************** +// * 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: G4DNARuddIonisationExtendedModel.hh,v 1.1 2010/11/03 10:44:26 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +#ifndef G4DNARuddIonisationExtendedModel_h +#define G4DNARuddIonisationExtendedModel_h 1 + +#include "G4VEmModel.hh" +#include "G4ParticleChangeForGamma.hh" +#include "G4ProductionCutsTable.hh" + +#include "G4DNAGenericIonsManager.hh" +#include "G4DNACrossSectionDataSet.hh" +#include "G4Electron.hh" +#include "G4Proton.hh" +#include "G4LogLogInterpolation.hh" + +#include "G4WaterIonisationStructure.hh" + +class G4DNARuddIonisationExtendedModel : public G4VEmModel +{ + +public: + + G4DNARuddIonisationExtendedModel(const G4ParticleDefinition* p = 0, + const G4String& nam = "DNARuddIonisationExtendedModel"); + + virtual ~G4DNARuddIonisationExtendedModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double CrossSectionPerVolume( const G4Material* material, + const G4ParticleDefinition* p, + G4double ekin, + G4double emin, + G4double emax); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + +protected: + + G4ParticleChangeForGamma* fParticleChangeForGamma; + +private: + + std::map > lowEnergyLimit; + std::map > highEnergyLimit; +// ZF 26-10-2010 + std::map lowEnergyLimitForA, lowEnergyLimitOfModelForA, killBelowEnergyForA; + + G4bool isInitialised; + G4int verboseLevel; + + // Cross section + + typedef std::map > MapFile; + MapFile tableFile; + + typedef std::map > MapData; + MapData tableData; + + // Final state + + G4WaterIonisationStructure waterStructure; + + G4double RandomizeEjectedElectronEnergy(G4ParticleDefinition* particleDefinition, + G4double incomingParticleEnergy, + G4int shell); + + void RandomizeEjectedElectronDirection(G4ParticleDefinition* particleDefinition, + G4double incomingParticleEnergy, + G4double outgoingParticleEnergy, + G4double & cosTheta, + G4double & phi, G4int shell); + + G4double RejectionFunction(G4ParticleDefinition* particle, + G4double k, + G4double proposed_ws, + G4int ionizationLevelIndex); + + G4double ProposedSampledEnergy(G4ParticleDefinition* particle, + G4double k, + G4int ionizationLevelIndex); + + G4double CorrectionFactor(G4ParticleDefinition* particleDefinition, G4double k, G4int shell); + + G4double S_1s(G4double t, + G4double energyTransferred, + G4double slaterEffectiveChg, + G4double shellNumber); + + G4double S_2s(G4double t, + G4double energyTransferred, + G4double slaterEffectiveChg, + G4double shellNumber); + + + G4double S_2p(G4double t, + G4double energyTransferred, + G4double slaterEffectiveChg, + G4double shellNumber); + + G4double R(G4double t, + G4double energyTransferred, + G4double slaterEffectiveChg, + G4double shellNumber) ; + + G4double slaterEffectiveCharge[3]; + G4double sCoefficient[3]; + + // Partial cross section + + G4double PartialCrossSection(const G4Track& track); + + G4double Sum(G4double energy, const G4String& particle); + + G4int RandomSelect(G4double energy,const G4String& particle ); + + // Test water material + + G4bool flagMaterialIsWater; + G4double densityWater; + + // + + G4DNARuddIonisationExtendedModel & operator=(const G4DNARuddIonisationExtendedModel &right); + G4DNARuddIonisationExtendedModel(const G4DNARuddIonisationExtendedModel&); + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNARuddIonisationModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNARuddIonisationModel.hh index 8489c7f87e..09e64bb9b3 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNARuddIonisationModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNARuddIonisationModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNARuddIonisationModel.hh,v 1.3 2009/06/26 09:42:32 mantero Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNARuddIonisationModel.hh,v 1.4 2010/01/07 18:10:19 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef G4DNARuddIonisationModel_h @@ -147,11 +147,6 @@ private: G4int RandomSelect(G4double energy,const G4String& particle ); - // Test water material - - G4bool flagMaterialIsWater; - G4double densityWater; - // G4DNARuddIonisationModel & operator=(const G4DNARuddIonisationModel &right); diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNASancheExcitationModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNASancheExcitationModel.hh new file mode 100644 index 0000000000..daaa4815ba --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4DNASancheExcitationModel.hh @@ -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. * +// ******************************************************************** +// +// $Id: G4DNASancheExcitationModel.hh,v 1.3 2010/11/11 23:43:35 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Created by Z. Francis + +#ifndef G4DNASancheExcitationModel_h +#define G4DNASancheExcitationModel_h 1 + +#include "G4VEmModel.hh" +#include "G4ParticleChangeForGamma.hh" +#include +#include "G4Electron.hh" + +class G4DNASancheExcitationModel : public G4VEmModel +{ + +public: + + G4DNASancheExcitationModel(const G4ParticleDefinition* p = 0, + const G4String& nam = "DNASancheExcitationModel"); + + virtual ~G4DNASancheExcitationModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double CrossSectionPerVolume(const G4Material* material, + const G4ParticleDefinition* p, + G4double ekin, + G4double emin, + G4double emax); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + // Cross section + + G4double PartialCrossSection(G4double energy,G4int level); + + inline void ExtendLowEnergyLimit (G4double /*threshold*/); + +protected: + + G4ParticleChangeForGamma* fParticleChangeForGamma; + +private: + + G4double killBelowEnergy; + G4double lowEnergyLimit; + G4double highEnergyLimit; + G4bool isInitialised; + G4int verboseLevel; + + // Cross section + + G4int RandomSelect(G4double energy); + G4int nLevels; + G4double VibrationEnergy(G4int level); + G4double Sum(G4double k); + G4double LinInterpolate(G4double e1, + G4double e2, + G4double e, + G4double xs1, + G4double xs2); + + // + typedef std::map > TriDimensionMap; + TriDimensionMap map1; + std::vector tdummyVec; + + // + G4DNASancheExcitationModel & operator=(const G4DNASancheExcitationModel &right); + G4DNASancheExcitationModel(const G4DNASancheExcitationModel&); + +}; + +inline void G4DNASancheExcitationModel::ExtendLowEnergyLimit (G4double threshold) +{ + lowEnergyLimit = threshold; + if (lowEnergyLimit < 2*eV) + G4Exception ("*** WARNING : the G4DNASancheExcitationModel class is not validated below 2 eV !","",JustWarning,"") ; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAScreenedRutherfordElasticModel.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAScreenedRutherfordElasticModel.hh index 6b8d7a74e5..1d58fd4b7b 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAScreenedRutherfordElasticModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAScreenedRutherfordElasticModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAScreenedRutherfordElasticModel.hh,v 1.1 2009/01/12 14:26:03 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAScreenedRutherfordElasticModel.hh,v 1.4 2010/11/11 22:32:22 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4DNAScreenedRutherfordElasticModel_h @@ -58,6 +58,9 @@ public: G4double tmin, G4double maxEnergy); + inline void SetKillBelowThreshold (G4double threshold); + G4double GetKillBelowThreshold () { return killBelowEnergy; } + protected: G4ParticleChangeForGamma* fParticleChangeForGamma; @@ -66,8 +69,7 @@ private: G4double killBelowEnergy; G4double lowEnergyLimit; - G4double lowEnergyLimitOfModel; - G4double intermediateEnergyLimit; + G4double intermediateEnergyLimit; G4double highEnergyLimit; G4bool isInitialised; G4int verboseLevel; @@ -92,11 +94,6 @@ private: G4double ScreenedRutherfordRandomizeCosTheta(G4double k, G4double z); - // Test water material - - G4bool flagMaterialIsWater; - G4double densityWater; - // G4DNAScreenedRutherfordElasticModel & operator=(const G4DNAScreenedRutherfordElasticModel &right); @@ -104,6 +101,13 @@ private: }; +inline void G4DNAScreenedRutherfordElasticModel::SetKillBelowThreshold (G4double threshold) +{ + killBelowEnergy = threshold; + if (threshold < 9*eV) + G4Exception ("*** WARNING : the G4DNAScreenedRutherfordElasticModel class is not validated below 9 eV !","",JustWarning,"") ; +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAVibExcitation.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAVibExcitation.hh new file mode 100644 index 0000000000..dd95294c36 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAVibExcitation.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. * +// ******************************************************************** +// +// $Id: G4DNAVibExcitation.hh,v 1.1 2010/09/08 13:46:45 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Created by Z. Francis + +#ifndef G4DNAVibExcitation_h +#define G4DNAVibExcitation_h 1 + +#include "G4VEmProcess.hh" + +// Available models +#include "G4DNASancheExcitationModel.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class G4DNAVibExcitation : public G4VEmProcess +{ +public: + + G4DNAVibExcitation(const G4String& processName ="DNAVibrationalExcitation", + G4ProcessType type = fElectromagnetic); + + virtual ~G4DNAVibExcitation(); + + virtual G4bool IsApplicable(const G4ParticleDefinition&); + + virtual void PrintInfo(); + +protected: + + virtual void InitialiseProcess(const G4ParticleDefinition*); + +private: + + G4bool isInitialised; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4Generator2BN.hh b/source/processes/electromagnetic/lowenergy/include/G4Generator2BN.hh index 9d61b50daf..5bad153039 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4Generator2BN.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4Generator2BN.hh @@ -23,6 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4Generator2BN.hh,v 1.4 2010/10/14 14:00:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -62,9 +64,9 @@ class G4Generator2BN : public G4VBremAngularDistribution public: - G4Generator2BN(const G4String& name); + G4Generator2BN(const G4String& name = ""); - ~G4Generator2BN(); + virtual ~G4Generator2BN(); G4double PolarAngle(const G4double initial_energy, const G4double final_energy, diff --git a/source/processes/electromagnetic/lowenergy/include/G4Generator2BS.hh b/source/processes/electromagnetic/lowenergy/include/G4Generator2BS.hh index 12212ee924..0d66687880 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4Generator2BS.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4Generator2BS.hh @@ -23,6 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4Generator2BS.hh,v 1.5 2010/10/14 14:00:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -38,13 +40,15 @@ // Creation date: 2 June 2003 // // Modifications: -// 02 Jun 2003 First implementation acording with new design +// 02 Jun 2003 First implementation acording with new design +// 12 Oct 2010 V.Ivanchenko moved RejectionFunction inline // // // Class Description: // -// Concrete class for Bremsstrahlung Angular Distribution Generation - 2BS Distribution -// Further documentation available from http://www.ge.infn.it/geant4/lowE +// Concrete class for Bremsstrahlung Angular Distribution Generation +// 2BS Distribution +// // ------------------------------------------------------------------- // @@ -56,14 +60,16 @@ #include "globals.hh" #include "G4VBremAngularDistribution.hh" +class G4Pow; + class G4Generator2BS : public G4VBremAngularDistribution { public: - G4Generator2BS(const G4String& name); + G4Generator2BS(const G4String& name=""); - ~G4Generator2BS(); + virtual ~G4Generator2BS(); G4double PolarAngle(const G4double initial_energy, const G4double final_energy, @@ -73,18 +79,28 @@ public: protected: - G4double RejectionFunction(G4double value) const; + inline G4double RejectionFunction(G4double value) const; private: + G4double z; G4double rejection_argument1, rejection_argument2, rejection_argument3; G4double EnergyRatio; + G4Pow* g4pow; + // hide assignment operator - G4Generator2BS & operator=(const G4Generator2BS &right); - G4Generator2BS(const G4Generator2BS&); + G4Generator2BS & operator=(const G4Generator2BS &right); + G4Generator2BS(const G4Generator2BS&); }; +inline G4double G4Generator2BS::RejectionFunction(G4double value) const +{ + G4double argument = (1+value)*(1+value); + return (4+std::log(rejection_argument3+(z/argument)))* + ((4*EnergyRatio*value/argument)-rejection_argument1)+rejection_argument2; +} + #endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4IonParametrisedLossModel.hh b/source/processes/electromagnetic/lowenergy/include/G4IonParametrisedLossModel.hh index 22dea45b9d..35f5da193c 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4IonParametrisedLossModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4IonParametrisedLossModel.hh @@ -23,7 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// +// $Id: G4IonParametrisedLossModel.hh,v 1.8 2010/11/04 12:21:47 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // =========================================================================== // GEANT4 class header file @@ -135,7 +136,7 @@ class G4IonParametrisedLossModel : public G4VEmModel { G4double); // Length of current step // Function, which computes the mean energy transfer rate to delta rays - G4double DeltaRayMeanEnergyTransferRate( + inline G4double DeltaRayMeanEnergyTransferRate( const G4Material*, // Target Material const G4ParticleDefinition*, // Projectile G4double, // Kinetic energy of projectile @@ -182,7 +183,7 @@ class G4IonParametrisedLossModel : public G4VEmModel { // Function checking the applicability of physics tables to ion-material // combinations (Note: the energy range of tables is not checked) - LossTableList::iterator IsApplicable( + inline LossTableList::iterator IsApplicable( const G4ParticleDefinition*, // Projectile (ion) const G4Material*); // Target material @@ -207,9 +208,11 @@ class G4IonParametrisedLossModel : public G4VEmModel { G4bool); // Logarithmic scaling of energy // Function for setting energy loss limit for stopping power integration - void SetEnergyLossLimit(G4double ionEnergyLossLimit); + inline void SetEnergyLossLimit(G4double ionEnergyLossLimit); protected: + + virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*, G4double); // Kinetic energy of projectile @@ -230,7 +233,7 @@ class G4IonParametrisedLossModel : public G4VEmModel { const G4MaterialCutsCouple*); // Target material // Function, which updates parameters concering particle properties - void UpdateCache( + inline void UpdateCache( const G4ParticleDefinition*); // Projectile (ion) // Function, which builds range vs energy (and energy vs range) vectors @@ -286,13 +289,10 @@ class G4IonParametrisedLossModel : public G4VEmModel { // ###################################################################### // Pointer to particle change object, which is used to set e.g. the - // energy loss due to nuclear stopping + // energy loss and secondary delta-electron + // used indicating if model is initialized G4ParticleChangeForLoss* particleChangeLoss; - // Flag indicating if model is initialized (i.e. if - // G4ParticleChangeForLoss was created) - G4bool modelIsInitialised; - // ###################################################################### // # Corrections and energy loss limit // # diff --git a/source/processes/electromagnetic/lowenergy/include/G4IonParametrisedLossModel.icc b/source/processes/electromagnetic/lowenergy/include/G4IonParametrisedLossModel.icc index 65556884c5..45be2a3d70 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4IonParametrisedLossModel.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4IonParametrisedLossModel.icc @@ -23,7 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// +// $Id: G4IonParametrisedLossModel.icc,v 1.7 2010/11/04 12:21:47 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // =========================================================================== // GEANT4 class @@ -42,6 +43,7 @@ // (tables are now built in initialisation phase), // Minor bug fix in ComputeDEDXPerVolume (AL) // 20. 11. 2009 - Added set-method for energy loss limit (AL) +// 04. 11. 2010 - Moved virtual methods to the source (VI) // // Class description: // Model for computing the energy loss of ions by employing a @@ -54,7 +56,6 @@ // // =========================================================================== - inline G4double G4IonParametrisedLossModel::DeltaRayMeanEnergyTransferRate( const G4Material* material, const G4ParticleDefinition* particle, @@ -115,35 +116,6 @@ inline G4double G4IonParametrisedLossModel::DeltaRayMeanEnergyTransferRate( return meanRate; } - -inline -G4double G4IonParametrisedLossModel::MaxSecondaryEnergy( - const G4ParticleDefinition* particle, - G4double kineticEnergy) { - - // ############## Maximum energy of secondaries ########################## - // Function computes maximum energy of secondary electrons which are - // released by an ion - // - // See Geant4 physics reference manual (version 9.1), section 9.1.1 - // - // Ref.: W.M. Yao et al, Jour. of Phys. G 33 (2006) 1. - // C.Caso et al. (Part. Data Group), Europ. Phys. Jour. C 3 1 (1998). - // B. Rossi, High energy particles, New York, NY: Prentice-Hall (1952). - // - // (Implementation adapted from G4BraggIonModel) - - if(particle != cacheParticle) UpdateCache(particle); - - G4double tau = kineticEnergy/cacheMass; - G4double tmax = 2.0 * electron_mass_c2 * tau * (tau + 2.) / - (1. + 2.0 * (tau + 1.) * cacheElecMassRatio + - cacheElecMassRatio * cacheElecMassRatio); - - return tmax; -} - - inline void G4IonParametrisedLossModel::UpdateCache( const G4ParticleDefinition* particle) { @@ -155,35 +127,6 @@ void G4IonParametrisedLossModel::UpdateCache( cacheChargeSquare = q * q; } - -inline -G4double G4IonParametrisedLossModel::GetChargeSquareRatio( - const G4ParticleDefinition* particle, - const G4Material* material, - G4double kineticEnergy) { // Kinetic energy - - G4double chargeSquareRatio = corrections -> - EffectiveChargeSquareRatio(particle, - material, - kineticEnergy); - corrFactor = chargeSquareRatio * - corrections -> EffectiveChargeCorrection(particle, - material, - kineticEnergy); - return corrFactor; -} - - -inline -G4double G4IonParametrisedLossModel::GetParticleCharge( - const G4ParticleDefinition* particle, - const G4Material* material, - G4double kineticEnergy) { // Kinetic energy - - return corrections -> GetParticleCharge(particle, material, kineticEnergy); -} - - inline LossTableList::iterator G4IonParametrisedLossModel::IsApplicable( const G4ParticleDefinition* particle, // Projectile (ion) diff --git a/source/processes/electromagnetic/lowenergy/include/G4LivermoreGammaConversionModelRC.hh b/source/processes/electromagnetic/lowenergy/include/G4LivermoreGammaConversionModelRC.hh new file mode 100644 index 0000000000..a733edc639 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4LivermoreGammaConversionModelRC.hh @@ -0,0 +1,97 @@ +// +// ******************************************************************** +// * 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: G4LivermoreGammaConversionModelRC.hh,v 1.1 2010/11/10 17:12:21 flongo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +#ifndef G4LivermoreGammaConversionModelRC_h +#define G4LivermoreGammaConversionModelRC_h 1 + +#include "G4VEmModel.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4ParticleChangeForGamma.hh" +#include "G4CrossSectionHandler.hh" +#include "G4ForceCondition.hh" +#include "G4CompositeEMDataSet.hh" +#include "G4Gamma.hh" + +class G4LivermoreGammaConversionModelRC : public G4VEmModel +{ + +public: + + G4LivermoreGammaConversionModelRC(const G4ParticleDefinition* p = 0, + const G4String& nam = "LivermoreConversion"); + + virtual ~G4LivermoreGammaConversionModelRC(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double ComputeCrossSectionPerAtom( + const G4ParticleDefinition*, + G4double kinEnergy, + G4double Z, + G4double A=0, + G4double cut=0, + G4double emax=DBL_MAX); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + +protected: + + G4ParticleChangeForGamma* fParticleChange; + + G4double GetMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition); +private: + + const G4double smallEnergy; + G4double lowEnergyLimit; + G4double highEnergyLimit; + + G4int verboseLevel; + G4bool isInitialised; + + G4double ScreenFunction1(G4double screenVariable); + G4double ScreenFunction2(G4double screenVariable); + G4VCrossSectionHandler* crossSectionHandler; + G4VEMDataSet* meanFreePathTable; + + G4LivermoreGammaConversionModelRC & operator=(const G4LivermoreGammaConversionModelRC &right); + G4LivermoreGammaConversionModelRC(const G4LivermoreGammaConversionModelRC&); + + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4LivermoreNuclearGammaConversionModel.hh b/source/processes/electromagnetic/lowenergy/include/G4LivermoreNuclearGammaConversionModel.hh new file mode 100644 index 0000000000..f35b1a7193 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4LivermoreNuclearGammaConversionModel.hh @@ -0,0 +1,97 @@ +// +// ******************************************************************** +// * 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: G4LivermoreNuclearGammaConversionModel.hh,v 1.1 2010/11/10 17:09:16 flongo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +#ifndef G4LivermoreNuclearGammaConversionModel_h +#define G4LivermoreNuclearGammaConversionModel_h 1 + +#include "G4VEmModel.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4ParticleChangeForGamma.hh" +#include "G4CrossSectionHandler.hh" +#include "G4ForceCondition.hh" +#include "G4CompositeEMDataSet.hh" +#include "G4Gamma.hh" + +class G4LivermoreNuclearGammaConversionModel : public G4VEmModel +{ + +public: + + G4LivermoreNuclearGammaConversionModel(const G4ParticleDefinition* p = 0, + const G4String& nam = "LivermoreNuclearGammaConversion"); + + virtual ~G4LivermoreNuclearGammaConversionModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double ComputeCrossSectionPerAtom( + const G4ParticleDefinition*, + G4double kinEnergy, + G4double Z, + G4double A=0, + G4double cut=0, + G4double emax=DBL_MAX); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + +protected: + + G4ParticleChangeForGamma* fParticleChange; + + G4double GetMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition); +private: + + const G4double smallEnergy; + G4double lowEnergyLimit; + G4double highEnergyLimit; + + G4int verboseLevel; + G4bool isInitialised; + + G4double ScreenFunction1(G4double screenVariable); + G4double ScreenFunction2(G4double screenVariable); + G4VCrossSectionHandler* crossSectionHandler; + G4VEMDataSet* meanFreePathTable; + + G4LivermoreNuclearGammaConversionModel & operator=(const G4LivermoreNuclearGammaConversionModel &right); + G4LivermoreNuclearGammaConversionModel(const G4LivermoreNuclearGammaConversionModel&); + + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4LivermorePhotoElectricModel.hh b/source/processes/electromagnetic/lowenergy/include/G4LivermorePhotoElectricModel.hh index fc7a7b0495..8031bc1e92 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LivermorePhotoElectricModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LivermorePhotoElectricModel.hh @@ -23,9 +23,13 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4LivermorePhotoElectricModel.hh,v 1.3 2009/04/17 10:29:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LivermorePhotoElectricModel.hh,v 1.4 2010/03/15 09:02:29 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // +// 15-Mar-2010 L. Pandola, removed methods to set explicitely fluorescence cuts. +// Main cuts from G4ProductionCutsTable are always used +// + #ifndef G4LivermorePhotoElectricModel_h #define G4LivermorePhotoElectricModel_h 1 @@ -75,10 +79,6 @@ public: G4double tmin, G4double maxEnergy); - void SetCutForLowEnSecPhotons(G4double); - - void SetCutForLowEnSecElectrons(G4double); - void ActivateAuger(G4bool); void SetAngularGenerator(G4VPhotoElectricAngularDistribution* distribution); @@ -88,11 +88,8 @@ public: protected: G4ParticleChangeForGamma* fParticleChange; - /* - G4double GetMeanFreePath(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - */ + + private: G4double lowEnergyLimit; @@ -106,9 +103,6 @@ private: G4VCrossSectionHandler* crossSectionHandler; G4VCrossSectionHandler* shellCrossSectionHandler; - G4double cutForLowEnergySecondaryPhotons; - G4double cutForLowEnergySecondaryElectrons; - G4AtomicDeexcitation deexcitationManager; G4VPhotoElectricAngularDistribution* ElectronAngularGenerator; diff --git a/source/processes/electromagnetic/lowenergy/include/G4LivermorePolarizedPhotoElectricModel.hh b/source/processes/electromagnetic/lowenergy/include/G4LivermorePolarizedPhotoElectricModel.hh index d0a04330b5..c2c09e91c6 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LivermorePolarizedPhotoElectricModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LivermorePolarizedPhotoElectricModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4LivermorePolarizedPhotoElectricModel.hh,v 1.1 2009/10/30 14:52:05 flongo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LivermorePolarizedPhotoElectricModel.hh,v 1.2 2010/11/23 16:42:15 flongo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4LivermorePolarizedPhotoElectricModel_h @@ -43,7 +43,7 @@ #include "G4AtomicShell.hh" #include "G4ProductionCutsTable.hh" #include "G4ForceCondition.hh" - +#include "G4Gamma.hh" class G4LivermorePolarizedPhotoElectricModel : public G4VEmModel { @@ -72,10 +72,9 @@ public: G4double maxEnergy); - void SetCutForLowEnSecPhotons(G4double); - - void SetCutForLowEnSecElectrons(G4double); - + // void SetCutForLowEnSecPhotons(G4double); + // void SetCutForLowEnSecElectrons(G4double); + void ActivateAuger(G4bool); @@ -84,9 +83,10 @@ protected: G4ParticleChangeForGamma* fParticleChange; - G4double GetMeanFreePath(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); + //G4double GetMeanFreePath(const G4Track& aTrack, + //G4double previousStepSize, + // G4ForceCondition* condition); + private: G4double lowEnergyLimit; diff --git a/source/processes/electromagnetic/lowenergy/include/G4OrlicLCrossSection.hh b/source/processes/electromagnetic/lowenergy/include/G4OrlicLiCrossSection.hh similarity index 80% rename from source/processes/electromagnetic/lowenergy/include/G4OrlicLCrossSection.hh rename to source/processes/electromagnetic/lowenergy/include/G4OrlicLiCrossSection.hh index ecedd8840b..1222de370e 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4OrlicLCrossSection.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4OrlicLiCrossSection.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4OrlicLCrossSection.hh,v 1.3 2008/06/03 07:29:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4OrlicLiCrossSection.hh,v 1.2 2009/06/11 15:46:18 mantero Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Author: Haifa Ben Abdelouahed // @@ -33,6 +33,8 @@ // ----------- // 23 Apr 2008 H. Ben Abdelouahed 1st implementation // 28 Apr 2008 MGP Major revision according to a design iteration +// 21 Apr 2009 ALF Some correction for compatibility to G4VShellCrossSection +// and changed name to G4OrlicLiCrossSection // // ------------------------------------------------------------------- @@ -43,20 +45,20 @@ // ------------------------------------------------------------------- -#ifndef G4ORLICLCROSSSECTION_HH -#define G4ORLICLCROSSSECTION_HH 1 +#ifndef G4ORLICLICROSSSECTION_HH +#define G4ORLICLICROSSSECTION_HH 1 #include "globals.hh" +#include "G4AtomicTransitionManager.hh" - -class G4OrlicLCrossSection +class G4OrlicLiCrossSection { public: - G4OrlicLCrossSection(); + G4OrlicLiCrossSection(); - virtual ~G4OrlicLCrossSection(); + virtual ~G4OrlicLiCrossSection(); //according to I.ORLIC, C.H.SOW and S.M.TANG,International Journal of PIXE.Vol.4(1997) 217-230 @@ -70,8 +72,10 @@ public: private: - G4OrlicLCrossSection(const G4OrlicLCrossSection&); - G4OrlicLCrossSection & operator = (const G4OrlicLCrossSection &right); + G4OrlicLiCrossSection(const G4OrlicLiCrossSection&); + G4OrlicLiCrossSection & operator = (const G4OrlicLiCrossSection &right); + + G4AtomicTransitionManager* transitionManager; }; diff --git a/source/processes/electromagnetic/lowenergy/include/G4PaulKCrossSection.hh b/source/processes/electromagnetic/lowenergy/include/G4PaulKCrossSection.hh index f7e51796dc..305178b2f9 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4PaulKCrossSection.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PaulKCrossSection.hh @@ -24,13 +24,29 @@ // ******************************************************************** // // +// History: +// ----------- +// 21 Apr 2008 H. Abdelohauwed - 1st implementation +// 29 Apr 2009 ALF Major Design Revision +// +// ------------------------------------------------------------------- + +// Class description: +// Low Energy Electromagnetic Physics, Cross section, p ionisation, K shell +// Further documentation available from http://www.ge.infn.it/geant4/lowE + +// ------------------------------------------------------------------- #ifndef G4PAULKCROSSSECTION_HH #define G4PAULKCROSSSECTION_HH 1 +//#include "G4VDataSetAlgorithm.hh" #include "globals.hh" +#include +class G4VDataSetAlgorithm; +class G4VEMDataSet; class G4PaulKCrossSection @@ -41,18 +57,22 @@ public: virtual ~G4PaulKCrossSection(); - G4double CalculateKCrossSection(G4int zTarget,G4int zIncident, G4double energyIncident); + G4double CalculateKCrossSection(G4int zTarget,G4double massIncident, G4double energyIncident); - - - private: G4PaulKCrossSection(const G4PaulKCrossSection&); G4PaulKCrossSection & operator = (const G4PaulKCrossSection &right); + G4VDataSetAlgorithm* interpolation; + + std::map< G4int , G4VEMDataSet* > protonDataSetMap; + + std::map< G4int , G4VEMDataSet* > alphaDataSetMap; + + }; #endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4Penelope08ComptonModel.hh b/source/processes/electromagnetic/lowenergy/include/G4Penelope08ComptonModel.hh new file mode 100644 index 0000000000..24a379af76 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4Penelope08ComptonModel.hh @@ -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. * +// ******************************************************************** +// +// $Id: G4Penelope08ComptonModel.hh,v 1.2 2010/03/19 11:33:24 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// Author: Luciano Pandola +// +// History: +// ----------- +// 15 Feb 2010 L. Pandola 1st implementation. +// 18 Mar 2010 L. Pandola Removed GetAtomsPerMolecule(), now demanded +// to G4PenelopeOscillatorManager +// +// ------------------------------------------------------------------- +//* +// Class description: +// Low Energy Electromagnetic Physics, Compton Scattering +// with Penelope Model, version 2008 +// ------------------------------------------------------------------- + +#ifndef G4PENELOPE08COMPTONMODEL_HH +#define G4PENELOPE08COMPTONMODEL_HH 1 + +#include "globals.hh" +#include "G4VEmModel.hh" +#include "G4DataVector.hh" +#include "G4ParticleChangeForGamma.hh" +#include "G4AtomicDeexcitation.hh" + +class G4ParticleDefinition; +class G4DynamicParticle; +class G4MaterialCutsCouple; +class G4Material; +class G4PenelopeOscillatorManager; +class G4PenelopeOscillator; + +class G4Penelope08ComptonModel : public G4VEmModel +{ + +public: + + G4Penelope08ComptonModel(const G4ParticleDefinition* p=0, + const G4String& processName ="PenCompton"); + + virtual ~G4Penelope08ComptonModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double CrossSectionPerVolume(const G4Material*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy = 0.0, + G4double maxEnergy = DBL_MAX); + + //This is a dummy method. Never inkoved by the tracking, it just issues + //a warning if one tries to get Cross Sections per Atom via the + //G4EmCalculator. + virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double, + G4double, + G4double, + G4double, + G4double); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + void SetVerbosityLevel(G4int lev){verboseLevel = lev;}; + G4int GetVerbosityLevel(){return verboseLevel;}; + + void ActivateAuger(G4bool); + +protected: + G4ParticleChangeForGamma* fParticleChange; + +private: + //Differential cross section which is numerically integrated + G4double DifferentialCrossSection (G4double cdt,G4double energy, + G4PenelopeOscillator* osc); + + G4double OscillatorTotalCrossSection(G4double energy, + G4PenelopeOscillator* osc); + + G4double KleinNishinaCrossSection(G4double energy,const G4Material*); + + G4Penelope08ComptonModel & operator=(const G4Penelope08ComptonModel &right); + G4Penelope08ComptonModel(const G4Penelope08ComptonModel&); + + //Intrinsic energy limits of the model: + //cannot be extended by the parent process + G4double fIntrinsicLowEnergyLimit; + G4double fIntrinsicHighEnergyLimit; + + G4int verboseLevel; + + G4bool isInitialised; + + G4AtomicDeexcitation deexcitationManager; + + G4PenelopeOscillatorManager* oscManager; + + +}; + +#endif + diff --git a/source/processes/electromagnetic/lowenergy/include/G4Penelope08GammaConversionModel.hh b/source/processes/electromagnetic/lowenergy/include/G4Penelope08GammaConversionModel.hh new file mode 100644 index 0000000000..24bfd0e6f4 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4Penelope08GammaConversionModel.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. * +// ******************************************************************** +// +// $Id: G4Penelope08GammaConversionModel.hh,v 1.1 2010/03/17 14:19:04 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// Author: Luciano Pandola +// +// History: +// ----------- +// 13 Jan 2010 L. Pandola First implementation +// +// ------------------------------------------------------------------- +// +// Class description: +// Low Energy Electromagnetic Physics, Gamma Conversion +// with Penelope Model, version 2008 +// ------------------------------------------------------------------- + +#ifndef G4PENELOPE08GAMMACONVERSIONMODEL_HH +#define G4PENELOPE08GAMMACONVERSIONMODEL_HH 1 + +#include "globals.hh" +#include "G4VEmModel.hh" +#include "G4DataVector.hh" +#include "G4ParticleChangeForGamma.hh" + +class G4ParticleDefinition; +class G4DynamicParticle; +class G4MaterialCutsCouple; +class G4Material; +class G4PhysicsFreeVector; + +class G4Penelope08GammaConversionModel : public G4VEmModel +{ + +public: + + G4Penelope08GammaConversionModel(const G4ParticleDefinition* p=0, + const G4String& processName ="PenConversion"); + + virtual ~G4Penelope08GammaConversionModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double ComputeCrossSectionPerAtom( + const G4ParticleDefinition*, + G4double kinEnergy, + G4double Z, + G4double A=0, + G4double cut=0, + G4double emax=DBL_MAX); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + void SetVerbosityLevel(G4int lev){verboseLevel = lev;}; + G4int GetVerbosityLevel(){return verboseLevel;}; + +protected: + G4ParticleChangeForGamma* fParticleChange; + +private: + G4Penelope08GammaConversionModel & operator=(const + G4Penelope08GammaConversionModel &right); + G4Penelope08GammaConversionModel(const G4Penelope08GammaConversionModel&); + + + //Intrinsic energy limits of the model: cannot be extended by the parent process + G4double fIntrinsicLowEnergyLimit; + G4double fIntrinsicHighEnergyLimit; + + //Use a quicker sampling algorithm if E < smallEnergy + G4double fSmallEnergy; + + std::map *logAtomicCrossSection; + void ReadDataFile(const G4int Z); + + void InitializeScreeningRadii(); + G4double fAtomicScreeningRadius[99]; + + void InitializeScreeningFunctions(const G4Material*); + //Effective (scalar) properties attached to materials: + // effective charge + std::map *fEffectiveCharge; + // 2/Rs (Rs = screening radius), BCB array in Penelope + std::map *fMaterialInvScreeningRadius; + // Parameters of screening functions + std::map > *fScreeningFunction; + + std::pair GetScreeningFunctions(G4double); + + + G4int verboseLevel; + G4bool isInitialised; +}; + +#endif + diff --git a/source/processes/electromagnetic/lowenergy/include/G4Penelope08IonisationModel.hh b/source/processes/electromagnetic/lowenergy/include/G4Penelope08IonisationModel.hh new file mode 100644 index 0000000000..8eb792129e --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4Penelope08IonisationModel.hh @@ -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: G4Penelope08IonisationModel.hh,v 1.1 2010/07/28 07:12:13 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Luciano Pandola +// +// History: +// ----------- +// 30 Mar 2010 L. Pandola 1st implementation. +// +// ------------------------------------------------------------------- +// +// Class description: +// Low Energy Electromagnetic Physics, e+ and e- ionisation +// with Penelope Model, version 2008 +// ------------------------------------------------------------------- + +#ifndef G4PENELOPE08IONISATIONMODEL_HH +#define G4PENELOPE08IONISATIONMODEL_HH 1 + +#include "globals.hh" +#include "G4VEmModel.hh" +#include "G4DataVector.hh" +#include "G4ParticleChangeForLoss.hh" +#include "G4AtomicDeexcitation.hh" + +class G4PhysicsFreeVector; +class G4PhysicsLogVector; +class G4ParticleDefinition; +class G4DynamicParticle; +class G4MaterialCutsCouple; +class G4Material; +class G4PenelopeOscillatorManager; +class G4PenelopeOscillator; +class G4PenelopeCrossSection; + +class G4Penelope08IonisationModel : public G4VEmModel +{ + +public: + + G4Penelope08IonisationModel(const G4ParticleDefinition* p=0, + const G4String& processName ="PenIoni"); + + virtual ~G4Penelope08IonisationModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + //*This is a dummy method. Never inkoved by the tracking, it just issues + //*a warning if one tries to get Cross Sections per Atom via the + //*G4EmCalculator. + virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double, + G4double, + G4double, + G4double, + G4double); + + virtual G4double CrossSectionPerVolume(const G4Material* material, + const G4ParticleDefinition* theParticle, + G4double kineticEnergy, + G4double cutEnergy, + G4double maxEnergy = DBL_MAX); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + virtual G4double ComputeDEDXPerVolume(const G4Material*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy); + + // Min cut in kinetic energy allowed by the model + virtual G4double MinEnergyCut(const G4ParticleDefinition*, + const G4MaterialCutsCouple*); + + void SetVerbosityLevel(G4int lev){verboseLevel = lev;}; + G4int GetVerbosityLevel(){return verboseLevel;}; + + void ActivateAuger(G4bool); + + G4double GetDensityCorrection(const G4Material*,G4double energy); + +protected: + G4ParticleChangeForLoss* fParticleChange; + +private: + void ClearTables(); + + G4Penelope08IonisationModel & operator=(const G4Penelope08IonisationModel &right); + G4Penelope08IonisationModel(const G4Penelope08IonisationModel&); + + G4PenelopeCrossSection* GetCrossSectionTableForCouple(const G4ParticleDefinition*, + const G4Material*,G4double cut); + + void BuildXSTable(const G4Material*,G4double cut, + const G4ParticleDefinition*); + + + void BuildDeltaTable(const G4Material*); + + G4DataVector* ComputeShellCrossSectionsElectron(G4PenelopeOscillator* , + G4double energy,G4double cut, + G4double delta); + + G4DataVector* ComputeShellCrossSectionsPositron(G4PenelopeOscillator* , + G4double energy,G4double cut, + G4double delta); + + void SampleFinalStateElectron(const G4Material*,G4double cutEnergy,G4double kineticEnergy); + void SampleFinalStatePositron(const G4Material*,G4double cutEnergy,G4double kineticEnergy); + + //Intrinsic energy limits of the model: cannot be extended by the parent process + G4double fIntrinsicLowEnergyLimit; + G4double fIntrinsicHighEnergyLimit; + + G4int verboseLevel; + + G4bool isInitialised; + + G4AtomicDeexcitation deexcitationManager; + + G4double kineticEnergy1; + G4double cosThetaPrimary; + G4double energySecondary; + G4double cosThetaSecondary; + G4int targetOscillator; + + G4PenelopeOscillatorManager* oscManager; + + //G4PenelopeCrossSection takes care of the logs + std::map< std::pair, G4PenelopeCrossSection*> *XSTableElectron; + std::map< std::pair, G4PenelopeCrossSection*> *XSTablePositron; + + //delta vs. log(energy) + std::map *theDeltaTable; + G4PhysicsLogVector* energyGrid; + + size_t nBins; + + +}; + +#endif + diff --git a/source/processes/electromagnetic/lowenergy/include/G4Penelope08PhotoElectricModel.hh b/source/processes/electromagnetic/lowenergy/include/G4Penelope08PhotoElectricModel.hh new file mode 100644 index 0000000000..0ec8065c87 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4Penelope08PhotoElectricModel.hh @@ -0,0 +1,125 @@ +// +// ******************************************************************** +// * 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: G4Penelope08PhotoElectricModel.hh,v 1.1 2010/03/17 14:19:04 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// Author: Luciano Pandola +// +// History: +// ----------- +// 08 Jan 2010 L. Pandola 1st implementation. +// +// ------------------------------------------------------------------- +// +// Class description: +// Low Energy Electromagnetic Physics, Photo-electric effect +// with Penelope Model, version 2008 +// ------------------------------------------------------------------- + +#ifndef G4PENELOPE08PHOTOELECTRICMODEL_HH +#define G4PENELOPE08PHOTOELECTRICMODEL_HH 1 + +#include "globals.hh" +#include "G4VEmModel.hh" +#include "G4DataVector.hh" +#include "G4ParticleChangeForGamma.hh" +#include "G4AtomicDeexcitation.hh" + +class G4ParticleDefinition; +class G4DynamicParticle; +class G4MaterialCutsCouple; +class G4Material; + +class G4Penelope08PhotoElectricModel : public G4VEmModel +{ + +public: + + G4Penelope08PhotoElectricModel(const G4ParticleDefinition* p=0, + const G4String& processName ="PenPhotoElec"); + + virtual ~G4Penelope08PhotoElectricModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double ComputeCrossSectionPerAtom( + const G4ParticleDefinition*, + G4double kinEnergy, + G4double Z, + G4double A=0, + G4double cut=0, + G4double emax=DBL_MAX); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + void SetVerbosityLevel(G4int lev){verboseLevel = lev;}; + G4int GetVerbosityLevel(){return verboseLevel;}; + + void ActivateAuger(G4bool); + + //testing purposes + size_t GetNumberOfShellXS(G4int); + G4double GetShellCrossSection(G4int Z,size_t shellID,G4double energy); + + +protected: + G4ParticleChangeForGamma* fParticleChange; + +private: + G4Penelope08PhotoElectricModel & operator=(const G4Penelope08PhotoElectricModel &right); + G4Penelope08PhotoElectricModel(const G4Penelope08PhotoElectricModel&); + + G4double SampleElectronDirection(G4double energy); + + //Intrinsic energy limits of the model: cannot be extended by the parent process + G4double fIntrinsicLowEnergyLimit; + G4double fIntrinsicHighEnergyLimit; + + G4int verboseLevel; + G4bool isInitialised; + + G4AtomicDeexcitation deexcitationManager; + + void ReadDataFile(G4int Z); + + //For each Z, the PhysicsTable contains nShell+1 physics vectors + //with log(E) vs. log(XS) + //Element [0] of the table is the total XS, element [iS] is the + //partial cross section for shell iS-1 + std::map *logAtomicShellXS; + + size_t SelectRandomShell(G4int Z,G4double energy); + G4String WriteTargetShell(size_t shellID); + + +}; + +#endif + diff --git a/source/processes/electromagnetic/lowenergy/include/G4Penelope08RayleighModel.hh b/source/processes/electromagnetic/lowenergy/include/G4Penelope08RayleighModel.hh new file mode 100644 index 0000000000..96dd196a90 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4Penelope08RayleighModel.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: G4Penelope08RayleighModel.hh,v 1.1 2010/03/17 14:19:04 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// Author: Luciano Pandola +// +// History: +// ----------- +// 03 Dec 2009 L. Pandola 1st implementation. +// +// ------------------------------------------------------------------- +// +// Class description: +// Low Energy Electromagnetic Physics, Rayleigh Scattering +// with the model from Penelope, version 2008 +// ------------------------------------------------------------------- + +#ifndef G4PENELOPE08RAYLEIGHMODEL_HH +#define G4PENELOPE08RAYLEIGHMODEL_HH 1 + +#include "globals.hh" +#include "G4VEmModel.hh" +#include "G4DataVector.hh" +#include "G4ParticleChangeForGamma.hh" + +class G4ParticleDefinition; +class G4DynamicParticle; +class G4MaterialCutsCouple; +class G4Material; +class G4PhysicsFreeVector; +class G4PenelopeSamplingData; + +class G4Penelope08RayleighModel : public G4VEmModel +{ + +public: + G4Penelope08RayleighModel(const G4ParticleDefinition* p=0, + const G4String& processName ="PenRayleigh"); + + virtual ~G4Penelope08RayleighModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double kinEnergy, + G4double Z, + G4double A=0, + G4double cut=0, + G4double emax=DBL_MAX); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + void SetVerbosityLevel(G4int lev){verboseLevel = lev;}; + G4int GetVerbosityLevel(){return verboseLevel;}; + + //Testing purposes + void DumpFormFactorTable(const G4Material*); + +protected: + G4ParticleChangeForGamma* fParticleChange; + +private: + G4Penelope08RayleighModel& operator=(const G4Penelope08RayleighModel &right); + G4Penelope08RayleighModel(const G4Penelope08RayleighModel&); + + //Intrinsic energy limits of the model: cannot be extended by + //the parent process + G4double fIntrinsicLowEnergyLimit; + G4double fIntrinsicHighEnergyLimit; + + G4int verboseLevel; + G4bool isInitialised; + + //Internal tables and manager methods + std::map *logAtomicCrossSection; + std::map *atomicFormFactor; + + + G4DataVector logQSquareGrid; //log(Q^2) grid for interpolation + std::map *logFormFactorTable; //log(Q^2) vs. log(F^2) + + G4DataVector logEnergyGridPMax; //energy grid for PMac (and originally for the x-section) + std::map *pMaxTable; //E vs. Pmax + + std::map *samplingTable; + + //Helper methods + void ReadDataFile(G4int); + void ClearTables(); + void BuildFormFactorTable(const G4Material*); + void GetPMaxTable(const G4Material*); + + G4double GetFSquared(const G4Material*,const G4double); + void InitializeSamplingAlgorithm(const G4Material*); + +}; + +#endif + diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeCrossSection.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeCrossSection.hh new file mode 100644 index 0000000000..a1bb8ac91c --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeCrossSection.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. * +// ******************************************************************** +// +// $Id: G4PenelopeCrossSection.hh,v 1.1 2010/07/26 09:56:42 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Luciano Pandola +// +// History: +// ----------- +// 18 Mar 2010 L. Pandola 1st implementation. +// +// ------------------------------------------------------------------- +// +// Class description: +// This class is a container for cross sections and transport momenta +// calculated by Penelope models (ionisation, bremsstrahlung). It stores +// PhysicsTables/PhysicsVectors of +// a) the "hard quantities" (above the threshold), 0-th order (cross section) +// 1-st order (= stopping XS), 2-nd order (= straggling XS) +// b) the "soft quantities" (below threshold), 0-th order (cross section) +// 1-st order (= stopping XS), 2-nd order (= straggling XS) +// c) total hard cross sections for individual oscillators +// vs. energy. +// +// The interface *always* uses energy and cross sections, while internally +// log(energy) and log(XS) are used. +// +// One instance per each cut-material couple should be created by the +// calling class. +// +// Public method to retrieve hard cross section, soft stopping power, +// total cross section and hard shell cross sections. +// +// The method NormalizeShellCrossSections() normalizes the +// shell cross sections by retrieving the total hard cross section. +// Used for sampling. +// +// Notice: all quantities stored here are *per molecule* +// +// ------------------------------------------------------------------- + +#ifndef G4PENELOPECROSSSECTION_HH +#define G4PENELOPECROSSSECTION_HH 1 + +#include "globals.hh" + +class G4PhysicsTable; +class G4DataVector; + +class G4PenelopeCrossSection +{ + +public: + //constructor: one has to give the number of points in each PhysicsVector + //(= dimension of the energy grid) and the number of shells (0 is the + //default). + G4PenelopeCrossSection(size_t nOfEnergyPoints,size_t nOfShells=0); + // + ~G4PenelopeCrossSection(); + + G4double GetTotalCrossSection(G4double energy); + G4double GetHardCrossSection(G4double energy); + G4double GetSoftStoppingPower(G4double energy); + G4double GetShellCrossSection(size_t shellID,G4double energy); + + size_t GetNumberOfShells(){return numberOfShells;}; + + void AddCrossSectionPoint(size_t binNumber, + G4double energy,G4double XH0, G4double XH1, + G4double XH2, + G4double XS0, G4double XS1, G4double XS2); + + void AddShellCrossSectionPoint(size_t binNumber, + size_t shellID,G4double energy,G4double xs); + + void NormalizeShellCrossSections(); + +private: + G4PenelopeCrossSection & operator=(const G4PenelopeCrossSection &right); + G4PenelopeCrossSection(const G4PenelopeCrossSection&); + + G4bool isNormalized; + + size_t numberOfEnergyPoints; + size_t numberOfShells; + + //all tables are log. XS vs. log E + + //XS0, XS1, XS2 in Penelope nomenclature + G4PhysicsTable* softCrossSections; + + //XH0, XH1, XH2 in Penelope nomenclature + G4PhysicsTable* hardCrossSections; + + //XS for individual shells + G4PhysicsTable* shellCrossSections; + +}; + +#endif + diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeIonisationModel.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeIonisationModel.hh index 9706139dc8..e0ee669a34 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4PenelopeIonisationModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeIonisationModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PenelopeIonisationModel.hh,v 1.3 2009/10/21 14:56:47 pandola Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PenelopeIonisationModel.hh,v 1.5 2010/04/15 10:02:10 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Author: Luciano Pandola // @@ -35,6 +35,10 @@ // 21 Oct 2009 L. Pandola Remove un-necessary methods and variables to handle // AtomicDeexcitationFlag - now demanded to G4VEmModel // Add ActivateAuger() method +// 29 Mar 2010 L. Pandola Added a dummy ComputeCrossSectioPerAtom() method issueing a +// warning if users try to access atomic cross sections via +// G4EmCalculator +// 15 Apr 2010 L. Pandola Implemented model's own version of MinEnergyCut() // // ------------------------------------------------------------------- // @@ -72,6 +76,16 @@ public: virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + //*This is a dummy method. Never inkoved by the tracking, it just issues + //*a warning if one tries to get Cross Sections per Atom via the + //*G4EmCalculator. + virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double, + G4double, + G4double, + G4double, + G4double); + virtual G4double CrossSectionPerVolume(const G4Material* material, const G4ParticleDefinition* theParticle, G4double kineticEnergy, @@ -89,6 +103,10 @@ public: G4double kineticEnergy, G4double cutEnergy); + // Min cut in kinetic energy allowed by the model + virtual G4double MinEnergyCut(const G4ParticleDefinition*, + const G4MaterialCutsCouple*); + void SetVerbosityLevel(G4int lev){verboseLevel = lev;}; G4int GetVerbosityLevel(){return verboseLevel;}; diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeOscillator.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeOscillator.hh new file mode 100644 index 0000000000..119156dde7 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeOscillator.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. * +// ******************************************************************** +// +// +// Author: Luciano Pandola +// +// History: +// ----------- +// 18 Dec 2008 L. Pandola First implementation +// +// +// ------------------------------------------------------------------- +// +// Class description: +// Class designed to contain data of atomic oscillators that are used by +// several Penelope models. Objects of G4PenelopeOscillators are managed +// by a dedicated G4PenelopeOscillatorManager. +// ------------------------------------------------------------------- + +#ifndef G4PENELOPEOSCILLATOR_HH +#define G4PENELOPEOSCILLATOR_HH 1 + +#include "globals.hh" + +class G4PenelopeOscillator +{ + + public: + G4PenelopeOscillator(); + G4PenelopeOscillator(const G4PenelopeOscillator&); + + ~G4PenelopeOscillator(){;}; + + //I need to overload the following operators: > < == = + const G4PenelopeOscillator& operator=(const G4PenelopeOscillator&); + int operator==(const G4PenelopeOscillator&) const; + int operator>(const G4PenelopeOscillator&) const; + int operator<(const G4PenelopeOscillator&) const; + + //Setters and getters + G4double GetHartreeFactor() {return hartreeFactor;}; + void SetHartreeFactor(G4double hf) {hartreeFactor = hf;}; + // + G4double GetIonisationEnergy() {return ionisationEnergy;}; + void SetIonisationEnergy(G4double ie) {ionisationEnergy = ie;}; + // + G4double GetResonanceEnergy() const {return resonanceEnergy;}; + void SetResonanceEnergy(G4double re) {resonanceEnergy = re;}; + // + G4double GetOscillatorStrength() {return oscillatorStrength;}; + void SetOscillatorStrength(G4double ostr) {oscillatorStrength=ostr;}; + // + G4int GetShellFlag() {return shellFlag;}; + void SetShellFlag(G4int theflag) {shellFlag=theflag;}; + // + G4double GetParentZ() {return parentZ;}; + void SetParentZ(G4double parZ) {parentZ = parZ;}; + // + G4int GetParentShellID() {return parentShellID;}; + void SetParentShellID(G4int psID) {parentShellID = psID;}; + // + G4double GetCutoffRecoilResonantEnergy(){return cutoffRecoilResonantEnergy;}; + void SetCutoffRecoilResonantEnergy(G4double ene){cutoffRecoilResonantEnergy = ene;}; + +private: + G4double hartreeFactor; + G4double ionisationEnergy; + G4double resonanceEnergy; + G4double oscillatorStrength; + G4int shellFlag; + G4double parentZ; + G4int parentShellID; //necessary for interface to AtomicDeexcitationManager + G4double cutoffRecoilResonantEnergy; +}; + +struct G4PenelopeOscillatorResEnergyComparator +{ +public: + int operator()(const G4PenelopeOscillator& left, + const G4PenelopeOscillator& right) + {return ((left.GetResonanceEnergy() < right.GetResonanceEnergy()) ? 1 : 0);}; +}; + +#endif + diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeOscillatorManager.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeOscillatorManager.hh new file mode 100644 index 0000000000..792be26487 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeOscillatorManager.hh @@ -0,0 +1,137 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// +// +// Authors: Luciano Pandola (luciano.pandola at lngs.infn.it) +// +// History: +// ----------- +// +// 03 Dec 2009 First implementation, Luciano Pandola +// 16 Feb 2010 Added methods to calculate and store also A and Z +// for molecules. Luciano Pandola +// 16 Mar 2010 Added methods to calculate and store mean exc energy +// and plasma energy (used for Ionisation). L Pandola +// 18 Mar 2010 Added method to retrieve number of atoms per +// molecule. L. Pandola +// +// ------------------------------------------------------------------- +// +//! Class description: +//! Fills and manages G4PenelopeOscillator objects and takes care of +//! building and managing the G4PenelopeOscillatorTables for the materials +//! in the geometry. G4PenelopeOscillatorManager is a singleton. +//! This is compliant with Penelope2008, so different tables (with different +//! grouping factors) are created for Ionisation and Compton processes. +// + +// ------------------------------------------------------------------- + +#ifndef G4PenelopeOscillatorManager_h +#define G4PenelopeOscillatorManager_h 1 + +#include "globals.hh" +#include "G4PenelopeOscillator.hh" +#include +#include + +class G4Material; + +typedef std::vector G4PenelopeOscillatorTable ; + +// This class is a singleton +class G4PenelopeOscillatorManager { + +public: + + // The only way to get an instance of this class is to call the + // function GetOscillatorManager() + static G4PenelopeOscillatorManager* GetOscillatorManager(); + + //Clear() is invoked by Initialise() of the processes, if required + void Clear(); + void Dump(const G4Material*); + + //For ionisation + G4PenelopeOscillatorTable* GetOscillatorTableIonisation(const G4Material*); + G4PenelopeOscillator* GetOscillatorIonisation(const G4Material*,G4int); + + //For Compton + G4PenelopeOscillatorTable* GetOscillatorTableCompton(const G4Material*); + G4PenelopeOscillator* GetOscillatorCompton(const G4Material*,G4int); + + void SetVerbosityLevel(G4int vl){verbosityLevel = vl;}; + G4int GetVerbosityLevel(){return verbosityLevel;}; + + //These are cumulative for the molecule + G4double GetTotalZ(const G4Material*); + G4double GetTotalA(const G4Material*); + G4double GetMeanExcitationEnergy(const G4Material*); + G4double GetPlasmaEnergySquared(const G4Material*); + G4double GetAtomsPerMolecule(const G4Material*); + +protected: + G4PenelopeOscillatorManager(); + ~G4PenelopeOscillatorManager(); + +private: + // Hide copy constructor and assignment operator + G4PenelopeOscillatorManager& operator=(const + G4PenelopeOscillatorManager& right); + G4PenelopeOscillatorManager(const G4PenelopeOscillatorManager&); + + static G4PenelopeOscillatorManager* instance; + + //In Penelope2008, the Ionisation and Compton oscillator tables are + //slightly different! + std::map + *oscillatorStoreIonisation; + + std::map + *oscillatorStoreCompton; + + std::map *atomicNumber; + std::map *atomicMass; + + std::map *excitationEnergy; + std::map *plasmaSquared; + + std::map *atomsPerMolecule; + + //create both tables simultaneously + void CheckForTablesCreated(); + + void ReadElementData(); + G4double elementData[5][2000]; + G4bool fReadElementData; + + void BuildOscillatorTable(const G4Material*); + + G4int verbosityLevel; + +}; + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleighModel.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleighModel.hh index 8cc22deb3b..d6eb29261c 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleighModel.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleighModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PenelopeRayleighModel.hh,v 1.1 2008/10/28 08:50:21 pandola Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PenelopeRayleighModel.hh,v 1.3 2010/04/15 10:02:25 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Author: Luciano Pandola // @@ -32,12 +32,15 @@ // ----------- // 13 Oct 2008 L. Pandola 1st implementation. Migration from EM process // to EM model +// 18 Dec 2009 L. Pandola Added a dummy ComputeCrossSectioPerAtom() method issueing a +// warning if users try to access atomic cross sections via +// G4EmCalculator // // ------------------------------------------------------------------- // // Class description: // Low Energy Electromagnetic Physics, Rayleigh Scattering -// with Penelope Model +// with Penelope v2001 Model // ------------------------------------------------------------------- #ifndef G4PENELOPERAYLEIGHMODEL_HH @@ -70,6 +73,16 @@ public: G4double cutEnergy = 0.0, G4double maxEnergy = DBL_MAX); + //*This is a dummy method. Never inkoved by the tracking, it just issues + //*a warning if one tries to get Cross Sections per Atom via the + //*G4EmCalculator. + virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double, + G4double, + G4double, + G4double, + G4double); + virtual void SampleSecondaries(std::vector*, const G4MaterialCutsCouple*, const G4DynamicParticle*, diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeSamplingData.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeSamplingData.hh new file mode 100644 index 0000000000..d40a399510 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeSamplingData.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: G4PenelopeSamplingData.hh,v 1.1 2010/03/17 14:19:04 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// Author: Luciano Pandola +// +// History: +// ----------- +// 09 Dec 2009 L. Pandola 1st implementation. +// +// ------------------------------------------------------------------- +// +// Class description: +// This is a container of data that are used for sampling algorithm +// of Penelope08 Rayleigh scattering +// ------------------------------------------------------------------- + +#ifndef G4PENELOPESAMPLINGDATA_HH +#define G4PENELOPESAMPLINGDATA_HH 1 + +#include "globals.hh" +#include "G4DataVector.hh" +// +//This is a container of data that are used for sampling algoritm +// +class G4PenelopeSamplingData +{ + +public: + G4PenelopeSamplingData(G4int npoints=150); + ~G4PenelopeSamplingData(); + + void AddPoint(G4double x0,G4double pac0,G4double a0,G4double b0,size_t ITTL0, + size_t ITTU0); + size_t GetNumberOfStoredPoints(); + void Clear(); + void DumpTable(); + + G4double GetX(size_t index); + G4double GetPAC(size_t index); + G4double GetA(size_t index); + G4double GetB(size_t index); + + G4double SampleValue(G4double rndm); + +private: + G4PenelopeSamplingData & operator=(const G4PenelopeSamplingData &right); + G4PenelopeSamplingData(const G4PenelopeSamplingData&); + + //G4double xlow; + //G4double xhigh; + + G4DataVector* x; //grid points, in increasing order + G4DataVector* pac; //value of the cumulative pdf at x_i + G4DataVector* a; // rational inverse cumulative inverse distribution parameters + G4DataVector* b; + + std::vector *ITTL; //largest j for which pac(j) < (i-1)/(np-1) + std::vector *ITTU; //smallest k for which pac(k) > i/(np-1) + + G4int np; //number of grid points + + + +}; + +#endif + diff --git a/source/processes/electromagnetic/lowenergy/include/G4UAtomicDeexcitation.hh b/source/processes/electromagnetic/lowenergy/include/G4UAtomicDeexcitation.hh new file mode 100644 index 0000000000..5ae57cd199 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4UAtomicDeexcitation.hh @@ -0,0 +1,159 @@ +// +// ******************************************************************** +// * 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: G4AtomicTransitionManager.hh,v 1.2 ???? +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// Geant4 Header G4UAtomicDeexcitation +// +// Authors: Alfonso Mantero (Alfonso.Mantero@ge.infn.it) +// +// Created 22 April 2010 from old G4AtomicDeexcitation class +// +// Modified: +// --------- +// +// +// ------------------------------------------------------------------- +// +// Class description: +// Implementation of atomic deexcitation +// +// ------------------------------------------------------------------- + +#ifndef G4UAtomicDeexcitation_h +#define G4UAtomicDeexcitation_h 1 + +#include "G4VAtomDeexcitation.hh" +#include "G4AtomicShell.hh" +#include "globals.hh" +#include +#include "G4DynamicParticle.hh" +//#include "G4VhShellCrossSection.hh" +#include "G4teoCrossSection.hh" +#include "G4empCrossSection.hh" +class G4AtomicTransitionManager; +class G4VhShellCrossSection; +//class G4teoCrossSection; +//class G4empCrossSection; +class G4UAtomicDeexcitation : public G4VAtomDeexcitation +{ +public: + + G4UAtomicDeexcitation(); + virtual ~G4UAtomicDeexcitation(); + + //================================================================= + // methods that are requested to be implemented by the interface + //================================================================= + + // initialisation methods + virtual void InitialiseForNewRun(); + virtual void InitialiseForExtraAtom(G4int Z); + + + // Set threshold energy for fluorescence + void SetCutForSecondaryPhotons(G4double cut); + + // Set threshold energy for Auger electron production + void SetCutForAugerElectrons(G4double cut); + + + // Get atomic shell by shell index, used by discrete processes + // (for example, photoelectric), when shell vacancy sampled by the model + virtual + const G4AtomicShell* GetAtomicShell(G4int Z, + G4AtomicShellEnumerator shell); + + // generation of deexcitation for given atom, shell vacancy and cuts + virtual void GenerateParticles(std::vector* secVect, + const G4AtomicShell*, + G4int Z, + G4double gammaCut, + G4double eCut); + + // access or compute PIXE cross section + virtual + G4double GetShellIonisationCrossSectionPerAtom(const G4ParticleDefinition*, + G4int Z, + G4AtomicShellEnumerator shell, + G4double kinE); + + // access or compute PIXE cross section + virtual + G4double ComputeShellIonisationCrossSectionPerAtom(const G4ParticleDefinition*, + G4int Z, + G4AtomicShellEnumerator shell, + G4double kinE); + + //================================================================= + // concrete methods of the deextation class + //================================================================= + +private: + + // Decides wether a radiative transition is possible and, if it is, + // returns the identity of the starting shell for the transition + G4int SelectTypeOfTransition(G4int Z, G4int shellId); + + // Generates a particle from a radiative transition and returns it + G4DynamicParticle* GenerateFluorescence(G4int Z, G4int shellId, + G4int provShellId); + + // Generates a particle from a non-radiative transition and returns it + G4DynamicParticle* GenerateAuger(G4int Z, G4int shellId); + + // copy constructor and hide assignment operator + G4UAtomicDeexcitation(G4UAtomicDeexcitation &); + G4UAtomicDeexcitation & operator=(const G4UAtomicDeexcitation &right); + + const G4AtomicTransitionManager* transitionManager; + + // Data member which stores the shells to be filled by + // the radiative transition + G4int newShellId; + + G4double minGammaEnergy; + G4double minElectronEnergy; + // G4bool fAuger; + + // Data member wich stores the id of the shell where is the vacancy + // left from the Auger electron + G4int augerVacancyId; + + // Data member for the calculation of the proton and alpha ionisation XS + + G4VhShellCrossSection* PIXEshellCS; + + +}; + +#endif + + + + diff --git a/source/processes/electromagnetic/lowenergy/include/G4VIonDEDXScalingAlgorithm.hh b/source/processes/electromagnetic/lowenergy/include/G4VIonDEDXScalingAlgorithm.hh index 4d8b9a47f5..2647d72546 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VIonDEDXScalingAlgorithm.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VIonDEDXScalingAlgorithm.hh @@ -58,7 +58,7 @@ class G4VIonDEDXScalingAlgorithm { public: G4VIonDEDXScalingAlgorithm(); - ~G4VIonDEDXScalingAlgorithm(); + virtual ~G4VIonDEDXScalingAlgorithm(); // Function for scaling the kinetic energy (no scaling by default). // Returns scaling factor for a given ion. diff --git a/examples/extended/parallel/ExDiane/include/BrachySimulation.hh b/source/processes/electromagnetic/lowenergy/include/G4VecpssrKModel.hh old mode 100644 new mode 100755 similarity index 70% rename from examples/extended/parallel/ExDiane/include/BrachySimulation.hh rename to source/processes/electromagnetic/lowenergy/include/G4VecpssrKModel.hh index 5fd29fdbff..ba74462601 --- a/examples/extended/parallel/ExDiane/include/BrachySimulation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VecpssrKModel.hh @@ -24,43 +24,45 @@ // ******************************************************************** // // -// $Id: BrachySimulation.hh -// GEANT4 tag $Name: geant4-09-02 $ +// Author: Alfonso Mantero +// // -// -------------------------------------------------------------- -// GEANT 4 - Brachytherapy example -// -------------------------------------------------------------- -// -// Code developed by: S.Guatelli, K. Moscicki -// -// ******************************* -// * * -// * BrachySimulation.cc * -// * * -// ******************************* +// History: +// ----------- +// 01 Sep 2009 Alf Created // +// ------------------------------------------------------------------- + +// Class description: +// Low Energy Electromagnetic Physics, Cross section, p and alpha ionisation, L shell +// Further documentation available from http://www.ge.infn.it/geant4/lowE + +// ------------------------------------------------------------------- + + +#ifndef G4VECPSSRKMODEL_HH +#define G4VECPSSRKMODEL_HH 1 #include "globals.hh" -#include "Randomize.hh" -#include "IG4Simulation.h" -#include "G4RunManager.hh" -class BrachySimulation : virtual public DIANE::IG4Simulation +class G4VecpssrKModel + { public: - BrachySimulation(G4int); - ~BrachySimulation(); - - void setSeed(G4int seed); - G4bool initialize(int argc, char** argv); - void executeMacro(std::string macroFileName); - std::string getOutputFilename(); - void finish(); -private: - G4int seed; - G4RunManager* pRunManager; + G4VecpssrKModel(); + + virtual ~G4VecpssrKModel(); + + virtual G4double CalculateCrossSection(G4int zTarget,G4double massIncident, G4double energyIncident) = 0; + + +private: + + + G4VecpssrKModel(const G4VecpssrKModel&); + G4VecpssrKModel & operator = (const G4VecpssrKModel &right); + }; - - +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4VecpssrLiModel.hh b/source/processes/electromagnetic/lowenergy/include/G4VecpssrLiModel.hh new file mode 100755 index 0000000000..e8d4218f33 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4VecpssrLiModel.hh @@ -0,0 +1,78 @@ +// +// ******************************************************************** +// * 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: G4VecpssrLiModel.hh,v 1.4 2010/06/25 09:41:13 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// Author: Haifa Ben Abdelouahed +// +// +// History: +// ----------- +// 23 Apr 2008 H. Ben Abdelouahed 1st implementation +// 28 Apr 2008 MGP Major revision according to a design iteration +// 29 Apr 2009 ALF Updated Desing for Integration +// +// ------------------------------------------------------------------- + +// Class description: +// Low Energy Electromagnetic Physics, Cross section, p and alpha ionisation, L shell +// Further documentation available from http://www.ge.infn.it/geant4/lowE + +// ------------------------------------------------------------------- + + +#ifndef G4VECPSSRLIMODEL_HH +#define G4VECPSSRLIMODEL_HH 1 + +#include "globals.hh" + +class G4VecpssrLiModel +{ + +public: + + G4VecpssrLiModel(); + + virtual ~G4VecpssrLiModel(); + + virtual G4double CalculateL1CrossSection(G4int zTarget,G4double massIncident, G4double energyIncident) = 0;//according to W.Brandt and G.Lapicki, Phys.Rev.A23(1981) + + virtual G4double CalculateL2CrossSection(G4int zTarget,G4double massIncident, G4double energyIncident) = 0;//according to W.Brandt and G.Lapicki, Phys.Rev.A23(1981) + + virtual G4double CalculateL3CrossSection(G4int zTarget,G4double massIncident, G4double energyIncident) = 0;//according to W.Brandt and G.Lapicki, Phys.Rev.A23(1981) + + + + +private: + + + G4VecpssrLiModel(const G4VecpssrLiModel&); + G4VecpssrLiModel & operator = (const G4VecpssrLiModel &right); + +}; + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4ecpssrCrossSection.hh b/source/processes/electromagnetic/lowenergy/include/G4empCrossSection.hh old mode 100644 new mode 100755 similarity index 67% rename from source/processes/electromagnetic/lowenergy/include/G4ecpssrCrossSection.hh rename to source/processes/electromagnetic/lowenergy/include/G4empCrossSection.hh index cac84d86f5..e13ba56a7c --- a/source/processes/electromagnetic/lowenergy/include/G4ecpssrCrossSection.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4empCrossSection.hh @@ -23,16 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ecpssrCrossSection.hh,v 1.3 2008/06/03 07:29:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4empCrossSection.hh,v 1.1 2009/06/17 16:39:55 mantero Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // -// Author: Haifa Ben Abdelouahed // // // History: // ----------- -// 21 Apr 2008 H. Ben Abdelouahed 1st implementation -// 21 Apr 2008 MGP Major revision according to a design iteration +// 21 Apr 2009 ALF 1st implementation // // ------------------------------------------------------------------- @@ -43,35 +41,50 @@ // ------------------------------------------------------------------- -#ifndef G4ECPSSRCROSSSECTION_HH -#define G4ECPSSRCROSSSECTION_HH 1 +#ifndef G4EMPCROSSSECTION_HH +#define G4EMPCROSSSECTION_HH 1 #include "globals.hh" +#include "G4VhShellCrossSection.hh" +#include "G4PaulKCrossSection.hh" +#include "G4OrlicLiCrossSection.hh" - -class G4ecpssrCrossSection - +class G4empCrossSection : public G4VhShellCrossSection { public: - G4ecpssrCrossSection(); + G4empCrossSection(); - virtual ~G4ecpssrCrossSection(); + ~G4empCrossSection(); - G4double CalculateCrossSection(G4int zTarget,G4int zIncident, G4double energyIncident);//according to W.Brandt and G.Lapicki, Phys.Rev.A23(1981) - - G4double CalculateVelocity(G4int zTarget,G4int zIncident, G4double energyIncident); - - G4double ExpIntFunction(G4int n,G4double x);//Exponential Integral Function - + std::vector GetCrossSection(G4int Z, + G4double incidentEnergy, + G4double mass, + G4double deltaEnergy, + G4bool testFlag = false) const; + std::vector Probabilities(G4int Z, + G4double incidentEnergy, + G4double mass, + G4double deltaEnergy) const; + + + void SetTotalCS(G4double); + + + private: - - - G4ecpssrCrossSection(const G4ecpssrCrossSection&); - G4ecpssrCrossSection & operator = (const G4ecpssrCrossSection &right); - + + G4double totalCS; + + G4PaulKCrossSection* paulShellK; + G4OrlicLiCrossSection* orlicShellLi; + + + G4empCrossSection(const G4empCrossSection&); + G4empCrossSection & operator = (const G4empCrossSection &right); + }; #endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyIonisation.hh b/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyIonisation.hh index 661dcfe3e2..058056e135 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyIonisation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyIonisation.hh @@ -49,6 +49,7 @@ // 07 Dec 2001 V.Ivanchenko Add SetFluorescence method // 26 Feb 2002 V.Ivanchenko Add initialMass for GenericIons // 21 Jan 2003 V.Ivanchenko Cut per region +// 03 Oct 2009 ALF added SelectShellIonisationCS // ------------------------------------------------------------ // Class Description: @@ -86,7 +87,7 @@ #include "G4hIonEffChargeSquare.hh" #include "G4IonChuFluctuationModel.hh" #include "G4IonYangFluctuationModel.hh" -#include "G4AtomicDeexcitation.hh" +#include "G4UAtomicDeexcitation.hh" #include "G4MaterialCutsCouple.hh" #include @@ -174,6 +175,9 @@ public: // With description void SetFluorescence(const G4bool val) {theFluo = val;}; // This method switch on/off simulation of the fluorescence of the media. + void SelectShellIonisationCS(G4String); + + G4VParticleChange* AlongStepDoIt(const G4Track& trackData , const G4Step& stepData ) ; // Function to determine total energy deposition on the step @@ -260,6 +264,7 @@ private: G4double hMass, G4double eLoss); + G4int SelectRandomAtom(const G4MaterialCutsCouple* couple, G4double kineticEnergy) const; @@ -308,12 +313,11 @@ private: G4double initialMass; // mass to calculate Lambda tables G4double fBarkas; - G4AtomicDeexcitation deexcitationManager; + G4UAtomicDeexcitation deexcitationManager; G4ShellVacancy* shellVacancy; G4VhShellCrossSection* shellCS; std::vector zFluoDataVector; G4bool theFluo; - G4bool expFlag; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/lowenergy/include/G4teoCrossSection.hh b/source/processes/electromagnetic/lowenergy/include/G4teoCrossSection.hh new file mode 100644 index 0000000000..455cf9ac4c --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4teoCrossSection.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: G4teoCrossSection.hh,v 1.6 2010/11/12 18:09:44 mantero Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// +// History: +// ----------- +// 21 Apr 2008 ALF 1st implementation +// 29 Apr 2009 ALF Updated Desing for Integration +// +// ------------------------------------------------------------------- + +// Class description: +// Low Energy Electromagnetic Physics, Cross section, p ionisation, K shell +// Further documentation available from http://www.ge.infn.it/geant4/lowE + +// ------------------------------------------------------------------- + + +#ifndef G4TEOCROSSSECTION_HH +#define G4TEOCROSSSECTION_HH 1 + +#include "globals.hh" +#include "G4VhShellCrossSection.hh" + +#include "G4AnalyticalEcpssrKCrossSection.hh" +#include "G4AnalyticalEcpssrLiCrossSection.hh" + +class G4teoCrossSection : public G4VhShellCrossSection +{ +public: + + G4teoCrossSection(G4String); + + ~G4teoCrossSection(); + + + std::vector GetCrossSection(G4int Z, + G4double incidentEnergy, + G4double mass, + G4double deltaEnergy = 0, + G4bool testFlag = false) const; + + std::vector Probabilities(G4int Z, + G4double incidentEnergy, + G4double mass, + G4double deltaEnergy = 0) const; + + + void SetTotalCS(G4double); + + + +private: + + G4double totalCS; + + G4VecpssrKModel* ecpssrShellK; + G4VecpssrLiModel* ecpssrShellLi; + + + G4teoCrossSection(const G4teoCrossSection&); + G4teoCrossSection & operator = (const G4teoCrossSection &right); + +}; + +#endif diff --git a/source/processes/electromagnetic/lowenergy/sources.cmake b/source/processes/electromagnetic/lowenergy/sources.cmake new file mode 100644 index 0000000000..5003cf190e --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/sources.cmake @@ -0,0 +1,472 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4emlowenergy +# Package: Geant4.src.G4processes.G4electromagnetic.G4emlowenergy +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.4 2010/11/15 08:24:43 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/standard/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4emlowenergy + HEADERS + G4AnalyticalEcpssrKCrossSection.hh + G4AnalyticalEcpssrLiCrossSection.hh + G4AtomicDeexcitation.hh + G4AtomicTransitionManager.hh + G4AugerData.hh + G4AugerTransition.hh + G4BoldyshevTripletModel.hh + G4BremsstrahlungCrossSectionHandler.hh + G4BremsstrahlungParameters.hh + G4CompositeEMDataSet.hh + G4CrossSectionChargeDecrease.hh + G4CrossSectionChargeDecreasePartial.hh + G4CrossSectionChargeIncrease.hh + G4CrossSectionChargeIncreasePartial.hh + G4CrossSectionChargeTransferCH.hh + G4CrossSectionChargeTransferExp.hh + G4CrossSectionElasticChampion.hh + G4CrossSectionElasticScreenedRutherfordHE.hh + G4CrossSectionElasticScreenedRutherford.hh + G4CrossSectionElasticScreenedRutherfordLE.hh + G4CrossSectionExcitationBorn.hh + G4CrossSectionExcitationBornPartial.hh + G4CrossSectionExcitationEmfietzoglou.hh + G4CrossSectionExcitationEmfietzoglouPartial.hh + G4CrossSectionExcitationMillerGreen.hh + G4CrossSectionExcitationMillerGreenPartial.hh + G4CrossSectionHandler.hh + G4CrossSectionIonisationBornElectron.hh + G4CrossSectionIonisationBorn.hh + G4CrossSectionIonisationBornPartialElectron.hh + G4CrossSectionIonisationBornPartial.hh + G4CrossSectionIonisationRudd.hh + G4CrossSectionIonisationRuddPartial.hh + G4CrossSectionKill.hh + G4CrossSectionPsCreationChampion.hh + G4CrossSectionPsCreationChampionPartial.hh + G4DNAAttachment.hh + G4DNABornExcitationModel.hh + G4DNABornIonisationModel.hh + G4DNAChampionElasticModel.hh + G4DNAChargeDecrease.hh + G4DNAChargeIncrease.hh + G4DNACrossSectionDataSet.hh + G4DNADingfelderChargeDecreaseModel.hh + G4DNADingfelderChargeIncreaseModel.hh + G4DNAElastic.hh + G4DNAEmfietzoglouExcitationModel.hh + G4DNAExcitation.hh + G4DNAGenericIonsManager.hh + G4DNAIonisation.hh + G4DNAMeltonAttachmentModel.hh + G4DNAMillerGreenExcitationModel.hh + G4DNAMoleculeManager.hh + G4DNAProcess.hh + G4DNAProcess.icc + G4DNARuddIonisationExtendedModel.hh + G4DNARuddIonisationModel.hh + G4DNASancheExcitationModel.hh + G4DNAScreenedRutherfordElasticModel.hh + G4DNAVibExcitation.hh + G4DopplerProfile.hh + G4DummyFinalState.hh + G4eBremsstrahlungSpectrum.hh + G4eCrossSectionExcitationEmfietzoglou.hh + G4eCrossSectionScreenedRutherford.hh + G4eIonisationCrossSectionHandler.hh + G4eIonisationParameters.hh + G4eIonisationSpectrum.hh + G4eLowEnergyLoss.hh + G4eLowEnergyLoss.icc + G4EMDataSet.hh + G4empCrossSection.hh + G4FinalStateChargeDecrease.hh + G4FinalStateChargeIncrease.hh + G4FinalStateChargeTransferProton.hh + G4FinalStateElasticBrennerZaider.hh + G4FinalStateElasticChampion.hh + G4FinalStateElasticScreenedRutherford.hh + G4FinalStateExcitationBorn.hh + G4FinalStateExcitationEmfietzoglou.hh + G4FinalStateExcitationMillerGreen.hh + G4FinalStateIonisationBorn.hh + G4FinalStateIonisationRudd.hh + G4FinalStateKill.hh + G4FinalStateProduct.hh + G4FinalStatePsCreationChampion.hh + G4FluoData.hh + G4FluoTransition.hh + G4Generator2BN.hh + G4Generator2BS.hh + G4hBetheBlochModel.hh + G4hICRU49He.hh + G4hICRU49Nuclear.hh + G4hICRU49p.hh + G4hIonEffChargeSquare.hh + G4hLowEnergyIonisation.hh + G4hLowEnergyLoss.hh + G4hLowEnergyLoss.icc + G4hNuclearStoppingModel.hh + G4hParametrisedLossModel.hh + G4hQAOModel.hh + G4hShellCrossSectionDoubleExpData.hh + G4hShellCrossSectionDoubleExp.hh + G4hShellCrossSectionExpData.hh + G4hShellCrossSectionExp.hh + G4hShellCrossSection.hh + G4hSRIM2000p.hh + G4hZiegler1977He.hh + G4hZiegler1977Nuclear.hh + G4hZiegler1977p.hh + G4hZiegler1985Nuclear.hh + G4hZiegler1985p.hh + G4IonChuFluctuationModel.hh + G4IonDEDXHandler.hh + G4IonDEDXScalingICRU73.hh + G4ionLowEnergyIonisation.hh + G4IonParametrisedLossModel.hh + G4IonParametrisedLossModel.icc + G4IonYangFluctuationModel.hh + G4LinInterpolation.hh + G4LinLogInterpolation.hh + G4LinLogLogInterpolation.hh + G4LivermoreBremsstrahlungModel.hh + G4LivermoreComptonModel.hh + G4LivermoreGammaConversionModel.hh + G4LivermoreGammaConversionModelRC.hh + G4LivermoreIonisationModel.hh + G4LivermoreNuclearGammaConversionModel.hh + G4LivermorePhotoElectricModel.hh + G4LivermorePolarizedComptonModel.hh + G4LivermorePolarizedGammaConversionModel.hh + G4LivermorePolarizedPhotoElectricModel.hh + G4LivermorePolarizedRayleighModel.hh + G4LivermoreRayleighModel.hh + G4LogLogInterpolation.hh + G4LowEnergyBremsstrahlung.hh + G4LowEnergyCompton.hh + G4LowEnergyGammaConversion.hh + G4LowEnergyIonisation.hh + G4LowEnergyPhotoElectric.hh + G4LowEnergyPolarizedCompton.hh + G4LowEnergyPolarizedRayleigh.hh + G4LowEnergyRayleigh.hh + G4OrlicLiCrossSection.hh + G4PaulKCrossSection.hh + G4Penelope08ComptonModel.hh + G4Penelope08GammaConversionModel.hh + G4Penelope08IonisationModel.hh + G4Penelope08PhotoElectricModel.hh + G4Penelope08RayleighModel.hh + G4PenelopeAnnihilation.hh + G4PenelopeAnnihilationModel.hh + G4PenelopeBremsstrahlungAngular.hh + G4PenelopeBremsstrahlungContinuous.hh + G4PenelopeBremsstrahlung.hh + G4PenelopeBremsstrahlungModel.hh + G4PenelopeCompton.hh + G4PenelopeComptonModel.hh + G4PenelopeCrossSectionHandler.hh + G4PenelopeCrossSection.hh + G4PenelopeGammaConversion.hh + G4PenelopeGammaConversionModel.hh + G4PenelopeIntegrator.hh + G4PenelopeIntegrator.icc + G4PenelopeInterpolator.hh + G4PenelopeIonisation.hh + G4PenelopeIonisationModel.hh + G4PenelopeOscillator.hh + G4PenelopeOscillatorManager.hh + G4PenelopePhotoElectric.hh + G4PenelopePhotoElectricModel.hh + G4PenelopeRayleigh.hh + G4PenelopeRayleighModel.hh + G4PenelopeSamplingData.hh + G4PhotoElectricAngularGeneratorPolarized.hh + G4PhotoElectricAngularGeneratorSauterGavrila.hh + G4PhotoElectricAngularGeneratorSimple.hh + G4QAOLowEnergyLoss.hh + G4RangeNoTest.hh + G4RangeTest.hh + G4RayleighScattering.hh + G4SemiLogInterpolation.hh + G4ShellData.hh + G4ShellEMDataSet.hh + G4ShellVacancy.hh + G4teoCrossSection.hh + G4UAtomicDeexcitation.hh + G4VCrossSectionHandler.hh + G4VDataSetAlgorithm.hh + G4VecpssrKModel.hh + G4VecpssrLiModel.hh + G4VeLowEnergyLoss.hh + G4VEMDataSet.hh + G4VEnergySpectrum.hh + G4VhElectronicStoppingPower.hh + G4VhEnergyLossModel.hh + G4VhNuclearStoppingPower.hh + G4VhShellCrossSection.hh + G4VIonDEDXScalingAlgorithm.hh + G4VLowEnergyDiscretePhotonProcess.hh + G4VLowEnergyModel.hh + G4VLowEnergyTestableDiscreteProcess.hh + G4VPhotoElectricAngularDistribution.hh + G4VRangeTest.hh + G4WaterExcitationStructure.hh + G4WaterIonisationStructure.hh + SOURCES + G4AnalyticalEcpssrKCrossSection.cc + G4AnalyticalEcpssrLiCrossSection.cc + G4AtomicDeexcitation.cc + G4AtomicTransitionManager.cc + G4AugerData.cc + G4AugerTransition.cc + G4BoldyshevTripletModel.cc + G4BremsstrahlungCrossSectionHandler.cc + G4BremsstrahlungParameters.cc + G4CompositeEMDataSet.cc + G4CrossSectionChargeDecrease.cc + G4CrossSectionChargeDecreasePartial.cc + G4CrossSectionChargeIncrease.cc + G4CrossSectionChargeIncreasePartial.cc + G4CrossSectionChargeTransferCH.cc + G4CrossSectionChargeTransferExp.cc + G4CrossSectionElasticChampion.cc + G4CrossSectionElasticScreenedRutherford.cc + G4CrossSectionElasticScreenedRutherfordHE.cc + G4CrossSectionElasticScreenedRutherfordLE.cc + G4CrossSectionExcitationBorn.cc + G4CrossSectionExcitationBornPartial.cc + G4CrossSectionExcitationEmfietzoglou.cc + G4CrossSectionExcitationEmfietzoglouPartial.cc + G4CrossSectionExcitationMillerGreen.cc + G4CrossSectionExcitationMillerGreenPartial.cc + G4CrossSectionHandler.cc + G4CrossSectionIonisationBorn.cc + G4CrossSectionIonisationBornElectron.cc + G4CrossSectionIonisationBornPartial.cc + G4CrossSectionIonisationBornPartialElectron.cc + G4CrossSectionIonisationRudd.cc + G4CrossSectionIonisationRuddPartial.cc + G4CrossSectionKill.cc + G4CrossSectionPsCreationChampion.cc + G4CrossSectionPsCreationChampionPartial.cc + G4DNAAttachment.cc + G4DNABornExcitationModel.cc + G4DNABornIonisationModel.cc + G4DNAChampionElasticModel.cc + G4DNAChargeDecrease.cc + G4DNAChargeIncrease.cc + G4DNACrossSectionDataSet.cc + G4DNADingfelderChargeDecreaseModel.cc + G4DNADingfelderChargeIncreaseModel.cc + G4DNAElastic.cc + G4DNAEmfietzoglouExcitationModel.cc + G4DNAExcitation.cc + G4DNAGenericIonsManager.cc + G4DNAIonisation.cc + G4DNAMeltonAttachmentModel.cc + G4DNAMillerGreenExcitationModel.cc + G4DNARuddIonisationExtendedModel.cc + G4DNARuddIonisationModel.cc + G4DNASancheExcitationModel.cc + G4DNAScreenedRutherfordElasticModel.cc + G4DNAVibExcitation.cc + G4DopplerProfile.cc + G4DummyFinalState.cc + G4eBremsstrahlungSpectrum.cc + G4eCrossSectionExcitationEmfietzoglou.cc + G4eCrossSectionScreenedRutherford.cc + G4eIonisationCrossSectionHandler.cc + G4eIonisationParameters.cc + G4eIonisationSpectrum.cc + G4eLowEnergyLoss.cc + G4EMDataSet.cc + G4empCrossSection.cc + G4FinalStateChargeDecrease.cc + G4FinalStateChargeIncrease.cc + G4FinalStateChargeTransferProton.cc + G4FinalStateElasticBrennerZaider.cc + G4FinalStateElasticChampion.cc + G4FinalStateElasticScreenedRutherford.cc + G4FinalStateExcitationBorn.cc + G4FinalStateExcitationEmfietzoglou.cc + G4FinalStateExcitationMillerGreen.cc + G4FinalStateIonisationBorn.cc + G4FinalStateIonisationRudd.cc + G4FinalStateKill.cc + G4FinalStateProduct.cc + G4FinalStatePsCreationChampion.cc + G4FluoData.cc + G4FluoTransition.cc + G4Generator2BN.cc + G4Generator2BS.cc + G4hBetheBlochModel.cc + G4hICRU49He.cc + G4hICRU49Nuclear.cc + G4hICRU49p.cc + G4hIonEffChargeSquare.cc + G4hLowEnergyIonisation.cc + G4hLowEnergyLoss.cc + G4hNuclearStoppingModel.cc + G4hParametrisedLossModel.cc + G4hQAOModel.cc + G4hShellCrossSection.cc + G4hShellCrossSectionDoubleExp.cc + G4hShellCrossSectionDoubleExpData.cc + G4hShellCrossSectionExp.cc + G4hShellCrossSectionExpData.cc + G4hSRIM2000p.cc + G4hZiegler1977He.cc + G4hZiegler1977Nuclear.cc + G4hZiegler1977p.cc + G4hZiegler1985Nuclear.cc + G4hZiegler1985p.cc + G4IonChuFluctuationModel.cc + G4IonDEDXHandler.cc + G4IonDEDXScalingICRU73.cc + G4IonParametrisedLossModel.cc + G4IonYangFluctuationModel.cc + G4LinInterpolation.cc + G4LinLogInterpolation.cc + G4LinLogLogInterpolation.cc + G4LivermoreBremsstrahlungModel.cc + G4LivermoreComptonModel.cc + G4LivermoreGammaConversionModel.cc + G4LivermoreGammaConversionModelRC.cc + G4LivermoreIonisationModel.cc + G4LivermoreNuclearGammaConversionModel.cc + G4LivermorePhotoElectricModel.cc + G4LivermorePolarizedComptonModel.cc + G4LivermorePolarizedGammaConversionModel.cc + G4LivermorePolarizedPhotoElectricModel.cc + G4LivermorePolarizedRayleighModel.cc + G4LivermoreRayleighModel.cc + G4LogLogInterpolation.cc + G4LowEnergyBremsstrahlung.cc + G4LowEnergyCompton.cc + G4LowEnergyGammaConversion.cc + G4LowEnergyIonisation.cc + G4LowEnergyPhotoElectric.cc + G4LowEnergyPolarizedCompton.cc + G4LowEnergyPolarizedRayleigh.cc + G4LowEnergyRayleigh.cc + G4OrlicLiCrossSection.cc + G4PaulKCrossSection.cc + G4Penelope08ComptonModel.cc + G4Penelope08GammaConversionModel.cc + G4Penelope08IonisationModel.cc + G4Penelope08PhotoElectricModel.cc + G4Penelope08RayleighModel.cc + G4PenelopeAnnihilation.cc + G4PenelopeAnnihilationModel.cc + G4PenelopeBremsstrahlungAngular.cc + G4PenelopeBremsstrahlung.cc + G4PenelopeBremsstrahlungContinuous.cc + G4PenelopeBremsstrahlungModel.cc + G4PenelopeCompton.cc + G4PenelopeComptonModel.cc + G4PenelopeCrossSection.cc + G4PenelopeCrossSectionHandler.cc + G4PenelopeGammaConversion.cc + G4PenelopeGammaConversionModel.cc + G4PenelopeInterpolator.cc + G4PenelopeIonisation.cc + G4PenelopeIonisationModel.cc + G4PenelopeOscillator.cc + G4PenelopeOscillatorManager.cc + G4PenelopePhotoElectric.cc + G4PenelopePhotoElectricModel.cc + G4PenelopeRayleigh.cc + G4PenelopeRayleighModel.cc + G4PenelopeSamplingData.cc + G4PhotoElectricAngularGeneratorPolarized.cc + G4PhotoElectricAngularGeneratorSauterGavrila.cc + G4PhotoElectricAngularGeneratorSimple.cc + G4QAOLowEnergyLoss.cc + G4RangeTest.cc + G4RayleighScattering.cc + G4SemiLogInterpolation.cc + G4ShellData.cc + G4ShellEMDataSet.cc + G4ShellVacancy.cc + G4teoCrossSection.cc + G4UAtomicDeexcitation.cc + G4VCrossSectionHandler.cc + G4VecpssrKModel.cc + G4VecpssrLiModel.cc + G4VeLowEnergyLoss.cc + G4VhElectronicStoppingPower.cc + G4VhNuclearStoppingPower.cc + G4VhShellCrossSection.cc + G4VIonDEDXScalingAlgorithm.cc + G4VLowEnergyDiscretePhotonProcess.cc + G4VLowEnergyModel.cc + G4VPhotoElectricAngularDistribution.cc + G4WaterExcitationStructure.cc + G4WaterIonisationStructure.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4cuts + G4emstandard + G4emutils + G4geometrymng + G4globman + G4hepnumerics + G4intercoms + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4track + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/electromagnetic/lowenergy/src/G4AnalyticalEcpssrKCrossSection.cc b/source/processes/electromagnetic/lowenergy/src/G4AnalyticalEcpssrKCrossSection.cc new file mode 100755 index 0000000000..2be5249be5 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4AnalyticalEcpssrKCrossSection.cc @@ -0,0 +1,644 @@ +// +// ******************************************************************** +// * 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: G4AnalyticalEcpssrKCrossSection.cc,v 1.5 2010/12/15 07:39:10 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "globals.hh" +#include "G4AnalyticalEcpssrKCrossSection.hh" +#include "G4AtomicTransitionManager.hh" +#include "G4NistManager.hh" +#include "G4Proton.hh" +#include "G4Alpha.hh" +#include +#include +#include "G4SemiLogInterpolation.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4AnalyticalEcpssrKCrossSection::G4AnalyticalEcpssrKCrossSection() +{ + // Storing FK data needed for medium velocities region + + char *path = getenv("G4LEDATA"); + + if (!path) + G4Exception("G4AnalyticalEcpssrKCrossSection::G4AnalyticalEcpssrKCrossSection() G4LEDATA environment variable not set"); + + std::ostringstream fileName; + fileName << path << "/pixe/uf/FK.dat"; + std::ifstream FK(fileName.str().c_str()); + + if (!FK) G4Exception("G4AnalyticalEcpssrKCrossSection::G4AnalyticalEcpssrKCrossSection() error opening FK data file"); + + dummyVec.push_back(0.); + + while(!FK.eof()) + { + double x; + double y; + + FK>>x>>y; + + // Mandatory vector initialization + if (x != dummyVec.back()) + { + dummyVec.push_back(x); + aVecMap[x].push_back(-1.); + } + + FK>>FKData[x][y]; + + if (y != aVecMap[x].back()) aVecMap[x].push_back(y); + + } + + // Storing C coefficients for high velocity formula + + G4String fileC1("pixe/uf/c1"); + tableC1 = new G4DNACrossSectionDataSet(new G4SemiLogInterpolation, 1.,1.); + tableC1->LoadData(fileC1); + + G4String fileC2("pixe/uf/c2"); + tableC2 = new G4DNACrossSectionDataSet(new G4SemiLogInterpolation, 1.,1.); + tableC2->LoadData(fileC2); + + G4String fileC3("pixe/uf/c3"); + tableC3 = new G4DNACrossSectionDataSet(new G4SemiLogInterpolation, 1.,1.); + tableC3->LoadData(fileC3); + + // + + verboseLevel=0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void print (G4double elem) +{ + G4cout << elem << " "; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4AnalyticalEcpssrKCrossSection::~G4AnalyticalEcpssrKCrossSection() +{ + + delete tableC1; + delete tableC2; + delete tableC3; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrKCrossSection::ExpIntFunction(G4int n,G4double x) + +{ +// this "ExpIntFunction" function allows fast evaluation of the n order exponential integral function En(x) + + G4int i; + G4int ii; + G4int nm1; + G4double a; + G4double b; + G4double c; + G4double d; + G4double del; + G4double fact; + G4double h; + G4double psi; + G4double ans = 0; + const G4double euler= 0.5772156649; + const G4int maxit= 100; + const G4double fpmin = 1.0e-30; + const G4double eps = 1.0e-7; + nm1=n-1; + if (n<0 || x<0.0 || (x==0.0 && (n==0 || n==1))) { + G4cout << "G4AnalyticalEcpssrKCrossSection::ExpIntFunction: VERY Bad arguments in ExpIntFunction" << G4endl; + G4cout << n << ", " << x << G4endl; + } + else { + if (n==0) ans=std::exp(-x)/x; + else { + if (x==0.0) ans=1.0/nm1; + else { + if (x > 1.0) { + b=x+n; + c=1.0/fpmin; + d=1.0/b; + h=d; + for (i=1;i<=maxit;i++) { + a=-i*(nm1+i); + b +=2.0; + d=1.0/(a*d+b); + c=b+a/c; + del=c*d; + h *=del; + if (std::fabs(del-1.0) < eps) { + ans=h*std::exp(-x); + return ans; + } + } + } else { + ans = (nm1!=0 ? 1.0/nm1 : -std::log(x)-euler); + fact=1.0; + for (i=1;i<=maxit;i++) { + fact *=-x/i; + if (i !=nm1) del = -fact/(i-nm1); + else { + psi = -euler; + for (ii=1;ii<=nm1;ii++) psi +=1.0/ii; + del=fact*(-std::log(x)+psi); + } + ans += del; + if (std::fabs(del) < std::fabs(ans)*eps) return ans; + } + } + } + } + } +return ans; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +G4double G4AnalyticalEcpssrKCrossSection::CalculateCrossSection(G4int zTarget,G4double massIncident, G4double energyIncident) + +{ + + // this K-CrossSection calculation method is done according to W.Brandt and G.Lapicki, Phys.Rev.A23(1981)// + + G4NistManager* massManager = G4NistManager::Instance(); + + G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + + G4double zIncident = 0; + G4Proton* aProtone = G4Proton::Proton(); + G4Alpha* aAlpha = G4Alpha::Alpha(); + + if (massIncident == aProtone->GetPDGMass() ) + { + zIncident = (aProtone->GetPDGCharge())/eplus; + } + else + { + if (massIncident == aAlpha->GetPDGMass()) + { + zIncident = (aAlpha->GetPDGCharge())/eplus; + } + else + { + G4cout << "*** WARNING in G4AnalyticalEcpssrKCrossSection::CalculateCrossSection : we can treat only Proton or Alpha incident particles " << G4endl; + return 0; + } + } + + if (verboseLevel>0) G4cout << " massIncident=" << massIncident<< G4endl; + + G4double kBindingEnergy = transitionManager->Shell(zTarget,0)->BindingEnergy(); + + if (verboseLevel>0) G4cout << " kBindingEnergy=" << kBindingEnergy/eV<< G4endl; + + G4double massTarget = (massManager->GetAtomicMassAmu(zTarget))*amu_c2; + + if (verboseLevel>0) G4cout << " massTarget=" << massTarget<< G4endl; + + G4double systemMass =((massIncident*massTarget)/(massIncident+massTarget))/electron_mass_c2; //the mass of the system (projectile, target) + + if (verboseLevel>0) G4cout << " systemMass=" << systemMass<< G4endl; + + const G4double zkshell= 0.3; + + G4double screenedzTarget = zTarget-zkshell; // screenedzTarget is the screened nuclear charge of the target + + const G4double rydbergMeV= 13.6056923e-6; + + G4double tetaK = kBindingEnergy/((screenedzTarget*screenedzTarget)*rydbergMeV); //tetaK denotes the reduced binding energy of the electron + + if (verboseLevel>0) G4cout << " tetaK=" << tetaK<< G4endl; + + G4double velocity =(2./(tetaK*screenedzTarget))*std::pow(((energyIncident*electron_mass_c2)/(massIncident*rydbergMeV)),0.5); + + if (verboseLevel>0) G4cout << " velocity=" << velocity<< G4endl; + + const G4double bohrPow2Barn=(Bohr_radius*Bohr_radius)/barn ; + + if (verboseLevel>0) G4cout << " bohrPow2Barn=" << bohrPow2Barn<< G4endl; + + G4double sigma0 = 8.*pi*(zIncident*zIncident)*bohrPow2Barn*std::pow(screenedzTarget,-4.); //sigma0 is the initial cross section of K shell at stable state + + if (verboseLevel>0) G4cout << " sigma0=" << sigma0<< G4endl; + + const G4double kAnalyticalApproximation= 1.5; + + G4double x = kAnalyticalApproximation/velocity; + + if (verboseLevel>0) G4cout << " x=" << x<< G4endl; + + G4double electrIonizationEnergy; + + if ((0.< x) && (x <= 0.035)) + { + electrIonizationEnergy= 0.75*pi*(std::log(1./(x*x))-1.); + } + else + { + if ( (0.035 < x) && (x <=3.)) + { + electrIonizationEnergy =std::exp(-2.*x)/(0.031+(0.213*std::pow(x,0.5))+(0.005*x)-(0.069*std::pow(x,3./2.))+(0.324*x*x)); + } + + else + { + if ( (3.< x) && (x<=11.)) + { + electrIonizationEnergy =2.*std::exp(-2.*x)/std::pow(x,1.6); + } + + else electrIonizationEnergy =0.; + } + } + + if (verboseLevel>0) G4cout << " electrIonizationEnergy=" << electrIonizationEnergy<< G4endl; + + G4double hFunction =(electrIonizationEnergy*2.)/(tetaK*std::pow(velocity,3)); //hFunction represents the correction for polarization effet + + if (verboseLevel>0) G4cout << " hFunction=" << hFunction<< G4endl; + + G4double gFunction = (1.+(9.*velocity)+(31.*velocity*velocity)+(98.*std::pow(velocity,3.))+(12.*std::pow(velocity,4.))+(25.*std::pow(velocity,5.)) + +(4.2*std::pow(velocity,6.))+(0.515*std::pow(velocity,7.)))/std::pow(1.+velocity,9.); //gFunction represents the correction for binding effet + if (verboseLevel>0) G4cout << " gFunction=" << gFunction<< G4endl; + + //----------------------------------------------------------------------------------------------------------------------------- + + G4double sigmaPSS = 1.+(((2.*zIncident)/(screenedzTarget*tetaK))*(gFunction-hFunction)); //describes the perturbed stationnairy state of the affected atomic electon + + if (verboseLevel>0) G4cout << " sigmaPSS=" << sigmaPSS<< G4endl; + + if (verboseLevel>0) G4cout << " sigmaPSS*tetaK=" << sigmaPSS*tetaK<< G4endl; + + //---------------------------------------------------------------------------------------------------------------------------- + + const G4double cNaturalUnit= 1/fine_structure_const; // it's the speed of light according to Atomic-Unit-System + + if (verboseLevel>0) G4cout << " cNaturalUnit=" << cNaturalUnit<< G4endl; + + G4double ykFormula=0.4*(screenedzTarget/cNaturalUnit)*(screenedzTarget/cNaturalUnit)/(velocity/sigmaPSS); + + if (verboseLevel>0) G4cout << " ykFormula=" << ykFormula<< G4endl; + + G4double relativityCorrection = std::pow((1.+(1.1*ykFormula*ykFormula)),0.5)+ykFormula;// the relativistic correction parameter + + if (verboseLevel>0) G4cout << " relativityCorrection=" << relativityCorrection<< G4endl; + + G4double reducedVelocity = velocity*std::pow(relativityCorrection,0.5); // presents the reduced collision velocity parameter + + if (verboseLevel>0) G4cout << " reducedVelocity=" << reducedVelocity<< G4endl; + + G4double etaOverTheta2 = (energyIncident*electron_mass_c2)/(massIncident*rydbergMeV*screenedzTarget*screenedzTarget) + /(sigmaPSS*tetaK)/(sigmaPSS*tetaK); + + if (verboseLevel>0) G4cout << " etaOverTheta2=" << etaOverTheta2<< G4endl; + + G4double universalFunction = 0; + + // low velocity formula + + if ( velocity < 1. ) + { + if (verboseLevel>0) G4cout << " Notice : FK is computed from low velocity formula" << G4endl; + + universalFunction = (std::pow(2.,9.)/45.)*std::pow(reducedVelocity/sigmaPSS,8.)*std::pow((1.+(1.72*(reducedVelocity/sigmaPSS)*(reducedVelocity/sigmaPSS))),-4.);// is the reduced universal cross section + + + if (verboseLevel>0) G4cout << " universalFunction by Brandt 1981 =" << universalFunction<< G4endl; + + } + + else + + { + + if ( etaOverTheta2 > 86.6 && (sigmaPSS*tetaK) > 0.4 && (sigmaPSS*tetaK) < 2.9996 ) + { + // High and medium energies. Method from Rice 1977 on tabvles from Benka 1978 + + if (verboseLevel>0) G4cout << " Notice : FK is computed from high velocity formula" << G4endl; + + if (verboseLevel>0) G4cout << " sigmaPSS*tetaK=" << sigmaPSS*tetaK << G4endl; + + G4double C1= tableC1->FindValue(sigmaPSS*tetaK); + G4double C2= tableC2->FindValue(sigmaPSS*tetaK); + G4double C3= tableC3->FindValue(sigmaPSS*tetaK); + + if (verboseLevel>0) G4cout << " C1=" << C1 << G4endl; + if (verboseLevel>0) G4cout << " C2=" << C2 << G4endl; + if (verboseLevel>0) G4cout << " C3=" << C3 << G4endl; + + G4double etaK = (energyIncident*electron_mass_c2)/(massIncident*rydbergMeV*screenedzTarget*screenedzTarget); + + if (verboseLevel>0) G4cout << " etaK=" << etaK << G4endl; + + G4double etaT = (sigmaPSS*tetaK)*(sigmaPSS*tetaK)*(86.6); // at any theta, the largest tabulated etaOverTheta2 is 86.6 + + if (verboseLevel>0) G4cout << " etaT=" << etaT << G4endl; + + G4double fKT = FunctionFK((sigmaPSS*tetaK),86.6)*(etaT/(sigmaPSS*tetaK)); + + if (FunctionFK((sigmaPSS*tetaK),86.6)<=0.) + { + G4cout << + "*** WARNING in G4AnalyticalEcpssrKCrossSection::CalculateCrossSection : unable to interpolate FK function in high velocity region ! ***" << G4endl; + return 0; + } + + if (verboseLevel>0) G4cout << " FunctionFK=" << FunctionFK((sigmaPSS*tetaK),86.6) << G4endl; + + if (verboseLevel>0) G4cout << " fKT=" << fKT << G4endl; + + G4double GK = C2/(4*etaK) + C3/(32*etaK*etaK); + + if (verboseLevel>0) G4cout << " GK=" << GK << G4endl; + + G4double GT = C2/(4*etaT) + C3/(32*etaT*etaT); + + if (verboseLevel>0) G4cout << " GT=" << GT << G4endl; + + G4double DT = fKT - C1*std::log(etaT) + GT; + + if (verboseLevel>0) G4cout << " DT=" << DT << G4endl; + + G4double fKK = C1*std::log(etaK) + DT - GK; + + if (verboseLevel>0) G4cout << " fKK=" << fKK << G4endl; + + G4double universalFunction3= fKK/(etaK/tetaK); + + if (verboseLevel>0) G4cout << " universalFunction3=" << universalFunction3 << G4endl; + + universalFunction=universalFunction3; + + } + + else if ( etaOverTheta2 >= 1.e-3 && etaOverTheta2 <= 86.6 && (sigmaPSS*tetaK) >= 0.4 && (sigmaPSS*tetaK) <= 2.9996 ) + + { + // From Benka 1978 + + if (verboseLevel>0) G4cout << " Notice : FK is computed from INTERPOLATED data" << G4endl; + + G4double universalFunction2 = FunctionFK((sigmaPSS*tetaK),etaOverTheta2); + + if (universalFunction2<=0) + { + G4cout << + "*** WARNING : G4AnalyticalEcpssrKCrossSection::CalculateCrossSection is unable to interpolate FK function in medium velocity region ! ***" << G4endl; + return 0; + } + + if (verboseLevel>0) G4cout << " universalFunction2=" << universalFunction2 << " for theta=" << sigmaPSS*tetaK << " and etaOverTheta2=" << etaOverTheta2 << G4endl; + + universalFunction=universalFunction2; + } + + } + + //---------------------------------------------------------------------------------------------------------------------- + + G4double sigmaPSSR = (sigma0/(sigmaPSS*tetaK))*universalFunction; //sigmaPSSR is the straight-line K-shell ionization cross section + + if (verboseLevel>0) G4cout << " sigmaPSSR=" << sigmaPSSR<< G4endl; + + //----------------------------------------------------------------------------------------------------------------------- + + G4double pssDeltaK = (4./(systemMass*sigmaPSS*tetaK))*(sigmaPSS/velocity)*(sigmaPSS/velocity); + + if (verboseLevel>0) G4cout << " pssDeltaK=" << pssDeltaK<< G4endl; + + G4double energyLoss = std::pow(1-pssDeltaK,0.5); //energyLoss incorporates the straight-line energy-loss + + if (verboseLevel>0) G4cout << " energyLoss=" << energyLoss<< G4endl; + + G4double energyLossFunction = (std::pow(2.,-9)/8.)*((((9.*energyLoss)-1.)*std::pow(1.+energyLoss,9.))+(((9.*energyLoss)+1.)*std::pow(1.-energyLoss,9.)));//energy loss function + + if (verboseLevel>0) G4cout << " energyLossFunction=" << energyLossFunction<< G4endl; + + //---------------------------------------------------------------------------------------------------------------------------------------------- + + G4double coulombDeflection = (4.*pi*zIncident/systemMass)*std::pow(tetaK*sigmaPSS,-2.)*std::pow(velocity/sigmaPSS,-3.)*(zTarget/screenedzTarget); //incorporates Coulomb deflection parameter + + if (verboseLevel>0) G4cout << " cParameter-short=" << coulombDeflection<< G4endl; + + G4double cParameter = 2.*coulombDeflection/(energyLoss*(energyLoss+1.)); + + if (verboseLevel>0) G4cout << " cParameter-full=" << cParameter<< G4endl; + + G4double coulombDeflectionFunction = 9.*ExpIntFunction(10,cParameter); //this function describes Coulomb-deflection effect + + if (verboseLevel>0) G4cout << " ExpIntFunction(10,cParameter) =" << ExpIntFunction(10,cParameter) << G4endl; + + if (verboseLevel>0) G4cout << " coulombDeflectionFunction =" << coulombDeflectionFunction << G4endl; + + //-------------------------------------------------------------------------------------------------------------------------------------------------- + + G4double crossSection = 0; + + crossSection = energyLossFunction* coulombDeflectionFunction*sigmaPSSR; //this ECPSSR cross section is estimated at perturbed-stationnairy-state(PSS) + //and it's reduced by the energy-loss(E),the Coulomb deflection(C), + //and the relativity(R) effects + + //-------------------------------------------------------------------------------------------------------------------------------------------------- + + if (crossSection >= 0) { + return crossSection * barn; + } + else {return 0;} + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrKCrossSection::FunctionFK(G4double k, G4double theta) +{ + + G4double sigma = 0.; + G4double valueT1 = 0; + G4double valueT2 = 0; + G4double valueE21 = 0; + G4double valueE22 = 0; + G4double valueE12 = 0; + G4double valueE11 = 0; + G4double xs11 = 0; + G4double xs12 = 0; + G4double xs21 = 0; + G4double xs22 = 0; + + // PROTECTION TO ALLOW INTERPOLATION AT MINIMUM AND MAXIMUM EtaK/Theta2 values + // (in particular for FK computation at 8.66EXX for high velocity formula) + + if ( + theta==8.66e-3 || + theta==8.66e-2 || + theta==8.66e-1 || + theta==8.66e+0 || + theta==8.66e+1 + ) theta=theta-1e-12; + + if ( + theta==1.e-3 || + theta==1.e-2 || + theta==1.e-1 || + theta==1.e+00 || + theta==1.e+01 + ) theta=theta+1e-12; + + // END PROTECTION + + std::vector::iterator t2 = std::upper_bound(dummyVec.begin(),dummyVec.end(), k); + std::vector::iterator t1 = t2-1; + + std::vector::iterator e12 = std::upper_bound(aVecMap[(*t1)].begin(),aVecMap[(*t1)].end(), theta); + std::vector::iterator e11 = e12-1; + + std::vector::iterator e22 = std::upper_bound(aVecMap[(*t2)].begin(),aVecMap[(*t2)].end(), theta); + std::vector::iterator e21 = e22-1; + + valueT1 =*t1; + valueT2 =*t2; + valueE21 =*e21; + valueE22 =*e22; + valueE12 =*e12; + valueE11 =*e11; + + xs11 = FKData[valueT1][valueE11]; + xs12 = FKData[valueT1][valueE12]; + xs21 = FKData[valueT2][valueE21]; + xs22 = FKData[valueT2][valueE22]; + +/* + if (verboseLevel>0) + { + G4cout << "x1= " << valueT1 << G4endl; + G4cout << " vector of y for x1" << G4endl; + std::for_each (aVecMap[(*t1)].begin(),aVecMap[(*t1)].end(), print); + G4cout << G4endl; + G4cout << "x2= " << valueT2 << G4endl; + G4cout << " vector of y for x2" << G4endl; + std::for_each (aVecMap[(*t2)].begin(),aVecMap[(*t2)].end(), print); + + G4cout << G4endl; + G4cout + << " " + << valueT1 << " " + << valueT2 << " " + << valueE11 << " " + << valueE12 << " " + << valueE21<< " " + << valueE22 << " " + << xs11 << " " + << xs12 << " " + << xs21 << " " + << xs22 << " " + << G4endl; + } +*/ + + G4double xsProduct = xs11 * xs12 * xs21 * xs22; + + if (xs11==0 || xs12==0 ||xs21==0 ||xs22==0) return (0.); + + if (xsProduct != 0.) + { + sigma = QuadInterpolator( valueE11, valueE12, + valueE21, valueE22, + xs11, xs12, + xs21, xs22, + valueT1, valueT2, + k, theta ); + } + + return sigma; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrKCrossSection::LinLogInterpolate(G4double e1, + G4double e2, + G4double e, + G4double xs1, + G4double xs2) +{ + G4double d1 = std::log(xs1); + G4double d2 = std::log(xs2); + G4double value = std::exp(d1 + (d2 - d1)*(e - e1)/ (e2 - e1)); + return value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrKCrossSection::LogLogInterpolate(G4double e1, + G4double e2, + G4double e, + G4double xs1, + G4double xs2) +{ + G4double a = (std::log10(xs2)-std::log10(xs1)) / (std::log10(e2)-std::log10(e1)); + G4double b = std::log10(xs2) - a*std::log10(e2); + G4double sigma = a*std::log10(e) + b; + G4double value = (std::pow(10.,sigma)); + return value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrKCrossSection::QuadInterpolator(G4double e11, G4double e12, + G4double e21, G4double e22, + G4double xs11, G4double xs12, + G4double xs21, G4double xs22, + G4double t1, G4double t2, + G4double t, G4double e) +{ +// Log-Log + G4double interpolatedvalue1 = LogLogInterpolate(e11, e12, e, xs11, xs12); + G4double interpolatedvalue2 = LogLogInterpolate(e21, e22, e, xs21, xs22); + G4double value = LogLogInterpolate(t1, t2, t, interpolatedvalue1, interpolatedvalue2); + +/* +// Lin-Log + G4double interpolatedvalue1 = LinLogInterpolate(e11, e12, e, xs11, xs12); + G4double interpolatedvalue2 = LinLogInterpolate(e21, e22, e, xs21, xs22); + G4double value = LinLogInterpolate(t1, t2, t, interpolatedvalue1, interpolatedvalue2); +*/ + return value; +} + + + + + diff --git a/source/processes/electromagnetic/lowenergy/src/G4AnalyticalEcpssrLiCrossSection.cc b/source/processes/electromagnetic/lowenergy/src/G4AnalyticalEcpssrLiCrossSection.cc new file mode 100755 index 0000000000..dab7b77c4c --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4AnalyticalEcpssrLiCrossSection.cc @@ -0,0 +1,983 @@ +// +// ******************************************************************** +// * 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: G4AnalyticalEcpssrLiCrossSection.cc,v 1.4 2010/11/22 17:25:45 mantero Exp $ +// GEANT4 tag $Name: geant4-09-04 $ + +#include "globals.hh" +#include "G4AnalyticalEcpssrLiCrossSection.hh" +#include "G4AtomicTransitionManager.hh" +#include "G4NistManager.hh" +#include "G4Proton.hh" +#include "G4Alpha.hh" +#include +#include +#include "G4LinLogInterpolation.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4AnalyticalEcpssrLiCrossSection::G4AnalyticalEcpssrLiCrossSection() +{ + + // Storing FLi data needed for 0.2 to 3.0 velocities region + + char *path = getenv("G4LEDATA"); + + if (!path) + G4Exception("G4ecpssrLCrossSection::G4AnalyticalEcpssrLiCrossSection() G4LEDDATA environment variable not set"); + + std::ostringstream fileName1; + std::ostringstream fileName2; + + fileName1 << path << "/pixe/uf/FL1.dat"; + fileName2 << path << "/pixe/uf/FL2.dat"; + + // Reading of FL1.dat + + std::ifstream FL1(fileName1.str().c_str()); + if (!FL1) G4Exception("G4ecpssrLCrossSection::G4AnalyticalEcpssrLiCrossSection() error opening FL1 data file"); + + dummyVec1.push_back(0.); + + while(!FL1.eof()) + { + double x1; + double y1; + + FL1>>x1>>y1; + + // Mandatory vector initialization + if (x1 != dummyVec1.back()) + { + dummyVec1.push_back(x1); + aVecMap1[x1].push_back(-1.); + } + + FL1>>FL1Data[x1][y1]; + + if (y1 != aVecMap1[x1].back()) aVecMap1[x1].push_back(y1); + } + + // Reading of FL2.dat + + std::ifstream FL2(fileName2.str().c_str()); + if (!FL2) G4Exception("G4ecpssrLCrossSection::G4AnalyticalEcpssrLiCrossSection() error opening FL2 data file"); + + dummyVec2.push_back(0.); + + while(!FL2.eof()) + { + double x2; + double y2; + + FL2>>x2>>y2; + + // Mandatory vector initialization + if (x2 != dummyVec2.back()) + { + dummyVec2.push_back(x2); + aVecMap2[x2].push_back(-1.); + } + + FL2>>FL2Data[x2][y2]; + + if (y2 != aVecMap2[x2].back()) aVecMap2[x2].push_back(y2); + } + + // Verbose level + verboseLevel=0; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4AnalyticalEcpssrLiCrossSection::~G4AnalyticalEcpssrLiCrossSection() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrLiCrossSection::ExpIntFunction(G4int n,G4double x) + +{ +// this function allows fast evaluation of the n order exponential integral function En(x) + + G4int i; + G4int ii; + G4int nm1; + G4double a; + G4double b; + G4double c; + G4double d; + G4double del; + G4double fact; + G4double h; + G4double psi; + G4double ans = 0; + const G4double euler= 0.5772156649; + const G4int maxit= 100; + const G4double fpmin = 1.0e-30; + const G4double eps = 1.0e-7; + nm1=n-1; + if (n<0 || x<0.0 || (x==0.0 && (n==0 || n==1))) + G4cout << "bad arguments in ExpIntFunction" << G4endl; + else { + if (n==0) ans=std::exp(-x)/x; + else { + if (x==0.0) ans=1.0/nm1; + else { + if (x > 1.0) { + b=x+n; + c=1.0/fpmin; + d=1.0/b; + h=d; + for (i=1;i<=maxit;i++) { + a=-i*(nm1+i); + b +=2.0; + d=1.0/(a*d+b); + c=b+a/c; + del=c*d; + h *=del; + if (std::fabs(del-1.0) < eps) { + ans=h*std::exp(-x); + return ans; + } + } + } else { + ans = (nm1!=0 ? 1.0/nm1 : -std::log(x)-euler); + fact=1.0; + for (i=1;i<=maxit;i++) { + fact *=-x/i; + if (i !=nm1) del = -fact/(i-nm1); + else { + psi = -euler; + for (ii=1;ii<=nm1;ii++) psi +=1.0/ii; + del=fact*(-std::log(x)+psi); + } + ans += del; + if (std::fabs(del) < std::fabs(ans)*eps) return ans; + } + } + } + } + } +return ans; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrLiCrossSection::CalculateL1CrossSection(G4int zTarget,G4double massIncident, G4double energyIncident) +{ + + //this L1-CrossSection calculation method is done according to Werner Brandt and Grzegorz Lapicki, Phys.Rev.A20 N2 (1979), + //and using data tables of O. Benka et al. At.Data Nucl.Data Tables Vol.22 No.3 (1978). + + G4NistManager* massManager = G4NistManager::Instance(); + + G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + + G4double zIncident = 0; + G4Proton* aProtone = G4Proton::Proton(); + G4Alpha* aAlpha = G4Alpha::Alpha(); + + if (massIncident == aProtone->GetPDGMass() ) + + zIncident = (aProtone->GetPDGCharge())/eplus; + + else + { + if (massIncident == aAlpha->GetPDGMass()) + + zIncident = (aAlpha->GetPDGCharge())/eplus; + + else + { + G4cout << "*** WARNING in G4AnalyticalEcpssrLiCrossSection::CalculateL1CrossSection : Proton or Alpha incident particles only. " << G4endl; + G4cout << massIncident << ", " << aAlpha->GetPDGMass() << " (alpha)" << aProtone->GetPDGMass() << " (proton)" << G4endl; + return 0; + } + } + + G4double l1BindingEnergy = transitionManager->Shell(zTarget,1)->BindingEnergy(); //Observed binding energy of L1-subshell + + G4double massTarget = (massManager->GetAtomicMassAmu(zTarget))*amu_c2; + + G4double systemMass =((massIncident*massTarget)/(massIncident+massTarget))/electron_mass_c2; //Mass of the system (projectile, target) + + const G4double zlshell= 4.15; + + G4double screenedzTarget = zTarget-zlshell; //Effective nuclear charge as seen by electrons in L1-sub shell + + const G4double rydbergMeV= 13.6056923e-6; + + const G4double nl= 2.; + + G4double tetal1 = (l1BindingEnergy*nl*nl)/((screenedzTarget*screenedzTarget)*rydbergMeV); //Screening parameter + + if (verboseLevel>0) G4cout << " tetal1=" << tetal1<< G4endl; + + G4double reducedEnergy = (energyIncident*electron_mass_c2)/(massIncident*rydbergMeV*screenedzTarget*screenedzTarget); + + const G4double bohrPow2Barn=(Bohr_radius*Bohr_radius)/barn ; //Bohr radius of hydrogen + + G4double sigma0 = 8.*pi*(zIncident*zIncident)*bohrPow2Barn*std::pow(screenedzTarget,-4.); + + G4double velocityl1 = CalculateVelocity(1, zTarget, massIncident, energyIncident); // Scaled velocity + + if (verboseLevel>0) G4cout << " velocityl1=" << velocityl1<< G4endl; + + const G4double l1AnalyticalApproximation= 1.5; + + G4double x1 =(nl*l1AnalyticalApproximation)/velocityl1; + + if (verboseLevel>0) G4cout << " x1=" << x1<< G4endl; + + G4double electrIonizationEnergyl1=0.; + + if ( x1<=0.035) electrIonizationEnergyl1= 0.75*pi*(std::log(1./(x1*x1))-1.); + else + { + if ( x1<=3.) + electrIonizationEnergyl1 =std::exp(-2.*x1)/(0.031+(0.213*std::pow(x1,0.5))+(0.005*x1)-(0.069*std::pow(x1,3./2.))+(0.324*x1*x1)); + else + {if ( x1<=11.) electrIonizationEnergyl1 =2.*std::exp(-2.*x1)/std::pow(x1,1.6);} + } + + G4double hFunctionl1 =(electrIonizationEnergyl1*2.*nl)/(tetal1*std::pow(velocityl1,3)); //takes into account the polarization effect + + if (verboseLevel>0) G4cout << " hFunctionl1=" << hFunctionl1<< G4endl; + + G4double gFunctionl1 = (1.+(9.*velocityl1)+(31.*velocityl1*velocityl1)+(49.*std::pow(velocityl1,3.))+(162.*std::pow(velocityl1,4.))+(63.*std::pow(velocityl1,5.))+(18.*std::pow(velocityl1,6.))+(1.97*std::pow(velocityl1,7.)))/std::pow(1.+velocityl1,9.);//takes into account the reduced binding effect + + if (verboseLevel>0) G4cout << " gFunctionl1=" << gFunctionl1<< G4endl; + + G4double sigmaPSS_l1 = 1.+(((2.*zIncident)/(screenedzTarget*tetal1))*(gFunctionl1-hFunctionl1)); //Binding-polarization factor + + if (verboseLevel>0) G4cout << "sigmaPSS_l1 =" << sigmaPSS_l1<< G4endl; + +const G4double cNaturalUnit= 137.; + +G4double yl1Formula=0.4*(screenedzTarget/cNaturalUnit)*(screenedzTarget/cNaturalUnit)/(nl*velocityl1/sigmaPSS_l1); + +G4double l1relativityCorrection = std::pow((1.+(1.1*yl1Formula*yl1Formula)),0.5)+yl1Formula; // Relativistic correction parameter + +//G4double reducedVelocity_l1 = velocityl1*std::pow(l1relativityCorrection,0.5); //Reduced velocity parameter + + +G4double L1etaOverTheta2; + +G4double universalFunction_l1 = 0.; + +G4double sigmaPSSR_l1; + +if ( velocityl1 <5. ) + { + +L1etaOverTheta2 =(reducedEnergy* l1relativityCorrection)/((tetal1*sigmaPSS_l1)*(tetal1*sigmaPSS_l1)); + + if ( ((tetal1*sigmaPSS_l1) >=0.2) && ((tetal1*sigmaPSS_l1) <=2.6670) && (L1etaOverTheta2>=0.1e-3) && (L1etaOverTheta2<=0.866e2) ) + +universalFunction_l1 = FunctionFL1((tetal1*sigmaPSS_l1),L1etaOverTheta2); + + if (verboseLevel>0) G4cout << "at low velocity range, universalFunction_l1 =" << universalFunction_l1 << G4endl; + +sigmaPSSR_l1 = (sigma0/(tetal1*sigmaPSS_l1))*universalFunction_l1;// Plane-wave Born -Aproximation L1-subshell ionisation Cross Section + + if (verboseLevel>0) G4cout << " at low velocity range, sigma PWBA L1 CS = " << sigmaPSSR_l1<< G4endl; + + +} + +else + +{ + + L1etaOverTheta2 = reducedEnergy/(tetal1*tetal1); + + if ( (tetal1 >=0.2) && (tetal1 <=2.6670) && (L1etaOverTheta2>=0.1e-3) && (L1etaOverTheta2<=0.866e2) ) + +universalFunction_l1 = FunctionFL1(tetal1,L1etaOverTheta2); + +if (verboseLevel>0) G4cout << "at medium and high velocity range, universalFunction_l1 =" << universalFunction_l1 << G4endl; + +sigmaPSSR_l1 = (sigma0/tetal1)*universalFunction_l1;// Plane-wave Born -Aproximation L1-subshell ionisation Cross Section + + if (verboseLevel>0) G4cout << " sigma PWBA L1 CS at medium and high velocity range = " << sigmaPSSR_l1<< G4endl; +} + + G4double pssDeltal1 = (4./(systemMass *sigmaPSS_l1*tetal1))*(sigmaPSS_l1/velocityl1)*(sigmaPSS_l1/velocityl1); + + if (verboseLevel>0) G4cout << " pssDeltal1=" << pssDeltal1<< G4endl; + + G4double energyLossl1 = std::pow(1-pssDeltal1,0.5); + + if (verboseLevel>0) G4cout << " energyLossl1=" << energyLossl1<< G4endl; + + G4double coulombDeflectionl1 = +(8.*pi*zIncident/systemMass)*std::pow(tetal1*sigmaPSS_l1,-2.)*std::pow(velocityl1/sigmaPSS_l1,-3.)*(zTarget/screenedzTarget); + + G4double cParameterl1 =2.* coulombDeflectionl1/(energyLossl1*(energyLossl1+1.)); + + G4double coulombDeflectionFunction_l1 = 9.*ExpIntFunction(10,cParameterl1); //Coulomb-deflection effect correction + + if (verboseLevel>0) G4cout << " coulombDeflectionFunction_l1 =" << coulombDeflectionFunction_l1 << G4endl; + +G4double crossSection_L1 = coulombDeflectionFunction_l1 * sigmaPSSR_l1; + + //ECPSSR L1 -subshell cross section is estimated at perturbed-stationnairy-state(PSS) + //and reduced by the energy-loss(E),the Coulomb deflection(C),and the relativity(R) effects + + if (verboseLevel>0) G4cout << " crossSection_L1 =" << crossSection_L1 << G4endl; + + if (crossSection_L1 >= 0) { + + return crossSection_L1 * barn; + } + + else {return 0;} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrLiCrossSection::CalculateL2CrossSection(G4int zTarget,G4double massIncident, G4double energyIncident) + +{ + + // this L2-CrossSection calculation method is done according to Werner Brandt and Grzegorz Lapicki, Phys.Rev.A20 N2 (1979), + // and using data tables of O. Benka et al. At.Data Nucl.Data Tables Vol.22 No.3 (1978). + + G4NistManager* massManager = G4NistManager::Instance(); + + G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + + G4double zIncident = 0; + + G4Proton* aProtone = G4Proton::Proton(); + G4Alpha* aAlpha = G4Alpha::Alpha(); + + if (massIncident == aProtone->GetPDGMass() ) + + zIncident = (aProtone->GetPDGCharge())/eplus; + + else + { + if (massIncident == aAlpha->GetPDGMass()) + + zIncident = (aAlpha->GetPDGCharge())/eplus; + + else + { + G4cout << "*** WARNING in G4AnalyticalEcpssrLiCrossSection::CalculateL2CrossSection : Proton or Alpha incident particles only. " << G4endl; + G4cout << massIncident << ", " << aAlpha->GetPDGMass() << " (alpha)" << aProtone->GetPDGMass() << " (proton)" << G4endl; + return 0; + } + } + + G4double l2BindingEnergy = transitionManager->Shell(zTarget,2)->BindingEnergy(); //Observed binding energy of L2-subshell + + G4double massTarget = (massManager->GetAtomicMassAmu(zTarget))*amu_c2; + + G4double systemMass =((massIncident*massTarget)/(massIncident+massTarget))/electron_mass_c2; //Mass of the system (projectile, target) + + const G4double zlshell= 4.15; + + G4double screenedzTarget = zTarget-zlshell; //Effective nuclear charge as seen by electrons in L2-subshell + + const G4double rydbergMeV= 13.6056923e-6; + + const G4double nl= 2.; + + G4double tetal2 = (l2BindingEnergy*nl*nl)/((screenedzTarget*screenedzTarget)*rydbergMeV); //Screening parameter + + if (verboseLevel>0) G4cout << " tetal2=" << tetal2<< G4endl; + + G4double reducedEnergy = (energyIncident*electron_mass_c2)/(massIncident*rydbergMeV*screenedzTarget*screenedzTarget); + + const G4double bohrPow2Barn=(Bohr_radius*Bohr_radius)/barn ; //Bohr radius of hydrogen + + G4double sigma0 = 8.*pi*(zIncident*zIncident)*bohrPow2Barn*std::pow(screenedzTarget,-4.); + + G4double velocityl2 = CalculateVelocity(2, zTarget, massIncident, energyIncident); // Scaled velocity + + if (verboseLevel>0) G4cout << " velocityl2=" << velocityl2<< G4endl; + + const G4double l23AnalyticalApproximation= 1.25; + + G4double x2 = (nl*l23AnalyticalApproximation)/velocityl2; + + if (verboseLevel>0) G4cout << " x2=" << x2<< G4endl; + + G4double electrIonizationEnergyl2=0.; + + if ( x2<=0.035) electrIonizationEnergyl2= 0.75*pi*(std::log(1./(x2*x2))-1.); + else + { + if ( x2<=3.) + electrIonizationEnergyl2 =std::exp(-2.*x2)/(0.031+(0.210*std::pow(x2,0.5))+(0.005*x2)-(0.069*std::pow(x2,3./2.))+(0.324*x2*x2)); + else + {if ( x2<=11.) electrIonizationEnergyl2 =2.*std::exp(-2.*x2)/std::pow(x2,1.6); } + } + + G4double hFunctionl2 =(electrIonizationEnergyl2*2.*nl)/(tetal2*std::pow(velocityl2,3)); //takes into account the polarization effect + + if (verboseLevel>0) G4cout << " hFunctionl2=" << hFunctionl2<< G4endl; + + G4double gFunctionl2 = (1.+(10.*velocityl2)+(45.*velocityl2*velocityl2)+(102.*std::pow(velocityl2,3.))+(331.*std::pow(velocityl2,4.))+(6.7*std::pow(velocityl2,5.))+(58.*std::pow(velocityl2,6.))+(7.8*std::pow(velocityl2,7.))+ (0.888*std::pow(velocityl2,8.)) )/std::pow(1.+velocityl2,10.); + //takes into account the reduced binding effect + + if (verboseLevel>0) G4cout << " gFunctionl2=" << gFunctionl2<< G4endl; + + G4double sigmaPSS_l2 = 1.+(((2.*zIncident)/(screenedzTarget*tetal2))*(gFunctionl2-hFunctionl2)); //Binding-polarization factor + + if (verboseLevel>0) G4cout << " sigmaPSS_l2=" << sigmaPSS_l2<< G4endl; + +const G4double cNaturalUnit= 137.; + +G4double yl2Formula=0.15*(screenedzTarget/cNaturalUnit)*(screenedzTarget/cNaturalUnit)/(velocityl2/sigmaPSS_l2); + +G4double l2relativityCorrection = std::pow((1.+(1.1*yl2Formula*yl2Formula)),0.5)+yl2Formula; // Relativistic correction parameter + + +G4double L2etaOverTheta2; + +G4double universalFunction_l2 = 0.; + +G4double sigmaPSSR_l2 ; + +if ( velocityl2 < 5. ) + { + +L2etaOverTheta2 = (reducedEnergy*l2relativityCorrection)/((sigmaPSS_l2*tetal2)*(sigmaPSS_l2*tetal2)); + +if ( (tetal2*sigmaPSS_l2>=0.2) && (tetal2*sigmaPSS_l2<=2.6670) && (L2etaOverTheta2>=0.1e-3) && (L2etaOverTheta2<=0.866e2) ) + +universalFunction_l2 = FunctionFL2((tetal2*sigmaPSS_l2),L2etaOverTheta2); + +sigmaPSSR_l2 = (sigma0/(tetal2*sigmaPSS_l2))*universalFunction_l2; + + if (verboseLevel>0) G4cout << " sigma PWBA L2 CS at low velocity range = " << sigmaPSSR_l2<< G4endl; + +} + +else + +{ + +L2etaOverTheta2 = reducedEnergy /(tetal2*tetal2); + +if ( (tetal2>=0.2) && (tetal2<=2.6670) && (L2etaOverTheta2>=0.1e-3) && (L2etaOverTheta2<=0.866e2) ) + +universalFunction_l2 = FunctionFL2((tetal2),L2etaOverTheta2); + +sigmaPSSR_l2 = (sigma0/tetal2)*universalFunction_l2; + + if (verboseLevel>0) G4cout << " sigma PWBA L2 CS at medium and high velocity range = " << sigmaPSSR_l2<< G4endl; + +} + +G4double pssDeltal2 = (4./(systemMass*sigmaPSS_l2*tetal2))*(sigmaPSS_l2/velocityl2)*(sigmaPSS_l2/velocityl2); + +G4double energyLossl2 = std::pow(1-pssDeltal2,0.5); + + if (verboseLevel>0) G4cout << " energyLossl2=" << energyLossl2<< G4endl; + + G4double coulombDeflectionl2 +=(8.*pi*zIncident/systemMass)*std::pow(tetal2*sigmaPSS_l2,-2.)*std::pow(velocityl2/sigmaPSS_l2,-3.)*(zTarget/screenedzTarget); + + G4double cParameterl2 = 2.*coulombDeflectionl2/(energyLossl2*(energyLossl2+1.)); + + G4double coulombDeflectionFunction_l2 = 11.*ExpIntFunction(12,cParameterl2); //Coulomb-deflection effect correction + + if (verboseLevel>0) G4cout << " coulombDeflectionFunction_l2 =" << coulombDeflectionFunction_l2 << G4endl; + + G4double crossSection_L2 = coulombDeflectionFunction_l2 * sigmaPSSR_l2; + //ECPSSR L2 -subshell cross section is estimated at perturbed-stationnairy-state(PSS) + //and reduced by the energy-loss(E),the Coulomb deflection(C),and the relativity(R) effects + + if (verboseLevel>0) G4cout << " crossSection_L2 =" << crossSection_L2 << G4endl; + + if (crossSection_L2 >= 0) { + return crossSection_L2 * barn; + } + else {return 0;} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +G4double G4AnalyticalEcpssrLiCrossSection::CalculateL3CrossSection(G4int zTarget,G4double massIncident, G4double energyIncident) + +{ + + //this L3-CrossSection calculation method is done according to Werner Brandt and Grzegorz Lapicki, Phys.Rev.A20 N2 (1979), + //and using data tables of O. Benka et al. At.Data Nucl.Data Tables Vol.22 No.3 (1978). + + G4NistManager* massManager = G4NistManager::Instance(); + + G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + + G4double zIncident = 0; + + G4Proton* aProtone = G4Proton::Proton(); + G4Alpha* aAlpha = G4Alpha::Alpha(); + + if (massIncident == aProtone->GetPDGMass() ) + + zIncident = (aProtone->GetPDGCharge())/eplus; + + else + { + if (massIncident == aAlpha->GetPDGMass()) + + zIncident = (aAlpha->GetPDGCharge())/eplus; + + else + { + G4cout << "*** WARNING in G4AnalyticalEcpssrLiCrossSection::CalculateL3CrossSection : Proton or Alpha incident particles only. " << G4endl; + G4cout << massIncident << ", " << aAlpha->GetPDGMass() << " (alpha)" << aProtone->GetPDGMass() << " (proton)" << G4endl; + return 0; + } + } + + G4double l3BindingEnergy = transitionManager->Shell(zTarget,3)->BindingEnergy(); + + G4double massTarget = (massManager->GetAtomicMassAmu(zTarget))*amu_c2; + + G4double systemMass =((massIncident*massTarget)/(massIncident+massTarget))/electron_mass_c2;//Mass of the system (projectile, target) + + const G4double zlshell= 4.15; + + G4double screenedzTarget = zTarget-zlshell;//Effective nuclear charge as seen by electrons in L3-subshell + + const G4double rydbergMeV= 13.6056923e-6; + + const G4double nl= 2.; + + G4double tetal3 = (l3BindingEnergy*nl*nl)/((screenedzTarget*screenedzTarget)*rydbergMeV);//Screening parameter + + if (verboseLevel>0) G4cout << " tetal3=" << tetal3<< G4endl; + + G4double reducedEnergy = (energyIncident*electron_mass_c2)/(massIncident*rydbergMeV*screenedzTarget*screenedzTarget); + + const G4double bohrPow2Barn=(Bohr_radius*Bohr_radius)/barn ;//Bohr radius of hydrogen + + G4double sigma0 = 8.*pi*(zIncident*zIncident)*bohrPow2Barn*std::pow(screenedzTarget,-4.); + + G4double velocityl3 = CalculateVelocity(3, zTarget, massIncident, energyIncident);// Scaled velocity + + if (verboseLevel>0) G4cout << " velocityl3=" << velocityl3<< G4endl; + + const G4double l23AnalyticalApproximation= 1.25; + + G4double x3 = (nl*l23AnalyticalApproximation)/velocityl3; + + if (verboseLevel>0) G4cout << " x3=" << x3<< G4endl; + + G4double electrIonizationEnergyl3=0.; + + if ( x3<=0.035) electrIonizationEnergyl3= 0.75*pi*(std::log(1./(x3*x3))-1.); + else + { + if ( x3<=3.) electrIonizationEnergyl3 =std::exp(-2.*x3)/(0.031+(0.210*std::pow(x3,0.5))+(0.005*x3)-(0.069*std::pow(x3,3./2.))+(0.324*x3*x3)); + else + { + if ( x3<=11.) electrIonizationEnergyl3 =2.*std::exp(-2.*x3)/std::pow(x3,1.6);} + } + + G4double hFunctionl3 =(electrIonizationEnergyl3*2.*nl)/(tetal3*std::pow(velocityl3,3));//takes into account the polarization effect + + if (verboseLevel>0) G4cout << " hFunctionl3=" << hFunctionl3<< G4endl; + + G4double gFunctionl3 = (1.+(10.*velocityl3)+(45.*velocityl3*velocityl3)+(102.*std::pow(velocityl3,3.))+(331.*std::pow(velocityl3,4.))+(6.7*std::pow(velocityl3,5.))+(58.*std::pow(velocityl3,6.))+(7.8*std::pow(velocityl3,7.))+ (0.888*std::pow(velocityl3,8.)) )/std::pow(1.+velocityl3,10.); + //takes into account the reduced binding effect + + if (verboseLevel>0) G4cout << " gFunctionl3=" << gFunctionl3<< G4endl; + + G4double sigmaPSS_l3 = 1.+(((2.*zIncident)/(screenedzTarget*tetal3))*(gFunctionl3-hFunctionl3));//Binding-polarization factor + + if (verboseLevel>0) G4cout << "sigmaPSS_l3 =" << sigmaPSS_l3<< G4endl; + +const G4double cNaturalUnit= 137.; + +G4double yl3Formula=0.15*(screenedzTarget/cNaturalUnit)*(screenedzTarget/cNaturalUnit)/(velocityl3/sigmaPSS_l3); + +G4double l3relativityCorrection = std::pow((1.+(1.1*yl3Formula*yl3Formula)),0.5)+yl3Formula; // Relativistic correction parameter + +G4double L3etaOverTheta2; + +G4double universalFunction_l3 = 0.; + +G4double sigmaPSSR_l3; + +if ( velocityl3 < 5. ) + { + +L3etaOverTheta2 = (reducedEnergy* l3relativityCorrection)/((sigmaPSS_l3*tetal3)*(sigmaPSS_l3*tetal3)); + +if ( (tetal3*sigmaPSS_l3>=0.2) && (tetal3*sigmaPSS_l3<=2.6670) && (L3etaOverTheta2>=0.1e-3) && (L3etaOverTheta2<=0.866e2) ) + +universalFunction_l3 = 2.*FunctionFL2((tetal3*sigmaPSS_l3), L3etaOverTheta2 ); + +sigmaPSSR_l3 = (sigma0/(tetal3*sigmaPSS_l3))*universalFunction_l3; + + if (verboseLevel>0) G4cout << " sigma PWBA L3 CS at low velocity range = " << sigmaPSSR_l3<< G4endl; + +} + +else + +{ + + L3etaOverTheta2 = reducedEnergy/(tetal3*tetal3); + +if ( (tetal3>=0.2) && (tetal3<=2.6670) && (L3etaOverTheta2>=0.1e-3) && (L3etaOverTheta2<=0.866e2) ) + +universalFunction_l3 = 2.*FunctionFL2(tetal3, L3etaOverTheta2 ); + + sigmaPSSR_l3 = (sigma0/tetal3)*universalFunction_l3; + + if (verboseLevel>0) G4cout << " sigma PWBA L3 CS at medium and high velocity range = " << sigmaPSSR_l3<< G4endl; + +} + +G4double pssDeltal3 = (4./(systemMass*sigmaPSS_l3*tetal3))*(sigmaPSS_l3/velocityl3)*(sigmaPSS_l3/velocityl3); + +if (verboseLevel>0) G4cout << " pssDeltal3=" << pssDeltal3<< G4endl; + +G4double energyLossl3 = std::pow(1-pssDeltal3,0.5); + +if (verboseLevel>0) G4cout << " energyLossl3=" << energyLossl3<< G4endl; + + G4double coulombDeflectionl3 = +(8.*pi*zIncident/systemMass)*std::pow(tetal3*sigmaPSS_l3,-2.)*std::pow(velocityl3/sigmaPSS_l3,-3.)*(zTarget/screenedzTarget); + + G4double cParameterl3 = 2.*coulombDeflectionl3/(energyLossl3*(energyLossl3+1.)); + + G4double coulombDeflectionFunction_l3 = 11.*ExpIntFunction(12,cParameterl3);//Coulomb-deflection effect correction + + if (verboseLevel>0) G4cout << " coulombDeflectionFunction_l3 =" << coulombDeflectionFunction_l3 << G4endl; + + G4double crossSection_L3 = coulombDeflectionFunction_l3 * sigmaPSSR_l3; + //ECPSSR L3 -subshell cross section is estimated at perturbed-stationnairy-state(PSS) + //and reduced by the energy-loss(E),the Coulomb deflection(C),and the relativity(R) effects + + if (verboseLevel>0) G4cout << " crossSection_L3 =" << crossSection_L3 << G4endl; + + if (crossSection_L3 >= 0) { + return crossSection_L3 * barn; + } + else {return 0;} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrLiCrossSection::CalculateVelocity(G4int subShell, G4int zTarget, G4double massIncident, G4double energyIncident) + +{ + + G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + + G4double liBindingEnergy = transitionManager->Shell(zTarget,subShell)->BindingEnergy(); + + G4Proton* aProtone = G4Proton::Proton(); + G4Alpha* aAlpha = G4Alpha::Alpha(); + + if (!((massIncident == aProtone->GetPDGMass()) || (massIncident == aAlpha->GetPDGMass()))) + { + G4cout << "*** WARNING in G4AnalyticalEcpssrLiCrossSection::CalculateVelocity : Proton or Alpha incident particles only. " << G4endl; + G4cout << massIncident << ", " << aAlpha->GetPDGMass() << " (alpha)" << aProtone->GetPDGMass() << " (proton)" << G4endl; + return 0; + } + + const G4double zlshell= 4.15; + + G4double screenedzTarget = zTarget- zlshell; + + const G4double rydbergMeV= 13.6056923e-6; + + const G4double nl= 2.; + + G4double tetali = (liBindingEnergy*nl*nl)/(screenedzTarget*screenedzTarget*rydbergMeV); + + G4double reducedEnergy = (energyIncident*electron_mass_c2)/(massIncident*rydbergMeV*screenedzTarget*screenedzTarget); + + G4double velocity = 2.*nl*std::pow(reducedEnergy,0.5)/tetali; + + return velocity; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrLiCrossSection::FunctionFL1(G4double k, G4double theta) +{ + + G4double sigma = 0.; + G4double valueT1 = 0; + G4double valueT2 = 0; + G4double valueE21 = 0; + G4double valueE22 = 0; + G4double valueE12 = 0; + G4double valueE11 = 0; + G4double xs11 = 0; + G4double xs12 = 0; + G4double xs21 = 0; + G4double xs22 = 0; + + // PROTECTION TO ALLOW INTERPOLATION AT MINIMUM AND MAXIMUM Eta/Theta2 values + + if ( + theta==8.66e-4 || + theta==8.66e-3 || + theta==8.66e-2 || + theta==8.66e-1 || + theta==8.66e+00 || + theta==8.66e+01 + ) theta=theta-1e-12; + + if ( + theta==1.e-4 || + theta==1.e-3 || + theta==1.e-2 || + theta==1.e-1 || + theta==1.e+00 || + theta==1.e+01 + ) theta=theta+1e-12; + + // END PROTECTION + + std::vector::iterator t2 = std::upper_bound(dummyVec1.begin(),dummyVec1.end(), k); + std::vector::iterator t1 = t2-1; + + std::vector::iterator e12 = std::upper_bound(aVecMap1[(*t1)].begin(),aVecMap1[(*t1)].end(), theta); + std::vector::iterator e11 = e12-1; + + std::vector::iterator e22 = std::upper_bound(aVecMap1[(*t2)].begin(),aVecMap1[(*t2)].end(), theta); + std::vector::iterator e21 = e22-1; + + valueT1 =*t1; + valueT2 =*t2; + valueE21 =*e21; + valueE22 =*e22; + valueE12 =*e12; + valueE11 =*e11; + + xs11 = FL1Data[valueT1][valueE11]; + xs12 = FL1Data[valueT1][valueE12]; + xs21 = FL1Data[valueT2][valueE21]; + xs22 = FL1Data[valueT2][valueE22]; + + if (verboseLevel>0) + G4cout + << valueT1 << " " + << valueT2 << " " + << valueE11 << " " + << valueE12 << " " + << valueE21 << " " + << valueE22 << " " + << xs11 << " " + << xs12 << " " + << xs21 << " " + << xs22 << " " + << G4endl; + + G4double xsProduct = xs11 * xs12 * xs21 * xs22; + + if (xs11==0 || xs12==0 ||xs21==0 ||xs22==0) return (0.); + + if (xsProduct != 0.) + { + sigma = QuadInterpolator( valueE11, valueE12, + valueE21, valueE22, + xs11, xs12, + xs21, xs22, + valueT1, valueT2, + k, theta ); + } + + return sigma; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrLiCrossSection::FunctionFL2(G4double k, G4double theta) +{ + + G4double sigma = 0.; + G4double valueT1 = 0; + G4double valueT2 = 0; + G4double valueE21 = 0; + G4double valueE22 = 0; + G4double valueE12 = 0; + G4double valueE11 = 0; + G4double xs11 = 0; + G4double xs12 = 0; + G4double xs21 = 0; + G4double xs22 = 0; + + // PROTECTION TO ALLOW INTERPOLATION AT MINIMUM AND MAXIMUM Eta/Theta2 values + + if ( + theta==8.66e-4 || + theta==8.66e-3 || + theta==8.66e-2 || + theta==8.66e-1 || + theta==8.66e+00 || + theta==8.66e+01 + ) theta=theta-1e-12; + + if ( + theta==1.e-4 || + theta==1.e-3 || + theta==1.e-2 || + theta==1.e-1 || + theta==1.e+00 || + theta==1.e+01 + ) theta=theta+1e-12; + + // END PROTECTION + + std::vector::iterator t2 = std::upper_bound(dummyVec2.begin(),dummyVec2.end(), k); + std::vector::iterator t1 = t2-1; + + std::vector::iterator e12 = std::upper_bound(aVecMap2[(*t1)].begin(),aVecMap2[(*t1)].end(), theta); + std::vector::iterator e11 = e12-1; + + std::vector::iterator e22 = std::upper_bound(aVecMap2[(*t2)].begin(),aVecMap2[(*t2)].end(), theta); + std::vector::iterator e21 = e22-1; + + valueT1 =*t1; + valueT2 =*t2; + valueE21 =*e21; + valueE22 =*e22; + valueE12 =*e12; + valueE11 =*e11; + + xs11 = FL2Data[valueT1][valueE11]; + xs12 = FL2Data[valueT1][valueE12]; + xs21 = FL2Data[valueT2][valueE21]; + xs22 = FL2Data[valueT2][valueE22]; + + if (verboseLevel>0) + G4cout + << valueT1 << " " + << valueT2 << " " + << valueE11 << " " + << valueE12 << " " + << valueE21 << " " + << valueE22 << " " + << xs11 << " " + << xs12 << " " + << xs21 << " " + << xs22 << " " + << G4endl; + + G4double xsProduct = xs11 * xs12 * xs21 * xs22; + + if (xs11==0 || xs12==0 ||xs21==0 ||xs22==0) return (0.); + + if (xsProduct != 0.) + { + sigma = QuadInterpolator( valueE11, valueE12, + valueE21, valueE22, + xs11, xs12, + xs21, xs22, + valueT1, valueT2, + k, theta ); + } + + return sigma; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrLiCrossSection::LinLinInterpolate(G4double e1, + G4double e2, + G4double e, + G4double xs1, + G4double xs2) +{ + G4double value = xs1 + (xs2 - xs1)*(e - e1)/ (e2 - e1); + return value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrLiCrossSection::LinLogInterpolate(G4double e1, + G4double e2, + G4double e, + G4double xs1, + G4double xs2) +{ + G4double d1 = std::log(xs1); + G4double d2 = std::log(xs2); + G4double value = std::exp(d1 + (d2 - d1)*(e - e1)/ (e2 - e1)); + return value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrLiCrossSection::LogLogInterpolate(G4double e1, + G4double e2, + G4double e, + G4double xs1, + G4double xs2) +{ + G4double a = (std::log10(xs2)-std::log10(xs1)) / (std::log10(e2)-std::log10(e1)); + G4double b = std::log10(xs2) - a*std::log10(e2); + G4double sigma = a*std::log10(e) + b; + G4double value = (std::pow(10.,sigma)); + return value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4AnalyticalEcpssrLiCrossSection::QuadInterpolator(G4double e11, G4double e12, + G4double e21, G4double e22, + G4double xs11, G4double xs12, + G4double xs21, G4double xs22, + G4double t1, G4double t2, + G4double t, G4double e) +{ +// Log-Log + G4double interpolatedvalue1 = LogLogInterpolate(e11, e12, e, xs11, xs12); + G4double interpolatedvalue2 = LogLogInterpolate(e21, e22, e, xs21, xs22); + G4double value = LogLogInterpolate(t1, t2, t, interpolatedvalue1, interpolatedvalue2); + +/* +// Lin-Log + G4double interpolatedvalue1 = LinLogInterpolate(e11, e12, e, xs11, xs12); + G4double interpolatedvalue2 = LinLogInterpolate(e21, e22, e, xs21, xs22); + G4double value = LinLogInterpolate(t1, t2, t, interpolatedvalue1, interpolatedvalue2); +*/ + +/* +// Lin-Lin + G4double interpolatedvalue1 = LinLinInterpolate(e11, e12, e, xs11, xs12); + G4double interpolatedvalue2 = LinLinInterpolate(e21, e22, e, xs21, xs22); + G4double value = LinLinInterpolate(t1, t2, t, interpolatedvalue1, interpolatedvalue2); +*/ + return value; + +} + diff --git a/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc index 5ceade92d2..a2c770cff8 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc @@ -25,7 +25,7 @@ // // // $Id: G4AtomicDeexcitation.cc,v 1.11 -// GEANT4 tag $Name: geant4-09-03 $ +// GEANT4 tag $Name: geant4-09-04 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) @@ -58,8 +58,8 @@ std::vector* G4AtomicDeexcitation::GenerateParticles(G4int Z { std::vector* vectorOfParticles; - vectorOfParticles = new std::vector; + G4DynamicParticle* aParticle; G4int provShellId = 0; G4int counter = 0; @@ -112,7 +112,12 @@ std::vector* G4AtomicDeexcitation::GenerateParticles(G4int Z // Look this in a particular way: only one auger emitted! // ???? while (provShellId > -2); - + + // debug + // if (vectorOfParticles->size() > 0) { + // G4cout << " DEEXCITATION!" << G4endl; + // } + return vectorOfParticles; } @@ -383,9 +388,7 @@ G4DynamicParticle* G4AtomicDeexcitation::GenerateAuger(G4int Z, G4int shellId) // G4int augerOriginatingShellId = 0; G4int numberOfPossibleAuger = 0; - numberOfPossibleAuger = anAugerTransition->AugerTransitionProbabilities(transitionRandomShellId)->size(); - - + G4bool foundFlag = false; while (transitionRandomShellIndex < transitionSize) { diff --git a/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc b/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc index 81c5c33769..479d54cd57 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4AtomicTransitionManager.cc,v 1.2 ???? -// GEANT4 tag $Name: geant4-09-03 $ +// GEANT4 tag $Name: geant4-09-04 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) diff --git a/source/processes/electromagnetic/lowenergy/src/G4AugerTransition.cc b/source/processes/electromagnetic/lowenergy/src/G4AugerTransition.cc index f71b7b63ab..d8bb4a3f69 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4AugerTransition.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4AugerTransition.cc @@ -96,19 +96,37 @@ const std::vector* G4AugerTransition::TransitionOriginatingShellIds() con const G4DataVector* G4AugerTransition::AugerTransitionEnergies(G4int startShellId) const { std::map >::const_iterator shellId = augerTransitionEnergiesMap.find(startShellId); + + if (shellId == augerTransitionEnergiesMap.end() ) + {G4Exception("G4AugerTransition: corresponding map element not found");} + const G4DataVector* dataSet = &(*shellId).second; return dataSet; } -// Returns the emission probabilities of the auger electrons, given th shell +// Returns the emission probabilities of the auger electrons, given the shell // from wich the transition electron cames from. const G4DataVector* G4AugerTransition::AugerTransitionProbabilities(G4int startShellId) const { + + //debugging + //if (startShellId == 1){G4cout <<"OI!!!"<< G4endl;} + std::map >::const_iterator shellId = augerTransitionProbabilitiesMap.find(startShellId); + + if (shellId == augerTransitionProbabilitiesMap.end() ) + {G4Exception("G4AugerTransition: corresponding map element not found");} + const G4DataVector* dataSet = &(*shellId).second; + // debugging purpose: + /* G4cout << "id: " << shellId->first << G4endl; + G4cout << "size:" << dataSet->size() << G4endl; + for (G4int i = 0; i < dataSet->size(); i++){ + G4cout << (dataSet[0])[i] << G4endl; + }*/ return dataSet; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4BoldyshevTripletModel.cc b/source/processes/electromagnetic/lowenergy/src/G4BoldyshevTripletModel.cc new file mode 100644 index 0000000000..fc7ca11068 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4BoldyshevTripletModel.cc @@ -0,0 +1,338 @@ +// +// ******************************************************************** +// * 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: G4BoldyshevTripletModel.cc,v 1.2 2010/11/12 16:48:13 flongo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// Author: Gerardo Depaola & Francesco Longo +// +// History: +// -------- +// 23-06-2010 First implementation as model + + +#include "G4BoldyshevTripletModel.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +using namespace std; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4BoldyshevTripletModel::G4BoldyshevTripletModel(const G4ParticleDefinition*, + const G4String& nam) + :G4VEmModel(nam),smallEnergy(4.*MeV),isInitialised(false), + crossSectionHandler(0),meanFreePathTable(0) +{ + lowEnergyLimit = 4.0*electron_mass_c2; + highEnergyLimit = 100 * GeV; + SetHighEnergyLimit(highEnergyLimit); + + verboseLevel= 0; + // Verbosity scale: + // 0 = nothing + // 1 = warning for energy non-conservation + // 2 = details of energy budget + // 3 = calculation of cross sections, file openings, sampling of atoms + // 4 = entering in methods + + if(verboseLevel > 0) { + G4cout << "Triplet Gamma conversion is constructed " << G4endl + << "Energy range: " + << lowEnergyLimit / MeV << " MeV - " + << highEnergyLimit / GeV << " GeV" + << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4BoldyshevTripletModel::~G4BoldyshevTripletModel() +{ + if (crossSectionHandler) delete crossSectionHandler; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void +G4BoldyshevTripletModel::Initialise(const G4ParticleDefinition*, + const G4DataVector&) +{ + if (verboseLevel > 3) + G4cout << "Calling G4BoldyshevTripletModel::Initialise()" << G4endl; + + if (crossSectionHandler) + { + crossSectionHandler->Clear(); + delete crossSectionHandler; + } + + // Read data tables for all materials + + crossSectionHandler = new G4CrossSectionHandler(); + crossSectionHandler->Initialise(0,lowEnergyLimit,100.*GeV,400); + G4String crossSectionFile = "tripdata/pp-trip-cs-"; // here only pair in electron field cs should be used + crossSectionHandler->LoadData(crossSectionFile); + + // + + if (verboseLevel > 0) { + G4cout << "Loaded cross section files for Livermore GammaConversion" << G4endl; + G4cout << "To obtain the total cross section this should be used only " << G4endl + << "in connection with G4NuclearGammaConversion " << G4endl; + } + + if (verboseLevel > 0) { + G4cout << "Livermore Electron Gamma Conversion model is initialized " << G4endl + << "Energy range: " + << LowEnergyLimit() / MeV << " MeV - " + << HighEnergyLimit() / GeV << " GeV" + << G4endl; + } + + if(isInitialised) return; + fParticleChange = GetParticleChangeForGamma(); + isInitialised = true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double +G4BoldyshevTripletModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double GammaEnergy, + G4double Z, G4double, + G4double, G4double) +{ + if (verboseLevel > 3) { + G4cout << "Calling ComputeCrossSectionPerAtom() of G4BoldyshevTripletModel" + << G4endl; + } + if (GammaEnergy < lowEnergyLimit || GammaEnergy > highEnergyLimit) return 0; + + G4double cs = crossSectionHandler->FindValue(G4int(Z), GammaEnergy); + return cs; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4BoldyshevTripletModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* , + const G4DynamicParticle* aDynamicGamma, + G4double, + G4double) +{ + +// The energies of the secondary particles are sampled using +// a modified Wheeler-Lamb model (see PhysRevD 7 (1973), 26) + + if (verboseLevel > 3) + G4cout << "Calling SampleSecondaries() of G4BoldyshevTripletModel" << G4endl; + + G4double photonEnergy = aDynamicGamma->GetKineticEnergy(); + G4ParticleMomentum photonDirection = aDynamicGamma->GetMomentumDirection(); + + G4double epsilon ; + G4double p0 = electron_mass_c2; + + G4double positronTotEnergy, electronTotEnergy, thetaEle, thetaPos; + G4double ener_re=0., theta_re, phi_re, phi; + + // Calculo de theta - elecron de recoil + + G4double energyThreshold = sqrt(2.)*electron_mass_c2; // -> momentumThreshold_N = 1 + energyThreshold = 1.1*electron_mass_c2; + // G4cout << energyThreshold << G4endl; + + G4double momentumThreshold_c = sqrt(energyThreshold * energyThreshold - electron_mass_c2*electron_mass_c2); // momentun in MeV/c unit + G4double momentumThreshold_N = momentumThreshold_c/electron_mass_c2; // momentun in mc unit + + // Calculation of recoil electron production + + G4double SigmaTot = (28./9.) * std::log ( 2.* photonEnergy / electron_mass_c2 ) - 218. / 27. ; + G4double X_0 = 2. * ( sqrt(momentumThreshold_N*momentumThreshold_N + 1) -1 ); + G4double SigmaQ = (82./27. - (14./9.) * log (X_0) + 4./15.*X_0 - 0.0348 * X_0 * X_0); + G4double recoilProb = G4UniformRand(); + //G4cout << "SIGMA TOT " << SigmaTot << " " << "SigmaQ " << SigmaQ << " " << SigmaQ/SigmaTot << " " << recoilProb << G4endl; + + if (recoilProb >= SigmaQ/SigmaTot) // create electron recoil + { + + G4double cosThetaMax = ( ( energyThreshold - electron_mass_c2 ) / (momentumThreshold_c) + electron_mass_c2* + ( energyThreshold + electron_mass_c2 ) / (photonEnergy*momentumThreshold_c) ); + + if (cosThetaMax > 1) G4cout << "ERRORE " << G4endl; + + G4double r1; + G4double r2; + G4double are, bre, loga, f1_re, greject, cost; + + do { + r1 = G4UniformRand(); + r2 = G4UniformRand(); + // cost = (pow(4./enern,0.5*r1)) ; + cost = pow(cosThetaMax,r1); + theta_re = acos(cost); + are = 1./(14.*cost*cost); + bre = (1.-5.*cost*cost)/(2.*cost); + loga = log((1.+ cost)/(1.- cost)); + f1_re = 1. - bre*loga; + + if ( theta_re >= 4.47*CLHEP::pi/180.) + { + greject = are*f1_re; + } else { + greject = 1. ; + } + } while(greject < r2); + + // Calculo de phi - elecron de recoil + + G4double r3, r4, rt; + + do { + + r3 = G4UniformRand(); + r4 = G4UniformRand(); + phi_re = twopi*r3 ; + G4double sint2 = 1. - cost*cost ; + G4double fp = 1. - sint2*loga/(2.*cost) ; + rt = (1.-cos(2.*phi_re)*fp/f1_re)/(2.*pi) ; + + } while(rt < r4); + + // Calculo de la energia - elecron de recoil - relacion momento maximo <-> angulo + + G4double S = electron_mass_c2*(2.* photonEnergy + electron_mass_c2); + G4double D2 = 4.*S * electron_mass_c2*electron_mass_c2 + + (S - electron_mass_c2*electron_mass_c2) + *(S - electron_mass_c2*electron_mass_c2)*sin(theta_re)*sin(theta_re); + ener_re = electron_mass_c2 * (S + electron_mass_c2*electron_mass_c2)/sqrt(D2); + + // G4cout << "electron de retroceso " << ener_re << " " << theta_re << " " << phi_re << G4endl; + + // Recoil electron creation + G4double dxEle_re=sin(theta_re)*std::cos(phi_re),dyEle_re=sin(theta_re)*std::sin(phi_re), dzEle_re=cos(theta_re); + + G4double electronRKineEnergy = std::max(0.,ener_re - electron_mass_c2) ; + + G4ThreeVector electronRDirection (dxEle_re, dyEle_re, dzEle_re); + electronRDirection.rotateUz(photonDirection); + + G4DynamicParticle* particle3 = new G4DynamicParticle (G4Electron::Electron(), + electronRDirection, + electronRKineEnergy); + fvect->push_back(particle3); + + } + else + { + // deposito la energia ener_re - electron_mass_c2 + // G4cout << "electron de retroceso " << ener_re << G4endl; + fParticleChange->ProposeLocalEnergyDeposit(ener_re - electron_mass_c2); + } + + // Depaola (2004) suggested distribution for e+e- energy + + // G4double t = 0.5*asinh(momentumThreshold_N); + G4double t = 0.5*log(momentumThreshold_N + sqrt(momentumThreshold_N*momentumThreshold_N+1)); + + G4double J1 = 0.5*(t*cosh(t)/sinh(t) - log(2.*sinh(t))); + G4double J2 = (-2./3.)*log(2.*sinh(t)) + t*cosh(t)/sinh(t) + (sinh(t)-t*pow(cosh(t),3))/(3.*pow(sinh(t),2)); + G4double b = 2.*(J2-J1)/J1; + + G4double n = 1 - b/6.; + G4double re=0.; + re = G4UniformRand(); + G4double a = 0.; + G4double b1 = 16. - 3.*b - 36.*b*re*n + 36.*b*pow(re,2.)*pow(n,2.) + + 6.*pow(b,2.)*re*n; + a = pow((b1/b),0.5); + G4double c1 = (-6. + 12.*re*n + b + 2*a)*pow(b,2.); + epsilon = (pow(c1,1./3.))/(2.*b) + (b-4.)/(2.*pow(c1,1./3.))+0.5; + + G4double photonEnergy1 = photonEnergy - ener_re ; // resto al foton la energia del electron de retro. + positronTotEnergy = epsilon*photonEnergy1; + electronTotEnergy = photonEnergy1 - positronTotEnergy; // temporarly + + G4double momento_e = sqrt(electronTotEnergy*electronTotEnergy - + electron_mass_c2*electron_mass_c2) ; + G4double momento_p = sqrt(positronTotEnergy*positronTotEnergy - + electron_mass_c2*electron_mass_c2) ; + + thetaEle = acos((sqrt(p0*p0/(momento_e*momento_e) +1.)- p0/momento_e)) ; + thetaPos = acos((sqrt(p0*p0/(momento_p*momento_p) +1.)- p0/momento_p)) ; + phi = twopi * G4UniformRand(); + + G4double dxEle= std::sin(thetaEle)*std::cos(phi),dyEle= std::sin(thetaEle)*std::sin(phi),dzEle=std::cos(thetaEle); + G4double dxPos=-std::sin(thetaPos)*std::cos(phi),dyPos=-std::sin(thetaPos)*std::sin(phi),dzPos=std::cos(thetaPos); + + + // Kinematics of the created pair: + // the electron and positron are assumed to have a symetric angular + // distribution with respect to the Z axis along the parent photon + + G4double electronKineEnergy = std::max(0.,electronTotEnergy - electron_mass_c2) ; + + // SI - The range test has been removed wrt original G4LowEnergyGammaconversion class + + G4ThreeVector electronDirection (dxEle, dyEle, dzEle); + electronDirection.rotateUz(photonDirection); + + G4DynamicParticle* particle1 = new G4DynamicParticle (G4Electron::Electron(), + electronDirection, + electronKineEnergy); + + // The e+ is always created (even with kinetic energy = 0) for further annihilation + G4double positronKineEnergy = std::max(0.,positronTotEnergy - electron_mass_c2) ; + + // SI - The range test has been removed wrt original G4LowEnergyGammaconversion class + + G4ThreeVector positronDirection (dxPos, dyPos, dzPos); + positronDirection.rotateUz(photonDirection); + + // Create G4DynamicParticle object for the particle2 + G4DynamicParticle* particle2 = new G4DynamicParticle(G4Positron::Positron(), + positronDirection, positronKineEnergy); + // Fill output vector + + + fvect->push_back(particle1); + fvect->push_back(particle2); + + + + + // kill incident photon + fParticleChange->SetProposedKineticEnergy(0.); + fParticleChange->ProposeTrackStatus(fStopAndKill); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + + + diff --git a/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc b/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc index 3d31a2af2f..adbc3c412f 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CompositeEMDataSet.cc,v 1.15 2009/09/25 07:41:34 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4CompositeEMDataSet.cc,v 1.16 2010/11/26 11:51:11 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // @@ -195,6 +195,7 @@ G4bool G4CompositeEMDataSet::SaveData(const G4String& argFileName) const std::ostringstream message; message << "G4CompositeEMDataSet::SaveData - component " << (z-minZ) << " not found"; G4Exception(message.str().c_str()); + return false; } if (!component->SaveData(argFileName)) diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAAttachment.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAAttachment.cc new file mode 100644 index 0000000000..20e1e2fe2a --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAAttachment.cc @@ -0,0 +1,87 @@ +// +// ******************************************************************** +// * 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: G4DNAAttachment.cc,v 1.1 2010/09/08 13:46:45 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ + +#include "G4DNAAttachment.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +using namespace std; + +G4DNAAttachment::G4DNAAttachment(const G4String& processName, + G4ProcessType type):G4VEmProcess (processName, type), + isInitialised(false) +{ + SetProcessSubType(51); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4DNAAttachment::~G4DNAAttachment() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4bool G4DNAAttachment::IsApplicable(const G4ParticleDefinition& p) +{ + G4DNAGenericIonsManager *instance; + instance = G4DNAGenericIonsManager::Instance(); + return (&p == G4Electron::Electron()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4DNAAttachment::InitialiseProcess(const G4ParticleDefinition* p) +{ + if(!isInitialised) + { + isInitialised = true; + SetBuildTableFlag(false); + + G4String name = p->GetParticleName(); + + if(name == "e-") + { + if(!Model()) SetModel(new G4DNAMeltonAttachmentModel); + Model()->SetLowEnergyLimit(4.*eV); + Model()->SetHighEnergyLimit(13.*eV); + AddEmModel(1, Model()); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4DNAAttachment::PrintInfo() +{ + G4cout + << " Total cross sections computed from " + << Model()->GetName() + << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNABornExcitationModel.cc b/source/processes/electromagnetic/lowenergy/src/G4DNABornExcitationModel.cc index f380810f76..279fca7b72 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNABornExcitationModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNABornExcitationModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNABornExcitationModel.cc,v 1.7 2009/08/31 14:03:29 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNABornExcitationModel.cc,v 1.10 2010/08/24 13:51:06 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4DNABornExcitationModel.hh" @@ -39,12 +39,6 @@ G4DNABornExcitationModel::G4DNABornExcitationModel(const G4ParticleDefinition*, const G4String& nam) :G4VEmModel(nam),isInitialised(false) { - - lowEnergyLimit = 500 * keV; - highEnergyLimit = 100 * MeV; - SetLowEnergyLimit(lowEnergyLimit); - SetHighEnergyLimit(highEnergyLimit); - verboseLevel= 0; // Verbosity scale: // 0 = nothing @@ -53,19 +47,9 @@ G4DNABornExcitationModel::G4DNABornExcitationModel(const G4ParticleDefinition*, // 3 = calculation of cross sections, file openings, sampling of atoms // 4 = entering in methods - // - - table = 0; - - // - if( verboseLevel>0 ) { - G4cout << "Born excitation model is constructed " << G4endl - << "Energy range: " - << lowEnergyLimit / keV << " keV - " - << highEnergyLimit / MeV << " MeV" - << G4endl; + G4cout << "Born excitation model is constructed " << G4endl; } } @@ -75,50 +59,103 @@ G4DNABornExcitationModel::G4DNABornExcitationModel(const G4ParticleDefinition*, G4DNABornExcitationModel::~G4DNABornExcitationModel() { // Cross section - delete table; + + std::map< G4String,G4DNACrossSectionDataSet*,std::less >::iterator pos; + for (pos = tableData.begin(); pos != tableData.end(); ++pos) + { + G4DNACrossSectionDataSet* table = pos->second; + delete table; + } + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4DNABornExcitationModel::Initialise(const G4ParticleDefinition* /*particle*/, +void G4DNABornExcitationModel::Initialise(const G4ParticleDefinition* particle, const G4DataVector& /*cuts*/) { if (verboseLevel > 3) G4cout << "Calling G4DNABornExcitationModel::Initialise()" << G4endl; - // Energy limits + G4String fileElectron("dna/sigma_excitation_e_born"); + G4String fileProton("dna/sigma_excitation_p_born"); + + G4ParticleDefinition* electronDef = G4Electron::ElectronDefinition(); + G4ParticleDefinition* protonDef = G4Proton::ProtonDefinition(); + + G4String electron; + G4String proton; - if (LowEnergyLimit() < lowEnergyLimit) + G4double scaleFactor = (1.e-22 / 3.343) * m*m; + + if (electronDef != 0) { - G4cout << "G4DNABornExcitationModel: low energy limit increased from " << - LowEnergyLimit()/keV << " keV to " << lowEnergyLimit/keV << " keV" << G4endl; - SetLowEnergyLimit(lowEnergyLimit); + electron = electronDef->GetParticleName(); + + tableFile[electron] = fileElectron; + + lowEnergyLimit[electron] = 9. * eV; + highEnergyLimit[electron] = 1. * MeV; + + // Cross section + + G4DNACrossSectionDataSet* tableE = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, eV,scaleFactor ); + tableE->LoadData(fileElectron); + + tableData[electron] = tableE; + + } + else + { + G4Exception("G4DNABornExcitationModel::Initialise(): electron is not defined"); } - if (HighEnergyLimit() > highEnergyLimit) + if (protonDef != 0) { - G4cout << "G4DNABornExcitationModel: high energy limit decreased from " << - HighEnergyLimit()/MeV << " MeV to " << highEnergyLimit/MeV << " MeV" << G4endl; - SetHighEnergyLimit(highEnergyLimit); + proton = protonDef->GetParticleName(); + + tableFile[proton] = fileProton; + + lowEnergyLimit[proton] = 500. * keV; + highEnergyLimit[proton] = 100. * MeV; + + // Cross section + + G4DNACrossSectionDataSet* tableP = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, eV,scaleFactor ); + tableP->LoadData(fileProton); + + tableData[proton] = tableP; + + } + else + { + G4Exception("G4DNABornExcitationModel::Initialise(): proton is not defined"); } - // - - if (table == 0) + if (particle==electronDef) { - table = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, eV,(1e-22/3.343)*m*m ); - table->LoadData("dna/sigma_excitation_p_born"); + SetLowEnergyLimit(lowEnergyLimit[electron]); + SetHighEnergyLimit(highEnergyLimit[electron]); + } + + if (particle==protonDef) + { + SetLowEnergyLimit(lowEnergyLimit[proton]); + SetHighEnergyLimit(highEnergyLimit[proton]); } if( verboseLevel>0 ) { G4cout << "Born excitation model is initialized " << G4endl << "Energy range: " - << LowEnergyLimit() / keV << " keV - " - << HighEnergyLimit() / MeV << " MeV " << G4endl; + << LowEnergyLimit() / eV << " eV - " + << HighEnergyLimit() / keV << " keV for " + << particle->GetParticleName() + << G4endl; } + if(!isInitialised) { isInitialised = true; @@ -130,77 +167,82 @@ void G4DNABornExcitationModel::Initialise(const G4ParticleDefinition* /*particle } // InitialiseElementSelectors(particle,cuts); - - // Test if water material - - flagMaterialIsWater= false; - densityWater = 0; - - const G4ProductionCutsTable* theCoupleTable = G4ProductionCutsTable::GetProductionCutsTable(); - - if(theCoupleTable) - { - G4int numOfCouples = theCoupleTable->GetTableSize(); - - if(numOfCouples>0) - { - for (G4int i=0; iGetMaterialCutsCouple(i); - const G4Material* material = couple->GetMaterial(); - - if (material->GetName() == "G4_WATER") - { - G4double density = material->GetAtomicNumDensityVector()[1]; - flagMaterialIsWater = true; - densityWater = density; - - if (verboseLevel > 3) - G4cout << "****** Water material is found with density(cm^-3)=" << density/(cm*cm*cm) << G4endl; - } - - } - - } // if(numOfCouples>0) - - } // if (theCoupleTable) } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4DNABornExcitationModel::CrossSectionPerVolume(const G4Material*, +G4double G4DNABornExcitationModel::CrossSectionPerVolume(const G4Material* material, const G4ParticleDefinition* particleDefinition, - G4double k, + G4double ekin, G4double, G4double) { if (verboseLevel > 3) G4cout << "Calling CrossSectionPerVolume() of G4DNABornExcitationModel" << G4endl; + if ( + particleDefinition != G4Proton::ProtonDefinition() + && + particleDefinition != G4Electron::ElectronDefinition() + ) + + return 0; + // Calculate total cross section for model - G4double crossSection=0; - - if (flagMaterialIsWater) + G4double lowLim = 0; + G4double highLim = 0; + G4double sigma=0; + + if (material->GetName() == "G4_WATER") { - if (particleDefinition == G4Proton::ProtonDefinition()) + const G4String& particleName = particleDefinition->GetParticleName(); + + std::map< G4String,G4double,std::less >::iterator pos1; + pos1 = lowEnergyLimit.find(particleName); + if (pos1 != lowEnergyLimit.end()) { - if (k >= lowEnergyLimit && k < highEnergyLimit) - { - crossSection = table->FindValue(k); - } - - if (verboseLevel > 3) - { - G4cout << "---> Kinetic energy(keV)=" << k/keV << G4endl; - G4cout << " - Cross section per water molecule (cm^2)=" << crossSection/cm/cm << G4endl; - G4cout << " - Cross section per water molecule (cm^-1)=" << crossSection*densityWater/(1./cm) << G4endl; - } + lowLim = pos1->second; + } + + std::map< G4String,G4double,std::less >::iterator pos2; + pos2 = highEnergyLimit.find(particleName); + if (pos2 != highEnergyLimit.end()) + { + highLim = pos2->second; } - } // if (flagMaterialIsWater) - return crossSection*densityWater; + if (ekin >= lowLim && ekin < highLim) + { + std::map< G4String,G4DNACrossSectionDataSet*,std::less >::iterator pos; + pos = tableData.find(particleName); + + if (pos != tableData.end()) + { + G4DNACrossSectionDataSet* table = pos->second; + if (table != 0) + { + sigma = table->FindValue(ekin); + } + } + else + { + G4Exception("G4DNABornExcitationModel::CrossSectionPerVolume: attempting to calculate cross section for wrong particle"); + } + } + + if (verboseLevel > 3) + { + G4cout << "---> Kinetic energy(eV)=" << ekin/eV << G4endl; + G4cout << " - Cross section per water molecule (cm^2)=" << sigma/cm/cm << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*material->GetAtomicNumDensityVector()[1]/(1./cm) << G4endl; + } + + } // if (waterMaterial) + + return sigma*material->GetAtomicNumDensityVector()[1]; + } @@ -218,7 +260,9 @@ void G4DNABornExcitationModel::SampleSecondaries(std::vector G4double k = aDynamicParticle->GetKineticEnergy(); - G4int level = RandomSelect(k); + const G4String& particleName = aDynamicParticle->GetDefinition()->GetParticleName(); + + G4int level = RandomSelect(k,particleName); G4double excitationEnergy = waterStructure.ExcitationEnergy(level); G4double newEnergy = k - excitationEnergy; @@ -233,41 +277,55 @@ void G4DNABornExcitationModel::SampleSecondaries(std::vector //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4int G4DNABornExcitationModel::RandomSelect(G4double k) +G4int G4DNABornExcitationModel::RandomSelect(G4double k, const G4String& particle) { G4int level = 0; - G4double* valuesBuffer = new G4double[table->NumberOfComponents()]; + std::map< G4String,G4DNACrossSectionDataSet*,std::less >::iterator pos; + pos = tableData.find(particle); - const size_t n(table->NumberOfComponents()); - size_t i(n); - G4double value = 0.; - - while (i>0) - { - i--; - valuesBuffer[i] = table->GetComponent(i)->FindValue(k); - value += valuesBuffer[i]; - } - - value *= G4UniformRand(); - - i = n; - - while (i > 0) + if (pos != tableData.end()) { - i--; - - if (valuesBuffer[i] > value) + G4DNACrossSectionDataSet* table = pos->second; + + if (table != 0) { - delete[] valuesBuffer; - return i; + G4double* valuesBuffer = new G4double[table->NumberOfComponents()]; + const size_t n(table->NumberOfComponents()); + size_t i(n); + G4double value = 0.; + + while (i>0) + { + i--; + valuesBuffer[i] = table->GetComponent(i)->FindValue(k); + value += valuesBuffer[i]; + } + + value *= G4UniformRand(); + + i = n; + + while (i > 0) + { + i--; + + if (valuesBuffer[i] > value) + { + delete[] valuesBuffer; + return i; + } + value -= valuesBuffer[i]; + } + + if (valuesBuffer) delete[] valuesBuffer; + } - value -= valuesBuffer[i]; } - - if (valuesBuffer) delete[] valuesBuffer; - + else + { + G4Exception("G4DNABornExcitationModel::RandomSelect attempting to calculate cross section for wrong particle"); + } return level; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNABornIonisationModel.cc b/source/processes/electromagnetic/lowenergy/src/G4DNABornIonisationModel.cc index 5cafc34e19..bb3f32d4f6 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNABornIonisationModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNABornIonisationModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNABornIonisationModel.cc,v 1.14 2009/11/12 03:08:58 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNABornIonisationModel.cc,v 1.18 2010/11/03 12:22:36 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4DNABornIonisationModel.hh" @@ -238,45 +238,11 @@ void G4DNABornIonisationModel::Initialise(const G4ParticleDefinition* particle, // InitialiseElementSelectors(particle,cuts); - // Test if water material - - flagMaterialIsWater= false; - densityWater = 0; - - const G4ProductionCutsTable* theCoupleTable = G4ProductionCutsTable::GetProductionCutsTable(); - - if(theCoupleTable) - { - G4int numOfCouples = theCoupleTable->GetTableSize(); - - if(numOfCouples>0) - { - for (G4int i=0; iGetMaterialCutsCouple(i); - const G4Material* material = couple->GetMaterial(); - - if (material->GetName() == "G4_WATER") - { - G4double density = material->GetAtomicNumDensityVector()[1]; - flagMaterialIsWater = true; - densityWater = density; - - if (verboseLevel > 3) - G4cout << "****** Water material is found with density(cm^-3)=" << density/(cm*cm*cm) << G4endl; - } - - } - - } // if(numOfCouples>0) - - } // if (theCoupleTable) - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4DNABornIonisationModel::CrossSectionPerVolume(const G4Material*, +G4double G4DNABornIonisationModel::CrossSectionPerVolume(const G4Material* material, const G4ParticleDefinition* particleDefinition, G4double ekin, G4double, @@ -299,7 +265,7 @@ G4double G4DNABornIonisationModel::CrossSectionPerVolume(const G4Material*, G4double highLim = 0; G4double sigma=0; - if (flagMaterialIsWater) + if (material->GetName() == "G4_WATER") { const G4String& particleName = particleDefinition->GetParticleName(); @@ -340,12 +306,12 @@ G4double G4DNABornIonisationModel::CrossSectionPerVolume(const G4Material*, { G4cout << "---> Kinetic energy(eV)=" << ekin/eV << G4endl; G4cout << " - Cross section per water molecule (cm^2)=" << sigma/cm/cm << G4endl; - G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*densityWater/(1./cm) << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*material->GetAtomicNumDensityVector()[1]/(1./cm) << G4endl; } } // if (waterMaterial) - return sigma*densityWater; + return sigma*material->GetAtomicNumDensityVector()[1]; } @@ -409,49 +375,32 @@ void G4DNABornIonisationModel::SampleSecondaries(std::vector G4ThreeVector deltaDirection(dirX,dirY,dirZ); deltaDirection.rotateUz(primaryDirection); - G4double deltaTotalMomentum = std::sqrt(secondaryKinetic*(secondaryKinetic + 2.*electron_mass_c2 )); + if (particle->GetDefinition() == G4Electron::ElectronDefinition()) + { + G4double deltaTotalMomentum = std::sqrt(secondaryKinetic*(secondaryKinetic + 2.*electron_mass_c2 )); - G4double finalPx = totalMomentum*primaryDirection.x() - deltaTotalMomentum*deltaDirection.x(); - G4double finalPy = totalMomentum*primaryDirection.y() - deltaTotalMomentum*deltaDirection.y(); - G4double finalPz = totalMomentum*primaryDirection.z() - deltaTotalMomentum*deltaDirection.z(); - G4double finalMomentum = std::sqrt(finalPx*finalPx + finalPy*finalPy + finalPz*finalPz); - finalPx /= finalMomentum; - finalPy /= finalMomentum; - finalPz /= finalMomentum; + G4double finalPx = totalMomentum*primaryDirection.x() - deltaTotalMomentum*deltaDirection.x(); + G4double finalPy = totalMomentum*primaryDirection.y() - deltaTotalMomentum*deltaDirection.y(); + G4double finalPz = totalMomentum*primaryDirection.z() - deltaTotalMomentum*deltaDirection.z(); + G4double finalMomentum = std::sqrt(finalPx*finalPx + finalPy*finalPy + finalPz*finalPz); + finalPx /= finalMomentum; + finalPy /= finalMomentum; + finalPz /= finalMomentum; - G4ThreeVector direction; - direction.set(finalPx,finalPy,finalPz); + G4ThreeVector direction; + direction.set(finalPx,finalPy,finalPz); + + fParticleChangeForGamma->ProposeMomentumDirection(direction.unit()) ; + } + + else fParticleChangeForGamma->ProposeMomentumDirection(primaryDirection) ; - fParticleChangeForGamma->ProposeMomentumDirection(direction.unit()) ; fParticleChangeForGamma->SetProposedKineticEnergy(k-bindingEnergy-secondaryKinetic); fParticleChangeForGamma->ProposeLocalEnergyDeposit(bindingEnergy); G4DynamicParticle* dp = new G4DynamicParticle (G4Electron::Electron(),deltaDirection,secondaryKinetic) ; fvect->push_back(dp); - /* - // creating neutral water molechule... - G4DNAGenericMoleculeManager *instance; - instance = G4DNAGenericMoleculeManager::Instance(); - G4ParticleDefinition* waterDef = NULL; - G4Molecule* water = instance->GetMolecule("H2O"); - waterDef = (G4ParticleDefinition*)water; - - direction.set(0.,0.,0.); - - //G4DynamicParticle* dynamicWater = new G4DynamicParticle(waterDef, direction, bindingEnergy); - G4DynamicMolecule* dynamicWater = new G4DynamicMolecule(water, direction, bindingEnergy); - - - //dynamicWater->RemoveElectron(ionizationShell, 1); - - G4DynamicMolecule* dynamicWater2 = new G4DynamicMolecule(water, direction, bindingEnergy); - G4DynamicMolecule* dynamicWater3 = new G4DynamicMolecule(water, direction, bindingEnergy); - - fvect->push_back(dynamicWater); - fvect->push_back(dynamicWater2); - fvect->push_back(dynamicWater3); - */ } } @@ -511,7 +460,7 @@ G4double k, G4int shell) if (particleDefinition == G4Proton::ProtonDefinition()) { - G4double maximumKineticEnergyTransfer = 4.* (electron_mass_c2 / proton_mass_c2) * k - (waterStructure.IonisationEnergy(shell)); + G4double maximumKineticEnergyTransfer = 4.* (electron_mass_c2 / proton_mass_c2) * k; G4double crossSectionMaximum = 0.; for (G4double value = waterStructure.IonisationEnergy(shell); @@ -563,7 +512,14 @@ void G4DNABornIonisationModel::RandomizeEjectedElectronDirection(G4ParticleDefin { G4double maxSecKinetic = 4.* (electron_mass_c2 / proton_mass_c2) * k; phi = twopi * G4UniformRand(); - cosTheta = std::sqrt(secKinetic / maxSecKinetic); + + // cosTheta = std::sqrt(secKinetic / maxSecKinetic); + + // Restriction below 100 eV from Emfietzoglou (2000) + + if (secKinetic>100*eV) cosTheta = std::sqrt(secKinetic / maxSecKinetic); + else cosTheta = (2.*G4UniformRand())-1.; + } } diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAChampionElasticModel.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAChampionElasticModel.cc index 15ac24f9d6..32736b8025 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAChampionElasticModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAChampionElasticModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAChampionElasticModel.cc,v 1.10 2009/11/03 15:04:25 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAChampionElasticModel.cc,v 1.16 2010/11/11 22:32:22 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4DNAChampionElasticModel.hh" @@ -40,10 +40,9 @@ G4DNAChampionElasticModel::G4DNAChampionElasticModel(const G4ParticleDefinition* :G4VEmModel(nam),isInitialised(false) { - killBelowEnergy = 8.23*eV; // Minimum e- energy for energy loss by excitation + killBelowEnergy = 4*eV; lowEnergyLimit = 0 * eV; - lowEnergyLimitOfModel = 7.4 * eV; // The model lower energy is 7.4 eV - highEnergyLimit = 10 * MeV; + highEnergyLimit = 1. * MeV; SetLowEnergyLimit(lowEnergyLimit); SetHighEnergyLimit(highEnergyLimit); @@ -63,6 +62,7 @@ G4DNAChampionElasticModel::G4DNAChampionElasticModel(const G4ParticleDefinition* << highEnergyLimit / MeV << " MeV" << G4endl; } + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -131,14 +131,14 @@ void G4DNAChampionElasticModel::Initialise(const G4ParticleDefinition* /*particl tableData[electron] = tableE; // For final state - + char *path = getenv("G4LEDATA"); if (!path) G4Exception("G4FinalStateElasticChampion::Initialise: G4LEDATA environment variable not set"); std::ostringstream eFullFileName; - eFullFileName << path << "/dna/sigmadiff_elastic_e_champion.dat"; + eFullFileName << path << "/dna/sigmadiff_cumulatedshort_elastic_e_champion.dat"; std::ifstream eDiffCrossSection(eFullFileName.str().c_str()); if (!eDiffCrossSection) G4Exception("G4DNAChampionElasticModel::Initialise: error opening electron DATA FILE"); @@ -150,8 +150,9 @@ void G4DNAChampionElasticModel::Initialise(const G4ParticleDefinition* /*particl double tDummy; double eDummy; eDiffCrossSection>>tDummy>>eDummy; - + // SI : mandatory eVecm initialization + if (tDummy != eTdummyVec.back()) { eTdummyVec.push_back(tDummy); @@ -160,11 +161,8 @@ void G4DNAChampionElasticModel::Initialise(const G4ParticleDefinition* /*particl eDiffCrossSection>>eDiffCrossSectionData[tDummy][eDummy]; - // SI : only if not end of file reached ! - if (!eDiffCrossSection.eof()) eDiffCrossSectionData[tDummy][eDummy]*=scaleFactor; - if (eDummy != eVecm[tDummy].back()) eVecm[tDummy].push_back(eDummy); - + } // End final state @@ -196,45 +194,11 @@ void G4DNAChampionElasticModel::Initialise(const G4ParticleDefinition* /*particl // InitialiseElementSelectors(particle,cuts); - // Test if water material - - flagMaterialIsWater= false; - densityWater = 0; - - const G4ProductionCutsTable* theCoupleTable = G4ProductionCutsTable::GetProductionCutsTable(); - - if(theCoupleTable) - { - G4int numOfCouples = theCoupleTable->GetTableSize(); - - if(numOfCouples>0) - { - for (G4int i=0; iGetMaterialCutsCouple(i); - const G4Material* material = couple->GetMaterial(); - - if (material->GetName() == "G4_WATER") - { - G4double density = material->GetAtomicNumDensityVector()[1]; - flagMaterialIsWater = true; - densityWater = density; - - if (verboseLevel > 3) - G4cout << "****** Water material is found with density(cm^-3)=" << density/(cm*cm*cm) << G4endl; - } - - } - - } // if(numOfCouples>0) - - } // if (theCoupleTable) - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4DNAChampionElasticModel::CrossSectionPerVolume(const G4Material*, +G4double G4DNAChampionElasticModel::CrossSectionPerVolume(const G4Material* material, const G4ParticleDefinition* p, G4double ekin, G4double, @@ -247,14 +211,14 @@ G4double G4DNAChampionElasticModel::CrossSectionPerVolume(const G4Material*, G4double sigma=0; - if (flagMaterialIsWater) + if (material->GetName() == "G4_WATER") { const G4String& particleName = p->GetParticleName(); if (ekin < highEnergyLimit) { //SI : XS must not be zero otherwise sampling of secondaries method ignored - if (ekin < lowEnergyLimitOfModel) ekin = lowEnergyLimitOfModel; + if (ekin < killBelowEnergy) return DBL_MAX; // std::map< G4String,G4DNACrossSectionDataSet*,std::less >::iterator pos; @@ -278,12 +242,12 @@ G4double G4DNAChampionElasticModel::CrossSectionPerVolume(const G4Material*, { G4cout << "---> Kinetic energy(eV)=" << ekin/eV << G4endl; G4cout << " - Cross section per water molecule (cm^2)=" << sigma/cm/cm << G4endl; - G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*densityWater/(1./cm) << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*material->GetAtomicNumDensityVector()[1]/(1./cm) << G4endl; } - } // if (flagMaterialIsWater) + } - return sigma*densityWater; + return sigma*material->GetAtomicNumDensityVector()[1]; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -309,6 +273,7 @@ void G4DNAChampionElasticModel::SampleSecondaries(std::vector= killBelowEnergy && electronEnergy0 < highEnergyLimit) { + G4double cosTheta = RandomizeCosTheta(electronEnergy0); G4double phi = 2. * pi * G4UniformRand(); @@ -333,11 +298,10 @@ void G4DNAChampionElasticModel::SampleSecondaries(std::vector::iterator t2 = std::upper_bound(eTdummyVec.begin(),eTdummyVec.end(), k); std::vector::iterator t1 = t2-1; - std::vector::iterator e12 = std::upper_bound(eVecm[(*t1)].begin(),eVecm[(*t1)].end(), theta); + std::vector::iterator e12 = std::upper_bound(eVecm[(*t1)].begin(),eVecm[(*t1)].end(), integrDiff); std::vector::iterator e11 = e12-1; - std::vector::iterator e22 = std::upper_bound(eVecm[(*t2)].begin(),eVecm[(*t2)].end(), theta); + std::vector::iterator e22 = std::upper_bound(eVecm[(*t2)].begin(),eVecm[(*t2)].end(), integrDiff); std::vector::iterator e21 = e22-1; valueT1 =*t1; @@ -374,24 +335,18 @@ G4double G4DNAChampionElasticModel::DifferentialCrossSection xs12 = eDiffCrossSectionData[valueT1][valueE12]; xs21 = eDiffCrossSectionData[valueT2][valueE21]; xs22 = eDiffCrossSectionData[valueT2][valueE22]; - -} - - G4double xsProduct = xs11 * xs12 * xs21 * xs22; + } - if (xs11==0 || xs12==0 ||xs21==0 ||xs22==0) return (0.); - - if (xsProduct != 0.) - { - sigma = QuadInterpolator( valueE11, valueE12, + if (xs11==0 && xs12==0 && xs21==0 && xs22==0) return (0.); + + theta = QuadInterpolator ( valueE11, valueE12, valueE21, valueE22, xs11, xs12, xs21, xs22, valueT1, valueT2, - k, theta ); - } - - return sigma; + k, integrDiff ); + + return theta; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -410,6 +365,20 @@ G4double G4DNAChampionElasticModel::LinLogInterpolate(G4double e1, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +G4double G4DNAChampionElasticModel::LinLinInterpolate(G4double e1, + G4double e2, + G4double e, + G4double xs1, + G4double xs2) +{ + G4double d1 = xs1; + G4double d2 = xs2; + G4double value = (d1 + (d2 - d1)*(e - e1)/ (e2 - e1)); + return value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + G4double G4DNAChampionElasticModel::LogLogInterpolate(G4double e1, G4double e2, G4double e, @@ -425,6 +394,7 @@ G4double G4DNAChampionElasticModel::LogLogInterpolate(G4double e1, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + G4double G4DNAChampionElasticModel::QuadInterpolator(G4double e11, G4double e12, G4double e21, G4double e22, G4double xs11, G4double xs12, @@ -432,17 +402,24 @@ G4double G4DNAChampionElasticModel::QuadInterpolator(G4double e11, G4double e12, G4double t1, G4double t2, G4double t, G4double e) { -// Log-Log + // Log-Log /* G4double interpolatedvalue1 = LogLogInterpolate(e11, e12, e, xs11, xs12); G4double interpolatedvalue2 = LogLogInterpolate(e21, e22, e, xs21, xs22); G4double value = LogLogInterpolate(t1, t2, t, interpolatedvalue1, interpolatedvalue2); -*/ -// Lin-Log + + // Lin-Log G4double interpolatedvalue1 = LinLogInterpolate(e11, e12, e, xs11, xs12); G4double interpolatedvalue2 = LinLogInterpolate(e21, e22, e, xs21, xs22); G4double value = LinLogInterpolate(t1, t2, t, interpolatedvalue1, interpolatedvalue2); +*/ + + // Lin-Lin + G4double interpolatedvalue1 = LinLinInterpolate(e11, e12, e, xs11, xs12); + G4double interpolatedvalue2 = LinLinInterpolate(e21, e22, e, xs21, xs22); + G4double value = LinLinInterpolate(t1, t2, t, interpolatedvalue1, interpolatedvalue2); + return value; } @@ -450,36 +427,16 @@ G4double G4DNAChampionElasticModel::QuadInterpolator(G4double e11, G4double e12, G4double G4DNAChampionElasticModel::RandomizeCosTheta(G4double k) { - // ***** Similar method as for screened Rutherford scattering - - G4int iMax=180; - G4double max=0; - G4double tmp=0; - // Look for maximum : - for (G4int i=0; imax) max = tmp; - } + G4double integrdiff=0; + G4double uniformRand=G4UniformRand(); + integrdiff = uniformRand; + + G4double theta=0.; + G4double cosTheta=0.; + theta = Theta(G4Electron::ElectronDefinition(),k/eV,integrdiff); - G4double oneOverMax=0; - if (max!=0) oneOverMax = 1./max; - - G4double cosTheta = 0.; - G4double fCosTheta = 0.; - - do - { - cosTheta = 2. * G4UniformRand() - 1.; - fCosTheta = oneOverMax * DifferentialCrossSection(G4Electron::ElectronDefinition(),k/eV,std::acos(cosTheta)*180./pi); - } - while (fCosTheta < G4UniformRand()); - - if (verboseLevel > 3) - { - G4cout << "---> Cos(theta)=" << cosTheta << G4endl; - } + cosTheta= std::cos(theta*pi/180); return cosTheta; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAChargeDecrease.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAChargeDecrease.cc index b31b3787e7..53e38f24de 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAChargeDecrease.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAChargeDecrease.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAChargeDecrease.cc,v 1.3 2009/03/04 13:28:49 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAChargeDecrease.cc,v 1.4 2010/03/18 16:36:48 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ #include "G4DNAChargeDecrease.hh" @@ -71,7 +71,16 @@ void G4DNAChargeDecrease::InitialiseProcess(const G4ParticleDefinition* p) G4String name = p->GetParticleName(); - if( name == "proton" || name == "alpha" || name == "alpha+" ) + if( name == "proton" ) + { + if(!Model()) SetModel(new G4DNADingfelderChargeDecreaseModel); + Model()->SetLowEnergyLimit(100*eV); + Model()->SetHighEnergyLimit(10*MeV); + + AddEmModel(1, Model()); + } + + if( name == "alpha" || name == "alpha+" ) { if(!Model()) SetModel(new G4DNADingfelderChargeDecreaseModel); Model()->SetLowEnergyLimit(1*keV); diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAChargeIncrease.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAChargeIncrease.cc index 2e9192dba5..18b9e966e7 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAChargeIncrease.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAChargeIncrease.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAChargeIncrease.cc,v 1.3 2009/03/04 13:28:49 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAChargeIncrease.cc,v 1.4 2010/03/18 16:36:48 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ #include "G4DNAChargeIncrease.hh" @@ -71,7 +71,16 @@ void G4DNAChargeIncrease::InitialiseProcess(const G4ParticleDefinition* p) G4String name = p->GetParticleName(); - if( name == "hydrogen" || name =="alpha+" || name =="helium" ) + if( name == "hydrogen" ) + { + if(!Model()) SetModel(new G4DNADingfelderChargeIncreaseModel); + Model()->SetLowEnergyLimit(100*eV); + Model()->SetHighEnergyLimit(10*MeV); + + AddEmModel(1, Model()); + } + + if( name =="alpha+" || name =="helium" ) { if(!Model()) SetModel(new G4DNADingfelderChargeIncreaseModel); Model()->SetLowEnergyLimit(1*keV); @@ -79,6 +88,7 @@ void G4DNAChargeIncrease::InitialiseProcess(const G4ParticleDefinition* p) AddEmModel(1, Model()); } + } } diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNADingfelderChargeDecreaseModel.cc b/source/processes/electromagnetic/lowenergy/src/G4DNADingfelderChargeDecreaseModel.cc index 3a551e818f..3a1b9f78ce 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNADingfelderChargeDecreaseModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNADingfelderChargeDecreaseModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNADingfelderChargeDecreaseModel.cc,v 1.6 2009/08/13 11:32:47 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNADingfelderChargeDecreaseModel.cc,v 1.9 2010/04/06 11:00:35 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #include "G4DNADingfelderChargeDecreaseModel.hh" @@ -83,7 +83,7 @@ void G4DNADingfelderChargeDecreaseModel::Initialise(const G4ParticleDefinition* if (protonDef != 0) { proton = protonDef->GetParticleName(); - lowEnergyLimit[proton] = 1. * keV; + lowEnergyLimit[proton] = 100. * eV; highEnergyLimit[proton] = 10. * MeV; } else @@ -208,45 +208,11 @@ void G4DNADingfelderChargeDecreaseModel::Initialise(const G4ParticleDefinition* // InitialiseElementSelectors(particle,cuts); - // Test if water material - - flagMaterialIsWater= false; - densityWater = 0; - - const G4ProductionCutsTable* theCoupleTable = G4ProductionCutsTable::GetProductionCutsTable(); - - if(theCoupleTable) - { - G4int numOfCouples = theCoupleTable->GetTableSize(); - - if(numOfCouples>0) - { - for (G4int i=0; iGetMaterialCutsCouple(i); - const G4Material* material = couple->GetMaterial(); - - if (material->GetName() == "G4_WATER") - { - G4double density = material->GetAtomicNumDensityVector()[1]; - flagMaterialIsWater = true; - densityWater = density; - - if (verboseLevel > 3) - G4cout << "****** Water material is found with density(cm^-3)=" << density/(cm*cm*cm) << G4endl; - } - - } - - } // if(numOfCouples>0) - - } // if (theCoupleTable) - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4DNADingfelderChargeDecreaseModel::CrossSectionPerVolume(const G4Material*, +G4double G4DNADingfelderChargeDecreaseModel::CrossSectionPerVolume(const G4Material* material, const G4ParticleDefinition* particleDefinition, G4double k, G4double, @@ -274,7 +240,7 @@ G4double G4DNADingfelderChargeDecreaseModel::CrossSectionPerVolume(const G4Mater G4double highLim = 0; G4double crossSection = 0.; - if (flagMaterialIsWater) + if (material->GetName() == "G4_WATER") { const G4String& particleName = particleDefinition->GetParticleName(); @@ -303,12 +269,12 @@ G4double G4DNADingfelderChargeDecreaseModel::CrossSectionPerVolume(const G4Mater { G4cout << "---> Kinetic energy(eV)=" << k/eV << G4endl; G4cout << " - Cross section per water molecule (cm^2)=" << crossSection/cm/cm << G4endl; - G4cout << " - Cross section per water molecule (cm^-1)=" << crossSection*densityWater/(1./cm) << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << crossSection*material->GetAtomicNumDensityVector()[1]/(1./cm) << G4endl; } - } // if (flagMaterialIsWater) + } - return crossSection*densityWater; + return crossSection*material->GetAtomicNumDensityVector()[1]; } @@ -326,6 +292,8 @@ void G4DNADingfelderChargeDecreaseModel::SampleSecondaries(std::vectorGetKineticEnergy(); G4ParticleDefinition* definition = aDynamicParticle->GetDefinition(); + + G4double particleMass = definition->GetPDGMass(); G4int finalStateIndex = RandomSelect(inK,definition); @@ -337,7 +305,7 @@ void G4DNADingfelderChargeDecreaseModel::SampleSecondaries(std::vectorGetParticleName(); - lowEnergyLimit[hydrogen] = 1. * keV; + lowEnergyLimit[hydrogen] = 100. * eV; highEnergyLimit[hydrogen] = 10. * MeV; } else @@ -199,45 +199,11 @@ void G4DNADingfelderChargeIncreaseModel::Initialise(const G4ParticleDefinition* // InitialiseElementSelectors(particle,cuts); - // Test if water material - - flagMaterialIsWater= false; - densityWater = 0; - - const G4ProductionCutsTable* theCoupleTable = G4ProductionCutsTable::GetProductionCutsTable(); - - if(theCoupleTable) - { - G4int numOfCouples = theCoupleTable->GetTableSize(); - - if(numOfCouples>0) - { - for (G4int i=0; iGetMaterialCutsCouple(i); - const G4Material* material = couple->GetMaterial(); - - if (material->GetName() == "G4_WATER") - { - G4double density = material->GetAtomicNumDensityVector()[1]; - flagMaterialIsWater = true; - densityWater = density; - - if (verboseLevel > 3) - G4cout << "****** Water material is found with density(cm^-3)=" << density/(cm*cm*cm) << G4endl; - } - - } - - } // if(numOfCouples>0) - - } // if (theCoupleTable) - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4DNADingfelderChargeIncreaseModel::CrossSectionPerVolume(const G4Material*, +G4double G4DNADingfelderChargeIncreaseModel::CrossSectionPerVolume(const G4Material* material, const G4ParticleDefinition* particleDefinition, G4double k, G4double, @@ -265,7 +231,7 @@ G4double G4DNADingfelderChargeIncreaseModel::CrossSectionPerVolume(const G4Mater G4double highLim = 0; G4double totalCrossSection = 0.; - if (flagMaterialIsWater) + if (material->GetName() == "G4_WATER") { const G4String& particleName = particleDefinition->GetParticleName(); @@ -314,12 +280,12 @@ G4double G4DNADingfelderChargeIncreaseModel::CrossSectionPerVolume(const G4Mater { G4cout << "---> Kinetic energy(eV)=" << k/eV << G4endl; G4cout << " - Cross section per water molecule (cm^2)=" << totalCrossSection/cm/cm << G4endl; - G4cout << " - Cross section per water molecule (cm^-1)=" << totalCrossSection*densityWater/(1./cm) << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << totalCrossSection*material->GetAtomicNumDensityVector()[1]/(1./cm) << G4endl; } - } // if (flagMaterialIsWater) + } - return totalCrossSection*densityWater; + return totalCrossSection*material->GetAtomicNumDensityVector()[1]; } @@ -338,7 +304,9 @@ void G4DNADingfelderChargeIncreaseModel::SampleSecondaries(std::vectorProposeLocalEnergyDeposit(0.); G4ParticleDefinition* definition = aDynamicParticle->GetDefinition(); - + + G4double particleMass = definition->GetPDGMass(); + G4double inK = aDynamicParticle->GetKineticEnergy(); G4int finalStateIndex = RandomSelect(inK,definition); @@ -352,7 +320,7 @@ void G4DNADingfelderChargeIncreaseModel::SampleSecondaries(std::vectorGetIon("hydrogen")) electronK = inK*electron_mass_c2/proton_mass_c2; - else electronK = inK*electron_mass_c2/(3728*MeV); + else electronK = inK*electron_mass_c2/(particleMass); if (outK<0) { diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAElastic.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAElastic.cc index aa642ffea0..e5d258efb1 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAElastic.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAElastic.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAElastic.cc,v 1.3 2009/03/04 13:28:49 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAElastic.cc,v 1.4 2010/09/08 14:07:16 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #include "G4DNAElastic.hh" @@ -61,7 +61,7 @@ void G4DNAElastic::InitialiseProcess(const G4ParticleDefinition*) SetBuildTableFlag(false); if(!Model()) SetModel(new G4DNAScreenedRutherfordElasticModel); Model()->SetLowEnergyLimit(0*eV); - Model()->SetHighEnergyLimit(10*MeV); + Model()->SetHighEnergyLimit(1.*MeV); AddEmModel(1, Model()); } } diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAEmfietzoglouExcitationModel.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAEmfietzoglouExcitationModel.cc index 663c1c1d64..706fee4e70 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAEmfietzoglouExcitationModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAEmfietzoglouExcitationModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAEmfietzoglouExcitationModel.cc,v 1.8 2009/08/13 11:32:47 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAEmfietzoglouExcitationModel.cc,v 1.10 2010/06/08 21:50:00 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #include "G4DNAEmfietzoglouExcitationModel.hh" @@ -45,6 +45,8 @@ G4DNAEmfietzoglouExcitationModel::G4DNAEmfietzoglouExcitationModel(const G4Parti SetLowEnergyLimit(lowEnergyLimit); SetHighEnergyLimit(highEnergyLimit); + nLevels = waterExcitation.NumberOfLevels(); + verboseLevel= 0; // Verbosity scale: // 0 = nothing @@ -95,10 +97,6 @@ void G4DNAEmfietzoglouExcitationModel::Initialise(const G4ParticleDefinition* /* SetHighEnergyLimit(highEnergyLimit); } - // - - nLevels = waterExcitation.NumberOfLevels(); - // if( verboseLevel>0 ) { @@ -121,45 +119,11 @@ void G4DNAEmfietzoglouExcitationModel::Initialise(const G4ParticleDefinition* /* // InitialiseElementSelectors(particle,cuts); - // Test if water material - - flagMaterialIsWater= false; - densityWater = 0; - - const G4ProductionCutsTable* theCoupleTable = G4ProductionCutsTable::GetProductionCutsTable(); - - if(theCoupleTable) - { - G4int numOfCouples = theCoupleTable->GetTableSize(); - - if(numOfCouples>0) - { - for (G4int i=0; iGetMaterialCutsCouple(i); - const G4Material* material = couple->GetMaterial(); - - if (material->GetName() == "G4_WATER") - { - G4double density = material->GetAtomicNumDensityVector()[1]; - flagMaterialIsWater = true; - densityWater = density; - - if (verboseLevel > 3) - G4cout << "****** Water material is found with density(cm^-3)=" << density/(cm*cm*cm) << G4endl; - } - - } - - } // if(numOfCouples>0) - - } // if (theCoupleTable) - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4DNAEmfietzoglouExcitationModel::CrossSectionPerVolume(const G4Material*, +G4double G4DNAEmfietzoglouExcitationModel::CrossSectionPerVolume(const G4Material* material, const G4ParticleDefinition* particleDefinition, G4double ekin, G4double, @@ -172,7 +136,7 @@ G4double G4DNAEmfietzoglouExcitationModel::CrossSectionPerVolume(const G4Materia G4double sigma=0; - if (flagMaterialIsWater) + if (material->GetName() == "G4_WATER") { if (particleDefinition == G4Electron::ElectronDefinition()) @@ -187,12 +151,12 @@ G4double G4DNAEmfietzoglouExcitationModel::CrossSectionPerVolume(const G4Materia { G4cout << "---> Kinetic energy(eV)=" << ekin/eV << G4endl; G4cout << " - Cross section per water molecule (cm^2)=" << sigma/cm/cm << G4endl; - G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*densityWater/(1./cm) << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*material->GetAtomicNumDensityVector()[1]/(1./cm) << G4endl; } - } // if (flagMaterialIsWater) - - return sigma*densityWater; + } + + return sigma*material->GetAtomicNumDensityVector()[1]; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -270,6 +234,7 @@ G4double G4DNAEmfietzoglouExcitationModel::PartialCrossSection(G4double t, G4int * std::pow((1.- (exc/t)), pj[level]); sigma = excitationSigma / density; } + return sigma; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAExcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAExcitation.cc index 3fbaa1de27..2084b6643e 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAExcitation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAExcitation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAExcitation.cc,v 1.3 2009/03/04 13:28:49 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAExcitation.cc,v 1.7 2010/10/08 08:53:17 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #include "G4DNAExcitation.hh" @@ -56,6 +56,7 @@ G4bool G4DNAExcitation::IsApplicable(const G4ParticleDefinition& p) ( &p == G4Electron::Electron() || &p == G4Proton::ProtonDefinition() + || &p == instance->GetIon("hydrogen") || &p == instance->GetIon("alpha++") || &p == instance->GetIon("alpha+") || &p == instance->GetIon("helium") @@ -75,9 +76,18 @@ void G4DNAExcitation::InitialiseProcess(const G4ParticleDefinition* p) if(name == "e-") { + + // Emfietzoglou model +/* if(!Model()) SetModel(new G4DNAEmfietzoglouExcitationModel); Model()->SetLowEnergyLimit(8.23*eV); Model()->SetHighEnergyLimit(10*MeV); +*/ + // Born model + + if(!Model()) SetModel(new G4DNABornExcitationModel); + Model()->SetLowEnergyLimit(9*eV); + Model()->SetHighEnergyLimit(1*MeV); AddEmModel(1, Model()); } @@ -90,17 +100,27 @@ void G4DNAExcitation::InitialiseProcess(const G4ParticleDefinition* p) if(!Model(2)) SetModel(new G4DNABornExcitationModel,2); Model(2)->SetLowEnergyLimit(500*keV); - Model(2)->SetHighEnergyLimit(10*MeV); + Model(2)->SetHighEnergyLimit(100*MeV); AddEmModel(1, Model(1)); AddEmModel(2, Model(2)); } + if(name == "hydrogen") + { + if(!Model()) SetModel(new G4DNAMillerGreenExcitationModel); + Model()->SetLowEnergyLimit(10*eV); + Model()->SetHighEnergyLimit(500*keV); + + AddEmModel(1, Model()); + } + + if( name == "alpha" || name == "alpha+" || name == "helium" ) { if(!Model()) SetModel(new G4DNAMillerGreenExcitationModel); Model()->SetLowEnergyLimit(1*keV); - Model()->SetHighEnergyLimit(10*MeV); + Model()->SetHighEnergyLimit(400*MeV); AddEmModel(1, Model()); } diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAGenericIonsManager.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAGenericIonsManager.cc index 8cd47d8b2e..933fc20694 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAGenericIonsManager.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAGenericIonsManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAGenericIonsManager.cc,v 1.6 2009/06/10 13:32:36 mantero Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAGenericIonsManager.cc,v 1.7 2010/11/03 10:44:26 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #include "G4DNAGenericIonsManager.hh" #include "G4Alpha.hh" @@ -70,8 +70,49 @@ G4DNAGenericIonsManager :: G4DNAGenericIonsManager() G4Ions *positronium1s; G4Ions *positronium2s; + G4Ions *carbon; + G4Ions *nitrogen; + G4Ions *oxygen; + G4Ions *iron; + + iron= new G4Ions( + "iron", 52.5672*GeV, 0.0*MeV, +26.0*eplus, + 0, +1, 0, + 0, 0, 0, + "nucleus", +26, +56, 0, + true, -1.0, 0, + false, "", 0, + 0.0); + + oxygen= new G4Ions( + "oxygen", 15.0074*GeV, 0.0*MeV, +8.0*eplus, + 0, +1, 0, + 0, 0, 0, + "nucleus", +8, +16, 0, + true, -1.0, 0, + false, "", 0, + 0.0); + + + nitrogen= new G4Ions( + "nitrogen", 13.132*GeV, 0.0*MeV, +7.0*eplus, + 0, +1, 0, + 0, 0, 0, + "nucleus", +7, +14, 0, + true, -1.0, 0, + false, "", 0, + 0.0); + + carbon= new G4Ions( + "carbon", 11.267025440*GeV, 0.0*MeV, +6.0*eplus, + 0, +1, 0, + 0, 0, 0, + "nucleus", +6, +12, 0, + true, -1.0, 0, + false, "", 0, + 0.0); - helium= new G4Ions( + helium= new G4Ions( "helium", 3.727417*GeV, 0.0*MeV, +0.0*eplus, 0, +1, 0, 0, 0, 0, @@ -80,7 +121,7 @@ G4DNAGenericIonsManager :: G4DNAGenericIonsManager() false, "", 0, 0.0); - alphaPlus= new G4Ions("alpha+", 3.727417*GeV, 0.0*MeV, +1.0*eplus, + alphaPlus= new G4Ions("alpha+", 3.727417*GeV, 0.0*MeV, +1.0*eplus, 1, +1, 0, 0, 0, 0, "nucleus", +1, +4, 0, @@ -109,81 +150,17 @@ G4DNAGenericIonsManager :: G4DNAGenericIonsManager() "", 0, 0.0); - /* - // molechules construction - - G4Ions* oxonium; // H3O -- it will become H3O+ - G4Ions* hydroxyl; // OH -- it will produce OH- too - G4Ions* molHydrogen; // H2 - //G4Ions* hydroxide; // OH- - G4Ions* hydroPeroxide; // H2O2 - G4Ions* water; // H2O -- it will become also H2O+ - - - G4double mass = 19.02*g/Avogadro - 11*electron_mass_c2; - - oxonium = new G4Ions("H3O", mass, 0, +11.0*eplus, - 0, 0, 0, - 0, 0, 0, - "molecule", 0, 0, 0, - true, -1.0, 0, - false, "", 0, - 0.0); - - mass = 17.00734*g/Avogadro - 9*electron_mass_c2; - - hydroxyl = new G4Ions("OH", mass, 0, +9.0*eplus, - 0, 0, 0, - 0, 0, 0, - "molecule", 0, 0, 0, - true, -1.0, 0, - false, "", 0, - 0.0); - - mass = 2.01588*g/Avogadro - 2*electron_mass_c2; - - molHydrogen = new G4Ions("H2", mass, 0, +2.0*eplus, - 0, 0, 0, - 0, 0, 0, - "molecule", 0, 0, 0, - true, -1.0, 0, - false, "", 0, - 0.0); - - mass = 34.01468*g/Avogadro - 18*electron_mass_c2; - - hydroPeroxide = new G4Ions("H2O2", mass, 0, +18.0*eplus, - 0, 0, 0, - 0, 0, 0, - "molecule", 0, 0, 0, - true, -1.0, 0, - false, "", 0, - 0.0); - - mass = 18.015*g/Avogadro - 10*electron_mass_c2; - - water = new G4Ions("H2O", mass, 0, +10.0*eplus, - 0, 0, 0, - 0, 0, 0, - "molecule", 0, 0, 0, - true, -1.0, 0, - false, "", 0, - 0.0); - - map["H3O" ] =oxonium; - map["OH" ] =hydroxyl; - map["H2" ] =molHydrogen; - map["H2O2"] =hydroPeroxide; - map["H2O" ] =water; - */ - - map["helium" ]=helium; map["hydrogen"]=hydrogen; map["alpha+" ]=alphaPlus; map["alpha++" ]=G4Alpha::Alpha(); map["Ps-1s" ]=positronium1s; map["Ps-2s" ]=positronium2s; + map["carbon" ]=carbon; + map["nitrogen"]=nitrogen; + map["oxygen" ]=oxygen; + map["iron" ]=iron; + } diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAIonisation.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAIonisation.cc index 34e1fdb999..0a811cf172 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAIonisation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAIonisation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAIonisation.cc,v 1.4 2009/11/02 17:00:11 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAIonisation.cc,v 1.5 2010/09/08 14:30:45 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #include "G4DNAIonisation.hh" @@ -90,7 +90,7 @@ void G4DNAIonisation::InitialiseProcess(const G4ParticleDefinition* p) if(!Model(2)) SetModel(new G4DNABornIonisationModel,2); Model(2)->SetLowEnergyLimit(500*keV); - Model(2)->SetHighEnergyLimit(10*MeV); + Model(2)->SetHighEnergyLimit(100*MeV); AddEmModel(1, Model(1)); AddEmModel(2, Model(2)); @@ -109,7 +109,7 @@ void G4DNAIonisation::InitialiseProcess(const G4ParticleDefinition* p) { if(!Model()) SetModel(new G4DNARuddIonisationModel); Model()->SetLowEnergyLimit(0*keV); - Model()->SetHighEnergyLimit(10*MeV); + Model()->SetHighEnergyLimit(400*MeV); AddEmModel(1, Model()); } diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAMeltonAttachmentModel.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAMeltonAttachmentModel.cc new file mode 100644 index 0000000000..41b5afba58 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAMeltonAttachmentModel.cc @@ -0,0 +1,238 @@ +// +// ******************************************************************** +// * 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: G4DNAMeltonAttachmentModel.cc,v 1.2 2010/09/15 05:47:33 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +// Created by Z. Francis + +#include "G4DNAMeltonAttachmentModel.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +using namespace std; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4DNAMeltonAttachmentModel::G4DNAMeltonAttachmentModel(const G4ParticleDefinition*, + const G4String& nam) +:G4VEmModel(nam),isInitialised(false) +{ + + lowEnergyLimit = 4 * eV; + lowEnergyLimitOfModel = 4 * eV; + highEnergyLimit = 13 * eV; + SetLowEnergyLimit(lowEnergyLimit); + SetHighEnergyLimit(highEnergyLimit); + + verboseLevel= 0; + // Verbosity scale: + // 0 = nothing + // 1 = warning for energy non-conservation + // 2 = details of energy budget + // 3 = calculation of cross sections, file openings, sampling of atoms + // 4 = entering in methods + + if( verboseLevel>0 ) + { + G4cout << "Melton Attachment model is constructed " << G4endl + << "Energy range: " + << lowEnergyLimit / eV << " eV - " + << highEnergyLimit / eV << " eV" + << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4DNAMeltonAttachmentModel::~G4DNAMeltonAttachmentModel() +{ + // For total cross section + + std::map< G4String,G4DNACrossSectionDataSet*,std::less >::iterator pos; + + for (pos = tableData.begin(); pos != tableData.end(); ++pos) + { + G4DNACrossSectionDataSet* table = pos->second; + delete table; + } + + // For final state + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4DNAMeltonAttachmentModel::Initialise(const G4ParticleDefinition* /*particle*/, + const G4DataVector& /*cuts*/) +{ + + if (verboseLevel > 3) + G4cout << "Calling G4DNAMeltonAttachmentModel::Initialise()" << G4endl; + + // Energy limits + + if (LowEnergyLimit() < lowEnergyLimit) + { + G4cout << "G4DNAMeltonAttachmentModel: low energy limit increased from " << + LowEnergyLimit()/eV << " eV to " << lowEnergyLimit/eV << " eV" << G4endl; + SetLowEnergyLimit(lowEnergyLimit); + } + + if (HighEnergyLimit() > highEnergyLimit) + { + G4cout << "G4DNAMeltonAttachmentModel: high energy limit decreased from " << + HighEnergyLimit()/eV << " eV to " << highEnergyLimit/eV << " eV" << G4endl; + SetHighEnergyLimit(highEnergyLimit); + } + + // Reading of data files + + G4double scaleFactor = 1e-18*cm*cm; + + G4String fileElectron("dna/sigma_attachment_e_melton"); + + G4ParticleDefinition* electronDef = G4Electron::ElectronDefinition(); + G4String electron; + + if (electronDef != 0) + { + // For total cross section + + electron = electronDef->GetParticleName(); + + tableFile[electron] = fileElectron; + + G4DNACrossSectionDataSet* tableE = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, eV,scaleFactor ); + tableE->LoadData(fileElectron); + tableData[electron] = tableE; + + } + else G4Exception("G4DNAMeltonAttachmentModel::Initialise: electron is not defined"); + + if (verboseLevel > 2) + G4cout << "Loaded cross section data for Melton Attachment model" << G4endl; + + if( verboseLevel>0 ) + { + G4cout << "Melton Attachment model is initialized " << G4endl + << "Energy range: " + << LowEnergyLimit() / eV << " eV - " + << HighEnergyLimit() / eV << " eV" + << G4endl; + } + + if(!isInitialised) + { + isInitialised = true; + + if(pParticleChange) + fParticleChangeForGamma = reinterpret_cast(pParticleChange); + else + fParticleChangeForGamma = new G4ParticleChangeForGamma(); + } + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4DNAMeltonAttachmentModel::CrossSectionPerVolume(const G4Material* material, + const G4ParticleDefinition* p, + G4double ekin, + G4double, + G4double) +{ + if (verboseLevel > 3) + G4cout << "Calling CrossSectionPerVolume() of G4DNAMeltonAttachmentModel" << G4endl; + + // Calculate total cross section for model + + G4double sigma=0; + + if (material->GetName() == "G4_WATER") + { + const G4String& particleName = p->GetParticleName(); + + if (ekin >= lowEnergyLimit && ekin < highEnergyLimit) + { + + std::map< G4String,G4DNACrossSectionDataSet*,std::less >::iterator pos; + pos = tableData.find(particleName); + + if (pos != tableData.end()) + { + G4DNACrossSectionDataSet* table = pos->second; + if (table != 0) + { + sigma = table->FindValue(ekin); + } + } + else + { + G4Exception("G4DNAMeltonAttachmentModel::ComputeCrossSectionPerVolume: attempting to calculate cross section for wrong particle"); + } + } + + if (verboseLevel > 3) + { + G4cout << "---> Kinetic energy(eV)=" << ekin/eV << G4endl; + G4cout << " - Cross section per water molecule (cm^2)=" << sigma/cm/cm << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*material->GetAtomicNumDensityVector()[1]/(1./cm) << G4endl; + } + + } // if water + + return sigma*material->GetAtomicNumDensityVector()[1]; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4DNAMeltonAttachmentModel::SampleSecondaries(std::vector* /*fvect*/, + const G4MaterialCutsCouple* /*couple*/, + const G4DynamicParticle* aDynamicElectron, + G4double, + G4double) +{ + + if (verboseLevel > 3) + G4cout << "Calling SampleSecondaries() of G4DNAMeltonAttachmentModel" << G4endl; + + // Electron is killed + + G4double electronEnergy0 = aDynamicElectron->GetKineticEnergy(); + fParticleChangeForGamma->ProposeTrackStatus(fStopAndKill); + fParticleChangeForGamma->ProposeLocalEnergyDeposit(electronEnergy0); + + return ; +} + + + + + + + + diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAMillerGreenExcitationModel.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAMillerGreenExcitationModel.cc index 8fc81f4a24..f32478886c 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAMillerGreenExcitationModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAMillerGreenExcitationModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNAMillerGreenExcitationModel.cc,v 1.6 2009/08/13 11:32:47 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNAMillerGreenExcitationModel.cc,v 1.11 2010/10/08 08:53:17 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4DNAMillerGreenExcitationModel.hh" @@ -73,11 +73,13 @@ void G4DNAMillerGreenExcitationModel::Initialise(const G4ParticleDefinition* par G4DNAGenericIonsManager *instance; instance = G4DNAGenericIonsManager::Instance(); G4ParticleDefinition* protonDef = G4Proton::ProtonDefinition(); + G4ParticleDefinition* hydrogenDef = instance->GetIon("hydrogen"); G4ParticleDefinition* alphaPlusPlusDef = instance->GetIon("alpha++"); G4ParticleDefinition* alphaPlusDef = instance->GetIon("alpha+"); G4ParticleDefinition* heliumDef = instance->GetIon("helium"); G4String proton; + G4String hydrogen; G4String alphaPlusPlus; G4String alphaPlus; G4String helium; @@ -101,11 +103,30 @@ void G4DNAMillerGreenExcitationModel::Initialise(const G4ParticleDefinition* par G4Exception("G4DNAMillerGreenExcitationModel::Initialise: proton is not defined"); } + if (hydrogenDef != 0) + { + hydrogen = hydrogenDef->GetParticleName(); + lowEnergyLimit[hydrogen] = 10. * eV; + highEnergyLimit[hydrogen] = 500. * keV; + + kineticEnergyCorrection[0] = 1.; + slaterEffectiveCharge[0][0] = 0.; + slaterEffectiveCharge[1][0] = 0.; + slaterEffectiveCharge[2][0] = 0.; + sCoefficient[0][0] = 0.; + sCoefficient[1][0] = 0.; + sCoefficient[2][0] = 0.; + } + else + { + G4Exception("G4DNAMillerGreenExcitationModel::Initialise: hydrogen is not defined"); + + } if (alphaPlusPlusDef != 0) { alphaPlusPlus = alphaPlusPlusDef->GetParticleName(); lowEnergyLimit[alphaPlusPlus] = 1. * keV; - highEnergyLimit[alphaPlusPlus] = 10. * MeV; + highEnergyLimit[alphaPlusPlus] = 400. * MeV; kineticEnergyCorrection[1] = 0.9382723/3.727417; slaterEffectiveCharge[0][1]=0.; @@ -124,12 +145,15 @@ void G4DNAMillerGreenExcitationModel::Initialise(const G4ParticleDefinition* par { alphaPlus = alphaPlusDef->GetParticleName(); lowEnergyLimit[alphaPlus] = 1. * keV; - highEnergyLimit[alphaPlus] = 10. * MeV; + highEnergyLimit[alphaPlus] = 400. * MeV; kineticEnergyCorrection[2] = 0.9382723/3.727417; slaterEffectiveCharge[0][2]=2.0; - slaterEffectiveCharge[1][2]=1.15; - slaterEffectiveCharge[2][2]=1.15; + +// Following values provided by M. Dingfelder + slaterEffectiveCharge[1][2]=2.00; + slaterEffectiveCharge[2][2]=2.00; +// sCoefficient[0][2]=0.7; sCoefficient[1][2]=0.15; sCoefficient[2][2]=0.15; @@ -143,7 +167,7 @@ void G4DNAMillerGreenExcitationModel::Initialise(const G4ParticleDefinition* par { helium = heliumDef->GetParticleName(); lowEnergyLimit[helium] = 1. * keV; - highEnergyLimit[helium] = 10. * MeV; + highEnergyLimit[helium] = 400. * MeV; kineticEnergyCorrection[3] = 0.9382723/3.727417; slaterEffectiveCharge[0][3]=1.7; @@ -152,6 +176,7 @@ void G4DNAMillerGreenExcitationModel::Initialise(const G4ParticleDefinition* par sCoefficient[0][3]=0.5; sCoefficient[1][3]=0.25; sCoefficient[2][3]=0.25; + } else { @@ -164,6 +189,12 @@ void G4DNAMillerGreenExcitationModel::Initialise(const G4ParticleDefinition* par SetHighEnergyLimit(highEnergyLimit[proton]); } + if (particle==hydrogenDef) + { + SetLowEnergyLimit(lowEnergyLimit[hydrogen]); + SetHighEnergyLimit(highEnergyLimit[hydrogen]); + } + if (particle==alphaPlusPlusDef) { SetLowEnergyLimit(lowEnergyLimit[alphaPlusPlus]); @@ -209,40 +240,6 @@ void G4DNAMillerGreenExcitationModel::Initialise(const G4ParticleDefinition* par // InitialiseElementSelectors(particle,cuts); - // Test if water material - - flagMaterialIsWater= false; - densityWater = 0; - - const G4ProductionCutsTable* theCoupleTable = G4ProductionCutsTable::GetProductionCutsTable(); - - if(theCoupleTable) - { - G4int numOfCouples = theCoupleTable->GetTableSize(); - - if(numOfCouples>0) - { - for (G4int i=0; iGetMaterialCutsCouple(i); - const G4Material* material = couple->GetMaterial(); - - if (material->GetName() == "G4_WATER") - { - G4double density = material->GetAtomicNumDensityVector()[1]; - flagMaterialIsWater = true; - densityWater = density; - - if (verboseLevel > 3) - G4cout << "****** Water material is found with density(cm^-3)=" << density/(cm*cm*cm) << G4endl; - } - - } - - } // if(numOfCouples>0) - - } // if (theCoupleTable) - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -264,6 +261,8 @@ G4double G4DNAMillerGreenExcitationModel::CrossSectionPerVolume(const G4Material if ( particleDefinition != G4Proton::ProtonDefinition() && + particleDefinition != instance->GetIon("hydrogen") + && particleDefinition != instance->GetIon("alpha++") && particleDefinition != instance->GetIon("alpha+") @@ -277,7 +276,7 @@ G4double G4DNAMillerGreenExcitationModel::CrossSectionPerVolume(const G4Material G4double highLim = 0; G4double crossSection = 0.; - if (flagMaterialIsWater) + if (material->GetName() == "G4_WATER") { const G4String& particleName = particleDefinition->GetParticleName(); @@ -305,19 +304,22 @@ G4double G4DNAMillerGreenExcitationModel::CrossSectionPerVolume(const G4Material instance = G4DNAGenericIonsManager::Instance(); // add ONE or TWO electron-water excitation for alpha+ and helium - +/* if ( particleDefinition == instance->GetIon("alpha+") || particleDefinition == instance->GetIon("helium") ) { + G4DNAEmfietzoglouExcitationModel * excitationXS = new G4DNAEmfietzoglouExcitationModel(); + excitationXS->Initialise(G4Electron::ElectronDefinition()); G4double sigmaExcitation=0; G4double tmp =0.; - if (k*0.511/3728 > 7.4*eV && k*0.511/3728 < 10*keV) sigmaExcitation = - excitationXS->CrossSectionPerVolume(material,particleDefinition,k*0.511/3728,tmp,tmp)/densityWater; + if (k*0.511/3728 > 8.23*eV && k*0.511/3728 < 10*MeV ) sigmaExcitation = + excitationXS->CrossSectionPerVolume(material,G4Electron::ElectronDefinition(),k*0.511/3728,tmp,tmp) + /material->GetAtomicNumDensityVector()[1]; if ( particleDefinition == instance->GetIon("alpha+") ) crossSection = crossSection + sigmaExcitation ; @@ -326,7 +328,29 @@ G4double G4DNAMillerGreenExcitationModel::CrossSectionPerVolume(const G4Material crossSection = crossSection + 2*sigmaExcitation ; delete excitationXS; + + // Alternative excitation model + + G4DNABornExcitationModel * excitationXS = new G4DNABornExcitationModel(); + excitationXS->Initialise(G4Electron::ElectronDefinition()); + + G4double sigmaExcitation=0; + G4double tmp=0; + + if (k*0.511/3728 > 9*eV && k*0.511/3728 < 1*MeV ) sigmaExcitation = + excitationXS->CrossSectionPerVolume(material,G4Electron::ElectronDefinition(),k*0.511/3728,tmp,tmp) + /material->GetAtomicNumDensityVector()[1]; + + if ( particleDefinition == instance->GetIon("alpha+") ) + crossSection = crossSection + sigmaExcitation ; + + if ( particleDefinition == instance->GetIon("helium") ) + crossSection = crossSection + 2*sigmaExcitation ; + + delete excitationXS; + } +*/ } @@ -334,12 +358,12 @@ G4double G4DNAMillerGreenExcitationModel::CrossSectionPerVolume(const G4Material { G4cout << "---> Kinetic energy(eV)=" << k/eV << G4endl; G4cout << " - Cross section per water molecule (cm^2)=" << crossSection/cm/cm << G4endl; - G4cout << " - Cross section per water molecule (cm^-1)=" << crossSection*densityWater/(1./cm) << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << crossSection*material->GetAtomicNumDensityVector()[1]/(1./cm) << G4endl; } - } // if (flagMaterialIsWater) + } - return crossSection*densityWater; + return crossSection*material->GetAtomicNumDensityVector()[1]; } @@ -359,7 +383,12 @@ void G4DNAMillerGreenExcitationModel::SampleSecondaries(std::vectorGetDefinition()); - G4double excitationEnergy = waterExcitation.ExcitationEnergy(level); + // G4double excitationEnergy = waterExcitation.ExcitationEnergy(level); + + // Dingfelder's excitation levels + const G4double excitation[]={ 8.17*eV, 10.13*eV, 11.31*eV, 12.91*eV, 14.50*eV}; + G4double excitationEnergy = excitation[level]; + G4double newEnergy = particleEnergy0 - excitationEnergy; if (newEnergy>0) @@ -396,11 +425,15 @@ G4double G4DNAMillerGreenExcitationModel::PartialCrossSection(G4double k, G4int const G4double jj[]={19820.*eV, 23490.*eV, 27770.*eV, 30830.*eV, 33080.*eV}; const G4double omegaj[]={0.85, 0.88, 0.88, 0.78, 0.78}; + // Dingfelder's excitation levels + const G4double Eliq[5]={ 8.17*eV, 10.13*eV, 11.31*eV, 12.91*eV, 14.50*eV}; + G4int particleTypeIndex = 0; G4DNAGenericIonsManager* instance; instance = G4DNAGenericIonsManager::Instance(); if (particleDefinition == G4Proton::ProtonDefinition()) particleTypeIndex=0; + if (particleDefinition == instance->GetIon("hydrogen")) particleTypeIndex=0; if (particleDefinition == instance->GetIon("alpha++")) particleTypeIndex=1; if (particleDefinition == instance->GetIon("alpha+")) particleTypeIndex=2; if (particleDefinition == instance->GetIon("helium")) particleTypeIndex=3; @@ -409,14 +442,21 @@ G4double G4DNAMillerGreenExcitationModel::PartialCrossSection(G4double k, G4int tCorrected = k * kineticEnergyCorrection[particleTypeIndex]; // SI - added protection - if (tCorrected < waterExcitation.ExcitationEnergy(excitationLevel)) return 0; + if (tCorrected < Eliq[excitationLevel]) return 0; // G4int z = 10; G4double numerator; numerator = std::pow(z * aj[excitationLevel], omegaj[excitationLevel]) * - std::pow(tCorrected - waterExcitation.ExcitationEnergy(excitationLevel), nu); + std::pow(tCorrected - Eliq[excitationLevel], nu); + + // H case : see S. Uehara et al. IJRB 77, 2, 139-154 (2001) - section 3.3 + + if (particleDefinition == instance->GetIon("hydrogen")) + numerator = std::pow(z * 0.75*aj[excitationLevel], omegaj[excitationLevel]) * + std::pow(tCorrected - Eliq[excitationLevel], nu); + G4double power; power = omegaj[excitationLevel] + nu; @@ -426,12 +466,15 @@ G4double G4DNAMillerGreenExcitationModel::PartialCrossSection(G4double k, G4int G4double zEff = particleDefinition->GetPDGCharge() / eplus + particleDefinition->GetLeptonNumber(); - zEff -= ( sCoefficient[0][particleTypeIndex] * S_1s(k, waterExcitation.ExcitationEnergy(excitationLevel), slaterEffectiveCharge[0][particleTypeIndex], 1.) + - sCoefficient[1][particleTypeIndex] * S_2s(k, waterExcitation.ExcitationEnergy(excitationLevel), slaterEffectiveCharge[1][particleTypeIndex], 2.) + - sCoefficient[2][particleTypeIndex] * S_2p(k, waterExcitation.ExcitationEnergy(excitationLevel), slaterEffectiveCharge[2][particleTypeIndex], 2.) ); + zEff -= ( sCoefficient[0][particleTypeIndex] * S_1s(k, Eliq[excitationLevel], slaterEffectiveCharge[0][particleTypeIndex], 1.) + + sCoefficient[1][particleTypeIndex] * S_2s(k, Eliq[excitationLevel], slaterEffectiveCharge[1][particleTypeIndex], 2.) + + sCoefficient[2][particleTypeIndex] * S_2p(k, Eliq[excitationLevel], slaterEffectiveCharge[2][particleTypeIndex], 2.) ); + + if (particleDefinition == instance->GetIon("hydrogen")) zEff = 1.; G4double cross = sigma0 * zEff * zEff * numerator / denominator; + return cross; } @@ -447,7 +490,11 @@ G4int G4DNAMillerGreenExcitationModel::RandomSelect(G4double k,const G4ParticleD instance = G4DNAGenericIonsManager::Instance(); if ( particle == instance->GetIon("alpha++") || - particle == G4Proton::ProtonDefinition() ) + particle == G4Proton::ProtonDefinition()|| + particle == instance->GetIon("hydrogen") || + particle == instance->GetIon("alpha+") || + particle == instance->GetIon("helium") + ) { while (i > 0) { @@ -469,6 +516,7 @@ G4int G4DNAMillerGreenExcitationModel::RandomSelect(G4double k,const G4ParticleD } } +/* // add ONE or TWO electron-water excitation for alpha+ and helium if ( particle == instance->GetIon("alpha+") @@ -481,14 +529,17 @@ G4int G4DNAMillerGreenExcitationModel::RandomSelect(G4double k,const G4ParticleD i--; G4DNAEmfietzoglouExcitationModel * excitationXS = new G4DNAEmfietzoglouExcitationModel(); + excitationXS->Initialise(G4Electron::ElectronDefinition()); G4double sigmaExcitation=0; - if (k*0.511/3728 > 7.4*eV && k*0.511/3728 < 10*keV) sigmaExcitation = excitationXS->PartialCrossSection(k*0.511/3728,i); + if (k*0.511/3728 > 8.23*eV && k*0.511/3728 < 10*MeV ) sigmaExcitation = excitationXS->PartialCrossSection(k*0.511/3728,i); G4double partial = PartialCrossSection(k,i,particle); + if (particle == instance->GetIon("alpha+")) partial = PartialCrossSection(k,i,particle) + sigmaExcitation; if (particle == instance->GetIon("helium")) partial = PartialCrossSection(k,i,particle) + 2*sigmaExcitation; + values.push_front(partial); value += partial; delete excitationXS; @@ -506,6 +557,7 @@ G4int G4DNAMillerGreenExcitationModel::RandomSelect(G4double k,const G4ParticleD value-=values[i]; } } +*/ return 0; } @@ -584,8 +636,11 @@ G4double G4DNAMillerGreenExcitationModel::R(G4double t, // Dingfelder, in Chattanooga 2005 proceedings, p 4 G4double tElectron = 0.511/3728. * t; - G4double value = 2. * tElectron * slaterEffectiveCharge / (energyTransferred * shellNumber); + // The following is provided by M. Dingfelder + G4double H = 2.*13.60569172 * eV; + G4double value = std::sqrt ( 2. * tElectron / H ) / ( energyTransferred / H ) * (slaterEffectiveCharge/shellNumber); + return value; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNARuddIonisationExtendedModel.cc b/source/processes/electromagnetic/lowenergy/src/G4DNARuddIonisationExtendedModel.cc new file mode 100644 index 0000000000..843909d356 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4DNARuddIonisationExtendedModel.cc @@ -0,0 +1,1181 @@ +// +// ******************************************************************** +// * 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: G4DNARuddIonisationExtendedModel.cc,v 1.3 2010/11/04 14:52:17 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + + +// Modified by Z. Francis to handle HZE && inverse rudd function sampling 26-10-2010 + +#include "G4DNARuddIonisationExtendedModel.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +using namespace std; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4DNARuddIonisationExtendedModel::G4DNARuddIonisationExtendedModel(const G4ParticleDefinition*, + const G4String& nam) +:G4VEmModel(nam),isInitialised(false) +{ + + lowEnergyLimitForA[1] = 0 * eV; + lowEnergyLimitForA[2] = 0 * eV; + lowEnergyLimitForA[3] = 0 * eV; + lowEnergyLimitOfModelForA[1] = 100 * eV; + lowEnergyLimitOfModelForA[4] = 1 * keV; + lowEnergyLimitOfModelForA[5] = 0.5 * MeV; // For A = 3 or above, limit is MeV/uma + killBelowEnergyForA[1] = lowEnergyLimitOfModelForA[1]; + killBelowEnergyForA[4] = lowEnergyLimitOfModelForA[4]; + killBelowEnergyForA[5] = lowEnergyLimitOfModelForA[5]; + + + verboseLevel= 0; + // Verbosity scale: + // 0 = nothing + // 1 = warning for energy non-conservation + // 2 = details of energy budget + // 3 = calculation of cross sections, file openings, sampling of atoms + // 4 = entering in methods + + if( verboseLevel>0 ) + { + G4cout << "Rudd ionisation model is constructed " << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4DNARuddIonisationExtendedModel::~G4DNARuddIonisationExtendedModel() +{ + // Cross section + + std::map< G4String,G4DNACrossSectionDataSet*,std::less >::iterator pos; + for (pos = tableData.begin(); pos != tableData.end(); ++pos) + { + G4DNACrossSectionDataSet* table = pos->second; + delete table; + } + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4DNARuddIonisationExtendedModel::Initialise(const G4ParticleDefinition* particle, + const G4DataVector& /*cuts*/) +{ + + if (verboseLevel > 3) + G4cout << "Calling G4DNARuddIonisationExtendedModel::Initialise()" << G4endl; + + // Energy limits + + G4String fileProton("dna/sigma_ionisation_p_rudd"); + G4String fileHydrogen("dna/sigma_ionisation_h_rudd"); + G4String fileAlphaPlusPlus("dna/sigma_ionisation_alphaplusplus_rudd"); + G4String fileAlphaPlus("dna/sigma_ionisation_alphaplus_rudd"); + G4String fileHelium("dna/sigma_ionisation_he_rudd"); + G4String fileCarbon("dna/sigma_ionisation_c_rudd"); + G4String fileNitrogen("dna/sigma_ionisation_n_rudd"); + G4String fileOxygen("dna/sigma_ionisation_o_rudd"); + G4String fileIron("dna/sigma_ionisation_fe_rudd"); + + G4DNAGenericIonsManager *instance; + instance = G4DNAGenericIonsManager::Instance(); + G4ParticleDefinition* protonDef = G4Proton::ProtonDefinition(); + G4ParticleDefinition* hydrogenDef = instance->GetIon("hydrogen"); + G4ParticleDefinition* alphaPlusPlusDef = instance->GetIon("alpha++"); + G4ParticleDefinition* alphaPlusDef = instance->GetIon("alpha+"); + G4ParticleDefinition* heliumDef = instance->GetIon("helium"); + G4ParticleDefinition* carbonDef = instance->GetIon("carbon"); + G4ParticleDefinition* nitrogenDef = instance->GetIon("nitrogen"); + G4ParticleDefinition* oxygenDef = instance->GetIon("oxygen"); + G4ParticleDefinition* ironDef = instance->GetIon("iron"); + + G4String proton; + G4String hydrogen; + G4String alphaPlusPlus; + G4String alphaPlus; + G4String helium; + G4String carbon; + G4String nitrogen; + G4String oxygen; + G4String iron; + + G4double scaleFactor = 1 * m*m; + + if (protonDef != 0) + { + proton = protonDef->GetParticleName(); + tableFile[proton] = fileProton; + lowEnergyLimit[proton] = lowEnergyLimitForA[1]; + highEnergyLimit[proton] = 500. * keV; + + // Cross section + + G4DNACrossSectionDataSet* tableProton = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, + eV, + scaleFactor ); + tableProton->LoadData(fileProton); + tableData[proton] = tableProton; + } + else + { + G4Exception("G4DNARuddIonisationExtendedModel::Initialise: proton is not defined"); + } + + if (hydrogenDef != 0) + { + hydrogen = hydrogenDef->GetParticleName(); + tableFile[hydrogen] = fileHydrogen; + + lowEnergyLimit[hydrogen] = lowEnergyLimitForA[1]; + highEnergyLimit[hydrogen] = 100. * MeV; + + // Cross section + + G4DNACrossSectionDataSet* tableHydrogen = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, + eV, + scaleFactor ); + tableHydrogen->LoadData(fileHydrogen); + + tableData[hydrogen] = tableHydrogen; + } + else + { + G4Exception("G4DNARuddIonisationExtendedModel::Initialise: hydrogen is not defined"); + } + + if (alphaPlusPlusDef != 0) + { + alphaPlusPlus = alphaPlusPlusDef->GetParticleName(); + tableFile[alphaPlusPlus] = fileAlphaPlusPlus; + + lowEnergyLimit[alphaPlusPlus] = lowEnergyLimitForA[4]; + highEnergyLimit[alphaPlusPlus] = 400. * MeV; + + // Cross section + + G4DNACrossSectionDataSet* tableAlphaPlusPlus = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, + eV, + scaleFactor ); + tableAlphaPlusPlus->LoadData(fileAlphaPlusPlus); + + tableData[alphaPlusPlus] = tableAlphaPlusPlus; + } + else + { + G4Exception("G4DNARuddIonisationExtendedModel::Initialise: alphaPlusPlus is not defined"); + } + + if (alphaPlusDef != 0) + { + alphaPlus = alphaPlusDef->GetParticleName(); + tableFile[alphaPlus] = fileAlphaPlus; + + lowEnergyLimit[alphaPlus] = lowEnergyLimitForA[4]; + highEnergyLimit[alphaPlus] = 400. * MeV; + + // Cross section + + G4DNACrossSectionDataSet* tableAlphaPlus = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, + eV, + scaleFactor ); + tableAlphaPlus->LoadData(fileAlphaPlus); + tableData[alphaPlus] = tableAlphaPlus; + } + else + { + G4Exception("G4DNARuddIonisationExtendedModel::Initialise: alphaPlus is not defined"); + } + + if (heliumDef != 0) + { + helium = heliumDef->GetParticleName(); + tableFile[helium] = fileHelium; + + lowEnergyLimit[helium] = lowEnergyLimitForA[4]; + highEnergyLimit[helium] = 400. * MeV; + + // Cross section + + G4DNACrossSectionDataSet* tableHelium = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, + eV, + scaleFactor ); + tableHelium->LoadData(fileHelium); + tableData[helium] = tableHelium; + } + else + { + G4Exception("G4DNARuddIonisationExtendedModel::Initialise: helium is not defined"); + } + + if (carbonDef != 0) + { + carbon = carbonDef->GetParticleName(); + tableFile[carbon] = fileCarbon; + + lowEnergyLimit[carbon] = lowEnergyLimitForA[5] * particle->GetAtomicMass(); + highEnergyLimit[carbon] = 1e6* particle->GetAtomicMass() * MeV; + + // Cross section + + G4DNACrossSectionDataSet* tableCarbon = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, + eV, + scaleFactor ); + tableCarbon->LoadData(fileCarbon); + tableData[carbon] = tableCarbon; + } + else + { + G4Exception("G4DNARuddIonisationExtendedModel::Initialise: Carbon is not defined"); + } + + if (oxygenDef != 0) + { + oxygen = oxygenDef->GetParticleName(); + tableFile[oxygen] = fileOxygen; + + lowEnergyLimit[oxygen] = lowEnergyLimitForA[5]* particle->GetAtomicMass(); + highEnergyLimit[oxygen] = 1e6* particle->GetAtomicMass()* MeV; + + // Cross section + + G4DNACrossSectionDataSet* tableOxygen = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, + eV, + scaleFactor ); + tableOxygen->LoadData(fileOxygen); + tableData[oxygen] = tableOxygen; + } + else + { + G4Exception("G4DNARuddIonisationExtendedModel::Initialise: Oxygen is not defined"); + } + + if (nitrogenDef != 0) + { + nitrogen = nitrogenDef->GetParticleName(); + tableFile[nitrogen] = fileNitrogen; + + lowEnergyLimit[nitrogen] = lowEnergyLimitForA[5]* particle->GetAtomicMass(); + highEnergyLimit[nitrogen] = 1e6* particle->GetAtomicMass()* MeV; + + // Cross section + + G4DNACrossSectionDataSet* tableNitrogen = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, + eV, + scaleFactor ); + tableNitrogen->LoadData(fileNitrogen); + tableData[nitrogen] = tableNitrogen; + } + else + { + G4Exception("G4DNARuddIonisationExtendedModel::Initialise: Nitrogen is not defined"); + } + + if (ironDef != 0) + { + iron = ironDef->GetParticleName(); + tableFile[iron] = fileIron; + + lowEnergyLimit[iron] = lowEnergyLimitForA[5]* particle->GetAtomicMass(); + highEnergyLimit[iron] = 1e6* particle->GetAtomicMass()* MeV; + + // Cross section + + G4DNACrossSectionDataSet* tableIron = new G4DNACrossSectionDataSet(new G4LogLogInterpolation, + eV, + scaleFactor ); + tableIron->LoadData(fileIron); + tableData[iron] = tableIron; + } + else + { + G4Exception("G4DNARuddIonisationExtendedModel::Initialise: Iron is not defined"); + } + +// ZF Following lines can be replaced by: + SetLowEnergyLimit(lowEnergyLimit[particle->GetParticleName()]); + SetHighEnergyLimit(highEnergyLimit[particle->GetParticleName()]); +// at least for HZE + + /* + if (particle==protonDef) + { + SetLowEnergyLimit(lowEnergyLimit[proton]); + SetHighEnergyLimit(highEnergyLimit[proton]); + } + + if (particle==hydrogenDef) + { + SetLowEnergyLimit(lowEnergyLimit[hydrogen]); + SetHighEnergyLimit(highEnergyLimit[hydrogen]); + } + + if (particle==heliumDef) + { + SetLowEnergyLimit(lowEnergyLimit[helium]); + SetHighEnergyLimit(highEnergyLimit[helium]); + } + + if (particle==alphaPlusDef) + { + SetLowEnergyLimit(lowEnergyLimit[alphaPlus]); + SetHighEnergyLimit(highEnergyLimit[alphaPlus]); + } + + if (particle==alphaPlusPlusDef) + { + SetLowEnergyLimit(lowEnergyLimit[alphaPlusPlus]); + SetHighEnergyLimit(highEnergyLimit[alphaPlusPlus]); + } + + if (particle==carbonDef) + { + SetLowEnergyLimit(lowEnergyLimit[carbon]); + SetHighEnergyLimit(highEnergyLimit[carbon]); + } + + if (particle==oxygenDef) + { + SetLowEnergyLimit(lowEnergyLimit[oxygen]); + SetHighEnergyLimit(highEnergyLimit[oxygen]); + }*/ + +//---------------------------------------------------------------------- + + if( verboseLevel>0 ) + { + G4cout << "Rudd ionisation model is initialized " << G4endl + << "Energy range: " + << LowEnergyLimit() / eV << " eV - " + << HighEnergyLimit() / keV << " keV for " + << particle->GetParticleName() + << G4endl; + } + + // + + if(!isInitialised) + { + isInitialised = true; + + if(pParticleChange) + fParticleChangeForGamma = reinterpret_cast(pParticleChange); + else + fParticleChangeForGamma = new G4ParticleChangeForGamma(); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4DNARuddIonisationExtendedModel::CrossSectionPerVolume(const G4Material* material, + const G4ParticleDefinition* particleDefinition, + G4double k, + G4double, + G4double) +{ + if (verboseLevel > 3) + G4cout << "Calling CrossSectionPerVolume() of G4DNARuddIonisationExtendedModel" << G4endl; + + // Calculate total cross section for model + + G4DNAGenericIonsManager *instance; + instance = G4DNAGenericIonsManager::Instance(); + + if ( + particleDefinition != G4Proton::ProtonDefinition() + && + particleDefinition != instance->GetIon("hydrogen") + && + particleDefinition != instance->GetIon("alpha++") + && + particleDefinition != instance->GetIon("alpha+") + && + particleDefinition != instance->GetIon("helium") + && + particleDefinition != instance->GetIon("carbon") + && + particleDefinition != instance->GetIon("nitrogen") + && + particleDefinition != instance->GetIon("oxygen") + && + particleDefinition != instance->GetIon("iron") + ) + + return 0; + + G4double lowLim = 0; + + if ( particleDefinition == G4Proton::ProtonDefinition() + || particleDefinition == instance->GetIon("hydrogen") + ) + + lowLim = lowEnergyLimitOfModelForA[1]; + + else if ( particleDefinition == instance->GetIon("alpha++") + || particleDefinition == instance->GetIon("alpha+") + || particleDefinition == instance->GetIon("helium") + ) + + lowLim = lowEnergyLimitOfModelForA[4]; + + else lowLim = lowEnergyLimitOfModelForA[5]; + + G4double highLim = 0; + G4double sigma=0; + + if (material->GetName() == "G4_WATER") + { + const G4String& particleName = particleDefinition->GetParticleName(); + + std::map< G4String,G4double,std::less >::iterator pos2; + pos2 = highEnergyLimit.find(particleName); + + if (pos2 != highEnergyLimit.end()) + { + highLim = pos2->second; + } + + if (k <= highLim) + { + + //SI : XS must not be zero otherwise sampling of secondaries method ignored + + if (k < lowLim) k = lowLim; + + // + + std::map< G4String,G4DNACrossSectionDataSet*,std::less >::iterator pos; + pos = tableData.find(particleName); + + if (pos != tableData.end()) + { + G4DNACrossSectionDataSet* table = pos->second; + if (table != 0) + { + sigma = table->FindValue(k); + } + } + else + { + G4Exception + ("G4DNARuddIonisationExtendedModel::CrossSectionPerVolume: attempting to calculate cross section for wrong particle"); + } + + } // if (k >= lowLim && k < highLim) + + if (verboseLevel > 3) + { + G4cout << "---> Kinetic energy(eV)=" << k/eV << G4endl; + G4cout << " - Cross section per water molecule (cm^2)=" << sigma/cm/cm << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*densityWater/(1./cm) << G4endl; + } + + } // if (waterMaterial) + + return sigma*material->GetAtomicNumDensityVector()[1]; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4DNARuddIonisationExtendedModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* /*couple*/, + const G4DynamicParticle* particle, + G4double, + G4double) +{ + if (verboseLevel > 3) + G4cout << "Calling SampleSecondaries() of G4DNARuddIonisationExtendedModel" << G4endl; + + G4double lowLim = 0; + G4double highLim = 0; + + G4DNAGenericIonsManager *instance; + instance = G4DNAGenericIonsManager::Instance(); + + // ZF: the following line summarizes the commented part + if(particle->GetDefinition()->GetAtomicMass() <= 4) lowLim = killBelowEnergyForA[particle->GetDefinition()->GetAtomicMass()]; + else lowLim = killBelowEnergyForA[5]*particle->GetDefinition()->GetAtomicMass(); + +/*if(particle->GetDefinition()->GetAtomicMass() >= 5) lowLim = killBelowEnergyForA[5]*particle->GetDefinition()->GetAtomicMass(); + + + if ( particle->GetDefinition() == G4Proton::ProtonDefinition() + || particle->GetDefinition() == instance->GetIon("hydrogen") + ) + + lowLim = killBelowEnergyForA[1]; + + if ( particle->GetDefinition() == instance->GetIon("alpha++") + || particle->GetDefinition() == instance->GetIon("alpha+") + || particle->GetDefinition() == instance->GetIon("helium") + ) + + lowLim = killBelowEnergyForA[4];*/ + + + + G4double k = particle->GetKineticEnergy(); + + const G4String& particleName = particle->GetDefinition()->GetParticleName(); + + // SI - the following is useless since lowLim is already defined + /* + std::map< G4String,G4double,std::less >::iterator pos1; + pos1 = lowEnergyLimit.find(particleName); + + if (pos1 != lowEnergyLimit.end()) + { + lowLim = pos1->second; + } + */ + + std::map< G4String,G4double,std::less >::iterator pos2; + pos2 = highEnergyLimit.find(particleName); + + if (pos2 != highEnergyLimit.end())highLim = pos2->second; + + if (k >= lowLim && k < highLim) + { + G4ParticleDefinition* definition = particle->GetDefinition(); + G4ParticleMomentum primaryDirection = particle->GetMomentumDirection(); + /* + G4double particleMass = definition->GetPDGMass(); + G4double totalEnergy = k + particleMass; + G4double pSquare = k*(totalEnergy+particleMass); + G4double totalMomentum = std::sqrt(pSquare); + */ + + G4int ionizationShell = RandomSelect(k,particleName); + + G4double secondaryKinetic = RandomizeEjectedElectronEnergy(definition,k,ionizationShell); + + G4double bindingEnergy = waterStructure.IonisationEnergy(ionizationShell); + + G4double cosTheta = 0.; + G4double phi = 0.; + RandomizeEjectedElectronDirection(definition, k,secondaryKinetic, cosTheta, phi, ionizationShell); + + G4double sinTheta = std::sqrt(1.-cosTheta*cosTheta); + G4double dirX = sinTheta*std::cos(phi); + G4double dirY = sinTheta*std::sin(phi); + G4double dirZ = cosTheta; + G4ThreeVector deltaDirection(dirX,dirY,dirZ); + deltaDirection.rotateUz(primaryDirection); + + // Ignored for ions on electrons + /* + G4double deltaTotalMomentum = std::sqrt(secondaryKinetic*(secondaryKinetic + 2.*electron_mass_c2 )); + + G4double finalPx = totalMomentum*primaryDirection.x() - deltaTotalMomentum*deltaDirection.x(); + G4double finalPy = totalMomentum*primaryDirection.y() - deltaTotalMomentum*deltaDirection.y(); + G4double finalPz = totalMomentum*primaryDirection.z() - deltaTotalMomentum*deltaDirection.z(); + G4double finalMomentum = std::sqrt(finalPx*finalPx+finalPy*finalPy+finalPz*finalPz); + finalPx /= finalMomentum; + finalPy /= finalMomentum; + finalPz /= finalMomentum; + + G4ThreeVector direction; + direction.set(finalPx,finalPy,finalPz); + + fParticleChangeForGamma->ProposeMomentumDirection(direction.unit()) ; + */ + fParticleChangeForGamma->ProposeMomentumDirection(primaryDirection); + + fParticleChangeForGamma->SetProposedKineticEnergy(k-bindingEnergy-secondaryKinetic); + fParticleChangeForGamma->ProposeLocalEnergyDeposit(bindingEnergy); + + G4DynamicParticle* dp = new G4DynamicParticle (G4Electron::Electron(),deltaDirection,secondaryKinetic) ; + fvect->push_back(dp); + + } + + // SI - not useful since low energy of model is 0 eV + + if (k < lowLim) + { + fParticleChangeForGamma->ProposeTrackStatus(fStopAndKill); + fParticleChangeForGamma->ProposeLocalEnergyDeposit(k); + } + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4DNARuddIonisationExtendedModel::RandomizeEjectedElectronEnergy(G4ParticleDefinition* particleDefinition, + G4double k, + G4int shell) +{ + G4DNAGenericIonsManager *instance; + instance = G4DNAGenericIonsManager::Instance(); + + //-- Fast sampling method ----- + G4double proposed_energy; + G4double random1; + G4double value_sampling; + G4double max1; + + do + { + proposed_energy = ProposedSampledEnergy(particleDefinition, k, shell); // Proposed energy by inverse function sampling + + max1=0.; + + for(G4double en=0.; en<20.; en+=1.) if(RejectionFunction(particleDefinition, k, en, shell) > max1) + max1=RejectionFunction(particleDefinition, k, en, shell); + + random1 = G4UniformRand()*max1; + + value_sampling = RejectionFunction(particleDefinition, k, proposed_energy, shell); + + } while(random1 > value_sampling); + + return(proposed_energy); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + +void G4DNARuddIonisationExtendedModel::RandomizeEjectedElectronDirection(G4ParticleDefinition* particleDefinition, + G4double k, + G4double secKinetic, + G4double & cosTheta, + G4double & phi, + G4int shell ) +{ + G4DNAGenericIonsManager *instance; + instance = G4DNAGenericIonsManager::Instance(); + + G4double maxSecKinetic = 0.; + G4double maximumEnergyTransfer = 0.; + + /* if (particleDefinition == G4Proton::ProtonDefinition() + || particleDefinition == instance->GetIon("hydrogen")) + { + if(k/MeV < 100.)maxSecKinetic = 4.* (electron_mass_c2 / proton_mass_c2) * k; + else { + G4double beta2 = 1.-(1.+k*); + maxSecKinetic = + } + } + + if (particleDefinition == instance->GetIon("helium") + || particleDefinition == instance->GetIon("alpha+") + || particleDefinition == instance->GetIon("alpha++")) + { + maxSecKinetic = 4.* (0.511 / 3728) * k; + } + + if (particleDefinition == G4Carbon::Carbon()) + { + maxSecKinetic = 4.* (electron_mass_c2 / proton_mass_c2) * k / 12.; + }*/ + +// ZF. generalized & relativistic version + + if( (k/MeV)/(particleDefinition->GetPDGMass()/MeV) <= 0.1 ) + { + maximumEnergyTransfer= 4.* (electron_mass_c2 / particleDefinition->GetPDGMass()) * k; + maximumEnergyTransfer+=waterStructure.IonisationEnergy(shell); + } + else + { + G4double approx_nuc_number = particleDefinition->GetPDGMass() / proton_mass_c2; + G4double en_per_nucleon = k/approx_nuc_number; + G4double beta2 = 1. - 1./pow( (1.+(en_per_nucleon/electron_mass_c2)*(electron_mass_c2/proton_mass_c2)), 2.); + G4double gamma = 1./sqrt(1.-beta2); + maximumEnergyTransfer = 2.*electron_mass_c2*(gamma*gamma-1.)/(1.+2.*gamma*(electron_mass_c2/particleDefinition->GetPDGMass())+pow(electron_mass_c2/particleDefinition->GetPDGMass(), 2.) ); + maximumEnergyTransfer+=waterStructure.IonisationEnergy(shell); + } + + maxSecKinetic = maximumEnergyTransfer-waterStructure.IonisationEnergy(shell); + + phi = twopi * G4UniformRand(); + + if (secKinetic>100*eV) cosTheta = std::sqrt(secKinetic / maxSecKinetic); + else cosTheta = (2.*G4UniformRand())-1.; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4DNARuddIonisationExtendedModel::RejectionFunction(G4ParticleDefinition* particleDefinition, + G4double k, + G4double proposed_ws, + G4int ionizationLevelIndex) +{ + const G4int j=ionizationLevelIndex; + G4double Bj_energy, alphaConst; + G4double Ry = 13.6*eV; + const G4double Gj[5] = {0.99, 1.11, 1.11, 0.52, 1.}; + + // const G4double Bj[5] = {12.61*eV, 14.73*eV, 18.55*eV, 32.20*eV, 539.7*eV}; //Ding Paper + + // Following values provided by M. Dingfelder (priv. comm) + const G4double Bj[5] = {12.60*eV, 14.70*eV, 18.40*eV, 32.20*eV, 540*eV}; + + if (j == 4) + { + alphaConst = 0.66; + //---Note that the following (j==4) cases are provided by M. Dingfelder (priv. comm) + Bj_energy = waterStructure.IonisationEnergy(ionizationLevelIndex); + //--- + } + else + { + alphaConst = 0.64; + Bj_energy = Bj[ionizationLevelIndex]; + } + + G4double energyTransfer = proposed_ws + Bj_energy; + proposed_ws/=Bj_energy; + G4DNAGenericIonsManager *instance; + instance = G4DNAGenericIonsManager::Instance(); + G4double tau = 0.; + G4double A_ion = 0.; + tau = (electron_mass_c2 / particleDefinition->GetPDGMass()) * k; + A_ion = particleDefinition->GetAtomicMass(); + + G4double v2; + G4double beta2; + + if((tau/MeV)<5.447761194e-2) + { + v2 = tau / Bj_energy; + beta2 = 2.*tau / electron_mass_c2; + } + // Relativistic + else + { + v2 = (electron_mass_c2 / 2. / Bj_energy) * (1. - (1./ pow( (1.+ (tau/electron_mass_c2)),2) )); + beta2 =1. - 1./(1.+ (tau/electron_mass_c2/A_ion))/(1.+ (tau/electron_mass_c2/A_ion)); + } + + G4double v = std::sqrt(v2); + G4double wc = 4.*v2 - 2.*v - (Ry/(4.*Bj_energy)); + G4double rejection_term = 1.+std::exp(alphaConst*(proposed_ws - wc) / v); + rejection_term = (1./rejection_term)*CorrectionFactor(particleDefinition,k,ionizationLevelIndex) * Gj[j]; + //* (S/Bj_energy) ; Not needed anymore + + + if ( particleDefinition == G4Proton::ProtonDefinition() + || particleDefinition == instance->GetIon("hydrogen") + ) + { + return(rejection_term); + } + + if(particleDefinition->GetAtomicMass() > 4) // anything above Helium + { + G4double Z = particleDefinition->GetAtomicNumber(); + G4double x = 100.*std::sqrt(beta2)/std::pow(Z,(2./3.)); + G4double Zeffion = Z*(1.-std::exp(-1.316*x+0.112*x*x-0.0650*x*x*x)); + rejection_term*=Zeffion*Zeffion; + } + + if (particleDefinition == instance->GetIon("alpha++") ) + { + slaterEffectiveCharge[0]=0.; + slaterEffectiveCharge[1]=0.; + slaterEffectiveCharge[2]=0.; + sCoefficient[0]=0.; + sCoefficient[1]=0.; + sCoefficient[2]=0.; + } + + if (particleDefinition == instance->GetIon("alpha+") ) + { + slaterEffectiveCharge[0]=2.0; +// The following values are provided by M. Dingfelder (priv. comm) + slaterEffectiveCharge[1]=2.0; + slaterEffectiveCharge[2]=2.0; +// + sCoefficient[0]=0.7; + sCoefficient[1]=0.15; + sCoefficient[2]=0.15; + } + + if (particleDefinition == instance->GetIon("helium") ) + { + slaterEffectiveCharge[0]=1.7; + slaterEffectiveCharge[1]=1.15; + slaterEffectiveCharge[2]=1.15; + sCoefficient[0]=0.5; + sCoefficient[1]=0.25; + sCoefficient[2]=0.25; + } + + if ( particleDefinition == instance->GetIon("helium") + || particleDefinition == instance->GetIon("alpha+") + || particleDefinition == instance->GetIon("alpha++") + ) + { + + G4double zEff = particleDefinition->GetPDGCharge() / eplus + particleDefinition->GetLeptonNumber(); + + zEff -= ( sCoefficient[0] * S_1s(k, energyTransfer, slaterEffectiveCharge[0], 1.) + + sCoefficient[1] * S_2s(k, energyTransfer, slaterEffectiveCharge[1], 2.) + + sCoefficient[2] * S_2p(k, energyTransfer, slaterEffectiveCharge[2], 2.) ); + + rejection_term*= zEff * zEff; + } + + return (rejection_term); +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + +G4double G4DNARuddIonisationExtendedModel::ProposedSampledEnergy(G4ParticleDefinition* particle, + G4double k, + G4int ionizationLevelIndex) +{ + + const G4int j=ionizationLevelIndex; + + G4double A1, B1, C1, D1, E1, A2, B2, C2, D2, alphaConst ; + G4double Bj_energy; + + // const G4double Bj[5] = {12.61*eV, 14.73*eV, 18.55*eV, 32.20*eV, 539.7*eV}; //Ding Paper + // Following values provided by M. Dingfelder (priv. comm) + + const G4double Bj[5] = {12.60*eV, 14.70*eV, 18.40*eV, 32.20*eV, 540*eV}; + + if (j == 4) + { + //Data For Liquid Water K SHELL from Dingfelder (Protons in Water) + A1 = 1.25; + B1 = 0.5; + C1 = 1.00; + D1 = 1.00; + E1 = 3.00; + A2 = 1.10; + B2 = 1.30; + C2 = 1.00; + D2 = 0.00; + alphaConst = 0.66; + //---Note that the following (j==4) cases are provided by M. Dingfelder (priv. comm) + Bj_energy = waterStructure.IonisationEnergy(ionizationLevelIndex); + //--- + } + else + { + //Data For Liquid Water from Dingfelder (Protons in Water) + A1 = 1.02; + B1 = 82.0; + C1 = 0.45; + D1 = -0.80; + E1 = 0.38; + A2 = 1.07; + //B2 = 14.6; From Ding Paper + // Value provided by M. Dingfelder (priv. comm) + B2 = 11.6; + // + C2 = 0.60; + D2 = 0.04; + alphaConst = 0.64; + + Bj_energy = Bj[ionizationLevelIndex]; + } + + G4double tau = 0.; + G4double A_ion = 0.; + G4DNAGenericIonsManager* instance; + instance = G4DNAGenericIonsManager::Instance(); + tau = (electron_mass_c2 / particle->GetPDGMass()) * k; + + A_ion = particle->GetAtomicMass(); + + G4double v2; + G4double beta2; + if((tau/MeV)<5.447761194e-2) + { + v2 = tau / Bj_energy; + beta2 = 2.*tau / electron_mass_c2; + } + // Relativistic + else + { + v2 = (electron_mass_c2 / 2. / Bj_energy) * (1. - (1./ pow( (1.+ (tau/electron_mass_c2)),2) )); + beta2 =1. - 1./(1.+ (tau/electron_mass_c2/A_ion))/(1.+ (tau/electron_mass_c2/A_ion)); + } + + G4double v = std::sqrt(v2); + //G4double wc = 4.*v2 - 2.*v - (Ry/(4.*Bj_energy)); + G4double L1 = (C1* std::pow(v,(D1))) / (1.+ E1*std::pow(v, (D1+4.))); + G4double L2 = C2*std::pow(v,(D2)); + G4double H1 = (A1*std::log(1.+v2)) / (v2+(B1/v2)); + G4double H2 = (A2/v2) + (B2/(v2*v2)); + G4double F1 = L1+H1; + G4double F2 = (L2*H2)/(L2+H2); + +// ZF. generalized & relativistic version + G4double maximumEnergy; + + //---- maximum kinetic energy , non relativistic ------ + if( (k/MeV)/(particle->GetPDGMass()/MeV) <= 0.1 ) + { + maximumEnergy = 4.* (electron_mass_c2 / particle->GetPDGMass()) * k; + } + //---- relativistic ----------------------------------- + else + { + G4double gamma = 1./sqrt(1.-beta2); + maximumEnergy = 2.*electron_mass_c2*(gamma*gamma-1.)/ + (1.+2.*gamma*(electron_mass_c2/particle->GetPDGMass())+pow(electron_mass_c2/particle->GetPDGMass(), 2.) ); + } + + //either it is transfered energy or secondary electron energy ... + //maximumEnergy-=Bj_energy; + + //----------------------------------------------------- + G4double wmax = maximumEnergy/Bj_energy; + G4double c = wmax*(F2*wmax+F1*(2.+wmax))/(2.*(1.+wmax)*(1.+wmax)); + c=1./c; //!!!!!!!!!!! manual calculus leads to c=1/c + G4double randVal = G4UniformRand(); + G4double proposed_ws = F1*F1*c*c + 2.*F2*c*randVal - 2.*F1*c*randVal; + proposed_ws = -F1*c+2.*randVal+std::sqrt(proposed_ws); +// proposed_ws = -F1*c+2.*randVal-std::sqrt(proposed_ws); + proposed_ws/= ( F1*c + F2*c - 2.*randVal ); + proposed_ws*=Bj_energy; + + return(proposed_ws); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4DNARuddIonisationExtendedModel::S_1s(G4double t, + G4double energyTransferred, + G4double slaterEffectiveChg, + G4double shellNumber) +{ + // 1 - e^(-2r) * ( 1 + 2 r + 2 r^2) + // Dingfelder, in Chattanooga 2005 proceedings, formula (7) + + G4double r = R(t, energyTransferred, slaterEffectiveChg, shellNumber); + G4double value = 1. - std::exp(-2 * r) * ( ( 2. * r + 2. ) * r + 1. ); + + return value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4DNARuddIonisationExtendedModel::S_2s(G4double t, + G4double energyTransferred, + G4double slaterEffectiveChg, + G4double shellNumber) +{ + // 1 - e^(-2 r) * ( 1 + 2 r + 2 r^2 + 2 r^4) + // Dingfelder, in Chattanooga 2005 proceedings, formula (8) + + G4double r = R(t, energyTransferred, slaterEffectiveChg, shellNumber); + G4double value = 1. - std::exp(-2 * r) * (((2. * r * r + 2.) * r + 2.) * r + 1.); + + return value; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4DNARuddIonisationExtendedModel::S_2p(G4double t, + G4double energyTransferred, + G4double slaterEffectiveChg, + G4double shellNumber) +{ + // 1 - e^(-2 r) * ( 1 + 2 r + 2 r^2 + 4/3 r^3 + 2/3 r^4) + // Dingfelder, in Chattanooga 2005 proceedings, formula (9) + + G4double r = R(t, energyTransferred, slaterEffectiveChg, shellNumber); + G4double value = 1. - std::exp(-2 * r) * (((( 2./3. * r + 4./3.) * r + 2.) * r + 2.) * r + 1.); + + return value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4DNARuddIonisationExtendedModel::R(G4double t, + G4double energyTransferred, + G4double slaterEffectiveChg, + G4double shellNumber) +{ + // tElectron = m_electron / m_alpha * t + // Dingfelder, in Chattanooga 2005 proceedings, p 4 + + G4double tElectron = 0.511/3728. * t; + // The following values are provided by M. Dingfelder (priv. comm) + G4double H = 2.*13.60569172 * eV; + G4double value = std::sqrt ( 2. * tElectron / H ) / ( energyTransferred / H ) * (slaterEffectiveChg/shellNumber); + + return value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4DNARuddIonisationExtendedModel::CorrectionFactor(G4ParticleDefinition* particleDefinition, G4double k, G4int shell) +{ +// ZF Shortened + G4DNAGenericIonsManager *instance; + instance = G4DNAGenericIonsManager::Instance(); + + if (particleDefinition == instance->GetIon("hydrogen") && shell < 4) + { + G4double value = (std::log10(k/eV)-4.2)/0.5; + // The following values are provided by M. Dingfelder (priv. comm) + return((0.6/(1+std::exp(value))) + 0.9); + } + else + { + return(1.); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4int G4DNARuddIonisationExtendedModel::RandomSelect(G4double k, const G4String& particle ) +{ + + G4DNAGenericIonsManager *instance; + instance = G4DNAGenericIonsManager::Instance(); + + G4int level = 0; + + // Retrieve data table corresponding to the current particle type + + std::map< G4String,G4DNACrossSectionDataSet*,std::less >::iterator pos; + pos = tableData.find(particle); + + if (pos != tableData.end()) + { + G4DNACrossSectionDataSet* table = pos->second; + + if (table != 0) + { + G4double* valuesBuffer = new G4double[table->NumberOfComponents()]; + + const size_t n(table->NumberOfComponents()); + size_t i(n); + G4double value = 0.; + + while (i>0) + { + i--; + valuesBuffer[i] = table->GetComponent(i)->FindValue(k); + + value += valuesBuffer[i]; + } + + value *= G4UniformRand(); + + i = n; + + while (i > 0) + { + i--; + + if (valuesBuffer[i] > value) + { + delete[] valuesBuffer; + return i; + } + value -= valuesBuffer[i]; + } + + if (valuesBuffer) delete[] valuesBuffer; + + } + } + else + { + G4Exception("G4DNARuddIonisationExtendedModel::RandomSelect: attempting to calculate cross section for wrong particle"); + } + + return level; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4DNARuddIonisationExtendedModel::PartialCrossSection(const G4Track& track ) +{ + G4double sigma = 0.; + + const G4DynamicParticle* particle = track.GetDynamicParticle(); + G4double k = particle->GetKineticEnergy(); + + G4double lowLim = 0; + G4double highLim = 0; + + const G4String& particleName = particle->GetDefinition()->GetParticleName(); + + std::map< G4String,G4double,std::less >::iterator pos1; + pos1 = lowEnergyLimit.find(particleName); + + if (pos1 != lowEnergyLimit.end()) + { + lowLim = pos1->second; + } + + std::map< G4String,G4double,std::less >::iterator pos2; + pos2 = highEnergyLimit.find(particleName); + + if (pos2 != highEnergyLimit.end()) + { + highLim = pos2->second; + } + + if (k >= lowLim && k <= highLim) + { + std::map< G4String,G4DNACrossSectionDataSet*,std::less >::iterator pos; + pos = tableData.find(particleName); + + if (pos != tableData.end()) + { + G4DNACrossSectionDataSet* table = pos->second; + if (table != 0) + { + sigma = table->FindValue(k); + } + } + else + { + G4Exception("G4DNARuddIonisationExtendedModel::PartialCrossSection: attempting to calculate cross section for wrong particle"); + } + } + + return sigma; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4DNARuddIonisationExtendedModel::Sum(G4double /* energy */, const G4String& /* particle */) +{ + return 0; +} + diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNARuddIonisationModel.cc b/source/processes/electromagnetic/lowenergy/src/G4DNARuddIonisationModel.cc index 4f8d78fa32..3ade92cb83 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNARuddIonisationModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNARuddIonisationModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DNARuddIonisationModel.cc,v 1.10 2009/08/13 11:32:47 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DNARuddIonisationModel.cc,v 1.21 2010/11/04 14:52:17 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4DNARuddIonisationModel.hh" @@ -158,7 +158,7 @@ void G4DNARuddIonisationModel::Initialise(const G4ParticleDefinition* particle, tableFile[alphaPlusPlus] = fileAlphaPlusPlus; lowEnergyLimit[alphaPlusPlus] = lowEnergyLimitForZ2; - highEnergyLimit[alphaPlusPlus] = 10. * MeV; + highEnergyLimit[alphaPlusPlus] = 400. * MeV; // Cross section @@ -180,7 +180,7 @@ void G4DNARuddIonisationModel::Initialise(const G4ParticleDefinition* particle, tableFile[alphaPlus] = fileAlphaPlus; lowEnergyLimit[alphaPlus] = lowEnergyLimitForZ2; - highEnergyLimit[alphaPlus] = 10. * MeV; + highEnergyLimit[alphaPlus] = 400. * MeV; // Cross section @@ -201,7 +201,7 @@ void G4DNARuddIonisationModel::Initialise(const G4ParticleDefinition* particle, tableFile[helium] = fileHelium; lowEnergyLimit[helium] = lowEnergyLimitForZ2; - highEnergyLimit[helium] = 10. * MeV; + highEnergyLimit[helium] = 400. * MeV; // Cross section @@ -270,45 +270,11 @@ void G4DNARuddIonisationModel::Initialise(const G4ParticleDefinition* particle, // InitialiseElementSelectors(particle,cuts); - // Test if water material - - flagMaterialIsWater= false; - densityWater = 0; - - const G4ProductionCutsTable* theCoupleTable = G4ProductionCutsTable::GetProductionCutsTable(); - - if(theCoupleTable) - { - G4int numOfCouples = theCoupleTable->GetTableSize(); - - if(numOfCouples>0) - { - for (G4int i=0; iGetMaterialCutsCouple(i); - const G4Material* material = couple->GetMaterial(); - - if (material->GetName() == "G4_WATER") - { - G4double density = material->GetAtomicNumDensityVector()[1]; - flagMaterialIsWater = true; - densityWater = density; - - if (verboseLevel > 3) - G4cout << "****** Water material is found with density(cm^-3)=" << density/(cm*cm*cm) << G4endl; - } - - } - - } // if(numOfCouples>0) - - } // if (theCoupleTable) - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4DNARuddIonisationModel::CrossSectionPerVolume(const G4Material*, +G4double G4DNARuddIonisationModel::CrossSectionPerVolume(const G4Material* material, const G4ParticleDefinition* particleDefinition, G4double k, G4double, @@ -354,7 +320,7 @@ G4double G4DNARuddIonisationModel::CrossSectionPerVolume(const G4Material*, G4double highLim = 0; G4double sigma=0; - if (flagMaterialIsWater) + if (material->GetName() == "G4_WATER") { const G4String& particleName = particleDefinition->GetParticleName(); @@ -396,50 +362,6 @@ G4double G4DNARuddIonisationModel::CrossSectionPerVolume(const G4Material*, { sigma = table->FindValue(k); - // BEGIN ELECTRON CORRECTION - // add ONE or TWO electron-water excitation for alpha+ and helium - - if ( particleDefinition == instance->GetIon("alpha+") - || - particleDefinition == instance->GetIon("helium") - ) - { - - G4DNACrossSectionDataSet* electronDataset = new G4DNACrossSectionDataSet - (new G4LogLogInterpolation, eV, (1./3.343e22)*m*m); - - electronDataset->LoadData("dna/sigma_ionisation_e_born"); - - G4double kElectron = k * 0.511/3728; - - if ( particleDefinition == instance->GetIon("alpha+") ) - { - G4double tmp1 = table->FindValue(k) + electronDataset->FindValue(kElectron); - delete electronDataset; - if (verboseLevel > 3) - { - G4cout << "---> Kinetic energy(eV)=" << k/eV << G4endl; - G4cout << " - Cross section per water molecule (cm^2)=" << tmp1/cm/cm << G4endl; - G4cout << " - Cross section per water molecule (cm^-1)=" << tmp1*densityWater/(1./cm) << G4endl; - } - return tmp1*densityWater; - } - - if ( particleDefinition == instance->GetIon("helium") ) - { - G4double tmp2 = table->FindValue(k) + 2. * electronDataset->FindValue(kElectron); - delete electronDataset; - if (verboseLevel > 3) - { - G4cout << "---> Kinetic energy(eV)=" << k/eV << G4endl; - G4cout << " - Cross section per water molecule (cm^2)=" << tmp2/cm/cm << G4endl; - G4cout << " - Cross section per water molecule (cm^-1)=" << tmp2*densityWater/(1./cm) << G4endl; - } - return tmp2*densityWater; - } - } - - // END ELECTRON CORRECTION } } else @@ -453,12 +375,13 @@ G4double G4DNARuddIonisationModel::CrossSectionPerVolume(const G4Material*, { G4cout << "---> Kinetic energy(eV)=" << k/eV << G4endl; G4cout << " - Cross section per water molecule (cm^2)=" << sigma/cm/cm << G4endl; - G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*densityWater/(1./cm) << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << sigma* + material->GetAtomicNumDensityVector()[1]/(1./cm) << G4endl; } } // if (waterMaterial) - return sigma*densityWater; + return sigma*material->GetAtomicNumDensityVector()[1]; } @@ -519,10 +442,12 @@ void G4DNARuddIonisationModel::SampleSecondaries(std::vector { G4ParticleDefinition* definition = particle->GetDefinition(); G4ParticleMomentum primaryDirection = particle->GetMomentumDirection(); + /* G4double particleMass = definition->GetPDGMass(); G4double totalEnergy = k + particleMass; G4double pSquare = k*(totalEnergy+particleMass); G4double totalMomentum = std::sqrt(pSquare); + */ G4int ionizationShell = RandomSelect(k,particleName); @@ -541,6 +466,8 @@ void G4DNARuddIonisationModel::SampleSecondaries(std::vector G4ThreeVector deltaDirection(dirX,dirY,dirZ); deltaDirection.rotateUz(primaryDirection); + // Ignored for ions on electrons + /* G4double deltaTotalMomentum = std::sqrt(secondaryKinetic*(secondaryKinetic + 2.*electron_mass_c2 )); G4double finalPx = totalMomentum*primaryDirection.x() - deltaTotalMomentum*deltaDirection.x(); @@ -555,35 +482,15 @@ void G4DNARuddIonisationModel::SampleSecondaries(std::vector direction.set(finalPx,finalPy,finalPz); fParticleChangeForGamma->ProposeMomentumDirection(direction.unit()) ; + */ + fParticleChangeForGamma->ProposeMomentumDirection(primaryDirection); + fParticleChangeForGamma->SetProposedKineticEnergy(k-bindingEnergy-secondaryKinetic); fParticleChangeForGamma->ProposeLocalEnergyDeposit(bindingEnergy); G4DynamicParticle* dp = new G4DynamicParticle (G4Electron::Electron(),deltaDirection,secondaryKinetic) ; fvect->push_back(dp); - /* - // creating neutral water molechule... - - G4DNAGenericMoleculeManager *instance; - instance = G4DNAGenericMoleculeManager::Instance(); - G4ParticleDefinition* waterDef = NULL; - G4Molecule* water = instance->GetMolecule("H2O"); - waterDef = (G4ParticleDefinition*)water; - - direction.set(0.,0.,0.); - - //G4DynamicParticle* dynamicWater = new G4DynamicParticle(waterDef, direction, bindingEnergy); - G4DynamicMolecule* dynamicWater = new G4DynamicMolecule(water, direction, bindingEnergy); - //dynamicWater->RemoveElectron(ionizationShell, 1); - - G4DynamicMolecule* dynamicWater2 = new G4DynamicMolecule(water, direction, bindingEnergy); - G4DynamicMolecule* dynamicWater3 = new G4DynamicMolecule(water, direction, bindingEnergy); - // insertion inside secondaries - - fvect->push_back(dynamicWater); - fvect->push_back(dynamicWater2); - fvect->push_back(dynamicWater3); - */ } // SI - not useful since low energy of model is 0 eV @@ -622,12 +529,13 @@ G4double G4DNARuddIonisationModel::RandomizeEjectedElectronEnergy(G4ParticleDefi G4double crossSectionMaximum = 0.; - for(G4double value=waterStructure.IonisationEnergy(shell); value<=4.*waterStructure.IonisationEnergy(shell) ; value+=0.1*eV) + for(G4double value=waterStructure.IonisationEnergy(shell); value<=5.*waterStructure.IonisationEnergy(shell) && k>=value ; value+=0.1*eV) { G4double differentialCrossSection = DifferentialCrossSection(particleDefinition, k, value, shell); if(differentialCrossSection >= crossSectionMaximum) crossSectionMaximum = differentialCrossSection; } + G4double secElecKinetic = 0.; do @@ -669,7 +577,14 @@ void G4DNARuddIonisationModel::RandomizeEjectedElectronDirection(G4ParticleDefin } phi = twopi * G4UniformRand(); - cosTheta = std::sqrt(secKinetic / maxSecKinetic); + + //cosTheta = std::sqrt(secKinetic / maxSecKinetic); + + // Restriction below 100 eV from Emfietzoglou (2000) + + if (secKinetic>100*eV) cosTheta = std::sqrt(secKinetic / maxSecKinetic); + else cosTheta = (2.*G4UniformRand())-1.; + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -709,6 +624,10 @@ G4double G4DNARuddIonisationModel::DifferentialCrossSection(G4ParticleDefinition G4double D2 ; G4double alphaConst ; +// const G4double Bj[5] = {12.61*eV, 14.73*eV, 18.55*eV, 32.20*eV, 539.7*eV}; +// The following values are provided by M. dingfelder (priv. comm) + const G4double Bj[5] = {12.60*eV, 14.70*eV, 18.40*eV, 32.20*eV, 540*eV}; + if (j == 4) { //Data For Liquid Water K SHELL from Dingfelder (Protons in Water) @@ -732,7 +651,9 @@ G4double G4DNARuddIonisationModel::DifferentialCrossSection(G4ParticleDefinition D1 = -0.80; E1 = 0.38; A2 = 1.07; - B2 = 14.6; + // Value provided by M. Dingfelder (priv. comm) + B2 = 11.6; + // C2 = 0.60; D2 = 0.04; alphaConst = 0.64; @@ -745,7 +666,12 @@ G4double G4DNARuddIonisationModel::DifferentialCrossSection(G4ParticleDefinition instance = G4DNAGenericIonsManager::Instance(); G4double wBig = (energyTransfer - waterStructure.IonisationEnergy(ionizationLevelIndex)); - G4double w = wBig / waterStructure.IonisationEnergy(ionizationLevelIndex); + if (wBig<0) return 0.; + + G4double w = wBig / Bj[ionizationLevelIndex]; + // Note that the following (j==4) cases are provided by M. Dingfelder (priv. comm) + if (j==4) w = wBig / waterStructure.IonisationEnergy(ionizationLevelIndex); + G4double Ry = 13.6*eV; G4double tau = 0.; @@ -762,11 +688,16 @@ G4double G4DNARuddIonisationModel::DifferentialCrossSection(G4ParticleDefinition { tau = (0.511/3728.) * k ; } - - G4double S = 4.*pi * Bohr_radius*Bohr_radius * n * std::pow((Ry/waterStructure.IonisationEnergy(ionizationLevelIndex)),2); - G4double v2 = tau / waterStructure.IonisationEnergy(ionizationLevelIndex); + + G4double S = 4.*pi * Bohr_radius*Bohr_radius * n * std::pow((Ry/Bj[ionizationLevelIndex]),2); + if (j==4) S = 4.*pi * Bohr_radius*Bohr_radius * n * std::pow((Ry/waterStructure.IonisationEnergy(ionizationLevelIndex)),2); + + G4double v2 = tau / Bj[ionizationLevelIndex]; + if (j==4) v2 = tau / waterStructure.IonisationEnergy(ionizationLevelIndex); + G4double v = std::sqrt(v2); - G4double wc = 4.*v2 - 2.*v - (Ry/(4.*waterStructure.IonisationEnergy(ionizationLevelIndex))); + G4double wc = 4.*v2 - 2.*v - (Ry/(4.*Bj[ionizationLevelIndex])); + if (j==4) wc = 4.*v2 - 2.*v - (Ry/(4.*waterStructure.IonisationEnergy(ionizationLevelIndex))); G4double L1 = (C1* std::pow(v,(D1))) / (1.+ E1*std::pow(v, (D1+4.))); G4double L2 = C2*std::pow(v,(D2)); @@ -776,10 +707,20 @@ G4double G4DNARuddIonisationModel::DifferentialCrossSection(G4ParticleDefinition G4double F1 = L1+H1; G4double F2 = (L2*H2)/(L2+H2); - G4double sigma = CorrectionFactor(particleDefinition, k/eV) + G4double sigma = CorrectionFactor(particleDefinition, k) + * Gj[j] * (S/Bj[ionizationLevelIndex]) + * ( (F1+w*F2) / ( std::pow((1.+w),3) * ( 1.+std::exp(alphaConst*(w-wc)/v))) ); + + if (j==4) sigma = CorrectionFactor(particleDefinition, k) * Gj[j] * (S/waterStructure.IonisationEnergy(ionizationLevelIndex)) * ( (F1+w*F2) / ( std::pow((1.+w),3) * ( 1.+std::exp(alphaConst*(w-wc)/v))) ); + if ( (particleDefinition == instance->GetIon("hydrogen")) && (ionizationLevelIndex==4)) + +// sigma = Gj[j] * (S/Bj[ionizationLevelIndex]) + sigma = Gj[j] * (S/waterStructure.IonisationEnergy(ionizationLevelIndex)) + * ( (F1+w*F2) / ( std::pow((1.+w),3) * ( 1.+std::exp(alphaConst*(w-wc)/v))) ); + if ( particleDefinition == G4Proton::ProtonDefinition() || particleDefinition == instance->GetIon("hydrogen") ) @@ -800,8 +741,10 @@ G4double G4DNARuddIonisationModel::DifferentialCrossSection(G4ParticleDefinition if (particleDefinition == instance->GetIon("alpha+") ) { slaterEffectiveCharge[0]=2.0; - slaterEffectiveCharge[1]=1.15; - slaterEffectiveCharge[2]=1.15; + // The following values are provided by M. Dingfelder (priv. comm) + slaterEffectiveCharge[1]=2.0; + slaterEffectiveCharge[2]=2.0; + // sCoefficient[0]=0.7; sCoefficient[1]=0.15; sCoefficient[2]=0.15; @@ -822,8 +765,11 @@ G4double G4DNARuddIonisationModel::DifferentialCrossSection(G4ParticleDefinition || particleDefinition == instance->GetIon("alpha++") ) { - sigma = Gj[j] * (S/waterStructure.IonisationEnergy(ionizationLevelIndex)) * ( (F1+w*F2) / ( std::pow((1.+w),3) * ( 1.+std::exp(alphaConst*(w-wc)/v))) ); + sigma = Gj[j] * (S/Bj[ionizationLevelIndex]) * ( (F1+w*F2) / ( std::pow((1.+w),3) * ( 1.+std::exp(alphaConst*(w-wc)/v))) ); + if (j==4) sigma = Gj[j] * (S/waterStructure.IonisationEnergy(ionizationLevelIndex)) + * ( (F1+w*F2) / ( std::pow((1.+w),3) * ( 1.+std::exp(alphaConst*(w-wc)/v))) ); + G4double zEff = particleDefinition->GetPDGCharge() / eplus + particleDefinition->GetLeptonNumber(); zEff -= ( sCoefficient[0] * S_1s(k, energyTransfer, slaterEffectiveCharge[0], 1.) + @@ -896,7 +842,9 @@ G4double G4DNARuddIonisationModel::R(G4double t, // Dingfelder, in Chattanooga 2005 proceedings, p 4 G4double tElectron = 0.511/3728. * t; - G4double value = 2. * tElectron * slaterEffectiveChg / (energyTransferred * shellNumber); + // The following values are provided by M. Dingfelder (priv. comm) + G4double H = 2.*13.60569172 * eV; + G4double value = std::sqrt ( 2. * tElectron / H ) / ( energyTransferred / H ) * (slaterEffectiveChg/shellNumber); return value; } @@ -915,8 +863,9 @@ G4double G4DNARuddIonisationModel::CorrectionFactor(G4ParticleDefinition* partic else if (particleDefinition == instance->GetIon("hydrogen")) { - G4double value = (std::log(k/eV)-4.2)/0.5; - return((0.8/(1+std::exp(value))) + 0.9); + G4double value = (std::log10(k/eV)-4.2)/0.5; + // The following values are provided by M. Dingfelder (priv. comm) + return((0.6/(1+std::exp(value))) + 0.9); } else { @@ -931,31 +880,11 @@ G4int G4DNARuddIonisationModel::RandomSelect(G4double k, const G4String& particl // BEGIN PART 1/2 OF ELECTRON CORRECTION - // add ONE or TWO electron-water excitation for alpha+ and helium + // add ONE or TWO electron-water ionisation for alpha+ and helium G4DNAGenericIonsManager *instance; instance = G4DNAGenericIonsManager::Instance(); - G4double kElectron(0); - G4double electronComponent(0); - G4DNACrossSectionDataSet * electronDataset = new G4DNACrossSectionDataSet (new G4LogLogInterpolation, eV, (1./3.343e22)*m*m); - if ( particle == instance->GetIon("alpha+")->GetParticleName() - || - particle == instance->GetIon("helium")->GetParticleName() - ) - { - electronDataset->LoadData("dna/sigma_ionisation_e_born"); - - kElectron = k * 0.511/3728; - - electronComponent = electronDataset->FindValue(kElectron); - - } - - delete electronDataset; - - // END PART 1/2 OF ELECTRON CORRECTION - G4int level = 0; // Retrieve data table corresponding to the current particle type @@ -979,17 +908,6 @@ G4int G4DNARuddIonisationModel::RandomSelect(G4double k, const G4String& particl { i--; valuesBuffer[i] = table->GetComponent(i)->FindValue(k); - - // BEGIN PART 2/2 OF ELECTRON CORRECTION - - if (particle == instance->GetIon("alpha+")->GetParticleName()) - {valuesBuffer[i]=table->GetComponent(i)->FindValue(k) + electronComponent; } - - if (particle == instance->GetIon("helium")->GetParticleName()) - {valuesBuffer[i]=table->GetComponent(i)->FindValue(k) + 2*electronComponent; } - - // BEGIN PART 2/2 OF ELECTRON CORRECTION - value += valuesBuffer[i]; } @@ -1000,6 +918,7 @@ G4int G4DNARuddIonisationModel::RandomSelect(G4double k, const G4String& particl while (i > 0) { i--; + if (valuesBuffer[i] > value) { @@ -1017,7 +936,7 @@ G4int G4DNARuddIonisationModel::RandomSelect(G4double k, const G4String& particl { G4Exception("G4DNARuddIonisationModel::RandomSelect: attempting to calculate cross section for wrong particle"); } - + return level; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNASancheExcitationModel.cc b/source/processes/electromagnetic/lowenergy/src/G4DNASancheExcitationModel.cc new file mode 100644 index 0000000000..de1da99ba1 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4DNASancheExcitationModel.cc @@ -0,0 +1,318 @@ +// +// ******************************************************************** +// * 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: G4DNASancheExcitationModel.cc,v 1.4 2010/11/11 22:32:22 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +// Created by Z. Francis + +#include "G4DNASancheExcitationModel.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +using namespace std; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4DNASancheExcitationModel::G4DNASancheExcitationModel(const G4ParticleDefinition*, + const G4String& nam) +:G4VEmModel(nam),isInitialised(false) +{ + + lowEnergyLimit = 2 * eV; + highEnergyLimit = 100 * eV; + SetLowEnergyLimit(lowEnergyLimit); + SetHighEnergyLimit(highEnergyLimit); + nLevels = 9; + + verboseLevel= 0; + // Verbosity scale: + // 0 = nothing + // 1 = warning for energy non-conservation + // 2 = details of energy budget + // 3 = calculation of cross sections, file openings, sampling of atoms + // 4 = entering in methods + + if (verboseLevel > 0) + { + G4cout << "Sanche Excitation model is constructed " << G4endl + << "Energy range: " + << lowEnergyLimit / eV << " eV - " + << highEnergyLimit / eV << " eV" + << G4endl; + } + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4DNASancheExcitationModel::~G4DNASancheExcitationModel() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4DNASancheExcitationModel::Initialise(const G4ParticleDefinition* /*particle*/, + const G4DataVector& /*cuts*/) +{ + + + if (verboseLevel > 3) + G4cout << "Calling G4DNASancheExcitationModel::Initialise()" << G4endl; + + // Energy limits + + if (LowEnergyLimit() < lowEnergyLimit) + { + G4cout << "G4DNASancheExcitationModel: low energy limit increased from " << + LowEnergyLimit()/eV << " eV to " << lowEnergyLimit/eV << " eV" << G4endl; + SetLowEnergyLimit(lowEnergyLimit); + } + + if (HighEnergyLimit() > highEnergyLimit) + { + G4cout << "G4DNASancheExcitationModel: high energy limit decreased from " << + HighEnergyLimit()/eV << " eV to " << highEnergyLimit/eV << " eV" << G4endl; + SetHighEnergyLimit(highEnergyLimit); + } + + // + + if (verboseLevel > 0) + + G4cout << "Sanche Excitation model is initialized " << G4endl + << "Energy range: " + << LowEnergyLimit() / eV << " eV - " + << HighEnergyLimit() / eV << " eV" + << G4endl; + + if(!isInitialised) + { + isInitialised = true; + + if(pParticleChange) + fParticleChangeForGamma = reinterpret_cast(pParticleChange); + else + fParticleChangeForGamma = new G4ParticleChangeForGamma(); + } + + // InitialiseElementSelectors(particle,cuts); + + char *path = getenv("G4LEDATA"); + std::ostringstream eFullFileName; + eFullFileName << path << "/dna/sigma_excitationvib_e_sanche.dat"; + std::ifstream input(eFullFileName.str().c_str()); + + if (!input) + { + G4Exception("G4DNASancheExcitationModel:::ERROR OPENING XS DATA FILE"); + } + + while(!input.eof()) + { + double t; + input>>t; + tdummyVec.push_back(t); + input>>map1[t][0]>>map1[t][1]>>map1[t][2]>>map1[t][3]>>map1[t][4]>>map1[t][5]>>map1[t][6]>>map1[t][7]>>map1[t][8]; + //G4cout< 3) + G4cout << "Calling CrossSectionPerVolume() of G4DNASancheExcitationModel" << G4endl; + + // Calculate total cross section for model + + G4double sigma=0; + + if (material->GetName() == "G4_WATER") + { + + if (particleDefinition == G4Electron::ElectronDefinition()) + { + if (ekin >= lowEnergyLimit && ekin < highEnergyLimit) + { + sigma = Sum(ekin); + } + } + + if (verboseLevel > 3) + { + G4cout << "---> Kinetic energy(eV)=" << ekin/eV << G4endl; + G4cout << " - Cross section per water molecule (cm^2)=" << sigma/cm/cm << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*material->GetAtomicNumDensityVector()[1]/(1./cm) << G4endl; + } + + } // if water + + + return sigma*2*material->GetAtomicNumDensityVector()[1]; + // see papers for factor 2 description + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4DNASancheExcitationModel::SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle* aDynamicElectron, + G4double, + G4double) +{ + + if (verboseLevel > 3) + G4cout << "Calling SampleSecondaries() of G4DNASancheExcitationModel" << G4endl; + + G4double electronEnergy0 = aDynamicElectron->GetKineticEnergy(); + G4int level = RandomSelect(electronEnergy0); + G4double excitationEnergy = VibrationEnergy(level); // levels go from 0 to 8 + G4double newEnergy = electronEnergy0 - excitationEnergy; + +/* + if (electronEnergy0 < highEnergyLimit) + { + if (newEnergy >= lowEnergyLimit) + { + fParticleChangeForGamma->ProposeMomentumDirection(aDynamicElectron->GetMomentumDirection()); + fParticleChangeForGamma->SetProposedKineticEnergy(newEnergy); + fParticleChangeForGamma->ProposeLocalEnergyDeposit(excitationEnergy); + } + + else + { + fParticleChangeForGamma->ProposeTrackStatus(fStopAndKill); + fParticleChangeForGamma->ProposeLocalEnergyDeposit(electronEnergy0); + } + } +*/ + + if (electronEnergy0 < highEnergyLimit && newEnergy>0.) + { + fParticleChangeForGamma->ProposeMomentumDirection(aDynamicElectron->GetMomentumDirection()); + fParticleChangeForGamma->SetProposedKineticEnergy(newEnergy); + fParticleChangeForGamma->ProposeLocalEnergyDeposit(excitationEnergy); + } + +// +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4DNASancheExcitationModel::PartialCrossSection(G4double t, G4int level) +{ + std::vector::iterator t2 = std::upper_bound(tdummyVec.begin(),tdummyVec.end(), t/eV); + std::vector::iterator t1 = t2-1; + + double sigma = LinInterpolate((*t1), (*t2), t/eV, map1[*t1][level], map1[*t2][level]); + sigma*=1e-16*cm*cm; + if(sigma==0.)sigma=1e-30; + return (sigma); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4DNASancheExcitationModel::VibrationEnergy(G4int level) +{ + G4double energies[9] = {0.01, 0.024, 0.061, 0.092, 0.204, 0.417, 0.460, 0.500, 0.835}; + return(energies[level]*eV); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4int G4DNASancheExcitationModel::RandomSelect(G4double k) +{ + + // Level Selection Counting can be done here ! + + G4int i = nLevels; + G4double value = 0.; + std::deque values; + + while (i > 0) + { + i--; + G4double partial = PartialCrossSection(k,i); + values.push_front(partial); + value += partial; + } + + value *= G4UniformRand(); + + i = nLevels; + + while (i > 0) + { + i--; + if (values[i] > value) + { + //outcount<> "<GetTableSize(); - - if(numOfCouples>0) - { - for (G4int i=0; iGetMaterialCutsCouple(i); - const G4Material* material = couple->GetMaterial(); - - if (material->GetName() == "G4_WATER") - { - G4double density = material->GetAtomicNumDensityVector()[1]; - flagMaterialIsWater = true; - densityWater = density; - - if (verboseLevel > 3) - G4cout << "****** Water material is found with density(cm^-3)=" << density/(cm*cm*cm) << G4endl; - } - - } - - } // if(numOfCouples>0) - - } // if (theCoupleTable) - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4DNAScreenedRutherfordElasticModel::CrossSectionPerVolume(const G4Material*, +G4double G4DNAScreenedRutherfordElasticModel::CrossSectionPerVolume(const G4Material* material, const G4ParticleDefinition*, G4double ekin, G4double, @@ -202,15 +167,13 @@ G4double G4DNAScreenedRutherfordElasticModel::CrossSectionPerVolume(const G4Mate G4double sigma=0; - if (flagMaterialIsWater) + if (material->GetName() == "G4_WATER") { if (ekin < highEnergyLimit) { - - //SI : XS must not be zero otherwise sampling of secondaries method ignored - if (ekin < lowEnergyLimitOfModel) ekin = lowEnergyLimitOfModel; - // + + if (ekin < killBelowEnergy) return DBL_MAX; G4double z = 10.; G4double n = ScreeningFactor(ekin,z); @@ -222,12 +185,12 @@ G4double G4DNAScreenedRutherfordElasticModel::CrossSectionPerVolume(const G4Mate { G4cout << "---> Kinetic energy(eV)=" << ekin/eV << G4endl; G4cout << " - Cross section per water molecule (cm^2)=" << sigma/cm/cm << G4endl; - G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*densityWater/(1./cm) << G4endl; + G4cout << " - Cross section per water molecule (cm^-1)=" << sigma*material->GetAtomicNumDensityVector()[1]/(1./cm) << G4endl; } - } // if (flagMaterialIsWater) + } - return sigma*densityWater; + return sigma*material->GetAtomicNumDensityVector()[1]; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAVibExcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAVibExcitation.cc new file mode 100644 index 0000000000..7bf10ab713 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAVibExcitation.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: G4DNAVibExcitation.cc,v 1.2 2010/11/11 22:32:22 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04 $ + +#include "G4DNAVibExcitation.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +using namespace std; + +G4DNAVibExcitation::G4DNAVibExcitation(const G4String& processName, + G4ProcessType type):G4VEmProcess (processName, type), + isInitialised(false) +{ + SetProcessSubType(51); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4DNAVibExcitation::~G4DNAVibExcitation() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4bool G4DNAVibExcitation::IsApplicable(const G4ParticleDefinition& p) +{ + return (&p == G4Electron::Electron()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4DNAVibExcitation::InitialiseProcess(const G4ParticleDefinition* p) +{ + if(!isInitialised) + { + isInitialised = true; + SetBuildTableFlag(false); + + G4String name = p->GetParticleName(); + + if(name == "e-") + { + if(!Model()) SetModel(new G4DNASancheExcitationModel); + Model()->SetLowEnergyLimit(2*eV); + Model()->SetHighEnergyLimit(100*eV); + + AddEmModel(1, Model()); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4DNAVibExcitation::PrintInfo() +{ + G4cout + << " Total cross sections computed from " + << Model()->GetName() + << G4endl; +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc b/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc index 173de0af93..a876b01896 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EMDataSet.cc,v 1.20 2009/09/25 07:41:34 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EMDataSet.cc,v 1.21 2010/12/02 17:37:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // @@ -107,7 +107,7 @@ G4EMDataSet::G4EMDataSet(G4int argZ, if ((energies == 0) ^ (data == 0)) G4Exception("G4EMDataSet::G4EMDataSet - different size for energies and data (zero case)"); - if (energies == 0) return; + //if (energies == 0) return; if (energies->size() != data->size()) G4Exception("G4EMDataSet::G4EMDataSet - different size for energies and data"); @@ -140,7 +140,7 @@ G4EMDataSet::G4EMDataSet(G4int argZ, if ((energies == 0) ^ (data == 0)) G4Exception("G4EMDataSet::G4EMDataSet - different size for energies and data (zero case)"); - if (energies == 0) return; + //if (energies == 0) return; if (energies->size() != data->size()) G4Exception("G4EMDataSet::G4EMDataSet - different size for energies and data"); @@ -148,7 +148,7 @@ G4EMDataSet::G4EMDataSet(G4int argZ, if ((log_energies == 0) ^ (log_data == 0)) G4Exception("G4EMDataSet::G4EMDataSet - different size for log energies and log data (zero case)"); - if (log_energies == 0) return; + //if (log_energies == 0) return; if (log_energies->size() != log_data->size()) G4Exception("G4EMDataSet::G4EMDataSet - different size for log energies and log data"); @@ -160,11 +160,11 @@ G4EMDataSet::G4EMDataSet(G4int argZ, G4EMDataSet::~G4EMDataSet() { delete algorithm; - if (energies) delete energies; - if (data) delete data; - if (pdf) delete pdf; - if (log_energies) delete log_energies; - if (log_data) delete log_data; + if (energies) { energies->clear(); delete energies; } + if (data) { data->clear(); delete data; } + if (pdf) { pdf->clear(); delete pdf; } + if (log_energies) { log_energies->clear(); delete log_energies; } + if (log_data) { log_data->clear(); delete log_data; } } diff --git a/source/processes/electromagnetic/lowenergy/src/G4Generator2BN.cc b/source/processes/electromagnetic/lowenergy/src/G4Generator2BN.cc index d76d948a1e..7ec4cb38a5 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4Generator2BN.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4Generator2BN.cc @@ -23,6 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4Generator2BN.cc,v 1.9 2010/10/14 14:01:02 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -44,13 +46,13 @@ // // Class Description: // -// Concrete base class for Bremsstrahlung Angular Distribution Generation - 2BN Distribution +// Concrete base class for Bremsstrahlung Angular Distribution Generation +// 2BN Distribution // // Class Description: End // // ------------------------------------------------------------------- -// -// +// #include "G4Generator2BN.hh" #include "Randomize.hh" @@ -149,7 +151,8 @@ G4double G4Generator2BN::ctab[320] = }; -G4Generator2BN::G4Generator2BN(const G4String& name):G4VBremAngularDistribution(name) +G4Generator2BN::G4Generator2BN(const G4String&) + : G4VBremAngularDistribution("AngularGen2BN") { b = 1.2; index_min = -300; @@ -171,7 +174,7 @@ G4Generator2BN::G4Generator2BN(const G4String& name):G4VBremAngularDistribution( // G4Generator2BN::~G4Generator2BN() -{;} +{} // diff --git a/source/processes/electromagnetic/lowenergy/src/G4Generator2BS.cc b/source/processes/electromagnetic/lowenergy/src/G4Generator2BS.cc index 0527cde1f9..0ae6faede2 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4Generator2BS.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4Generator2BS.cc @@ -23,6 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4Generator2BS.cc,v 1.10 2010/10/14 14:01:02 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -38,31 +40,37 @@ // Creation date: 2 June 2003 // // Modifications: -// 02 Jun 2003 First implementation acording with new design -// 05 Nov 2003 MGP Fixed std namespace -// 17 Nov 2003 MGP Fixed compilation problem on Windows +// 02 Jun 2003 First implementation acording with new design +// 05 Nov 2003 MGP Fixed std namespace +// 17 Nov 2003 MGP Fixed compilation problem on Windows +// 12 Oct 2010 V.Ivanchenko Moved RejectionFunction inline, use G4Pow to speadup // // Class Description: // -// Concrete base class for Bremsstrahlung Angular Distribution Generation - 2BS Distribution +// Concrete base class for Bremsstrahlung Angular Distribution Generation +// 2BS Distribution // // Class Description: End // // ------------------------------------------------------------------- // -// #include "G4Generator2BS.hh" -#include "Randomize.hh" -// +#include "Randomize.hh" +#include "G4Pow.hh" -G4Generator2BS::G4Generator2BS(const G4String& name):G4VBremAngularDistribution(name) -{;} +// + +G4Generator2BS::G4Generator2BS(const G4String&) + : G4VBremAngularDistribution("AngularGen2BS") +{ + g4pow = G4Pow::GetInstance(); +} // G4Generator2BS::~G4Generator2BS() -{;} +{} // @@ -78,7 +86,6 @@ G4double G4Generator2BS::PolarAngle(const G4double initial_energy, // National Research Council of Canada // Departement of Medical Physics, Memorial Sloan-Kettering Cancer Center, New York - G4double theta = 0; G4double initialTotalEnergy = (initial_energy+electron_mass_c2)/electron_mass_c2; @@ -86,8 +93,11 @@ G4double G4Generator2BS::PolarAngle(const G4double initial_energy, EnergyRatio = finalTotalEnergy/initialTotalEnergy; G4double gMaxEnergy = (pi*initialTotalEnergy)*(pi*initialTotalEnergy); - G4double Zeff = std::sqrt(static_cast(Z) * (static_cast(Z) + 1.0)); - z = (0.00008116224*(std::pow(Zeff,0.3333333))); + //G4double Zeff = std::sqrt(static_cast(Z) * (static_cast(Z) + 1.0)); + //z = (0.00008116224*(std::pow(Zeff,0.3333333))); + + // VI speadup + z = 0.00008116224*(g4pow->Z13(Z) + g4pow->Z13(Z+1)); // Rejection arguments rejection_argument1 = (1.0+EnergyRatio*EnergyRatio); @@ -96,11 +106,10 @@ G4double G4Generator2BS::PolarAngle(const G4double initial_energy, ((1-EnergyRatio)/(2.0*initialTotalEnergy*EnergyRatio)); // Calculate rejection function at 0, 1 and Emax - G4double gfunction0 = RejectionFunction(0); - G4double gfunction1 = RejectionFunction(1); + G4double gfunction0 = RejectionFunction(0.0); + G4double gfunction1 = RejectionFunction(1.0); G4double gfunctionEmax = RejectionFunction(gMaxEnergy); - // Calculate Maximum value G4double gMaximum = std::max(gfunction0,gfunction1); gMaximum = std::max(gMaximum,gfunctionEmax); @@ -109,35 +118,24 @@ G4double G4Generator2BS::PolarAngle(const G4double initial_energy, do{ rand = G4UniformRand(); - rand = rand/(1-rand+1.0/gMaxEnergy); + rand /= (1 - rand + 1.0/gMaxEnergy); gfunctionTest = RejectionFunction(rand); randTest = G4UniformRand(); - }while(randTest > (gfunctionTest/gMaximum)); + } while(randTest*gMaximum > gfunctionTest); theta = std::sqrt(rand)/initialTotalEnergy; - return theta; } + // -G4double G4Generator2BS::RejectionFunction(G4double value) const -{ - - G4double argument = (1+value)*(1+value); - - G4double gfunction = (4+std::log(rejection_argument3+(z/argument)))* - ((4*EnergyRatio*value/argument)-rejection_argument1)+rejection_argument2; - - return gfunction; - -} - void G4Generator2BS::PrintGeneratorInformation() const { G4cout << "\n" << G4endl; - G4cout << "Bremsstrahlung Angular Generator is 2BS Generator from 2BS Koch & Motz distribution (Rev Mod Phys 31(4), 920 (1959))" << G4endl; + G4cout << "Bremsstrahlung Angular Generator is 2BS Generator " + << "from 2BS Koch & Motz distribution (Rev Mod Phys 31(4), 920 (1959))" << G4endl; G4cout << "Sampling algorithm adapted from PIRS-0203" << G4endl; G4cout << "\n" << G4endl; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4IonParametrisedLossModel.cc b/source/processes/electromagnetic/lowenergy/src/G4IonParametrisedLossModel.cc index 01408e2cee..fb6f852896 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4IonParametrisedLossModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4IonParametrisedLossModel.cc @@ -23,7 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// +// $Id: G4IonParametrisedLossModel.cc,v 1.10 2010/11/04 12:21:48 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // =========================================================================== // GEANT4 class source file @@ -63,6 +64,7 @@ // modified BuildRangeVector, ComputeLossForStep // functions accordingly, added new cache param.) // - Removed GetRange function (AL) +// 04. 11. 2010 - Moved virtual methods to the source (VI) // // // Class description: @@ -106,14 +108,13 @@ G4IonParametrisedLossModel::G4IonParametrisedLossModel( nmbBins(90), nmbSubBins(100), particleChangeLoss(0), - modelIsInitialised(false), - corrections(0), corrFactor(1.0), energyLossLimit(0.01), - cutEnergies(0) { - + cutEnergies(0) +{ genericIon = G4GenericIon::Definition(); genericIonPDGMass = genericIon -> GetPDGMass(); + corrections = G4LossTableManager::Instance() -> EmCorrections(); // The upper limit of the current model is set to 100 TeV SetHighEnergyLimit(100.0 * TeV); @@ -195,6 +196,62 @@ G4double G4IonParametrisedLossModel::MinEnergyCut( // ######################################################################### +G4double G4IonParametrisedLossModel::MaxSecondaryEnergy( + const G4ParticleDefinition* particle, + G4double kineticEnergy) { + + // ############## Maximum energy of secondaries ########################## + // Function computes maximum energy of secondary electrons which are + // released by an ion + // + // See Geant4 physics reference manual (version 9.1), section 9.1.1 + // + // Ref.: W.M. Yao et al, Jour. of Phys. G 33 (2006) 1. + // C.Caso et al. (Part. Data Group), Europ. Phys. Jour. C 3 1 (1998). + // B. Rossi, High energy particles, New York, NY: Prentice-Hall (1952). + // + // (Implementation adapted from G4BraggIonModel) + + if(particle != cacheParticle) UpdateCache(particle); + + G4double tau = kineticEnergy/cacheMass; + G4double tmax = 2.0 * electron_mass_c2 * tau * (tau + 2.) / + (1. + 2.0 * (tau + 1.) * cacheElecMassRatio + + cacheElecMassRatio * cacheElecMassRatio); + + return tmax; +} + +// ######################################################################### + +G4double G4IonParametrisedLossModel::GetChargeSquareRatio( + const G4ParticleDefinition* particle, + const G4Material* material, + G4double kineticEnergy) { // Kinetic energy + + G4double chargeSquareRatio = corrections -> + EffectiveChargeSquareRatio(particle, + material, + kineticEnergy); + corrFactor = chargeSquareRatio * + corrections -> EffectiveChargeCorrection(particle, + material, + kineticEnergy); + return corrFactor; +} + +// ######################################################################### + +G4double G4IonParametrisedLossModel::GetParticleCharge( + const G4ParticleDefinition* particle, + const G4Material* material, + G4double kineticEnergy) { // Kinetic energy + + return corrections -> GetParticleCharge(particle, material, kineticEnergy); +} + +// ######################################################################### + void G4IonParametrisedLossModel::Initialise( const G4ParticleDefinition* particle, const G4DataVector& cuts) { @@ -294,22 +351,9 @@ void G4IonParametrisedLossModel::Initialise( } } - // The particle change object is cast to G4ParticleChangeForLoss - if(! modelIsInitialised) { - - modelIsInitialised = true; - corrections = G4LossTableManager::Instance() -> EmCorrections(); - - if(!particleChangeLoss) { - if(pParticleChange) { - - particleChangeLoss = reinterpret_cast - (pParticleChange); - } - else { - particleChangeLoss = new G4ParticleChangeForLoss(); - } - } + // The particle change object + if(! particleChangeLoss) { + particleChangeLoss = GetParticleChangeForLoss(); } // The G4BraggIonModel and G4BetheBlochModel instances are initialised with diff --git a/source/processes/electromagnetic/lowenergy/src/G4LivermoreBremsstrahlungModel.cc b/source/processes/electromagnetic/lowenergy/src/G4LivermoreBremsstrahlungModel.cc index 6f59eb894c..9525061a27 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LivermoreBremsstrahlungModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LivermoreBremsstrahlungModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4LivermoreBremsstrahlungModel.cc,v 1.6 2009/06/11 15:47:08 mantero Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LivermoreBremsstrahlungModel.cc,v 1.8 2010/12/02 16:07:05 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Luciano Pandola // @@ -141,7 +141,7 @@ void G4LivermoreBremsstrahlungModel::Initialise(const G4ParticleDefinition* part delete crossSectionHandler; crossSectionHandler = 0; } - G4VDataSetAlgorithm* interpolation = new G4SemiLogInterpolation(); + G4VDataSetAlgorithm* interpolation = 0;//new G4SemiLogInterpolation(); crossSectionHandler = new G4BremsstrahlungCrossSectionHandler(energySpectrum,interpolation); crossSectionHandler->Initialise(0,LowEnergyLimit(),HighEnergyLimit(), fNBinEnergyLoss); @@ -195,6 +195,7 @@ G4LivermoreBremsstrahlungModel::ComputeCrossSectionPerAtom(const G4ParticleDefin G4cout << "G4LivermoreBremsstrahlungModel::ComputeCrossSectionPerAtom" << G4endl; G4cout << "The cross section handler is not correctly initialized" << G4endl; G4Exception(); + return 0; } //The cut is already included in the crossSectionHandler diff --git a/source/processes/electromagnetic/lowenergy/src/G4LivermoreGammaConversionModelRC.cc b/source/processes/electromagnetic/lowenergy/src/G4LivermoreGammaConversionModelRC.cc new file mode 100644 index 0000000000..0507c8a9a8 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4LivermoreGammaConversionModelRC.cc @@ -0,0 +1,381 @@ +// +// ******************************************************************** +// * 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: G4LivermoreGammaConversionModelRC.cc,v 1.1 2010/11/10 17:12:22 flongo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// Author: Sebastien Inserti +// 30 October 2008 +// +// History: +// -------- +// 12 Apr 2009 V Ivanchenko Cleanup initialisation and generation of secondaries: +// - apply internal high-energy limit only in constructor +// - do not apply low-energy limit (default is 0) +// - use CLHEP electron mass for low-enegry limit +// - remove MeanFreePath method and table + + +#include "G4LivermoreGammaConversionModelRC.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +using namespace std; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4LivermoreGammaConversionModelRC::G4LivermoreGammaConversionModelRC(const G4ParticleDefinition*, + const G4String& nam) + :G4VEmModel(nam),smallEnergy(2.*MeV),isInitialised(false), + crossSectionHandler(0),meanFreePathTable(0) +{ + lowEnergyLimit = 2.0*electron_mass_c2; + highEnergyLimit = 100 * GeV; + SetHighEnergyLimit(highEnergyLimit); + + verboseLevel= 0; + // Verbosity scale: + // 0 = nothing + // 1 = warning for energy non-conservation + // 2 = details of energy budget + // 3 = calculation of cross sections, file openings, sampling of atoms + // 4 = entering in methods + + if(verboseLevel > 0) { + G4cout << "Livermore Gamma conversion is constructed " << G4endl + << "Energy range: " + << lowEnergyLimit / MeV << " MeV - " + << highEnergyLimit / GeV << " GeV" + << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4LivermoreGammaConversionModelRC::~G4LivermoreGammaConversionModelRC() +{ + if (crossSectionHandler) delete crossSectionHandler; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void +G4LivermoreGammaConversionModelRC::Initialise(const G4ParticleDefinition*, + const G4DataVector&) +{ + if (verboseLevel > 3) + G4cout << "Calling G4LivermoreGammaConversionModelRC::Initialise()" << G4endl; + + if (crossSectionHandler) + { + crossSectionHandler->Clear(); + delete crossSectionHandler; + } + + // Read data tables for all materials + + crossSectionHandler = new G4CrossSectionHandler(); + crossSectionHandler->Initialise(0,lowEnergyLimit,100.*GeV,400); + G4String crossSectionFile = "pair/pp-cs-"; + crossSectionHandler->LoadData(crossSectionFile); + + // + + if (verboseLevel > 2) + G4cout << "Loaded cross section files for PenelopeGammaConversion" << G4endl; + + if (verboseLevel > 0) { + G4cout << "Livermore Gamma Conversion model is initialized " << G4endl + << "Energy range: " + << LowEnergyLimit() / MeV << " MeV - " + << HighEnergyLimit() / GeV << " GeV" + << G4endl; + } + + if(isInitialised) return; + fParticleChange = GetParticleChangeForGamma(); + isInitialised = true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double +G4LivermoreGammaConversionModelRC::ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double GammaEnergy, + G4double Z, G4double, + G4double, G4double) +{ + if (verboseLevel > 3) { + G4cout << "Calling ComputeCrossSectionPerAtom() of G4LivermoreGammaConversionModelRC" + << G4endl; + } + if (GammaEnergy < lowEnergyLimit || GammaEnergy > highEnergyLimit) return 0; + + G4double cs = crossSectionHandler->FindValue(G4int(Z), GammaEnergy); + return cs; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4LivermoreGammaConversionModelRC::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicGamma, + G4double, + G4double) +{ + +// The energies of the e+ e- secondaries are sampled using the Bethe - Heitler +// cross sections with Coulomb correction. A modified version of the random +// number techniques of Butcher & Messel is used (Nuc Phys 20(1960),15). + +// Note 1 : Effects due to the breakdown of the Born approximation at low +// energy are ignored. +// Note 2 : The differential cross section implicitly takes account of +// pair creation in both nuclear and atomic electron fields. However triplet +// prodution is not generated. + + if (verboseLevel > 3) + G4cout << "Calling SampleSecondaries() of G4LivermoreGammaConversionModelRC" << G4endl; + + G4double photonEnergy = aDynamicGamma->GetKineticEnergy(); + G4ParticleMomentum photonDirection = aDynamicGamma->GetMomentumDirection(); + + G4double epsilon ; + G4double epsilon0 = electron_mass_c2 / photonEnergy ; + G4double electronTotEnergy; + G4double positronTotEnergy; + + + // Do it fast if photon energy < 2. MeV + if (photonEnergy < smallEnergy ) + { + epsilon = epsilon0 + (0.5 - epsilon0) * G4UniformRand(); + + if (CLHEP::RandBit::shootBit()) + { + electronTotEnergy = (1. - epsilon) * photonEnergy; + positronTotEnergy = epsilon * photonEnergy; + } + else + { + positronTotEnergy = (1. - epsilon) * photonEnergy; + electronTotEnergy = epsilon * photonEnergy; + } + } + else + { + // Select randomly one element in the current material + //const G4Element* element = crossSectionHandler->SelectRandomElement(couple,photonEnergy); + const G4ParticleDefinition* particle = aDynamicGamma->GetDefinition(); + const G4Element* element = SelectRandomAtom(couple,particle,photonEnergy); + G4cout << "G4LivermoreGammaConversionModelRC::SampleSecondaries" << G4endl; + + if (element == 0) + { + G4cout << "G4LivermoreGammaConversionModelRC::SampleSecondaries - element = 0" + << G4endl; + return; + } + G4IonisParamElm* ionisation = element->GetIonisation(); + if (ionisation == 0) + { + G4cout << "G4LivermoreGammaConversionModelRC::SampleSecondaries - ionisation = 0" + << G4endl; + return; + } + + // Extract Coulomb factor for this Element + G4double fZ = 8. * (ionisation->GetlogZ3()); + if (photonEnergy > 50. * MeV) fZ += 8. * (element->GetfCoulomb()); + + // Limits of the screening variable + G4double screenFactor = 136. * epsilon0 / (element->GetIonisation()->GetZ3()) ; + G4double screenMax = std::exp ((42.24 - fZ)/8.368) - 0.952 ; + G4double screenMin = std::min(4.*screenFactor,screenMax) ; + + // Limits of the energy sampling + G4double epsilon1 = 0.5 - 0.5 * std::sqrt(1. - screenMin / screenMax) ; + G4double epsilonMin = std::max(epsilon0,epsilon1); + G4double epsilonRange = 0.5 - epsilonMin ; + + // Sample the energy rate of the created electron (or positron) + G4double screen; + G4double gReject ; + + G4double f10 = ScreenFunction1(screenMin) - fZ; + G4double f20 = ScreenFunction2(screenMin) - fZ; + G4double normF1 = std::max(f10 * epsilonRange * epsilonRange,0.); + G4double normF2 = std::max(1.5 * f20,0.); + G4double a=393.3750918, b=115.3070201, c=810.6428451, d=19.96497475, e=1016.874592, f=1.936685510, + g=751.2140962, h=0.099751048, i=299.9466339, j=0.002057250, k=49.81034926; + G4double aa=-18.6371131, bb=-1729.95248, cc=9450.971186, dd=106336.0145, ee=55143.09287, ff=-117602.840, + gg=-721455.467, hh=693957.8635, ii=156266.1085, jj=533209.9347; + G4double Rechazo = 0.; + G4double logepsMin = log(epsilonMin); + G4double NormaRC = a + b*logepsMin + c/logepsMin + d*pow(logepsMin,2.) + e/pow(logepsMin,2.) + f*pow(logepsMin,3.) + + g/pow(logepsMin,3.) + h*pow(logepsMin,4.) + i/pow(logepsMin,4.) + j*pow(logepsMin,5.) + + k/pow(logepsMin,5.); + + do { + do { + if (normF1 / (normF1 + normF2) > G4UniformRand() ) + { + epsilon = 0.5 - epsilonRange * std::pow(G4UniformRand(), 0.3333) ; + screen = screenFactor / (epsilon * (1. - epsilon)); + gReject = (ScreenFunction1(screen) - fZ) / f10 ; + } + else + { + epsilon = epsilonMin + epsilonRange * G4UniformRand(); + screen = screenFactor / (epsilon * (1 - epsilon)); + gReject = (ScreenFunction2(screen) - fZ) / f20 ; + } + } while ( gReject < G4UniformRand() ); + + if (CLHEP::RandBit::shootBit()) epsilon = (1. - epsilon); // Extención de Epsilon hasta 1. + + G4double logepsilon = log(epsilon); + G4double deltaP_R1 = 1. + (a + b*logepsilon + c/logepsilon + d*pow(logepsilon,2.) + e/pow(logepsilon,2.) + + f*pow(logepsilon,3.) + g/pow(logepsilon,3.) + h*pow(logepsilon,4.) + i/pow(logepsilon,4.) + + j*pow(logepsilon,5.) + k/pow(logepsilon,5.))/100.; + G4double deltaP_R2 = 1.+((aa + cc*logepsilon + ee*pow(logepsilon,2.) + gg*pow(logepsilon,3.) + ii*pow(logepsilon,4.)) + / (1. + bb*logepsilon + dd*pow(logepsilon,2.) + ff*pow(logepsilon,3.) + hh*pow(logepsilon,4.) + + jj*pow(logepsilon,5.) ))/100.; + + if (epsilon <= 0.5) + { + Rechazo = deltaP_R1/NormaRC; + } + else + { + Rechazo = deltaP_R2/NormaRC; + } + G4cout << Rechazo << " " << NormaRC << " " << epsilon << G4endl; + } while (Rechazo < G4UniformRand() ); + + electronTotEnergy = (1. - epsilon) * photonEnergy; + positronTotEnergy = epsilon * photonEnergy; + + } // End of epsilon sampling + + // Fix charges randomly + + // Scattered electron (positron) angles. ( Z - axis along the parent photon) + // Universal distribution suggested by L. Urban (Geant3 manual (1993) Phys211), + // derived from Tsai distribution (Rev. Mod. Phys. 49, 421 (1977) + + G4double u; + const G4double a1 = 0.625; + G4double a2 = 3. * a1; + // G4double d = 27. ; + + // if (9. / (9. + d) > G4UniformRand()) + if (0.25 > G4UniformRand()) + { + u = - std::log(G4UniformRand() * G4UniformRand()) / a1 ; + } + else + { + u = - std::log(G4UniformRand() * G4UniformRand()) / a2 ; + } + + G4double thetaEle = u*electron_mass_c2/electronTotEnergy; + G4double thetaPos = u*electron_mass_c2/positronTotEnergy; + G4double phi = twopi * G4UniformRand(); + + G4double dxEle= std::sin(thetaEle)*std::cos(phi),dyEle= std::sin(thetaEle)*std::sin(phi),dzEle=std::cos(thetaEle); + G4double dxPos=-std::sin(thetaPos)*std::cos(phi),dyPos=-std::sin(thetaPos)*std::sin(phi),dzPos=std::cos(thetaPos); + + + // Kinematics of the created pair: + // the electron and positron are assumed to have a symetric angular + // distribution with respect to the Z axis along the parent photon + + G4double electronKineEnergy = std::max(0.,electronTotEnergy - electron_mass_c2) ; + + // SI - The range test has been removed wrt original G4LowEnergyGammaconversion class + + G4ThreeVector electronDirection (dxEle, dyEle, dzEle); + electronDirection.rotateUz(photonDirection); + + G4DynamicParticle* particle1 = new G4DynamicParticle (G4Electron::Electron(), + electronDirection, + electronKineEnergy); + + // The e+ is always created (even with kinetic energy = 0) for further annihilation + G4double positronKineEnergy = std::max(0.,positronTotEnergy - electron_mass_c2) ; + + // SI - The range test has been removed wrt original G4LowEnergyGammaconversion class + + G4ThreeVector positronDirection (dxPos, dyPos, dzPos); + positronDirection.rotateUz(photonDirection); + + // Create G4DynamicParticle object for the particle2 + G4DynamicParticle* particle2 = new G4DynamicParticle(G4Positron::Positron(), + positronDirection, positronKineEnergy); + // Fill output vector +// G4cout << "Cree el e+ " << epsilon << G4endl; + fvect->push_back(particle1); + fvect->push_back(particle2); + + // kill incident photon + fParticleChange->SetProposedKineticEnergy(0.); + fParticleChange->ProposeTrackStatus(fStopAndKill); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4LivermoreGammaConversionModelRC::ScreenFunction1(G4double screenVariable) +{ + // Compute the value of the screening function 3*phi1 - phi2 + + G4double value; + + if (screenVariable > 1.) + value = 42.24 - 8.368 * std::log(screenVariable + 0.952); + else + value = 42.392 - screenVariable * (7.796 - 1.961 * screenVariable); + + return value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4LivermoreGammaConversionModelRC::ScreenFunction2(G4double screenVariable) +{ + // Compute the value of the screening function 1.5*phi1 - 0.5*phi2 + + G4double value; + + if (screenVariable > 1.) + value = 42.24 - 8.368 * std::log(screenVariable + 0.952); + else + value = 41.405 - screenVariable * (5.828 - 0.8945 * screenVariable); + + return value; +} + diff --git a/source/processes/electromagnetic/lowenergy/src/G4LivermoreIonisationModel.cc b/source/processes/electromagnetic/lowenergy/src/G4LivermoreIonisationModel.cc index 5b1447adaf..046d9850bb 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LivermoreIonisationModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LivermoreIonisationModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4LivermoreIonisationModel.cc,v 1.7 2009/10/23 09:30:08 pandola Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LivermoreIonisationModel.cc,v 1.13 2010/12/02 16:06:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Luciano Pandola // @@ -43,6 +43,12 @@ // 23 Oct 2009 L Pandola // - atomic deexcitation managed via G4VEmModel::DeexcitationFlag() is // set as "true" (default would be false) +// 12 Oct 2010 L Pandola +// - add debugging information about energy in +// SampleDeexcitationAlongStep() +// - generate fluorescence SampleDeexcitationAlongStep() only above +// the cuts. +// // #include "G4LivermoreIonisationModel.hh" @@ -84,11 +90,10 @@ G4LivermoreIonisationModel::G4LivermoreIonisationModel(const G4ParticleDefinitio SetHighEnergyLimit(fIntrinsicHighEnergyLimit); // verboseLevel = 0; - // //By default: use deexcitation, not auger SetDeexcitationFlag(true); ActivateAuger(false); - + // // // Notice: the fluorescence along step is generated only if it is // set by the PROCESS (e.g. G4eIonisation) via the command @@ -125,7 +130,7 @@ void G4LivermoreIonisationModel::Initialise(const G4ParticleDefinition* particle energySpectrum = 0; } energySpectrum = new G4eIonisationSpectrum(); - if (verboseLevel > 0) + if (verboseLevel > 3) G4cout << "G4VEnergySpectrum is initialized" << G4endl; //Initialize cross section handler @@ -142,8 +147,12 @@ void G4LivermoreIonisationModel::Initialise(const G4ParticleDefinition* particle crossSectionHandler->Clear(); crossSectionHandler->LoadShellData("ioni/ion-ss-cs-"); //This is used to retrieve cross section values later on - crossSectionHandler->BuildMeanFreePathForMaterials(&cuts); - + G4VEMDataSet* emdata = + crossSectionHandler->BuildMeanFreePathForMaterials(&cuts); + //The method BuildMeanFreePathForMaterials() is required here only to force + //the building of an internal table: the output pointer can be deleted + delete emdata; + //Fluorescence data transitionManager = G4AtomicTransitionManager::Instance(); if (shellVacancy) delete shellVacancy; @@ -159,7 +168,7 @@ void G4LivermoreIonisationModel::Initialise(const G4ParticleDefinition* particle << G4endl; } - if (verboseLevel > 1) + if (verboseLevel > 3) { G4cout << "Cross section data: " << G4endl; crossSectionHandler->PrintData(); @@ -194,6 +203,7 @@ G4double G4LivermoreIonisationModel::ComputeCrossSectionPerAtom(const G4Particle G4cout << "G4LivermoreIonisationModel::ComputeCrossSectionPerAtom" << G4endl; G4cout << "The cross section handler is not correctly initialized" << G4endl; G4Exception(); + return 0; } //The cut is already included in the crossSectionHandler @@ -387,6 +397,8 @@ void G4LivermoreIonisationModel::SampleSecondaries(std::vectorpush_back(aSecondary); + aSecondary = 0; + (*secondaryVector)[i]=0; } else { @@ -395,6 +407,8 @@ void G4LivermoreIonisationModel::SampleSecondaries(std::vector 2) - G4cout << "Energy loss along step before deexcitation : " << energyLossBefore/keV << - " keV" << G4endl; + if (verboseLevel > 2) + { + G4cout << "-----------------------------------------------------------" << G4endl; + G4cout << " SampleDeexcitationAlongStep() from G4LivermoreIonisation" << G4endl; + G4cout << "Energy loss along step before deexcitation : " << energyLossBefore/keV << + " keV" << G4endl; + } G4double incidentEnergy = theTrack.GetDynamicParticle()->GetKineticEnergy(); G4ProductionCutsTable* theCoupleTable = @@ -453,9 +471,6 @@ void G4LivermoreIonisationModel::SampleDeexcitationAlongStep(const G4Material* t G4double cutg = (*(theCoupleTable->GetEnergyCutsVector(0)))[index]; G4double cute = (*(theCoupleTable->GetEnergyCutsVector(1)))[index]; - //Notice: in LowEnergyIonisation, fluorescence is always generated above 250 eV - //not above the tracking cut. - //G4double cutForLowEnergySecondaryParticles = 250.0*eV; std::vector* deexcitationProducts = new std::vector; @@ -505,7 +520,10 @@ void G4LivermoreIonisationModel::SampleDeexcitationAlongStep(const G4Material* t if (aSecondary) { e = aSecondary->GetKineticEnergy(); - if ( eTot + e <= eloss ) + G4double itsCut = cutg; + if (aSecondary->GetParticleDefinition() == G4Electron::Electron()) + itsCut = cute; + if ( eTot + e <= eloss && e > itsCut ) { eTot += e; deexcitationProducts->push_back(aSecondary); @@ -524,10 +542,14 @@ void G4LivermoreIonisationModel::SampleDeexcitationAlongStep(const G4Material* t } } + G4double energyLossInFluorescence = 0.0; size_t nSecondaries = deexcitationProducts->size(); if (nSecondaries > 0) { - fParticleChange->SetNumberOfSecondaries(nSecondaries); + //You may have already secondaries produced by SampleSubCutSecondaries() + //at the process G4VEnergyLossProcess + G4int secondariesBefore = fParticleChange->GetNumberOfSecondaries(); + fParticleChange->SetNumberOfSecondaries(nSecondaries+secondariesBefore); const G4StepPoint* preStep = theTrack.GetStep()->GetPreStepPoint(); const G4StepPoint* postStep = theTrack.GetStep()->GetPostStepPoint(); G4ThreeVector r = preStep->GetPosition(); @@ -538,7 +560,7 @@ void G4LivermoreIonisationModel::SampleDeexcitationAlongStep(const G4Material* t deltaT -= t; G4double time, q; G4ThreeVector position; - + for (size_t i=0; iAddSecondary(newTrack); } else @@ -566,9 +589,32 @@ void G4LivermoreIonisationModel::SampleDeexcitationAlongStep(const G4Material* t } delete deexcitationProducts; + //Check and verbosities. Ensure energy conservation if (verboseLevel > 2) - G4cout << "Energy loss along step after deexcitation : " << eloss/keV << - " keV" << G4endl; + { + G4cout << "Energy loss along step after deexcitation : " << eloss/keV << + " keV" << G4endl; + } + if (verboseLevel > 1) + { + G4cout << "------------------------------------------------------------------" << G4endl; + G4cout << "Energy in fluorescence: " << energyLossInFluorescence/keV << " keV" << G4endl; + G4cout << "Residual energy loss: " << eloss/keV << " keV " << G4endl; + G4cout << "Total final: " << (energyLossInFluorescence+eloss)/keV << " keV" << G4endl; + G4cout << "Total initial: " << energyLossBefore/keV << " keV" << G4endl; + G4cout << "------------------------------------------------------------------" << G4endl; + } + if (verboseLevel > 0) + { + if (std::fabs(energyLossBefore-energyLossInFluorescence-eloss)>10*eV) + { + G4cout << "Found energy non-conservation at SampleDeexcitationAlongStep() " << G4endl; + G4cout << "Energy in fluorescence: " << energyLossInFluorescence/keV << " keV" << G4endl; + G4cout << "Residual energy loss: " << eloss/keV << " keV " << G4endl; + G4cout << "Total final: " << (energyLossInFluorescence+eloss)/keV << " keV" << G4endl; + G4cout << "Total initial: " << energyLossBefore/keV << " keV" << G4endl; + } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -579,6 +625,7 @@ void G4LivermoreIonisationModel::InitialiseFluorescence() G4DataVector* energyVector = 0; size_t binForFluo = fNBinEnergyLoss/10; + //Used to produce a log-spaced energy grid. To be deleted at the end. G4PhysicsLogVector* eVector = new G4PhysicsLogVector(LowEnergyLimit(),HighEnergyLimit(), binForFluo); const G4ProductionCutsTable* theCoupleTable= @@ -655,9 +702,11 @@ void G4LivermoreIonisationModel::InitialiseFluorescence() G4VEMDataSet* p = new G4EMDataSet(iZ,energyVector,ksi,interp,1.,1.); xsis->AddComponent(p); } - if(verboseLevel>0) xsis->PrintData(); + if(verboseLevel>3) xsis->PrintData(); shellVacancy->AddXsiTable(xsis); } + if (eVector) + delete eVector; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/lowenergy/src/G4LivermoreNuclearGammaConversionModel.cc b/source/processes/electromagnetic/lowenergy/src/G4LivermoreNuclearGammaConversionModel.cc new file mode 100644 index 0000000000..c454f3c1f7 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4LivermoreNuclearGammaConversionModel.cc @@ -0,0 +1,349 @@ +// +// ******************************************************************** +// * 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: G4LivermoreNuclearGammaConversionModel.cc,v 1.1 2010/11/10 17:09:16 flongo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// Author: Sebastien Inserti +// 30 October 2008 +// +// History: +// -------- +// 12 Apr 2009 V Ivanchenko Cleanup initialisation and generation of secondaries: +// - apply internal high-energy limit only in constructor +// - do not apply low-energy limit (default is 0) +// - use CLHEP electron mass for low-enegry limit +// - remove MeanFreePath method and table + + +#include "G4LivermoreNuclearGammaConversionModel.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +using namespace std; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4LivermoreNuclearGammaConversionModel::G4LivermoreNuclearGammaConversionModel(const G4ParticleDefinition*, + const G4String& nam) + :G4VEmModel(nam),smallEnergy(2.*MeV),isInitialised(false), + crossSectionHandler(0),meanFreePathTable(0) +{ + lowEnergyLimit = 2.0*electron_mass_c2; + highEnergyLimit = 100 * GeV; + SetHighEnergyLimit(highEnergyLimit); + + verboseLevel= 0; + // Verbosity scale: + // 0 = nothing + // 1 = warning for energy non-conservation + // 2 = details of energy budget + // 3 = calculation of cross sections, file openings, sampling of atoms + // 4 = entering in methods + + if(verboseLevel > 0) { + G4cout << "Livermore Nuclear Gamma conversion is constructed " << G4endl + << "Energy range: " + << lowEnergyLimit / MeV << " MeV - " + << highEnergyLimit / GeV << " GeV" + << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4LivermoreNuclearGammaConversionModel::~G4LivermoreNuclearGammaConversionModel() +{ + if (crossSectionHandler) delete crossSectionHandler; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void +G4LivermoreNuclearGammaConversionModel::Initialise(const G4ParticleDefinition*, + const G4DataVector&) +{ + if (verboseLevel > 3) + G4cout << "Calling G4LivermoreNuclearGammaConversionModel::Initialise()" << G4endl; + + if (crossSectionHandler) + { + crossSectionHandler->Clear(); + delete crossSectionHandler; + } + + // Read data tables for all materials + + crossSectionHandler = new G4CrossSectionHandler(); + crossSectionHandler->Initialise(0,lowEnergyLimit,100.*GeV,400); + G4String crossSectionFile = "pairdata/pp-pair-cs-"; // here only pair in nuclear field cs should be used + crossSectionHandler->LoadData(crossSectionFile); + + // + + if (verboseLevel > 0) { + G4cout << "Loaded cross section files for Livermore GammaConversion" << G4endl; + G4cout << "To obtain the total cross section this should be used only " << G4endl + << "in connection with G4ElectronGammaConversion " << G4endl; + } + + if (verboseLevel > 0) { + G4cout << "Livermore Nuclear Gamma Conversion model is initialized " << G4endl + << "Energy range: " + << LowEnergyLimit() / MeV << " MeV - " + << HighEnergyLimit() / GeV << " GeV" + << G4endl; + } + + if(isInitialised) return; + fParticleChange = GetParticleChangeForGamma(); + isInitialised = true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double +G4LivermoreNuclearGammaConversionModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double GammaEnergy, + G4double Z, G4double, + G4double, G4double) +{ + if (verboseLevel > 3) { + G4cout << "Calling ComputeCrossSectionPerAtom() of G4LivermoreNuclearGammaConversionModel" + << G4endl; + } + if (GammaEnergy < lowEnergyLimit || GammaEnergy > highEnergyLimit) return 0; + + G4double cs = crossSectionHandler->FindValue(G4int(Z), GammaEnergy); + return cs; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4LivermoreNuclearGammaConversionModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicGamma, + G4double, + G4double) +{ + +// The energies of the e+ e- secondaries are sampled using the Bethe - Heitler +// cross sections with Coulomb correction. A modified version of the random +// number techniques of Butcher & Messel is used (Nuc Phys 20(1960),15). + +// Note 1 : Effects due to the breakdown of the Born approximation at low +// energy are ignored. +// Note 2 : The differential cross section implicitly takes account of +// pair creation in both nuclear and atomic electron fields. However triplet +// prodution is not generated. + + if (verboseLevel > 3) + G4cout << "Calling SampleSecondaries() of G4LivermoreNuclearGammaConversionModel" << G4endl; + + G4double photonEnergy = aDynamicGamma->GetKineticEnergy(); + G4ParticleMomentum photonDirection = aDynamicGamma->GetMomentumDirection(); + + G4double epsilon ; + G4double epsilon0 = electron_mass_c2 / photonEnergy ; + + // Do it fast if photon energy < 2. MeV + if (photonEnergy < smallEnergy ) + { + epsilon = epsilon0 + (0.5 - epsilon0) * G4UniformRand(); + } + else + { + // Select randomly one element in the current material + //const G4Element* element = crossSectionHandler->SelectRandomElement(couple,photonEnergy); + const G4ParticleDefinition* particle = aDynamicGamma->GetDefinition(); + const G4Element* element = SelectRandomAtom(couple,particle,photonEnergy); + + if (element == 0) + { + G4cout << "G4LivermoreNuclearGammaConversionModel::SampleSecondaries - element = 0" + << G4endl; + return; + } + G4IonisParamElm* ionisation = element->GetIonisation(); + if (ionisation == 0) + { + G4cout << "G4LivermoreNuclearGammaConversionModel::SampleSecondaries - ionisation = 0" + << G4endl; + return; + } + + // Extract Coulomb factor for this Element + G4double fZ = 8. * (ionisation->GetlogZ3()); + if (photonEnergy > 50. * MeV) fZ += 8. * (element->GetfCoulomb()); + + // Limits of the screening variable + G4double screenFactor = 136. * epsilon0 / (element->GetIonisation()->GetZ3()) ; + G4double screenMax = std::exp ((42.24 - fZ)/8.368) - 0.952 ; + G4double screenMin = std::min(4.*screenFactor,screenMax) ; + + // Limits of the energy sampling + G4double epsilon1 = 0.5 - 0.5 * std::sqrt(1. - screenMin / screenMax) ; + G4double epsilonMin = std::max(epsilon0,epsilon1); + G4double epsilonRange = 0.5 - epsilonMin ; + + // Sample the energy rate of the created electron (or positron) + G4double screen; + G4double gReject ; + + G4double f10 = ScreenFunction1(screenMin) - fZ; + G4double f20 = ScreenFunction2(screenMin) - fZ; + G4double normF1 = std::max(f10 * epsilonRange * epsilonRange,0.); + G4double normF2 = std::max(1.5 * f20,0.); + + do { + if (normF1 / (normF1 + normF2) > G4UniformRand() ) + { + epsilon = 0.5 - epsilonRange * std::pow(G4UniformRand(), 0.3333) ; + screen = screenFactor / (epsilon * (1. - epsilon)); + gReject = (ScreenFunction1(screen) - fZ) / f10 ; + } + else + { + epsilon = epsilonMin + epsilonRange * G4UniformRand(); + screen = screenFactor / (epsilon * (1 - epsilon)); + gReject = (ScreenFunction2(screen) - fZ) / f20 ; + } + } while ( gReject < G4UniformRand() ); + + } // End of epsilon sampling + + // Fix charges randomly + + G4double electronTotEnergy; + G4double positronTotEnergy; + + if (CLHEP::RandBit::shootBit()) + { + electronTotEnergy = (1. - epsilon) * photonEnergy; + positronTotEnergy = epsilon * photonEnergy; + } + else + { + positronTotEnergy = (1. - epsilon) * photonEnergy; + electronTotEnergy = epsilon * photonEnergy; + } + + // Scattered electron (positron) angles. ( Z - axis along the parent photon) + // Universal distribution suggested by L. Urban (Geant3 manual (1993) Phys211), + // derived from Tsai distribution (Rev. Mod. Phys. 49, 421 (1977) + + G4double u; + const G4double a1 = 0.625; + G4double a2 = 3. * a1; + // G4double d = 27. ; + + // if (9. / (9. + d) > G4UniformRand()) + if (0.25 > G4UniformRand()) + { + u = - std::log(G4UniformRand() * G4UniformRand()) / a1 ; + } + else + { + u = - std::log(G4UniformRand() * G4UniformRand()) / a2 ; + } + + G4double thetaEle = u*electron_mass_c2/electronTotEnergy; + G4double thetaPos = u*electron_mass_c2/positronTotEnergy; + G4double phi = twopi * G4UniformRand(); + + G4double dxEle= std::sin(thetaEle)*std::cos(phi),dyEle= std::sin(thetaEle)*std::sin(phi),dzEle=std::cos(thetaEle); + G4double dxPos=-std::sin(thetaPos)*std::cos(phi),dyPos=-std::sin(thetaPos)*std::sin(phi),dzPos=std::cos(thetaPos); + + + // Kinematics of the created pair: + // the electron and positron are assumed to have a symetric angular + // distribution with respect to the Z axis along the parent photon + + G4double electronKineEnergy = std::max(0.,electronTotEnergy - electron_mass_c2) ; + + // SI - The range test has been removed wrt original G4LowEnergyGammaconversion class + + G4ThreeVector electronDirection (dxEle, dyEle, dzEle); + electronDirection.rotateUz(photonDirection); + + G4DynamicParticle* particle1 = new G4DynamicParticle (G4Electron::Electron(), + electronDirection, + electronKineEnergy); + + // The e+ is always created (even with kinetic energy = 0) for further annihilation + G4double positronKineEnergy = std::max(0.,positronTotEnergy - electron_mass_c2) ; + + // SI - The range test has been removed wrt original G4LowEnergyGammaconversion class + + G4ThreeVector positronDirection (dxPos, dyPos, dzPos); + positronDirection.rotateUz(photonDirection); + + // Create G4DynamicParticle object for the particle2 + G4DynamicParticle* particle2 = new G4DynamicParticle(G4Positron::Positron(), + positronDirection, positronKineEnergy); + // Fill output vector + + fvect->push_back(particle1); + fvect->push_back(particle2); + + // kill incident photon + fParticleChange->SetProposedKineticEnergy(0.); + fParticleChange->ProposeTrackStatus(fStopAndKill); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4LivermoreNuclearGammaConversionModel::ScreenFunction1(G4double screenVariable) +{ + // Compute the value of the screening function 3*phi1 - phi2 + + G4double value; + + if (screenVariable > 1.) + value = 42.24 - 8.368 * std::log(screenVariable + 0.952); + else + value = 42.392 - screenVariable * (7.796 - 1.961 * screenVariable); + + return value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4LivermoreNuclearGammaConversionModel::ScreenFunction2(G4double screenVariable) +{ + // Compute the value of the screening function 1.5*phi1 - 0.5*phi2 + + G4double value; + + if (screenVariable > 1.) + value = 42.24 - 8.368 * std::log(screenVariable + 0.952); + else + value = 41.405 - screenVariable * (5.828 - 0.8945 * screenVariable); + + return value; +} + diff --git a/source/processes/electromagnetic/lowenergy/src/G4LivermorePhotoElectricModel.cc b/source/processes/electromagnetic/lowenergy/src/G4LivermorePhotoElectricModel.cc index f8684ea055..2520593ed3 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LivermorePhotoElectricModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LivermorePhotoElectricModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4LivermorePhotoElectricModel.cc,v 1.9 2009/10/23 09:31:03 pandola Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LivermorePhotoElectricModel.cc,v 1.12 2010/10/13 07:15:42 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Author: Sebastien Inserti @@ -42,7 +42,10 @@ // 23 Oct 2009 L Pandola // - atomic deexcitation managed via G4VEmModel::DeexcitationFlag() is // set as "true" (default would be false) -// +// 15 Mar 2010 L Pandola +// - removed methods to set explicitely fluorescence cuts. +// Main cuts from G4ProductionCutsTable are always used +// #include "G4LivermorePhotoElectricModel.hh" @@ -61,11 +64,7 @@ G4LivermorePhotoElectricModel::G4LivermorePhotoElectricModel(const G4ParticleDef highEnergyLimit = 100 * GeV; // SetLowEnergyLimit(lowEnergyLimit); SetHighEnergyLimit(highEnergyLimit); - - //Set atomic deexcitation by default - SetDeexcitationFlag(true); - ActivateAuger(false); - + verboseLevel= 0; // Verbosity scale: // 0 = nothing @@ -73,6 +72,11 @@ G4LivermorePhotoElectricModel::G4LivermorePhotoElectricModel(const G4ParticleDef // 2 = details of energy budget // 3 = calculation of cross sections, file openings, sampling of atoms // 4 = entering in methods + + //Set atomic deexcitation by default + SetDeexcitationFlag(true); + ActivateAuger(false); + if(verboseLevel>0) { G4cout << "Livermore PhotoElectric is constructed " << G4endl << "Energy range: " @@ -124,9 +128,7 @@ G4LivermorePhotoElectricModel::Initialise(const G4ParticleDefinition*, G4String shellCrossSectionFile = "phot/pe-ss-cs-"; shellCrossSectionHandler->LoadShellData(shellCrossSectionFile); - // SI - Simple generator is buggy - //generatorName = "geant4.6.2"; - //ElectronAngularGenerator = new G4PhotoElectricAngularGeneratorSimple("GEANTSimpleGenerator"); // default generator + // default generator ElectronAngularGenerator = new G4PhotoElectricAngularGeneratorSauterGavrila("GEANTSauterGavrilaGenerator"); @@ -297,25 +299,17 @@ G4LivermorePhotoElectricModel::SampleSecondaries(std::vector //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4LivermorePhotoElectricModel::SetCutForLowEnSecPhotons(G4double cut) +void G4LivermorePhotoElectricModel::ActivateAuger(G4bool augerbool) { - cutForLowEnergySecondaryPhotons = cut; - deexcitationManager.SetCutForSecondaryPhotons(cut); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4LivermorePhotoElectricModel::SetCutForLowEnSecElectrons(G4double cut) -{ - cutForLowEnergySecondaryElectrons = cut; - deexcitationManager.SetCutForAugerElectrons(cut); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4LivermorePhotoElectricModel::ActivateAuger(G4bool val) -{ - deexcitationManager.ActivateAugerElectronProduction(val); + if (!DeexcitationFlag() && augerbool) + { + G4cout << "WARNING - G4LivermorePhotoElectricModel" << G4endl; + G4cout << "The use of the Atomic Deexcitation Manager is set to false " << G4endl; + G4cout << "Therefore, Auger electrons will be not generated anyway" << G4endl; + } + deexcitationManager.ActivateAugerElectronProduction(augerbool); + if (verboseLevel > 1) + G4cout << "Auger production set to " << augerbool << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/lowenergy/src/G4LivermorePolarizedGammaConversionModel.cc b/source/processes/electromagnetic/lowenergy/src/G4LivermorePolarizedGammaConversionModel.cc index ed93e8ab0b..958a1bb1dd 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LivermorePolarizedGammaConversionModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LivermorePolarizedGammaConversionModel.cc @@ -131,10 +131,7 @@ void G4LivermorePolarizedGammaConversionModel::Initialise(const G4ParticleDefini if(isInitialised) return; - if(pParticleChange) - fParticleChange = reinterpret_cast(pParticleChange); - else - fParticleChange = new G4ParticleChangeForGamma(); + fParticleChange = GetParticleChangeForGamma(); isInitialised = true; } @@ -218,7 +215,10 @@ void G4LivermorePolarizedGammaConversionModel::SampleSecondaries(std::vectorSelectRandomAtom(couple,photonEnergy); - const G4Element* element = crossSectionHandler->SelectRandomElement(couple,photonEnergy); + //const G4Element* element = crossSectionHandler->SelectRandomElement(couple,photonEnergy); + + const G4ParticleDefinition* particle = aDynamicGamma->GetDefinition(); + const G4Element* element = SelectRandomAtom(couple,particle,photonEnergy); if (element == 0) { diff --git a/source/processes/electromagnetic/lowenergy/src/G4LivermorePolarizedPhotoElectricModel.cc b/source/processes/electromagnetic/lowenergy/src/G4LivermorePolarizedPhotoElectricModel.cc index 92629f4b5b..c282b2fc17 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LivermorePolarizedPhotoElectricModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LivermorePolarizedPhotoElectricModel.cc @@ -49,6 +49,9 @@ G4LivermorePolarizedPhotoElectricModel::G4LivermorePolarizedPhotoElectricModel(c // 3 = calculation of cross sections, file openings, sampling of atoms // 4 = entering in methods + SetDeexcitationFlag(true); + ActivateAuger(false); + G4cout << "Livermore Polarized PhotoElectric is constructed " << G4endl << "Energy range: " << lowEnergyLimit / keV << " keV - " @@ -61,7 +64,7 @@ G4LivermorePolarizedPhotoElectricModel::G4LivermorePolarizedPhotoElectricModel(c G4LivermorePolarizedPhotoElectricModel::~G4LivermorePolarizedPhotoElectricModel() { - if (meanFreePathTable) delete meanFreePathTable; + // if (meanFreePathTable) delete meanFreePathTable; if (crossSectionHandler) delete crossSectionHandler; if (shellCrossSectionHandler) delete shellCrossSectionHandler; } @@ -89,22 +92,24 @@ void G4LivermorePolarizedPhotoElectricModel::Initialise(const G4ParticleDefiniti } + /* // Energy limits if (LowEnergyLimit() < lowEnergyLimit) - { - G4cout << "G4LivermorePolarizedPhotoElectricModel: low energy limit increased from " << - LowEnergyLimit()/eV << " eV to " << lowEnergyLimit << " eV" << G4endl; - SetLowEnergyLimit(lowEnergyLimit); - } - + { + G4cout << "G4LivermorePolarizedPhotoElectricModel: low energy limit increased from " << + LowEnergyLimit()/eV << " eV to " << lowEnergyLimit << " eV" << G4endl; + SetLowEnergyLimit(lowEnergyLimit); + } + if (HighEnergyLimit() > highEnergyLimit) - { - G4cout << "G4LivermorePolarizedPhotoElectricModel: high energy limit decreased from " << - HighEnergyLimit()/GeV << " GeV to " << highEnergyLimit << " GeV" << G4endl; - SetHighEnergyLimit(highEnergyLimit); - } - + { + G4cout << "G4LivermorePolarizedPhotoElectricModel: high energy limit decreased from " << + HighEnergyLimit()/GeV << " GeV to " << highEnergyLimit << " GeV" << G4endl; + SetHighEnergyLimit(highEnergyLimit); + } + */ + // Reading of data files - all materials are read crossSectionHandler = new G4CrossSectionHandler; @@ -113,7 +118,7 @@ void G4LivermorePolarizedPhotoElectricModel::Initialise(const G4ParticleDefiniti crossSectionHandler->LoadData(crossSectionFile); meanFreePathTable = 0; - meanFreePathTable = crossSectionHandler->BuildMeanFreePathForMaterials(); + // meanFreePathTable = crossSectionHandler->BuildMeanFreePathForMaterials(); shellCrossSectionHandler = new G4CrossSectionHandler(); shellCrossSectionHandler->Clear(); @@ -124,7 +129,7 @@ void G4LivermorePolarizedPhotoElectricModel::Initialise(const G4ParticleDefiniti // if (verboseLevel > 2) G4cout << "Loaded cross section files for Livermore Polarized PhotoElectric model" << G4endl; - + InitialiseElementSelectors(particle,cuts); G4cout << "Livermore Polarized PhotoElectric model is initialized " << G4endl @@ -137,11 +142,14 @@ void G4LivermorePolarizedPhotoElectricModel::Initialise(const G4ParticleDefiniti if(isInitialised) return; - if(pParticleChange) + /* if(pParticleChange) fParticleChange = reinterpret_cast(pParticleChange); else fParticleChange = new G4ParticleChangeForGamma(); + */ + fParticleChange = GetParticleChangeForGamma(); + isInitialised = true; } @@ -178,28 +186,29 @@ void G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(std::vectorGetKineticEnergy(); - // Within energy limit? + G4ThreeVector gammaPolarization0 = aDynamicGamma->GetPolarization(); + G4ThreeVector photonDirection = aDynamicGamma->GetMomentumDirection(); + + // kill incident photon + + fParticleChange->SetProposedKineticEnergy(0.); + fParticleChange->ProposeTrackStatus(fStopAndKill); + + // low-energy gamma is absorpted by this process - if(photonEnergy <= lowEnergyLimit) + if (photonEnergy <= lowEnergyLimit) { - fParticleChange->ProposeTrackStatus(fStopAndKill); - fParticleChange->SetProposedKineticEnergy(0.); fParticleChange->ProposeLocalEnergyDeposit(photonEnergy); return; } - - - G4ThreeVector gammaPolarization0 = aDynamicGamma->GetPolarization(); - + // Protection: a polarisation parallel to the // direction causes problems; // in that case find a random polarization - G4ThreeVector photonDirection = aDynamicGamma->GetMomentumDirection(); - // Make sure that the polarization vector is perpendicular to the // gamma direction. If not - + if(!(gammaPolarization0.isOrthogonal(photonDirection, 1e-6))||(gammaPolarization0.mag()==0)) { // only for testing now gammaPolarization0 = GetRandomPolarization(photonDirection); @@ -211,14 +220,18 @@ void G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(std::vectorSelectRandomAtom(couple,photonEnergy); + // G4int Z = crossSectionHandler->SelectRandomAtom(couple,photonEnergy); + + const G4ParticleDefinition* particle = aDynamicGamma->GetDefinition(); + const G4Element* elm = SelectRandomAtom(couple->GetMaterial(),particle,photonEnergy); + G4int Z = (G4int)elm->GetZ(); // Select the ionised shell in the current atom according to shell cross sections @@ -228,16 +241,9 @@ void G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(std::vectorShell(Z,shellIndex); G4double bindingEnergy = shell->BindingEnergy(); G4int shellId = shell->ShellId(); - - // Create lists of pointers to DynamicParticles (photons and electrons) - // (Is the electron vector necessary? To be checked) - std::vector* photonVector = 0; - std::vector electronVector; - - G4double energyDeposit = 0.0; - + // Primary outgoing electron - + G4double eKineticEnergy = photonEnergy - bindingEnergy; @@ -255,7 +261,7 @@ void G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(std::vectorpush_back(electron); } else { @@ -263,113 +269,111 @@ void G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(std::vectorGetIndex(); - G4double cutg = (*(theCoupleTable->GetEnergyCutsVector(0)))[index]; - cutg = std::min(cutForLowEnergySecondaryPhotons,cutg); - - G4double cute = (*(theCoupleTable->GetEnergyCutsVector(1)))[index]; - cute = std::min(cutForLowEnergySecondaryPhotons,cute); - - G4DynamicParticle* aPhoton; - - // Generation of fluorescence - // Data in EADL are available only for Z > 5 - // Protection to avoid generating photons in the unphysical case of - // shell binding energy > photon energy - if (Z > 5 && (bindingEnergy > cutg || bindingEnergy > cute)) - { - photonVector = deexcitationManager.GenerateParticles(Z,shellId); - nTotPhotons = photonVector->size(); - for (size_t k=0; kGetDefinition() == G4Electron::Electron()) itsCut = cute; - - G4double itsEnergy = aPhoton->GetKineticEnergy(); - - if (itsEnergy > itsCut && itsEnergy <= bindingEnergy) + // deexcitation + if(DeexcitationFlag() && Z > 5) { + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t index = couple->GetIndex(); + G4double cutg = (*(theCoupleTable->GetEnergyCutsVector(0)))[index]; + //cutg = std::min(cutForLowEnergySecondaryPhotons,cutg); + G4double cute = (*(theCoupleTable->GetEnergyCutsVector(1)))[index]; + //cute = std::min(cutForLowEnergySecondaryPhotons,cute); + + // G4DynamicParticle* aPhoton; + + // Generation of fluorescence + // Data in EADL are available only for Z > 5 + // Protection to avoid generating photons in the unphysical case of + // shell binding energy > photon energy + if (bindingEnergy > cutg || bindingEnergy > cute) + { + G4DynamicParticle* aPhoton; + deexcitationManager.SetCutForSecondaryPhotons(cutg); + deexcitationManager.SetCutForAugerElectrons(cute); + std::vector* photonVector = + deexcitationManager.GenerateParticles(Z,shellId); + size_t nTotPhotons = photonVector->size(); + for (size_t k=0; kGetKineticEnergy(); + if (itsEnergy <= bindingEnergy) { - nPhotons++; // Local energy deposit is given as the sum of the // energies of incident photons minus the energies // of the outcoming fluorescence photons bindingEnergy -= itsEnergy; + fvect->push_back(aPhoton); + } + else + { + delete aPhoton; + (*photonVector)[k] = 0; + } + } + } + delete photonVector; + } + } + // excitation energy left + fParticleChange->ProposeLocalEnergyDeposit(bindingEnergy); +} - } - else - { - delete aPhoton; - (*photonVector)[k] = 0; - } - } - } - } +/* energyDeposit += bindingEnergy; // Final state - + for (G4int l = 0; lpush_back(aPhoton); - } - } + { + aPhoton = electronVector[l]; + if(aPhoton) { + fvect->push_back(aPhoton); + } + } for ( size_t ll = 0; ll < nTotPhotons; ll++) - { - aPhoton = (*photonVector)[ll]; - if(aPhoton) { - fvect->push_back(aPhoton); - } + { + aPhoton = (*photonVector)[ll]; + if(aPhoton) { + fvect->push_back(aPhoton); + } } - - delete photonVector; - - if (energyDeposit < 0) + + delete photonVector; + + if (energyDeposit < 0) { - G4cout << "WARNING - " - << "G4LowEnergyPhotoElectric::PostStepDoIt - Negative energy deposit" - << G4endl; - energyDeposit = 0; + G4cout << "WARNING - " + << "G4LowEnergyPhotoElectric::PostStepDoIt - Negative energy deposit" + << G4endl; + energyDeposit = 0; } - - // kill incident photon + + // kill incident photon fParticleChange->ProposeMomentumDirection( 0., 0., 0. ); fParticleChange->SetProposedKineticEnergy(0.); fParticleChange->ProposeTrackStatus(fStopAndKill); fParticleChange->ProposeLocalEnergyDeposit(energyDeposit); } +*/ + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4LivermorePolarizedPhotoElectricModel::SetCutForLowEnSecPhotons(G4double cut) +void G4LivermorePolarizedPhotoElectricModel::ActivateAuger(G4bool augerbool) { - cutForLowEnergySecondaryPhotons = cut; - deexcitationManager.SetCutForSecondaryPhotons(cut); -} + if (!DeexcitationFlag() && augerbool) + { + G4cout << "WARNING - G4LivermorePolarizedPhotoElectricModel" << G4endl; + G4cout << "The use of the Atomic Deexcitation Manager is set to false " << G4endl; + G4cout << "Therefore, Auger electrons will be not generated anyway" << G4endl; + } + deexcitationManager.ActivateAugerElectronProduction(augerbool); + if (verboseLevel > 1) + G4cout << "Auger production set to " << augerbool << G4endl; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4LivermorePolarizedPhotoElectricModel::SetCutForLowEnSecElectrons(G4double cut) -{ - cutForLowEnergySecondaryElectrons = cut; - deexcitationManager.SetCutForAugerElectrons(cut); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4LivermorePolarizedPhotoElectricModel::ActivateAuger(G4bool val) -{ - deexcitationManager.ActivateAugerElectronProduction(val); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -525,29 +529,31 @@ void G4LivermorePolarizedPhotoElectricModel::SystemOfRefChange //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4LivermorePolarizedPhotoElectricModel::GetMeanFreePath(const G4Track& track, - G4double, - G4ForceCondition*) -{ - - const G4DynamicParticle* photon = track.GetDynamicParticle(); - G4double energy = photon->GetKineticEnergy(); - G4Material* material = track.GetMaterial(); - // size_t materialIndex = material->GetIndex(); - - G4double meanFreePath = DBL_MAX; - - // if (energy > highEnergyLimit) - // meanFreePath = meanFreePathTable->FindValue(highEnergyLimit,materialIndex); - // else if (energy < lowEnergyLimit) meanFreePath = DBL_MAX; - // else meanFreePath = meanFreePathTable->FindValue(energy,materialIndex); - - G4double cross = shellCrossSectionHandler->ValueForMaterial(material,energy); - if(cross > 0.0) meanFreePath = 1.0/cross; - - return meanFreePath; - - -} +/* + G4double G4LivermorePolarizedPhotoElectricModel::GetMeanFreePath(const G4Track& track, + G4double, + G4ForceCondition*) + { + + const G4DynamicParticle* photon = track.GetDynamicParticle(); + G4double energy = photon->GetKineticEnergy(); + G4Material* material = track.GetMaterial(); + // size_t materialIndex = material->GetIndex(); + + G4double meanFreePath = DBL_MAX; + + // if (energy > highEnergyLimit) + // meanFreePath = meanFreePathTable->FindValue(highEnergyLimit,materialIndex); + // else if (energy < lowEnergyLimit) meanFreePath = DBL_MAX; + // else meanFreePath = meanFreePathTable->FindValue(energy,materialIndex); + + G4double cross = shellCrossSectionHandler->ValueForMaterial(material,energy); + if(cross > 0.0) meanFreePath = 1.0/cross; + + return meanFreePath; + + + } +*/ diff --git a/source/processes/electromagnetic/lowenergy/src/G4OrlicLCrossSection.cc b/source/processes/electromagnetic/lowenergy/src/G4OrlicLiCrossSection.cc similarity index 84% rename from source/processes/electromagnetic/lowenergy/src/G4OrlicLCrossSection.cc rename to source/processes/electromagnetic/lowenergy/src/G4OrlicLiCrossSection.cc index 6bb868e960..ba8ccbbea4 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4OrlicLCrossSection.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4OrlicLiCrossSection.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -//$Id: G4OrlicLCrossSection.cc,v 1.6.2.2 2009/12/11 18:44:44 japost Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +//$Id: G4OrlicLiCrossSection.cc,v 1.6 2010/11/22 18:32:00 mantero Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Haifa Ben Abdelouahed // @@ -33,6 +33,8 @@ // ----------- // 23 Apr 2008 H. Ben Abdelouahed 1st implementation // 28 Apr 2008 MGP Major revision according to a design iteration +// 21 Apr 2009 ALF Some correction for compatibility to G4VShellCrossSection +// and changed name to G4OrlicLiCrossSection // // ------------------------------------------------------------------- // Class description: @@ -42,16 +44,21 @@ #include "globals.hh" -#include "G4OrlicLCrossSection.hh" -#include "G4AtomicTransitionManager.hh" +#include "G4OrlicLiCrossSection.hh" #include "G4Proton.hh" -G4OrlicLCrossSection::G4OrlicLCrossSection() -{ } +G4OrlicLiCrossSection::G4OrlicLiCrossSection() +{ -G4OrlicLCrossSection::~G4OrlicLCrossSection() -{ } + transitionManager = G4AtomicTransitionManager::Instance(); + +} + +G4OrlicLiCrossSection::~G4OrlicLiCrossSection() +{ + +} //this L-CrossSection calculation method is done according to //I.ORLIC, C.H.SOW and S.M.TANG,International Journal of PIXE.Vol.4(1997) 217-230 @@ -59,11 +66,15 @@ G4OrlicLCrossSection::~G4OrlicLCrossSection() //***************************************************************************************************************************************** -G4double G4OrlicLCrossSection::CalculateL1CrossSection(G4int zTarget, G4double energyIncident) +G4double G4OrlicLiCrossSection::CalculateL1CrossSection(G4int zTarget, G4double energyIncident) { - G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + if ( (energyIncident < 0.1*MeV) || energyIncident > 10*MeV ) + + {return 0;} + + G4double massIncident; @@ -93,6 +104,10 @@ G4double G4OrlicLCrossSection::CalculateL1CrossSection(G4int zTarget, G4double e if ( zTarget>=14 && zTarget<=40) { + + return 0; + /* + // parameters used for calculating total L cross section a0=12.5081; a1=0.2177; a2=-0.3758; @@ -102,7 +117,7 @@ G4double G4OrlicLCrossSection::CalculateL1CrossSection(G4int zTarget, G4double e a6=0.; a7=0.; a8=0.; - a9=0.; + a9=0.; */ } else { @@ -183,7 +198,7 @@ G4double G4OrlicLCrossSection::CalculateL1CrossSection(G4int zTarget, G4double e } else { - G4cout << "ERREUR: L1 Cross-Section exist only for ZTarget between 14 and 92!!! " << G4endl; + G4cout << "ERROR: L1 Cross-Section exist only for ZTarget between 14 and 92!!! " << G4endl; } } @@ -200,21 +215,29 @@ G4double analyticalFunction = a0 + (a1*x)+(a2*x*x)+(a3*std::pow(x,3))+(a4*std::p G4double L1crossSection = std::exp(analyticalFunction)/(l1BindingEnergy*l1BindingEnergy); - return L1crossSection; + + if (L1crossSection >= 0) { + return L1crossSection * barn; + } + else {return 0;} + } //***************************************************************************************************************************************** -G4double G4OrlicLCrossSection::CalculateL2CrossSection(G4int zTarget, G4double energyIncident) +G4double G4OrlicLiCrossSection::CalculateL2CrossSection(G4int zTarget, G4double energyIncident) { - G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + + if ( (energyIncident < 0.1*MeV) || energyIncident > 10*MeV ) + + {return 0;} + G4double massIncident; - G4Proton* aProtone = G4Proton::Proton(); massIncident = aProtone->GetPDGMass(); @@ -301,7 +324,7 @@ G4double G4OrlicLCrossSection::CalculateL2CrossSection(G4int zTarget, G4double e } else { - G4cout << "ERREUR: L2 Cross-Section exist only for ZTarget between 14 and 92!!! " << G4endl; + G4cout << "ERROR: L2 Cross-Section exist only for ZTarget between 14 and 92!!! " << G4endl; } } @@ -317,21 +340,28 @@ G4double G4OrlicLCrossSection::CalculateL2CrossSection(G4int zTarget, G4double e } - return L2crossSection; + if (L2crossSection >= 0) { + return L2crossSection * barn; + } + else {return 0;} + } //***************************************************************************************************************************************** -G4double G4OrlicLCrossSection::CalculateL3CrossSection(G4int zTarget, G4double energyIncident) +G4double G4OrlicLiCrossSection::CalculateL3CrossSection(G4int zTarget, G4double energyIncident) { - G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + if ( (energyIncident < 0.1*MeV) || energyIncident > 10*MeV ) + + {return 0;} + + G4double massIncident; - G4Proton* aProtone = G4Proton::Proton(); massIncident = aProtone->GetPDGMass(); @@ -414,7 +444,7 @@ G4double G4OrlicLCrossSection::CalculateL3CrossSection(G4int zTarget, G4double e } else { - G4cout << "ERREUR: L3 Cross-Section exist only for ZTarget between 14 and 92!!! " << G4endl; + G4cout << "ERROR: L3 Cross-Section exist only for ZTarget between 14 and 92!!! " << G4endl; } } @@ -429,6 +459,10 @@ G4double G4OrlicLCrossSection::CalculateL3CrossSection(G4int zTarget, G4double e L3crossSection = std::exp(analyticalFunction)/(l3BindingEnergy*l3BindingEnergy); } + if (L3crossSection >= 0) { + return L3crossSection * barn; + } + else {return 0;} + - return L3crossSection; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4PaulKCrossSection.cc b/source/processes/electromagnetic/lowenergy/src/G4PaulKCrossSection.cc index 8893b7c810..835bbccf04 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PaulKCrossSection.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PaulKCrossSection.cc @@ -24,52 +24,103 @@ // ******************************************************************** // // +// History: +// ----------- +// 21 Apr 2008 H. Abdelohauwed - 1st implementation +// 29 Apr 2009 ALF Major Design Revision +// +// ------------------------------------------------------------------- + +// Class description: +// Low Energy Electromagnetic Physics, Cross section, p ionisation, K shell +// Further documentation available from http://www.ge.infn.it/geant4/lowE + +// ------------------------------------------------------------------- #include "globals.hh" #include "G4ios.hh" #include #include -#include "G4CompositeEMDataSet.hh" -#include "G4ShellEMDataSet.hh" +//#include "G4CompositeEMDataSet.hh" +//#include "G4ShellEMDataSet.hh" #include "G4EMDataSet.hh" -#include "G4VEMDataSet.hh" -#include "G4VDataSetAlgorithm.hh" +//#include "G4VEMDataSet.hh" +//#include "G4VDataSetAlgorithm.hh" #include "G4LogLogInterpolation.hh" #include "G4PaulKCrossSection.hh" +#include "G4Proton.hh" +#include "G4Alpha.hh" + G4PaulKCrossSection::G4PaulKCrossSection() -{ } +{ -G4PaulKCrossSection::~G4PaulKCrossSection() -{ } - -G4double G4PaulKCrossSection::CalculateKCrossSection(G4int zTarget,G4int zIncident, G4double energyIncident) -{ - G4String fileName; + interpolation = new G4LogLogInterpolation(); - if (zIncident == 1) - { fileName = "kcsPaul/kcs-";} - else - { - if (zIncident == 2) - { fileName = "kacsPaul/kacs-";} - + /* + G4String path = getenv("G4LEDATA"); + + if (!path) + G4Exception("G4paulKCrossSection::G4paulKCrossSection: G4LEDATA environment variable not set"); + G4cout << path + "/kcsPaul/kcs-" << G4endl; + */ + + + for (G4int i=4; i<93; i++) { + protonDataSetMap[i] = new G4EMDataSet(i,interpolation); + protonDataSetMap[i]->LoadData("pixe/kpcsPaul/kcs-"); + } + for (G4int i=6; i<93; i++) { + alphaDataSetMap[i] = new G4EMDataSet(i,interpolation); + alphaDataSetMap[i]->LoadData("pixe/kacsPaul/kacs-"); } + + + +} + +G4PaulKCrossSection::~G4PaulKCrossSection() +{ + + protonDataSetMap.clear(); + alphaDataSetMap.clear(); + +} + +G4double G4PaulKCrossSection::CalculateKCrossSection(G4int zTarget,G4double massIncident, G4double energyIncident) +{ - G4VDataSetAlgorithm* interpolation = new G4LogLogInterpolation(); - - G4VEMDataSet* dataSet; - - dataSet = new G4EMDataSet(zTarget,interpolation); + G4Proton* aProtone = G4Proton::Proton(); + G4Alpha* aAlpha = G4Alpha::Alpha(); - dataSet->LoadData(fileName); - + G4double sigma = 0; - G4double sigma = dataSet->FindValue(energyIncident/MeV) / barn; - - return sigma; + if (massIncident == aProtone->GetPDGMass() ) + { + + sigma = protonDataSetMap[zTarget]->FindValue(energyIncident/MeV); + + } + else + { + if (massIncident == aAlpha->GetPDGMass()) + { + + sigma = alphaDataSetMap[zTarget]->FindValue(energyIncident/MeV); + + } + else + { + G4cout << "we can treat only Proton or Alpha incident particles " << G4endl; + sigma = 0.; + } + } + + + // sigma is in internal units (mm^2) + return sigma; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4Penelope08ComptonModel.cc b/source/processes/electromagnetic/lowenergy/src/G4Penelope08ComptonModel.cc new file mode 100644 index 0000000000..1d82e17cad --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4Penelope08ComptonModel.cc @@ -0,0 +1,838 @@ +// +// ******************************************************************** +// * 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: G4Penelope08ComptonModel.cc,v 1.7 2010/07/28 07:09:16 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Luciano Pandola +// +// History: +// -------- +// 15 Feb 2010 L Pandola Implementation +// 18 Mar 2010 L. Pandola Removed GetAtomsPerMolecule(), now demanded +// to G4PenelopeOscillatorManager +// +#include "G4Penelope08ComptonModel.hh" +#include "G4ParticleDefinition.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4ProductionCutsTable.hh" +#include "G4DynamicParticle.hh" +#include "G4VEMDataSet.hh" +#include "G4PhysicsTable.hh" +#include "G4PhysicsLogVector.hh" +#include "G4AtomicTransitionManager.hh" +#include "G4AtomicShell.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4PenelopeOscillatorManager.hh" +#include "G4PenelopeOscillator.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +G4Penelope08ComptonModel::G4Penelope08ComptonModel(const G4ParticleDefinition*, + const G4String& nam) + :G4VEmModel(nam),isInitialised(false),oscManager(0) +{ + fIntrinsicLowEnergyLimit = 100.0*eV; + fIntrinsicHighEnergyLimit = 100.0*GeV; + // SetLowEnergyLimit(fIntrinsicLowEnergyLimit); + SetHighEnergyLimit(fIntrinsicHighEnergyLimit); + // + oscManager = G4PenelopeOscillatorManager::GetOscillatorManager(); + + verboseLevel= 0; + // Verbosity scale: + // 0 = nothing + // 1 = warning for energy non-conservation + // 2 = details of energy budget + // 3 = calculation of cross sections, file openings, sampling of atoms + // 4 = entering in methods + + //by default, the model will use atomic deexcitation + SetDeexcitationFlag(true); + ActivateAuger(false); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4Penelope08ComptonModel::~G4Penelope08ComptonModel() +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08ComptonModel::Initialise(const G4ParticleDefinition*, + const G4DataVector&) +{ + if (verboseLevel > 3) + G4cout << "Calling G4Penelope08ComptonModel::Initialise()" << G4endl; + + if (verboseLevel > 0) { + G4cout << "Penelope Compton model is initialized " << G4endl + << "Energy range: " + << LowEnergyLimit() / keV << " keV - " + << HighEnergyLimit() / GeV << " GeV" + << G4endl; + } + + if(isInitialised) return; + fParticleChange = GetParticleChangeForGamma(); + isInitialised = true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08ComptonModel::CrossSectionPerVolume(const G4Material* material, + const G4ParticleDefinition* p, + G4double energy, + G4double, + G4double) +{ + // Penelope model to calculate the Compton scattering cross section: + // D. Brusa et al., Nucl. Instrum. Meth. A 379 (1996) 167 + // + // The cross section for Compton scattering is calculated according to the Klein-Nishina + // formula for energy > 5 MeV. + // For E < 5 MeV it is used a parametrization for the differential cross-section dSigma/dOmega, + // which is integrated numerically in cos(theta), G4Penelope08ComptonModel::DifferentialCrossSection(). + // The parametrization includes the J(p) + // distribution profiles for the atomic shells, that are tabulated from Hartree-Fock calculations + // from F. Biggs et al., At. Data Nucl. Data Tables 16 (1975) 201 + // + if (verboseLevel > 3) + G4cout << "Calling CrossSectionPerVolume() of G4Penelope08ComptonModel" << G4endl; + SetupForMaterial(p, material, energy); + + //Retrieve the oscillator table for this material + G4PenelopeOscillatorTable* theTable = oscManager->GetOscillatorTableCompton(material); + + G4double cs = 0; + + if (energy < 5*MeV) //explicit calculation for E < 5 MeV + { + size_t numberOfOscillators = theTable->size(); + for (size_t i=0;i5 MeV + cs = KleinNishinaCrossSection(energy,material); + + //cross sections are in units of pi*classic_electr_radius^2 + cs *= pi*classic_electr_radius*classic_electr_radius; + + //Now, cs is the cross section *per molecule*, let's calculate the + //cross section per volume + + G4double atomDensity = material->GetTotNbOfAtomsPerVolume(); + G4double atPerMol = oscManager->GetAtomsPerMolecule(material); + + if (verboseLevel > 3) + G4cout << "Material " << material->GetName() << " has " << atPerMol << + "atoms per molecule" << G4endl; + + G4double moleculeDensity = 0.; + + if (atPerMol) + moleculeDensity = atomDensity/atPerMol; + + G4double csvolume = cs*moleculeDensity; + + if (verboseLevel > 2) + G4cout << "Compton mean free path at " << energy/keV << " keV for material " << + material->GetName() << " = " << (1./csvolume)/mm << " mm" << G4endl; + return csvolume; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +//This is a dummy method. Never inkoved by the tracking, it just issues +//a warning if one tries to get Cross Sections per Atom via the +//G4EmCalculator. +G4double G4Penelope08ComptonModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double, + G4double, + G4double, + G4double, + G4double) +{ + G4cout << "*** G4Penelope08ComptonModel -- WARNING ***" << G4endl; + G4cout << "Penelope Compton model does not calculate cross section _per atom_ " << G4endl; + G4cout << "so the result is always zero. For physics values, please invoke " << G4endl; + G4cout << "GetCrossSectionPerVolume() or GetMeanFreePath() via the G4EmCalculator" << G4endl; + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08ComptonModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicGamma, + G4double, + G4double) +{ + + // Penelope model to sample the Compton scattering final state. + // D. Brusa et al., Nucl. Instrum. Meth. A 379 (1996) 167 + // The model determines also the original shell from which the electron is expelled, + // in order to produce fluorescence de-excitation (from G4DeexcitationManager) + // + // The final state for Compton scattering is calculated according to the Klein-Nishina + // formula for energy > 5 MeV. In this case, the Doppler broadening is negligible and + // one can assume that the target electron is at rest. + // For E < 5 MeV it is used the parametrization for the differential cross-section dSigma/dOmega, + // to sample the scattering angle and the energy of the emerging electron, which is + // G4Penelope08ComptonModel::DifferentialCrossSection(). The rejection method is + // used to sample cos(theta). The efficiency increases monotonically with photon energy and is + // nearly independent on the Z; typical values are 35%, 80% and 95% for 1 keV, 1 MeV and 10 MeV, + // respectively. + // The parametrization includes the J(p) distribution profiles for the atomic shells, that are + // tabulated + // from Hartree-Fock calculations from F. Biggs et al., At. Data Nucl. Data Tables 16 (1975) 201. + // Doppler broadening is included. + // + + if (verboseLevel > 3) + G4cout << "Calling SampleSecondaries() of G4Penelope08ComptonModel" << G4endl; + + G4double photonEnergy0 = aDynamicGamma->GetKineticEnergy(); + + if (photonEnergy0 <= fIntrinsicLowEnergyLimit) + { + fParticleChange->ProposeTrackStatus(fStopAndKill); + fParticleChange->SetProposedKineticEnergy(0.); + fParticleChange->ProposeLocalEnergyDeposit(photonEnergy0); + return ; + } + + G4ParticleMomentum photonDirection0 = aDynamicGamma->GetMomentumDirection(); + const G4Material* material = couple->GetMaterial(); + + G4PenelopeOscillatorTable* theTable = oscManager->GetOscillatorTableCompton(material); + + const G4int nmax = 64; + G4double rn[nmax],pac[nmax]; + + G4double S=0.0; + G4double epsilon = 0.0; + G4double cosTheta = 1.0; + G4double hartreeFunc = 0.0; + G4double oscStren = 0.0; + size_t numberOfOscillators = theTable->size(); + size_t targetOscillator = 0; + G4double ionEnergy = 0.0*eV; + + G4double ek = photonEnergy0/electron_mass_c2; + G4double ek2 = 2.*ek+1.0; + G4double eks = ek*ek; + G4double ek1 = eks-ek2-1.0; + + G4double taumin = 1.0/ek2; + G4double a1 = std::log(ek2); + G4double a2 = a1+2.0*ek*(1.0+ek)/(ek2*ek2); + + G4double TST = 0; + G4double tau = 0.; + + //If the incoming photon is above 5 MeV, the quicker approach based on the + //pure Klein-Nishina formula is used + if (photonEnergy0 > 5*MeV) + { + do{ + do{ + if ((a2*G4UniformRand()) < a1) + tau = std::pow(taumin,G4UniformRand()); + else + tau = std::sqrt(1.0+G4UniformRand()*(taumin*taumin-1.0)); + //rejection function + TST = (1.0+tau*(ek1+tau*(ek2+tau*eks)))/(eks*tau*(1.0+tau*tau)); + }while (G4UniformRand()> TST); + epsilon=tau; + cosTheta = 1.0 - (1.0-tau)/(ek*tau); + + //Target shell electrons + TST = oscManager->GetTotalZ(material)*G4UniformRand(); + targetOscillator = numberOfOscillators-1; //last level + S=0.0; + G4bool levelFound = false; + for (size_t j=0;jGetOscillatorStrength(); + if (S > TST) + { + targetOscillator = j; + levelFound = true; + } + } + //check whether the level is valid + ionEnergy = (*theTable)[targetOscillator]->GetIonisationEnergy(); + }while((epsilon*photonEnergy0-photonEnergy0+ionEnergy) >0); + } + else //photonEnergy0 < 5 MeV + { + //Incoherent scattering function for theta=PI + G4double s0=0.0; + G4double pzomc=0.0; + G4double rni=0.0; + G4double aux=0.0; + for (size_t i=0;iGetIonisationEnergy(); + if (photonEnergy0 > ionEnergy) + { + G4double aux = photonEnergy0*(photonEnergy0-ionEnergy)*2.0; + hartreeFunc = (*theTable)[i]->GetHartreeFactor(); + oscStren = (*theTable)[i]->GetOscillatorStrength(); + pzomc = hartreeFunc*(aux-electron_mass_c2*ionEnergy)/ + (electron_mass_c2*std::sqrt(2.0*aux+ionEnergy*ionEnergy)); + if (pzomc > 0) + rni = 1.0-0.5*std::exp(0.5-(std::sqrt(0.5)+std::sqrt(2.0)*pzomc)* + (std::sqrt(0.5)+std::sqrt(2.0)*pzomc)); + else + rni = 0.5*std::exp(0.5-(std::sqrt(0.5)-std::sqrt(2.0)*pzomc)* + (std::sqrt(0.5)-std::sqrt(2.0)*pzomc)); + s0 += oscStren*rni; + } + } + //Sampling tau + G4double cdt1 = 0.; + do + { + if ((G4UniformRand()*a2) < a1) + tau = std::pow(taumin,G4UniformRand()); + else + tau = std::sqrt(1.0+G4UniformRand()*(taumin*taumin-1.0)); + cdt1 = (1.0-tau)/(ek*tau); + //Incoherent scattering function + S = 0.; + for (size_t i=0;iGetIonisationEnergy(); + if (photonEnergy0 > ionEnergy) //sum only on excitable levels + { + aux = photonEnergy0*(photonEnergy0-ionEnergy)*cdt1; + hartreeFunc = (*theTable)[i]->GetHartreeFactor(); + oscStren = (*theTable)[i]->GetOscillatorStrength(); + pzomc = hartreeFunc*(aux-electron_mass_c2*ionEnergy)/ + (electron_mass_c2*std::sqrt(2.0*aux+ionEnergy*ionEnergy)); + if (pzomc > 0) + rn[i] = 1.0-0.5*std::exp(0.5-(std::sqrt(0.5)+std::sqrt(2.0)*pzomc)* + (std::sqrt(0.5)+std::sqrt(2.0)*pzomc)); + else + rn[i] = 0.5*std::exp(0.5-(std::sqrt(0.5)-std::sqrt(2.0)*pzomc)* + (std::sqrt(0.5)-std::sqrt(2.0)*pzomc)); + S += oscStren*rn[i]; + pac[i] = S; + } + else + pac[i] = S-1e-6; + } + //Rejection function + TST = S*(1.0+tau*(ek1+tau*(ek2+tau*eks)))/(eks*tau*(1.0+tau*tau)); + }while ((G4UniformRand()*s0) > TST); + + cosTheta = 1.0 - cdt1; + G4double fpzmax=0.0,fpz=0.0; + G4double A=0.0; + //Target electron shell + do + { + do + { + TST = S*G4UniformRand(); + targetOscillator = numberOfOscillators-1; //last level + G4bool levelFound = false; + for (size_t i=0;iTST) + { + targetOscillator = i; + levelFound = true; + } + } + A = G4UniformRand()*rn[targetOscillator]; + hartreeFunc = (*theTable)[targetOscillator]->GetHartreeFactor(); + oscStren = (*theTable)[targetOscillator]->GetOscillatorStrength(); + if (A < 0.5) + pzomc = (std::sqrt(0.5)-std::sqrt(0.5-std::log(2.0*A)))/ + (std::sqrt(2.0)*hartreeFunc); + else + pzomc = (std::sqrt(0.5-std::log(2.0-2.0*A))-std::sqrt(0.5))/ + (std::sqrt(2.0)*hartreeFunc); + } while (pzomc < -1); + + // F(EP) rejection + G4double XQC = 1.0+tau*(tau-2.0*cosTheta); + G4double AF = std::sqrt(XQC)*(1.0+tau*(tau-cosTheta)/XQC); + if (AF > 0) + fpzmax = 1.0+AF*0.2; + else + fpzmax = 1.0-AF*0.2; + fpz = 1.0+AF*std::max(std::min(pzomc,0.2),-0.2); + }while ((fpzmax*G4UniformRand())>fpz); + + //Energy of the scattered photon + G4double T = pzomc*pzomc; + G4double b1 = 1.0-T*tau*tau; + G4double b2 = 1.0-T*tau*cosTheta; + if (pzomc > 0.0) + epsilon = (tau/b1)*(b2+std::sqrt(std::abs(b2*b2-b1*(1.0-T)))); + else + epsilon = (tau/b1)*(b2-std::sqrt(std::abs(b2*b2-b1*(1.0-T)))); + } //energy < 5 MeV + + //Ok, the kinematics has been calculated. + G4double sinTheta = std::sqrt(1-cosTheta*cosTheta); + G4double phi = twopi * G4UniformRand() ; + G4double dirx = sinTheta * std::cos(phi); + G4double diry = sinTheta * std::sin(phi); + G4double dirz = cosTheta ; + + // Update G4VParticleChange for the scattered photon + G4ThreeVector photonDirection1(dirx,diry,dirz); + photonDirection1.rotateUz(photonDirection0); + fParticleChange->ProposeMomentumDirection(photonDirection1) ; + + G4double photonEnergy1 = epsilon * photonEnergy0; + + if (photonEnergy1 > 0.) + fParticleChange->SetProposedKineticEnergy(photonEnergy1) ; + else + { + fParticleChange->SetProposedKineticEnergy(0.) ; + fParticleChange->ProposeTrackStatus(fStopAndKill); + } + + //Create scattered electron + G4double diffEnergy = photonEnergy0*(1-epsilon); + ionEnergy = (*theTable)[targetOscillator]->GetIonisationEnergy(); + + G4double Q2 = + photonEnergy0*photonEnergy0+photonEnergy1*(photonEnergy1-2.0*photonEnergy0*cosTheta); + G4double cosThetaE = 0.; //scattering angle for the electron + + if (Q2 > 1.0e-12) + cosThetaE = (photonEnergy0-photonEnergy1*cosTheta)/std::sqrt(Q2); + else + cosThetaE = 1.0; + G4double sinThetaE = std::sqrt(1-cosThetaE*cosThetaE); + + //Now, try to handle fluorescence + //Notice: merged levels are indicated with Z=0 and flag=30 + G4int shFlag = (*theTable)[targetOscillator]->GetShellFlag(); + G4int Z = (G4int) (*theTable)[targetOscillator]->GetParentZ(); + + //initialize here, then check photons created by Atomic-Deexcitation, and the final state e- + std::vector* photonVector=0; + const G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + G4double bindingEnergy = 0.*eV; + G4int shellId = 0; + + //Real level + if (Z > 0 && shFlag<30) + { + const G4AtomicShell* shell = transitionManager->Shell(Z,shFlag-1); + bindingEnergy = shell->BindingEnergy(); + shellId = shell->ShellId(); + } + + G4double ionEnergyInPenelopeDatabase = ionEnergy; + //protection against energy non-conservation + ionEnergy = std::max(bindingEnergy,ionEnergyInPenelopeDatabase); + + //subtract the excitation energy. If not emitted by fluorescence + //the ionization energy is deposited as local energy deposition + G4double eKineticEnergy = diffEnergy - ionEnergy; + G4double localEnergyDeposit = ionEnergy; + G4double energyInFluorescence = 0.; //testing purposes only + + if (eKineticEnergy < 0) + { + //It means that there was some problem/mismatch between the two databases. + //Try to make it work + //In this case available Energy (diffEnergy) < ionEnergy + //Full residual energy is deposited locally + localEnergyDeposit = diffEnergy; + eKineticEnergy = 0.0; + } + + //the local energy deposit is what remains: part of this may be spent for fluorescence. + if(DeexcitationFlag() && Z > 5) { + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + + size_t index = couple->GetIndex(); + G4double cutg = (*(theCoupleTable->GetEnergyCutsVector(0)))[index]; + G4double cute = (*(theCoupleTable->GetEnergyCutsVector(1)))[index]; + + // Generation of fluorescence + // Data in EADL are available only for Z > 5 + // Protection to avoid generating photons in the unphysical case of + // shell binding energy > photon energy + if (localEnergyDeposit > cutg || localEnergyDeposit > cute) + { + G4DynamicParticle* aPhoton; + deexcitationManager.SetCutForSecondaryPhotons(cutg); + deexcitationManager.SetCutForAugerElectrons(cute); + + photonVector = deexcitationManager.GenerateParticles(Z,shellId); + if(photonVector) + { + size_t nPhotons = photonVector->size(); + for (size_t k=0; kGetKineticEnergy(); + if (itsEnergy <= localEnergyDeposit) + { + localEnergyDeposit -= itsEnergy; + if (aPhoton->GetDefinition() == G4Gamma::Gamma()) + energyInFluorescence += itsEnergy;; + fvect->push_back(aPhoton); + } + else + { + delete aPhoton; + (*photonVector)[k]=0; + } + } + } + delete photonVector; + } + } + } + + //Always produce explicitely the electron + G4DynamicParticle* electron = 0; + + G4double xEl = sinThetaE * std::cos(phi+pi); + G4double yEl = sinThetaE * std::sin(phi+pi); + G4double zEl = cosThetaE; + G4ThreeVector eDirection(xEl,yEl,zEl); //electron direction + eDirection.rotateUz(photonDirection0); + electron = new G4DynamicParticle (G4Electron::Electron(), + eDirection,eKineticEnergy) ; + fvect->push_back(electron); + + + if (localEnergyDeposit < 0) + { + G4cout << "WARNING-" + << "G4Penelope08ComptonModel::SampleSecondaries - Negative energy deposit" + << G4endl; + localEnergyDeposit=0.; + } + fParticleChange->ProposeLocalEnergyDeposit(localEnergyDeposit); + + G4double electronEnergy = 0.; + if (verboseLevel > 1) + { + G4cout << "-----------------------------------------------------------" << G4endl; + G4cout << "Energy balance from G4Penelope08Compton" << G4endl; + G4cout << "Incoming photon energy: " << photonEnergy0/keV << " keV" << G4endl; + G4cout << "-----------------------------------------------------------" << G4endl; + G4cout << "Scattered photon: " << photonEnergy1/keV << " keV" << G4endl; + if (electron) + electronEnergy = eKineticEnergy; + G4cout << "Scattered electron " << electronEnergy/keV << " keV" << G4endl; + G4cout << "Fluorescence: " << energyInFluorescence/keV << " keV" << G4endl; + G4cout << "Local energy deposit " << localEnergyDeposit/keV << " keV" << G4endl; + G4cout << "Total final state: " << (photonEnergy1+electronEnergy+energyInFluorescence+ + localEnergyDeposit)/keV << + " keV" << G4endl; + G4cout << "-----------------------------------------------------------" << G4endl; + } + if (verboseLevel > 0) + { + G4double energyDiff = std::fabs(photonEnergy1+ + electronEnergy+energyInFluorescence+ + localEnergyDeposit-photonEnergy0); + if (energyDiff > 0.05*keV) + G4cout << "Warning from G4Penelope08Compton: problem with energy conservation: " << + (photonEnergy1+electronEnergy+energyInFluorescence+localEnergyDeposit)/keV << + " keV (final) vs. " << + photonEnergy0/keV << " keV (initial)" << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08ComptonModel::DifferentialCrossSection(G4double cosTheta,G4double energy, + G4PenelopeOscillator* osc) +{ + // + // Penelope model. Single differential cross section *per electron* + // for photon Compton scattering by + // electrons in the given atomic oscillator, differential in the direction of the + // scattering photon. This is in units of pi*classic_electr_radius**2 + // + // D. Brusa et al., Nucl. Instrum. Meth. A 379 (1996) 167 + // The parametrization includes the J(p) distribution profiles for the atomic shells, + // that are tabulated from Hartree-Fock calculations + // from F. Biggs et al., At. Data Nucl. Data Tables 16 (1975) 201 + // + G4double ionEnergy = osc->GetIonisationEnergy(); + G4double harFunc = osc->GetHartreeFactor(); + + const G4double k2 = std::sqrt(2.); + const G4double k1 = 1./k2; + + if (energy < ionEnergy) + return 0; + + //energy of the Compton line + G4double cdt1 = 1.0-cosTheta; + G4double EOEC = 1.0+(energy/electron_mass_c2)*cdt1; + G4double ECOE = 1.0/EOEC; + + //Incoherent scattering function (analytical profile) + G4double aux = energy*(energy-ionEnergy)*cdt1; + G4double Pzimax = + (aux - electron_mass_c2*ionEnergy)/(electron_mass_c2*std::sqrt(2*aux+ionEnergy*ionEnergy)); + G4double sia = 0.0; + G4double x = harFunc*Pzimax; + if (x > 0) + sia = 1.0-0.5*std::exp(0.5-(k1+k2*x)*(k1+k2*x)); + else + sia = 0.5*std::exp(0.5-(k1-k2*x)*(k1-k2*x)); + + //1st order correction, integral of Pz times the Compton profile. + //Calculated approximately using a free-electron gas profile + G4double pf = 3.0/(4.0*harFunc); + if (std::fabs(Pzimax) < pf) + { + G4double QCOE2 = 1.0+ECOE*ECOE-2.0*ECOE*cosTheta; + G4double p2 = Pzimax*Pzimax; + G4double dspz = std::sqrt(QCOE2)* + (1.0+ECOE*(ECOE-cosTheta)/QCOE2)*harFunc + *0.25*(2*p2-(p2*p2)/(pf*pf)-(pf*pf)); + sia += std::max(dspz,-1.0*sia); + } + + G4double XKN = EOEC+ECOE-1.0+cosTheta*cosTheta; + + //Differential cross section (per electron, in units of pi*classic_electr_radius**2) + G4double diffCS = ECOE*ECOE*XKN*sia; + + return diffCS; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08ComptonModel::ActivateAuger(G4bool augerbool) +{ + if (!DeexcitationFlag() && augerbool) + { + G4cout << "WARNING - G4Penelope08ComptonModel" << G4endl; + G4cout << "The use of the Atomic Deexcitation Manager is set to false " << G4endl; + G4cout << "Therefore, Auger electrons will be not generated anyway" << G4endl; + } + deexcitationManager.ActivateAugerElectronProduction(augerbool); + if (verboseLevel > 1) + G4cout << "Auger production set to " << augerbool << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08ComptonModel::OscillatorTotalCrossSection(G4double energy,G4PenelopeOscillator* osc) +{ + //Total cross section (integrated) for the given oscillator in units of + //pi*classic_electr_radius^2 + + //Integrate differential cross section for each oscillator + G4double stre = osc->GetOscillatorStrength(); + + // here one uses the using the 20-point + // Gauss quadrature method with an adaptive bipartition scheme + const G4int npoints=10; + const G4int ncallsmax=20000; + const G4int nst=256; + static G4double Abscissas[10] = {7.652651133497334e-02,2.2778585114164508e-01,3.7370608871541956e-01, + 5.1086700195082710e-01,6.3605368072651503e-01,7.4633190646015079e-01, + 8.3911697182221882e-01,9.1223442825132591e-01,9.6397192727791379e-01, + 9.9312859918509492e-01}; + static G4double Weights[10] = {1.5275338713072585e-01,1.4917298647260375e-01,1.4209610931838205e-01, + 1.3168863844917663e-01,1.1819453196151842e-01,1.0193011981724044e-01, + 8.3276741576704749e-02,6.2672048334109064e-02,4.0601429800386941e-02, + 1.7614007139152118e-02}; + + G4double MaxError = 1e-5; + //Error control + G4double Ctol = std::min(std::max(MaxError,1e-13),1e-02); + G4double Ptol = 0.01*Ctol; + G4double Err=1e35; + + //Gauss integration from -1 to 1 + G4double LowPoint = -1.0; + G4double HighPoint = 1.0; + + G4double h=HighPoint-LowPoint; + G4double sumga=0.0; + G4double a=0.5*(HighPoint-LowPoint); + G4double b=0.5*(HighPoint+LowPoint); + G4double c=a*Abscissas[0]; + G4double d= Weights[0]* + (DifferentialCrossSection(b+c,energy,osc)+DifferentialCrossSection(b-c,energy,osc)); + for (G4int i=2;i<=npoints;i++) + { + c=a*Abscissas[i-1]; + d += Weights[i-1]* + (DifferentialCrossSection(b+c,energy,osc)+DifferentialCrossSection(b-c,energy,osc)); + } + G4int icall = 2*npoints; + G4int LH=1; + G4double S[nst],x[nst],sn[nst],xrn[nst]; + S[0]=d*a; + x[0]=LowPoint; + + G4bool loopAgain = true; + + //Adaptive bipartition scheme + do{ + G4double h0=h; + h=0.5*h; //bipartition + G4double sumr=0; + G4int LHN=0; + G4double si,xa,xb,xc; + for (G4int i=1;i<=LH;i++){ + si=S[i-1]; + xa=x[i-1]; + xb=xa+h; + xc=xa+h0; + a=0.5*(xb-xa); + b=0.5*(xb+xa); + c=a*Abscissas[0]; + G4double d = Weights[0]* + (DifferentialCrossSection(b+c,energy,osc)+DifferentialCrossSection(b-c,energy,osc)); + + for (G4int j=1;jncallsmax || LHN>nst) + { + G4cout << "G4Penelope08ComptonModel: " << G4endl; + G4cout << "LowPoint: " << LowPoint << ", High Point: " << HighPoint << G4endl; + G4cout << "Tolerance: " << MaxError << G4endl; + G4cout << "Calls: " << icall << ", Integral: " << sumga << ", Error: " << Err << G4endl; + G4cout << "Number of open subintervals: " << LHN << G4endl; + G4cout << "WARNING: the required accuracy has not been attained" << G4endl; + loopAgain = false; + } + } + Err=std::abs(sumr)/std::max(std::abs(sumr+sumga),1e-35); + if (Err < Ctol || LHN == 0) + loopAgain = false; //end of cycle + LH=LHN; + for (G4int i=0;iGetOscillatorTableCompton(material); + + for (size_t i=0;isize();i++) + { + G4PenelopeOscillator* theOsc = (*theTable)[i]; + G4double ionEnergy = theOsc->GetIonisationEnergy(); + G4double tau=(energy-ionEnergy)/energy; + if (tau > t0) + { + G4double csu = 0.5*eks*tau*tau+ek2*tau+ek1*std::log(tau)-(1.0/tau); + G4double stre = theOsc->GetOscillatorStrength(); + + cs += stre*(csu-csl); + } + } + + cs /= (ek*eks); + + return cs; + +} + diff --git a/source/processes/electromagnetic/lowenergy/src/G4Penelope08GammaConversionModel.cc b/source/processes/electromagnetic/lowenergy/src/G4Penelope08GammaConversionModel.cc new file mode 100644 index 0000000000..44dce9f83a --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4Penelope08GammaConversionModel.cc @@ -0,0 +1,614 @@ +// +// ******************************************************************** +// * 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: G4Penelope08GammaConversionModel.cc,v 1.4 2010/07/28 07:09:16 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Luciano Pandola +// +// History: +// -------- +// 13 Jan 2010 L Pandola First implementation (updated to Penelope08) +// + +#include "G4Penelope08GammaConversionModel.hh" +#include "G4ParticleDefinition.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4ProductionCutsTable.hh" +#include "G4DynamicParticle.hh" +#include "G4Element.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4PhysicsFreeVector.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +G4Penelope08GammaConversionModel::G4Penelope08GammaConversionModel(const G4ParticleDefinition*, + const G4String& nam) + :G4VEmModel(nam),logAtomicCrossSection(0),fEffectiveCharge(0),fMaterialInvScreeningRadius(0), + fScreeningFunction(0),isInitialised(false) +{ + fIntrinsicLowEnergyLimit = 2.0*electron_mass_c2; + fIntrinsicHighEnergyLimit = 100.0*GeV; + fSmallEnergy = 1.1*MeV; + InitializeScreeningRadii(); + + // SetLowEnergyLimit(fIntrinsicLowEnergyLimit); + SetHighEnergyLimit(fIntrinsicHighEnergyLimit); + // + verboseLevel= 0; + // Verbosity scale: + // 0 = nothing + // 1 = warning for energy non-conservation + // 2 = details of energy budget + // 3 = calculation of cross sections, file openings, sampling of atoms + // 4 = entering in methods +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4Penelope08GammaConversionModel::~G4Penelope08GammaConversionModel() +{ + std::map ::iterator i; + if (logAtomicCrossSection) + { + for (i=logAtomicCrossSection->begin();i != logAtomicCrossSection->end();i++) + if (i->second) delete i->second; + delete logAtomicCrossSection; + } + if (fEffectiveCharge) + delete fEffectiveCharge; + if (fMaterialInvScreeningRadius) + delete fMaterialInvScreeningRadius; + if (fScreeningFunction) + delete fScreeningFunction; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08GammaConversionModel::Initialise(const G4ParticleDefinition*, + const G4DataVector&) +{ + if (verboseLevel > 3) + G4cout << "Calling G4Penelope08GammaConversionModel::Initialise()" << G4endl; + + // logAtomicCrossSection is created only once, since it is never cleared + if (!logAtomicCrossSection) + logAtomicCrossSection = new std::map; + + //delete old material data... + if (fEffectiveCharge) + { + delete fEffectiveCharge; + fEffectiveCharge = 0; + } + if (fMaterialInvScreeningRadius) + { + delete fMaterialInvScreeningRadius; + fMaterialInvScreeningRadius = 0; + } + if (fScreeningFunction) + { + delete fScreeningFunction; + fScreeningFunction = 0; + } + //and create new ones + fEffectiveCharge = new std::map; + fMaterialInvScreeningRadius = new std::map; + fScreeningFunction = new std::map >; + + if (verboseLevel > 0) { + G4cout << "Penelope Gamma Conversion model is initialized " << G4endl + << "Energy range: " + << LowEnergyLimit() / MeV << " MeV - " + << HighEnergyLimit() / GeV << " GeV" + << G4endl; + } + + if(isInitialised) return; + fParticleChange = GetParticleChangeForGamma(); + isInitialised = true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08GammaConversionModel::ComputeCrossSectionPerAtom( + const G4ParticleDefinition*, + G4double energy, + G4double Z, G4double, + G4double, G4double) +{ + // + // Penelope model. + // Cross section (including triplet production) read from database and managed + // through the G4CrossSectionHandler utility. Cross section data are from + // M.J. Berger and J.H. Hubbel (XCOM), Report NBSIR 887-3598 + // + + if (energy < fIntrinsicLowEnergyLimit) + return 0; + + G4int iZ = (G4int) Z; + + //read data files + if (!logAtomicCrossSection->count(iZ)) + ReadDataFile(iZ); + //now it should be ok + if (!logAtomicCrossSection->count(iZ)) + { + G4cout << "Problem in G4Penelope08GammaConversion::ComputeCrossSectionPerAtom" + << G4endl; + G4Exception(); + } + + G4double cs = 0; + G4double logene = std::log(energy); + G4PhysicsFreeVector* theVec = logAtomicCrossSection->find(iZ)->second; + + G4double logXS = theVec->Value(logene); + cs = std::exp(logXS); + + if (verboseLevel > 2) + G4cout << "Gamma conversion cross section at " << energy/MeV << " MeV for Z=" << Z << + " = " << cs/barn << " barn" << G4endl; + return cs; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void +G4Penelope08GammaConversionModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicGamma, + G4double, + G4double) +{ + // + // Penelope model. + // Final state is sampled according to the Bethe-Heitler model with Coulomb + // corrections, according to the semi-empirical model of + // J. Baro' et al., Radiat. Phys. Chem. 44 (1994) 531. + // + // The model uses the high energy Coulomb correction from + // H. Davies et al., Phys. Rev. 93 (1954) 788 + // and atomic screening radii tabulated from + // J.H. Hubbel et al., J. Phys. Chem. Ref. Data 9 (1980) 1023 + // for Z= 1 to 92. + // + if (verboseLevel > 3) + G4cout << "Calling SamplingSecondaries() of G4Penelope08GammaConversionModel" << G4endl; + + G4double photonEnergy = aDynamicGamma->GetKineticEnergy(); + + // Always kill primary + fParticleChange->ProposeTrackStatus(fStopAndKill); + fParticleChange->SetProposedKineticEnergy(0.); + + if (photonEnergy <= fIntrinsicLowEnergyLimit) + { + fParticleChange->ProposeLocalEnergyDeposit(photonEnergy); + return ; + } + + G4ParticleMomentum photonDirection = aDynamicGamma->GetMomentumDirection(); + const G4Material* mat = couple->GetMaterial(); + + //check if material data are available + if (!fEffectiveCharge->count(mat)) + InitializeScreeningFunctions(mat); + if (!fEffectiveCharge->count(mat)) + { + G4cout << "Problem in G4Penelope08GammaConversion::SampleSecondaries()" << G4endl; + G4cout << "Unable to allocate the EffectiveCharge data" << G4endl; + G4Exception(); + } + + // eps is the fraction of the photon energy assigned to e- (including rest mass) + G4double eps = 0; + G4double eki = electron_mass_c2/photonEnergy; + + //Do it fast for photon energy < 1.1 MeV (close to threshold) + if (photonEnergy < fSmallEnergy) + eps = eki + (1.0-2.0*eki)*G4UniformRand(); + else + { + //Complete calculation + G4double effC = fEffectiveCharge->find(mat)->second; + G4double alz = effC*fine_structure_const; + G4double T = std::sqrt(2.0*eki); + G4double F00=(-1.774-1.210e1*alz+1.118e1*alz*alz)*T + +(8.523+7.326e1*alz-4.441e1*alz*alz)*T*T + -(1.352e1+1.211e2*alz-9.641e1*alz*alz)*T*T*T + +(8.946+6.205e1*alz-6.341e1*alz*alz)*T*T*T*T; + + G4double F0b = fScreeningFunction->find(mat)->second.second; + G4double g0 = F0b + F00; + G4double invRad = fMaterialInvScreeningRadius->find(mat)->second; + G4double bmin = 4.0*eki/invRad; + std::pair scree = GetScreeningFunctions(bmin); + G4double g1 = scree.first; + G4double g2 = scree.second; + G4double g1min = g1+g0; + G4double g2min = g2+g0; + G4double xr = 0.5-eki; + G4double a1 = 2.*g1min*xr*xr/3.; + G4double p1 = a1/(a1+g2min); + + G4bool loopAgain = false; + //Random sampling of eps + do{ + loopAgain = false; + if (G4UniformRand() <= p1) + { + G4double ru2m1 = 2.0*G4UniformRand()-1.0; + if (ru2m1 < 0) + eps = 0.5-xr*std::pow(std::abs(ru2m1),1./3.); + else + eps = 0.5+xr*std::pow(ru2m1,1./3.); + G4double B = eki/(invRad*eps*(1.0-eps)); + scree = GetScreeningFunctions(B); + g1 = scree.first; + g1 = std::max(g1+g0,0.); + if (G4UniformRand()*g1min > g1) + loopAgain = true; + } + else + { + eps = eki+2.0*xr*G4UniformRand(); + G4double B = eki/(invRad*eps*(1.0-eps)); + scree = GetScreeningFunctions(B); + g2 = scree.second; + g2 = std::max(g2+g0,0.); + if (G4UniformRand()*g2min > g2) + loopAgain = true; + } + }while(loopAgain); + + } + if (verboseLevel > 4) + G4cout << "Sampled eps = " << eps << G4endl; + + G4double electronTotEnergy = eps*photonEnergy; + G4double positronTotEnergy = (1.0-eps)*photonEnergy; + + // Scattered electron (positron) angles. ( Z - axis along the parent photon) + + //electron kinematics + G4double electronKineEnergy = std::max(0.,electronTotEnergy - electron_mass_c2) ; + G4double costheta_el = G4UniformRand()*2.0-1.0; + G4double kk = std::sqrt(electronKineEnergy*(electronKineEnergy+2.*electron_mass_c2)); + costheta_el = (costheta_el*electronTotEnergy+kk)/(electronTotEnergy+costheta_el*kk); + G4double phi_el = twopi * G4UniformRand() ; + G4double dirX_el = std::sqrt(1.-costheta_el*costheta_el) * std::cos(phi_el); + G4double dirY_el = std::sqrt(1.-costheta_el*costheta_el) * std::sin(phi_el); + G4double dirZ_el = costheta_el; + + //positron kinematics + G4double positronKineEnergy = std::max(0.,positronTotEnergy - electron_mass_c2) ; + G4double costheta_po = G4UniformRand()*2.0-1.0; + kk = std::sqrt(positronKineEnergy*(positronKineEnergy+2.*electron_mass_c2)); + costheta_po = (costheta_po*positronTotEnergy+kk)/(positronTotEnergy+costheta_po*kk); + G4double phi_po = twopi * G4UniformRand() ; + G4double dirX_po = std::sqrt(1.-costheta_po*costheta_po) * std::cos(phi_po); + G4double dirY_po = std::sqrt(1.-costheta_po*costheta_po) * std::sin(phi_po); + G4double dirZ_po = costheta_po; + + // Kinematics of the created pair: + // the electron and positron are assumed to have a symetric angular + // distribution with respect to the Z axis along the parent photon + G4double localEnergyDeposit = 0. ; + + if (electronKineEnergy > 0.0) + { + G4ThreeVector electronDirection ( dirX_el, dirY_el, dirZ_el); + electronDirection.rotateUz(photonDirection); + G4DynamicParticle* electron = new G4DynamicParticle (G4Electron::Electron(), + electronDirection, + electronKineEnergy); + fvect->push_back(electron); + } + else + { + localEnergyDeposit += electronKineEnergy; + electronKineEnergy = 0; + } + + //Generate the positron. Real particle in any case, because it will annihilate. If below + //threshold, produce it at rest + if (positronKineEnergy < 0.0) + { + localEnergyDeposit += positronKineEnergy; + positronKineEnergy = 0; //produce it at rest + } + G4ThreeVector positronDirection(dirX_po,dirY_po,dirZ_po); + positronDirection.rotateUz(photonDirection); + G4DynamicParticle* positron = new G4DynamicParticle(G4Positron::Positron(), + positronDirection, positronKineEnergy); + fvect->push_back(positron); + + //Add rest of energy to the local energy deposit + fParticleChange->ProposeLocalEnergyDeposit(localEnergyDeposit); + + if (verboseLevel > 1) + { + G4cout << "-----------------------------------------------------------" << G4endl; + G4cout << "Energy balance from G4Penelope08GammaConversion" << G4endl; + G4cout << "Incoming photon energy: " << photonEnergy/keV << " keV" << G4endl; + G4cout << "-----------------------------------------------------------" << G4endl; + if (electronKineEnergy) + G4cout << "Electron (explicitely produced) " << electronKineEnergy/keV << " keV" + << G4endl; + if (positronKineEnergy) + G4cout << "Positron (not at rest) " << positronKineEnergy/keV << " keV" << G4endl; + G4cout << "Rest masses of e+/- " << 2.0*electron_mass_c2/keV << " keV" << G4endl; + if (localEnergyDeposit) + G4cout << "Local energy deposit " << localEnergyDeposit/keV << " keV" << G4endl; + G4cout << "Total final state: " << (electronKineEnergy+positronKineEnergy+ + localEnergyDeposit+2.0*electron_mass_c2)/keV << + " keV" << G4endl; + G4cout << "-----------------------------------------------------------" << G4endl; + } + if (verboseLevel > 0) + { + G4double energyDiff = std::fabs(electronKineEnergy+positronKineEnergy+ + localEnergyDeposit+2.0*electron_mass_c2-photonEnergy); + if (energyDiff > 0.05*keV) + G4cout << "Warning from G4Penelope08GammaConversion: problem with energy conservation: " + << (electronKineEnergy+positronKineEnergy+ + localEnergyDeposit+2.0*electron_mass_c2)/keV + << " keV (final) vs. " << photonEnergy/keV << " keV (initial)" << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08GammaConversionModel::ReadDataFile(const G4int Z) +{ + if (verboseLevel > 2) + { + G4cout << "G4Penelope08GammaConversionModel::ReadDataFile()" << G4endl; + G4cout << "Going to read Gamma Conversion data files for Z=" << Z << G4endl; + } + + char* path = getenv("G4LEDATA"); + if (!path) + { + G4String excep = + "G4Penelope08GammaConversionModel - G4LEDATA environment variable not set!"; + G4Exception(excep); + } + + /* + Read the cross section file + */ + std::ostringstream ost; + if (Z>9) + ost << path << "/penelope/pairproduction/pdgpp" << Z << ".p08"; + else + ost << path << "/penelope/pairproduction/pdgpp0" << Z << ".p08"; + std::ifstream file(ost.str().c_str()); + if (!file.is_open()) + { + G4String excep = "G4Penelope08GammaConversionModel - data file " + + G4String(ost.str()) + " not found!"; + G4Exception(excep); + } + + //I have to know in advance how many points are in the data list + //to initialize the G4PhysicsFreeVector() + size_t ndata=0; + G4String line; + while( getline(file, line) ) + ndata++; + ndata -= 1; //remove one header line + //G4cout << "Found: " << ndata << " lines" << G4endl; + + file.clear(); + file.close(); + file.open(ost.str().c_str()); + G4int readZ =0; + file >> readZ; + + if (verboseLevel > 3) + G4cout << "Element Z=" << Z << G4endl; + + //check the right file is opened. + if (readZ != Z) + { + G4cout << "G4Penelope08GammaConversionModel::ReadDataFile()" << G4endl; + G4cout << "Corrupted data file for Z=" << Z << G4endl; + G4Exception(); + } + + G4PhysicsFreeVector* theVec = new G4PhysicsFreeVector(ndata); + G4double ene=0,xs=0; + for (size_t i=0;i> ene >> xs; + //dimensional quantities + ene *= eV; + xs *= barn; + if (xs < 1e-40*cm2) //protection against log(0) + xs = 1e-40*cm2; + theVec->PutValue(i,std::log(ene),std::log(xs)); + } + file.close(); + + if (!logAtomicCrossSection) + { + G4cout << "G4Penelope08RayleighModel::ReadDataFile()" << G4endl; + G4cout << "Problem with allocation of logAtomicCrossSection data table " << G4endl; + G4Exception(); + } + logAtomicCrossSection->insert(std::make_pair(Z,theVec)); + + return; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08GammaConversionModel::InitializeScreeningRadii() +{ + G4double temp[99] = {1.2281e+02,7.3167e+01,6.9228e+01,6.7301e+01,6.4696e+01, + 6.1228e+01,5.7524e+01,5.4033e+01,5.0787e+01,4.7851e+01,4.6373e+01, + 4.5401e+01,4.4503e+01,4.3815e+01,4.3074e+01,4.2321e+01,4.1586e+01, + 4.0953e+01,4.0524e+01,4.0256e+01,3.9756e+01,3.9144e+01,3.8462e+01, + 3.7778e+01,3.7174e+01,3.6663e+01,3.5986e+01,3.5317e+01,3.4688e+01, + 3.4197e+01,3.3786e+01,3.3422e+01,3.3068e+01,3.2740e+01,3.2438e+01, + 3.2143e+01,3.1884e+01,3.1622e+01,3.1438e+01,3.1142e+01,3.0950e+01, + 3.0758e+01,3.0561e+01,3.0285e+01,3.0097e+01,2.9832e+01,2.9581e+01, + 2.9411e+01,2.9247e+01,2.9085e+01,2.8930e+01,2.8721e+01,2.8580e+01, + 2.8442e+01,2.8312e+01,2.8139e+01,2.7973e+01,2.7819e+01,2.7675e+01, + 2.7496e+01,2.7285e+01,2.7093e+01,2.6911e+01,2.6705e+01,2.6516e+01, + 2.6304e+01,2.6108e+01,2.5929e+01,2.5730e+01,2.5577e+01,2.5403e+01, + 2.5245e+01,2.5100e+01,2.4941e+01,2.4790e+01,2.4655e+01,2.4506e+01, + 2.4391e+01,2.4262e+01,2.4145e+01,2.4039e+01,2.3922e+01,2.3813e+01, + 2.3712e+01,2.3621e+01,2.3523e+01,2.3430e+01,2.3331e+01,2.3238e+01, + 2.3139e+01,2.3048e+01,2.2967e+01,2.2833e+01,2.2694e+01,2.2624e+01, + 2.2545e+01,2.2446e+01,2.2358e+01,2.2264e+01}; + + //copy temporary vector in class data member + for (G4int i=0;i<99;i++) + fAtomicScreeningRadius[i] = temp[i]; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08GammaConversionModel::InitializeScreeningFunctions(const G4Material* material) +{ + // This is subroutine GPPa0 of Penelope + // + // 1) calculate the effective Z for the purpose + // + G4double zeff = 0; + G4int intZ = 0; + G4int nElements = material->GetNumberOfElements(); + const G4ElementVector* elementVector = material->GetElementVector(); + + //avoid calculations if only one building element! + if (nElements == 1) + { + zeff = (*elementVector)[0]->GetZ(); + intZ = (G4int) zeff; + } + else // many elements...let's do the calculation + { + const G4double* fractionVector = material->GetVecNbOfAtomsPerVolume(); + + G4double atot = 0; + for (G4int i=0;iGetZ(); + G4double Aelement = (*elementVector)[i]->GetA(); + atot += Aelement*fractionVector[i]; + zeff += Zelement*Aelement*fractionVector[i]; //average with the number of nuclei + } + atot /= material->GetTotNbOfAtomsPerVolume(); + zeff /= (material->GetTotNbOfAtomsPerVolume()*atot); + + intZ = (G4int) (zeff+0.25); + if (intZ <= 0) + intZ = 1; + if (intZ > 99) + intZ = 99; + } + + if (fEffectiveCharge) + fEffectiveCharge->insert(std::make_pair(material,zeff)); + + // + // 2) Calculate Coulomb Correction + // + G4double alz = fine_structure_const*zeff; + G4double alzSquared = alz*alz; + G4double fc = alzSquared*(0.202059-alzSquared* + (0.03693-alzSquared* + (0.00835-alzSquared*(0.00201-alzSquared* + (0.00049-alzSquared* + (0.00012-alzSquared*0.00003))))) + +1.0/(alzSquared+1.0)); + // + // 3) Screening functions and low-energy corrections + // + G4double matRadius = 2.0/ fAtomicScreeningRadius[intZ-1]; + if (fMaterialInvScreeningRadius) + fMaterialInvScreeningRadius->insert(std::make_pair(material,matRadius)); + + std::pair myPair(0,0); + G4double f0a = 4.0*std::log(fAtomicScreeningRadius[intZ-1]); + G4double f0b = f0a - 4.0*fc; + myPair.first = f0a; + myPair.second = f0b; + + if (fScreeningFunction) + fScreeningFunction->insert(std::make_pair(material,myPair)); + + if (verboseLevel > 2) + { + G4cout << "Average Z for material " << material->GetName() << " = " << + zeff << G4endl; + G4cout << "Effective radius for material " << material->GetName() << " = " << + fAtomicScreeningRadius[intZ-1] << " m_e*c/hbar --> BCB = " << + matRadius << G4endl; + G4cout << "Screening parameters F0 for material " << material->GetName() << " = " << + f0a << "," << f0b << G4endl; + } + return; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +std::pair +G4Penelope08GammaConversionModel::GetScreeningFunctions(G4double B) +{ + // This is subroutine SCHIFF of Penelope + // + // Screening Functions F1(B) and F2(B) in the Bethe-Heitler differential cross + // section for pair production + // + std::pair result(0.,0.); + G4double BSquared = B*B; + G4double f1 = 2.0-2.0*std::log(1.0+BSquared); + G4double f2 = f1 - 6.66666666e-1; // (-2/3) + if (B < 1.0e-10) + f1 = f1-twopi*B; + else + { + G4double a0 = 4.0*B*std::atan(1./B); + f1 = f1 - a0; + f2 += 2.0*BSquared*(4.0-a0-3.0*std::log((1.0+BSquared)/BSquared)); + } + G4double g1 = 0.5*(3.0*f1-f2); + G4double g2 = 0.25*(3.0*f1+f2); + + result.first = g1; + result.second = g2; + + return result; +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4Penelope08IonisationModel.cc b/source/processes/electromagnetic/lowenergy/src/G4Penelope08IonisationModel.cc new file mode 100644 index 0000000000..6c52db3184 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4Penelope08IonisationModel.cc @@ -0,0 +1,1581 @@ +// +// ******************************************************************** +// * 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: G4Penelope08IonisationModel.cc,v 1.2 2010/12/15 07:39:12 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Luciano Pandola +// +// History: +// -------- +// 27 Jul 2010 L Pandola First complete implementation +// + +#include "G4Penelope08IonisationModel.hh" +#include "G4ParticleDefinition.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4ProductionCutsTable.hh" +#include "G4DynamicParticle.hh" +#include "G4AtomicTransitionManager.hh" +#include "G4AtomicDeexcitation.hh" +#include "G4AtomicShell.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4AtomicDeexcitation.hh" +#include "G4PenelopeOscillatorManager.hh" +#include "G4PenelopeOscillator.hh" +#include "G4PenelopeCrossSection.hh" +#include "G4PhysicsFreeVector.hh" +#include "G4PhysicsLogVector.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +G4Penelope08IonisationModel::G4Penelope08IonisationModel(const G4ParticleDefinition*, + const G4String& nam) + :G4VEmModel(nam),isInitialised(false), + kineticEnergy1(0.*eV), + cosThetaPrimary(1.0), + energySecondary(0.*eV), + cosThetaSecondary(0.0), + targetOscillator(-1),XSTableElectron(0),XSTablePositron(0), + theDeltaTable(0),energyGrid(0) +{ + fIntrinsicLowEnergyLimit = 100.0*eV; + fIntrinsicHighEnergyLimit = 100.0*GeV; + // SetLowEnergyLimit(fIntrinsicLowEnergyLimit); + SetHighEnergyLimit(fIntrinsicHighEnergyLimit); + nBins = 200; + // + oscManager = G4PenelopeOscillatorManager::GetOscillatorManager(); + // + verboseLevel= 0; + + // Verbosity scale: + // 0 = nothing + // 1 = warning for energy non-conservation + // 2 = details of energy budget + // 3 = calculation of cross sections, file openings, sampling of atoms + // 4 = entering in methods + + // Atomic deexcitation model activated by default + SetDeexcitationFlag(true); + ActivateAuger(false); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4Penelope08IonisationModel::~G4Penelope08IonisationModel() +{ + ClearTables(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4Penelope08IonisationModel::Initialise(const G4ParticleDefinition*, + const G4DataVector&) +{ + if (verboseLevel > 3) + G4cout << "Calling G4Penelope08IonisationModel::Initialise()" << G4endl; + + //Clear and re-build the tables + ClearTables(); + XSTableElectron = new + std::map< std::pair, G4PenelopeCrossSection*>; + XSTablePositron = new + std::map< std::pair, G4PenelopeCrossSection*>; + + theDeltaTable = new std::map; + + //Set the number of bins for the tables. 20 points per decade + nBins = (size_t) (20*std::log10(HighEnergyLimit()/LowEnergyLimit())); + nBins = std::max(nBins,(size_t)100); + + energyGrid = new G4PhysicsLogVector(LowEnergyLimit(), + HighEnergyLimit(), + nBins-1); //one hidden bin is added + + if (verboseLevel > 2) { + G4cout << "Penelope Ionisation model is initialized " << G4endl + << "Energy range: " + << LowEnergyLimit() / keV << " keV - " + << HighEnergyLimit() / GeV << " GeV. Using " + << nBins << " bins." + << G4endl; + } + + if(isInitialised) return; + fParticleChange = GetParticleChangeForLoss(); + isInitialised = true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08IonisationModel::CrossSectionPerVolume(const G4Material* material, + const G4ParticleDefinition* theParticle, + G4double energy, + G4double cutEnergy, + G4double) +{ + // Penelope model to calculate the cross section for inelastic collisions above the + // threshold. It makes use of the Generalised Oscillator Strength (GOS) model from + // D. Liljequist, J. Phys. D: Appl. Phys. 16 (1983) 1567 + // + // The total cross section is calculated analytically by taking + // into account the atomic oscillators coming into the play for a given threshold. + // + // For incident e- the maximum energy allowed for the delta-rays is energy/2. + // because particles are undistinghishable. + // + // The contribution is splitted in three parts: distant longitudinal collisions, + // distant transverse collisions and close collisions. Each term is described by + // its own analytical function. + // Fermi density correction is calculated analytically according to + // U. Fano, Ann. Rev. Nucl. Sci. 13 (1963),1 + // + if (verboseLevel > 3) + G4cout << "Calling CrossSectionPerVolume() of G4Penelope08IonisationModel" << G4endl; + + SetupForMaterial(theParticle, material, energy); + + G4double totalCross = 0.0; + G4double crossPerMolecule = 0.; + + G4PenelopeCrossSection* theXS = GetCrossSectionTableForCouple(theParticle,material, + cutEnergy); + + if (theXS) + crossPerMolecule = theXS->GetHardCrossSection(energy); + + G4double atomDensity = material->GetTotNbOfAtomsPerVolume(); + G4double atPerMol = oscManager->GetAtomsPerMolecule(material); + + if (verboseLevel > 3) + G4cout << "Material " << material->GetName() << " has " << atPerMol << + "atoms per molecule" << G4endl; + + G4double moleculeDensity = 0.; + if (atPerMol) + moleculeDensity = atomDensity/atPerMol; + + G4double crossPerVolume = crossPerMolecule*moleculeDensity; + + if (verboseLevel > 2) + { + G4cout << "G4Penelope08IonisationModel " << G4endl; + G4cout << "Mean free path for delta emission > " << cutEnergy/keV << " keV at " << + energy/keV << " keV = " << (1./crossPerVolume)/mm << " mm" << G4endl; + if (theXS) + totalCross = (theXS->GetTotalCrossSection(energy))*moleculeDensity; + G4cout << "Total free path for ionisation (no threshold) at " << + energy/keV << " keV = " << (1./totalCross)/mm << " mm" << G4endl; + } + return crossPerVolume; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +//This is a dummy method. Never inkoved by the tracking, it just issues +//a warning if one tries to get Cross Sections per Atom via the +//G4EmCalculator. +G4double G4Penelope08IonisationModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double, + G4double, + G4double, + G4double, + G4double) +{ + G4cout << "*** G4Penelope08IonisationModel -- WARNING ***" << G4endl; + G4cout << "Penelope08 Ionisation model does not calculate cross section _per atom_ " << G4endl; + G4cout << "so the result is always zero. For physics values, please invoke " << G4endl; + G4cout << "GetCrossSectionPerVolume() or GetMeanFreePath() via the G4EmCalculator" << G4endl; + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08IonisationModel::ComputeDEDXPerVolume(const G4Material* material, + const G4ParticleDefinition* theParticle, + G4double kineticEnergy, + G4double cutEnergy) +{ + // Penelope model to calculate the stopping power for soft inelastic collisions + // below the threshold. It makes use of the Generalised Oscillator Strength (GOS) + // model from + // D. Liljequist, J. Phys. D: Appl. Phys. 16 (1983) 1567 + // + // The stopping power is calculated analytically using the dsigma/dW cross + // section from the GOS models, which includes separate contributions from + // distant longitudinal collisions, distant transverse collisions and + // close collisions. Only the atomic oscillators that come in the play + // (according to the threshold) are considered for the calculation. + // Differential cross sections have a different form for e+ and e-. + // + // Fermi density correction is calculated analytically according to + // U. Fano, Ann. Rev. Nucl. Sci. 13 (1963),1 + + if (verboseLevel > 3) + G4cout << "Calling ComputeDEDX() of G4Penelope08IonisationModel" << G4endl; + + + G4PenelopeCrossSection* theXS = GetCrossSectionTableForCouple(theParticle,material, + cutEnergy); + G4double sPowerPerMolecule = 0.0; + if (theXS) + sPowerPerMolecule = theXS->GetSoftStoppingPower(kineticEnergy); + + + G4double atomDensity = material->GetTotNbOfAtomsPerVolume(); + G4double atPerMol = oscManager->GetAtomsPerMolecule(material); + + G4double moleculeDensity = 0.; + if (atPerMol) + moleculeDensity = atomDensity/atPerMol; + + G4double sPowerPerVolume = sPowerPerMolecule*moleculeDensity; + + if (verboseLevel > 2) + { + G4cout << "G4Penelope08IonisationModel " << G4endl; + G4cout << "Stopping power < " << cutEnergy/keV << " keV at " << + kineticEnergy/keV << " keV = " << + sPowerPerVolume/(keV/mm) << " keV/mm" << G4endl; + } + return sPowerPerVolume; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08IonisationModel::MinEnergyCut(const G4ParticleDefinition*, + const G4MaterialCutsCouple*) +{ + return fIntrinsicLowEnergyLimit; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08IonisationModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicParticle, + G4double cutE, G4double) +{ + // Penelope model to sample the final state following an hard inelastic interaction. + // It makes use of the Generalised Oscillator Strength (GOS) model from + // D. Liljequist, J. Phys. D: Appl. Phys. 16 (1983) 1567 + // + // The GOS model is used to calculate the individual cross sections for all + // the atomic oscillators coming in the play, taking into account the three + // contributions (distant longitudinal collisions, distant transverse collisions and + // close collisions). Then the target shell and the interaction channel are + // sampled. Final state of the delta-ray (energy, angle) are generated according + // to the analytical distributions (dSigma/dW) for the selected interaction + // channels. + // For e-, the maximum energy for the delta-ray is initialEnergy/2. (because + // particles are indistinghusbable), while it is the full initialEnergy for + // e+. + // The efficiency of the random sampling algorithm (e.g. for close collisions) + // decreases when initial and cutoff energy increase (e.g. 87% for 10-keV primary + // and 1 keV threshold, 99% for 10-MeV primary and 10-keV threshold). + // Differential cross sections have a different form for e+ and e-. + // + // WARNING: The model provides an _average_ description of inelastic collisions. + // Anyway, the energy spectrum associated to distant excitations of a given + // atomic shell is approximated as a single resonance. The simulated energy spectra + // show _unphysical_ narrow peaks at energies that are multiple of the shell + // resonance energies. The spurious speaks are automatically smoothed out after + // multiple inelastic collisions. + // + // The model determines also the original shell from which the delta-ray is expelled, + // in order to produce fluorescence de-excitation (from G4DeexcitationManager) + // + // Fermi density correction is calculated analytically according to + // U. Fano, Ann. Rev. Nucl. Sci. 13 (1963),1 + + if (verboseLevel > 3) + G4cout << "Calling SamplingSecondaries() of G4Penelope08IonisationModel" << G4endl; + + G4double kineticEnergy0 = aDynamicParticle->GetKineticEnergy(); + const G4ParticleDefinition* theParticle = aDynamicParticle->GetDefinition(); + + if (kineticEnergy0 <= fIntrinsicLowEnergyLimit) + { + fParticleChange->SetProposedKineticEnergy(0.); + fParticleChange->ProposeLocalEnergyDeposit(kineticEnergy0); + return ; + } + const G4Material* material = couple->GetMaterial(); + G4PenelopeOscillatorTable* theTable = oscManager->GetOscillatorTableIonisation(material); + + G4ParticleMomentum particleDirection0 = aDynamicParticle->GetMomentumDirection(); + + //Initialise final-state variables. The proper values will be set by the methods + // SampleFinalStateElectron() and SampleFinalStatePositron() + kineticEnergy1=kineticEnergy0; + cosThetaPrimary=1.0; + energySecondary=0.0; + cosThetaSecondary=1.0; + targetOscillator = -1; + + if (theParticle == G4Electron::Electron()) + SampleFinalStateElectron(material,cutE,kineticEnergy0); + else if (theParticle == G4Positron::Positron()) + SampleFinalStatePositron(material,cutE,kineticEnergy0); + else + { + G4cout << "G4Penelope08IonisationModel::SamplingSecondaries() - " ; + G4cout << "Invalid particle " << theParticle->GetParticleName() << G4endl; + G4Exception(); + } + + if (verboseLevel > 3) + { + G4cout << "G4Penelope08IonisationModel::SamplingSecondaries() for " << + theParticle->GetParticleName() << G4endl; + G4cout << "Final eKin = " << kineticEnergy1 << " keV" << G4endl; + G4cout << "Final cosTheta = " << cosThetaPrimary << G4endl; + G4cout << "Delta-ray eKin = " << energySecondary << " keV" << G4endl; + G4cout << "Delta-ray cosTheta = " << cosThetaSecondary << G4endl; + G4cout << "Oscillator: " << targetOscillator << G4endl; + } + + //Update the primary particle + G4double sint = std::sqrt(1. - cosThetaPrimary*cosThetaPrimary); + G4double phiPrimary = twopi * G4UniformRand(); + G4double dirx = sint * std::cos(phiPrimary); + G4double diry = sint * std::sin(phiPrimary); + G4double dirz = cosThetaPrimary; + + G4ThreeVector electronDirection1(dirx,diry,dirz); + electronDirection1.rotateUz(particleDirection0); + + if (kineticEnergy1 > 0) + { + fParticleChange->ProposeMomentumDirection(electronDirection1); + fParticleChange->SetProposedKineticEnergy(kineticEnergy1); + } + else + { + fParticleChange->SetProposedKineticEnergy(0.); + } + + //Generate the delta ray + G4double ionEnergyInPenelopeDatabase = + (*theTable)[targetOscillator]->GetIonisationEnergy(); + + //Now, try to handle fluorescence + //Notice: merged levels are indicated with Z=0 and flag=30 + G4int shFlag = (*theTable)[targetOscillator]->GetShellFlag(); + G4int Z = (G4int) (*theTable)[targetOscillator]->GetParentZ(); + + //initialize here, then check photons created by Atomic-Deexcitation, and the final state e- + std::vector* photonVector=0; + const G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + G4double bindingEnergy = 0.*eV; + G4int shellId = 0; + + //Real level + if (Z > 0 && shFlag<30) + { + const G4AtomicShell* shell = transitionManager->Shell(Z,shFlag-1); + bindingEnergy = shell->BindingEnergy(); + shellId = shell->ShellId(); + } + + //correct the energySecondary to account for the fact that the Penelope + //database of ionisation energies is in general (slightly) different + //from the fluorescence database used in Geant4. + energySecondary += ionEnergyInPenelopeDatabase-bindingEnergy; + + G4double localEnergyDeposit = bindingEnergy; + //testing purposes only + G4double energyInFluorescence = 0; + + if (energySecondary < 0) + { + //It means that there was some problem/mismatch between the two databases. + //In this case, the available energy is ok to excite the level according + //to the Penelope database, but not according to the Geant4 database + //Full residual energy is deposited locally + localEnergyDeposit += energySecondary; + energySecondary = 0.0; + } + + //the local energy deposit is what remains: part of this may be spent for fluorescence. + if(DeexcitationFlag() && Z > 5) + { + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + + size_t index = couple->GetIndex(); + G4double cutg = (*(theCoupleTable->GetEnergyCutsVector(0)))[index]; + G4double cute = (*(theCoupleTable->GetEnergyCutsVector(1)))[index]; + + // Generation of fluorescence + // Data in EADL are available only for Z > 5 + // Protection to avoid generating photons in the unphysical case of + // shell binding energy > photon energy + if (localEnergyDeposit > cutg || localEnergyDeposit > cute) + { + G4DynamicParticle* aPhoton; + deexcitationManager.SetCutForSecondaryPhotons(cutg); + deexcitationManager.SetCutForAugerElectrons(cute); + + photonVector = deexcitationManager.GenerateParticles(Z,shellId); + if(photonVector) + { + size_t nPhotons = photonVector->size(); + for (size_t k=0; kGetKineticEnergy(); + if (itsEnergy <= localEnergyDeposit) + { + localEnergyDeposit -= itsEnergy; + if (aPhoton->GetDefinition() == G4Gamma::Gamma()) + energyInFluorescence += itsEnergy;; + fvect->push_back(aPhoton); + } + else + { + delete aPhoton; + (*photonVector)[k]=0; + } + } + } + delete photonVector; + } + } + } + + //Always produce explicitely the delta electron + G4DynamicParticle* electron = 0; + G4double sinThetaE = std::sqrt(1.-cosThetaSecondary*cosThetaSecondary); + G4double phiEl = phiPrimary+pi; //pi with respect to the primary electron/positron + G4double xEl = sinThetaE * std::cos(phiEl); + G4double yEl = sinThetaE * std::sin(phiEl); + G4double zEl = cosThetaSecondary; + G4ThreeVector eDirection(xEl,yEl,zEl); //electron direction + eDirection.rotateUz(particleDirection0); + electron = new G4DynamicParticle (G4Electron::Electron(), + eDirection,energySecondary) ; + fvect->push_back(electron); + + + if (localEnergyDeposit < 0) + { + G4cout << "WARNING-" + << "G4Penelope08IonisationModel::SampleSecondaries - Negative energy deposit" + << G4endl; + localEnergyDeposit=0.; + } + fParticleChange->ProposeLocalEnergyDeposit(localEnergyDeposit); + + if (verboseLevel > 1) + { + G4cout << "-----------------------------------------------------------" << G4endl; + G4cout << "Energy balance from G4Penelope08Ionisation" << G4endl; + G4cout << "Incoming primary energy: " << kineticEnergy0/keV << " keV" << G4endl; + G4cout << "-----------------------------------------------------------" << G4endl; + G4cout << "Outgoing primary energy: " << kineticEnergy1/keV << " keV" << G4endl; + G4cout << "Delta ray " << energySecondary/keV << " keV" << G4endl; + G4cout << "Fluorescence: " << energyInFluorescence/keV << " keV" << G4endl; + G4cout << "Local energy deposit " << localEnergyDeposit/keV << " keV" << G4endl; + G4cout << "Total final state: " << (energySecondary+energyInFluorescence+kineticEnergy1+ + localEnergyDeposit)/keV << + " keV" << G4endl; + G4cout << "-----------------------------------------------------------" << G4endl; + } + + if (verboseLevel > 0) + { + G4double energyDiff = std::fabs(energySecondary+energyInFluorescence+kineticEnergy1+ + localEnergyDeposit-kineticEnergy0); + if (energyDiff > 0.05*keV) + G4cout << "Warning from G4PenelopeIonisation: problem with energy conservation: " << + (energySecondary+energyInFluorescence+kineticEnergy1+localEnergyDeposit)/keV << + " keV (final) vs. " << + kineticEnergy0/keV << " keV (initial)" << G4endl; + } + +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08IonisationModel::ActivateAuger(G4bool augerbool) +{ + if (!DeexcitationFlag() && augerbool) + { + G4cout << "WARNING - G4Penelope08IonisationModel" << G4endl; + G4cout << "The use of the Atomic Deexcitation Manager is set to false " << G4endl; + G4cout << "Therefore, Auger electrons will be not generated anyway" << G4endl; + } + deexcitationManager.ActivateAugerElectronProduction(augerbool); + if (verboseLevel > 1) + G4cout << "Auger production set to " << augerbool << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08IonisationModel::ClearTables() +{ + std::map< std::pair, G4PenelopeCrossSection*>::iterator i; + if (XSTableElectron) + { + for (i=XSTableElectron->begin(); i != XSTableElectron->end(); i++) + { + G4PenelopeCrossSection* tab = i->second; + delete tab; + } + delete XSTableElectron; + XSTableElectron = 0; + } + + if (XSTablePositron) + { + for (i=XSTablePositron->begin(); i != XSTablePositron->end(); i++) + { + G4PenelopeCrossSection* tab = i->second; + delete tab; + } + delete XSTablePositron; + XSTablePositron = 0; + } + + std::map::iterator k; + if (theDeltaTable) + { + for (k=theDeltaTable->begin();k!=theDeltaTable->end();k++) + delete k->second; + delete theDeltaTable; + theDeltaTable = 0; + } + + if (energyGrid) + delete energyGrid; + + if (verboseLevel > 2) + G4cout << "G4Penelope08IonisationModel: cleared tables" << G4endl; + return; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PenelopeCrossSection* +G4Penelope08IonisationModel::GetCrossSectionTableForCouple(const G4ParticleDefinition* part, + const G4Material* mat, + G4double cut) +{ + if (part != G4Electron::Electron() && part != G4Positron::Positron()) + { + G4cout << "G4Penelope08IonisationModel::GetCrossSectionTableForCouple" << G4endl; + G4cout << "Invalid particle: " << part->GetParticleName() << G4endl; + G4Exception(); + return NULL; + } + + if (part == G4Electron::Electron()) + { + if (!XSTableElectron) + { + G4cout << "G4Penelope08IonisationModel::GetCrossSectionTableForCouple()" << G4endl; + G4cout << "The Cross Section Table for e- was not initialized correctly!" << G4endl; + G4Exception(); + } + std::pair theKey = std::make_pair(mat,cut); + if (XSTableElectron->count(theKey)) //table already built + return XSTableElectron->find(theKey)->second; + else + { + BuildXSTable(mat,cut,part); + if (XSTableElectron->count(theKey)) //now it should be ok! + return XSTableElectron->find(theKey)->second; + else + { + G4cout << "G4Penelope08IonisationModel::GetCrossSectionTableForCouple()" << G4endl; + G4cout << "Unable to build e- table for " << mat->GetName() << G4endl; + G4Exception(); + } + } + } + + if (part == G4Positron::Positron()) + { + if (!XSTablePositron) + { + G4cout << "G4Penelope08IonisationModel::GetCrossSectionTableForCouple()" << G4endl; + G4cout << "The Cross Section Table for e+ was not initialized correctly!" << G4endl; + G4Exception(); + } + std::pair theKey = std::make_pair(mat,cut); + if (XSTablePositron->count(theKey)) //table already built + return XSTablePositron->find(theKey)->second; + else + { + BuildXSTable(mat,cut,part); + if (XSTablePositron->count(theKey)) //now it should be ok! + return XSTablePositron->find(theKey)->second; + else + { + G4cout << "G4Penelope08IonisationModel::GetCrossSectionTableForCouple()" << G4endl; + G4cout << "Unable to build e+ table for " << mat->GetName() << G4endl; + G4Exception(); + } + } + } + return NULL; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08IonisationModel::BuildXSTable(const G4Material* mat,G4double cut, + const G4ParticleDefinition* part) +{ + // + //This method fills the G4PenelopeCrossSection containers for electrons or positrons + //and for the given material/cut couple. The calculation is done as sum over the + //individual shells. + //Equivalent of subroutines EINaT and PINaT of Penelope + // + if (verboseLevel > 2) + { + G4cout << "G4Penelope08IonisationModel: going to build cross section table " << G4endl; + G4cout << "for " << part->GetParticleName() << " in " << mat->GetName() << G4endl; + } + + //Tables have been already created (checked by GetCrossSectionTableForCouple) + G4PenelopeOscillatorTable* theTable = oscManager->GetOscillatorTableIonisation(mat); + size_t numberOfOscillators = theTable->size(); + + if (energyGrid->GetVectorLength() != nBins) + { + G4cout << "G4Penelope08IonisationModel::BuildXSTable" << G4endl; + G4cout << "Energy Grid looks not initialized" << G4endl; + G4cout << nBins << " " << energyGrid->GetVectorLength() << G4endl; + G4Exception(); + } + + G4PenelopeCrossSection* XSEntry = new G4PenelopeCrossSection(nBins,numberOfOscillators); + + //loop on the energy grid + for (size_t bin=0;binGetLowEdgeEnergy(bin); + G4double XH0=0, XH1=0, XH2=0; + G4double XS0=0, XS1=0, XS2=0; + + //oscillator loop + for (size_t iosc=0;ioscsize() != 6) + { + G4cout << "G4Penelope08IonisationModel::BuildXSTable" << G4endl; + G4cout << "Problem in calculating the shell XS " << G4endl; + G4cout << "Result has dimension " << tempStorage->size() << " instead of 6" << G4endl; + G4Exception(); + } + G4double stre = theOsc->GetOscillatorStrength(); + + XH0 += stre*(*tempStorage)[0]; + XH1 += stre*(*tempStorage)[1]; + XH2 += stre*(*tempStorage)[2]; + XS0 += stre*(*tempStorage)[3]; + XS1 += stre*(*tempStorage)[4]; + XS2 += stre*(*tempStorage)[5]; + XSEntry->AddShellCrossSectionPoint(bin,iosc,energy,stre*(*tempStorage)[0]); + if (tempStorage) + { + delete tempStorage; + tempStorage = 0; + } + } + XSEntry->AddCrossSectionPoint(bin,energy,XH0,XH1,XH2,XS0,XS1,XS2); + } + + + //Normalize shell cross sections before insertion in the table + XSEntry->NormalizeShellCrossSections(); + + + //Insert in the appropriate table + std::pair theKey = std::make_pair(mat,cut); + if (part == G4Electron::Electron()) + XSTableElectron->insert(std::make_pair(theKey,XSEntry)); + else if (part == G4Positron::Positron()) + XSTablePositron->insert(std::make_pair(theKey,XSEntry)); + + return; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08IonisationModel::GetDensityCorrection(const G4Material* mat, + G4double energy) +{ + G4double result = 0; + if (!theDeltaTable) + { + G4cout << "G4Penelope08IonisationModel::GetDensityCorrection()" << G4endl; + G4cout << "Delta Table not initialized. Was Initialise() run?" << G4endl; + G4Exception(); + } + if (energy <= 0*eV) + { + G4cout << "G4Penelope08IonisationModel::GetDensityCorrection()" << G4endl; + G4cout << "Invalid energy " << energy/eV << " eV " << G4endl; + return 0; + } + G4double logene = std::log(energy); + + //check if the material has been built + if (!(theDeltaTable->count(mat))) + BuildDeltaTable(mat); + + if (theDeltaTable->count(mat)) + { + G4PhysicsFreeVector* vec = theDeltaTable->find(mat)->second; + result = vec->Value(logene); //the table has delta vs. ln(E) + } + else + { + G4cout << "G4Penelope08IonisationModel::GetDensityCorrection()" << G4endl; + G4cout << "Unable to build table for " << mat->GetName() << G4endl; + G4Exception(); + } + + return result; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08IonisationModel::BuildDeltaTable(const G4Material* mat) +{ + G4PenelopeOscillatorTable* theTable = oscManager->GetOscillatorTableIonisation(mat); + G4double plasmaSq = oscManager->GetPlasmaEnergySquared(mat); + G4double totalZ = oscManager->GetTotalZ(mat); + size_t numberOfOscillators = theTable->size(); + + if (energyGrid->GetVectorLength() != nBins) + { + G4cout << "G4Penelope08IonisationModel::BuildDeltaTable" << G4endl; + G4cout << "Energy Grid for Delta looks not initialized" << G4endl; + G4cout << nBins << " " << energyGrid->GetVectorLength() << G4endl; + G4Exception(); + } + + G4PhysicsFreeVector* theVector = new G4PhysicsFreeVector(nBins); + + //loop on the energy grid + for (size_t bin=0;binGetLowEdgeEnergy(bin); + + //Here calculate delta + G4double gam = 1.0+(energy/electron_mass_c2); + G4double gamSq = gam*gam; + + G4double TST = totalZ/(gamSq*plasmaSq); + G4double wl2 = 0; + G4double fdel = 0; + + //loop on oscillators + for (size_t i=0;iGetResonanceEnergy(); + fdel += theOsc->GetOscillatorStrength()/(wri*wri+wl2); + } + if (fdel >= TST) //if fdel < TST, delta = 0 + { + //get last oscillator + G4PenelopeOscillator* theOsc = (*theTable)[numberOfOscillators-1]; + wl2 = theOsc->GetResonanceEnergy()*theOsc->GetResonanceEnergy(); + + //First iteration + G4bool loopAgain = false; + do + { + loopAgain = false; + wl2 += wl2; + fdel = 0.; + for (size_t i=0;iGetResonanceEnergy(); + fdel += theOsc->GetOscillatorStrength()/(wri*wri+wl2); + } + if (fdel > TST) + loopAgain = true; + }while(loopAgain); + + G4double wl2l = 0; + G4double wl2u = wl2; + //second iteration + do + { + loopAgain = false; + wl2 = 0.5*(wl2l+wl2u); + fdel = 0; + for (size_t i=0;iGetResonanceEnergy(); + fdel += theOsc->GetOscillatorStrength()/(wri*wri+wl2); + } + if (fdel > TST) + wl2l = wl2; + else + wl2u = wl2; + if ((wl2u-wl2l)>1e-12*wl2) + loopAgain = true; + }while(loopAgain); + + //Eventually get density correction + delta = 0.; + for (size_t i=0;iGetResonanceEnergy(); + delta += theOsc->GetOscillatorStrength()* + std::log(1.0+(wl2/(wri*wri))); + } + delta = (delta/totalZ)-wl2/(gamSq*plasmaSq); + } + energy = std::max(1e-9*eV,energy); //prevents log(0) + theVector->PutValue(bin,std::log(energy),delta); + } + theDeltaTable->insert(std::make_pair(mat,theVector)); + return; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +G4DataVector* G4Penelope08IonisationModel::ComputeShellCrossSectionsElectron(G4PenelopeOscillator* theOsc, + G4double energy, + G4double cut, + G4double delta) +{ + // + //This method calculates the hard and soft cross sections (H0-H1-H2-S0-S1-S2) for + //the given oscillator/cut and at the given energy. + //It returns a G4DataVector* with 6 entries (H0-H1-H2-S0-S1-S2) + //Equivalent of subroutines EINaT1 of Penelope + // + // Results are _per target electron_ + // + G4DataVector* result = new G4DataVector(); + for (size_t i=0;i<6;i++) + result->push_back(0.); + G4double ionEnergy = theOsc->GetIonisationEnergy(); + + //return a set of zero's if the energy it too low to excite the current oscillator + if (energy < ionEnergy) + return result; + + G4double H0=0.,H1=0.,H2=0.; + G4double S0=0.,S1=0.,S2=0.; + + //Define useful constants to be used in the calculation + G4double gamma = 1.0+energy/electron_mass_c2; + G4double gammaSq = gamma*gamma; + G4double beta = (gammaSq-1.0)/gammaSq; + G4double pielr2 = pi*classic_electr_radius*classic_electr_radius; //pi*re^2 + G4double constant = pielr2*2.0*electron_mass_c2/beta; + G4double XHDT0 = std::log(gammaSq)-beta; + + G4double cpSq = energy*(energy+2.0*electron_mass_c2); + G4double cp = std::sqrt(cpSq); + G4double amol = (energy/(energy+electron_mass_c2))*(energy/(energy+electron_mass_c2)); + + // + // Distant interactions + // + G4double resEne = theOsc->GetResonanceEnergy(); + G4double cutoffEne = theOsc->GetCutoffRecoilResonantEnergy(); + if (energy > resEne) + { + G4double cp1Sq = (energy-resEne)*(energy-resEne+2.0*electron_mass_c2); + G4double cp1 = std::sqrt(cp1Sq); + + //Distant longitudinal interactions + G4double QM = 0; + if (resEne > 1e-6*energy) + QM = std::sqrt((cp-cp1)*(cp-cp1)+electron_mass_c2*electron_mass_c2)-electron_mass_c2; + else + { + QM = resEne*resEne/(beta*2.0*electron_mass_c2); + QM = QM*(1.0-0.5*QM/electron_mass_c2); + } + G4double SDL1 = 0; + if (QM < cutoffEne) + SDL1 = std::log(cutoffEne*(QM+2.0*electron_mass_c2)/(QM*(cutoffEne+2.0*electron_mass_c2))); + + //Distant transverse interactions + if (SDL1) + { + G4double SDT1 = std::max(XHDT0-delta,0.0); + G4double SD1 = SDL1+SDT1; + if (cut > resEne) + { + S1 = SD1; //XS1 + S0 = SD1/resEne; //XS0 + S2 = SD1*resEne; //XS2 + } + else + { + H1 = SD1; //XH1 + H0 = SD1/resEne; //XH0 + H2 = SD1*resEne; //XH2 + } + } + } + // + // Close collisions (Moller's cross section) + // + G4double wl = std::max(cut,cutoffEne); + G4double ee = energy + ionEnergy; + G4double wu = 0.5*ee; + if (wl < wu-(1e-5*eV)) + { + H0 += (1.0/(ee-wu)) - (1.0/(ee-wl)) - (1.0/wu) + (1.0/wl) + + (1.0-amol)*std::log(((ee-wu)*wl)/((ee-wl)*wu))/ee + + amol*(wu-wl)/(ee*ee); + H1 += std::log(wu/wl)+(ee/(ee-wu))-(ee/(ee-wl)) + + (2.0-amol)*std::log((ee-wu)/(ee-wl)) + + amol*(wu*wu-wl*wl)/(2.0*ee*ee); + H2 += (2.0-amol)*(wu-wl)+(wu*(2.0*ee-wu)/(ee-wu)) - + (wl*(2.0*ee-wl)/(ee-wl)) + + (3.0-amol)*ee*std::log((ee-wu)/(ee-wl)) + + amol*(wu*wu*wu-wl*wl*wl)/(3.0*ee*ee); + wu = wl; + } + wl = cutoffEne; + + if (wl > wu-(1e-5*eV)) + { + (*result)[0] = constant*H0; + (*result)[1] = constant*H1; + (*result)[2] = constant*H2; + (*result)[3] = constant*S0; + (*result)[4] = constant*S1; + (*result)[5] = constant*S2; + return result; + } + + S0 += (1.0/(ee-wu))-(1.0/(ee-wl)) - (1.0/wu) + (1.0/wl) + + (1.0-amol)*std::log(((ee-wu)*wl)/((ee-wl)*wu))/ee + + amol*(wu-wl)/(ee*ee); + S1 += std::log(wu/wl)+(ee/(ee-wu))-(ee/(ee-wl)) + + (2.0-amol)*std::log((ee-wu)/(ee-wl)) + + amol*(wu*wu-wl*wl)/(2.0*ee*ee); + S2 += (2.0-amol)*(wu-wl)+(wu*(2.0*ee-wu)/(ee-wu)) - + (wl*(2.0*ee-wl)/(ee-wl)) + + (3.0-amol)*ee*std::log((ee-wu)/(ee-wl)) + + amol*(wu*wu*wu-wl*wl*wl)/(3.0*ee*ee); + + (*result)[0] = constant*H0; + (*result)[1] = constant*H1; + (*result)[2] = constant*H2; + (*result)[3] = constant*S0; + (*result)[4] = constant*S1; + (*result)[5] = constant*S2; + return result; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +G4DataVector* G4Penelope08IonisationModel::ComputeShellCrossSectionsPositron(G4PenelopeOscillator* theOsc, + G4double energy, + G4double cut, + G4double delta) +{ + // + //This method calculates the hard and soft cross sections (H0-H1-H2-S0-S1-S2) for + //the given oscillator/cut and at the given energy. + //It returns a G4DataVector* with 6 entries (H0-H1-H2-S0-S1-S2) + //Equivalent of subroutines PINaT1 of Penelope + // + // Results are _per target electron_ + // + G4DataVector* result = new G4DataVector(); + for (size_t i=0;i<6;i++) + result->push_back(0.); + G4double ionEnergy = theOsc->GetIonisationEnergy(); + + //return a set of zero's if the energy it too low to excite the current oscillator + if (energy < ionEnergy) + return result; + + G4double H0=0.,H1=0.,H2=0.; + G4double S0=0.,S1=0.,S2=0.; + + //Define useful constants to be used in the calculation + G4double gamma = 1.0+energy/electron_mass_c2; + G4double gammaSq = gamma*gamma; + G4double beta = (gammaSq-1.0)/gammaSq; + G4double pielr2 = pi*classic_electr_radius*classic_electr_radius; //pi*re^2 + G4double constant = pielr2*2.0*electron_mass_c2/beta; + G4double XHDT0 = std::log(gammaSq)-beta; + + G4double cpSq = energy*(energy+2.0*electron_mass_c2); + G4double cp = std::sqrt(cpSq); + G4double amol = (energy/(energy+electron_mass_c2))*(energy/(energy+electron_mass_c2)); + G4double g12 = (gamma+1.0)*(gamma+1.0); + //Bhabha coefficients + G4double bha1 = amol*(2.0*g12-1.0)/(gammaSq-1.0); + G4double bha2 = amol*(3.0+1.0/g12); + G4double bha3 = amol*2.0*gamma*(gamma-1.0)/g12; + G4double bha4 = amol*(gamma-1.0)*(gamma-1.0)/g12; + + // + // Distant interactions + // + G4double resEne = theOsc->GetResonanceEnergy(); + G4double cutoffEne = theOsc->GetCutoffRecoilResonantEnergy(); + if (energy > resEne) + { + G4double cp1Sq = (energy-resEne)*(energy-resEne+2.0*electron_mass_c2); + G4double cp1 = std::sqrt(cp1Sq); + + //Distant longitudinal interactions + G4double QM = 0; + if (resEne > 1e-6*energy) + QM = std::sqrt((cp-cp1)*(cp-cp1)+electron_mass_c2*electron_mass_c2)-electron_mass_c2; + else + { + QM = resEne*resEne/(beta*2.0*electron_mass_c2); + QM = QM*(1.0-0.5*QM/electron_mass_c2); + } + G4double SDL1 = 0; + if (QM < cutoffEne) + SDL1 = std::log(cutoffEne*(QM+2.0*electron_mass_c2)/(QM*(cutoffEne+2.0*electron_mass_c2))); + + //Distant transverse interactions + if (SDL1) + { + G4double SDT1 = std::max(XHDT0-delta,0.0); + G4double SD1 = SDL1+SDT1; + if (cut > resEne) + { + S1 = SD1; //XS1 + S0 = SD1/resEne; //XS0 + S2 = SD1*resEne; //XS2 + } + else + { + H1 = SD1; //XH1 + H0 = SD1/resEne; //XH0 + H2 = SD1*resEne; //XH2 + } + } + } + + // + // Close collisions (Bhabha's cross section) + // + G4double wl = std::max(cut,cutoffEne); + G4double wu = energy; + G4double energySq = energy*energy; + if (wl < wu-(1e-5*eV)) + { + G4double wlSq = wl*wl; + G4double wuSq = wu*wu; + H0 += (1.0/wl) - (1.0/wu)- bha1*std::log(wu/wl)/energy + + bha2*(wu-wl)/energySq + - bha3*(wuSq-wlSq)/(2.0*energySq*energy) + + bha4*(wuSq*wu-wlSq*wl)/(3.0*energySq*energySq); + H1 += std::log(wu/wl) - bha1*(wu-wl)/energy + + bha2*(wuSq-wlSq)/(2.0*energySq) + - bha3*(wuSq*wu-wlSq*wl)/(3.0*energySq*energy) + + bha4*(wuSq*wuSq-wlSq*wlSq)/(4.0*energySq*energySq); + H2 += wu - wl - bha1*(wuSq-wlSq)/(2.0*energy) + + bha2*(wuSq*wu-wlSq*wl)/(3.0*energySq) + - bha3*(wuSq*wuSq-wlSq*wlSq)/(4.0*energySq*energy) + + bha4*(wuSq*wuSq*wu-wlSq*wlSq*wl)/(5.0*energySq*energySq); + wu = wl; + } + wl = cutoffEne; + + if (wl > wu-(1e-5*eV)) + { + (*result)[0] = constant*H0; + (*result)[1] = constant*H1; + (*result)[2] = constant*H2; + (*result)[3] = constant*S0; + (*result)[4] = constant*S1; + (*result)[5] = constant*S2; + return result; + } + + G4double wlSq = wl*wl; + G4double wuSq = wu*wu; + + S0 += (1.0/wl) - (1.0/wu) - bha1*std::log(wu/wl)/energy + + bha2*(wu-wl)/energySq + - bha3*(wuSq-wlSq)/(2.0*energySq*energy) + + bha4*(wuSq*wu-wlSq*wl)/(3.0*energySq*energySq); + + S1 += std::log(wu/wl) - bha1*(wu-wl)/energy + + bha2*(wuSq-wlSq)/(2.0*energySq) + - bha3*(wuSq*wu-wlSq*wl)/(3.0*energySq*energy) + + bha4*(wuSq*wuSq-wlSq*wlSq)/(4.0*energySq*energySq); + + S2 += wu - wl - bha1*(wuSq-wlSq)/(2.0*energy) + + bha2*(wuSq*wu-wlSq*wl)/(3.0*energySq) + - bha3*(wuSq*wuSq-wlSq*wlSq)/(4.0*energySq*energy) + + bha4*(wuSq*wuSq*wu-wlSq*wlSq*wl)/(5.0*energySq*energySq); + + (*result)[0] = constant*H0; + (*result)[1] = constant*H1; + (*result)[2] = constant*H2; + (*result)[3] = constant*S0; + (*result)[4] = constant*S1; + (*result)[5] = constant*S2; + + return result; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4Penelope08IonisationModel::SampleFinalStateElectron(const G4Material* mat, + G4double cutEnergy, + G4double kineticEnergy) +{ + // This method sets the final ionisation parameters + // kineticEnergy1, cosThetaPrimary (= updates of the primary e-) + // energySecondary, cosThetaSecondary (= info of delta-ray) + // targetOscillator (= ionised oscillator) + // + // The method implements SUBROUTINE EINa of Penelope + // + + G4PenelopeOscillatorTable* theTable = oscManager->GetOscillatorTableIonisation(mat); + size_t numberOfOscillators = theTable->size(); + G4PenelopeCrossSection* theXS = GetCrossSectionTableForCouple(G4Electron::Electron(),mat, + cutEnergy); + G4double delta = GetDensityCorrection(mat,kineticEnergy); + + // Selection of the active oscillator + G4double TST = G4UniformRand(); + targetOscillator = numberOfOscillators-1; //initialization, last oscillator + G4double XSsum = 0.; + + for (size_t i=0;iGetShellCrossSection(i,kineticEnergy); + + if (XSsum > TST) + { + targetOscillator = (G4int) i; + break; + } + } + + + if (verboseLevel > 3) + { + G4cout << "SampleFinalStateElectron: sampled oscillator #" << targetOscillator << "." << G4endl; + G4cout << "Ionisation energy: " << (*theTable)[targetOscillator]->GetIonisationEnergy()/eV << + " eV " << G4endl; + G4cout << "Resonance energy: : " << (*theTable)[targetOscillator]->GetResonanceEnergy()/eV << " eV " + << G4endl; + } + //Constants + G4double rb = kineticEnergy + 2.0*electron_mass_c2; + G4double gam = 1.0+kineticEnergy/electron_mass_c2; + G4double gam2 = gam*gam; + G4double beta2 = (gam2-1.0)/gam2; + G4double amol = ((gam-1.0)/gam)*((gam-1.0)/gam); + + //Partial cross section of the active oscillator + G4double resEne = (*theTable)[targetOscillator]->GetResonanceEnergy(); + G4double invResEne = 1.0/resEne; + G4double ionEne = (*theTable)[targetOscillator]->GetIonisationEnergy(); + G4double cutoffEne = (*theTable)[targetOscillator]->GetCutoffRecoilResonantEnergy(); + G4double XHDL = 0.; + G4double XHDT = 0.; + G4double QM = 0.; + G4double cps = 0.; + G4double cp = 0.; + + //Distant excitations + if (resEne > cutEnergy && resEne < kineticEnergy) + { + cps = kineticEnergy*rb; + cp = std::sqrt(cps); + G4double XHDT0 = std::max(std::log(gam2)-beta2-delta,0.); + if (resEne > 1.0e-6*kineticEnergy) + { + G4double cpp = std::sqrt((kineticEnergy-resEne)*(kineticEnergy-resEne+2.0*electron_mass_c2)); + QM = std::sqrt((cp-cpp)*(cp-cpp)+electron_mass_c2*electron_mass_c2)-electron_mass_c2; + } + else + { + QM = resEne*resEne/(beta2*2.0*electron_mass_c2); + QM *= (1.0-QM*0.5/electron_mass_c2); + } + if (QM < cutoffEne) + { + XHDL = std::log(cutoffEne*(QM+2.0*electron_mass_c2)/(QM*(cutoffEne+2.0*electron_mass_c2))) + *invResEne; + XHDT = XHDT0*invResEne; + } + else + { + QM = cutoffEne; + XHDL = 0.; + XHDT = 0.; + } + } + else + { + QM = cutoffEne; + cps = 0.; + cp = 0.; + XHDL = 0.; + XHDT = 0.; + } + + //Close collisions + G4double EE = kineticEnergy + ionEne; + G4double wmaxc = 0.5*EE; + G4double wcl = std::max(cutEnergy,cutoffEne); + G4double rcl = wcl/EE; + G4double XHC = 0.; + if (wcl < wmaxc) + { + G4double rl1 = 1.0-rcl; + G4double rrl1 = 1.0/rl1; + XHC = (amol*(0.5-rcl)+1.0/rcl-rrl1+ + (1.0-amol)*std::log(rcl*rrl1))/EE; + } + + //Total cross section per molecule for the active shell, in cm2 + G4double XHTOT = XHC + XHDL + XHDT; + + //very small cross section, do nothing + if (XHTOT < 1.e-14*barn) + { + kineticEnergy1=kineticEnergy; + cosThetaPrimary=1.0; + energySecondary=0.0; + cosThetaSecondary=1.0; + targetOscillator = numberOfOscillators-1; + return; + } + + //decide which kind of interaction we'll have + TST = XHTOT*G4UniformRand(); + + + // Hard close collision + G4double TS1 = XHC; + + if (TST < TS1) + { + G4double A = 5.0*amol; + G4double ARCL = A*0.5*rcl; + G4double rk=0.; + G4bool loopAgain = false; + do + { + loopAgain = false; + G4double fb = (1.0+ARCL)*G4UniformRand(); + if (fb < 1) + rk = rcl/(1.0-fb*(1.0-(rcl+rcl))); + else + rk = rcl + (fb-1.0)*(0.5-rcl)/ARCL; + G4double rk2 = rk*rk; + G4double rkf = rk/(1.0-rk); + G4double phi = 1.0+rkf*rkf-rkf+amol*(rk2+rkf); + if (G4UniformRand()*(1.0+A*rk2) > phi) + loopAgain = true; + }while(loopAgain); + //energy and scattering angle (primary electron) + G4double deltaE = rk*EE; + + kineticEnergy1 = kineticEnergy - deltaE; + cosThetaPrimary = std::sqrt(kineticEnergy1*rb/(kineticEnergy*(rb-deltaE))); + //energy and scattering angle of the delta ray + energySecondary = deltaE - ionEne; //subtract ionisation energy + cosThetaSecondary= std::sqrt(deltaE*rb/(kineticEnergy*(deltaE+2.0*electron_mass_c2))); + if (verboseLevel > 3) + G4cout << "SampleFinalStateElectron: sampled close collision " << G4endl; + return; + } + + //Hard distant longitudinal collisions + TS1 += XHDL; + G4double deltaE = resEne; + kineticEnergy1 = kineticEnergy - deltaE; + + if (TST < TS1) + { + G4double QS = QM/(1.0+QM*0.5/electron_mass_c2); + G4double Q = QS/(std::pow((QS/cutoffEne)*(1.0+cutoffEne*0.5/electron_mass_c2),G4UniformRand()) + - (QS*0.5/electron_mass_c2)); + G4double QTREV = Q*(Q+2.0*electron_mass_c2); + G4double cpps = kineticEnergy1*(kineticEnergy1+2.0*electron_mass_c2); + cosThetaPrimary = (cpps+cps-QTREV)/(2.0*cp*std::sqrt(cpps)); + if (cosThetaPrimary > 1.) + cosThetaPrimary = 1.0; + //energy and emission angle of the delta ray + energySecondary = deltaE - ionEne; + cosThetaSecondary = 0.5*(deltaE*(kineticEnergy+rb-deltaE)+QTREV)/std::sqrt(cps*QTREV); + if (cosThetaSecondary > 1.0) + cosThetaSecondary = 1.0; + if (verboseLevel > 3) + G4cout << "SampleFinalStateElectron: sampled distant longitudinal collision " << G4endl; + return; + } + + //Hard distant transverse collisions + cosThetaPrimary = 1.0; + //energy and emission angle of the delta ray + energySecondary = deltaE - ionEne; + cosThetaSecondary = 0.5; + if (verboseLevel > 3) + G4cout << "SampleFinalStateElectron: sampled distant transverse collision " << G4endl; + + return; +} + + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4Penelope08IonisationModel::SampleFinalStatePositron(const G4Material* mat, + G4double cutEnergy, + G4double kineticEnergy) +{ + // This method sets the final ionisation parameters + // kineticEnergy1, cosThetaPrimary (= updates of the primary e-) + // energySecondary, cosThetaSecondary (= info of delta-ray) + // targetOscillator (= ionised oscillator) + // + // The method implements SUBROUTINE PINa of Penelope + // + + G4PenelopeOscillatorTable* theTable = oscManager->GetOscillatorTableIonisation(mat); + size_t numberOfOscillators = theTable->size(); + G4PenelopeCrossSection* theXS = GetCrossSectionTableForCouple(G4Positron::Positron(),mat, + cutEnergy); + G4double delta = GetDensityCorrection(mat,kineticEnergy); + + // Selection of the active oscillator + G4double TST = G4UniformRand(); + targetOscillator = numberOfOscillators-1; //initialization, last oscillator + G4double XSsum = 0.; + for (size_t i=0;iGetShellCrossSection(i,kineticEnergy); + if (XSsum > TST) + { + targetOscillator = (G4int) i; + break; + } + } + + if (verboseLevel > 3) + { + G4cout << "SampleFinalStatePositron: sampled oscillator #" << targetOscillator << "." << G4endl; + G4cout << "Ionisation energy: " << (*theTable)[targetOscillator]->GetIonisationEnergy()/eV + << " eV " << G4endl; + G4cout << "Resonance energy: : " << (*theTable)[targetOscillator]->GetResonanceEnergy()/eV + << " eV " << G4endl; + } + + //Constants + G4double rb = kineticEnergy + 2.0*electron_mass_c2; + G4double gam = 1.0+kineticEnergy/electron_mass_c2; + G4double gam2 = gam*gam; + G4double beta2 = (gam2-1.0)/gam2; + G4double g12 = (gam+1.0)*(gam+1.0); + G4double amol = ((gam-1.0)/gam)*((gam-1.0)/gam); + //Bhabha coefficients + G4double bha1 = amol*(2.0*g12-1.0)/(gam2-1.0); + G4double bha2 = amol*(3.0+1.0/g12); + G4double bha3 = amol*2.0*gam*(gam-1.0)/g12; + G4double bha4 = amol*(gam-1.0)*(gam-1.0)/g12; + + // + //Partial cross section of the active oscillator + // + G4double resEne = (*theTable)[targetOscillator]->GetResonanceEnergy(); + G4double invResEne = 1.0/resEne; + G4double ionEne = (*theTable)[targetOscillator]->GetIonisationEnergy(); + G4double cutoffEne = (*theTable)[targetOscillator]->GetCutoffRecoilResonantEnergy(); + + G4double XHDL = 0.; + G4double XHDT = 0.; + G4double QM = 0.; + G4double cps = 0.; + G4double cp = 0.; + + //Distant excitations XS (same as for electrons) + if (resEne > cutEnergy && resEne < kineticEnergy) + { + cps = kineticEnergy*rb; + cp = std::sqrt(cps); + G4double XHDT0 = std::max(std::log(gam2)-beta2-delta,0.); + if (resEne > 1.0e-6*kineticEnergy) + { + G4double cpp = std::sqrt((kineticEnergy-resEne)*(kineticEnergy-resEne+2.0*electron_mass_c2)); + QM = std::sqrt((cp-cpp)*(cp-cpp)+electron_mass_c2*electron_mass_c2)-electron_mass_c2; + } + else + { + QM = resEne*resEne/(beta2*2.0*electron_mass_c2); + QM *= (1.0-QM*0.5/electron_mass_c2); + } + if (QM < cutoffEne) + { + XHDL = std::log(cutoffEne*(QM+2.0*electron_mass_c2)/(QM*(cutoffEne+2.0*electron_mass_c2))) + *invResEne; + XHDT = XHDT0*invResEne; + } + else + { + QM = cutoffEne; + XHDL = 0.; + XHDT = 0.; + } + } + else + { + QM = cutoffEne; + cps = 0.; + cp = 0.; + XHDL = 0.; + XHDT = 0.; + } + //Close collisions (Bhabha) + G4double wmaxc = kineticEnergy; + G4double wcl = std::max(cutEnergy,cutoffEne); + G4double rcl = wcl/kineticEnergy; + G4double XHC = 0.; + if (wcl < wmaxc) + { + G4double rl1 = 1.0-rcl; + XHC = ((1.0/rcl-1.0)+bha1*std::log(rcl)+bha2*rl1 + + (bha3/2.0)*(rcl*rcl-1.0) + + (bha4/3.0)*(1.0-rcl*rcl*rcl))/kineticEnergy; + } + + //Total cross section per molecule for the active shell, in cm2 + G4double XHTOT = XHC + XHDL + XHDT; + + //very small cross section, do nothing + if (XHTOT < 1.e-14*barn) + { + kineticEnergy1=kineticEnergy; + cosThetaPrimary=1.0; + energySecondary=0.0; + cosThetaSecondary=1.0; + targetOscillator = numberOfOscillators-1; + return; + } + + //decide which kind of interaction we'll have + TST = XHTOT*G4UniformRand(); + + // Hard close collision + G4double TS1 = XHC; + if (TST < TS1) + { + G4double rl1 = 1.0-rcl; + G4double rk=0.; + G4bool loopAgain = false; + do + { + loopAgain = false; + rk = rcl/(1.0-G4UniformRand()*rl1); + G4double phi = 1.0-rk*(bha1-rk*(bha2-rk*(bha3-bha4*rk))); + if (G4UniformRand() > phi) + loopAgain = true; + }while(loopAgain); + //energy and scattering angle (primary electron) + G4double deltaE = rk*kineticEnergy; + kineticEnergy1 = kineticEnergy - deltaE; + cosThetaPrimary = std::sqrt(kineticEnergy1*rb/(kineticEnergy*(rb-deltaE))); + //energy and scattering angle of the delta ray + energySecondary = deltaE - ionEne; //subtract ionisation energy + cosThetaSecondary= std::sqrt(deltaE*rb/(kineticEnergy*(deltaE+2.0*electron_mass_c2))); + if (verboseLevel > 3) + G4cout << "SampleFinalStatePositron: sampled close collision " << G4endl; + return; + } + + //Hard distant longitudinal collisions + TS1 += XHDL; + G4double deltaE = resEne; + kineticEnergy1 = kineticEnergy - deltaE; + if (TST < TS1) + { + G4double QS = QM/(1.0+QM*0.5/electron_mass_c2); + G4double Q = QS/(std::pow((QS/cutoffEne)*(1.0+cutoffEne*0.5/electron_mass_c2),G4UniformRand()) + - (QS*0.5/electron_mass_c2)); + G4double QTREV = Q*(Q+2.0*electron_mass_c2); + G4double cpps = kineticEnergy1*(kineticEnergy1+2.0*electron_mass_c2); + cosThetaPrimary = (cpps+cps-QTREV)/(2.0*cp*std::sqrt(cpps)); + if (cosThetaPrimary > 1.) + cosThetaPrimary = 1.0; + //energy and emission angle of the delta ray + energySecondary = deltaE - ionEne; + cosThetaSecondary = 0.5*(deltaE*(kineticEnergy+rb-deltaE)+QTREV)/std::sqrt(cps*QTREV); + if (cosThetaSecondary > 1.0) + cosThetaSecondary = 1.0; + if (verboseLevel > 3) + G4cout << "SampleFinalStatePositron: sampled distant longitudinal collision " << G4endl; + return; + } + + //Hard distant transverse collisions + cosThetaPrimary = 1.0; + //energy and emission angle of the delta ray + energySecondary = deltaE - ionEne; + cosThetaSecondary = 0.5; + + if (verboseLevel > 3) + G4cout << "SampleFinalStatePositron: sampled distant transverse collision " << G4endl; + + return; +} + diff --git a/source/processes/electromagnetic/lowenergy/src/G4Penelope08PhotoElectricModel.cc b/source/processes/electromagnetic/lowenergy/src/G4Penelope08PhotoElectricModel.cc new file mode 100644 index 0000000000..0ec640c87c --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4Penelope08PhotoElectricModel.cc @@ -0,0 +1,674 @@ +// +// ******************************************************************** +// * 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: G4Penelope08PhotoElectricModel.cc,v 1.5 2010/07/28 07:09:16 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Luciano Pandola +// +// History: +// -------- +// 08 Jan 2010 L Pandola First implementation + +#include "G4Penelope08PhotoElectricModel.hh" +#include "G4ParticleDefinition.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4ProductionCutsTable.hh" +#include "G4DynamicParticle.hh" +#include "G4PhysicsTable.hh" +#include "G4PhysicsFreeVector.hh" +#include "G4ElementTable.hh" +#include "G4Element.hh" +#include "G4AtomicTransitionManager.hh" +#include "G4AtomicShell.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +G4Penelope08PhotoElectricModel::G4Penelope08PhotoElectricModel(const G4ParticleDefinition*, + const G4String& nam) + :G4VEmModel(nam),isInitialised(false),logAtomicShellXS(0) +{ + fIntrinsicLowEnergyLimit = 100.0*eV; + fIntrinsicHighEnergyLimit = 100.0*GeV; + // SetLowEnergyLimit(fIntrinsicLowEnergyLimit); + SetHighEnergyLimit(fIntrinsicHighEnergyLimit); + // + verboseLevel= 0; + // Verbosity scale: + // 0 = nothing + // 1 = warning for energy non-conservation + // 2 = details of energy budget + // 3 = calculation of cross sections, file openings, sampling of atoms + // 4 = entering in methods + + //by default the model will inkove the atomic deexcitation + SetDeexcitationFlag(true); + ActivateAuger(false); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4Penelope08PhotoElectricModel::~G4Penelope08PhotoElectricModel() +{ + std::map ::iterator i; + if (logAtomicShellXS) + { + for (i=logAtomicShellXS->begin();i != logAtomicShellXS->end();i++) + { + G4PhysicsTable* tab = i->second; + tab->clearAndDestroy(); + delete tab; + } + } + delete logAtomicShellXS; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08PhotoElectricModel::Initialise(const G4ParticleDefinition* particle, + const G4DataVector& cuts) +{ + if (verboseLevel > 3) + G4cout << "Calling G4Penelope08PhotoElectricModel::Initialise()" << G4endl; + + // logAtomicShellXS is created only once, since it is never cleared + if (!logAtomicShellXS) + logAtomicShellXS = new std::map; + + InitialiseElementSelectors(particle,cuts); + + if (verboseLevel > 0) { + G4cout << "Penelope Photo-Electric model is initialized " << G4endl + << "Energy range: " + << LowEnergyLimit() / MeV << " MeV - " + << HighEnergyLimit() / GeV << " GeV" + << G4endl; + } + + if(isInitialised) return; + fParticleChange = GetParticleChangeForGamma(); + isInitialised = true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08PhotoElectricModel::ComputeCrossSectionPerAtom( + const G4ParticleDefinition*, + G4double energy, + G4double Z, G4double, + G4double, G4double) +{ + // + // Penelope model. + // + + if (verboseLevel > 3) + G4cout << "Calling ComputeCrossSectionPerAtom() of G4Penelope08PhotoElectricModel" << G4endl; + + G4int iZ = (G4int) Z; + + //read data files + if (!logAtomicShellXS->count(iZ)) + ReadDataFile(iZ); + //now it should be ok + if (!logAtomicShellXS->count(iZ)) + { + G4cout << "Problem in G4Penelope08PhotoElectricModel::ComputeCrossSectionPerAtom" + << G4endl; + G4Exception(); + } + + G4double cross = 0; + + G4PhysicsTable* theTable = logAtomicShellXS->find(iZ)->second; + G4PhysicsFreeVector* totalXSLog = (G4PhysicsFreeVector*) (*theTable)[0]; + + if (!totalXSLog) + { + G4cout << "Problem in G4Penelope08PhotoElectricModel::ComputeCrossSectionPerAtom" + << G4endl; + G4Exception(); + } + G4double logene = std::log(energy); + G4double logXS = totalXSLog->Value(logene); + cross = std::exp(logXS); + + if (verboseLevel > 2) + G4cout << "Photoelectric cross section at " << energy/MeV << " MeV for Z=" << Z << + " = " << cross/barn << " barn" << G4endl; + return cross; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08PhotoElectricModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicGamma, + G4double, + G4double) +{ + // + // Photoelectric effect, Penelope model + // + // The target atom and the target shell are sampled according to the Livermore + // database + // D.E. Cullen et al., Report UCRL-50400 (1989) + // The angular distribution of the electron in the final state is sampled + // according to the Sauter distribution from + // F. Sauter, Ann. Phys. 11 (1931) 454 + // The energy of the final electron is given by the initial photon energy minus + // the binding energy. Fluorescence de-excitation is subsequently produced + // (to fill the vacancy) according to the general Geant4 G4DeexcitationManager: + // J. Stepanek, Comp. Phys. Comm. 1206 pp 1-1-9 (1997) + + if (verboseLevel > 3) + G4cout << "Calling SamplingSecondaries() of G4Penelope08PhotoElectricModel" << G4endl; + + G4double photonEnergy = aDynamicGamma->GetKineticEnergy(); + + // always kill primary + fParticleChange->ProposeTrackStatus(fStopAndKill); + fParticleChange->SetProposedKineticEnergy(0.); + + if (photonEnergy <= fIntrinsicLowEnergyLimit) + { + fParticleChange->ProposeLocalEnergyDeposit(photonEnergy); + return ; + } + + G4ParticleMomentum photonDirection = aDynamicGamma->GetMomentumDirection(); + + // Select randomly one element in the current material + if (verboseLevel > 2) + G4cout << "Going to select element in " << couple->GetMaterial()->GetName() << G4endl; + + // atom can be selected efficiently if element selectors are initialised + const G4Element* anElement = + SelectRandomAtom(couple,G4Gamma::GammaDefinition(),photonEnergy); + G4int Z = (G4int) anElement->GetZ(); + if (verboseLevel > 2) + G4cout << "Selected " << anElement->GetName() << G4endl; + + // Select the ionised shell in the current atom according to shell cross sections + //shellIndex = 0 --> K shell + // 1-3 --> L shells + // 4-8 --> M shells + // 9 --> outer shells cumulatively + // + size_t shellIndex = SelectRandomShell(Z,photonEnergy); + + if (verboseLevel > 2) + G4cout << "Selected shell " << shellIndex << " of element " << anElement->GetName() << G4endl; + + // Retrieve the corresponding identifier and binding energy of the selected shell + const G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + + //The number of shell cross section possibly reported in the Penelope database + //might be different from the number of shells in the G4AtomicTransitionManager + //(namely, Penelope may contain more shell, especially for very light elements). + //In order to avoid a warning message from the G4AtomicTransitionManager, I + //add this protection. Results are anyway changed, because when G4AtomicTransitionManager + //has a shellID>maxID, it sets the shellID to the last valid shell. + size_t numberOfShells = (size_t) transitionManager->NumberOfShells(Z); + if (shellIndex >= numberOfShells) + shellIndex = numberOfShells-1; + + const G4AtomicShell* shell = transitionManager->Shell(Z,shellIndex); + G4double bindingEnergy = shell->BindingEnergy(); + G4int shellId = shell->ShellId(); + + //Penelope considers only K, L and M shells. Cross sections of outer shells are + //not included in the Penelope database. If SelectRandomShell() returns + //shellIndex = 9, it means that an outer shell was ionized. In this case the + //Penelope recipe is to set bindingEnergy = 0 (the energy is entirely assigned + //to the electron) and to disregard fluorescence. + if (shellIndex == 9) + bindingEnergy = 0.*eV; + + + G4double localEnergyDeposit = 0.0; + G4double cosTheta = 1.0; + + // Primary outcoming electron + G4double eKineticEnergy = photonEnergy - bindingEnergy; + + // There may be cases where the binding energy of the selected shell is > photon energy + // In such cases do not generate secondaries + if (eKineticEnergy > 0.) + { + // The electron is created + // Direction sampled from the Sauter distribution + cosTheta = SampleElectronDirection(eKineticEnergy); + G4double sinTheta = std::sqrt(1-cosTheta*cosTheta); + G4double phi = twopi * G4UniformRand() ; + G4double dirx = sinTheta * std::cos(phi); + G4double diry = sinTheta * std::sin(phi); + G4double dirz = cosTheta ; + G4ThreeVector electronDirection(dirx,diry,dirz); //electron direction + electronDirection.rotateUz(photonDirection); + G4DynamicParticle* electron = new G4DynamicParticle (G4Electron::Electron(), + electronDirection, + eKineticEnergy); + fvect->push_back(electron); + } + else + { + bindingEnergy = photonEnergy; + } + + G4double energyInFluorescence = 0; //testing purposes + + //Now, take care of fluorescence, if required + if(DeexcitationFlag() && Z > 5) + { + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t indx = couple->GetIndex(); + G4double cutG = (*(theCoupleTable->GetEnergyCutsVector(0)))[indx]; + G4double cutE = (*(theCoupleTable->GetEnergyCutsVector(1)))[indx]; + + // Protection to avoid generating photons in the unphysical case of + // shell binding energy > photon energy + if (bindingEnergy > cutG || bindingEnergy > cutE) + { + deexcitationManager.SetCutForSecondaryPhotons(cutG); + deexcitationManager.SetCutForAugerElectrons(cutE); + std::vector* photonVector = + deexcitationManager.GenerateParticles(Z,shellId); + //Check for secondaries + if(photonVector) + { + for (size_t k=0; k< photonVector->size(); k++) + { + G4DynamicParticle* aPhoton = (*photonVector)[k]; + if (aPhoton) + { + G4double itsEnergy = aPhoton->GetKineticEnergy(); + if (itsEnergy <= bindingEnergy) + { + if(aPhoton->GetDefinition() == G4Gamma::Gamma()) + energyInFluorescence += itsEnergy; + bindingEnergy -= itsEnergy; + fvect->push_back(aPhoton); + } + else + { + delete aPhoton; + (*photonVector)[k] = 0; + } + } + } + delete photonVector; + } + } + } + //Residual energy is deposited locally + localEnergyDeposit += bindingEnergy; + + if (localEnergyDeposit < 0) + { + G4cout << "WARNING - " + << "G4Penelope08PhotoElectric::PostStepDoIt - Negative energy deposit" + << G4endl; + localEnergyDeposit = 0; + } + + fParticleChange->ProposeLocalEnergyDeposit(localEnergyDeposit); + + if (verboseLevel > 1) + { + G4cout << "-----------------------------------------------------------" << G4endl; + G4cout << "Energy balance from G4Penelope08PhotoElectric" << G4endl; + G4cout << "Selected shell: " << WriteTargetShell(shellIndex) << " of element " << + anElement->GetName() << G4endl; + G4cout << "Incoming photon energy: " << photonEnergy/keV << " keV" << G4endl; + G4cout << "-----------------------------------------------------------" << G4endl; + if (eKineticEnergy) + G4cout << "Outgoing electron " << eKineticEnergy/keV << " keV" << G4endl; + G4cout << "Fluorescence: " << energyInFluorescence/keV << " keV" << G4endl; + G4cout << "Local energy deposit " << localEnergyDeposit/keV << " keV" << G4endl; + G4cout << "Total final state: " << (eKineticEnergy+energyInFluorescence+localEnergyDeposit)/keV << + " keV" << G4endl; + G4cout << "-----------------------------------------------------------" << G4endl; + } + if (verboseLevel > 0) + { + G4double energyDiff = + std::fabs(eKineticEnergy+energyInFluorescence+localEnergyDeposit-photonEnergy); + if (energyDiff > 0.05*keV) + G4cout << "Warning from G4Penelope08PhotoElectric: problem with energy conservation: " << + (eKineticEnergy+energyInFluorescence+localEnergyDeposit)/keV + << " keV (final) vs. " << + photonEnergy/keV << " keV (initial)" << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08PhotoElectricModel::ActivateAuger(G4bool augerbool) +{ + if (!DeexcitationFlag() && augerbool) + { + G4cout << "WARNING - G4Penelope08PhotoElectricModel" << G4endl; + G4cout << "The use of the Atomic Deexcitation Manager is set to false " << G4endl; + G4cout << "Therefore, Auger electrons will be not generated anyway" << G4endl; + } + deexcitationManager.ActivateAugerElectronProduction(augerbool); + if (verboseLevel > 1) + G4cout << "Auger production set to " << augerbool << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08PhotoElectricModel::SampleElectronDirection(G4double energy) +{ + G4double costheta = 1.0; + if (energy>1*GeV) return costheta; + + //1) initialize energy-dependent variables + // Variable naming according to Eq. (2.24) of Penelope Manual + // (pag. 44) + G4double gamma = 1.0 + energy/electron_mass_c2; + G4double gamma2 = gamma*gamma; + G4double beta = std::sqrt((gamma2-1.0)/gamma2); + + // ac corresponds to "A" of Eq. (2.31) + // + G4double ac = (1.0/beta) - 1.0; + G4double a1 = 0.5*beta*gamma*(gamma-1.0)*(gamma-2.0); + G4double a2 = ac + 2.0; + G4double gtmax = 2.0*(a1 + 1.0/ac); + + G4double tsam = 0; + G4double gtr = 0; + + //2) sampling. Eq. (2.31) of Penelope Manual + // tsam = 1-std::cos(theta) + // gtr = rejection function according to Eq. (2.28) + do{ + G4double rand = G4UniformRand(); + tsam = 2.0*ac * (2.0*rand + a2*std::sqrt(rand)) / (a2*a2 - 4.0*rand); + gtr = (2.0 - tsam) * (a1 + 1.0/(ac+tsam)); + }while(G4UniformRand()*gtmax > gtr); + costheta = 1.0-tsam; + + + return costheta; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08PhotoElectricModel::ReadDataFile(G4int Z) +{ + if (verboseLevel > 2) + { + G4cout << "G4Penelope08PhotoElectricModel::ReadDataFile()" << G4endl; + G4cout << "Going to read PhotoElectric data files for Z=" << Z << G4endl; + } + + char* path = getenv("G4LEDATA"); + if (!path) + { + G4String excep = "G4Penelope08PhotoElectricModel - G4LEDATA environment variable not set!"; + G4Exception(excep); + } + + /* + Read the cross section file + */ + std::ostringstream ost; + if (Z>9) + ost << path << "/penelope/photoelectric/pdgph" << Z << ".p08"; + else + ost << path << "/penelope/photoelectric/pdgph0" << Z << ".p08"; + std::ifstream file(ost.str().c_str()); + if (!file.is_open()) + { + G4String excep = "G4Penelope08PhotoElectricModel - data file " + G4String(ost.str()) + " not found!"; + G4Exception(excep); + } + //I have to know in advance how many points are in the data list + //to initialize the G4PhysicsFreeVector() + size_t ndata=0; + G4String line; + while( getline(file, line) ) + ndata++; + ndata -= 1; + //G4cout << "Found: " << ndata << " lines" << G4endl; + + file.clear(); + file.close(); + file.open(ost.str().c_str()); + + G4int readZ =0; + size_t nShells= 0; + file >> readZ >> nShells; + + if (verboseLevel > 3) + G4cout << "Element Z=" << Z << " , nShells = " << nShells << G4endl; + + //check the right file is opened. + if (readZ != Z || nShells <= 0) + { + G4cout << "G4Penelope08PhotoElectricModel::ReadDataFile()" << G4endl; + G4cout << "Corrupted data file for Z=" << Z << G4endl; + G4Exception(); + } + G4PhysicsTable* thePhysicsTable = new G4PhysicsTable(); + + //the table has to contain nShell+1 G4PhysicsFreeVectors, + //(theTable)[0] --> total cross section + //(theTable)[ishell] --> cross section for shell (ishell-1) + + //reserve space for the vectors + //everything is log-log + for (size_t i=0;ipush_back(new G4PhysicsFreeVector(ndata)); + + size_t k =0; + for (k=0;k> energy ; + energy *= eV; + G4double logene = std::log(energy); + //loop on the columns + for (size_t i=0;i> aValue; + aValue *= barn; + G4PhysicsFreeVector* theVec = (G4PhysicsFreeVector*) ((*thePhysicsTable)[i]); + if (aValue < 1e-40*cm2) //protection against log(0) + aValue = 1e-40*cm2; + theVec->PutValue(k,logene,std::log(aValue)); + } + } + + if (verboseLevel > 2) + { + G4cout << "G4Penelope08PhotoElectricModel: read " << k << " points for element Z = " + << Z << G4endl; + } + + logAtomicShellXS->insert(std::make_pair(Z,thePhysicsTable)); + + file.close(); + return; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +size_t G4Penelope08PhotoElectricModel::SelectRandomShell(G4int Z,G4double energy) +{ + G4double logEnergy = std::log(energy); + + //Check if data have been read (it should be!) + if (!logAtomicShellXS->count(Z)) + { + G4cout << "Problem in G4Penelope08PhotoElectricModel::SelectRandomShell" << G4endl; + G4cout << "Cannot find data for Z=" << Z << G4endl; + G4Exception(); + } + + size_t shellIndex = 0; + + G4PhysicsTable* theTable = logAtomicShellXS->find(Z)->second; + + G4DataVector* tempVector = new G4DataVector(); + + G4double sum = 0; + //loop on shell partial XS, retrieve the value for the given energy and store on + //a temporary vector + tempVector->push_back(sum); //first element is zero + + G4PhysicsFreeVector* totalXSLog = (G4PhysicsFreeVector*) (*theTable)[0]; + G4double logXS = totalXSLog->Value(logEnergy); + G4double totalXS = std::exp(logXS); + + //Notice: totalXS is the total cross section and it does *not* correspond to + //the sum of partialXS's, since these include only K, L and M shells. + // + // Therefore, here one have to consider the possibility of ionisation of + // an outer shell. Conventionally, it is indicated with id=10 in Penelope + // + + for (size_t k=1;kentries();k++) + { + G4PhysicsFreeVector* partialXSLog = (G4PhysicsFreeVector*) (*theTable)[k]; + G4double logXS = partialXSLog->Value(logEnergy); + G4double partialXS = std::exp(logXS); + sum += partialXS; + tempVector->push_back(sum); + } + + tempVector->push_back(totalXS); //last element + + G4double random = G4UniformRand()*totalXS; + + /* + for (size_t i=0;isize(); i++) + G4cout << i << " " << (*tempVector)[i]/totalXS << G4endl; + */ + + //locate bin of tempVector + //Now one has to sample according to the elements in tempVector + //This gives the left edge of the interval... + size_t lowerBound = 0; + size_t upperBound = tempVector->size()-1; + while (lowerBound <= upperBound) + { + size_t midBin = (lowerBound + upperBound)/2; + if( random < (*tempVector)[midBin]) + upperBound = midBin-1; + else + lowerBound = midBin+1; + } + + shellIndex = upperBound; + + delete tempVector; + return shellIndex; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +size_t G4Penelope08PhotoElectricModel::GetNumberOfShellXS(G4int Z) +{ + //read data files + if (!logAtomicShellXS->count(Z)) + ReadDataFile(Z); + //now it should be ok + if (!logAtomicShellXS->count(Z)) + { + G4cout << "Problem in G4Penelope08PhotoElectricModel::GetNumberOfShellXS()" + << G4endl; + G4Exception(); + } + //one vector is allocated for the _total_ cross section + size_t nEntries = logAtomicShellXS->find(Z)->second->entries(); + return (nEntries-1); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08PhotoElectricModel::GetShellCrossSection(G4int Z,size_t shellID,G4double energy) +{ + //this forces also the loading of the data + size_t entries = GetNumberOfShellXS(Z); + + if (shellID >= entries) + { + G4cout << "Element Z=" << Z << " has data for " << entries << " shells only" << G4endl; + G4cout << "so shellID should be from 0 to " << entries-1 << G4endl; + return 0; + } + + G4PhysicsTable* theTable = logAtomicShellXS->find(Z)->second; + //[0] is the total XS, shellID is in the element [shellID+1] + G4PhysicsFreeVector* totalXSLog = (G4PhysicsFreeVector*) (*theTable)[shellID+1]; + + if (!totalXSLog) + { + G4cout << "Problem in G4Penelope08PhotoElectricModel::GetShellCrossSection()" + << G4endl; + G4Exception(); + } + G4double logene = std::log(energy); + G4double logXS = totalXSLog->Value(logene); + G4double cross = std::exp(logXS); + if (cross < 2e-40*cm2) cross = 0; + return cross; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4String G4Penelope08PhotoElectricModel::WriteTargetShell(size_t shellID) +{ + G4String theShell = "outer shell"; + if (shellID == 0) + theShell = "K"; + else if (shellID == 1) + theShell = "L1"; + else if (shellID == 2) + theShell = "L2"; + else if (shellID == 3) + theShell = "L3"; + else if (shellID == 4) + theShell = "M1"; + else if (shellID == 5) + theShell = "M2"; + else if (shellID == 6) + theShell = "M3"; + else if (shellID == 7) + theShell = "M4"; + else if (shellID == 8) + theShell = "M5"; + + return theShell; +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4Penelope08RayleighModel.cc b/source/processes/electromagnetic/lowenergy/src/G4Penelope08RayleighModel.cc new file mode 100644 index 0000000000..9528ffcc70 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4Penelope08RayleighModel.cc @@ -0,0 +1,1155 @@ +// +// ******************************************************************** +// * 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: G4Penelope08RayleighModel.cc,v 1.3 2010/07/28 07:09:16 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Luciano Pandola +// +// History: +// -------- +// 03 Dec 2009 L Pandola First implementation +// + +#include "G4Penelope08RayleighModel.hh" +#include "G4PenelopeSamplingData.hh" +#include "G4ParticleDefinition.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4ProductionCutsTable.hh" +#include "G4DynamicParticle.hh" +#include "G4PhysicsTable.hh" +#include "G4ElementTable.hh" +#include "G4Element.hh" +#include "G4PhysicsFreeVector.hh" + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +G4Penelope08RayleighModel::G4Penelope08RayleighModel(const G4ParticleDefinition*, + const G4String& nam) + :G4VEmModel(nam),isInitialised(false),logAtomicCrossSection(0), + atomicFormFactor(0),logFormFactorTable(0),pMaxTable(0),samplingTable(0) +{ + fIntrinsicLowEnergyLimit = 100.0*eV; + fIntrinsicHighEnergyLimit = 100.0*GeV; + // SetLowEnergyLimit(fIntrinsicLowEnergyLimit); + SetHighEnergyLimit(fIntrinsicHighEnergyLimit); + // + verboseLevel= 0; + // Verbosity scale: + // 0 = nothing + // 1 = warning for energy non-conservation + // 2 = details of energy budget + // 3 = calculation of cross sections, file openings, sampling of atoms + // 4 = entering in methods + + //build the energy grid. It is the same for all materials + G4double logenergy = std::log(fIntrinsicLowEnergyLimit/2.); + G4double logmaxenergy = std::log(1.5*fIntrinsicHighEnergyLimit); + //finer grid below 160 keV + G4double logtransitionenergy = std::log(160*keV); + G4double logfactor1 = std::log(10.)/250.; + G4double logfactor2 = logfactor1*10; + logEnergyGridPMax.push_back(logenergy); + do{ + if (logenergy < logtransitionenergy) + logenergy += logfactor1; + else + logenergy += logfactor2; + logEnergyGridPMax.push_back(logenergy); + }while (logenergy < logmaxenergy); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4Penelope08RayleighModel::~G4Penelope08RayleighModel() +{ + std::map ::iterator i; + if (logAtomicCrossSection) + { + for (i=logAtomicCrossSection->begin();i != logAtomicCrossSection->end();i++) + if (i->second) delete i->second; + delete logAtomicCrossSection; + } + + if (atomicFormFactor) + { + for (i=atomicFormFactor->begin();i != atomicFormFactor->end();i++) + if (i->second) delete i->second; + delete atomicFormFactor; + } + + ClearTables(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4Penelope08RayleighModel::ClearTables() +{ + std::map ::iterator i; + + if (logFormFactorTable) + { + for (i=logFormFactorTable->begin(); i != logFormFactorTable->end(); i++) + if (i->second) delete i->second; + delete logFormFactorTable; + logFormFactorTable = 0; //zero explicitely + } + + if (pMaxTable) + { + for (i=pMaxTable->begin(); i != pMaxTable->end(); i++) + if (i->second) delete i->second; + delete pMaxTable; + pMaxTable = 0; //zero explicitely + } + + std::map::iterator ii; + if (samplingTable) + { + for (ii=samplingTable->begin(); ii != samplingTable->end(); ii++) + if (ii->second) delete ii->second; + delete samplingTable; + samplingTable = 0; //zero explicitely + } + + return; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08RayleighModel::Initialise(const G4ParticleDefinition* , + const G4DataVector& ) +{ + if (verboseLevel > 3) + G4cout << "Calling G4Penelope08RayleighModel::Initialise()" << G4endl; + + //clear tables depending on materials, not the atomic ones + ClearTables(); + + //create new tables + // + // logAtomicCrossSection and atomicFormFactor are created only once, + // since they are never cleared + if (!logAtomicCrossSection) + logAtomicCrossSection = new std::map; + if (!atomicFormFactor) + atomicFormFactor = new std::map; + + if (!logFormFactorTable) + logFormFactorTable = new std::map; + if (!pMaxTable) + pMaxTable = new std::map; + if (!samplingTable) + samplingTable = new std::map; + + + if (verboseLevel > 0) { + G4cout << "Penelope08 Rayleigh model is initialized " << G4endl + << "Energy range: " + << LowEnergyLimit() / keV << " keV - " + << HighEnergyLimit() / GeV << " GeV" + << G4endl; + } + + if(isInitialised) return; + fParticleChange = GetParticleChangeForGamma(); + isInitialised = true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08RayleighModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double energy, + G4double Z, + G4double, + G4double, + G4double) +{ + // Cross section of Rayleigh scattering in Penelope2008 is calculated by the EPDL97 + // tabulation, Cuellen et al. (1997), with non-relativistic form factors from Hubbel + // et al. J. Phys. Chem. Ref. Data 4 (1975) 471; Erratum ibid. 6 (1977) 615. + + if (verboseLevel > 3) + G4cout << "Calling CrossSectionPerAtom() of G4Penelope08RayleighModel" << G4endl; + + G4int iZ = (G4int) Z; + + //read data files + if (!logAtomicCrossSection->count(iZ)) + ReadDataFile(iZ); + //now it should be ok + if (!logAtomicCrossSection->count(iZ)) + { + G4cout << "Problem in G4Penelope08RayleighModel::ComputeCrossSectionPerAtom" + << G4endl; + G4Exception(); + } + + G4double cross = 0; + + G4PhysicsFreeVector* atom = logAtomicCrossSection->find(iZ)->second; + if (!atom) + { + G4cout << "Problem in G4Penelope08RayleighModel::ComputeCrossSectionPerAtom" + << G4endl; + G4Exception(); + } + G4double logene = std::log(energy); + G4double logXS = atom->Value(logene); + cross = std::exp(logXS); + + if (verboseLevel > 2) + G4cout << "Rayleigh cross section at " << energy/keV << " keV for Z=" << Z << + " = " << cross/barn << " barn" << G4endl; + return cross; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4Penelope08RayleighModel::BuildFormFactorTable(const G4Material* material) +{ + + /* + 1) get composition and equivalent molecular density + */ + + G4int nElements = material->GetNumberOfElements(); + const G4ElementVector* elementVector = material->GetElementVector(); + const G4double* fractionVector = material->GetFractionVector(); + + std::vector *StechiometricFactors = new std::vector; + for (G4int i=0;iGetA()/(g/mole); + StechiometricFactors->push_back(fraction/atomicWeigth); + } + //Find max + G4double MaxStechiometricFactor = 0.; + for (G4int i=0;i MaxStechiometricFactor) + MaxStechiometricFactor = (*StechiometricFactors)[i]; + } + if (MaxStechiometricFactor<1e-16) + { + G4cout << "G4Penelope08RayleighModel::BuildFormFactorTable" << G4endl; + G4cout << "Problem with the mass composition of " << material->GetName() << G4endl; + G4Exception(); + } + //Normalize + for (G4int i=0;iSetSpline(true); + + for (size_t k=0;kGetZ(); + G4PhysicsFreeVector* theAtomVec = atomicFormFactor->find(iZ)->second; + G4double f = (*theAtomVec)[k]; //the q-grid is always the same + ff2 += f*f*(*StechiometricFactors)[i]; + } + if (ff2) + theFFVec->PutValue(k,logQSquareGrid[k],std::log(ff2)); //NOTICE: THIS IS log(Q^2) vs. log(F^2) + } + logFormFactorTable->insert(std::make_pair(material,theFFVec)); + + delete StechiometricFactors; + + return; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08RayleighModel::SampleSecondaries(std::vector* , + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicGamma, + G4double, + G4double) +{ + // Sampling of the Rayleigh final state (namely, scattering angle of the photon) + // from the Penelope2008 model. The scattering angle is sampled from the atomic + // cross section dOmega/d(cosTheta) from Born ("Atomic Phyisics", 1969), disregarding + // anomalous scattering effects. The Form Factor F(Q) function which appears in the + // analytical cross section is retrieved via the method GetFSquared(); atomic data + // are tabulated for F(Q). Form factor for compounds is calculated according to + // the additivity rule. The sampling from the F(Q) is made via a Rational Inverse + // Transform with Aliasing (RITA) algorithm; RITA parameters are calculated once + // for each material and managed by G4PenelopeSamplingData objects. + // The sampling algorithm (rejection method) has efficiency 67% at low energy, and + // increases with energy. For E=100 keV the efficiency is 100% and 86% for + // hydrogen and uranium, respectively. + + if (verboseLevel > 3) + G4cout << "Calling SamplingSecondaries() of G4Penelope08RayleighModel" << G4endl; + + G4double photonEnergy0 = aDynamicGamma->GetKineticEnergy(); + + if (photonEnergy0 <= fIntrinsicLowEnergyLimit) + { + fParticleChange->ProposeTrackStatus(fStopAndKill); + fParticleChange->SetProposedKineticEnergy(0.); + fParticleChange->ProposeLocalEnergyDeposit(photonEnergy0); + return ; + } + + G4ParticleMomentum photonDirection0 = aDynamicGamma->GetMomentumDirection(); + + const G4Material* theMat = couple->GetMaterial(); + + //1) Verify if tables are ready + if (!pMaxTable || !samplingTable) + { + G4cout << " G4Penelope08RayleighModel::SampleSecondaries" << G4endl; + G4cout << "Looks like the model is _not_ properly initialized" << G4endl; + G4Exception(); + } + + //2) retrieve or build the sampling table + if (!(samplingTable->count(theMat))) + InitializeSamplingAlgorithm(theMat); + G4PenelopeSamplingData* theDataTable = samplingTable->find(theMat)->second; + + //3) retrieve or build the pMax data + if (!pMaxTable->count(theMat)) + GetPMaxTable(theMat); + G4PhysicsFreeVector* thePMax = pMaxTable->find(theMat)->second; + + G4double cosTheta = 1.0; + + //OK, ready to go! + G4double qmax = 2.0*photonEnergy0/electron_mass_c2; //this is non-dimensional now + + if (qmax < 1e-10) //very low momentum transfer + { + G4bool loopAgain=false; + do + { + loopAgain = false; + cosTheta = 1.0-2.0*G4UniformRand(); + G4double G = 0.5*(1+cosTheta*cosTheta); + if (G4UniformRand()>G) + loopAgain = true; + }while(loopAgain); + } + else //larger momentum transfer + { + size_t nData = theDataTable->GetNumberOfStoredPoints(); + G4double LastQ2inTheTable = theDataTable->GetX(nData-1); + G4double q2max = std::min(qmax*qmax,LastQ2inTheTable); + + G4bool loopAgain = false; + G4double MaxPValue = thePMax->Value(photonEnergy0); + G4double xx=0; + + //Sampling by rejection method. The rejection function is + //G = 0.5*(1+cos^2(theta)) + // + do{ + loopAgain = false; + G4double RandomMax = G4UniformRand()*MaxPValue; + xx = theDataTable->SampleValue(RandomMax); + //xx is a random value of q^2 in (0,q2max),sampled according to + //F(Q^2) via the RITA algorithm + if (xx > q2max) + loopAgain = true; + cosTheta = 1.0-2.0*xx/q2max; + G4double G = 0.5*(1+cosTheta*cosTheta); + if (G4UniformRand()>G) + loopAgain = true; + }while(loopAgain); + } + + G4double sinTheta = std::sqrt(1-cosTheta*cosTheta); + + // Scattered photon angles. ( Z - axis along the parent photon) + G4double phi = twopi * G4UniformRand() ; + G4double dirX = sinTheta*std::cos(phi); + G4double dirY = sinTheta*std::sin(phi); + G4double dirZ = cosTheta; + + // Update G4VParticleChange for the scattered photon + G4ThreeVector photonDirection1(dirX, dirY, dirZ); + + photonDirection1.rotateUz(photonDirection0); + fParticleChange->ProposeMomentumDirection(photonDirection1) ; + fParticleChange->SetProposedKineticEnergy(photonEnergy0) ; + + return; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08RayleighModel::ReadDataFile(const G4int Z) +{ + if (verboseLevel > 2) + { + G4cout << "G4Penelope08RayleighModel::ReadDataFile()" << G4endl; + G4cout << "Going to read Rayleigh data files for Z=" << Z << G4endl; + } + + char* path = getenv("G4LEDATA"); + if (!path) + { + G4String excep = "G4Penelope08RayleighModel - G4LEDATA environment variable not set!"; + G4Exception(excep); + } + + /* + Read first the cross section file + */ + std::ostringstream ost; + if (Z>9) + ost << path << "/penelope/rayleigh/pdgra" << Z << ".p08"; + else + ost << path << "/penelope/rayleigh/pdgra0" << Z << ".p08"; + std::ifstream file(ost.str().c_str()); + if (!file.is_open()) + { + G4String excep = "G4Penelope08RayleighModel - data file " + G4String(ost.str()) + " not found!"; + G4Exception(excep); + } + G4int readZ =0; + size_t nPoints= 0; + file >> readZ >> nPoints; + //check the right file is opened. + if (readZ != Z || nPoints <= 0) + { + G4cout << "G4Penelope08RayleighModel::ReadDataFile()" << G4endl; + G4cout << "Corrupted data file for Z=" << Z << G4endl; + G4Exception(); + } + G4PhysicsFreeVector* theVec = new G4PhysicsFreeVector((size_t)nPoints); + G4double ene=0,f1=0,f2=0,xs=0; + for (size_t i=0;i> ene >> f1 >> f2 >> xs; + //dimensional quantities + ene *= eV; + xs *= cm2; + theVec->PutValue(i,std::log(ene),std::log(xs)); + if (file.eof() && i != (nPoints-1)) //file ended too early + { + G4cout << "G4Penelope08RayleighModel::ReadDataFile()" << G4endl; + G4cout << "Corrupted data file for Z=" << Z << G4endl; + G4cout << "Found less than " << nPoints << "entries " <insert(std::make_pair(Z,theVec)); + file.close(); + + /* + Then read the form factor file + */ + std::ostringstream ost2; + if (Z>9) + ost2 << path << "/penelope/rayleigh/pdaff" << Z << ".p08"; + else + ost2 << path << "/penelope/rayleigh/pdaff0" << Z << ".p08"; + file.open(ost2.str().c_str()); + if (!file.is_open()) + { + G4String excep = "G4Penelope08RayleighModel - data file " + G4String(ost2.str()) + " not found!"; + G4Exception(excep); + } + file >> readZ >> nPoints; + //check the right file is opened. + if (readZ != Z || nPoints <= 0) + { + G4cout << "G4Penelope08RayleighModel::ReadDataFile()" << G4endl; + G4cout << "Corrupted data file for Z=" << Z << G4endl; + G4Exception(); + } + G4PhysicsFreeVector* theFFVec = new G4PhysicsFreeVector((size_t)nPoints); + G4double q=0,ff=0,incoh=0; + G4bool fillQGrid = false; + //fill this vector only the first time. + if (!logQSquareGrid.size()) + fillQGrid = true; + for (size_t i=0;i> q >> ff >> incoh; + //q and ff are dimensionless (q is in units of (m_e*c) + theFFVec->PutValue(i,q,ff); + if (fillQGrid) + { + logQSquareGrid.push_back(2.0*std::log(q)); + } + if (file.eof() && i != (nPoints-1)) //file ended too early + { + G4cout << "G4Penelope08RayleighModel::ReadDataFile()" << G4endl; + G4cout << "Corrupted data file for Z=" << Z << G4endl; + G4cout << "Found less than " << nPoints << "entries " <insert(std::make_pair(Z,theFFVec)); + file.close(); + return; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4Penelope08RayleighModel::GetFSquared(const G4Material* mat, const G4double QSquared) +{ + G4double f2 = 0; + G4double logQSquared = std::log(QSquared); + //last value of the table + G4double maxlogQ2 = logQSquareGrid[logQSquareGrid.size()-1]; + //If the table has not been built for the material, do it! + if (!logFormFactorTable->count(mat)) + BuildFormFactorTable(mat); + + //now it should be all right + G4PhysicsFreeVector* theVec = logFormFactorTable->find(mat)->second; + + if (!theVec) + { + G4cout << " G4Penelope08RayleighModel::GetFSquared()" << G4endl; + G4cout << "Unable to retrieve F squared table for " << mat->GetName(); + G4Exception(); + } + if (logQSquared < -20) // Q < 1e-9 + { + G4double logf2 = (*theVec)[0]; //first value of the table + f2 = std::exp(logf2); + } + else if (logQSquared > maxlogQ2) + f2 =0; + else + { + //log(Q^2) vs. log(F^2) + G4double logf2 = theVec->Value(logQSquared); + f2 = std::exp(logf2); + + } + if (verboseLevel > 3) + { + G4cout << "G4Penelope08RayleighModel::GetFSquared() in " << mat->GetName() << G4endl; + G4cout << "Q^2 = " << QSquared << " (units of 1/(m_e*c); F^2 = " << f2 << G4endl; + } + return f2; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08RayleighModel::InitializeSamplingAlgorithm(const G4Material* mat) +{ + G4double q2min = 0; + G4double q2max = 0; + const size_t np = 150; //hard-coded in Penelope + for (size_t i=1;i 1e-35) + { + q2max = std::exp(logQSquareGrid[i-1]); + } + } + + size_t nReducedPoints = np/4; + + //check for errors + if (np < 16) + { + G4cout << "G4Penelope08RayleighModel::InitializeSamplingAlgorithm" << G4endl; + G4cout << "Too few points to initialize the sampling algorithm" << G4endl; + G4Exception(); + } + if (q2min > (q2max-1e-10)) + { + G4cout << "G4Penelope08RayleighModel::InitializeSamplingAlgorithm" << G4endl; + G4cout << "Too narrow grid to initialize the sampling algorithm" << G4endl; + G4Exception(); + } + + //This is subroutine RITAI0 of Penelope + //Create an object of type G4Penelope08RayleighSamplingData --> store in a map::Material* + + //temporary vectors --> Then everything is stored in G4PenelopeSamplingData + G4DataVector* x = new G4DataVector(); + + /******************************************************************************* + Start with a grid of NUNIF points uniformly spaced in the interval q2min,q2max + ********************************************************************************/ + size_t NUNIF = std::min(std::max(((size_t)8),nReducedPoints),np/2); + const G4int nip = 51; //hard-coded in Penelope + + G4double dx = (q2max-q2min)/((G4double) NUNIF-1); + x->push_back(q2min); + for (size_t i=1;ipush_back(app); //increase + } + x->push_back(q2max); + + if (verboseLevel> 3) + G4cout << "Vector x has " << x->size() << " points, while NUNIF = " << NUNIF << G4endl; + + //Allocate temporary storage vectors + G4DataVector* area = new G4DataVector(); + G4DataVector* a = new G4DataVector(); + G4DataVector* b = new G4DataVector(); + G4DataVector* c = new G4DataVector(); + G4DataVector* err = new G4DataVector(); + + for (size_t i=0;ipush_back(pdfk); + pdfmax = std::max(pdfmax,pdfk); + if (k < (nip-1)) + { + G4double xih = xik + 0.5*dxi; + G4double pdfIK = std::max(GetFSquared(mat,xih),0.); + pdfih->push_back(pdfIK); + pdfmax = std::max(pdfmax,pdfIK); + } + } + + //Simpson's integration + G4double cons = dxi*0.5*(1./3.); + sumi->push_back(0.); + for (G4int k=1;kpush_back(next); + } + + G4double lastIntegral = (*sumi)[sumi->size()-1]; + area->push_back(lastIntegral); + //Normalize cumulative function + G4double factor = 1.0/lastIntegral; + for (size_t k=0;ksize();k++) + (*sumi)[k] *= factor; + + //When the PDF vanishes at one of the interval end points, its value is modified + if ((*pdfi)[0] < 1e-35) + (*pdfi)[0] = 1e-5*pdfmax; + if ((*pdfi)[pdfi->size()-1] < 1e-35) + (*pdfi)[pdfi->size()-1] = 1e-5*pdfmax; + + G4double pli = (*pdfi)[0]*factor; + G4double pui = (*pdfi)[pdfi->size()-1]*factor; + G4double B_temp = 1.0-1.0/(pli*pui*dx*dx); + G4double A_temp = (1.0/(pli*dx))-1.0-B_temp; + G4double C_temp = 1.0+A_temp+B_temp; + if (C_temp < 1e-35) + { + a->push_back(0.); + b->push_back(0.); + c->push_back(1.); + } + else + { + a->push_back(A_temp); + b->push_back(B_temp); + c->push_back(C_temp); + } + + //OK, now get ERR(I), the integral of the absolute difference between the rational interpolation + //and the true pdf, extended over the interval (X(I),X(I+1)) + G4int icase = 1; //loop code + G4bool reLoop = false; + err->push_back(0.); + do + { + reLoop = false; + (*err)[i] = 0.; //zero variable + for (G4int k=0;k 0.1*(*area)[i] && icase == 1) + { + (*b)[i] = 0; + (*a)[i] = 0; + (*c)[i] = 1.; + icase = 2; + reLoop = true; + } + }while(reLoop); + + if (pdfi) delete pdfi; + if (pdfih) delete pdfih; + if (sumi) delete sumi; + } //end of first loop over i + + //Now assign last point + (*x)[x->size()-1] = q2max; + a->push_back(0.); + b->push_back(0.); + c->push_back(0.); + err->push_back(0.); + area->push_back(0.); + + if (x->size() != NUNIF || a->size() != NUNIF || + err->size() != NUNIF || area->size() != NUNIF) + { + G4cout << "G4Penelope08RayleighModel::InitializeSamplingAlgorithm" << G4endl; + G4cout << "Problem in building the Table for Sampling: array dimensions do not match " << G4endl; + G4Exception(); + } + + /******************************************************************************* + New grid points are added by halving the sub-intervals with the largest absolute error + This is done up to np=150 points in the grid + ********************************************************************************/ + do + { + G4double maxError = 0.0; + size_t iErrMax = 0; + for (size_t i=0;isize()-2;i++) + { + //maxError is the lagest of the interval errors err[i] + if ((*err)[i] > maxError) + { + maxError = (*err)[i]; + iErrMax = i; + } + } + + //OK, now I have to insert one new point in the position iErrMax + G4double newx = 0.5*((*x)[iErrMax]+(*x)[iErrMax+1]); + + x->insert(x->begin()+iErrMax+1,newx); + //Add place-holders in the other vectors + area->insert(area->begin()+iErrMax+1,0.); + a->insert(a->begin()+iErrMax+1,0.); + b->insert(b->begin()+iErrMax+1,0.); + c->insert(c->begin()+iErrMax+1,0.); + err->insert(err->begin()+iErrMax+1,0.); + + //Now calculate the other parameters + for (size_t i=iErrMax;i<=iErrMax+1;i++) + { + //Temporary vectors for this loop + G4DataVector* pdfi = new G4DataVector(); + G4DataVector* pdfih = new G4DataVector(); + G4DataVector* sumi = new G4DataVector(); + + G4double dx = (*x)[i+1]-(*x)[i]; + G4double dxi = ((*x)[i+1]-(*x)[i])/(G4double (nip-1)); + G4double pdfmax = 0; + for (G4int k=0;kpush_back(pdfk); + pdfmax = std::max(pdfmax,pdfk); + if (k < (nip-1)) + { + G4double xih = xik + 0.5*dxi; + G4double pdfIK = std::max(GetFSquared(mat,xih),0.); + pdfih->push_back(pdfIK); + pdfmax = std::max(pdfmax,pdfIK); + } + } + + //Simpson's integration + G4double cons = dxi*0.5*(1./3.); + sumi->push_back(0.); + for (G4int k=1;kpush_back(next); + } + G4double lastIntegral = (*sumi)[sumi->size()-1]; + (*area)[i] = lastIntegral; + + //Normalize cumulative function + G4double factor = 1.0/lastIntegral; + for (size_t k=0;ksize();k++) + (*sumi)[k] *= factor; + + //When the PDF vanishes at one of the interval end points, its value is modified + if ((*pdfi)[0] < 1e-35) + (*pdfi)[0] = 1e-5*pdfmax; + if ((*pdfi)[pdfi->size()-1] < 1e-35) + (*pdfi)[pdfi->size()-1] = 1e-5*pdfmax; + + G4double pli = (*pdfi)[0]*factor; + G4double pui = (*pdfi)[pdfi->size()-1]*factor; + G4double B_temp = 1.0-1.0/(pli*pui*dx*dx); + G4double A_temp = (1.0/(pli*dx))-1.0-B_temp; + G4double C_temp = 1.0+A_temp+B_temp; + if (C_temp < 1e-35) + { + (*a)[i]= 0.; + (*b)[i] = 0.; + (*c)[i] = 0; + } + else + { + (*a)[i]= A_temp; + (*b)[i] = B_temp; + (*c)[i] = C_temp; + } + //OK, now get ERR(I), the integral of the absolute difference between the rational interpolation + //and the true pdf, extended over the interval (X(I),X(I+1)) + G4int icase = 1; //loop code + G4bool reLoop = false; + do + { + reLoop = false; + (*err)[i] = 0.; //zero variable + for (G4int k=0;k 0.1*(*area)[i] && icase == 1) + { + (*b)[i] = 0; + (*a)[i] = 0; + (*c)[i] = 1.; + icase = 2; + reLoop = true; + } + }while(reLoop); + if (pdfi) delete pdfi; + if (pdfih) delete pdfih; + if (sumi) delete sumi; + } + }while(x->size() < np); + + if (x->size() != np || a->size() != np || + err->size() != np || area->size() != np) + { + G4cout << "G4Penelope08RayleighModel::InitializeSamplingAlgorithm" << G4endl; + G4cout << "Problem in building the extended Table for Sampling: array dimensions do not match " << G4endl; + G4Exception(); + } + + /******************************************************************************* + Renormalization + ********************************************************************************/ + G4double ws = 0; + for (size_t i=0;ipush_back(0.); + for (size_t i=0;ipush_back(previous+(*area)[i]); + } + (*PAC)[PAC->size()-1] = 1.; + + /******************************************************************************* + Pre-calculated limits for the initial binary search for subsequent sampling + ********************************************************************************/ + + //G4DataVector* ITTL = new G4DataVector(); + std::vector *ITTL = new std::vector; + std::vector *ITTU = new std::vector; + + //Just create place-holders + for (size_t i=0;ipush_back(0); + ITTU->push_back(0); + } + + G4double bin = 1.0/(np-1); + (*ITTL)[0]=0; + for (size_t i=1;i<(np-1);i++) + { + G4double ptst = i*bin; + G4bool found = false; + for (size_t j=(*ITTL)[i-1];j ptst) + { + (*ITTL)[i] = j-1; + (*ITTU)[i-1] = j; + found = true; + } + } + } + (*ITTU)[ITTU->size()-2] = ITTU->size()-1; + (*ITTU)[ITTU->size()-1] = ITTU->size()-1; + (*ITTL)[ITTL->size()-1] = ITTU->size()-2; + + if (ITTU->size() != np || ITTU->size() != np) + { + G4cout << "G4Penelope08RayleighModel::InitializeSamplingAlgorithm" << G4endl; + G4cout << "Problem in building the Limit Tables for Sampling: array dimensions do not match " << G4endl; + G4Exception(); + } + + + /******************************************************************************** + Copy tables + ********************************************************************************/ + G4PenelopeSamplingData* theTable = new G4PenelopeSamplingData(np); + for (size_t i=0;iAddPoint((*x)[i],(*PAC)[i],(*a)[i],(*b)[i],(*ITTL)[i],(*ITTU)[i]); + } + + if (verboseLevel > 2) + { + G4cout << "*************************************************************************" << G4endl; + G4cout << "Sampling table for Penelope Rayleigh scattering in " << mat->GetName() << G4endl; + theTable->DumpTable(); + } + samplingTable->insert(std::make_pair(mat,theTable)); + + + //Clean up temporary vectors + if (x) delete x; + if (a) delete a; + if (b) delete b; + if (c) delete c; + if (err) delete err; + if (area) delete area; + if (PAC) delete PAC; + if (ITTL) delete ITTL; + if (ITTU) delete ITTU; + + //DONE! + return; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08RayleighModel::GetPMaxTable(const G4Material* mat) +{ + if (!pMaxTable) + { + G4cout << "G4Penelope08RayleighModel::BuildPMaxTable" << G4endl; + G4cout << "Going to instanziate the pMaxTable !" << G4endl; + G4cout << "That should _not_ be here! " << G4endl; + pMaxTable = new std::map; + } + //check if the table is already there + if (pMaxTable->count(mat)) + return; + + //otherwise build it + if (!samplingTable) + { + G4cout << "G4Penelope08RayleighModel::BuildPMaxTable" << G4endl; + G4cout << "WARNING: samplingTable is not properly instantiated" << G4endl; + G4Exception(); + } + + if (!samplingTable->count(mat)) + InitializeSamplingAlgorithm(mat); + + G4PenelopeSamplingData *theTable = samplingTable->find(mat)->second; + size_t tablePoints = theTable->GetNumberOfStoredPoints(); + + size_t nOfEnergyPoints = logEnergyGridPMax.size(); + G4PhysicsFreeVector* theVec = new G4PhysicsFreeVector(nOfEnergyPoints); + + const size_t nip = 51; //hard-coded in Penelope + + for (size_t ie=0;ieGetX(0); + G4double lastQ2 = theTable->GetX(tablePoints-1); + G4double thePMax = 0; + + if (Qm2 > firstQ2) + { + if (Qm2 < lastQ2) + { + //bisection to look for the index of Qm + size_t lowerBound = 0; + size_t upperBound = tablePoints-1; + while (lowerBound <= upperBound) + { + size_t midBin = (lowerBound + upperBound)/2; + if( Qm2 < theTable->GetX(midBin)) + { upperBound = midBin-1; } + else + { lowerBound = midBin+1; } + } + //upperBound is the output (but also lowerBounf --> should be the same!) + G4double Q1 = theTable->GetX(upperBound); + G4double Q2 = Qm2; + G4double DQ = (Q2-Q1)/((G4double)(nip-1)); + G4double theA = theTable->GetA(upperBound); + G4double theB = theTable->GetB(upperBound); + G4double thePAC = theTable->GetPAC(upperBound); + G4DataVector* fun = new G4DataVector(); + for (size_t k=0;kGetX(upperBound+1)-Q1); + G4double con1 = 2.0*theB*tau; + G4double ci = 1.0+theA+theB; + G4double con2 = ci-theA*tau; + G4double etap = 0; + if (std::fabs(con1) > 1.0e-16*std::fabs(con2)) + etap = con2*(1.0-std::sqrt(1.0-2.0*tau*con1/(con2*con2)))/con1; + else + etap = tau/con2; + G4double theFun = (theTable->GetPAC(upperBound+1)-thePAC)* + (1.0+(theA+theB*etap)*etap)*(1.0+(theA+theB*etap)*etap)/ + ((1.0-theB*etap*etap)*ci*(theTable->GetX(upperBound+1)-Q1)); + fun->push_back(theFun); + } + //Now intergrate numerically the fun Cavalieri-Simpson's method + G4DataVector* sum = new G4DataVector; + G4double CONS = DQ*(1./12.); + G4double HCONS = 0.5*CONS; + sum->push_back(0.); + G4double secondPoint = (*sum)[0] + + (5.0*(*fun)[0]+8.0*(*fun)[1]-(*fun)[2])*CONS; + sum->push_back(secondPoint); + for (size_t hh=2;hhpush_back(next); + } + G4double last = (*sum)[nip-2]+(5.0*(*fun)[nip-1]+8.0*(*fun)[nip-2]- + (*fun)[nip-3])*CONS; + sum->push_back(last); + thePMax = thePAC + (*sum)[sum->size()-1]; //last point + if (fun) delete fun; + if (sum) delete sum; + } + else + { + thePMax = 1.0; + } + } + else + { + thePMax = theTable->GetPAC(0); + } + + //Write number in the table + theVec->PutValue(ie,energy,thePMax); + } + + pMaxTable->insert(std::make_pair(mat,theVec)); + return; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4Penelope08RayleighModel::DumpFormFactorTable(const G4Material* mat) +{ + G4cout << "*****************************************************************" << G4endl; + G4cout << "G4Penelope08RayleighModel: Form Factor Table for " << mat->GetName() << G4endl; + //try to use the same format as Penelope-Fortran, namely Q (/m_e*c) and F + G4cout << "Q/(m_e*c) F(Q) " << G4endl; + G4cout << "*****************************************************************" << G4endl; + if (!logFormFactorTable->count(mat)) + BuildFormFactorTable(mat); + + G4PhysicsFreeVector* theVec = logFormFactorTable->find(mat)->second; + for (size_t i=0;iGetVectorLength();i++) + { + G4double logQ2 = theVec->GetLowEdgeEnergy(i); + G4double Q = std::exp(0.5*logQ2); + G4double logF2 = (*theVec)[i]; + G4double F = std::exp(0.5*logF2); + G4cout << Q << " " << F << G4endl; + } + //DONE + return; +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungAngular.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungAngular.cc index 3dfcf07715..fcd5c440b7 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungAngular.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungAngular.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PenelopeBremsstrahlungAngular.cc,v 1.8 2009/06/10 13:32:36 mantero Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PenelopeBremsstrahlungAngular.cc,v 1.10 2010/12/01 15:20:20 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------- // @@ -77,6 +77,7 @@ void G4PenelopeBremsstrahlungAngular::InterpolationTableForZ() { G4String excep = "G4PenelopeBremsstrahlungAngular - G4LEDATA environment variable not set!"; G4Exception(excep); + return; } G4String pathString(path); G4String pathFile = pathString + "/penelope/br-ang-pen.dat"; @@ -92,10 +93,11 @@ void G4PenelopeBremsstrahlungAngular::InterpolationTableForZ() G4double a1,a2; while(i != -1) { file >> i >> j >> k >> a1 >> a2; - if (i > -1){ - QQ1[i][j][k]=a1; - QQ2[i][j][k]=a2; - } + if (i > -1 && j > -1 && k >- 1) + { + QQ1[i][j][k]=a1; + QQ2[i][j][k]=a2; + } } file.close(); diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungContinuous.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungContinuous.cc index 119f89a1bb..5af68de9dd 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungContinuous.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungContinuous.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PenelopeBremsstrahlungContinuous.cc,v 1.12 2009/06/10 13:32:36 mantero Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PenelopeBremsstrahlungContinuous.cc,v 1.13 2010/11/25 09:43:47 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // -------------------------------------------------------------- // @@ -88,6 +88,7 @@ void G4PenelopeBremsstrahlungContinuous::LoadFromFile() { G4String excep = "G4PenelopeBremsstrahlungContinuous - G4LEDATA environment variable not set!"; G4Exception(excep); + return; } G4String pathString(path); G4String filename = "br-pen-cont-"; diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungModel.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungModel.cc index b5bba2b40d..ec4e947ab8 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PenelopeBremsstrahlungModel.cc,v 1.7 2009/06/11 15:47:08 mantero Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PenelopeBremsstrahlungModel.cc,v 1.8 2010/11/25 09:44:05 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Luciano Pandola // -------- @@ -182,8 +182,12 @@ void G4PenelopeBremsstrahlungModel::Initialise(const G4ParticleDefinition* parti crossSectionHandler->LoadData("penelope/br-cs-pos-"); //cross section for positrons //This is used to retrieve cross section values later on - crossSectionHandler->BuildMeanFreePathForMaterials(); - + G4VEMDataSet* emdata = + crossSectionHandler->BuildMeanFreePathForMaterials(); + //The method BuildMeanFreePathForMaterials() is required here only to force + //the building of an internal table: the output pointer can be deleted + delete emdata; + if (verboseLevel > 2) G4cout << "Loaded cross section files for PenelopeBremsstrahlungModel" << G4endl; diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeComptonModel.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeComptonModel.cc index 2691dacdfb..044d8ae6f5 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeComptonModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeComptonModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PenelopeComptonModel.cc,v 1.8 2009/10/23 09:29:24 pandola Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PenelopeComptonModel.cc,v 1.11 2010/12/01 15:20:26 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Luciano Pandola // @@ -80,10 +80,6 @@ G4PenelopeComptonModel::G4PenelopeComptonModel(const G4ParticleDefinition*, energyForIntegration = 0.0; ZForIntegration = 1; - //by default, the model will use atomic deexcitation - SetDeexcitationFlag(true); - ActivateAuger(false); - verboseLevel= 0; // Verbosity scale: // 0 = nothing @@ -92,6 +88,10 @@ G4PenelopeComptonModel::G4PenelopeComptonModel(const G4ParticleDefinition*, // 3 = calculation of cross sections, file openings, sampling of atoms // 4 = entering in methods + //by default, the model will use atomic deexcitation + SetDeexcitationFlag(true); + ActivateAuger(false); + //These vectors do not change when materials or cut change. //Therefore I can read it at the constructor ionizationEnergy = new std::map; @@ -107,20 +107,24 @@ G4PenelopeComptonModel::G4PenelopeComptonModel(const G4ParticleDefinition*, G4PenelopeComptonModel::~G4PenelopeComptonModel() { std::map ::iterator i; - for (i=ionizationEnergy->begin();i != ionizationEnergy->end();i++) - if (i->second) delete i->second; - for (i=hartreeFunction->begin();i != hartreeFunction->end();i++) - if (i->second) delete i->second; - for (i=occupationNumber->begin();i != occupationNumber->end();i++) - if (i->second) delete i->second; - - if (ionizationEnergy) - delete ionizationEnergy; + { + for (i=ionizationEnergy->begin();i != ionizationEnergy->end();i++) + if (i->second) delete i->second; + delete ionizationEnergy; + } if (hartreeFunction) - delete hartreeFunction; + { + for (i=hartreeFunction->begin();i != hartreeFunction->end();i++) + if (i->second) delete i->second; + delete hartreeFunction; + } if (occupationNumber) - delete occupationNumber; + { + for (i=occupationNumber->begin();i != occupationNumber->end();i++) + if (i->second) delete i->second; + delete occupationNumber; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -264,7 +268,8 @@ void G4PenelopeComptonModel::SampleSecondaries(std::vector* G4cout << "Selected " << anElement->GetName() << G4endl; const G4int nmax = 64; - G4double rn[nmax],pac[nmax]; + G4double rn[nmax]={0.0}; + G4double pac[nmax]={0.0}; G4double ki,ki1,ki2,ki3,taumin,a1,a2; G4double tau,TST; @@ -628,6 +633,7 @@ void G4PenelopeComptonModel::ReadData() { G4String excep = "G4PenelopeComptonModel - G4LEDATA environment variable not set!"; G4Exception(excep); + return; } G4String pathString(path); G4String pathFile = pathString + "/penelope/compton-pen.dat"; @@ -647,15 +653,23 @@ void G4PenelopeComptonModel::ReadData() { G4String excep = "G4PenelopeComptonModel: problem with reading data from file"; G4Exception(excep); + return; } do{ G4double harOfElectronsBelowThreshold = 0; - G4int nbOfElectronsBelowThreshold = 0; + G4int nbOfElectronsBelowThreshold = 0; + file >> Z >> nLevels; + //Check for nLevels validity, before using it in a loop + if (nLevels<0 || nLevels>64) + { + G4String excep = "G4PenelopeComptonModel: corrupted data file?"; + G4Exception(excep); + return; + } G4DataVector* occVector = new G4DataVector; G4DataVector* harVector = new G4DataVector; G4DataVector* bindingEVector = new G4DataVector; - file >> Z >> nLevels; for (G4int h=0;h> k1 >> a1 >> a2; diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeCrossSection.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeCrossSection.cc new file mode 100644 index 0000000000..f4efd8e082 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeCrossSection.cc @@ -0,0 +1,405 @@ +// +// ******************************************************************** +// * 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: G4PenelopeCrossSection.cc,v 1.2 2010/12/15 07:39:14 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Luciano Pandola +// +// History: +// -------- +// 18 Mar 2010 L Pandola First implementation +// +#include "G4PenelopeCrossSection.hh" +#include "G4PhysicsTable.hh" +#include "G4PhysicsFreeVector.hh" +#include "G4DataVector.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... +G4PenelopeCrossSection::G4PenelopeCrossSection(size_t nPointsE,size_t nShells) : + numberOfEnergyPoints(nPointsE),numberOfShells(nShells),softCrossSections(0), + hardCrossSections(0),shellCrossSections(0) +{ + //check the number of points is not zero + if (!numberOfEnergyPoints) + { + G4cout << "G4PenelopeCrossSection: invalid number of energy points " << G4endl; + G4Exception(); + } + + isNormalized = false; + + // 1) soft XS table + softCrossSections = new G4PhysicsTable(); + //the table contains 3 G4PhysicsFreeVectors, + //(softCrossSections)[0] --> log XS0 vs. log E + //(softCrossSections)[1] --> log XS1 vs. log E + //(softCrossSections)[2] --> log XS2 vs. log E + + //everything is log-log + for (size_t i=0;i<3;i++) + softCrossSections->push_back(new G4PhysicsFreeVector(numberOfEnergyPoints)); + + //2) hard XS table + hardCrossSections = new G4PhysicsTable(); + //the table contains 3 G4PhysicsFreeVectors, + //(hardCrossSections)[0] --> log XH0 vs. log E + //(hardCrossSections)[1] --> log XH1 vs. log E + //(hardCrossSections)[2] --> log XH2 vs. log E + + //everything is log-log + for (size_t i=0;i<3;i++) + hardCrossSections->push_back(new G4PhysicsFreeVector(numberOfEnergyPoints)); + + //3) shell XS table, if it is the case + if (numberOfShells) + { + shellCrossSections = new G4PhysicsTable(); + //the table has to contain numberofShells G4PhysicsFreeVectors, + //(theTable)[ishell] --> cross section for shell #ishell + for (size_t i=0;ipush_back(new G4PhysicsFreeVector(numberOfEnergyPoints)); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... +G4PenelopeCrossSection::~G4PenelopeCrossSection() +{ + //clean up tables + if (shellCrossSections) + { + shellCrossSections->clearAndDestroy(); + delete shellCrossSections; + } + if (softCrossSections) + { + softCrossSections->clearAndDestroy(); + delete softCrossSections; + } + if (hardCrossSections) + { + hardCrossSections->clearAndDestroy(); + delete hardCrossSections; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... +void G4PenelopeCrossSection::AddCrossSectionPoint(size_t binNumber,G4double energy, + G4double XH0, + G4double XH1, G4double XH2, + G4double XS0, G4double XS1, + G4double XS2) +{ + if (!softCrossSections || !hardCrossSections) + { + G4cout << "Something wrong in G4PenelopeCrossSection::AddCrossSectionPoint" << + G4endl; + G4cout << "Trying to fill un-initialized tables" << G4endl; + return; + } + + //fill vectors + G4PhysicsFreeVector* theVector = (G4PhysicsFreeVector*) (*softCrossSections)[0]; + + if (binNumber >= numberOfEnergyPoints) + { + G4cout << "Something wrong in G4PenelopeCrossSection::AddCrossSectionPoint" << + G4endl; + G4cout << "Trying to register more points than originally declared" << G4endl; + return; + } + G4double logEne = std::log(energy); + + //XS0 + G4double val = std::log(std::max(XS0,1e-42*cm2)); //avoid log(0) + theVector->PutValue(binNumber,logEne,val); + + //XS1 + theVector = (G4PhysicsFreeVector*) (*softCrossSections)[1]; + val = std::log(std::max(XS1,1e-42*eV*cm2)); //avoid log(0) + theVector->PutValue(binNumber,logEne,val); + + //XS2 + theVector = (G4PhysicsFreeVector*) (*softCrossSections)[2]; + val = std::log(std::max(XS2,1e-42*eV*eV*cm2)); //avoid log(0) + theVector->PutValue(binNumber,logEne,val); + + //XH0 + theVector = (G4PhysicsFreeVector*) (*hardCrossSections)[0]; + val = std::log(std::max(XH0,1e-42*cm2)); //avoid log(0) + theVector->PutValue(binNumber,logEne,val); + + //XH1 + theVector = (G4PhysicsFreeVector*) (*hardCrossSections)[1]; + val = std::log(std::max(XH1,1e-42*eV*cm2)); //avoid log(0) + theVector->PutValue(binNumber,logEne,val); + + //XH2 + theVector = (G4PhysicsFreeVector*) (*hardCrossSections)[2]; + val = std::log(std::max(XH2,1e-42*eV*eV*cm2)); //avoid log(0) + theVector->PutValue(binNumber,logEne,val); + + return; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... + +void G4PenelopeCrossSection::AddShellCrossSectionPoint(size_t binNumber, + size_t shellID, + G4double energy, + G4double xs) +{ + if (!shellCrossSections) + { + G4cout << "Something wrong in G4PenelopeCrossSection::AddShellCrossSectionPoint" << + G4endl; + G4cout << "Trying to fill un-initialized table" << G4endl; + return; + } + + if (shellID >= numberOfShells) + { + G4cout << "Something wrong in G4PenelopeCrossSection::AddShellCrossSectionPoint" << + G4endl; + G4cout << "Trying to fill shell #" << shellID << " while the maximum is " + << numberOfShells-1 << G4endl; + return; + } + + //fill vector + G4PhysicsFreeVector* theVector = (G4PhysicsFreeVector*) (*shellCrossSections)[shellID]; + + if (binNumber >= numberOfEnergyPoints) + { + G4cout << "Something wrong in G4PenelopeCrossSection::AddShellCrossSectionPoint" << + G4endl; + G4cout << "Trying to register more points than originally declared" << G4endl; + return; + } + G4double logEne = std::log(energy); + G4double val = std::log(std::max(xs,1e-42*cm2)); //avoid log(0) + theVector->PutValue(binNumber,logEne,val); + + return; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... + +G4double G4PenelopeCrossSection::GetTotalCrossSection(G4double energy) +{ + G4double result = 0; + //take here XS0 + XH0 + if (!softCrossSections || !hardCrossSections) + { + G4cout << "Something wrong in G4PenelopeCrossSection::GetTotalCrossSection" << + G4endl; + G4cout << "Trying to retrieve from un-initialized tables" << G4endl; + return result; + } + + // 1) soft part + G4PhysicsFreeVector* theVector = (G4PhysicsFreeVector*) (*softCrossSections)[0]; + if (theVector->GetVectorLength() < numberOfEnergyPoints) + { + G4cout << "Something wrong in G4PenelopeCrossSection::GetTotalCrossSection" << + G4endl; + G4cout << "Soft cross section table looks not filled" << G4endl; + return result; + } + G4double logene = std::log(energy); + G4double logXS = theVector->Value(logene); + G4double softXS = std::exp(logXS); + + // 2) hard part + theVector = (G4PhysicsFreeVector*) (*hardCrossSections)[0]; + if (theVector->GetVectorLength() < numberOfEnergyPoints) + { + G4cout << "Something wrong in G4PenelopeCrossSection::GetTotalCrossSection" << + G4endl; + G4cout << "Hard cross section table looks not filled" << G4endl; + return result; + } + logXS = theVector->Value(logene); + G4double hardXS = std::exp(logXS); + + result = hardXS + softXS; + return result; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... + +G4double G4PenelopeCrossSection::GetHardCrossSection(G4double energy) +{ + G4double result = 0; + //take here XH0 + if (!hardCrossSections) + { + G4cout << "Something wrong in G4PenelopeCrossSection::GetHardCrossSection" << + G4endl; + G4cout << "Trying to retrieve from un-initialized tables" << G4endl; + return result; + } + + G4PhysicsFreeVector* theVector = (G4PhysicsFreeVector*) (*hardCrossSections)[0]; + if (theVector->GetVectorLength() < numberOfEnergyPoints) + { + G4cout << "Something wrong in G4PenelopeCrossSection::GetHardCrossSection" << + G4endl; + G4cout << "Hard cross section table looks not filled" << G4endl; + return result; + } + G4double logene = std::log(energy); + G4double logXS = theVector->Value(logene); + result = std::exp(logXS); + + return result; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... + +G4double G4PenelopeCrossSection::GetSoftStoppingPower(G4double energy) +{ + G4double result = 0; + //take here XH0 + if (!softCrossSections) + { + G4cout << "Something wrong in G4PenelopeCrossSection::GetSoftStoppingPower" << + G4endl; + G4cout << "Trying to retrieve from un-initialized tables" << G4endl; + return result; + } + + G4PhysicsFreeVector* theVector = (G4PhysicsFreeVector*) (*softCrossSections)[1]; + if (theVector->GetVectorLength() < numberOfEnergyPoints) + { + G4cout << "Something wrong in G4PenelopeCrossSection::GetSoftStoppingPower" << + G4endl; + G4cout << "Soft cross section table looks not filled" << G4endl; + return result; + } + G4double logene = std::log(energy); + G4double logXS = theVector->Value(logene); + result = std::exp(logXS); + + return result; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.. + +G4double G4PenelopeCrossSection::GetShellCrossSection(size_t shellID,G4double energy) +{ + G4double result = 0; + if (!shellCrossSections) + { + G4cout << "Something wrong in G4PenelopeCrossSection::GetShellCrossSection" << + G4endl; + G4cout << "Trying to retrieve from un-initialized tables" << G4endl; + return result; + } + if (shellID >= numberOfShells) + { + G4cout << "Something wrong in G4PenelopeCrossSection::GetShellCrossSection" << + G4endl; + G4cout << "Trying to retrieve shell #" << shellID << " while the maximum is " + << numberOfShells-1 << G4endl; + return result; + } + + G4PhysicsFreeVector* theVector = (G4PhysicsFreeVector*) (*shellCrossSections)[shellID]; + + if (theVector->GetVectorLength() < numberOfEnergyPoints) + { + G4cout << "Something wrong in G4PenelopeCrossSection::GetShellCrossSection" << + G4endl; + G4cout << "Soft cross section table looks not filled" << G4endl; + return result; + } + G4double logene = std::log(energy); + G4double logXS = theVector->Value(logene); + result = std::exp(logXS); + + return result; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.. + +void G4PenelopeCrossSection::NormalizeShellCrossSections() +{ + if (isNormalized) //already done! + { + G4cout << "G4PenelopeCrossSection::NormalizeShellCrossSections()" << G4endl; + G4cout << "already invoked. Ignore it" << G4endl; + return; + } + + for (size_t i=0;iGetLowEdgeEnergy(i); + //log(XS/normFactor) = log(XS) - log(normFactor) + theVec->PutValue(i,logEnergy,previousValue-logNormFactor); + } + } + + isNormalized = true; + + + /* + //TESTING + for (size_t shellID=0;shellIDGetLowEdgeEnergy(i); + G4cout << std::exp(logene)/MeV << " " << std::exp((*theVec)[i]) << G4endl; + } + } + */ + + return; +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeCrossSectionHandler.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeCrossSectionHandler.cc index 0944b02c68..826d61c55c 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeCrossSectionHandler.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeCrossSectionHandler.cc @@ -71,7 +71,7 @@ std::vector* G4PenelopeCrossSectionHandler::BuildCrossSectionsFor const G4DataVector& energyVector, const G4DataVector* energyCuts) { - G4int verbose = 0; + //G4int verbose = 0; std::vector* set = new std::vector; G4DataVector* energies; @@ -93,11 +93,13 @@ std::vector* G4PenelopeCrossSectionHandler::BuildCrossSectionsFor material->GetTotNbOfElectPerVolume(); //electron density G4int nElements = material->GetNumberOfElements(); + /* if(verbose > 0) { G4cout << "Penelope CS for " << m << "th material " << material->GetName() << " eEl= " << nElements << G4endl; } + */ G4double tcut = (*energyCuts)[m]; @@ -123,6 +125,7 @@ std::vector* G4PenelopeCrossSectionHandler::BuildCrossSectionsFor particle); value += cross * p * density; + /* if(verbose>0 && m == 0 && e>=1. && e<=0.) { G4cout << "G4PenIonCrossSH: e(MeV)= " << e/MeV << " cross= " << cross @@ -133,6 +136,7 @@ std::vector* G4PenelopeCrossSectionHandler::BuildCrossSectionsFor << " Z= " << Z << G4endl; } + */ } cs->push_back(value); diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeGammaConversionModel.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeGammaConversionModel.cc index 4a27c0f33b..11ac1a96ff 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeGammaConversionModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeGammaConversionModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PenelopeGammaConversionModel.cc,v 1.6 2009/06/11 15:47:08 mantero Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PenelopeGammaConversionModel.cc,v 1.7 2010/11/25 09:45:13 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Luciano Pandola // @@ -49,6 +49,7 @@ #include "G4Electron.hh" #include "G4Positron.hh" #include "G4CrossSectionHandler.hh" +#include "G4VEMDataSet.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -104,7 +105,11 @@ void G4PenelopeGammaConversionModel::Initialise(const G4ParticleDefinition*, G4String crossSectionFile = "penelope/pp-cs-pen-"; crossSectionHandler->LoadData(crossSectionFile); //This is used to retrieve cross section values later on - crossSectionHandler->BuildMeanFreePathForMaterials(); + G4VEMDataSet* emdata = + crossSectionHandler->BuildMeanFreePathForMaterials(); + //The method BuildMeanFreePathForMaterials() is required here only to force + //the building of an internal table: the output pointer can be deleted + delete emdata; if (verboseLevel > 2) G4cout << "Loaded cross section files for PenelopeGammaConversion" << G4endl; @@ -416,6 +421,7 @@ G4double G4PenelopeGammaConversionModel::GetScreeningRadius(G4double Z) { G4String excep = "G4PenelopeGammaConversionModel - G4LEDATA environment variable not set!"; G4Exception(excep); + return result; } G4String pathString(path); G4String pathFile = pathString + "/penelope/pp-pen.dat"; diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeIonisationModel.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeIonisationModel.cc index beb41d754b..62a4775482 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeIonisationModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeIonisationModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PenelopeIonisationModel.cc,v 1.10 2009/10/23 09:29:24 pandola Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PenelopeIonisationModel.cc,v 1.18 2010/12/01 15:20:35 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Luciano Pandola // @@ -41,6 +41,13 @@ // 21 Oct 2009 L Pandola Remove un-necessary fUseAtomicDeexcitation flag - now managed by // G4VEmModel::DeexcitationFlag() // Add ActivateAuger() method +// 15 Mar 2010 L Pandola Explicitely initialize Auger to false +// 29 Mar 2010 L Pandola Added a dummy ComputeCrossSectionPerAtom() method issueing a +// warning if users try to access atomic cross sections via +// G4EmCalculator +// 15 Apr 2010 L. Pandola Implemented model's own version of MinEnergyCut() +// 23 Apr 2010 L. Pandola Removed InitialiseElementSelectors() call. Useless here and +// triggers fake warning messages // #include "G4PenelopeIonisationModel.hh" @@ -79,8 +86,7 @@ G4PenelopeIonisationModel::G4PenelopeIonisationModel(const G4ParticleDefinition* // SetLowEnergyLimit(fIntrinsicLowEnergyLimit); SetHighEnergyLimit(fIntrinsicHighEnergyLimit); // - // Atomic deexcitation model activated by default - SetDeexcitationFlag(true); + // verboseLevel= 0; // Verbosity scale: @@ -89,6 +95,10 @@ G4PenelopeIonisationModel::G4PenelopeIonisationModel(const G4ParticleDefinition* // 2 = details of energy budget // 3 = calculation of cross sections, file openings, sampling of atoms // 4 = entering in methods + + // Atomic deexcitation model activated by default + SetDeexcitationFlag(true); + ActivateAuger(false); //These vectors do not change when materials or cut change. //Therefore I can read it at the constructor @@ -117,29 +127,36 @@ G4PenelopeIonisationModel::~G4PenelopeIonisationModel() std::map ::iterator i; - for (i=ionizationEnergy->begin();i != ionizationEnergy->end();i++) - if (i->second) delete i->second; - for (i=resonanceEnergy->begin();i != resonanceEnergy->end();i++) - if (i->second) delete i->second; - for (i=occupationNumber->begin();i != occupationNumber->end();i++) - if (i->second) delete i->second; - for (i=shellFlag->begin();i != shellFlag->end();i++) - if (i->second) delete i->second; - if (ionizationEnergy) - delete ionizationEnergy; + { + for (i=ionizationEnergy->begin();i != ionizationEnergy->end();i++) + if (i->second) delete i->second; + delete ionizationEnergy; + } if (resonanceEnergy) - delete resonanceEnergy; + { + for (i=resonanceEnergy->begin();i != resonanceEnergy->end();i++) + if (i->second) delete i->second; + delete resonanceEnergy; + } if (occupationNumber) - delete occupationNumber; + { + for (i=occupationNumber->begin();i != occupationNumber->end();i++) + if (i->second) delete i->second; + delete occupationNumber; + } if (shellFlag) - delete shellFlag; + { + for (i=shellFlag->begin();i != shellFlag->end();i++) + if (i->second) delete i->second; + delete shellFlag; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4PenelopeIonisationModel::Initialise(const G4ParticleDefinition* particle, - const G4DataVector& cuts) + const G4DataVector& ) { if (verboseLevel > 3) G4cout << "Calling G4PenelopeIonisationModel::Initialise()" << G4endl; @@ -173,10 +190,12 @@ void G4PenelopeIonisationModel::Initialise(const G4ParticleDefinition* particle, crossSectionFile = "penelope/ion-cs-po-"; crossSectionHandler->LoadData(crossSectionFile); //This is used to retrieve cross section values later on - crossSectionHandler->BuildMeanFreePathForMaterials(); + G4VEMDataSet* emdata = + crossSectionHandler->BuildMeanFreePathForMaterials(); + //The method BuildMeanFreePathForMaterials() is required here only to force + //the building of an internal table: the output pointer can be deleted + delete emdata; - InitialiseElementSelectors(particle,cuts); - if (verboseLevel > 2) G4cout << "Loaded cross section files for PenelopeIonisationModel" << G4endl; @@ -279,6 +298,25 @@ G4double G4PenelopeIonisationModel::CrossSectionPerVolume(const G4Material* mate //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//This is a dummy method. Never inkoved by the tracking, it just issues +//a warning if one tries to get Cross Sections per Atom via the +//G4EmCalculator. +G4double G4PenelopeIonisationModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double, + G4double, + G4double, + G4double, + G4double) +{ + G4cout << "*** G4PenelopeIonisationModel -- WARNING ***" << G4endl; + G4cout << "Penelope Ionisation model does not calculate cross section _per atom_ " << G4endl; + G4cout << "so the result is always zero. For physics values, please invoke " << G4endl; + G4cout << "GetCrossSectionPerVolume() or GetMeanFreePath() via the G4EmCalculator" << G4endl; + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + G4double G4PenelopeIonisationModel::ComputeDEDXPerVolume(const G4Material* material, const G4ParticleDefinition* theParticle, G4double kineticEnergy, @@ -351,6 +389,14 @@ G4double G4PenelopeIonisationModel::ComputeDEDXPerVolume(const G4Material* mater //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +G4double G4PenelopeIonisationModel::MinEnergyCut(const G4ParticleDefinition*, + const G4MaterialCutsCouple*) +{ + return fIntrinsicLowEnergyLimit; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + void G4PenelopeIonisationModel::SampleSecondaries(std::vector* fvect, const G4MaterialCutsCouple* couple, const G4DynamicParticle* aDynamicParticle, @@ -598,6 +644,7 @@ void G4PenelopeIonisationModel::ReadData() { G4String excep = "G4PenelopeIonisationModel - G4LEDATA environment variable not set!"; G4Exception(excep); + return; } G4String pathString(path); G4String pathFile = pathString + "/penelope/ion-pen.dat"; @@ -613,17 +660,27 @@ void G4PenelopeIonisationModel::ReadData() { G4String excep = "G4PenelopeIonisationModel: problem with reading data from file"; G4Exception(excep); + return; } G4int Z=1,nLevels=0; G4int test,test1; do{ + file >> Z >> nLevels; + //Check for nLevels validity, before using it in a loop + if (nLevels<0 || nLevels>64) + { + G4String excep = "G4PenelopeIonisationModel: corrupted data file ?"; + G4Exception(excep); + return; + } + //Allocate space for storage G4DataVector* occVector = new G4DataVector; G4DataVector* ionEVector = new G4DataVector; G4DataVector* resEVector = new G4DataVector; G4DataVector* shellIndVector = new G4DataVector; - file >> Z >> nLevels; + // G4double a1,a2,a3,a4; G4int k1,k2,k3; for (G4int h=0;h* set = new std::vector; size_t nOfBins = 200; + //Temporary vector, a quick way to produce a log-spaced energy grid G4PhysicsLogVector* theLogVector = new G4PhysicsLogVector(LowEnergyLimit(), HighEnergyLimit(), nOfBins); @@ -1676,6 +1734,7 @@ G4PenelopeIonisationModel::BuildCrossSectionTable(const G4ParticleDefinition* th } set->push_back(setForMat); } + delete theLogVector; return set; } diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh b/source/processes/electromagnetic/lowenergy/src/G4PenelopeOscillator.cc similarity index 53% rename from examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh rename to source/processes/electromagnetic/lowenergy/src/G4PenelopeOscillator.cc index 063766a322..4d41077867 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeOscillator.cc @@ -24,78 +24,75 @@ // ******************************************************************** // // -// $Id: AnaEx01CalorHit.hh,v 1.4 2006/06/29 16:33:17 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// Author: Luciano Pandola // -// +// History: +// -------- +// 18 Dec 2008 L Pandola First implementation -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#ifndef AnaEx01CalorHit_h -#define AnaEx01CalorHit_h 1 - -#include "G4VHit.hh" -#include "G4THitsCollection.hh" -#include "G4Allocator.hh" +#include "G4PenelopeOscillator.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -class AnaEx01CalorHit : public G4VHit +G4PenelopeOscillator::G4PenelopeOscillator() : + hartreeFactor(0), ionisationEnergy(0*eV), resonanceEnergy(0*eV), + oscillatorStrength(0), shellFlag(-1), parentZ(0), + parentShellID(-1),cutoffRecoilResonantEnergy(0*eV) +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PenelopeOscillator::G4PenelopeOscillator(const G4PenelopeOscillator& right) { - public: - - AnaEx01CalorHit(); - ~AnaEx01CalorHit(); - AnaEx01CalorHit(const AnaEx01CalorHit&); - const AnaEx01CalorHit& operator=(const AnaEx01CalorHit&); - int operator==(const AnaEx01CalorHit&) const; - - inline void* operator new(size_t); - inline void operator delete(void*); - - void Draw(); - void Print(); - - public: - - void AddAbs(G4double de, G4double dl) {EdepAbs += de; TrackLengthAbs += dl;}; - void AddGap(G4double de, G4double dl) {EdepGap += de; TrackLengthGap += dl;}; - - G4double GetEdepAbs() { return EdepAbs; }; - G4double GetTrakAbs() { return TrackLengthAbs; }; - G4double GetEdepGap() { return EdepGap; }; - G4double GetTrakGap() { return TrackLengthGap; }; - - private: - - G4double EdepAbs, TrackLengthAbs; - G4double EdepGap, TrackLengthGap; - -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -typedef G4THitsCollection AnaEx01CalorHitsCollection; - -extern G4Allocator AnaEx01CalorHitAllocator; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void* AnaEx01CalorHit::operator new(size_t) -{ - void* aHit; - aHit = (void*) AnaEx01CalorHitAllocator.MallocSingle(); - return aHit; + hartreeFactor = right.hartreeFactor; + ionisationEnergy = right.ionisationEnergy; + resonanceEnergy = right.resonanceEnergy; + oscillatorStrength = right.oscillatorStrength; + shellFlag = right.shellFlag; + parentZ = right.parentZ; + parentShellID = right.parentShellID; + cutoffRecoilResonantEnergy = right.cutoffRecoilResonantEnergy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void AnaEx01CalorHit::operator delete(void* aHit) +const G4PenelopeOscillator& G4PenelopeOscillator::operator=(const G4PenelopeOscillator& right) { - AnaEx01CalorHitAllocator.FreeSingle((AnaEx01CalorHit*) aHit); + hartreeFactor = right.hartreeFactor; + ionisationEnergy = right.ionisationEnergy; + resonanceEnergy = right.resonanceEnergy; + oscillatorStrength = right.oscillatorStrength; + shellFlag = right.shellFlag; + parentZ = right.parentZ; + parentShellID = right.parentShellID; + cutoffRecoilResonantEnergy = right.cutoffRecoilResonantEnergy; + return *this; } -#endif +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +int G4PenelopeOscillator::operator==(const G4PenelopeOscillator& right) const +{ + //Oscillator are ordered according to the ionisation energy. They are considered to be + //equal if the ionisation energy is the same + return (ionisationEnergy == right.ionisationEnergy) ? 1 : 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +int G4PenelopeOscillator::operator>(const G4PenelopeOscillator& right) const +{ + //Oscillator are ordered according to the ionisation energy. + return (ionisationEnergy > right.ionisationEnergy) ? 1 : 0; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +int G4PenelopeOscillator::operator<(const G4PenelopeOscillator& right) const +{ + //Oscillator are ordered according to the ionisation energy. + return (ionisationEnergy < right.ionisationEnergy) ? 1 : 0; +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeOscillatorManager.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeOscillatorManager.cc new file mode 100644 index 0000000000..f8acacf2db --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeOscillatorManager.cc @@ -0,0 +1,1167 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// Authors: Luciano Pandola (luciano.pandola at lngs.infn.it) +// +// History: +// ----------- +// +// 03 Dec 2009 First working version, Luciano Pandola +// 16 Feb 2010 Added methods to store also total Z and A for the +// molecule, Luciano Pandola +// 19 Feb 2010 Scale the Hartree factors in the Compton Oscillator +// table by (1/fine_structure_const), since the models use +// always the ratio (hartreeFactor/fine_structure_const) +// 16 Mar 2010 Added methods to calculate and store mean exc energy +// and plasma energy (used for Ionisation). L Pandola +// 18 Mar 2010 Added method to retrieve number of atoms per +// molecule. L. Pandola +// +// ------------------------------------------------------------------- + +#include "G4PenelopeOscillatorManager.hh" +#include "G4Material.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PenelopeOscillatorManager::G4PenelopeOscillatorManager() : + oscillatorStoreIonisation(0),oscillatorStoreCompton(0),atomicNumber(0), + atomicMass(0),excitationEnergy(0),plasmaSquared(0),atomsPerMolecule(0) +{ + fReadElementData = false; + for (G4int i=0;i<5;i++) + { + for (G4int j=0;j<2000;j++) + elementData[i][j] = 0.; + } + verbosityLevel = 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PenelopeOscillatorManager::~G4PenelopeOscillatorManager() +{ + Clear(); + delete instance; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PenelopeOscillatorManager* G4PenelopeOscillatorManager::instance = 0; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PenelopeOscillatorManager* G4PenelopeOscillatorManager::GetOscillatorManager() +{ + if (!instance) + instance = new G4PenelopeOscillatorManager(); + return instance; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4PenelopeOscillatorManager::Clear() +{ + if (verbosityLevel > 1) + G4cout << " G4PenelopeOscillatorManager::Clear() - Clean Oscillator Tables" << G4endl; + + //Clean up OscillatorStoreIonisation + std::map::iterator i; + for (i=oscillatorStoreIonisation->begin();i != oscillatorStoreIonisation->end();i++) + { + G4PenelopeOscillatorTable* table = i->second; + if (table) + { + for (size_t k=0;ksize();k++) //clean individual oscillators + { + if ((*table)[k]) + delete ((*table)[k]); + } + delete table; + } + } + delete oscillatorStoreIonisation; + + //Clean up OscillatorStoreCompton + for (i=oscillatorStoreCompton->begin();i != oscillatorStoreCompton->end();i++) + { + G4PenelopeOscillatorTable* table = i->second; + if (table) + { + for (size_t k=0;ksize();k++) //clean individual oscillators + { + if ((*table)[k]) + delete ((*table)[k]); + } + delete table; + } + } + delete oscillatorStoreCompton; + + if (atomicMass) delete atomicMass; + if (atomicNumber) delete atomicNumber; + if (excitationEnergy) delete excitationEnergy; + if (plasmaSquared) delete plasmaSquared; + if (atomsPerMolecule) delete atomsPerMolecule; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4PenelopeOscillatorManager::Dump(const G4Material* material) +{ + G4PenelopeOscillatorTable* theTable = GetOscillatorTableIonisation(material); + if (!theTable) + { + G4cout << " G4PenelopeOscillatorManager::Dump " << G4endl; + G4cout << "Problem in retrieving the Ionisation Oscillator Table for " << material->GetName() << G4endl; + return; + } + G4cout << "*********************************************************************" << G4endl; + G4cout << " Penelope Oscillator Table Ionisation for " << material->GetName() << G4endl; + G4cout << "*********************************************************************" << G4endl; + G4cout << "The table contains " << theTable->size() << " oscillators " << G4endl; + G4cout << "*********************************************************************" << G4endl; + if (theTable->size() < 10) + for (size_t k=0;ksize();k++) + { + G4cout << "Oscillator # " << k << " Z = " << (*theTable)[k]->GetParentZ() << + " Shell Flag = " << (*theTable)[k]->GetShellFlag() << + " Parent shell ID = " << (*theTable)[k]->GetParentShellID() << G4endl; + G4cout << "Ionisation energy = " << (*theTable)[k]->GetIonisationEnergy()/eV << " eV" << G4endl; + G4cout << "Occupation number = " << (*theTable)[k]->GetOscillatorStrength() << G4endl; + G4cout << "Resonance energy = " << (*theTable)[k]->GetResonanceEnergy()/eV << " eV" << G4endl; + G4cout << "Cufoff resonance energy = " << + (*theTable)[k]->GetCutoffRecoilResonantEnergy()/eV << " eV" << G4endl; + G4cout << "*********************************************************************" << G4endl; + } + for (size_t k=0;ksize();k++) + { + G4cout << k << " " << (*theTable)[k]->GetOscillatorStrength() << " " << + (*theTable)[k]->GetIonisationEnergy()/eV << " " << (*theTable)[k]->GetResonanceEnergy()/eV << " " << + (*theTable)[k]->GetParentZ() << " " << (*theTable)[k]->GetShellFlag() << " " << + (*theTable)[k]->GetParentShellID() << G4endl; + } + G4cout << "*********************************************************************" << G4endl; + + + //Compton table + theTable = GetOscillatorTableCompton(material); + if (!theTable) + { + G4cout << " G4PenelopeOscillatorManager::Dump " << G4endl; + G4cout << "Problem in retrieving the Compton Oscillator Table for " << material->GetName() << G4endl; + return; + } + G4cout << "*********************************************************************" << G4endl; + G4cout << " Penelope Oscillator Table Compton for " << material->GetName() << G4endl; + G4cout << "*********************************************************************" << G4endl; + G4cout << "The table contains " << theTable->size() << " oscillators " << G4endl; + G4cout << "*********************************************************************" << G4endl; + if (theTable->size() < 10) + for (size_t k=0;ksize();k++) + { + G4cout << "Oscillator # " << k << " Z = " << (*theTable)[k]->GetParentZ() << + " Shell Flag = " << (*theTable)[k]->GetShellFlag() << + " Parent shell ID = " << (*theTable)[k]->GetParentShellID() << G4endl; + G4cout << "Compton index = " << (*theTable)[k]->GetHartreeFactor() << G4endl; + G4cout << "Ionisation energy = " << (*theTable)[k]->GetIonisationEnergy()/eV << " eV" << G4endl; + G4cout << "Occupation number = " << (*theTable)[k]->GetOscillatorStrength() << G4endl; + G4cout << "*********************************************************************" << G4endl; + } + for (size_t k=0;ksize();k++) + { + G4cout << k << " " << (*theTable)[k]->GetOscillatorStrength() << " " << + (*theTable)[k]->GetIonisationEnergy()/eV << " " << (*theTable)[k]->GetHartreeFactor() << " " << + (*theTable)[k]->GetParentZ() << " " << (*theTable)[k]->GetShellFlag() << " " << + (*theTable)[k]->GetParentShellID() << G4endl; + } + G4cout << "*********************************************************************" << G4endl; + + + //just to test it + //Clear(); + + return; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4PenelopeOscillatorManager::CheckForTablesCreated() +{ + //Tables should be created at the same time, since they are both filled + //simultaneously + if (!oscillatorStoreIonisation) + { + oscillatorStoreIonisation = new std::map; + if (!fReadElementData) + ReadElementData(); + if (!oscillatorStoreIonisation) + { + //It should be ok now + G4cout << "G4PenelopeOscillatorManager::GetOscillatorTableIonisation() " << G4endl; + G4cout << "Problem in allocating the Oscillator Store for Ionisation" << G4endl; + G4cout << "Abort execution" << G4endl; + G4Exception(); + } + } + + if (!oscillatorStoreCompton) + { + oscillatorStoreCompton = new std::map; + if (!fReadElementData) + ReadElementData(); + if (!oscillatorStoreCompton) + { + //It should be ok now + G4cout << "G4PenelopeOscillatorManager::GetOscillatorTableCompton() " << G4endl; + G4cout << "Problem in allocating the Oscillator Store for Compton" << G4endl; + G4cout << "Abort execution" << G4endl; + G4Exception(); + } + } + + if (!atomicNumber) + atomicNumber = new std::map; + if (!atomicMass) + atomicMass = new std::map; + if (!excitationEnergy) + excitationEnergy = new std::map; + if (!plasmaSquared) + plasmaSquared = new std::map; + if (!atomsPerMolecule) + atomsPerMolecule = new std::map; + +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4PenelopeOscillatorManager::GetTotalZ(const G4Material* mat) +{ + // (1) First time, create oscillatorStores and read data + CheckForTablesCreated(); + + // (2) Check if the material has been already included + if (atomicNumber->count(mat)) + return atomicNumber->find(mat)->second; + + // (3) If we are here, it means that we have to create the table for the material + BuildOscillatorTable(mat); + + // (4) now, the oscillator store should be ok + if (atomicNumber->count(mat)) + return atomicNumber->find(mat)->second; + else + { + G4cout << "G4PenelopeOscillatorManager::GetTotalZ() " << G4endl; + G4cout << "Impossible to retrieve the total Z for " << mat->GetName() << G4endl; + return 0; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4PenelopeOscillatorManager::GetTotalA(const G4Material* mat) +{ + // (1) First time, create oscillatorStores and read data + CheckForTablesCreated(); + + // (2) Check if the material has been already included + if (atomicMass->count(mat)) + return atomicMass->find(mat)->second; + + // (3) If we are here, it means that we have to create the table for the material + BuildOscillatorTable(mat); + + // (4) now, the oscillator store should be ok + if (atomicMass->count(mat)) + return atomicMass->find(mat)->second; + else + { + G4cout << "G4PenelopeOscillatorManager::GetTotalA() " << G4endl; + G4cout << "Impossible to retrieve the total A for " << mat->GetName() << G4endl; + return 0; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PenelopeOscillatorTable* G4PenelopeOscillatorManager::GetOscillatorTableIonisation(const G4Material* mat) +{ + // (1) First time, create oscillatorStores and read data + CheckForTablesCreated(); + + // (2) Check if the material has been already included + if (oscillatorStoreIonisation->count(mat)) + { + //Ok, it exists + return oscillatorStoreIonisation->find(mat)->second; + } + + // (3) If we are here, it means that we have to create the table for the material + BuildOscillatorTable(mat); + + // (4) now, the oscillator store should be ok + if (oscillatorStoreIonisation->count(mat)) + return oscillatorStoreIonisation->find(mat)->second; + else + { + G4cout << "G4PenelopeOscillatorManager::GetOscillatorTableIonisation() " << G4endl; + G4cout << "Impossible to create ionisation oscillator table for " << mat->GetName() << G4endl; + return NULL; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PenelopeOscillator* G4PenelopeOscillatorManager::GetOscillatorIonisation(const G4Material* material, + G4int index) +{ + G4PenelopeOscillatorTable* theTable = GetOscillatorTableIonisation(material); + if (((size_t)index) < theTable->size()) + return (*theTable)[index]; + else + { + G4cout << "WARNING: Ionisation table for material " << material->GetName() << " has " << + theTable->size() << " oscillators" << G4endl; + G4cout << "Oscillator #" << index << " cannot be retrieved" << G4endl; + G4cout << "Returning null pointer" << G4endl; + return NULL; + } +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PenelopeOscillatorTable* G4PenelopeOscillatorManager::GetOscillatorTableCompton(const G4Material* mat) +{ + // (1) First time, create oscillatorStore and read data + CheckForTablesCreated(); + + // (2) Check if the material has been already included + if (oscillatorStoreCompton->count(mat)) + { + //Ok, it exists + return oscillatorStoreCompton->find(mat)->second; + } + + // (3) If we are here, it means that we have to create the table for the material + BuildOscillatorTable(mat); + + // (4) now, the oscillator store should be ok + if (oscillatorStoreCompton->count(mat)) + return oscillatorStoreCompton->find(mat)->second; + else + { + G4cout << "G4PenelopeOscillatorManager::GetOscillatorTableCompton() " << G4endl; + G4cout << "Impossible to create Compton oscillator table for " << mat->GetName() << G4endl; + return NULL; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PenelopeOscillator* G4PenelopeOscillatorManager::GetOscillatorCompton(const G4Material* material, + G4int index) +{ + G4PenelopeOscillatorTable* theTable = GetOscillatorTableCompton(material); + if (((size_t)index) < theTable->size()) + return (*theTable)[index]; + else + { + G4cout << "WARNING: Compton table for material " << material->GetName() << " has " << + theTable->size() << " oscillators" << G4endl; + G4cout << "Oscillator #" << index << " cannot be retrieved" << G4endl; + G4cout << "Returning null pointer" << G4endl; + return NULL; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4PenelopeOscillatorManager::BuildOscillatorTable(const G4Material* material) +{ + //THIS CORRESPONDS TO THE ROUTINE PEMATW of PENELOPE + + G4double meanAtomExcitationEnergy[99] = {19.2*eV, 41.8*eV, 40.0*eV, 63.7*eV, 76.0*eV, 81.0*eV, + 82.0*eV, 95.0*eV,115.0*eV,137.0*eV,149.0*eV,156.0*eV, + 166.0*eV, + 173.0*eV,173.0*eV,180.0*eV,174.0*eV,188.0*eV,190.0*eV,191.0*eV, + 216.0*eV,233.0*eV,245.0*eV,257.0*eV,272.0*eV,286.0*eV,297.0*eV, + 311.0*eV,322.0*eV,330.0*eV,334.0*eV,350.0*eV,347.0*eV,348.0*eV, + 343.0*eV,352.0*eV,363.0*eV,366.0*eV,379.0*eV,393.0*eV,417.0*eV, + 424.0*eV,428.0*eV,441.0*eV,449.0*eV,470.0*eV,470.0*eV,469.0*eV, + 488.0*eV,488.0*eV,487.0*eV,485.0*eV,491.0*eV,482.0*eV,488.0*eV, + 491.0*eV,501.0*eV,523.0*eV,535.0*eV,546.0*eV,560.0*eV,574.0*eV, + 580.0*eV,591.0*eV,614.0*eV,628.0*eV,650.0*eV,658.0*eV,674.0*eV, + 684.0*eV,694.0*eV,705.0*eV,718.0*eV,727.0*eV,736.0*eV,746.0*eV, + 757.0*eV,790.0*eV,790.0*eV,800.0*eV,810.0*eV,823.0*eV,823.0*eV, + 830.0*eV,825.0*eV,794.0*eV,827.0*eV,826.0*eV,841.0*eV,847.0*eV, + 878.0*eV,890.0*eV,902.0*eV,921.0*eV,934.0*eV,939.0*eV,952.0*eV, + 966.0*eV,980.0*eV}; + + if (verbosityLevel > 0) + G4cout << "Going to build Oscillator Table for " << material->GetName() << G4endl; + + G4int nElements = material->GetNumberOfElements(); + const G4ElementVector* elementVector = material->GetElementVector(); + + + //At the moment, there's no way in Geant4 to know if a material + //is defined with atom numbers or fraction of weigth + const G4double* fractionVector = material->GetFractionVector(); + + + //Take always the composition by fraction of mass. For the composition by + //atoms: it is calculated by Geant4 but with some rounding to integers + G4double totalZ = 0; + G4double totalMolecularWeight = 0; + G4double meanExcitationEnergy = 0; + + std::vector *StechiometricFactors = new std::vector; + + for (G4int i=0;iGetZ(); + G4double fraction = fractionVector[i]; + G4double atomicWeigth = (*elementVector)[i]->GetA()/(g/mole); + StechiometricFactors->push_back(fraction/atomicWeigth); + } + //Find max + G4double MaxStechiometricFactor = 0.; + for (G4int i=0;i MaxStechiometricFactor) + MaxStechiometricFactor = (*StechiometricFactors)[i]; + } + if (MaxStechiometricFactor<1e-16) + { + G4cout << "G4PenelopeOscillatorManager::BuildOscillatorTable" << G4endl; + G4cout << "Problem with the mass composition of " << material->GetName() << G4endl; + G4Exception(); + } + //Normalize + for (G4int i=0;iGetTotNbOfAtomsPerVolume()/theatomsPerMolecule; //molecules per unit volume + + + if (verbosityLevel > 1) + { + for (size_t i=0;isize();i++) + { + G4cout << "Element " << (*elementVector)[i]->GetSymbol() << " (Z = " << + (*elementVector)[i]->GetZ() << ") --> " << + (*StechiometricFactors)[i] << " atoms/molecule " << G4endl; + } + } + + + for (G4int i=0;iGetZ(); + totalZ += iZ * (*StechiometricFactors)[i]; + totalMolecularWeight += (*elementVector)[i]->GetA() * (*StechiometricFactors)[i]; + meanExcitationEnergy += iZ*std::log(meanAtomExcitationEnergy[iZ-1])*(*StechiometricFactors)[i]; + /* + G4cout << iZ << " " << (*StechiometricFactors)[i] << " " << totalZ << " " << + totalMolecularWeight/(g/mole) << " " << meanExcitationEnergy << " " << + meanAtomExcitationEnergy[iZ-1]/eV << + G4endl; + */ + } + meanExcitationEnergy = std::exp(meanExcitationEnergy/totalZ); + + atomicNumber->insert(std::make_pair(material,totalZ)); + atomicMass->insert(std::make_pair(material,totalMolecularWeight)); + excitationEnergy->insert(std::make_pair(material,meanExcitationEnergy)); + atomsPerMolecule->insert(std::make_pair(material,theatomsPerMolecule)); + + if (verbosityLevel > 1) + { + G4cout << "Calculated mean excitation energy for " << material->GetName() << + " = " << meanExcitationEnergy/eV << " eV" << G4endl; + } + + std::vector *helper = new std::vector; + + //First Oscillator: conduction band. Tentativaly assumed to consist of valence electrons (each + //atom contributes a number of electrons equal to its lowest chemical valence) + G4PenelopeOscillator newOsc; + newOsc.SetOscillatorStrength(0.); + newOsc.SetIonisationEnergy(0*eV); + newOsc.SetHartreeFactor(0); + newOsc.SetParentZ(0); + newOsc.SetShellFlag(30); + newOsc.SetParentShellID(30); //does not correspond to any "real" level + helper->push_back(newOsc); + + //Load elements and oscillators + for (G4int k=0;kGetZ(); + G4bool finished = false; + for (G4int i=0;i<2000 && !finished;i++) + { + /* + elementData[0][i] = Z; + elementData[1][i] = shellCode; + elementData[2][i] = occupationNumber; + elementData[3][i] = ionisationEnergy; + elementData[4][i] = hartreeProfile; + */ + if (elementData[0][i] == Z) + { + G4int shellID = (G4int) elementData[1][i]; + G4double occup = elementData[2][i]; + if (shellID > 0) + { + if (std::fabs(occup) > 0) + { + G4PenelopeOscillator newOsc; + newOsc.SetOscillatorStrength(std::fabs(occup)*(*StechiometricFactors)[k]); + newOsc.SetIonisationEnergy(elementData[3][i]); + newOsc.SetHartreeFactor(elementData[4][i]/fine_structure_const); + newOsc.SetParentZ(elementData[0][i]); + //keep track of the origianl shell level + newOsc.SetParentShellID((G4int)elementData[1][i]); + //register only K, L and M shells. Outer shells all grouped with + //shellIndex = 30 + if (elementData[0][i] > 6 && elementData[1][i] < 10) + newOsc.SetShellFlag(((G4int)elementData[1][i])); + else + newOsc.SetShellFlag(30); + helper->push_back(newOsc); + if (occup < 0) + { + G4double ff = (*helper)[0].GetOscillatorStrength(); + ff += std::fabs(occup)*(*StechiometricFactors)[k]; + (*helper)[0].SetOscillatorStrength(ff); + } + } + } + + } + if ( elementData[0][i] > Z) + finished = true; + } + } + + delete StechiometricFactors; + + //NOW: sort oscillators according to increasing ionisation energy + //Notice: it works because helper is a vector of _object_, not a + //vector to _pointers_ + std::sort(helper->begin(),helper->end()); + + // Plasma energy and conduction band excitation + G4double RydbergEnergy = 13.60569*eV; + G4double Omega = std::sqrt(4*pi*moleculeDensity*totalZ*Bohr_radius)*Bohr_radius*2.0*RydbergEnergy; + G4double conductionStrength = (*helper)[0].GetOscillatorStrength(); + G4double plasmaEnergy = Omega*std::sqrt(conductionStrength/totalZ); + + plasmaSquared->insert(std::make_pair(material,Omega*Omega)); + + G4bool isAConductor = false; + G4int nullOsc = 0; + + if (verbosityLevel > 1) + { + G4cout << "Estimated oscillator strenght and energy of plasmon: " << + conductionStrength << " and " << plasmaEnergy/eV << " eV" << G4endl; + } + + if (conductionStrength < 0.5 || plasmaEnergy<1.0*eV) //this is an insulator + { + //remove conduction band oscillator + helper->erase(helper->begin()); + } + else //this is a conductor, Outer shells moved to conduction band + { + isAConductor = true; + //copy the conduction strenght.. The number is going to change. + G4double conductionStrengthCopy = conductionStrength; + G4bool quit = false; + for (size_t i = 1; isize() && !quit ;i++) + { + G4double oscStre = (*helper)[i].GetOscillatorStrength(); + //loop is repeated over here + if (oscStre < conductionStrength) + { + conductionStrengthCopy = conductionStrengthCopy-oscStre; + (*helper)[i].SetOscillatorStrength(0.); + nullOsc++; + } + else //this is passed only once - no goto - + { + quit = true; + (*helper)[i].SetOscillatorStrength(oscStre-conductionStrengthCopy); + if (std::fabs((*helper)[i].GetOscillatorStrength()) < 1e-12) + { + conductionStrength += (*helper)[i].GetOscillatorStrength(); + (*helper)[i].SetOscillatorStrength(0.); + nullOsc++; + } + } + } + + //Update conduction band + (*helper)[0].SetOscillatorStrength(conductionStrength); + (*helper)[0].SetIonisationEnergy(0.); + (*helper)[0].SetResonanceEnergy(plasmaEnergy); + G4double hartree = 0.75/std::sqrt(3.0*pi*pi*moleculeDensity* + Bohr_radius*Bohr_radius*Bohr_radius*conductionStrength); + (*helper)[0].SetHartreeFactor(hartree/fine_structure_const); + } + + //Check f-sum rule + G4double sum = 0; + for (size_t i=0;isize();i++) + { + sum += (*helper)[i].GetOscillatorStrength(); + } + if (std::fabs(sum-totalZ) > (1e-6*totalZ)) + { + G4cout << "G4PenelopeOscillatorManager - Inconsistent oscillator data " << G4endl; + G4cout << sum << " " << totalZ << G4endl; + G4Exception(); + } + if (std::fabs(sum-totalZ) > (1e-12*totalZ)) + { + G4double fact = totalZ/sum; + for (size_t i=0;isize();i++) + { + G4double ff = (*helper)[i].GetOscillatorStrength()*fact; + (*helper)[i].SetOscillatorStrength(ff); + } + } + + //Remove null items + for (G4int k=0;ksize() && !exit;i++) + { + if (std::fabs((*helper)[i].GetOscillatorStrength()) < 1e-12) + { + helper->erase(helper->begin()+i); + exit = true; + } + } + } + + + //Sternheimer's adjustment factor + G4double adjustmentFactor = 0; + if (helper->size() > 1) + { + G4double TST = totalZ*std::log(meanExcitationEnergy/eV); + G4double AALow = 0.5; + G4double AAHigh = 10.; + do + { + adjustmentFactor = (AALow+AAHigh)*0.5; + G4double sum = 0; + for (size_t i=0;isize();i++) + { + if (i == 0 && isAConductor) + { + G4double resEne = (*helper)[i].GetResonanceEnergy(); + sum += (*helper)[i].GetOscillatorStrength()*std::log(resEne/eV); + } + else + { + G4double ionEne = (*helper)[i].GetIonisationEnergy(); + G4double oscStre = (*helper)[i].GetOscillatorStrength(); + G4double WI2 = (adjustmentFactor*adjustmentFactor*ionEne*ionEne) + + 2./3.*(oscStre/totalZ)*Omega*Omega; + G4double resEne = std::sqrt(WI2); + (*helper)[i].SetResonanceEnergy(resEne); + sum += (*helper)[i].GetOscillatorStrength()*std::log(resEne/eV); + } + } + if (sum < TST) + AALow = adjustmentFactor; + else + AAHigh = adjustmentFactor; + }while((AAHigh-AALow)>(1e-14*adjustmentFactor)); + } + else + { + G4double ionEne = (*helper)[0].GetIonisationEnergy(); + (*helper)[0].SetIonisationEnergy(std::fabs(ionEne)); + (*helper)[0].SetResonanceEnergy(meanExcitationEnergy); + } + if (verbosityLevel > 1) + { + G4cout << "Sternheimer's adjustment factor: " << adjustmentFactor << G4endl; + } + + //Check again for data consistency + G4double xcheck = (*helper)[0].GetOscillatorStrength()*std::log((*helper)[0].GetResonanceEnergy()); + G4double TST = (*helper)[0].GetOscillatorStrength(); + for (size_t i=1;isize();i++) + { + xcheck += (*helper)[i].GetOscillatorStrength()*std::log((*helper)[i].GetResonanceEnergy()); + TST += (*helper)[i].GetOscillatorStrength(); + } + if (std::fabs(TST-totalZ)>1e-8*totalZ) + { + G4cout << "G4PenelopeOscillatorManager - Inconsistent oscillator data " << G4endl; + G4cout << TST << " " << totalZ << G4endl; + G4Exception(); + } + xcheck = std::exp(xcheck/totalZ); + if (std::fabs(xcheck-meanExcitationEnergy) > 1e-8*meanExcitationEnergy) + { + G4cout << "G4PenelopeOscillatorManager - Error in Sterheimer factor calculation " << G4endl; + G4cout << xcheck/eV << " " << meanExcitationEnergy/eV << G4endl; + G4Exception(); + } + + //Selection of the lowest ionisation energy for inner shells. Only the K, L and M shells with + //ionisation energy less than the N1 shell of the heaviest element in the material are considered as + //inner shells. As a results, the inner/outer shell character of an atomic shell depends on the + //composition of the material. + G4double Zmax = 0; + for (G4int k=0;kGetZ(); + if (Z>Zmax) Zmax = Z; + } + //Find N1 level of the heaviest element (if any). + G4bool found = false; + G4double cutEnergy = 50*eV; + for (size_t i=0;isize() && !found;i++) + { + G4double Z = (*helper)[i].GetParentZ(); + G4int shID = (*helper)[i].GetParentShellID(); //look for the N1 level + if (shID == 10 && Z == Zmax) + { + found = true; + if ((*helper)[i].GetIonisationEnergy() > cutEnergy) + cutEnergy = (*helper)[i].GetIonisationEnergy(); + } + } + //Make that cutEnergy cannot be higher than 250 eV, namely the fluorescence level by + //Geant4 + G4double lowEnergyLimitForFluorescence = 250*eV; + cutEnergy = std::min(cutEnergy,lowEnergyLimitForFluorescence); + + if (verbosityLevel > 1) + G4cout << "Cutoff energy: " << cutEnergy/eV << " eV" << G4endl; + + // + //Copy helper in the oscillatorTable for Ionisation + // + //Oscillator table Ionisation for the material + G4PenelopeOscillatorTable* theTable = new G4PenelopeOscillatorTable(); //vector of oscillator + G4PenelopeOscillatorResEnergyComparator comparator; + std::sort(helper->begin(),helper->end(),comparator); + + //COPY THE HELPER (vector of object) to theTable (vector of Pointers). + for (size_t i=0;isize();i++) + { + //copy content --> one may need it later (e.g. to fill an other table, with variations) + G4PenelopeOscillator* theOsc = new G4PenelopeOscillator((*helper)[i]); + theTable->push_back(theOsc); + } + + //Oscillators of outer shells with resonance energies differing by a factor less than + //Rgroup are grouped as a single oscillator + G4double Rgroup = 1.05; + size_t Nost = theTable->size(); + + size_t firstIndex = (isAConductor) ? 1 : 0; //for conductors, skip conduction oscillator + G4bool loopAgain = false; + G4int removedLevels = 0; + do + { + loopAgain = false; + if (Nost>firstIndex+1) + { + removedLevels = 0; + for (size_t i=firstIndex;iGetShellFlag(); + G4double ionEne = (*theTable)[i]->GetIonisationEnergy(); + G4double resEne = (*theTable)[i]->GetResonanceEnergy(); + G4double resEnePlus1 = (*theTable)[i+1]->GetResonanceEnergy(); + G4double oscStre = (*theTable)[i]->GetOscillatorStrength(); + G4double oscStrePlus1 = (*theTable)[i+1]->GetOscillatorStrength(); + //if (shellFlag < 10 && ionEne>cutEnergy) in Penelope + if (ionEne>cutEnergy) //remove condition that shellFlag < 10! + skipLoop = true; + if (resEne<1.0*eV || resEnePlus1<1.0*eV) + skipLoop = true; + if (resEnePlus1 > Rgroup*resEne) + skipLoop = true; + if (!skipLoop) + { + G4double newRes = std::exp((oscStre*std::log(resEne)+ + oscStrePlus1*std::log(resEnePlus1)) + /(oscStre+oscStrePlus1)); + (*theTable)[i]->SetResonanceEnergy(newRes); + G4double newIon = (oscStre*ionEne+ + oscStrePlus1*(*theTable)[i+1]->GetIonisationEnergy())/ + (oscStre+oscStrePlus1); + (*theTable)[i]->SetIonisationEnergy(newIon); + G4double newStre = oscStre+oscStrePlus1; + (*theTable)[i]->SetOscillatorStrength(newStre); + G4double newHartree = (oscStre*(*theTable)[i]->GetHartreeFactor()+ + oscStrePlus1*(*theTable)[i+1]->GetHartreeFactor())/ + (oscStre+oscStrePlus1); + (*theTable)[i]->SetHartreeFactor(newHartree); + if ((*theTable)[i]->GetParentZ() != (*theTable)[i+1]->GetParentZ()) + (*theTable)[i]->SetParentZ(0.); + if (shellFlag < 10 || (*theTable)[i+1]->GetShellFlag() < 10) + { + G4int newFlag = std::min(shellFlag,(*theTable)[i+1]->GetShellFlag()); + (*theTable)[i]->SetShellFlag(newFlag); + } + else + (*theTable)[i]->SetShellFlag(30); + //We've lost anyway the track of the original level + (*theTable)[i]->SetParentShellID((*theTable)[i]->GetShellFlag()); + + if (isize() << G4endl; + //theTable->erase(theTable->end()); + theTable->erase(theTable->begin()+theTable->size()-1); //delete last element + removedLevels++; + } + } + } + if (removedLevels) + { + Nost -= removedLevels; + loopAgain = true; + } + if (Rgroup < 1.414213 || Nost > 64) + { + Rgroup = Rgroup*Rgroup; + loopAgain = true; + } + }while(loopAgain); + + if (verbosityLevel > 1) + { + G4cout << "Final grouping factor for Ionisation: " << Rgroup << G4endl; + } + + //Final Electron/Positron model parameters + for (size_t i=0;isize();i++) + { + //Set cutoff recoil energy for the resonant mode + G4double ionEne = (*theTable)[i]->GetIonisationEnergy(); + if (ionEne < 1e-3*eV) + { + G4double resEne = (*theTable)[i]->GetResonanceEnergy(); + (*theTable)[i]->SetIonisationEnergy(0.*eV); + (*theTable)[i]->SetCutoffRecoilResonantEnergy(resEne); + } + else + (*theTable)[i]->SetCutoffRecoilResonantEnergy(ionEne); + } + + //Last step + oscillatorStoreIonisation->insert(std::make_pair(material,theTable)); + + + /* + SAME FOR COMPTON + */ + // + //Copy helper in the oscillatorTable for Compton + // + //Oscillator table Ionisation for the material + G4PenelopeOscillatorTable* theTableC = new G4PenelopeOscillatorTable(); //vector of oscillator + //order by ionisation energy + std::sort(helper->begin(),helper->end()); + //COPY THE HELPER (vector of object) to theTable (vector of Pointers). + for (size_t i=0;isize();i++) + { + //copy content --> one may need it later (e.g. to fill an other table, with variations) + G4PenelopeOscillator* theOsc = new G4PenelopeOscillator((*helper)[i]); + theTableC->push_back(theOsc); + } + //Oscillators of outer shells with resonance energies differing by a factor less than + //Rgroup are grouped as a single oscillator + Rgroup = 1.5; + Nost = theTableC->size(); + + firstIndex = (isAConductor) ? 1 : 0; //for conductors, skip conduction oscillator + loopAgain = false; + removedLevels = 0; + do + { + loopAgain = false; + if (Nost>firstIndex+1) + { + removedLevels = 0; + for (size_t i=firstIndex;iGetShellFlag(); + G4double ionEne = (*theTableC)[i]->GetIonisationEnergy(); + G4double ionEnePlus1 = (*theTableC)[i+1]->GetIonisationEnergy(); + G4double oscStre = (*theTableC)[i]->GetOscillatorStrength(); + G4double oscStrePlus1 = (*theTableC)[i+1]->GetOscillatorStrength(); + //if (shellFlag < 10 && ionEne>cutEnergy) in Penelope + if (ionEne>cutEnergy) + skipLoop = true; + if (ionEne<1.0*eV || ionEnePlus1<1.0*eV) + skipLoop = true; + if (ionEnePlus1 > Rgroup*ionEne) + skipLoop = true; + + if (!skipLoop) + { + G4double newIon = (oscStre*ionEne+ + oscStrePlus1*ionEnePlus1)/ + (oscStre+oscStrePlus1); + (*theTableC)[i]->SetIonisationEnergy(newIon); + G4double newStre = oscStre+oscStrePlus1; + (*theTableC)[i]->SetOscillatorStrength(newStre); + G4double newHartree = (oscStre*(*theTableC)[i]->GetHartreeFactor()+ + oscStrePlus1*(*theTableC)[i+1]->GetHartreeFactor())/ + (oscStre+oscStrePlus1); + (*theTableC)[i]->SetHartreeFactor(newHartree); + if ((*theTableC)[i]->GetParentZ() != (*theTableC)[i+1]->GetParentZ()) + (*theTableC)[i]->SetParentZ(0.); + (*theTableC)[i]->SetShellFlag(30); + (*theTableC)[i]->SetParentShellID((*theTableC)[i]->GetShellFlag()); + + if (ierase(theTableC->begin()+theTableC->size()-1); //delete last element + //theTableC->erase(theTableC->end()); //delete last element + removedLevels++; + } + } + } + if (removedLevels) + { + Nost -= removedLevels; + loopAgain = true; + } + if (Rgroup < 2.0 || Nost > 64) + { + Rgroup = Rgroup*Rgroup; + loopAgain = true; + } + }while(loopAgain); + + + if (verbosityLevel > 1) + { + G4cout << "Final grouping factor for Compton: " << Rgroup << G4endl; + } + + //Last step + oscillatorStoreCompton->insert(std::make_pair(material,theTableC)); + + /* //TESTING PURPOSES + if (verbosityLevel > 1) + { + G4cout << "The table contains " << helper->size() << " oscillators " << G4endl; + for (size_t k=0;ksize();k++) + { + G4cout << "Oscillator # " << k << G4endl; + G4cout << "Z = " << (*helper)[k].GetParentZ() << G4endl; + G4cout << "Shell Flag = " << (*helper)[k].GetShellFlag() << G4endl; + G4cout << "Compton index = " << (*helper)[k].GetHartreeFactor() << G4endl; + G4cout << "Ionisation energy = " << (*helper)[k].GetIonisationEnergy()/eV << " eV" << G4endl; + G4cout << "Occupation number = " << (*helper)[k].GetOscillatorStrength() << G4endl; + G4cout << "Resonance energy = " << (*helper)[k].GetResonanceEnergy()/eV << " eV" << G4endl; + } + + for (size_t k=0;ksize();k++) + { + G4cout << k << " " << (*helper)[k].GetOscillatorStrength() << " " << + (*helper)[k].GetIonisationEnergy()/eV << " " << (*helper)[k].GetResonanceEnergy()/eV << " " << + (*helper)[k].GetParentZ() << " " << (*helper)[k].GetShellFlag() << " " << + (*helper)[k].GetHartreeFactor() << G4endl; + } + } + */ + + + //CLEAN UP theHelper and its content + delete helper; + if (verbosityLevel > 1) + Dump(material); + + return; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4PenelopeOscillatorManager::ReadElementData() +{ + if (verbosityLevel > 0) + { + G4cout << "G4PenelopeOscillatorManager::ReadElementData()" << G4endl; + G4cout << "Going to read Element Data" << G4endl; + } + char* path = getenv("G4LEDATA"); + if (!path) + { + G4String excep = "G4PenelopeOscillatorManager - G4LEDATA environment variable not set!"; + G4Exception(excep); + return; + } + G4String pathString(path); + G4String pathFile = pathString + "/penelope/pdatconf.p08"; + std::ifstream file(pathFile); + + if (!file.is_open()) + { + G4String excep = "G4PenelopeOscillatorManager - data file " + pathFile + " not found!"; + G4Exception(excep); + } + //Read header (22 lines) + G4String theHeader; + for (G4int iline=0;iline<22;iline++) + getline(file,theHeader); + //Done + G4int Z=0; + G4int shellCode = 0; + G4String shellId = "NULL"; + G4int occupationNumber = 0; + G4double ionisationEnergy = 0.0*eV; + G4double hartreeProfile = 0.; + //Start reading data + for (G4int i=0;!file.eof();i++) + { + file >> Z >> shellCode >> shellId >> occupationNumber >> ionisationEnergy >> hartreeProfile; + if (Z>0 && i<2000) + { + elementData[0][i] = Z; + elementData[1][i] = shellCode; + elementData[2][i] = occupationNumber; + elementData[3][i] = ionisationEnergy*eV; + elementData[4][i] = hartreeProfile; + } + } + file.close(); + + if (verbosityLevel > 1) + { + G4cout << "G4PenelopeOscillatorManager::ReadElementData(): Data file read" << G4endl; + } + fReadElementData = true; + return; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +G4double G4PenelopeOscillatorManager::GetMeanExcitationEnergy(const G4Material* mat) +{ + // (1) First time, create oscillatorStores and read data + CheckForTablesCreated(); + + // (2) Check if the material has been already included + if (excitationEnergy->count(mat)) + return excitationEnergy->find(mat)->second; + + // (3) If we are here, it means that we have to create the table for the material + BuildOscillatorTable(mat); + + // (4) now, the oscillator store should be ok + if (excitationEnergy->count(mat)) + return excitationEnergy->find(mat)->second; + else + { + G4cout << "G4PenelopeOscillatorManager::GetMolecularExcitationEnergy() " << G4endl; + G4cout << "Impossible to retrieve the excitation energy for " << mat->GetName() << G4endl; + return 0; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +G4double G4PenelopeOscillatorManager::GetPlasmaEnergySquared(const G4Material* mat) +{ + // (1) First time, create oscillatorStores and read data + CheckForTablesCreated(); + + // (2) Check if the material has been already included + if (plasmaSquared->count(mat)) + return plasmaSquared->find(mat)->second; + + // (3) If we are here, it means that we have to create the table for the material + BuildOscillatorTable(mat); + + // (4) now, the oscillator store should be ok + if (plasmaSquared->count(mat)) + return plasmaSquared->find(mat)->second; + else + { + G4cout << "G4PenelopeOscillatorManager::GetPlasmaEnergySquared() " << G4endl; + G4cout << "Impossible to retrieve the plasma energy for " << mat->GetName() << G4endl; + return 0; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +G4double G4PenelopeOscillatorManager::GetAtomsPerMolecule(const G4Material* mat) +{ + // (1) First time, create oscillatorStores and read data + CheckForTablesCreated(); + + // (2) Check if the material has been already included + if (atomsPerMolecule->count(mat)) + return atomsPerMolecule->find(mat)->second; + + // (3) If we are here, it means that we have to create the table for the material + BuildOscillatorTable(mat); + + // (4) now, the oscillator store should be ok + if (atomsPerMolecule->count(mat)) + return atomsPerMolecule->find(mat)->second; + else + { + G4cout << "G4PenelopeOscillatorManager::GetAtomsPerMolecule() " << G4endl; + G4cout << "Impossible to retrieve the number of atoms per molecule for " + << mat->GetName() << G4endl; + return 0; + } +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopePhotoElectricModel.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopePhotoElectricModel.cc index 0ffa05c363..9116329f32 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopePhotoElectricModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopePhotoElectricModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PenelopePhotoElectricModel.cc,v 1.10 2009/10/23 09:29:24 pandola Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PenelopePhotoElectricModel.cc,v 1.13 2010/11/26 11:51:11 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Luciano Pandola // @@ -45,6 +45,7 @@ // Initialise(), since they might be checked later on // 21 Oct 2009 L Pandola Remove un-necessary fUseAtomicDeexcitation flag - now managed by // G4VEmModel::DeexcitationFlag() +// 15 Mar 2010 L Pandola Explicitely initialize Auger to false // #include "G4PenelopePhotoElectricModel.hh" @@ -60,6 +61,7 @@ #include "G4AtomicShell.hh" #include "G4Gamma.hh" #include "G4Electron.hh" +#include "G4VEMDataSet.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -74,9 +76,6 @@ G4PenelopePhotoElectricModel::G4PenelopePhotoElectricModel(const G4ParticleDefin // SetLowEnergyLimit(fIntrinsicLowEnergyLimit); SetHighEnergyLimit(fIntrinsicHighEnergyLimit); // - //by default the model will inkove the atomic deexcitation - SetDeexcitationFlag(true); - verboseLevel= 0; // Verbosity scale: // 0 = nothing @@ -84,6 +83,10 @@ G4PenelopePhotoElectricModel::G4PenelopePhotoElectricModel(const G4ParticleDefin // 2 = details of energy budget // 3 = calculation of cross sections, file openings, sampling of atoms // 4 = entering in methods + + //by default the model will inkove the atomic deexcitation + SetDeexcitationFlag(true); + ActivateAuger(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -124,7 +127,11 @@ void G4PenelopePhotoElectricModel::Initialise(const G4ParticleDefinition*, crossSectionFile = "penelope/ph-ss-cs-pen-"; shellCrossSectionHandler->LoadShellData(crossSectionFile); //This is used to retrieve cross section values later on - crossSectionHandler->BuildMeanFreePathForMaterials(); + G4VEMDataSet* emdata = + crossSectionHandler->BuildMeanFreePathForMaterials(); + //The method BuildMeanFreePathForMaterials() is required here only to force + //the building of an internal table: the output pointer can be deleted + delete emdata; if (verboseLevel > 2) G4cout << "Loaded cross section files for PenelopePhotoElectric" << G4endl; @@ -251,10 +258,7 @@ void G4PenelopePhotoElectricModel::SampleSecondaries(std::vector photon energy // In such cases do not generate secondaries if (eKineticEnergy > 0.) - { - //Now check if the electron is above cuts: if so, it is created explicitely - //VI: checking cut here provides inconsistency in testing - // if (eKineticEnergy > cutE) + { // The electron is created // Direction sampled from the Sauter distribution G4double cosTheta = SampleElectronDirection(eKineticEnergy); @@ -270,12 +274,6 @@ void G4PenelopePhotoElectricModel::SampleSecondaries(std::vectorpush_back(electron); } - // else - // { - // localEnergyDeposit += eKineticEnergy; - // eKineticEnergy = 0; - // } - // } else { bindingEnergy = photonEnergy; diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeRayleighModel.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeRayleighModel.cc index cd6b85f2ed..ef463fa712 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeRayleighModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeRayleighModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PenelopeRayleighModel.cc,v 1.6 2009/06/11 15:47:08 mantero Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PenelopeRayleighModel.cc,v 1.8 2010/11/26 11:51:11 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Luciano Pandola // @@ -36,6 +36,9 @@ // - do not apply low-energy limit (default is 0) // 19 May 2009 L Pandola Explicitely set to zero pointers deleted in // PrepareConstants(), since they might be checked later on +// 18 Dec 2009 L Pandola Added a dummy ComputeCrossSectionPerAtom() method issueing a +// warning if users try to access atomic cross sections via +// G4EmCalculator // #include "G4PenelopeRayleighModel.hh" @@ -189,7 +192,14 @@ G4PenelopeRayleighModel::CrossSectionPerVolume(const G4Material* material, //Calculate the total number of atoms per molecule G4int atomsPerMolecule = 0; for (G4int k=0;k 2) + { + G4cout << "Element: " << (G4int) (*elementVector)[k]->GetZ() << " has " << + stechiometric[k] << " atoms/molecule" << G4endl; + } + } if (atomsPerMolecule) { isAMolecule = true; @@ -202,7 +212,7 @@ G4PenelopeRayleighModel::CrossSectionPerVolume(const G4Material* material, cross = cs*moleculeDensity; } } - + if (verboseLevel > 2) { if (isAMolecule) @@ -221,6 +231,25 @@ G4PenelopeRayleighModel::CrossSectionPerVolume(const G4Material* material, return cross; } + +//This is a dummy method. Never inkoved by the tracking, it just issues +//a warning if one tries to get Cross Sections per Atom via the +//G4EmCalculator. +G4double G4PenelopeRayleighModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double, + G4double, + G4double, + G4double, + G4double) +{ + G4cout << "*** G4PenelopeRayleighModel -- WARNING ***" << G4endl; + G4cout << "Penelope Rayleigh model does not calculate cross section _per atom_ " << G4endl; + G4cout << "so the result is always zero. For physics values, please invoke " << G4endl; + G4cout << "GetCrossSectionPerVolume() or GetMeanFreePath() via the G4EmCalculator" << G4endl; + return 0; +} + + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4PenelopeRayleighModel::SampleSecondaries(std::vector* , @@ -478,8 +507,10 @@ void G4PenelopeRayleighModel::InitialiseSampling() if (!samplingFunction_x || !samplingFunction_xNoLog) { G4cout << "G4PenelopeRayleighModel::InitialiseSampling(), something wrong" << G4endl; - G4cout << "It looks like G4PenelopeRayleighModel::PrepareConstants() has not been called" << G4endl; + G4cout << "It looks like G4PenelopeRayleighModel::PrepareConstants() has not been called" + << G4endl; G4Exception(); + return; } if (!SamplingTable.count(theMaterial)) //material not defined yet { diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeSamplingData.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeSamplingData.cc new file mode 100644 index 0000000000..3c3bd70b0f --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeSamplingData.cc @@ -0,0 +1,205 @@ +// +// ******************************************************************** +// * 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: G4PenelopeSamplingData.cc,v 1.1 2010/03/17 14:18:50 pandola Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// Author: Luciano Pandola +// +// History: +// -------- +// 09 Dec 2009 L Pandola First implementation +// +#include "G4PenelopeSamplingData.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... +G4PenelopeSamplingData::G4PenelopeSamplingData(G4int nPoints) : + np(nPoints) +{ + //create vectors + x = new G4DataVector(); + pac = new G4DataVector(); + a = new G4DataVector(); + b = new G4DataVector(); + ITTL = new std::vector; + ITTU = new std::vector; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... +G4PenelopeSamplingData::~G4PenelopeSamplingData() +{ + if (x) delete x; + if (pac) delete pac; + if (a) delete a; + if (b) delete b; + if (ITTL) delete ITTL; + if (ITTU) delete ITTU; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... +size_t G4PenelopeSamplingData::GetNumberOfStoredPoints() +{ + size_t points = x->size(); + + //check everything is all right + if (pac->size() != points || a->size() != points || + b->size() != points || ITTL->size() != points || + ITTU->size() != points) + { + G4cout << "G4PenelopeSamplingData::GetNumberOfStoredPoints()" << G4endl; + G4cout << "Data vectors look to have different dimensions !" << G4endl; + G4Exception(); + } + return points; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... +void G4PenelopeSamplingData::Clear() +{ + if (x) delete x; + if (pac) delete pac; + if (a) delete a; + if (b) delete b; + if (ITTL) delete ITTL; + if (ITTU) delete ITTU; + //create vectors + x = new G4DataVector(); + pac = new G4DataVector(); + a = new G4DataVector(); + b = new G4DataVector(); + ITTL = new std::vector; + ITTU = new std::vector; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo... +void G4PenelopeSamplingData::AddPoint(G4double x0,G4double pac0,G4double a0,G4double b0, + size_t ITTL0,size_t ITTU0) +{ + x->push_back(x0); + pac->push_back(pac0); + a->push_back(a0); + b->push_back(b0); + ITTL->push_back(ITTL0); + ITTU->push_back(ITTU0); + + //check how many points we do have now + size_t nOfPoints = GetNumberOfStoredPoints(); + + if (nOfPoints > ((size_t)np)) + { + G4cout << "G4PenelopeSamplingData::AddPoint() " << G4endl; + G4cout << "WARNING: Up to now there are " << nOfPoints << " points in the table" << G4endl; + G4cout << "while the anticipated (declared) number is " << np << G4endl; + } + return; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.. +void G4PenelopeSamplingData::DumpTable() +{ + + G4cout << "*************************************************************************" << G4endl; + G4cout << GetNumberOfStoredPoints() << " points" << G4endl; + G4cout << "*************************************************************************" << G4endl; + for (size_t i=0;isize()) + return (*x)[index]; + else + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.. +G4double G4PenelopeSamplingData::GetPAC(size_t index) +{ + if (index < pac->size()) + return (*pac)[index]; + else + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.. +G4double G4PenelopeSamplingData::GetA(size_t index) +{ + if (index < a->size()) + return (*a)[index]; + else + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.. +G4double G4PenelopeSamplingData::GetB(size_t index) +{ + if (index < b->size()) + return (*b)[index]; + else + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.. +G4double G4PenelopeSamplingData::SampleValue(G4double maxRand) +{ + //One passes here a random number in (0,1). + //Notice: it possible that is between (0,b) with b<1 + size_t points = GetNumberOfStoredPoints(); + + size_t itn = (size_t) (maxRand*(points-1)); + size_t i = (*ITTL)[itn]; + size_t j = (*ITTU)[itn]; + + while ((j-i) > 1) + { + size_t k = (i+j)/2; + if (maxRand > (*pac)[k]) + i = k; + else + j = k; + } + + //Sampling from the rational inverse cumulative distribution + G4double result = 0; + + G4double rr = maxRand - (*pac)[i]; + if (rr > 1e-16) + { + G4double d = (*pac)[i+1]-(*pac)[i]; + result = (*x)[i]+ + ((1.0+(*a)[i]+(*b)[i])*d*rr/ + (d*d+((*a)[i]*d+(*b)[i]*rr)*rr))*((*x)[i+1]-(*x)[i]); + } + else + result = (*x)[i]; + + return result; +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4PhotoElectricAngularGeneratorSauterGavrila.cc b/source/processes/electromagnetic/lowenergy/src/G4PhotoElectricAngularGeneratorSauterGavrila.cc index 46d6e49b68..ae23bdde0e 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PhotoElectricAngularGeneratorSauterGavrila.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PhotoElectricAngularGeneratorSauterGavrila.cc @@ -79,7 +79,9 @@ G4ThreeVector G4PhotoElectricAngularGeneratorSauterGavrila::GetPhotoElectronDire if (gamma > 5.) { G4ThreeVector direction (sinteta*cosphi, sinteta*sinphi, costeta); - return costeta; + return direction; + // Bugzilla 1120 + // SI on 05/09/2010 as suggested by JG 04/09/10 } G4double beta = std::sqrt(gamma*gamma-1.)/gamma; diff --git a/source/processes/electromagnetic/lowenergy/src/G4UAtomicDeexcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4UAtomicDeexcitation.cc new file mode 100644 index 0000000000..4bba669351 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4UAtomicDeexcitation.cc @@ -0,0 +1,545 @@ +// +// ******************************************************************** +// * 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: G4UAtomicDeexcitation.cc,v 1.11 +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// Geant4 Class file +// +// Authors: Alfonso Mantero (Alfonso.Mantero@ge.infn.it) +// +// Created 22 April 2010 from old G4UAtomicDeexcitation class +// +// Modified: +// --------- +// +// +// ------------------------------------------------------------------- +// +// Class description: +// Implementation of atomic deexcitation +// +// ------------------------------------------------------------------- + +#include "G4UAtomicDeexcitation.hh" +#include "Randomize.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4AtomicTransitionManager.hh" +#include "G4FluoTransition.hh" +#include "G4Proton.hh" + +using namespace std; + +G4UAtomicDeexcitation::G4UAtomicDeexcitation(): + G4VAtomDeexcitation("UAtomDeexcitation"), + minGammaEnergy(DBL_MAX), + minElectronEnergy(DBL_MAX) +{ + PIXEshellCS = 0; +} + +G4UAtomicDeexcitation::~G4UAtomicDeexcitation() +{ + delete PIXEshellCS; +} + +void G4UAtomicDeexcitation::InitialiseForNewRun() +{ + transitionManager = G4AtomicTransitionManager::Instance(); + + // initializing PIXE + if ("" == PIXECrossSectionModel()) { + SetPIXECrossSectionModel("Empirical"); + } + + if (PIXECrossSectionModel() == "ECPSSR_Analytical") { + delete PIXEshellCS; + PIXEshellCS = new G4teoCrossSection("analytical"); + } + + else if (PIXECrossSectionModel() == "Empirical") { + delete PIXEshellCS; + PIXEshellCS = new G4empCrossSection; + } + else { + G4cout << "### G4UAtomicDeexcitation::InitialiseForNewRun WARNING " + << G4endl; + G4cout << " PIXE cross section name " << PIXECrossSectionModel() + << " is unknown, PIXE is disabled" << G4endl; + SetPIXEActive(false); + } +} + +void G4UAtomicDeexcitation::InitialiseForExtraAtom(G4int /*Z*/) +{} + +const G4AtomicShell* +G4UAtomicDeexcitation::GetAtomicShell(G4int Z, G4AtomicShellEnumerator shell) +{ + return transitionManager->Shell(Z, G4int(shell)); +} + +void G4UAtomicDeexcitation::GenerateParticles( + std::vector* vectorOfParticles, + const G4AtomicShell* atomicShell, + G4int Z, + G4double gammaCut, + G4double eCut) +{ + // Defined initial conditions + G4int givenShellId = atomicShell->ShellId(); + minGammaEnergy = gammaCut; + minElectronEnergy = eCut; + + // generation secondaries + G4DynamicParticle* aParticle; + G4int provShellId = 0; + G4int counter = 0; + + // The aim of this loop is to generate more than one fluorecence photon + // from the same ionizing event + do + { + if (counter == 0) + // First call to GenerateParticles(...): + // givenShellId is given by the process + { + provShellId = SelectTypeOfTransition(Z, givenShellId); + + if ( provShellId >0) + { + aParticle = GenerateFluorescence(Z,givenShellId,provShellId); + } + else if ( provShellId == -1) + { + aParticle = GenerateAuger(Z, givenShellId); + } + else + { + G4Exception("G4UAtomicDeexcitation: starting shell uncorrect: check it"); + } + } + else + // Following calls to GenerateParticles(...): + // newShellId is given by GenerateFluorescence(...) + { + provShellId = SelectTypeOfTransition(Z,newShellId); + if (provShellId >0) + { + aParticle = GenerateFluorescence(Z,newShellId,provShellId); + } + else if ( provShellId == -1) + { + aParticle = GenerateAuger(Z, newShellId); + } + else + { + G4Exception("G4UAtomicDeexcitation: starting shell uncorrect: check it"); + } + } + counter++; + if (aParticle != 0) + { + vectorOfParticles->push_back(aParticle); + // G4cout << "FLUO!" << G4endl; //debug + } + else {provShellId = -2;} + } + + // Look this in a particular way: only one auger emitted! // ???? + while (provShellId > -2); +} + +G4double +G4UAtomicDeexcitation::GetShellIonisationCrossSectionPerAtom( + const G4ParticleDefinition* pdef, + G4int Z /*Z*/, + G4AtomicShellEnumerator shellEnum/*shell*/, + G4double kineticEnergy/*kinE*/) +{ + // scaling to protons + G4double mass = proton_mass_c2; + G4double escaled = kineticEnergy*mass/(pdef->GetPDGMass()); + G4double q = pdef->GetPDGCharge()/eplus; + + + std::vector atomXSs = PIXEshellCS->GetCrossSection(Z,escaled,mass,0); + G4double res = 0.0; + G4int idx = G4int(shellEnum); + G4int length = atomXSs.size(); + if(idx < length) { res = q*q*atomXSs[idx]; } + + return res; +} + +void G4UAtomicDeexcitation::SetCutForSecondaryPhotons(G4double cut) +{ + minGammaEnergy = cut; +} + +void G4UAtomicDeexcitation::SetCutForAugerElectrons(G4double cut) +{ + minElectronEnergy = cut; +} + +G4double +G4UAtomicDeexcitation::ComputeShellIonisationCrossSectionPerAtom( + const G4ParticleDefinition* p, + G4int Z, + G4AtomicShellEnumerator shell, + G4double kinE) +{ + return GetShellIonisationCrossSectionPerAtom(p,Z,shell,kinE); +} + +G4int G4UAtomicDeexcitation::SelectTypeOfTransition(G4int Z, G4int shellId) +{ + if (shellId <=0 ) { + {G4Exception("G4UAtomicDeexcitation: zero or negative shellId");} + } + G4bool fluoTransitionFoundFlag = false; + + G4int provShellId = -1; + G4int shellNum = 0; + G4int maxNumOfShells = transitionManager->NumberOfReachableShells(Z); + + const G4FluoTransition* refShell = transitionManager->ReachableShell(Z,maxNumOfShells-1); + + // This loop gives shellNum the value of the index of shellId + // in the vector storing the list of the shells reachable through + // a radiative transition + if ( shellId <= refShell->FinalShellId()) + { + while (shellId != transitionManager->ReachableShell(Z,shellNum)->FinalShellId()) + { + if(shellNum ==maxNumOfShells-1) + { + break; + } + shellNum++; + } + G4int transProb = 0; //AM change 29/6/07 was 1 + + G4double partialProb = G4UniformRand(); + G4double partSum = 0; + const G4FluoTransition* aShell = transitionManager->ReachableShell(Z,shellNum); + G4int trSize = (aShell->TransitionProbabilities()).size(); + + // Loop over the shells wich can provide an electron for a + // radiative transition towards shellId: + // in every loop the partial sum of the first transProb shells + // is calculated and compared with a random number [0,1]. + // If the partial sum is greater, the shell whose index is transProb + // is chosen as the starting shell for a radiative transition + // and its identity is returned + // Else, terminateded the loop, -1 is returned + while(transProb < trSize){ + + partSum += aShell->TransitionProbability(transProb); + + if(partialProb <= partSum) + { + provShellId = aShell->OriginatingShellId(transProb); + fluoTransitionFoundFlag = true; + + break; + } + transProb++; + } + + // here provShellId is the right one or is -1. + // if -1, the control is passed to the Auger generation part of the package + } + + + + else + { + + provShellId = -1; + + } + return provShellId; +} + +G4DynamicParticle* +G4UAtomicDeexcitation::GenerateFluorescence(G4int Z, G4int shellId, + G4int provShellId ) +{ + //isotropic angular distribution for the outcoming photon + G4double newcosTh = 1.-2.*G4UniformRand(); + G4double newsinTh = std::sqrt((1.-newcosTh)*(1. + newcosTh)); + G4double newPhi = twopi*G4UniformRand(); + + G4double xDir = newsinTh*std::sin(newPhi); + G4double yDir = newsinTh*std::cos(newPhi); + G4double zDir = newcosTh; + + G4ThreeVector newGammaDirection(xDir,yDir,zDir); + + G4int shellNum = 0; + G4int maxNumOfShells = transitionManager->NumberOfReachableShells(Z); + + // find the index of the shell named shellId + while (shellId != transitionManager-> + ReachableShell(Z,shellNum)->FinalShellId()) + { + if(shellNum == maxNumOfShells-1) + { + break; + } + shellNum++; + } + // number of shell from wich an electron can reach shellId + size_t transitionSize = transitionManager-> + ReachableShell(Z,shellNum)->OriginatingShellIds().size(); + + size_t index = 0; + + // find the index of the shell named provShellId in the vector + // storing the shells from which shellId can be reached + while (provShellId != transitionManager-> + ReachableShell(Z,shellNum)->OriginatingShellId(index)) + { + if(index == transitionSize-1) + { + break; + } + index++; + } + // energy of the gamma leaving provShellId for shellId + G4double transitionEnergy = transitionManager-> + ReachableShell(Z,shellNum)->TransitionEnergy(index); + + if (transitionEnergy < minGammaEnergy) return 0; + + // This is the shell where the new vacancy is: it is the same + // shell where the electron came from + newShellId = transitionManager-> + ReachableShell(Z,shellNum)->OriginatingShellId(index); + + + G4DynamicParticle* newPart = new G4DynamicParticle(G4Gamma::Gamma(), + newGammaDirection, + transitionEnergy); + return newPart; +} + +G4DynamicParticle* G4UAtomicDeexcitation::GenerateAuger(G4int Z, G4int shellId) +{ + if(!IsAugerActive()) { return 0; } + + if (shellId <=0 ) { + {G4Exception("G4UAtomicDeexcitation: zero or negative shellId");} + } + // G4int provShellId = -1; + G4int maxNumOfShells = transitionManager->NumberOfReachableAugerShells(Z); + + const G4AugerTransition* refAugerTransition = + transitionManager->ReachableAugerShell(Z,maxNumOfShells-1); + + // This loop gives to shellNum the value of the index of shellId + // in the vector storing the list of the vacancies in the variuos shells + // that can originate a NON-radiative transition + + // ---- MGP ---- Next line commented out to remove compilation warning + // G4int p = refAugerTransition->FinalShellId(); + + G4int shellNum = 0; + + if ( shellId <= refAugerTransition->FinalShellId() ) + //"FinalShellId" is final from the point of view of the elctron who makes the transition, + // being the Id of the shell in which there is a vacancy + { + G4int pippo = transitionManager->ReachableAugerShell(Z,shellNum)->FinalShellId(); + if (shellId != pippo ) { + do { + shellNum++; + if(shellNum == maxNumOfShells) + { + //G4Exception("G4UAtomicDeexcitation: No Auger transition found"); + return 0; + } + } + while (shellId != (transitionManager->ReachableAugerShell(Z,shellNum)->FinalShellId()) ) ; + } + + + // Now we have that shellnum is the shellIndex of the shell named ShellId + + // G4cout << " the index of the shell is: "<ReachableAugerShell(Z,shellNum); + + // G4cout << " corresponding to the ID: "<< anAugerTransition->FinalShellId() << G4endl; + + + G4int transitionSize = + (anAugerTransition->TransitionOriginatingShellIds())->size(); + while (transitionLoopShellIndex < transitionSize) { + + std::vector::const_iterator pos = + anAugerTransition->TransitionOriginatingShellIds()->begin(); + + G4int transitionLoopShellId = *(pos+transitionLoopShellIndex); + G4int numberOfPossibleAuger = + (anAugerTransition->AugerTransitionProbabilities(transitionLoopShellId))->size(); + G4int augerIndex = 0; + // G4int partSum2 = 0; + + + if (augerIndex < numberOfPossibleAuger) { + + do + { + G4double thisProb = anAugerTransition->AugerTransitionProbability(augerIndex, + transitionLoopShellId); + partSum += thisProb; + augerIndex++; + + } while (augerIndex < numberOfPossibleAuger); + } + transitionLoopShellIndex++; + } + + + + // Now we have the entire probability of an auger transition for the vacancy + // located in shellNum (index of shellId) + + // AM *********************** F I X E D **************************** AM + // Here we duplicate the previous loop, this time looking to the sum of the probabilities + // to be under the random number shoot by G4 UniformRdandom. This could have been done in the + // previuos loop, while integrating the probabilities. There is a bug that will be fixed + // 5 minutes from now: a line: + // G4int numberOfPossibleAuger = (anAugerTransition-> + // AugerTransitionProbabilities(transitionLoopShellId))->size(); + // to be inserted. + // AM *********************** F I X E D **************************** AM + + // Remains to get the same result with a single loop. + + // AM *********************** F I X E D **************************** AM + // Another Bug: in EADL Auger Transition are normalized to all the transitions deriving from + // a vacancy in one shell, but not all of these are present in data tables. So if a transition + // doesn't occur in the main one a local energy deposition must occur, instead of (like now) + // generating the last transition present in EADL data. + // AM *********************** F I X E D **************************** AM + + + G4double totalVacancyAugerProbability = partSum; + + + //And now we start to select the right auger transition and emission + G4int transitionRandomShellIndex = 0; + G4int transitionRandomShellId = 1; + G4int augerIndex = 0; + partSum = 0; + G4double partialProb = G4UniformRand(); + // G4int augerOriginatingShellId = 0; + + G4int numberOfPossibleAuger = 0; + + G4bool foundFlag = false; + + while (transitionRandomShellIndex < transitionSize) { + + std::vector::const_iterator pos = + anAugerTransition->TransitionOriginatingShellIds()->begin(); + + transitionRandomShellId = *(pos+transitionRandomShellIndex); + + augerIndex = 0; + numberOfPossibleAuger = (anAugerTransition-> + AugerTransitionProbabilities(transitionRandomShellId))->size(); + + while (augerIndex < numberOfPossibleAuger) { + G4double thisProb =anAugerTransition->AugerTransitionProbability(augerIndex, + transitionRandomShellId); + + partSum += thisProb; + + if (partSum >= (partialProb*totalVacancyAugerProbability) ) { // was / + foundFlag = true; + break; + } + augerIndex++; + } + if (partSum >= (partialProb*totalVacancyAugerProbability) ) {break;} // was / + transitionRandomShellIndex++; + } + + // Now we have the index of the shell from wich comes the auger electron (augerIndex), + // and the id of the shell, from which the transition e- come (transitionRandomShellid) + // If no Transition has been found, 0 is returned. + + if (!foundFlag) {return 0;} + + // Isotropic angular distribution for the outcoming e- + G4double newcosTh = 1.-2.*G4UniformRand(); + G4double newsinTh = std::sqrt(1.-newcosTh*newcosTh); + G4double newPhi = twopi*G4UniformRand(); + + G4double xDir = newsinTh*std::sin(newPhi); + G4double yDir = newsinTh*std::cos(newPhi); + G4double zDir = newcosTh; + + G4ThreeVector newElectronDirection(xDir,yDir,zDir); + + // energy of the auger electron emitted + + + G4double transitionEnergy = anAugerTransition->AugerTransitionEnergy(augerIndex, transitionRandomShellId); + /* + G4cout << "AUger TransitionId " << anAugerTransition->FinalShellId() << G4endl; + G4cout << "augerIndex: " << augerIndex << G4endl; + G4cout << "transitionShellId: " << transitionRandomShellId << G4endl; + */ + + if (transitionEnergy < minElectronEnergy) return 0; + + // This is the shell where the new vacancy is: it is the same + // shell where the electron came from + newShellId = transitionRandomShellId; + + return new G4DynamicParticle(G4Electron::Electron(), + newElectronDirection, + transitionEnergy); + } + else + { + //G4Exception("G4UAtomicDeexcitation: no auger transition found"); + return 0; + } +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc b/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc index c0696e9afc..687efa6c43 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VCrossSectionHandler.cc,v 1.19 2009/09/25 07:41:34 sincerti Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VCrossSectionHandler.cc,v 1.20 2010/12/02 17:39:47 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // @@ -151,6 +151,7 @@ void G4VCrossSectionHandler::Initialise(G4VDataSetAlgorithm* algorithm, } else { + delete interpolation; interpolation = CreateInterpolation(); } @@ -496,6 +497,7 @@ G4VEMDataSet* G4VCrossSectionHandler::BuildMeanFreePathForMaterials(const G4Data G4VDataSetAlgorithm* algo = CreateInterpolation(); G4VEMDataSet* materialSet = new G4CompositeEMDataSet(algo); + //G4cout << "G4VCrossSectionHandler new dataset " << materialSet << G4endl; G4DataVector* energies; G4DataVector* data; diff --git a/examples/extended/parallel/ExDiane/Brachy.cc b/source/processes/electromagnetic/lowenergy/src/G4VecpssrKModel.cc similarity index 74% rename from examples/extended/parallel/ExDiane/Brachy.cc rename to source/processes/electromagnetic/lowenergy/src/G4VecpssrKModel.cc index 4227b11644..e5b24305f0 100644 --- a/examples/extended/parallel/ExDiane/Brachy.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4VecpssrKModel.cc @@ -23,39 +23,41 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +//$Id: G4VecpssrKModel.cc,v 1.2 2010/06/06 23:52:28 mantero Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // -// $Id: Brachy.cc -// GEANT4 tag $Name: geant4-09-02 $ +// Author: Haifa Ben Abdelouahed +// // -// -------------------------------------------------------------- -// GEANT 4 - ExDiane example -// -------------------------------------------------------------- +// History: +// ----------- +// 01 Sep 2009 ALF created // -// Code developed by: S.Guatelli +// ------------------------------------------------------------------- +// Class description: +// Low Energy Electromagnetic Physics, Cross section, p and alpha ionisation, L shell +// Further documentation available from http://www.ge.infn.it/geant4/lowE +// ------------------------------------------------------------------- -#include "BrachySimulation.hh" -int main(int argc, char** argv){ - BrachySimulation * simulation = new BrachySimulation(0); - simulation -> initialize(argc,argv); +#include "G4VecpssrKModel.hh" - G4String mn; - if(argc>1) - mn = argv[1]; +G4VecpssrKModel::G4VecpssrKModel() +{ - if(mn=="") - { - std::cerr << "error: please give a macro file name" << std::endl; - return -1; - } - - simulation -> executeMacro(mn); - - simulation -> finish(); - - delete simulation; - G4cout << "The job ends! " << G4endl; - return 0; } + +G4VecpssrKModel::~G4VecpssrKModel() +{ + +} + +/* +G4double G4VecpssrKModel::CalculateCrossSection(G4int,G4double,G4double) +{ + +} +*/ + diff --git a/source/processes/electromagnetic/lowenergy/src/G4VecpssrLiModel.cc b/source/processes/electromagnetic/lowenergy/src/G4VecpssrLiModel.cc new file mode 100644 index 0000000000..c85b0b78ed --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4VecpssrLiModel.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: G4VecpssrLiModel.cc,v 1.2 2010/06/06 23:52:28 mantero Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// Author: Haifa Ben Abdelouahed +// +// +// History: +// ----------- +// 01 Sep 2009 ALF created +// +// ------------------------------------------------------------------- +// Class description: +// Low Energy Electromagnetic Physics, Cross section, p and alpha ionisation, L shell +// Further documentation available from http://www.ge.infn.it/geant4/lowE +// ------------------------------------------------------------------- + + + +#include "G4VecpssrLiModel.hh" + + +G4VecpssrLiModel::G4VecpssrLiModel() +{ + +} + +G4VecpssrLiModel::~G4VecpssrLiModel() +{ + +} + + +/*G4double G4VecpssrLiModel::CalculateL1CrossSection(G4int ,G4double , G4double ) +{ + +} + +G4double G4VecpssrLiModel::CalculateL2CrossSection(G4int ,G4double , G4double ) + +{ + +} + + +G4double G4VecpssrLiModel::CalculateL3CrossSection(G4int ,G4double , G4double ) + +{ + +} +*/ diff --git a/source/processes/electromagnetic/lowenergy/src/G4VhShellCrossSection.cc b/source/processes/electromagnetic/lowenergy/src/G4VhShellCrossSection.cc index 40b5e8a309..10b8430dcc 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4VhShellCrossSection.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4VhShellCrossSection.cc @@ -60,9 +60,11 @@ G4int G4VhShellCrossSection::SelectRandomShell(G4int Z, G4double incidentEnergy, G4double mass, G4double deltaEnergy) const +// returns the shell ionized if the shell exists. If the shell is not counted, it returns -1 + { std::vector p = Probabilities(Z,incidentEnergy,mass,deltaEnergy); - G4int shell = 0; + G4int shell = -1; size_t nShells = p.size(); G4double q = G4UniformRand(); for (size_t i=0; i - -G4ecpssrCrossSection::G4ecpssrCrossSection() -{ } - -G4ecpssrCrossSection::~G4ecpssrCrossSection() -{ } - -//---------------------------------this "ExpIntFunction" function allows fast evaluation of the n order exponential integral function En(x)------ - -G4double G4ecpssrCrossSection::ExpIntFunction(G4int n,G4double x) - -{ - G4int i; - G4int ii; - G4int nm1; - G4double a; - G4double b; - G4double c; - G4double d; - G4double del; - G4double fact; - G4double h; - G4double psi; - G4double ans = 0; - const G4double euler= 0.5772156649; - const G4int maxit= 100; - const G4double fpmin = 1.0e-30; - const G4double eps = 1.0e-7; - nm1=n-1; - if (n<0 || x<0.0 || (x==0.0 && (n==0 || n==1))) - G4cout << "bad arguments in ExpIntFunction" << G4endl; - else { - if (n==0) ans=std::exp(-x)/x; - else { - if (x==0.0) ans=1.0/nm1; - else { - if (x > 1.0) { - b=x+n; - c=1.0/fpmin; - d=1.0/b; - h=d; - for (i=1;i<=maxit;i++) { - a=-i*(nm1+i); - b +=2.0; - d=1.0/(a*d+b); - c=b+a/c; - del=c*d; - h *=del; - if (std::fabs(del-1.0) < eps) { - ans=h*std::exp(-x); - return ans; - } - } - } else { - ans = (nm1!=0 ? 1.0/nm1 : -std::log(x)-euler); - fact=1.0; - for (i=1;i<=maxit;i++) { - fact *=-x/i; - if (i !=nm1) del = -fact/(i-nm1); - else { - psi = -euler; - for (ii=1;ii<=nm1;ii++) psi +=1.0/ii; - del=fact*(-std::log(x)+psi); - } - ans += del; - if (std::fabs(del) < std::fabs(ans)*eps) return ans; - } - } - } - } - } -return ans; -} -//----------------------------------------------------------------------------------------------------------- - - -G4double G4ecpssrCrossSection::CalculateCrossSection(G4int zTarget,G4int zIncident, G4double energyIncident) - - //this K-CrossSection calculation method is done according to W.Brandt and G.Lapicki, Phys.Rev.A23(1981)// - -{ - - G4NistManager* massManager = G4NistManager::Instance(); - - G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); - - G4double massIncident; - - if (zIncident == 1) - { - G4Proton* aProtone = G4Proton::Proton(); - - massIncident = aProtone->GetPDGMass(); - } - else - { - if (zIncident == 2) - { - G4Alpha* aAlpha = G4Alpha::Alpha(); - - massIncident = aAlpha->GetPDGMass(); - } - else - { - G4cout << "we can treat only Proton or Alpha incident particles " << G4endl; - massIncident =0.; - } - } - - G4double kBindingEnergy = transitionManager->Shell(zTarget,0)->BindingEnergy(); - - G4double massTarget = (massManager->GetAtomicMassAmu(zTarget))*amu_c2; - - G4double systemMass =((massIncident*massTarget)/(massIncident+massTarget))/electron_mass_c2;//the mass of the system (projectile, target) - - const G4double zkshell= 0.3; - - G4double screenedzTarget = zTarget-zkshell; // screenedzTarget is the screened nuclear charge of the target - - const G4double rydbergMeV= 13.6e-6; - - G4double tetaK = kBindingEnergy/((screenedzTarget*screenedzTarget)*rydbergMeV); //tetaK denotes the reduced binding energy of the electron - - const G4double bohrPow2Barn=(Bohr_radius*Bohr_radius)/barn ; - - G4double sigma0 = 8.*pi*(zIncident*zIncident)*bohrPow2Barn*std::pow(screenedzTarget,-4.); //sigma0 is the initial cross section of K shell at stable state - - //--------------------------------------------------------------------------------------------------------------------- - - G4double velocity = CalculateVelocity( zTarget, zIncident, energyIncident); //is the scaled velocity parameter of the system - - //--------------------------------------------------------------------------------------------------------------------- - - const G4double kAnalyticalApproximation= 1.5; - - G4double x = kAnalyticalApproximation/velocity; - - G4double electrIonizationEnergy; - - if ( x<0.035) - { - electrIonizationEnergy= 0.75*pi*(std::log(1./(x*x))-1.); - } - else - { - if ( x<3.) - { - electrIonizationEnergy =std::exp(-2.*x)/(0.031+(0.213*std::pow(x,0.5))+(0.005*x)-(0.069*std::pow(x,3./2.))+(0.324*x*x)); - } - - else - { - electrIonizationEnergy =2.*std::exp(-2.*x)/std::pow(x,1.6); } - } - - G4double hFunction =(electrIonizationEnergy*2.)/(tetaK*std::pow(velocity,3)); //hFunction represents the correction for polarization effet - - G4double gFunction = (1.+(9.*velocity)+(31.*velocity*velocity)+(98.*std::pow(velocity,3.))+(12.*std::pow(velocity,4.))+(25.*std::pow(velocity,5.)) - +(4.2*std::pow(velocity,6.))+(0.515*std::pow(velocity,7.)))/std::pow(1.+velocity,9.); //gFunction represents the correction for binding effet - - //----------------------------------------------------------------------------------------------------------------------------- - - G4double sigmaPSS = 1.+(((2.*zIncident)/(screenedzTarget*tetaK))*(gFunction-hFunction)); //describes the perturbed stationnairy state of the affected atomic electon - - //---------------------------------------------------------------------------------------------------------------------------- - - const G4double cNaturalUnit= 1/fine_structure_const; // it's the speed of light according to Atomic-Unit-System - - G4double ykFormula=0.4*(screenedzTarget/cNaturalUnit)*(screenedzTarget/cNaturalUnit)/(velocity/sigmaPSS); - - G4double relativityCorrection = std::pow((1.+(1.1*ykFormula*ykFormula)),0.5)+ykFormula;// the relativistic correction parameter - - G4double reducedVelocity = velocity*std::pow(relativityCorrection,0.5); // presents the reduced collision velocity parameter - - G4double universalFunction = (std::pow(2.,9.)/45.)*std::pow(reducedVelocity/sigmaPSS,8.)*std::pow((1.+(1.72*(reducedVelocity/sigmaPSS)*(reducedVelocity/sigmaPSS))),-4.);// is the reduced universal cross section - - //---------------------------------------------------------------------------------------------------------------------- - - G4double sigmaPSSR = (sigma0/(sigmaPSS*tetaK))*universalFunction; //sigmaPSSR is the straight-line K-shell ionization cross section - - //----------------------------------------------------------------------------------------------------------------------- - - G4double pssDeltaK = (4./(systemMass*sigmaPSS*tetaK))*(sigmaPSS/velocity)*(sigmaPSS/velocity); - - G4double energyLoss = std::pow(1-pssDeltaK,0.5); //energyLoss incorporates the straight-line energy-loss - - G4double energyLossFunction = (std::pow(2.,-9)/8.)*((((9.*energyLoss)-1.)*std::pow(1.+energyLoss,9.))+(((9.*energyLoss)+1.)*std::pow(1.-energyLoss,9.)));//energy loss function - - //---------------------------------------------------------------------------------------------------------------------------------------------- - - G4double coulombDeflection = (4.*pi*zIncident/systemMass)*std::pow(tetaK*sigmaPSS,-2.)*std::pow(velocity/sigmaPSS,-3.)*(zTarget/screenedzTarget); //incorporates Coulomb deflection parameter - - G4double cParameter = 2.*coulombDeflection/(energyLoss*(energyLoss+1.)); - - - G4double coulombDeflectionFunction = 9.*ExpIntFunction(10,cParameter); //this function describes Coulomb-deflection effect - - //-------------------------------------------------------------------------------------------------------------------------------------------------- - - - G4double crossSection = energyLossFunction* coulombDeflectionFunction*sigmaPSSR; //this ECPSSR cross section is estimated at perturbed-stationnairy-state(PSS) - //and it's reduced by the energy-loss(E),the Coulomb deflection(C), - //and the relativity(R) effects - - //-------------------------------------------------------------------------------------------------------------------------------------------------- - - return crossSection; -} - -G4double G4ecpssrCrossSection::CalculateVelocity(G4int zTarget, G4int zIncident, G4double energyIncident) - -{ - - G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); - - G4double kBindingEnergy = (transitionManager->Shell(zTarget,0)->BindingEnergy())/MeV; - - G4double massIncident; - - if (zIncident == 1) - { - G4Proton* aProtone = G4Proton::Proton(); - - massIncident = aProtone->GetPDGMass(); - } - else - { - if (zIncident == 2) - { - G4Alpha* aAlpha = G4Alpha::Alpha(); - - massIncident = aAlpha->GetPDGMass(); - } - else - { - G4cout << "we can treat only Proton or Alpha incident particles " << G4endl; - massIncident =0.; - } - } - - const G4double zkshell= 0.3; - - G4double screenedzTarget = zTarget- zkshell; - - const G4double rydbergMeV= 13.6e-6; - -G4double tetaK = kBindingEnergy/(screenedzTarget*screenedzTarget*rydbergMeV); - -G4double velocity =(2./(tetaK*screenedzTarget))*std::pow(((energyIncident*electron_mass_c2)/(massIncident*rydbergMeV)),0.5); - - return velocity; -} - diff --git a/source/processes/electromagnetic/lowenergy/src/G4empCrossSection.cc b/source/processes/electromagnetic/lowenergy/src/G4empCrossSection.cc new file mode 100755 index 0000000000..c001ac2c7b --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4empCrossSection.cc @@ -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. * +// ******************************************************************** +// +//$Id: G4empCrossSection.cc,v 1.3 2010/11/12 18:09:44 mantero Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// +// History: +// ----------- +// 29 Apr 2009 ALF 1st implementation +// +// ------------------------------------------------------------------- +// Class description: +// empirical model for K and L Ionization CS for Protons and Alpha +// Further documentation available from http://www.ge.infn.it/geant4/lowE +// ------------------------------------------------------------------- + + +#include "globals.hh" +#include "G4empCrossSection.hh" +#include "G4Proton.hh" +//#include "G4Alpha.hh" +//#include + +G4empCrossSection::G4empCrossSection() + :totalCS(0) +{ + + paulShellK = new G4PaulKCrossSection(); + orlicShellLi = new G4OrlicLiCrossSection(); + +} + +G4empCrossSection::~G4empCrossSection() +{ + + delete paulShellK; + delete orlicShellLi; + +} + +std::vector G4empCrossSection::GetCrossSection(G4int Z, + G4double incidentEnergy, + G4double mass, + G4double deltaEnergy, + G4bool testFlag) const +{ + + deltaEnergy = 0; + testFlag = 0; + + std::vector crossSections; + + crossSections.push_back( paulShellK->CalculateKCrossSection(Z, mass, incidentEnergy) ); + + G4Proton* aProtone = G4Proton::Proton(); + + if (mass == aProtone->GetPDGMass() ) { + + crossSections.push_back( orlicShellLi->CalculateL1CrossSection(Z, incidentEnergy) ); + crossSections.push_back( orlicShellLi->CalculateL2CrossSection(Z, incidentEnergy) ); + crossSections.push_back( orlicShellLi->CalculateL3CrossSection(Z, incidentEnergy) ); + } + + return crossSections; + +} + + + + +std::vector G4empCrossSection::Probabilities(G4int Z, + G4double incidentEnergy, + G4double mass, + G4double deltaEnergy) const +{ + +std::vector crossSections = GetCrossSection(Z, incidentEnergy, mass, deltaEnergy); + + for (size_t i=0; isize(); aParticleChange.SetNumberOfSecondaries(nSecondaries); G4Track* newtrack = 0; @@ -1279,70 +1271,67 @@ G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( // G4cout << "Fluorescence is switched :" << theFluo << G4endl; + // Fluorescence data start from element 6 if(theFluo && Z > 5) { - // Atom total cross section for the Empiric Model - if (expFlag) { + // Atom total cross section shellCS->SetTotalCS(totalCrossSectionMap[Z]); - } + G4int shell = shellCS->SelectRandomShell(Z, KineticEnergy,ParticleMass,DeltaKineticEnergy); - if (expFlag && shell==1) { - aParticleChange.ProposeLocalEnergyDeposit (KineticEnergy); - aParticleChange.ProposeEnergy(0); - } - - - const G4AtomicShell* atomicShell = - (G4AtomicTransitionManager::Instance())->Shell(Z, shell); - G4double bindingEnergy = atomicShell->BindingEnergy(); - - if(verboseLevel > 1) { - G4cout << "PostStep Z= " << Z << " shell= " << shell - << " bindingE(keV)= " << bindingEnergy/keV - << " finalE(keV)= " << finalKineticEnergy/keV - << G4endl; - } - - // Fluorescence data start from element 6 - - if (finalKineticEnergy >= bindingEnergy - && (bindingEnergy >= minGammaEnergy - || bindingEnergy >= minElectronEnergy) ) { - - G4int shellId = atomicShell->ShellId(); - secondaryVector = deexcitationManager.GenerateParticles(Z, shellId); - - if (secondaryVector != 0) { - - nSecondaries = secondaryVector->size(); - for (size_t i = 0; iGetKineticEnergy(); - type = aSecondary->GetDefinition(); - if (e < finalKineticEnergy && - ((type == G4Gamma::Gamma() && e > minGammaEnergy ) || - (type == G4Electron::Electron() && e > minElectronEnergy ))) { - - finalKineticEnergy -= e; - totalNumber++; - - } else { - - delete aSecondary; - (*secondaryVector)[i] = 0; + if (shell!=-1) { + + const G4AtomicShell* atomicShell = + (G4AtomicTransitionManager::Instance())->Shell(Z, shell); + G4double bindingEnergy = atomicShell->BindingEnergy(); + + if(verboseLevel > 1) { + G4cout << "PostStep Z= " << Z << " shell= " << shell + << " bindingE(keV)= " << bindingEnergy/keV + << " finalE(keV)= " << finalKineticEnergy/keV + << G4endl; + } + + + + if (finalKineticEnergy >= bindingEnergy + && (bindingEnergy >= minGammaEnergy + || bindingEnergy >= minElectronEnergy) ) { + + // G4int shellId = atomicShell->ShellId(); + deexcitationManager.GenerateParticles(secondaryVector, atomicShell, Z, minGammaEnergy, minElectronEnergy); + + if (secondaryVector != 0) { + // debug G4cout << "DEEXCTATION!!!" << G4endl; //debug + nSecondaries = secondaryVector->size(); + for (size_t i = 0; iGetKineticEnergy(); + type = aSecondary->GetDefinition(); + if (e < finalKineticEnergy && + ((type == G4Gamma::Gamma() && e > minGammaEnergy ) || + (type == G4Electron::Electron() && e > minElectronEnergy ))) { + + finalKineticEnergy -= e; + totalNumber++; + + } else { + + delete aSecondary; + (*secondaryVector)[i] = 0; + } } } } } } } - + // Save delta-electrons G4double edep = 0.0; @@ -1400,8 +1389,26 @@ G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* -G4hLowEnergyIonisation::DeexciteAtom(const G4MaterialCutsCouple* couple, + + +void G4hLowEnergyIonisation::SelectShellIonisationCS(G4String val) { + + if (val == "analytical" ) { + if (shellCS) delete shellCS; + shellCS = new G4teoCrossSection(val); + } + else if (val == "empirical") { + if (shellCS) delete shellCS; + shellCS = new G4empCrossSection(); + } +} + + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +std::vector* G4hLowEnergyIonisation::DeexciteAtom(const G4MaterialCutsCouple* couple, G4double incidentEnergy, G4double hMass, G4double eLoss) @@ -1447,15 +1454,15 @@ G4hLowEnergyIonisation::DeexciteAtom(const G4MaterialCutsCouple* couple, if(stop) return 0; // create vector of tracks of secondary particles - + std::vector* partVector = new std::vector; - std::vector* secVector = 0; + std::vector* secVector = new std::vector; G4DynamicParticle* aSecondary = 0; G4ParticleDefinition* type = 0; G4double e, tkin, grej; G4ThreeVector position; - G4int shell, shellId; + G4int shell; // sample secondaries @@ -1479,44 +1486,54 @@ G4hLowEnergyIonisation::DeexciteAtom(const G4MaterialCutsCouple* couple, } while( G4UniformRand() > grej ); + // Atom total cross section + shellCS->SetTotalCS(totalCrossSectionMap[Z]); + shell = shellCS->SelectRandomShell(Z,incidentEnergy,hMass,tkin); - - shellId = transitionManager->Shell(Z, shell)->ShellId(); + + // shellId = transitionManager->Shell(Z, shell)->ShellId(); G4double maxE = transitionManager->Shell(Z, shell)->BindingEnergy(); - - if (maxE>minGammaEnergy || maxE>minElectronEnergy ) { - secVector = deexcitationManager.GenerateParticles(Z, shellId); - } else { - secVector = 0; - } - - if (secVector) { - - for (size_t l = 0; lsize(); l++) { - - aSecondary = (*secVector)[l]; - if(aSecondary) { - - e = aSecondary->GetKineticEnergy(); - type = aSecondary->GetDefinition(); - if ( etot + e <= eLoss && - ( (type == G4Gamma::Gamma() && e > minGammaEnergy ) || - (type == G4Electron::Electron() && e > minElectronEnergy) ) ) { - - etot += e; - partVector->push_back(aSecondary); - - } else { - delete aSecondary; - } - } + + if (maxE>minGammaEnergy || maxE>minElectronEnergy ) + { + deexcitationManager.GenerateParticles(secVector, transitionManager->Shell(Z, shell), Z, minGammaEnergy, minElectronEnergy); + } + + if (!(secVector->empty())) { + size_t secN = secVector->size(); + for (size_t l = 0; lGetKineticEnergy(); + type = aSecondary->GetDefinition(); + if ( etot + e <= eLoss && + ( (type == G4Gamma::Gamma() && e > minGammaEnergy ) || + (type == G4Electron::Electron() && e > minElectronEnergy) ) ) + { + etot += e; + partVector->push_back(aSecondary); + } + else + { + delete aSecondary; + } + aSecondary = 0; + } + (*secVector)[l] = 0; + delete (*secVector)[l]; + } + + // secVector = 0; + } - delete secVector; - } } } } + delete secVector; + if(partVector->empty()) { delete partVector; return 0; @@ -2010,7 +2027,7 @@ void G4hLowEnergyIonisation::SetCutForAugerElectrons(G4double cut) void G4hLowEnergyIonisation::ActivateAugerElectronProduction(G4bool val) { - deexcitationManager.ActivateAugerElectronProduction(val); + deexcitationManager.SetAugerActive(val); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExp.cc b/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExp.cc index 74577dcb38..1749d69817 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExp.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExp.cc @@ -40,8 +40,8 @@ // Class Description: // Empiric Model for shell cross sections in proton ionisation // ------------------------------------------------------------------- -// $Id: G4hShellCrossSectionDoubleExp.cc,v 1.10 2009/06/10 13:32:36 mantero Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4hShellCrossSectionDoubleExp.cc,v 1.11 2010/02/05 08:54:12 sincerti Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ #include "globals.hh" #include @@ -55,6 +55,8 @@ G4hShellCrossSectionDoubleExp::G4hShellCrossSectionDoubleExp() { kShellData = new G4hShellCrossSectionDoubleExpData(); + + atomTotalCrossSection = 0.; } G4hShellCrossSectionDoubleExp::~G4hShellCrossSectionDoubleExp() diff --git a/source/processes/electromagnetic/lowenergy/src/G4teoCrossSection.cc b/source/processes/electromagnetic/lowenergy/src/G4teoCrossSection.cc new file mode 100644 index 0000000000..7bbc347ef7 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4teoCrossSection.cc @@ -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: G4teoCrossSection.cc,v 1.8 2010/11/22 22:48:30 mantero Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +// +// History: +// ----------- +// 21 Apr 2009 ALF 1st implementation +// 29 Apr 2009 ALF Updated Desing for Integration +// +// ------------------------------------------------------------------- +// Class description: +// Low Energy Electromagnetic Physics, Cross section, p ionisation, K shell +// Further documentation available from http://www.ge.infn.it/geant4/lowE +// ------------------------------------------------------------------- + + +#include "globals.hh" +#include "G4teoCrossSection.hh" +//#include "G4AtomicTransitionManager.hh" +//#include "G4NistManager.hh" +#include "G4Proton.hh" +//#include "G4Alpha.hh" +//#include + +G4teoCrossSection::G4teoCrossSection(G4String shellModel) + :totalCS(0) +{ + + if (shellModel == "analytical") { + + + ecpssrShellK = new G4AnalyticalEcpssrKCrossSection(); + ecpssrShellLi = new G4AnalyticalEcpssrLiCrossSection(); + + } +} + +G4teoCrossSection::~G4teoCrossSection() +{ + + delete ecpssrShellK; + delete ecpssrShellLi; + +} + +std::vector G4teoCrossSection::GetCrossSection(G4int Z, + G4double incidentEnergy, + G4double mass, + G4double deltaEnergy, + G4bool testFlag) const +{ + + deltaEnergy = 0; + testFlag = 0; + + + std::vector crossSections; + + crossSections.push_back( ecpssrShellK->CalculateCrossSection(Z, mass, incidentEnergy) ); + + // G4Proton* aProtone = G4Proton::Proton(); + + // if (mass == aProtone->GetPDGMass() ) { + + + // } + + crossSections.push_back( ecpssrShellLi->CalculateL1CrossSection(Z, mass, incidentEnergy) ); + crossSections.push_back( ecpssrShellLi->CalculateL2CrossSection(Z, mass, incidentEnergy) ); + crossSections.push_back( ecpssrShellLi->CalculateL3CrossSection(Z, mass, incidentEnergy) ); + + + return crossSections; + +} + + + + +std::vector G4teoCrossSection::Probabilities(G4int Z, + G4double incidentEnergy, + G4double mass, + G4double deltaEnergy) const +{ + +std::vector crossSections = GetCrossSection(Z, incidentEnergy, mass, deltaEnergy); + + for (size_t i=0; i partialSum; + std::vector partialSum; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/muons/sources.cmake b/source/processes/electromagnetic/muons/sources.cmake new file mode 100644 index 0000000000..1f566b476c --- /dev/null +++ b/source/processes/electromagnetic/muons/sources.cmake @@ -0,0 +1,91 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4muons +# Package: Geant4.src.G4processes.G4electromagnetic.G4muons +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 18:53:33 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/standard/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4muons + HEADERS + G4EnergyLossForExtrapolator.hh + G4ErrorEnergyLoss.hh + G4MuBetheBlochModel.hh + G4MuBremsstrahlung.hh + G4MuBremsstrahlungModel.hh + G4MuIonisation.hh + G4MuMultipleScattering.hh + G4MuPairProduction.hh + G4MuPairProductionModel.hh + SOURCES + G4EnergyLossForExtrapolator.cc + G4ErrorEnergyLoss.cc + G4MuBetheBlochModel.cc + G4MuBremsstrahlung.cc + G4MuBremsstrahlungModel.cc + G4MuIonisation.cc + G4MuMultipleScattering.cc + G4MuPairProduction.cc + G4MuPairProductionModel.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4cuts + G4emstandard + G4emutils + G4geometrymng + G4globman + G4leptons + G4materials + G4mesons + G4navigation + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/electromagnetic/muons/src/G4EnergyLossForExtrapolator.cc b/source/processes/electromagnetic/muons/src/G4EnergyLossForExtrapolator.cc index 151f1eae7a..eae06fa49c 100644 --- a/source/processes/electromagnetic/muons/src/G4EnergyLossForExtrapolator.cc +++ b/source/processes/electromagnetic/muons/src/G4EnergyLossForExtrapolator.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EnergyLossForExtrapolator.cc,v 1.19 2009/07/09 17:04:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EnergyLossForExtrapolator.cc,v 1.21 2010/11/04 12:40:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------------------- // @@ -73,7 +73,28 @@ G4EnergyLossForExtrapolator::G4EnergyLossForExtrapolator(G4int verb) :maxEnergyTransfer(DBL_MAX),verbose(verb),isInitialised(false) -{} +{ + currentParticle = 0; + currentMaterial = 0; + + linLossLimit = 0.01; + emin = 1.*MeV; + emax = 10.*TeV; + nbins = 70; + + nmat = index = 0; + cuts = 0; + + mass = charge2 = electronDensity = radLength = bg2 = beta2 + = kineticEnergy = tmax = 0; + gam = 1.0; + + dedxElectron = dedxPositron = dedxProton = rangeElectron + = rangePositron = rangeProton = invRangeElectron = invRangePositron + = invRangeProton = mscElectron = dedxMuon = rangeMuon = invRangeMuon = 0; + cuts = 0; + electron = positron = proton = muonPlus = muonMinus = 0; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -83,12 +104,15 @@ G4EnergyLossForExtrapolator:: ~G4EnergyLossForExtrapolator() delete dedxElectron; delete dedxPositron; delete dedxProton; + delete dedxMuon; delete rangeElectron; delete rangePositron; delete rangeProton; + delete rangeMuon; delete invRangeElectron; delete invRangePositron; delete invRangeProton; + delete invRangeMuon; delete mscElectron; delete cuts; } @@ -216,11 +240,13 @@ G4bool G4EnergyLossForExtrapolator::SetupKinematics(const G4ParticleDefinition* void G4EnergyLossForExtrapolator::Initialisation() { isInitialised = true; - if(verbose>1) + if(verbose>1) { G4cout << "### G4EnergyLossForExtrapolator::Initialisation" << G4endl; + } currentParticle = 0; currentMaterial = 0; kineticEnergy = 0.0; + electron = G4Electron::Electron(); positron = G4Positron::Positron(); proton = G4Proton::Proton(); @@ -229,11 +255,6 @@ void G4EnergyLossForExtrapolator::Initialisation() currentParticleName = ""; - linLossLimit = 0.01; - emin = 1.*MeV; - emax = 10.*TeV; - nbins = 70; - nmat = G4Material::GetNumberOfMaterials(); const G4MaterialTable* mtable = G4Material::GetMaterialTable(); cuts = new G4ProductionCuts(); diff --git a/source/processes/electromagnetic/muons/src/G4MuBetheBlochModel.cc b/source/processes/electromagnetic/muons/src/G4MuBetheBlochModel.cc index f85e5bf09f..440f33d249 100644 --- a/source/processes/electromagnetic/muons/src/G4MuBetheBlochModel.cc +++ b/source/processes/electromagnetic/muons/src/G4MuBetheBlochModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuBetheBlochModel.cc,v 1.27 2009/11/09 19:18:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4MuBetheBlochModel.cc,v 1.28 2010/10/26 13:52:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -89,7 +89,11 @@ G4MuBetheBlochModel::G4MuBetheBlochModel(const G4ParticleDefinition* p, corr = G4LossTableManager::Instance()->EmCorrections(); fParticleChange = 0; - if(p) SetParticle(p); + // initial initialisation of memeber should be overwritten + // by SetParticle + mass = massSquare = ratio = 1.0; + + if(p) { SetParticle(p); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -121,8 +125,8 @@ G4double G4MuBetheBlochModel::MaxSecondaryEnergy(const G4ParticleDefinition*, void G4MuBetheBlochModel::Initialise(const G4ParticleDefinition* p, const G4DataVector&) { - if(p) SetParticle(p); - if(!fParticleChange) fParticleChange = GetParticleChangeForLoss(); + if(p) { SetParticle(p); } + if(!fParticleChange) { fParticleChange = GetParticleChangeForLoss(); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -285,7 +289,7 @@ void G4MuBetheBlochModel::SampleSecondaries(vector* vdp, { G4double tmax = MaxSecondaryKinEnergy(dp); G4double maxKinEnergy = min(maxEnergy,tmax); - if(minKinEnergy >= maxKinEnergy) return; + if(minKinEnergy >= maxKinEnergy) { return; } G4double kineticEnergy = dp->GetKineticEnergy(); G4double totEnergy = kineticEnergy + mass; diff --git a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc b/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc index 575e63e13f..fe9a52b60f 100644 --- a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc +++ b/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuBremsstrahlungModel.cc,v 1.35 2009/04/12 17:48:45 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4MuBremsstrahlungModel.cc,v 1.36 2010/10/26 13:52:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -93,7 +93,10 @@ G4MuBremsstrahlungModel::G4MuBremsstrahlungModel(const G4ParticleDefinition* p, { theGamma = G4Gamma::Gamma(); nist = G4NistManager::Instance(); - if(p) SetParticle(p); + + mass = rmass = cc = coeff = 1.0; + + if(p) { SetParticle(p); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -121,12 +124,10 @@ G4double G4MuBremsstrahlungModel::MinEnergyCut(const G4ParticleDefinition*, void G4MuBremsstrahlungModel::Initialise(const G4ParticleDefinition* p, const G4DataVector& cuts) { - if(p) SetParticle(p); - - highKinEnergy = HighEnergyLimit(); + if(p) { SetParticle(p); } // partial cross section is computed for fixed energy - G4double fixedEnergy = 0.5*highKinEnergy; + G4double fixedEnergy = 0.5*HighEnergyLimit(); const G4ProductionCutsTable* theCoupleTable= G4ProductionCutsTable::GetProductionCutsTable(); @@ -139,7 +140,7 @@ void G4MuBremsstrahlungModel::Initialise(const G4ParticleDefinition* p, if(nn > 0) { for (G4int ii=0; iiGetMaterialCutsCouple(i); @@ -161,7 +162,7 @@ void G4MuBremsstrahlungModel::Initialise(const G4ParticleDefinition* p, } // define pointer to G4ParticleChange - if(!fParticleChange) fParticleChange = GetParticleChangeForLoss(); + if(!fParticleChange) { fParticleChange = GetParticleChangeForLoss(); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -469,13 +470,13 @@ const G4Element* G4MuBremsstrahlungModel::SelectRandomAtom( const G4Material* material = couple->GetMaterial(); G4int nElements = material->GetNumberOfElements(); const G4ElementVector* theElementVector = material->GetElementVector(); - if(1 == nElements) return (*theElementVector)[0]; - else if(1 > nElements) return 0; + if(1 == nElements) { return (*theElementVector)[0]; } + else if(1 > nElements) { return 0; } G4DataVector* dv = partialSumSigma[couple->GetIndex()]; G4double rval = G4UniformRand()*((*dv)[nElements-1]); for (G4int i=0; iGetPDGMass(); + G4double q = theParticle->GetPDGCharge(); + G4double elow = 0.2*MeV; SetSecondaryParticle(G4Electron::Electron()); // Bragg peak model - if (!EmModel(1)) SetEmModel(new G4BraggModel(),1); + if (!EmModel(1)) { + if(q > 0.0) { SetEmModel(new G4BraggModel(),1); } + else { + SetEmModel(new G4ICRU73QOModel(),1); + //elow = 1.0*MeV; + } + } EmModel(1)->SetLowEnergyLimit(MinKinEnergy()); - EmModel(1)->SetHighEnergyLimit(0.2*MeV); + EmModel(1)->SetHighEnergyLimit(elow); AddEmModel(1, EmModel(1), new G4IonFluctuations()); // high energy fluctuation model - if (!FluctModel()) SetFluctModel(new G4UniversalFluctuation()); + if (!FluctModel()) { SetFluctModel(new G4UniversalFluctuation()); } // moderate energy model - if (!EmModel(2)) SetEmModel(new G4BetheBlochModel(),2); - EmModel(2)->SetLowEnergyLimit(0.2*MeV); + if (!EmModel(2)) { SetEmModel(new G4BetheBlochModel(),2); } + EmModel(2)->SetLowEnergyLimit(elow); EmModel(2)->SetHighEnergyLimit(1.0*GeV); AddEmModel(2, EmModel(2), FluctModel()); // high energy model - if (!EmModel(3)) SetEmModel(new G4MuBetheBlochModel(),3); + if (!EmModel(3)) { SetEmModel(new G4MuBetheBlochModel(),3); } EmModel(3)->SetLowEnergyLimit(1.0*GeV); EmModel(3)->SetHighEnergyLimit(MaxKinEnergy()); AddEmModel(3, EmModel(3), FluctModel()); diff --git a/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc b/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc index 58e42869f0..f147e15b54 100644 --- a/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc +++ b/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuPairProductionModel.cc,v 1.44 2009/08/11 16:50:07 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4MuPairProductionModel.cc,v 1.46 2010/10/26 13:52:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -95,7 +95,7 @@ G4double G4MuPairProductionModel::xgi[]={ 0.0199, 0.1017, 0.2372, 0.4083, 0.5917, 0.7628, 0.8983, 0.9801 }; G4double G4MuPairProductionModel::wgi[]={ 0.0506, 0.1112, 0.1569, 0.1813, 0.1813, 0.1569, 0.1112, 0.0506 }; - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... using namespace std; @@ -110,7 +110,7 @@ G4MuPairProductionModel::G4MuPairProductionModel(const G4ParticleDefinition* p, currentZ(0), fParticleChange(0), minPairEnergy(4.*electron_mass_c2), - lowestKinEnergy(1.*GeV), + lowestKinEnergy(GeV), nzdat(5), ntdat(8), nbiny(1000), @@ -126,7 +126,11 @@ G4MuPairProductionModel::G4MuPairProductionModel(const G4ParticleDefinition* p, theElectron = G4Electron::Electron(); thePositron = G4Positron::Positron(); - if(p) SetParticle(p); + particleMass = lnZ = z13 = z23 = 0; + + for(size_t i=0; i<1001; ++i) { ya[i] = 0.0; } + + if(p) { SetParticle(p); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -157,10 +161,10 @@ void G4MuPairProductionModel::Initialise(const G4ParticleDefinition* p, const G4DataVector&) { if (!samplingTablesAreFilled) { - if(p) SetParticle(p); + if(p) { SetParticle(p); } MakeSamplingTables(); } - if(!fParticleChange) fParticleChange = GetParticleChangeForLoss(); + if(!fParticleChange) { fParticleChange = GetParticleChangeForLoss(); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -173,21 +177,21 @@ G4double G4MuPairProductionModel::ComputeDEDXPerVolume( { G4double dedx = 0.0; if (cutEnergy <= minPairEnergy || kineticEnergy <= lowestKinEnergy) - return dedx; + { return dedx; } const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector(); // loop for elements in the material - for (size_t i=0; iGetNumberOfElements(); i++) { + for (size_t i=0; iGetNumberOfElements(); ++i) { G4double Z = (*theElementVector)[i]->GetZ(); SetCurrentElement(Z); G4double tmax = MaxSecondaryEnergy(particle, kineticEnergy); G4double loss = ComputMuPairLoss(Z, kineticEnergy, cutEnergy, tmax); dedx += loss*theAtomicNumDensityVector[i]; } - if (dedx < 0.) dedx = 0.; + if (dedx < 0.) { dedx = 0.; } return dedx; } @@ -202,7 +206,7 @@ G4double G4MuPairProductionModel::ComputMuPairLoss(G4double Z, G4double loss = 0.0; G4double cut = std::min(cutEnergy,tmax); - if(cut <= minPairEnergy) return loss; + if(cut <= minPairEnergy) { return loss; } // calculate the rectricted loss // numerical integration in log(PairEnergy) @@ -240,20 +244,20 @@ G4double G4MuPairProductionModel::ComputeMicroscopicCrossSection( G4double cross = 0.; SetCurrentElement(Z); G4double tmax = MaxSecondaryEnergy(particle, tkin); - if (tmax <= cut) return cross; + if (tmax <= cut) { return cross; } G4double ak1=6.9 ; G4double ak2=1.0 ; G4double aaa = log(cut); G4double bbb = log(tmax); G4int kkk = (G4int)((bbb-aaa)/ak1 + ak2); - if(kkk > 8) kkk = 8; - G4double hhh = (bbb-aaa)/float(kkk); + if(kkk > 8) { kkk = 8; } + G4double hhh = (bbb-aaa)/G4double(kkk); G4double x = aaa; - for(G4int l=0; l 0.0) { x *= fac; @@ -442,7 +446,7 @@ void G4MuPairProductionModel::MakeSamplingTables() } } else { - for (G4int i=0 ; i* vdp, G4double tmax) { G4double kineticEnergy = aDynamicParticle->GetKineticEnergy(); - G4double totalEnergy = kineticEnergy + particleMass ; - G4ParticleMomentum ParticleDirection = - aDynamicParticle->GetMomentumDirection(); + G4double totalEnergy = kineticEnergy + particleMass; + G4double totalMomentum = + sqrt(kineticEnergy*(kineticEnergy + 2.0*particleMass)); + + G4ThreeVector partDirection = aDynamicParticle->GetMomentumDirection(); G4int it; - for(it=1; itGetZ()); // define interval of enegry transfer @@ -483,7 +490,7 @@ G4MuPairProductionModel::SampleSecondaries(std::vector* vdp, G4double maxEnergy = std::min(tmax, maxPairEnergy); G4double minEnergy = std::max(tmin, minPairEnergy); - if(minEnergy >= maxEnergy) return; + if(minEnergy >= maxEnergy) { return; } //G4cout << "emin= " << minEnergy << " emax= " << maxEnergy // << " minPair= " << minPairEnergy << " maxpair= " << maxPairEnergy // << " ymin= " << ymin << " dy= " << dy << G4endl; @@ -506,8 +513,8 @@ G4MuPairProductionModel::SampleSecondaries(std::vector* vdp, // sample e-e+ energy, pair energy first G4int iz, iy; - for(iz=1; iz* vdp, // interpolate sampling vector; G4double p1 = pmin; G4double p2 = pmin; - for(iy=iymin+1; iy<=iymax; iy++) { + for(iy=iymin+1; iy<=iymax; ++iy) { p1 = p2; p2 = InterpolatedIntegralCrossSection(dt, dz, iz, it, iy, currentZ); - if(p <= p2) break; + if(p <= p2) { break; } } // G4cout << "iy= " << iy << " iymin= " << iymin << " iymax= " // << iymax << " Z= " << currentZ << G4endl; @@ -531,8 +538,8 @@ G4MuPairProductionModel::SampleSecondaries(std::vector* vdp, G4double PairEnergy = minPairEnergy*exp(exp(y) *log(maxPairEnergy/minPairEnergy)); - if(PairEnergy < minEnergy) PairEnergy = minEnergy; - if(PairEnergy > maxEnergy) PairEnergy = maxEnergy; + if(PairEnergy < minEnergy) { PairEnergy = minEnergy; } + if(PairEnergy > maxEnergy) { PairEnergy = maxEnergy; } // sample r=(E+-E-)/PairEnergy ( uniformly .....) G4double rmax = @@ -544,49 +551,44 @@ G4MuPairProductionModel::SampleSecondaries(std::vector* vdp, G4double ElectronEnergy = (1.-r)*PairEnergy*0.5; G4double PositronEnergy = PairEnergy - ElectronEnergy; - // angles of the emitted particles ( Z - axis along the parent particle) - // (mean theta for the moment) + // The angle of the emitted virtual photon is sampled + // according to the muon bremsstrahlung model + + G4double gam = totalEnergy/particleMass; + G4double gmax = gam*std::min(1.0, totalEnergy/PairEnergy - 1.0); + G4double gmax2= gmax*gmax; + G4double x = G4UniformRand()*gmax2/(1.0 + gmax2); - // - // scattered electron (positron) angles. ( Z - axis along the parent photon) - // - // universal distribution suggested by L. Urban - // (Geant3 manual (1993) Phys211), - // derived from Tsai distribution (Rev Mod Phys 49,421(1977)) - // G4cout << "Ee= " << ElectronEnergy << " Ep= " << PositronEnergy << G4endl; - G4double u; - const G4double a1 = 0.625 , a2 = 3.*a1 , d = 27. ; + G4double theta = sqrt(x/(1.0 - x))/gam; + G4double sint = sin(theta); + G4double phi = twopi * G4UniformRand() ; + G4double dirx = sint*cos(phi), diry = sint*sin(phi), dirz = cos(theta) ; - if (9./(9.+d) >G4UniformRand()) u= - log(G4UniformRand()*G4UniformRand())/a1; - else u= - log(G4UniformRand()*G4UniformRand())/a2; + G4ThreeVector gDirection(dirx, diry, dirz); + gDirection.rotateUz(partDirection); - G4double TetEl = u*electron_mass_c2/ElectronEnergy; - G4double TetPo = u*electron_mass_c2/PositronEnergy; - G4double Phi = twopi * G4UniformRand(); - G4double dxEl= sin(TetEl)*cos(Phi),dyEl= sin(TetEl)*sin(Phi),dzEl=cos(TetEl); - G4double dxPo=-sin(TetPo)*cos(Phi),dyPo=-sin(TetPo)*sin(Phi),dzPo=cos(TetPo); - - G4ThreeVector ElectDirection (dxEl, dyEl, dzEl); - ElectDirection.rotateUz(ParticleDirection); + // the angles of e- and e+ assumed to be the same as virtual gamma // create G4DynamicParticle object for the particle1 - G4DynamicParticle* aParticle1= new G4DynamicParticle(theElectron, - ElectDirection, - ElectronEnergy - electron_mass_c2); - - G4ThreeVector PositDirection (dxPo, dyPo, dzPo); - PositDirection.rotateUz(ParticleDirection); + G4DynamicParticle* aParticle1 = + new G4DynamicParticle(theElectron, gDirection, + ElectronEnergy - electron_mass_c2); // create G4DynamicParticle object for the particle2 G4DynamicParticle* aParticle2 = - new G4DynamicParticle(thePositron, - PositDirection, + new G4DynamicParticle(thePositron, gDirection, PositronEnergy - electron_mass_c2); // primary change kineticEnergy -= (ElectronEnergy + PositronEnergy); fParticleChange->SetProposedKineticEnergy(kineticEnergy); + partDirection *= totalMomentum; + partDirection -= (aParticle1->GetMomentum() + aParticle2->GetMomentum()); + partDirection = partDirection.unit(); + fParticleChange->SetProposedMomentumDirection(partDirection); + + // add secondary vdp->push_back(aParticle1); vdp->push_back(aParticle2); } @@ -602,7 +604,7 @@ const G4Element* G4MuPairProductionModel::SelectRandomAtom( const G4Material* material = couple->GetMaterial(); size_t nElements = material->GetNumberOfElements(); const G4ElementVector* theElementVector = material->GetElementVector(); - if (nElements == 1) return (*theElementVector)[0]; + if (nElements == 1) { return (*theElementVector)[0]; } if(nElements > nmaxElements) { nmaxElements = nElements; @@ -615,7 +617,7 @@ const G4Element* G4MuPairProductionModel::SelectRandomAtom( G4double dl; size_t i; - for (i=0; iGetZ(); SetCurrentElement(Z); G4double maxPairEnergy = MaxSecondaryEnergy(particle,kinEnergy); @@ -624,8 +626,8 @@ const G4Element* G4MuPairProductionModel::SelectRandomAtom( if(minEnergy < maxPairEnergy) { G4int iz; - for(iz=1; iz= nbiny) iy = nbiny-1; - sigcut = InterpolatedIntegralCrossSection(dt,dz,iz,it,iy, Z); + if(iy < 0) { iy = 0; } + if(iy >= nbiny) { iy = nbiny-1; } + sigcut = InterpolatedIntegralCrossSection(dt,dz,iz,it,iy, Z); } G4double sigtot = InterpolatedIntegralCrossSection(dt,dz,iz,it,nbiny,Z); dl = (sigtot - sigcut)*theAtomNumDensityVector[i]; } // protection - if(dl < 0.0) dl = 0.0; + if(dl < 0.0) { dl = 0.0; } sum += dl; partialSum[i] = sum; } G4double rval = G4UniformRand()*sum; - for (i=0; i + +class G4IInterpolator; + +class G4CompositeDataSet : public G4IDataSet +{ +public: + G4CompositeDataSet(G4IInterpolator* argAlgorithm, + G4double eUnit=MeV, + G4double dataUnit=barn, + G4int zMin=1, + G4int zMax=99); + + virtual ~G4CompositeDataSet(); + + virtual G4double FindValue(G4double x, G4int componentId=0) const; + + virtual void PrintData(void) const; + + virtual const G4IDataSet* GetComponent(G4int componentId) const + { return components[componentId]; } + + virtual void AddComponent(G4IDataSet* dataSet) + { components.push_back(dataSet); } + + virtual size_t NumberOfComponents() const + { return components.size(); } + + virtual const G4DataVector& GetEnergies(G4int componentId) const + { return GetComponent(componentId)->GetEnergies(0); } + + virtual const G4DataVector& GetData(G4int componentId) const + { return GetComponent(componentId)->GetData(0); } + + virtual void SetEnergiesData(G4DataVector* x, G4DataVector* data, G4int componentId); + + virtual G4bool LoadData(const G4String& fileName); + virtual G4bool SaveData(const G4String& fileName) const; + + virtual G4double RandomSelect(G4int componentId) const; + +private: + + void CleanUpComponents(void); + + // Hide copy constructor and assignment operator + G4CompositeDataSet(); + G4CompositeDataSet(const G4CompositeDataSet& copy); + G4CompositeDataSet& operator=(const G4CompositeDataSet& right); + + std::vector components; // Owned pointers + + G4IInterpolator* algorithm; // Owned pointer + + G4double unitEnergies; + G4double unitData; + + G4int minZ; + G4int maxZ; +}; +#endif /* G4COMPOSITEDATASET_HH */ + + + + + + + + + diff --git a/source/processes/electromagnetic/pii/include/G4DataSet.hh b/source/processes/electromagnetic/pii/include/G4DataSet.hh new file mode 100644 index 0000000000..a3606eeb86 --- /dev/null +++ b/source/processes/electromagnetic/pii/include/G4DataSet.hh @@ -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. * +// ******************************************************************** +// +// +// $Id: G4DataSet.hh,v 1.2 2010/11/19 17:16:09 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// +// History: +// ----------- +// 31 Jul 2001 MGP Created as G4EMDataSet +// 31 Jul 2008 MGP Revised and renamed to G4DataSet +// +// ------------------------------------------------------------------- + +// Class description: +// Leaf data set +// Applies a Composite design pattern for data library management + +// ------------------------------------------------------------------- + +#ifndef G4DATASET_HH +#define G4DATASET_HH 1 + +#include "globals.hh" +#include "G4IDataSet.hh" + +class G4IInterpolator; + +class G4DataSet : public G4IDataSet +{ +public: + G4DataSet(G4int argZ, + G4IInterpolator* algo, + G4double xUnit=MeV, + G4double yUnit=barn, + G4bool random=false); + + G4DataSet(G4int argZ, + G4DataVector* xData, + G4DataVector* data, + G4IInterpolator* algo, + G4double xUnit=MeV, + G4double yUnit=barn, + G4bool random=false); + + virtual ~G4DataSet(); + + virtual G4double FindValue(G4double x, G4int componentId=0) const; + + virtual void PrintData(void) const; + + virtual const G4IDataSet* GetComponent(G4int /* componentId */) const { return 0; } + + virtual void AddComponent(G4IDataSet* /* dataSet */) {} + + virtual size_t NumberOfComponents(void) const { return 0; } + + virtual const G4DataVector& GetEnergies(G4int /* componentId */) const { return *energies; } + virtual const G4DataVector& GetData(G4int /* componentId */) const { return *data; } + virtual void SetEnergiesData(G4DataVector* xData, G4DataVector* data, G4int componentId); + + virtual G4bool LoadData(const G4String& fileName); + virtual G4bool SaveData(const G4String& fileName) const; + + virtual G4double RandomSelect(G4int componentId = 0) const; + + +private: + + size_t FindLowerBound(G4double energy) const; + size_t FindLowerBound(G4double x, G4DataVector* values) const; + + G4double IntegrationFunction(G4double x); + + virtual void BuildPdf(); + + G4String FullFileName(const G4String& fileName) const; + + // Hide copy constructor and assignment operator + G4DataSet(); + G4DataSet(const G4DataSet& copy); + G4DataSet& operator=(const G4DataSet& right); + + G4int z; + + G4DataVector* energies; // Owned pointer + G4DataVector* data; // Owned pointer + + G4IInterpolator* algorithm; // Owned pointer + + G4double unitEnergies; + G4double unitData; + + G4DataVector* pdf; + G4bool randomSet; +}; +#endif /* G4DATASET_HH */ diff --git a/source/processes/electromagnetic/pii/include/G4IDataSet.hh b/source/processes/electromagnetic/pii/include/G4IDataSet.hh new file mode 100644 index 0000000000..08b03c3aa0 --- /dev/null +++ b/source/processes/electromagnetic/pii/include/G4IDataSet.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: G4IDataSet.hh,v 1.2 2010/11/19 17:16:09 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// +// History: +// ----------- +// 31 Jul 2001 MGP Created as G4VDataSet +// 31 Jul 2008 MGP Revised and renamed to G4IDataSet +// +// ------------------------------------------------------------------- + +// Class description: +// Data set abstract interface +// Applies a Composite design pattern for data library management + +// ------------------------------------------------------------------- + +#ifndef G4IDATASET_HH +#define G4IDATASET_HH 1 + +#include "globals.hh" +#include "G4DataVector.hh" + +class G4IDataSet +{ +public: + G4IDataSet() { } + virtual ~G4IDataSet() { } + + virtual G4double FindValue(G4double x, G4int componentId = 0) const = 0; + + virtual void PrintData(void) const = 0; + + virtual const G4IDataSet* GetComponent(G4int componentId) const = 0; + virtual void AddComponent(G4IDataSet* dataSet) = 0; + virtual size_t NumberOfComponents(void) const = 0; + + virtual const G4DataVector& GetEnergies(G4int componentId) const = 0; + virtual const G4DataVector& GetData(G4int componentId) const = 0; + virtual void SetEnergiesData(G4DataVector* x, G4DataVector* data, G4int component=0) = 0; + + virtual G4bool LoadData(const G4String& fileName) = 0; + virtual G4bool SaveData(const G4String& fileName) const = 0; + + virtual G4double RandomSelect(G4int componentId = 0) const = 0; + +private: + // Hide copy constructor and assignment operator + G4IDataSet(const G4IDataSet& copy); + G4IDataSet& operator=(const G4IDataSet& right); +}; +#endif /* G4IDATASET_HH */ diff --git a/source/processes/electromagnetic/pii/include/G4IInterpolator.hh b/source/processes/electromagnetic/pii/include/G4IInterpolator.hh new file mode 100644 index 0000000000..5ec99056f4 --- /dev/null +++ b/source/processes/electromagnetic/pii/include/G4IInterpolator.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. * +// ******************************************************************** +// +// +// $Id: G4IInterpolator.hh,v 1.3 2010/12/15 07:39:16 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// +// History: +// ----------- +// 31 Jul 2001 MGP Created +// 31 Jul 2008 MGP Revised and renamed to G4IInterpolator +// +// ------------------------------------------------------------------- +// Class description: +// Base class for a strategy pattern dealing with interpolation + +// ------------------------------------------------------------------- + +#ifndef G4IINTERPOLATOR_HH +#define G4IINTERPOLATOR_HH 1 + +#include "globals.hh" +#include "G4DataVector.hh" + +class G4IInterpolator { + +public: + + G4IInterpolator() { } + + virtual ~G4IInterpolator() { } + + + virtual G4double Calculate(G4double point, G4int bin, + const G4DataVector& energies, + const G4DataVector& data) const = 0; + + virtual G4IInterpolator* Clone() const = 0; + +private: + + // Hide copy constructor and assignment operator + G4IInterpolator(const G4IInterpolator&); + G4IInterpolator& operator=(const G4IInterpolator& right); + +}; + +#endif + + + + + + + + + + + diff --git a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorAction.cc b/source/processes/electromagnetic/pii/include/G4LinInterpolator.hh similarity index 66% rename from examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorAction.cc rename to source/processes/electromagnetic/pii/include/G4LinInterpolator.hh index 08dc86f543..46240e5bea 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorAction.cc +++ b/source/processes/electromagnetic/pii/include/G4LinInterpolator.hh @@ -24,38 +24,59 @@ // ******************************************************************** // // -// -------------------------------------------------------------- -// GEANT 4 - Brachytherapy example -// -------------------------------------------------------------- +// $Id: G4LinInterpolator.hh,v 1.2 2010/11/19 17:16:09 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// Code developed by: -// S.Guatelli +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // -// ******************************************** -// * * -// * BrachyPrimaryGeneratorAction.cc * -// * * -// ******************************************** +// History: +// ----------- +// 31 Jul 2001 MGP Created +// 31 Jul 2008 MGP Revised and renamed to G4LinInterpolator // -// $Id: BrachyPrimaryGeneratorAction.cc,v 1.2 2006/06/29 17:33:31 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// ------------------------------------------------------------------- +// Class description: +// Linear interpolation of a data set +// Part of a strategy pattern to encapsulate algorithms for interpolation // +// ------------------------------------------------------------------- + +#ifndef G4LININTERPOLATOR_HH +#define G4LININTERPOLATOR_HH 1 + #include "globals.hh" -#include "BrachyPrimaryGeneratorAction.hh" -#include "BrachyAnalysisManager.hh" -#include "G4ParticleTable.hh" -#include "Randomize.hh" -#include "G4Event.hh" -#include "G4ParticleGun.hh" -#include "G4IonTable.hh" -#include "G4UImanager.hh" -#include "G4RunManager.hh" +#include "G4IInterpolator.hh" +#include "G4DataVector.hh" + +class G4LinInterpolator : public G4IInterpolator { + +public: + + G4LinInterpolator(); + + ~G4LinInterpolator(); + + G4double Calculate(G4double point, G4int bin, + const G4DataVector& energies, + const G4DataVector& data) const; + + G4IInterpolator* Clone() const; + +private: + + // Hide copy constructor and assignment operator + +}; + +#endif + + + + + + + + -BrachyPrimaryGeneratorAction::BrachyPrimaryGeneratorAction() -{;} -BrachyPrimaryGeneratorAction::~BrachyPrimaryGeneratorAction() -{;} -void BrachyPrimaryGeneratorAction::GeneratePrimaries(G4Event*) -{;} diff --git a/source/processes/electromagnetic/pii/include/G4LogLogInterpolator.hh b/source/processes/electromagnetic/pii/include/G4LogLogInterpolator.hh new file mode 100644 index 0000000000..720af0fbe3 --- /dev/null +++ b/source/processes/electromagnetic/pii/include/G4LogLogInterpolator.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. * +// ******************************************************************** +// +// +// $Id: G4LogLogInterpolator.hh,v 1.2 2010/11/19 17:16:09 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// +// History: +// ----------- +// 31 Jul 2001 MGP Created +// 31 Jul 2008 MGP Revised and renamed to G4LogLogInterpolator +// +// ------------------------------------------------------------------- +// Class description: +// Log-Log interpolation of a data set +// Part of a strategy pattern to encapsulate algorithms for interpolation + +// ------------------------------------------------------------------- + +#ifndef G4LOGLOGINTERPOLATOR_HH +#define G4LOGLOGINTERPOLATOR_HH 1 + +#include "globals.hh" +#include "G4IInterpolator.hh" +#include "G4DataVector.hh" + +class G4LogLogInterpolator : public G4IInterpolator { + +public: + + G4LogLogInterpolator(); + + ~G4LogLogInterpolator(); + + G4double Calculate(G4double point, G4int bin, + const G4DataVector& energies, + const G4DataVector& data) const; + + virtual G4IInterpolator* Clone() const; + +private: + + + // Hide copy constructor and assignment operator + +}; + +#endif + + + + + + + + + + + diff --git a/source/processes/electromagnetic/pii/include/G4PixeCrossSectionHandler.hh b/source/processes/electromagnetic/pii/include/G4PixeCrossSectionHandler.hh new file mode 100644 index 0000000000..da1ff1228c --- /dev/null +++ b/source/processes/electromagnetic/pii/include/G4PixeCrossSectionHandler.hh @@ -0,0 +1,164 @@ +// +// ******************************************************************** +// * 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: G4PixeCrossSectionHandler.hh,v 1.2 2010/11/19 17:16:09 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// +// History: +// ----------- +// 16 Jun 2008 MGP Created on the basis of G4CrossSectionHandler + +// ------------------------------------------------------------------- +// Class description: +// Cross section manager for hadron impact ionization +// Documented in: +// M.G. Pia et al., PIXE Simulation With Geant4, +// IEEE Trans. Nucl. Sci., vol. 56, no. 6, pp. 3614-3649, Dec. 2009. + +// ------------------------------------------------------------------- + +#ifndef G4PIXECROSSSECTIONHANDLER_HH +#define G4PIXECROSSSECTIONHANDLER_HH 1 + +#include "globals.hh" +#include "G4DataVector.hh" +#include +#include +#include "G4MaterialCutsCouple.hh" + +class G4IInterpolator; +class G4IDataSet; +class G4Material; +class G4Element; + +class G4PixeCrossSectionHandler { + +public: + + G4PixeCrossSectionHandler(); + + G4PixeCrossSectionHandler(G4IInterpolator* interpolation, + const G4String& modelK="ecpssr", + const G4String& modelL="ecpssr", + const G4String& modelM="ecpssr", + G4double minE = 1*keV, G4double maxE = 0.1*GeV, + G4int nBins = 200, + G4double unitE = MeV, G4double unitData = barn, + G4int minZ = 6, G4int maxZ = 92); + + virtual ~G4PixeCrossSectionHandler(); + + void Initialise(G4IInterpolator* interpolation, + const G4String& modelK="ecpssr", + const G4String& modelL="ecpssr", + const G4String& modelM="ecpssr", + G4double minE = 1*keV, G4double maxE = 0.1*GeV, + G4int nBins = 200, + G4double unitE = MeV, G4double unitData = barn, + G4int minZ = 6, G4int maxZ = 92); + + G4int SelectRandomAtom(const G4Material* material, G4double e) const; + + G4int SelectRandomShell(G4int Z, G4double e) const; + + G4double FindValue(G4int Z, G4double e) const; + + G4double FindValue(G4int Z, G4double e, G4int shellIndex) const; + + G4double ValueForMaterial(const G4Material* material, G4double e) const; + + // void LoadData(const G4String& dataFile); + + void LoadShellData(const G4String& dataFile); + + // Ionisation cross section as in Geant4 Physics Reference Manual + G4double MicroscopicCrossSection(const G4ParticleDefinition* particleDef, + G4double kineticEnergy, + G4double Z, + G4double deltaCut) const; + + void PrintData() const; + + void Clear(); + +private: + + // Hide copy constructor and assignment operator + G4PixeCrossSectionHandler(const G4PixeCrossSectionHandler&); + G4PixeCrossSectionHandler & operator=(const G4PixeCrossSectionHandler &right); + + G4int NumberOfComponents(G4int Z) const; + + void ActiveElements(); + + void BuildForMaterials(); + // Factory method + std::vector* BuildCrossSectionsForMaterials(const G4DataVector& energyVector); + + // Factory method + G4IInterpolator* CreateInterpolation(); + + const G4IInterpolator* GetInterpolation() const { return interpolation; } + + G4IInterpolator* interpolation; + + G4double eMin; + G4double eMax; + G4int nBins; + + G4double unit1; + G4double unit2; + + G4int zMin; + G4int zMax; + + G4DataVector activeZ; + + // Map of PixeShellDataSets with the shell cross sections for each element + std::map > dataMap; + + // Vector of composite cross sections for each material in the MaterialTable + // The composite cross section is composed of cross sections for each element in material + std::vector* crossSections; + + std::vector crossModel; + +}; + +#endif + + + + + + + + + + + diff --git a/source/processes/electromagnetic/pii/include/G4PixeShellDataSet.hh b/source/processes/electromagnetic/pii/include/G4PixeShellDataSet.hh new file mode 100644 index 0000000000..ddc7f4e64e --- /dev/null +++ b/source/processes/electromagnetic/pii/include/G4PixeShellDataSet.hh @@ -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. * +// ******************************************************************** +// +// +// $Id: G4PixeShellDataSet.hh,v 1.2 2010/11/19 17:16:09 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// +// History: +// ----------- +// 31 Jul 2001 MGP Created as G4EMShellDataSe +// 9 Mar 2008 MGP Cleaned up unreadable code modified by former developer +// (Further clean-up needed) +// 31 Jul 2008 MGP Revised and renamed to G4PixeShellDataSet +// +// ------------------------------------------------------------------- + +// Class description: +// Shell data set +// Applies a Composite design pattern for data library management + +// ------------------------------------------------------------------- + +#ifndef G4PIXESHELLDATASET_HH +#define G4PIXESHELLDATASET_HH 1 + +#include "globals.hh" +#include "G4IDataSet.hh" +#include + +class G4IInterpolator; + +class G4PixeShellDataSet : public G4IDataSet +{ +public: + G4PixeShellDataSet(G4int Z, + G4IInterpolator* algo, + //const G4String& particleTpye="proton", + const G4String& modelK="ecpssr", + const G4String& modelL="ecpssr", + const G4String& modelM="ecpssr", + G4double eUnit=MeV, + G4double dataUnit=barn); + + virtual ~G4PixeShellDataSet(); + + virtual G4double FindValue(G4double energy, G4int componentId=0) const; + + virtual void PrintData(void) const; + + virtual const G4IDataSet* GetComponent(G4int componentId) const + { return components[componentId]; } + + virtual void AddComponent(G4IDataSet* dataSet) + { components.push_back(dataSet); } + + virtual size_t NumberOfComponents(void) const + { return components.size(); } + + virtual const G4DataVector& GetEnergies(G4int componentId) const + { return GetComponent(componentId)->GetEnergies(0); } + + virtual const G4DataVector& GetData(G4int componentId) const + { return GetComponent(componentId)->GetData(0); } + + virtual void SetEnergiesData(G4DataVector* energies, + G4DataVector* data, + G4int componentId); + + virtual G4bool LoadData(const G4String& fileName); + virtual G4bool SaveData(const G4String& fileName) const; + + virtual G4double RandomSelect(G4int /*componentId = 0*/) const {return -1.;}; + +protected: + + G4double GetUnitEnergies() const { return unitEnergies; } + G4double GetUnitData() const { return unitData; } + const G4IInterpolator* GetAlgorithm() const { return algorithm; } + + void CleanUpComponents(void); + +private: + + G4String FullFileName(const G4String& particleType, + const G4String& subShell) const; + G4int TranslateShell(const G4String& subShell) const; + + // Hide copy constructor and assignment operator + G4PixeShellDataSet(); + G4PixeShellDataSet(const G4PixeShellDataSet& copy); + G4PixeShellDataSet& operator=(const G4PixeShellDataSet& right); + + std::vector components; // Owned pointers + + G4int z; + G4IInterpolator* algorithm; // Owned pointer + // G4String particle; + // G4String crossModelK; + // G4String crossModelL; + // G4String crossModelM; + std::vector crossModel; + G4double unitEnergies; + G4double unitData; + std::vector shellName; + std::vector subShellName; + +}; +#endif /* G4PIXESHELLDATASET_HH */ diff --git a/source/processes/electromagnetic/pii/include/G4hImpactIonisation.hh b/source/processes/electromagnetic/pii/include/G4hImpactIonisation.hh new file mode 100644 index 0000000000..1752d52ed0 --- /dev/null +++ b/source/processes/electromagnetic/pii/include/G4hImpactIonisation.hh @@ -0,0 +1,327 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// +// ------------------------------------------------------------ +// G4hImpactIonisation +// +// $Id: G4hImpactIonisation.hh,v 1.2 2010/11/19 17:16:09 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (MariaGrazia.Pia@ge.infn.it) +// +// 08 Sep 2008 - MGP - Created (initially based on G4hLowEnergyIonisation) +// Added PIXE capabilities +// Partial clean-up of the implementation (more needed) +// Calculation of MicroscopicCrossSection delegated to specialised class +// +// ------------------------------------------------------------ + +// Class Description: +// Impact Ionisation process of charged hadrons and ions +// Initially based on G4hLowEnergyIonisation, to be subject to redesign +// and further evolution of physics capabilities +// +// The physics model of G4hLowEnergyIonisation is described in +// CERN-OPEN-99-121 and CERN-OPEN-99-300. +// +// Documentation available in: +// M.G. Pia et al., PIXE Simulation With Geant4, +// IEEE Trans. Nucl. Sci., vol. 56, no. 6, pp. 3614-3649, Dec. 2009. + +// ------------------------------------------------------------ + +#ifndef G4HIMPACTIONISATION +#define G4HIMPACTIONISATION 1 + +#include "globals.hh" +#include "G4hRDEnergyLoss.hh" +#include "G4DataVector.hh" +#include "G4AtomicDeexcitation.hh" +#include "G4PixeCrossSectionHandler.hh" + +#include + +class G4VLowEnergyModel; +class G4VParticleChange; +class G4ParticleDefinition; +class G4PhysicsTable; +class G4MaterialCutsCouple; +class G4Track; +class G4Step; + +class G4hImpactIonisation : public G4hRDEnergyLoss +{ +public: // With description + + G4hImpactIonisation(const G4String& processName = "hImpactIoni"); + // The ionisation process for hadrons/ions to be include in the + // UserPhysicsList + + ~G4hImpactIonisation(); + // Destructor + + G4bool IsApplicable(const G4ParticleDefinition&); + // True for all charged hadrons/ions + + void BuildPhysicsTable(const G4ParticleDefinition& aParticleType) ; + // Build physics table during initialisation + + G4double GetMeanFreePath(const G4Track& track, + G4double previousStepSize, + enum G4ForceCondition* condition ); + // Return MeanFreePath until delta-electron production + + void PrintInfoDefinition() const; + // Print out of the class parameters + + void SetHighEnergyForProtonParametrisation(G4double energy) {protonHighEnergy = energy;} ; + // Definition of the boundary proton energy. For higher energies + // Bethe-Bloch formula is used, for lower energies a parametrisation + // of the energy losses is performed. Default is 2 MeV. + + void SetLowEnergyForProtonParametrisation(G4double energy) {protonLowEnergy = energy;} ; + // Set of the boundary proton energy. For lower energies + // the Free Electron Gas model is used for the energy losses. + // Default is 1 keV. + + void SetHighEnergyForAntiProtonParametrisation(G4double energy) {antiprotonHighEnergy = energy;} ; + // Set of the boundary antiproton energy. For higher energies + // Bethe-Bloch formula is used, for lower energies parametrisation + // of the energy losses is performed. Default is 2 MeV. + + void SetLowEnergyForAntiProtonParametrisation(G4double energy) {antiprotonLowEnergy = energy;} ; + // Set of the boundary antiproton energy. For lower energies + // the Free Electron Gas model is used for the energy losses. + // Default is 1 keV. + + G4double GetContinuousStepLimit(const G4Track& track, + G4double previousStepSize, + G4double currentMinimumStep, + G4double& currentSafety); + // Calculation of the step limit due to ionisation losses + + void SetElectronicStoppingPowerModel(const G4ParticleDefinition* aParticle, + const G4String& dedxTable); + // This method defines the electron ionisation parametrisation method + // via the name of the table. Default is "ICRU_49p". + + void SetNuclearStoppingPowerModel(const G4String& dedxTable) + {theNuclearTable = dedxTable; SetNuclearStoppingOn();}; + // This method defines the nuclear ionisation parametrisation method + // via the name of the table. Default is "ICRU_49". + + // ---- MGP ---- The following design of On/Off is nonsense; to be modified + // in a following design iteration + + void SetNuclearStoppingOn() {nStopping = true;}; + // This method switch on calculation of the nuclear stopping power. + + void SetNuclearStoppingOff() {nStopping = false;}; + // This method switch off calculation of the nuclear stopping power. + + void SetBarkasOn() {theBarkas = true;}; + // This method switch on calculation of the Barkas and Bloch effects. + + void SetBarkasOff() {theBarkas = false;}; + // This method switch off calculation of the Barkas and Bloch effects. + + void SetPixe(const G4bool /* val */ ) {pixeIsActive = true;}; + // This method switches atomic relaxation on/off; currently always on + + G4VParticleChange* AlongStepDoIt(const G4Track& trackData , + const G4Step& stepData ) ; + // Function to determine total energy deposition on the step + + G4VParticleChange* PostStepDoIt(const G4Track& track, + const G4Step& Step ) ; + // Simulation of delta-ray production. + + G4double ComputeDEDX(const G4ParticleDefinition* aParticle, + const G4MaterialCutsCouple* couple, + G4double kineticEnergy); + // This method returns electronic dE/dx for protons or antiproton + + void SetCutForSecondaryPhotons(G4double cut); + // Set threshold energy for fluorescence + + void SetCutForAugerElectrons(G4double cut); + // Set threshold energy for Auger electron production + + void ActivateAugerElectronProduction(G4bool val); + // Set Auger electron production flag on/off + + // Accessors to configure PIXE + void SetPixeCrossSectionK(const G4String& name) { modelK = name; } + void SetPixeCrossSectionL(const G4String& name) { modelL = name; } + void SetPixeCrossSectionM(const G4String& name) { modelM = name; } + void SetPixeProjectileMinEnergy(G4double energy) { eMinPixe = energy; } + void SetPixeProjectileMaxEnergy(G4double energy) { eMaxPixe = energy; } + +protected: + +private: + + void InitializeMe(); + void InitializeParametrisation(); + void BuildLossTable(const G4ParticleDefinition& aParticleType); + // void BuildDataForFluorescence(const G4ParticleDefinition& aParticleType); + void BuildLambdaTable(const G4ParticleDefinition& aParticleType); + void SetProtonElectronicStoppingPowerModel(const G4String& dedxTable) + {protonTable = dedxTable ;}; + // This method defines the ionisation parametrisation method via its name + + void SetAntiProtonElectronicStoppingPowerModel(const G4String& dedxTable) + {antiprotonTable = dedxTable;}; + + G4double MicroscopicCrossSection(const G4ParticleDefinition& aParticleType, + G4double kineticEnergy, + G4double atomicNumber, + G4double deltaCutInEnergy) const; + + G4double GetConstraints(const G4DynamicParticle* particle, + const G4MaterialCutsCouple* couple); + // Function to determine StepLimit + + G4double ProtonParametrisedDEDX(const G4MaterialCutsCouple* couple, + G4double kineticEnergy) const; + + G4double AntiProtonParametrisedDEDX(const G4MaterialCutsCouple* couple, + G4double kineticEnergy) const; + + G4double DeltaRaysEnergy(const G4MaterialCutsCouple* couple, + G4double kineticEnergy, + G4double particleMass) const; + // This method returns average energy loss due to delta-rays emission with + // energy higher than the cut energy for given material. + + G4double BarkasTerm(const G4Material* material, + G4double kineticEnergy) const; + // Function to compute the Barkas term for protons + + G4double BlochTerm(const G4Material* material, + G4double kineticEnergy, + G4double cSquare) const; + // Function to compute the Bloch term for protons + + G4double ElectronicLossFluctuation(const G4DynamicParticle* particle, + const G4MaterialCutsCouple* material, + G4double meanLoss, + G4double step) const; + // Function to sample electronic losses + + // hide assignment operator + G4hImpactIonisation & operator=(const G4hImpactIonisation &right); + G4hImpactIonisation(const G4hImpactIonisation&); + +private: + // private data members ............................... + G4VLowEnergyModel* betheBlochModel; + G4VLowEnergyModel* protonModel; + G4VLowEnergyModel* antiprotonModel; + G4VLowEnergyModel* theIonEffChargeModel; + G4VLowEnergyModel* theNuclearStoppingModel; + G4VLowEnergyModel* theIonChuFluctuationModel; + G4VLowEnergyModel* theIonYangFluctuationModel; + + // std::map > totalCrossSectionMap; + + // name of parametrisation table of electron stopping power + G4String protonTable; + G4String antiprotonTable; + G4String theNuclearTable; + + // interval of parametrisation of electron stopping power + G4double protonLowEnergy; + G4double protonHighEnergy; + G4double antiprotonLowEnergy; + G4double antiprotonHighEnergy; + + // flag of parametrisation of nucleus stopping power + G4bool nStopping; + G4bool theBarkas; + + G4DataVector cutForDelta; + G4DataVector cutForGamma; + G4double minGammaEnergy; + G4double minElectronEnergy; + G4PhysicsTable* theMeanFreePathTable; + + const G4double paramStepLimit; // parameter limits the step at low energy + + G4double fdEdx; // computed in GetContraints + G4double fRangeNow ; // + G4double charge; // + G4double chargeSquare; // + G4double initialMass; // mass to calculate Lambda tables + G4double fBarkas; + + G4PixeCrossSectionHandler* pixeCrossSectionHandler; + G4AtomicDeexcitation atomicDeexcitation; + G4String modelK; + G4String modelL; + G4String modelM; + G4double eMinPixe; + G4double eMaxPixe; + + G4bool pixeIsActive; + +}; + + +inline G4double G4hImpactIonisation::GetContinuousStepLimit(const G4Track& track, + G4double, + G4double currentMinimumStep, + G4double&) +{ + G4double step = GetConstraints(track.GetDynamicParticle(),track.GetMaterialCutsCouple()) ; + + // ---- MGP ---- The following line, taken as is from G4hLowEnergyIonisation, + // is meaningless: currentMinimumStep is passed by value, + // therefore any local modification to it has no effect + + if ((step > 0.) && (step < currentMinimumStep)) currentMinimumStep = step ; + + return step ; +} + + +inline G4bool G4hImpactIonisation::IsApplicable(const G4ParticleDefinition& particle) +{ + // ---- MGP ---- Better criterion for applicability to be defined; + // now hard-coded particle mass > 0.1 * proton_mass + + return (particle.GetPDGCharge() != 0.0 && particle.GetPDGMass() > proton_mass_c2*0.1); +} + +#endif + + + + + + + + diff --git a/source/processes/electromagnetic/pii/include/G4hRDEnergyLoss.hh b/source/processes/electromagnetic/pii/include/G4hRDEnergyLoss.hh new file mode 100644 index 0000000000..00ad4eae56 --- /dev/null +++ b/source/processes/electromagnetic/pii/include/G4hRDEnergyLoss.hh @@ -0,0 +1,274 @@ +// +// ******************************************************************** +// * 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: G4hRDEnergyLoss.hh,v 1.2 2010/11/19 17:16:09 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// $Id: +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// History: first implementation, based on object model of +// 2nd December 1995, G.Cosmo +// ---------- G4hEnergyLoss physics process ----------- +// by Laszlo Urban, 30 May 1997 +// +// ************************************************************ +// It is the first implementation of the NEW UNIFIED ENERGY LOSS PROCESS. +// It calculates the continuous energy loss for charged hadrons. +// Processes giving contribution to the continuous loss : +// ionisation (= cont.ion.loss + delta ray production) +// can be added more easily .......... +// This class creates static proton/antiproton dE/dx and range tables , +// which tables can be used by other processes. +// The energy loss for other charged hadrons is calculated from the p/pbar +// tables with scaled kinetic energy. +// +// 7/10/98 L.Urban some bugs fixed + some cleanup +// 22/10/98 L.Urban cleanup +// 02/02/99 L.Urban several bugs fixed +// 31/03/00 V.Ivanchenko rename to lowenergy as G4hLowEnergyLoss.hh +// 09/08/00 V.Ivanchenko remove GetContinuousStepLimit and IsApplicable +// 23/11/01 V.Ivanchenko Move static member-functions from header to source +// 22/01/03 V.Ivanchenko Cuts per region +// 18/04/03 V.Ivanchenko Make dRoverRange protected +// +// 31 Jul 2008 MGP Short term supply of energy loss of hadrons through clone of +// former G4hLowEnergyLoss (with some initial cleaning) +// To be replaced by reworked class to deal with condensed/discrete +// issues properly +// +// -------------------------------------------------------------- + +// Class description: +// Short term supply of energy loss of hadrons through clone of former G4hLowEnergyLoss +// (with some initial cleaning) +// To be replaced by reworked class to deal with condensed/discrete issues properly + +// -------------------------------------------------------------- + + +#ifndef G4HRDENERGYLOSS_HH +#define G4HRDENERGYLOSS_HH 1 + +#include "G4ios.hh" +#include "globals.hh" +#include "Randomize.hh" +#include "G4VContinuousDiscreteProcess.hh" +#include "G4Material.hh" +#include "G4Element.hh" +#include "G4Proton.hh" +#include "G4AntiProton.hh" +#include "G4Electron.hh" +#include "G4VParticleChange.hh" +#include "G4Track.hh" +#include "G4Step.hh" +#include "G4PhysicsLogVector.hh" +#include "G4PhysicsLinearVector.hh" + +class G4EnergyLossMessenger; + +class G4hRDEnergyLoss : public G4VContinuousDiscreteProcess + +{ +public: + + G4hRDEnergyLoss(const G4String& ); + + ~G4hRDEnergyLoss(); + + virtual G4double GetMeanFreePath( + const G4Track& track, + G4double previousStepSize, + enum G4ForceCondition* condition + ) = 0 ; + + virtual G4VParticleChange* PostStepDoIt(const G4Track& track, + const G4Step& Step) = 0 ; + + // ---- MGP ---- All this static stuff is expected to disappear in a future + // development cycle + + // get the number of processes contributing to the cont.energy loss + static G4int GetNumberOfProcesses(); + + // set the number of processes contributing to the cont.energy loss + static void SetNumberOfProcesses(G4int number); + + // Increment the number of processes contributing to the cont.energy loss + static void PlusNumberOfProcesses(); + + // decrement the number of processes contributing to the cont.energy loss + static void MinusNumberOfProcesses(); + + static void SetdRoverRange(G4double value); + static void SetRndmStep (G4bool value); + static void SetEnlossFluc (G4bool value); + static void SetStepFunction (G4double c1, G4double c2); + +protected: + + G4bool CutsWhereModified(); + + // G4Material *lastMaterial ; + const G4double MaxExcitationNumber ; + const G4double probLimFluct ; + const long nmaxDirectFluct,nmaxCont1,nmaxCont2 ; + + static void BuildDEDXTable(const G4ParticleDefinition& aParticleType); + +protected: + + static G4PhysicsTable* theDEDXpTable ; + static G4PhysicsTable* theDEDXpbarTable ; + static G4PhysicsTable* theRangepTable ; + static G4PhysicsTable* theRangepbarTable ; + + //inverse of the range tables + static G4PhysicsTable* theInverseRangepTable ; + static G4PhysicsTable* theInverseRangepbarTable ; + + //lab and proper time tables + static G4PhysicsTable* theLabTimepTable ; + static G4PhysicsTable* theLabTimepbarTable ; + + static G4PhysicsTable* theProperTimepTable ; + static G4PhysicsTable* theProperTimepbarTable ; + + // processes inherited from G4hRDEnergyLoss + // register themselves in the static array Recorder + static G4PhysicsTable** RecorderOfpProcess; + static G4PhysicsTable** RecorderOfpbarProcess; + static G4int CounterOfpProcess ; + static G4int CounterOfpbarProcess ; + + // particle mass + static G4double ParticleMass ; + + // cut in range + static G4double ptableElectronCutInRange; + static G4double pbartableElectronCutInRange; + + static G4double Charge ; + + static G4double LowestKineticEnergy; + static G4double HighestKineticEnergy; + static G4int TotBin; // number of bins in table, + // calculated in BuildPhysicsTable + + static G4double RTable,LOGRTable; // LOGRTable=std::log(HighestKineticEnergy + // /LowestKineticEnergy)/TotBin + // RTable = std::exp(LOGRTable) + + G4PhysicsTable* theLossTable ; + + G4double linLossLimit ; + + G4double MinKineticEnergy ; + + static G4double dRoverRange ; // maximum allowed deltarange/range + // in one step + static G4double finalRange ; // last step before stop + static G4double c1lim,c2lim,c3lim ; // coeffs for computing steplimit + + static G4bool rndmStepFlag ; + static G4bool EnlossFlucFlag ; + + +private: + + // hide assignment operator + + G4hRDEnergyLoss(G4hRDEnergyLoss &); + G4hRDEnergyLoss & operator=(const G4hRDEnergyLoss &right); + + // variables for the integration routines + static G4double Mass,taulow,tauhigh,ltaulow,ltauhigh; + + // ==================================================================== + // static part of the class + + static void BuildRangeTable(const G4ParticleDefinition& aParticleType); + + static void BuildInverseRangeTable(const G4ParticleDefinition& aParticleType); + + static void BuildTimeTables(const G4ParticleDefinition& aParticleType); + + static void BuildLabTimeVector(G4int materialIndex, + G4PhysicsLogVector* rangeVector); + + static void BuildProperTimeVector(G4int materialIndex, + G4PhysicsLogVector* rangeVector); + + static void InvertRangeVector(G4int materialIndex, + G4PhysicsLogVector* rangeVector); + + static void BuildRangeVector(G4int materialIndex, + G4PhysicsLogVector* rangeVector); + + static G4double LabTimeIntLog(G4PhysicsVector* physicsVector, G4int nbin); + + static G4double ProperTimeIntLog(G4PhysicsVector* physicsVector, G4int nbin); + + static G4double RangeIntLin(G4PhysicsVector* physicsVector, G4int nbin); + + static G4double RangeIntLog(G4PhysicsVector* physicsVector, G4int nbin); + + static void BuildRangeCoeffATable( const G4ParticleDefinition& aParticleType); + static void BuildRangeCoeffBTable( const G4ParticleDefinition& aParticleType); + static void BuildRangeCoeffCTable(const G4ParticleDefinition& aParticleType); + + // ==================================================================== + + static G4PhysicsTable* theDEDXTable; + + static G4PhysicsTable* theRangeTable; + static G4PhysicsTable* theInverseRangeTable; + + static G4PhysicsTable* theLabTimeTable; + static G4PhysicsTable* theProperTimeTable; + + static G4PhysicsTable** RecorderOfProcess; + static G4int CounterOfProcess; + + static G4PhysicsTable* thepRangeCoeffATable; + static G4PhysicsTable* thepRangeCoeffBTable; + static G4PhysicsTable* thepRangeCoeffCTable; + static G4PhysicsTable* thepbarRangeCoeffATable; + static G4PhysicsTable* thepbarRangeCoeffBTable; + static G4PhysicsTable* thepbarRangeCoeffCTable; + + static G4PhysicsTable* theRangeCoeffATable; + static G4PhysicsTable* theRangeCoeffBTable; + static G4PhysicsTable* theRangeCoeffCTable; + static G4int NumberOfProcesses ; + +}; + +#endif + + + diff --git a/source/processes/electromagnetic/pii/sources.cmake b/source/processes/electromagnetic/pii/sources.cmake new file mode 100644 index 0000000000..cbd4f294a9 --- /dev/null +++ b/source/processes/electromagnetic/pii/sources.cmake @@ -0,0 +1,94 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4empii +# Package: Geant4.src.G4processes.G4electromagnetic.G4empii +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 19/11/2010 +# +# $Id: sources.cmake,v 1.2 2010/11/30 11:41:53 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/lowenergy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4empii + HEADERS + G4CompositeDataSet.hh + G4DataSet.hh + G4hImpactIonisation.hh + G4hRDEnergyLoss.hh + G4IDataSet.hh + G4IInterpolator.hh + G4LinInterpolator.hh + G4LogLogInterpolator.hh + G4PixeCrossSectionHandler.hh + G4PixeShellDataSet.hh + SOURCES + G4CompositeDataSet.cc + G4DataSet.cc + G4hImpactIonisation.cc + G4hRDEnergyLoss.cc + G4LinInterpolator.cc + G4LogLogInterpolator.cc + G4PixeCrossSectionHandler.cc + G4PixeShellDataSet.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4cuts + G4emlowenergy + G4emstandard + G4emutils + G4geometrymng + G4globman + G4hepnumerics + G4intercoms + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4track + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/electromagnetic/pii/src/G4CompositeDataSet.cc b/source/processes/electromagnetic/pii/src/G4CompositeDataSet.cc new file mode 100644 index 0000000000..f5f37bf037 --- /dev/null +++ b/source/processes/electromagnetic/pii/src/G4CompositeDataSet.cc @@ -0,0 +1,177 @@ +// +// ******************************************************************** +// * 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: G4CompositeDataSet.cc,v 1.2 2010/11/19 17:16:20 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// +// History: +// ----------- +// 1 Aug 2001 MGP Created +// 31 Jul 2008 MGP Revised and renamed to G4CompositeDataSet +// +// +// ------------------------------------------------------------------- + +#include "G4CompositeDataSet.hh" +#include "G4DataSet.hh" +#include "G4IInterpolator.hh" +#include +#include + +G4CompositeDataSet::G4CompositeDataSet(G4IInterpolator* algo, + G4double eUnit, + G4double dataUnit, + G4int zMin, + G4int zMax) + : + algorithm(algo), + unitEnergies(eUnit), + unitData(dataUnit), + minZ(zMin), + maxZ(zMax) +{ + if (algorithm == 0) + G4Exception("G4CompositeDataSet::G4CompositeDataSet - interpolation == 0"); +} + + + +G4CompositeDataSet::~G4CompositeDataSet() +{ + CleanUpComponents(); + if (algorithm) delete algorithm; +} + + +G4double G4CompositeDataSet::FindValue(G4double energy, G4int componentId) const +{ + const G4IDataSet* component(GetComponent(componentId)); + + if (component) return component->FindValue(energy); + + std::ostringstream message; + message << "G4CompositeDataSet::FindValue - component " << componentId << " not found"; + + G4Exception(message.str().c_str()); + + return 0.; +} + +void G4CompositeDataSet::PrintData(void) const +{ + const size_t n(NumberOfComponents()); + + G4cout << "The data set has " << n << " components" << G4endl; + G4cout << G4endl; + + size_t i(0); + + while (iPrintData(); + i++; + } +} + +void G4CompositeDataSet::SetEnergiesData(G4DataVector* energies, G4DataVector* data, G4int componentId) +{ + G4IDataSet * component(components[componentId]); + + if (component) + { + component->SetEnergiesData(energies, data, 0); + return; + } + + std::ostringstream message; + message << "G4CompositeDataSet::SetEnergiesData - component " << componentId << " not found"; + + G4Exception(message.str().c_str()); +} + +G4bool G4CompositeDataSet::LoadData(const G4String& argFileName) +{ + CleanUpComponents(); + + for (G4int z(minZ); zClone(), unitEnergies, unitData); + if (!component->LoadData(argFileName)) + { + delete component; + return false; + } + AddComponent(component); + } + return true; +} + + + +G4bool G4CompositeDataSet::SaveData(const G4String& argFileName) const +{ + for (G4int z=minZ; zSaveData(argFileName)) + return false; + } + + return true; +} + +void G4CompositeDataSet::CleanUpComponents(void) +{ + while (!components.empty()) + { + if (components.back()) + delete components.back(); + components.pop_back(); + } +} + + +G4double G4CompositeDataSet::RandomSelect(G4int componentId) const +{ + G4double value = 0.; + if (componentId >= 0 && componentId < (G4int)components.size()) + { + const G4IDataSet* dataSet = GetComponent(componentId); + value = dataSet->RandomSelect(); + } + return value; +} diff --git a/source/processes/electromagnetic/pii/src/G4DataSet.cc b/source/processes/electromagnetic/pii/src/G4DataSet.cc new file mode 100644 index 0000000000..506619738f --- /dev/null +++ b/source/processes/electromagnetic/pii/src/G4DataSet.cc @@ -0,0 +1,396 @@ +// +// ******************************************************************** +// * 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: G4DataSet.cc,v 1.4 2010/11/25 19:49:43 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// +// History: +// ----------- +// 31 Jul 2001 MGP Created +// 31 Jul 2008 MGP Revised and renamed to G4DataSet +// +// ------------------------------------------------------------------- + +#include "G4DataSet.hh" +#include "G4IInterpolator.hh" +#include +#include +#include "G4Integrator.hh" +#include "Randomize.hh" +#include "G4LinInterpolation.hh" + + +G4DataSet::G4DataSet(G4int Z, + G4IInterpolator* algo, + G4double xUnit, + G4double yUnit, + G4bool random): + z(Z), + energies(0), + data(0), + algorithm(algo), + unitEnergies(xUnit), + unitData(yUnit), + pdf(0), + randomSet(random) +{ + if (algorithm == 0) G4Exception("G4DataSet::G4DataSet - interpolation == 0"); + if (randomSet) BuildPdf(); +} + +G4DataSet::G4DataSet(G4int argZ, + G4DataVector* dataX, + G4DataVector* dataY, + G4IInterpolator* algo, + G4double xUnit, + G4double yUnit, + G4bool random): + z(argZ), + energies(dataX), + data(dataY), + algorithm(algo), + unitEnergies(xUnit), + unitData(yUnit), + pdf(0), + randomSet(random) +{ + if (algorithm == 0) G4Exception("G4DataSet::G4DataSet - interpolation == 0"); + + if ((energies == 0) ^ (data == 0)) + G4Exception("G4DataSet::G4DataSet - different size for energies and data (zero case)"); + + if (energies == 0) return; + + if (energies->size() != data->size()) + G4Exception("G4DataSet::G4DataSet - different size for energies and data"); + + if (randomSet) BuildPdf(); +} + +G4DataSet::~G4DataSet() +{ + delete algorithm; + if (energies) delete energies; + if (data) delete data; + if (pdf) delete pdf; +} + +G4double G4DataSet::FindValue(G4double energy, G4int /* componentId */) const +{ + if (!energies) G4Exception("G4DataSet::FindValue - energies == 0"); + if (energies->empty()) return 0; + if (energy <= (*energies)[0]) return (*data)[0]; + + size_t i = energies->size()-1; + if (energy >= (*energies)[i]) return (*data)[i]; + + G4double interpolated = algorithm->Calculate(energy,FindLowerBound(energy),*energies,*data); + return interpolated; +} + + +void G4DataSet::PrintData(void) const +{ + if (!energies) + { + G4cout << "Data not available." << G4endl; + } + else + { + size_t size = energies->size(); + for (size_t i(0); isize() != data->size()) + G4Exception("G4DataSet::SetEnergiesData - different size for energies and data"); +} + +G4bool G4DataSet::LoadData(const G4String& fileName) +{ + // The file is organized into two columns: + // 1st column is the energy + // 2nd column is the corresponding value + // The file terminates with the pattern: -1 -1 + // -2 -2 + + G4String fullFileName(FullFileName(fileName)); + std::ifstream in(fullFileName); + + if (!in.is_open()) + { + G4String message("G4DataSet::LoadData - data file \""); + message += fullFileName; + message += "\" not found"; + G4Exception(message); + } + + G4DataVector* argEnergies=new G4DataVector; + G4DataVector* argData=new G4DataVector; + + G4double a; + bool energyColumn(true); + + do + { + in >> a; + + if (a!=-1 && a!=-2) + { + if (energyColumn) + { + // std::cout << fullFileName << ", a = " << a <push_back(a*unitEnergies); + } + else + argData->push_back(a*unitData); + energyColumn=(!energyColumn); + } + } + while (a != -2); + + SetEnergiesData(argEnergies, argData, 0); + if (randomSet) BuildPdf(); + + return true; +} + +G4bool G4DataSet::SaveData(const G4String& name) const +{ + // The file is organized into two columns: + // 1st column is the energy + // 2nd column is the corresponding value + // The file terminates with the pattern: -1 -1 + // -2 -2 + + G4String fullFileName(FullFileName(name)); + std::ofstream out(fullFileName); + + if (!out.is_open()) + { + G4String message("G4DataSet::SaveData - cannot open \""); + message+=fullFileName; + message+="\""; + G4Exception(message); + } + + out.precision(10); + out.width(15); + out.setf(std::ofstream::left); + + if (energies!=0 && data!=0) + { + G4DataVector::const_iterator i(energies->begin()); + G4DataVector::const_iterator endI(energies->end()); + G4DataVector::const_iterator j(data->begin()); + + while (i!=endI) + { + out.precision(10); + out.width(15); + out.setf(std::ofstream::left); + out << ((*i)/unitEnergies) << ' '; + + out.precision(10); + out.width(15); + out.setf(std::ofstream::left); + out << ((*j)/unitData) << std::endl; + + i++; + j++; + } + } + + out.precision(10); + out.width(15); + out.setf(std::ofstream::left); + out << -1.f << ' '; + + out.precision(10); + out.width(15); + out.setf(std::ofstream::left); + out << -1.f << std::endl; + + out.precision(10); + out.width(15); + out.setf(std::ofstream::left); + out << -2.f << ' '; + + out.precision(10); + out.width(15); + out.setf(std::ofstream::left); + out << -2.f << std::endl; + + return true; +} + +size_t G4DataSet::FindLowerBound(G4double x) const +{ + size_t lowerBound = 0; + size_t upperBound(energies->size() - 1); + + while (lowerBound <= upperBound) + { + size_t midBin((lowerBound + upperBound) / 2); + + if (x < (*energies)[midBin]) upperBound = midBin - 1; + else lowerBound = midBin + 1; + } + + return upperBound; +} + + +size_t G4DataSet::FindLowerBound(G4double x, G4DataVector* values) const +{ + size_t lowerBound = 0;; + size_t upperBound(values->size() - 1); + + while (lowerBound <= upperBound) + { + size_t midBin((lowerBound + upperBound) / 2); + + if (x < (*values)[midBin]) upperBound = midBin - 1; + else lowerBound = midBin + 1; + } + + return upperBound; +} + + +G4String G4DataSet::FullFileName(const G4String& name) const +{ + char* path = getenv("G4PIIDATA"); + if (!path) + G4Exception("G4DataSet::FullFileName - G4PIIDATA environment variable not set"); + + std::ostringstream fullFileName; + fullFileName << path << '/' << name << z << ".dat"; + + return G4String(fullFileName.str().c_str()); +} + + +void G4DataSet::BuildPdf() +{ + pdf = new G4DataVector; + G4Integrator integrator; + + G4int nData = data->size(); + pdf->push_back(0.); + + // Integrate the data distribution + G4int i; + G4double totalSum = 0.; + for (i=1; ipush_back(totalSum); + } + + // Normalize to the last bin + G4double tot = 0.; + if (totalSum > 0.) tot = 1. / totalSum; + for (i=1; iCalculate(x, bin, *pdf, *energies); + + // G4cout << x << " random bin "<< bin << " - " << value << G4endl; + return value; +} + +G4double G4DataSet::IntegrationFunction(G4double x) +{ + // This function is needed by G4Integrator to calculate the integral of the data distribution + + G4double y = 0; + + // Locate the random value in the X vector based on the PDF + size_t bin = FindLowerBound(x); + + // Interpolate to calculate the X value: + // linear interpolation in the first bin (to avoid problem with 0), + // interpolation with associated algorithm in other bins + + G4LinInterpolation linearAlgo; + + if (bin == 0) y = linearAlgo.Calculate(x, bin, *energies, *data); + else y = algorithm->Calculate(x, bin, *energies, *data); + + return y; +} + diff --git a/source/processes/electromagnetic/pii/src/G4LinInterpolator.cc b/source/processes/electromagnetic/pii/src/G4LinInterpolator.cc new file mode 100644 index 0000000000..9d84b30c69 --- /dev/null +++ b/source/processes/electromagnetic/pii/src/G4LinInterpolator.cc @@ -0,0 +1,78 @@ +// +// ******************************************************************** +// * 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: G4LinInterpolator.cc,v 1.2 2010/11/19 17:16:21 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// +// History: +// ----------- +// 31 Jul 2001 MGP Created +// 31 Jul 2008 MGP Revised and renamed to G4LinInterpolator +// +// ------------------------------------------------------------------- + +#include "G4LinInterpolator.hh" + +// Constructor + +G4LinInterpolator::G4LinInterpolator() +{ } + +// Destructor + +G4LinInterpolator::~G4LinInterpolator() +{ } + + +G4IInterpolator* G4LinInterpolator::Clone() const +{ return new G4LinInterpolator; } + +G4double G4LinInterpolator::Calculate(G4double x, G4int bin, + const G4DataVector& points, + const G4DataVector& data) const +{ + G4int nBins = data.size() - 1; + G4double value = 0.; + if (x < points[0]) + { + value = 0.; + } + else if (bin < nBins) + { + G4double e1 = points[bin]; + G4double e2 = points[bin+1]; + G4double d1 = data[bin]; + G4double d2 = data[bin+1]; + value = d1 + (d2 - d1)*(x - e1)/(e2 - e1); + } + else + { + value = data[nBins]; + } + return value; +} diff --git a/source/processes/electromagnetic/pii/src/G4LogLogInterpolator.cc b/source/processes/electromagnetic/pii/src/G4LogLogInterpolator.cc new file mode 100644 index 0000000000..af634d70be --- /dev/null +++ b/source/processes/electromagnetic/pii/src/G4LogLogInterpolator.cc @@ -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. * +// ******************************************************************** +// +// +// $Id: G4LogLogInterpolator.cc,v 1.2 2010/11/19 17:16:21 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// +// History: +// ----------- +// 31 Jul 2001 MGP Created +// 31 Jul 2008 MGP Revised and renamed to G4LogLogInterpolator +// +// ------------------------------------------------------------------- + +#include "G4LogLogInterpolator.hh" + +// Constructor + +G4LogLogInterpolator::G4LogLogInterpolator() +{ } + +// Destructor + +G4LogLogInterpolator::~G4LogLogInterpolator() +{ } + +G4IInterpolator* G4LogLogInterpolator::Clone() const +{ return new G4LogLogInterpolator; } + + +G4double G4LogLogInterpolator::Calculate(G4double x, G4int bin, + const G4DataVector& points, + const G4DataVector& data) const +{ + G4int nBins = data.size() - 1; + G4double value = 0.; + if (x < points[0]) + { + value = 0.; + } + else if (bin < nBins) + { + G4double e1 = points[bin]; + G4double e2 = points[bin+1]; + G4double d1 = data[bin]; + G4double d2 = data[bin+1]; + value = (std::log10(d1)*std::log10(e2/x) + std::log10(d2)*std::log10(x/e1)) / std::log10(e2/e1); + value = std::pow(10.,value); + } + else + { + value = data[nBins]; + } + + return value; +} diff --git a/source/processes/electromagnetic/pii/src/G4PixeCrossSectionHandler.cc b/source/processes/electromagnetic/pii/src/G4PixeCrossSectionHandler.cc new file mode 100644 index 0000000000..0a838f3eed --- /dev/null +++ b/source/processes/electromagnetic/pii/src/G4PixeCrossSectionHandler.cc @@ -0,0 +1,733 @@ +// +// ******************************************************************** +// * 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: G4PixeCrossSectionHandler.cc,v 1.2 2010/11/19 17:16:21 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// +// History: +// ----------- +// 16 Jun 2008 MGP Created; Cross section manager for hadron impact ionization +// Documented in: +// M.G. Pia et al., PIXE Simulation With Geant4, +// IEEE Trans. Nucl. Sci., vol. 56, no. 6, pp. 3614-3649, Dec. 2009 +// +// ------------------------------------------------------------------- + +#include "G4PixeCrossSectionHandler.hh" +#include "G4IInterpolator.hh" +#include "G4LogLogInterpolator.hh" +#include "G4IDataSet.hh" +#include "G4DataSet.hh" +#include "G4CompositeDataSet.hh" +#include "G4PixeShellDataSet.hh" +#include "G4ProductionCutsTable.hh" +#include "G4Material.hh" +#include "G4Element.hh" +#include "Randomize.hh" +#include "G4SystemOfUnits.hh" +#include "G4ParticleDefinition.hh" + +#include +#include +#include +#include + + +G4PixeCrossSectionHandler::G4PixeCrossSectionHandler() +{ + crossSections = 0; + interpolation = 0; + // Initialise with default values + Initialise(0,"","","",1.*keV,0.1*GeV,200,MeV,barn,6,92); + ActiveElements(); +} + + +G4PixeCrossSectionHandler::G4PixeCrossSectionHandler(G4IInterpolator* algorithm, + const G4String& modelK, + const G4String& modelL, + const G4String& modelM, + G4double minE, + G4double maxE, + G4int bins, + G4double unitE, + G4double unitData, + G4int minZ, + G4int maxZ) + : interpolation(algorithm), eMin(minE), eMax(maxE), nBins(bins), + unit1(unitE), unit2(unitData), zMin(minZ), zMax(maxZ) +{ + crossSections = 0; + + crossModel.push_back(modelK); + crossModel.push_back(modelL); + crossModel.push_back(modelM); + + //std::cout << "PixeCrossSectionHandler constructor - crossModel[0] = " + // << crossModel[0] + // << std::endl; + + ActiveElements(); +} + +G4PixeCrossSectionHandler::~G4PixeCrossSectionHandler() +{ + delete interpolation; + interpolation = 0; + std::map >::iterator pos; + + for (pos = dataMap.begin(); pos != dataMap.end(); ++pos) + { + // The following is a workaround for STL ObjectSpace implementation, + // which does not support the standard and does not accept + // the syntax pos->second + // G4IDataSet* dataSet = pos->second; + G4IDataSet* dataSet = (*pos).second; + delete dataSet; + } + + if (crossSections != 0) + { + size_t n = crossSections->size(); + for (size_t i=0; i >::const_iterator pos; + + for (pos = dataMap.begin(); pos != dataMap.end(); pos++) + { + // The following is a workaround for STL ObjectSpace implementation, + // which does not support the standard and does not accept + // the syntax pos->first or pos->second + // G4int z = pos->first; + // G4IDataSet* dataSet = pos->second; + G4int z = (*pos).first; + G4IDataSet* dataSet = (*pos).second; + G4cout << "---- Data set for Z = " + << z + << G4endl; + dataSet->PrintData(); + G4cout << "--------------------------------------------------" << G4endl; + } +} + +void G4PixeCrossSectionHandler::LoadShellData(const G4String& fileName) +{ + size_t nZ = activeZ.size(); + for (size_t i=0; iClone(); + G4IDataSet* dataSet = new G4PixeShellDataSet(Z, algo,crossModel[0],crossModel[1],crossModel[2]); + + // Degug printing + //std::cout << "PixeCrossSectionHandler::Load - " + // << Z + // << ", modelK = " + // << crossModel[0] + // << " fileName = " + // << fileName + // << std::endl; + + dataSet->LoadData(fileName); + dataMap[Z] = dataSet; + } + + // Build cross sections for materials if not already built + if (! crossSections) + { + BuildForMaterials(); + } + +} + +void G4PixeCrossSectionHandler::Clear() +{ + // Reset the map of data sets: remove the data sets from the map + std::map >::iterator pos; + + if(! dataMap.empty()) + { + for (pos = dataMap.begin(); pos != dataMap.end(); ++pos) + { + // The following is a workaround for STL ObjectSpace implementation, + // which does not support the standard and does not accept + // the syntax pos->first or pos->second + // G4IDataSet* dataSet = pos->second; + G4IDataSet* dataSet = (*pos).second; + delete dataSet; + dataSet = 0; + G4int i = (*pos).first; + dataMap[i] = 0; + } + dataMap.clear(); + } + + activeZ.clear(); + ActiveElements(); +} + +G4double G4PixeCrossSectionHandler::FindValue(G4int Z, G4double energy) const +{ + G4double value = 0.; + + std::map >::const_iterator pos; + pos = dataMap.find(Z); + if (pos!= dataMap.end()) + { + // The following is a workaround for STL ObjectSpace implementation, + // which does not support the standard and does not accept + // the syntax pos->first or pos->second + // G4IDataSet* dataSet = pos->second; + G4IDataSet* dataSet = (*pos).second; + value = dataSet->FindValue(energy); + } + else + { + G4cout << "WARNING: G4PixeCrossSectionHandler::FindValue(Z,e) did not find Z = " + << Z << G4endl; + } + return value; +} + +G4double G4PixeCrossSectionHandler::FindValue(G4int Z, G4double energy, + G4int shellIndex) const +{ + G4double value = 0.; + + std::map >::const_iterator pos; + pos = dataMap.find(Z); + if (pos!= dataMap.end()) + { + // The following is a workaround for STL ObjectSpace implementation, + // which does not support the standard and does not accept + // the syntax pos->first or pos->second + // G4IDataSet* dataSet = pos->second; + G4IDataSet* dataSet = (*pos).second; + if (shellIndex >= 0) + { + G4int nComponents = dataSet->NumberOfComponents(); + if(shellIndex < nComponents) + // The value is the cross section for shell component at given energy + value = dataSet->GetComponent(shellIndex)->FindValue(energy); + else + { + G4cout << "WARNING: G4PixeCrossSectionHandler::FindValue(Z,e,shell) did not find" + << " shellIndex= " << shellIndex + << " for Z= " + << Z << G4endl; + } + } else { + value = dataSet->FindValue(energy); + } + } + else + { + G4cout << "WARNING: G4PixeCrossSectionHandler::FindValue did not find Z = " + << Z << G4endl; + } + return value; +} + + +G4double G4PixeCrossSectionHandler::ValueForMaterial(const G4Material* material, + G4double energy) const +{ + G4double value = 0.; + + const G4ElementVector* elementVector = material->GetElementVector(); + const G4double* nAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); + G4int nElements = material->GetNumberOfElements(); + + for (G4int i=0 ; iGetZ(); + G4double elementValue = FindValue(Z,energy); + G4double nAtomsVol = nAtomsPerVolume[i]; + value += nAtomsVol * elementValue; + } + + return value; +} + +/* + G4IDataSet* G4PixeCrossSectionHandler::BuildMeanFreePathForMaterials(const G4DataVector* energyCuts ) + { + // Builds a CompositeDataSet containing the mean free path for each material + // in the material table + + G4DataVector energyVector; + G4double dBin = std::log10(eMax/eMin) / nBins; + + for (G4int i=0; i::iterator mat; + if (! crossSections->empty()) + { + for (mat = crossSections->begin(); mat!= crossSections->end(); ++mat) + { + G4IDataSet* set = *mat; + delete set; + set = 0; + } + crossSections->clear(); + delete crossSections; + crossSections = 0; + } + } + + crossSections = BuildCrossSectionsForMaterials(energyVector); + + if (crossSections == 0) + G4Exception("G4PixeCrossSectionHandler::BuildMeanFreePathForMaterials, crossSections = 0"); + + G4IInterpolator* algo = CreateInterpolation(); + G4IDataSet* materialSet = new G4CompositeDataSet(algo); + + G4DataVector* energies; + G4DataVector* data; + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + + for (size_t m=0; mpush_back(energy); + G4IDataSet* matCrossSet = (*crossSections)[m]; + G4double materialCrossSection = 0.0; + G4int nElm = matCrossSet->NumberOfComponents(); + for(G4int j=0; jGetComponent(j)->FindValue(energy); + } + + if (materialCrossSection > 0.) + { + data->push_back(1./materialCrossSection); + } + else + { + data->push_back(DBL_MAX); + } + } + G4IInterpolator* algo = CreateInterpolation(); + G4IDataSet* dataSet = new G4DataSet(m,energies,data,algo,1.,1.); + materialSet->AddComponent(dataSet); + } + + return materialSet; + } + +*/ + +void G4PixeCrossSectionHandler::BuildForMaterials() +{ + // Builds a CompositeDataSet containing the mean free path for each material + // in the material table + + G4DataVector energyVector; + G4double dBin = std::log10(eMax/eMin) / nBins; + + for (G4int i=0; i::iterator mat; + if (! crossSections->empty()) + { + for (mat = crossSections->begin(); mat!= crossSections->end(); ++mat) + { + G4IDataSet* set = *mat; + delete set; + set = 0; + } + crossSections->clear(); + delete crossSections; + crossSections = 0; + } + } + + crossSections = BuildCrossSectionsForMaterials(energyVector); + + if (crossSections == 0) + G4Exception("G4PixeCrossSectionHandler::BuildForMaterials, crossSections = 0"); + + return; +} + + +G4int G4PixeCrossSectionHandler::SelectRandomAtom(const G4Material* material, + G4double e) const +{ + // Select randomly an element within the material, according to the weight + // determined by the cross sections in the data set + + G4int nElements = material->GetNumberOfElements(); + + // Special case: the material consists of one element + if (nElements == 1) + { + G4int Z = (G4int) material->GetZ(); + return Z; + } + + // Composite material + + const G4ElementVector* elementVector = material->GetElementVector(); + size_t materialIndex = material->GetIndex(); + + G4IDataSet* materialSet = (*crossSections)[materialIndex]; + G4double materialCrossSection0 = 0.0; + G4DataVector cross; + cross.clear(); + for ( G4int i=0; i < nElements; i++ ) + { + G4double cr = materialSet->GetComponent(i)->FindValue(e); + materialCrossSection0 += cr; + cross.push_back(materialCrossSection0); + } + + G4double random = G4UniformRand() * materialCrossSection0; + + for (G4int k=0 ; k < nElements ; k++ ) + { + if (random <= cross[k]) return (G4int) (*elementVector)[k]->GetZ(); + } + // It should never get here + return 0; +} + +/* + const G4Element* G4PixeCrossSectionHandler::SelectRandomElement(const G4MaterialCutsCouple* couple, + G4double e) const + { + // Select randomly an element within the material, according to the weight determined + // by the cross sections in the data set + + const G4Material* material = couple->GetMaterial(); + G4Element* nullElement = 0; + G4int nElements = material->GetNumberOfElements(); + const G4ElementVector* elementVector = material->GetElementVector(); + + // Special case: the material consists of one element + if (nElements == 1) + { + G4Element* element = (*elementVector)[0]; + return element; + } + else + { + // Composite material + + size_t materialIndex = couple->GetIndex(); + + G4IDataSet* materialSet = (*crossSections)[materialIndex]; + G4double materialCrossSection0 = 0.0; + G4DataVector cross; + cross.clear(); + for (G4int i=0; iGetComponent(i)->FindValue(e); + materialCrossSection0 += cr; + cross.push_back(materialCrossSection0); + } + + G4double random = G4UniformRand() * materialCrossSection0; + + for (G4int k=0 ; k < nElements ; k++ ) + { + if (random <= cross[k]) return (*elementVector)[k]; + } + // It should never end up here + G4cout << "G4PixeCrossSectionHandler::SelectRandomElement - no element found" << G4endl; + return nullElement; + } + } +*/ + + +G4int G4PixeCrossSectionHandler::SelectRandomShell(G4int Z, G4double e) const +{ + // Select randomly a shell, according to the weight determined by the cross sections + // in the data set + + // Note for later improvement: it would be useful to add a cache mechanism for already + // used shells to improve performance + + G4int shell = 0; + + G4double totCrossSection = FindValue(Z,e); + G4double random = G4UniformRand() * totCrossSection; + G4double partialSum = 0.; + + G4IDataSet* dataSet = 0; + std::map >::const_iterator pos; + pos = dataMap.find(Z); + // The following is a workaround for STL ObjectSpace implementation, + // which does not support the standard and does not accept + // the syntax pos->first or pos->second + // if (pos != dataMap.end()) dataSet = pos->second; + if (pos != dataMap.end()) dataSet = (*pos).second; + + size_t nShells = dataSet->NumberOfComponents(); + for (size_t i=0; iGetComponent(i); + if (shellDataSet != 0) + { + G4double value = shellDataSet->FindValue(e); + partialSum += value; + if (random <= partialSum) return i; + } + } + // It should never get here + return shell; +} + +void G4PixeCrossSectionHandler::ActiveElements() +{ + const G4MaterialTable* materialTable = G4Material::GetMaterialTable(); + if (materialTable == 0) + G4Exception("G4PixeCrossSectionHandler::ActiveElements - no MaterialTable found)"); + + G4int nMaterials = G4Material::GetNumberOfMaterials(); + + for (G4int m=0; mGetElementVector(); + const G4int nElements = material->GetNumberOfElements(); + + for (G4int iEl=0; iElGetZ(); + if (!(activeZ.contains(Z)) && Z >= zMin && Z <= zMax) + { + activeZ.push_back(Z); + } + } + } +} + +G4IInterpolator* G4PixeCrossSectionHandler::CreateInterpolation() +{ + G4IInterpolator* algorithm = new G4LogLogInterpolator; + return algorithm; +} + +G4int G4PixeCrossSectionHandler::NumberOfComponents(G4int Z) const +{ + G4int n = 0; + + std::map >::const_iterator pos; + pos = dataMap.find(Z); + if (pos!= dataMap.end()) + { + G4IDataSet* dataSet = (*pos).second; + n = dataSet->NumberOfComponents(); + } + else + { + G4cout << "WARNING: G4PixeCrossSectionHandler::NumberOfComponents did not " + << "find Z = " + << Z << G4endl; + } + return n; +} + + +std::vector* +G4PixeCrossSectionHandler::BuildCrossSectionsForMaterials(const G4DataVector& energyVector) +{ + G4DataVector* energies; + G4DataVector* data; + + std::vector* matCrossSections = new std::vector; + + //const G4ProductionCutsTable* theCoupleTable=G4ProductionCutsTable::GetProductionCutsTable(); + //size_t numOfCouples = theCoupleTable->GetTableSize(); + + size_t nOfBins = energyVector.size(); + const G4IInterpolator* interpolationAlgo = CreateInterpolation(); + + const G4MaterialTable* materialTable = G4Material::GetMaterialTable(); + if (materialTable == 0) + G4Exception("G4PixeCrossSectionHandler - no MaterialTable found)"); + + G4int nMaterials = G4Material::GetNumberOfMaterials(); + + for (G4int m=0; mGetNumberOfElements(); + const G4ElementVector* elementVector = material->GetElementVector(); + const G4double* nAtomsPerVolume = material->GetAtomicNumDensityVector(); + + G4IInterpolator* algo = interpolationAlgo->Clone(); + + G4IDataSet* setForMat = new G4CompositeDataSet(algo,1.,1.); + + for (G4int i=0; iGetZ(); + G4double density = nAtomsPerVolume[i]; + + energies = new G4DataVector; + data = new G4DataVector; + + + for (size_t bin=0; binpush_back(e); + G4double cross = 0.; + if (Z >= zMin && Z <= zMax) cross = density*FindValue(Z,e); + data->push_back(cross); + } + + G4IInterpolator* algo1 = interpolationAlgo->Clone(); + G4IDataSet* elSet = new G4DataSet(i,energies,data,algo1,1.,1.); + setForMat->AddComponent(elSet); + } + + matCrossSections->push_back(setForMat); + } + return matCrossSections; +} + + +G4double G4PixeCrossSectionHandler::MicroscopicCrossSection(const G4ParticleDefinition* particleDef, + G4double kineticEnergy, + G4double Z, + G4double deltaCut) const +{ + // Cross section formula is OK for spin=0, 1/2, 1 only ! + // Calculates the microscopic cross section in Geant4 internal units + // Formula documented in Geant4 Phys. Ref. Manual + // ( it is called for elements, AtomicNumber = z ) + + G4double cross = 0.; + + // Particle mass and energy + G4double particleMass = particleDef->GetPDGMass(); + G4double energy = kineticEnergy + particleMass; + + // Some kinematics + G4double gamma = energy / particleMass; + G4double beta2 = 1. - 1. / (gamma * gamma); + G4double var = electron_mass_c2 / particleMass; + G4double tMax = 2. * electron_mass_c2 * (gamma*gamma - 1.) / (1. + 2.*gamma*var + var*var); + + // Calculate the total cross section + + if ( tMax > deltaCut ) + { + var = deltaCut / tMax; + cross = (1. - var * (1. - beta2 * std::log(var))) / deltaCut; + + G4double spin = particleDef->GetPDGSpin() ; + + // +term for spin=1/2 particle + if (spin == 0.5) + { + cross += 0.5 * (tMax - deltaCut) / (energy*energy); + } + // +term for spin=1 particle + else if (spin > 0.9 ) + { + cross += -std::log(var) / (3.*deltaCut) + (tMax-deltaCut) * + ((5.+1./var)*0.25 /(energy*energy) - beta2 / (tMax*deltaCut))/3.; + } + cross *= twopi_mc2_rcl2 * Z / beta2 ; + } + + //std::cout << "Microscopic = " << cross/barn + // << ", e = " << kineticEnergy/MeV < +#include + + +G4PixeShellDataSet::G4PixeShellDataSet(G4int zeta, + G4IInterpolator* algo, + const G4String& modelK, + const G4String& modelL, + const G4String& modelM, + G4double eUnit, + G4double dataUnit): + z(zeta), + algorithm(algo), + unitEnergies(eUnit), + unitData(dataUnit) +{ + if (algorithm == 0) G4Exception("G4PixeShellDataSet::G4PixeShellDataSet - interpolation == 0"); + + crossModel.push_back(modelK); + crossModel.push_back(modelL); + crossModel.push_back(modelM); + + shellName.push_back("k"); + shellName.push_back("l"); + shellName.push_back("m"); + + size_t sizeK = modelK.size(); + size_t sizeL = modelL.size(); + size_t sizeM = modelM.size(); + + if (sizeK > 0) subShellName.push_back("k"); + + if (sizeK > 0 && sizeL > 0) + { + subShellName.push_back("l1"); + subShellName.push_back("l2"); + subShellName.push_back("l3"); + } + if (sizeK > 0 && sizeL > 0 && sizeM >0) + { + subShellName.push_back("m1"); + subShellName.push_back("m2"); + subShellName.push_back("m3"); + subShellName.push_back("m4"); + subShellName.push_back("m5"); + } +} + + +G4PixeShellDataSet::~G4PixeShellDataSet() +{ + CleanUpComponents(); + if (algorithm) delete algorithm; +} + + +G4double G4PixeShellDataSet::FindValue(G4double energy, G4int /* componentId */) const +{ + // Returns the sum over the shells corresponding to e + G4double value = 0.; + + std::vector::const_iterator i(components.begin()); + std::vector::const_iterator end(components.end()); + + while (i != end) + { + value += (*i)->FindValue(energy); + i++; + } + return value; +} + + +void G4PixeShellDataSet::PrintData(void) const +{ + const size_t n = NumberOfComponents(); + + G4cout << "The data set has " << n << " components" << G4endl; + G4cout << G4endl; + + size_t i = 0; + + while (i < n) + { + G4cout << "--- Component " << i << " ---" << G4endl; + GetComponent(i)->PrintData(); + i++; + } +} + + +void G4PixeShellDataSet::SetEnergiesData(G4DataVector* energies, + G4DataVector* data, + G4int componentId) +{ + G4IDataSet* component = components[componentId]; + + if (component) + { + component->SetEnergiesData(energies, data, 0); + return; + } + + std::ostringstream message; + message << "G4PixeShellDataSet::SetEnergiesData - component " << componentId << " not found"; + + G4Exception(message.str().c_str()); +} + + +G4bool G4PixeShellDataSet::LoadData(const G4String& file) +{ + CleanUpComponents(); + + // Load shell cross sections + + G4int nShells = subShellName.size(); + + for (G4int subShellIndex=0; subShellIndexLoadData(fullFileName); + + // Add component to the ShellDataSet + AddComponent(dataSet); + } + + return true; +} + + +G4bool G4PixeShellDataSet::SaveData(const G4String& /* file */) const +{ + // Dummy implementation + return true; +} + + +void G4PixeShellDataSet::CleanUpComponents(void) +{ + while (!components.empty()) + { + if (components.back()) delete components.back(); + components.pop_back(); + } +} + + +G4String G4PixeShellDataSet::FullFileName(const G4String& file, + const G4String& subShell) const +{ + char* path = getenv("G4PIIDATA"); + if (!path) + G4Exception("G4PixeShellDataSet::FullFileName - G4PIIDATA environment variable not set"); + + // Identify the shell this subshell belongs to + G4int shellIndex = TranslateShell(subShell); + G4String shellString = shellName[shellIndex]; + G4String shellModel = crossModel[shellIndex]; + + std::ostringstream fullFileName; + + fullFileName + //<< path + << "pixe/" + << file + << '/' + << shellString + << '/' + << shellModel + << '/' + << subShell + << '-' ; +// << z + // << ".dat"; + + G4String test(fullFileName.str().c_str()); + // std::cout << "PixeShellDataSet - Reading data from file " << test << std::endl; + + return G4String(fullFileName.str().c_str()); +} + +G4int G4PixeShellDataSet::TranslateShell(const G4String& subShell) const +{ + // By default return K shell + G4int index = 0; + + if (subShell == "l1" || subShell == "l2" || subShell == "l3" ) index = 1; + if (subShell == "m1" || + subShell == "m2" || + subShell == "m3" || + subShell == "m4" || + subShell == "m5" ) index = 2; + return index; +} diff --git a/source/processes/electromagnetic/pii/src/G4hImpactIonisation.cc b/source/processes/electromagnetic/pii/src/G4hImpactIonisation.cc new file mode 100644 index 0000000000..b74de4f3bc --- /dev/null +++ b/source/processes/electromagnetic/pii/src/G4hImpactIonisation.cc @@ -0,0 +1,1767 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// + +// ------------------------------------------------------------ +// G4RDHadronIonisation +// +// $Id: G4hImpactIonisation.cc,v 1.4 2010/11/25 19:49:43 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// Author: Maria Grazia Pia (MariaGrazia.Pia@ge.infn.it) +// +// 08 Sep 2008 - MGP - Created (initially based on G4hLowEnergyIonisation) +// Added PIXE capabilities +// Partial clean-up of the implementation (more needed) +// Calculation of MicroscopicCrossSection delegated to specialised cla// Documentation available in: +// M.G. Pia et al., PIXE Simulation With Geant4, +// IEEE Trans. Nucl. Sci., vol. 56, no. 6, pp. 3614-3649, Dec. 2009. + +// +// ------------------------------------------------------------ + +#include "G4hImpactIonisation.hh" +#include "globals.hh" +#include "G4ios.hh" +#include "Randomize.hh" +#include "G4Poisson.hh" +#include "G4UnitsTable.hh" +#include "G4EnergyLossTables.hh" +#include "G4Material.hh" +#include "G4DynamicParticle.hh" +#include "G4ParticleDefinition.hh" +#include "G4AtomicDeexcitation.hh" +#include "G4AtomicTransitionManager.hh" +#include "G4PixeCrossSectionHandler.hh" +#include "G4IInterpolator.hh" +#include "G4LogLogInterpolator.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Proton.hh" +#include "G4ProcessManager.hh" +#include "G4ProductionCutsTable.hh" +#include "G4PhysicsLogVector.hh" +#include "G4PhysicsLinearVector.hh" + +#include "G4VLowEnergyModel.hh" +#include "G4hNuclearStoppingModel.hh" +#include "G4hBetheBlochModel.hh" +#include "G4hParametrisedLossModel.hh" +#include "G4QAOLowEnergyLoss.hh" +#include "G4hIonEffChargeSquare.hh" +#include "G4IonChuFluctuationModel.hh" +#include "G4IonYangFluctuationModel.hh" + +#include "G4MaterialCutsCouple.hh" +#include "G4Track.hh" +#include "G4Step.hh" + +G4hImpactIonisation::G4hImpactIonisation(const G4String& processName) + : G4hRDEnergyLoss(processName), + betheBlochModel(0), + protonModel(0), + antiprotonModel(0), + theIonEffChargeModel(0), + theNuclearStoppingModel(0), + theIonChuFluctuationModel(0), + theIonYangFluctuationModel(0), + protonTable("ICRU_R49p"), + antiprotonTable("ICRU_R49p"), + theNuclearTable("ICRU_R49"), + nStopping(true), + theBarkas(true), + theMeanFreePathTable(0), + paramStepLimit (0.005), + pixeCrossSectionHandler(0) +{ + InitializeMe(); +} + + + +void G4hImpactIonisation::InitializeMe() +{ + LowestKineticEnergy = 10.0*eV ; + HighestKineticEnergy = 100.0*GeV ; + MinKineticEnergy = 10.0*eV ; + TotBin = 360 ; + protonLowEnergy = 1.*keV ; + protonHighEnergy = 100.*MeV ; + antiprotonLowEnergy = 25.*keV ; + antiprotonHighEnergy = 2.*MeV ; + minGammaEnergy = 100 * eV; + minElectronEnergy = 250.* eV; + verboseLevel = 0; + + // Min and max energy of incident particle for the calculation of shell cross sections + // for PIXE generation + eMinPixe = 1.* keV; + eMaxPixe = 200. * MeV; + + G4String defaultPixeModel("ecpssr"); + modelK = defaultPixeModel; + modelL = defaultPixeModel; + modelM = defaultPixeModel; +} + + +G4hImpactIonisation::~G4hImpactIonisation() +{ + if (theMeanFreePathTable) + { + theMeanFreePathTable->clearAndDestroy(); + delete theMeanFreePathTable; + } + + if (betheBlochModel) delete betheBlochModel; + if (protonModel) delete protonModel; + if (antiprotonModel) delete antiprotonModel; + if (theNuclearStoppingModel) delete theNuclearStoppingModel; + if (theIonEffChargeModel) delete theIonEffChargeModel; + if (theIonChuFluctuationModel) delete theIonChuFluctuationModel; + if (theIonYangFluctuationModel) delete theIonYangFluctuationModel; + + delete pixeCrossSectionHandler; + + // ---- MGP ---- The following is to be checked + // if (shellVacancy) delete shellVacancy; + + cutForDelta.clear(); +} + +// -------------------------------------------------------------------- +void G4hImpactIonisation::SetElectronicStoppingPowerModel(const G4ParticleDefinition* particle, + const G4String& dedxTable) +// This method defines the ionisation parametrisation method via its name +{ + if (particle->GetPDGCharge() > 0 ) + { + // Positive charge + SetProtonElectronicStoppingPowerModel(dedxTable) ; + } + else + { + // Antiprotons + SetAntiProtonElectronicStoppingPowerModel(dedxTable) ; + } +} + + +// -------------------------------------------------------------------- +void G4hImpactIonisation::InitializeParametrisation() + +{ + // Define models for parametrisation of electronic energy losses + betheBlochModel = new G4hBetheBlochModel("Bethe-Bloch") ; + protonModel = new G4hParametrisedLossModel(protonTable) ; + protonHighEnergy = std::min(protonHighEnergy,protonModel->HighEnergyLimit(0, 0)); + antiprotonModel = new G4QAOLowEnergyLoss(antiprotonTable) ; + theNuclearStoppingModel = new G4hNuclearStoppingModel(theNuclearTable) ; + theIonEffChargeModel = new G4hIonEffChargeSquare("Ziegler1988") ; + theIonChuFluctuationModel = new G4IonChuFluctuationModel("Chu") ; + theIonYangFluctuationModel = new G4IonYangFluctuationModel("Yang") ; +} + + +// -------------------------------------------------------------------- +void G4hImpactIonisation::BuildPhysicsTable(const G4ParticleDefinition& particleDef) + +// just call BuildLossTable+BuildLambdaTable +{ + + // Verbose print-out + if(verboseLevel > 0) + { + G4cout << "G4hImpactIonisation::BuildPhysicsTable for " + << particleDef.GetParticleName() + << " mass(MeV)= " << particleDef.GetPDGMass()/MeV + << " charge= " << particleDef.GetPDGCharge()/eplus + << " type= " << particleDef.GetParticleType() + << G4endl; + + if(verboseLevel > 1) + { + G4ProcessVector* pv = particleDef.GetProcessManager()->GetProcessList(); + + G4cout << " 0: " << (*pv)[0]->GetProcessName() << " " << (*pv)[0] + << " 1: " << (*pv)[1]->GetProcessName() << " " << (*pv)[1] + // << " 2: " << (*pv)[2]->GetProcessName() << " " << (*pv)[2] + << G4endl; + G4cout << "ionModel= " << theIonEffChargeModel + << " MFPtable= " << theMeanFreePathTable + << " iniMass= " << initialMass + << G4endl; + } + } + // End of verbose print-out + + if (particleDef.GetParticleType() == "nucleus" && + particleDef.GetParticleName() != "GenericIon" && + particleDef.GetParticleSubType() == "generic") + { + + G4EnergyLossTables::Register(&particleDef, + theDEDXpTable, + theRangepTable, + theInverseRangepTable, + theLabTimepTable, + theProperTimepTable, + LowestKineticEnergy, HighestKineticEnergy, + proton_mass_c2/particleDef.GetPDGMass(), + TotBin); + + return; + } + + if( !CutsWhereModified() && theLossTable) return; + + InitializeParametrisation() ; + G4Proton* proton = G4Proton::Proton(); + G4AntiProton* antiproton = G4AntiProton::AntiProton(); + + charge = particleDef.GetPDGCharge() / eplus; + chargeSquare = charge*charge ; + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + cutForDelta.clear(); + cutForGamma.clear(); + + for (size_t j=0; jGetMaterialCutsCouple(j); + const G4Material* material= couple->GetMaterial(); + + // the cut cannot be below lowest limit + G4double tCut = (*(theCoupleTable->GetEnergyCutsVector(1)))[j]; + if(tCut > HighestKineticEnergy) tCut = HighestKineticEnergy; + + G4double excEnergy = material->GetIonisation()->GetMeanExcitationEnergy(); + + tCut = std::max(tCut,excEnergy); + cutForDelta.push_back(tCut); + + // the cut cannot be below lowest limit + tCut = (*(theCoupleTable->GetEnergyCutsVector(0)))[j]; + if(tCut > HighestKineticEnergy) tCut = HighestKineticEnergy; + tCut = std::max(tCut,minGammaEnergy); + cutForGamma.push_back(tCut); + } + + if(verboseLevel > 0) { + G4cout << "Cuts are defined " << G4endl; + } + + if(0.0 < charge) + { + { + BuildLossTable(*proton) ; + + // The following vector has a fixed dimension (see src/G4hImpactLoss.cc for more details) + // It happended in the past that caused memory corruption errors. The problem is still pending, even if temporary solved + // G4cout << "[NOTE]: __LINE__=" << __LINE__ << ", particleDef=" << particleDef.GetParticleName() << ", proton=" << proton << ", theLossTable=" << theLossTable << ", CounterOfpProcess=" << CounterOfpProcess << G4endl; + + RecorderOfpProcess[CounterOfpProcess] = theLossTable ; + CounterOfpProcess++; + } + } else { + { + BuildLossTable(*antiproton) ; + + // The following vector has a fixed dimension (see src/G4hImpactLoss.cc for more details) + // It happended in the past that caused memory corruption errors. The problem is still pending, even if temporary solved + // G4cout << "[NOTE]: __LINE__=" << __LINE__ << ", particleDef=" << particleDef.GetParticleName() << ", antiproton=" << antiproton << ", theLossTable=" << theLossTable << ", CounterOfpbarProcess=" << CounterOfpbarProcess << G4endl; + + RecorderOfpbarProcess[CounterOfpbarProcess] = theLossTable ; + CounterOfpbarProcess++; + } + } + + if(verboseLevel > 0) { + G4cout << "G4hImpactIonisation::BuildPhysicsTable: " + << "Loss table is built " + // << theLossTable + << G4endl; + } + + BuildLambdaTable(particleDef) ; + // BuildDataForFluorescence(particleDef); + + if(verboseLevel > 1) { + G4cout << (*theMeanFreePathTable) << G4endl; + } + + if(verboseLevel > 0) { + G4cout << "G4hImpactIonisation::BuildPhysicsTable: " + << "DEDX table will be built " + // << theDEDXpTable << " " << theDEDXpbarTable + // << " " << theRangepTable << " " << theRangepbarTable + << G4endl; + } + + BuildDEDXTable(particleDef) ; + + if(verboseLevel > 1) { + G4cout << (*theDEDXpTable) << G4endl; + } + + if((&particleDef == proton) || (&particleDef == antiproton)) PrintInfoDefinition() ; + + if(verboseLevel > 0) { + G4cout << "G4hImpactIonisation::BuildPhysicsTable: end for " + << particleDef.GetParticleName() << G4endl; + } +} + + + + + +// -------------------------------------------------------------------- +void G4hImpactIonisation::BuildLossTable(const G4ParticleDefinition& particleDef) +{ + + // Initialisation + G4double lowEdgeEnergy , ionloss, ionlossBB, paramB ; + G4double lowEnergy, highEnergy; + G4Proton* proton = G4Proton::Proton(); + + if (particleDef == *proton) + { + lowEnergy = protonLowEnergy ; + highEnergy = protonHighEnergy ; + charge = 1. ; + } + else + { + lowEnergy = antiprotonLowEnergy ; + highEnergy = antiprotonHighEnergy ; + charge = -1. ; + } + chargeSquare = 1. ; + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + if ( theLossTable) + { + theLossTable->clearAndDestroy(); + delete theLossTable; + } + + theLossTable = new G4PhysicsTable(numOfCouples); + + // loop for materials + for (size_t j=0; jGetMaterialCutsCouple(j); + const G4Material* material= couple->GetMaterial(); + + if ( charge > 0.0 ) { + ionloss = ProtonParametrisedDEDX(couple,highEnergy) ; + } else { + ionloss = AntiProtonParametrisedDEDX(couple,highEnergy) ; + } + + ionlossBB = betheBlochModel->TheValue(&particleDef,material,highEnergy) ; + ionlossBB -= DeltaRaysEnergy(couple,highEnergy,proton_mass_c2) ; + + + paramB = ionloss/ionlossBB - 1.0 ; + + // now comes the loop for the kinetic energy values + for (G4int i = 0 ; i < TotBin ; i++) { + lowEdgeEnergy = aVector->GetLowEdgeEnergy(i) ; + + // low energy part for this material, parametrised energy loss formulae + if ( lowEdgeEnergy < highEnergy ) { + + if ( charge > 0.0 ) { + ionloss = ProtonParametrisedDEDX(couple,lowEdgeEnergy) ; + } else { + ionloss = AntiProtonParametrisedDEDX(couple,lowEdgeEnergy) ; + } + + } else { + + // high energy part for this material, Bethe-Bloch formula + ionloss = betheBlochModel->TheValue(proton,material, + lowEdgeEnergy) ; + + ionloss -= DeltaRaysEnergy(couple,lowEdgeEnergy,proton_mass_c2) ; + + ionloss *= (1.0 + paramB*highEnergy/lowEdgeEnergy) ; + } + + // now put the loss into the vector + if(verboseLevel > 1) { + G4cout << "E(MeV)= " << lowEdgeEnergy/MeV + << " dE/dx(MeV/mm)= " << ionloss*mm/MeV + << " in " << material->GetName() << G4endl; + } + aVector->PutValue(i,ionloss) ; + } + // Insert vector for this material into the table + theLossTable->insert(aVector) ; + } +} + + + +// -------------------------------------------------------------------- +void G4hImpactIonisation::BuildLambdaTable(const G4ParticleDefinition& particleDef) + +{ + // Build mean free path tables for the delta ray production process + // tables are built for MATERIALS + + if(verboseLevel > 1) { + G4cout << "G4hImpactIonisation::BuildLambdaTable for " + << particleDef.GetParticleName() << " is started" << G4endl; + } + + + G4double lowEdgeEnergy, value; + charge = particleDef.GetPDGCharge()/eplus ; + chargeSquare = charge*charge ; + initialMass = particleDef.GetPDGMass(); + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + + if (theMeanFreePathTable) { + theMeanFreePathTable->clearAndDestroy(); + delete theMeanFreePathTable; + } + + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); + + // loop for materials + + for (size_t j=0 ; j < numOfCouples; j++) { + + //create physics vector then fill it .... + G4PhysicsLogVector* aVector = new G4PhysicsLogVector(LowestKineticEnergy, + HighestKineticEnergy, + TotBin); + + // compute the (macroscopic) cross section first + const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(j); + const G4Material* material= couple->GetMaterial(); + + const G4ElementVector* theElementVector = material->GetElementVector() ; + const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector(); + const G4int numberOfElements = material->GetNumberOfElements() ; + + // get the electron kinetic energy cut for the actual material, + // it will be used in ComputeMicroscopicCrossSection + // ( it is the SAME for ALL the ELEMENTS in THIS MATERIAL ) + // ------------------------------------------------------ + + G4double deltaCut = cutForDelta[j]; + + for ( G4int i = 0 ; i < TotBin ; i++ ) { + lowEdgeEnergy = aVector->GetLowEdgeEnergy(i) ; + G4double sigma = 0.0 ; + G4int Z; + + for (G4int iel=0; ielGetZ(); + // ---- MGP --- Corrected duplicated cross section calculation here from + // G4hLowEnergyIonisation original + G4double microCross = MicroscopicCrossSection( particleDef, + lowEdgeEnergy, + Z, + deltaCut ) ; + //totalCrossSectionMap [Z] = microCross; + sigma += theAtomicNumDensityVector[iel] * microCross ; + } + + // mean free path = 1./macroscopic cross section + + value = sigma<=0 ? DBL_MAX : 1./sigma ; + + aVector->PutValue(i, value) ; + } + + theMeanFreePathTable->insert(aVector); + } + +} + + +// -------------------------------------------------------------------- +G4double G4hImpactIonisation::MicroscopicCrossSection(const G4ParticleDefinition& particleDef, + G4double kineticEnergy, + G4double atomicNumber, + G4double deltaCutInEnergy) const +{ + //****************************************************************** + // cross section formula is OK for spin=0, 1/2, 1 only ! + // ***************************************************************** + + // Calculates the microscopic cross section in GEANT4 internal units + // Formula documented in Geant4 Phys. Ref. Manual + // ( it is called for elements, AtomicNumber = z ) + + G4double totalCrossSection = 0.; + + // Particle mass and energy + G4double particleMass = initialMass; + G4double energy = kineticEnergy + particleMass; + + // Some kinematics + G4double gamma = energy / particleMass; + G4double beta2 = 1. - 1. / (gamma * gamma); + G4double var = electron_mass_c2 / particleMass; + G4double tMax = 2. * electron_mass_c2 * (gamma*gamma - 1.) / (1. + 2.* gamma*var + var*var); + + // Calculate the total cross section + + if ( tMax > deltaCutInEnergy ) + { + var = deltaCutInEnergy / tMax; + totalCrossSection = (1. - var * (1. - beta2 * std::log(var))) / deltaCutInEnergy ; + + G4double spin = particleDef.GetPDGSpin() ; + + // +term for spin=1/2 particle + if (spin == 0.5) + { + totalCrossSection += 0.5 * (tMax - deltaCutInEnergy) / (energy*energy); + } + // +term for spin=1 particle + else if (spin > 0.9 ) + { + totalCrossSection += -std::log(var) / + (3. * deltaCutInEnergy) + (tMax - deltaCutInEnergy) * ( (5. + 1. /var)*0.25 / (energy*energy) - + beta2 / (tMax * deltaCutInEnergy) ) / 3. ; + } + totalCrossSection *= twopi_mc2_rcl2 * atomicNumber / beta2 ; + } + + //std::cout << "Microscopic = " << totalCrossSection/barn + // << ", e = " << kineticEnergy/MeV <GetMaterial(); + + G4double meanFreePath = DBL_MAX; + // ---- MGP ---- What is the meaning of the local variable isOutOfRange? + G4bool isOutRange = false; + + *condition = NotForced ; + + G4double kineticEnergy = (dynamicParticle->GetKineticEnergy())*initialMass/(dynamicParticle->GetMass()); + charge = dynamicParticle->GetCharge()/eplus; + chargeSquare = theIonEffChargeModel->TheValue(dynamicParticle, material); + + if (kineticEnergy < LowestKineticEnergy) + { + meanFreePath = DBL_MAX; + } + else + { + if (kineticEnergy > HighestKineticEnergy) kineticEnergy = HighestKineticEnergy; + meanFreePath = (((*theMeanFreePathTable)(couple->GetIndex()))-> + GetValue(kineticEnergy,isOutRange))/chargeSquare; + } + + return meanFreePath ; +} + + +// -------------------------------------------------------------------- +G4double G4hImpactIonisation::GetConstraints(const G4DynamicParticle* particle, + const G4MaterialCutsCouple* couple) +{ + // returns the Step limit + // dEdx is calculated as well as the range + // based on Effective Charge Approach + + const G4Material* material = couple->GetMaterial(); + G4Proton* proton = G4Proton::Proton(); + G4AntiProton* antiproton = G4AntiProton::AntiProton(); + + G4double stepLimit = 0.; + G4double dx, highEnergy; + + G4double massRatio = proton_mass_c2/(particle->GetMass()) ; + G4double kineticEnergy = particle->GetKineticEnergy() ; + + // Scale the kinetic energy + + G4double tScaled = kineticEnergy*massRatio ; + fBarkas = 0.; + + if (charge > 0.) + { + highEnergy = protonHighEnergy ; + fRangeNow = G4EnergyLossTables::GetRange(proton, tScaled, couple); + dx = G4EnergyLossTables::GetRange(proton, highEnergy, couple); + fdEdx = G4EnergyLossTables::GetDEDX(proton, tScaled, couple) + * chargeSquare ; + + // Correction for positive ions + if (theBarkas && tScaled > highEnergy) + { + fBarkas = BarkasTerm(material,tScaled)*std::sqrt(chargeSquare)*chargeSquare + + BlochTerm(material,tScaled,chargeSquare); + } + // Antiprotons and negative hadrons + } + else + { + highEnergy = antiprotonHighEnergy ; + fRangeNow = G4EnergyLossTables::GetRange(antiproton, tScaled, couple); + dx = G4EnergyLossTables::GetRange(antiproton, highEnergy, couple); + fdEdx = G4EnergyLossTables::GetDEDX(antiproton, tScaled, couple) * chargeSquare ; + + if (theBarkas && tScaled > highEnergy) + { + fBarkas = -BarkasTerm(material,tScaled)*std::sqrt(chargeSquare)*chargeSquare + + BlochTerm(material,tScaled,chargeSquare); + } + } + /* + const G4Material* mat = couple->GetMaterial(); + G4double fac = gram/(MeV*cm2*mat->GetDensity()); + G4cout << particle->GetDefinition()->GetParticleName() + << " in " << mat->GetName() + << " E(MeV)= " << kineticEnergy/MeV + << " dedx(MeV*cm^2/g)= " << fdEdx*fac + << " barcas(MeV*cm^2/gram)= " << fBarkas*fac + << " Q^2= " << chargeSquare + << G4endl; + */ + // scaling back + fRangeNow /= (chargeSquare*massRatio) ; + dx /= (chargeSquare*massRatio) ; + + stepLimit = fRangeNow ; + G4double r = std::min(finalRange, couple->GetProductionCuts() + ->GetProductionCut(idxG4ElectronCut)); + + if (fRangeNow > r) + { + stepLimit = dRoverRange*fRangeNow + r*(1.0 - dRoverRange)*(2.0 - r/fRangeNow); + if (stepLimit > fRangeNow) stepLimit = fRangeNow; + } + // compute the (random) Step limit in standard energy range + if(tScaled > highEnergy ) + { + // add Barkas correction directly to dedx + fdEdx += fBarkas; + + if(stepLimit > fRangeNow - dx*0.9) stepLimit = fRangeNow - dx*0.9 ; + + // Step limit in low energy range + } + else + { + G4double x = dx*paramStepLimit; + if (stepLimit > x) stepLimit = x; + } + return stepLimit; +} + + +// -------------------------------------------------------------------- +G4VParticleChange* G4hImpactIonisation::AlongStepDoIt(const G4Track& track, + const G4Step& step) +{ + // compute the energy loss after a step + G4Proton* proton = G4Proton::Proton(); + G4AntiProton* antiproton = G4AntiProton::AntiProton(); + G4double finalT = 0.; + + aParticleChange.Initialize(track) ; + + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + const G4Material* material = couple->GetMaterial(); + + // get the actual (true) Step length from step + const G4double stepLength = step.GetStepLength() ; + + const G4DynamicParticle* particle = track.GetDynamicParticle() ; + + G4double kineticEnergy = particle->GetKineticEnergy() ; + G4double massRatio = proton_mass_c2/(particle->GetMass()) ; + G4double tScaled = kineticEnergy * massRatio ; + G4double eLoss = 0.0 ; + G4double nLoss = 0.0 ; + + + // very small particle energy + if (kineticEnergy < MinKineticEnergy) + { + eLoss = kineticEnergy ; + // particle energy outside tabulated energy range + } + + else if( kineticEnergy > HighestKineticEnergy) + { + eLoss = stepLength * fdEdx ; + // big step + } + else if (stepLength >= fRangeNow ) + { + eLoss = kineticEnergy ; + + // tabulated range + } + else + { + // step longer than linear step limit + if(stepLength > linLossLimit * fRangeNow) + { + G4double rScaled = fRangeNow * massRatio * chargeSquare ; + G4double sScaled = stepLength * massRatio * chargeSquare ; + + if(charge > 0.0) + { + eLoss = G4EnergyLossTables::GetPreciseEnergyFromRange(proton,rScaled, couple) - + G4EnergyLossTables::GetPreciseEnergyFromRange(proton,rScaled-sScaled,couple) ; + + } + else + { + // Antiproton + eLoss = G4EnergyLossTables::GetPreciseEnergyFromRange(antiproton,rScaled,couple) - + G4EnergyLossTables::GetPreciseEnergyFromRange(antiproton,rScaled-sScaled,couple) ; + } + eLoss /= massRatio ; + + // Barkas correction at big step + eLoss += fBarkas * stepLength; + + // step shorter than linear step limit + } + else + { + eLoss = stepLength *fdEdx ; + } + if (nStopping && tScaled < protonHighEnergy) + { + nLoss = (theNuclearStoppingModel->TheValue(particle, material)) * stepLength; + } + } + + if (eLoss < 0.0) eLoss = 0.0; + + finalT = kineticEnergy - eLoss - nLoss; + + if ( EnlossFlucFlag && 0.0 < eLoss && finalT > MinKineticEnergy) + { + + // now the electron loss with fluctuation + eLoss = ElectronicLossFluctuation(particle, couple, eLoss, stepLength) ; + if (eLoss < 0.0) eLoss = 0.0; + finalT = kineticEnergy - eLoss - nLoss; + } + + // stop particle if the kinetic energy <= MinKineticEnergy + if (finalT*massRatio <= MinKineticEnergy ) + { + + finalT = 0.0; + if (!particle->GetDefinition()->GetProcessManager()->GetAtRestProcessVector()->size()) + aParticleChange.ProposeTrackStatus(fStopAndKill); + else + aParticleChange.ProposeTrackStatus(fStopButAlive); + } + + aParticleChange.ProposeEnergy( finalT ); + eLoss = kineticEnergy-finalT; + + aParticleChange.ProposeLocalEnergyDeposit(eLoss); + return &aParticleChange ; +} + + + +// -------------------------------------------------------------------- +G4double G4hImpactIonisation::ProtonParametrisedDEDX(const G4MaterialCutsCouple* couple, + G4double kineticEnergy) const +{ + const G4Material* material = couple->GetMaterial(); + G4Proton* proton = G4Proton::Proton(); + G4double eLoss = 0.; + + // Free Electron Gas Model + if(kineticEnergy < protonLowEnergy) { + eLoss = (protonModel->TheValue(proton, material, protonLowEnergy)) + * std::sqrt(kineticEnergy/protonLowEnergy) ; + + // Parametrisation + } else { + eLoss = protonModel->TheValue(proton, material, kineticEnergy) ; + } + + // Delta rays energy + eLoss -= DeltaRaysEnergy(couple,kineticEnergy,proton_mass_c2) ; + + if(verboseLevel > 2) { + G4cout << "p E(MeV)= " << kineticEnergy/MeV + << " dE/dx(MeV/mm)= " << eLoss*mm/MeV + << " for " << material->GetName() + << " model: " << protonModel << G4endl; + } + + if(eLoss < 0.0) eLoss = 0.0 ; + + return eLoss ; +} + + + +// -------------------------------------------------------------------- +G4double G4hImpactIonisation::AntiProtonParametrisedDEDX(const G4MaterialCutsCouple* couple, + G4double kineticEnergy) const +{ + const G4Material* material = couple->GetMaterial(); + G4AntiProton* antiproton = G4AntiProton::AntiProton(); + G4double eLoss = 0.0 ; + + // Antiproton model is used + if(antiprotonModel->IsInCharge(antiproton,material)) { + if(kineticEnergy < antiprotonLowEnergy) { + eLoss = antiprotonModel->TheValue(antiproton,material,antiprotonLowEnergy) + * std::sqrt(kineticEnergy/antiprotonLowEnergy) ; + + // Parametrisation + } else { + eLoss = antiprotonModel->TheValue(antiproton,material, + kineticEnergy); + } + + // The proton model is used + Barkas correction + } else { + if(kineticEnergy < protonLowEnergy) { + eLoss = protonModel->TheValue(G4Proton::Proton(),material,protonLowEnergy) + * std::sqrt(kineticEnergy/protonLowEnergy) ; + + // Parametrisation + } else { + eLoss = protonModel->TheValue(G4Proton::Proton(),material, + kineticEnergy); + } + //if(theBarkas) eLoss -= 2.0*BarkasTerm(material, kineticEnergy); + } + + // Delta rays energy + eLoss -= DeltaRaysEnergy(couple,kineticEnergy,proton_mass_c2) ; + + if(verboseLevel > 2) { + G4cout << "pbar E(MeV)= " << kineticEnergy/MeV + << " dE/dx(MeV/mm)= " << eLoss*mm/MeV + << " for " << material->GetName() + << " model: " << protonModel << G4endl; + } + + if(eLoss < 0.0) eLoss = 0.0 ; + + return eLoss ; +} + + +// -------------------------------------------------------------------- +G4double G4hImpactIonisation::DeltaRaysEnergy(const G4MaterialCutsCouple* couple, + G4double kineticEnergy, + G4double particleMass) const +{ + G4double dLoss = 0.; + + G4double deltaCutNow = cutForDelta[(couple->GetIndex())] ; + const G4Material* material = couple->GetMaterial(); + G4double electronDensity = material->GetElectronDensity(); + G4double excitationEnergy = material->GetIonisation()->GetMeanExcitationEnergy(); + + G4double tau = kineticEnergy / particleMass ; + G4double rateMass = electron_mass_c2/particleMass ; + + // some local variables + + G4double gamma = tau + 1.0 ; + G4double bg2 = tau*(tau+2.0) ; + G4double beta2 = bg2/(gamma*gamma) ; + G4double tMax = 2.*electron_mass_c2*bg2/(1.0+2.0*gamma*rateMass+rateMass*rateMass) ; + + // Validity range for delta electron cross section + G4double deltaCut = std::max(deltaCutNow, excitationEnergy); + + if ( deltaCut < tMax) + { + G4double x = deltaCut / tMax ; + dLoss = ( beta2 * (x-1.) - std::log(x) ) * twopi_mc2_rcl2 * electronDensity / beta2 ; + } + return dLoss ; +} + + +// ------------------------------------------------------------------------- + +G4VParticleChange* G4hImpactIonisation::PostStepDoIt(const G4Track& track, + const G4Step& step) +{ + // Units are expressed in GEANT4 internal units. + + // std::cout << "----- Calling PostStepDoIt ----- " << std::endl; + + aParticleChange.Initialize(track) ; + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + const G4DynamicParticle* aParticle = track.GetDynamicParticle() ; + + // Some kinematics + + G4ParticleDefinition* definition = track.GetDefinition(); + G4double mass = definition->GetPDGMass(); + G4double kineticEnergy = aParticle->GetKineticEnergy(); + G4double totalEnergy = kineticEnergy + mass ; + G4double pSquare = kineticEnergy *( totalEnergy + mass) ; + G4double eSquare = totalEnergy * totalEnergy; + G4double betaSquare = pSquare / eSquare; + G4ThreeVector particleDirection = aParticle->GetMomentumDirection() ; + + G4double gamma = kineticEnergy / mass + 1.; + G4double r = electron_mass_c2 / mass; + G4double tMax = 2. * electron_mass_c2 *(gamma*gamma - 1.) / (1. + 2.*gamma*r + r*r); + + // Validity range for delta electron cross section + G4double deltaCut = cutForDelta[couple->GetIndex()]; + + // This should not be a case + if (deltaCut >= tMax) + return G4VContinuousDiscreteProcess::PostStepDoIt(track,step); + + G4double xc = deltaCut / tMax; + G4double rate = tMax / totalEnergy; + rate = rate*rate ; + G4double spin = aParticle->GetDefinition()->GetPDGSpin() ; + + // Sampling follows ... + G4double x = 0.; + G4double gRej = 0.; + + do { + x = xc / (1. - (1. - xc) * G4UniformRand()); + + if (0.0 == spin) + { + gRej = 1.0 - betaSquare * x ; + } + else if (0.5 == spin) + { + gRej = (1. - betaSquare * x + 0.5 * x*x * rate) / (1. + 0.5 * rate) ; + } + else + { + gRej = (1. - betaSquare * x ) * (1. + x/(3.*xc)) + + x*x * rate * (1. + 0.5*x/xc) / 3.0 / + (1. + 1./(3.*xc) + rate *(1.+ 0.5/xc) / 3.); + } + + } while( G4UniformRand() > gRej ); + + G4double deltaKineticEnergy = x * tMax; + G4double deltaTotalMomentum = std::sqrt(deltaKineticEnergy * + (deltaKineticEnergy + 2. * electron_mass_c2 )); + G4double totalMomentum = std::sqrt(pSquare) ; + G4double cosTheta = deltaKineticEnergy * (totalEnergy + electron_mass_c2) / (deltaTotalMomentum*totalMomentum); + + // protection against cosTheta > 1 or < -1 + if ( cosTheta < -1. ) cosTheta = -1.; + if ( cosTheta > 1. ) cosTheta = 1.; + + // direction of the delta electron + G4double phi = twopi * G4UniformRand(); + G4double sinTheta = std::sqrt(1. - cosTheta*cosTheta); + G4double dirX = sinTheta * std::cos(phi); + G4double dirY = sinTheta * std::sin(phi); + G4double dirZ = cosTheta; + + G4ThreeVector deltaDirection(dirX,dirY,dirZ); + deltaDirection.rotateUz(particleDirection); + + // create G4DynamicParticle object for delta ray + G4DynamicParticle* deltaRay = new G4DynamicParticle; + deltaRay->SetKineticEnergy( deltaKineticEnergy ); + deltaRay->SetMomentumDirection(deltaDirection.x(), + deltaDirection.y(), + deltaDirection.z()); + deltaRay->SetDefinition(G4Electron::Electron()); + + // fill aParticleChange + G4double finalKineticEnergy = kineticEnergy - deltaKineticEnergy; + size_t totalNumber = 1; + + // Atomic relaxation + + // ---- MGP ---- Temporary limitation: currently PIXE only for incident protons + + size_t nSecondaries = 0; + std::vector* secondaryVector = 0; + + if (definition == G4Proton::ProtonDefinition()) + { + const G4Material* material = couple->GetMaterial(); + + // Lazy initialization of pixeCrossSectionHandler + if (pixeCrossSectionHandler == 0) + { + // Instantiate pixeCrossSectionHandler with selected shell cross section models + // Ownership of interpolation is transferred to pixeCrossSectionHandler + G4IInterpolator* interpolation = new G4LogLogInterpolator(); + pixeCrossSectionHandler = + new G4PixeCrossSectionHandler(interpolation,modelK,modelL,modelM,eMinPixe,eMaxPixe); + G4String fileName("proton"); + pixeCrossSectionHandler->LoadShellData(fileName); + // pixeCrossSectionHandler->PrintData(); + } + + // Select an atom in the current material based on the total shell cross sections + G4int Z = pixeCrossSectionHandler->SelectRandomAtom(material,kineticEnergy); + // std::cout << "G4hImpactIonisation::PostStepDoIt - Z = " << Z << std::endl; + + // G4double microscopicCross = MicroscopicCrossSection(*definition, + // kineticEnergy, + // Z, deltaCut); + // G4double crossFromShells = pixeCrossSectionHandler->FindValue(Z,kineticEnergy); + + //std::cout << "G4hImpactIonisation: Z= " + // << Z + // << ", energy = " + // << kineticEnergy/MeV + // <<" MeV, microscopic = " + // << microscopicCross/barn + // << " barn, from shells = " + // << crossFromShells/barn + // << " barn" + // << std::endl; + + // Select a shell in the target atom based on the individual shell cross sections + G4int shellIndex = pixeCrossSectionHandler->SelectRandomShell(Z,kineticEnergy); + + G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + const G4AtomicShell* atomicShell = transitionManager->Shell(Z,shellIndex); + G4double bindingEnergy = atomicShell->BindingEnergy(); + + // if (verboseLevel > 1) + // { + // G4cout << "G4hImpactIonisation::PostStepDoIt - Z = " + // << Z + // << ", shell = " + // << shellIndex + // << ", bindingE (keV) = " + // << bindingEnergy/keV + // << G4endl; + // } + + // Generate PIXE if binding energy larger than cut for photons or electrons + + G4ParticleDefinition* type = 0; + + if (finalKineticEnergy >= bindingEnergy) + // && (bindingEnergy >= minGammaEnergy || bindingEnergy >= minElectronEnergy) ) + { + // Vacancy in subshell shellIndex; shellId is the subshell identifier in EADL jargon + G4int shellId = atomicShell->ShellId(); + // Atomic relaxation: generate secondaries + secondaryVector = atomicDeexcitation.GenerateParticles(Z, shellId); + + // ---- Debug ---- + //std::cout << "ShellId = " + // <size() + // << std::endl; + + // ---- End debug --- + + if (secondaryVector != 0) + { + nSecondaries = secondaryVector->size(); + for (size_t i = 0; iGetKineticEnergy(); + type = aSecondary->GetDefinition(); + + // ---- Debug ---- + //if (type == G4Gamma::GammaDefinition()) + // { + // std::cout << "Z = " << Z + // << ", shell: " << shellId + // << ", PIXE photon energy (keV) = " << e/keV + // << std::endl; + // } + // ---- End debug --- + + if (e < finalKineticEnergy && + ((type == G4Gamma::Gamma() && e > minGammaEnergy ) || + (type == G4Electron::Electron() && e > minElectronEnergy ))) + { + // Subtract the energy of the emitted secondary from the primary + finalKineticEnergy -= e; + totalNumber++; + // ---- Debug ---- + //if (type == G4Gamma::GammaDefinition()) + // { + // std::cout << "Z = " << Z + // << ", shell: " << shellId + // << ", PIXE photon energy (keV) = " << e/keV + // << std::endl; + // } + // ---- End debug --- + } + else + { + // The atomic relaxation product has energy below the cut + // ---- Debug ---- + // if (type == G4Gamma::GammaDefinition()) + // { + // std::cout << "Z = " << Z + // + // << ", PIXE photon energy = " << e/keV + // << " keV below threshold " << minGammaEnergy/keV << " keV" + // << std::endl; + // } + // ---- End debug --- + + delete aSecondary; + (*secondaryVector)[i] = 0; + } + } + } + } + } + } + + + // Save delta-electrons + + G4double eDeposit = 0.; + + if (finalKineticEnergy > MinKineticEnergy) + { + G4double finalPx = totalMomentum*particleDirection.x() - deltaTotalMomentum*deltaDirection.x(); + G4double finalPy = totalMomentum*particleDirection.y() - deltaTotalMomentum*deltaDirection.y(); + G4double finalPz = totalMomentum*particleDirection.z() - deltaTotalMomentum*deltaDirection.z(); + G4double finalMomentum = std::sqrt(finalPx*finalPx + finalPy*finalPy + finalPz*finalPz) ; + finalPx /= finalMomentum; + finalPy /= finalMomentum; + finalPz /= finalMomentum; + + aParticleChange.ProposeMomentumDirection( finalPx,finalPy,finalPz ); + } + else + { + eDeposit = finalKineticEnergy; + finalKineticEnergy = 0.; + aParticleChange.ProposeMomentumDirection(particleDirection.x(), + particleDirection.y(), + particleDirection.z()); + if(!aParticle->GetDefinition()->GetProcessManager()-> + GetAtRestProcessVector()->size()) + aParticleChange.ProposeTrackStatus(fStopAndKill); + else + aParticleChange.ProposeTrackStatus(fStopButAlive); + } + + aParticleChange.ProposeEnergy(finalKineticEnergy); + aParticleChange.ProposeLocalEnergyDeposit (eDeposit); + aParticleChange.SetNumberOfSecondaries(totalNumber); + aParticleChange.AddSecondary(deltaRay); + + // ---- Debug ---- + // std::cout << "RDHadronIonisation - finalKineticEnergy (MeV) = " + // << finalKineticEnergy/MeV + // << ", delta KineticEnergy (keV) = " + // << deltaKineticEnergy/keV + // << ", energy deposit (MeV) = " + // << eDeposit/MeV + // << std::endl; + // ---- End debug --- + + // Save Fluorescence and Auger + + if (secondaryVector != 0) + { + for (size_t l = 0; l < nSecondaries; l++) + { + G4DynamicParticle* secondary = (*secondaryVector)[l]; + if (secondary) aParticleChange.AddSecondary(secondary); + + // ---- Debug ---- + //if (secondary != 0) + // { + // if (secondary->GetDefinition() == G4Gamma::GammaDefinition()) + // { + // G4double eX = secondary->GetKineticEnergy(); + // std::cout << " PIXE photon of energy " << eX/keV + // << " keV added to ParticleChange; total number of secondaries is " << totalNumber + // << std::endl; + // } + //} + // ---- End debug --- + + } + delete secondaryVector; + } + + return G4VContinuousDiscreteProcess::PostStepDoIt(track,step); +} + +// ------------------------------------------------------------------------- + +G4double G4hImpactIonisation::ComputeDEDX(const G4ParticleDefinition* aParticle, + const G4MaterialCutsCouple* couple, + G4double kineticEnergy) +{ + const G4Material* material = couple->GetMaterial(); + G4Proton* proton = G4Proton::Proton(); + G4AntiProton* antiproton = G4AntiProton::AntiProton(); + G4double dedx = 0.; + + G4double tScaled = kineticEnergy * proton_mass_c2 / (aParticle->GetPDGMass()) ; + charge = aParticle->GetPDGCharge() ; + + if( charge > 0.) + { + if (tScaled > protonHighEnergy) + { + dedx = G4EnergyLossTables::GetDEDX(proton,tScaled,couple) ; + } + else + { + dedx = ProtonParametrisedDEDX(couple,tScaled) ; + } + } + else + { + if (tScaled > antiprotonHighEnergy) + { + dedx = G4EnergyLossTables::GetDEDX(antiproton,tScaled,couple); + } + else + { + dedx = AntiProtonParametrisedDEDX(couple,tScaled) ; + } + } + dedx *= theIonEffChargeModel->TheValue(aParticle, material, kineticEnergy) ; + + return dedx ; +} + + +G4double G4hImpactIonisation::BarkasTerm(const G4Material* material, + G4double kineticEnergy) const +//Function to compute the Barkas term for protons: +// +//Ref. Z_1^3 effect in the stopping power of matter for charged particles +// J.C Ashley and R.H.Ritchie +// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397 +// +{ + static double FTable[47][2] = { + { 0.02, 21.5}, + { 0.03, 20.0}, + { 0.04, 18.0}, + { 0.05, 15.6}, + { 0.06, 15.0}, + { 0.07, 14.0}, + { 0.08, 13.5}, + { 0.09, 13.}, + { 0.1, 12.2}, + { 0.2, 9.25}, + { 0.3, 7.0}, + { 0.4, 6.0}, + { 0.5, 4.5}, + { 0.6, 3.5}, + { 0.7, 3.0}, + { 0.8, 2.5}, + { 0.9, 2.0}, + { 1.0, 1.7}, + { 1.2, 1.2}, + { 1.3, 1.0}, + { 1.4, 0.86}, + { 1.5, 0.7}, + { 1.6, 0.61}, + { 1.7, 0.52}, + { 1.8, 0.5}, + { 1.9, 0.43}, + { 2.0, 0.42}, + { 2.1, 0.3}, + { 2.4, 0.2}, + { 3.0, 0.13}, + { 3.08, 0.1}, + { 3.1, 0.09}, + { 3.3, 0.08}, + { 3.5, 0.07}, + { 3.8, 0.06}, + { 4.0, 0.051}, + { 4.1, 0.04}, + { 4.8, 0.03}, + { 5.0, 0.024}, + { 5.1, 0.02}, + { 6.0, 0.013}, + { 6.5, 0.01}, + { 7.0, 0.009}, + { 7.1, 0.008}, + { 8.0, 0.006}, + { 9.0, 0.0032}, + { 10.0, 0.0025} }; + + // Information on particle and material + G4double kinE = kineticEnergy ; + if(0.5*MeV > kinE) kinE = 0.5*MeV ; + G4double gamma = 1.0 + kinE / proton_mass_c2 ; + G4double beta2 = 1.0 - 1.0/(gamma*gamma) ; + if(0.0 >= beta2) return 0.0; + + G4double BarkasTerm = 0.0; + G4double AMaterial = 0.0; + G4double ZMaterial = 0.0; + const G4ElementVector* theElementVector = material->GetElementVector(); + G4int numberOfElements = material->GetNumberOfElements(); + + for (G4int i = 0; iGetA()*mole/g; + ZMaterial = (*theElementVector)[i]->GetZ(); + + G4double X = 137.0 * 137.0 * beta2 / ZMaterial; + + // Variables to compute L_1 + G4double Eta0Chi = 0.8; + G4double EtaChi = Eta0Chi * ( 1.0 + 6.02*std::pow( ZMaterial,-1.19 ) ); + G4double W = ( EtaChi * std::pow( ZMaterial,1.0/6.0 ) ) / std::sqrt(X); + G4double FunctionOfW = FTable[46][1]*FTable[46][0]/W ; + + for(G4int j=0; j<47; j++) { + + if( W < FTable[j][0] ) { + + if(0 == j) { + FunctionOfW = FTable[0][1] ; + + } else { + FunctionOfW = (FTable[j][1] - FTable[j-1][1]) * (W - FTable[j-1][0]) + / (FTable[j][0] - FTable[j-1][0]) + + FTable[j-1][1] ; + } + + break; + } + + } + + BarkasTerm += FunctionOfW /( std::sqrt(ZMaterial * X) * X); + } + + BarkasTerm *= twopi_mc2_rcl2 * (material->GetElectronDensity()) / beta2 ; + + return BarkasTerm; +} + + + +G4double G4hImpactIonisation::BlochTerm(const G4Material* material, + G4double kineticEnergy, + G4double cSquare) const +//Function to compute the Bloch term for protons: +// +//Ref. Z_1^3 effect in the stopping power of matter for charged particles +// J.C Ashley and R.H.Ritchie +// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397 +// +{ + G4double eLoss = 0.0 ; + G4double gamma = 1.0 + kineticEnergy / proton_mass_c2 ; + G4double beta2 = 1.0 - 1.0/(gamma*gamma) ; + G4double y = cSquare / (137.0*137.0*beta2) ; + + if(y < 0.05) { + eLoss = 1.202 ; + + } else { + eLoss = 1.0 / (1.0 + y) ; + G4double de = eLoss ; + + for(G4int i=2; de>eLoss*0.01; i++) { + de = 1.0/( i * (i*i + y)) ; + eLoss += de ; + } + } + eLoss *= -1.0 * y * cSquare * twopi_mc2_rcl2 * + (material->GetElectronDensity()) / beta2 ; + + return eLoss; +} + + + +G4double G4hImpactIonisation::ElectronicLossFluctuation( + const G4DynamicParticle* particle, + const G4MaterialCutsCouple* couple, + G4double meanLoss, + G4double step) const +// calculate actual loss from the mean loss +// The model used to get the fluctuation is essentially the same +// as in Glandz in Geant3. +{ + // data members to speed up the fluctuation calculation + // G4int imat ; + // G4double f1Fluct,f2Fluct,e1Fluct,e2Fluct,rateFluct,ipotFluct; + // G4double e1LogFluct,e2LogFluct,ipotLogFluct; + + static const G4double minLoss = 1.*eV ; + static const G4double kappa = 10. ; + static const G4double theBohrBeta2 = 50.0 * keV/proton_mass_c2 ; + + const G4Material* material = couple->GetMaterial(); + G4int imaterial = couple->GetIndex() ; + G4double ipotFluct = material->GetIonisation()->GetMeanExcitationEnergy() ; + G4double electronDensity = material->GetElectronDensity() ; + G4double zeff = electronDensity/(material->GetTotNbOfAtomsPerVolume()) ; + + // get particle data + G4double tkin = particle->GetKineticEnergy(); + G4double particleMass = particle->GetMass() ; + G4double deltaCutInKineticEnergyNow = cutForDelta[imaterial]; + + // shortcut for very very small loss + if(meanLoss < minLoss) return meanLoss ; + + // Validity range for delta electron cross section + G4double threshold = std::max(deltaCutInKineticEnergyNow,ipotFluct); + G4double loss, siga; + + G4double rmass = electron_mass_c2/particleMass; + G4double tau = tkin/particleMass; + G4double tau1 = tau+1.0; + G4double tau2 = tau*(tau+2.); + G4double tMax = 2.*electron_mass_c2*tau2/(1.+2.*tau1*rmass+rmass*rmass); + + + if(tMax > threshold) tMax = threshold; + G4double beta2 = tau2/(tau1*tau1); + + // Gaussian fluctuation + if(meanLoss > kappa*tMax || tMax < kappa*ipotFluct ) + { + siga = tMax * (1.0-0.5*beta2) * step * twopi_mc2_rcl2 + * electronDensity / beta2 ; + + // High velocity or negatively charged particle + if( beta2 > 3.0*theBohrBeta2*zeff || charge < 0.0) { + siga = std::sqrt( siga * chargeSquare ) ; + + // Low velocity - additional ion charge fluctuations according to + // Q.Yang et al., NIM B61(1991)149-155. + } else { + G4double chu = theIonChuFluctuationModel->TheValue(particle, material); + G4double yang = theIonYangFluctuationModel->TheValue(particle, material); + siga = std::sqrt( siga * (chargeSquare * chu + yang)) ; + } + + do { + loss = G4RandGauss::shoot(meanLoss,siga); + } while (loss < 0. || loss > 2.0*meanLoss); + return loss; + } + + // Non Gaussian fluctuation + static const G4double probLim = 0.01 ; + static const G4double sumaLim = -std::log(probLim) ; + static const G4double alim = 10.; + + G4double suma,w1,w2,C,e0,lossc,w; + G4double a1,a2,a3; + G4int p1,p2,p3; + G4int nb; + G4double corrfac, na,alfa,rfac,namean,sa,alfa1,ea,sea; + G4double dp3; + + G4double f1Fluct = material->GetIonisation()->GetF1fluct(); + G4double f2Fluct = material->GetIonisation()->GetF2fluct(); + G4double e1Fluct = material->GetIonisation()->GetEnergy1fluct(); + G4double e2Fluct = material->GetIonisation()->GetEnergy2fluct(); + G4double e1LogFluct = material->GetIonisation()->GetLogEnergy1fluct(); + G4double e2LogFluct = material->GetIonisation()->GetLogEnergy2fluct(); + G4double rateFluct = material->GetIonisation()->GetRateionexcfluct(); + G4double ipotLogFluct= material->GetIonisation()->GetLogMeanExcEnergy(); + + w1 = tMax/ipotFluct; + w2 = std::log(2.*electron_mass_c2*tau2); + + C = meanLoss*(1.-rateFluct)/(w2-ipotLogFluct-beta2); + + a1 = C*f1Fluct*(w2-e1LogFluct-beta2)/e1Fluct; + a2 = C*f2Fluct*(w2-e2LogFluct-beta2)/e2Fluct; + a3 = rateFluct*meanLoss*(tMax-ipotFluct)/(ipotFluct*tMax*std::log(w1)); + if(a1 < 0.0) a1 = 0.0; + if(a2 < 0.0) a2 = 0.0; + if(a3 < 0.0) a3 = 0.0; + + suma = a1+a2+a3; + + loss = 0.; + + + if(suma < sumaLim) // very small Step + { + e0 = material->GetIonisation()->GetEnergy0fluct(); + + if(tMax == ipotFluct) + { + a3 = meanLoss/e0; + + if(a3>alim) + { + siga=std::sqrt(a3) ; + p3 = std::max(0,G4int(G4RandGauss::shoot(a3,siga)+0.5)); + } + else + p3 = G4Poisson(a3); + + loss = p3*e0 ; + + if(p3 > 0) + loss += (1.-2.*G4UniformRand())*e0 ; + + } + else + { + tMax = tMax-ipotFluct+e0 ; + a3 = meanLoss*(tMax-e0)/(tMax*e0*std::log(tMax/e0)); + + if(a3>alim) + { + siga=std::sqrt(a3) ; + p3 = std::max(0,int(G4RandGauss::shoot(a3,siga)+0.5)); + } + else + p3 = G4Poisson(a3); + + if(p3 > 0) + { + w = (tMax-e0)/tMax ; + if(p3 > nmaxCont2) + { + dp3 = G4float(p3) ; + corrfac = dp3/G4float(nmaxCont2) ; + p3 = nmaxCont2 ; + } + else + corrfac = 1. ; + + for(G4int i=0; ialim) + { + siga=std::sqrt(a1) ; + p1 = std::max(0,G4int(G4RandGauss::shoot(a1,siga)+0.5)); + } + else + p1 = G4Poisson(a1); + + // excitation type 2 + if(a2>alim) + { + siga=std::sqrt(a2) ; + p2 = std::max(0,G4int(G4RandGauss::shoot(a2,siga)+0.5)); + } + else + p2 = G4Poisson(a2); + + loss = p1*e1Fluct+p2*e2Fluct; + + // smearing to avoid unphysical peaks + if(p2 > 0) + loss += (1.-2.*G4UniformRand())*e2Fluct; + else if (loss>0.) + loss += (1.-2.*G4UniformRand())*e1Fluct; + + // ionisation ....................................... + if(a3 > 0.) + { + if(a3>alim) + { + siga=std::sqrt(a3) ; + p3 = std::max(0,G4int(G4RandGauss::shoot(a3,siga)+0.5)); + } + else + p3 = G4Poisson(a3); + + lossc = 0.; + if(p3 > 0) + { + na = 0.; + alfa = 1.; + if (p3 > nmaxCont2) + { + dp3 = G4float(p3); + rfac = dp3/(G4float(nmaxCont2)+dp3); + namean = G4float(p3)*rfac; + sa = G4float(nmaxCont1)*rfac; + na = G4RandGauss::shoot(namean,sa); + if (na > 0.) + { + alfa = w1*G4float(nmaxCont2+p3)/ + (w1*G4float(nmaxCont2)+G4float(p3)); + alfa1 = alfa*std::log(alfa)/(alfa-1.); + ea = na*ipotFluct*alfa1; + sea = ipotFluct*std::sqrt(na*(alfa-alfa1*alfa1)); + lossc += G4RandGauss::shoot(ea,sea); + } + } + + nb = G4int(G4float(p3)-na); + if (nb > 0) + { + w2 = alfa*ipotFluct; + w = (tMax-w2)/tMax; + for (G4int k=0; kGetTableSize(); + + // loop for materials + + for (size_t j=0 ; j < numOfCouples; j++) { + + const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(j); + const G4Material* material= couple->GetMaterial(); + G4double deltaCutNow = cutForDelta[(couple->GetIndex())] ; + G4double excitationEnergy = material->GetIonisation()->GetMeanExcitationEnergy(); + + if(excitationEnergy > deltaCutNow) { + if(printHead) { + printHead = false ; + + G4cout << " material min.delta energy(keV) " << G4endl; + G4cout << G4endl; + } + + G4cout << std::setw(20) << material->GetName() + << std::setw(15) << excitationEnergy/keV << G4endl; + } + } +} diff --git a/source/processes/electromagnetic/pii/src/G4hRDEnergyLoss.cc b/source/processes/electromagnetic/pii/src/G4hRDEnergyLoss.cc new file mode 100644 index 0000000000..2cbf33a36b --- /dev/null +++ b/source/processes/electromagnetic/pii/src/G4hRDEnergyLoss.cc @@ -0,0 +1,1175 @@ +// +// ******************************************************************** +// * 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: G4hRDEnergyLoss.cc,v 1.3 2010/11/25 19:49:43 pia Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ----------------------------------------------------------- +// GEANT 4 class implementation file +// +// History: based on object model of +// 2nd December 1995, G.Cosmo +// ---------- G4hEnergyLoss physics process ----------- +// by Laszlo Urban, 30 May 1997 +// +// ************************************************************** +// It is the first implementation of the NEW UNIFIED ENERGY LOSS PROCESS. +// It calculates the energy loss of charged hadrons. +// ************************************************************** +// +// 7/10/98 bug fixes + some cleanup , L.Urban +// 22/10/98 cleanup , L.Urban +// 07/12/98 works for ions as well+ bug corrected, L.Urban +// 02/02/99 several bugs fixed, L.Urban +// 31/03/00 rename to lowenergy as G4hRDEnergyLoss.cc V.Ivanchenko +// 05/11/00 new method to calculate particle ranges +// 10/05/01 V.Ivanchenko Clean up againist Linux compilation with -Wall +// 23/11/01 V.Ivanchenko Move static member-functions from header to source +// 28/10/02 V.Ivanchenko Optimal binning for dE/dx +// 21/01/03 V.Ivanchenko Cut per region +// 23/01/03 V.Ivanchenko Fix in table build + +// 31 Jul 2008 MGP Short term supply of energy loss of hadrons through clone of +// former G4hLowEnergyLoss (with some initial cleaning) +// To be replaced by reworked class to deal with condensed/discrete +// issues properly + +// 25 Nov 2010 MGP Added some protections for FPE (mostly division by 0) +// The whole energy loss domain would profit from a design iteration +// -------------------------------------------------------------- + +#include "G4hRDEnergyLoss.hh" +#include "G4EnergyLossTables.hh" +#include "G4Poisson.hh" +#include "G4ProductionCutsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +// Initialisation of static members ****************************************** +// contributing processes : ion.loss ->NumberOfProcesses is initialized +// to 1 . YOU DO NOT HAVE TO CHANGE this variable for a 'normal' run. +// You have to change NumberOfProcesses +// if you invent a new process contributing to the cont. energy loss, +// NumberOfProcesses should be 2 in this case, +// or for debugging purposes. +// The NumberOfProcesses data member can be changed using the (public static) +// functions Get/Set/Plus/MinusNumberOfProcesses (see G4hRDEnergyLoss.hh) + + +// The following vectors have a fixed dimension this means that if they are +// filled in with more than 100 elements will corrupt the memory. +G4int G4hRDEnergyLoss::NumberOfProcesses = 1 ; + +G4int G4hRDEnergyLoss::CounterOfProcess = 0 ; +G4PhysicsTable** G4hRDEnergyLoss::RecorderOfProcess = + new G4PhysicsTable*[100] ; + +G4int G4hRDEnergyLoss::CounterOfpProcess = 0 ; +G4PhysicsTable** G4hRDEnergyLoss::RecorderOfpProcess = + new G4PhysicsTable*[100] ; + +G4int G4hRDEnergyLoss::CounterOfpbarProcess = 0 ; +G4PhysicsTable** G4hRDEnergyLoss::RecorderOfpbarProcess = + new G4PhysicsTable*[100] ; + +G4PhysicsTable* G4hRDEnergyLoss::theDEDXpTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theDEDXpbarTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theRangepTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theRangepbarTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theInverseRangepTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theInverseRangepbarTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theLabTimepTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theLabTimepbarTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theProperTimepTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theProperTimepbarTable = 0 ; + +G4PhysicsTable* G4hRDEnergyLoss::thepRangeCoeffATable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::thepRangeCoeffBTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::thepRangeCoeffCTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::thepbarRangeCoeffATable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::thepbarRangeCoeffBTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::thepbarRangeCoeffCTable = 0 ; + +G4PhysicsTable* G4hRDEnergyLoss::theDEDXTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theRangeTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theInverseRangeTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theLabTimeTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theProperTimeTable = 0 ; + +G4PhysicsTable* G4hRDEnergyLoss::theRangeCoeffATable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theRangeCoeffBTable = 0 ; +G4PhysicsTable* G4hRDEnergyLoss::theRangeCoeffCTable = 0 ; + +//const G4Proton* G4hRDEnergyLoss::theProton=G4Proton::Proton() ; +//const G4AntiProton* G4hRDEnergyLoss::theAntiProton=G4AntiProton::AntiProton() ; + +G4double G4hRDEnergyLoss::ParticleMass; +G4double G4hRDEnergyLoss::ptableElectronCutInRange = 0.0*mm ; +G4double G4hRDEnergyLoss::pbartableElectronCutInRange = 0.0*mm ; + +G4double G4hRDEnergyLoss::Mass, + G4hRDEnergyLoss::taulow, + G4hRDEnergyLoss::tauhigh, + G4hRDEnergyLoss::ltaulow, + G4hRDEnergyLoss::ltauhigh; + +G4double G4hRDEnergyLoss::dRoverRange = 0.20 ; +G4double G4hRDEnergyLoss::finalRange = 200.*micrometer ; + +G4double G4hRDEnergyLoss::c1lim = dRoverRange ; +G4double G4hRDEnergyLoss::c2lim = 2.*(1.-dRoverRange)*finalRange ; +G4double G4hRDEnergyLoss::c3lim = -(1.-dRoverRange)*finalRange*finalRange; + +G4double G4hRDEnergyLoss::Charge ; + +G4bool G4hRDEnergyLoss::rndmStepFlag = false ; +G4bool G4hRDEnergyLoss::EnlossFlucFlag = true ; + +G4double G4hRDEnergyLoss::LowestKineticEnergy = 10.*eV; +G4double G4hRDEnergyLoss::HighestKineticEnergy= 100.*GeV; +G4int G4hRDEnergyLoss::TotBin = 360; +G4double G4hRDEnergyLoss::RTable,G4hRDEnergyLoss::LOGRTable; + +//-------------------------------------------------------------------------------- + +// constructor and destructor + +G4hRDEnergyLoss::G4hRDEnergyLoss(const G4String& processName) + : G4VContinuousDiscreteProcess (processName), + MaxExcitationNumber (1.e6), + probLimFluct (0.01), + nmaxDirectFluct (100), + nmaxCont1(4), + nmaxCont2(16), + theLossTable(0), + linLossLimit(0.05), + MinKineticEnergy(0.0) +{;} + +//-------------------------------------------------------------------------------- + +G4hRDEnergyLoss::~G4hRDEnergyLoss() +{ + if(theLossTable) { + theLossTable->clearAndDestroy(); + delete theLossTable; + } +} + +//-------------------------------------------------------------------------------- + +G4int G4hRDEnergyLoss::GetNumberOfProcesses() +{ + return NumberOfProcesses; +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::SetNumberOfProcesses(G4int number) +{ + NumberOfProcesses=number; +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::PlusNumberOfProcesses() +{ + NumberOfProcesses++; +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::MinusNumberOfProcesses() +{ + NumberOfProcesses--; +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::SetdRoverRange(G4double value) +{ + dRoverRange = value; +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::SetRndmStep (G4bool value) +{ + rndmStepFlag = value; +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::SetEnlossFluc (G4bool value) +{ + EnlossFlucFlag = value; +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::SetStepFunction (G4double c1, G4double c2) +{ + dRoverRange = c1; + finalRange = c2; + c1lim=dRoverRange; + c2lim=2.*(1-dRoverRange)*finalRange; + c3lim=-(1.-dRoverRange)*finalRange*finalRange; +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::BuildDEDXTable( + const G4ParticleDefinition& aParticleType) +{ + // calculate data members TotBin,LOGRTable,RTable first + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + // create/fill proton or antiproton tables depending on the charge + Charge = aParticleType.GetPDGCharge()/eplus; + ParticleMass = aParticleType.GetPDGMass() ; + + if (Charge>0.) {theDEDXTable= theDEDXpTable;} + else {theDEDXTable= theDEDXpbarTable;} + + if( ((Charge>0.) && (theDEDXTable==0)) || + ((Charge<0.) && (theDEDXTable==0)) + ) + { + + // Build energy loss table as a sum of the energy loss due to the + // different processes. + if( Charge >0.) + { + RecorderOfProcess=RecorderOfpProcess; + CounterOfProcess=CounterOfpProcess; + + if(CounterOfProcess == NumberOfProcesses) + { + if(theDEDXpTable) + { theDEDXpTable->clearAndDestroy(); + delete theDEDXpTable; } + theDEDXpTable = new G4PhysicsTable(numOfCouples); + theDEDXTable = theDEDXpTable; + } + } + else + { + RecorderOfProcess=RecorderOfpbarProcess; + CounterOfProcess=CounterOfpbarProcess; + + if(CounterOfProcess == NumberOfProcesses) + { + if(theDEDXpbarTable) + { theDEDXpbarTable->clearAndDestroy(); + delete theDEDXpbarTable; } + theDEDXpbarTable = new G4PhysicsTable(numOfCouples); + theDEDXTable = theDEDXpbarTable; + } + } + + if(CounterOfProcess == NumberOfProcesses) + { + // loop for materials + G4double LowEdgeEnergy , Value ; + G4bool isOutRange ; + G4PhysicsTable* pointer ; + + for (size_t J=0; JGetLowEdgeEnergy(i) ; + Value = 0. ; + + // loop for the contributing processes + for (G4int process=0; process < NumberOfProcesses; process++) + { + pointer= RecorderOfProcess[process]; + Value += (*pointer)[J]-> + GetValue(LowEdgeEnergy,isOutRange) ; + } + + aVector->PutValue(i,Value) ; + } + + theDEDXTable->insert(aVector) ; + } + + // reset counter to zero .................. + if( Charge >0.) + CounterOfpProcess=0 ; + else + CounterOfpbarProcess=0 ; + + // Build range table + BuildRangeTable( aParticleType); + + // Build lab/proper time tables + BuildTimeTables( aParticleType) ; + + // Build coeff tables for the energy loss calculation + BuildRangeCoeffATable( aParticleType); + BuildRangeCoeffBTable( aParticleType); + BuildRangeCoeffCTable( aParticleType); + + // invert the range table + + BuildInverseRangeTable(aParticleType); + } + } + // make the energy loss and the range table available + + G4EnergyLossTables::Register(&aParticleType, + (Charge>0)? + theDEDXpTable: theDEDXpbarTable, + (Charge>0)? + theRangepTable: theRangepbarTable, + (Charge>0)? + theInverseRangepTable: theInverseRangepbarTable, + (Charge>0)? + theLabTimepTable: theLabTimepbarTable, + (Charge>0)? + theProperTimepTable: theProperTimepbarTable, + LowestKineticEnergy, HighestKineticEnergy, + proton_mass_c2/aParticleType.GetPDGMass(), + TotBin); + +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::BuildRangeTable( + const G4ParticleDefinition& aParticleType) +// Build range table from the energy loss table +{ + Mass = aParticleType.GetPDGMass(); + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + if( Charge >0.) + { + if(theRangepTable) + { theRangepTable->clearAndDestroy(); + delete theRangepTable; } + theRangepTable = new G4PhysicsTable(numOfCouples); + theRangeTable = theRangepTable ; + } + else + { + if(theRangepbarTable) + { theRangepbarTable->clearAndDestroy(); + delete theRangepbarTable; } + theRangepbarTable = new G4PhysicsTable(numOfCouples); + theRangeTable = theRangepbarTable ; + } + + // loop for materials + + for (size_t J=0; Jinsert(aVector); + } +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::BuildTimeTables( + const G4ParticleDefinition& aParticleType) +{ + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + if(&aParticleType == G4Proton::Proton()) + { + if(theLabTimepTable) + { theLabTimepTable->clearAndDestroy(); + delete theLabTimepTable; } + theLabTimepTable = new G4PhysicsTable(numOfCouples); + theLabTimeTable = theLabTimepTable ; + + if(theProperTimepTable) + { theProperTimepTable->clearAndDestroy(); + delete theProperTimepTable; } + theProperTimepTable = new G4PhysicsTable(numOfCouples); + theProperTimeTable = theProperTimepTable ; + } + + if(&aParticleType == G4AntiProton::AntiProton()) + { + if(theLabTimepbarTable) + { theLabTimepbarTable->clearAndDestroy(); + delete theLabTimepbarTable; } + theLabTimepbarTable = new G4PhysicsTable(numOfCouples); + theLabTimeTable = theLabTimepbarTable ; + + if(theProperTimepbarTable) + { theProperTimepbarTable->clearAndDestroy(); + delete theProperTimepbarTable; } + theProperTimepbarTable = new G4PhysicsTable(numOfCouples); + theProperTimeTable = theProperTimepbarTable ; + } + + for (size_t J=0; Jinsert(aVector); + + bVector = new G4PhysicsLogVector(LowestKineticEnergy, + HighestKineticEnergy,TotBin); + + BuildProperTimeVector(J, bVector); + theProperTimeTable->insert(bVector); + } +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::BuildRangeVector(G4int materialIndex, + G4PhysicsLogVector* rangeVector) +// create range vector for a material +{ + G4bool isOut; + G4PhysicsVector* physicsVector= (*theDEDXTable)[materialIndex]; + G4double energy1 = rangeVector->GetLowEdgeEnergy(0); + G4double dedx = physicsVector->GetValue(energy1,isOut); + G4double range = 0.5*energy1/dedx; + rangeVector->PutValue(0,range); + G4int n = 100; + G4double del = 1.0/(G4double)n ; + + for (G4int j=1; jGetLowEdgeEnergy(j); + G4double de = (energy2 - energy1) * del ; + G4double dedx1 = dedx ; + + for (G4int i=1; iGetValue(energy,isOut); + range += 0.5*de*(1.0/dedx1 + 1.0/dedx2); + dedx1 = dedx2; + } + rangeVector->PutValue(j,range); + dedx = dedx1 ; + energy1 = energy2 ; + } +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::BuildLabTimeVector(G4int materialIndex, + G4PhysicsLogVector* timeVector) +// create lab time vector for a material +{ + + G4int nbin=100; + G4bool isOut; + G4double tlim=5.*keV,parlowen=0.4,ppar=0.5-parlowen ; + G4double losslim,clim,taulim,timelim,ltaulim,ltaumax, + LowEdgeEnergy,tau,Value ; + + G4PhysicsVector* physicsVector= (*theDEDXTable)[materialIndex]; + + // low energy part first... + losslim = physicsVector->GetValue(tlim,isOut); + taulim=tlim/ParticleMass ; + clim=std::sqrt(ParticleMass*tlim/2.)/(c_light*losslim*ppar) ; + ltaulim = std::log(taulim); + ltaumax = std::log(HighestKineticEnergy/ParticleMass) ; + + G4int i=-1; + G4double oldValue = 0. ; + G4double tauold ; + do + { + i += 1 ; + LowEdgeEnergy = timeVector->GetLowEdgeEnergy(i); + tau = LowEdgeEnergy/ParticleMass ; + if ( tau <= taulim ) + { + Value = clim*std::exp(ppar*std::log(tau/taulim)) ; + } + else + { + timelim=clim ; + ltaulow = std::log(taulim); + ltauhigh = std::log(tau); + Value = timelim+LabTimeIntLog(physicsVector,nbin); + } + timeVector->PutValue(i,Value); + oldValue = Value ; + tauold = tau ; + } while (tau<=taulim) ; + + i += 1 ; + for (G4int j=i; jGetLowEdgeEnergy(j); + tau = LowEdgeEnergy/ParticleMass ; + ltaulow = std::log(tauold); + ltauhigh = std::log(tau); + Value = oldValue+LabTimeIntLog(physicsVector,nbin); + timeVector->PutValue(j,Value); + oldValue = Value ; + tauold = tau ; + } +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::BuildProperTimeVector(G4int materialIndex, + G4PhysicsLogVector* timeVector) +// create proper time vector for a material +{ + G4int nbin=100; + G4bool isOut; + G4double tlim=5.*keV,parlowen=0.4,ppar=0.5-parlowen ; + G4double losslim,clim,taulim,timelim,ltaulim,ltaumax, + LowEdgeEnergy,tau,Value ; + + G4PhysicsVector* physicsVector= (*theDEDXTable)[materialIndex]; + + // low energy part first... + losslim = physicsVector->GetValue(tlim,isOut); + taulim=tlim/ParticleMass ; + clim=std::sqrt(ParticleMass*tlim/2.)/(c_light*losslim*ppar) ; + ltaulim = std::log(taulim); + ltaumax = std::log(HighestKineticEnergy/ParticleMass) ; + + G4int i=-1; + G4double oldValue = 0. ; + G4double tauold ; + do + { + i += 1 ; + LowEdgeEnergy = timeVector->GetLowEdgeEnergy(i); + tau = LowEdgeEnergy/ParticleMass ; + if ( tau <= taulim ) + { + Value = clim*std::exp(ppar*std::log(tau/taulim)) ; + } + else + { + timelim=clim ; + ltaulow = std::log(taulim); + ltauhigh = std::log(tau); + Value = timelim+ProperTimeIntLog(physicsVector,nbin); + } + timeVector->PutValue(i,Value); + oldValue = Value ; + tauold = tau ; + } while (tau<=taulim) ; + + i += 1 ; + for (G4int j=i; jGetLowEdgeEnergy(j); + tau = LowEdgeEnergy/ParticleMass ; + ltaulow = std::log(tauold); + ltauhigh = std::log(tau); + Value = oldValue+ProperTimeIntLog(physicsVector,nbin); + timeVector->PutValue(j,Value); + oldValue = Value ; + tauold = tau ; + } +} + +//-------------------------------------------------------------------------------- + +G4double G4hRDEnergyLoss::RangeIntLin(G4PhysicsVector* physicsVector, + G4int nbin) +// num. integration, linear binning +{ + G4double dtau,Value,taui,ti,lossi,ci; + G4bool isOut; + dtau = (tauhigh-taulow)/nbin; + Value = 0.; + + for (G4int i=0; i<=nbin; i++) + { + taui = taulow + dtau*i ; + ti = Mass*taui; + lossi = physicsVector->GetValue(ti,isOut); + if(i==0) + ci=0.5; + else + { + if(iGetValue(ti,isOut); + if(i==0) + ci=0.5; + else + { + if(iGetValue(ti,isOut); + if(i==0) + ci=0.5; + else + { + if(iGetValue(ti,isOut); + if(i==0) + ci=0.5; + else + { + if(iGetTableSize(); + + if(Charge>0.) + { + if(thepRangeCoeffATable) + { thepRangeCoeffATable->clearAndDestroy(); + delete thepRangeCoeffATable; } + thepRangeCoeffATable = new G4PhysicsTable(numOfCouples); + theRangeCoeffATable = thepRangeCoeffATable ; + theRangeTable = theRangepTable ; + } + else + { + if(thepbarRangeCoeffATable) + { thepbarRangeCoeffATable->clearAndDestroy(); + delete thepbarRangeCoeffATable; } + thepbarRangeCoeffATable = new G4PhysicsTable(numOfCouples); + theRangeCoeffATable = thepbarRangeCoeffATable ; + theRangeTable = theRangepbarTable ; + } + + G4double R2 = RTable*RTable ; + G4double R1 = RTable+1.; + G4double w = R1*(RTable-1.)*(RTable-1.); + G4double w1 = RTable/w , w2 = -RTable*R1/w , w3 = R2/w ; + G4double Ti , Tim , Tip , Ri , Rim , Rip , Value ; + G4bool isOut; + + // loop for materials + for (G4int J=0; JGetValue(Ti,isOut) ; + if (Ti < DBL_MIN) Ti = 1.e-8; + if ( i==0 ) + Rim = 0. ; + else + { + // ---- MGP ---- Modified to avoid a floating point exception + // The correction is just a temporary patch, the whole class should be redesigned + // Original: Tim = Ti/RTable results in 0./0. + if (RTable != 0.) + { + Tim = Ti/RTable ; + } + else + { + Tim = 0.; + } + Rim = rangeVector->GetValue(Tim,isOut); + } + if ( i==(TotBin-1)) + Rip = Ri ; + else + { + Tip = Ti*RTable ; + Rip = rangeVector->GetValue(Tip,isOut); + } + Value = (w1*Rip + w2*Ri + w3*Rim)/(Ti*Ti) ; + + aVector->PutValue(i,Value); + Ti = RTable*Ti ; + } + + theRangeCoeffATable->insert(aVector); + } +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::BuildRangeCoeffBTable( + const G4ParticleDefinition& ) +// Build tables of coefficients for the energy loss calculation +// create table for coefficients "B" +{ + + G4int numOfCouples = G4ProductionCutsTable::GetProductionCutsTable()->GetTableSize(); + + if(Charge>0.) + { + if(thepRangeCoeffBTable) + { thepRangeCoeffBTable->clearAndDestroy(); + delete thepRangeCoeffBTable; } + thepRangeCoeffBTable = new G4PhysicsTable(numOfCouples); + theRangeCoeffBTable = thepRangeCoeffBTable ; + theRangeTable = theRangepTable ; + } + else + { + if(thepbarRangeCoeffBTable) + { thepbarRangeCoeffBTable->clearAndDestroy(); + delete thepbarRangeCoeffBTable; } + thepbarRangeCoeffBTable = new G4PhysicsTable(numOfCouples); + theRangeCoeffBTable = thepbarRangeCoeffBTable ; + theRangeTable = theRangepbarTable ; + } + + G4double R2 = RTable*RTable ; + G4double R1 = RTable+1.; + G4double w = R1*(RTable-1.)*(RTable-1.); + if (w < DBL_MIN) w = DBL_MIN; + G4double w1 = -R1/w , w2 = R1*(R2+1.)/w , w3 = -R2*R1/w ; + G4double Ti , Tim , Tip , Ri , Rim , Rip , Value ; + G4bool isOut; + + // loop for materials + for (G4int J=0; JGetValue(Ti,isOut) ; + if (Ti < DBL_MIN) Ti = 1.e-8; + if ( i==0 ) + Rim = 0. ; + else + { + if (RTable < DBL_MIN) RTable = DBL_MIN; + Tim = Ti/RTable ; + Rim = rangeVector->GetValue(Tim,isOut); + } + if ( i==(TotBin-1)) + Rip = Ri ; + else + { + Tip = Ti*RTable ; + Rip = rangeVector->GetValue(Tip,isOut); + } + if (Ti < DBL_MIN) Ti = DBL_MIN; + Value = (w1*Rip + w2*Ri + w3*Rim)/Ti; + + aVector->PutValue(i,Value); + Ti = RTable*Ti ; + } + theRangeCoeffBTable->insert(aVector); + } +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::BuildRangeCoeffCTable( + const G4ParticleDefinition& ) +// Build tables of coefficients for the energy loss calculation +// create table for coefficients "C" +{ + + G4int numOfCouples = G4ProductionCutsTable::GetProductionCutsTable()->GetTableSize(); + + if(Charge>0.) + { + if(thepRangeCoeffCTable) + { thepRangeCoeffCTable->clearAndDestroy(); + delete thepRangeCoeffCTable; } + thepRangeCoeffCTable = new G4PhysicsTable(numOfCouples); + theRangeCoeffCTable = thepRangeCoeffCTable ; + theRangeTable = theRangepTable ; + } + else + { + if(thepbarRangeCoeffCTable) + { thepbarRangeCoeffCTable->clearAndDestroy(); + delete thepbarRangeCoeffCTable; } + thepbarRangeCoeffCTable = new G4PhysicsTable(numOfCouples); + theRangeCoeffCTable = thepbarRangeCoeffCTable ; + theRangeTable = theRangepbarTable ; + } + + G4double R2 = RTable*RTable ; + G4double R1 = RTable+1.; + G4double w = R1*(RTable-1.)*(RTable-1.); + G4double w1 = 1./w , w2 = -RTable*R1/w , w3 = RTable*R2/w ; + G4double Ti , Tim , Tip , Ri , Rim , Rip , Value ; + G4bool isOut; + + // loop for materials + for (G4int J=0; JGetValue(Ti,isOut) ; + if ( i==0 ) + Rim = 0. ; + else + { + Tim = Ti/RTable ; + Rim = rangeVector->GetValue(Tim,isOut); + } + if ( i==(TotBin-1)) + Rip = Ri ; + else + { + Tip = Ti*RTable ; + Rip = rangeVector->GetValue(Tip,isOut); + } + Value = w1*Rip + w2*Ri + w3*Rim ; + + aVector->PutValue(i,Value); + Ti = RTable*Ti ; + } + theRangeCoeffCTable->insert(aVector); + } +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::BuildInverseRangeTable( + const G4ParticleDefinition& aParticleType) +// Build inverse table of the range table +{ + G4bool b; + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + if(&aParticleType == G4Proton::Proton()) + { + if(theInverseRangepTable) + { theInverseRangepTable->clearAndDestroy(); + delete theInverseRangepTable; } + theInverseRangepTable = new G4PhysicsTable(numOfCouples); + theInverseRangeTable = theInverseRangepTable ; + theRangeTable = theRangepTable ; + theDEDXTable = theDEDXpTable ; + theRangeCoeffATable = thepRangeCoeffATable ; + theRangeCoeffBTable = thepRangeCoeffBTable ; + theRangeCoeffCTable = thepRangeCoeffCTable ; + } + + if(&aParticleType == G4AntiProton::AntiProton()) + { + if(theInverseRangepbarTable) + { theInverseRangepbarTable->clearAndDestroy(); + delete theInverseRangepbarTable; } + theInverseRangepbarTable = new G4PhysicsTable(numOfCouples); + theInverseRangeTable = theInverseRangepbarTable ; + theRangeTable = theRangepbarTable ; + theDEDXTable = theDEDXpbarTable ; + theRangeCoeffATable = thepbarRangeCoeffATable ; + theRangeCoeffBTable = thepbarRangeCoeffBTable ; + theRangeCoeffCTable = thepbarRangeCoeffCTable ; + } + + // loop for materials + for (size_t i=0; iGetVectorLength(); + G4double elow = pv->GetLowEdgeEnergy(0); + G4double ehigh = pv->GetLowEdgeEnergy(nbins-1); + G4double rlow = pv->GetValue(elow, b); + G4double rhigh = pv->GetValue(ehigh, b); + + if (rlow 1.e16) rhigh = 1.e16; + if (rhigh < 1.e-8) rhigh =1.e-8; + G4double tmpTrick = rhigh/rlow; + + //std::cout << nbins << ", elow " << elow << ", ehigh " << ehigh + // << ", rlow " << rlow << ", rhigh " << rhigh << ", trick " << tmpTrick << std::endl; + + if (tmpTrick <= 0. || tmpTrick < DBL_MIN) tmpTrick = 1.e-8; + if (tmpTrick > 1.e16) tmpTrick = 1.e16; + + rhigh *= std::exp(std::log(tmpTrick)/((G4double)(nbins-1))); + + G4PhysicsLogVector* v = new G4PhysicsLogVector(rlow, rhigh, nbins); + + v->PutValue(0,elow); + G4double energy1 = elow; + G4double range1 = rlow; + G4double energy2 = elow; + G4double range2 = rlow; + size_t ilow = 0; + size_t ihigh; + + for (size_t j=1; jGetLowEdgeEnergy(j); + + for (ihigh=ilow+1; ihighGetLowEdgeEnergy(ihigh); + range2 = pv->GetValue(energy2, b); + if(range2 >= range || ihigh == nbins-1) { + ilow = ihigh - 1; + energy1 = pv->GetLowEdgeEnergy(ilow); + range1 = pv->GetValue(energy1, b); + break; + } + } + + G4double e = std::log(energy1) + std::log(energy2/energy1)*std::log(range/range1)/std::log(range2/range1); + + v->PutValue(j,std::exp(e)); + } + theInverseRangeTable->insert(v); + + } +} + +//-------------------------------------------------------------------------------- + +void G4hRDEnergyLoss::InvertRangeVector(G4int materialIndex, + G4PhysicsLogVector* aVector) +// invert range vector for a material +{ + G4double LowEdgeRange,A,B,C,discr,KineticEnergy ; + G4double Tbin = LowestKineticEnergy/RTable ; + G4double rangebin = 0.0 ; + G4int binnumber = -1 ; + G4bool isOut ; + + + //loop for range values + for( G4int i=0; iGetLowEdgeEnergy(i) ; //i.e. GetLowEdgeValue(i) + + if( rangebin < LowEdgeRange ) + { + do + { + binnumber += 1 ; + Tbin *= RTable ; + rangebin = (*theRangeTable)(materialIndex)->GetValue(Tbin,isOut) ; + } + while ((rangebin < LowEdgeRange) && (binnumber < TotBin )) ; + } + + if(binnumber == 0) + KineticEnergy = LowestKineticEnergy ; + else if(binnumber == TotBin-1) + KineticEnergy = HighestKineticEnergy ; + else + { + A = (*(*theRangeCoeffATable)(materialIndex))(binnumber-1) ; + B = (*(*theRangeCoeffBTable)(materialIndex))(binnumber-1) ; + C = (*(*theRangeCoeffCTable)(materialIndex))(binnumber-1) ; + if(A==0.) + KineticEnergy = (LowEdgeRange -C )/B ; + else + { + discr = B*B - 4.*A*(C-LowEdgeRange); + discr = discr>0. ? std::sqrt(discr) : 0.; + KineticEnergy = 0.5*(discr-B)/A ; + } + } + + aVector->PutValue(i,KineticEnergy) ; + } +} + +//------------------------------------------------------------------------------ + +G4bool G4hRDEnergyLoss::CutsWhereModified() +{ + G4bool wasModified = false; + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + for (size_t j=0; jGetMaterialCutsCouple(j)->IsRecalcNeeded()) { + wasModified = true; + break; + } + } + return wasModified; +} + +//----------------------------------------------------------------------- +//--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- + +//G4bool G4hRDEnergyLoss::IsApplicable(const G4ParticleDefinition& +// particle) +//{ +// return((particle.GetPDGCharge()!= 0.) && (particle.GetLeptonNumber() == 0)); +//} + +//G4double G4hRDEnergyLoss::GetContinuousStepLimit( +// const G4Track& track, +// G4double, +// G4double currentMinimumStep, +// G4double&) +//{ +// +// G4double Step = +// GetConstraints(track.GetDynamicParticle(),track.GetMaterial()) ; +// +// if((Step>0.0)&&(StepSetLowEnergyLimit(100*eV); - emModel->SetHighEnergyLimit(100*TeV); + emModel->SetLowEnergyLimit(MinKinEnergy()); + emModel->SetHighEnergyLimit(MaxKinEnergy()); AddEmModel(1, emModel, flucModel); isInitialised = true; @@ -276,8 +276,9 @@ void G4ePolarizedIonisation::BuildPhysicsTable(const G4ParticleDefinition& part) //create physics vectors then fill it (same parameters as lambda vector) G4PhysicsVector * ptrVectorA = LambdaPhysicsVector(couple,cut); G4PhysicsVector * ptrVectorB = LambdaPhysicsVector(couple,cut); + size_t nBins = ptrVectorA->GetVectorLength(); - for (size_t i = 0 ; i < numBinAsymmetryTable ; i++ ) { + for (size_t i = 0 ; i < nBins ; i++ ) { G4double lowEdgeEnergy = ptrVectorA->GetLowEdgeEnergy(i); G4double tasm=0.; G4double asym = ComputeAsymmetry(lowEdgeEnergy, couple, part, cut, tasm); diff --git a/source/processes/electromagnetic/standard/CMakeLists.txt b/source/processes/electromagnetic/standard/CMakeLists.txt new file mode 100644 index 0000000000..c1d403ecc4 --- /dev/null +++ b/source/processes/electromagnetic/standard/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4emstandard +# Package: Geant4.src.G4processes.G4electromagnetic.G4emstandard +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:53:57 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/electromagnetic/standard/History b/source/processes/electromagnetic/standard/History index 5aa8de071d..2603fc37fa 100644 --- a/source/processes/electromagnetic/standard/History +++ b/source/processes/electromagnetic/standard/History @@ -1,4 +1,4 @@ -$Id: History,v 1.480 2009/12/03 17:28:28 vnivanch Exp $ +$Id: History,v 1.523 2010/11/29 15:30:05 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,180 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +29 November 2010: V.Ivant (emstand-V09-03-31) +- G4IonCoulombScatteringModel, G4IonCoulombCrossSection - C.Consolandi + added extra screening factor for low-energy heavy ions. + +23 November 2010: V.Ivant (emstand-V09-03-30) +- G4PAIModel, G4PAIySection - V.Grichine fix of a bug in G4_Ar + +21 November 2010: V.Ivant (emstand-V09-03-29) +- G4PEEffectFluoModel, G4KleinNishinaModel - fixed energy balance + +17 November 2010: V.Ivant (emstand-V09-03-28) +- G4ICRU73QOModel (A.Bagulya) - fine tuning for 9.4, low limit is + reduced from 10 keV to 5 keV + +13 November 2010: V.Ivant (emstand-V09-03-27) +- G4UrbanMscModel90, G4UrbanMscModel92, G4UrbanMscModel93 - added + warning messages; +- G4WentzelOKandVIxSection - fixed computation of nuclear formfactor +- G4eCoulombScatteringModel - fixed computation of nuclear recoil + +12 November 2010: V.Ivant (emstand-V09-03-26) +- G4IonCoulombCrossSection and G4IonCoulombScatteringModel - + new model of single scattering of ions (C.Consolandi) +- G4BetheBlochModel - Shell corrections factor according to ICRU'49 + (returned back to version of 9.3) +- G4WentzelVIModel - added usage of geometry factor and the option + UseDistanceToBoundary; + +04 November 2010: V.Ivant (emstand-V09-03-25) +- Fixed warnings of the Coverity tool (pedantic initialisation); + +26 October 2010: V.Ivant (emstand-V09-03-24) +- Fixed problem reported by the Coverity tool (mainly pedantic + initialisation); +- G4BetheHeitlerModel, G4PairProductionRelModel - removed unused + internal table of cross section +- G4WaterStopping - fixed bug in index of data for Fe ion + +14 October 2010: V.Ivant (emstand-V09-03-23) +- G4ModifiedTsai - added (moved from lowenergy) +- G4PairProductionRelModel, G4eBremsstrahlungRelModel - return back + the version of 9.4beta (disable tag 21); use general interface + to sample polar angular distribution (G4ModifiedTsai - default) + +28 September 2010: V.Ivant (emstand-V09-03-22) +- G4ionIonisation, G4alphaIonisation - removed obsolete nuclear stopping + flag and Get/Set methods (nuclear stopping is simulated by the + dedicated G4NuclearStopping process) + +12 September 2010: V.Ivant (emstand-V09-03-21) +- G4BetheBlochModel - fixed shell corrections +- G4PairProductionRelModel, G4eBremsstrahlungRelModel - fixed + SetCurrentElement method, fix is important for unit tests + +12 August 2010: V.Ivant (emstand-V09-03-20) +- G4UniversalFluctuation - L.Urban revision of width correction + providing better results for thin targets and a good tail + +14 June 2010: V.Ivant (emstand-V09-03-19) +- G4UniversalFluctuation93 new class keeping version of the release 9.3 + for the G4UniversalFluctuation +- G4UniversalFluctuation - improved comments + +11 June 2010: V.Ivant (emstand-V09-03-18) +- G4UniversalFluctuation - L.Urban fixed anomaly at the tail of + distribution for thin targets + +4 June 2010: V.Ivant (emstand-V09-03-17) +- G4ICRU73QOModel - fixed problems and add factor for transition to + Bethe-Bloch at 2 MeV +- G4hIonisation - use G4ICRU73QOModel for negatively charged particles + below 2 MeV +- G4BraggModel - above 2 MeV use ICRU'49 parameterisation for all atoms + +June 3, 2010, V. Grichine +- G4PAIModel.cc, G4PAIPhotonModel.cc cout for the model initialisation + +1 June 2010: V.Ivant (emstand-V09-03-16) +- G4WentzelOKandVIxSection - optimized computation of the transport + cross section +- G4WentzelVIModel - optimized method of step limitation + +27 May 2010: V.Ivant (emstand-V09-03-15) +- G4BraggIonGasModel, G4BetheBlochIonGasModel - new ionisation models + for low density media +- G4ICRU73QOModel (A.Bagulya) new model for anti-particles +- G4hIonisation - use G4ICRU73QOModel for anti-particles +- G4WentzelOKandVIxSection - new class to compute cross sections and + sample scattering angle +- G4WentzelVIModel, G4eCoulombScatteringModel, G4CoulombScatteringModel + use new class G4WentzelOKandVIxSection + +20 May 2010: V.Ivant (emstand-V09-03-14) +- G4UrbanMscModel93 - L.Urban removed randomisation of step limit for the + first step in any volume in the case of UseSafety +- Removed obsolete models: G4UrbanMscModel, G4UrbanMscModel2, G4UrbanMscModel71, + G4MultipleScattering, G4ComptonScattering52, G4PolarizedComptonScattering + +17 May 2010: V.Ivant (emstand-V09-03-13) +- G4WentzelVIModel, G4eCoulombScatteringModel - added momentum dependent + limit of scattering angle between single and multiple scattering + which allowing to use G4WentzelVIModel with optical model + of hadron scattering + +17 May 2010: V.Ivant (emstand-V09-03-12) +- G4GoudsmitSaundersonMscModel, G4GoudsmitSaundersonTable (O.Kadri) - + optimized code to improve speed by addition extra class members + +30 April 2010: V.Ivant (emstand-V09-03-11) +- G4UrbanMscModel93 - L.Urban add randomisation of step limit for the + first step in any volume + +28 April 2010: V.Ivant (emstand-V09-03-10) +G4eBremsstrahlungModel - fixed SelectRandomAtom method (bug report #1115) + +26 April 2010: V.Ivant (emstand-V09-03-09) +- G4ASTARStopping, G4PSTARTStopping - C-arrays sustituted by G4PhysicsVector + with spline; reviewed names of materials (G4_He, G4_PHOTO_EMULSION, + G4_NYLON-6-6) +- G4ASTARStopping - fixed G4_O data +- G4PSTARStopping - fixed G4_Pt and G4_PROPANE data +- G4WaterStopping - cleanup GetElectronicDEDX method + +16 April 2010: V.Ivant (emstand-V09-03-08) +- G4GoudsmitSaundersonMscModel (O.Kadri) - improved numerical stability + of computations for small angles by direct xsection calculation + not inverse of the inverse angular sampling without large angle + rejection method longitudinal displacement is computed exactly + from +- G4GoudsmitSaundersonTable (O.Kadri) - improved numerical stability by + minimum of used arrays in computation within the dichotomy + finding method +- G4eMultipleScattering, G4hMultipleScattering - improved printout at + initialisation + +15 April 2010: V.Ivant (emstand-V09-03-07) +- G4hMultipleScattering - removed old unused header of G4UrbanMscModel +- G4ASTARStopping.cc - disabled corrupted data for Oxygen + +06 April 2010: V.Ivant (emstand-V09-03-06) +- G4eBremsstrahlungRelModel, G4MollerBhabhaModel - set minimum cut + value to 0.1 keV + +30 March 2010: V.Ivant (emstand-V09-03-05) +- G4PolarizedComptonScattering - add message that this process is obsolete + +22 March 2010: V.Ivant (emstand-V09-03-04) +- G4eBremsstrahlungModel - reduced minThreshold to 0.1 keV +- G4MollerBhabhaModel - reduced minimum cut value to mean ionisation + potential + +01 March 2010: V.Ivant (emstand-V09-03-03) +- G4WentzelVIModel - added protections, added DefineMaterial() call + before computing cross section + +31 March 2010: V.Ivant (emstand-V09-03-02a) +- G4PolarizedComptonScattering - add message that this process is obsolete +- G4eCoulombScatteringModel - returned method default value 100 eV of 9.3 for + internal low limit + +24 February 2010: V.Ivant (emstand-V09-03-02) +- make a tag co-working with emutils-V09-03-02 + +19 February 2010: V.Ivant (emstand-V09-03-01) +- G4GoudsmitSaundersonMscModel, G4GoudsmitSaundersonTable (O.Kadri) + - fixed problems of small angle theta distributions + +17 February 2010: V.Ivant (emstand-V09-03-00) +- G4CoulombScatteringModel - Added comments to relativistic formula +- G4eCoulombScatteringModel - Added method SetLowEnergyLimit, default + value is set to 1 eV (before was 100 eV) +- G4CoulombScattering - Removed inclined method SetBuildTableFlag because + the method exist in the base class + 03 December 09: V.Ivant (emstand-V09-02-36) - G4BetheBlochModel - (A.Lechner) return back commented out CorrectionAlongStep method, returning back to normal ion ranges diff --git a/source/processes/electromagnetic/standard/include/G4ASTARStopping.hh b/source/processes/electromagnetic/standard/include/G4ASTARStopping.hh index 47706cd8ba..4a7067c55b 100644 --- a/source/processes/electromagnetic/standard/include/G4ASTARStopping.hh +++ b/source/processes/electromagnetic/standard/include/G4ASTARStopping.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ASTARStopping.hh,v 1.6 2008/11/13 12:04:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ASTARStopping.hh,v 1.8 2010/04/26 17:22:08 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ #ifndef G4ASTARStopping_h #define G4ASTARStopping_h 1 @@ -54,6 +54,8 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "globals.hh" +#include "G4LPhysicsFreeVector.hh" +#include class G4Material; @@ -75,16 +77,18 @@ private: void Initialise(); + void AddData(G4double* e, G4double* s, G4int idx); + // hide assignment operator G4ASTARStopping & operator=(const G4ASTARStopping &right); G4ASTARStopping(const G4ASTARStopping&); + G4int matIndex; const G4Material* currentMaterial; - G4int index, matIndex; - G4String name[74]; - G4double currentE, res; - G4double e[74][78], kinE[78]; - G4double effZ[74]; + G4double emin; + std::vector name; + std::vector effZ; + std::vector sdata; }; inline G4double G4ASTARStopping::GetElectronicDEDX(const G4Material* mat, @@ -96,6 +100,6 @@ inline G4double G4ASTARStopping::GetElectronicDEDX(const G4Material* mat, inline G4double G4ASTARStopping::GetEffectiveZ(G4int idx) { return effZ[idx]; -} +} #endif diff --git a/source/processes/electromagnetic/standard/include/G4BetheBlochIonGasModel.hh b/source/processes/electromagnetic/standard/include/G4BetheBlochIonGasModel.hh new file mode 100644 index 0000000000..c04926fa65 --- /dev/null +++ b/source/processes/electromagnetic/standard/include/G4BetheBlochIonGasModel.hh @@ -0,0 +1,81 @@ +// +// ******************************************************************** +// * 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: G4BetheBlochIonGasModel.hh,v 1.1 2010/05/27 10:34:09 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4BetheBlochIonGasModel +// +// Author: Vladimir Ivanchenko +// +// Creation date: 20.05.2010 +// +// Modifications: +// +// Class Description: +// +// Implementation of Bethe-Bloch model energy loss and delta-electron production +// by heavy positive partially stripted ion. Effective charge is not used, +// dynamic charge should be sampled by a dedicated charge exchange process + +// ------------------------------------------------------------------- +// + +#ifndef G4BetheBlochIonGasModel_h +#define G4BetheBlochIonGasModel_h 1 + +#include "G4BetheBlochModel.hh" + +class G4BetheBlochIonGasModel : public G4BetheBlochModel +{ + +public: + + G4BetheBlochIonGasModel(const G4ParticleDefinition* p = 0, + const G4String& nam = "BetheBlochGasIon"); + + virtual ~G4BetheBlochIonGasModel(); + + virtual G4double ChargeSquareRatio(const G4Track& track); + + virtual G4double GetParticleCharge(const G4ParticleDefinition* p, + const G4Material* mat, + G4double kineticEnergy); + +private: + + // hide assignment operator + G4BetheBlochIonGasModel & operator=(const G4BetheBlochIonGasModel &right); + G4BetheBlochIonGasModel(const G4BetheBlochIonGasModel&); + + G4double currentCharge; +}; + +#endif diff --git a/source/processes/electromagnetic/standard/include/G4BetheBlochModel.hh b/source/processes/electromagnetic/standard/include/G4BetheBlochModel.hh index 1f9e859f06..164e96130e 100644 --- a/source/processes/electromagnetic/standard/include/G4BetheBlochModel.hh +++ b/source/processes/electromagnetic/standard/include/G4BetheBlochModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BetheBlochModel.hh,v 1.20 2009/04/23 17:44:43 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BetheBlochModel.hh,v 1.23 2010/05/27 14:26:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -115,10 +115,10 @@ public: const G4Material* mat, G4double kineticEnergy); - virtual void CorrectionsAlongStep(const G4MaterialCutsCouple*, - const G4DynamicParticle*, + virtual void CorrectionsAlongStep(const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, G4double& eloss, - G4double& niel, + G4double&, G4double length); virtual void SampleSecondaries(std::vector*, @@ -132,9 +132,13 @@ protected: virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*, G4double kinEnergy); + inline G4double GetChargeSquareRatio() const; + + inline void SetChargeSquareRatio(G4double val); + private: - inline void SetupParameters(); + void SetupParameters(); inline void SetParticle(const G4ParticleDefinition* p); @@ -168,35 +172,12 @@ private: //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4BetheBlochModel::SetupParameters() -{ - mass = particle->GetPDGMass(); - spin = particle->GetPDGSpin(); - G4double q = particle->GetPDGCharge()/eplus; - chargeSquare = q*q; - ratio = electron_mass_c2/mass; - G4double magmom = particle->GetPDGMagneticMoment()*mass/(0.5*eplus*hbar_Planck*c_squared); - magMoment2 = magmom*magmom - 1.0; - formfact = 0.0; - if(particle->GetLeptonNumber() == 0) { - G4double x = 0.8426*GeV; - if(spin == 0.0 && mass < GeV) {x = 0.736*GeV;} - else if(mass > GeV) { - x /= nist->GetZ13(mass/proton_mass_c2); - // tlimit = 51.2*GeV*A13[iz]*A13[iz]; - } - formfact = 2.0*electron_mass_c2/(x*x); - tlimit = 2.0/formfact; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - inline void G4BetheBlochModel::SetParticle(const G4ParticleDefinition* p) { if(particle != p) { particle = p; - if (p->GetPDGCharge()/eplus > 1.5 && p->GetBaryonNumber() > 2) isIon = true; + if (p->GetPDGCharge()/eplus > 1.5 && p->GetBaryonNumber() > 2) + { isIon = true; } SetupParameters(); } } @@ -205,9 +186,25 @@ inline void G4BetheBlochModel::SetParticle(const G4ParticleDefinition* p) inline void G4BetheBlochModel::SetGenericIon(const G4ParticleDefinition* p) { - if(p && particle != p) { - if(p->GetParticleName() == "GenericIon") isIon = true; + if(p && particle != p) { + if(p->GetParticleName() == "GenericIon") { isIon = true; } } } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4BetheBlochModel::GetChargeSquareRatio() const +{ + return chargeSquare; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4BetheBlochModel::SetChargeSquareRatio(G4double val) +{ + chargeSquare = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + #endif diff --git a/source/processes/electromagnetic/standard/include/G4BetheHeitlerModel.hh b/source/processes/electromagnetic/standard/include/G4BetheHeitlerModel.hh index 0b417d9b26..2839de8d61 100644 --- a/source/processes/electromagnetic/standard/include/G4BetheHeitlerModel.hh +++ b/source/processes/electromagnetic/standard/include/G4BetheHeitlerModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BetheHeitlerModel.hh,v 1.6 2007/05/22 17:34:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BetheHeitlerModel.hh,v 1.9 2010/10/26 10:35:22 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -62,7 +62,7 @@ class G4BetheHeitlerModel : public G4VEmModel public: G4BetheHeitlerModel(const G4ParticleDefinition* p = 0, - const G4String& nam = "Bethe-Heitler"); + const G4String& nam = "BetheHeitler"); virtual ~G4BetheHeitlerModel(); @@ -96,14 +96,6 @@ private: G4ParticleDefinition* theElectron; G4ParticleDefinition* thePositron; G4ParticleChangeForGamma* fParticleChange; - G4PhysicsTable* theCrossSectionTable; - - G4double lowGammaEnergy; - G4double highGammaEnergy; - - G4int nbins; - size_t indexZ[120]; - }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/include/G4BraggIonGasModel.hh b/source/processes/electromagnetic/standard/include/G4BraggIonGasModel.hh new file mode 100644 index 0000000000..845673d100 --- /dev/null +++ b/source/processes/electromagnetic/standard/include/G4BraggIonGasModel.hh @@ -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: G4BraggIonGasModel.hh,v 1.1 2010/05/27 10:34:09 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4BraggIonGasModel +// +// Author: Vladimir Ivanchenko +// +// Creation date: 20.05.2010 +// +// Modifications: +// +// Class Description: +// +// Implementation of energy loss using and delta-electron production +// by heavy positive partially stripted ion using G4BraggModel. Effective +// charge of ion is not used, dynamic charge should be sampled by a +// dedicated charge exchange process +// + +// ------------------------------------------------------------------- +// + +#ifndef G4BraggIonGasModel_h +#define G4BraggIonGasModel_h 1 + +#include "G4BraggModel.hh" + +class G4BraggIonGasModel : public G4BraggModel +{ + +public: + + G4BraggIonGasModel(const G4ParticleDefinition* p = 0, + const G4String& nam = "BraggIonGas"); + + virtual ~G4BraggIonGasModel(); + + // Access ion effective charge square ratio to unit charge + virtual G4double ChargeSquareRatio(const G4Track&); + + // Access ion effective charge + virtual G4double GetParticleCharge(const G4ParticleDefinition*, + const G4Material* mat, + G4double kineticEnergy); + +private: + + // hide assignment operator + G4BraggIonGasModel & operator=(const G4BraggIonGasModel &right); + G4BraggIonGasModel(const G4BraggIonGasModel&); + + G4double currentCharge; +}; + +#endif diff --git a/source/processes/electromagnetic/standard/include/G4BraggModel.hh b/source/processes/electromagnetic/standard/include/G4BraggModel.hh index 2782f360b8..d8e39b5dee 100644 --- a/source/processes/electromagnetic/standard/include/G4BraggModel.hh +++ b/source/processes/electromagnetic/standard/include/G4BraggModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BraggModel.hh,v 1.14 2009/11/10 19:25:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BraggModel.hh,v 1.15 2010/05/27 10:08:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -120,20 +120,16 @@ public: virtual G4double GetParticleCharge(const G4ParticleDefinition* p, const G4Material* mat, G4double kineticEnergy); - /* - // add correction to energy loss and compute non-ionizing energy loss - virtual void CorrectionsAlongStep(const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double& eloss, - G4double& niel, - G4double length); - */ protected: virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*, G4double kinEnergy); + inline G4double GetChargeSquareRatio() const; + + inline void SetChargeSquareRatio(G4double val); + private: inline void SetParticle(const G4ParticleDefinition* p); @@ -196,6 +192,16 @@ inline void G4BraggModel::SetParticle(const G4ParticleDefinition* p) ratio = electron_mass_c2/mass; } +inline G4double G4BraggModel::GetChargeSquareRatio() const +{ + return chargeSquare; +} + +inline void G4BraggModel::SetChargeSquareRatio(G4double val) +{ + chargeSquare = val; +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/standard/include/G4ComptonScattering52.hh b/source/processes/electromagnetic/standard/include/G4ComptonScattering52.hh deleted file mode 100644 index 53b6650c63..0000000000 --- a/source/processes/electromagnetic/standard/include/G4ComptonScattering52.hh +++ /dev/null @@ -1,162 +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: G4ComptonScattering52.hh,v 1.4 2007/05/16 14:00:56 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -//------------------ G4ComptonScattering52 physics process ----------------------- -// by Michel Maire, April 1996 -// -// 10-06-96, updated by M.Maire -// 21-06-96, SetCuts implementation, M.Maire -// 06-01-97, crossection table + meanfreepath table, M.Maire -// 17-02-97, New Physics scheme -// 25-02-97, GetMeanFreePath() now is public function -// 12-03-97, new physics scheme again -// 13-08-98, new methods SetBining() PrintInfo() -// 03-08-01, new methods Store/Retrieve PhysicsTable (mma) -// 06-08-01, BuildThePhysicsTable() called from constructor (mma) -// 19-09-01, come back to previous ProcessName "compt" -// 20-09-01, DoIt: fminimalEnergy = 1*eV (mma) -// 01-10-01, come back to BuildPhysicsTable(const G4ParticleDefinition&) -// 13-08-04, suppress icc file; make public ComputeCrossSectionPerAtom() (mma) -// 09-11-04, Remove Retrieve tables (V.Ivantchenko) -// 04-05-05, Add 52 to class name (V.Ivanchenko) -// ----------------------------------------------------------------------------- - -// class description -// -// inherit from G4VDiscreteProcess -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef G4ComptonScattering52_h -#define G4ComptonScattering52_h 1 - -#include "G4ios.hh" -#include "globals.hh" -#include "Randomize.hh" -#include "G4VDiscreteProcess.hh" -#include "G4PhysicsTable.hh" -#include "G4PhysicsLogVector.hh" -#include "G4Element.hh" -#include "G4Gamma.hh" -#include "G4Electron.hh" -#include "G4Step.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4ComptonScattering52 : public G4VDiscreteProcess - -{ - public: // with description - - G4ComptonScattering52(const G4String& processName ="compt", - G4ProcessType type = fElectromagnetic); - - ~G4ComptonScattering52(); - - G4bool IsApplicable(const G4ParticleDefinition&); - // true for Gamma only. - - void SetPhysicsTableBining(G4double lowE, G4double highE, G4int nBins); - // Allows to define the binning of the PhysicsTables, - // before to build them. - - void BuildPhysicsTable(const G4ParticleDefinition&); - // It builds the total CrossSectionPerAtom table, for Gamma, - // and for every element contained in the elementTable. - // It builds the MeanFreePath table, for Gamma, - // and for every material contained in the materialTable. - - G4bool StorePhysicsTable(const G4ParticleDefinition* , - const G4String& directory, G4bool); - // store CrossSection and MeanFreePath tables into an external file - // specified by 'directory' (must exist before invokation) - - //G4bool RetrievePhysicsTable(const G4ParticleDefinition* , - // const G4String& directory, G4bool); - // retrieve CrossSection and MeanFreePath tables from an external file - // specified by 'directory' - - void PrintInfoDefinition(); - // Print few lines of informations about the process: validity range, - // origine ..etc.. - // Invoked by BuildThePhysicsTable(). - - G4double GetMeanFreePath(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // It returns the MeanFreePath of the process for the current track : - // (energy, material) - // The previousStepSize and G4ForceCondition* are not used. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - G4double GetCrossSectionPerAtom(G4DynamicParticle* aDynamicGamma, - G4Element* anElement); - // It returns the total CrossSectionPerAtom of the process, - // for the current DynamicGamma (energy), in anElement. - - G4VParticleChange* PostStepDoIt(const G4Track& aTrack, - const G4Step& aStep); - // It computes the final state of the process (at end of step), - // returned as a ParticleChange object. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - virtual - G4double ComputeCrossSectionPerAtom(G4double GammaEnergy, - G4double AtomicNumber); - - G4double ComputeMeanFreePath(G4double GammaEnergy, - G4Material* aMaterial); - private: - - // hide assignment operator as private - G4ComptonScattering52& operator=(const G4ComptonScattering52 &right); - G4ComptonScattering52(const G4ComptonScattering52& ); - - private: - - G4PhysicsTable* theCrossSectionTable; // table for crosssection - G4PhysicsTable* theMeanFreePathTable; // table for mean free path - - G4double LowestEnergyLimit; // low energy limit of the tables - G4double HighestEnergyLimit; // high energy limit of the tables - G4int NumbBinTable; // number of bins in the tables - - protected: - - G4double fminimalEnergy; // minimalEnergy of produced particles -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#endif - diff --git a/source/processes/electromagnetic/standard/include/G4CoulombScattering.hh b/source/processes/electromagnetic/standard/include/G4CoulombScattering.hh index fad9be4d00..3b5bec8d17 100644 --- a/source/processes/electromagnetic/standard/include/G4CoulombScattering.hh +++ b/source/processes/electromagnetic/standard/include/G4CoulombScattering.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4CoulombScattering.hh,v 1.13 2009/05/07 18:41:45 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4CoulombScattering.hh,v 1.15 2010/10/25 19:13:23 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -73,9 +73,6 @@ public: // Set energy above which high energy model will be used inline void SetHEModelLimit(G4double); - // obsolete method to be removed - inline void SetBuildTableFlag(G4bool); - // Print out of the class parameters virtual void PrintInfo(); @@ -95,7 +92,6 @@ private: G4double thEnergy; G4double thEnergyElec; G4bool isInitialised; - G4bool buildElmTableFlag; const G4ParticleDefinition* aParticle; }; @@ -124,11 +120,6 @@ inline void G4CoulombScattering::SetQ2Max(G4double val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4CoulombScattering::SetBuildTableFlag(G4bool) -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - inline void G4CoulombScattering::SetHEModelLimit(G4double val) { thEnergy = val; diff --git a/source/processes/electromagnetic/standard/include/G4CoulombScatteringModel.hh b/source/processes/electromagnetic/standard/include/G4CoulombScatteringModel.hh index 851fe3b5e9..228c51abda 100644 --- a/source/processes/electromagnetic/standard/include/G4CoulombScatteringModel.hh +++ b/source/processes/electromagnetic/standard/include/G4CoulombScatteringModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4CoulombScatteringModel.hh,v 1.15 2008/07/31 13:11:34 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4CoulombScatteringModel.hh,v 1.17 2010/05/27 14:22:05 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -44,6 +44,8 @@ // 19.10.06 V.Ivanchenko use inheritance from G4eCoulombScatteringModel // 09.10.07 V.Ivanchenko reorganized methods, add cut dependence in scattering off e- // 09.06.08 V.Ivanchenko SelectIsotope is moved to the base class +// 27.05.10 V.Ivanchenko added G4WentzelOKandVIxSection class to +// compute cross sections and sample scattering angle // // Class Description: // diff --git a/source/processes/electromagnetic/standard/include/G4GoudsmitSaundersonMscModel.hh b/source/processes/electromagnetic/standard/include/G4GoudsmitSaundersonMscModel.hh index 4a943f291f..15ad5018de 100755 --- a/source/processes/electromagnetic/standard/include/G4GoudsmitSaundersonMscModel.hh +++ b/source/processes/electromagnetic/standard/include/G4GoudsmitSaundersonMscModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4GoudsmitSaundersonMscModel.hh,v 1.2 2009/06/04 13:45:49 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GoudsmitSaundersonMscModel.hh,v 1.5 2010/06/25 09:41:34 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -40,6 +40,7 @@ // // Modifications: // 04.03.2009 V.Ivanchenko cleanup and format according to Geant4 EM style +// 12.05.2010 O.Kadri: adding Qn1 and Qn12 as private doubles // // Class description: // @@ -53,7 +54,7 @@ //Ref.4:I. Kawrakow et al.,"The EGSnrc code ... Transport",NRCC Report PIRS-701, Sept. 21, 2006; //Ref.5:F. Salvat et al.,"ELSEPA--Dirac partial ...molecules", Comp. Phys. Comm. 165 (2005) pp 157-190; //Ref.6:G4UrbanMscModel G4_v9.1Ref09; -//Ref.7:G4eCoulombScatteringModel G4_v9.1Ref09. +//Ref.7:G4WentzelVIModel G4_v9.3. //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #ifndef G4GoudsmitSaundersonMscModel_h @@ -62,7 +63,6 @@ #include "G4VMscModel.hh" #include "G4PhysicsTable.hh" #include "globals.hh" -#include "G4DataInterpolation.hh" class G4DataVector; class G4ParticleChangeForMSC; @@ -113,8 +113,8 @@ private: G4GoudsmitSaundersonMscModel & operator=(const G4GoudsmitSaundersonMscModel &right); G4GoudsmitSaundersonMscModel(const G4GoudsmitSaundersonMscModel&); - G4double lowKEnergy; - G4double highKEnergy; + G4double lowKEnergy; + G4double highKEnergy; G4double currentKinEnergy; G4double currentRange; @@ -124,9 +124,8 @@ private: G4double tausmall,taulim,tlimit,tlimitmin,geommin,geombig; G4double charge,lambdalimit; G4double tPathLength,stepmin ; - G4double lambda1,lambda11; + G4double lambda0,lambda1,lambda11,Qn1,Qn12; G4double mass; - G4double lambda0; G4int currentMaterialIndex; G4bool inside; @@ -138,7 +137,6 @@ private: G4LossTableManager* theManager; const G4ParticleDefinition* particle; G4ParticleChangeForMSC* fParticleChange; - G4DataInterpolation* MyValue; const G4MaterialCutsCouple* currentCouple; static G4double ener[106]; diff --git a/source/processes/electromagnetic/standard/include/G4GoudsmitSaundersonTable.hh b/source/processes/electromagnetic/standard/include/G4GoudsmitSaundersonTable.hh index 4eb86f2d71..6ae00cd21d 100644 --- a/source/processes/electromagnetic/standard/include/G4GoudsmitSaundersonTable.hh +++ b/source/processes/electromagnetic/standard/include/G4GoudsmitSaundersonTable.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4GoudsmitSaundersonTable.hh,v 1.3 2009/06/18 18:43:09 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GoudsmitSaundersonTable.hh,v 1.5 2010/06/25 09:41:36 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/standard/include/G4ICRU73QOModel.hh b/source/processes/electromagnetic/standard/include/G4ICRU73QOModel.hh new file mode 100644 index 0000000000..9db6f78087 --- /dev/null +++ b/source/processes/electromagnetic/standard/include/G4ICRU73QOModel.hh @@ -0,0 +1,258 @@ +// +// ******************************************************************** +// * 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: G4ICRU73QOModel.hh,v 1.3 2010/06/04 09:09:31 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4ICRU73QOModel +// +// Author: Alexander Bagulya +// +// Creation date: 21.05.2010 +// +// Modifications: +// +// +// Class Description: +// +// Quantum Harmonic Oscillator Model for energy loss using atomic shell +// structure of atoms taking into account Q^2 (main for projectile charge Q), +// Q^3 and Q^4 terms for computation of energy loss due to binary collisions. +// Can be applied on heavy negatively charged particles for the energy interval +// 10 keV - 10 MeV scaled to the proton mass. +// +// Used data and formula of +// 1. G4QAOLowEnergyLoss class, S.Chauvie, P.Nieminen, M.G.Pia. IEEE Trans. +// Nucl. Sci. 54 (2007) 578. +// 2. ShellStrength and ShellEnergy from ICRU'73 Report 2005, +// 3. Data for Ta (Z=73) from P.Sigmund, A.Shinner. Eur. Phys. J. D15 (2001) +// 165-172 +// +// ------------------------------------------------------------------- +// + +#ifndef G4ICRU73QOModel_h +#define G4ICRU73QOModel_h 1 + +#include "G4VEmModel.hh" +#include "G4AtomicShells.hh" +#include "G4DensityEffectData.hh" + +class G4ParticleChangeForLoss; + +class G4ICRU73QOModel : public G4VEmModel +{ + +public: + + G4ICRU73QOModel(const G4ParticleDefinition* p = 0, + const G4String& nam = "ICRU73QO"); + + virtual ~G4ICRU73QOModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double MinEnergyCut(const G4ParticleDefinition*, + const G4MaterialCutsCouple*); + + virtual G4double ComputeCrossSectionPerElectron( + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy, + G4double maxEnergy); + + virtual G4double ComputeCrossSectionPerAtom( + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double Z, G4double A, + G4double cutEnergy, + G4double maxEnergy); + + virtual G4double CrossSectionPerVolume(const G4Material*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy, + G4double maxEnergy); + + virtual G4double ComputeDEDXPerVolume(const G4Material*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + // add correction to energy loss and compute non-ionizing energy loss + virtual void CorrectionsAlongStep(const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double& eloss, + G4double& niel, + G4double length); + +protected: + + virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*, + G4double kinEnergy); + +private: + + inline void SetParticle(const G4ParticleDefinition* p); + inline void SetLowestKinEnergy(const G4double val); + + G4double DEDX(const G4Material* material, G4double kineticEnergy); + + G4double DEDXPerElement(G4int Z, G4double kineticEnergy); + + // hide assignment operator + G4ICRU73QOModel & operator=(const G4ICRU73QOModel &right); + G4ICRU73QOModel(const G4ICRU73QOModel&); + + const G4ParticleDefinition* particle; + G4ParticleDefinition* theElectron; + G4ParticleChangeForLoss* fParticleChange; + G4DensityEffectData* denEffData; + + G4double mass; + G4double q; + G4double chargeSquare; + G4double massRate; + G4double ratio; + G4double lowestKinEnergy; + + G4bool isInitialised; + + // get number of shell, energy and oscillator strenghts for material + G4int GetNumberOfShells(G4int Z) const; + + G4double GetShellEnergy(G4int Z, G4int nbOfTheShell) const; + G4double GetOscillatorEnergy(G4int Z, G4int nbOfTheShell) const; + G4double GetShellStrength(G4int Z, G4int nbOfTheShell) const; + + // calculate stopping number for L's term + G4double GetL0(G4double normEnergy) const; + // terms in Z^2 + G4double GetL1(G4double normEnergy) const; + // terms in Z^3 + G4double GetL2(G4double normEnergy) const; + // terms in Z^4 + + + // Z of element at now avaliable for the model + static const G4int NQOELEM = 26; + static const G4int NQODATA = 130; + static const G4int ZElementAvailable[NQOELEM]; + + // number, energy and oscillator strenghts + // for an harmonic oscillator model of material + static const G4int startElemIndex[NQOELEM]; + static const G4int nbofShellsForElement[NQOELEM]; + static const G4double ShellEnergy[NQODATA]; + static const G4double SubShellOccupation[NQODATA]; // Z * ShellStrength + + G4int indexZ[100]; + + // variable for calculation of stopping number of L's term + static const G4double L0[67][2]; + static const G4double L1[22][2]; + static const G4double L2[14][2]; + + G4int sizeL0; + G4int sizeL1; + G4int sizeL2; + + static const G4double factorBethe[99]; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline void G4ICRU73QOModel::SetParticle(const G4ParticleDefinition* p) +{ + particle = p; + mass = particle->GetPDGMass(); + q = particle->GetPDGCharge()/eplus; + chargeSquare = q*q; + massRate = mass/proton_mass_c2; + ratio = electron_mass_c2/mass; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4int G4ICRU73QOModel::GetNumberOfShells(G4int Z) const +{ + G4int nShell = 0; + + if(indexZ[Z] >= 0) { nShell = nbofShellsForElement[indexZ[Z]]; + } else { nShell = G4AtomicShells::GetNumberOfShells(Z); } + + return nShell; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4ICRU73QOModel::GetShellEnergy(G4int Z, + G4int nbOfTheShell) const +{ + G4double shellEnergy = 0.; + + G4int idx = indexZ[Z]; + + if(indexZ[Z] >= 0) { shellEnergy = ShellEnergy[startElemIndex[idx] + nbOfTheShell]*eV; + } else { shellEnergy = GetOscillatorEnergy(Z, nbOfTheShell); } + + return shellEnergy; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4ICRU73QOModel::GetShellStrength(G4int Z, + G4int nbOfTheShell) const +{ + G4double shellStrength = 0.; + + G4int idx = indexZ[Z]; + + if(indexZ[Z] >= 0) { shellStrength = SubShellOccupation[startElemIndex[idx] + nbOfTheShell] / Z; +} else { shellStrength = 1.0 / Z * G4AtomicShells::GetNumberOfElectrons(Z,nbOfTheShell); } + + return shellStrength; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline void G4ICRU73QOModel::SetLowestKinEnergy(const G4double val) +{ + lowestKinEnergy = val; +} + +#endif diff --git a/source/processes/electromagnetic/standard/include/G4IonCoulombCrossSection.hh b/source/processes/electromagnetic/standard/include/G4IonCoulombCrossSection.hh new file mode 100644 index 0000000000..8101310fd3 --- /dev/null +++ b/source/processes/electromagnetic/standard/include/G4IonCoulombCrossSection.hh @@ -0,0 +1,182 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// G4IonCoulombCrossSection.hh +//------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// File name: G4IonCoulombCrossSection +// +// Author: Cristina Consolandi +// +// Creation date: 05.10.2010 from G4eCoulombScatteringModel +// +// Class Description: +// Computation of Screen-Coulomb Cross Section +// for protons, alpha and heavy Ions +// +// +// Reference: +// M.J. Boschini et al. "Nuclear and Non-Ionizing Energy-Loss +// for Coulomb Scattered Particles from Low Energy up to Relativistic +// Regime in Space Radiation Environment" +// Accepted for publication in the Proceedings of the ICATPP Conference +// on Cosmic Rays for Particle and Astroparticle Physics, Villa Olmo, 7-8 +// October, 2010, to be published by World Scientific (Singapore). +// +// Available for downloading at: +// http://arxiv.org/abs/1011.4822 +// +// ------------------------------------------------------------------- + +// +#ifndef G4IonCoulombCrossSection_h +#define G4IonCoulombCrossSection_h 1 + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "globals.hh" +#include "G4Material.hh" +#include "G4Element.hh" +#include "G4ElementVector.hh" +#include "G4NistManager.hh" +#include "G4ThreeVector.hh" +#include "G4Pow.hh" +#include "G4LossTableManager.hh" + +class G4ParticleDefinition; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class G4IonCoulombCrossSection +{ + +public: + + G4IonCoulombCrossSection(); + + virtual ~G4IonCoulombCrossSection(); + + void Initialise(const G4ParticleDefinition*, G4double cosThetaLim); + + G4double NuclearCrossSection(); + + G4double SampleCosineTheta(); + + inline void SetupParticle(const G4ParticleDefinition*); + + void SetupKinematic(G4double kinEnergy, G4double cut,G4int iz); + + void SetupTarget(G4double Z, G4double kinEnergy,G4int heavycorr); + + inline G4double GetMomentum2(); + +private: + void SetScreenRSquare(G4int iz); + + + G4IonCoulombCrossSection & operator=(const G4IonCoulombCrossSection &right); + G4IonCoulombCrossSection(const G4IonCoulombCrossSection&); + + + + const G4ParticleDefinition* theProton; + + G4NistManager* fNistManager; + +protected: + G4double coeff; + + //cost - min - max + G4double cosThetaMin;// def 1.0 + G4double cosThetaMax;// def -1.0 + + //SetupTarget + G4double cosTetMinNuc;// -->cosThetaMin + G4double cosTetMaxNuc;// -->cosThetaMax + + + //cross section + G4double nucXSection; + + //energy cut + G4double ecut; + G4double etag; + + // projectile........................ + const G4ParticleDefinition* particle; + + G4double chargeSquare; + G4double spin; + G4double mass; + + //lab of incedent particle + G4double tkinLab; + G4double momLab2; + G4double invbetaLab2; + + //relative system with nucleus + G4double tkin; + G4double mom2; + G4double invbeta2; + + // target nucleus + G4double targetZ; + G4double targetMass; + G4double screenZ; + + +private: + + G4double alpha2; + G4double ScreenRSquare; + +}; + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4IonCoulombCrossSection::SetupParticle(const G4ParticleDefinition* p) +{ + particle = p; + mass = particle->GetPDGMass(); + spin = particle->GetPDGSpin(); + if(0.0 != spin) { spin = 0.5; } + G4double q = std::fabs(particle->GetPDGCharge()/eplus); + chargeSquare = q*q; + tkin = 0.0; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +inline G4double G4IonCoulombCrossSection::GetMomentum2(){ + return mom2; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif + + diff --git a/source/processes/electromagnetic/standard/include/G4IonCoulombScatteringModel.hh b/source/processes/electromagnetic/standard/include/G4IonCoulombScatteringModel.hh new file mode 100644 index 0000000000..4789deed63 --- /dev/null +++ b/source/processes/electromagnetic/standard/include/G4IonCoulombScatteringModel.hh @@ -0,0 +1,187 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// G4IonCoulombScatteringModel.hh +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// File name: G4IonCoulombScatteringModel +// +// Author: Cristina Consolandi +// +// Creation date: 05.10.2010 from G4eCoulombScatteringModel +// & G4CoulombScatteringModel +// +// +// Class Description: +// Single Scattering Model for +// for protons, alpha and heavy Ions +// +// Reference: +// M.J. Boschini et al. "Nuclear and Non-Ionizing Energy-Loss +// for Coulomb ScatteredParticles from Low Energy up to Relativistic +// Regime in Space Radiation Environment" +// Accepted for publication in the Proceedings of the ICATPP Conference +// on Cosmic Rays for Particle and Astroparticle Physics, Villa Olmo, 7-8 +// October, 2010, to be published by World Scientific (Singapore). +// +// Available for downloading at: +// http://arxiv.org/abs/1011.4822 +// +// ------------------------------------------------------------------- +// + +#ifndef G4IonCoulombScatteringModel_h +#define G4IonCoulombScatteringModel_h 1 + +#include "G4VEmModel.hh" +#include "globals.hh" +#include "G4NistManager.hh" +#include "G4IonCoulombCrossSection.hh" + +#include +using namespace std; + +class G4ParticleChangeForGamma; +class G4ParticleDefinition; + +class G4IonCoulombScatteringModel : public G4VEmModel +{ + +public: + + G4IonCoulombScatteringModel(const G4String& nam = "IonCoulombScattering"); + + virtual ~G4IonCoulombScatteringModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double ComputeCrossSectionPerAtom( + const G4ParticleDefinition*, + G4double kinEnergy, + G4double Z, + G4double A, + G4double cut, + G4double emax); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + + + inline void SetRecoilThreshold(G4double eth); + void SetHeavyIonCorr(G4int b) {heavycorr=b; }; + G4int GetHeavyIonCorr() {return heavycorr; }; + + + + +protected: + + + inline void DefineMaterial(const G4MaterialCutsCouple*); + + inline void SetupParticle(const G4ParticleDefinition*); + + + +private: + + + // hide assignment operator + G4IonCoulombScatteringModel & operator=(const G4IonCoulombScatteringModel &right); + G4IonCoulombScatteringModel(const G4IonCoulombScatteringModel&); + + +protected: + + + G4ParticleTable* theParticleTable; + G4ParticleChangeForGamma* fParticleChange; + G4NistManager* fNistManager; + G4IonCoulombCrossSection* ioncross; + + const std::vector* pCuts; + const G4MaterialCutsCouple* currentCouple; + const G4Material* currentMaterial; + const G4Element* currentElement; + G4int currentMaterialIndex; + + + G4int heavycorr; + + G4double cosThetaMin; + G4double recoilThreshold; + + + // projectile + const G4ParticleDefinition* particle; + const G4ParticleDefinition* theProton; + G4double mass; + G4double lowEnergyLimit; + + +private: + + G4bool isInitialised; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4IonCoulombScatteringModel::DefineMaterial(const G4MaterialCutsCouple* cup) +{ + if(cup != currentCouple) { + currentCouple = cup; + currentMaterial = cup->GetMaterial(); + currentMaterialIndex = currentCouple->GetIndex(); + + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline +void G4IonCoulombScatteringModel::SetupParticle(const G4ParticleDefinition* p) +{ + if(p != particle) { + particle = p; + mass = particle->GetPDGMass(); + ioncross->SetupParticle(p); + } +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4IonCoulombScatteringModel::SetRecoilThreshold(G4double eth) +{ + recoilThreshold = eth; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/standard/include/G4KleinNishinaModel.hh b/source/processes/electromagnetic/standard/include/G4KleinNishinaModel.hh new file mode 100644 index 0000000000..fe613c2200 --- /dev/null +++ b/source/processes/electromagnetic/standard/include/G4KleinNishinaModel.hh @@ -0,0 +1,104 @@ +// +// ******************************************************************** +// * 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: G4KleinNishinaModel.hh,v 1.1 2010/09/03 14:11:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4KleinNishinaModel +// +// Author: Vladimir Ivanchenko on base of G4KleinNishinaCompton +// +// Creation date: 13.06.2010 +// +// Modifications: +// +// Class Description: +// +// Implementation of gamma Compton scattering with atomic effects +// + +// ------------------------------------------------------------------- +// + +#ifndef G4KleinNishinaModel_h +#define G4KleinNishinaModel_h 1 + +#include "G4VEmModel.hh" +#include + +class G4ParticleChangeForGamma; +class G4VAtomDeexcitation; + +class G4KleinNishinaModel : public G4VEmModel +{ + +public: + + G4KleinNishinaModel(const G4String& nam = "KleinNishina"); + + virtual ~G4KleinNishinaModel(); + + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual G4double ComputeCrossSectionPerAtom( + const G4ParticleDefinition*, + G4double kinEnergy, + G4double Z, + G4double A, + G4double cut, + G4double emax); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + +protected: + + G4ParticleDefinition* theGamma; + G4ParticleDefinition* theElectron; + G4ParticleChangeForGamma* fParticleChange; + G4double lowestGammaEnergy; + +private: + + // hide assignment operator + G4KleinNishinaModel & operator=(const G4KleinNishinaModel &right); + G4KleinNishinaModel(const G4KleinNishinaModel&); + + G4VAtomDeexcitation* fAtomDeexcitation; + G4bool isInitialized; + std::vector fProbabilities; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4ModifiedTsai.hh b/source/processes/electromagnetic/standard/include/G4ModifiedTsai.hh similarity index 80% rename from source/processes/electromagnetic/lowenergy/include/G4ModifiedTsai.hh rename to source/processes/electromagnetic/standard/include/G4ModifiedTsai.hh index 56d8cb66ee..568d904ee7 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4ModifiedTsai.hh +++ b/source/processes/electromagnetic/standard/include/G4ModifiedTsai.hh @@ -23,10 +23,12 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4ModifiedTsai.hh,v 1.1 2010/10/14 15:17:48 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // -// GEANT4 Class file +// GEANT4 Class header file // // // File name: G4ModifiedTsai @@ -38,15 +40,17 @@ // Creation date: 21 March 2003 // // Modifications: -// 21 Mar 2003 A. Trindade First implementation acording with new design -// 24 Mar 2003 & Fix in Tsai generator in order to prevent theta generation above pi -// +// 21 Mar 2003 A.Trindade First implementation acording with new design +// 24 Mar 2003 A.Trindade Fix in Tsai generator in order to prevent theta +// generation above pi +// 13 Oct 2010 V.Ivanchenko Moved to standard and improved comment // // Class Description: // -// Concrete class for Bremsstrahlung Angular Distribution Generation - Tsai Model -// Further documentation available from http://www.ge.infn.it/geant4/lowE - +// Bremsstrahlung Angular Distribution Generation +// suggested by L.Urban (Geant3 manual (1993) Phys211) +// Derived from Tsai distribution (Rev Mod Phys 49,421(1977)) +// // ------------------------------------------------------------------- // @@ -62,9 +66,9 @@ class G4ModifiedTsai : public G4VBremAngularDistribution public: - G4ModifiedTsai(const G4String& name); + G4ModifiedTsai(const G4String& name = ""); - ~G4ModifiedTsai(); + virtual ~G4ModifiedTsai(); G4double PolarAngle(const G4double initial_energy, const G4double final_energy, diff --git a/source/processes/electromagnetic/standard/include/G4MscModel71.hh b/source/processes/electromagnetic/standard/include/G4MscModel71.hh deleted file mode 100644 index 8b41908fca..0000000000 --- a/source/processes/electromagnetic/standard/include/G4MscModel71.hh +++ /dev/null @@ -1,171 +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: G4MscModel71.hh,v 1.6 2009/11/01 13:04:12 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -// ------------------------------------------------------------------- -// -// -// GEANT4 Class header file -// -// -// File name: G4MscMOdel71 -// -// Author: Laszlo Urban -// -// Creation date: 01.03.2001 -// -// Modifications: -// -// 27-03-03 Move model part from G4MultipleScattering (V.Ivanchenko) -// 27-03-03 Rename (V.Ivanchenko) -// -// 05-08-03 angle distribution has been modified (L.Urban) -// 26-11-03 new data member currentRange (L.Urban) -// 01-03-04 changes in data members + signature changed in SampleCosineTheta -// 11-03-04 changes in data members (L.Urban) -// 23-04-04 changes in data members and in signature of SampleCosineTheta -// (L.Urban) -// 17-08-04 name of data member facxsi changed to factail (L.Urban) -// 08-04-05 Major optimisation of internal interfaces (V.Ivantchenko) -// 15-04-05 optimize internal interface - add SampleSecondaries method (V.Ivanchenko) -// 03-10-05 Model is freezed with the name McsModel71 (V.Ivanchenko) -// 17-02-06 Save table of transport cross sections not mfp (V.Ivanchenko) -// 07-03-06 Create G4UrbanMscModel and move there step limit calculation (V.Ivanchenko) -// - -// -// Class Description: -// -// Implementation of the model of multiple scattering based on -// H.W.Lewis Phys Rev 78 (1950) 526 and L.Urban model - -// ------------------------------------------------------------------- -// - -#ifndef G4MscModel71_h -#define G4MscModel71_h 1 - -#include "G4VEmModel.hh" - -class G4ParticleChangeForMSC; -class G4Navigator; - -class G4MscModel71 : public G4VEmModel -{ - -public: - - G4MscModel71(G4double&, G4double&, G4double&, G4double&, G4bool&, - const G4String& nam = "UrbanMsc71"); - - virtual ~G4MscModel71(); - - virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); - - virtual G4double ComputeCrossSectionPerAtom( - const G4ParticleDefinition* particle, - G4double KineticEnergy, - G4double AtomicNumber, - G4double AtomicWeight=0., - G4double cut =0., - G4double emax=DBL_MAX); - - virtual void SampleSecondaries(std::vector*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double length, - G4double safety); - - G4double GeomPathLength(G4PhysicsTable* theLambdaTable, - const G4MaterialCutsCouple* couple, - const G4ParticleDefinition* particle, - G4double& kineticEnergy, - G4double lambda, - G4double range, - G4double truePathLength); - - G4double TrueStepLength(G4double geomStepLength); - - G4double SampleCosineTheta(G4double trueStepLength,G4double KineticEnergy); - - G4double SampleDisplacement(); - - void SetLateralDisplasmentFlag(G4bool val); - -private: - - // hide assignment operator - G4MscModel71 & operator=(const G4MscModel71 &right); - G4MscModel71(const G4MscModel71&); - - const G4ParticleDefinition* particle; - G4ParticleChangeForMSC* fParticleChange; - G4Navigator* navigator; - - G4double mass; - G4double charge; - G4double massRate; - - G4double taubig; - G4double tausmall; - G4double taulim; - G4double currentTau; - G4double dtrl; - G4double NuclCorrPar; - G4double FactPar; - G4double factail ; - - G4double sigmafactor; - G4double b; - G4double xsi; - - G4double lambda0; - G4double tPathLength; - G4double par1,par2,par3 ; - - G4double stepmin ; - - G4double currentKinEnergy; - G4double currentRange ; - G4double currentRadLength; - - G4bool samplez; - G4bool latDisplasment; - G4bool isInitialized; -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4MscModel71::SetLateralDisplasmentFlag(G4bool val) -{ - latDisplasment = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#endif - diff --git a/source/processes/electromagnetic/standard/include/G4MultipleScattering.hh b/source/processes/electromagnetic/standard/include/G4MultipleScattering.hh deleted file mode 100644 index b6d337d04a..0000000000 --- a/source/processes/electromagnetic/standard/include/G4MultipleScattering.hh +++ /dev/null @@ -1,147 +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: G4MultipleScattering.hh,v 1.36 2008/03/10 10:39:21 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ----------------------------------------------------------------------------- -// -// GEANT4 Class header file -// -// File name: G4MultipleScattering -// -// Author: Laszlo Urban -// -// Creation date: March 2001 -// -// Modifications: -// -// 07-08-01 new methods Store/Retrieve PhysicsTable -// 23-08-01 new angle and z distribution,energy dependence reduced, -// Store,Retrieve methods commented out temporarily, L.Urban -// 11-09-01 G4MultipleScatteringx put as default: G4MultipleScattering -// Store,Retrieve methods reactived (mma) -// 13-09-01 Unused TrueToGeomTransformation method deleted, -// class description (L.Urban) -// 19-09-01 come back to previous process name msc -// 17-04-02 NEW angle distribution + boundary algorithm modified, L.Urban -// 22-04-02 boundary algorithm modified -> important improvement in timing !!!! -// (L.Urban) -// 24-05-02 changes in data members, L.Urban -// 30-10-02 changes in data members, L.Urban -// 20-01-03 Migrade to cut per region (V.Ivanchenko) -// 05-02-03 changes in data members, L.Urban -// 28-03-03 Move to model design (V.Ivanchenko) -// 18-04-03 Change name (V.Ivanchenko) -// 16-06-03: ShortLived are not applicable any more (V.Ivanchenko) -// 17-08-04 name of data member facxsi changed to factail together -// with the corresponding set function (L.Urban) -// 08-11-04 Migration to new interface of Store/Retrieve tables (V.Ivantchenko) -// 15-04-05 optimize internal interfaces (V.Ivanchenko) -// 02-10-05 new algorithm for step limitation, new data members (L.Urban) -// 05-10-05 value of data member tlimitmin has been changed (L.Urban) -// 23-10-05 new Boolean data member prec (false ~ 7.1 like, true new step -// limit in TruePathLengthLimit, L.Urban) -// 25-10-05 prec renamed to steppingAlgorithm, set function triggers -// 'default' facrange too, true - 0.02, false - 0.2 (L.Urban) -// 26-10-05 the above is put in the function MscStepLimitation() (mma) -// 05-11-05 new data member rangecut (L.Urban) -// 13-11-05 some code cleaning (L.Urban) -// 07-12-05 GeomLimit is protected instead of public -// 11-12-05 data menber rangecut removed (L.Urban) -// 19-01-07 tlimitmin = facrange*50*micrometer, i.e. it depends on the -// value of facrange (L.Urban) -// 16-02-06 set function for data member factail (L.Urban) -// 13-10-06 data member factail removed, new data member skin -// together with set function, data member tkinlimit -// changed to lambdalimit (L.Urban) -// 07-03-07 remove method SetSkin, because it is now in the base class (VI) -// -//------------------------------------------------------------------------------ -// - -// class description -// -// The class simulates the multiple scattering for any kind -// of charged particle. -// -// class description - end - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef G4MultipleScattering_h -#define G4MultipleScattering_h 1 - -#include "G4VMultipleScattering.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4VMscModel; - -class G4MultipleScattering : public G4VMultipleScattering - -{ -public: // with description - - G4MultipleScattering(const G4String& processName="msc"); - - virtual ~G4MultipleScattering(); - - // returns true for charged particles, false otherwise - G4bool IsApplicable (const G4ParticleDefinition& p); - - // Print few lines of informations about the process: validity range, - void PrintInfo(); - - // geom. step length distribution should be sampled or not - void Setsamplez(G4bool value) { samplez = value;}; - - // to reduce the energy/step dependence - void Setdtrl(G4double value) { dtrl = value;}; - - // 'soften' step limitation above lambdalimit - void SetLambdalimit(G4double value) { lambdalimit = value;}; - -protected: - - // This function initialise models - void InitialiseProcess(const G4ParticleDefinition*); - -private: // data members - - G4VMscModel* mscUrban; - - G4double lambdalimit; - G4double dtrl; - - G4bool samplez; - G4bool isInitialized; - -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#endif diff --git a/source/processes/electromagnetic/standard/include/G4MultipleScattering71.hh b/source/processes/electromagnetic/standard/include/G4MultipleScattering71.hh deleted file mode 100644 index 23a1d3ef97..0000000000 --- a/source/processes/electromagnetic/standard/include/G4MultipleScattering71.hh +++ /dev/null @@ -1,252 +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: G4MultipleScattering71.hh,v 1.6 2008/07/16 11:27:41 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -//------------- G4MultipleScattering71 physics process -------------------------- -// by Laszlo Urban, March 2001 -// -// 07-08-01 new methods Store/Retrieve PhysicsTable -// 23-08-01 new angle and z distribution,energy dependence reduced, -// Store,Retrieve methods commented out temporarily, L.Urban -// 11-09-01 G4MultipleScatteringx put as default: G4MultipleScattering -// Store,Retrieve methods reactived (mma) -// 13-09-01 Unused TrueToGeomTransformation method deleted, -// class description (L.Urban) -// 19-09-01 come back to previous process name msc -// 17-04-02 NEW angle distribution + boundary algorithm modified, L.Urban -// 22-04-02 boundary algorithm modified -> important improvement in timing !!!! -// (L.Urban) -// 24-05-02 changes in data members, L.Urban -// 30-10-02 changes in data members, L.Urban -// 20-01-03 Migrade to cut per region (V.Ivanchenko) -// 05-02-03 changes in data members, L.Urban -// 28-03-03 Move to model design (V.Ivanchenko) -// 18-04-03 Change name (V.Ivanchenko) -// 16-06-03: ShortLived are not applicable any more (V.Ivanchenko) -// 17-08-04 name of data member facxsi changed to factail together -// with the corresponding set function (L.Urban) -// 08-11-04 Migration to new interface of Store/Retrieve tables (V.Ivantchenko) -// 15-04-05 optimize internal interfaces (V.Ivanchenko) -// 03-10-05 Process is freezed with the name 71 (V.Ivanchenko) -// 07-03-06 Create G4UrbanMscModel and move there step limit calculation (V.Ivanchenko) -// -//------------------------------------------------------------------------------ -// -// $Id: G4MultipleScattering71.hh,v 1.6 2008/07/16 11:27:41 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ - -// class description -// -// The class simulates the multiple scattering for any kind -// of charged particle. -// -// class description - end - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef G4MultipleScattering71_h -#define G4MultipleScattering71_h 1 - -#include "G4VMultipleScattering.hh" -#include "G4MscModel71.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4MultipleScattering71 : public G4VMultipleScattering - -{ -public: // with description - - G4MultipleScattering71(const G4String& processName="msc"); - - virtual ~G4MultipleScattering71(); - - // returns true for charged particles, false otherwise - G4bool IsApplicable (const G4ParticleDefinition& p); - - virtual G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&); - - virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); - - G4double TruePathLengthLimit(const G4Track& track, - G4double& lambda, - G4double currentMinimalStep); - - // Print few lines of informations about the process: validity range, - void PrintInfo(); - - // geom. step length distribution should be sampled or not - void Setsamplez(G4bool value); - - // activate boundary algorithm - void SetBoundary(G4bool value); - - // to reduce the energy/step dependence - void Setdtrl(G4double value); - - void Setfactail(G4double value); - - // Steplimit after boundary crossing = facrange*range - // estimated nb of steps at boundary nsmallstep = 1/facrange - void SetFacrange(G4double val); - - // corrs to transport cross section for high energy - void SetNuclCorrPar(G4double val); - void SetFactPar(G4double val); - -protected: - - // This function initialise models - void InitialiseProcess(const G4ParticleDefinition*); - - // This method is used for tracking, it returns step limit - virtual G4double GetContinuousStepLimit(const G4Track& track, - G4double previousStepSize, - G4double currentMinimalStep, - G4double& currentSafety); - -private: - - // hide assignment operator as private - G4MultipleScattering71 & operator = (const G4MultipleScattering71 &right); - G4MultipleScattering71 ( const G4MultipleScattering71 &); - -private: // data members - - G4MscModel71* model; - - G4double lowKineticEnergy; - G4double highKineticEnergy; - G4int totBins; - - G4double truePathLength; - G4double geomPathLength; - G4double trueStepLength; - G4double range; - - G4double facrange; - G4double tlimit; - G4double tlimitmin; - G4double dtrl; - G4double NuclCorrPar; - G4double FactPar; - G4double factail; - G4double cf; - - G4int stepnolastmsc; - G4int nsmallstep; - - G4bool samplez; - G4bool boundary; - G4bool isInitialized; - -}; - -//-------------------------------------------------------------------- -// inline methods -//-------------------------------------------------------------------- - -inline G4bool G4MultipleScattering71::IsApplicable (const G4ParticleDefinition& p) -{ - return (p.GetPDGCharge() != 0.0 && !p.IsShortLived()); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4VParticleChange* G4MultipleScattering71::AlongStepDoIt( - const G4Track&, - const G4Step& step) -{ - G4double geomStepLength = step.GetStepLength(); - if((geomStepLength == geomPathLength) && (truePathLength <= range)) - trueStepLength = truePathLength; - else - trueStepLength = model->TrueStepLength(geomStepLength); - fParticleChange.ProposeTrueStepLength(trueStepLength); - return &fParticleChange; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4VParticleChange* G4MultipleScattering71::PostStepDoIt(const G4Track& track, - const G4Step& step) -{ - fParticleChange.Initialize(track); - std::vector* p = 0; - model->SampleSecondaries(p, CurrentMaterialCutsCouple(),track.GetDynamicParticle(), - step.GetStepLength(),step.GetPostStepPoint()->GetSafety()); - return &fParticleChange; -} - -// geom. step length distribution should be sampled or not -inline void G4MultipleScattering71::Setsamplez(G4bool value) -{ - samplez = value; -} - -// activate boundary algorithm -inline void G4MultipleScattering71::SetBoundary(G4bool value) -{ - boundary = value; -} - -// to reduce the energy/step dependence -inline void G4MultipleScattering71::Setdtrl(G4double value) -{ - dtrl = value; -} - -inline void G4MultipleScattering71::Setfactail(G4double value) -{ - factail = value; -} - -// Steplimit after boundary crossing = facrange*range -// estimated nb of steps at boundary nsmallstep = 1/facrange -inline void G4MultipleScattering71::SetFacrange(G4double val) -{ - facrange = val; - nsmallstep = G4int(std::log((cf+facrange-1.)/facrange)/std::log(cf))+1; -} - -// corrs to transport cross section for high energy -inline void G4MultipleScattering71::SetNuclCorrPar(G4double val) -{ - NuclCorrPar = val; -} - -inline void G4MultipleScattering71::SetFactPar(G4double val) -{ - FactPar = val; -} - -#endif - - - diff --git a/source/processes/electromagnetic/standard/include/G4PAIySection.hh b/source/processes/electromagnetic/standard/include/G4PAIySection.hh index 2c7c22e7b6..d103a4e127 100644 --- a/source/processes/electromagnetic/standard/include/G4PAIySection.hh +++ b/source/processes/electromagnetic/standard/include/G4PAIySection.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PAIySection.hh,v 1.1 2007/10/01 17:45:14 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PAIySection.hh,v 1.3 2010/11/21 10:55:44 grichine Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // G4PAIySection.hh -- header file @@ -38,6 +38,7 @@ // History: // // 01.10.07, V.Ivanchenko create using V.Grichine G4PAIxSection class +// 21.11.10, V.Grichine, fVerbose and SetVerbose added #ifndef G4PAIYSECTION_HH #define G4PAIYSECTION_HH @@ -60,131 +61,134 @@ public: G4double maxEnergyTransfer, G4double betaGammaSq); - void InitPAI() ; + void InitPAI(); - void NormShift( G4double betaGammaSq ) ; + void NormShift( G4double betaGammaSq ); - void SplainPAI( G4double betaGammaSq ) ; + void SplainPAI( G4double betaGammaSq ); // Physical methods G4double RutherfordIntegral( G4int intervalNumber, G4double limitLow, - G4double limitHigh ) ; + G4double limitHigh ); G4double ImPartDielectricConst( G4int intervalNumber, - G4double energy ) ; + G4double energy ); - G4double RePartDielectricConst(G4double energy) ; + G4double RePartDielectricConst(G4double energy); G4double DifPAIySection( G4int intervalNumber, - G4double betaGammaSq ) ; + G4double betaGammaSq ); G4double PAIdNdxCerenkov( G4int intervalNumber, - G4double betaGammaSq ) ; + G4double betaGammaSq ); G4double PAIdNdxPlasmon( G4int intervalNumber, - G4double betaGammaSq ) ; + G4double betaGammaSq ); - void IntegralPAIySection() ; - void IntegralCerenkov() ; - void IntegralPlasmon() ; + void IntegralPAIySection(); + void IntegralCerenkov(); + void IntegralPlasmon(); - G4double SumOverInterval(G4int intervalNumber) ; - G4double SumOverIntervaldEdx(G4int intervalNumber) ; - G4double SumOverInterCerenkov(G4int intervalNumber) ; - G4double SumOverInterPlasmon(G4int intervalNumber) ; + G4double SumOverInterval(G4int intervalNumber); + G4double SumOverIntervaldEdx(G4int intervalNumber); + G4double SumOverInterCerenkov(G4int intervalNumber); + G4double SumOverInterPlasmon(G4int intervalNumber); G4double SumOverBorder( G4int intervalNumber, - G4double energy ) ; + G4double energy ); G4double SumOverBorderdEdx( G4int intervalNumber, - G4double energy ) ; + G4double energy ); G4double SumOverBordCerenkov( G4int intervalNumber, - G4double energy ) ; + G4double energy ); G4double SumOverBordPlasmon( G4int intervalNumber, - G4double energy ) ; + G4double energy ); - G4double GetStepEnergyLoss( G4double step ) ; - G4double GetStepCerenkovLoss( G4double step ) ; - G4double GetStepPlasmonLoss( G4double step ) ; + G4double GetStepEnergyLoss( G4double step ); + G4double GetStepCerenkovLoss( G4double step ); + G4double GetStepPlasmonLoss( G4double step ); // Inline access functions - G4int GetNumberOfGammas() const { return fNumberOfGammas ; } + inline G4int GetNumberOfGammas() const { return fNumberOfGammas; } - G4int GetSplineSize() const { return fSplineNumber ; } + inline G4int GetSplineSize() const { return fSplineNumber; } - G4int GetIntervalNumber() const { return fIntervalNumber ; } + inline G4int GetIntervalNumber() const { return fIntervalNumber; } - G4double GetEnergyInterval(G4int i){ return fEnergyInterval[i] ; } + inline G4double GetEnergyInterval(G4int i){ return fEnergyInterval[i]; } - G4double GetDifPAIySection(G4int i){ return fDifPAIySection[i] ; } - G4double GetPAIdNdxCrenkov(G4int i){ return fdNdxCerenkov[i] ; } - G4double GetPAIdNdxPlasmon(G4int i){ return fdNdxPlasmon[i] ; } + inline G4double GetDifPAIySection(G4int i){ return fDifPAIySection[i]; } + inline G4double GetPAIdNdxCrenkov(G4int i){ return fdNdxCerenkov[i]; } + inline G4double GetPAIdNdxPlasmon(G4int i){ return fdNdxPlasmon[i]; } - G4double GetMeanEnergyLoss() const {return fIntegralPAIySection[0] ; } - G4double GetMeanCerenkovLoss() const {return fIntegralCerenkov[0] ; } - G4double GetMeanPlasmonLoss() const {return fIntegralPlasmon[0] ; } + inline G4double GetMeanEnergyLoss() const {return fIntegralPAIySection[0]; } + inline G4double GetMeanCerenkovLoss() const {return fIntegralCerenkov[0]; } + inline G4double GetMeanPlasmonLoss() const {return fIntegralPlasmon[0]; } - G4double GetNormalizationCof() const { return fNormalizationCof ; } + inline G4double GetNormalizationCof() const { return fNormalizationCof; } - inline G4double GetPAItable(G4int i,G4int j) const ; + inline G4double GetPAItable(G4int i,G4int j) const; - inline G4double GetLorentzFactor(G4int i) const ; + inline G4double GetLorentzFactor(G4int i) const; - inline G4double GetSplineEnergy(G4int i) const ; + inline G4double GetSplineEnergy(G4int i) const; - inline G4double GetIntegralPAIySection(G4int i) const ; - inline G4double GetIntegralPAIdEdx(G4int i) const ; - inline G4double GetIntegralCerenkov(G4int i) const ; - inline G4double GetIntegralPlasmon(G4int i) const ; + inline G4double GetIntegralPAIySection(G4int i) const; + inline G4double GetIntegralPAIdEdx(G4int i) const; + inline G4double GetIntegralCerenkov(G4int i) const; + inline G4double GetIntegralPlasmon(G4int i) const; + + void SetVerbose(G4int v){fVerbose = v;}; private : // Local class constants - static const G4double fDelta ; // energy shift from interval border = 0.001 - static const G4double fError ; // error in lin-log approximation = 0.005 + static const G4double fDelta; // energy shift from interval border = 0.001 + static const G4double fError; // error in lin-log approximation = 0.005 - static G4int fNumberOfGammas ; // = 111 ; - static const G4double fLorentzFactor[112] ; // static gamma array + static G4int fNumberOfGammas; // = 111; + static const G4double fLorentzFactor[112]; // static gamma array static - const G4int fRefGammaNumber ; // The number of gamma for creation of spline (15) + const G4int fRefGammaNumber ; // The number of gamma for creation of spline (15) - G4int fIntervalNumber ; // The number of energy intervals - G4double fNormalizationCof ; // Normalization cof for PhotoAbsorptionXsection + G4int fIntervalNumber ; // The number of energy intervals + G4double fNormalizationCof; // Normalization cof for PhotoAbsorptionXsection - G4double fDensity ; // Current density - G4double fElectronDensity ; // Current electron (number) density - G4int fSplineNumber ; // Current size of spline + G4double fDensity; // Current density + G4double fElectronDensity; // Current electron (number) density + G4int fSplineNumber; // Current size of spline + G4int fVerbose; // verbose flag G4SandiaTable* fSandia; - G4double fEnergyInterval[500] ; - G4double fA1[500] ; - G4double fA2[500] ; - G4double fA3[500] ; - G4double fA4[500] ; + G4double fEnergyInterval[500]; + G4double fA1[500]; + G4double fA2[500]; + G4double fA3[500]; + G4double fA4[500]; static - const G4int fMaxSplineSize ; // Max size of output splain arrays = 500 + const G4int fMaxSplineSize ; // Max size of output splain arrays = 500 - G4double fSplineEnergy[500] ; // energy points of splain - G4double fRePartDielectricConst[500] ; // Real part of dielectric const - G4double fImPartDielectricConst[500] ; // Imaginary part of dielectric const - G4double fIntegralTerm[500] ; // Integral term in PAI cross section - G4double fDifPAIySection[500] ; // Differential PAI cross section - G4double fdNdxCerenkov[500] ; // dNdx of Cerenkov collisions - G4double fdNdxPlasmon[500] ; // dNdx of Plasmon collisions + G4double fSplineEnergy[500]; // energy points of splain + G4double fRePartDielectricConst[500]; // Real part of dielectric const + G4double fImPartDielectricConst[500]; // Imaginary part of dielectric const + G4double fIntegralTerm[500]; // Integral term in PAI cross section + G4double fDifPAIySection[500]; // Differential PAI cross section + G4double fdNdxCerenkov[500]; // dNdx of Cerenkov collisions + G4double fdNdxPlasmon[500]; // dNdx of Plasmon collisions - G4double fIntegralPAIySection[500] ; // Integral PAI cross section ? - G4double fIntegralPAIdEdx[500] ; // Integral PAI dEdx ? - G4double fIntegralCerenkov[500] ; // Integral Cerenkov N>omega ? - G4double fIntegralPlasmon[500] ; // Integral Plasmon N>omega ? + G4double fIntegralPAIySection[500]; // Integral PAI cross section ? + G4double fIntegralPAIdEdx[500]; // Integral PAI dEdx ? + G4double fIntegralCerenkov[500]; // Integral Cerenkov N>omega ? + G4double fIntegralPlasmon[500]; // Integral Plasmon N>omega ? - G4double fPAItable[500][112] ; // Output array + G4double fPAItable[500][112]; // Output array -} ; +}; //////////////// Inline methods ////////////////////////////////// // @@ -192,12 +196,12 @@ private : inline G4double G4PAIySection::GetPAItable(G4int i, G4int j) const { - return fPAItable[i][j] ; + return fPAItable[i][j]; } inline G4double G4PAIySection::GetLorentzFactor(G4int j) const { - return fLorentzFactor[j] ; + return fLorentzFactor[j]; } inline G4double G4PAIySection::GetSplineEnergy(G4int i) const @@ -206,7 +210,7 @@ inline G4double G4PAIySection::GetSplineEnergy(G4int i) const { G4Exception("Invalid argument in G4PAIySection::GetSplineEnergy"); } - return fSplineEnergy[i] ; + return fSplineEnergy[i]; } inline G4double G4PAIySection::GetIntegralPAIySection(G4int i) const @@ -215,7 +219,7 @@ inline G4double G4PAIySection::GetIntegralPAIySection(G4int i) const { G4Exception("Invalid argument in G4PAIySection::GetIntegralPAIySection"); } - return fIntegralPAIySection[i] ; + return fIntegralPAIySection[i]; } inline G4double G4PAIySection::GetIntegralPAIdEdx(G4int i) const @@ -224,7 +228,7 @@ inline G4double G4PAIySection::GetIntegralPAIdEdx(G4int i) const { G4Exception("Invalid argument in G4PAIySection::GetIntegralPAIySection"); } - return fIntegralPAIdEdx[i] ; + return fIntegralPAIdEdx[i]; } inline G4double G4PAIySection::GetIntegralCerenkov(G4int i) const @@ -233,7 +237,7 @@ inline G4double G4PAIySection::GetIntegralCerenkov(G4int i) const { G4Exception("Invalid argument in G4PAIySection::GetIntegralCerenkov"); } - return fIntegralCerenkov[i] ; + return fIntegralCerenkov[i]; } inline G4double G4PAIySection::GetIntegralPlasmon(G4int i) const @@ -242,7 +246,7 @@ inline G4double G4PAIySection::GetIntegralPlasmon(G4int i) const { G4Exception("Invalid argument in G4PAIySection::GetIntegralPlasmon"); } - return fIntegralPlasmon[i] ; + return fIntegralPlasmon[i]; } #endif diff --git a/source/processes/electromagnetic/standard/include/G4PEEffectFluoModel.hh b/source/processes/electromagnetic/standard/include/G4PEEffectFluoModel.hh new file mode 100644 index 0000000000..a3fa636a4d --- /dev/null +++ b/source/processes/electromagnetic/standard/include/G4PEEffectFluoModel.hh @@ -0,0 +1,105 @@ +// +// ******************************************************************** +// * 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: G4PEEffectFluoModel.hh,v 1.1 2010/09/03 14:11:16 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4PEEffectFluoModel +// +// Author: Vladimir Ivanchenko on base of G4PEEffectModel +// +// Creation date: 13.06.2010 +// +// Modifications: +// +// Class Description: +// +// Implementation of the photo-electric effect with deexcitation +// + +// ------------------------------------------------------------------- +// + +#ifndef G4PEEffectFluoModel_h +#define G4PEEffectFluoModel_h 1 + +#include "G4VEmModel.hh" + +class G4ParticleChangeForGamma; +class G4VAtomDeexcitation; + +class G4PEEffectFluoModel : public G4VEmModel +{ + +public: + + G4PEEffectFluoModel(const G4String& nam = "PhotoElectric"); + + virtual ~G4PEEffectFluoModel(); + + virtual + void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + virtual + G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double kinEnergy, + G4double Z, + G4double A, + G4double, G4double); + + virtual G4double CrossSectionPerVolume(const G4Material*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy, + G4double maxEnergy); + + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); +protected: + + virtual G4double ElecCosThetaDistribution(G4double ElecKineEnergy); + +private: + + G4ParticleDefinition* theGamma; + G4ParticleDefinition* theElectron; + G4ParticleChangeForGamma* fParticleChange; + G4VAtomDeexcitation* fAtomDeexcitation; + + G4double fminimalEnergy; + G4bool isInitialized; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/standard/include/G4PSTARStopping.hh b/source/processes/electromagnetic/standard/include/G4PSTARStopping.hh index 2eb0ff0b78..306429c89e 100644 --- a/source/processes/electromagnetic/standard/include/G4PSTARStopping.hh +++ b/source/processes/electromagnetic/standard/include/G4PSTARStopping.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PSTARStopping.hh,v 1.5 2008/11/13 12:04:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSTARStopping.hh,v 1.7 2010/04/26 17:22:08 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ #ifndef G4PSTARStopping_h #define G4PSTARStopping_h 1 @@ -55,6 +55,8 @@ #include "globals.hh" +#include "G4LPhysicsFreeVector.hh" +#include class G4Material; @@ -75,15 +77,17 @@ private: void Initialise(); + void AddData(G4double* e, G4double* s, G4int idx); + // hide assignment operator G4PSTARStopping & operator=(const G4PSTARStopping &right); G4PSTARStopping(const G4PSTARStopping&); + G4int matIndex; const G4Material* currentMaterial; - G4int index, matIndex; - G4String name[74]; - G4double currentE, res; - G4double e[74][60], kinE[60]; + G4double emin; + std::vector name; + std::vector sdata; }; inline G4double G4PSTARStopping::GetElectronicDEDX(const G4Material* mat, diff --git a/source/processes/electromagnetic/standard/include/G4PairProductionRelModel.hh b/source/processes/electromagnetic/standard/include/G4PairProductionRelModel.hh index e1d77e601b..deb0018b80 100644 --- a/source/processes/electromagnetic/standard/include/G4PairProductionRelModel.hh +++ b/source/processes/electromagnetic/standard/include/G4PairProductionRelModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PairProductionRelModel.hh,v 1.3 2009/06/04 13:45:53 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PairProductionRelModel.hh,v 1.9 2010/10/26 10:35:22 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -63,7 +63,7 @@ class G4PairProductionRelModel : public G4VEmModel public: G4PairProductionRelModel(const G4ParticleDefinition* p = 0, - const G4String& nam = "Bethe-Heitler"); + const G4String& nam = "BetheHeitlerLPM"); virtual ~G4PairProductionRelModel(); @@ -87,7 +87,7 @@ public: const G4Material*,G4double); // * fast inline functions * - inline void SetCurrentElement(const G4double); + inline void SetCurrentElement(G4double /*Z*/); // set / get methods inline void SetLPMconstant(G4double val); @@ -109,9 +109,6 @@ protected: G4double ScreenFunction1(G4double ScreenVariable); G4double ScreenFunction2(G4double ScreenVariable); - - - G4double ComputeXSectionPerAtom(G4double totalEnergy, G4double Z); G4double ComputeDXSectionPerAtom(G4double eplusEnergy, G4double totalEnergy, G4double Z); @@ -127,13 +124,6 @@ protected: G4ParticleDefinition* theElectron; G4ParticleDefinition* thePositron; G4ParticleChangeForGamma* fParticleChange; - G4PhysicsTable* theCrossSectionTable; - - G4double lowGammaEnergy; - G4double highGammaEnergy; - - G4int nbins; - size_t indexZ[120]; G4double fLPMconstant; G4bool fLPMflag; @@ -195,7 +185,7 @@ G4bool G4PairProductionRelModel::LPMflag() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline void G4PairProductionRelModel::SetCurrentElement(const G4double Z) +inline void G4PairProductionRelModel::SetCurrentElement(G4double Z) { if(Z != currentZ) { currentZ = Z; @@ -213,10 +203,10 @@ inline void G4PairProductionRelModel::SetCurrentElement(const G4double Z) Fel = facFel - lnZ/3. ; Finel = facFinel - 2.*lnZ/3. ; } - fCoulomb=GetCurrentElement()->GetfCoulomb(); } } + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline G4double G4PairProductionRelModel::Phi1(G4double delta) const diff --git a/source/processes/electromagnetic/standard/include/G4UniversalFluctuation.hh b/source/processes/electromagnetic/standard/include/G4UniversalFluctuation.hh index dd8a00bf61..02b03da8e6 100644 --- a/source/processes/electromagnetic/standard/include/G4UniversalFluctuation.hh +++ b/source/processes/electromagnetic/standard/include/G4UniversalFluctuation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4UniversalFluctuation.hh,v 1.10 2009/03/19 14:15:17 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4UniversalFluctuation.hh,v 1.12 2010/08/08 08:19:59 urban Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -33,7 +33,7 @@ // // File name: G4UniversalFluctuation // -// Author: Vladimir Ivanchenko +// Author: V.Ivanchenko make a class with the Laszlo Urban model // // Creation date: 03.01.2002 // @@ -109,14 +109,16 @@ private: G4double e2LogFluct; G4double ipotLogFluct; G4double e0; + G4double esmall; G4double e1,e2; G4double minNumberInteractionsBohr; G4double theBohrBeta2; G4double minLoss; - G4double nmaxCont1; - G4double nmaxCont2; + G4double nmaxCont; + G4double rate,fw; + }; diff --git a/source/processes/electromagnetic/standard/include/G4UniversalFluctuation93.hh b/source/processes/electromagnetic/standard/include/G4UniversalFluctuation93.hh new file mode 100644 index 0000000000..b69d2523d4 --- /dev/null +++ b/source/processes/electromagnetic/standard/include/G4UniversalFluctuation93.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: G4UniversalFluctuation93.hh,v 1.2 2010/10/26 10:06:12 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4UniversalFluctuation93 +// +// Author: V.Ivanchenko make a class with the Laszlo Urban model +// +// Creation date: 03.01.2002 +// +// Modifications: +// +// 09-12-02 remove warnings (V.Ivanchenko) +// 28-12-02 add method Dispersion (V.Ivanchenko) +// 07-02-03 change signature (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// 16-10-03 Changed interface to Initialisation (V.Ivanchenko) +// 07-02-05 define problim = 5.e-3 (mma) +// 14-06-10 saved version of 9.3 model with the name G4UniversalFluctuation93 +// +// Class Description: +// +// Implementation of energy loss fluctuations + +// ------------------------------------------------------------------- +// + +#ifndef G4UniversalFluctuation93_h +#define G4UniversalFluctuation93_h 1 + + +#include "G4VEmFluctuationModel.hh" +#include "G4ParticleDefinition.hh" + +class G4UniversalFluctuation93 : public G4VEmFluctuationModel +{ + +public: + + G4UniversalFluctuation93(const G4String& nam = "UniFluc93"); + + virtual ~G4UniversalFluctuation93(); + + virtual G4double SampleFluctuations(const G4Material*, + const G4DynamicParticle*, + G4double&, + G4double&, + G4double&); + + virtual G4double Dispersion( const G4Material*, + const G4DynamicParticle*, + G4double&, + G4double&); + + virtual void InitialiseMe(const G4ParticleDefinition*); + + // Initialisation prestep + virtual void SetParticleAndCharge(const G4ParticleDefinition*, G4double q2); + +private: + + // hide assignment operator + G4UniversalFluctuation93 & operator=(const G4UniversalFluctuation93 &right); + G4UniversalFluctuation93(const G4UniversalFluctuation93&); + + const G4ParticleDefinition* particle; + const G4Material* lastMaterial; + + G4double particleMass; + G4double chargeSquare; + + // data members to speed up the fluctuation calculation + G4double ipotFluct; + G4double electronDensity; + + G4double f1Fluct; + G4double f2Fluct; + G4double e1Fluct; + G4double e2Fluct; + G4double e1LogFluct; + G4double e2LogFluct; + G4double ipotLogFluct; + G4double e0; + + G4double e1,e2; + + G4double minNumberInteractionsBohr; + G4double theBohrBeta2; + G4double minLoss; + G4double nmaxCont1; + G4double nmaxCont2; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/source/processes/electromagnetic/standard/include/G4UrbanMscModel.hh b/source/processes/electromagnetic/standard/include/G4UrbanMscModel.hh deleted file mode 100644 index 20325c5b64..0000000000 --- a/source/processes/electromagnetic/standard/include/G4UrbanMscModel.hh +++ /dev/null @@ -1,229 +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: G4UrbanMscModel.hh,v 1.35 2009/04/29 13:30:22 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -// ------------------------------------------------------------------- -// -// -// GEANT4 Class header file -// -// -// File name: G4UrbanMscModel -// -// Author: Laszlo Urban -// -// Creation date: 06.03.2008 -// -// Modifications: -// -// 28-04-09 move G4UrbanMscModel2 from the g49.2 to G4UrbanMscModel. -// now it is frozen (V.Ivanchenk0) -// -// Class Description: -// -// Implementation of the model of multiple scattering based on -// H.W.Lewis Phys Rev 78 (1950) 526 and L.Urban model - -// ------------------------------------------------------------------- -// - -#ifndef G4UrbanMscModel_h -#define G4UrbanMscModel_h 1 - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4VMscModel.hh" -#include "G4PhysicsTable.hh" -#include "G4MscStepLimitType.hh" - -class G4ParticleChangeForMSC; -class G4SafetyHelper; -class G4LossTableManager; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4UrbanMscModel : public G4VMscModel -{ - -public: - - G4UrbanMscModel(const G4String& nam = "UrbanMscUni"); - - virtual ~G4UrbanMscModel(); - - void Initialise(const G4ParticleDefinition*, const G4DataVector&); - - G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition* particle, - G4double KineticEnergy, - G4double AtomicNumber, - G4double AtomicWeight=0., - G4double cut =0., - G4double emax=DBL_MAX); - - void SampleScattering(const G4DynamicParticle*, - G4double safety); - - G4double ComputeTruePathLengthLimit(const G4Track& track, - G4PhysicsTable* theLambdaTable, - G4double currentMinimalStep); - - G4double ComputeGeomPathLength(G4double truePathLength); - - G4double ComputeTrueStepLength(G4double geomStepLength); - - G4double ComputeTheta0(G4double truePathLength, - G4double KineticEnergy); - -private: - - G4double SimpleScattering(G4double xmeanth, G4double x2meanth); - - G4double SampleCosineTheta(G4double trueStepLength, G4double KineticEnergy); - - G4double SampleDisplacement(); - - G4double LatCorrelation(); - - inline G4double GetLambda(G4double kinEnergy); - - inline void SetParticle(const G4ParticleDefinition*); - - inline void UpdateCache(); - - // hide assignment operator - G4UrbanMscModel & operator=(const G4UrbanMscModel &right); - G4UrbanMscModel(const G4UrbanMscModel&); - - const G4ParticleDefinition* particle; - G4ParticleChangeForMSC* fParticleChange; - - G4PhysicsTable* theLambdaTable; - const G4MaterialCutsCouple* couple; - G4LossTableManager* theManager; - - G4double mass; - G4double charge,ChargeSquare; - G4double masslimite,lambdalimit,fr; - - G4double taubig; - G4double tausmall; - G4double taulim; - G4double currentTau; - G4double tlimit; - G4double tlimitmin; - G4double tlimitminfix; - G4double tgeom; - - G4double geombig; - G4double geommin; - G4double geomlimit; - G4double skindepth; - G4double smallstep; - - G4double presafety; - - G4double lambda0; - G4double lambdaeff; - G4double tPathLength; - G4double zPathLength; - G4double par1,par2,par3; - - G4double stepmin; - - G4double currentKinEnergy; - G4double currentRange; - G4double rangeinit; - G4double currentRadLength; - - G4double theta0max,rellossmax; - G4double third; - - G4int currentMaterialIndex; - - G4double y; - G4double Zold; - G4double Zeff,Z2,Z23,lnZ; - G4double coeffth1,coeffth2; - G4double coeffc1,coeffc2; - G4double scr1ini,scr2ini,scr1,scr2; - - G4bool isInitialized; - G4bool inside; - G4bool insideskin; -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline -G4double G4UrbanMscModel::GetLambda(G4double e) -{ - G4double x; - if(theLambdaTable) { - G4bool b; - x = ((*theLambdaTable)[currentMaterialIndex])->GetValue(e, b); - } else { - x = CrossSection(couple,particle,e); - } - if(x > DBL_MIN) x = 1./x; - else x = DBL_MAX; - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline -void G4UrbanMscModel::SetParticle(const G4ParticleDefinition* p) -{ - if (p != particle) { - particle = p; - mass = p->GetPDGMass(); - charge = p->GetPDGCharge()/eplus; - ChargeSquare = charge*charge; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline -void G4UrbanMscModel::UpdateCache() -{ - lnZ = std::log(Zeff); - coeffth1 = 0.885+lnZ*(0.104-0.0170*lnZ); - coeffth2 = 0.028+lnZ*(0.012-0.00125*lnZ); - coeffc1 = 2.134-lnZ*(0.1045-0.00602*lnZ); - coeffc2 = 0.001126-lnZ*(0.0001089+0.0000247*lnZ); - Z2 = Zeff*Zeff; - Z23 = std::exp(2.*lnZ/3.); - scr1 = scr1ini*Z23; - scr2 = scr2ini*Z2*ChargeSquare; - // lastMaterial = couple->GetMaterial(); - Zold = Zeff; -} - -#endif - diff --git a/source/processes/electromagnetic/standard/include/G4UrbanMscModel2.hh b/source/processes/electromagnetic/standard/include/G4UrbanMscModel2.hh deleted file mode 100644 index f2bb55a73e..0000000000 --- a/source/processes/electromagnetic/standard/include/G4UrbanMscModel2.hh +++ /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. * -// ******************************************************************** -// -// $Id: G4UrbanMscModel2.hh,v 1.17 2009/05/15 09:26:42 urban Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -// ------------------------------------------------------------------- -// -// -// GEANT4 Class header file -// -// -// File name: G4UrbanMscModel2 -// -// Author: Laszlo Urban -// -// Creation date: 06.03.2008 -// -// Modifications: -// 23.04.2009 L.Urban updated parameterization in UpdateCache method -// -// -// Class Description: -// -// Implementation of the model of multiple scattering based on -// H.W.Lewis Phys Rev 78 (1950) 526 and L.Urban model - -// ------------------------------------------------------------------- -// - -#ifndef G4UrbanMscModel2_h -#define G4UrbanMscModel2_h 1 - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4VMscModel.hh" -#include "G4PhysicsTable.hh" -#include "G4MscStepLimitType.hh" - -class G4ParticleChangeForMSC; -class G4SafetyHelper; -class G4LossTableManager; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4UrbanMscModel2 : public G4VMscModel -{ - -public: - - G4UrbanMscModel2(const G4String& nam = "UrbanMscUni2"); - - virtual ~G4UrbanMscModel2(); - - void Initialise(const G4ParticleDefinition*, const G4DataVector&); - - G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition* particle, - G4double KineticEnergy, - G4double AtomicNumber, - G4double AtomicWeight=0., - G4double cut =0., - G4double emax=DBL_MAX); - - void SampleScattering(const G4DynamicParticle*, - G4double safety); - - G4double ComputeTruePathLengthLimit(const G4Track& track, - G4PhysicsTable* theLambdaTable, - G4double currentMinimalStep); - - G4double ComputeGeomPathLength(G4double truePathLength); - - G4double ComputeTrueStepLength(G4double geomStepLength); - - G4double ComputeTheta0(G4double truePathLength, - G4double KineticEnergy); - -private: - - G4double SimpleScattering(G4double xmeanth, G4double x2meanth); - - G4double SampleCosineTheta(G4double trueStepLength, G4double KineticEnergy); - - G4double SampleDisplacement(); - - G4double LatCorrelation(); - - inline G4double GetLambda(G4double kinEnergy); - - inline void SetParticle(const G4ParticleDefinition*); - - inline void UpdateCache(); - - // hide assignment operator - G4UrbanMscModel2 & operator=(const G4UrbanMscModel2 &right); - G4UrbanMscModel2(const G4UrbanMscModel2&); - - const G4ParticleDefinition* particle; - G4ParticleChangeForMSC* fParticleChange; - - G4PhysicsTable* theLambdaTable; - const G4MaterialCutsCouple* couple; - G4LossTableManager* theManager; - - G4double mass; - G4double charge,ChargeSquare; - G4double masslimite,lambdalimit,fr; - - G4double taubig; - G4double tausmall; - G4double taulim; - G4double currentTau; - G4double tlimit; - G4double tlimitmin; - G4double tlimitminfix; - G4double tgeom; - - G4double geombig; - G4double geommin; - G4double geomlimit; - G4double skindepth; - G4double smallstep; - - G4double presafety; - - G4double lambda0; - G4double lambdaeff; - G4double tPathLength; - G4double zPathLength; - G4double par1,par2,par3; - - G4double stepmin; - - G4double currentKinEnergy; - G4double currentRange; - G4double rangeinit; - G4double currentRadLength; - - G4double theta0max,rellossmax; - G4double third; - - G4int currentMaterialIndex; - - G4double y; - G4double Zold; - G4double Zeff,Z2,Z23,lnZ; - G4double coeffth1,coeffth2; - G4double coeffc1,coeffc2; - G4double scr1ini,scr2ini,scr1,scr2; - - G4bool isInitialized; - G4bool inside; - G4bool insideskin; -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline -G4double G4UrbanMscModel2::GetLambda(G4double e) -{ - G4double x; - if(theLambdaTable) { - G4bool b; - x = ((*theLambdaTable)[currentMaterialIndex])->GetValue(e, b); - } else { - x = CrossSection(couple,particle,e); - } - if(x > DBL_MIN) x = 1./x; - else x = DBL_MAX; - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline -void G4UrbanMscModel2::SetParticle(const G4ParticleDefinition* p) -{ - if (p != particle) { - particle = p; - mass = p->GetPDGMass(); - charge = p->GetPDGCharge()/eplus; - ChargeSquare = charge*charge; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline -void G4UrbanMscModel2::UpdateCache() -{ - lnZ = std::log(Zeff); - //new correction in theta0 formula - coeffth1 = (1.-8.7780e-2/Zeff)*(0.87+0.03*lnZ); - coeffth2 = (4.0780e-2+1.7315e-4*Zeff)*(0.87+0.03*lnZ); - // tail parameters - G4double lnZ1 = std::log(Zeff+1.); - coeffc1 = 2.943-0.197*lnZ1; - coeffc2 = 0.0987-0.0143*lnZ1; - // for single scattering - Z2 = Zeff*Zeff; - Z23 = std::exp(2.*lnZ/3.); - scr1 = scr1ini*Z23; - scr2 = scr2ini*Z2*ChargeSquare; - - Zold = Zeff; -} - -#endif - diff --git a/source/processes/electromagnetic/standard/include/G4UrbanMscModel93.hh b/source/processes/electromagnetic/standard/include/G4UrbanMscModel93.hh index 8915486fa5..c6a30a5b43 100644 --- a/source/processes/electromagnetic/standard/include/G4UrbanMscModel93.hh +++ b/source/processes/electromagnetic/standard/include/G4UrbanMscModel93.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4UrbanMscModel93.hh,v 1.1 2009/11/01 13:04:12 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4UrbanMscModel93.hh,v 1.4 2009/12/14 06:57:12 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/standard/include/G4WaterStopping.hh b/source/processes/electromagnetic/standard/include/G4WaterStopping.hh index afa3bd1932..d9a25e7a80 100644 --- a/source/processes/electromagnetic/standard/include/G4WaterStopping.hh +++ b/source/processes/electromagnetic/standard/include/G4WaterStopping.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4WaterStopping.hh,v 1.7 2009/06/19 10:39:48 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4WaterStopping.hh,v 1.8 2010/04/26 17:22:08 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ #ifndef G4WaterStopping_h #define G4WaterStopping_h 1 @@ -78,6 +78,7 @@ private: G4bool spline; G4int Z[17]; G4double A[17]; + G4double emin; std::vector dedx; }; diff --git a/source/processes/electromagnetic/standard/include/G4WentzelOKandVIxSection.hh b/source/processes/electromagnetic/standard/include/G4WentzelOKandVIxSection.hh new file mode 100644 index 0000000000..4f2c58a00d --- /dev/null +++ b/source/processes/electromagnetic/standard/include/G4WentzelOKandVIxSection.hh @@ -0,0 +1,259 @@ +// +// ******************************************************************** +// * 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: G4WentzelOKandVIxSection.hh,v 1.6 2010/06/25 09:41:38 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// ------------------------------------------------------------------- +// +// +// GEANT4 Class header file +// +// +// File name: G4WentzelOKandVIxSection +// +// Authors: V.Ivanchenko and O.Kadri +// +// Creation date: 21.05.2010 +// +// Modifications: +// +// +// Class Description: +// +// Implementation of the computation of total and transport cross sections, +// sample scattering angle for the single scattering case. +// to be used by single and multiple scattering models. References: +// 1) G.Wentzel, Z. Phys. 40 (1927) 590. +// 2) J.M. Fernandez-Varea et al., NIM B73 (1993) 447. +// +// ------------------------------------------------------------------- +// + +#ifndef G4WentzelOKandVIxSection_h +#define G4WentzelOKandVIxSection_h 1 + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "globals.hh" +#include "G4Material.hh" +#include "G4Element.hh" +#include "G4ElementVector.hh" +#include "G4NistManager.hh" +#include "G4ThreeVector.hh" +#include "G4Pow.hh" + +class G4ParticleDefinition; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class G4WentzelOKandVIxSection +{ + +public: + + G4WentzelOKandVIxSection(); + + virtual ~G4WentzelOKandVIxSection(); + + void Initialise(const G4ParticleDefinition*, G4double CosThetaLim); + + void SetupParticle(const G4ParticleDefinition*); + + // return cos(ThetaMax) for msc and cos(thetaMin) for single scattering + // cut = DBL_MAX means no scattering off electrons + G4double SetupTarget(G4int Z, G4double cut = DBL_MAX); + + G4double ComputeTransportCrossSectionPerAtom(G4double CosThetaMax); + + G4ThreeVector SampleSingleScattering(G4double CosThetaMin, + G4double CosThetaMax, + G4double elecRatio = 0.0); + + inline G4double ComputeNuclearCrossSection(G4double CosThetaMin, + G4double CosThetaMax); + + inline G4double ComputeElectronCrossSection(G4double CosThetaMin, + G4double CosThetaMax); + + inline G4double SetupKinematic(G4double kinEnergy, const G4Material* mat); + + inline void SetTargetMass(G4double value); + + inline void SetRelativisticMass(G4double value); + + inline G4double GetMomentumSquare() const; + + inline G4double GetCosThetaNuc() const; + + inline G4double GetCosThetaElec() const; + +private: + + void ComputeMaxElectronScattering(G4double cut); + + // hide assignment operator + G4WentzelOKandVIxSection & operator=(const G4WentzelOKandVIxSection &right); + G4WentzelOKandVIxSection(const G4WentzelOKandVIxSection&); + + const G4ParticleDefinition* theProton; + const G4ParticleDefinition* theElectron; + const G4ParticleDefinition* thePositron; + const G4Material* currentMaterial; + + G4NistManager* fNistManager; + G4Pow* fG4pow; + + G4double numlimit; + + G4double elecXSRatio; + + // integer parameters + G4int nwarnings; + G4int nwarnlimit; + + // single scattering parameters + G4double coeff; + G4double cosTetMaxElec; + G4double cosTetMaxNuc; + G4double cosThetaMax; + G4double alpha2; + + // projectile + const G4ParticleDefinition* particle; + + G4double chargeSquare; + G4double charge3; + G4double spin; + G4double mass; + G4double tkin; + G4double mom2; + G4double invbeta2; + G4double kinFactor; + G4double etag; + G4double ecut; + G4double lowEnergyLimit; + + // target + G4int targetZ; + G4double targetMass; + G4double screenZ; + G4double formfactA; + G4double factorA2; + G4double factB; + G4double factD; + + static G4double ScreenRSquare[100]; + static G4double FormFactor[100]; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double +G4WentzelOKandVIxSection::SetupKinematic(G4double ekin, const G4Material* mat) +{ + if(ekin != tkin || mat != currentMaterial) { + currentMaterial = mat; + tkin = ekin; + mom2 = tkin*(tkin + 2.0*mass); + invbeta2 = 1.0 + mass*mass/mom2; + factB = spin/invbeta2; + cosTetMaxNuc = cosThetaMax; + if(std::fabs(cosThetaMax) < 1.0) { + cosTetMaxNuc = + std::max(cosThetaMax,1.-factorA2*mat->GetIonisation()->GetInvA23()/mom2); + } + } + return cosTetMaxNuc; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline void G4WentzelOKandVIxSection::SetTargetMass(G4double value) +{ + targetMass = value; + factD = std::sqrt(mom2)/value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline void G4WentzelOKandVIxSection::SetRelativisticMass(G4double value) +{ + mass = value; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4WentzelOKandVIxSection::GetMomentumSquare() const +{ + return mom2; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4WentzelOKandVIxSection::GetCosThetaNuc() const +{ + return cosTetMaxNuc; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4WentzelOKandVIxSection::GetCosThetaElec() const +{ + return cosTetMaxElec; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double +G4WentzelOKandVIxSection::ComputeNuclearCrossSection(G4double cosTMin, + G4double cosTMax) +{ + G4double xsec = 0.0; + if(cosTMax < cosTMin) { + xsec = targetZ*kinFactor*(cosTMin - cosTMax)/ + ((1.0 - cosTMin + screenZ)*(1.0 - cosTMax + screenZ)); + } + return xsec; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double +G4WentzelOKandVIxSection::ComputeElectronCrossSection(G4double cosTMin, + G4double cosTMax) +{ + G4double xsec = 0.0; + G4double cost1 = std::max(cosTMin,cosTetMaxElec); + G4double cost2 = std::max(cosTMax,cosTetMaxElec); + if(cost1 > cost2) { + xsec = kinFactor*(cost1 - cost2)/((1.0 - cost1 + screenZ)*(1.0 - cost2 + screenZ)); + } + return xsec; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/source/processes/electromagnetic/standard/include/G4WentzelVIModel.hh b/source/processes/electromagnetic/standard/include/G4WentzelVIModel.hh index ef64757e28..e223aa22b5 100644 --- a/source/processes/electromagnetic/standard/include/G4WentzelVIModel.hh +++ b/source/processes/electromagnetic/standard/include/G4WentzelVIModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4WentzelVIModel.hh,v 1.21 2009/10/10 15:16:57 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4WentzelVIModel.hh,v 1.29 2010/05/27 14:22:05 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -39,7 +39,8 @@ // Creation date: 09.04.2008 from G4MuMscModel // // Modifications: -// +// 27-05-2010 V.Ivanchenko added G4WentzelOKandVIxSection class to +// compute cross sections and sample scattering angle // // Class Description: // @@ -59,13 +60,12 @@ #include "G4VMscModel.hh" #include "G4PhysicsTable.hh" -#include "G4MscStepLimitType.hh" #include "G4MaterialCutsCouple.hh" -#include "G4NistManager.hh" +#include "G4WentzelOKandVIxSection.hh" -class G4LossTableManager; -class G4ParticleChangeForMSC; class G4ParticleDefinition; +class G4LossTableManager; +class G4Pow; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -99,103 +99,58 @@ public: private: - G4double ComputeTransportXSectionPerAtom(); - G4double ComputeXSectionPerVolume(); - void ComputeMaxElectronScattering(G4double cut); - inline G4double GetLambda(G4double kinEnergy); inline void SetupParticle(const G4ParticleDefinition*); - inline void SetupKinematic(G4double kinEnergy, G4double cut); - - inline void SetupTarget(G4double Z, G4double kinEnergy); - inline void DefineMaterial(const G4MaterialCutsCouple*); // hide assignment operator G4WentzelVIModel & operator=(const G4WentzelVIModel &right); G4WentzelVIModel(const G4WentzelVIModel&); - const G4ParticleDefinition* theProton; - const G4ParticleDefinition* theElectron; - const G4ParticleDefinition* thePositron; - + G4LossTableManager* theManager; G4ParticleChangeForMSC* fParticleChange; + G4WentzelOKandVIxSection* wokvi; + G4Pow* fG4pow; G4PhysicsTable* theLambdaTable; - G4PhysicsTable* theLambda2Table; - G4LossTableManager* theManager; const G4DataVector* currentCuts; - G4NistManager* fNistManager; - - G4double numlimit; G4double tlimitminfix; G4double invsqrt12; - // cash + // cache kinematics G4double preKinEnergy; - G4double ecut; - G4double lambda0; G4double tPathLength; G4double zPathLength; G4double lambdaeff; G4double currentRange; - G4double par1; - G4double par2; - G4double par3; + // data for single scattering mode G4double xtsec; std::vector xsecn; std::vector prob; G4int nelments; - G4int nbins; - G4int nwarnings; - G4int nwarnlimit; + G4double numlimit; + // cache material G4int currentMaterialIndex; - const G4MaterialCutsCouple* currentCouple; const G4Material* currentMaterial; // single scattering parameters - G4double coeff; G4double cosThetaMin; G4double cosThetaMax; G4double cosTetMaxNuc; - G4double cosTetMaxNuc2; - G4double cosTetMaxElec; - G4double cosTetMaxElec2; - G4double q2Limit; - G4double alpha2; // projectile const G4ParticleDefinition* particle; - - G4double chargeSquare; - G4double spin; - G4double mass; - G4double tkin; - G4double mom2; - G4double invbeta2; - G4double kinFactor; - G4double etag; G4double lowEnergyLimit; - // target - G4double targetZ; - G4double targetMass; - G4double screenZ; - G4double formfactA; - G4int iz; - - static G4double ScreenRSquare[100]; - static G4double FormFactor[100]; - // flags G4bool isInitialized; G4bool inside; @@ -221,14 +176,13 @@ G4double G4WentzelVIModel::GetLambda(G4double e) { G4double x; if(theLambdaTable) { - G4bool b; - x = ((*theLambdaTable)[currentMaterialIndex])->GetValue(e, b); + x = ((*theLambdaTable)[currentMaterialIndex])->Value(e); } else { x = CrossSection(currentCouple,particle,e, (*currentCuts)[currentMaterialIndex]); } - if(x > DBL_MIN) x = 1./x; - else x = DBL_MAX; + if(x > DBL_MIN) { x = 1./x; } + else { x = DBL_MAX; } return x; } @@ -239,51 +193,10 @@ inline void G4WentzelVIModel::SetupParticle(const G4ParticleDefinition* p) // Initialise mass and charge if(p != particle) { particle = p; - mass = particle->GetPDGMass(); - spin = particle->GetPDGSpin(); - G4double q = particle->GetPDGCharge()/eplus; - chargeSquare = q*q; - tkin = 0.0; + wokvi->SetupParticle(p); } } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4WentzelVIModel::SetupKinematic(G4double ekin, G4double cut) -{ - if(ekin != tkin || ecut != cut) { - tkin = ekin; - mom2 = tkin*(tkin + 2.0*mass); - invbeta2 = 1.0 + mass*mass/mom2; - cosTetMaxNuc = cosThetaMax; - if(mass < MeV && ekin <= 10.*cut) { - cosTetMaxNuc = ekin*(cosThetaMax + 1.0)/(10.*cut) - 1.0; - } - ComputeMaxElectronScattering(cut); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4WentzelVIModel::SetupTarget(G4double Z, G4double e) -{ - if(Z != targetZ || e != etag) { - etag = e; - targetZ = Z; - iz = G4int(Z); - if(iz > 99) iz = 99; - targetMass = fNistManager->GetAtomicMassAmu(iz)*amu_c2; - screenZ = ScreenRSquare[iz]/mom2; - G4double meff = targetMass/(mass+targetMass); - kinFactor = coeff*targetZ*chargeSquare*invbeta2/(mom2*meff*meff); - screenZ *=(1.13 + std::min(1.0,3.76*Z*Z*invbeta2*alpha2)); - if(mass > MeV) { screenZ *= 2.0; } - formfactA = FormFactor[iz]*mom2; - cosTetMaxNuc2 = cosTetMaxNuc; - cosTetMaxElec2 = cosTetMaxElec; - } -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/standard/include/G4alphaIonisation.hh b/source/processes/electromagnetic/standard/include/G4alphaIonisation.hh index db5735a906..4124a767a0 100644 --- a/source/processes/electromagnetic/standard/include/G4alphaIonisation.hh +++ b/source/processes/electromagnetic/standard/include/G4alphaIonisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4alphaIonisation.hh,v 1.1 2009/11/10 11:50:30 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4alphaIonisation.hh,v 1.3 2010/10/26 10:06:12 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -70,8 +70,6 @@ public: // Print out of the class parameters virtual void PrintInfo(); - void ActivateNuclearStopping(G4bool); - protected: virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*, @@ -82,8 +80,6 @@ protected: inline G4double BetheBlochEnergyThreshold(); - inline G4bool NuclearStoppingFlag(); - private: // hide assignment operator @@ -97,19 +93,11 @@ private: G4double eth; G4bool isInitialised; - G4bool nuclearStopping; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4alphaIonisation::ActivateNuclearStopping(G4bool val) -{ - nuclearStopping = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - inline G4double G4alphaIonisation::BetheBlochEnergyThreshold() { return eth; @@ -117,11 +105,4 @@ inline G4double G4alphaIonisation::BetheBlochEnergyThreshold() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4bool G4alphaIonisation::NuclearStoppingFlag() -{ - return nuclearStopping; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - #endif diff --git a/source/processes/electromagnetic/standard/include/G4eBremsstrahlungRelModel.hh b/source/processes/electromagnetic/standard/include/G4eBremsstrahlungRelModel.hh index d02787f9ec..e51cc30d71 100644 --- a/source/processes/electromagnetic/standard/include/G4eBremsstrahlungRelModel.hh +++ b/source/processes/electromagnetic/standard/include/G4eBremsstrahlungRelModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eBremsstrahlungRelModel.hh,v 1.11 2009/02/20 12:06:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4eBremsstrahlungRelModel.hh,v 1.14 2010/10/26 10:35:22 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -64,7 +64,7 @@ class G4eBremsstrahlungRelModel : public G4VEmModel public: G4eBremsstrahlungRelModel(const G4ParticleDefinition* p = 0, - const G4String& nam = "eBremRel"); + const G4String& nam = "eBremLPM"); virtual ~G4eBremsstrahlungRelModel(); @@ -158,8 +158,8 @@ protected: G4bool isElectron; private: + // consts - G4double highKinEnergy; G4double lowKinEnergy; G4double fMigdalConstant; G4double fLPMconstant; @@ -194,8 +194,8 @@ inline void G4eBremsstrahlungRelModel::SetCurrentElement(const G4double Z) Finel = facFinel - 2.*lnZ/3. ; } - fCoulomb=GetCurrentElement()->GetfCoulomb(); - fMax = Fel-fCoulomb + Finel/currentZ + (1.+1./currentZ)/12.; + fCoulomb = GetCurrentElement()->GetfCoulomb(); + fMax = Fel-fCoulomb + Finel/currentZ + (1.+1./currentZ)/12.; } } diff --git a/source/processes/electromagnetic/standard/include/G4eCoulombScatteringModel.hh b/source/processes/electromagnetic/standard/include/G4eCoulombScatteringModel.hh index e2e8027702..bdb69690a9 100644 --- a/source/processes/electromagnetic/standard/include/G4eCoulombScatteringModel.hh +++ b/source/processes/electromagnetic/standard/include/G4eCoulombScatteringModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eCoulombScatteringModel.hh,v 1.49 2009/10/10 15:16:57 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4eCoulombScatteringModel.hh,v 1.56 2010/05/27 14:22:05 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -46,6 +46,8 @@ // 09.10.07 V.Ivanchenko reorganized methods, add cut dependence in scattering off e- // 09.06.08 V.Ivanchenko add SelectIsotope and sampling of the recoil ion // 17.06.09 C.Consoalndi modified SetupTarget method - remove kinFactor +// 27.05.10 V.Ivanchenko added G4WentzelOKandVIxSection class to +// compute cross sections and sample scattering angle // // // Class Description: @@ -65,13 +67,14 @@ #define G4eCoulombScatteringModel_h 1 #include "G4VEmModel.hh" -#include "G4PhysicsTable.hh" #include "globals.hh" -#include "G4NistManager.hh" -#include +#include "G4MaterialCutsCouple.hh" +#include "G4WentzelOKandVIxSection.hh" class G4ParticleChangeForGamma; class G4ParticleDefinition; +class G4ParticleTable; +class G4NistManager; class G4eCoulombScatteringModel : public G4VEmModel { @@ -98,38 +101,29 @@ public: G4double tmin, G4double maxEnergy); + // defines low energy limit of the model + inline void SetLowEnergyLimit(G4double val); + + // obsolete method inline void SetRecoilThreshold(G4double eth); protected: - G4double CrossSectionPerAtom(); - - G4double SampleCosineTheta(); - inline void DefineMaterial(const G4MaterialCutsCouple*); inline void SetupParticle(const G4ParticleDefinition*); - inline void SetupKinematic(G4double kinEnergy, G4double cut); - - inline void SetupTarget(G4double Z, G4double kinEnergy); - private: - void ComputeMaxElectronScattering(G4double cut); - // hide assignment operator G4eCoulombScatteringModel & operator=(const G4eCoulombScatteringModel &right); G4eCoulombScatteringModel(const G4eCoulombScatteringModel&); protected: - const G4ParticleDefinition* theProton; - const G4ParticleDefinition* theElectron; - const G4ParticleDefinition* thePositron; - - G4ParticleTable* theParticleTable; + G4ParticleTable* theParticleTable; G4ParticleChangeForGamma* fParticleChange; + G4WentzelOKandVIxSection* wokvi; G4NistManager* fNistManager; const std::vector* pCuts; @@ -139,48 +133,22 @@ protected: const G4Element* currentElement; G4int currentMaterialIndex; - G4double coeff; G4double cosThetaMin; G4double cosThetaMax; G4double cosTetMinNuc; G4double cosTetMaxNuc; - G4double cosTetMaxNuc2; - G4double cosTetMaxElec; - G4double cosTetMaxElec2; - G4double q2Limit; G4double recoilThreshold; - G4double elecXSection; - G4double nucXSection; - G4double ecut; + G4double elecRatio; + G4double mass; // projectile const G4ParticleDefinition* particle; + const G4ParticleDefinition* theProton; - G4double chargeSquare; - G4double spin; - G4double mass; - G4double tkin; - G4double mom2; - G4double invbeta2; - G4double etag; G4double lowEnergyLimit; - // target - G4double targetZ; - G4double targetMass; - G4double screenZ; - G4double formfactA; - G4int idxelm; - G4int iz; - private: - G4double alpha2; - G4double faclim; - - static G4double ScreenRSquare[100]; - static G4double FormFactor[100]; - G4bool isInitialised; }; @@ -205,53 +173,17 @@ void G4eCoulombScatteringModel::SetupParticle(const G4ParticleDefinition* p) if(p != particle) { particle = p; mass = particle->GetPDGMass(); - spin = particle->GetPDGSpin(); - G4double q = particle->GetPDGCharge()/eplus; - chargeSquare = q*q; - tkin = 0.0; + wokvi->SetupParticle(p); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4eCoulombScatteringModel::SetupKinematic(G4double ekin, - G4double cut) +inline void G4eCoulombScatteringModel::SetLowEnergyLimit(G4double val) { - if(ekin != tkin || ecut != cut) { - tkin = ekin; - mom2 = tkin*(tkin + 2.0*mass); - invbeta2 = 1.0 + mass*mass/mom2; - cosTetMinNuc = cosThetaMin; - cosTetMaxNuc = cosThetaMax; - if(mass < MeV && cosThetaMin < 1.0 && ekin <= 10.*cut) { - cosTetMinNuc = ekin*(cosThetaMin + 1.0)/(10.*cut) - 1.0; - } - ComputeMaxElectronScattering(cut); - } + lowEnergyLimit = val; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4eCoulombScatteringModel::SetupTarget(G4double Z, G4double e) -{ - if(Z != targetZ || e != etag) { - etag = e; - targetZ = Z; - iz= G4int(Z); - if(iz > 99) iz = 99; - targetMass = fNistManager->GetAtomicMassAmu(iz)*amu_c2; - screenZ = ScreenRSquare[iz]/mom2; - screenZ *=(1.13 + std::min(1.0,3.76*Z*Z*invbeta2*alpha2)); - if(mass > MeV) { screenZ *= 2.0; } - formfactA = FormFactor[iz]*mom2; - cosTetMaxNuc2 = cosTetMaxNuc; - if(1 == iz && particle == theProton && cosTetMaxNuc2 < 0.0) { - cosTetMaxNuc2 = 0.0; - } - cosTetMaxElec2 = cosTetMaxElec; - } -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline void G4eCoulombScatteringModel::SetRecoilThreshold(G4double eth) diff --git a/source/processes/electromagnetic/standard/include/G4eMultipleScattering.hh b/source/processes/electromagnetic/standard/include/G4eMultipleScattering.hh index a157c2e0eb..c5afc2ac5d 100644 --- a/source/processes/electromagnetic/standard/include/G4eMultipleScattering.hh +++ b/source/processes/electromagnetic/standard/include/G4eMultipleScattering.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eMultipleScattering.hh,v 1.3 2009/11/01 13:04:12 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4eMultipleScattering.hh,v 1.4 2010/10/26 10:39:02 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ----------------------------------------------------------------------------- // @@ -63,7 +63,7 @@ class G4eMultipleScattering : public G4VMultipleScattering { public: // with description - G4eMultipleScattering(const G4String& processName="msc"); + G4eMultipleScattering(const G4String& processName = "msc"); virtual ~G4eMultipleScattering(); @@ -74,13 +74,13 @@ public: // with description void PrintInfo(); // geom. step length distribution should be sampled or not - void Setsamplez(G4bool value) { samplez = value;}; + //void Setsamplez(G4bool value) { samplez = value;}; // to reduce the energy/step dependence - void Setdtrl(G4double value) { dtrl = value;}; + //void Setdtrl(G4double value) { dtrl = value;}; // 'soften' step limitation above lambdalimit - void SetLambdalimit(G4double value) { lambdalimit = value;}; + //void SetLambdalimit(G4double value) { lambdalimit = value;}; protected: @@ -89,10 +89,10 @@ protected: private: // data members - G4double lambdalimit; - G4double dtrl; + // G4double lambdalimit; + //G4double dtrl; - G4bool samplez; + //G4bool samplez; G4bool isInitialized; }; diff --git a/source/processes/electromagnetic/standard/include/G4hIonisation.hh b/source/processes/electromagnetic/standard/include/G4hIonisation.hh index 99adf99fad..410dab5ecb 100644 --- a/source/processes/electromagnetic/standard/include/G4hIonisation.hh +++ b/source/processes/electromagnetic/standard/include/G4hIonisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4hIonisation.hh,v 1.42 2009/02/20 12:06:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4hIonisation.hh,v 1.44 2010/05/27 10:25:23 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -100,6 +100,7 @@ public: // Print out of the class parameters virtual void PrintInfo(); + // obsolete method void ActivateNuclearStopping(G4bool); protected: @@ -114,7 +115,6 @@ private: G4hIonisation(const G4hIonisation&); G4bool isInitialised; - G4bool nuclearStopping; G4double mass; G4double ratio; @@ -123,11 +123,4 @@ private: //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4hIonisation::ActivateNuclearStopping(G4bool val) -{ - nuclearStopping = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - #endif diff --git a/source/processes/electromagnetic/standard/include/G4ionIonisation.hh b/source/processes/electromagnetic/standard/include/G4ionIonisation.hh index dc9b969403..91cf229b2d 100644 --- a/source/processes/electromagnetic/standard/include/G4ionIonisation.hh +++ b/source/processes/electromagnetic/standard/include/G4ionIonisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ionIonisation.hh,v 1.57 2009/02/20 12:06:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ionIonisation.hh,v 1.58 2010/09/28 15:50:00 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -94,8 +94,6 @@ public: void ActivateStoppingData(G4bool); - void ActivateNuclearStopping(G4bool); - protected: virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*, @@ -106,8 +104,6 @@ protected: inline G4double BetheBlochEnergyThreshold(); - inline G4bool NuclearStoppingFlag(); - private: // hide assignment operator @@ -122,7 +118,6 @@ private: G4bool isInitialised; G4bool stopDataActive; - G4bool nuclearStopping; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -135,13 +130,6 @@ inline void G4ionIonisation::ActivateStoppingData(G4bool val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4ionIonisation::ActivateNuclearStopping(G4bool val) -{ - nuclearStopping = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - inline G4double G4ionIonisation::BetheBlochEnergyThreshold() { return eth; @@ -149,11 +137,4 @@ inline G4double G4ionIonisation::BetheBlochEnergyThreshold() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4bool G4ionIonisation::NuclearStoppingFlag() -{ - return nuclearStopping; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - #endif diff --git a/source/processes/electromagnetic/standard/sources.cmake b/source/processes/electromagnetic/standard/sources.cmake new file mode 100644 index 0000000000..838b267963 --- /dev/null +++ b/source/processes/electromagnetic/standard/sources.cmake @@ -0,0 +1,191 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4emstandard +# Package: Geant4.src.G4processes.G4electromagnetic.G4emstandard +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.4 2010/11/29 17:35:45 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4emstandard + HEADERS + G4ASTARStopping.hh + G4BetheBlochIonGasModel.hh + G4BetheBlochModel.hh + G4BetheHeitlerModel.hh + G4BohrFluctuations.hh + G4BraggIonGasModel.hh + G4BraggIonModel.hh + G4BraggModel.hh + G4ComptonScattering.hh + G4CoulombScattering.hh + G4CoulombScatteringModel.hh + G4GammaConversion.hh + G4GoudsmitSaundersonMscModel.hh + G4GoudsmitSaundersonTable.hh + G4HeatedKleinNishinaCompton.hh + G4ICRU49NuclearStoppingModel.hh + G4ICRU73QOModel.hh + G4InitXscPAI.hh + G4IonCoulombCrossSection.hh + G4IonCoulombScatteringModel.hh + G4IonFluctuations.hh + G4KleinNishinaCompton.hh + G4KleinNishinaModel.hh + G4ModifiedTsai.hh + G4MollerBhabhaModel.hh + G4NuclearStopping.hh + G4PAIModel.hh + G4PAIPhotonModel.hh + G4PAIxSection.hh + G4PAIySection.hh + G4PEEffectFluoModel.hh + G4PEEffectModel.hh + G4PSTARStopping.hh + G4PairProductionRelModel.hh + G4PhotoElectricEffect.hh + G4UniversalFluctuation.hh + G4UniversalFluctuation93.hh + G4UrbanMscModel90.hh + G4UrbanMscModel92.hh + G4UrbanMscModel93.hh + G4WaterStopping.hh + G4WentzelOKandVIxSection.hh + G4WentzelVIModel.hh + G4alphaIonisation.hh + G4eBremsstrahlung.hh + G4eBremsstrahlungModel.hh + G4eBremsstrahlungRelModel.hh + G4eCoulombScatteringModel.hh + G4eIonisation.hh + G4eMultipleScattering.hh + G4eeToTwoGammaModel.hh + G4eplusAnnihilation.hh + G4hIonisation.hh + G4hMultipleScattering.hh + G4ionGasIonisation.hh + G4ionIonisation.hh + SOURCES + G4ASTARStopping.cc + G4BetheBlochIonGasModel.cc + G4BetheBlochModel.cc + G4BetheHeitlerModel.cc + G4BohrFluctuations.cc + G4BraggIonGasModel.cc + G4BraggIonModel.cc + G4BraggModel.cc + G4ComptonScattering.cc + G4CoulombScattering.cc + G4CoulombScatteringModel.cc + G4GammaConversion.cc + G4GoudsmitSaundersonMscModel.cc + G4GoudsmitSaundersonTable.cc + G4HeatedKleinNishinaCompton.cc + G4ICRU49NuclearStoppingModel.cc + G4ICRU73QOModel.cc + G4InitXscPAI.cc + G4IonCoulombCrossSection.cc + G4IonCoulombScatteringModel.cc + G4IonFluctuations.cc + G4KleinNishinaCompton.cc + G4KleinNishinaModel.cc + G4ModifiedTsai.cc + G4MollerBhabhaModel.cc + G4NuclearStopping.cc + G4PAIModel.cc + G4PAIPhotonModel.cc + G4PAIxSection.cc + G4PAIySection.cc + G4PEEffectFluoModel.cc + G4PEEffectModel.cc + G4PSTARStopping.cc + G4PairProductionRelModel.cc + G4PhotoElectricEffect.cc + G4UniversalFluctuation.cc + G4UniversalFluctuation93.cc + G4UrbanMscModel90.cc + G4UrbanMscModel92.cc + G4UrbanMscModel93.cc + G4WaterStopping.cc + G4WentzelOKandVIxSection.cc + G4WentzelVIModel.cc + G4alphaIonisation.cc + G4eBremsstrahlung.cc + G4eBremsstrahlungModel.cc + G4eBremsstrahlungRelModel.cc + G4eCoulombScatteringModel.cc + G4eIonisation.cc + G4eMultipleScattering.cc + G4eeToTwoGammaModel.cc + G4eplusAnnihilation.cc + G4hIonisation.cc + G4hMultipleScattering.cc + G4ionGasIonisation.cc + G4ionIonisation.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4cuts + G4emutils + G4geometrymng + G4globman + G4hepnumerics + G4intercoms + G4ions + G4leptons + G4materials + G4mesons + G4navigation + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/electromagnetic/standard/src/G4ASTARStopping.cc b/source/processes/electromagnetic/standard/src/G4ASTARStopping.cc index 3d2a4fb9ea..e2a3719ff8 100644 --- a/source/processes/electromagnetic/standard/src/G4ASTARStopping.cc +++ b/source/processes/electromagnetic/standard/src/G4ASTARStopping.cc @@ -23,9 +23,9 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ASTARStopping.cc,v 1.8 2008/11/24 18:28:09 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ - +// $Id: G4ASTARStopping.cc,v 1.13 2010/04/26 17:22:08 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// //--------------------------------------------------------------------------- // // GEANT4 Class file @@ -39,6 +39,9 @@ // Contract: CSMAN-5288 // // Modifications: +// 19.04.2010 A.Ivanchenko fixed data for G4_O, +// checked all data +// 25.04.2010 V.Ivanchenko introduce G4LPhysicsFreeVector // //---------------------------------------------------------------------------- // @@ -52,26 +55,31 @@ G4ASTARStopping::G4ASTARStopping() { - currentE = 0.0; currentMaterial = 0; - index = 0; matIndex = -1; + + name.resize(74,""); + effZ.resize(74,0); + sdata.resize(74,0); + Initialise(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4ASTARStopping::~G4ASTARStopping() -{} +{ + for(size_t i=0; i<74; ++i) { delete sdata[i]; } +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4int G4ASTARStopping:: GetIndex (const G4Material* mat) { - if (mat == currentMaterial) return matIndex; + if (mat == currentMaterial) { return matIndex; } G4String matName = mat->GetName(); - for (G4int i=0; i<74; i++){ - if (matName == name[i]){ + for (G4int i=0; i<74; ++i){ + if (matName == name[i]){ matIndex = i; currentMaterial = mat; return i; @@ -84,43 +92,19 @@ G4int G4ASTARStopping:: GetIndex (const G4Material* mat) G4double G4ASTARStopping::GetElectronicDEDX(G4int i, G4double energy) { - if (matIndex == i && energy == currentE) return res; - + G4double res = 0.0; if (i<0 || i>73){ G4cout << "### G4ASTARStopping WARNING: index " << i << " is out of range!" << G4endl; - res = 0.0; return res; } - matIndex = i; - currentE = energy; - - if (energy < kinE[index] || energy > kinE[index+1]){ - - if (energy <= kinE[0]) { - index = 0; - res = e[matIndex][0]*std::sqrt(energy/kinE[0]); - return res; - } else if (energy >= kinE[77]) { - index = 76; - res = e[matIndex][77]; - return res; - } - for (index = 0; index<77; index++){if (energy <= kinE[index+1]) break;} - } - - G4double t1 = kinE[index]; - G4double t2 = kinE[index+1]; - G4double e1 = e[matIndex][index]; - G4double e2 = e[matIndex][index+1]; - res = e1*std::exp(std::log(energy/t1)*std::log(e2/e1)/std::log(t2/t1)); + if(energy < emin) { res = (*(sdata[i]))[0]*std::sqrt(energy/emin); } + else { res = sdata[i]->Value(energy); } return res; - } +} void G4ASTARStopping::Initialise() { - -G4int i; G4double Z[74] = { 6.0, 6.0, 6.0, 47.0, 7.0, 13.0, 13.0, 18.0, 79.0, 6.0, 4.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 20.0, 40.0, 6.0, @@ -132,378 +116,312 @@ G4double Z[74] = { 74.0, 8.0, 8.0, 54.0 }; - for(i=0; i<74; i++) {effZ[i]=Z[i];} - +for(G4int i=0; i<74; ++i) {effZ[i]=Z[i];} + name [0] = "G4_A-150_TISSUE"; -G4double T0[78] = { 0.001, 0.0015, 0.002, 0.0025, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.009, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03, 0.035, 0.04, 0.045, 0.05, 0.055, 0.06, 0.065, 0.07, 0.075, 0.08, 0.085, 0.09, 0.095, 0.1, 0.125, 0.15, 0.175, 0.2, 0.225, 0.25, 0.275, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10 }; - +G4double T0[78] = { 0.001, 0.0015, 0.002, 0.0025, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.009, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03, 0.035, 0.04, 0.045, 0.05, 0.055, 0.06, 0.065, 0.07, 0.075, 0.08, 0.085, 0.09, 0.095, 0.1, 0.125, 0.15, 0.175, 0.2, 0.225, 0.25, 0.275, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10. }; + emin = T0[0]*MeV; + G4double e0[78] = { 168.8, 204.2, 233.8, 259.7, 283, 324.3, 360.4, 393, 422.8, 450.5, 476.5, 501, 557.1, 607.7, 654.1, 697.1, 737.4, 775.4, 811.5, 845.9, 910.3, 970, 1026, 1078, 1128, 1175, 1220, 1263, 1305, 1344, 1383, 1419, 1455, 1489, 1646, 1782, 1901, 2005, 2097, 2178, 2249, 2312, 2413, 2488, 2539, 2572, 2589, 2593, 2586, 2571, 2548, 2521, 2489, 2453, 2416, 2377, 2176, 1989, 1825, 1683, 1561, 1457, 1369, 1292, 1165, 1062, 978.5, 908.4, 848.8, 797.4, 752.4, 712.9, 677.7, 646.1, 617.7, 591.9, 568.4, 547 }; - - for(i=0; i<78; i++) {e[0][i]=e0[i]*MeV*cm2/g;} - for(i=0; i<78; i++) {kinE[i]=T0[i];} +AddData(T0,e0, 0); name [1] = "G4_ACETYLENE"; G4double e1[78] = { 192.2, 229.4, 260.2, 287, 311, 353.1, 389.7, 422.5, 452.4, 480.1, 506, 530.3, 585.9, 635.7, 681.2, 723.2, 762.5, 799.4, 834.3, 867.5, 929.6, 986.9, 1040, 1090, 1137, 1182, 1224, 1265, 1304, 1341, 1376, 1411, 1444, 1475, 1619, 1741, 1847, 1938, 2017, 2085, 2144, 2195, 2275, 2331, 2367, 2388, 2397, 2395, 2386, 2370, 2350, 2326, 2299, 2271, 2241, 2210, 2056, 1913, 1783, 1666, 1562, 1468, 1384, 1308, 1177, 1072, 986.8, 915.5, 855, 802.8, 757.2, 717.1, 681.4, 649.5, 620.7, 594.7, 570.9, 549.2 }; - - for(i=0; i<78; i++) {e[1][i]=e1[i]*MeV*cm2/g;} +AddData(T0,e1, 1); name [2] = "G4_ADIPOSE_TISSUE_ICRP"; G4double e2[78] = { 169.4, 204.2, 233.3, 258.8, 281.8, 322.4, 358.1, 390.2, 419.7, 447.2, 472.9, 497.2, 552.9, 603.2, 649.4, 692.4, 732.7, 770.7, 806.8, 841.3, 906, 966.1, 1022, 1075, 1125, 1173, 1219, 1262, 1304, 1344, 1383, 1420, 1456, 1491, 1650, 1787, 1907, 2012, 2104, 2185, 2256, 2317, 2417, 2489, 2539, 2571, 2588, 2592, 2587, 2573, 2554, 2529, 2500, 2468, 2434, 2398, 2213, 2035, 1874, 1731, 1605, 1499, 1408, 1328, 1197, 1091, 1004, 932.2, 870.7, 817.8, 771.5, 730.8, 694.5, 662.1, 632.9, 606.4, 582.3, 560.2 }; - - for(i=0; i<78; i++) {e[2][i]=e2[i]*MeV*cm2/g;} +AddData(T0,e2, 2); name [3] = "G4_Ag"; G4double e3[78] = { 31.26, 38.13, 43.91, 48.98, 53.56, 61.66, 68.79, 75.21, 81.11, 86.6, 91.74, 96.6, 107.7, 117.8, 127, 135.6, 143.6, 151.2, 158.4, 165.3, 178.2, 190.2, 201.4, 212, 222, 231.6, 240.7, 249.5, 257.9, 266, 273.9, 281.4, 288.8, 295.9, 328.8, 357.8, 383.8, 407.4, 428.8, 448.4, 466.3, 482.8, 511.8, 536.2, 556.6, 573.5, 587.3, 598.4, 607.2, 613.8, 618.5, 621.6, 623.4, 623.8, 623.3, 621.8, 604.4, 578.7, 550.8, 523.3, 497.6, 474.4, 453.6, 435, 402.7, 375.9, 353.2, 333.6, 316.9, 302, 288.8, 276.9, 266.2, 256.5, 247.7, 239.5, 232, 225.1 }; - - for(i=0; i<78; i++) {e[3][i]=e3[i]*MeV*cm2/g;} +AddData(T0,e3, 3); name [4] = "G4_AIR"; G4double e4[78] = { 87.5, 108.6, 126.7, 142.7, 157.3, 183.5, 206.7, 227.9, 247.5, 265.9, 283.2, 299.6, 337.7, 372.3, 404.3, 434.3, 462.6, 489.4, 515, 539.5, 585.8, 629, 669.6, 708.1, 744.8, 779.8, 813.4, 845.7, 876.8, 906.8, 935.9, 964, 991.3, 1018, 1140, 1247, 1343, 1429, 1506, 1575, 1637, 1693, 1787, 1861, 1918, 1961, 1990, 2008, 2017, 2019, 2013, 2002, 1987, 1968, 1946, 1922, 1774, 1625, 1494, 1382, 1287, 1205, 1133, 1072, 968.6, 885.9, 818, 760.7, 711.7, 669.6, 632.7, 600.2, 571.2, 545.3, 521.9, 500.6, 481.2, 463.4 }; - - for(i=0; i<78; i++) {e[4][i]=e4[i]*MeV*cm2/g;} +AddData(T0,e4, 4); name [5] = "G4_Al"; G4double e5[78] = { 55.8, 71.89, 86.05, 98.92, 110.9, 132.7, 152.5, 170.9, 188.2, 204.5, 220.1, 235.1, 270.1, 302.5, 332.8, 361.5, 388.6, 414.6, 439.4, 463.3, 508.4, 550.4, 589.6, 626.5, 661.1, 693.7, 724.3, 753.2, 780.3, 805.9, 830.1, 852.8, 874.3, 894.5, 980, 1045, 1096, 1136, 1168, 1195, 1216, 1234, 1262, 1280, 1291, 1297, 1298, 1297, 1293, 1286, 1279, 1269, 1259, 1248, 1237, 1225, 1161, 1098, 1039, 984.9, 937.6, 895.4, 856.8, 821, 756.1, 698.6, 647.8, 604.8, 567.8, 535.7, 507.4, 482.4, 460, 439.8, 421.6, 405.1, 389.9, 376 }; - - for(i=0; i<78; i++) {e[5][i]=e5[i]*MeV*cm2/g;} +AddData(T0,e5, 5); name [6] = "G4_ALUMINUM_OXIDE"; G4double e6[78] = { 71.39, 88.59, 103.3, 116.4, 128.4, 149.9, 169, 186.5, 202.8, 218, 232.3, 246, 277.7, 306.6, 333.4, 358.5, 382.1, 404.6, 426, 446.5, 485, 520.9, 554.3, 585.8, 615.5, 643.5, 670, 695.2, 719.1, 741.9, 763.6, 784.3, 804, 822.9, 905.9, 974, 1031, 1080, 1122, 1159, 1191, 1220, 1267, 1304, 1332, 1353, 1368, 1378, 1383, 1385, 1384, 1381, 1376, 1370, 1362, 1352, 1308, 1253, 1187, 1115, 1044, 982.5, 928.4, 880, 801.2, 737, 683.4, 638.1, 599.1, 565.2, 535.4, 508.9, 485.3, 464, 444.8, 427.3, 411.4, 396.7 }; - - for(i=0; i<78; i++) {e[6][i]=e6[i]*MeV*cm2/g;} +AddData(T0,e6, 6); name [7] = "G4_Ar"; G4double e7[78] = { 34.54, 44.56, 53.39, 61.42, 68.88, 82.53, 94.95, 106.5, 117.3, 127.6, 137.4, 146.8, 168.8, 189.3, 208.5, 226.7, 244.1, 260.8, 276.8, 292.3, 321.9, 349.8, 376.5, 401.9, 426.4, 450, 472.8, 494.9, 516.3, 537.1, 557.3, 577, 596.1, 614.8, 702.1, 780.3, 850.8, 914.4, 971.9, 1024, 1070, 1111, 1181, 1233, 1272, 1298, 1314, 1321, 1321, 1315, 1305, 1291, 1276, 1258, 1240, 1222, 1130, 1047, 974, 911.2, 856.7, 809, 767, 729.8, 666.1, 613.2, 569.7, 532.7, 501, 473.4, 449.1, 427.4, 408.3, 391, 375.4, 361.1, 348.1, 336 }; - - for(i=0; i<78; i++) {e[7][i]=e7[i]*MeV*cm2/g;} +AddData(T0,e7, 7); name [8] = "G4_Au"; G4double e8[78] = { 11.5, 14.55, 17.2, 19.57, 21.76, 25.72, 29.27, 32.54, 35.59, 38.46, 41.18, 43.78, 49.83, 55.39, 60.56, 65.44, 70.06, 74.46, 78.68, 82.74, 90.45, 97.69, 104.5, 111.1, 117.3, 123.3, 129.1, 134.6, 140, 145.2, 150.3, 155.2, 160, 164.7, 186.4, 205.8, 223.5, 239.5, 254.2, 267.7, 280.1, 291.5, 311.6, 328.5, 342.6, 354.3, 363.8, 371.5, 377.5, 382.1, 385.5, 387.8, 389.1, 389.6, 389.4, 388.7, 384.4, 375.7, 362.6, 346.8, 330.5, 316.4, 304, 293, 274.1, 258.4, 245, 233.4, 223.1, 214, 205.8, 198.4, 191.6, 185.5, 179.7, 174.5, 169.6, 165 }; - - for(i=0; i<78; i++) {e[8][i]=e8[i]*MeV*cm2/g;} +AddData(T0,e8, 8); name [9] = "G4_B-100_BONE"; G4double e9[78] = { 138.6, 167.7, 192, 213.3, 232.4, 266.3, 296, 322.7, 347.2, 369.9, 391.2, 411.3, 457.3, 498.8, 536.8, 572, 605, 636.1, 665.7, 693.8, 746.5, 795.4, 841, 883.9, 924.5, 963.1, 999.9, 1035, 1069, 1101, 1133, 1163, 1192, 1220, 1348, 1460, 1557, 1643, 1719, 1786, 1845, 1897, 1983, 2047, 2093, 2124, 2142, 2149, 2148, 2139, 2125, 2106, 2084, 2059, 2031, 2003, 1861, 1726, 1600, 1484, 1379, 1290, 1214, 1147, 1035, 945.3, 871.8, 810, 757.7, 712.5, 672.9, 638.1, 607, 579.2, 554.1, 531.3, 510.5, 491.5 }; - - for(i=0; i<78; i++) {e[9][i]=e9[i]*MeV*cm2/g;} +AddData(T0,e9, 9); name [10] = "G4_Be"; G4double e10[78] = { 146.3, 177.1, 202.9, 225.4, 245.6, 281.3, 312.5, 340.6, 366.2, 390, 412.2, 433.2, 481.1, 524.1, 563.3, 599.7, 633.6, 665.4, 695.6, 724.2, 777.7, 827, 872.7, 915.5, 955.7, 993.7, 1030, 1064, 1096, 1128, 1157, 1186, 1213, 1239, 1356, 1453, 1534, 1602, 1659, 1706, 1745, 1776, 1821, 1846, 1856, 1855, 1845, 1829, 1809, 1785, 1759, 1732, 1703, 1674, 1645, 1617, 1499, 1406, 1326, 1254, 1189, 1129, 1075, 1024, 935.3, 858.7, 792.9, 737.6, 690, 648.7, 612.5, 580.4, 552, 526.4, 503.3, 482.4, 463.3, 445.8 }; - - for(i=0; i<78; i++) {e[10][i]=e10[i]*MeV*cm2/g;} +AddData(T0,e10, 10); name [11] = "G4_BONE_COMPACT_ICRU"; G4double e11[78] = { 125.9, 152.6, 175, 194.8, 212.5, 244.1, 271.8, 296.8, 319.8, 341.1, 361.2, 380.2, 423.8, 463.1, 499.3, 533, 564.6, 594.5, 622.8, 649.9, 700.8, 748.1, 792.4, 834.2, 873.7, 911.4, 947.4, 981.9, 1015, 1047, 1078, 1107, 1136, 1164, 1291, 1401, 1498, 1584, 1660, 1727, 1787, 1839, 1926, 1991, 2039, 2072, 2092, 2103, 2105, 2100, 2089, 2075, 2056, 2035, 2011, 1986, 1846, 1705, 1576, 1460, 1358, 1271, 1196, 1130, 1020, 931.6, 859.4, 798.8, 747.4, 702.9, 664, 629.7, 599.1, 571.7, 547.1, 524.7, 504.3, 485.6 }; - - for(i=0; i<78; i++) {e[11][i]=e11[i]*MeV*cm2/g;} +AddData(T0,e11, 11); name [12] = "G4_C"; G4double e12[78] = { 190.6, 225.6, 254.3, 279, 300.9, 339.2, 372.1, 401.4, 427.9, 452.3, 475, 496.2, 544.3, 586.9, 625.5, 661, 693.8, 724.6, 753.5, 780.8, 831.5, 877.9, 920.8, 960.6, 998, 1033, 1066, 1098, 1128, 1156, 1184, 1210, 1235, 1259, 1366, 1455, 1531, 1595, 1650, 1698, 1738, 1772, 1825, 1862, 1886, 1900, 1906, 1906, 1901, 1892, 1880, 1866, 1850, 1833, 1814, 1795, 1684, 1571, 1466, 1372, 1288, 1213, 1145, 1085, 981.9, 898.2, 829.6, 772, 722.9, 680.4, 643.1, 610.2, 580.8, 554.4, 530.6, 509, 489.2, 471.2 }; +AddData(T0,e12, 12); - for(i=0; i<78; i++) {e[12][i]=e12[i]*MeV*cm2/g;} - -name [13] = "G4_C_Graphite"; +name [13] = "G4_GRAPHITE_POROUS"; G4double e13[78] = { 192.3, 228.9, 259, 285.1, 308.3, 348.9, 384, 415.3, 443.7, 469.9, 494.2, 517, 568.9, 615.1, 657, 695.5, 731.3, 764.8, 796.3, 826.2, 881.8, 932.7, 979.8, 1024, 1065, 1104, 1141, 1175, 1209, 1240, 1271, 1300, 1327, 1354, 1473, 1574, 1658, 1731, 1793, 1845, 1890, 1929, 1987, 2027, 2051, 2063, 2065, 2060, 2049, 2034, 2015, 1993, 1969, 1944, 1917, 1891, 1751, 1620, 1502, 1400, 1310, 1231, 1161, 1099, 994.3, 909, 839.2, 780.7, 730.8, 687.6, 649.8, 616.4, 586.6, 559.8, 535.7, 513.8, 493.8, 475.5 }; - - for(i=0; i<78; i++) {e[13][i]=e13[i]*MeV*cm2/g;} +AddData(T0,e13, 13); name [14] = "G4_ETHYLENE"; G4double e14[78] = { 159.8, 195.8, 226, 252.7, 276.8, 319.7, 357.4, 391.5, 422.9, 452.1, 479.5, 505.4, 565.1, 619, 668.6, 714.8, 758.1, 799.1, 838.1, 875.3, 945.4, 1011, 1072, 1130, 1185, 1237, 1288, 1336, 1383, 1428, 1471, 1514, 1555, 1594, 1779, 1945, 2094, 2230, 2354, 2468, 2571, 2666, 2830, 2961, 3060, 3130, 3172, 3189, 3185, 3164, 3129, 3086, 3038, 2986, 2931, 2876, 2578, 2306, 2084, 1907, 1763, 1642, 1539, 1450, 1303, 1185, 1089, 1010, 941.9, 883.6, 832.8, 788.1, 748.4, 712.9, 680.9, 652, 625.7, 601.7 }; - - for(i=0; i<78; i++) {e[14][i]=e14[i]*MeV*cm2/g;} +AddData(T0,e14, 14); name [15] = "G4_C-552"; G4double e15[78] = { 124.1, 148.8, 169.3, 187.2, 203.3, 231.5, 256.1, 278.2, 298.4, 317.1, 334.5, 351, 388.6, 422.4, 453.2, 481.8, 508.4, 533.5, 557.3, 579.9, 622.2, 661.3, 697.8, 732, 764.3, 794.9, 824, 851.9, 878.5, 904.1, 928.7, 952.4, 975.2, 997.3, 1097, 1184, 1259, 1325, 1384, 1435, 1481, 1521, 1588, 1639, 1678, 1706, 1726, 1738, 1744, 1745, 1743, 1736, 1727, 1716, 1703, 1688, 1603, 1511, 1421, 1338, 1261, 1190, 1126, 1067, 965.5, 883.8, 816.4, 759.6, 711.1, 669.1, 632.3, 599.9, 571, 545, 521.6, 500.3, 480.9, 463.1 }; - - for(i=0; i<78; i++) {e[15][i]=e15[i]*MeV*cm2/g;} +AddData(T0,e15, 15); name [16] = "G4_CARBON_DIOXIDE"; G4double e16[78] = { 93.28, 114.2, 131.9, 147.5, 161.6, 186.6, 208.6, 228.5, 246.8, 263.8, 279.8, 295, 329.8, 361.2, 390.2, 417.1, 442.4, 466.4, 489.1, 510.8, 551.8, 589.8, 625.6, 659.4, 691.5, 722.2, 751.6, 779.8, 807.1, 833.4, 858.9, 883.7, 907.7, 931.1, 1040, 1137, 1225, 1306, 1380, 1449, 1513, 1571, 1676, 1763, 1834, 1891, 1933, 1961, 1977, 1982, 1978, 1967, 1952, 1932, 1911, 1888, 1752, 1614, 1490, 1383, 1290, 1209, 1139, 1077, 973.3, 890, 821.5, 764, 714.9, 672.6, 635.5, 602.6, 573.5, 547.3, 523.7, 502.4, 482.9, 465 }; - - for(i=0; i<78; i++) {e[16][i]=e16[i]*MeV*cm2/g;} +AddData(T0,e16, 16); name [17] = "G4_CALCIUM_FLUORIDE"; G4double e17[78] = { 72.78, 90.74, 106.1, 119.8, 132.3, 154.7, 174.6, 192.8, 209.7, 225.5, 240.4, 254.5, 287.2, 317, 344.6, 370.4, 394.6, 417.6, 439.5, 460.5, 499.9, 536.5, 570.8, 603.1, 633.6, 662.6, 690.1, 716.4, 741.5, 765.6, 788.6, 810.8, 832.1, 852.6, 944.4, 1022, 1088, 1145, 1194, 1237, 1275, 1308, 1361, 1401, 1431, 1453, 1467, 1476, 1481, 1481, 1479, 1474, 1466, 1458, 1447, 1436, 1352, 1256, 1166, 1086, 1016, 954.4, 900.2, 852.3, 772.1, 708.1, 655.5, 610.7, 573.3, 540.6, 511.9, 486.6, 464, 443.8, 425.4, 408.7, 393.4, 379.4 }; - - for(i=0; i<78; i++) {e[17][i]=e17[i]*MeV*cm2/g;} +AddData(T0,e17, 17); name [18] = "G4_CERIC_SULFATE"; G4double e18[78] = { 99.73, 123.7, 144.1, 162.3, 178.8, 208.3, 234.6, 258.5, 280.5, 301.2, 320.6, 339.1, 381.8, 420.6, 456.5, 490, 521.6, 551.5, 580.1, 607.4, 658.9, 707, 752.2, 795, 835.7, 874.6, 911.8, 947.6, 982, 1015, 1047, 1078, 1109, 1138, 1273, 1391, 1497, 1591, 1676, 1753, 1822, 1884, 1990, 2074, 2140, 2190, 2227, 2251, 2266, 2273, 2272, 2266, 2254, 2238, 2220, 2198, 2049, 1886, 1737, 1607, 1495, 1399, 1315, 1242, 1120, 1023, 942.8, 875.6, 818.4, 769.2, 726.1, 688, 654.2, 624, 596.7, 572, 549.5, 528.9 }; - - for(i=0; i<78; i++) {e[18][i]=e18[i]*MeV*cm2/g;} +AddData(T0,e18, 18); name [19] = "G4_CELLULOSE_NITRATE"; G4double e19[78] = { 157.6, 186.4, 209.9, 230.3, 248.3, 279.7, 306.8, 330.8, 352.6, 372.6, 391.2, 408.7, 448.1, 483.2, 514.9, 544.1, 571.1, 596.4, 620.3, 642.8, 684.8, 723.2, 758.8, 792, 823.2, 852.7, 880.6, 907.2, 932.6, 956.9, 980.2, 1003, 1024, 1045, 1139, 1220, 1290, 1353, 1408, 1457, 1502, 1541, 1608, 1662, 1704, 1736, 1761, 1778, 1789, 1796, 1798, 1796, 1790, 1782, 1772, 1760, 1674, 1574, 1476, 1385, 1302, 1227, 1160, 1099, 993.8, 909.3, 839.7, 781.1, 731.2, 688.1, 650.2, 616.7, 587, 560.3, 536.2, 514.4, 494.5, 476.2 }; - - for(i=0; i<78; i++) {e[19][i]=e19[i]*MeV*cm2/g;} +AddData(T0,e19, 19); name [20] = "G4_BONE_CORTICAL_ICRP"; G4double e20[78] = { 109.1, 132.8, 152.8, 170.4, 186.2, 214.4, 239.3, 261.7, 282.4, 301.6, 319.7, 336.8, 376.1, 411.7, 444.5, 475, 503.6, 530.7, 556.5, 581.1, 627.4, 670.4, 710.8, 748.9, 785, 819.4, 852.4, 883.9, 914.3, 943.5, 971.7, 999, 1025, 1051, 1168, 1270, 1360, 1440, 1511, 1574, 1630, 1680, 1763, 1826, 1872, 1905, 1927, 1939, 1943, 1941, 1933, 1921, 1905, 1887, 1866, 1844, 1720, 1593, 1475, 1369, 1274, 1193, 1123, 1062, 959.2, 877.1, 809.7, 753, 704.9, 663.4, 627, 594.9, 566.3, 540.6, 517.5, 496.5, 477.4, 459.8 }; - - for(i=0; i<78; i++) {e[20][i]=e20[i]*MeV*cm2/g;} +AddData(T0,e20, 20); name [21] = "G4_CESIUM_IODIDE"; G4double e21[78] = { 40.6, 48.54, 55.16, 60.95, 66.15, 75.33, 83.38, 90.64, 97.29, 103.5, 109.3, 114.8, 127.3, 138.7, 149.2, 158.9, 168, 176.7, 184.9, 192.8, 207.6, 221.3, 234.2, 246.4, 258, 269.1, 279.7, 289.9, 299.7, 309.2, 318.3, 327.1, 335.7, 344, 382.3, 415.8, 445.6, 472.1, 495.7, 516.7, 535.4, 551.8, 578.9, 599.2, 613.8, 623.8, 629.9, 633, 633.6, 632.3, 629.5, 625.5, 620.6, 615.1, 609.1, 602.8, 567.7, 533, 501.8, 474.4, 450.3, 429, 410.1, 393.3, 364.6, 340.9, 321, 304, 289.2, 275.9, 264.1, 253.6, 243.9, 235, 226.7, 218.9, 211.9, 205.4 }; - - for(i=0; i<78; i++) {e[21][i]=e21[i]*MeV*cm2/g;} +AddData(T0,e21, 21); name [22] = "G4_Cu"; G4double e22[78] = { 29.51, 36.49, 42.42, 47.68, 52.45, 60.98, 68.54, 75.4, 81.74, 87.65, 93.23, 98.51, 110.7, 121.8, 132, 141.5, 150.5, 159, 167.2, 174.9, 189.5, 203.2, 216, 228.1, 239.7, 250.7, 261.3, 271.4, 281.2, 290.7, 299.8, 308.7, 317.3, 325.6, 364.2, 398.4, 429.1, 456.8, 482.1, 505.1, 526.2, 545.4, 579, 607, 630.1, 649.1, 664.4, 676.6, 686.2, 693.4, 698.8, 702.4, 704.6, 705.7, 705.7, 704.9, 692.5, 672.6, 650.3, 627.6, 606, 585.6, 566.3, 548, 514, 483.4, 455.8, 431, 408.4, 388, 369.6, 353.7, 339.1, 325.7, 313.4, 302, 291.7, 282.3 }; - - for(i=0; i<78; i++) {e[22][i]=e22[i]*MeV*cm2/g;} +AddData(T0,e22, 22); name [23] = "G4_Fe"; G4double e23[78] = { 54.06, 65.42, 74.91, 83.2, 90.66, 103.8, 115.3, 125.6, 135.1, 143.8, 152, 159.8, 177.4, 193.3, 207.8, 221.3, 233.9, 245.7, 256.9, 267.6, 287.7, 306.2, 323.5, 339.8, 355.2, 369.8, 383.8, 397.1, 410, 422.3, 434.2, 445.7, 456.9, 467.6, 517.1, 560.6, 599.4, 634.3, 665.9, 694.6, 720.8, 744.8, 786.6, 821.5, 850.4, 874.1, 893.1, 908.1, 919.6, 928, 933.6, 936.8, 938, 937.3, 935.1, 931.5, 899.9, 856.7, 810.9, 766.9, 727.3, 691.9, 660.2, 631.5, 581.8, 540.1, 504.6, 473.9, 447.2, 423.6, 402.6, 383.5, 366.9, 352, 338.3, 325.7, 314.1, 303.6 }; - - for(i=0; i<78; i++) {e[23][i]=e23[i]*MeV*cm2/g;} +AddData(T0,e23, 23); name [24] = "G4_FERROUS_SULFATE"; G4double e24[78] = { 99.58, 123.5, 144, 162.1, 178.6, 208.1, 234.3, 258.2, 280.2, 300.8, 320.3, 338.7, 381.4, 420.2, 456, 489.5, 521, 551, 579.5, 606.8, 658.3, 706.3, 751.5, 794.2, 834.9, 873.7, 910.9, 946.6, 981, 1014, 1046, 1077, 1108, 1137, 1271, 1390, 1495, 1590, 1675, 1751, 1820, 1882, 1988, 2072, 2138, 2188, 2225, 2250, 2265, 2271, 2271, 2264, 2253, 2237, 2218, 2197, 2048, 1886, 1738, 1609, 1497, 1401, 1317, 1244, 1122, 1025, 944.6, 877.4, 820, 770.7, 727.5, 689.3, 655.4, 625.2, 597.8, 573.1, 550.5, 529.9 }; - - for(i=0; i<78; i++) {e[24][i]=e24[i]*MeV*cm2/g;} +AddData(T0,e24, 24); name [25] = "G4_Gd"; G4double e25[78] = { 38.11, 45.4, 51.41, 56.61, 61.25, 69.34, 76.36, 82.61, 88.29, 93.53, 98.41, 103, 113.4, 122.7, 131.1, 138.9, 146.1, 152.9, 159.3, 165.4, 176.7, 187.1, 196.8, 205.9, 214.4, 222.5, 230.3, 237.6, 244.7, 251.5, 258, 264.3, 270.3, 276.2, 303.1, 326.6, 347.4, 366.2, 383.1, 398.5, 412.5, 425.4, 447.8, 466.5, 482.1, 494.8, 505.1, 513.2, 519.4, 523.9, 526.9, 528.6, 529.1, 528.6, 527.3, 525.2, 505.6, 481, 456.8, 434.6, 414.6, 396.6, 380.5, 366, 340.9, 319.7, 301.6, 285.8, 272, 259.8, 248.8, 239, 230.1, 222, 214.6, 207.7, 201.4, 195.6 }; - - for(i=0; i<78; i++) {e[25][i]=e25[i]*MeV*cm2/g;} +AddData(T0,e25, 25); name [26] = "G4_Ge"; G4double e26[78] = { 47.65, 57.57, 65.83, 73.05, 79.53, 90.94, 100.9, 109.9, 118, 125.6, 132.7, 139.4, 154.6, 168.3, 180.8, 192.3, 203.1, 213.3, 222.9, 232, 249.1, 264.8, 279.5, 293.2, 306.1, 318.4, 330, 341.1, 351.7, 361.8, 371.5, 380.8, 389.8, 398.4, 437.2, 469.9, 497.8, 521.7, 542.3, 560.1, 575.5, 588.9, 610.7, 627.4, 640.1, 649.9, 657.3, 662.8, 666.8, 669.6, 671.4, 672.3, 672.4, 671.9, 670.9, 669.4, 656.9, 639.5, 619.8, 599.4, 578.4, 557.6, 537.5, 518.5, 483.6, 452.9, 425.8, 401.8, 380.5, 361.5, 344.3, 328.6, 315.1, 303.1, 292.1, 282, 272.6, 263.8 }; - - for(i=0; i<78; i++) {e[26][i]=e26[i]*MeV*cm2/g;} +AddData(T0,e26, 26); name [27] = "G4_Pyrex_Glass"; G4double e27[78] = { 83.85, 102.1, 117.5, 131, 143.3, 165, 184.1, 201.3, 217.2, 232, 245.9, 259, 289.2, 316.5, 341.5, 364.8, 386.7, 407.4, 427.1, 445.8, 481.1, 513.8, 544.4, 573.2, 600.6, 626.6, 651.5, 675.3, 698.1, 720.1, 741.3, 761.7, 781.5, 800.6, 888, 963.9, 1031, 1090, 1142, 1189, 1231, 1268, 1330, 1378, 1414, 1441, 1460, 1473, 1481, 1485, 1484, 1481, 1475, 1466, 1456, 1445, 1389, 1323, 1249, 1171, 1095, 1029, 971.4, 920.7, 835.9, 768, 711.5, 663.8, 622.8, 587.4, 556.1, 528.4, 503.7, 481.5, 461.4, 443.2, 426.5, 411.2 }; - - for(i=0; i<78; i++) {e[27][i]=e27[i]*MeV*cm2/g;} +AddData(T0,e27, 27); name [28] = "G4_H"; G4double e28[78] = { 212, 275.4, 331.7, 383, 430.9, 518.8, 599.2, 674, 744.5, 811.5, 875.6, 937.1, 1082, 1217, 1344, 1465, 1580, 1691, 1798, 1901, 2098, 2285, 2463, 2634, 2798, 2956, 3108, 3256, 3399, 3538, 3674, 3805, 3933, 4058, 4637, 5152, 5610, 6019, 6383, 6705, 6988, 7235, 7632, 7915, 8100, 8203, 8240, 8222, 8161, 8067, 7947, 7808, 7655, 7494, 7327, 7157, 6345, 5647, 5068, 4588, 4188, 3860, 3585, 3351, 2971, 2675, 2438, 2242, 2078, 1939, 1818, 1713, 1620, 1538, 1464, 1398, 1337, 1283 }; +AddData(T0,e28, 28); - for(i=0; i<78; i++) {e[28][i]=e28[i]*MeV*cm2/g;} - -name [29] = "G4_HELIUM"; +name [29] = "G4_He"; G4double e29[78] = { 87.26, 110.8, 131.3, 149.8, 166.8, 197.7, 225.5, 251.1, 275, 297.5, 318.9, 339.4, 387, 430.9, 471.8, 510.4, 547, 581.9, 615.3, 647.5, 708.7, 766.1, 820.5, 872.3, 921.8, 969.3, 1015, 1059, 1102, 1143, 1183, 1221, 1259, 1296, 1465, 1614, 1748, 1867, 1975, 2071, 2156, 2233, 2361, 2460, 2535, 2588, 2624, 2644, 2652, 2650, 2639, 2621, 2598, 2571, 2540, 2507, 2323, 2139, 1976, 1832, 1706, 1593, 1493, 1402, 1249, 1130, 1033, 953.8, 886.8, 829.5, 779.8, 736.4, 697.9, 663.7, 632.9, 605.2, 580, 557 }; - - for(i=0; i<78; i++) {e[29][i]=e29[i]*MeV*cm2/g;} +AddData(T0,e29, 29); name [30] = "G4_KAPTON"; G4double e30[78] = { 165.5, 197.6, 224.2, 247.2, 267.8, 304, 335.4, 363.5, 389.1, 412.8, 434.8, 455.6, 502.9, 545.2, 583.8, 619.4, 652.6, 683.8, 713.3, 741.2, 793.5, 841.6, 886.3, 928.2, 967.7, 1005, 1041, 1074, 1107, 1138, 1167, 1196, 1223, 1250, 1369, 1471, 1560, 1636, 1703, 1762, 1812, 1857, 1928, 1981, 2018, 2042, 2056, 2062, 2061, 2054, 2043, 2028, 2010, 1990, 1969, 1946, 1819, 1688, 1565, 1451, 1350, 1264, 1190, 1125, 1017, 929.8, 858.3, 798.2, 747, 702.8, 664, 629.8, 599.3, 571.9, 547.2, 524.8, 504.4, 485.7 }; - - for(i=0; i<78; i++) {e[30][i]=e30[i]*MeV*cm2/g;} +AddData(T0,e30, 30); name [31] = "G4_Kr"; G4double e31[78] = { 10.15, 13.69, 16.93, 19.96, 22.84, 28.23, 33.29, 38.08, 42.66, 47.08, 51.35, 55.5, 65.43, 74.84, 83.85, 92.52, 100.9, 109.1, 117, 124.7, 139.7, 154.1, 168, 181.5, 194.6, 207.4, 219.9, 232.1, 244, 255.7, 267.2, 278.4, 289.5, 300.3, 351.9, 399.6, 443.7, 484.4, 522.1, 556.7, 588.4, 617.2, 666.6, 705.7, 735.5, 757, 771.4, 779.9, 783.4, 783, 779.4, 773.6, 765.9, 757, 747.2, 736.9, 683.7, 635.6, 595.2, 561.5, 533, 508.6, 487.3, 468.5, 439.9, 417.9, 398.8, 381.4, 364.9, 349.2, 334.2, 319.8, 306.2, 293.7, 282.8, 272.8, 263.6, 255.2 }; - - for(i=0; i<78; i++) {e[31][i]=e31[i]*MeV*cm2/g;} +AddData(T0,e31, 31); name [32] = "G4_LITHIUM_TETRABORATE"; G4double e32[78] = { 132.7, 159.4, 181.6, 200.9, 218.2, 248.6, 275, 298.7, 320.4, 340.4, 359.1, 376.6, 416.8, 452.7, 485.5, 515.8, 544, 570.6, 595.8, 619.7, 664.3, 705.6, 743.9, 779.9, 813.9, 846.1, 876.8, 906.1, 934.2, 961.1, 987, 1012, 1036, 1059, 1166, 1258, 1338, 1410, 1474, 1531, 1583, 1628, 1706, 1767, 1814, 1849, 1874, 1891, 1899, 1902, 1899, 1891, 1875, 1852, 1825, 1795, 1638, 1494, 1375, 1276, 1193, 1121, 1058, 1002, 908.8, 833.2, 770.5, 717.6, 672.4, 633.2, 598.8, 568.3, 541.2, 516.9, 494.8, 474.9, 456.6, 439.9 }; - - for(i=0; i<78; i++) {e[32][i]=e32[i]*MeV*cm2/g;} +AddData(T0,e32, 32); name [33] = "G4_LITHIUM_FLUORIDE"; G4double e33[78] = { 118.7, 142.6, 162.5, 179.7, 195.2, 222.4, 246, 267.2, 286.5, 304.3, 321, 336.6, 372.4, 404.4, 433.5, 460.4, 485.5, 509.1, 531.4, 552.6, 592.1, 628.5, 662.4, 694.1, 724.1, 752.4, 779.4, 805.1, 829.6, 853.2, 875.9, 897.6, 918.7, 938.9, 1031, 1110, 1179, 1240, 1294, 1341, 1383, 1421, 1483, 1530, 1566, 1592, 1610, 1621, 1627, 1627, 1624, 1618, 1609, 1598, 1585, 1571, 1483, 1387, 1296, 1214, 1140, 1074, 1015, 962.2, 872, 799.7, 739.5, 688.5, 644.8, 606.9, 573.7, 544.4, 518.3, 494.9, 473.6, 454.3, 436.7, 420.6 }; - - for(i=0; i<78; i++) {e[33][i]=e33[i]*MeV*cm2/g;} +AddData(T0,e33, 33); name [34] = "G4_M3_WAX"; G4double e34[78] = { 173.6, 209, 238.5, 264.3, 287.6, 328.7, 364.7, 397.1, 426.9, 454.5, 480.4, 504.9, 561, 611.6, 658, 701.1, 741.6, 779.8, 816, 850.6, 915.4, 975.6, 1032, 1085, 1135, 1182, 1228, 1271, 1313, 1353, 1392, 1429, 1465, 1499, 1657, 1792, 1910, 2012, 2101, 2179, 2247, 2305, 2398, 2463, 2507, 2533, 2544, 2544, 2534, 2517, 2494, 2468, 2437, 2405, 2371, 2335, 2154, 1981, 1825, 1686, 1564, 1460, 1372, 1295, 1167, 1064, 980.4, 910.2, 850.4, 798.9, 753.8, 714.2, 678.9, 647.3, 618.8, 593, 569.4, 547.9 }; - - for(i=0; i<78; i++) {e[34][i]=e34[i]*MeV*cm2/g;} +AddData(T0,e34, 34); name [35] = "G4_MS20_TISSUE"; G4double e35[78] = { 163.5, 196.6, 224.1, 248.2, 269.8, 308, 341.4, 371.4, 398.9, 424.4, 448.3, 470.9, 522.5, 569, 611.6, 651.1, 688, 722.9, 756, 787.5, 846.6, 901.2, 952.3, 1000, 1046, 1089, 1130, 1169, 1207, 1243, 1278, 1311, 1344, 1375, 1516, 1638, 1744, 1836, 1916, 1986, 2048, 2101, 2185, 2247, 2288, 2314, 2327, 2330, 2325, 2312, 2295, 2273, 2249, 2222, 2193, 2163, 2002, 1845, 1703, 1575, 1463, 1368, 1286, 1215, 1097, 1001, 923.2, 857.7, 802, 753.9, 711.7, 674.6, 641.6, 611.9, 585.2, 561, 539, 518.8 }; - - for(i=0; i<78; i++) {e[35][i]=e35[i]*MeV*cm2/g;} +AddData(T0,e35, 35); name [36] = "G4_METHANE"; G4double e36[78] = { 197.5, 241.8, 279.3, 312.2, 342, 394.9, 441.5, 483.7, 522.4, 558.5, 592.4, 624.4, 698.1, 764.8, 826, 883.1, 936.6, 987.3, 1035, 1081, 1168, 1249, 1324, 1396, 1464, 1529, 1591, 1650, 1708, 1764, 1818, 1870, 1920, 1970, 2198, 2402, 2586, 2754, 2907, 3047, 3175, 3291, 3492, 3652, 3773, 3856, 3905, 3921, 3899, 3849, 3783, 3708, 3627, 3544, 3460, 3378, 2998, 2685, 2432, 2226, 2055, 1911, 1789, 1683, 1508, 1370, 1257, 1163, 1084, 1015, 955.9, 903.7, 857.5, 816.2, 779.1, 745.5, 714.9, 687.1 }; - - for(i=0; i<78; i++) {e[36][i]=e36[i]*MeV*cm2/g;} +AddData(T0,e36, 36); name [37] = "G4_Mo"; G4double e37[78] = { 58.22, 68.98, 77.79, 85.4, 92.16, 103.9, 114.1, 123.1, 131.3, 138.8, 145.8, 152.4, 167.3, 180.5, 192.5, 203.5, 213.8, 223.4, 232.4, 241, 256.9, 271.6, 285.1, 297.8, 309.8, 321.1, 331.8, 342.1, 351.9, 361.3, 370.3, 379, 387.4, 395.5, 432.4, 464.5, 492.9, 518.2, 541, 561.6, 580.4, 597.4, 626.9, 651.2, 671.2, 687.3, 700.1, 710, 717.3, 722.3, 725.4, 726.7, 726.5, 725, 722.3, 718.8, 690.9, 655, 617.8, 582.6, 552.1, 525.7, 502.3, 481.5, 445.5, 415.5, 389.9, 367.7, 348.1, 330.6, 314.8, 300.9, 288.6, 277.3, 266.9, 257.6, 249, 241.2 }; - - for(i=0; i<78; i++) {e[37][i]=e37[i]*MeV*cm2/g;} +AddData(T0,e37, 37); name [38] = "G4_MUSCLE_WITH_SUCROSE"; G4double e38[78] = { 111.7, 137.5, 159.4, 178.8, 196.5, 227.9, 255.7, 281, 304.4, 326.2, 346.7, 366.2, 411.2, 452, 489.7, 525, 558.1, 589.5, 619.5, 648.1, 702.2, 752.5, 799.9, 844.6, 887.2, 927.9, 966.8, 1004, 1040, 1075, 1108, 1141, 1172, 1203, 1343, 1467, 1576, 1674, 1762, 1841, 1912, 1975, 2081, 2165, 2230, 2277, 2310, 2331, 2342, 2344, 2339, 2329, 2313, 2293, 2270, 2244, 2074, 1896, 1739, 1607, 1494, 1398, 1314, 1241, 1120, 1022, 942.4, 875.3, 818.1, 768.9, 725.8, 687.7, 653.9, 623.7, 596.4, 571.7, 549.2, 528.6 }; - - for(i=0; i<78; i++) {e[38][i]=e38[i]*MeV*cm2/g;} +AddData(T0,e38, 38); name [39] = "G4_MUSCLE_WITHOUT_SUCROSE"; G4double e39[78] = { 108.2, 133.5, 155, 174.1, 191.4, 222.4, 249.8, 274.8, 297.8, 319.3, 339.6, 358.9, 403.3, 443.7, 481, 515.9, 548.7, 579.8, 609.5, 637.9, 691.4, 741.4, 788.3, 832.7, 875, 915.3, 953.9, 991.1, 1027, 1061, 1095, 1127, 1158, 1189, 1328, 1451, 1560, 1658, 1745, 1824, 1895, 1958, 2065, 2150, 2215, 2263, 2298, 2320, 2332, 2335, 2331, 2321, 2306, 2287, 2265, 2240, 2075, 1901, 1746, 1613, 1501, 1404, 1320, 1247, 1125, 1027, 946.2, 878.8, 821.4, 772, 728.6, 690.4, 656.4, 626.1, 598.7, 573.9, 551.3, 530.6 }; - - for(i=0; i<78; i++) {e[39][i]=e39[i]*MeV*cm2/g;} +AddData(T0,e39, 39); name [40] = "G4_MUSCLE_SKELETAL_ICRP"; G4double e40[78] = { 104.5, 129.2, 150.2, 168.8, 185.8, 216.1, 242.9, 267.4, 290, 311.1, 331, 349.8, 393.5, 433.1, 469.7, 503.9, 536.2, 566.7, 595.9, 623.7, 676.3, 725.4, 771.5, 815.1, 856.6, 896.2, 934.1, 970.6, 1006, 1040, 1072, 1104, 1135, 1165, 1302, 1422, 1530, 1626, 1712, 1790, 1860, 1922, 2029, 2113, 2178, 2228, 2263, 2286, 2299, 2304, 2302, 2293, 2280, 2262, 2242, 2218, 2059, 1888, 1735, 1604, 1492, 1396, 1312, 1240, 1118, 1021, 941.1, 874.1, 817, 767.9, 724.9, 686.8, 653.1, 622.9, 595.7, 571, 548.6, 528 }; - - for(i=0; i<78; i++) {e[40][i]=e40[i]*MeV*cm2/g;} +AddData(T0,e40, 40); name [41] = "G4_MUSCLE_STRIATED_ICRU"; G4double e41[78] = { 104.7, 129.4, 150.5, 169.2, 186.2, 216.5, 243.4, 267.9, 290.5, 311.7, 331.6, 350.5, 394.2, 433.9, 470.6, 504.9, 537.2, 567.8, 596.9, 624.9, 677.5, 726.7, 772.8, 816.5, 858.1, 897.8, 935.8, 972.3, 1007, 1041, 1074, 1106, 1137, 1167, 1304, 1425, 1532, 1629, 1715, 1793, 1863, 1925, 2032, 2116, 2181, 2230, 2265, 2289, 2302, 2306, 2304, 2295, 2282, 2264, 2244, 2220, 2063, 1894, 1742, 1611, 1498, 1401, 1318, 1244, 1123, 1025, 944.5, 877.2, 819.9, 770.6, 727.3, 689.2, 655.3, 625, 597.7, 572.9, 550.4, 529.7 }; - - for(i=0; i<78; i++) {e[41][i]=e41[i]*MeV*cm2/g;} +AddData(T0,e41, 41); name [42] = "G4_N"; G4double e42[78] = { 82.8, 103.7, 121.6, 137.7, 152.3, 178.7, 202.3, 223.8, 243.8, 262.5, 280.2, 297.1, 336.2, 372, 405.1, 436.2, 465.5, 493.4, 520.1, 545.7, 594.1, 639.3, 682, 722.5, 761, 797.9, 833.4, 867.4, 900.3, 932, 962.8, 992.5, 1021, 1049, 1179, 1293, 1395, 1486, 1567, 1640, 1706, 1765, 1864, 1940, 1999, 2041, 2069, 2086, 2093, 2091, 2083, 2069, 2051, 2030, 2005, 1978, 1819, 1660, 1522, 1406, 1308, 1224, 1151, 1088, 982.9, 898.5, 829.5, 771.1, 721.3, 678.5, 641, 608, 578.6, 552.3, 528.5, 506.9, 487.2, 469.1 }; - - for(i=0; i<78; i++) {e[42][i]=e42[i]*MeV*cm2/g;} +AddData(T0,e42, 42); name [43] = "G4_SODIUM_IODIDE"; G4double e43[78] = { 35.86, 44.19, 51.24, 57.48, 63.13, 73.21, 82.12, 90.2, 97.64, 104.6, 111.1, 117.3, 131.6, 144.5, 156.4, 167.6, 178, 187.9, 197.3, 206.3, 223.3, 239.1, 253.9, 268, 281.3, 294, 306.2, 317.9, 329.2, 340.1, 350.6, 360.8, 370.6, 380.2, 424.5, 463.5, 498.4, 529.9, 558.2, 583.8, 607, 627.8, 663.4, 691.6, 713.4, 729.6, 740.9, 748.1, 751.7, 752.4, 750.7, 747, 741.7, 735.1, 727.6, 719.5, 664.4, 611.2, 569.4, 538.3, 514, 491.6, 472.1, 454, 422.9, 393.7, 370.2, 349.6, 331.4, 315.3, 301.2, 288.5, 276.8, 266.1, 256.3, 247.1, 238.9, 231.5 }; - - for(i=0; i<78; i++) {e[43][i]=e43[i]*MeV*cm2/g;} +AddData(T0,e43, 43); name [44] = "G4_Ne"; G4double e44[78] = { 68.73, 83.7, 96.26, 107.3, 117.2, 134.8, 150.3, 164.2, 177, 188.8, 199.9, 210.4, 234.5, 256.2, 276.1, 294.6, 311.9, 328.3, 343.8, 358.6, 386.3, 412, 436.1, 458.8, 480.3, 500.8, 520.3, 539.1, 557.1, 574.5, 591.2, 607.5, 623.2, 638.4, 708.4, 770.3, 825.6, 875.7, 921.2, 962.8, 1001, 1036, 1098, 1150, 1194, 1230, 1260, 1285, 1304, 1319, 1330, 1338, 1343, 1344, 1344, 1341, 1296, 1229, 1160, 1095, 1035, 981.4, 932.6, 888.5, 812.1, 748.3, 695.6, 650.4, 611.3, 577, 546.8, 520, 496, 474.4, 454.8, 437, 420.7, 405.7 }; +AddData(T0,e44, 44); - for(i=0; i<78; i++) {e[44][i]=e44[i]*MeV*cm2/g;} - -name [45] = "G4_NYLON-6/6"; +name [45] = "G4_NYLON-6-6"; G4double e45[78] = { 167.4, 201.6, 230.3, 255.4, 278, 317.9, 352.9, 384.4, 413.4, 440.3, 465.5, 489.3, 544, 593.3, 638.6, 680.6, 720.1, 757.3, 792.7, 826.4, 889.7, 948.5, 1003, 1055, 1104, 1151, 1195, 1238, 1279, 1318, 1356, 1392, 1427, 1461, 1617, 1750, 1867, 1969, 2059, 2138, 2207, 2267, 2363, 2433, 2482, 2512, 2527, 2531, 2525, 2511, 2491, 2467, 2439, 2408, 2375, 2340, 2160, 1987, 1830, 1690, 1567, 1463, 1374, 1297, 1169, 1066, 981.3, 910.8, 850.9, 799.3, 754.1, 714.4, 679, 647.4, 618.9, 593, 569.5, 547.9 }; - - for(i=0; i<78; i++) {e[45][i]=e45[i]*MeV*cm2/g;} +AddData(T0,e45, 45); name [46] = "G4_O"; -G4double e46[78] = { 105.8, 117.3, 257.6, 1.139e-05, 5.976e-06, 0.005, 248.1, 71.83, 352, 3.186e-05, 2.012e-05, 0.015, 412.7, 40.96, 503.1, 6.782e-05, 5.098e-05, 0.035, 610.6, 24.07, 700.7, 0.0001156, 9.613e-05, 0.07, 820, 15.89, 884.2, 0.0001583, 0.0001354, 0.125, 1124, 8.719, 1280, 0.0002775, 0.0002641, 0.3, 1573, 4.478, 1697, 0.0004528, 0.000448, 0.65, 1818, 2.655, 1822, 0.0006468, 0.0006403, 1, 1667, 1.474, 1431, 0.00138, 0.001539, 2.75, 1038, 0.7076, 860.9, 0.003906, 0.004519, 6, 616.1, 0.3845, 556.8, 0.009419, 0.01034, 9.5, 452, 0.2295, 334.7, 0.03447, 0.04325, 27.5, 196.3, 0.09039, 156.5, 0.1784, 0.2149, 60 }; - - for(i=0; i<78; i++) {e[46][i]=e46[i]*MeV*cm2/g;} +G4double e46[78] = { 1.058E+02, 1.283E+02, 1.471E+02, 1.636E+02, 1.784E+02, 2.046E+02, 2.275E+02, 2.481E+02, 2.670E+02, 2.845E+02, 3.009E+02, 3.163E+02, 3.518E+02, 3.836E+02, 4.127E+02, 4.398E+02, 4.650E+02, 4.889E+02, 5.115E+02, 5.330E+02, 5.733E+02, 6.106E+02, 6.455E+02, 6.783E+02, 7.094E+02, 7.389E+02, 7.671E+02, 7.941E+02, 8.200E+02, 8.450E+02, 8.690E+02, 8.923E+02, 9.147E+02, 9.365E+02, 1.036E+03, 1.124E+03, 1.202E+03, 1.272E+03, 1.335E+03, 1.392E+03, 1.444E+03, 1.491E+03, 1.573E+03, 1.639E+03, 1.693E+03, 1.735E+03, 1.768E+03, 1.792E+03, 1.808E+03, 1.818E+03, 1.821E+03, 1.820E+03, 1.814E+03, 1.805E+03, 1.792E+03, 1.777E+03, 1.667E+03, 1.544E+03, 1.430E+03, 1.329E+03, 1.241E+03, 1.164E+03, 1.097E+03, 1.038E+03, 9.395E+02, 8.602E+02, 7.947E+02, 7.395E+02, 6.924E+02, 6.519E+02, 6.161E+02, 5.845E+02, 5.564E+02, 5.313E+02, 5.086E+02, 4.880E+02, 4.692E+02, 4.520E+02}; +AddData(T0,e46, 46); name [47] = "G4_PARAFFIN"; G4double e47[78] = { 193.8, 233, 265.8, 294.4, 320.3, 365.9, 405.9, 441.9, 475, 505.7, 534.5, 561.7, 624.2, 680.6, 732.3, 780.4, 825.5, 868.2, 908.6, 947.2, 1020, 1087, 1150, 1209, 1265, 1319, 1370, 1419, 1465, 1510, 1554, 1595, 1636, 1675, 1852, 2004, 2137, 2253, 2354, 2442, 2518, 2584, 2688, 2762, 2810, 2837, 2848, 2845, 2831, 2810, 2782, 2749, 2713, 2674, 2633, 2592, 2381, 2184, 2007, 1851, 1714, 1598, 1500, 1414, 1272, 1158, 1066, 988.4, 922.7, 866.1, 816.7, 773.2, 734.5, 699.9, 668.8, 640.6, 614.9, 591.4 }; - - for(i=0; i<78; i++) {e[47][i]=e47[i]*MeV*cm2/g;} +AddData(T0,e47, 47); name [48] = "G4_Pb"; G4double e48[78] = { 17.96, 22.18, 25.76, 28.92, 31.8, 36.93, 41.47, 45.6, 49.4, 52.95, 56.3, 59.46, 66.77, 73.41, 79.52, 85.23, 90.6, 95.69, 100.5, 105.2, 113.9, 122, 129.7, 136.9, 143.8, 150.3, 156.6, 162.7, 168.5, 174.1, 179.5, 184.8, 189.9, 194.9, 217.7, 237.9, 256, 272.3, 287, 300.4, 312.6, 323.6, 342.6, 358.2, 370.7, 380.6, 388.3, 394.2, 398.4, 401.3, 403.1, 404, 404.1, 403.5, 402.4, 401, 392.5, 380.4, 365.3, 348.6, 332, 317.6, 304.9, 293.7, 274.4, 258.3, 244.7, 232.9, 222.5, 213.2, 205, 197.5, 190.7, 184.4, 178.7, 173.4, 168.4, 163.9 }; +AddData(T0,e48, 48); - for(i=0; i<78; i++) {e[48][i]=e48[i]*MeV*cm2/g;} - -name [49] = "G4_PHOTOGRAPHIC_EMULSION"; +name [49] = "G4_PHOTO_EMULSION"; G4double e49[78] = { 46.69, 57.18, 66.06, 73.91, 81.04, 93.75, 105, 115.2, 124.7, 133.5, 141.8, 149.6, 167.8, 184.3, 199.6, 213.8, 227.3, 240, 252.1, 263.8, 285.7, 306.2, 325.4, 343.6, 361, 377.5, 393.4, 408.7, 423.3, 437.5, 451.2, 464.5, 477.3, 489.8, 547, 597.3, 641.7, 681.2, 716.3, 747.6, 775.5, 800.2, 841.5, 873.5, 897.8, 915.8, 928.6, 937.1, 940, 938.4, 933.8, 927, 918.6, 909.2, 899.1, 888.5, 833.7, 781.8, 735.1, 693.7, 657.1, 624.6, 595.5, 569.4, 524.5, 487.2, 455.6, 428.5, 404.9, 383.9, 365.2, 348.6, 333.8, 320.5, 308.3, 297.2, 287, 277.8 }; - - for(i=0; i<78; i++) {e[49][i]=e49[i]*MeV*cm2/g;} +AddData(T0,e49, 49); name [50] = "G4_PLASTIC_SC_VINYLTOLUENE"; G4double e50[78] = { 192.4, 229.8, 260.8, 287.8, 312, 354.4, 391.4, 424.6, 454.8, 482.8, 509, 533.7, 590, 640.5, 686.6, 729.3, 769.2, 806.7, 842.2, 876, 939.2, 997.5, 1052, 1103, 1151, 1197, 1240, 1281, 1321, 1359, 1395, 1430, 1464, 1497, 1644, 1769, 1878, 1971, 2053, 2123, 2184, 2236, 2319, 2377, 2414, 2436, 2445, 2443, 2433, 2417, 2396, 2371, 2343, 2314, 2283, 2251, 2091, 1936, 1791, 1657, 1537, 1435, 1349, 1273, 1148, 1047, 964.8, 895.9, 837.3, 786.7, 742.4, 703.5, 668.8, 637.7, 609.7, 584.3, 561.2, 540 }; - - for(i=0; i<78; i++) {e[50][i]=e50[i]*MeV*cm2/g;} +AddData(T0,e50, 50); name [51] = "G4_POLYCARBONATE"; G4double e51[78] = { 146.3, 178.1, 204.7, 228.1, 249.2, 286.4, 319.1, 348.5, 375.5, 400.6, 424.1, 446.2, 497, 542.8, 584.7, 623.5, 659.9, 694.2, 726.6, 757.6, 815.5, 869.1, 919, 965.9, 1010, 1052, 1092, 1130, 1167, 1202, 1235, 1268, 1299, 1329, 1465, 1581, 1681, 1768, 1843, 1908, 1965, 2013, 2090, 2144, 2180, 2201, 2210, 2209, 2202, 2188, 2170, 2149, 2125, 2099, 2072, 2044, 1912, 1785, 1661, 1543, 1433, 1340, 1261, 1191, 1076, 982.4, 906, 842, 787.5, 740.5, 699.2, 662.9, 630.5, 601.5, 575.3, 551.6, 529.9, 510.1 }; - - for(i=0; i<78; i++) {e[51][i]=e51[i]*MeV*cm2/g;} +AddData(T0,e51, 51); name [52] = "G4_POLYETHYLENE"; G4double e52[78] = { 168.2, 205.8, 237.5, 265.4, 290.7, 335.4, 374.8, 410.5, 443.2, 473.7, 502.3, 529.3, 591.4, 647.6, 699.1, 747.1, 792.1, 834.6, 874.9, 913.5, 985.9, 1053, 1116, 1175, 1232, 1285, 1336, 1385, 1432, 1478, 1521, 1564, 1604, 1644, 1825, 1983, 2122, 2246, 2355, 2453, 2539, 2615, 2740, 2833, 2899, 2940, 2962, 2967, 2958, 2938, 2908, 2871, 2829, 2782, 2732, 2681, 2418, 2183, 1987, 1826, 1691, 1577, 1480, 1396, 1257, 1145, 1053, 977.1, 912.4, 856.5, 807.8, 764.9, 726.7, 692.6, 661.8, 633.9, 608.6, 585.4 }; - - for(i=0; i<78; i++) {e[52][i]=e52[i]*MeV*cm2/g;} +AddData(T0,e52, 52); name [53] = "G4_MYLAR"; G4double e53[78] = { 163.2, 195.3, 221.8, 244.9, 265.6, 301.9, 333.5, 361.8, 387.6, 411.5, 433.8, 454.8, 502.7, 545.7, 584.8, 621, 654.8, 686.6, 716.7, 745.3, 798.7, 847.9, 893.8, 936.8, 977.4, 1016, 1052, 1087, 1121, 1153, 1183, 1213, 1241, 1269, 1393, 1500, 1593, 1673, 1744, 1806, 1860, 1908, 1985, 2042, 2083, 2110, 2126, 2133, 2133, 2126, 2115, 2100, 2082, 2061, 2038, 2014, 1874, 1731, 1599, 1482, 1379, 1290, 1215, 1148, 1038, 948.5, 875.3, 813.8, 761.5, 716.3, 676.6, 641.6, 610.5, 582.5, 557.3, 534.4, 513.6, 494.5 }; - - for(i=0; i<78; i++) {e[53][i]=e53[i]*MeV*cm2/g;} +AddData(T0,e53, 53); name [54] = "G4_PLEXIGLASS"; G4double e54[78] = { 118.7, 146.6, 170.3, 191.4, 210.4, 244.5, 274.7, 302.1, 327.3, 350.9, 373.1, 394.2, 442.7, 486.8, 527.4, 565.2, 600.9, 634.6, 666.7, 697.4, 755.1, 808.9, 859.3, 906.9, 952, 995, 1036, 1075, 1113, 1150, 1185, 1219, 1252, 1283, 1428, 1554, 1665, 1762, 1848, 1923, 1990, 2049, 2144, 2216, 2266, 2300, 2320, 2328, 2327, 2318, 2302, 2282, 2259, 2232, 2203, 2173, 2008, 1847, 1702, 1574, 1464, 1369, 1288, 1217, 1099, 1004, 925.6, 860.1, 804.4, 756.3, 714.1, 676.9, 643.8, 614.2, 587.4, 563.2, 541.1, 520.8 }; - - for(i=0; i<78; i++) {e[54][i]=e54[i]*MeV*cm2/g;} +AddData(T0,e54, 54); name [55] = "G4_POLYPROPYLENE"; G4double e55[78] = { 193.7, 232.8, 265.4, 293.9, 319.6, 365, 404.8, 440.6, 473.4, 503.9, 532.5, 559.6, 621.6, 677.5, 728.8, 776.5, 821.2, 863.4, 903.5, 941.8, 1014, 1080, 1142, 1201, 1257, 1309, 1360, 1408, 1454, 1499, 1541, 1583, 1622, 1661, 1836, 1986, 2117, 2231, 2331, 2417, 2492, 2557, 2660, 2732, 2779, 2806, 2817, 2814, 2801, 2780, 2752, 2720, 2684, 2646, 2606, 2565, 2359, 2165, 1991, 1836, 1700, 1585, 1488, 1403, 1263, 1150, 1058, 981.3, 916.1, 860, 810.9, 767.8, 729.5, 695.1, 664.3, 636.2, 610.8, 587.5 }; - - for(i=0; i<78; i++) {e[55][i]=e55[i]*MeV*cm2/g;} +AddData(T0,e55, 55); name [56] = "G4_POLYSTYRENE"; G4double e56[78] = { 153, 187.5, 216.6, 242.2, 265.3, 306.5, 342.7, 375.5, 405.6, 433.6, 460, 484.9, 542.1, 593.8, 641.3, 685.4, 726.9, 766, 803.1, 838.5, 905, 966.6, 1024, 1078, 1130, 1178, 1225, 1269, 1312, 1352, 1392, 1429, 1466, 1501, 1661, 1797, 1915, 2017, 2106, 2183, 2249, 2305, 2394, 2454, 2492, 2511, 2516, 2509, 2494, 2471, 2443, 2410, 2376, 2339, 2301, 2262, 2070, 1895, 1742, 1609, 1493, 1395, 1312, 1239, 1119, 1021, 941.4, 874.6, 817.8, 768.7, 725.7, 687.9, 654.1, 623.9, 596.6, 571.9, 549.4, 528.7 }; - - for(i=0; i<78; i++) {e[56][i]=e56[i]*MeV*cm2/g;} +AddData(T0,e56, 56); name [57] = "G4_TEFLON"; G4double e57[78] = { 82.7, 99.97, 114.4, 127.1, 138.4, 158.5, 176.2, 192, 206.5, 220, 232.6, 244.5, 271.9, 296.4, 319, 339.8, 359.4, 377.8, 395.3, 412, 443.3, 472.2, 499.3, 524.7, 548.8, 571.7, 593.6, 614.5, 634.6, 653.9, 672.5, 690.4, 707.8, 724.6, 801.6, 868.9, 928.6, 981.9, 1030, 1073, 1112, 1148, 1209, 1260, 1301, 1334, 1361, 1382, 1397, 1408, 1415, 1419, 1420, 1418, 1414, 1409, 1399, 1373, 1319, 1246, 1165, 1095, 1034, 979.4, 887.4, 813.7, 752.5, 700.8, 656.5, 618.1, 584.5, 554.8, 528.3, 504.6, 483, 463.5, 445.6, 429.3 }; - - for(i=0; i<78; i++) {e[57][i]=e57[i]*MeV*cm2/g;} +AddData(T0,e57, 57); name [58] = "G4_POLYVINYL_CHLORIDE"; G4double e58[78] = { 94.27, 114.4, 131.3, 146.3, 159.9, 184, 205.5, 224.9, 242.9, 259.7, 275.5, 290.5, 325.3, 357, 386.3, 413.7, 439.5, 464.1, 487.6, 510.1, 552.6, 592.4, 629.9, 665.5, 699.4, 731.8, 762.9, 792.9, 821.8, 849.7, 876.7, 902.9, 928.2, 952.9, 1067, 1167, 1255, 1335, 1405, 1468, 1525, 1574, 1657, 1719, 1764, 1795, 1814, 1823, 1824, 1818, 1807, 1792, 1774, 1753, 1731, 1708, 1591, 1482, 1385, 1299, 1222, 1153, 1092, 1037, 941.7, 862.4, 795.8, 739.8, 692.3, 651.2, 615.4, 583.7, 555.6, 530.3, 507.5, 486.9, 468, 450.8 }; - - for(i=0; i<78; i++) {e[58][i]=e58[i]*MeV*cm2/g;} +AddData(T0,e58, 58); name [59] = "G4_PROPANE"; G4double e59[78] = { 194.5, 234.7, 268.4, 298, 324.7, 372, 413.6, 451.2, 485.8, 518, 548.2, 576.8, 642.6, 702.2, 756.9, 808, 855.9, 901.2, 944.4, 985.6, 1063, 1135, 1203, 1267, 1327, 1385, 1440, 1492, 1543, 1592, 1639, 1684, 1728, 1770, 1964, 2131, 2277, 2404, 2516, 2613, 2698, 2771, 2887, 2969, 3022, 3053, 3065, 3061, 3046, 3021, 2990, 2953, 2912, 2868, 2822, 2775, 2564, 2372, 2191, 2022, 1868, 1739, 1629, 1534, 1377, 1252, 1150, 1065, 993, 931.1, 877.2, 829.9, 787.8, 750.2, 716.4, 685.8, 658, 632.5 }; - - for(i=0; i<78; i++) {e[59][i]=e59[i]*MeV*cm2/g;} +AddData(T0,e59, 59); name [60] = "G4_Pt"; G4double e60[78] = { 14.45, 17.87, 20.78, 23.37, 25.71, 29.9, 33.61, 36.99, 40.1, 43.01, 45.75, 48.35, 54.36, 59.81, 64.84, 69.54, 73.97, 78.17, 82.17, 86, 93.22, 99.96, 106.3, 112.3, 118, 123.5, 128.7, 133.8, 138.7, 143.4, 147.9, 152.4, 156.7, 160.8, 180.3, 197.6, 213.3, 227.7, 240.9, 253, 264.3, 274.7, 293.2, 309, 322.4, 333.7, 343.1, 350.7, 356.8, 361.6, 365.1, 367.6, 369.1, 369.8, 369.9, 369.3, 364.7, 357, 347.3, 336.6, 325.5, 314.4, 303.6, 293.2, 274.3, 258.5, 245.1, 233.4, 223.1, 214, 205.8, 198.4, 191.6, 185.4, 179.7, 174.4, 169.5, 164.9 }; - - for(i=0; i<78; i++) {e[60][i]=e60[i]*MeV*cm2/g;} +AddData(T0,e60, 60); name [61] = "G4_Si"; G4double e61[78] = { 47.32, 61.63, 74.34, 85.98, 96.82, 116.8, 135.1, 152.1, 168.2, 183.4, 198.1, 212.1, 245.3, 276.1, 305.2, 332.7, 359.1, 384.4, 408.7, 432.2, 477, 519.3, 559.4, 597.5, 633.9, 668.6, 701.9, 733.7, 764.3, 793.5, 821.6, 848.5, 874.4, 899.1, 1008, 1097, 1168, 1225, 1270, 1307, 1336, 1359, 1390, 1408, 1416, 1417, 1413, 1405, 1395, 1383, 1370, 1356, 1341, 1326, 1310, 1295, 1218, 1146, 1081, 1023, 970.6, 923.9, 881.4, 842.4, 773.1, 713.1, 661.2, 617.4, 579.7, 547, 518.2, 492.7, 470, 449.5, 430.9, 414, 398.6, 384.4 }; - - for(i=0; i<78; i++) {e[61][i]=e61[i]*MeV*cm2/g;} +AddData(T0,e61, 61); name [62] = "G4_SILICON_DIOXIDE"; G4double e62[78] = { 68.9, 85.1, 98.85, 111, 122.1, 141.8, 159.3, 175.1, 189.8, 203.4, 216.3, 228.5, 256.6, 282.1, 305.7, 327.6, 348.3, 367.9, 386.5, 404.4, 437.9, 469.2, 498.5, 526.3, 552.6, 577.7, 601.7, 624.7, 646.9, 668.2, 688.8, 708.7, 728, 746.7, 832.2, 906.8, 972.6, 1031, 1083, 1129, 1170, 1207, 1268, 1315, 1351, 1377, 1396, 1409, 1417, 1421, 1421, 1419, 1414, 1406, 1397, 1387, 1349, 1301, 1237, 1163, 1087, 1021, 964, 913.7, 829.4, 762.2, 706.3, 659, 618.4, 583.3, 552.3, 524.9, 500.4, 478.4, 458.5, 440.4, 423.9, 408.7 }; - - for(i=0; i<78; i++) {e[62][i]=e62[i]*MeV*cm2/g;} +AddData(T0,e62, 62); name [63] = "G4_STILBENE"; G4double e63[78] = { 192, 228.9, 259.4, 286, 309.7, 351.2, 387.4, 419.7, 449.2, 476.4, 501.9, 525.8, 580.4, 629.2, 673.8, 714.9, 753.3, 789.4, 823.5, 856, 916.5, 972.3, 1024, 1073, 1119, 1162, 1203, 1243, 1280, 1316, 1351, 1384, 1416, 1446, 1585, 1703, 1805, 1892, 1968, 2034, 2090, 2139, 2215, 2268, 2303, 2323, 2331, 2330, 2321, 2307, 2287, 2265, 2240, 2212, 2184, 2155, 1995, 1841, 1703, 1582, 1477, 1385, 1305, 1233, 1113, 1015, 936, 869.6, 813, 764.1, 721.3, 683.7, 650.1, 620, 592.9, 568.3, 545.9, 525.4 }; - - for(i=0; i<78; i++) {e[63][i]=e63[i]*MeV*cm2/g;} +AddData(T0,e63, 63); name [64] = "G4_Ti"; G4double e64[78] = { 59.24, 72.81, 84.28, 94.41, 103.6, 119.9, 134.3, 147.4, 159.4, 170.6, 181.1, 191.1, 214, 234.7, 253.8, 271.6, 288.3, 304.1, 319.1, 333.5, 360.5, 385.5, 409, 431.2, 452.2, 472.2, 491.4, 509.7, 527.3, 544.3, 560.6, 576.4, 591.7, 606.5, 674.2, 733.1, 785, 831, 871.7, 907.9, 940, 968.3, 1015, 1051, 1077, 1095, 1106, 1112, 1114, 1112, 1107, 1100, 1092, 1082, 1071, 1059, 995.6, 933.7, 877.6, 827.9, 785.2, 747.8, 714.5, 684.4, 631.9, 587.1, 548.3, 514.3, 484.2, 457.3, 433.4, 412.5, 393.7, 376.7, 361.5, 347.6, 334.9, 323.2 }; - - for(i=0; i<78; i++) {e[64][i]=e64[i]*MeV*cm2/g;} +AddData(T0,e64, 64); name [65] = "G4_Sn"; G4double e65[78] = { 27.39, 33.96, 39.55, 44.52, 49.04, 57.11, 64.28, 70.8, 76.82, 82.45, 87.76, 92.79, 104.4, 115, 124.8, 133.9, 142.5, 150.6, 158.4, 165.8, 179.8, 192.9, 205.2, 216.8, 227.8, 238.4, 248.4, 258.1, 267.4, 276.4, 285.1, 293.5, 301.6, 309.5, 345.7, 377.3, 405.3, 430.1, 452.1, 471.8, 489.3, 504.8, 530.7, 550.9, 566.3, 577.9, 586.3, 592.2, 596.1, 598.4, 599.3, 599.1, 598.1, 596.4, 594.2, 591.5, 573.8, 552.8, 531.2, 510.1, 488.3, 467, 447, 428.6, 396.3, 369.4, 346.8, 327.7, 311.4, 297.1, 283.9, 271.9, 260.8, 250.6, 241.7, 233.6, 226, 218.9 }; - - for(i=0; i<78; i++) {e[65][i]=e65[i]*MeV*cm2/g;} +AddData(T0,e65, 65); name [66] = "G4_TISSUE_METHANE"; G4double e66[78] = { 135.1, 165.6, 191.3, 213.9, 234.4, 270.7, 302.8, 331.8, 358.4, 383.2, 406.5, 428.6, 479.3, 525.2, 567.4, 606.7, 643.6, 678.5, 711.7, 743.4, 803.1, 858.6, 910.7, 960.1, 1007, 1052, 1095, 1136, 1176, 1214, 1251, 1287, 1322, 1356, 1514, 1655, 1783, 1899, 2006, 2104, 2193, 2275, 2418, 2535, 2626, 2693, 2737, 2760, 2764, 2752, 2728, 2695, 2655, 2612, 2566, 2519, 2278, 2060, 1878, 1727, 1602, 1494, 1403, 1323, 1191, 1085, 998.2, 926, 864.6, 811.7, 765.6, 724.9, 688.8, 656.5, 627.4, 601.1, 577.1, 555.2 }; - - for(i=0; i<78; i++) {e[66][i]=e66[i]*MeV*cm2/g;} +AddData(T0,e66, 66); name [67] = "G4_TISSUE_PROPANE"; G4double e67[78] = { 149.7, 181.5, 208.2, 231.7, 252.8, 290.4, 323.5, 353.4, 380.9, 406.5, 430.5, 453.3, 505.7, 553, 596.6, 637.2, 675.4, 711.5, 745.8, 778.6, 840.4, 897.8, 951.6, 1003, 1051, 1097, 1141, 1183, 1224, 1263, 1301, 1337, 1372, 1407, 1563, 1701, 1822, 1929, 2024, 2109, 2185, 2252, 2362, 2446, 2507, 2549, 2573, 2583, 2581, 2569, 2550, 2524, 2494, 2461, 2426, 2389, 2211, 2043, 1887, 1744, 1616, 1507, 1415, 1334, 1201, 1094, 1006, 933.3, 871.4, 818.1, 771.5, 730.5, 694.1, 661.5, 632.1, 605.6, 581.4, 559.3 }; - - for(i=0; i<78; i++) {e[67][i]=e67[i]*MeV*cm2/g;} +AddData(T0,e67, 67); name [68] = "G4_TOLUENE"; G4double e68[78] = { 192.5, 230, 261, 288.1, 312.3, 354.9, 392, 425.3, 455.6, 483.7, 510, 534.8, 591.3, 642.1, 688.4, 731.3, 771.4, 809.1, 844.8, 878.8, 942.4, 1001, 1056, 1107, 1155, 1201, 1245, 1287, 1327, 1365, 1401, 1437, 1471, 1504, 1652, 1779, 1888, 1983, 2065, 2136, 2197, 2250, 2333, 2392, 2430, 2452, 2461, 2459, 2449, 2433, 2411, 2386, 2358, 2328, 2296, 2264, 2109, 1960, 1817, 1683, 1560, 1456, 1368, 1291, 1163, 1060, 976.6, 906.6, 847.1, 795.7, 750.8, 711.3, 676.1, 644.6, 616.2, 590.5, 567, 545.6 }; - - for(i=0; i<78; i++) {e[68][i]=e68[i]*MeV*cm2/g;} +AddData(T0,e68, 68); name [69] = "G4_U"; G4double e69[78] = { 13.2, 16.72, 19.77, 22.52, 25.04, 29.61, 33.73, 37.51, 41.03, 44.35, 47.5, 50.51, 57.52, 63.96, 69.97, 75.62, 80.99, 86.11, 91.01, 95.73, 104.7, 113.1, 121.1, 128.7, 136, 143, 149.8, 156.3, 162.6, 168.8, 174.7, 180.5, 186.2, 191.7, 217.4, 240.5, 261.5, 280.8, 298.5, 314.8, 329.8, 343.7, 368, 388.4, 405.3, 419, 429.8, 438.1, 444.2, 448.4, 450.8, 451.8, 451.6, 450.3, 448.2, 445.4, 420, 390.1, 362.9, 339.6, 319.8, 303.1, 288.9, 276.7, 256.9, 241.7, 229.4, 218.6, 209.1, 200.6, 193, 186.1, 179.8, 174, 168.6, 163.7, 159.1, 154.8 }; - - for(i=0; i<78; i++) {e[69][i]=e69[i]*MeV*cm2/g;} +AddData(T0,e69, 69); name [70] = "G4_W"; G4double e70[78] = { 20.75, 25.23, 28.99, 32.29, 35.26, 40.51, 45.11, 49.26, 53.06, 56.59, 59.9, 63.02, 70.18, 76.63, 82.54, 88.02, 93.16, 98.01, 102.6, 107, 115.2, 122.9, 130, 136.7, 143.1, 149.2, 155, 160.6, 165.9, 171.1, 176.1, 180.9, 185.6, 190.1, 211.1, 229.6, 246.2, 261.3, 275.1, 287.7, 299.3, 310, 328.8, 344.7, 358.1, 369.2, 378.3, 385.6, 391.3, 395.6, 398.7, 400.6, 401.7, 401.9, 401.4, 400.4, 389.5, 374.8, 359.5, 344.8, 331, 318.3, 306.5, 295.7, 276.7, 260.8, 247.3, 235.5, 225.2, 216.1, 207.8, 200.3, 193.5, 187.3, 181.5, 176.2, 171.3, 166.7 }; - - for(i=0; i<78; i++) {e[70][i]=e70[i]*MeV*cm2/g;} +AddData(T0,e70, 70); name [71] = "G4_WATER"; G4double e71[78] = { 98.91, 122.7, 143.1, 161.1, 177.5, 206.9, 233, 256.8, 278.8, 299.3, 318.6, 337, 379.5, 418.1, 453.8, 487.1, 518.6, 548.3, 576.7, 603.9, 655.2, 703, 748, 790.5, 831, 869.6, 906.6, 942.2, 976.4, 1009, 1041, 1072, 1102, 1131, 1265, 1383, 1488, 1582, 1666, 1743, 1811, 1873, 1978, 2062, 2128, 2178, 2215, 2240, 2255, 2262, 2262, 2256, 2245, 2230, 2211, 2190, 2050, 1896, 1752, 1624, 1511, 1414, 1329, 1255, 1132, 1034, 952.7, 884.8, 826.9, 777.1, 733.4, 694.9, 660.7, 630.1, 602.5, 577.6, 554.8, 534 }; - - for(i=0; i<78; i++) {e[71][i]=e71[i]*MeV*cm2/g;} +AddData(T0,e71, 71); name [72] = "G4_WATER_VAPOR"; G4double e72[78] = { 126.3, 154.7, 178.7, 199.8, 218.8, 252.7, 282.5, 309.5, 334.3, 357.3, 379, 399.5, 446.7, 489.3, 528.5, 565, 599.2, 631.6, 662.4, 691.9, 747.3, 798.8, 847.2, 892.9, 936.3, 977.8, 1018, 1056, 1093, 1128, 1163, 1196, 1228, 1260, 1405, 1535, 1652, 1758, 1855, 1942, 2022, 2094, 2216, 2309, 2377, 2422, 2446, 2455, 2453, 2446, 2436, 2423, 2409, 2392, 2371, 2346, 2169, 1971, 1797, 1653, 1537, 1437, 1351, 1275, 1149, 1049, 965.8, 896.6, 837.6, 786.9, 742.5, 703.3, 668.6, 637.5, 609.5, 584.2, 561.1, 539.9 }; - - for(i=0; i<78; i++) {e[72][i]=e72[i]*MeV*cm2/g;} +AddData(T0,e72, 72); name [73] = "G4_Xe"; G4double e73[78] = { 18.11, 23.3, 27.86, 31.99, 35.83, 42.84, 49.2, 55.1, 60.63, 65.87, 70.87, 75.65, 86.89, 97.3, 107.1, 116.3, 125.1, 133.5, 141.7, 149.5, 164.4, 178.6, 192, 204.9, 217.3, 229.2, 240.7, 251.8, 262.6, 273.1, 283.4, 293.3, 303, 312.5, 356.7, 396.5, 432.5, 465.2, 494.9, 521.8, 546.1, 567.9, 604.7, 633.2, 654.5, 669.3, 678.8, 683.6, 684.6, 682.5, 678, 671.7, 663.9, 655.1, 645.6, 635.6, 584.6, 538.7, 500.4, 468.8, 446.7, 430.5, 417.1, 405.3, 383.9, 364, 344.9, 326.8, 309.7, 294.6, 281.3, 269.5, 258.7, 248.8, 239.6, 231.1, 223.2, 216.2 }; - - for(i=0; i<78; i++) {e[73][i]=e73[i]*MeV*cm2/g;} +AddData(T0,e73, 73); } + +void G4ASTARStopping::AddData(G4double* ekin, G4double* s, G4int idx) +{ +sdata[idx] = new G4LPhysicsFreeVector(78, ekin[0]*MeV, ekin[77]*MeV); +const G4double fac = MeV*cm2/g; +for(size_t i=0; i<78; ++i) { sdata[idx]->PutValues(i, ekin[i]*MeV, s[i]*fac); } +sdata[idx]->SetSpline(true); +} diff --git a/source/processes/electromagnetic/standard/src/G4BetheBlochIonGasModel.cc b/source/processes/electromagnetic/standard/src/G4BetheBlochIonGasModel.cc new file mode 100644 index 0000000000..b958b30721 --- /dev/null +++ b/source/processes/electromagnetic/standard/src/G4BetheBlochIonGasModel.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: G4BetheBlochIonGasModel.cc,v 1.1 2010/05/27 10:34:09 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4BetheBlochIonGasModel +// +// Author: Vladimir Ivanchenko +// +// Creation date: 21.05.2010 +// +// Modifications: +// +// +// ------------------------------------------------------------------- +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4BetheBlochIonGasModel.hh" +#include "G4Track.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +using namespace std; + +G4BetheBlochIonGasModel::G4BetheBlochIonGasModel(const G4ParticleDefinition* p, + const G4String& nam) : G4BetheBlochModel(p,nam), currentCharge(0.0) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4BetheBlochIonGasModel::~G4BetheBlochIonGasModel() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4BetheBlochIonGasModel::ChargeSquareRatio(const G4Track& track) +{ + currentCharge = track.GetDynamicParticle()->GetCharge()/eplus; + G4double q2 = currentCharge*currentCharge; + SetChargeSquareRatio(q2); + return q2; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4BetheBlochIonGasModel::GetParticleCharge(const G4ParticleDefinition*, + const G4Material*, G4double) +{ + return currentCharge*eplus; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/source/processes/electromagnetic/standard/src/G4BetheBlochModel.cc b/source/processes/electromagnetic/standard/src/G4BetheBlochModel.cc index 6d8427ccb2..6974524ad1 100644 --- a/source/processes/electromagnetic/standard/src/G4BetheBlochModel.cc +++ b/source/processes/electromagnetic/standard/src/G4BetheBlochModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BetheBlochModel.cc,v 1.36 2009/12/03 17:26:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BetheBlochModel.cc,v 1.41 2010/11/12 18:37:47 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -81,11 +81,13 @@ G4BetheBlochModel::G4BetheBlochModel(const G4ParticleDefinition* p, isInitialised(false) { fParticleChange = 0; + theElectron = G4Electron::Electron(); if(p) { SetGenericIon(p); SetParticle(p); + } else { + SetParticle(theElectron); } - theElectron = G4Electron::Electron(); corr = G4LossTableManager::Instance()->EmCorrections(); nist = G4NistManager::Instance(); SetLowEnergyLimit(2.0*MeV); @@ -116,7 +118,6 @@ void G4BetheBlochModel::Initialise(const G4ParticleDefinition* p, // << " isIon= " << isIon // << G4endl; - corrFactor = chargeSquare; // always false before the run SetDeexcitationFlag(false); @@ -144,10 +145,36 @@ G4double G4BetheBlochModel::GetParticleCharge(const G4ParticleDefinition* p, const G4Material* mat, G4double kineticEnergy) { - // this method is called only for ions + // this method is called only for ions, so no check if it is an ion return corr->GetParticleCharge(p,mat,kineticEnergy); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4BetheBlochModel::SetupParameters() +{ + mass = particle->GetPDGMass(); + spin = particle->GetPDGSpin(); + G4double q = particle->GetPDGCharge()/eplus; + chargeSquare = q*q; + corrFactor = chargeSquare; + ratio = electron_mass_c2/mass; + G4double magmom = + particle->GetPDGMagneticMoment()*mass/(0.5*eplus*hbar_Planck*c_squared); + magMoment2 = magmom*magmom - 1.0; + formfact = 0.0; + if(particle->GetLeptonNumber() == 0) { + G4double x = 0.8426*GeV; + if(spin == 0.0 && mass < GeV) {x = 0.736*GeV;} + else if(mass > GeV) { + x /= nist->GetZ13(mass/proton_mass_c2); + // tlimit = 51.2*GeV*A13[iz]*A13[iz]; + } + formfact = 2.0*electron_mass_c2/(x*x); + tlimit = 2.0/formfact; + } +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4double @@ -169,7 +196,7 @@ G4BetheBlochModel::ComputeCrossSectionPerElectron(const G4ParticleDefinition* p, - beta2*log(maxEnergy/cutEnergy)/tmax; // +term for spin=1/2 particle - if( 0.5 == spin ) cross += 0.5*(maxEnergy - cutEnergy)/energy2; + if( 0.5 == spin ) { cross += 0.5*(maxEnergy - cutEnergy)/energy2; } // High order correction different for hadrons and ions // nevetheless they are applied to reduce high energy transfers @@ -224,7 +251,7 @@ G4double G4BetheBlochModel::ComputeDEDXPerVolume(const G4Material* material, G4double cut) { G4double tmax = MaxSecondaryEnergy(p, kineticEnergy); - G4double cutEnergy = min(cut,tmax); + G4double cutEnergy = std::min(cut,tmax); G4double tau = kineticEnergy/mass; G4double gam = tau + 1.0; @@ -233,11 +260,6 @@ G4double G4BetheBlochModel::ComputeDEDXPerVolume(const G4Material* material, G4double eexc = material->GetIonisation()->GetMeanExcitationEnergy(); G4double eexc2 = eexc*eexc; - //G4double cden = material->GetIonisation()->GetCdensity(); - //G4double mden = material->GetIonisation()->GetMdensity(); - //G4double aden = material->GetIonisation()->GetAdensity(); - //G4double x0den = material->GetIonisation()->GetX0density(); - //G4double x1den = material->GetIonisation()->GetX1density(); G4double eDensity = material->GetElectronDensity(); @@ -251,19 +273,12 @@ G4double G4BetheBlochModel::ComputeDEDXPerVolume(const G4Material* material, // density correction G4double x = log(bg2)/twoln10; - //if ( x >= x0den ) { - // dedx -= twoln10*x - cden ; - // if ( x < x1den ) dedx -= aden*pow((x1den-x),mden) ; - //} dedx -= material->GetIonisation()->DensityCorrection(x); // shell correction dedx -= 2.0*corr->ShellCorrection(p,material,kineticEnergy); // now compute the total ionization loss - - if (dedx < 0.0) dedx = 0.0 ; - dedx *= twopi_mc2_rcl2*chargeSquare*eDensity/beta2; //High order correction different for hadrons and ions @@ -272,18 +287,12 @@ G4double G4BetheBlochModel::ComputeDEDXPerVolume(const G4Material* material, } else { dedx += corr->HighOrderCorrections(p,material,kineticEnergy,cutEnergy); } + + if (dedx < 0.0) { dedx = 0.0; } return dedx; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -/* -void G4BetheBlochModel::CorrectionsAlongStep(const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double&, - G4double&, - G4double) -{} -*/ void G4BetheBlochModel::CorrectionsAlongStep(const G4MaterialCutsCouple* couple, const G4DynamicParticle* dp, diff --git a/source/processes/electromagnetic/standard/src/G4BetheHeitlerModel.cc b/source/processes/electromagnetic/standard/src/G4BetheHeitlerModel.cc index eb8467e2ca..bf6b2afa88 100644 --- a/source/processes/electromagnetic/standard/src/G4BetheHeitlerModel.cc +++ b/source/processes/electromagnetic/standard/src/G4BetheHeitlerModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BetheHeitlerModel.cc,v 1.13 2009/04/09 18:41:18 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BetheHeitlerModel.cc,v 1.15 2010/10/25 19:02:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -42,8 +42,9 @@ // 24-06-05 Increase number of bins to 200 (V.Ivantchenko) // 16-11-05 replace shootBit() by G4UniformRand() mma // 04-12-05 SetProposedKineticEnergy(0.) for the killed photon (mma) -// 20-02-20 SelectRandomElement is called for any initial gamma energy +// 20-02-07 SelectRandomElement is called for any initial gamma energy // in order to have selected element for polarized model (VI) +// 25-10-10 Removed unused table, added element selector (VI) // // Class Description: // @@ -57,10 +58,7 @@ #include "G4Positron.hh" #include "G4Gamma.hh" #include "Randomize.hh" -#include "G4DataVector.hh" -#include "G4PhysicsLogVector.hh" #include "G4ParticleChangeForGamma.hh" -#include "G4LossTableManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -68,9 +66,7 @@ using namespace std; G4BetheHeitlerModel::G4BetheHeitlerModel(const G4ParticleDefinition*, const G4String& nam) - : G4VEmModel(nam), - theCrossSectionTable(0), - nbins(10) + : G4VEmModel(nam) { fParticleChange = 0; theGamma = G4Gamma::Gamma(); @@ -81,59 +77,23 @@ G4BetheHeitlerModel::G4BetheHeitlerModel(const G4ParticleDefinition*, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4BetheHeitlerModel::~G4BetheHeitlerModel() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4BetheHeitlerModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector& cuts) { - if(theCrossSectionTable) { - theCrossSectionTable->clearAndDestroy(); - delete theCrossSectionTable; - } + if(!fParticleChange) { fParticleChange = GetParticleChangeForGamma(); } + InitialiseElementSelectors(p, cuts); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4BetheHeitlerModel::Initialise(const G4ParticleDefinition*, - const G4DataVector&) -{ - if(!fParticleChange) fParticleChange = GetParticleChangeForGamma(); - - if(theCrossSectionTable) { - theCrossSectionTable->clearAndDestroy(); - delete theCrossSectionTable; - } - - const G4ElementTable* theElementTable = G4Element::GetElementTable(); - size_t nvect = G4Element::GetNumberOfElements(); - theCrossSectionTable = new G4PhysicsTable(nvect); - G4PhysicsLogVector* ptrVector; - G4double emin = LowEnergyLimit(); - G4double emax = HighEnergyLimit(); - G4int n = nbins*G4int(log10(emax/emin)); - G4bool spline = G4LossTableManager::Instance()->SplineFlag(); - G4double e, value; - - for(size_t j=0; jSetSpline(spline); - G4double Z = (*theElementTable)[j]->GetZ(); - G4int iz = G4int(Z); - indexZ[iz] = j; - - for(G4int i=0; iGetLowEdgeEnergy( i ) ; - value = ComputeCrossSectionPerAtom(theGamma, e, Z); - ptrVector->PutValue( i, value ); - } - - theCrossSectionTable->insert(ptrVector); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4BetheHeitlerModel::ComputeCrossSectionPerAtom( - const G4ParticleDefinition*, - G4double GammaEnergy, G4double Z, - G4double, G4double, G4double) +G4double +G4BetheHeitlerModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double GammaEnergy, G4double Z, + G4double, G4double, G4double) // Calculates the microscopic cross section in GEANT4 internal units. // A parametrized formula from L. Urban is used to estimate // the total cross section. @@ -143,8 +103,7 @@ G4double G4BetheHeitlerModel::ComputeCrossSectionPerAtom( { static const G4double GammaEnergyLimit = 1.5*MeV; G4double CrossSection = 0.0 ; - if ( Z < 1. ) return CrossSection; - if ( GammaEnergy <= 2.0*electron_mass_c2 ) return CrossSection; + if ( Z < 0.9 || GammaEnergy <= 2.0*electron_mass_c2 ) { return CrossSection; } static const G4double a0= 8.7842e+2*microbarn, a1=-1.9625e+3*microbarn, a2= 1.2949e+3*microbarn, @@ -159,7 +118,7 @@ G4double G4BetheHeitlerModel::ComputeCrossSectionPerAtom( c3= 2.1773e+2*microbarn, c4=-2.0467e+1*microbarn, c5= 6.5372e-1*microbarn; G4double GammaEnergySave = GammaEnergy; - if (GammaEnergy < GammaEnergyLimit) GammaEnergy = GammaEnergyLimit ; + if (GammaEnergy < GammaEnergyLimit) { GammaEnergy = GammaEnergyLimit; } G4double X=log(GammaEnergy/electron_mass_c2), X2=X*X, X3=X2*X, X4=X3*X, X5=X4*X; @@ -176,7 +135,7 @@ G4double G4BetheHeitlerModel::ComputeCrossSectionPerAtom( CrossSection *= X*X; } - if (CrossSection < 0.) CrossSection = 0.; + if (CrossSection < 0.) { CrossSection = 0.; } return CrossSection; } @@ -207,7 +166,7 @@ void G4BetheHeitlerModel::SampleSecondaries(std::vector* fve G4double epsil ; G4double epsil0 = electron_mass_c2/GammaEnergy ; - if(epsil0 > 1.0) return; + if(epsil0 > 1.0) { return; } // do it fast if GammaEnergy < 2. MeV static const G4double Egsmall=2.*MeV; @@ -224,7 +183,7 @@ void G4BetheHeitlerModel::SampleSecondaries(std::vector* fve // Extract Coulomb factor for this Element G4double FZ = 8.*(anElement->GetIonisation()->GetlogZ3()); - if (GammaEnergy > 50.*MeV) FZ += 8.*(anElement->GetfCoulomb()); + if (GammaEnergy > 50.*MeV) { FZ += 8.*(anElement->GetfCoulomb()); } // limits of the screening variable G4double screenfac = 136.*epsil0/(anElement->GetIonisation()->GetZ3()); @@ -333,5 +292,3 @@ void G4BetheHeitlerModel::SampleSecondaries(std::vector* fve } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - diff --git a/source/processes/electromagnetic/standard/src/G4BohrFluctuations.cc b/source/processes/electromagnetic/standard/src/G4BohrFluctuations.cc index 9ce1311e43..437ab7ddf1 100644 --- a/source/processes/electromagnetic/standard/src/G4BohrFluctuations.cc +++ b/source/processes/electromagnetic/standard/src/G4BohrFluctuations.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BohrFluctuations.cc,v 1.8 2009/09/29 11:33:22 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BohrFluctuations.cc,v 1.9 2010/10/25 18:23:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -66,7 +66,12 @@ G4BohrFluctuations::G4BohrFluctuations(const G4String& nam) minFraction(0.2), xmin(0.2), minLoss(0.001*eV) -{} +{ + particleMass = proton_mass_c2; + chargeSquare = 1.0; + kineticEnergy = 0.0; + beta2 = 0.0; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -91,7 +96,7 @@ G4double G4BohrFluctuations::SampleFluctuations(const G4Material* material, G4double& length, G4double& meanLoss) { - if(meanLoss <= minLoss) return meanLoss; + if(meanLoss <= minLoss) { return meanLoss; } G4double siga = Dispersion(material,dp,tmax,length); G4double loss = meanLoss; @@ -141,7 +146,7 @@ G4double G4BohrFluctuations::Dispersion(const G4Material* material, G4double& tmax, G4double& length) { - if(!particle) InitialiseMe(dp->GetDefinition()); + if(!particle) { InitialiseMe(dp->GetDefinition()); } G4double electronDensity = material->GetElectronDensity(); kineticEnergy = dp->GetKineticEnergy(); diff --git a/source/processes/electromagnetic/standard/src/G4BraggIonGasModel.cc b/source/processes/electromagnetic/standard/src/G4BraggIonGasModel.cc new file mode 100644 index 0000000000..dd10e54954 --- /dev/null +++ b/source/processes/electromagnetic/standard/src/G4BraggIonGasModel.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: G4BraggIonGasModel.cc,v 1.1 2010/05/27 10:34:09 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4BraggIonGasModel +// +// Author: Vladimir Ivanchenko +// +// Creation date: 21.05.2010 +// +// Modifications: +// +// +// ------------------------------------------------------------------- +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4BraggIonGasModel.hh" +#include "G4Track.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +using namespace std; + +G4BraggIonGasModel::G4BraggIonGasModel(const G4ParticleDefinition* p, + const G4String& nam) : G4BraggModel(p,nam), currentCharge(0.0) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4BraggIonGasModel::~G4BraggIonGasModel() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4BraggIonGasModel::ChargeSquareRatio(const G4Track& track) +{ + currentCharge = track.GetDynamicParticle()->GetCharge()/eplus; + G4double q2 = currentCharge*currentCharge; + SetChargeSquareRatio(q2); + return q2; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4BraggIonGasModel::GetParticleCharge(const G4ParticleDefinition*, + const G4Material*, G4double) +{ + return currentCharge*eplus; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/source/processes/electromagnetic/standard/src/G4BraggIonModel.cc b/source/processes/electromagnetic/standard/src/G4BraggIonModel.cc index 98a8383dcb..68a3e1dcbc 100644 --- a/source/processes/electromagnetic/standard/src/G4BraggIonModel.cc +++ b/source/processes/electromagnetic/standard/src/G4BraggIonModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BraggIonModel.cc,v 1.27 2009/11/22 18:00:23 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BraggIonModel.cc,v 1.30 2010/11/04 17:30:31 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -80,7 +80,6 @@ G4BraggIonModel::G4BraggIonModel(const G4ParticleDefinition* p, isIon(false), isInitialised(false) { - if(p) SetParticle(p); SetHighEnergyLimit(2.0*MeV); HeMass = 3.727417*GeV; @@ -89,6 +88,9 @@ G4BraggIonModel::G4BraggIonModel(const G4ParticleDefinition* p, massFactor = 1000.*amu_c2/HeMass; theZieglerFactor = eV*cm2*1.0e-15; theElectron = G4Electron::Electron(); + corrFactor = 1.0; + if(p) { SetParticle(p); } + else { SetParticle(theElectron); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -109,7 +111,7 @@ G4double G4BraggIonModel::MinEnergyCut(const G4ParticleDefinition*, void G4BraggIonModel::Initialise(const G4ParticleDefinition* p, const G4DataVector&) { - if(p != particle) SetParticle(p); + if(p != particle) { SetParticle(p); } corrFactor = chargeSquare; @@ -121,7 +123,7 @@ void G4BraggIonModel::Initialise(const G4ParticleDefinition* p, G4String pname = particle->GetParticleName(); if(particle->GetParticleType() == "nucleus" && - pname != "deuteron" && pname != "triton") isIon = true; + pname != "deuteron" && pname != "triton") { isIon = true; } corr = G4LossTableManager::Instance()->EmCorrections(); diff --git a/source/processes/electromagnetic/standard/src/G4BraggModel.cc b/source/processes/electromagnetic/standard/src/G4BraggModel.cc index e38fcbb384..040549f1e2 100644 --- a/source/processes/electromagnetic/standard/src/G4BraggModel.cc +++ b/source/processes/electromagnetic/standard/src/G4BraggModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BraggModel.cc,v 1.23 2009/11/10 19:25:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BraggModel.cc,v 1.29 2010/11/05 19:27:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -83,12 +83,16 @@ G4BraggModel::G4BraggModel(const G4ParticleDefinition* p, const G4String& nam) isIon(false), isInitialised(false) { - if(p) SetParticle(p); SetHighEnergyLimit(2.0*MeV); lowestKinEnergy = 1.0*keV; theZieglerFactor = eV*cm2*1.0e-15; theElectron = G4Electron::Electron(); + expStopPower125 = 0.0; + + corr = G4LossTableManager::Instance()->EmCorrections(); + if(p) { SetParticle(p); } + else { SetParticle(theElectron); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -99,9 +103,10 @@ G4BraggModel::~G4BraggModel() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4double G4BraggModel::MinEnergyCut(const G4ParticleDefinition*, - const G4MaterialCutsCouple* couple) + const G4MaterialCutsCouple*) { - return couple->GetMaterial()->GetIonisation()->GetMeanExcitationEnergy(); + return 0.1*keV; + // return couple->GetMaterial()->GetIonisation()->GetMeanExcitationEnergy(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -109,7 +114,7 @@ G4double G4BraggModel::MinEnergyCut(const G4ParticleDefinition*, void G4BraggModel::Initialise(const G4ParticleDefinition* p, const G4DataVector&) { - if(p != particle) SetParticle(p); + if(p != particle) { SetParticle(p); } // always false before the run SetDeexcitationFlag(false); @@ -119,9 +124,7 @@ void G4BraggModel::Initialise(const G4ParticleDefinition* p, G4String pname = particle->GetParticleName(); if(particle->GetParticleType() == "nucleus" && - pname != "deuteron" && pname != "triton") isIon = true; - - corr = G4LossTableManager::Instance()->EmCorrections(); + pname != "deuteron" && pname != "triton") { isIon = true; } fParticleChange = GetParticleChangeForLoss(); } @@ -145,7 +148,7 @@ G4double G4BraggModel::GetParticleCharge(const G4ParticleDefinition* p, const G4Material* mat, G4double kineticEnergy) { - // this method is called only for ions + // this method is called only for ions, so no check if it is an ion return corr->GetParticleCharge(p,mat,kineticEnergy); } @@ -160,7 +163,7 @@ G4double G4BraggModel::ComputeCrossSectionPerElectron( G4double cross = 0.0; G4double tmax = MaxSecondaryEnergy(p, kineticEnergy); G4double maxEnergy = std::min(tmax,maxKinEnergy); - if(cutEnergy < tmax) { + if(cutEnergy < maxEnergy) { G4double energy = kineticEnergy + mass; G4double energy2 = energy*energy; @@ -214,8 +217,8 @@ G4double G4BraggModel::ComputeDEDXPerVolume(const G4Material* material, G4double tmax = MaxSecondaryEnergy(p, kineticEnergy); G4double tkin = kineticEnergy/massRate; G4double dedx = 0.0; - if(tkin > lowestKinEnergy) dedx = DEDX(material, tkin); - else dedx = DEDX(material, lowestKinEnergy)*sqrt(tkin/lowestKinEnergy); + if(tkin > lowestKinEnergy) { dedx = DEDX(material, tkin); } + else { dedx = DEDX(material, lowestKinEnergy)*sqrt(tkin/lowestKinEnergy); } if (cutEnergy < tmax) { @@ -238,40 +241,6 @@ G4double G4BraggModel::ComputeDEDXPerVolume(const G4Material* material, return dedx; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -/* -void G4BraggModel::CorrectionsAlongStep(const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double& eloss, - G4double&, - G4double length) -{ - if(nuclearStopping) { - - G4double preKinEnergy = dp->GetKineticEnergy(); - G4double e = preKinEnergy - eloss*0.5; - if(e < 0.0) e = preKinEnergy*0.5; - G4double nloss = length*corr->NuclearDEDX(dp->GetDefinition(), - couple->GetMaterial(), - e,false); - - // too big energy loss - if(eloss + nloss > preKinEnergy) { - nloss *= (preKinEnergy/(eloss + nloss)); - eloss = preKinEnergy; - } else { - eloss += nloss; - } - - G4cout << "G4ionIonisation::CorrectionsAlongStep: e= " << preKinEnergy - << " de= " << eloss << " NIEL= " << nloss - << " dynQ= " << dp->GetCharge()/eplus << G4endl; - - fParticleChange->ProposeNonIonizingEnergyDeposit(nloss); - } -} -*/ - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void G4BraggModel::SampleSecondaries(vector* vdp, @@ -282,7 +251,7 @@ void G4BraggModel::SampleSecondaries(vector* vdp, { G4double tmax = MaxSecondaryKinEnergy(dp); G4double xmax = std::min(tmax, maxEnergy); - if(xmin >= xmax) return; + if(xmin >= xmax) { return; } G4double kineticEnergy = dp->GetKineticEnergy(); G4double energy = kineticEnergy + mass; @@ -342,7 +311,7 @@ void G4BraggModel::SampleSecondaries(vector* vdp, G4double G4BraggModel::MaxSecondaryEnergy(const G4ParticleDefinition* pd, G4double kinEnergy) { - if(pd != particle) SetParticle(pd); + if(pd != particle) { SetParticle(pd); } G4double tau = kinEnergy/mass; G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) / (1. + 2.0*(tau + 1.)*ratio + ratio*ratio); @@ -586,15 +555,14 @@ G4double G4BraggModel::ElectronicStoppingPower(G4double z, G4double shigh = log( 1.0 + a[i][3]/T + a[i][4]*T ) * a[i][2]/T ; ionloss = slow*shigh*fac / (slow + shigh) ; - if ( ionloss < 0.0) ionloss = 0.0 ; + if ( ionloss < 0.0) { ionloss = 0.0; } return ionloss; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double G4BraggModel::DEDX(const G4Material* material, - G4double kineticEnergy) +G4double G4BraggModel::DEDX(const G4Material* material, G4double kineticEnergy) { G4double eloss = 0.0; const G4int numberOfElements = material->GetNumberOfElements(); @@ -604,7 +572,7 @@ G4double G4BraggModel::DEDX(const G4Material* material, // compaund material with parametrisation G4int iNist = pstar.GetIndex(material); - if( iNist >= 0 ) { + if( iNist >= 0 && kineticEnergy <= 2.01*MeV) { return pstar.GetElectronicDEDX(iNist, kineticEnergy)*material->GetDensity(); } else if( HasMaterial(material) ) { @@ -612,7 +580,7 @@ G4double G4BraggModel::DEDX(const G4Material* material, eloss = StoppingPower(material, kineticEnergy)* material->GetDensity()/amu; - // pure material + // Pure material ICRU49 paralmeterisation } else if(1 == numberOfElements) { G4double z = material->GetZ(); @@ -623,12 +591,12 @@ G4double G4BraggModel::DEDX(const G4Material* material, // Experimental data exist only for kinetic energy 125 keV } else if( MolecIsInZiegler1988(material) ) { - // Cycle over elements - calculation based on Bragg's rule + // Loop over elements - calculation based on Bragg's rule G4double eloss125 = 0.0 ; const G4ElementVector* theElementVector = material->GetElementVector(); - // loop for the elements in the material + // Loop for the elements in the material for (G4int i=0; iGetZ() ; @@ -667,7 +635,7 @@ G4bool G4BraggModel::MolecIsInZiegler1988(const G4Material* material) G4String myFormula = G4String(" ") ; const G4String chFormula = material->GetChemicalFormula() ; - if (myFormula == chFormula ) return false ; + if (myFormula == chFormula ) { return false; } // There are no evidence for difference of stopping power depended on // phase of the compound except for water. The stopping power of the diff --git a/source/processes/electromagnetic/standard/src/G4ComptonScattering52.cc b/source/processes/electromagnetic/standard/src/G4ComptonScattering52.cc deleted file mode 100644 index 2dd3e92650..0000000000 --- a/source/processes/electromagnetic/standard/src/G4ComptonScattering52.cc +++ /dev/null @@ -1,488 +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: G4ComptonScattering52.cc,v 1.7 2008/10/15 17:53:44 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -//------------ G4ComptonScattering52 physics process ----------------------------- -// by Michel Maire, April 1996 -// -// 28-05-96, DoIt() small change in ElecDirection, by M.Maire -// 10-06-96, simplification in ComputeMicroscopicCrossSection(), by M.Maire -// 21-06-96, SetCuts implementation, M.Maire -// 13-09-96, small changes in DoIt for better efficiency. Thanks to P.Urban -// 06-01-97, crossection table + meanfreepath table, M.Maire -// 05-03-97, new Physics scheme, M.Maire -// 28-03-97, protection in BuildPhysicsTable, M.Maire -// 07-04-98, remove 'tracking cut' of the scattered gamma, MMa -// 04-06-98, in DoIt, secondary production condition: -// range>std::min(threshold,safety) -// 13-08-98, new methods SetBining() PrintInfo() -// 15-12-98, cross section=0 below 10 keV -// 28-05-01, V.Ivanchenko minor changes to provide ANSI -wall compilation -// 13-07-01, DoIt: suppression of production cut for the electron (mma) -// 03-08-01, new methods Store/Retrieve PhysicsTable (mma) -// 06-08-01, BuildThePhysicsTable() called from constructor (mma) -// 17-09-01, migration of Materials to pure STL (mma) -// 20-09-01, DoIt: fminimalEnergy = 1*eV (mma) -// 01-10-01, come back to BuildPhysicsTable(const G4ParticleDefinition&) -// 17-04-02, LowestEnergyLimit = 1*keV -// 26-05-04, cross section parametrization improved for low energy : -// Egamma <~ 15 keV (Laszlo) -// 08-11-04, Remove Store/Retrieve tables (V.Ivanchenko) -// 04-05-05, Add 52 to class name (V.Ivanchenko) -// ----------------------------------------------------------------------------- - -#include "G4ComptonScattering52.hh" -#include "G4UnitsTable.hh" -#include "G4PhysicsTableHelper.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4ComptonScattering52::G4ComptonScattering52(const G4String& processName, - G4ProcessType type):G4VDiscreteProcess (processName, type), - theCrossSectionTable(NULL), - theMeanFreePathTable(NULL), - LowestEnergyLimit ( 1*keV), - HighestEnergyLimit(100*GeV), - NumbBinTable(80), - fminimalEnergy(1*eV) -{ - SetProcessSubType(13); - G4cout << "!!! G4ComptonScattering52 is the obsolete process class and will be removed soon !!!" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// destructor - -G4ComptonScattering52::~G4ComptonScattering52() -{ - if (theCrossSectionTable) { - theCrossSectionTable->clearAndDestroy(); - delete theCrossSectionTable; - } - - if (theMeanFreePathTable) { - theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4ComptonScattering52::IsApplicable( const G4ParticleDefinition& particle) -{ - return ( &particle == G4Gamma::Gamma() ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4ComptonScattering52::SetPhysicsTableBining( - G4double lowE, G4double highE, G4int nBins) -{ - LowestEnergyLimit = lowE; HighestEnergyLimit = highE; NumbBinTable = nBins; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4ComptonScattering52::BuildPhysicsTable(const G4ParticleDefinition&) -// Build cross section and mean free path tables -{ - G4double LowEdgeEnergy, Value; - G4PhysicsLogVector* ptrVector; - -// Build cross section per atom tables for the Compton Scattering process - - if (theCrossSectionTable) { - theCrossSectionTable->clearAndDestroy(); delete theCrossSectionTable;} - - theCrossSectionTable = new G4PhysicsTable(G4Element::GetNumberOfElements()); - const G4ElementTable* theElementTable = G4Element::GetElementTable(); - G4double AtomicNumber; - size_t J; - - for ( J=0 ; J < G4Element::GetNumberOfElements(); J++ ) - { - //create physics vector then fill it .... - ptrVector = new G4PhysicsLogVector(LowestEnergyLimit,HighestEnergyLimit, - NumbBinTable ); - AtomicNumber = (*theElementTable)[J]->GetZ(); - - for ( G4int i = 0 ; i < NumbBinTable ; i++ ) - { - LowEdgeEnergy = ptrVector->GetLowEdgeEnergy(i); - Value = ComputeCrossSectionPerAtom(LowEdgeEnergy, AtomicNumber); - ptrVector->PutValue(i,Value); - } - - theCrossSectionTable->insertAt( J , ptrVector ) ; - - } - -// Build mean free path table for the Compton Scattering process - - if (theMeanFreePathTable) { - theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} - - theMeanFreePathTable= new G4PhysicsTable(G4Material::GetNumberOfMaterials()); - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4Material* material; - - for ( J=0 ; J < G4Material::GetNumberOfMaterials(); J++ ) - { - //create physics vector then fill it .... - ptrVector = new G4PhysicsLogVector(LowestEnergyLimit,HighestEnergyLimit, - NumbBinTable ) ; - material = (*theMaterialTable)[J]; - - for ( G4int i = 0 ; i < NumbBinTable ; i++ ) - { - LowEdgeEnergy = ptrVector->GetLowEdgeEnergy( i ) ; - Value = ComputeMeanFreePath( LowEdgeEnergy, material); - ptrVector->PutValue( i , Value ) ; - } - - theMeanFreePathTable->insertAt( J , ptrVector ) ; - } - - PrintInfoDefinition(); - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4ComptonScattering52::ComputeCrossSectionPerAtom - (G4double GammaEnergy, G4double Z) - -// Calculates the cross section per atom in GEANT4 internal units. -// A parametrized formula from L. Urban is used to estimate -// the total cross section. -// It gives a good description of the data from 10 keV to 100/Z GeV. -// lower limit 1 keV now with a correction for low energy - -{ - G4double CrossSection = 0.0 ; - if ( Z < 1. ) return CrossSection; - if ( GammaEnergy < 1.*keV ) return CrossSection; - if ( GammaEnergy > (100.*GeV/Z) ) return CrossSection; - - static const G4double a = 20.0 , b = 230.0 , c = 440.0; - - static const G4double - d1= 2.7965e-1*barn, d2=-1.8300e-1*barn, d3= 6.7527 *barn, d4=-1.9798e+1*barn, - e1= 1.9756e-5*barn, e2=-1.0205e-2*barn, e3=-7.3913e-2*barn, e4= 2.7079e-2*barn, - f1=-3.9178e-7*barn, f2= 6.8241e-5*barn, f3= 6.0480e-5*barn, f4= 3.0274e-4*barn; - - G4double p1Z = Z*(d1 + e1*Z + f1*Z*Z), p2Z = Z*(d2 + e2*Z + f2*Z*Z), - p3Z = Z*(d3 + e3*Z + f3*Z*Z), p4Z = Z*(d4 + e4*Z + f4*Z*Z); - - G4double T0 = 15*keV; if (Z == 1.) T0 = 40*keV; - - G4double X = max(GammaEnergy, T0) / electron_mass_c2; - CrossSection = p1Z*log(1.+2*X)/X - + (p2Z + p3Z*X + p4Z*X*X)/(1. + a*X + b*X*X + c*X*X*X); - - // modification for low energy. (special case for Hydrogen) - if (GammaEnergy < T0) { - G4double dT0 = 1.*keV; - X = (T0+dT0) / electron_mass_c2 ; - G4double sigma = p1Z*log(1.+2*X)/X - + (p2Z + p3Z*X + p4Z*X*X)/(1. + a*X + b*X*X + c*X*X*X); - G4double c1 = -T0*(sigma-CrossSection)/(CrossSection*dT0); - G4double c2 = 0.150; if (Z > 1.) c2 = 0.375-0.0556*log(Z); - G4double y = log(GammaEnergy/T0); - CrossSection *= exp(-y*(c1+c2*y)); - } - - return CrossSection; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4ComptonScattering52::ComputeMeanFreePath(G4double GammaEnergy, - G4Material* aMaterial) - -// returns the gamma mean free path in GEANT4 internal units - -{ - const G4ElementVector* theElementVector = aMaterial->GetElementVector() ; - const G4double* NbOfAtomsPerVolume = aMaterial->GetVecNbOfAtomsPerVolume(); - - G4double SIGMA = 0.; - - for ( size_t elm=0 ; elm < aMaterial->GetNumberOfElements() ; elm++ ) - { - SIGMA += NbOfAtomsPerVolume[elm] * - ComputeCrossSectionPerAtom(GammaEnergy, - (*theElementVector)[elm]->GetZ()); - } - return SIGMA > DBL_MIN ? 1./SIGMA : DBL_MAX; -} - - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4ComptonScattering52::GetCrossSectionPerAtom( - G4DynamicParticle* aDynamicGamma, - G4Element* anElement) - -// gives the microscopic total cross section in GEANT4 internal units - -{ - G4double crossSection; - G4double GammaEnergy = aDynamicGamma->GetKineticEnergy(); - G4bool isOutRange ; - if (GammaEnergy < LowestEnergyLimit || GammaEnergy > HighestEnergyLimit) - crossSection = 0.; - else - crossSection = (*theCrossSectionTable)(anElement->GetIndex())-> - GetValue(GammaEnergy, isOutRange); - - return crossSection; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -G4double G4ComptonScattering52::GetMeanFreePath(const G4Track& aTrack, - G4double, - G4ForceCondition*) - -// returns the gamma mean free path in GEANT4 internal units - -{ - const G4DynamicParticle* aDynamicGamma = aTrack.GetDynamicParticle(); - G4double GammaEnergy = aDynamicGamma->GetKineticEnergy(); - G4Material* aMaterial = aTrack.GetMaterial(); - - G4double MeanFreePath; - G4bool isOutRange; - - if (GammaEnergy > HighestEnergyLimit || GammaEnergy < LowestEnergyLimit) - MeanFreePath = DBL_MAX; - else - MeanFreePath = (*theMeanFreePathTable)(aMaterial->GetIndex())-> - GetValue(GammaEnergy, isOutRange); - return MeanFreePath; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4ComptonScattering52::PostStepDoIt(const G4Track& aTrack, - const G4Step& aStep) -// -// The scattered gamma energy is sampled according to Klein - Nishina formula. -// The random number techniques of Butcher & Messel are used -// (Nuc Phys 20(1960),15). -// GEANT4 internal units -// -// Note : Effects due to binding of atomic electrons are negliged. - -{ - aParticleChange.Initialize(aTrack); - - const G4DynamicParticle* aDynamicGamma = aTrack.GetDynamicParticle(); - G4double GammaEnergy0 = aDynamicGamma->GetKineticEnergy(); - G4double E0_m = GammaEnergy0 / electron_mass_c2 ; - - G4ParticleMomentum GammaDirection0 = aDynamicGamma->GetMomentumDirection(); - - // - // sample the energy rate of the scattered gamma - // - - G4double epsilon, epsilonsq, onecost, sint2, greject ; - - G4double epsilon0 = 1./(1. + 2*E0_m) , epsilon0sq = epsilon0*epsilon0; - G4double alpha1 = - log(epsilon0) , alpha2 = 0.5*(1.- epsilon0sq); - - do { - if ( alpha1/(alpha1+alpha2) > G4UniformRand() ) - { epsilon = exp(-alpha1*G4UniformRand()); // epsilon0**r - epsilonsq = epsilon*epsilon; } - else { - epsilonsq = epsilon0sq + (1.- epsilon0sq)*G4UniformRand(); - epsilon = sqrt(epsilonsq); - }; - onecost = (1.- epsilon)/(epsilon*E0_m); - sint2 = onecost*(2.-onecost); - greject = 1. - epsilon*sint2/(1.+ epsilonsq); - } while (greject < G4UniformRand()); - - // - // scattered gamma angles. ( Z - axis along the parent gamma) - // - - G4double cosTeta = 1. - onecost , sinTeta = sqrt (sint2); - G4double Phi = twopi * G4UniformRand(); - G4double dirx = sinTeta*cos(Phi), diry = sinTeta*sin(Phi), dirz = cosTeta; - - // - // update G4VParticleChange for the scattered gamma - // - - G4ThreeVector GammaDirection1 ( dirx,diry,dirz ); - GammaDirection1.rotateUz(GammaDirection0); - aParticleChange.ProposeMomentumDirection( GammaDirection1 ); - G4double GammaEnergy1 = epsilon*GammaEnergy0; - G4double localEnergyDeposit = 0.; - - if (GammaEnergy1 > fminimalEnergy) - { - aParticleChange.ProposeEnergy( GammaEnergy1 ); - } - else - { - localEnergyDeposit += GammaEnergy1; - aParticleChange.ProposeEnergy(0.) ; - aParticleChange.ProposeTrackStatus(fStopAndKill); - } - - // - // kinematic of the scattered electron - // - - G4double ElecKineEnergy = GammaEnergy0 - GammaEnergy1; - - if (ElecKineEnergy > fminimalEnergy) - { - G4double ElecMomentum = sqrt(ElecKineEnergy* - (ElecKineEnergy+2.*electron_mass_c2)); - G4ThreeVector ElecDirection ( - (GammaEnergy0*GammaDirection0 - GammaEnergy1*GammaDirection1) - *(1./ElecMomentum) ); - - // create G4DynamicParticle object for the electron. - G4DynamicParticle* aElectron= new G4DynamicParticle( - G4Electron::Electron(),ElecDirection,ElecKineEnergy); - - aParticleChange.SetNumberOfSecondaries(1); - aParticleChange.AddSecondary( aElectron ); - } - else - { - aParticleChange.SetNumberOfSecondaries(0); - localEnergyDeposit += ElecKineEnergy; - } - aParticleChange.ProposeLocalEnergyDeposit (localEnergyDeposit); - - // Reset NbOfInteractionLengthLeft and return aParticleChange - return G4VDiscreteProcess::PostStepDoIt( aTrack, aStep); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4ComptonScattering52::StorePhysicsTable(const G4ParticleDefinition* particle, - const G4String& directory, - G4bool ascii) -{ - G4String filename; - - // store cross section table - filename = GetPhysicsTableFileName(particle,directory,"CrossSection",ascii); - if ( !theCrossSectionTable->StorePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theCrossSectionTable->StorePhysicsTable in " << filename - << G4endl; - return false; - } - - // store mean free path table - filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - if ( !theMeanFreePathTable->StorePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theMeanFreePathTable->StorePhysicsTable in " << filename - << G4endl; - return false; - } - - G4cout << GetProcessName() << " for " << particle->GetParticleName() - << ": Success to store the PhysicsTables in " - << directory << G4endl; - return true; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -/* -G4bool G4ComptonScattering52::RetrievePhysicsTable(const G4ParticleDefinition* particle, - const G4String& directory, - G4bool ascii) -{ - // delete theCrossSectionTable and theMeanFreePathTable - if (theCrossSectionTable != 0) { - theCrossSectionTable->clearAndDestroy(); - delete theCrossSectionTable; - } - if (theMeanFreePathTable != 0) { - theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } - - G4String filename; - - // retreive cross section table - filename = GetPhysicsTableFileName(particle,directory,"CrossSection",ascii); - theCrossSectionTable = new G4PhysicsTable(G4Element::GetNumberOfElements()); - if ( !G4PhysicsTableHelper::RetrievePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theCrossSectionTable->RetrievePhysicsTable in " << filename - << G4endl; - return false; - } - - // retreive mean free path table - filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); - if ( !G4PhysicsTableHelper::RetrievePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theMeanFreePathTable->RetrievePhysicsTable in " << filename - << G4endl; - return false; - } - - G4cout << GetProcessName() << " for " << particle->GetParticleName() - << ": Success to retrieve the PhysicsTables from " - << directory << G4endl; - return true; -} -*/ -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4ComptonScattering52::PrintInfoDefinition() -{ - G4String comments = "Total cross sections from a parametrisation. "; - comments += "Good description from 10 KeV to (100/Z) GeV. \n"; - comments += " Scattered gamma energy according Klein-Nishina."; - - G4cout << G4endl << GetProcessName() << ": " << comments - << "\n PhysicsTables from " - << G4BestUnit(LowestEnergyLimit,"Energy") - << " to " << G4BestUnit(HighestEnergyLimit,"Energy") - << " in " << NumbBinTable << " bins. \n"; - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4CoulombScattering.cc b/source/processes/electromagnetic/standard/src/G4CoulombScattering.cc index e9e0ad6fca..5a1cca3219 100644 --- a/source/processes/electromagnetic/standard/src/G4CoulombScattering.cc +++ b/source/processes/electromagnetic/standard/src/G4CoulombScattering.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4CoulombScattering.cc,v 1.25 2009/10/28 10:14:13 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4CoulombScattering.cc,v 1.28 2010/05/25 18:41:12 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -54,6 +54,7 @@ //#include "G4hCoulombScatteringModel.hh" #include "G4Electron.hh" #include "G4Proton.hh" +#include "G4LossTableManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -63,6 +64,7 @@ G4CoulombScattering::G4CoulombScattering(const G4String& name) : G4VEmProcess(name),thetaMin(0.0),thetaMax(pi),q2Max(TeV*TeV), isInitialised(false) { + // G4cout << "G4CoulombScattering constructor "<< G4endl; SetBuildTableFlag(true); SetStartFromNullFlag(false); SetIntegral(true); @@ -92,12 +94,18 @@ G4bool G4CoulombScattering::IsApplicable(const G4ParticleDefinition& p) void G4CoulombScattering::InitialiseProcess(const G4ParticleDefinition* p) { + //G4cout << "### G4CoulombScattering::InitialiseProcess : " + // << p->GetParticleName() << G4endl; + G4double a = + G4LossTableManager::Instance()->FactorForAngleLimit()*CLHEP::hbarc/CLHEP::fermi; + q2Max = 0.5*a*a; + // second initialisation if(isInitialised) { G4VEmModel* mod = GetModelByIndex(0); mod->SetPolarAngleLimit(PolarAngleLimit()); mod = GetModelByIndex(1); - if(mod) mod->SetPolarAngleLimit(PolarAngleLimit()); + if(mod) { mod->SetPolarAngleLimit(PolarAngleLimit()); } // first initialisation } else { @@ -105,13 +113,15 @@ void G4CoulombScattering::InitialiseProcess(const G4ParticleDefinition* p) aParticle = p; G4double mass = p->GetPDGMass(); G4String name = p->GetParticleName(); + //G4cout << name << " type: " << p->GetParticleType() + //<< " mass= " << mass << G4endl; if (mass > GeV || p->GetParticleType() == "nucleus") { SetBuildTableFlag(false); - verboseLevel = 0; + if(name != "GenericIon") { SetVerboseLevel(0); } } else { if(name != "e-" && name != "e+" && name != "mu+" && name != "mu-" && name != "pi+" && - name != "kaon+" && name != "proton" ) verboseLevel = 0; + name != "kaon+" && name != "proton" ) { SetVerboseLevel(0); } } G4double emin = MinKinEnergy(); @@ -155,7 +165,7 @@ void G4CoulombScattering::PrintInfo() if(aParticle->GetPDGMass() < MeV) G4cout << thEnergyElec; else G4cout << thEnergy; - if(q2Max < DBL_MAX) G4cout << "; q2Max(GeV^2)= " << q2Max/(GeV*GeV); + if(q2Max < DBL_MAX) { G4cout << "; pLimit(GeV^1)= " << sqrt(q2Max)/GeV; } G4cout << G4endl; } diff --git a/source/processes/electromagnetic/standard/src/G4CoulombScatteringModel.cc b/source/processes/electromagnetic/standard/src/G4CoulombScatteringModel.cc index b287806766..ed098ab431 100644 --- a/source/processes/electromagnetic/standard/src/G4CoulombScatteringModel.cc +++ b/source/processes/electromagnetic/standard/src/G4CoulombScatteringModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4CoulombScatteringModel.cc,v 1.44 2009/12/03 09:59:07 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4CoulombScatteringModel.cc,v 1.49 2010/05/27 14:22:05 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -46,6 +46,8 @@ // 09.10.07 V.Ivanchenko reorganized methods, add cut dependence in scattering off e- // 09.06.08 V.Ivanchenko SelectIsotope is moved to the base class // 16.06.09 Consolandi rows 109, 111-112, 183, 185-186 +// 27.05.10 V.Ivanchenko added G4WentzelOKandVIxSection class to +// compute cross sections and sample scattering angle // // // Class Description: @@ -61,6 +63,7 @@ #include "G4ParticleTable.hh" #include "G4IonTable.hh" #include "G4Proton.hh" +#include "G4NucleiProperties.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -85,46 +88,47 @@ G4double G4CoulombScatteringModel::ComputeCrossSectionPerAtom( G4double cutEnergy, G4double) { - SetupParticle(p); - if(kinEnergy < lowEnergyLimit) return 0.0; - SetupKinematic(kinEnergy, cutEnergy); + //G4cout << "### G4CoulombScatteringModel::ComputeCrossSectionPerAtom for " + // << p->GetParticleName()<<" Z= "<size() + << G4endl; + */ + if(trec > tcut) { G4ParticleDefinition* ion = theParticleTable->FindIon(iz, ia, 0, iz); G4double plab = sqrt(finalT*(finalT + 2.0*mass)); G4ThreeVector p2 = (ptot*dir - plab*newDirection).unit(); - G4DynamicParticle* newdp = new G4DynamicParticle(ion, p2, erec); + G4DynamicParticle* newdp = new G4DynamicParticle(ion, p2, trec); fvect->push_back(newdp); - } else if(erec > 0.0) { - fParticleChange->ProposeLocalEnergyDeposit(erec); - fParticleChange->ProposeNonIonizingEnergyDeposit(erec); + } else if(trec > 0.0) { + fParticleChange->ProposeLocalEnergyDeposit(trec); + fParticleChange->ProposeNonIonizingEnergyDeposit(trec); } } diff --git a/source/processes/electromagnetic/standard/src/G4GoudsmitSaundersonMscModel.cc b/source/processes/electromagnetic/standard/src/G4GoudsmitSaundersonMscModel.cc index d91b421f05..4dba293450 100755 --- a/source/processes/electromagnetic/standard/src/G4GoudsmitSaundersonMscModel.cc +++ b/source/processes/electromagnetic/standard/src/G4GoudsmitSaundersonMscModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4GoudsmitSaundersonMscModel.cc,v 1.20 2009/12/16 17:50:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GoudsmitSaundersonMscModel.cc,v 1.25 2010/06/25 09:41:40 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -50,6 +50,14 @@ // 05.10.2009 O.Kadri: tuning small angle theta distributions // assuming the case of lambdan<1 as single scattering regime // tuning theta sampling for theta below the screening angle +// 08.02.2010 O.Kadri: bugfix in compound xsection calculation and small angle computation +// adding a rejection condition to hard collision angular sampling +// ComputeTruePathLengthLimit was taken from G4WentzelVIModel +// 26.03.2010 O.Kadri: direct xsection calculation not inverse of the inverse +// angular sampling without large angle rejection method +// longitudinal displacement is computed exactly from +// 12.05.2010 O.Kadri: exchange between target and projectile has as a condition the particle type (e-/e-) +// some cleanup to minimize time consuming (adding lamdan12 & Qn12, changing the error to 1.0e-12 for scrA) // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -59,10 +67,8 @@ //Ref.3:I. Kawrakow et al.,"On the representation ... calculations",NIMB 134 (1998) pp 325-336; //Ref.4:Bielajew et al.,".....", NIMB 173 (2001) 332-343; //Ref.5:F. Salvat et al.,"ELSEPA--Dirac partial ...molecules", Comp.Phys.Comm.165 (2005) pp 157-190; -//Ref.6:G4UrbanMscModel G4_v9.1Ref09; -//Ref.7:G4eCoulombScatteringModel G4_v9.1Ref09. +//Ref.6:G4UrbanMscModel G4 9.2; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - #include "G4GoudsmitSaundersonMscModel.hh" #include "G4GoudsmitSaundersonTable.hh" @@ -76,7 +82,6 @@ #include "G4Track.hh" #include "G4PhysicsTable.hh" #include "Randomize.hh" -#include "G4Poisson.hh" using namespace std; @@ -127,17 +132,14 @@ G4double G4GoudsmitSaundersonMscModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition* p, G4double kineticEnergy,G4double Z, G4double, G4double, G4double) { - //Build cross section table : Taken from Ref.7 G4double cs=0.0; G4double kinEnergy = kineticEnergy; if(kinEnergyhighKEnergy)kinEnergy=highKEnergy; - G4double value0,value1; - CalculateIntegrals(p,Z,kinEnergy,value0,value1); + G4double cs0; + CalculateIntegrals(p,Z,kinEnergy,cs0,cs); - if(value1 > 0.0) cs = 1./value1; - return cs; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -147,16 +149,16 @@ G4GoudsmitSaundersonMscModel::SampleScattering(const G4DynamicParticle* dynParti G4double safety) { G4double kineticEnergy = dynParticle->GetKineticEnergy(); - if((kineticEnergy <= 0.0) || (tPathLength <= tlimitminfix)) return ; - - G4double cosTheta1,sinTheta1,cosTheta2,sinTheta2; - G4double phi1,phi2,cosPhi1=1.0,sinPhi1=0.0,cosPhi2=1.0,sinPhi2=0.0; - G4double q1,Gamma,Eta,delta,nu,nu0,nu1,nu2; + if((kineticEnergy <= 0.0) || (tPathLength <= tlimitminfix)|| + (tPathLength/tausmall < lambda1)) return ; /////////////////////////////////////////// - // Effective energy and path-length from Eq. 4.7.15+16 of Ref.4 + // Effective energy G4double eloss = theManager->GetEnergy(particle,tPathLength,currentCouple); - if(eloss>0.5*kineticEnergy)eloss=kineticEnergy-eloss;//exchange possibility between target atomic e- and incident particle + if(eloss>0.5*kineticEnergy) + {if((dynParticle->GetCharge())==-eplus)eloss=kineticEnergy-eloss;//exchange between target and projectile if they are electrons + else eloss=0.5*kineticEnergy; + } G4double ee = kineticEnergy - 0.5*eloss; G4double ttau = ee/electron_mass_c2; G4double ttau2 = ttau*ttau; @@ -165,86 +167,97 @@ G4GoudsmitSaundersonMscModel::SampleScattering(const G4DynamicParticle* dynParti kineticEnergy *= (1 - cst1); /////////////////////////////////////////// - // additivity rule for mixture and compound xsection calculation + // additivity rule for mixture and compound xsection's const G4Material* mat = currentCouple->GetMaterial(); - G4int nelm = mat->GetNumberOfElements(); const G4ElementVector* theElementVector = mat->GetElementVector(); - const G4double* theFraction = mat->GetFractionVector(); - G4double atomPerVolume = mat->GetTotNbOfAtomsPerVolume(); - G4double llambda0=0.,llambda1=0.; + const G4double* theAtomNumDensityVector = mat->GetVecNbOfAtomsPerVolume(); + G4int nelm = mat->GetNumberOfElements(); + G4double s0,s1; + lambda0=0.; for(G4int i=0;iGetZ(),kineticEnergy,l0,l1); - llambda0 += (theFraction[i]/l0); - llambda1 += (theFraction[i]/l1); + { + CalculateIntegrals(particle,(*theElementVector)[i]->GetZ(),kineticEnergy,s0,s1); + lambda0 += (theAtomNumDensityVector[i]*s0); } - if(llambda0>DBL_MIN) llambda0 =1./llambda0; - if(llambda1>DBL_MIN) llambda1 =1./llambda1; - G4double g1=0.0; - if(llambda1>DBL_MIN) g1 = llambda0/llambda1; + if(lambda0>DBL_MIN) lambda0 =1./lambda0; - G4double x1,x0; - x0=g1/2.; +// Newton-Raphson root's finding method of scrA from: +// Sig1(PWA)/Sig0(PWA)=g1=2*scrA*((1+scrA)*log(1+1/scrA)-1) + G4double g1=0.0; + if(lambda1>DBL_MIN) g1 = lambda0/lambda1; + + G4double logx0,x1,delta; + G4double x0=g1/2.; do { - x1 = x0-(x0*((1.+x0)*log(1.+1./x0)-1.0)-g1/2.)/( (1.+2.*x0)*log(1.+1./x0)-2.0);// x1=x0-f(x0)/f'(x0) + logx0=std::log(1.+1./x0); + x1 = x0-(x0*((1.+x0)*logx0-1.0)-g1/2.)/( (1.+2.*x0)*logx0-2.0); delta = std::abs( x1 - x0 ); - x0 = x1; // new approximation becomes the old approximation for the next iteration - } while (delta > 1e-10); + x0 = x1; + } while (delta > 1.0e-12); G4double scrA = x1; - G4double us=0.0,vs=0.0,ws=1.0,x_coord=0.0,y_coord=0.0,z_coord=1.0; G4double lambdan=0.; - G4bool mscatt=false,noscatt=false; - - if(llambda0>0.)lambdan=atomPerVolume*tPathLength/llambda0; - if((lambdan<=1.0e-12))return; + if(lambda0>0.)lambdan=tPathLength/lambda0; + if(lambdan<=1.0e-12)return; + G4double lambdan12=0.5*lambdan; + Qn1 = lambdan *g1;//2.* lambdan *scrA*((1.+scrA)*log(1.+1./scrA)-1.); + Qn12 = 0.5*Qn1; + + G4double cosTheta1,sinTheta1,cosTheta2,sinTheta2; + G4double cosPhi1=1.0,sinPhi1=0.0,cosPhi2=1.0,sinPhi2=0.0; + G4double us=0.0,vs=0.0,ws=1.0,wss=0.,x_coord=0.0,y_coord=0.0,z_coord=1.0; + G4double epsilon1=G4UniformRand(); - G4double expn = exp(-lambdan); - if((epsilon11.)&&(i<20));//i<20 to avoid time consuming during the run - if(i==19)ws=cos(sqrt(scrA)); - } - G4double phi0=twopi*G4UniformRand(); - us=sqrt(1.-ws*ws)*cos(phi0); - vs=sqrt(1.-ws*ws)*sin(phi0); - G4double rr=G4UniformRand(); - x_coord=(rr*us); - y_coord=(rr*vs); - z_coord=((1.-rr)+rr*ws); + + G4double xi=G4UniformRand(); + xi= 2.*scrA*xi/(1.-xi + scrA); + if(xi<0.)xi=0.; + else if(xi>2.)xi=2.; + ws=1.-xi; + wss=std::sqrt(xi*(2.-xi)); + G4double phi0=CLHEP::twopi*G4UniformRand(); + us=wss*cos(phi0); + vs=wss*sin(phi0); } - else + else // multiple scattering { - mscatt=true; // Ref.2 subsection 4.4 "The best solution found" // Sample first substep scattering angle - SampleCosineTheta(0.5*lambdan,scrA,cosTheta1,sinTheta1); - phi1 = twopi*G4UniformRand(); + SampleCosineTheta(lambdan12,scrA,cosTheta1,sinTheta1); + G4double phi1 = CLHEP::twopi*G4UniformRand(); cosPhi1 = cos(phi1); sinPhi1 = sin(phi1); // Sample second substep scattering angle - SampleCosineTheta(0.5*lambdan,scrA,cosTheta2,sinTheta2); - phi2 = twopi*G4UniformRand(); + SampleCosineTheta(lambdan12,scrA,cosTheta2,sinTheta2); + G4double phi2 = CLHEP::twopi*G4UniformRand(); cosPhi2 = cos(phi2); sinPhi2 = sin(phi2); - // Scattering direction + // Overall scattering direction us = sinTheta2*(cosTheta1*cosPhi1*cosPhi2 - sinPhi1*sinPhi2) + cosTheta2*sinTheta1*cosPhi1; vs = sinTheta2*(cosTheta1*sinPhi1*cosPhi2 + cosPhi1*sinPhi2) + cosTheta2*sinTheta1*sinPhi1; ws = cosTheta1*cosTheta2 - sinTheta1*sinTheta2*cosPhi2; + G4double sqrtA=sqrt(scrA); + if(acos(ws)1.)&&(i<20));//i<20 to avoid time consuming during the run + if(i>=19)ws=cos(sqrtA); + + wss=std::sqrt((1.-ws)*(1.0+ws)); + us=wss*cos(phi1); + vs=wss*sin(phi1); + } } G4ThreeVector oldDirection = dynParticle->GetMomentumDirection(); @@ -252,32 +265,18 @@ G4GoudsmitSaundersonMscModel::SampleScattering(const G4DynamicParticle* dynParti newDirection.rotateUz(oldDirection); fParticleChange->ProposeMomentumDirection(newDirection); - if((safety > tlimitminfix)&&(latDisplasment)) - { - - if(mscatt) - { - if(scrA tlimitminfix)&&latDisplasment) + { + if(Qn1<0.02)// corresponding to error less than 1% in the exact formula of + z_coord = 1.0 - Qn1*(0.5 - Qn1/6.); + else z_coord = (1.-std::exp(-Qn1))/Qn1; + G4double rr=std::sqrt((1.- z_coord*z_coord)/(1.-ws*ws)); + x_coord = rr*us; + y_coord = rr*vs; // displacement is computed relatively to the end point - if(!noscatt)z_coord -= 1.0;//for noscatt zcoord z_coord !=0. - G4double rr = sqrt(x_coord*x_coord+y_coord*y_coord+z_coord*z_coord); + z_coord -= 1.0; + rr = std::sqrt(x_coord*x_coord+y_coord*y_coord+z_coord*z_coord); G4double r = rr*zPathLength; /* G4cout << "G4GS::SampleSecondaries: e(MeV)= " << kineticEnergy @@ -286,12 +285,13 @@ G4GoudsmitSaundersonMscModel::SampleScattering(const G4DynamicParticle* dynParti << " geomStep(mm)= " << zPathLength << G4endl; */ + if(tPathLength<=zPathLength)return; if(r > tlimitminfix) { - G4ThreeVector latDirection(x_coord/rr,y_coord/rr,z_coord/rr); - latDirection.rotateUz(oldDirection); + G4ThreeVector Direction(x_coord/rr,y_coord/rr,z_coord/rr); + Direction.rotateUz(oldDirection); - ComputeDisplacement(fParticleChange, latDirection, r, safety); + ComputeDisplacement(fParticleChange, Direction, r, safety); } } } @@ -302,25 +302,23 @@ void G4GoudsmitSaundersonMscModel::SampleCosineTheta(G4double lambdan, G4double scrA, G4double &cost, G4double &sint) { - G4double u,Qn1,r1,tet; G4double xi=0.; - Qn1=2.* lambdan *scrA*((1.+scrA)*log(1.+1./scrA)-1.); - -if (Qn1<0.001)xi=-0.5*Qn1*log(G4UniformRand()); -else if(Qn1>0.5)xi=2.*G4UniformRand();//isotropic distribution -else -{ - // procedure described by Benedito in Ref.1 + + if (Qn12<0.001) + {G4double r1,tet; do{ - r1=G4UniformRand(); - u=GSTable->SampleTheta(lambdan,scrA,G4UniformRand()); - xi = 2.*u; - tet=acos(1.-xi); + r1=G4UniformRand(); + xi=-Qn12*log(G4UniformRand()); + tet=acos(1.-xi); }while(tet*r1*r1>sin(tet)); -} + } + else if(Qn12>0.5)xi=2.*G4UniformRand(); + else xi=2.*(GSTable->SampleTheta(lambdan,scrA,G4UniformRand())); + if(xi<0.)xi=0.; - if(xi>2.)xi=2.; + else if(xi>2.)xi=2.; + cost=(1. - xi); sint=sqrt(xi*(2.-xi)); @@ -332,23 +330,21 @@ else void G4GoudsmitSaundersonMscModel::CalculateIntegrals(const G4ParticleDefinition* p,G4double Z, - G4double kinEnergy,G4double &Lam0, - G4double &Lam1) + G4double kinEnergy,G4double &Sig0, + G4double &Sig1) { - G4double summ00=0.0; - G4double summ10=0.0; G4double x1,x2,y1,y2,acoeff,bcoeff; G4double kineticE = kinEnergy; if(kineticEhighKEnergy)kineticE=highKEnergy; kineticE /= eV; - G4double logE=log(kineticE); + G4double logE=std::log(kineticE); G4int iZ = G4int(Z); if(iZ > 103) iZ = 103; G4int enerInd=0; - for(G4int i=1;i<106;i++) + for(G4int i=0;i<105;i++) { if((logE>=ener[i])&&(logEg->t step transformations taken from Ref.6 +//t->g->t step transformations taken from Ref.6 G4double G4GoudsmitSaundersonMscModel::ComputeTruePathLengthLimit(const G4Track& track, @@ -634,7 +627,7 @@ G4GoudsmitSaundersonMscModel::ComputeTruePathLengthLimit(const G4Track& track, } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - +// taken from Ref.6 G4double G4GoudsmitSaundersonMscModel::ComputeGeomPathLength(G4double) { par1 = -1. ; @@ -687,13 +680,13 @@ G4double G4GoudsmitSaundersonMscModel::ComputeGeomPathLength(G4double) // sample z if(samplez) { - const G4double ztmax = 0.99, onethird = 1./3. ; + const G4double ztmax = 0.99; G4double zt = zmean/tPathLength ; if (tPathLength > stepmin && zt < ztmax) { G4double u,cz1; - if(zt >= onethird) { + if(zt >= 0.333333333) { G4double cz = 0.5*(3.*zt-1.)/(1.-zt) ; cz1 = 1.+cz ; @@ -718,7 +711,7 @@ G4double G4GoudsmitSaundersonMscModel::ComputeGeomPathLength(G4double) } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - +// taken from Ref.6 G4double G4GoudsmitSaundersonMscModel::ComputeTrueStepLength(G4double geomStepLength) { diff --git a/source/processes/electromagnetic/standard/src/G4GoudsmitSaundersonTable.cc b/source/processes/electromagnetic/standard/src/G4GoudsmitSaundersonTable.cc index abe7851578..c8af601560 100644 --- a/source/processes/electromagnetic/standard/src/G4GoudsmitSaundersonTable.cc +++ b/source/processes/electromagnetic/standard/src/G4GoudsmitSaundersonTable.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4GoudsmitSaundersonTable.cc,v 1.4 2009/08/28 16:36:52 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GoudsmitSaundersonTable.cc,v 1.8 2010/06/25 09:41:42 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -38,9 +38,15 @@ // // Modifications: // 04.03.2009 V.Ivanchenko cleanup and format according to Geant4 EM style -// 26.08.2009 O.Kadri: avoiding unuseful calculations and optimizing the root finding parameter error's -// within SampleTheta method +// 26.08.2009 O.Kadri: avoiding unuseful calculations and optimizing the root +// finding parameter error's within SampleTheta method +// 08.02.2010 O.Kadri: reduce delared variables; reduce error of finding root +// in secant method +// 26.03.2010 O.Kadri: minimum of used arrays in computation within the dichotomie +// finding method the error was the lowest value of uvalues +// 12.05.2010 O.Kadri: changing of sqrt((b-a)*(b-a)) with fabs(b-a) // + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4GoudsmitSaundersonTable.hh" @@ -199,9 +205,9 @@ G4double G4GoudsmitSaundersonTable::SampleTheta(G4double lambda, G4double Chia2, { //Benedito's procedure G4double A[11],ThisPDF[320],ThisCPDF[320]; - G4double PDF1[320],PDF2[320],PDF3[320],PDF4[320],CPDF1[320],CPDF2[320],CPDF3[320],CPDF4[320]; - G4double coeff,Ckj,CkjPlus1,CkPlus1j,CkPlus1jPlus1,aa,b,m,F; - G4int Ind0,Ind1,Ind2,Ind3,KIndex=0,JIndex=0,IIndex=0; + G4double coeff,Ckj,CkjPlus1,CkPlus1j,CkPlus1jPlus1,a,b,m,F; + G4int Ind0,KIndex=0,JIndex=0,IIndex=0; + /////////////////////////////////////////////////////////////////////////// // Find Lambda and Chia2 Index @@ -211,41 +217,35 @@ G4double G4GoudsmitSaundersonTable::SampleTheta(G4double lambda, G4double Chia2, /////////////////////////////////////////////////////////////////////////// // Calculate some necessary coefficients for PDF and CPDF interpolation - coeff=(log(LAMBDAN[KIndex+1]/LAMBDAN[KIndex]))*(log(A[JIndex+1]/A[JIndex])); - Ckj=(log(LAMBDAN[KIndex+1]/lambda))*(log(A[JIndex+1]/Chia2))/coeff; - CkjPlus1=(log(LAMBDAN[KIndex+1]/lambda))*(log(Chia2/A[JIndex]))/coeff; - CkPlus1j=(log(lambda/LAMBDAN[KIndex]))*(log(A[JIndex+1]/Chia2))/coeff; - CkPlus1jPlus1=(log(lambda/LAMBDAN[KIndex]))*(log(Chia2/A[JIndex]))/coeff; + coeff=(std::log(LAMBDAN[KIndex+1]/LAMBDAN[KIndex]))*(std::log(A[JIndex+1]/A[JIndex])); + Ckj=(std::log(LAMBDAN[KIndex+1]/lambda))*(std::log(A[JIndex+1]/Chia2))/coeff; + CkjPlus1=(std::log(LAMBDAN[KIndex+1]/lambda))*(std::log(Chia2/A[JIndex]))/coeff; + CkPlus1j=(std::log(lambda/LAMBDAN[KIndex]))*(std::log(A[JIndex+1]/Chia2))/coeff; + CkPlus1jPlus1=(std::log(lambda/LAMBDAN[KIndex]))*(std::log(Chia2/A[JIndex]))/coeff; /////////////////////////////////////////////////////////////////////////// // Calculate Interpolated PDF and CPDF arrays Ind0=320*(11*KIndex+JIndex); - Ind1=320*(11*KIndex+JIndex+1); - Ind2=320*(11*(KIndex+1)+JIndex); - Ind3=320*(11*(KIndex+1)+JIndex+1); for(G4int i=0 ; i<320 ;i++){ - PDF1[i]=PDF[Ind0+i];PDF2[i]=PDF[Ind1+i]; - PDF3[i]=PDF[Ind2+i];PDF4[i]=PDF[Ind3+i]; - CPDF1[i]=CPDF[Ind0+i];CPDF2[i]=CPDF[Ind1+i]; - CPDF3[i]=CPDF[Ind2+i];CPDF4[i]=CPDF[Ind3+i]; - ThisPDF[i]=Ckj*PDF1[i]+CkjPlus1*PDF2[i]+CkPlus1j*PDF3[i]+CkPlus1jPlus1*PDF4[i]; - ThisCPDF[i]=Ckj*CPDF1[i]+CkjPlus1*CPDF2[i]+CkPlus1j*CPDF3[i]+CkPlus1jPlus1*CPDF4[i]; + ThisPDF[i]=Ckj*PDF[Ind0]+CkjPlus1*PDF[Ind0+320]+CkPlus1j*PDF[Ind0+3520]+CkPlus1jPlus1*PDF[Ind0+3840]; + ThisCPDF[i]=Ckj*CPDF[Ind0]+CkjPlus1*CPDF[Ind0+320]+CkPlus1j*CPDF[Ind0+3520]+CkPlus1jPlus1*CPDF[Ind0+3840]; // Find u Index using secant method - if((i!=0)&&((rndm>=ThisCPDF[i-1])&&(rndm=ThisCPDF[i-1])&&(rndm CPDF(x)=rndm; - aa=uvalues[IIndex]; + a=uvalues[IIndex]; b=uvalues[IIndex+1]; do{ - m=0.5*(aa+b); + m=0.5*(a+b); F=(ThisCPDF[IIndex]+(m-uvalues[IIndex])*ThisPDF[IIndex] +((m-uvalues[IIndex])*(m-uvalues[IIndex])*(ThisPDF[IIndex+1]-ThisPDF[IIndex])) /(2.*(uvalues[IIndex+1]-uvalues[IIndex])))-rndm; if(F>0.)b=m; - else aa=m; - } while(sqrt((b-aa)*(b-aa))>1.0e-6); + else a=m; + } while(std::fabs(b-a)>1.0e-9); return m; } diff --git a/source/processes/electromagnetic/standard/src/G4ICRU73QOModel.cc b/source/processes/electromagnetic/standard/src/G4ICRU73QOModel.cc new file mode 100644 index 0000000000..2882daa3ce --- /dev/null +++ b/source/processes/electromagnetic/standard/src/G4ICRU73QOModel.cc @@ -0,0 +1,659 @@ +// +// ******************************************************************** +// * 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: G4ICRU73QOModel.cc,v 1.5 2010/11/17 10:47:12 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4ICRU73QOModel +// +// Author: Alexander Bagulya +// +// Creation date: 21.05.2010 +// +// Modifications: +// +// +// ------------------------------------------------------------------- +// + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4ICRU73QOModel.hh" +#include "Randomize.hh" +#include "G4Electron.hh" +#include "G4ParticleChangeForLoss.hh" +#include "G4LossTableManager.hh" +#include "G4AntiProton.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +using namespace std; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4ICRU73QOModel::G4ICRU73QOModel(const G4ParticleDefinition* p, const G4String& nam) + : G4VEmModel(nam), + particle(0), + isInitialised(false) +{ + if(p) SetParticle(p); + SetHighEnergyLimit(10.0*MeV); + + lowestKinEnergy = 5.0*keV; + + sizeL0 = 67; + sizeL1 = 22; + sizeL2 = 14; + + theElectron = G4Electron::Electron(); + + for (G4int i = 0; i < 100; ++i) + { + indexZ[i] = -1; + } + for(G4int i = 0; i < NQOELEM; ++i) + { + if(ZElementAvailable[i] > 0) { + indexZ[ZElementAvailable[i]] = i; + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4ICRU73QOModel::~G4ICRU73QOModel() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::MinEnergyCut(const G4ParticleDefinition*, + const G4MaterialCutsCouple* ) +{ + // return couple->GetMaterial()->GetIonisation()->GetMeanExcitationEnergy(); + return 100*keV; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4ICRU73QOModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector&) +{ + if(p != particle) SetParticle(p); + + // always false before the run + SetDeexcitationFlag(false); + + if(!isInitialised) { + isInitialised = true; + + G4String pname = particle->GetParticleName(); + fParticleChange = GetParticleChangeForLoss(); + const G4MaterialTable* mtab = G4Material::GetMaterialTable(); + denEffData = (*mtab)[0]->GetIonisation()->GetDensityEffectData(); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::ComputeCrossSectionPerElectron( + const G4ParticleDefinition* p, + G4double kineticEnergy, + G4double cutEnergy, + G4double maxKinEnergy) +{ + G4double cross = 0.0; + G4double tmax = MaxSecondaryEnergy(p, kineticEnergy); + G4double maxEnergy = std::min(tmax,maxKinEnergy); + if(cutEnergy < maxEnergy) { + + G4double energy = kineticEnergy + mass; + G4double energy2 = energy*energy; + G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*mass)/energy2; + cross = 1.0/cutEnergy - 1.0/maxEnergy - beta2*log(maxEnergy/cutEnergy)/tmax; + + cross *= CLHEP::twopi_mc2_rcl2*chargeSquare/beta2; + } + + return cross; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::ComputeCrossSectionPerAtom( + const G4ParticleDefinition* p, + G4double kineticEnergy, + G4double Z, G4double, + G4double cutEnergy, + G4double maxEnergy) +{ + G4double cross = Z*ComputeCrossSectionPerElectron + (p,kineticEnergy,cutEnergy,maxEnergy); + return cross; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::CrossSectionPerVolume( + const G4Material* material, + const G4ParticleDefinition* p, + G4double kineticEnergy, + G4double cutEnergy, + G4double maxEnergy) +{ + G4double eDensity = material->GetElectronDensity(); + G4double cross = eDensity*ComputeCrossSectionPerElectron + (p,kineticEnergy,cutEnergy,maxEnergy); + return cross; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::ComputeDEDXPerVolume(const G4Material* material, + const G4ParticleDefinition* p, + G4double kineticEnergy, + G4double cutEnergy) +{ + SetParticle(p); + G4double tmax = MaxSecondaryEnergy(p, kineticEnergy); + G4double tkin = kineticEnergy/massRate; + G4double dedx = 0.0; + if(tkin > lowestKinEnergy) { dedx = DEDX(material, tkin); } + else { dedx = DEDX(material, lowestKinEnergy)*sqrt(tkin/lowestKinEnergy); } + + if (cutEnergy < tmax) { + + G4double tau = kineticEnergy/mass; + G4double gam = tau + 1.0; + G4double bg2 = tau * (tau+2.0); + G4double beta2 = bg2/(gam*gam); + G4double x = cutEnergy/tmax; + + dedx += chargeSquare*( log(x) + (1.0 - x)*beta2 ) * twopi_mc2_rcl2 + * material->GetElectronDensity()/beta2; + } + if(dedx < 0.0) { dedx = 0.0; } + return dedx; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::DEDX(const G4Material* material, + G4double kineticEnergy) +{ + G4double eloss = 0.0; + const G4int numberOfElements = material->GetNumberOfElements(); + const G4double* theAtomicNumDensityVector = + material->GetAtomicNumDensityVector(); + + // Bragg's rule calculation + const G4ElementVector* theElementVector = + material->GetElementVector() ; + + // loop for the elements in the material + for (G4int i=0; iGetZ()), kineticEnergy) + * theAtomicNumDensityVector[i] * G4int(element->GetZ()); + } + return eloss; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::DEDXPerElement(G4int AtomicNumber, + G4double kineticEnergy) +{ + G4int Z = AtomicNumber; + if(Z > 97) { Z = 97; } + G4int nbOfShells = GetNumberOfShells(Z); + if(nbOfShells < 1) nbOfShells = 1; + + G4double v = CLHEP::c_light * std::sqrt( 2.0*kineticEnergy/proton_mass_c2 ); + + G4double fBetheVelocity = CLHEP::fine_structure_const*CLHEP::c_light/v; + + G4double tau = kineticEnergy/proton_mass_c2; + G4double gam = tau + 1.0; + G4double bg2 = tau * (tau+2.0); + G4double beta2 = bg2/(gam*gam); + + G4double l0Term = 0, l1Term = 0, l2Term = 0; + + for (G4int nos = 0; nos < nbOfShells; ++nos){ + + G4double NormalizedEnergy = (2.0*CLHEP::electron_mass_c2*beta2) / + GetShellEnergy(Z,nos); + + G4double shStrength = GetShellStrength(Z,nos); + + G4double l0 = GetL0(NormalizedEnergy); + l0Term += shStrength * l0; + + G4double l1 = GetL1(NormalizedEnergy); + l1Term += shStrength * l1; + + G4double l2 = GetL2(NormalizedEnergy); + l2Term += shStrength * l2; + + } + G4double dedx = 2*CLHEP::twopi_mc2_rcl2*chargeSquare*factorBethe[Z]* + (l0Term + q*fBetheVelocity*l1Term + + chargeSquare*fBetheVelocity*fBetheVelocity*l2Term)/beta2; + return dedx; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::GetOscillatorEnergy(G4int Z, + G4int nbOfTheShell) const +{ + G4int idx = denEffData->GetElementIndex(Z, kStateUndefined); + if(idx == -1) { idx = denEffData->GetElementIndex(Z-1, kStateUndefined); } + G4double PlasmaEnergy = denEffData->GetPlasmaEnergy(idx); + + G4double PlasmaEnergy2 = PlasmaEnergy * PlasmaEnergy; + + G4double plasmonTerm = 0.66667 * G4AtomicShells::GetNumberOfElectrons(Z,nbOfTheShell) + * PlasmaEnergy2 / (Z*Z) ; + + G4double ionTerm = std::exp(0.5) * (G4AtomicShells::GetBindingEnergy(Z,nbOfTheShell)) ; + G4double ionTerm2 = ionTerm*ionTerm ; + + G4double oscShellEnergy = std::sqrt( ionTerm2 + plasmonTerm ); + + return oscShellEnergy; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::GetL0(G4double normEnergy) const +{ + G4int n; + + for(n = 0; n < sizeL0; n++) { + if( normEnergy < L0[n][0] ) break; + } + if(0 == n) n = 1 ; + if(n >= sizeL0) n = sizeL0 - 1 ; + + G4double l0 = L0[n][1]; + G4double l0p = L0[n-1][1]; + G4double bethe = l0p + (l0 - l0p) * ( normEnergy - L0[n-1][0]) / + (L0[n][0] - L0[n-1][0]); + + return bethe ; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::GetL1(G4double normEnergy) const +{ + G4int n; + + for(n = 0; n < sizeL1; n++) { + if( normEnergy < L1[n][0] ) break; + } + if(0 == n) n = 1 ; + if(n >= sizeL1) n = sizeL1 - 1 ; + + G4double l1 = L1[n][1]; + G4double l1p = L1[n-1][1]; + G4double barkas= l1p + (l1 - l1p) * ( normEnergy - L1[n-1][0]) / + (L1[n][0] - L1[n-1][0]); + + return barkas; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::GetL2(G4double normEnergy) const +{ + G4int n; + for(n = 0; n < sizeL2; n++) { + if( normEnergy < L2[n][0] ) break; + } + if(0 == n) n = 1 ; + if(n >= sizeL2) n = sizeL2 - 1 ; + + G4double l2 = L2[n][1]; + G4double l2p = L2[n-1][1]; + G4double bloch = l2p + (l2 - l2p) * ( normEnergy - L2[n-1][0]) / + (L2[n][0] - L2[n-1][0]); + + return bloch; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4ICRU73QOModel::CorrectionsAlongStep(const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double&, + G4double&, + G4double) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4ICRU73QOModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple*, + const G4DynamicParticle* dp, + G4double xmin, + G4double maxEnergy) +{ + G4double tmax = MaxSecondaryKinEnergy(dp); + G4double xmax = std::min(tmax, maxEnergy); + if(xmin >= xmax) return; + + G4double kineticEnergy = dp->GetKineticEnergy(); + G4double energy = kineticEnergy + mass; + G4double energy2 = energy*energy; + G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*mass)/energy2; + G4double grej = 1.0; + G4double deltaKinEnergy, f; + + G4ThreeVector direction = dp->GetMomentumDirection(); + + // sampling follows ... + do { + G4double q = G4UniformRand(); + deltaKinEnergy = xmin*xmax/(xmin*(1.0 - q) + xmax*q); + + f = 1.0 - beta2*deltaKinEnergy/tmax; + + if(f > grej) { + G4cout << "G4ICRU73QOModel::SampleSecondary Warning! " + << "Majorant " << grej << " < " + << f << " for e= " << deltaKinEnergy + << G4endl; + } + + } while( grej*G4UniformRand() >= f ); + + G4double deltaMomentum = + sqrt(deltaKinEnergy * (deltaKinEnergy + 2.0*electron_mass_c2)); + G4double totMomentum = energy*sqrt(beta2); + G4double cost = deltaKinEnergy * (energy + electron_mass_c2) / + (deltaMomentum * totMomentum); + if(cost > 1.0) cost = 1.0; + G4double sint = sqrt((1.0 - cost)*(1.0 + cost)); + + G4double phi = twopi * G4UniformRand() ; + + G4ThreeVector deltaDirection(sint*cos(phi),sint*sin(phi), cost) ; + deltaDirection.rotateUz(direction); + + // Change kinematics of primary particle + kineticEnergy -= deltaKinEnergy; + G4ThreeVector finalP = direction*totMomentum - deltaDirection*deltaMomentum; + finalP = finalP.unit(); + + fParticleChange->SetProposedKineticEnergy(kineticEnergy); + fParticleChange->SetProposedMomentumDirection(finalP); + + // create G4DynamicParticle object for delta ray + G4DynamicParticle* delta = new G4DynamicParticle(theElectron,deltaDirection, + deltaKinEnergy); + + vdp->push_back(delta); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4ICRU73QOModel::MaxSecondaryEnergy(const G4ParticleDefinition* pd, + G4double kinEnergy) +{ + if(pd != particle) SetParticle(pd); + G4double tau = kinEnergy/mass; + G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) / + (1. + 2.0*(tau + 1.)*ratio + ratio*ratio); + return tmax; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +const G4int G4ICRU73QOModel::ZElementAvailable[NQOELEM] = {1,2,4,6,7,8,10,13,14,-18, + 22,26,28,29,32,36,42,47, + 50,54,73,74,78,79,82,92}; + +const G4int G4ICRU73QOModel::nbofShellsForElement[NQOELEM] = {1,1,2,3,3,3,3,4,5,4, + 5,5,5,5,6,4,6,6, + 7,6,6,8,7,7,9,9}; + +const G4int G4ICRU73QOModel::startElemIndex[NQOELEM] = {0,1,2,4,7,10,13,16,20,25, + 29,34,39,44,49,55,59,65, + 71,78,84,90,98,105,112,121}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// SubShellOccupation = Z * ShellStrength +const G4double G4ICRU73QOModel::SubShellOccupation[NQODATA] = + { + 1.000, // H 0 + 2.000, // He 1 + 1.930, 2.070, // Be 2-3 + 1.992, 1.841, 2.167, // C 4-6 + 1.741, 1.680, 3.579, // N 7-9 + 1.802, 1.849, 4.349, // O 10-12 + 1.788, 2.028, 6.184, // Ne 13-15 + 1.623, 2.147, 6.259, 2.971, // Al 16-19 + 1.631, 2.094, 6.588, 2.041, 1.646, // Si 20-24 + 1.535, 8.655, 1.706, 6.104, // Ar 25-28 + 1.581, 8.358, 8.183, 2.000, 1.878, // Ti 29-33 + 1.516, 8.325, 8.461, 6.579, 1.119, // Fe 34-38 + 1.422, 7.81, 8.385, 8.216, 2.167, // Ni 39-43 + 1.458, 8.049, 8.79, 9.695, 1.008, // Cu 44-48 + 1.442, 7.791, 7.837, 10.122, 2.463, 2.345, // Ge 49-54 + 1.645, 7.765, 19.192, 7.398, // Kr 55-58 + 1.313, 6.409, 19.229, 8.633, 5.036, 1.380, // Mo 59-64 + 1.295, 6.219, 18.751, 8.748, 10.184, 1.803, // Ag 65-70 + 1.277, 6.099, 20.386, 8.011, 10.007, 2.272, 1.948, // Sn 71-77 + 1.563, 6.312, 21.868, 5.762, 11.245, 7.250, // Xe 78-83 + 0.9198, 6.5408, 18.9727, 24.9149, 15.0161, 6.6284, // Ta 84-89 + 1.202, 5.582, 19.527, 18.741, 8.411, 14.387, 4.042, 2.108, // W 90-97 + 1.159, 5.467, 18.802, 33.905, 8.300, 9.342, 1.025, // Pt 98-104 + 1.124, 5.331, 18.078, 34.604, 8.127, 10.414, 1.322, // Au 105-111 + 2.000, 8.000, 18.000, 18.000, 14.000, 8.000, 10.000, 2.000, 2.000, // Pb 112-120 + 2.000, 8.000, 18.000, 32.000, 18.000, 8.000, 2.000, 1.000, 3.000 // U 121-129 +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// ShellEnergy in eV +const G4double G4ICRU73QOModel::ShellEnergy[NQODATA] = + { + 19.2, // H + 41.8, // He + 209.11, 21.68, // Be + 486.2, 60.95, 23.43, // C + 732.61, 100.646, 23.550, // N + 965.1, 129.85, 31.60, // O + 1525.9, 234.9, 56.18, // Ne + 2701, 476.5, 150.42, 16.89, // Al + 3206.1, 586.4, 186.8, 23.52, 14.91, // Si + 5551.6, 472.43, 124.85, 22.332, // Ar + 8554.6, 850.58, 93.47, 39.19, 19.46, // Ti + 12254.7, 1279.29, 200.35, 49.19, 17.66, // Fe + 14346.9, 1532.28, 262.71, 74.37, 23.03, // Ni + 15438.5, 1667.96, 294.1, 70.69, 16.447, // Cu + 19022.1, 2150.79, 455.79, 179.87, 57.89, 20.95, // Ge + 24643, 2906.4, 366.85, 22.24, // Kr + 34394, 4365.3, 589.36, 129.42, 35.59, 18.42, // Mo + 43664.3, 5824.91, 909.79, 175.47, 54.89, 19.63, // Ag + 49948, 6818.2, 1036.1, 172.65, 70.89, 33.87, 14.54, // Sn + 58987, 8159, 1296.6, 356.75, 101.03, 16.52, // Xe + 88926, 18012, 3210, 575, 108.7, 30.8, // Ta + 115025.9, 17827.44, 3214.36, 750.41, 305.21, 105.50, 38.09, 21.25, // W + 128342, 20254, 3601.8, 608.1, 115.0, 42.75, 17.04, // Pt + 131872, 20903, 3757.4, 682.1, 105.2, 44.89, 17.575, // Au + 154449, 25067, 5105.0, 987.44, 247.59, 188.1, 40.61, 19.2, 15.17, // Pb + 167282, 27868, 6022.7, 1020.4, 244.81, 51.33, 13, 11.06, 14.43 // U +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Data for L0 from: Sigmund P., Haagerup U. Phys. Rev. A34 (1986) 892-910 +const G4double G4ICRU73QOModel::L0[67][2] = +{ + {0.00, 0.000001}, + {0.10, 0.000001}, + {0.12, 0.00001}, + {0.14, 0.00005}, + {0.16, 0.00014}, + {0.18, 0.00030}, + {0.20, 0.00057}, + {0.25, 0.00189}, + {0.30, 0.00429}, + {0.35, 0.00784}, + {0.40, 0.01248}, + {0.45, 0.01811}, + {0.50, 0.02462}, + {0.60, 0.03980}, + {0.70, 0.05731}, + {0.80, 0.07662}, + {0.90, 0.09733}, + {1.00, 0.11916}, + {1.20, 0.16532}, + {1.40, 0.21376}, + {1.60, 0.26362}, + {1.80, 0.31428}, + {2.00, 0.36532}, + {2.50, 0.49272}, + {3.00, 0.61765}, + {3.50, 0.73863}, + {4.00, 0.85496}, + {4.50, 0.96634}, + {5.00, 1.07272}, + {6.00, 1.27086}, + {7.00, 1.45075}, + {8.00, 1.61412}, + {9.00, 1.76277}, + {10.00, 1.89836}, + {12.00, 2.13625}, + {14.00, 2.33787}, + {16.00, 2.51093}, + {18.00, 2.66134}, + {20.00, 2.79358}, + {25.00, 3.06539}, + {30.00, 3.27902}, + {35.00, 3.45430}, + {40.00, 3.60281}, + {45.00, 3.73167}, + {50.00, 3.84555}, + {60.00, 4.04011}, + {70.00, 4.20264}, + {80.00, 4.34229}, + {90.00, 4.46474}, + {100.00, 4.57378}, + {120.00, 4.76155}, + {140.00, 4.91953}, + {160.00, 5.05590}, + {180.00, 5.17588}, + {200.00, 5.28299}, + {250.00, 5.50925}, + {300.00, 5.69364}, + {350.00, 5.84926}, + {400.00, 5.98388}, + {450.00, 6.10252}, + {500.00, 6.20856}, + {600.00, 6.39189}, + {700.00, 6.54677}, + {800.00, 6.68084}, + {900.00, 6.79905}, + {1000.00, 6.90474} +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Data for L1 from: Mikkelsen H.H., Sigmund P. Phys. Rev. A40 (1989) 101-116 +const G4double G4ICRU73QOModel::L1[22][2] = +{ + {0.00, -0.000001}, + {0.10, -0.00001}, + {0.20, -0.00049}, + {0.30, -0.00084}, + {0.40, 0.00085}, + {0.50, 0.00519}, + {0.60, 0.01198}, + {0.70, 0.02074}, + {0.80, 0.03133}, + {0.90, 0.04369}, + {1.00, 0.06035}, + {2.00, 0.24023}, + {3.00, 0.44284}, + {4.00, 0.62012}, + {5.00, 0.77031}, + {6.00, 0.90390}, + {7.00, 1.02705}, + {8.00, 1.10867}, + {9.00, 1.17546}, + {10.00, 1.21599}, + {15.00, 1.24349}, + {20.00, 1.16752} +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Data for L2 from: Mikkelsen H.H. Nucl. Instr. Meth. B58 (1991) 136-148 +const G4double G4ICRU73QOModel::L2[14][2] = +{ + {0.00, 0.000001}, + {0.10, 0.00001}, + {0.20, 0.00000}, + {0.40, -0.00120}, + {0.60, -0.00036}, + {0.80, 0.00372}, + {1.00, 0.01298}, + {2.00, 0.08296}, + {4.00, 0.21953}, + {6.00, 0.23903}, + {8.00, 0.20893}, + {10.00, 0.10879}, + {20.00, -0.88409}, + {40.00, -1.13902} +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Correction obtained by V.Ivanchenko using G4BetheBlochModel +const G4double G4ICRU73QOModel::factorBethe[99] = { 1.0, +0.9637, 0.9872, 0.9469, 0.9875, 0.91, 0.989, 0.9507, 0.9773, 0.8621, 0.979, // 1 - 10 +0.8357, 0.868, 0.9417, 0.9466, 0.8911, 0.905, 0.944, 0.9607, 0.928, 0.96, // 11 - 20 +0.9098, 0.976, 0.8425, 0.8099, 0.7858, 0.947, 0.7248, 0.9106, 0.9246, 0.6821, // 21 - 30 +0.7223, 0.9784, 0.774, 0.7953, 0.829, 0.9405, 0.8318, 0.8583, 0.8563, 0.8481, // 31 - 40 +0.8207, 0.9033, 0.8063, 0.7837, 0.7818, 0.744, 0.875, 0.7693, 0.7871, 0.8459, // 41 - 50 +0.8231, 0.8462, 0.853, 0.8736, 0.856, 0.8762, 0.8629, 0.8323, 0.8064, 0.7828, // 51 - 60 +0.7533, 0.7273, 0.7093, 0.7157, 0.6823, 0.6612, 0.6418, 0.6395, 0.6323, 0.6221, // 61 - 70 +0.6497, 0.6746, 0.8568, 0.8541, 0.6958, 0.6962, 0.7051, 0.863, 0.8588, 0.7226, // 71 - 80 +0.7454, 0.78, 0.7783, 0.7996, 0.8216, 0.8632, 0.8558, 0.8792, 0.8745, 0.8676, // 81 - 90 +0.8321, 0.8272, 0.7999, 0.7934, 0.7787, 0.7851, 0.7692, 0.7598}; diff --git a/source/processes/electromagnetic/standard/src/G4IonCoulombCrossSection.cc b/source/processes/electromagnetic/standard/src/G4IonCoulombCrossSection.cc new file mode 100644 index 0000000000..f404b78cad --- /dev/null +++ b/source/processes/electromagnetic/standard/src/G4IonCoulombCrossSection.cc @@ -0,0 +1,257 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// G4IonCoulombCrossSection.cc +//------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// File name: G4IonCoulombCrossSection +// +// Author: Cristina Consolandi +// +// Creation date: 05.10.2010 from G4eCoulombScatteringModel +// +// Class Description: +// Computation of Screen-Coulomb Cross Section +// for protons, alpha and heavy Ions +// +// +// Reference: +// M.J. Boschini et al. "Nuclear and Non-Ionizing Energy-Loss +// for Coulomb Scattered Particles from Low Energy up to Relativistic +// Regime in Space Radiation Environment" +// Accepted for publication in the Proceedings of the ICATPP Conference +// on Cosmic Rays for Particle and Astroparticle Physics, Villa Olmo, 7-8 +// October, 2010, to be published by World Scientific (Singapore). +// +// Available for downloading at: +// http://arxiv.org/abs/1011.4822 +// +// ------------------------------------------------------------------- +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +#include "G4IonCoulombCrossSection.hh" +#include "Randomize.hh" +#include "G4Proton.hh" +#include "G4LossTableManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + +using namespace std; + +G4IonCoulombCrossSection::G4IonCoulombCrossSection(): + cosThetaMin(1.0), + cosThetaMax(-1.0), + alpha2(fine_structure_const*fine_structure_const) +{ + fNistManager = G4NistManager::Instance(); + theProton = G4Proton::Proton(); + particle=0; + + G4double p0 = electron_mass_c2*classic_electr_radius; + coeff = twopi*p0*p0; + + cosTetMinNuc=0; + cosTetMaxNuc=0; + nucXSection =0; + + + chargeSquare = spin = mass =0; + tkinLab = momLab2 = invbetaLab2=0; + tkin = mom2 = invbeta2=0; + + targetZ = targetMass = screenZ =0; + ScreenRSquare=0.; + + etag = ecut = 0.0; + +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4IonCoulombCrossSection::~G4IonCoulombCrossSection() +{} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4IonCoulombCrossSection::Initialise(const G4ParticleDefinition* p, + G4double CosThetaLim) +{ + + SetupParticle(p); + nucXSection = 0.0; + tkin = targetZ = mom2 = DBL_MIN; + ecut = etag = DBL_MAX; + particle = p; + + + cosThetaMin = CosThetaLim; + +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4IonCoulombCrossSection::SetupKinematic(G4double ekin, + G4double cut,G4int iz ) +{ + if(ekin != tkinLab || ecut != cut) { + + // lab + tkinLab = ekin; + momLab2 = tkinLab*(tkinLab + 2.0*mass); + invbetaLab2 = 1.0 + mass*mass/momLab2; + + G4double etot = tkinLab + mass; + G4double ptot = sqrt(momLab2); + G4double m12 = mass*mass; + + targetMass=fNistManager->GetAtomicMassAmu(iz)*amu_c2; + G4double m2 = targetMass; + + // relativistic reduced mass from publucation + // A.P. Martynenko, R.N. Faustov, Teoret. mat. Fiz. 64 (1985) 179 + + //incident particle & target nucleus + G4double Ecm=sqrt(m12 + m2*m2 + 2.0*etot*m2); + G4double mu_rel=mass*m2/Ecm; + G4double momCM= ptot*m2/Ecm; + // relative system + mom2 = momCM*momCM; + invbeta2 = 1.0 + mu_rel*mu_rel/mom2; + tkin = momCM*sqrt(invbeta2) - mu_rel;//Ekin of mu_rel + //......................................................... + + cosTetMinNuc = cosThetaMin; + cosTetMaxNuc = cosThetaMax; + + } + +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +void G4IonCoulombCrossSection::SetupTarget(G4double Z, G4double e, G4int heavycorr) +{ + if(Z != targetZ || e != etag) { + etag = e; + targetZ = Z; + G4int iz= G4int(Z); + + SetScreenRSquare(iz); + screenZ =0; + screenZ = ScreenRSquare/mom2; + + // G4cout<< "heavycorr "<GetZ13(iz); + } + ScreenRSquare = alpha2*x*x; + + +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4IonCoulombCrossSection::NuclearCrossSection() +{ + // This method needs initialisation before be called + + // scattering with target nucleus + G4double fac = coeff*targetZ*targetZ*chargeSquare*invbeta2/mom2; + + nucXSection = 0.0; + + G4double x = 1.0 - cosTetMinNuc; + G4double x1 = x + screenZ; + + // scattering with nucleus + if(cosTetMaxNuc < cosTetMinNuc) { + + nucXSection =fac*(cosTetMinNuc - cosTetMaxNuc)/ + (x1*(1.0 - cosTetMaxNuc + screenZ)); + + } + + return nucXSection; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4IonCoulombCrossSection::SampleCosineTheta() +{ + + if(cosTetMaxNuc >= cosTetMinNuc) return 0.0; + + G4double x1 = 1. - cosTetMinNuc + screenZ; + G4double x2 = 1. - cosTetMaxNuc + screenZ; + G4double dx = cosTetMinNuc - cosTetMaxNuc; + G4double grej, z1; + + z1 = x1*x2/(x1 + G4UniformRand()*dx) - screenZ; + grej = 1.0/(1.0 + z1); + + + return z1; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + + + diff --git a/source/processes/electromagnetic/standard/src/G4IonCoulombScatteringModel.cc b/source/processes/electromagnetic/standard/src/G4IonCoulombScatteringModel.cc new file mode 100644 index 0000000000..24284f845f --- /dev/null +++ b/source/processes/electromagnetic/standard/src/G4IonCoulombScatteringModel.cc @@ -0,0 +1,259 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// G4IonCoulombScatteringModel.cc +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// File name: G4IonCoulombScatteringModel +// +// Author: Cristina Consolandi +// +// Creation date: 05.10.2010 from G4eCoulombScatteringModel +// & G4CoulombScatteringModel +// +// Class Description: +// Single Scattering Model for +// for protons, alpha and heavy Ions +// +// Reference: +// M.J. Boschini et al. "Nuclear and Non-Ionizing Energy-Loss +// for Coulomb ScatteredParticles from Low Energy up to Relativistic +// Regime in Space Radiation Environment" +// Accepted for publication in the Proceedings of the ICATPP Conference +// on Cosmic Rays for Particle and Astroparticle Physics, Villa Olmo, 7-8 +// October, 2010, to be published by World Scientific (Singapore). +// +// Available for downloading at: +// http://arxiv.org/abs/1011.4822 +// +// ------------------------------------------------------------------- +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +#include "G4IonCoulombScatteringModel.hh" +#include "Randomize.hh" +//#include "G4DataVector.hh" +#include "G4ParticleChangeForGamma.hh" +#include "G4Proton.hh" +#include "G4ProductionCutsTable.hh" +#include "G4NucleiProperties.hh" + +#include "G4UnitsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +using namespace std; + +G4IonCoulombScatteringModel::G4IonCoulombScatteringModel(const G4String& nam) + : G4VEmModel(nam), + + cosThetaMin(1.0), + isInitialised(false) +{ + fNistManager = G4NistManager::Instance(); + theParticleTable = G4ParticleTable::GetParticleTable(); + theProton = G4Proton::Proton(); + + pCuts=0; + currentMaterial = 0; + currentElement = 0; + currentCouple = 0; + + lowEnergyLimit = 100*eV; + recoilThreshold = 0.*eV; + heavycorr =0; + particle = 0; + mass=0; + + ioncross = new G4IonCoulombCrossSection(); + +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4IonCoulombScatteringModel::~G4IonCoulombScatteringModel() +{ delete ioncross;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4IonCoulombScatteringModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector& ) +{ + SetupParticle(p); + currentCouple = 0; + cosThetaMin = cos(PolarAngleLimit()); + ioncross->Initialise(p,cosThetaMin); + + pCuts = G4ProductionCutsTable::GetProductionCutsTable()->GetEnergyCutsVector(3); + + + if(!isInitialised) { + isInitialised = true; + fParticleChange = GetParticleChangeForGamma(); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4IonCoulombScatteringModel::ComputeCrossSectionPerAtom( + const G4ParticleDefinition* p, + G4double kinEnergy, + G4double Z, + G4double, + G4double cutEnergy, + G4double) +{ + + SetupParticle(p); + + G4double xsec =0.0; + if(kinEnergy < lowEnergyLimit) return xsec; + + DefineMaterial(CurrentCouple()); + + G4int iz = G4int(Z); + + //from lab to pCM & mu_rel of effective particle + ioncross->SetupKinematic(kinEnergy, cutEnergy,iz); + + + ioncross->SetupTarget(Z, kinEnergy, heavycorr); + + + xsec = ioncross->NuclearCrossSection(); + +//cout<< "..........xsec "<* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double cutEnergy, + G4double) +{ + G4double kinEnergy = dp->GetKineticEnergy(); + + if(kinEnergy < lowEnergyLimit) return; + + DefineMaterial(couple); + + SetupParticle(dp->GetDefinition()); + + // Choose nucleus + currentElement = SelectRandomAtom(couple,particle, + kinEnergy,cutEnergy,kinEnergy); + + G4double Z = currentElement->GetZ(); + G4int iz = G4int(Z); + G4int ia = SelectIsotopeNumber(currentElement); + G4double m2 = G4NucleiProperties::GetNuclearMass(ia, iz); + + + + G4double xsec= ComputeCrossSectionPerAtom(particle,kinEnergy, Z, + kinEnergy, cutEnergy, kinEnergy) ; + if(xsec == 0.0)return; + + //scattering angle, z1 == (1-cost) + G4double z1 = ioncross->SampleCosineTheta(); + + if(z1 <= 0.0) { return; } + + G4double cost = 1.0 - z1; + G4double sint = sqrt(z1*(1.0 + cost)); + G4double phi = twopi * G4UniformRand(); + + + // kinematics in the Lab system + G4double etot = kinEnergy + mass; + G4double mom2= kinEnergy*(kinEnergy+2.0*mass); + G4double ptot = sqrt(mom2); + + //CM particle 1 + G4double bet = ptot/(etot + m2); + G4double gam = 1.0/sqrt((1.0 - bet)*(1.0 + bet)); + + //CM + G4double momCM2= ioncross->GetMomentum2(); + G4double momCM =std::sqrt(momCM2); + //energy & momentum after scattering of incident particle + G4double pxCM = momCM*sint*cos(phi); + G4double pyCM = momCM*sint*sin(phi); + G4double pzCM = momCM*cost; + G4double eCM = sqrt(momCM2 + mass*mass); + + //CM--->Lab + G4ThreeVector v1(pxCM , pyCM, gam*(pzCM + bet*eCM)); + G4ThreeVector dir = dp->GetMomentumDirection(); + + G4ThreeVector newDirection = v1.unit(); + newDirection.rotateUz(dir); + + fParticleChange->ProposeMomentumDirection(newDirection); + + // recoil....................................... + G4double trec =(1.0 - cost)* m2*(etot*etot - mass*mass )/ + (mass*mass + m2*m2+ 2.*m2*etot); + + G4double finalT = kinEnergy - trec; + + + if(finalT <= lowEnergyLimit) { + trec = kinEnergy; + finalT = 0.0; + } + + fParticleChange->SetProposedKineticEnergy(finalT); + + G4double tcut = recoilThreshold; + if(pCuts) { tcut= std::max(tcut,(*pCuts)[currentMaterialIndex]); + + //G4cout<<" tcut eV "< tcut) { + G4ParticleDefinition* ion = theParticleTable->FindIon(iz, ia, 0, iz); + G4double plab = sqrt(finalT*(finalT + 2.0*mass)); + G4ThreeVector p2 = (ptot*dir - plab*newDirection).unit(); + G4DynamicParticle* newdp = new G4DynamicParticle(ion, p2, trec); + fvect->push_back(newdp); + } else if(trec > 0.0) { + fParticleChange->ProposeLocalEnergyDeposit(trec); + fParticleChange->ProposeNonIonizingEnergyDeposit(trec); + } + + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/source/processes/electromagnetic/standard/src/G4IonFluctuations.cc b/source/processes/electromagnetic/standard/src/G4IonFluctuations.cc index 7fb610bcfe..f41f35a788 100644 --- a/source/processes/electromagnetic/standard/src/G4IonFluctuations.cc +++ b/source/processes/electromagnetic/standard/src/G4IonFluctuations.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4IonFluctuations.cc,v 1.26 2009/03/31 13:24:40 toshito Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4IonFluctuations.cc,v 1.27 2010/10/25 19:13:23 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -79,7 +79,10 @@ G4IonFluctuations::G4IonFluctuations(const G4String& nam) minFraction(0.2), xmin(0.2), minLoss(0.001*eV) -{} +{ + kineticEnergy = 0.0; + beta2 = 0.0; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/src/G4KleinNishinaModel.cc b/source/processes/electromagnetic/standard/src/G4KleinNishinaModel.cc new file mode 100644 index 0000000000..7f22b85895 --- /dev/null +++ b/source/processes/electromagnetic/standard/src/G4KleinNishinaModel.cc @@ -0,0 +1,299 @@ +// +// ******************************************************************** +// * 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: G4KleinNishinaModel.cc,v 1.4 2010/11/21 16:08:37 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4KleinNishinaModel +// +// Author: Vladimir Ivanchenko on base of G4KleinNishinaCompton +// +// Creation date: 13.06.2010 +// +// Modifications: +// +// Class Description: +// +// ------------------------------------------------------------------- +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4KleinNishinaModel.hh" +#include "G4Electron.hh" +#include "G4Gamma.hh" +#include "Randomize.hh" +#include "G4RandomDirection.hh" +#include "G4DataVector.hh" +#include "G4ParticleChangeForGamma.hh" +#include "G4VAtomDeexcitation.hh" +#include "G4LossTableManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +using namespace std; + +G4KleinNishinaModel::G4KleinNishinaModel(const G4String& nam) + : G4VEmModel(nam),isInitialized(false) +{ + theGamma = G4Gamma::Gamma(); + theElectron = G4Electron::Electron(); + lowestGammaEnergy = 1.0*eV; + fProbabilities.resize(9,0.0); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4KleinNishinaModel::~G4KleinNishinaModel() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4KleinNishinaModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector& cuts) +{ + fAtomDeexcitation = G4LossTableManager::Instance()->AtomDeexcitation(); + InitialiseElementSelectors(p, cuts); + + if (isInitialized) { return; } + fParticleChange = GetParticleChangeForGamma(); + isInitialized = true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double +G4KleinNishinaModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double GammaEnergy, + G4double Z, G4double, + G4double, G4double) +{ + G4double CrossSection = 0.0 ; + if ( Z < 0.9999 || GammaEnergy < 0.1*keV) { return CrossSection; } + + static const G4double a = 20.0 , b = 230.0 , c = 440.0; + + static const G4double + d1= 2.7965e-1*barn, d2=-1.8300e-1*barn, d3= 6.7527 *barn, d4=-1.9798e+1*barn, + e1= 1.9756e-5*barn, e2=-1.0205e-2*barn, e3=-7.3913e-2*barn, e4= 2.7079e-2*barn, + f1=-3.9178e-7*barn, f2= 6.8241e-5*barn, f3= 6.0480e-5*barn, f4= 3.0274e-4*barn; + + G4double p1Z = Z*(d1 + e1*Z + f1*Z*Z), p2Z = Z*(d2 + e2*Z + f2*Z*Z), + p3Z = Z*(d3 + e3*Z + f3*Z*Z), p4Z = Z*(d4 + e4*Z + f4*Z*Z); + + G4double T0 = 15.0*keV; + if (Z < 1.5) { T0 = 40.0*keV; } + + G4double X = max(GammaEnergy, T0) / electron_mass_c2; + CrossSection = p1Z*std::log(1.+2.*X)/X + + (p2Z + p3Z*X + p4Z*X*X)/(1. + a*X + b*X*X + c*X*X*X); + + // modification for low energy. (special case for Hydrogen) + if (GammaEnergy < T0) { + G4double dT0 = keV; + X = (T0+dT0) / electron_mass_c2 ; + G4double sigma = p1Z*log(1.+2*X)/X + + (p2Z + p3Z*X + p4Z*X*X)/(1. + a*X + b*X*X + c*X*X*X); + G4double c1 = -T0*(sigma-CrossSection)/(CrossSection*dT0); + G4double c2 = 0.150; + if (Z > 1.5) { c2 = 0.375-0.0556*log(Z); } + G4double y = log(GammaEnergy/T0); + CrossSection *= exp(-y*(c1+c2*y)); + } + // G4cout << "e= " << GammaEnergy << " Z= " << Z + // << " cross= " << CrossSection << G4endl; + return CrossSection; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4KleinNishinaModel::SampleSecondaries( + std::vector* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicGamma, + G4double, + G4double) +{ + G4double energy = aDynamicGamma->GetKineticEnergy(); + G4ThreeVector direction = aDynamicGamma->GetMomentumDirection(); + + // select atom + const G4Element* elm = SelectRandomAtom(couple, theGamma, energy); + + // select shell first + G4int Z = (G4int)elm->GetZ(); + G4int nShells = elm->GetNbOfAtomicShells(); + if(nShells > (G4int)fProbabilities.size()) { fProbabilities.resize(nShells); } + G4double totprob = 0.0; + G4int i = 0; + for(; i elm->GetAtomicShell(i)) { + prob = (G4double)elm->GetNbOfShellElectrons(i); + } + totprob += prob; + fProbabilities[i] = totprob; + } + if(totprob == 0.0) { return; } + + G4LorentzVector lv1, lv2, lv3; + G4LorentzVector lv0(energy*direction.x(),energy*direction.y(), + energy*direction.z(),energy); + G4double eKinEnergy = 0.0; + G4double gamEnergy1 = 0.0; + + // Loop on sampling + G4double bindingEnergy; + do { + G4double xprob = totprob*G4UniformRand(); + + for(i=0; iGetAtomicShell(i); + G4double tkin = bindingEnergy*0.5; + G4double eEnergy = tkin + electron_mass_c2; + G4double eTotMomentum = sqrt(tkin*(tkin + electron_mass_c2*2)); + G4ThreeVector eDir = G4RandomDirection(); + lv1 = lv0; + lv2.set(eTotMomentum*eDir.x(),eTotMomentum*eDir.y(), + eTotMomentum*eDir.z(),eEnergy); + G4ThreeVector bst = lv2.boostVector(); + lv1.boost(-bst); + + // In the rest frame of an electron + // The scattered gamma energy is sampled according to Klein - Nishina formula. + // The random number techniques of Butcher & Messel are used + // (Nuc Phys 20(1960),15). + + G4double gamEnergy0 = lv1.e(); + G4double E0_m = gamEnergy0 / electron_mass_c2 ; + + G4ThreeVector gamDirection0 = (lv1.vect()).unit(); + + // + // sample the energy rate of the scattered gamma + // + + G4double epsilon, epsilonsq, onecost, sint2, greject ; + + G4double epsilon0 = 1./(1. + 2.*E0_m); + G4double epsilon0sq = epsilon0*epsilon0; + G4double alpha1 = - log(epsilon0); + G4double alpha2 = 0.5*(1.- epsilon0sq); + + do { + if ( alpha1/(alpha1+alpha2) > G4UniformRand() ) { + epsilon = exp(-alpha1*G4UniformRand()); // epsilon0**r + epsilonsq = epsilon*epsilon; + + } else { + epsilonsq = epsilon0sq + (1.- epsilon0sq)*G4UniformRand(); + epsilon = sqrt(epsilonsq); + }; + + onecost = (1.- epsilon)/(epsilon*E0_m); + sint2 = onecost*(2.-onecost); + greject = 1. - epsilon*sint2/(1.+ epsilonsq); + + } while (greject < G4UniformRand()); + + // + // scattered gamma angles. ( Z - axis along the parent gamma) + // + + G4double cosTeta = 1. - onecost; + G4double sinTeta = sqrt (sint2); + G4double Phi = twopi * G4UniformRand(); + G4double dirx = sinTeta*cos(Phi), diry = sinTeta*sin(Phi), dirz = cosTeta; + + // + // update G4VParticleChange for the scattered gamma + // + + G4ThreeVector gamDirection1 ( dirx,diry,dirz ); + gamDirection1.rotateUz(gamDirection0); + gamEnergy1 = epsilon*gamEnergy0; + + // before scattering + lv2.set(0.0,0.0,0.0,electron_mass_c2); + lv2 += lv1; + + // after scattering + lv1.set(gamEnergy1*gamDirection1.x(),gamEnergy1*gamDirection1.y(), + gamEnergy1*gamDirection1.z(),gamEnergy1); + lv2 -= lv1; + lv2.boost(bst); + lv1.boost(bst); + eKinEnergy = lv2.e() - electron_mass_c2 - bindingEnergy; + } while ( eKinEnergy < 0.0 ); + + // gamma kinematics + gamEnergy1 = lv1.e(); + G4double edep = bindingEnergy; + if(gamEnergy1 > lowestGammaEnergy) { + fParticleChange->SetProposedKineticEnergy(gamEnergy1); + fParticleChange->ProposeMomentumDirection((lv1.vect()).unit()); + } else { + fParticleChange->ProposeTrackStatus(fStopAndKill); + fParticleChange->SetProposedKineticEnergy(0.0); + edep += gamEnergy1; + } + // + // kinematic of the scattered electron + // + if(eKinEnergy > DBL_MIN) { + G4ThreeVector eDirection = (lv2.vect()).unit(); + G4DynamicParticle* dp = new G4DynamicParticle(theElectron,eDirection,eKinEnergy); + fvect->push_back(dp); + } + // sample deexcitation + // + if(fAtomDeexcitation) { + G4int index = couple->GetIndex(); + if(fAtomDeexcitation->CheckDeexcitationActiveRegion(index)) { + G4AtomicShellEnumerator as = G4AtomicShellEnumerator(i); + const G4AtomicShell* shell = fAtomDeexcitation->GetAtomicShell(Z, as); + size_t nbefore = fvect->size(); + fAtomDeexcitation->GenerateParticles(fvect, shell, Z, index); + size_t nafter = fvect->size(); + if(nafter > nbefore) { + for (size_t i=nbefore; iGetKineticEnergy(); + } + } + } + } + // energy balance + fParticleChange->ProposeLocalEnergyDeposit(edep); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/source/processes/electromagnetic/lowenergy/src/G4ModifiedTsai.cc b/source/processes/electromagnetic/standard/src/G4ModifiedTsai.cc similarity index 74% rename from source/processes/electromagnetic/lowenergy/src/G4ModifiedTsai.cc rename to source/processes/electromagnetic/standard/src/G4ModifiedTsai.cc index 186378042d..5b23210c2a 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4ModifiedTsai.cc +++ b/source/processes/electromagnetic/standard/src/G4ModifiedTsai.cc @@ -23,6 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4ModifiedTsai.cc,v 1.1 2010/10/14 15:17:48 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -38,38 +40,36 @@ // Creation date: 21 March 2003 // // Modifications: -// 21 Mar 2003 A. Trindade First implementation acording with new design -// 24 Mar 2003 & Fix in Tsai generator in order to prevent theta generation above pi +// 21 Mar 2003 A.Trindade First implementation acording with new design +// 24 Mar 2003 A.Trindade Fix in Tsai generator in order to prevent theta +// generation above pi +// 13 Oct 2010 V.Ivanchenko Moved to standard and improved comment // // Class Description: // -// Concrete base class for Bremsstrahlung Angular Distribution Generation - Tsai Model +// Bremsstrahlung Angular Distribution Generation +// suggested by L.Urban (Geant3 manual (1993) Phys211) +// Derived from Tsai distribution (Rev Mod Phys 49,421(1977)) // // Class Description: End // // ------------------------------------------------------------------- // -// #include "G4ModifiedTsai.hh" #include "Randomize.hh" -// -G4ModifiedTsai::G4ModifiedTsai(const G4String& name):G4VBremAngularDistribution(name) -{;} - -// +G4ModifiedTsai::G4ModifiedTsai(const G4String&) + : G4VBremAngularDistribution("AngularGenUrban") +{} G4ModifiedTsai::~G4ModifiedTsai() -{;} - -// +{} G4double G4ModifiedTsai::PolarAngle(const G4double initial_energy, const G4double, // final_energy const G4int ) // Z { - // Sample gamma angle (Z - axis along the parent particle). // Universal distribution suggested by L. Urban (Geant3 manual (1993) // Phys211) derived from Tsai distribution (Rev Mod Phys 49,421(1977)) @@ -80,23 +80,23 @@ G4double G4ModifiedTsai::PolarAngle(const G4double initial_energy, G4double u, theta = 0; do{ - u = - std::log(G4UniformRand()*G4UniformRand()); + u = - std::log(G4UniformRand()*G4UniformRand()); - if (9./(9.+d) > G4UniformRand()) u /= a1; - else u /= a2; + if (9./(9.+d) > G4UniformRand()) { u /= a1; } + else { u /= a2; } - theta = u*electron_mass_c2/totalEnergy; - }while(u > (totalEnergy*pi/electron_mass_c2)); + theta = u*electron_mass_c2/totalEnergy; + } while(u*electron_mass_c2 > totalEnergy*pi); return theta; } -// void G4ModifiedTsai::PrintGeneratorInformation() const { - G4cout << "\n" << G4endl; G4cout << "Bremsstrahlung Angular Generator is Modified Tsai" << G4endl; - G4cout << "Universal distribution suggested by L. Urban (Geant3 manual (1993) Phys211)" << G4endl; - G4cout << "Derived from Tsai distribution (Rev Mod Phys 49,421(1977)) \n" << G4endl; + G4cout << "Distribution suggested by L.Urban (Geant3 manual (1993) Phys211)" + << G4endl; + G4cout << "Derived from Tsai distribution (Rev Mod Phys 49,421(1977)) \n" + << G4endl; } diff --git a/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc b/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc index 95b3ac001d..6ea8e4d130 100644 --- a/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc +++ b/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MollerBhabhaModel.cc,v 1.35 2009/11/09 19:16:13 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4MollerBhabhaModel.cc,v 1.38 2010/04/06 17:10:16 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -91,11 +91,13 @@ G4MollerBhabhaModel::~G4MollerBhabhaModel() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4double G4MollerBhabhaModel::MinEnergyCut(const G4ParticleDefinition*, - const G4MaterialCutsCouple* couple) + const G4MaterialCutsCouple* /*couple*/) { - G4double electronDensity = couple->GetMaterial()->GetElectronDensity(); - G4double Zeff = electronDensity/couple->GetMaterial()->GetTotNbOfAtomsPerVolume(); - return 0.25*sqrt(Zeff)*keV; + // G4double electronDensity = couple->GetMaterial()->GetElectronDensity(); + //G4double Zeff = electronDensity/couple->GetMaterial()->GetTotNbOfAtomsPerVolume(); + //return 0.25*sqrt(Zeff)*keV; + //return couple->GetMaterial()->GetIonisation()->GetMeanExcitationEnergy(); + return 0.1*keV; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4MscModel71.cc b/source/processes/electromagnetic/standard/src/G4MscModel71.cc deleted file mode 100644 index 617f041c10..0000000000 --- a/source/processes/electromagnetic/standard/src/G4MscModel71.cc +++ /dev/null @@ -1,730 +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: G4MscModel71.cc,v 1.8 2009/11/01 13:05:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -// ------------------------------------------------------------------- -// -// GEANT4 Class file -// -// -// File name: G4MscModel71 -// -// Author: Laszlo Urban -// -// Creation date: 03.03.2001 -// -// Modifications: -// -// 27-03-03 Move model part from G4MultipleScattering (V.Ivanchenko) -// 23-05-03 important change in angle distribution for muons/hadrons -// the central part now is similar to the Highland parametrization + -// minor correction in angle sampling algorithm (for all particles) -// (L.Urban) -// 30-05-03 misprint in SampleCosineTheta corrected(L.Urban) -// 27-03-03 Rename (V.Ivanchenko) -// 05-08-03 angle distribution has been modified (L.Urban) -// 06-11-03 precision problems solved for high energy (PeV) particles -// change in the tail of the angular distribution -// highKinEnergy is set to 100 PeV (L.Urban) -// -// 10-11-03 highKinEnergy is set back to 100 TeV, some tail tuning + -// cleaning (L.Urban) -// 26-11-03 correction in TrueStepLength : -// trueLength <= currentRange (L.Urban) -// 01-03-04 signature changed in SampleCosineTheta, -// energy dependence calculations has been simplified, -// 11-03-04 corrections in GeomPathLength,TrueStepLength, -// SampleCosineTheta -// 23-04-04 true -> geom and geom -> true transformation has been -// rewritten, changes in the angular distribution (L.Urban) -// 19-07-04 correction in SampleCosineTheta in order to avoid -// num. precision problems at high energy/small step(L.Urban) -// 17-08-04 changes in the angle distribution (slightly modified -// Highland formula for the width of the central part, -// changes in the numerical values of some other parameters) -// ---> approximately step independent distribution (L.Urban) -// 21-09-04 change in the tail of the angular distribution (L.Urban) -// -// 03-11-04 precision problem for very high energy ions and small stepsize -// solved in SampleCosineTheta (L.Urban). -// 15-04-05 optimize internal interface - add SampleSecondaries method (V.Ivanchenko) -// 03-10-05 Model is freezed with the name McsModel71 (V.Ivanchenko) -// 17-02-06 Save table of transport cross sections not mfp (V.Ivanchenko) -// - -// Class Description: -// -// Implementation of the model of multiple scattering based on -// H.W.Lewis Phys Rev 78 (1950) 526 and others - -// ------------------------------------------------------------------- -// - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "G4MscModel71.hh" -#include "Randomize.hh" -#include "G4Electron.hh" -#include "G4LossTableManager.hh" -#include "G4PhysicsTable.hh" -#include "G4ParticleChangeForMSC.hh" -#include "G4TransportationManager.hh" -#include "G4Navigator.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -using namespace std; - -G4MscModel71::G4MscModel71(G4double& m_dtrl, G4double& m_NuclCorrPar, - G4double& m_FactPar, G4double& m_factail, - G4bool& m_samplez, const G4String& nam) - : G4VEmModel(nam), - taubig(8.0), - tausmall(1.e-20), - taulim(1.e-6), - dtrl(m_dtrl), - NuclCorrPar (m_NuclCorrPar), - FactPar(m_FactPar), - factail(m_factail), - samplez(m_samplez), - isInitialized(false) -{ - stepmin = 1.e-6*mm; - currentRange = 0.; - G4cout << G4endl; - G4cout << "!!! G4MscModel71 class is obsolete and will be removed for the next major Geant4 release !!!" << G4endl; - G4cout << "!!! Please use other models (G4UrbanMscModel90, 92, 93) !!!" << G4endl; - G4cout << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4MscModel71::~G4MscModel71() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4MscModel71::Initialise(const G4ParticleDefinition* p, - const G4DataVector&) -{ - if(isInitialized) return; - // set values of some data members - sigmafactor = twopi*classic_electr_radius*classic_electr_radius; - particle = p; - mass = particle->GetPDGMass(); - charge = particle->GetPDGCharge()/eplus; - b = 1. ; - xsi = 3.00 ; - - if(pParticleChange) - fParticleChange = static_cast(pParticleChange); - else - fParticleChange = new G4ParticleChangeForMSC(); - - navigator = G4TransportationManager::GetTransportationManager() - ->GetNavigatorForTracking(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4MscModel71::ComputeCrossSectionPerAtom( - const G4ParticleDefinition* part, - G4double KineticEnergy, - G4double AtomicNumber, - G4double AtomicWeight, - G4double, - G4double) -{ - const G4double epsfactor = 2.*electron_mass_c2*electron_mass_c2* - Bohr_radius*Bohr_radius/(hbarc*hbarc); - const G4double epsmin = 1.e-4 , epsmax = 1.e10; - - const G4double Zdat[15] = { 4., 6.,13.,20.,26.,29.,32.,38.,47., - 50.,56.,64.,74.,79.,82. }; - - const G4double Tdat[23] = {0.0001*MeV,0.0002*MeV,0.0004*MeV,0.0007*MeV, - 0.001*MeV,0.002*MeV,0.004*MeV,0.007*MeV, - 0.01*MeV,0.02*MeV,0.04*MeV,0.07*MeV, - 0.1*MeV,0.2*MeV,0.4*MeV,0.7*MeV, - 1.*MeV,2.*MeV,4.*MeV,7.*MeV,10.*MeV,20.*MeV, - 10000.0*MeV}; - - // corr. factors for e-/e+ lambda - G4double celectron[15][23] = - {{1.125,1.072,1.051,1.047,1.047,1.050,1.052,1.054, - 1.054,1.057,1.062,1.069,1.075,1.090,1.105,1.111, - 1.112,1.108,1.100,1.093,1.089,1.087,0.7235 }, - {1.408,1.246,1.143,1.096,1.077,1.059,1.053,1.051, - 1.052,1.053,1.058,1.065,1.072,1.087,1.101,1.108, - 1.109,1.105,1.097,1.090,1.086,1.082,0.7925 }, - {2.833,2.268,1.861,1.612,1.486,1.309,1.204,1.156, - 1.136,1.114,1.106,1.106,1.109,1.119,1.129,1.132, - 1.131,1.124,1.113,1.104,1.099,1.098,0.9147 }, - {3.879,3.016,2.380,2.007,1.818,1.535,1.340,1.236, - 1.190,1.133,1.107,1.099,1.098,1.103,1.110,1.113, - 1.112,1.105,1.096,1.089,1.085,1.098,0.9700 }, - {6.937,4.330,2.886,2.256,1.987,1.628,1.395,1.265, - 1.203,1.122,1.080,1.065,1.061,1.063,1.070,1.073, - 1.073,1.070,1.064,1.059,1.056,1.056,1.0022 }, - {9.616,5.708,3.424,2.551,2.204,1.762,1.485,1.330, - 1.256,1.155,1.099,1.077,1.070,1.068,1.072,1.074, - 1.074,1.070,1.063,1.059,1.056,1.052,1.0158 }, - {11.72,6.364,3.811,2.806,2.401,1.884,1.564,1.386, - 1.300,1.180,1.112,1.082,1.073,1.066,1.068,1.069, - 1.068,1.064,1.059,1.054,1.051,1.050,1.0284 }, - {18.08,8.601,4.569,3.183,2.662,2.025,1.646,1.439, - 1.339,1.195,1.108,1.068,1.053,1.040,1.039,1.039, - 1.039,1.037,1.034,1.031,1.030,1.036,1.0515 }, - {18.22,10.48,5.333,3.713,3.115,2.367,1.898,1.631, - 1.498,1.301,1.171,1.105,1.077,1.048,1.036,1.033, - 1.031,1.028,1.024,1.022,1.021,1.024,1.0834 }, - {14.14,10.65,5.710,3.929,3.266,2.453,1.951,1.669, - 1.528,1.319,1.178,1.106,1.075,1.040,1.027,1.022, - 1.020,1.017,1.015,1.013,1.013,1.020,1.0937 }, - {14.11,11.73,6.312,4.240,3.478,2.566,2.022,1.720, - 1.569,1.342,1.186,1.102,1.065,1.022,1.003,0.997, - 0.995,0.993,0.993,0.993,0.993,1.011,1.1140 }, - {22.76,20.01,8.835,5.287,4.144,2.901,2.219,1.855, - 1.677,1.410,1.224,1.121,1.073,1.014,0.986,0.976, - 0.974,0.972,0.973,0.974,0.975,0.987,1.1410 }, - {50.77,40.85,14.13,7.184,5.284,3.435,2.520,2.059, - 1.837,1.512,1.283,1.153,1.091,1.010,0.969,0.954, - 0.950,0.947,0.949,0.952,0.954,0.963,1.1750 }, - {65.87,59.06,15.87,7.570,5.567,3.650,2.682,2.182, - 1.939,1.579,1.325,1.178,1.108,1.014,0.965,0.947, - 0.941,0.938,0.940,0.944,0.946,0.954,1.1922 }, - {55.60,47.34,15.92,7.810,5.755,3.767,2.760,2.239, - 1.985,1.609,1.343,1.188,1.113,1.013,0.960,0.939, - 0.933,0.930,0.933,0.936,0.939,0.949,1.2026 }}; - G4double cpositron[15][23] = { - {2.589,2.044,1.658,1.446,1.347,1.217,1.144,1.110, - 1.097,1.083,1.080,1.086,1.092,1.108,1.123,1.131, - 1.131,1.126,1.117,1.108,1.103,1.100,0.7235 }, - {3.904,2.794,2.079,1.710,1.543,1.325,1.202,1.145, - 1.122,1.096,1.089,1.092,1.098,1.114,1.130,1.137, - 1.138,1.132,1.122,1.113,1.108,1.102,0.7925 }, - {7.970,6.080,4.442,3.398,2.872,2.127,1.672,1.451, - 1.357,1.246,1.194,1.179,1.178,1.188,1.201,1.205, - 1.203,1.190,1.173,1.159,1.151,1.145,0.9147 }, - {9.714,7.607,5.747,4.493,3.815,2.777,2.079,1.715, - 1.553,1.353,1.253,1.219,1.211,1.214,1.225,1.228, - 1.225,1.210,1.191,1.175,1.166,1.174,0.9700 }, - {17.97,12.95,8.628,6.065,4.849,3.222,2.275,1.820, - 1.624,1.382,1.259,1.214,1.202,1.202,1.214,1.219, - 1.217,1.203,1.184,1.169,1.160,1.151,1.0022 }, - {24.83,17.06,10.84,7.355,5.767,3.707,2.546,1.996, - 1.759,1.465,1.311,1.252,1.234,1.228,1.238,1.241, - 1.237,1.222,1.201,1.184,1.174,1.159,1.0158 }, - {23.26,17.15,11.52,8.049,6.375,4.114,2.792,2.155, - 1.880,1.535,1.353,1.281,1.258,1.247,1.254,1.256, - 1.252,1.234,1.212,1.194,1.183,1.170,1.0284 }, - {22.33,18.01,12.86,9.212,7.336,4.702,3.117,2.348, - 2.015,1.602,1.385,1.297,1.268,1.251,1.256,1.258, - 1.254,1.237,1.214,1.195,1.185,1.179,1.0515 }, - {33.91,24.13,15.71,10.80,8.507,5.467,3.692,2.808, - 2.407,1.873,1.564,1.425,1.374,1.330,1.324,1.320, - 1.312,1.288,1.258,1.235,1.221,1.205,1.0834 }, - {32.14,24.11,16.30,11.40,9.015,5.782,3.868,2.917, - 2.490,1.925,1.596,1.447,1.391,1.342,1.332,1.327, - 1.320,1.294,1.264,1.240,1.226,1.214,1.0937 }, - {29.51,24.07,17.19,12.28,9.766,6.238,4.112,3.066, - 2.602,1.995,1.641,1.477,1.414,1.356,1.342,1.336, - 1.328,1.302,1.270,1.245,1.231,1.233,1.1140 }, - {38.19,30.85,21.76,15.35,12.07,7.521,4.812,3.498, - 2.926,2.188,1.763,1.563,1.484,1.405,1.382,1.371, - 1.361,1.330,1.294,1.267,1.251,1.239,1.1410 }, - {49.71,39.80,27.96,19.63,15.36,9.407,5.863,4.155, - 3.417,2.478,1.944,1.692,1.589,1.480,1.441,1.423, - 1.409,1.372,1.330,1.298,1.280,1.258,1.1750 }, - {59.25,45.08,30.36,20.83,16.15,9.834,6.166,4.407, - 3.641,2.648,2.064,1.779,1.661,1.531,1.482,1.459, - 1.442,1.400,1.354,1.319,1.299,1.272,1.1922 }, - {56.38,44.29,30.50,21.18,16.51,10.11,6.354,4.542, - 3.752,2.724,2.116,1.817,1.692,1.554,1.499,1.474, - 1.456,1.412,1.364,1.328,1.307,1.282,1.2026 }}; - - G4double sigma; - if (part != particle ) { - particle = part; - mass = particle->GetPDGMass(); - charge = particle->GetPDGCharge()/eplus; - } - - G4double Z23 = 2.*log(AtomicNumber)/3.; Z23 = exp(Z23); - - // correction if particle .ne. e-/e+ - // compute equivalent kinetic energy - // lambda depends on p*beta .... - - G4double eKineticEnergy = KineticEnergy; - - if((particle->GetParticleName() != "e-") && - (particle->GetParticleName() != "e+") ) - { - G4double TAU = KineticEnergy/mass ; - G4double c = mass*TAU*(TAU+2.)/(electron_mass_c2*(TAU+1.)) ; - G4double w = c-2. ; - G4double tau = 0.5*(w+sqrt(w*w+4.*c)) ; - eKineticEnergy = electron_mass_c2*tau ; - } - - G4double ChargeSquare = charge*charge; - - G4double eTotalEnergy = eKineticEnergy + electron_mass_c2 ; - G4double beta2 = eKineticEnergy*(eTotalEnergy+electron_mass_c2) - /(eTotalEnergy*eTotalEnergy); - G4double bg2 = eKineticEnergy*(eTotalEnergy+electron_mass_c2) - /(electron_mass_c2*electron_mass_c2); - - G4double eps = epsfactor*bg2/Z23; - - if (eps epsmax) w1=log(2.*eps)+1./eps-3./(8.*eps*eps); - else w1=log((a+1.)/(a-1.))-2./(a+1.); - w = 1./((1.-x0)*eps); - if (w < epsmin) w2=-log(w)-1.+2.*w-1.5*w*w; - else w2 = log((a-x0)/(a-1.))-(1.-x0)/(a-x0); - corrnuclsize = w1/w2; - corrnuclsize = exp(-FactPar*mass/KineticEnergy)* - (corrnuclsize-1.)+1.; - } - - // interpolate in AtomicNumber and beta2 - // get bin number in Z - G4int iZ = 14; - while ((iZ>=0)&&(Zdat[iZ]>=AtomicNumber)) iZ -= 1; - if (iZ==14) iZ = 13; - if (iZ==-1) iZ = 0 ; - - G4double Z1 = Zdat[iZ]; - G4double Z2 = Zdat[iZ+1]; - G4double ratZ = (AtomicNumber-Z1)/(Z2-Z1); - - // get bin number in T (beta2) - G4int iT = 22; - while ((iT>=0)&&(Tdat[iT]>=eKineticEnergy)) iT -= 1; - if(iT==22) iT = 21; - if(iT==-1) iT = 0 ; - - // calculate betasquare values - G4double T = Tdat[iT], E = T + electron_mass_c2; - G4double b2small = T*(E+electron_mass_c2)/(E*E); - T = Tdat[iT+1]; E = T + electron_mass_c2; - G4double b2big = T*(E+electron_mass_c2)/(E*E); - G4double ratb2 = (beta2-b2small)/(b2big-b2small); - G4double c1,c2,cc1,cc2,corr; - if (charge < 0.) - { - c1 = celectron[iZ][iT]; - c2 = celectron[iZ+1][iT]; - cc1 = c1+ratZ*(c2-c1); - - c1 = celectron[iZ][iT+1]; - c2 = celectron[iZ+1][iT+1]; - cc2 = c1+ratZ*(c2-c1); - - corr = cc1+ratb2*(cc2-cc1); - sigma /= corr; - } - - if (charge > 0.) - { - c1 = cpositron[iZ][iT]; - c2 = cpositron[iZ+1][iT]; - cc1 = c1+ratZ*(c2-c1); - - c1 = cpositron[iZ][iT+1]; - c2 = cpositron[iZ+1][iT+1]; - cc2 = c1+ratZ*(c2-c1); - - corr = cc1+ratb2*(cc2-cc1); - sigma /= corr; - } - - sigma *= sigmafactor; - - // nucl. size correction for particles other than e+/e- only at present !!!! - if((particle->GetParticleName() != "e-") && - (particle->GetParticleName() != "e+") ) - sigma /= corrnuclsize; - // G4cout << "e= " << KineticEnergy << " sigma= " << sigma << G4endl; - - return sigma; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4MscModel71::GeomPathLength( - G4PhysicsTable* theLambdaTable, - const G4MaterialCutsCouple* couple, - const G4ParticleDefinition* theParticle, - G4double& T0, - G4double lambda, - G4double range, - G4double truePathLength) -{ - // do the true -> geom transformation - const G4double ztmax = 101./103. ; - if (theParticle != particle ) { - particle = theParticle; - mass = particle->GetPDGMass(); - charge = particle->GetPDGCharge()/eplus; - } - currentKinEnergy = T0; - currentRange = range ; - currentRadLength = couple->GetMaterial()->GetRadlen(); - - lambda0 = lambda; - par1 = -1. ; - par2 = par3 = 0. ; - tPathLength = truePathLength; - - // this correction needed to run MSC with eIoni and eBrem inactivated - // and makes no harm for a normal run - if(tPathLength > range) - tPathLength = range ; - - G4double tau = tPathLength/lambda0 ; - - if (tau <= tausmall) return tPathLength; - - G4double zmean = tPathLength; - if (tPathLength < range*dtrl) { - zmean = lambda0*(1.-exp(-tau)); - if(tau < taulim) zmean = tPathLength*(1.-0.5*tPathLength/lambda0) ; - } else if(T0 < mass) { - par1 = 1./range ; - par2 = 1./(par1*lambda0) ; - par3 = 1.+par2 ; - zmean = (1.-exp(par3*log(1.-tPathLength/range)))/(par1*par3) ; - } else { - G4LossTableManager* theManager = G4LossTableManager::Instance(); - G4double T1 = theManager->GetEnergy(particle,range-tPathLength,couple); - G4double lambda1 ; - if (theLambdaTable) { - G4bool bb; - lambda1 = ((*theLambdaTable)[couple->GetIndex()])->GetValue(T1,bb); - } else { - lambda1 = CrossSection(couple,particle,T1,0.0,1.0); - } - lambda1 = 1.0/lambda1; - par1 = (lambda0-lambda1)/(lambda0*tPathLength) ; - par2 = 1./(par1*lambda0) ; - par3 = 1.+par2 ; - zmean = (1.-exp(par3*log(lambda1/lambda0)))/(par1*par3) ; - } - - // sample z - G4double zPathLength = zmean ; - G4double zt = zmean/tPathLength ; - if (tPathLength >= stepmin && samplez && zt > 0.5 && zt < ztmax) - { - G4double cz = 0.5*(3.*zt-1.)/(1.-zt) ; - G4double cz1 = 1.+cz ; - G4double u0 = cz/cz1 ; - G4double u,grej ; - do { - u = exp(log(G4UniformRand())/cz1) ; - grej = exp(cz*log(u/u0))*(1.-u)/(1.-u0) ; - } while (grej < G4UniformRand()) ; - zPathLength = tPathLength*u ; - } - - return zPathLength ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4MscModel71::TrueStepLength(G4double geomStepLength) -{ - G4double trueLength = geomStepLength; - trueLength = geomStepLength; - if(geomStepLength > lambda0*tausmall) - { - if(par1 < 0.) - trueLength = -lambda0*log(1.-geomStepLength/lambda0) ; - else - { - if(par1*par3*geomStepLength < 1.) - trueLength = (1.-exp(log(1.-par1*par3*geomStepLength)/par3))/par1 ; - else - trueLength = currentRange ; - } - } - - if(trueLength > tPathLength) trueLength = tPathLength; - if(trueLength > currentRange) trueLength = currentRange ; - if(trueLength < geomStepLength) trueLength = geomStepLength; - - return trueLength; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4MscModel71::SampleSecondaries(std::vector*, - const G4MaterialCutsCouple*, - const G4DynamicParticle* dynParticle, - G4double truestep, - G4double safety) -{ - G4double kineticEnergy = dynParticle->GetKineticEnergy(); - if(kineticEnergy <= 0.0) return; - - G4double cth = SampleCosineTheta(truestep,kineticEnergy); - G4double sth = sqrt((1.0 - cth)*(1.0 + cth)); - G4double phi = twopi*G4UniformRand(); - G4double dirx = sth*cos(phi); - G4double diry = sth*sin(phi); - - G4ThreeVector oldDirection = dynParticle->GetMomentumDirection(); - G4ThreeVector newDirection(dirx,diry,cth); - newDirection.rotateUz(oldDirection); - fParticleChange->ProposeMomentumDirection(newDirection); - - /* - const G4ParticleDefinition* pd = dynParticle->GetDefinition(); - G4cout << "G4MscModel71: Sample secondary; E(MeV)= " << kineticEnergy/MeV - << " MeV; step(mm)= " << truestep/mm - << ", safety(mm)= " << safety/mm << " " << pd->GetParticleName() - << G4endl; - */ - - if (latDisplasment && safety > 0.0) { - - G4double r = SampleDisplacement(); - if (r > safety) r = safety; - - // sample direction of lateral displacement - G4double phi = twopi*G4UniformRand(); - G4double dirx = std::cos(phi); - G4double diry = std::sin(phi); - - G4ThreeVector newPosition(dirx,diry,0.0); - newPosition.rotateUz(oldDirection); - - // compute new endpoint of the Step - newPosition *= r; - newPosition += *(fParticleChange->GetProposedPosition()); - - navigator->LocateGlobalPointWithinVolume(newPosition); - - fParticleChange->ProposePosition(newPosition); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4MscModel71::SampleCosineTheta(G4double trueStepLength, G4double KineticEnergy) -{ - G4double cth = 1. ; - G4double tau = trueStepLength/lambda0 ; - - if(trueStepLength >= currentRange*dtrl) { - if(par1*trueStepLength < 1.) - tau = -par2*log(1.-par1*trueStepLength) ; - else - tau = taubig ; - } - currentTau = tau ; - - if(trueStepLength < stepmin) - cth = exp(-tau) ; - else - { - if (tau >= taubig) cth = -1.+2.*G4UniformRand(); - else if (tau >= tausmall) - { - G4double a ; - - // for all particles take the width of the central part - // from a parametrization similar to the Highland formula - // ( Highland formula: Particle Physics Booklet, July 2002, eq. 26.10) - // here : theta0 = 13.6*MeV*Q*(t/X0)**0.555/(beta*cp) - const G4double c_highland = 13.6*MeV, corr_highland=0.555 ; - G4double Q = std::abs(charge) ; - G4double xx0 = trueStepLength/currentRadLength; - G4double betacp = sqrt(currentKinEnergy*(currentKinEnergy+2.*mass)* - KineticEnergy*(KineticEnergy+2.*mass)/ - ((currentKinEnergy+mass)*(KineticEnergy+mass))) ; - G4double theta0 = c_highland*Q*exp(corr_highland*log(xx0))/betacp ; - - if(theta0 > taulim) a = 0.5/(1.-cos(theta0)) ; - else a = 1.0/(theta0*theta0) ; - - G4double xmeanth = exp(-tau); - G4double xmeanth1 = 1.-xmeanth ; - if(currentTau < taulim) xmeanth1 = tau ; - - const G4double x1fac1 = exp(-xsi) ; - const G4double x1fac2 = (1.-(1.+xsi)*x1fac1)/(1.-x1fac1) ; - const G4double x1fac3 = 1.3 ; - - G4double ea,eaa,xmean1 ; - G4double c = 2.,b1 = 2., bx = 2., - eb1 = b1, ebx = b1, xmean2 = 0. ; - G4double prob = 1., qprob ; - G4double x0 = 1.-xsi/a; - G4double oneminusx0=xsi/a ; - G4double oneplusx0=2.+xsi/a ; - - G4double f1x0=1., f2x0=1. ; - const G4double tau0 = 0.10 ; - if(tau > tau0) - { - // 1 model function - a = 1./xmeanth1 ; - ea = exp(-2.*a) ; - eaa= 1.-ea ; - xmean1 = 1.-1./a+2.*ea/eaa ; - prob = 1. ; - qprob = 1. ; - } - else if (x0 <= -1.) - { - // 2 model fuctions only - // in order to have xmean1 > xmeanth -> qprob < 1 - x0 = -1.; - - if( a < 1./xmeanth1) - a = 1./xmeanth1 ; - - oneminusx0 = 1.-x0 ; - oneplusx0 = 1.+x0 ; - ea = exp(-a*oneminusx0); - eaa = 1.-ea ; - xmean1 = 1.-1./a+oneminusx0*ea/eaa ; - qprob = xmeanth/xmean1 ; - - } - else - { - // 3 model fuctions - // in order to have xmean1 > xmeanth - if((1.-x1fac2/a) < xmeanth) - { - a = x1fac3*x1fac2/xmeanth1 ; - x0 = 1.-xsi/a ; - oneminusx0=xsi/a ; - oneplusx0=2.-xsi/a ; - } - - ea = x1fac1 ; - eaa = 1.-ea ; - xmean1 = 1.-x1fac2/a ; - - const G4double fctail = factail*1.0 ; - c = 2.+fctail*tau ; - G4double c1 = c-1. ; - G4double c2 = c-2. ; - if(c2 == 0.) c2 = fctail*tausmall ; - - b = 1.+(c-xsi)/a ; - - b1 = b+1. ; - bx = c/a ; - eb1=exp((c1)*log(b1)) ; - ebx=exp((c1)*log(bx)) ; - xmean2 = (x0*eb1+ebx-(eb1*bx-b1*ebx)/c2)/(eb1-ebx) ; - - f1x0 = a*ea/eaa ; - f2x0 = c1*eb1*ebx/(eb1-ebx)/ - exp(c*log(bx)) ; - // from continuity at x=x0 - prob = f2x0/(f1x0+f2x0) ; - // from xmean = xmeanth - qprob = (f1x0+f2x0)*xmeanth/(f2x0*xmean1+f1x0*xmean2) ; - - } - - // sampling of costheta - if (G4UniformRand() < qprob) - { - if (G4UniformRand() < prob) - cth = 1.+log(ea+G4UniformRand()*eaa)/a ; - else - cth = b-b1*bx/exp(log(ebx-G4UniformRand()*(ebx-eb1))/(c-1.)) ; - } - else - { - cth = -1.+2.*G4UniformRand(); - } - } - } - - return cth ; -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4MscModel71::SampleDisplacement() -{ - const G4double kappa = 2.5; - const G4double kappapl1 = kappa+1.; - const G4double kappami1 = kappa-1.; - G4double rmean = 0.0; - if (currentTau >= tausmall) { - if (currentTau < taulim) { - rmean = kappa*currentTau*currentTau*currentTau*(1.-kappapl1*currentTau*0.25)/6. ; - - } else { - G4double etau = 0.0; - if (currentTau0.) rmean = 2.*lambda0*sqrt(rmean/3.0); - else rmean = 0.; - } - return rmean; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - - - diff --git a/source/processes/electromagnetic/standard/src/G4MultipleScattering.cc b/source/processes/electromagnetic/standard/src/G4MultipleScattering.cc deleted file mode 100644 index 426524d579..0000000000 --- a/source/processes/electromagnetic/standard/src/G4MultipleScattering.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: G4MultipleScattering.cc,v 1.77 2009/11/01 13:05:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -// ----------------------------------------------------------------------------- -// -// GEANT4 Class file -// -// File name: G4MultipleScattering -// -// Author: Laszlo Urban -// -// Creation date: March 2001 -// -// 16/05/01 value of cparm changed , L.Urban -// 18/05/01 V.Ivanchenko Clean up against Linux ANSI compilation -// 07/08/01 new methods Store/Retrieve PhysicsTable (mma) -// 23-08-01 new angle and z distribution,energy dependence reduced, -// Store,Retrieve methods commented out temporarily, L.Urban -// 27-08-01 in BuildPhysicsTable:aParticleType.GetParticleName()=="mu+" (mma) -// 28-08-01 GetContinuousStepLimit and AlongStepDoIt moved from .icc file (mma) -// 03-09-01 value of data member factlim changed, L.Urban -// 10-09-01 small change in GetContinuousStepLimit, L.Urban -// 11-09-01 G4MultipleScatteringx put as default G4MultipleScattering -// store/retrieve physics table reactivated (mma) -// 13-09-01 corr. in ComputeTransportCrossSection, L.Urban -// 14-09-01 protection in GetContinuousStepLimit, L.Urban -// 17-09-01 migration of Materials to pure STL (mma) -// 27-09-01 value of data member factlim changed, L.Urban -// 31-10-01 big fixed in PostStepDoIt,L.Urban -// 17-04-02 NEW angle distribution + boundary algorithm modified, L.Urban -// 22-04-02 boundary algorithm modified -> important improvement in timing -// 24-04-02 some minor changes in boundary algorithm, L.Urban -// 06-05-02 bug fixed in GetContinuousStepLimit, L.Urban -// 24-05-02 changes in angle distribution and boundary algorithm, L.Urban -// 11-06-02 bug fixed in ComputeTransportCrossSection, L.Urban -// 12-08-02 bug fixed in PostStepDoIt (lateral displacement), L.Urban -// 15-08-02 new angle distribution, L.Urban -// 26-09-02 angle distribution + boundary algorithm modified, L.Urban -// 15-10-02 temporary fix for proton scattering -// 30-10-02 modified angle distribution,mods in boundary algorithm, -// changes in data members, L.Urban -// 11-12-02 precision problem in ComputeTransportCrossSection -// for small Tkin/for heavy particles cured from L.Urban -// 20-01-03 Migrade to cut per region (V.Ivanchenko) -// 05-02-03 changes in data members, new sampling for geom. -// path length, step dependence reduced with new -// method -// 28-03-03 Move to model design (V.Ivanchenko) -// 08-08-03 STD substitute standard (V.Ivanchenko) -// 23-04-04 value of data member dtrl changed from 0.15 to 0.05 (L.Urban) -// 17-08-04 name of facxsi changed to factail (L.Urban) -// 08-11-04 Migration to new interface of Store/Retrieve tables (V.Ivantchenko) -// 07-02-05 correction in order to have a working Setsamplez function (L.Urban) -// 15-04-05 optimize internal interface (V.Ivanchenko) -// 12-09-05 new TruePathLengthLimit - facrange works for every track from -// start, geometry also influences the limit -// 02-10-05 conditions limiting the step are finalized + code cleaning (L.Urban) -// 03-10-05 weaker step limitation for Tkin > Tlimit (L.Urban) -// 05-10-05 value of data member tlimitmin has been changed (L.Urban) -// 06-10-05 correction in TruePathLengthLimit, timing improved.(L.Urban) -// 07-10-05 bug fixed in TruePathLengthLimit (L.Urban) -// 11-10-05 change in TruePathLengthLimit conditions,slightly better -// timing and much weaker cut dependence (L.Urban) -// 13-10-05 move SetFacrange(0.02) from InitialiseProcess to constructor -// 23-10-05 new Boolean data member prec (false ~ 7.1 like, true new step -// limit in TruePathLengthLimit, L.Urban) -// 25-10-05 prec renamed to steppingAlgorithm, set function triggers -// 'default' facrange too, true - 0.02, false - 0.2 (L.Urban) -// 26-10-05 the above is put in the function MscStepLimitation() (mma) -// 05-11-05 tlimitmin = facrange*rungecut (instead of a fixed value)L.Urban -// 13-11-05 some code cleaning, slightly better timing (L.Urban) -// 01-12-05 add control on verbosity in SetMscStepLimitation -// 06-12-05 tlimitmin = facrange*rangecut(e-) for every particle -// 07-12-05 volume name World removed, rangecut computed using index -// instead of particle name L.Urban -// 08-12-05 world is now: navigator->GetWorldVolume() L.Urban -// 11-12-05 data member rangecut removed, steplimit does not depend -// on cut any more (L.Urban) -// 17-01-06 value of data member factail changed (1. --> 0.75), -// value of facgeom is 3.5 instead of 4 (L.Urban) -// 19-01-07 tlimitmin = facrange*50*micrometer, i.e. it depends on the -// value of facrange (L.Urban) -// 16-02-06 value of factail changed, samplez = true (L.Urban) -// 07-03-06 Create G4UrbanMscModel and move there step limit calculation (VI) -// 10-05-06 SetMscStepLimitation at initialisation (V.Ivantchenko) -// 11-05-06 values of data members tkinlimit, factail have been -// changed (L.Urban) -// 13-10-06 data member factail removed, new data member skin -// together with set function, data member tkinlimit -// changed to lambdalimit (L.Urban) -// 20-10-06 default value of skin = 0 (no single scattering), -// single scattering for skin > 0, -// there is no z sampling by default (L.Urban) -// 23-10-06 skin = 1 by default (L.Urban) -// 23-11-06 skin = 1 by default for e+-, 0 for other particles (VI) -// 12-02-07 skin can be changed via UI command, default skin=1 (VI) -// 24-04-07 default skin=0 (temporal protection) (VI) -// 11-03-08 use G4VMscModel interface (VI) -// -// ----------------------------------------------------------------------------- -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4MultipleScattering.hh" -#include "G4UrbanMscModel92.hh" -#include "G4MscStepLimitType.hh" -#include "G4UrbanMscModel.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4MultipleScattering::G4MultipleScattering(const G4String& processName) - : G4VMultipleScattering(processName) -{ - isInitialized = false; - G4cout << G4endl; - G4cout << "!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!!" << G4endl; - G4cout << "!!! Please use G4eMultipleScattering for e+ and e- !!!" << G4endl; - G4cout << "!!! Please use G4MuMultipleScattering for mu+ and mu- !!!" << G4endl; - G4cout << "!!! Please use G4hMultipleScattering for hadrons and ions !!!" << G4endl; - G4cout << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4MultipleScattering::~G4MultipleScattering() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4MultipleScattering::IsApplicable (const G4ParticleDefinition& p) -{ - return (p.GetPDGCharge() != 0.0 && !p.IsShortLived()); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MultipleScattering::InitialiseProcess(const G4ParticleDefinition*) -{ - if(isInitialized) return; - - // initialisation of parameters - defaults for particles other - // than ions can be overwritten by users - mscUrban = new G4UrbanMscModel92(); - AddEmModel(1,mscUrban); - isInitialized = true; - /* - G4cout << "G4MultipleScattering::InitialiseProcess for " - << p->GetParticleName() - << " skin= " << Skin() - << " SA= " << steppingAlgorithm - << G4endl; - */ -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MultipleScattering::PrintInfo() -{ - G4cout << " RangeFactor= " << RangeFactor() - << ", step limit type: " << StepLimitType() - << ", lateralDisplacement: " << LateralDisplasmentFlag() - << ", skin= " << Skin() - << ", geomFactor= " << GeomFactor() - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/source/processes/electromagnetic/standard/src/G4MultipleScattering71.cc b/source/processes/electromagnetic/standard/src/G4MultipleScattering71.cc deleted file mode 100644 index eb388a0f9f..0000000000 --- a/source/processes/electromagnetic/standard/src/G4MultipleScattering71.cc +++ /dev/null @@ -1,221 +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: G4MultipleScattering71.cc,v 1.5 2008/07/16 11:27:41 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ----------------------------------------------------------------------------- -// 16/05/01 value of cparm changed , L.Urban -// 18/05/01 V.Ivanchenko Clean up against Linux ANSI compilation -// 07/08/01 new methods Store/Retrieve PhysicsTable (mma) -// 23-08-01 new angle and z distribution,energy dependence reduced, -// Store,Retrieve methods commented out temporarily, L.Urban -// 27-08-01 in BuildPhysicsTable:aParticleType.GetParticleName()=="mu+" (mma) -// 28-08-01 GetContinuousStepLimit and AlongStepDoIt moved from .icc file (mma) -// 03-09-01 value of data member factlim changed, L.Urban -// 10-09-01 small change in GetContinuousStepLimit, L.Urban -// 11-09-01 G4MultipleScatteringx put as default G4MultipleScattering -// store/retrieve physics table reactivated (mma) -// 13-09-01 corr. in ComputeTransportCrossSection, L.Urban -// 14-09-01 protection in GetContinuousStepLimit, L.Urban -// 17-09-01 migration of Materials to pure STL (mma) -// 27-09-01 value of data member factlim changed, L.Urban -// 31-10-01 big fixed in PostStepDoIt,L.Urban -// 17-04-02 NEW angle distribution + boundary algorithm modified, L.Urban -// 22-04-02 boundary algorithm modified -> important improvement in timing (L.Urban) -// 24-04-02 some minor changes in boundary algorithm, L.Urban -// 06-05-02 bug fixed in GetContinuousStepLimit, L.Urban -// 24-05-02 changes in angle distribution and boundary algorithm, L.Urban -// 11-06-02 bug fixed in ComputeTransportCrossSection, L.Urban -// 12-08-02 bug fixed in PostStepDoIt (lateral displacement), L.Urban -// 15-08-02 new angle distribution, L.Urban -// 26-09-02 angle distribution + boundary algorithm modified, L.Urban -// 15-10-02 temporary fix for proton scattering -// 30-10-02 modified angle distribution,mods in boundary algorithm, -// changes in data members, L.Urban -// 11-12-02 precision problem in ComputeTransportCrossSection -// for small Tkin/for heavy particles cured from L.Urban -// 20-01-03 Migrade to cut per region (V.Ivanchenko) -// 05-02-03 changes in data members, new sampling for geom. -// path length, step dependence reduced with new -// method -// 28-03-03 Move to model design (V.Ivanchenko) -// 08-08-03 STD substitute standard (V.Ivanchenko) -// 23-04-04 value of data member dtrl changed from 0.15 to 0.05 (L.Urban) -// 17-08-04 name of facxsi changed to factail (L.Urban) -// 08-11-04 Migration to new interface of Store/Retrieve tables (V.Ivantchenko) -// 07-02-05 correction in order to have a working Setsamplez function (L.Urban) -// 15-04-05 optimize internal interface (V.Ivanchenko) -// 03-10-05 Process is freezed with the name 71 (V.Ivanchenko) -// ----------------------------------------------------------------------------- -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4MultipleScattering71.hh" -#include "G4LossTableManager.hh" -#include "G4MscModel71.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4MultipleScattering71::G4MultipleScattering71(const G4String& processName) - : G4VMultipleScattering(processName), - totBins(120), - facrange(0.199), - dtrl(0.05), - NuclCorrPar (0.0615), - FactPar(0.40), - factail(1.0), - cf(1.001), - stepnolastmsc(-1000000), - nsmallstep(5), - samplez(true), - boundary(true), - isInitialized(false) -{ - lowKineticEnergy = 0.1*keV; - highKineticEnergy= 100.*TeV; - - tlimit = 1.e10*mm; - tlimitmin = 1.e-7*mm; - - SetBinning(totBins); - SetMinKinEnergy(lowKineticEnergy); - SetMaxKinEnergy(highKineticEnergy); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4MultipleScattering71::~G4MultipleScattering71() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MultipleScattering71::InitialiseProcess(const G4ParticleDefinition* particle) -{ - if(isInitialized) return; - - if (particle->GetParticleType() == "nucleus") { - boundary = false; - SetLateralDisplasmentFlag(false); - SetBuildLambdaTable(false); - Setsamplez(false) ; - } else { - SetLateralDisplasmentFlag(true); - SetBuildLambdaTable(true); - } - G4MscModel71* em = new G4MscModel71(dtrl,NuclCorrPar,FactPar,factail,samplez); - em->SetLateralDisplasmentFlag(LateralDisplasmentFlag()); - em->SetLowEnergyLimit(lowKineticEnergy); - em->SetHighEnergyLimit(highKineticEnergy); - AddEmModel(1, em); - isInitialized = true; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MultipleScattering71::TruePathLengthLimit(const G4Track& track, - G4double& lambda, - G4double currentMinimalStep) -{ - - G4double tPathLength = currentMinimalStep; - - // special treatment near boundaries ? - if (boundary) { - - G4int stepno = track.GetCurrentStepNumber() ; - // first step - if (stepno == 1) { - stepnolastmsc = -1000000 ; - tlimit = 1.e10; - } else if (stepno > 1) { - - if (track.GetStep()->GetPreStepPoint()->GetStepStatus() == fGeomBoundary) { - - stepnolastmsc = stepno; - // if : diff.treatment for small/not small Z - if (range > lambda) tlimit = facrange*range; - else tlimit = facrange*lambda; - - if(tlimit < tlimitmin) tlimit = tlimitmin; - if(tPathLength > tlimit) tPathLength = tlimit; - - } else if (stepno > stepnolastmsc && stepno - stepnolastmsc < nsmallstep - && tPathLength > tlimit) { - tlimit *= cf; - tPathLength = tlimit; - } - } - } - - return tPathLength; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4MultipleScattering71::GetContinuousStepLimit( - const G4Track& track, - G4double, - G4double currentMinimalStep, - G4double&) -{ - DefineMaterial(track.GetMaterialCutsCouple()); - const G4MaterialCutsCouple* couple = CurrentMaterialCutsCouple(); - G4double e = track.GetKineticEnergy(); - model = dynamic_cast(SelectModel(e)); - const G4ParticleDefinition* p = track.GetDefinition(); - G4double lambda0 = GetLambda(p, e); - range = G4LossTableManager::Instance()->GetRangeFromRestricteDEDX(p,e,couple); - if(range < currentMinimalStep) currentMinimalStep = range; - truePathLength = TruePathLengthLimit(track,lambda0,currentMinimalStep); - // G4cout << "StepLimit: tpl= " << truePathLength << " lambda0= " - // << lambda0 << " range= " << currentRange - // << " currentMinStep= " << currentMinimalStep << G4endl; - if (truePathLength < currentMinimalStep) valueGPILSelectionMSC = CandidateForSelection; - geomPathLength = model->GeomPathLength(LambdaTable(),couple, - p,e,lambda0,range,truePathLength); - if(geomPathLength > lambda0) geomPathLength = lambda0; - return geomPathLength; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MultipleScattering71::PrintInfo() -{ - if(boundary) { - G4cout << " Boundary algorithm is active with facrange= " - << facrange - << G4endl; - } - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/source/processes/electromagnetic/standard/src/G4PAIModel.cc b/source/processes/electromagnetic/standard/src/G4PAIModel.cc index 50d6a34aeb..6e7dd27755 100644 --- a/source/processes/electromagnetic/standard/src/G4PAIModel.cc +++ b/source/processes/electromagnetic/standard/src/G4PAIModel.cc @@ -23,15 +23,15 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PAIModel.cc,v 1.51 2009/08/12 21:28:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PAIModel.cc,v 1.55 2010/11/21 10:55:44 grichine Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // // GEANT4 Class // File name: G4PAIModel.cc // -// Author: Vladimir.Grichine@cern.ch on base of Vladimir Ivanchenko code +// Author: Vladimir.Grichine@cern.ch on base of Vladimir Ivanchenko model interface // // Creation date: 05.10.2003 // @@ -41,6 +41,7 @@ // 16.08.04 V.Grichine, bug fixed in massRatio for DEDX, CrossSection, SampleSecondary // 08.04.05 Major optimisation of internal interfaces (V.Ivantchenko) // 26.07.09 Fixed logic to work with several materials (V.Ivantchenko) +// 21.11.10 V. Grichine verbose flag for protons and G4PAYySection to check sandia table // #include "G4Region.hh" @@ -80,9 +81,7 @@ G4PAIModel::G4PAIModel(const G4ParticleDefinition* p, const G4String& nam) fTwoln10(2.0*log(10.0)), fBg2lim(0.0169), fTaulim(8.4146e-3) -{ - if(p) SetParticle(p); - +{ fElectron = G4Electron::Electron(); fPositron = G4Positron::Positron(); @@ -92,6 +91,13 @@ G4PAIModel::G4PAIModel(const G4ParticleDefinition* p, const G4String& nam) fdEdxVector = 0; fLambdaVector = 0; fdNdxCutVector = 0; + fParticleEnergyVector = 0; + fSandiaIntervalNumber = 0; + fMatIndex = 0; + fDeltaCutInKinEnergy = 0.0; + + if(p) { SetParticle(p); } + else { SetParticle(fElectron); } isInitialised = false; } @@ -131,7 +137,7 @@ G4PAIModel::~G4PAIModel() void G4PAIModel::SetParticle(const G4ParticleDefinition* p) { - if(fParticle == p) return; + if(fParticle == p) { return; } fParticle = p; fMass = fParticle->GetPDGMass(); fSpin = fParticle->GetPDGSpin(); @@ -140,6 +146,8 @@ void G4PAIModel::SetParticle(const G4ParticleDefinition* p) fLowKinEnergy = 0.2*MeV*fMass/proton_mass_c2; fRatio = electron_mass_c2/fMass; fQc = fMass/fRatio; + fLowestKineticEnergy = fMass*(fLowestGamma - 1.0); + fHighestKineticEnergy = fMass*(fHighestGamma - 1.0); } //////////////////////////////////////////////////////////////////////////// @@ -147,12 +155,17 @@ void G4PAIModel::SetParticle(const G4ParticleDefinition* p) void G4PAIModel::Initialise(const G4ParticleDefinition* p, const G4DataVector&) { - if(isInitialised) return; + if( fVerbose > 0 && p->GetParticleName()=="proton") + { + G4cout<<"G4PAIModel::Initialise for "<GetParticleName()<GetName() << "> mat <" // << fMaterial->GetName() << "> fCouple= " // << fCutCouple<<" " << p->GetParticleName() < - GetNumberOfElements(); + G4int numberOfElements = + (*theMaterialTable)[fMatIndex]->GetNumberOfElements(); + G4int* thisMaterialZ = new G4int[numberOfElements] ; for(i=0;iGetDensity() ; } } - // delete[] thisMaterialZ ; + delete[] thisMaterialZ; } //////////////////////////////////////////////////////////////////////////// @@ -305,7 +323,7 @@ void G4PAIModel::BuildPAIonisationTable() } ionloss = fPAIySection.GetMeanEnergyLoss() ; // total - if ( ionloss < DBL_MIN) ionloss = DBL_MIN; + if ( ionloss < DBL_MIN) { ionloss = 0.0; } fdEdxVector->PutValue(i,ionloss) ; fPAItransferTable->insertAt(i,transferVector) ; diff --git a/source/processes/electromagnetic/standard/src/G4PAIPhotonModel.cc b/source/processes/electromagnetic/standard/src/G4PAIPhotonModel.cc index 7a6a0e7638..34c4eaa77c 100644 --- a/source/processes/electromagnetic/standard/src/G4PAIPhotonModel.cc +++ b/source/processes/electromagnetic/standard/src/G4PAIPhotonModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PAIPhotonModel.cc,v 1.23 2009/07/26 15:51:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PAIPhotonModel.cc,v 1.25 2010/10/26 09:16:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -82,15 +82,13 @@ G4PAIPhotonModel::G4PAIPhotonModel(const G4ParticleDefinition* p, const G4String fBg2lim(0.0169), fTaulim(8.4146e-3) { - if(p) SetParticle(p); - fVerbose = 0; fElectron = G4Electron::Electron(); fPositron = G4Positron::Positron(); fProtonEnergyVector = new G4PhysicsLogVector(fLowestKineticEnergy, - fHighestKineticEnergy, - fTotBin); + fHighestKineticEnergy, + fTotBin); fPAItransferTable = 0; fPAIphotonTable = 0; fPAIplasmonTable = 0; @@ -104,6 +102,12 @@ G4PAIPhotonModel::G4PAIPhotonModel(const G4ParticleDefinition* p, const G4String fdNdxCutPhotonVector = 0; fdNdxCutPlasmonVector = 0; + fSandiaIntervalNumber = 0; + fMatIndex = 0; + + if(p) { SetParticle(p); } + else { SetParticle(fElectron); } + isInitialised = false; } @@ -160,7 +164,8 @@ void G4PAIPhotonModel::SetParticle(const G4ParticleDefinition* p) void G4PAIPhotonModel::Initialise(const G4ParticleDefinition* p, const G4DataVector&) { - if(isInitialised) return; + // G4cout<<"G4PAIPhotonModel::Initialise for "<GetParticleName()< @@ -262,7 +267,7 @@ void G4PAIPhotonModel::ComputeSandiaPhotoAbsCof() (*theMaterialTable)[fMatIndex]->GetDensity() ; } } - // delete[] thisMaterialZ ; + delete[] thisMaterialZ ; } //////////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/standard/src/G4PAIySection.cc b/source/processes/electromagnetic/standard/src/G4PAIySection.cc index 802bc18b47..76b39be025 100644 --- a/source/processes/electromagnetic/standard/src/G4PAIySection.cc +++ b/source/processes/electromagnetic/standard/src/G4PAIySection.cc @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4PAIySection.cc,v 1.4 2009/07/26 15:51:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PAIySection.cc,v 1.8 2010/11/23 15:31:10 grichine Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // G4PAIySection.cc -- class implementation file @@ -42,6 +41,8 @@ // 01.10.07, V.Ivanchenko create using V.Grichine G4PAIxSection class // 26.07.09, V.Ivanchenko added protection for mumerical exceptions for // low-density materials +// 21.11.10 V. Grichine bug fixed in Initialise for reading sandia table from +// material. Warning: the table is tuned for photo-effect not PAI model. // #include "G4PAIySection.hh" @@ -57,10 +58,10 @@ using namespace std; // Local class constants -const G4double G4PAIySection::fDelta = 0.005 ; // energy shift from interval border -const G4double G4PAIySection::fError = 0.005 ; // error in lin-log approximation +const G4double G4PAIySection::fDelta = 0.005; // energy shift from interval border +const G4double G4PAIySection::fError = 0.005; // error in lin-log approximation -const G4int G4PAIySection::fMaxSplineSize = 500 ; // Max size of output spline +const G4int G4PAIySection::fMaxSplineSize = 500; // Max size of output spline // arrays ////////////////////////////////////////////////////////////////// @@ -69,7 +70,11 @@ const G4int G4PAIySection::fMaxSplineSize = 500 ; // Max size of output spline // G4PAIySection::G4PAIySection() -{} +{ + fSandia = 0; + fDensity = fElectronDensity = fNormalizationCof = 0.0; + fIntervalNumber = fSplineNumber = 0; +} //////////////////////////////////////////////////////////////////////////// // @@ -86,84 +91,103 @@ void G4PAIySection::Initialize( const G4Material* material, G4double maxEnergyTransfer, G4double betaGammaSq) { - G4int i, j, numberOfElements ; - - fDensity = material->GetDensity(); - fElectronDensity = material->GetElectronDensity() ; - numberOfElements = material->GetNumberOfElements() ; + G4int i, j, numberOfElements; + G4double energy; + // fVerbose = 1; + fDensity = material->GetDensity(); + fElectronDensity = material->GetElectronDensity(); + numberOfElements = material->GetNumberOfElements(); - fSandia = material->GetSandiaTable(); + fSandia = material->GetSandiaTable(); - fIntervalNumber = fSandia->GetMaxInterval(); + fIntervalNumber = fSandia->GetMaxInterval(); - fIntervalNumber--; + fIntervalNumber--; - for(i=1;i<=fIntervalNumber;i++) - { - G4double e = fSandia->GetSandiaMatTablePAI(i,0); - if(e >= maxEnergyTransfer || i > fIntervalNumber) - { - fEnergyInterval[i] = maxEnergyTransfer ; - fIntervalNumber = i ; - break; - } - fEnergyInterval[i] = e; - fA1[i] = fSandia->GetSandiaMatTablePAI(i,1); - fA2[i] = fSandia->GetSandiaMatTablePAI(i,2); - fA3[i] = fSandia->GetSandiaMatTablePAI(i,3); - fA4[i] = fSandia->GetSandiaMatTablePAI(i,4); + for( i = 1; i <= fIntervalNumber; i++ ) + { + energy = fSandia->GetSandiaMatTablePAI(i-1,0); //vmg 20.11.10 - } - if(fEnergyInterval[fIntervalNumber] != maxEnergyTransfer) - { - fIntervalNumber++; - fEnergyInterval[fIntervalNumber] = maxEnergyTransfer ; - fA1[fIntervalNumber] = fA1[fIntervalNumber-1] ; - fA2[fIntervalNumber] = fA2[fIntervalNumber-1] ; - fA3[fIntervalNumber] = fA3[fIntervalNumber-1] ; - fA4[fIntervalNumber] = fA4[fIntervalNumber-1] ; - } + if( energy >= maxEnergyTransfer || i > fIntervalNumber ) + { + fEnergyInterval[i] = maxEnergyTransfer; + fIntervalNumber = i; + break; + } + fEnergyInterval[i] = energy; + fA1[i] = fSandia->GetSandiaMatTablePAI(i-1,1); + fA2[i] = fSandia->GetSandiaMatTablePAI(i-1,2); + fA3[i] = fSandia->GetSandiaMatTablePAI(i-1,3); + fA4[i] = fSandia->GetSandiaMatTablePAI(i-1,4); + + if( fVerbose > 0 && std::fabs( betaGammaSq - 8. ) < 0.4 ) + { + G4cout< 0 && std::fabs( betaGammaSq - 8. ) < 0.4 ) + { + G4cout<<"Sandia cofs in G4PAIySection::Initialize(), mat = "<GetName()<AtomDeexcitation(); + + if (isInitialized) return; + fParticleChange = GetParticleChangeForGamma(); + isInitialized = true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +G4double +G4PEEffectFluoModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double energy, + G4double Z, G4double, + G4double, G4double) +{ + G4double* SandiaCof = G4SandiaTable::GetSandiaCofPerAtom((G4int)Z, energy); + + G4double energy2 = energy*energy; + G4double energy3 = energy*energy2; + G4double energy4 = energy2*energy2; + + return SandiaCof[0]/energy + SandiaCof[1]/energy2 + + SandiaCof[2]/energy3 + SandiaCof[3]/energy4; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double +G4PEEffectFluoModel::CrossSectionPerVolume(const G4Material* material, + const G4ParticleDefinition*, + G4double energy, + G4double, G4double) +{ + G4double* SandiaCof = + material->GetSandiaTable()->GetSandiaCofForMaterial(energy); + + G4double energy2 = energy*energy; + G4double energy3 = energy*energy2; + G4double energy4 = energy2*energy2; + + return SandiaCof[0]/energy + SandiaCof[1]/energy2 + + SandiaCof[2]/energy3 + SandiaCof[3]/energy4; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void +G4PEEffectFluoModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicPhoton, + G4double, + G4double) +{ + const G4Material* aMaterial = couple->GetMaterial(); + + G4double energy = aDynamicPhoton->GetKineticEnergy(); + G4ParticleMomentum PhotonDirection = aDynamicPhoton->GetMomentumDirection(); + + // select randomly one element constituing the material. + const G4Element* anElement = SelectRandomAtom(aMaterial,theGamma,energy); + + // + // Photo electron + // + + // Select atomic shell + G4int nShells = anElement->GetNbOfAtomicShells(); + G4int i = 0; + while ((iGetAtomicShell(i))) { ++i; } + + // no shell available + if (i == nShells) { return; } + + G4double bindingEnergy = anElement->GetAtomicShell(i); + G4double ElecKineEnergy = energy - bindingEnergy; + + // create photo electron + // + if (ElecKineEnergy > fminimalEnergy) { + G4double cosTeta = ElecCosThetaDistribution(ElecKineEnergy); + G4double sinTeta = sqrt(1.-cosTeta*cosTeta); + G4double Phi = twopi * G4UniformRand(); + G4double dirx = sinTeta*cos(Phi),diry = sinTeta*sin(Phi),dirz = cosTeta; + G4ThreeVector ElecDirection(dirx,diry,dirz); + ElecDirection.rotateUz(PhotonDirection); + // + G4DynamicParticle* aParticle = new G4DynamicParticle ( + theElectron,ElecDirection, ElecKineEnergy); + fvect->push_back(aParticle); + } + + // sample deexcitation + // + G4double edep = bindingEnergy; + if(fAtomDeexcitation) { + G4int index = couple->GetIndex(); + if(fAtomDeexcitation->CheckDeexcitationActiveRegion(index)) { + G4int Z = (G4int)anElement->GetZ(); + G4AtomicShellEnumerator as = G4AtomicShellEnumerator(i); + const G4AtomicShell* shell = fAtomDeexcitation->GetAtomicShell(Z, as); + size_t nbefore = fvect->size(); + fAtomDeexcitation->GenerateParticles(fvect, shell, Z, index); + size_t nafter = fvect->size(); + if(nafter > nbefore) { + for (size_t i=nbefore; iGetKineticEnergy(); + } + } + } + } + + // kill primary photon + fParticleChange->SetProposedKineticEnergy(0.); + fParticleChange->ProposeTrackStatus(fStopAndKill); + fParticleChange->ProposeLocalEnergyDeposit(edep); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4PEEffectFluoModel::ElecCosThetaDistribution(G4double kineEnergy) +{ + // Compute Theta distribution of the emitted electron, with respect to the + // incident Gamma. + // The Sauter-Gavrila distribution for the K-shell is used. + // + G4double costeta = 1.; + G4double gamma = 1. + kineEnergy/electron_mass_c2; + if (gamma > 5.) return costeta; + G4double beta = sqrt(gamma*gamma-1.)/gamma; + G4double b = 0.5*gamma*(gamma-1.)*(gamma-2); + + G4double rndm,term,greject,grejsup; + if (gamma < 2.) grejsup = gamma*gamma*(1.+b-beta*b); + else grejsup = gamma*gamma*(1.+b+beta*b); + + do { rndm = 1.-2*G4UniformRand(); + costeta = (rndm+beta)/(rndm*beta+1.); + term = 1.-beta*costeta; + greject = (1.-costeta*costeta)*(1.+b*term)/(term*term); + } while(greject < G4UniformRand()*grejsup); + + return costeta; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4PSTARStopping.cc b/source/processes/electromagnetic/standard/src/G4PSTARStopping.cc index a24deb2ee9..b9b9b3ba11 100644 --- a/source/processes/electromagnetic/standard/src/G4PSTARStopping.cc +++ b/source/processes/electromagnetic/standard/src/G4PSTARStopping.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PSTARStopping.cc,v 1.8 2008/11/24 18:28:09 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSTARStopping.cc,v 1.14 2010/04/26 17:40:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ //--------------------------------------------------------------------------- // @@ -38,7 +38,10 @@ // Customer: ESA/ESTEC, NOORDWIJK // Contract: CSMAN-5288 // -// Modifications: +// Modifications: +// 25.04.2010 V.Ivanchenko introduce G4LPhysicsFreeVector +// 26.04.2010 A.Ivanchenko fixed data for G4_PROPANE and G4_Pt, +// checked all data // //---------------------------------------------------------------------------- // @@ -52,17 +55,21 @@ G4PSTARStopping::G4PSTARStopping() { - currentE = 0.0; currentMaterial = 0; - index = 0; matIndex = -1; + + name.resize(74,""); + sdata.resize(74,0); + Initialise(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4PSTARStopping::~G4PSTARStopping() -{} +{ + for(size_t i=0; i<74; ++i) { delete sdata[i]; } +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -70,7 +77,7 @@ G4int G4PSTARStopping:: GetIndex (const G4Material* mat) { if (mat == currentMaterial) return matIndex; G4String matName = mat->GetName(); - for (G4int i=0; i<74; i++){ + for (G4int i=0; i<74; ++i){ if (matName == name[i]){ matIndex = i; currentMaterial = mat; @@ -84,43 +91,19 @@ G4int G4PSTARStopping:: GetIndex (const G4Material* mat) G4double G4PSTARStopping::GetElectronicDEDX(G4int i, G4double energy) { - if (matIndex == i && energy == currentE) return res; - + G4double res = 0.0; if (i<0 || i>73){ G4cout << "### G4PSTARStopping WARNING: index " << i << " is out of range!" << G4endl; - res = 0.0; return res; } - matIndex = i; - currentE = energy; - - if (energy < kinE[index] || energy > kinE[index+1]){ - - if (energy <= kinE[0]) { - index = 0; - res = e[matIndex][0]*std::sqrt(energy/kinE[0]); - return res; - } else if (energy >= kinE[59]) { - index = 58; - res = e[matIndex][59]; - return res; - } - for (index = 0; index<59; index++){if (energy <= kinE[index+1]) break;} - } - - G4double t1 = kinE[index]; - G4double t2 = kinE[index+1]; - G4double e1 = e[matIndex][index]; - G4double e2 = e[matIndex][index+1]; - res = e1*std::exp(std::log(energy/t1)*std::log(e2/e1)/std::log(t2/t1)); + if(energy < emin) { res = (*(sdata[i]))[0]*std::sqrt(energy/emin); } + else { res = sdata[i]->Value(energy); } return res; } void G4PSTARStopping::Initialise() { - G4int i; - name [0] = "G4_A-150_TISSUE"; G4double T0[60] = { 0.001, 0.0015, 0.002, 0.0025, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, @@ -128,374 +111,383 @@ void G4PSTARStopping::Initialise() 0.035, 0.04, 0.045, 0.05, 0.055, 0.06, 0.065, 0.07, 0.075, 0.08, 0.085, 0.09, 0.095, 0.1, 0.125, 0.15, 0.175, 0.2, 0.225, 0.25, 0.275, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, - 0.75, 0.8, 0.85, 0.9, 0.95, 1., 1.25, 1.5, 1.75, 2. }; + 0.75, 0.8, 0.85, 0.9, 0.95, 1., 1.25, 1.5, 1.75, 2. }; + emin = T0[0]*MeV; + G4double e0[60] = { 176.8, 216.6, 250.1, 279.6, 306.3, 351.1, 390.9, 426.8, 459.8, 489.9, 517.8, 544, 596.4, 641.3, 680.6, 715.7, 747, 775, 800, 822.6, 861.7, 894.2, 920.7, 941.5, 957.3, 968.6, 976.2, 980.5, 982, 981, 978, 973.2, 967, 959.5, 910.4, 853.6, 797.9, 746.9, 701.5, 661.5, 626.4, 595.6, 544.8, 504.4, 471.1, 442.8, 416.4, 392, 369.9, 350, 332.2, 316.4, 302.2, 289.5, 278.1, 267.9, 228.9, 200.8, 179.5, 162.6 }; - for(i=0; i<60; i++) {e[0][i]=e0[i]*MeV*cm2/g;} - for(i=0; i<60; i++) {kinE[i]=T0[i]*MeV;} + AddData(T0, e0, 0); name [1] = "G4_ACETYLENE"; G4double e1[60] = { 185.5, 227.2, 262.3, 293.2, 321.2, 364.8, 404, 439.3, 471.6, 500.3, 526.4, 550.6, 600.2, 641.6, 677.4, 709.2, 737.3, 762, 783.7, 803.1, 837.2, 866.8, 891.7, 911.6, 926.6, 937.4, 944.7, 949, 950.8, 950.3, 947.9, 943.9, 938.4, 931.8, 887.1, 833.7, 779.9, 729.5, 686.8, 650.4, 618.5, 590.2, 541.4, 500.4, 465.3, 434.8, 408, 384.6, 364.4, 346.5, 330.5, 316.1, 303.2, 291.3, 280.4, 270.4, 230.7, 202.2, 180.5, 163.5 }; - for(i=0; i<60; i++) {e[1][i]=e1[i]*MeV*cm2/g;} + AddData(T0, e1, 1); name [2] = "G4_ADIPOSE_TISSUE_ICRP"; G4double e2[60] = { 195.9, 239.9, 277, 309.7, 339.3, 387.5, 430.6, 469.4, 505, 537.2, 566.9, 594.6, 649.9, 696.7, 737.4, 773.3, 805.2, 833.4, 858.3, 880.5, 918.9, 951, 977.2, 997.6, 1013, 1023, 1030, 1034, 1034, 1033, 1029, 1023, 1016, 1008, 955.6, 895, 835.1, 779.6, 729.7, 685.6, 646.6, 612.3, 555, 509.1, 471.6, 440.3, 413.7, 390.4, 370.1, 352.1, 336, 321.4, 308.3, 296.3, 285.3, 275.2, 234.9, 206, 184, 166.7 }; - for(i=0; i<60; i++) {e[2][i]=e2[i]*MeV*cm2/g;} + AddData(T0, e2, 2); name [3] = "G4_Ag"; G4double e3[60] = { 29.73, 36.41, 42.05, 47.01, 51.5, 59.46, 66.48, 72.83, 78.66, 84.09, 89.2, 94.02, 103.7, 112.1, 119.7, 126.6, 132.8, 138.5, 143.7, 148.5, 157.1, 164.3, 170.5, 175.7, 180.1, 183.7, 186.7, 189.1, 191.1, 192.5, 193.6, 194.4, 194.8, 195, 193.4, 189.3, 184.4, 179.2, 174.1, 169.3, 164.8, 160.5, 152.7, 145.7, 139.5, 133.8, 128.6, 123.9, 119.5, 115.4, 111.7, 108.1, 104.8, 101.7, 98.74, 95.98, 84.49, 75.92, 69.3, 64.05 }; - for(i=0; i<60; i++) {e[3][i]=e3[i]*MeV*cm2/g;} + AddData(T0, e3, 3); name [4] = "G4_AIR"; G4double e4[60] = { 119.7, 146.7, 169.3, 189.3, 207.4, 239.5, 267.8, 293.3, 316.8, 338.7, 359.2, 378.7, 417, 450.4, 480.1, 506.7, 530.7, 552.6, 572.4, 590.5, 622.1, 648.3, 670, 687.7, 702, 713.2, 721.7, 727.8, 731.9, 734.1, 734.8, 734, 732, 729, 702.9, 667.2, 629.1, 592.2, 558.3, 527.8, 500.6, 476.3, 434.9, 401.2, 373.3, 349.8, 329.7, 312.1, 296.4, 282.4, 269.9, 258.7, 248.5, 239.1, 230.6, 222.7, 191.1, 168.2, 150.8, 137 }; - for(i=0; i<60; i++) {e[4][i]=e4[i]*MeV*cm2/g;} + AddData(T0, e4, 4); name [5] = "G4_Al"; G4double e5[60] = { 92.38, 113.1, 130.6, 146.1, 160, 184.8, 206.6, 226.3, 244.4, 261.3, 277.1, 292.1, 320.6, 344.8, 365.7, 383.8, 399.6, 413.2, 425, 435.1, 451, 462, 469.2, 473.4, 475.2, 475.1, 473.7, 471.2, 468, 464.2, 460.1, 455.8, 451.3, 446.8, 424.5, 404.5, 386.7, 371, 356.8, 344, 332.3, 321.5, 301.7, 284.2, 268.6, 254.8, 242.5, 231.4, 221.5, 212.4, 204.2, 196.6, 189.7, 183.3, 177.4, 171.9, 149.4, 132.7, 119.8, 109.4 }; - for(i=0; i<60; i++) {e[5][i]=e5[i]*MeV*cm2/g;} + AddData(T0, e5, 5); name [6] = "G4_ALUMINUM_OXIDE"; G4double e6[60] = { 73.51, 90.03, 104, 116.2, 127.3, 147, 164.4, 180.1, 194.5, 207.9, 220.5, 232.5, 256.1, 276.8, 295.3, 311.9, 327, 340.8, 353.4, 364.9, 385.3, 402.5, 417, 429.2, 439.3, 447.6, 454.3, 459.6, 463.7, 466.6, 468.6, 469.8, 470.2, 470, 461.9, 447.2, 430.1, 412.7, 396.5, 381.4, 367.5, 354.5, 331.1, 310.6, 292.6, 276.5, 262.2, 249.4, 238.1, 227.9, 218.7, 210.2, 202.6, 195.7, 189.2, 183.2, 158.9, 140.9, 127, 116 }; - for(i=0; i<60; i++) {e[6][i]=e6[i]*MeV*cm2/g;} + AddData(T0, e6, 6); name [7] = "G4_Ar"; G4double e7[60] = { 86.08, 105.4, 121.7, 136.1, 149.1, 172.2, 192.5, 210.9, 227.7, 243.5, 258.2, 272.2, 299.7, 323.5, 344.5, 363.3, 380.2, 395.3, 409, 421.4, 442.5, 459.4, 472.8, 483.1, 490.7, 496, 499.2, 500.7, 500.8, 499.5, 497.2, 494, 490, 485.5, 457.4, 426.7, 397.7, 371.9, 349.5, 330.1, 313.2, 298.5, 274.2, 254.9, 239, 225.6, 214.4, 204.7, 196.1, 188.4, 181.3, 174.9, 168.9, 163.4, 158.2, 153.3, 133, 118.2, 106.8, 97.72 }; - for(i=0; i<60; i++) {e[7][i]=e7[i]*MeV*cm2/g;} + AddData(T0, e7, 7); name [8] = "G4_Au"; G4double e8[60] = { 14.76, 18.07, 20.87, 23.33, 25.56, 29.51, 33, 36.15, 39.04, 41.74, 44.27, 46.66, 51.51, 55.8, 59.66, 63.18, 66.43, 69.43, 72.23, 74.84, 79.58, 83.77, 87.5, 90.81, 93.77, 96.4, 98.74, 100.8, 102.6, 104.3, 105.7, 106.9, 108, 108.9, 111.5, 112, 111.2, 109.6, 107.6, 105.4, 103.2, 101, 96.33, 91.8, 87.7, 84.05, 80.83, 78, 75.47, 73.18, 71.11, 69.21, 67.46, 65.83, 64.32, 62.91, 56.98, 52.39, 48.68, 45.58 }; - for(i=0; i<60; i++) {e[8][i]=e8[i]*MeV*cm2/g;} + AddData(T0, e8, 8); name [9] = "G4_B-100_BONE"; G4double e9[60] = { 142.5, 174.5, 201.5, 225.2, 246.7, 283.1, 315.3, 344.4, 371.1, 395.5, 418.2, 439.6, 482.3, 519, 551.3, 580.1, 606, 629.2, 650.1, 669, 701.9, 729.5, 752.2, 770.4, 784.5, 795.1, 802.6, 807.4, 810, 810.5, 809.3, 806.6, 802.7, 797.7, 762.5, 719.5, 676.2, 635.8, 599.3, 566.7, 537.9, 512.3, 468.1, 431.4, 400.8, 375, 353, 333.7, 316.9, 301.9, 288.5, 276.3, 265.3, 255.1, 245.9, 237.4, 203.4, 178.9, 160.2, 145.4 }; - for(i=0; i<60; i++) {e[9][i]=e9[i]*MeV*cm2/g;} + AddData(T0, e9, 9); name [10] = "G4_Be"; G4double e10[60] = { 149.7, 183.3, 211.7, 236.7, 259.2, 299.3, 334.7, 366.6, 396, 423.3, 449, 473.3, 517.2, 553.4, 583.6, 608.7, 629.6, 646.8, 660.7, 671.9, 687.3, 695.5, 698.4, 697.6, 694.2, 689.1, 682.8, 675.7, 668.2, 660.5, 652.7, 644.9, 637.2, 629.6, 594.2, 563, 535.4, 510.7, 488.4, 468.2, 449.8, 432.8, 404.4, 380.1, 358.1, 337.6, 318.8, 302.2, 287.4, 274.2, 262.3, 251.5, 241.7, 232.7, 224.4, 216.8, 186, 163.6, 146.3, 132.6 }; - for(i=0; i<60; i++) {e[10][i]=e10[i]*MeV*cm2/g;} + AddData(T0, e10, 10); name [11] = "G4_BONE_COMPACT_ICRU"; G4double e11[60] = { 141.6, 173.4, 200.2, 223.8, 245.2, 281.3, 313.3, 342.2, 368.8, 393.1, 415.6, 436.8, 479, 515.2, 547, 575.3, 600.7, 623.4, 643.8, 662.1, 694.2, 721, 743.2, 760.9, 774.8, 785.2, 792.6, 797.6, 800.3, 801.1, 800.3, 797.9, 794.4, 789.9, 756.4, 714.5, 671.4, 630.5, 593.2, 559.7, 530, 503.5, 459, 423, 393.3, 368.3, 346.9, 328.1, 311.6, 296.9, 283.7, 271.8, 261, 251.1, 242, 233.7, 200.3, 176.3, 158, 143.5 }; - for(i=0; i<60; i++) {e[11][i]=e11[i]*MeV*cm2/g;} + AddData(T0, e11, 11); name [12] = "G4_C"; G4double e12[60] = { 138.4, 169.5, 195.7, 218.8, 239.7, 270.2, 297.8, 322.7, 345.4, 365.1, 382.6, 398.7, 433.5, 462.4, 487.4, 509.9, 530, 547.7, 563.4, 577.6, 603.9, 628.3, 650.1, 668.6, 683.5, 695.3, 704.5, 711.4, 716.3, 719.4, 720.8, 720.9, 719.7, 717.4, 694.5, 661.1, 624.7, 589.1, 556, 526, 499.1, 475, 435.8, 404.4, 377.9, 354.6, 334, 315.9, 300.2, 286.2, 273.7, 262.4, 252.2, 242.7, 234.1, 226.1, 194.2, 171.1, 153.4, 139.4 }; - for(i=0; i<60; i++) {e[12][i]=e12[i]*MeV*cm2/g;} + AddData(T0, e12, 12); - name [13] = "G4_GRAPHITE"; + name [13] = "G4_GRAPHITE_POROUS"; G4double e13[60] = { 142.6, 175.3, 203.1, 228, 250.5, 283.4, 313.3, 340.4, 365.1, 386.7, 405.9, 423.5, 462, 494, 521.9, 546.9, 569.3, 589.2, 606.9, 622.9, 652.4, 679.9, 704.5, 725.3, 742.2, 755.6, 766.1, 774, 779.6, 783.1, 784.7, 784.8, 783.4, 780.7, 753.8, 714.5, 671.4, 629.1, 590.2, 555.6, 524.9, 497.7, 453.9, 419.3, 390.3, 365.1, 343, 323.7, 307.1, 292.3, 279.1, 267.3, 256.6, 246.8, 237.8, 229.5, 196.7, 173, 155, 140.8 }; - for(i=0; i<60; i++) {e[13][i]=e13[i]*MeV*cm2/g;} + AddData(T0, e13, 13); name [14] = "G4_ETHYLENE"; G4double e14[60] = { 225.8, 276.5, 319.3, 357, 391.1, 445.9, 494.9, 539.1, 579.6, 616, 649.5, 680.6, 742.9, 795.1, 840.1, 879.9, 914.8, 945.5, 972.4, 996.1, 1037, 1071, 1099, 1120, 1135, 1145, 1150, 1152, 1152, 1148, 1142, 1135, 1126, 1115, 1052, 981.5, 912.8, 849.7, 795.6, 749, 708.3, 672.4, 611.7, 562.1, 520.6, 485.3, 454.9, 428.4, 405.5, 385.2, 367.1, 350.8, 336.2, 322.8, 310.5, 299.3, 254.6, 222.7, 198.6, 179.6 }; - for(i=0; i<60; i++) {e[14][i]=e14[i]*MeV*cm2/g;} + AddData(T0, e14, 14); name [15] = "G4_C-552"; G4double e15[60] = { 119.2, 146, 168.6, 188.5, 206.5, 235.1, 260.7, 283.8, 305, 323.9, 341.3, 357.4, 390.7, 418.9, 443.7, 465.8, 485.7, 503.6, 519.5, 534.1, 560.1, 583.2, 603.2, 620, 633.7, 644.7, 653.4, 660.1, 665, 668.4, 670.3, 671.1, 670.7, 669.5, 652.9, 626.4, 596.2, 565.7, 537, 510.7, 486.8, 465.1, 427.5, 396.1, 369.6, 347, 327.4, 310.1, 294.9, 281.3, 269, 258, 247.9, 238.6, 230.2, 222.4, 191, 168.2, 150.8, 137 }; - for(i=0; i<60; i++) {e[15][i]=e15[i]*MeV*cm2/g;} + AddData(T0, e15, 15); name [16] = "G4_CARBON_DIOXIDE"; G4double e16[60] = { 106.4, 130.3, 150.4, 168.2, 184.2, 212.7, 237.9, 260.6, 281.4, 300.9, 319.1, 336.4, 370.9, 401.2, 428.3, 452.8, 475.1, 495.6, 514.4, 531.8, 562.6, 588.8, 611.2, 630.2, 646.1, 659.3, 670.1, 678.6, 685.2, 690, 693.2, 694.9, 695.4, 694.8, 679, 650.5, 617.3, 583.6, 552.1, 523.6, 497.8, 474.6, 434.7, 401.8, 374.3, 351, 330.9, 313.2, 297.6, 283.7, 271.2, 259.9, 249.6, 240.3, 231.7, 223.7, 191.9, 168.9, 151.4, 137.5 }; - for(i=0; i<60; i++) {e[16][i]=e16[i]*MeV*cm2/g;} + AddData(T0, e16, 16); name [17] = "G4_CALCIUM_FLUORIDE"; G4double e17[60] = { 74.48, 91.21, 105.3, 117.8, 129, 149, 166.5, 182.4, 197, 210.6, 223.4, 235.5, 259.6, 280.7, 299.6, 316.6, 332, 346.2, 359.1, 371.1, 392.2, 410.1, 425.2, 438, 448.7, 457.5, 464.6, 470.3, 474.7, 477.9, 480.1, 481.4, 481.9, 481.7, 473, 456.7, 437.6, 417.8, 398.6, 380.6, 364, 348.7, 322.9, 301.7, 283.5, 267.5, 253.4, 240.9, 229.8, 219.9, 210.8, 202.5, 194.8, 187.7, 181.3, 175.5, 151.6, 134.4, 121.1, 110.6 }; - for(i=0; i<60; i++) {e[17][i]=e17[i]*MeV*cm2/g;} + AddData(T0, e17, 17); name [18] = "G4_CERIC_SULFATE"; G4double e18[60] = { 135.4, 165.8, 191.5, 214.1, 234.5, 270.8, 302.8, 331.7, 358.2, 383, 406.2, 428.2, 471.7, 509.8, 543.6, 574, 601.5, 626.5, 649.3, 670.1, 706.4, 736.5, 761.2, 781.4, 797.4, 809.8, 819, 825.3, 829.2, 830.8, 830.6, 828.7, 825.4, 820.9, 785.9, 741.4, 696, 653.6, 618.4, 588.8, 562.8, 539.6, 499.3, 464.8, 434.6, 407.9, 384.2, 363.4, 344.9, 328.4, 313.6, 300.3, 288.2, 277.2, 267, 257.7, 220.4, 193.5, 173, 156.9 }; - for(i=0; i<60; i++) {e[18][i]=e18[i]*MeV*cm2/g;} + AddData(T0, e18, 18); name [19] = "G4_CELLULOSE_NITRATE"; G4double e19[60] = { 132.2, 161.9, 187, 209, 229, 262.6, 292.5, 319.4, 344.2, 366.8, 387.8, 407.5, 447, 481, 510.8, 537.6, 561.6, 583.2, 602.7, 620.4, 651.5, 677.9, 700, 718.2, 732.7, 744.1, 752.7, 759, 763.2, 765.5, 766.2, 765.5, 763.5, 760.6, 734.4, 698.2, 659.3, 621.4, 586, 553.8, 524.9, 498.9, 452.4, 413.9, 382.9, 358, 337.7, 319.7, 303.9, 289.7, 277.1, 265.6, 255.2, 245.6, 236.9, 228.8, 196.4, 173, 155, 140.8 }; - for(i=0; i<60; i++) {e[19][i]=e19[i]*MeV*cm2/g;} + AddData(T0, e19, 19); name [20] = "G4_BONE_CORTICAL_ICRP"; G4double e20[60] = { 123.5, 151.3, 174.7, 195.3, 214, 246.1, 274.5, 300.2, 323.8, 345.6, 365.9, 385, 423, 455.7, 484.7, 510.5, 533.8, 554.8, 573.7, 590.9, 620.8, 645.9, 666.5, 683.3, 696.6, 706.8, 714.4, 719.7, 723, 724.5, 724.5, 723.1, 720.6, 717.1, 689.6, 653.5, 615.8, 579.8, 546.6, 516.7, 490, 466.2, 426.1, 393.6, 366.6, 343.7, 324, 306.7, 291.5, 278, 265.8, 254.7, 244.7, 235.5, 227.1, 219.4, 188.4, 166.1, 149, 135.4 }; - for(i=0; i<60; i++) {e[20][i]=e20[i]*MeV*cm2/g;} + AddData(T0, e20, 20); name [21] = "G4_CESIUM_IODIDE"; G4double e21[60] = { 34.67, 42.46, 49.03, 54.82, 60.05, 69.34, 77.52, 84.92, 91.73, 98.06, 104, 109.6, 121, 130.9, 139.9, 148, 155.5, 162.3, 168.6, 174.5, 184.9, 194, 201.8, 208.5, 214.2, 219, 223, 226.3, 228.9, 231, 232.5, 233.4, 234, 234.1, 230.4, 221.9, 211.4, 200.6, 190.1, 180.6, 171.9, 164.1, 151.1, 140.6, 132.1, 125.1, 119.1, 114, 109.6, 105.6, 102.1, 98.92, 95.83, 92.83, 89.95, 87.22, 75.76, 67.41, 61.26, 56.63 }; - for(i=0; i<60; i++) {e[21][i]=e21[i]*MeV*cm2/g;} + AddData(T0, e21, 21); name [22] = "G4_Cu"; G4double e22[60] = { 34.9, 42.74, 49.35, 55.18, 60.45, 69.8, 78.04, 85.48, 92.33, 98.71, 104.7, 110.4, 121.4, 130.9, 139.2, 146.6, 153.2, 159, 164.3, 168.9, 176.9, 183.2, 188.4, 192.5, 195.9, 198.7, 201, 202.8, 204.4, 205.6, 206.7, 207.5, 208.2, 208.7, 209.9, 209.2, 207.5, 205.1, 202.3, 199.1, 195.8, 192.3, 185.4, 178.6, 172, 165.8, 159.6, 153.6, 148, 142.7, 137.8, 133.3, 129.1, 125.2, 121.7, 118.3, 104.7, 94.43, 86.45, 79.87 }; - for(i=0; i<60; i++) {e[22][i]=e22[i]*MeV*cm2/g;} + AddData(T0, e22, 22); name [23] = "G4_Fe"; G4double e23[60] = { 37.81, 46.31, 53.47, 59.78, 65.49, 75.62, 84.54, 92.61, 100, 106.9, 113.4, 119.6, 132, 143, 153, 162, 170.4, 178.2, 185.4, 192.2, 204.6, 215.6, 225.4, 234.2, 242.1, 249.2, 255.5, 261.2, 266.2, 270.7, 274.6, 278.1, 281, 283.6, 290.9, 291.5, 287.6, 281, 272.8, 263.9, 254.9, 246, 229.5, 214.8, 202.1, 191.1, 181.6, 173.4, 166.2, 159.7, 153.8, 148.5, 143.6, 139.1, 135, 131.1, 115.3, 103.5, 94.02, 86.52 }; - for(i=0; i<60; i++) {e[23][i]=e23[i]*MeV*cm2/g;} + AddData(T0, e23, 23); name [24] = "G4_FERROUS_SULFATE"; G4double e24[60] = { 135.1, 165.5, 191.1, 213.6, 234, 270.2, 302.1, 330.9, 357.4, 382.1, 405.3, 427.2, 470.7, 508.7, 542.4, 572.8, 600.3, 625.3, 648, 668.8, 705, 735.1, 759.9, 780.1, 796.1, 808.5, 817.7, 824.1, 827.9, 829.6, 829.4, 827.5, 824.2, 819.7, 784.9, 740.5, 695.1, 652.8, 617.8, 588.4, 562.8, 539.9, 499.9, 465.6, 435.5, 408.8, 385, 364.1, 345.6, 329.1, 314.3, 300.9, 288.8, 277.7, 267.6, 258.3, 220.8, 193.9, 173.4, 157.2 }; - for(i=0; i<60; i++) {e[24][i]=e24[i]*MeV*cm2/g;} + AddData(T0, e24, 24); name [25] = "G4_Gd"; G4double e25[60] = { 25.71, 31.49, 36.37, 40.66, 44.54, 51.43, 57.5, 62.99, 68.03, 72.73, 77.14, 81.32, 89.78, 97.24, 104, 110.1, 115.8, 121, 125.8, 130.4, 138.5, 145.7, 152.1, 157.7, 162.6, 166.9, 170.7, 173.9, 176.7, 179, 181, 182.5, 183.8, 184.7, 185.6, 182.1, 176.3, 169.4, 162.2, 155.2, 148.7, 142.6, 132, 123.3, 116.2, 110.2, 105, 100.6, 96.67, 93.2, 90.08, 87.27, 84.72, 82.38, 80.24, 78.26, 70.14, 63.87, 58.87, 54.76 }; - for(i=0; i<60; i++) {e[25][i]=e25[i]*MeV*cm2/g;} + AddData(T0, e25, 25); name [26] = "G4_Ge"; G4double e26[60] = { 45.91, 56.23, 64.93, 72.59, 79.52, 91.82, 102.7, 112.5, 121.5, 129.9, 137.7, 145.2, 159.7, 172.3, 183.3, 193.1, 201.7, 209.4, 216.3, 222.3, 232.3, 240, 245.6, 249.6, 252.3, 253.9, 254.5, 254.5, 253.9, 252.9, 251.5, 250, 248.2, 246.4, 236.5, 227.2, 218.9, 211.6, 205.1, 199.3, 193.9, 189, 180.1, 172.3, 165.2, 158.8, 152.6, 146.6, 140.9, 135.7, 130.8, 126.3, 122.1, 118.3, 114.7, 111.3, 97.72, 87.77, 80.18, 74.18 }; - for(i=0; i<60; i++) {e[26][i]=e26[i]*MeV*cm2/g;} + AddData(T0, e26, 26); name [27] = "G4_Pyrex_Glass"; G4double e27[60] = { 88.74, 108.7, 125.5, 140.3, 153.7, 177.5, 198.4, 217.4, 234.8, 251, 266.2, 280.6, 308.9, 333.6, 355.6, 375.3, 393.1, 409.2, 423.9, 437.3, 460.8, 480.4, 496.7, 510.2, 521.2, 530.1, 537.1, 542.5, 546.4, 549.1, 550.6, 551.2, 551, 550.1, 537.6, 518.1, 496.1, 473.9, 451.2, 429.2, 408.8, 390.1, 357.9, 331.5, 309.8, 291.7, 276.2, 262.4, 250.1, 239.1, 229.2, 220.2, 212, 204.6, 197.7, 191.4, 165.6, 146.7, 132.1, 120.4 }; - for(i=0; i<60; i++) {e[27][i]=e27[i]*MeV*cm2/g;} + AddData(T0, e27, 27); name [28] = "G4_H"; G4double e28[60] = { 746.5, 914.3, 1056, 1180, 1293, 1493, 1669, 1829, 1975, 2112, 2240, 2361, 2586, 2777, 2942, 3084, 3208, 3316, 3409, 3490, 3618, 3710, 3771, 3808, 3823, 3822, 3807, 3781, 3745, 3702, 3654, 3601, 3545, 3487, 3183, 2890, 2629, 2402, 2204, 2031, 1882, 1753, 1544, 1384, 1258, 1159, 1077, 1007, 947, 894.2, 847.5, 805.9, 768.6, 734.9, 704.3, 676.4, 566.7, 489.7, 432.5, 388.1 }; - for(i=0; i<60; i++) {e[28][i]=e28[i]*MeV*cm2/g;} + AddData(T0, e28, 28); name [29] = "G4_He"; G4double e29[60] = { 184.2, 225.6, 260.6, 291.3, 319.1, 368.5, 412, 451.3, 487.4, 521.1, 552.7, 582.6, 641.3, 691.9, 736.7, 776.6, 812.5, 844.9, 874.2, 900.8, 946.6, 984.1, 1014, 1039, 1058, 1072, 1083, 1089, 1093, 1094, 1093, 1090, 1085, 1079, 1032, 973, 911.2, 852.1, 797.5, 748.3, 704.5, 665.8, 600.4, 547.7, 504.5, 468.3, 437.7, 411.3, 388.2, 368, 349.9, 333.8, 319.3, 306.2, 294.2, 283.2, 239.6, 208.6, 185.2, 167 }; - for(i=0; i<60; i++) {e[29][i]=e29[i]*MeV*cm2/g;} + AddData(T0, e29, 29); name [30] = "G4_KAPTON"; G4double e30[60] = { 145.4, 178.1, 205.6, 229.9, 251.8, 286.2, 317.1, 344.9, 370.4, 393.1, 413.7, 432.9, 472.6, 506.1, 535.2, 561.3, 584.6, 605.3, 623.8, 640.4, 670.2, 696.5, 719.1, 737.7, 752.5, 763.9, 772.5, 778.6, 782.6, 784.6, 784.9, 783.8, 781.4, 778, 749.2, 710.6, 669.6, 630, 593.5, 560.4, 530.8, 504.4, 459.6, 423.3, 393.3, 368.2, 346.8, 328, 311.6, 296.9, 283.8, 272, 261.3, 251.5, 242.4, 234.1, 200.8, 176.8, 158.4, 143.8 }; - for(i=0; i<60; i++) {e[30][i]=e30[i]*MeV*cm2/g;} + AddData(T0, e30, 30); name [31] = "G4_Kr"; G4double e31[60] = { 45.92, 56.24, 64.94, 72.6, 79.53, 91.84, 102.7, 112.5, 121.5, 129.9, 137.8, 145.2, 160.1, 173.2, 184.9, 195.5, 205.1, 213.8, 221.8, 229.1, 242, 252.7, 261.6, 268.8, 274.6, 279, 282.3, 284.5, 285.8, 286.2, 286, 285.1, 283.8, 281.9, 268.6, 252.2, 236.2, 221.7, 209, 198.2, 188.9, 180.9, 168.1, 158.1, 150.2, 143.7, 138.1, 133.2, 128.8, 124.8, 121.2, 117.8, 114.6, 111.6, 108.8, 106.1, 94.63, 85.43, 77.91, 71.84 }; - for(i=0; i<60; i++) {e[31][i]=e31[i]*MeV*cm2/g;} + AddData(T0, e31, 31); name [32] = "G4_LITHIUM_TETRABORATE"; G4double e32[60] = { 111, 135.9, 157, 175.5, 192.2, 222, 248.2, 271.9, 293.6, 313.9, 333, 351, 386.5, 417.4, 444.8, 469.4, 491.6, 511.7, 530.1, 546.7, 575.8, 599.9, 619.8, 636, 649.1, 659.3, 667.2, 672.9, 676.7, 678.9, 679.6, 679.1, 677.6, 675.1, 653, 622.4, 589.5, 557.3, 525.5, 495.6, 468.4, 444.1, 403.1, 370.6, 344.6, 323.5, 305.9, 290.3, 276.4, 263.9, 252.7, 242.4, 233.2, 224.7, 216.9, 209.6, 180.4, 159.2, 142.8, 129.9 }; - for(i=0; i<60; i++) {e[32][i]=e32[i]*MeV*cm2/g;} + AddData(T0, e32, 32); name [33] = "G4_LITHIUM_FLUORIDE"; G4double e33[60] = { 80.87, 99.04, 114.4, 127.9, 140.1, 161.7, 180.8, 198.1, 214, 228.7, 242.6, 255.7, 281.9, 304.9, 325.4, 344, 360.9, 376.5, 390.8, 404, 427.6, 447.8, 465.3, 480.3, 493.1, 504.1, 513.3, 521.1, 527.4, 532.5, 536.5, 539.6, 541.7, 543, 540.3, 527.4, 509.2, 488.8, 467.4, 446.5, 426.9, 408.7, 376.9, 350.4, 328, 309.1, 292.7, 278.1, 265.1, 253.3, 242.5, 232.8, 223.9, 215.6, 208.2, 201.2, 173.1, 152.5, 136.8, 124.4 }; - for(i=0; i<60; i++) {e[33][i]=e33[i]*MeV*cm2/g;} + AddData(T0, e33, 33); name [34] = "G4_M3_WAX"; G4double e34[60] = { 198.1, 242.6, 280.2, 313.3, 343.1, 391.9, 435.4, 474.6, 510.6, 543.1, 573, 601, 656.7, 703.7, 744.4, 780.4, 812.2, 840.3, 865, 887, 925, 956.5, 982.1, 1002, 1016, 1026, 1032, 1035, 1036, 1033, 1029, 1023, 1016, 1007, 953.3, 891.9, 831.3, 775.4, 725.1, 680.6, 641.3, 606.6, 546.6, 497.8, 458.8, 427.4, 401.7, 379.2, 359.6, 342.2, 326.7, 312.7, 300.1, 288.5, 277.8, 268.1, 229.1, 201, 179.7, 162.8 }; - for(i=0; i<60; i++) {e[34][i]=e34[i]*MeV*cm2/g;} + AddData(T0, e34, 34); name [35] = "G4_MS20_TISSUE"; G4double e35[60] = { 174.4, 213.6, 246.7, 275.8, 302.1, 345, 383.2, 417.7, 449.4, 477.9, 504.3, 528.8, 578.1, 619.8, 656, 688.2, 716.7, 742, 764.4, 784.4, 819.3, 848.7, 872.8, 892, 906.4, 916.8, 923.7, 927.8, 929.4, 928.8, 926.4, 922.3, 916.9, 910.4, 866.6, 814.5, 762, 712.8, 668.3, 628.6, 593.3, 562.1, 507.7, 463.3, 427.6, 398.9, 375.3, 354.7, 336.7, 320.6, 306.2, 293.3, 281.6, 270.9, 261, 252, 215.7, 189.5, 169.6, 153.9 }; - for(i=0; i<60; i++) {e[35][i]=e35[i]*MeV*cm2/g;} + AddData(T0, e35, 35); name [36] = "G4_METHANE"; G4double e36[60] = { 272.8, 334.1, 385.8, 431.4, 472.5, 545.6, 610, 668.2, 721.8, 771.6, 818.4, 862.7, 949.2, 1024, 1090, 1148, 1200, 1246, 1288, 1325, 1387, 1436, 1473, 1500, 1518, 1528, 1532, 1530, 1524, 1514, 1501, 1485, 1467, 1447, 1338, 1227, 1127, 1041, 967.3, 904.6, 850.4, 803.2, 724.6, 661.8, 610.5, 567.7, 531.4, 499.8, 472.5, 448.3, 426.7, 407.4, 390, 374.1, 359.6, 346.4, 293.7, 256.2, 227.9, 205.7 }; - for(i=0; i<60; i++) {e[36][i]=e36[i]*MeV*cm2/g;} + AddData(T0, e36, 36); name [37] = "G4_Mo"; G4double e37[60] = { 40.18, 49.21, 56.82, 63.53, 69.59, 80.35, 89.84, 98.41, 106.3, 113.6, 120.5, 127, 140.2, 151.7, 162.1, 171.5, 180.1, 188, 195.4, 202.1, 214.3, 224.8, 233.8, 241.6, 248.3, 253.9, 258.7, 262.6, 265.7, 268.2, 270, 271.3, 272.1, 272.4, 268.7, 259.5, 248, 235.8, 224, 213.1, 203.1, 194.1, 178.9, 166.6, 156.5, 148.1, 141, 134.9, 129.5, 124.7, 120.4, 116.4, 112.6, 109.1, 105.8, 102.6, 89.8, 80.34, 73.15, 67.51 }; - for(i=0; i<60; i++) {e[37][i]=e37[i]*MeV*cm2/g;} + AddData(T0, e37, 37); name [38] = "G4_MUSCLE_WITH_SUCROSE"; G4double e38[60] = { 149.4, 183, 211.3, 236.2, 258.7, 298.3, 333.3, 364.8, 393.8, 420.8, 446, 469.8, 516.6, 557.2, 593.1, 625.2, 654, 680, 703.5, 724.8, 761.7, 792, 816.7, 836.5, 851.9, 863.6, 871.9, 877.4, 880.4, 881.2, 880.1, 877.3, 873.2, 867.9, 829.5, 781.9, 733.4, 688, 647.9, 612.8, 581.8, 554.2, 507.1, 468.4, 435.9, 408.3, 384.4, 363.5, 344.9, 328.4, 313.7, 300.3, 288.2, 277.2, 267, 257.7, 220.4, 193.5, 173, 156.9 }; - for(i=0; i<60; i++) {e[38][i]=e38[i]*MeV*cm2/g;} + AddData(T0, e38, 38); name [39] = "G4_MUSCLE_WITHOUT_SUCROSE"; G4double e39[60] = { 146.6, 179.5, 207.3, 231.8, 253.9, 292.9, 327.3, 358.4, 386.9, 413.5, 438.4, 461.9, 508.2, 548.4, 584, 615.8, 644.5, 670.4, 693.8, 715.1, 752, 782.3, 807.1, 827, 842.5, 854.3, 862.9, 868.5, 871.6, 872.6, 871.6, 869, 865, 859.8, 822, 774.9, 726.9, 682, 643, 609.2, 579.4, 552.9, 507.4, 469.6, 437.7, 410.1, 386.1, 365.1, 346.5, 329.9, 315, 301.6, 289.4, 278.3, 268.2, 258.8, 221.3, 194.3, 173.7, 157.5 }; - for(i=0; i<60; i++) {e[39][i]=e39[i]*MeV*cm2/g;} + AddData(T0, e39, 39); name [40] = "G4_MUSCLE_SKELETAL_ICRP"; G4double e40[60] = { 141.3, 173.1, 199.9, 223.5, 244.8, 282.5, 315.8, 345.8, 373.5, 399.2, 423.3, 446.1, 491.1, 530.2, 565, 596.1, 624.2, 649.7, 672.8, 693.8, 730.4, 760.6, 785.3, 805.3, 821.1, 833.1, 841.9, 847.9, 851.4, 852.6, 852, 849.7, 846.1, 841.2, 804.8, 758.9, 712.2, 668.5, 631.2, 599, 570.8, 545.6, 502.2, 465.8, 434.6, 407.5, 383.7, 362.8, 344.4, 327.9, 313.1, 299.8, 287.7, 276.7, 266.6, 257.3, 220, 193.2, 172.8, 156.7 }; - for(i=0; i<60; i++) {e[40][i]=e40[i]*MeV*cm2/g;} + AddData(T0, e40, 40); name [41] = "G4_MUSCLE_STRIATED_ICRU"; G4double e41[60] = { 141.7, 173.5, 200.4, 224, 245.4, 283.2, 316.5, 346.6, 374.3, 400, 424.2, 447, 492.1, 531.3, 566.1, 597.3, 625.4, 650.9, 674, 695.1, 731.6, 761.9, 786.7, 806.6, 822.4, 834.4, 843.3, 849.2, 852.6, 853.9, 853.2, 851, 847.3, 842.4, 805.8, 759.8, 713, 669.2, 632, 600.1, 572.1, 547.1, 504, 467.7, 436.5, 409.3, 385.3, 364.3, 345.7, 329.2, 314.4, 300.9, 288.8, 277.8, 267.6, 258.3, 220.8, 193.9, 173.4, 157.2 }; - for(i=0; i<60; i++) {e[41][i]=e41[i]*MeV*cm2/g;} + AddData(T0, e41, 41); name [42] = "G4_N"; G4double e42[60] = { 126.5, 155, 179, 200.1, 219.2, 253.1, 283, 310, 334.8, 357.9, 379.6, 400.2, 440.6, 475.8, 507, 535, 560.2, 583.1, 603.8, 622.7, 655.5, 682.7, 704.9, 722.9, 737.3, 748.4, 756.6, 762.3, 765.9, 767.5, 767.5, 766, 763.3, 759.4, 729.3, 689.8, 648.6, 609.1, 572.9, 540.4, 511.6, 486.2, 443.4, 408.8, 380.1, 356, 335.4, 317.2, 301.2, 286.8, 274.1, 262.6, 252.2, 242.7, 234, 225.9, 193.8, 170.5, 152.8, 138.8 }; - for(i=0; i<60; i++) {e[42][i]=e42[i]*MeV*cm2/g;} + AddData(T0, e42, 42); name [43] = "G4_SODIUM_IODIDE"; G4double e43[60] = { 41.1, 50.34, 58.12, 64.98, 71.19, 82.2, 91.9, 100.7, 108.7, 116.2, 123.3, 130, 143.4, 155.2, 165.8, 175.4, 184.2, 192.3, 199.7, 206.6, 219, 229.6, 238.9, 246.8, 253.5, 259.2, 264, 268, 271.1, 273.6, 275.4, 276.7, 277.4, 277.7, 273.7, 264.2, 252.3, 239.7, 227.6, 216.2, 205.9, 196.6, 180.7, 167.8, 157.3, 148.5, 141.1, 134.7, 129.1, 124.1, 119.7, 115.7, 111.9, 108.4, 105.1, 101.9, 88.79, 78.99, 71.48, 65.54 }; - for(i=0; i<60; i++) {e[43][i]=e43[i]*MeV*cm2/g;} + AddData(T0, e43, 43); name [44] = "G4_Ne"; G4double e44[60] = { 58.01, 71.05, 82.04, 91.73, 100.5, 116, 129.7, 142.1, 153.5, 164.1, 174, 183.5, 202.5, 219.3, 234.5, 248.3, 261, 272.8, 283.8, 294, 312.7, 329.2, 343.8, 356.9, 368.6, 379, 388.3, 396.5, 403.8, 410.2, 415.8, 420.7, 424.8, 428.4, 438.1, 437.9, 431.3, 420.8, 408.2, 394.6, 380.7, 367.1, 339, 313.8, 293.3, 277.2, 264.3, 252.6, 241.9, 232.2, 223.2, 215, 207.4, 200.4, 193.8, 187.7, 163, 144.6, 130.3, 118.9 }; - for(i=0; i<60; i++) {e[44][i]=e44[i]*MeV*cm2/g;} + AddData(T0, e44, 44); - name [45] = "G4_NYLON_6/6"; + name [45] = "G4_NYLON-6-6"; G4double e45[60] = { 191, 233.9, 270.1, 302, 330.8, 377.8, 419.7, 457.5, 492.1, 523.4, 552.3, 579.2, 633, 678.5, 717.9, 752.9, 783.8, 811.1, 835.3, 856.8, 894.2, 925.4, 951, 971, 985.8, 996.3, 1003, 1007, 1008, 1006, 1003, 997.7, 991.2, 983.5, 933.5, 875.4, 817.5, 763.6, 715, 671.7, 633.5, 599.6, 542.9, 497.4, 460.4, 429.7, 403.7, 381, 361.2, 343.6, 327.9, 313.8, 301, 289.3, 278.6, 268.8, 229.5, 201.3, 179.8, 162.9 }; - for(i=0; i<60; i++) {e[45][i]=e45[i]*MeV*cm2/g;} + AddData(T0, e45, 45); name [46] = "G4_O"; G4double e46[60] = { 99.46, 121.8, 140.7, 157.3, 172.3, 198.9, 222.4, 243.6, 263.1, 281.3, 298.4, 314.5, 346.6, 374.7, 399.8, 422.4, 443, 461.9, 479.1, 495, 523.1, 547, 567.2, 584.4, 598.7, 610.6, 620.2, 628, 633.9, 638.3, 641.3, 643, 643.6, 643.3, 630.5, 606.7, 578.3, 549.1, 520.9, 494.6, 470.9, 449.7, 413.2, 383.1, 357.8, 336.3, 317.6, 301.1, 286.3, 273.2, 261.3, 250.5, 240.8, 231.9, 223.7, 216.1, 185.7, 163.7, 146.7, 133.4 }; - for(i=0; i<60; i++) {e[46][i]=e46[i]*MeV*cm2/g;} + AddData(T0, e46, 46); name [47] = "G4_PARAFFIN"; G4double e47[60] = { 228.8, 280.2, 323.5, 361.7, 396.2, 451.9, 501.6, 546.5, 587.6, 624.6, 658.6, 690.2, 753.4, 806.4, 852.1, 892.4, 927.9, 959.1, 986.3, 1010, 1052, 1086, 1114, 1135, 1150, 1160, 1166, 1168, 1166, 1163, 1157, 1149, 1140, 1129, 1064, 992.4, 922.6, 858.6, 801.5, 751.1, 706.8, 667.8, 601.8, 548.9, 506.2, 471.3, 442.2, 416.9, 394.9, 375.4, 358, 342.3, 328.2, 315.3, 303.4, 292.6, 249.3, 218.3, 194.8, 176.3 }; - for(i=0; i<60; i++) {e[47][i]=e47[i]*MeV*cm2/g;} + AddData(T0, e47, 47); name [48] = "G4_Pb"; G4double e48[60] = { 15.4, 18.86, 21.78, 24.35, 26.68, 30.81, 34.44, 37.73, 40.75, 43.57, 46.21, 48.71, 53.82, 58.34, 62.45, 66.21, 69.7, 72.94, 75.98, 78.85, 84.11, 88.84, 93.13, 97.02, 100.6, 103.8, 106.8, 109.5, 111.9, 114.1, 116.2, 118, 119.6, 121.1, 126.1, 128.1, 127.9, 126.3, 123.6, 120.4, 116.9, 113.3, 106.4, 99.98, 94.37, 89.5, 85.18, 81.37, 78.01, 75.05, 72.42, 70.08, 67.99, 66.12, 64.44, 62.92, 56.88, 52.22, 48.46, 45.34 }; - for(i=0; i<60; i++) {e[48][i]=e48[i]*MeV*cm2/g;} + AddData(T0, e48, 48); name [49] = "G4_PHOTO_EMULSION"; G4double e49[60] = { 61.33, 75.12, 86.74, 96.97, 106.2, 122.2, 136.3, 149.1, 160.8, 171.6, 181.6, 191.1, 210, 226.3, 240.6, 253.5, 265, 275.4, 284.8, 293.3, 308, 320.3, 330.3, 338.4, 344.7, 349.4, 352.8, 355.1, 356.4, 356.9, 356.6, 355.7, 354.3, 352.4, 338.9, 322.3, 305.5, 289.9, 275.7, 263, 251.7, 241.5, 224.4, 210.3, 198.3, 188, 179, 171, 163.9, 157.5, 151.6, 146.3, 141.3, 136.6, 132.1, 128, 110.6, 97.75, 87.92, 80.2 }; - for(i=0; i<60; i++) {e[49][i]=e49[i]*MeV*cm2/g;} + AddData(T0, e49, 49); name [50] = "G4_PLASTIC_SC_VINYLTOLUENE"; G4double e50[60] = { 190.1, 232.8, 268.8, 300.5, 329.2, 374.1, 414.4, 450.7, 483.9, 513.5, 540.4, 565.4, 616.5, 659.2, 696, 728.7, 757.6, 783, 805.3, 825.2, 860.1, 890.2, 915.4, 935.4, 950.4, 961.1, 968.2, 972.3, 973.8, 973, 970.2, 965.7, 959.9, 952.8, 906, 850.6, 795.1, 743.3, 696.4, 654.7, 617.9, 585.3, 530.7, 487.1, 451.3, 421.4, 395.9, 373.7, 354.4, 337.2, 321.9, 308.1, 295.7, 284.2, 273.8, 264.1, 225.7, 198.1, 177.1, 160.5 }; - for(i=0; i<60; i++) {e[50][i]=e50[i]*MeV*cm2/g;} + AddData(T0, e50, 50); name [51] = "G4_POLYCARBONATE"; G4double e51[60] = { 164.8, 201.8, 233, 260.5, 285.4, 324.6, 359.7, 391.4, 420.3, 446.2, 469.7, 491.7, 536.5, 574.3, 607.1, 636.2, 662.2, 685.1, 705.4, 723.6, 755.9, 783.9, 807.7, 826.9, 841.7, 852.8, 860.8, 866, 868.8, 869.6, 868.6, 866, 862.1, 857.1, 820.5, 774.5, 727.2, 682.2, 641.1, 604.1, 571.2, 542, 492.3, 452.1, 419.1, 391.8, 368.6, 348.4, 330.7, 314.9, 300.8, 288.1, 276.7, 266.1, 256.5, 247.6, 212, 186.3, 166.8, 151.3 }; - for(i=0; i<60; i++) {e[51][i]=e51[i]*MeV*cm2/g;} + AddData(T0, e51, 51); name [52] = "G4_POLYETHYLENE"; G4double e52[60] = { 184.9, 226.5, 261.5, 292.4, 320.3, 369.9, 413.5, 453, 489.3, 523, 554.8, 584.8, 643.9, 695.3, 740.8, 781.4, 817.9, 850.9, 880.6, 907.5, 953.7, 990.9, 1021, 1044, 1061, 1073, 1081, 1084, 1085, 1083, 1078, 1072, 1064, 1054, 994.1, 927.8, 865, 808.9, 760.1, 717.9, 681.4, 649.7, 591.2, 541, 499.2, 464.9, 436.3, 411.4, 389.8, 370.6, 353.4, 338.1, 324.2, 311.4, 299.8, 289.1, 246.4, 215.9, 192.7, 174.4 }; - for(i=0; i<60; i++) {e[52][i]=e52[i]*MeV*cm2/g;} + AddData(T0, e52, 52); - name [53] = "G4_POLYETHYLENE_TEREPHTHALATE_MYLAR"; + name [53] = "G4_MYLAR"; G4double e53[60] = { 150.9, 184.9, 213.5, 238.7, 261.4, 297.8, 330.2, 359.6, 386.4, 410.5, 432.5, 453, 494.9, 530.3, 561.2, 588.8, 613.4, 635.3, 654.7, 672.3, 703.4, 730.5, 753.5, 772.3, 787, 798.3, 806.6, 812.4, 816, 817.6, 817.4, 815.8, 812.9, 808.9, 777.6, 736.5, 693.4, 651.9, 613.6, 579.1, 548.2, 520.6, 472.9, 434, 402.2, 376.1, 354.3, 335, 318.2, 303.2, 289.8, 277.7, 266.7, 256.6, 247.4, 238.9, 204.8, 180.2, 161.4, 146.5 }; - for(i=0; i<60; i++) {e[53][i]=e53[i]*MeV*cm2/g;} + AddData(T0, e53, 53); - name [54] = "G4_PLEXIGLASS"; + name [54] = "G4_PLEXIGLASS"; // POLYMETHYL METHACRALATE (LUCITE, PERSPEX, PLEXIGLASS G4double e54[60] = { 174.9, 214.2, 247.4, 276.6, 303, 345.9, 384.1, 418.7, 450.4, 479, 505.2, 529.8, 579.1, 620.8, 657.1, 689.3, 717.9, 743.2, 765.7, 785.8, 820.8, 850.5, 875, 894.5, 909.3, 920.1, 927.4, 931.9, 933.9, 933.7, 931.6, 928, 922.9, 916.8, 874.4, 823.2, 771.3, 722.4, 676.2, 634, 596.2, 562.8, 507.2, 463.4, 428.5, 400.2, 376.7, 356.1, 338, 321.9, 307.5, 294.5, 282.8, 272, 262.1, 253, 216.6, 190.4, 170.3, 154.5 }; - for(i=0; i<60; i++) {e[54][i]=e54[i]*MeV*cm2/g;} + AddData(T0, e54, 54); name [55] = "G4_POLYPROPYLENE"; G4double e55[60] = { 197.6, 242, 279.4, 312.4, 342.2, 395.1, 441.8, 483.9, 522.7, 558.8, 592.7, 624.8, 687.3, 741.3, 789, 831.4, 869.4, 903.6, 934.3, 962, 1009, 1048, 1078, 1101, 1119, 1132, 1140, 1145, 1146, 1145, 1141, 1135, 1128, 1119, 1060, 991.7, 924.3, 862, 806.1, 756.5, 712.8, 674.2, 605.4, 548.6, 503.3, 467.5, 438.7, 413.6, 391.8, 372.4, 355.2, 339.7, 325.7, 312.9, 301.1, 290.4, 247.5, 216.8, 193.5, 175.1 }; - for(i=0; i<60; i++) {e[55][i]=e55[i]*MeV*cm2/g;} + AddData(T0, e55, 55); name [56] = "G4_POLYSTYRENE"; G4double e56[60] = { 186, 227.8, 263.1, 294.1, 322.2, 372.1, 416, 455.7, 492.2, 526.2, 558.1, 588.3, 645.3, 693.8, 735.8, 772.4, 804.5, 832.6, 857.2, 878.7, 913.5, 939.2, 957.2, 969, 975.6, 978, 976.8, 972.8, 966.5, 958.4, 948.9, 938.3, 926.9, 914.9, 851.3, 789.6, 734.2, 685.4, 642.9, 605.7, 573, 543.9, 499.5, 465.2, 435.8, 409.1, 384.6, 363.2, 344.6, 328.1, 313.3, 300, 288, 277, 266.8, 257.5, 220.4, 193.6, 173.2, 157 }; - for(i=0; i<60; i++) {e[56][i]=e56[i]*MeV*cm2/g;} + AddData(T0, e56, 56); name [57] = "G4_TEFLON"; G4double e57[60] = { 83.27, 102, 117.8, 131.7, 144.2, 165, 183.4, 200.1, 215.3, 229.2, 242, 254, 278.7, 300, 319, 336.2, 351.9, 366.1, 379.2, 391.2, 413.1, 432.7, 450, 465.1, 478, 489.1, 498.5, 506.4, 513, 518.4, 522.7, 526, 528.4, 530.1, 528.6, 516.7, 499.4, 479.6, 460.4, 442.3, 425.4, 409.6, 381.2, 356.4, 334.6, 315.4, 298.3, 283.1, 269.6, 257.4, 246.5, 236.5, 227.4, 219.1, 211.5, 204.4, 175.9, 155.2, 139.3, 126.7 }; - for(i=0; i<60; i++) {e[57][i]=e57[i]*MeV*cm2/g;} + AddData(T0, e57, 57); name [58] = "G4_POLYVINYL_CHLORIDE"; G4double e58[60] = { 140.2, 171.7, 198.3, 221.7, 242.8, 277.9, 309, 337.2, 363, 386.4, 408.1, 428.4, 468.9, 503.4, 533.6, 560.3, 584.1, 605.3, 624.1, 640.9, 670.1, 694.5, 714.3, 729.8, 741.4, 749.6, 755, 757.9, 758.6, 757.6, 755, 751, 746, 740, 701.3, 656.7, 612.9, 572.6, 538.7, 509.8, 484.7, 462.4, 424.2, 392.4, 365.3, 341.8, 321.1, 302.9, 287.3, 273.6, 261.3, 250.1, 240.1, 231.1, 222.7, 215, 184.5, 162.6, 145.9, 132.6 }; - for(i=0; i<60; i++) {e[58][i]=e58[i]*MeV*cm2/g;} + AddData(T0, e58, 58); name [59] = "G4_PROPANE"; - G4double e59[60] = { 194.5, 234.7, 268.4, 298, 324.7, 372, 413.6, 451.2, 485.8, 518, 548.2, 576.8, 642.6, 702.2, 756.9, 808, 855.9, 901.2, 944.4, 985.6, 1063, 1135, 1203, 1267, 1327, 1385, 1440, 1492, 1543, 1592, 1639, 1684, 1728, 1770, 1964, 2131, 2277, 2404, 2516, 2613, 2698, 2771, 2887, 2969, 3022, 3053, 3065, 3061, 3046, 3021, 2990, 2953, 2912, 2868, 2822, 2775, 2564, 2372, 2191, 2022 }; + G4double e59[60] = { 2.183E+02, 2.673E+02, 3.087E+02, 3.451E+02, 3.780E+02, 4.365E+02, 4.880E+02, 5.346E+02, 5.775E+02, 6.173E+02, 6.548E+02, 6.902E+02, 7.595E+02, 8.190E+02, 8.714E+02, 9.180E+02, 9.597E+02, 9.970E+02, 1.031E+03, 1.061E+03, 1.112E+03, 1.153E+03, 1.186E+03, 1.211E+03, 1.229E+03, 1.242E+03, 1.250E+03, 1.254E+03, 1.254E+03, 1.252E+03, 1.247E+03, 1.239E+03, 1.230E+03, 1.220E+03, 1.153E+03, 1.078E+03, 1.005E+03, 9.379E+02, 8.769E+02, 8.222E+02, 7.736E+02, 7.305E+02, 6.583E+02, 6.006E+02, 5.537E+02, 5.150E+02, 4.825E+02, 4.542E+02, 4.297E+02, 4.079E+02, 3.886E+02, 3.712E+02, 3.556E+02, 3.413E+02, 3.282E+02, 3.163E+02, 2.687E+02, 2.348E+02, 2.092E+02, 1.890E+02 }; - for(i=0; i<60; i++) {e[59][i]=e59[i]*MeV*cm2/g;} + AddData(T0, e59, 59); name [60] = "G4_Pt"; - G4double e60[60] = { 30.79, 33.73, 36.43, 38.95, 41.31, 43.55, 48.11, 52.16, 55.83, 59.2, 62.32, 65.23, 67.95, 70.51, 75.22, 79.46, 83.3, 86.79, 89.97, 92.87, 95.51, 97.92, 100.1, 102.1, 103.9, 105.5, 107, 108.3, 112.7, 114.5, 114.4, 113, 110.8, 108.1, 105.3, 102.4, 96.92, 92.12, 87.91, 84.22, 80.97, 78.11, 75.56, 73.26, 71.17, 69.26, 67.5, 65.87, 64.36, 62.94, 57, 52.39, 48.67, 45.57, 42.94, 40.66, 38.67, 36.9, 33.91, 31.45 }; + G4double e60[60] = { 1.377E+01, 1.687E+01, 1.947E+01, 2.177E+01, 2.385E+01, 2.754E+01, 3.079E+01, 3.373E+01, 3.643E+01, 3.895E+01, 4.131E+01, 4.355E+01, 4.811E+01, 5.216E+01, 5.583E+01, 5.920E+01, 6.232E+01, 6.523E+01, 6.795E+01, 7.051E+01, 7.522E+01, 7.946E+01, 8.330E+01, 8.679E+01, 8.997E+01, 9.287E+01, 9.551E+01, 9.792E+01, 1.001E+02, 1.021E+02, 1.039E+02, 1.055E+02, 1.070E+02, 1.083E+02, 1.127E+02, 1.145E+02, 1.144E+02, 1.130E+02, 1.108E+02, 1.081E+02, 1.053E+02, 1.024E+02, 9.692E+01, 9.212E+01, 8.791E+01, 8.422E+01, 8.097E+01, 7.811E+01, 7.556E+01, 7.326E+01, 7.117E+01, 6.926E+01, 6.750E+01, 6.587E+01, 6.436E+01, 6.294E+01, 5.700E+01, 5.239E+01, 4.867E+01, 4.557E+01 }; - for(i=0; i<60; i++) {e[60][i]=e60[i]*MeV*cm2/g;} + AddData(T0, e60, 60); name [61] = "G4_Si"; G4double e61[60] = { 105, 128.6, 148.5, 166, 181.8, 210, 234.8, 257.2, 277.8, 296.9, 315, 332, 364.6, 392.5, 416.7, 437.8, 456.3, 472.5, 486.6, 498.9, 518.4, 532.3, 541.6, 547, 549.2, 549, 546.8, 543, 538, 532.2, 525.7, 518.8, 511.7, 504.4, 468.7, 437.3, 410.7, 388.4, 369.4, 353, 338.7, 325.9, 304.1, 285.9, 270.3, 256.7, 245.2, 235.1, 225.9, 217.2, 209, 201.1, 193.6, 187, 180.9, 175.3, 152.3, 135.4, 122.2, 111.7 }; - for(i=0; i<60; i++) {e[61][i]=e61[i]*MeV*cm2/g;} + AddData(T0, e61, 61); name [62] = "G4_SILICON_DIOXIDE"; G4double e62[60] = { 85.64, 104.9, 121.1, 135.4, 148.3, 171.3, 191.5, 209.8, 226.6, 242.2, 256.9, 270.8, 298.1, 322, 343.1, 362.1, 379.3, 394.9, 409.1, 422.1, 444.8, 463.8, 479.7, 492.8, 503.6, 512.3, 519.2, 524.5, 528.5, 531.2, 532.9, 533.7, 533.6, 532.9, 521.9, 503.9, 483.5, 462.8, 442.9, 424.2, 406.7, 390.6, 358.9, 330.8, 307.6, 288.9, 273.6, 259.9, 247.8, 236.9, 227.1, 218.2, 210.1, 202.7, 195.9, 189.7, 164.2, 145.5, 131.1, 119.6 }; - for(i=0; i<60; i++) {e[62][i]=e62[i]*MeV*cm2/g;} + AddData(T0, e62, 62); name [63] = "G4_STILBENE"; G4double e63[60] = { 179.2, 219.5, 253.4, 283.3, 310.4, 352.2, 389.8, 423.8, 454.7, 482.3, 507.2, 530.3, 577.9, 617.7, 652.1, 682.6, 709.7, 733.5, 754.4, 773, 806.1, 835.1, 859.5, 879.2, 894.2, 905.1, 912.7, 917.4, 919.6, 919.6, 917.7, 914.2, 909.3, 903.3, 861.4, 810.7, 759.2, 710.8, 667.1, 628.3, 593.9, 563.4, 511.8, 470.2, 435.9, 407.2, 382.8, 361.4, 342.9, 326.4, 311.6, 298.4, 286.4, 275.4, 265.3, 256.1, 219, 192.4, 172.1, 156.1 }; - for(i=0; i<60; i++) {e[63][i]=e63[i]*MeV*cm2/g;} + AddData(T0, e63, 63); name [64] = "G4_Ti"; G4double e64[60] = { 60.88, 74.56, 86.1, 96.26, 105.4, 121.8, 136.1, 149.1, 161.1, 172.2, 182.6, 192.5, 212.3, 229.6, 245.1, 259.1, 271.8, 283.5, 294.2, 304.1, 321.6, 336.5, 349.1, 359.8, 368.7, 376, 382, 386.7, 390.2, 392.7, 394.4, 395.2, 395.3, 394.8, 385.4, 369.3, 351, 332.6, 315.4, 299.6, 285.5, 272.8, 251.3, 233.9, 219.6, 207.6, 197.4, 188.7, 181, 174.1, 167.9, 162.2, 157, 152.2, 147.7, 143.5, 126, 112.5, 101.7, 93.07 }; - for(i=0; i<60; i++) {e[64][i]=e64[i]*MeV*cm2/g;} + AddData(T0, e64, 64); name [65] = "G4_Sn"; G4double e65[60] = { 32.4, 39.68, 45.82, 51.23, 56.12, 64.8, 72.45, 79.36, 85.72, 91.64, 97.2, 102.5, 113.1, 122.4, 130.8, 138.5, 145.5, 151.9, 157.9, 163.4, 173.4, 182, 189.5, 196, 201.6, 206.4, 210.4, 213.8, 216.5, 218.7, 220.4, 221.6, 222.4, 222.9, 220.7, 213.8, 204.9, 195.4, 186, 177.3, 169.4, 162.3, 150.1, 140.3, 132.2, 125.5, 119.7, 114.7, 110.1, 106.1, 102.5, 99.14, 96.12, 93.34, 90.77, 88.4, 78.69, 71.47, 65.7, 60.79 }; - for(i=0; i<60; i++) {e[65][i]=e65[i]*MeV*cm2/g;} + AddData(T0, e65, 65); name [66] = "G4_TISSUE-METHANE"; G4double e66[60] = { 174.5, 213.8, 246.8, 276, 302.3, 349.1, 390.3, 427.6, 461.8, 493.7, 523.6, 552, 607.8, 656.2, 699.1, 737.4, 771.9, 803, 831.1, 856.5, 900.2, 935.6, 963.8, 985.9, 1003, 1015, 1022, 1027, 1028, 1027, 1023, 1018, 1011, 1002, 947.8, 885.5, 824.9, 769.7, 720.9, 678.2, 641, 608.6, 553.2, 507.9, 470.5, 439.1, 412.4, 389, 368.6, 350.5, 334.4, 319.8, 306.6, 294.6, 283.6, 273.5, 233.2, 204.4, 182.5, 165.2 }; - for(i=0; i<60; i++) {e[66][i]=e66[i]*MeV*cm2/g;} + AddData(T0, e66, 66); name [67] = "G4_TISSUE-PROPANE"; G4double e67[60] = { 169.9, 208.1, 240.3, 268.6, 294.3, 339.8, 379.9, 416.2, 449.5, 480.6, 509.7, 537.3, 591.5, 638.4, 679.9, 716.9, 750.2, 780.2, 807.4, 832, 874.4, 909.1, 937.1, 959.3, 976.6, 989.5, 998.7, 1005, 1008, 1008, 1006, 1003, 998, 991.7, 946.9, 891.9, 836, 783.4, 735.7, 693.2, 655.4, 622, 563.5, 515.3, 475.8, 443.4, 416.2, 392.6, 371.9, 353.6, 337.3, 322.5, 309.3, 297.1, 286, 275.8, 235.1, 206, 183.9, 166.5 }; - for(i=0; i<60; i++) {e[67][i]=e67[i]*MeV*cm2/g;} + AddData(T0, e67, 67); name [68] = "G4_TOLUENE"; G4double e68[60] = { 191.6, 234.7, 271, 302.9, 331.9, 377.2, 417.8, 454.5, 488, 517.9, 545.1, 570.4, 621.9, 665, 702.2, 735.2, 764.3, 790, 812.4, 832.5, 867.7, 897.9, 923.2, 943.3, 958.3, 969, 976, 980, 981.4, 980.4, 977.5, 972.9, 966.9, 959.8, 912.2, 856.2, 800.1, 747.8, 700.6, 658.5, 621.4, 588.5, 535.1, 492.8, 457.8, 427.9, 401.8, 379.1, 359.4, 341.9, 326.3, 312.3, 299.6, 287.9, 277.3, 267.5, 228.5, 200.4, 179.1, 162.3 }; - for(i=0; i<60; i++) {e[68][i]=e68[i]*MeV*cm2/g;} + AddData(T0, e68, 68); name [69] = "G4_U"; G4double e69[60] = { 18.38, 22.51, 25.99, 29.06, 31.83, 36.75, 41.09, 45.01, 48.62, 51.98, 55.13, 58.11, 64.19, 69.57, 74.44, 78.9, 83.02, 86.84, 90.42, 93.78, 99.92, 105.4, 110.3, 114.8, 118.8, 122.4, 125.7, 128.6, 131.2, 133.5, 135.6, 137.4, 139, 140.4, 144.4, 144.8, 142.7, 139.1, 134.5, 129.6, 124.2, 118.8, 108.7, 100, 92.78, 86.72, 81.64, 77.35, 73.71, 70.6, 67.92, 65.59, 63.56, 61.77, 60.19, 58.78, 53.33, 49.08, 45.62, 42.73 }; - for(i=0; i<60; i++) {e[69][i]=e69[i]*MeV*cm2/g;} + AddData(T0, e69, 69); name [70] = "G4_W"; G4double e70[60] = { 14.97, 18.34, 21.17, 23.67, 25.93, 29.94, 33.47, 36.67, 39.61, 42.34, 44.91, 47.34, 52.3, 56.7, 60.68, 64.33, 67.7, 70.84, 73.78, 76.55, 81.61, 86.15, 90.24, 93.95, 97.3, 100.3, 103.1, 105.6, 107.8, 109.9, 111.7, 113.3, 114.7, 116, 120, 121.2, 120.5, 118.5, 115.9, 112.9, 109.8, 106.7, 100.2, 94.14, 89.08, 85, 81.68, 78.78, 76.2, 73.88, 71.78, 69.86, 68.09, 66.45, 64.93, 63.5, 57.52, 52.9, 49.15, 46.04 }; - for(i=0; i<60; i++) {e[70][i]=e70[i]*MeV*cm2/g;} + AddData(T0, e70, 70); name [71] = "G4_WATER"; G4double e71[60] = { 133.7, 163.8, 189.1, 211.4, 231.6, 267.5, 299, 327.6, 353.8, 378.2, 401.2, 422.9, 466, 503.6, 537.2, 567.3, 594.6, 619.5, 642.1, 662.8, 698.9, 729, 753.8, 774, 790.1, 802.6, 811.9, 818.3, 822.3, 824.1, 823.9, 822.2, 819, 814.5, 780.1, 736, 695.9, 660.4, 628.6, 599.9, 573.7, 549.7, 507.5, 471.4, 440.1, 412.8, 388.8, 367.6, 348.9, 332.2, 317.2, 303.7, 291.4, 280.3, 270, 260.6, 222.8, 195.5, 174.8, 158.5 }; - for(i=0; i<60; i++) {e[71][i]=e71[i]*MeV*cm2/g;} + AddData(T0, e71, 71); name [72] = "G4_WATER_VAPOR"; G4double e72[60] = { 152.2, 186.5, 215.3, 240.7, 263.7, 304.5, 340.4, 372.9, 402.8, 430.6, 456.7, 481.4, 530.5, 573.2, 611.3, 645.4, 676.4, 704.4, 730, 753.3, 793.8, 827.4, 855, 877.2, 894.8, 908.2, 918.1, 924.7, 928.5, 929.9, 929.1, 926.5, 922.3, 916.9, 876.3, 825.9, 775.3, 728.5, 686.8, 650.1, 618, 589.9, 536.1, 489.2, 450.8, 420.2, 395.5, 373.8, 354.6, 337.5, 322.2, 308.3, 295.8, 284.4, 273.9, 264.3, 225.7, 198, 176.9, 160.4 }; - for(i=0; i<60; i++) {e[72][i]=e72[i]*MeV*cm2/g;} + AddData(T0, e72, 72); name [73] = "G4_Xe"; G4double e73[60] = { 38.1, 46.67, 53.88, 60.24, 65.99, 76.2, 85.2, 93.33, 100.8, 107.8, 114.3, 120.5, 132.8, 143.6, 153.2, 161.8, 169.6, 176.7, 183.2, 189.1, 199.4, 208, 215, 220.7, 225.2, 228.7, 231.2, 232.9, 233.9, 234.3, 234.1, 233.5, 232.5, 231.1, 221.3, 209.3, 197.4, 186.5, 177, 168.6, 161.3, 155, 144.4, 135.9, 128.8, 122.8, 117.5, 112.7, 108.4, 104.5, 101, 97.75, 94.8, 92.09, 89.6, 87.29, 77.8, 70.52, 64.84, 60.13 }; - for(i=0; i<60; i++) {e[73][i]=e73[i]*MeV*cm2/g;} + AddData(T0, e73, 73); } + +void G4PSTARStopping::AddData(G4double* ekin, G4double* s, G4int idx) +{ + sdata[idx] = new G4LPhysicsFreeVector(60, ekin[0]*MeV, ekin[59]*MeV); + const G4double fac = MeV*cm2/g; + for(size_t i=0; i<60; ++i) { sdata[idx]->PutValues(i, ekin[i]*MeV, s[i]*fac); } + sdata[idx]->SetSpline(true); +} diff --git a/source/processes/electromagnetic/standard/src/G4PairProductionRelModel.cc b/source/processes/electromagnetic/standard/src/G4PairProductionRelModel.cc index 5af774ef29..3153c9ae25 100644 --- a/source/processes/electromagnetic/standard/src/G4PairProductionRelModel.cc +++ b/source/processes/electromagnetic/standard/src/G4PairProductionRelModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PairProductionRelModel.cc,v 1.3 2009/05/15 17:12:33 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PairProductionRelModel.cc,v 1.4 2010/10/26 09:06:04 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -84,8 +84,6 @@ const G4double G4PairProductionRelModel::Finel_light[] = {0., 6.144 , 5.621 , 5. G4PairProductionRelModel::G4PairProductionRelModel(const G4ParticleDefinition*, const G4String& nam) : G4VEmModel(nam), - theCrossSectionTable(0), - nbins(10), fLPMconstant(fine_structure_const*electron_mass_c2*electron_mass_c2/(4.*pi*hbarc)*0.5), fLPMflag(true), lpmEnergy(0.), @@ -98,72 +96,24 @@ G4PairProductionRelModel::G4PairProductionRelModel(const G4ParticleDefinition*, nist = G4NistManager::Instance(); + currentZ = z13 = z23 = lnZ = Fel = Finel = fCoulomb = phiLPM = gLPM = xiLPM = 0; + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4PairProductionRelModel::~G4PairProductionRelModel() -{ - if(theCrossSectionTable) { - theCrossSectionTable->clearAndDestroy(); - delete theCrossSectionTable; - } -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4PairProductionRelModel::Initialise(const G4ParticleDefinition*, - const G4DataVector&) +void G4PairProductionRelModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector& cuts) { - fParticleChange = GetParticleChangeForGamma(); - - if(theCrossSectionTable) { - theCrossSectionTable->clearAndDestroy(); - delete theCrossSectionTable; - } - - const G4ElementTable* theElementTable = G4Element::GetElementTable(); - size_t nvect = G4Element::GetNumberOfElements(); - theCrossSectionTable = new G4PhysicsTable(nvect); - G4PhysicsLogVector* ptrVector; - G4double emin = LowEnergyLimit(); - G4double emax = HighEnergyLimit(); - G4int n = nbins*G4int(log10(emax/emin)); - G4bool spline = G4LossTableManager::Instance()->SplineFlag(); - G4double e, value; - - for(size_t j=0; jSetSpline(spline); - G4double Z = (*theElementTable)[j]->GetZ(); - G4VEmModel::SetCurrentElement((*theElementTable)[j]); - G4int iz = G4int(Z); - indexZ[iz] = j; - - for(G4int i=0; iGetLowEdgeEnergy( i ) ; - value = ComputeCrossSectionPerAtom(theGamma, e, Z); - ptrVector->PutValue( i, value ); - } - - theCrossSectionTable->insert(ptrVector); - } + if(!fParticleChange) { fParticleChange = GetParticleChangeForGamma(); } + InitialiseElementSelectors(p, cuts); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -/* -G4double G4PairProductionRelModel::ComputeRelXSectionPerAtom(G4double k, G4double Z) -{ - - G4double cross = 0.0; - - - - -} -*/ - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4double G4PairProductionRelModel::ComputeXSectionPerAtom(G4double totalEnergy, G4double Z) @@ -339,7 +289,7 @@ G4PairProductionRelModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition* { // static const G4double gammaEnergyLimit = 1.5*MeV; G4double crossSection = 0.0 ; - if ( Z < 1. ) return crossSection; + if ( Z < 0.9 ) return crossSection; if ( gammaEnergy <= 2.0*electron_mass_c2 ) return crossSection; SetCurrentElement(Z); diff --git a/source/processes/electromagnetic/standard/src/G4PolarizedComptonScattering.cc b/source/processes/electromagnetic/standard/src/G4PolarizedComptonScattering.cc deleted file mode 100644 index 03b3a891e4..0000000000 --- a/source/processes/electromagnetic/standard/src/G4PolarizedComptonScattering.cc +++ /dev/null @@ -1,287 +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: G4PolarizedComptonScattering.cc,v 1.18 2008/10/15 17:53:44 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -//---------- G4PolarizedComptonScattering physics process ---------------------- -// by Vicente Lara, March 1998 -// -// ----------------------------------------------------------------------------- -// Corrections by Rui Curado da Silva (Nov. 2000) -// - Sampling of Phi -// - Depolarization probability -// -// 13-07-01, DoIt: suppression of production cut for the electron (mma) -// 20-09-01, DoIt: fminimalEnergy = 1*eV (mma) -// 04-05-05, Inheritance from ComptonScattering52 (V.Ivanchenko) -// 30-01-06, DoIt : return G4ComptonScattering52::PostStepDoIt(aTrack,aStep) mma -// -// ----------------------------------------------------------------------------- - -#include "G4PolarizedComptonScattering.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4PolarizedComptonScattering::G4PolarizedComptonScattering(const G4String& pname) - : G4ComptonScattering52 (pname) -{ } - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4PolarizedComptonScattering::PostStepDoIt( - const G4Track& aTrack, - const G4Step& aStep) -// -// The scattered gamma energy is sampled according to Klein - Nishina formula. -// The random number techniques of Butcher & Messel are used -// (Nuc Phys 20(1960),15). -// GEANT4 internal units -// -// Note : Effects due to binding of atomic electrons are negliged. - -{ - aParticleChange.Initialize(aTrack); - - const G4DynamicParticle* aDynamicGamma = aTrack.GetDynamicParticle(); - - G4ThreeVector GammaPolarization0 = aDynamicGamma->GetPolarization(); - - if (std::abs(GammaPolarization0.mag() - 1.e0) > 1.e-14) - return G4ComptonScattering52::PostStepDoIt(aTrack,aStep); - - G4double GammaEnergy0 = aDynamicGamma->GetKineticEnergy(); - G4double E0_m = GammaEnergy0 / electron_mass_c2; - - G4ParticleMomentum GammaDirection0 = aDynamicGamma->GetMomentumDirection(); - - // - // sample the energy rate of the scattered gamma - // - G4double epsilon, epsilonsq, onecost, sint2, greject; - - G4double epsilon0 = 1./(1. + 2*E0_m) , epsilon0sq = epsilon0*epsilon0; - G4double alpha1 = - log(epsilon0) , alpha2 = 0.5*(1.- epsilon0sq); - - do { - if (alpha1/(alpha1+alpha2) > G4UniformRand()) - { epsilon = exp(-alpha1*G4UniformRand()); // epsilon0**r - epsilonsq = epsilon*epsilon; } - else { - epsilonsq = epsilon0sq + (1.- epsilon0sq)*G4UniformRand(); - epsilon = sqrt(epsilonsq); - }; - onecost = (1.- epsilon)/(epsilon*E0_m); - sint2 = onecost*(2.-onecost); - greject = 1. - epsilon*sint2/(1.+ epsilonsq); - } while (greject < G4UniformRand()); - - - // - // Phi determination - // - G4double minimum=0., maximum=twopi, middle=0., resolution=0.001; - G4double Rand = G4UniformRand(); - - int j = 0; - while ((j < 100) && (std::abs(SetPhi(epsilon,sint2,middle,Rand)) > resolution)) - { - middle = (maximum + minimum)/2; - if (SetPhi(epsilon,sint2,middle,Rand)* - SetPhi(epsilon,sint2,minimum,Rand)<0) maximum = middle; - else minimum = middle; - j++; - } - - // - // scattered gamma angles. ( Z - axis along the parent gamma) - // - G4double cosTeta = 1. - onecost , sinTeta = sqrt (sint2); - G4double Phi = middle; - G4double dirx = sinTeta*cos(Phi), diry = sinTeta*sin(Phi), dirz = cosTeta; - - // - // update G4VParticleChange for the scattered gamma - // - G4double GammaEnergy1 = epsilon*GammaEnergy0; - - // New polarization - // - G4ThreeVector GammaPolarization1 = SetNewPolarization(epsilon,sint2,Phi, - cosTeta, - GammaPolarization0); - // Set new direction - G4ThreeVector GammaDirection1 ( dirx,diry,dirz ); - - // Change reference frame. - SystemOfRefChange(GammaDirection0,GammaDirection1, - GammaPolarization0,GammaPolarization1); - - G4double localEnergyDeposit = 0.; - - if (GammaEnergy1 > fminimalEnergy) - { - aParticleChange.ProposeEnergy(GammaEnergy1); - } - else - { - localEnergyDeposit += GammaEnergy1; - aParticleChange.ProposeEnergy(0.) ; - aParticleChange.ProposeTrackStatus(fStopAndKill); - } - - // - // kinematic of the scattered electron - // - G4double ElecKineEnergy = GammaEnergy0 - GammaEnergy1; - - if (ElecKineEnergy > fminimalEnergy) - { - G4double ElecMomentum = sqrt(ElecKineEnergy* - (ElecKineEnergy+2.*electron_mass_c2)); - G4ThreeVector ElecDirection ( - (GammaEnergy0*GammaDirection0 - GammaEnergy1*GammaDirection1) - *(1./ElecMomentum)); - - // create G4DynamicParticle object for the electron. - G4DynamicParticle* aElectron= new G4DynamicParticle ( - G4Electron::Electron(),ElecDirection,ElecKineEnergy); - aParticleChange.SetNumberOfSecondaries(1); - aParticleChange.AddSecondary( aElectron ); - } - else - { - aParticleChange.SetNumberOfSecondaries(0); - localEnergyDeposit += ElecKineEnergy; - } - - aParticleChange.ProposeLocalEnergyDeposit(localEnergyDeposit); - - // Reset NbOfInteractionLengthLeft and return aParticleChange - return G4VDiscreteProcess::PostStepDoIt( aTrack, aStep); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4PolarizedComptonScattering::SetPhi(G4double EnergyRate, - G4double sinsqrth, - G4double phi, - G4double rand) -{ - G4double cosphi = cos(phi), sinphi = sin(phi); - G4double PhiDetermination = ((twopi*rand - phi) - *(EnergyRate + 1./EnergyRate - sinsqrth)) - + (sinsqrth*sinphi*cosphi); - return PhiDetermination; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4ThreeVector G4PolarizedComptonScattering::SetNewPolarization( - G4double EnergyRate, - G4double sinsqrth, - G4double phi, - G4double costheta, - G4ThreeVector&) -{ - G4double cosphi = cos(phi), sinphi = sin(phi); - //// G4double ParallelIntensityPolar = EnergyRate + 1./EnergyRate - //// + 2. - 4.*sinsqrth*cosphi*cosphi; - G4double ParallelIntensityPolar = EnergyRate + 1./EnergyRate - - 2.*sinsqrth*cosphi*cosphi; - G4double PerpendiIntensityPolar = EnergyRate + 1./EnergyRate - 2.; - G4double PolarizationDegree = sqrt(sinsqrth*sinphi*sinphi+costheta*costheta); - G4double sintheta = sqrt(sinsqrth); - - G4ThreeVector GammaPolarization1; - // depolarization probability (1-P) - if ( G4UniformRand() > (PerpendiIntensityPolar/ParallelIntensityPolar) ) - { - // Parallel to initial polarization - GammaPolarization1.setX(PolarizationDegree); - GammaPolarization1.setY(-sinsqrth*sinphi*cosphi/PolarizationDegree); - GammaPolarization1.setZ(-sintheta*costheta*cosphi/PolarizationDegree); - - } - else - { - // Perpendicular to initial polarization - GammaPolarization1.setX(0.); - GammaPolarization1.setY(costheta/PolarizationDegree); - GammaPolarization1.setZ(-sintheta*sinphi/PolarizationDegree); - - }; - - return GammaPolarization1; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4PolarizedComptonScattering::SystemOfRefChange(G4ThreeVector& Direction0, - G4ThreeVector& Direction1, - G4ThreeVector& Polarization0, - G4ThreeVector& Polarization1) -{ - // Angles for go back to the original RS - G4double cosTeta0 = Direction0.cosTheta(), sinTeta0 = sin(Direction0.theta()); - G4double cosPhi0 = cos(Direction0.phi()), sinPhi0 = sin(Direction0.phi()); - - - - G4double cosPsi, sinPsi; - - if (sinTeta0 != 0. ) - { - cosPsi = -Polarization0.z()/sinTeta0; - if (cosPhi0 != 0.) - sinPsi = (Polarization0.y() - cosTeta0*sinPhi0*cosPsi)/cosPhi0; - else sinPsi = -Polarization0.x()/sinPhi0; - - } - else - { - cosPsi = Polarization0.x()/cosTeta0; - sinPsi = Polarization0.y(); - } - G4double Psi = atan(sinPsi/cosPsi); - - // Rotation along Z axe - Direction1.rotateZ(Psi); - // - Direction1.rotateUz(Direction0); - aParticleChange.ProposeMomentumDirection(Direction1); - - // 3 Euler angles rotation for scattered photon polarization - Polarization1.rotateZ(Psi); - Polarization1.rotateUz(Direction0); - aParticleChange.ProposePolarization(Polarization1); - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4UniversalFluctuation.cc b/source/processes/electromagnetic/standard/src/G4UniversalFluctuation.cc index 49a23c1830..ed92b23b52 100644 --- a/source/processes/electromagnetic/standard/src/G4UniversalFluctuation.cc +++ b/source/processes/electromagnetic/standard/src/G4UniversalFluctuation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4UniversalFluctuation.cc,v 1.22 2009/03/20 18:11:23 urban Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4UniversalFluctuation.cc,v 1.28 2010/10/26 10:06:12 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -33,7 +33,7 @@ // // File name: G4UniversalFluctuation // -// Author: Vladimir Ivanchenko +// Author: Laszlo Urban // // Creation date: 03.01.2002 // @@ -56,8 +56,11 @@ // regime any more (L.Urban) // 03-04-07 correction to get better width of eloss distr.(L.Urban) // 13-07-07 add protection for very small step or low-density material (VI) -// 19-03-09 new width correction (does not depend on previous steps) (L.Urban) +// 19-03-09 new width correction (does not depend on previous steps) (L.Urban) // 20-03-09 modification in the width correction (L.Urban) +// 14-06-10 fixed tail distribution - do not use uniform function (L.Urban) +// 08-08-10 width correction algorithm has bee modified --> +// better results for thin targets (L.Urban) // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -81,10 +84,15 @@ G4UniversalFluctuation::G4UniversalFluctuation(const G4String& nam) minNumberInteractionsBohr(10.0), theBohrBeta2(50.0*keV/proton_mass_c2), minLoss(10.*eV), - nmaxCont1(4.), - nmaxCont2(16.) + nmaxCont(16.), + rate(0.55), + fw(4.) { lastMaterial = 0; + + particleMass = chargeSquare = ipotFluct = electronDensity = f1Fluct = f2Fluct + = e1Fluct = e2Fluct = e1LogFluct = e2LogFluct = ipotLogFluct = e0 = esmall + = e1 = e2 = 0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -117,10 +125,9 @@ G4double G4UniversalFluctuation::SampleFluctuations(const G4Material* material, // shortcut for very very small loss (out of validity of the model) // - if (meanLoss < minLoss) - return meanLoss; + if (meanLoss < minLoss) { return meanLoss; } - if(!particle) InitialiseMe(dp->GetDefinition()); + if(!particle) { InitialiseMe(dp->GetDefinition()); } G4double tau = dp->GetKineticEnergy()/particleMass; G4double gam = tau + 1.0; @@ -173,18 +180,9 @@ G4double G4UniversalFluctuation::SampleFluctuations(const G4Material* material, ipotFluct = material->GetIonisation()->GetMeanExcitationEnergy(); ipotLogFluct = material->GetIonisation()->GetLogMeanExcEnergy(); e0 = material->GetIonisation()->GetEnergy0fluct(); + esmall = 0.5*sqrt(e0*ipotFluct); lastMaterial = material; - - // modification of some model parameters - // (this part should go to materials later) - G4double p = 1.40; - f2Fluct *= p; - f1Fluct = 1.-f2Fluct; - G4double q = 1.00; - e2Fluct *= q; - e2LogFluct = log(e2Fluct); - e1LogFluct = (ipotLogFluct-f2Fluct*e2LogFluct)/f1Fluct; - e1Fluct = exp(e1LogFluct); + } // very small step or low-density material @@ -192,43 +190,55 @@ G4double G4UniversalFluctuation::SampleFluctuations(const G4Material* material, G4double a1 = 0. , a2 = 0., a3 = 0. ; - // cut and material dependent rate - G4double rate = 1.0; if(tmax > ipotFluct) { G4double w2 = log(2.*electron_mass_c2*beta2*gam2)-beta2; - if(w2 > ipotLogFluct && w2 > e2LogFluct) { - - rate = 0.03+0.23*log(log(tmax/ipotFluct)); + if(w2 > ipotLogFluct && w2 > e2LogFluct && tmax> ipotFluct) { G4double C = meanLoss*(1.-rate)/(w2-ipotLogFluct); a1 = C*f1Fluct*(w2-e1LogFluct)/e1Fluct; a2 = C*f2Fluct*(w2-e2LogFluct)/e2Fluct; - // correction in order to get better FWHM values - // ( scale parameters a1 and e1) - G4double width = 1.; - if(meanLoss > 10.*e1Fluct) + + + if(a1 < nmaxCont) + { + //small energy loss + G4double sa1 = sqrt(a1); + if(G4UniformRand() < exp(-sa1)) { - width = 3.1623/sqrt(meanLoss/e1Fluct); - if(width < a2/a1) - width = a2/a1; + e1 = esmall; + a1 = meanLoss*(1.-rate)/e1; + a2 = 0.; + e2 = e2Fluct; } - a1 *= width; - e1 = e1Fluct/width; + else + { + a1 = sa1 ; + e1 = sa1*e1Fluct; + e2 = e2Fluct; + } + } + else + { + //not small energy loss + //correction to get better fwhm value + a1 /= fw; + e1 = fw*e1Fluct; e2 = e2Fluct; } - } + } + } G4double w1 = tmax/e0; if(tmax > e0) a3 = rate*meanLoss*(tmax-e0)/(e0*tmax*log(w1)); - //'nearly' Gaussian fluctuation if a1>nmaxCont2&&a2>nmaxCont2&&a3>nmaxCont2 + //'nearly' Gaussian fluctuation if a1>nmaxCont&&a2>nmaxCont&&a3>nmaxCont G4double emean = 0.; G4double sig2e = 0., sige = 0.; G4double p1 = 0., p2 = 0., p3 = 0.; // excitation of type 1 - if(a1 > nmaxCont2) + if(a1 > nmaxCont) { emean += a1*e1; sig2e += a1*e1*e1; @@ -242,7 +252,7 @@ G4double G4UniversalFluctuation::SampleFluctuations(const G4Material* material, } // excitation of type 2 - if(a2 > nmaxCont2) + if(a2 > nmaxCont) { emean += a2*e2; sig2e += a2*e2*e2; @@ -261,9 +271,9 @@ G4double G4UniversalFluctuation::SampleFluctuations(const G4Material* material, { p3 = a3; G4double alfa = 1.; - if(a3 > nmaxCont2) + if(a3 > nmaxCont) { - alfa = w1*(nmaxCont2+a3)/(w1*nmaxCont2+a3); + alfa = w1*(nmaxCont+a3)/(w1*nmaxCont+a3); G4double alfa1 = alfa*log(alfa)/(alfa-1.); G4double namean = a3*w1*(alfa-1.)/((w1-1.)*alfa); emean += namean*e0*alfa1; diff --git a/source/processes/electromagnetic/standard/src/G4UniversalFluctuation93.cc b/source/processes/electromagnetic/standard/src/G4UniversalFluctuation93.cc new file mode 100644 index 0000000000..41030c40d3 --- /dev/null +++ b/source/processes/electromagnetic/standard/src/G4UniversalFluctuation93.cc @@ -0,0 +1,333 @@ +// +// ******************************************************************** +// * 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: G4UniversalFluctuation93.cc,v 1.2 2010/10/26 10:06:12 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4UniversalFluctuation93 +// +// Author: V.Ivanchenko make a class with the Laszlo Urban model +// +// Creation date: 03.01.2002 +// +// Modifications: +// +// 28-12-02 add method Dispersion (V.Ivanchenko) +// 07-02-03 change signature (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// 16-10-03 Changed interface to Initialisation (V.Ivanchenko) +// 07-11-03 Fix problem of rounding of double +// 06-02-04 Add control on big sigma > 2*meanLoss (V.Ivanchenko) +// 26-04-04 Comment out the case of very small step (V.Ivanchenko) +// 07-02-05 define problim = 5.e-3 (mma) +// 03-05-05 conditions of Gaussian fluctuation changed (bugfix) +// + smearing for very small loss (L.Urban) +// 03-10-05 energy dependent rate -> cut dependence of the +// distribution is much weaker (L.Urban) +// 17-10-05 correction for very small loss (L.Urban) +// 20-03-07 'GLANDZ' part rewritten completely, no 'very small loss' +// regime any more (L.Urban) +// 03-04-07 correction to get better width of eloss distr.(L.Urban) +// 13-07-07 add protection for very small step or low-density material (VI) +// 19-03-09 new width correction (does not depend on previous steps) (L.Urban) +// 20-03-09 modification in the width correction (L.Urban) +// 14-06-10 saved version of 9.3 model with the name G4UniversalFluctuation93 +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4UniversalFluctuation93.hh" +#include "Randomize.hh" +#include "G4Poisson.hh" +#include "G4Step.hh" +#include "G4Material.hh" +#include "G4DynamicParticle.hh" +#include "G4ParticleDefinition.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +using namespace std; + +G4UniversalFluctuation93::G4UniversalFluctuation93(const G4String& nam) + :G4VEmFluctuationModel(nam), + particle(0), + minNumberInteractionsBohr(10.0), + theBohrBeta2(50.0*keV/proton_mass_c2), + minLoss(10.*eV), + nmaxCont1(4.), + nmaxCont2(16.) +{ + lastMaterial = 0; + + particleMass = chargeSquare = ipotFluct = electronDensity = f1Fluct = f2Fluct + = e1Fluct = e2Fluct = e1LogFluct = e2LogFluct = ipotLogFluct = e0 + = e1 = e2 = 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4UniversalFluctuation93::~G4UniversalFluctuation93() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4UniversalFluctuation93::InitialiseMe(const G4ParticleDefinition* part) +{ + particle = part; + particleMass = part->GetPDGMass(); + G4double q = part->GetPDGCharge()/eplus; + chargeSquare = q*q; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double +G4UniversalFluctuation93::SampleFluctuations(const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length, + G4double& meanLoss) +{ +// Calculate actual loss from the mean loss. +// The model used to get the fluctuations is essentially the same +// as in Glandz in Geant3 (Cern program library W5013, phys332). +// L. Urban et al. NIM A362, p.416 (1995) and Geant4 Physics Reference Manual + + // shortcut for very very small loss (out of validity of the model) + // + if (meanLoss < minLoss) + return meanLoss; + + if(!particle) InitialiseMe(dp->GetDefinition()); + + G4double tau = dp->GetKineticEnergy()/particleMass; + G4double gam = tau + 1.0; + G4double gam2 = gam*gam; + G4double beta2 = tau*(tau + 2.0)/gam2; + + G4double loss(0.), siga(0.); + + // Gaussian regime + // for heavy particles only and conditions + // for Gauusian fluct. has been changed + // + if ((particleMass > electron_mass_c2) && + (meanLoss >= minNumberInteractionsBohr*tmax)) + { + G4double massrate = electron_mass_c2/particleMass ; + G4double tmaxkine = 2.*electron_mass_c2*beta2*gam2/ + (1.+massrate*(2.*gam+massrate)) ; + if (tmaxkine <= 2.*tmax) + { + electronDensity = material->GetElectronDensity(); + siga = (1.0/beta2 - 0.5) * twopi_mc2_rcl2 * tmax * length + * electronDensity * chargeSquare; + siga = sqrt(siga); + G4double twomeanLoss = meanLoss + meanLoss; + if (twomeanLoss < siga) { + G4double x; + do { + loss = twomeanLoss*G4UniformRand(); + x = (loss - meanLoss)/siga; + } while (1.0 - 0.5*x*x < G4UniformRand()); + } else { + do { + loss = G4RandGauss::shoot(meanLoss,siga); + } while (loss < 0. || loss > twomeanLoss); + } + return loss; + } + } + + // Glandz regime : initialisation + // + if (material != lastMaterial) { + f1Fluct = material->GetIonisation()->GetF1fluct(); + f2Fluct = material->GetIonisation()->GetF2fluct(); + e1Fluct = material->GetIonisation()->GetEnergy1fluct(); + e2Fluct = material->GetIonisation()->GetEnergy2fluct(); + e1LogFluct = material->GetIonisation()->GetLogEnergy1fluct(); + e2LogFluct = material->GetIonisation()->GetLogEnergy2fluct(); + ipotFluct = material->GetIonisation()->GetMeanExcitationEnergy(); + ipotLogFluct = material->GetIonisation()->GetLogMeanExcEnergy(); + e0 = material->GetIonisation()->GetEnergy0fluct(); + lastMaterial = material; + + // modification of some model parameters + // (this part should go to materials later) + G4double p = 1.40; + f2Fluct *= p; + f1Fluct = 1.-f2Fluct; + G4double q = 1.00; + e2Fluct *= q; + e2LogFluct = log(e2Fluct); + e1LogFluct = (ipotLogFluct-f2Fluct*e2LogFluct)/f1Fluct; + e1Fluct = exp(e1LogFluct); + } + + // very small step or low-density material + if(tmax <= e0) return meanLoss; + + G4double a1 = 0. , a2 = 0., a3 = 0. ; + + // cut and material dependent rate + G4double rate = 1.0; + if(tmax > ipotFluct) { + G4double w2 = log(2.*electron_mass_c2*beta2*gam2)-beta2; + + if(w2 > ipotLogFluct && w2 > e2LogFluct) { + + rate = 0.03+0.23*log(log(tmax/ipotFluct)); + G4double C = meanLoss*(1.-rate)/(w2-ipotLogFluct); + a1 = C*f1Fluct*(w2-e1LogFluct)/e1Fluct; + a2 = C*f2Fluct*(w2-e2LogFluct)/e2Fluct; + // correction in order to get better FWHM values + // ( scale parameters a1 and e1) + G4double width = 1.; + if(meanLoss > 10.*e1Fluct) + { + width = 3.1623/sqrt(meanLoss/e1Fluct); + if(width < a2/a1) + width = a2/a1; + } + a1 *= width; + e1 = e1Fluct/width; + e2 = e2Fluct; + } + } + + G4double w1 = tmax/e0; + if(tmax > e0) + a3 = rate*meanLoss*(tmax-e0)/(e0*tmax*log(w1)); + + //'nearly' Gaussian fluctuation if a1>nmaxCont2&&a2>nmaxCont2&&a3>nmaxCont2 + G4double emean = 0.; + G4double sig2e = 0., sige = 0.; + G4double p1 = 0., p2 = 0., p3 = 0.; + + // excitation of type 1 + if(a1 > nmaxCont2) + { + emean += a1*e1; + sig2e += a1*e1*e1; + } + else if(a1 > 0.) + { + p1 = G4double(G4Poisson(a1)); + loss += p1*e1; + if(p1 > 0.) + loss += (1.-2.*G4UniformRand())*e1; + } + + // excitation of type 2 + if(a2 > nmaxCont2) + { + emean += a2*e2; + sig2e += a2*e2*e2; + } + else if(a2 > 0.) + { + p2 = G4double(G4Poisson(a2)); + loss += p2*e2; + if(p2 > 0.) + loss += (1.-2.*G4UniformRand())*e2; + } + + // ionisation + G4double lossc = 0.; + if(a3 > 0.) + { + p3 = a3; + G4double alfa = 1.; + if(a3 > nmaxCont2) + { + alfa = w1*(nmaxCont2+a3)/(w1*nmaxCont2+a3); + G4double alfa1 = alfa*log(alfa)/(alfa-1.); + G4double namean = a3*w1*(alfa-1.)/((w1-1.)*alfa); + emean += namean*e0*alfa1; + sig2e += e0*e0*namean*(alfa-alfa1*alfa1); + p3 = a3-namean; + } + + G4double w2 = alfa*e0; + G4double w = (tmax-w2)/tmax; + G4int nb = G4Poisson(p3); + if(nb > 0) + for (G4int k=0; k 0.) + { + sige = sqrt(sig2e); + loss += max(0.,G4RandGauss::shoot(emean,sige)); + } + + loss += lossc; + + return loss; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + +G4double G4UniversalFluctuation93::Dispersion( + const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length) +{ + if(!particle) InitialiseMe(dp->GetDefinition()); + + electronDensity = material->GetElectronDensity(); + + G4double gam = (dp->GetKineticEnergy())/particleMass + 1.0; + G4double beta2 = 1.0 - 1.0/(gam*gam); + + G4double siga = (1.0/beta2 - 0.5) * twopi_mc2_rcl2 * tmax * length + * electronDensity * chargeSquare; + + return siga; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4UniversalFluctuation93::SetParticleAndCharge( + const G4ParticleDefinition* part, G4double q2) +{ + if(part != particle) { + particle = part; + particleMass = part->GetPDGMass(); + } + chargeSquare = q2; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4UrbanMscModel.cc b/source/processes/electromagnetic/standard/src/G4UrbanMscModel.cc deleted file mode 100644 index f6dd292e53..0000000000 --- a/source/processes/electromagnetic/standard/src/G4UrbanMscModel.cc +++ /dev/null @@ -1,1055 +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: G4UrbanMscModel.cc,v 1.91 2009/07/20 18:41:34 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// -// ------------------------------------------------------------------- -// -// GEANT4 Class file -// -// -// File name: G4UrbanMscModel -// -// Author: Laszlo Urban -// -// Creation date: 06.03.2008 -// -// Modifications: -// -// 06-03-2008 starting point : G4UrbanMscModel2 = G4UrbanMscModel 9.1 ref 02 -// -// 13-03-08 Bug in SampleScattering (which caused lateral asymmetry) fixed -// (L.Urban) -// -// 14-03-08 Simplification of step limitation in ComputeTruePathLengthLimit, -// + tlimitmin is the same for UseDistancetoBoundary and -// UseSafety (L.Urban) -// -// 16-03-08 Reorganization of SampleCosineTheta + new method SimpleScattering -// SimpleScattering is used if the relative energy loss is too big -// or theta0 is too big (see data members rellossmax, theta0max) -// (L.Urban) -// -// 17-03-08 tuning of the correction factor in ComputeTheta0 (L.Urban) -// -// 19-03-08 exponent c of the 'tail' model function is not equal to 2 any more, -// value of c has been extracted from some e- scattering data (L.Urban) -// -// 24-03-08 Step limitation in ComputeTruePathLengthLimit has been -// simplified further + some data members have been removed (L.Urban) -// -// 24-07-08 central part of scattering angle (theta0) has been tuned -// tail of the scattering angle distribution has been tuned -// using some e- and proton scattering data -// -// 05-08-08 bugfix in ComputeTruePathLengthLimit (L.Urban) -// -// 09-10-08 theta0 and tail have been retuned using some e-,mu,proton -// scattering data (L.Urban) -// + single scattering without path length correction for -// small steps (t < tlimitmin, for UseDistanceToBoundary only) -// -// 15-10-08 Moliere-Bethe screening in the single scattering part(L.Urban) -// -// 17-10-08 stepping similar to that in model (9.1) for UseSafety case -// for e+/e- in order to speed up the code for calorimeters -// -// 23-10-08 bugfix in the screeningparameter of the single scattering part, -// some technical change in order to speed up the code (UpdateCache) -// -// 27-10-08 bugfix in ComputeTruePathLengthLimit (affects UseDistanceToBoundary -// stepping type only) (L.Urban) -// -// 28-04-09 move G4UrbanMscModel2 from the g49.2 to G4UrbanMscModel. -// now it is frozen (V.Ivanchenk0) - -// Class Description: -// -// Implementation of the model of multiple scattering based on -// H.W.Lewis Phys Rev 78 (1950) 526 and others - -// ------------------------------------------------------------------- -// In its present form the model can be used for simulation -// of the e-/e+, muon and charged hadron multiple scattering -// - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4UrbanMscModel.hh" -#include "Randomize.hh" -#include "G4Electron.hh" -#include "G4LossTableManager.hh" -#include "G4ParticleChangeForMSC.hh" - -#include "G4Poisson.hh" -#include "globals.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4UrbanMscModel::G4UrbanMscModel(const G4String& nam) - : G4VMscModel(nam), - isInitialized(false) -{ - masslimite = 0.6*MeV; - lambdalimit = 1.*mm; - fr = 0.02; - // facsafety = 0.3; - taubig = 8.0; - tausmall = 1.e-16; - taulim = 1.e-6; - currentTau = taulim; - tlimitminfix = 1.e-6*mm; - stepmin = tlimitminfix; - smallstep = 1.e10; - currentRange = 0. ; - rangeinit = 0.; - tlimit = 1.e10*mm; - tlimitmin = 10.*tlimitminfix; - tgeom = 1.e50*mm; - geombig = 1.e50*mm; - geommin = 1.e-3*mm; - geomlimit = geombig; - presafety = 0.*mm; - - y = 0.; - - Zold = 0.; - Zeff = 1.; - Z2 = 1.; - Z23 = 1.; - lnZ = 0.; - coeffth1 = 0.; - coeffth2 = 0.; - coeffc1 = 0.; - coeffc2 = 0.; - scr1ini = fine_structure_const*fine_structure_const* - electron_mass_c2*electron_mass_c2/(0.885*0.885*4.*pi); - scr2ini = 3.76*fine_structure_const*fine_structure_const; - scr1 = 0.; - scr2 = 0.; - - theta0max = pi/6.; - rellossmax = 0.50; - third = 1./3.; - particle = 0; - theManager = G4LossTableManager::Instance(); - inside = false; - insideskin = false; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4UrbanMscModel::~G4UrbanMscModel() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4UrbanMscModel::Initialise(const G4ParticleDefinition* p, - const G4DataVector&) -{ - skindepth = skin*stepmin; - if(isInitialized) return; - // set values of some data members - SetParticle(p); - - fParticleChange = GetParticleChangeForMSC(); - InitialiseSafetyHelper(); - - isInitialized = true; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4UrbanMscModel::ComputeCrossSectionPerAtom( - const G4ParticleDefinition* part, - G4double KineticEnergy, - G4double AtomicNumber,G4double, - G4double, G4double) -{ - const G4double sigmafactor = twopi*classic_electr_radius*classic_electr_radius; - const G4double epsfactor = 2.*electron_mass_c2*electron_mass_c2* - Bohr_radius*Bohr_radius/(hbarc*hbarc); - const G4double epsmin = 1.e-4 , epsmax = 1.e10; - - const G4double Zdat[15] = { 4., 6., 13., 20., 26., 29., 32., 38., 47., - 50., 56., 64., 74., 79., 82. }; - - const G4double Tdat[22] = { 100*eV, 200*eV, 400*eV, 700*eV, - 1*keV, 2*keV, 4*keV, 7*keV, - 10*keV, 20*keV, 40*keV, 70*keV, - 100*keV, 200*keV, 400*keV, 700*keV, - 1*MeV, 2*MeV, 4*MeV, 7*MeV, - 10*MeV, 20*MeV}; - - // corr. factors for e-/e+ lambda for T <= Tlim - G4double celectron[15][22] = - {{1.125,1.072,1.051,1.047,1.047,1.050,1.052,1.054, - 1.054,1.057,1.062,1.069,1.075,1.090,1.105,1.111, - 1.112,1.108,1.100,1.093,1.089,1.087 }, - {1.408,1.246,1.143,1.096,1.077,1.059,1.053,1.051, - 1.052,1.053,1.058,1.065,1.072,1.087,1.101,1.108, - 1.109,1.105,1.097,1.090,1.086,1.082 }, - {2.833,2.268,1.861,1.612,1.486,1.309,1.204,1.156, - 1.136,1.114,1.106,1.106,1.109,1.119,1.129,1.132, - 1.131,1.124,1.113,1.104,1.099,1.098 }, - {3.879,3.016,2.380,2.007,1.818,1.535,1.340,1.236, - 1.190,1.133,1.107,1.099,1.098,1.103,1.110,1.113, - 1.112,1.105,1.096,1.089,1.085,1.098 }, - {6.937,4.330,2.886,2.256,1.987,1.628,1.395,1.265, - 1.203,1.122,1.080,1.065,1.061,1.063,1.070,1.073, - 1.073,1.070,1.064,1.059,1.056,1.056 }, - {9.616,5.708,3.424,2.551,2.204,1.762,1.485,1.330, - 1.256,1.155,1.099,1.077,1.070,1.068,1.072,1.074, - 1.074,1.070,1.063,1.059,1.056,1.052 }, - {11.72,6.364,3.811,2.806,2.401,1.884,1.564,1.386, - 1.300,1.180,1.112,1.082,1.073,1.066,1.068,1.069, - 1.068,1.064,1.059,1.054,1.051,1.050 }, - {18.08,8.601,4.569,3.183,2.662,2.025,1.646,1.439, - 1.339,1.195,1.108,1.068,1.053,1.040,1.039,1.039, - 1.039,1.037,1.034,1.031,1.030,1.036 }, - {18.22,10.48,5.333,3.713,3.115,2.367,1.898,1.631, - 1.498,1.301,1.171,1.105,1.077,1.048,1.036,1.033, - 1.031,1.028,1.024,1.022,1.021,1.024 }, - {14.14,10.65,5.710,3.929,3.266,2.453,1.951,1.669, - 1.528,1.319,1.178,1.106,1.075,1.040,1.027,1.022, - 1.020,1.017,1.015,1.013,1.013,1.020 }, - {14.11,11.73,6.312,4.240,3.478,2.566,2.022,1.720, - 1.569,1.342,1.186,1.102,1.065,1.022,1.003,0.997, - 0.995,0.993,0.993,0.993,0.993,1.011 }, - {22.76,20.01,8.835,5.287,4.144,2.901,2.219,1.855, - 1.677,1.410,1.224,1.121,1.073,1.014,0.986,0.976, - 0.974,0.972,0.973,0.974,0.975,0.987 }, - {50.77,40.85,14.13,7.184,5.284,3.435,2.520,2.059, - 1.837,1.512,1.283,1.153,1.091,1.010,0.969,0.954, - 0.950,0.947,0.949,0.952,0.954,0.963 }, - {65.87,59.06,15.87,7.570,5.567,3.650,2.682,2.182, - 1.939,1.579,1.325,1.178,1.108,1.014,0.965,0.947, - 0.941,0.938,0.940,0.944,0.946,0.954 }, - {55.60,47.34,15.92,7.810,5.755,3.767,2.760,2.239, - 1.985,1.609,1.343,1.188,1.113,1.013,0.960,0.939, - 0.933,0.930,0.933,0.936,0.939,0.949 }}; - - G4double cpositron[15][22] = { - {2.589,2.044,1.658,1.446,1.347,1.217,1.144,1.110, - 1.097,1.083,1.080,1.086,1.092,1.108,1.123,1.131, - 1.131,1.126,1.117,1.108,1.103,1.100 }, - {3.904,2.794,2.079,1.710,1.543,1.325,1.202,1.145, - 1.122,1.096,1.089,1.092,1.098,1.114,1.130,1.137, - 1.138,1.132,1.122,1.113,1.108,1.102 }, - {7.970,6.080,4.442,3.398,2.872,2.127,1.672,1.451, - 1.357,1.246,1.194,1.179,1.178,1.188,1.201,1.205, - 1.203,1.190,1.173,1.159,1.151,1.145 }, - {9.714,7.607,5.747,4.493,3.815,2.777,2.079,1.715, - 1.553,1.353,1.253,1.219,1.211,1.214,1.225,1.228, - 1.225,1.210,1.191,1.175,1.166,1.174 }, - {17.97,12.95,8.628,6.065,4.849,3.222,2.275,1.820, - 1.624,1.382,1.259,1.214,1.202,1.202,1.214,1.219, - 1.217,1.203,1.184,1.169,1.160,1.151 }, - {24.83,17.06,10.84,7.355,5.767,3.707,2.546,1.996, - 1.759,1.465,1.311,1.252,1.234,1.228,1.238,1.241, - 1.237,1.222,1.201,1.184,1.174,1.159 }, - {23.26,17.15,11.52,8.049,6.375,4.114,2.792,2.155, - 1.880,1.535,1.353,1.281,1.258,1.247,1.254,1.256, - 1.252,1.234,1.212,1.194,1.183,1.170 }, - {22.33,18.01,12.86,9.212,7.336,4.702,3.117,2.348, - 2.015,1.602,1.385,1.297,1.268,1.251,1.256,1.258, - 1.254,1.237,1.214,1.195,1.185,1.179 }, - {33.91,24.13,15.71,10.80,8.507,5.467,3.692,2.808, - 2.407,1.873,1.564,1.425,1.374,1.330,1.324,1.320, - 1.312,1.288,1.258,1.235,1.221,1.205 }, - {32.14,24.11,16.30,11.40,9.015,5.782,3.868,2.917, - 2.490,1.925,1.596,1.447,1.391,1.342,1.332,1.327, - 1.320,1.294,1.264,1.240,1.226,1.214 }, - {29.51,24.07,17.19,12.28,9.766,6.238,4.112,3.066, - 2.602,1.995,1.641,1.477,1.414,1.356,1.342,1.336, - 1.328,1.302,1.270,1.245,1.231,1.233 }, - {38.19,30.85,21.76,15.35,12.07,7.521,4.812,3.498, - 2.926,2.188,1.763,1.563,1.484,1.405,1.382,1.371, - 1.361,1.330,1.294,1.267,1.251,1.239 }, - {49.71,39.80,27.96,19.63,15.36,9.407,5.863,4.155, - 3.417,2.478,1.944,1.692,1.589,1.480,1.441,1.423, - 1.409,1.372,1.330,1.298,1.280,1.258 }, - {59.25,45.08,30.36,20.83,16.15,9.834,6.166,4.407, - 3.641,2.648,2.064,1.779,1.661,1.531,1.482,1.459, - 1.442,1.400,1.354,1.319,1.299,1.272 }, - {56.38,44.29,30.50,21.18,16.51,10.11,6.354,4.542, - 3.752,2.724,2.116,1.817,1.692,1.554,1.499,1.474, - 1.456,1.412,1.364,1.328,1.307,1.282 }}; - - //data/corrections for T > Tlim - G4double Tlim = 10.*MeV; - G4double beta2lim = Tlim*(Tlim+2.*electron_mass_c2)/ - ((Tlim+electron_mass_c2)*(Tlim+electron_mass_c2)); - G4double bg2lim = Tlim*(Tlim+2.*electron_mass_c2)/ - (electron_mass_c2*electron_mass_c2); - - G4double sig0[15] = {0.2672*barn, 0.5922*barn, 2.653*barn, 6.235*barn, - 11.69*barn , 13.24*barn , 16.12*barn, 23.00*barn , - 35.13*barn , 39.95*barn , 50.85*barn, 67.19*barn , - 91.15*barn , 104.4*barn , 113.1*barn}; - - G4double hecorr[15] = {120.70, 117.50, 105.00, 92.92, 79.23, 74.510, 68.29, - 57.39, 41.97, 36.14, 24.53, 10.21, -7.855, -16.84, - -22.30}; - - G4double sigma; - SetParticle(part); - - G4double Z23 = 2.*log(AtomicNumber)/3.; Z23 = exp(Z23); - - // correction if particle .ne. e-/e+ - // compute equivalent kinetic energy - // lambda depends on p*beta .... - - G4double eKineticEnergy = KineticEnergy; - - if(mass > electron_mass_c2) - { - G4double TAU = KineticEnergy/mass ; - G4double c = mass*TAU*(TAU+2.)/(electron_mass_c2*(TAU+1.)) ; - G4double w = c-2. ; - G4double tau = 0.5*(w+sqrt(w*w+4.*c)) ; - eKineticEnergy = electron_mass_c2*tau ; - } - - G4double eTotalEnergy = eKineticEnergy + electron_mass_c2 ; - G4double beta2 = eKineticEnergy*(eTotalEnergy+electron_mass_c2) - /(eTotalEnergy*eTotalEnergy); - G4double bg2 = eKineticEnergy*(eTotalEnergy+electron_mass_c2) - /(electron_mass_c2*electron_mass_c2); - - G4double eps = epsfactor*bg2/Z23; - - if (eps=0)&&(Zdat[iZ]>=AtomicNumber)) iZ -= 1; - if (iZ==14) iZ = 13; - if (iZ==-1) iZ = 0 ; - - G4double Z1 = Zdat[iZ]; - G4double Z2 = Zdat[iZ+1]; - G4double ratZ = (AtomicNumber-Z1)*(AtomicNumber+Z1)/ - ((Z2-Z1)*(Z2+Z1)); - - if(eKineticEnergy <= Tlim) - { - // get bin number in T (beta2) - G4int iT = 21; - while ((iT>=0)&&(Tdat[iT]>=eKineticEnergy)) iT -= 1; - if(iT==21) iT = 20; - if(iT==-1) iT = 0 ; - - // calculate betasquare values - G4double T = Tdat[iT], E = T + electron_mass_c2; - G4double b2small = T*(E+electron_mass_c2)/(E*E); - - T = Tdat[iT+1]; E = T + electron_mass_c2; - G4double b2big = T*(E+electron_mass_c2)/(E*E); - G4double ratb2 = (beta2-b2small)/(b2big-b2small); - - if (charge < 0.) - { - c1 = celectron[iZ][iT]; - c2 = celectron[iZ+1][iT]; - cc1 = c1+ratZ*(c2-c1); - - c1 = celectron[iZ][iT+1]; - c2 = celectron[iZ+1][iT+1]; - cc2 = c1+ratZ*(c2-c1); - - corr = cc1+ratb2*(cc2-cc1); - - sigma *= sigmafactor/corr; - } - else - { - c1 = cpositron[iZ][iT]; - c2 = cpositron[iZ+1][iT]; - cc1 = c1+ratZ*(c2-c1); - - c1 = cpositron[iZ][iT+1]; - c2 = cpositron[iZ+1][iT+1]; - cc2 = c1+ratZ*(c2-c1); - - corr = cc1+ratb2*(cc2-cc1); - - sigma *= sigmafactor/corr; - } - } - else - { - c1 = bg2lim*sig0[iZ]*(1.+hecorr[iZ]*(beta2-beta2lim))/bg2; - c2 = bg2lim*sig0[iZ+1]*(1.+hecorr[iZ+1]*(beta2-beta2lim))/bg2; - if((AtomicNumber >= Z1) && (AtomicNumber <= Z2)) - sigma = c1+ratZ*(c2-c1) ; - else if(AtomicNumber < Z1) - sigma = AtomicNumber*AtomicNumber*c1/(Z1*Z1); - else if(AtomicNumber > Z2) - sigma = AtomicNumber*AtomicNumber*c2/(Z2*Z2); - } - return sigma; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4UrbanMscModel::ComputeTruePathLengthLimit( - const G4Track& track, - G4PhysicsTable* theTable, - G4double currentMinimalStep) -{ - tPathLength = currentMinimalStep; - G4StepPoint* sp = track.GetStep()->GetPreStepPoint(); - G4StepStatus stepStatus = sp->GetStepStatus(); - - const G4DynamicParticle* dp = track.GetDynamicParticle(); - - if(stepStatus == fUndefined) { - inside = false; - insideskin = false; - tlimit = geombig; - SetParticle( dp->GetDefinition() ); - } - - theLambdaTable = theTable; - couple = track.GetMaterialCutsCouple(); - currentMaterialIndex = couple->GetIndex(); - currentKinEnergy = dp->GetKineticEnergy(); - currentRange = - theManager->GetRangeFromRestricteDEDX(particle,currentKinEnergy,couple); - lambda0 = GetLambda(currentKinEnergy); - - // stop here if small range particle - if(inside) return tPathLength; - - if(tPathLength > currentRange) tPathLength = currentRange; - - presafety = sp->GetSafety(); - - // G4cout << "G4UrbanMscModel::ComputeTruePathLengthLimit tPathLength= " - // < Tlim - G4double Tlim = 10.*MeV; - G4double beta2lim = Tlim*(Tlim+2.*electron_mass_c2)/ - ((Tlim+electron_mass_c2)*(Tlim+electron_mass_c2)); - G4double bg2lim = Tlim*(Tlim+2.*electron_mass_c2)/ - (electron_mass_c2*electron_mass_c2); - - G4double sig0[15] = {0.2672*barn, 0.5922*barn, 2.653*barn, 6.235*barn, - 11.69*barn , 13.24*barn , 16.12*barn, 23.00*barn , - 35.13*barn , 39.95*barn , 50.85*barn, 67.19*barn , - 91.15*barn , 104.4*barn , 113.1*barn}; - - G4double hecorr[15] = {120.70, 117.50, 105.00, 92.92, 79.23, 74.510, 68.29, - 57.39, 41.97, 36.14, 24.53, 10.21, -7.855, -16.84, - -22.30}; - - G4double sigma; - SetParticle(part); - - G4double Z23 = 2.*log(AtomicNumber)/3.; Z23 = exp(Z23); - - // correction if particle .ne. e-/e+ - // compute equivalent kinetic energy - // lambda depends on p*beta .... - - G4double eKineticEnergy = KineticEnergy; - - if(mass > electron_mass_c2) - { - G4double TAU = KineticEnergy/mass ; - G4double c = mass*TAU*(TAU+2.)/(electron_mass_c2*(TAU+1.)) ; - G4double w = c-2. ; - G4double tau = 0.5*(w+sqrt(w*w+4.*c)) ; - eKineticEnergy = electron_mass_c2*tau ; - } - - G4double eTotalEnergy = eKineticEnergy + electron_mass_c2 ; - G4double beta2 = eKineticEnergy*(eTotalEnergy+electron_mass_c2) - /(eTotalEnergy*eTotalEnergy); - G4double bg2 = eKineticEnergy*(eTotalEnergy+electron_mass_c2) - /(electron_mass_c2*electron_mass_c2); - - G4double eps = epsfactor*bg2/Z23; - - if (eps=0)&&(Zdat[iZ]>=AtomicNumber)) iZ -= 1; - if (iZ==14) iZ = 13; - if (iZ==-1) iZ = 0 ; - - G4double Z1 = Zdat[iZ]; - G4double Z2 = Zdat[iZ+1]; - G4double ratZ = (AtomicNumber-Z1)*(AtomicNumber+Z1)/ - ((Z2-Z1)*(Z2+Z1)); - - if(eKineticEnergy <= Tlim) - { - // get bin number in T (beta2) - G4int iT = 21; - while ((iT>=0)&&(Tdat[iT]>=eKineticEnergy)) iT -= 1; - if(iT==21) iT = 20; - if(iT==-1) iT = 0 ; - - // calculate betasquare values - G4double T = Tdat[iT], E = T + electron_mass_c2; - G4double b2small = T*(E+electron_mass_c2)/(E*E); - - T = Tdat[iT+1]; E = T + electron_mass_c2; - G4double b2big = T*(E+electron_mass_c2)/(E*E); - G4double ratb2 = (beta2-b2small)/(b2big-b2small); - - if (charge < 0.) - { - c1 = celectron[iZ][iT]; - c2 = celectron[iZ+1][iT]; - cc1 = c1+ratZ*(c2-c1); - - c1 = celectron[iZ][iT+1]; - c2 = celectron[iZ+1][iT+1]; - cc2 = c1+ratZ*(c2-c1); - - corr = cc1+ratb2*(cc2-cc1); - - sigma *= sigmafactor/corr; - } - else - { - c1 = cpositron[iZ][iT]; - c2 = cpositron[iZ+1][iT]; - cc1 = c1+ratZ*(c2-c1); - - c1 = cpositron[iZ][iT+1]; - c2 = cpositron[iZ+1][iT+1]; - cc2 = c1+ratZ*(c2-c1); - - corr = cc1+ratb2*(cc2-cc1); - - sigma *= sigmafactor/corr; - } - } - else - { - c1 = bg2lim*sig0[iZ]*(1.+hecorr[iZ]*(beta2-beta2lim))/bg2; - c2 = bg2lim*sig0[iZ+1]*(1.+hecorr[iZ+1]*(beta2-beta2lim))/bg2; - if((AtomicNumber >= Z1) && (AtomicNumber <= Z2)) - sigma = c1+ratZ*(c2-c1) ; - else if(AtomicNumber < Z1) - sigma = AtomicNumber*AtomicNumber*c1/(Z1*Z1); - else if(AtomicNumber > Z2) - sigma = AtomicNumber*AtomicNumber*c2/(Z2*Z2); - } - return sigma; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4UrbanMscModel2::ComputeTruePathLengthLimit( - const G4Track& track, - G4PhysicsTable* theTable, - G4double currentMinimalStep) -{ - tPathLength = currentMinimalStep; - G4StepPoint* sp = track.GetStep()->GetPreStepPoint(); - G4StepStatus stepStatus = sp->GetStepStatus(); - - const G4DynamicParticle* dp = track.GetDynamicParticle(); - - if(stepStatus == fUndefined) { - inside = false; - insideskin = false; - tlimit = geombig; - SetParticle( dp->GetDefinition() ); - } - - theLambdaTable = theTable; - couple = track.GetMaterialCutsCouple(); - currentMaterialIndex = couple->GetIndex(); - currentKinEnergy = dp->GetKineticEnergy(); - currentRange = - theManager->GetRangeFromRestricteDEDX(particle,currentKinEnergy,couple); - lambda0 = GetLambda(currentKinEnergy); - - // stop here if small range particle - if(inside) return tPathLength; - - if(tPathLength > currentRange) tPathLength = currentRange; - - presafety = sp->GetSafety(); - - //G4cout << "G4Urban2::StepLimit tPathLength= " - // <GetParticleName() << " !!! " << G4endl; + G4cout << "### This model should be used only for heavy particles" + << G4endl; + } + fParticleChange = GetParticleChangeForMSC(); InitialiseSafetyHelper(); diff --git a/source/processes/electromagnetic/standard/src/G4UrbanMscModel92.cc b/source/processes/electromagnetic/standard/src/G4UrbanMscModel92.cc index 0b37851580..b776779950 100644 --- a/source/processes/electromagnetic/standard/src/G4UrbanMscModel92.cc +++ b/source/processes/electromagnetic/standard/src/G4UrbanMscModel92.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UrbanMscModel92.cc,v 1.1 2009/11/01 13:05:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4UrbanMscModel92.cc,v 1.4 2010/11/13 18:48:01 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -165,6 +165,14 @@ G4UrbanMscModel92::G4UrbanMscModel92(const G4String& nam) inside = false; insideskin = false; + skindepth = skin*stepmin; + + mass = proton_mass_c2; + charge = ChargeSquare = 1.0; + currentKinEnergy = currentRadLength = lambda0 = lambdaeff = tPathLength + = zPathLength = par1 = par2 = par3 = 0; + + currentMaterialIndex = 0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -182,6 +190,13 @@ void G4UrbanMscModel92::Initialise(const G4ParticleDefinition* p, // set values of some data members SetParticle(p); + if(p->GetPDGMass() > MeV) { + G4cout << "### WARNING: G4UrbanMscModel92 model is used for " + << p->GetParticleName() << " !!! " << G4endl; + G4cout << "### This model should be used only for e+-" + << G4endl; + } + fParticleChange = GetParticleChangeForMSC(); InitialiseSafetyHelper(); diff --git a/source/processes/electromagnetic/standard/src/G4UrbanMscModel93.cc b/source/processes/electromagnetic/standard/src/G4UrbanMscModel93.cc index 379ce8b3c5..af0628d863 100644 --- a/source/processes/electromagnetic/standard/src/G4UrbanMscModel93.cc +++ b/source/processes/electromagnetic/standard/src/G4UrbanMscModel93.cc @@ -24,13 +24,13 @@ // ******************************************************************** // // -// $Id: G4UrbanMscModel93.cc,v 1.1 2009/11/01 13:05:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4UrbanMscModel93.cc,v 1.9 2010/11/13 18:48:01 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- -// +// // GEANT4 Class file -// +// // // File name: G4UrbanMscModel93 // @@ -165,6 +165,14 @@ G4UrbanMscModel93::G4UrbanMscModel93(const G4String& nam) inside = false; insideskin = false; + skindepth = skin*stepmin; + + mass = proton_mass_c2; + charge = ChargeSquare = 1.0; + currentKinEnergy = currentRadLength = lambda0 = lambdaeff = tPathLength + = zPathLength = par1 = par2 = par3 = 0; + + currentMaterialIndex = -1; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -178,10 +186,18 @@ void G4UrbanMscModel93::Initialise(const G4ParticleDefinition* p, const G4DataVector&) { skindepth = skin*stepmin; - if(isInitialized) return; + + if(isInitialized) { return; } // set values of some data members SetParticle(p); + if(p->GetPDGMass() > MeV) { + G4cout << "### WARNING: G4UrbanMscModel93 model is used for " + << p->GetParticleName() << " !!! " << G4endl; + G4cout << "### This model should be used only for e+-" + << G4endl; + } + fParticleChange = GetParticleChangeForMSC(); InitialiseSafetyHelper(); @@ -459,16 +475,16 @@ G4double G4UrbanMscModel93::ComputeTruePathLengthLimit( lambda0 = GetLambda(currentKinEnergy); // stop here if small range particle - if(inside) return tPathLength; + if(inside) { return tPathLength; } - if(tPathLength > currentRange) tPathLength = currentRange; + if(tPathLength > currentRange) { tPathLength = currentRange; } presafety = sp->GetSafety(); - //G4cout << "G4Urban2::StepLimit tPathLength= " - // < tlimit) tPathLength = tlimit ; + // randomize 1st step or 1st 'normal' step in volume + if((stepStatus == fUndefined) || + ((smallstep == skin) && !insideskin)) + { + G4double temptlimit = tlimit; + if(temptlimit > tlimitmin) + { + do { + temptlimit = G4RandGauss::shoot(tlimit,0.3*tlimit); + } while ((temptlimit < tlimitmin) || + (temptlimit > 2.*tlimit-tlimitmin)); + } + else + temptlimit = tlimitmin; + if(tPathLength > temptlimit) tPathLength = temptlimit; + } + else + { + if(tPathLength > tlimit) tPathLength = tlimit ; + } } // for 'normal' simulation with or without magnetic field @@ -616,8 +651,9 @@ G4double G4UrbanMscModel93::ComputeTruePathLengthLimit( //lower limit for tlimit if(tlimit < tlimitmin) tlimit = tlimitmin; - + if(tPathLength > tlimit) tPathLength = tlimit; + } // version similar to 7.1 (needed for some experiments) @@ -1001,9 +1037,11 @@ G4double G4UrbanMscModel93::SimpleScattering(G4double xmeanth,G4double x2meanth) G4double G4UrbanMscModel93::SampleDisplacement() { + // compute rmean = sqrt() from theory const G4double kappa = 2.5; const G4double kappapl1 = kappa+1.; const G4double kappami1 = kappa-1.; + // Compute rmean = sqrt() from theory G4double rmean = 0.0; if ((currentTau >= tausmall) && !insideskin) { if (currentTau < taulim) { @@ -1021,15 +1059,32 @@ G4double G4UrbanMscModel93::SampleDisplacement() else rmean = 0.; } + if(rmean == 0.) return rmean; + // protection against z > t ........................... - if(rmean > 0.) { - G4double zt = (tPathLength-zPathLength)*(tPathLength+zPathLength); - if(zt <= 0.) - rmean = 0.; - else if(rmean*rmean > zt) - rmean = sqrt(zt); - } + G4double rmax = (tPathLength-zPathLength)*(tPathLength+zPathLength); + if(rmax <= 0.) + rmax = 0.; + else + rmax = sqrt(rmax); + + if(rmean >= rmax) return rmax; + return rmean; + // VI comment out for the time being + /* + //sample r (Gaussian distribution with a mean of rmean ) + G4double r = 0.; + G4double sigma = min(rmean,rmax-rmean); + sigma /= 3.; + G4double rlow = rmean-3.*sigma; + G4double rhigh = rmean+3.*sigma; + do { + r = G4RandGauss::shoot(rmean,sigma); + } while ((r < rlow) || (r > rhigh)); + + return r; + */ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4WaterStopping.cc b/source/processes/electromagnetic/standard/src/G4WaterStopping.cc index 7c80df34ba..6b1a6ea05e 100644 --- a/source/processes/electromagnetic/standard/src/G4WaterStopping.cc +++ b/source/processes/electromagnetic/standard/src/G4WaterStopping.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4WaterStopping.cc,v 1.18 2009/06/19 10:39:48 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4WaterStopping.cc,v 1.22 2010/10/26 10:06:12 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ //--------------------------------------------------------------------------- // @@ -53,6 +53,7 @@ G4WaterStopping::G4WaterStopping(G4EmCorrections* corr, G4bool splineFlag) { spline = splineFlag; + dedx.reserve(17); Initialise(corr); } @@ -66,15 +67,16 @@ G4WaterStopping::~G4WaterStopping() G4double G4WaterStopping::GetElectronicDEDX(G4int iz, G4double energy) { G4double res = 0.0; - if((iz > 26) || (iz < 3) || (iz > 18 && iz < 26)) return res; - G4bool b; G4int idx = iz - 3; + + if(iz == 26) { idx = 16; } + else if (iz < 3 || iz > 18) { return res; } + G4double scaledEnergy = energy/A[idx]; - G4double emin = 0.025*MeV; if(scaledEnergy < emin) { - res = (dedx[idx])->GetValue(emin, b)*std::sqrt(scaledEnergy/emin); + res = (*(dedx[idx]))[0]*std::sqrt(scaledEnergy/emin); } else { - res = (dedx[idx])->GetValue(scaledEnergy, b); + res = (dedx[idx])->Value(scaledEnergy); } return res; } @@ -84,11 +86,11 @@ G4double G4WaterStopping::GetElectronicDEDX(G4int iz, G4double energy) void G4WaterStopping::AddData(G4double* energy, G4double* stoppower, G4double factor) { - G4LPhysicsFreeVector* pv = new G4LPhysicsFreeVector(53,energy[0],energy[52]); + G4LPhysicsFreeVector* pv = new G4LPhysicsFreeVector(53,energy[0]*MeV,energy[52]*MeV); pv->SetSpline(spline); dedx.push_back(pv); - for(G4int i=0;i<53;i++) { - pv->PutValues(i,energy[i],stoppower[i]*factor); + for(G4int i=0; i<53; ++i) { + pv->PutValues(i,energy[i]*MeV,stoppower[i]*factor); } } @@ -100,15 +102,13 @@ void G4WaterStopping::Initialise(G4EmCorrections* corr) //..List of ions G4int zz[17] = {3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14,15,16,17,18,26}; G4int aa[17] = {7, 9, 11, 12, 14, 16, 19, 20, 23, 24, 27, 28,31,32, 35,40,56}; - // G4double A_Ion[17] = {6.941,9.0122,10.811,12.011,14.007,15.999,18.998,20.180,22.990,24.305,26.982,28.086,30.974,32.065,35.453,39.948,55.845}; - for(i=0; i<17; i++) { + for(i=0; i<17; ++i) { Z[i] = zz[i]; A[i] = G4double(aa[i]); } //..Reduced energies G4double E[53] = {0.025,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1,0.15,0.2,0.25,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.5,2,2.5,3,4,5,6,7,8,9,10,15,20,25,30,40,50,60,70,80,90,100,150,200,250,300,400,500,600,700,800,900,1000}; - for(i=0; i<53; i++) {E[i] *= MeV;} - + emin = E[0]*MeV; G4double factor = 1000.*MeV/cm; G4double G4_WATER_Li[53]={2.3193,2.5198,2.8539,3.1164,3.3203,3.4756,3.5914,3.6755,3.7347,3.8125,3.7349,3.6134,3.4818,3.2258,2.9949,2.7909,2.611,2.4517,2.3103,2.1841,1.7151,1.4139,1.2053,1.0525,0.84417,0.70862,0.61317,0.54214,0.48708,0.44305,0.40697,0.29312,0.23208,0.19364,0.16706,0.13252,0.11092,0.09608,0.08522,0.076915,0.07035,0.065026,0.048615,0.040137,0.034964,0.03149,0.027148,0.024579,0.022911,0.021761,0.020937,0.020327,0.019862}; @@ -148,6 +148,6 @@ void G4WaterStopping::Initialise(G4EmCorrections* corr) AddData(E,G4_WATER_Fe,factor); if(corr) { - for(i=0; i<17; i++) {corr->AddStoppingData(Z[i], aa[i], "G4_WATER", dedx[i]);} + for(i=0; i<17; ++i) {corr->AddStoppingData(Z[i], aa[i], "G4_WATER", dedx[i]);} } } diff --git a/source/processes/electromagnetic/standard/src/G4WentzelOKandVIxSection.cc b/source/processes/electromagnetic/standard/src/G4WentzelOKandVIxSection.cc new file mode 100644 index 0000000000..6ef3c52d74 --- /dev/null +++ b/source/processes/electromagnetic/standard/src/G4WentzelOKandVIxSection.cc @@ -0,0 +1,352 @@ +// +// ******************************************************************** +// * 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: G4WentzelOKandVIxSection.cc,v 1.14 2010/11/13 19:08:27 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4WentzelOKandVIxSection +// +// Author: V.Ivanchenko +// +// Creation date: 09.04.2008 from G4MuMscModel +// +// Modifications: +// +// + +// ------------------------------------------------------------------- +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4WentzelOKandVIxSection.hh" +#include "Randomize.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4Proton.hh" +#include "G4LossTableManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4WentzelOKandVIxSection::ScreenRSquare[] = {0.0}; +G4double G4WentzelOKandVIxSection::FormFactor[] = {0.0}; + +using namespace std; + +G4WentzelOKandVIxSection::G4WentzelOKandVIxSection() : + numlimit(0.1), + nwarnings(0), + nwarnlimit(50), + alpha2(fine_structure_const*fine_structure_const) +{ + fNistManager = G4NistManager::Instance(); + fG4pow = G4Pow::GetInstance(); + theElectron = G4Electron::Electron(); + thePositron = G4Positron::Positron(); + theProton = G4Proton::Proton(); + lowEnergyLimit = 1.0*eV; + G4double p0 = electron_mass_c2*classic_electr_radius; + coeff = twopi*p0*p0; + particle = 0; + + // Thomas-Fermi screening radii + // Formfactors from A.V. Butkevich et al., NIM A 488 (2002) 282 + + if(0.0 == ScreenRSquare[0]) { + G4double a0 = electron_mass_c2/0.88534; + G4double constn = 6.937e-6/(MeV*MeV); + + ScreenRSquare[0] = alpha2*a0*a0; + for(G4int j=1; j<100; ++j) { + G4double x = a0*fG4pow->Z13(j); + ScreenRSquare[j] = alpha2*x*x; + x = fNistManager->GetA27(j); + FormFactor[j] = constn*x*x; + } + } + currentMaterial = 0; + elecXSRatio = factB = formfactA = screenZ = 0.0; + cosTetMaxElec = cosTetMaxNuc = invbeta2 = kinFactor = 1.0; + + Initialise(theElectron, 1.0); + SetTargetMass(proton_mass_c2); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4WentzelOKandVIxSection::~G4WentzelOKandVIxSection() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4WentzelOKandVIxSection::Initialise(const G4ParticleDefinition* p, + G4double CosThetaLim) +{ + SetupParticle(p); + tkin = mom2 = 0.0; + ecut = etag = DBL_MAX; + targetZ = 0; + cosThetaMax = CosThetaLim; + G4double a = + G4LossTableManager::Instance()->FactorForAngleLimit()*CLHEP::hbarc/CLHEP::fermi; + factorA2 = 0.5*a*a; + currentMaterial = 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4WentzelOKandVIxSection::SetupParticle(const G4ParticleDefinition* p) +{ + particle = p; + mass = particle->GetPDGMass(); + spin = particle->GetPDGSpin(); + if(0.0 != spin) { spin = 0.5; } + G4double q = std::fabs(particle->GetPDGCharge()/eplus); + chargeSquare = q*q; + charge3 = chargeSquare*q; + tkin = 0.0; + currentMaterial = 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double +G4WentzelOKandVIxSection::SetupTarget(G4int Z, G4double cut) +{ + G4double cosTetMaxNuc2 = cosTetMaxNuc; + if(Z != targetZ || tkin != etag) { + etag = tkin; + targetZ = Z; + if(targetZ > 99) { targetZ = 99; } + SetTargetMass(fNistManager->GetAtomicMassAmu(targetZ)*amu_c2); + kinFactor = coeff*targetZ*chargeSquare*invbeta2/mom2; + + screenZ = ScreenRSquare[targetZ]/mom2; + if(Z > 1) { + G4double tau = tkin/mass; + screenZ *=std::min(Z*invbeta2, + (1.13 +3.76*Z*Z*invbeta2*alpha2*std::sqrt(tau/(tau + fG4pow->Z23(Z))))); + } + if(targetZ == 1 && cosTetMaxNuc < 0.0 && particle == theProton) { + cosTetMaxNuc = 0.0; + } + formfactA = FormFactor[targetZ]*mom2; + + // allowing do not compute scattering off e- + cosTetMaxElec = 1.0; + if(cut < DBL_MAX) { + if(mass < MeV) { + if(cosTetMaxNuc < 1.0 && cosTetMaxNuc > 0.0 && tkin < 10*cut) { + cosTetMaxNuc2 *= 0.1*tkin/cut; + } + } + ComputeMaxElectronScattering(cut); + } + } + return cosTetMaxNuc2; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double +G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom(G4double cosTMax) +{ + G4double xsec = 0.0; + if(cosTMax >= 1.0) { return xsec; } + + G4double xSection = 0.0; + G4double x = 0; + G4double y = 0; + G4double x1= 0; + G4double x2= 0; + G4double xlog = 0.0; + + G4double costm = std::max(cosTMax,cosTetMaxElec); + G4double fb = screenZ*factB; + + // scattering off electrons + if(costm < 1.0) { + x = (1.0 - costm)/screenZ; + x1= x/(1 + x); + if(x < numlimit) { + x2 = 0.5*x*x; + y = x2*(1.0 - 1.3333333*x + 3*x2); + } else { + xlog = log(1.0 + x); + y = xlog - x1; + } + + if(0.0 < factB) { + if(x < numlimit) { y -= fb*x2*x*(0.6666667 - x); } + else { y -= fb*(x + x1 - 2*xlog); } + } + + if(y < 0.0) { + ++nwarnings; + if(nwarnings < nwarnlimit) { + G4cout << "G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom scattering on e- <0" + << G4endl; + G4cout << "y= " << y + << " e(MeV)= " << tkin << " p(MeV/c)= " << sqrt(mom2) + << " Z= " << targetZ << " " + << particle->GetParticleName() << G4endl; + G4cout << " 1-costm= " << 1.0-costm << " screenZ= " << screenZ + << " x= " << x << G4endl; + } + y = 0.0; + } + xSection = y; + } + /* + G4cout << "G4WentzelVI:XS per A " << " Z= " << targetZ + << " e(MeV)= " << tkin/MeV << " XSel= " << xSection + << " cut(MeV)= " << ecut/MeV + << " zmaxE= " << (1.0 - cosTetMaxElec)/screenZ + << " zmaxN= " << (1.0 - cosThetaMax)/screenZ + << " 1-costm= " << 1.0 - cosThetaMax << G4endl; + */ + // scattering off nucleus + if(cosTMax < 1.0) { + x = (1.0 - cosTMax)/screenZ; + x1= x/(1 + x); + if(x < numlimit) { + x2 = 0.5*x*x; + y = x2*(1.0 - 1.3333333*x + 3*x2); + } else { + xlog = log(1.0 + x); + y = xlog - x1; + } + + if(0.0 < factB) { + if(x < numlimit) { y -= fb*x2*x*(0.6666667 - x); } + else { y -= fb*(x + x1 - 2*xlog); } + } + if(y < 0.0) { + ++nwarnings; + if(nwarnings < nwarnlimit) { + G4cout << "G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom scattering on e- <0" + << G4endl; + G4cout << "y= " << y + << " e(MeV)= " << tkin << " Z= " << targetZ << " " + << particle->GetParticleName() << G4endl; + G4cout << " formfactA= " << formfactA << " screenZ= " << screenZ + << " x= " << " x1= " << x1 <GetParticleName() + << " m= " << mass << " 1/v= " << sqrt(invbeta2) << " p= " << sqrt(mom2) + << " x= " << x + << G4endl; + */ + return xSection; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4ThreeVector +G4WentzelOKandVIxSection::SampleSingleScattering(G4double cosTMin, + G4double cosTMax, + G4double elecRatio) +{ + G4ThreeVector v(0.0,0.0,1.0); + + G4double formf = formfactA; + G4double cost1 = cosTMin; + G4double cost2 = cosTMax; + if(elecRatio > 0.0) { + if(G4UniformRand() <= elecRatio) { + formf = 0.0; + cost1 = std::max(cost1,cosTetMaxElec); + cost2 = std::max(cost2,cosTetMaxElec); + } + } + if(cost1 < cost2) { return v; } + + G4double w1 = 1. - cost1 + screenZ; + G4double w2 = 1. - cost2 + screenZ; + G4double z1 = w1*w2/(w1 + G4UniformRand()*(w2 - w1)) - screenZ; + if(factB > 0.0 || formf > 0.0 || factD > 0.01) { + G4double fm = 1.0 + formf*z1/(1.0 + (mass + tkin)*z1/targetMass); + G4double grej = (1. - z1*factB)/( (1.0 + z1*factD)*fm*fm ); + if( G4UniformRand() > grej ) { return v; } + } + G4double cost = 1.0 - z1; + if(cost > 1.0) { cost = 1.0; } + else if(cost < -1.0) { cost =-1.0; } + G4double sint = sqrt((1.0 - cost)*(1.0 + cost)); + //G4cout << "sint= " << sint << G4endl; + G4double phi = twopi*G4UniformRand(); + G4double vx1 = sint*cos(phi); + G4double vy1 = sint*sin(phi); + + // only direction is changed + v.set(vx1,vy1,cost); + return v; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void +G4WentzelOKandVIxSection::ComputeMaxElectronScattering(G4double cutEnergy) +{ + G4double tmax = tkin; + if(mass > MeV) { + G4double ratio = electron_mass_c2/mass; + G4double tau = tkin/mass; + tmax = 2.0*electron_mass_c2*tau*(tau + 2.)/ + (1.0 + 2.0*ratio*(tau + 1.0) + ratio*ratio); + cosTetMaxElec = 1.0 - std::min(cutEnergy, tmax)*electron_mass_c2/mom2; + } else { + + if(particle == theElectron) { tmax *= 0.5; } + G4double t = std::min(cutEnergy, tmax); + G4double mom21 = t*(t + 2.0*electron_mass_c2); + G4double t1 = tkin - t; + //G4cout <<"tkin=" <GetZ13(j); - ScreenRSquare[j] = alpha2*x*x; - x = fNistManager->GetA27(j); - FormFactor[j] = constn*x*x; - } - } + preKinEnergy = tPathLength = zPathLength = lambdaeff = currentRange = xtsec = 0; + currentMaterialIndex = 0; + cosThetaMax = cosTetMaxNuc = 1.0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4WentzelVIModel::~G4WentzelVIModel() -{} +{ + delete wokvi; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -134,10 +108,14 @@ void G4WentzelVIModel::Initialise(const G4ParticleDefinition* p, { // reset parameters SetupParticle(p); - tkin = targetZ = mom2 = 0.0; - ecut = etag = DBL_MAX; currentRange = 0.0; cosThetaMax = cos(PolarAngleLimit()); + wokvi->Initialise(p, cosThetaMax); + /* + G4cout << "G4WentzelVIModel: factorA2(GeV^2) = " << factorA2/(GeV*GeV) + << " 1-cos(ThetaLimit)= " << 1 - cosThetaMax + << G4endl; + */ currentCuts = &cuts; // set values of some data members @@ -156,103 +134,25 @@ G4double G4WentzelVIModel::ComputeCrossSectionPerAtom( G4double Z, G4double, G4double cutEnergy, G4double) { - SetupParticle(p); - if(kinEnergy < lowEnergyLimit) return 0.0; - SetupKinematic(kinEnergy, cutEnergy); - SetupTarget(Z, kinEnergy); - G4double xsec = ComputeTransportXSectionPerAtom(); - /* - G4cout << "CS: e= " << tkin << " cosEl= " << cosTetMaxElec2 - << " cosN= " << cosTetMaxNuc2 << " xsec(bn)= " << xsec/barn - << " " << particle->GetParticleName() << G4endl; + G4double xsec = 0.0; + if(p != particle) { SetupParticle(p); } + if(kinEnergy < lowEnergyLimit) { return xsec; } + DefineMaterial(CurrentCouple()); + cosTetMaxNuc = wokvi->SetupKinematic(kinEnergy, currentMaterial); + if(cosTetMaxNuc < 1.0) { + cosTetMaxNuc = wokvi->SetupTarget(G4int(Z), cutEnergy); + xsec = wokvi->ComputeTransportCrossSectionPerAtom(cosTetMaxNuc); + /* + G4cout << "G4WentzelVIModel::CS: Z= " << G4int(Z) << " e(MeV)= " << kinEnergy + << " 1-cosN= " << 1 - costm << " xsec(bn)= " << xsec/barn + << " " << particle->GetParticleName() << G4endl; */ + } return xsec; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double G4WentzelVIModel::ComputeTransportXSectionPerAtom() -{ - G4double xSection = 0.0; - G4double x, y, x1, x2, x3, x4; - - // scattering off electrons - if(cosTetMaxElec2 < 1.0) { - x = (1.0 - cosTetMaxElec2)/screenZ; - if(x < numlimit) y = 0.5*x*x*(1.0 - 1.3333333*x + 1.5*x*x); - else y = log(1.0 + x) - x/(1.0 + x); - if(y < 0.0) { - nwarnings++; - if(nwarnings < nwarnlimit /*&& y < -1.e-10*/) { - G4cout << "Electron scattering <0 for L1 " << y - << " e(MeV)= " << tkin << " p(MeV/c)= " << sqrt(mom2) - << " Z= " << targetZ << " " - << particle->GetParticleName() << G4endl; - G4cout << " z= " << 1.0-cosTetMaxElec2 << " screenZ= " << screenZ - << " x= " << x << G4endl; - } - y = 0.0; - } - xSection = y; - } - /* - G4cout << "G4WentzelVI:XS per A " << " Z= " << targetZ - << " e(MeV)= " << tkin/MeV << " XSel= " << xSection - << " cut(MeV)= " << ecut/MeV - << " zmaxE= " << (1.0 - cosTetMaxElec)/screenZ - << " zmaxN= " << (1.0 - cosTetMaxNuc2)/screenZ - << " costm= " << cosTetMaxNuc2 << G4endl; - */ - // scattering off nucleus - if(cosTetMaxNuc2 < 1.0) { - x = 1.0 - cosTetMaxNuc2; - x1 = screenZ*formfactA; - x2 = 1.0 - x1; - x3 = x/screenZ; - x4 = formfactA*x; - // low-energy limit - if(x3 < numlimit && x1 < numlimit) { - y = 0.5*x3*x3*(1.0 - 1.3333333*x3 + 1.5*x3*x3 - 1.5*x1 - + 3.0*x1*x1 + 2.666666*x3*x1)/(x2*x2*x2); - // high energy limit - } else if(x2 <= 0.0) { - x4 = x1*(1.0 + x3); - y = x3*(1.0 + 0.5*x3 - (2.0 - x1)*(1.0 + x3 + x3*x3/3.0)/x4)/(x4*x4); - // middle energy - } else { - y = ((1.0 + x1)*x2*log((1. + x3)/(1. + x4)) - - x3/(1. + x3) - x4/(1. + x4))/(x2*x2); - } - //G4cout << "y= " << y << " x1= " <GetParticleName() << G4endl; - G4cout << " formfactA= " << formfactA << " screenZ= " << screenZ - << " x= " << " x1= " << x1 << " x2= " << x2 - << " x3= " << x3 << " x4= " << x4 <GetParticleName() - << " m= " << mass << " 1/v= " << sqrt(invbeta2) << " p= " << sqrt(mom2) - << " x= " << x - << G4endl; - */ - return xSection; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - G4double G4WentzelVIModel::ComputeTruePathLengthLimit( const G4Track& track, G4PhysicsTable* theTable, @@ -262,55 +162,90 @@ G4double G4WentzelVIModel::ComputeTruePathLengthLimit( const G4DynamicParticle* dp = track.GetDynamicParticle(); G4StepPoint* sp = track.GetStep()->GetPreStepPoint(); G4StepStatus stepStatus = sp->GetStepStatus(); + //G4cout << "G4WentzelVIModel::ComputeTruePathLengthLimit stepStatus= " + // << stepStatus << G4endl; // initialisation for 1st step if(stepStatus == fUndefined) { inside = false; SetupParticle(dp->GetDefinition()); - theLambdaTable = theTable; } // initialisation for each step, lambda may be computed from scratch preKinEnergy = dp->GetKineticEnergy(); DefineMaterial(track.GetMaterialCutsCouple()); - lambda0 = GetLambda(preKinEnergy); + theLambdaTable = theTable; + lambdaeff = GetLambda(preKinEnergy); currentRange = theManager->GetRangeFromRestricteDEDX(particle,preKinEnergy,currentCouple); + cosTetMaxNuc = wokvi->SetupKinematic(preKinEnergy, currentMaterial); // extra check for abnormal situation // this check needed to run MSC with eIoni and eBrem inactivated - if(tlimit > currentRange) tlimit = currentRange; + if(tlimit > currentRange) { tlimit = currentRange; } // stop here if small range particle - if(inside) return tlimit; + if(inside) { return tlimit; } // pre step G4double presafety = sp->GetSafety(); - - // compute presafety again if presafety <= 0 and no boundary - // i.e. when it is needed for optimization purposes - if(stepStatus != fGeomBoundary && presafety < tlimitminfix) - presafety = ComputeSafety(sp->GetPosition(), tlimit); - /* - G4cout << "G4WentzelVIModel::ComputeTruePathLengthLimit tlimit= " - <GetParticleName() + << " CurLimit(mm)= " << tlimit/mm <<" safety(mm)= " << presafety/mm + << " R(mm)= " <GetParticleName() << G4endl; - G4double kinEnergy = dynParticle->GetKineticEnergy(); - // ignore scattering for zero step length and enegy below the limit - if(kinEnergy < lowEnergyLimit || tPathLength <= DBL_MIN) return; - - G4double ekin = preKinEnergy; - if(ekin - kinEnergy > ekin*dtrl) { - ekin = 0.5*(preKinEnergy + kinEnergy); - lambdaeff = GetLambda(ekin); - } + // ignore scattering for zero step length and energy below the limit + if(dynParticle->GetKineticEnergy() < lowEnergyLimit || + tPathLength <= DBL_MIN || lambdaeff <= DBL_MIN) + { return; } - G4double x1 = 0.5*tPathLength/lambdaeff; - G4double cut= (*currentCuts)[currentMaterialIndex]; - /* - G4cout <<"SampleScat: E0(MeV)= "<< preKinEnergy<<" Eeff(MeV)= "<ProposeMomentumDirection(newDirection); - - if (latDisplasment && safety > tlimitminfix) { - G4double rms = invsqrt12*sqrt(2.0*x1); - G4double dx = zPathLength*(0.5*dirx + rms*G4RandGauss::shoot(0.0,1.0)); - G4double dy = zPathLength*(0.5*diry + rms*G4RandGauss::shoot(0.0,1.0)); - G4double dz; - G4double d = (dx*dx + dy*dy)/(zPathLength*zPathLength); - if(d < numlimit) dz = -0.5*zPathLength*d*(1.0 + 0.25*d); - else if(d < 1.0) dz = -zPathLength*(1.0 - sqrt(1.0 - d)); - else { - dx = dy = dz = 0.0; - } - - temp.set(dx,dy,dz); - if(isscat) temp.rotateUz(dir); - pos += temp; - - pos.rotateUz(oldDirection); + fParticleChange->ProposeMomentumDirection(dir); + // lateral displacement + if (latDisplasment) { G4double r = pos.mag(); /* @@ -596,200 +516,52 @@ void G4WentzelVIModel::SampleScattering(const G4DynamicParticle* dynParticle, G4double G4WentzelVIModel::ComputeXSectionPerVolume() { - const G4ElementVector* theElementVector = - currentMaterial->GetElementVector(); + // prepare recomputation of x-sections + const G4ElementVector* theElementVector = currentMaterial->GetElementVector(); const G4double* theAtomNumDensityVector = currentMaterial->GetVecNbOfAtomsPerVolume(); G4int nelm = currentMaterial->GetNumberOfElements(); if(nelm > nelments) { nelments = nelm; - xsecn.resize(nelments); - prob.resize(nelments); + xsecn.resize(nelm); + prob.resize(nelm); } + G4double cut = (*currentCuts)[currentMaterialIndex]; + cosTetMaxNuc = wokvi->GetCosThetaNuc(); + // check consistency xtsec = 0.0; + if(cosTetMaxNuc > cosThetaMin) { return 0.0; } + + // loop over elements G4double xs = 0.0; - - for (G4int i=0; iGetZ(), tkin); + for (G4int i=0; iSetupTarget(G4int((*theElementVector)[i]->GetZ()), cut); G4double density = theAtomNumDensityVector[i]; - G4double cosnm = cosTetMaxNuc2; - G4double cosem = cosTetMaxElec2; - - // recompute the angular limit - cosTetMaxNuc2 = std::max(cosnm,cosThetaMin); - cosTetMaxElec2 = std::max(cosem,cosThetaMin); - xtsec += ComputeTransportXSectionPerAtom()*density; - // return limit back - cosTetMaxElec2 = cosem; - cosTetMaxNuc2 = cosnm; G4double esec = 0.0; - G4double nsec = 0.0; - G4double x1 = 1.0 - cosThetaMin + screenZ; - G4double f = kinFactor*density; + if(costm < cosThetaMin) { - // scattering off electrons - if(cosThetaMin > cosem) { - esec = f*(cosThetaMin - cosem)/(x1*(1.0 - cosem + screenZ)); + // recompute the transport x-section + xs += density*wokvi->ComputeTransportCrossSectionPerAtom(cosThetaMin); + + // recompute the total x-section + G4double nsec = wokvi->ComputeNuclearCrossSection(cosThetaMin, costm); + esec = wokvi->ComputeElectronCrossSection(cosThetaMin, costm); + nsec += esec; + if(nsec > 0.0) { esec /= nsec; } + xtsec += nsec*density; } - - // scattering off nucleaus - if(cosThetaMin > cosnm) { - - // Rutherford part - G4double s = screenZ*formfactA; - G4double z1 = 1.0 - cosnm + screenZ; - G4double s1 = 1.0 - s; - G4double d = s1/formfactA; - - // check numerical limit - if(d < numlimit*x1) { - G4double x2 = x1*x1; - G4double z2 = z1*z1; - nsec = (1.0/(x1*x2) - 1.0/(z1*z2) - d*1.5*(1.0/(x2*x2) - 1.0/(z2*z2)))/ - (3.0*formfactA*formfactA); - } else { - G4double x2 = x1 + d; - G4double z2 = z1 + d; - nsec = (1.0/x1 - 1.0/z1 + 1.0/x2 - 1.0/z2 - 2.0*log(z1*x2/(z2*x1))/d)/(s1*s1); - } - nsec *= f*targetZ; - } - nsec += esec; - if(nsec > 0.0) esec /= nsec; - xs += nsec; - xsecn[i] = xs; + xsecn[i] = xtsec; prob[i] = esec; - //G4cout << i << " xs= " << xs << " cosThetaMin= " << cosThetaMin - // << " costm= " << costm << G4endl; + //G4cout << i << " xs= " << xs << " xtsec= " << xtsec << " 1-cosThetaMin= " << 1-cosThetaMin + // << " 1-cosTetMaxNuc2= " <<1-cosTetMaxNuc2<< G4endl; } //G4cout << "ComputeXS result: xsec(1/mm)= " << xs - //<< " txsec(1/mm)= " << xtsec <= tmax) return cross; + if(cut >= tmax) { return cross; } const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* theAtomNumDensityVector = material->GetAtomicNumDensityVector(); @@ -494,7 +499,7 @@ G4double G4eBremsstrahlungModel::ComputeCrossSectionPerAtom( { G4double cross = 0.0 ; - if ( kineticEnergy < 1*keV || kineticEnergy < cut) return cross; + if ( kineticEnergy < 1*keV || kineticEnergy < cut) { return cross; } static const G4double ksi=2.0, alfa=1.00; static const G4double csigh = 0.127, csiglow = 0.25, asiglow = 0.020*MeV ; @@ -663,7 +668,7 @@ void G4eBremsstrahlungModel::SampleSecondaries(std::vector* { G4double kineticEnergy = dp->GetKineticEnergy(); G4double tmax = min(maxEnergy, kineticEnergy); - if(tmin >= tmax) return; + if(tmin >= tmax) { return; } // // GEANT4 internal units. @@ -708,8 +713,8 @@ void G4eBremsstrahlungModel::SampleSecondaries(std::vector* G4double xmin = tmin/kineticEnergy; G4double xmax = tmax/kineticEnergy; G4double kappa = 0.0; - if(xmax >= 1.) xmax = 1.; - else kappa = log(xmax)/log(xmin); + if(xmax >= 1.) { xmax = 1.; } + else { kappa = log(xmax)/log(xmin); } G4double epsilmin = tmin/totalEnergy; G4double epsilmax = tmax/totalEnergy; @@ -811,18 +816,6 @@ void G4eBremsstrahlungModel::SampleSecondaries(std::vector* */ } while( greject < G4UniformRand()*grejmax ); } - /* - if(x > 0.999) { - G4cout << "### G4eBremsstrahlungModel Warning: e= " << kineticEnergy - << " tlow= " << tlow - << " x= " << x - << " greject= " << greject - << " grejmax= " << grejmax - << " migdal= " << migdal - << G4endl; - // if(x >= 1.0) G4Exception("X=1"); - } - */ gammaEnergy = x*kineticEnergy; if (LPMFlag()) { @@ -836,19 +829,12 @@ void G4eBremsstrahlungModel::SampleSecondaries(std::vector* } while (!LPMOK); // - // angles of the emitted gamma. ( Z - axis along the parent particle) + // angles of the emitted gamma. ( Z - axis along the parent particle) + // use general interface // - // universal distribution suggested by L. Urban - // (Geant3 manual (1993) Phys211), - // derived from Tsai distribution (Rev Mod Phys 49,421(1977)) - - G4double u; - const G4double a1 = 0.625 , a2 = 3.*a1 , d = 27. ; - - if (9./(9.+d) > G4UniformRand()) u = - log(G4UniformRand()*G4UniformRand())/a1; - else u = - log(G4UniformRand()*G4UniformRand())/a2; - - G4double theta = u*electron_mass_c2/totalEnergy; + G4double theta = GetAngularDistribution()->PolarAngle(totalEnergy, + totalEnergy-gammaEnergy, + (G4int)anElement->GetZ()); G4double sint = sin(theta); @@ -900,20 +886,18 @@ const G4Element* G4eBremsstrahlungModel::SelectRandomAtom( if(1 < nElements) { + --nElements; G4DataVector* dv = partialSumSigma[couple->GetIndex()]; - G4double rval = G4UniformRand()*((*dv)[nElements-1]); + G4double rval = G4UniformRand()*((*dv)[nElements]); - for (G4int i=0; iGetName() - << G4endl; - elm = (*theElementVector)[0]; - } - } else elm = (*theElementVector)[0]; + } else { elm = (*theElementVector)[0]; } SetCurrentElement(elm); return elm; diff --git a/source/processes/electromagnetic/standard/src/G4eBremsstrahlungRelModel.cc b/source/processes/electromagnetic/standard/src/G4eBremsstrahlungRelModel.cc index bd9d17b4b0..9bc89488c3 100644 --- a/source/processes/electromagnetic/standard/src/G4eBremsstrahlungRelModel.cc +++ b/source/processes/electromagnetic/standard/src/G4eBremsstrahlungRelModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eBremsstrahlungRelModel.cc,v 1.14 2009/04/09 18:41:18 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4eBremsstrahlungRelModel.cc,v 1.18 2010/11/04 17:30:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -41,6 +41,7 @@ // // 13.11.08 add SetLPMflag and SetLPMconstant methods // 13.11.08 change default LPMconstant value +// 13.10.10 add angular distributon interface (VI) // // Main References: // Y.-S.Tsai, Rev. Mod. Phys. 46 (1974) 815; Rev. Mod. Phys. 49 (1977) 421. @@ -64,7 +65,7 @@ #include "G4ProductionCutsTable.hh" #include "G4ParticleChangeForLoss.hh" #include "G4LossTableManager.hh" - +#include "G4ModifiedTsai.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -89,16 +90,25 @@ G4eBremsstrahlungRelModel::G4eBremsstrahlungRelModel(const G4ParticleDefinition* bremFactor(fine_structure_const*classic_electr_radius*classic_electr_radius*16./3.), use_completescreening(true),isInitialised(false) { - if(p) SetParticle(p); theGamma = G4Gamma::Gamma(); - minThreshold = 1.0*keV; - SetLowEnergyLimit(GeV); + minThreshold = 0.1*keV; + lowKinEnergy = GeV; + SetLowEnergyLimit(lowKinEnergy); nist = G4NistManager::Instance(); - InitialiseConstants(); SetLPMFlag(true); + SetAngularDistribution(new G4ModifiedTsai()); + + particleMass = kinEnergy = totalEnergy = currentZ = z13 = z23 = lnZ = Fel + = Finel = fCoulomb = fMax = densityFactor = densityCorr = lpmEnergy + = xiLPM = phiLPM = gLPM = klpm = kp = 0.0; + + energyThresholdLPM = 1.e39; + + InitialiseConstants(); + if(p) { SetParticle(p); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -124,8 +134,8 @@ void G4eBremsstrahlungRelModel::SetParticle(const G4ParticleDefinition* p) { particle = p; particleMass = p->GetPDGMass(); - if(p == G4Electron::Electron()) isElectron = true; - else isElectron = false; + if(p == G4Electron::Electron()) { isElectron = true; } + else { isElectron = false;} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -139,17 +149,18 @@ G4double G4eBremsstrahlungRelModel::MinEnergyCut(const G4ParticleDefinition*, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4eBremsstrahlungRelModel::SetupForMaterial(const G4ParticleDefinition*, - const G4Material* mat, G4double kineticEnergy) + const G4Material* mat, + G4double kineticEnergy) { densityFactor = mat->GetElectronDensity()*fMigdalConstant; lpmEnergy = mat->GetRadlen()*fLPMconstant; // Threshold for LPM effect (i.e. below which LPM hidden by density effect) - if (LPMFlag()) + if (LPMFlag()) { energyThresholdLPM=sqrt(densityFactor)*lpmEnergy; - else + } else { energyThresholdLPM=1.e39; // i.e. do not use LPM effect - + } // calculate threshold for density effect kinEnergy = kineticEnergy; totalEnergy = kineticEnergy + particleMass; @@ -167,16 +178,15 @@ void G4eBremsstrahlungRelModel::SetupForMaterial(const G4ParticleDefinition*, void G4eBremsstrahlungRelModel::Initialise(const G4ParticleDefinition* p, const G4DataVector& cuts) { - if(p) SetParticle(p); + if(p) { SetParticle(p); } - highKinEnergy = HighEnergyLimit(); lowKinEnergy = LowEnergyLimit(); currentZ = 0.; InitialiseElementSelectors(p, cuts); - if(isInitialised) return; + if(isInitialised) { return; } fParticleChange = GetParticleChangeForLoss(); isInitialised = true; } @@ -189,10 +199,10 @@ G4double G4eBremsstrahlungRelModel::ComputeDEDXPerVolume( G4double kineticEnergy, G4double cutEnergy) { - if(!particle) SetParticle(p); - if(kineticEnergy < lowKinEnergy) return 0.0; + if(!particle) { SetParticle(p); } + if(kineticEnergy < lowKinEnergy) { return 0.0; } G4double cut = std::min(cutEnergy, kineticEnergy); - if(cut == 0.0) return 0.0; + if(cut == 0.0) { return 0.0; } SetupForMaterial(particle, material,kineticEnergy); @@ -260,19 +270,19 @@ G4double G4eBremsstrahlungRelModel::ComputeCrossSectionPerAtom( G4double cutEnergy, G4double maxEnergy) { - if(!particle) SetParticle(p); - if(kineticEnergy < lowKinEnergy) return 0.0; + if(!particle) { SetParticle(p); } + if(kineticEnergy < lowKinEnergy) { return 0.0; } G4double cut = std::min(cutEnergy, kineticEnergy); G4double tmax = std::min(maxEnergy, kineticEnergy); - if(cut >= tmax) return 0.0; + if(cut >= tmax) { return 0.0; } SetCurrentElement(Z); G4double cross = ComputeXSectionPerAtom(cut); // allow partial integration - if(tmax < kinEnergy) cross -= ComputeXSectionPerAtom(tmax); + if(tmax < kinEnergy) { cross -= ComputeXSectionPerAtom(tmax); } cross *= Z*Z*bremFactor; @@ -389,7 +399,7 @@ void G4eBremsstrahlungRelModel::CalcLPMFunctions(G4double k) // *** make sure suppression is smaller than 1 *** // *** caused by Migdal approximation in xi *** - if (xiLPM*phiLPM>1. || s>0.57) xiLPM=1./phiLPM; + if (xiLPM*phiLPM>1. || s>0.57) { xiLPM=1./phiLPM; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -400,7 +410,7 @@ G4double G4eBremsstrahlungRelModel::ComputeRelDXSectionPerAtom(G4double gammaEne // only valid for very high energies, but includes LPM suppression // * complete screening { - if(gammaEnergy < 0.0) return 0.0; + if(gammaEnergy < 0.0) { return 0.0; } G4double y = gammaEnergy/totalEnergy; G4double y2 = y*y*.25; @@ -428,7 +438,7 @@ G4double G4eBremsstrahlungRelModel::ComputeDXSectionPerAtom(G4double gammaEnergy // * no LPM effect { - if(gammaEnergy < 0.0) return 0.0; + if(gammaEnergy < 0.0) { return 0.0; } G4double y = gammaEnergy/totalEnergy; @@ -464,10 +474,10 @@ void G4eBremsstrahlungRelModel::SampleSecondaries( G4double maxEnergy) { G4double kineticEnergy = dp->GetKineticEnergy(); - if(kineticEnergy < lowKinEnergy) return; + if(kineticEnergy < lowKinEnergy) { return; } G4double cut = std::min(cutEnergy, kineticEnergy); G4double emax = std::min(maxEnergy, kineticEnergy); - if(cut >= emax) return; + if(cut >= emax) { return; } SetupForMaterial(particle, couple->GetMaterial(),kineticEnergy); @@ -482,7 +492,7 @@ void G4eBremsstrahlungRelModel::SampleSecondaries( // G4double fmax= fMax; G4bool highe = true; - if(totalEnergy < energyThresholdLPM) highe = false; + if(totalEnergy < energyThresholdLPM) { highe = false; } G4double xmin = log(cut*cut + densityCorr); G4double xmax = log(emax*emax + densityCorr); @@ -506,19 +516,13 @@ void G4eBremsstrahlungRelModel::SampleSecondaries( } while (f < fMax*G4UniformRand()); // - // angles of the emitted gamma. ( Z - axis along the parent particle) + // angles of the emitted gamma. ( Z - axis along the parent particle) + // use general interface // - // universal distribution suggested by L. Urban - // (Geant3 manual (1993) Phys211), - // derived from Tsai distribution (Rev Mod Phys 49,421(1977)) + G4double theta = GetAngularDistribution()->PolarAngle(totalEnergy, + totalEnergy-gammaEnergy, + (G4int)currentZ); - G4double u; - const G4double a1 = 0.625 , a2 = 3.*a1 , d = 27. ; - - if (9./(9.+d) > G4UniformRand()) u = - log(G4UniformRand()*G4UniformRand())/a1; - else u = - log(G4UniformRand()*G4UniformRand())/a2; - - G4double theta = u*particleMass/totalEnergy; G4double sint = sin(theta); G4double phi = twopi * G4UniformRand(); G4ThreeVector gammaDirection(sint*cos(phi),sint*sin(phi), cos(theta)); diff --git a/source/processes/electromagnetic/standard/src/G4eCoulombScatteringModel.cc b/source/processes/electromagnetic/standard/src/G4eCoulombScatteringModel.cc index e5a5c3d5ed..fce0a61345 100644 --- a/source/processes/electromagnetic/standard/src/G4eCoulombScatteringModel.cc +++ b/source/processes/electromagnetic/standard/src/G4eCoulombScatteringModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eCoulombScatteringModel.cc,v 1.78 2009/10/28 10:14:13 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4eCoulombScatteringModel.cc,v 1.91 2010/11/13 18:45:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -46,6 +46,8 @@ // 09.10.07 V.Ivanchenko reorganized methods, add cut dependence in scattering off e- // 09.06.08 V.Ivanchenko add SelectIsotope and sampling of the recoil ion // 16.06.09 C.Consolandi fixed computation of effective mass +// 27.05.10 V.Ivanchenko added G4WentzelOKandVIxSection class to +// compute cross sections and sample scattering angle // // // Class Description: @@ -59,69 +61,50 @@ #include "Randomize.hh" #include "G4DataVector.hh" #include "G4ElementTable.hh" -#include "G4PhysicsLogVector.hh" #include "G4ParticleChangeForGamma.hh" -#include "G4Electron.hh" -#include "G4Positron.hh" #include "G4Proton.hh" #include "G4ParticleTable.hh" #include "G4ProductionCutsTable.hh" #include "G4NucleiProperties.hh" +#include "G4Pow.hh" +#include "G4LossTableManager.hh" +#include "G4NistManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4eCoulombScatteringModel::ScreenRSquare[] = {0.0}; -G4double G4eCoulombScatteringModel::FormFactor[] = {0.0}; - using namespace std; G4eCoulombScatteringModel::G4eCoulombScatteringModel(const G4String& nam) : G4VEmModel(nam), cosThetaMin(1.0), cosThetaMax(-1.0), - q2Limit(TeV*TeV), - alpha2(fine_structure_const*fine_structure_const), - faclim(100.0), isInitialised(false) { fNistManager = G4NistManager::Instance(); theParticleTable = G4ParticleTable::GetParticleTable(); - theElectron = G4Electron::Electron(); - thePositron = G4Positron::Positron(); theProton = G4Proton::Proton(); currentMaterial = 0; currentElement = 0; - lowEnergyLimit = 0.1*keV; - G4double p0 = electron_mass_c2*classic_electr_radius; - coeff = twopi*p0*p0; - tkin = targetZ = mom2 = DBL_MIN; - elecXSection = nucXSection = 0.0; + lowEnergyLimit = 1*eV; recoilThreshold = 0.*keV; - ecut = DBL_MAX; particle = 0; currentCouple = 0; + wokvi = new G4WentzelOKandVIxSection(); - // Thomas-Fermi screening radii - // Formfactors from A.V. Butkevich et al., NIM A 488 (2002) 282 + currentMaterialIndex = 0; - if(0.0 == ScreenRSquare[0]) { - G4double a0 = electron_mass_c2/0.88534; - G4double constn = 6.937e-6/(MeV*MeV); - - ScreenRSquare[0] = alpha2*a0*a0; - for(G4int j=1; j<100; j++) { - G4double x = a0*fNistManager->GetZ13(j); - ScreenRSquare[j] = alpha2*x*x; - x = fNistManager->GetA27(j); - FormFactor[j] = constn*x*x; - } - } + cosTetMinNuc = 1.0; + cosTetMaxNuc = -1.0; + elecRatio = 0.0; + mass = proton_mass_c2; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4eCoulombScatteringModel::~G4eCoulombScatteringModel() -{} +{ + delete wokvi; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -130,10 +113,14 @@ void G4eCoulombScatteringModel::Initialise(const G4ParticleDefinition* p, { SetupParticle(p); currentCouple = 0; - elecXSection = nucXSection = 0.0; - tkin = targetZ = mom2 = DBL_MIN; - ecut = etag = DBL_MAX; cosThetaMin = cos(PolarAngleLimit()); + wokvi->Initialise(p, cosThetaMin); + /* + G4cout << "G4eCoulombScatteringModel: factorA2(GeV^2) = " << factorA2/(GeV*GeV) + << " 1-cos(ThetaLimit)= " << 1 - cosThetaMin + << " cos(thetaMax)= " << cosThetaMax + << G4endl; + */ pCuts = G4ProductionCutsTable::GetProductionCutsTable()->GetEnergyCutsVector(3); //G4cout << "!!! G4eCoulombScatteringModel::Initialise for " // << p->GetParticleName() << " cos(TetMin)= " << cosThetaMin @@ -150,36 +137,6 @@ void G4eCoulombScatteringModel::Initialise(const G4ParticleDefinition* p, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4eCoulombScatteringModel::ComputeMaxElectronScattering(G4double cutEnergy) -{ - ecut = cutEnergy; - G4double tmax = tkin; - cosTetMaxElec = 1.0; - if(mass > MeV) { - G4double ratio = electron_mass_c2/mass; - G4double tau = tkin/mass; - tmax = 2.0*electron_mass_c2*tau*(tau + 2.)/ - (1.0 + 2.0*ratio*(tau + 1.0) + ratio*ratio); - cosTetMaxElec = 1.0 - std::min(cutEnergy, tmax)*electron_mass_c2/mom2; - } else { - - if(particle == theElectron) tmax *= 0.5; - G4double t = std::min(cutEnergy, tmax); - G4double mom21 = t*(t + 2.0*electron_mass_c2); - G4double t1 = tkin - t; - //G4cout << "tkin= " << tkin << " t= " << t << " t1= " << t1 << G4endl; - if(t1 > 0.0) { - G4double mom22 = t1*(t1 + 2.0*mass); - G4double ctm = (mom2 + mom22 - mom21)*0.5/sqrt(mom2*mom22); - //G4cout << "ctm= " << ctm << G4endl; - if(ctm < 1.0) cosTetMaxElec = ctm; - if(ctm < -1.0) cosTetMaxElec = -1.0; - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - G4double G4eCoulombScatteringModel::ComputeCrossSectionPerAtom( const G4ParticleDefinition* p, G4double kinEnergy, @@ -189,72 +146,35 @@ G4double G4eCoulombScatteringModel::ComputeCrossSectionPerAtom( //G4cout << "### G4eCoulombScatteringModel::ComputeCrossSectionPerAtom for " // << p->GetParticleName()<<" Z= "<GetParticleName() // << " cut= " << cutEnergy<< G4endl; @@ -278,32 +196,29 @@ void G4eCoulombScatteringModel::SampleSecondaries( currentElement = SelectRandomAtom(couple,particle, kinEnergy,cutEnergy,kinEnergy); - SetupTarget(currentElement->GetZ(),kinEnergy); + G4double Z = currentElement->GetZ(); + + if(ComputeCrossSectionPerAtom(particle,kinEnergy, Z, + kinEnergy, cutEnergy, kinEnergy) == 0.0) + { return; } + G4int iz = G4int(Z); G4int ia = SelectIsotopeNumber(currentElement); - targetMass = G4NucleiProperties::GetNuclearMass(ia, iz); - - G4double cost = SampleCosineTheta(); - G4double z1 = 1.0 - cost; - if(z1 < 0.0) return; + G4double targetMass = G4NucleiProperties::GetNuclearMass(ia, iz); - G4double sint = sqrt(z1*(1.0 + cost)); - - //G4cout<<"## Sampled sint= " << sint << " Z= " << targetZ << " A= " << ia - // << " screenZ= " << screenZ << " cn= " << formfactA << G4endl; - - G4double phi = twopi * G4UniformRand(); + G4ThreeVector newDirection = + wokvi->SampleSingleScattering(cosTetMinNuc, cosThetaMax, elecRatio); + G4double cost = newDirection.z(); G4ThreeVector direction = dp->GetMomentumDirection(); - G4ThreeVector newDirection(cos(phi)*sint,sin(phi)*sint,cost); newDirection.rotateUz(direction); fParticleChange->ProposeMomentumDirection(newDirection); // recoil sampling assuming a small recoil // and first order correction to primary 4-momentum - G4double q2 = 2*z1*mom2; - G4double trec = q2/(sqrt(targetMass*targetMass + q2) + targetMass); + G4double mom2 = wokvi->GetMomentumSquare(); + G4double trec = mom2*(1.0 - cost)/(targetMass + (mass + kinEnergy)*(1.0 - cost)); G4double finalT = kinEnergy - trec; //G4cout<<"G4eCoulombScatteringModel: finalT= "<GetParticleName() - << " skin= " << Skin() - << " SA= " << steppingAlgorithm - << G4endl; - */ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -97,11 +90,12 @@ void G4eMultipleScattering::InitialiseProcess(const G4ParticleDefinition*) void G4eMultipleScattering::PrintInfo() { G4cout << " RangeFactor= " << RangeFactor() - << ", step limit type: " << StepLimitType() - << ", lateralDisplacement: " << LateralDisplasmentFlag() - << ", skin= " << Skin() - << ", geomFactor= " << GeomFactor() - << G4endl; + << ", stepLimitType: " << StepLimitType() + << ", latDisplacement: " << LateralDisplasmentFlag(); + if(StepLimitType() == fUseDistanceToBoundary) { + G4cout << ", skin= " << Skin() << ", geomFactor= " << GeomFactor(); + } + G4cout << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4hIonisation.cc b/source/processes/electromagnetic/standard/src/G4hIonisation.cc index 5a694b7393..690afade5f 100644 --- a/source/processes/electromagnetic/standard/src/G4hIonisation.cc +++ b/source/processes/electromagnetic/standard/src/G4hIonisation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4hIonisation.cc,v 1.82 2009/02/20 12:06:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4hIonisation.cc,v 1.86 2010/10/26 10:42:04 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -78,6 +78,7 @@ // positive from pi+ and p (VI) // 14-01-07 use SetEmModel() and SetFluctModel() from G4VEnergyLossProcess (mma) // 12-09-08 Removed CorrectionsAlongStep (VI) +// 27-05-10 Added G4ICRU73QOModel for anti-protons (VI) // // ------------------------------------------------------------------- // @@ -98,6 +99,7 @@ #include "G4PionMinus.hh" #include "G4KaonPlus.hh" #include "G4KaonMinus.hh" +#include "G4ICRU73QOModel.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -105,15 +107,15 @@ using namespace std; G4hIonisation::G4hIonisation(const G4String& name) : G4VEnergyLossProcess(name), - isInitialised(false), - nuclearStopping(true) + isInitialised(false) { - // SetStepFunction(0.2, 1.0*mm); + //SetStepFunction(0.2, 1.0*mm); //SetIntegral(true); //SetVerboseLevel(1); SetProcessSubType(fIonisation); mass = 0.0; ratio = 0.0; + eth = 2*MeV; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -150,6 +152,7 @@ void G4hIonisation::InitialiseEnergyLossProcess( const G4ParticleDefinition* theBaseParticle = 0; G4String pname = part->GetParticleName(); + G4double q = part->GetPDGCharge(); // standard base particles if(part == bpart || pname == "proton" || @@ -162,17 +165,14 @@ void G4hIonisation::InitialiseEnergyLossProcess( // select base particle else if(bpart == 0) { - if(part->GetPDGSpin() == 0.0) - if(part->GetPDGCharge() > 0.0 ) { - theBaseParticle = G4KaonPlus::KaonPlus(); - } else { - theBaseParticle = G4KaonMinus::KaonMinus(); - } - else if(part->GetPDGCharge() > 0.0) { - theBaseParticle = G4Proton::Proton(); + if(part->GetPDGSpin() == 0.0) { + if(q > 0.0) { theBaseParticle = G4KaonPlus::KaonPlus(); } + else { theBaseParticle = G4KaonMinus::KaonMinus(); } } else { - theBaseParticle = G4AntiProton::AntiProton(); + if(q > 0.0) { theBaseParticle = G4Proton::Proton(); } + else { theBaseParticle = G4AntiProton::AntiProton(); } } + // base particle defined by interface } else { theBaseParticle = bpart; @@ -182,38 +182,38 @@ void G4hIonisation::InitialiseEnergyLossProcess( mass = part->GetPDGMass(); ratio = electron_mass_c2/mass; + eth = 2.0*MeV*mass/proton_mass_c2; - if(mass < 900.*MeV) nuclearStopping = false; - - if (!EmModel(1)) SetEmModel(new G4BraggModel(),1); + if (!EmModel(1)) { + if(q > 0.0) { SetEmModel(new G4BraggModel(),1); } + else { SetEmModel(new G4ICRU73QOModel(),1); } + } EmModel(1)->SetLowEnergyLimit(MinKinEnergy()); // model limit defined for protons - eth = (EmModel(1)->HighEnergyLimit())*mass/proton_mass_c2; + //eth = (EmModel(1)->HighEnergyLimit())*mass/proton_mass_c2; EmModel(1)->SetHighEnergyLimit(eth); AddEmModel(1, EmModel(1), new G4IonFluctuations()); - if (!FluctModel()) SetFluctModel(new G4UniversalFluctuation()); + if (!FluctModel()) { SetFluctModel(new G4UniversalFluctuation()); } - if (!EmModel(2)) SetEmModel(new G4BetheBlochModel(),2); + if (!EmModel(2)) { SetEmModel(new G4BetheBlochModel(),2); } EmModel(2)->SetLowEnergyLimit(eth); EmModel(2)->SetHighEnergyLimit(MaxKinEnergy()); AddEmModel(2, EmModel(2), FluctModel()); isInitialised = true; } - EmModel(1)->ActivateNuclearStopping(nuclearStopping); - EmModel(2)->ActivateNuclearStopping(nuclearStopping); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4hIonisation::PrintInfo() -{ - if(EmModel(1) && EmModel(2)) { - G4cout << " NuclearStopping= " << nuclearStopping - << G4endl; - } -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4hIonisation::ActivateNuclearStopping(G4bool) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/src/G4hMultipleScattering.cc b/source/processes/electromagnetic/standard/src/G4hMultipleScattering.cc index 2784937a93..c3bcd25efd 100644 --- a/source/processes/electromagnetic/standard/src/G4hMultipleScattering.cc +++ b/source/processes/electromagnetic/standard/src/G4hMultipleScattering.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4hMultipleScattering.cc,v 1.16 2009/11/01 13:05:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4hMultipleScattering.cc,v 1.18 2010/04/16 09:01:24 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ----------------------------------------------------------------------------- // @@ -46,7 +46,6 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4hMultipleScattering.hh" -#include "G4UrbanMscModel.hh" #include "G4UrbanMscModel90.hh" #include "G4MscStepLimitType.hh" @@ -89,10 +88,11 @@ void G4hMultipleScattering::PrintInfo() { G4cout << " RangeFactor= " << RangeFactor() << ", stepLimitType: " << StepLimitType() - << ", latDisplacement: " << LateralDisplasmentFlag() - << ", skin= " << Skin() - << ", geomFactor= " << GeomFactor() - << G4endl; + << ", latDisplacement: " << LateralDisplasmentFlag(); + if(StepLimitType() == fUseDistanceToBoundary) { + G4cout << ", skin= " << Skin() << ", geomFactor= " << GeomFactor(); + } + G4cout << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4ionIonisation.cc b/source/processes/electromagnetic/standard/src/G4ionIonisation.cc index 8e97479bfd..2c5476f114 100644 --- a/source/processes/electromagnetic/standard/src/G4ionIonisation.cc +++ b/source/processes/electromagnetic/standard/src/G4ionIonisation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ionIonisation.cc,v 1.70 2009/11/27 20:06:32 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ionIonisation.cc,v 1.72 2010/10/26 10:42:04 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -65,7 +65,6 @@ #include "G4ionIonisation.hh" #include "G4Electron.hh" #include "G4Proton.hh" -//#include "G4Alpha.hh" #include "G4GenericIon.hh" #include "G4BraggModel.hh" #include "G4BraggIonModel.hh" @@ -82,11 +81,9 @@ using namespace std; G4ionIonisation::G4ionIonisation(const G4String& name) : G4VEnergyLossProcess(name), - corr(0), theParticle(0), isInitialised(false), - stopDataActive(true), - nuclearStopping(true) + stopDataActive(true) { SetLinearLossLimit(0.02); SetStepFunction(0.1, 0.1*mm); @@ -94,6 +91,7 @@ G4ionIonisation::G4ionIonisation(const G4String& name) SetProcessSubType(fIonisation); // SetVerboseLevel(1); corr = G4LossTableManager::Instance()->EmCorrections(); + eth = 2*MeV; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -135,24 +133,24 @@ void G4ionIonisation::InitialiseEnergyLossProcess( // define base particle const G4ParticleDefinition* theBaseParticle = 0; - if(part == ion) theBaseParticle = 0; - else if(bpart == 0) theBaseParticle = ion; - else theBaseParticle = bpart; + if(part == ion) { theBaseParticle = 0; } + else if(bpart == 0) { theBaseParticle = ion; } + else { theBaseParticle = bpart; } SetBaseParticle(theBaseParticle); SetSecondaryParticle(G4Electron::Electron()); - if (!EmModel(1)) SetEmModel(new G4BraggIonModel(), 1); + if (!EmModel(1)) { SetEmModel(new G4BraggIonModel(), 1); } EmModel(1)->SetLowEnergyLimit(MinKinEnergy()); // model limit defined for protons eth = (EmModel(1)->HighEnergyLimit())*part->GetPDGMass()/proton_mass_c2; EmModel(1)->SetHighEnergyLimit(eth); - if (!FluctModel()) SetFluctModel(new G4IonFluctuations()); + if (!FluctModel()) { SetFluctModel(new G4IonFluctuations()); } AddEmModel(1, EmModel(1), FluctModel()); - if (!EmModel(2)) SetEmModel(new G4BetheBlochModel(),2); + if (!EmModel(2)) { SetEmModel(new G4BetheBlochModel(),2); } EmModel(2)->SetLowEnergyLimit(eth); EmModel(2)->SetHighEnergyLimit(MaxKinEnergy()); AddEmModel(2, EmModel(2), FluctModel()); @@ -165,9 +163,7 @@ void G4ionIonisation::InitialiseEnergyLossProcess( isInitialised = true; } // reinitialisation of corrections for the new run - EmModel(1)->ActivateNuclearStopping(nuclearStopping); - EmModel(2)->ActivateNuclearStopping(nuclearStopping); - if(part == ion) corr->InitialiseForNewRun(); + if(part == ion) { corr->InitialiseForNewRun(); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -177,7 +173,7 @@ void G4ionIonisation::PrintInfo() if (stopDataActive && G4GenericIon::GenericIon() == theParticle) { G4cout << " Stopping Power data for " << corr->GetNumberOfStoppingVectors() - << " ion/material pairs, nuclearStopping: " << nuclearStopping + << " ion/material pairs " << G4endl; } } diff --git a/source/processes/electromagnetic/utils/CMakeLists.txt b/source/processes/electromagnetic/utils/CMakeLists.txt new file mode 100644 index 0000000000..0366fa2439 --- /dev/null +++ b/source/processes/electromagnetic/utils/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4emutils +# Package: Geant4.src.G4processes.G4electromagnetic.G4emutils +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 18:54:13 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/electromagnetic/utils/History b/source/processes/electromagnetic/utils/History index e2581cfc17..8f0e97459f 100644 --- a/source/processes/electromagnetic/utils/History +++ b/source/processes/electromagnetic/utils/History @@ -1,4 +1,4 @@ -$Id: History,v 1.400 2009/11/22 19:48:30 vnivanch Exp $ +$Id: History,v 1.446 2010/12/02 12:21:22 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,143 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +2 December 10: V.Ivant (emutils-V09-03-30) +- G4EmCorrections - fixed minor memory leak at initialisation + +23 November 10: V.Ivant (emutils-V09-03-29) +- G4EmProcessOptions, G4EnergyLossMessenger - added forgotten option + +22 November 10: V.Ivant (emutils-V09-03-28) +- G4VAtomDeexcitation - added lowestKinEnergy (fixed FPE report) + +21 November 10: V.Ivant (emutils-V09-03-27) +- G4VAtomDeexcitation, G4EmProcessOptions - fixed initialisation +- G4EmCalculator - improved cross section calculation + +18 November 10: V.Ivant (emutils-V09-03-26) +- G4VAtomDeexcitation, G4VEnergyLossProcess improved printout at + initialisation + +16 November 10: V.Ivant (emutils-V09-03-25) +- G4EmCorrections - used G4PhysicsVector for approximation of the + Barkas correction; cleanup comments + +13 November 10: V.Ivant (emutils-V09-03-24) +- G4EmCorrections - fixed computation of shell corrections according + to prescriptions of original papers; added Bichsel approximation + for Barkas corrections for the large Z > 47 + +04 November 10: V.Ivant (emutils-V09-03-23) +- Fixed part of problems reported by the Coverity tool + (mainly initialisation) + +25 October 10: V.Ivant (emutils-V09-03-22) +- Fixed problems reported by the Coverity tool (mainly initialisation) + +15 October 10: V.Ivant (emutils-V09-03-21) +- G4VEmAngularDistribution - new general interface +- G4VBremAngularDistribution moved from lowenergy +- G4VEmModel - G4VEmAngularDistribution added and Get/Set methods +- G4VEnergyLossProcess - fixed bug #1141 (L.Pandola) + +07 September 10: V.Ivant (emutils-V09-03-20) +- G4VMscModel - in computation of the displacement added + a protection limited displacement to be incide current + volume (address bug #1128) +- G4LossTableManager - a little cleanup of interfaces +- G4ElectronIonPair - added method SampleNumberOfIonsAlongStep +- G4EmCalculator - return back tag 18 + +23 August 10: V.Ivant (emutils-V09-03-19) +G4VEnergyLossProcess - minor optimisation of PostStepDoIt (in some cases + one call to the log of random number less) + +17 August 10: V.Ivant (emutils-V09-03-18) +G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering, G4VEmModel, +G4EmMultiModel - substituted obsolete method GetDefinition() of the class + G4DynamicParticle by the new one GetParticleDefinition() + +29 July 10: V.Ivant (emutils-V09-03-17) +G4EmMultiModel - fixed and cleaned up +G4VMultipleScattering - added more detailed printout for kaon+ +G4LossTableManager - added pointer and access method to G4ElectronIonPair + +4 June 10: V.Ivant (emutils-V09-03-16) +Previous tag was set from wrong directory + +4 June 10: V.Ivant (emutils-V09-03-15) +G4EmConfigurator - fixed case of more than one model is added per a process + +4 June 10: V.Ivant (emutils-V09-03-14) +G4EmCorrections - moved G4AtomicShell header into source + +26 May 10: V.Ivant (emutils-V09-03-13) +G4VEmModel - added method ChargeSquareRatio to access current charge of an ion +G4VEnergyLossProcess - use this new method + +10 May 10: V.Ivant (emutils-V09-03-12) +G4VEmProcess - cleanup printout at initialisation for scattering process + +28 April 10: V.Ivant (emutils-V09-03-11) +G4VEmProcess, G4VEnergyLossProcess, G4VEmModel - provided GetCurrentElement method + (addressed bug report #1115 and HyperNews request) + +27 April 10: V.Ivant (emutils-V09-03-10) +G4LossTableManager - added class member and a method GetNumberOfBinsPerDecade +G4VEmModel - use GetNumberOfBinsPerDecade and spline flag to initialise + G4EmElementSelector (addressed bug report #1115) +G4EmElementSelector - use spline flag to construct vectors probabilities +G4EmProcessOptions - removed double implementation of initialisation code, + which already exist in G4LossTableManager +G4VEnergyLossProcess - call CorrectionsAlongStep only for ions (minor CPU saving) + +23 April 10: V.Ivant (emutils-V09-03-09) +G4VEnergyLossProcess - removed unused variable + +12 April 10: V.Ivant (emutils-V09-03-08) +G4EmModelManager - do not use min energy cut defined by models allowing + decreasing of cuts in limit to zero +G4EmCalculator - fixed GetCrossSection method + +12 April 10: V.Ivant (emutils-V09-03-07) +G4LossTableManager - added methods PreparePhsyicsTables, BuildPhysicsTables, + and changed initialisation of models via G4EmConfigurator +G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering - added + calls of new G4LossTableManager methods + PreparePhsyicsTables, BuildPhysicsTables +G4EmConfigarator - upgraded and fixed old problem + +06 April 10: V.Ivant (emutils-V09-03-06) +G4VEnergyLossProcess - use the same method to build cross section table + as DEDX table (use copy constructors to reduce + number of calls to std::exp) +G4EmModelManager - cleanup comments + +22 March 10: V.Ivant (emutils-V09-03-05) +G4EmCorrections - added protection against large Barkas and Bloch + corrections in the case of large negatively charged + particle (100*e-) - fixed problem reported by ATLAS +G4EmCalculator - cleanup + +10 March 10: V.Ivant (emutils-V09-03-04) +G4VEmModel, G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering, +G4LossTableManager - reorder inline methods and add comments + +05 March 10: V.Ivant (emutils-V09-03-03) +G4VMscModel, G4VMultipleScattering - set skin=1.0 as a default + +24 February 10: V.Ivant (emutils-V09-03-02) +G4VEmProcess - move SetBuildTableFlag method from protected to public + +17 February 10: V.Ivant (emutils-V09-03-01) +G4VEmProcess - fixed problem for ion processes by adding pointer to + currentParticle which may be different from GenericIon + +22 January 10: V.Ivant (emutils-V09-03-00) +G4VEmProcess - added protection against negative cross section +G4VEnergyLossProcess - added protection against negative cross section; + - improved logic in RetrieveTable method + 23 November 09: V.Ivant (emutils-V09-02-24) G4EmConfigurator - fixed bug in selection of models diff --git a/source/processes/electromagnetic/utils/include/G4ElectronIonPair.hh b/source/processes/electromagnetic/utils/include/G4ElectronIonPair.hh index bb734c2919..e04f0fa4df 100755 --- a/source/processes/electromagnetic/utils/include/G4ElectronIonPair.hh +++ b/source/processes/electromagnetic/utils/include/G4ElectronIonPair.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ElectronIonPair.hh,v 1.2 2008/10/17 14:46:16 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ElectronIonPair.hh,v 1.5 2010/10/25 17:23:01 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // #ifndef G4ElectronIonPair_h @@ -61,7 +61,6 @@ #include "G4Step.hh" #include "G4ParticleDefinition.hh" #include "G4ThreeVector.hh" -#include "G4TrackVector.hh" #include "G4VProcess.hh" #include @@ -85,13 +84,10 @@ public: inline G4double MeanNumberOfIonsAlongStep(const G4Step*); + inline G4int SampleNumberOfIonsAlongStep(const G4Step*); + // returns pointer to the new vector of positions of // ionisation points in the World coordinate system - std::vector* - SampleIonsAlongStep(const G4ThreeVector& prePosition, - const G4ThreeVector& postPosition, - G4double numberOfIonisations); - std::vector* SampleIonsAlongStep(const G4Step*); // compute number of holes in the atom after PostStep interaction @@ -114,53 +110,53 @@ public: private: + void Initialise(); + + G4double FindMeanEnergyPerIonPair(const G4Material*); + // hide assignment operator G4ElectronIonPair & operator=(const G4ElectronIonPair &right); G4ElectronIonPair(const G4ElectronIonPair&); - G4double FindMeanEnergyPerIonPair(const G4Material*); - - void Initialise(); - - const G4ParticleDefinition* gamma; - // cash - const G4Material* curMaterial; - G4double curMeanEnergy; + const G4Material* curMaterial; + G4double curMeanEnergy; + G4double FanoFactor; + G4int verbose; G4int nMaterials; // list of G4 NIST materials with mean energy per ion defined - std::vector g4MatData; - std::vector g4MatNames; - + std::vector g4MatData; + std::vector g4MatNames; }; inline G4double G4ElectronIonPair::MeanNumberOfIonsAlongStep(const G4Step* step) { - return MeanNumberOfIonsAlongStep(step->GetTrack()->GetDefinition(), + return MeanNumberOfIonsAlongStep(step->GetTrack()->GetParticleDefinition(), step->GetPreStepPoint()->GetMaterial(), step->GetTotalEnergyDeposit(), step->GetNonIonizingEnergyDeposit()); } -inline std::vector* -G4ElectronIonPair::SampleIonsAlongStep(const G4Step* step) +inline +G4int G4ElectronIonPair::SampleNumberOfIonsAlongStep(const G4Step* step) { - return SampleIonsAlongStep(step->GetPreStepPoint()->GetPosition(), - step->GetPostStepPoint()->GetPosition(), - MeanNumberOfIonsAlongStep(step)); -} + G4double meanion = MeanNumberOfIonsAlongStep(step); + G4double sig = FanoFactor*std::sqrt(meanion); + G4int nion = G4int(G4RandGauss::shoot(meanion,sig) + 0.5); + return nion; +} inline G4int G4ElectronIonPair::ResidualeChargePostStep(const G4Step* step) { G4int subtype = -1; const G4VProcess* proc = step->GetPostStepPoint()->GetProcessDefinedStep(); - if(proc) subtype = proc->GetProcessSubType(); - return ResidualeChargePostStep(step->GetTrack()->GetDefinition(), + if(proc) { subtype = proc->GetProcessSubType(); } + return ResidualeChargePostStep(step->GetTrack()->GetParticleDefinition(), step->GetSecondary(), subtype); } diff --git a/source/processes/electromagnetic/utils/include/G4EmCalculator.hh b/source/processes/electromagnetic/utils/include/G4EmCalculator.hh index 2e3b669a6c..e593cff542 100644 --- a/source/processes/electromagnetic/utils/include/G4EmCalculator.hh +++ b/source/processes/electromagnetic/utils/include/G4EmCalculator.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmCalculator.hh,v 1.19 2009/11/11 23:59:48 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmCalculator.hh,v 1.21 2010/11/21 16:45:11 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------------- @@ -60,6 +60,7 @@ #include "globals.hh" #include "G4DataVector.hh" #include "G4DynamicParticle.hh" +#include "G4VAtomDeexcitation.hh" class G4LossTableManager; class G4Material; @@ -126,6 +127,11 @@ public: G4double kinEnergy, const G4String& part, const G4String& proc, const G4String& mat, const G4String& s = "world"); + G4double GetShellIonisationCrossSectionPerAtom( + const G4String& part, G4int Z, + G4AtomicShellEnumerator shell, + G4double kinEnergy); + G4double GetMeanFreePath(G4double kinEnergy, const G4ParticleDefinition*, const G4String& processName, const G4Material*, const G4Region* r = 0); @@ -181,6 +187,11 @@ public: const G4String& processName, const G4Element*, G4double cut = 0.0); + G4double ComputeShellIonisationCrossSectionPerAtom( + const G4String& part, G4int Z, + G4AtomicShellEnumerator shell, + G4double kinEnergy); + G4double ComputeMeanFreePath( G4double kinEnergy, const G4ParticleDefinition*, const G4String& processName, const G4Material*, @@ -248,6 +259,7 @@ private: const G4MaterialCutsCouple* currentCouple; const G4Material* currentMaterial; const G4ParticleDefinition* currentParticle; + const G4ParticleDefinition* lambdaParticle; const G4ParticleDefinition* baseParticle; const G4PhysicsTable* currentLambda; G4VEmModel* currentModel; @@ -259,6 +271,7 @@ private: G4DynamicParticle dynParticle; G4String currentName; + G4String lambdaName; G4double currentCut; G4double chargeSquare; G4double massRatio; diff --git a/source/processes/electromagnetic/utils/include/G4EmConfigurator.hh b/source/processes/electromagnetic/utils/include/G4EmConfigurator.hh index 2b61f412fa..24b1fb92fe 100644 --- a/source/processes/electromagnetic/utils/include/G4EmConfigurator.hh +++ b/source/processes/electromagnetic/utils/include/G4EmConfigurator.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmConfigurator.hh,v 1.2 2008/11/21 12:30:29 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EmConfigurator.hh,v 1.3 2010/04/12 11:44:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -57,35 +57,21 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +class G4VEnergyLossProcess; +class G4VEmProcess; +class G4VMultipleScattering; + class G4EmConfigurator { public: - G4EmConfigurator(); + G4EmConfigurator(G4int verboseLevel = 1); ~G4EmConfigurator(); - // Add EM model to the list of extra models potentially to be - // declared for the G4Region and energy interval - // - void AddExtraEmModel(const G4String& particleName, - G4VEmModel*, G4VEmFluctuationModel* fm = 0); - - // Declare EM model for particle type and process to - // be active for the G4Region and energy interval - // The model should be previously added to the configurator - // or be "dummy" - // - void AddModelForRegion(const G4String& particleName, - const G4String& processName, - const G4String& modelName, - const G4String& regionName = "", - G4double emin = 0.0, - G4double emax = DBL_MAX, - const G4String& flucModelName = ""); - // Set EM model for particle type and process to // be active for the G4Region and energy interval + // The model will be added to the list // void SetExtraEmModel(const G4String& particleName, const G4String& processName, @@ -96,39 +82,63 @@ public: G4VEmFluctuationModel* fm = 0); // Add all previously declared models to corresponding processes + // Can be called in ConstructPhysics + // void AddModels(); + // These methods called by G4LossTableManager + // + void PrepareModels(const G4ParticleDefinition* aParticle, + G4VEnergyLossProcess* p); + + void PrepareModels(const G4ParticleDefinition* aParticle, + G4VEmProcess* p); + + void PrepareModels(const G4ParticleDefinition* aParticle, + G4VMultipleScattering* p); + + void Clear(); + + inline void SetVerbose(G4int value); + private: - void SetModelForRegion(const G4String& particleName, + G4Region* FindRegion(const G4String&); + + void SetModelForRegion(G4VEmModel* model, + G4VEmFluctuationModel* fm, + G4Region* reg, + const G4String& particleName, const G4String& processName, - const G4String& modelName, - const G4String& regionName, - const G4String& flucModelName, G4double emin, G4double emax); + G4bool UpdateModelEnergyRange(G4VEmModel* mod, + G4double emin, G4double emax); + // hide assignment operator G4EmConfigurator & operator=(const G4EmConfigurator &right); G4EmConfigurator(const G4EmConfigurator&); + std::vector models; + std::vector flucModels; std::vector particles; std::vector processes; - std::vector models; std::vector regions; - std::vector flucModels; std::vector lowEnergy; std::vector highEnergy; - std::vector particleList; - std::vector modelList; - std::vector flucModelList; - G4int index; + G4int verbose; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +inline void G4EmConfigurator::SetVerbose(G4int value) +{ + verbose = value; +} + #endif diff --git a/source/processes/electromagnetic/utils/include/G4EmCorrections.hh b/source/processes/electromagnetic/utils/include/G4EmCorrections.hh index c30449f36a..57180b9327 100644 --- a/source/processes/electromagnetic/utils/include/G4EmCorrections.hh +++ b/source/processes/electromagnetic/utils/include/G4EmCorrections.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmCorrections.hh,v 1.24 2008/09/12 14:44:48 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EmCorrections.hh,v 1.27 2010/11/15 19:18:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -55,7 +55,6 @@ #define G4EmCorrections_h 1 #include "globals.hh" -#include "G4AtomicShells.hh" #include "G4ionEffectiveCharge.hh" #include "G4Material.hh" #include "G4ParticleDefinition.hh" @@ -65,6 +64,7 @@ class G4VEmModel; class G4PhysicsVector; class G4IonTable; class G4MaterialCutsCouple; +class G4LPhysicsFreeVector; class G4EmCorrections { @@ -191,8 +191,6 @@ private: G4EmCorrections & operator=(const G4EmCorrections &right); G4EmCorrections(const G4EmCorrections&); - G4double engBarkas[47]; - G4double corBarkas[47]; G4double ed[104]; G4double a[104]; G4double theZieglerFactor; @@ -228,10 +226,12 @@ private: G4double CL[26][28]; G4double HM[53]; G4double HN[31]; - G4double MSH[93]; - G4double TAU[93]; G4double Z23[100]; + G4LPhysicsFreeVector* BarkasCorr; + G4LPhysicsFreeVector* ThetaK; + G4LPhysicsFreeVector* ThetaL; + std::vector currmat; std::vector thcorr[100]; size_t ncouples; @@ -262,7 +262,6 @@ private: G4double eCorrMax; G4int nbinCorr; - G4AtomicShells shells; G4ionEffectiveCharge effCharge; G4NistManager* nist; @@ -355,11 +354,13 @@ inline void G4EmCorrections::SetupKinematics(const G4ParticleDefinition* p, G4double ratio = electron_mass_c2/mass; tmax = 2.0*electron_mass_c2*bg2 /(1. + 2.0*gamma*ratio + ratio*ratio); charge = p->GetPDGCharge()/eplus; - if(charge < 1.5) {q2 = charge*charge;} - else { - q2 = effCharge.EffectiveChargeSquareRatio(p,mat,kinEnergy); - charge = std::sqrt(q2); - } + //if(charge < 1.5) {q2 = charge*charge;} + //else { + // q2 = effCharge.EffectiveChargeSquareRatio(p,mat,kinEnergy); + // charge = std::sqrt(q2); + //} + if(charge > 1.5) { charge = effCharge.EffectiveCharge(p,mat,kinEnergy); } + q2 = charge*charge; } if(mat != material) { material = mat; diff --git a/source/processes/electromagnetic/utils/include/G4EmMultiModel.hh b/source/processes/electromagnetic/utils/include/G4EmMultiModel.hh index d791ed469b..e366657eea 100644 --- a/source/processes/electromagnetic/utils/include/G4EmMultiModel.hh +++ b/source/processes/electromagnetic/utils/include/G4EmMultiModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmMultiModel.hh,v 1.6 2007/05/22 17:31:57 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EmMultiModel.hh,v 1.7 2010/07/04 17:51:09 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -39,10 +39,11 @@ // // Modifications: // 15-04-05 optimize internal interface (V.Ivanchenko) +// 04-07-10 updated interfaces according to g4 9.4 (V.Ivanchenko) // // Class Description: // -// Energy loss model using several G4VEmModels +// EM model using several G4VEmModels for the same energy interval // ------------------------------------------------------------------- // @@ -54,8 +55,6 @@ #include "G4VEmModel.hh" #include -class G4Region; -class G4PhysicsTable; class G4DynamicParticle; class G4EmMultiModel : public G4VEmModel @@ -67,37 +66,30 @@ public: virtual ~G4EmMultiModel(); - void Initialise(const G4ParticleDefinition*, const G4DataVector&); + void AddModel(G4VEmModel*); - G4double MinEnergyCut(const G4ParticleDefinition*, - const G4MaterialCutsCouple*); + virtual void Initialise(const G4ParticleDefinition*, + const G4DataVector&); + virtual G4double ComputeDEDX(const G4MaterialCutsCouple*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy); - G4double ComputeDEDX(const G4MaterialCutsCouple*, - const G4ParticleDefinition*, - G4double kineticEnergy, - G4double cutEnergy); + // main method to compute cross section per atom + virtual + G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition*, + G4double kinEnergy, + G4double Z, + G4double A = 0., /* amu */ + G4double cutEnergy = 0.0, + G4double maxEnergy = DBL_MAX); - G4double CrossSection(const G4MaterialCutsCouple*, - const G4ParticleDefinition*, - G4double kineticEnergy, - G4double cutEnergy, - G4double maxEnergy); - - void SampleSecondaries(std::vector*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double tmax); - - void DefineForRegion(const G4Region*); - - void AddModel(G4VEmModel*, G4double tmin, G4double tmax); - -protected: - - G4double MaxSecondaryEnergy(const G4ParticleDefinition*, - G4double kineticEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double tmax); private: @@ -107,8 +99,7 @@ private: G4int nModels; std::vector model; - G4DataVector tsecmin; - G4DataVector cross_section; + std::vector cross_section; }; diff --git a/source/processes/electromagnetic/utils/include/G4EmProcessOptions.hh b/source/processes/electromagnetic/utils/include/G4EmProcessOptions.hh index 2c20fe9ac5..f9a52a482e 100644 --- a/source/processes/electromagnetic/utils/include/G4EmProcessOptions.hh +++ b/source/processes/electromagnetic/utils/include/G4EmProcessOptions.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmProcessOptions.hh,v 1.16 2009/10/29 19:25:28 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmProcessOptions.hh,v 1.19 2010/11/23 19:01:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------------- @@ -106,9 +106,23 @@ public: void SetLinearLossLimit(G4double val); + // obsolete will be removed void ActivateDeexcitation(const G4String& proc, G4bool val, const G4String& reg = ""); + void SetDeexcitationActive(G4bool val); + + void SetDeexcitationActiveRegion(const G4String& rname = "", + G4bool valDeexcitation = true, + G4bool valAuger = true, + G4bool valPIXE = true); + + void SetAugerActive(G4bool val); + + void SetPIXEActive(G4bool val); + + void SetPIXECrossSectionModel(const G4String& val); + void SetMscStepLimitation(G4MscStepLimitType val); void SetMscLateralDisplacement(G4bool val); diff --git a/source/processes/electromagnetic/utils/include/G4EmSaturation.hh b/source/processes/electromagnetic/utils/include/G4EmSaturation.hh index 8046469446..1d55dbb25a 100755 --- a/source/processes/electromagnetic/utils/include/G4EmSaturation.hh +++ b/source/processes/electromagnetic/utils/include/G4EmSaturation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmSaturation.hh,v 1.7 2009/09/25 09:16:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmSaturation.hh,v 1.8 2010/08/17 17:36:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // #ifndef G4EmSaturation_h @@ -139,7 +139,7 @@ inline G4double G4EmSaturation::VisibleEnergyDeposition( const G4Step* step) { G4Track* track = step->GetTrack(); - return VisibleEnergyDeposition(track->GetDefinition(), + return VisibleEnergyDeposition(track->GetParticleDefinition(), track->GetMaterialCutsCouple(), step->GetStepLength(), step->GetTotalEnergyDeposit(), diff --git a/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh b/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh index d4f9b949d2..6047d86839 100644 --- a/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh +++ b/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EnergyLossMessenger.hh,v 1.24 2009/10/29 19:25:28 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EnergyLossMessenger.hh,v 1.26 2010/11/23 19:01:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -116,6 +116,10 @@ private: G4UIcmdWithABool* latCmd; G4UIcmdWithABool* splCmd; G4UIcmdWithABool* aplCmd; + G4UIcmdWithABool* deCmd; + G4UIcmdWithABool* auCmd; + G4UIcmdWithABool* pixeCmd; + G4UIcmdWithAString* pixeXsCmd; G4UIcmdWithAnInteger* verCmd; G4UIcmdWithAnInteger* ver1Cmd; G4UIcmdWithAnInteger* dedxCmd; diff --git a/source/processes/electromagnetic/utils/include/G4LossTableManager.hh b/source/processes/electromagnetic/utils/include/G4LossTableManager.hh index 04a18bd8cf..7a9ebe4107 100644 --- a/source/processes/electromagnetic/utils/include/G4LossTableManager.hh +++ b/source/processes/electromagnetic/utils/include/G4LossTableManager.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4LossTableManager.hh,v 1.55 2009/10/29 19:25:28 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LossTableManager.hh,v 1.61 2010/09/03 10:09:45 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------------- @@ -60,6 +60,7 @@ // 22-05-06 Add methods Set/Get bremsTh (VI) // 12-02-07 Add SetSkin, SetLinearLossLimit (V.Ivanchenko) // 18-06-07 Move definition of msc parameters to G4EmProcessOptions (V.Ivanchenko) +// 12-04-10 Added PreparePhsyicsTables and BuildPhysicsTables entries (V.Ivanchenko) // // Class Description: // @@ -91,7 +92,10 @@ class G4VEmProcess; class G4EmCorrections; class G4EmSaturation; class G4EmConfigurator; +class G4ElectronIonPair; class G4LossTableBuilder; +class G4VAtomDeexcitation; +class G4Region; class G4LossTableManager { @@ -102,9 +106,31 @@ public: ~G4LossTableManager(); + //------------------------------------------------- + // called from destructor + //------------------------------------------------- + void Clear(); - // get the DEDX or the range for a given particle/energy/material + //------------------------------------------------- + // initialisation before a new run + //------------------------------------------------- + + void PreparePhysicsTable(const G4ParticleDefinition* aParticle, + G4VEnergyLossProcess* p); + void PreparePhysicsTable(const G4ParticleDefinition* aParticle, + G4VEmProcess* p); + void PreparePhysicsTable(const G4ParticleDefinition* aParticle, + G4VMultipleScattering* p); + void BuildPhysicsTable(const G4ParticleDefinition* aParticle); + void BuildPhysicsTable(const G4ParticleDefinition* aParticle, + G4VEnergyLossProcess* p); + + //------------------------------------------------- + // Run time access to DEDX, range, energy for a given particle, + // energy, and G4MaterialCutsCouple + //------------------------------------------------- + inline G4double GetDEDX( const G4ParticleDefinition *aParticle, G4double kineticEnergy, @@ -140,7 +166,10 @@ public: const G4DynamicParticle* dp, G4double& length); - // to be called only by energy loss processes + //------------------------------------------------- + // Methods to be called only at initialisation + //------------------------------------------------- + void Register(G4VEnergyLossProcess* p); void DeRegister(G4VEnergyLossProcess* p); @@ -161,21 +190,15 @@ public: void DeRegister(G4VEmFluctuationModel* p); - void EnergyLossProcessIsInitialised(const G4ParticleDefinition* aParticle, - G4VEnergyLossProcess* p); - void RegisterIon(const G4ParticleDefinition* aParticle, G4VEnergyLossProcess* p); void RegisterExtraParticle(const G4ParticleDefinition* aParticle, G4VEnergyLossProcess* p); - void BuildPhysicsTable(const G4ParticleDefinition* aParticle, - G4VEnergyLossProcess* p); - void SetLossFluctuations(G4bool val); - void SetSubCutoff(G4bool val); + void SetSubCutoff(G4bool val, const G4Region* r=0); void SetIntegral(G4bool val); @@ -197,6 +220,8 @@ public: void SetLambdaBinning(G4int val); + G4int GetNumberOfBinsPerDecade() const; + void SetStepFunction(G4double v1, G4double v2); void SetBuildCSDARange(G4bool val); @@ -213,6 +238,10 @@ public: void SetVerbose(G4int val); + //------------------------------------------------- + // Access methods + //------------------------------------------------- + G4EnergyLossMessenger* GetMessenger(); G4bool BuildCSDARange() const; @@ -231,7 +260,8 @@ public: const std::vector& GetMultipleScatteringVector(); - inline G4VEnergyLossProcess* GetEnergyLossProcess(const G4ParticleDefinition*); + inline + G4VEnergyLossProcess* GetEnergyLossProcess(const G4ParticleDefinition*); G4EmCorrections* EmCorrections(); @@ -239,8 +269,18 @@ public: G4EmConfigurator* EmConfigurator(); + G4ElectronIonPair* ElectronIonPair(); + + G4VAtomDeexcitation* AtomDeexcitation(); + + void SetAtomDeexcitation(G4VAtomDeexcitation*); + private: + //------------------------------------------------- + // Private methods and members + //------------------------------------------------- + G4LossTableManager(); G4VEnergyLossProcess* BuildTables(const G4ParticleDefinition* aParticle); @@ -250,15 +290,15 @@ private: void ParticleHaveNoLoss(const G4ParticleDefinition* aParticle); - void SetParameters(G4VEnergyLossProcess*); + void SetParameters(const G4ParticleDefinition* aParticle, + G4VEnergyLossProcess*); void CopyDEDXTables(); -private: - static G4LossTableManager* theInstance; typedef const G4ParticleDefinition* PD; + std::map > loss_map; std::vector loss_vector; @@ -278,18 +318,19 @@ private: G4VEnergyLossProcess* currentLoss; PD currentParticle; PD theElectron; + PD firstParticle; G4int n_loss; G4int run; G4bool all_tables_are_built; - // G4bool first_entry; + G4bool startInitialisation; + G4bool lossFluctuationFlag; G4bool subCutoffFlag; G4bool rndmStepFlag; G4bool integral; G4bool integralActive; - G4bool all_tables_are_stored; G4bool buildCSDARange; G4bool minEnergyActive; G4bool maxEnergyActive; @@ -312,8 +353,11 @@ private: G4EmCorrections* emCorrections; G4EmSaturation* emSaturation; G4EmConfigurator* emConfigurator; + G4ElectronIonPair* emElectronIonPair; + G4VAtomDeexcitation* atomDeexcitation; - const G4ParticleDefinition* firstParticle; + G4int nbinsLambda; + G4int nbinsPerDecade; G4int verbose; }; @@ -321,112 +365,6 @@ private: //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -inline G4double G4LossTableManager::GetDEDX( - const G4ParticleDefinition *aParticle, - G4double kineticEnergy, - const G4MaterialCutsCouple *couple) -{ - if(aParticle != currentParticle) GetEnergyLossProcess(aParticle); - G4double x; - if(currentLoss) x = currentLoss->GetDEDX(kineticEnergy, couple); - else x = G4EnergyLossTables::GetDEDX( - currentParticle,kineticEnergy,couple,false); - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... - -inline G4double G4LossTableManager::GetSubDEDX( - const G4ParticleDefinition *aParticle, - G4double kineticEnergy, - const G4MaterialCutsCouple *couple) -{ - if(aParticle != currentParticle) GetEnergyLossProcess(aParticle); - G4double x = 0.0; - if(currentLoss) x = currentLoss->GetDEDXForSubsec(kineticEnergy, couple); - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... - -inline G4double G4LossTableManager::GetCSDARange( - const G4ParticleDefinition *aParticle, - G4double kineticEnergy, - const G4MaterialCutsCouple *couple) -{ - if(aParticle != currentParticle) GetEnergyLossProcess(aParticle); - G4double x = DBL_MAX; - if(currentLoss) x = currentLoss->GetCSDARange(kineticEnergy, couple); - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... - -inline G4double G4LossTableManager::GetRangeFromRestricteDEDX( - const G4ParticleDefinition *aParticle, - G4double kineticEnergy, - const G4MaterialCutsCouple *couple) -{ - if(aParticle != currentParticle) GetEnergyLossProcess(aParticle); - G4double x; - if(currentLoss) x = currentLoss->GetRangeForLoss(kineticEnergy, couple); - else - x = G4EnergyLossTables::GetRange(currentParticle,kineticEnergy,couple,false); - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... - -inline G4double G4LossTableManager::GetRange( - const G4ParticleDefinition *aParticle, - G4double kineticEnergy, - const G4MaterialCutsCouple *couple) -{ - if(aParticle != currentParticle) GetEnergyLossProcess(aParticle); - G4double x; - if(currentLoss) x = currentLoss->GetRange(kineticEnergy, couple); - else - x = G4EnergyLossTables::GetRange(currentParticle,kineticEnergy,couple,false); - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4LossTableManager::GetEnergy( - const G4ParticleDefinition *aParticle, - G4double range, - const G4MaterialCutsCouple *couple) -{ - if(aParticle != currentParticle) GetEnergyLossProcess(aParticle); - G4double x; - if(currentLoss) x = currentLoss->GetKineticEnergy(range, couple); - else x = G4EnergyLossTables::GetPreciseEnergyFromRange( - currentParticle,range,couple,false); - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4LossTableManager::GetDEDXDispersion( - const G4MaterialCutsCouple *couple, - const G4DynamicParticle* dp, - G4double& length) -{ - const G4ParticleDefinition* aParticle = dp->GetDefinition(); - if(aParticle != currentParticle) { - std::map >::const_iterator pos; - if ((pos = loss_map.find(aParticle)) != loss_map.end()) { - currentParticle = aParticle; - currentLoss = (*pos).second; - } else { - ParticleHaveNoLoss(aParticle); - } - } - return currentLoss->GetDEDXDispersion(couple, dp, length); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - inline G4VEnergyLossProcess* G4LossTableManager::GetEnergyLossProcess( const G4ParticleDefinition *aParticle) { @@ -445,5 +383,111 @@ inline G4VEnergyLossProcess* G4LossTableManager::GetEnergyLossProcess( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +inline G4double G4LossTableManager::GetDEDX( + const G4ParticleDefinition *aParticle, + G4double kineticEnergy, + const G4MaterialCutsCouple *couple) +{ + if(aParticle != currentParticle) { GetEnergyLossProcess(aParticle); } + G4double x; + if(currentLoss) { x = currentLoss->GetDEDX(kineticEnergy, couple); } + else { x = G4EnergyLossTables::GetDEDX(currentParticle, + kineticEnergy,couple,false); } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +inline G4double G4LossTableManager::GetSubDEDX( + const G4ParticleDefinition *aParticle, + G4double kineticEnergy, + const G4MaterialCutsCouple *couple) +{ + if(aParticle != currentParticle) { GetEnergyLossProcess(aParticle); } + G4double x = 0.0; + if(currentLoss) { x = currentLoss->GetDEDXForSubsec(kineticEnergy, couple); } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +inline G4double G4LossTableManager::GetCSDARange( + const G4ParticleDefinition *aParticle, + G4double kineticEnergy, + const G4MaterialCutsCouple *couple) +{ + if(aParticle != currentParticle) { GetEnergyLossProcess(aParticle); } + G4double x = DBL_MAX; + if(currentLoss) { x = currentLoss->GetCSDARange(kineticEnergy, couple); } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +inline G4double G4LossTableManager::GetRangeFromRestricteDEDX( + const G4ParticleDefinition *aParticle, + G4double kineticEnergy, + const G4MaterialCutsCouple *couple) +{ + if(aParticle != currentParticle) { GetEnergyLossProcess(aParticle); } + G4double x; + if(currentLoss) { x = currentLoss->GetRangeForLoss(kineticEnergy, couple); } + else { x = G4EnergyLossTables::GetRange(currentParticle,kineticEnergy, + couple,false); } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +inline G4double G4LossTableManager::GetRange( + const G4ParticleDefinition *aParticle, + G4double kineticEnergy, + const G4MaterialCutsCouple *couple) +{ + if(aParticle != currentParticle) { GetEnergyLossProcess(aParticle); } + G4double x; + if(currentLoss) { x = currentLoss->GetRange(kineticEnergy, couple); } + else { x = G4EnergyLossTables::GetRange(currentParticle,kineticEnergy, + couple,false); } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4LossTableManager::GetEnergy( + const G4ParticleDefinition *aParticle, + G4double range, + const G4MaterialCutsCouple *couple) +{ + if(aParticle != currentParticle) { GetEnergyLossProcess(aParticle); } + G4double x; + if(currentLoss) { x = currentLoss->GetKineticEnergy(range, couple); } + else { x = G4EnergyLossTables::GetPreciseEnergyFromRange(currentParticle,range, + couple,false); } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4LossTableManager::GetDEDXDispersion( + const G4MaterialCutsCouple *couple, + const G4DynamicParticle* dp, + G4double& length) +{ + const G4ParticleDefinition* aParticle = dp->GetParticleDefinition(); + if(aParticle != currentParticle) { + std::map >::const_iterator pos; + if ((pos = loss_map.find(aParticle)) != loss_map.end()) { + currentParticle = aParticle; + currentLoss = (*pos).second; + } else { + ParticleHaveNoLoss(aParticle); + } + } + return currentLoss->GetDEDXDispersion(couple, dp, length); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif diff --git a/source/processes/electromagnetic/utils/include/G4VAtomDeexcitation.hh b/source/processes/electromagnetic/utils/include/G4VAtomDeexcitation.hh index b558728afb..387b5e8048 100755 --- a/source/processes/electromagnetic/utils/include/G4VAtomDeexcitation.hh +++ b/source/processes/electromagnetic/utils/include/G4VAtomDeexcitation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VAtomDeexcitation.hh,v 1.1 2009/07/09 11:42:52 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VAtomDeexcitation.hh,v 1.8 2010/11/22 18:18:08 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -50,69 +50,124 @@ #define G4VAtomDeexcitation_h 1 #include "globals.hh" +#include "G4AtomicShell.hh" +#include "G4ProductionCutsTable.hh" +#include "G4Track.hh" #include -class G4AtomicShell; class G4ParticleDefinition; class G4DynamicParticle; +class G4MaterialCutsCouple; +class G4VParticleChange; + +enum G4AtomicShellEnumerator +{ + fKShell = 0, + fL1Shell, + fL2Shell, + fL3Shell, + fM1Shell, + fM2Shell, + fM3Shell, + fM4Shell, + fM5Shell +}; class G4VAtomDeexcitation { +public: - G4VAtomDeexcitation(const G4String& pname = ""); + G4VAtomDeexcitation(const G4String& modname = "Deexcitation", + const G4String& pixename = ""); virtual ~G4VAtomDeexcitation(); - //initialization - virtual void PreparePhysicsTable(const G4ParticleDefinition&); - virtual void BuildPhysicsTable(const G4ParticleDefinition&); + //========== initialization ========== - // Get atomic shell by shell index, used by discrete processes - // (for example, photoelectric), when shell vacancy sampled by the model - virtual const G4AtomicChell* GetAtomicShell(G4int Z, G4int ShellIndex); + // Overall initialisation before new run + void InitialiseAtomicDeexcitation(); - // selection of random shell for ionisation process - virtual const G4AtomicShell* SelectRandomShell(const G4DynamicParticle*, - G4int Z); + // Initialisation of deexcitation at the beginning of run + virtual void InitialiseForNewRun() = 0; - // generation of deexcitation for given atom and shell vacancy - virtual void GenerateParticles(std::vector*, - const G4AtomicChell*, G4int Z); + // Initialisation for a concrete atom + // May be called at run time + virtual void InitialiseForExtraAtom(G4int Z) = 0; - // access or compute PIXE cross section - virtual G4double GetPIXECrossSection (const G4ParticleDefinition*, - G4int Z, G4double kinE); + // Activation of deexcitation + inline void SetActive(G4bool); - // calculate PIXE cross section from the models - virtual G4double CalculatePIXECrossSection(const G4ParticleDefinition*, - G4int Z, G4double kinE); + // Activation of deexcitation per detector region + void SetDeexcitationActiveRegion(const G4String& rname = "", + G4bool valDeexcitation = true, + G4bool valAuger = false, + G4bool valPIXE = true); - // Sampling of PIXE for ionisation processes - virtual void - AlongStepDeexcitation(std::vector* secVect, - const G4DynamicParticle* icidentParticle, - const G4MaterialCutsCouple*, - G4double trueStepLenght, - G4double eLoss); + // Activation of Auger electron production + inline void SetAugerActive(G4bool); + inline G4bool IsAugerActive() const; - // Check if deexcitation is active for a given geometry volume - G4bool CheckActiveRegion(G4int coupleIndex); + // Activation of PIXE simulation + inline void SetPIXEActive(G4bool); + inline G4bool IsPIXEActive() const; - // Access flags defined in the CheckActiveVolume method - inline G4bool IsFluorescenceActive() const; - inline G4bool IsPIXECrossSectionActive() const; + // Deexcitation model name + inline const G4String& GetName() const; // PIXE model name inline void SetPIXECrossSectionModel(const G4String&); inline const G4String& PIXECrossSectionModel() const; - // Activation of deexcitation per detector region - void SetFluorescenceActiveRegion(const G4Region* region = 0); - void SetAugerActiveRegion(const G4Region* region = 0); - void SetPIXECrossSectionActiveRegion(const G4Region* region = 0); + // Access to the list of atoms active for deexcitation + inline const std::vector& GetListOfActiveAtoms() const; - void SetFluorescenceActiveRegion(const G4String& rname = ""); - void SetAugerActiveRegion(const G4String& rname = ""); - void SetPIXECrossSectionActiveRegion(const G4String& rname = ""); + // Verbosity level + inline void SetVerboseLevel(G4int); + inline G4int GetVerboseLevel() const; + + //========== Run time methods ========== + + // Check if deexcitation is active for a given geometry volume + inline G4bool CheckDeexcitationActiveRegion(G4int coupleIndex); + inline G4bool CheckAugerActiveRegion(G4int coupleIndex); + + // Get atomic shell by shell index, used by discrete processes + // (for example, photoelectric), when shell vacancy sampled by the model + virtual + const G4AtomicShell* GetAtomicShell(G4int Z, + G4AtomicShellEnumerator shell) = 0; + + // generation of deexcitation for given atom and shell vacancy + inline void GenerateParticles(std::vector* secVect, + const G4AtomicShell*, + G4int Z, + G4int coupleIndex); + + // generation of deexcitation for given atom and shell vacancy + virtual void GenerateParticles(std::vector* secVect, + const G4AtomicShell*, + G4int Z, + G4double gammaCut, + G4double eCut) = 0; + + // access or compute PIXE cross section + virtual G4double + GetShellIonisationCrossSectionPerAtom(const G4ParticleDefinition*, + G4int Z, + G4AtomicShellEnumerator shell, + G4double kinE) = 0; + + // access or compute PIXE cross section + virtual G4double + ComputeShellIonisationCrossSectionPerAtom(const G4ParticleDefinition*, + G4int Z, + G4AtomicShellEnumerator shell, + G4double kinE) = 0; + + // Sampling of PIXE for ionisation processes + void AlongStepDeexcitation(G4VParticleChange* pParticleChange, + const G4Step& step, + G4double& eLoss, + G4int coupleIndex); private: @@ -120,20 +175,54 @@ private: G4VAtomDeexcitation(G4VAtomDeexcitation &); G4VAtomDeexcitation & operator=(const G4VAtomDeexcitation &right); + G4ProductionCutsTable* theCoupleTable; + G4double lowestKinEnergy; + G4int verbose; + G4String name; G4String namePIXE; - G4bool isFluoActive; - G4bool isPIXEActive; - + G4bool isActive; + G4bool flagAuger; + G4bool flagPIXE; + std::vector activeZ; + std::vector activeDeexcitationMedia; + std::vector activeAugerMedia; + std::vector activePIXEMedia; + std::vector activeRegions; + std::vector deRegions; + std::vector AugerRegions; + std::vector PIXERegions; + std::vector vdyn; + std::vector secVect; }; -inline G4bool IsFluorescenceActive() const +inline void G4VAtomDeexcitation::SetActive(G4bool val) { - return isFluoActive; + isActive = val; } -inline G4bool IsPIXECrossSectionActive() const +inline void G4VAtomDeexcitation::SetAugerActive(G4bool val) { - return isPIXEActive; + flagAuger = val; +} + +inline G4bool G4VAtomDeexcitation::IsAugerActive() const +{ + return (flagAuger && isActive); +} + +inline void G4VAtomDeexcitation::SetPIXEActive(G4bool val) +{ + flagPIXE = val; +} + +inline G4bool G4VAtomDeexcitation::IsPIXEActive() const +{ + return (flagPIXE && isActive); +} + +inline const G4String& G4VAtomDeexcitation::GetName() const +{ + return name; } inline @@ -148,5 +237,51 @@ const G4String& G4VAtomDeexcitation::PIXECrossSectionModel() const return namePIXE; } +inline const std::vector& +G4VAtomDeexcitation::GetListOfActiveAtoms() const +{ + return activeZ; +} + +inline void G4VAtomDeexcitation::SetVerboseLevel(G4int val) +{ + verbose = val; +} + +inline G4int G4VAtomDeexcitation::GetVerboseLevel() const +{ + return verbose; +} + +inline G4bool +G4VAtomDeexcitation::CheckDeexcitationActiveRegion(G4int coupleIndex) +{ + return (isActive && activeDeexcitationMedia[coupleIndex]); +} + +inline G4bool +G4VAtomDeexcitation::CheckAugerActiveRegion(G4int coupleIndex) +{ + return (flagAuger && activeAugerMedia[coupleIndex]); +} + +inline void +G4VAtomDeexcitation::GenerateParticles(std::vector* v, + const G4AtomicShell* as, + G4int Z, + G4int idx) +{ + if(CheckDeexcitationActiveRegion(idx)) { + G4double gCut = (*(theCoupleTable->GetEnergyCutsVector(0)))[idx]; + if(gCut < as->BindingEnergy()) { + G4double eCut = DBL_MAX; + if(flagAuger && CheckAugerActiveRegion(idx)) { + eCut = (*(theCoupleTable->GetEnergyCutsVector(1)))[idx]; + } + GenerateParticles(v, as, Z, gCut, eCut); + } + } +} + #endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4VBremAngularDistribution.hh b/source/processes/electromagnetic/utils/include/G4VBremAngularDistribution.hh similarity index 83% rename from source/processes/electromagnetic/lowenergy/include/G4VBremAngularDistribution.hh rename to source/processes/electromagnetic/utils/include/G4VBremAngularDistribution.hh index 4e53ccf2b9..1057849f2a 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VBremAngularDistribution.hh +++ b/source/processes/electromagnetic/utils/include/G4VBremAngularDistribution.hh @@ -23,6 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4VBremAngularDistribution.hh,v 1.1 2010/10/14 16:34:04 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -40,12 +42,12 @@ // Creation date: 21 March 2003 // // Modifications: -// 21 Mar 2003 A. Trindade First implementation acording with new design +// 21 Mar 2003 A.Trindade First implementation acording with new design +// 13 Oct 2010 V.Ivanchenko Moved to utils // // Class Description: // // Abstract class for Bremsstrahlung Angular Distribution Generation -// Further documentation available from http://www.ge.infn.it/geant4/lowE // ------------------------------------------------------------------- // @@ -53,12 +55,11 @@ #ifndef G4VBremAngularDistribution_h #define G4VBremAngularDistribution_h 1 -#include "G4ios.hh" #include "globals.hh" +#include "G4VEmAngularDistribution.hh" -class G4VBremAngularDistribution +class G4VBremAngularDistribution : public G4VEmAngularDistribution { - public: G4VBremAngularDistribution(const G4String& name); @@ -69,15 +70,13 @@ public: const G4double final_energy, const G4int Z) = 0; - virtual void PrintGeneratorInformation() const = 0; - -protected: + virtual void PrintGeneratorInformation() const; private: // hide assignment operator - G4VBremAngularDistribution & operator=(const G4VBremAngularDistribution &right); - G4VBremAngularDistribution(const G4VBremAngularDistribution&); + G4VBremAngularDistribution & operator=(const G4VBremAngularDistribution &right); + G4VBremAngularDistribution(const G4VBremAngularDistribution&); }; diff --git a/source/processes/electromagnetic/utils/include/G4VEmAngularDistribution.hh b/source/processes/electromagnetic/utils/include/G4VEmAngularDistribution.hh new file mode 100644 index 0000000000..3b28ad67cd --- /dev/null +++ b/source/processes/electromagnetic/utils/include/G4VEmAngularDistribution.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. * +// ******************************************************************** +// +// $Id: G4VEmAngularDistribution.hh,v 1.2 2010/11/04 12:55:09 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// File name: G4VEmAngularDistribution +// +// Author: V. Ivanchenko using design of existing +// interface G4VBremAngularDistribution +// +// Creation date: 13 October 2010 +// +// Modifications: +// +// Class Description: +// +// Abstract base class for polar angle sampling +// +// Class Description: End + +// ------------------------------------------------------------------- +// + +#ifndef G4VEmAngularDistribution_h +#define G4VEmAngularDistribution_h 1 + +#include "globals.hh" + +class G4VEmAngularDistribution +{ +public: + + G4VEmAngularDistribution(const G4String& name); + + virtual ~G4VEmAngularDistribution(); + + // method for bremsstrahlung + virtual G4double PolarAngle(const G4double initial_energy, + const G4double final_energy, + const G4int Z) = 0; + + inline const G4String& GetName() const; + +private: + + // hide assignment operator + G4VEmAngularDistribution & operator=(const G4VEmAngularDistribution &right); + G4VEmAngularDistribution(const G4VEmAngularDistribution&); + + G4String fName; +}; + +inline const G4String& G4VEmAngularDistribution::GetName() const +{ + return fName; +} + +#endif + diff --git a/source/processes/electromagnetic/utils/include/G4VEmModel.hh b/source/processes/electromagnetic/utils/include/G4VEmModel.hh index ffd1b69906..113d4c56d7 100644 --- a/source/processes/electromagnetic/utils/include/G4VEmModel.hh +++ b/source/processes/electromagnetic/utils/include/G4VEmModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VEmModel.hh,v 1.72 2009/09/23 14:42:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VEmModel.hh,v 1.77 2010/10/14 16:27:35 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -66,6 +66,7 @@ // CorrectionsAlongStep, ActivateNuclearStopping (VI) // 16-02-09 Moved implementations of virtual methods to source (VI) // 07-04-09 Moved msc methods from G4VEmModel to G4VMscModel (VI) +// 13-10-10 Added G4VEmAngularDistribution (VI) // // Class Description: // @@ -86,6 +87,7 @@ #include "G4ElementVector.hh" #include "G4DataVector.hh" #include "G4VEmFluctuationModel.hh" +#include "G4VEmAngularDistribution.hh" #include "G4EmElementSelector.hh" #include "Randomize.hh" #include @@ -145,9 +147,13 @@ public: G4double maxEnergy = DBL_MAX); // min cut in kinetic energy allowed by the model + // obsolete method will be removed virtual G4double MinEnergyCut(const G4ParticleDefinition*, const G4MaterialCutsCouple*); + // Compute effective ion charge square + virtual G4double ChargeSquareRatio(const G4Track&); + // Compute effective ion charge square virtual G4double GetChargeSquareRatio(const G4ParticleDefinition*, const G4Material*, @@ -227,6 +233,9 @@ public: G4double cutEnergy = 0.0, G4double maxEnergy = DBL_MAX); + // select isotope in order to have precise mass of the nucleus + inline G4int SelectIsotopeNumber(const G4Element*); + // atom can be selected effitiantly if element selectors are initialised inline const G4Element* SelectRandomAtom(const G4MaterialCutsCouple*, const G4ParticleDefinition*, @@ -235,21 +244,24 @@ public: G4double maxEnergy = DBL_MAX); // to select atom cross section per volume is recomputed for each element - inline const G4Element* SelectRandomAtom(const G4Material*, - const G4ParticleDefinition*, - G4double kineticEnergy, - G4double cutEnergy = 0.0, - G4double maxEnergy = DBL_MAX); - - // select isotope in order to have precise mass of the nucleus - inline G4int SelectIsotopeNumber(const G4Element*); + const G4Element* SelectRandomAtom(const G4Material*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy = 0.0, + G4double maxEnergy = DBL_MAX); //------------------------------------------------------------------------ // Get/Set methods //------------------------------------------------------------------------ + void SetParticleChange(G4VParticleChange*, G4VEmFluctuationModel* f=0); + inline G4VEmFluctuationModel* GetModelOfFluctuations(); + inline G4VEmAngularDistribution* GetAngularDistribution(); + + inline void SetAngularDistribution(G4VEmAngularDistribution*); + inline G4double HighEnergyLimit() const; inline G4double LowEnergyLimit() const; @@ -280,24 +292,20 @@ public: inline void SetDeexcitationFlag(G4bool val); - inline void ActivateNuclearStopping(G4bool); - inline G4double MaxSecondaryKinEnergy(const G4DynamicParticle* dynParticle); inline const G4String& GetName() const; - inline void SetParticleChange(G4VParticleChange*, G4VEmFluctuationModel*); - inline void SetCurrentCouple(const G4MaterialCutsCouple*); + inline const G4Element* GetCurrentElement() const; + protected: inline const G4MaterialCutsCouple* CurrentCouple() const; inline void SetCurrentElement(const G4Element*); - inline const G4Element* GetCurrentElement() const; - private: // hide assignment operator @@ -306,7 +314,8 @@ private: // ======== Parameters of the class fixed at construction ========= - G4VEmFluctuationModel* fluc; + G4VEmFluctuationModel* flucModel; + G4VEmAngularDistribution* anglModel; const G4String name; // ======== Parameters of the class fixed at initialisation ======= @@ -325,7 +334,7 @@ private: protected: G4VParticleChange* pParticleChange; - G4bool nuclearStopping; + // G4bool nuclearStopping; // ======== Cashed values - may be state dependent ================ @@ -340,7 +349,43 @@ private: }; +// ======== Run time inline methods ================ + +inline void G4VEmModel::SetCurrentCouple(const G4MaterialCutsCouple* p) +{ + currentCouple = p; +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline const G4MaterialCutsCouple* G4VEmModel::CurrentCouple() const +{ + return currentCouple; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline void G4VEmModel::SetCurrentElement(const G4Element* elm) +{ + currentElement = elm; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline const G4Element* G4VEmModel::GetCurrentElement() const +{ + return currentElement; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline +G4double G4VEmModel::MaxSecondaryKinEnergy(const G4DynamicParticle* dynPart) +{ + return MaxSecondaryEnergy(dynPart->GetParticleDefinition(), + dynPart->GetKineticEnergy()); +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... inline G4double G4VEmModel::ComputeDEDX(const G4MaterialCutsCouple* c, @@ -374,7 +419,7 @@ inline G4double G4VEmModel::ComputeMeanFreePath(const G4ParticleDefinition* p, { G4double mfp = DBL_MAX; G4double cross = CrossSectionPerVolume(material,p,ekin,emin,emax); - if (cross > DBL_MIN) mfp = 1./cross; + if (cross > DBL_MIN) { mfp = 1./cross; } return mfp; } @@ -414,31 +459,6 @@ const G4Element* G4VEmModel::SelectRandomAtom(const G4MaterialCutsCouple* couple //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline -const G4Element* G4VEmModel::SelectRandomAtom(const G4Material* material, - const G4ParticleDefinition* pd, - G4double kinEnergy, - G4double tcut, - G4double tmax) -{ - const G4ElementVector* theElementVector = material->GetElementVector(); - G4int n = material->GetNumberOfElements() - 1; - currentElement = (*theElementVector)[n]; - if (n > 0) { - G4double x = G4UniformRand()* - G4VEmModel::CrossSectionPerVolume(material,pd,kinEnergy,tcut,tmax); - for(G4int i=0; i 1) { G4double* ab = elm->GetRelativeAbundanceVector(); G4double x = G4UniformRand(); - for(; idx= ni) idx = ni - 1; + if(idx >= ni) { idx = ni - 1; } } N = elm->GetIsotope(idx)->GetN(); } return N; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// ======== Get/Set inline methods used at initialisation ================ inline G4VEmFluctuationModel* G4VEmModel::GetModelOfFluctuations() { - return fluc; + return flucModel; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4VEmAngularDistribution* G4VEmModel::GetAngularDistribution() +{ + return anglModel; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline void G4VEmModel::SetAngularDistribution(G4VEmAngularDistribution* p) +{ + anglModel = p; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -572,22 +606,6 @@ inline void G4VEmModel::SetDeexcitationFlag(G4bool val) flagDeexcitation = val; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4VEmModel::ActivateNuclearStopping(G4bool val) -{ - nuclearStopping = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline -G4double G4VEmModel::MaxSecondaryKinEnergy(const G4DynamicParticle* dynPart) -{ - return MaxSecondaryEnergy(dynPart->GetDefinition(), - dynPart->GetKineticEnergy()); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... inline const G4String& G4VEmModel::GetName() const @@ -597,42 +615,5 @@ inline const G4String& G4VEmModel::GetName() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline void G4VEmModel::SetParticleChange(G4VParticleChange* p, - G4VEmFluctuationModel* f = 0) -{ - if(p && pParticleChange != p) pParticleChange = p; - fluc = f; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline void G4VEmModel::SetCurrentCouple(const G4MaterialCutsCouple* p) -{ - currentCouple = p; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline const G4MaterialCutsCouple* G4VEmModel::CurrentCouple() const -{ - return currentCouple; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline void G4VEmModel::SetCurrentElement(const G4Element* elm) -{ - currentElement = elm; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline const G4Element* G4VEmModel::GetCurrentElement() const -{ - return currentElement; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - #endif diff --git a/source/processes/electromagnetic/utils/include/G4VEmProcess.hh b/source/processes/electromagnetic/utils/include/G4VEmProcess.hh index 023afb58bb..ed857a1526 100644 --- a/source/processes/electromagnetic/utils/include/G4VEmProcess.hh +++ b/source/processes/electromagnetic/utils/include/G4VEmProcess.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VEmProcess.hh,v 1.55 2009/09/23 14:42:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VEmProcess.hh,v 1.61 2010/08/17 17:36:59 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -55,6 +55,7 @@ // PostStepGetPhysicalInteractionLength (V.Ivanchenko) // 27-10-07 Virtual functions moved to source (V.Ivanchenko) // 15-07-08 Reorder class members for further multi-thread development (VI) +// 17-02-10 Added pointer currentParticle (VI) // // Class Description: // @@ -157,11 +158,11 @@ public: const G4MaterialCutsCouple* couple); // It returns the cross section of the process per atom - inline G4double ComputeCrossSectionPerAtom(G4double kineticEnergy, - G4double Z, G4double A=0., - G4double cut=0.0); + G4double ComputeCrossSectionPerAtom(G4double kineticEnergy, + G4double Z, G4double A=0., + G4double cut=0.0); - inline G4double MeanFreePath(const G4Track& track); + G4double MeanFreePath(const G4Track& track); // It returns cross section per volume inline G4double GetLambda(G4double& kinEnergy, @@ -224,6 +225,9 @@ public: // Access to models G4VEmModel* GetModelByIndex(G4int idx = 0, G4bool ver = false); + // access atom on which interaction happens + const G4Element* GetCurrentElement() const; + inline void SetLambdaFactor(G4double val); inline void SetIntegral(G4bool val); @@ -231,6 +235,8 @@ public: inline void SetApplyCuts(G4bool val); + inline void SetBuildTableFlag(G4bool val); + //------------------------------------------------------------------------ // Other generic methods //------------------------------------------------------------------------ @@ -244,7 +250,7 @@ protected: G4PhysicsVector* LambdaPhysicsVector(const G4MaterialCutsCouple*); inline G4double RecalculateLambda(G4double kinEnergy, - const G4MaterialCutsCouple* couple); + const G4MaterialCutsCouple* couple); inline G4ParticleChangeForGamma* GetParticleChange(); @@ -258,8 +264,6 @@ protected: inline G4double GetElectronEnergyCut(); - inline void SetBuildTableFlag(G4bool val); - inline void SetStartFromNullFlag(G4bool val); private: @@ -339,6 +343,7 @@ private: G4VEmModel* currentModel; const G4ParticleDefinition* particle; + const G4ParticleDefinition* currentParticle; // cash const G4Material* currentMaterial; @@ -351,29 +356,92 @@ private: }; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// ======== Run time inline methods ================ -inline G4double G4VEmProcess::ComputeCrossSectionPerAtom( - G4double kineticEnergy, G4double Z, G4double A, G4double cut) +inline size_t G4VEmProcess::CurrentMaterialCutsCoupleIndex() const { - SelectModel(kineticEnergy, currentCoupleIndex); - G4double x = 0.0; - if(currentModel) { - x = currentModel->ComputeCrossSectionPerAtom(particle,kineticEnergy, - Z,A,cut); - } - return x; + return currentCoupleIndex; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VEmProcess::MeanFreePath(const G4Track& track) +inline G4double G4VEmProcess::GetGammaEnergyCut() { + return (*theCutsGamma)[currentCoupleIndex]; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEmProcess::GetElectronEnergyCut() +{ + return (*theCutsElectron)[currentCoupleIndex]; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEmProcess::DefineMaterial(const G4MaterialCutsCouple* couple) +{ + if(couple != currentCouple) { + currentCouple = couple; + currentMaterial = couple->GetMaterial(); + currentCoupleIndex = couple->GetIndex(); + mfpKinEnergy = DBL_MAX; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline +G4VEmModel* G4VEmProcess::SelectModel(G4double& kinEnergy, size_t index) +{ + currentModel = modelManager->SelectModel(kinEnergy, index); + currentModel->SetCurrentCouple(currentCouple); + return currentModel; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline +G4VEmModel* G4VEmProcess::SelectModelForMaterial(G4double kinEnergy, + size_t& idxRegion) const +{ + return modelManager->SelectModel(kinEnergy, idxRegion); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEmProcess::InitialiseStep(const G4Track& track) +{ + currentParticle = track.GetParticleDefinition(); + preStepKinEnergy = track.GetKineticEnergy(); DefineMaterial(track.GetMaterialCutsCouple()); - preStepLambda = GetCurrentLambda(track.GetKineticEnergy()); - G4double x = DBL_MAX; - if(DBL_MIN < preStepLambda) x = 1.0/preStepLambda; + SelectModel(preStepKinEnergy, currentCoupleIndex); + if (theNumberOfInteractionLengthLeft < 0.0) mfpKinEnergy = DBL_MAX; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEmProcess::GetLambdaFromTable(G4double e) +{ + return (((*theLambdaTable)[currentCoupleIndex])->Value(e)); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEmProcess::ComputeCurrentLambda(G4double e) +{ + SelectModel(e, currentCoupleIndex); + return currentModel->CrossSectionPerVolume(currentMaterial,currentParticle, + e,(*theCuts)[currentCoupleIndex]); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEmProcess::GetCurrentLambda(G4double e) +{ + G4double x = 0.0; + if(theLambdaTable) { x = GetLambdaFromTable(e); } + else { x = ComputeCurrentLambda(e); } return x; } @@ -388,6 +456,38 @@ inline G4double G4VEmProcess::GetLambda(G4double& kineticEnergy, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +inline G4double G4VEmProcess::RecalculateLambda(G4double e, + const G4MaterialCutsCouple* couple) +{ + DefineMaterial(couple); + return ComputeCurrentLambda(e); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEmProcess::ComputeIntegralLambda(G4double e) +{ + mfpKinEnergy = theEnergyOfCrossSectionMax[currentCoupleIndex]; + if (e <= mfpKinEnergy) { + preStepLambda = GetLambdaFromTable(e); + + } else { + G4double e1 = e*lambdaFactor; + if(e1 > mfpKinEnergy) { + preStepLambda = GetLambdaFromTable(e); + G4double preStepLambda1 = GetLambdaFromTable(e1); + if(preStepLambda1 > preStepLambda) { + mfpKinEnergy = e1; + preStepLambda = preStepLambda1; + } + } else { + preStepLambda = theCrossSectionMax[currentCoupleIndex]; + } + } +} + +// ======== Get/Set inline methods used at initialisation ================ + inline void G4VEmProcess::SetLambdaBinning(G4int nbins) { nLambdaBins = nbins; @@ -467,36 +567,17 @@ inline const G4ParticleDefinition* G4VEmProcess::SecondaryParticle() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline -G4VEmModel* G4VEmProcess::SelectModel(G4double& kinEnergy, size_t index) -{ - currentModel = modelManager->SelectModel(kinEnergy, index); - currentModel->SetCurrentCouple(currentCouple); - return currentModel; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline -G4VEmModel* G4VEmProcess::SelectModelForMaterial(G4double kinEnergy, - size_t& idxRegion) const -{ - return modelManager->SelectModel(kinEnergy, idxRegion); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - inline void G4VEmProcess::SetLambdaFactor(G4double val) { - if(val > 0.0 && val <= 1.0) lambdaFactor = val; + if(val > 0.0 && val <= 1.0) { lambdaFactor = val; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline void G4VEmProcess::SetIntegral(G4bool val) { - if(particle && particle != theGamma) integral = val; - if(integral) buildLambdaTable = true; + if(particle && particle != theGamma) { integral = val; } + if(integral) { buildLambdaTable = true; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -515,11 +596,10 @@ inline void G4VEmProcess::SetApplyCuts(G4bool val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VEmProcess::RecalculateLambda(G4double e, - const G4MaterialCutsCouple* couple) +inline void G4VEmProcess::SetBuildTableFlag(G4bool val) { - DefineMaterial(couple); - return ComputeCurrentLambda(e); + buildLambdaTable = val; + if(!val) { integral = false; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -534,6 +614,7 @@ inline G4ParticleChangeForGamma* G4VEmProcess::GetParticleChange() inline void G4VEmProcess::SetParticle(const G4ParticleDefinition* p) { particle = p; + currentParticle = p; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -545,35 +626,6 @@ inline void G4VEmProcess::SetSecondaryParticle(const G4ParticleDefinition* p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline size_t G4VEmProcess::CurrentMaterialCutsCoupleIndex() const -{ - return currentCoupleIndex; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEmProcess::GetGammaEnergyCut() -{ - return (*theCutsGamma)[currentCoupleIndex]; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEmProcess::GetElectronEnergyCut() -{ - return (*theCutsElectron)[currentCoupleIndex]; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4VEmProcess::SetBuildTableFlag(G4bool val) -{ - buildLambdaTable = val; - if(!val) integral = false; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - inline void G4VEmProcess::SetStartFromNullFlag(G4bool val) { startFromNull = val; @@ -581,75 +633,4 @@ inline void G4VEmProcess::SetStartFromNullFlag(G4bool val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4VEmProcess::InitialiseStep(const G4Track& track) -{ - preStepKinEnergy = track.GetKineticEnergy(); - DefineMaterial(track.GetMaterialCutsCouple()); - SelectModel(preStepKinEnergy, currentCoupleIndex); - if (theNumberOfInteractionLengthLeft < 0.0) mfpKinEnergy = DBL_MAX; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4VEmProcess::DefineMaterial(const G4MaterialCutsCouple* couple) -{ - if(couple != currentCouple) { - currentCouple = couple; - currentMaterial = couple->GetMaterial(); - currentCoupleIndex = couple->GetIndex(); - mfpKinEnergy = DBL_MAX; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4VEmProcess::ComputeIntegralLambda(G4double e) -{ - mfpKinEnergy = theEnergyOfCrossSectionMax[currentCoupleIndex]; - if (e <= mfpKinEnergy) { - preStepLambda = GetLambdaFromTable(e); - - } else { - G4double e1 = e*lambdaFactor; - if(e1 > mfpKinEnergy) { - preStepLambda = GetLambdaFromTable(e); - G4double preStepLambda1 = GetLambdaFromTable(e1); - if(preStepLambda1 > preStepLambda) { - mfpKinEnergy = e1; - preStepLambda = preStepLambda1; - } - } else { - preStepLambda = theCrossSectionMax[currentCoupleIndex]; - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEmProcess::GetLambdaFromTable(G4double e) -{ - return (((*theLambdaTable)[currentCoupleIndex])->Value(e)); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEmProcess::GetCurrentLambda(G4double e) -{ - G4double x = 0.0; - if(theLambdaTable) { x = GetLambdaFromTable(e); } - else { x = ComputeCurrentLambda(e); } - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEmProcess::ComputeCurrentLambda(G4double e) -{ - SelectModel(e, currentCoupleIndex); - return currentModel->CrossSectionPerVolume(currentMaterial,particle, - e,(*theCuts)[currentCoupleIndex]); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - #endif diff --git a/source/processes/electromagnetic/utils/include/G4VEnergyLossProcess.hh b/source/processes/electromagnetic/utils/include/G4VEnergyLossProcess.hh index badbac7ff4..8b10eeea71 100644 --- a/source/processes/electromagnetic/utils/include/G4VEnergyLossProcess.hh +++ b/source/processes/electromagnetic/utils/include/G4VEnergyLossProcess.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VEnergyLossProcess.hh,v 1.89 2009/07/03 14:39:17 vnivanch Exp $ +// $Id: G4VEnergyLossProcess.hh,v 1.93 2010/10/14 16:27:35 vnivanch Exp $ // GEANT4 tag $Name: // // ------------------------------------------------------------------- @@ -113,6 +113,7 @@ class G4VEmFluctuationModel; class G4DataVector; class G4Region; class G4SafetyHelper; +class G4VAtomDeexcitation; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -195,8 +196,7 @@ public: // Sampling of secondaries in vicinity of geometrical boundary void SampleSubCutSecondaries(std::vector&, const G4Step&, - G4VEmModel* model, G4int matIdx, - G4double& extraEdep); + G4VEmModel* model, G4int matIdx); // PostStep sampling of secondaries G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); @@ -418,6 +418,9 @@ public: // Run time method for simulation of ionisation //------------------------------------------------------------------------ + // access atom on which interaction happens + const G4Element* GetCurrentElement() const; + // sample range at the end of a step inline G4double SampleRange(); @@ -463,6 +466,7 @@ private: std::vector emModels; G4VEmFluctuationModel* fluctModel; + G4VAtomDeexcitation* atomDeexcitation; std::vector scoffRegions; std::vector deRegions; G4int nSCoffRegions; @@ -552,8 +556,7 @@ private: }; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// ======== Run time inline methods ================ inline size_t G4VEnergyLossProcess::CurrentMaterialCutsCoupleIndex() const { @@ -585,6 +588,245 @@ inline G4VEmModel* G4VEnergyLossProcess::SelectModelForMaterial( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +inline void +G4VEnergyLossProcess::DefineMaterial(const G4MaterialCutsCouple* couple) +{ + if(couple != currentCouple) { + currentCouple = couple; + currentMaterial = couple->GetMaterial(); + currentMaterialIndex = couple->GetIndex(); + mfpKinEnergy = DBL_MAX; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetDynamicMassCharge(G4double massratio, + G4double charge2ratio) +{ + massRatio = massratio; + chargeSqRatio = charge2ratio; + reduceFactor = 1.0/(chargeSqRatio*massRatio); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEnergyLossProcess::GetDEDXForScaledEnergy(G4double e) +{ + G4double x = ((*theDEDXTable)[currentMaterialIndex]->Value(e))*chargeSqRatio; + if(e < minKinEnergy) { x *= std::sqrt(e/minKinEnergy); } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEnergyLossProcess::GetSubDEDXForScaledEnergy(G4double e) +{ + G4double x = ((*theDEDXSubTable)[currentMaterialIndex]->Value(e))*chargeSqRatio; + if(e < minKinEnergy) { x *= std::sqrt(e/minKinEnergy); } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEnergyLossProcess::GetIonisationForScaledEnergy(G4double e) +{ + //G4double x = 0.0; + // if(theIonisationTable) { + G4double x = ((*theIonisationTable)[currentMaterialIndex]->Value(e))*chargeSqRatio; + if(e < minKinEnergy) { x *= std::sqrt(e/minKinEnergy); } + //} + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline +G4double G4VEnergyLossProcess::GetSubIonisationForScaledEnergy(G4double e) +{ + // G4double x = 0.0; + //if(theIonisationSubTable) { + G4double x = ((*theIonisationSubTable)[currentMaterialIndex]->Value(e))*chargeSqRatio; + if(e < minKinEnergy) { x *= std::sqrt(e/minKinEnergy); } + //} + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEnergyLossProcess::GetScaledRangeForScaledEnergy(G4double e) +{ + G4double x = ((*theRangeTableForLoss)[currentMaterialIndex])->Value(e); + if(e < minKinEnergy) { x *= std::sqrt(e/minKinEnergy); } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double +G4VEnergyLossProcess::GetLimitScaledRangeForScaledEnergy(G4double e) +{ + G4double x; + + if (e < maxKinEnergyCSDA) { + x = ((*theCSDARangeTable)[currentMaterialIndex])->Value(e); + if(e < minKinEnergy) x *= std::sqrt(e/minKinEnergy); + } else { + x = theRangeAtMaxEnergy[currentMaterialIndex] + + (e - maxKinEnergyCSDA)/theDEDXAtMaxEnergy[currentMaterialIndex]; + } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEnergyLossProcess::ScaledKinEnergyForLoss(G4double r) +{ + G4PhysicsVector* v = (*theInverseRangeTable)[currentMaterialIndex]; + G4double rmin = v->Energy(0); + G4double e = 0.0; + if(r >= rmin) { e = v->Value(r); } + else if(r > 0.0) { + G4double x = r/rmin; + e = minKinEnergy*x*x; + } + return e; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEnergyLossProcess::GetLambdaForScaledEnergy(G4double e) +{ + return chargeSqRatio*(((*theLambdaTable)[currentMaterialIndex])->Value(e)); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double +G4VEnergyLossProcess::GetDEDX(G4double& kineticEnergy, + const G4MaterialCutsCouple* couple) +{ + DefineMaterial(couple); + return GetDEDXForScaledEnergy(kineticEnergy*massRatio); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double +G4VEnergyLossProcess::GetDEDXForSubsec(G4double& kineticEnergy, + const G4MaterialCutsCouple* couple) +{ + DefineMaterial(couple); + return GetSubDEDXForScaledEnergy(kineticEnergy*massRatio); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double +G4VEnergyLossProcess::GetRange(G4double& kineticEnergy, + const G4MaterialCutsCouple* couple) +{ + G4double x = fRange; + if(kineticEnergy != preStepKinEnergy || couple != currentCouple) { + DefineMaterial(couple); + if(theCSDARangeTable) + x = GetLimitScaledRangeForScaledEnergy(kineticEnergy*massRatio) + * reduceFactor; + else if(theRangeTableForLoss) + x = GetScaledRangeForScaledEnergy(kineticEnergy*massRatio)*reduceFactor; + } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double +G4VEnergyLossProcess::GetCSDARange(G4double& kineticEnergy, + const G4MaterialCutsCouple* couple) +{ + DefineMaterial(couple); + G4double x = DBL_MAX; + if(theCSDARangeTable) + x = GetLimitScaledRangeForScaledEnergy(kineticEnergy*massRatio) + * reduceFactor; + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double +G4VEnergyLossProcess::GetRangeForLoss(G4double& kineticEnergy, + const G4MaterialCutsCouple* couple) +{ + DefineMaterial(couple); + G4double x = DBL_MAX; + if(theRangeTableForLoss) + x = GetScaledRangeForScaledEnergy(kineticEnergy*massRatio)*reduceFactor; + // G4cout << "Range from " << GetProcessName() + // << " e= " << kineticEnergy << " r= " << x << G4endl; + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double +G4VEnergyLossProcess::GetKineticEnergy(G4double& range, + const G4MaterialCutsCouple* couple) +{ + DefineMaterial(couple); + G4double r = range/reduceFactor; + G4double e = ScaledKinEnergyForLoss(r)/massRatio; + return e; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double +G4VEnergyLossProcess::GetLambda(G4double& kineticEnergy, + const G4MaterialCutsCouple* couple) +{ + DefineMaterial(couple); + G4double x = 0.0; + if(theLambdaTable) { x = GetLambdaForScaledEnergy(kineticEnergy*massRatio); } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::ComputeLambdaForScaledEnergy(G4double e) +{ + mfpKinEnergy = theEnergyOfCrossSectionMax[currentMaterialIndex]; + if (e <= mfpKinEnergy) { + preStepLambda = GetLambdaForScaledEnergy(e); + + } else { + G4double e1 = e*lambdaFactor; + if(e1 > mfpKinEnergy) { + preStepLambda = GetLambdaForScaledEnergy(e); + G4double preStepLambda1 = GetLambdaForScaledEnergy(e1); + if(preStepLambda1 > preStepLambda) { + mfpKinEnergy = e1; + preStepLambda = preStepLambda1; + } + } else { + preStepLambda = chargeSqRatio*theCrossSectionMax[currentMaterialIndex]; + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEnergyLossProcess::SampleRange() +{ + G4double e = amu_c2*preStepKinEnergy/particle->GetPDGMass(); + G4double s = fRange*std::pow(10.,vstrag->Value(e)); + G4double x = fRange + G4RandGauss::shoot(0.0,s); + if(x > 0.0) { fRange = x; } + return fRange; +} + +// ======== Get/Set inline methods used at initialisation ================ + inline void G4VEnergyLossProcess::SetFluctModel(G4VEmFluctuationModel* p) { fluctModel = p; @@ -672,8 +914,8 @@ inline G4bool G4VEnergyLossProcess::IsIntegral() const inline void G4VEnergyLossProcess::SetIonisation(G4bool val) { isIonisation = val; - if(val) aGPILSelection = CandidateForSelection; - else aGPILSelection = NotCandidateForSelection; + if(val) { aGPILSelection = CandidateForSelection; } + else { aGPILSelection = NotCandidateForSelection; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -701,7 +943,7 @@ inline void G4VEnergyLossProcess::SetMinSubRange(G4double val) inline void G4VEnergyLossProcess::SetLambdaFactor(G4double val) { - if(val > 0.0 && val <= 1.0) lambdaFactor = val; + if(val > 0.0 && val <= 1.0) { lambdaFactor = val; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -710,7 +952,7 @@ void G4VEnergyLossProcess::SetStepFunction(G4double v1, G4double v2) { dRoverRange = v1; finalRange = v2; - if (dRoverRange > 0.999) dRoverRange = 1.0; + if (dRoverRange > 0.999) { dRoverRange = 1.0; } currentCouple = 0; mfpKinEnergy = DBL_MAX; } @@ -776,7 +1018,7 @@ inline G4double G4VEnergyLossProcess::MinKinEnergy() const inline void G4VEnergyLossProcess::SetMaxKinEnergy(G4double e) { maxKinEnergy = e; - if(e < maxKinEnergyCSDA) maxKinEnergyCSDA = e; + if(e < maxKinEnergyCSDA) { maxKinEnergyCSDA = e; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -793,91 +1035,6 @@ inline void G4VEnergyLossProcess::SetMaxKinEnergyForCSDARange(G4double e) maxKinEnergyCSDA = e; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetDEDX(G4double& kineticEnergy, - const G4MaterialCutsCouple* couple) -{ - DefineMaterial(couple); - return GetDEDXForScaledEnergy(kineticEnergy*massRatio); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetDEDXForSubsec(G4double& kineticEnergy, - const G4MaterialCutsCouple* couple) -{ - DefineMaterial(couple); - return GetSubDEDXForScaledEnergy(kineticEnergy*massRatio); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetRange(G4double& kineticEnergy, - const G4MaterialCutsCouple* couple) -{ - G4double x = fRange; - if(kineticEnergy != preStepKinEnergy || couple != currentCouple) { - DefineMaterial(couple); - if(theCSDARangeTable) - x = GetLimitScaledRangeForScaledEnergy(kineticEnergy*massRatio) - * reduceFactor; - else if(theRangeTableForLoss) - x = GetScaledRangeForScaledEnergy(kineticEnergy*massRatio)*reduceFactor; - } - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetCSDARange( - G4double& kineticEnergy, const G4MaterialCutsCouple* couple) -{ - DefineMaterial(couple); - G4double x = DBL_MAX; - if(theCSDARangeTable) - x = GetLimitScaledRangeForScaledEnergy(kineticEnergy*massRatio) - * reduceFactor; - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetRangeForLoss( - G4double& kineticEnergy, - const G4MaterialCutsCouple* couple) -{ - DefineMaterial(couple); - G4double x = DBL_MAX; - if(theRangeTableForLoss) - x = GetScaledRangeForScaledEnergy(kineticEnergy*massRatio)*reduceFactor; - // G4cout << "Range from " << GetProcessName() - // << " e= " << kineticEnergy << " r= " << x << G4endl; - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetKineticEnergy( - G4double& range, - const G4MaterialCutsCouple* couple) -{ - DefineMaterial(couple); - G4double r = range/reduceFactor; - G4double e = ScaledKinEnergyForLoss(r)/massRatio; - return e; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetLambda(G4double& kineticEnergy, - const G4MaterialCutsCouple* couple) -{ - DefineMaterial(couple); - G4double x = 0.0; - if(theLambdaTable) x = GetLambdaForScaledEnergy(kineticEnergy*massRatio); - return x; -} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -912,7 +1069,7 @@ inline G4PhysicsTable* G4VEnergyLossProcess::DEDXunRestrictedTable() const inline G4PhysicsTable* G4VEnergyLossProcess::IonisationTable() const { G4PhysicsTable* t = theDEDXTable; - if(theIonisationTable) t = theIonisationTable; + if(theIonisationTable) { t = theIonisationTable; } return t; } @@ -921,7 +1078,7 @@ inline G4PhysicsTable* G4VEnergyLossProcess::IonisationTable() const inline G4PhysicsTable* G4VEnergyLossProcess::IonisationTableForSubsec() const { G4PhysicsTable* t = theDEDXSubTable; - if(theIonisationSubTable) t = theIonisationSubTable; + if(theIonisationSubTable) { t = theIonisationSubTable; } return t; } @@ -962,152 +1119,4 @@ inline G4PhysicsTable* G4VEnergyLossProcess::SubLambdaTable() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VEnergyLossProcess::SampleRange() -{ - G4double e = amu_c2*preStepKinEnergy/particle->GetPDGMass(); - G4double s = fRange*std::pow(10.,vstrag->Value(e)); - G4double x = fRange + G4RandGauss::shoot(0.0,s); - if(x > 0.0) fRange = x; - return fRange; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4VEnergyLossProcess::SetDynamicMassCharge(G4double massratio, - G4double charge2ratio) -{ - massRatio = massratio; - chargeSqRatio = charge2ratio; - reduceFactor = 1.0/(chargeSqRatio*massRatio); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4VEnergyLossProcess::DefineMaterial( - const G4MaterialCutsCouple* couple) -{ - if(couple != currentCouple) { - currentCouple = couple; - currentMaterial = couple->GetMaterial(); - currentMaterialIndex = couple->GetIndex(); - mfpKinEnergy = DBL_MAX; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetDEDXForScaledEnergy(G4double e) -{ - G4double x = ((*theDEDXTable)[currentMaterialIndex]->Value(e))*chargeSqRatio; - if(e < minKinEnergy) x *= std::sqrt(e/minKinEnergy); - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetSubDEDXForScaledEnergy(G4double e) -{ - G4double x = ((*theDEDXSubTable)[currentMaterialIndex]->Value(e))*chargeSqRatio; - if(e < minKinEnergy) x *= std::sqrt(e/minKinEnergy); - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetIonisationForScaledEnergy(G4double e) -{ - //G4double x = 0.0; - // if(theIonisationTable) { - G4double x = ((*theIonisationTable)[currentMaterialIndex]->Value(e))*chargeSqRatio; - if(e < minKinEnergy) x *= std::sqrt(e/minKinEnergy); - //} - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline -G4double G4VEnergyLossProcess::GetSubIonisationForScaledEnergy(G4double e) -{ - // G4double x = 0.0; - //if(theIonisationSubTable) { - G4double x = ((*theIonisationSubTable)[currentMaterialIndex]->Value(e))*chargeSqRatio; - if(e < minKinEnergy) x *= std::sqrt(e/minKinEnergy); - //} - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetScaledRangeForScaledEnergy(G4double e) -{ - G4double x = ((*theRangeTableForLoss)[currentMaterialIndex])->Value(e); - if(e < minKinEnergy) x *= std::sqrt(e/minKinEnergy); - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetLimitScaledRangeForScaledEnergy( - G4double e) -{ - G4double x; - - if (e < maxKinEnergyCSDA) { - x = ((*theCSDARangeTable)[currentMaterialIndex])->Value(e); - if(e < minKinEnergy) x *= std::sqrt(e/minKinEnergy); - } else { - x = theRangeAtMaxEnergy[currentMaterialIndex] + - (e - maxKinEnergyCSDA)/theDEDXAtMaxEnergy[currentMaterialIndex]; - } - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::ScaledKinEnergyForLoss(G4double r) -{ - G4PhysicsVector* v = (*theInverseRangeTable)[currentMaterialIndex]; - G4double rmin = v->Energy(0); - G4double e = 0.0; - if(r >= rmin) { e = v->Value(r); } - else if(r > 0.0) { - G4double x = r/rmin; - e = minKinEnergy*x*x; - } - return e; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossProcess::GetLambdaForScaledEnergy(G4double e) -{ - return chargeSqRatio*(((*theLambdaTable)[currentMaterialIndex])->Value(e)); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4VEnergyLossProcess::ComputeLambdaForScaledEnergy(G4double e) -{ - mfpKinEnergy = theEnergyOfCrossSectionMax[currentMaterialIndex]; - if (e <= mfpKinEnergy) { - preStepLambda = GetLambdaForScaledEnergy(e); - - } else { - G4double e1 = e*lambdaFactor; - if(e1 > mfpKinEnergy) { - preStepLambda = GetLambdaForScaledEnergy(e); - G4double preStepLambda1 = GetLambdaForScaledEnergy(e1); - if(preStepLambda1 > preStepLambda) { - mfpKinEnergy = e1; - preStepLambda = preStepLambda1; - } - } else { - preStepLambda = chargeSqRatio*theCrossSectionMax[currentMaterialIndex]; - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - #endif diff --git a/source/processes/electromagnetic/utils/include/G4VMscModel.hh b/source/processes/electromagnetic/utils/include/G4VMscModel.hh index bbaa6d52c1..06640b621d 100644 --- a/source/processes/electromagnetic/utils/include/G4VMscModel.hh +++ b/source/processes/electromagnetic/utils/include/G4VMscModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VMscModel.hh,v 1.9 2009/04/07 18:39:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VMscModel.hh,v 1.10 2010/09/07 16:05:33 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -139,7 +139,8 @@ protected: G4double skin; G4double dtrl; G4double lambdalimit; - G4double geommax; + G4double geomMin; + G4double geomMax; G4MscStepLimitType steppingAlgorithm; @@ -205,7 +206,7 @@ inline G4double G4VMscModel::ComputeGeomLimit(const G4Track& track, G4double& presafety, G4double limit) { - G4double res = geommax; + G4double res = geomMax; if(track.GetVolume() != safetyHelper->GetWorldVolume()) { res = safetyHelper->CheckNextStep( track.GetStep()->GetPreStepPoint()->GetPosition(), diff --git a/source/processes/electromagnetic/utils/include/G4VMultipleScattering.hh b/source/processes/electromagnetic/utils/include/G4VMultipleScattering.hh index ae4dbe45ff..86be66edc7 100644 --- a/source/processes/electromagnetic/utils/include/G4VMultipleScattering.hh +++ b/source/processes/electromagnetic/utils/include/G4VMultipleScattering.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VMultipleScattering.hh,v 1.62 2009/10/29 17:56:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VMultipleScattering.hh,v 1.63 2010/03/10 18:29:51 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // ------------------------------------------------------------------- // @@ -153,22 +153,22 @@ public: // The function overloads the corresponding function of the base // class. - inline G4double PostStepGetPhysicalInteractionLength( + G4double PostStepGetPhysicalInteractionLength( const G4Track&, G4double previousStepSize, G4ForceCondition* condition); // Along step actions - inline G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&); + G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&); // Post step actions - inline G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); + G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); // This method does not used for tracking, it is intended only for tests - inline G4double ContinuousStepLimit(const G4Track& track, - G4double previousStepSize, - G4double currentMinimalStep, - G4double& currentSafety); + G4double ContinuousStepLimit(const G4Track& track, + G4double previousStepSize, + G4double currentMinimalStep, + G4double& currentSafety); //------------------------------------------------------------------------ // Specific methods to build and access Physics Tables @@ -317,21 +317,59 @@ private: }; -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// ======== Run time inline methods ================ + +inline const G4MaterialCutsCouple* +G4VMultipleScattering::CurrentMaterialCutsCouple() const +{ + return currentCouple; +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VMultipleScattering::ContinuousStepLimit( - const G4Track& track, - G4double previousStepSize, - G4double currentMinimalStep, - G4double& currentSafety) +inline +void G4VMultipleScattering::DefineMaterial(const G4MaterialCutsCouple* couple) { - return GetContinuousStepLimit(track,previousStepSize,currentMinimalStep, - currentSafety); + if(couple != currentCouple) { + currentCouple = couple; + currentMaterialIndex = couple->GetIndex(); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +inline +G4double G4VMultipleScattering::GetLambda(const G4ParticleDefinition* p, + G4double& e) +{ + G4double x; + if(theLambdaTable) { + x = ((*theLambdaTable)[currentMaterialIndex])->Value(e); + } else { + x = currentModel->CrossSection(currentCouple,p,e); + } + if(x > DBL_MIN) { x = 1./x; } + else { x = DBL_MAX; } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4VEmModel* G4VMultipleScattering::SelectModel(G4double kinEnergy) +{ + return modelManager->SelectModel(kinEnergy, currentMaterialIndex); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4VEmModel* G4VMultipleScattering::SelectModelForMaterial( + G4double kinEnergy, size_t& idxRegion) const +{ + return modelManager->SelectModel(kinEnergy, idxRegion); +} + +// ======== Get/Set inline methods used at initialisation ================ + inline void G4VMultipleScattering::SetBinning(G4int nbins) { nBins = nbins; @@ -395,21 +433,6 @@ inline const G4ParticleDefinition* G4VMultipleScattering::Particle() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4VEmModel* G4VMultipleScattering::SelectModel(G4double kinEnergy) -{ - return modelManager->SelectModel(kinEnergy, currentMaterialIndex); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4VEmModel* G4VMultipleScattering::SelectModelForMaterial( - G4double kinEnergy, size_t& idxRegion) const -{ - return modelManager->SelectModel(kinEnergy, idxRegion); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - inline G4bool G4VMultipleScattering::LateralDisplasmentFlag() const { return latDisplasment; @@ -433,8 +456,8 @@ inline G4double G4VMultipleScattering::Skin() const inline void G4VMultipleScattering::SetSkin(G4double val) { - if(val < 1.0) skin = 0.0; - else skin = val; + if(val < 1.0) { skin = 0.0; } + else { skin = val; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -476,9 +499,9 @@ inline G4double G4VMultipleScattering::PolarAngleLimit() const inline void G4VMultipleScattering::SetPolarAngleLimit(G4double val) { - if(val < 0.0) polarAngleLimit = 0.0; - else if(val > pi) polarAngleLimit = pi; - else polarAngleLimit = val; + if(val < 0.0) { polarAngleLimit = 0.0; } + else if(val > CLHEP::pi) { polarAngleLimit = CLHEP::pi; } + else { polarAngleLimit = val; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -493,81 +516,7 @@ inline G4MscStepLimitType G4VMultipleScattering::StepLimitType() const inline void G4VMultipleScattering::SetStepLimitType(G4MscStepLimitType val) { stepLimit = val; - if(val == fMinimal) facrange = 0.2; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline -G4double G4VMultipleScattering::GetLambda(const G4ParticleDefinition* p, - G4double& e) -{ - G4double x; - if(theLambdaTable) { - x = ((*theLambdaTable)[currentMaterialIndex])->Value(e); - } else { - x = currentModel->CrossSection(currentCouple,p,e); - } - if(x > DBL_MIN) x = 1./x; - else x = DBL_MAX; - return x; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline -void G4VMultipleScattering::DefineMaterial(const G4MaterialCutsCouple* couple) -{ - if(couple != currentCouple) { - currentCouple = couple; - currentMaterialIndex = couple->GetIndex(); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline const G4MaterialCutsCouple* -G4VMultipleScattering::CurrentMaterialCutsCouple() const -{ - return currentCouple; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -// Follwoing methods are virtual, they are inlined because they applied at -// each simulation step and some compilers may inline these methods - -inline G4double -G4VMultipleScattering::PostStepGetPhysicalInteractionLength( - const G4Track&, G4double, G4ForceCondition* condition) -{ - *condition = Forced; - return DBL_MAX; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4VParticleChange* -G4VMultipleScattering::AlongStepDoIt(const G4Track& track, const G4Step& step) -{ - if(currentModel->IsActive(track.GetKineticEnergy())) { - fParticleChange.ProposeTrueStepLength(currentModel->ComputeTrueStepLength(step.GetStepLength())); - } - return &fParticleChange; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4VParticleChange* -G4VMultipleScattering::PostStepDoIt(const G4Track& track, const G4Step& step) -{ - fParticleChange.Initialize(track); - if(currentModel->IsActive(track.GetKineticEnergy())) { - currentModel->SampleScattering(track.GetDynamicParticle(), - step.GetPostStepPoint()->GetSafety()); - } - return &fParticleChange; + if(val == fMinimal) { facrange = 0.2; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/sources.cmake b/source/processes/electromagnetic/utils/sources.cmake new file mode 100644 index 0000000000..b74a6217b7 --- /dev/null +++ b/source/processes/electromagnetic/utils/sources.cmake @@ -0,0 +1,129 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4emutils +# Package: Geant4.src.G4processes.G4electromagnetic.G4emutils +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.4 2010/10/26 09:45:09 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4emutils + HEADERS + G4AtomicShell.hh + G4DummyModel.hh + G4ElectronIonPair.hh + G4EmCalculator.hh + G4EmConfigurator.hh + G4EmCorrections.hh + G4EmElementSelector.hh + G4EmModelManager.hh + G4EmMultiModel.hh + G4EmProcessOptions.hh + G4EmProcessSubType.hh + G4EmSaturation.hh + G4EmTableType.hh + G4EnergyLossMessenger.hh + G4EnergyLossTables.hh + G4LossTableBuilder.hh + G4LossTableManager.hh + G4MscStepLimitType.hh + G4VAtomDeexcitation.hh + G4VBremAngularDistribution.hh + G4VEmAngularDistribution.hh + G4VEmFluctuationModel.hh + G4VEmModel.hh + G4VEmProcess.hh + G4VEnergyLoss.hh + G4VEnergyLossProcess.hh + G4VMscModel.hh + G4VMultipleScattering.hh + G4ionEffectiveCharge.hh + SOURCES + G4AtomicShell.cc + G4DummyModel.cc + G4ElectronIonPair.cc + G4EmCalculator.cc + G4EmConfigurator.cc + G4EmCorrections.cc + G4EmElementSelector.cc + G4EmModelManager.cc + G4EmMultiModel.cc + G4EmProcessOptions.cc + G4EmSaturation.cc + G4EnergyLossMessenger.cc + G4EnergyLossTables.cc + G4LossTableBuilder.cc + G4LossTableManager.cc + G4VAtomDeexcitation.cc + G4VBremAngularDistribution.cc + G4VEmAngularDistribution.cc + G4VEmFluctuationModel.cc + G4VEmModel.cc + G4VEmProcess.cc + G4VEnergyLoss.cc + G4VEnergyLossProcess.cc + G4VMscModel.cc + G4VMultipleScattering.cc + G4ionEffectiveCharge.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4cuts + G4geometrymng + G4globman + G4intercoms + G4ions + G4leptons + G4materials + G4mesons + G4navigation + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/electromagnetic/utils/src/G4ElectronIonPair.cc b/source/processes/electromagnetic/utils/src/G4ElectronIonPair.cc index 926d700ca9..ee48ca125a 100755 --- a/source/processes/electromagnetic/utils/src/G4ElectronIonPair.cc +++ b/source/processes/electromagnetic/utils/src/G4ElectronIonPair.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ElectronIonPair.cc,v 1.2 2008/10/17 14:46:16 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ElectronIonPair.cc,v 1.5 2010/10/25 17:23:01 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -45,7 +45,6 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "G4ElectronIonPair.hh" -#include "G4Gamma.hh" #include "G4Material.hh" #include "G4MaterialTable.hh" #include "G4StepPoint.hh" @@ -62,6 +61,7 @@ G4ElectronIonPair::G4ElectronIonPair() curMaterial = 0; curMeanEnergy = 0.0; nMaterials = 0; + FanoFactor = 0.2; Initialise(); } @@ -96,7 +96,7 @@ G4double G4ElectronIonPair::MeanNumberOfIonsAlongStep( curMeanEnergy = FindG4MeanEnergyPerIonPair(material); } } - if(curMeanEnergy > 0.0) nion = (edep - niel)/curMeanEnergy; + if(curMeanEnergy > 0.0) { nion = (edep - niel)/curMeanEnergy; } } } return nion; @@ -105,20 +105,19 @@ G4double G4ElectronIonPair::MeanNumberOfIonsAlongStep( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... std::vector* -G4ElectronIonPair::SampleIonsAlongStep(const G4ThreeVector& prePos, - const G4ThreeVector& postPos, - G4double meanion) +G4ElectronIonPair::SampleIonsAlongStep(const G4Step* step) { - std::vector* v = new std::vector; + std::vector* v = 0; - G4double sig = 0.2*std::sqrt(meanion); - G4int nion = G4int(G4RandGauss::shoot(meanion,sig) + 0.5); + G4int nion = SampleNumberOfIonsAlongStep(step); // sample ionisation along step if(nion > 0) { - G4ThreeVector deltaPos = postPos - prePos; - for(G4int i=0; i; + G4ThreeVector prePos = step->GetPreStepPoint()->GetPosition(); + G4ThreeVector deltaPos = step->GetPostStepPoint()->GetPosition() - prePos; + for(G4int i=0; ipush_back( prePos + deltaPos*G4UniformRand() ); } if(verbose > 1 ) { @@ -137,7 +136,7 @@ G4int G4ElectronIonPair::ResidualeChargePostStep(const G4ParticleDefinition*, { G4int nholes = 0; - if(2 == subType || 12 == subType || 13 == subType) nholes = 1; + if(2 == subType || 12 == subType || 13 == subType) { nholes = 1; } return nholes; } @@ -172,7 +171,7 @@ void G4ElectronIonPair:: DumpMeanEnergyPerIonPair() const G4MaterialTable* mtable = G4Material::GetMaterialTable(); if(nmat > 0) { G4cout << "### G4ElectronIonPair: mean energy per ion pair avalable:" << G4endl; - for(G4int i=0; iGetIonisation()->GetMeanEnergyPerIonPair(); if(x > 0.0) { @@ -190,7 +189,7 @@ void G4ElectronIonPair::DumpG4MeanEnergyPerIonPair() if(nMaterials > 0) { G4cout << "### G4ElectronIonPair: mean energy per ion pair " << " for Geant4 materials" << G4endl; - for(G4int i=0; iGetIndex(); FindLambdaTable(p, processName); + if(currentLambda) { G4double e = kinEnergy*massRatio; res = (((*currentLambda)[idx])->Value(e))*chargeSquare; if(verbose>0) { - G4cout << "E(MeV)= " << kinEnergy/MeV + G4cout << "G4EmCalculator::GetXSPerVolume: E(MeV)= " << kinEnergy/MeV << " cross(cm-1)= " << res*cm << " " << p->GetParticleName() << " in " << mat->GetName(); if(verbose>1) - G4cout << " idx= " << idx << " e(MeV)= " << e + G4cout << " idx= " << idx << " Escaled((MeV)= " << e << " q2= " << chargeSquare; G4cout << G4endl; } @@ -341,6 +348,23 @@ G4double G4EmCalculator::GetCrossSectionPerVolume(G4double kinEnergy, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +G4double G4EmCalculator::GetShellIonisationCrossSectionPerAtom( + const G4String& particle, + G4int Z, + G4AtomicShellEnumerator shell, + G4double kinEnergy) +{ + G4double res = 0.0; + const G4ParticleDefinition* p = FindParticle(particle); + G4VAtomDeexcitation* ad = manager->AtomDeexcitation(); + if(p && ad) { + res = ad->GetShellIonisationCrossSectionPerAtom(p, Z, shell, kinEnergy); + } + return res; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + G4double G4EmCalculator::GetMeanFreePath(G4double kinEnergy, const G4ParticleDefinition* p, const G4String& processName, @@ -349,7 +373,7 @@ G4double G4EmCalculator::GetMeanFreePath(G4double kinEnergy, { G4double res = DBL_MAX; G4double x = GetCrossSectionPerVolume(kinEnergy,p, processName, mat,region); - if(x > 0.0) res = 1.0/x; + if(x > 0.0) { res = 1.0/x; } if(verbose>1) { G4cout << "G4EmCalculator::GetMeanFreePath: E(MeV)= " << kinEnergy/MeV << " MFP(mm)= " << res/mm @@ -494,6 +518,7 @@ G4double G4EmCalculator::ComputeDEDX(G4double kinEnergy, << " " << p->GetParticleName() << " in " << currentMaterialName << " Zi^2= " << chargeSquare + << " isIon=" << isIon << G4endl; } } @@ -515,10 +540,11 @@ G4double G4EmCalculator::ComputeElectronicDEDX(G4double kinEnergy, const std::vector vel = lManager->GetEnergyLossProcessVector(); G4int n = vel.size(); - for(G4int i=0; iParticle(); - if((!isIon && p == part) || (isIon && p == theGenericIon)) + if((!isIon && p == part) || (isIon && p == theGenericIon)) { dedx += ComputeDEDX(kinEnergy,part,(vel[i])->GetProcessName(),mat,cut); + } } } return dedx; @@ -618,8 +644,9 @@ G4double G4EmCalculator::ComputeCrossSectionPerVolume( res = currentModel->CrossSectionPerVolume(mat, p, e, cut, e); } if(verbose>0) { - G4cout << "E(MeV)= " << kinEnergy/MeV + G4cout << "G4EmCalculator::ComputeXSPerVolume: E(MeV)= " << kinEnergy/MeV << " cross(cm-1)= " << res*cm + << " cut(keV)= " << cut/keV << " " << p->GetParticleName() << " in " << mat->GetName() << G4endl; @@ -685,7 +712,25 @@ G4double G4EmCalculator::ComputeCrossSectionPerAtom(G4double kinEnergy, { return ComputeCrossSectionPerAtom(kinEnergy,FindParticle(particle), processName, - elm->GetZ(),elm->GetA(),cut); + elm->GetZ(),elm->GetN(),cut); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4EmCalculator::ComputeShellIonisationCrossSectionPerAtom( + const G4String& particle, + G4int Z, + G4AtomicShellEnumerator shell, + G4double kinEnergy) +{ + G4double res = 0.0; + const G4ParticleDefinition* p = FindParticle(particle); + G4VAtomDeexcitation* ad = manager->AtomDeexcitation(); + if(p && ad) { + res = + ad->ComputeShellIonisationCrossSectionPerAtom(p, Z, shell, kinEnergy); + } + return res; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -885,7 +930,7 @@ G4bool G4EmCalculator::UpdateCouple(const G4Material* material, G4double cut) if(!material) return false; currentMaterial = material; currentMaterialName = material->GetName(); - for (G4int i=0; iGetIndex(); @@ -910,9 +955,10 @@ void G4EmCalculator::FindLambdaTable(const G4ParticleDefinition* p, const G4String& processName) { // Search for the process - if (p != currentParticle || processName != currentName) { - currentName = processName; - currentLambda = 0; + if (!currentLambda || p != lambdaParticle || processName != lambdaName) { + lambdaName = processName; + currentLambda = 0; + lambdaParticle = p; G4String partname = p->GetParticleName(); const G4ParticleDefinition* part = p; @@ -923,13 +969,17 @@ void G4EmCalculator::FindLambdaTable(const G4ParticleDefinition* p, const std::vector vel = lManager->GetEnergyLossProcessVector(); G4int n = vel.size(); - for(G4int i=0; iGetProcessName() == currentName && + for(G4int i=0; iGetProcessName() == lambdaName && (vel[i])->Particle() == part) { currentLambda = (vel[i])->LambdaTable(); isApplicable = true; - break; + if(verbose>1) { + G4cout << "G4VEnergyLossProcess is found out: " + << currentName << G4endl; + } + return; } } @@ -937,13 +987,17 @@ void G4EmCalculator::FindLambdaTable(const G4ParticleDefinition* p, if(!currentLambda) { const std::vector vem = lManager->GetEmProcessVector(); G4int n = vem.size(); - for(G4int i=0; iGetProcessName() == currentName && + for(G4int i=0; iGetProcessName() == lambdaName && (vem[i])->Particle() == part) { currentLambda = (vem[i])->LambdaTable(); isApplicable = true; - break; + if(verbose>1) { + G4cout << "G4VEmProcess is found out: " + << currentName << G4endl; + } + return; } } } @@ -953,13 +1007,17 @@ void G4EmCalculator::FindLambdaTable(const G4ParticleDefinition* p, const std::vector vmsc = lManager->GetMultipleScatteringVector(); G4int n = vmsc.size(); - for(G4int i=0; iGetProcessName() == currentName && + for(G4int i=0; iGetProcessName() == lambdaName && (vmsc[i])->Particle() == part) { currentLambda = (vmsc[i])->LambdaTable(); isApplicable = true; - break; + if(verbose>1) { + G4cout << "G4VMultipleScattering is found out: " + << currentName << G4endl; + } + return; } } } @@ -1001,7 +1059,7 @@ G4bool G4EmCalculator::FindEmModel(const G4ParticleDefinition* p, lManager->GetEnergyLossProcessVector(); G4int n = vel.size(); G4VEnergyLossProcess* elproc = 0; - for(G4int i=0; iGetParticleType() == "nucleus" + && currentParticleName != "deuteron" + && currentParticleName != "triton" + && currentParticleName != "alpha+" + && currentParticleName != "helium" + && currentParticleName != "hydrogen" + ) { part = theGenericIon; } G4LossTableManager* lManager = G4LossTableManager::Instance(); const std::vector vel = lManager->GetEnergyLossProcessVector(); G4int n = vel.size(); - for(G4int i=0; iParticle() == part ) { elp = vel[i]; break; diff --git a/source/processes/electromagnetic/utils/src/G4EmConfigurator.cc b/source/processes/electromagnetic/utils/src/G4EmConfigurator.cc index efdf75a564..edf0dc8371 100644 --- a/source/processes/electromagnetic/utils/src/G4EmConfigurator.cc +++ b/source/processes/electromagnetic/utils/src/G4EmConfigurator.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmConfigurator.cc,v 1.6 2009/11/22 19:48:30 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmConfigurator.cc,v 1.9 2010/07/29 11:13:28 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -60,11 +60,9 @@ #include "G4VEmProcess.hh" #include "G4VMultipleScattering.hh" -enum PType {unknown=0, eloss, discrete, msc}; - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmConfigurator::G4EmConfigurator() +G4EmConfigurator::G4EmConfigurator(G4int val):verbose(val) { index = -10; } @@ -76,35 +74,6 @@ G4EmConfigurator::~G4EmConfigurator() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4EmConfigurator::AddExtraEmModel(const G4String& particleName, - G4VEmModel* em, - G4VEmFluctuationModel* fm) -{ - particleList.push_back(particleName); - modelList.push_back(em); - flucModelList.push_back(fm); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4EmConfigurator::AddModelForRegion(const G4String& particleName, - const G4String& processName, - const G4String& modelName, - const G4String& regionName, - G4double emin, G4double emax, - const G4String& flucModelName) -{ - particles.push_back(particleName); - processes.push_back(processName); - models.push_back(modelName); - regions.push_back(regionName); - flucModels.push_back(flucModelName); - lowEnergy.push_back(emin); - highEnergy.push_back(emax); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - void G4EmConfigurator::SetExtraEmModel(const G4String& particleName, const G4String& processName, G4VEmModel* mod, @@ -113,27 +82,275 @@ void G4EmConfigurator::SetExtraEmModel(const G4String& particleName, G4double emax, G4VEmFluctuationModel* fm) { - AddExtraEmModel(particleName, mod, fm); - G4String fname = ""; - if(fm) fname = fm->GetName(); - G4String mname = ""; - if(mod) mname = mod->GetName(); - AddModelForRegion(particleName, processName, mname, regionName, - emin, emax, fname); + if(1 < verbose) { + G4cout << " G4EmConfigurator::SetExtraEmModel " << mod->GetName() + << " for " << particleName + << " and " << processName + << " in the region <" << regionName + << "> Emin(MeV)= " << emin/MeV + << " Emax(MeV)= " << emax/MeV + << G4endl; + } + if(mod || fm) { + models.push_back(mod); + flucModels.push_back(fm); + } else { + models.push_back(new G4DummyModel()); + flucModels.push_back(0); + } + + particles.push_back(particleName); + processes.push_back(processName); + regions.push_back(regionName); + lowEnergy.push_back(emin); + highEnergy.push_back(emax); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void G4EmConfigurator::AddModels() { - size_t n = particles.size(); - //G4cout << " G4EmConfigurator::AddModels n= " << n << G4endl; + size_t n = models.size(); + if(0 < verbose) { + G4cout << "### G4EmConfigurator::AddModels n= " << n << G4endl; + } if(n > 0) { - for(size_t i=0; iGetName() + << G4endl; + G4cout << " For " << particleName + << " and " << processName + << " in the region <" << reg->GetName() + << " Emin(MeV)= " << emin/MeV + << " Emax(MeV)= " << emax/MeV; + if(fm) { G4cout << " FLmodel " << fm->GetName(); } + G4cout << G4endl; + } + G4ParticleTable::G4PTblDicIterator* theParticleIterator = + G4ParticleTable::GetParticleTable()->GetIterator(); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ) { + const G4ParticleDefinition* part = theParticleIterator->value(); + + //G4cout << particleName << " " << part->GetParticleName() << G4endl; + + if((part->GetParticleName() == particleName) || + (particleName == "all") || + (particleName == "charged" && part->GetPDGCharge() != 0.0)) { + + // search for process + G4ProcessManager* pmanager = part->GetProcessManager(); + G4ProcessVector* plist = pmanager->GetProcessList(); + G4int np = pmanager->GetProcessListLength(); + + //G4cout << processName << " in list of " << np << G4endl; + + G4VProcess* proc = 0; + for(G4int i=0; iGetProcessName()) { + proc = (*plist)[i]; + break; + } + } + if(!proc) { + G4cout << "### G4EmConfigurator WARNING: fails to find a process <" + << processName << "> for " << particleName << G4endl; + return; + } + + if(mod) { + if(!UpdateModelEnergyRange(mod, emin, emax)) { return; } + } + // classify process + G4int ii = proc->GetProcessSubType(); + if(10 == ii && mod) { + G4VMultipleScattering* p = static_cast(proc); + p->AddEmModel(index,mod,reg); + if(1 < verbose) { + G4cout << "### Added msc model order= " << index << " for " + << particleName << " and " << processName << G4endl; + } + return; + } else if(2 <= ii && 4 >= ii) { + G4VEnergyLossProcess* p = static_cast(proc); + if(!mod && fm) { + p->SetFluctModel(fm); + } else { + p->AddEmModel(index,mod,fm,reg); + if(1 < verbose) { + G4cout << "### Added eloss model order= " << index << " for " + << particleName << " and " << processName << G4endl; + } + } + return; + } else if(mod) { + G4VEmProcess* p = static_cast(proc); + p->AddEmModel(index,mod,reg); + if(1 < verbose) { + G4cout << "### Added em model order= " << index << " for " + << particleName << " and " << processName << G4endl; + } + return; + } else { + return; + } + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void +G4EmConfigurator::PrepareModels(const G4ParticleDefinition* aParticle, + G4VEnergyLossProcess* p) +{ + size_t n = particles.size(); + if(1 < verbose) { + G4cout << " G4EmConfigurator::PrepareModels for EnergyLoss n= " + << n << G4endl; + } + if(n > 0) { + G4String particleName = aParticle->GetParticleName(); + G4String processName = p->GetProcessName(); + //G4cout << particleName << " " << processName << G4endl; + for(size_t i=0; iGetPDGCharge() != 0.0)) { + G4Region* reg = FindRegion(regions[i]); + //G4cout << "Region " << reg << G4endl; + if(reg) { + --index; + G4VEmModel* mod = models[i]; + G4VEmFluctuationModel* fm = flucModels[i]; + if(mod) { + if(UpdateModelEnergyRange(mod, lowEnergy[i], highEnergy[i])) { + p->AddEmModel(index,mod,fm,reg); + if(1 < verbose) { + G4cout << "### Added eloss model order= " << index << " for " + << particleName << " and " << processName << G4endl; + } + } + } else if(fm) { + p->SetFluctModel(fm); + } + } + } + } + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void +G4EmConfigurator::PrepareModels(const G4ParticleDefinition* aParticle, + G4VEmProcess* p) +{ + size_t n = particles.size(); + if(1 < verbose) { + G4cout << " G4EmConfigurator::PrepareModels for EM process n= " + << n << G4endl; + } + if(n > 0) { + G4String particleName = aParticle->GetParticleName(); + G4String processName = p->GetProcessName(); + //G4cout << particleName << " " << particleName << G4endl; + for(size_t i=0; iGetPDGCharge() != 0.0)) { + G4Region* reg = FindRegion(regions[i]); + //G4cout << "Region " << reg << G4endl; + if(reg) { + --index; + G4VEmModel* mod = models[i]; + if(mod) { + if(UpdateModelEnergyRange(mod, lowEnergy[i], highEnergy[i])) { + p->AddEmModel(index,mod,reg); + if(1 < verbose) { + G4cout << "### Added em model order= " << index << " for " + << particleName << " and " << processName << G4endl; + } + } + } + } + } + } + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void +G4EmConfigurator::PrepareModels(const G4ParticleDefinition* aParticle, + G4VMultipleScattering* p) +{ + size_t n = particles.size(); + if(1 < verbose) { + G4cout << " G4EmConfigurator::PrepareModels for MSC process n= " + << n << G4endl; + } + + if(n > 0) { + G4String particleName = aParticle->GetParticleName(); + G4String processName = p->GetProcessName(); + for(size_t i=0; iGetPDGCharge() != 0.0)) { + G4Region* reg = FindRegion(regions[i]); + if(reg) { + --index; + G4VEmModel* mod = models[i]; + if(mod) { + if(UpdateModelEnergyRange(mod, lowEnergy[i], highEnergy[i])) { + p->AddEmModel(index,mod,reg); + G4cout << "### Added msc model order= " << index << " for " + << particleName << " and " << processName << G4endl; + } + } + } + } + } + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4EmConfigurator::Clear() +{ particles.clear(); processes.clear(); models.clear(); @@ -145,147 +362,50 @@ void G4EmConfigurator::AddModels() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4EmConfigurator::SetModelForRegion(const G4String& particleName, - const G4String& processName, - const G4String& modelName, - const G4String& regionName, - const G4String& flucModelName, - G4double emin, G4double emax) +G4Region* G4EmConfigurator::FindRegion(const G4String& regionName) { - //G4cout << " G4EmConfigurator::SetModelForRegion" << G4endl; - - // new set - --index; - - G4ParticleTable::G4PTblDicIterator* theParticleIterator = - G4ParticleTable::GetParticleTable()->GetIterator(); - - theParticleIterator->reset(); - while( (*theParticleIterator)() ) { - const G4ParticleDefinition* part = theParticleIterator->value(); - - //G4cout << particleName << " " << part->GetParticleName() << G4endl; - - if(particleName == part->GetParticleName() || - (particleName == "charged" && part->GetPDGCharge() != 0.0) ) { - - - // search for process - G4ProcessManager* pmanager = part->GetProcessManager(); - G4ProcessVector* plist = pmanager->GetProcessList(); - G4int np = pmanager->GetProcessListLength(); - - //G4cout << processName << " in list of " << np << G4endl; - - G4VProcess* proc = 0; - for(G4int i=0; iGetProcessName()) { - proc = (*plist)[i]; - break; - } - } - if(!proc) { - G4cout << "### G4EmConfigurator WARNING: fails to find a process <" - << processName << "> for " << particleName << G4endl; - - } else { - - // classify process - PType ptype = discrete; - G4int ii = proc->GetProcessSubType(); - if(10 == ii) ptype = msc; - else if(2 <= ii && 4 >= ii) ptype = eloss; - - // find out model - G4VEmModel* mod = 0; - G4VEmFluctuationModel* fluc = 0; - - G4int nm = modelList.size(); - //G4cout << "Search model " << modelName << " in " << nm << G4endl; - - for(G4int i=0; iGetName(); - G4String fname = ""; - if(flucModelList[i]) fname = flucModelList[i]->GetName(); - if(modelName == mname && flucModelName == fname && - (particleList[i] == "" || particleList[i] == particleName) ) { - mod = modelList[i]; - fluc = flucModelList[i]; - break; - } - } - - if("dummy" == modelName) mod = new G4DummyModel(); - - if(!mod) { - - // set fluctuation model for ionisation processes - if(fluc && ptype == eloss) { - G4VEnergyLossProcess* p = static_cast(proc); - p->SetFluctModel(fluc); - - } else { - G4cout << "### G4EmConfigurator WARNING: fails to find a model <" - << modelName << "> for process <" - << processName << "> and " << particleName - << G4endl; - if(flucModelName != "") { - G4cout << " fluctuation model <" - << flucModelName << G4endl; - } - } - } else { - - // search for region - G4Region* reg = 0; - G4RegionStore* regStore = G4RegionStore::GetInstance(); - G4String r = regionName; - if(r == "" || r == "world" || r == "World") r = "DefaultRegionForTheWorld"; - reg = regStore->GetRegion(r, true); - if(!reg) { - G4cout << "### G4EmConfigurator WARNING: fails to find a region <" - << r << "> for model <" << modelName << "> of the process " - << processName << " and " << particleName << G4endl; - return; - } - - // energy limits - G4double e1 = std::max(emin,mod->LowEnergyLimit()); - G4double e2 = std::min(emax,mod->HighEnergyLimit()); - if(e2 < e1) e2 = e1; - mod->SetLowEnergyLimit(e1); - mod->SetHighEnergyLimit(e2); - - //G4cout << "index= " << index << " e1= " << e1 << " e2= " << e2 << G4endl; - - // added model - if(ptype == eloss) { - G4VEnergyLossProcess* p = static_cast(proc); - p->AddEmModel(index,mod,fluc,reg); - //G4cout << "### Added eloss model order= " << index << " for " - // << particleName << " and " << processName << " " << mod << G4endl; - } else if(ptype == discrete) { - G4VEmProcess* p = static_cast(proc); - p->AddEmModel(index,mod,reg); - } else if(ptype == msc) { - //G4cout << "### Added msc model order= " << index << " for " - // << particleName << " and " << processName << " " << mod << G4endl; - G4VMultipleScattering* p = static_cast(proc); - p->AddEmModel(index,mod,reg); - } - } - } - } + // search for region + G4Region* reg = 0; + G4RegionStore* regStore = G4RegionStore::GetInstance(); + G4String r = regionName; + if(r == "" || r == "world" || r == "World") { + r = "DefaultRegionForTheWorld"; } + reg = regStore->GetRegion(r, true); + if(!reg) { + G4cout << "### G4EmConfigurator WARNING: fails to find a region <" + << r << G4endl; + } else if(verbose > 1) { + G4cout << "### G4EmConfigurator finds out G4Region <" << r << ">" + << G4endl; + } + return reg; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4bool G4EmConfigurator::UpdateModelEnergyRange(G4VEmModel* mod, + G4double emin, G4double emax) +{ + // energy limits + G4double e1 = std::max(emin,mod->LowEnergyLimit()); + G4double e2 = std::min(emax,mod->HighEnergyLimit()); + if(e2 <= e1) { + G4cout << "### G4EmConfigurator WARNING: empty energy interval" + << " for <" << mod->GetName() + << "> Emin(MeV)= " << e1/CLHEP::MeV + << "> Emax(MeV)= " << e2/CLHEP::MeV + << G4endl; + return false; + } + mod->SetLowEnergyLimit(e1); + mod->SetHighEnergyLimit(e2); + if(verbose > 1) { + G4cout << "### G4EmConfigurator for " << mod->GetName() + << " Emin(MeV)= " << e1/MeV << " Emax(MeV)= " << e2/MeV + << G4endl; + } + return true; +} - - - - - - +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/utils/src/G4EmCorrections.cc b/source/processes/electromagnetic/utils/src/G4EmCorrections.cc index 24c6a5f034..840c0ef129 100644 --- a/source/processes/electromagnetic/utils/src/G4EmCorrections.cc +++ b/source/processes/electromagnetic/utils/src/G4EmCorrections.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmCorrections.cc,v 1.54 2009/10/29 17:56:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmCorrections.cc,v 1.64 2010/12/02 12:19:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -67,6 +67,8 @@ #include "G4PhysicsLogVector.hh" #include "G4ProductionCutsTable.hh" #include "G4MaterialCutsCouple.hh" +#include "G4AtomicShells.hh" +#include "G4LPhysicsFreeVector.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -90,6 +92,7 @@ G4EmCorrections::G4EmCorrections() eCorrMax = 250.*MeV; nist = G4NistManager::Instance(); ionTable = G4ParticleTable::GetParticleTable()->GetIonTable(); + BarkasCorr = ThetaK = ThetaL = 0; Initialise(); } @@ -97,7 +100,10 @@ G4EmCorrections::G4EmCorrections() G4EmCorrections::~G4EmCorrections() { - for(G4int i=0; i 1) + if(verbose > 1) { G4cout << "EmCorrections: E(MeV)= " << e/MeV << " Barkas= " << Barkas << " Bloch= " << Bloch << " Mott= " << Mott - << " Sum= " << sum << G4endl; - + << " Sum= " << sum << " q2= " << q2 << G4endl; + G4cout << " ShellCorrection: " << ShellCorrection(p, mat, e) + << " Kshell= " << KShellCorrection(p, mat, e) + << " Lshell= " << LShellCorrection(p, mat, e) + << " " << mat->GetName() << G4endl; + } sum *= material->GetElectronDensity() * q2 * twopi_mc2_rcl2 /beta2; return sum; } @@ -137,11 +147,11 @@ G4double G4EmCorrections::IonBarkasCorrection(const G4ParticleDefinition* p, const G4Material* mat, G4double e) { -// . Z^3 Barkas effect in the stopping power of matter for charged particles -// J.C Ashley and R.H.Ritchie -// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397 -// and ICRU49 report -// valid for kineticEnergy < 0.5 MeV + // . Z^3 Barkas effect in the stopping power of matter for charged particles + // J.C Ashley and R.H.Ritchie + // Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397 + // and ICRU49 report + // valid for kineticEnergy < 0.5 MeV SetupKinematics(p, mat, e); G4double res = 0.0; @@ -157,14 +167,14 @@ G4double G4EmCorrections::ComputeIonCorrections(const G4ParticleDefinition* p, const G4Material* mat, G4double e) { -// . Z^3 Barkas effect in the stopping power of matter for charged particles -// J.C Ashley and R.H.Ritchie -// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397 -// and ICRU49 report -// valid for kineticEnergy < 0.5 MeV -// Other corrections from S.P.Ahlen Rev. Mod. Phys., Vol 52, No1, 1980 + // . Z^3 Barkas effect in the stopping power of matter for charged particles + // J.C Ashley and R.H.Ritchie + // Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397 + // and ICRU49 report + // valid for kineticEnergy < 0.5 MeV + // Other corrections from S.P.Ahlen Rev. Mod. Phys., Vol 52, No1, 1980 SetupKinematics(p, mat, e); - if(tau <= 0.0) return 0.0; + if(tau <= 0.0) { return 0.0; } G4double Barkas = BarkasCorrection (p, mat, e); G4double Bloch = BlochCorrection (p, mat, e); @@ -179,7 +189,7 @@ G4double G4EmCorrections::ComputeIonCorrections(const G4ParticleDefinition* p, } sum *= material->GetElectronDensity() * q2 * twopi_mc2_rcl2 /beta2; - if(verbose > 1) G4cout << " Sum= " << sum << G4endl; + if(verbose > 1) { G4cout << " Sum= " << sum << G4endl; } return sum; } @@ -208,7 +218,7 @@ G4double G4EmCorrections::IonHighOrderCorrections(const G4ParticleDefinition* p, thcorr[Z].resize(ncouples); G4double ethscaled = eth*p->GetPDGMass()/proton_mass_c2; - for(size_t i=0; iGetName() + // << " " << ekin/MeV << " MeV " << G4endl; + for (G4int i = 0; iGetZ(); G4int iz = G4int(Z); G4double Z2= (Z-0.3)*(Z-0.3); @@ -424,55 +466,69 @@ G4double G4EmCorrections::ShellCorrection(const G4ParticleDefinition* p, f = 0.5; Z2 = 1.0; } - G4double e0= 13.6*eV*Z2; - term += f*atomDensity[i]*KShell(shells.GetBindingEnergy(iz,0)/e0,ba2/Z2)/Z; + G4double eta = ba2/Z2; + G4double tet = Z2*(1. + Z2*0.25*alpha2); + if(11 < iz) { tet = ThetaK->Value(Z); } + res0 = f*KShell(tet,eta); + res += res0; + //G4cout << " Z= " << iz << " Shell 0" << " tet= " << tet + // << " eta= " << eta << " resK= " << res0 << G4endl; if(2 < iz) { G4double Zeff = Z - ZD[10]; - if(iz < 10) Zeff = Z - ZD[iz]; + if(iz < 10) { Zeff = Z - ZD[iz]; } Z2= Zeff*Zeff; - e0= 13.6*eV*Z2*0.25; + eta = ba2/Z2; f = 0.125; - G4double eta = ba2/Z2; - G4int ntot = shells.GetNumberOfShells(iz); + tet = ThetaL->Value(Z); + G4int ntot = G4AtomicShells::GetNumberOfShells(iz); G4int nmax = std::min(4, ntot); G4double norm = 0.0; G4double eshell = 0.0; - for(G4int j=1; j= iz) { + if(3 > j) { tet = 0.25*Z2*(1.0 + 5*Z2*alpha2/16.); } + else { tet = 0.25*Z2*(1.0 + Z2*alpha2/16.); } + } + norm += ne; + eshell += tet*ne; + res0 = f*ne*LShell(tet,eta); + res += res0; + //G4cout << " Z= " << iz << " Shell " << j << " Ne= " << ne + // << " tet= " << tet << " eta= " << eta + // << " resL= " << res0 << G4endl; } - if(10 < iz) { + if(ntot > nmax) { eshell /= norm; - G4double eeff = eshell*eta; - for(G4int k=nmax; k iz) { + res += f*(iz - 10)*LShell(eshell,HM[iz-11]*eta); + } else if(63 > iz) { + res += f*18*LShell(eshell,HM[iz-11]*eta); + } else { + res += f*18*LShell(eshell,HM[52]*eta); } - /* - if(28 >= iz) { - term += f*(Z - 10.)*atomDensity[i]*LShell(eshell,HM[iz-11]*eta)/Z; - } else if(32 >= iz) { - term += f*18.0*atomDensity[i]*LShell(eshell,HM[iz-11]*eta)/Z; - } else if(60 >= iz) { - term += f*18.0*atomDensity[i]*LShell(eshell,HM[iz-11]*eta)/Z; - term += f*(Z - 28.)*atomDensity[i]*LShell(eshell,HN[iz-33]*eta)/Z; - } else { - term += f*18.0*atomDensity[i]*LShell(eshell,HM[53]*eta)/Z; - term += f*32.0*atomDensity[i]*LShell(eshell,HN[30]*eta)/Z; - term += f*(Z - 60.)*atomDensity[i]*LShell(eshell,150.*eta)/Z; + // Add N-shell + if(32 < iz) { + if(60 > iz) { + res += f*(iz - 28)*LShell(eshell,HN[iz-33]*eta); + } else if(63 > iz) { + res += 4*LShell(eshell,HN[iz-33]*eta); + } else { + res += 4*LShell(eshell,HN[30]*eta); + } + // Add O-P-shells + if(60 < iz) { + res += f*(iz - 60)*LShell(eshell,150*eta); + } } - */ } } - //term += atomDensity[i]*MSH[iz]/(ba2*ba2); + term += res*atomDensity[i]/Z; } term /= material->GetTotNbOfAtomsPerVolume(); + //G4cout << "# Shell Correction= " << term << G4endl; return term; } @@ -509,48 +565,54 @@ G4double G4EmCorrections::BarkasCorrection(const G4ParticleDefinition* p, const G4Material* mat, G4double e) { -// . Z^3 Barkas effect in the stopping power of matter for charged particles -// J.C Ashley and R.H.Ritchie -// Physical review B Vol.5 No.7 1 April 1972 pp. 2393-2397 -// valid for kineticEnergy > 0.5 MeV + // . Z^3 Barkas effect in the stopping power of matter for charged particles + // J.C Ashley and R.H.Ritchie + // Physical review B Vol.5 No.7 1 April 1972 pp. 2393-2397 + // valid for kineticEnergy > 0.5 MeV SetupKinematics(p, mat, e); G4double BarkasTerm = 0.0; - for (G4int i = 0; iGetZ(); G4int iz = G4int(Z); + if(iz == 47) { + BarkasTerm += atomDensity[i]*0.006812*std::pow(beta,-0.9); + } else if(iz >= 64) { + BarkasTerm += atomDensity[i]*0.002833*std::pow(beta,-1.2); + } else { - G4double X = ba2 / Z; - G4double b = 1.3; - if(1 == iz) { - if(material->GetName() == "G4_lH2") b = 0.6; - else b = 1.8; + G4double X = ba2 / Z; + G4double b = 1.3; + if(1 == iz) { + if(material->GetName() == "G4_lH2") { b = 0.6; } + else { b = 1.8; } + } + else if(2 == iz) { b = 0.6; } + else if(10 >= iz) { b = 1.8; } + else if(17 >= iz) { b = 1.4; } + else if(18 == iz) { b = 1.8; } + else if(25 >= iz) { b = 1.4; } + else if(50 >= iz) { b = 1.35;} + + G4double W = b/std::sqrt(X); + + G4double val = BarkasCorr->Value(W); + if(W > BarkasCorr->Energy(46)) { + val *= BarkasCorr->Energy(46)/W; + } + // G4cout << "i= " << i << " b= " << b << " W= " << W + // << " Z= " << Z << " X= " << X << " val= " << val<< G4endl; + BarkasTerm += val*atomDensity[i] / (std::sqrt(Z*X)*X); } - else if(2 == iz) b = 0.6; - else if(10 >= iz) b = 1.8; - else if(17 >= iz) b = 1.4; - else if(18 == iz) b = 1.8; - else if(25 >= iz) b = 1.4; - else if(50 >= iz) b = 1.35; - - G4double W = b/std::sqrt(X); - - G4double val; - if(W <= engBarkas[0]) val = corBarkas[0]; - else if(W >= engBarkas[46]) val = corBarkas[46]*engBarkas[46]/W; - else { - G4int iw = Index(W, engBarkas, 47); - val = Value(W, engBarkas[iw], engBarkas[iw+1], - corBarkas[iw], corBarkas[iw+1]); - } - // G4cout << "i= " << i << " b= " << b << " W= " << W - // << " Z= " << Z << " X= " << X << " val= " << val<< G4endl; - BarkasTerm += val*atomDensity[i] / (std::sqrt(Z*X)*X); } BarkasTerm *= 1.29*charge/material->GetTotNbOfAtomsPerVolume(); + + // temporary protection + //if(charge < -7.0 ) { BarkasTerm *= (-7.0/charge); } + return BarkasTerm; } @@ -573,7 +635,11 @@ G4double G4EmCorrections::BlochCorrection(const G4ParticleDefinition* p, term += del; } while (del > 0.01*term); - return -y2*term; + G4double res = -y2*term; + // temporary protection + //if(q2 > 49. && res < -0.2) { res = -0.2; } + + return res; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -601,7 +667,7 @@ G4double G4EmCorrections::NuclearDEDX(const G4ParticleDefinition* p, lossFlucFlag = fluct; // Projectile nucleus - G4double z1 = std::abs(particle->GetPDGCharge()/eplus); + G4double z1 = std::fabs(particle->GetPDGCharge()/eplus); G4double m1 = mass/amu_c2; // loop for the elements in the material @@ -687,7 +753,7 @@ G4double G4EmCorrections::EffectiveChargeCorrection(const G4ParticleDefinition* massFactor = proton_mass_c2/p->GetPDGMass(); idx = -1; - for(G4int i=0; i1) { G4cout << "End data set " << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -819,11 +885,11 @@ void G4EmCorrections::InitialiseForNewRun() if(currmat.size() != ncouples) { currmat.resize(ncouples); size_t i; - for(i=0; i<100; i++) {thcorr[i].clear();} - for(i=0; iGetMaterialCutsCouple(i)->GetMaterial(); G4String nam = currmat[i]->GetName(); - for(G4int j=0; jPutValues(i, fTable[i][0], fTable[i][1]); } + BarkasCorr->SetSpline(true); const G4double nuca[104][2] = { { 1.0E+8, 5.831E-8}, @@ -1011,7 +1076,7 @@ void G4EmCorrections::Initialise() { 0.0, 3.166E-3} }; - for(i=0; i<104; i++) { + for(i=0; i<104; ++i) { ed[i] = nuca[i][0]; a[i] = nuca[i][1]; } @@ -1023,6 +1088,7 @@ void G4EmCorrections::Initialise() // G.S. Khandelwal Nucl. Phys. A116(1968)97 - 111. // "Shell corrections for K- and L- electrons + nK = 20; nL = 26; nEtaK = 29; @@ -1048,9 +1114,9 @@ void G4EmCorrections::Initialise() 8.3191, 8.3199, 8.3211, 8.3218, 8.3226, 8.3244, 8.3264, 8.3285, 8.3308, 8.3320}; - for(i=0; i<11; i++) { ZD[i] = d[i];} + for(i=0; i<11; ++i) { ZD[i] = d[i];} - for(i=0; iGetParticleName() - << G4endl; + if(tcutmax < subcut) { subcut = tcutmax; } } } theCuts[i] = cut; - if(minSubRange < 1.0) theSubCuts[i] = subcut; + if(minSubRange < 1.0) { theSubCuts[i] = subcut; } } // initialize models @@ -496,7 +477,7 @@ G4EmModelManager::Initialise(const G4ParticleDefinition* p, if(flucModels[jj]) flucModels[jj]->InitialiseMe(particle); } } - if(1 == nn) severalModels = false; + if(1 == nn) { severalModels = false; } if(1 < verboseLevel) { G4cout << "G4EmModelManager for " << particle->GetParticleName() @@ -655,7 +636,7 @@ void G4EmModelManager::FillLambdaVector(G4PhysicsVector* aVector, void G4EmModelManager::DumpModelList(G4int verb) { - if(verb == 0) return; + if(verb == 0) { return; } for(G4int i=0; iRegion(); @@ -664,13 +645,15 @@ void G4EmModelManager::DumpModelList(G4int verb) G4cout << " ===== EM models for the G4Region " << reg->GetName() << " ======" << G4endl;; for(G4int j=0; jModelIndex(j)]; + G4VEmModel* m = models[r->ModelIndex(j)]; G4cout << std::setw(20); - G4cout << m->GetName() << " : Emin= " - << std::setw(10) << G4BestUnit(r->LowEdgeEnergy(j),"Energy") - << " Emax= " - << G4BestUnit(r->LowEdgeEnergy(j+1),"Energy") - << G4endl; + G4cout << m->GetName() << " : Emin= " + << std::setw(8) << G4BestUnit(r->LowEdgeEnergy(j),"Energy") + << " Emax= " + << std::setw(8) << G4BestUnit(r->LowEdgeEnergy(j+1),"Energy"); + G4VEmAngularDistribution* an = m->GetAngularDistribution(); + if(an) { G4cout << " " << an->GetName(); } + G4cout << G4endl; } } if(1 == nEmModels) break; diff --git a/source/processes/electromagnetic/utils/src/G4EmMultiModel.cc b/source/processes/electromagnetic/utils/src/G4EmMultiModel.cc index d1b9932ca4..d149ae286a 100644 --- a/source/processes/electromagnetic/utils/src/G4EmMultiModel.cc +++ b/source/processes/electromagnetic/utils/src/G4EmMultiModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmMultiModel.cc,v 1.6 2007/05/22 17:31:58 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EmMultiModel.cc,v 1.8 2010/08/17 17:36:59 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -39,13 +39,7 @@ // // Modifications: // 15-04-05 optimize internal interface (V.Ivanchenko) -// - -// Class Description: -// -// Energy loss model using several G4VEmModels - -// ------------------------------------------------------------------- +// 04-07-10 updated interfaces according to g4 9.4 (V.Ivanchenko) // @@ -58,23 +52,24 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4EmMultiModel::G4EmMultiModel(const G4String& nam) - : G4VEmModel(nam), - nModels(0) + : G4VEmModel(nam), nModels(0) { model.clear(); - tsecmin.clear(); cross_section.clear(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4EmMultiModel::~G4EmMultiModel() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4EmMultiModel::AddModel(G4VEmModel* p) { - if(nModels) { - for(G4int i=0; i 0) { + G4cout << "### Initialisation of EM MultiModel " << GetName() + << " including following list of models:" << G4endl; + for(G4int i=0; iGetName(); + (model[i])->SetParticleChange(pParticleChange, GetModelOfFluctuations()); (model[i])->Initialise(p, cuts); } + G4cout << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4EmMultiModel::MinEnergyCut(const G4ParticleDefinition* p, - const G4MaterialCutsCouple* couple) -{ - G4double cut = DBL_MAX; - if(nModels) { - cut = (model[0])->MinEnergyCut(p, couple); - } - return cut; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - G4double G4EmMultiModel::ComputeDEDX(const G4MaterialCutsCouple* couple, const G4ParticleDefinition* p, - G4double kineticEnergy, - G4double cutEnergy) + G4double kineticEnergy, + G4double cutEnergy) { - G4double dedx = 0.0; + SetCurrentCouple(couple); + G4double dedx = 0.0; - if(nModels) { - dedx = (model[0])->ComputeDEDX(couple, p, cutEnergy, kineticEnergy); + if(nModels > 0) { + for(G4int i=0; iComputeDEDX(couple, p, cutEnergy, kineticEnergy); + } } return dedx; @@ -119,20 +110,19 @@ G4double G4EmMultiModel::ComputeDEDX(const G4MaterialCutsCouple* couple, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4EmMultiModel::CrossSection(const G4MaterialCutsCouple* couple, - const G4ParticleDefinition* p, - G4double kineticEnergy, - G4double cutEnergy, - G4double maxKinEnergy) +G4double G4EmMultiModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition* p, + G4double kinEnergy, + G4double Z, + G4double A, + G4double cutEnergy, + G4double maxEnergy) { - G4double cross = 0.0; - G4double t1 = cutEnergy; - G4double t2 = cutEnergy; - if(nModels) { - for(G4int i=0; iCrossSection(couple, p, kineticEnergy, t1, t2); + G4double cross = 0.0; + if(nModels>0) { + for(G4int i=0; iSetCurrentCouple(CurrentCouple()); + cross += (model[i])->ComputeCrossSectionPerAtom(p, kinEnergy, Z, A, + cutEnergy, maxEnergy); } } return cross; @@ -143,31 +133,25 @@ G4double G4EmMultiModel::CrossSection(const G4MaterialCutsCouple* couple, void G4EmMultiModel::SampleSecondaries(std::vector* vdp, const G4MaterialCutsCouple* couple, const G4DynamicParticle* dp, - G4double tmin, + G4double minEnergy, G4double maxEnergy) { + SetCurrentCouple(couple); if(nModels > 0) { G4int i; G4double cross = 0.0; - G4double t1 = tmin; - G4double t2 = tmin; - for(i=0; iCrossSection(couple, dp->GetDefinition(), - dp->GetKineticEnergy(), t1, t2); + for(i=0; iCrossSection(couple, dp->GetParticleDefinition(), + dp->GetKineticEnergy(), minEnergy, maxEnergy); cross_section[i] = cross; } cross *= G4UniformRand(); - t2 = tmin; - for(i=0; iSampleSecondaries(vdp, couple, dp, t1, t2); - break; + (model[i])->SampleSecondaries(vdp, couple, dp, minEnergy, maxEnergy); + return; } } } @@ -175,72 +159,3 @@ void G4EmMultiModel::SampleSecondaries(std::vector* vdp, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4EmMultiModel:: MaxSecondaryEnergy(const G4ParticleDefinition*, - G4double kinEnergy) -{ - G4cout << "Warning! G4EmMultiModel::" - << "MaxSecondaryEnergy(const G4ParticleDefinition*,G4double kinEnergy)" - << " should not be used!" << G4endl; - return kinEnergy; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4EmMultiModel::DefineForRegion(const G4Region* r) -{ - if(nModels) { - for(G4int i=0; iDefineForRegion(r);} - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4EmMultiModel::AddModel(G4VEmModel* p, G4double tmin, G4double tmax) -{ - if(tmin < tmax && 0.0 < tmin) { - - if(nModels == 0) { - tsecmin.push_back(tmin); - tsecmin.push_back(tmax); - cross_section.push_back(0.0); - model.push_back(p); - nModels++; - - } else { - G4int i, j; - G4bool increment = false; - for(i=0; ii; j--) { - model[j] = model[j-1]; - tsecmin[j+1] = tsecmin[j]; - } - model[i] = p; - tsecmin[i+1] = t2; - tsecmin[i] = tmin; - increment = true; - } - } else if(i == nModels-1) { - G4double t1 = std::min(tsecmin[i+1],tmin); - G4double t2 = std::max(tsecmin[i+1],tmax); - if(t1 < t2) { - tsecmin.push_back(t2); - cross_section.push_back(0.0); - model.push_back(p); - increment = true; - } - } - } - if(increment) nModels++; - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - diff --git a/source/processes/electromagnetic/utils/src/G4EmProcessOptions.cc b/source/processes/electromagnetic/utils/src/G4EmProcessOptions.cc index 5c0c7de947..b2eaecb795 100644 --- a/source/processes/electromagnetic/utils/src/G4EmProcessOptions.cc +++ b/source/processes/electromagnetic/utils/src/G4EmProcessOptions.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmProcessOptions.cc,v 1.27 2009/10/29 19:25:28 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmProcessOptions.cc,v 1.30 2010/11/23 19:01:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -59,6 +59,7 @@ #include "G4VMultipleScattering.hh" #include "G4Region.hh" #include "G4RegionStore.hh" +#include "G4VAtomDeexcitation.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -78,27 +79,13 @@ G4EmProcessOptions::~G4EmProcessOptions() void G4EmProcessOptions::SetLossFluctuations(G4bool val) { theManager->SetLossFluctuations(val); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->SetLossFluctuations(val); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4EmProcessOptions::SetSubCutoff(G4bool val, const G4Region* r) { - theManager->SetSubCutoff(val); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->ActivateSubCutoff(val, r); - } + theManager->SetSubCutoff(val, r); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -106,13 +93,6 @@ void G4EmProcessOptions::SetSubCutoff(G4bool val, const G4Region* r) void G4EmProcessOptions::SetIntegral(G4bool val) { theManager->SetIntegral(val); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->SetIntegral(val); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -120,13 +100,6 @@ void G4EmProcessOptions::SetIntegral(G4bool val) void G4EmProcessOptions::SetMinSubRange(G4double val) { theManager->SetMinSubRange(val); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->SetMinSubRange(val); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -134,27 +107,6 @@ void G4EmProcessOptions::SetMinSubRange(G4double val) void G4EmProcessOptions::SetMinEnergy(G4double val) { theManager->SetMinEnergy(val); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->SetMinKinEnergy(val); - } - const std::vector& w = - theManager->GetEmProcessVector(); - std::vector::const_iterator itp; - for(itp = w.begin(); itp != w.end(); itp++) { - G4VEmProcess* q = *itp; - if(q) q->SetMinKinEnergy(val); - } - const std::vector& u = - theManager->GetMultipleScatteringVector(); - std::vector::const_iterator itm; - for(itm = u.begin(); itm != u.end(); itm++) { - G4VMultipleScattering* s = *itm; - if(s) s->SetMinKinEnergy(val); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -162,27 +114,6 @@ void G4EmProcessOptions::SetMinEnergy(G4double val) void G4EmProcessOptions::SetMaxEnergy(G4double val) { theManager->SetMaxEnergy(val); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->SetMaxKinEnergy(val); - } - const std::vector& w = - theManager->GetEmProcessVector(); - std::vector::const_iterator itp; - for(itp = w.begin(); itp != w.end(); itp++) { - G4VEmProcess* q = *itp; - if(q) q->SetMaxKinEnergy(val); - } - const std::vector& u = - theManager->GetMultipleScatteringVector(); - std::vector::const_iterator itm; - for(itm = u.begin(); itm != u.end(); itm++) { - G4VMultipleScattering* s = *itm; - if(s) s->SetMaxKinEnergy(val); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -190,13 +121,6 @@ void G4EmProcessOptions::SetMaxEnergy(G4double val) void G4EmProcessOptions::SetMaxEnergyForCSDARange(G4double val) { theManager->SetMaxEnergyForCSDARange(val); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->SetMaxKinEnergyForCSDARange(val); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -204,38 +128,6 @@ void G4EmProcessOptions::SetMaxEnergyForCSDARange(G4double val) void G4EmProcessOptions::SetMaxEnergyForMuons(G4double val) { theManager->SetMaxEnergyForMuons(val); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) { - if(std::abs(p->Particle()->GetPDGMass() - 105.66*MeV) < MeV) - p->SetMaxKinEnergy(val); - } - } - const std::vector& w = - theManager->GetEmProcessVector(); - std::vector::const_iterator itp; - for(itp = w.begin(); itp != w.end(); itp++) { - G4VEmProcess* q = *itp; - if(q) { - if(std::abs(q->Particle()->GetPDGMass() - 105.66*MeV) < MeV) - q->SetMaxKinEnergy(val); - } - } - /* - const std::vector& u = - theManager->GetMultipleScatteringVector(); - std::vector::const_iterator itm; - for(itm = u.begin(); itm != u.end(); itm++) { - G4VMultipleScattering* s = *itm; - if(s) { - if(std::abs(s->Particle()->GetPDGMass() - 105.66*MeV) < MeV) - s->SetMaxKinEnergy(val); - } - } - */ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -243,13 +135,6 @@ void G4EmProcessOptions::SetMaxEnergyForMuons(G4double val) void G4EmProcessOptions::SetDEDXBinning(G4int val) { theManager->SetDEDXBinning(val); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->SetDEDXBinning(val); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -257,13 +142,6 @@ void G4EmProcessOptions::SetDEDXBinning(G4int val) void G4EmProcessOptions::SetDEDXBinningForCSDARange(G4int val) { theManager->SetDEDXBinningForCSDARange(val); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->SetDEDXBinningForCSDARange(val); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -271,20 +149,6 @@ void G4EmProcessOptions::SetDEDXBinningForCSDARange(G4int val) void G4EmProcessOptions::SetLambdaBinning(G4int val) { theManager->SetLambdaBinning(val); - const std::vector& w = - theManager->GetEmProcessVector(); - std::vector::const_iterator itp; - for(itp = w.begin(); itp != w.end(); itp++) { - G4VEmProcess* q = *itp; - if(q) q->SetLambdaBinning(val); - } - const std::vector& u = - theManager->GetMultipleScatteringVector(); - std::vector::const_iterator itm; - for(itm = u.begin(); itm != u.end(); itm++) { - G4VMultipleScattering* s = *itm; - if(s) s->SetBinning(val); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -292,13 +156,6 @@ void G4EmProcessOptions::SetLambdaBinning(G4int val) void G4EmProcessOptions::SetStepFunction(G4double v1, G4double v2) { theManager->SetStepFunction(v1, v2); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->SetStepFunction(v1, v2); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -306,13 +163,6 @@ void G4EmProcessOptions::SetStepFunction(G4double v1, G4double v2) void G4EmProcessOptions::SetRandomStep(G4bool val) { theManager->SetRandomStep(val); - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->SetRandomStep(val); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -324,7 +174,7 @@ void G4EmProcessOptions::SetApplyCuts(G4bool val) std::vector::const_iterator itp; for(itp = w.begin(); itp != w.end(); itp++) { G4VEmProcess* q = *itp; - if(q) q->SetApplyCuts(val); + if(q) { q->SetApplyCuts(val); } } } @@ -340,18 +190,20 @@ void G4EmProcessOptions::SetBuildCSDARange(G4bool val) void G4EmProcessOptions::SetVerbose(G4int val, const G4String& name) { G4bool all = false; - if("all" == name) all = true; + if("all" == name) { all = true; } const std::vector& v = theManager->GetEnergyLossProcessVector(); - if(all) theManager->SetVerbose(val); + if(all) { + theManager->SetVerbose(val); + return; + } std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { + for(itr = v.begin(); itr != v.end(); ++itr) { G4VEnergyLossProcess* p = *itr; if(p) { - if(all) p->SetVerboseLevel(val); - else if (p->GetProcessName() == name) p->SetVerboseLevel(val); + if (p->GetProcessName() == name) { p->SetVerboseLevel(val); } } } const std::vector& w = @@ -360,8 +212,7 @@ void G4EmProcessOptions::SetVerbose(G4int val, const G4String& name) for(itp = w.begin(); itp != w.end(); itp++) { G4VEmProcess* q = *itp; if(q) { - if(all) q->SetVerboseLevel(val); - else if (q->GetProcessName() == name) q->SetVerboseLevel(val); + if (q->GetProcessName() == name) { q->SetVerboseLevel(val); } } } const std::vector& u = @@ -370,8 +221,7 @@ void G4EmProcessOptions::SetVerbose(G4int val, const G4String& name) for(itm = u.begin(); itm != u.end(); itm++) { G4VMultipleScattering* s = *itm; if(s) { - if(all) s->SetVerboseLevel(val); - else if (s->GetProcessName() == name) s->SetVerboseLevel(val); + if (s->GetProcessName() == name) { s->SetVerboseLevel(val); } } } } @@ -385,9 +235,8 @@ void G4EmProcessOptions::SetLambdaFactor(G4double val) std::vector::const_iterator itr; for(itr = v.begin(); itr != v.end(); itr++) { G4VEnergyLossProcess* p = *itr; - if(p) p->SetLambdaFactor(val); + if(p) { p->SetLambdaFactor(val); } } - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -415,7 +264,7 @@ void G4EmProcessOptions::ActivateDeexcitation(const G4String& pname, for(itr = v.begin(); itr != v.end(); itr++) { G4VEnergyLossProcess* p = *itr; if(p) { - if(pname == p->GetProcessName()) p->ActivateDeexcitation(val,r); + if(pname == p->GetProcessName()) { p->ActivateDeexcitation(val,r); } } } const std::vector& w = @@ -424,13 +273,60 @@ void G4EmProcessOptions::ActivateDeexcitation(const G4String& pname, for(itp = w.begin(); itp != w.end(); itp++) { G4VEmProcess* q = *itp; if(q) { - if(pname == q->GetProcessName()) q->ActivateDeexcitation(val,r); + if(pname == q->GetProcessName()) { q->ActivateDeexcitation(val,r); } } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4EmProcessOptions::SetDeexcitationActive(G4bool val) +{ + G4VAtomDeexcitation* ad = theManager-> AtomDeexcitation(); + if(ad) { ad->SetActive(val); } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void +G4EmProcessOptions::SetDeexcitationActiveRegion(const G4String& rname, + G4bool valDeexcitation, + G4bool valAuger, + G4bool valPIXE) +{ + G4VAtomDeexcitation* ad = theManager-> AtomDeexcitation(); + if(ad) { + ad->SetDeexcitationActiveRegion(rname, valDeexcitation, + valAuger,valPIXE); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4EmProcessOptions::SetAugerActive(G4bool val) +{ + G4VAtomDeexcitation* ad = theManager-> AtomDeexcitation(); + if(ad) { ad->SetAugerActive(val); } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4EmProcessOptions::SetPIXEActive(G4bool val) +{ + G4VAtomDeexcitation* ad = theManager-> AtomDeexcitation(); + if(ad) { ad->SetPIXEActive(val); } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4EmProcessOptions::SetPIXECrossSectionModel(const G4String& mname) +{ + G4VAtomDeexcitation* ad = theManager-> AtomDeexcitation(); + if(ad) { ad->SetPIXECrossSectionModel(mname); } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + void G4EmProcessOptions::SetMscStepLimitation(G4MscStepLimitType val) { const std::vector& u = @@ -449,7 +345,7 @@ void G4EmProcessOptions::SetMscLateralDisplacement(G4bool val) theManager->GetMultipleScatteringVector(); std::vector::const_iterator itm; for(itm = u.begin(); itm != u.end(); itm++) { - if(*itm) (*itm)->SetLateralDisplasmentFlag(val); + if(*itm) { (*itm)->SetLateralDisplasmentFlag(val); } } } @@ -462,9 +358,7 @@ void G4EmProcessOptions::SetSkin(G4double val) theManager->GetMultipleScatteringVector(); std::vector::const_iterator itm; for(itm = u.begin(); itm != u.end(); itm++) { - if(*itm) { - (*itm)->SetSkin(val); - } + if(*itm) { (*itm)->SetSkin(val); } } } @@ -477,7 +371,7 @@ void G4EmProcessOptions::SetMscRangeFactor(G4double val) theManager->GetMultipleScatteringVector(); std::vector::const_iterator itm; for(itm = u.begin(); itm != u.end(); itm++) { - if(*itm) (*itm)->SetRangeFactor(val); + if(*itm) { (*itm)->SetRangeFactor(val); } } } @@ -485,12 +379,12 @@ void G4EmProcessOptions::SetMscRangeFactor(G4double val) void G4EmProcessOptions::SetMscGeomFactor(G4double val) { - if(val < 0.0) return; + if(val < 0.0) { return; } const std::vector& u = theManager->GetMultipleScatteringVector(); std::vector::const_iterator itm; for(itm = u.begin(); itm != u.end(); itm++) { - if(*itm) (*itm)->SetGeomFactor(val); + if(*itm) { (*itm)->SetGeomFactor(val); } } } @@ -502,14 +396,14 @@ void G4EmProcessOptions::SetPolarAngleLimit(G4double val) theManager->GetMultipleScatteringVector(); std::vector::const_iterator itm; for(itm = u.begin(); itm != u.end(); itm++) { - if(*itm) (*itm)->SetPolarAngleLimit(val); + if(*itm) { (*itm)->SetPolarAngleLimit(val); } } const std::vector& w = theManager->GetEmProcessVector(); std::vector::const_iterator itp; for(itp = w.begin(); itp != w.end(); itp++) { G4VEmProcess* q = *itp; - if(q) q->SetPolarAngleLimit(val); + if(q) { q->SetPolarAngleLimit(val); } } } diff --git a/source/processes/electromagnetic/utils/src/G4EmSaturation.cc b/source/processes/electromagnetic/utils/src/G4EmSaturation.cc index dc607de538..73d16454d7 100755 --- a/source/processes/electromagnetic/utils/src/G4EmSaturation.cc +++ b/source/processes/electromagnetic/utils/src/G4EmSaturation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmSaturation.cc,v 1.10 2009/09/25 09:16:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4EmSaturation.cc,v 1.11 2010/10/25 17:23:01 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -58,12 +58,17 @@ G4EmSaturation::G4EmSaturation() { verbose = 1; manager = 0; + curMaterial = 0; - curBirks = 0.0; - curRatio = 1.0; + curBirks = 0.0; + curRatio = 1.0; curChargeSq = 1.0; - nMaterials = 0; + nMaterials = 0; + electron = 0; + proton = 0; + nist = G4NistManager::Instance(); + Initialise(); } @@ -81,7 +86,7 @@ G4double G4EmSaturation::VisibleEnergyDeposition( G4double edep, G4double niel) { - if(edep <= 0.0) return 0.0; + if(edep <= 0.0) { return 0.0; } G4double evis = edep; G4double bfactor = FindBirksCoefficient(couple->GetMaterial()); @@ -108,11 +113,11 @@ G4double G4EmSaturation::VisibleEnergyDeposition( } // continues energy loss - if(eloss > 0.0) eloss /= (1.0 + bfactor*eloss/length); + if(eloss > 0.0) { eloss /= (1.0 + bfactor*eloss/length); } // non-ionizing energy loss if(nloss > 0.0) { - if(!proton) {proton = G4Proton::Proton();} + if(!proton) { proton = G4Proton::Proton(); } G4double escaled = nloss*curRatio; G4double s = manager->GetRange(proton,escaled,couple)/curChargeSq; nloss /= (1.0 + bfactor*nloss/s); @@ -132,7 +137,7 @@ G4double G4EmSaturation::FindG4BirksCoefficient(const G4Material* mat) G4String name = mat->GetName(); // is this material in the vector? - for(G4int j=0; j 0) G4cout << "### G4EmSaturation::FindG4BirksCoefficient for " @@ -151,12 +156,10 @@ G4double G4EmSaturation::FindBirksCoefficient(const G4Material* mat) // electron should exist in any case if(!manager) { manager = G4LossTableManager::Instance(); - nist = G4NistManager::Instance(); electron= G4Electron::Electron(); - proton = 0; } - if(mat == curMaterial) return curBirks; + if(mat == curMaterial) { return curBirks; } curMaterial = mat; curBirks = 0.0; @@ -164,7 +167,7 @@ G4double G4EmSaturation::FindBirksCoefficient(const G4Material* mat) curChargeSq = 1.0; // seach in the run-time list - for(G4int i=0; iGetIonisation()->GetBirksConstant(); curRatio = massFactors[i]; @@ -179,7 +182,7 @@ G4double G4EmSaturation::FindBirksCoefficient(const G4Material* mat) // material has no Birks coeffitient defined // seach in the Geant4 list if(curBirks == 0.0) { - for(G4int j=0; jGetIonisation()->SetBirksConstant(g4MatData[j]); curBirks = g4MatData[j]; @@ -200,7 +203,7 @@ G4double G4EmSaturation::FindBirksCoefficient(const G4Material* mat) const G4ElementVector* theElementVector = mat->GetElementVector(); const G4double* theAtomNumDensityVector = mat->GetVecNbOfAtomsPerVolume(); size_t nelm = mat->GetNumberOfElements(); - for (size_t i=0; iGetZ(); G4double w = Z*Z*theAtomNumDensityVector[i]; @@ -230,7 +233,7 @@ void G4EmSaturation::DumpBirksCoefficients() { if(nMaterials > 0) { G4cout << "### Birks coeffitients used in run time" << G4endl; - for(G4int i=0; iGetIonisation()->GetBirksConstant(); G4cout << " " << matNames[i] << " " << br*MeV/mm << " mm/MeV" << " " @@ -247,7 +250,7 @@ void G4EmSaturation::DumpG4BirksCoefficients() { if(nG4Birks > 0) { G4cout << "### Birks coeffitients for Geant4 materials" << G4endl; - for(G4int i=0; iSetDefaultValue(false); aplCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + deCmd = new G4UIcmdWithABool("/process/em/fluo",this); + deCmd->SetGuidance("The flag to enable/disable deexcitation"); + deCmd->SetParameterName("fluoFlag",true); + deCmd->SetDefaultValue(false); + deCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + auCmd = new G4UIcmdWithABool("/process/em/auger",this); + auCmd->SetGuidance("The flag to enable/disable Auger electrons"); + auCmd->SetParameterName("augerFlag",true); + auCmd->SetDefaultValue(false); + auCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + pixeCmd = new G4UIcmdWithABool("/process/em/pixe",this); + pixeCmd->SetGuidance("The flag to enable/disable PIXE"); + pixeCmd->SetParameterName("pixeFlag",true); + pixeCmd->SetDefaultValue(false); + pixeCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + pixeXsCmd = new G4UIcmdWithAString("/process/em/pixeXSmodel",this); + pixeXsCmd->SetGuidance("The name of PIXE cross section"); + pixeXsCmd->SetParameterName("pixeXS",true); + pixeXsCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + deexCmd = new G4UIcommand("/process/em/deexcitation",this); - deexCmd->SetGuidance("Set deexcitation flag per process and G4Region."); - deexCmd->SetGuidance(" procName : process name"); - deexCmd->SetGuidance(" flag : flag"); + deexCmd->SetGuidance("Set deexcitation flags per G4Region."); deexCmd->SetGuidance(" regName : G4Region name"); - - G4UIparameter* pName = new G4UIparameter("pName",'s',false); - deexCmd->SetParameter(pName); - - G4UIparameter* flag = new G4UIparameter("flag",'s',false); - deexCmd->SetParameter(flag); + deexCmd->SetGuidance(" flagFluo : Fluorescence"); + deexCmd->SetGuidance(" flagAuger : Auger"); + deexCmd->SetGuidance(" flagPIXE : PIXE"); G4UIparameter* regName = new G4UIparameter("regName",'s',false); deexCmd->SetParameter(regName); + G4UIparameter* flagFluo = new G4UIparameter("flagFluo",'b',false); + deexCmd->SetParameter(flagFluo); + + G4UIparameter* flagAuger = new G4UIparameter("flagAuger",'b',false); + deexCmd->SetParameter(flagAuger); + + G4UIparameter* flagPIXE = new G4UIparameter("flagPIXE",'b',false); + deexCmd->SetParameter(flagPIXE); + dedxCmd = new G4UIcmdWithAnInteger("/process/eLoss/binsDEDX",this); dedxCmd->SetGuidance("Set number of bins for DEDX tables"); dedxCmd->SetParameterName("binsDEDX",true); @@ -296,6 +323,10 @@ G4EnergyLossMessenger::~G4EnergyLossMessenger() delete ver1Cmd; delete mscCmd; delete dedxCmd; + delete deCmd; + delete auCmd; + delete pixeCmd; + delete pixeXsCmd; delete frCmd; delete fgCmd; delete lllCmd; @@ -315,24 +346,24 @@ void G4EnergyLossMessenger::SetNewValue(G4UIcommand* command,G4String newValue) if (command == RndmStepCmd) { G4VEnergyLoss::SetRndmStep(RndmStepCmd->GetNewBoolValue(newValue)); opt->SetRandomStep(RndmStepCmd->GetNewBoolValue(newValue)); + return; } - if (command == EnlossFlucCmd) { G4VEnergyLoss::SetEnlossFluc(EnlossFlucCmd->GetNewBoolValue(newValue)); opt->SetLossFluctuations(EnlossFlucCmd->GetNewBoolValue(newValue)); + return; } - if (command == SubSecCmd) { G4VEnergyLoss::SetSubSec(SubSecCmd->GetNewBoolValue(newValue)); opt->SetSubCutoff(SubSecCmd->GetNewBoolValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } - if (command == MinSubSecCmd) { opt->SetMinSubRange(MinSubSecCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } - if (command == StepFuncCmd) { G4double v1,v2; G4String unt; @@ -341,17 +372,35 @@ void G4EnergyLossMessenger::SetNewValue(G4UIcommand* command,G4String newValue) v2 *= G4UIcommand::ValueOf(unt); G4VEnergyLoss::SetStepFunction(v1,v2); opt->SetStepFunction(v1,v2); + return; } - if (command == deexCmd) { - G4String s1 (""), s2(""), s3(""); - G4bool b = false; + G4String s1 (""), s2(""), s3(""), s4(""); + G4bool b2(false), b3(false), b4(false); std::istringstream is(newValue); - is >> s1 >> s2 >> s3; - if(s2 == "true") b = true; - opt->ActivateDeexcitation(s1,b,s3); + is >> s1 >> s2 >> s3 >> s4; + if(s2 == "true") { b2 = true; } + if(s3 == "true") { b3 = true; } + if(s4 == "true") { b4 = true; } + opt->SetDeexcitationActiveRegion(s1,b2,b3,b4); + return; + } + if (command == deCmd) { + opt->SetDeexcitationActive(deCmd->GetNewBoolValue(newValue)); + return; + } + if (command == auCmd) { + opt->SetAugerActive(auCmd->GetNewBoolValue(newValue)); + return; + } + if (command == pixeCmd) { + opt->SetPIXEActive(pixeCmd->GetNewBoolValue(newValue)); + return; + } + if (command == pixeXsCmd) { + opt->SetPIXECrossSectionModel(newValue); + return; } - if (command == mscCmd) { if(newValue == "Minimal") opt->SetMscStepLimitation(fMinimal); @@ -368,80 +417,91 @@ void G4EnergyLossMessenger::SetNewValue(G4UIcommand* command,G4String newValue) return; } G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } - if (command == MinEnCmd) { opt->SetMinEnergy(MinEnCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } - if (command == MaxEnCmd) { opt->SetMaxEnergy(MaxEnCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } - if (command == IntegCmd) { opt->SetIntegral(IntegCmd->GetNewBoolValue(newValue)); + return; } if (command == rangeCmd) { opt->SetBuildCSDARange(rangeCmd->GetNewBoolValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } - if (command == lpmCmd) { opt->SetLPMFlag(lpmCmd->GetNewBoolValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } - if (command == splCmd) { opt->SetSplineFlag(splCmd->GetNewBoolValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } - if (command == aplCmd) { opt->SetApplyCuts(aplCmd->GetNewBoolValue(newValue)); + return; } - if (command == latCmd) { opt->SetMscLateralDisplacement(latCmd->GetNewBoolValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } - if (command == verCmd) { opt->SetVerbose(verCmd->GetNewIntValue(newValue)); + return; } if (command == ver1Cmd) { opt->SetVerbose(ver1Cmd->GetNewIntValue(newValue)); + return; } if (command == lllCmd) { opt->SetLinearLossLimit(lllCmd->GetNewDoubleValue(newValue)); + return; } if (command == labCmd) { opt->SetLambdaFactor(labCmd->GetNewDoubleValue(newValue)); + return; } if (command == skinCmd) { opt->SetSkin(skinCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } if (command == dedxCmd) { opt->SetDEDXBinning(dedxCmd->GetNewIntValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } if (command == lamCmd) { opt->SetLambdaBinning(lamCmd->GetNewIntValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } if (command == frCmd) { opt->SetMscRangeFactor(frCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } if (command == fgCmd) { opt->SetMscGeomFactor(fgCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } if (command == mscfCmd) { opt->SetFactorForAngleLimit(mscfCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + return; } if (command == angCmd) { opt->SetPolarAngleLimit(angCmd->GetNewDoubleValue(newValue)); diff --git a/source/processes/electromagnetic/utils/src/G4LossTableManager.cc b/source/processes/electromagnetic/utils/src/G4LossTableManager.cc index d6f4ed2dff..496d265252 100644 --- a/source/processes/electromagnetic/utils/src/G4LossTableManager.cc +++ b/source/processes/electromagnetic/utils/src/G4LossTableManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4LossTableManager.cc,v 1.97 2009/10/29 19:25:28 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4LossTableManager.cc,v 1.105 2010/11/04 12:55:09 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -69,7 +69,8 @@ // left ionisation table for further usage (VI) // 12-02-07 Add SetSkin, SetLinearLossLimit (V.Ivanchenko) // 18-06-07 Move definition of msc parameters to G4EmProcessOptions (V.Ivanchenko) -// 21-02-08 Add G4EmSaturation (V.Ivanchenko) +// 21-02-08 Added G4EmSaturation (V.Ivanchenko) +// 12-04-10 Added PreparePhsyicsTables and BuildPhysicsTables entries (V.Ivanchenko) // // Class Description: // @@ -93,8 +94,11 @@ #include "G4EmCorrections.hh" #include "G4EmSaturation.hh" #include "G4EmConfigurator.hh" +#include "G4ElectronIonPair.hh" #include "G4EmTableType.hh" #include "G4LossTableBuilder.hh" +#include "G4VAtomDeexcitation.hh" +#include "G4Region.hh" G4LossTableManager* G4LossTableManager::theInstance = 0; @@ -113,30 +117,33 @@ G4LossTableManager* G4LossTableManager::Instance() G4LossTableManager::~G4LossTableManager() { - for (G4int i=0; iSetSplineFlag(splineFlag); + atomDeexcitation = 0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... @@ -206,7 +217,7 @@ void G4LossTableManager::Clear() void G4LossTableManager::Register(G4VEnergyLossProcess* p) { - n_loss++; + ++n_loss; loss_vector.push_back(p); part_vector.push_back(0); base_part_vector.push_back(0); @@ -216,13 +227,13 @@ void G4LossTableManager::Register(G4VEnergyLossProcess* p) tables_are_built.push_back(false); isActive.push_back(true); all_tables_are_built = false; - if(!lossFluctuationFlag) p->SetLossFluctuations(false); - if(subCutoffFlag) p->ActivateSubCutoff(true); - if(rndmStepFlag) p->SetRandomStep(true); - if(stepFunctionActive) p->SetStepFunction(maxRangeVariation, maxFinalStep); - if(integralActive) p->SetIntegral(integral); - if(minEnergyActive) p->SetMinKinEnergy(minKinEnergy); - if(maxEnergyActive) p->SetMaxKinEnergy(maxKinEnergy); + if(!lossFluctuationFlag) { p->SetLossFluctuations(false); } + if(subCutoffFlag) { p->ActivateSubCutoff(true); } + if(rndmStepFlag) { p->SetRandomStep(true); } + if(stepFunctionActive) { p->SetStepFunction(maxRangeVariation, maxFinalStep); } + if(integralActive) { p->SetIntegral(integral); } + if(minEnergyActive) { p->SetMinKinEnergy(minKinEnergy); } + if(maxEnergyActive) { p->SetMaxKinEnergy(maxKinEnergy); } if(verbose > 1) G4cout << "G4LossTableManager::Register G4VEnergyLossProcess : " << p->GetProcessName() << G4endl; @@ -232,8 +243,8 @@ void G4LossTableManager::Register(G4VEnergyLossProcess* p) void G4LossTableManager::DeRegister(G4VEnergyLossProcess* p) { - for (G4int i=0; iBaseParticle()); @@ -348,65 +359,25 @@ void G4LossTableManager::RegisterExtraParticle( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -void G4LossTableManager::EnergyLossProcessIsInitialised( - const G4ParticleDefinition* particle, - G4VEnergyLossProcess* p) +void +G4LossTableManager::PreparePhysicsTable(const G4ParticleDefinition* particle, + G4VEnergyLossProcess* p) { - if (run == 0 || (particle == firstParticle && all_tables_are_built) ) { - all_tables_are_built = true; - - if(1 < verbose) - G4cout << "### G4LossTableManager start initilisation of tables" - << G4endl; - for (G4int i=0; iGetProcessManager(); - isActive[i] = pm->GetProcessActivation(el); - tables_are_built[i] = false; - all_tables_are_built = false; - if(!isActive[i]) el->SetIonisation(false); - - if(1 < verbose) { - G4cout << i <<". "<< el->GetProcessName() - << " for " << pm->GetParticleType()->GetParticleName() - << " active= " << pm->GetProcessActivation(el) - << " table= " << tables_are_built[i] - << " isIonisation= " << el->IsIonisationProcess() - << G4endl; - } - } else { - tables_are_built[i] = true; - part_vector[i] = 0; - } - } - if (0 == run) firstParticle = particle; - run++; + if (1 < verbose) { + G4cout << "G4LossTableManager::PreparePhysicsTable for " + << particle->GetParticleName() + << " and " << p->GetProcessName() << " run= " << run << G4endl; } + // start initialisation for the first run + startInitialisation = true; - currentParticle = 0; + if( 0 == run ) { + emConfigurator->PrepareModels(particle, p); - SetParameters(p); - for (G4int j=0; jBaseParticle(); - } - if(maxEnergyForMuonsActive) { - G4double dm = std::abs(particle->GetPDGMass() - 105.7*MeV); - if(dm < 5.*MeV) p->SetMaxKinEnergy(maxKinEnergyForMuons); - } - - if(1 < verbose) { - G4cout << "For " << p->GetProcessName() - << " for " << part_vector[j]->GetParticleName() - << " tables_are_built= " << tables_are_built[j] - << " procFlag= " << loss_vector[j]->TablesAreBuilt() - << " all_tables_are_built= " << all_tables_are_built - << G4endl; + // initialise particles for given process + for (G4int j=0; jGetParticleName() + << " and " << p->GetProcessName() << G4endl; + } + // start initialisation for the first run + if( 0 == run ) { + emConfigurator->PrepareModels(particle, p); + } + startInitialisation = true; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -void G4LossTableManager::ParticleHaveNoLoss( - const G4ParticleDefinition* aParticle) +void +G4LossTableManager::PreparePhysicsTable(const G4ParticleDefinition* particle, + G4VMultipleScattering* p) { - G4String s = " dE/dx table not found for " - + aParticle->GetParticleName() + " !"; - G4Exception("G4LossTableManager::ParticleHaveNoLoss", "EM01", - FatalException, s); - + if (1 < verbose) { + G4cout << "G4LossTableManager::PreparePhysicsTable for " + << particle->GetParticleName() + << " and " << p->GetProcessName() << G4endl; + } + // start initialisation for the first run + if( 0 == run ) { + emConfigurator->PrepareModels(particle, p); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -G4bool G4LossTableManager::BuildCSDARange() const +void +G4LossTableManager::BuildPhysicsTable(const G4ParticleDefinition*) { - return buildCSDARange; + if(0 == run && startInitialisation) { + emConfigurator->Clear(); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... @@ -450,31 +440,86 @@ void G4LossTableManager::BuildPhysicsTable( << " and process " << p->GetProcessName() << G4endl; } - if (all_tables_are_built) return; - all_tables_are_built = true; + // clear configurator + if(0 == run && startInitialisation) { + emConfigurator->Clear(); + firstParticle = aParticle; + } + if(startInitialisation && atomDeexcitation) { + atomDeexcitation->InitialiseAtomicDeexcitation(); + } + startInitialisation = false; - for(G4int i=0; iGetParticleName() + << G4endl; } + for (G4int i=0; iGetProcessManager(); + isActive[i] = pm->GetProcessActivation(el); + if(0 == run) { base_part_vector[i] = el->BaseParticle(); } + tables_are_built[i] = false; + all_tables_are_built= false; + if(!isActive[i]) { el->SetIonisation(false); } + + if(1 < verbose) { + G4cout << i <<". "<< el->GetProcessName() + << " for " << pm->GetParticleType()->GetParticleName() + << " active= " << pm->GetProcessActivation(el) + << " table= " << tables_are_built[i] + << " isIonisation= " << el->IsIonisationProcess(); + if(base_part_vector[i]) { + G4cout << " base particle " << base_part_vector[i]->GetParticleName(); + } + G4cout << G4endl; + } + } else { + tables_are_built[i] = true; + part_vector[i] = 0; + } + } + ++run; + currentParticle = 0; } - for (G4int ii=0; iiGetProcessName() + << " and " << curr_part->GetParticleName() + << " start BuildTable " << G4endl; + } + G4VEnergyLossProcess* curr_proc = BuildTables(curr_part); + if(curr_proc) { CopyTables(curr_part, curr_proc); } } + if ( !tables_are_built[i] ) { all_tables_are_built = false; } } if(1 < verbose) { G4cout << "### G4LossTableManager::BuildDEDXTable end: " << "all_tables_are_built= " << all_tables_are_built << G4endl; - - if(all_tables_are_built) + + if(all_tables_are_built) { G4cout << "### All dEdx and Range tables are built #####" << G4endl; + } } } @@ -483,11 +528,11 @@ void G4LossTableManager::BuildPhysicsTable( void G4LossTableManager::CopyTables(const G4ParticleDefinition* part, G4VEnergyLossProcess* base_proc) { - for (G4int j=0; jParticle() == part) - tables_are_built[j] = true; + //if(proc == base_proc || proc->Particle() == part) + // tables_are_built[j] = true; if (!tables_are_built[j] && part == base_part_vector[j]) { tables_are_built[j] = true; @@ -510,8 +555,9 @@ void G4LossTableManager::CopyTables(const G4ParticleDefinition* part, } } - if (theElectron == part && theElectron == proc->SecondaryParticle() ) + if (theElectron == part && theElectron == proc->SecondaryParticle() ) { proc->SetSecondaryRangeTable(base_proc->RangeTableForLoss()); + } } } @@ -534,7 +580,7 @@ G4VEnergyLossProcess* G4LossTableManager::BuildTables( G4PhysicsTable* dedx = 0; G4int i; - for (i=0; iIsIonisationProcess() && isActive[i]) || @@ -553,7 +599,7 @@ G4VEnergyLossProcess* G4LossTableManager::BuildTables( } G4int n_dedx = t_list.size(); - if (!n_dedx) { + if (0 == n_dedx || !em) { G4cout << "G4LossTableManager WARNING: no DEDX processes for " << aParticle->GetParticleName() << G4endl; return 0; @@ -601,7 +647,7 @@ G4VEnergyLossProcess* G4LossTableManager::BuildTables( std::vector listSub; std::vector listCSDA; - for (i=0; iSetIonisation(false); p->SetLambdaTable(p->BuildLambdaTable(fRestricted)); @@ -657,21 +703,47 @@ G4VEnergyLossProcess* G4LossTableManager::BuildTables( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +G4EnergyLossMessenger* G4LossTableManager::GetMessenger() +{ + return theMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +void G4LossTableManager::ParticleHaveNoLoss( + const G4ParticleDefinition* aParticle) +{ + G4String s = " dE/dx table not found for " + + aParticle->GetParticleName() + " !"; + G4Exception("G4LossTableManager::ParticleHaveNoLoss", "EM01", + FatalException, s); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +G4bool G4LossTableManager::BuildCSDARange() const +{ + return buildCSDARange; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void G4LossTableManager::SetLossFluctuations(G4bool val) { lossFluctuationFlag = val; - for(G4int i=0; iSetLossFluctuations(val); + for(G4int i=0; iSetLossFluctuations(val); } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -void G4LossTableManager::SetSubCutoff(G4bool val) +void G4LossTableManager::SetSubCutoff(G4bool val, const G4Region* r) { subCutoffFlag = val; - for(G4int i=0; iActivateSubCutoff(val); + for(G4int i=0; iActivateSubCutoff(val, r); } } } @@ -681,12 +753,12 @@ void G4LossTableManager::SetIntegral(G4bool val) { integral = val; integralActive = true; - for(G4int i=0; iSetIntegral(val); + for(G4int i=0; iSetIntegral(val); } } size_t emp = emp_vector.size(); - for (size_t k=0; kSetIntegral(val); + for (size_t k=0; kSetIntegral(val); } } } @@ -695,8 +767,8 @@ void G4LossTableManager::SetIntegral(G4bool val) void G4LossTableManager::SetMinSubRange(G4double val) { minSubRange = val; - for(G4int i=0; iSetMinSubRange(val); + for(G4int i=0; iSetMinSubRange(val); } } } @@ -705,8 +777,8 @@ void G4LossTableManager::SetMinSubRange(G4double val) void G4LossTableManager::SetRandomStep(G4bool val) { rndmStepFlag = val; - for(G4int i=0; iSetRandomStep(val); + for(G4int i=0; iSetRandomStep(val); } } } @@ -716,16 +788,16 @@ void G4LossTableManager::SetMinEnergy(G4double val) { minEnergyActive = true; minKinEnergy = val; - for(G4int i=0; iSetMinKinEnergy(val); + for(G4int i=0; iSetMinKinEnergy(val); } } size_t msc = msc_vector.size(); - for (size_t j=0; jSetMinKinEnergy(val); + for (size_t j=0; jSetMinKinEnergy(val); } } size_t emp = emp_vector.size(); - for (size_t k=0; kSetMinKinEnergy(val); + for (size_t k=0; kSetMinKinEnergy(val); } } } @@ -735,16 +807,16 @@ void G4LossTableManager::SetMaxEnergy(G4double val) { maxEnergyActive = true; maxKinEnergy = val; - for(G4int i=0; iSetMaxKinEnergy(val); + for(G4int i=0; iSetMaxKinEnergy(val); } } size_t msc = msc_vector.size(); - for (size_t j=0; jSetMaxKinEnergy(val); + for (size_t j=0; jSetMaxKinEnergy(val); } } size_t emp = emp_vector.size(); - for (size_t k=0; kSetMaxKinEnergy(val); + for (size_t k=0; kSetMaxKinEnergy(val); } } } @@ -752,8 +824,8 @@ void G4LossTableManager::SetMaxEnergy(G4double val) void G4LossTableManager::SetMaxEnergyForCSDARange(G4double val) { - for(G4int i=0; iSetMaxKinEnergyForCSDARange(val); + for(G4int i=0; iSetMaxKinEnergyForCSDARange(val); } } } @@ -769,8 +841,8 @@ void G4LossTableManager::SetMaxEnergyForMuons(G4double val) void G4LossTableManager::SetDEDXBinning(G4int val) { - for(G4int i=0; iSetDEDXBinning(val); + for(G4int i=0; iSetDEDXBinning(val); } } } @@ -778,8 +850,8 @@ void G4LossTableManager::SetDEDXBinning(G4int val) void G4LossTableManager::SetDEDXBinningForCSDARange(G4int val) { - for(G4int i=0; iSetDEDXBinningForCSDARange(val); + for(G4int i=0; iSetDEDXBinningForCSDARange(val); } } } @@ -787,32 +859,54 @@ void G4LossTableManager::SetDEDXBinningForCSDARange(G4int val) void G4LossTableManager::SetLambdaBinning(G4int val) { + G4int n = val/G4int(std::log10(maxKinEnergy/minKinEnergy)); + if(n < 5) { + G4cout << "G4LossTableManager::SetLambdaBinning WARNING " + << "too small number of bins " << val << " ignored" + << G4endl; + return; + } + nbinsLambda = val; + nbinsPerDecade = n; size_t msc = msc_vector.size(); - for (size_t j=0; jSetBinning(val); + for (size_t j=0; jSetBinning(val); } } size_t emp = emp_vector.size(); - for (size_t k=0; kSetLambdaBinning(val); + for (size_t k=0; kSetLambdaBinning(val); } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +G4int G4LossTableManager::GetNumberOfBinsPerDecade() const +{ + return nbinsPerDecade; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void G4LossTableManager::SetVerbose(G4int val) { verbose = val; - for(G4int i=0; iSetVerboseLevel(val); + for(G4int i=0; iSetVerboseLevel(val); } } size_t msc = msc_vector.size(); - for (size_t j=0; jSetVerboseLevel(val); + for (size_t j=0; jSetVerboseLevel(val); } } size_t emp = emp_vector.size(); - for (size_t k=0; kSetVerboseLevel(val); + for (size_t k=0; kSetVerboseLevel(val); } } + emConfigurator->SetVerbose(val); + //tableBuilder->SetVerbose(val); + //emCorrections->SetVerbose(val); + emSaturation->SetVerbose(val); + emElectronIonPair->SetVerbose(val); + if(atomDeexcitation) { atomDeexcitation->SetVerboseLevel(val); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... @@ -822,8 +916,8 @@ void G4LossTableManager::SetStepFunction(G4double v1, G4double v2) stepFunctionActive = true; maxRangeVariation = v1; maxFinalStep = v2; - for(G4int i=0; iSetStepFunction(v1, v2); + for(G4int i=0; iSetStepFunction(v1, v2); } } } @@ -831,8 +925,8 @@ void G4LossTableManager::SetStepFunction(G4double v1, G4double v2) void G4LossTableManager::SetLinearLossLimit(G4double val) { - for(G4int i=0; iSetLinearLossLimit(val); + for(G4int i=0; iSetLinearLossLimit(val); } } } @@ -845,19 +939,25 @@ void G4LossTableManager::SetBuildCSDARange(G4bool val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -void G4LossTableManager::SetParameters(G4VEnergyLossProcess* p) +void +G4LossTableManager::SetParameters(const G4ParticleDefinition* aParticle, + G4VEnergyLossProcess* p) { - if(stepFunctionActive) p->SetStepFunction(maxRangeVariation, maxFinalStep); - if(integralActive) p->SetIntegral(integral); - if(minEnergyActive) p->SetMinKinEnergy(minKinEnergy); - if(maxEnergyActive) p->SetMaxKinEnergy(maxKinEnergy); + if(stepFunctionActive) { p->SetStepFunction(maxRangeVariation, maxFinalStep); } + if(integralActive) { p->SetIntegral(integral); } + if(minEnergyActive) { p->SetMinKinEnergy(minKinEnergy); } + if(maxEnergyActive) { p->SetMaxKinEnergy(maxKinEnergy); } p->SetVerboseLevel(verbose); + if(maxEnergyForMuonsActive) { + G4double dm = std::abs(aParticle->GetPDGMass() - 105.7*MeV); + if(dm < 5.*MeV) { p->SetMaxKinEnergy(maxKinEnergyForMuons); } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... const std::vector& - G4LossTableManager::GetEnergyLossProcessVector() +G4LossTableManager::GetEnergyLossProcessVector() { return loss_vector; } @@ -872,7 +972,7 @@ const std::vector& G4LossTableManager::GetEmProcessVector() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... const std::vector& - G4LossTableManager::GetMultipleScatteringVector() +G4LossTableManager::GetMultipleScatteringVector() { return msc_vector; } @@ -924,7 +1024,7 @@ G4double G4LossTableManager::BremsstrahlungTh() const void G4LossTableManager::SetFactorForAngleLimit(G4double val) { - if(val > 0.0) factorForAngleLimit = val; + if(val > 0.0) { factorForAngleLimit = val; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -955,4 +1055,24 @@ G4EmConfigurator* G4LossTableManager::EmConfigurator() return emConfigurator; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4ElectronIonPair* G4LossTableManager::ElectronIonPair() +{ + return emElectronIonPair; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4VAtomDeexcitation* G4LossTableManager::AtomDeexcitation() +{ + return atomDeexcitation; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4LossTableManager::SetAtomDeexcitation(G4VAtomDeexcitation* p) +{ + atomDeexcitation = p; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/src/G4VAtomDeexcitation.cc b/source/processes/electromagnetic/utils/src/G4VAtomDeexcitation.cc new file mode 100755 index 0000000000..0a728bf38d --- /dev/null +++ b/source/processes/electromagnetic/utils/src/G4VAtomDeexcitation.cc @@ -0,0 +1,276 @@ +// +// ******************************************************************** +// * 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: G4VAtomDeexcitation.cc,v 1.7 2010/11/22 18:18:08 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class class file +// +// +// File name: G4VAtomDeexcitation +// +// Author: Alfonso Mantero & Vladimir Ivanchenko +// +// Creation date: 21.04.2010 +// +// Modifications: +// +// Class Description: +// +// Abstract interface to energy loss models + +// ------------------------------------------------------------------- +// + +#include "G4VAtomDeexcitation.hh" +#include "G4ParticleDefinition.hh" +#include "G4DynamicParticle.hh" +#include "G4Step.hh" +#include "G4Region.hh" +#include "G4RegionStore.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4Material.hh" +#include "G4Element.hh" +#include "G4ElementVector.hh" +#include "Randomize.hh" +#include "G4VParticleChange.hh" + +G4VAtomDeexcitation::G4VAtomDeexcitation(const G4String& modname, + const G4String& pname) + : lowestKinEnergy(keV), verbose(1), name(modname), namePIXE(pname), + isActive(false), flagAuger(false), flagPIXE(false) +{ + vdyn.reserve(5); + secVect.reserve(5); + theCoupleTable = 0; + SetDeexcitationActiveRegion("World"); +} + +G4VAtomDeexcitation::~G4VAtomDeexcitation() +{} + +void G4VAtomDeexcitation::InitialiseAtomicDeexcitation() +{ + // Define list of couples + theCoupleTable = G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + activeDeexcitationMedia.resize(numOfCouples, false); + activeAugerMedia.resize(numOfCouples, false); + activePIXEMedia.resize(numOfCouples, false); + activeZ.resize(93, false); + + // check if deexcitation is active for the given run + if( !isActive ) { return; } + + // Define list of regions + size_t nRegions = activeRegions.size(); + + // There is no active regions + if(0 == nRegions) { return; } + + if(0 < verbose) { + G4cout << G4endl; + G4cout << "### === Deexcitation model " << name + << " is activated for regions:" << G4endl; + } + + // Identify active media + G4RegionStore* regionStore = G4RegionStore::GetInstance(); + for(size_t j=0; jGetRegion(activeRegions[j], false); + const G4ProductionCuts* rpcuts = reg->GetProductionCuts(); + if(0 < verbose) { + G4cout << " " << activeRegions[j] << G4endl; + } + + for(size_t i=0; iGetMaterialCutsCouple(i); + if (couple->GetProductionCuts() == rpcuts) { + activeDeexcitationMedia[i] = deRegions[j]; + activeAugerMedia[i] = AugerRegions[j]; + activePIXEMedia[i] = PIXERegions[j]; + const G4Material* mat = couple->GetMaterial(); + const G4ElementVector* theElementVector = + mat->GetElementVector(); + G4int nelm = mat->GetNumberOfElements(); + if(deRegions[j]) { + for(G4int k=0; kGetZ(); + if(Z > 5) { activeZ[Z] = true; } + } + } + } + } + } + } + + // Initialise derived class + InitialiseForNewRun(); + + if(0 < verbose && flagPIXE) { + G4cout << "### === PIXE model: " << namePIXE + << " " << IsPIXEActive() + << G4endl; + } +} + +void +G4VAtomDeexcitation::SetDeexcitationActiveRegion(const G4String& rname, + G4bool valDeexcitation, + G4bool valAuger, + G4bool valPIXE) +{ + G4String s = rname; + if(s == "world" || s == "World" || s == "WORLD") { + s = "DefaultRegionForTheWorld"; + } + size_t n = activeRegions.size(); + if(n > 0) { + for(size_t i=0; iGetPosition(); + G4ThreeVector delta = step.GetPostStepPoint()->GetPosition() - prePos; + G4double preTime = preStep->GetGlobalTime(); + G4double dt = step.GetPostStepPoint()->GetGlobalTime() - preTime; + G4double truelength = step.GetStepLength(); + + // particle parameters + const G4Track* track = step.GetTrack(); + const G4ParticleDefinition* part = track->GetDefinition(); + G4double ekin = preStep->GetKineticEnergy() - 0.5*eLoss; + if(ekin <= lowestKinEnergy) { return; } + + // media parameters + G4double gCut = (*(theCoupleTable->GetEnergyCutsVector(0)))[coupleIndex]; + G4double eCut = DBL_MAX; + if(flagAuger && CheckAugerActiveRegion(coupleIndex)) { + eCut = (*(theCoupleTable->GetEnergyCutsVector(1)))[coupleIndex]; + } + + const G4Material* material = preStep->GetMaterial(); + const G4ElementVector* theElementVector = material->GetElementVector(); + const G4double* theAtomNumDensityVector = material->GetVecNbOfAtomsPerVolume(); + G4int nelm = material->GetNumberOfElements(); + + //G4cout<<"!Sample PIXE gCut(MeV)= "<DeRegister(this); G4int n = elmSelectors.size(); if(n > 0) { - for(G4int i=0; iSplineFlag(); - G4int nbins = G4int(std::log10(highLimit/lowLimit) + 0.5); - if(nbins < 3) nbins = 3; - G4bool spline = G4LossTableManager::Instance()->SplineFlag(); + // two times less bins because probability functon is normalized + // so correspondingly is more smooth + G4int nbins = (man->GetNumberOfBinsPerDecade()/3)* + G4int(std::log10(highLimit/lowLimit) + 0.5); + if(nbins < 5) { nbins = 5; } G4ProductionCutsTable* theCoupleTable= G4ProductionCutsTable::GetProductionCutsTable(); G4int numOfCouples = theCoupleTable->GetTableSize(); // prepare vector - if(numOfCouples > nSelectors) elmSelectors.reserve(numOfCouples); + if(numOfCouples > nSelectors) { + elmSelectors.reserve(numOfCouples); + for(G4int i=nSelectors; iGetMaterialCutsCouple(i); const G4Material* material = currentCouple->GetMaterial(); G4int idx = currentCouple->GetIndex(); // selector already exist check if should be deleted G4bool create = true; - if(i < nSelectors) { - if(elmSelectors[i]) { - if(material == elmSelectors[i]->GetMaterial()) create = false; - else delete elmSelectors[i]; - } - } else { - nSelectors++; - elmSelectors.push_back(0); + if(elmSelectors[i]) { + if(material == elmSelectors[i]->GetMaterial()) { create = false; } + else { delete elmSelectors[i]; } } if(create) { elmSelectors[i] = new G4EmElementSelector(this,material,nbins, @@ -194,6 +198,30 @@ G4double G4VEmModel::CrossSectionPerVolume(const G4Material* material, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +const G4Element* G4VEmModel::SelectRandomAtom(const G4Material* material, + const G4ParticleDefinition* pd, + G4double kinEnergy, + G4double tcut, + G4double tmax) +{ + const G4ElementVector* theElementVector = material->GetElementVector(); + G4int n = material->GetNumberOfElements() - 1; + currentElement = (*theElementVector)[n]; + if (n > 0) { + G4double x = G4UniformRand()* + G4VEmModel::CrossSectionPerVolume(material,pd,kinEnergy,tcut,tmax); + for(G4int i=0; i
    =" << fANucl; - G4cout << G4endl; - } -#endif -} - - -void G4Mars5GeV::Treem5() -{ - - // G4double pMass = incidentParticle->GetDefinition()->GetPDGMass(); - G4double pE = incidentParticle->GetKineticEnergy(); - G4int pType = incidentMarsEncoding; - -#ifdef G4VERBOSE - if (GetVerboseLevel() > 2) { - G4cout << " G4Mars5GeV::Treem5() "; - G4cout << " Incident Particle: " << incidentParticle->GetDefinition()->GetParticleName(); - G4cout << " : energy = " << pE/GeV << "[GeV]" << G4endl; - } -#endif - - // CoulombBarrier - if (CoulombBarrier(pType, pE)) return; - - G4int ib; - if (pType==MarsAP) { - ib = MarsP; - } else if (pType==MarsGAM){ - if ( G4UniformRand() >0.5) { - ib = MarsPIplus; - } else { - ib = MarsPIminus; - } - } else { - ib = pType; - } - - selec1.Einc = pE; - if (pE < 0.5*MeV) pE = 0.5*MeV; - selec3.Emax = pE; - selec3.X = 0.0; - selec3.Pt = 0.0; - selec3.P = 0.0; - - // Nucleons at E < 5GeV - CreateNucleon(ib, pType, pE); - - // Pion+- or Kaon+- at E < 5GeV - CreatePion(ib, pType, pE); - - // Pi0 at E < 5GeV - CreatePionZero(ib, pType, pE); -} - -G4bool G4Mars5GeV::CoulombBarrier(G4int pType, G4double pE){ - static const G4double EthCoulombBarrier = 20.0* MeV; - static const G4double AvCoulomb = 1.11*MeV; - static const G4double RCoulombTh = 1.0e-5; - - // CoulombBarrier - if ( ( pType == MarsP) || ( pType ==MarsPIplus) || ( pType ==MarsKplus) ) { - if ( ( pE < EthCoulombBarrier ) && (fANucl >=1.5) ) { - G4double pMass = GetParticleDefinition(pType)->GetPDGMass(); - G4double vCoulomb = AvCoulomb*std::pow(fZNucl/fANucl, 1./3.); - G4double tc = pE*(fANucl*ProtonMass)/(pMass+(fANucl*ProtonMass)); - G4double rCoulomb = 1.0-vCoulomb/tc; - if ( rCoulomb < RCoulombTh ) { -#ifdef G4VERBOSE - if (GetVerboseLevel() > 2) { - G4cout << " Can not interact because of Coulomb Barrier " << G4endl; - } -#endif - return true; - } - } - } - return false; -} - -void G4Mars5GeV::CreateNucleon(G4int ib, G4int pType, G4double ) -{ -#ifdef G4VERBOSE - if (GetVerboseLevel() > 2) { - G4cout << " G4Mars5GeV::CreateNucleon()" << G4endl; - } -#endif - if ( pType == MarsGAM) { - selec1.Treac = MarsPIplus; - selec1.Tprod = MarsN; - selec1.V10 = 2.5; - } else { - if ( ib == MarsP ) { - selec1.Treac = MarsP; - } else if ( ib == MarsN ) { - selec1.Treac = MarsN; - } else if ( ib == MarsPIplus ) { - selec1.Treac = MarsPIplus; - } else if ( ib == MarsPIminus ) { - selec1.Treac = MarsPIminus; - } else if ( ib == MarsKplus ) { - selec1.Treac = MarsPIplus; - } else if ( ib == MarsKminus ) { - selec1.Treac = MarsPIminus; - } else { - selec1.Treac = MarsPIminus; - } - if (G4UniformRand()<0.5) { - selec1.Tprod = MarsN; - } else { - selec1.Tprod = MarsP; - } - selec1.V10 = 2.0; - } - - //if ( SelBS(pType, fANucl, fZNucl) >0.0 ) AddSecondary(); - if ( SelBS(pType, fANucl, fZNucl) >0.0 ) AddSecondaryToMarsList(); - -} - -void G4Mars5GeV::CreatePion(G4int ib, G4int pType, G4double pE) -{ -#ifdef G4VERBOSE - if (GetVerboseLevel() > 2) { - G4cout << " G4Mars5GeV::CreatePion()" << G4endl; - } -#endif - static const G4double PionProductionEth = 0.28*GeV; - static const G4double KaonProductionEth = 2.0*GeV; - - if ( pEGetPDGMass(); - } - selec1.Einc = pE; - - if ( ib == MarsP ) { - selec1.Treac = MarsP; - } else if ( ib == MarsN ) { - selec1.Treac = MarsN; - } else if ( ib == MarsPIplus ) { - selec1.Treac = MarsPIplus; - } else if ( ib == MarsPIminus ) { - selec1.Treac = MarsPIminus; - } else if ( ib == MarsKplus ) { - selec1.Treac = MarsPIplus; - } else if ( ib == MarsKminus ) { - selec1.Treac = MarsPIminus; - } else { - selec1.Treac = MarsPIminus; - } - if (G4UniformRand()<0.5) { - selec1.Tprod = MarsPIplus; - } else { - selec1.Tprod = MarsPIminus; - } - selec1.V10 = 2.1; - if ( SelBS(pType, fANucl, fZNucl) >0.0 ){ - // change secondary into Kaon - if ( pE > KaonProductionEth ) { - if ( Rkaon(ib,selec1.Tprod,pE) > G4UniformRand()) { - if (selec1.Tprod==MarsPIminus) { - selec1.Tprod=MarsKminus; - } else { - selec1.Tprod=MarsKplus; - } - } - } - //AddSecondary(); - AddSecondaryToMarsList(); - } -} - -void G4Mars5GeV::CreatePionZero(G4int ib, G4int pType, G4double pE) -{ -#ifdef G4VERBOSE - if (GetVerboseLevel() > 2) { - G4cout << " G4Mars5GeV::CreatePionZero()" << G4endl; - } -#endif - static const G4double PionProductionEth = 0.28*GeV; - - if ( pE0.0 ) { - selec1.Tprod = MarsPI0; - //AddSecondary(); - AddSecondaryToMarsList(); - } -} - -//void G4Mars5GeV::AddSecondary() -void G4Mars5GeV::AddSecondaryToMarsList() -{ -#ifdef G4VERBOSE - if (GetVerboseLevel() > 2) { - G4cout << " G4Mars5GeV::AddSecondaryToMarsList()" << G4endl; - G4cout << " Particle :" << selec1.Tprod; - G4cout << ":" << GetParticleName(selec1.Tprod) <=1.0) { - G4double g1 = G4UniformRand(); - G4double g2 = G4UniformRand(); - G4double gg = 2.0*g1 - 1.0; - g = gg*gg + g2*g2; - selec2.Ch = (gg*gg - g2*g2)/g; - selec2.Sh = 2.0*gg*g2/g; - } - G4ThreeVector pin = incidentParticle->Get4Momentum().vect().unit(); - G4ThreeVector pout; - - Trans(&pin, &pout); - if (numberOfSecondaries>=FastVectorSize) { - G4String text = " G4Mars5GeV::AddSecondaryToMarsList() too many secondaries"; - throw G4HadronicException(__FILE__, __LINE__, text); - } - - // create seconday Dynamic Particle - G4DynamicParticle* secondary = - new G4DynamicParticle(GetParticleDefinition(selec1.Tprod), - pout.unit(), - selec1.EN); - // add secondary into list - - secondaries.SetElement(numberOfSecondaries, secondary); - weightOfSecondaries[numberOfSecondaries] = selec1.V; - numberOfSecondaries +=1; -} - -G4double G4Mars5GeV::SelBS(G4int pType, G4double aNucl, G4double zNucl) -{ - static const G4double Atau= 0.2; - static const G4double Btau= 0.5*GeV; - - G4int nc = 0; - G4int ip = selec1.Treac; // reaction particle type - G4int jp = selec1.Tprod; // procduction particle type - G4int jj = pType; // incident particle type - G4double e0 = selec1.Einc; - G4double en; - G4double v2 = 0.0; - -#ifdef G4VERBOSE - if (GetVerboseLevel() > 2) { - G4cout << " G4Mars5GeV::SelBS" << G4endl; - G4cout << " pType = " << pType << " e0 = " << e0 << G4endl; - G4cout << " aNucl = " << aNucl << " zNucl = " << zNucl << G4endl; - G4cout << " Treac = " <halfpi) return 0.0; - bn = 2.0; - if(i>=3) bn = 1.0; - } - else - { bn = bm*std::exp(-sa*std::pow(3.68/e0,sl)); } - - G4double emm = e0; - G4double e1ge = 0.001*e0; - G4double e2ge = e1ge*e1ge; - G4double f21 = 0.04/(e2ge*e2ge); - G4double f31 = 0.38*std::pow(e1ge,-0.65); - G4double f22 = 0.25/e2ge; - G4double f32 = am25*0.7/(e1ge+1.); - G4double ei2 = 0.0; - G4double x1 = f21 + f31; - if(x1<60.) ei2 = 0.8*std::exp(-x1); - G4double ei1 = ei2; - if(a>2.0) - { - ei1 = 0.; - x1 = f22 + f32; - if(x1<60.) ei1 = std::exp(-x1); - } - - G4double ew1 = ei2; - G4double dnl = 0.0; - G4double dnl1 = 0.0; - G4double eli = 0.0; - if(ew1>=1.e-19) - { - G4double dli = 35.0*ew1/(a+69.0); - eli = 0.5*dli*e0; - if(i==j) - { dnl1 = dli*(2./3.)/e0; } - else - { dnl1 = dli*(1.-e/e0)/e0; } - dnl = dli*(5./3.-e/e0)/e0; - } - - G4double qel = 1.0 - ei1; - if(a>2.0) - { - G4double e02 = std::pow(e0/350.,1.5); - G4double ex2 = 1.0; - if(e02<60.) ex2 = 1.0-std::exp(-e02); - qel = 0.0; - if(t1.e-25) - { - eql = qel*e0*(sql+1.)/(sql+2.); - G4double bp1x = -60./std::log(e/e0); - if(sql<=bp1x) - { - bp1x = std::pow(e/e0,sql); - dnq = qel/e0*(sql+1.)*bp1x; - } - } - } - - G4double bp1 = e0; - if(e0<1.e9) bp1 = std::sqrt(e0*e0+1880.*e0); - G4double pul = 1.e-3*bp1; - bp1 = 3.*std::pow(pul,0.25) - 2.0; - if(bp1<1.) bp1 = 1.; - G4double bpi = 0.0; - if(ei1>0.) bpi = bp1*std::exp(0.075*sqa1)*ei1; - G4double ec = 0.0; - if(a>2.0) ec = 10.5 - 0.02*a; - G4double g = 0.1*alga + 0.2; - G4double eog = std::pow(e0,g); - G4double f1 = 1./3.*ec*a/(1.8*eog); - x1 = 1.0; - if(f1<60.) x1 = 1.0 - std::exp(-f1); - G4double fm = 1.8*eog*x1; - G4double ez = ec + fm; - if(fm>=e0) ez = ec + e0; - G4double d = 1.0; - if(i>=3) d = 0.0; - x1 = 1.0; - if(a<=44.) x1 = std::exp(-std::exp(4.-a)); - G4double ez2 = 33.5*a125*x1*(ez-ec)*(1.-ez/(ec-e0)); - G4double epw = e0 - ez - (bn-d)*ec - 140.*bpi - ez2; - G4double e2 = epw - eli - eql; - - G4double ak1 = 3.0; - G4double ak20 = 5.e-4*(1.+a13)*e0; - x1 = 1.0; - if(ak20<60.) x1 = 1.0 - std::exp(-ak20); - G4double ga = std::pow(e1ge,0.06)*ak1*x1; - G4double egr = e0/(ga+1.); - G4double d2 = 250.*(1.+2.5*e0*std::exp(-0.02*a)/(e0+1.e3))/sqa; - G4double aea = e2/(e0*(1./(1.+ga)-d2*std::log(1.+egr/d2)/e0)); - aea *= 1./(1.+d2*(ga+1.)/(3.*e0*(d2/e0+1.75))); - if(i<=2 && j>=3) - { - emm = e0 - 140.; - if(j!=5 && a!=1. && (i+j)!=5) emm = e0 - 280; - } - G4double dn = 0.0; - if(e<=emm) dn = aea*(e0/emm)*std::pow(1.-e/emm,ga)/(e+d2); - if(i>=3) bpi += 1; - dnde = dn + dnq + dnl; - // In original code, check nupr. But in this code, nupr is aliways set to 0 - // if(nupr==1) return; - - G4double pna = bpi/bp1; - G4double pns = bn+bpi; - - // Angular distribution - G4double qe = 0.0; - if((jj!=MarsGAM || j!=5) - &&(t4) - &&(i>2||j<3) - &&(a>2.0||i!=2||j!=1) - &&(qel>=1.e-26)) - { - G4double d1 = 25.*(1.+0.008*e0*t); - G4double dp; - if(i==j) - { dp = 0.8; } - else - { dp = 0.2; } - if(a<=2.&&i==1&&j<=2) dp = 0.5; - if(a<=2.&&i==2&&j==2) dp = 1.0; - G4double eq = e0*sqr(std::cos(t))/(1.+e0*sqr(std::sin(t))/1880.) - 25.0; - G4double exq = sqr((e-eq)/d1) + 0.5*sw2*t*t; - if(exq<60.) qe = qel*sw2*std::exp(-exq)*dp*ospi/d1; - } - - G4int iold = i; - if(i==3) i = 2; - if(i==4) i = 1; - G4bool condA = a<2. && i==2; - G4bool condB = a<2.; - G4double az(0); - G4double pn; - G4double pr(0); - if(!condB) - { - if(i==2) - { az = (z+1.)/(a-z); } - else - { az = (a+1.-z)/z; } - x1 = 0.5*e1ge; - pn = az; - if(x1<60.) pn *= 1. + std::exp(-x1); - if(i==j) - { pr = bn*pn/(1.+pn); } - else - { pr = bn/(1.+pn); } - } - if(condA || !condB) - { - if(i==1) az = z/(a-z); - if(i==2) az = (a-z)/z; - G4double bp = 1.0; - G4double e0g = e1ge*e2ge; - if(e0g<60.) bp -= 0.5*std::exp(-e0g); - G4double ap = az * bp; - bp = 6.*(1.+ap); - if((i==1&&j==3)||(i==2&&j==4)) pr = pna*(bp1/3.-(2.+ap)/bp); - if((i==2&&j==3)||(i==1&&j==4)) pr = pna*(bp1/3.+(3.-ap)/bp); - if(j==5) pr = pna*(bp1/3.+(2.*ap-1.)/bp); - } - if(condB) - { - switch(i) - { - case 1: - switch(j) - { - case 1: - case 2: - pr = bn/2.; break; - case 3: - case 4: - pr = pna*(bp1/3.-1./6.); break; - case 5: - pr = pna*(bp1+1.)/3.; break; - } - break; - case 2: - switch(j) - { - case 1: - pr = 0.33*ew1/bn; break; - case 2: - pr = (1.-0.33*ew1)/bn; break; - } - break; - } - } - - G4double ek3 = 0.01*std::sqrt(e1ge)*(1.+alga/4.); - G4double tay = 200.*e0/(e0+560.); - G4double w = e/tay; - G4double ek4 = 1.21*e0*w/(std::sqrt(1.+alga)*(e0+2000.)); - if(j>=3) ek4 = 0.3*w*(e0-1000.)/(e0+1000.); - G4double wpic = w*pi; - G4double w2 = w*w; - G4double ex8 = 1.0; - if(wpic<60.) ex8 /= 1.0 + std::exp(-wpic); - G4double ek = (1.+w2)*(1.+5.2*ek4/(2.+w2))*ex8; - G4double wtw = 2.*(std::sqrt(1.+ek3*e*t*1.e-3)-1.)/(tay*ek3*1.e-3)+ek4*t*t; - G4double sm = 0.0; - if(dn>=1.e-26 && wtw<60.) sm = pr*dn*ek*std::exp(-wtw)/pns; - - G4double dl = 0.0; - i = iold; - if((dnl1>=1.e-20) - &&(i<3||i==j||j>4) - &&(i>2||j<3)) - { - tay = 200.*e0/(e0+2600.); - w = e/tay; - ek4 = 1.21*e0*w/(std::sqrt(1.+alga)*(e0+2000.)); - i = in; - wpic = w*pi; - w2 = w*w; - ex8 = 1.0; - if(wpic<60.) ex8 /= 1.0 + std::exp(-wpic); - wtw = w*t + ek4*t*t; - if(wtw<60.) - { - G4double ft = (1.+w2)*(1.+5.2*ek4/(2.+w2))*std::exp(-wtw)*ex8; - if(ft>=1.-16) - { - G4double dp; - if(i==j) - { dp = 2./3.; } - else - { dp = 1./3.; } - if(a<=2.&&i==1&&j==2) dp = 0.5; - dl = dp*dnl1*ft; - } - } - } - - if(jj==MarsGAM && j==5) - { - sm *= 0.6; - dl *= 2.0; - } - d2n = o2pi*(qe+sm+dl); - // d2n value is calculated in unit of [1/MeV] - - d2n *= (1./MeV); - return d2n; -} - - -G4double G4Mars5GeV::Rkaon(G4int ib, G4int jp, G4double eRaw) -{ - // Energy dependent K/pi ratio - // Parametrizations are valid for energy range of - // incident particle as 2.0 GeV to 100 GeV - // All parametrizations in this method are based on - // the energy unit of GeV. - // - // Original code is written by Nikolai Mokhov (Fermilab) - //C Copyright Nikolai Mokhov (Fermilab) - //C - //C MARS13(98) - //C ENERGY DEPENDENT K/PI RATIO - //C FOR GIVEN TREEM AND SELMO PARAMETERS - //C----- - //C CREATED: 1996 BY N.MOKHOV (NVM) - //C LAST CHANGE: 12-FEB-1996 BY NVM - - static const G4double rkp = 0.071; - static const G4double rkm = 0.083; - static const G4double al2 = 0.69314718; - static const G4double al100 = 4.6051702; - static const G4double al21 = 3.0445224; - static const G4double al51 = 3.9318256; - - G4double eGeV = eRaw / GeV; - G4double rK = 0.; - if(eGeV < 2.1) return rK; - G4double ale = std::log(eGeV); - - // No.1 - rK = rkp; - if(jp == MarsPIminus) rK = rkm; - if(ib == MarsPIplus || ib == MarsPIminus) rK *= 1.3; - else if(ib == MarsKplus || ib == MarsKminus) rK *= 2.0; - G4double rK1 = rK; - if(eGeV<100.) - { - G4double rmi = 0.03; - if(ib >= MarsPIplus) rmi = 0.08; - rK1 = rmi + (rK-rmi)*(ale-al2)/(al100-al2); - } - - // No.2 - if(eGeV<=5.2 || eGeV>=51.0) { - rK = 1.3*rK1; - } else if(eGeV<7.2) { - rK = rK1*(1.3+0.15*(eGeV-5.2)); - } else if(eGeV<21.) { - rK = 1.6*rK1; - } else { - rK = rK1*(1.3+0.3*(al51-ale)/(al51-al21)); - } - - return rK; -} - -void G4Mars5GeV::Trans(G4ThreeVector* d1,G4ThreeVector* d2) -{ - -#ifdef G4VERBOSE - if (GetVerboseLevel() > 2) { - G4cout << " G4Mars5GeV::Trans() " << G4endl; - } -#endif - // Direction cosine transformation - // using (cs,ss,ch,sh) - - // inputs - G4double cs = selec2.Cs; - G4double ss = selec2.Ss; - G4double ch = selec2.Ch; - G4double sh = selec2.Sh; - - G4double sss, ttt, uuu; - G4double dx1 = d1->x(); - G4double dy1 = d1->y(); - G4double dz1 = d1->z(); - G4double sz = dx1*dx1 + dy1*dy1; - if(sz > 1.e-50) - { - sz = std::sqrt(sz); - sss = ss*(ch*dz1*dx1-sh*dy1)/sz + cs*dx1; - ttt = ss*(ch*dz1*dy1+sh*dx1)/sz + cs*dy1; - uuu = - ss*ch*sz + cs*dz1; - } - else - { - sss = ss*ch + dx1; - ttt = ss*sh + dy1; - uuu = cs*dz1; - } - G4double den = std::sqrt(sss*sss+uuu*uuu+ttt*ttt); - d2->setX(sss/den); - d2->setY(ttt/den); - d2->setZ(uuu/den); - return; -} diff --git a/source/processes/hadronic/models/lll_fission/CMakeLists.txt b/source/processes/hadronic/models/lll_fission/CMakeLists.txt new file mode 100644 index 0000000000..096ad2586c --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4had_lll_fis +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_lll_fis +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:03:07 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/lll_fission/sources.cmake b/source/processes/hadronic/models/lll_fission/sources.cmake new file mode 100644 index 0000000000..b57d7b81f9 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/sources.cmake @@ -0,0 +1,109 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4had_lll_fis +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_lll_fis +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:03:22 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/neutron_hp/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4had_lll_fis + HEADERS + G4FissLib.hh + G4FissionLibrary.hh + G4LLNLFission.hh + G4fissionEvent.hh + SOURCES + G4FissLib.cc + G4FissionLibrary.cc + G4LLNLFission.cc + G4SmpGEng.cc + G4SmpIsoDir.cc + G4SmpNEngCf252.cc + G4SmpNVel.cc + G4SmpNuDistDataPu239.cc + G4SmpNuDistDataPu239_241.cc + G4SmpNuDistDataPu239_241_MC.cc + G4SmpNuDistDataU232_234_236_238.cc + G4SmpNuDistDataU232_234_236_238_MC.cc + G4SmpNuDistDataU233_235.cc + G4SmpNuDistDataU233_235_MC.cc + G4SmpNuDistDataU235.cc + G4SmpNuDistDataU238.cc + G4SmpNugDist.cc + G4SmpPVel.cc + G4SmpSpNuDistData.cc + G4SmpSpNubarData.cc + G4SmpSpNugDistData.cc + G4SmpTerrell.cc + G4SmpWatt.cc + G4fissionEvent.cc + G4fissionerr.cc + G4rngc.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_mod_man + G4had_neu_hp + G4hadronic_mgt + G4hadronic_proc + G4hadronic_util + G4hadronic_xsect + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/low_energy/CMakeLists.txt b/source/processes/hadronic/models/low_energy/CMakeLists.txt new file mode 100644 index 0000000000..8e354da800 --- /dev/null +++ b/source/processes/hadronic/models/low_energy/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4hadronic_LE +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_LE +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:03:31 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/low_energy/sources.cmake b/source/processes/hadronic/models/low_energy/sources.cmake new file mode 100644 index 0000000000..ee2efec5fe --- /dev/null +++ b/source/processes/hadronic/models/low_energy/sources.cmake @@ -0,0 +1,133 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4hadronic_LE +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_LE +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:03:39 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4hadronic_LE + HEADERS + G4LCapture.hh + G4LEAlphaInelastic.hh + G4LEAntiKaonZeroInelastic.hh + G4LEAntiLambdaInelastic.hh + G4LEAntiNeutronInelastic.hh + G4LEAntiOmegaMinusInelastic.hh + G4LEAntiProtonInelastic.hh + G4LEAntiSigmaMinusInelastic.hh + G4LEAntiSigmaPlusInelastic.hh + G4LEAntiXiMinusInelastic.hh + G4LEAntiXiZeroInelastic.hh + G4LEDeuteronInelastic.hh + G4LEKaonMinusInelastic.hh + G4LEKaonPlusInelastic.hh + G4LEKaonZeroInelastic.hh + G4LEKaonZeroLInelastic.hh + G4LEKaonZeroSInelastic.hh + G4LELambdaInelastic.hh + G4LENeutronInelastic.hh + G4LEOmegaMinusInelastic.hh + G4LEPionMinusInelastic.hh + G4LEPionPlusInelastic.hh + G4LEProtonInelastic.hh + G4LESigmaMinusInelastic.hh + G4LESigmaPlusInelastic.hh + G4LETritonInelastic.hh + G4LEXiMinusInelastic.hh + G4LEXiZeroInelastic.hh + G4LElastic.hh + G4LFission.hh + SOURCES + G4LCapture.cc + G4LEAlphaInelastic.cc + G4LEAntiKaonZeroInelastic.cc + G4LEAntiLambdaInelastic.cc + G4LEAntiNeutronInelastic.cc + G4LEAntiOmegaMinusInelastic.cc + G4LEAntiProtonInelastic.cc + G4LEAntiSigmaMinusInelastic.cc + G4LEAntiSigmaPlusInelastic.cc + G4LEAntiXiMinusInelastic.cc + G4LEAntiXiZeroInelastic.cc + G4LEDeuteronInelastic.cc + G4LEKaonMinusInelastic.cc + G4LEKaonPlusInelastic.cc + G4LEKaonZeroInelastic.cc + G4LELambdaInelastic.cc + G4LENeutronInelastic.cc + G4LEOmegaMinusInelastic.cc + G4LEPionMinusInelastic.cc + G4LEPionPlusInelastic.cc + G4LEProtonInelastic.cc + G4LESigmaMinusInelastic.cc + G4LESigmaPlusInelastic.cc + G4LETritonInelastic.cc + G4LEXiMinusInelastic.cc + G4LEXiZeroInelastic.cc + G4LElastic.cc + G4LFission.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_mod_man + G4hadronic_mgt + G4hadronic_util + G4hadronic_xsect + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/management/CMakeLists.txt b/source/processes/hadronic/models/management/CMakeLists.txt new file mode 100644 index 0000000000..e0070085ba --- /dev/null +++ b/source/processes/hadronic/models/management/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4had_mod_man +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_mod_man +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:03:47 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/management/History b/source/processes/hadronic/models/management/History index 65372e3a7d..fee47561c2 100644 --- a/source/processes/hadronic/models/management/History +++ b/source/processes/hadronic/models/management/History @@ -14,6 +14,34 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +3 November 2010 - G.Folger (hadr-modman-V09-03-05) +- G4VNuclearDensity: coverity warning: init data member in ctor + +8 September 2010 - G.Folger (hadr-modman-V09-03-04) +------------------------------------------------------ +- G4V3DNucleus; use integer for A and Z + +28 August 2010 - V.Ivanchenko (hadr-modman-V09-03-03) +------------------------------------------------------ +- G4VPreCompoundModel - make deexcited G4Fragment non-const +- G4VIntraNuclearTransportModel - moved constructor and destructor + to the source + +11 June 2010 - V.Ivanchenko (hadr-modman-V09-03-02) +------------------------------------------------------ +- G4VPreCompoundModel - constructor and destructor moved to the head + +02 April 2010 - Dennis Wright (hadr-modman-V09-03-01) +----------------------------------------------------- +- G4HadronicInteraction - add two methods, GetEnergyMomentumCheckLevels + and SetEnergyMomentumCheckLevels in order to implement checking + of energy/momentum conservation + +25 March 2010 - V.Ivanchenko (hadr-modman-V09-03-00) +------------------------------------------------------ +- G4HadronicInteractionRegistry - do not pop_back vector of pointers + when DeRegister cross section data set - big fixed for Windows + 2 December 2009 - V.Ivanchenko (hadr-modman-V09-02-08) ------------------------------------------------------ - G4HadronicInteractionRegistry - more accurate model deletion diff --git a/source/processes/hadronic/models/management/include/G4HadronicInteraction.hh b/source/processes/hadronic/models/management/include/G4HadronicInteraction.hh index fdb5ca0474..a82a18d10e 100644 --- a/source/processes/hadronic/models/management/include/G4HadronicInteraction.hh +++ b/source/processes/hadronic/models/management/include/G4HadronicInteraction.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4HadronicInteraction.hh,v 1.13 2009/10/02 17:18:33 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HadronicInteraction.hh,v 1.14 2010/04/03 00:40:45 dennis Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Hadronic Interaction abstract base class // This class is the base class for the model classes. @@ -138,7 +138,6 @@ public: // With description } G4bool IsBlocked( const G4Material *aMaterial ) const; - G4bool IsBlocked( const G4Element *anElement) const; inline void SetRecoilEnergyThreshold(G4double val) @@ -152,11 +151,18 @@ public: // With description inline G4bool operator!=(const G4HadronicInteraction &right ) const { return ( this != (G4HadronicInteraction *) &right ); } + + + inline std::pair GetEnergyMomentumCheckLevels() const + { return epCheckLevels; } + + inline void SetEnergyMomentumCheckLevels(G4double relativeLevel, G4double absoluteLevel) + { epCheckLevels.first = relativeLevel; + epCheckLevels.second = absoluteLevel; } private: G4HadronicInteraction(const G4HadronicInteraction &right ); - const G4HadronicInteraction& operator=(const G4HadronicInteraction &right); protected: @@ -190,7 +196,9 @@ private: G4double recoilEnergyThreshold; G4String theModelName; - + + std::pair epCheckLevels; + std::vector > theMinEnergyList; std::vector > theMaxEnergyList; std::vector > theMinEnergyListElements; diff --git a/source/processes/hadronic/models/management/include/G4V3DNucleus.hh b/source/processes/hadronic/models/management/include/G4V3DNucleus.hh index f8d0ae33bc..4965c2a5f2 100644 --- a/source/processes/hadronic/models/management/include/G4V3DNucleus.hh +++ b/source/processes/hadronic/models/management/include/G4V3DNucleus.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4V3DNucleus.hh,v 1.7 2009/11/19 14:29:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4V3DNucleus.hh,v 1.8 2010/09/08 16:39:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4V3DNucleus_h #define G4V3DNucleus_h 1 @@ -51,7 +51,7 @@ class G4V3DNucleus int operator!=(const G4V3DNucleus &right) const; public: - virtual void Init(G4double theA, G4double theZ) = 0; + virtual void Init(G4int theA, G4int theZ) = 0; virtual G4bool StartLoop() = 0; virtual G4Nucleon * GetNextNucleon() = 0; virtual const std::vector & GetNucleons() = 0; diff --git a/source/processes/hadronic/models/management/include/G4VIntraNuclearTransportModel.hh b/source/processes/hadronic/models/management/include/G4VIntraNuclearTransportModel.hh index c083c97302..8011c2fc83 100644 --- a/source/processes/hadronic/models/management/include/G4VIntraNuclearTransportModel.hh +++ b/source/processes/hadronic/models/management/include/G4VIntraNuclearTransportModel.hh @@ -23,11 +23,9 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4VIntraNuclearTransportModel.hh,v 1.5 2010/08/28 15:53:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: G4VIntraNuclearTransportModel.hh,v 1.4 2007/01/11 05:29:46 dennis Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// $Id: G4IntraNuclearTransportMode.hh,v 1.0 1998/06/30 // ----------------------------------------------------------------------------- // GEANT 4 class header file // @@ -54,57 +52,48 @@ #include "G4ReactionProduct.hh" #include "G4HadProjectile.hh" #include "G4HadFinalState.hh" + class G4KineticTrackVector; - class G4VIntraNuclearTransportModel : public G4HadronicInteraction - { - public: +public: - G4VIntraNuclearTransportModel(const G4String& modelName = "CascadeModel"); + G4VIntraNuclearTransportModel(const G4String& modelName = "CascadeModel"); - G4VIntraNuclearTransportModel(const G4VIntraNuclearTransportModel& right); + virtual ~G4VIntraNuclearTransportModel(); - virtual ~G4VIntraNuclearTransportModel(); + virtual + G4ReactionProductVector* Propagate(G4KineticTrackVector* theSecondaries, + G4V3DNucleus* theNucleus) = 0; - const G4VIntraNuclearTransportModel& operator=(const G4VIntraNuclearTransportModel &right); + inline void SetDeExcitation(G4VPreCompoundModel* const value); - int operator==(const G4VIntraNuclearTransportModel& right) const; + inline void Set3DNucleus(G4V3DNucleus* const value); - int operator!=(const G4VIntraNuclearTransportModel& right) const; + inline const G4String& GetModelName() const; - virtual G4ReactionProductVector* Propagate(G4KineticTrackVector* theSecondaries, - G4V3DNucleus* theNucleus) = 0; +private: - void SetDeExcitation(G4VPreCompoundModel* const value); - void Set3DNucleus(G4V3DNucleus* const value); + G4VIntraNuclearTransportModel(const G4VIntraNuclearTransportModel& right); + const G4VIntraNuclearTransportModel& operator=(const G4VIntraNuclearTransportModel &right); + int operator==(const G4VIntraNuclearTransportModel& right) const; + int operator!=(const G4VIntraNuclearTransportModel& right) const; +protected: - protected: + inline G4V3DNucleus* Get3DNucleus() const; - G4String GetModelName() const; + inline G4VPreCompoundModel* GetDeExcitation() const; - G4V3DNucleus* Get3DNucleus() const; + G4String theTransportModelName; - G4VPreCompoundModel* GetDeExcitation() const; + G4V3DNucleus* the3DNucleus; - - protected: - - G4String theTransportModelName; - - G4V3DNucleus* the3DNucleus; - - G4VPreCompoundModel* theDeExcitation; + G4VPreCompoundModel* theDeExcitation; }; - - -// Class G4VIntraNuclearTransportModel - - -inline G4String G4VIntraNuclearTransportModel::GetModelName() const +inline const G4String& G4VIntraNuclearTransportModel::GetModelName() const { return theTransportModelName; } @@ -119,16 +108,16 @@ inline void G4VIntraNuclearTransportModel::Set3DNucleus(G4V3DNucleus* const valu delete the3DNucleus; the3DNucleus = value; } - - inline G4VPreCompoundModel* G4VIntraNuclearTransportModel::GetDeExcitation() const { return theDeExcitation; } -inline void G4VIntraNuclearTransportModel::SetDeExcitation(G4VPreCompoundModel* const value) +inline void +G4VIntraNuclearTransportModel::SetDeExcitation(G4VPreCompoundModel* const value) { - delete theDeExcitation; theDeExcitation = value; + delete theDeExcitation; + theDeExcitation = value; } #endif diff --git a/source/processes/hadronic/models/management/include/G4VPreCompoundModel.hh b/source/processes/hadronic/models/management/include/G4VPreCompoundModel.hh index 2847f29b75..004159daf2 100644 --- a/source/processes/hadronic/models/management/include/G4VPreCompoundModel.hh +++ b/source/processes/hadronic/models/management/include/G4VPreCompoundModel.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VPreCompoundModel.hh,v 1.5 2007/01/11 05:29:34 dennis Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VPreCompoundModel.hh,v 1.7 2010/08/20 07:43:28 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4VPreCompoundModel_h @@ -41,6 +41,7 @@ #include "G4HadronicInteraction.hh" #include "G4ReactionProductVector.hh" #include "G4ReactionProduct.hh" + class G4HadProjectile; class G4HadFinalState; class G4Nucleus; @@ -53,49 +54,46 @@ public: G4VPreCompoundModel(G4ExcitationHandler* const value, const G4String& modelName = "PrecompoundModel"); - virtual ~G4VPreCompoundModel() {}; + + virtual ~G4VPreCompoundModel(); -protected: - // default constructor - G4VPreCompoundModel() {}; private: + + // default constructor + G4VPreCompoundModel(); // copy constructor - G4VPreCompoundModel(const G4VPreCompoundModel &) : G4HadronicInteraction() {}; + G4VPreCompoundModel(const G4VPreCompoundModel &); // operators const G4VPreCompoundModel& operator=(const G4VPreCompoundModel &right); G4bool operator==(const G4VPreCompoundModel &right) const; G4bool operator!=(const G4VPreCompoundModel &right) const; public: + virtual G4HadFinalState * ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus) = 0; - virtual G4ReactionProductVector* - DeExcite(const G4Fragment& aFragment) const = 0; + virtual G4ReactionProductVector* DeExcite(G4Fragment& aFragment) = 0; - void SetExcitationHandler(G4ExcitationHandler *const value); + inline void SetExcitationHandler(G4ExcitationHandler *const value); protected: - const G4ExcitationHandler * GetExcitationHandler() const; + inline const G4ExcitationHandler * GetExcitationHandler() const; private: G4ExcitationHandler *theExcitationHandler; }; - - -inline const G4ExcitationHandler* G4VPreCompoundModel::GetExcitationHandler() const -{ - return theExcitationHandler; -} - inline void G4VPreCompoundModel::SetExcitationHandler(G4ExcitationHandler *const value) { theExcitationHandler = value; } - +inline const G4ExcitationHandler* G4VPreCompoundModel::GetExcitationHandler() const +{ + return theExcitationHandler; +} #endif diff --git a/source/processes/hadronic/models/management/sources.cmake b/source/processes/hadronic/models/management/sources.cmake new file mode 100644 index 0000000000..fde55ee00b --- /dev/null +++ b/source/processes/hadronic/models/management/sources.cmake @@ -0,0 +1,92 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4had_mod_man +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_mod_man +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:03:55 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4had_mod_man + HEADERS + G4HadronicInteraction.hh + G4HadronicInteractionRegistry.hh + G4InelasticInteraction.hh + G4V3DNucleus.hh + G4VCrossSectionBase.hh + G4VHighEnergyGenerator.hh + G4VIntraNuclearTransportModel.hh + G4VIsotopeProduction.hh + G4VKineticNucleon.hh + G4VNuclearDensity.hh + G4VPreCompoundModel.hh + SOURCES + G4HadronicInteraction.cc + G4HadronicInteractionRegistry.cc + G4InelasticInteraction.cc + G4V3DNucleus.cc + G4VCrossSectionBase.cc + G4VHighEnergyGenerator.cc + G4VIntraNuclearTransportModel.cc + G4VKineticNucleon.cc + G4VNuclearDensity.cc + G4VPreCompoundModel.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4hadronic_util + G4ions + G4leptons + G4materials + G4mesons + G4navigation + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/management/src/G4HadronicInteraction.cc b/source/processes/hadronic/models/management/src/G4HadronicInteraction.cc index 2608e3d05f..044ea92a04 100644 --- a/source/processes/hadronic/models/management/src/G4HadronicInteraction.cc +++ b/source/processes/hadronic/models/management/src/G4HadronicInteraction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronicInteraction.cc,v 1.6 2009/08/30 16:12:34 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HadronicInteraction.cc,v 1.8 2010/09/27 17:12:10 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Hadronic Interaction base class // original by H.P. Wellisch @@ -39,16 +39,19 @@ G4HadronicInteraction::G4HadronicInteraction(const G4String& modelName) : verboseLevel(0), theMinEnergy(0.0), theMaxEnergy(25.0*GeV), - isBlocked(false), recoilEnergyThreshold(0.0), theModelName(modelName) + isBlocked(false), recoilEnergyThreshold(0.0), theModelName(modelName), + epCheckLevels(DBL_MAX, DBL_MAX) { G4HadronicInteractionRegistry::Instance()->RegisterMe(this); } - + + G4HadronicInteraction::~G4HadronicInteraction() { G4HadronicInteractionRegistry::Instance()->RemoveMe(this); } + G4double G4HadronicInteraction::SampleInvariantT(const G4ParticleDefinition*, G4double, G4int, G4int) @@ -59,87 +62,98 @@ G4HadronicInteraction::SampleInvariantT(const G4ParticleDefinition*, G4double G4HadronicInteraction::GetMinEnergy( const G4Material *aMaterial, const G4Element *anElement ) const { - size_t i; - if( IsBlocked(aMaterial) )return 0.*GeV; - if( IsBlocked(anElement) )return 0.*GeV; - for( i=0; i 0 ) - G4cout << "*** Warning from HadronicInteraction::GetMinEnergy" << G4endl + } + if(IsBlocked()) { return 0.0; } + if( verboseLevel > 1 ) { + G4cout << "*** Warning from HadronicInteraction::GetMinEnergy" << G4endl << " material " << aMaterial->GetName() << " not found in min energy List" << G4endl; - return theMinEnergy; + } + return theMinEnergy; } void G4HadronicInteraction::SetMinEnergy(G4double anEnergy, const G4Element *anElement ) { - if( IsBlocked(anElement) ) + if( IsBlocked(anElement) ) { G4cout << "*** Warning from HadronicInteraction::SetMinEnergy" << G4endl << " The model is not active for the Element " << anElement->GetName() << "." << G4endl; - - for( size_t i=0; i(anEnergy, anElement)); } void G4HadronicInteraction::SetMinEnergy(G4double anEnergy, const G4Material *aMaterial ) { - if( IsBlocked(aMaterial) ) + if( IsBlocked(aMaterial) ) { G4cout << "*** Warning from HadronicInteraction::SetMinEnergy" << G4endl << " The model is not active for the Material " << aMaterial->GetName() << "." << G4endl; - - for( size_t i=0; i(anEnergy, aMaterial)); } G4double G4HadronicInteraction::GetMaxEnergy(const G4Material *aMaterial, const G4Element *anElement ) const { - size_t i; - if( IsBlocked(aMaterial) )return 0.0; - if( IsBlocked(anElement) )return 0.0; - for( i=0; i 0 ) { - G4cout << "*** Warning from HadronicInteraction::GetMaxEnergy" << G4endl - << " material " << aMaterial->GetName() - << " not found in min energy List" << G4endl; } + length = theMaxEnergyList.size(); + if(0 < length) { + for(size_t i=0; i 1 ) { + G4cout << "*** Warning from HadronicInteraction::GetMaxEnergy" << G4endl + << " material " << aMaterial->GetName() + << " not found in min energy List" << G4endl; + } return theMaxEnergy; } @@ -151,14 +165,16 @@ void G4HadronicInteraction::SetMaxEnergy(G4double anEnergy, << "Warning: The model is not active for the Element " << anElement->GetName() << "." << G4endl; } - for( size_t i=0; i(anEnergy, anElement)); } @@ -170,14 +186,16 @@ void G4HadronicInteraction::SetMaxEnergy(G4double anEnergy, << "Warning: The model is not active for the Material " << aMaterial->GetName() << "." << G4endl; } - for( size_t i=0; i(anEnergy, aMaterial)); } @@ -215,6 +233,7 @@ G4bool G4HadronicInteraction::IsBlocked( const G4Element *anElement ) const return false; } +/* G4HadronicInteraction::G4HadronicInteraction(const G4HadronicInteraction &right ) { *this = right; @@ -227,6 +246,6 @@ G4HadronicInteraction::operator=(const G4HadronicInteraction &right ) throw G4HadronicException(__FILE__, __LINE__, text); return right; } - + */ /* end of file */ diff --git a/source/processes/hadronic/models/management/src/G4HadronicInteractionRegistry.cc b/source/processes/hadronic/models/management/src/G4HadronicInteractionRegistry.cc index ae08a897f1..edc931a015 100644 --- a/source/processes/hadronic/models/management/src/G4HadronicInteractionRegistry.cc +++ b/source/processes/hadronic/models/management/src/G4HadronicInteractionRegistry.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronicInteractionRegistry.cc,v 1.9 2009/12/02 15:57:57 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HadronicInteractionRegistry.cc,v 1.10 2010/03/25 15:31:42 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // 23-Jan-2009 V.Ivanchenko make the class to be a singleton @@ -95,7 +95,6 @@ RemoveMe(G4HadronicInteraction * aModel) //G4cout << "DeRegister model <" << aModel->GetModelName() //<< "> " << i << G4endl; allModels[i] = 0; - if(i == nModels-1) allModels.pop_back(); return; } } diff --git a/source/processes/hadronic/models/management/src/G4VIntraNuclearTransportModel.cc b/source/processes/hadronic/models/management/src/G4VIntraNuclearTransportModel.cc index d875300786..f6dda9e872 100644 --- a/source/processes/hadronic/models/management/src/G4VIntraNuclearTransportModel.cc +++ b/source/processes/hadronic/models/management/src/G4VIntraNuclearTransportModel.cc @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4VIntraNuclearTransportModel.cc,v 1.5 2007/01/11 05:28:56 dennis Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VIntraNuclearTransportModel.cc,v 1.6 2010/08/28 15:53:50 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // $Id: G4VIntraNuclearTransportModel.cc,v 1.0 1998/06/30 // ----------------------------------------------------------------------------- @@ -38,56 +37,15 @@ #include "G4VIntraNuclearTransportModel.hh" - -// Class G4VIntraNuclearTransportModel - - -G4VIntraNuclearTransportModel::G4VIntraNuclearTransportModel(const G4String& modelName) : - G4HadronicInteraction(modelName), - theTransportModelName(modelName), the3DNucleus(NULL), theDeExcitation(NULL) +G4VIntraNuclearTransportModel::G4VIntraNuclearTransportModel(const G4String& modName) + : G4HadronicInteraction(modName), + theTransportModelName(modName), the3DNucleus(0), theDeExcitation(0) {} - -G4VIntraNuclearTransportModel:: -G4VIntraNuclearTransportModel(const G4VIntraNuclearTransportModel& right) : - G4HadronicInteraction(right.GetModelName() ) -{ - theTransportModelName = right.GetModelName(); - the3DNucleus = right.Get3DNucleus(); - theDeExcitation = right.GetDeExcitation(); -} - - G4VIntraNuclearTransportModel::~G4VIntraNuclearTransportModel() { -// if(the3DNucleus!=NULL) delete the3DNucleus; + // if(the3DNucleus!=NULL) delete the3DNucleus; // This is deleted by ~G4HadronicInteractionRegistry // if(theDeExcitation!=NULL) delete theDeExcitation; } - -const G4VIntraNuclearTransportModel& -G4VIntraNuclearTransportModel:: -operator=(const G4VIntraNuclearTransportModel& right) -{ - if (this != &right) - { - theTransportModelName = right.GetModelName(); - the3DNucleus = right.Get3DNucleus(); - theDeExcitation = right.GetDeExcitation(); - } - return *this; -} - - -int G4VIntraNuclearTransportModel:: -operator==(const G4VIntraNuclearTransportModel& right) const -{ - return (this == (G4VIntraNuclearTransportModel *) & right); -} - -int G4VIntraNuclearTransportModel:: -operator!=(const G4VIntraNuclearTransportModel& right) const -{ - return (this != (G4VIntraNuclearTransportModel *) & right); -} diff --git a/source/processes/hadronic/models/management/src/G4VNuclearDensity.cc b/source/processes/hadronic/models/management/src/G4VNuclearDensity.cc index 544e69bff2..61bb74dbab 100644 --- a/source/processes/hadronic/models/management/src/G4VNuclearDensity.cc +++ b/source/processes/hadronic/models/management/src/G4VNuclearDensity.cc @@ -24,13 +24,15 @@ // ******************************************************************** // // -// $Id: G4VNuclearDensity.cc,v 1.3 2006/06/29 20:46:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VNuclearDensity.cc,v 1.4 2010/11/03 17:24:34 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4VNuclearDensity.hh" -G4VNuclearDensity::G4VNuclearDensity() {} +G4VNuclearDensity::G4VNuclearDensity() : + rho0(0.) + {} G4VNuclearDensity::~G4VNuclearDensity() {} diff --git a/source/processes/hadronic/models/management/src/G4VPreCompoundModel.cc b/source/processes/hadronic/models/management/src/G4VPreCompoundModel.cc index 209571c5d3..a3dd49c349 100644 --- a/source/processes/hadronic/models/management/src/G4VPreCompoundModel.cc +++ b/source/processes/hadronic/models/management/src/G4VPreCompoundModel.cc @@ -24,34 +24,22 @@ // ******************************************************************** // // -// $Id: G4VPreCompoundModel.cc,v 1.6 2007/01/11 05:29:10 dennis Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VPreCompoundModel.cc,v 1.7 2010/06/11 15:26:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #include "G4VPreCompoundModel.hh" -#include "G4HadronicException.hh" +//#include "G4HadronicException.hh" G4VPreCompoundModel::G4VPreCompoundModel(G4ExcitationHandler* const value, const G4String& modelName): - G4HadronicInteraction(modelName), - theExcitationHandler(value) + G4HadronicInteraction(modelName), theExcitationHandler(value) {} +G4VPreCompoundModel::G4VPreCompoundModel(): + G4HadronicInteraction(""), theExcitationHandler(0) +{} -const G4VPreCompoundModel & -G4VPreCompoundModel::operator=(const G4VPreCompoundModel &) -{ - G4String text = "G4VPreCompoundModel::operator= meant to not be accessable"; - throw G4HadronicException(__FILE__, __LINE__, text); - return *this; -} - -G4bool G4VPreCompoundModel::operator==(const G4VPreCompoundModel &) const -{ - return false; -} - -G4bool G4VPreCompoundModel::operator!=(const G4VPreCompoundModel &) const -{ - return true; -} +G4VPreCompoundModel::~G4VPreCompoundModel() +{} + diff --git a/source/processes/hadronic/models/neutron_hp/CMakeLists.txt b/source/processes/hadronic/models/neutron_hp/CMakeLists.txt new file mode 100644 index 0000000000..b253de1f13 --- /dev/null +++ b/source/processes/hadronic/models/neutron_hp/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4had_neu_hp +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_neu_hp +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:04:03 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/neutron_hp/History b/source/processes/hadronic/models/neutron_hp/History index 866c4330dd..aef9e3a882 100644 --- a/source/processes/hadronic/models/neutron_hp/History +++ b/source/processes/hadronic/models/neutron_hp/History @@ -14,7 +14,82 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- -14 May 2009 Tatsumi Koi (hadr-hpn-V09-02-00) +3 December 2010 Tatsumi Koi (hadr-hpn-V09-03-12) +-Bug fix Bugzilla/Geant4 Problem 1155 + G4NeutronHPCaptureFS.cc + +2 December 2010 Tatsumi Koi (hadr-hpn-V09-03-11) +-Delete Unnecessary warnings + G4NeutronHPInelasticBaseFS.cc + +11 November 2010 Tatsumi Koi (hadr-hpn-V09-03-10) +-Change warning message for "repFlag == 2 && isoFlag != 1" case + G4NeutronHPPhotonDist.cc + +11 November 2010 Tatsumi Koi (hadr-hpn-V09-03-09) +-Add Special treatment in Be9(n,2n)Be8(2a) case + G4NeutronHPInelasticBaseFS.cc +-Add Safty for _nat_ data + G4NeutronHPInelasticCompFS.cc + +10 November 2010 Tatsumi Koi (hadr-hpn-V09-03-08) +-Set lower limit for gamma energy + G4NeutronHPFinalState.cc + +10 November 2010 Tatsumi Koi (hadr-hpn-V09-03-07) +-Bug fix in MF=6, LAW=2 case; contribution from E. Mendoza, D. Cano-Ott (CIEMAT) + G4NeutronHPDiscreteTwoBody.cc + +9 September 2010 Tatsumi Koi (hadr-hpn-V09-03-06) +- Add safty for negative value + G4NeutronHPInelasticCompFS.cc + +29 July 2010 Tatsumi Koi (hadr-hpn-V09-03-05) +- Add safty for zero lenght cross section table Problem #1118 + G4NeutronHPFissionData.cc + +29 July 2010 Tatsumi Koi (hadr-hpn-V09-03-04) +- Add model name in constructor Problem #1116 + G4NeutronHPThermalScattering.cc + +25 April 2010 Tatsumi Koi (hadr-hpn-V09-03-03) +- Fix compiler warning + G4NeutronHPInelasticCompFS.cc + +13 April 2010 Tatsumi Koi (hadr-hpn-V09-03-02) +- Fix bug about incidence energy + G4NeutronHPEnAngCorrelation.cc + +6 April 2010 Tatsumi Koi (hadr-hpn-V09-03-01) +- "nothingWasKnownOnHadron=1" then sample mu isotropic in CM + mu and p are correlated + G4NeutronHPInelasticCompFS.hh + G4NeutronHPInelasticCompFS.cc + +24 March 2010 Dennis Wright (hadr-hpn-V09-03-00) +------------------------------------------------- +- move all code in hadr-hpn-V09-02-01 to HEAD and tag as + hadr-hpn-V09-03-00 + +18 November 2009 Tatsumi Koi (hadr-hpn-V09-02-01) +------------------------------------------------- +- Add Ignore and Enable On Flight Doppler Broadening methods + G4NeutronHPElasticData.cc + G4NeutronHPInelasticData.cc + G4NeutronHPCaptureData.cc + +22 September 2009 Tatsumi Koi (hadr-hpn-V09-02-00) +- Add safty for Floating Point Exception caused by 0 kinetic energy neutron + G4NeutronHPCaptureData.cc + G4NeutronHPElasticData.cc + G4NeutronHPInelasticData.cc + G4NeutronHPFissionData.cc + G4NeutronHPorLCaptureData.cc + G4NeutronHPorLEInelasticData.cc + G4NeutronHPorLElasticData.cc + G4NeutronHPorLFissionData.cc + +14 May 2009 Tatsumi Koi (hadr-hpn-V09-01-29) - Fix bug in IC electron emissions: Contribution from Chao Zhang (Chao.Zhang@usd.edu) and Dongming Mei(Dongming.Mei@usd.edu) G4NeutronHPPhotonDist.cc G4NeutronHPInelasticCompFS.cc diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh index 3fd83ace41..b14caf7fdc 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // -// $Id: G4NeutronHPCaptureData.hh,v 1.11 2008/04/28 19:07:54 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NeutronHPCaptureData.hh,v 1.12 2009/11/18 23:16:57 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // 080417 Add IsZAApplicable method (return false) by T. Koi // 080428 Add bool onFlightDB by T. Koi +// 091118 Add Ignore and Enable On Flight Doppler Broadening methods by T. Koi // #ifndef G4NeutronHPCaptureData_h #define G4NeutronHPCaptureData_h 1 @@ -66,6 +67,9 @@ class G4NeutronHPCaptureData : public G4VCrossSectionDataSet void BuildPhysicsTable(const G4ParticleDefinition&); void DumpPhysicsTable(const G4ParticleDefinition&); + + void IgnoreOnFlightDopplerBroadening(){ onFlightDB = false; }; + void EnableOnFlightDopplerBroadening(){ onFlightDB = true; }; private: diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh index d8645e08d3..bf29bf8164 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // -// $Id: G4NeutronHPElasticData.hh,v 1.11 2008/04/28 19:07:53 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NeutronHPElasticData.hh,v 1.12 2009/11/18 23:16:57 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // 080417 Add IsZAApplicable method (return false) by T. Koi // 080428 Add bool onFlightDB by T. Koi +// 091118 Add Ignore and Enable On Flight Doppler Broadening methods by T. Koi // #ifndef G4NeutronHPElasticData_h #define G4NeutronHPElasticData_h 1 @@ -66,6 +67,9 @@ class G4NeutronHPElasticData : public G4VCrossSectionDataSet void BuildPhysicsTable(const G4ParticleDefinition&); void DumpPhysicsTable(const G4ParticleDefinition&); + + void IgnoreOnFlightDopplerBroadening(){ onFlightDB = false; }; + void EnableOnFlightDopplerBroadening(){ onFlightDB = true; }; private: diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticCompFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticCompFS.hh index 893ccc6109..de8068147d 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticCompFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticCompFS.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPInelasticCompFS.hh,v 1.13 2007/06/06 12:45:13 ahoward Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NeutronHPInelasticCompFS.hh,v 1.14 2010/04/06 19:06:11 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef G4NeutronHPInelasticCompFS_h #define G4NeutronHPInelasticCompFS_h 1 @@ -108,5 +108,10 @@ class G4NeutronHPInelasticCompFS : public G4NeutronHPFinalState G4double theCurrentA; G4double theCurrentZ; + + private: + // proj targ had mu of had + void two_body_reaction ( G4DynamicParticle* , G4DynamicParticle* , G4DynamicParticle* , G4double mu ); + }; #endif diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh index a081cbaca4..7c729f715b 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh @@ -24,11 +24,12 @@ // ******************************************************************** // // -// $Id: G4NeutronHPInelasticData.hh,v 1.11 2008/04/28 19:07:54 tkoi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NeutronHPInelasticData.hh,v 1.12 2009/11/18 23:16:57 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // 080417 Add IsZAApplicable method (return false) by T. Koi // 080428 Add bool onFlightDB by T. Koi +// 091118 Add Ignore and Enable On Flight Doppler Broadening methods by T. Koi // #ifndef G4NeutronHPInelasticData_h #define G4NeutronHPInelasticData_h 1 @@ -66,6 +67,9 @@ class G4NeutronHPInelasticData : public G4VCrossSectionDataSet void BuildPhysicsTable(const G4ParticleDefinition&); void DumpPhysicsTable(const G4ParticleDefinition&); + + void IgnoreOnFlightDopplerBroadening(){ onFlightDB = false; }; + void EnableOnFlightDopplerBroadening(){ onFlightDB = true; }; private: diff --git a/source/processes/hadronic/models/neutron_hp/sources.cmake b/source/processes/hadronic/models/neutron_hp/sources.cmake new file mode 100644 index 0000000000..3e2bf2a9fc --- /dev/null +++ b/source/processes/hadronic/models/neutron_hp/sources.cmake @@ -0,0 +1,324 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4had_neu_hp +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_neu_hp +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:04:11 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/photon_evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/low_energy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4had_neu_hp + HEADERS + G4NeutronHPList.hh + G4InterpolationIterator.hh + G4NeutronHPIsoData.hh + G4InterpolationManager.hh + G4NeutronHPLevel.hh + G4InterpolationScheme.hh + G4NeutronHP2AInelasticFS.hh + G4NeutronHPNames.hh + G4NeutronHP2N2AInelasticFS.hh + G4NeutronHPPartial.hh + G4NeutronHP2NAInelasticFS.hh + G4NeutronHPProduct.hh + G4NeutronHP2NDInelasticFS.hh + G4NeutronHPVector.hh + G4NeutronHP2NInelasticFS.hh + G4VNeutronHPEDis.hh + G4NeutronHP2NPInelasticFS.hh + G4NeutronHP2PInelasticFS.hh + G4NeutronHP3AInelasticFS.hh + G4NeutronHP3NAInelasticFS.hh + G4NeutronHP3NInelasticFS.hh + G4NeutronHP3NPInelasticFS.hh + G4NeutronHP4NInelasticFS.hh + G4NeutronHPAInelasticFS.hh + G4NeutronHPAngular.hh + G4NeutronHPAngularP.hh + G4NeutronHPArbitaryTab.hh + G4NeutronHPCapture.hh + G4NeutronHPCaptureData.hh + G4NeutronHPCaptureFS.hh + G4NeutronHPChannel.hh + G4NeutronHPChannelList.hh + G4NeutronHPContAngularPar.hh + G4NeutronHPContEnergyAngular.hh + G4NeutronHPD2AInelasticFS.hh + G4NeutronHPDAInelasticFS.hh + G4NeutronHPDInelasticFS.hh + G4NeutronHPData.hh + G4NeutronHPDataPoint.hh + G4NeutronHPDataUsed.hh + G4NeutronHPDeExGammas.hh + G4NeutronHPDiscreteTwoBody.hh + G4NeutronHPElastic.hh + G4NeutronHPElasticData.hh + G4NeutronHPElasticFS.hh + G4NeutronHPElementData.hh + G4NeutronHPEnAngCorrelation.hh + G4NeutronHPEnergyDistribution.hh + G4NeutronHPEvapSpectrum.hh + G4NeutronHPFCFissionFS.hh + G4NeutronHPFSFissionFS.hh + G4NeutronHPFastLegendre.hh + G4NeutronHPField.hh + G4NeutronHPFieldPoint.hh + G4NeutronHPFinalState.hh + G4NeutronHPFission.hh + G4NeutronHPFissionBaseFS.hh + G4NeutronHPFissionData.hh + G4NeutronHPFissionERelease.hh + G4NeutronHPFissionFS.hh + G4NeutronHPFissionSpectrum.hh + G4NeutronHPGamma.hh + G4NeutronHPHash.hh + G4NeutronHPHe3InelasticFS.hh + G4NeutronHPInelastic.hh + G4NeutronHPInelasticBaseFS.hh + G4NeutronHPInelasticCompFS.hh + G4NeutronHPInelasticData.hh + G4NeutronHPInterpolator.hh + G4NeutronHPIsotropic.hh + G4NeutronHPJENDLHEData.hh + G4NeutronHPJENDLHEElasticData.hh + G4NeutronHPJENDLHEInelasticData.hh + G4NeutronHPKallbachMannSyst.hh + G4NeutronHPLCFissionFS.hh + G4NeutronHPLabAngularEnergy.hh + G4NeutronHPLegendreStore.hh + G4NeutronHPLegendreTable.hh + G4NeutronHPMadlandNixSpectrum.hh + G4NeutronHPN2AInelasticFS.hh + G4NeutronHPN2PInelasticFS.hh + G4NeutronHPN3AInelasticFS.hh + G4NeutronHPNAInelasticFS.hh + G4NeutronHPNBodyPhaseSpace.hh + G4NeutronHPND2AInelasticFS.hh + G4NeutronHPNDInelasticFS.hh + G4NeutronHPNHe3InelasticFS.hh + G4NeutronHPNInelasticFS.hh + G4NeutronHPNPAInelasticFS.hh + G4NeutronHPNPInelasticFS.hh + G4NeutronHPNT2AInelasticFS.hh + G4NeutronHPNTInelasticFS.hh + G4NeutronHPNXInelasticFS.hh + G4NeutronHPNeutronYield.hh + G4NeutronHPPAInelasticFS.hh + G4NeutronHPPDInelasticFS.hh + G4NeutronHPPInelasticFS.hh + G4NeutronHPPTInelasticFS.hh + G4NeutronHPPhotonDist.hh + G4NeutronHPPhotonXSection.hh + G4NeutronHPPolynomExpansion.hh + G4NeutronHPSCFissionFS.hh + G4NeutronHPSimpleEvapSpectrum.hh + G4NeutronHPT2AInelasticFS.hh + G4NeutronHPTCFissionFS.hh + G4NeutronHPTInelasticFS.hh + G4NeutronHPThermalBoost.hh + G4NeutronHPThermalScattering.hh + G4NeutronHPThermalScatteringData.hh + G4NeutronHPThermalScatteringNames.hh + G4NeutronHPWattSpectrum.hh + G4NeutronHPorLCapture.hh + G4NeutronHPorLCaptureData.hh + G4NeutronHPorLCaptureModel.hh + G4NeutronHPorLEInelastic.hh + G4NeutronHPorLEInelasticData.hh + G4NeutronHPorLEInelasticModel.hh + G4NeutronHPorLElastic.hh + G4NeutronHPorLElasticData.hh + G4NeutronHPorLElasticModel.hh + G4NeutronHPorLFission.hh + G4NeutronHPorLFissionData.hh + G4NeutronHPorLFissionModel.hh + G4VNeutronHPEnergyAngular.hh + SOURCES + G4NeutronHPIsoData.cc + G4InterpolationManager.cc + G4NeutronHPLevel.cc + G4NeutronHP2AInelasticFS.cc + G4NeutronHPList.cc + G4NeutronHP2N2AInelasticFS.cc + G4NeutronHPPartial.cc + G4NeutronHP2NAInelasticFS.cc + G4NeutronHPNames.cc + G4NeutronHP2NDInelasticFS.cc + G4NeutronHP2NInelasticFS.cc + G4NeutronHPProduct.cc + G4NeutronHP2NPInelasticFS.cc + G4NeutronHPVector.cc + G4NeutronHP2PInelasticFS.cc + G4NeutronHP3AInelasticFS.cc + G4NeutronHP3NAInelasticFS.cc + G4NeutronHP3NInelasticFS.cc + G4NeutronHP3NPInelasticFS.cc + G4NeutronHP4NInelasticFS.cc + G4NeutronHPAInelasticFS.cc + G4NeutronHPAngular.cc + G4NeutronHPArbitaryTab.cc + G4NeutronHPCapture.cc + G4NeutronHPCaptureData.cc + G4NeutronHPCaptureFS.cc + G4NeutronHPChannel.cc + G4NeutronHPChannelList.cc + G4NeutronHPContAngularPar.cc + G4NeutronHPContEnergyAngular.cc + G4NeutronHPD2AInelasticFS.cc + G4NeutronHPDAInelasticFS.cc + G4NeutronHPDInelasticFS.cc + G4NeutronHPData.cc + G4NeutronHPDeExGammas.cc + G4NeutronHPDiscreteTwoBody.cc + G4NeutronHPElastic.cc + G4NeutronHPElasticData.cc + G4NeutronHPElasticFS.cc + G4NeutronHPElementData.cc + G4NeutronHPEnAngCorrelation.cc + G4NeutronHPFCFissionFS.cc + G4NeutronHPFSFissionFS.cc + G4NeutronHPFastLegendre.cc + G4NeutronHPFastLegendre_14.cc + G4NeutronHPFastLegendre_18.cc + G4NeutronHPFastLegendre_21.cc + G4NeutronHPFastLegendre_24.cc + G4NeutronHPFastLegendre_26.cc + G4NeutronHPFastLegendre_28.cc + G4NeutronHPFastLegendre_30.cc + G4NeutronHPField.cc + G4NeutronHPFieldPoint.cc + G4NeutronHPFinalState.cc + G4NeutronHPFission.cc + G4NeutronHPFissionBaseFS.cc + G4NeutronHPFissionData.cc + G4NeutronHPFissionFS.cc + G4NeutronHPGamma.cc + G4NeutronHPHe3InelasticFS.cc + G4NeutronHPInelastic.cc + G4NeutronHPInelasticBaseFS.cc + G4NeutronHPInelasticCompFS.cc + G4NeutronHPInelasticData.cc + G4NeutronHPInterpolator.cc + G4NeutronHPIsotropic.cc + G4NeutronHPJENDLHEData.cc + G4NeutronHPJENDLHEElasticData.cc + G4NeutronHPJENDLHEInelasticData.cc + G4NeutronHPKallbachMannSyst.cc + G4NeutronHPLCFissionFS.cc + G4NeutronHPLabAngularEnergy.cc + G4NeutronHPLegendreStore.cc + G4NeutronHPMadlandNixSpectrum.cc + G4NeutronHPN2AInelasticFS.cc + G4NeutronHPN2PInelasticFS.cc + G4NeutronHPN3AInelasticFS.cc + G4NeutronHPNAInelasticFS.cc + G4NeutronHPNBodyPhaseSpace.cc + G4NeutronHPND2AInelasticFS.cc + G4NeutronHPNDInelasticFS.cc + G4NeutronHPNHe3InelasticFS.cc + G4NeutronHPNInelasticFS.cc + G4NeutronHPNPAInelasticFS.cc + G4NeutronHPNPInelasticFS.cc + G4NeutronHPNT2AInelasticFS.cc + G4NeutronHPNTInelasticFS.cc + G4NeutronHPNXInelasticFS.cc + G4NeutronHPPAInelasticFS.cc + G4NeutronHPPDInelasticFS.cc + G4NeutronHPPInelasticFS.cc + G4NeutronHPPTInelasticFS.cc + G4NeutronHPPhotonDist.cc + G4NeutronHPSCFissionFS.cc + G4NeutronHPT2AInelasticFS.cc + G4NeutronHPTCFissionFS.cc + G4NeutronHPTInelasticFS.cc + G4NeutronHPThermalScattering.cc + G4NeutronHPThermalScatteringData.cc + G4NeutronHPThermalScatteringNames.cc + G4NeutronHPWattSpectrum.cc + G4NeutronHPorLCapture.cc + G4NeutronHPorLCaptureData.cc + G4NeutronHPorLCaptureModel.cc + G4NeutronHPorLEInelastic.cc + G4NeutronHPorLEInelasticData.cc + G4NeutronHPorLEInelasticModel.cc + G4NeutronHPorLElastic.cc + G4NeutronHPorLElasticData.cc + G4NeutronHPorLElasticModel.cc + G4NeutronHPorLFission.cc + G4NeutronHPorLFissionData.cc + G4NeutronHPorLFissionModel.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_mod_man + G4had_mod_util + G4hadronic_LE + G4hadronic_deex_management + G4hadronic_deex_photon_evaporation + G4hadronic_deex_util + G4hadronic_mgt + G4hadronic_proc + G4hadronic_util + G4hadronic_xsect + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureFS.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureFS.cc index 2f57431091..b1e9277f59 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureFS.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureFS.cc @@ -30,6 +30,7 @@ // 12-April-06 Enable IC electron emissions T. Koi // 26-January-07 Add G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION flag // 081024 G4NucleiPropertiesTable:: to G4NucleiProperties:: +// 101203 Bugzilla/Geant4 Problem 1155 Lack of residual in some case // #include "G4NeutronHPCaptureFS.hh" #include "G4Gamma.hh" @@ -42,6 +43,7 @@ G4HadFinalState * G4NeutronHPCaptureFS::ApplyYourself(const G4HadProjectile & theTrack) { + G4int i; theResult.Clear(); // prepare neutron @@ -107,6 +109,8 @@ delete products; } + + // add them to the final state G4int nPhotons = 0; @@ -114,6 +118,32 @@ G4int nParticles = nPhotons; if(1==nPhotons) nParticles = 2; + +//Make at least one photon +//101203 TK + if ( nPhotons == 0 ) + { + G4ReactionProduct * theOne = new G4ReactionProduct; + theOne->SetDefinition( G4Gamma::Gamma() ); + G4double theta = pi*G4UniformRand(); + G4double phi = twopi*G4UniformRand(); + G4double sinth = std::sin(theta); + G4ThreeVector direction( sinth*std::cos(phi), sinth*std::sin(phi), std::cos(theta) ); + theOne->SetMomentum( direction ) ; + thePhotons->push_back(theOne); + nPhotons++; // 0 -> 1 + } +//One photon case: energy set to Q-value +//101203 TK + if ( nPhotons == 1 ) + { + G4ThreeVector direction = thePhotons->operator[](0)->GetMomentum().unit(); + G4double Q = G4ParticleTable::GetParticleTable()->FindIon(static_cast(theBaseZ), static_cast(theBaseA), 0, static_cast(theBaseZ))->GetPDGMass() + G4Neutron::Neutron()->GetPDGMass() + - G4ParticleTable::GetParticleTable()->FindIon(static_cast(theBaseZ), static_cast(theBaseA+1), 0, static_cast(theBaseZ))->GetPDGMass(); + thePhotons->operator[](0)->SetMomentum( Q*direction ); + } +// + // back to lab system for(i=0; ioperator[](i); } delete thePhotons; + +//101203TK + G4bool residual = false; + G4ParticleDefinition * aRecoil = G4ParticleTable::GetParticleTable() + ->FindIon(static_cast(theBaseZ), static_cast(theBaseA+1), 0, static_cast(theBaseZ)); + for ( G4int i = 0 ; i != theResult.GetNumberOfSecondaries() ; i++ ) + { + if ( theResult.GetSecondary(i)->GetParticle()->GetDefinition() == aRecoil ) residual = true; + } + + if ( residual == false ) + { + G4ParticleDefinition * aRecoil = G4ParticleTable::GetParticleTable() + ->FindIon(static_cast(theBaseZ), static_cast(theBaseA+1), 0, static_cast(theBaseZ)); + G4int nNonZero = 0; + G4LorentzVector p_photons(0,0,0,0); + for ( G4int i = 0 ; i != theResult.GetNumberOfSecondaries() ; i++ ) + { + p_photons += theResult.GetSecondary(i)->GetParticle()->Get4Momentum(); + // To many 0 momentum photons -> Check PhotonDist + if ( theResult.GetSecondary(i)->GetParticle()->Get4Momentum() > 0 ) nNonZero++; + } + + // Can we include kinetic energy here? + G4double deltaE = ( theTrack.Get4Momentum().e() + theTarget.GetTotalEnergy() ) + - ( p_photons.e() + aRecoil->GetPDGMass() ); + +//Add photons + if ( nPhotons - nNonZero > 0 ) + { + //G4cout << "TKDB G4NeutronHPCaptureFS::ApplyYourself we will create additional " << nPhotons - nNonZero << " photons" << G4endl; + std::vector vRand; + vRand.push_back( 0.0 ); + for ( G4int i = 0 ; i != nPhotons - nNonZero - 1 ; i++ ) + { + vRand.push_back( G4UniformRand() ); + } + vRand.push_back( 1.0 ); + std::sort( vRand.begin(), vRand.end() ); + + std::vector vEPhoton; + for ( G4int i = 0 ; i < (G4int)vRand.size() - 1 ; i++ ) + { + vEPhoton.push_back( deltaE * ( vRand[i+1] - vRand[i] ) ); + } + std::sort( vEPhoton.begin(), vEPhoton.end() ); + + for ( G4int i = 0 ; i < nPhotons - nNonZero - 1 ; i++ ) + { + //Isotopic in LAB OK? + G4double theta = pi*G4UniformRand(); + G4double phi = twopi*G4UniformRand(); + G4double sinth = std::sin(theta); + G4double en = vEPhoton[i]; + G4ThreeVector tempVector(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) ); + + p_photons += G4LorentzVector ( tempVector, tempVector.mag() ); + G4DynamicParticle * theOne = new G4DynamicParticle; + theOne->SetDefinition( G4Gamma::Gamma() ); + theOne->SetMomentum( tempVector ); + theResult.AddSecondary(theOne); + } + +// Add last photon + G4DynamicParticle * theOne = new G4DynamicParticle; + theOne->SetDefinition( G4Gamma::Gamma() ); +// For better momentum conservation + G4ThreeVector lastPhoton = -p_photons.vect().unit()*vEPhoton.back(); + p_photons += G4LorentzVector( lastPhoton , lastPhoton.mag() ); + theOne->SetMomentum( lastPhoton ); + theResult.AddSecondary(theOne); + } + +//Add residual + G4DynamicParticle * theOne = new G4DynamicParticle; + G4ThreeVector aMomentum = theTrack.Get4Momentum().vect() + theTarget.GetMomentum() + - p_photons.vect(); + theOne->SetDefinition(aRecoil); + theOne->SetMomentum( aMomentum ); + theResult.AddSecondary(theOne); + + } +//101203TK END + // clean up the primary neutron theResult.SetStatusChange(stopAndKill); return &theResult; diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPDiscreteTwoBody.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPDiscreteTwoBody.cc index 0d36c90200..0b867a3954 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPDiscreteTwoBody.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPDiscreteTwoBody.cc @@ -29,6 +29,7 @@ // //080612 Bug fix contribution from Benoit Pirard and Laurent Desorgher (Univ. Bern) #2,3 //080709 Bug fix Sampling Legendre expansion by T. Koi +//101110 Bug fix in MF=6, LAW=2 case; contribution from E. Mendoza, D. Cano-Ott (CIEMAT) // #include "G4NeutronHPDiscreteTwoBody.hh" #include "G4Gamma.hh" @@ -110,8 +111,11 @@ G4ReactionProduct * G4NeutronHPDiscreteTwoBody::Sample(G4double anEnergy, G4doub theStore.SetInterpolationManager(aManager); for(i=0;ioperator[](ii)->SetMomentum(pTmp1.vect()); it->operator[](ii)->SetTotalEnergy(pTmp1.e()); - if(frameFlag==1) // target rest + if(frameFlag==1) // target rest //TK 100413 should be LAB? { - it->operator[](ii)->Lorentz(*(it->operator[](ii)), -1.*theTarget); + it->operator[](ii)->Lorentz(*(it->operator[](ii)), -1.*theTarget); //TK 100413 Is this really need? } else if(frameFlag==2) // CMS { diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFinalState.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFinalState.cc index b26650a9ae..8cb6d559ef 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFinalState.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFinalState.cc @@ -26,6 +26,7 @@ // //080721 Create adjust_final_state method by T. Koi //080801 Residual reconstruction with theNDLDataA,Z (A, Z, and momentum are adjusted) by T. Koi +//101110 Set lower limit for gamma energy(1keV) by T. Koi #include "G4NeutronHPFinalState.hh" @@ -37,6 +38,8 @@ void G4NeutronHPFinalState::adjust_final_state ( G4LorentzVector init_4p_lab ) { + G4double minimum_energy = 1*keV; + if ( adjustResult != true ) return; G4int nSecondaries = theResult.GetNumberOfSecondaries(); @@ -174,7 +177,8 @@ void G4NeutronHPFinalState::adjust_final_state ( G4LorentzVector init_4p_lab ) { // Adjust p - if ( dif_4p.v().mag() < 1*MeV ) + //if ( dif_4p.v().mag() < 1*MeV ) + if ( minimum_energy < dif_4p.v().mag() && dif_4p.v().mag() < 1*MeV ) { nSecondaries += 1; @@ -183,7 +187,7 @@ void G4NeutronHPFinalState::adjust_final_state ( G4LorentzVector init_4p_lab ) } else { - //G4cout << "HP_DB Difference in dif_p is too large (>1MeV) to adjust, so that give up tuning" << G4endl; + //G4cout << "HP_DB Difference in dif_p is too large (>1MeV) or too small(<1keV) to adjust, so that give up tuning" << G4endl; } } @@ -212,13 +216,21 @@ void G4NeutronHPFinalState::adjust_final_state ( G4LorentzVector init_4p_lab ) nSecondaries += 2; G4double e1 = ( dif_4p.e() -dif_4p.v().mag() ) / 2; - G4double costh = 2.*G4UniformRand()-1.; - G4double phi = twopi*G4UniformRand(); - G4ThreeVector dir( std::sin(std::acos(costh))*std::cos(phi), - std::sin(std::acos(costh))*std::sin(phi), - costh); - theResult.AddSecondary ( new G4DynamicParticle ( G4Gamma::Gamma() , e1*dir ) ); - theResult.AddSecondary ( new G4DynamicParticle ( G4Gamma::Gamma() , -e1*dir ) ); + + if ( minimum_energy < e1 ) + { + G4double costh = 2.*G4UniformRand()-1.; + G4double phi = twopi*G4UniformRand(); + G4ThreeVector dir( std::sin(std::acos(costh))*std::cos(phi), + std::sin(std::acos(costh))*std::sin(phi), + costh); + theResult.AddSecondary ( new G4DynamicParticle ( G4Gamma::Gamma() , e1*dir ) ); + theResult.AddSecondary ( new G4DynamicParticle ( G4Gamma::Gamma() , -e1*dir ) ); + } + else + { + //G4cout << "HP_DB Difference is too small(<1keV) to adjust, so that neglect it" << G4endl; + } } else //dif_e < 0 diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionData.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionData.cc index 8a422ea2d7..38f912b642 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionData.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionData.cc @@ -31,6 +31,7 @@ // 071002 enable cross section dump by T. Koi // 081024 G4NucleiPropertiesTable:: to G4NucleiProperties:: // 081124 Protect invalid read which caused run time errors by T. Koi +// 100729 Add safty for 0 lenght cross sections by T. Koi #include "G4NeutronHPFissionData.hh" #include "G4Neutron.hh" @@ -148,6 +149,9 @@ GetCrossSection(const G4DynamicParticle* aP, const G4Element*anE, G4double aT) G4bool outOfRange; G4int index = anE->GetIndex(); +// 100729 TK add safety +if ( ( ( *theCrossSections )( index ) )->GetVectorLength() == 0 ) return result; + // prepare neutron G4double eKinetic = aP->GetKineticEnergy(); G4ReactionProduct theNeutron( aP->GetDefinition() ); diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticBaseFS.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticBaseFS.cc index e3a35197f5..9ba3f77673 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticBaseFS.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticBaseFS.cc @@ -30,6 +30,7 @@ // 080801 Give a warning message for irregular mass value in data file by T. Koi // Introduce theNDLDataA,Z which has A and Z of NDL data by T. Koi // 081024 G4NucleiPropertiesTable:: to G4NucleiProperties:: +// 101111 Add Special treatment for Be9(n,2n)Be8(2a) case by T. Koi // #include "G4NeutronHPInelasticBaseFS.hh" #include "G4Nucleus.hh" @@ -359,6 +360,7 @@ if ( targetMass == 0 ) G4cout << "080731a It looks like something wrong value in } else if(theEnergyAngData!=0) { + G4double theGammaEnergy = theEnergyAngData->GetTotalMeanEnergy(); G4double anEnergy = boosted.GetKineticEnergy(); theGammaEnergy = anEnergy-theGammaEnergy; @@ -370,6 +372,7 @@ if ( targetMass == 0 ) G4cout << "080731a It looks like something wrong value in G4double eBindT = G4NucleiProperties::GetBindingEnergy(3,1); G4double eBindHe3 = G4NucleiProperties::GetBindingEnergy(3,2); G4double eBindA = G4NucleiProperties::GetBindingEnergy(4,2); + G4int ia=0; for(i=0; isize(); i++) { if(tmpHadrons->operator[](i)->GetDefinition() == G4Neutron::Neutron()) @@ -395,9 +398,25 @@ if ( targetMass == 0 ) G4cout << "080731a It looks like something wrong value in else if(tmpHadrons->operator[](i)->GetDefinition() == G4Alpha::Alpha()) { eBindProducts+=eBindA; + ia++; } } + theGammaEnergy += eBindProducts; + +//101111 +//Special treatment for Be9 + n -> 2n + Be8 -> 2n + a + a +if ( (G4int)(theBaseZ+eps) == 4 && (G4int)(theBaseA+eps) == 9 ) +{ + // This only valid for G4NDL3.13,,, + if ( std::abs( theNuclearMassDifference - + ( G4NucleiProperties::GetBindingEnergy( 8 , 4 ) - + G4NucleiProperties::GetBindingEnergy( 9 , 4 ) ) ) < 1*keV + && ia == 2 ) + { + theGammaEnergy -= (2*eBindA); + } +} G4ReactionProductVector * theOtherPhotons = 0; G4int iLevel; diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticCompFS.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticCompFS.cc index af4f24bd58..f76fda78e7 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticCompFS.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticCompFS.cc @@ -37,6 +37,10 @@ // 081024 G4NucleiPropertiesTable:: to G4NucleiProperties:: // 090514 Fix bug in IC electron emission case // Contribution from Chao Zhang (Chao.Zhang@usd.edu) and Dongming Mei(Dongming.Mei@usd.edu) +// 100406 "nothingWasKnownOnHadron=1" then sample mu isotropic in CM +// add two_body_reaction +// 100909 add safty +// 101111 add safty for _nat_ data case in Binary reaction, but break conservation // #include "G4NeutronHPInelasticCompFS.hh" #include "G4Nucleus.hh" @@ -273,24 +277,21 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack aHadron.SetKineticEnergy(availableEnergy*residualMass*G4Neutron::Neutron()->GetPDGMass()/ (aHadron.GetMass()+residualMass*G4Neutron::Neutron()->GetPDGMass())); - aHadron.SetMomentum(theNeutron.GetMomentum()*(1./theNeutron.GetTotalMomentum())* - std::sqrt(aHadron.GetTotalEnergy()*aHadron.GetTotalEnergy()- - aHadron.GetMass()*aHadron.GetMass())); + //aHadron.SetMomentum(theNeutron.GetMomentum()*(1./theNeutron.GetTotalMomentum())* + // std::sqrt(aHadron.GetTotalEnergy()*aHadron.GetTotalEnergy()- + // aHadron.GetMass()*aHadron.GetMass())); -/* - G4double p2 = ( aHadron.GetTotalEnergy()*aHadron.GetTotalEnergy()-aHadron.GetMass()*aHadron.GetMass() ); + //TK add safty 100909 + G4double p2 = ( aHadron.GetTotalEnergy()*aHadron.GetTotalEnergy() - aHadron.GetMass()*aHadron.GetMass() ); G4double p = 0.0; - if ( p2 > 0.0 ) - { - p = std::sqrt( p ); - } + if ( p2 > 0.0 ) p = std::sqrt( p ); + aHadron.SetMomentum(theNeutron.GetMomentum()*(1./theNeutron.GetTotalMomentum())*p ); -*/ } else { - while( iLevel!=-1 && theGammas.GetLevel(iLevel)==0 ) { iLevel--; } + while( iLevel!=-1 && theGammas.GetLevel(iLevel) == 0 ) { iLevel--; } } @@ -435,6 +436,47 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack //G4cout << "nothingWasKnownOnHadron " << nothingWasKnownOnHadron << G4endl; if(nothingWasKnownOnHadron) { +// TKDB 100405 +// In this case, hadron should be isotropic in CM +// mu and p should be correlated +// + G4double totalPhotonEnergy = 0.0; + if ( thePhotons != 0 ) + { + unsigned int nPhotons = thePhotons->size(); + unsigned int i0; + for ( i0=0; i0operator[](i0)->GetTotalEnergy(); + } + } + + //isotropic distribution in CM + G4double mu = 1.0 - 2 * G4UniformRand(); + + // need momentums in target rest frame; + G4LorentzVector target_in_LAB ( theTarget.GetMomentum() , theTarget.GetTotalEnergy() ); + G4ThreeVector boostToTargetRest = -target_in_LAB.boostVector(); + G4LorentzVector proj_in_LAB = incidentParticle->Get4Momentum(); + + G4DynamicParticle* proj = new G4DynamicParticle( G4Neutron::Neutron() , proj_in_LAB.boost( boostToTargetRest ) ); + G4DynamicParticle* targ = new G4DynamicParticle( G4ParticleTable::GetParticleTable()->GetIon ( (G4int)theBaseZ , (G4int)theBaseA , totalPhotonEnergy ) , G4ThreeVector(0) ); + G4DynamicParticle* hadron = new G4DynamicParticle( aHadron.GetDefinition() , G4ThreeVector(0) ); // will be fill momentum + + two_body_reaction ( proj , targ , hadron , mu ); + + G4LorentzVector hadron_in_trag_rest = hadron->Get4Momentum(); + G4LorentzVector hadron_in_LAB = hadron_in_trag_rest.boost ( -boostToTargetRest ); + aHadron.SetMomentum( hadron_in_LAB.v() ); + aHadron.SetKineticEnergy ( hadron_in_LAB.e() - hadron_in_LAB.m() ); + + delete proj; + delete targ; + delete hadron; + +//TKDB 100405 +/* G4double totalPhotonEnergy = 0; if(thePhotons!=0) { @@ -462,6 +504,7 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack p = std::sqrt ( p2 ); aHadron.SetMomentum( Vector*p ); +*/ } @@ -601,3 +644,89 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack // clean up the primary neutron theResult.SetStatusChange(stopAndKill); } + + + +#include "G4RotationMatrix.hh" +void G4NeutronHPInelasticCompFS::two_body_reaction ( G4DynamicParticle* proj, G4DynamicParticle* targ, G4DynamicParticle* hadron, G4double mu ) +{ + +// Target rest flame +// 4vector in targ rest frame; +// targ could have excitation energy (photon energy will be emiited) tricky but,,, + + G4LorentzVector before = proj->Get4Momentum() + targ->Get4Momentum(); + + G4ThreeVector p3_proj = proj->GetMomentum(); + G4ThreeVector d = p3_proj.unit(); + G4RotationMatrix rot; + G4RotationMatrix rot1; + rot1.setPhi( pi/2 + d.phi() ); + G4RotationMatrix rot2; + rot2.setTheta( d.theta() ); + rot=rot2*rot1; + proj->SetMomentum( rot*p3_proj ); + +// Now proj only has pz component; + +// mu in CM system + + //Valid only for neutron incidence + G4DynamicParticle* residual = new G4DynamicParticle ( G4ParticleTable::GetParticleTable()->GetIon ( (G4int)( targ->GetDefinition()->GetPDGCharge() - hadron->GetDefinition()->GetPDGCharge() ) , (G4int)(targ->GetDefinition()->GetBaryonNumber() - hadron->GetDefinition()->GetBaryonNumber()+1) , 0 ) , G4ThreeVector(0) ); + + G4double Q = proj->GetDefinition()->GetPDGMass() + targ->GetDefinition()->GetPDGMass() + - ( hadron->GetDefinition()->GetPDGMass() + residual->GetDefinition()->GetPDGMass() ); + + // Non Relativistic Case + G4double A = targ->GetDefinition()->GetPDGMass() / proj->GetDefinition()->GetPDGMass(); + G4double AA = hadron->GetDefinition()->GetPDGMass() / proj->GetDefinition()->GetPDGMass(); + G4double E1 = proj->GetKineticEnergy(); + +// 101111 +// In _nat_ data (Q+E1) could become negative value, following line is safty for this case. + //if ( (Q+E1) < 0 ) + if ( ( 1 + (1+A)/A*Q/E1 ) < 0 ) + { +// 1.0e-6 eV is additional safty for numeric precision + Q = -( A/(1+A)*E1 ) + 1.0e-6*eV; + } + + G4double beta = std::sqrt ( A*(A+1-AA)/AA*( 1 + (1+A)/A*Q/E1 ) ); + G4double gamma = AA/(A+1-AA)*beta; + G4double E3 = AA/std::pow((1+A),2)*(beta*beta+1+2*beta*mu)*E1; + G4double omega3 = (1+beta*mu)/std::sqrt(beta*beta+1+2*beta*mu); + + G4double E4 = (A+1-AA)/std::pow((1+A),2)*(gamma*gamma+1-2*gamma*mu)*E1; + G4double omega4 = (1-gamma*mu)/std::sqrt(gamma*gamma+1-2*gamma*mu); + + hadron->SetKineticEnergy ( E3 ); + + G4double M = hadron->GetDefinition()->GetPDGMass(); + G4double pmag = std::sqrt ((E3+M)*(E3+M)-M*M) ; + G4ThreeVector p ( 0 , pmag*std::sqrt(1-omega3*omega3), pmag*omega3 ); + + G4double M4 = residual->GetDefinition()->GetPDGMass(); + G4double pmag4 = std::sqrt ((E4+M4)*(E4+M4)-M4*M4) ; + G4ThreeVector p4 ( 0 , -pmag4*std::sqrt(1-omega4*omega4), pmag4*omega4 ); + +// Rotate to orginal target rest flame. + p *= rot.inverse(); + hadron->SetMomentum( p ); +// Now hadron had 4 momentum in target rest flame + +// TypeA + p4 *= rot.inverse(); + residual->SetMomentum ( p4 ); + +//TypeB1 + //residual->Set4Momentum ( p4_residual ); +//TypeB2 + //residual->SetMomentum ( p4_residual.v() ); + +// Type A make difference in Momenutum +// Type B1 make difference in Mass of residual +// Type B2 make difference in total energy. + + delete residual; + +} diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPPhotonDist.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPPhotonDist.cc index 73132db49b..e3253da8ca 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPPhotonDist.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPPhotonDist.cc @@ -38,6 +38,7 @@ // 090514 Fix bug in IC electron emission case // Contribution from Chao Zhang (Chao.Zhang@usd.edu) and Dongming Mei(Dongming.Mei@usd.edu) // But it looks like never cause real effect in G4NDL3.13 (at least Natural elements) TK +// 101111 Change warning message for "repFlag == 2 && isoFlag != 1" case // // there is a lot of unused (and undebugged) code in this file. Kept for the moment just in case. @@ @@ -123,7 +124,7 @@ void G4NeutronHPPhotonDist::InitAngular(std::ifstream & aDataFile) aDataFile >> isoFlag; if (isoFlag != 1) { -if ( repFlag == 2 ) G4cout << "TKDB repFlag == 2 && isoFlag !=1 " << G4endl; +if ( repFlag == 2 ) G4cout << "G4NeutronHPPhotonDist: repFlag == 2 && isoFlag != 1 is unexpected! If you use G4ND3.x, then please report to Geant4 Hyper News. Thanks." << G4endl; aDataFile >> tabulationType >> nDiscrete2 >> nIso; //080731 if ( theGammas != NULL && nDiscrete2 != nDiscrete ) G4cout << "080731c G4NeutronHPPhotonDist nDiscrete2 != nDiscrete, It looks like something wrong in your NDL files. Please update the latest. If you still have this messages after the update, then please report to Geant4 Hyper News." << G4endl; diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScattering.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScattering.cc index 270ceafbb0..01eed9b124 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScattering.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScattering.cc @@ -39,6 +39,7 @@ // 070625 Fix memory leaking at destructor by T. Koi // 081201 Fix memory leaking at destructor by T. Koi +// 100729 Add model name in constructor Problem #1116 #include "G4NeutronHPThermalScattering.hh" #include "G4Neutron.hh" @@ -47,6 +48,7 @@ G4NeutronHPThermalScattering::G4NeutronHPThermalScattering() + :G4HadronicInteraction("NeutronHPThermalScattering") { theHPElastic = new G4NeutronHPElastic(); diff --git a/source/processes/hadronic/models/parton_string/CMakeLists.txt b/source/processes/hadronic/models/parton_string/CMakeLists.txt new file mode 100644 index 0000000000..0eb10a9f7f --- /dev/null +++ b/source/processes/hadronic/models/parton_string/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4had_string +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_string +# +# Intermediate level CMakeLists.txt - just process subdirectories +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:04:26 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(diffraction) +add_subdirectory(hadronization) +add_subdirectory(management) +add_subdirectory(qgsm) + diff --git a/source/processes/hadronic/models/parton_string/History b/source/processes/hadronic/models/parton_string/History index d1a54935a4..06b9c664f7 100644 --- a/source/processes/hadronic/models/parton_string/History +++ b/source/processes/hadronic/models/parton_string/History @@ -13,6 +13,12 @@ code and to keep track of all tags. --------------------------------------------------------------- * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +9 Dec. 2009, V. Uzhinsky (hadr-prtn-V09-03-00) + Crush found by Alberto with AveragePt2=0 is erased in FTF. +-------------------------------------------------------- +6 December 2009, V. Uzhinsky (hadr-prtn-V09-02-10) + Some correstions are made in diffr., hadronization and managment + to treat kinky string fragmentation. 19 November 2009, Gunter Folger (hadr-prtn-V09-02-09) - G4VParticipants.hh: use modified name of method to sort nucleons in G4V3DNucleus diff --git a/source/processes/hadronic/models/parton_string/diffraction/CMakeLists.txt b/source/processes/hadronic/models/parton_string/diffraction/CMakeLists.txt new file mode 100644 index 0000000000..b0d34a6595 --- /dev/null +++ b/source/processes/hadronic/models/parton_string/diffraction/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4had_string_diff +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_string.G4had_string_diff +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:04:35 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/parton_string/diffraction/History b/source/processes/hadronic/models/parton_string/diffraction/History index e80993330d..9bcd5d72fc 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/History +++ b/source/processes/hadronic/models/parton_string/diffraction/History @@ -1,4 +1,4 @@ -$Id: History,v 1.29 2009/12/15 19:20:46 vuzhinsk Exp $ +$Id: History,v 1.34 2010/11/15 10:10:16 vuzhinsk Exp $ ------------------------------------------------------------------- ========================================================== @@ -14,12 +14,31 @@ code and to keep track of all tags. --------------------------------------------------------------- * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +15 Nov. 2010, V. Uzhinsky (hadr-string-diff-V09-03-04) +FTF with tuned parameters for pA and PiA interactions. + Quark exchange is tuned. + Low mass string fragmentation is improved. + Reggeon cascade parameters are tuned. + +-------------------------------------------------------- +20 Sept. 2010, V, Uzhinsky (hadr-string-diff-V09-03-03) +FTF with new tuned parameters of nuclear destrustion is implemented. +The parameters were tuned using HARP-CDP data on p+Cu interactions. +They will be re-tuned for heavy nuclei a little bit. + +---------------------------------------------------- +8 Sept 2010 G.Folger (hadr-string-diff-V09-03-02) + G4FTFModel.cc: use integer interace of G4Nucleus + +14 Jun 2010 G.Cosmo (hadr-string-diff-V09-03-01) + Added missing virtual destructor to G4DiffractiveHHScatterer. + 15 Dec 2009 V.Uzhinsky (hadr-string-diff-V09-02-23) - Bug was fixed for Kaon + A interactions in G4DiffractiveExcitation.cc + Bug was fixed for Kaon + A interactions in G4DiffractiveExcitation.cc ------------------------------------------------------------ 15 Dec 2009 G.Folger (hadr-string-diff-V09-02-22) -- G4FTFModel: In ctor, initialise NumberOfInvolvedNucleon + G4FTFModel: In ctor, initialise NumberOfInvolvedNucleon 14 Dec. 2009 V. Uzhinsky (hadr-string-diff-V09-02-21) Momentum sampling in the reggeon cascade is improved. diff --git a/source/processes/hadronic/models/parton_string/diffraction/include/G4DiffractiveHHScatterer.hh b/source/processes/hadronic/models/parton_string/diffraction/include/G4DiffractiveHHScatterer.hh index 34fde7f1f7..b681283acb 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/include/G4DiffractiveHHScatterer.hh +++ b/source/processes/hadronic/models/parton_string/diffraction/include/G4DiffractiveHHScatterer.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4DiffractiveHHScatterer.hh,v 1.7 2009/10/06 10:10:36 vuzhinsk Exp $ +// $Id: G4DiffractiveHHScatterer.hh,v 1.8 2010/06/14 16:26:46 gcosmo Exp $ #ifndef G4DiffractiveHHScatterer_h #define G4DiffractiveHHScatterer_h 1 @@ -51,10 +51,11 @@ class G4DiffractiveHHScatterer public: G4DiffractiveHHScatterer(); - + virtual ~G4DiffractiveHHScatterer(); + // G4KineticTrackVector * Scatter(const G4KineticTrack & aTrack, const G4KineticTrack & bTrack); - virtual void CreateStrings() const; + virtual void CreateStrings() const; /* (G4VSplitableHadron * aHadron, G4bool isProjectile, diff --git a/source/processes/hadronic/models/parton_string/diffraction/include/G4DiffractiveSplitableHadron.hh b/source/processes/hadronic/models/parton_string/diffraction/include/G4DiffractiveSplitableHadron.hh index 38d4b41968..f73b88f6b7 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/include/G4DiffractiveSplitableHadron.hh +++ b/source/processes/hadronic/models/parton_string/diffraction/include/G4DiffractiveSplitableHadron.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DiffractiveSplitableHadron.hh,v 1.5 2009/08/03 13:14:19 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DiffractiveSplitableHadron.hh,v 1.6 2010/09/20 15:50:46 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4DiffractiveSplitableHadron_h diff --git a/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFModel.hh b/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFModel.hh index dfe3bf5174..d377506278 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFModel.hh +++ b/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFModel.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FTFModel.hh,v 1.10 2009/10/25 10:50:54 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFModel.hh,v 1.11 2010/09/20 15:50:46 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Class Description // Final state production code for hadron inelastic scattering above 20 GeV diff --git a/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFParameters.hh b/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFParameters.hh index 0b9db504f3..1daf4f099b 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFParameters.hh +++ b/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFParameters.hh @@ -26,17 +26,20 @@ #ifndef G4FTFParameters_h #define G4FTFParameters_h 1 // -// $Id: G4FTFParameters.hh,v 1.7 2009/10/25 10:50:54 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFParameters.hh,v 1.9 2010/11/15 10:05:19 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4Proton.hh" class G4FTFParameters { public: - G4FTFParameters(const G4ParticleDefinition * , G4double theA, - G4double theZ, + G4FTFParameters(const G4ParticleDefinition * , G4int theA, + G4int theZ, G4double s); +// G4FTFParameters(const G4ParticleDefinition * , G4double theA, +// G4double theZ, +// G4double s); ~G4FTFParameters(); @@ -62,6 +65,7 @@ class G4FTFParameters void SetMagQuarkExchange(const G4double aValue); void SetSlopeQuarkExchange(const G4double aValue); void SetDeltaProbAtQuarkExchange(const G4double aValue); + void SetProbOfSameQuarkExchange(const G4double aValue); void SetProjMinDiffMass(const G4double aValue); void SetProjMinNonDiffMass(const G4double aValue); @@ -80,6 +84,9 @@ class G4FTFParameters const G4double Pssbar ); // --------- Set parameters of nuclear destruction-------------------- + void SetMaxNumberOfCollisions(const G4double aValue, const G4double bValue); + void SetProbOfInteraction(const G4double aValue); + void SetCofNuclearDestruction(const G4double aValue); void SetR2ofNuclearDestruction(const G4double aValue); @@ -108,6 +115,7 @@ class G4FTFParameters G4double GetMagQuarkExchange(); G4double GetSlopeQuarkExchange(); G4double GetDeltaProbAtQuarkExchange(); + G4double GetProbOfSameQuarkExchange(); G4double GetProjMinDiffMass(); G4double GetProjMinNonDiffMass(); @@ -124,6 +132,9 @@ class G4FTFParameters std::vector GetQuarkProbabilitiesAtGluonSplitUp(); // --------- Get parameters of nuclear destruction--------------------- + G4double GetMaxNumberOfCollisions(); + G4double GetProbOfInteraction(); + G4double GetCofNuclearDestruction(); G4double GetR2ofNuclearDestruction(); @@ -154,6 +165,7 @@ class G4FTFParameters G4double MagQuarkExchange; G4double SlopeQuarkExchange; G4double DeltaProbAtQuarkExchange; + G4double ProbOfSameQuarkExchange; G4double ProjMinDiffMass; G4double ProjMinNonDiffMass; @@ -170,6 +182,9 @@ class G4FTFParameters std::vector QuarkProbabilitiesAtGluonSplitUp; // --------- Parameters of nuclear destruction------------------------ + G4double MaxNumberOfCollisions; + G4double ProbOfInelInteraction; + G4double CofNuclearDestruction; // Cnd of nuclear destruction G4double R2ofNuclearDestruction; // R2nd @@ -226,6 +241,8 @@ inline void G4FTFParameters::SetSlopeQuarkExchange(const G4double aValue) {SlopeQuarkExchange = aValue;} inline void G4FTFParameters::SetDeltaProbAtQuarkExchange(const G4double aValue) {DeltaProbAtQuarkExchange = aValue;} +inline void G4FTFParameters::SetProbOfSameQuarkExchange(const G4double aValue) + {ProbOfSameQuarkExchange = aValue;} inline void G4FTFParameters::SetProjMinDiffMass(const G4double aValue) {ProjMinDiffMass = aValue*GeV;} @@ -259,6 +276,24 @@ inline void G4FTFParameters::SetQuarkProbabilitiesAtGluonSplitUp( } // --------- Set parameters of nuclear destruction-------------------- +inline void G4FTFParameters::SetMaxNumberOfCollisions(const G4double Plab, + const G4double Pbound) + { + if(Plab > Pbound) + { + MaxNumberOfCollisions = Plab/Pbound; + SetProbOfInteraction(-1.); + } else + { +// MaxNumberOfCollisions = -1.; +// SetProbOfInteraction(std::exp(0.25*(Plab-Pbound))); + MaxNumberOfCollisions = 1; + SetProbOfInteraction(-1.); + } + } +inline void G4FTFParameters::SetProbOfInteraction(const G4double aValue) + {ProbOfInelInteraction = aValue;} + inline void G4FTFParameters::SetCofNuclearDestruction(const G4double aValue) {CofNuclearDestruction = aValue;} inline void G4FTFParameters::SetR2ofNuclearDestruction(const G4double aValue) @@ -303,9 +338,9 @@ inline G4double G4FTFParameters::GetAvaragePt2ofElasticScattering() // --------- Get parameters of excitations --------------------------- inline G4double G4FTFParameters::GetMagQuarkExchange() {return MagQuarkExchange;} inline G4double G4FTFParameters::GetSlopeQuarkExchange() {return SlopeQuarkExchange;} -inline G4double G4FTFParameters::GetDeltaProbAtQuarkExchange() - {return DeltaProbAtQuarkExchange;} - +inline G4double G4FTFParameters::GetDeltaProbAtQuarkExchange(){return + DeltaProbAtQuarkExchange;} +inline G4double G4FTFParameters::GetProbOfSameQuarkExchange(){return ProbOfSameQuarkExchange;} inline G4double G4FTFParameters::GetProjMinDiffMass() {return ProjMinDiffMass;} inline G4double G4FTFParameters::GetProjMinNonDiffMass() {return ProjMinNonDiffMass;} @@ -324,6 +359,9 @@ inline std::vector {return QuarkProbabilitiesAtGluonSplitUp;} // --------- Get parameters of nuclear destruction--------------------- +inline G4double G4FTFParameters::GetMaxNumberOfCollisions(){return MaxNumberOfCollisions;} +inline G4double G4FTFParameters::GetProbOfInteraction() {return ProbOfInelInteraction;} + inline G4double G4FTFParameters::GetCofNuclearDestruction(){return CofNuclearDestruction;} inline G4double G4FTFParameters::GetR2ofNuclearDestruction(){return R2ofNuclearDestruction;} diff --git a/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFParticipants.hh b/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFParticipants.hh index 49f3446e7c..ff86e7e403 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFParticipants.hh +++ b/source/processes/hadronic/models/parton_string/diffraction/include/G4FTFParticipants.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FTFParticipants.hh,v 1.6 2009/08/03 13:14:19 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFParticipants.hh,v 1.7 2010/09/20 15:50:46 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4FTFParticipants_h diff --git a/source/processes/hadronic/models/parton_string/diffraction/sources.cmake b/source/processes/hadronic/models/parton_string/diffraction/sources.cmake new file mode 100644 index 0000000000..33ab278c34 --- /dev/null +++ b/source/processes/hadronic/models/parton_string/diffraction/sources.cmake @@ -0,0 +1,99 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4had_string_diff +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_string.G4had_string_diff +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:04:44 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/shortlived/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/diffraction/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/hadronization/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4had_string_diff + HEADERS + G4DiffractiveExcitation.hh + G4DiffractiveHHScatterer.hh + G4DiffractiveSplitableHadron.hh + G4ElasticHNScattering.hh + G4FTFModel.hh + G4FTFParameters.hh + G4FTFParticipants.hh + SOURCES + G4DiffractiveExcitation.cc + G4DiffractiveHHScatterer.cc + G4DiffractiveSplitableHadron.cc + G4ElasticHNScattering.cc + G4FTFModel.cc + G4FTFParameters.cc + G4FTFParticipants.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_mod_man + G4had_mod_util + G4had_string_diff + G4had_string_frag + G4had_string_man + G4hadronic_mgt + G4hadronic_util + G4hepnumerics + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4shortlived + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveExcitation.cc b/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveExcitation.cc index 2acab3fccd..db43cb14d5 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveExcitation.cc +++ b/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveExcitation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4DiffractiveExcitation.cc,v 1.21 2009/12/15 19:14:31 vuzhinsk Exp $ +// $Id: G4DiffractiveExcitation.cc,v 1.23 2010/11/15 10:02:38 vuzhinsk Exp $ // ------------------------------------------------------------ // GEANT 4 class implemetation file // @@ -107,12 +107,13 @@ G4bool G4DiffractiveExcitation:: // -------------------- Target parameters ------------------------- G4int TargetPDGcode=target->GetDefinition()->GetPDGEncoding(); G4int absTargetPDGcode=std::abs(TargetPDGcode); +//G4cout<<"Excit "<Get4Momentum(); G4double M0target = Ptarget.mag(); - G4double TargetRapidity = Ptarget.rapidity(); +// G4double TargetRapidity = Ptarget.rapidity(); if(M0target < target->GetDefinition()->GetPDGMass()) { @@ -128,8 +129,8 @@ G4bool G4DiffractiveExcitation:: G4double AveragePt2=theParameters->GetAveragePt2(); - G4double ProbOfDiffraction=ProbProjectileDiffraction + - ProbTargetDiffraction; +// G4double ProbOfDiffraction=ProbProjectileDiffraction + +// ProbTargetDiffraction; G4double SumMasses=M0projectile+M0target+200.*MeV; @@ -161,7 +162,7 @@ G4bool G4DiffractiveExcitation:: G4double PZcms2, PZcms; G4double SqrtS=std::sqrt(S); - +//G4cout<<"SqrtS < 2300*MeV "< 1000 && (SqrtS < 2300*MeV || SqrtS < SumMasses)) {target->SetStatus(2); return false;} // The model cannot work for // p+p-interactions @@ -214,7 +215,13 @@ G4bool G4DiffractiveExcitation:: } G4double maxPtSquare; // = PZcms2; - +/* +G4cout<<"Start --------------------"<FindParticle(2224))->GetPDGMass(); -// Check for possible quark excjane ----------------------------------- +//G4cout<>Uzhi; +// Check for possible quark exchange ----------------------------------- + if(G4UniformRand() < MagQuarkExchange* - std::exp(-SlopeQuarkExchange*(ProjectileRapidity - TargetRapidity))) + std::exp(-SlopeQuarkExchange*ProjectileRapidity)) //TargetRapidity))) 1.45 { +// std::exp(-SlopeQuarkExchange*(ProjectileRapidity - 1.36))) //TargetRapidity))) 1.45 +//G4cout<<"Q exchange"< 0 ) // ProjQ1 is quark { ProjExchangeQ = ProjQ1; @@ -282,36 +301,79 @@ G4bool G4DiffractiveExcitation:: { TargExchangeQ = TargQ3; TargQ3=ProjExchangeQ; ProjQ2=TargExchangeQ; } - } // End of if(ProjQ1 > 0 ) // ProjQ1 is quark G4int aProjQ1=std::abs(ProjQ1); G4int aProjQ2=std::abs(ProjQ2); - if(aProjQ1 == aProjQ2) {NewProjCode = 111;} // Pi0-meson + if(aProjQ1 == aProjQ2) {NewProjCode = 111;} // Pi0-meson else // |ProjQ1| # |ProjQ2| { if(aProjQ1 > aProjQ2) {NewProjCode = aProjQ1*100+aProjQ2*10+1;} else {NewProjCode = aProjQ2*100+aProjQ1*10+1;} + NewProjCode *=(ProjectilePDGcode/absProjectilePDGcode); } +G4bool ProjExcited=false; + if(G4UniformRand() < 0.5) + { + NewProjCode +=2; // Excited Pi0-meson + ProjExcited=true; + } +//G4cout<FindParticle(NewProjCode); +if(TestParticle) +{ + M0projectile= + (G4ParticleTable::GetParticleTable()->FindParticle(NewProjCode))->GetPDGMass(); + M0projectile2 = M0projectile * M0projectile; + + ProjectileDiffStateMinMass =M0projectile+210.*MeV; //210 MeV=m_pi+70 MeV + ProjectileNonDiffStateMinMass=M0projectile+210.*MeV; //210 MeV=m_pi+70 MeV +} else +{return false;} + +//G4cout<<"New TrQ "< M0projectile+DeltaMass)) {NewTargCode +=2;} //Create Delta isobar - - else if( target->GetDefinition()->GetPDGiIsospin() == 3 ) //Delta was the target - { if(G4UniformRand() > DeltaProbAtQuarkExchange){NewTargCode +=2;} //Save Delta isobar + (SqrtS > M0projectile+DeltaMass)) {NewTargCode +=2; //Create Delta isobar + ProjExcited=true;} + else if( target->GetDefinition()->GetPDGiIsospin() == 3 ) //Delta was the target + { if(G4UniformRand() > DeltaProbAtQuarkExchange){NewTargCode +=2; //Save Delta isobar + ProjExcited=true;} else {} // De-excite initial Delta isobar } - else if((G4UniformRand() < DeltaProbAtQuarkExchange) && //Nucleon was the target +// else if((!CreateDelta) && + else if((!ProjExcited) && + (G4UniformRand() < DeltaProbAtQuarkExchange) && //Nucleon was the target (SqrtS > M0projectile+DeltaMass)) {NewTargCode +=2;} //Create Delta isobar +// else if( CreateDelta) {NewTargCode +=2;} else {} //Save initial nucleon + // target->SetDefinition( // Fix 15.12.09 // G4ParticleTable::GetParticleTable()->FindParticle(NewTargCode));// Fix 15.12.09 + +//G4cout<<"NewTargCode "<>Uzhi; +TestParticle=G4ParticleTable::GetParticleTable()->FindParticle(NewTargCode); +if(TestParticle) +{ + M0target= + (G4ParticleTable::GetParticleTable()->FindParticle(NewTargCode))->GetPDGMass(); + M0target2 = M0target * M0target; + + TargetDiffStateMinMass =M0target+220.*MeV; //220 MeV=m_pi+80 MeV; + TargetNonDiffStateMinMass=M0target+220.*MeV; //220 MeV=m_pi+80 MeV; +} else +{return false;} } else { // projectile is baryon ---------------- - G4double Same=0.; //0.3; //0.5; +//========================================================================= + G4double Same=theParameters->GetProbOfSameQuarkExchange(); //0.3; //0.5; 0. G4bool ProjDeltaHasCreated(false); G4bool TargDeltaHasCreated(false); @@ -325,6 +387,7 @@ G4bool G4DiffractiveExcitation:: else {ProjExchangeQ = ProjQ3;} +//G4cout<<"ProjExchangeQ "<FindParticle(NewProjCode); +if(TestParticle) TestParticleMass=TestParticle->GetPDGMass(); + if((ProjQ1==ProjQ2) && (ProjQ1==ProjQ3)) {NewProjCode +=2; ProjDeltaHasCreated=true;} else if(projectile->GetDefinition()->GetPDGiIsospin() == 3)// Projectile was Delta { if(G4UniformRand() > DeltaProbAtQuarkExchange) @@ -389,8 +463,23 @@ G4bool G4DiffractiveExcitation:: else {NewProjCode +=0; ProjDeltaHasCreated=false;} } +G4ParticleDefinition* NewTestParticle= + G4ParticleTable::GetParticleTable()->FindParticle(NewProjCode); +//G4cout<<"TestParticleMass NewTestParticle->GetPDGMass() "<GetPDGMass()<GetPDGMass()) {NewProjCode=TestParticleID;} + +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++= + NewTargCode = NewNucleonId(TargQ1, TargQ2, TargQ3); // ***************************** +//G4cout<<"TargQ1, TargQ2, TargQ3 "<FindParticle(NewTargCode); +if(TestParticle) TestParticleMass=TestParticle->GetPDGMass(); + if((TargQ1==TargQ2) && (TargQ1==TargQ3)) {NewTargCode +=2; TargDeltaHasCreated=true;} else if(target->GetDefinition()->GetPDGiIsospin() == 3) // Target was Delta { if(G4UniformRand() > DeltaProbAtQuarkExchange) @@ -404,37 +493,53 @@ G4bool G4DiffractiveExcitation:: else {NewTargCode +=0; TargDeltaHasCreated=false;} } +NewTestParticle=G4ParticleTable::GetParticleTable()->FindParticle(NewTargCode); +//G4cout<<"TestParticleMass NewTestParticle->GetPDGMass() "<GetPDGMass()<GetPDGMass()) {NewTargCode=TestParticleID;} + +//G4cout<<"NewProjCode NewTargCode "<>Uzhi; + if((absProjectilePDGcode == NewProjCode) && (absTargetPDGcode == NewTargCode)) { // Nothing was changed! It is not right!? } // Forming baryons -------------------------------------------------- +if(ProjDeltaHasCreated) {ProbProjectileDiffraction=1.; ProbTargetDiffraction=0.;} +if(TargDeltaHasCreated) {ProbProjectileDiffraction=0.; ProbTargetDiffraction=1.;} + if(ProjDeltaHasCreated) + { + M0projectile= + (G4ParticleTable::GetParticleTable()->FindParticle(NewProjCode))->GetPDGMass(); + M0projectile2 = M0projectile * M0projectile; + ProjectileDiffStateMinMass =M0projectile+210.*MeV; //210 MeV=m_pi+70 MeV + ProjectileNonDiffStateMinMass=M0projectile+210.*MeV; //210 MeV=m_pi+70 MeV + } + +// if(M0target < +// (G4ParticleTable::GetParticleTable()->FindParticle(NewTargCode))->GetPDGMass()) + if(TargDeltaHasCreated) + { + M0target= + (G4ParticleTable::GetParticleTable()->FindParticle(NewTargCode))->GetPDGMass(); + M0target2 = M0target * M0target; + + TargetDiffStateMinMass =M0target+210.*MeV; //210 MeV=m_pi+70 MeV; + TargetNonDiffStateMinMass=M0target+210.*MeV; //210 MeV=m_pi+70 MeV; + } } // End of if projectile is baryon --------------------------- +//G4cout<<"At end// NewProjCode "<FindParticle(NewProjCode))->GetPDGMass()) - { - M0projectile= - (G4ParticleTable::GetParticleTable()->FindParticle(NewProjCode))->GetPDGMass(); - M0projectile2 = M0projectile * M0projectile; - } - - if(M0target < - (G4ParticleTable::GetParticleTable()->FindParticle(NewTargCode))->GetPDGMass()) - { - M0target= - (G4ParticleTable::GetParticleTable()->FindParticle(NewTargCode))->GetPDGMass(); - M0target2 = M0target * M0target; - } +//G4cout<<"M0pr M0tr SqS "<SetDefinition( @@ -451,23 +556,74 @@ G4bool G4DiffractiveExcitation:: Ptarget.setPz( -PZcms); Ptarget.setE(std::sqrt(M0target2+PZcms2)); - { - Pprojectile.transform(toLab); - Ptarget.transform(toLab); +// ---------------------------------------------------------- - projectile->SetTimeOfCreation(target->GetTimeOfCreation()); - projectile->SetPosition(target->GetPosition()); + if(absProjectilePDGcode < 1000) + { // For projectile meson + G4double Wexcit=1.-2.256*std::exp(-0.6*ProjectileRapidity); + Wexcit=0.; + if(G4UniformRand() > Wexcit) + { // Make elastic scattering +//G4cout<<"Make elastic scattering of new hadrons"<Set4Momentum(Pprojectile); - target->Set4Momentum(Ptarget); + projectile->SetTimeOfCreation(target->GetTimeOfCreation()); + projectile->SetPosition(target->GetPosition()); - G4bool Result= theElastic->ElasticScattering (projectile,target,theParameters); + projectile->Set4Momentum(Pprojectile); + target->Set4Momentum(Ptarget); - return Result; - } + G4bool Result= theElastic->ElasticScattering (projectile,target,theParameters); + return Result; + } // end of if(Make elastic scattering for projectile meson?) + } else + { // For projectile baryon + G4double Wexcit=1.-2.256*std::exp(-0.6*ProjectileRapidity); + //Wexcit=0.; + if(G4UniformRand() > Wexcit) + { // Make elastic scattering +//G4cout<<"Make elastic scattering of new hadrons"<SetTimeOfCreation(target->GetTimeOfCreation()); + projectile->SetPosition(target->GetPosition()); + + projectile->Set4Momentum(Pprojectile); + target->Set4Momentum(Ptarget); + + G4bool Result= theElastic->ElasticScattering (projectile,target,theParameters); + return Result; + } // end of if(Make elastic scattering for projectile baryon?) + } +//G4cout<<"Make excitation of new hadrons"<>Uzhi; +*/ +/* + if(ProjectileNonDiffStateMinMass + TargetNonDiffStateMinMass > SqrtS) // 24.07.10 + { + if(ProbOfDiffraction!=0.) + { + ProbProjectileDiffraction/=ProbOfDiffraction; + ProbOfDiffraction=1.; + } else {return false;} + } + +*/ + if(ProbOfDiffraction!=0.) { ProbProjectileDiffraction/=ProbOfDiffraction; @@ -477,6 +633,8 @@ G4bool G4DiffractiveExcitation:: ProbProjectileDiffraction=0.; } +//G4cout<<"Prob ProjDiff TargDiff "<= 500 && (whilecount%100)==0) // G4cout << "G4DiffractiveExcitation::ExciteParticipants possibly looping" // << ", loop count/ maxPtSquare : " // << whilecount << " / " << maxPtSquare << G4endl; + +// whilecount++; if (whilecount > 1000 ) { Qmomentum=G4LorentzVector(0.,0.,0.,0.); target->SetStatus(2); return false; // Ignore this interaction }; + // --------------- Check that the interaction is possible ----------- ProjMassT2=ProjectileDiffStateMinMass2; ProjMassT =ProjectileDiffStateMinMass; TargMassT2=M0target2; TargMassT =M0target; - +//G4cout<<"Masses "<SetStatus(2); @@ -555,6 +720,7 @@ G4bool G4DiffractiveExcitation:: PMinusNew=ChooseP(PMinusMin, PMinusMax); // PMinusNew=1./sqrt(1./PMinusMin-G4UniformRand()*(1./PMinusMin-1./PMinusMax)); +//PMinusNew=1./sqr(1./std::sqrt(PMinusMin)-G4UniformRand()*(1./std::sqrt(PMinusMin)-1./std::sqrt(PMinusMax))); TMinusNew=SqrtS-PMinusNew; Qminus=Ptarget.minus()-TMinusNew; @@ -563,23 +729,29 @@ G4bool G4DiffractiveExcitation:: Qmomentum.setPz( (Qplus-Qminus)/2 ); Qmomentum.setE( (Qplus+Qminus)/2 ); - } while ( -((Pprojectile+Qmomentum).mag2() < ProjectileDiffStateMinMass2) || //No without excitation -((Ptarget -Qmomentum).mag2() < M0target2 )); + + } while ((Pprojectile+Qmomentum).mag2() < ProjectileDiffStateMinMass2); //|| + //Repeat the sampling because there was not any excitation +//((Ptarget -Qmomentum).mag2() < M0target2 )) ); } else { // -------------- Target diffraction ---------------- + +//G4cout<<"Target diffraction"<= 500 && (whilecount%100)==0) // G4cout << "G4DiffractiveExcitation::ExciteParticipants possibly looping" // << ", loop count/ maxPtSquare : " // << whilecount << " / " << maxPtSquare << G4endl; + +// whilecount++; if (whilecount > 1000 ) { Qmomentum=G4LorentzVector(0.,0.,0.,0.); target->SetStatus(2); return false; // Ignore this interaction }; +//G4cout<<"Qm while "<SetStatus(2); @@ -599,6 +772,8 @@ G4bool G4DiffractiveExcitation:: maxPtSquare=PZcms2; Qmomentum=G4LorentzVector(GaussianPt(AveragePt2,maxPtSquare),0); + +//G4cout<<"Qm while "<= 500 && (whilecount%100)==0) // G4cout << "G4DiffractiveExcitation::ExciteParticipants possibly looping" // << ", loop count/ maxPtSquare : " // << whilecount << " / " << maxPtSquare << G4endl; + +// whilecount++; if (whilecount > 1000 ) { Qmomentum=G4LorentzVector(0.,0.,0.,0.); @@ -676,6 +869,7 @@ G4bool G4DiffractiveExcitation:: PZcms2=(S*S + ProjMassT2*ProjMassT2 + TargMassT2*TargMassT2- 2.*S*ProjMassT2-2.*S*TargMassT2-2.*ProjMassT2*TargMassT2) /4./S; +//G4cout<<"PZcms2 ND"<>Uzhi; +*/ } while ( ((Pprojectile+Qmomentum).mag2() < ProjectileNonDiffStateMinMass2) || //No double Diffraction ((Ptarget -Qmomentum).mag2() < TargetNonDiffStateMinMass2 )); - } + } - Pprojectile += Qmomentum; - Ptarget -= Qmomentum; + Pprojectile += Qmomentum; + Ptarget -= Qmomentum; + +//G4cout<<"Pr Y "<SetTimeOfCreation(target->GetTimeOfCreation()); - projectile->SetPosition(target->GetPosition()); + projectile->SetTimeOfCreation(target->GetTimeOfCreation()); + projectile->SetPosition(target->GetPosition()); // Creation time and position of target nucleon were determined at // ReggeonCascade() of G4FTFModel // ------------------------------------------------------ - projectile->Set4Momentum(Pprojectile); - target->Set4Momentum(Ptarget); +//G4cout<<"Mproj "<Set4Momentum(Pprojectile); + target->Set4Momentum(Ptarget); - projectile->IncrementCollisionCount(1); - target->IncrementCollisionCount(1); + projectile->IncrementCollisionCount(1); + target->IncrementCollisionCount(1); - return true; + return true; } // --------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveHHScatterer.cc b/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveHHScatterer.cc index b76bc86eef..dc5a6d9d7c 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveHHScatterer.cc +++ b/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveHHScatterer.cc @@ -37,6 +37,9 @@ G4DiffractiveHHScatterer::G4DiffractiveHHScatterer() theStringFragmentation(new G4LundStringFragmentation()) {} +G4DiffractiveHHScatterer::~G4DiffractiveHHScatterer() +{} + void G4DiffractiveHHScatterer::CreateStrings() /* G4VSplitableHadron * aHadron, diff --git a/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveSplitableHadron.cc b/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveSplitableHadron.cc index 64c66f58af..72ffb9ddfa 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveSplitableHadron.cc +++ b/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveSplitableHadron.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DiffractiveSplitableHadron.cc,v 1.8 2009/07/31 11:03:00 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DiffractiveSplitableHadron.cc,v 1.9 2010/09/20 15:50:46 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFModel.cc b/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFModel.cc index bd56272e2e..dd41772d51 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFModel.cc +++ b/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFModel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FTFModel.cc,v 1.34 2009/12/15 19:14:31 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFModel.cc,v 1.37 2010/11/15 10:02:38 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------ @@ -98,7 +98,13 @@ int G4FTFModel::operator!=(const G4FTFModel &right) const void G4FTFModel::Init(const G4Nucleus & aNucleus, const G4DynamicParticle & aProjectile) { theProjectile = aProjectile; - theParticipants.Init(aNucleus.GetN(),aNucleus.GetZ()); +//G4cout<<"FTF init Pro "<>Uzhi; + + theParticipants.Init(aNucleus.GetA_asInt(),aNucleus.GetZ_asInt()); +//G4cout<<"End nucl init"<SetProbabilityOfElasticScatt(0.); +//G4cout<GetProbabilityOfElasticScatt()<>Uzhi; // To turn on/off (1/0) elastic scattering } @@ -124,18 +135,20 @@ struct DeleteVSplitableHadron { void operator()(G4VSplitableHadron * aH){ delete G4ExcitedStringVector * G4FTFModel::GetStrings() { G4ExcitedStringVector * theStrings(0); - +//G4cout<<"GetString"<GetPosition().x(); G4double YofWoundedNucleon = TargetNucleon->GetPosition().y(); @@ -213,6 +226,7 @@ void G4FTFModel::ReggeonCascade() TheInvolvedNucleon[NumberOfInvolvedNucleon]=Neighbour; NumberOfInvolvedNucleon++; +//G4cout<<"Seco NumberOfInvolvedNucleon "<Get4Momentum(); +//G4cout<<"Pprojectile "<GetMassNumber(); G4int ResidualCharge =theNucleus->GetCharge(); + ResidualExcitationEnergy=0.; G4LorentzVector PnuclearResidual(0.,0.,0.,0.); @@ -304,6 +320,7 @@ G4bool G4FTFModel::PutOnMassShell() Psum += aNucleon->Get4Momentum(); SumMasses += aNucleon->GetDefinition()->GetPDGMass(); SumMasses += 20.*MeV; // 13.12.09 Separation energy for a nucleon +//G4cout<<"SumMasses Tr "<GetDefinition()->GetPDGCharge(); ResidualExcitationEnergy+=ExcitationEnergyPerWoundedNucleon; @@ -315,7 +332,7 @@ G4bool G4FTFModel::PutOnMassShell() } // end of while (theNucleus->GetNextNucleon()) Psum += PnuclearResidual; - +//G4cout<<"ResidualCharge ,ResidualMassNumber "<GetPt2ofNuclearDestruction(); G4double maxPtSquare = theParameters->GetMaxPt2ofNuclearDestruction(); - +//G4cout<<"Dcor "<SetMomentum(tmp); } // end of for(G4int i=0; i < NumberOfInvolvedNucleon; i++ ) @@ -446,6 +469,7 @@ G4bool G4FTFModel::PutOnMassShell() G4double DeltaY(0.); G4double DeltaXminus(0.); +//G4cout<<"ResidualMassNumber "<GetMassNumber(); } - +//G4cout<<"Dx y xmin "<Get4Momentum().pz() - DeltaXminus; XminusSum-=Xminus; +//G4cout<<" i X-sum "< 1.)) {InerSuccess=false; break;} + } else + { + if((Xminus <= 0.) || (Xminus > 1.) || + (XminusSum <=0.) || (XminusSum > 1.)) {InerSuccess=false; break;} + } // Uzhi 5.07.10 - if((Xminus <= 0.) || (Xminus > 1.) || - (XminusSum <=0.) || (XminusSum > 1.)) {InerSuccess=false; break;} - G4double Px=aNucleon->Get4Momentum().px() - DeltaX; G4double Py=aNucleon->Get4Momentum().py() - DeltaY; @@ -481,10 +511,14 @@ G4bool G4FTFModel::PutOnMassShell() aNucleon->SetMomentum(tmp); } // end of for(G4int i=0; i < NumberOfInvolvedNucleon; i++ ) +//G4cout<<"Rescale O.K."<>Uzhi; } while(!InerSuccess); } while (SqrtS < Mprojectile + std::sqrt(M2target)); //------------------------------------------------------------- @@ -494,6 +528,7 @@ G4bool G4FTFModel::PutOnMassShell() WminusTarget=(S-M2projectile+M2target+std::sqrt(DecayMomentum2))/2./SqrtS; WplusProjectile=SqrtS - M2target/WminusTarget; +//G4cout<<"DecayMomentum2 "< WplusProjectile ){OuterSuccess=false; break;} } // end of for(G4int i=0; i < NumberOfInvolvedNucleon; i++ ) +//G4int Uzhi;G4cin>>Uzhi; } while(!OuterSuccess); //------------------------------------------------------------- @@ -519,6 +555,7 @@ G4bool G4FTFModel::PutOnMassShell() Pprojectile.transform(toLab); // The work with the projectile primary->Set4Momentum(Pprojectile); // is finished at the moment. +//G4cout<<"Final proj mom "<Get4Momentum()<GetMaxNumberOfCollisions()); +G4double NumberOfInel(0.); +// +if(MaxNumOfInelCollisions > 0) +{ // Plab > Pbound, Normal application of FTF is possible + G4double ProbMaxNumber=theParameters->GetMaxNumberOfCollisions()-MaxNumOfInelCollisions; + if(G4UniformRand() < ProbMaxNumber) {MaxNumOfInelCollisions++;} + NumberOfInel=MaxNumOfInelCollisions; +} else +{ // Plab < Pbound, Normal application of FTF is impossible, low energy corrections + if(theParticipants.theNucleus->GetMassNumber() > 1) + { + NumberOfInel = theParameters->GetProbOfInteraction(); + MaxNumOfInelCollisions = 1; + } else + { // Special case for hadron-nucleon interactions + NumberOfInel = 1.; + MaxNumOfInelCollisions = 1; + } +} // end of if(MaxNumOfInelCollisions > 0) +// while (theParticipants.Next()) { const G4InteractionContent & collision=theParticipants.GetInteraction(); G4VSplitableHadron * projectile=collision.GetProjectile(); G4VSplitableHadron * target=collision.GetTarget(); - +//G4cout<<"ProbabilityOfElasticScatt "<GetProbabilityOfElasticScatt()<GetProbabilityOfElasticScatt()) { // Elastic scattering ------------------------- +//G4cout<<"Elastic FTF"<ElasticScattering(projectile, target, theParameters)) { Successfull = Successfull || true; @@ -594,6 +661,7 @@ G4bool G4FTFModel::ExciteParticipants() } else { // Inelastic scattering ---------------------- +/* if(theExcitation->ExciteParticipants(projectile, target, theParameters, theElastic)) { @@ -603,6 +671,31 @@ G4bool G4FTFModel::ExciteParticipants() Successfull = Successfull || false; target->SetStatus(2); } +*/ +//G4cout<<"InElastic FTF"<ExciteParticipants(projectile, target, + theParameters, theElastic)) + { + Successfull = Successfull || true; +NumberOfInel--; + } else + { + Successfull = Successfull || false; + target->SetStatus(2); + } + } else // If NumOfInel + { + if(theElastic->ElasticScattering(projectile, target, theParameters)) + { + Successfull = Successfull || true; + } else + { + Successfull = Successfull || false; + target->SetStatus(2); + } + } // end if NumOfInel } } // end of while (theParticipants.Next()) // } while (Successfull == false); // Closed 15.12.09 @@ -623,7 +716,7 @@ G4ExcitedStringVector * G4FTFModel::BuildStrings() G4ExcitedString * SecondString(0); // two strings will be produced. theParticipants.StartLoop(); // restart a loop - +// while ( theParticipants.Next() ) { const G4InteractionContent & interaction=theParticipants.GetInteraction(); @@ -633,7 +726,7 @@ G4ExcitedStringVector * G4FTFModel::BuildStrings() interaction.GetProjectile()) ) primaries.push_back(interaction.GetProjectile()); } - + unsigned int ahadron; for ( ahadron=0; ahadron < primaries.size() ; ahadron++) { @@ -649,7 +742,7 @@ G4ExcitedStringVector * G4FTFModel::BuildStrings() if(FirstString != 0) strings->push_back(FirstString); if(SecondString != 0) strings->push_back(SecondString); } - +// for (G4int ahadron=0; ahadron < NumberOfInvolvedNucleon ; ahadron++) { if(TheInvolvedNucleon[ahadron]->GetSplitableHadron()->GetStatus() !=0) //== 2) @@ -668,7 +761,6 @@ G4ExcitedStringVector * G4FTFModel::BuildStrings() std::for_each(primaries.begin(), primaries.end(), DeleteVSplitableHadron()); primaries.clear(); - return strings; } // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParameters.cc b/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParameters.cc index cfaf766992..116d102dd4 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParameters.cc +++ b/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParameters.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FTFParameters.cc,v 1.13 2009/12/16 17:51:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFParameters.cc,v 1.15 2010/11/15 10:02:38 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4FTFParameters.hh" @@ -41,9 +41,13 @@ G4FTFParameters::~G4FTFParameters() {;} //********************************************************************************************** +//G4FTFParameters::G4FTFParameters(const G4ParticleDefinition * particle, +// G4double theA, +// G4double theZ, +// G4double s) G4FTFParameters::G4FTFParameters(const G4ParticleDefinition * particle, - G4double theA, - G4double theZ, + G4int theA, + G4int theZ, G4double s) { G4int PDGcode = particle->GetPDGEncoding(); @@ -55,16 +59,21 @@ G4FTFParameters::G4FTFParameters(const G4ParticleDefinition * particle, (2*TargetMass); G4double Plab = std::sqrt(Elab * Elab - ProjectileMass*ProjectileMass); + G4double Ylab=0.5*std::log((Elab+Plab)/(Elab-Plab)); + + Plab/=GeV; // Uzhi 8.07.10 G4double LogPlab = std::log( Plab ); G4double sqrLogPlab = LogPlab * LogPlab; - G4int NumberOfTargetProtons = (G4int) theZ; - G4int NumberOfTargetNeutrons = (G4int) theA- (G4int) theZ; + G4int NumberOfTargetProtons = theZ; + G4int NumberOfTargetNeutrons = theA-theZ; +// G4int NumberOfTargetProtons = (G4int) theZ; +// G4int NumberOfTargetNeutrons = (G4int) theA- (G4int) theZ; G4int NumberOfTargetNucleons = NumberOfTargetProtons + NumberOfTargetNeutrons; G4double Xtotal, Xelastic; - if( absPDGcode > 1000 ) //------Projectile is baryon -------- + if( PDGcode > 1000 ) //------Projectile is baryon -------- { G4double XtotPP = 48.0 + 0. *std::pow(Plab, 0. ) + 0.522*sqrLogPlab - 4.51*LogPlab; G4double XtotPN = 47.3 + 0. *std::pow(Plab, 0. ) + 0.513*sqrLogPlab - 4.27*LogPlab; @@ -72,6 +81,19 @@ G4FTFParameters::G4FTFParameters(const G4ParticleDefinition * particle, G4double XelPP = 11.9 + 26.9*std::pow(Plab,-1.21) + 0.169*sqrLogPlab - 1.85*LogPlab; G4double XelPN = 11.9 + 26.9*std::pow(Plab,-1.21) + 0.169*sqrLogPlab - 1.85*LogPlab; + Xtotal = ( NumberOfTargetProtons * XtotPP + + NumberOfTargetNeutrons * XtotPN ) / NumberOfTargetNucleons; + Xelastic = ( NumberOfTargetProtons * XelPP + + NumberOfTargetNeutrons * XelPN ) / NumberOfTargetNucleons; + } + else if( PDGcode < -1000 ) //------Projectile is anti_baryon -------- + { + G4double XtotPP = 38.4 + 77.6*std::pow(Plab,-0.64) + 0.26*sqrLogPlab - 1.2*LogPlab; + G4double XtotPN = 0. + 133.6*std::pow(Plab,-0.70) + 1.22*sqrLogPlab +13.7*LogPlab; + + G4double XelPP = 10.2 + 52.7*std::pow(Plab,-1.16) + 0.125*sqrLogPlab - 1.28*LogPlab; + G4double XelPN = 36.5 + 0. *std::pow(Plab, 0. ) + 0. *sqrLogPlab -11.9 *LogPlab; + Xtotal = ( NumberOfTargetProtons * XtotPP + NumberOfTargetNeutrons * XtotPN ) / NumberOfTargetNucleons; Xelastic = ( NumberOfTargetProtons * XelPP + @@ -180,11 +202,34 @@ G4FTFParameters::G4FTFParameters(const G4ParticleDefinition * particle, // Xtotal and Xelastic in mb +// For Pi- P interactions only! +if(std::abs(Plab-1.4) < 0.05) {Xtotal=3.500599e+01; Xelastic= 1.150032e+01;} +if(std::abs(Plab-1.5) < 0.05) {Xtotal=3.450591e+01; Xelastic= 1.050038e+01;} +if(std::abs(Plab-1.6) < 0.05) {Xtotal=3.430576e+01; Xelastic= 9.800433e+00;} +if(std::abs(Plab-1.7) < 0.05) {Xtotal=3.455560e+01; Xelastic= 9.300436e+00;} +if(std::abs(Plab-1.8) < 0.05) {Xtotal=3.480545e+01; Xelastic= 8.800438e+00;} +if(std::abs(Plab-2.0) < 0.05) {Xtotal=3.570503e+01; Xelastic= 8.200370e+00;} +if(std::abs(Plab-2.2) < 0.05) {Xtotal=3.530495e+01; Xelastic= 7.800362e+00;} +if(std::abs(Plab-2.5) < 0.05) {Xtotal=3.410484e+01; Xelastic= 7.350320e+00;} +if(std::abs(Plab-2.75) < 0.05){Xtotal=3.280479e+01; Xelastic= 7.050273e+00;} +if(std::abs(Plab-3.0) < 0.05) {Xtotal=3.180473e+01; Xelastic= 6.800258e+00;} +if(std::abs(Plab-4.0) < 0.05) {Xtotal=2.910441e+01; Xelastic= 6.100229e+00;} +if(std::abs(Plab-5.0) < 0.05) {Xtotal=2.820372e+01; Xelastic= 5.700275e+00;} +if(std::abs(Plab-6.0) < 0.05) {Xtotal=2.760367e+01; Xelastic= 5.400255e+00;} +if(std::abs(Plab-7.0) < 0.05) {Xtotal=2.725366e+01; Xelastic= 5.150256e+00;} +if(std::abs(Plab-8.0) < 0.05) {Xtotal=2.690365e+01; Xelastic= 4.900258e+00;} +if(std::abs(Plab-10.0) < 0.05){Xtotal=2.660342e+01; Xelastic= 4.600237e+00;} +if(std::abs(Plab-12.0) < 0.05){Xtotal=2.632341e+01; Xelastic= 4.480229e+00;} +if(std::abs(Plab-14.0) < 0.05){Xtotal=2.604340e+01; Xelastic= 4.360221e+00;} +if(std::abs(Plab-20.0) < 0.05){Xtotal=2.520337e+01; Xelastic= 4.000197e+00;} +if(std::abs(Plab-30.0) < 0.05){Xtotal=2.505334e+01; Xelastic= 3.912679e+00;} +// //----------- Geometrical parameters ------------------------------------------------ SetTotalCrossSection(Xtotal); SetElastisCrossSection(Xelastic); SetInelasticCrossSection(Xtotal-Xelastic); +//G4cout<<"Plab Xtotal, Xelastic Xinel "< 1000 ) //------Projectile is baryon -------- + if( PDGcode > 1000 ) //------Projectile is baryon -------- { - SetMagQuarkExchange(3.4); //3.8); - SetSlopeQuarkExchange(1.2); - SetDeltaProbAtQuarkExchange(0.1); //(0.1*4.); + SetMagQuarkExchange(1.84);//(3.63); + SetSlopeQuarkExchange(0.7);//(1.2); + SetDeltaProbAtQuarkExchange(0.); + if(NumberOfTargetNucleons > 26) {SetProbOfSameQuarkExchange(1.);} + else {SetProbOfSameQuarkExchange(0.);} - SetProjMinDiffMass(1.1); // GeV - SetProjMinNonDiffMass(1.1); // GeV - SetProbabilityOfProjDiff(0.76*std::pow(s/GeV/GeV,-0.35)); + SetProjMinDiffMass(1.16); // GeV + SetProjMinNonDiffMass(1.16); // GeV + SetProbabilityOfProjDiff(0.805*std::exp(-0.35*Ylab));// 0.5 - SetTarMinDiffMass(1.1); // GeV - SetTarMinNonDiffMass(1.1); // GeV - SetProbabilityOfTarDiff(0.76*std::pow(s/GeV/GeV,-0.35)); + SetTarMinDiffMass(1.16); // GeV + SetTarMinNonDiffMass(1.16); // GeV + SetProbabilityOfTarDiff(0.805*std::exp(-0.35*Ylab));// 0.5 - SetAveragePt2(0.3); // GeV^2 + SetAveragePt2(0.15); // 0.15 GeV^2 + } + if( PDGcode < -1000 ) //------Projectile is anti_baryon -------- + { + SetMagQuarkExchange(0.); + SetSlopeQuarkExchange(0.); + SetDeltaProbAtQuarkExchange(0.); + SetProbOfSameQuarkExchange(0.); + + SetProjMinDiffMass(1.16); // GeV + SetProjMinNonDiffMass(1.16); // GeV + SetProbabilityOfProjDiff(0.805*std::exp(-0.35*Ylab));// 0.5 + + SetTarMinDiffMass(1.16); // GeV + SetTarMinNonDiffMass(1.16); // GeV + SetProbabilityOfTarDiff(0.805*std::exp(-0.35*Ylab));// 0.5 + + SetAveragePt2(0.15); // 0.15 GeV^2 } else if( absPDGcode == 211 || PDGcode == 111) //------Projectile is Pion ----------- { - SetMagQuarkExchange(120.); // 210. - SetSlopeQuarkExchange(2.0); - SetDeltaProbAtQuarkExchange(0.6); + SetMagQuarkExchange(240.); + SetSlopeQuarkExchange(2.); + SetDeltaProbAtQuarkExchange(0.56); //(0.35); SetProjMinDiffMass(0.5); // GeV - SetProjMinNonDiffMass(0.3); // GeV - SetProbabilityOfProjDiff(0.*0.62*std::pow(s/GeV/GeV,-0.51)); // 40/32 X-dif/X-inel + SetProjMinNonDiffMass(0.5); // GeV 0.3 + SetProbabilityOfProjDiff(0.);//(0.*0.62*std::pow(s/GeV/GeV,-0.51)); // 40/32 X-dif/X-inel - SetTarMinDiffMass(1.1); // GeV - SetTarMinNonDiffMass(1.1); // GeV - - SetProbabilityOfTarDiff(2.*0.62*std::pow(s/GeV/GeV,-0.51)); // 40/32 X-dif/X-inel + SetTarMinDiffMass(1.16); // GeV + SetTarMinNonDiffMass(1.16); // GeV +// SetProbabilityOfTarDiff(1.);//(2.*0.62*std::pow(s/GeV/GeV,-0.51)); +// SetProbabilityOfTarDiff(2.6*std::exp(-0.46*Ylab)); + SetProbabilityOfTarDiff(0.8*std::exp(-0.6*(Ylab-3.))); SetAveragePt2(0.3); // GeV^2 } @@ -285,21 +351,72 @@ G4FTFParameters::G4FTFParameters(const G4ParticleDefinition * particle, if( absPDGcode < 1000 ) { - SetCofNuclearDestruction(1.); //1.0); // for meson projectile - } else if( theA > 20. ) + SetMaxNumberOfCollisions(1000.,1.); //(Plab,2.); //3.); ############################## + +// SetCofNuclearDestruction(0.); //1.0); // for meson projectile +// SetCofNuclearDestruction(1.*std::exp(4.*(Ylab-2.1))/(1.+std::exp(4.*(Ylab-2.1)))); +//G4cout<>Uzhi; + +// SetMaxNumberOfCollisions(Plab,2.); //4.); // ############################## + + SetCofNuclearDestruction(1.*std::exp(4.*(Ylab-2.1))/(1.+std::exp(4.*(Ylab-2.1)))); //0.62 1.0 +//------------------------------------------ +// SetDofNuclearDestruction(0.4); +// SetPt2ofNuclearDestruction(0.17*GeV*GeV); +// SetMaxPt2ofNuclearDestruction(1.0*GeV*GeV); + +// SetExcitationEnergyPerWoundedNucleon(100*MeV); + SetDofNuclearDestruction(0.4); + SetPt2ofNuclearDestruction((0.035+ + 0.04*std::exp(4.*(Ylab-2.5))/(1.+std::exp(4.*(Ylab-2.5))))*GeV*GeV); //0.09 + SetMaxPt2ofNuclearDestruction(1.0*GeV*GeV); + + SetExcitationEnergyPerWoundedNucleon(75.*MeV); + } else // for baryon projectile { - SetCofNuclearDestruction(0.2); //2); // for baryon projectile and heavy target - } else - { - SetCofNuclearDestruction(0.2); //1.0); // for baryon projectile and light target + SetMaxNumberOfCollisions(Plab,2.); //4.); // ############################## + + SetCofNuclearDestruction(1.*std::exp(4.*(Ylab-2.1))/(1.+std::exp(4.*(Ylab-2.1)))); //0.62 1.0 +//G4cout<>Uzhi; + + SetDofNuclearDestruction(0.4); + SetPt2ofNuclearDestruction((0.035+ + 0.04*std::exp(4.*(Ylab-2.5))/(1.+std::exp(4.*(Ylab-2.5))))*GeV*GeV); //0.09 + SetMaxPt2ofNuclearDestruction(1.0*GeV*GeV); + + SetExcitationEnergyPerWoundedNucleon(75.*MeV); } SetR2ofNuclearDestruction(1.5*fermi*fermi); - SetExcitationEnergyPerWoundedNucleon(100*MeV); +//SetCofNuclearDestruction(0.47*std::exp(2.*(Ylab-2.5))/(1.+std::exp(2.*(Ylab-2.5)))); +//SetPt2ofNuclearDestruction((0.035+0.1*std::exp(4.*(Ylab-3.))/(1.+std::exp(4.*(Ylab-3.))))*GeV*GeV); + +//SetMagQuarkExchange(120.); // 210. PipP +//SetSlopeQuarkExchange(2.0); +//SetDeltaProbAtQuarkExchange(0.6); +//SetProjMinDiffMass(0.7); // GeV 1.1 +//SetProjMinNonDiffMass(0.7); // GeV +//SetProbabilityOfProjDiff(0.85*std::pow(s/GeV/GeV,-0.5)); // 40/32 X-dif/X-inel +//SetTarMinDiffMass(1.1); // GeV +//SetTarMinNonDiffMass(1.1); // GeV +//SetProbabilityOfTarDiff(0.85*std::pow(s/GeV/GeV,-0.5)); // 40/32 X-dif/X-inel +// +//SetAveragePt2(0.3); // GeV^2 +//------------------------------------ +//SetProbabilityOfElasticScatt(1.,1.); //(Xtotal, Xelastic); +//SetProbabilityOfProjDiff(1.*0.62*std::pow(s/GeV/GeV,-0.51)); // 0->1 +//SetProbabilityOfTarDiff(4.*0.62*std::pow(s/GeV/GeV,-0.51)); // 2->4 +//SetAveragePt2(0.3); //(0.15); +//SetAvaragePt2ofElasticScattering(0.); + +//SetMaxNumberOfCollisions(4.*(Plab+0.01),Plab); //6.); // ############################## +//SetCofNuclearDestruction(0.2); //(0.4); +//SetExcitationEnergyPerWoundedNucleon(0.*MeV); //(75.*MeV); +//SetDofNuclearDestruction(0.4); //(0.4); +//SetPt2ofNuclearDestruction(0.1*GeV*GeV); //(0.168*GeV*GeV); - SetDofNuclearDestruction(0.4); - SetPt2ofNuclearDestruction(0.17*GeV*GeV); - SetMaxPt2ofNuclearDestruction(1.0*GeV*GeV); } //********************************************************************************************** diff --git a/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParticipants.cc b/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParticipants.cc index ca0ae02782..70db2214e0 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParticipants.cc +++ b/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParticipants.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FTFParticipants.cc,v 1.16 2009/11/25 09:14:03 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FTFParticipants.cc,v 1.17 2010/09/20 15:50:46 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/hadronization/CMakeLists.txt b/source/processes/hadronic/models/parton_string/hadronization/CMakeLists.txt new file mode 100644 index 0000000000..731eb4aba1 --- /dev/null +++ b/source/processes/hadronic/models/parton_string/hadronization/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4had_string_frag +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_string.G4had_string_frag +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:04:53 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/parton_string/hadronization/History b/source/processes/hadronic/models/parton_string/hadronization/History index 681abfd35a..2b20a9a91e 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/History +++ b/source/processes/hadronic/models/parton_string/hadronization/History @@ -1,4 +1,4 @@ -$Id: History,v 1.10 2009/07/17 12:30:45 vuzhinsk Exp $ +$Id: History,v 1.18 2010/11/03 17:11:31 gunter Exp $ ------------------------------------------------------------------- ========================================================== @@ -14,18 +14,52 @@ code and to keep track of all tags. --------------------------------------------------------------- * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- -17-July-2009 V. Uzhinsky (had-hadronization-V09-02-03) - Some small optimization are done. ---------------------------------------------------------------------- + +3 Nov 2010, Gunter Folger (had-hadronization-V09-03-02) +- fix minor coverity warnings in G4HadronBuilder + +22-September-2010 V. Uzhinsky (had-hadronization-V09-03-01) +-------------------------------------------------------------- +- Warning messages are erased in G4LundStringFragmentation.cc + +20-September-2010 V. Uzhinsky +------------------------------ +- Phase space restrictions are introduced at small mass string + fragmentation. + +5-August-2010 V. Uzhinsky +-------------------------- +- Small re-organization is done in G4ExcitedStringDecay.hh. Inline + methods were moved to G4ExcitedStringDecay.cc. + +- An action is introduced in FragmentStrings. It acts when + EnergyAndMomentumCorrector can not be done due to large sum masses + of produced hadrons. This led to energy-momentum violation. Now + string fragmentation is repeted 100 times in a bad case. + +21-June-2010 V. Uzhinsky (had-hadronization-V09-03-00) +-------------------------------------------------------------- +- Lund string fragmentation is improved. The inselfconsistency + between LightFragmentationTest and Lund fragmentation is erased. + Energy conservation in FTF is recovered. + +6-December-2010 V. Uzhinsky, (had-hadronization-V09-02-04) +-------------------------------------------------------------- +- Lund string fragm. improved, start fragmentation. + +17-July-2009 V. Uzhinsky (had-hadronization-V09-02-03) +-------------------------------------------------------------- +- Some small optimization are done. + 9-July-2009 V. Uzhinsky (had-hadronization-V09-02-02) ---------------------------------------------------------------------- +-------------------------------------------------------------- - Bug was fixed in G4VLongitudinalStringDecay.cc at calculation of formation/creation time, c_light was inserted. - String tension parameter was set to the usual value (1 GeV/fm) in G4LundStringFragmentation.cc --------------------------------------------------------------- 22-May-2009 Gunter Folger (had-hadronization-V09-02-01) +-------------------------------------------------------------- - remove temporary workaround - fix is now in QGS - change pt sampling in G4LundStringFragmentation to avoid near endless loop; this should improve overall performance slightly. @@ -33,34 +67,33 @@ code and to keep track of all tags. implemented; affected .hh and .cc for new optional argument of max Pt to SampleQuarkPt() - 18-May-2009 Gunter Folger (had-hadronization-V09-02-00) --------------------------------------------------------------------- - reset formatting changes by MK with tags hadr-prtn-hadr-V09-02-xx - temporary workaround for wrong PDG codes created on wrong input from QGS - when used for e.g. antiproton. + when used for e.g. antiproton. 2-May 2007 Gunter Folger (had-hadronization-V08-02-03) --------------------------------------------------------------------- -- G4ExcitedStringDecay.hh: protect againt divide by 0 when KTsum1.e() - is 0. +- G4ExcitedStringDecay.hh: protect againt divide by 0 when KTsum1.e() is 0. 24-April 2007 Gunter Folger (had-hadronization-V08-02-02) --------------------------------------------------------------------- -- Seperate FTF and QGS fragmentation dir methods where V.Uzhinsky - modified the algorithm for FTF. - +- Seperate FTF and QGS fragmentation dir methods where V.Uzhinsky + modified the algorithm for FTF. -2-March 2007 G.Folger (had-hadronization-V08-02-01) +2-March 2007 Gunter Folger (had-hadronization-V08-02-01) --------------------------------------------------------------------- - G4ExcitedStringDecay::EnergyAndMomentumCorrector no longer causes Exception - when no converging. Add more info when failing. Return correct status. + when no converging. Add more info when failing. Return correct status. +24-Jan 2007 Gunter Folger (had-hadronization-V08-02-00) +-------------------------------------------------------------- +- G4ExcitedStringDecay::EnergyAndMomentumCorrector : + Correct bug which did stop correction even if not yet converged; + check on convergence must check that scale-1 is close to 0, + and not less than 0 -24-Jan 2007 GF: tag had-hadronization-V08-02-00 - G4ExcitedStringDecay::EnergyAndMomentumCorrector : - Correct bug which did stop correction even if not yet converged; - check on convergence must check that scale-1 is close to 0, - and not less than 0 -26-May 2006 GF: Fix ( finally?) the charge check in G4HadronBuilder.cc - +26-May 2006 Gunter Folger +-------------------------------------------------------------- +- Fix ( finally?) the charge check in G4HadronBuilder.cc diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4ExcitedStringDecay.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4ExcitedStringDecay.hh index 0527487555..26c7b738cf 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4ExcitedStringDecay.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4ExcitedStringDecay.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExcitedStringDecay.hh,v 1.10 2009/10/05 12:52:48 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ExcitedStringDecay.hh,v 1.13 2010/08/05 08:44:37 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4ExcitedStringDecay_h #define G4ExcitedStringDecay_h 1 @@ -41,7 +41,7 @@ class G4ExcitedStringDecay: public G4VStringFragmentation public: G4ExcitedStringDecay(); G4ExcitedStringDecay(G4VLongitudinalStringDecay * aStringDecay); - ~G4ExcitedStringDecay(); + virtual ~G4ExcitedStringDecay(); private: G4ExcitedStringDecay(const G4ExcitedStringDecay &right); @@ -61,92 +61,6 @@ class G4ExcitedStringDecay: public G4VStringFragmentation }; -inline -G4KineticTrackVector *G4ExcitedStringDecay:: -FragmentString(const G4ExcitedString &theString) -{ - if ( theStringDecay == NULL ) - theStringDecay=new G4LundStringFragmentation(); - - return theStringDecay->FragmentString(theString); -} - -inline -G4KineticTrackVector *G4ExcitedStringDecay:: -FragmentStrings(const G4ExcitedStringVector * theStrings) -{ - G4KineticTrackVector * theResult = new G4KineticTrackVector; - - G4LorentzVector KTsum; - G4LorentzVector KTsecondaries; - G4bool NeedEnergyCorrector=false; -//G4cout<<"Number of strings "<size()<size(); astring++) - { -//G4cout<<"String# "<operator[](astring)->Get4Momentum()<operator[](astring)->Get4Momentum(); -//G4cout<<"KTsum "<-1) ) - { - throw G4HadronicException(__FILE__, __LINE__, - "G4ExcitedStringDecay::FragmentStrings received nan string..."); - } - G4KineticTrackVector * generatedKineticTracks = NULL; - - if ( theStrings->operator[](astring)->IsExcited() ) - { - generatedKineticTracks=FragmentString(*theStrings->operator[](astring)); - } else { - generatedKineticTracks = new G4KineticTrackVector; - generatedKineticTracks->push_back(theStrings->operator[](astring)->GetKineticTrack()); - } - - if (generatedKineticTracks == NULL) - { - G4cerr << "G4VPartonStringModel:No KineticTracks produced" << G4endl; - continue; - } - -//G4cout<<" prod had "<size()<size();aTrack++) - { - theResult->push_back(generatedKineticTracks->operator[](aTrack)); - KTsum1+= (*generatedKineticTracks)[aTrack]->Get4Momentum(); - } - - KTsecondaries+=KTsum1; - - if ( KTsum1.e() > 0 && std::abs((KTsum1.e()-theStrings->operator[](astring)->Get4Momentum().e()) / KTsum1.e()) > perMillion ) - { -//--debug-- G4cout << "String secondaries(" <size()<< ") momentum: " -//--debug-- << theStrings->operator[](astring)->Get4Momentum() << " " << KTsum1 << G4endl; - NeedEnergyCorrector=true; - } -// clean up - delete generatedKineticTracks; - } -//--DEBUG G4cout << "Strings/secs total 4 momentum " << KTsum << " " <size();aTrack++) - { - G4cout << " corrected tracks .. " << (*theResult)[aTrack]->GetDefinition()->GetParticleName() - <<" " << (*theResult)[aTrack]->Get4Momentum() << G4endl; - KTsum1+= (*theResult)[aTrack]->Get4Momentum(); - } - G4cout << "Needcorrector/success " << NeedEnergyCorrector << "/" << success << ", Corrected total 4 momentum " << KTsum1 << G4endl; - if ( ! success ) G4cout << "failed to correct E/p" << G4endl; -#endif - - return theResult; -} - #endif diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4FragmentingString.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4FragmentingString.hh index 5323121e16..7e9de52504 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4FragmentingString.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4FragmentingString.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FragmentingString.hh,v 1.4 2007/12/20 15:38:06 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4FragmentingString.hh,v 1.5 2010/09/20 12:46:23 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4FragmentingString_h diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4HadronBuilder.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4HadronBuilder.hh index c0db807f2c..edb1bac648 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4HadronBuilder.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4HadronBuilder.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4HadronBuilder.hh,v 1.5 2009/05/18 09:43:40 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HadronBuilder.hh,v 1.6 2010/09/20 12:46:23 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ----------------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4LundStringFragmentation.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4LundStringFragmentation.hh index 8e3e41c9ce..a373703f8e 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4LundStringFragmentation.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4LundStringFragmentation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LundStringFragmentation.hh,v 1.6 2008/04/25 14:20:14 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-02 $ Maxim Komogorov +// $Id: G4LundStringFragmentation.hh,v 1.7 2010/09/20 12:46:23 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ Maxim Komogorov // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file @@ -77,7 +77,9 @@ private: G4int PartonEncoding, G4ParticleDefinition* pHadron, G4double Px, G4double Py); - + + G4double lambda(G4double s, G4double m1_Sqr, G4double m2_Sqr); + private: // ------ For estimation of a minimal string mass --------------- G4double Mass_of_light_quark; @@ -88,6 +90,14 @@ private: G4double MinimalStringMass2; // ------ Minimal invariant mass used at a string fragmentation - G4double WminLUND; + + G4int Meson[3][3][6]; + G4double MesonWeight[3][3][6]; + + G4int Baryon[3][3][3][4]; + G4double BaryonWeight[3][3][3][4]; + + G4double Prob_QQbar[3]; }; //************************************************************************************************************** diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4QGSMFragmentation.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4QGSMFragmentation.hh index e25d87f824..e86cc2b711 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4QGSMFragmentation.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4QGSMFragmentation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4QGSMFragmentation.hh,v 1.5 2007/12/20 15:38:07 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4QGSMFragmentation.hh,v 1.6 2010/09/20 12:46:23 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4VKinkyStringDecay.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4VKinkyStringDecay.hh index 2aa87d8009..d5f1eab7d0 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4VKinkyStringDecay.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4VKinkyStringDecay.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VKinkyStringDecay.hh,v 1.3 2006/06/29 20:54:53 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VKinkyStringDecay.hh,v 1.4 2010/09/20 12:46:23 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // Maxim Komogorov // // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4VLongitudinalStringDecay.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4VLongitudinalStringDecay.hh index 5e2e88faaf..beb09e7504 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4VLongitudinalStringDecay.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4VLongitudinalStringDecay.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VLongitudinalStringDecay.hh,v 1.7 2009/05/22 16:35:47 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VLongitudinalStringDecay.hh,v 1.8 2010/09/20 12:46:23 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // Maxim Komogorov // // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/parton_string/hadronization/sources.cmake b/source/processes/hadronic/models/parton_string/hadronization/sources.cmake new file mode 100644 index 0000000000..714d2a89dc --- /dev/null +++ b/source/processes/hadronic/models/parton_string/hadronization/sources.cmake @@ -0,0 +1,99 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4had_string_frag +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_string.G4had_string_frag +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:05:01 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/shortlived/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4had_string_frag + HEADERS + G4ExcitedStringDecay.hh + G4FragmentingString.hh + G4HadronBuilder.hh + G4LundStringFragmentation.hh + G4QGSMFragmentation.hh + G4VKinkyStringDecay.hh + G4VLongitudinalStringDecay.hh + SOURCES + G4ExcitedStringDecay.cc + G4FragmentingString.cc + G4HadronBuilder.cc + G4LundStringFragmentation.cc + G4QGSMFragmentation.cc + G4VKinkyStringDecay.cc + G4VLongitudinalStringDecay.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_mod_man + G4had_mod_util + G4had_string_man + G4hadronic_mgt + G4hadronic_proc + G4hadronic_util + G4hadronic_xsect + G4hepnumerics + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4shortlived + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/parton_string/hadronization/src/G4ExcitedStringDecay.cc b/source/processes/hadronic/models/parton_string/hadronization/src/G4ExcitedStringDecay.cc index 79b3ce4c68..15f9fd0538 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/src/G4ExcitedStringDecay.cc +++ b/source/processes/hadronic/models/parton_string/hadronization/src/G4ExcitedStringDecay.cc @@ -60,8 +60,106 @@ int G4ExcitedStringDecay::operator!=(const G4ExcitedStringDecay &) const return 1; } -G4bool G4ExcitedStringDecay:: -EnergyAndMomentumCorrector(G4KineticTrackVector* Output, G4LorentzVector& TotalCollisionMom) +G4KineticTrackVector *G4ExcitedStringDecay::FragmentString + (const G4ExcitedString &theString) +{ + if ( theStringDecay == NULL ) + + theStringDecay=new G4LundStringFragmentation(); + + return theStringDecay->FragmentString(theString); +} + +G4KineticTrackVector *G4ExcitedStringDecay::FragmentStrings + (const G4ExcitedStringVector * theStrings) +{ + G4LorentzVector KTsum(0.,0.,0.,0.); + for ( unsigned int astring=0; astring < theStrings->size(); astring++) + { + KTsum+= theStrings->operator[](astring)->Get4Momentum(); + + if( !(KTsum.e()<1) && !(KTsum.e()>-1) ) + { + throw G4HadronicException(__FILE__, __LINE__, + "G4ExcitedStringDecay::FragmentStrings received nan string..."); + } + } + + G4KineticTrackVector * theResult = new G4KineticTrackVector; + G4int attempts(0); + G4bool success=false; + do { + + std::for_each(theResult->begin() , theResult->end() , DeleteKineticTrack()); + theResult->clear(); + + attempts++; + G4LorentzVector KTsecondaries(0.,0.,0.,0.); + G4bool NeedEnergyCorrector=false; + + for ( unsigned int astring=0; astring < theStrings->size(); astring++) + { +//G4cout<operator[](astring)->Get4Momentum().mag()<operator[](astring)->IsExcited() ) + { + generatedKineticTracks=FragmentString(*theStrings->operator[](astring)); + } else { + generatedKineticTracks = new G4KineticTrackVector; + generatedKineticTracks->push_back(theStrings->operator[](astring)->GetKineticTrack()); + } + + if (generatedKineticTracks == NULL) + { + G4cerr << "G4VPartonStringModel:No KineticTracks produced" << G4endl; + continue; + } + + G4LorentzVector KTsum1(0.,0.,0.,0.); + for ( unsigned int aTrack=0; aTracksize();aTrack++) + { +//G4cout<<" Prod part "<<(*generatedKineticTracks)[aTrack]->GetDefinition()->GetParticleName()<<" "<<(*generatedKineticTracks)[aTrack]->Get4Momentum()<push_back(generatedKineticTracks->operator[](aTrack)); + KTsum1+= (*generatedKineticTracks)[aTrack]->Get4Momentum(); + } + KTsecondaries+=KTsum1; + + if ( KTsum1.e() > 0 && std::abs((KTsum1.e()-theStrings->operator[](astring)->Get4Momentum().e()) / KTsum1.e()) > perMillion ) + { +//--debug-- G4cout << "String secondaries(" <size()<< ") momentum: " +//--debug-- << theStrings->operator[](astring)->Get4Momentum() << " " << KTsum1 << G4endl; + NeedEnergyCorrector=true; + } + +// clean up + delete generatedKineticTracks; + } +//--DEBUG G4cout << "Strings/secs total 4 momentum " << KTsum << " " <size();aTrack++) + { + G4cout << " corrected tracks .. " << (*theResult)[aTrack]->GetDefinition()->GetParticleName() + <<" " << (*theResult)[aTrack]->Get4Momentum() << G4endl; + KTsum1+= (*theResult)[aTrack]->Get4Momentum(); + } + G4cout << "Needcorrector/success " << NeedEnergyCorrector << "/" << success << ", Corrected total 4 momentum " << KTsum1 << G4endl; + if ( ! success ) G4cout << "failed to correct E/p" << G4endl; +#endif + + return theResult; +} + +G4bool G4ExcitedStringDecay::EnergyAndMomentumCorrector + (G4KineticTrackVector* Output, G4LorentzVector& TotalCollisionMom) { const int nAttemptScale = 500; const double ErrLimit = 1.E-5; @@ -70,11 +168,14 @@ EnergyAndMomentumCorrector(G4KineticTrackVector* Output, G4LorentzVector& TotalC G4LorentzVector SumMom; G4double SumMass = 0; G4double TotalCollisionMass = TotalCollisionMom.m(); + if( !(TotalCollisionMass<1) && !(TotalCollisionMass>-1) ) { std::cout << "TotalCollisionMomentum = "<size()<size(); cHadron++) @@ -90,9 +191,12 @@ EnergyAndMomentumCorrector(G4KineticTrackVector* Output, G4LorentzVector& TotalC throw G4HadronicException(__FILE__, __LINE__, "G4ExcitedStringDecay::EnergyAndMomentumCorrector() received nan mass..."); } } + +//G4cout<<"SumMass TotalCollisionMass "<size() < 2) return FALSE; - + if (SumMass > TotalCollisionMass) return FALSE; SumMass = SumMom.m2(); if (SumMass < 0) return FALSE; @@ -147,12 +251,6 @@ EnergyAndMomentumCorrector(G4KineticTrackVector* Output, G4LorentzVector& TotalC // Compute c.m.s. interaction velocity and KTV back boost Beta = TotalCollisionMom.boostVector(); Output->Boost(Beta); -/* // Uzhi -G4cout<<"Number of produced hadrons // correct E and P "<size()<size(); cHadron++) - { -G4cout<operator[](cHadron)->Get4Momentum()<<" "<operator[](cHadron)->Get4Momentum().mag()<operator[](cHadron)->GetDefinition()->GetParticleName()<vect(); Ptleft.setZ(0.); -//G4cout<<"Pt right "<vect(); Ptright.setZ(0.); LeftParton = old.LeftParton; Ptleft = old.Ptleft; -//G4cout<<"Pt right "< 0.23 3.8.10 //0.8 1.5 // ------ Smooth parameter used at a string fragmentation for --- // ------ smearinr sharp mass cut-off --------------------------- SmoothParam = 0.2; -// SetStringTensionParameter(0.25); // Uzhi 20 June 08 - SetStringTensionParameter(1.); // Uzhi 20 June 09 +// SetStringTensionParameter(0.25); + SetStringTensionParameter(1.); + +SetDiquarkBreakProbability(0.05); // Vova Aug. 22 + +// For treating of small string decays + for(G4int i=0; i<3; i++) + { for(G4int j=0; j<3; j++) + { for(G4int k=0; k<6; k++) + { Meson[i][j][k]=0; MesonWeight[i][j][k]=0.; + } + } + } +//-------------------------- + Meson[0][0][0]=111; // dbar-d Pi0 + MesonWeight[0][0][0]=pspin_meson*(1.-scalarMesonMix[0]); + + Meson[0][0][1]=221; // dbar-d Eta + MesonWeight[0][0][1]=pspin_meson*(scalarMesonMix[0]-scalarMesonMix[1]); + + Meson[0][0][2]=331; // dbar-d EtaPrime + MesonWeight[0][0][2]=pspin_meson*(scalarMesonMix[1]); + + Meson[0][0][3]=113; // dbar-d Rho0 + MesonWeight[0][0][3]=(1.-pspin_meson)*(1.-vectorMesonMix[0]); + + Meson[0][0][4]=223; // dbar-d Omega + MesonWeight[0][0][4]=(1.-pspin_meson)*(vectorMesonMix[0]); +//-------------------------- + + Meson[0][1][0]=211; // dbar-u Pi+ + MesonWeight[0][1][0]=pspin_meson; + + Meson[0][1][1]=213; // dbar-u Rho+ + MesonWeight[0][1][1]=(1.-pspin_meson); +//-------------------------- + + Meson[0][2][0]=311; // dbar-s K0bar + MesonWeight[0][2][0]=pspin_meson; + + Meson[0][2][1]=313; // dbar-s K*0bar + MesonWeight[0][2][1]=(1.-pspin_meson); +//-------------------------- +//-------------------------- + Meson[1][0][0]=211; // ubar-d Pi- + MesonWeight[1][0][0]=pspin_meson; + + Meson[1][0][1]=213; // ubar-d Rho- + MesonWeight[1][0][1]=(1.-pspin_meson); +//-------------------------- + + Meson[1][1][0]=111; // ubar-u Pi0 + MesonWeight[1][1][0]=pspin_meson*(1.-scalarMesonMix[0]); + + Meson[1][1][1]=221; // ubar-u Eta + MesonWeight[1][1][1]=pspin_meson*(scalarMesonMix[0]-scalarMesonMix[1]); + + Meson[1][1][2]=331; // ubar-u EtaPrime + MesonWeight[1][1][2]=pspin_meson*(scalarMesonMix[1]); + + Meson[1][1][3]=113; // ubar-u Rho0 + MesonWeight[1][1][3]=(1.-pspin_meson)*(1.-vectorMesonMix[0]); + + Meson[1][1][4]=223; // ubar-u Omega + MesonWeight[1][1][4]=(1.-pspin_meson)*(scalarMesonMix[0]); +//-------------------------- + + Meson[1][2][0]=321; // ubar-s K- + MesonWeight[1][2][0]=pspin_meson; + + Meson[1][2][1]=323; // ubar-s K*-bar - + MesonWeight[1][2][1]=(1.-pspin_meson); +//-------------------------- +//-------------------------- + + Meson[2][0][0]=311; // sbar-d K0 + MesonWeight[2][0][0]=pspin_meson; + + Meson[2][0][1]=313; // sbar-d K*0 + MesonWeight[2][0][1]=(1.-pspin_meson); +//-------------------------- + + Meson[2][1][0]=321; // sbar-u K+ + MesonWeight[2][1][0]=pspin_meson; + + Meson[2][1][1]=323; // sbar-u K*+ + MesonWeight[2][1][1]=(1.-pspin_meson); +//-------------------------- + + Meson[2][2][0]=221; // sbar-s Eta + MesonWeight[2][2][0]=pspin_meson*(1.-scalarMesonMix[5]); + + Meson[2][2][1]=331; // sbar-s EtaPrime + MesonWeight[2][2][1]=pspin_meson*(1.-scalarMesonMix[5]); + + Meson[2][2][3]=333; // sbar-s EtaPrime + MesonWeight[2][2][3]=(1.-pspin_meson)*(vectorMesonMix[5]); +//-------------------------- + + for(G4int i=0; i<3; i++) + { for(G4int j=0; j<3; j++) + { for(G4int k=0; k<3; k++) + { for(G4int l=0; l<4; l++) + { Baryon[i][j][k][l]=0; BaryonWeight[i][j][k][l]=0.;} + } + } + } + +//--------------------------------------- + Baryon[0][0][0][0]=1114; // Delta- + BaryonWeight[0][0][0][0]=1.; + +//--------------------------------------- + Baryon[0][0][1][0]=2112; // neutron + BaryonWeight[0][0][1][0]=pspin_barion; + + Baryon[0][0][1][1]=2114; // Delta0 + BaryonWeight[0][0][1][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[0][0][2][0]=3112; // Sigma- + BaryonWeight[0][0][2][0]=pspin_barion; + + Baryon[0][0][2][1]=3114; // Sigma*- + BaryonWeight[0][0][2][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[0][1][0][0]=2112; // neutron + BaryonWeight[0][1][0][0]=pspin_barion; + + Baryon[0][1][0][1]=2114; // Delta0 + BaryonWeight[0][1][0][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[0][1][1][0]=2212; // proton + BaryonWeight[0][1][1][0]=pspin_barion; + + Baryon[0][1][1][1]=2214; // Delta+ + BaryonWeight[0][1][1][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[0][1][2][0]=3122; // Lambda + BaryonWeight[0][1][2][0]=pspin_barion*0.5; + + Baryon[0][1][2][1]=3212; // Sigma0 + BaryonWeight[0][1][2][2]=pspin_barion*0.5; + + Baryon[0][1][2][2]=3214; // Sigma*0 + BaryonWeight[0][1][2][2]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[0][2][0][0]=3112; // Sigma- + BaryonWeight[0][2][0][0]=pspin_barion; + + Baryon[0][2][0][1]=3114; // Sigma*- + BaryonWeight[0][2][0][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[0][2][1][0]=3122; // Lambda + BaryonWeight[0][2][1][0]=pspin_barion*0.5; + + Baryon[0][2][1][1]=3212; // Sigma0 + BaryonWeight[0][2][1][1]=pspin_barion*0.5; + + Baryon[0][2][1][2]=3214; // Sigma*0 + BaryonWeight[0][2][1][2]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[0][2][2][0]=3312; // Theta- + BaryonWeight[0][2][2][0]=pspin_barion; + + Baryon[0][2][2][1]=3314; // Theta*- + BaryonWeight[0][2][2][1]=(1.-pspin_barion); + +//--------------------------------------- +//--------------------------------------- + Baryon[1][0][0][0]=2112; // neutron + BaryonWeight[1][0][0][0]=pspin_barion; + + Baryon[1][0][0][1]=2114; // Delta0 + BaryonWeight[1][0][0][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[1][0][1][0]=2212; // proton + BaryonWeight[1][0][1][0]=pspin_barion; + + Baryon[1][0][1][1]=2214; // Delta+ + BaryonWeight[1][0][1][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[1][0][2][0]=3122; // Lambda + BaryonWeight[1][0][2][0]=pspin_barion*0.5; + + Baryon[1][0][2][1]=3212; // Sigma0 + BaryonWeight[1][0][2][1]=pspin_barion*0.5; + + Baryon[1][0][2][2]=3214; // Sigma*0 + BaryonWeight[1][0][2][2]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[1][1][0][0]=2212; // proton + BaryonWeight[1][1][0][0]=pspin_barion; + + Baryon[1][1][0][1]=2214; // Delta+ + BaryonWeight[1][1][0][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[1][1][1][0]=2224; // Delta++ + BaryonWeight[1][1][1][0]=1.; + +//--------------------------------------- + Baryon[1][1][2][0]=3222; // Sigma+ + BaryonWeight[1][1][2][0]=pspin_barion; + + Baryon[1][1][2][1]=3224; // Sigma*+ + BaryonWeight[1][1][2][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[1][2][0][0]=3122; // Lambda + BaryonWeight[1][2][0][0]=pspin_barion*0.5; + + Baryon[1][2][0][1]=3212; // Sigma0 + BaryonWeight[1][2][0][1]=pspin_barion*0.5; + + Baryon[1][2][0][2]=3214; // Sigma*0 + BaryonWeight[1][2][0][2]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[1][2][1][0]=3222; // Sigma+ + BaryonWeight[1][2][1][0]=pspin_barion; + + Baryon[1][2][1][1]=3224; // Sigma*+ + BaryonWeight[1][2][1][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[1][2][2][0]=3322; // Theta0 + BaryonWeight[1][2][2][0]=pspin_barion; + + Baryon[1][2][2][1]=3324; // Theta*0 + BaryonWeight[1][2][2][1]=(1.-pspin_barion); + +//--------------------------------------- +//--------------------------------------- + Baryon[2][0][0][0]=3112; // Sigma- + BaryonWeight[2][0][0][0]=pspin_barion; + + Baryon[2][0][0][1]=3114; // Sigma*- + BaryonWeight[2][0][0][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[2][0][1][0]=3122; // Lambda + BaryonWeight[2][0][1][0]=pspin_barion*0.5; + + Baryon[2][0][1][1]=3212; // Sigma0 + BaryonWeight[2][0][1][1]=pspin_barion*0.5; + + Baryon[2][0][1][2]=3214; // Sigma*0 + BaryonWeight[2][0][1][2]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[2][0][2][0]=3312; // Sigma- + BaryonWeight[2][0][2][0]=pspin_barion; + + Baryon[2][0][2][1]=3314; // Sigma*- + BaryonWeight[2][0][2][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[2][1][0][0]=3122; // Lambda + BaryonWeight[2][1][0][0]=pspin_barion*0.5; + + Baryon[2][1][0][1]=3212; // Sigma0 + BaryonWeight[2][1][0][1]=pspin_barion*0.5; + + Baryon[2][1][0][2]=3214; // Sigma*0 + BaryonWeight[2][1][0][2]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[2][1][1][0]=3222; // Sigma+ + BaryonWeight[2][1][1][0]=pspin_barion; + + Baryon[2][1][1][1]=3224; // Sigma*+ + BaryonWeight[2][1][1][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[2][1][2][0]=3322; // Theta0 + BaryonWeight[2][1][2][0]=pspin_barion; + + Baryon[2][1][2][1]=3324; // Theta*0 + BaryonWeight[2][1][2][2]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[2][2][0][0]=3312; // Theta- + BaryonWeight[2][2][0][0]=pspin_barion; + + Baryon[2][2][0][1]=3314; // Theta*- + BaryonWeight[2][2][0][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[2][2][1][0]=3322; // Theta0 + BaryonWeight[2][2][1][0]=pspin_barion; + + Baryon[2][2][1][1]=3324; // Theta*0 + BaryonWeight[2][2][1][1]=(1.-pspin_barion); + +//--------------------------------------- + Baryon[2][2][2][0]=3334; // Omega + BaryonWeight[2][2][2][0]=1.; + +//--------------------------------------- +/* + for(G4int i=0; i<3; i++) + { for(G4int j=0; j<3; j++) + { for(G4int k=0; k<3; k++) + { for(G4int l=0; l<4; l++) + { G4cout<>Uzhi; +*/ +//StrangeSuppress=0.38; + Prob_QQbar[0]=StrangeSuppress; // Probability of ddbar production + Prob_QQbar[1]=StrangeSuppress; // Probability of uubar production + Prob_QQbar[2]=StrangeSuppress/(2.+StrangeSuppress);//(1.-2.*StrangeSuppress); // Probability of ssbar production } // -------------------------------------------------------------- @@ -89,13 +412,8 @@ int G4LundStringFragmentation::operator!=(const G4LundStringFragmentation &right } //-------------------------------------------------------------------------------------- -void G4LundStringFragmentation::SetMinimalStringMass(const G4FragmentingString * const string) // Uzhi +void G4LundStringFragmentation::SetMinimalStringMass(const G4FragmentingString * const string) { -/* -G4cout<<"In SetMinMass -------------------"<Mass2())<GetLeftParton()->GetPDGEncoding()<<" "<< - string->GetRightParton()->GetPDGEncoding()<GetLeftParton()->GetPDGEncoding()<<" "<< } MinimalStringMass=EstimatedMass; SetMinimalStringMass2(EstimatedMass); -//G4cout<<"Out SetMinimalStringMass "< theString.Get4Momentum().mag()) + {SetMassCut(1000.*MeV);} + else {SetMassCut(160.*MeV);} */ - G4KineticTrackVector * LeftVector=LightFragmentationTest(&theString); +// V.U. 20.06.10 in order to put in correspondence LightFragTest and MinStrMass + +G4KineticTrackVector * LeftVector(0); +// G4KineticTrackVector * LeftVector=LightFragmentationTest(&theString); +//G4cout<<"Min Str Mass "<operator[](0)->GetDefinition()->GetParticleName()<size() == 1) + { + if(! (std::abs(LeftVector->operator[](0)->GetDefinition()->GetPDGMass()- + theString.Get4Momentum().mag()) < 100*MeV)) + { // produce a particle with arbitrary isospin +G4cout<<" produce a particle with arbitrary isospin"<1 +G4cout<<"Hadron PDG "<GetPDGEncoding()<begin() , LeftVector->end() , DeleteKineticTrack()); + LeftVector->clear(); + + G4ThreeVector Mom3 = aString.Get4Momentum().vect(); + G4LorentzVector Mom(Mom3,std::sqrt(Mom3.mag2() + sqr(hadrons.first->GetPDGMass()))); + LeftVector->push_back(new G4KineticTrack(hadrons.first, 0, + theString.GetPosition(), + Mom)); + } // end of if ( hadrons.second ==0 ) + } // end of produce a particle with arbitrary isospin + + } // end of if(LeftVector->size() == 1) +*/ +} // end of if(!IsFragmentable(&aString)) + if ( LeftVector != 0 ) { -//G4cout<<"Return single hadron insted of string"<size() == 1){ // One hadron is saved in the interaction @@ -196,20 +564,19 @@ G4cout<<"FragmentString Momentum"<operator[](0)->SetPosition(aPosition); */ -//G4cout<<"Single hadron "<operator[](0)->Get4Momentum()<<" "<operator[](0)->Get4Momentum().mag()<operator[](0)->SetFormationTime(theString.GetTimeOfCreation()); LeftVector->operator[](0)->SetPosition(theString.GetPosition()); LeftVector->operator[](1)->SetFormationTime(theString.GetTimeOfCreation()); LeftVector->operator[](1)->SetPosition(theString.GetPosition()); } -// Uzhi insert 6.05.08 end return LeftVector; } //--------------------- The string can fragment ------------------------------- //--------------- At least two particles can be produced ---------------------- - +//G4cout<<"Fragmentable"<Mass2())<begin() , LeftVector->end() , DeleteKineticTrack()); LeftVector->clear(); @@ -232,19 +598,18 @@ G4cout<<"FragmentString Momentum"<>Uzhi; // Uzhi - G4KineticTrack * Hadron=Splitup(currentString,newString); -//G4cout<<" Hadron "<GetDefinition()->GetParticleName()<GetDecayDirection() > 0 ) LeftVector->push_back(Hadron); else @@ -254,7 +619,7 @@ G4cout<<"FragmentString Momentum"< 100.*fermi){ -// It is a projectile-like string ------------------------------------- - G4double Zmin=theString.GetPosition().y()-1000.*fermi; - G4double Zmax=theString.GetPosition().z(); - TimeOftheStringCreation= - (Zmax-Zmin)*theString.Get4Momentum().e()/theString.Get4Momentum().z(); - - G4ThreeVector aPosition(0.,0.,Zmax); - PositionOftheStringCreation=aPosition; - } -*/ - -//G4cout<<"Lund Frag # hadrons"<size()<size()<size(); C1++) { G4KineticTrack* Hadron = LeftVector->operator[](C1); G4LorentzVector Momentum = Hadron->Get4Momentum(); +//G4cout<<"Hadron "<GetDefinition()->GetParticleName()<<" "<Set4Momentum(Momentum); G4LorentzVector Coordinate(Hadron->GetPosition(), Hadron->GetFormationTime()); Momentum = toObserverFrame*Coordinate; - Hadron->SetFormationTime(TimeOftheStringCreation+Momentum.e() // Uzhi 11.07.09 - -fermi/c_light); // Uzhi 11.07.09 + Hadron->SetFormationTime(TimeOftheStringCreation+Momentum.e() + -fermi/c_light); G4ThreeVector aPosition(Momentum.vect()); // Hadron->SetPosition(theString.GetPosition()+aPosition); Hadron->SetPosition(PositionOftheStringCreation+aPosition); -//G4cout<<"Hadron "<GetPosition()/fermi<<" "<GetFormationTime()/fermi<GetDefinition()->GetParticleName()<GetDefinition()->GetPDGMass()<<' ' -<Get4Momentum()<GetFormationTime()<<' ' -<GetPosition()<<' ' -<GetPosition().z()/fermi<GetFormationTime()<<' ' //---------------------------------------------------------------------------------- G4bool G4LundStringFragmentation::IsFragmentable(const G4FragmentingString * const string) { -//G4cout<<"In IsFragmentable"<Get4Momentum().mag2())<Get4Momentum().mag2(); // Uzhi - -// return sqr(FragmentationMass(string)+MassCut) < // Uzhi -// string->Mass2(); // Uzhi + SetMinimalStringMass(string); +// return sqr(MinimalStringMass + WminLUND) < string->Get4Momentum().mag2(); + return MinimalStringMass < string->Get4Momentum().mag(); // 21.07.2010 } //---------------------------------------------------------------------------------------- G4bool G4LundStringFragmentation::StopFragmenting(const G4FragmentingString * const string) { -//G4cout<<"StopFragmenting"<Get4Momentum().mag2())<Get4Momentum().mag()<Mass()<Mass()*string->Mass()-MinimalStringMass2)/WminLUND/WminLUND)<>Uzhi; +*/ +// return (MinimalStringMass + WminLUND)* (1 + SmoothParam * (1.-2*G4UniformRand())) > string->Mass(); +// +// return G4UniformRand() < std::exp(-(string->Mass()*string->Mass()-MinimalStringMass2)/WminLUND/WminLUND); } //---------------------------------------------------------------------------------------- @@ -378,100 +712,274 @@ G4bool G4LundStringFragmentation::SplitLast(G4FragmentingString * string, G4KineticTrackVector * RightVector) { //... perform last cluster decay -/* -G4cout<<"SplitLast String mass "<Mass()<GetLeftParton()->GetPDGEncoding()<<" "<GetRightParton()->GetPDGEncoding()<<" "<Get4Momentum(); -//G4cout<<"String 4 momentum "<Get4Momentum().boostVector(); - G4double ResidualMass = string->Mass(); + G4double StringMass = string->Mass(); + G4double StringMassSqr= sqr(StringMass); - G4ParticleDefinition * LeftHadron, * RightHadron; + G4ParticleDefinition * LeftHadron(0), * RightHadron(0); + G4double LeftHadronMass(0.), RightHadronMass(0.); - G4int cClusterInterrupt = 0; - do + G4ParticleDefinition * FS_LeftHadron[25], * FS_RightHadron[25]; + G4double FS_Weight[25]; + G4int NumberOf_FS=0; + + for(G4int i=0; i<25; i++) {FS_Weight[i]=0.;} +//*********************************************** +//G4cout<<"StrMass "<GetLeftParton()->GetParticleName()<<" "<GetRightParton()->GetParticleName()<<" StringMassSqr "<SetLeftPartonStable(); // to query quark contents.. + + if (string->FourQuarkString() ) { -//G4cout<<" Cicle "<= ClusterLoopInterrupt) { return false; } - G4ParticleDefinition * quark = NULL; - string->SetLeftPartonStable(); // to query quark contents.. - if (!string->FourQuarkString() ) + G4int LeftQuark1= string->GetLeftParton()->GetPDGEncoding()/1000; + G4int LeftQuark2=(string->GetLeftParton()->GetPDGEncoding()/100)%10; + + G4int RightQuark1= string->GetRightParton()->GetPDGEncoding()/1000; + G4int RightQuark2=(string->GetRightParton()->GetPDGEncoding()/100)%10; + + if(G4UniformRand()<0.5) { - // The string is q-qbar, or q-qq, or qbar-qqbar type - if (string->DecayIsQuark() && string->StableIsQuark() ) - { - //... there are quarks on cluster ends - LeftHadron= QuarkSplitup(string->GetLeftParton(), quark); - } else - { - //... there is a Diquark on one of the cluster ends - G4int IsParticle; - - if ( string->StableIsQuark() ) - { - IsParticle=(string->GetLeftParton()->GetPDGEncoding()>0) ? -1 : +1; - } else - { - IsParticle=(string->GetLeftParton()->GetPDGEncoding()>0) ? +1 : -1; - } - - pDefPair QuarkPair = CreatePartonPair(IsParticle,false); // no diquarks wanted - quark = QuarkPair.second; - - LeftHadron=hadronizer->Build(QuarkPair.first, string->GetLeftParton()); - } - - RightHadron = hadronizer->Build(string->GetRightParton(), quark); + LeftHadron =hadronizer->Build(FindParticle( LeftQuark1), + FindParticle(RightQuark1)); + RightHadron=hadronizer->Build(FindParticle( LeftQuark2), + FindParticle(RightQuark2)); } else { - // The string is qq-qqbar type. Diquarks are on the string ends - G4int LiftQuark1= string->GetLeftParton()->GetPDGEncoding()/1000; - G4int LiftQuark2=(string->GetLeftParton()->GetPDGEncoding()/100)%10; - - G4int RightQuark1= string->GetRightParton()->GetPDGEncoding()/1000; - G4int RightQuark2=(string->GetRightParton()->GetPDGEncoding()/100)%10; - - if(G4UniformRand()<0.5) - { - LeftHadron =hadronizer->Build(FindParticle( LiftQuark1), - FindParticle(RightQuark1)); - RightHadron=hadronizer->Build(FindParticle( LiftQuark2), - FindParticle(RightQuark2)); - } else - { - LeftHadron =hadronizer->Build(FindParticle( LiftQuark1), - FindParticle(RightQuark2)); - RightHadron=hadronizer->Build(FindParticle( LiftQuark2), - FindParticle(RightQuark1)); - } + LeftHadron =hadronizer->Build(FindParticle( LeftQuark1), + FindParticle(RightQuark2)); + RightHadron=hadronizer->Build(FindParticle( LeftQuark2), + FindParticle(RightQuark1)); } -/* -G4cout<<"SplitLast Left Right hadrons "<GetPDGEncoding()<<" "<GetPDGEncoding()<GetPDGMass()<<" "<GetPDGMass()<GetPDGMass() + RightHadron->GetPDGMass()<<" "<GetPDGMass() + RightHadron->GetPDGMass())); - } - while (ResidualMass <= LeftHadron->GetPDGMass() + RightHadron->GetPDGMass());// UzhiVOVA + } // End of if (string->FourQuarkString() ) - //... compute hadron momenta and energies +//*********************************************** + + if (!string->FourQuarkString()) + { + if (string->DecayIsQuark() && string->StableIsQuark() ) + {//... there are quarks on cluster ends +//G4cout<<"Q Q string"<GetLeftParton()->GetPDGEncoding()>0) + { + Quark =string->GetLeftParton(); + Anti_Quark=string->GetRightParton(); + } else + { + Quark =string->GetRightParton(); + Anti_Quark=string->GetLeftParton(); + } + + G4int IDquark =Quark->GetPDGEncoding(); + G4int AbsIDquark =std::abs(IDquark); + G4int IDanti_quark =Anti_Quark->GetPDGEncoding(); + G4int AbsIDanti_quark=std::abs(IDanti_quark); + + NumberOf_FS=0; + for(G4int ProdQ=1; ProdQ < 4; ProdQ++) + { + G4int SignQ=-1; + if(IDquark == 2) SignQ= 1; + if((IDquark == 1) && (ProdQ == 3)) SignQ= 1; // K0 + if((IDquark == 3) && (ProdQ == 1)) SignQ=-1; // K0bar + if(IDquark == ProdQ) SignQ= 1; + + G4int SignAQ= 1; + if(IDanti_quark == -2) SignAQ=-1; + if((IDanti_quark ==-1) && (ProdQ == 3)) SignAQ=-1; // K0bar + if((IDanti_quark ==-3) && (ProdQ == 1)) SignAQ= 1; // K0 + if(AbsIDanti_quark == ProdQ) SignAQ= 1; + + G4int StateQ=0; + do // while(Meson[AbsIDquark-1][ProdQ-1][StateQ]<>0); + { + LeftHadron=G4ParticleTable::GetParticleTable()->FindParticle(SignQ* + Meson[AbsIDquark-1][ProdQ-1][StateQ]); + LeftHadronMass=LeftHadron->GetPDGMass(); + StateQ++; + + G4int StateAQ=0; + do // while(Meson[AbsIDanti_quark-1][ProdQ-1][StateAQ]<>0); + { + RightHadron=G4ParticleTable::GetParticleTable()->FindParticle(SignAQ* + Meson[AbsIDanti_quark-1][ProdQ-1][StateAQ]); + RightHadronMass=RightHadron->GetPDGMass(); + StateAQ++; + + if(StringMass >= LeftHadronMass + RightHadronMass) + { + G4double FS_Psqr=lambda(StringMassSqr,sqr(LeftHadronMass), + sqr(RightHadronMass)); + FS_Weight[NumberOf_FS]=std::sqrt(FS_Psqr)* + MesonWeight[AbsIDquark-1][ProdQ-1][StateQ]* + MesonWeight[AbsIDanti_quark-1][ProdQ-1][StateAQ]* + Prob_QQbar[ProdQ-1]; + + FS_LeftHadron[NumberOf_FS] = LeftHadron; + FS_RightHadron[NumberOf_FS]= RightHadron; + NumberOf_FS++; +if(NumberOf_FS > 24) +{G4int Uzhi; G4cout<<"QQbar string #_FS "<>Uzhi;} + } // End of if(StringMass >= LeftHadronMass + RightHadronMass) + } while(Meson[AbsIDanti_quark-1][ProdQ-1][StateAQ]!=0); + } while(Meson[AbsIDquark-1][ProdQ-1][StateQ]!=0); + } // End of for(G4int ProdQ=1; ProdQ < 4; ProdQ++) +// + } else //--------------------------------------------- + { //... there is a Diquark on one of the cluster ends +//G4cout<<"DiQ Q string"<GetLeftParton()->GetParticleSubType()== "quark") + { + Quark =string->GetLeftParton(); + Di_Quark=string->GetRightParton(); + } else + { + Quark =string->GetRightParton(); + Di_Quark=string->GetLeftParton(); + } + + G4int IDquark =Quark->GetPDGEncoding(); + G4int AbsIDquark =std::abs(IDquark); + G4int IDdi_quark =Di_Quark->GetPDGEncoding(); + G4int AbsIDdi_quark=std::abs(IDdi_quark); + G4int Di_q1=AbsIDdi_quark/1000; + G4int Di_q2=(AbsIDdi_quark-Di_q1*1000)/100; +//G4cout<<"IDs "< 0) + { SignQ=-1; + if(IDquark == 2) SignQ= 1; + if((IDquark == 1) && (ProdQ == 3)) SignQ= 1; // K0 + if((IDquark == 3) && (ProdQ == 1)) SignQ=-1; // K0bar + } else + { + SignQ= 1; + if(IDquark == -2) SignQ=-1; + if((IDquark ==-1) && (ProdQ == 3)) SignQ=-1; // K0bar + if((IDquark ==-3) && (ProdQ == 1)) SignQ= 1; // K0 + } + + if(AbsIDquark == ProdQ) SignQ= 1; + +//G4cout<0); + { +//G4cout<FindParticle(SignQ* + Meson[AbsIDquark-1][ProdQ-1][StateQ]); + LeftHadronMass=LeftHadron->GetPDGMass(); + +//G4cout<<"Meson "<GetParticleName()<0); + { +//G4cout<FindParticle(SignDiQ* + Baryon[Di_q1-1][Di_q2-1][ProdQ-1][StateDiQ]); + RightHadronMass=RightHadron->GetPDGMass(); + +//G4cout<<"Baryon "<GetParticleName()<= LeftHadronMass + RightHadronMass) + { + G4double FS_Psqr=lambda(StringMassSqr,sqr(LeftHadronMass), + sqr(RightHadronMass)); + FS_Weight[NumberOf_FS]=std::sqrt(FS_Psqr)* + MesonWeight[AbsIDquark-1][ProdQ-1][StateQ]* + BaryonWeight[Di_q1-1][Di_q2-1][ProdQ-1][StateDiQ]* + Prob_QQbar[ProdQ-1]; + + FS_LeftHadron[NumberOf_FS] = LeftHadron; + FS_RightHadron[NumberOf_FS]= RightHadron; + +//G4cout<<"State "< 24) +{G4int Uzhi; G4cout<<"QQbar string #_FS "<>Uzhi;} + } // End of if(StringMass >= LeftHadronMass + RightHadronMass) + + StateDiQ++; +//G4cout<= ksi) break; + } + + LeftHadron =FS_LeftHadron[SampledState]; + RightHadron=FS_RightHadron[SampledState]; + +//G4cout<<"Selected "<GetParticleName()<<" "<GetParticleName()<FourQuarkString()) G4LorentzVector LeftMom, RightMom; G4ThreeVector Pos; Sample4Momentum(&LeftMom, LeftHadron->GetPDGMass(), &RightMom, RightHadron->GetPDGMass(), - ResidualMass); + StringMass); LeftMom.boost(ClusterVel); RightMom.boost(ClusterVel); @@ -479,7 +987,6 @@ G4cout<<"Sum H mass Str Mass "<GetPDGMass() + RightHadron->GetPDGMa LeftVector->push_back(new G4KineticTrack(LeftHadron, 0, Pos, LeftMom)); RightVector->push_back(new G4KineticTrack(RightHadron, 0, Pos, RightMom)); -//G4cout<<"Out SplitLast "< 930. || AntiMass > 930.) // If there is a baryon +//G4cout<<"Masses "< 930. || AntiMass > 930.)) //If there is a baryon { - // ----------------- Isotripic decay ------------------------------------ +// ----------------- Isotropic decay ------------------------------------ G4double r_val = sqr(InitialMass*InitialMass - Mass*Mass - AntiMass*AntiMass) - sqr(2.*Mass*AntiMass); G4double Pabs = (r_val > 0.)? std::sqrt(r_val)/(2.*InitialMass) : 0; +//G4cout<<"P for isotr decay "<setPx(-px); AntiMom->setPy(-py); AntiMom->setPz(-pz); AntiMom->setE (std::sqrt(Pabs*Pabs + AntiMass*AntiMass)); +//G4int Uzhi; G4cin>>Uzhi; } else +// { do { @@ -527,23 +1037,13 @@ void G4LundStringFragmentation::Sample4Momentum(G4LorentzVector* Mom, G4double M G4double termab = 4*sqr(Mass*AntiMass); G4double termN = 2*termD + 4*Mass*Mass + 4*AntiMass*AntiMass; G4double pt2max=(termD*termD - termab )/ termN ; - -// G4cout << " termD, ab, N " << termD << " " << termab << " " << termN -// << " pt2max= " << pt2max ; - +//G4cout<<"Anis "< AntiMass){AvailablePz=-AvailablePz;} // May30 // Uzhi - Mom->setPx(Px); Mom->setPy(Py); Mom->setPz(AvailablePz); Mom->setE(std::sqrt(MassMt2+AvailablePz2)); -//G4cout<<" 1 part "<setPx(-Px); AntiMom->setPy(-Py); AntiMom->setPz(-AvailablePz); AntiMom->setE (std::sqrt(AntiMassMt2+AvailablePz2)); - -//G4cout<<" 2 part "<<-Px<<" "<<-Py<<" "<<-AvailablePz<<" "<Mass()<GetLeftParton()->GetPDGEncoding()<<" " - <GetRightParton()->GetPDGEncoding()<<" "<GetLeftParton()->GetPDGEncoding()<<" "<GetRightParton()->GetPDGEncoding()<<" "<Get4Momentum(); G4double StringMT2=string->Get4Momentum().mt2(); -//G4cout<<"StringMt2 "<GetPDGMass(); -//G4cout<<"Hadron mass "<GetParticleName()< String4Momentum.mag()) {return 0;}// have to start all over! String4Momentum.setPz(0.); G4ThreeVector StringPt=String4Momentum.vect(); -//G4cout<<"StringPt "<GetRightParton()->GetPDGEncoding()<<" "<DecayPt(); HadronPt.setZ(0); -//G4cout<<"Hadron Pt"<GetRightParton()->GetPDGEncoding()<<" "<GetRightParton()->GetPDGEncoding()<<" "<= zMax) return 0 "<= zMax) return 0; // have to start all over! G4double z = GetLightConeZ(zMin, zMax, string->GetDecayParton()->GetPDGEncoding(), pHadron, HadronPt.x(), HadronPt.y()); - +//G4cout<<"z "<GetRightParton()->GetPDGEncoding()<<" "<LightConeDecay())); G4LorentzVector * a4Momentum= new G4LorentzVector(HadronPt,HadronE); - -//G4cout<<"Hadron Pt"< yf); }; -//G4cout<<" test z "<Get4Momentum() << " " << string->Get4Momentum().m() << G4endl; #endif -G4cout << "VlongSF Warning replacing string by single hadron " <GetParticleName() << " string .. " <Get4Momentum() << " " << string->Get4Momentum().m() << G4endl; */ G4ThreeVector Mom3 = string->Get4Momentum().vect(); G4LorentzVector Mom(Mom3, @@ -201,8 +198,6 @@ G4cout << string->Get4Momentum() << " " << string->Get4Momentum().m() << G4endl; << string->Get4Momentum().m() << G4endl; #endif -// Uzhi Formation time in the case??? - G4LorentzVector Mom1, Mom2; Sample4Momentum(&Mom1, hadrons.first->GetPDGMass(), &Mom2,hadrons.second->GetPDGMass(), @@ -254,6 +249,7 @@ G4double G4VLongitudinalStringDecay::FragmentationMass( Hadron1 = (minMassHadronizer->*build)(string->GetLeftParton(), string->GetRightParton()); +//G4cout<<"Hadron1 "<GetParticleName()<GetPDGMass(); } else { @@ -327,8 +323,7 @@ G4KineticTrack * G4VLongitudinalStringDecay::Splitup( G4FragmentingString *string, G4FragmentingString *&newString) { -//G4cout<<"In G4VLong String Dec######################"<GetDecayParton(), newStringEnd); } + +//G4cout<<"New had "<GetParticleName()<Get4Momentum()<LightConePlus()<LightConeMinus()<StablePt()<DecayPt()<Mass2()<Mass()<>Uzhi; // Uzhi 20.06.08 -//G4cout<<"Number of hadrons "<size()<size(); c1++) { G4double SumPz = 0; @@ -521,57 +499,17 @@ void G4VLongitudinalStringDecay::CalculateHadronTimePosition(G4double theInitial G4double HadronE = Hadrons->operator[](c1)->Get4Momentum().e(); G4double HadronPz = Hadrons->operator[](c1)->Get4Momentum().pz(); Hadrons->operator[](c1)->SetFormationTime( -(theInitialStringMass - 2.*SumPz + HadronE - HadronPz)/(2.*kappa)/c_light); //Uzhi1.07.09c_light +(theInitialStringMass - 2.*SumPz + HadronE - HadronPz)/(2.*kappa)/c_light); G4ThreeVector aPosition(0, 0, (theInitialStringMass - 2.*SumE - HadronE + HadronPz)/(2.*kappa)); Hadrons->operator[](c1)->SetPosition(aPosition); -/* -G4cout<<"kappa "<>Uzhi; // Uzhi 20.06.08 -*/ } } //----------------------------------------------------------------------------- -/* -void G4VLongitudinalStringDecay::CalculateHadronTimePosition(G4double theInitialStringMass, G4KineticTrackVector* Hadrons) - { - // 'constituent' formation time - const G4double kappa = 1.0 * GeV/fermi; - for(G4int c1 = 0; c1 < Hadrons->length(); c1++) - { - G4double SumPz = 0; - G4double SumE = 0; - for(G4int c2 = 0; c2 <= c1; c2++) - { - SumPz += Hadrons->at(c2)->Get4Momentum().pz(); - SumE += Hadrons->at(c2)->Get4Momentum().e(); - } - Hadrons->at(c1)->SetFormationTime((theInitialStringMass - 2.*SumPz)/(2.*kappa)); - G4ThreeVector aPosition(0, 0, (theInitialStringMass - 2.*SumE)/(2.*kappa)); - Hadrons->at(c1)->SetPosition(aPosition); - } - c1 = Hadrons->length()-1; - Hadrons->at(c1)->SetFormationTime(Hadrons->at(c1-1)->GetFormationTime()); - Hadrons->at(c1)->SetPosition(Hadrons->at(c1-1)->GetPosition()); - } -*/ - - -//***************************************************************************** - void G4VLongitudinalStringDecay::SetSigmaTransverseMomentum(G4double aValue) { if ( PastInitPhase ) { diff --git a/source/processes/hadronic/models/parton_string/management/CMakeLists.txt b/source/processes/hadronic/models/parton_string/management/CMakeLists.txt new file mode 100644 index 0000000000..0eb344503a --- /dev/null +++ b/source/processes/hadronic/models/parton_string/management/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4had_string_man +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_string.G4had_string_man +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:05:09 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/parton_string/management/History b/source/processes/hadronic/models/parton_string/management/History index 5b824e4ada..9b9abd0d7d 100644 --- a/source/processes/hadronic/models/parton_string/management/History +++ b/source/processes/hadronic/models/parton_string/management/History @@ -1,4 +1,4 @@ -$Id: History,v 1.7 2009/07/17 12:41:20 vuzhinsk Exp $ +$Id: History,v 1.10 2010/11/30 16:11:25 vuzhinsk Exp $ ------------------------------------------------------------------- ========================================================== @@ -14,6 +14,17 @@ code and to keep track of all tags. --------------------------------------------------------------- * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +30 Nov. 2010 V. Uzhinsky (had-partonstring-mgt-V09-03-01) + Member G4int Status in G4VSplitableHadron was changed + into G4int curStatus + +8-Sept-2010, G.Folger (had-partonstring-mgt-V09-03-00) + use integer interface of G4Nucleus for A&Z + +6 Dec. 2009, V. Uzhinsky (had-partonstring-mgt-V09-02-02) + Repeatation of string fragmentation if + energy corr. can not be done is implemented. + 17-July-2009 V. Uzhinsky (had-partonstring-mgt-V09-02-01) A Status of nuclear nucleon involved in an interaction is introdused. Status: 0 - spectator, 1 - involved nucleon, 2 - absorbed nucleon diff --git a/source/processes/hadronic/models/parton_string/management/include/G4VParticipants.hh b/source/processes/hadronic/models/parton_string/management/include/G4VParticipants.hh index 5a73ae051c..83a57298fa 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4VParticipants.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4VParticipants.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VParticipants.hh,v 1.6 2009/11/19 14:23:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VParticipants.hh,v 1.7 2010/09/08 16:58:04 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4VParticipants_h @@ -58,7 +58,7 @@ class G4VParticipants int operator==(const G4VParticipants &right) const; int operator!=(const G4VParticipants &right) const; - void Init(G4double theZ, G4double theA); + void Init(G4int theZ, G4int theA); void SetNucleus(G4V3DNucleus * aNucleus); G4V3DNucleus * GetWoundedNucleus() const; @@ -85,7 +85,7 @@ inline void G4VParticipants::SetNucleus(G4V3DNucleus * aNucleus) theNucleus = aNucleus; } -inline void G4VParticipants::Init(G4double theA, G4double theZ) +inline void G4VParticipants::Init(G4int theA, G4int theZ) { if ( theNucleus == NULL ) theNucleus = new G4Fancy3DNucleus(); theNucleus->Init(theA, theZ); diff --git a/source/processes/hadronic/models/parton_string/management/include/G4VSplitableHadron.hh b/source/processes/hadronic/models/parton_string/management/include/G4VSplitableHadron.hh index dd348cb576..be3d3576d7 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4VSplitableHadron.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4VSplitableHadron.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSplitableHadron.hh,v 1.6 2009/07/17 12:36:41 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VSplitableHadron.hh,v 1.7 2010/11/30 16:07:35 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #ifndef G4VSplitableHadron_h @@ -108,7 +108,7 @@ class G4VSplitableHadron G4ThreeVector thePosition; G4int theCollisionCount; - G4int Status; // Uzhi 17.07.09 + G4int curStatus; // Uzhi 17.07.09 G4bool isSplit; }; @@ -170,12 +170,12 @@ inline const G4ThreeVector & G4VSplitableHadron::GetPosition() const inline void G4VSplitableHadron::SetStatus(G4int aStatus) // Uzhi 17.07.09 { - Status=aStatus; + curStatus=aStatus; } inline G4int G4VSplitableHadron::GetStatus() // Uzhi 17.07.09 { - return Status; + return curStatus; } diff --git a/source/processes/hadronic/models/parton_string/management/sources.cmake b/source/processes/hadronic/models/parton_string/management/sources.cmake new file mode 100644 index 0000000000..c4e72cf2eb --- /dev/null +++ b/source/processes/hadronic/models/parton_string/management/sources.cmake @@ -0,0 +1,97 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4had_string_man +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_string.G4had_string_man +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:05:17 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/shortlived/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4had_string_man + HEADERS + G4EventGenerator.hh + G4InteractionCode.hh + G4InteractionContent.hh + G4PomeronCrossSection.hh + G4StringModel.hh + G4VParticipants.hh + G4VPartonStringModel.hh + G4VSplitableHadron.hh + G4VStringFragmentation.hh + G4VertexCode.hh + SOURCES + G4EventGenerator.cc + G4InteractionContent.cc + G4PomeronCrossSection.cc + G4StringModel.cc + G4VParticipants.cc + G4VPartonStringModel.cc + G4VSplitableHadron.cc + G4VStringFragmentation.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_mod_man + G4had_mod_util + G4hadronic_mgt + G4hadronic_util + G4hepnumerics + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4shortlived + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/parton_string/management/src/G4VPartonStringModel.cc b/source/processes/hadronic/models/parton_string/management/src/G4VPartonStringModel.cc index a19591d492..1e72fb2004 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4VPartonStringModel.cc +++ b/source/processes/hadronic/models/parton_string/management/src/G4VPartonStringModel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VPartonStringModel.cc,v 1.6 2009/10/05 12:52:48 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VPartonStringModel.cc,v 1.7 2009/12/06 11:29:33 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //// ------------------------------------------------------------ // GEANT 4 class implementation file @@ -104,6 +104,7 @@ G4KineticTrackVector * G4VPartonStringModel::Scatter(const G4Nucleus &theNucleus G4KineticTrackVector * theResult = 0; G4double stringEnergy(0); + G4LorentzVector SumStringMom(0.,0.,0.,0.); for ( unsigned int astring=0; astring < strings->size(); astring++) { @@ -111,8 +112,11 @@ G4KineticTrackVector * G4VPartonStringModel::Scatter(const G4Nucleus &theNucleus stringEnergy += (*strings)[astring]->GetLeftParton()->Get4Momentum().t(); stringEnergy += (*strings)[astring]->GetRightParton()->Get4Momentum().t(); (*strings)[astring]->LorentzRotate(toLab); + SumStringMom+=(*strings)[astring]->Get4Momentum(); } - + + G4double InvMass=SumStringMom.mag(); + #ifdef debug_PartonStringModel G4V3DNucleus * fancynucleus=theThis->GetWoundedNucleus(); @@ -134,16 +138,29 @@ G4KineticTrackVector * G4VPartonStringModel::Scatter(const G4Nucleus &theNucleus << Ptmp.e() << " " << stringEnergy - 939.*hits - Ptmp.e()<< G4endl; #endif - - theResult = stringFragmentationModel->FragmentStrings(strings); -/* -G4cout<<"Size "<size()<size(); i++) - { + G4double SumMass(0.); + attempts = 0; + maxAttempts=100; + do + { + attempts++; + if(theResult != 0) + { + std::for_each(theResult->begin(), theResult->end(), DeleteKineticTrack()); + theResult->clear(); + } + + theResult = stringFragmentationModel->FragmentStrings(strings); + + if(attempts > maxAttempts ) break; + + SumMass=0.; + for ( unsigned int i=0; i < theResult->size(); i++) + { + SumMass+=(*theResult)[i]->GetDefinition()->GetPDGMass(); + } + } while(SumMass > InvMass); -G4cout<<(*theResult)[i]->Get4Momentum()<<" "<<(*theResult)[i]->Get4Momentum().mag()<begin(), strings->end(), DeleteString() ); delete strings; diff --git a/source/processes/hadronic/models/parton_string/management/src/G4VSplitableHadron.cc b/source/processes/hadronic/models/parton_string/management/src/G4VSplitableHadron.cc index 04f0a94334..d8d70fd4a9 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4VSplitableHadron.cc +++ b/source/processes/hadronic/models/parton_string/management/src/G4VSplitableHadron.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSplitableHadron.cc,v 1.7 2009/07/17 12:36:41 vuzhinsk Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VSplitableHadron.cc,v 1.8 2010/11/30 16:07:35 vuzhinsk Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------ @@ -42,13 +42,13 @@ G4VSplitableHadron::G4VSplitableHadron() : theDefinition(NULL), TimeOfCreation(0.), theCollisionCount(0), // Uzhi 8.05.08 - Status(0), isSplit(false) // Uzhi 17.07.09 + curStatus(0), isSplit(false) // Uzhi 17.07.09 { } G4VSplitableHadron::G4VSplitableHadron(const G4ReactionProduct & aPrimary) : TimeOfCreation(0.), theCollisionCount(0), // Uzhi 8.05.08 - Status(0), isSplit(false) // Uzhi 17.07.09 + curStatus(0), isSplit(false) // Uzhi 17.07.09 { theDefinition=aPrimary.GetDefinition(); the4Momentum.setVect(aPrimary.GetMomentum()); @@ -63,7 +63,7 @@ G4VSplitableHadron::G4VSplitableHadron(const G4Nucleon & aNucleon) theDefinition =aNucleon.GetParticleType(); the4Momentum =aNucleon.GetMomentum(); thePosition =aNucleon.GetPosition(); - Status = 0; // Uzhi 17.07.09 + curStatus = 0; // Uzhi 17.07.09 } G4VSplitableHadron::G4VSplitableHadron(const G4VKineticNucleon * aNucleon) @@ -74,7 +74,7 @@ G4VSplitableHadron::G4VSplitableHadron(const G4VKineticNucleon * aNucleon) theDefinition =aNucleon->GetDefinition(); the4Momentum =aNucleon->Get4Momentum(); thePosition =aNucleon->GetPosition(); - Status = 0; // Uzhi 17.07.09 + curStatus = 0; // Uzhi 17.07.09 } G4VSplitableHadron::G4VSplitableHadron(const G4VSplitableHadron &right) @@ -85,7 +85,7 @@ G4VSplitableHadron::G4VSplitableHadron(const G4VSplitableHadron &right) theDefinition = right.GetDefinition(); the4Momentum = right.Get4Momentum(); thePosition = right.GetPosition(); - Status = 0; // Uzhi 17.07.09 + curStatus = 0; // Uzhi 17.07.09 } diff --git a/source/processes/hadronic/models/parton_string/qgsm/CMakeLists.txt b/source/processes/hadronic/models/parton_string/qgsm/CMakeLists.txt new file mode 100644 index 0000000000..911bb4ca8b --- /dev/null +++ b/source/processes/hadronic/models/parton_string/qgsm/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4hadronic_qgstring +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_string.G4hadronic_qgstring +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:05:25 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/parton_string/qgsm/History b/source/processes/hadronic/models/parton_string/qgsm/History index 46a0cc1b87..cf050c64ca 100644 --- a/source/processes/hadronic/models/parton_string/qgsm/History +++ b/source/processes/hadronic/models/parton_string/qgsm/History @@ -1,4 +1,4 @@ -$Id: History,v 1.8 2009/05/19 12:48:42 gunter Exp $ +$Id: History,v 1.10 2010/09/08 15:51:28 gunter Exp $ ------------------------------------------------------------------- ========================================================== @@ -15,6 +15,14 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- + +8 Sep 2010, G.Folger (hadr-qgsm-V09-03-01) +----------------------------------------------------- +- G4QGSModel.icc: use integer (A,Z) interface of nucleus + +12-Mar-2010, G.Folger (hadr-qgsm-V09-03-00) +- remove G4PartonStringAnnihilator.{hh,cc} not used anywhere + 19 May 2009, G.Folger (hadr-qgsm-V09-02-02) ----------------------------------------------------- - fix in G4SPBaryon: for antibaryon, a diquark & quark was given instead of diff --git a/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSModel.icc b/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSModel.icc index 77a88cc24c..541a56e034 100644 --- a/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSModel.icc +++ b/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSModel.icc @@ -45,7 +45,7 @@ template void G4QGSModel::Init(const G4Nucleus & aNucleus, const G4DynamicParticle & aProjectile) { // clean-up and consistency with design, HPW Feb 1999 - theParticipants.Init(aNucleus.GetN(),aNucleus.GetZ()); + theParticipants.Init(aNucleus.GetA_asInt(),aNucleus.GetZ_asInt()); theCurrentVelocity.setX(0); theCurrentVelocity.setY(0); // HPW Feb 1999 diff --git a/source/processes/hadronic/models/parton_string/qgsm/sources.cmake b/source/processes/hadronic/models/parton_string/qgsm/sources.cmake new file mode 100644 index 0000000000..afec720b98 --- /dev/null +++ b/source/processes/hadronic/models/parton_string/qgsm/sources.cmake @@ -0,0 +1,120 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4hadronic_qgstring +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_string.G4hadronic_qgstring +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:05:33 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/shortlived/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4hadronic_qgstring + HEADERS + G4ASCCrossSection.hh + G4AnnihilationCrossSection.hh + G4BaryonSplitter.hh + G4DiffractiveStringBuilder.hh + G4GammaAnnCrossSection.hh + G4GammaParticipants.hh + G4MesonSplitter.hh + G4PartonPair.hh + G4QGSDiffractiveExcitation.hh + G4QGSMParameters.hh + G4QGSMSplitableHadron.hh + G4QGSModel.hh + G4QGSModel.icc + G4QGSParticipants.hh + G4SPBaryon.hh + G4SPBaryonTable.hh + G4SPPartonInfo.hh + G4SingleDiffractiveExcitation.hh + G4SoftStringBuilder.hh + G4VAnnihilationCrossSection.hh + SOURCES + G4ASCCrossSection.cc + G4AnnihilationCrossSection.cc + G4BaryonSplitter.cc + G4DiffractiveStringBuilder.cc + G4GammaAnnCrossSection.cc + G4GammaParticipants.cc + G4MesonSplitter.cc + G4PartonPair.cc + G4QGSDiffractiveExcitation.cc + G4QGSMParameters.cc + G4QGSMSplitableHadron.cc + G4QGSParticipants.cc + G4SPBaryon.cc + G4SingleDiffractiveExcitation.cc + G4SoftStringBuilder.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_mod_man + G4had_mod_util + G4had_string_man + G4hadronic_mgt + G4hadronic_proc + G4hadronic_util + G4hadronic_xsect + G4hepnumerics + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4shortlived + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/photolepton_hadron/CMakeLists.txt b/source/processes/hadronic/models/photolepton_hadron/CMakeLists.txt new file mode 100644 index 0000000000..371ad2b8d6 --- /dev/null +++ b/source/processes/hadronic/models/photolepton_hadron/CMakeLists.txt @@ -0,0 +1,15 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4photolepton_hadron +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4photolepton_hadron +# +# Intermediate level CMakeLists.txt - just process subdirectories +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:05:41 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(muon_nuclear) + diff --git a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/CMakeLists.txt b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/CMakeLists.txt new file mode 100644 index 0000000000..31d22bf54b --- /dev/null +++ b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4had_muon_nuclear +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4photolepton_hadron.G4had_muon_nuclear +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:05:49 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/History b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/History index f489c7f54d..a93130b713 100644 --- a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/History +++ b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/History @@ -1,4 +1,4 @@ -$Id: History,v 1.10 2009/11/20 19:37:15 vnivanch Exp $ +$Id: History,v 1.11 2010/09/08 08:59:29 vnivanch Exp $ ------------------------------------------------------------------- ========================================================== @@ -15,6 +15,10 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +08 Sept 2010 V.Ivantchenko (hadr-munuclear-V09-03-00) +---------------------------------------------------- +G4MuNuclearInteraction - clear hadronic tracks PostStepDoIt + 20 Nov 2009 V.Ivantchenko (hadr-munuclear-V09-02-03) ---------------------------------------------------- - Cleanup diff --git a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/sources.cmake b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/sources.cmake new file mode 100644 index 0000000000..9f49526270 --- /dev/null +++ b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/sources.cmake @@ -0,0 +1,101 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4had_muon_nuclear +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4photolepton_hadron.G4had_muon_nuclear +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:05:57 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/shortlived/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/lowenergy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/high_energy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/low_energy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4had_muon_nuclear + HEADERS + G4LeptonHadronInteractionModel.hh + G4LeptonHadronProcess.hh + G4MuNuclearInteraction.hh + G4MuonNucleusInteractionModel.hh + G4MuonNucleusProcess.hh + G4ParametrizedHadronicVertex.hh + SOURCES + G4LeptonHadronInteractionModel.cc + G4LeptonHadronProcess.cc + G4MuNuclearInteraction.cc + G4MuonNucleusInteractionModel.cc + G4MuonNucleusProcess.cc + G4ParametrizedHadronicVertex.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4emlowenergy + G4geometrymng + G4globman + G4had_mod_man + G4had_mod_util + G4hadronic_HE + G4hadronic_LE + G4hadronic_mgt + G4hadronic_proc + G4hadronic_util + G4hadronic_xsect + G4hepnumerics + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4shortlived + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuNuclearInteraction.cc b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuNuclearInteraction.cc index a977a6885a..9c1c3c2daf 100644 --- a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuNuclearInteraction.cc +++ b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuNuclearInteraction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuNuclearInteraction.cc,v 1.13 2009/03/04 19:09:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4MuNuclearInteraction.cc,v 1.14 2010/09/08 08:59:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // $Id: // -------------------------------------------------------------- @@ -540,7 +540,7 @@ G4VParticleChange* G4MuNuclearInteraction::PostStepDoIt( // = secondaryMomentum + aHadronicFS->GetSecondary(iSec)->GetMomentum(); aParticleChange.AddSecondary(aHadronicFS->GetSecondary(iSec)); } - //aHadronicFS->Clear(); + aHadronicFS->Clear(); return G4VDiscreteProcess::PostStepDoIt(trackData,stepData); } diff --git a/source/processes/hadronic/models/pre_equilibrium/CMakeLists.txt b/source/processes/hadronic/models/pre_equilibrium/CMakeLists.txt new file mode 100644 index 0000000000..27b5e406b6 --- /dev/null +++ b/source/processes/hadronic/models/pre_equilibrium/CMakeLists.txt @@ -0,0 +1,15 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4hadronic_preequ +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_preequ +# +# Intermediate level CMakeLists.txt - just process subdirectories +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:06:05 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(exciton_model) + diff --git a/source/processes/hadronic/models/pre_equilibrium/History b/source/processes/hadronic/models/pre_equilibrium/History index 3f3afff936..f22555f274 100644 --- a/source/processes/hadronic/models/pre_equilibrium/History +++ b/source/processes/hadronic/models/pre_equilibrium/History @@ -14,6 +14,100 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +23-November 2010 V.Ivanchenko hadr-pre-V09-03-17 +--------------------------------------------------- +G4PreCompoundFragment, G4PreCompoundEmission, G4PreCompoundModel - + return back ref-09 computations + +18-November 2010 V.Ivanchenko hadr-pre-V09-03-16 +--------------------------------------------------- +G4PreCompoundModel - change number of excitons to be as in 9.3 + affects tail of neutron stectrum for low-energy projectile + +17-November 2010 V.Ivanchenko hadr-pre-V09-03-15 +--------------------------------------------------- +G4PreCompoundProton, G4PreCompoundNeutron, G4PreCompoundHe3 - fixed + usage of integer Z and A + +02-November 2010 V.Ivanchenko hadr-pre-V09-03-14 +--------------------------------------------------- +- Fixed Coverity warnings - pedantic initialisation in constructors + +28-October 2010 V.Ivanchenko hadr-pre-V09-03-13 +--------------------------------------------------- +G4PreCompoundModel - use more safe constructor of G4DynamicParticle +G4LowEIonFragmentation - complete transition to integar Z and A, + use of updated methods for G4Fragment + +20-October 2010 V.Ivanchenko hadr-pre-V09-03-12 +--------------------------------------------------- +G4PreCompoundTransitions - fixed compillation warning introduced in previous tag + +11-October 2010 V.Ivanchenko hadr-pre-V09-03-11 +--------------------------------------------------- +G4PreCompoundTransitions - JMQ fixed bug in the PerformTransition method + (use number of particles instead of number of excitons) +G4PreCompoundModel - disabled upper limit on excitation energy + +8-September 2010 G.Folger hadr-pre-V09-03-10 +--------------------------------------------------- +G4LowEIonFragmentation: use integer A and Z + +1-September 2010 V.Ivanchenko hadr-pre-V09-03-09 +--------------------------------------------------- +G4PreCompoundEmission - removed SetUp inline method and move its functionality + +31-August 2010 V.Ivanchenko hadr-pre-V09-03-08 +--------------------------------------------------- +G4PreCompoundTransition - fixed typo introduced in previous tag + +28-August 2010 V.Ivanchenko hadr-pre-V09-03-07 +--------------------------------------------------- +General cleaup of all classes: constructors and destructors moved to the + source, integer Z and A, G4Pow class + is used to speedup computations +G4PreCompoundModel - Emission and Transition classes become members created + at construction and not at run time, + initialisation is performed at construction or when options + are changed and not in run time, G4Fragment is not const, + it is modified during process of emission of particles + +11-June 2010 V.Ivanchenko hadr-pre-V09-03-06 +--------------------------------------------------- +G4LowEIonFragmentation - cleanup comments +G4PreCompoundModel - constructor and destructor are moved to the source + +01-June 2010 V.Ivanchenko hadr-pre-V09-03-05 +--------------------------------------------------- +G4LowEIonFragmentation - (J.M.Quesada) fixed exciton state + constructor and destructor moved to source + +09-April 2010 V.Ivanchenko hadr-pre-V09-03-04 +--------------------------------------------------- +G4PreCompoundProton, G4PreCompoundDeuteron, G4PreCompoundTriton, +G4PreCompoundHe3, G4PreCompoundAlpha - (JMQ) return back to published + varian of OPT3 (Kalbach) parameterization of inverse + cross section + +01-March 2010 V.Ivanchenko hadr-pre-V09-03-03 +--------------------------------------------------- +G4VPreCompoundIon, G4VPreCompoundNucleon - removed dummy classes + +25-February 2010 V.Ivanchenko hadr-pre-V09-03-02 +--------------------------------------------------- +G4PreCompoundEmission - more protections for numerical computations are added + +17-February 2010 V.Ivanchenko hadr-pre-V09-03-01 +--------------------------------------------------- +G4PreCompoundEmission - (JMQ) return back value of Ef as it was in 9.3 + +19-January 2010 V.Ivanchenko hadr-pre-V09-03-00 +--------------------------------------------------- +G4PreCompoundEmission - (JMQ) added protection against unphysical value of + parameter "an" when exitation energy is huge + to avoid numerical problem + - simplified algorithm of sampling + 21-November 2009 V.Ivanchenko hadr-pre-V09-02-07 --------------------------------------------------- G4PreCompoundTransitions - return back transition probability @@ -28,7 +122,7 @@ G4PreCompoundTransitions - (JMQ) CEM transition probabilities have been 12-November 2009 G.Cosmo hadr-pre-V09-02-05 --------------------------------------------------- -G4PrecompoundEmission - fixed compilation error on Windows. +G4PreCompoundEmission - fixed compilation error on Windows. 12-November 2009 G.Folger hadr-pre-V09-02-04 --------------------------------------------------- diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/CMakeLists.txt b/source/processes/hadronic/models/pre_equilibrium/exciton_model/CMakeLists.txt new file mode 100644 index 0000000000..d71bd5ae17 --- /dev/null +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4had_preequ_exciton +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_preequ.G4had_preequ_exciton +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:06:13 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4GNASHTransitions.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4GNASHTransitions.hh index 733c309492..cc994942d6 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4GNASHTransitions.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4GNASHTransitions.hh @@ -23,6 +23,9 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4GNASHTransitions.hh,v 1.4 2010/08/20 07:42:19 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// #ifndef G4GNASHTransitions_hh #define G4GNASHTransitions_hh 1 @@ -32,38 +35,24 @@ class G4GNASHTransitions : public G4VPreCompoundTransitions { public: - G4GNASHTransitions() {} - virtual ~G4GNASHTransitions() {} + + G4GNASHTransitions(); + + virtual ~G4GNASHTransitions(); + + virtual G4double CalculateProbability(const G4Fragment & aFragment); + + virtual void PerformTransition(G4Fragment & aFragment); private: - G4GNASHTransitions(const G4GNASHTransitions &) : G4VPreCompoundTransitions() {} - - const G4GNASHTransitions& operator=(const G4GNASHTransitions &right); +G4GNASHTransitions(const G4GNASHTransitions &); +const G4GNASHTransitions& operator=(const G4GNASHTransitions &right); G4bool operator==(const G4GNASHTransitions &right) const; G4bool operator!=(const G4GNASHTransitions &right) const; -public: - - virtual G4double CalculateProbability(const G4Fragment & aFragment); - - virtual G4Fragment PerformTransition(const G4Fragment & aFragment); - -//JMQ 03/01/08 - public: -// inline G4double GetTransitionProb1() const -G4double GetTransitionProb1() -{return 0;} -// inline G4double GetTransitionProb2() const -G4double GetTransitionProb2() -{return 0;} -// inline G4double GetTransitionProb3() const -G4double GetTransitionProb3() -{return 0;} -// - }; diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCAlpha.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCAlpha.hh index dc1b0a7799..8daf4ab604 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCAlpha.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCAlpha.hh @@ -23,101 +23,48 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCAlpha.hh,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow #ifndef G4HETCAlpha_h #define G4HETCAlpha_h 1 #include "G4HETCChargedFragment.hh" #include "G4ReactionProduct.hh" -#include "G4Alpha.hh" - #include "G4AlphaCoulombBarrier.hh" - class G4HETCAlpha : public G4HETCChargedFragment { public: - // default constructor - G4HETCAlpha():G4HETCChargedFragment(4,2,&theAlphaCoulombBarrier,"Alpha") {} - // copy constructor - G4HETCAlpha(const G4HETCAlpha &right): G4HETCChargedFragment(right) {} + G4HETCAlpha(); - // destructor - ~G4HETCAlpha() {} + ~G4HETCAlpha(); - // operators - const G4HETCAlpha & operator=(const G4HETCAlpha &right) - { - if (&right != this) this->G4HETCChargedFragment::operator=(right); - return *this; - }; - - G4bool operator==(const G4HETCAlpha &right) const - { - return G4HETCChargedFragment::operator==(right); - } +protected: - - G4bool operator!=(const G4HETCAlpha &right) const - { - return G4HETCChargedFragment::operator!=(right); - } + virtual G4double GetAlpha(); + virtual G4double GetBeta(); - G4ReactionProduct * GetReactionProduct() const - { - G4ReactionProduct * theReactionProduct = - new G4ReactionProduct(G4Alpha::AlphaDefinition()); - theReactionProduct->SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; - } - -private: - virtual G4double GetAlpha() - { - G4double C = 0.0; - G4double aZ = GetZ() + GetRestZ(); - if (aZ <= 30) - { - C = 0.10; - } - else if (aZ <= 50) - { - C = 0.1 + -((aZ-50.)/20.)*0.02; - } - else if (aZ < 70) - { - C = 0.08 + -((aZ-70.)/20.)*0.02; - } - else - { - C = 0.06; - } - return 1.0+C; - } - - virtual G4double GetBeta() - { - return -GetCoulombBarrier(); - } - - - virtual G4double GetSpinFactor() - { - return 1.0; - } + virtual G4double GetSpinFactor(); virtual G4double K(const G4Fragment & aFragment); - private: + // operators + G4HETCAlpha(const G4HETCAlpha &right); + const G4HETCAlpha & operator=(const G4HETCAlpha &right); + G4bool operator==(const G4HETCAlpha &right) const; + G4bool operator!=(const G4HETCAlpha &right) const; + G4AlphaCoulombBarrier theAlphaCoulombBarrier; }; diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCChargedFragment.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCChargedFragment.hh index da86844502..7d1c8c1970 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCChargedFragment.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCChargedFragment.hh @@ -23,57 +23,36 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCChargedFragment.hh,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara #ifndef G4HETCChargedFragment_h #define G4HETCChargedFragment_h 1 #include "G4HETCFragment.hh" -#include "G4VCoulombBarrier.hh" - class G4HETCChargedFragment : public G4HETCFragment { -protected: - // default constructor - G4HETCChargedFragment() {} - public: - // copy constructor - G4HETCChargedFragment(const G4HETCChargedFragment &right): - G4HETCFragment(right) {} + G4HETCChargedFragment(const G4ParticleDefinition*, + G4VCoulombBarrier * aCoulombBarrier); - // constructor - G4HETCChargedFragment(const G4double anA, - const G4double aZ, - G4VCoulombBarrier* aCoulombBarrier, - const G4String & aName): - G4HETCFragment(anA,aZ,aCoulombBarrier,aName) {} - - virtual ~G4HETCChargedFragment() {} - - // operators - const G4HETCChargedFragment & - operator=(const G4HETCChargedFragment &right) - { - if (&right != this) this->G4HETCFragment::operator=(right); - return *this; - } - - G4bool operator==(const G4HETCChargedFragment &right) const - { - return G4HETCFragment::operator==(right); - } - - G4bool operator!=(const G4HETCChargedFragment &right) const - { - return G4HETCFragment::operator!=(right); - } - + virtual ~G4HETCChargedFragment(); virtual G4double GetKineticEnergy(const G4Fragment & aFragment); - + +private: + + // operators + G4HETCChargedFragment(); + G4HETCChargedFragment(const G4HETCChargedFragment &right); + const G4HETCChargedFragment & + operator=(const G4HETCChargedFragment &right); + G4bool operator==(const G4HETCChargedFragment &right) const; + G4bool operator!=(const G4HETCChargedFragment &right) const; }; diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCDeuteron.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCDeuteron.hh index 9dc8c16242..cd6b2e1f5a 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCDeuteron.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCDeuteron.hh @@ -23,93 +23,51 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCDeuteron.hh,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow +// #ifndef G4HETCDeuteron_h #define G4HETCDeuteron_h 1 #include "G4HETCChargedFragment.hh" #include "G4ReactionProduct.hh" -#include "G4Deuteron.hh" - #include "G4DeuteronCoulombBarrier.hh" - class G4HETCDeuteron : public G4HETCChargedFragment { public: - // default constructor - G4HETCDeuteron():G4HETCChargedFragment(2,1,&theDeuteronCoulombBarrier,"Deuteron") {} - // copy constructor - G4HETCDeuteron(const G4HETCDeuteron &right): G4HETCChargedFragment(right) {} + G4HETCDeuteron(); + + ~G4HETCDeuteron(); - // destructor - ~G4HETCDeuteron() {} - - // operators - const G4HETCDeuteron & operator=(const G4HETCDeuteron &right) - { - if (&right != this) this->G4HETCChargedFragment::operator=(right); - return *this; - } +protected: - G4bool operator==(const G4HETCDeuteron &right) const - { - return G4HETCChargedFragment::operator==(right); - } + virtual G4double GetAlpha(); - - G4bool operator!=(const G4HETCDeuteron &right) const - { - return G4HETCChargedFragment::operator!=(right); - } + virtual G4double GetBeta(); + virtual G4double GetSpinFactor(); - G4ReactionProduct * GetReactionProduct() const - { - G4ReactionProduct * theReactionProduct = - new G4ReactionProduct(G4Deuteron::DeuteronDefinition()); - theReactionProduct->SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; - } - -private: - virtual G4double GetAlpha() - { - G4double C = 0.0; - G4double aZ = GetZ() + GetRestZ(); - if (aZ >= 70) - { - C = 0.10; - } - else - { - C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375; - } - return 1.0 + C/2.0; - } - - virtual G4double GetBeta() - { - return -GetCoulombBarrier(); - } - - virtual G4double GetSpinFactor() - { - // 2s+1 - return 3.0; - } - virtual G4double K(const G4Fragment & aFragment); - private: + // operators + G4HETCDeuteron(const G4HETCDeuteron &right); + const G4HETCDeuteron & operator=(const G4HETCDeuteron &right); + G4bool operator==(const G4HETCDeuteron &right) const; + G4bool operator!=(const G4HETCDeuteron &right) const; + +private: + G4DeuteronCoulombBarrier theDeuteronCoulombBarrier; }; diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCEmissionFactory.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCEmissionFactory.hh index 389cadf5e4..1c36d181cf 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCEmissionFactory.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCEmissionFactory.hh @@ -23,30 +23,34 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCEmissionFactory.hh,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + #ifndef G4HETCEmissionFactory_hh #define G4HETCEmissionFactory_hh #include "G4VPreCompoundEmissionFactory.hh" - class G4HETCEmissionFactory : public G4VPreCompoundEmissionFactory { public: - G4HETCEmissionFactory() {}; - virtual ~G4HETCEmissionFactory() {}; + G4HETCEmissionFactory(); + virtual ~G4HETCEmissionFactory(); + +protected: + + virtual std::vector * CreateFragmentVector(); private: - G4HETCEmissionFactory(const G4HETCEmissionFactory & ) : G4VPreCompoundEmissionFactory() {}; + G4HETCEmissionFactory(const G4HETCEmissionFactory & ); const G4HETCEmissionFactory & operator=(const G4HETCEmissionFactory & val); G4bool operator==(const G4HETCEmissionFactory & val) const; G4bool operator!=(const G4HETCEmissionFactory & val) const; -private: - - virtual std::vector * CreateFragmentVector(); - }; #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCFragment.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCFragment.hh index 91046e4a94..d11134bf64 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCFragment.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCFragment.hh @@ -23,41 +23,32 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCFragment.hh,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara +// +// Modified: +// 20.08.2010 V.Ivanchenko added G4Pow and G4PreCompoundParameters pointers +// use int Z and A and cleanup #ifndef G4HETCFragment_h #define G4HETCFragment_h 1 #include "G4VPreCompoundFragment.hh" +#include "Randomize.hh" class G4HETCFragment : public G4VPreCompoundFragment { -protected: - // default constructor - G4HETCFragment() {}; - public: - // copy constructor - G4HETCFragment(const G4HETCFragment &right); - - // constructor - G4HETCFragment(const G4double anA, const G4double aZ, - G4VCoulombBarrier * aCoulombBarrier, - const G4String & aName); + + G4HETCFragment(const G4ParticleDefinition*, + G4VCoulombBarrier * aCoulombBarrier); virtual ~G4HETCFragment(); - - // ========== - // operators - // ========== - - const G4HETCFragment& - operator= (const G4HETCFragment &right); - - G4int operator==(const G4HETCFragment &right) const; - - G4int operator!=(const G4HETCFragment &right) const; - + + G4double CalcEmissionProbability(const G4Fragment & aFragment); + protected: virtual G4double K(const G4Fragment & aFragment) = 0; @@ -66,31 +57,33 @@ protected: virtual G4double GetAlpha() = 0; virtual G4double GetBeta() = 0; -public: - - - G4double CalcEmissionProbability(const G4Fragment & aFragment); + inline G4double BetaRand(const G4int N, const G4int L) const; -private: +private: + // This method performs integration for probability function over // fragment kinetic energy G4double IntegrateEmissionProbability(const G4double & Low, const G4double & Up, const G4Fragment & aFragment); - - // ============================ - // Data members access methods - // ============================ - - inline G4bool IsItPossible(const G4Fragment & aFragment) const; + G4HETCFragment(); + G4HETCFragment(const G4HETCFragment &right); + const G4HETCFragment& + operator= (const G4HETCFragment &right); + G4int operator==(const G4HETCFragment &right) const; + G4int operator!=(const G4HETCFragment &right) const; -protected: - - inline G4double BetaRand(const G4int N, const G4int L) const; - + G4double r2norm; }; -#include "G4HETCFragment.icc" +inline G4double G4HETCFragment:: +BetaRand(const G4int N, const G4int L) const +{ + G4double Y1 = CLHEP::RandGamma::shoot(N,1); + G4double Y2 = CLHEP::RandGamma::shoot(L,1); + + return Y1/(Y1+Y2); +} #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCFragment.icc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCFragment.icc index 8d3b1aff2a..6b05471976 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCFragment.icc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCFragment.icc @@ -23,24 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCFragment.icc,v 1.4 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara - -#include - -inline G4bool G4HETCFragment:: -IsItPossible(const G4Fragment & aFragment) const -{ - G4int pplus = aFragment.GetNumberOfCharged(); - G4int pneut = aFragment.GetNumberOfParticles()-pplus; - return (pneut >= (GetA()-GetZ()) && pplus >= GetZ()); -} - -inline G4double G4HETCFragment:: -BetaRand(const G4int N, const G4int L) const -{ - G4double Y1 = CLHEP::RandGamma::shoot(N,1); - G4double Y2 = CLHEP::RandGamma::shoot(L,1); - - return Y1/(Y1+Y2); -} diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCHe3.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCHe3.hh index a373c083e2..8fed9d37c7 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCHe3.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCHe3.hh @@ -23,113 +23,49 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCHe3.hh,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow #ifndef G4HETCHe3_h #define G4HETCHe3_h 1 #include "G4HETCChargedFragment.hh" #include "G4ReactionProduct.hh" -#include "G4He3.hh" - #include "G4He3CoulombBarrier.hh" - class G4HETCHe3 : public G4HETCChargedFragment { public: - // default constructor - G4HETCHe3():G4HETCChargedFragment(3,2,&theHe3CoulombBarrier,"He3") {} - // copy constructor - G4HETCHe3(const G4HETCHe3 &right): G4HETCChargedFragment(right) {} + G4HETCHe3(); - // destructor - ~G4HETCHe3() {} + ~G4HETCHe3(); - // operators - const G4HETCHe3 & operator=(const G4HETCHe3 &right) - { - if (&right != this) this->G4HETCChargedFragment::operator=(right); - return *this; - } - - G4bool operator==(const G4HETCHe3 &right) const - { - return G4HETCChargedFragment::operator==(right); - } +protected: - - G4bool operator!=(const G4HETCHe3 &right) const - { - return G4HETCChargedFragment::operator!=(right); - } + virtual G4double GetAlpha(); + virtual G4double GetBeta(); - G4ReactionProduct * GetReactionProduct() const - { - G4ReactionProduct * theReactionProduct = - new G4ReactionProduct(G4He3::He3Definition()); - theReactionProduct->SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; - } - -private: - virtual G4double GetAlpha() - { - G4double C = 0.0; - G4double aZ = GetZ() + GetRestZ(); - if (aZ <= 30) - { - C = 0.10; - } - else if (aZ <= 50) - { - C = 0.1 + -((aZ-50.)/20.)*0.02; - } - else if (aZ < 70) - { - C = 0.08 + -((aZ-70.)/20.)*0.02; - } - else - { - C = 0.06; - } - return 1.0 + C*(4.0/3.0); - } - - - virtual G4double GetBeta() - { - return -GetCoulombBarrier(); - } - - // virtual G4double FactorialFactor(const G4double N, const G4double P) - // { - // return - // (N-3.0)*(P-2.0)*( - // (((N-2.0)*(P-1.0))/2.0) *( - // (((N-1.0)*P)/3.0) - // ) - // ); - // } - - virtual G4double GetSpinFactor() - { - // 2s+1 - return 2.0; - } + virtual G4double GetSpinFactor(); virtual G4double K(const G4Fragment & aFragment); private: - G4He3CoulombBarrier theHe3CoulombBarrier; + // operators + G4HETCHe3(const G4HETCHe3 &right); + const G4HETCHe3 & operator=(const G4HETCHe3 &right); + G4bool operator==(const G4HETCHe3 &right) const; + G4bool operator!=(const G4HETCHe3 &right) const; + G4He3CoulombBarrier theHe3CoulombBarrier; }; #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCNeutron.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCNeutron.hh index e6e469f194..35f9f96cb8 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCNeutron.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCNeutron.hh @@ -23,83 +23,52 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCNeutron.hh,v 1.4 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara - +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow #ifndef G4HETCNeutron_h #define G4HETCNeutron_h 1 #include "G4HETCFragment.hh" #include "G4ReactionProduct.hh" -#include "G4Neutron.hh" -#include "G4PreCompoundParameters.hh" -#include "Randomize.hh" - #include "G4NeutronCoulombBarrier.hh" - class G4HETCNeutron : public G4HETCFragment { public: - // default constructor - G4HETCNeutron() : G4HETCFragment(1,0,&theNeutronCoulomBarrier,"Neutron") {} - // copy constructor - G4HETCNeutron(const G4HETCNeutron &right): G4HETCFragment(right) {} + G4HETCNeutron(); - // destructor - ~G4HETCNeutron() {} - - // operators - const G4HETCNeutron & operator=(const G4HETCNeutron &right) { - if (&right != this) this->G4HETCFragment::operator=(right); - return *this; - } - - G4bool operator==(const G4HETCNeutron &right) const - { return G4HETCFragment::operator==(right);} - - G4bool operator!=(const G4HETCNeutron &right) const - { return G4HETCFragment::operator!=(right);} - - - G4ReactionProduct * GetReactionProduct() const - { - G4ReactionProduct * theReactionProduct = - new G4ReactionProduct(G4Neutron::NeutronDefinition()); - theReactionProduct->SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; - } + ~G4HETCNeutron(); virtual G4double GetKineticEnergy(const G4Fragment & aFragment); - -private: - virtual G4double GetAlpha() - { - return 0.76+2.2/std::pow(GetRestA(),1.0/3.0); - } - - virtual G4double GetBeta() - { - return (2.12/std::pow(GetRestA(),2.0/3.0)-0.05)*MeV/GetAlpha(); - } - virtual G4double GetSpinFactor() - { - // (2s+1) - return 2.0; - } - - virtual G4double K(const G4Fragment& aFragment); +protected: + + virtual G4double GetAlpha(); + + virtual G4double GetBeta(); + + virtual G4double GetSpinFactor(); + + virtual G4double K(const G4Fragment & aFragment); private: - - G4NeutronCoulombBarrier theNeutronCoulomBarrier; + // operators + G4HETCNeutron(const G4HETCNeutron &right); + const G4HETCNeutron & operator=(const G4HETCNeutron &right); + G4bool operator==(const G4HETCNeutron &right) const; + G4bool operator!=(const G4HETCNeutron &right) const; + + G4NeutronCoulombBarrier theNeutronCoulombBarrier; + }; #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCProton.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCProton.hh index db17cf77b6..10d75f8698 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCProton.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCProton.hh @@ -23,94 +23,48 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCProton.hh,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow #ifndef G4HETCProton_h #define G4HETCProton_h 1 #include "G4HETCChargedFragment.hh" #include "G4ReactionProduct.hh" -#include "G4Proton.hh" -#include "G4PreCompoundParameters.hh" -#include "Randomize.hh" - #include "G4ProtonCoulombBarrier.hh" - class G4HETCProton : public G4HETCChargedFragment { public: - // default constructor - G4HETCProton():G4HETCChargedFragment(1,1,&theProtonCoulombBarrier,"Proton") {} - - // copy constructor - G4HETCProton(const G4HETCProton &right): G4HETCChargedFragment(right) {} - // destructor - ~G4HETCProton() {}; - - // operators - const G4HETCProton & operator=(const G4HETCProton &right) - { - if (&right != this) this->G4HETCChargedFragment::operator=(right); - return *this; - } + G4HETCProton(); - G4bool operator==(const G4HETCProton &right) const - { - return G4HETCChargedFragment::operator==(right); - } + ~G4HETCProton(); - - G4bool operator!=(const G4HETCProton &right) const - { - return G4HETCChargedFragment::operator!=(right); - } +protected: + virtual G4double GetAlpha(); - G4ReactionProduct * GetReactionProduct() const - { - G4ReactionProduct * theReactionProduct = - new G4ReactionProduct(G4Proton::ProtonDefinition()); - theReactionProduct->SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; - } - -private: - virtual G4double GetAlpha() - { - G4double aZ = static_cast(GetRestZ()); - G4double C = 0.0; - if (aZ >= 70) - { - C = 0.10; - } - else - { - C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375; - } - return 1.0 + C; - } - - virtual G4double GetBeta() - { - return -GetCoulombBarrier(); - } - - virtual G4double GetSpinFactor() - { - // 2s+1 - return 2.0; - } + virtual G4double GetBeta(); + + virtual G4double GetSpinFactor(); virtual G4double K(const G4Fragment & aFragment); private: + // operators + G4HETCProton(const G4HETCProton &right); + const G4HETCProton & operator=(const G4HETCProton &right); + G4bool operator==(const G4HETCProton &right) const; + G4bool operator!=(const G4HETCProton &right) const; + G4ProtonCoulombBarrier theProtonCoulombBarrier; }; diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCTriton.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCTriton.hh index 0ccdfcdc72..d2be8906ed 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCTriton.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCTriton.hh @@ -23,97 +23,49 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCTriton.hh,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow #ifndef G4HETCTriton_h #define G4HETCTriton_h 1 #include "G4HETCChargedFragment.hh" #include "G4ReactionProduct.hh" -#include "G4Triton.hh" - #include "G4TritonCoulombBarrier.hh" - class G4HETCTriton : public G4HETCChargedFragment { public: - // default constructor - G4HETCTriton():G4HETCChargedFragment(3,1,&theTritonCoulombBarrier,"Triton") {} - // copy constructor - G4HETCTriton(const G4HETCTriton &right): G4HETCChargedFragment(right) {} + G4HETCTriton(); - // destructor - ~G4HETCTriton() {} + ~G4HETCTriton(); + +protected: + + virtual G4double GetAlpha(); + + virtual G4double GetBeta(); + + virtual G4double GetSpinFactor(); + + virtual G4double K(const G4Fragment & aFragment); + +private: // operators - const G4HETCTriton & operator=(const G4HETCTriton &right) - { - if (&right != this) this->G4HETCChargedFragment::operator=(right); - return *this; - } + G4HETCTriton(const G4HETCTriton &right); + const G4HETCTriton & operator=(const G4HETCTriton &right); + G4bool operator==(const G4HETCTriton &right) const; + G4bool operator!=(const G4HETCTriton &right) const; - G4bool operator==(const G4HETCTriton &right) const - { - return G4HETCChargedFragment::operator==(right); - } - - - G4bool operator!=(const G4HETCTriton &right) const - { - return G4HETCChargedFragment::operator!=(right); - } - - - G4ReactionProduct * GetReactionProduct() const - { - G4ReactionProduct * theReactionProduct = - new G4ReactionProduct(G4Triton::TritonDefinition()); - theReactionProduct->SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; - } - -private: - virtual G4double GetAlpha() - { - G4double C = 0.0; - G4double aZ = GetZ() + GetRestZ(); - if (aZ >= 70) - { - C = 0.10; - } - else - { - C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375; - } - - return 1.0 + C/3.0; - } - - virtual G4double GetBeta() - { - return -GetCoulombBarrier(); - } - - - - virtual G4double GetSpinFactor() - { - // 2s+1 - return 2.0; - } - - virtual G4double K(const G4Fragment& aFragment); - -private: - G4TritonCoulombBarrier theTritonCoulombBarrier; - }; #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4LowEIonFragmentation.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4LowEIonFragmentation.hh index 29d9c3c6aa..a17ff93618 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4LowEIonFragmentation.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4LowEIonFragmentation.hh @@ -23,11 +23,21 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4LowEIonFragmentation.hh,v 1.7 2010/10/28 17:34:33 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// $Id: G4LowEIonFragmentation.hh,v 1.3 2006/06/29 20:58:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +//--------------------------------------------------------------------------- // -// by H.P. Wellisch +// $Id: G4LowEIonFragmentation.hh,v 1.7 2010/10/28 17:34:33 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ClassName: G4LowEIonFragmentation +// +// Author: H.P. Wellisch +// +// Modified: +// 01.06.2010 V.Ivanchenko moved constructor and destructor to the source +// #ifndef G4LowEIonFragmentation_h #define G4LowEIonFragmentation_h 1 @@ -36,54 +46,47 @@ #include "G4PreCompoundModel.hh" #include "G4HadronicInteraction.hh" #include "G4ExcitationHandler.hh" -#include "G4Fancy3DNucleus.hh" + +class G4ParticleDefinition; class G4LowEIonFragmentation : public G4HadronicInteraction { public: - G4LowEIonFragmentation(G4ExcitationHandler * const value) - { - theHandler = value; - theModel = new G4PreCompoundModel(theHandler); - } + G4LowEIonFragmentation(G4ExcitationHandler * const value); - G4LowEIonFragmentation() - { - theHandler = new G4ExcitationHandler; - theModel = new G4PreCompoundModel(theHandler); - } + G4LowEIonFragmentation(); - ~G4LowEIonFragmentation() {delete theModel;} + virtual ~G4LowEIonFragmentation(); -private: - - G4LowEIonFragmentation(const G4LowEIonFragmentation &) : G4HadronicInteraction() {}; - - const G4LowEIonFragmentation& operator=(const G4LowEIonFragmentation &right); + virtual G4HadFinalState * ApplyYourself(const G4HadProjectile & thePrimary, + G4Nucleus & theNucleus); - G4bool operator==(const G4LowEIonFragmentation &right) const; - - G4bool operator!=(const G4LowEIonFragmentation &right) const; - -public: - G4HadFinalState * ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus); static G4double GetCrossSection() { -// clog << "area/millibarn = "<G4PreCompoundIon::operator=(right); - return *this; - }; +protected: - G4bool operator==(const G4PreCompoundAlpha &right) const - { return G4PreCompoundIon::operator==(right);} + virtual G4double GetRj(G4int NumberParticles, G4int NumberCharged); + virtual G4double CrossSection(G4double ekin) ; + + virtual G4double FactorialFactor(G4int N, G4int P); + + virtual G4double CoalescenceFactor(G4int A); + + virtual G4double GetAlpha(); + + G4double GetOpt12(G4double K); + + G4double GetOpt34(G4double K); - G4bool operator!=(const G4PreCompoundAlpha &right) const - { return G4PreCompoundIon::operator!=(right);} - - - G4ReactionProduct * GetReactionProduct() const; - private: - virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged); + // operators + G4PreCompoundAlpha(const G4PreCompoundAlpha &right); + const G4PreCompoundAlpha& + operator= (const G4PreCompoundAlpha &right); + G4int operator==(const G4PreCompoundAlpha &right) const; + G4int operator!=(const G4PreCompoundAlpha &right) const; - virtual G4double CrossSection(const G4double K) ; - - virtual G4double FactorialFactor(const G4double N, const G4double P); - - virtual G4double CoalescenceFactor(const G4double A); - - G4double GetOpt0(const G4double K); - G4double GetOpt12(const G4double K); - G4double GetOpt34(const G4double K); - - G4double GetAlpha(); - - G4double GetBeta(); - -//data members - - G4AlphaCoulombBarrier theAlphaCoulombBarrier; - G4double ResidualA; - G4double ResidualZ; - G4double theA; - G4double theZ; - G4double ResidualAthrd; - G4double FragmentA; - G4double FragmentAthrd; + G4AlphaCoulombBarrier theAlphaCoulombBarrier; + G4double ResidualAthrd; + G4double FragmentAthrd; + G4int FragmentA; + G4int ResidualA; + G4int ResidualZ; + G4int theA; + G4int theZ; }; #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundDeuteron.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundDeuteron.hh index 3ab3b744d6..704bca0a24 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundDeuteron.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundDeuteron.hh @@ -23,78 +23,65 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4PreCompoundDeuteron.hh,v 1.13 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara // -//J. M. Quesada (July 08) +// Modified: +// J. M. Quesada (July 08) cleanup +// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added +// G4ParticleDefinition to constructor, +// moved constructor and destructor to source #ifndef G4PreCompoundDeuteron_h #define G4PreCompoundDeuteron_h 1 #include "G4PreCompoundIon.hh" -#include "G4ReactionProduct.hh" -#include "G4Deuteron.hh" #include "G4DeuteronCoulombBarrier.hh" -#include "G4PreCompoundParameters.hh" - class G4PreCompoundDeuteron : public G4PreCompoundIon { public: - // default constructor - G4PreCompoundDeuteron():G4PreCompoundIon(2,1,&theDeuteronCoulombBarrier,"Deuteron") {} - // copy constructor - G4PreCompoundDeuteron(const G4PreCompoundDeuteron &right): G4PreCompoundIon(right) {} + G4PreCompoundDeuteron(); - // destructor - ~G4PreCompoundDeuteron() {} + ~G4PreCompoundDeuteron(); - // operators - const G4PreCompoundDeuteron & operator=(const G4PreCompoundDeuteron &right) { - if (&right != this) this->G4PreCompoundIon::operator=(right); - return *this; - } +protected: - G4bool operator==(const G4PreCompoundDeuteron &right) const - { return G4PreCompoundIon::operator==(right);} + virtual G4double GetRj(G4int NumberParticles, G4int NumberCharged); + virtual G4double CrossSection(G4double ekin); + + virtual G4double FactorialFactor(G4int N, G4int P); + + virtual G4double CoalescenceFactor(G4int A); + + virtual G4double GetAlpha(); - G4bool operator!=(const G4PreCompoundDeuteron &right) const - { return G4PreCompoundIon::operator!=(right);} + G4double GetOpt12(G4double K); + G4double GetOpt34(G4double K); - G4ReactionProduct * GetReactionProduct() const; - - private: - virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged); - - virtual G4double CrossSection(const G4double K) ; - - virtual G4double FactorialFactor(const G4double N, const G4double P); - - virtual G4double CoalescenceFactor(const G4double A); - - G4double GetOpt0(const G4double K); - G4double GetOpt12(const G4double K); - G4double GetOpt34(const G4double K); - - G4double GetAlpha(); - - G4double GetBeta(); - -//data members - - G4DeuteronCoulombBarrier theDeuteronCoulombBarrier; - G4double ResidualA; - G4double ResidualZ; - G4double theA; - G4double theZ; - G4double ResidualAthrd; - G4double FragmentA; - G4double FragmentAthrd; + // operators + G4PreCompoundDeuteron(const G4PreCompoundDeuteron &right); + const G4PreCompoundDeuteron& + operator= (const G4PreCompoundDeuteron &right); + G4int operator==(const G4PreCompoundDeuteron &right) const; + G4int operator!=(const G4PreCompoundDeuteron &right) const; + G4DeuteronCoulombBarrier theDeuteronCoulombBarrier; + G4int ResidualA; + G4int ResidualZ; + G4int theA; + G4int theZ; + G4int FragmentA; + G4double ResidualAthrd; + G4double FragmentAthrd; }; + #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.hh index 50a3ed10e3..77f64e3471 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PreCompoundEmission.hh,v 1.7 2009/11/12 14:33:44 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundEmission.hh,v 1.9 2010/09/01 14:51:21 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara @@ -33,6 +33,9 @@ // cross section option // JMQ (06 September 2008) Also external choice has been added for: // - superimposed Coulomb barrier (if useSICB=true) +// 20.08.2010 V.Ivanchenko added G4Pow and G4PreCompoundParameters pointers +// use int Z and A and cleanup; +// inline methods moved from icc file to hh #ifndef G4PreCompoundEmission_h #define G4PreCompoundEmission_h 1 @@ -40,74 +43,83 @@ #include "G4VPreCompoundFragment.hh" #include "G4ReactionProduct.hh" #include "G4Fragment.hh" -#include "Randomize.hh" -#include "G4PreCompoundParameters.hh" #include "G4PreCompoundFragmentVector.hh" class G4VPreCompoundEmissionFactory; +class G4Pow; +class G4PreCompoundParameters; class G4PreCompoundEmission { public: + G4PreCompoundEmission(); + ~G4PreCompoundEmission(); + void SetDefaultModel(); + + void SetHETCModel(); + + G4ReactionProduct * PerformEmission(G4Fragment & aFragment); + + inline G4double GetTotalProbability(const G4Fragment & aFragment); + + inline void Initialize(const G4Fragment & aFragment); + + inline void SetOPTxs(G4int); + + inline void UseSICB(G4bool); + private: + + void AngularDistribution(G4VPreCompoundFragment * theFragment, + const G4Fragment& aFragment, + G4double KineticEnergy); + + G4double rho(G4int p, G4int h, G4double g, G4double E, G4double Ef) const; + G4PreCompoundEmission(const G4PreCompoundEmission &right); const G4PreCompoundEmission& operator=(const G4PreCompoundEmission &right); G4bool operator==(const G4PreCompoundEmission &right) const; G4bool operator!=(const G4PreCompoundEmission &right) const; -public: - - inline void SetUp(const G4Fragment & aFragment); - inline void Initialize(const G4Fragment & aFragment); - - inline G4double GetTotalProbability(const G4Fragment & aFragment); - - G4ReactionProduct * PerformEmission(G4Fragment & aFragment); - - void SetDefaultModel(); - void SetHETCModel(); - -private: - - G4ThreeVector AngularDistribution(G4VPreCompoundFragment * theFragment, - const G4Fragment& aFragment, - const G4double KineticEnergy) const; - - - - G4double rho(const G4double p, const G4double h, const G4double g, - const G4double E, const G4double Ef) const; - - G4double factorial(G4double a) const; - G4double logfactorial(G4double a) const; - - //for inverse cross section choice -public: - inline void SetOPTxs(G4int); - //for superimposed CoulomBarrier for inverse cross sections - inline void UseSICB(G4bool); - - //============== // Data Members //============== + G4Pow* g4pow; + G4PreCompoundParameters* theParameters; + // A vector with the allowed emission fragments G4PreCompoundFragmentVector * theFragmentsVector; G4VPreCompoundEmissionFactory * theFragmentsFactory; - // Projectile energy - G4double ProjEnergy; - - // Projectile direction - G4ThreeVector theIncidentDirection; - + // Momentum of emitted fragment + G4ThreeVector theFinalMomentum; }; -#include "G4PreCompoundEmission.icc" +inline G4double +G4PreCompoundEmission::GetTotalProbability(const G4Fragment& aFragment) +{ + return theFragmentsVector->CalculateProbabilities(aFragment); +} + +inline void +G4PreCompoundEmission::Initialize(const G4Fragment& aFragment) +{ + theFragmentsVector->Initialize(aFragment); +} + +inline void G4PreCompoundEmission::SetOPTxs(G4int opt) +{ + theFragmentsVector->SetOPTxs(opt); +} + +inline void G4PreCompoundEmission::UseSICB(G4bool use) +{ + theFragmentsVector->UseSICB(use); +} #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.icc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.icc index 3f4cd4ea48..2dd846b5e3 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.icc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PreCompoundEmission.icc,v 1.5 2009/02/10 16:01:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundEmission.icc,v 1.6 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Author: V.Lara @@ -35,38 +35,4 @@ // JMQ (06 September 2008) Also external choice has been added for: // - superimposed Coulomb barrier (if useSICB=true) -inline void G4PreCompoundEmission::Initialize(const G4Fragment & aFragment) -{ - theFragmentsVector->Initialize(aFragment); - return; -} - -inline G4double G4PreCompoundEmission::GetTotalProbability(const G4Fragment & aFragment) -{ - return theFragmentsVector->CalculateProbabilities(aFragment); -} - -inline void G4PreCompoundEmission::SetUp(const G4Fragment & aFragment) -{ - // This should be the projectile energy. If I would know which is the projectile (proton, neutron) - // I could remove the binding energy. But, what happens if INC precedes precompound? This approximation - // seems to work well enough - ProjEnergy = aFragment.GetExcitationEnergy(); - theIncidentDirection = aFragment.GetMomentum().vect().unit(); - theFragmentsVector->ResetStage(); - return; -} - -//for inverse cross section choice -inline void G4PreCompoundEmission::SetOPTxs(G4int opt) -{ - theFragmentsVector->SetOPTxs(opt); - return; -} -//for superimposed Coumlomb Barrier for inverse cross sections -inline void G4PreCompoundEmission::UseSICB(G4bool use) -{ - theFragmentsVector->UseSICB(use); - return; -} diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmissionFactory.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmissionFactory.hh index 0f2b5d9a2d..e9de2966e3 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmissionFactory.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmissionFactory.hh @@ -23,30 +23,35 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4PreCompoundEmissionFactory.hh,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// + #ifndef G4PreCompoundEmissionFactory_hh #define G4PreCompoundEmissionFactory_hh #include "G4VPreCompoundEmissionFactory.hh" - class G4PreCompoundEmissionFactory : public G4VPreCompoundEmissionFactory { public: - G4PreCompoundEmissionFactory() {}; - virtual ~G4PreCompoundEmissionFactory() {}; + G4PreCompoundEmissionFactory(); + virtual ~G4PreCompoundEmissionFactory(); -private: - - G4PreCompoundEmissionFactory(const G4PreCompoundEmissionFactory & ) : G4VPreCompoundEmissionFactory() {}; - const G4PreCompoundEmissionFactory & operator=(const G4PreCompoundEmissionFactory & val); - G4bool operator==(const G4PreCompoundEmissionFactory & val) const; - G4bool operator!=(const G4PreCompoundEmissionFactory & val) const; - -private: +protected: virtual std::vector * CreateFragmentVector(); +private: + + G4PreCompoundEmissionFactory(const G4PreCompoundEmissionFactory & ); + const G4PreCompoundEmissionFactory & operator= + (const G4PreCompoundEmissionFactory & val); + G4bool operator==(const G4PreCompoundEmissionFactory & val) const; + G4bool operator!=(const G4PreCompoundEmissionFactory & val) const; + }; #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragment.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragment.hh index 5a24269032..1445c71392 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragment.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragment.hh @@ -23,14 +23,19 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -//J. M. Quesada (August 2008). -//Based on previous work by V. Lara +// $Id: G4PreCompoundFragment.hh,v 1.6 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// Modif (03 September 2008) by J. M. Quesada for external choice of inverse -// cross section option (default OPTxs=2) -// JMQ (06 September 2008) Also external choice has been added for -// superimposed Coulomb barrier (if useSICB=true, default false) - +// J. M. Quesada (August 2008). +// Based on previous work by V. Lara +// +// Modified: +// 03.09.2008 by J. M. Quesada for external choice of inverse +// cross section option (default OPTxs=2) +// 06.09.2008 by JMQ Also external choice has been added for +// superimposed Coulomb barrier (if useSICB=true, default false) +// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added +// G4ParticleDefinition to constructor #ifndef G4PreCompoundFragment_h #define G4PreCompoundFragment_h 1 @@ -39,37 +44,13 @@ class G4PreCompoundFragment : public G4VPreCompoundFragment { -protected: - // default constructor - G4PreCompoundFragment() {}; - public: - // copy constructor - G4PreCompoundFragment(const G4PreCompoundFragment &right); - - // constructor - G4PreCompoundFragment(const G4double anA, const G4double aZ, - G4VCoulombBarrier * aCoulombBarrier, - const G4String & aName); + + G4PreCompoundFragment(const G4ParticleDefinition*, + G4VCoulombBarrier * aCoulombBarrier); virtual ~G4PreCompoundFragment(); - - // ========== - // operators - // ========== - - const G4PreCompoundFragment& - operator= (const G4PreCompoundFragment &right); - - G4int operator==(const G4PreCompoundFragment &right) const; - - G4int operator!=(const G4PreCompoundFragment &right) const; -public: - - // Initialization method -// void Initialize(const G4Fragment & aFragment); - // ================================================ // Methods for calculating the emission probability // ================================================ @@ -80,18 +61,28 @@ public: G4double GetKineticEnergy(const G4Fragment & aFragment); -private: - // This method performs integration for probability function over - // fragment kinetic energy - G4double IntegrateEmissionProbability(const G4double & Low, - const G4double & Up, - const G4Fragment & aFragment); protected: virtual G4double - ProbabilityDistributionFunction(const G4double K, + ProbabilityDistributionFunction(G4double K, const G4Fragment & aFragment) = 0; +private: + // This method performs integration for probability function over + // fragment kinetic energy + G4double IntegrateEmissionProbability(G4double Low, + G4double Up, + const G4Fragment & aFragment); + + // default constructor + G4PreCompoundFragment(); + // operators + G4PreCompoundFragment(const G4PreCompoundFragment &right); + const G4PreCompoundFragment& + operator= (const G4PreCompoundFragment &right); + G4int operator==(const G4PreCompoundFragment &right) const; + G4int operator!=(const G4PreCompoundFragment &right) const; + }; #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.hh index 6644e70de8..adcca2f11b 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.hh @@ -23,63 +23,99 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4PreCompoundFragmentVector.hh,v 1.6 2009/02/10 16:01:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundFragmentVector.hh,v 1.7 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara // -// Modif (03 September 2008) by J. M. Quesada for external choice of inverse +// Modified: +// 03.09.2008 by J. M. Quesada for external choice of inverse // cross section option -// JMQ (06 September 2008) Also external choice has been added for: -// - superimposed Coulomb barrier (if useSICB=true) +// 06.09.2008 JMQ Also external choice has been added for: +// - superimposed Coulomb barrier (if useSICB=true) +// 27.08.2010 V.Ivanchenko simplify and make more efficient by adding extra +// vector of probabilities, moved constructor and destructor to source, +// simplify run time computations making inlined +// #ifndef G4PreCompoundFragmentVector_h #define G4PreCompoundFragmentVector_h 1 #include "G4VPreCompoundFragment.hh" +#include "G4DataVector.hh" +#include "Randomize.hh" +#include "globals.hh" +#include + +typedef std::vector pcfvector; class G4PreCompoundFragmentVector { - typedef std::vector pcfvector; public: - inline G4PreCompoundFragmentVector(pcfvector * avector); - inline ~G4PreCompoundFragmentVector(); - + + G4PreCompoundFragmentVector(pcfvector * avector); + + ~G4PreCompoundFragmentVector(); + + void SetVector(pcfvector * avector); + + void SetOPTxs(G4int); + + void UseSICB(G4bool); + + inline void Initialize(const G4Fragment & aFragment); + + inline G4double CalculateProbabilities(const G4Fragment & aFragment); + + inline G4VPreCompoundFragment * ChooseFragment(); + private: + G4PreCompoundFragmentVector(const G4PreCompoundFragmentVector &right); const G4PreCompoundFragmentVector& operator=(const G4PreCompoundFragmentVector &right); G4bool operator==(const G4PreCompoundFragmentVector &right) const; G4bool operator!=(const G4PreCompoundFragmentVector &right) const; -public: - - inline void Initialize(const G4Fragment & aFragment); - inline void ResetStage(); - inline void SetVector(pcfvector * avector); - - G4double CalculateProbabilities(const G4Fragment & aFragment); - - G4VPreCompoundFragment * ChooseFragment(void); - -private: - pcfvector * theChannels; + G4DataVector probabilities; - G4double TotalEmissionProbability; - -//for inverse cross section choice -public: - inline void SetOPTxs(G4int); - //for superimposed CoulomBarrier for inverse cross sections - inline void UseSICB(G4bool); - + G4int nChannels; }; -#include "G4PreCompoundFragmentVector.icc" +inline void +G4PreCompoundFragmentVector::Initialize(const G4Fragment & aFragment) +{ + for (G4int i=0; i< nChannels; ++i) { + (*theChannels)[i]->Initialize(aFragment); + } +} + +inline G4double +G4PreCompoundFragmentVector::CalculateProbabilities(const G4Fragment & aFragment) +{ + //G4cout << "## G4PreCompoundFragmentVector::CalculateProbabilities" << G4endl; + G4double probtot = 0.0; + for (G4int i=0; i< nChannels; ++i) { + G4double prob = (*theChannels)[i]->CalcEmissionProbability(aFragment); + probtot += prob; + probabilities[i] = probtot; + //G4cout<<" prob= "<GetName()<begin(); - i != theChannels->end(); i++) (*i)->Initialize(aFragment); - return; -} - -inline void G4PreCompoundFragmentVector:: -ResetStage() -{ - for (pcfvector::iterator i=theChannels->begin(); i != theChannels->end(); i++) - (*i)->ResetStage(); - return; -} - -//for inverse cross section choice -inline void G4PreCompoundFragmentVector:: -SetOPTxs(G4int opt) -{ - for (pcfvector::iterator i = theChannels->begin(); i != theChannels->end(); ++i) - (*i)->SetOPTxs(opt); - return; -} - -//for superimposed Coulomb Barrier for inverse cross sections -inline void G4PreCompoundFragmentVector:: -UseSICB(G4bool use) -{ - for (pcfvector::iterator i = theChannels->begin(); i != theChannels->end(); ++i) - (*i)->UseSICB(use); - return; -} diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundHe3.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundHe3.hh index 77f1070d55..e33fb98b76 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundHe3.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundHe3.hh @@ -23,79 +23,66 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4PreCompoundHe3.hh,v 1.11 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara // -//J. M. Quesada (July 08) +// Modified: +// J. M. Quesada (July 08) cleanup +// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added +// G4ParticleDefinition to constructor, +// moved constructor and destructor to source #ifndef G4PreCompoundHe3_h #define G4PreCompoundHe3_h 1 #include "G4PreCompoundIon.hh" -#include "G4ReactionProduct.hh" -#include "G4He3.hh" #include "G4He3CoulombBarrier.hh" -#include "G4PreCompoundParameters.hh" class G4PreCompoundHe3 : public G4PreCompoundIon { public: - // default constructor - G4PreCompoundHe3():G4PreCompoundIon(3,2,&theHe3CoulombBarrier,"He3") {} - // copy constructor - G4PreCompoundHe3(const G4PreCompoundHe3 &right): G4PreCompoundIon(right) {} + G4PreCompoundHe3(); - // destructor - ~G4PreCompoundHe3() {} + virtual ~G4PreCompoundHe3(); - // operators - const G4PreCompoundHe3 & operator=(const G4PreCompoundHe3 &right) { - if (&right != this) this->G4PreCompoundIon::operator=(right); - return *this; - } +protected: - G4bool operator==(const G4PreCompoundHe3 &right) const - { return G4PreCompoundIon::operator==(right);} + virtual G4double GetRj(G4int NumberParticles, G4int NumberCharged); + virtual G4double CrossSection(G4double ekin) ; + + virtual G4double FactorialFactor(G4int N, G4int P); + + virtual G4double CoalescenceFactor(G4int A); + + virtual G4double GetAlpha(); - G4bool operator!=(const G4PreCompoundHe3 &right) const - { return G4PreCompoundIon::operator!=(right);} + G4double GetOpt12(G4double K); - - G4ReactionProduct * GetReactionProduct() const; - + G4double GetOpt34(G4double K); private: - virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged); - - virtual G4double CrossSection(const G4double K) ; - - virtual G4double FactorialFactor(const G4double N, const G4double P); - - virtual G4double CoalescenceFactor(const G4double A); - - G4double GetOpt0(const G4double K); - G4double GetOpt12(const G4double K); - G4double GetOpt34(const G4double K); - - G4double GetAlpha(); - - G4double GetBeta(); - -//data members - - G4He3CoulombBarrier theHe3CoulombBarrier; - G4double ResidualA; - G4double ResidualZ; - G4double theA; - G4double theZ; - G4double ResidualAthrd; - G4double FragmentA; - G4double FragmentAthrd; - + // operators + G4PreCompoundHe3(const G4PreCompoundHe3 &right); + const G4PreCompoundHe3& + operator= (const G4PreCompoundHe3 &right); + G4int operator==(const G4PreCompoundHe3 &right) const; + G4int operator!=(const G4PreCompoundHe3 &right) const; + G4He3CoulombBarrier theHe3CoulombBarrier; + G4double ResidualAthrd; + G4double FragmentAthrd; + G4int FragmentA; + G4int ResidualA; + G4int ResidualZ; + G4int theA; + G4int theZ; }; + #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundIon.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundIon.hh index 377b136019..c31cb7e89a 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundIon.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundIon.hh @@ -23,9 +23,17 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -//J. M. Quesada (August 2008). -//Based on previous work by V. Lara +// $Id: G4PreCompoundIon.hh,v 1.8 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // +// J. M. Quesada (August 2008). +// Based on previous work by V. Lara +// +// Modified: +// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added +// G4ParticleDefinition to constructor, +// moved constructor and destructor to source, +// added inline methods #ifndef G4PreCompoundIon_h #define G4PreCompoundIon_h 1 @@ -34,60 +42,60 @@ class G4PreCompoundIon : public G4PreCompoundFragment { -protected: - // default constructor - G4PreCompoundIon() {} - public: - // copy constructor - G4PreCompoundIon(const G4PreCompoundIon &right): - G4PreCompoundFragment(right) {} - - // constructor - G4PreCompoundIon(const G4double anA, - const G4double aZ, - G4VCoulombBarrier* aCoulombBarrier, - const G4String & aName): - G4PreCompoundFragment(anA,aZ,aCoulombBarrier,aName) {} - - virtual ~G4PreCompoundIon() {} - - // operators - const G4PreCompoundIon & - operator=(const G4PreCompoundIon &right) - { - if (&right != this) this->G4PreCompoundFragment::operator=(right); - return *this; - } - - G4bool operator==(const G4PreCompoundIon &right) const - { - return G4PreCompoundFragment::operator==(right); - } - - G4bool operator!=(const G4PreCompoundIon &right) const - { - return G4PreCompoundFragment::operator!=(right); - } - - virtual G4double ProbabilityDistributionFunction(const G4double eKin, - const G4Fragment& aFragment); - - private: - - G4bool IsItPossible(const G4Fragment& aFragment) ; + G4PreCompoundIon(const G4ParticleDefinition*, + G4VCoulombBarrier * aCoulombBarrier); - protected: + virtual ~G4PreCompoundIon(); - virtual G4double CrossSection(const G4double ekin)=0; +protected: + + virtual G4double + ProbabilityDistributionFunction(G4double eKin, + const G4Fragment& aFragment); - virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged) = 0; + virtual G4double CrossSection(G4double ekin) = 0; - virtual G4double FactorialFactor(const G4double N, const G4double P) = 0; + virtual G4double + GetRj(G4int NumberParticles, G4int NumberCharged) = 0; - virtual G4double CoalescenceFactor(const G4double A) = 0; + virtual G4double FactorialFactor(G4int N, G4int P) = 0; - }; + virtual G4double CoalescenceFactor(G4int A) = 0; + + virtual G4double GetAlpha() = 0; + + inline G4double GetBeta(); + + inline G4double GetOpt0(G4double ekin); + +private: + + // default constructor + G4PreCompoundIon(); + // operators + G4PreCompoundIon(const G4PreCompoundIon &right); + const G4PreCompoundIon& + operator= (const G4PreCompoundIon &right); + G4int operator==(const G4PreCompoundIon &right) const; + G4int operator!=(const G4PreCompoundIon &right) const; + + G4double fact; +}; + +inline G4double G4PreCompoundIon::GetBeta() +{ + return -GetCoulombBarrier(); +} + +// *********************** OPT=0 : Dostrovski's cross section *************** +inline G4double G4PreCompoundIon::GetOpt0(G4double K) +{ + G4double r0 = theParameters->Getr0()*ResidualA13(); + // cross section is now given in mb (r0 is in mm) for the sake of consistency + //with the rest of the options + return 1.e+25*CLHEP::pi*r0*r0*ResidualA13()*GetAlpha()*(1.+GetBeta()/K); +} #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundModel.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundModel.hh index 4d0a0e11bb..fc749e9589 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundModel.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundModel.hh @@ -23,12 +23,11 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4PreCompoundModel.hh,v 1.7 2009/11/19 10:19:31 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundModel.hh,v 1.9 2010/08/20 07:41:48 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // by V. Lara - +// // Class Description // Model implementation for pre-equilibrium decay models in geant4. // To be used in your physics list, in case you neeed this kind of physics. @@ -36,63 +35,57 @@ // transport, or any of the string-parton models. // Class Description - End // -// Modif (03 September 2008) by J. M. Quesada for external choice of inverse -// cross section option.(default OPTxs=3) -// JMQ (06 September 2008) Also external choices have been added for: +// Modified: +// 03.09.2008 J.M.Quesada added external choice of inverse +// cross section option.(default OPTxs=3) +// 06.09.2008 J.M.Quesada external choices have been added for: // - superimposed Coulomb barrier (if useSICB=true, default false) // - "never go back" hipothesis (if useNGB=true, default false) // - soft cutoff from preeq. to equlibrium (if useSCO=true, default false) // - CEM transition probabilities (if useCEMtr=true) -// J. M. Quesada (30.10.09) : CEM transition probabilities are set as default +// 30.10.2009 J.M.Quesada CEM transition probabilities are set as default +// 20.08.2010 V.Ivanchenko Cleanup of the code - changed data members and inline methods #ifndef G4PreCompoundModel_h #define G4PreCompoundModel_h 1 #include "G4VPreCompoundModel.hh" -#include "G4LorentzVector.hh" - - -#include "G4NucleiProperties.hh" -#include "G4PreCompoundParameters.hh" -#include "G4ExcitationHandler.hh" #include "G4Fragment.hh" -#include "Randomize.hh" - -//#include "G4PreCompoundEmission.hh" - -#include "G4DynamicParticle.hh" #include "G4ReactionProductVector.hh" #include "G4ReactionProduct.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" +#include "G4ExcitationHandler.hh" -//#define debug -//#define verbose +class G4PreCompoundParameters; +class G4PreCompoundEmission; +class G4VPreCompoundTransitions; +class G4ParticleDefinition; class G4PreCompoundModel : public G4VPreCompoundModel -{ - +{ public: G4PreCompoundModel(G4ExcitationHandler * const value); virtual ~G4PreCompoundModel(); -private: + virtual G4HadFinalState * ApplyYourself(const G4HadProjectile & thePrimary, + G4Nucleus & theNucleus); - G4PreCompoundModel(); + virtual G4ReactionProductVector* DeExcite(G4Fragment& aFragment); - G4PreCompoundModel(const G4PreCompoundModel &); + void UseHETCEmission(); + void UseDefaultEmission(); + void UseGNASHTransition(); + void UseDefaultTransition(); - const G4PreCompoundModel& operator=(const G4PreCompoundModel &right); - G4bool operator==(const G4PreCompoundModel &right) const; - G4bool operator!=(const G4PreCompoundModel &right) const; + //for cross section selection + void SetOPTxs(G4int opt); -public: - - G4HadFinalState * ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus); - - G4ReactionProductVector* DeExcite(const G4Fragment& aFragment) const; + //for the rest of external choices + void UseSICB(); + void UseNGB(); + void UseSCO(); + void UseCEMtr(); #ifdef PRECOMPOUND_TEST static G4Fragment GetInitialFragmentForTest() @@ -101,24 +94,17 @@ public: { return &G4PreCompoundModel::theCreatorModels; } #endif - inline void UseHETCEmission() { useHETCEmission = true; } - inline void UseDefaultEmission() { useHETCEmission = false; } - inline void UseGNASHTransition() { useGNASHTransition = true; } - inline void UseDefaultTransition() { useGNASHTransition = false; } - - //for cross section selection - inline void SetOPTxs(G4int opt) { OPTxs = opt; } -//for the rest of external choices - inline void UseSICB() { useSICB = true; } - inline void UseNGB() { useNGB = true; } - inline void UseSCO() { useSCO = true; } - inline void UseCEMtr() { useCEMtr = true; } private: + inline void PerformEquilibriumEmission(const G4Fragment & aFragment, G4ReactionProductVector * theResult) const; -private: + G4PreCompoundModel(); + G4PreCompoundModel(const G4PreCompoundModel &); + const G4PreCompoundModel& operator=(const G4PreCompoundModel &right); + G4bool operator==(const G4PreCompoundModel &right) const; + G4bool operator!=(const G4PreCompoundModel &right) const; #ifdef debug void CheckConservation(const G4Fragment & theInitialState, @@ -130,27 +116,42 @@ private: // Data Members //============== + G4PreCompoundParameters* theParameters; + G4PreCompoundEmission* theEmission; + G4VPreCompoundTransitions* theTransition; + const G4ParticleDefinition* proton; + const G4ParticleDefinition* neutron; - G4bool useHETCEmission; - G4bool useGNASHTransition; + G4bool useHETCEmission; + G4bool useGNASHTransition; -//for cross section options + //for cross section options G4int OPTxs; -//for the rest of external choices + + //for the rest of external choices G4bool useSICB; G4bool useNGB; G4bool useSCO; G4bool useCEMtr; - - G4HadFinalState theResult; + G4HadFinalState theResult; #ifdef PRECOMPOUND_TEST static G4Fragment theInitialFragmentForTest; static std::vector theCreatorModels; #endif - }; + +inline void +G4PreCompoundModel::PerformEquilibriumEmission(const G4Fragment & aFragment, + G4ReactionProductVector * Result) const +{ + G4ReactionProductVector* theEquilibriumResult = + GetExcitationHandler()->BreakItUp(aFragment); + Result->insert(Result->end(),theEquilibriumResult->begin(), theEquilibriumResult->end()); + delete theEquilibriumResult; +} + #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNeutron.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNeutron.hh index f4679575cc..c21108d887 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNeutron.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNeutron.hh @@ -23,78 +23,63 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4PreCompoundNeutron.hh,v 1.13 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -//J. M. Quesada (July 08) - +// by V. Lara +// +// Modified: +// J. M. Quesada (July 08) cleanup +// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added +// G4ParticleDefinition to constructor, +// moved constructor and destructor to source #ifndef G4PreCompoundNeutron_h #define G4PreCompoundNeutron_h 1 #include "G4PreCompoundNucleon.hh" -#include "G4ReactionProduct.hh" -#include "G4Neutron.hh" -#include "G4PreCompoundParameters.hh" -#include "Randomize.hh" #include "G4NeutronCoulombBarrier.hh" - class G4PreCompoundNeutron : public G4PreCompoundNucleon { public: - // default constructor - G4PreCompoundNeutron() : G4PreCompoundNucleon(1,0,&theNeutronCoulombBarrier,"Neutron") {} - // copy constructor - G4PreCompoundNeutron(const G4PreCompoundNeutron &right): G4PreCompoundNucleon(right) {} + G4PreCompoundNeutron(); - // destructor - ~G4PreCompoundNeutron() {} + virtual ~G4PreCompoundNeutron(); - // operators - const G4PreCompoundNeutron & operator=(const G4PreCompoundNeutron &right) { - if (&right != this) this->G4PreCompoundNucleon::operator=(right); - return *this; - } +protected: - G4bool operator==(const G4PreCompoundNeutron &right) const - { return G4PreCompoundNucleon::operator==(right);} - - G4bool operator!=(const G4PreCompoundNeutron &right) const - { return G4PreCompoundNucleon::operator!=(right);} + virtual G4double GetRj(G4int NumberParticles, G4int NumberCharged); + virtual G4double CrossSection(G4double ekin); + + virtual G4double GetAlpha(); + + virtual G4double GetBeta(); + + G4double GetOpt12(G4double K); + + G4double GetOpt34(G4double K); - G4ReactionProduct * GetReactionProduct() const; - private: - virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged); + // operators + G4PreCompoundNeutron(const G4PreCompoundNeutron &right); + const G4PreCompoundNeutron& + operator= (const G4PreCompoundNeutron &right); + G4int operator==(const G4PreCompoundNeutron &right) const; + G4int operator!=(const G4PreCompoundNeutron &right) const; - virtual G4double CrossSection(const G4double K); - - - G4double GetOpt0(const G4double K); - G4double GetOpt12(const G4double K); - G4double GetOpt34(const G4double K); - - - G4double GetAlpha(); - - G4double GetBeta(); - -//data members - - G4NeutronCoulombBarrier theNeutronCoulombBarrier; - G4double ResidualA; - G4double ResidualZ; - G4double theA; - G4double theZ; - G4double ResidualAthrd; - G4double FragmentA; - G4double FragmentAthrd; - - + G4NeutronCoulombBarrier theNeutronCoulombBarrier; + G4double ResidualAthrd; + G4double FragmentAthrd; + G4int FragmentA; + G4int ResidualA; + G4int ResidualZ; + G4int theA; + G4int theZ; }; - #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNucleon.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNucleon.hh index 4a31c32b93..73c52291b7 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNucleon.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNucleon.hh @@ -23,9 +23,15 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -//J. M. Quesada (August 2008). -//Based on previous work by V. Lara +// $Id: G4PreCompoundNucleon.hh,v 1.7 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // +// J. M. Quesada (August 2008). +// Based on previous work by V. Lara +// +// Modified: +// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added +// G4ParticleDefinition to constructor #ifndef G4PreCompoundNucleon_h @@ -35,57 +41,51 @@ class G4PreCompoundNucleon : public G4PreCompoundFragment { +public: + + G4PreCompoundNucleon(const G4ParticleDefinition*, + G4VCoulombBarrier * aCoulombBarrier); + + virtual ~G4PreCompoundNucleon(); + +protected: + + virtual G4double + ProbabilityDistributionFunction(G4double eKin, + const G4Fragment& aFragment); + + virtual G4double CrossSection(G4double ekin) = 0; + + virtual G4double + GetRj(G4int NumberParticles, G4int NumberCharged) = 0; + + virtual G4double GetAlpha() = 0; + + virtual G4double GetBeta() = 0; + + inline G4double GetOpt0(G4double ekin); + private: + // default constructor - G4PreCompoundNucleon() {}; + G4PreCompoundNucleon(); + // operators + G4PreCompoundNucleon(const G4PreCompoundNucleon &right); + const G4PreCompoundNucleon& + operator= (const G4PreCompoundNucleon &right); + G4int operator==(const G4PreCompoundNucleon &right) const; + G4int operator!=(const G4PreCompoundNucleon &right) const; -public: - - // copy constructor - G4PreCompoundNucleon(const G4PreCompoundNucleon &right): - G4PreCompoundFragment(right) {} + G4double fact; +}; - // constructor - G4PreCompoundNucleon(const G4double anA, - const G4double aZ, - G4VCoulombBarrier* aCoulombBarrier, - const G4String & aName) : - G4PreCompoundFragment(anA,aZ,aCoulombBarrier,aName) {} - - - virtual ~G4PreCompoundNucleon() {} - - // operators - const G4PreCompoundNucleon & - operator=(const G4PreCompoundNucleon &right) - { - if (&right != this) this->G4PreCompoundFragment::operator=(right); - return *this; - } - - G4bool operator==(const G4PreCompoundNucleon &right) const - { - return G4PreCompoundFragment::operator==(right); - } - - G4bool operator!=(const G4PreCompoundNucleon &right) const - { - return G4PreCompoundFragment::operator!=(right); - } - - virtual G4double ProbabilityDistributionFunction(const G4double eKin, - const G4Fragment& aFragment); - - private: - - G4bool IsItPossible(const G4Fragment&) ; - - protected: - - virtual G4double CrossSection(const G4double ekin)=0; - - virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged) = 0; - - }; +// *********************** OPT=0 : Dostrovski's cross section *************** +inline G4double G4PreCompoundNucleon::GetOpt0(G4double K) +{ + G4double r0 = theParameters->Getr0()*ResidualA13(); + // cross section is now given in mb (r0 is in mm) for the sake of consistency + //with the rest of the options + return 1.e+25*CLHEP::pi*r0*r0*ResidualA13()*GetAlpha()*(1.+GetBeta()/K); +} #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundParameters.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundParameters.hh index 83a3afb8fb..0d180b3ff0 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundParameters.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundParameters.hh @@ -23,14 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4PreCompoundParameters.hh,v 1.5 2008/05/08 10:34:25 quesada Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PreCompoundParameters.hh,v 1.6 2010/08/18 14:07:24 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // by V. Lara // -//J. M. Quesada (Apr. 2008) Level density set to A/10 at preequilibrium - +// 01.04.2008 J. M. Quesada Level density set to A/10 at preequilibrium +// 18.08.2010 V.Ivanchenko make this class as a standard singleton +// #ifndef G4PreCompoundParameters_h #define G4PreCompoundParameters_h 1 @@ -39,49 +39,57 @@ class G4PreCompoundParameters { -private: - static G4PreCompoundParameters thePreCompoundParameters; - - // default constructor -// G4PreCompoundParameters() : theLevelDensity(0.125/MeV), -//JMQ level density parameter set to A/10 at preequilibrium - G4PreCompoundParameters() : theLevelDensity(0.10/MeV), - r0(1.5*fermi),Transitions_r0(0.6*fermi),FermiEnergy(35.0*MeV) - {} - public: - ~G4PreCompoundParameters() {}; + static G4PreCompoundParameters * GetAddress(); + + ~G4PreCompoundParameters(); - static G4PreCompoundParameters * GetAddress(); + inline G4double GetLevelDensity(); - G4double GetLevelDensity() - { return theLevelDensity; } - + inline G4double Getr0(); - G4double Getr0() - { return r0; } + inline G4double GetTransitionsr0(); - G4double GetTransitionsr0() - { return Transitions_r0; } - - - G4double GetFermiEnergy() - { return FermiEnergy; } + inline G4double GetFermiEnergy(); private: - // Level density parameter - const G4double theLevelDensity; - // Nuclear radius r0 - const G4double r0; + G4PreCompoundParameters(); + + static G4PreCompoundParameters* theParameters; + + // Level density parameter + G4double fLevelDensity; + + // Nuclear radius r0 + G4double fR0; - // Nuclear radius r0 for transitions - const G4double Transitions_r0; + // Nuclear radius r0 for transitions + G4double fTransitions_r0; - // Fermi energy level - const G4double FermiEnergy; - + // Fermi energy level + G4double fFermiEnergy; }; +inline G4double G4PreCompoundParameters::GetLevelDensity() +{ + return fLevelDensity; +} + +inline G4double G4PreCompoundParameters::Getr0() +{ + return fR0; +} + +inline G4double G4PreCompoundParameters::GetTransitionsr0() +{ + return fTransitions_r0; +} + +inline G4double G4PreCompoundParameters::GetFermiEnergy() +{ + return fFermiEnergy; +} + #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundProton.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundProton.hh index 5dd9726916..87b20958b8 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundProton.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundProton.hh @@ -23,78 +23,64 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4PreCompoundProton.hh,v 1.13 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -//J. M. Quesada (July 08) +// by V. Lara +// +// Modified: +// J. M. Quesada (July 08) cleanup +// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added +// G4ParticleDefinition to constructor, +// moved constructor and destructor to source #ifndef G4PreCompoundProton_h #define G4PreCompoundProton_h 1 #include "G4PreCompoundNucleon.hh" -#include "G4ReactionProduct.hh" -#include "G4Proton.hh" -#include "G4PreCompoundParameters.hh" -#include "Randomize.hh" #include "G4ProtonCoulombBarrier.hh" class G4PreCompoundProton : public G4PreCompoundNucleon { public: - // default constructor - G4PreCompoundProton():G4PreCompoundNucleon(1,1,&theProtonCoulombBarrier,"Proton") {} - // copy constructor - G4PreCompoundProton(const G4PreCompoundProton &right): G4PreCompoundNucleon(right) {} + G4PreCompoundProton(); - // destructor - ~G4PreCompoundProton() {}; + virtual ~G4PreCompoundProton(); - // operators - const G4PreCompoundProton & operator=(const G4PreCompoundProton &right) { - if (&right != this) this->G4PreCompoundNucleon::operator=(right); - return *this; - }; +protected: - G4bool operator==(const G4PreCompoundProton &right) const - { return G4PreCompoundNucleon::operator==(right);} + virtual G4double GetRj(G4int NumberParticles, G4int NumberCharged); - - G4bool operator!=(const G4PreCompoundProton &right) const - { return G4PreCompoundNucleon::operator!=(right);} + virtual G4double CrossSection(G4double ekin) ; + virtual G4double GetAlpha(); + + virtual G4double GetBeta(); + + G4double GetOpt1(G4double K); + + G4double GetOpt2(G4double K); + + G4double GetOpt3(G4double K); - G4ReactionProduct * GetReactionProduct() const; - - private: -//JMQ (Sep. 07) combinatorial factor Rj - virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged); + // operators + G4PreCompoundProton(const G4PreCompoundProton &right); + const G4PreCompoundProton& + operator= (const G4PreCompoundProton &right); + G4int operator==(const G4PreCompoundProton &right) const; + G4int operator!=(const G4PreCompoundProton &right) const; - virtual G4double CrossSection(const G4double K) ; - - - G4double GetOpt0(const G4double K); - G4double GetOpt1(const G4double K); - G4double GetOpt2(const G4double K); - G4double GetOpt3(const G4double K); - - G4double GetAlpha(); - - G4double GetBeta(); - -//data members - - G4ProtonCoulombBarrier theProtonCoulombBarrier; - G4double ResidualA; - G4double ResidualZ; - G4double theA; - G4double theZ; - G4double ResidualAthrd; - G4double FragmentA; - G4double FragmentAthrd; - - - + G4ProtonCoulombBarrier theProtonCoulombBarrier; + G4double ResidualAthrd; + G4double FragmentAthrd; + G4int FragmentA; + G4int ResidualA; + G4int ResidualZ; + G4int theA; + G4int theZ; }; #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTransitions.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTransitions.hh index 95d733f1a7..83219af4e2 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTransitions.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTransitions.hh @@ -23,14 +23,13 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4PreCompoundTransitions.hh,v 1.6 2008/09/22 10:18:36 ahoward Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PreCompoundTransitions.hh,v 1.8 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // by V. Lara -// J. M. Quesada . New methods for accessing to individual transition probabilities (landa+, landa-, landa0) from -// G4PreCompoundModel.cc - +// 01.05.2008 J. M. Quesada . New methods for accessing to individual transition +// probabilities (landa+, landa-, landa0) from G4PreCompoundModel +// 20.08.2010 V.Ivanchenko move constructor and destructor to the source #ifndef G4PreCompoundTransitions_h #define G4PreCompoundTransitions_h 1 @@ -47,62 +46,35 @@ #include "globals.hh" #include "G4Fragment.hh" -#include "G4PreCompoundParameters.hh" -#include "G4Proton.hh" -#include "Randomize.hh" + +class G4ParticleDefinition; +class G4Pow; class G4PreCompoundTransitions : public G4VPreCompoundTransitions - { public: - // Calculates transition probabilities with Delta N = +2 (Trans1) -2 (Trans2) and 0 (Trans3) + G4PreCompoundTransitions(); - G4PreCompoundTransitions() : TransitionProb1(0.0), TransitionProb2(0.0), TransitionProb3(0.0){} + virtual ~G4PreCompoundTransitions(); - virtual ~G4PreCompoundTransitions() {} - -private: - - G4PreCompoundTransitions(const G4PreCompoundTransitions &) : G4VPreCompoundTransitions() {}; - - const G4PreCompoundTransitions& operator=(const G4PreCompoundTransitions &right); - - G4bool operator==(const G4PreCompoundTransitions &right) const; - - G4bool operator!=(const G4PreCompoundTransitions &right) const; - -public: - virtual G4double CalculateProbability(const G4Fragment & aFragment); - virtual G4Fragment PerformTransition(const G4Fragment & aFragment); - + virtual void PerformTransition(G4Fragment & aFragment); + private: - - G4double TransitionProb1; - G4double TransitionProb2; - G4double TransitionProb3; + + G4PreCompoundTransitions(const G4PreCompoundTransitions &); + const G4PreCompoundTransitions& operator=(const G4PreCompoundTransitions &right); + G4bool operator==(const G4PreCompoundTransitions &right) const; + G4bool operator!=(const G4PreCompoundTransitions &right) const; + G4Pow* g4pow; + const G4ParticleDefinition* proton; - //J. M.Quesada (May. 08) -public: - // inline G4double GetTransitionProb1() const - G4double GetTransitionProb1() - { - return TransitionProb1; - } - // inline G4double GetTransitionProb2() const - G4double GetTransitionProb2() - { - return TransitionProb2; - } - // inline G4double GetTransitionProb3() const - G4double GetTransitionProb3() - { - return TransitionProb3; - } - + G4double FermiEnergy; + G4double r0; // Nuclear radius + G4double aLDP;// Level density parameter }; #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTriton.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTriton.hh index 0a01c3bcc7..1055b1f7c1 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTriton.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTriton.hh @@ -23,78 +23,64 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4PreCompoundTriton.hh,v 1.12 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // by V. Lara // -//J. M. Quesada (July 08) +// Modified: +// J. M. Quesada (July 08) cleanup +// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added +// G4ParticleDefinition to constructor, +// moved constructor and destructor to source #ifndef G4PreCompoundTriton_h #define G4PreCompoundTriton_h 1 #include "G4PreCompoundIon.hh" -#include "G4ReactionProduct.hh" -#include "G4Triton.hh" #include "G4TritonCoulombBarrier.hh" -#include "G4PreCompoundParameters.hh" - class G4PreCompoundTriton : public G4PreCompoundIon { public: - // default constructor - G4PreCompoundTriton():G4PreCompoundIon(3,1,&theTritonCoulombBarrier,"Triton") {} - // copy constructor - G4PreCompoundTriton(const G4PreCompoundTriton &right): G4PreCompoundIon(right) {} + G4PreCompoundTriton(); - // destructor - ~G4PreCompoundTriton() {} + virtual ~G4PreCompoundTriton(); - // operators -// const G4PreCompoundTriton & operator=(const G4PreCompoundTriton &right) { -// if (&right != this) this->G4PreCompoundIon::operator=(right); -// return *this; -// } +protected: -// G4bool operator==(const G4PreCompoundTriton &right) const -// { return G4PreCompoundIon::operator==(right);} + virtual G4double GetRj(G4int NumberParticles, G4int NumberCharged); + virtual G4double CrossSection(G4double ekin) ; + + virtual G4double FactorialFactor(G4int N, G4int P); + + virtual G4double CoalescenceFactor(G4int A); + + virtual G4double GetAlpha(); -// G4bool operator!=(const G4PreCompoundTriton &right) const -// { return G4PreCompoundIon::operator!=(right);} + G4double GetOpt12(G4double K); - - G4ReactionProduct * GetReactionProduct() const; - + G4double GetOpt34(G4double K); private: - virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged); + // operators + G4PreCompoundTriton(const G4PreCompoundTriton &right); + const G4PreCompoundTriton& + operator= (const G4PreCompoundTriton &right); + G4int operator==(const G4PreCompoundTriton &right) const; + G4int operator!=(const G4PreCompoundTriton &right) const; - virtual G4double CrossSection(const G4double K) ; - - virtual G4double FactorialFactor(const G4double N, const G4double P); - - virtual G4double CoalescenceFactor(const G4double A); - - G4double GetOpt0(const G4double K); - G4double GetOpt12(const G4double K); - G4double GetOpt34(const G4double K); - - G4double GetAlpha(); - - G4double GetBeta(); - -//data members - - G4TritonCoulombBarrier theTritonCoulombBarrier; - G4double ResidualA; - G4double ResidualZ; - G4double theA; - G4double theZ; - G4double ResidualAthrd; - G4double FragmentA; - G4double FragmentAthrd; + G4TritonCoulombBarrier theTritonCoulombBarrier; + G4double ResidualAthrd; + G4double FragmentAthrd; + G4int FragmentA; + G4int ResidualA; + G4int ResidualZ; + G4int theA; + G4int theZ; }; #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundEmissionFactory.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundEmissionFactory.hh index 4652297f03..f2e48cd4a8 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundEmissionFactory.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundEmissionFactory.hh @@ -23,39 +23,41 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // - +// $Id: G4VPreCompoundEmissionFactory.hh,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara - +// #ifndef G4VPreCompoundEmissionFactory_hh #define G4VPreCompoundEmissionFactory_hh - #include "G4VPreCompoundFragment.hh" #include class G4VPreCompoundEmissionFactory { public: - G4VPreCompoundEmissionFactory() : _fragvector(0) {}; + + G4VPreCompoundEmissionFactory(); + virtual ~G4VPreCompoundEmissionFactory(); -private: - G4VPreCompoundEmissionFactory(const G4VPreCompoundEmissionFactory & ) {}; - const G4VPreCompoundEmissionFactory & operator=(const G4VPreCompoundEmissionFactory & val); - G4bool operator==(const G4VPreCompoundEmissionFactory & val) const; - G4bool operator!=(const G4VPreCompoundEmissionFactory & val) const; - -public: - - std::vector * GetFragmentVector(); + inline std::vector * GetFragmentVector(); protected: virtual std::vector * CreateFragmentVector() = 0; private: - std::vector * _fragvector; + + G4VPreCompoundEmissionFactory(const G4VPreCompoundEmissionFactory & ); + const G4VPreCompoundEmissionFactory & operator= + (const G4VPreCompoundEmissionFactory & val); + G4bool operator==(const G4VPreCompoundEmissionFactory & val) const; + G4bool operator!=(const G4VPreCompoundEmissionFactory & val) const; + + std::vector * fragvector; struct DeleteFragment { @@ -67,4 +69,12 @@ private: }; }; + +inline std::vector * +G4VPreCompoundEmissionFactory::GetFragmentVector() +{ + if (fragvector == 0) { fragvector = CreateFragmentVector(); } + return fragvector; +} + #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.hh index 2bae60ba9c..9e973caf8f 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.hh @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4VPreCompoundFragment.hh,v 1.10 2009/02/10 16:01:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VPreCompoundFragment.hh,v 1.11 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // J. M. Quesada (August 2008). // Based on previous work by V. Lara @@ -34,38 +33,35 @@ // cross section option // JMQ (06 September 2008) Also external choice has been added for: // - superimposed Coulomb barrier (if useSICB=true) +// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added +// G4ParticleDefinition to constructor, +// inline method to build G4ReactionProduct; +// remove string name +// #ifndef G4VPreCompoundFragment_h #define G4VPreCompoundFragment_h 1 #include "G4ios.hh" #include -#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" #include "G4IonTable.hh" #include "G4Fragment.hh" #include "G4VCoulombBarrier.hh" - -class G4ReactionProduct; +#include "G4ReactionProduct.hh" +#include "G4PreCompoundParameters.hh" +#include "G4Pow.hh" class G4VPreCompoundFragment { +public: + // ============================ // Constructors and destructor // ============================ - -protected: - // default constructor - G4VPreCompoundFragment() {}; -public: - // copy constructor - G4VPreCompoundFragment(const G4VPreCompoundFragment &right); - - // constructor - G4VPreCompoundFragment(const G4double anA, const G4double aZ, - G4VCoulombBarrier * aCoulombBarrier, - const G4String & aName); - + G4VPreCompoundFragment(const G4ParticleDefinition*, + G4VCoulombBarrier * aCoulombBarrier); virtual ~G4VPreCompoundFragment(); @@ -73,13 +69,6 @@ public: // operators // ========== - const G4VPreCompoundFragment& - operator= (const G4VPreCompoundFragment &right); - - G4int operator==(const G4VPreCompoundFragment &right) const; - - G4int operator!=(const G4VPreCompoundFragment &right) const; - friend std::ostream& operator<<(std::ostream&, const G4VPreCompoundFragment*); friend std::ostream& @@ -88,7 +77,6 @@ public: // ===================== // Pure Virtual methods // ===================== - virtual G4ReactionProduct * GetReactionProduct() const = 0; // Initialization method void Initialize(const G4Fragment & aFragment); @@ -102,14 +90,17 @@ public: virtual G4double GetKineticEnergy(const G4Fragment & aFragment) = 0; -public: - inline G4double GetA() const; + inline G4ReactionProduct * GetReactionProduct() const; + + inline G4int GetA() const; - inline G4double GetZ() const; + inline G4int GetZ() const; - inline G4double GetRestA() const; + inline G4int GetRestA() const; - inline G4double GetRestZ() const; + inline G4int GetRestZ() const; + + inline G4double ResidualA13() const; inline G4double GetCoulombBarrier() const; @@ -127,64 +118,64 @@ public: inline G4double GetReducedMass() const; - inline const G4LorentzVector GetMomentum() const; + inline const G4LorentzVector& GetMomentum() const; inline void SetMomentum(const G4LorentzVector & value); - inline void SetFragmentName(const G4String& aName); - inline const G4String GetName() const; - - inline void ResetStage(); - - inline G4int GetStage() const; - - inline void IncrementStage(); //for inverse cross section choice inline void SetOPTxs(G4int); //for superimposed Coulomb Barrier for inverse cross sections inline void UseSICB(G4bool); +protected: + inline G4bool IsItPossible(const G4Fragment & aFragment) const; + +private: + + // default constructor + G4VPreCompoundFragment(); + // copy constructor + G4VPreCompoundFragment(const G4VPreCompoundFragment &right); + const G4VPreCompoundFragment& + operator= (const G4VPreCompoundFragment &right); + G4int operator==(const G4VPreCompoundFragment &right) const; + G4int operator!=(const G4VPreCompoundFragment &right) const; // ============= // Data members // ============= - -private: - - G4double theA; - - G4double theZ; -private: - - G4double theRestNucleusA; - - G4double theRestNucleusZ; -protected: - G4double theCoulombBarrier; -private: + const G4ParticleDefinition* particle; G4VCoulombBarrier * theCoulombBarrierPtr; - G4double theBindingEnergy; + G4int theA; + G4int theZ; + G4int theRestNucleusA; + G4int theRestNucleusZ; + G4double theRestNucleusA13; + G4double theBindingEnergy; G4double theMaximalKineticEnergy; - -protected: - G4double theEmissionProbability; -private: + G4double theRestNucleusMass; + G4double theReducedMass; + G4double theMass; + G4LorentzVector theMomentum; - G4String theFragmentName; - - G4int theStage; - protected: -//for inverse cross section choice + + G4PreCompoundParameters* theParameters; + G4Pow* g4pow; + + G4double theEmissionProbability; + G4double theCoulombBarrier; + + //for inverse cross section choice G4int OPTxs; -//for superimposed Coulomb Barrier for inverse cross sections + //for superimposed Coulomb Barrier for inverse cross sections G4bool useSICB; }; diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.icc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.icc index dde855be43..2bfb340871 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.icc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VPreCompoundFragment.icc,v 1.7 2008/09/22 10:18:36 ahoward Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VPreCompoundFragment.icc,v 1.8 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // by V. Lara // @@ -33,26 +33,53 @@ // cross section option // JMQ (06 September 2008) Also external choice has been added for: // - superimposed Coulomb barrier (if useSICB=true) +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, make GetReactionProduct() and IsItPossible inlined -inline G4double G4VPreCompoundFragment::GetA() const +inline G4bool G4VPreCompoundFragment:: +IsItPossible(const G4Fragment & aFragment) const +{ + G4int pplus = aFragment.GetNumberOfCharged(); + G4int pneut = aFragment.GetNumberOfParticles()-pplus; + return ((pneut >= theA - theZ) && (pplus >= theZ) + && (theMaximalKineticEnergy > 0)); +} + + +inline +G4ReactionProduct * G4VPreCompoundFragment::GetReactionProduct() const +{ + G4ReactionProduct * theReactionProduct = + new G4ReactionProduct(const_cast(particle)); + theReactionProduct->SetMomentum(GetMomentum().vect()); + theReactionProduct->SetTotalEnergy(GetMomentum().e()); + return theReactionProduct; +} + +inline G4int G4VPreCompoundFragment::GetA() const { return theA; } -inline G4double G4VPreCompoundFragment::GetZ() const +inline G4int G4VPreCompoundFragment::GetZ() const { return theZ; } -inline G4double G4VPreCompoundFragment::GetRestA() const +inline G4int G4VPreCompoundFragment::GetRestA() const { return theRestNucleusA; } -inline G4double G4VPreCompoundFragment::GetRestZ() const +inline G4int G4VPreCompoundFragment::GetRestZ() const { return theRestNucleusZ; } + +inline G4double G4VPreCompoundFragment::ResidualA13() const +{ + return theRestNucleusA13; +} inline G4double G4VPreCompoundFragment::GetCoulombBarrier() const { @@ -81,75 +108,45 @@ inline G4double G4VPreCompoundFragment::GetEmissionProbability() const inline G4double G4VPreCompoundFragment::GetNuclearMass(void) const { - return G4ParticleTable::GetParticleTable()-> - GetIonTable()->GetIonMass(static_cast(theZ),static_cast(theA)); + return theMass; } - inline G4double G4VPreCompoundFragment::GetRestNuclearMass() const { - return G4ParticleTable::GetParticleTable()->GetIonTable()-> - GetIonMass(static_cast(theRestNucleusZ),static_cast(theRestNucleusA)); + return theRestNucleusMass; } - inline G4double G4VPreCompoundFragment::GetReducedMass() const { - return GetRestNuclearMass()*GetNuclearMass()/ - (GetNuclearMass()+GetRestNuclearMass()); + return theReducedMass; } - -inline const G4LorentzVector G4VPreCompoundFragment:: -GetMomentum() const +inline +const G4LorentzVector& G4VPreCompoundFragment::GetMomentum() const { return theMomentum; } - -inline void G4VPreCompoundFragment:: -SetMomentum(const G4LorentzVector & value) +inline +void G4VPreCompoundFragment::SetMomentum(const G4LorentzVector & value) { theMomentum = value; } - -inline void G4VPreCompoundFragment:: -SetFragmentName(const G4String& aName) -{ - theFragmentName = aName; -} inline const G4String G4VPreCompoundFragment:: GetName() const { - return theFragmentName; -} - -inline void G4VPreCompoundFragment::ResetStage() -{ - theStage = 1; -} - -inline G4int G4VPreCompoundFragment::GetStage() const -{ - return theStage; -} - -inline void G4VPreCompoundFragment::IncrementStage() -{ - theStage++; + return particle->GetParticleName(); } //for inverse cross section choice inline void G4VPreCompoundFragment::SetOPTxs(G4int opt) { OPTxs=opt; - return; } //for superimposed Coulomb Barrier for inverse cross sections inline void G4VPreCompoundFragment::UseSICB(G4bool use) { useSICB=use; - return; } diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundNucleon.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundNucleon.hh deleted file mode 100644 index 653c19d1bb..0000000000 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundNucleon.hh +++ /dev/null @@ -1,34 +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: G4VPreCompoundNucleon.hh,v 1.8 2008/09/22 10:18:36 ahoward Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// by V. Lara -//J.M. Quesada (Apr. 2008) DUMMY abstract base class for nucleons. -// Not ihherited by anything -// Suppressed - diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundTransitions.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundTransitions.hh index cd0582f4df..67622a1460 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundTransitions.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundTransitions.hh @@ -23,10 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -//J. M. Quesada (May 08). New virtual classes have been added +// $Id: G4VPreCompoundTransitions.hh,v 1.6 2010/08/20 07:42:19 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// J. M. Quesada (May 08). New virtual classes have been added Prob1,2,3 // JMQ (06 September 2008) Also external choices have been added for: // - "never go back" hipothesis (useNGB=true) // - CEM transition probabilities (useCEMtr=true) +// 20.08.2010 V.Ivanchenko move constructor and destructor to the source #ifndef G4VPreCompoundTransitions_hh #define G4VPreCompoundTransitions_hh 1 @@ -37,24 +41,53 @@ class G4VPreCompoundTransitions { public: - G4VPreCompoundTransitions():useNGB(false),useCEMtr(false) {} - virtual ~G4VPreCompoundTransitions() {} + G4VPreCompoundTransitions(); + virtual ~G4VPreCompoundTransitions(); virtual G4double CalculateProbability(const G4Fragment& aFragment) = 0; - virtual G4Fragment PerformTransition(const G4Fragment& aFragment) = 0; -//J. M. Quesada (May.08) New virtual classes - virtual G4double GetTransitionProb1()=0; - virtual G4double GetTransitionProb2()=0; - virtual G4double GetTransitionProb3()=0; + virtual void PerformTransition(G4Fragment& aFragment) = 0; + + inline G4double GetTransitionProb1() const; + + inline G4double GetTransitionProb2() const; + + inline G4double GetTransitionProb3() const; // for never go back hypothesis (if useNGB=true, default=false) inline void UseNGB(G4bool use){useNGB=use;} //for use of CEM transition probabilities (if useCEMtr=true, defaut false) inline void UseCEMtr(G4bool use){useCEMtr=use;} +private: + + G4VPreCompoundTransitions(const G4VPreCompoundTransitions &); + const G4VPreCompoundTransitions& operator=(const G4VPreCompoundTransitions &right); + G4bool operator==(const G4VPreCompoundTransitions &right) const; + G4bool operator!=(const G4VPreCompoundTransitions &right) const; + protected: + G4bool useNGB; G4bool useCEMtr; + + G4double TransitionProb1; + G4double TransitionProb2; + G4double TransitionProb3; }; + //J. M.Quesada (May. 08) + inline G4double G4VPreCompoundTransitions::GetTransitionProb1() const + { + return TransitionProb1; + } + inline G4double G4VPreCompoundTransitions::GetTransitionProb2() const + { + return TransitionProb2; + } + inline G4double G4VPreCompoundTransitions::GetTransitionProb3() const + { + return TransitionProb3; + } + + #endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/sources.cmake b/source/processes/hadronic/models/pre_equilibrium/exciton_model/sources.cmake new file mode 100644 index 0000000000..0597f7627d --- /dev/null +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/sources.cmake @@ -0,0 +1,159 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4had_preequ_exciton +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_preequ.G4had_preequ_exciton +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/09/29 20:27:59 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/shortlived/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/fermi_breakup/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/handler/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/multifragmentation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/photon_evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4had_preequ_exciton + HEADERS + G4GNASHTransitions.hh + G4HETCAlpha.hh + G4HETCChargedFragment.hh + G4HETCDeuteron.hh + G4HETCEmissionFactory.hh + G4HETCFragment.hh + G4HETCFragment.icc + G4HETCHe3.hh + G4HETCNeutron.hh + G4HETCProton.hh + G4HETCTriton.hh + G4LowEIonFragmentation.hh + G4PreCompoundAlpha.hh + G4PreCompoundDeuteron.hh + G4PreCompoundEmission.hh + G4PreCompoundEmission.icc + G4PreCompoundEmissionFactory.hh + G4PreCompoundFragment.hh + G4PreCompoundFragmentVector.hh + G4PreCompoundFragmentVector.icc + G4PreCompoundHe3.hh + G4PreCompoundIon.hh + G4PreCompoundModel.hh + G4PreCompoundNeutron.hh + G4PreCompoundNucleon.hh + G4PreCompoundParameters.hh + G4PreCompoundProton.hh + G4PreCompoundTransitions.hh + G4PreCompoundTriton.hh + G4VPreCompoundEmissionFactory.hh + G4VPreCompoundFragment.hh + G4VPreCompoundFragment.icc + G4VPreCompoundTransitions.hh + SOURCES + G4GNASHTransitions.cc + G4HETCAlpha.cc + G4HETCChargedFragment.cc + G4HETCDeuteron.cc + G4HETCEmissionFactory.cc + G4HETCFragment.cc + G4HETCHe3.cc + G4HETCNeutron.cc + G4HETCProton.cc + G4HETCTriton.cc + G4LowEIonFragmentation.cc + G4PreCompoundAlpha.cc + G4PreCompoundDeuteron.cc + G4PreCompoundEmission.cc + G4PreCompoundEmissionFactory.cc + G4PreCompoundFragment.cc + G4PreCompoundFragmentVector.cc + G4PreCompoundHe3.cc + G4PreCompoundIon.cc + G4PreCompoundModel.cc + G4PreCompoundNeutron.cc + G4PreCompoundNucleon.cc + G4PreCompoundParameters.cc + G4PreCompoundProton.cc + G4PreCompoundTransitions.cc + G4PreCompoundTriton.cc + G4VPreCompoundEmissionFactory.cc + G4VPreCompoundFragment.cc + G4VPreCompoundTransitions.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_mod_man + G4had_mod_util + G4hadronic_deex_evaporation + G4hadronic_deex_fermi_breakup + G4hadronic_deex_handler + G4hadronic_deex_management + G4hadronic_deex_multifragmentation + G4hadronic_deex_photon_evaporation + G4hadronic_deex_util + G4hadronic_mgt + G4hadronic_proc + G4hadronic_util + G4hadronic_xsect + G4hepnumerics + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4shortlived + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4GNASHTransitions.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4GNASHTransitions.cc index e0bd6b0368..ba9d6458a5 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4GNASHTransitions.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4GNASHTransitions.cc @@ -23,27 +23,20 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4GNASHTransitions.cc,v 1.6 2010/08/20 07:42:19 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// 20.08.2010 V.Ivanchenko move constructor and destructor to the source + #include "G4GNASHTransitions.hh" #include "G4PreCompoundParameters.hh" #include "G4HadronicException.hh" -const G4GNASHTransitions & G4GNASHTransitions:: -operator=(const G4GNASHTransitions & ) -{ - throw G4HadronicException(__FILE__, __LINE__, "G4GNASHTransitions::operator= meant to not be accesable"); - return *this; -} - -G4bool G4GNASHTransitions::operator==(const G4GNASHTransitions & ) const -{ - return false; -} - -G4bool G4GNASHTransitions::operator!=(const G4GNASHTransitions & ) const -{ - return true; -} +G4GNASHTransitions::G4GNASHTransitions() +{} +G4GNASHTransitions::~G4GNASHTransitions() +{} G4double G4GNASHTransitions:: CalculateProbability(const G4Fragment & aFragment) @@ -71,14 +64,11 @@ CalculateProbability(const G4Fragment & aFragment) Probability /= 2.0*(N+1.0)*h_Planck; Probability *= theMatrixElement; - return Probability; } -G4Fragment G4GNASHTransitions:: -PerformTransition(const G4Fragment & aFragment) +void G4GNASHTransitions::PerformTransition(G4Fragment & result) { - G4Fragment result(aFragment); result.SetNumberOfParticles(result.GetNumberOfParticles()+1); result.SetNumberOfHoles(result.GetNumberOfHoles()+1); if (G4UniformRand() <= result.GetZ()/result.GetA()) @@ -90,6 +80,4 @@ PerformTransition(const G4Fragment & aFragment) { result.SetNumberOfCharged(result.GetNumberOfParticles()); } - - return result; } diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCAlpha.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCAlpha.cc index d22e21ce9d..217d9e4ab5 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCAlpha.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCAlpha.cc @@ -23,23 +23,71 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCAlpha.cc,v 1.4 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow + #include "G4HETCAlpha.hh" +#include "G4Alpha.hh" + +G4HETCAlpha::G4HETCAlpha() + : G4HETCChargedFragment(G4Alpha::Alpha(), &theAlphaCoulombBarrier) +{} + +G4HETCAlpha::~G4HETCAlpha() +{} + +G4double G4HETCAlpha::GetAlpha() +{ + G4double C = 0.0; + G4int aZ = GetZ() + GetRestZ(); + if (aZ <= 30) + { + C = 0.10; + } + else if (aZ <= 50) + { + C = 0.1 + -((aZ-50.)/20.)*0.02; + } + else if (aZ < 70) + { + C = 0.08 + -((aZ-70.)/20.)*0.02; + } + else + { + C = 0.06; + } + return 1.0+C; +} + +G4double G4HETCAlpha::GetBeta() +{ + return -GetCoulombBarrier(); +} + +G4double G4HETCAlpha::GetSpinFactor() +{ + return 1.0; +} G4double G4HETCAlpha::K(const G4Fragment & aFragment) { - if (GetStage() != 1) return 1.0; - // Number of protons in projectile - G4double Pa = static_cast(aFragment.GetParticleDefinition()->GetPDGCharge()); - // Number of neutrons in projectile - G4double Na = aFragment.GetParticleDefinition()->GetBaryonNumber(); - G4double TargetA = aFragment.GetA() - Na; - G4double TargetZ = aFragment.GetZ() - Pa; - Na -= Pa; - G4double r = TargetZ/TargetA; + // Number of protons in emitted fragment + G4int Pa = GetZ(); + // Number of neutrons in emitted fragment + G4int Na = GetA() - Pa; - - G4double P = aFragment.GetNumberOfParticles(); - G4double H = aFragment.GetNumberOfHoles(); + G4int TargetZ = GetRestZ(); + G4int TargetA = GetRestA(); + G4double r = G4double(TargetZ)/G4double(TargetA); + + G4int P = aFragment.GetNumberOfParticles(); + G4int H = aFragment.GetNumberOfHoles(); G4double result = 0.0; if (P > 3) @@ -51,9 +99,7 @@ G4double G4HETCAlpha::K(const G4Fragment & aFragment) 2*H*(Pa*Na*(Na-1.0)*r+Pa*(Pa-1.0)*Na*(1.0-r)) + Pa*(Pa-1.0)*Na*(Na-1.0)); - result /= 6.0*std::pow((TargetZ/TargetA)*((TargetA-TargetZ)/TargetA),2.0); + result /= 6.0*r*r*(1. - r) *(1. - r); } - return std::max(0.0,result); - } diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCChargedFragment.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCChargedFragment.cc index 3d3307ad31..99960e4efe 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCChargedFragment.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCChargedFragment.cc @@ -23,28 +23,40 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCChargedFragment.cc,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow +// #include "G4HETCChargedFragment.hh" +#include "G4VCoulombBarrier.hh" #include "G4PreCompoundParameters.hh" +G4HETCChargedFragment::G4HETCChargedFragment( + const G4ParticleDefinition* pd, G4VCoulombBarrier * aCoulombBarrier) + : G4HETCFragment(pd, aCoulombBarrier) +{} + +G4HETCChargedFragment::~G4HETCChargedFragment() +{} G4double G4HETCChargedFragment:: GetKineticEnergy(const G4Fragment & aFragment) { - // Number of protons in projectile - G4double Pa = aFragment.GetParticleDefinition()->GetPDGCharge(); - // Number of neutrons in projectile - G4double Na = aFragment.GetParticleDefinition()->GetBaryonNumber(); - Na -= Pa; - - G4double Pb = aFragment.GetNumberOfParticles(); - G4double H = aFragment.GetNumberOfHoles(); + G4int Pb = aFragment.GetNumberOfParticles(); + G4int H = aFragment.GetNumberOfHoles(); - G4double Ab = std::max(0.0,(Pb*Pb+H*H+Pb-3*H)/4.0); + G4double g0 = (6.0/pi2)*aFragment.GetA_asInt()*theParameters->GetLevelDensity(); + + G4double Ab = std::max(0.0,G4double(Pb*Pb+H*H+Pb-3*H)/(4.0*g0)); G4double Emax = GetMaximalKineticEnergy() - Ab; - G4double x = BetaRand(static_cast(Pb+H),2); + G4double x = BetaRand(Pb + H, 2); return Emax - (Emax-GetCoulombBarrier())*x; } diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCDeuteron.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCDeuteron.cc index 3c5621841b..a4fe7d4d36 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCDeuteron.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCDeuteron.cc @@ -23,32 +23,71 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCDeuteron.cc,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow + #include "G4HETCDeuteron.hh" +#include "G4Deuteron.hh" + +G4HETCDeuteron::G4HETCDeuteron() + : G4HETCChargedFragment(G4Deuteron::Deuteron(), &theDeuteronCoulombBarrier) +{} + +G4HETCDeuteron::~G4HETCDeuteron() +{} + +G4double G4HETCDeuteron::GetAlpha() +{ + G4double C = 0.0; + G4int aZ = GetZ() + GetRestZ(); + if (aZ >= 70) + { + C = 0.10; + } + else + { + C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375; + } + return 1.0 + C/2.0; +} + +G4double G4HETCDeuteron::GetBeta() +{ + return -GetCoulombBarrier(); +} + +G4double G4HETCDeuteron::GetSpinFactor() +{ + // 2s+1 + return 3.0; +} G4double G4HETCDeuteron::K(const G4Fragment & aFragment) { - if (GetStage() != 1) return 1.0; - // Number of protons in projectile - G4double Pa = static_cast(aFragment.GetParticleDefinition()->GetPDGCharge()); - // Number of neutrons in projectile - G4double Na = aFragment.GetParticleDefinition()->GetBaryonNumber(); - G4double TargetA = aFragment.GetA() - Na; - G4double TargetZ = aFragment.GetZ() - Pa; - Na -= Pa; - G4double r = TargetZ/TargetA; + // Number of protons in emitted fragment + G4int Pa = GetZ(); + // Number of neutrons in emitted fragment + G4int Na = GetA() - Pa; + G4int TargetZ = GetRestZ(); + G4int TargetA = GetRestA(); + G4double r = G4double(TargetZ)/G4double(TargetA); - G4double P = aFragment.GetNumberOfParticles(); - G4double H = aFragment.GetNumberOfHoles(); + G4int P = aFragment.GetNumberOfParticles(); + G4int H = aFragment.GetNumberOfHoles(); G4double result = 0.0; if (P > 1) { result = 2.0* (H*(H-1.0)*r*(r-1.0)+H*(Na*r+Pa*(1.0-r)) + Pa*Na)/(P*(P-1.0)); - result /= (TargetZ/TargetA)*((TargetA-TargetZ)/TargetA); + result /= r*(1.0 - r); } - return std::max(0.0,result); - } diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCEmissionFactory.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCEmissionFactory.cc index 1d107401d7..9cd4286bdc 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCEmissionFactory.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCEmissionFactory.cc @@ -23,6 +23,16 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCEmissionFactory.cc,v 1.5 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source +// + #include "G4HETCEmissionFactory.hh" #include "G4HETCNeutron.hh" @@ -32,28 +42,11 @@ #include "G4HETCHe3.hh" #include "G4HETCAlpha.hh" +G4HETCEmissionFactory::G4HETCEmissionFactory() +{} -const G4HETCEmissionFactory & G4HETCEmissionFactory:: -operator=(const G4HETCEmissionFactory & ) -{ - throw G4HadronicException(__FILE__, __LINE__, "G4HETCEmissionFactory::operator= meant to not be accessable."); - return *this; -} - -G4bool G4HETCEmissionFactory:: -operator==(const G4HETCEmissionFactory & ) const -{ - throw G4HadronicException(__FILE__, __LINE__, "G4HETCEmissionFactory::operator== meant to not be accessable."); - return false; -} - -G4bool G4HETCEmissionFactory:: -operator!=(const G4HETCEmissionFactory & ) const -{ - throw G4HadronicException(__FILE__, __LINE__, "G4HETCEmissionFactory::operator!= meant to not be accessable."); - return true; -} - +G4HETCEmissionFactory::~G4HETCEmissionFactory() +{} std::vector * G4HETCEmissionFactory:: CreateFragmentVector() diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCFragment.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCFragment.cc index fb69234c30..ecd4c33e8d 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCFragment.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCFragment.cc @@ -23,65 +23,48 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCFragment.cc,v 1.4 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow #include "G4HETCFragment.hh" #include "G4PreCompoundParameters.hh" G4HETCFragment:: -G4HETCFragment(const G4HETCFragment & right) : - G4VPreCompoundFragment(right) +G4HETCFragment(const G4ParticleDefinition* part, + G4VCoulombBarrier* aCoulombBarrier) + : G4VPreCompoundFragment(part, aCoulombBarrier) { + G4double r0 = theParameters->Getr0(); + r2norm = r0*r0/(CLHEP::pi*CLHEP::hbarc*CLHEP::hbarc*CLHEP::hbarc); } -G4HETCFragment:: -G4HETCFragment(const G4double anA, - const G4double aZ, - G4VCoulombBarrier* aCoulombBarrier, - const G4String & aName) : - G4VPreCompoundFragment(anA,aZ,aCoulombBarrier,aName) -{} - G4HETCFragment::~G4HETCFragment() -{ -} - -const G4HETCFragment & G4HETCFragment:: -operator= (const G4HETCFragment & right) -{ - if (&right != this) this->G4VPreCompoundFragment::operator=(right); - return *this; -} - -G4int G4HETCFragment::operator==(const G4HETCFragment & right) const -{ - return G4VPreCompoundFragment::operator==(right); -} - -G4int G4HETCFragment::operator!=(const G4HETCFragment & right) const -{ - return G4VPreCompoundFragment::operator!=(right); -} - - +{} G4double G4HETCFragment:: CalcEmissionProbability(const G4Fragment & aFragment) { if (GetEnergyThreshold() <= 0.0) - { + { theEmissionProbability = 0.0; return 0.0; - } + } // Coulomb barrier is the lower limit // of integration over kinetic energy G4double LowerLimit = theCoulombBarrier; // Excitation energy of nucleus after fragment emission is the upper limit // of integration over kinetic energy - G4double UpperLimit = this->GetMaximalKineticEnergy(); + G4double UpperLimit = GetMaximalKineticEnergy(); - theEmissionProbability = IntegrateEmissionProbability(LowerLimit,UpperLimit,aFragment); + theEmissionProbability = + IntegrateEmissionProbability(LowerLimit,UpperLimit,aFragment); return theEmissionProbability; } @@ -91,30 +74,28 @@ IntegrateEmissionProbability(const G4double & Low, const G4double & Up, const G4Fragment & aFragment) { - if ( !IsItPossible(aFragment) ) return 0.0; - - const G4double r0 = G4PreCompoundParameters::GetAddress()->Getr0(); + if ( !IsItPossible(aFragment) ) { return 0.0; } G4double U = aFragment.GetExcitationEnergy(); - G4double P = aFragment.GetNumberOfParticles(); - G4double H = aFragment.GetNumberOfHoles(); - G4double N = P + H; - G4double Pb = P - GetA(); - G4double Nb = Pb + H; - if (Nb <= 0.0) return 0.0; - - G4double A = (P*P+H*H+P-3*H)/4.0; - G4double Ab = (Pb*Pb+H*H+Pb-3*H)/4.0; + + G4int P = aFragment.GetNumberOfParticles(); + G4int H = aFragment.GetNumberOfHoles(); + G4int N = P + H; + G4int Pb = P - GetA(); + G4int Nb = Pb + H; + if (Nb <= 0.0) { return 0.0; } + G4double g = (6.0/pi2)*aFragment.GetA()*theParameters->GetLevelDensity(); + G4double gb = (6.0/pi2)*GetRestA()*theParameters->GetLevelDensity(); + + G4double A = G4double(P*P+H*H+P-3*H)/(4.0*g); + G4double Ab = G4double(Pb*Pb+H*H+Pb-3*H)/(4.0*gb); U = std::max(U-A,0.0); - if (U <= 0.0) return 0.0; + if (U <= 0.0) { return 0.0; } - G4double g = (6.0/pi2)*aFragment.GetA()*G4PreCompoundParameters::GetAddress()->GetLevelDensity(); - G4double gb = (6.0/pi2)*GetRestA()*G4PreCompoundParameters::GetAddress()->GetLevelDensity(); - - G4double Pf = P; - G4double Hf = H; - G4double Nf = N-1.0; - for (G4int i = 1; i < GetA(); i++) + G4int Pf = P; + G4int Hf = H; + G4int Nf = N-1; + for (G4int i = 1; i < GetA(); ++i) { Pf *= (P-i); Hf *= (H-i); @@ -124,9 +105,15 @@ IntegrateEmissionProbability(const G4double & Low, const G4double & Up, G4double X = std::max(Up - Ab + GetBeta(),0.0); G4double Y = std::max(Up - Ab - Low, 0.0); - G4double Probability = GetSpinFactor()/(pi*hbarc*hbarc*hbarc) * GetReducedMass() * GetAlpha() * - r0 * r0 * std::pow(GetRestA(),2.0/3.0)/std::pow(U,N-1) * (std::pow(gb,Nb)/std::pow(g,N)) * Pf * Hf * Nf * K(aFragment) * - std::pow(Y,Nb) * (X/Nb - Y/(Nb+1)); + G4double Probability = r2norm*GetSpinFactor()*GetReducedMass()*GetAlpha() + *g4pow->Z23(GetRestA())*Pf*Hf*Nf*K(aFragment)*(X/Nb - Y/(Nb+1)) + *U*g4pow->powN(g*gb,Nb)/g4pow->powN(g*U,N); + + // G4double Probability = GetSpinFactor()/(pi*hbarc*hbarc*hbarc) + // * GetReducedMass() * GetAlpha() * + // r0 * r0 * std::pow->Z23(GetRestA())/std::pow->pow(U,G4double(N-1)) * + // (std::pow->(gb,Nb)/std::pow(g,N)) * Pf * Hf * Nf * K(aFragment) * + // std::pow(Y,Nb) * (X/Nb - Y/(Nb+1)); return Probability; } diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCHe3.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCHe3.cc index 786f08dcfd..664506ccb1 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCHe3.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCHe3.cc @@ -23,24 +23,72 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCHe3.cc,v 1.4 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow + #include "G4HETCHe3.hh" +#include "G4He3.hh" + +G4HETCHe3::G4HETCHe3() + : G4HETCChargedFragment(G4He3::He3(), &theHe3CoulombBarrier) +{} + +G4HETCHe3::~G4HETCHe3() +{} + +G4double G4HETCHe3::GetAlpha() +{ + G4double C = 0.0; + G4int aZ = GetZ() + GetRestZ(); + if (aZ <= 30) + { + C = 0.10; + } + else if (aZ <= 50) + { + C = 0.1 + -((aZ-50.)/20.)*0.02; + } + else if (aZ < 70) + { + C = 0.08 + -((aZ-70.)/20.)*0.02; + } + else + { + C = 0.06; + } + return 1.0 + C*(4.0/3.0); +} + +G4double G4HETCHe3::GetBeta() +{ + return -GetCoulombBarrier(); +} + +G4double G4HETCHe3::GetSpinFactor() +{ + // 2s+1 + return 2.0; +} G4double G4HETCHe3::K(const G4Fragment & aFragment) { - if (GetStage() != 1) return 1.0; - // Number of protons in projectile - G4double Pa = static_cast(aFragment.GetParticleDefinition()->GetPDGCharge()); - // Number of neutrons in projectile - G4double Na = aFragment.GetParticleDefinition()->GetBaryonNumber(); - G4double TargetA = aFragment.GetA() - Na; - G4double TargetZ = aFragment.GetZ() - Pa; - Na -= Pa; - G4double r = TargetZ/TargetA; + // Number of protons in emitted fragment + G4int Pa = GetZ(); + // Number of neutrons in emitted fragment + G4int Na = GetA() - Pa; + G4int TargetZ = GetRestZ(); + G4int TargetA = GetRestA(); + G4double r = G4double(TargetZ)/G4double(TargetA); - - G4double P = aFragment.GetNumberOfParticles(); - G4double H = aFragment.GetNumberOfHoles(); + G4int P = aFragment.GetNumberOfParticles(); + G4int H = aFragment.GetNumberOfHoles(); G4double result = 0.0; if (P > 2) @@ -51,9 +99,7 @@ G4double G4HETCHe3::K(const G4Fragment & aFragment) H*(Pa*(Pa-1.0)*(r-1.0)+2.0*Na*Pa*r) + Pa*Na*(Pa-1.0)); - result /= 3.0*std::pow(TargetZ/TargetA, 2.0) * ((TargetA-TargetZ)/TargetA); + result /= 3.0*r*r*(1.0 - r); } - return std::max(0.0,result); - } diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCNeutron.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCNeutron.cc index b3aa67271c..b128e3701b 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCNeutron.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCNeutron.cc @@ -23,53 +23,83 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -#include "G4HETCNeutron.hh" +// $Id: G4HETCNeutron.cc,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow +#include "G4HETCNeutron.hh" +#include "G4Neutron.hh" + +G4HETCNeutron::G4HETCNeutron() + : G4HETCFragment(G4Neutron::Neutron(), &theNeutronCoulombBarrier) +{} + +G4HETCNeutron::~G4HETCNeutron() +{} + +G4double G4HETCNeutron::GetAlpha() +{ + return 0.76+2.2/g4pow->Z13(GetRestA()); +} + +G4double G4HETCNeutron::GetBeta() +{ + return (2.12/g4pow->Z23(GetRestA())-0.05)*MeV/GetAlpha(); +} + +G4double G4HETCNeutron::GetSpinFactor() +{ + // (2s+1) + return 2.0; +} + G4double G4HETCNeutron::K(const G4Fragment & aFragment) { - if (GetStage() != 1) return 1.0; - // Number of protons in projectile - G4double Pa = static_cast(aFragment.GetParticleDefinition()->GetPDGCharge()); - // Number of neutrons in projectile - G4double Na = aFragment.GetParticleDefinition()->GetBaryonNumber(); - G4double TargetA = aFragment.GetA() - Na; - G4double TargetZ = aFragment.GetZ() - Pa; - Na -= Pa; - G4double r = TargetZ/TargetA; + // Number of protons in emitted fragment + G4int Pa = GetZ(); + // Number of neutrons in emitted fragment + G4int Na = GetA() - Pa; + + G4int TargetZ = GetRestZ(); + G4int TargetA = GetRestA(); + G4double r = G4double(TargetZ)/G4double(TargetA); - G4double P = aFragment.GetNumberOfParticles(); - G4double H = aFragment.GetNumberOfHoles(); + G4int P = aFragment.GetNumberOfParticles(); + G4int H = aFragment.GetNumberOfHoles(); G4double result = 0.0; if (P > 0) { - result = (H*(1.0-r)+Na)/P; - - result /= (TargetA-TargetZ)/TargetA; + result = (H + Na/(1.0-r))/P; } return std::max(0.0,result); } - G4double G4HETCNeutron::GetKineticEnergy(const G4Fragment & aFragment) { - G4double H = aFragment.GetNumberOfHoles(); - G4double Pb = aFragment.GetNumberOfParticles() - GetA(); - G4double Nb = Pb + H; + G4int H = aFragment.GetNumberOfHoles(); + G4int Pb = aFragment.GetNumberOfParticles(); + G4int Nb = Pb + H; + G4double g0 = (6.0/pi2)*aFragment.GetA_asInt()*theParameters->GetLevelDensity(); - G4double Ab = std::max(0.0,(Pb*Pb+H*H+Pb-3*H)/4.0); + G4double Ab = std::max(0.0,G4double(Pb*Pb+H*H+Pb-3*H)/(4.0*g0)); G4double Emax = GetMaximalKineticEnergy() - Ab; - G4double cut = GetBeta() / (GetBeta()+Emax/(Nb+1)); + G4double cut = GetBeta() / (GetBeta()+Emax/G4double(Nb+1)); G4double x(0.0); if (G4UniformRand() <= cut) { - x = BetaRand(static_cast(Nb),1); + x = BetaRand(Nb,1); } else { - x = BetaRand(static_cast(Nb),2); + x = BetaRand(Nb,2); } return Emax * (1.0 - x); diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCProton.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCProton.cc index 176a8b949e..6353fd7e69 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCProton.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCProton.cc @@ -23,30 +23,67 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCProton.cc,v 1.3 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow + #include "G4HETCProton.hh" +#include "G4Proton.hh" + +G4HETCProton::G4HETCProton() + : G4HETCChargedFragment(G4Proton::Proton(), &theProtonCoulombBarrier) +{} + +G4HETCProton::~G4HETCProton() +{} + +G4double G4HETCProton::GetAlpha() +{ + G4int aZ = GetRestZ(); + G4double C = 0.0; + if (aZ >= 70) + { + C = 0.10; + } + else + { + C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375; + } + return 1.0 + C; +} + +G4double G4HETCProton::GetBeta() +{ + return -GetCoulombBarrier(); +} + +G4double G4HETCProton::GetSpinFactor() +{ + // 2s+1 + return 2.0; +} G4double G4HETCProton::K(const G4Fragment & aFragment) { - if (GetStage() != 1) return 1.0; - // Number of protons in projectile - G4double Pa = static_cast(aFragment.GetParticleDefinition()->GetPDGCharge()); - // Number of neutrons in projectile - G4double Na = aFragment.GetParticleDefinition()->GetBaryonNumber(); - G4double TargetA = aFragment.GetA() - Na; - G4double TargetZ = aFragment.GetZ() - Pa; - Na -= Pa; - G4double r = TargetZ/TargetA; + // Number of protons in emitted fragment + G4int Pa = GetZ(); + G4int TargetZ = GetRestZ(); + G4int TargetA = GetRestA(); + G4double r = G4double(TargetZ)/G4double(TargetA); - G4double P = aFragment.GetNumberOfParticles(); - G4double H = aFragment.GetNumberOfHoles(); + G4int P = aFragment.GetNumberOfParticles(); + G4int H = aFragment.GetNumberOfHoles(); G4double result = 0.0; if (P > 0) { - result = (H*r + Pa)/P; - - result /= TargetZ/TargetA; + result = (H*r + Pa)/P/r; } return std::max(0.0,result); diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCTriton.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCTriton.cc index 6e1c3dd301..3da9f5de5a 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCTriton.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCTriton.cc @@ -23,23 +23,65 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4HETCTriton.cc,v 1.4 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// by V. Lara +// +// Modified: +// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor +// the source, use G4Pow + #include "G4HETCTriton.hh" +#include "G4Triton.hh" + +G4HETCTriton::G4HETCTriton() + : G4HETCChargedFragment(G4Triton::Triton(), &theTritonCoulombBarrier) +{} + +G4HETCTriton::~G4HETCTriton() +{} + +G4double G4HETCTriton::GetAlpha() +{ + G4double C = 0.0; + G4int aZ = GetZ() + GetRestZ(); + if (aZ >= 70) + { + C = 0.10; + } + else + { + C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375; + } + + return 1.0 + C/3.0; +} + +G4double G4HETCTriton::GetBeta() +{ + return -GetCoulombBarrier(); +} + +G4double G4HETCTriton::GetSpinFactor() +{ + // 2s+1 + return 2.0; +} G4double G4HETCTriton::K(const G4Fragment & aFragment) { - if (GetStage() != 1) return 1.0; - // Number of protons in projectile - G4double Pa = static_cast(aFragment.GetParticleDefinition()->GetPDGCharge()); - // Number of neutrons in projectile - G4double Na = aFragment.GetParticleDefinition()->GetBaryonNumber(); - G4double TargetA = aFragment.GetA() - Na; - G4double TargetZ = aFragment.GetZ() - Pa; - Na -= Pa; - G4double r = TargetZ/TargetA; + // Number of protons in emitted fragment + G4int Pa = GetZ(); + // Number of neutrons in emitted fragment + G4int Na = GetA() - Pa; - - G4double P = aFragment.GetNumberOfParticles(); - G4double H = aFragment.GetNumberOfHoles(); + G4int TargetZ = GetRestZ(); + G4int TargetA = GetRestA(); + G4double r = G4double(TargetZ)/G4double(TargetA); + + G4int P = aFragment.GetNumberOfParticles(); + G4int H = aFragment.GetNumberOfHoles(); G4double result = 0.0; if (P > 2) @@ -50,9 +92,7 @@ G4double G4HETCTriton::K(const G4Fragment & aFragment) H*(Na*(Na-1.0)*r+2.0*Na*Pa*(1.0-r)) + Pa*Na*(Na-1.0)); - result /= 3.0*(TargetZ/TargetA)*std::pow((TargetA-TargetZ)/TargetA,2.0); + result /= 3.0*r*(1.0 - r)*(1.0 - r); } - return std::max(0.0,result); - } diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4LowEIonFragmentation.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4LowEIonFragmentation.cc index 69af9fd77b..c1a8670902 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4LowEIonFragmentation.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4LowEIonFragmentation.cc @@ -23,13 +23,50 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4LowEIonFragmentation.cc,v 1.8 2010/10/28 17:34:33 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +//--------------------------------------------------------------------------- +// +// ClassName: G4LowEIonFragmentation +// +// Author: H.P. Wellisch +// +// Modified: +// 02 Jun 2010 M. A. Cortes Giraldo fix: particlesFromTarget must be +// accounted for as particles of initial compound nucleus +// 28 Oct 2010 V.Ivanchenko complete migration to integer Z and A; +// use updated G4Fragment methods + #include "G4LowEIonFragmentation.hh" +#include "G4Fancy3DNucleus.hh" +#include "G4Proton.hh" +#include "G4NucleiProperties.hh" #include G4int G4LowEIonFragmentation::hits = 0; G4int G4LowEIonFragmentation::totalTries = 0; G4double G4LowEIonFragmentation::area = 0; +G4LowEIonFragmentation::G4LowEIonFragmentation(G4ExcitationHandler * const value) +{ + theHandler = value; + theModel = new G4PreCompoundModel(theHandler); + proton = G4Proton::Proton(); +} + +G4LowEIonFragmentation::G4LowEIonFragmentation() +{ + theHandler = new G4ExcitationHandler; + theModel = new G4PreCompoundModel(theHandler); + proton = G4Proton::Proton(); +} + +G4LowEIonFragmentation::~G4LowEIonFragmentation() +{ + delete theModel; +} + G4HadFinalState * G4LowEIonFragmentation:: ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus) { @@ -40,12 +77,12 @@ ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus) theResult.SetEnergyChange( 0.0 ); // Get Target A, Z - G4double aTargetA = theNucleus.GetN(); - G4double aTargetZ = theNucleus.GetZ(); + G4int aTargetA = theNucleus.GetA_asInt(); + G4int aTargetZ = theNucleus.GetZ_asInt(); // Get Projectile A, Z - G4double aProjectileA = thePrimary.GetDefinition()->GetBaryonNumber(); - G4double aProjectileZ = thePrimary.GetDefinition()->GetPDGCharge(); + G4int aProjectileA = thePrimary.GetDefinition()->GetBaryonNumber(); + G4int aProjectileZ = G4lrint(thePrimary.GetDefinition()->GetPDGCharge()/eplus); // Get Maximum radius of both @@ -74,14 +111,14 @@ ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus) } while(x*x + y*y > 1); impactParameter = std::sqrt(x*x+y*y)*(targetOuterRadius+projectileOuterRadius); - totalTries++; + ++totalTries; area = pi*(targetOuterRadius+projectileOuterRadius)* (targetOuterRadius+projectileOuterRadius); G4double projectileHorizon = impactParameter-targetOuterRadius; // Empirical boundary transparency. G4double empirical = G4UniformRand(); - if(projectileHorizon/projectileOuterRadius>empirical) continue; + if(projectileHorizon > empirical*projectileOuterRadius) { continue; } // Calculate the number of nucleons involved in collision // From projectile @@ -91,15 +128,15 @@ ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus) if(pNucleon->GetPosition().y()>projectileHorizon) { // We have one - particlesFromProjectile++; - if(pNucleon->GetParticleType()==G4Proton::ProtonDefinition()) + ++particlesFromProjectile; + if(pNucleon->GetParticleType() == proton) { - chargedFromProjectile++; + ++chargedFromProjectile; } } } } - hits ++; + ++hits; // From target: G4double targetHorizon = impactParameter-projectileOuterRadius; @@ -111,92 +148,84 @@ ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus) if(pNucleon->GetPosition().y()>targetHorizon) { // We have one - particlesFromTarget++; - if(pNucleon->GetParticleType()==G4Proton::ProtonDefinition()) + ++particlesFromTarget; + if(pNucleon->GetParticleType() == proton) { - chargedFromTarget++; + ++chargedFromTarget; } } } - // Energy sharing between projectile and target. Note that this is a quite simplistic kinetically. - G4ThreeVector exciton3Momentum = thePrimary.Get4Momentum().vect(); - exciton3Momentum *= particlesFromProjectile/aProjectileA; + // Energy sharing between projectile and target. + // Note that this is a quite simplistic kinetically. + G4ThreeVector momentum = thePrimary.Get4Momentum().vect(); + G4double w = (G4double)particlesFromProjectile/(G4double)aProjectileA; - G4double compoundEnergy = thePrimary.GetTotalEnergy()*particlesFromProjectile/aProjectileA; - G4double targetMass = G4ParticleTable::GetParticleTable() - ->GetIonTable()->GetIonMass(static_cast(aTargetZ) ,static_cast(aTargetA)); - compoundEnergy += targetMass; - G4LorentzVector fragment4Momentum(exciton3Momentum, compoundEnergy); + G4double projTotEnergy = thePrimary.GetTotalEnergy(); + G4double targetMass = G4NucleiProperties::GetNuclearMass(aTargetA, aTargetZ); + G4LorentzVector fragment4Momentum(momentum*w, projTotEnergy*w + targetMass); // take the nucleons and fill the Fragments - G4Fragment anInitialState; - anInitialState.SetA(aTargetA+particlesFromProjectile); - anInitialState.SetZ(aTargetZ+chargedFromProjectile); - anInitialState.SetNumberOfParticles(particlesFromProjectile); - anInitialState.SetNumberOfHoles(particlesFromTarget); - anInitialState.SetNumberOfCharged(chargedFromProjectile + chargedFromTarget); - anInitialState.SetMomentum(fragment4Momentum); + G4Fragment anInitialState(aTargetA+particlesFromProjectile, + aTargetZ+chargedFromProjectile, + fragment4Momentum); + // M.A. Cortes fix + //anInitialState.SetNumberOfParticles(particlesFromProjectile); + anInitialState.SetNumberOfExcitedParticle(particlesFromProjectile+particlesFromTarget, + chargedFromProjectile + chargedFromTarget); + anInitialState.SetNumberOfHoles(particlesFromProjectile+particlesFromTarget, + chargedFromProjectile + chargedFromTarget); + G4double time = thePrimary.GetGlobalTime(); + anInitialState.SetCreationTime(time); // Fragment the Fragment using Pre-compound - G4ReactionProductVector* thePreCompoundResult; - thePreCompoundResult = theModel->DeExcite(anInitialState); + G4ReactionProductVector* thePreCompoundResult = theModel->DeExcite(anInitialState); // De-excite the projectile using ExcitationHandler - G4ReactionProductVector * theExcitationResult = 0; - if(particlesFromProjectile != aProjectileA) + if(particlesFromProjectile < aProjectileA) { - G4ThreeVector residual3Momentum = thePrimary.Get4Momentum().vect(); - residual3Momentum -= exciton3Momentum; - G4double residualEnergy = thePrimary.GetTotalEnergy()*(1.-particlesFromProjectile/aProjectileA); - G4LorentzVector residual4Momentum(residual3Momentum, residualEnergy); + G4LorentzVector residual4Momentum(momentum*(1.0-w), projTotEnergy*(1.0-w)); - G4Fragment initialState2; - initialState2.SetA(aProjectileA-particlesFromProjectile); - initialState2.SetZ(aProjectileZ-chargedFromProjectile); - initialState2.SetNumberOfHoles(static_cast((aProjectileA-particlesFromProjectile)/2.0)); - initialState2.SetNumberOfParticles(static_cast((aProjectileZ-chargedFromProjectile)/2.0)); - initialState2.SetNumberOfCharged(static_cast((aProjectileZ-chargedFromProjectile)/2.0)); + G4Fragment initialState2(aProjectileA-particlesFromProjectile, + aProjectileZ-chargedFromProjectile, + residual4Momentum ); + // half of particles are excited (?!) + G4int pinit = (aProjectileA-particlesFromProjectile)/2; + G4int cinit = (aProjectileZ-chargedFromProjectile)/2; + + initialState2.SetNumberOfExcitedParticle(pinit,cinit); + initialState2.SetNumberOfHoles(pinit,cinit); + initialState2.SetCreationTime(time); - initialState2.SetMomentum(residual4Momentum); theExcitationResult = theHandler->BreakItUp(initialState2); } - // Fill the particle change - G4int nSecondaries = 0; - if(theExcitationResult) nSecondaries+=theExcitationResult->size(); - if(thePreCompoundResult) nSecondaries+=thePreCompoundResult->size(); + // Fill the particle change and clear intermediate vectors + G4int nexc = 0; + G4int npre = 0; + if(theExcitationResult) { nexc = theExcitationResult->size(); } + if(thePreCompoundResult) { npre = thePreCompoundResult->size();} - unsigned int k; - if(theExcitationResult!=0) - { - for(k=0; ksize(); k++) - { - G4DynamicParticle* p0 = new G4DynamicParticle; - p0->SetDefinition( theExcitationResult->operator[](k)->GetDefinition() ); - p0->SetMomentum( theExcitationResult->operator[](k)->GetMomentum() ); - theResult.AddSecondary(p0); + if(nexc > 0) { + for(G4int k=0; kGetDefinition(),p->GetMomentum())); + delete p; } } - for(k=0; ksize(); k++) - { - G4DynamicParticle* p0 = new G4DynamicParticle; - p0->SetDefinition(thePreCompoundResult->operator[](k)->GetDefinition()); - p0->SetMomentum(thePreCompoundResult->operator[](k)->GetMomentum()); - theResult.AddSecondary(p0); + if(npre > 0) { + for(G4int k=0; kGetDefinition(),p->GetMomentum())); + delete p; + } } - // clean up - std::for_each(thePreCompoundResult->begin(), thePreCompoundResult->end(), DeleteReactionProduct()); - if(theExcitationResult) - { - std::for_each(theExcitationResult->begin(), theExcitationResult->end(), DeleteReactionProduct()); - } delete thePreCompoundResult; - if(theExcitationResult) delete theExcitationResult; + delete theExcitationResult; // return the particle change return &theResult; diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundAlpha.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundAlpha.cc index 48d99c0996..d27514321a 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundAlpha.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundAlpha.cc @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4PreCompoundAlpha.cc,v 1.5 2009/02/13 18:57:32 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundAlpha.cc,v 1.8 2010/11/02 11:27:27 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -38,72 +37,69 @@ // // Modified: // 21.08.2008 J. M. Quesada add choice of options -// 10.02.2009 J. M. Quesada set default opt1 +// 20.08.2010 V.Ivanchenko added G4Pow and G4PreCompoundParameters pointers +// use int Z and A and cleanup // #include "G4PreCompoundAlpha.hh" +#include "G4Alpha.hh" -G4ReactionProduct * G4PreCompoundAlpha::GetReactionProduct() const +G4PreCompoundAlpha::G4PreCompoundAlpha() + : G4PreCompoundIon(G4Alpha::Alpha(), &theAlphaCoulombBarrier) { - G4ReactionProduct * theReactionProduct = - new G4ReactionProduct(G4Alpha::AlphaDefinition()); - theReactionProduct->SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; -} + ResidualA = GetRestA(); + ResidualZ = GetRestZ(); + theA = GetA(); + theZ = GetZ(); + ResidualAthrd = ResidualA13(); + FragmentAthrd = ResidualAthrd; + FragmentA = theA + ResidualA; +} -G4double G4PreCompoundAlpha::FactorialFactor(const G4double N, const G4double P) +G4PreCompoundAlpha::~G4PreCompoundAlpha() +{} + +G4double G4PreCompoundAlpha::FactorialFactor(G4int N, G4int P) { - return - (N-4.0)*(P-3.0)*( - (((N-3.0)*(P-2.0))/2.0) *( - (((N-2.0)*(P-1.0))/3.0) *( - (((N-1.0)*P)/2.0) - ) - ) - ); + return G4double((N-4)*(P-3)*(N-3)*(P-2)*(N-2)*(P-1)*(N-1)*P)/12.0; } -G4double G4PreCompoundAlpha::CoalescenceFactor(const G4double A) +G4double G4PreCompoundAlpha::CoalescenceFactor(G4int A) { - return 4096.0/(A*A*A); + return 4096.0/G4double(A*A*A); } -G4double G4PreCompoundAlpha::GetRj(const G4int NumberParticles, const G4int NumberCharged) +G4double G4PreCompoundAlpha::GetRj(G4int nParticles, G4int nCharged) { G4double rj = 0.0; - G4double denominator = NumberParticles*(NumberParticles-1)*(NumberParticles-2)*(NumberParticles-3); - if(NumberCharged >=2 && (NumberParticles-NumberCharged) >=2 ) { - rj = 6.0*static_cast(NumberCharged*(NumberCharged-1)*(NumberParticles-NumberCharged)* - (NumberParticles-NumberCharged-1))/static_cast(denominator); + if(nCharged >=2 && (nParticles-nCharged) >=2 ) { + G4double denominator = + G4double(nParticles*(nParticles-1)*(nParticles-2)*(nParticles-3)); + rj = 6.0*nCharged*(nCharged-1)*(nParticles-nCharged)*(nParticles-nCharged-1) + /denominator; } return rj; } -//////////////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////// //J. M. Quesada (Dec 2007-June 2008): New inverse reaction cross sections //OPT=0 Dostrovski's parameterization //OPT=1,2 Chatterjee's paramaterization //OPT=3,4 Kalbach's parameterization // -G4double G4PreCompoundAlpha::CrossSection(const G4double K) +G4double G4PreCompoundAlpha::CrossSection(G4double K) { + ResidualA = GetRestA(); + ResidualZ = GetRestZ(); + theA = GetA(); + theZ = GetZ(); + ResidualAthrd = ResidualA13(); + FragmentA = theA + ResidualA; + FragmentAthrd = g4pow->Z13(FragmentA); - ResidualA=GetRestA(); - ResidualZ=GetRestZ(); - theA=GetA(); - theZ=GetZ(); - ResidualAthrd=std::pow(ResidualA,0.33333); - FragmentA=GetA()+GetRestA(); - FragmentAthrd=std::pow(FragmentA,0.33333); - - - if (OPTxs==0) return GetOpt0( K); - else if( OPTxs==1 || OPTxs==2) return GetOpt12( K); - else if (OPTxs==3 || OPTxs==4) return GetOpt34( K); + if (OPTxs==0) { return GetOpt0( K); } + else if( OPTxs==1 || OPTxs==2) { return GetOpt12( K); } + else if (OPTxs==3 || OPTxs==4) { return GetOpt34( K); } else{ std::ostringstream errOs; errOs << "BAD Alpha CROSS SECTION OPTION !!" <Getr0(); - // cross section is now given in mb (r0 is in mm) for the sake of consistency - //with the rest of the options - return 1.e+25*pi*(r0*ResidualAthrd)*(r0*ResidualAthrd)*GetAlpha()*(1.+GetBeta()/K); -} -// -//---------------- -// G4double G4PreCompoundAlpha::GetAlpha() { G4double C = 0.0; - G4double aZ = GetZ() + GetRestZ(); + G4int aZ = theZ + ResidualZ; if (aZ <= 30) { C = 0.10; } else if (aZ <= 50) { - C = 0.1 + -((aZ-50.)/20.)*0.02; + C = 0.1 - (aZ-30)*0.001; } else if (aZ < 70) { - C = 0.08 + -((aZ-70.)/20.)*0.02; + C = 0.08 - (aZ-50)*0.001; } else { @@ -146,24 +130,17 @@ G4double G4PreCompoundAlpha::GetAlpha() } return 1.0+C; } + // -//-------------------- -// -G4double G4PreCompoundAlpha::GetBeta() -{ - return -GetCoulombBarrier(); -} -// -//********************* OPT=1,2 : Chatterjee's cross section ************************ +//********************* OPT=1,2 : Chatterjee's cross section ******************** //(fitting to cross section from Bechetti & Greenles OM potential) -G4double G4PreCompoundAlpha::GetOpt12(const G4double K) +G4double G4PreCompoundAlpha::GetOpt12(G4double K) { - G4double Kc=K; // JMQ xsec is set constant above limit of validity - if (K>50) Kc=50; + if (K > 50*MeV) { Kc = 50*MeV; } G4double landa ,mu ,nu ,p , Ec,q,r,ji,xs; @@ -182,8 +159,9 @@ G4double G4PreCompoundAlpha::GetOpt12(const G4double K) Ec = 1.44*theZ*ResidualZ/(1.5*ResidualAthrd+delta); p = p0 + p1/Ec + p2/(Ec*Ec); landa = landa0*ResidualA + landa1; - mu = mu0*std::pow(ResidualA,mu1); - nu = std::pow(ResidualA,mu1)*(nu0 + nu1*Ec + nu2*(Ec*Ec)); + G4double resmu1 = g4pow->powZ(ResidualA,mu1); + mu = mu0*resmu1; + nu = resmu1*(nu0 + nu1*Ec + nu2*(Ec*Ec)); q = landa - nu/(Ec*Ec) - 2*p*Ec; r = mu + 2*nu/Ec + p*(Ec*Ec); @@ -194,14 +172,12 @@ G4double G4PreCompoundAlpha::GetOpt12(const G4double K) if (xs <0.0) {xs=0.0;} return xs; - } // *********** OPT=3,4 : Kalbach's cross sections (from PRECO code)************* -G4double G4PreCompoundAlpha::GetOpt34(const G4double K) +G4double G4PreCompoundAlpha::GetOpt34(G4double K) // c ** alpha from huizenga and igo { - G4double landa, mu, nu, p , signor(1.),sig; G4double ec,ecsq,xnulam,etest(0.),a; G4double b,ecut,cut,ecut2,geom,elab; @@ -209,7 +185,7 @@ G4double G4PreCompoundAlpha::GetOpt34(const G4double K) G4double flow = 1.e-18; G4double spill= 1.e+18; - G4double p0 = 10.95; + G4double p0 = 10.95; G4double p1 = -85.2; G4double p2 = 1146.; G4double landa0 = 0.0643; @@ -228,38 +204,39 @@ G4double G4PreCompoundAlpha::GetOpt34(const G4double K) ecsq = ec * ec; p = p0 + p1/ec + p2/ecsq; landa = landa0*ResidualA + landa1; - a = std::pow(ResidualA,mu1); + a = g4pow->powZ(ResidualA,mu1); mu = mu0 * a; nu = a* (nu0+nu1*ec+nu2*ecsq); xnulam = nu / landa; - if (xnulam > spill) xnulam=0.; - if (xnulam >= flow) etest = 1.2 *std::sqrt(xnulam); + if (xnulam > spill) { xnulam=0.; } + if (xnulam >= flow) { etest = 1.2 *std::sqrt(xnulam); } a = -2.*p*ec + landa - nu/ecsq; b = p*ecsq + mu + 2.*nu/ec; ecut = 0.; cut = a*a - 4.*p*b; - if (cut > 0.) ecut = std::sqrt(cut); + if (cut > 0.) { ecut = std::sqrt(cut); } ecut = (ecut-a) / (p+p); ecut2 = ecut; - if (cut < 0.) ecut2 = ecut - 2.; - elab = K * FragmentA / ResidualA; + //JMQ 290310 for avoiding unphysical increase below minimum (at ecut) + // ecut<0 means that there is no cut with energy axis, i.e. xs is set + // to 0 bellow minimum + // if (cut < 0.) ecut2 = ecut - 2.; + if (cut < 0.) { ecut2 = ecut; } + elab = K * FragmentA / G4double(ResidualA); sig = 0.; if (elab <= ec) { //start for E ecut2) sig = (p*elab*elab+a*elab+b) * signor; + if (elab > ecut2) { sig = (p*elab*elab+a*elab+b) * signor; } } //end for EEc sig = (landa*elab+mu+nu/elab) * signor; geom = 0.; - if (xnulam < flow || elab < etest) return sig; + if (xnulam < flow || elab < etest) { return sig; } geom = std::sqrt(theA*K); geom = 1.23*ResidualAthrd + ra + 4.573/geom; geom = 31.416 * geom * geom; sig = std::max(geom,sig); } //end for E>Ec return sig; - } - -// ************************** end of cross sections ******************************* diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundDeuteron.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundDeuteron.cc index 2111e204a3..a139273b54 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundDeuteron.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundDeuteron.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PreCompoundDeuteron.cc,v 1.5 2009/02/13 18:57:32 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundDeuteron.cc,v 1.9 2010/11/02 17:33:28 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -37,66 +37,65 @@ // // Modified: // 21.08.2008 J. M. Quesada add choice of options -// 10.02.2009 J. M. Quesada set default opt1 +// 20.08.2010 V.Ivanchenko added G4Pow and G4PreCompoundParameters pointers +// use int Z and A and cleanup // #include "G4PreCompoundDeuteron.hh" +#include "G4Deuteron.hh" -G4ReactionProduct * G4PreCompoundDeuteron::GetReactionProduct() const +G4PreCompoundDeuteron::G4PreCompoundDeuteron() + : G4PreCompoundIon(G4Deuteron::Deuteron(), &theDeuteronCoulombBarrier) { - G4ReactionProduct * theReactionProduct = - new G4ReactionProduct(G4Deuteron::DeuteronDefinition()); - theReactionProduct->SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; -} + theA = GetA(); + theZ = GetZ(); + ResidualA = ResidualZ = 0; + ResidualAthrd = FragmentAthrd = 0.0; + FragmentA = theA; +} +G4PreCompoundDeuteron::~G4PreCompoundDeuteron() +{} -G4double G4PreCompoundDeuteron::FactorialFactor(const G4double N, const G4double P) +G4double G4PreCompoundDeuteron::FactorialFactor(G4int N, G4int P) { - return (N-1.0)*(N-2.0)*(P-1.0)*P/2.0; + return G4double((N-1)*(N-2)*(P-1)*P)/2.0; } -G4double G4PreCompoundDeuteron::CoalescenceFactor(const G4double A) +G4double G4PreCompoundDeuteron::CoalescenceFactor(G4int A) { - return 16.0/A; + return 16.0/G4double(A); } -G4double G4PreCompoundDeuteron::GetRj(const G4int NumberParticles, const G4int NumberCharged) +G4double G4PreCompoundDeuteron::GetRj(G4int nParticles, G4int nCharged) { G4double rj = 0.0; - G4double denominator = NumberParticles*(NumberParticles-1); - if(NumberCharged >=1 && (NumberParticles-NumberCharged) >=1) { - rj = 2.0*static_cast(NumberCharged*(NumberParticles-NumberCharged)) - / static_cast(denominator); + if(nCharged >=1 && (nParticles-nCharged) >=1) { + G4double denominator = G4double(nParticles*(nParticles-1)); + rj = 2*nCharged*(nParticles-nCharged)/denominator; } return rj; } -//////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// //J. M. Quesada (Dec 2007-June 2008): New inverse reaction cross sections //OPT=0 Dostrovski's parameterization //OPT=1,2 Chatterjee's paramaterization //OPT=3,4 Kalbach's parameterization // -G4double G4PreCompoundDeuteron::CrossSection(const G4double K) +G4double G4PreCompoundDeuteron::CrossSection(G4double K) { + ResidualA = GetRestA(); + ResidualZ = GetRestZ(); + theA = GetA(); + theZ = GetZ(); + ResidualAthrd = ResidualA13(); + FragmentA = theA + ResidualA; + FragmentAthrd = g4pow->Z13(FragmentA); - ResidualA=GetRestA(); - ResidualZ=GetRestZ(); - theA=GetA(); - theZ=GetZ(); - ResidualAthrd=std::pow(ResidualA,0.33333); - FragmentA=GetA()+GetRestA(); - FragmentAthrd=std::pow(FragmentA,0.33333); - - - if (OPTxs==0) return GetOpt0( K); - else if( OPTxs==1 || OPTxs==2) return GetOpt12( K); - else if (OPTxs==3 || OPTxs==4) return GetOpt34( K); + if (OPTxs==0) { return GetOpt0( K); } + else if( OPTxs==1 || OPTxs==2) { return GetOpt12( K); } + else if (OPTxs==3 || OPTxs==4) { return GetOpt34( K); } else{ std::ostringstream errOs; errOs << "BAD DEUTERON CROSS SECTION OPTION !!" <Getr0(); - // cross section is now given in mb (r0 is in mm) for the sake of consistency - //with the rest of the options - return 1.e+25*pi*(r0*ResidualAthrd)*(r0*ResidualAthrd)*GetAlpha()*(1.+GetBeta()/K); -} -// -//--------- -// G4double G4PreCompoundDeuteron::GetAlpha() { G4double C = 0.0; - G4double aZ = GetZ() + GetRestZ(); + G4int aZ = theZ + ResidualZ; if (aZ >= 70) { C = 0.10; @@ -132,27 +119,17 @@ G4double G4PreCompoundDeuteron::GetAlpha() return 1.0 + C/2.0; } // -//--------- -// -G4double G4PreCompoundDeuteron::GetBeta() -{ - return -GetCoulombBarrier(); -} -// -//********************* OPT=1,2 : Chatterjee's cross section ************************ +//********************* OPT=1,2 : Chatterjee's cross section ******************** //(fitting to cross section from Bechetti & Greenles OM potential) -G4double G4PreCompoundDeuteron::GetOpt12(const G4double K) +G4double G4PreCompoundDeuteron::GetOpt12(G4double K) { + G4double Kc = K; - G4double Kc=K; - -// JMQ xsec is set constat above limit of validity - if (K>50) Kc=50; + // JMQ xsec is set constat above limit of validity + if (K > 50*MeV) { Kc = 50*MeV; } G4double landa ,mu ,nu ,p , Ec,q,r,ji,xs; - //G4double Eo(0),epsilon1(0),epsilon2(0),discri(0); - G4double p0 = -38.21; G4double p1 = 922.6; @@ -165,13 +142,13 @@ G4double G4PreCompoundDeuteron::GetOpt12(const G4double K) G4double nu1 = -371.8; G4double nu2 = -5.924; G4double delta=1.2; - Ec = 1.44*theZ*ResidualZ/(1.5*ResidualAthrd+delta); p = p0 + p1/Ec + p2/(Ec*Ec); landa = landa0*ResidualA + landa1; - mu = mu0*std::pow(ResidualA,mu1); - nu = std::pow(ResidualA,mu1)*(nu0 + nu1*Ec + nu2*(Ec*Ec)); + G4double resmu1 = g4pow->powZ(ResidualA,mu1); + mu = mu0*resmu1; + nu = resmu1*(nu0 + nu1*Ec + nu2*(Ec*Ec)); q = landa - nu/(Ec*Ec) - 2*p*Ec; r = mu + 2*nu/Ec + p*(Ec*Ec); @@ -182,11 +159,10 @@ G4double G4PreCompoundDeuteron::GetOpt12(const G4double K) if (xs <0.0) {xs=0.0;} return xs; - } // *********** OPT=3,4 : Kalbach's cross sections (from PRECO code)************* -G4double G4PreCompoundDeuteron::GetOpt34(const G4double K) +G4double G4PreCompoundDeuteron::GetOpt34(G4double K) // ** d from o.m. of perey and perey { @@ -197,8 +173,6 @@ G4double G4PreCompoundDeuteron::GetOpt34(const G4double K) G4double flow = 1.e-18; G4double spill= 1.e+18; - - G4double p0 = 0.798; G4double p1 = 420.3; G4double p2 = -1651.; @@ -210,7 +184,6 @@ G4double G4PreCompoundDeuteron::GetOpt34(const G4double K) G4double nu1 = -474.5; G4double nu2 = -3.592; - G4double ra=0.80; //JMQ 13/02/09 increase of reduced radius to lower the barrier @@ -219,42 +192,39 @@ G4double G4PreCompoundDeuteron::GetOpt34(const G4double K) ecsq = ec * ec; p = p0 + p1/ec + p2/ecsq; landa = landa0*ResidualA + landa1; - a = std::pow(ResidualA,mu1); + a = g4pow->powZ(ResidualA,mu1); mu = mu0 * a; nu = a* (nu0+nu1*ec+nu2*ecsq); xnulam = nu / landa; - if (xnulam > spill) xnulam=0.; - if (xnulam >= flow) etest = 1.2 *std::sqrt(xnulam); + if (xnulam > spill) { xnulam=0.; } + if (xnulam >= flow) { etest = 1.2 *std::sqrt(xnulam); } a = -2.*p*ec + landa - nu/ecsq; b = p*ecsq + mu + 2.*nu/ec; ecut = 0.; cut = a*a - 4.*p*b; - if (cut > 0.) ecut = std::sqrt(cut); + if (cut > 0.) { ecut = std::sqrt(cut); } ecut = (ecut-a) / (p+p); ecut2 = ecut; - if (cut < 0.) ecut2 = ecut - 2.; - elab = K * FragmentA / ResidualA; + //JMQ 290310 for avoiding unphysical increase below minimum (at ecut) + //ecut<0 means that there is no cut with energy axis, i.e. xs is set + //to 0 bellow minimum + // if (cut < 0.) ecut2 = ecut - 2.; + if (cut < 0.) { ecut2 = ecut; } + elab = K * FragmentA / G4double(ResidualA); sig = 0.; if (elab <= ec) { //start for E ecut2) sig = (p*elab*elab+a*elab+b) * signor; + if (elab > ecut2) { sig = (p*elab*elab+a*elab+b) * signor; } } //end for EEc sig = (landa*elab+mu+nu/elab) * signor; geom = 0.; - if (xnulam < flow || elab < etest) return sig; + if (xnulam < flow || elab < etest) { return sig; } geom = std::sqrt(theA*K); geom = 1.23*ResidualAthrd + ra + 4.573/geom; geom = 31.416 * geom * geom; sig = std::max(geom,sig); } //end for E>Ec return sig; - } - -// ************************** end of cross sections ******************************* - - - - diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundEmission.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundEmission.cc index 6966a45c74..a6ec9e7444 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundEmission.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundEmission.cc @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4PreCompoundEmission.cc,v 1.22 2009/11/13 17:40:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundEmission.cc,v 1.34 2010/11/23 17:59:47 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -37,46 +36,39 @@ // Author: V.Lara // // Modified: +// 15.01.2010 J.M.Quesada added protection against unphysical values of parameter an +// 19.01.2010 V.Ivanchenko simplified computation of parameter an, sample cosTheta +// instead of theta; protect all calls to sqrt +// 20.08.2010 V.Ivanchenko added G4Pow and G4PreCompoundParameters pointers +// use int Z and A and cleanup // #include "G4PreCompoundEmission.hh" #include "G4PreCompoundParameters.hh" - #include "G4PreCompoundEmissionFactory.hh" #include "G4HETCEmissionFactory.hh" - -const G4PreCompoundEmission & G4PreCompoundEmission::operator=(const G4PreCompoundEmission &) -{ - throw G4HadronicException(__FILE__, __LINE__, "G4PreCompoundEmission::operator= meant to not be accessable"); - return *this; -} - - -G4bool G4PreCompoundEmission::operator==(const G4PreCompoundEmission &) const -{ - return false; -} - -G4bool G4PreCompoundEmission::operator!=(const G4PreCompoundEmission &) const -{ - return true; -} +#include "G4HadronicException.hh" +#include "G4Pow.hh" +#include "Randomize.hh" G4PreCompoundEmission::G4PreCompoundEmission() { theFragmentsFactory = new G4PreCompoundEmissionFactory(); - theFragmentsVector = new G4PreCompoundFragmentVector(theFragmentsFactory->GetFragmentVector()); + theFragmentsVector = + new G4PreCompoundFragmentVector(theFragmentsFactory->GetFragmentVector()); + g4pow = G4Pow::GetInstance(); + theParameters = G4PreCompoundParameters::GetAddress(); } G4PreCompoundEmission::~G4PreCompoundEmission() { - if (theFragmentsFactory) delete theFragmentsFactory; - if (theFragmentsVector) delete theFragmentsVector; + if (theFragmentsFactory) { delete theFragmentsFactory; } + if (theFragmentsVector) { delete theFragmentsVector; } } void G4PreCompoundEmission::SetDefaultModel() { - if (theFragmentsFactory) delete theFragmentsFactory; + if (theFragmentsFactory) { delete theFragmentsFactory; } theFragmentsFactory = new G4PreCompoundEmissionFactory(); if (theFragmentsVector) { @@ -84,9 +76,9 @@ void G4PreCompoundEmission::SetDefaultModel() } else { - theFragmentsVector = new G4PreCompoundFragmentVector(theFragmentsFactory->GetFragmentVector()); + theFragmentsVector = + new G4PreCompoundFragmentVector(theFragmentsFactory->GetFragmentVector()); } - theFragmentsVector->ResetStage(); return; } @@ -100,145 +92,116 @@ void G4PreCompoundEmission::SetHETCModel() } else { - theFragmentsVector = new G4PreCompoundFragmentVector(theFragmentsFactory->GetFragmentVector()); + theFragmentsVector = + new G4PreCompoundFragmentVector(theFragmentsFactory->GetFragmentVector()); } - theFragmentsVector->ResetStage(); return; } G4ReactionProduct * G4PreCompoundEmission::PerformEmission(G4Fragment & aFragment) { -#ifdef debug - G4Fragment InitialState(aFragment); -#endif // Choose a Fragment for emission - G4VPreCompoundFragment * theFragment = theFragmentsVector->ChooseFragment(); - if (theFragment == 0) + G4VPreCompoundFragment * thePreFragment = theFragmentsVector->ChooseFragment(); + if (thePreFragment == 0) { - G4cerr << "G4PreCompoundEmission::PerformEmission : I couldn't choose a fragment\n" + G4cout << "G4PreCompoundEmission::PerformEmission : I couldn't choose a fragment\n" << "while trying to de-excite\n" - << aFragment << '\n'; + << aFragment << G4endl; throw G4HadronicException(__FILE__, __LINE__, ""); } + + //G4cout << "Chosen fragment: " << G4endl; + //G4cout << *thePreFragment << G4endl; + // Kinetic Energy of emitted fragment - G4double KineticEnergyOfEmittedFragment = theFragment->GetKineticEnergy(aFragment); + G4double kinEnergyOfEmittedFragment = thePreFragment->GetKineticEnergy(aFragment); + // if(kinEnergyOfEmittedFragment < MeV) { + // G4cout << "Chosen fragment: " << G4endl; + // G4cout << *thePreFragment << G4endl; + // G4cout << "Ekin= " << kinEnergyOfEmittedFragment << G4endl; + // } + if(kinEnergyOfEmittedFragment < 0.0) { kinEnergyOfEmittedFragment = 0.0; } // Calculate the fragment momentum (three vector) - G4ThreeVector momentum = AngularDistribution(theFragment,aFragment,KineticEnergyOfEmittedFragment); + AngularDistribution(thePreFragment,aFragment,kinEnergyOfEmittedFragment); // Mass of emittef fragment - G4double EmittedMass = theFragment->GetNuclearMass(); - + G4double EmittedMass = thePreFragment->GetNuclearMass(); // Now we can calculate the four momentum // both options are valid and give the same result but 2nd one is faster - // G4LorentzVector EmittedMomentum(momentum,std::sqrt(momentum.mag2()+EmittedMass*EmittedMass)); - G4LorentzVector EmittedMomentum(momentum,EmittedMass+KineticEnergyOfEmittedFragment); + G4LorentzVector Emitted4Momentum(theFinalMomentum, + EmittedMass + kinEnergyOfEmittedFragment); // Perform Lorentz boost - EmittedMomentum.boost(aFragment.GetMomentum().boostVector()); + G4LorentzVector Rest4Momentum = aFragment.GetMomentum(); + Emitted4Momentum.boost(Rest4Momentum.boostVector()); // Set emitted fragment momentum - theFragment->SetMomentum(EmittedMomentum); - + thePreFragment->SetMomentum(Emitted4Momentum); // NOW THE RESIDUAL NUCLEUS // ------------------------ - - // Now the residual nucleus. - // The energy conservation says that - G4double ResidualEcm = - // aFragment.GetGroundStateMass() + aFragment.GetExcitationEnergy() // initial energy in cm - aFragment.GetMomentum().m() - - (EmittedMass+KineticEnergyOfEmittedFragment); - // Then the four momentum for residual is - G4LorentzVector RestMomentum(-momentum,ResidualEcm); - // This could save a Lorentz boost - // G4LorentzVector RestMomentum2(aFragment.GetMomentum()-EmittedMomentum); - - // Just for test - // Excitation energy - // G4double anU = ResidualEcm - theFragment->GetRestNuclearMass(); - // This is equivalent - // G4double anU = theFragment->GetMaximalKineticEnergy() - KineticEnergyOfEmittedFragment + - // theFragment->GetCoulombBarrier(); - - // check that Excitation energy is >= 0 - G4double anU = RestMomentum.m()-theFragment->GetRestNuclearMass(); - if (anU < 0.0) throw G4HadronicException(__FILE__, __LINE__, "G4PreCompoundModel::DeExcite: Excitation energy less than 0!"); - - + Rest4Momentum -= Emitted4Momentum; // Update nucleus parameters: // -------------------------- + // Z and A + aFragment.SetZandA_asInt(thePreFragment->GetRestZ(), + thePreFragment->GetRestA()); + // Number of excitons aFragment.SetNumberOfParticles(aFragment.GetNumberOfParticles()- - static_cast(theFragment->GetA())); + thePreFragment->GetA()); // Number of charges aFragment.SetNumberOfCharged(aFragment.GetNumberOfCharged()- - static_cast(theFragment->GetZ())); + thePreFragment->GetZ()); - // Atomic number - aFragment.SetA(theFragment->GetRestA()); - - // Charge - aFragment.SetZ(theFragment->GetRestZ()); - - - // Perform Lorentz boosts - RestMomentum.boost(aFragment.GetMomentum().boostVector()); - - // Update nucleus momentum - aFragment.SetMomentum(RestMomentum); + // Update nucleus momentum + // A check on consistence of Z, A, and mass will be performed + aFragment.SetMomentum(Rest4Momentum); // Create a G4ReactionProduct - G4ReactionProduct * MyRP = theFragment->GetReactionProduct(); -#ifdef PRECOMPOUND_TEST - MyRP->SetCreatorModel("G4PreCompoundModel"); -#endif -#ifdef debug - CheckConservation(InitialState,aFragment,MyRP); -#endif + G4ReactionProduct * MyRP = thePreFragment->GetReactionProduct(); + + // if(kinEnergyOfEmittedFragment < MeV) { + // G4cout << "G4PreCompoundEmission::Fragment emitted" << G4endl; + // G4cout << thePreFragment << G4endl; + // } return MyRP; } - -G4ThreeVector G4PreCompoundEmission::AngularDistribution(G4VPreCompoundFragment * theFragment, - const G4Fragment& aFragment, - const G4double KineticEnergyOfEmittedFragment) const +void +G4PreCompoundEmission::AngularDistribution(G4VPreCompoundFragment* thePreFragment, + const G4Fragment& aFragment, + G4double ekin) { - G4double p = aFragment.GetNumberOfParticles(); - G4double h = aFragment.GetNumberOfHoles(); + G4int p = aFragment.GetNumberOfParticles(); + G4int h = aFragment.GetNumberOfHoles(); G4double U = aFragment.GetExcitationEnergy(); - - // Kinetic Energy of emitted fragment - // G4double KineticEnergyOfEmittedFragment = theFragment->GetKineticEnergy(aFragment); - + // Emission particle separation energy - G4double Bemission = theFragment->GetBindingEnergy(); - + G4double Bemission = thePreFragment->GetBindingEnergy(); + // Fermi energy - G4double Ef = G4PreCompoundParameters::GetAddress()->GetFermiEnergy(); + G4double Ef = theParameters->GetFermiEnergy(); // // G4EvaporationLevelDensityParameter theLDP; // G4double g = (6.0/pi2)*aFragment.GetA()* - // theLDP.LevelDensityParameter(static_cast(aFragment.GetA()),static_cast(aFragment.GetZ()),U); - G4double g = (6.0/pi2)*aFragment.GetA()* - G4PreCompoundParameters::GetAddress()->GetLevelDensity(); + + G4double g = (6.0/pi2)*aFragment.GetA_asInt()*theParameters->GetLevelDensity(); // Average exciton energy relative to bottom of nuclear well - G4double Eav = 2.0*p*(p+1.0)/((p+h)*g); + G4double Eav = 2*p*(p+1)/((p+h)*g); // Excitation energy relative to the Fermi Level G4double Uf = std::max(U - (p - h)*Ef , 0.0); // G4double Uf = U - KineticEnergyOfEmittedFragment - Bemission; - - - G4double w_num = rho(p+1,h,g,Uf,Ef); - G4double w_den = rho(p,h,g,Uf,Ef); + G4double w_num = rho(p+1, h, g, Uf, Ef); + G4double w_den = rho(p, h, g, Uf, Ef); if (w_num > 0.0 && w_den > 0.0) { Eav *= (w_num/w_den); @@ -249,262 +212,89 @@ G4ThreeVector G4PreCompoundEmission::AngularDistribution(G4VPreCompoundFragment Eav = Ef; } + // VI + JMQ 19/01/2010 update computation of the parameter an + // + G4double an = 0.0; + G4double Eeff = ekin + Bemission + Ef; + if(ekin > DBL_MIN && Eeff > DBL_MIN) { - G4double zeta = std::max(1.0,9.3/std::sqrt(KineticEnergyOfEmittedFragment/MeV)); - - G4double an = 3.0*std::sqrt((ProjEnergy+Ef)*(KineticEnergyOfEmittedFragment+Bemission+Ef)); - if (aFragment.GetNumberOfExcitons() == 1) - { - an /= (zeta*2.0*aFragment.GetNumberOfExcitons()*Eav); - } - else - { - an /= (zeta*(aFragment.GetNumberOfExcitons()-1.0)*Eav); - } - - -// G4double expan=std::exp(an); -// thetaold = std::acos(std::log(expan-random*(expan-1.0/expan))/an); -// exp(an) becomes large for large an -// 1/exp(an) becomes large for large negative an -// take the large value out of the log depending on the sign of an to avoid FP exceptions - - G4double random=G4UniformRand(); - G4double exp2an=0; - G4double theta; - if (an > 0.) { - if (an < 25.) { exp2an = std::exp(-2*an); } // we subtract from 1, exp(-50)~1e-21, so will not - // change numerical result - theta = std::acos(1+ std::log(1-random*(1-exp2an))/an); - } else if ( an < 0.) { - if ( an > -25.) { exp2an = std::exp(2*an); } // similar to above, except we compare to rndm*1 - theta = std::acos(std::log(exp2an-random*(exp2an-1))/an - 1.); - } else { // an==0 now. - theta=std::acos(1.-2*random); - } + G4double zeta = std::max(1.0,9.3/std::sqrt(ekin/MeV)); - if (std::abs(an) < 50 ) - { - + // This should be the projectile energy. If I would know which is + // the projectile (proton, neutron) I could remove the binding energy. + // But, what happens if INC precedes precompound? This approximation + // seems to work well enough + G4double ProjEnergy = aFragment.GetExcitationEnergy(); + + an = 3*std::sqrt((ProjEnergy+Ef)*Eeff)/(zeta*Eav); + + G4int ne = aFragment.GetNumberOfExcitons() - 1; + if ( ne > 1 ) { an /= (G4double)ne; } + + // protection of exponent + if ( an > 10. ) { an = 10.; } } - G4double phi = twopi*G4UniformRand(); + // sample cosine of theta and not theta as in old versions + G4double random = G4UniformRand(); + G4double cost; + + if(an < 0.1) { cost = 1. - 2*random; } + else { + G4double exp2an = std::exp(-2*an); + cost = 1. + std::log(1-random*(1-exp2an))/an; + if(cost > 1.) { cost = 1.; } + else if(cost < -1.) {cost = -1.; } + } + + G4double phi = CLHEP::twopi*G4UniformRand(); // Calculate the momentum magnitude of emitted fragment - G4double EmittedMass = theFragment->GetNuclearMass(); - G4double pmag = std::sqrt(KineticEnergyOfEmittedFragment*(KineticEnergyOfEmittedFragment+2.0*EmittedMass)); + G4double pmag = std::sqrt(ekin*(ekin + 2.0*thePreFragment->GetNuclearMass())); - - G4double sinTheta = std::sin(theta); - // G4double cosTheta = std::sqrt(1.0-sinTheta*sinTheta); - G4double cosTheta = std::cos(theta); + G4double sint = std::sqrt((1.0-cost)*(1.0+cost)); + + theFinalMomentum.set(pmag*std::cos(phi)*sint,pmag*std::sin(phi)*sint,pmag*cost); - G4ThreeVector momentum(pmag*std::cos(phi)*sinTheta,pmag*std::sin(phi)*sinTheta,pmag*cosTheta); // theta is the angle wrt the incident direction - momentum.rotateUz(theIncidentDirection); - - return momentum; + G4ThreeVector theIncidentDirection = aFragment.GetMomentum().vect().unit(); + theFinalMomentum.rotateUz(theIncidentDirection); } -G4double G4PreCompoundEmission::rho(const G4double p, const G4double h, const G4double g, - const G4double E, const G4double Ef) const -{ - - G4double Aph = (p*p + h*h + p - 3.0*h)/(4.0*g); - G4double alpha = (p*p+h*h)/(2.0*g); +G4double G4PreCompoundEmission::rho(G4int p, G4int h, G4double g, + G4double E, G4double Ef) const +{ + // 25.02.2010 V.Ivanchenko added more protections + G4double Aph = (p*p + h*h + p - 3.0*h)/(4.0*g); + // G4double alpha = (p*p + h*h)/(2.0*g); - if ( (E-alpha) < 0 ) return 0; + if ( E - Aph < 0.0) { return 0.0; } - G4double logConst = (p+h)*std::log(g) - logfactorial(p+h-1) - logfactorial(p) - logfactorial(h); + G4double logConst = (p+h)*std::log(g) + - g4pow->logfactorial(p+h-1) - g4pow->logfactorial(p) - g4pow->logfactorial(h); -// initialise values using j=0 + // initialise values using j=0 G4double t1=1; G4double t2=1; - G4double logt3=(p+h-1) * std::log(E-Aph); - G4double tot = std::exp( logt3 + logConst ); + G4double logt3 = (p+h-1) * std::log(E-Aph) + logConst; + const G4double logmax = 200.; + if(logt3 > logmax) { logt3 = logmax; } + G4double tot = std::exp( logt3 ); -// and now sum rest of terms - G4int j(1); - while ( (j <= h) && ((E - alpha - j*Ef) > 0.0) ) + // and now sum rest of terms + // 25.02.2010 V.Ivanchenko change while to for loop and cleanup + G4double Eeff = E - Aph; + for(G4int j=1; j<=h; ++j) { - t1 *= -1.; - t2 *= (h+1-j)/j; - logt3 = (p+h-1) * std::log( E - j*Ef - Aph) + logConst; - G4double t3 = std::exp(logt3); - tot += t1*t2*t3; - j++; + Eeff -= Ef; + if(Eeff < 0.0) { break; } + t1 *= -1.; + t2 *= (G4double)(h+1-j)/(G4double)j; + logt3 = (p+h-1) * std::log( Eeff) + logConst; + if(logt3 > logmax) { logt3 = logmax; } + tot += t1*t2*std::exp(logt3); } return tot; } - - - -G4double G4PreCompoundEmission::factorial(G4double a) const -{ - // Values of factorial function from 0 to 60 - const G4int factablesize = 61; - static const G4double fact[factablesize] = - { - 1.0, // 0! - 1.0, // 1! - 2.0, // 2! - 6.0, // 3! - 24.0, // 4! - 120.0, // 5! - 720.0, // 6! - 5040.0, // 7! - 40320.0, // 8! - 362880.0, // 9! - 3628800.0, // 10! - 39916800.0, // 11! - 479001600.0, // 12! - 6227020800.0, // 13! - 87178291200.0, // 14! - 1307674368000.0, // 15! - 20922789888000.0, // 16! - 355687428096000.0, // 17! - 6402373705728000.0, // 18! - 121645100408832000.0, // 19! - 2432902008176640000.0, // 20! - 51090942171709440000.0, // 21! - 1124000727777607680000.0, // 22! - 25852016738884976640000.0, // 23! - 620448401733239439360000.0, // 24! - 15511210043330985984000000.0, // 25! - 403291461126605635584000000.0, // 26! - 10888869450418352160768000000.0, // 27! - 304888344611713860501504000000.0, // 28! - 8841761993739701954543616000000.0, // 29! - 265252859812191058636308480000000.0, // 30! - 8222838654177922817725562880000000.0, // 31! - 263130836933693530167218012160000000.0, // 32! - 8683317618811886495518194401280000000.0, // 33! - 295232799039604140847618609643520000000.0, // 34! - 10333147966386144929666651337523200000000.0, // 35! - 371993326789901217467999448150835200000000.0, // 36! - 13763753091226345046315979581580902400000000.0, // 37! - 523022617466601111760007224100074291200000000.0, // 38! - 20397882081197443358640281739902897356800000000.0, // 39! - 815915283247897734345611269596115894272000000000.0, // 40! - 33452526613163807108170062053440751665152000000000.0, // 41! - 1405006117752879898543142606244511569936384000000000.0, // 42! - 60415263063373835637355132068513997507264512000000000.0, // 43! - 2658271574788448768043625811014615890319638528000000000.0, // 44! - 119622220865480194561963161495657715064383733760000000000.0, // 45! - 5502622159812088949850305428800254892961651752960000000000.0, // 46! - 258623241511168180642964355153611979969197632389120000000000.0, // 47! - 12413915592536072670862289047373375038521486354677760000000000.0, // 48! - 608281864034267560872252163321295376887552831379210240000000000.0, // 49! - 30414093201713378043612608166064768844377641568960512000000000000.0, // 50! - 1551118753287382280224243016469303211063259720016986112000000000000.0, // 51! - 80658175170943878571660636856403766975289505440883277824000000000000.0, // 52! - 4274883284060025564298013753389399649690343788366813724672000000000000.0, // 53! - 230843697339241380472092742683027581083278564571807941132288000000000000.0, // 54! - 12696403353658275925965100847566516959580321051449436762275840000000000000.0, // 55! - 710998587804863451854045647463724949736497978881168458687447040000000000000.0, // 56! - 40526919504877216755680601905432322134980384796226602145184481280000000000000.0, // 57! - 2350561331282878571829474910515074683828862318181142924420699914240000000000000.0, // 58! - 138683118545689835737939019720389406345902876772687432540821294940160000000000000.0, // 59! - 8320987112741390144276341183223364380754172606361245952449277696409600000000000000.0 // 60! - }; - // fact[0] = 1; - // for (G4int n = 1; n < 21; n++) { - // fact[n] = fact[n-1]*static_cast(n); - // } - G4double result(0.0); - G4int ia = static_cast(a); - if (ia < factablesize) - { - result = fact[ia]; - } - else - { - result = fact[factablesize-1]; - for (G4int n = factablesize; n < ia+1; ++n) - { - result *= static_cast(n); - } - } - - return result; -} -G4double G4PreCompoundEmission::logfactorial(G4double a) const -{ - // Values of logs of factorial function from 0 to 60 - - G4double result(0.0); - const G4int factablesize = 61; - const G4double halfLn2pi = 0.918938533; // 0.5 log(2* pi) - static G4double logfact[factablesize]; - static bool needinit=true; - - if (needinit) - { - needinit=false; - for ( G4int n=0; n < factablesize; ++n) - { - logfact[n]=std::log(factorial(n)); - } - } - - G4int ia = static_cast(a); - if (ia < factablesize) - { - result = logfact[ia]; - } else { - result = (ia+0.5)*std::log(G4double(ia)) - ia + halfLn2pi; - } - - return result; -} - -#ifdef debug -void G4PreCompoundEmission::CheckConservation(const G4Fragment & theInitialState, - const G4Fragment & theResidual, - G4ReactionProduct * theEmitted) const -{ - G4double ProductsEnergy = theEmitted->GetTotalEnergy() + theResidual.GetMomentum().e(); - G4ThreeVector ProductsMomentum(theEmitted->GetMomentum()+theResidual.GetMomentum().vect()); - G4int ProductsA = theEmitted->GetDefinition()->GetBaryonNumber() + theResidual.GetA(); - G4int ProductsZ = theEmitted->GetDefinition()->GetPDGCharge() + theResidual.GetZ(); - - if (ProductsA != theInitialState.GetA()) { - G4cout << "!!!!!!!!!! Baryonic Number Conservation Violation !!!!!!!!!!" << G4endl; - G4cout << "G4PreCompoundEmission.cc: Barionic Number Conservation" - << G4endl; - G4cout << "Initial A = " << theInitialState.GetA() - << " Fragments A = " << ProductsA << " Diference --> " - << theInitialState.GetA() - ProductsA << G4endl; - } - if (ProductsZ != theInitialState.GetZ()) { - G4cout << "!!!!!!!!!! Charge Conservation Violation !!!!!!!!!!" << G4endl; - G4cout << "G4PreCompoundEmission.cc: Charge Conservation test" - << G4endl; - G4cout << "Initial Z = " << theInitialState.GetZ() - << " Fragments Z = " << ProductsZ << " Diference --> " - << theInitialState.GetZ() - ProductsZ << G4endl; - } - if (std::abs(ProductsEnergy-theInitialState.GetMomentum().e()) > 10.0*eV) { - G4cout << "!!!!!!!!!! Energy Conservation Violation !!!!!!!!!!" << G4endl; - G4cout << "G4PreCompoundEmission.cc: Energy Conservation test" - << G4endl; - G4cout << "Initial E = " << theInitialState.GetMomentum().e()/MeV << " MeV" - << " Fragments E = " << ProductsEnergy/MeV << " MeV Diference --> " - << (theInitialState.GetMomentum().e() - ProductsEnergy)/MeV << " MeV" << G4endl; - } - if (std::abs(ProductsMomentum.x()-theInitialState.GetMomentum().x()) > 10.0*eV || - std::abs(ProductsMomentum.y()-theInitialState.GetMomentum().y()) > 10.0*eV || - std::abs(ProductsMomentum.z()-theInitialState.GetMomentum().z()) > 10.0*eV) { - G4cout << "!!!!!!!!!! Momentum Conservation Violation !!!!!!!!!!" << G4endl; - G4cout << "G4PreCompoundEmission.cc: Momentum Conservation test" - << G4endl; - G4cout << "Initial P = " << theInitialState.GetMomentum().vect() << " MeV" - << " Fragments P = " << ProductsMomentum << " MeV Diference --> " - << theInitialState.GetMomentum().vect() - ProductsMomentum << " MeV" << G4endl; - } - return; -} - -#endif diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundEmissionFactory.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundEmissionFactory.cc index a975a1f6b4..fceeafee48 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundEmissionFactory.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundEmissionFactory.cc @@ -23,6 +23,10 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4PreCompoundEmissionFactory.cc,v 1.5 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + #include "G4PreCompoundEmissionFactory.hh" #include "G4PreCompoundNeutron.hh" @@ -32,28 +36,11 @@ #include "G4PreCompoundHe3.hh" #include "G4PreCompoundAlpha.hh" +G4PreCompoundEmissionFactory::G4PreCompoundEmissionFactory() +{} -const G4PreCompoundEmissionFactory & G4PreCompoundEmissionFactory:: -operator=(const G4PreCompoundEmissionFactory & ) -{ - throw G4HadronicException(__FILE__, __LINE__, "G4PreCompoundEmissionFactory::operator= meant to not be accessable."); - return *this; -} - -G4bool G4PreCompoundEmissionFactory:: -operator==(const G4PreCompoundEmissionFactory & ) const -{ - throw G4HadronicException(__FILE__, __LINE__, "G4PreCompoundEmissionFactory::operator== meant to not be accessable."); - return false; -} - -G4bool G4PreCompoundEmissionFactory:: -operator!=(const G4PreCompoundEmissionFactory & ) const -{ - throw G4HadronicException(__FILE__, __LINE__, "G4PreCompoundEmissionFactory::operator!= meant to not be accessable."); - return true; -} - +G4PreCompoundEmissionFactory::~G4PreCompoundEmissionFactory() +{} std::vector * G4PreCompoundEmissionFactory:: CreateFragmentVector() diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragment.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragment.cc index 65303cf24d..1630c8e95e 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragment.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragment.cc @@ -23,85 +23,68 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PreCompoundFragment.cc,v 1.8 2009/02/10 16:01:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundFragment.cc,v 1.11 2010/11/24 11:55:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // J. M. Quesada (August 2008). // Based on previous work by V. Lara -// JMQ (06 September 2008) Also external choice has been added for: -// - superimposed Coulomb barrier (if useSICB=true) // +// Modified: +// 06.09.2008 JMQ Also external choice has been added for: +// - superimposed Coulomb barrier (if useSICB=true) +// 20.08.2010 V.Ivanchenko cleanup +// + #include "G4PreCompoundFragment.hh" G4PreCompoundFragment:: -G4PreCompoundFragment(const G4PreCompoundFragment &right) : - G4VPreCompoundFragment(right) +G4PreCompoundFragment(const G4ParticleDefinition* part, + G4VCoulombBarrier* aCoulombBarrier) + : G4VPreCompoundFragment(part,aCoulombBarrier) {} - -G4PreCompoundFragment:: -G4PreCompoundFragment(const G4double anA, - const G4double aZ, - G4VCoulombBarrier* aCoulombBarrier, - const G4String & aName): - G4VPreCompoundFragment(anA,aZ,aCoulombBarrier,aName) -{ -} - - - G4PreCompoundFragment::~G4PreCompoundFragment() -{ -} - - -const G4PreCompoundFragment & G4PreCompoundFragment:: -operator= (const G4PreCompoundFragment & right) -{ - if (&right != this) this->G4VPreCompoundFragment::operator=(right); - return *this; -} - -G4int G4PreCompoundFragment::operator==(const G4PreCompoundFragment & right) const -{ - return G4VPreCompoundFragment::operator==(right); -} - -G4int G4PreCompoundFragment::operator!=(const G4PreCompoundFragment & right) const -{ - return G4VPreCompoundFragment::operator!=(right); -} - +{} G4double G4PreCompoundFragment:: CalcEmissionProbability(const G4Fragment & aFragment) { -// If theCoulombBarrier effect is included in the emission probabilities -//if (GetMaximalKineticEnergy() <= 0.0) - G4double limit; - if(OPTxs==0 || useSICB) limit= theCoulombBarrier; - else limit=0.; + //G4cout << theCoulombBarrier << " " << GetMaximalKineticEnergy() << G4endl; + // If theCoulombBarrier effect is included in the emission probabilities + //if (GetMaximalKineticEnergy() <= 0.0) + G4double limit = 0.0; + if(OPTxs==0 || useSICB) { limit = theCoulombBarrier; } if (GetMaximalKineticEnergy() <= limit) { theEmissionProbability = 0.0; return 0.0; - } -// If theCoulombBarrier effect is included in the emission probabilities -// G4double LowerLimit = 0.; -// Coulomb barrier is the lower limit -// of integration over kinetic energy + } + // If theCoulombBarrier effect is included in the emission probabilities + // G4double LowerLimit = 0.; + // Coulomb barrier is the lower limit + // of integration over kinetic energy G4double LowerLimit = limit; -// Excitation energy of nucleus after fragment emission is the upper limit of integration over kinetic energy + // Excitation energy of nucleus after fragment emission is the upper + //limit of integration over kinetic energy G4double UpperLimit = GetMaximalKineticEnergy(); theEmissionProbability = IntegrateEmissionProbability(LowerLimit,UpperLimit,aFragment); + /* + G4cout << "## G4PreCompoundFragment::CalcEmisProb " + << "Z= " << aFragment.GetZ_asInt() + << " A= " << aFragment.GetA_asInt() + << " Elow= " << LowerLimit/MeV + << " Eup= " << UpperLimit/MeV + << " prob= " << theEmissionProbability + << G4endl; + */ return theEmissionProbability; } G4double G4PreCompoundFragment:: -IntegrateEmissionProbability(const G4double & Low, const G4double & Up, +IntegrateEmissionProbability(G4double Low, G4double Up, const G4Fragment & aFragment) { static const G4int N = 10; @@ -133,36 +116,31 @@ IntegrateEmissionProbability(const G4double & Low, const G4double & Up, G4double Total = 0.0; - - for (G4int i = 0; i < N; i++) + for (G4int i = 0; i < N; ++i) { - G4double KineticE = ((Up-Low)*x[i]+(Up+Low))/2.0; + G4double KineticE = 0.5*((Up-Low)*x[i]+(Up+Low)); Total += w[i]*ProbabilityDistributionFunction(KineticE, aFragment); } - Total *= (Up-Low)/2.0; + Total *= 0.5*(Up-Low); return Total; } - - - G4double G4PreCompoundFragment:: GetKineticEnergy(const G4Fragment & aFragment) { + //let's keep this way for consistency with CalcEmissionProbability method + G4double V = 0.0; + if(OPTxs==0 || useSICB) { V = theCoulombBarrier; } -// G4double V = this->GetCoulombBarrier();// alternative way for accessing the Coulomb barrier -// //should be equivalent (in fact it is) - G4double V; - if(OPTxs==0 || useSICB) V= theCoulombBarrier;//let's keep this way for consistency with CalcEmissionProbability method - else V=0.; - - G4double Tmax = GetMaximalKineticEnergy() ; + G4double Tmax = GetMaximalKineticEnergy(); + if(Tmax < V) { return 0.0; } G4double T(0.0); - G4double NormalizedProbability(1.0); + G4double Probability(1.0); + G4double maxProbability = GetEmissionProbability(); do { - T =V+ G4UniformRand()*(Tmax-V); - NormalizedProbability = ProbabilityDistributionFunction(T,aFragment)/GetEmissionProbability(); - } while (G4UniformRand() > NormalizedProbability); + T = V + G4UniformRand()*(Tmax-V); + Probability = ProbabilityDistributionFunction(T,aFragment); + } while (maxProbability*G4UniformRand() > Probability); return T; } diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragmentVector.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragmentVector.cc index a12d0a3e2c..3509241689 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragmentVector.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragmentVector.cc @@ -23,109 +23,50 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PreCompoundFragmentVector.cc,v 1.11 2009/02/10 16:01:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundFragmentVector.cc,v 1.12 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara +// +// Modified: +// 27.08.2010 V.Ivanchenko moved constructor and destructor to source, +// simplify run time computations making inlined +// #include "G4PreCompoundFragmentVector.hh" -#include "G4HadronicException.hh" -const G4PreCompoundFragmentVector & -G4PreCompoundFragmentVector:: -operator=(const G4PreCompoundFragmentVector &) +G4PreCompoundFragmentVector::G4PreCompoundFragmentVector(pcfvector * avector) + : theChannels(0), nChannels(0) { - throw G4HadronicException(__FILE__, __LINE__, "G4PreCompoundFragmentVector::operator= meant to not be accessable"); - return *this; + SetVector(avector); } +G4PreCompoundFragmentVector::~G4PreCompoundFragmentVector() +{} -G4bool G4PreCompoundFragmentVector:: -operator==(const G4PreCompoundFragmentVector &) const +void G4PreCompoundFragmentVector::SetVector(pcfvector * avector) { - return false; -} - -G4bool G4PreCompoundFragmentVector:: -operator!=(const G4PreCompoundFragmentVector &) const -{ - return true; -} - - - -G4double G4PreCompoundFragmentVector:: -CalculateProbabilities(const G4Fragment & aFragment) -{ - TotalEmissionProbability = 0.0; - pcfvector::iterator aChannel; - for (aChannel=theChannels->begin(); aChannel != theChannels->end(); - aChannel++) - { - // Calculate emission probailities - // Compute total (integrated over kinetic energy) emission - // probability of a fragment and - // Summing channel emission probabilities - TotalEmissionProbability += (*aChannel)->CalcEmissionProbability(aFragment); - } - return TotalEmissionProbability; -} - - -G4VPreCompoundFragment * G4PreCompoundFragmentVector:: -ChooseFragment(void) -{ - const G4int NumOfFrags = theChannels->size(); - std::vector running; - running.reserve(NumOfFrags); - - pcfvector::iterator i; - G4double accumulation = 0.0; - for (i = theChannels->begin(); i != theChannels->end(); ++i) { - accumulation += (*i)->GetEmissionProbability(); - - running.push_back(accumulation); + theChannels = avector; + if(theChannels) { + nChannels = theChannels->size(); + probabilities.resize(nChannels); } - - // Choose an emission channel - G4double aChannel = G4UniformRand()*TotalEmissionProbability; - G4int ChosenChannel = -1; - std::vector::iterator ich; - for (ich = running.begin(); ich != running.end(); ++ich) - { - if (aChannel <= *ich) - { -#ifdef G4NO_ISO_VECDIST - std::vector::difference_type n = 0; - std::distance(running.begin(),ich,n); - ChosenChannel = n; -#else - ChosenChannel = std::distance(running.begin(),ich); -#endif - break; - } - } - running.clear(); - if (ChosenChannel < 0) - { - G4cerr - << "G4PreCompoundFragmentVector::ChooseFragment: I can't determine a channel\n" - << "Probabilities: "; - for (i = theChannels->begin(); i != theChannels->end(); ++i) - { - G4cout << (*i)->GetEmissionProbability() << " "; - } - G4cout << '\n'; - return 0; - } - else - { - for (i = theChannels->begin(); i != theChannels->end(); ++i) - { - (*i)->IncrementStage(); - } - } - - return theChannels->operator[](ChosenChannel); } + +//for inverse cross section choice +void G4PreCompoundFragmentVector::SetOPTxs(G4int opt) +{ + for (G4int i=0; i< nChannels; ++i) { + (*theChannels)[i]->SetOPTxs(opt); + } +} + +//for superimposed Coulomb Barrier for inverse cross sections +void G4PreCompoundFragmentVector::UseSICB(G4bool use) +{ + for (G4int i=0; i< nChannels; ++i) { + (*theChannels)[i]->UseSICB(use); + } +} + diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundHe3.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundHe3.cc index e7bf4648bc..e89e4cae82 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundHe3.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundHe3.cc @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4PreCompoundHe3.cc,v 1.5 2009/02/13 18:57:32 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundHe3.cc,v 1.9 2010/11/17 11:06:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -38,65 +37,63 @@ // // Modified: // 21.08.2008 J. M. Quesada add choice of options -// 10.02.2009 J. M. Quesada set default opt1 +// 20.08.2010 V.Ivanchenko added G4Pow and G4PreCompoundParameters pointers +// use int Z and A and cleanup // #include "G4PreCompoundHe3.hh" +#include "G4He3.hh" -G4ReactionProduct * G4PreCompoundHe3::GetReactionProduct() const +G4PreCompoundHe3::G4PreCompoundHe3() + : G4PreCompoundIon(G4He3::He3(), &theHe3CoulombBarrier) { - G4ReactionProduct * theReactionProduct = - new G4ReactionProduct(G4He3::He3Definition()); - theReactionProduct->SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; -} + ResidualA = GetRestA(); + ResidualZ = GetRestZ(); + theA = GetA(); + theZ = GetZ(); + ResidualAthrd = ResidualA13(); + FragmentAthrd = ResidualAthrd; + FragmentA = theA + ResidualA; +} -G4double G4PreCompoundHe3::FactorialFactor(const G4double N, const G4double P) +G4PreCompoundHe3::~G4PreCompoundHe3() +{} + +G4double G4PreCompoundHe3::FactorialFactor(G4int N, G4int P) { - return - (N-3.0)*(P-2.0)*( - (((N-2.0)*(P-1.0))/2.0) *( - (((N-1.0)*P)/3.0) - ) - ); + return G4double((N-3)*(P-2)*(N-2)*(P-1)*(N-1)*P)/6.0; } -G4double G4PreCompoundHe3::CoalescenceFactor(const G4double A) +G4double G4PreCompoundHe3::CoalescenceFactor(G4int A) { - return 243.0/(A*A); + return 243.0/G4double(A*A); } -G4double G4PreCompoundHe3::GetRj(const G4int NumberParticles, const G4int NumberCharged) +G4double G4PreCompoundHe3::GetRj(G4int nParticles, G4int nCharged) { G4double rj = 0.0; - G4double denominator = NumberParticles*(NumberParticles-1)*(NumberParticles-2); - if(NumberCharged >=2 && (NumberParticles-NumberCharged) >= 1) { - rj = 3.0*static_cast(NumberCharged*(NumberCharged-1)*(NumberParticles-NumberCharged)) - / static_cast(denominator); + if(nCharged >=2 && (nParticles-nCharged) >= 1) { + G4double denominator = G4double(nParticles*(nParticles-1)*(nParticles-2)); + rj = G4double(3*nCharged*(nCharged-1)*(nParticles-nCharged))/denominator; } return rj; } -//////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// //J. M. Quesada (Dec 2007-June 2008): New inverse reaction cross sections //OPT=0 Dostrovski's parameterization //OPT=1,2 Chatterjee's paramaterization //OPT=3,4 Kalbach's parameterization // -G4double G4PreCompoundHe3::CrossSection(const G4double K) +G4double G4PreCompoundHe3::CrossSection(G4double K) { - ResidualA=GetRestA(); - ResidualZ=GetRestZ(); - theA=GetA(); - theZ=GetZ(); - ResidualAthrd=std::pow(ResidualA,0.33333); - FragmentA=GetA()+GetRestA(); - FragmentAthrd=std::pow(FragmentA,0.33333); - + ResidualA = GetRestA(); + ResidualZ = GetRestZ(); + theA = GetA(); + theZ = GetZ(); + ResidualAthrd = ResidualA13(); + FragmentA = theA + ResidualA; + FragmentAthrd = g4pow->Z13(FragmentA); if (OPTxs==0) return GetOpt0( K); else if( OPTxs==1 || OPTxs==2) return GetOpt12( K); @@ -109,33 +106,21 @@ G4double G4PreCompoundHe3::CrossSection(const G4double K) } } -// *********************** OPT=0 : Dostrovski's cross section ***************************** - -G4double G4PreCompoundHe3::GetOpt0(const G4double K) -{ - const G4double r0 = G4PreCompoundParameters::GetAddress()->Getr0(); - // cross section is now given in mb (r0 is in mm) for the sake of consistency - //with the rest of the options - return 1.e+25*pi*(r0*ResidualAthrd)*(r0*ResidualAthrd)*GetAlpha()*(1.+GetBeta()/K); -} -// -//---------------- -// G4double G4PreCompoundHe3::GetAlpha() { G4double C = 0.0; - G4double aZ = GetZ() + GetRestZ(); + G4int aZ = theZ + ResidualZ; if (aZ <= 30) { C = 0.10; } else if (aZ <= 50) { - C = 0.1 + -((aZ-50.)/20.)*0.02; + C = 0.1 - (aZ - 30)*0.001; } else if (aZ < 70) { - C = 0.08 + -((aZ-70.)/20.)*0.02; + C = 0.08 - (aZ - 50)*0.001; } else { @@ -143,28 +128,20 @@ G4double G4PreCompoundHe3::GetAlpha() } return 1.0 + C*(4.0/3.0); } -// -//-------------------- -// -G4double G4PreCompoundHe3::GetBeta() -{ - return -GetCoulombBarrier(); -} -// -//********************* OPT=1,2 : Chatterjee's cross section ************************ + +//********************* OPT=1,2 : Chatterjee's cross section ***************** //(fitting to cross section from Bechetti & Greenles OM potential) G4double G4PreCompoundHe3::GetOpt12(const G4double K) { - - G4double Kc=K; + G4double Kc = K; // JMQ xsec is set constat above limit of validity - if (K>50) Kc=50; + if (K > 50*MeV) { Kc = 50*MeV; } G4double landa ,mu ,nu ,p , Ec,q,r,ji,xs; - G4double p0 = -3.06; + G4double p0 = -3.06; G4double p1 = 278.5; G4double p2 = -1389.; G4double landa0 = -0.00535; @@ -179,8 +156,10 @@ G4double G4PreCompoundHe3::GetOpt12(const G4double K) Ec = 1.44*theZ*ResidualZ/(1.5*ResidualAthrd+delta); p = p0 + p1/Ec + p2/(Ec*Ec); landa = landa0*ResidualA + landa1; - mu = mu0*std::pow(ResidualA,mu1); - nu = std::pow(ResidualA,mu1)*(nu0 + nu1*Ec + nu2*(Ec*Ec)); + + G4double resmu1 = g4pow->powZ(ResidualA,mu1); + mu = mu0*resmu1; + nu = resmu1*(nu0 + nu1*Ec + nu2*(Ec*Ec)); q = landa - nu/(Ec*Ec) - 2*p*Ec; r = mu + 2*nu/Ec + p*(Ec*Ec); @@ -198,16 +177,13 @@ G4double G4PreCompoundHe3::GetOpt12(const G4double K) G4double G4PreCompoundHe3::GetOpt34(const G4double K) //c ** 3he from o.m. of gibson et al { - G4double landa, mu, nu, p , signor(1.),sig; G4double ec,ecsq,xnulam,etest(0.),a; G4double b,ecut,cut,ecut2,geom,elab; - G4double flow = 1.e-18; G4double spill= 1.e+18; - G4double p0 = -2.88; G4double p1 = 205.6; G4double p2 = -1487.; @@ -227,12 +203,12 @@ G4double G4PreCompoundHe3::GetOpt34(const G4double K) ecsq = ec * ec; p = p0 + p1/ec + p2/ecsq; landa = landa0*ResidualA + landa1; - a = std::pow(ResidualA,mu1); + a = g4pow->powZ(ResidualA,mu1); mu = mu0 * a; nu = a* (nu0+nu1*ec+nu2*ecsq); xnulam = nu / landa; - if (xnulam > spill) xnulam=0.; - if (xnulam >= flow) etest = 1.2 *std::sqrt(xnulam); + if (xnulam > spill) { xnulam=0.; } + if (xnulam >= flow) { etest = 1.2 *std::sqrt(xnulam); } a = -2.*p*ec + landa - nu/ecsq; b = p*ecsq + mu + 2.*nu/ec; @@ -241,17 +217,21 @@ G4double G4PreCompoundHe3::GetOpt34(const G4double K) if (cut > 0.) ecut = std::sqrt(cut); ecut = (ecut-a) / (p+p); ecut2 = ecut; - if (cut < 0.) ecut2 = ecut - 2.; - elab = K * FragmentA / ResidualA; + //JMQ 290310 for avoiding unphysical increase below minimum (at ecut) + // ecut<0 means that there is no cut with energy axis, i.e. xs is set + // to 0 bellow minimum + // if (cut < 0.) ecut2 = ecut - 2.; + if (cut < 0.) { ecut2 = ecut; } + elab = K * FragmentA /G4double(ResidualA); sig = 0.; if (elab <= ec) { //start for E ecut2) sig = (p*elab*elab+a*elab+b) * signor; + if (elab > ecut2) { sig = (p*elab*elab+a*elab+b) * signor; } } //end for EEc sig = (landa*elab+mu+nu/elab) * signor; geom = 0.; - if (xnulam < flow || elab < etest) return sig; + if (xnulam < flow || elab < etest) { return sig; } geom = std::sqrt(theA*K); geom = 1.23*ResidualAthrd + ra + 4.573/geom; geom = 31.416 * geom * geom; @@ -260,9 +240,3 @@ G4double G4PreCompoundHe3::GetOpt34(const G4double K) return sig; } - -// ************************** end of cross sections ******************************* - - - - diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundIon.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundIon.cc index 02ce1fb8fe..66397c00d4 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundIon.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundIon.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PreCompoundIon.cc,v 1.16 2009/02/10 16:01:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundIon.cc,v 1.17 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -37,36 +37,41 @@ // // Modified: // 10.02.2009 J. M. Quesada fixed bug in density level of light fragments +// 20.08.2010 V.Ivanchenko added G4Pow and G4PreCompoundParameters pointers +// use int Z and A and cleanup // #include "G4PreCompoundIon.hh" -#include "G4PreCompoundParameters.hh" -G4bool G4PreCompoundIon::IsItPossible(const G4Fragment& aFragment) +G4PreCompoundIon:: +G4PreCompoundIon(const G4ParticleDefinition* part, + G4VCoulombBarrier* aCoulombBarrier) + : G4PreCompoundFragment(part,aCoulombBarrier) { - G4int pplus = aFragment.GetNumberOfCharged(); - G4int pneut = aFragment.GetNumberOfParticles()-pplus; - return (pneut >= (GetA()-GetZ()) && pplus >= GetZ()); + G4double r0 = theParameters->Getr0(); + fact = 0.75*CLHEP::millibarn/(CLHEP::pi*r0*r0*r0); } +G4PreCompoundIon::~G4PreCompoundIon() +{} + G4double G4PreCompoundIon:: -ProbabilityDistributionFunction(const G4double eKin, +ProbabilityDistributionFunction(G4double eKin, const G4Fragment& aFragment) { - if ( !IsItPossible(aFragment) ) return 0.0; - - const G4double r0 = G4PreCompoundParameters::GetAddress()->Getr0(); + if ( !IsItPossible(aFragment) ) { return 0.0; } + G4double efinal = eKin + GetBindingEnergy(); + //G4cout << "Efinal= " << efinal << " Ekin= " << eKin << G4endl; + if(efinal <= 0.0 ) { return 0.0; } G4double U = aFragment.GetExcitationEnergy(); - G4double P = aFragment.GetNumberOfParticles(); - G4double H = aFragment.GetNumberOfHoles(); - G4double N = P + H; + G4int P = aFragment.GetNumberOfParticles(); + G4int H = aFragment.GetNumberOfHoles(); + G4int A = GetA(); + G4int N = P + H; - G4double g0 = (6.0/pi2)*aFragment.GetA() * - G4PreCompoundParameters::GetAddress()->GetLevelDensity(); - - G4double g1 = (6.0/pi2)*GetRestA() * - G4PreCompoundParameters::GetAddress()->GetLevelDensity(); + G4double g0 = (6.0/pi2)*aFragment.GetA_asInt()*theParameters->GetLevelDensity(); + G4double g1 = (6.0/pi2)*GetRestA()*theParameters->GetLevelDensity(); //JMQ 06/02/209 This is THE BUG that was killing cluster emission // G4double gj = (6.0/pi2)*GetA() * @@ -74,32 +79,42 @@ ProbabilityDistributionFunction(const G4double eKin, G4double gj = g1; - G4double A0 = ((P*P+H*H+P-H)/4.0 - H/2.0)/g0; + G4double A0 = G4double(P*P+H*H+P-3*H)/(4.0*g0); + G4double A1 = std::max(0.0,(A0*g0 + A*(A-2*P-1)*0.25)/g1); - G4double A1 = std::max(0.0,(A0*g0 + GetA()*(GetA()-2.0*P-1.0)/4.0)/g1); - - G4double Aj = GetA()*(GetA()+1.0)/4.0/gj; - - - G4double E0 = std::max(0.0,U - A0); - if (E0 == 0.0) return 0.0; + G4double E0 = U - A0; + //G4cout << "E0= " << E0 << G4endl; + if (E0 <= 0.0) { return 0.0; } G4double E1 = (std::max(0.0,GetMaximalKineticEnergy() - eKin - A1)); - G4double Ej = std::max(0.0,eKin + GetBindingEnergy() -Aj); + G4double Aj = A*(A+1)/(4.0*gj); + G4double Ej = std::max(0.0,efinal - Aj); + + G4double rj = GetRj(P, aFragment.GetNumberOfCharged()); + G4double xs = CrossSection(eKin); + + //G4cout << "rj= " << rj << " xs= " << xs << G4endl; // JMQ 10/02/09 reshaping of the formula (unnecessary std::pow elimitated) + /* + G4double r0 = theParameters->Getr0(); G4double pA = (3.0/4.0) * std::sqrt(std::max(0.0, 2.0/(GetReducedMass()* - (eKin+GetBindingEnergy()))))/(pi * r0 * r0 *r0* GetRestA())* + (eKin+GetBindingEnergy()))))/(pi * r0 * r0 *r0* GetRestA())* eKin*CrossSection(eKin)*millibarn* - CoalescenceFactor(aFragment.GetA()) * FactorialFactor(N,P)* - GetRj(aFragment.GetNumberOfParticles(), aFragment.GetNumberOfCharged()); + CoalescenceFactor(aFragment.GetA_asInt()) * FactorialFactor(N,P)* + GetRj(aFragment.GetNumberOfParticles(), aFragment.GetNumberOfCharged()); G4double pB = std::pow((g1*E1)/(g0*E0),N-GetA()-1.0)*(g1/g0); - G4double pC = std::pow((gj*Ej)/(g0*E0),GetA()-1.0)*(gj/g0)/E0; - - G4double Probability = pA * pB * pC; - - return Probability; + pA *= pB * pC; + */ + + G4double pA = fact*eKin*xs*rj + * CoalescenceFactor(aFragment.GetA_asInt()) * FactorialFactor(N,P) + * std::sqrt(2.0/(GetReducedMass()*efinal)) + * g4pow->powN(g1*E1/(g0*E0), N-A-1) + * g4pow->powN(gj*Ej/(g0*E0), A-1)*gj*g1/(g0*g0*E0*GetRestA()); + + return pA; } diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundModel.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundModel.cc index 737808a64b..c38d11aa18 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundModel.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundModel.cc @@ -23,139 +23,115 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4PreCompoundModel.cc,v 1.18 2009/11/19 10:19:31 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundModel.cc,v 1.30 2010/11/24 11:55:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // by V. Lara // -//J. M. Quesada (Apr.08). Several changes. Soft cut-off switched off. -//(May. 08). Protection against non-physical preeq. transitional regime has -// been set -// -// Modif (03 September 2008) by J. M. Quesada for external choice of inverse -// cross section option -// JMQ (06 September 2008) Also external choices have been added for: +// Modified: +// 01.04.2008 J.M.Quesada Several changes. Soft cut-off switched off. +// 01.05.2008 J.M.Quesada Protection against non-physical preeq. +// transitional regime has been set +// 03.09.2008 J.M.Quesada for external choice of inverse cross section option +// 06.09.2008 J.M.Quesada Also external choices have been added for: // - superimposed Coulomb barrier (useSICB=true) // - "never go back" hipothesis (useNGB=true) // - soft cutoff from preeq. to equlibrium (useSCO=true) // - CEM transition probabilities (useCEMtr=true) - +// 20.08.2010 V.Ivanchenko Cleanup of the code: +// - integer Z and A; +// - emission and transition classes created at initialisation +// - options are set at initialisation +// - do not use copy-constructors for G4Fragment #include "G4PreCompoundModel.hh" #include "G4PreCompoundEmission.hh" #include "G4PreCompoundTransitions.hh" #include "G4GNASHTransitions.hh" #include "G4ParticleDefinition.hh" +#include "G4Proton.hh" +#include "G4Neutron.hh" - -#ifdef PRECOMPOUND_TEST -G4Fragment G4PreCompoundModel::theInitialFragmentForTest; -std::vector G4PreCompoundModel::theCreatorModels; -#endif +#include "G4NucleiProperties.hh" +#include "G4PreCompoundParameters.hh" +#include "Randomize.hh" +#include "G4DynamicParticle.hh" +#include "G4ParticleTypes.hh" +#include "G4ParticleTable.hh" +#include "G4LorentzVector.hh" G4PreCompoundModel::G4PreCompoundModel(G4ExcitationHandler * const value) : G4VPreCompoundModel(value), useHETCEmission(false), useGNASHTransition(false), OPTxs(3), useSICB(false), useNGB(false), useSCO(false), useCEMtr(true) -{} +{ + theParameters = G4PreCompoundParameters::GetAddress(); + + theEmission = new G4PreCompoundEmission(); + if(useHETCEmission) { theEmission->SetHETCModel(); } + else { theEmission->SetDefaultModel(); } + theEmission->SetOPTxs(OPTxs); + theEmission->UseSICB(useSICB); + + if(useGNASHTransition) { theTransition = new G4GNASHTransitions; } + else { theTransition = new G4PreCompoundTransitions(); } + theTransition->UseNGB(useNGB); + theTransition->UseCEMtr(useCEMtr); + + proton = G4Proton::Proton(); + neutron = G4Neutron::Neutron(); +} G4PreCompoundModel::~G4PreCompoundModel() -{} - -G4PreCompoundModel::G4PreCompoundModel() -{} - -G4PreCompoundModel::G4PreCompoundModel(const G4PreCompoundModel &) -: G4VPreCompoundModel() -{} - -const G4PreCompoundModel & G4PreCompoundModel::operator=(const G4PreCompoundModel &) { - throw G4HadronicException(__FILE__, __LINE__, "G4PreCompoundModel::operator= meant to not be accessable"); - return *this; + delete theEmission; + delete theTransition; } +///////////////////////////////////////////////////////////////////////////////////////// -G4bool G4PreCompoundModel::operator==(const G4PreCompoundModel &) const -{ - return false; -} - -G4bool G4PreCompoundModel::operator!=(const G4PreCompoundModel &) const -{ - return true; -} - - - -// Additional Declarations - -G4HadFinalState * G4PreCompoundModel::ApplyYourself(const G4HadProjectile & thePrimary, - G4Nucleus & theNucleus) +G4HadFinalState* G4PreCompoundModel::ApplyYourself(const G4HadProjectile & thePrimary, + G4Nucleus & theNucleus) { + const G4ParticleDefinition* primary = thePrimary.GetDefinition(); + if(primary != neutron && primary != proton) { + std::ostringstream errOs; + errOs << "BAD primary type in G4PreCompoundModel: " + << primary->GetParticleName() < 3.*MeV*A*/) { + PerformEquilibriumEmission(aFragment, Result); return Result; } - G4PreCompoundEmission aEmission; - if (useHETCEmission) aEmission.SetHETCModel(); - aEmission.SetUp(theInitialState); - - //for cross section options - - if (OPTxs!= 0 && OPTxs!=1 && OPTxs !=2 && OPTxs !=3 && OPTxs !=4 ) { - std::ostringstream errOs; - errOs << "BAD CROSS SECTION OPTION in G4PreCompoundModel.cc !!" <UseNGB(useNGB); - if (useCEMtr) aTransition->UseCEMtr(useCEMtr); - } - - // Main loop. It is performed until equilibrium deexcitation. - //G4int fragment=0; - + // main loop for (;;) { //fragment++; @@ -249,24 +175,22 @@ G4ReactionProductVector* G4PreCompoundModel::DeExcite(const G4Fragment & theInit //G4cout<<"Fragment number .. "<Initialize(aFragment); + G4double g = (6.0/pi2)*aFragment.GetA_asInt()*theParameters->GetLevelDensity(); + G4int EquilibriumExcitonNumber = + static_cast(std::sqrt(2.0*g*aFragment.GetExcitationEnergy())+ 0.5); + // + // G4cout<<"Neq="<GetLevelDensity(); - - - - - G4int EquilibriumExcitonNumber = static_cast(std::sqrt(2.0*g*aFragment.GetExcitationEnergy())+ 0.5); -// -// G4cout<<"Neq="<(0.2*std::sqrt(g*aFragment.GetExcitationEnergy())+ 0.5); - -// Loop for transitions, it is performed while there are preequilibrium transitions. + // Loop for transitions, it is performed while there are preequilibrium transitions. G4bool ThereIsTransition = false; // G4cout<<"----------------------------------------"<(aFragment.GetNumberOfHoles()); - G4double test = static_cast(aFragment.GetNumberOfExcitons()); - - - if (test < EquilibriumExcitonNumber) go_ahead=true; - //J. M. Quesada (Apr. 08): soft-cutoff switched off by default - if (useSCO) { - if (test < EquilibriumExcitonNumber) - // if (test < EquilibriumHoleNumber) - { - test /= static_cast(EquilibriumExcitonNumber); - // test /= static_cast(EquilibriumHoleNumber); - test -= 1.0; + do { + //transition++; + //G4cout<<"transition number .."<(aFragment.GetNumberOfHoles()); + G4int test = aFragment.GetNumberOfExcitons(); + if (test < EquilibriumExcitonNumber) { go_ahead=true; } + + //J. M. Quesada (Apr. 08): soft-cutoff switched off by default + if (useSCO) { + if (test < EquilibriumExcitonNumber) + { + G4double x = G4double(test)/G4double(EquilibriumExcitonNumber) - 1; + if( G4UniformRand() < 1.0 - std::exp(-x*x/0.32) ) { go_ahead = true; } + /* test = test*test; test /= 0.32; test = 1.0 - std::exp(-test); go_ahead = (G4UniformRand() < test); - - } - } - - //JMQ: WARNING: CalculateProbability MUST be called prior to Get methods !! (O values would be returned otherwise) - G4double TotalTransitionProbability = aTransition->CalculateProbability(aFragment); - G4double P1=aTransition->GetTransitionProb1(); - G4double P2=aTransition->GetTransitionProb2(); - G4double P3=aTransition->GetTransitionProb3(); - // G4cout<<"P1="<PerformTransition(aFragment); + } + else + { + //G4cout<<"#3 Emission"<push_back(theEmission->PerformEmission(aFragment)); + } + } + else + { + //G4cout<<"#4 EquilibriumEmission"<BreakItUp(aFragment); - - Result->insert(Result->end(),theEquilibriumResult->begin(), theEquilibriumResult->end()); - - delete theEquilibriumResult; - return; +void G4PreCompoundModel::UseHETCEmission() +{ + useHETCEmission = true; + theEmission->SetHETCModel(); } +void G4PreCompoundModel::UseDefaultEmission() +{ + useHETCEmission = false; + theEmission->SetDefaultModel(); +} + +void G4PreCompoundModel::UseGNASHTransition() { + useGNASHTransition = true; + delete theTransition; + theTransition = new G4GNASHTransitions; + theTransition->UseNGB(useNGB); + theTransition->UseCEMtr(useCEMtr); +} + +void G4PreCompoundModel::UseDefaultTransition() { + useGNASHTransition = false; + delete theTransition; + theTransition = new G4PreCompoundTransitions(); + theTransition->UseNGB(useNGB); + theTransition->UseCEMtr(useCEMtr); +} + +void G4PreCompoundModel::SetOPTxs(G4int opt) +{ + OPTxs = opt; + theEmission->SetOPTxs(OPTxs); +} + +void G4PreCompoundModel::UseSICB() +{ + useSICB = true; + theEmission->UseSICB(useSICB); +} + +void G4PreCompoundModel::UseNGB() +{ + useNGB = true; +} + +void G4PreCompoundModel::UseSCO() +{ + useSCO = true; +} + +void G4PreCompoundModel::UseCEMtr() +{ + useCEMtr = true; +} + +///////////////////////////////////////////////////////////////////////////////////////// #ifdef debug void G4PreCompoundModel::CheckConservation(const G4Fragment & theInitialState, diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundNeutron.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundNeutron.cc index 41782f4746..ae21791342 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundNeutron.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundNeutron.cc @@ -23,9 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4PreCompoundNeutron.cc,v 1.4 2009/02/11 18:06:00 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundNeutron.cc,v 1.7 2010/11/17 11:06:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -39,27 +38,35 @@ // Modified: // 21.08.2008 J. M. Quesada add choice of options // 10.02.2009 J. M. Quesada set default opt3 +// 20.08.2010 V.Ivanchenko added G4Pow and G4PreCompoundParameters pointers +// use int Z and A and cleanup // #include "G4PreCompoundNeutron.hh" +#include "G4Neutron.hh" -G4ReactionProduct * G4PreCompoundNeutron::GetReactionProduct() const +G4PreCompoundNeutron::G4PreCompoundNeutron() + : G4PreCompoundNucleon(G4Neutron::Neutron(), &theNeutronCoulombBarrier) { - G4ReactionProduct * theReactionProduct = - new G4ReactionProduct(G4Neutron::NeutronDefinition()); - theReactionProduct->SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; + ResidualA = GetRestA(); + ResidualZ = GetRestZ(); + theA = GetA(); + theZ = GetZ(); + ResidualAthrd = ResidualA13(); + FragmentAthrd = ResidualAthrd; + FragmentA = theA + ResidualA; } -G4double G4PreCompoundNeutron::GetRj(const G4int NumberParticles, const G4int NumberCharged) +G4PreCompoundNeutron::~G4PreCompoundNeutron() +{} + +G4double G4PreCompoundNeutron::GetRj(G4int nParticles, G4int nCharged) { G4double rj = 0.0; - if(NumberParticles > 0) rj = static_cast(NumberParticles - NumberCharged)/ - static_cast(NumberParticles); + if(nParticles > 0) { + rj = static_cast(nParticles - nCharged)/ + static_cast(nParticles); + } return rj; } @@ -71,17 +78,17 @@ G4double G4PreCompoundNeutron::GetRj(const G4int NumberParticles, const G4int Nu // G4double G4PreCompoundNeutron::CrossSection(const G4double K) { - ResidualA=GetRestA(); - ResidualZ=GetRestZ(); - theA=GetA(); - theZ=GetZ(); - ResidualAthrd=std::pow(ResidualA,0.33333); - FragmentA=GetA()+GetRestA(); - FragmentAthrd=std::pow(FragmentA,0.33333); + ResidualA = GetRestA(); + ResidualZ = GetRestZ(); + theA = GetA(); + theZ = GetZ(); + ResidualAthrd = ResidualA13(); + FragmentA = theA + ResidualA; + FragmentAthrd = g4pow->Z13(FragmentA); - if (OPTxs==0) return GetOpt0( K); - else if( OPTxs==1 || OPTxs==2) return GetOpt12( K); - else if (OPTxs==3 || OPTxs==4) return GetOpt34( K); + if (OPTxs==0) { return GetOpt0( K); } + else if( OPTxs==1 || OPTxs==2) { return GetOpt12( K); } + else if (OPTxs==3 || OPTxs==4) { return GetOpt34( K); } else{ std::ostringstream errOs; errOs << "BAD NEUTRON CROSS SECTION OPTION !!" <Getr0(); - // cross section is now given in mb (r0 is in mm) for the sake of consistency - //with the rest of the options - return 1.e+25*pi*(r0*ResidualAthrd)*(r0*ResidualAthrd)*GetAlpha()*(1.+GetBeta()/K); -} -// -//------- -// G4double G4PreCompoundNeutron::GetAlpha() { - // return 0.76+2.2/std::pow(GetRestA(),1.0/3.0); return 0.76+2.2/ResidualAthrd; } -// -//------------ -// + G4double G4PreCompoundNeutron::GetBeta() { // return (2.12/std::pow(GetRestA(),2.0/3.0)-0.05)*MeV/GetAlpha(); return (2.12/(ResidualAthrd*ResidualAthrd)-0.05)*MeV/GetAlpha(); } -// -//********************* OPT=1,2 : Chatterjee's cross section ************************ +//********************* OPT=1,2 : Chatterjee's cross section *************** //(fitting to cross section from Bechetti & Greenles OM potential) -G4double G4PreCompoundNeutron::GetOpt12(const G4double K) +G4double G4PreCompoundNeutron::GetOpt12(G4double K) { - G4double Kc=K; -// Pramana (Bechetti & Greenles) for neutrons is chosen + // Pramana (Bechetti & Greenles) for neutrons is chosen -// JMQ xsec is set constat above limit of validity - if (K>50) Kc=50; + // JMQ xsec is set constat above limit of validity + if (K > 50*MeV) { Kc = 50*MeV; } - G4double landa, landa0, landa1, mu, mu0, mu1,nu, nu0, nu1, nu2,xs; + G4double landa, landa0, landa1, mu, mu0, mu1,nu, nu0, nu1, nu2,xs; - landa0 = 18.57; - landa1 = -22.93; - mu0 = 381.7; - mu1 = 24.31; - nu0 = 0.172; - nu1 = -15.39; - nu2 = 804.8; - landa = landa0/ResidualAthrd + landa1; - mu = mu0*ResidualAthrd + mu1*ResidualAthrd*ResidualAthrd; - nu = nu0*ResidualAthrd*ResidualA + nu1*ResidualAthrd*ResidualAthrd + nu2 ; - xs=landa*Kc + mu + nu/Kc; - if (xs <= 0.0 ){ - std::ostringstream errOs; - G4cout<<"WARNING: NEGATIVE OPT=1 neutron cross section "<= (GetA()-GetZ()) && pplus >= GetZ()); + fact = 2*CLHEP::millibarn/(CLHEP::pi2*CLHEP::hbarc*CLHEP::hbarc*CLHEP::hbarc); } +G4PreCompoundNucleon::~G4PreCompoundNucleon() +{} + G4double G4PreCompoundNucleon:: -ProbabilityDistributionFunction(const G4double eKin, +ProbabilityDistributionFunction(G4double eKin, const G4Fragment& aFragment) { - if ( !IsItPossible(aFragment) ) return 0.0; + if ( !IsItPossible(aFragment) ) { return 0.0; } G4double U = aFragment.GetExcitationEnergy(); - G4double P = aFragment.GetNumberOfParticles(); - G4double H = aFragment.GetNumberOfHoles(); - G4double N = P + H; + G4int P = aFragment.GetNumberOfParticles(); + G4int H = aFragment.GetNumberOfHoles(); + G4int N = P + H; + + G4double g0 = (6.0/pi2)*aFragment.GetA_asInt()*theParameters->GetLevelDensity(); + G4double g1 = (6.0/pi2)*GetRestA()*theParameters->GetLevelDensity(); - G4double g0 = (6.0/pi2)*aFragment.GetA() * - G4PreCompoundParameters::GetAddress()->GetLevelDensity(); - - G4double g1 = (6.0/pi2)*GetRestA() * - G4PreCompoundParameters::GetAddress()->GetLevelDensity(); + G4double A0 = G4double(P*P+H*H+P-3*H)/(4.0*g0); + G4double A1 = (A0 - 0.5*P)/g1; - G4double A0 = ((P*P+H*H+P-H)/4.0 - H/2.0)/g0; + G4double E0 = U - A0; + if (E0 <= 0.0) { return 0.0; } - G4double A1 = (A0 - P/2.0)/g1; - - G4double E0 = std::max(0.0,U - A0); - if (E0 == 0.0) return 0.0; - G4double E1 = std::max(0.0,U - eKin - GetBindingEnergy() - A1); - if (E1 == 0.0) return 0.0; + G4double E1 = U - eKin - GetBindingEnergy() - A1; + if (E1 <= 0.0) { return 0.0; } + G4double rj = GetRj(P, aFragment.GetNumberOfCharged()); + G4double xs = CrossSection(eKin); - G4double Probability = 1.0/pi2*2.0/(hbarc*hbarc*hbarc) * GetReducedMass() - * GetRj(aFragment.GetNumberOfParticles(), aFragment.GetNumberOfCharged()) - * eKin*CrossSection(eKin)*millibarn * P*(N-1.0) * std::pow(g1*E1/(g0*E0),N-2.0)/E0 * g1/(g0*g0); - - if (GetRj(aFragment.GetNumberOfParticles(), aFragment.GetNumberOfCharged())<0.0 - || CrossSection(eKin) <0) { + if (rj <0.0 || xs < 0.0) { std::ostringstream errOs; G4cout<<"WARNING: NEGATIVE VALUES "<SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; + ResidualA = GetRestA(); + ResidualZ = GetRestZ(); + theA = GetA(); + theZ = GetZ(); + ResidualAthrd = ResidualA13(); + FragmentAthrd = ResidualAthrd; + FragmentA = theA + ResidualA; } -G4double G4PreCompoundProton::GetRj(const G4int NumberParticles, const G4int NumberCharged) +G4PreCompoundProton::~G4PreCompoundProton() +{} + +G4double G4PreCompoundProton::GetRj(G4int nParticles, G4int nCharged) { G4double rj = 0.0; - if(NumberParticles > 0) rj = static_cast(NumberCharged)/static_cast(NumberParticles); + if(nParticles > 0) { + rj = static_cast(nCharged)/static_cast(nParticles); + } return rj; } @@ -67,26 +74,23 @@ G4double G4PreCompoundProton::GetRj(const G4int NumberParticles, const G4int Num //J. M. Quesada (Dec 2007-June 2008): New inverse reaction cross sections //OPT=0 Dostrovski's parameterization //OPT=1 Chatterjee's paramaterization -//OPT=2 Wellisch's parametarization +//OPT=2,4 Wellisch's parametarization //OPT=3 Kalbach's parameterization // -G4double G4PreCompoundProton::CrossSection(const G4double K) +G4double G4PreCompoundProton::CrossSection(G4double K) { - //G4cout<<" In G4PreCompoundProton OPTxs="<Getr0(); - // cross section is now given in mb (r0 is in mm) for the sake of consistency - //with the rest of the options - return 1.e+25*pi*(r0*ResidualAthrd)*(r0*ResidualAthrd)*GetAlpha()*(1.+GetBeta()/K); -} -// -//------------ -// G4double G4PreCompoundProton::GetAlpha() { - G4double aZ = static_cast(GetRestZ()); + G4int aZ = ResidualZ; G4double C = 0.0; if (aZ >= 70) { @@ -121,24 +113,21 @@ G4double G4PreCompoundProton::GetAlpha() } return 1.0 + C; } -// -//------------------- -// + G4double G4PreCompoundProton::GetBeta() { return -GetCoulombBarrier(); } -// -//********************* OPT=1 : Chatterjee's cross section ************************ +//********************* OPT=1 : Chatterjee's cross section ********************* //(fitting to cross section from Bechetti & Greenles OM potential) -G4double G4PreCompoundProton::GetOpt1(const G4double K) +G4double G4PreCompoundProton::GetOpt1(G4double K) { G4double Kc=K; // JMQ xsec is set constat above limit of validity - if (K>50) Kc=50; + if (K > 50*MeV) { Kc = 50*MeV; } G4double landa, landa0, landa1, mu, mu0, mu1,nu, nu0, nu1, nu2,xs; G4double p, p0, p1, p2,Ec,delta,q,r,ji; @@ -158,8 +147,10 @@ G4double G4PreCompoundProton::GetOpt1(const G4double K) Ec = 1.44*theZ*ResidualZ/(1.5*ResidualAthrd+delta); p = p0 + p1/Ec + p2/(Ec*Ec); landa = landa0*ResidualA + landa1; - mu = mu0*std::pow(ResidualA,mu1); - nu = std::pow(ResidualA,mu1)*(nu0 + nu1*Ec + nu2*(Ec*Ec)); + + G4double resmu1 = g4pow->powZ(ResidualA,mu1); + mu = mu0*resmu1; + nu = resmu1*(nu0 + nu1*Ec + nu2*(Ec*Ec)); q = landa - nu/(Ec*Ec) - 2*p*Ec; r = mu + 2*nu/Ec + p*(Ec*Ec); @@ -169,40 +160,39 @@ G4double G4PreCompoundProton::GetOpt1(const G4double K) if (xs <0.0) {xs=0.0;} return xs; - } -//************* OPT=2 : Welisch's proton reaction cross section ************************ +//************* OPT=2 : Welisch's proton reaction cross section *************** -G4double G4PreCompoundProton::GetOpt2(const G4double K) +G4double G4PreCompoundProton::GetOpt2(G4double K) { - G4double rnpro,rnneu,eekin,ekin,ff1,ff2,ff3,r0,fac,fac1,fac2,b0,xine_th(0); + G4double eekin,ekin,ff1,ff2,ff3,r0,fac,fac1,fac2,b0,xine_th(0); - //This is redundant when the Coulomb barrier is overimposed to all cross sections - //It should be kept when Coulomb barrier only imposed at OPTxs=2 + // This is redundant when the Coulomb barrier is overimposed to all + // cross sections + // It should be kept when Coulomb barrier only imposed at OPTxs=2 - if(!useSICB && K<=theCoulombBarrier) return xine_th=0.0; + if(!useSICB && K<=theCoulombBarrier) { return 0.0; } eekin=K; - rnpro=ResidualZ; - rnneu=ResidualA-ResidualZ; + G4int rnneu=ResidualA-ResidualZ; ekin=eekin/1000; r0=1.36*1.e-15; fac=pi*r0*r0; b0=2.247-0.915*(1.-1./ResidualAthrd); fac1=b0*(1.-1./ResidualAthrd); fac2=1.; - if(rnneu > 1.5) fac2=std::log(rnneu); + if(rnneu > 1.5) { fac2 = g4pow->logZ(rnneu); } xine_th= 1.e+31*fac*fac2*(1.+ResidualAthrd-fac1); xine_th=(1.-0.15*std::exp(-ekin))*xine_th/(1.00-0.0007*ResidualA); - ff1=0.70-0.0020*ResidualA ; - ff2=1.00+1/ResidualA; - ff3=0.8+18/ResidualA-0.002*ResidualA; + ff1=0.70-0.0020*ResidualA; + ff2=1.00+1/G4double(ResidualA); + ff3=0.8+18/G4double(ResidualA)-0.002*ResidualA; fac=1.-(1./(1.+std::exp(-8.*ff1*(std::log10(ekin)+1.37*ff2)))); xine_th=xine_th*(1.+ff3*fac); - ff1=1.-1/ResidualA-0.001*ResidualA; - ff2=1.17-2.7/ResidualA-0.0014*ResidualA; + ff1=1.-1/G4double(ResidualA)-0.001*ResidualA; + ff2=1.17-2.7/G4double(ResidualA)-0.0014*ResidualA; fac=-8.*ff1*(std::log10(ekin)+2.0*ff2); fac=1./(1.+std::exp(fac)); xine_th=xine_th*fac; @@ -214,17 +204,14 @@ G4double G4PreCompoundProton::GetOpt2(const G4double K) throw G4HadronicException(__FILE__, __LINE__, errOs.str()); } return xine_th; - } - // *********** OPT=3 : Kalbach's cross sections (from PRECO code)************* G4double G4PreCompoundProton::GetOpt3(const G4double K) { // ** p from becchetti and greenlees (but modified with sub-barrier // ** correction function and xp2 changed from -449) - // JMQ (june 2008) : refinement of proton cross section for light systems - // + G4double landa, landa0, landa1, mu, mu0, mu1,nu, nu0, nu1, nu2; G4double p, p0, p1, p2; p0 = 15.72; @@ -247,22 +234,18 @@ G4double G4PreCompoundProton::GetOpt3(const G4double K) G4double ec,ecsq,xnulam,etest(0.),ra(0.),a,w,c,signor(1.),signor2,sig; G4double b,ecut,cut,ecut2,geom,elab; - - + G4double flow = 1.e-18; G4double spill= 1.e+18; - - - - if (ResidualA <= 60.) signor = 0.92; - else if (ResidualA < 100.) signor = 0.8 + ResidualA*0.002; - + + if (ResidualA <= 60) { signor = 0.92; } + else if (ResidualA < 100) { signor = 0.8 + ResidualA*0.002; } ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra); ecsq = ec * ec; p = p0 + p1/ec + p2/ecsq; landa = landa0*ResidualA + landa1; - a = std::pow(ResidualA,mu1); + a = g4pow->powZ(ResidualA,mu1); mu = mu0 * a; nu = a* (nu0+nu1*ec+nu2*ecsq); @@ -270,39 +253,32 @@ G4double G4PreCompoundProton::GetOpt3(const G4double K) w = 0.7 * c / 3.15; xnulam = nu / landa; - if (xnulam > spill) xnulam=0.; - if (xnulam >= flow) etest =std::sqrt(xnulam) + 7.; + if (xnulam > spill) { xnulam=0.; } + if (xnulam >= flow) { etest =std::sqrt(xnulam) + 7.; } a = -2.*p*ec + landa - nu/ecsq; b = p*ecsq + mu + 2.*nu/ec; ecut = 0.; cut = a*a - 4.*p*b; - if (cut > 0.) ecut = std::sqrt(cut); + if (cut > 0.) { ecut = std::sqrt(cut); } ecut = (ecut-a) / (p+p); ecut2 = ecut; - if (cut < 0.) ecut2 = ecut - 2.; - elab = K * FragmentA / ResidualA; + //JMQ 290310 for avoiding unphysical increase below minimum (at ecut) + // ecut<0 means that there is no cut with energy axis, i.e. xs is set + // to 0 bellow minimum + // if (cut < 0.) ecut2 = ecut - 2.; + if (cut < 0.) { ecut2 = ecut; } + elab = K * FragmentA /G4double(ResidualA); sig = 0.; if (elab <= ec) { //start for E ecut2) sig = (p*elab*elab+a*elab+b) * signor; + if (elab > ecut2) { sig = (p*elab*elab+a*elab+b) * signor; } signor2 = (ec-elab-c) / w; signor2 = 1. + std::exp(signor2); sig = sig / signor2; - // signor2 is empirical global corr'n at low elab for protons in PRECO, not enough for light targets - // refinement for proton cross section - if (ResidualZ<=26) - sig = sig*std::exp(-(a2*ResidualZ + b2)*(elab-(afit*ResidualZ+bfit)*ec)*(elab-(afit*ResidualZ+bfit)*ec)); - - } //end for EEc sig = (landa*elab+mu+nu/elab) * signor; - - // refinement for proton cross section - if ( ResidualZ<=26 && elab <=(afit*ResidualZ+bfit)*ec) - sig = sig*std::exp(-(a2*ResidualZ + b2)*(elab-(afit*ResidualZ+bfit)*ec)*(elab-(afit*ResidualZ+bfit)*ec)); - // - geom = 0.; if (xnulam < flow || elab < etest) @@ -316,11 +292,5 @@ G4double G4PreCompoundProton::GetOpt3(const G4double K) sig = std::max(geom,sig); } //end for E>Ec - return sig; } - -// ************************** end of cross sections ******************************* - - - diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTransitions.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTransitions.cc index 6396478399..95c8c9b02a 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTransitions.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTransitions.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PreCompoundTransitions.cc,v 1.22 2009/11/21 18:03:13 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PreCompoundTransitions.cc,v 1.27 2010/10/20 00:47:46 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------------- // @@ -36,96 +36,93 @@ // Author: V.Lara // // Modified: -// 16.02.2008 J. M. Quesada fixed bugs -// 06.09.2008 J. M. Quesada added external choices for: +// 16.02.2008 J.M.Quesada fixed bugs +// 06.09.2008 J.M.Quesada added external choices for: // - "never go back" hipothesis (useNGB=true) // - CEM transition probabilities (useCEMtr=true) - -// 30.10.09 J.M.Quesada: CEM transition probabilities have been renormalized +// 30.10.2009 J.M.Quesada: CEM transition probabilities have been renormalized // (IAEA benchmark) +// 20.08.2010 V.Ivanchenko move constructor and destructor to the source and +// optimise the code // + #include "G4PreCompoundTransitions.hh" #include "G4HadronicException.hh" +#include "G4PreCompoundParameters.hh" +#include "G4Proton.hh" +#include "Randomize.hh" +#include "G4Pow.hh" -const G4PreCompoundTransitions & G4PreCompoundTransitions:: -operator=(const G4PreCompoundTransitions &) +G4PreCompoundTransitions::G4PreCompoundTransitions() { - throw G4HadronicException(__FILE__, __LINE__, "G4PreCompoundTransitions::operator= meant to not be accessable"); - return *this; -} - - -G4bool G4PreCompoundTransitions::operator==(const G4PreCompoundTransitions &) const -{ - return false; -} - -G4bool G4PreCompoundTransitions::operator!=(const G4PreCompoundTransitions &) const -{ - return true; + proton = G4Proton::Proton(); + FermiEnergy = G4PreCompoundParameters::GetAddress()->GetFermiEnergy(); + r0 = G4PreCompoundParameters::GetAddress()->GetTransitionsr0(); + aLDP = G4PreCompoundParameters::GetAddress()->GetLevelDensity(); + g4pow = G4Pow::GetInstance(); } +G4PreCompoundTransitions::~G4PreCompoundTransitions() +{} +// Calculates transition probabilities with +// DeltaN = +2 (Trans1) -2 (Trans2) and 0 (Trans3) G4double G4PreCompoundTransitions:: CalculateProbability(const G4Fragment & aFragment) { - //G4cout<<"In G4PreCompoundTransitions.cc useNGB="<SetMomentum(GetMomentum().vect()); - theReactionProduct->SetTotalEnergy(GetMomentum().e()); -#ifdef PRECOMPOUND_TEST - theReactionProduct->SetCreatorModel("G4PrecompoundModel"); -#endif - return theReactionProduct; -} + ResidualA = GetRestA(); + ResidualZ = GetRestZ(); + theA = GetA(); + theZ = GetZ(); + ResidualAthrd = ResidualA13(); + FragmentAthrd = ResidualAthrd; + FragmentA = theA + ResidualA; +} -G4double G4PreCompoundTriton::FactorialFactor(const G4double N, const G4double P) +G4PreCompoundTriton::~G4PreCompoundTriton() +{} + +G4double G4PreCompoundTriton::FactorialFactor(G4int N, const G4int P) { - return - (N-3.0)*(P-2.0)*( - (((N-2.0)*(P-1.0))/2.0) *( - (((N-1.0)*P)/3.0) - ) - ); + return G4double((N-3)*(P-2)*(N-2)*(P-1)*(N-1)*P)/6.0; } -G4double G4PreCompoundTriton::CoalescenceFactor(const G4double A) +G4double G4PreCompoundTriton::CoalescenceFactor(G4int A) { - return 243.0/(A*A); + return 243.0/G4double(A*A); } -G4double G4PreCompoundTriton::GetRj(const G4int NumberParticles, const G4int NumberCharged) +G4double G4PreCompoundTriton::GetRj(G4int nParticles, G4int nCharged) { G4double rj = 0.0; - G4double denominator = NumberParticles*(NumberParticles-1)*(NumberParticles-2); - if(NumberCharged >= 1 && (NumberParticles-NumberCharged) >= 2) { - rj = 3.0*static_cast(NumberCharged*(NumberParticles-NumberCharged)*(NumberParticles-NumberCharged-1)) - /static_cast(denominator); + if(nCharged >= 1 && (nParticles-nCharged) >= 2) { + G4double denominator = + G4double(nParticles*(nParticles-1)*(nParticles-2)); + rj = G4double(3*nCharged*(nParticles-nCharged)*(nParticles-nCharged-1)) + /denominator; } return rj; } -//////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////// //J. M. Quesada (Dec 2007-June 2008): New inverse reaction cross sections //OPT=0 Dostrovski's parameterization //OPT=1,2 Chatterjee's paramaterization //OPT=3,4 Kalbach's parameterization // -G4double G4PreCompoundTriton::CrossSection(const G4double K) +G4double G4PreCompoundTriton::CrossSection(G4double K) { - ResidualA=GetRestA(); - ResidualZ=GetRestZ(); - theA=GetA(); - theZ=GetZ(); - ResidualAthrd=std::pow(ResidualA,0.33333); - FragmentA=GetA()+GetRestA(); - FragmentAthrd=std::pow(FragmentA,0.33333); + ResidualA = GetRestA(); + ResidualZ = GetRestZ(); + theA = GetA(); + theZ = GetZ(); + ResidualAthrd = ResidualA13(); + FragmentA = theA + ResidualA; + FragmentAthrd = g4pow->Z13(FragmentA); - if (OPTxs==0) return GetOpt0( K); - else if( OPTxs==1 || OPTxs==2) return GetOpt12( K); - else if (OPTxs==3 || OPTxs==4) return GetOpt34( K); + if (OPTxs==0) { return GetOpt0( K); } + else if( OPTxs==1 || OPTxs==2) { return GetOpt12( K); } + else if (OPTxs==3 || OPTxs==4) { return GetOpt34( K); } else{ std::ostringstream errOs; errOs << "BAD TRITON CROSS SECTION OPTION !!" <Getr0(); - // cross section is now given in mb (r0 is in mm) for the sake of consistency - //with the rest of the options - return 1.e+25*pi*(r0*ResidualAthrd)*(r0*ResidualAthrd)*GetAlpha()*(1.+GetBeta()/K); -} -// -//--------- -// G4double G4PreCompoundTriton::GetAlpha() { G4double C = 0.0; - G4double aZ = GetZ() + GetRestZ(); + G4int aZ = theZ + ResidualZ; if (aZ >= 70) { C = 0.10; @@ -136,24 +123,17 @@ G4double G4PreCompoundTriton::GetAlpha() return 1.0 + C/3.0; } + // -//------------- -// -G4double G4PreCompoundTriton::GetBeta() -{ - return -GetCoulombBarrier(); -} -// -//********************* OPT=1,2 : Chatterjee's cross section ************************ +//********************* OPT=1,2 : Chatterjee's cross section ***************** //(fitting to cross section from Bechetti & Greenles OM potential) -G4double G4PreCompoundTriton::GetOpt12(const G4double K) +G4double G4PreCompoundTriton::GetOpt12(G4double K) { - G4double Kc=K; // JMQ xsec is set constat above limit of validity - if (K>50) Kc=50; + if (K > 50*MeV) { Kc=50*MeV; } G4double landa ,mu ,nu ,p , Ec,q,r,ji,xs; @@ -172,8 +152,10 @@ G4double G4PreCompoundTriton::GetOpt12(const G4double K) Ec = 1.44*theZ*ResidualZ/(1.5*ResidualAthrd+delta); p = p0 + p1/Ec + p2/(Ec*Ec); landa = landa0*ResidualA + landa1; - mu = mu0*std::pow(ResidualA,mu1); - nu = std::pow(ResidualA,mu1)*(nu0 + nu1*Ec + nu2*(Ec*Ec)); + + G4double resmu1 = g4pow->powZ(ResidualA,mu1); + mu = mu0*resmu1; + nu = resmu1*(nu0 + nu1*Ec + nu2*(Ec*Ec)); q = landa - nu/(Ec*Ec) - 2*p*Ec; r = mu + 2*nu/Ec + p*(Ec*Ec); @@ -184,23 +166,19 @@ G4double G4PreCompoundTriton::GetOpt12(const G4double K) if (xs <0.0) {xs=0.0;} return xs; - } // *********** OPT=3,4 : Kalbach's cross sections (from PRECO code)************* -G4double G4PreCompoundTriton::GetOpt34(const G4double K) +G4double G4PreCompoundTriton::GetOpt34(G4double K) // ** t from o.m. of hafele, flynn et al { - G4double landa, mu, nu, p , signor(1.),sig; G4double ec,ecsq,xnulam,etest(0.),a; G4double b,ecut,cut,ecut2,geom,elab; - G4double flow = 1.e-18; G4double spill= 1.e+18; - G4double p0 = -21.45; G4double p1 = 484.7; G4double p2 = -1608.; @@ -220,38 +198,39 @@ G4double G4PreCompoundTriton::GetOpt34(const G4double K) ecsq = ec * ec; p = p0 + p1/ec + p2/ecsq; landa = landa0*ResidualA + landa1; - a = std::pow(ResidualA,mu1); + a = g4pow->powZ(ResidualA,mu1); mu = mu0 * a; nu = a* (nu0+nu1*ec+nu2*ecsq); xnulam = nu / landa; - if (xnulam > spill) xnulam=0.; - if (xnulam >= flow) etest = 1.2 *std::sqrt(xnulam); + if (xnulam > spill) { xnulam=0.; } + if (xnulam >= flow) { etest = 1.2 *std::sqrt(xnulam); } a = -2.*p*ec + landa - nu/ecsq; b = p*ecsq + mu + 2.*nu/ec; ecut = 0.; cut = a*a - 4.*p*b; - if (cut > 0.) ecut = std::sqrt(cut); + if (cut > 0.) { ecut = std::sqrt(cut); } ecut = (ecut-a) / (p+p); ecut2 = ecut; - if (cut < 0.) ecut2 = ecut - 2.; - elab = K * FragmentA / ResidualA; + //JMQ 290310 for avoiding unphysical increase below minimum (at ecut) + // ecut<0 means that there is no cut with energy axis, i.e. xs is set + // to 0 bellow minimum + // if (cut < 0.) ecut2 = ecut - 2.; + if (cut < 0.) { ecut2 = ecut; } + elab = K * FragmentA / G4double(ResidualA); sig = 0.; if (elab <= ec) { //start for E ecut2) sig = (p*elab*elab+a*elab+b) * signor; + if (elab > ecut2) { sig = (p*elab*elab+a*elab+b) * signor; } } //end for EEc sig = (landa*elab+mu+nu/elab) * signor; geom = 0.; - if (xnulam < flow || elab < etest) return sig; + if (xnulam < flow || elab < etest) { return sig; } geom = std::sqrt(theA*K); geom = 1.23*ResidualAthrd + ra + 4.573/geom; geom = 31.416 * geom * geom; sig = std::max(geom,sig); } //end for E>Ec return sig; - } - -// ************************** end of cross sections ******************************* diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundEmissionFactory.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundEmissionFactory.cc index cb5382ed87..4017ba5b34 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundEmissionFactory.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundEmissionFactory.cc @@ -23,51 +23,23 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // - +// $Id: G4VPreCompoundEmissionFactory.cc,v 1.5 2010/08/28 15:16:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// // by V. Lara #include "G4VPreCompoundEmissionFactory.hh" -#include "G4HadronicException.hh" - -const G4VPreCompoundEmissionFactory & -G4VPreCompoundEmissionFactory::operator=(const G4VPreCompoundEmissionFactory & ) -{ - throw G4HadronicException(__FILE__, __LINE__, "G4VPreCompoundEmissionFactory::operator= meant to not be accessable."); - return *this; -} - -G4bool -G4VPreCompoundEmissionFactory::operator==(const G4VPreCompoundEmissionFactory & ) const -{ - throw G4HadronicException(__FILE__, __LINE__, "G4VPreCompoundEmissionFactory::operator== meant to not be accessable."); - return false; -} - -G4bool -G4VPreCompoundEmissionFactory::operator!=(const G4VPreCompoundEmissionFactory & ) const -{ - throw G4HadronicException(__FILE__, __LINE__, "G4VPreCompoundEmissionFactory::operator!= meant to not be accessable."); - return true; -} - - +G4VPreCompoundEmissionFactory::G4VPreCompoundEmissionFactory() + : fragvector(0) +{} G4VPreCompoundEmissionFactory::~G4VPreCompoundEmissionFactory() { - if (_fragvector != 0) - std::for_each(_fragvector->begin(), _fragvector->end(), - DeleteFragment()); - delete _fragvector; + if (fragvector != 0) + std::for_each(fragvector->begin(), fragvector->end(), + DeleteFragment()); + delete fragvector; } -std::vector * -G4VPreCompoundEmissionFactory::GetFragmentVector() -{ - // Lazy initialization - if (_fragvector == 0) - _fragvector = CreateFragmentVector(); - return _fragvector; -} - diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundFragment.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundFragment.cc index 18da93aeab..8545aa7168 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundFragment.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundFragment.cc @@ -23,81 +23,38 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VPreCompoundFragment.cc,v 1.12 2009/02/10 16:01:37 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VPreCompoundFragment.cc,v 1.15 2010/11/02 17:33:28 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // -// J. M. Quesada (August 2008). -// Based on previous work by V. Lara +// J. M. Quesada (August 2008). Based on previous work by V. Lara // - +// Modified: +// 20.08.2010 V.Ivanchenko added G4Pow and G4PreCompoundParameters pointers +// use int Z and A and cleanup + #include "G4VPreCompoundFragment.hh" #include "G4PreCompoundParameters.hh" +#include "G4NucleiProperties.hh" -G4VPreCompoundFragment:: -G4VPreCompoundFragment(const G4VPreCompoundFragment & right) +G4VPreCompoundFragment::G4VPreCompoundFragment( + const G4ParticleDefinition* part, G4VCoulombBarrier* aCoulombBarrier) + : particle(part), theCoulombBarrierPtr(aCoulombBarrier), + theRestNucleusA(0),theRestNucleusZ(0),theBindingEnergy(0.0), + theMaximalKineticEnergy(-MeV),theRestNucleusMass(0.0), + theReducedMass(0.0),theMomentum(0.,0.,0.,0.), + theEmissionProbability(0.0),theCoulombBarrier(0.0), + OPTxs(3),useSICB(false) { - theA = right.theA; - theZ = right.theZ; - theRestNucleusA = right.theRestNucleusA; - theRestNucleusZ = right.theRestNucleusZ; - theCoulombBarrier = right.theCoulombBarrier; - theCoulombBarrierPtr = right.theCoulombBarrierPtr; - theMaximalKineticEnergy = right.theMaximalKineticEnergy; - theEmissionProbability = right.theEmissionProbability; - theMomentum = right.theMomentum; - theFragmentName = right.theFragmentName; - theStage = right.theStage; + theA = particle->GetBaryonNumber(); + theZ = G4int(particle->GetPDGCharge()/eplus + 0.1); + theMass = particle->GetPDGMass(); + theParameters = G4PreCompoundParameters::GetAddress(); + g4pow = G4Pow::GetInstance(); + theRestNucleusA13 = 0; } -G4VPreCompoundFragment:: -G4VPreCompoundFragment(const G4double anA, - const G4double aZ, - G4VCoulombBarrier* aCoulombBarrier, - const G4String & aName): - theA(anA),theZ(aZ), - theRestNucleusA(0.0),theRestNucleusZ(0.0),theCoulombBarrier(0.0), - theCoulombBarrierPtr(aCoulombBarrier), - theBindingEnergy(0.0), theMaximalKineticEnergy(-1.0), - theEmissionProbability(0.0), theMomentum(0.0,0.0,0.0,0.0), - theFragmentName(aName),theStage(0) -{} - - - G4VPreCompoundFragment::~G4VPreCompoundFragment() -{ -} - - -const G4VPreCompoundFragment & G4VPreCompoundFragment:: -operator= (const G4VPreCompoundFragment & right) -{ - if (this != &right) { - theA = right.theA; - theZ = right.theZ; - theRestNucleusA = right.theRestNucleusA; - theRestNucleusZ = right.theRestNucleusZ; - theCoulombBarrier = right.theCoulombBarrier; - theCoulombBarrierPtr = right.theCoulombBarrierPtr; - theMaximalKineticEnergy = right.theMaximalKineticEnergy; - theEmissionProbability = right.theEmissionProbability; - theMomentum = right.theMomentum; - theFragmentName = right.theFragmentName; - theStage = right.theStage; - } - return *this; -} - -G4int G4VPreCompoundFragment::operator==(const G4VPreCompoundFragment & right) const -{ - return (this == (G4VPreCompoundFragment *) &right); -} - -G4int G4VPreCompoundFragment::operator!=(const G4VPreCompoundFragment & right) const -{ - return (this != (G4VPreCompoundFragment *) &right); -} - +{} std::ostream& operator << (std::ostream &out, const G4VPreCompoundFragment &theFragment) @@ -106,7 +63,6 @@ operator << (std::ostream &out, const G4VPreCompoundFragment &theFragment) return out; } - std::ostream& operator << (std::ostream &out, const G4VPreCompoundFragment *theFragment) { @@ -114,31 +70,21 @@ operator << (std::ostream &out, const G4VPreCompoundFragment *theFragment) out.setf(std::ios::floatfield); out - << "PreCompound Model Emitted Fragment: A = " + << "PreCompoundModel Emitted Fragment: A = " << std::setprecision(3) << theFragment->theA - << ", Z = " << std::setprecision(3) << theFragment->theZ; - out.setf(std::ios::scientific,std::ios::floatfield); - // out - // << ", U = " << theFragment->theExcitationEnergy/MeV - // << " MeV" << endl - // << " P = (" - // << theFragment->theMomentum.x()/MeV << "," - // << theFragment->theMomentum.y()/MeV << "," - // << theFragment->theMomentum.z()/MeV - // << ") MeV E = " - // << theFragment->theMomentum.t()/MeV << " MeV"; + << ", Z = " << std::setprecision(3) << theFragment->theZ + << " Mass(GeV)= " << theFragment->theMass/CLHEP::GeV; out.setf(old_floatfield,std::ios::floatfield); - return out; } - -void G4VPreCompoundFragment:: -Initialize(const G4Fragment & aFragment) +void +G4VPreCompoundFragment::Initialize(const G4Fragment & aFragment) { - theRestNucleusA = aFragment.GetA() - theA; - theRestNucleusZ = aFragment.GetZ() - theZ; + theRestNucleusA = aFragment.GetA_asInt() - theA; + theRestNucleusZ = aFragment.GetZ_asInt() - theZ; + theRestNucleusA13 = g4pow->Z13(theRestNucleusA); if ((theRestNucleusA < theRestNucleusZ) || (theRestNucleusA < theA) || @@ -148,32 +94,25 @@ Initialize(const G4Fragment & aFragment) theMaximalKineticEnergy = 0.0; return; } - - + // Calculate Coulomb barrier theCoulombBarrier = theCoulombBarrierPtr-> - GetCoulombBarrier(static_cast(theRestNucleusA),static_cast(theRestNucleusZ), + GetCoulombBarrier(theRestNucleusA,theRestNucleusZ, aFragment.GetExcitationEnergy()); + // Calculate masses + theRestNucleusMass = + G4NucleiProperties::GetNuclearMass(theRestNucleusA, theRestNucleusZ); + theReducedMass = theRestNucleusMass*theMass/(theRestNucleusMass + theMass); // Compute Binding Energies for fragments - // (needed to separate a fragment from the nucleus) - - theBindingEnergy = G4NucleiProperties::GetMassExcess(static_cast(theA),static_cast(theZ)) + - G4NucleiProperties::GetMassExcess(static_cast(theRestNucleusA),static_cast(theRestNucleusZ)) - - G4NucleiProperties::GetMassExcess(static_cast(aFragment.GetA()),static_cast(aFragment.GetZ())); - - // Compute Maximal Kinetic Energy which can be carried by fragments after separation - // This is the true (assimptotic) maximal kinetic energy - G4double m = aFragment.GetMomentum().m(); - G4double rm = GetRestNuclearMass(); - G4double em = GetNuclearMass(); - theMaximalKineticEnergy = ((m - rm)*(m + rm) + em*em)/(2.0*m) - em; - - - return; + // needed to separate a fragment from the nucleus + theBindingEnergy = + theRestNucleusMass + theMass - aFragment.GetGroundStateMass(); + + // Compute Maximal Kinetic Energy which can be carried by fragments + // after separation - the true assimptotic value + G4double Ecm = aFragment.GetMomentum().m(); + theMaximalKineticEnergy = + ((Ecm-theRestNucleusMass)*(Ecm+theRestNucleusMass) + theMass*theMass)/(2.0*Ecm)-theMass; } - - - - diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundIon.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundTransitions.cc similarity index 80% rename from source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundIon.hh rename to source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundTransitions.cc index ebe6ac329a..1edce32d87 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundIon.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundTransitions.cc @@ -23,24 +23,18 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4VPreCompoundTransitions.cc,v 1.1 2010/08/20 07:42:19 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // - -// $Id: G4VPreCompoundIon.hh,v 1.9 2008/09/22 10:18:36 ahoward Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// V.Ivanchenko 20.08.2010 // -// by V. Lara -// -//J.M. Quesada (Apr. 2008) DUMMY abstract base class for ions. -// Not ihherited by anything -// Suppressed - - - +#include "G4VPreCompoundTransitions.hh" +G4VPreCompoundTransitions::G4VPreCompoundTransitions() + :useNGB(false),useCEMtr(false), + TransitionProb1(0.0), TransitionProb2(0.0), TransitionProb3(0.0) +{} - - - - - +G4VPreCompoundTransitions::~G4VPreCompoundTransitions() +{} diff --git a/source/processes/hadronic/models/qmd/CMakeLists.txt b/source/processes/hadronic/models/qmd/CMakeLists.txt new file mode 100644 index 0000000000..0313d48e7f --- /dev/null +++ b/source/processes/hadronic/models/qmd/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4hadronic_qmd +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_qmd +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:06:29 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/qmd/History b/source/processes/hadronic/models/qmd/History index 86a6a4d94b..90a94794db 100644 --- a/source/processes/hadronic/models/qmd/History +++ b/source/processes/hadronic/models/qmd/History @@ -13,6 +13,13 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +18-November-2010 Tatsumi Koi (hadr-qmd-V09-03-00) +- Enable RQMD + include/G4QMDReaction.hh + src/G4QMDReaction.cc + include/G4QMDMeanField.hh + src/G4QMDMeanField.cc + 20-November-2009 Tatsumi Koi (hadr-qmd-V09-02-03) - Delete obviously unnecessary dependency in GNUMakefile GNUmakefile diff --git a/source/processes/hadronic/models/qmd/include/G4QMDMeanField.hh b/source/processes/hadronic/models/qmd/include/G4QMDMeanField.hh index 1e2e187337..de9f6f20bc 100644 --- a/source/processes/hadronic/models/qmd/include/G4QMDMeanField.hh +++ b/source/processes/hadronic/models/qmd/include/G4QMDMeanField.hh @@ -59,6 +59,7 @@ class G4QMDMeanField G4bool IsPauliBlocked( G4int ); G4double GetTotalPotential(); + G4double GetPotential( G4int ); void DoPropagation( G4double ); diff --git a/source/processes/hadronic/models/qmd/include/G4QMDReaction.hh b/source/processes/hadronic/models/qmd/include/G4QMDReaction.hh index 25fce3f4bb..71bfd0185f 100644 --- a/source/processes/hadronic/models/qmd/include/G4QMDReaction.hh +++ b/source/processes/hadronic/models/qmd/include/G4QMDReaction.hh @@ -73,6 +73,10 @@ class G4QMDReaction : public G4HadronicInteraction void EnableFermiG(){ heg = true; setHighEnergyModel(); }; + void SetTMAX( G4int i ){ maxTime = i; }; + void SetDT( G4double t ){ deltaT = t; }; + void SetEF( G4double x ){ envelopF = x; }; + private: void setEvaporationCh(); @@ -88,6 +92,7 @@ class G4QMDReaction : public G4HadronicInteraction G4QMDSystem* system; G4double deltaT; G4int maxTime; + G4double envelopF; G4Evaporation* evaporation; G4ExcitationHandler* excitationHandler; diff --git a/source/processes/hadronic/models/qmd/sources.cmake b/source/processes/hadronic/models/qmd/sources.cmake new file mode 100644 index 0000000000..96ab1557d5 --- /dev/null +++ b/source/processes/hadronic/models/qmd/sources.cmake @@ -0,0 +1,129 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4hadronic_qmd +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_qmd +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:06:37 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/shortlived/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/binary_cascade/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/fermi_breakup/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/handler/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/multifragmentation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/photon_evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/im_r_matrix/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/diffraction/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/hadronization/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/parton_string/qgsm/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/theo_high_energy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4hadronic_qmd + HEADERS + G4QMDCollision.hh + G4QMDGroundStateNucleus.hh + G4QMDMeanField.hh + G4QMDNucleus.hh + G4QMDParameters.hh + G4QMDParticipant.hh + G4QMDReaction.hh + G4QMDSystem.hh + SOURCES + G4QMDCollision.cc + G4QMDGroundStateNucleus.cc + G4QMDMeanField.cc + G4QMDNucleus.cc + G4QMDParameters.cc + G4QMDParticipant.cc + G4QMDReaction.cc + G4QMDSystem.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_im_r_matrix + G4had_mod_man + G4had_mod_util + G4had_string_diff + G4had_string_frag + G4had_string_man + G4had_theo_max + G4hadronic_binary + G4hadronic_deex_evaporation + G4hadronic_deex_fermi_breakup + G4hadronic_deex_handler + G4hadronic_deex_management + G4hadronic_deex_multifragmentation + G4hadronic_deex_photon_evaporation + G4hadronic_deex_util + G4hadronic_mgt + G4hadronic_proc + G4hadronic_qgstring + G4hadronic_util + G4hadronic_xsect + G4hepnumerics + G4ions + G4leptons + G4magneticfield + G4materials + G4mesons + G4partman + G4procman + G4shortlived + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/qmd/src/G4QMDMeanField.cc b/source/processes/hadronic/models/qmd/src/G4QMDMeanField.cc index 3662d988ad..5f90f20362 100644 --- a/source/processes/hadronic/models/qmd/src/G4QMDMeanField.cc +++ b/source/processes/hadronic/models/qmd/src/G4QMDMeanField.cc @@ -391,12 +391,24 @@ void G4QMDMeanField::CalGraduate() G4ThreeVector ri = system->GetParticipant( i )->GetPosition(); G4LorentzVector p4i = system->GetParticipant( i )->Get4Momentum(); - + G4ThreeVector betai = p4i.v()/p4i.e(); - ffr[i] = betai; +// R-JQMD + G4double Vi = GetPotential( i ); + G4double p_zero = std::sqrt( p4i.e()*p4i.e() + 2*p4i.m()*Vi); + G4ThreeVector betai_R = p4i.v()/p_zero; + G4double mi_R = p4i.m()/p_zero; +// + ffr[i] = betai_R; ffp[i] = G4ThreeVector( 0.0 ); + if ( false ) + { + ffr[i] = betai; + mi_R = 1.0; + } + for ( G4int j = 0 ; j < system->GetTotalNumberOfParticipant() ; j ++ ) { @@ -416,6 +428,7 @@ void G4QMDMeanField::CalGraduate() + csg * rha[j][i] * jnuc * inuc * ( 1. - 2. * std::abs( jcharge - icharge ) ) + cl * rhc[j][i]; + ccpp *= mi_R; /* std::cout << c0g << " " << c3g << " " << csg << " " << cl << std::endl; @@ -434,14 +447,14 @@ void G4QMDMeanField::CalGraduate() */ - G4ThreeVector rij = ri - rj; - G4ThreeVector betaij = ( p4i + p4j ).v()/eij; + G4ThreeVector rij = ri - rj; + G4ThreeVector betaij = ( p4i + p4j ).v()/eij; - G4ThreeVector cij = betaij - betai; + G4ThreeVector cij = betaij - betai; - ffr[i] = ffr[i] + 2*ccrr* ( rij + grbb*cij ); + ffr[i] = ffr[i] + 2*ccrr* ( rij + grbb*cij ); - ffp[i] = ffp[i] - 2*ccpp* ( rij + grbb*betaij ); + ffp[i] = ffp[i] - 2*ccpp* ( rij + grbb*betaij ); } } @@ -453,6 +466,42 @@ void G4QMDMeanField::CalGraduate() +G4double G4QMDMeanField::GetPotential( G4int i ) +{ + G4int n = system->GetTotalNumberOfParticipant(); + + G4double rhoa = 0.0; + G4double rho3 = 0.0; + G4double rhos = 0.0; + G4double rhoc = 0.0; + + + G4int icharge = system->GetParticipant(i)->GetChargeInUnitOfEplus(); + G4int inuc = system->GetParticipant(i)->GetNuc(); + + for ( G4int j = 0 ; j < n ; j ++ ) + { + G4int jcharge = system->GetParticipant(j)->GetChargeInUnitOfEplus(); + G4int jnuc = system->GetParticipant(j)->GetNuc(); + + rhoa += rha[j][i]; + rhoc += rhe[j][i]; + rhos += rha[j][i] * jnuc * inuc + * ( 1 - 2 * std::abs ( jcharge - icharge ) ); + } + + rho3 = std::pow ( rhoa , gamm ); + + G4double potential = c0 * rhoa + + c3 * rho3 + + cs * rhos + + cl * rhoc; + + return potential; +} + + + G4double G4QMDMeanField::GetTotalPotential() { diff --git a/source/processes/hadronic/models/qmd/src/G4QMDReaction.cc b/source/processes/hadronic/models/qmd/src/G4QMDReaction.cc index 855d1ef1cd..43d38c8b0e 100644 --- a/source/processes/hadronic/models/qmd/src/G4QMDReaction.cc +++ b/source/processes/hadronic/models/qmd/src/G4QMDReaction.cc @@ -42,8 +42,9 @@ G4QMDReaction::G4QMDReaction() : system ( NULL ) -, deltaT ( 1 ) // in fsec +, deltaT ( 1 ) // in fsec (c=1) , maxTime ( 100 ) // will have maxTime-th time step +, envelopF ( 1.05 ) // 10% for Peripheral reactions , gem ( true ) , frag ( false ) { @@ -154,7 +155,8 @@ G4HadFinalState* G4QMDReaction::ApplyYourself( const G4HadProjectile & projectil { // impact parameter - G4double bmax = 1.05*(bmax_0/fermi); // 10% for Peripheral reactions + //G4double bmax = 1.05*(bmax_0/fermi); // 10% for Peripheral reactions + G4double bmax = envelopF*(bmax_0/fermi); G4double b = bmax * std::sqrt ( G4UniformRand() ); //071112 //G4double b = 0; diff --git a/source/processes/hadronic/models/radioactive_decay/CMakeLists.txt b/source/processes/hadronic/models/radioactive_decay/CMakeLists.txt new file mode 100644 index 0000000000..ce9cf766ac --- /dev/null +++ b/source/processes/hadronic/models/radioactive_decay/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4hadronic_radioactivedecay +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_radioactivedecay +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:06:45 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/radioactive_decay/History b/source/processes/hadronic/models/radioactive_decay/History index 5d2dee0ed1..22972019e0 100644 --- a/source/processes/hadronic/models/radioactive_decay/History +++ b/source/processes/hadronic/models/radioactive_decay/History @@ -13,11 +13,82 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +18 November 2010 F.Lei (radioactive_decay-V09-03-04) +- src/G4RadioactiveDecay.cc:1593 get rid of the compalition warning with gcc4.5.1 + +17 November 2010 F.Lei (radioactive_decay-V09-03-03) +- Completed the implementation of generating the activity table in VR mode +- Set the default h-l threshold to 1 micros in VR mode. +- General improvement in VR mode implementation. +- G4RadioactiveDecaymessenger.cc: icmCMD,armCMD & hlThreshold are available at all states. + +11 November 2010 F.Lei +- further updates to G4RadioactivityTable.hh .cc and G4RadioactiveDecay.hh .cc + +10 November 2010 Dennis Wright (radioactive_decay-V09-03-02) +------------------------------------------------------------- +- G4RadioactiveDecay.cc : replaced incorrect use of "->" with "." for G4Track + in DecayIt(const G4Track&, ) + +- G4RadioactivityTable.cc : add include file for and replace map + with std::map in method AddIsotope + +29 Oct 2010 F. Lei +------------------ +- Added G4RadioactivityTable.hh .cc files for tallying the accumulated radioactivitties in VR mode +- Added in G4RadioactiveDecay.hh: + std::vector GetTheRadioactivityTables() {return theRadioactivityTables;} + // this is how the radioactivity tables can be retrieved by the user + std::vector theRadioactivityTables; + std::map decayWindows; +- In G4RadioactiveDecay.cc: + starting line 1291: changes need to setup the radioactivity tables + line 1624: include the track weight in the weight calculation + line 1627: add the rate to the radioactivity tables +- improved formatting of all the class files + + +11 Oct 2010 F. Lei (radioactive_decay-V09-03-01) + +- G4RadioactiveDecay.cc: apply SetICM(), SetARM() & SetHLThreshold() in all decay modes +- G4RadioactiveDecay.cc: halflifethreshold = 0.*second; +- G4RadioactiveDecaymessenger.cc: removed (>0.) restrictions to hlCMD +- G4RadioactiveDecaymessenger.cc: icmCMD,armCMD & hlCMD are available at PreInit state only. + +26 May 2010 Dennis Wright (radioactive_decay-V09-03-00) +------------------------------------------------------- +tag HEAD to submit for testing + +11 May 2010 F.Lei +- G4RadioactiveDecay.cc::LoadDecayTable:line 931 create a decaytable for isomers not included in RDM database and assume + they all under go IT decay. +- G4RadioactiveDecay.cc: line 1434 after DoDecay() check if there is any secondary produced. Kill the track if not to + prevent it entering a infinite loop +- G4RadioactiveDecay.cc: line 1459. make sure the propertime is positive. negative case occures when the isomer is not in + RDM database and its f-l is set to -1 by default. +- G4NuclearDecayChannel.cc: Added initialisation to all three constructors: + halflifethreshold = 1e-6*second; + applyICM = true; + applyARM = true; + +10 May 2010 F.Lei +- G4RadioactiveDecay.hh:line 264 corrected typo as pointed out by Luciano Pandola +- G4RadioactiveDecay.cc: insert a special treatment for K-40 beta decay at line 774 as suggested by Mauro Taiuti. + This fixes bug #1068 + applied SetICM() SetARM() and SetHLThreshold() to a decay channel is created. +- G4NuclearDecayChannel.cc: line 396. Limit the shell index to < 7, as required by the ARM. + line 329: change to use BreakUp rather than BreakItUp so to limit to one transition per step when ICM is applied (bug #1001) + (Note: changes have also been made in 30/08/2008 to use the correct atomic shell index and to conserve energy atfer ARM, + these problems were pointed out by Andreas Zoglauer in the bug report). +- G4RadioactiveDecay.hh & G4NuclearDecayChannel.hh: added private member data "applyICM" "applyARM" "halflifethresold" + and their public Set methods SetICM(), SetARM() and SetHLThreshold(). +- G4RadioactiveDecaymessenger: added the UICommands for SetICM, SETARM and SetHLThreshold. 24 July 2009 V.Ivanchenko (radioactive_decay-V09-02-00) - GNUmakefile - added dependence on electromagnetic/utils 09 July 2008 Dennis Wright (radioactive_decay-V09-01-02) +-------------------------------------------------------- - replace exit() with G4Exception in G4RadioactiveDecay and G4NuclearDecayChannel 17 June 2008 Fan Lei (radioactive_decay-V09-01-01) diff --git a/source/processes/hadronic/models/radioactive_decay/README_RDM b/source/processes/hadronic/models/radioactive_decay/README_RDM new file mode 100644 index 0000000000..037a0bb1b5 --- /dev/null +++ b/source/processes/hadronic/models/radioactive_decay/README_RDM @@ -0,0 +1,38 @@ + +This README file provides instructions for reading the radioactive decay +schemes in the files zXX.aYYY found in the directory RadioactiveDecay3.2 +(most recent version). This directory, as well as previous versions, is +available from the Geant4 download page + +http://geant4.web.cern.ch/geant4/support/download.shtml + +under the Data files heading. In order to use the radioactive decay module +correctly, you must download and unpack the above directory in your local +area, and set the environment variable + +G4RADIOACTIVEDATA + +to point to it. + +************************************************************************** +In each of the files, lines beginning with either a 'W' or a '#' are +comments. + +Lines beginning with a 'P' are headers, each of which describes a level of +the nucleus. The first number is the excitation energy in keV, the second +is the half life in seconds. Indented lines under the 'P' lines are decay +modes for that excitation. There are two type of records here, +distinguished by the number of columns. + +If there are 3 columns only, this is a header which describes all decays of +that type from this level. The first column is the decay mode, the second +column is zero, and the third column in the branching ratio to this mode, +as a fraction of unity. Therefore, the third columns of all the 3-column +records under a given 'P' line should sum to 1.0. + +If there are four columns, this is a record which describes a subset of the +decay type, specific to a given lower level in the daughter species. The +first column is the decay type, the second column is the excitation level +of the daughter (in keV), and the third column is the branching ratio as a +percentage (! note... not a fraction of unity) of the total branching ratio +which came from the 3-column record for this decay. diff --git a/source/processes/hadronic/models/radioactive_decay/include/G4NuclearDecayChannel.hh b/source/processes/hadronic/models/radioactive_decay/include/G4NuclearDecayChannel.hh index 5736e076aa..47adf289d2 100644 --- a/source/processes/hadronic/models/radioactive_decay/include/G4NuclearDecayChannel.hh +++ b/source/processes/hadronic/models/radioactive_decay/include/G4NuclearDecayChannel.hh @@ -87,6 +87,15 @@ public: // with description G4DecayProducts *DecayIt (G4double theParentMass); // Returns the decay products // + void SetHLThreshold (G4double hl) {halflifethreshold = hl;} + // Set the half-life threshold for isomer production + // + void SetICM (G4bool icm) {applyICM = icm;} + // Enable/disable ICM + // + void SetARM (G4bool arm) {applyARM = arm;} + // Enable/disable ARM + // inline G4RadioactiveDecayMode GetDecayMode () {return decayMode;} // Returns the decay mode // @@ -135,6 +144,9 @@ protected: G4double Qtransition; G4double FermiFN; G4bool BetaSimple; + G4double halflifethreshold; + G4bool applyICM; + G4bool applyARM; CLHEP::RandGeneral* RandomEnergy; }; #endif diff --git a/source/processes/hadronic/models/radioactive_decay/include/G4RadioactiveDecay.hh b/source/processes/hadronic/models/radioactive_decay/include/G4RadioactiveDecay.hh index 5ec36bb862..498d57d89b 100644 --- a/source/processes/hadronic/models/radioactive_decay/include/G4RadioactiveDecay.hh +++ b/source/processes/hadronic/models/radioactive_decay/include/G4RadioactiveDecay.hh @@ -60,8 +60,11 @@ #include "G4RadioactiveDecayRate.hh" #include "G4RadioactiveDecayRateVector.hh" #include "G4RIsotopeTable.hh" +#include "G4RadioactivityTable.hh" + #include + //class G4UserlimitsForRD; //////////////////////////////////////////////////////////////////////////////// @@ -73,207 +76,232 @@ typedef std::vector G4RadioactiveDecayRates; class G4RadioactiveDecay : public G4VRestDiscreteProcess { - // class description - - // Implementation of nuclear radioactive decay process. - // It simulates the decays of radioactive nuclei, which is submitted to RDM in the form - // of G4Ions. Half-liffe and decay schemes are hold in the Radioactivity database - // All decay products are submitted back to the particle tracking process through - // the G4ParticleChangeForRadDecay object. + // class description + + // Implementation of nuclear radioactive decay process. + // It simulates the decays of radioactive nuclei, which is submitted to RDM in the form + // of G4Ions. Half-liffe and decay schemes are hold in the Radioactivity database + // All decay products are submitted back to the particle tracking process through + // the G4ParticleChangeForRadDecay object. + + // class description - end - // class description - end - public: // with description - G4RadioactiveDecay (const G4String& processName="RadioactiveDecay"); - ~G4RadioactiveDecay(); - // constructor and destructor - // + G4RadioactiveDecay (const G4String& processName="RadioactiveDecay"); + ~G4RadioactiveDecay(); + // constructor and destructor + // - G4bool IsApplicable(const G4ParticleDefinition &); - // Returns true if the specified isotope is - // 1) defined as "nucleus" and - // 2) it is within theNucleusLimit - // - G4bool IsLoaded (const G4ParticleDefinition &); - // Returns true if the decay table of the specified nuclei is ready. - // - void SelectAVolume(const G4String aVolume); - // Select a logical volume in which RDM applies. - // - void DeselectAVolume(const G4String aVolume); - // remove a logical volume from the RDM applied list - // - void SelectAllVolumes(); - // Select all logical volumes for the application of RDM. - // - void DeselectAllVolumes(); - // Remove all logical volumes from RDM applications. - // - void SetDecayBias (G4String filename); - // Sets the decay biasing scheme using the data in "filename" - // - void SetSourceTimeProfile (G4String filename) ; - // Sets source exposure function using histograms in "filename" - // - G4bool IsRateTableReady(const G4ParticleDefinition &); - // Returns true if the coefficient and decay time table for all the - // descendants of the specified isotope are ready. - // - // used in VR decay mode only - // - void AddDecayRateTable(const G4ParticleDefinition &); - // Calculates the coefficient and decay time table for all the descendants - // of the specified isotope. Adds the calculated table to the private data - // member "theDecayRateTableVector". - // - // - // used in VR decay mode only - // - void GetDecayRateTable(const G4ParticleDefinition &); - // Used to retrieve the coefficient and decay time table for all the - // descendants of the specified isotope from "theDecayRateTableVector" - // and place it in "theDecayRateTable". - // - // - // used in VR decay mode only - // - void SetDecayRate(G4int,G4int,G4double, G4int, std::vector, - std::vector); - // Sets "theDecayRate" with data supplied in the arguements. - // - // // - // used in VR decay mode only - // + G4bool IsApplicable(const G4ParticleDefinition &); + // Returns true if the specified isotope is + // 1) defined as "nucleus" and + // 2) it is within theNucleusLimit + // + G4bool IsLoaded (const G4ParticleDefinition &); + // Returns true if the decay table of the specified nuclei is ready. + // + void SelectAVolume(const G4String aVolume); + // Select a logical volume in which RDM applies. + // + void DeselectAVolume(const G4String aVolume); + // remove a logical volume from the RDM applied list + // + void SelectAllVolumes(); + // Select all logical volumes for the application of RDM. + // + void DeselectAllVolumes(); + // Remove all logical volumes from RDM applications. + // + void SetDecayBias (G4String filename); + // Sets the decay biasing scheme using the data in "filename" + // + void SetHLThreshold (G4double hl) {halflifethreshold = hl;} + // Set the half-life threshold for isomer production + // + void SetICM (G4bool icm) {applyICM = icm;} + // Enable/disable ICM + // + void SetARM (G4bool arm) {applyARM = arm;} + // Enable/disable ARM + // + void SetSourceTimeProfile (G4String filename) ; + // Sets source exposure function using histograms in "filename" + // + G4bool IsRateTableReady(const G4ParticleDefinition &); + // Returns true if the coefficient and decay time table for all the + // descendants of the specified isotope are ready. + // + // used in VR decay mode only + // + void AddDecayRateTable(const G4ParticleDefinition &); + // Calculates the coefficient and decay time table for all the descendants + // of the specified isotope. Adds the calculated table to the private data + // member "theDecayRateTableVector". + // + // + // used in VR decay mode only + // + void GetDecayRateTable(const G4ParticleDefinition &); + // Used to retrieve the coefficient and decay time table for all the + // descendants of the specified isotope from "theDecayRateTableVector" + // and place it in "theDecayRateTable". + // + // + // used in VR decay mode only + // + void SetDecayRate(G4int,G4int,G4double, G4int, std::vector, + std::vector); + // Sets "theDecayRate" with data supplied in the arguements. + // + // // + // used in VR decay mode only + // - G4DecayTable *LoadDecayTable (G4ParticleDefinition & theParentNucleus); - // Load the decay data of isotope theParentNucleus. - // - inline void SetVerboseLevel(G4int value) {verboseLevel = value;} - // Sets the VerboseLevel which controls duggering display. - // - inline G4int GetVerboseLevel() const {return verboseLevel;} - // Returns the VerboseLevel which controls level of debugging output. - // - inline void SetNucleusLimits(G4NucleusLimits theNucleusLimits1) - {theNucleusLimits = theNucleusLimits1 ;} - // Sets theNucleusLimits which specifies the range of isotopes - // the G4RadioactiveDecay applies. - // - inline G4NucleusLimits GetNucleusLimits() const - {return theNucleusLimits;} - // Returns theNucleusLimits which specifies the range of isotopes - // the G4RadioactiveDecay applies. - // - inline void SetAnalogueMonteCarlo (G4bool r ) { AnalogueMC = r; } - // Controls whether G4RadioactiveDecay runs in analogue mode or - // variance reduction mode. - inline void SetFBeta (G4bool r ) { FBeta = r; } - // Controls whether G4RadioactiveDecay uses fast beta simulation mode - // - inline G4bool IsAnalogueMonteCarlo () {return AnalogueMC;} - // Returns true if the simulation is an analogue Monte Carlo, and false if - // any of the biassing schemes have been selected. - // - inline void SetBRBias (G4bool r ) { BRBias = r; - SetAnalogueMonteCarlo(0);} - // Sets whether branching ration bias scheme applies. - // - inline void SetSplitNuclei (G4int r) { NSplit = r; SetAnalogueMonteCarlo(0); } - // Sets the N number for the Nuclei spliting bias scheme - // - inline G4int GetSplitNuclei () {return NSplit;} - // Returns the N number used for the Nuclei spliting bias scheme - // + std::vector GetTheRadioactivityTables() {return theRadioactivityTables;} + // return the vector of G4Radioactivity map + // should be used in VR mode only + + G4DecayTable *LoadDecayTable (G4ParticleDefinition & theParentNucleus); + // Load the decay data of isotope theParentNucleus. + // + inline void SetVerboseLevel(G4int value) {verboseLevel = value;} + // Sets the VerboseLevel which controls duggering display. + // + inline G4int GetVerboseLevel() const {return verboseLevel;} + // Returns the VerboseLevel which controls level of debugging output. + // + inline void SetNucleusLimits(G4NucleusLimits theNucleusLimits1) + {theNucleusLimits = theNucleusLimits1 ;} + // Sets theNucleusLimits which specifies the range of isotopes + // the G4RadioactiveDecay applies. + // + inline G4NucleusLimits GetNucleusLimits() const + {return theNucleusLimits;} + // Returns theNucleusLimits which specifies the range of isotopes + // the G4RadioactiveDecay applies. + // + inline void SetAnalogueMonteCarlo (G4bool r ) { + AnalogueMC = r; + if (!AnalogueMC) halflifethreshold = 1e-6*s; + } + // Controls whether G4RadioactiveDecay runs in analogue mode or + // variance reduction mode. + inline void SetFBeta (G4bool r ) { FBeta = r; } + // Controls whether G4RadioactiveDecay uses fast beta simulation mode + // + inline G4bool IsAnalogueMonteCarlo () {return AnalogueMC;} + // Returns true if the simulation is an analogue Monte Carlo, and false if + // any of the biassing schemes have been selected. + // + inline void SetBRBias (G4bool r ) { BRBias = r; + SetAnalogueMonteCarlo(0);} + // Sets whether branching ration bias scheme applies. + // + inline void SetSplitNuclei (G4int r) { NSplit = r; SetAnalogueMonteCarlo(0); } + // Sets the N number for the Nuclei spliting bias scheme + // + inline G4int GetSplitNuclei () {return NSplit;} + // Returns the N number used for the Nuclei spliting bias scheme + // public: - - void BuildPhysicsTable(const G4ParticleDefinition &); + + void BuildPhysicsTable(const G4ParticleDefinition &); protected: - G4VParticleChange* DecayIt( const G4Track& theTrack, - const G4Step& theStep); + G4VParticleChange* DecayIt( const G4Track& theTrack, + const G4Step& theStep); - G4DecayProducts* DoDecay(G4ParticleDefinition& theParticleDef); + G4DecayProducts* DoDecay(G4ParticleDefinition& theParticleDef); - G4double GetMeanFreePath(const G4Track& theTrack, - G4double previousStepSize, - G4ForceCondition* condition); + G4double GetMeanFreePath(const G4Track& theTrack, + G4double previousStepSize, + G4ForceCondition* condition); - G4double GetMeanLifeTime(const G4Track& theTrack, - G4ForceCondition* condition); + G4double GetMeanLifeTime(const G4Track& theTrack, + G4ForceCondition* condition); - G4double GetTaoTime(G4double,G4double); + G4double GetTaoTime(G4double,G4double); - G4double GetDecayTime(); + G4double GetDecayTime(); - G4int GetDecayTimeBin(const G4double aDecayTime); + G4int GetDecayTimeBin(const G4double aDecayTime); private: - G4RadioactiveDecay(const G4RadioactiveDecay &right); - G4RadioactiveDecay & operator=(const G4RadioactiveDecay &right); + G4RadioactiveDecay(const G4RadioactiveDecay &right); + G4RadioactiveDecay & operator=(const G4RadioactiveDecay &right); private: - G4RadioactiveDecaymessenger *theRadioactiveDecaymessenger; + G4RadioactiveDecaymessenger *theRadioactiveDecaymessenger; - G4PhysicsTable *aPhysicsTable; + G4PhysicsTable *aPhysicsTable; - G4RIsotopeTable *theIsotopeTable; + G4RIsotopeTable *theIsotopeTable; - G4NucleusLimits theNucleusLimits; + G4NucleusLimits theNucleusLimits; - const G4double HighestBinValue; - const G4double LowestBinValue; + const G4double HighestBinValue; + const G4double LowestBinValue; - const G4int TotBin; + const G4int TotBin; - G4bool AnalogueMC; - G4bool BRBias; - G4bool FBeta; - G4int NSplit; + G4bool AnalogueMC; + G4bool BRBias; + G4bool FBeta; + G4int NSplit; - G4int NSourceBin; - G4double SBin[99]; - G4double SProfile[99]; + G4double halflifethreshold; + G4bool applyICM; + G4bool applyARM; - G4int NDecayBin; - G4double DBin[99]; - G4double DProfile[99]; + G4int NSourceBin; + G4double SBin[99]; + G4double SProfile[99]; - std::vector LoadedNuclei; - std::vector ValidVolumes; + G4int NDecayBin; + G4double DBin[99]; + G4double DProfile[99]; - G4RadioactiveDecayRate theDecayRate; - G4RadioactiveDecayRates theDecayRateVector; - G4RadioactiveDecayRateVector theDecayRateTable; - G4RadioactiveDecayRateTable theDecayRateTableVector; + std::vector LoadedNuclei; + std::vector ValidVolumes; - static const G4double levelTolerance; + G4RadioactiveDecayRate theDecayRate; + G4RadioactiveDecayRates theDecayRateVector; + G4RadioactiveDecayRateVector theDecayRateTable; + G4RadioactiveDecayRateTable theDecayRateTableVector; - // Remainder of life time at rest - G4double fRemainderLifeTime; + // for the radioactivity tables + std::vector theRadioactivityTables; + G4int decayWindows[99]; - G4int verboseLevel; + // + static const G4double levelTolerance; + + // Remainder of life time at rest + G4double fRemainderLifeTime; + + G4int verboseLevel; - // ParticleChange for decay process - G4ParticleChangeForRadDecay fParticleChangeForRadDecay; + // ParticleChange for decay process + G4ParticleChangeForRadDecay fParticleChangeForRadDecay; - inline G4double AtRestGetPhysicalInteractionLengt - (const G4Track& track, G4ForceCondition* condition) - {fRemainderLifeTime = G4VRestDiscreteProcess:: - AtRestGetPhysicalInteractionLength(track, condition ); - return fRemainderLifeTime;} + inline G4double AtRestGetPhysicalInteractionLength + (const G4Track& track, G4ForceCondition* condition) + {fRemainderLifeTime = G4VRestDiscreteProcess:: + AtRestGetPhysicalInteractionLength(track, condition ); + return fRemainderLifeTime;} - inline G4VParticleChange* AtRestDoIt - (const G4Track& theTrack, const G4Step& theStep) - {return DecayIt(theTrack, theStep);} + inline G4VParticleChange* AtRestDoIt + (const G4Track& theTrack, const G4Step& theStep) + {return DecayIt(theTrack, theStep);} - inline G4VParticleChange* PostStepDoIt - (const G4Track& theTrack, const G4Step& theStep) - {return DecayIt(theTrack, theStep);} + inline G4VParticleChange* PostStepDoIt + (const G4Track& theTrack, const G4Step& theStep) + {return DecayIt(theTrack, theStep);} }; #endif diff --git a/source/processes/hadronic/models/radioactive_decay/include/G4RadioactiveDecaymessenger.hh b/source/processes/hadronic/models/radioactive_decay/include/G4RadioactiveDecaymessenger.hh index afc3f2e7f2..7926d1741a 100644 --- a/source/processes/hadronic/models/radioactive_decay/include/G4RadioactiveDecaymessenger.hh +++ b/source/processes/hadronic/models/radioactive_decay/include/G4RadioactiveDecaymessenger.hh @@ -106,6 +106,9 @@ public: //with description G4UIcmdWithAString *deavolumeCmd; G4UIcmdWithoutParameter *allvolumesCmd; G4UIcmdWithoutParameter *deallvolumesCmd; + G4UIcmdWithABool *icmCmd; + G4UIcmdWithABool *armCmd; + G4UIcmdWithADoubleAndUnit *hlthCmd; }; #endif diff --git a/source/processes/hadronic/models/radioactive_decay/include/G4RadioactivityTable.hh b/source/processes/hadronic/models/radioactive_decay/include/G4RadioactivityTable.hh new file mode 100644 index 0000000000..f180d7f3ab --- /dev/null +++ b/source/processes/hadronic/models/radioactive_decay/include/G4RadioactivityTable.hh @@ -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. * +// ******************************************************************** +// +#ifndef G4RadioactivityTable_h +#define G4RadioactivityTable_h 1 +// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +// +// MODULE: G4RadioactivityTable.hh +// +// Version: 0.b.4 +// Date: 14/04/00 +// Author: F Lei & P R Truscott +// Organisation: DERA UK +// Customer: ESA/ESTEC, NOORDWIJK +// Contract: 12115/96/JG/NL Work Order No. 3 +// +// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +// +// CHANGE HISTORY +// --------------. +// +// 29 October 2010, F Lei, QinetiQ, UK +// First created +// +/////////////////////////////////////////////////////////////////////////////// + +#include "globals.hh" +#include +#include "G4ThreeVector.hh" + +using std::map; + + +class G4RadioactivityTable +{ + // class description + // G4RadioactivityTable is the table of the radioactive isotopes and their + // activities. It is used in the variance reduction mode to recorde the + // induced radioactivity in the RDM sensitive volumes. + // class description - end + +public: + // constructor + // + G4RadioactivityTable (); + + // destructor + virtual ~G4RadioactivityTable(); + + // G4RadioactivityTable(const G4RadioactivityTable &right); + +public: + // with description + // + void AddIsotope( G4int, G4int, G4double, G4double); + // Add an isotope (Z,A,E) of rate to the table. + // + G4double GetRate(G4int, G4int, G4double); + // Get the rate of isotoe (Z,A,E) + // + G4int Entries() const; + // Get the total number of isotope spieces in the table + // + map* GetTheMap(); + // Return the stl map! Mainly for printing. + // +private: + + map fRadioactivity; + +}; + +#endif + + + + + + diff --git a/source/processes/hadronic/models/radioactive_decay/sources.cmake b/source/processes/hadronic/models/radioactive_decay/sources.cmake new file mode 100644 index 0000000000..6692afe559 --- /dev/null +++ b/source/processes/hadronic/models/radioactive_decay/sources.cmake @@ -0,0 +1,122 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4hadronic_radioactivedecay +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_radioactivedecay +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/11/29 17:54:52 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/lowenergy/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/photon_evaporation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/de_excitation/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4hadronic_radioactivedecay + HEADERS + G4AlphaDecayChannel.hh + G4BetaFermiFunction.hh + G4BetaMinusDecayChannel.hh + G4BetaPlusDecayChannel.hh + G4ITDecayChannel.hh + G4KshellECDecayChannel.hh + G4LshellECDecayChannel.hh + G4MshellECDecayChannel.hh + G4NuclearDecayChannel.hh + G4NucleusLimits.hh + G4RIsotopeTable.hh + G4RadioactiveDecay.hh + G4RadioactiveDecayMode.hh + G4RadioactiveDecayRate.hh + G4RadioactiveDecayRateVector.hh + G4RadioactiveDecaymessenger.hh + G4RadioactivityTable.hh + G4UIcmdWithNucleusLimits.hh + G4UserLimitsForRD.hh + SOURCES + G4BetaFermiFunction.cc + G4NuclearDecayChannel.cc + G4NucleusLimits.cc + G4RIsotopeTable.cc + G4RadioactiveDecay.cc + G4RadioactiveDecayMode.cc + G4RadioactiveDecayRate.cc + G4RadioactiveDecayRateVector.cc + G4RadioactiveDecaymessenger.cc + G4RadioactivityTable.cc + G4UIcmdWithNucleusLimits.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4emlowenergy + G4emutils + G4geometrymng + G4globman + G4had_mod_util + G4hadronic_deex_management + G4hadronic_deex_photon_evaporation + G4hadronic_deex_util + G4hadronic_mgt + G4hadronic_proc + G4hadronic_util + G4hadronic_xsect + G4intercoms + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/radioactive_decay/src/G4NuclearDecayChannel.cc b/source/processes/hadronic/models/radioactive_decay/src/G4NuclearDecayChannel.cc index 978e09c126..5b044b95db 100644 --- a/source/processes/hadronic/models/radioactive_decay/src/G4NuclearDecayChannel.cc +++ b/source/processes/hadronic/models/radioactive_decay/src/G4NuclearDecayChannel.cc @@ -100,6 +100,9 @@ G4NuclearDecayChannel::G4NuclearDecayChannel SetNumberOfDaughters (1); FillDaughterNucleus (0, A, Z, theDaughterExcitation); Qtransition = theQtransition; + halflifethreshold = 1e-6*second; + applyICM = true; + applyARM = true; } /////////////////////////////////////////////////////////////////////////////// // @@ -130,6 +133,9 @@ G4NuclearDecayChannel::G4NuclearDecayChannel SetDaughter(0, theDaughterName1); FillDaughterNucleus (1, A, Z, theDaughterExcitation); Qtransition = theQtransition; + halflifethreshold = 1e-6*second; + applyICM = true; + applyARM = true; } /////////////////////////////////////////////////////////////////////////////// // @@ -170,6 +176,9 @@ G4NuclearDecayChannel::G4NuclearDecayChannel RandomEnergy = randBeta; Qtransition = theQtransition; FermiFN = theFFN; + halflifethreshold = 1e-6*second; + applyICM = true; + applyARM = true; } //////////////////////////////////////////////////////////////////////////////// @@ -287,12 +296,12 @@ G4DecayProducts *G4NuclearDecayChannel::DecayIt (G4double theParentMass) } // // If the decay is to an excited state of the daughter nuclide, we need - // to apply the photo-evaporation process. + // to apply the photo-evaporation process. This includes the IT decay mode itself. // // needed to hold the shell idex after ICM G4int shellIndex = -1; // - if (daughterExcitation > 0.0) + if (daughterExcitation > 0.0) { // // Pop the daughter nucleus off the product vector - we need to retain @@ -310,11 +319,11 @@ G4DecayProducts *G4NuclearDecayChannel::DecayIt (G4double theParentMass) G4PhotonEvaporation* deexcitation = new G4PhotonEvaporation; deexcitation->SetVerboseLevel(GetVerboseLevel()); // switch on/off internal electron conversion - deexcitation->SetICM(true); + deexcitation->SetICM(applyICM); // set the maximum life-time for a level that will be treated. Level with life-time longer than this // will be outputed as meta-stable isotope // - deexcitation->SetMaxHalfLife(1e-6*second); + deexcitation->SetMaxHalfLife(halflifethreshold); // but in IT mode, we need to force the transition if (decayMode == 0) { deexcitation->RDMForced(true); @@ -322,10 +331,16 @@ G4DecayProducts *G4NuclearDecayChannel::DecayIt (G4double theParentMass) deexcitation->RDMForced(false); } // - // Get the gammas by deexciting the nucleus. - // - G4FragmentVector* gammas = deexcitation->BreakItUp(nucleus); - // in the case of BreakItUp(nucleus), the returned G4FragmentVector contains the residual nuclide + // Now apply the photo-evaporation + // Use BreakUp() so limit to one transition at a time, if ICM is requested + // this change is realted to bug#1001 (F.Lei 07/05/2010) + G4FragmentVector* gammas = 0; + if (applyICM) { + gammas = deexcitation->BreakUp(nucleus); + } else { + gammas = deexcitation->BreakItUp(nucleus); + } + // the returned G4FragmentVector contains the residual nuclide // as its last entry. G4int nGammas=gammas->size()-1; // @@ -342,7 +357,7 @@ G4DecayProducts *G4NuclearDecayChannel::DecayIt (G4double theParentMass) products->PushProducts (theGammaRay); } // - // now the nucleus + // now the nucleus G4double finalDaughterExcitation = gammas->operator[](nGammas)->GetExcitationEnergy(); // f.lei (03/01/03) this is needed to fix the crach in test18 if (finalDaughterExcitation <= 1.0*keV) finalDaughterExcitation = 0 ; @@ -355,6 +370,7 @@ G4DecayProducts *G4NuclearDecayChannel::DecayIt (G4double theParentMass) (theIonTable->GetIon(daughterZ,daughterA,finalDaughterExcitation), daughterMomentum1); products->PushProducts (dynamicDaughter); + // retrive the ICM shell index shellIndex = deexcitation->GetVacantShellNumber(); @@ -391,7 +407,9 @@ G4DecayProducts *G4NuclearDecayChannel::DecayIt (G4double theParentMass) case MshellEC: // { - eShell = G4int(G4UniformRand()*5)+4; + // limit the shell index to 6 as specified by the ARM (F.Lei 06/05/2010) + // eShell = G4int(G4UniformRand()*5)+4; + eShell = G4int(G4UniformRand()*3)+4; } break; case ERROR: @@ -400,14 +418,15 @@ G4DecayProducts *G4NuclearDecayChannel::DecayIt (G4double theParentMass) FatalException, "Error in decay mode selection"); } } - // now deal with the IT case where ICM may have been applied + // Also have to deal with the IT case where ICM may have been applied // if (decayMode == 0) { eShell = shellIndex; } - // now apply ARM if there is a vaccancy // - if (eShell != -1) { + // now apply ARM if it is requested and there is a vaccancy + // + if (applyARM && eShell != -1) { G4int aZ = daughterZ; if (aZ > 5 && aZ < 100) { // only applies to 5< Z <100 // Retrieve the corresponding identifier and binding energy of the selected shell diff --git a/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecay.cc b/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecay.cc index 17d0a0af45..4c110c3712 100644 --- a/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecay.cc +++ b/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecay.cc @@ -120,10 +120,9 @@ const G4double G4RadioactiveDecay::levelTolerance =2.0*keV; // // Constructor // -G4RadioactiveDecay::G4RadioactiveDecay - (const G4String& processName) - :G4VRestDiscreteProcess(processName, fDecay), HighestBinValue(10.0), - LowestBinValue(1.0e-3), TotBin(200), verboseLevel(0) +G4RadioactiveDecay::G4RadioactiveDecay (const G4String& processName) + :G4VRestDiscreteProcess(processName, fDecay), HighestBinValue(10.0), + LowestBinValue(1.0e-3), TotBin(200), verboseLevel(0) { #ifdef G4VERBOSE if (GetVerboseLevel()>1) { @@ -135,7 +134,7 @@ G4RadioactiveDecay::G4RadioactiveDecay theIsotopeTable = new G4RIsotopeTable(); aPhysicsTable = 0; pParticleChange = &fParticleChangeForRadDecay; - + // // Now register the Isotopetable with G4IonTable. // @@ -155,18 +154,24 @@ G4RadioactiveDecay::G4RadioactiveDecay // NSourceBin = 1; SBin[0] = 0.* s; - SBin[1] = 1e10 * s; + SBin[1] = 1.* s; SProfile[0] = 1.; - SProfile[1] = 1.; + SProfile[1] = 0.; NDecayBin = 1; - DBin[0] = 9.9e9 * s ; - DBin[1] = 1e10 * s; + DBin[0] = 0. * s ; + DBin[1] = 1. * s; DProfile[0] = 1.; DProfile[1] = 0.; + decayWindows[0] = 0; + G4RadioactivityTable* rTable = new G4RadioactivityTable() ; + theRadioactivityTables.push_back(rTable); NSplit = 1; AnalogueMC = true ; FBeta = false ; BRBias = true ; + applyICM = true ; + applyARM = true ; + halflifethreshold = 0.*second; // // RDM applies to xall logical volumes as default SelectAllVolumes(); @@ -183,8 +188,8 @@ G4RadioactiveDecay::~G4RadioactiveDecay() aPhysicsTable->clearAndDestroy(); delete aPhysicsTable; } - // delete theIsotopeTable; - delete theRadioactiveDecaymessenger; + // delete theIsotopeTable; + delete theRadioactiveDecaymessenger; } /////////////////////////////////////////////////////////////////////////////// @@ -193,15 +198,15 @@ G4RadioactiveDecay::~G4RadioactiveDecay() // IsApplicable // G4bool G4RadioactiveDecay::IsApplicable( const G4ParticleDefinition & - aParticle) + aParticle) { // // // All particles, other than G4Ions, are rejected by default. // + if (((const G4Ions*)(&aParticle))->GetExcitationEnergy() > 0.) {return true;} if (aParticle.GetParticleName() == "GenericIon") {return true;} else if (!(aParticle.GetParticleType() == "nucleus") || aParticle.GetPDGLifeTime() < 0. ) {return false;} - // // // Determine whether the nuclide falls into the correct A and Z range. @@ -220,7 +225,7 @@ G4bool G4RadioactiveDecay::IsApplicable( const G4ParticleDefinition & // IsLoaded // G4bool G4RadioactiveDecay::IsLoaded(const G4ParticleDefinition & - aParticle) + aParticle) { // // @@ -228,8 +233,8 @@ G4bool G4RadioactiveDecay::IsLoaded(const G4ParticleDefinition & // loaded. // return std::binary_search(LoadedNuclei.begin(), - LoadedNuclei.end(), - aParticle.GetParticleName()); + LoadedNuclei.end(), + aParticle.GetParticleName()); } //////////////////////////////////////////////////////////////////////////////// // @@ -238,7 +243,7 @@ G4bool G4RadioactiveDecay::IsLoaded(const G4ParticleDefinition & // void G4RadioactiveDecay::SelectAVolume(const G4String aVolume) { - + G4LogicalVolumeStore *theLogicalVolumes; G4LogicalVolume *volume; theLogicalVolumes=G4LogicalVolumeStore::GetInstance(); @@ -327,7 +332,7 @@ void G4RadioactiveDecay::DeselectAllVolumes() if (GetVerboseLevel()>0) G4cout << " RDM removed from all volumes" << G4endl; #endif - + } /////////////////////////////////////////////////////////////////////////////// @@ -336,7 +341,7 @@ void G4RadioactiveDecay::DeselectAllVolumes() // IsRateTableReady // G4bool G4RadioactiveDecay::IsRateTableReady(const G4ParticleDefinition & - aParticle) + aParticle) { // // @@ -347,7 +352,7 @@ G4bool G4RadioactiveDecay::IsRateTableReady(const G4ParticleDefinition & for (size_t i = 0; i < theDecayRateTableVector.size(); i++) { if (theDecayRateTableVector[i].GetIonName() == aParticleName) - return true ; + return true ; } return false; } @@ -359,7 +364,7 @@ G4bool G4RadioactiveDecay::IsRateTableReady(const G4ParticleDefinition & // retrieve the decayratetable for the specified aParticle // void G4RadioactiveDecay::GetDecayRateTable(const G4ParticleDefinition & - aParticle) + aParticle) { G4String aParticleName = aParticle.GetParticleName(); @@ -372,11 +377,11 @@ void G4RadioactiveDecay::GetDecayRateTable(const G4ParticleDefinition & } } #ifdef G4VERBOSE - if (GetVerboseLevel()>0) - { - G4cout <<"The DecayRate Table for " - << aParticleName << " is selected." << G4endl; - } + if (GetVerboseLevel()>0) + { + G4cout <<"The DecayRate Table for " + << aParticleName << " is selected." << G4endl; + } #endif } //////////////////////////////////////////////////////////////////////////////// @@ -384,7 +389,7 @@ void G4RadioactiveDecay::GetDecayRateTable(const G4ParticleDefinition & // // GetTaoTime // -// to perform the convilution of the sourcetimeprofile function with the +// to perform the convolution of the source time profile function with the // decay constants in the decay chain. // G4double G4RadioactiveDecay::GetTaoTime(G4double t, G4double tao) @@ -404,13 +409,18 @@ G4double G4RadioactiveDecay::GetTaoTime(G4double t, G4double tao) } } taotime += SProfile[nbin] * (1-std::exp(-(t-SBin[nbin])/tao)); + if (taotime < 0.) { + G4cout <<" Tao time: " <1) {G4cout <<" Tao time: " <1) - {G4cout <<" Decay time: " < DBin[i]) return i+1; - } - return 1; + G4int i = 0; + while ( aDecayTime > DBin[i] ) i++; + return i; } //////////////////////////////////////////////////////////////////////////////// // @@ -468,7 +476,7 @@ G4double G4RadioactiveDecay::GetMeanLifeTime(const G4Track& theTrack, const G4DynamicParticle* theParticle = theTrack.GetDynamicParticle(); G4ParticleDefinition* theParticleDef = theParticle->GetDefinition(); G4double theLife = theParticleDef->GetPDGLifeTime(); - + #ifdef G4VERBOSE if (GetVerboseLevel()>2) { @@ -481,12 +489,14 @@ G4double G4RadioactiveDecay::GetMeanLifeTime(const G4Track& theTrack, if (theParticleDef->GetPDGStable()) {meanlife = DBL_MAX;} else if (theLife < 0.0) {meanlife = DBL_MAX;} else {meanlife = theLife;} + // set the meanlife to zero for excited istopes which is not in the RDM database + if (((const G4Ions*)(theParticleDef))->GetExcitationEnergy() > 0. && meanlife == DBL_MAX) {meanlife = 0.;} } #ifdef G4VERBOSE if (GetVerboseLevel()>1) - {G4cout <<"mean life time: " <GetDefinition(); G4double aCtau = c_light * aParticleDef->GetPDGLifeTime(); G4double aMass = aParticle->GetMass(); - + #ifdef G4VERBOSE if (GetVerboseLevel()>2) { G4cout << "G4RadioactiveDecay::GetMeanFreePath() "<< G4endl; @@ -519,18 +529,18 @@ G4double G4RadioactiveDecay::GetMeanFreePath (const G4Track& aTrack, G4cout << "c*Tau:" << aCtau/m <<"[m]" <GetPDGStable()) { pathlength = DBL_MAX; - + } else if (aCtau < 0.0) { pathlength = DBL_MAX; - + //check if the particle has very short life time ? } else if (aCtau < DBL_MIN) { pathlength = DBL_MIN; - + //check if zero mass } else if (aMass < DBL_MIN) { pathlength = DBL_MAX; @@ -539,40 +549,40 @@ G4double G4RadioactiveDecay::GetMeanFreePath (const G4Track& aTrack, G4cerr << " Zero Mass particle " << G4endl; } #endif - } else { - //calculate the mean free path - // by using normalized kinetic energy (= Ekin/mass) - G4double rKineticEnergy = aParticle->GetKineticEnergy()/aMass; - if ( rKineticEnergy > HighestBinValue) { - // beta >> 1 - pathlength = ( rKineticEnergy + 1.0)* aCtau; - } else if ( rKineticEnergy > LowestBinValue) { - // check if aPhysicsTable exists - if (aPhysicsTable == 0) BuildPhysicsTable(*aParticleDef); - // beta is in the range valid for PhysicsTable - pathlength = aCtau * - ((*aPhysicsTable)(0))-> GetValue(rKineticEnergy,isOutRange); - } else if ( rKineticEnergy < DBL_MIN ) { - // too slow particle + } else { + //calculate the mean free path + // by using normalized kinetic energy (= Ekin/mass) + G4double rKineticEnergy = aParticle->GetKineticEnergy()/aMass; + if ( rKineticEnergy > HighestBinValue) { + // beta >> 1 + pathlength = ( rKineticEnergy + 1.0)* aCtau; + } else if ( rKineticEnergy > LowestBinValue) { + // check if aPhysicsTable exists + if (aPhysicsTable == 0) BuildPhysicsTable(*aParticleDef); + // beta is in the range valid for PhysicsTable + pathlength = aCtau * + ((*aPhysicsTable)(0))-> GetValue(rKineticEnergy,isOutRange); + } else if ( rKineticEnergy < DBL_MIN ) { + // too slow particle #ifdef G4VERBOSE - if (GetVerboseLevel()>2) { - G4cout << "G4Decay::GetMeanFreePath() !!particle stops!!"; - G4cout << aParticleDef->GetParticleName() << G4endl; - G4cout << "KineticEnergy:" << aParticle->GetKineticEnergy()/GeV <<"[GeV]"; - } + if (GetVerboseLevel()>2) { + G4cout << "G4Decay::GetMeanFreePath() !!particle stops!!"; + G4cout << aParticleDef->GetParticleName() << G4endl; + G4cout << "KineticEnergy:" << aParticle->GetKineticEnergy()/GeV <<"[GeV]"; + } #endif - pathlength = DBL_MIN; - } else { - // beta << 1 - pathlength = (aParticle->GetTotalMomentum())/aMass*aCtau ; - } - } + pathlength = DBL_MIN; + } else { + // beta << 1 + pathlength = (aParticle->GetTotalMomentum())/aMass*aCtau ; + } + } #ifdef G4VERBOSE - if (GetVerboseLevel()>1) { - G4cout << "mean free path: "<< pathlength/m << "[m]" << G4endl; - } + if (GetVerboseLevel()>1) { + G4cout << "mean free path: "<< pathlength/m << "[m]" << G4endl; + } #endif - return pathlength; + return pathlength; } //////////////////////////////////////////////////////////////////////////////// // @@ -598,9 +608,9 @@ void G4RadioactiveDecay::BuildPhysicsTable(const G4ParticleDefinition&) // fill physics Vector G4int i; for ( i = 0 ; i < TotBin ; i++ ) { - gammainv = 1.0/(aVector->GetLowEdgeEnergy(i) + 1.0); - beta = std::sqrt((1.0 - gammainv)*(1.0 +gammainv)); - aVector->PutValue(i, beta/gammainv); + gammainv = 1.0/(aVector->GetLowEdgeEnergy(i) + 1.0); + beta = std::sqrt((1.0 - gammainv)*(1.0 +gammainv)); + aVector->PutValue(i, beta/gammainv); } aPhysicsTable->insert(aVector); } @@ -611,8 +621,7 @@ void G4RadioactiveDecay::BuildPhysicsTable(const G4ParticleDefinition&) // To load the decay scheme from the Radioactivity database for // theParentNucleus. // -G4DecayTable *G4RadioactiveDecay::LoadDecayTable (G4ParticleDefinition - &theParentNucleus) +G4DecayTable *G4RadioactiveDecay::LoadDecayTable (G4ParticleDefinition &theParentNucleus) { // // @@ -631,7 +640,7 @@ G4DecayTable *G4RadioactiveDecay::LoadDecayTable (G4ParticleDefinition if ( !getenv("G4RADIOACTIVEDATA") ) { G4cout << "Please setenv G4RADIOACTIVEDATA to point to the radioactive decay data files." << G4endl; throw G4HadronicException(__FILE__, __LINE__, - "Please setenv G4RADIOACTIVEDATA to point to the radioactive decay data files."); + "Please setenv G4RADIOACTIVEDATA to point to the radioactive decay data files."); } G4String dirName = getenv("G4RADIOACTIVEDATA"); LoadedNuclei.push_back(theParentNucleus.GetParticleName()); @@ -642,307 +651,317 @@ G4DecayTable *G4RadioactiveDecay::LoadDecayTable (G4ParticleDefinition os <>recordType >>a >>b; - if (found) {complete = true;} - else {found = (std::abs(a*keV - E)>recordType >>a >>b; + if (found) {complete = true;} + else {found = (std::abs(a*keV - E)0) { - // a comment line identified and print out the message - // - G4cout << " Warning in G4RadioactiveDecay::LoadDecayTable " << G4endl; - G4cout << " In data file " << file << G4endl; - G4cout << " " << inputLine << G4endl; - } -#endif - } - else - { - tmpStream >>theDecayMode >>a >>b >>c; - a/=1000.; - c/=1000.; - - // cout<< "The decay mode is [LoadTable] "<Insert(anITChannel); - break; - } - case BetaMinus: - // - // - // Decay mode is beta-. - // - if (modeFirstRecord[1]) - {modeFirstRecord[1] = false; modeTotalBR[1] = b;} - else - { - if (c > 0.) { - // to work out the Fermi function normalization factor first - G4BetaFermiFunction* aBetaFermiFunction = new G4BetaFermiFunction (A, (Z+1)); - e0 = c*MeV/0.511; - n = aBetaFermiFunction->GetFFN(e0); - - // now to work out the histogram and initialise the random generator - G4int npti = 100; - G4double* pdf = new G4double[npti]; - G4int ptn; - G4double g,e,ee,f; - ee = e0+1.; - for (ptn=0; ptnGetFF(e); - } - RandGeneral* aRandomEnergy = new RandGeneral( pdf, npti); - G4BetaMinusDecayChannel *aBetaMinusChannel = new - G4BetaMinusDecayChannel (GetVerboseLevel(), &theParentNucleus, - b, c*MeV, a*MeV, n, FBeta, aRandomEnergy); - theDecayTable->Insert(aBetaMinusChannel); - modeSumBR[1] += b; - delete[] pdf; - delete aBetaFermiFunction; - } - } - break; - case BetaPlus: - // - // - // Decay mode is beta+. - // - if (modeFirstRecord[2]) - {modeFirstRecord[2] = false; modeTotalBR[2] = b;} - else - { - // e0 = c*MeV/0.511; - // bug fix (#662) (flei, 22/09/2004) - // need to test e0 as there are some data files (e.g. z67.a162) which have entries for beta+ - // with Q < 2Me - // - e0 = c*MeV/0.511 -2.; - if (e0 > 0.) { - G4BetaFermiFunction* aBetaFermiFunction = new G4BetaFermiFunction (A, -(Z-1)); - - n = aBetaFermiFunction->GetFFN(e0); - - // now to work out the histogram and initialise the random generator - G4int npti = 100; - G4double* pdf = new G4double[npti]; - G4int ptn; - G4double g,e,ee,f; - ee = e0+1.; - for (ptn=0; ptnGetFF(e); - } - RandGeneral* aRandomEnergy = new RandGeneral( pdf, npti); - G4BetaPlusDecayChannel *aBetaPlusChannel = new - G4BetaPlusDecayChannel (GetVerboseLevel(), &theParentNucleus, - b, c*MeV, a*MeV, n, FBeta, aRandomEnergy); - theDecayTable->Insert(aBetaPlusChannel); - modeSumBR[2] += b; - - delete[] pdf; - delete aBetaFermiFunction; - } - } - break; - case KshellEC: - // - // - // Decay mode is K-electron capture. - // - if (modeFirstRecord[3]) - {modeFirstRecord[3] = false; modeTotalBR[3] = b;} - else - { - G4KshellECDecayChannel *aKECChannel = new - G4KshellECDecayChannel (GetVerboseLevel(), &theParentNucleus, - b, c*MeV, a*MeV); - theDecayTable->Insert(aKECChannel); - //delete aKECChannel; - modeSumBR[3] += b; - } - break; - case LshellEC: - // - // - // Decay mode is L-electron capture. - // - if (modeFirstRecord[4]) - {modeFirstRecord[4] = false; modeTotalBR[4] = b;} - else - { - G4LshellECDecayChannel *aLECChannel = new - G4LshellECDecayChannel (GetVerboseLevel(), &theParentNucleus, - b, c*MeV, a*MeV); - theDecayTable->Insert(aLECChannel); - //delete aLECChannel; - modeSumBR[4] += b; - } - break; - case MshellEC: - // - // - // Decay mode is M-electron capture. In this implementation it is added to L-shell case - // - if (modeFirstRecord[5]) - {modeFirstRecord[5] = false; modeTotalBR[5] = b;} - else - { - G4MshellECDecayChannel *aMECChannel = new - G4MshellECDecayChannel (GetVerboseLevel(), &theParentNucleus, - b, c*MeV, a*MeV); - theDecayTable->Insert(aMECChannel); - modeSumBR[5] += b; - } - break; - case Alpha: - // - // - // Decay mode is alpha. - // - if (modeFirstRecord[6]) - {modeFirstRecord[6] = false; modeTotalBR[6] = b;} - else - { - G4AlphaDecayChannel *anAlphaChannel = new - G4AlphaDecayChannel (GetVerboseLevel(), &theParentNucleus, - b, c*MeV, a*MeV); - theDecayTable->Insert(anAlphaChannel); - // delete anAlphaChannel; - modeSumBR[6] += b; - } - break; - case ERROR: - default: - G4Exception("G4RadioactiveDecay::LoadDecayTable()", "601", - FatalException, "Error in decay mode selection"); - - } - } + if (GetVerboseLevel()>0) { + // a comment line identified and print out the message + // + G4cout << " Warning in G4RadioactiveDecay::LoadDecayTable " << G4endl; + G4cout << " In data file " << file << G4endl; + G4cout << " " << inputLine << G4endl; } - } +#endif + } + else { + tmpStream >>theDecayMode >>a >>b >>c; + a/=1000.; + c/=1000.; - } - DecaySchemeFile.close(); - if (!found && E > 0.) { - // cases where IT cascade follows immediately after a decay - - // Decay mode is isomeric transition. + // cout<< "The decay mode is [LoadTable] "<SetICM(applyICM); + anITChannel->SetARM(applyARM); + anITChannel->SetHLThreshold(halflifethreshold); + theDecayTable->Insert(anITChannel); + break; + } + case BetaMinus: + { + // + // + // Decay mode is beta-. + // + if (modeFirstRecord[1]) + {modeFirstRecord[1] = false; modeTotalBR[1] = b;} + else { + if (c > 0.) { + // to work out the Fermi function normalization factor first + G4BetaFermiFunction* aBetaFermiFunction = new G4BetaFermiFunction (A, (Z+1)); + e0 = c*MeV/0.511; + n = aBetaFermiFunction->GetFFN(e0); + + // now to work out the histogram and initialise the random generator + G4int npti = 100; + G4double* pdf = new G4double[npti]; + G4int ptn; + G4double g,e,ee,f; + ee = e0+1.; + for (ptn=0; ptnGetFF(e); + } + RandGeneral* aRandomEnergy = new RandGeneral( pdf, npti); + G4BetaMinusDecayChannel *aBetaMinusChannel = new + G4BetaMinusDecayChannel (GetVerboseLevel(), &theParentNucleus, + b, c*MeV, a*MeV, n, FBeta, aRandomEnergy); + aBetaMinusChannel->SetICM(applyICM); + aBetaMinusChannel->SetARM(applyARM); + aBetaMinusChannel->SetHLThreshold(halflifethreshold); + theDecayTable->Insert(aBetaMinusChannel); + modeSumBR[1] += b; + delete[] pdf; + delete aBetaFermiFunction; + } + } + break; + case BetaPlus: + // + // + // Decay mode is beta+. + // + if (modeFirstRecord[2]) + {modeFirstRecord[2] = false; modeTotalBR[2] = b;} + else { + // e0 = c*MeV/0.511; + // bug fix (#662) (flei, 22/09/2004) + // need to test e0 as there are some data files (e.g. z67.a162) which have entries for beta+ + // with Q < 2Me + // + e0 = c*MeV/0.511 -2.; + if (e0 > 0.) { + G4BetaFermiFunction* aBetaFermiFunction = new G4BetaFermiFunction (A, -(Z-1)); + + n = aBetaFermiFunction->GetFFN(e0); + + // now to work out the histogram and initialise the random generator + G4int npti = 100; + G4double* pdf = new G4double[npti]; + G4int ptn; + G4double g,e,ee,f; + ee = e0+1.; + for (ptn=0; ptnGetFF(e); + } + RandGeneral* aRandomEnergy = new RandGeneral( pdf, npti); + G4BetaPlusDecayChannel *aBetaPlusChannel = new + G4BetaPlusDecayChannel (GetVerboseLevel(), &theParentNucleus, + b, c*MeV, a*MeV, n, FBeta, aRandomEnergy); + aBetaPlusChannel->SetICM(applyICM); + aBetaPlusChannel->SetARM(applyARM); + aBetaPlusChannel->SetHLThreshold(halflifethreshold); + theDecayTable->Insert(aBetaPlusChannel); + modeSumBR[2] += b; + + delete[] pdf; + delete aBetaFermiFunction; + } + } + break; + case KshellEC: + // + // + // Decay mode is K-electron capture. + // + if (modeFirstRecord[3]) + {modeFirstRecord[3] = false; modeTotalBR[3] = b;} + else { + G4KshellECDecayChannel *aKECChannel = new + G4KshellECDecayChannel (GetVerboseLevel(), &theParentNucleus, + b, c*MeV, a*MeV); + aKECChannel->SetICM(applyICM); + aKECChannel->SetARM(applyARM); + aKECChannel->SetHLThreshold(halflifethreshold); + theDecayTable->Insert(aKECChannel); + //delete aKECChannel; + modeSumBR[3] += b; + } + break; + case LshellEC: + // + // + // Decay mode is L-electron capture. + // + if (modeFirstRecord[4]) + {modeFirstRecord[4] = false; modeTotalBR[4] = b;} + else { + G4LshellECDecayChannel *aLECChannel = new + G4LshellECDecayChannel (GetVerboseLevel(), &theParentNucleus, + b, c*MeV, a*MeV); + aLECChannel->SetICM(applyICM); + aLECChannel->SetARM(applyARM); + aLECChannel->SetHLThreshold(halflifethreshold); + theDecayTable->Insert(aLECChannel); + //delete aLECChannel; + modeSumBR[4] += b; + } + break; + case MshellEC: + // + // + // Decay mode is M-electron capture. In this implementation it is added to L-shell case + // + if (modeFirstRecord[5]) + {modeFirstRecord[5] = false; modeTotalBR[5] = b;} + else { + G4MshellECDecayChannel *aMECChannel = new + G4MshellECDecayChannel (GetVerboseLevel(), &theParentNucleus, + b, c*MeV, a*MeV); + aMECChannel->SetICM(applyICM); + aMECChannel->SetARM(applyARM); + aMECChannel->SetHLThreshold(halflifethreshold); + theDecayTable->Insert(aMECChannel); + modeSumBR[5] += b; + } + break; + case Alpha: + // + // + // Decay mode is alpha. + // + if (modeFirstRecord[6]) + {modeFirstRecord[6] = false; modeTotalBR[6] = b;} + else { + G4AlphaDecayChannel *anAlphaChannel = new + G4AlphaDecayChannel (GetVerboseLevel(), &theParentNucleus, + b, c*MeV, a*MeV); + anAlphaChannel->SetICM(applyICM); + anAlphaChannel->SetARM(applyARM); + anAlphaChannel->SetHLThreshold(halflifethreshold); + theDecayTable->Insert(anAlphaChannel); + // delete anAlphaChannel; + modeSumBR[6] += b; + } + break; + case ERROR: + default: + G4Exception("G4RadioactiveDecay::LoadDecayTable()", "601", + FatalException, "Error in decay mode selection"); + + } + } + } + } + } + } // - G4ITDecayChannel *anITChannel = new G4ITDecayChannel - (GetVerboseLevel(), (const G4Ions*) &theParentNucleus, 1); - theDecayTable->Insert(anITChannel); - } - // - // - // Go through the decay table and make sure that the branching ratios are - // correctly normalised. - // - G4VDecayChannel *theChannel = 0; - G4NuclearDecayChannel *theNuclearDecayChannel = 0; - G4String mode = ""; - G4int j = 0; - G4double theBR = 0.0; - for (i=0; ientries(); i++) - { + // + // Go through the decay table and make sure that the branching ratios are + // correctly normalised. + // + G4VDecayChannel *theChannel = 0; + G4NuclearDecayChannel *theNuclearDecayChannel = 0; + G4String mode = ""; + G4int j = 0; + G4double theBR = 0.0; + for (i=0; ientries(); i++) { theChannel = theDecayTable->GetDecayChannel(i); theNuclearDecayChannel = static_cast(theChannel); theDecayMode = theNuclearDecayChannel->GetDecayMode(); j = 0; - if (theDecayMode != IT) - { - theBR = theChannel->GetBR(); - theChannel->SetBR(theBR*modeTotalBR[theDecayMode]/modeSumBR[theDecayMode]); - } - } - + if (theDecayMode != IT) { + theBR = theChannel->GetBR(); + theChannel->SetBR(theBR*modeTotalBR[theDecayMode]/modeSumBR[theDecayMode]); + } + } + } + DecaySchemeFile.close(); + if (!found && E > 0.) { + // cases where IT cascade for exited isotopes without entry in RDM database + // Decay mode is isomeric transition. + // + G4ITDecayChannel *anITChannel = new G4ITDecayChannel + (GetVerboseLevel(), (const G4Ions*) &theParentNucleus, 1); + anITChannel->SetICM(applyICM); + anITChannel->SetARM(applyARM); + anITChannel->SetHLThreshold(halflifethreshold); + theDecayTable->Insert(anITChannel); + } + if (!theDecayTable) { + // + // There is no radioactive decay data for this nucleus. Return a null + // decay table. + // + G4cerr <<"G4RadoactiveDecay::LoadDecayTable() : cannot find ion radioactive decay file " <1) { G4cout <<"G4RadioactiveDecay::LoadDecayTable()" << G4endl; @@ -957,8 +976,8 @@ G4DecayTable *G4RadioactiveDecay::LoadDecayTable (G4ParticleDefinition // // void G4RadioactiveDecay::SetDecayRate(G4int theZ, G4int theA, G4double theE, - G4int theG, std::vector theRates, - std::vector theTaos) + G4int theG, std::vector theRates, + std::vector theTaos) { //fill the decay rate vector theDecayRate.SetZ(theZ); @@ -978,18 +997,19 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent // // 2) Add the coefficiencies to the decay rate table vector // - + // // Create and initialise variables used in the method. // theDecayRateVector.clear(); - + G4int nGeneration = 0; std::vector rates; std::vector taos; - + // start rate is -1. + // Eq.4.26 of the Technical Note rates.push_back(-1.); // // @@ -997,9 +1017,10 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent G4int Z = ((const G4Ions*)(&theParentNucleus))->GetAtomicNumber(); G4double E = ((const G4Ions*)(&theParentNucleus))->GetExcitationEnergy(); G4double tao = theParentNucleus.GetPDGLifeTime(); + if (tao < 0.) tao = 1e-30; taos.push_back(tao); G4int nEntry = 0; - + //fill the decay rate with the intial isotope data SetDecayRate(Z,A,E,nGeneration,rates,taos); @@ -1019,8 +1040,6 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent G4BetaPlusDecayChannel *theBetaPlusChannel = 0; G4AlphaDecayChannel *theAlphaChannel = 0; G4RadioactiveDecayMode theDecayMode; - // G4NuclearLevelManager levelManager; - //const G4NuclearLevel* level; G4double theBR = 0.0; G4int AP = 0; G4int ZP = 0; @@ -1041,7 +1060,7 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent G4double brs[7]; // theIonTable = (G4IonTable *)(G4ParticleTable::GetParticleTable()->GetIonTable()); - + while (!stable) { nGeneration++; for (j = nS; j< nT; j++) { @@ -1062,15 +1081,15 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent if (!IsLoaded(*aParentNucleus)){ aParentNucleus->SetDecayTable(LoadDecayTable(*aParentNucleus)); } + + G4DecayTable *theDecayTable = new G4DecayTable(); aTempDecayTable = aParentNucleus->GetDecayTable(); + for (i=0; i< 7; i++) brs[i] = 0.0; + // // // Go through the decay table and to combine the same decay channels // - for (i=0; i< 7; i++) brs[i] = 0.0; - - G4DecayTable *theDecayTable = new G4DecayTable(); - for (i=0; ientries(); i++) { theChannel = aTempDecayTable->GetDecayChannel(i); theNuclearDecayChannel = static_cast(theChannel); @@ -1084,10 +1103,9 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent const G4NuclearLevel* level = levelManager->NearestLevel (daughterExcitation); if (std::abs(daughterExcitation - level->Energy()) < levelTolerance) { - - // Level hafe life is in ns and I want to set the gate as 1 micros - if ( theDecayMode == 0 && level->HalfLife() >= 1000.){ - // some further though may needed here + // Level half-life is in ns and the threshold is set to 1 micros by default, user can set it via the UI command + if (level->HalfLife()*ns >= halflifethreshold ){ + // save the metastable nucleus theDecayTable->Insert(theChannel); } else{ @@ -1105,20 +1123,20 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent brs[2] = brs[2]+brs[3]+brs[4]+brs[5]; brs[3] = brs[4] =brs[5] = 0.0; for (i= 0; i<7; i++){ - if (brs[i] > 0) { + if (brs[i] > 0.) { switch ( i ) { case 0: // // // Decay mode is isomeric transition. // - + theITChannel = new G4ITDecayChannel (0, (const G4Ions*) aParentNucleus, brs[0]); - + theDecayTable->Insert(theITChannel); break; - + case 1: // // @@ -1127,9 +1145,9 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent theBetaMinusChannel = new G4BetaMinusDecayChannel (0, aParentNucleus, brs[1], 0.*MeV, 0.*MeV, 1, false, 0); theDecayTable->Insert(theBetaMinusChannel); - + break; - + case 2: // // @@ -1139,7 +1157,7 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent brs[2], 0.*MeV, 0.*MeV, 1, false, 0); theDecayTable->Insert(theBetaPlusChannel); break; - + case 6: // // @@ -1149,13 +1167,12 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent brs[6], 0.*MeV, 0.*MeV); theDecayTable->Insert(theAlphaChannel); break; - + default: break; } } } - // // loop over all braches in theDecayTable // @@ -1164,12 +1181,13 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent theNuclearDecayChannel = static_cast(theChannel); theBR = theChannel->GetBR(); theDaughterNucleus = theNuclearDecayChannel->GetDaughterNucleus(); - - // - // now test if the daughterNucleus is a valid one - // - if (IsApplicable(*theDaughterNucleus) && theBR - && aParentNucleus != theDaughterNucleus ) { + // first check if the decay of the original nucleus is an IT channel, if true create a new groud-level nucleus + if (theNuclearDecayChannel->GetDecayMode() == IT && nGeneration == 1 ) { + A = ((const G4Ions*)(theDaughterNucleus))->GetAtomicMass(); + Z = ((const G4Ions*)(theDaughterNucleus))->GetAtomicNumber(); + theDaughterNucleus=theIonTable->GetIon(Z,A,0.); + } + if (IsApplicable(*theDaughterNucleus) && theBR && aParentNucleus != theDaughterNucleus) { // need to make sure daugher has decaytable if (!IsLoaded(*theDaughterNucleus)){ theDaughterNucleus->SetDecayTable(LoadDecayTable(*theDaughterNucleus)); @@ -1179,34 +1197,47 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent A = ((const G4Ions*)(theDaughterNucleus))->GetAtomicMass(); Z = ((const G4Ions*)(theDaughterNucleus))->GetAtomicNumber(); E = ((const G4Ions*)(theDaughterNucleus))->GetExcitationEnergy(); - + TaoPlus = theDaughterNucleus->GetPDGLifeTime(); // cout << TaoPlus < 0.) { - // first set the taos, one simply need to add to the parent ones - taos.clear(); - taos = TP; - taos.push_back(TaoPlus); - // now calculate the coefficiencies - // - // they are in two parts, first the les than n ones - rates.clear(); - size_t k; - for (k = 0; k < RP.size(); k++){ + if (TaoPlus <= 0.) TaoPlus = 1e-30; + + // first set the taos, one simply need to add to the parent ones + taos.clear(); + taos = TP; + taos.push_back(TaoPlus); + // now calculate the coefficiencies + // + // they are in two parts, first the less than n ones + // Eq 4.24 of the TN + rates.clear(); + size_t k; + for (k = 0; k < RP.size(); k++){ + if ((TP[k]-TaoPlus) == 0.) { + theRate = 1e30; + } else { theRate = TP[k]/(TP[k]-TaoPlus) * theBR * RP[k]; - rates.push_back(theRate); } - // - // the sencond part: the n:n coefficiency - theRate = 0.; - for (k = 0; k < RP.size(); k++){ - theRate -=TaoPlus/(TP[k]-TaoPlus) * theBR * RP[k]; + rates.push_back(theRate); + } + // + // the sencond part: the n:n coefficiency + // Eq 4.25 of the TN. Note Yn+1 is zero apart from Y1 which is -1 as treated at line 1013 + // + theRate = 0.; + G4double aRate; + for (k = 0; k < RP.size(); k++){ + if ((TP[k]-TaoPlus) == 0.) { + aRate = 1e30; + } else { + aRate = TaoPlus/(TP[k]-TaoPlus) * theBR * RP[k]; } - rates.push_back(theRate); - SetDecayRate (Z,A,E,nGeneration,rates,taos); - theDecayRateVector.push_back(theDecayRate); - nEntry++; - } + theRate -= aRate; + } + rates.push_back(theRate); + SetDecayRate (Z,A,E,nGeneration,rates,taos); + theDecayRateVector.push_back(theDecayRate); + nEntry++; } } // end of testing daughter nucleus @@ -1218,11 +1249,11 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent nT = nEntry; if (nS == nT) stable = true; } - + //end of while loop // the calculation completed here - - + + // fill the first part of the decay rate table // which is the name of the original particle (isotope) // @@ -1231,15 +1262,15 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent // // now fill the decay table with the newly completed decay rate vector // - + theDecayRateTable.SetItsRates(theDecayRateVector); - + // // finally add the decayratetable to the tablevector // theDecayRateTableVector.push_back(theDecayRateTable); } - + //////////////////////////////////////////////////////////////////////////////// // // @@ -1252,8 +1283,8 @@ void G4RadioactiveDecay::SetSourceTimeProfile(G4String filename) { std::ifstream infile ( filename, std::ios::in ); if ( !infile ) G4Exception(__FILE__, G4inttostring(__LINE__), FatalException, "Unable to open source data file" ); - - float bin, flux; + + G4double bin, flux; NSourceBin = -1; while (infile >> bin >> flux ) { NSourceBin++; @@ -1262,6 +1293,8 @@ void G4RadioactiveDecay::SetSourceTimeProfile(G4String filename) SProfile[NSourceBin] = flux; } SetAnalogueMonteCarlo(0); + infile.close(); + #ifdef G4VERBOSE if (GetVerboseLevel()>1) {G4cout <<" Source Timeprofile Nbin = " << NSourceBin <> bin >> flux ) { NDecayBin++; if (NDecayBin > 99) G4Exception(__FILE__, G4inttostring(__LINE__), FatalException, "input bias data file too big (>100 rows)" ); DBin[NDecayBin] = bin * s; DProfile[NDecayBin] = flux; + if (flux > 0.) { + decayWindows[NDecayBin] = dWindows; + dWindows++; + G4RadioactivityTable *rTable = new G4RadioactivityTable() ; + theRadioactivityTables.push_back(rTable); + } } - G4int i ; for ( i = 1; i<= NDecayBin; i++) DProfile[i] += DProfile[i-1]; for ( i = 0; i<= NDecayBin; i++) DProfile[i] /= DProfile[NDecayBin]; + // converted to accumulated probabilities + // SetAnalogueMonteCarlo(0); + infile.close(); + #ifdef G4VERBOSE if (GetVerboseLevel()>1) {G4cout <<" Decay Bias Profile Nbin = " << NDecayBin <GetDefinition(); // First check whether RDM applies to the current logical volume - // - if(!std::binary_search(ValidVolumes.begin(), - ValidVolumes.end(), - theTrack.GetVolume()->GetLogicalVolume()->GetName())) - { + + if (!std::binary_search(ValidVolumes.begin(), ValidVolumes.end(), + theTrack.GetVolume()->GetLogicalVolume()->GetName())) { #ifdef G4VERBOSE - if (GetVerboseLevel()>0) - { - G4cout <<"G4RadioactiveDecay::DecayIt : " - << theTrack.GetVolume()->GetLogicalVolume()->GetName() - << " is not selected for the RDM"<< G4endl; - G4cout << " There are " << ValidVolumes.size() << " volumes" << G4endl; - G4cout << " The Valid volumes are " << G4endl; - for (size_t i = 0; i< ValidVolumes.size(); i++) - G4cout << ValidVolumes[i] << G4endl; - } -#endif - fParticleChangeForRadDecay.SetNumberOfSecondaries(0); - // - // - // Kill the parent particle. - // - fParticleChangeForRadDecay.ProposeTrackStatus( fStopAndKill ) ; - fParticleChangeForRadDecay.ProposeLocalEnergyDeposit(0.0); - ClearNumberOfInteractionLengthLeft(); - return &fParticleChangeForRadDecay; + if (GetVerboseLevel()>0) { + G4cout <<"G4RadioactiveDecay::DecayIt : " + << theTrack.GetVolume()->GetLogicalVolume()->GetName() + << " is not selected for the RDM"<< G4endl; + G4cout << " There are " << ValidVolumes.size() << " volumes" << G4endl; + G4cout << " The Valid volumes are " << G4endl; + for (size_t i = 0; i< ValidVolumes.size(); i++) G4cout << ValidVolumes[i] << G4endl; } - +#endif + fParticleChangeForRadDecay.SetNumberOfSecondaries(0); + + // Kill the parent particle. + + fParticleChangeForRadDecay.ProposeTrackStatus( fStopAndKill ) ; + fParticleChangeForRadDecay.ProposeLocalEnergyDeposit(0.0); + ClearNumberOfInteractionLengthLeft(); + return &fParticleChangeForRadDecay; + } + // now check is the particle is valid for RDM - // - if (!(IsApplicable(*theParticleDef))) - { - // - // The particle is not a Ion or outside the nucleuslimits for decay - // + + if (!(IsApplicable(*theParticleDef))) { + // + // The particle is not a Ion or outside the nucleuslimits for decay + // #ifdef G4VERBOSE - if (GetVerboseLevel()>0) - { - G4cerr <<"G4RadioactiveDecay::DecayIt : " - <GetParticleName() - << " is not a valid nucleus for the RDM"<< G4endl; - } -#endif - fParticleChangeForRadDecay.SetNumberOfSecondaries(0); - // - // - // Kill the parent particle. - // - fParticleChangeForRadDecay.ProposeTrackStatus( fStopAndKill ) ; - fParticleChangeForRadDecay.ProposeLocalEnergyDeposit(0.0); - ClearNumberOfInteractionLengthLeft(); - return &fParticleChangeForRadDecay; + if (GetVerboseLevel()>0) { + G4cerr <<"G4RadioactiveDecay::DecayIt : " + <GetParticleName() + << " is not a valid nucleus for the RDM"<< G4endl; } - +#endif + fParticleChangeForRadDecay.SetNumberOfSecondaries(0); + + // + // Kill the parent particle. + // + fParticleChangeForRadDecay.ProposeTrackStatus( fStopAndKill ) ; + fParticleChangeForRadDecay.ProposeLocalEnergyDeposit(0.0); + ClearNumberOfInteractionLengthLeft(); + return &fParticleChangeForRadDecay; + } + if (!IsLoaded(*theParticleDef)) { theParticleDef->SetDecayTable(LoadDecayTable(*theParticleDef)); } G4DecayTable *theDecayTable = theParticleDef->GetDecayTable(); - + if (theDecayTable == 0 || theDecayTable->entries() == 0 ) { // @@ -1408,7 +1448,7 @@ G4VParticleChange* G4RadioactiveDecay::DecayIt(const G4Track& theTrack, const G4 G4int index; G4ThreeVector currentPosition; currentPosition = theTrack.GetPosition(); - + // check whether use Analogue or VR implementation // if (AnalogueMC){ @@ -1423,13 +1463,23 @@ G4VParticleChange* G4RadioactiveDecay::DecayIt(const G4Track& theTrack, const G4 // G4DecayProducts *products = DoDecay(*theParticleDef); // + // check if the product is the same as input and kill the track if necessary to prevent infinite loop + // (11/05/10, F.Lei) + // + if ( products->entries() == 1) { + fParticleChangeForRadDecay.SetNumberOfSecondaries(0); + fParticleChangeForRadDecay.ProposeTrackStatus( fStopAndKill ) ; + fParticleChangeForRadDecay.ProposeLocalEnergyDeposit(0.0); + ClearNumberOfInteractionLengthLeft(); + return &fParticleChangeForRadDecay; + } // // Get parent particle information and boost the decay products to the // laboratory frame based on this information. // G4double ParentEnergy = theParticle->GetTotalEnergy(); G4ThreeVector ParentDirection(theParticle->GetMomentumDirection()); - + if (theTrack.GetTrackStatus() == fStopButAlive ) { // @@ -1439,8 +1489,10 @@ G4VParticleChange* G4RadioactiveDecay::DecayIt(const G4Track& theTrack, const G4 // since the time is still for rest particle in G4 we need to add the additional // time lapsed between the particle come to rest and the actual decay. This time // is simply sampled with the mean-life of the particle. - // - finalGlobalTime += -std::log( G4UniformRand()) * theParticleDef->GetPDGLifeTime() ; + // but we need to protect the case PDGTime < 0. (F.Lei 11/05/10) + G4double temptime = -std::log( G4UniformRand()) * theParticleDef->GetPDGLifeTime(); + if (temptime <0.) temptime =0.; + finalGlobalTime += temptime ; energyDeposit += theParticle->GetKineticEnergy(); } else @@ -1474,7 +1526,7 @@ G4VParticleChange* G4RadioactiveDecay::DecayIt(const G4Track& theTrack, const G4 G4Track* secondary = new G4Track (products->PopProducts(), finalGlobalTime, currentPosition); secondary->SetGoodForTrackingFlag(); - secondary->SetTouchableHandle(theTrack.GetTouchableHandle()); + secondary->SetTouchableHandle(theTrack.GetTouchableHandle()); fParticleChangeForRadDecay.AddSecondary(secondary); } delete products; @@ -1494,7 +1546,7 @@ G4VParticleChange* G4RadioactiveDecay::DecayIt(const G4Track& theTrack, const G4 #endif if (!IsRateTableReady(*theParticleDef)) { // if the decayrates are not ready, calculate them and - // add to the rate table vector + // add to the rate table vector AddDecayRateTable(*theParticleDef); } //retrieve the rates @@ -1511,7 +1563,7 @@ G4VParticleChange* G4RadioactiveDecay::DecayIt(const G4Track& theTrack, const G4 std::vector PR; G4double taotime; G4double decayRate; - + size_t i; size_t j; G4int numberOfSecondaries; @@ -1530,138 +1582,120 @@ G4VParticleChange* G4RadioactiveDecay::DecayIt(const G4Track& theTrack, const G4 // for (G4int n = 0; n < NSplit; n++) { - /* - // // Get the decay time following the decay probability function // suppllied by user - // - G4double theDecayTime = GetDecayTime(); + G4double theDecayTime = GetDecayTime(); G4int nbin = GetDecayTimeBin(theDecayTime); - // claculate the first part of the weight function + // calculate the first part of the weight function - G4double weight1 =1./DProfile[nbin-1] - *(DBin[nbin]-DBin[nbin-1]) - /NSplit; - if (nbin > 1) { - weight1 = 1./(DProfile[nbin]-DProfile[nbin-2]) - *(DBin[nbin]-DBin[nbin-1]) - /NSplit;} + G4double weight1 = 1.; + if (nbin == 1) { + weight1 = 1./DProfile[nbin-1] + *(DBin[nbin]-DBin[nbin-1])/NSplit; + } else if (nbin > 1) { + weight1 = 1./(DProfile[nbin]-DProfile[nbin-2]) + *(DBin[nbin]-DBin[nbin-1])/NSplit; + } + // it should be calculated in seconds weight1 /= s ; - */ - // + // loop over all the possible secondaries of the nucleus // the first one is itself. - // - for ( i = 0; i 1) { - weight1 = 1./(DProfile[nbin]-DProfile[nbin-2]) - *(DBin[nbin]-DBin[nbin-1]) - /NSplit;} - // it should be calculated in seconds - weight1 /= s ; - // a temprary products buffer and its contents is transfered to // the products at the end of the loop - // + G4DecayProducts *tempprods = 0; - + // calculate the decay rate of the isotope - // one need to fold the the source bias function with the decaytime - // + // decayRate is the radioactivity of isotope (PZ,PA,PE) at the + // time 'theDecayTime' + // it will be used to calculate the statistical weight of the + // decay products of this isotope + + // G4cout <<"PA= "<< PA << " PZ= " << PZ << " PE= "<< PE <AddIsotope(PZ,PA,PE,weight); + // decay the isotope theIonTable = (G4IonTable *)(G4ParticleTable::GetParticleTable()->GetIonTable()); parentNucleus = theIonTable->GetIon(PZ,PA,PE); - + // decide whther to apply branching ratio bias or not // if (BRBias){ G4DecayTable *theDecayTable = parentNucleus->GetDecayTable(); ndecaych = G4int(theDecayTable->entries()*G4UniformRand()); G4VDecayChannel *theDecayChannel = theDecayTable->GetDecayChannel(ndecaych); - if (theDecayChannel == 0) - { - // Decay channel not found. + if (theDecayChannel == 0) { + // Decay channel not found. #ifdef G4VERBOSE - if (GetVerboseLevel()>0) - { - G4cerr <<"G4RadioactiveDecay::DoIt : can not determine decay channel"; - G4cerr <DumpInfo(); - } + if (GetVerboseLevel()>0) { + G4cerr <<"G4RadioactiveDecay::DoIt : can not determine decay channel"; + G4cerr <DumpInfo(); + } #endif - } - else - { - // A decay channel has been identified, so execute the DecayIt. - G4double tempmass = parentNucleus->GetPDGMass(); - tempprods = theDecayChannel->DecayIt(tempmass); - weight *= (theDecayChannel->GetBR())*(theDecayTable->entries()); - } - } - else { + } else { + // A decay channel has been identified, so execute the DecayIt. + G4double tempmass = parentNucleus->GetPDGMass(); + tempprods = theDecayChannel->DecayIt(tempmass); + weight *= (theDecayChannel->GetBR())*(theDecayTable->entries()); + } + } else { tempprods = DoDecay(*parentNucleus); } - // + // save the secondaries for buffers - // + numberOfSecondaries = tempprods->entries(); currentTime = finalGlobalTime + theDecayTime; - for (index=0; index < numberOfSecondaries; index++) - { - asecondaryparticle = tempprods->PopProducts(); - if (asecondaryparticle->GetDefinition()->GetBaryonNumber() < 5){ - pw.push_back(weight); - ptime.push_back(currentTime); - secondaryparticles.push_back(asecondaryparticle); - } + for (index=0; index < numberOfSecondaries; index++) { + asecondaryparticle = tempprods->PopProducts(); + if (asecondaryparticle->GetDefinition()->GetBaryonNumber() < 5){ + pw.push_back(weight); + ptime.push_back(currentTime); + secondaryparticles.push_back(asecondaryparticle); } - // + } + delete tempprods; - + //end of i loop } - + // end of n loop - } + } + // now deal with the secondaries in the two stl containers // and submmit them back to the tracking manager // @@ -1672,18 +1706,18 @@ G4VParticleChange* G4RadioactiveDecay::DecayIt(const G4Track& theTrack, const G4 G4Track* secondary = new G4Track( secondaryparticles[index], ptime[index], currentPosition); secondary->SetGoodForTrackingFlag(); - secondary->SetTouchableHandle(theTrack.GetTouchableHandle()); + secondary->SetTouchableHandle(theTrack.GetTouchableHandle()); secondary->SetWeight(pw[index]); - fParticleChangeForRadDecay.AddSecondary(secondary); + fParticleChangeForRadDecay.AddSecondary(secondary); } // // make sure the original track is set to stop and its kinematic energy collected // //theTrack.SetTrackStatus(fStopButAlive); //energyDeposit += theParticle->GetKineticEnergy(); - + } - + // // Kill the parent particle. // @@ -1695,77 +1729,55 @@ G4VParticleChange* G4RadioactiveDecay::DecayIt(const G4Track& theTrack, const G4 // Reset NumberOfInteractionLengthLeft. // ClearNumberOfInteractionLengthLeft(); - + return &fParticleChangeForRadDecay ; } } -//////////////////////////////////////////////////////////////////////////////// -// +/////////////////////////////////////////////////////////////////// // // DoDecay // -G4DecayProducts* G4RadioactiveDecay::DoDecay( G4ParticleDefinition& theParticleDef ) +G4DecayProducts* +G4RadioactiveDecay::DoDecay( G4ParticleDefinition& theParticleDef ) { - G4DecayProducts *products = 0; - // - // + G4DecayProducts* products = 0; + // follow the decaytable and generate the secondaries... - // - // + #ifdef G4VERBOSE - if (GetVerboseLevel()>0) - { - G4cout<<"Begin of DoDecay..."<0) G4cout<<"Begin of DoDecay..."<0) - { - G4cout <<"Selecte a channel..."<0) G4cout <<"Selecte a channel..."<SelectADecayChannel(); + if (theDecayChannel == 0) { + // Decay channel not found. + + G4cerr <<"G4RadioactiveDecay::DoIt : can not determine decay channel"; + G4cerr <DumpInfo(); + } else { + + // A decay channel has been identified, so execute the DecayIt. + +#ifdef G4VERBOSE + if (GetVerboseLevel()>1) { + G4cerr <<"G4RadioactiveDecay::DoIt : selected decay channel addr:"; + G4cerr <SelectADecayChannel(); - if (theDecayChannel == 0) - { - // Decay channel not found. - // - G4cerr <<"G4RadioactiveDecay::DoIt : can not determine decay channel"; - G4cerr <DumpInfo(); - } - else - { - // - // A decay channel has been identified, so execute the DecayIt. - // -#ifdef G4VERBOSE - if (GetVerboseLevel()>1) - { - G4cerr <<"G4RadioactiveDecay::DoIt : selected decay channel addr:"; - G4cerr <DecayIt(tempmass); - - } + + G4double tempmass = theParticleDef.GetPDGMass(); + products = theDecayChannel->DecayIt(tempmass); + } + return products; - } - - - - - - - - - diff --git a/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecaymessenger.cc b/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecaymessenger.cc index 77c17e0291..49290b9d0a 100644 --- a/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecaymessenger.cc +++ b/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecaymessenger.cc @@ -115,7 +115,31 @@ G4RadioactiveDecaymessenger::G4RadioactiveDecaymessenger brbiasCmd->SetGuidance("false: no biasing; true: all branches are treated as equal"); brbiasCmd->SetParameterName("BRBias",true); brbiasCmd->SetDefaultValue(true); - + // + // Command contols whether ICM will be applied or not + // + icmCmd = new G4UIcmdWithABool ("/grdm/applyICM",this); + icmCmd->SetGuidance("True: ICM is applied; false: no"); + icmCmd->SetParameterName("applyICM",true); + icmCmd->SetDefaultValue(true); + //icmCmd->AvailableForStates(G4State_PreInit); + // + // Command contols whether ARM will be applied or not + // + armCmd = new G4UIcmdWithABool ("/grdm/applyARM",this); + armCmd->SetGuidance("True: ARM is applied; false: no"); + armCmd->SetParameterName("applyARM",true); + armCmd->SetDefaultValue(true); + //armCmd->AvailableForStates(G4State_PreInit); + // + // Command to set the h-l thresold for isomer production + // + hlthCmd = new G4UIcmdWithADoubleAndUnit("/grdm/hlThreshold",this); + hlthCmd->SetGuidance("Set the h-l threshold for isomer production"); + hlthCmd->SetParameterName("hlThreshold",false); + // hlthCmd->SetRange("hlThreshold>0."); + hlthCmd->SetUnitCategory("Time"); + // hlthCmd->AvailableForStates(G4State_PreInit); // // Command to define the incident particle source time profile. // @@ -173,6 +197,9 @@ G4RadioactiveDecaymessenger::~G4RadioactiveDecaymessenger () delete deavolumeCmd; delete allvolumesCmd; delete deallvolumesCmd; + delete icmCmd; + delete armCmd; + delete hlthCmd; } //////////////////////////////////////////////////////////////////////////////// // @@ -181,17 +208,9 @@ void G4RadioactiveDecaymessenger::SetNewValue (G4UIcommand *command, G4String ne if (command==nucleuslimitsCmd) {theRadioactiveDecayContainer-> SetNucleusLimits(nucleuslimitsCmd->GetNewNucleusLimitsValue(newValues));} else if (command==analoguemcCmd) { - G4int vl; - const char* t = newValues; - std::istringstream is(t); - is >> vl; - theRadioactiveDecayContainer->SetAnalogueMonteCarlo(vl!=0);} + theRadioactiveDecayContainer->SetAnalogueMonteCarlo(analoguemcCmd->GetNewBoolValue(newValues));} else if (command==fbetaCmd) { - G4int vl; - const char* t = newValues; - std::istringstream is(t); - is >> vl; - theRadioactiveDecayContainer->SetFBeta(vl!=0);} + theRadioactiveDecayContainer->SetFBeta(fbetaCmd->GetNewBoolValue(newValues));} else if (command==avolumeCmd) {theRadioactiveDecayContainer-> SelectAVolume(newValues);} else if (command==deavolumeCmd) {theRadioactiveDecayContainer-> @@ -201,11 +220,7 @@ void G4RadioactiveDecaymessenger::SetNewValue (G4UIcommand *command, G4String ne else if (command==deallvolumesCmd) {theRadioactiveDecayContainer-> DeselectAllVolumes();} else if (command==brbiasCmd) { - G4int vl; - const char* t = newValues; - std::istringstream is(t); - is >> vl; - theRadioactiveDecayContainer->SetBRBias(vl!=0);} + theRadioactiveDecayContainer->SetBRBias(brbiasCmd->GetNewBoolValue(newValues));} else if (command==sourcetimeprofileCmd) {theRadioactiveDecayContainer-> SetSourceTimeProfile(newValues);} else if (command==decaybiasprofileCmd) {theRadioactiveDecayContainer-> @@ -214,6 +229,12 @@ void G4RadioactiveDecaymessenger::SetNewValue (G4UIcommand *command, G4String ne SetSplitNuclei(splitnucleiCmd->GetNewIntValue(newValues));} else if (command==verboseCmd) {theRadioactiveDecayContainer-> SetVerboseLevel(verboseCmd->GetNewIntValue(newValues));} + else if (command==icmCmd ) {theRadioactiveDecayContainer-> + SetICM(icmCmd->GetNewBoolValue(newValues));} + else if (command==armCmd ) {theRadioactiveDecayContainer-> + SetARM(armCmd->GetNewBoolValue(newValues));} + else if (command==hlthCmd ) {theRadioactiveDecayContainer-> + SetHLThreshold(hlthCmd->GetNewDoubleValue(newValues));} } diff --git a/source/processes/hadronic/models/radioactive_decay/src/G4RadioactivityTable.cc b/source/processes/hadronic/models/radioactive_decay/src/G4RadioactivityTable.cc new file mode 100644 index 0000000000..5653a2ed6d --- /dev/null +++ b/source/processes/hadronic/models/radioactive_decay/src/G4RadioactivityTable.cc @@ -0,0 +1,113 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +// +// MODULE: G4RadioactivityTable.cc +// +// Version: 0.a +// Date: 29/10/2010 +// Author: F Lei +// Organisation: QinetiQ UK +// Customer: ESA/ESTEC, NOORDWIJK +// Contract: 12115/96/JG/NL Work Order No. 3 +// +// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +// +// CHANGE HISTORY +// -------------- +// +// 29 October 2010, F. Lei QinetiQ UK +// first release. +// +/////////////////////////////////////////////////////////////////////////////// + + +#include "G4RadioactivityTable.hh" + +#include + +G4RadioactivityTable::G4RadioactivityTable() +{ +} +/////////////////////////////////////////////////////////////////////////////// +// +G4RadioactivityTable::~G4RadioactivityTable() +{ + fRadioactivity.clear(); +} +/////////////////////////////////////////////////////////////////////////////// +// + +G4int G4RadioactivityTable::Entries() const +{ + return (G4int) fRadioactivity.size(); +} +/////////////////////////////////////////////////////////////////////////////// +// +void G4RadioactivityTable::AddIsotope(G4int Z, G4int A, G4double E, G4double rate) +{ + std::map::iterator it; + it = fRadioactivity.find(G4ThreeVector(Z,A,E)); + if (it == fRadioactivity.end()) { + fRadioactivity[G4ThreeVector(Z,A,E)] = rate; + } else { + fRadioactivity[G4ThreeVector(Z,A,E)] += rate; + } +} +/////////////////////////////////////////////////////////////////////////////// +// +G4double G4RadioactivityTable::GetRate(G4int Z, G4int A, G4double E) +{ + if (fRadioactivity.end() == fRadioactivity.find(G4ThreeVector(Z,A,E))) { + G4cout << G4ThreeVector(Z,A,E) << " is not in the map" << G4endl; + G4double rate = 0.; + return rate ; + } + else + return fRadioactivity[G4ThreeVector(Z,A,E)]; +} +/////////////////////////////////////////////////////////////////////////////// +// +map* G4RadioactivityTable::GetTheMap() +{ + return &fRadioactivity; +} +/////////////////////////////////////////////////////////////////////////////// +// + + + + + + + + + + + + + + diff --git a/source/processes/hadronic/models/rpg/CMakeLists.txt b/source/processes/hadronic/models/rpg/CMakeLists.txt new file mode 100644 index 0000000000..4b90e8838c --- /dev/null +++ b/source/processes/hadronic/models/rpg/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4hadronic_RPG +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_RPG +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:07:01 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/rpg/History b/source/processes/hadronic/models/rpg/History index 71d1b0dff6..f4d6ee3bfa 100644 --- a/source/processes/hadronic/models/rpg/History +++ b/source/processes/hadronic/models/rpg/History @@ -14,6 +14,10 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +21 Nov 2010 - Dennis Wright (hadr-rpg-V09-03-00) +------------------------------------------------ +G4RPGFragmentation.cc: initialize dndl in ctor as per CoVerity + 20 Nov 2009 - Dennis Wright (hadr-rpg-V09-02-01) ------------------------------------------------ G4RPGInelastic: add temporary message stating the RPG model is diff --git a/source/processes/hadronic/models/rpg/sources.cmake b/source/processes/hadronic/models/rpg/sources.cmake new file mode 100644 index 0000000000..43774a06cd --- /dev/null +++ b/source/processes/hadronic/models/rpg/sources.cmake @@ -0,0 +1,139 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4hadronic_RPG +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_RPG +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:07:09 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4hadronic_RPG + HEADERS + G4RPGAntiKZeroInelastic.hh + G4RPGAntiLambdaInelastic.hh + G4RPGAntiNeutronInelastic.hh + G4RPGAntiOmegaMinusInelastic.hh + G4RPGAntiProtonInelastic.hh + G4RPGAntiSigmaMinusInelastic.hh + G4RPGAntiSigmaPlusInelastic.hh + G4RPGAntiXiMinusInelastic.hh + G4RPGAntiXiZeroInelastic.hh + G4RPGFragmentation.hh + G4RPGInelastic.hh + G4RPGKLongInelastic.hh + G4RPGKMinusInelastic.hh + G4RPGKPlusInelastic.hh + G4RPGKShortInelastic.hh + G4RPGKZeroInelastic.hh + G4RPGLambdaInelastic.hh + G4RPGNeutronInelastic.hh + G4RPGNucleonInelastic.hh + G4RPGOmegaMinusInelastic.hh + G4RPGPiMinusInelastic.hh + G4RPGPiPlusInelastic.hh + G4RPGPionInelastic.hh + G4RPGPionSuppression.hh + G4RPGProtonInelastic.hh + G4RPGReaction.hh + G4RPGSigmaMinusInelastic.hh + G4RPGSigmaPlusInelastic.hh + G4RPGStrangeProduction.hh + G4RPGTwoBody.hh + G4RPGTwoCluster.hh + G4RPGXiMinusInelastic.hh + G4RPGXiZeroInelastic.hh + SOURCES + G4RPGAntiKZeroInelastic.cc + G4RPGAntiLambdaInelastic.cc + G4RPGAntiNeutronInelastic.cc + G4RPGAntiOmegaMinusInelastic.cc + G4RPGAntiProtonInelastic.cc + G4RPGAntiSigmaMinusInelastic.cc + G4RPGAntiSigmaPlusInelastic.cc + G4RPGAntiXiMinusInelastic.cc + G4RPGAntiXiZeroInelastic.cc + G4RPGFragmentation.cc + G4RPGInelastic.cc + G4RPGKMinusInelastic.cc + G4RPGKPlusInelastic.cc + G4RPGKZeroInelastic.cc + G4RPGLambdaInelastic.cc + G4RPGNeutronInelastic.cc + G4RPGNucleonInelastic.cc + G4RPGOmegaMinusInelastic.cc + G4RPGPiMinusInelastic.cc + G4RPGPiPlusInelastic.cc + G4RPGPionInelastic.cc + G4RPGPionSuppression.cc + G4RPGProtonInelastic.cc + G4RPGReaction.cc + G4RPGSigmaMinusInelastic.cc + G4RPGSigmaPlusInelastic.cc + G4RPGStrangeProduction.cc + G4RPGTwoBody.cc + G4RPGTwoCluster.cc + G4RPGXiMinusInelastic.cc + G4RPGXiZeroInelastic.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_mod_man + G4hadronic_mgt + G4hadronic_util + G4hadronic_xsect + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/rpg/src/G4RPGFragmentation.cc b/source/processes/hadronic/models/rpg/src/G4RPGFragmentation.cc index 4bb719931c..3648d8e187 100644 --- a/source/processes/hadronic/models/rpg/src/G4RPGFragmentation.cc +++ b/source/processes/hadronic/models/rpg/src/G4RPGFragmentation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4RPGFragmentation.cc,v 1.6 2008/06/09 18:13:16 dennis Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4RPGFragmentation.cc,v 1.7 2010/11/22 06:42:03 dennis Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // #include "G4RPGFragmentation.hh" @@ -38,7 +38,10 @@ G4RPGFragmentation::G4RPGFragmentation() - : G4RPGReaction() {} + : G4RPGReaction() +{ + for (G4int i = 0; i < 20; i++) dndl[i] = 0.0; +} void G4RPGFragmentation:: diff --git a/source/processes/hadronic/models/theo_high_energy/CMakeLists.txt b/source/processes/hadronic/models/theo_high_energy/CMakeLists.txt new file mode 100644 index 0000000000..0f8388f4cd --- /dev/null +++ b/source/processes/hadronic/models/theo_high_energy/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4had_theo_max +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_theo_max +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:07:18 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/models/theo_high_energy/History b/source/processes/hadronic/models/theo_high_energy/History index ad8f817a91..d1a60b8865 100644 --- a/source/processes/hadronic/models/theo_high_energy/History +++ b/source/processes/hadronic/models/theo_high_energy/History @@ -14,6 +14,12 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +17-Sep-2010 G.Folger had-theo-HE-V09-03-01 +- Correct G4QuasiElasticChannel for bug introduced in A&Z migration + +16-Sep-2010 G.Folger had-theo-HE-V09-03-00 +- Migrate G4QuasiElasticChannel to interger A&Z + 16-Nov-2009 M.Kosov had-theo-HE-V09-02-03 - Correct dependency on CHIPS diff --git a/source/processes/hadronic/models/theo_high_energy/sources.cmake b/source/processes/hadronic/models/theo_high_energy/sources.cmake new file mode 100644 index 0000000000..b92025b177 --- /dev/null +++ b/source/processes/hadronic/models/theo_high_energy/sources.cmake @@ -0,0 +1,95 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4had_theo_max +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_theo_max +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:07:26 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/shortlived/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/body/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/im_r_matrix/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/processes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4had_theo_max + HEADERS + G4ProjectileDiffractiveChannel.hh + G4QuasiElasticChannel.hh + G4TheoFSGenerator.hh + SOURCES + G4ProjectileDiffractiveChannel.cc + G4QuasiElasticChannel.cc + G4TheoFSGenerator.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_im_r_matrix + G4had_mod_man + G4had_mod_util + G4hadronic_body_ci + G4hadronic_crosec_ci + G4hadronic_mgt + G4hadronic_proc + G4hadronic_util + G4hadronic_xsect + G4hepnumerics + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4shortlived + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/theo_high_energy/src/G4QuasiElasticChannel.cc b/source/processes/hadronic/models/theo_high_energy/src/G4QuasiElasticChannel.cc index b644b2393e..994857784a 100644 --- a/source/processes/hadronic/models/theo_high_energy/src/G4QuasiElasticChannel.cc +++ b/source/processes/hadronic/models/theo_high_energy/src/G4QuasiElasticChannel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4QuasiElasticChannel.cc,v 1.7 2009/04/09 08:28:42 mkossov Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4QuasiElasticChannel.cc,v 1.9 2010/09/17 11:34:29 gunter Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Author : Gunter Folger March 2007 @@ -57,52 +57,44 @@ G4QuasiElasticChannel::~G4QuasiElasticChannel() G4double G4QuasiElasticChannel::GetFraction(G4Nucleus &theNucleus, const G4DynamicParticle & thePrimary) { + #ifdef debug_scatter + G4cout << "G4QuasiElasticChannel:: P=" << thePrimary.GetTotalMomentum() + << ", pPDG=" << thePrimary.GetDefinition()->GetPDGEncoding() + << ", Z = " << theNucleus.GetZ_asInt()) + << ", N = " << theNucleus.GetN_asInt()) + << ", A = " << theNucleus.GetA_asInt() << G4endl; + #endif + std::pair ratios; -#ifdef debug_scatter - G4cout << "G4QuasiElasticChannel:: P=" << thePrimary.GetTotalMomentum() - << ", pPDG=" << thePrimary.GetDefinition()->GetPDGEncoding() - << ", Z = " << G4lrint(theNucleus.GetZ()) - << ", N = " << G4lrint(theNucleus.GetN()-theNucleus.GetZ()) << G4endl; -#endif ratios=theQuasiElastic->GetRatios(thePrimary.GetTotalMomentum(), thePrimary.GetDefinition()->GetPDGEncoding(), - G4lrint(theNucleus.GetZ()), - G4lrint(theNucleus.GetN()-theNucleus.GetZ())); -#ifdef debug_scatter - G4cout << "G4QuasiElasticChannel::ratios " << ratios.first << " x " < nucleons=the3DNucleus.GetNucleons(); G4double targetNucleusMass=the3DNucleus.GetMass(); // M.K. ResNuc -#ifdef debug_scatter - G4cout<<"G4QElC::Scat: targetMass = " << targetNucleusMass << G4endl; -#endif G4LorentzVector targetNucleus4Mom(0.,0.,0.,targetNucleusMass); // M.K. ResNuc G4int index; do { index=G4lrint((A-1)*G4UniformRand()); } while (index < 0 || index >= static_cast(nucleons.size())); -#ifdef debug_scatter - G4cout<<"G4QElC::Scat: index = " << index << G4endl; -#endif G4ParticleDefinition * pDef= nucleons[index]->GetDefinition(); + G4int resA=A-1; // M.K. ResNuc G4int resZ=Z-static_cast(pDef->GetPDGCharge()); // M.K. ResNuc G4ParticleDefinition* resDef=G4Neutron::Neutron(); // Resolve t-p=nn problem M.K. ResNuc @@ -112,12 +104,14 @@ G4KineticTrackVector * G4QuasiElasticChannel::Scatter(G4Nucleus &theNucleus, resDef=G4ParticleTable::GetParticleTable()->FindIon(resZ,resA,0,resZ);// M.K. ResNuc residualNucleusMass=resDef->GetPDGMass(); // M.K. ResNuc } - else residualNucleusMass*=resA; // resA=resN M.K. ResNuc -#ifdef debug_scatter - G4cout<<"G4QElChan::Scatter: neutron - proton? A ="< +class G4V3DNucleus; class G4DecayStrongResonances { public: - G4DecayStrongResonances(){} - ~G4DecayStrongResonances(){} + G4DecayStrongResonances(); + ~G4DecayStrongResonances(); private: G4int operator==(G4DecayStrongResonances& right) {return (this == &right);} G4int operator!=(G4DecayStrongResonances& right) {return (this != &right);} - - G4double theEnergy; public: - G4ReactionProductVector* Propagate(G4KineticTrackVector* theSecondaries, G4V3DNucleus* ) - { - // decay the strong resonances - //static int call_count = 0; - //if(call_count++<10) - //{ - // G4cout << "Security print-out: Entering G4DecayStrongResonances::Propagate"; - //} - G4ReactionProductVector * theResult; - try - { - theResult = new G4ReactionProductVector; - } - catch(...) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: out of memory "); - } - G4KineticTrackVector *result1, *secondaries, *result; - if(!theSecondaries) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: 0x0 input vector "); - } - result1=theSecondaries; - try - { - result=new G4KineticTrackVector(); - } - catch(...) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: out of memory in "); - } - - size_t aResult=0; - for (aResult=0; aResult < result1->size(); aResult++) - { - G4ParticleDefinition * pdef; - if(!result1->operator[](aResult)) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: null pointer in input vector!!! "); - } - pdef=result1->operator[](aResult)->GetDefinition(); - if(!pdef) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: 0x0 particle definition "); - } - secondaries=NULL; - if ( pdef->GetPDGWidth() > 0 && pdef->GetPDGLifeTime() < 5E-17*s ) - { - try - { - secondaries = result1->operator[](aResult)->Decay(); - } - catch(...) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: failing in Decay "); - } - } - if ( secondaries == NULL ) - { - try - { - result->push_back(result1->operator[](aResult)); - } - catch(...) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: push_back failed - out of memory "); - } - result1->operator[](aResult)=NULL; //protect for clearAndDestroy - } - else - { - for (size_t aSecondary=0; aSecondarysize(); aSecondary++) - { - try - { - result1->push_back(secondaries->operator[](aSecondary)); - } - catch(...) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: push_back 1 failed - out of mem"); - } - } - if(secondaries) delete secondaries; - } - } - try - { - std::for_each(result1->begin(), result1->end(), G4Delete()); - delete result1; - } - catch(...) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: memory corruption."); - } - - // translate to ReactionProducts - G4ReactionProduct * it = NULL; - for(aResult=0; aResult < result->size(); aResult++) - { - try - { - it = new G4ReactionProduct(); - } - catch(...) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: out of memory "); - } - it->SetDefinition((*result)[aResult]->GetDefinition()); - it->SetMass((*result)[aResult]->GetDefinition()->GetPDGMass()); - it->SetTotalEnergy((*result)[aResult]->Get4Momentum().t()); - it->SetMomentum((*result)[aResult]->Get4Momentum().vect()); - - try - { - theResult->push_back(it); - } - catch(...) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: push to result failed - out of mem."); - } - } - try - { - std::for_each(result->begin(), result->end(), G4Delete()); - delete result; - } - catch(...) - { - throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: memory corruption at end."); - } - return theResult; - } + G4ReactionProductVector* Propagate(G4KineticTrackVector* theSecondaries, + G4V3DNucleus* ); }; #endif // G4DecayStrongResonances_h diff --git a/source/processes/hadronic/models/util/include/G4Fancy3DNucleus.hh b/source/processes/hadronic/models/util/include/G4Fancy3DNucleus.hh index 2f10d87300..8f40490e3b 100644 --- a/source/processes/hadronic/models/util/include/G4Fancy3DNucleus.hh +++ b/source/processes/hadronic/models/util/include/G4Fancy3DNucleus.hh @@ -44,6 +44,9 @@ #include "G4FermiMomentum.hh" #include +// to test if we can drop old interface for (A,Z), comment next line.. +//#define NON_INTEGER_A_Z 1 + class G4Fancy3DNucleus : public G4V3DNucleus { @@ -66,7 +69,10 @@ class G4Fancy3DNucleus : public G4V3DNucleus G4bool ReduceSum(G4ThreeVector * momentum, G4double *); public: +#if defined(NON_INTEGER_A_Z) void Init(G4double theA, G4double theZ); +#endif + void Init(G4int theA, G4int theZ); G4bool StartLoop(); G4Nucleon * GetNextNucleon(); const std::vector & GetNucleons(); diff --git a/source/processes/hadronic/models/util/include/G4FermiMomentum.hh b/source/processes/hadronic/models/util/include/G4FermiMomentum.hh index 37ffb5cdaf..afb0f98e1f 100644 --- a/source/processes/hadronic/models/util/include/G4FermiMomentum.hh +++ b/source/processes/hadronic/models/util/include/G4FermiMomentum.hh @@ -39,7 +39,7 @@ class G4FermiMomentum G4FermiMomentum(); ~G4FermiMomentum(); - inline void Init(G4double anA, G4double aZ) {theA = anA; theZ = aZ;} + inline void Init(G4int anA, G4int aZ) {theA = anA; theZ = aZ;} inline G4double GetFermiMomentum(G4double density) { @@ -66,8 +66,8 @@ class G4FermiMomentum private: - G4double theA; - G4double theZ; + G4int theA; + G4int theZ; // pmax= hbar * c * ( 3* pi**2 * rho )**(1/3) = // hbar * c * ( 3* pi**2 )**(1/3) * rho**(1/3)= // constofpmax * rho**(1/3) diff --git a/source/processes/hadronic/models/util/include/G4Fragment.hh b/source/processes/hadronic/models/util/include/G4Fragment.hh index 2bfbf53296..2ccef79e12 100644 --- a/source/processes/hadronic/models/util/include/G4Fragment.hh +++ b/source/processes/hadronic/models/util/include/G4Fragment.hh @@ -23,35 +23,48 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4Fragment.hh,v 1.16 2010/09/28 16:09:00 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // +//--------------------------------------------------------------------- +// +// Geant4 header G4Fragment // -// Hadronic Process: Nuclear De-excitations // by V. Lara (May 1998) +// +// Modifications: +// 03.05.2010 V.Ivanchenko General cleanup of inline functions: objects +// are accessed by reference; remove double return +// tolerance of excitation energy at modent it is computed; +// safe computation of excitation for exotic fragments +// 18.05.2010 V.Ivanchenko added member theGroundStateMass and inline +// method which allowing to compute this value once and use +// many times +// 26.09.2010 V.Ivanchenko added number of protons, neutrons, proton holes +// and neutron holes as members of the class and Get/Set methods; +// removed not needed 'const'; removed old debug staff and unused +// private methods; add comments and reorder methods for +// better reading #ifndef G4Fragment_h #define G4Fragment_h 1 -#include "G4ios.hh" -#include #include #include "globals.hh" #include "G4LorentzVector.hh" -#include "G4ParticleMomentum.hh" #include "G4ThreeVector.hh" #include "G4NucleiProperties.hh" -#include "G4ParticleTable.hh" -#include "G4IonTable.hh" +//#include "G4ParticleTable.hh" +//#include "G4IonTable.hh" #include "Randomize.hh" #include "G4Proton.hh" #include "G4Neutron.hh" -#include "G4HadronicException.hh" #include "G4HadTmpUtil.hh" - class G4ParticleDefinition; -class G4Fragment; // Forward deckaration +class G4Fragment; typedef std::vector G4FragmentVector; class G4Fragment @@ -60,7 +73,7 @@ public: // ============= CONSTRUCTORS ================== - // Default constructor + // Default constructor - obsolete G4Fragment(); // Destructor @@ -69,13 +82,12 @@ public: // Copy constructor G4Fragment(const G4Fragment &right); - // Several constructors + // A,Z and 4-momentum - main constructor for fragment + G4Fragment(G4int A, G4int Z, const G4LorentzVector& aMomentum); - // A,Z and 4-momentum - G4Fragment(const G4int A, const G4int Z, const G4LorentzVector aMomentum); - - // 4-momentum and pointer to G4particleDefinition (for gammas) - G4Fragment(const G4LorentzVector aMomentum, G4ParticleDefinition * aParticleDefinition); + // 4-momentum and pointer to G4particleDefinition (for gammas, e-) + G4Fragment(const G4LorentzVector& aMomentum, + G4ParticleDefinition* aParticleDefinition); // ============= OPERATORS ================== @@ -86,168 +98,211 @@ public: friend std::ostream& operator<<(std::ostream&, const G4Fragment*); friend std::ostream& operator<<(std::ostream&, const G4Fragment&); - // ============= METHODS ================== + // ============= GENERAL METHODS ================== - inline G4double GetA(void) const; - void SetA(const G4double value); + inline G4int GetZ_asInt() const; + inline G4int GetA_asInt() const; + inline void SetZandA_asInt(G4int Znew, G4int Anew); - G4double GetZ(void) const; - void SetZ(const G4double value); - - G4double GetExcitationEnergy(void) const; - void SetExcitationEnergy(const G4double value); - - const G4LorentzVector GetMomentum(void) const; - void SetMomentum(const G4LorentzVector value); - - const G4ThreeVector GetAngularMomentum(void) const; - void SetAngularMomentum(const G4ThreeVector value); - - G4int GetNumberOfExcitons(void) const; - // void SetNumberOfExcitons(const G4int value); - - G4int GetNumberOfHoles(void) const; - void SetNumberOfHoles(const G4int value); - - G4int GetNumberOfCharged(void) const; - void SetNumberOfCharged(const G4int value); + inline G4double GetExcitationEnergy() const; - G4int GetNumberOfParticles(void) const; - void SetNumberOfParticles(const G4int value); - - inline G4ParticleDefinition * GetParticleDefinition(void) const; - void SetParticleDefinition(G4ParticleDefinition * aParticleDefinition); - - G4double GetCreationTime(void) const; - void SetCreationTime(const G4double time); - - -// Some utility methods - - inline G4double GetGroundStateMass(void) const; + inline G4double GetGroundStateMass() const; + + inline G4double GetBindingEnergy() const; - inline G4double GetBindingEnergy(void) const; + inline const G4LorentzVector& GetMomentum() const; + inline void SetMomentum(const G4LorentzVector& value); + + inline const G4ThreeVector& GetAngularMomentum() const; + inline void SetAngularMomentum(const G4ThreeVector& value); -#ifdef PRECOMPOUND_TEST - G4String GetCreatorModel() const { return theCreatorModel; } - void SetCreatorModel(const G4String & aModel) - { theCreatorModel = aModel; } -#endif + // computation of mass for any Z and A + inline G4double ComputeGroundStateMass(G4int Z, G4int A) const; + + // obsolete methods + inline G4double GetZ() const; + inline G4double GetA() const; + inline void SetZ(G4double value); + inline void SetA(G4double value); + + // ============= METHODS FOR PRE-COMPOUND MODEL =============== + + inline G4int GetNumberOfExcitons() const; + + inline G4int GetNumberOfParticles() const; + inline G4int GetNumberOfCharged() const; + inline void SetNumberOfExcitedParticle(G4int valueTot, G4int valueP); + + inline G4int GetNumberOfHoles() const; + inline G4int GetNumberOfChargedHoles() const; + inline void SetNumberOfHoles(G4int valueTot, G4int valueP=0); + + // these methods will be removed in future + inline void SetNumberOfParticles(G4int value); + inline void SetNumberOfCharged(G4int value); + + // ============= METHODS FOR PHOTON EVAPORATION =============== + + inline G4int GetNumberOfElectrons() const; + inline void SetNumberOfElectrons(G4int value); + + inline G4ParticleDefinition * GetParticleDefinition() const; + inline void SetParticleDefinition(G4ParticleDefinition * p); + + inline G4double GetCreationTime() const; + inline void SetCreationTime(G4double time); + + // ============= PRIVATE METHODS ============================== private: - G4double CalculateExcitationEnergy(const G4LorentzVector value) const; + void ExcitationEnergyWarning(); - G4ThreeVector IsotropicRandom3Vector(const G4double Magnitude = 1.0) const; - + void NumberOfExitationWarning(const G4String&); + + inline void CalculateExcitationEnergy(); + + inline void CalculateGroundStateMass(); // ============= DATA MEMBERS ================== - G4double theA; + static G4int errCount; + + G4int theA; - G4double theZ; + G4int theZ; G4double theExcitationEnergy; + G4double theGroundStateMass; + G4LorentzVector theMomentum; G4ThreeVector theAngularMomentum; + + // Exciton model data members G4int numberOfParticles; - G4int numberOfHoles; - G4int numberOfCharged; + G4int numberOfHoles; + + G4int numberOfChargedHoles; - // Gamma evaporation requeriments + // Gamma evaporation data members + + G4int numberOfShellElectrons; G4ParticleDefinition * theParticleDefinition; G4double theCreationTime; -#ifdef PRECOMPOUND_TEST - G4String theCreatorModel; -#endif }; -// Class G4Fragment +// ============= INLINE METHOD IMPLEMENTATIONS =================== -inline G4double G4Fragment::GetA() const +inline void G4Fragment::CalculateExcitationEnergy() +{ + theExcitationEnergy = theMomentum.mag() - theGroundStateMass; + if(theExcitationEnergy < 0.0) { ExcitationEnergyWarning(); } +} + +inline void G4Fragment::CalculateGroundStateMass() +{ + theGroundStateMass = G4NucleiProperties::GetNuclearMass(theA, theZ); +} + +inline G4int G4Fragment::GetA_asInt() const { return theA; } -inline void G4Fragment::SetA(const G4double value) -{ - theA = value; -} - -inline G4double G4Fragment::GetZ() const +inline G4int G4Fragment::GetZ_asInt() const { return theZ; } -inline void G4Fragment::SetZ(const G4double value) +inline void G4Fragment::SetZandA_asInt(G4int Znew, G4int Anew) { - theZ = value; + theZ = Znew; + theA = Anew; + CalculateGroundStateMass(); } inline G4double G4Fragment::GetExcitationEnergy() const { - // temporary fix for what seems to be - // a problem with rounding errors for on-shell lorentz-vectors in CLHEP. - // HPW Apr 1999 @@@@@@@ - - if(std::abs(theExcitationEnergy)<10*eV) return 0; return theExcitationEnergy; } -inline void G4Fragment::SetExcitationEnergy(const G4double ) +inline G4double G4Fragment::GetGroundStateMass() const { - // theExcitationEnergy = value; - G4cout << "Warning: G4Fragment::SetExcitationEnergy() is a dummy method. Please, avoid to use it." << G4endl; + return theGroundStateMass; } -inline const G4LorentzVector G4Fragment::GetMomentum() const +inline G4double G4Fragment::GetBindingEnergy() const +{ + return (theA-theZ)*CLHEP::neutron_mass_c2 + theZ*CLHEP::proton_mass_c2 + - theGroundStateMass; +} + +inline const G4LorentzVector& G4Fragment::GetMomentum() const { return theMomentum; } -inline void G4Fragment::SetMomentum(const G4LorentzVector value) +inline void G4Fragment::SetMomentum(const G4LorentzVector& value) { theMomentum = value; - theExcitationEnergy = CalculateExcitationEnergy(value); + CalculateExcitationEnergy(); } -inline const G4ThreeVector G4Fragment::GetAngularMomentum() const +inline const G4ThreeVector& G4Fragment::GetAngularMomentum() const { return theAngularMomentum; } -inline void G4Fragment::SetAngularMomentum(const G4ThreeVector value) +inline void G4Fragment::SetAngularMomentum(const G4ThreeVector& value) { theAngularMomentum = value; } +inline G4double +G4Fragment::ComputeGroundStateMass(G4int Z, G4int A) const +{ + return G4NucleiProperties::GetNuclearMass(A, Z); +} + +inline G4double G4Fragment::GetZ() const +{ + return G4double(theZ); +} + +inline G4double G4Fragment::GetA() const +{ + return G4double(theA); +} + +inline void G4Fragment::SetZ(const G4double value) +{ + theZ = G4lrint(value); + CalculateGroundStateMass(); +} + +inline void G4Fragment::SetA(const G4double value) +{ + theA = G4lrint(value); + CalculateGroundStateMass(); +} + inline G4int G4Fragment::GetNumberOfExcitons() const { return numberOfParticles + numberOfHoles; } -inline void G4Fragment::SetNumberOfParticles(const G4int value) +inline G4int G4Fragment::GetNumberOfParticles() const { - numberOfParticles = value; -} - -inline G4int G4Fragment::GetNumberOfHoles() const -{ - return numberOfHoles; -} - -inline void G4Fragment::SetNumberOfHoles(const G4int value) -{ - numberOfHoles = value; + return numberOfParticles; } inline G4int G4Fragment::GetNumberOfCharged() const @@ -255,57 +310,79 @@ inline G4int G4Fragment::GetNumberOfCharged() const return numberOfCharged; } -inline void G4Fragment::SetNumberOfCharged(const G4int value) +inline +void G4Fragment::SetNumberOfExcitedParticle(G4int valueTot, G4int valueP) { - if (value <= numberOfParticles) numberOfCharged = value; - else - { - G4String text = "G4Fragment::SetNumberOfCharged: Number of charged particles can't be greater than number of particles"; - throw G4HadronicException(__FILE__, __LINE__, text); + numberOfParticles = valueTot; + numberOfCharged = valueP; + if(valueTot < valueP) { + NumberOfExitationWarning("SetNumberOfExcitedParticle"); } } -inline G4int G4Fragment::GetNumberOfParticles() const +inline G4int G4Fragment::GetNumberOfHoles() const { - return numberOfParticles; + return numberOfHoles; } +inline G4int G4Fragment::GetNumberOfChargedHoles() const +{ + return numberOfChargedHoles; +} -inline G4ParticleDefinition * G4Fragment::GetParticleDefinition(void) const +inline void G4Fragment::SetNumberOfHoles(G4int valueTot, G4int valueP) +{ + numberOfHoles = valueTot; + numberOfChargedHoles = valueP; + if(valueTot < valueP) { + NumberOfExitationWarning("SetNumberOfHoles"); + } +} + +inline void G4Fragment::SetNumberOfParticles(G4int value) +{ + numberOfParticles = value; +} + +inline void G4Fragment::SetNumberOfCharged(G4int value) +{ + numberOfCharged = value; + if(value > numberOfParticles) { + NumberOfExitationWarning("SetNumberOfCharged"); + } +} + +inline G4int G4Fragment::GetNumberOfElectrons() const +{ + return numberOfShellElectrons; +} + +inline void G4Fragment::SetNumberOfElectrons(G4int value) +{ + numberOfShellElectrons = value; +} + +inline +G4ParticleDefinition * G4Fragment::GetParticleDefinition(void) const { return theParticleDefinition; } -inline void G4Fragment::SetParticleDefinition(G4ParticleDefinition * aParticleDefinition) +inline void G4Fragment::SetParticleDefinition(G4ParticleDefinition * p) { - theParticleDefinition = aParticleDefinition; + theParticleDefinition = p; } - -inline G4double G4Fragment::GetCreationTime(void) const +inline G4double G4Fragment::GetCreationTime() const { return theCreationTime; } -inline void G4Fragment::SetCreationTime(const G4double time) +inline void G4Fragment::SetCreationTime(G4double time) { theCreationTime = time; } -inline G4double G4Fragment::GetGroundStateMass(void) const -{ - if (theA == 0) return 0.0; // photon - else return G4ParticleTable::GetParticleTable()-> - GetIonTable()->GetIonMass(G4lrint(theZ),G4lrint(theA)); -} - -inline G4double G4Fragment::GetBindingEnergy(void) const -{ - return -GetGroundStateMass()+(theA-theZ)*G4Neutron::Neutron()->GetPDGMass() - + theZ*G4Proton::Proton()->GetPDGMass(); -} - - #endif diff --git a/source/processes/hadronic/models/util/include/G4NuclearFermiDensity.hh b/source/processes/hadronic/models/util/include/G4NuclearFermiDensity.hh index 594f49e372..6cff636737 100644 --- a/source/processes/hadronic/models/util/include/G4NuclearFermiDensity.hh +++ b/source/processes/hadronic/models/util/include/G4NuclearFermiDensity.hh @@ -39,7 +39,7 @@ class G4NuclearFermiDensity : public G4VNuclearDensity { public: - G4NuclearFermiDensity(G4double anA, G4double aZ); + G4NuclearFermiDensity(G4int anA, G4int aZ); ~G4NuclearFermiDensity(); G4double GetRelativeDensity(const G4ThreeVector & aPosition) const diff --git a/source/processes/hadronic/models/util/include/G4NuclearShellModelDensity.hh b/source/processes/hadronic/models/util/include/G4NuclearShellModelDensity.hh index 128a4f359b..ea3490a1cb 100644 --- a/source/processes/hadronic/models/util/include/G4NuclearShellModelDensity.hh +++ b/source/processes/hadronic/models/util/include/G4NuclearShellModelDensity.hh @@ -39,7 +39,7 @@ class G4NuclearShellModelDensity : public G4VNuclearDensity { public: - G4NuclearShellModelDensity(G4double anA, G4double aZ); + G4NuclearShellModelDensity(G4int anA, G4int aZ); ~G4NuclearShellModelDensity(); G4double GetRelativeDensity(const G4ThreeVector & aPosition) const; diff --git a/source/processes/hadronic/models/util/sources.cmake b/source/processes/hadronic/models/util/sources.cmake new file mode 100644 index 0000000000..95f9c9b00c --- /dev/null +++ b/source/processes/hadronic/models/util/sources.cmake @@ -0,0 +1,106 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4had_mod_util +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_mod_util +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/09/29 20:31:16 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4had_mod_util + HEADERS + G4DecayStrongResonances.hh + G4ExcitedString.hh + G4ExcitedStringVector.hh + G4Fancy3DNucleus.hh + G4FermiMomentum.hh + G4Fragment.hh + G4FragmentVector.hh + G4GeneralPhaseSpaceDecay.hh + G4KineticTrack.hh + G4KineticTrackVector.hh + G4NuclearFermiDensity.hh + G4NuclearShellModelDensity.hh + G4Nucleon.hh + G4Parton.hh + G4PartonVector.hh + G4SampleResonance.hh + G4WilsonRadius.hh + SOURCES + G4DecayStrongResonances.cc + G4ExcitedString.cc + G4Fancy3DNucleus.cc + G4FermiMomentum.cc + G4Fragment.cc + G4GeneralPhaseSpaceDecay.cc + G4KineticTrack.cc + G4KineticTrackVector.cc + G4NuclearFermiDensity.cc + G4NuclearShellModelDensity.cc + G4Nucleon.cc + G4Parton.cc + G4SampleResonance.cc + G4WilsonRadius.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4had_mod_man + G4hadronic_util + G4hepnumerics + G4ions + G4leptons + G4materials + G4mesons + G4navigation + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/models/util/src/G4DecayStrongResonances.cc b/source/processes/hadronic/models/util/src/G4DecayStrongResonances.cc new file mode 100644 index 0000000000..e11d760ac4 --- /dev/null +++ b/source/processes/hadronic/models/util/src/G4DecayStrongResonances.cc @@ -0,0 +1,186 @@ +// +// ******************************************************************** +// * 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: G4DecayStrongResonances.cc,v 1.2 2010/11/02 17:57:38 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// File name: G4DecayStrongResonances +// +// Modified: +// 02.11.2010 V.Ivanchenko moved constructor and destructor to source +// + +#include "G4DecayStrongResonances.hh" + +#include "G4HadTmpUtil.hh" + +#include + +G4DecayStrongResonances::G4DecayStrongResonances() +{} + +G4DecayStrongResonances::~G4DecayStrongResonances() +{} + +G4ReactionProductVector* +G4DecayStrongResonances::Propagate(G4KineticTrackVector* theSecondaries, + G4V3DNucleus* ) +{ + // decay the strong resonances + //static int call_count = 0; + //if(call_count++<10) + //{ + // G4cout << "Security print-out: Entering G4DecayStrongResonances::Propagate"; + //} + G4ReactionProductVector * theResult; + try + { + theResult = new G4ReactionProductVector; + } + catch(...) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: out of memory "); + } + G4KineticTrackVector *result1, *secondaries, *result; + if(!theSecondaries) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: 0x0 input vector "); + } + result1=theSecondaries; + try + { + result=new G4KineticTrackVector(); + } + catch(...) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: out of memory in "); + } + + size_t aResult=0; + for (aResult=0; aResult < result1->size(); aResult++) + { + G4ParticleDefinition * pdef; + if(!result1->operator[](aResult)) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: null pointer in input vector!!! "); + } + pdef=result1->operator[](aResult)->GetDefinition(); + if(!pdef) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: 0x0 particle definition "); + } + secondaries=NULL; + if ( pdef->GetPDGWidth() > 0 && pdef->GetPDGLifeTime() < 5E-17*s ) + { + try + { + secondaries = result1->operator[](aResult)->Decay(); + } + catch(...) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: failing in Decay "); + } + } + if ( secondaries == NULL ) + { + try + { + result->push_back(result1->operator[](aResult)); + } + catch(...) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: push_back failed - out of memory "); + } + result1->operator[](aResult)=NULL; //protect for clearAndDestroy + } + else + { + for (size_t aSecondary=0; aSecondarysize(); aSecondary++) + { + try + { + result1->push_back(secondaries->operator[](aSecondary)); + } + catch(...) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: push_back 1 failed - out of mem"); + } + } + if(secondaries) delete secondaries; + } + } + try + { + std::for_each(result1->begin(), result1->end(), G4Delete()); + delete result1; + } + catch(...) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: memory corruption."); + } + + // translate to ReactionProducts + G4ReactionProduct * it = NULL; + for(aResult=0; aResult < result->size(); aResult++) + { + try + { + it = new G4ReactionProduct(); + } + catch(...) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: out of memory "); + } + it->SetDefinition((*result)[aResult]->GetDefinition()); + it->SetMass((*result)[aResult]->GetDefinition()->GetPDGMass()); + it->SetTotalEnergy((*result)[aResult]->Get4Momentum().t()); + it->SetMomentum((*result)[aResult]->Get4Momentum().vect()); + + try + { + theResult->push_back(it); + } + catch(...) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: push to result failed - out of mem."); + } + } + try + { + std::for_each(result->begin(), result->end(), G4Delete()); + delete result; + } + catch(...) + { + throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: memory corruption at end."); + } + return theResult; +} + + diff --git a/source/processes/hadronic/models/util/src/G4Fancy3DNucleus.cc b/source/processes/hadronic/models/util/src/G4Fancy3DNucleus.cc index a1ff40fcd0..7f781d847e 100644 --- a/source/processes/hadronic/models/util/src/G4Fancy3DNucleus.cc +++ b/source/processes/hadronic/models/util/src/G4Fancy3DNucleus.cc @@ -60,8 +60,18 @@ G4Fancy3DNucleus::~G4Fancy3DNucleus() if(theDensity) delete theDensity; } - +#if defined(NON_INTEGER_A_Z) void G4Fancy3DNucleus::Init(G4double theA, G4double theZ) +{ + G4int intZ = G4int(theZ); + G4int intA= ( G4UniformRand()>theA-G4int(theA) ) ? G4int(theA) : G4int(theA)+1; + // forward to integer Init() + Init(intA, intZ); + +} +#endif + +void G4Fancy3DNucleus::Init(G4int theA, G4int theZ) { // G4cout << "G4Fancy3DNucleus::Init(theA, theZ) called"<theA-G4int(theA) ) ? G4int(theA) : G4int(theA)+1; + myZ = theZ; + myA= theA; theNucleons = new G4Nucleon[myA]; @@ -143,7 +153,7 @@ void G4Fancy3DNucleus::SortNucleonsIncZ() // on increased Z-coordinates Uzhi 29. if (theRWNucleons.size() < 2 ) return; - sort( theRWNucleons.begin(),theRWNucleons.end(),G4Fancy3DNucleusHelperForSortInZ); + std::sort( theRWNucleons.begin(),theRWNucleons.end(),G4Fancy3DNucleusHelperForSortInZ); // now copy sorted nucleons to theNucleons array. TheRWNucleons are pointers in theNucleons // so we need to copy to new, and then swap. @@ -168,7 +178,7 @@ void G4Fancy3DNucleus::SortNucleonsDecZ() // on decreased Z-coordinates Uzhi 29. GetNucleons(); // make sure theRWNucleons is initialised if (theRWNucleons.size() < 2 ) return; - sort( theRWNucleons.begin(),theRWNucleons.end(),G4Fancy3DNucleusHelperForSortInZ); + std::sort( theRWNucleons.begin(),theRWNucleons.end(),G4Fancy3DNucleusHelperForSortInZ); // now copy sorted nucleons to theNucleons array. TheRWNucleons are pointers in theNucleons // so we need to copy to new, and then swap. diff --git a/source/processes/hadronic/models/util/src/G4Fragment.cc b/source/processes/hadronic/models/util/src/G4Fragment.cc index 569d07de31..2b5852e014 100644 --- a/source/processes/hadronic/models/util/src/G4Fragment.cc +++ b/source/processes/hadronic/models/util/src/G4Fragment.cc @@ -23,31 +23,46 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4Fragment.cc,v 1.22 2010/11/02 17:55:43 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // +//--------------------------------------------------------------------- +// +// Geant4 class G4Fragment // // Hadronic Process: Nuclear De-excitations // by V. Lara (May 1998) +// +// Modifications: +// 03.05.2010 V.Ivanchenko General cleanup; moved obsolete methods from +// inline to source +// 25.09.2010 M. Kelsey -- Change "setprecision" to "setwidth" in printout, +// add null pointer check. #include "G4Fragment.hh" #include "G4HadronicException.hh" -#include "G4HadTmpUtil.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4ios.hh" +#include +G4int G4Fragment::errCount = 0; // Default constructor G4Fragment::G4Fragment() : theA(0), theZ(0), theExcitationEnergy(0.0), - theMomentum(0), - theAngularMomentum(0), + theGroundStateMass(0.0), + theMomentum(G4LorentzVector(0,0,0,0)), + theAngularMomentum(G4ThreeVector(0,0,0)), numberOfParticles(0), - numberOfHoles(0), numberOfCharged(0), + numberOfHoles(0), + numberOfChargedHoles(0), + numberOfShellElectrons(0), theParticleDefinition(0), theCreationTime(0.0) -#ifdef PRECOMPOUND_TEST - ,theCreatorModel("No name") -#endif {} // Copy Constructor @@ -56,95 +71,87 @@ G4Fragment::G4Fragment(const G4Fragment &right) theA = right.theA; theZ = right.theZ; theExcitationEnergy = right.theExcitationEnergy; + theGroundStateMass = right.theGroundStateMass; theMomentum = right.theMomentum; theAngularMomentum = right.theAngularMomentum; numberOfParticles = right.numberOfParticles; - numberOfHoles = right.numberOfHoles; numberOfCharged = right.numberOfCharged; + numberOfHoles = right.numberOfHoles; + numberOfChargedHoles = right.numberOfChargedHoles; + numberOfShellElectrons = right.numberOfShellElectrons; theParticleDefinition = right.theParticleDefinition; theCreationTime = right.theCreationTime; -#ifdef PRECOMPOUND_TEST - theCreatorModel = right.theCreatorModel; -#endif } - G4Fragment::~G4Fragment() -{ -} +{} - -G4Fragment::G4Fragment(const G4int A, const G4int Z, const G4LorentzVector aMomentum) : +G4Fragment::G4Fragment(G4int A, G4int Z, const G4LorentzVector& aMomentum) : theA(A), theZ(Z), theMomentum(aMomentum), - theAngularMomentum(0), + theAngularMomentum(G4ThreeVector(0,0,0)), numberOfParticles(0), - numberOfHoles(0), numberOfCharged(0), + numberOfHoles(0), + numberOfChargedHoles(0), + numberOfShellElectrons(0), theParticleDefinition(0), theCreationTime(0.0) -#ifdef PRECOMPOUND_TEST - ,theCreatorModel("No name") -#endif { - theExcitationEnergy = theMomentum.mag() - - G4ParticleTable::GetParticleTable()->GetIonTable() - ->GetIonMass( G4lrint(theZ), G4lrint(theA) ); - if (theExcitationEnergy < 0.0) { - if (theExcitationEnergy > -10.0 * eV || 0 == G4lrint(theA)) { - theExcitationEnergy = 0.0; - } else { - G4cout << "A, Z, momentum, theExcitationEnergy"<< - A<<" "< 0) { + CalculateGroundStateMass(); + CalculateExcitationEnergy(); } } - -// This constructor is for initialize photons -G4Fragment::G4Fragment(const G4LorentzVector aMomentum, G4ParticleDefinition * aParticleDefinition) : +// This constructor is for initialize photons or electrons +G4Fragment::G4Fragment(const G4LorentzVector& aMomentum, + G4ParticleDefinition * aParticleDefinition) : theA(0), theZ(0), theMomentum(aMomentum), - theAngularMomentum(0), + theAngularMomentum(G4ThreeVector(0,0,0)), numberOfParticles(0), - numberOfHoles(0), numberOfCharged(0), + numberOfHoles(0), + numberOfChargedHoles(0), + numberOfShellElectrons(0), theParticleDefinition(aParticleDefinition), theCreationTime(0.0) -#ifdef PRECOMPOUND_TEST - ,theCreatorModel("No name") -#endif { - theExcitationEnergy = CalculateExcitationEnergy(aMomentum); + theExcitationEnergy = 0.0; + if(aParticleDefinition != G4Gamma::Gamma() && + aParticleDefinition != G4Electron::Electron()) { + G4String text = "G4Fragment::G4Fragment constructor for gamma used for " + + aParticleDefinition->GetParticleName(); + throw G4HadronicException(__FILE__, __LINE__, text); + } + theGroundStateMass = aParticleDefinition->GetPDGMass(); } - - const G4Fragment & G4Fragment::operator=(const G4Fragment &right) { if (this != &right) { theA = right.theA; theZ = right.theZ; theExcitationEnergy = right.theExcitationEnergy; + theGroundStateMass = right.theGroundStateMass; theMomentum = right.theMomentum; theAngularMomentum = right.theAngularMomentum; numberOfParticles = right.numberOfParticles; - numberOfHoles = right.numberOfHoles; numberOfCharged = right.numberOfCharged; + numberOfHoles = right.numberOfHoles; + numberOfChargedHoles = right.numberOfChargedHoles; + numberOfShellElectrons = right.numberOfShellElectrons; theParticleDefinition = right.theParticleDefinition; theCreationTime = right.theCreationTime; -#ifdef PRECOMPOUND_TEST - theCreatorModel = right.theCreatorModel; -#endif } return *this; } - G4bool G4Fragment::operator==(const G4Fragment &right) const { return (this == (G4Fragment *) &right); @@ -155,39 +162,48 @@ G4bool G4Fragment::operator!=(const G4Fragment &right) const return (this != (G4Fragment *) &right); } - std::ostream& operator << (std::ostream &out, const G4Fragment *theFragment) { + if (!theFragment) { + out << "Fragment: null pointer "; + return out; + } + std::ios::fmtflags old_floatfield = out.flags(); out.setf(std::ios::floatfield); - out - << "Fragment: A = " << std::setprecision(3) << theFragment->theA - << ", Z = " << std::setprecision(3) << theFragment->theZ ; + out << "Fragment: A = " << std::setw(3) << theFragment->theA + << ", Z = " << std::setw(3) << theFragment->theZ ; out.setf(std::ios::scientific,std::ios::floatfield); - out - << ", U = " << theFragment->GetExcitationEnergy()/MeV - << " MeV" << G4endl - << " P = (" - << theFragment->theMomentum.x()/MeV << "," - << theFragment->theMomentum.y()/MeV << "," - << theFragment->theMomentum.z()/MeV - << ") MeV E = " - << theFragment->theMomentum.t()/MeV << " MeV"; + // Store user's precision setting and reset to (3) here: back-compatibility + std::streamsize floatPrec = out.precision(); + + out << std::setprecision(3) + << ", U = " << theFragment->GetExcitationEnergy()/CLHEP::MeV + << " MeV" << G4endl + << " P = (" + << theFragment->theMomentum.x()/CLHEP::MeV << "," + << theFragment->theMomentum.y()/CLHEP::MeV << "," + << theFragment->theMomentum.z()/CLHEP::MeV + << ") MeV E = " + << theFragment->theMomentum.t()/CLHEP::MeV << " MeV" + << G4endl; + // What about Angular momentum??? if (theFragment->GetNumberOfExcitons() != 0) { - out << G4endl; out << " " - << "#Particles = " << theFragment->numberOfParticles - << ", #Holes = " << theFragment->numberOfHoles - << ", #Charged = " << theFragment->numberOfCharged; + << "#Particles= " << theFragment->numberOfParticles + << ", #Charged= " << theFragment->numberOfCharged + << ", #Holes= " << theFragment->numberOfHoles + << ", #ChargedHoles= " << theFragment->numberOfChargedHoles + << G4endl; } out.setf(old_floatfield,std::ios::floatfield); + out.precision(floatPrec); return out; - } std::ostream& operator << (std::ostream &out, const G4Fragment &theFragment) @@ -196,43 +212,27 @@ std::ostream& operator << (std::ostream &out, const G4Fragment &theFragment) return out; } - - -G4double G4Fragment::CalculateExcitationEnergy(const G4LorentzVector value) const +void G4Fragment::ExcitationEnergyWarning() { - static G4int errCount(0); - G4double theMaxGroundStateMass = theZ*G4Proton::Proton()->GetPDGMass()+ - (theA-theZ)*G4Neutron::Neutron()->GetPDGMass(); - G4double U = value.m() - std::min(theMaxGroundStateMass, GetGroundStateMass()); - if( U < 0.0 ) { - if( U > -10.0 * eV || 0==G4lrint(theA)){ - U = 0.0; - } else { - if ( errCount < 10 ) { - G4cerr << "G4Fragment::CalculateExcitationEnergy(): Excitation Energy =" - <GetDefinition(); + if(!thisDefinition) + { + G4cerr << "Error condition encountered in G4KineticTrack::Decay()"<GetDecayTable(); + if(!theDecayTable) + { + G4cerr << "Error condition encountered in G4KineticTrack::Decay()"<GetParticleName()<GetPDGCharge() ); G4int baryonBalance = G4lrint(theDefinition->GetBaryonNumber() ); @@ -511,22 +526,7 @@ G4KineticTrackVector* G4KineticTrack::Decay() // cout << "DECAY Total Width " << theSumActualWidth << G4endl; // cout << "DECAY Total Width " << theTotalActualWidth << G4endl; G4double r = theTotalActualWidth * G4UniformRand(); - G4ParticleDefinition* thisDefinition = this->GetDefinition(); - if(!thisDefinition) - { - G4cerr << "Error condition encountered in G4KineticTrack::Decay()"<GetDecayTable(); - if(!theDecayTable) - { - G4cerr << "Error condition encountered in G4KineticTrack::Decay()"<GetParticleName()<= 0; index--) { if (r < theCumActualWidth[index]) @@ -537,7 +537,9 @@ G4KineticTrackVector* G4KineticTrack::Decay() break; } } - + + delete [] theCumActualWidth; + if(!theDecayChannel) { G4cerr << "Error condition encountered in G4KineticTrack::Decay()"<= sigmaLambdaConversionRate) return 0; diff --git a/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc b/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc index 17386142ef..3beba40d82 100644 --- a/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc +++ b/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuonMinusCaptureAtRest.cc,v 1.54 2009/01/24 11:55:38 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4MuonMinusCaptureAtRest.cc,v 1.56 2010/11/12 06:52:01 dennis Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4MuonMinusCaptureAtRest physics process // Larry Felawka (TRIUMF) and Art Olin (TRIUMF) @@ -248,7 +248,7 @@ G4ReactionProductVector* G4MuonMinusCaptureAtRest::DoMuCapture() G4int iz = G4int(targetZ); G4int ia = G4int(targetA); - // proton as a target + // p, d, t, 3He or alpha as target if(iz <= 2) { if(ia > 1) { @@ -258,10 +258,13 @@ G4ReactionProductVector* G4MuonMinusCaptureAtRest::DoMuCapture() availableEnergy -= 2.0*neutron_mass_c2; } else if(iz == 2) { G4ParticleDefinition* pd = 0; - if(ia == 3) pd = G4Deuteron::Deuteron(); - if(ia == 4) pd = G4Triton::Triton(); - else + if (ia == 3) { + pd = G4Deuteron::Deuteron(); + } else if(ia == 4) { + pd = G4Triton::Triton(); + } else { pd = G4ParticleTable::GetParticleTable()->FindIon(1,ia-1,0,1); + } // G4cout << "Extra " << pd->GetParticleName() << G4endl; availableEnergy -= pd->GetPDGMass(); @@ -301,7 +304,7 @@ G4ReactionProductVector* G4MuonMinusCaptureAtRest::DoMuCapture() // pick random proton inside nucleus G4double eEx; do { - theN->Init(targetA, targetZ); + theN->Init(ia, iz); G4LorentzVector thePMom; G4Nucleon * aNucleon = 0; G4int theProtonCounter = G4int( targetZ * G4UniformRand() ); diff --git a/source/processes/hadronic/stopping/src/G4PiMinusAbsorptionAtRest.cc b/source/processes/hadronic/stopping/src/G4PiMinusAbsorptionAtRest.cc index d80dc18295..d4fdb60158 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusAbsorptionAtRest.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusAbsorptionAtRest.cc @@ -208,9 +208,9 @@ G4PiMinusStopMaterial* G4PiMinusAbsorptionAtRest::LoadAlgorithm(int Z) G4cout << "Load material algorithm " << Z << G4endl; } - G4int index = 3; - if (Z <= 3) { index = 3;} - if (Z > 3 && Z<= 6) {index = 6;} + G4int index = 0; + if (Z > 0 && Z < 4) {index = 3;} + if (Z > 3 && Z < 7) {index = 6;} if (Z == 7) {index = 7;} if (Z >= 8 && Z<= 11) {index = 8;} if (Z >= 12 && Z<= 18) {index = 13;} diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopMaterial.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopMaterial.cc index 101c3aec1a..e732fd6c8a 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopMaterial.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopMaterial.cc @@ -53,13 +53,12 @@ // Constructor G4PiMinusStopMaterial::G4PiMinusStopMaterial() - { _definitions = 0; _momenta = 0; _distributionE = 0; _distributionAngle = 0; - + theR = 0.5; } @@ -67,11 +66,10 @@ G4PiMinusStopMaterial::G4PiMinusStopMaterial() G4PiMinusStopMaterial::~G4PiMinusStopMaterial() { - // _definitions->clear(); if (_definitions != 0) delete _definitions; _definitions = 0; - for(unsigned int i=0; i<_momenta->size(); i++) delete(*_momenta)[i]; + for (unsigned int i=0; i<_momenta->size(); i++) delete(*_momenta)[i]; if (_momenta != 0) delete _momenta; delete _distributionE; @@ -93,14 +91,13 @@ std::vector* G4PiMinusStopMaterial::DefinitionVector() } -std::vector* G4PiMinusStopMaterial::P4Vector(const G4double binding, - const G4double massNucleus) +std::vector* +G4PiMinusStopMaterial::P4Vector(const G4double binding, + const G4double massNucleus) { - - // Generate energy of direct absorption products according to experimental data - // The energy distribution of the two nucleons is assumed to be the same - // for protons and neutrons - + // Generate energy of direct absorption products according to experimental + // data. The energy distribution of the two nucleons is assumed to be the + // same for protons and neutrons. G4double eKin1; G4double eKin2; @@ -190,12 +187,3 @@ G4double G4PiMinusStopMaterial::RecoilEnergy(const G4double mass) return eNucleus; } - - - - - - - - - diff --git a/source/processes/hadronic/stopping/src/G4StopDummyDeexcitation.cc b/source/processes/hadronic/stopping/src/G4StopDummyDeexcitation.cc index c4d94a0982..ba8b099d6a 100644 --- a/source/processes/hadronic/stopping/src/G4StopDummyDeexcitation.cc +++ b/source/processes/hadronic/stopping/src/G4StopDummyDeexcitation.cc @@ -41,9 +41,10 @@ // Constructor -G4StopDummyDeexcitation::G4StopDummyDeexcitation() - -{} +G4StopDummyDeexcitation::G4StopDummyDeexcitation() +{ + _products = 0; +} // Destructor diff --git a/source/processes/hadronic/util/CMakeLists.txt b/source/processes/hadronic/util/CMakeLists.txt new file mode 100644 index 0000000000..433553b359 --- /dev/null +++ b/source/processes/hadronic/util/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4hadronic_util +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_util +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:08:31 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/hadronic/util/History b/source/processes/hadronic/util/History index ebea5f5a6d..247ec85c90 100644 --- a/source/processes/hadronic/util/History +++ b/source/processes/hadronic/util/History @@ -14,6 +14,19 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +11 Nov 2010 Dennis Wright (hadr-util-V09-03-01) +------------------------------------------------------------- +- G4HadronicWhiteBoard: fix uninitialized ptrs (theProjectile, theDef, + theName) +- G4Nucleus: add dtaBlackTrackEnergyfromAnnihilation and + pnBlackTrackEnergyfromAnnihilation to copy ctor + initialize theA, theZ. aEff, zEff to 0 in ctor + +08 Mar 2010 G.Folger (hadr-util-V09-03-00) +------------------------------------------------------------- +- add interface for integer A&Z to G4Nucleus, and modify G4HadronicWhiteBoard + G4LightMedia, and G4ReactionDynamics to use the new interface. + 06 Mar 2009 D.H. Wright for Tatsumi Koi (hadr-util-V09-02-00) ------------------------------------------------------------- - G4StableIsotopes.cc - fill in missing isotope names diff --git a/source/processes/hadronic/util/include/G4HadronicWhiteBoard.hh b/source/processes/hadronic/util/include/G4HadronicWhiteBoard.hh index 8599c70082..d67a34aba1 100644 --- a/source/processes/hadronic/util/include/G4HadronicWhiteBoard.hh +++ b/source/processes/hadronic/util/include/G4HadronicWhiteBoard.hh @@ -34,45 +34,45 @@ class G4HadronicWhiteBoard { public: - G4HadronicWhiteBoard(){} + G4HadronicWhiteBoard(); - static G4HadronicWhiteBoard & Instance(); + static G4HadronicWhiteBoard& Instance(); - void SetProjectile(const G4HadProjectile & aProjectile); + void SetProjectile(const G4HadProjectile& aProjectile); - void SetTargetNucleus(const G4Nucleus & aTarget); + void SetTargetNucleus(const G4Nucleus& aTarget); void SetProcessName(const G4String& aProcessName); void SetModelName(const G4String& aModelName); - const G4HadProjectile * GetProjectile(); - const G4Nucleus & GetTargetNucleus(); - G4ParticleDefinition * GetPDef(); + const G4HadProjectile* GetProjectile(); + const G4Nucleus& GetTargetNucleus(); + G4ParticleDefinition* GetPDef(); G4String GetParticleName(); G4double GetEnergy(); G4double GetPx(); G4double GetPy(); G4double GetPz(); - G4double GetA(); - G4double GetZ(); + G4int GetA(); + G4int GetZ(); void Dump(); private: - G4HadProjectile * theProjectile; - G4ParticleDefinition * theDef; - char * theName; + G4HadProjectile* theProjectile; + G4ParticleDefinition* theDef; + char* theName; G4double theE; G4double thePx; G4double thePy; G4double thePz; G4Nucleus theTarget; - G4double theA; - G4double theZ; + G4int theA; + G4int theZ; G4String theProcessName; G4String theModelName; diff --git a/source/processes/hadronic/util/include/G4Nucleus.hh b/source/processes/hadronic/util/include/G4Nucleus.hh index 3e826bef49..b3808cd65f 100644 --- a/source/processes/hadronic/util/include/G4Nucleus.hh +++ b/source/processes/hadronic/util/include/G4Nucleus.hh @@ -29,8 +29,9 @@ // modified by J.L. Chuma, TRIUMF, 19-Nov-1996 // last modified: 27-Mar-1997 // Chr. Volcker, 10-Nov-1997: new methods and class variables. -// M.G. Pia, 2 Oct 1998: modified GetFermiMomentum (original design was -// the source of memory leaks) + // M.G. Pia, 2 Oct 1998: modified GetFermiMomentum (original design was + // the source of memory leaks) + // G.Folger, spring 2010: add integer A/Z interface #ifndef G4Nucleus_h #define G4Nucleus_h 1 @@ -56,6 +57,8 @@ G4Nucleus( const G4double A, const G4double Z ); + G4Nucleus( const G4int A, const G4int Z ); + G4Nucleus( const G4Material *aMaterial ); ~G4Nucleus(); @@ -67,10 +70,16 @@ { if( this != &right ) { + theA=right.theA; + theZ=right.theZ; aEff=right.aEff; zEff=right.zEff; pnBlackTrackEnergy=right.pnBlackTrackEnergy; - dtaBlackTrackEnergy=right.dtaBlackTrackEnergy; + dtaBlackTrackEnergy=right.dtaBlackTrackEnergy; + pnBlackTrackEnergyfromAnnihilation = + right.pnBlackTrackEnergyfromAnnihilation; + dtaBlackTrackEnergyfromAnnihilation = + right.dtaBlackTrackEnergyfromAnnihilation; theTemp = right.theTemp; excitationEnergy = right.excitationEnergy; momentum = right.momentum; @@ -88,16 +97,30 @@ void ChooseParameters( const G4Material *aMaterial ); void SetParameters( const G4double A, const G4double Z ); + void SetParameters( const G4int A, const G4int Z ); +//deprecated Jan 2010, GF inline G4double GetN() const { return aEff; } inline G4double GetZ() const { return zEff; } + +//to be replaced by new + inline G4int GetA_asInt() const + { return theA; } + inline G4int GetN_asInt() const + { return theA-theZ; } + + inline G4int GetZ_asInt() const + { return theZ; } +//... \GF + G4DynamicParticle *ReturnTargetParticle() const; G4double AtomicMass( const G4double A, const G4double Z ) const; + G4double AtomicMass( const G4int A, const G4int Z ) const; G4double GetThermalPz( const G4double mass, const G4double temp ) const; @@ -154,6 +177,8 @@ private: + G4int theA; + G4int theZ; G4double aEff; // effective atomic weight G4double zEff; // effective atomic number diff --git a/source/processes/hadronic/util/sources.cmake b/source/processes/hadronic/util/sources.cmake new file mode 100644 index 0000000000..7ed168b6d2 --- /dev/null +++ b/source/processes/hadronic/util/sources.cmake @@ -0,0 +1,106 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4hadronic_util +# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_util +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/11/29 17:58:56 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4hadronic_util + HEADERS + DumpFrame.hh + G4Bessel.hh + G4Delete.hh + G4DynamicParticleVector.hh + G4GHEKinematicsVector.hh + G4HadFinalState.hh + G4HadParticleCodes.hh + G4HadProjectile.hh + G4HadReentrentException.hh + G4HadSecondary.hh + G4HadSignalHandler.hh + G4HadTmpUtil.hh + G4HadronicException.hh + G4HadronicWhiteBoard.hh + G4IsoResult.hh + G4LightMedia.hh + G4Nucleus.hh + G4Pair.hh + G4ReactionDynamics.hh + G4ReactionKinematics.hh + G4ReactionProduct.hh + G4ReactionProductVector.hh + G4StableIsotopes.hh + G4ping.hh + SOURCES + G4Bessel.cc + G4HadFinalState.cc + G4HadProjectile.cc + G4HadSecondary.cc + G4HadSignalHandler.cc + G4HadTmpUtil.cc + G4HadronicWhiteBoard.cc + G4IsoResult.cc + G4LightMedia.cc + G4Nucleus.cc + G4ReactionDynamics.cc + G4ReactionKinematics.cc + G4ReactionProduct.cc + G4StableIsotopes.cc + GRANULAR_DEPENDENCIES + G4baryons + G4bosons + G4geometrymng + G4globman + G4ions + G4leptons + G4materials + G4mesons + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/hadronic/util/src/G4HadronicWhiteBoard.cc b/source/processes/hadronic/util/src/G4HadronicWhiteBoard.cc index 9a7cb55b6a..ec25dcc86f 100644 --- a/source/processes/hadronic/util/src/G4HadronicWhiteBoard.cc +++ b/source/processes/hadronic/util/src/G4HadronicWhiteBoard.cc @@ -26,6 +26,11 @@ #include "G4HadronicWhiteBoard.hh" +G4HadronicWhiteBoard::G4HadronicWhiteBoard() + : theProjectile(0), theDef(0), theName(0) +{} + + G4HadronicWhiteBoard & G4HadronicWhiteBoard::Instance() { static G4HadronicWhiteBoard theInstance; @@ -48,8 +53,8 @@ G4double G4HadronicWhiteBoard::GetEnergy() {return theE;} G4double G4HadronicWhiteBoard::GetPx(){return thePx;} G4double G4HadronicWhiteBoard::GetPy(){return thePy;} G4double G4HadronicWhiteBoard::GetPz(){return thePz;} -G4double G4HadronicWhiteBoard::GetA(){return theA;} -G4double G4HadronicWhiteBoard::GetZ(){return theZ;} +G4int G4HadronicWhiteBoard::GetA(){return theA;} +G4int G4HadronicWhiteBoard::GetZ(){return theZ;} void G4HadronicWhiteBoard::SetProjectile(const G4HadProjectile & aProjectile) @@ -67,8 +72,8 @@ void G4HadronicWhiteBoard::SetProjectile(const G4HadProjectile & aProjectile) void G4HadronicWhiteBoard::SetTargetNucleus(const G4Nucleus & aTarget) { theTarget = aTarget; - theA = theTarget.GetN(); - theZ = theTarget.GetZ(); + theA = theTarget.GetA_asInt(); + theZ = theTarget.GetZ_asInt(); } diff --git a/source/processes/hadronic/util/src/G4LightMedia.cc b/source/processes/hadronic/util/src/G4LightMedia.cc index 785e9c2cd2..4bc2a00f0c 100644 --- a/source/processes/hadronic/util/src/G4LightMedia.cc +++ b/source/processes/hadronic/util/src/G4LightMedia.cc @@ -43,7 +43,7 @@ G4ParticleDefinition* aNeutron = G4Neutron::Neutron(); G4ParticleDefinition* aPiZero = G4PionZero::PionZero(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -82,7 +82,7 @@ G4ParticleDefinition* aKaonZS = G4KaonZeroShort::KaonZeroShort(); G4ParticleDefinition* aKaonZL = G4KaonZeroLong::KaonZeroLong(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -116,7 +116,7 @@ G4ParticleDefinition* aKaonPlus = G4KaonPlus::KaonPlus(); G4ParticleDefinition* aKaonZL = G4KaonZeroLong::KaonZeroLong(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -175,7 +175,7 @@ { G4ParticleDefinition* aNeutron = G4Neutron::Neutron(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -202,7 +202,7 @@ G4ParticleDefinition* aProton = G4Proton::Proton(); G4ParticleDefinition* anAntiNeutron = G4AntiNeutron::AntiNeutron(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -228,7 +228,7 @@ { G4ParticleDefinition* aProton = G4Proton::Proton(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -255,7 +255,7 @@ G4ParticleDefinition* aNeutron = G4Neutron::Neutron(); G4ParticleDefinition* anAntiProton = G4AntiProton::AntiProton(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -285,7 +285,7 @@ G4ParticleDefinition* aSigmaMinus = G4SigmaMinus::SigmaMinus(); G4ParticleDefinition* aSigmaZero = G4SigmaZero::SigmaZero(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -363,7 +363,7 @@ G4ParticleDefinition* anAntiSigmaMinus = G4AntiSigmaMinus::AntiSigmaMinus(); G4ParticleDefinition* anAntiSigmaZero = G4AntiSigmaZero::AntiSigmaZero(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -442,7 +442,7 @@ G4ParticleDefinition* aLambda = G4Lambda::Lambda(); G4ParticleDefinition* aSigmaZero = G4SigmaZero::SigmaZero(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -504,7 +504,7 @@ G4ParticleDefinition* aLambda = G4Lambda::Lambda(); G4ParticleDefinition* aSigmaZero = G4SigmaZero::SigmaZero(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -566,7 +566,7 @@ G4ParticleDefinition* anAntiLambda = G4AntiLambda::AntiLambda(); G4ParticleDefinition* anAntiSigmaZero = G4AntiSigmaZero::AntiSigmaZero(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -625,7 +625,7 @@ G4ParticleDefinition* anAntiLambda = G4AntiLambda::AntiLambda(); G4ParticleDefinition* anAntiSigmaZero = G4AntiSigmaZero::AntiSigmaZero(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -688,7 +688,7 @@ G4ParticleDefinition* aSigmaPlus = G4SigmaPlus::SigmaPlus(); G4ParticleDefinition* aXiMinus = G4XiMinus::XiMinus(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -772,7 +772,7 @@ G4ParticleDefinition* aSigmaMinus = G4SigmaMinus::SigmaMinus(); G4ParticleDefinition* aXiZero = G4XiZero::XiZero(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -861,7 +861,7 @@ G4ParticleDefinition* aSigmaPlus = G4SigmaPlus::SigmaPlus(); G4ParticleDefinition* aXiMinus = G4XiMinus::XiMinus(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -949,7 +949,7 @@ G4ParticleDefinition* aSigmaMinus = G4SigmaMinus::SigmaMinus(); G4ParticleDefinition* aXiZero = G4XiZero::XiZero(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -1035,7 +1035,7 @@ G4ParticleDefinition* aXiMinus = G4XiMinus::XiMinus(); G4ParticleDefinition* aXiZero = G4XiZero::XiZero(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); @@ -1136,7 +1136,7 @@ G4ParticleDefinition* aXiMinus = G4XiMinus::XiMinus(); G4ParticleDefinition* aXiZero = G4XiZero::XiZero(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle(); diff --git a/source/processes/hadronic/util/src/G4Nucleus.cc b/source/processes/hadronic/util/src/G4Nucleus.cc index a51d9aabc7..90443713bf 100644 --- a/source/processes/hadronic/util/src/G4Nucleus.cc +++ b/source/processes/hadronic/util/src/G4Nucleus.cc @@ -37,6 +37,7 @@ // Chr. Volcker, 10-Nov-1997: new methods and class variables. // HPW added utilities for low energy neutron transport. (12.04.1998) // M.G. Pia, 2 Oct 1998: modified GetFermiMomentum to avoid memory leaks + // G.Folger, spring 2010: add integer A/Z interface #include "G4Nucleus.hh" #include "G4NucleiProperties.hh" @@ -44,6 +45,7 @@ #include "G4HadronicException.hh" G4Nucleus::G4Nucleus() + : theA(0), theZ(0), aEff(0.0), zEff(0) { pnBlackTrackEnergy = 0.0; dtaBlackTrackEnergy = 0.0; @@ -68,6 +70,19 @@ G4Nucleus::G4Nucleus( const G4double A, const G4double Z ) theTemp = 293.16*kelvin; } +G4Nucleus::G4Nucleus( const G4int A, const G4int Z ) +{ + SetParameters( A, Z ); + pnBlackTrackEnergy = 0.0; + dtaBlackTrackEnergy = 0.0; + pnBlackTrackEnergyfromAnnihilation = 0.0; + dtaBlackTrackEnergyfromAnnihilation = 0.0; + excitationEnergy = 0.0; + momentum = G4ThreeVector(0.,0.,0.); + fermiMomentum = 1.52*hbarc/fermi; + theTemp = 293.16*kelvin; +} + G4Nucleus::G4Nucleus( const G4Material *aMaterial ) { ChooseParameters( aMaterial ); @@ -135,31 +150,59 @@ G4ReactionProduct G4Nucleus::GetThermalNucleus(G4double targetMass, G4double tem G4Nucleus::ChooseParameters( const G4Material *aMaterial ) { G4double random = G4UniformRand(); - G4double sum = 0; + G4double sum = aMaterial->GetTotNbOfAtomsPerVolume(); const G4ElementVector *theElementVector = aMaterial->GetElementVector(); - unsigned int i; - for(i=0; iGetNumberOfElements(); ++i ) + G4double running(0); + G4Element* element(0); + for(unsigned int i=0; iGetNumberOfElements(); ++i ) { - sum += aMaterial->GetAtomicNumDensityVector()[i]; - } - G4double running = 0; - for(i=0; iGetNumberOfElements(); ++i ) - { - running += aMaterial->GetAtomicNumDensityVector()[i]; - if( running/sum > random ) { - aEff = (*theElementVector)[i]->GetA()*mole/g; - zEff = (*theElementVector)[i]->GetZ(); + running += aMaterial->GetVecNbOfAtomsPerVolume()[i]; + if( running > random*sum ) { + element=(*theElementVector)[i]; break; } } + if ( element->GetNumberOfIsotopes() > 0 ) { + G4double randomAbundance = G4UniformRand(); + G4double sumAbundance = element->GetRelativeAbundanceVector()[0]; + unsigned int iso=0; + while ( iso < element->GetNumberOfIsotopes() && + sumAbundance < randomAbundance ) { + ++iso; + sumAbundance += element->GetRelativeAbundanceVector()[iso]; + } + theA=element->GetIsotope(iso)->GetN(); + theZ=element->GetIsotope(iso)->GetZ(); + aEff=theA; + zEff=theZ; + } else { + aEff = element->GetN(); + zEff = element->GetZ(); + theZ = G4int(zEff + 0.5); + theA = G4int(aEff + 0.5); + } } void G4Nucleus::SetParameters( const G4double A, const G4double Z ) { - G4int myZ = G4int(Z + 0.5); - G4int myA = G4int(A + 0.5); - if( myA<1 || myZ<0 || myZ>myA ) + theZ = G4int(Z + 0.5); + theA = G4int(A + 0.5); + if( theA<1 || theZ<0 || theZ>theA ) + { + throw G4HadronicException(__FILE__, __LINE__, + "G4Nucleus::SetParameters called with non-physical parameters"); + } + aEff = A; // atomic weight + zEff = Z; // atomic number + } + + void + G4Nucleus::SetParameters( const G4int A, const G4int Z ) + { + theZ = Z; + theA = A; + if( theA<1 || theZ<0 || theZ>theA ) { throw G4HadronicException(__FILE__, __LINE__, "G4Nucleus::SetParameters called with non-physical parameters"); @@ -188,6 +231,13 @@ G4ReactionProduct G4Nucleus::GetThermalNucleus(G4double targetMass, G4double tem return G4NucleiProperties::GetNuclearMass(A, Z); } + G4double + G4Nucleus::AtomicMass( const G4int A, const G4int Z ) const + { + // Now returns (atomic mass - electron masses) + return G4NucleiProperties::GetNuclearMass(A, Z); + } + G4double G4Nucleus::GetThermalPz( const G4double mass, const G4double temp ) const { diff --git a/source/processes/hadronic/util/src/G4ReactionDynamics.cc b/source/processes/hadronic/util/src/G4ReactionDynamics.cc index e7517cee71..72ab42b6fb 100644 --- a/source/processes/hadronic/util/src/G4ReactionDynamics.cc +++ b/source/processes/hadronic/util/src/G4ReactionDynamics.cc @@ -183,8 +183,8 @@ currentParticle.SetMomentum( m ); veryForward = true; } - const G4double atomicWeight = targetNucleus.GetN(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicWeight = G4double(targetNucleus.GetA_asInt()); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); const G4double protonMass = aProton->GetPDGMass()/MeV; if (originalIncident->GetDefinition()->GetParticleSubType() == "kaon" @@ -1123,9 +1123,9 @@ numberofFinalStateNucleons = std::max(1, numberofFinalStateNucleons); G4int PinNucleus = std::max(0, - G4int(targetNucleus.GetZ()) - protonsInFinalState); + targetNucleus.GetZ_asInt() - protonsInFinalState); G4int NinNucleus = std::max(0, - G4int(targetNucleus.GetN()-targetNucleus.GetZ()) - neutronsInFinalState); + targetNucleus.GetN_asInt() - neutronsInFinalState); pseudoParticle[3].SetMomentum( 0.0, 0.0, pOriginal*GeV ); pseudoParticle[3].SetMass( mOriginal*GeV ); @@ -1355,8 +1355,8 @@ G4double eAvailable = cmEnergy - mOriginal - targetMass; for (G4int i = 0; i < vecLen; i++) eAvailable -= vec[i]->GetMass()/GeV; - const G4double atomicWeight = targetNucleus.GetN(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicWeight = G4double(targetNucleus.GetA_asInt()); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); const G4double pOriginal = modifiedOriginal.GetTotalMomentum()/GeV; G4ParticleDefinition *aPiMinus = G4PionMinus::PionMinus(); @@ -1501,8 +1501,8 @@ veryForward = true; } - const G4double atomicWeight = targetNucleus.GetN(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicWeight = G4double(targetNucleus.GetA_asInt()); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); // // particles have been distributed in forward and backward hemispheres // in center of mass system of the hadron nucleon interaction @@ -2032,9 +2032,9 @@ numberofFinalStateNucleons = std::max(1, numberofFinalStateNucleons); G4int PinNucleus = std::max(0, - G4int(targetNucleus.GetZ()) - protonsInFinalState); + targetNucleus.GetZ_asInt() - protonsInFinalState); G4int NinNucleus = std::max(0, - G4int(targetNucleus.GetN()-targetNucleus.GetZ()) - neutronsInFinalState); + targetNucleus.GetN_asInt() - neutronsInFinalState); // // for various reasons, the energy balance is not sufficient, // check that, energy balance, angle of final system, etc. @@ -2269,7 +2269,7 @@ G4double targetMass = targetParticle.GetDefinition()->GetPDGMass()/GeV; targetMass = targetParticle.GetMass()/GeV; - const G4double atomicWeight = targetNucleus.GetN(); + const G4double atomicWeight = G4double(targetNucleus.GetA_asInt()); G4double etCurrent = currentParticle.GetTotalEnergy()/GeV; G4double pCurrent = currentParticle.GetTotalMomentum()/GeV; @@ -2429,9 +2429,9 @@ G4int neutronsInFinalState = finalStateNucleons.second; G4int PinNucleus = std::max(0, - G4int(targetNucleus.GetZ()) - protonsInFinalState); + targetNucleus.GetZ_asInt() - protonsInFinalState); G4int NinNucleus = std::max(0, - G4int(targetNucleus.GetN()-targetNucleus.GetZ()) - neutronsInFinalState); + targetNucleus.GetN_asInt() - neutronsInFinalState); // DEBUGGING --> DumpFrames::DumpFrame(vec, vecLen); if( atomicWeight >= 1.5 ) @@ -2819,7 +2819,7 @@ // Rotate in direction of z-axis, this does disturb in some way our // inclusive distributions, but it is necessary for momentum conservation // - const G4double atomicWeight = targetNucleus.GetN(); + const G4double atomicWeight = G4double(targetNucleus.GetA_asInt()); const G4double logWeight = std::log(atomicWeight); G4ParticleDefinition *aPiMinus = G4PionMinus::PionMinus(); @@ -3095,8 +3095,8 @@ G4ParticleDefinition *anAlpha = G4Alpha::Alpha(); const G4double ekOriginal = modifiedOriginal.GetKineticEnergy()/MeV; - const G4double atomicWeight = targetNucleus.GetN(); - const G4double atomicNumber = targetNucleus.GetZ(); + const G4double atomicWeight = G4double(targetNucleus.GetA_asInt()); + const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt()); const G4double ika1 = 3.6; const G4double ika2 = 35.56; @@ -3835,7 +3835,7 @@ if( currentParticle.GetDefinition() == aNeutron ) { - const G4double A = targetNucleus.GetN(); // atomic weight + const G4double A = G4double(targetNucleus.GetA_asInt()); // atomic weight if( G4UniformRand() > ((A-1.0)/230.0)*((A-1.0)/230.0) ) qval[0] = 0.0; if( G4UniformRand() >= currentKinetic/7.9254*A ) diff --git a/source/processes/management/CMakeLists.txt b/source/processes/management/CMakeLists.txt new file mode 100644 index 0000000000..d037fcef4f --- /dev/null +++ b/source/processes/management/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4procman +# Package: Geant4.src.G4processes.G4procman +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:08:47 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/management/History b/source/processes/management/History index 474017dc52..b1dbc43770 100644 --- a/source/processes/management/History +++ b/source/processes/management/History @@ -1,4 +1,4 @@ -$Id: History,v 1.58 2008/06/23 08:58:40 gcosmo Exp $ +$Id: History,v 1.60 2010/10/30 07:51:23 kurasige Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,12 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +- Oct. 30, 2010 H.Kurashige (procman-V09-03-01) +- Fix bugs of uninitialized variables (reported by Coverity) + +- Oct. 07, 2010 H.Kurashige (procman-V09-03-00) +- Fix bugs (G4VProces, G4ProcessTable, G4ProcessAttribute) + - Jun. 23, 2008 G.Cosmo (procman-V09-01-03) - Fixed un-necessary double deletion/creation of vector in G4ProcessVector::operator=() diff --git a/source/processes/management/include/G4ProcessAttribute.hh b/source/processes/management/include/G4ProcessAttribute.hh index 3eabfb6ae8..851596000b 100644 --- a/source/processes/management/include/G4ProcessAttribute.hh +++ b/source/processes/management/include/G4ProcessAttribute.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ProcessAttribute.hh,v 1.5 2006/06/29 21:07:24 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ProcessAttribute.hh,v 1.6 2010/10/07 13:59:21 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -92,9 +92,13 @@ class G4ProcessAttribute inline G4ProcessAttribute::G4ProcessAttribute(const G4VProcess* aProcess): pProcess((G4VProcess*)aProcess), - isActive(true) + isActive(true), + idxProcessList(-1) { - idxProcessList = -1; + for(size_t ii=0; ii0){ G4cout << "-- G4ProcessTable assignment operator --" << G4endl; @@ -348,7 +349,7 @@ G4ProcessTable::G4ProcTableVector* G4ProcessTable::Find( G4ProcTableVector::iterator itr; G4bool isFound = false; - G4ProcTblElement* anElement; + G4ProcTblElement* anElement=0; for (itr=fProcTblVector->begin(); itr!=fProcTblVector->end(); ++itr) { anElement = (*itr); // check name @@ -377,7 +378,7 @@ G4ProcessTable::G4ProcTableVector* G4ProcessTable::Find( G4ProcTableVector::iterator itr; G4bool isFound = false; - G4ProcTblElement* anElement; + G4ProcTblElement* anElement=0; for (itr=fProcTblVector->begin(); itr!=fProcTblVector->end(); ++itr) { anElement = (*itr); // check name @@ -390,7 +391,7 @@ G4ProcessTable::G4ProcTableVector* G4ProcessTable::Find( #ifdef G4VERBOSE if (!isFound && verboseLevel>0){ G4cout << " G4ProcessTable::Find :" ; - G4cout << " The Process[" << anElement->GetProcessName() << "] is not found " << G4endl; + G4cout << " The ProcessType[" << processType << "] is not found " << G4endl; } #endif diff --git a/source/processes/management/src/G4VContinuousDiscreteProcess.cc b/source/processes/management/src/G4VContinuousDiscreteProcess.cc index 835af4cc08..00cb6ab3ad 100644 --- a/source/processes/management/src/G4VContinuousDiscreteProcess.cc +++ b/source/processes/management/src/G4VContinuousDiscreteProcess.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VContinuousDiscreteProcess.cc,v 1.6 2007/10/02 08:23:20 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VContinuousDiscreteProcess.cc,v 1.7 2010/10/30 07:51:23 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -39,14 +39,16 @@ #include "G4VContinuousDiscreteProcess.hh" G4VContinuousDiscreteProcess::G4VContinuousDiscreteProcess() - :G4VProcess("No Name Discrete Process") + :G4VProcess("No Name Discrete Process"), + valueGPILSelection(CandidateForSelection) { G4Exception("G4VContinuousDiscreteProcess::G4VContinuousDiscreteProcess()","Illegal operation", JustWarning,"Default constructor is called"); } G4VContinuousDiscreteProcess::G4VContinuousDiscreteProcess(const G4String& aName , G4ProcessType aType) - : G4VProcess(aName, aType) + : G4VProcess(aName, aType), + valueGPILSelection(CandidateForSelection) { enableAtRestDoIt = false; } @@ -56,7 +58,8 @@ G4VContinuousDiscreteProcess::~G4VContinuousDiscreteProcess() } G4VContinuousDiscreteProcess::G4VContinuousDiscreteProcess(G4VContinuousDiscreteProcess& right) - : G4VProcess(right) + : G4VProcess(right), + valueGPILSelection(right.valueGPILSelection) { } @@ -69,4 +72,3 @@ G4VContinuousDiscreteProcess::G4VContinuousDiscreteProcess(G4VContinuousDiscrete - diff --git a/source/processes/management/src/G4VContinuousProcess.cc b/source/processes/management/src/G4VContinuousProcess.cc index 8999c3a90d..4f71ba278d 100644 --- a/source/processes/management/src/G4VContinuousProcess.cc +++ b/source/processes/management/src/G4VContinuousProcess.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VContinuousProcess.cc,v 1.5 2007/10/02 08:23:20 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VContinuousProcess.cc,v 1.6 2010/10/30 07:51:23 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -39,13 +39,15 @@ #include "G4VContinuousProcess.hh" G4VContinuousProcess::G4VContinuousProcess() - :G4VProcess("No Name Continuous Process") + :G4VProcess("No Name Continuous Process"), + valueGPILSelection(CandidateForSelection) { G4Exception("G4VContinuousProcess:: default constructor is called"); } G4VContinuousProcess::G4VContinuousProcess(const G4String& aName , G4ProcessType aType) - : G4VProcess(aName, aType) + : G4VProcess(aName, aType), + valueGPILSelection(CandidateForSelection) { enableAtRestDoIt = false; enablePostStepDoIt = false; @@ -56,7 +58,8 @@ G4VContinuousProcess::~G4VContinuousProcess() } G4VContinuousProcess::G4VContinuousProcess(G4VContinuousProcess& right) - : G4VProcess(right) + : G4VProcess(right), + valueGPILSelection(right.valueGPILSelection) { } diff --git a/source/processes/management/src/G4VProcess.cc b/source/processes/management/src/G4VProcess.cc index ba6e8e1c0d..3f0e5a8971 100644 --- a/source/processes/management/src/G4VProcess.cc +++ b/source/processes/management/src/G4VProcess.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VProcess.cc,v 1.16 2007/11/15 04:10:18 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VProcess.cc,v 1.17 2010/10/07 14:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -46,7 +46,8 @@ #include "G4VProcess.hh" G4VProcess::G4VProcess(const G4String& aName, G4ProcessType aType ) - : pParticleChange(0), + : aProcessManager(0), + pParticleChange(0), theNumberOfInteractionLengthLeft(-1.0), currentInteractionLength(-1.0), theProcessName(aName), @@ -67,7 +68,8 @@ G4VProcess::~G4VProcess() } G4VProcess::G4VProcess(const G4VProcess& right) - : pParticleChange(0), + : aProcessManager(0), + pParticleChange(0), theNumberOfInteractionLengthLeft(-1.0), currentInteractionLength(-1.0), theProcessName(right.theProcessName), diff --git a/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc b/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc index 927f3ea811..dda660c69d 100644 --- a/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc +++ b/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRestContinuousDiscreteProcess.cc,v 1.6 2007/10/02 08:23:20 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRestContinuousDiscreteProcess.cc,v 1.7 2010/10/30 07:51:23 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -39,14 +39,16 @@ #include "G4VRestContinuousDiscreteProcess.hh" G4VRestContinuousDiscreteProcess::G4VRestContinuousDiscreteProcess() - :G4VProcess("No Name Discrete Process") + :G4VProcess("No Name Discrete Process"), + valueGPILSelection(CandidateForSelection) { G4Exception("G4VRestContinuousDiscreteProcess::G4VRestContinuousDiscreteProcess()", "Illegal operation",JustWarning,"default constructor is called"); } G4VRestContinuousDiscreteProcess::G4VRestContinuousDiscreteProcess(const G4String& aName , G4ProcessType aType) - : G4VProcess(aName, aType) + : G4VProcess(aName, aType), + valueGPILSelection(CandidateForSelection) { } @@ -55,7 +57,8 @@ G4VRestContinuousDiscreteProcess::~G4VRestContinuousDiscreteProcess() } G4VRestContinuousDiscreteProcess::G4VRestContinuousDiscreteProcess(G4VRestContinuousDiscreteProcess& right) - : G4VProcess(right) + : G4VProcess(right), + valueGPILSelection(right.valueGPILSelection) { } diff --git a/source/processes/management/src/G4VRestContinuousProcess.cc b/source/processes/management/src/G4VRestContinuousProcess.cc index a64aeca145..8d3cca70fe 100644 --- a/source/processes/management/src/G4VRestContinuousProcess.cc +++ b/source/processes/management/src/G4VRestContinuousProcess.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRestContinuousProcess.cc,v 1.6 2007/10/02 08:23:20 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRestContinuousProcess.cc,v 1.7 2010/10/30 07:51:23 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -39,14 +39,16 @@ #include "G4VRestContinuousProcess.hh" G4VRestContinuousProcess::G4VRestContinuousProcess() - :G4VProcess("No Name Discrete Process") + :G4VProcess("No Name Discrete Process") , + valueGPILSelection(CandidateForSelection) { G4Exception("G4VRestContinuousProcess::G4VRestContinuousProcess()","Illegal operation", JustWarning,"default constructor is called"); } G4VRestContinuousProcess::G4VRestContinuousProcess(const G4String& aName , G4ProcessType aType) - : G4VProcess(aName, aType) + : G4VProcess(aName, aType), + valueGPILSelection(CandidateForSelection) { enablePostStepDoIt = false; } @@ -56,7 +58,8 @@ G4VRestContinuousProcess::~G4VRestContinuousProcess() } G4VRestContinuousProcess::G4VRestContinuousProcess(G4VRestContinuousProcess& right) - : G4VProcess(right) + : G4VProcess(right), + valueGPILSelection(right.valueGPILSelection) { } diff --git a/source/processes/optical/CMakeLists.txt b/source/processes/optical/CMakeLists.txt new file mode 100644 index 0000000000..d8b32967ea --- /dev/null +++ b/source/processes/optical/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4optical +# Package: Geant4.src.G4processes.G4optical +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:09:03 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/optical/History b/source/processes/optical/History index 7c1d5b2202..1d33617f38 100644 --- a/source/processes/optical/History +++ b/source/processes/optical/History @@ -16,6 +16,41 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +29th Oct 2010 Peter Gumplinger (op-V09-03-06) + Fix minor Coverty Errors + +22th Oct 2010 Peter Gumplinger (op-V09-03-05) + Add Mie Scattering of Optical Photons + Thanks to Xin Qian (Kellogg Radiation Lab of Caltech) + Based on work from Vlasios Vasileiou (University of Maryland) + Henyey-Greenstein phase functions + +21th Oct 2010 Peter Gumplinger (op-V09-03-04) + Fix Bug 207; Thanks to Xin Qian (Kellogg Radiation Lab of Caltech) + +14th Jun 2010 Peter Gumplinger (op-V09-03-03) + ProposeLocalEnergyDeposit(thePhotonMomentum) every time the + photon is fStopAndKill because of NoRINDEX. This will trigger + scoring when a photon encounters a volume not defined as an + optical medium (indirect user request): + http://hypernews.slac.stanford.edu/HyperNews/geant4/get/opticalphotons/335/1.html + +18th May 2010 Peter Gumplinger (op-V09-03-02) + fix a bug reported at: + http://hypernews.slac.stanford.edu/HyperNews/geant4/get/opticalphotons/334/1/1.html + theFacetNormal was not sampled for polishedbackpainted + in DielectricDielectric method of G4OpBoundaryProcess + +19th Apr 2010 Peter Gumplinger (op-V09-03-01) + fix Problem report #1114 in that for backpainted + surfaces theReflectivity is not applied twice. + While doing the fix I also completely refashioning the + code in the case of type == dielectric_dielect. + +19th Jan 2010 Peter Gumplinger (op-V09-03-00) + assign PropertyPointers to NULL at the start of the + PostStepDoIt, addresses bug report #1094 + 19th Nov 2009 Peter Gumplinger (op-V09-02-06) change the code such that the LUT are now read in and kept by G4OpticalSurface and not G4OpBoundaryProcess, reordering diff --git a/source/processes/optical/include/G4OpMieHG.hh b/source/processes/optical/include/G4OpMieHG.hh new file mode 100644 index 0000000000..16e226f3f1 --- /dev/null +++ b/source/processes/optical/include/G4OpMieHG.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. * +// ******************************************************************** +// +//////////////////////////////////////////////////////////////////////// +// +// File G4OpMieHG.hh +// Description: Discrete Process -- Mie Scattering of Optical Photons +// Created: 2010-07-03 +// Author: Xin Qian +// Based on work from Vlasios Vasileiou +// +// This subroutine will mimic the Mie scattering based on +// Henyey-Greenstein phase function +// Forward and backward angles are treated separately. +// +// mail: gum@triumf.ca +// +//////////////////////////////////////////////////////////////////////// + +#ifndef G4OpMieHG_h +#define G4OpMieHG_h 1 + +#include "G4VDiscreteProcess.hh" +#include "G4OpticalPhoton.hh" + +class G4OpMieHG : public G4VDiscreteProcess +{ + +public: + + G4OpMieHG(const G4String& processName = "OpMieHG", + G4ProcessType type = fOptical); + ~G4OpMieHG(); + + //////////// + // Methods + //////////// + + G4bool IsApplicable(const G4ParticleDefinition& aParticleType); + // Returns true -> 'is applicable' only for an optical photon. + + G4double GetMeanFreePath(const G4Track& aTrack, + G4double, + G4ForceCondition* ); + // Return the mean free path of Mie scattering + + G4VParticleChange* PostStepDoIt(const G4Track& aTrack, + const G4Step& aStep); + // This is the method implementing Mie scattering. + +}; + + +inline +G4bool G4OpMieHG::IsApplicable(const G4ParticleDefinition& aParticleType) +{ + return ( &aParticleType == G4OpticalPhoton::OpticalPhoton() ); +} + +#endif /* G4OpMieHG_h */ diff --git a/source/processes/optical/include/G4OpProcessSubType.hh b/source/processes/optical/include/G4OpProcessSubType.hh index 8b0910e98f..4ef8386ca9 100644 --- a/source/processes/optical/include/G4OpProcessSubType.hh +++ b/source/processes/optical/include/G4OpProcessSubType.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpProcessSubType.hh,v 1.3 2008/12/18 13:02:46 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4OpProcessSubType.hh,v 1.4 2010/10/22 01:01:37 gum Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // @@ -47,7 +47,8 @@ enum G4OpProcessSubType fOpAbsorption = 31, fOpBoundary = 32, fOpRayleigh = 33, - fOpWLS = 34 + fOpWLS = 34, + fOpMieHG = 35 }; #endif diff --git a/source/processes/optical/sources.cmake b/source/processes/optical/sources.cmake new file mode 100644 index 0000000000..0b473c54a7 --- /dev/null +++ b/source/processes/optical/sources.cmake @@ -0,0 +1,78 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4optical +# Package: Geant4.src.G4processes.G4optical +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/10/26 09:33:11 gcosmo Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4optical + HEADERS + G4OpAbsorption.hh + G4OpBoundaryProcess.hh + G4OpMieHG.hh + G4OpProcessSubType.hh + G4OpRayleigh.hh + G4OpWLS.hh + G4VWLSTimeGeneratorProfile.hh + G4WLSTimeGeneratorProfileDelta.hh + G4WLSTimeGeneratorProfileExponential.hh + SOURCES + G4OpAbsorption.cc + G4OpBoundaryProcess.cc + G4OpMieHG.cc + G4OpRayleigh.cc + G4OpWLS.cc + G4VWLSTimeGeneratorProfile.cc + G4WLSTimeGeneratorProfileDelta.cc + G4WLSTimeGeneratorProfileExponential.cc + GRANULAR_DEPENDENCIES + G4bosons + G4geometrymng + G4globman + G4materials + G4navigation + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/optical/src/G4OpBoundaryProcess.cc b/source/processes/optical/src/G4OpBoundaryProcess.cc index b1d8b9e0a1..8bfa4d762d 100644 --- a/source/processes/optical/src/G4OpBoundaryProcess.cc +++ b/source/processes/optical/src/G4OpBoundaryProcess.cc @@ -112,9 +112,16 @@ G4OpBoundaryProcess::G4OpBoundaryProcess(const G4String& processName, prob_ss = 0.; prob_bs = 0.; + PropertyPointer = NULL; + PropertyPointer1 = NULL; + PropertyPointer2 = NULL; + kCarTolerance = G4GeometryTolerance::GetInstance() ->GetSurfaceTolerance(); + iTE = iTM = 0; + thePhotonMomentum = 0.; + Rindex1 = Rindex2 = cost1 = cost2 = sint1 = sint2 = 0.; } // G4OpBoundaryProcess::G4OpBoundaryProcess(const G4OpBoundaryProcess &right) @@ -227,6 +234,7 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) else { theStatus = NoRINDEX; if ( verboseLevel > 0) BoundaryProcessVerbose(); + aParticleChange.ProposeLocalEnergyDeposit(thePhotonMomentum); aParticleChange.ProposeTrackStatus(fStopAndKill); return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } @@ -237,6 +245,7 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) else { theStatus = NoRINDEX; if ( verboseLevel > 0) BoundaryProcessVerbose(); + aParticleChange.ProposeLocalEnergyDeposit(thePhotonMomentum); aParticleChange.ProposeTrackStatus(fStopAndKill); return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } @@ -306,6 +315,7 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) else { theStatus = NoRINDEX; if ( verboseLevel > 0) BoundaryProcessVerbose(); + aParticleChange.ProposeLocalEnergyDeposit(thePhotonMomentum); aParticleChange.ProposeTrackStatus(fStopAndKill); return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } @@ -370,6 +380,7 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) } else if (theFinish == polishedbackpainted || theFinish == groundbackpainted ) { + aParticleChange.ProposeLocalEnergyDeposit(thePhotonMomentum); aParticleChange.ProposeTrackStatus(fStopAndKill); return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } @@ -393,6 +404,7 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) else { theStatus = NoRINDEX; if ( verboseLevel > 0) BoundaryProcessVerbose(); + aParticleChange.ProposeLocalEnergyDeposit(thePhotonMomentum); aParticleChange.ProposeTrackStatus(fStopAndKill); return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } @@ -417,26 +429,28 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) } else if (type == dielectric_dielectric) { - if ( theFinish == polishedfrontpainted || - theFinish == groundfrontpainted ) { - if( !G4BooleanRand(theReflectivity) ) { - DoAbsorption(); - } - else { - if ( theFinish == groundfrontpainted ) - theStatus = LambertianReflection; - DoReflection(); - } - } + if ( theFinish == polishedbackpainted || + theFinish == groundbackpainted ) { + DielectricDielectric(); + } else { - if( !G4BooleanRand(theReflectivity) ) { - DoAbsorption(); - } - else { - DielectricDielectric(); - } - } - } + if ( !G4BooleanRand(theReflectivity) ) { + DoAbsorption(); + } + else { + if ( theFinish == polishedfrontpainted ) { + DoReflection(); + } + else if ( theFinish == groundfrontpainted ) { + theStatus = LambertianReflection; + DoReflection(); + } + else { + DielectricDielectric(); + } + } + } + } else { G4cerr << " Error: G4BoundaryProcess: illegal boundary type " << G4endl; @@ -780,13 +794,13 @@ void G4OpBoundaryProcess::DielectricDielectric() G4SwapPtr(Material1,Material2); G4SwapObj(&Rindex1,&Rindex2); } - - if ( theFinish == ground || theFinish == groundbackpainted ) { - theFacetNormal = - GetFacetNormal(OldMomentum,theGlobalNormal); + + if ( theFinish == polished ) { + theFacetNormal = theGlobalNormal; } else { - theFacetNormal = theGlobalNormal; + theFacetNormal = + GetFacetNormal(OldMomentum,theGlobalNormal); } G4double PdotN = OldMomentum * theFacetNormal; diff --git a/source/processes/optical/src/G4OpMieHG.cc b/source/processes/optical/src/G4OpMieHG.cc new file mode 100644 index 0000000000..6c1585455f --- /dev/null +++ b/source/processes/optical/src/G4OpMieHG.cc @@ -0,0 +1,189 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// +//////////////////////////////////////////////////////////////////////// +// +// File G4OpMieHG.hh +// Description: Discrete Process -- Mie Scattering of Optical Photons +// Created: 2010-07-03 +// Author: Xin Qian +// Based on work from Vlasios Vasileiou +// +// This subroutine will mimic the Mie scattering based on +// Henyey-Greenstein phase function +// Forward and backward angles are treated separately. +// +// mail: gum@triumf.ca +// +//////////////////////////////////////////////////////////////////////// + +#include "G4OpProcessSubType.hh" + +#include "G4OpMieHG.hh" + +G4OpMieHG::G4OpMieHG(const G4String& processName, G4ProcessType type) + : G4VDiscreteProcess(processName, type) +{ + if (verboseLevel>0) { + G4cout << GetProcessName() << " is created " << G4endl; + } + + SetProcessSubType(fOpMieHG); +} + +G4OpMieHG::~G4OpMieHG(){} + + //////////// + // Methods + //////////// + +// PostStepDoIt +// ------------- +// +G4VParticleChange* +G4OpMieHG::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) +{ + aParticleChange.Initialize(aTrack); + + const G4DynamicParticle* aParticle = aTrack.GetDynamicParticle(); + const G4Material* aMaterial = aTrack.GetMaterial(); + G4MaterialPropertiesTable* aMaterialPropertyTable = + aMaterial->GetMaterialPropertiesTable(); + + G4double forward_g = + aMaterialPropertyTable->GetConstProperty("MIEHG_FORWARD"); + G4double backward_g = + aMaterialPropertyTable->GetConstProperty("MIEHG_BACKWARD"); + G4double ForwardRatio = + aMaterialPropertyTable->GetConstProperty("MIEHG_FORWARD_RATIO"); + + if (verboseLevel>0) { + G4cout << "MIE Scattering Photon!" << G4endl; + G4cout << "MIE Old Momentum Direction: " + << aParticle->GetMomentumDirection() << G4endl; + G4cout << "MIE Old Polarization: " + << aParticle->GetPolarization() << G4endl; + } + + G4double g; + G4int direction; + if (G4UniformRand()<=ForwardRatio){ + g = forward_g; + direction = 1; + } else { + g = backward_g; + direction = -1; + } + + G4double r = G4UniformRand(); + + G4double Theta; + //sample the direction + if (g!=0) { + Theta = std::acos(2*r*(1+g)*(1+g)*(1-g+g*r)/((1-g+2*g*r)*(1-g+2*g*r)) -1); + } else { + Theta = std::acos(2*r-1.); + } + G4double Phi = G4UniformRand()*2*pi; + + if (direction==-1) Theta = pi - Theta; //backward scattering + + G4ThreeVector NewMomentumDirection, OldMomentumDirection; + G4ThreeVector OldPolarization, NewPolarization; + + NewMomentumDirection.set + (std::sin(Theta)*std::cos(Phi), std::sin(Theta)*std::sin(Phi), std::cos(Theta)); + OldMomentumDirection = aParticle->GetMomentumDirection(); + NewMomentumDirection.rotateUz(OldMomentumDirection); + NewMomentumDirection = NewMomentumDirection.unit(); + + OldPolarization = aParticle->GetPolarization(); + G4double constant = -1./NewMomentumDirection.dot(OldPolarization); + + NewPolarization = NewMomentumDirection + constant*OldPolarization; + NewPolarization = NewPolarization.unit(); + + if (NewPolarization.mag()==0) { + r = G4UniformRand()*twopi; + NewPolarization.set(std::cos(r),std::sin(r),0.); + NewPolarization.rotateUz(NewMomentumDirection); + } else { + // There are two directions which perpendicular + // new momentum direction + if (G4UniformRand() < 0.5) NewPolarization = -NewPolarization; + } + + aParticleChange.ProposePolarization(NewPolarization); + aParticleChange.ProposeMomentumDirection(NewMomentumDirection); + + if (verboseLevel>0) { + G4cout << "MIE New Polarization: " + << NewPolarization << G4endl; + G4cout << "MIE Polarization Change: " + << *(aParticleChange.GetPolarization()) << G4endl; + G4cout << "MIE New Momentum Direction: " + << NewMomentumDirection << G4endl; + G4cout << "MIE Momentum Change: " + << *(aParticleChange.GetMomentumDirection()) << G4endl; + } + + return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); +} + +// GetMeanFreePath() +// ----------------- +// +G4double G4OpMieHG::GetMeanFreePath(const G4Track& aTrack, + G4double , + G4ForceCondition* ) +{ + const G4DynamicParticle* aParticle = aTrack.GetDynamicParticle(); + const G4Material* aMaterial = aTrack.GetMaterial(); + + G4double thePhotonEnergy = aParticle->GetTotalEnergy(); + + G4double AttenuationLength = DBL_MAX; + + G4MaterialPropertiesTable* aMaterialPropertyTable = + aMaterial->GetMaterialPropertiesTable(); + + if (aMaterialPropertyTable) { + G4MaterialPropertyVector* AttenuationLengthVector = + aMaterialPropertyTable->GetProperty("MIEHG"); + if (AttenuationLengthVector) { + AttenuationLength = AttenuationLengthVector -> + GetProperty(thePhotonEnergy); + } else { +// G4cout << "No Mie scattering length specified" << G4endl; + } + } else { +// G4cout << "No Mie scattering length specified" << G4endl; + } + +// G4cout << thePhotonEnergy/GeV << " \t" << AttenuationLength/m << G4endl; + + return AttenuationLength; +} diff --git a/source/processes/optical/src/G4OpRayleigh.cc b/source/processes/optical/src/G4OpRayleigh.cc index 2af5b2e449..9890c7081d 100644 --- a/source/processes/optical/src/G4OpRayleigh.cc +++ b/source/processes/optical/src/G4OpRayleigh.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpRayleigh.cc,v 1.17 2008/10/24 19:51:12 gum Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4OpRayleigh.cc,v 1.19 2010/10/29 23:18:35 gum Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //////////////////////////////////////////////////////////////////////// @@ -38,7 +38,9 @@ // Version: 1.0 // Created: 1996-05-31 // Author: Juliet Armstrong -// Updated: 2005-07-28 - add G4ProcessType to constructor +// Updated: 2010-06-11 - Fix Bug 207; Thanks to Xin Qian +// (Kellogg Radiation Lab of Caltech) +// 2005-07-28 - add G4ProcessType to constructor // 2001-10-18 by Peter Gumplinger // eliminate unused variable warning on Linux (gcc-2.95.2) // 2001-09-18 by mma @@ -115,7 +117,7 @@ G4OpRayleigh::~G4OpRayleigh() // PostStepDoIt // ------------- // -G4VParticleChange* +G4VParticleChange* G4OpRayleigh::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) { aParticleChange.Initialize(aTrack); @@ -123,68 +125,82 @@ G4OpRayleigh::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) const G4DynamicParticle* aParticle = aTrack.GetDynamicParticle(); if (verboseLevel>0) { - G4cout << "Scattering Photon!" << G4endl; - G4cout << "Old Momentum Direction: " - << aParticle->GetMomentumDirection() << G4endl; - G4cout << "Old Polarization: " - << aParticle->GetPolarization() << G4endl; - } + G4cout << "Scattering Photon!" << G4endl; + G4cout << "Old Momentum Direction: " + << aParticle->GetMomentumDirection() << G4endl; + G4cout << "Old Polarization: " + << aParticle->GetPolarization() << G4endl; + } - // find polar angle w.r.t. old polarization vector + G4double cosTheta; + G4ThreeVector OldMomentumDirection, NewMomentumDirection; + G4ThreeVector OldPolarization, NewPolarization; - G4double rand = G4UniformRand(); + do { + // Try to simulate the scattered photon momentum direction + // w.r.t. the initial photon momentum direction - G4double CosTheta = std::pow(rand, 1./3.); - G4double SinTheta = std::sqrt(1.-CosTheta*CosTheta); + G4double CosTheta = G4UniformRand(); + G4double SinTheta = std::sqrt(1.-CosTheta*CosTheta); + // consider for the angle 90-180 degrees + if (G4UniformRand() < 0.5) CosTheta = -CosTheta; - if(G4UniformRand() < 0.5)CosTheta = -CosTheta; + // simulate the phi angle + G4double rand = twopi*G4UniformRand(); + G4double SinPhi = std::sin(rand); + G4double CosPhi = std::cos(rand); - // find azimuthal angle w.r.t old polarization vector + // start constructing the new momentum direction + G4double unit_x = SinTheta * CosPhi; + G4double unit_y = SinTheta * SinPhi; + G4double unit_z = CosTheta; + NewMomentumDirection.set (unit_x,unit_y,unit_z); - rand = G4UniformRand(); + // Rotate the new momentum direction into global reference system + OldMomentumDirection = aParticle->GetMomentumDirection(); + OldMomentumDirection = OldMomentumDirection.unit(); + NewMomentumDirection.rotateUz(OldMomentumDirection); + NewMomentumDirection = NewMomentumDirection.unit(); - G4double Phi = twopi*rand; - G4double SinPhi = std::sin(Phi); - G4double CosPhi = std::cos(Phi); - - G4double unit_x = SinTheta * CosPhi; - G4double unit_y = SinTheta * SinPhi; - G4double unit_z = CosTheta; - - G4ThreeVector NewPolarization (unit_x,unit_y,unit_z); + // calculate the new polarization direction + // The new polarization needs to be in the same plane as the new + // momentum direction and the old polarization direction + OldPolarization = aParticle->GetPolarization(); + G4double constant = -1./NewMomentumDirection.dot(OldPolarization); - // Rotate new polarization direction into global reference system + NewPolarization = NewMomentumDirection + constant*OldPolarization; + NewPolarization = NewPolarization.unit(); - G4ThreeVector OldPolarization = aParticle->GetPolarization(); - OldPolarization = OldPolarization.unit(); + // There is a corner case, where the Newmomentum direction + // is the same as oldpolariztion direction: + // random generate the azimuthal angle w.r.t. Newmomentum direction + if (NewPolarization.mag() == 0.) { + rand = G4UniformRand()*twopi; + NewPolarization.set(std::cos(rand),std::sin(rand),0.); + NewPolarization.rotateUz(NewMomentumDirection); + } else { + // There are two directions which are perpendicular + // to the new momentum direction + if (G4UniformRand() < 0.5) NewPolarization = -NewPolarization; + } + + // simulate according to the distribution cos^2(theta) + cosTheta = NewPolarization.dot(OldPolarization); + } while (std::pow(cosTheta,2) < G4UniformRand()); - NewPolarization.rotateUz(OldPolarization); - NewPolarization = NewPolarization.unit(); - - // -- new momentum direction is normal to the new - // polarization vector and in the same plane as the - // old and new polarization vectors -- - - G4ThreeVector NewMomentumDirection = - OldPolarization - NewPolarization * CosTheta; - - if(G4UniformRand() < 0.5)NewMomentumDirection = -NewMomentumDirection; - NewMomentumDirection = NewMomentumDirection.unit(); - - aParticleChange.ProposePolarization(NewPolarization); - - aParticleChange.ProposeMomentumDirection(NewMomentumDirection); + aParticleChange.ProposePolarization(NewPolarization); + aParticleChange.ProposeMomentumDirection(NewMomentumDirection); if (verboseLevel>0) { - G4cout << "New Polarization: " - << NewPolarization << G4endl; - G4cout << "Polarization Change: " - << *(aParticleChange.GetPolarization()) << G4endl; - G4cout << "New Momentum Direction: " - << NewMomentumDirection << G4endl; - G4cout << "Momentum Change: " - << *(aParticleChange.GetMomentumDirection()) << G4endl; - } + G4cout << "New Polarization: " + << NewPolarization << G4endl; + G4cout << "Polarization Change: " + << *(aParticleChange.GetPolarization()) << G4endl; + G4cout << "New Momentum Direction: " + << NewMomentumDirection << G4endl; + G4cout << "Momentum Change: " + << *(aParticleChange.GetMomentumDirection()) << G4endl; + } return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } @@ -210,8 +226,7 @@ void G4OpRayleigh::BuildThePhysicsTable() for (G4int i=0 ; i < numOfMaterials; i++) { - G4PhysicsOrderedFreeVector* ScatteringLengths = - new G4PhysicsOrderedFreeVector(); + G4PhysicsOrderedFreeVector* ScatteringLengths = NULL; G4MaterialPropertiesTable *aMaterialPropertiesTable = (*theMaterialTable)[i]->GetMaterialPropertiesTable(); @@ -230,7 +245,7 @@ void G4OpRayleigh::BuildThePhysicsTable() DefaultWater = true; - ScatteringLengths = + ScatteringLengths = RayleighAttenuationLengthGenerator(aMaterialPropertiesTable); } } diff --git a/source/processes/parameterisation/CMakeLists.txt b/source/processes/parameterisation/CMakeLists.txt new file mode 100644 index 0000000000..f1be704233 --- /dev/null +++ b/source/processes/parameterisation/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4parameterisation +# Package: Geant4.src.G4processes.G4parameterisation +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:09:19 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/parameterisation/sources.cmake b/source/processes/parameterisation/sources.cmake new file mode 100644 index 0000000000..9d2f6a4b1c --- /dev/null +++ b/source/processes/parameterisation/sources.cmake @@ -0,0 +1,81 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4parameterisation +# Package: Geant4.src.G4processes.G4parameterisation +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:09:27 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4parameterisation + HEADERS + G4FastSimulationManager.hh + G4FastSimulationManagerProcess.hh + G4FastSimulationMessenger.hh + G4FastSimulationVector.hh + G4FastSimulationVector.icc + G4FastStep.hh + G4FastStep.icc + G4FastTrack.hh + G4GlobalFastSimulationManager.hh + G4VFastSimulationModel.hh + SOURCES + G4FastSimulationManager.cc + G4FastSimulationManagerProcess.cc + G4FastSimulationMessenger.cc + G4FastStep.cc + G4FastTrack.cc + G4GlobalFastSimulationManager.cc + G4VFastSimulationModel.cc + GRANULAR_DEPENDENCIES + G4geometrymng + G4globman + G4intercoms + G4magneticfield + G4materials + G4navigation + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/scoring/CMakeLists.txt b/source/processes/scoring/CMakeLists.txt new file mode 100644 index 0000000000..5647d4e622 --- /dev/null +++ b/source/processes/scoring/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4scoring +# Package: Geant4.src.G4processes.G4scoring +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:09:35 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/scoring/GNUmakefile b/source/processes/scoring/GNUmakefile index 2392b7154c..e631b77181 100644 --- a/source/processes/scoring/GNUmakefile +++ b/source/processes/scoring/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2006/11/28 16:47:59 ahoward Exp $ +# $Id: GNUmakefile,v 1.6 2010/12/15 10:22:42 gcosmo Exp $ # ------------------------------------------------------------ # GNUmakefile for scoring process library. # ------------------------------------------------------------ @@ -23,6 +23,7 @@ CPPFLAGS += \ -I$(G4BASE)/track/include \ -I$(G4BASE)/processes/management/include \ -I$(G4BASE)/processes/electromagnetic/utils/include \ + -I$(G4BASE)/processes/electromagnetic/muons/include \ -I$(G4BASE)/processes/cuts/include \ -I$(G4BASE)/particles/management/include \ -I$(G4BASE)/materials/include \ diff --git a/source/processes/scoring/History b/source/processes/scoring/History index a87e919d90..30ab3a2a80 100644 --- a/source/processes/scoring/History +++ b/source/processes/scoring/History @@ -1,4 +1,4 @@ -$Id: History,v 1.18 2008/09/07 17:12:38 asaim Exp $ +$Id: History,v 1.23 2010/12/15 13:55:06 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,20 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +December 15, 2010 G.Cosmo (procscore-V09-03-02) +- Fixed creation of touchable-history to allow DLL builds on Windows. + +November 26, 2010 G.Cosmo (procscore-V09-03-01) +- Fixed compilation warnings for unused parameters. + +November 23, 2010 J.Apostolakis (procscore-V09-03-00) +- G4ScoreSplittingProcess spread values for all steps + in a Voxel-based "Regular" volume. + Requires tag in run, "run-V09-03-08". + +November 18, 2010 J.Apostolakis +- Added G4EnergySplitter (created by Pedro Arce) + September 7th, 2008 M.Asai (procscore-V09-01-01) - Correction of incorrect modification in the previous tag. diff --git a/examples/extended/medical/DICOM/include/G4PSDoseDeposit_RegNav.hh b/source/processes/scoring/include/G4EnergySplitter.hh similarity index 59% rename from examples/extended/medical/DICOM/include/G4PSDoseDeposit_RegNav.hh rename to source/processes/scoring/include/G4EnergySplitter.hh index 5801d6fca3..5ba361039d 100644 --- a/examples/extended/medical/DICOM/include/G4PSDoseDeposit_RegNav.hh +++ b/source/processes/scoring/include/G4EnergySplitter.hh @@ -23,58 +23,61 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4PSDoseDeposit_RegNav.hh,v 1.2 2009/11/10 18:52:35 arce Exp $ -// GEANT4 tag $Name: geant4-09-03 $ -// - -#ifndef G4PSDoseDeposit_RegNav_h -#define G4PSDoseDeposit_RegNav_h 1 - -#include "G4VPrimitiveScorer.hh" -#include "G4THitsMap.hh" +#ifndef G4EnergySplitter_h +#define G4EnergySplitter_h 1 //////////////////////////////////////////////////////////////////////////////// // (Description) -// Primitive scorer class for scoring dose deposit in the geometry volume. +// +// Class to calculate the split of energy in voxels when G4RegularNavigation is used +// It takes into account energy loss and multiple scattering corrections as the particles loses energies from voxel to voxel // -// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// Created: 2010-11-09 Pedro Arce // /////////////////////////////////////////////////////////////////////////////// +#include "globals.hh" class G4PhantomParameterisation; class G4EnergyLossForExtrapolator; class G4VPhysicalVolume; +class G4Material; +class G4Step; +#include -class G4PSDoseDeposit_RegNav : public G4VPrimitiveScorer +class G4EnergySplitter { - public: // with description - G4PSDoseDeposit_RegNav(G4String name, G4int depth=0); - virtual ~G4PSDoseDeposit_RegNav(); +public: // with description + G4EnergySplitter(); + virtual ~G4EnergySplitter(); + + G4int SplitEnergyInVolumes(const G4Step* aStep ); // Calculates the energy spliting, and dumps it into theEnergies. Returns number of steps - protected: // with description - virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); + inline void GetLastVoxelID( G4int& voxelID); + inline void GetFirstVoxelID( G4int& voxelID); + inline void GetVoxelID( G4int stepNo, G4int& voxelID ); + inline void GetVoxelIDAndLength( G4int stepNo, G4int& voxelID, G4double& stepLength ); + inline void GetLengthAndEnergyDeposited( G4int stepNo, G4int& voxelID, G4double& stepLength, G4double &energyLoss); + inline void GetLengthAndInitialEnergy( G4double &preStepEnergy, G4int stepNo, G4int& voxelID, G4double& stepLength, G4double &initialEnergy); - public: - virtual void Initialize(G4HCofThisEvent*); - virtual void EndOfEvent(G4HCofThisEvent*); - virtual void clear(); - virtual void DrawAll(); - virtual void PrintAll(); + inline void SetNIterations( G4int niter ); - void SetNIterations( G4int niter ){ - theNIterations = niter; - } + inline G4Material* GetVoxelMaterial( G4int stepNo ); - private: - G4int HCID; - G4THitsMap* EvtMap; +private: + inline void GetStepLength( G4int stepNo, G4double& stepLength ); - G4PhantomParameterisation* GetPhantomParam(G4bool mustExist); + void GetPhantomParam(G4bool mustExist); G4bool IsPhantomVolume( G4VPhysicalVolume* pv ); - G4PhantomParameterisation* thePhantomParam; G4EnergyLossForExtrapolator* theElossExt; G4int theNIterations; + + std::vector theEnergies; + + G4PhantomParameterisation* thePhantomParam; + }; + +#include "G4EnergySplitter.icc" + #endif diff --git a/source/processes/scoring/include/G4EnergySplitter.icc b/source/processes/scoring/include/G4EnergySplitter.icc new file mode 100644 index 0000000000..b9dd26f2c1 --- /dev/null +++ b/source/processes/scoring/include/G4EnergySplitter.icc @@ -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. * +// ******************************************************************** +// +#include "G4RegularNavigationHelper.hh" +#include "G4UIcommand.hh" +#include "G4PhantomParameterisation.hh" + +//----------------------------------------------------------------------- +inline void G4EnergySplitter::GetLastVoxelID( G4int& voxelID) +{ + voxelID = (*(G4RegularNavigationHelper::theStepLengths.begin())).first; +} + +//----------------------------------------------------------------------- +inline void G4EnergySplitter::GetFirstVoxelID( G4int& voxelID) +{ + voxelID = (*(G4RegularNavigationHelper::theStepLengths.rbegin())).first; +} + +//----------------------------------------------------------------------- +inline void G4EnergySplitter::GetVoxelID( G4int stepNo, G4int& voxelID ) +{ + if( stepNo < 0 || stepNo >= G4int(G4RegularNavigationHelper::theStepLengths.size()) ) { + G4Exception("G4EnergySplitter::GetVoxelID", + "Invalid stepNo, smaller than 0 or bigger or equal to number of voxels traversed", + FatalErrorInArgument, + G4String("stepNo = " + G4UIcommand::ConvertToString(stepNo) + ", number of voxels = " + G4UIcommand::ConvertToString(G4int(G4RegularNavigationHelper::theStepLengths.size())) ).c_str()); + } + std::vector< std::pair >::const_iterator ite = G4RegularNavigationHelper::theStepLengths.begin(); + advance( ite, stepNo ); + voxelID = (*ite).first; + +} + + +//----------------------------------------------------------------------- +inline void G4EnergySplitter::GetStepLength( G4int stepNo, G4double& stepLength ) +{ + std::vector< std::pair >::const_iterator ite = G4RegularNavigationHelper::theStepLengths.begin(); + advance( ite, stepNo ); + stepLength = (*ite).second; +} + +//----------------------------------------------------------------------- +inline void G4EnergySplitter::GetVoxelIDAndLength( G4int stepNo, G4int& voxelID, G4double& stepLength ) +{ + GetVoxelID( stepNo, voxelID ); + GetStepLength( stepNo, stepLength); +} + +//----------------------------------------------------------------------- +inline void G4EnergySplitter::GetLengthAndEnergyDeposited( G4int stepNo, G4int& voxelID, G4double& stepLength, G4double &energyLoss) +{ + GetVoxelIDAndLength( stepNo, voxelID, stepLength ); + + energyLoss = theEnergies[stepNo]; +} + +//----------------------------------------------------------------------- +inline void G4EnergySplitter::GetLengthAndInitialEnergy( G4double &preStepEnergy, G4int stepNo, G4int& voxelID, G4double& stepLength, G4double &initialEnergy) +{ + GetVoxelIDAndLength( stepNo, voxelID, stepLength ); + + initialEnergy = preStepEnergy; + for( G4int ii = 0; ii < stepNo; ii++ ){ + initialEnergy -= theEnergies[stepNo]; + } +} + +//----------------------------------------------------------------------- +inline void G4EnergySplitter::SetNIterations( G4int niter ) +{ + theNIterations = niter; +} + +//----------------------------------------------------------------------- +inline G4Material* G4EnergySplitter::GetVoxelMaterial( G4int stepNo ) +{ + if( !thePhantomParam ) GetPhantomParam(TRUE); + G4int voxelID; + GetVoxelID( stepNo, voxelID ); + return thePhantomParam->GetMaterial( voxelID ); +} + diff --git a/source/processes/scoring/include/G4ScoreSplittingProcess.hh b/source/processes/scoring/include/G4ScoreSplittingProcess.hh new file mode 100644 index 0000000000..96c15cd2d5 --- /dev/null +++ b/source/processes/scoring/include/G4ScoreSplittingProcess.hh @@ -0,0 +1,168 @@ +// +// ******************************************************************** +// * 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: G4ScoreSplittingProcess.hh,v 1.4 2010/11/22 14:30:49 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// +// +//--------------------------------------------------------------- +// +// G4ScoreSplittingProcess.hh +// +// Description: +// This process is used to split the length and energy +// of a step in a regular structure into sub-steps, and to +// call the scorers for each sub-volume. +// It invokes sensitive detectors assigned in the *mass* +// world. +// +// Design and first implementation: J. Apostolakis / M.Asai 2010 +//--------------------------------------------------------------- + + +#ifndef G4ScoreSplittingProcess_h +#define G4ScoreSplittingProcess_h 1 + +#include "globals.hh" +class G4Step; +class G4Navigator; +class G4TransportationManager; +class G4PathFinder; +class G4VTouchable; +class G4VPhysicalVolume; +class G4ParticleChange; +class G4EnergySplitter; + +#include "G4VProcess.hh" +#include "G4FieldTrack.hh" +#include "G4TouchableHandle.hh" +class G4TouchableHistory; +// #include "G4TouchableHistory.hh" + +//------------------------------------------ +// +// G4ScoreSplittingProcess class +// +//------------------------------------------ + + +// Class Description: + +class G4ScoreSplittingProcess : public G4VProcess +{ +public: // with description + + //------------------------ + // Constructor/Destructor + //------------------------ + + G4ScoreSplittingProcess(const G4String& processName = "ScoreSplittingProc", + G4ProcessType theType = fParameterisation); + virtual ~G4ScoreSplittingProcess(); + + //-------------------------------------------------------------- + // Process interface + //-------------------------------------------------------------- + + void StartTracking(G4Track*); + + //------------------------------------------------------------------------ + // GetPhysicalInteractionLength() and DoIt() methods for AtRest + //------------------------------------------------------------------------ + + G4double AtRestGetPhysicalInteractionLength( + const G4Track& , + G4ForceCondition* + ); + + G4VParticleChange* AtRestDoIt( + const G4Track& , + const G4Step& + ); + + //------------------------------------------------------------------------ + // GetPhysicalInteractionLength() and DoIt() methods for AlongStep + //------------------------------------------------------------------------ + + G4double AlongStepGetPhysicalInteractionLength( + const G4Track&, + G4double , + G4double , + G4double&, + G4GPILSelection* + ); + + G4VParticleChange* AlongStepDoIt( + const G4Track& , + const G4Step& + ); + + //----------------------------------------------------------------------- + // GetPhysicalInteractionLength() and DoIt() methods for PostStep + //----------------------------------------------------------------------- + + G4double PostStepGetPhysicalInteractionLength(const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition); + + G4VParticleChange* PostStepDoIt(const G4Track& ,const G4Step& ); + +private: + G4TouchableHistory* CreateTouchableForSubStep( G4int newVoxelNum, G4ThreeVector newPosition ); + +private: + void CopyStepStart(const G4Step & step); + + G4Step * fSplitStep; + G4StepPoint *fSplitPreStepPoint; + G4StepPoint *fSplitPostStepPoint; + + G4VParticleChange dummyParticleChange; + G4ParticleChange xParticleChange; + + // G4TransportationManager* fTransportationManager; + // G4PathFinder* fPathFinder; + + // ------------------------------- + // Touchables for the Split Step + // ------------------------------- + G4TouchableHandle fOldTouchableH; + G4TouchableHandle fNewTouchableH; + + // Memory of Touchables of full step + G4TouchableHandle fInitialTouchableH; + G4TouchableHandle fFinalTouchableH; + + G4EnergySplitter *fpEnergySplitter; + + // ****************************************************** + // For TESTS: + // ****************************************************** +public: + void Verbose(const G4Step&) const; +}; + +#endif diff --git a/source/processes/scoring/sources.cmake b/source/processes/scoring/sources.cmake new file mode 100644 index 0000000000..f5d01e06af --- /dev/null +++ b/source/processes/scoring/sources.cmake @@ -0,0 +1,87 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4scoring +# Package: Geant4.src.G4processes.G4scoring +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.3 2010/11/29 18:01:57 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/biasing/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/muons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/transportation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4scoring + HEADERS + G4EnergySplitter.hh + G4EnergySplitter.icc + G4ParallelWorldScoringProcess.hh + G4ScoreSplittingProcess.hh + SOURCES + G4EnergySplitter.cc + G4ParallelWorldScoringProcess.cc + G4ScoreSplittingProcess.cc + GRANULAR_DEPENDENCIES + G4cuts + G4detector + G4muons + G4emutils + G4geombias + G4geometrymng + G4globman + G4hits + G4intercoms + G4magneticfield + G4materials + G4navigation + G4partman + G4procman + G4track + G4transportation + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/scoring/src/G4EnergySplitter.cc b/source/processes/scoring/src/G4EnergySplitter.cc new file mode 100644 index 0000000000..e90d4d241f --- /dev/null +++ b/source/processes/scoring/src/G4EnergySplitter.cc @@ -0,0 +1,297 @@ +// +// ******************************************************************** +// * 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 "G4EnergySplitter.hh" +#include "G4VSolid.hh" +#include "G4UnitsTable.hh" +#include "G4RegularNavigationHelper.hh" +#include "G4EnergyLossForExtrapolator.hh" +#include "G4EmCalculator.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4Step.hh" +#include "G4PVParameterised.hh" + +//////////////////////////////////////////////////////////////////////////////// +// (Description) +// +// Created: +// +/////////////////////////////////////////////////////////////////////////////// + +G4EnergySplitter::G4EnergySplitter() +{ + theElossExt = new G4EnergyLossForExtrapolator(0); + thePhantomParam = 0; + theNIterations = 2; +} + +G4EnergySplitter::~G4EnergySplitter() +{;} + +G4int G4EnergySplitter::SplitEnergyInVolumes(const G4Step* aStep ) +{ + theEnergies.clear(); + + G4double edep = aStep->GetTotalEnergyDeposit(); + +#ifdef VERBOSE_ENERSPLIT + G4bool verbose = 1; + if( verbose ) G4cout << "G4EnergySplitter::SplitEnergyInVolumes totalEdepo " << aStep->GetTotalEnergyDeposit() + << " Nsteps " << G4RegularNavigationHelper::theStepLengths.size() << G4endl; +#endif + if( G4RegularNavigationHelper::theStepLengths.size() == 0 || + aStep->GetTrack()->GetDefinition()->GetPDGCharge() == 0) { // we are only counting dose deposit + return theEnergies.size(); + } + if( G4RegularNavigationHelper::theStepLengths.size() == 1 ) { + theEnergies.push_back(edep); + return theEnergies.size(); + } + + if( !thePhantomParam ) GetPhantomParam(TRUE); + + if( aStep == 0 ) return FALSE; // it is 0 when called by GmScoringMgr after last event + + //----- Distribute energy deposited in voxels + std::vector< std::pair > rnsl = G4RegularNavigationHelper::theStepLengths; + + const G4ParticleDefinition* part = aStep->GetTrack()->GetDefinition(); + G4double kinEnergyPreOrig = aStep->GetPreStepPoint()->GetKineticEnergy(); + G4double kinEnergyPre = kinEnergyPreOrig; + + G4double stepLength = aStep->GetStepLength(); + G4double slSum = 0.; + unsigned int ii; + for( ii = 0; ii < rnsl.size(); ii++ ){ + G4double sl = rnsl[ii].second; + slSum += sl; +#ifdef VERBOSE_ENERSPLIT + if(verbose) G4cout << "G4EnergySplitter::SplitEnergyInVolumes"<< ii << " RN: iter1 step length geom " << sl << G4endl; +#endif + } + +#ifdef VERBOSE_ENERSPLIT + if( verbose ) + G4cout << "G4EnergySplitter RN: step length geom TOTAL " << slSum + << " true TOTAL " << stepLength + << " ratio " << stepLength/slSum + << " Energy " << aStep->GetPreStepPoint()->GetKineticEnergy() + << " Material " << aStep->GetPreStepPoint()->GetMaterial()->GetName() + << " Number of geom steps " << rnsl.size() << G4endl; +#endif + //----- No iterations to correct elost and msc => distribute energy deposited according to geometrical step length in each voxel + if( theNIterations == 0 ) { + for( unsigned int ii = 0; ii < rnsl.size(); ii++ ){ + G4double sl = G4RegularNavigationHelper::theStepLengths[ii].second; + G4double edepStep = edep * sl/slSum; //divide edep along steps, proportional to step length +#ifdef VERBOSE_ENERSPLIT + if(verbose) G4cout << "G4EnergySplitter::SplitEnergyInVolumes"<< ii + << " edep " << edepStep << G4endl; +#endif + + theEnergies.push_back(edepStep); + + } + } else { // 1 or more iterations demanded + +#ifdef VERBOSE_ENERSPLIT + // print corrected energy at iteration 0 + if(verbose) { + G4double slSum = 0.; + for( ii = 0; ii < rnsl.size(); ii++ ){ + G4double sl = rnsl[ii].second; + slSum += sl; + } + for( ii = 0; ii < rnsl.size(); ii++ ){ + G4cout << "G4EnergySplitter::SplitEnergyInVolumes "<< ii + << " RN: iter0 corrected energy lost " << edep*rnsl[ii].second/slSum + << G4endl; + } + } +#endif + + G4double slRatio = stepLength/slSum; +#ifdef VERBOSE_ENERSPLIT + if(verbose) G4cout << "G4EnergySplitter::SplitEnergyInVolumes RN: iter 0, step ratio " << slRatio << G4endl; +#endif + + //--- energy at each interaction + G4EmCalculator emcalc; + G4double totalELost = 0.; + std::vector stepLengths; + for( int iiter = 1; iiter <= theNIterations; iiter++ ) { + //--- iter1: distribute true step length in each voxel: geom SL in each voxel is multiplied by a constant so that the sum gives the total true step length + if( iiter == 1 ) { + for( ii = 0; ii < rnsl.size(); ii++ ){ + G4double sl = rnsl[ii].second; + stepLengths.push_back( sl * slRatio ); +#ifdef VERBOSE_ENERSPLIT + if(verbose) G4cout << "G4EnergySplitter::SplitEnergyInVolumes"<< ii << " RN: iter" << iiter << " corrected step length " << sl*slRatio << G4endl; +#endif + } + + for( ii = 0; ii < rnsl.size(); ii++ ){ + const G4Material* mate = thePhantomParam->GetMaterial( rnsl[ii].first ); + G4double dEdx = 0.; + if( kinEnergyPre > 0. ) { //t check this + dEdx = emcalc.GetDEDX(kinEnergyPre, part, mate); + } + G4double elost = stepLengths[ii] * dEdx; + +#ifdef VERBOSE_ENERSPLIT + if(verbose) G4cout << "G4EnergySplitter::SplitEnergyInVolumes"<< ii << " RN: iter1 energy lost " << elost + << " energy at interaction " << kinEnergyPre + << " = stepLength " << stepLengths[ii] + << " * dEdx " << dEdx << G4endl; +#endif + kinEnergyPre -= elost; + theEnergies.push_back( elost ); + totalELost += elost; + } + + } else{ + //------ 2nd and other iterations + //----- Get step lengths corrected by changing geom2true correction + //-- Get ratios for each energy + slSum = 0.; + kinEnergyPre = kinEnergyPreOrig; + for( ii = 0; ii < rnsl.size(); ii++ ){ + const G4Material* mate = thePhantomParam->GetMaterial( rnsl[ii].first ); + stepLengths[ii] = theElossExt->TrueStepLength( kinEnergyPre, rnsl[ii].second , mate, part ); + kinEnergyPre -= theEnergies[ii]; + +#ifdef VERBOSE_ENERSPLIT + if(verbose) G4cout << "G4EnergySplitter::SplitEnergyInVolumes" << ii + << " RN: iter" << iiter << " step length geom " << stepLengths[ii] + << " geom2true " << rnsl[ii].second / stepLengths[ii] << G4endl; +#endif + + slSum += stepLengths[ii]; + } + + //Correct step lengths so that they sum the total step length + G4double slratio = aStep->GetStepLength()/slSum; +#ifdef VERBOSE_ENERSPLIT + if(verbose) G4cout << "G4EnergySplitter::SplitEnergyInVolumes" << ii << " RN: iter" << iiter << " step ratio " << slRatio << G4endl; +#endif + for( ii = 0; ii < rnsl.size(); ii++ ){ + stepLengths[ii] *= slratio; +#ifdef VERBOSE_ENERSPLIT + if(verbose) G4cout << "G4EnergySplitter::SplitEnergyInVolumes"<< ii << " RN: iter" << iiter << " corrected step length " << stepLengths[ii] << G4endl; +#endif + } + + //---- Recalculate energy lost with this new step lengths + G4double kinEnergyPre = aStep->GetPreStepPoint()->GetKineticEnergy(); + totalELost = 0.; + for( ii = 0; ii < rnsl.size(); ii++ ){ + const G4Material* mate = thePhantomParam->GetMaterial( rnsl[ii].first ); + G4double dEdx = 0.; + if( kinEnergyPre > 0. ) { + dEdx = emcalc.GetDEDX(kinEnergyPre, part, mate); + } + G4double elost = stepLengths[ii] * dEdx; +#ifdef VERBOSE_ENERSPLIT + if(verbose) G4cout << "G4EnergySplitter::SplitEnergyInVolumes"<< ii << " RN: iter" << iiter << " energy lost " << elost + << " energy at interaction " << kinEnergyPre + << " = stepLength " << stepLengths[ii] + << " * dEdx " << dEdx << G4endl; +#endif + kinEnergyPre -= elost; + theEnergies[ii] = elost; + totalELost += elost; + } + + } + + //correct energies so that they reproduce the real step energy lost + G4double enerRatio = (edep/totalELost); + +#ifdef VERBOSE_ENERSPLIT + if(verbose) G4cout << "G4EnergySplitter::SplitEnergyInVolumes"<< ii << " RN: iter" << iiter << " energy ratio " << enerRatio << G4endl; +#endif + +#ifdef VERBOSE_ENERSPLIT + G4double elostTot = 0.; +#endif + for( ii = 0; ii < theEnergies.size(); ii++ ){ + theEnergies[ii] *= enerRatio; +#ifdef VERBOSE_ENERSPLIT + elostTot += theEnergies[ii]; + if(verbose) G4cout << "G4EnergySplitter::SplitEnergyInVolumes "<< ii << " RN: iter" << iiter << " corrected energy lost " << theEnergies[ii] + << " orig elost " << theEnergies[ii]/enerRatio + << " energy before interaction " << kinEnergyPreOrig-elostTot+theEnergies[ii] + << " energy after interaction " << kinEnergyPreOrig-elostTot + << G4endl; +#endif + } + } + + } + + return theEnergies.size(); +} + + +//----------------------------------------------------------------------- +void G4EnergySplitter::GetPhantomParam(G4bool mustExist) +{ + G4PhysicalVolumeStore* pvs = G4PhysicalVolumeStore::GetInstance(); + std::vector::iterator cite; + for( cite = pvs->begin(); cite != pvs->end(); cite++ ) { + // G4cout << " PV " << (*cite)->GetName() << " " << (*cite)->GetTranslation() << G4endl; + if( IsPhantomVolume( *cite ) ) { + const G4PVParameterised* pvparam = static_cast(*cite); + G4VPVParameterisation* param = pvparam->GetParameterisation(); + // if( static_cast(param) ){ + // if( static_cast(param) ){ + // G4cout << "G4PhantomParameterisation volume found " << (*cite)->GetName() << G4endl; + thePhantomParam = static_cast(param); + } + } + + if( !thePhantomParam && mustExist ) G4Exception("GmRegularParamUtils::GetPhantomParam: No G4PhantomParameterisation found "); + + +} + + +//----------------------------------------------------------------------- +G4bool G4EnergySplitter::IsPhantomVolume( G4VPhysicalVolume* pv ) +{ + EAxis axis; + G4int nReplicas; + G4double width,offset; + G4bool consuming; + pv->GetReplicationData(axis,nReplicas,width,offset,consuming); + EVolume type = (consuming) ? kReplica : kParameterised; + if( type == kParameterised && pv->GetRegularStructureId() == 1 ) { + return TRUE; + } else { + return FALSE; + } + +} + diff --git a/source/processes/scoring/src/G4ScoreSplittingProcess.cc b/source/processes/scoring/src/G4ScoreSplittingProcess.cc new file mode 100644 index 0000000000..69f616aad0 --- /dev/null +++ b/source/processes/scoring/src/G4ScoreSplittingProcess.cc @@ -0,0 +1,390 @@ +// +// ******************************************************************** +// * 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: G4ScoreSplittingProcess.cc,v 1.9 2010/12/15 13:55:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ +// + +#include "G4ios.hh" +#include "G4ScoreSplittingProcess.hh" +#include "G4Step.hh" +#include "G4VTouchable.hh" +#include "G4VPhysicalVolume.hh" +#include "G4ParticleChange.hh" +#include "G4TransportationManager.hh" +#include "G4ParticleChange.hh" +#include "G4StepPoint.hh" + +#include "G4SDManager.hh" +#include "G4VSensitiveDetector.hh" + +#include "G4EnergySplitter.hh" +#include "G4TouchableHistory.hh" + +//-------------------------------- +// Constructor with name and type: +//-------------------------------- +G4ScoreSplittingProcess:: +G4ScoreSplittingProcess(const G4String& processName,G4ProcessType theType) + :G4VProcess(processName,theType), + fOldTouchableH(), fNewTouchableH(), fInitialTouchableH(), fFinalTouchableH() +{ + pParticleChange = &xParticleChange; + + fSplitStep = new G4Step(); + fSplitPreStepPoint = fSplitStep->GetPreStepPoint(); + fSplitPostStepPoint = fSplitStep->GetPostStepPoint(); + + if (verboseLevel>0) + { + G4cout << GetProcessName() << " is created " << G4endl; + } + fpEnergySplitter = new G4EnergySplitter(); +} + +// ----------- +// Destructor: +// ----------- +G4ScoreSplittingProcess::~G4ScoreSplittingProcess() +{ + delete fSplitStep; + delete fpEnergySplitter; +} + +//------------------------------------------------------ +// +// StartTracking +// +//------------------------------------------------------ +void G4ScoreSplittingProcess::StartTracking(G4Track* trk) +{ +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +// Setup initial touchables for the first step +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + const G4Step* pStep= trk->GetStep(); + + fOldTouchableH = trk->GetTouchableHandle(); + *fSplitPreStepPoint = *(pStep->GetPreStepPoint()); // Best to copy, so as to initialise + fSplitPreStepPoint->SetTouchableHandle(fOldTouchableH); + fNewTouchableH = fOldTouchableH; + *fSplitPostStepPoint= *(pStep->GetPostStepPoint()); // Best to copy, so as to initialise + fSplitPostStepPoint->SetTouchableHandle(fNewTouchableH); + + /// Initialize + fSplitPreStepPoint ->SetStepStatus(fUndefined); + fSplitPostStepPoint->SetStepStatus(fUndefined); +} + + +//---------------------------------------------------------- +// +// PostStepGetPhysicalInteractionLength() +// +//---------------------------------------------------------- +G4double +G4ScoreSplittingProcess::PostStepGetPhysicalInteractionLength( + const G4Track& /*track*/, + G4double /*previousStepSize*/, + G4ForceCondition* condition) +{ + // This process must be invoked anyway to score the hit + // - to do the scoring if the current volume is a regular structure, or + // - else to toggle the flag so that the SteppingManager does the scoring. + *condition = StronglyForced; + + // Future optimisation: check whether in regular structure. + // If it is in regular structure, be StronglyForced + // If not in regular structure, + // ask to be called only if SteppingControl is AvoidHitInvocation + // in order to reset it to NormalCondition + + return DBL_MAX; +} + +//------------------------------------ +// +// PostStepDoIt() +// +//------------------------------------ +G4VParticleChange* G4ScoreSplittingProcess::PostStepDoIt( + const G4Track& track, + const G4Step& step) +{ + G4VPhysicalVolume* pCurrentVolume= track.GetVolume(); + G4LogicalVolume* pLogicalVolume= pCurrentVolume->GetLogicalVolume(); + G4VSensitiveDetector* ptrSD = pLogicalVolume->GetSensitiveDetector(); + + pParticleChange->Initialize(track); + if( ( ! pCurrentVolume->IsRegularStructure() ) || ( !ptrSD ) ) { + // Set the flag to make sure that Stepping Manager does the scoring + pParticleChange->ProposeSteppingControl( NormalCondition ); + } else { + G4ThreeVector preStepPosition, postStepPosition, direction, finalPostStepPosition; + pParticleChange->ProposeSteppingControl( AvoidHitInvocation ); + + G4double totalEnergyDeposit= step.GetTotalEnergyDeposit(); + G4StepStatus fullStepStatus= step.GetPostStepPoint()->GetStepStatus(); + + CopyStepStart(step); + fSplitPreStepPoint->SetSensitiveDetector(ptrSD); + fOldTouchableH = fInitialTouchableH; + fNewTouchableH= fOldTouchableH; + *fSplitPostStepPoint= *(step.GetPreStepPoint()); + + // Split the energy + // ---------------- + G4int numberVoxelsInStep= fpEnergySplitter->SplitEnergyInVolumes( &step ); + + preStepPosition= step.GetPreStepPoint()->GetPosition(); + finalPostStepPosition= step.GetPostStepPoint()->GetPosition(); + direction= (finalPostStepPosition - preStepPosition).unit(); + + fFinalTouchableH= track.GetNextTouchableHandle(); + + postStepPosition= preStepPosition; + // Loop over the sub-parts of this step + G4int iStep; + for ( iStep=0; iStep < numberVoxelsInStep; iStep++ ){ + G4int idVoxel= -1; // Voxel ID + G4double stepLength=0.0, energyLoss= 0.0; + + *fSplitPreStepPoint = *fSplitPostStepPoint; + fOldTouchableH = fNewTouchableH; + + preStepPosition= postStepPosition; + fSplitPreStepPoint->SetPosition( preStepPosition ); + fSplitPreStepPoint->SetTouchableHandle(fOldTouchableH); + + fpEnergySplitter->GetLengthAndEnergyDeposited( iStep, idVoxel, stepLength, energyLoss); + + // Correct the material, so that the track->GetMaterial gives correct answer + pLogicalVolume->SetMaterial( fpEnergySplitter->GetVoxelMaterial( iStep) ); // idVoxel) ); + + postStepPosition= preStepPosition + stepLength * direction; + fSplitPostStepPoint->SetPosition(postStepPosition); + + // Load the Step with the new values + fSplitStep->SetStepLength(stepLength); + fSplitStep->SetTotalEnergyDeposit(energyLoss); + if( iStep < numberVoxelsInStep -1 ){ + fSplitStep->GetPostStepPoint()->SetStepStatus( fGeomBoundary ); + G4int nextVoxelId= -1; + fpEnergySplitter->GetVoxelID( iStep+1, nextVoxelId ); + + // Create new "next" touchable for each section ?? + G4VTouchable* fNewTouchablePtr= + CreateTouchableForSubStep( nextVoxelId, postStepPosition ); + fNewTouchableH= G4TouchableHandle(fNewTouchablePtr); + fSplitPostStepPoint->SetTouchableHandle( fNewTouchableH ); + } else { + fSplitStep->GetPostStepPoint()->SetStepStatus( fullStepStatus ); + fSplitPostStepPoint->SetTouchableHandle( fFinalTouchableH ); + } + + + // As first approximation, split the NIEL in the same fractions as the energy deposit + G4double eLossFraction; + eLossFraction= (totalEnergyDeposit>0.0) ? energyLoss / totalEnergyDeposit : 1.0 ; + fSplitStep->SetNonIonizingEnergyDeposit(step.GetNonIonizingEnergyDeposit()*eLossFraction); + + fSplitPostStepPoint->SetSensitiveDetector( ptrSD ); + + // Call the Sensitive Detector + ptrSD->Hit(fSplitStep); + + if (verboseLevel>1) Verbose(step); + } + } + + // This must change the Stepping Control + return pParticleChange; +} + +G4TouchableHistory* +G4ScoreSplittingProcess::CreateTouchableForSubStep( G4int newVoxelNum, G4ThreeVector ) +{ + // G4cout << " Creating touchable handle for voxel-no " << newVoxelNum << G4endl; + + G4TouchableHistory* oldTouchableHistory= dynamic_cast(fOldTouchableH()); + G4TouchableHistory* ptrTouchableHistory= G4TransportationManager::GetTransportationManager()-> + GetNavigatorForTracking()->CreateTouchableHistory(oldTouchableHistory->GetHistory()); + + // Change the history + G4NavigationHistory* ptrNavHistory= const_cast(ptrTouchableHistory->GetHistory()); + G4VPhysicalVolume* curPhysicalVol= ptrNavHistory->GetTopVolume(); + + EVolume curVolumeType= ptrNavHistory->GetTopVolumeType(); + if( curVolumeType == kParameterised ) + { + ptrNavHistory->BackLevel(); + // G4VPVParameterised parameterisedPV= pNewMother + G4VPVParameterisation* curParamstn= curPhysicalVol->GetParameterisation(); + + // From G4ParameterisedNavigation::IdentifyAndPlaceSolid() inline method + G4VSolid* sampleSolid = curParamstn->ComputeSolid(newVoxelNum, curPhysicalVol); + sampleSolid->ComputeDimensions(curParamstn, newVoxelNum, curPhysicalVol); + curParamstn->ComputeTransformation(newVoxelNum, curPhysicalVol); + + ptrNavHistory->NewLevel( curPhysicalVol, kParameterised, newVoxelNum ); + } + else + { + G4cout << " Current volume type is not Parameterised. " << G4endl; + G4Exception("G4ScoreSplittingProcess::CreateTouchableForSubStep", + "ErrorRegularParamaterisation", JustWarning, + "Score Splitting Process is used for Regular Structure - but did not find one here."); + } + return ptrTouchableHistory; +} + +void G4ScoreSplittingProcess::CopyStepStart(const G4Step & step) +{ + fSplitStep->SetTrack(step.GetTrack()); + fSplitStep->SetStepLength(step.GetStepLength()); + fSplitStep->SetTotalEnergyDeposit(step.GetTotalEnergyDeposit()); + fSplitStep->SetNonIonizingEnergyDeposit(step.GetNonIonizingEnergyDeposit()); + fSplitStep->SetControlFlag(step.GetControlFlag()); + + *fSplitPreStepPoint = *(step.GetPreStepPoint()); + + fInitialTouchableH= (step.GetPreStepPoint()) ->GetTouchableHandle(); + fFinalTouchableH = (step.GetPostStepPoint())->GetTouchableHandle(); +} + +void G4ScoreSplittingProcess::Verbose(const G4Step& step) const +{ + G4cout << "In mass geometry ------------------------------------------------" << G4endl; + G4cout << " StepLength : " << step.GetStepLength()/mm << " TotalEnergyDeposit : " + << step.GetTotalEnergyDeposit()/MeV << G4endl; + G4cout << " PreStepPoint : " + << step.GetPreStepPoint()->GetPhysicalVolume()->GetName() << " - "; + if(step.GetPreStepPoint()->GetProcessDefinedStep()) + { G4cout << step.GetPreStepPoint()->GetProcessDefinedStep()->GetProcessName(); } + else + { G4cout << "NoProcessAssigned"; } + G4cout << G4endl; + G4cout << " " << step.GetPreStepPoint()->GetPosition() << G4endl; + G4cout << " PostStepPoint : "; + if(step.GetPostStepPoint()->GetPhysicalVolume()) + { G4cout << step.GetPostStepPoint()->GetPhysicalVolume()->GetName(); } + else + { G4cout << "OutOfWorld"; } + G4cout << " - "; + if(step.GetPostStepPoint()->GetProcessDefinedStep()) + { G4cout << step.GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName(); } + else + { G4cout << "NoProcessAssigned"; } + G4cout << G4endl; + G4cout << " " << step.GetPostStepPoint()->GetPosition() << G4endl; + + G4cout << "In ghost geometry ------------------------------------------------" << G4endl; + G4cout << " StepLength : " << fSplitStep->GetStepLength()/mm + << " TotalEnergyDeposit : " + << fSplitStep->GetTotalEnergyDeposit()/MeV << G4endl; + G4cout << " PreStepPoint : " + << fSplitStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() << " [" + << fSplitStep->GetPreStepPoint()->GetTouchable()->GetReplicaNumber() + << " ]" << " - "; + if(fSplitStep->GetPreStepPoint()->GetProcessDefinedStep()) + { G4cout << fSplitStep->GetPreStepPoint()->GetProcessDefinedStep()->GetProcessName(); } + else + { G4cout << "NoProcessAssigned"; } + G4cout << G4endl; + G4cout << " " << fSplitStep->GetPreStepPoint()->GetPosition() << G4endl; + G4cout << " PostStepPoint : "; + if(fSplitStep->GetPostStepPoint()->GetPhysicalVolume()) + { + G4cout << fSplitStep->GetPostStepPoint()->GetPhysicalVolume()->GetName() << " [" + << fSplitStep->GetPostStepPoint()->GetTouchable()->GetReplicaNumber() + << " ]"; + } + else + { G4cout << "OutOfWorld"; } + G4cout << " - "; + if(fSplitStep->GetPostStepPoint()->GetProcessDefinedStep()) + { G4cout << fSplitStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName(); } + else + { G4cout << "NoProcessAssigned"; } + G4cout << G4endl; + G4cout << " " << fSplitStep->GetPostStepPoint()->GetPosition() << " == " + << fSplitStep->GetTrack()->GetMomentumDirection() + << G4endl; + +} + + +//---------------------------------------------------------- +// +// AtRestGetPhysicalInteractionLength() +// +//---------------------------------------------------------- +G4double +G4ScoreSplittingProcess::AtRestGetPhysicalInteractionLength( + const G4Track& /*track*/, + G4ForceCondition* condition) +{ + *condition = NotForced; // Was Forced + return DBL_MAX; +} + + +//--------------------------------------- +// AlongStepGetPhysicalInteractionLength +//--------------------------------------- +G4double G4ScoreSplittingProcess::AlongStepGetPhysicalInteractionLength( + const G4Track& , // track, + G4double , // previousStepSize, + G4double , // currentMinimumStep, + G4double& , // proposedSafety, + G4GPILSelection* selection) +{ + *selection = NotCandidateForSelection; + return DBL_MAX; +} + +//------------------------------------ +// AlongStepDoIt() +//------------------------------------ + +G4VParticleChange* G4ScoreSplittingProcess::AlongStepDoIt( + const G4Track& track, const G4Step& ) +{ + // Dummy ParticleChange ie: does nothing + // Expecting G4Transportation to move the track + dummyParticleChange.Initialize(track); + return &dummyParticleChange; +} + +//------------------------------------ +// AtRestDoIt() +//------------------------------------ +G4VParticleChange* G4ScoreSplittingProcess::AtRestDoIt( + const G4Track& track, + const G4Step&) +{ + pParticleChange->Initialize(track); + return pParticleChange; +} diff --git a/source/processes/transportation/CMakeLists.txt b/source/processes/transportation/CMakeLists.txt new file mode 100644 index 0000000000..9fa756209d --- /dev/null +++ b/source/processes/transportation/CMakeLists.txt @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4transportation +# Package: Geant4.src.G4processes.G4transportation +# +# CMakeLists.txt for building a single granular library. +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:09:52 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +if(GEANT4_BUILD_GRANULAR_LIBS) + include(Geant4MacroLibraryTargets) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +endif() + diff --git a/source/processes/transportation/History b/source/processes/transportation/History index 89990e635a..f09bb86463 100644 --- a/source/processes/transportation/History +++ b/source/processes/transportation/History @@ -1,4 +1,4 @@ -$Id: History,v 1.151 2008/11/26 13:03:28 japost Exp $ +$Id: History,v 1.153 2010/09/13 16:09:47 japost Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,16 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +September 13th, 2010, J.Apostolakis transport-V09-03-00 +---------------------------------- +- Retagged - to propose for testing. + +November 17th, 2009, J.Apostolakis transport-V09-02-00 +---------------------------------- +- G4Transportation: + o Fix: Update the Step flag which identifies the Last Step in a volume + It is now done for the linear steps (no charge or no field) + November 26th, 2008, J.Apostolakis transport-V09-01-03 ---------------------------------- - G4CoupledTransportation: diff --git a/source/processes/transportation/sources.cmake b/source/processes/transportation/sources.cmake new file mode 100644 index 0000000000..f1f49f9e01 --- /dev/null +++ b/source/processes/transportation/sources.cmake @@ -0,0 +1,87 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4transportation +# Package: Geant4.src.G4processes.G4transportation +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:10:00 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/biasing/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4transportation + HEADERS + G4CoupledTransportation.hh + G4CoupledTransportation.icc + G4NeutronKiller.hh + G4NeutronKillerMessenger.hh + G4StepLimiter.hh + G4TrackTerminator.hh + G4Transportation.hh + G4Transportation.icc + G4UserSpecialCuts.hh + G4VTrackTerminator.hh + SOURCES + G4CoupledTransportation.cc + G4NeutronKiller.cc + G4NeutronKillerMessenger.cc + G4StepLimiter.cc + G4Transportation.cc + G4UserSpecialCuts.cc + G4VTrackTerminator.cc + GRANULAR_DEPENDENCIES + G4cuts + G4emutils + G4geombias + G4geometrymng + G4globman + G4intercoms + G4magneticfield + G4materials + G4navigation + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/processes/transportation/src/G4Transportation.cc b/source/processes/transportation/src/G4Transportation.cc index caccf4797e..02fca65530 100644 --- a/source/processes/transportation/src/G4Transportation.cc +++ b/source/processes/transportation/src/G4Transportation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Transportation.cc,v 1.72.2.3 2008/11/21 18:35:15 japost Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Transportation.cc,v 1.72.2.4 2009/11/17 16:51:06 japost Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // ------------------------------------------------------------ // GEANT 4 include file implementation @@ -76,7 +76,7 @@ G4Transportation::G4Transportation( G4int verboseLevel ) fThreshold_Warning_Energy( 100 * MeV ), fThreshold_Important_Energy( 250 * MeV ), fThresholdTrials( 10 ), - fUnimportant_Energy( 1 * MeV ), + fUnimportant_Energy( 1 * MeV ), // Not used fNoLooperTrials(0), fSumEnergyKilled( 0.0 ), fMaxEnergyKilled( 0.0 ), fShortStepOptimisation(false), // Old default: true (=fast short steps) @@ -94,10 +94,9 @@ G4Transportation::G4Transportation( G4int verboseLevel ) fpSafetyHelper = transportMgr->GetSafetyHelper(); // New - // Cannot determine whether a field exists here, - // because it would only work if the field manager has informed - // about the detector's field before this transportation process - // is constructed. + // Cannot determine whether a field exists here, as it would + // depend on the relative order of creating the detector's + // field and this process. That order is not guaranted. // Instead later the method DoesGlobalFieldExist() is called static G4TouchableHandle nullTouchableHandle; // Points to (G4VTouchable*) 0 @@ -599,7 +598,8 @@ PostStepGetPhysicalInteractionLength( const G4Track&, G4VParticleChange* G4Transportation::PostStepDoIt( const G4Track& track, const G4Step& ) { - G4TouchableHandle retCurrentTouchable ; // The one to return + G4TouchableHandle retCurrentTouchable ; // The one to return + G4bool isLastStep= false; // Initialize ParticleChange (by setting all its members equal // to corresponding members in G4Track) @@ -609,7 +609,7 @@ G4VParticleChange* G4Transportation::PostStepDoIt( const G4Track& track, // If the Step was determined by the volume boundary, // logically relocate the particle - + if(fGeometryLimitedStep) { // fCurrentTouchable will now become the previous touchable, @@ -631,6 +631,22 @@ G4VParticleChange* G4Transportation::PostStepDoIt( const G4Track& track, } retCurrentTouchable = fCurrentTouchableHandle ; fParticleChange.SetTouchableHandle( fCurrentTouchableHandle ) ; + + // Update the Step flag which identifies the Last Step in a volume + isLastStep = fLinearNavigator->ExitedMotherVolume() + | fLinearNavigator->EnteredDaughterVolume() ; + +#ifdef G4DEBUG_TRANSPORT + // Checking first implementation of flagging Last Step in Volume + G4bool exiting = fLinearNavigator->ExitedMotherVolume(); + G4bool entering = fLinearNavigator->EnteredDaughterVolume(); + if( ! (exiting || entering) ) { + G4cout << " Transport> : Proposed isLastStep= " << isLastStep + << " Exiting " << fLinearNavigator->ExitedMotherVolume() + << " Entering " << fLinearNavigator->EnteredDaughterVolume() + << G4endl; + } +#endif } else // fGeometryLimitedStep is false { @@ -645,8 +661,17 @@ G4VParticleChange* G4Transportation::PostStepDoIt( const G4Track& track, // fParticleChange.SetTouchableHandle( track.GetTouchableHandle() ) ; retCurrentTouchable = track.GetTouchableHandle() ; + + isLastStep= false; +#ifdef G4DEBUG_TRANSPORT + // Checking first implementation of flagging Last Step in Volume + G4cout << " Transport> Proposed isLastStep= " << isLastStep + << " Geometry did not limit step. " << G4endl; +#endif } // endif ( fGeometryLimitedStep ) + fParticleChange.ProposeLastStepInVolume(isLastStep); + const G4VPhysicalVolume* pNewVol = retCurrentTouchable->GetVolume() ; const G4Material* pNewMaterial = 0 ; const G4VSensitiveDetector* pNewSensitiveDetector = 0 ; diff --git a/source/readout/CMakeLists.txt b/source/readout/CMakeLists.txt new file mode 100644 index 0000000000..98fa46481d --- /dev/null +++ b/source/readout/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4readout +# Package: Geant4.src.G4readout +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:10:08 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/readout/sources.cmake b/source/readout/sources.cmake new file mode 100644 index 0000000000..516099d3fd --- /dev/null +++ b/source/readout/sources.cmake @@ -0,0 +1,89 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4readout +# Package: Geant4.src.G4readout +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:10:25 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/event/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/run/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4readout + HEADERS + G4DCtable.hh + G4DMmessenger.hh + G4DigiManager.hh + G4VDigitizerModule.hh + SOURCES + G4DCtable.cc + G4DMmessenger.cc + G4DigiManager.cc + G4VDigitizerModule.cc + GRANULAR_DEPENDENCIES + G4detector + G4digits + G4emutils + G4event + G4geometrymng + G4globman + G4hits + G4intercoms + G4materials + G4navigation + G4partman + G4procman + G4run + G4track + G4tracking + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4event + G4geometry + G4global + G4intercoms + G4materials + G4particles + G4processes + G4run + G4track + G4tracking + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/run/CMakeLists.txt b/source/run/CMakeLists.txt new file mode 100644 index 0000000000..911c93551d --- /dev/null +++ b/source/run/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4run +# Package: Geant4.src.G4run +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:10:34 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/run/GNUmakefile b/source/run/GNUmakefile index fc794377e2..91aea1766f 100644 --- a/source/run/GNUmakefile +++ b/source/run/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.16 2007/07/13 05:56:42 asaim Exp $ +# $Id: GNUmakefile,v 1.18 2010/10/27 07:50:15 gcosmo Exp $ # ---------------------------------------------------------- # GNUmakefile for run library. Gabriele Cosmo, 3/4/1997. # ---------------------------------------------------------- diff --git a/source/run/History b/source/run/History index 8065a10bc2..8911014a3f 100644 --- a/source/run/History +++ b/source/run/History @@ -1,4 +1,4 @@ -$Id: History,v 1.191 2009/11/18 18:02:06 gcosmo Exp $ +$Id: History,v 1.203 2010/12/05 12:13:04 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,55 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +December 5th, 2010, J.Allison (run-V09-03-09) +- G4RunManagerKernel::RunInitialization: Notify Vis Manager when + geometry needs to be closed. + +November 24th, 2010, M.Asai (run-V09-03-08) +- Adding Score Splitter process if the geometry has a regular + parameterized volume. +- Adding protection against particle without process manager. + +November 15th, 2010, M.Asai (run-V09-03-07) +- Change methods name to remove ambiguity. + G4RunManager::ReOptimizeMotherOf() and ReOptimizeForDaughtersOf(). + +November 5th, 2010, M.Asai (run-V09-03-06) +- Introducing two new methods in G4RunManager class + G4RunManager::ReOptimizeMother() and ReOptimizeLogicalVolume() + These methods cause re-optimization (re-voxelization) of one particular + logical volume without forcing re-optimization of the entire geometrical + hierarchy. + +October 27th, 2010, G.Cosmo (run-V09-03-05) +- Restored DLL setup as originally. Withdrawn changes in last tag. + +October 19th, 2010, G.Cosmo (run-V09-03-04) +- Replaced G4RUN_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported + symbols. + +September 3rd, 2010 G.Cosmo (run-V09-03-03) +- Added missing inclusion of header in G4AdjointSimMessenger.cc. + +July 21st, 2010 G.Cosmo (run-V09-03-02) +- Added dummy initialisation of data members in constructors for classes: + G4AdjointPrimaryGeneratorAction, +- Use canonical form for exceptions in G4RunManager and added dummy return + statements; same in G4VUserPhysicsList. + +June 10th, 2010 G.Cosmo (run-V09-03-01) +- Fixed definition of path for Windows in G4RunManager for random seeds + directory: use '\' instead of '/' and suitable system command. +- Use "const G4String&" as arguments and return value wherever applicable + in G4RunManager and G4RunManagerKernel. +- Avoid case of dereferencing null pointer in G4RunManagerKernel. + +May 30th, 2010 M.Asai (run-V09-03-00) +- Tag for v9.4-beta release + +May 11th, 2010 J.Allison +- Correct printing of number of events processed on run abortion. + November 18th, 2009 G.Cosmo (run-V09-02-09) - Fixes to "Adjoint" classes to allow build of DLLs on Windows: renamed all methods and data holding "External" as keyword to "Ext". diff --git a/source/run/include/G4AdjointPrimaryGeneratorAction.hh b/source/run/include/G4AdjointPrimaryGeneratorAction.hh index 6e82d1e8e0..db695f76cc 100644 --- a/source/run/include/G4AdjointPrimaryGeneratorAction.hh +++ b/source/run/include/G4AdjointPrimaryGeneratorAction.hh @@ -23,11 +23,11 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointPrimaryGeneratorAction.hh,v 1.2 2009/11/18 18:02:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointPrimaryGeneratorAction.hh,v 1.3 2010/07/21 14:21:19 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////////////// -// Class Name: G4AdjointPosOnPhysVolGenerator +// Class Name: G4AdjointPrimaryGeneratorAction // Author: L. Desorgher // Organisation: SpaceIT GmbH // Contract: ESA contract 21435/08/NL/AT diff --git a/source/run/include/G4RunManager.hh b/source/run/include/G4RunManager.hh index 0c7448748e..7d28fbc8b8 100644 --- a/source/run/include/G4RunManager.hh +++ b/source/run/include/G4RunManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RunManager.hh,v 1.52 2009/11/13 23:14:46 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4RunManager.hh,v 1.55 2010/11/15 09:49:32 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -79,6 +79,7 @@ class G4UserTrackingAction; class G4UserSteppingAction; class G4VPhysicalVolume; +class G4LogicalVolume; class G4Region; class G4Timer; class G4RunMessenger; @@ -91,7 +92,7 @@ class G4PrimaryTransformer; #include "G4EventManager.hh" #include "globals.hh" #include -#include +#include class G4RunManager { @@ -201,7 +202,7 @@ class G4RunManager // At RunInitialization(), this method is automatically invoked, and thus // the user needs not invoke. - void DumpRegion(G4String rname) const; + void DumpRegion(const G4String& rname) const; // Dump information of a region. void DumpRegion(G4Region* region=0) const; @@ -259,7 +260,7 @@ class G4RunManager public: virtual void rndmSaveThisRun(); virtual void rndmSaveThisEvent(); - virtual void RestoreRandomNumberStatus(G4String fileN); + virtual void RestoreRandomNumberStatus(const G4String& fileN); public: // with description inline void SetUserInitialization(G4VUserDetectorConstruction* userInit) @@ -319,7 +320,7 @@ class G4RunManager // Once the user set the number of additional waiting stacks, // he/she can use the corresponding ENUM in G4ClassificationOfNewTrack. - inline G4String GetVersionString() const + inline const G4String& GetVersionString() const { return kernel->GetVersionString(); } inline void SetPrimaryTransformer(G4PrimaryTransformer* pt) @@ -342,16 +343,21 @@ class G4RunManager { storeRandomNumberStatus = flag; } inline G4bool GetRandomNumberStore() const { return storeRandomNumberStatus; } - inline void SetRandomNumberStoreDir(G4String dir) + inline void SetRandomNumberStoreDir(const G4String& dir) { G4String dirStr = dir; if( dirStr(dirStr.length()-1) != '/' ) dirStr += "/"; - randomNumberStatusDir = dirStr; +#ifndef WIN32 G4String shellCmd = "mkdir -p "; +#else + std::replace(dirStr.begin(), dirStr.end(),'/','\\'); + G4String shellCmd = "mkdir "; +#endif shellCmd += dirStr; + randomNumberStatusDir = dirStr; system(shellCmd); } - inline G4String GetRandomNumberStoreDir() const + inline const G4String& GetRandomNumberStoreDir() const { return randomNumberStatusDir; } inline const G4String& GetRandomNumberStatusForThisRun() const { return randomNumberStatusForThisRun; } @@ -384,6 +390,17 @@ class G4RunManager G4cerr << "It is safe to remove invoking this method." << G4endl; } + public: // with description + void ReOptimizeMotherOf(G4VPhysicalVolume*); + // This method may be used if the orientation and/or size of this + // particular physical volume has been modified while rest of the + // geometries in the world has not been changed. This avoids the + // full re-optimization of the entire geometry tree which is forced + // if GeometryHasBeenModified() method is invoked. + + void ReOptimize(G4LogicalVolume*); + // Same as above, but the mother logical volume is specified. + public: inline void SetVerboseLevel(G4int vl) { verboseLevel = vl; diff --git a/source/run/include/G4RunManagerKernel.hh b/source/run/include/G4RunManagerKernel.hh index 4e558440fd..73acada0d2 100644 --- a/source/run/include/G4RunManagerKernel.hh +++ b/source/run/include/G4RunManagerKernel.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RunManagerKernel.hh,v 1.9 2007/05/30 00:42:09 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4RunManagerKernel.hh,v 1.11 2010/11/18 13:46:06 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -85,7 +85,7 @@ class G4RunManagerKernel public: // with description void DefineWorldVolume(G4VPhysicalVolume * worldVol, - G4bool topologyIsChanged=true); + G4bool topologyIsChanged=true); // This method must be invoked if the geometry setup has been changed between // runs. The flag 'topologyIsChanged' will specify if the geometry topology is // different from the original one used in the previous run; if not, it must be @@ -120,7 +120,7 @@ class G4RunManagerKernel // At RunInitialization(), this method is automatically invoked, and thus // the user needs not invoke. - void DumpRegion(G4String rname) const; + void DumpRegion(const G4String& rname) const; // Dump information of a region. void DumpRegion(G4Region* region=0) const; @@ -169,7 +169,7 @@ class G4RunManagerKernel inline G4PrimaryTransformer* GetPrimaryTransformer() const { return eventManager->GetPrimaryTransformer(); } - inline G4String GetVersionString() const + inline const G4String& GetVersionString() const { return versionString; } inline void SetVerboseLevel(G4int vl) @@ -190,7 +190,9 @@ class G4RunManagerKernel { numberOfParallelWorld = i; } private: + void CheckRegularGeometry(); G4bool ConfirmCoupledTransportation(); + void SetScoreSplitter(); }; #endif diff --git a/source/run/sources.cmake b/source/run/sources.cmake new file mode 100644 index 0000000000..632293b5af --- /dev/null +++ b/source/run/sources.cmake @@ -0,0 +1,135 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4run +# Package: Geant4.src.G4run +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:10:42 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/event/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/biasing/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/decay/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/scoring/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/transportation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4run + HEADERS + G4AdjointPrimaryGeneratorAction.hh + G4AdjointSimManager.hh + G4AdjointSimMessenger.hh + G4ExceptionHandler.hh + G4MSSteppingAction.hh + G4MatScanMessenger.hh + G4MaterialScanner.hh + G4Run.hh + G4RunManager.hh + G4RunManagerKernel.hh + G4RunMessenger.hh + G4UserPhysicsListMessenger.hh + G4UserRunAction.hh + G4VModularPhysicsList.hh + G4VPersistencyManager.hh + G4VPhysicsConstructor.hh + G4VUserDetectorConstruction.hh + G4VUserParallelWorld.hh + G4VUserPhysicsList.hh + G4VUserPrimaryGeneratorAction.hh + SOURCES + G4AdjointPrimaryGeneratorAction.cc + G4AdjointSimManager.cc + G4AdjointSimMessenger.cc + G4ExceptionHandler.cc + G4MSSteppingAction.cc + G4MatScanMessenger.cc + G4MaterialScanner.cc + G4Run.cc + G4RunManager.cc + G4RunManagerKernel.cc + G4RunMessenger.cc + G4UserPhysicsListMessenger.cc + G4UserRunAction.cc + G4VModularPhysicsList.cc + G4VPersistencyManager.cc + G4VUserDetectorConstruction.cc + G4VUserParallelWorld.cc + G4VUserPhysicsList.cc + G4VUserPrimaryGeneratorAction.cc + GRANULAR_DEPENDENCIES + G4cuts + G4decay + G4detector + G4detutils + G4digits + G4emutils + G4event + G4geombias + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4magneticfield + G4materials + G4navigation + G4partman + G4procman + G4scoring + G4track + G4tracking + G4transportation + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4event + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4particles + G4processes + G4track + G4tracking + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/run/src/G4AdjointPrimaryGeneratorAction.cc b/source/run/src/G4AdjointPrimaryGeneratorAction.cc index c8d25cbdd1..5ed8454da8 100644 --- a/source/run/src/G4AdjointPrimaryGeneratorAction.cc +++ b/source/run/src/G4AdjointPrimaryGeneratorAction.cc @@ -23,11 +23,11 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointPrimaryGeneratorAction.cc,v 1.2 2009/11/18 18:02:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointPrimaryGeneratorAction.cc,v 1.3 2010/07/21 14:21:19 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////////// -// Class Name: G4AdjointCrossSurfChecker +// Class Name: G4AdjointPrimaryGeneratorAction // Author: L. Desorgher // Organisation: SpaceIT GmbH // Contract: ESA contract 21435/08/NL/AT @@ -44,6 +44,10 @@ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // G4AdjointPrimaryGeneratorAction::G4AdjointPrimaryGeneratorAction() + : Emin(0.), Emax(0.), EminIon(0.), EmaxIon(0.), NbOfAdjointPrimaryTypes(0), + index_particle(100000), last_generated_part_was_adjoint(false), + radius_spherical_source(0.), fwd_ion(0), adj_ion(0), + ion_name("not_defined") { theAdjointPrimaryGenerator= new G4AdjointPrimaryGenerator(); @@ -54,13 +58,6 @@ G4AdjointPrimaryGeneratorAction::G4AdjointPrimaryGeneratorAction() ListOfPrimaryFwdParticles.clear(); ListOfPrimaryAdjParticles.clear(); - - last_generated_part_was_adjoint=false; - index_particle=100000; - - ion_name="not_defined"; - fwd_ion = 0; - adj_ion = 0; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // diff --git a/source/run/src/G4AdjointSimMessenger.cc b/source/run/src/G4AdjointSimMessenger.cc index eea37a28c5..7de236773f 100644 --- a/source/run/src/G4AdjointSimMessenger.cc +++ b/source/run/src/G4AdjointSimMessenger.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointSimMessenger.cc,v 1.2 2009/11/18 18:02:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointSimMessenger.cc,v 1.3 2010/09/03 15:24:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////////// // Class Name: G4AdjointCrossSurfChecker @@ -34,6 +34,8 @@ // Customer: ESA/ESTEC ///////////////////////////////////////////////////////////////////////////// +#include + #include "G4AdjointSimMessenger.hh" #include "G4AdjointSimManager.hh" #include "G4UIdirectory.hh" diff --git a/source/run/src/G4RunManager.cc b/source/run/src/G4RunManager.cc index d3738bfff4..0f980cbea3 100644 --- a/source/run/src/G4RunManager.cc +++ b/source/run/src/G4RunManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RunManager.cc,v 1.108 2007/11/09 13:57:39 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4RunManager.cc,v 1.114 2010/11/24 19:39:15 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -76,7 +76,10 @@ G4RunManager::G4RunManager() currentWorld(0),nParallelWorlds(0) { if(fRunManager) - { G4Exception("G4RunManager constructed twice."); } + { + G4Exception("G4RunManager::G4RunManager()", "Run0001", + FatalException, "G4RunManager constructed twice."); + } fRunManager = this; kernel = new G4RunManagerKernel(); @@ -247,7 +250,7 @@ void G4RunManager::DoEventLoop(G4int n_event,const char* macroFile,G4int n_selec G4cout << "Run terminated." << G4endl; G4cout << "Run Summary" << G4endl; if(runAborted) - { G4cout << " Run Aborted after " << i_event << " events processed." << G4endl; } + { G4cout << " Run Aborted after " << i_event + 1 << " events processed." << G4endl; } else { G4cout << " Number of events processed : " << n_event << G4endl; } G4cout << " " << *timer << G4endl; @@ -258,8 +261,9 @@ G4Event* G4RunManager::GenerateEvent(G4int i_event) { if(!userPrimaryGeneratorAction) { - G4Exception - ("G4RunManager::BeamOn - G4VUserPrimaryGeneratorAction is not defined."); + G4Exception("G4RunManager::GenerateEvent()", "Run0002", FatalException, + "G4VUserPrimaryGeneratorAction is not defined!"); + return 0; } G4Event* anEvent = new G4Event(i_event); @@ -330,7 +334,7 @@ void G4RunManager::Initialize() if(currentState!=G4State_PreInit && currentState!=G4State_Idle) { G4cerr << "Illegal application state - " - << "G4RunManager::Initialize() ignored." << G4endl; + << "G4RunManager::Initialize() ignored." << G4endl; return; } @@ -343,8 +347,9 @@ void G4RunManager::InitializeGeometry() { if(!userDetector) { - G4Exception - ("G4RunManager::InitializeGeometry - G4VUserDetectorConstruction is not defined."); + G4Exception("G4RunManager::InitializeGeometry", "Run0003", + FatalException, "G4VUserDetectorConstruction is not defined!"); + return; } if(verboseLevel>1) G4cout << "userDetector->Construct() start." << G4endl; @@ -363,7 +368,8 @@ void G4RunManager::InitializePhysics() } else { - G4Exception("G4VUserPhysicsList is not defined"); + G4Exception("G4RunManager::InitializePhysics()", "Run0004", + FatalException, "G4VUserPhysicsList is not defined!"); } physicsInitialized = true; } @@ -453,7 +459,7 @@ void G4RunManager::rndmSaveThisEvent() if(verboseLevel>0) G4cout << "currentEvent.rndm is copied to file: " << fileOut << G4endl; } -void G4RunManager::RestoreRandomNumberStatus(G4String fileN) +void G4RunManager::RestoreRandomNumberStatus(const G4String& fileN) { G4String fileNameWithDirectory; if(fileN.index("/")==std::string::npos) @@ -467,7 +473,7 @@ void G4RunManager::RestoreRandomNumberStatus(G4String fileN) HepRandom::showEngineStatus(); } -void G4RunManager::DumpRegion(G4String rname) const +void G4RunManager::DumpRegion(const G4String& rname) const { kernel->UpdateRegion(); kernel->DumpRegion(rname); @@ -518,10 +524,13 @@ void G4RunManager::ConstructScoringWorlds() while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - pmanager->AddProcess(theParallelWorldScoringProcess); - pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess, idxAtRest); - pmanager->SetProcessOrderingToSecond(theParallelWorldScoringProcess, idxAlongStep); - pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess, idxPostStep); + if(pmanager) + { + pmanager->AddProcess(theParallelWorldScoringProcess); + pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess, idxAtRest); + pmanager->SetProcessOrderingToSecond(theParallelWorldScoringProcess, idxAlongStep); + pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess, idxPostStep); + } } } mesh->Construct(pWorld); @@ -546,4 +555,21 @@ void G4RunManager::UpdateScoring() } } +#include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" +#include "G4SmartVoxelHeader.hh" + +void G4RunManager::ReOptimizeMotherOf(G4VPhysicalVolume* pPhys) +{ + G4LogicalVolume* pMotherL = pPhys->GetMotherLogical(); + if(pMotherL) ReOptimize(pMotherL); +} + +void G4RunManager::ReOptimize(G4LogicalVolume* pLog) +{ + G4SmartVoxelHeader* header = pLog->GetVoxelHeader(); + delete header; + header = new G4SmartVoxelHeader(pLog); + pLog->SetVoxelHeader(header); +} diff --git a/source/run/src/G4RunManagerKernel.cc b/source/run/src/G4RunManagerKernel.cc index 3eef9db2fb..98411e730a 100644 --- a/source/run/src/G4RunManagerKernel.cc +++ b/source/run/src/G4RunManagerKernel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RunManagerKernel.cc,v 1.47 2009/11/13 23:13:40 asaim Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4RunManagerKernel.cc,v 1.54 2010/12/05 12:12:43 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -257,8 +257,7 @@ void G4RunManagerKernel::InitializePhysics() if(!(currentState==G4State_Idle||currentState==G4State_PreInit)) { G4Exception("G4RunManagerKernel::InitializePhysics", - "InitializePhysicsAtIncorrectState", - JustWarning, + "InitializePhysicsAtIncorrectState", JustWarning, "Geant4 kernel is not PreInit or Idle state : Method ignored."); return; } @@ -266,14 +265,11 @@ void G4RunManagerKernel::InitializePhysics() if(!physicsList) { G4Exception("G4RunManagerKernel::InitializePhysics", - "PhysicsListIsNotDefined", - FatalException, + "PhysicsListIsNotDefined", FatalException, "G4VUserPhysicsList is not defined"); + return; } - //if(verboseLevel>1) G4cout << "physicsList->ConstructParticle() start." << G4endl; - //physicsList->ConstructParticle(); - if(verboseLevel>1) G4cout << "physicsList->Construct() start." << G4endl; if(numberOfParallelWorld>0) physicsList->UseCoupledTransportation(); physicsList->Construct(); @@ -329,7 +325,14 @@ G4bool G4RunManagerKernel::RunInitialization() UpdateRegion(); BuildPhysicsTables(); - if(geometryNeedsToBeClosed) ResetNavigator(); + if(geometryNeedsToBeClosed) + { + ResetNavigator(); + CheckRegularGeometry(); + // Notify the VisManager as well + G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); + if(pVVisManager) pVVisManager->GeometryHasChanged(); + } GetPrimaryTransformer()->CheckUnknown(); @@ -430,7 +433,7 @@ void G4RunManagerKernel::CheckRegions() } } -void G4RunManagerKernel::DumpRegion(G4String rname) const +void G4RunManagerKernel::DumpRegion(const G4String& rname) const { G4Region* region = G4RegionStore::GetInstance()->GetRegion(rname); if(region) DumpRegion(region); @@ -491,15 +494,39 @@ void G4RunManagerKernel::DumpRegion(G4Region* region) const region->SetProductionCuts( G4ProductionCutsTable::GetProductionCutsTable()->GetDefaultProductionCuts()); } - G4cout << " Production cuts : " - << " gamma " << G4BestUnit(cuts->GetProductionCut("gamma"),"Length") - << " e- " << G4BestUnit(cuts->GetProductionCut("e-"),"Length") - << " e+ " << G4BestUnit(cuts->GetProductionCut("e+"),"Length") - << " proton " << G4BestUnit(cuts->GetProductionCut("proton"),"Length") - << G4endl; + else + { + G4cout << " Production cuts : " + << " gamma " + << G4BestUnit(cuts->GetProductionCut("gamma"),"Length") + << " e- " + << G4BestUnit(cuts->GetProductionCut("e-"),"Length") + << " e+ " + << G4BestUnit(cuts->GetProductionCut("e+"),"Length") + << " proton " + << G4BestUnit(cuts->GetProductionCut("proton"),"Length") + << G4endl; + } } } +#include "G4LogicalVolumeStore.hh" +void G4RunManagerKernel::CheckRegularGeometry() +{ + G4LogicalVolumeStore* store = G4LogicalVolumeStore::GetInstance(); + for(G4LogicalVolumeStore::iterator pos=store->begin(); pos!=store->end(); pos++) + { + if((*pos)&&((*pos)->GetNoDaughters()==1)) + { + if((*pos)->GetDaughter(0)->IsRegularStructure()) + { + SetScoreSplitter(); + return; + } + } + } +} + #include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" @@ -510,14 +537,38 @@ G4bool G4RunManagerKernel::ConfirmCoupledTransportation() G4ParticleTable* theParticleTable = G4ParticleTable::GetParticleTable(); G4ParticleTable::G4PTblDicIterator* theParticleIterator = theParticleTable->GetIterator(); theParticleIterator->reset(); - if((*theParticleIterator)()) + while((*theParticleIterator)()) { G4ParticleDefinition* pd = theParticleIterator->value(); G4ProcessManager* pm = pd->GetProcessManager(); - G4ProcessVector* pv = pm->GetAlongStepProcessVector(typeDoIt); - G4VProcess* p = (*pv)[0]; - return ( (p->GetProcessName()) == "CoupledTransportation" ); + if(pm) + { + G4ProcessVector* pv = pm->GetAlongStepProcessVector(typeDoIt); + G4VProcess* p = (*pv)[0]; + return ( (p->GetProcessName()) == "CoupledTransportation" ); + } } return false; } +#include "G4ScoreSplittingProcess.hh" +void G4RunManagerKernel::SetScoreSplitter() +{ + G4ScoreSplittingProcess* pSplitter = new G4ScoreSplittingProcess(); + G4ParticleTable* theParticleTable = G4ParticleTable::GetParticleTable(); + G4ParticleTable::G4PTblDicIterator* theParticleIterator = theParticleTable->GetIterator(); + theParticleIterator->reset(); + while( (*theParticleIterator)() ) + { + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + if(pmanager) + { pmanager->AddDiscreteProcess(pSplitter); } + } + + if(verboseLevel>0) + { + G4cout << "G4RunManagerKernel -- G4ScoreSplittingProcess is appended to all particles." << G4endl; + } +} + diff --git a/source/run/src/G4VUserPhysicsList.cc b/source/run/src/G4VUserPhysicsList.cc index 1240c17379..1bcb7d6439 100644 --- a/source/run/src/G4VUserPhysicsList.cc +++ b/source/run/src/G4VUserPhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VUserPhysicsList.cc,v 1.71 2009/08/09 14:31:46 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VUserPhysicsList.cc,v 1.72 2010/07/21 14:21:19 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -343,7 +343,8 @@ void G4VUserPhysicsList::RemoveProcessManager() void G4VUserPhysicsList::AddTransportation() { G4int verboseLevelTransport = 0; - G4VProcess* theTransportationProcess = 0; + G4VProcess* theTransportationProcess = 0; // Pointer ownership handled to + // G4ProcessManager ! G4int nParaWorld = G4RunManagerKernel::GetRunManagerKernel()->GetNumberOfParallelWorld(); if(nParaWorld || useCoupledTransportation || G4ScoringManager::GetScoringManagerIfExist()) @@ -354,7 +355,9 @@ void G4VUserPhysicsList::AddTransportation() << "#############################################################################" << G4endl; } else - { theTransportationProcess = new G4Transportation(verboseLevelTransport); } + { + theTransportationProcess = new G4Transportation(verboseLevelTransport); + } #ifdef G4VERBOSE if (verboseLevel >2){ @@ -610,6 +613,7 @@ void G4VUserPhysicsList::BuildPhysicsTable(G4ParticleDefinition* particle) G4cerr << particle->GetParticleName() << " should be created in your PhysicsList" <GetParticleName() ); + return; } G4ProcessVector* pVector = pManager->GetProcessList(); if (!pVector) { @@ -618,6 +622,7 @@ void G4VUserPhysicsList::BuildPhysicsTable(G4ParticleDefinition* particle) G4cerr << particle->GetParticleName() << " should be created in your PhysicsList" <GetParticleName() ); + return; } for (G4int j=0; j < pVector->size(); ++j) { (*pVector)[j]->BuildPhysicsTable(*particle); @@ -638,6 +643,7 @@ void G4VUserPhysicsList::PreparePhysicsTable(G4ParticleDefinition* particle) G4cerr << particle->GetParticleName() << " should be created in your PhysicsList" <GetParticleName() ); + return; } G4ProcessVector* pVector = pManager->GetProcessList(); @@ -647,6 +653,7 @@ void G4VUserPhysicsList::PreparePhysicsTable(G4ParticleDefinition* particle) G4cerr << particle->GetParticleName() << " should be created in your PhysicsList" <GetParticleName() ); + return; } for (G4int j=0; j < pVector->size(); ++j) { (*pVector)[j]->PreparePhysicsTable(*particle); diff --git a/source/track/CMakeLists.txt b/source/track/CMakeLists.txt new file mode 100644 index 0000000000..19ceaecf13 --- /dev/null +++ b/source/track/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4track +# Package: Geant4.src.G4track +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:10:50 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/track/GNUmakefile b/source/track/GNUmakefile index 275f95e921..ed02c4765b 100644 --- a/source/track/GNUmakefile +++ b/source/track/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.6 2006/04/28 13:45:48 asaim Exp $ +# $Id: GNUmakefile,v 1.8 2010/10/27 07:53:29 gcosmo Exp $ # ---------------------------------------------------------- # GNUmakefile for track library. Gabriele Cosmo, 3/4/1997. # ---------------------------------------------------------- diff --git a/source/track/History b/source/track/History index 032747c392..0c72fa6d45 100644 --- a/source/track/History +++ b/source/track/History @@ -1,4 +1,4 @@ -$Id: History,v 1.107 2009/10/19 09:37:00 kurasige Exp $ +$Id: History,v 1.120 2010/11/10 08:42:47 kurasige Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,12 +16,67 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +Nov. 10, 2010, H.Kurashige (track-V09-03-11) +- Remove GetSecondaryInCurrentStep method in G4Step. + (revert chages in track-V09-03-07) + +Nov. 08, 2010, M.Asai (track-V09-03-10) +- Adding touchable history of the origin to G4Track. + +Oct. 30, 2010, H.Kurashige (track-V09-03-09) +- Fix minor bugs reported by Coverity + +Oct. 27, 2010, G.Cosmo (track-V09-03-08) +- Restored DLL setup as originally. Withdrawn changes in last tag. + +Oct. 19, 2010 G.Cosmo (track-V09-03-07) +- Replaced G4TRACK_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported + symbols. + +Oct. 18, 2010 Hisaya Kurashige (track-V09-03-06) +- Add GetSecondaryInCurrentStep method in G4Step. + It gives secondaries in the current step. + +Oct. 6, 2010 Hisaya Kurashige (track-V09-03-05) +- G4Step::GetSecondary() gives back const G4TrackVector* + and G4Step::GetfSecondary() gives back non-const pointer + +Sep 21, 2010 Hisaya Kurashige (track-V09-03-04) +- Fill the last bin contents in G4Track::PrepareVelocityTable() + to fix the bug in calculation of GetVelocity + +Aug 12, 2010 Hisaya Kurashige (track-V09-03-03) +- Add G4Track::GetParticleDefinition giving 'const' pointer + +July 21, 2010 Gabriele Cosmo (track-V09-03-02) +- Added protection against possible null pointer in G4Track::GetVelocity(). +- Removed extra inclusion of G4Step.hh in G4Track header. +- Fixed cases of restoring cout/cerr precision formatting in classes: + G4ParticleChange, G4ParticleChangeForDecay, G4ParticleChangeForGamma, + G4ParticleChangeForLoss, G4ParticleChangeForMSC, G4ParticleChangeForTransport, + G4VParticleChange. +- Added dummy initialisation to data members in constructors in classes: + G4ParticleChange, G4ParticleChangeForDecay, G4ParticleChangeForGamma, + G4ParticleChangeForLoss, G4ParticleChangeForTransport, G4Step, G4StepPoint, + G4Track, G4VParticleChange. + +July 2, 2010 Hisaya Kurashige (track-V09-03-01) +- Use PhysicsVector for calculation of GetVelocity +- Add Exception(Warning) if GetDeltaEnergy/Momentum methods are invoked. These methds are planed to be removed + +Mar. 9, 2010 Hisaya Kurashige (track-V09-03-00) +- Change G4String to a pointer of G4String + for prooperty to indicate type of UserTrackInformation +- Change G4VUserTrackInformation::Print() to a simple virtual method + form pure-virtual + Oct. 19, 2009 Hisaya Kurashige (track-V09-02-04) -added a string prooperty to indicate type of UserTrackInformation +-added a string prooperty to indicate type of UserTrackInformation -June 18, 2009 Hisaya Kurashige (track-V09-02-03) -added SetLowEnergyLimit method (Vladimir) +Jun. 18, 2009 Hisaya Kurashige (track-V09-02-03) +-added SetLowEnergyLimit method (Vladimir) May. 27, 2009 Hisaya Kurashige (track-V09-02-02) @@ -52,43 +107,43 @@ Aug. 07, 2007 Hisaya Kurashige (track-V09-00-01) - Add get method for non-ionizing energy deposit in G4Step -Mar 30, 07 Hisaya Kurashige (track-V08-02-02) +Mar. 30, 07 Hisaya Kurashige (track-V08-02-02) - Fix weight treatment in G4ParticleChange -Mar 26, 07 Hisaya Kurashige (track-V08-02-01) +Mar. 26, 07 Hisaya Kurashige (track-V08-02-01) - Added Non-Ionizing Energy Deposit in G4Step and G4VParticleChange -Mar 11, 07 Hisaya Kurashige (track-V08-02-00) +Mar. 11, 07 Hisaya Kurashige (track-V08-02-00) - Added magnetic moment in G4DynamicParticle (co-work with particles-V08-02-00) - Fixed treatment of parent's weight in G4ParticleChange -Nov 3, 06 J.Apostolakis (track-V08-01-04) +Nov. 3, 06 J.Apostolakis (track-V08-01-04) - New methods first/lastStepInVolume flag in G4Step, G4VParticleChange by Hisaya - Revised UpdateStepForPostStep by John Apostolakis -Oct 31, 06 G.Cosmo (track-V08-01-03) +Oct. 31, 06 G.Cosmo (track-V08-01-03) - Made operator=() inline. -Aug 29, 06 H.Kurashige (track-V08-01-02) +Aug. 29, 06 H.Kurashige (track-V08-01-02) - Add methods for setting polarization and modifying weight for G4ParticleChangeFoeGamma and G4ParticleChangeForLoss (V.Ivanchenko) -July 17, 06 M.Asai (track-V08-01-01) +Jul. 17, 06 M.Asai (track-V08-01-01) - Re-tagged for G4Step and G4TrackVector only. -June 09, 06 M.Asai (track-V08-01-00) +Jun. 09, 06 M.Asai (track-V08-01-00) - tagged for G4FieldTrackUpdator, G4Step and G4TrackVector. -June 09, 06 T.Sasaki +Jun. 09, 06 T.Sasaki - G4Step now has secondary vector - G4TrackVector was moved from tracking category -June 09, 06 M.Asai +Jun. 09, 06 M.Asai - Introducing G4FieldTrackUpdator class. - GNUmakefile now includes geometry/magneticfield -June 07, 06 V.Ivanchenko (track-V08-00-03) +Jun. 07, 06 V.Ivanchenko (track-V08-00-03) - G4ParticleChangeForLoss - remove momentum change AlongStep Mar. 29, 06 H.Kurashige (track-V08-00-02) @@ -101,10 +156,10 @@ Feb. 08, 06 H.Kurashige (track-V08-00-01) Dec. 20, 05 .Kurashige (track-V08-00-00) - G4ParticleChangeForRadDecay is now derived from G4ParticleChangeForDecay -Dec 05, 05 mma (track-V07-01-02) +Dec. 05, 05 mma (track-V07-01-02) - G4ParticleChangeForGamma : apply UpdateStepForPostStep in any case -Nov 26, 05 H.Kurashige (track-V07-01-01) +Nov. 26, 05 H.Kurashige (track-V07-01-01) - Fix GetVelocity : use the material pointer in PreStepPoint May 30, 05 V.Ivantchenko (track-V07-00-02) @@ -212,6 +267,7 @@ Dec. 16, 02 G.Cosmo (track-V05-00-00) Dec. 04, 02 T.Sasaki (track-V04-01-03) - Initial value for fCharge is given in the constuctor of G4StepPoint. + Nov. 20, 02 G.Cosmo (track-V04-01-02) - Patched access to public static data in G4VParticleChange. Added accessors to be used in the kernel to allow porting on @@ -274,36 +330,36 @@ Sep. 20, 01 H.Kurashige (track-V03-02-01) Aug. 16, 01 H.Kurashige (track-V03-02-00) - Clean up codes -Mar 7, 01 H.Kurashige (track-V03-00-04) +Mar. 7, 01 H.Kurashige (track-V03-00-04) - Add protection for the zero-momentum case for UpdateStepForAlongStep in ParticleChange (J.A) -Feb 17, 01 H.Kurashige (track-V03-00-03) +Feb. 17, 01 H.Kurashige (track-V03-00-03) - Add Velocity and Setmethod in G4StepPoint - Add SetVelocity in G4Step.::InitializeStep - Modify G4StepPoint::GetVelocity to return correct velocity for optical photon -Feb 17, 01 H.Kurashige (track-V03-00-02) +Feb. 17, 01 H.Kurashige (track-V03-00-02) - Fix G4Track::GetVelocity for Gamma -Feb 12, 01 H.Kurashige (track-V03-00-01) +Feb. 12, 01 H.Kurashige (track-V03-00-01) - Remove thePolarizationChange from G4ParticleChangeForTransport.hh -Feb 07, 01 H.Kurashige (track-V03-00-00) +Feb. 07, 01 H.Kurashige (track-V03-00-00) - Add copy constructor to G4Track -Oct 19, 00 H.kurashige (track-V02-00-01) +Oct. 19, 00 H.kurashige (track-V02-00-01) - Bug fixes in copy constructor of G4ParticleChange -Oct 18, 00 H.Kurashige (track-V02-00-00) +Oct. 18, 00 H.Kurashige (track-V02-00-00) - Add "const" to G4DynamicParticle pointer of returned value of G4Track::GetDynamicParticle -June 2, 2000 M.Asai (track-V01-01-02) +Jun. 2, 2000 M.Asai (track-V01-01-02) - Add G4VUserTrackInformation class and its pointer data member in G4Track - Add "const" to pointer to G4Step in G4Track (Hisaya) -June 1 2000 H.Kurashige (track-V01-01-01a) +Jun. 1 2000 H.Kurashige (track-V01-01-01a) - Removed "const" from the return value type of G4StepPoint::GetPhysicalVolume() May 16 2000 H.Kurashige (track-V01-01-01) @@ -317,110 +373,110 @@ Feb. 16, 2000 H.Kurashige - Added theMaterialChange in G4ParticleChangeForTransportation - GetTouchable methods has been changed to give "const" pointer -Feb 13, 2000 H.Kurashige (track-V01-00-01) +Feb. 13, 2000 H.Kurashige (track-V01-00-01) - Added G4ParticleChangeForRadDecay - Changed G4VParticleChange::AddSecondary to set secondary track weight equal to the primary's one - Removed printing pointers of ParticleChange object in CheckIt methods -Jan 18, 2000 H.Kurashige (track-V01-00-00) +Jan. 18, 2000 H.Kurashige (track-V01-00-00) - Fixed bugs in treatment of secondary track weight -Nov 7, 1999 H.Kurashige (track-V00-01-01) +Nov. 7, 1999 H.Kurashige (track-V00-01-01) - Added comments for "Software Reference Manual" -Oct 5, 1999 H,Kurashige (track-V00-01-00) +Oct. 5, 1999 H,Kurashige (track-V00-01-00) - Added mass/charge change in G4ParticleChange - Modified G4ParticleChange::CheckIt - Separate implementation of inline functions to G4Track.icc and G4Step.icc -July 14 1999 H.Kurashige (track-01-00-07) +Jul. 14 1999 H.Kurashige (track-01-00-07) - Fixed bugs in G4Mars5GeVMechanism::CreatePion() May 6, 1999 H.Kurashige (track-01-00-06) - Modified CheckIt methods of G4VParticleChange and derived classes -Apr 28, 1999 H.Kurashige (track-01-00-05b) +Apr. 28, 1999 H.Kurashige (track-01-00-05b) - Protect proton mass against glanular libraly for G4Mars5Gev...(Makoto) - Fixed error messages in G4ParticleChange::CheckIt (Hisaya) - Remove "include/G4VProcess.hh" from G4Step.cc (Hisaya) -Apr 13, 1999 H.Kurashige (track-01-00-04) +Apr. 13, 1999 H.Kurashige (track-01-00-04) - Code polishing according to the messages by CodeWizard - Added new virtual method of G4bool CheckIt(const G4Track&) in G4VParticleChange -Feb 17, 1999 H.Kurashige (track-01-00-03) +Feb. 17, 1999 H.Kurashige (track-01-00-03) - Removed G4Step::ShowStep() (Takashi) - Fixed bugs in G4ParticleChange.icc (Hisaya) -Feb 9, 1999 H.Kurashige (track-01-00-02) +Feb. 9, 1999 H.Kurashige (track-01-00-02) - Modified G4TrackFastVector (Hisaya) - Modified G4ParticleChange::CheckIt (Hisaya) -Feb 6, 1999 H.Kurashige (track-01-00-01) +Feb. 6, 1999 H.Kurashige (track-01-00-01) - Added Get/SetMomentumDirectionChange in G4ParticleChange (Hisaya) - Removed using G4ParticleMomentum (Hisaya) -December 15, 1998 H.Kurashige (track-00-04-05) +Dec. 15, 1998 H.Kurashige (track-00-04-05) - G4ParticleChange::CheckIt is activated in VERBOSE mode (Hisaya) -December 12, 1998 H.Kurashige (track-00-04-04) +Dec. 12, 1998 H.Kurashige (track-00-04-04) - Fixed bugs in G4Mars5GeVMechanism (Hisaya) - Added SwOnAllEB/SwOffAllEB in G4ParticleChange (Hisaya) - Added GetEBMechanis and IsEBActive in G4VParticleChange (Hisaya) -December 11, 1998 H.Kurashige (track-00-04-03) +Dec. 11, 1998 H.Kurashige (track-00-04-03) - Fixed bugs in G4Mars5GeVMechanism (Hisaya) -December 9, 1998 L.Urban (track-00-04-02) +Dec. 9, 1998 L.Urban (track-00-04-02) - Added G4ParticleChangeForLoss and G4ParticleChangeForMSC. -November 18, 98 H.Kurashige (track-00-04-01)A +Nov. 18, 98 H.Kurashige (track-00-04-01)A - Added new member of weight in G4Track and removed G4BiasingTag - Added Event Biasing based on MARS - Modified argument type in G4Track ( this tag requires particles-00-04-01 tag) -November 9, 98 H.Kurashige (track-00-03-05) +Nov. 9, 98 H.Kurashige (track-00-03-05) - Added Event Biasing Mechanism in G4VParticleChange -November 8, 98 H.Kurashige (track-00-03-04) +Nov. 8, 98 H.Kurashige (track-00-03-04) - Added G4BiasingTag as a member of G4Track - Modified G4Step, and G4StepPoint for managing G4BiasingTag -Octorber 17, 98 H.Kurashige (track-00-03-03) +Oct. 17, 98 H.Kurashige (track-00-03-03) - Fixed bugs in G4VParticleChange and G4ParticleChange -October 14 19 H.Kurashige (track-00-03-01) +Oct. 14 19 H.Kurashige (track-00-03-01) - Modified G4ParticleChangeForTransportation for new relocation algorism. (J.Apost.) -August 31, 98 G.Cosmo (track-00-02-01) +Aug. 31, 98 G.Cosmo (track-00-02-01) - Added "global" phony target to GNUmakefile. - Added comment to G4StepPoint.hh (J.Apostolakis). -July 20,98 H.Kurashige (track-00-01-05) +Jul. 20,98 H.Kurashige (track-00-01-05) - Modified G4ParticleChangeForDecay -July 10, 98 P.Urban (track-00-01-02) +Jul. 10, 98 P.Urban (track-00-01-02) - Optimised G4ParticleChangeForTransport. Much less data is copied -> increased performance. -July 1, 98 H.Kurashige (track-00-07-02) +Jul. 1, 98 H.Kurashige (track-00-07-02) - Moved UpdateStepForAlongStep into G4ParticleChangeForTransport.cc file -June 30, 98 P. Urban (track-00-07-01) +Jun. 30, 98 P. Urban (track-00-07-01) - Some more tracking optimisation results. -June 22, 98 P. Urban (track-00-06-04) +Jun. 22, 98 P. Urban (track-00-06-04) - Preliminary results of tracking optimisation merged into HEAD. -June 11, 98 G.Cosmo (track-00-06-03) +Jun. 11, 98 G.Cosmo (track-00-06-03) - Tagged track-00-06-03. -June 11, 98 J.Allison +Jun. 11, 98 J.Allison - Added a missing inline keyword to G4Track.hh:341. -June 8, 98 H.Kurashige +Jun. 8, 98 H.Kurashige - Add GoodForTracking and BelowThreshold flags in G4Track for new COHERENT scheme for the Cuts @@ -428,38 +484,37 @@ May 12, 98 H.Kurashige - Fix bugs in G4Step, G4ParticleChange Add new class of G4ParticleChangeForTransport -April 12, 98 H.Kuraashige - Implement new scheme of 'Particle Change'. Please see +Apr. 12, 98 H.Kurashige +- Implement new scheme of 'Particle Change'. Please see particle_change.asc in geant4alpha/documents/particles+matter/. - Following files are modified (or added) +- Following files are modified (or added) G4ParticleChange.hh, .icc, .cc G4VParticleChange.hh, .icc, .cc G4ParticleChangeForDecay.hh, .cc G4Step.hh, G4TrackFastVector.hh -April 9, 98 G.Cosmo +Apr. 9, 98 G.Cosmo - Porting on DEC-cxx 6.0. Removed meaningless usage of "const" qualifier from functions return type for basic types by value. Modified files: G4ParticleChange.hh, .icc, G4Step.hh, G4StepPoint.hh, G4Track.hh -March 18, 1998 K. Amako - Add following information to G4Track: +Mar. 18, 1998 K.Amako +- Add following information to G4Track: 1.Momentum direction at the start point (vertex position) of the track 2.Kinetic energy at the start point (vertex position) of the track 3.Pointer to the process which created the current track - Due to this, the following files have modififed and committed. +- Due to this, the following files have modififed and committed. 1.NewDesignDoc.txt 2.G4Track.hh, G4Track.cc 3.G4SteppingManager.cc - -January 29, 97 K. Amako - Following changes have been done and committed/tagged to cvs. +Jan. 29, 97 K. Amako +- Following changes have been done and committed/tagged to cvs. Tag# is track-00-03-01. - G4Step.cc: Output format has been changed in showStep(). -December 19, 97 G. Cosmo - (alpha03) +Dec. 19, 97 G. Cosmo - (alpha03) - Created. diff --git a/source/track/include/G4ParticleChangeForDecay.hh b/source/track/include/G4ParticleChangeForDecay.hh index 8d809d69e3..0782615310 100644 --- a/source/track/include/G4ParticleChangeForDecay.hh +++ b/source/track/include/G4ParticleChangeForDecay.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChangeForDecay.hh,v 1.9 2006/06/29 21:14:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParticleChangeForDecay.hh,v 1.10 2010/07/21 09:30:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -157,19 +157,3 @@ inline } #endif - - - - - - - - - - - - - - - - diff --git a/source/track/include/G4ParticleChangeForTransport.hh b/source/track/include/G4ParticleChangeForTransport.hh index c29eb7d2a0..4a1e86c14a 100644 --- a/source/track/include/G4ParticleChangeForTransport.hh +++ b/source/track/include/G4ParticleChangeForTransport.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChangeForTransport.hh,v 1.16 2006/06/29 21:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParticleChangeForTransport.hh,v 1.17 2010/07/21 09:30:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // ------------------------------------------------------------ @@ -125,7 +125,7 @@ class G4ParticleChangeForTransport: public G4ParticleChange private: G4bool isMomentumChanged; - // The flag which is set if mometum is changed in this stepi + // The flag which is set if momentum is changed in current step G4Material* theMaterialChange; const G4MaterialCutsCouple* theMaterialCutsCoupleChange; G4VSensitiveDetector* theSensitiveDetectorChange; diff --git a/source/track/include/G4Step.hh b/source/track/include/G4Step.hh index 78128a12f1..55271cfc5c 100644 --- a/source/track/include/G4Step.hh +++ b/source/track/include/G4Step.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Step.hh,v 1.19 2008/01/12 12:00:25 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Step.hh,v 1.23 2010/11/10 08:42:47 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //--------------------------------------------------------------- @@ -120,14 +120,7 @@ class G4Step G4SteppingControl GetControlFlag() const; void SetControlFlag(G4SteppingControl StepControlFlag); - // difference of position, time, momentum and energy - G4ThreeVector GetDeltaPosition() const; - G4double GetDeltaTime() const; - - G4ThreeVector GetDeltaMomentum() const; - G4double GetDeltaEnergy() const; - - // manipulation of total energy deposit + // manipulation of total energy deposit void AddTotalEnergyDeposit(G4double value); void ResetTotalEnergyDeposit(); @@ -137,6 +130,8 @@ class G4Step // Get/Set/Clear flag for initial/last step + // NOTE: following flags are not used + // will be ready in later release G4bool IsFirstStepInVolume() const; G4bool IsLastStepInVolume() const; @@ -145,6 +140,18 @@ class G4Step void SetLastStepFlag(); void ClearLastStepFlag(); + // difference of position, time, momentum and energy + G4ThreeVector GetDeltaPosition() const; + G4double GetDeltaTime() const; + + // These methods will be deleted + // NOTE: use GetTotalEnergyDeposit() to obtain + // energy loss in the material + // + G4ThreeVector GetDeltaMomentum() const; + G4double GetDeltaEnergy() const; + + // Other member functions void InitializeStep( G4Track* aValue ); // initiaize contents of G4Step @@ -190,12 +197,24 @@ class G4Step // Secondary buckets public: - G4TrackVector* GetSecondary() const; + // NOTE: Secondary bucket of the Step contains + // all secondaries during tracking the current track + // (i.e. NOT secondaries produced in the current step) + // all following methods give same object (i.e. G4TrackVector ) + // but 2nd one will create bucket in addition + const G4TrackVector* GetSecondary() const ; G4TrackVector* GetfSecondary(); G4TrackVector* NewSecondaryVector(); + + // just delete secondary bucket + // NOTE: G4Track objects inside the bucket are not deleted void DeleteSecondaryVector(); + + // Add secondary tracks to the bucket void SetSecondary( G4TrackVector* value); -private: + +private: + // Secondaty bucket implemented by using std::vector of G4Track* G4TrackVector* fSecondary; // Prototyping implementation of smooth representation of curved diff --git a/source/track/include/G4Step.icc b/source/track/include/G4Step.icc index 3b8f163b50..4b533f616d 100644 --- a/source/track/include/G4Step.icc +++ b/source/track/include/G4Step.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Step.icc,v 1.19 2008/02/05 01:46:57 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Step.icc,v 1.23 2010/11/10 08:42:47 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //--------------------------------------------------------------- @@ -85,19 +85,6 @@ inline - fpPreStepPoint->GetLocalTime(); } -inline - G4ThreeVector G4Step::GetDeltaMomentum() const - { - return fpPostStepPoint->GetMomentum() - - fpPreStepPoint->GetMomentum(); - } - -inline - G4double G4Step::GetDeltaEnergy() const - { - return fpPostStepPoint->GetKineticEnergy() - - fpPreStepPoint->GetKineticEnergy(); - } inline G4double G4Step::GetTotalEnergyDeposit() const @@ -162,10 +149,11 @@ inline inline void G4Step::CopyPostToPreStepPoint( ) - { + { + //This method is called at the beggining of each step *(fpPreStepPoint) = *(fpPostStepPoint); fpPostStepPoint->SetStepStatus(fUndefined); - } +} //------------------------------------------------------------- @@ -221,7 +209,6 @@ inline fpPreStepPoint->SetCharge(fpTrack->GetDynamicParticle()->GetCharge()); fpPreStepPoint->SetWeight(fpTrack->GetWeight()); - (*fpPostStepPoint) = (*fpPreStepPoint); } @@ -250,23 +237,33 @@ inline fpTrack->SetNextTouchableHandle(fpPostStepPoint->GetTouchableHandle()); fpTrack->SetWeight(fpPostStepPoint->GetWeight()); + // set velocity fpPostStepPoint->SetVelocity(fpTrack->GetVelocity()); } -inline G4TrackVector* G4Step::GetfSecondary() { +inline const G4TrackVector* G4Step::GetSecondary() const +{ return fSecondary; - } -inline G4TrackVector* G4Step::GetSecondary() const { +} + +inline G4TrackVector* G4Step::GetfSecondary() +{ return fSecondary; - } -inline void G4Step::SetSecondary(G4TrackVector* value) { +} + +inline void G4Step::SetSecondary(G4TrackVector* value) +{ fSecondary=value; - } -inline G4TrackVector* G4Step::NewSecondaryVector() { +} + +inline + G4TrackVector* G4Step::NewSecondaryVector() +{ fSecondary=new G4TrackVector(); return fSecondary; - } +} + inline void G4Step::DeleteSecondaryVector() { delete fSecondary; } diff --git a/source/track/include/G4Track.hh b/source/track/include/G4Track.hh index b1deb8cf95..9cac27ef93 100644 --- a/source/track/include/G4Track.hh +++ b/source/track/include/G4Track.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Track.hh,v 1.19 2008/10/24 08:22:20 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Track.hh,v 1.23 2010/11/08 21:25:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //--------------------------------------------------------------- @@ -58,6 +58,8 @@ #include "G4TouchableHandle.hh" // Include from 'geometry' #include "G4VUserTrackInformation.hh" +#include "G4PhysicsLogVector.hh" + #include "G4Material.hh" class G4Step; // Forward declaration @@ -115,6 +117,9 @@ public: // With description const G4DynamicParticle* GetDynamicParticle() const; // particle definition + const G4ParticleDefinition* GetParticleDefinition() const; + // following method of GetDefinition remains + // because of backward compatiblity. It will be removed in future G4ParticleDefinition* GetDefinition() const; // position, time @@ -151,6 +156,10 @@ public: // With description const G4TouchableHandle& GetNextTouchableHandle() const; void SetNextTouchableHandle( const G4TouchableHandle& apValue); + const G4VTouchable* GetOriginTouchable() const; + const G4TouchableHandle& GetOriginTouchableHandle() const; + void SetOriginTouchableHandle( const G4TouchableHandle& apValue); + // energy G4double GetKineticEnergy() const; void SetKineticEnergy(const G4double aValue); @@ -234,6 +243,8 @@ public: // With description //--------- private: //--------- + // prepare velocity table + void PrepareVelocityTable(); // Member data G4int fCurrentStepNumber; // Total steps number up to now @@ -246,6 +257,7 @@ public: // With description G4TouchableHandle fpTouchable; G4TouchableHandle fpNextTouchable; + G4TouchableHandle fpOriginTouchable; // Touchable Handle G4DynamicParticle* fpDynamicParticle; @@ -276,8 +288,18 @@ public: // With description const G4VProcess* fpCreatorProcess; // Process which created the track G4VUserTrackInformation* fpUserInformation; + + mutable G4Material* prev_mat; + mutable G4MaterialPropertyVector* groupvel; + mutable G4double prev_velocity; + mutable G4double prev_momentum; + + static G4PhysicsLogVector* velTable; + static const G4double maxT; + static const G4double minT; + G4bool is_OpticalPhoton; }; -#include "G4Step.hh" + #include "G4Track.icc" #endif diff --git a/source/track/include/G4Track.icc b/source/track/include/G4Track.icc index 68f58b5b0c..026e748b8a 100644 --- a/source/track/include/G4Track.icc +++ b/source/track/include/G4Track.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Track.icc,v 1.16 2008/10/24 08:22:20 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Track.icc,v 1.21 2010/11/08 21:25:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //----------------------------------------------------------------- // Definitions of inline functions @@ -38,6 +38,13 @@ extern G4DLLIMPORT G4Allocator aTrackAllocator; #endif +//------------------------------------------------------------- +// To implement bi-directional association between G4Step and +// and G4Track, a combined usage of 'forward declaration' and +// 'include' is necessary. +//------------------------------------------------------------- +#include "G4Step.hh" + // Operators inline void* G4Track::operator new(size_t) @@ -65,6 +72,10 @@ inline G4ParticleDefinition* G4Track::GetDefinition() const { return fpDynamicParticle->GetDefinition(); } +// particle definition + inline const G4ParticleDefinition* G4Track::GetParticleDefinition() const + { return fpDynamicParticle->GetParticleDefinition(); } + // parent track ID inline G4int G4Track::GetParentID() const { return fParentID; } @@ -167,6 +178,20 @@ fpNextTouchable = apValue; } + inline const G4VTouchable* G4Track::GetOriginTouchable() const + { + return fpOriginTouchable(); + } + + inline const G4TouchableHandle& G4Track::GetOriginTouchableHandle() const + { + return fpOriginTouchable; + } + + inline void G4Track::SetOriginTouchableHandle( const G4TouchableHandle& apValue) + { + fpOriginTouchable = apValue; + } // kinetic energy inline G4double G4Track::GetKineticEnergy() const @@ -288,22 +313,8 @@ inline void G4Track::SetUserInformation(G4VUserTrackInformation* aValue) { fpUserInformation = aValue; } - - -//------------------------------------------------------------- -// To implement bi-directional association between G4Step and -// and G4Track, a combined usage of 'forward declaration' and -// 'include' is necessary. -//------------------------------------------------------------- -#include "G4Step.hh" - inline const G4Step* G4Track::GetStep() const { return fpStep; } inline void G4Track::SetStep(const G4Step* aValue) - { fpStep = (aValue); } - - - - - + { fpStep = aValue; } diff --git a/source/track/include/G4TrackVector.hh b/source/track/include/G4TrackVector.hh index a96acf2225..3d98bd90bc 100644 --- a/source/track/include/G4TrackVector.hh +++ b/source/track/include/G4TrackVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TrackVector.hh,v 1.2 2006/07/17 13:48:28 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrackVector.hh,v 1.4 2010/11/10 08:42:47 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // @@ -46,12 +46,12 @@ #define G4TrackVector_h 1 #include -//#include "G4Track.hh" // Include form 'tracking' class G4Track; +class G4Step; + -/////////////////////////////////////////////////// typedef std::vector G4TrackVector; -/////////////////////////////////////////////////// + #endif diff --git a/source/track/include/G4VUserTrackInformation.hh b/source/track/include/G4VUserTrackInformation.hh index 13f81c20d4..0fc4a30c8c 100644 --- a/source/track/include/G4VUserTrackInformation.hh +++ b/source/track/include/G4VUserTrackInformation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VUserTrackInformation.hh,v 1.8 2009/10/19 17:11:43 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VUserTrackInformation.hh,v 1.9 2010/03/09 02:49:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // //--------------------------------------------------------------- @@ -68,20 +68,14 @@ class G4VUserTrackInformation virtual ~G4VUserTrackInformation(); - virtual void Print() const = 0; + virtual void Print() const {}; const G4String& GetType() const; // get Type of this UserTrackInfo protected: - G4String fType; + G4String* pType; }; -inline - const G4String& G4VUserTrackInformation::GetType() const -{ - return fType; -} - #endif diff --git a/source/track/sources.cmake b/source/track/sources.cmake new file mode 100644 index 0000000000..0962680260 --- /dev/null +++ b/source/track/sources.cmake @@ -0,0 +1,94 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4track +# Package: Geant4.src.G4track +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:10:58 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4track + HEADERS + G4FieldTrackUpdator.hh + G4ForceCondition.hh + G4GPILSelection.hh + G4ParticleChange.hh + G4ParticleChange.icc + G4ParticleChangeForDecay.hh + G4ParticleChangeForGamma.hh + G4ParticleChangeForLoss.hh + G4ParticleChangeForMSC.hh + G4ParticleChangeForMSC.icc + G4ParticleChangeForRadDecay.hh + G4ParticleChangeForTransport.hh + G4ParticleChangeForTransport.icc + G4Step.hh + G4Step.icc + G4StepPoint.hh + G4StepPoint.icc + G4StepStatus.hh + G4SteppingControl.hh + G4Track.hh + G4Track.icc + G4TrackFastVector.hh + G4TrackStatus.hh + G4TrackVector.hh + G4VParticleChange.hh + G4VParticleChange.icc + G4VUserTrackInformation.hh + SOURCES + G4FieldTrackUpdator.cc + G4ParticleChange.cc + G4ParticleChangeForDecay.cc + G4ParticleChangeForGamma.cc + G4ParticleChangeForLoss.cc + G4ParticleChangeForMSC.cc + G4ParticleChangeForTransport.cc + G4Step.cc + G4StepPoint.cc + G4Track.cc + G4VParticleChange.cc + G4VUserTrackInformation.cc + GRANULAR_DEPENDENCIES + G4geometrymng + G4globman + G4intercoms + G4magneticfield + G4materials + G4partman + GLOBAL_DEPENDENCIES + G4geometry + G4global + G4intercoms + G4materials + G4particles + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/track/src/G4ParticleChange.cc b/source/track/src/G4ParticleChange.cc index d0b782ae42..98b76b8b6a 100644 --- a/source/track/src/G4ParticleChange.cc +++ b/source/track/src/G4ParticleChange.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChange.cc,v 1.31 2009/04/02 02:22:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ParticleChange.cc,v 1.32 2010/07/21 09:30:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -50,12 +50,13 @@ #include "G4DynamicParticle.hh" #include "G4ExceptionSeverity.hh" - -G4ParticleChange::G4ParticleChange():G4VParticleChange() +G4ParticleChange::G4ParticleChange() + : G4VParticleChange(), theEnergyChange(0.), theTimeChange(0.), + theProperTimeChange(0.), theMassChange(0.), theChargeChange(0.), + theMagneticMomentChange(0.), theCurrentTrack(0) { G4VParticleChange::SetSecondaryWeightByProcess(false); G4VParticleChange::SetParentWeightByProcess(false); - } G4ParticleChange::~G4ParticleChange() @@ -388,7 +389,7 @@ void G4ParticleChange::DumpInfo() const // use base-class DumpInfo G4VParticleChange::DumpInfo(); - G4cout.precision(3); + G4int oldprc = G4cout.precision(3); G4cout << " Mass (GeV) : " << std::setw(20) << theMassChange/GeV @@ -438,6 +439,7 @@ void G4ParticleChange::DumpInfo() const G4cout << " Polarization - z : " << std::setw(20) << thePolarizationChange.z() << G4endl; + G4cout.precision(oldprc); } G4bool G4ParticleChange::CheckIt(const G4Track& aTrack) diff --git a/source/track/src/G4ParticleChangeForDecay.cc b/source/track/src/G4ParticleChangeForDecay.cc index b9b72c5baa..be4926d69a 100644 --- a/source/track/src/G4ParticleChangeForDecay.cc +++ b/source/track/src/G4ParticleChangeForDecay.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChangeForDecay.cc,v 1.11 2006/06/29 21:15:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParticleChangeForDecay.cc,v 1.12 2010/07/21 09:30:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -45,7 +45,8 @@ #include "G4DynamicParticle.hh" #include "G4ExceptionSeverity.hh" -G4ParticleChangeForDecay::G4ParticleChangeForDecay():G4VParticleChange() +G4ParticleChangeForDecay::G4ParticleChangeForDecay() + : G4VParticleChange(), theTimeChange(0.) { #ifdef G4VERBOSE if (verboseLevel>2) { @@ -158,10 +159,10 @@ void G4ParticleChangeForDecay::DumpInfo() const // Show header G4VParticleChange::DumpInfo(); - G4cout.precision(3); + G4int oldprc = G4cout.precision(3); G4cout << " Time (ns) : " - << std::setw(20) << theTimeChange/ns - << G4endl; + << std::setw(20) << theTimeChange/ns << G4endl; + G4cout.precision(oldprc); } G4bool G4ParticleChangeForDecay::CheckIt(const G4Track& aTrack) diff --git a/source/track/src/G4ParticleChangeForGamma.cc b/source/track/src/G4ParticleChangeForGamma.cc index e751dc9564..31756a7abd 100644 --- a/source/track/src/G4ParticleChangeForGamma.cc +++ b/source/track/src/G4ParticleChangeForGamma.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChangeForGamma.cc,v 1.3 2006/08/28 16:10:29 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParticleChangeForGamma.cc,v 1.4 2010/07/21 09:30:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -46,7 +46,8 @@ #include "G4DynamicParticle.hh" #include "G4ExceptionSeverity.hh" -G4ParticleChangeForGamma::G4ParticleChangeForGamma():G4VParticleChange() +G4ParticleChangeForGamma::G4ParticleChangeForGamma() + : G4VParticleChange(), currentTrack(0), proposedKinEnergy(0.) { theSteppingControlFlag = NormalCondition; debugFlag = false; @@ -111,7 +112,7 @@ void G4ParticleChangeForGamma::DumpInfo() const // use base-class DumpInfo G4VParticleChange::DumpInfo(); - G4cout.precision(3); + G4int oldprc = G4cout.precision(3); G4cout << " Kinetic Energy (MeV): " << std::setw(20) << proposedKinEnergy/MeV << G4endl; @@ -121,6 +122,7 @@ void G4ParticleChangeForGamma::DumpInfo() const G4cout << " Polarization: " << std::setw(20) << proposedPolarization << G4endl; + G4cout.precision(oldprc); } G4bool G4ParticleChangeForGamma::CheckIt(const G4Track& aTrack) diff --git a/source/track/src/G4ParticleChangeForLoss.cc b/source/track/src/G4ParticleChangeForLoss.cc index b82d752561..ca3425948a 100644 --- a/source/track/src/G4ParticleChangeForLoss.cc +++ b/source/track/src/G4ParticleChangeForLoss.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChangeForLoss.cc,v 1.17 2009/05/26 13:19:41 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ParticleChangeForLoss.cc,v 1.18 2010/07/21 09:30:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -49,7 +49,8 @@ #include "G4ExceptionSeverity.hh" G4ParticleChangeForLoss::G4ParticleChangeForLoss() - :G4VParticleChange(), lowEnergyLimit(1.0*eV) + : G4VParticleChange(), currentTrack(0), proposedKinEnergy(0.), + lowEnergyLimit(1.0*eV), currentCharge(0.) { theSteppingControlFlag = NormalCondition; debugFlag = false; @@ -69,14 +70,16 @@ G4ParticleChangeForLoss::~G4ParticleChangeForLoss() #endif } -G4ParticleChangeForLoss::G4ParticleChangeForLoss( - const G4ParticleChangeForLoss &right): G4VParticleChange(right) +G4ParticleChangeForLoss:: +G4ParticleChangeForLoss(const G4ParticleChangeForLoss &right) + : G4VParticleChange(right) { if (verboseLevel>1) { G4cout << "G4ParticleChangeForLoss:: copy constructor is called " << G4endl; } currentTrack = right.currentTrack; proposedKinEnergy = right.proposedKinEnergy; + lowEnergyLimit = right.lowEnergyLimit; currentCharge = right.currentCharge; proposedMomentumDirection = right.proposedMomentumDirection; } @@ -114,7 +117,7 @@ void G4ParticleChangeForLoss::DumpInfo() const // use base-class DumpInfo G4VParticleChange::DumpInfo(); - G4cout.precision(3); + G4int oldprc = G4cout.precision(3); G4cout << " Charge (eplus) : " << std::setw(20) << currentCharge/eplus << G4endl; @@ -130,6 +133,7 @@ void G4ParticleChangeForLoss::DumpInfo() const G4cout << " Momentum Direct - z : " << std::setw(20) << proposedMomentumDirection.z() << G4endl; + G4cout.precision(oldprc); } G4bool G4ParticleChangeForLoss::CheckIt(const G4Track& aTrack) diff --git a/source/track/src/G4ParticleChangeForMSC.cc b/source/track/src/G4ParticleChangeForMSC.cc index 57ff7b7138..9c0e25dd7d 100644 --- a/source/track/src/G4ParticleChangeForMSC.cc +++ b/source/track/src/G4ParticleChangeForMSC.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChangeForMSC.cc,v 1.14 2009/04/02 02:22:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ParticleChangeForMSC.cc,v 1.15 2010/07/21 09:30:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -44,7 +44,8 @@ #include "G4DynamicParticle.hh" #include "G4ExceptionSeverity.hh" -G4ParticleChangeForMSC::G4ParticleChangeForMSC():G4VParticleChange() +G4ParticleChangeForMSC::G4ParticleChangeForMSC() + : G4VParticleChange() { #ifdef G4VERBOSE if (verboseLevel>2) { @@ -62,8 +63,9 @@ G4ParticleChangeForMSC::~G4ParticleChangeForMSC() #endif } -G4ParticleChangeForMSC::G4ParticleChangeForMSC( - const G4ParticleChangeForMSC &right): G4VParticleChange(right) +G4ParticleChangeForMSC:: +G4ParticleChangeForMSC(const G4ParticleChangeForMSC &right) + : G4VParticleChange(right) { if (verboseLevel>1) { G4cout << "G4ParticleChangeForMSC:: copy constructor is called " << G4endl; @@ -132,7 +134,7 @@ void G4ParticleChangeForMSC::DumpInfo() const // use base-class DumpInfo G4VParticleChange::DumpInfo(); - G4cout.precision(3); + G4int oldprc = G4cout.precision(3); G4cout << " Position - x (mm) : " << std::setw(20) << thePosition.x()/mm << G4endl; @@ -151,6 +153,7 @@ void G4ParticleChangeForMSC::DumpInfo() const G4cout << " Momentum Direct - z : " << std::setw(20) << theMomentumDirection.z() << G4endl; + G4cout.precision(oldprc); } diff --git a/source/track/src/G4ParticleChangeForTransport.cc b/source/track/src/G4ParticleChangeForTransport.cc index 6874591515..6e6403b3ba 100644 --- a/source/track/src/G4ParticleChangeForTransport.cc +++ b/source/track/src/G4ParticleChangeForTransport.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChangeForTransport.cc,v 1.19 2006/11/03 17:45:04 japost Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParticleChangeForTransport.cc,v 1.20 2010/07/21 09:30:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -46,53 +46,65 @@ #include "G4TrackFastVector.hh" #include "G4DynamicParticle.hh" -G4ParticleChangeForTransport::G4ParticleChangeForTransport():G4ParticleChange() +G4ParticleChangeForTransport::G4ParticleChangeForTransport() + : G4ParticleChange(), isMomentumChanged(false), theMaterialChange(0), + theMaterialCutsCoupleChange(0), theSensitiveDetectorChange(0) { if (verboseLevel>2) { - G4cout << "G4ParticleChangeForTransport::G4ParticleChangeForTransport() " << G4endl; + G4cout << "G4ParticleChangeForTransport::G4ParticleChangeForTransport() " + << G4endl; } } G4ParticleChangeForTransport::~G4ParticleChangeForTransport() { if (verboseLevel>2) { - G4cout << "G4ParticleChangeForTransport::~G4ParticleChangeForTransport() " << G4endl; + G4cout << "G4ParticleChangeForTransport::~G4ParticleChangeForTransport() " + << G4endl; } } - -G4ParticleChangeForTransport::G4ParticleChangeForTransport(const G4ParticleChangeForTransport &right):G4ParticleChange(right) +G4ParticleChangeForTransport:: +G4ParticleChangeForTransport(const G4ParticleChangeForTransport &r) + : G4ParticleChange(r) { if (verboseLevel>0) { - G4cout << "G4ParticleChangeForTransport:: copy constructor is called " << G4endl; + G4cout << "G4ParticleChangeForTransport:: copy constructor is called " + << G4endl; } - theTouchableHandle = right.theTouchableHandle; + theTouchableHandle = r.theTouchableHandle; + isMomentumChanged = r.isMomentumChanged; + theMaterialChange = r.theMaterialChange; + theMaterialCutsCoupleChange = r.theMaterialCutsCoupleChange; + theSensitiveDetectorChange = r.theSensitiveDetectorChange; } // assignemnt operator -G4ParticleChangeForTransport & G4ParticleChangeForTransport::operator=(const G4ParticleChangeForTransport &right) +G4ParticleChangeForTransport & +G4ParticleChangeForTransport::operator=(const G4ParticleChangeForTransport &r) { if (verboseLevel>1) { - G4cout << "G4ParticleChangeForTransport:: assignment operator is called " << G4endl; + G4cout << "G4ParticleChangeForTransport:: assignment operator is called " + << G4endl; } - if (this != &right) + if (this != &r) { - theListOfSecondaries = right.theListOfSecondaries; - theSizeOftheListOfSecondaries = right.theSizeOftheListOfSecondaries; - theNumberOfSecondaries = right.theNumberOfSecondaries; - theStatusChange = right.theStatusChange; - theTouchableHandle = right.theTouchableHandle; - theMaterialChange = right.theMaterialChange; - theMaterialCutsCoupleChange = right.theMaterialCutsCoupleChange; - theSensitiveDetectorChange = right.theSensitiveDetectorChange; - theMomentumDirectionChange = right.theMomentumDirectionChange; - thePolarizationChange = right.thePolarizationChange; - thePositionChange = right.thePositionChange; - theTimeChange = right.theTimeChange; - theEnergyChange = right.theEnergyChange; - theTrueStepLength = right.theTrueStepLength; - theLocalEnergyDeposit = right.theLocalEnergyDeposit; - theSteppingControlFlag = right.theSteppingControlFlag; + theListOfSecondaries = r.theListOfSecondaries; + theSizeOftheListOfSecondaries = r.theSizeOftheListOfSecondaries; + theNumberOfSecondaries = r.theNumberOfSecondaries; + theStatusChange = r.theStatusChange; + theTouchableHandle = r.theTouchableHandle; + theMaterialChange = r.theMaterialChange; + theMaterialCutsCoupleChange = r.theMaterialCutsCoupleChange; + theSensitiveDetectorChange = r.theSensitiveDetectorChange; + theMomentumDirectionChange = r.theMomentumDirectionChange; + thePolarizationChange = r.thePolarizationChange; + thePositionChange = r.thePositionChange; + theTimeChange = r.theTimeChange; + theEnergyChange = r.theEnergyChange; + theTrueStepLength = r.theTrueStepLength; + theLocalEnergyDeposit = r.theLocalEnergyDeposit; + theSteppingControlFlag = r.theSteppingControlFlag; } return *this; } @@ -105,7 +117,8 @@ G4Step* G4ParticleChangeForTransport::UpdateStepForAtRest(G4Step* pStep) { // Nothing happens for AtRestDoIt if (verboseLevel>0) { - G4cout << "G4ParticleChangeForTransport::UpdateStepForAtRest() is called" << G4endl; + G4cout << "G4ParticleChangeForTransport::UpdateStepForAtRest() is called" + << G4endl; G4cout << " Nothing happens for this method " << G4endl; } // Update the G4Step specific attributes @@ -235,16 +248,8 @@ void G4ParticleChangeForTransport::DumpInfo() const // use base-class DumpInfo G4ParticleChange::DumpInfo(); - G4cout.precision(3); + G4int oldprc = G4cout.precision(3); G4cout << " Touchable (pointer) : " - << std::setw(20) << theTouchableHandle() - << G4endl; + << std::setw(20) << theTouchableHandle() << G4endl; + G4cout.precision(oldprc); } - - - - - - - - diff --git a/source/track/src/G4Step.cc b/source/track/src/G4Step.cc index 7f0854ea32..7734c14bbe 100644 --- a/source/track/src/G4Step.cc +++ b/source/track/src/G4Step.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Step.cc,v 1.7 2006/10/30 09:50:13 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Step.cc,v 1.11 2010/10/30 07:49:08 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //--------------------------------------------------------------- @@ -53,6 +53,10 @@ //////////////// G4Step::G4Step() //////////////// + : fTotalEnergyDeposit(0.0),fNonIonizingEnergyDeposit(0.0), + fStepLength(0.), fpTrack(0), + fpSteppingControlFlag(NormalCondition),fSecondary(0), + fpVectorOfAuxiliaryPointsPointer(0) { fpPreStepPoint = new G4StepPoint(); fpPostStepPoint = new G4StepPoint(); @@ -68,3 +72,38 @@ G4Step::~G4Step() delete fpPreStepPoint; delete fpPostStepPoint; } + + +///////////////// +G4ThreeVector G4Step::GetDeltaMomentum() const +///////////////// +{ + static G4bool isFirstTime = true; + if (isFirstTime) { + isFirstTime = false; +#ifdef G4VERBOSE + G4Exception( "G4Step::GetDeltaMomentum()","Warning", JustWarning, + "This method is obsolete and will be removed soon"); +#endif + } + + return fpPostStepPoint->GetMomentum() + - fpPreStepPoint->GetMomentum(); +} + +///////////////// +G4double G4Step::GetDeltaEnergy() const + ///////////////// +{ + static G4bool isFirstTime = true; + if (isFirstTime) { + isFirstTime = false; +#ifdef G4VERBOSE + G4Exception( "G4Step::GetDeltaEnergy()","Warning", JustWarning, + "This method is obsolete and will be removed soon"); +#endif + } + + return fpPostStepPoint->GetKineticEnergy() + - fpPreStepPoint->GetKineticEnergy(); +} diff --git a/source/track/src/G4StepPoint.cc b/source/track/src/G4StepPoint.cc index 2ce9195f94..a439cce694 100644 --- a/source/track/src/G4StepPoint.cc +++ b/source/track/src/G4StepPoint.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4StepPoint.cc,v 1.13 2007/03/11 07:19:06 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4StepPoint.cc,v 1.15 2010/10/30 07:49:09 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //--------------------------------------------------------------- @@ -46,10 +46,14 @@ #include "G4StepPoint.hh" ////////////////////////// -G4StepPoint::G4StepPoint(): +G4StepPoint::G4StepPoint() ////////////////////////// - fpTouchable(0), fpMaterial(0), fpMaterialCutsCouple(0), fpSensitiveDetector(0), - fpProcessDefinedStep(0), fCharge(0.) + : fGlobalTime(0.), fLocalTime(0.), fProperTime(0.), + fKineticEnergy(0.), fVelocity(0.), fpTouchable(0), fpMaterial(0), + fpMaterialCutsCouple(0), fpSensitiveDetector(0), fSafety(0.), + fStepStatus(fUndefined),fpProcessDefinedStep(0), + fMass(0.), fCharge(0.), fMagneticMoment(0.), + fWeight(0.) { } diff --git a/source/track/src/G4Track.cc b/source/track/src/G4Track.cc index 711cc72385..1bb0b4685f 100644 --- a/source/track/src/G4Track.cc +++ b/source/track/src/G4Track.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Track.cc,v 1.32 2009/04/08 08:07:24 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Track.cc,v 1.35 2010/09/21 00:33:05 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // //--------------------------------------------------------------- @@ -40,9 +40,15 @@ // Remove massless check in GetVelocity 02 Apr. 09 H.Kurashige #include "G4Track.hh" +#include "G4ParticleTable.hh" G4Allocator aTrackAllocator; +G4PhysicsLogVector* G4Track::velTable = 0; + +const G4double G4Track::maxT = 100.0; +const G4double G4Track::minT = 0.0001; + /////////////////////////////////////////////////////////// G4Track::G4Track(G4DynamicParticle* apValueDynamicParticle, G4double aValueTime, @@ -59,8 +65,22 @@ G4Track::G4Track(G4DynamicParticle* apValueDynamicParticle, fpStep(0), fVtxKineticEnergy(0.0), fpLVAtVertex(0), fpCreatorProcess(0), - fpUserInformation(0) + fpUserInformation(0), + prev_mat(0), groupvel(0), + prev_velocity(0.0), prev_momentum(0.0), + is_OpticalPhoton(false) { + static G4bool isFirstTime = true; + static G4ParticleDefinition* fOpticalPhoton =0; + if ( isFirstTime ) { + isFirstTime = false; + // set fOpticalPhoton + fOpticalPhoton = G4ParticleTable::GetParticleTable()->FindParticle("opticalphoton"); + } + // check if the particle type is Optical Photon + is_OpticalPhoton = (fpDynamicParticle->GetDefinition() == fOpticalPhoton); + + if (velTable==0) PrepareVelocityTable(); } ////////////////// @@ -77,12 +97,30 @@ G4Track::G4Track() fpStep(0), fVtxKineticEnergy(0.0), fpLVAtVertex(0), fpCreatorProcess(0), - fpUserInformation(0) + fpUserInformation(0), + prev_mat(0), groupvel(0), + prev_velocity(0.0), prev_momentum(0.0), + is_OpticalPhoton(false) { } ////////////////// G4Track::G4Track(const G4Track& right) ////////////////// + : fCurrentStepNumber(0), + fGlobalTime(0), fLocalTime(0.), + fTrackLength(0.), + fParentID(0), fTrackID(0), + fpDynamicParticle(0), + fTrackStatus(fAlive), + fBelowThreshold(false), fGoodForTracking(false), + fStepLength(0.0), fWeight(1.0), + fpStep(0), + fVtxKineticEnergy(0.0), + fpLVAtVertex(0), fpCreatorProcess(0), + fpUserInformation(0), + prev_mat(0), groupvel(0), + prev_velocity(0.0), prev_momentum(0.0), + is_OpticalPhoton(false) { *this = right; } @@ -135,6 +173,14 @@ G4Track & G4Track::operator=(const G4Track &right) // CreatorProcess and UserInformation are not copied fpCreatorProcess = 0; fpUserInformation = 0; + + prev_mat = right.prev_mat; + groupvel = right.groupvel; + prev_velocity = right.prev_velocity; + prev_momentum = right.prev_momentum; + + is_OpticalPhoton = right.is_OpticalPhoton; + } return *this; } @@ -146,35 +192,17 @@ void G4Track::CopyTrackInfo(const G4Track& right) *this = right; } -#include "G4ParticleTable.hh" /////////////////// G4double G4Track::GetVelocity() const /////////////////// { - static G4bool isFirstTime = true; - static G4ParticleDefinition* fOpticalPhoton =0; - - static G4Material* prev_mat =0; - static G4MaterialPropertyVector* groupvel =0; - static G4double prev_velocity =0; - static G4double prev_momentum =0; - - - if ( isFirstTime ) { - isFirstTime = false; - // set fOpticalPhoton - fOpticalPhoton = G4ParticleTable::GetParticleTable()->FindParticle("opticalphoton"); - } - - G4double velocity ; + + G4double velocity = c_light ; G4double mass = fpDynamicParticle->GetMass(); - velocity = c_light ; - // special case for photons - if ( (fOpticalPhoton !=0) && - (fpDynamicParticle->GetDefinition()==fOpticalPhoton) ){ + if ( is_OpticalPhoton ) { G4Material* mat=0; G4bool update_groupvel = false; @@ -186,8 +214,8 @@ G4double G4Track::GetVelocity() const } } // check if previous step is in the same volume - // and get new GROUPVELOVITY table if necessary - if ((mat != prev_mat)||(groupvel==0)) { + // and get new GROUPVELOCITY table if necessary + if ((mat != 0) && ((mat != prev_mat)||(groupvel==0))) { groupvel = 0; if(mat->GetMaterialPropertiesTable() != 0) groupvel = mat->GetMaterialPropertiesTable()->GetProperty("GROUPVEL"); @@ -202,22 +230,47 @@ G4double G4Track::GetVelocity() const // check if momentum is same as in the previous step // and calculate group velocity if necessary - if( update_groupvel || (fpDynamicParticle->GetTotalMomentum() != prev_momentum) ) { + G4double current_momentum = fpDynamicParticle->GetTotalMomentum(); + if( update_groupvel || (current_momentum != prev_momentum) ) { velocity = - groupvel->GetProperty(fpDynamicParticle->GetTotalMomentum()); - prev_velocity = velocity; - prev_momentum = fpDynamicParticle->GetTotalMomentum(); + groupvel->GetProperty(current_momentum); + prev_velocity = velocity; + prev_momentum = current_momentum; } } } else { + // particles other than optical photon if (massGetKineticEnergy(); - velocity = c_light*std::sqrt(T*(T+2.*mass))/(T+mass); + G4double T = (fpDynamicParticle->GetKineticEnergy())/mass; + if (T > maxT) { + velocity = c_light; + } else if (TValue(T); + } } + } return velocity ; } + +/////////////////// +void G4Track::PrepareVelocityTable() +/////////////////// +{ + const G4int NBIN=300; + velTable = new G4PhysicsLogVector(minT, maxT, NBIN); + for (G4int i=0; i<=NBIN; i++){ + G4double T = velTable->Energy(i); + velTable->PutValue(i, c_light*std::sqrt(T*(T+2.))/(T+1.0) ); + } + return; +} diff --git a/source/track/src/G4VParticleChange.cc b/source/track/src/G4VParticleChange.cc index 2e2ecfc628..956fa5917a 100644 --- a/source/track/src/G4VParticleChange.cc +++ b/source/track/src/G4VParticleChange.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VParticleChange.cc,v 1.21 2009/04/02 02:22:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VParticleChange.cc,v 1.22 2010/07/21 09:30:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // -------------------------------------------------------------- @@ -52,6 +52,7 @@ G4VParticleChange::G4VParticleChange(): theSteppingControlFlag(NormalCondition), theLocalEnergyDeposit(0.0), theNonIonizingEnergyDeposit(0.0), + theTrueStepLength(0.0), theFirstStepInVolume(false), theLastStepInVolume(false), verboseLevel(1), @@ -162,7 +163,7 @@ void G4VParticleChange::DumpInfo() const { // Show header - G4cout.precision(3); + G4int olprc = G4cout.precision(3); G4cout << " -----------------------------------------------" << G4endl; G4cout << " G4ParticleChange Information " << std::setw(20) << G4endl; @@ -219,6 +220,7 @@ void G4VParticleChange::DumpInfo() const if (theLastStepInVolume) { G4cout << " Last Step In the voulme : " << G4endl; } + G4cout.precision(olprc); } G4bool G4VParticleChange::CheckIt(const G4Track& ) diff --git a/source/track/src/G4VUserTrackInformation.cc b/source/track/src/G4VUserTrackInformation.cc index 08e69efbf7..3b33ed7de9 100644 --- a/source/track/src/G4VUserTrackInformation.cc +++ b/source/track/src/G4VUserTrackInformation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VUserTrackInformation.cc,v 1.3 2009/10/19 09:37:00 kurasige Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VUserTrackInformation.cc,v 1.4 2010/03/09 02:49:44 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // -------------------------------------------------------------- @@ -33,12 +33,23 @@ #include "G4VUserTrackInformation.hh" G4VUserTrackInformation::G4VUserTrackInformation() - : fType("NONE") + : pType(0) {;} G4VUserTrackInformation::G4VUserTrackInformation(const G4String& infoType) - : fType(infoType) -{;} +{ + pType = new G4String(infoType) ; +} G4VUserTrackInformation::~G4VUserTrackInformation() -{;} +{ + if (pType!=0) delete pType; +} + +const G4String& G4VUserTrackInformation::GetType() const +{ + static const G4String NOTYPE="NONE"; + if(pType!=0) return *pType; + else return NOTYPE; +} + diff --git a/source/tracking/CMakeLists.txt b/source/tracking/CMakeLists.txt new file mode 100644 index 0000000000..cead27397a --- /dev/null +++ b/source/tracking/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4tracking +# Package: Geant4.src.G4tracking +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:11:07 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/tracking/GNUmakefile b/source/tracking/GNUmakefile index 11005c25db..1837cf5e9d 100644 --- a/source/tracking/GNUmakefile +++ b/source/tracking/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.5 2004/06/11 14:30:16 gcosmo Exp $ +# $Id: GNUmakefile,v 1.7 2010/10/27 07:57:21 gcosmo Exp $ # ---------------------------------------------------------- # GNUmakefile for tracking library. Katsuya Amako, 5/9/95. # ---------------------------------------------------------- diff --git a/source/tracking/History b/source/tracking/History index e812306c08..d18d992ba3 100644 --- a/source/tracking/History +++ b/source/tracking/History @@ -1,5 +1,5 @@ -$Id: History,v 1.137 2009/11/24 10:04:14 perl Exp $ -$Name: geant4-09-03 $ +$Id: History,v 1.147 2010/11/18 17:24:22 allison Exp $ +$Name: geant4-09-04 $ ------------------------------------------------------------------- ========================================================= @@ -18,6 +18,63 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +18 November 2010 John Allison (tracking-V09-03-09) +- G4Trajectory, G4SmoothTrajectory: + o Reverted to original interface: DrawTrajectory(G4int i_mode = 0). + See 16 June 2010. It seems G4Trajectory, G4SmoothTrajectory were + not done. + +27 October 2010 Gabriele Cosmo (tracking-V09-03-08) +- Restored DLL setup as originally. Withdrawn changes in last tag. + +19 October 2010 Gabriele Cosmo (tracking-V09-03-07) +- Replaced G4TRACKING_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported + symbols. + +6 October 2010 Hisaya Kurashige (tracking-V09-03-06) +- Modified G4SteppingManager::GetSecondary() to give const G4TrackVector* + (co-work with track-V09-03-05) + +19 July 2010 Gabriele Cosmo (tracking-V09-03-05) +- Added dummy initialisation to members in constructors in classes: + G4AdjointSteppingAction, G4UserSteppingAction, G4UserTrackingAction + and G4VSteppingVerbose. +- G4SteppingManager: and use canonical form for G4Exception. + Added protection for possible negative index in method ApplyProductionCut() + and some printout formatting. +- Added redundant return statement after exception in G4SteppingManager2. +- Fixed restoring of output settings in G4SteppingVerbose. +- Use 0 instead of NULL where applicable. + +16 June 2010 John Allison (tracking-V09-03-04) +- G4VTrajectory, G4Trajectory, G4SmoothTrajectory: + o Reverted to original interface: DrawTrajectory(G4int i_mode = 0). + This to prevent compiler warnings about hiding. We will + re-instate DrawTrajectory() at a future major release. + o Deprecation message is printed via G4Exception only once, and only + if a user invokes with a non-zero value of i_mode. + +29 May 2010 John Allison (tracking-V09-03-03) +- G4VTrajectory: + o Added virtual void DrawTrajectory() in preparation for i_mode migration. +- G4Trajectory and G4SmoothTrajectory: followed the above. + o (G4RichTrajectory inherits G4Trajectory so no need to change.) + +28 May 2010 John Allison (tracking-V09-03-02) +- G4VTrajectory.cc: Added explicit once-only i_mode deprecation warning. + +13 May 2010 John Allison (tracking-V09-03-01 - needs greps-V09-03-00) +- G4VTrajectory.cc: Added a statement to set IsDefaultDrawTrajectory, + to assist deprecation of i-mode trajectory drawing parameter. After + 10.0, it can be removed. + +22 Feb 2010 John Allison (tracking-V09-03-00) +- G4RichTrajectory: Fixed bug in MergeTrajectory (should not invoke + G4Trajectory::MergeTrajectory). +- G4RichTrajectory and G4RichTrajectoryPoint: + o Eliminated spaces in G4AttValue values. + o G4AttValue values are "None" for attributes derived from zero pointers. + 24 Nov 2009 Joseph Perl (tracking-V09-02-07) - G4RichTrajectory: add additional attributes - G4RichTrajectoryPoint: add additional attributes diff --git a/source/tracking/include/G4RichTrajectory.hh b/source/tracking/include/G4RichTrajectory.hh index d7a66c2961..8a2de74bea 100644 --- a/source/tracking/include/G4RichTrajectory.hh +++ b/source/tracking/include/G4RichTrajectory.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RichTrajectory.hh,v 1.6 2009/11/24 10:04:14 perl Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4RichTrajectory.hh,v 1.8 2010/10/27 07:57:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4RichTrajectoryPoint.hh b/source/tracking/include/G4RichTrajectoryPoint.hh index 8eee49544b..d807371ec6 100644 --- a/source/tracking/include/G4RichTrajectoryPoint.hh +++ b/source/tracking/include/G4RichTrajectoryPoint.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RichTrajectoryPoint.hh,v 1.7 2009/11/24 10:04:14 perl Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4RichTrajectoryPoint.hh,v 1.9 2010/10/27 07:57:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4SmoothTrajectory.hh b/source/tracking/include/G4SmoothTrajectory.hh index a43ad982cc..1c2653d165 100644 --- a/source/tracking/include/G4SmoothTrajectory.hh +++ b/source/tracking/include/G4SmoothTrajectory.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SmoothTrajectory.hh,v 1.12 2009/11/12 09:09:56 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4SmoothTrajectory.hh,v 1.17 2010/11/18 17:24:22 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // @@ -101,7 +101,8 @@ public: // with description // Other member functions virtual void ShowTrajectory(std::ostream& os=G4cout) const; - virtual void DrawTrajectory(G4int i_mode=0) const; + //virtual void DrawTrajectory() const; + virtual void DrawTrajectory(G4int i_mode = 0) const; virtual void AppendStep(const G4Step* aStep); virtual int GetPointEntries() const { return positionRecord->size(); } virtual G4VTrajectoryPoint* GetPoint(G4int i) const diff --git a/source/tracking/include/G4SmoothTrajectoryPoint.hh b/source/tracking/include/G4SmoothTrajectoryPoint.hh index fcda602d35..3d38b0c7d8 100644 --- a/source/tracking/include/G4SmoothTrajectoryPoint.hh +++ b/source/tracking/include/G4SmoothTrajectoryPoint.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SmoothTrajectoryPoint.hh,v 1.13 2006/06/29 21:15:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SmoothTrajectoryPoint.hh,v 1.15 2010/10/27 07:57:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4SteppingManager.hh b/source/tracking/include/G4SteppingManager.hh index 1f180be022..8c08626d3b 100644 --- a/source/tracking/include/G4SteppingManager.hh +++ b/source/tracking/include/G4SteppingManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SteppingManager.hh,v 1.31 2007/10/09 03:51:06 tsasaki Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SteppingManager.hh,v 1.32 2010/10/06 13:17:15 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // @@ -112,7 +112,7 @@ public: //without description // Get/Set functions - G4TrackVector* GetSecondary() const; + const G4TrackVector* GetSecondary() const; void SetUserAction(G4UserSteppingAction* apAction); G4Track* GetTrack() const; void SetVerboseLevel(G4int vLevel); @@ -458,7 +458,7 @@ public: //without description return fGPILSelection; } - inline G4TrackVector* G4SteppingManager::GetSecondary() const { + inline const G4TrackVector* G4SteppingManager::GetSecondary() const { return fStep->GetSecondary(); } diff --git a/source/tracking/include/G4TrackingManager.hh b/source/tracking/include/G4TrackingManager.hh index 63147c2df1..3be0d962c0 100644 --- a/source/tracking/include/G4TrackingManager.hh +++ b/source/tracking/include/G4TrackingManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TrackingManager.hh,v 1.21 2006/11/14 10:58:47 tsasaki Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrackingManager.hh,v 1.23 2010/10/06 13:17:15 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // @@ -180,19 +180,19 @@ public: // without description } inline G4TrackVector* G4TrackingManager::GimmeSecondaries() const { - return fpSteppingManager->GetSecondary(); + return fpSteppingManager->GetfSecondary(); } inline void G4TrackingManager::SetUserAction(G4UserTrackingAction* apAction){ fpUserTrackingAction = apAction; - if(apAction != NULL){ + if(apAction != 0){ apAction->SetTrackingManagerPointer(this); } } inline void G4TrackingManager::SetUserAction(G4UserSteppingAction* apAction){ fpSteppingManager->SetUserAction(apAction); - if(apAction != NULL){ + if(apAction != 0){ apAction->SetSteppingManagerPointer(fpSteppingManager); } } diff --git a/source/tracking/include/G4Trajectory.hh b/source/tracking/include/G4Trajectory.hh index 1cc245c254..1936b1332e 100644 --- a/source/tracking/include/G4Trajectory.hh +++ b/source/tracking/include/G4Trajectory.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Trajectory.hh,v 1.25 2009/11/12 09:09:56 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Trajectory.hh,v 1.30 2010/11/18 17:24:22 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // @@ -107,7 +107,8 @@ public: // with description // Other member functions virtual void ShowTrajectory(std::ostream& os=G4cout) const; - virtual void DrawTrajectory(G4int i_mode=0) const; + //virtual void DrawTrajectory() const; + virtual void DrawTrajectory(G4int i_mode = 0) const; virtual void AppendStep(const G4Step* aStep); virtual int GetPointEntries() const { return positionRecord->size(); } virtual G4VTrajectoryPoint* GetPoint(G4int i) const diff --git a/source/tracking/include/G4TrajectoryPoint.hh b/source/tracking/include/G4TrajectoryPoint.hh index c7483cd1fc..61d3752135 100644 --- a/source/tracking/include/G4TrajectoryPoint.hh +++ b/source/tracking/include/G4TrajectoryPoint.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TrajectoryPoint.hh,v 1.17 2006/06/29 21:15:43 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryPoint.hh,v 1.19 2010/10/27 07:57:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4VTrajectory.hh b/source/tracking/include/G4VTrajectory.hh index 6ce8cf8689..1553f2807f 100644 --- a/source/tracking/include/G4VTrajectory.hh +++ b/source/tracking/include/G4VTrajectory.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VTrajectory.hh,v 1.17 2006/06/29 21:15:51 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VTrajectory.hh,v 1.19 2010/06/16 20:03:00 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // //--------------------------------------------------------------- // @@ -89,7 +89,9 @@ class G4VTrajectory // may be used or may be overridden in the concrete class. Note: // the user needs to follow with new-line or end-of-string, // depending on the nature of os. - virtual void DrawTrajectory(G4int i_mode=0) const; + virtual void DrawTrajectory(G4int i_mode =0) const; + //virtual void DrawTrajectory() const; + //virtual void DrawTrajectory(G4int i_mode) const; // Draw the trajectory. A default implementation in this base // class may be used or may be overridden in the concrete class. virtual const std::map* GetAttDefs() const diff --git a/source/tracking/sources.cmake b/source/tracking/sources.cmake new file mode 100644 index 0000000000..1603159904 --- /dev/null +++ b/source/tracking/sources.cmake @@ -0,0 +1,112 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4tracking +# Package: Geant4.src.G4tracking +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:11:16 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4tracking + HEADERS + G4AdjointCrossSurfChecker.hh + G4AdjointSteppingAction.hh + G4RichTrajectory.hh + G4RichTrajectoryPoint.hh + G4SmoothTrajectory.hh + G4SmoothTrajectoryPoint.hh + G4SteppingManager.hh + G4SteppingVerbose.hh + G4TrackingManager.hh + G4TrackingMessenger.hh + G4Trajectory.hh + G4TrajectoryPoint.hh + G4UserSteppingAction.hh + G4UserTrackingAction.hh + G4VSteppingVerbose.hh + G4VTrajectory.hh + G4VTrajectoryPoint.hh + SOURCES + G4AdjointCrossSurfChecker.cc + G4AdjointSteppingAction.cc + G4RichTrajectory.cc + G4RichTrajectoryPoint.cc + G4SmoothTrajectory.cc + G4SmoothTrajectoryPoint.cc + G4SteppingManager.cc + G4SteppingManager2.cc + G4SteppingVerbose.cc + G4TrackingManager.cc + G4TrackingMessenger.cc + G4Trajectory.cc + G4TrajectoryPoint.cc + G4UserSteppingAction.cc + G4UserTrackingAction.cc + G4VSteppingVerbose.cc + G4VTrajectory.cc + G4VTrajectoryPoint.cc + GRANULAR_DEPENDENCIES + G4csg + G4cuts + G4detector + G4emutils + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4materials + G4navigation + G4partman + G4procman + G4track + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4particles + G4processes + G4track + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/tracking/src/G4AdjointSteppingAction.cc b/source/tracking/src/G4AdjointSteppingAction.cc index 06bfc2a116..ba06c8d072 100644 --- a/source/tracking/src/G4AdjointSteppingAction.cc +++ b/source/tracking/src/G4AdjointSteppingAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AdjointSteppingAction.cc,v 1.3 2009/11/20 14:24:34 ldesorgh Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4AdjointSteppingAction.cc,v 1.4 2010/07/19 13:41:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // ///////////////////////////////////////////////////////////////////////////// // Class Name: G4AdjointSteppingAction @@ -42,10 +42,11 @@ //////////////////////////////////////////////////////////////////////////////////////////////// // G4AdjointSteppingAction::G4AdjointSteppingAction() + : ext_sourceEMax(0.), start_event(false), + did_adj_part_reach_ext_source(false), last_ekin(0.), last_weight(0.), + prim_weight(0.), last_part_def(0), theUserAdjointSteppingAction(0) { theG4AdjointCrossSurfChecker = G4AdjointCrossSurfChecker::GetInstance(); - did_adj_part_reach_ext_source =false; - theUserAdjointSteppingAction =0; } //////////////////////////////////////////////////////////////////////////////////////////////// // diff --git a/source/tracking/src/G4RichTrajectory.cc b/source/tracking/src/G4RichTrajectory.cc index 7c251938df..678ec046d6 100644 --- a/source/tracking/src/G4RichTrajectory.cc +++ b/source/tracking/src/G4RichTrajectory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RichTrajectory.cc,v 1.8 2009/11/24 10:04:14 perl Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4RichTrajectory.cc,v 1.9 2010/02/22 21:26:56 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // --------------------------------------------------------------- // @@ -144,8 +144,6 @@ void G4RichTrajectory::MergeTrajectory(G4VTrajectory* secondTrajectory) { if(!secondTrajectory) return; - G4Trajectory::MergeTrajectory(secondTrajectory); - G4RichTrajectory* seco = (G4RichTrajectory*)secondTrajectory; G4int ent = seco->GetPointEntries(); for(G4int i=1;i* G4RichTrajectory::CreateAttValues() const G4ProcessType type = fpCreatorProcess->GetProcessType(); values->push_back(G4AttValue("CPTN",G4VProcess::GetProcessTypeName(type),"")); } else { - values->push_back(G4AttValue("CPN","User Defined","")); - values->push_back(G4AttValue("CPTN","User","")); + values->push_back(G4AttValue("CPN","None","")); + values->push_back(G4AttValue("CPTN","None","")); } if (fpFinalVolume && fpFinalVolume->GetVolume()) { @@ -265,8 +263,8 @@ std::vector* G4RichTrajectory::CreateAttValues() const G4ProcessType type = fpEndingProcess->GetProcessType(); values->push_back(G4AttValue("EPTN",G4VProcess::GetProcessTypeName(type),"")); } else { - values->push_back(G4AttValue("EPN","User Defined","")); - values->push_back(G4AttValue("EPTN","User","")); + values->push_back(G4AttValue("EPN","None","")); + values->push_back(G4AttValue("EPTN","None","")); } values->push_back diff --git a/source/tracking/src/G4RichTrajectoryPoint.cc b/source/tracking/src/G4RichTrajectoryPoint.cc index 566ae61332..8f048a6055 100644 --- a/source/tracking/src/G4RichTrajectoryPoint.cc +++ b/source/tracking/src/G4RichTrajectoryPoint.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RichTrajectoryPoint.cc,v 1.5 2009/11/24 10:04:14 perl Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4RichTrajectoryPoint.cc,v 1.6 2010/02/22 21:26:56 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // --------------------------------------------------------------- @@ -235,9 +235,8 @@ std::vector* G4RichTrajectoryPoint::CreateAttValues() const ("PTDS",G4VProcess::GetProcessTypeName(fpProcess->GetProcessType()), "")); } else { - values->push_back - (G4AttValue("PDS","User Defined Limit in Current Volume","")); - values->push_back(G4AttValue("PTDS","User","")); + values->push_back(G4AttValue("PDS","None","")); + values->push_back(G4AttValue("PTDS","None","")); } values->push_back diff --git a/source/tracking/src/G4SmoothTrajectory.cc b/source/tracking/src/G4SmoothTrajectory.cc index 9116bb00be..04a4701989 100644 --- a/source/tracking/src/G4SmoothTrajectory.cc +++ b/source/tracking/src/G4SmoothTrajectory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SmoothTrajectory.cc,v 1.19 2009/11/12 09:09:56 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4SmoothTrajectory.cc,v 1.22 2010/07/19 13:41:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // --------------------------------------------------------------- @@ -78,7 +78,7 @@ G4SmoothTrajectory::G4SmoothTrajectory(const G4Track* aTrack) // The first point has no auxiliary points, so set the auxiliary // points vector to NULL (jacek 31/10/2002) - positionRecord->push_back(new G4SmoothTrajectoryPoint(aTrack->GetPosition(), NULL)); + positionRecord->push_back(new G4SmoothTrajectoryPoint(aTrack->GetPosition(), 0)); } G4SmoothTrajectory::G4SmoothTrajectory(G4SmoothTrajectory & right):G4VTrajectory() @@ -119,6 +119,15 @@ void G4SmoothTrajectory::ShowTrajectory(std::ostream& os) const // ... or override with your own code here. } +/*** +void G4SmoothTrajectory::DrawTrajectory() const +{ + // Invoke the default implementation in G4VTrajectory... + G4VTrajectory::DrawTrajectory(); + // ... or override with your own code here. +} +***/ + void G4SmoothTrajectory::DrawTrajectory(G4int i_mode) const { // Invoke the default implementation in G4VTrajectory... diff --git a/source/tracking/src/G4SteppingManager.cc b/source/tracking/src/G4SteppingManager.cc index 4cc48b996a..267e3f130f 100644 --- a/source/tracking/src/G4SteppingManager.cc +++ b/source/tracking/src/G4SteppingManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SteppingManager.cc,v 1.50 2009/02/27 08:09:50 tsasaki Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4SteppingManager.cc,v 1.51 2010/07/19 13:41:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // @@ -56,7 +56,7 @@ ////////////////////////////////////// G4SteppingManager::G4SteppingManager() ////////////////////////////////////// - : fUserSteppingAction(NULL), verboseLevel(0) + : fUserSteppingAction(0), verboseLevel(0) { // Construct simple 'has-a' related objects @@ -240,7 +240,7 @@ G4StepStatus G4SteppingManager::Stepping() } // User intervention process. - if( fUserSteppingAction != NULL ) { + if( fUserSteppingAction != 0 ) { fUserSteppingAction->UserSteppingAction(fStep); } G4UserSteppingAction* regionalAction @@ -261,7 +261,7 @@ void G4SteppingManager::SetInitialStep(G4Track* valueTrack) // Set up several local variables. PreStepPointIsGeom = false; FirstStep = true; - fParticleChange = NULL; + fParticleChange = 0; fPreviousStepSize = 0.; fStepStatus = fUndefined; @@ -334,15 +334,17 @@ void G4SteppingManager::SetInitialStep(G4Track* valueTrack) // If the track is a primary, stop processing if(fTrack->GetParentID()==0) { - G4cerr << "Primary particle starting at " - << fTrack->GetPosition() - << " is outside of the world volume." << G4endl; - G4Exception("G4SteppingManager::Primary vertex outside of the world"); + G4cerr << "ERROR - G4SteppingManager::SetInitialStep()" << G4endl + << " Primary particle starting at - " + << fTrack->GetPosition() + << " - is outside of the world volume." << G4endl; + G4Exception("G4SteppingManager::SetInitialStep()", "Tracking0010", + FatalException, "Primary vertex outside of the world!"); } fTrack->SetTrackStatus( fStopAndKill ); - G4cerr << "G4SteppingManager::SetInitialStep(): warning: " - << "initial track position is outside world! " + G4cout << "WARNING - G4SteppingManager::SetInitialStep()" << G4endl + << " Initial track position is outside world! - " << fTrack->GetPosition() << G4endl; } else { @@ -351,7 +353,7 @@ void G4SteppingManager::SetInitialStep(G4Track* valueTrack) } #ifdef G4VERBOSE // !!!!! Verbose - if(verboseLevel>0) fVerbose->TrackingStarted(); + if(verboseLevel>0) fVerbose->TrackingStarted(); #endif } diff --git a/source/tracking/src/G4SteppingManager2.cc b/source/tracking/src/G4SteppingManager2.cc index 703a1cd840..1554326f86 100644 --- a/source/tracking/src/G4SteppingManager2.cc +++ b/source/tracking/src/G4SteppingManager2.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SteppingManager2.cc,v 1.37 2009/09/25 00:23:41 gum Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4SteppingManager2.cc,v 1.38 2010/07/19 13:41:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // @@ -49,7 +49,6 @@ #include "G4GPILSelection.hh" #include "G4SteppingControl.hh" #include "G4TransportationManager.hh" -//#include "G4UserLimits.hh" #include "G4SteppingManager.hh" #include "G4LossTableManager.hh" @@ -58,16 +57,20 @@ void G4SteppingManager::GetProcessNumber() ///////////////////////////////////////////////// { #ifdef debug - G4cout<<"G4SteppingManager::GetProcessNumber: is called track="<GetAtRestProcessVector(typeDoIt); fAtRestGetPhysIntVector = pm->GetAtRestProcessVector(typeGPIL); #ifdef debug - G4cout<<"G4SteppingManager::GetProcessNumber: #ofAtRest="<GetPostStepPoint() -// ->SetProcessDefinedStep(NULL); +// ->SetProcessDefinedStep(0); // // Take note that the process pointer is 'NULL' if the Step // // is defined by the user defined limit. // } @@ -154,7 +164,7 @@ void G4SteppingManager::GetProcessNumber() for(size_t np=0; np < MAXofPostStepLoops; np++){ fCurrentProcess = (*fPostStepGetPhysIntVector)(np); - if (fCurrentProcess== NULL) { + if (fCurrentProcess== 0) { (*fSelectedPostStepDoItVector)[np] = InActivated; continue; } // NULL means the process is inactivated by a user on fly. @@ -224,15 +234,14 @@ void G4SteppingManager::GetProcessNumber() for(size_t kp=0; kp < MAXofAlongStepLoops; kp++){ fCurrentProcess = (*fAlongStepGetPhysIntVector)[kp]; - if (fCurrentProcess== NULL) continue; + if (fCurrentProcess== 0) continue; // NULL means the process is inactivated by a user on fly. physIntLength = fCurrentProcess-> - AlongStepGPIL( *fTrack, - fPreviousStepSize, - PhysicalStep, - safetyProposedToAndByProcess, - &fGPILSelection ); + AlongStepGPIL( *fTrack, fPreviousStepSize, + PhysicalStep, + safetyProposedToAndByProcess, + &fGPILSelection ); #ifdef G4VERBOSE // !!!!! Verbose if(verboseLevel>0) fVerbose->DPSLAlongStep(); @@ -286,16 +295,14 @@ void G4SteppingManager::InvokeAtRestDoItProcs() unsigned int NofInactiveProc=0; for( size_t ri=0 ; ri < MAXofAtRestLoops ; ri++ ){ fCurrentProcess = (*fAtRestGetPhysIntVector)[ri]; - if (fCurrentProcess== NULL) { + if (fCurrentProcess== 0) { (*fSelectedAtRestDoItVector)[ri] = InActivated; NofInactiveProc++; continue; } // NULL means the process is inactivated by a user on fly. lifeTime = - fCurrentProcess->AtRestGPIL( - *fTrack, - &fCondition ); + fCurrentProcess->AtRestGPIL( *fTrack, &fCondition ); if(fCondition==Forced && fCurrentProcess){ (*fSelectedAtRestDoItVector)[ri] = Forced; @@ -304,17 +311,19 @@ void G4SteppingManager::InvokeAtRestDoItProcs() (*fSelectedAtRestDoItVector)[ri] = InActivated; if(lifeTime < shortestLifeTime ){ shortestLifeTime = lifeTime; - fAtRestDoItProcTriggered = G4int(int(ri)); + fAtRestDoItProcTriggered = G4int(ri); (*fSelectedAtRestDoItVector)[fAtRestDoItProcTriggered] = NotForced; } } } -// at least one process is necessary to destory the particle +// at least one process is necessary to destroy the particle // exit with warning if(NofInactiveProc==MAXofAtRestLoops){ - // G4Exception("G4SteppingManager::InvokeAtRestDoItProcs: No AtRestDoIt process is active. " ); - G4cerr << "G4SteppingManager::InvokeAtRestDoItProcs: No AtRestDoIt process is active. " << G4endl; + G4cerr << "ERROR - G4SteppingManager::InvokeAtRestDoItProcs()" << G4endl + << " No AtRestDoIt process is active!" << G4endl; + // G4Exception("G4SteppingManager::InvokeAtRestDoItProcs", "Tracking0013", + // FatalException, "No AtRestDoIt process is active." ); } fStep->SetStepLength( 0. ); //the particle has stopped @@ -400,7 +409,7 @@ void G4SteppingManager::InvokeAlongStepDoItProcs() // Invoke the all active continuous processes for( size_t ci=0 ; ciGetDefinition()); + if (tPtclIdx<0) { return; } G4ProductionCutsTable* tCutsTbl = G4ProductionCutsTable::GetProductionCutsTable(); G4int tCoupleIdx diff --git a/source/tracking/src/G4SteppingVerbose.cc b/source/tracking/src/G4SteppingVerbose.cc index 2f6f43dec9..4e73a32352 100644 --- a/source/tracking/src/G4SteppingVerbose.cc +++ b/source/tracking/src/G4SteppingVerbose.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SteppingVerbose.cc,v 1.23 2006/07/14 14:13:57 tsasaki Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SteppingVerbose.cc,v 1.24 2010/07/19 13:41:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // @@ -148,7 +148,7 @@ void G4SteppingVerbose::AlongStepDoItAllDone() for(size_t ci=0; ciGetProcessName() << G4endl; } } @@ -291,7 +291,7 @@ void G4SteppingVerbose::StepInfo() } else { G4cout << std::setw(11) << "OutOfWorld" << " "; } - if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != NULL){ + if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != 0){ G4cout << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName(); } else { G4cout << "User Limit"; @@ -709,7 +709,7 @@ void G4SteppingVerbose::VerboseTrack() G4cout << " Creator Process : " << std::setw(20); - if( fTrack->GetCreatorProcess() == NULL){ + if( fTrack->GetCreatorProcess() == 0){ G4cout << " Event Generator" << G4endl; } else { G4cout << fTrack->GetCreatorProcess()->GetProcessName() << G4endl; @@ -738,11 +738,12 @@ void G4SteppingVerbose::ShowStep() const { if(Silent==1){ return; } G4String volName; + G4int oldprc; // Show header G4cout << G4endl; G4cout << " ++G4Step Information " << G4endl; - G4cout.precision(16); + oldprc = G4cout.precision(16); // Show G4Step specific information G4cout << " Address of G4Track : " << fStep->GetTrack() << G4endl; @@ -856,16 +857,17 @@ void G4SteppingVerbose::ShowStep() const G4cout << G4endl; G4cout << " Process defined Step: " ; - if( fStep->GetPreStepPoint()->GetProcessDefinedStep() == NULL ){ + if( fStep->GetPreStepPoint()->GetProcessDefinedStep() == 0 ){ G4cout << std::setw(20) << "Undefined"; } else { G4cout << std::setw(20) << fStep->GetPreStepPoint()->GetProcessDefinedStep()->GetProcessName(); } - if( fStep->GetPostStepPoint()->GetProcessDefinedStep() == NULL){ + if( fStep->GetPostStepPoint()->GetProcessDefinedStep() == 0){ G4cout << std::setw(20) << "Undefined"; } else { G4cout << std::setw(20) << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName(); } + G4cout.precision(oldprc); G4cout << G4endl; G4cout << " -------------------------------------------------------" diff --git a/source/tracking/src/G4TrackingManager.cc b/source/tracking/src/G4TrackingManager.cc index 0d715184cf..019689f4af 100644 --- a/source/tracking/src/G4TrackingManager.cc +++ b/source/tracking/src/G4TrackingManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TrackingManager.cc,v 1.22 2006/11/14 10:58:47 tsasaki Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrackingManager.cc,v 1.23 2010/07/19 13:41:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // @@ -48,7 +48,7 @@ class G4VSteppingVerbose; ////////////////////////////////////// G4TrackingManager::G4TrackingManager() ////////////////////////////////////// - : fpUserTrackingAction(NULL), fpTrajectory(NULL), + : fpUserTrackingAction(0), fpTrajectory(0), StoreTrajectory(0), verboseLevel(0), EventIsAborted(false) { fpSteppingManager = new G4SteppingManager(); @@ -91,7 +91,7 @@ void G4TrackingManager::ProcessOneTrack(G4Track* apValueG4Track) // Pre tracking user intervention process. fpTrajectory = 0; - if( fpUserTrackingAction != NULL ) { + if( fpUserTrackingAction != 0 ) { fpUserTrackingAction->PreUserTrackingAction(fpTrack); } #ifdef G4_STORE_TRAJECTORY @@ -136,7 +136,7 @@ void G4TrackingManager::ProcessOneTrack(G4Track* apValueG4Track) fpTrack->GetDefinition()->GetProcessManager()->EndTracking(); // Post tracking user intervention process. - if( fpUserTrackingAction != NULL ) { + if( fpUserTrackingAction != 0 ) { fpUserTrackingAction->PostUserTrackingAction(fpTrack); } @@ -153,7 +153,9 @@ void G4TrackingManager::ProcessOneTrack(G4Track* apValueG4Track) void G4TrackingManager::SetTrajectory(G4VTrajectory* aTrajectory) { #ifndef G4_STORE_TRAJECTORY - G4Exception("G4TrackingManager::SetTrajectory is invoked without G4_STORE_TRAJECTORY compilor option"); + G4Exception("G4TrackingManager::SetTrajectory()", + "Tracking0015", FatalException, + "Invoked without G4_STORE_TRAJECTORY option set!"); #endif fpTrajectory = aTrajectory; } diff --git a/source/tracking/src/G4Trajectory.cc b/source/tracking/src/G4Trajectory.cc index 56c22d918f..d0db4b2b58 100644 --- a/source/tracking/src/G4Trajectory.cc +++ b/source/tracking/src/G4Trajectory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Trajectory.cc,v 1.33 2009/11/12 09:09:56 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4Trajectory.cc,v 1.35 2010/06/16 20:03:00 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // --------------------------------------------------------------- // @@ -114,6 +114,15 @@ void G4Trajectory::ShowTrajectory(std::ostream& os) const // ... or override with your own code here. } +/*** +void G4Trajectory::DrawTrajectory() const +{ + // Invoke the default implementation in G4VTrajectory... + G4VTrajectory::DrawTrajectory(); + // ... or override with your own code here. +} +***/ + void G4Trajectory::DrawTrajectory(G4int i_mode) const { // Invoke the default implementation in G4VTrajectory... diff --git a/source/tracking/src/G4UserSteppingAction.cc b/source/tracking/src/G4UserSteppingAction.cc index 86f6db50e8..b1fa0c1f97 100644 --- a/source/tracking/src/G4UserSteppingAction.cc +++ b/source/tracking/src/G4UserSteppingAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UserSteppingAction.cc,v 1.10 2006/06/29 21:16:17 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UserSteppingAction.cc,v 1.11 2010/07/19 13:41:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------- // @@ -49,18 +49,19 @@ ///////////////////////////////////////////////////////// G4UserSteppingAction::G4UserSteppingAction() ///////////////////////////////////////////////////////// + : fpSteppingManager(0) { if(!(G4ParticleTable::GetParticleTable()->GetReadiness())) { G4String msg; msg = " You are instantiating G4UserSteppingAction BEFORE your\n"; msg += "G4VUserPhysicsList is instantiated and assigned to G4RunManager.\n"; - msg += " Such an instantiation is prohibited by Geant4 version 8.0. To fix this problem,\n"; + msg += " Such an instantiation is prohibited since Geant4 version 8.0. To fix this problem,\n"; msg += "please make sure that your main() instantiates G4VUserPhysicsList AND\n"; msg += "set it to G4RunManager before instantiating other user action classes\n"; msg += "such as G4UserSteppingAction."; G4Exception("G4UserSteppingAction::G4UserSteppingAction()", - "Tracking0002",FatalException,msg); + "Tracking0002", FatalException, msg); } } @@ -76,7 +77,3 @@ void G4UserSteppingAction:: { fpSteppingManager = pValue; } - - - - diff --git a/source/tracking/src/G4UserTrackingAction.cc b/source/tracking/src/G4UserTrackingAction.cc index b64ce13b13..b791037837 100644 --- a/source/tracking/src/G4UserTrackingAction.cc +++ b/source/tracking/src/G4UserTrackingAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UserTrackingAction.cc,v 1.10 2006/06/29 21:16:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4UserTrackingAction.cc,v 1.11 2010/07/19 13:41:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------- // @@ -45,18 +45,19 @@ ///////////////////////////////////////////////////////// G4UserTrackingAction::G4UserTrackingAction() ///////////////////////////////////////////////////////// + : fpTrackingManager(0) { if(!(G4ParticleTable::GetParticleTable()->GetReadiness())) { G4String msg; msg = " You are instantiating G4UserTrackingAction BEFORE your\n"; msg += "G4VUserPhysicsList is instantiated and assigned to G4RunManager.\n"; - msg += " Such an instantiation is prohibited by Geant4 version 8.0. To fix this problem,\n"; + msg += " Such an instantiation is prohibited since Geant4 version 8.0. To fix this problem,\n"; msg += "please make sure that your main() instantiates G4VUserPhysicsList AND\n"; msg += "set it to G4RunManager before instantiating other user action classes\n"; msg += "such as G4UserTrackingAction."; G4Exception("G4UserTrackingAction::G4UserTrackingAction()", - "Tracking0001",FatalException,msg); + "Tracking0001", FatalException, msg); } } @@ -72,12 +73,3 @@ void G4UserTrackingAction:: { fpTrackingManager = pValue; } - - - - - - - - - diff --git a/source/tracking/src/G4VSteppingVerbose.cc b/source/tracking/src/G4VSteppingVerbose.cc index 29a3b66370..59220f0b09 100644 --- a/source/tracking/src/G4VSteppingVerbose.cc +++ b/source/tracking/src/G4VSteppingVerbose.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSteppingVerbose.cc,v 1.18 2006/11/14 10:58:47 tsasaki Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VSteppingVerbose.cc,v 1.19 2010/07/19 13:41:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // //--------------------------------------------------------------- // @@ -50,8 +50,32 @@ G4VSteppingVerbose* G4VSteppingVerbose::fInstance = 0; G4int G4VSteppingVerbose::Silent = 0; G4int G4VSteppingVerbose::SilentStepInfo = 0; -G4VSteppingVerbose::G4VSteppingVerbose() :verboseLevel(0){ - if(fInstance!= NULL) G4Exception("G4SteppingVerbose is the singleton. Only one SteppingVerbose class can be instantiated."); + +G4VSteppingVerbose::G4VSteppingVerbose() + : fManager(0), fUserSteppingAction(0), + PhysicalStep(0.), GeometricalStep(0.), CorrectedStep(0.), + PreStepPointIsGeom(false), FirstStep(false), + TempInitVelocity(0.), TempVelocity(0.), Mass(0.), sumEnergyChange(0.), + fParticleChange(0), fTrack(0), fSecondary(0), fStep(0), + fPreStepPoint(0), fPostStepPoint(0), fCurrentVolume(0), + fSensitive(0), fCurrentProcess(0), fAtRestDoItVector(0), + fAlongStepDoItVector(0), fPostStepDoItVector(0), fAtRestGetPhysIntVector(0), + fAlongStepGetPhysIntVector(0), fPostStepGetPhysIntVector(0), + MAXofAtRestLoops(0), MAXofAlongStepLoops(0), MAXofPostStepLoops(0), + currentMinimumStep(0.), numberOfInteractionLengthLeft(0.), + fAtRestDoItProcTriggered(0), fAlongStepDoItProcTriggered(0), + fPostStepDoItProcTriggered(0), fN2ndariesAtRestDoIt(0), + fN2ndariesAlongStepDoIt(0), fN2ndariesPostStepDoIt(0), + fNavigator(0), verboseLevel(0), fSelectedAtRestDoItVector(0), + fSelectedAlongStepDoItVector(0), fSelectedPostStepDoItVector(0), + fPreviousStepSize(0.), physIntLength(0.) +{ + if(fInstance!= 0) + { + G4Exception("G4VSteppingVerbose::G4VSteppingVerbose()", + "Tracking0014", FatalException, + "Only one SteppingVerbose class can be instantiated."); + } } G4VSteppingVerbose::~G4VSteppingVerbose(){;} @@ -62,8 +86,6 @@ void G4VSteppingVerbose::SetManager(G4SteppingManager* const fMan) fManager=fMan; } - - ////////////////////////////////////////////////// void G4VSteppingVerbose::CopyState() ////////////////////////////////////////////////// diff --git a/source/tracking/src/G4VTrajectory.cc b/source/tracking/src/G4VTrajectory.cc index 2b2cfac3f4..d194331f23 100644 --- a/source/tracking/src/G4VTrajectory.cc +++ b/source/tracking/src/G4VTrajectory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VTrajectory.cc,v 1.12 2006/10/16 13:45:01 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VTrajectory.cc,v 1.17 2010/07/19 13:41:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // --------------------------------------------------------------- // @@ -115,10 +115,31 @@ void G4VTrajectory::ShowTrajectory(std::ostream& os) const } } +/*** +void G4VTrajectory::DrawTrajectory() const +{ + G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); + + if (0 != pVVisManager) { + pVVisManager->DispatchToModel(*this); + } +} +***/ + void G4VTrajectory::DrawTrajectory(G4int i_mode) const { G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); + static G4bool warnedAboutIMode = false; + if (!warnedAboutIMode && i_mode != 0) { + G4Exception + ("G4VTrajectory::DrawTrajectory()", + "Tracking0100", JustWarning, + "DEPRECATED! The use of i_mode argument in DrawTrajectory()" + "\n is deprecated and will be removed at the next major release."); + warnedAboutIMode = true; + } + if (0 != pVVisManager) { pVVisManager->DispatchToModel(*this, i_mode); } diff --git a/source/visualization/CMakeLists.txt b/source/visualization/CMakeLists.txt new file mode 100644 index 0000000000..476768d322 --- /dev/null +++ b/source/visualization/CMakeLists.txt @@ -0,0 +1,38 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4visualization +# Package: Geant4.src.G4visualization +# +# Intermediate level CMakeLists.txt - just process subdirectories +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:11:25 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +add_subdirectory(FukuiRenderer) +add_subdirectory(HepRep) +add_subdirectory(RayTracer) +add_subdirectory(Tree) +add_subdirectory(VRML) +add_subdirectory(XXX) +add_subdirectory(externals) +add_subdirectory(gMocren) +add_subdirectory(management) +add_subdirectory(modeling) + +# +# OpenGL is optional depending on user selection +# +if(GEANT4_USE_OPENGL) + add_subdirectory(OpenGL) +endif() + +# +# OpenInventor is optional depending on user selection +# +if(GEANT4_USE_INVENTOR) + add_subdirectory(OpenInventor) +endif() + diff --git a/source/visualization/FukuiRenderer/CMakeLists.txt b/source/visualization/FukuiRenderer/CMakeLists.txt new file mode 100644 index 0000000000..28725254df --- /dev/null +++ b/source/visualization/FukuiRenderer/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4FR +# Package: Geant4.src.G4visualization.G4FR +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:11:33 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/FukuiRenderer/History b/source/visualization/FukuiRenderer/History index 4844d2297d..984c877727 100644 --- a/source/visualization/FukuiRenderer/History +++ b/source/visualization/FukuiRenderer/History @@ -1,4 +1,4 @@ -$Id: History,v 1.27 2009/10/21 14:59:17 allison Exp $ +$Id: History,v 1.29 2010/11/11 01:13:42 akimura Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,13 @@ committal in the CVS repository ! History file for visualization/FukuiRenderer sub-category --------------------------------------------------------- +11 November 2010 Akinori Kimura (DAWN-V09-03-01) +- Replaced G4cerr with G4cout and added the following line before G4cout. + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + +30th May 2010 John Allison (DAWN-V09-03-00) +- G4DAWN/FukuiRendererSceneHandler: Added AddCompound(const G4VDigi&). + 21st October 2009 John Allison (DAWN-V09-02-00 coworks greps-V09-02-02) - Added default AddCompound (const G4THitsMap&) methods. o Prevents warnings about hiding - calls G4VSceneHandler base class. diff --git a/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh b/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh index 93164de1b0..8769b7f074 100644 --- a/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh +++ b/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DAWNFILESceneHandler.hh,v 1.17 2009/10/21 14:59:17 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4DAWNFILESceneHandler.hh,v 1.18 2010/05/30 10:18:32 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Satoshi TANAKA @@ -97,6 +97,9 @@ public: void AddCompound ( const G4VHit& hit) { G4VSceneHandler::AddCompound(hit); } + void AddCompound ( const G4VDigi& digi) { + G4VSceneHandler::AddCompound(digi); + } void AddCompound ( const G4THitsMap & hits) { G4VSceneHandler::AddCompound(hits); } diff --git a/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc b/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc index 1dddef3b25..f362d62b98 100644 --- a/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc +++ b/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc @@ -24,10 +24,11 @@ // ******************************************************************** // // -// $Id: G4FRSceneFunc.icc,v 1.15 2006/07/10 15:31:45 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4FRSceneFunc.icc,v 1.16 2010/11/11 01:13:42 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // +#include "G4VisManager.hh" #include "G4PhysicalVolumeModel.hh" #include "G4LogicalVolume.hh" @@ -37,7 +38,8 @@ void G4FRSCENEHANDLER::AddPrimitive (const G4Polyline& polyline) { #if defined DEBUG_FR_SCENE - G4cerr << "***** AddPrimitive\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive\n"; #endif //----- Initialize Fukui Renderer IF NECESSARY FRBeginModeling(); @@ -83,7 +85,8 @@ void G4FRSCENEHANDLER::AddPrimitive (const G4NURBS&) { //----- #if defined DEBUG_FR_SCENE - G4cerr << "***** AddPrimitive( G4NURBS )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive( G4NURBS )\n"; #endif //----- Initialize DAWN IF NECESSARY @@ -101,7 +104,8 @@ void G4FRSCENEHANDLER::AddPrimitive ( const G4Text& text ) { //----- #if defined DEBUG_FR_SCENE - G4cerr << "***** AddPrimitive( G4Text )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive( G4Text )\n"; #endif //----- Initialize DAWN IF NECESSARY FRBeginModeling(); @@ -134,9 +138,11 @@ void G4FRSCENEHANDLER::AddPrimitive ( const G4Text& text ) //----- create buffer and copy the string there int MAX_STR_LENGTH = COMMAND_BUF_SIZE - 100 ; if ( MAX_STR_LENGTH <= 0 ) { - G4cerr << "ERROR (FukuiRenderer) : Not enough buffer size for data transferring." << G4endl; - G4cerr << " G4Text Visualization is aborted" << G4endl; - return ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "ERROR (FukuiRenderer) : Not enough buffer size for data transferring." << G4endl; + G4cout << " G4Text Visualization is aborted" << G4endl; + } + return ; } char* buf = new char [ (MAX_STR_LENGTH + 1) ] ; if ( MAX_STR_LENGTH >= STR_LENGTH ) { @@ -174,7 +180,8 @@ void G4FRSCENEHANDLER::AddPrimitive ( const G4Circle& mark_circle ) { //----- #if defined DEBUG_FR_SCENE - G4cerr << "***** AddPrimitive( G4Circle )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive( G4Circle )\n"; #endif //----- Initialize Fukui Renderer IF NECESSARY FRBeginModeling(); @@ -217,7 +224,8 @@ void G4FRSCENEHANDLER::AddPrimitive (const G4Square& mark_square ) { //----- #if defined DEBUG_FR_SCENE - G4cerr << "***** AddPrimitive( G4Square )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive( G4Square )\n"; #endif //----- Initialize Fukui Renderer IF NECESSARY FRBeginModeling(); @@ -260,7 +268,8 @@ void G4FRSCENEHANDLER::AddPrimitive ( const G4Polyhedron& polyhedron ) { //----- #if defined DEBUG_FR_SCENE - G4cerr << "***** AddPrimitive( G4Polyhedron )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive( G4Polyhedron )\n"; #endif if (polyhedron.GetNoFacets() == 0) return; @@ -309,16 +318,20 @@ void G4FRSCENEHANDLER::AddPrimitive ( const G4Polyhedron& polyhedron ) SendStrInt4(FR_FACET, work[0], work[1], work[2], work[3] ); break; default: - G4cerr << - "ERROR G4FRSCENEHANDLER::AddPrimitive(G4Polyhedron)\n"; - G4PhysicalVolumeModel* pPVModel = - dynamic_cast(fpModel); - if (pPVModel) G4cerr << - "Volume " << pPVModel->GetCurrentPV()->GetName() << - ", Solid " << pPVModel->GetCurrentLV()->GetSolid()->GetName() << - " (" << pPVModel->GetCurrentLV()->GetSolid()->GetEntityType(); - G4cerr << - "\nG4Polyhedron facet with " << i << " edges" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << + "ERROR G4FRSCENEHANDLER::AddPrimitive(G4Polyhedron)\n"; + G4PhysicalVolumeModel* pPVModel = + dynamic_cast(fpModel); + if (pPVModel) + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << + "Volume " << pPVModel->GetCurrentPV()->GetName() << + ", Solid " << pPVModel->GetCurrentLV()->GetSolid()->GetName() << + " (" << pPVModel->GetCurrentLV()->GetSolid()->GetEntityType(); + G4cout << + "\nG4Polyhedron facet with " << i << " edges" << G4endl; + } } } @@ -333,7 +346,7 @@ void G4FRSCENEHANDLER::SendNdiv ( void ) { ////////////////////////////////////////////////// //#if defined DEBUG_FR_SCENE -// G4cerr << "***** SendNdiv() (/Ndiv)" << G4endl; +// G4cout << "***** SendNdiv() (/Ndiv)" << G4endl; //#endif ////////////////////////////////////////////////// @@ -347,9 +360,11 @@ void G4FRSCENEHANDLER::SendNdiv ( void ) num_division = GetNoOfSides(pVisAttribs); // } else { #if defined DEBUG_FR_SCENE - G4cerr << "WARNING: GetNoOfSides() failed. " ; - G4cerr << "The default value " << num_division ; - G4cerr << " is assigned." << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "WARNING: GetNoOfSides() failed. " ; + G4cout << "The default value " << num_division ; + G4cout << " is assigned." << G4endl; + } #endif //} @@ -358,7 +373,7 @@ void G4FRSCENEHANDLER::SendNdiv ( void ) ////////////////////////////////////////////////// //#if defined DEBUG_FR_SCENE -// G4cerr << "Ndiv = " << num_division << G4endl; +// G4cout << "Ndiv = " << num_division << G4endl; //#endif ////////////////////////////////////////////////// @@ -373,13 +388,16 @@ void G4FRSCENEHANDLER::FREndModeling () { //----- #if defined DEBUG_FR_SCENE - G4cerr << "***** FREndModeling (called)" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** FREndModeling (called)" << G4endl; #endif if( FRIsInModeling() ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** FREndModeling (started) " ; - G4cerr << "(/EndModeling, /DrawAll, /CloseDevice)" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "***** FREndModeling (started) " ; + G4cout << "(/EndModeling, /DrawAll, /CloseDevice)" << G4endl; + } #endif SendStr( "#--------------------" ); @@ -406,7 +424,8 @@ void G4FRSCENEHANDLER::FREndModeling () void G4FRSCENEHANDLER::BeginPrimitives (const G4Transform3D& objectTransformation) { #if defined DEBUG_FR_SCENE - G4cerr << "***** BeginPrimitives \n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** BeginPrimitives \n"; #endif FRBeginModeling(); @@ -421,7 +440,8 @@ void G4FRSCENEHANDLER::BeginPrimitives (const G4Transform3D& objectTransformatio void G4FRSCENEHANDLER::EndPrimitives () { #if defined DEBUG_FR_SCENE - G4cerr << "***** EndPrimitives \n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** EndPrimitives \n"; #endif G4VSceneHandler::EndPrimitives (); } @@ -433,7 +453,8 @@ void G4FRSCENEHANDLER::EndPrimitives () void G4FRSCENEHANDLER::AddSolid( const G4Box& box ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** AddSolid ( box )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( box )\n"; #endif //----- skip drawing invisible primitive if( !IsVisible() ) { return ; } @@ -472,7 +493,8 @@ void G4FRSCENEHANDLER::AddSolid( const G4Tubs& tubes ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** AddSolid ( tubes )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( tubes )\n"; #endif //----- skip drawing invisible primitive if( !IsVisible() ) { return ; } @@ -514,7 +536,8 @@ void G4FRSCENEHANDLER::AddSolid( const G4Cons& cons ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** AddSolid ( cons )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( cons )\n"; #endif //----- skip drawing invisible primitive if( !IsVisible() ) { return ; } @@ -556,7 +579,8 @@ G4FRSCENEHANDLER::AddSolid( const G4Cons& cons ) void G4FRSCENEHANDLER::AddSolid ( const G4Trd& trd ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** AddSolid ( trd )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( trd )\n"; #endif //----- skip drawing invisible primitive @@ -597,7 +621,8 @@ void G4FRSCENEHANDLER::AddSolid ( const G4Trd& trd ) void G4FRSCENEHANDLER::AddSolid ( const G4Sphere& sphere ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** AddSolid ( sphere )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( sphere )\n"; #endif //----- skip drawing invisible primitive if( !IsVisible() ) { return ; } @@ -657,7 +682,8 @@ void G4FRSCENEHANDLER::AddSolid ( const G4Sphere& sphere ) void G4FRSCENEHANDLER::AddSolid (const G4Para& para) { #if defined DEBUG_FR_SCENE - G4cerr << "***** AddSolid ( para )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( para )\n"; #endif //----- skip drawing invisible primitive @@ -684,10 +710,12 @@ void G4FRSCENEHANDLER::AddSolid (const G4Para& para) //----- parameters preprocessing G4double cosTheta = para.GetSymAxis().z() ; if( cosTheta < epsilon ) { - G4cerr << "WARNING from FukuiRenderer (DAWN) driver:" << G4endl; - G4cerr << " Invalid parameter for parallelepiped." << G4endl; - G4cerr << " Drawing is skipped." << G4endl; - return ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "WARNING from FukuiRenderer (DAWN) driver:" << G4endl; + G4cout << " Invalid parameter for parallelepiped." << G4endl; + G4cout << " Drawing is skipped." << G4endl; + } + return ; } G4double tanTheta_cosPhi_cosTheta = para.GetSymAxis().x() ; G4double tanTheta_sinPhi_cosTheta = para.GetSymAxis().y() ; @@ -713,7 +741,8 @@ void G4FRSCENEHANDLER::AddSolid (const G4Para& para) void G4FRSCENEHANDLER::AddSolid (const G4Trap& trap) { #if defined DEBUG_FR_SCENE - G4cerr << "***** AddSolid ( trap )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( trap )\n"; #endif //----- skip drawing invisible primitive @@ -740,10 +769,12 @@ void G4FRSCENEHANDLER::AddSolid (const G4Trap& trap) //----- parameters preprocessing G4double cosTheta = trap.GetSymAxis().z() ; if( cosTheta < epsilon ) { - G4cerr << "WARNING from FukuiRenderer (DAWN) driver:" << G4endl; - G4cerr << " Invalid parameter for trap, 1" << G4endl; - G4cerr << " Drawing is skipped." << G4endl; - return ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "WARNING from FukuiRenderer (DAWN) driver:" << G4endl; + G4cout << " Invalid parameter for trap, 1" << G4endl; + G4cout << " Drawing is skipped." << G4endl; + } + return ; } G4double nx = trap.GetSymAxis().x() ; @@ -804,7 +835,8 @@ void G4FRSCENEHANDLER::AddSolid( const G4Torus& torus ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** AddSolid ( torus )\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( torus )\n"; #endif //----- skip drawing invisible primitive if( !IsVisible() ) { return ; } @@ -928,7 +960,8 @@ G4bool G4FRSCENEHANDLER::IsVisible() void G4FRSCENEHANDLER::SendBoundingBox( void ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** SendBoundingBox () (/BoundingBox)" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** SendBoundingBox () (/BoundingBox)" << G4endl; #endif //----- (1A) CALC bounding box of the bounding sphere @@ -1047,7 +1080,8 @@ void G4FRSCENEHANDLER::SendStrInt( const char* char_string , num_char = sprintf( command, "%s %d", char_string , ival ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrInt(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrInt(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1069,7 +1103,8 @@ G4FRSCENEHANDLER::SendStrInt3( const char* char_string , sprintf( command, "%s %d %d %d", char_string , ival1, ival2, ival3 ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrInt3(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrInt3(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1093,7 +1128,8 @@ G4FRSCENEHANDLER::SendStrInt4( const char* char_string , sprintf( command, "%s %d %d %d %d", char_string , ival1, ival2, ival3, ival4 ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrInt4(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrInt4(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1112,7 +1148,8 @@ void G4FRSCENEHANDLER::SendStrDouble( const char* char_string , char_string , \ fPrec2, fPrec, dval ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrDouble(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrDouble(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1134,7 +1171,8 @@ G4FRSCENEHANDLER::SendStrDouble2( const char* char_string , fPrec2, fPrec, dval1, \ fPrec2, fPrec, dval2 ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrDouble2(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrDouble2(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1159,7 +1197,8 @@ G4FRSCENEHANDLER::SendStrDouble3( const char* char_string , fPrec2, fPrec, dval2, \ fPrec2, fPrec, dval3 ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrDouble3(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrDouble3(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1186,7 +1225,8 @@ G4FRSCENEHANDLER::SendStrDouble4( const char* char_string , fPrec2, fPrec, dval3, \ fPrec2, fPrec, dval4) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrDouble4(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrDouble4(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1215,7 +1255,8 @@ G4FRSCENEHANDLER::SendStrDouble5( const char* char_string , fPrec2, fPrec, dval4, \ fPrec2, fPrec, dval5 ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrDouble5(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrDouble5(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1246,7 +1287,8 @@ G4FRSCENEHANDLER::SendStrDouble6( const char* char_string , fPrec2, fPrec, dval5, \ fPrec2, fPrec, dval6 ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrDouble6(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrDouble6(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1279,7 +1321,8 @@ G4FRSCENEHANDLER::SendStrDouble7( const char* char_string , fPrec2, fPrec, dval6,\ fPrec2, fPrec, dval7 ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrDouble7(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrDouble7(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1320,7 +1363,8 @@ G4FRSCENEHANDLER::SendStrDouble11( const char* char_string , fPrec2, fPrec, dval10,\ fPrec2, fPrec, dval11 ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrDouble11(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrDouble11(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1345,7 +1389,8 @@ G4FRSCENEHANDLER::SendIntDouble3( G4int ival , fPrec2, fPrec, dval2, \ fPrec2, fPrec, dval3 ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendIntDouble3(),1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendIntDouble3(),1\n" ; } SendStr( command ); delete [] command ; @@ -1365,7 +1410,8 @@ G4FRSCENEHANDLER::SendInt3Str( G4int ival1 , num_char = sprintf( command, "%d %d %d %s", \ ival1, ival2, ival3, char_string ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendInt3Str(),1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendInt3Str(),1\n" ; } SendStr( command ); delete [] command ; @@ -1386,7 +1432,8 @@ G4FRSCENEHANDLER::SendInt4Str( G4int ival1 , num_char = sprintf( command, "%d %d %d %d %s", \ ival1, ival2, ival3, ival4, char_string ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendInt4Str(),1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendInt4Str(),1\n" ; } SendStr( command ); delete [] command ; @@ -1417,7 +1464,8 @@ G4FRSCENEHANDLER::SendStrDouble6Str( const char* char_string1 , fPrec2, fPrec, dval6, \ char_string2 ); if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrDouble6Str(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrDouble6Str(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1434,7 +1482,8 @@ void G4FRSCENEHANDLER::SendInt( G4int val ) num_char = sprintf( command, "%d", val ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrInt(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrInt(), 1\n" ; } SendStr( command ); delete [] command ; @@ -1450,7 +1499,8 @@ void G4FRSCENEHANDLER::SendDouble( G4double val ) num_char = sprintf( command, "%*.*g", fPrec2, fPrec, val ) ; if( num_char < 0 ) { - G4cerr << "ERROR G4FRSCENEHANDLER::SendStrInt(), 1\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR G4FRSCENEHANDLER::SendStrInt(), 1\n" ; } SendStr( command ); delete [] command ; diff --git a/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh b/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh index fc9f55e4e7..f73dae257c 100644 --- a/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh +++ b/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FukuiRendererSceneHandler.hh,v 1.16 2009/10/21 14:59:17 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4FukuiRendererSceneHandler.hh,v 1.17 2010/05/30 10:18:32 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Satoshi TANAKA, Fri Jun 28 11:19:19 JST 1996 @@ -100,6 +100,9 @@ public: void AddCompound ( const G4VHit& hit) { G4VSceneHandler::AddCompound(hit); } + void AddCompound ( const G4VDigi& digi) { + G4VSceneHandler::AddCompound(digi); + } void AddCompound ( const G4THitsMap & hits) { G4VSceneHandler::AddCompound(hits); } diff --git a/source/visualization/FukuiRenderer/sources.cmake b/source/visualization/FukuiRenderer/sources.cmake new file mode 100644 index 0000000000..7f660a2edd --- /dev/null +++ b/source/visualization/FukuiRenderer/sources.cmake @@ -0,0 +1,106 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4FR +# Package: Geant4.src.G4visualization.G4FR +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:11:41 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/modeling/include) + + +# +# Module has optional sources +# +# List those always built +set(G4VIS_DAWN_MODULE_HEADERS + G4DAWNFILE.hh + G4DAWNFILESceneHandler.hh + G4DAWNFILEViewer.hh + G4FRConst.hh + G4FRFeatures.hh + G4FRSceneFunc.icc + G4FRofstream.hh) + +set(G4VIS_DAWN_MODULE_SOURCES + G4DAWNFILE.cc + G4DAWNFILESceneHandler.cc + G4DAWNFILEViewer.cc) + +# +# DAWN Network driver only built if user selected +# +if(GEANT4_USE_NETWORKDAWN) + list(APPEND G4VIS_DAWN_MODULE_HEADERS + G4FRClientServer.hh + G4FukuiRenderer.hh + G4FukuiRendererSceneHandler.hh + G4FukuiRendererViewer.hh) + + list(APPEND G4VIS_DAWN_MODULE_SOURCES + G4FRClientServer.cc + G4FukuiRenderer.cc + G4FukuiRendererSceneHandler.cc + G4FukuiRendererViewer.cc) + + # + # Add extra needed defs here + # +endif() + + + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4FR + HEADERS + ${G4VIS_DAWN_MODULE_HEADERS} + SOURCES + ${G4VIS_DAWN_MODULE_SOURCES} + GRANULAR_DEPENDENCIES + G4csg + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4modeling + G4specsolids + G4vis_management + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4global + G4graphics_reps + G4intercoms + G4modeling + G4vis_management + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc b/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc index b3574a9675..b956d36a98 100644 --- a/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc +++ b/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DAWNFILESceneHandler.cc,v 1.18 2006/06/29 21:16:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DAWNFILESceneHandler.cc,v 1.19 2010/11/11 01:13:42 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Satoshi TANAKA // DAWNFILE scene. @@ -40,6 +40,7 @@ #include #include #include "globals.hh" +#include "G4VisManager.hh" #include "G4FRConst.hh" #include "G4DAWNFILE.hh" #include "G4DAWNFILESceneHandler.hh" @@ -127,7 +128,8 @@ fPrec (9), fPrec2 (16) G4DAWNFILESceneHandler::~G4DAWNFILESceneHandler () { #if defined DEBUG_FR_SCENE - G4cerr << "***** ~G4DAWNFILESceneHandler" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** ~G4DAWNFILESceneHandler" << G4endl; #endif if (fPrimDest.IsOpen()) { @@ -157,13 +159,15 @@ void G4DAWNFILESceneHandler::SetG4PrimFileName() // Message in the final execution if( i == MAX_FILE_INDEX ) { - G4cerr << "===========================================" << G4endl; - G4cerr << "WARNING MESSAGE from DAWNFILE driver: " << G4endl; - G4cerr << " This file name is the final one in the " << G4endl; - G4cerr << " automatic updation of the output file name." << G4endl; - G4cerr << " You may overwrite existing files, i.e. " << G4endl; - G4cerr << " g4_XX.prim and g4_XX.eps " << G4endl; - G4cerr << "===========================================" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "===========================================" << G4endl; + G4cout << "WARNING MESSAGE from DAWNFILE driver: " << G4endl; + G4cout << " This file name is the final one in the " << G4endl; + G4cout << " automatic updation of the output file name." << G4endl; + G4cout << " You may overwrite existing files, i.e. " << G4endl; + G4cout << " g4_XX.prim and g4_XX.eps " << G4endl; + G4cout << "===========================================" << G4endl; + } } // re-determine file name as G4DAWNFILE_DEST_DIR/g4_XX.prim @@ -187,18 +191,18 @@ void G4DAWNFILESceneHandler::SetG4PrimFileName() } // for - G4cerr << "=========================================== " << G4endl; - G4cerr << "Output file: " << fG4PrimFileName << G4endl; - G4cerr << "Destination directory (current dir if NULL): " << fG4PrimDestDir << G4endl; - G4cerr << "Maximal number of files in the destination directory: " << fMaxFileNum << G4endl; - G4cerr << "Note: " << G4endl; - G4cerr << " * The maximal number is customizable as: " << G4endl; - G4cerr << " % setenv G4DAWNFILE_MAX_FILE_NUM number " << G4endl; - G4cerr << " * The destination directory is customizable as:" << G4endl; - G4cerr << " % setenv G4DAWNFILE_DEST_DIR dir_name/ " << G4endl; - G4cerr << " ** Do not forget \"/\" at the end of the " << G4endl; - G4cerr << " dir_name, e.g. \"./tmp/\". " << G4endl; - G4cerr << "=========================================== " << G4endl; + G4cout << "=========================================== " << G4endl; + G4cout << "Output file: " << fG4PrimFileName << G4endl; + G4cout << "Destination directory (current dir if NULL): " << fG4PrimDestDir << G4endl; + G4cout << "Maximal number of files in the destination directory: " << fMaxFileNum << G4endl; + G4cout << "Note: " << G4endl; + G4cout << " * The maximal number is customizable as: " << G4endl; + G4cout << " % setenv G4DAWNFILE_MAX_FILE_NUM number " << G4endl; + G4cout << " * The destination directory is customizable as:" << G4endl; + G4cout << " % setenv G4DAWNFILE_DEST_DIR dir_name/ " << G4endl; + G4cout << " ** Do not forget \"/\" at the end of the " << G4endl; + G4cout << " dir_name, e.g. \"./tmp/\". " << G4endl; + G4cout << "=========================================== " << G4endl; } // G4DAWNFILESceneHandler::SetG4PrimFileName() @@ -207,14 +211,17 @@ void G4DAWNFILESceneHandler::SetG4PrimFileName() void G4DAWNFILESceneHandler::BeginSavingG4Prim( void ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** BeginSavingG4Prim (called)\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** BeginSavingG4Prim (called)\n"; #endif if( !IsSavingG4Prim() ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** (started) " ; - G4cerr << "(open g4.prim, ##)" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "***** (started) " ; + G4cout << "(open g4.prim, ##)" << G4endl; + } #endif SetG4PrimFileName() ; // result set to fG4PrimFileName fPrimDest.Open(fG4PrimFileName) ; @@ -227,13 +234,15 @@ void G4DAWNFILESceneHandler::BeginSavingG4Prim( void ) void G4DAWNFILESceneHandler::EndSavingG4Prim ( void ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** EndSavingG4Prim (called)\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** EndSavingG4Prim (called)\n"; #endif if( IsSavingG4Prim() ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** (started) (close g4.prim)" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** (started) (close g4.prim)" << G4endl; #endif fPrimDest.Close() ; flag_saving_g4_prim = false ; @@ -247,7 +256,8 @@ void G4DAWNFILESceneHandler::FRBeginModeling( void ) if( !FRIsInModeling() ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** G4DAWNFILESceneHandler::FRBeginModeling (called & started)" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4DAWNFILESceneHandler::FRBeginModeling (called & started)" << G4endl; #endif //----- Send saving command and heading comment @@ -258,19 +268,22 @@ void G4DAWNFILESceneHandler::FRBeginModeling( void ) //----- send SET_CAMERA command #if defined DEBUG_FR_SCENE - G4cerr << "***** (!SetCamera in FRBeginModeling())" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** (!SetCamera in FRBeginModeling())" << G4endl; #endif SendStr( FR_SET_CAMERA ); //----- open device #if defined DEBUG_FR_SCENE - G4cerr << "***** (!OpenDevice in FRBeginModeling())" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** (!OpenDevice in FRBeginModeling())" << G4endl; #endif SendStr( FR_OPEN_DEVICE ); //----- begin sending primitives #if defined DEBUG_FR_SCENE - G4cerr << "***** (!BeginModeling in FRBeginModeling())" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** (!BeginModeling in FRBeginModeling())" << G4endl; #endif SendStr( FR_BEGIN_MODELING ); FRflag_in_modeling = true ; diff --git a/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc b/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc index 8b11021027..2f8aebb609 100644 --- a/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc +++ b/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DAWNFILEViewer.cc,v 1.20 2006/06/29 21:16:54 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4DAWNFILEViewer.cc,v 1.21 2010/11/11 01:13:42 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Satoshi TANAKA // DAWNFILE view - opens window, hard copy, etc. @@ -41,6 +41,7 @@ #include #include +#include "G4VisManager.hh" #include "G4Scene.hh" #include "G4Vector3D.hh" #include "G4VisExtent.hh" @@ -100,7 +101,8 @@ G4DAWNFILEViewer::~G4DAWNFILEViewer () void G4DAWNFILEViewer::SetView () { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4DAWNFILEViewer::SetView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4DAWNFILEViewer::SetView(): No effects" << G4endl; #endif // Do nothing, since DAWN is running as a different process. // SendViewParameters () will do this job instead. @@ -112,7 +114,8 @@ void G4DAWNFILEViewer::ClearView( void ) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4DAWNFILEViewer::ClearView (): No effects " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4DAWNFILEViewer::ClearView (): No effects " << G4endl; #endif if (fSceneHandler.fPrimDest.IsOpen()) { fSceneHandler.fPrimDest.Close(); @@ -129,7 +132,8 @@ G4DAWNFILEViewer::ClearView( void ) void G4DAWNFILEViewer::DrawView () { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4DAWNFILEViewer::DrawView () " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4DAWNFILEViewer::DrawView () " << G4endl; #endif //----- fSceneHandler.FRBeginModeling() ; @@ -148,7 +152,8 @@ void G4DAWNFILEViewer::DrawView () void G4DAWNFILEViewer::ShowView( void ) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4DAWNFILEViewer::ShowView () " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4DAWNFILEViewer::ShowView () " << G4endl; #endif if( fSceneHandler.FRIsInModeling() ) @@ -203,7 +208,7 @@ void G4DAWNFILEViewer::SendDrawingStyleToDAWNGUI( std::ostream& out ) { /////////////////////// //#if defined DEBUG_FR_VIEW -// G4cerr << "***** G4DAWNFILEViewer::SendDrawingStyleToDAWNGUI()" << G4endl; +// G4cout << "***** G4DAWNFILEViewer::SendDrawingStyleToDAWNGUI()" << G4endl; //#endif ////////////////////// @@ -241,8 +246,10 @@ void G4DAWNFILEViewer::SendViewParameters () // later due to user interaction via visualization system's GUI.) #if defined DEBUG_FR_VIEW - G4cerr << "***** G4DAWNFILEViewer::SendViewParameters() "; - G4cerr << "(GUI parameters)" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "***** G4DAWNFILEViewer::SendViewParameters() "; + G4cout << "(GUI parameters)" << G4endl; + } #endif //----- Magic number to decide camera distance automatically @@ -270,8 +277,10 @@ void G4DAWNFILEViewer::SendViewParameters () } if ( camera_distance < radius ) { - G4cerr << "WARNING from DAWNFILE driver:" << G4endl; - G4cerr << " Camera cannot enter inside objects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "WARNING from DAWNFILE driver:" << G4endl; + G4cout << " Camera cannot enter inside objects" << G4endl; + } camera_distance = radius ; } diff --git a/source/visualization/FukuiRenderer/src/G4FRClientServer.cc b/source/visualization/FukuiRenderer/src/G4FRClientServer.cc index b0c036a58c..e94b6451a4 100644 --- a/source/visualization/FukuiRenderer/src/G4FRClientServer.cc +++ b/source/visualization/FukuiRenderer/src/G4FRClientServer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FRClientServer.cc,v 1.6 2006/06/29 21:16:56 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4FRClientServer.cc,v 1.7 2010/11/11 01:13:42 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Satoshi TANAKA, Wed Jul 3 14:14:29 JST 1996 //////////////////////////////// @@ -37,6 +37,7 @@ #ifdef G4VIS_BUILD_DAWN_DRIVER //=================// +#include "G4VisManager.hh" #include "G4FRClientServer.hh" // #define DEBUG_CLIENT_SERVER @@ -118,7 +119,8 @@ void G4FRClientServer::Receive() } #if defined DEBUG_CLIENT_SERVER - G4cerr << ">>>>> receivedMessage = " << fReceivedMessage << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << ">>>>> receivedMessage = " << fReceivedMessage << G4endl; #endif } @@ -149,7 +151,8 @@ void G4FRClientServer::Send() } #if defined DEBUG_CLIENT_SERVER - G4cerr << "<<<<< SentMessage = " << fSendingMessage << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "<<<<< SentMessage = " << fSendingMessage << G4endl; #endif } // G4FRClientServer::Send() @@ -254,7 +257,8 @@ int G4FRClientServer::ConnectINET() // #if defined DEBUG_CLIENT_SERVER - G4cerr << "***** Trying connection to " << server_hostname << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** Trying connection to " << server_hostname << G4endl; // #endif diff --git a/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc b/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc index 78220f1757..16baf3c03f 100644 --- a/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc +++ b/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FukuiRenderer.cc,v 1.9 2006/06/29 21:16:58 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4FukuiRenderer.cc,v 1.10 2010/11/11 01:13:42 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Satoshi TANAKA @@ -42,6 +42,7 @@ #define __G_ANSI_C__ +#include "G4VisManager.hh" //#include "G4VisFeaturesOfFukuiRenderer.hh" #include "G4VSceneHandler.hh" #include "G4FukuiRendererSceneHandler.hh" @@ -113,7 +114,8 @@ void G4FukuiRenderer::UseInetDomainAuto() int pid ; #if defined DEBUG_FR_SYSTEM - G4cerr << "***** Unix Inet Domain (AUTO mode)" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** Unix Inet Domain (AUTO mode)" << G4endl; #endif fIPMode = G4FukuiRenderer::IP_UNIX ; @@ -143,11 +145,14 @@ void G4FukuiRenderer::UseInetDomainAuto() } if(!flag_connected) { - G4cerr << "***** ERROR: Connection failed" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** ERROR: Connection failed" << G4endl; } else { - G4cerr << "***** GEANT4 is connected to FukuiRenderer DAWN "; - G4cerr << "in the same host" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "***** GEANT4 is connected to FukuiRenderer DAWN "; + G4cout << "in the same host" << G4endl; + } } } // G4FukuiRenderer::UseInetDomainAuto() @@ -158,18 +163,22 @@ void G4FukuiRenderer::UseInetDomain() { #if defined DEBUG_FR_SYSTEM - G4cerr << "***** INET Domain " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** INET Domain " << G4endl; #endif fIPMode = G4FukuiRenderer::IP_INET ; this->ConnectPort(); if(!flag_connected) { - G4cerr << "***** ERROR: Connection failed" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** ERROR: Connection failed" << G4endl; } else { - G4cerr << "GEANT4 is connected to FukuiRenderer DAWN via socket" ; - G4cerr << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "GEANT4 is connected to FukuiRenderer DAWN via socket" ; + G4cout << G4endl; + } } } // G4FukuiRenderer::UseInetDomain() @@ -182,25 +191,31 @@ G4FukuiRenderer::ConnectPort( int max_port_incr ) while(1) { if ( ++connect_trial > max_port_incr ) { this->flag_connected = 0 ; - G4cerr << "***** INET Connection failed." << G4endl; - G4cerr << " Maybe, you have not invoked DAWN yet," << G4endl; - G4cerr << " or too many DAWN's are already running" << G4endl; - G4cerr << " in the server host." << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "***** INET Connection failed." << G4endl; + G4cout << " Maybe, you have not invoked DAWN yet," << G4endl; + G4cout << " or too many DAWN's are already running" << G4endl; + G4cout << " in the server host." << G4endl; + } fPrimDest.IncrementPortNumber( (- FR_MAX_PORT_INCR) ); return ; } else if ( fPrimDest.ConnectINET() ) { // INET domain connection is established this->flag_connected = 1 ; - G4cerr << "***** GEANT4 is connected to port " ; - G4cerr << fPrimDest.GetPortNumber() ; - G4cerr << " of server" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "***** GEANT4 is connected to port " ; + G4cout << fPrimDest.GetPortNumber() ; + G4cout << " of server" << G4endl; + } break ; } else { // Connection failed. Try the next port. this->flag_connected = 0 ; fPrimDest.IncrementPortNumber(); - G4cerr << "***** GEANT4 incremented targeting port to " ; - G4cerr << fPrimDest.GetPortNumber() << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "***** GEANT4 incremented targeting port to " ; + G4cout << fPrimDest.GetPortNumber() << G4endl; + } } // if-elseif-else @@ -214,7 +229,8 @@ void G4FukuiRenderer::UseBSDUnixDomainAuto() int pid ; #if defined DEBUG_FR_SYSTEM - G4cerr << "***** UseBSDUnixDomainAuto " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** UseBSDUnixDomainAuto " << G4endl; #endif fIPMode = G4FukuiRenderer::IP_UNIX ; // Unix domain @@ -240,10 +256,13 @@ void G4FukuiRenderer::UseBSDUnixDomainAuto() //----- display status if(!flag_connected) { - G4cerr << "***** ERROR: Connection failed" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** ERROR: Connection failed" << G4endl; } else { - G4cerr << "*** GEANT4 is connected to FukuiRenderer DAWN "; - G4cerr << "in the same host" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "*** GEANT4 is connected to FukuiRenderer DAWN "; + G4cout << "in the same host" << G4endl; + } } } // if--else diff --git a/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc b/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc index dc967fc6ca..1db47a0f88 100644 --- a/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc +++ b/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FukuiRendererSceneHandler.cc,v 1.14 2006/06/29 21:17:00 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4FukuiRendererSceneHandler.cc,v 1.15 2010/11/11 01:13:42 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Satoshi TANAKA, Fri Jun 28 11:34:24 JST 1996 @@ -45,6 +45,7 @@ #include #include #include "globals.hh" +#include "G4VisManager.hh" #include "G4FRConst.hh" #include "G4FukuiRenderer.hh" #include "G4FukuiRendererSceneHandler.hh" @@ -124,7 +125,8 @@ fPrec (9), fPrec2 (16) G4FukuiRendererSceneHandler::~G4FukuiRendererSceneHandler () { #if defined DEBUG_FR_SCENE - G4cerr << "***** ~G4FukuiRendererSceneHandler" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** ~G4FukuiRendererSceneHandler" << G4endl; #endif ClearStore (); // clear current scene @@ -136,7 +138,8 @@ void G4FukuiRendererSceneHandler::FRBeginModeling( void ) if( !FRIsInModeling() ) { #if defined DEBUG_FR_SCENE - G4cerr << "***** G4FukuiRendererSceneHandler::FRBeginModeling (called & started)" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4FukuiRendererSceneHandler::FRBeginModeling (called & started)" << G4endl; #endif //----- Begin Saving g4.prim file @@ -172,21 +175,24 @@ void G4FukuiRendererSceneHandler::FRBeginModeling( void ) //----- send SET_CAMERA command // !SetCamera #if defined DEBUG_FR_SCENE - G4cerr << "***** (!SetCamera in FRBeginModeling())" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** (!SetCamera in FRBeginModeling())" << G4endl; #endif SendStr( FR_SET_CAMERA ); //----- open device // !OpenDevice #if defined DEBUG_FR_SCENE - G4cerr << "***** (!OpenDevice in FRBeginModeling())" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** (!OpenDevice in FRBeginModeling())" << G4endl; #endif SendStr( FR_OPEN_DEVICE ); //----- begin sending primitives // !BeginModeling #if defined DEBUG_FR_SCENE - G4cerr << "***** (!BeginModeling in FRBeginModeling())" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** (!BeginModeling in FRBeginModeling())" << G4endl; #endif SendStr( FR_BEGIN_MODELING ); FRflag_in_modeling = true ; diff --git a/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc b/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc index 153fe18f3c..878690d1cb 100644 --- a/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc +++ b/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FukuiRendererViewer.cc,v 1.11 2006/06/29 21:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4FukuiRendererViewer.cc,v 1.12 2010/11/11 01:13:42 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Satoshi TANAKA, Fri Jun 28 12:09:11 JST 1996 @@ -46,6 +46,7 @@ #include #include +#include "G4VisManager.hh" #include "G4Scene.hh" #include "G4Vector3D.hh" #include "G4VisExtent.hh" @@ -75,7 +76,8 @@ G4FukuiRendererViewer::~G4FukuiRendererViewer () void G4FukuiRendererViewer::SetView () { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4FukuiRendererViewer::SetView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4FukuiRendererViewer::SetView(): No effects" << G4endl; #endif // Do nothing, since DAWN is running as a different process. // SendViewParameters () will do this job instead. @@ -86,7 +88,8 @@ void G4FukuiRendererViewer::ClearView( void ) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4FukuiRendererViewer::ClearView (): No effects " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4FukuiRendererViewer::ClearView (): No effects " << G4endl; #endif } @@ -96,7 +99,8 @@ G4FukuiRendererViewer::ClearView( void ) void G4FukuiRendererViewer::DrawView () { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4FukuiRendererViewer::DrawView () " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4FukuiRendererViewer::DrawView () " << G4endl; #endif //----- Begin modeling 3D @@ -115,7 +119,8 @@ void G4FukuiRendererViewer::DrawView () void G4FukuiRendererViewer::ShowView( void ) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4FukuiRendererViewer::ShowView () " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4FukuiRendererViewer::ShowView () " << G4endl; #endif if( fSceneHandler.FRIsInModeling() ) @@ -136,12 +141,14 @@ void G4FukuiRendererViewer::ShowView( void ) void G4FukuiRendererViewer::Wait() { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4FukuiRendererViewer::Wait () : Begin" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4FukuiRendererViewer::Wait () : Begin" << G4endl; #endif fSceneHandler.SendStr ( FR_WAIT ); fSceneHandler.GetPrimDest().WaitSendBack( FR_WAIT ); #if defined DEBUG_FR_VIEW - G4cerr << "***** G4FukuiRendererViewer::Wait () : end" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4FukuiRendererViewer::Wait () : end" << G4endl; #endif } @@ -152,7 +159,8 @@ void G4FukuiRendererViewer::SendDevice( FRDEV dev ) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4FukuiRendererViewer::SendDevice() " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4FukuiRendererViewer::SendDevice() " << G4endl; #endif // enum {PS=1, XWIN=2, PS2=3, XWIN2=4, OPEN_GL=5, DEVICE_END=6}; @@ -167,7 +175,8 @@ G4FukuiRendererViewer::SendDevice( FRDEV dev ) void G4FukuiRendererViewer::SendDrawingStyle() { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4FukuiRendererViewer::SendDrawingStyle() " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4FukuiRendererViewer::SendDrawingStyle() " << G4endl; #endif G4int style = fVP.GetDrawingStyle(); @@ -200,7 +209,8 @@ void G4FukuiRendererViewer::SendViewParameters () // later due to user interaction via visualization system's GUI.) #if defined DEBUG_FR_VIEW - G4cerr << "***** G4FukuiRendererViewer::SendViewParameters()" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4FukuiRendererViewer::SendViewParameters()" << G4endl; #endif //----- Magic number to decide camera distance automatically @@ -228,8 +238,10 @@ void G4FukuiRendererViewer::SendViewParameters () } if ( camera_distance < radius ) { - G4cerr << "WARNING from FukuiRenderer (DAWN) driver:" << G4endl; - G4cerr << " Camera cannot enter inside objects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "WARNING from FukuiRenderer (DAWN) driver:" << G4endl; + G4cout << " Camera cannot enter inside objects" << G4endl; + } camera_distance = radius ; } diff --git a/source/visualization/GNUmakefile b/source/visualization/GNUmakefile index 60ecf320ce..1e845cff0d 100644 --- a/source/visualization/GNUmakefile +++ b/source/visualization/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.26 2009/11/17 11:31:20 gcosmo Exp $ +# $Id: GNUmakefile,v 1.27 2010/09/30 09:29:34 gcosmo Exp $ # ----------------------------------------------------------------------- # GNUmakefile for visualization and modeling. John Allison, 5/7/95. # Modeling is always made. Others by environment. John Allison 4/7/98. @@ -62,10 +62,13 @@ ifdef G4VIS_BUILD_OI_DRIVER endif endif #G4VIS_BUILD -.PHONY: granular glob global clean +.PHONY: granular obj glob global clean glob global: granular +obj: + @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) obj); done + granular: @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE)); done diff --git a/source/visualization/HepRep/CMakeLists.txt b/source/visualization/HepRep/CMakeLists.txt new file mode 100644 index 0000000000..3171422207 --- /dev/null +++ b/source/visualization/HepRep/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4visHepRep +# Package: Geant4.src.G4visualization.G4visHepRep +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:11:49 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/HepRep/History b/source/visualization/HepRep/History index 415cf72b25..7f3c11b173 100644 --- a/source/visualization/HepRep/History +++ b/source/visualization/HepRep/History @@ -1,4 +1,4 @@ -.$Id: History,v 1.132 2009/11/23 05:42:28 perl Exp $ +.$Id: History,v 1.136 2010/11/07 22:29:30 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,19 @@ committal in the CVS repository ! History file for visualization/HepRep sub-category -------------------------------------------------- +7th November 2010 Joseph Perl (vis-HepRep-V09-03-04) +- G4HepRepFileSceneHandler.hh: Fix coverity warning about uninitialized variables. Turns out they were unneeded. + +20th June 2010 Joseph Perl (vis-HepRep-V09-03-03) +- G4HepRepMessenger: Correct default of new option renderCylAsPolygons + +4th June 2010 Joseph Perl (vis-HepRep-V09-03-02) +- G4HepRepMessenger: Add command renderCylAsPolygons +- G4HepRepFileSceneHandler: Use new command + +30th May 2010 John Allison (vis-HepRep-V09-03-00) +- G4HepRep[File}SceneHandler: Added AddCompound(const G4VDigi&). + 22nd November 2009 Joseph Perl (vis-HepRep-V09-02-03) - Changed messenger to a singleton. - Added messenger commands to HepRepFile. diff --git a/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh b/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh index 16500d6c01..a0ee739849 100644 --- a/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh +++ b/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4HepRepFileSceneHandler.hh,v 1.31 2009/10/21 15:08:35 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HepRepFileSceneHandler.hh,v 1.33 2010/11/07 22:29:30 perl Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Joseph Perl 27th January 2002 @@ -84,6 +84,9 @@ public: void AddCompound (const G4THitsMap& hits) { G4VSceneHandler::AddCompound(hits); } + void AddCompound (const G4VDigi& digi) { + G4VSceneHandler::AddCompound(digi); + } // void PreAddSolid(const G4Transform3D& objectTransformation, // const G4VisAttributes&); // void PostAddSolid(); @@ -140,17 +143,12 @@ private: const G4Visible visible); void CheckFileOpen(); int fileCounter; - char fileDir[256]; - char fileName[256]; - G4bool fileOverwrite; - G4bool cullInvisibleObjects; G4bool haveVisible; G4bool inPrimitives2D; G4bool warnedAbout3DText; G4bool warnedAbout2DMarkers; G4bool drawingTraj; G4bool doneInitTraj; - G4bool drawTrajPts; G4bool drawingHit; G4bool doneInitHit; diff --git a/source/visualization/HepRep/include/G4HepRepMessenger.hh b/source/visualization/HepRep/include/G4HepRepMessenger.hh index 91d86e6578..22ea8465ee 100644 --- a/source/visualization/HepRep/include/G4HepRepMessenger.hh +++ b/source/visualization/HepRep/include/G4HepRepMessenger.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HepRepMessenger.hh,v 1.8 2009/11/23 05:42:28 perl Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HepRepMessenger.hh,v 1.9 2010/06/05 06:25:03 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // #ifndef G4HepRepMessenger_HH @@ -50,6 +50,7 @@ class G4HepRepMessenger : public G4UImessenger { virtual G4String getFileName(); virtual G4bool getOverwrite(); virtual G4bool getCullInvisibles(); + virtual G4bool renderCylAsPolygons(); // Used by HepRepXML virtual G4String getEventNumberSuffix(); @@ -75,7 +76,10 @@ class G4HepRepMessenger : public G4UImessenger { G4bool cullInvisibles; G4UIcmdWithABool* setCullInvisiblesCommand; - + + G4bool cylAsPolygons; + G4UIcmdWithABool* renderCylAsPolygonsCommand; + G4String suffix; G4UIcmdWithAString* setEventNumberSuffixCommand; diff --git a/source/visualization/HepRep/include/G4HepRepSceneHandler.hh b/source/visualization/HepRep/include/G4HepRepSceneHandler.hh index 98ecfafc73..6240b9a182 100644 --- a/source/visualization/HepRep/include/G4HepRepSceneHandler.hh +++ b/source/visualization/HepRep/include/G4HepRepSceneHandler.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HepRepSceneHandler.hh,v 1.44 2009/11/23 05:42:28 perl Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HepRepSceneHandler.hh,v 1.45 2010/05/30 10:28:02 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // /** @@ -82,6 +82,9 @@ class G4HepRepSceneHandler: public G4VSceneHandler { void AddCompound (const G4VTrajectory&); void AddCompound (const G4VHit& hit); + void AddCompound (const G4VDigi& digi) { + G4VSceneHandler::AddCompound(digi); + } void AddCompound (const G4THitsMap& hits) { G4VSceneHandler::AddCompound(hits); } diff --git a/source/visualization/HepRep/sources.cmake b/source/visualization/HepRep/sources.cmake new file mode 100644 index 0000000000..be91a953fb --- /dev/null +++ b/source/visualization/HepRep/sources.cmake @@ -0,0 +1,110 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4visHepRep +# Package: Geant4.src.G4visualization.G4visHepRep +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/09/30 13:50:34 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/externals/zlib/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/modeling/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4visHepRep + HEADERS + G4HepRep.hh + G4HepRepFile.hh + G4HepRepFileSceneHandler.hh + G4HepRepFileViewer.hh + G4HepRepFileXMLWriter.hh + G4HepRepMessenger.hh + G4HepRepSceneHandler.hh + G4HepRepViewer.hh + SOURCES + BHepRepWriter.cc + DefaultHepRep.cc + DefaultHepRepAction.cc + DefaultHepRepAttDef.cc + DefaultHepRepAttValue.cc + DefaultHepRepAttribute.cc + DefaultHepRepDefinition.cc + DefaultHepRepFactory.cc + DefaultHepRepInstance.cc + DefaultHepRepInstanceTree.cc + DefaultHepRepPoint.cc + DefaultHepRepTreeID.cc + DefaultHepRepType.cc + DefaultHepRepTypeTree.cc + DeflateOutputStreamBuffer.cc + G4HepRep.cc + G4HepRepFile.cc + G4HepRepFileSceneHandler.cc + G4HepRepFileViewer.cc + G4HepRepFileXMLWriter.cc + G4HepRepMessenger.cc + G4HepRepSceneHandler.cc + G4HepRepViewer.cc + GZIPOutputStream.cc + GZIPOutputStreamBuffer.cc + IndentPrintWriter.cc + XMLHepRepFactory.cc + XMLHepRepWriter.cc + XMLWriter.cc + ZipOutputStream.cc + ZipOutputStreamBuffer.cc + GRANULAR_DEPENDENCIES + G4csg + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4materials + G4modeling + G4specsolids + G4tracking + G4vis_management + G4zlib + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4modeling + G4tracking + G4vis_management + G4zlib + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc b/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc index 66ef853c82..8af6b660d6 100644 --- a/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc +++ b/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HepRepFileSceneHandler.cc,v 1.68 2009/12/16 17:51:21 gunter Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HepRepFileSceneHandler.cc,v 1.69 2010/06/05 06:25:03 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Joseph Perl 27th January 2002 @@ -209,10 +209,24 @@ void G4HepRepFileSceneHandler::AddSolid(const G4Cons& cons) { PrintThings(); #endif + // HepRApp does not correctly represent the end faces of cones at + // non-standard angles, let the base class convert these solids to polygons. + CLHEP::HepRotation r = fpObjectTransformation->getRotation(); + G4bool linedUpWithAnAxis = (std::fabs(r.phiX())<=.001 || + std::fabs(r.phiY())<=.001 || + std::fabs(r.phiZ())<=.001 || + std::fabs(r.phiX()-pi)<=.001 || + std::fabs(r.phiY()-pi)<=.001 || + std::fabs(r.phiZ()-pi)<=.001); + //G4cout << "Angle X:" << r.phiX() << ", Angle Y:" << r.phiY() << ", Angle Z:" << r.phiZ() << G4endl; + //G4cout << "linedUpWithAnAxis:" << linedUpWithAnAxis << G4endl; + // HepRep does not have a primitive for a cut cone, // so if this cone is cut, let the base class convert this // solid to polygons. - if (cons.GetDeltaPhiAngle() < twopi) { + G4HepRepMessenger* messenger = G4HepRepMessenger::GetInstance(); + if (cons.GetDeltaPhiAngle() < twopi || !linedUpWithAnAxis || messenger->renderCylAsPolygons()) + { G4VSceneHandler::AddSolid(cons); // Invoke default action. } else { @@ -277,7 +291,8 @@ void G4HepRepFileSceneHandler::AddSolid(const G4Tubs& tubs) { // HepRep does not have a primitive for a cut cylinder, // so if this cylinder is cut, let the base class convert this // solid to polygons. - if (tubs.GetDeltaPhiAngle() < twopi || !linedUpWithAnAxis) + G4HepRepMessenger* messenger = G4HepRepMessenger::GetInstance(); + if (tubs.GetDeltaPhiAngle() < twopi || !linedUpWithAnAxis || messenger->renderCylAsPolygons()) { G4VSceneHandler::AddSolid(tubs); // Invoke default action. } else { @@ -291,8 +306,6 @@ void G4HepRepFileSceneHandler::AddSolid(const G4Tubs& tubs) { haveVisible = false; AddHepRepInstance("Cylinder", NULL); - G4HepRepMessenger* messenger = G4HepRepMessenger::GetInstance(); - if (fpVisAttribs && (fpVisAttribs->IsVisible()==0) && messenger->getCullInvisibles()) return; @@ -474,7 +487,6 @@ void G4HepRepFileSceneHandler::AddCompound (const G4VTrajectory& traj) { dynamic_cast(fpModel); if (!pTrModel) G4Exception ("G4HepRepFileSceneHandler::AddCompound(const G4VTrajectory&): Not a G4TrajectoriesModel."); - G4int drawingMode = pTrModel->GetDrawingMode(); // Pointers to hold trajectory attribute values and definitions. std::vector* rawTrajAttValues = traj.CreateAttValues(); @@ -550,7 +562,7 @@ void G4HepRepFileSceneHandler::AddCompound (const G4VTrajectory& traj) { // Take all TrajectoryPoint attDefs from first point of first trajectory. // Would rather be able to get these attDefs without needing a reference from any // particular point, but don't know how to do that. - if ((drawingMode!=0 || trajContext->GetDrawStepPts() || trajContext->GetDrawAuxPts()) + if ((trajContext->GetDrawStepPts() || trajContext->GetDrawAuxPts()) && traj.GetPointEntries()>0) { G4VTrajectoryPoint* aTrajectoryPoint = traj.GetPoint(0); @@ -625,7 +637,7 @@ void G4HepRepFileSceneHandler::AddCompound (const G4VTrajectory& traj) { drawingTraj = false; // Draw step points. - if (drawingMode!=0 || trajContext->GetDrawStepPts()) { + if (trajContext->GetDrawStepPts()) { if (!doneInitTraj) InitTrajectory(); // Create Trajectory Points as a subType of Trajectories. @@ -641,22 +653,13 @@ void G4HepRepFileSceneHandler::AddCompound (const G4VTrajectory& traj) { G4int markSize; G4bool visible; G4bool square; - if (drawingMode==0) { - G4Colour colour = trajContext->GetStepPtsColour(); - redness = colour.GetRed(); - greenness = colour.GetGreen(); - blueness = colour.GetBlue(); - markSize = (G4int) trajContext->GetStepPtsSize(); - visible = (G4int) trajContext->GetStepPtsVisible(); - square = (trajContext->GetStepPtsType()==G4Polymarker::squares); - } else { - redness = 1.; - greenness = 1.; - blueness = 1.; - markSize = std::abs(drawingMode/1000); - visible = true; - square = false; - } + G4Colour colour = trajContext->GetStepPtsColour(); + redness = colour.GetRed(); + greenness = colour.GetGreen(); + blueness = colour.GetBlue(); + markSize = (G4int) trajContext->GetStepPtsSize(); + visible = (G4int) trajContext->GetStepPtsVisible(); + square = (trajContext->GetStepPtsType()==G4Polymarker::squares); // Avoiding drawing anything black on black. if (redness==0. && greenness==0. && blueness==0.) { @@ -734,7 +737,7 @@ void G4HepRepFileSceneHandler::AddCompound (const G4VTrajectory& traj) { } // Draw Auxiliary Points - if (drawingMode!=0 || trajContext->GetDrawAuxPts()) { + if (trajContext->GetDrawAuxPts()) { if (!doneInitTraj) InitTrajectory(); // Create Trajectory Points as a subType of Trajectories. @@ -750,22 +753,13 @@ void G4HepRepFileSceneHandler::AddCompound (const G4VTrajectory& traj) { G4int markSize; G4bool visible; G4bool square; - if (drawingMode==0) { - G4Colour colour = trajContext->GetAuxPtsColour(); - redness = colour.GetRed(); - greenness = colour.GetGreen(); - blueness = colour.GetBlue(); - markSize = (G4int) trajContext->GetAuxPtsSize(); - visible = (G4int) trajContext->GetAuxPtsVisible(); - square = (trajContext->GetAuxPtsType()==G4Polymarker::squares); - } else { - redness = 1.; - greenness = 1.; - blueness = 1.; - markSize = std::abs(drawingMode/1000); - visible = true; - square = false; - } + G4Colour colour = trajContext->GetAuxPtsColour(); + redness = colour.GetRed(); + greenness = colour.GetGreen(); + blueness = colour.GetBlue(); + markSize = (G4int) trajContext->GetAuxPtsSize(); + visible = (G4int) trajContext->GetAuxPtsVisible(); + square = (trajContext->GetAuxPtsType()==G4Polymarker::squares); // Avoiding drawing anything black on black. if (redness==0. && greenness==0. && blueness==0.) { diff --git a/source/visualization/HepRep/src/G4HepRepMessenger.cc b/source/visualization/HepRep/src/G4HepRepMessenger.cc index 120ba9e8a3..5f7c64cf91 100644 --- a/source/visualization/HepRep/src/G4HepRepMessenger.cc +++ b/source/visualization/HepRep/src/G4HepRepMessenger.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HepRepMessenger.cc,v 1.11 2009/11/23 05:42:28 perl Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4HepRepMessenger.cc,v 1.13 2010/06/21 04:43:07 perl Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #include "G4HepRepMessenger.hh" @@ -43,6 +43,7 @@ G4HepRepMessenger::G4HepRepMessenger() : fileName("G4Data"), overwrite(false), cullInvisibles(false), + cylAsPolygons(false), suffix (""), geometry(true), solids(true), @@ -100,6 +101,13 @@ G4HepRepMessenger::G4HepRepMessenger() : } setCullInvisiblesCommand->AvailableForStates(G4State_Idle); + renderCylAsPolygonsCommand = new G4UIcmdWithABool("/vis/heprep/renderCylAsPolygons", this); + renderCylAsPolygonsCommand->SetGuidance("Render cylinders and cones as polygons."); + renderCylAsPolygonsCommand->SetGuidance("This command is used by HepRepFile, not by HepRepXML."); + renderCylAsPolygonsCommand->SetParameterName("flag",false); + renderCylAsPolygonsCommand->SetDefaultValue(false); + renderCylAsPolygonsCommand->AvailableForStates(G4State_Idle); + setEventNumberSuffixCommand = new G4UIcmdWithAString("/vis/heprep/setEventNumberSuffix", this); setEventNumberSuffixCommand->SetGuidance("Write separate event files, appended with given suffix."); setEventNumberSuffixCommand->SetGuidance("Define the suffix with a pattern such as '-0000'."); @@ -121,13 +129,13 @@ G4HepRepMessenger::G4HepRepMessenger() : addPointAttributesCommand->SetParameterName("flag",false); addPointAttributesCommand->SetDefaultValue(false); addPointAttributesCommand->AvailableForStates(G4State_Idle); - - useSolidsCommand = new G4UIcmdWithABool("/vis/heprep/useSolids", this); - useSolidsCommand->SetGuidance("Use HepRep Solids, rather than Geant4 Primitives."); - useSolidsCommand->SetGuidance("This command is used by HepRepXML, not by HepRepFile."); - useSolidsCommand->SetParameterName("flag",false); - useSolidsCommand->SetDefaultValue(true); - useSolidsCommand->AvailableForStates(G4State_Idle); + + useSolidsCommand = new G4UIcmdWithABool("/vis/heprep/useSolids", this); + useSolidsCommand->SetGuidance("Use HepRep Solids, rather than Geant4 Primitives."); + useSolidsCommand->SetGuidance("This command is used by HepRepXML, not by HepRepFile.."); + useSolidsCommand->SetParameterName("flag",false); + useSolidsCommand->SetDefaultValue(true); + useSolidsCommand->AvailableForStates(G4State_Idle); } G4HepRepMessenger::~G4HepRepMessenger() { @@ -135,6 +143,7 @@ G4HepRepMessenger::~G4HepRepMessenger() { delete setFileNameCommand; delete setOverwriteCommand; delete setCullInvisiblesCommand; + delete renderCylAsPolygonsCommand; delete setEventNumberSuffixCommand; delete appendGeometryCommand; delete addPointAttributesCommand; @@ -151,6 +160,8 @@ G4String G4HepRepMessenger::GetCurrentValue(G4UIcommand * command) { return overwrite; } else if (command==setCullInvisiblesCommand) { return cullInvisibles; + } else if (command==renderCylAsPolygonsCommand) { + return renderCylAsPolygonsCommand->ConvertToString(cylAsPolygons); } else if (command==setEventNumberSuffixCommand) { return suffix; } else if (command==appendGeometryCommand) { @@ -173,6 +184,8 @@ void G4HepRepMessenger::SetNewValue(G4UIcommand * command, G4String newValue) { overwrite = setOverwriteCommand->GetNewBoolValue(newValue); } else if (command==setCullInvisiblesCommand) { cullInvisibles = setCullInvisiblesCommand->GetNewBoolValue(newValue); + } else if (command==renderCylAsPolygonsCommand) { + cylAsPolygons = renderCylAsPolygonsCommand->GetNewBoolValue(newValue); } else if (command==setEventNumberSuffixCommand) { suffix = newValue; } else if (command==appendGeometryCommand) { @@ -200,6 +213,10 @@ G4bool G4HepRepMessenger::getCullInvisibles() { return cullInvisibles; } +G4bool G4HepRepMessenger::renderCylAsPolygons() { + return cylAsPolygons; +} + G4String G4HepRepMessenger::getEventNumberSuffix() { return suffix; } diff --git a/source/visualization/History b/source/visualization/History index cc6c47f660..d7f1d6202d 100644 --- a/source/visualization/History +++ b/source/visualization/History @@ -1,4 +1,4 @@ -$Id: History,v 1.460 2009/11/23 05:56:37 perl Exp $ +$Id: History,v 1.493 2010/11/16 01:58:41 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -24,6 +24,149 @@ committal in the CVS repository ! History file for visualization category --------------------------------------- +15th November 2010 Joseph Perl (vis-V09-03-13) +- Global Vis Tag. Candidate for Geant4 release 9.4 +- modeling-V09-03-05 - Fix for time-slicing problem. + +13th November 2010 Joseph Perl ((vis-V09-03-12) +- Global Vis Tag. Candidate for Geant4 release 9.4 + +13th November 2010 John Allison +- opengl-V09-03-10: Added verbosity control. +- visexternal-V09-03-03: Fix for VC++. +- visman-V09-03-15: Code tidying. +- vistree-V09-03-00: Tagged inclusion of CMake stuff. +- All tags include CMake stuff. + +11th November 2010 Akinori Kimura +- DAWN-V09-03-01, gMocren-V09-03-05, VRML-V09-03-01: + o Replaced G4cerr with G4cout and added verbosity control. + +10th November 2010 John Allison +- openinventor-V09-03-02: Protected output with G4VisManager::confirmations. + +8th November 2010 John Allison (vis-V09-03-11) +- opengl-V09-03-09: Tidied display list limit. + +7th November 2010 John Allison (vis-V09-03-10) +- visman-V09-03-14: + o G4VisExecutive.icc: Inlined constructor. + o Fixed Coverity warnings. +- visexternal-V09-03-02: Fixed Linux warnings. +- vis-HepRep-V09-03-04: Fixed Linux warnings (Joseph). + +5th November 2010, John Allison +- modeling-V09-03-04: Fixed Coverity warnings. +- visman-V09-03-13: Fixed Coverity warnings. +- visexternal-V09-03-01: Update gl2ps to 1.3.5 (Laurent). + +27th October 2010 John Allison +- vistest-V09-03-01: Replaced MyPhysicsList by QGSP_BERT. +- raytracer-V09-03-03/4: Changes to GNUmakefile (Gabriele Cosmo). + +8th October 2010 John Allison (vis-V09-03-09 with co-working tags...) +- Co-working tags: interfaces-V09-03-12 + config-V09-03-08 +- visman-V09-03-12: + o Added /vis/viewer/set/defaultColour and defaultTextColour. +- opengl-V09-03-07/08: + o Improved kernel visit trigger. + o Time-slices fade to background colour. + o Many improvements to Qt. +- openinventor-V09-03-01: + o Improved kernel visit trigger. +- visXXX-V08-03-00: + o Improved kernel visit trigger. +- visexternal-V09-03-00: + o G4OpenGL2PSAction : add new method to set viewport. +- gMocren-V09-03-04: + o Added missing inclusion of . + +15th June 2010 John Allison (vis-V09-03-08) +- visman-V09-03-10: + o Added virtual destructors to fix compilation warnings. + o Improved action after "/vis/geometry/..." commands. +- raytracer-V09-03-02 (Gabriele Cosmo): + o Added virtual destructors to fix compilation warnings. + +4th June 2010 Joseph Perl (vis-V09-03-07) +- vis-HepRep-V09-03-02 + o Added command renderCylAsPolygon - opengl-V09-03-07 + o G4OpenGLImmediate/StoredQtViewer : Add protection against multiple + repaint call. Add protection against resizeGl with bad values + +3rd June 2010 John Allison +- opengl-V09-03-06: + o Restored all behaviour-sensitive changes to geant4-09-03. +- visman-V09-03-09: + o Fixed unchecked pointer. + o Changed /vis/scene/add/digiti[sz]ations to /vis/scene/add/digis. +- opengl-V09-03-05: + o Restored some changes to geant4-09-03 to preserve behaviour. + +1st June 2010 John Allison +- modeling-V09-03-03: Added default colours to G4TrajectoryDrawByParticleID. + +1st June 2010 John Allison (vis-V09-03-06) +- visman-V09-03-07: + o Made fVerbosity and GetVerbosity static (saves having to get vis + manager pointer). +- gMocren-V09-03-03: Removed dependency on G4VisManager. + +30th May 2010 John Allison (vis-V09-03-05) +- Co-works greps-V09-03-02. +- modeling-V09-03-02: Added G4DigiModel and G4DigiFilterFactories. +- visman-V09-03-06: + o Added /vis/scene/add/digiti[sz]ations and /vis/filtering/digi. + o Added AddCompound(const G4VDigi&). +- opengl-V09-03-04, gMocren-V09-03-02, VRML-V09-03-00, DAWN-V09-03-00, + raytracer-V09-03-01, vis-HepRep-V09-03-00: + o Added AddCompound(const G4VDigi&). + +29th May 2010 John Allison (vis-V09-03-04) +- Co-works greps-V09-03-01 and tracking-V09-03-03. +- visman-V09-03-05: + o Introduced DispatchToModel without i_mode. + o Moved i-mode deprecation warnings to G4VTrajectory. + o Improved /vis/viewer/rebuild. +- opengl-V09-03-03: Improvements. +- raytracer-V09-03-00: Added DrawTrajectory() ready for i_mode migration. + +28th May 2010 John Allison (vis-V09-03-03) +- Co-works interfaces-V09-03-04. +- visman-V09-03-03: Change order of flags to follow G4UIExecutive. +- visman-V09-03-04: G4VisManager, G4VisExecutive: + Introduced optional verbosity string argument in constructor. You + can now write, for example: + G4VisManager* visManager = new G4VisExecutive("quiet"); + Note that the default is "warnings": + G4VisManager* visManager = new G4VisExecutive; +- modeling-V09-03-01: Fixed unused parameter 'i_mode' warning. + +26th May 2010 John Allison (vis-V09-03-02) +- Co-working: intercoms-V09-03-01, interfaces-V09-03-03, greps-V09-03-00. +- visman-V09-03-02: Added generic drivers: OGL, OGLI, OGLS, OI. +- openinventor-V09-03-00: Protection against repeated initialisation. +- opengl-V09-03-02: Some improvments with auto rotation mode. + +20th May 2010 John Allison (vis-V09-03-01) +- Co-working tags: intercoms-V09-03-01, interfaces-V09-03-02 +- opengl-V09-03-01: + o GNUMakefile, G4OpenGLQtViewer : Better inclusion of new tabs in UI part +- visman-V09-03-01: + o Restore previous viewer after /vis/drawTree. + +11th May 2010 John Allison (vis-V09-03-00) +- visman-09-03-00: Print i_mode warnings. +- modeling-V09-03-00: + o Replace polyhedra with solids for sections and cutaways. + o Trap use of i_mode and print warning. +- opengl-V09-03-00: + o Many improvements to OpenGL Qt. + o Speed improvements for polymarkers (e.g., trajectories). + o Use generic section and cutaway algorithm. +- gMocren-V09-03-01: printing improvement. +- vistest-V09-03-00: Added printEPS to test19.g4m, as suggested by Laurent. + 22nd November 2009 Joseph Perl (vis-V09-02-12) - vis-HepRep-V09-02-03 o Changed messenger to a singleton. diff --git a/source/visualization/OpenGL/CMakeLists.txt b/source/visualization/OpenGL/CMakeLists.txt new file mode 100644 index 0000000000..c32591e051 --- /dev/null +++ b/source/visualization/OpenGL/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4OpenGL +# Package: Geant4.src.G4visualization.G4OpenGL +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:12:06 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/OpenGL/GNUmakefile b/source/visualization/OpenGL/GNUmakefile index b4c6bd3bb7..36a76fee8e 100644 --- a/source/visualization/OpenGL/GNUmakefile +++ b/source/visualization/OpenGL/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.11 2009/11/17 11:32:38 gcosmo Exp $ +# $Id: GNUmakefile,v 1.13 2010/05/20 07:09:33 lgarnier Exp $ name := G4OpenGL @@ -21,6 +21,7 @@ GLOBLIBS += libG4intercoms.lib libG4global.lib include $(G4INSTALL)/config/architecture.gmk include $(G4INSTALL)/config/G4VIS_BUILD.gmk +include $(G4INSTALL)/config/G4UI_BUILD.gmk include $(G4INSTALL)/config/interactivity.gmk CPPFLAGS += -I$(G4BASE)/visualization/externals/gl2ps/include @@ -34,6 +35,7 @@ CPPFLAGS += -I$(G4BASE)/graphics_reps/include CPPFLAGS += -I$(G4BASE)/geometry/management/include CPPFLAGS += -I$(G4BASE)/intercoms/include CPPFLAGS += -I$(G4BASE)/interfaces/common/include +CPPFLAGS += -I$(G4BASE)/interfaces/basic/include CPPFLAGS += -I$(G4BASE)/tracking/include CPPFLAGS += -I$(G4BASE)/digits_hits/hits/include diff --git a/source/visualization/OpenGL/History b/source/visualization/OpenGL/History index 811d4533a2..67bc141db0 100644 --- a/source/visualization/OpenGL/History +++ b/source/visualization/OpenGL/History @@ -1,4 +1,4 @@ -$Id: History,v 1.161 2009/11/17 17:21:11 allison Exp $ +$Id: History,v 1.193 2010/11/13 10:28:40 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,154 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +13th November 2010 John Allison (opengl-V09-03-10) +- Tagged. + +10th November 2010 John Allison +- G4OpenGLStoredSceneHandler.cc: Added commented out debug lines. +- G4OpenGLStoredSceneHandler.hh: Corrected misleading comment lines. +- G4OpenGLXViewer.cc: Protected output with G4VisManager::GetVerbosity. + +8th November 2010 John Allison (opengl-V09-03-09) +- G4OpenGLStoredSceneHandler: + o Removed fDisplayListBase (not needed; display list ids ARE re-used). + o Improved display list limit message. + +7th November 2010 John Allison +- G4OpenGLViewerMessenger.cc: Improved messages. + +6th November 2010 John Allison +- G4OpenGLViewerMessenger.cc: displayListLimit>=10000. +- G4OpenGLStoredSceneHandler: + o Made all display list management variables static. + o Bug fix: reset fMemoryForDisplayLists flag. + +5th November 2010 John Allison +- G4OpenGLStoredSceneHandler, G4OpenGLViewerMessenger: + o Introduced a display list limit to avoid memory exhaustion. + o Introduced /vis/ogl/set/displayListLimit. + +8th October 2010 Laurent Garnier +- G4OpenGQtViewer.cc: + o Add menu for changing text color, default color, background color + o Toogle projection now call directly command instead of redefinding it + +6th October 2010 John Allison (opengl-V09-03-08 with co-working tags...) +- Co-working tags: interfaces-V09-03-12 + config-V09-03-08 +- G4OpenGLStoredViewer.cc: + o Added default colour and default text colour to list of parameters + that trigger a kernel visit. + +5th October 2010 John Allison +- G4OpenGLStoredViewer.cc: Time-slices fade to background colour. + +5th October 2010 Laurent Garnier +- Change lots of shortcuts in Qt +- Add 'google earth like' rotation + +23th June 2010 Laurent Garnier +- G4OpenGLImmediate/StoredQtViewer : Fix compilation warnings +- G4OpenGLQtViewer : Add protection on Vis Tab without UI Qt + +4th June 2010 Laurent Garnier (opengl-V09-03-07) +- G4OpenGLImmediate/StoredQtViewer : Add protection against multiple + repaint call. Add protection against resizeGl with bad values + +3rd June 2010 John Allison (opengl-V09-03-06) +- G4OpenGLImmediateSceneHandler: Re-instate + // Make sure screen corresponds to graphical database... + if (fpViewer) { + fpViewer -> SetView (); + fpViewer -> ClearView (); + fpViewer -> DrawView (); + } + I was wrong - it *is* necessary. If not there, events are not refreshed. + So this and similar changes below are all back to geant4-09-03, including + glFlush, which is still a big performance penalty on Mac's Snow Leopard. + +3rd June 2010 John Allison (opengl-V09-03-05) +- Restored following files to geant4-09-03 in interests of stable behaviour: + o G4OpenGLStoredSceneHandler.cc + Restored code removed in opengl-V09-03-03: + // Make sure screen corresponds to graphical database... + if (fpViewer) { + fpViewer -> SetView (); + fpViewer -> ClearView (); + fpViewer -> DrawView (); + } + o G4OpenGLStoredXViewer.cc: + Restore to geant4-09-03. Restored code removed in opengl-V09-03-03: + } else { // ADD TO AVOID KernelVisit=1 and nothing to display + DrawDisplayLists (); + FinishView (); +- Note: G4OpenGLImmediateSceneHandler: Same code commented out. I think + it's not necessary for immediate mode. + +30th May 2010 John Allison (opengl-V09-03-04) +- G4OpenGLSceneHandler: Added AddCompound(const G4VDigi&). + +29th May 2010 John Allison (opengl-V09-03-03) +- G4OpenGLImmediateSceneHandler.cc, G4OpenGLStoredSceneHandler.cc: + Removed the following from ClearTransientStrore (was causing + unnecessary drawing and flipping buffers?): + // Make sure screen corresponds to graphical database... + if (fpViewer) { + fpViewer -> SetView (); + fpViewer -> ClearView (); + fpViewer -> DrawView (); + } +- G4OpenGLStoredXViewer.cc: + Commented out as follows in DrawView (was causing extra buffer swap, + thus showing bad picture; can't recall why it was introduced): + } else { // ADD TO AVOID KernelVisit=1 and nothing to display + //DrawDisplayLists (); ????????? (JA) + //FinishView (); ????????? (JA) + +26th May 2010 Laurent Garnier (opengl-V09-03-02) + - G4OpenGLQtViewer : Some improvments with auto rotation mode. + +20th May 2010 Laurent Garnier (opengl-V09-03-01) + Co-working tag : intercoms-V09-03-01, interfaces-V09-03-02 + - GNUMakefile, G4OpenGLQtViewer : Better inclusion of new tabs in UI part + +11th May 2010 John Allison (opengl-V09-03-00) +- G4OpenGLSceneHandler: + o Use generic section and cutaway algorithm. + o Follow change in generic section and cutaway interface. +- G4OpenGLViewer.cc: + o Use generic section and cutaway algorithm. + o Fix compiler warning (*p++). + o Replace strdup by local inline code. + +29th April 2010 Laurent Garnier + - G4OpenGLSceneHandler : Speed Improvment by drawing vector of + markers instead one by one + +27th April 2010 Laurent Garnier + - G4OpenGLStoredXmViewer : remove viewer form list at destruction + - G4OpenGLViewer : Fix a problem when printing in gl2ps + +9th March 2010 Laurent Garnier + - G4OpenGLViewer : Fix clipping when resizing non square size windows + Remove error message when no scene present. + - G4OpenGLImmediateQtViewer, G4OpenGLStoredQtViewer : + - Add some protections if viewer is in tab + - fix some redraw probems when focus was outside frame + - Add ShowView() and paintEvent() methods + - DrawView method is now the same in Store and Immediate mode + - G4OpenGLQtViewer : Add things for viewer in tabs + +3rd March 2010 Laurent Garnier +- G4OpenGLViewer : Add protection against null pointer scene + +27th January 2010 Gabriele Cosmo +- Fixed compilation warnings on G4OpenGLQtViewer and corrected compilation + error when using Qt-3. + +6th January 2010 Laurent Garnier (needs interfaces-V09-02-07 + laurent-QtUI_with_tabs_v1) +- GNUMakefile : Add include for interfaces/basic +- G4OpenGLQtWiewer : Integration into QtUI Tab + 17th November 2009 John Allison (opengl-V09-02-10) - Tagged for vis tag. diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateQtViewer.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateQtViewer.hh index f06860b43e..92959d63ac 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateQtViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateQtViewer.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLImmediateQtViewer.hh,v 1.6 2009/10/14 13:27:30 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLImmediateQtViewer.hh,v 1.7 2010/03/10 11:03:46 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Class G4OpenGLImmediateQtViewer : a class derived from @@ -55,13 +55,13 @@ public: void Initialise (); void initializeGL (); void DrawView (); - void FinishView (); void resizeGL(int width,int height); void paintGL(); void updateQWidget(); void ShowView (); protected: + void showEvent(QShowEvent * event ); void wheelEvent(QWheelEvent *event); void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); @@ -69,6 +69,7 @@ protected: void mouseReleaseEvent(QMouseEvent *event); void contextMenuEvent(QContextMenuEvent *e); void keyPressEvent (QKeyEvent * event); + void paintEvent(QPaintEvent *event); private: void ComputeView (); diff --git a/source/visualization/OpenGL/include/G4OpenGLQtViewer.hh b/source/visualization/OpenGL/include/G4OpenGLQtViewer.hh index 95cca8e29b..54b0054cda 100644 --- a/source/visualization/OpenGL/include/G4OpenGLQtViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLQtViewer.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLQtViewer.hh,v 1.20 2009/10/21 08:14:44 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLQtViewer.hh,v 1.25 2010/10/08 10:07:31 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // G4OpenGLQtViewer : Class to provide WindowsNT specific @@ -44,6 +44,7 @@ #include class G4OpenGLSceneHandler; +class G4UImanager; class QGLWidget; class QDialog; @@ -114,25 +115,27 @@ protected: void G4keyPressEvent (QKeyEvent * event); void rotateQtScene(float, float); void rotateQtCamera(float, float); + void rotateQtSceneInViewDirection(float, float); + void rotateQtCameraInViewDirection(float, float); void moveScene(float, float, float,bool); void FinishView(); +#if QT_VERSION < 0x040000 + void updateKeyModifierState(Qt::ButtonState); +#else + void updateKeyModifierState(Qt::KeyboardModifiers); +#endif protected: QGLWidget* fWindow; - QDialog* fGLWindow; + QWidget* fGLWindow; bool hasPendingEvents(); void savePPMToTemp(); int fRecordFrameNumber; - float fRotationAngleX; - float fRotationAngleY; - float fRotationAngleZ; - float fDeltaRotationAngleX; - float fDeltaRotationAngleY; - float fDeltaRotationAngleZ; bool fHasToRepaint; bool fReadyToPaint; + bool fIsRepainting; private: enum mouseActions {STYLE1,STYLE2,STYLE3,STYLE4}; @@ -197,8 +200,17 @@ private: QProcess *fProcess; QTime *fLastEventTime; int fSpinningDelay; + int fNbMaxFramesPerSec; + float fNbMaxAnglePerSec; int fLaunchSpinDelay; + G4double fXRot; + G4double fYRot; + bool fNoKeyPress; + bool fAltKeyPress; + bool fControlKeyPress; + bool fShiftKeyPress; + signals: void rotateTheta(int); void rotatePhi(int); @@ -218,6 +230,9 @@ private slots : void actionDrawingSurfaceRemoval(); void actionDrawingLineSurfaceRemoval(); void actionSaveImage(); + void actionChangeBackgroundColor(); + void actionChangeTextColor(); + void actionChangeDefaultColor(); void actionMovieParameters(); void showShortcuts(); @@ -225,7 +240,6 @@ private slots : void toggleMouseAction(mouseActions); void toggleRepresentation(bool); void toggleProjection(bool); - void toggleBackground(bool); void toggleTransparency(bool); void toggleAntialiasing(bool); void toggleHaloing(bool); diff --git a/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh b/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh index 0d433835d5..1579841467 100644 --- a/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh +++ b/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLSceneHandler.hh,v 1.27 2009/10/21 15:18:14 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLSceneHandler.hh,v 1.30 2010/05/30 09:53:05 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Andrew Walkden 27th March 1996 @@ -63,6 +63,7 @@ public: void AddPrimitive (const G4Text&); void AddPrimitive (const G4Circle&); void AddPrimitive (const G4Square&); + void AddPrimitives (std::vector ); void AddPrimitive (const G4Scale&); void AddPrimitive (const G4Polyhedron&); void AddPrimitive (const G4NURBS&); @@ -82,6 +83,7 @@ public: void AddSolid (const G4VSolid&); void AddCompound (const G4VTrajectory&); void AddCompound (const G4VHit&); + void AddCompound (const G4VDigi&); void AddCompound (const G4THitsMap&); protected: @@ -91,8 +93,8 @@ protected: const G4String& name = ""); virtual ~G4OpenGLSceneHandler (); - const G4Polyhedron* CreateSectionPolyhedron (); - const G4Polyhedron* CreateCutawayPolyhedron (); + G4VSolid* CreateSectionSolid (); + G4VSolid* CreateCutawaySolid (); void ClearAndDestroyAtts(); // Destroys att holders and clears pick map. @@ -104,6 +106,7 @@ protected: private: void AddCircleSquare (const G4VMarker&, G4OpenGLBitMapStore::Shape); + void AddCircleSquareVector (std::vector , G4OpenGLBitMapStore::Shape); void DrawXYPolygon (G4OpenGLBitMapStore::Shape, diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredQtViewer.hh b/source/visualization/OpenGL/include/G4OpenGLStoredQtViewer.hh index 939b279d96..37ea6fc67b 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredQtViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredQtViewer.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredQtViewer.hh,v 1.9 2009/10/14 13:27:30 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLStoredQtViewer.hh,v 1.10 2010/03/10 11:03:46 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Class G4OpenGLStoredQtViewer : a class derived from @@ -63,6 +63,7 @@ public: void ShowView (); protected: + void showEvent(QShowEvent * event ); void wheelEvent(QWheelEvent *event); void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); @@ -70,6 +71,7 @@ protected: void mouseReleaseEvent(QMouseEvent *event); void contextMenuEvent(QContextMenuEvent *e); void keyPressEvent (QKeyEvent * event); + void paintEvent(QPaintEvent *event); private: void ComputeView (); diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh b/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh index 71e15907b1..73e9517edf 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredSceneHandler.hh,v 1.28 2009/02/04 16:48:40 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLStoredSceneHandler.hh,v 1.32 2010/11/10 17:10:49 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Andrew Walkden 10th February 1997 @@ -68,19 +68,25 @@ public: void ClearStore (); void ClearTransientStore (); + static G4int GetDisplayListLimit() {return fDisplayListLimit;} + static void SetDisplayListLimit(G4int lim) {fDisplayListLimit = lim;} + protected: void RequestPrimitives (const G4VSolid& solid); void AddPrimitivePreamble(const G4Visible& visible); void AddPrimitivePostamble(); - static G4int fSceneIdCount; // static counter for OpenGLStored scenes. - G4int fDisplayListId; // Workspace. - G4bool fMemoryForDisplayLists; // avoid memory overflow + static G4int fSceneIdCount; // static counter for OpenGLStored scenes. + // Display list management. All static since there's only one OGL store. + static G4int fDisplayListId; // Workspace. + static G4bool fMemoryForDisplayLists; // avoid memory overflow + static G4int fDisplayListLimit; // avoid memory overflow G4int fAddPrimitivePreambleNestingDepth; // PODL = Persistent Object Display List. GLint fTopPODL; // List which calls the other PODLs. + // PO = Persistent Object, i.e., run-durantion object, e.g., geometry. struct PO { PO(G4int id, const G4Transform3D& tr = G4Transform3D()); G4int fDisplayListId; @@ -89,7 +95,7 @@ protected: }; std::vector fPOList; - // TO = Transparent Object. + // TO = Transient Object, e.g., trajectories. struct TO { TO(G4int id, const G4Transform3D& tr = G4Transform3D()); G4int fDisplayListId; diff --git a/source/visualization/OpenGL/include/G4OpenGLViewer.hh b/source/visualization/OpenGL/include/G4OpenGLViewer.hh index 2593bed31c..7fb7405a39 100644 --- a/source/visualization/OpenGL/include/G4OpenGLViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLViewer.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLViewer.hh,v 1.32 2009/05/14 16:38:23 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLViewer.hh,v 1.33 2010/10/05 15:45:19 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Andrew Walkden 27th March 1996 @@ -69,6 +69,7 @@ protected: void Pick(GLdouble x, GLdouble y); virtual void CreateFontLists () {} void rotateScene (G4double dx, G4double dy,G4double delta); + void rotateSceneInViewDirection (G4double dx, G4double dy,G4double delta); //////////////////////////////Vectored PostScript production functions/// void printEPS(); // print EPS file. Depending of fVectoredPs, it will print Vectored or not diff --git a/source/visualization/OpenGL/include/G4OpenGLViewerMessenger.hh b/source/visualization/OpenGL/include/G4OpenGLViewerMessenger.hh index b158e7cb0e..23cb6a8f5e 100644 --- a/source/visualization/OpenGL/include/G4OpenGLViewerMessenger.hh +++ b/source/visualization/OpenGL/include/G4OpenGLViewerMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLViewerMessenger.hh,v 1.7 2009/05/18 09:07:12 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLViewerMessenger.hh,v 1.8 2010/11/05 06:25:23 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #ifndef G4OPENGLVIEWERMESSENGER_HH #define G4OPENGLVIEWERMESSENGER_HH @@ -40,6 +40,7 @@ class G4UIcmdWithoutParameter; class G4UIcmdWithADouble; class G4UIcmdWithABool; class G4UIcmdWithAString; +class G4UIcmdWithAnInteger; class G4OpenGLViewerMessenger: public G4UImessenger { public: @@ -56,6 +57,7 @@ private: G4UIcommand* fpCommandPrintFilename; G4UIdirectory* fpDirectorySet; G4UIcommand* fpCommandDisplayHeadTime; + G4UIcmdWithAnInteger* fpCommandDisplayListLimit; G4UIcommand* fpCommandDisplayLightFront; G4UIcommand* fpCommandEndTime; G4UIcmdWithADouble* fpCommandFade; diff --git a/source/visualization/OpenGL/sources.cmake b/source/visualization/OpenGL/sources.cmake new file mode 100644 index 0000000000..1979fa36e8 --- /dev/null +++ b/source/visualization/OpenGL/sources.cmake @@ -0,0 +1,182 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4OpenGL +# Package: Geant4.src.G4visualization.G4OpenGL +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.5 2010/12/01 16:57:53 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/interfaces/basic/include) +include_directories(${CMAKE_SOURCE_DIR}/source/interfaces/common/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/externals/gl2ps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/modeling/include) + +# +# Module has optional sources +# +include(Geant4MacroDefineModule) + +# +# Define the core sources, includes and libraries which all Geant4 +# OpenGL implementations use +# +set(G4VIS_MODULE_OPENGL_HEADERS + G4OpenGL.hh + G4OpenGLImmediateViewer.hh + G4OpenGLImmediateSceneHandler.hh + G4OpenGLViewer.hh + G4OpenGLStoredViewer.hh + G4OpenGLStoredSceneHandler.hh + G4OpenGLBitMapStore.hh + G4OpenGLFontBaseStore.hh + G4OpenGLSceneHandler.hh + G4OpenGLSceneHandler.icc + G4OpenGLViewerMessenger.hh + G4OpenGLTransform3D.hh +) + +set(G4VIS_MODULE_OPENGL_SOURCES + G4OpenGLImmediateViewer.cc + G4OpenGLImmediateSceneHandler.cc + G4OpenGLViewer.cc + G4OpenGLStoredViewer.cc + G4OpenGLStoredSceneHandler.cc + G4OpenGLBitMapStore.cc + G4OpenGLFontBaseStore.cc + G4OpenGLSceneHandler.cc + G4OpenGLViewerMessenger.cc + G4OpenGLTransform3D.cc +) + +# +# May need OpenGL include here +# +include_directories(${OPENGL_INCLUDE_DIR}) +set(G4VIS_MODULE_OPENGL_LINK_LIBRARIES ${OPENGL_LIBRARIES}) + +# +# All of the above files must have the G4VIS_BUILD_OPENGL_DRIVER definition +# +GEANT4_ADD_COMPILE_DEFINITIONS(SOURCES ${G4VIS_MODULE_OPENGL_SOURCES} + COMPILE_DEFINITIONS G4VIS_BUILD_OPENGL_DRIVER) + + +# +# Qt only if selected +# +if(GEANT4_USE_QT) + # + # Add in the extra Qt GL sources + # + list(APPEND G4VIS_MODULE_OPENGL_HEADERS + G4OpenGLImmediateQt.hh + G4OpenGLImmediateQtViewer.hh + G4OpenGLQtExportDialog.hh + G4OpenGLQtMovieDialog.hh + G4OpenGLQtViewer.hh + G4OpenGLStoredQt.hh + G4OpenGLStoredQtViewer.hh) + + list(APPEND G4VIS_MODULE_OPENGL_SOURCES + G4OpenGLImmediateQt.cc + G4OpenGLImmediateQtViewer.cc + G4OpenGLQtExportDialog.cc + G4OpenGLQtMovieDialog.cc + G4OpenGLQtViewer.cc + G4OpenGLStoredQt.cc + G4OpenGLStoredQtViewer.cc) + + + # Include the UseQt file to build the moc wrappers + include(${QT_USE_FILE}) + + # Add the moc sources - must use absolute path to the files + QT4_WRAP_CPP(G4OPENGL_MOC_SOURCES + ${CMAKE_SOURCE_DIR}/source/visualization/OpenGL/include/G4OpenGLQtExportDialog.hh + ${CMAKE_SOURCE_DIR}/source/visualization/OpenGL/include/G4OpenGLQtMovieDialog.hh + ${CMAKE_SOURCE_DIR}/source/visualization/OpenGL/include/G4OpenGLQtViewer.hh + OPTIONS -DG4VIS_BUILD_OPENGLQT_DRIVER) + + list(APPEND G4VIS_MODULE_OPENGL_SOURCES ${G4OPENGL_MOC_SOURCES}) + + # Add the definitions + # Argh.. Have to remember about INTY and UI because of their use... + GEANT4_ADD_COMPILE_DEFINITIONS(SOURCES ${G4VIS_MODULE_OPENGL_SOURCES} + COMPILE_DEFINITIONS + G4VIS_BUILD_OPENGL_DRIVER;G4VIS_BUILD_OPENGLQT_DRIVER;G4INTY_BUILD_QT;G4UI_BUILD_QT_SESSION) + + # And for the moc files because these are in the build tree + set_source_files_properties(${G4OPENGL_MOC_SOURCES} + PROPERTIES + COMPILE_DEFINITIONS + "G4VIS_BUILD_OPENGL_DRIVER;G4VIS_BUILD_OPENGLQT_DRIVER" + ) + + # Add in Qt libraries + list(APPEND G4VIS_MODULE_OPENGL_LINK_LIBRARIES ${QT_LIBRARIES}) + +endif() + +# +# Define the Geant4 Module. +# +GEANT4_DEFINE_MODULE(NAME G4OpenGL + HEADERS + ${G4VIS_MODULE_OPENGL_HEADERS} + SOURCES + ${G4VIS_MODULE_OPENGL_SOURCES} + GRANULAR_DEPENDENCIES + G4UIbasic + G4UIcommon + G4csg + G4geometrymng + G4gl2ps + G4globman + G4graphics_reps + G4hits + G4intercoms + G4modeling + G4specsolids + G4tracking + G4vis_management + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4gl2ps + G4global + G4graphics_reps + G4intercoms + G4interfaces + G4modeling + G4tracking + G4vis_management + LINK_LIBRARIES + ${G4VIS_MODULE_OPENGL_LINK_LIBRARIES} +) + +# List any source specific properties here + diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc index 1103acfdb2..6601de93cd 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLImmediateQtViewer.cc,v 1.17 2009/11/03 11:02:32 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLImmediateQtViewer.cc,v 1.22 2010/06/23 13:29:23 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Class G4OpenGLImmediateQtViewer : a class derived from G4OpenGLQtViewer and @@ -52,7 +52,8 @@ G4OpenGLImmediateQtViewer::G4OpenGLImmediateQtViewer #else setFocusPolicy(Qt::StrongFocus); // enable keybord events #endif - fHasToRepaint =false; + fHasToRepaint = false; + fIsRepainting = false; if (fViewId < 0) return; // In case error in base class instantiation. } @@ -96,19 +97,8 @@ void G4OpenGLImmediateQtViewer::initializeGL () { } -/** To ensure compatibility with DrawView method - */ void G4OpenGLImmediateQtViewer::DrawView() { -#ifdef G4DEBUG_VIS_OGL - printf("G4OpenGLImmediateQtViewer::DrawView VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n"); -#endif - // That's no the same logic as Stored Viewer, I don't know why... - // see G4OpenGLStoredQtViewer::DrawView for more informations - updateQWidget(); -#ifdef G4DEBUG_VIS_OGL - printf("G4OpenGLImmediateQtViewer::DrawView ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); -#endif } @@ -130,7 +120,7 @@ void G4OpenGLImmediateQtViewer::ComputeView () { HaloingFirstPass (); NeedKernelVisit (); ProcessView (); - glFlush (); + FinishView(); #ifdef G4DEBUG_VIS_OGL printf("G4OpenGLImmediateQtViewer::ComputeView First ProcessView ok\n"); #endif @@ -151,19 +141,6 @@ void G4OpenGLImmediateQtViewer::ComputeView () { fHasToRepaint = true; } -void G4OpenGLImmediateQtViewer::FinishView() -{ -#ifdef G4DEBUG_VIS_OGL - printf("G4OpenGLImmediateQtViewer::FinishView() BEGIN\n"); -#endif - glFlush (); -#ifdef G4DEBUG_VIS_OGL - printf("G4OpenGLImmediateQtViewer::FinishView() END\n"); -#endif - -} - - /** - Lors du resize de la fenetre, on doit non pas redessiner le detecteur, mais aussi les evenements */ @@ -171,24 +148,32 @@ void G4OpenGLImmediateQtViewer::resizeGL( int aWidth ,int aHeight) { - ResizeWindow(aWidth,aHeight); - fHasToRepaint = sizeHasChanged(); + if ((aWidth > 0) && (aHeight > 0)) { + ResizeWindow(aWidth,aHeight); + fHasToRepaint = sizeHasChanged(); + } } void G4OpenGLImmediateQtViewer::paintGL() { -#ifdef G4DEBUG_VIS_OGL - printf("\n\nG4OpenGLImmediateQtViewer::paintGL ??\n"); -#endif + if (fIsRepainting) { + // return ; + } if (!fReadyToPaint) { fReadyToPaint= true; return; } + if ((getWinWidth() == 0) && (getWinHeight() == 0)) { + return; + } + // DO NOT RESIZE IF SIZE HAS NOT CHANGE if ( !fHasToRepaint) { #if QT_VERSION < 0x040000 if (((getWinWidth() == (unsigned int)width())) &&(getWinHeight() == (unsigned int) height())) { + return; + } #else // L. Garnier : Trap to get the size with mac OSX 10.6 and Qt 4.6(devel) // Tested on Qt4.5 on mac, 4.4 on windows, 4.5 on unbuntu @@ -202,9 +187,14 @@ void G4OpenGLImmediateQtViewer::paintGL() sh = frameGeometry().height(); } if ((getWinWidth() == (unsigned int)sw) &&(getWinHeight() == (unsigned int)sh)) { -#endif return; + + } else if ((sw == 0) && (sh == 0)) { // NOT A TOP LEVEL WIDGET + if (((getWinWidth() == (unsigned int)width())) &&(getWinHeight() == (unsigned int) height())) { + return; + } } +#endif } #ifdef G4DEBUG_VIS_OGL printf("G4OpenGLImmediateQtViewer::paintGL VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV ready %d\n",fReadyToPaint); @@ -220,6 +210,7 @@ void G4OpenGLImmediateQtViewer::paintGL() #ifdef G4DEBUG_VIS_OGL printf("G4OpenGLImmediateQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready %d\n\n\n",fReadyToPaint); #endif + fIsRepainting = false; } void G4OpenGLImmediateQtViewer::mousePressEvent(QMouseEvent *event) @@ -237,6 +228,12 @@ void G4OpenGLImmediateQtViewer::wheelEvent (QWheelEvent * event) G4wheelEvent(event); } +void G4OpenGLImmediateQtViewer::showEvent (QShowEvent *) +{ + fHasToRepaint = true; +} + + /** * This function was build in order to make a zoom on double clic event. * It was think to build a rubberband on the zoom area, but never work fine @@ -262,9 +259,17 @@ void G4OpenGLImmediateQtViewer::contextMenuEvent(QContextMenuEvent *e) G4manageContextMenuEvent(e); } +void G4OpenGLImmediateQtViewer::paintEvent(QPaintEvent *) { + if ( fHasToRepaint) { + updateGL(); + } +} + + void G4OpenGLImmediateQtViewer::updateQWidget() { fHasToRepaint= true; updateGL(); + repaint(); fHasToRepaint= false; } @@ -274,6 +279,7 @@ void G4OpenGLImmediateQtViewer::ShowView ( ////////////////////////////////////////////////////////////////////////////// //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// { + fHasToRepaint = true; #if QT_VERSION < 0x040000 setActiveWindow(); #else diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc index 3ddae9393e..d50886601b 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLImmediateSceneHandler.cc,v 1.31 2009/02/04 16:48:41 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLImmediateSceneHandler.cc,v 1.35 2010/06/03 20:35:19 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc b/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc index ab7c55001b..bad02590fa 100644 --- a/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLQtViewer.cc,v 1.45 2009/10/21 08:14:44 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLQtViewer.cc,v 1.55 2010/10/08 10:07:31 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // G4OpenGLQtViewer : Class to provide Qt specific @@ -51,6 +51,7 @@ #include "G4OpenGLQtMovieDialog.hh" #include "G4UnitsTable.hh" #include "G4Qt.hh" +#include "G4UIQt.hh" #include "G4UImanager.hh" #include "G4UIcommandTree.hh" #include @@ -77,6 +78,7 @@ #include #include // include #include +#include #include //include @@ -109,42 +111,87 @@ void G4OpenGLQtViewer::CreateMainWindow ( fWindow = glWidget ; // fWindow->makeCurrent(); - QWidget *myParent = getParentWidget(); - if (myParent != NULL) { -#if QT_VERSION < 0x040000 - glWidget->reparent(myParent,0,QPoint(0,0)); -#else - glWidget->setParent(myParent); -#endif - } + //G4Qt* interactorManager = G4Qt::getInstance (); - QHBoxLayout *mainLayout = new QHBoxLayout(fGLWindow); - mainLayout->setMargin(0); - mainLayout->setSpacing(0); - mainLayout->addWidget(fWindow); - -#if QT_VERSION < 0x040000 - fGLWindow->setCaption(name ); -#else - fGLWindow->setLayout(mainLayout); - fGLWindow->setWindowTitle( name); -#endif ResizeWindow(fVP.GetWindowSizeHintX(),fVP.GetWindowSizeHintY()); + + // FIXME L.Garnier 9/11/09 Has to be check !!! + // Qt UI with Qt Vis + // Qt UI with X Vis + // X UI with Qt Vis + // X UI with X Vis + // Ne marche pas avec un UIBatch !! (ecran blanc) - //useful for MACOSX, we have to compt the menuBar height - int offset = QApplication::desktop()->height() - - QApplication::desktop()->availableGeometry().height(); + // return false if G4UIQt was not launch - G4int YPos= fVP.GetWindowAbsoluteLocationHintY(QApplication::desktop()->height()); - if (fVP.GetWindowAbsoluteLocationHintY(QApplication::desktop()->height())< offset) { - YPos = offset; - } - fGLWindow->resize(getWinWidth(), getWinHeight()); - fGLWindow->move(fVP.GetWindowAbsoluteLocationHintX(QApplication::desktop()->width()),YPos); - fGLWindow->show(); + G4UImanager* UI = G4UImanager::GetUIpointer(); + if (UI == NULL) return; + + if (! static_cast (UI->GetG4UIWindow())) return; + + G4UIQt * uiQt = static_cast (UI->GetG4UIWindow()); - if(!fWindow) return; + bool isTabbedView = false; + if ( uiQt) { + isTabbedView = uiQt->AddTabWidget(fWindow,name,getWinWidth(),getWinHeight()); + } +#ifdef G4DEBUG_VIS_OGL + else { + printf("G4OpenGLQtViewer::CreateMainWindow :: UIQt NOt found \n"); + } +#endif + if (!isTabbedView) { // we have to do a dialog + + QWidget *myParent = getParentWidget(); +#ifdef G4DEBUG_VIS_OGL + printf("G4OpenGLQtViewer::CreateMainWindow :: getParent OK \n"); +#endif + if (myParent != NULL) { +#if QT_VERSION < 0x040000 + glWidget->reparent(myParent,0,QPoint(0,0)); +#else + glWidget->setParent(myParent); +#endif + } + QHBoxLayout *mainLayout = new QHBoxLayout(fGLWindow); + + mainLayout->setMargin(0); + mainLayout->setSpacing(0); + mainLayout->addWidget(fWindow); + if (fGLWindow->inherits("QMainWindow")) { +#if QT_VERSION < 0x040000 + fGLWindow->setCaption(name ); +#else + fGLWindow->setWindowTitle( name); +#endif + } +#if QT_VERSION >= 0x040000 + fGLWindow->setLayout(mainLayout); +#endif + + + //useful for MACOSX, we have to compt the menuBar height + int offset = QApplication::desktop()->height() + - QApplication::desktop()->availableGeometry().height(); + + G4int YPos= fVP.GetWindowAbsoluteLocationHintY(QApplication::desktop()->height()); + if (fVP.GetWindowAbsoluteLocationHintY(QApplication::desktop()->height())< offset) { + YPos = offset; + } + fGLWindow->resize(getWinWidth(), getWinHeight()); +#ifdef G4DEBUG_VIS_OGL + printf("G4OpenGLQtViewer::CreateMainWindow :: resizing to %d %d \n",getWinWidth(), getWinHeight()); +#endif + fGLWindow->move(fVP.GetWindowAbsoluteLocationHintX(QApplication::desktop()->width()),YPos); + fGLWindow->show(); + } else { + fGLWindow = fWindow; + fGLWindow->resize(getWinWidth(), getWinHeight()); + } + + if(!fWindow) return; + if (!fContextMenu) createPopupMenu(); @@ -166,10 +213,6 @@ G4OpenGLQtViewer::G4OpenGLQtViewer ( ,G4OpenGLViewer (scene) ,fWindow(0) ,fRecordFrameNumber(0) - ,fRotationAngleX(0) - ,fRotationAngleY(0) - ,fDeltaRotationAngleX(0) - ,fDeltaRotationAngleY(0) ,fContextMenu(0) ,fMouseAction(STYLE1) ,fDeltaRotation(1) @@ -189,7 +232,15 @@ G4OpenGLQtViewer::G4OpenGLQtViewer ( ,fMovieParametersDialog(NULL) ,fRecordingStep(WAIT) ,fProcess(NULL) + ,fNbMaxFramesPerSec(100) + ,fNbMaxAnglePerSec(360) ,fLaunchSpinDelay(100) + ,fXRot(0) + ,fYRot(0) + ,fNoKeyPress(true) + ,fAltKeyPress(false) + ,fControlKeyPress(false) + ,fShiftKeyPress(false) { // launch Qt if not @@ -494,37 +545,86 @@ void G4OpenGLQtViewer::createPopupMenu() { SLOT(actionDrawingLineSurfaceRemoval())); #endif + // Background Color - + QAction *backgroundColorChooser ; #if QT_VERSION < 0x040000 - QPopupMenu *mBackground = new QPopupMenu(mStyle); - mStyle->insertItem("&Background color",mBackground); + QPopupMenu *mBackgroundColor = new QPopupMenu(mStyle); + mStyle->insertItem("&Background color",mBackgroundColor); #if QT_VERSION < 0x030200 - QAction *white = new QAction("&White","&White",CTRL+Key_W,mBackground,0,true); - QAction *black = new QAction("&Black","&Black",CTRL+Key_B,mBackground,0,true); + backgroundColorChooser = new QAction("&Choose ...","&Choose ...",CTRL+Key_C,mBackgroundColor,0,true); #else - QAction *white = new QAction("&White",CTRL+Key_W,mBackground); - QAction *black = new QAction("&Black",CTRL+Key_B,mBackground); - white->setToggleAction(true); - black->setToggleAction(true); + backgroundColorChooser = new QAction("&Choose ...","&Choose ...",CTRL+Key_C,mBackgroundColor); #endif - white->addTo(mBackground); - black->addTo(mBackground); + backgroundColorChooser->addTo(mBackgroundColor); + QObject ::connect(backgroundColorChooser, + SIGNAL(activated()), + this, + SLOT(actionChangeBackgroundColor())); #else - QMenu *mBackground = mStyle->addMenu("&Background color"); - QAction *white = mBackground->addAction("White"); - QAction *black = mBackground->addAction("Black"); - + // === Action Menu === + backgroundColorChooser = mStyle->addAction("Background color"); + QObject ::connect(backgroundColorChooser, + SIGNAL(triggered()), + this, + SLOT(actionChangeBackgroundColor())); +#endif + + // Text Color + + QAction *textColorChooser ; +#if QT_VERSION < 0x040000 + QPopupMenu *mTextColor = new QPopupMenu(mStyle); + mStyle->insertItem("&Text color",mTextColor); + +#if QT_VERSION < 0x030200 + textColorChooser = new QAction("&Choose ...","&Choose ...",CTRL+Key_C,mTextColor,0,true); +#else + textColorChooser = new QAction("&Choose ...","&Choose ...",CTRL+Key_C,mTextColor); +#endif + textColorChooser->addTo(mTextColor); + QObject ::connect(textColorChooser, + SIGNAL(activated()), + this, + SLOT(actionChangeTextColor())); + +#else + // === Action Menu === + textColorChooser = mStyle->addAction("Text color"); + QObject ::connect(textColorChooser, + SIGNAL(triggered()), + this, + SLOT(actionChangeTextColor())); +#endif + + // Default Color + + QAction *defaultColorChooser ; +#if QT_VERSION < 0x040000 + QPopupMenu *mDefaultColor = new QPopupMenu(mStyle); + mStyle->insertItem("&Default color",mDefaultColor); + +#if QT_VERSION < 0x030200 + defaultColorChooser = new QAction("&Choose ...","&Choose ...",CTRL+Key_C,mDefaultColor,0,true); +#else + defaultColorChooser = new QAction("&Choose ...","&Choose ...",CTRL+Key_C,mDefaultColor); +#endif + defaultColorChooser->addTo(mDefaultColor); + QObject ::connect(defaultColorChooser, + SIGNAL(activated()), + this, + SLOT(actionChangeDefaultColor())); + +#else + // === Action Menu === + defaultColorChooser = mStyle->addAction("Default color"); + QObject ::connect(defaultColorChooser, + SIGNAL(triggered()), + this, + SLOT(actionChangeDefaultColor())); #endif - if (background.GetRed() == 1. && - background.GetGreen() == 1. && - background.GetBlue() == 1.) { - createRadioAction(white,black,SLOT(toggleBackground(bool)),1); - } else { - createRadioAction(white,black,SLOT(toggleBackground(bool)),2); - } #if QT_VERSION < 0x040000 @@ -896,45 +996,43 @@ void G4OpenGLQtViewer::toggleMouseAction(mouseActions aAction) { Show shortcuts for this mouse action */ void G4OpenGLQtViewer::showShortcuts() { + G4cout << "========= Mouse Shortcuts =========" << G4endl; if (fMouseAction == STYLE1) { // rotate G4cout << "Click and move mouse to rotate volume " << G4endl; - G4cout << "Press left/right arrows to move volume left/right" << G4endl; - G4cout << "Press up/down arrows to move volume up/down" << G4endl; - G4cout << "Press ALT+up/down arrows to move volume toward/forward" << G4endl; - G4cout << "Press SHIFT+left/right arrows to rotate volume left/right" << G4endl; - G4cout << "Press SHIFT+up/down arrows to rotate volume up/down" << G4endl; - G4cout << "Press ALT+/- to slow/speed auto rotation/move" << G4endl; - G4cout << "In video mode : " << G4endl; - G4cout << " Press SPACE to Start/Pause video recording " << G4endl; - G4cout << " Press RETURN to Stop video recording " << G4endl; + G4cout << "ALT + Click and move mouse to rotate volume (View Direction)" << G4endl; + G4cout << "CTRL + Click and zoom mouse to zoom in/out" << G4endl; + G4cout << "SHIFT + Click and zoommove camera point of view" << G4endl; } else if (fMouseAction == STYLE2) { //move G4cout << "Move camera point of view with mouse" << G4endl; - G4cout << "Press left/right arrows to move volume left/right" << G4endl; - G4cout << "Press up/down arrows to move volume up/down" << G4endl; - G4cout << "Press ALT+up/down arrows to move volume toward/forward" << G4endl; - G4cout << "Press SHIFT+left/right arrows to rotate volume left/right" << G4endl; - G4cout << "Press SHIFT+up/down arrows to rotate volume up/down" << G4endl; - G4cout << "Press +/- to zoom into volume" << G4endl; - G4cout << "Press ALT+/- to slow/speed auto rotation/move" << G4endl; - G4cout << "In video mode : " << G4endl; - G4cout << " Press SPACE to Start/Pause video recording " << G4endl; - G4cout << " Press RETURN to Stop video recording " << G4endl; } else if (fMouseAction == STYLE3) { //pick G4cout << "Click and pick " << G4endl; - } else { - G4cout << "Move camera point of view with mouse" << G4endl; - G4cout << "Press left/right arrows to move volume left/right" << G4endl; - G4cout << "Press up/down arrows to move volume up/down" << G4endl; - G4cout << "Press ALT+up/down arrows to move volume toward/forward" << G4endl; - G4cout << "Press SHIFT+left/right arrows to rotate volume left/right" << G4endl; - G4cout << "Press SHIFT+up/down arrows to rotate volume up/down" << G4endl; - G4cout << "Press +/- to zoom into volume" << G4endl; - G4cout << "Press ALT+/- to slow/speed auto rotation/move" << G4endl; - G4cout << "In video mode : " << G4endl; - G4cout << " Press SPACE to Start/Pause video recording " << G4endl; - G4cout << " Press RETURN to Stop video recording " << G4endl; } - + G4cout << "========= Move Shortcuts =========" << G4endl; + G4cout << "Press left/right arrows to move volume left/right" << G4endl; + G4cout << "Press up/down arrows to move volume up/down" << G4endl; + G4cout << "Press '+'/'-' to move volume toward/forward" << G4endl; + G4cout << G4endl; + G4cout << "========= Rotation (Theta/Phi) Shortcuts =========" << G4endl; + G4cout << "Press SHIFT + left/right arrows to rotate volume left/right" << G4endl; + G4cout << "Press SHIFT + up/down arrows to rotate volume up/down" << G4endl; + G4cout << G4endl; + G4cout << "========= Rotation (View Direction) Shortcuts =========" << G4endl; + G4cout << "Press ALT + left/right to rotate volume around vertical direction" << G4endl; + G4cout << "Press ALT + up/down to rotate volume around horizontal direction" << G4endl; + G4cout << G4endl; + G4cout << "========= Zoom View =========" << G4endl; + G4cout << "Press CTRL + '+'/'-' to zoom into volume" << G4endl; + G4cout << G4endl; + G4cout << "========= Misc =========" << G4endl; + G4cout << "Press ALT +/- to slow/speed rotation/move" << G4endl; + G4cout << "Press H to reset view" << G4endl; + G4cout << "Press Esc to exit FullScreen" << G4endl; + G4cout << G4endl; + G4cout << "========= Video =========" << G4endl; + G4cout << "In video mode : " << G4endl; + G4cout << " Press SPACE to Start/Pause video recording " << G4endl; + G4cout << " Press RETURN to Stop video recording " << G4endl; + G4cout << G4endl; } @@ -1045,77 +1143,14 @@ void G4OpenGLQtViewer::toggleRepresentation(bool check) { void G4OpenGLQtViewer::toggleProjection(bool check) { if (check == 1) { - fVP.SetFieldHalfAngle (0); + G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/set/projection o"); } else { - - // look for the default parameter hidden in G4UIcommand parameters - G4UImanager* UI = G4UImanager::GetUIpointer(); - if(UI==NULL) - return; - G4UIcommandTree * treeTop = UI->GetTree(); - - // find command - G4UIcommand* command = treeTop->FindPath("/vis/viewer/set/projection"); - if (!command) - return; - - // find param - G4UIparameter * angleParam = NULL; - for(G4int i=0; iGetParameterEntries(); i++) - { - if( command->GetParameter(i)->GetParameterName() == "field-half-angle" ) { - angleParam = command->GetParameter(i); - } - } - if (!angleParam) - return; - - // find unit - G4UIparameter * unitParam = NULL; - for(G4int i=0; iGetParameterEntries(); i++) - { - if( command->GetParameter(i)->GetParameterName() == "unit" ) { - unitParam = command->GetParameter(i); - } - } - if (!unitParam) - return; - - G4double defaultValue = command->ConvertToDouble(angleParam->GetDefaultValue()) - * G4UnitDefinition::GetValueOf(unitParam->GetDefaultValue()); - if (defaultValue > 89.5 || defaultValue <= 0.0) { - G4cerr << "Field half angle should be 0 < angle <= 89.5 degrees. Check your default Field half angle parameter"; - } else { - G4cout << "Perspective view has been set to default value. Field half angle="<GetDefaultValue() <<" " << G4endl; - fVP.SetFieldHalfAngle (defaultValue); - SetView (); - } + G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/set/projection p"); } updateQWidget(); } -/** - SLOT Activate by a click on the background menu -@param check : 1 white, 0 black -*/ -void G4OpenGLQtViewer::toggleBackground(bool check) { - - // //I need to revisit the kernel if the background colour changes and - // //hidden line removal is enabled, because hlr drawing utilises the - // //background colour in its drawing... - // // (Note added by JA 13/9/2005) Background now handled in view - // // parameters. A kernel visit is triggered on change of background. - if (check == 1) { - ((G4ViewParameters&)this->GetViewParameters()). - SetBackgroundColour(G4Colour(1.,1.,1.)); // White - } else { - ((G4ViewParameters&)this->GetViewParameters()). - SetBackgroundColour(G4Colour(0.,0.,0.)); // Black - } - updateQWidget(); -} - /** SLOT Activate by a click on the transparency menu @param check : 1 , 0 @@ -1174,13 +1209,12 @@ void G4OpenGLQtViewer::toggleHaloing(bool check) { */ void G4OpenGLQtViewer::toggleAux(bool check) { if (check) { - fVP.SetAuxEdgeVisible(false); - } else { fVP.SetAuxEdgeVisible(true); + } else { + fVP.SetAuxEdgeVisible(false); } SetNeedKernelVisit (true); updateQWidget(); - } /** @@ -1345,6 +1379,59 @@ void G4OpenGLQtViewer::actionSaveImage() { } +void G4OpenGLQtViewer::actionChangeBackgroundColor() { + + // //I need to revisit the kernel if the background colour changes and + // //hidden line removal is enabled, because hlr drawing utilises the + // //background colour in its drawing... + // // (Note added by JA 13/9/2005) Background now handled in view + // // parameters. A kernel visit is triggered on change of background. + + QColor color; + color = QColorDialog::getColor(Qt::black, fGLWindow); + if (color.isValid()) { + QString com = "/vis/viewer/set/background "; + QString num; + com += num.setNum(((float)color.red())/256)+" "; + com += num.setNum(((float)color.green())/256)+" "; + com += num.setNum(((float)color.blue())/256)+" "; + G4UImanager::GetUIpointer()->ApplyCommand(com.toStdString().c_str()); + updateQWidget(); + } +} + +void G4OpenGLQtViewer::actionChangeTextColor() { + + QColor color; + color = QColorDialog::getColor(Qt::yellow, fGLWindow); + if (color.isValid()) { + QString com = "/vis/viewer/set/defaultTextColour "; + QString num; + com += num.setNum(((float)color.red())/256)+" "; + com += num.setNum(((float)color.green())/256)+" "; + com += num.setNum(((float)color.blue())/256)+" "; + G4UImanager::GetUIpointer()->ApplyCommand(com.toStdString().c_str()); + updateQWidget(); + } +} + +void G4OpenGLQtViewer::actionChangeDefaultColor() { + + QColor color; + color = QColorDialog::getColor(Qt::white, fGLWindow); + printf("actionChangeDefaultColor\n"); + if (color.isValid()) { + QString com = "/vis/viewer/set/defaultColour "; + QString num; + com += num.setNum(((float)color.red())/256)+" "; + com += num.setNum(((float)color.green())/256)+" "; + com += num.setNum(((float)color.blue())/256)+" "; + G4UImanager::GetUIpointer()->ApplyCommand(com.toStdString().c_str()); + updateQWidget(); + } +} + + void G4OpenGLQtViewer::actionMovieParameters() { showMovieParametersDialog(); } @@ -1398,17 +1485,9 @@ void G4OpenGLQtViewer::FinishView() void G4OpenGLQtViewer::G4MousePressEvent(QMouseEvent *event) { #if QT_VERSION < 0x040000 - if ((event->button() & Qt::LeftButton) - && !((event->state() & Qt::ShiftButton) - || (event->state() & Qt::ControlButton) - || (event->state() & Qt::AltButton) - || (event->state() & Qt::MetaButton))) { + if (event->button() & Qt::LeftButton) { #else - if ((event->buttons() & Qt::LeftButton) - && !((event->modifiers() & Qt::ShiftModifier) - || (event->modifiers() & Qt::ControlModifier) - || (event->modifiers() & Qt::AltModifier) - || (event->modifiers() & Qt::MetaModifier))) { + if (event->buttons() & Qt::LeftButton) { #endif fWindow->setMouseTracking(true); fAutoMove = false; // stop automove @@ -1436,18 +1515,45 @@ void G4OpenGLQtViewer::G4MouseReleaseEvent() QTime lastMoveTime; lastMoveTime.start(); // try to addapt speed move/rotate looking to drawing speed - int cycles = 4; + float correctionFactor = 5; while (fAutoMove) { - // if ( lastMoveTime.elapsed() > (fSpinningDelay / (cycles/2))) { + if ( lastMoveTime.elapsed () >= (int)(1000/fNbMaxFramesPerSec)) { + float lTime = 1000/((float)lastMoveTime.elapsed ()); + if (((((float)delta.x())/correctionFactor)*lTime > fNbMaxAnglePerSec) || + ((((float)delta.x())/correctionFactor)*lTime < -fNbMaxAnglePerSec) ) { + correctionFactor = (float)delta.x()*(lTime/fNbMaxAnglePerSec); + if (delta.x() <0 ) { + correctionFactor = -correctionFactor; + } + } + if (((((float)delta.y())/correctionFactor)*lTime > fNbMaxAnglePerSec) || + ((((float)delta.y())/correctionFactor)*lTime < -fNbMaxAnglePerSec) ) { + correctionFactor = (float)delta.y()*(lTime/fNbMaxAnglePerSec); + if (delta.y() <0 ) { + correctionFactor = -correctionFactor; + } + } + + // Check Qt Versions for META Keys + + // Click and move mouse to rotate volume + // ALT + Click and move mouse to rotate volume (View Direction) + // SHIFT + Click and move camera point of view + // CTRL + Click and zoom mouse to zoom in/out + if (fMouseAction == STYLE1) { // rotate - rotateQtScene(((float)delta.x())/cycles,((float)delta.y())/cycles); + if (fNoKeyPress) { + rotateQtScene(((float)delta.x())/correctionFactor,((float)delta.y())/correctionFactor); + } else if (fAltKeyPress) { + rotateQtSceneInViewDirection(((float)delta.x())/correctionFactor,((float)delta.y())/correctionFactor); + } + } else if (fMouseAction == STYLE2) { // move - moveScene(-((float)delta.x())/cycles,-((float)delta.y())/cycles,0,true); + moveScene(-((float)delta.x())/correctionFactor,-((float)delta.y())/correctionFactor,0,true); } lastMoveTime.start(); - cycles = 1 ; + } ((QApplication*)G4Qt::getInstance ())->processEvents(); - cycles ++ ; } } fWindow->setMouseTracking(false); @@ -1477,6 +1583,12 @@ void G4OpenGLQtViewer::G4MouseMoveEvent(QMouseEvent *event) Qt::MouseButtons mButtons = event->buttons(); #endif +#if QT_VERSION < 0x040000 + updateKeyModifierState(event->state()); +#else + updateKeyModifierState(event->modifiers()); +#endif + if (fAutoMove) { return; } @@ -1490,7 +1602,23 @@ void G4OpenGLQtViewer::G4MouseMoveEvent(QMouseEvent *event) if (fMouseAction == STYLE1) { // rotate if (mButtons & Qt::LeftButton) { - rotateQtScene(deltaX,deltaY); + if (fNoKeyPress) { + rotateQtScene(((float)deltaX),((float)deltaY)); + } else if (fAltKeyPress) { + rotateQtSceneInViewDirection(((float)deltaX),((float)deltaY)); + } else if (fShiftKeyPress) { + unsigned int sizeWin; + sizeWin = getWinWidth(); + if (getWinHeight() < getWinWidth()) { + sizeWin = getWinHeight(); + } + + // L.Garnier : 08/2010 100 is the good value, but don't ask me why ! + float factor = ((float)100/(float)sizeWin) ; + moveScene(-(float)deltaX*factor,-(float)deltaY*factor,0,false); + } else if (fControlKeyPress) { + fVP.SetZoomFactor(fVP.GetZoomFactor()*(1+((float)deltaY))); + } } } else if (fMouseAction == STYLE2) { // move if (mButtons & Qt::LeftButton) { @@ -1527,9 +1655,9 @@ void G4OpenGLQtViewer::moveScene(float dx,float dy, float dz,bool mouseMove) coefDepth = getSceneDepth()*fDeltaDepth; } fVP.IncrementPan(-dx*coefTrans,dy*coefTrans,dz*coefDepth); - emit moveX(-dx*coefTrans); - emit moveY(dy*coefTrans); - emit moveZ(dz*coefTrans); + emit moveX(-static_cast(dx*coefTrans)); + emit moveY(static_cast(dy*coefTrans)); + emit moveZ(static_cast(dz*coefTrans)); updateQWidget(); if (fAutoMove) @@ -1552,11 +1680,11 @@ void G4OpenGLQtViewer::rotateQtScene(float dx, float dy) if( dx != 0) { rotateScene(dx,0,fDeltaRotation); - emit rotateTheta(dx); + emit rotateTheta(static_cast(dx)); } if( dy != 0) { rotateScene(0,dy,fDeltaRotation); - emit rotatePhi(dy); + emit rotatePhi(static_cast(dy)); } updateQWidget(); @@ -1568,6 +1696,29 @@ void G4OpenGLQtViewer::rotateQtScene(float dx, float dy) @param dy delta mouse y position */ +void G4OpenGLQtViewer::rotateQtSceneInViewDirection(float dx, float dy) +{ + if (fHoldRotateEvent) + return; + fHoldRotateEvent = true; + + fXRot +=dx; + fYRot +=dy; + + rotateSceneInViewDirection(dx,dy,fDeltaRotation/100); + + emit rotateTheta(static_cast(dx)); + emit rotatePhi(static_cast(dy)); + updateQWidget(); + + fHoldRotateEvent = false; +} + +/** + @param dx delta mouse x position + @param dy delta mouse y position +*/ + void G4OpenGLQtViewer::rotateQtCamera(float dx, float dy) { if (fHoldRotateEvent) @@ -1575,13 +1726,41 @@ void G4OpenGLQtViewer::rotateQtCamera(float dx, float dy) fHoldRotateEvent = true; rotateScene(dx,dy,fDeltaRotation); - emit rotateTheta(dx); - emit rotatePhi(dy); + emit rotateTheta(static_cast(dx)); + emit rotatePhi(static_cast(dy)); updateQWidget(); fHoldRotateEvent = false; } +/** + @param dx delta mouse x position + @param dy delta mouse y position +*/ + +void G4OpenGLQtViewer::rotateQtCameraInViewDirection(float dx, float dy) +{ + if (fHoldRotateEvent) + return; + fHoldRotateEvent = true; + + fVP.SetUpVector(G4Vector3D(0.0, 1.0, 0.0)); + fVP.SetViewAndLights (G4Vector3D(0.0, 0.0, 1.0)); + + + fXRot +=dx; + fYRot +=dy; + + rotateSceneInViewDirection(fXRot,fYRot,fDeltaRotation/100); + + emit rotateTheta(static_cast(dx)); + emit rotatePhi(static_cast(dy)); + updateQWidget(); + + fHoldRotateEvent = false; +} + + @@ -1638,7 +1817,7 @@ bool G4OpenGLQtViewer::printPDF ( printer.setOutputFormat(QPrinter::PdfFormat); } */ - printer.setOutputFileName(aFilename); + printer.setOutputFileName(QString(aFilename.c_str())); // printer.setFullPage ( true); QPainter paint(&printer); paint.drawImage (0,0,aImage ); @@ -1697,103 +1876,21 @@ void G4OpenGLQtViewer::G4wheelEvent (QWheelEvent * event) } -void G4OpenGLQtViewer::G4keyPressEvent (QKeyEvent * event) + void G4OpenGLQtViewer::G4keyPressEvent (QKeyEvent * event) { if (fHoldKeyEvent) return; fHoldKeyEvent = true; -#if QT_VERSION < 0x040000 - if ((event->key() == Qt::Key_Down) && (event->state() & Qt::AltButton )) { // go backward -#else - if ((event->key() == Qt::Key_Down) && (event->modifiers() & Qt::AltModifier )) { // go backward -#endif - - moveScene(0,0,1,false); - } -#if QT_VERSION < 0x040000 - else if ((event->key() == Qt::Key_Up) && (event->state() & Qt::AltButton)) { // go forward -#else - else if ((event->key() == Qt::Key_Up) && (event->modifiers() & Qt::AltModifier)) { // go forward -#endif - moveScene(0,0,-1,false); - } -#if QT_VERSION < 0x040000 - if ((event->key() == Qt::Key_Down) && (event->state() & Qt::ShiftButton)) { // rotate phi -#else - if ((event->key() == Qt::Key_Down) && (event->modifiers() & Qt::ShiftModifier)) { // rotate phi -#endif - rotateQtCamera(0,-1); - } -#if QT_VERSION < 0x040000 - else if ((event->key() == Qt::Key_Up) && (event->state() & Qt::ShiftButton)) { // rotate phi -#else - else if ((event->key() == Qt::Key_Up) && (event->modifiers() & Qt::ShiftModifier)) { // rotate phi -#endif - rotateQtCamera(0,1); - } -#if QT_VERSION < 0x040000 - if ((event->key() == Qt::Key_Left) && (event->state() & Qt::ShiftButton)) { // rotate theta -#else - if ((event->key() == Qt::Key_Left) && (event->modifiers() & Qt::ShiftModifier)) { // rotate theta -#endif - rotateQtCamera(1,0); - } -#if QT_VERSION < 0x040000 - else if ((event->key() == Qt::Key_Right) && (event->state() & Qt::ShiftButton)) { // rotate theta -#else - else if ((event->key() == Qt::Key_Right) && (event->modifiers() & Qt::ShiftModifier)) { // rotate theta -#endif - rotateQtCamera(-1,0); - } - -#if QT_VERSION < 0x040000 - if ((event->state() & Qt::AltButton)) { -#else - if ((event->modifiers() & Qt::AltModifier)) { -#endif - if (event->key() == Qt::Key_Plus) { - fDeltaRotation = fDeltaRotation/0.7; - } - else if (event->key() == Qt::Key_Minus) { - fDeltaRotation = fDeltaRotation*0.7; - } - } else { - if (event->key() == Qt::Key_Plus) { - fVP.SetZoomFactor(fVP.GetZoomFactor()*(1+fDeltaZoom)); - updateQWidget(); - } - else if (event->key() == Qt::Key_Minus) { - fVP.SetZoomFactor(fVP.GetZoomFactor()*(1-fDeltaZoom)); - updateQWidget(); - } - } - - if (event->key() == Qt::Key_Escape) { // escaped from full screen -#if QT_VERSION >= 0x030200 - toggleFullScreen(false); -#endif - } - // several case here : If return is pressed, in every case -> display the movie parameters dialog - // If one parameter is wrong -> put it in red (only save filenam could be wrong..) - // If encoder not found-> does nothing.Only display a message in status box - // If all ok-> generate parameter file - // If ok -> put encoder button enabled - - if ((event->key() == Qt::Key_Return) || (event->key() == Qt::Key_Enter)){ // end of video - stopVideo(); - } - if (event->key() == Qt::Key_Space){ // start/pause of video - startPauseVideo(); - } - // with no modifiers #if QT_VERSION < 0x040000 - if (event->state() == Qt::NoButton) { + updateKeyModifierState(event->state()); + if (fNoKeyPress) { #else - if ((event->modifiers() == Qt::NoModifier) || (event->modifiers() == Qt::KeypadModifier )) { + updateKeyModifierState(event->modifiers()); + if ((fNoKeyPress) || (event->modifiers() == Qt::KeypadModifier )) { #endif if (event->key() == Qt::Key_Down) { // go down moveScene(0,1,0,false); @@ -1807,11 +1904,148 @@ void G4OpenGLQtViewer::G4keyPressEvent (QKeyEvent * event) else if (event->key() == Qt::Key_Right) { // go right moveScene(1,0,0,false); } + if (event->key() == Qt::Key_Minus) { // go backward + moveScene(0,0,1,false); + } + else if (event->key() == Qt::Key_Plus) { // go forward + moveScene(0,0,-1,false); + } + + // escaped from full screen + if (event->key() == Qt::Key_Escape) { +#if QT_VERSION >= 0x030200 + toggleFullScreen(false); +#endif + } + } + // several case here : If return is pressed, in every case -> display the movie parameters dialog + // If one parameter is wrong -> put it in red (only save filenam could be wrong..) + // If encoder not found-> does nothing.Only display a message in status box + // If all ok-> generate parameter file + // If ok -> put encoder button enabled + + if ((event->key() == Qt::Key_Return) || (event->key() == Qt::Key_Enter)){ // end of video + stopVideo(); } + if (event->key() == Qt::Key_Space){ // start/pause of video + startPauseVideo(); + } + + // H : Return Home view + if (event->key() == Qt::Key_H){ // go Home + fDeltaRotation = 1; + fDeltaSceneTranslation = 0.01; + fDeltaDepth = 0.01; + fDeltaZoom = 0.05; + fDeltaMove = 0.05; + + fVP.SetZoomFactor(1.); + fVP.SetUpVector(G4Vector3D (0., 1., 0.)); + fVP.SetViewAndLights (G4Vector3D (0., 0., 1.)); + + updateQWidget(); + } + + // Shift Modifier + if (fShiftKeyPress) { + if (event->key() == Qt::Key_Down) { // rotate phi + rotateQtScene(0,-fDeltaRotation); + } + else if (event->key() == Qt::Key_Up) { // rotate phi + rotateQtScene(0,fDeltaRotation); + } + if (event->key() == Qt::Key_Left) { // rotate theta + rotateQtScene(fDeltaRotation,0); + } + else if (event->key() == Qt::Key_Right) { // rotate theta + rotateQtScene(-fDeltaRotation,0); + } + + // Alt Modifier + } + if ((fAltKeyPress)) { + if (event->key() == Qt::Key_Down) { // rotate phi + rotateQtSceneInViewDirection(0,-fDeltaRotation); + } + else if (event->key() == Qt::Key_Up) { // rotate phi + rotateQtSceneInViewDirection(0,fDeltaRotation); + } + if (event->key() == Qt::Key_Left) { // rotate theta + rotateQtSceneInViewDirection(fDeltaRotation,0); + } + else if (event->key() == Qt::Key_Right) { // rotate theta + rotateQtSceneInViewDirection(-fDeltaRotation,0); + } + + // Rotatio +/- + if (event->key() == Qt::Key_Plus) { + fDeltaRotation = fDeltaRotation/0.7; + G4cout << "Auto-rotation set to : " << fDeltaRotation << G4endl; + } + else if (event->key() == Qt::Key_Minus) { + fDeltaRotation = fDeltaRotation*0.7; + G4cout << "Auto-rotation set to : " << fDeltaRotation << G4endl; + } + + // Control Modifier OR Command on MAC + } + if ((fControlKeyPress)) { + if (event->key() == Qt::Key_Plus) { + fVP.SetZoomFactor(fVP.GetZoomFactor()*(1+fDeltaZoom)); + updateQWidget(); + } + else if (event->key() == Qt::Key_Minus) { + fVP.SetZoomFactor(fVP.GetZoomFactor()*(1-fDeltaZoom)); + updateQWidget(); + } + } + fHoldKeyEvent = false; } +#if QT_VERSION < 0x040000 +void G4OpenGLQtViewer::updateKeyModifierState(Qt::ButtonState modifier) { +#else +void G4OpenGLQtViewer::updateKeyModifierState(Qt::KeyboardModifiers modifier) { +#endif + // Check Qt Versions for META Keys + + fNoKeyPress = true; + fAltKeyPress = false; + fShiftKeyPress = false; + fControlKeyPress = false; + +#if QT_VERSION < 0x040000 + if (modifier & Qt::AltButton ) { + fAltKeyPress = true; + fNoKeyPress = false; + } + if (modifier & Qt::ShiftButton ) { + fShiftKeyPress = true; + fNoKeyPress = false; + } + if (modifier & Qt::ControlButton ) { + fControlKeyPress = true; + fNoKeyPress = false; + } +#else + if (modifier & Qt::AltModifier ) { + fAltKeyPress = true; + fNoKeyPress = false; + } + if (modifier & Qt::ShiftModifier ) { + fShiftKeyPress = true; + fNoKeyPress = false; + } + if (modifier & Qt::ControlModifier ) { + fControlKeyPress = true; + fNoKeyPress = false; + } +#endif +} + + /** Stop the video. Check all parameters and enable encoder button if all is ok. */ void G4OpenGLQtViewer::stopVideo() { @@ -2606,7 +2840,8 @@ QWidget *G4OpenGLQtViewer::getParentWidget() { // launch Qt if not G4Qt* interactorManager = G4Qt::getInstance (); - // G4UImanager* UI = G4UImanager::GetUIpointer(); + // G4UImanager* UI = + G4UImanager::GetUIpointer(); bool found = false; @@ -2647,6 +2882,9 @@ QWidget *G4OpenGLQtViewer::getParentWidget() printf("G4OpenGLQtViewer::CreateMainWindow case Qapp exist\n"); #endif fGLWindow = new QDialog(); +#ifdef G4DEBUG_VIS_OGL + printf("G4OpenGLQtViewer::GetParentWidget fGLWindow\n"); +#endif } if (found) { return fGLWindow; diff --git a/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc b/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc index 08bbf47fd1..68884c8640 100644 --- a/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc +++ b/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLSceneHandler.cc,v 1.56 2009/10/21 15:18:43 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLSceneHandler.cc,v 1.59 2010/05/30 09:53:05 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Andrew Walkden 27th March 1996 @@ -137,24 +137,24 @@ void G4OpenGLSceneHandler::EndPrimitives2D () G4VSceneHandler::EndPrimitives2D (); } -const G4Polyhedron* G4OpenGLSceneHandler::CreateSectionPolyhedron () +G4VSolid* G4OpenGLSceneHandler::CreateSectionSolid () { // Clipping done in G4OpenGLViewer::SetView. - return 0; + // return 0; // But...OpenGL no longer seems to reconstruct clipped edges, so, // when the BooleanProcessor is up to it, abandon this and use - // generic clipping in G4VSceneHandler::CreateSectionPolyhedron... - // return G4VSceneHandler::CreateSectionPolyhedron(); + // generic clipping in G4VSceneHandler::CreateSectionSolid... + return G4VSceneHandler::CreateSectionSolid(); } -const G4Polyhedron* G4OpenGLSceneHandler::CreateCutawayPolyhedron () +G4VSolid* G4OpenGLSceneHandler::CreateCutawaySolid () { // Cutaway done in G4OpenGLViewer::SetView. - return 0; + // return 0; // But...if not, when the BooleanProcessor is up to it... - // return G4VSceneHandler::CreateCutawayPolyhedron(); + return G4VSceneHandler::CreateCutawaySolid(); } void G4OpenGLSceneHandler::AddPrimitive (const G4Polyline& line) @@ -224,20 +224,27 @@ void G4OpenGLSceneHandler::AddPrimitive (const G4Polymarker& polymarker) break; case G4Polymarker::circles: { + std::vector circleV; for (size_t iPoint = 0; iPoint < polymarker.size (); iPoint++) { G4Circle circle (polymarker); + // If not already drawn circle.SetPosition (polymarker[iPoint]); - G4OpenGLSceneHandler::AddPrimitive (circle); + circleV.push_back(circle); + // G4OpenGLSceneHandler::AddPrimitive (circle); } + G4OpenGLSceneHandler::AddPrimitives (circleV); } break; case G4Polymarker::squares: { + std::vector squareV; for (size_t iPoint = 0; iPoint < polymarker.size (); iPoint++) { G4Square square (polymarker); square.SetPosition (polymarker[iPoint]); - G4OpenGLSceneHandler::AddPrimitive (square); + squareV.push_back(square); + // G4OpenGLSceneHandler::AddPrimitive (square); } + G4OpenGLSceneHandler::AddPrimitives (squareV); } break; } @@ -303,35 +310,55 @@ void G4OpenGLSceneHandler::AddPrimitive (const G4Square& square) { AddCircleSquare (square, G4OpenGLBitMapStore::square); } +void G4OpenGLSceneHandler::AddPrimitives (std::vector square) { + glDisable (GL_POINT_SMOOTH); + AddCircleSquareVector (square, G4OpenGLBitMapStore::square); +} + void G4OpenGLSceneHandler::AddCircleSquare (const G4VMarker& marker, G4OpenGLBitMapStore::Shape shape) { + std::vector circleVector; + circleVector.push_back(marker); + AddCircleSquareVector(circleVector,shape); +} + +void G4OpenGLSceneHandler::AddCircleSquareVector +(std::vector marker, + G4OpenGLBitMapStore::Shape shape) { + + if (marker.size() == 0) { + return; + } + if (!fProcessingPolymarker) { // Polymarker has already loaded atts. // Loads G4Atts for picking... if (fpViewer->GetViewParameters().IsPicking()) { G4AttHolder* holder = new G4AttHolder; - LoadAtts(marker, holder); + LoadAtts(marker[0], holder); fPickMap[fPickName] = holder; } } // Note: colour treated in sub-class. - if (fpViewer -> GetViewParameters ().IsMarkerNotHidden ()) + if (fpViewer -> GetViewParameters ().IsMarkerNotHidden ()) { glDisable (GL_DEPTH_TEST); - else {glEnable (GL_DEPTH_TEST); glDepthFunc (GL_LESS);} + } else { + glEnable (GL_DEPTH_TEST); glDepthFunc (GL_LESS); + } glDisable (GL_LIGHTING); // Get vis attributes - pick up defaults if none. const G4VisAttributes* pVA = - fpViewer -> GetApplicableVisAttributes (marker.GetVisAttributes ()); + fpViewer -> GetApplicableVisAttributes (marker[0].GetVisAttributes ()); G4double lineWidth = GetLineWidth(pVA); glLineWidth(lineWidth); - G4VMarker::FillStyle style = marker.GetFillStyle(); + G4VMarker::FillStyle style = marker[0].GetFillStyle(); G4bool filled = false; static G4bool hashedWarned = false; @@ -360,20 +387,27 @@ void G4OpenGLSceneHandler::AddCircleSquare } - // A few useful quantities... - G4Point3D centre = marker.GetPosition(); + + MarkerSizeType sizeType; - G4double size = GetMarkerSize(marker, sizeType); + G4double size = GetMarkerSize(marker[0], sizeType); // Draw... if (sizeType == world) { // Size specified in world coordinates. - DrawXYPolygon (shape, size, centre, pVA); - + for (unsigned int a=0;a& hits) { G4VSceneHandler::AddCompound(hits); // For now. } diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc index 185d9ca2ed..527890a594 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredQtViewer.cc,v 1.28 2009/11/03 11:02:32 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLStoredQtViewer.cc,v 1.32 2010/06/23 13:29:23 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Class G4OpenGLStoredQtViewer : a class derived from G4OpenGLQtViewer and @@ -52,7 +52,8 @@ G4OpenGLStoredQtViewer::G4OpenGLStoredQtViewer #else setFocusPolicy(Qt::StrongFocus); // enable keybord events #endif - fHasToRepaint =false; + fHasToRepaint = false; + fIsRepainting = false; if (fViewId < 0) return; // In case error in base class instantiation. } @@ -69,7 +70,7 @@ void G4OpenGLStoredQtViewer::Initialise() { printf("G4OpenGLStoredQtViewer::Initialise 1\n"); #endif fReadyToPaint = false; - CreateMainWindow (this,QString(fName)); + CreateMainWindow (this,QString(GetName())); CreateFontLists (); fReadyToPaint = true; @@ -102,20 +103,8 @@ void G4OpenGLStoredQtViewer::initializeGL () { } -void G4OpenGLStoredQtViewer::DrawView () { -#ifdef G4DEBUG_VIS_OGL - printf("G4OpenGLStoredQtViewer::DrawView VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n"); -#endif - // That's no the same logic as Immediate Viewer, I don't know why... - // But if I send updateGL here, we go here : - // updateQWidget -> paintGL -> ComputeView - // whih is not the same as ComputeView Directly - // And we loose the redraw of things ! - - ComputeView(); -#ifdef G4DEBUG_VIS_OGL - printf("G4OpenGLStoredQtViewer::DrawView ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); -#endif +void G4OpenGLStoredQtViewer::DrawView () { + updateQWidget(); } void G4OpenGLStoredQtViewer::ComputeView () { @@ -192,7 +181,7 @@ void G4OpenGLStoredQtViewer::ComputeView () { #ifdef G4DEBUG_VIS_OGL printf("G4OpenGLStoredQtViewer::ComputeView %d %d ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n",getWinWidth(), getWinHeight()); #endif - fHasToRepaint =true; + fHasToRepaint = true; } @@ -204,13 +193,27 @@ void G4OpenGLStoredQtViewer::resizeGL( ,int aHeight) { // Set new size, it will be update when next Repaint()->SetView() called - ResizeWindow(aWidth,aHeight); - fHasToRepaint = sizeHasChanged(); + if ((aWidth > 0) && (aHeight > 0)) { + ResizeWindow(aWidth,aHeight); + fHasToRepaint = sizeHasChanged(); + } } +// We have to get several case : +// - Only activate the windows (mouse click for example) -> Do not redraw +// - resize window -> redraw +// - try to avoid recompute everything if we do not rescale picture (side is the same) + void G4OpenGLStoredQtViewer::paintGL() { +#ifdef G4DEBUG_VIS_OGL + printf("G4OpenGLStoredQtViewer::paintGL \n"); +#endif + if (fIsRepainting) { + // return ; + } + fIsRepainting = true; #ifdef G4DEBUG_VIS_OGL printf("G4OpenGLStoredQtViewer::paintGL ready:%d fHasTo:%d??\n",fReadyToPaint,fHasToRepaint); #endif @@ -246,15 +249,22 @@ void G4OpenGLStoredQtViewer::paintGL() #endif SetView(); - + ClearView (); //ok, put the background correct ComputeView(); - - fHasToRepaint =false; - + + fHasToRepaint = false; + #ifdef G4DEBUG_VIS_OGL printf("G4OpenGLStoredQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready %d\n",fReadyToPaint); #endif + fIsRepainting = false; +} + +void G4OpenGLStoredQtViewer::paintEvent(QPaintEvent *) { + if ( fHasToRepaint) { + updateGL(); + } } void G4OpenGLStoredQtViewer::mousePressEvent(QMouseEvent *event) @@ -272,6 +282,11 @@ void G4OpenGLStoredQtViewer::wheelEvent (QWheelEvent * event) G4wheelEvent(event); } +void G4OpenGLStoredQtViewer::showEvent (QShowEvent *) +{ + fHasToRepaint = true; +} + /** * This function was build in order to make a zoom on double clic event. * It was think to build a rubberband on the zoom area, but never work fine diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc b/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc index 2aa4a1593f..50429adb8e 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredSceneHandler.cc,v 1.40 2009/02/04 16:48:41 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLStoredSceneHandler.cc,v 1.46 2010/11/10 17:11:20 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Andrew Walkden 10th February 1997 @@ -78,7 +78,6 @@ G4OpenGLStoredSceneHandler::G4OpenGLStoredSceneHandler (G4VGraphicsSystem& system, const G4String& name): G4OpenGLSceneHandler (system, fSceneIdCount++, name), -fMemoryForDisplayLists (true), fAddPrimitivePreambleNestingDepth (0), fTopPODL (0) {} @@ -105,12 +104,15 @@ void G4OpenGLStoredSceneHandler::AddPrimitivePreamble(const G4Visible& visible) if (fMemoryForDisplayLists) { fDisplayListId = glGenLists (1); - if (glGetError() == GL_OUT_OF_MEMORY) { // Could pre-allocate? + if (glGetError() == GL_OUT_OF_MEMORY || + fDisplayListId > fDisplayListLimit) { G4cout << - "********************* WARNING! ********************" - "\nUnable to allocate any more display lists in OpenGL." - "\n Continuing drawing in IMMEDIATE MODE." - "\n***************************************************" + "********************* WARNING! ********************" + "\n* Display list limit reached in OpenGL." + "\n* Continuing drawing WITHOUT STORING. Scene only partially refreshable." + "\n* Current limit: " << fDisplayListLimit << + ". Change with \"/vis/ogl/set/displayListLimit\"." + "\n***************************************************" << G4endl; fMemoryForDisplayLists = false; } @@ -333,6 +335,8 @@ void G4OpenGLStoredSceneHandler::EndModeling () { void G4OpenGLStoredSceneHandler::ClearStore () { + //G4cout << "G4OpenGLStoredSceneHandler::ClearStore" << G4endl; + G4VSceneHandler::ClearStore (); // Sets need kernel visit, etc. // Delete OpenGL permanent display lists. @@ -350,10 +354,14 @@ void G4OpenGLStoredSceneHandler::ClearStore () { for (size_t i = 0; i < fTOList.size (); i++) glDeleteLists(fTOList[i].fDisplayListId, 1); fTOList.clear (); + + fMemoryForDisplayLists = true; } void G4OpenGLStoredSceneHandler::ClearTransientStore () { + //G4cout << "G4OpenGLStoredSceneHandler::ClearTransientStore" << G4endl; + G4VSceneHandler::ClearTransientStore (); // Delete OpenGL transient display lists and Transient Objects themselves. @@ -361,6 +369,8 @@ void G4OpenGLStoredSceneHandler::ClearTransientStore () { glDeleteLists(fTOList[i].fDisplayListId, 1); fTOList.clear (); + fMemoryForDisplayLists = true; + // Make sure screen corresponds to graphical database... if (fpViewer) { fpViewer -> SetView (); @@ -462,4 +472,8 @@ void G4OpenGLStoredSceneHandler::RequestPrimitives (const G4VSolid& solid) G4int G4OpenGLStoredSceneHandler::fSceneIdCount = 0; +G4int G4OpenGLStoredSceneHandler::fDisplayListId = 0; +G4bool G4OpenGLStoredSceneHandler::fMemoryForDisplayLists = true; +G4int G4OpenGLStoredSceneHandler::fDisplayListLimit = 50000; + #endif diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc index d2f87ddacf..cba173612e 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredViewer.cc,v 1.26 2009/04/08 16:55:44 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLStoredViewer.cc,v 1.29 2010/10/06 10:05:52 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Andrew Walkden 7th February 1997 @@ -87,6 +87,10 @@ G4bool G4OpenGLStoredViewer::CompareForKernelVisit(G4ViewParameters& lastVP) { (lastVP.IsExplode () != fVP.IsExplode ()) || (lastVP.GetNoOfSides () != fVP.GetNoOfSides ()) || (lastVP.IsMarkerNotHidden () != fVP.IsMarkerNotHidden ()) || + (lastVP.GetDefaultVisAttributes()->GetColour() != + fVP.GetDefaultVisAttributes()->GetColour()) || + (lastVP.GetDefaultTextVisAttributes()->GetColour() != + fVP.GetDefaultTextVisAttributes()->GetColour()) || (lastVP.GetBackgroundColour ()!= fVP.GetBackgroundColour ())|| (lastVP.IsPicking () != fVP.IsPicking ()) ) @@ -155,7 +159,7 @@ void G4OpenGLStoredViewer::DrawDisplayLists () { for (size_t i = 0; i < fG4OpenGLStoredSceneHandler.fTOList.size(); ++i) { #ifdef G4DEBUG_VIS_OGL - printf("-"); + // printf("-"); #endif G4OpenGLStoredSceneHandler::TO& to = fG4OpenGLStoredSceneHandler.fTOList[i]; @@ -164,12 +168,16 @@ void G4OpenGLStoredViewer::DrawDisplayLists () { G4OpenGLTransform3D oglt (to.fTransform); glMultMatrixd (oglt.GetGLMatrix ()); if (fVP.IsPicking()) glLoadName(to.fPickName); - G4Colour& c = to.fColour; + const G4Colour& c = to.fColour; + const G4Colour& bg = fVP.GetBackgroundColour(); G4double bsf = 1.; // Brightness scaling factor. if (fFadeFactor > 0. && to.fEndTime < fEndTime) bsf = 1. - fFadeFactor * ((fEndTime - to.fEndTime) / (fEndTime - fStartTime)); - glColor3d(bsf * c.GetRed (), bsf * c.GetGreen (), bsf * c.GetBlue ()); + glColor3d + (bsf * c.GetRed() + (1. - bsf) * bg.GetRed(), + bsf * c.GetGreen() + (1. - bsf) * bg.GetGreen(), + bsf * c.GetBlue() + (1. - bsf) * bg.GetBlue()); glCallList (to.fDisplayListId); glPopMatrix(); } diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc index f2b0b77a9b..9588a66ab0 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredXViewer.cc,v 1.25 2009/04/08 16:55:44 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLStoredXViewer.cc,v 1.27 2010/06/03 08:26:55 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc index 77d1a3a37a..7f1a2628fd 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredXmViewer.cc,v 1.25 2009/04/08 16:55:44 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLStoredXmViewer.cc,v 1.26 2010/04/30 13:18:32 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Andrew Walkden 10th February 1997 @@ -57,7 +57,9 @@ G4OpenGLStoredXmViewer (G4OpenGLStoredSceneHandler& sceneHandler, } } -G4OpenGLStoredXmViewer::~G4OpenGLStoredXmViewer () {} +G4OpenGLStoredXmViewer::~G4OpenGLStoredXmViewer () { + GetSceneHandler()->RemoveViewerFromList(this); +} void G4OpenGLStoredXmViewer::Initialise () { diff --git a/source/visualization/OpenGL/src/G4OpenGLViewer.cc b/source/visualization/OpenGL/src/G4OpenGLViewer.cc index 755b71f59f..15838719b6 100644 --- a/source/visualization/OpenGL/src/G4OpenGLViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLViewer.cc,v 1.59 2009/10/20 12:47:45 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLViewer.cc,v 1.63 2010/10/05 15:45:19 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Andrew Walkden 27th March 1996 @@ -156,54 +156,26 @@ void G4OpenGLViewer::ResizeWindow(unsigned int aWidth, unsigned int aHeight) { void G4OpenGLViewer::ResizeGLView() { #ifdef G4DEBUG_VIS_OGL - printf("G4OpenGLViewer::ResizeGLView %d %d\n",fWinSize_x,fWinSize_y); + printf("G4OpenGLViewer::ResizeGLView %d %d &:%d\n",fWinSize_x,fWinSize_y,this); #endif // Check size GLint dims[2]; glGetIntegerv(GL_MAX_VIEWPORT_DIMS, dims); - if (fWinSize_x > (unsigned)dims[0]) { - G4cerr << "Try to resize view greater than max X viewport dimension. Desired size "< (unsigned)dims[1]) { - G4cerr << "Try to resize view greater than max Y viewport dimension. Desired size "< (unsigned)dims[0]) { + G4cerr << "Try to resize view greater than max X viewport dimension. Desired size "< (unsigned)dims[1]) { + G4cerr << "Try to resize view greater than max Y viewport dimension. Desired size "< fWinSize_x) { + ratioX = ((G4double)fWinSize_y) / ((G4double)fWinSize_x); + } + if (fWinSize_x > fWinSize_y) { + ratioY = ((G4double)fWinSize_x) / ((G4double)fWinSize_y); + } + // Get radius of scene, etc. // Note that this procedure properly takes into account zoom, dolly and pan. const G4Point3D targetPoint @@ -244,10 +223,10 @@ void G4OpenGLViewer::SetView () { targetPoint + cameraDistance * fVP.GetViewpointDirection().unit(); const GLdouble pnear = fVP.GetNearDistance (cameraDistance, radius); const GLdouble pfar = fVP.GetFarDistance (cameraDistance, pnear, radius); - const GLdouble right = fVP.GetFrontHalfHeight (pnear, radius); + const GLdouble right = fVP.GetFrontHalfHeight (pnear, radius) * ratioY; const GLdouble left = -right; - const GLdouble bottom = left; - const GLdouble top = right; + const GLdouble top = fVP.GetFrontHalfHeight (pnear, radius) * ratioX; + const GLdouble bottom = -top; // FIXME ResizeGLView(); @@ -291,7 +270,8 @@ void G4OpenGLViewer::SetView () { // clipping in G4OpenGLSceneHandler::CreateSectionPolyhedron. Also, // force kernel visit on change of clipping plane in // G4OpenGLStoredViewer::CompareForKernelVisit. - if (fVP.IsSection () ) { // pair of back to back clip planes. + //if (fVP.IsSection () ) { // pair of back to back clip planes. + if (false) { // pair of back to back clip planes. const G4Plane3D& s = fVP.GetSectionPlane (); double sArray[4]; sArray[0] = s.a(); @@ -313,7 +293,8 @@ void G4OpenGLViewer::SetView () { const G4Planes& cutaways = fVP.GetCutawayPlanes(); size_t nPlanes = cutaways.size(); - if (fVP.IsCutaway() && + //if (fVP.IsCutaway() && + if (false && fVP.GetCutawayMode() == G4ViewParameters::cutawayIntersection && nPlanes > 0) { double a[4]; @@ -404,14 +385,14 @@ void G4OpenGLViewer::Pick(GLdouble x, GLdouble y) DrawView(); GLint hits = glRenderMode(GL_RENDER); if (hits < 0) - G4cout << "Too many hits. Zoom in to reduce overlaps." << G4cout; + G4cout << "Too many hits. Zoom in to reduce overlaps." << G4endl; else if (hits > 0) { //G4cout << hits << " hit(s)" << G4endl; GLuint* p = selectBuffer; for (GLint i = 0; i < hits; ++i) { GLuint nnames = *p++; - *p++; //OR GLuint zmin = *p++; - *p++; //OR GLuint zmax = *p++; + p++; //OR GLuint zmin = *p++; + p++; //OR GLuint zmax = *p++; //G4cout << "Hit " << i << ": " << nnames << " names" // << "\nzmin: " << zmin << ", zmax: " << zmax << G4endl; for (GLuint j = 0; j < nnames; ++j) { @@ -498,7 +479,8 @@ void G4OpenGLViewer::printEPS() { // Change the LC_NUMERIC value in order to have "." separtor and not "," // This case is only useful for French, Canadien... - char *oldLocale = strdup(setlocale(LC_NUMERIC,NULL)); + char* oldLocale = (char*)(malloc(strlen(setlocale(LC_NUMERIC,NULL))+1)); + if(oldLocale!=NULL) strcpy(oldLocale,setlocale(LC_NUMERIC,NULL)); setlocale(LC_NUMERIC,"C"); if (fVectoredPs) { @@ -524,6 +506,9 @@ void G4OpenGLViewer::printEPS() { fPrintFilenameIndex++; } +#ifdef G4DEBUG_VIS_OGL + printf("G4OpenGLViewer::printEPS END\n"); +#endif } bool G4OpenGLViewer::printVectoredEPS() { @@ -536,7 +521,7 @@ bool G4OpenGLViewer::printNonVectoredEPS () { int height = getRealPrintSizeY(); #ifdef G4DEBUG_VIS_OGL - printf("G4OpenGLViewer::printNonVectoredEPS file:%s Vec:%d X:%d Y:%d col:%d\n",getRealPrintFilename().c_str(),fVectoredPs,width,height,fPrintColour); + printf("G4OpenGLViewer::printNonVectoredEPS file:%s Vec:%d X:%d Y:%d col:%d fWinX:%d fWinY:%d\n",getRealPrintFilename().c_str(),fVectoredPs,width,height,fPrintColour,fWinSize_x,fWinSize_y); #endif FILE* fp; GLubyte* pixels; @@ -633,9 +618,20 @@ bool G4OpenGLViewer::printGl2PS() { fWinSize_x = width; fWinSize_y = height; + // Laurent G. 16/03/10 : Not the good way to do. + // We should draw in a new offscreen context instead of + // resizing and drawing in current window... + // This should be solve when we will do an offscreen method + // to render OpenGL + // See : + // http://developer.apple.com/Mac/library/documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/opengl_offscreen/opengl_offscreen.html + // http://www.songho.ca/opengl/gl_fbo.html + ResizeGLView(); if (fGL2PSAction->enableFileWriting()) { + // Set the viewport + // fGL2PSAction->setViewport(0, 0, getRealPrintSizeX(),getRealPrintSizeY()); // By default, we choose the line width (trajectories...) fGL2PSAction->setLineWidth(1); // By default, we choose the point size (markers...) @@ -648,6 +644,7 @@ bool G4OpenGLViewer::printGl2PS() { fWinSize_x = X; fWinSize_y = Y; ResizeGLView(); + DrawView (); // Reset for next time (useful is size change) // fPrintSizeX = 0; @@ -674,8 +671,12 @@ G4int G4OpenGLViewer::getRealPrintSizeX() { } GLint dims[2]; glGetIntegerv(GL_MAX_VIEWPORT_DIMS, dims); - if (fPrintSizeX > dims[0]){ - return dims[0]; + + // L.Garnier 01-2010: Some problems with mac 10.6 + if ((dims[0] !=0 ) && (dims[1] !=0)) { + if (fPrintSizeX > dims[0]){ + return dims[0]; + } } if (fPrintSizeX < -1){ return 0; @@ -689,8 +690,12 @@ G4int G4OpenGLViewer::getRealPrintSizeY() { } GLint dims[2]; glGetIntegerv(GL_MAX_VIEWPORT_DIMS, dims); - if (fPrintSizeY > dims[1]){ - return dims[1]; + + // L.Garnier 01-2010: Some problems with mac 10.6 + if ((dims[0] !=0 ) && (dims[1] !=0)) { + if (fPrintSizeY > dims[1]){ + return dims[1]; + } } if (fPrintSizeY < -1){ return 0; @@ -731,6 +736,9 @@ std::string G4OpenGLViewer::getRealPrintFilename() { GLdouble G4OpenGLViewer::getSceneNearWidth() { + if (!fSceneHandler.GetScene()) { + return 0; + } const G4Point3D targetPoint = fSceneHandler.GetScene()->GetStandardTargetPoint() + fVP.GetCurrentTargetPoint (); @@ -743,6 +751,9 @@ GLdouble G4OpenGLViewer::getSceneNearWidth() GLdouble G4OpenGLViewer::getSceneFarWidth() { + if (!fSceneHandler.GetScene()) { + return 0; + } const G4Point3D targetPoint = fSceneHandler.GetScene()->GetStandardTargetPoint() + fVP.GetCurrentTargetPoint (); @@ -757,6 +768,9 @@ GLdouble G4OpenGLViewer::getSceneFarWidth() GLdouble G4OpenGLViewer::getSceneDepth() { + if (!fSceneHandler.GetScene()) { + return 0; + } const G4Point3D targetPoint = fSceneHandler.GetScene()->GetStandardTargetPoint() + fVP.GetCurrentTargetPoint (); @@ -821,15 +835,6 @@ void G4OpenGLViewer::rotateScene(G4double dx, G4double dy,G4double deltaRotation // to avoid z rotation flipping // to allow more than 360° rotation - const G4Point3D targetPoint - = fSceneHandler.GetScene()->GetStandardTargetPoint() - + fVP.GetCurrentTargetPoint (); - G4double radius = fSceneHandler.GetScene()->GetExtent().GetExtentRadius(); - if(radius<=0.) radius = 1.; - const G4double cameraDistance = fVP.GetCameraDistance (radius); - const G4Point3D cameraPosition = - targetPoint + cameraDistance * fVP.GetViewpointDirection().unit(); - if (fVP.GetLightsMoveWithCamera()) { new_up = (new_vp.cross(yprime)).unit(); if (new_vp.z()*vp.z() <0) { @@ -861,4 +866,53 @@ void G4OpenGLViewer::rotateScene(G4double dx, G4double dy,G4double deltaRotation fVP.SetViewAndLights (viewPoint); } + +void G4OpenGLViewer::rotateSceneInViewDirection(G4double dx, G4double dy,G4double deltaRotation) +{ + if (!fSceneHandler.GetScene()) { + return; + } + + G4Vector3D vp; + G4Vector3D up; + + G4Vector3D xprime; + G4Vector3D yprime; + G4Vector3D zprime; + + G4Vector3D new_vp; + G4Vector3D new_up; + + G4Vector3D a1; + G4Vector3D a2; + G4Vector3D delta; + G4Vector3D viewPoint; + + + //phi spin stuff here + +#ifdef G4DEBUG_VIS_OGL + printf("G4OpenGLViewer::rotateScene dx:%f dy:%f delta:%f\n",dx,dy, deltaRotation); +#endif + + vp = fVP.GetViewpointDirection ().unit(); + up = fVP.GetUpVector ().unit(); + + G4Vector3D zPrimeVector = G4Vector3D(up.y()*vp.z()-up.z()*vp.y(), + up.z()*vp.x()-up.x()*vp.z(), + up.x()*vp.y()-up.y()*vp.x()); + + viewPoint = vp/deltaRotation + (zPrimeVector*dx - up*dy) ; + new_up = G4Vector3D(viewPoint.y()*zPrimeVector.z()-viewPoint.z()*zPrimeVector.y(), + viewPoint.z()*zPrimeVector.x()-viewPoint.x()*zPrimeVector.z(), + viewPoint.x()*zPrimeVector.y()-viewPoint.y()*zPrimeVector.x()); + + G4Vector3D new_upUnit = new_up.unit(); + + + + fVP.SetUpVector(new_upUnit); + fVP.SetViewAndLights (viewPoint); +} + #endif diff --git a/source/visualization/OpenGL/src/G4OpenGLViewerMessenger.cc b/source/visualization/OpenGL/src/G4OpenGLViewerMessenger.cc index d13e4747a9..419e67f84a 100644 --- a/source/visualization/OpenGL/src/G4OpenGLViewerMessenger.cc +++ b/source/visualization/OpenGL/src/G4OpenGLViewerMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLViewerMessenger.cc,v 1.18 2009/05/14 16:38:23 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLViewerMessenger.cc,v 1.21 2010/11/07 10:31:26 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #ifdef G4VIS_BUILD_OPENGL_DRIVER @@ -40,6 +40,7 @@ #include "G4UIcmdWithADouble.hh" #include "G4UIcmdWithABool.hh" #include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" #include "G4VisManager.hh" #include @@ -178,6 +179,14 @@ G4OpenGLViewerMessenger::G4OpenGLViewerMessenger() parameter->SetDefaultValue(0.); fpCommandDisplayLightFront->SetParameter(parameter); + fpCommandDisplayListLimit = + new G4UIcmdWithAnInteger("/vis/ogl/set/displayListLimit", this); + fpCommandDisplayListLimit->SetGuidance + ("Set/reset display list limit (to avoid memory exhaustion)."); + fpCommandDisplayListLimit->SetParameterName("limit", omitable = true); + fpCommandDisplayListLimit->SetDefaultValue(50000); + fpCommandDisplayListLimit->SetRange("limit>=10000"); + fpCommandEndTime = new G4UIcommand("/vis/ogl/set/endTime", this); fpCommandEndTime->SetGuidance("Set end and range of track time."); @@ -240,6 +249,7 @@ G4OpenGLViewerMessenger::~G4OpenGLViewerMessenger () delete fpCommandStartTime; delete fpCommandFade; delete fpCommandEndTime; + delete fpCommandDisplayListLimit; delete fpCommandDisplayLightFront; delete fpCommandDisplayHeadTime; delete fpDirectorySet; @@ -269,7 +279,9 @@ void G4OpenGLViewerMessenger::SetNewValue if (!pOGLViewer) { G4cout << "G4OpenGLViewerMessenger::SetNewValue: Current viewer is not of type" - "\n OGL. Use \"/vis/viewer/select\" or \"/vis/open\"." + "\n OGL. (It is \"" + << pViewer->GetName() << + "\".)\n Use \"/vis/viewer/select\" or \"/vis/open\"." << G4endl; return; } @@ -321,8 +333,9 @@ void G4OpenGLViewerMessenger::SetNewValue { G4cout << "G4OpenGLViewerMessenger::SetNewValue: Current viewer is not of type OGLS." - "\n The time slice viewing feature is only implemented for OGL Stored" - "\n viewers at present. Use \"/vis/viewer/select\" or \"/vis/open OGLS...\"." + "\n (It is \"" << pViewer->GetName() << "\".)" + "\n This feature is only implemented for OGL Stored viewers." + "\n Use \"/vis/viewer/select\" or \"/vis/open OGLS...\"." << G4endl; return; } @@ -413,6 +426,52 @@ void G4OpenGLViewerMessenger::SetNewValue return; } + G4VSceneHandler* pSceneHandler = pViewer->GetSceneHandler(); + + if (!pSceneHandler) { + G4cout << + "G4OpenGLViewerMessenger::SetNewValue: This viewer has no scene handler." + "\n Shouldn't happen - please report circumstances." + "\n (Viewer is \"" << pViewer->GetName() << "\".)" + "\n Try \"/vis/open\", or similar, to get one." + << G4endl; + return; + } + + G4OpenGLSceneHandler* pOGLSceneHandler = + dynamic_cast(pSceneHandler); + + if (!pOGLSceneHandler) { + G4cout << + "G4OpenGLViewerMessenger::SetNewValue: Current scene handler is not of type" + "\n OGL. (Viewer is \"" << pViewer->GetName() << "\".)" + "\n (Scene handler is \"" << pSceneHandler->GetName() << "\".)" + "\n Use \"/vis/sceneHandler/list\" and \"/vis/sceneHandler/select\"" + "\n or \"/vis/open\"." + << G4endl; + return; + } + + G4OpenGLStoredSceneHandler* pOGLSSceneHandler = + dynamic_cast(pViewer->GetSceneHandler()); + + if (!pOGLSSceneHandler) { + G4cout << + "G4OpenGLViewerMessenger::SetNewValue: Current scene handler is not of type" + "\n OGLS (Stored). (Viewer is \"" << pViewer->GetName() << "\".)" + "\n (Scene handler is \"" << pSceneHandler->GetName() << "\".)" + "\n This feature is only implemented for OGL Stored" + "\n scene handlers. Use \"/vis/viewer/select\" or \"/vis/open OGLS...\"." + << G4endl; + return; + } + + if (command == fpCommandDisplayListLimit) + { + G4int displayListLimit = + fpCommandDisplayListLimit->GetNewIntValue(newValue); + pOGLSSceneHandler->SetDisplayListLimit(displayListLimit); + } } #endif diff --git a/source/visualization/OpenGL/src/G4OpenGLXViewer.cc b/source/visualization/OpenGL/src/G4OpenGLXViewer.cc index 552f48c419..eacb2b67df 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLXViewer.cc,v 1.55 2009/05/13 10:28:00 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGLXViewer.cc,v 1.56 2010/11/10 17:57:16 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Andrew Walkden 7th February 1997 @@ -49,6 +49,7 @@ #include "G4Point3D.hh" #include "G4Normal3D.hh" #include "G4StateManager.hh" +#include "G4VisManager.hh" #include #include @@ -196,24 +197,28 @@ void G4OpenGLXViewer::CreateGLXContext (XVisualInfo* v) { } if (!cmap) { fViewId = -1; // This flags an error. - G4cerr << - "G4OpenGLViewer::G4OpenGLViewer failed to allocate a standard colormap." - << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cerr << + "G4OpenGLViewer::G4OpenGLViewer failed to allocate a standard colormap." + << G4endl; return; } - G4cout << "Got standard cmap" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::confirmations) + G4cout << "Got standard cmap" << G4endl; } else { cmap = XCreateColormap (dpy, XRootWindow(dpy, vi -> screen), vi -> visual, AllocNone); - G4cout << "Created own cmap" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::confirmations) + G4cout << "Created own cmap" << G4endl; } if (!cmap) { fViewId = -1; // This flags an error. - G4cerr << "G4OpenGLViewer::G4OpenGLViewer failed to allocate a Colormap." - << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "G4OpenGLViewer::G4OpenGLViewer failed to allocate a Colormap." + << G4endl; return; } @@ -249,7 +254,8 @@ void G4OpenGLXViewer::CreateMainWindow () { } else if ((!fVP.IsWindowSizeHintX ()) && fVP.IsWindowLocationHintX () && fVP.IsWindowLocationHintY ()) { size_hints->flags |= PPosition; } - G4cout << "Window name: " << fName << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::confirmations) + G4cout << "Window name: " << fName << G4endl; strncpy (charViewName, fName, 100); char *window_name = charViewName; char *icon_name = charViewName; diff --git a/source/visualization/OpenInventor/CMakeLists.txt b/source/visualization/OpenInventor/CMakeLists.txt new file mode 100644 index 0000000000..69a909fd76 --- /dev/null +++ b/source/visualization/OpenInventor/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4OpenInventor +# Package: Geant4.src.G4visualization.G4OpenInventor +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:12:22 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/OpenInventor/History b/source/visualization/OpenInventor/History index b6f519a719..1d989178c9 100644 --- a/source/visualization/OpenInventor/History +++ b/source/visualization/OpenInventor/History @@ -1,4 +1,4 @@ -$Id: History,v 1.104 2009/11/17 17:47:49 allison Exp $ +$Id: History,v 1.108 2010/11/10 17:53:22 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,19 @@ committal in the CVS repository ! History file for visualization/OpenInventor ------------------------------------------- +10th November 2010 John Allison (openinventor-V09-03-02) +- G4OpenInventor*Viewer.cc: + o Protected output with G4VisManager::confirmations. + +6th October 2010 John Allison (openinventor-V09-03-01) +- G4OpenInventorViewer.cc: + o Added default colour and default text colour to list of parameters + that trigger a kernel visit. + +26th May 2010 John Allison (openinventor-V09-03-00) +- G4OpenInventorWin.cc, G4OpenInventorXt.cc: Protection against + repeated initialisation. + 17th November 2009 John Allison (openinventor-V09-02-03) - Tagged for vis tag. diff --git a/source/visualization/OpenInventor/sources.cmake b/source/visualization/OpenInventor/sources.cmake new file mode 100644 index 0000000000..0d66003ac6 --- /dev/null +++ b/source/visualization/OpenInventor/sources.cmake @@ -0,0 +1,112 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4OpenInventor +# Package: Geant4.src.G4visualization.G4OpenInventor +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:12:30 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/interfaces/common/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/externals/gl2ps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/modeling/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4OpenInventor + HEADERS + G4OpenInventor.hh + G4OpenInventorSceneHandler.hh + G4OpenInventorTransform3D.hh + G4OpenInventorViewer.hh + G4OpenInventorWin.hh + G4OpenInventorWin32.hh + G4OpenInventorWinViewer.hh + G4OpenInventorX.hh + G4OpenInventorXt.hh + G4OpenInventorXtViewer.hh + Geant4_SoPolyhedron.h + SoG4LineSet.h + SoG4MarkerSet.h + SoG4Polyhedron.h + SOURCES + G4OpenInventor.cc + G4OpenInventorSceneHandler.cc + G4OpenInventorTransform3D.cc + G4OpenInventorViewer.cc + G4OpenInventorWin.cc + G4OpenInventorWinViewer.cc + G4OpenInventorXt.cc + G4OpenInventorXtViewer.cc + SbPainter.cc + SbPainterPS.cc + SoAlternateRepAction.cc + SoBox.cc + SoCons.cc + SoCounterAction.cc + SoDetectorTreeKit.cc + SoGL2PSAction.cc + SoImageWriter.cc + SoMarkerSet.cc + SoPolyhedron.cc + SoStyleCache.cc + SoTrap.cc + SoTrd.cc + SoTubs.cc + GRANULAR_DEPENDENCIES + G4UIcommon + G4csg + G4geometrymng + G4gl2ps + G4globman + G4graphics_reps + G4hits + G4intercoms + G4materials + G4modeling + G4specsolids + G4tracking + G4vis_management + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4gl2ps + G4global + G4graphics_reps + G4intercoms + G4interfaces + G4materials + G4modeling + G4tracking + G4vis_management + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc b/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc index 6e22d54a18..af9b2ea82e 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4OpenInventorViewer.cc,v 1.60 2009/02/16 15:31:05 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenInventorViewer.cc,v 1.61 2010/10/06 10:09:57 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ #ifdef G4VIS_BUILD_OI_DRIVER @@ -176,6 +176,10 @@ G4bool G4OpenInventorViewer::CompareForKernelVisit(G4ViewParameters& vp) { (vp.IsExplode () != fVP.IsExplode ()) || (vp.GetNoOfSides () != fVP.GetNoOfSides ()) || (vp.IsMarkerNotHidden () != fVP.IsMarkerNotHidden ()) || + (vp.GetDefaultVisAttributes()->GetColour() != + fVP.GetDefaultVisAttributes()->GetColour()) || + (vp.GetDefaultTextVisAttributes()->GetColour() != + fVP.GetDefaultTextVisAttributes()->GetColour()) || (vp.GetBackgroundColour ()!= fVP.GetBackgroundColour ())|| (vp.IsPicking () != fVP.IsPicking ()) || // Scaling for Open Inventor is done by the scene handler so it diff --git a/source/visualization/OpenInventor/src/G4OpenInventorWin.cc b/source/visualization/OpenInventor/src/G4OpenInventorWin.cc index 87f36a28cf..5e3df59c4e 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorWin.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorWin.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenInventorWin.cc,v 1.7 2009/09/18 12:48:43 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenInventorWin.cc,v 1.8 2010/05/26 14:30:46 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // OpenInventor graphics system factory. @@ -57,7 +57,7 @@ void G4OpenInventorWin::Initialize () HWND toplevel = (HWND)GetInteractorManager()->GetMainInteractor(); - SoWin::init(toplevel); + if(!SoWin::getTopLevelWidget()) SoWin::init(toplevel); InitNodes(); diff --git a/source/visualization/OpenInventor/src/G4OpenInventorWinViewer.cc b/source/visualization/OpenInventor/src/G4OpenInventorWinViewer.cc index 7eb47f3a15..a23cf321db 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorWinViewer.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorWinViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenInventorWinViewer.cc,v 1.26 2009/09/18 12:48:43 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenInventorWinViewer.cc,v 1.27 2010/11/10 17:53:22 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // /* * jck : 05 Feb 1997 : Initial Implementation @@ -51,6 +51,7 @@ #include "G4OpenInventor.hh" #include "G4OpenInventorSceneHandler.hh" #include "G4VInteractorManager.hh" +#include "G4VisManager.hh" #include @@ -94,8 +95,8 @@ G4OpenInventorWinViewer::G4OpenInventorWinViewer( ,fShell(0) ,fViewer(0) { - G4cout << "Window name: " << fName << G4endl; - + if (G4VisManager::GetVerbosity() >= G4VisManager::confirmations) + G4cout << "Window name: " << fName << G4endl; } diff --git a/source/visualization/OpenInventor/src/G4OpenInventorXt.cc b/source/visualization/OpenInventor/src/G4OpenInventorXt.cc index 342ce71541..6c585fae46 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorXt.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorXt.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenInventorXt.cc,v 1.4 2006/06/29 21:22:24 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4OpenInventorXt.cc,v 1.5 2010/05/26 14:30:46 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Jeff Kallenbach 01 Aug 1996 @@ -80,7 +80,7 @@ void G4OpenInventorXt::Initialize() } } - SoXt::init(top); + if(!SoXt::getTopLevelWidget()) SoXt::init(top); InitNodes(); diff --git a/source/visualization/OpenInventor/src/G4OpenInventorXtViewer.cc b/source/visualization/OpenInventor/src/G4OpenInventorXtViewer.cc index bc7848be72..f772edb4a6 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorXtViewer.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorXtViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenInventorXtViewer.cc,v 1.25 2009/09/18 12:48:43 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenInventorXtViewer.cc,v 1.26 2010/11/10 17:53:22 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // /* * jck 05 Feb 1997 - Initial Implementation @@ -64,6 +64,7 @@ #include "G4OpenInventor.hh" #include "G4OpenInventorSceneHandler.hh" #include "G4VInteractorManager.hh" +#include "G4VisManager.hh" G4OpenInventorXtViewer::G4OpenInventorXtViewer( G4OpenInventorSceneHandler& sceneHandler @@ -74,7 +75,8 @@ G4OpenInventorXtViewer::G4OpenInventorXtViewer( ,fHelpForm(0) ,fHelpText(0) { - G4cout << "Window name: " << fName << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::confirmations) + G4cout << "Window name: " << fName << G4endl; } diff --git a/source/visualization/RayTracer/CMakeLists.txt b/source/visualization/RayTracer/CMakeLists.txt new file mode 100644 index 0000000000..8c3f08cac7 --- /dev/null +++ b/source/visualization/RayTracer/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4RayTracer +# Package: Geant4.src.G4visualization.G4RayTracer +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:12:38 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/RayTracer/GNUmakefile b/source/visualization/RayTracer/GNUmakefile index 6fee07b966..0b19ede902 100644 --- a/source/visualization/RayTracer/GNUmakefile +++ b/source/visualization/RayTracer/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.11 2005/11/18 23:07:04 allison Exp $ +# $Id: GNUmakefile,v 1.13 2010/10/27 08:00:36 gcosmo Exp $ name := G4RayTracer diff --git a/source/visualization/RayTracer/History b/source/visualization/RayTracer/History index e1925dfa7b..2c785fe788 100644 --- a/source/visualization/RayTracer/History +++ b/source/visualization/RayTracer/History @@ -1,4 +1,4 @@ -$Id: History,v 1.60 2009/11/15 12:33:54 allison Exp $ +$Id: History,v 1.66 2010/10/27 08:00:36 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -24,6 +24,23 @@ committal in the CVS repository ! History file for Ray Tracer category --------------------------------------- +27th October 2010 Gabriele Cosmo (raytracer-V09-03-04) +- Restored DLL setup as originally. Withdrawn changes in last tag. + +19th October 2010 Gabriele Cosmo (raytracer-V09-03-03) +- Replaced G4VIS_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported + symbols. + +14th June 2010 Gabriele Cosmo (raytracer-V09-03-02) +- Added missing virtual destructor to G4VRTScanner, G4RTXScanner and + G4RTSimpleScanner. + +30th May 2010 John Allison (raytracer-V09-03-01) +- G4RayTracerSceneHandler: Added AddCompound(const G4VDigi&). + +29th May 2010 John Allison (raytracer-V09-03-00) +- G4RayTrajectory.hh: Added DrawTrajectory() ready for i_mode migration. + 15th November 2009 John Allison (raytracer-V09-02-02) - Formal tag to record fixing of bugzilla Problem 1072. o There is no change of source code. diff --git a/source/visualization/RayTracer/include/G4RTSimpleScanner.hh b/source/visualization/RayTracer/include/G4RTSimpleScanner.hh index cee6381a30..5e6122c32f 100644 --- a/source/visualization/RayTracer/include/G4RTSimpleScanner.hh +++ b/source/visualization/RayTracer/include/G4RTSimpleScanner.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RTSimpleScanner.hh,v 1.3 2006/06/29 21:23:25 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4RTSimpleScanner.hh,v 1.4 2010/06/14 14:33:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -44,9 +44,9 @@ class G4RTSimpleScanner: public G4VRTScanner { public: // with description G4RTSimpleScanner(); + virtual ~G4RTSimpleScanner(); - // Compiler defaults for destructor, copy constructor and - // assignmemt. + // Compiler defaults for copy constructor and assignmemt. virtual const G4String& GetGSName() const; // Get name that acts as graphics system name. diff --git a/source/visualization/RayTracer/include/G4RTXScanner.hh b/source/visualization/RayTracer/include/G4RTXScanner.hh index 3190afff0c..31e54a6f51 100644 --- a/source/visualization/RayTracer/include/G4RTXScanner.hh +++ b/source/visualization/RayTracer/include/G4RTXScanner.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RTXScanner.hh,v 1.4 2006/06/29 21:23:31 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4RTXScanner.hh,v 1.5 2010/06/14 14:33:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -52,9 +52,9 @@ class G4RTXScanner: public G4VRTScanner { public: // with description G4RTXScanner(); + virtual ~G4RTXScanner(); - // Compiler defaults for destructor, copy constructor and - // assignmemt. + // Compiler defaults for copy constructor and assignmemt. virtual const G4String& GetGSName() const; // Get name that acts as graphics system name. diff --git a/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh b/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh index cacae9326e..ac6273fb77 100644 --- a/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh +++ b/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RayTracerSceneHandler.hh,v 1.12 2009/10/21 15:24:53 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4RayTracerSceneHandler.hh,v 1.13 2010/05/30 10:21:25 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // John Allison 17th March 2000 @@ -64,6 +64,7 @@ public: void AddSolid(const G4VSolid&){} void AddCompound(const G4VTrajectory&){} void AddCompound(const G4VHit&){} + void AddCompound(const G4VDigi&){} void AddCompound(const G4THitsMap&) {} private: diff --git a/source/visualization/RayTracer/include/G4RayTrajectory.hh b/source/visualization/RayTracer/include/G4RayTrajectory.hh index c8f3daace9..8d18fd0cf1 100644 --- a/source/visualization/RayTracer/include/G4RayTrajectory.hh +++ b/source/visualization/RayTracer/include/G4RayTrajectory.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RayTrajectory.hh,v 1.15 2006/06/29 21:23:45 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4RayTrajectory.hh,v 1.16 2010/05/29 21:09:40 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -69,6 +69,7 @@ class G4RayTrajectory : public G4VTrajectory virtual void AppendStep(const G4Step*); virtual void ShowTrajectory(std::ostream&) const; + virtual void DrawTrajectory() const {;} virtual void DrawTrajectory(G4int) const {;} virtual int GetPointEntries() const {return positionRecord->size();} virtual G4VTrajectoryPoint* GetPoint(G4int i) const diff --git a/source/visualization/RayTracer/include/G4VRTScanner.hh b/source/visualization/RayTracer/include/G4VRTScanner.hh index 4926b839f1..3c66abfba0 100644 --- a/source/visualization/RayTracer/include/G4VRTScanner.hh +++ b/source/visualization/RayTracer/include/G4VRTScanner.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRTScanner.hh,v 1.5 2006/06/29 21:23:53 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRTScanner.hh,v 1.6 2010/06/14 14:33:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -43,6 +43,9 @@ class G4VRTScanner { public: // with description + G4VRTScanner(); + virtual ~G4VRTScanner(); + virtual const G4String& GetGSName() const = 0; // Get name that acts as graphics system name. @@ -65,8 +68,7 @@ public: // with description }; -inline void G4VRTScanner::Draw -(unsigned char, unsigned char, unsigned char) -{} +inline +void G4VRTScanner::Draw(unsigned char, unsigned char, unsigned char) {} #endif diff --git a/source/visualization/RayTracer/sources.cmake b/source/visualization/RayTracer/sources.cmake new file mode 100644 index 0000000000..2f545090ae --- /dev/null +++ b/source/visualization/RayTracer/sources.cmake @@ -0,0 +1,155 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4RayTracer +# Package: Geant4.src.G4visualization.G4RayTracer +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:12:47 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/event/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/modeling/include) + + +# +# Module has optional sources +# +# List those always built +set(G4VIS_RAYTRACER_MODULE_HEADERS + G4RTJpeg.hh + G4RTJpegCoder.hh + G4RTJpegCoderTables.hh + G4RTJpegMaker.hh + G4RTMessenger.hh + G4RTOutBitStream.hh + G4RTSimpleScanner.hh + G4RTSteppingAction.hh + G4RTTrackingAction.hh + G4RayTracer.hh + G4RayTracerFeatures.hh + G4RayTracerSceneHandler.hh + G4RayTracerViewer.hh + G4RayTrajectory.hh + G4RayTrajectoryPoint.hh + G4TheRayTracer.hh + G4VFigureFileMaker.hh + G4VRTScanner.hh) + +set(G4VIS_RAYTRACER_MODULE_SOURCES + G4RTJpegCoder.cc + G4RTJpegMaker.cc + G4RTMessenger.cc + G4RTOutBitStream.cc + G4RTSimpleScanner.cc + G4RTSteppingAction.cc + G4RTTrackingAction.cc + G4RayTracer.cc + G4RayTracerSceneHandler.cc + G4RayTracerViewer.cc + G4RayTrajectory.cc + G4RayTrajectoryPoint.cc + G4TheRayTracer.cc + G4VRTScanner.cc) + +set(G4VIS_RAYTRACER_MODULE_LINK_LIBRARIES ) + +# +# X11 RayTracer only if selected +# +if(GEANT4_USE_RAYTRACERX) + list(APPEND G4VIS_RAYTRACER_MODULE_HEADERS + G4RayTracerX.hh + G4RayTracerXViewer.hh + G4RTXScanner.hh) + + list(APPEND G4VIS_RAYTRACER_MODULE_SOURCES + G4RayTracerX.cc + G4RayTracerXViewer.cc + G4RTXScanner.cc) + + # + # Add source properties and additional LINK_LIBRARIES here + # +endif() + + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4RayTracer + HEADERS + ${G4VIS_RAYTRACER_MODULE_HEADERS} + SOURCES + ${G4VIS_RAYTRACER_MODULE_SOURCES} + GRANULAR_DEPENDENCIES + G4bosons + G4cuts + G4detector + G4digits + G4event + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4materials + G4modeling + G4navigation + G4partman + G4procman + G4track + G4tracking + G4vis_management + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4event + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4modeling + G4particles + G4processes + G4track + G4tracking + G4vis_management + LINK_LIBRARIES + ${G4VIS_RAYTRACER_MODULE_LINK_LIBRARIES} +) + +# List any source specific properties here + diff --git a/source/visualization/RayTracer/src/G4RTSimpleScanner.cc b/source/visualization/RayTracer/src/G4RTSimpleScanner.cc index 9a7636110e..e5f4ba583b 100644 --- a/source/visualization/RayTracer/src/G4RTSimpleScanner.cc +++ b/source/visualization/RayTracer/src/G4RTSimpleScanner.cc @@ -24,20 +24,22 @@ // ******************************************************************** // // -// $Id: G4RTSimpleScanner.cc,v 1.4 2007/05/22 17:10:42 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4RTSimpleScanner.cc,v 1.5 2010/06/14 14:33:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // #include "G4RTSimpleScanner.hh" G4RTSimpleScanner::G4RTSimpleScanner(): - theNRow(0), theNColumn(0), theIRow(0), theIColumn(0) + G4VRTScanner(), theNRow(0), theNColumn(0), theIRow(0), theIColumn(0) { theGSName = "RayTracer"; theGSNickname = "RayTracer"; } +G4RTSimpleScanner::~G4RTSimpleScanner(){} + const G4String& G4RTSimpleScanner::GetGSName() const {return theGSName;} diff --git a/source/visualization/RayTracer/src/G4RTXScanner.cc b/source/visualization/RayTracer/src/G4RTXScanner.cc index 5fa7d8f137..b9a683795b 100644 --- a/source/visualization/RayTracer/src/G4RTXScanner.cc +++ b/source/visualization/RayTracer/src/G4RTXScanner.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RTXScanner.cc,v 1.7 2009/09/16 16:56:52 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4RTXScanner.cc,v 1.8 2010/06/14 14:33:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // @@ -47,12 +47,14 @@ extern "C" { } G4RTXScanner::G4RTXScanner(): - theNRow(0), theNColumn(0), theIRow(0), theIColumn(0) + G4VRTScanner(), theNRow(0), theNColumn(0), theIRow(0), theIColumn(0) { theGSName = "RayTracerX"; theGSNickname = "RayTracerX"; } +G4RTXScanner::~G4RTXScanner() {} + const G4String& G4RTXScanner::GetGSName() const {return theGSName;} diff --git a/source/processes/hadronic/models/parton_string/qgsm/src/G4PartonStringAnnihilator.cc b/source/visualization/RayTracer/src/G4VRTScanner.cc similarity index 88% rename from source/processes/hadronic/models/parton_string/qgsm/src/G4PartonStringAnnihilator.cc rename to source/visualization/RayTracer/src/G4VRTScanner.cc index 7f078236ca..44355dd44d 100644 --- a/source/processes/hadronic/models/parton_string/qgsm/src/G4PartonStringAnnihilator.cc +++ b/source/visualization/RayTracer/src/G4VRTScanner.cc @@ -23,3 +23,13 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// +// $Id: G4VRTScanner.cc,v 1.1 2010/06/14 14:33:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// + +#include "G4VRTScanner.hh" + +G4VRTScanner::G4VRTScanner() {} +G4VRTScanner::~G4VRTScanner() {} diff --git a/source/visualization/Tree/CMakeLists.txt b/source/visualization/Tree/CMakeLists.txt new file mode 100644 index 0000000000..2f8861818d --- /dev/null +++ b/source/visualization/Tree/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4Tree +# Package: Geant4.src.G4visualization.G4Tree +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:12:55 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/Tree/History b/source/visualization/Tree/History index 8c4f35e600..4358eaaf3c 100644 --- a/source/visualization/Tree/History +++ b/source/visualization/Tree/History @@ -1,4 +1,4 @@ -$Id: History,v 1.30 2007/03/27 15:11:43 allison Exp $ +$Id: History,v 1.31 2010/11/13 11:26:01 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -24,6 +24,9 @@ committal in the CVS repository ! History file for visualization/Tree sub-category ------------------------------------------------ +13th November 2010 John Allison (vistree-V09-03-00) +- Tagged inclusion of CMake stuff. + 25th March 2007 John Allison (vistree-V08-02-01) - Removed GAGTree. diff --git a/source/visualization/Tree/sources.cmake b/source/visualization/Tree/sources.cmake new file mode 100644 index 0000000000..31a76a73be --- /dev/null +++ b/source/visualization/Tree/sources.cmake @@ -0,0 +1,92 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4Tree +# Package: Geant4.src.G4visualization.G4Tree +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:13:03 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/modeling/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4Tree + HEADERS + G4ASCIITree.hh + G4ASCIITreeMessenger.hh + G4ASCIITreeSceneHandler.hh + G4ASCIITreeViewer.hh + G4VTree.hh + G4VTreeSceneHandler.hh + G4VTreeSceneHandler.icc + G4VTreeViewer.hh + SOURCES + G4ASCIITree.cc + G4ASCIITreeMessenger.cc + G4ASCIITreeSceneHandler.cc + G4ASCIITreeViewer.cc + G4VTree.cc + G4VTreeSceneHandler.cc + G4VTreeViewer.cc + GRANULAR_DEPENDENCIES + G4csg + G4detector + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4materials + G4modeling + G4navigation + G4partman + G4specsolids + G4track + G4vis_management + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4modeling + G4particles + G4track + G4vis_management + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/visualization/VRML/CMakeLists.txt b/source/visualization/VRML/CMakeLists.txt new file mode 100644 index 0000000000..f683214c3b --- /dev/null +++ b/source/visualization/VRML/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4VRML +# Package: Geant4.src.G4visualization.G4VRML +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:13:11 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/VRML/History b/source/visualization/VRML/History index 058351b84f..8e6c39683a 100644 --- a/source/visualization/VRML/History +++ b/source/visualization/VRML/History @@ -1,4 +1,4 @@ -$Id: History,v 1.17 2009/10/21 15:27:21 allison Exp $ +$Id: History,v 1.21 2010/11/11 00:48:34 akimura Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,13 @@ committal in the CVS repository ! History file for visualization/VRML sub-category ------------------------------------------------ +11 November 2010 Akinori Kimura (VRML-V09-03-01) +- Replaced G4cerr with G4cout and added the following line before G4cout. + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + +30th May 2010 John Allison (VRML-V09-03-00) +- G4VRML[1/2][File}SceneHandler: Added AddCompound(const G4VDigi&). + 21st October 2009 John Allison (VRML-V09-02-01 coworks greps-V09-02-02) - Added AddCompound (const G4THitsMap&) methods. o Prevents warnings about hiding - calls G4VSceneHandler base class. diff --git a/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh b/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh index 6340cbbe91..a5c13d275e 100644 --- a/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML1FileSceneHandler.hh,v 1.18 2009/10/21 15:27:21 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VRML1FileSceneHandler.hh,v 1.19 2010/05/30 10:14:39 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // G4VRML1FileSceneHandler.hh // Satoshi Tanaka & Yasuhide Sawada @@ -72,6 +72,9 @@ public: void AddCompound ( const G4VHit& hit) { G4VSceneHandler::AddCompound(hit); } + void AddCompound ( const G4VDigi& digi) { + G4VSceneHandler::AddCompound(digi); + } void AddCompound ( const G4THitsMap & hits) { G4VSceneHandler::AddCompound(hits); } diff --git a/source/visualization/VRML/include/G4VRML1SceneHandler.hh b/source/visualization/VRML/include/G4VRML1SceneHandler.hh index f1e8406268..ad7a949fe5 100644 --- a/source/visualization/VRML/include/G4VRML1SceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML1SceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML1SceneHandler.hh,v 1.15 2009/10/21 15:27:21 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VRML1SceneHandler.hh,v 1.16 2010/05/30 10:08:32 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // G4VRML1SceneHandler.hh // Yasuhide Sawada & Satoshi Tanaka @@ -77,6 +77,9 @@ public: void AddCompound ( const G4VHit& hit) { G4VSceneHandler::AddCompound(hit); } + void AddCompound ( const G4VDigi& digi) { + G4VSceneHandler::AddCompound(digi); + } void AddCompound ( const G4THitsMap & hits) { G4VSceneHandler::AddCompound(hits); } diff --git a/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh b/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh index 245ecd0eeb..9baa5f8585 100644 --- a/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML2FileSceneHandler.hh,v 1.17 2009/10/21 15:27:21 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VRML2FileSceneHandler.hh,v 1.18 2010/05/30 10:14:39 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // G4VRML2FileSceneHandler.hh // Satoshi Tanaka & Yasuhide Sawada @@ -72,6 +72,9 @@ public: void AddCompound ( const G4VHit& hit) { G4VSceneHandler::AddCompound(hit); } + void AddCompound ( const G4VDigi& digi) { + G4VSceneHandler::AddCompound(digi); + } void AddCompound ( const G4THitsMap & hits) { G4VSceneHandler::AddCompound(hits); } diff --git a/source/visualization/VRML/include/G4VRML2SceneHandler.hh b/source/visualization/VRML/include/G4VRML2SceneHandler.hh index 3c3f5ce7e3..1ed2e8b551 100644 --- a/source/visualization/VRML/include/G4VRML2SceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML2SceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML2SceneHandler.hh,v 1.14 2009/10/21 15:27:21 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VRML2SceneHandler.hh,v 1.15 2010/05/30 10:08:32 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // G4VRML2SceneHandler.hh // Satoshi Tanaka & Yasuhide Sawada @@ -75,6 +75,9 @@ public: void AddCompound ( const G4VHit& hit) { G4VSceneHandler::AddCompound(hit); } + void AddCompound ( const G4VDigi& digi) { + G4VSceneHandler::AddCompound(digi); + } void AddCompound ( const G4THitsMap & hits) { G4VSceneHandler::AddCompound(hits); } diff --git a/source/visualization/VRML/sources.cmake b/source/visualization/VRML/sources.cmake new file mode 100644 index 0000000000..61ccd5f0db --- /dev/null +++ b/source/visualization/VRML/sources.cmake @@ -0,0 +1,121 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4VRML +# Package: Geant4.src.G4visualization.G4VRML +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.2 2010/11/23 20:40:23 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/modeling/include) + + +# +# Module has optional sources +# +include(Geant4MacroDefineModule) + +# List those always built +set(G4VIS_VRML_MODULE_HEADERS + G4VRML1File.hh + G4VRML1FileSceneHandler.hh + G4VRML1FileViewer.hh + G4VRML2File.hh + G4VRML2FileSceneHandler.hh + G4VRML2FileViewer.hh) + +set(G4VIS_VRML_MODULE_SOURCES + G4VRML1File.cc + G4VRML1FileSceneHandler.cc + G4VRML1FileViewer.cc + G4VRML1SceneHandlerFunc.icc + G4VRML2File.cc + G4VRML2FileSceneHandler.cc + G4VRML2FileViewer.cc + G4VRML2SceneHandlerFunc.icc) + +# +# VRML Network drivers only if user selected +# +if(GEANT4_USE_NETWORKVRML) + list(APPEND G4VIS_VRML_MODULE_HEADERS + FRClient.h + G4FRClient.hh + G4VRML1.hh + G4VRML1SceneHandler.hh + G4VRML1Viewer.hh + G4VRML2.hh + G4VRML2SceneHandler.hh + G4VRML2Viewer.hh + G4VRMLNetConfig.hh) + + list(APPEND G4VIS_VRML_MODULE_SOURCES + FRClient.cc + G4FRClient.cc + G4VRML1.cc + G4VRML1SceneHandler.cc + G4VRML1Viewer.cc + G4VRML2.cc + G4VRML2SceneHandler.cc + G4VRML2Viewer.cc) + + # + # Add extra needed defs here + # + GEANT4_ADD_COMPILE_DEFINITIONS(SOURCES ${G4VIS_VRML_MODULE_SOURCES} + COMPILE_DEFINITIONS G4VIS_BUILD_VRML_DRIVER) +endif() + + +# +# Define the Geant4 Module. +# +GEANT4_DEFINE_MODULE(NAME G4VRML + HEADERS + ${G4VIS_VRML_MODULE_HEADERS} + SOURCES + ${G4VIS_VRML_MODULE_SOURCES} + GRANULAR_DEPENDENCIES + G4csg + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4modeling + G4specsolids + G4vis_management + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4global + G4graphics_reps + G4intercoms + G4modeling + G4vis_management + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/visualization/VRML/src/FRClient.cc b/source/visualization/VRML/src/FRClient.cc index ca4e5ad950..8570a80a3f 100644 --- a/source/visualization/VRML/src/FRClient.cc +++ b/source/visualization/VRML/src/FRClient.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: FRClient.cc,v 1.7 2006/06/29 21:25:49 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: FRClient.cc,v 1.8 2010/11/11 00:14:50 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // FRClient.cc // FukuiRenderer Client @@ -55,6 +55,7 @@ #include #include +#include "G4VisManager.hh" #include "FRClient.h" FRClient::FRClient() @@ -98,8 +99,9 @@ int FRClient::connect(const char *hostname, int port_) } hp = gethostbyname(hostname) ; if ( !hp ) { - G4cerr << "ERROR: gethostbyname() failed" << G4endl; - return -1; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR: gethostbyname() failed" << G4endl; + return -1; } memcpy( (char * )&sa.sin_addr, (char * )hp->h_addr, hp->h_length ); diff --git a/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc b/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc index 51cf28cebe..374f307fa4 100644 --- a/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML1FileSceneHandler.cc,v 1.12 2006/06/29 21:25:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRML1FileSceneHandler.cc,v 1.13 2010/11/11 00:14:50 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VRML1FileSceneHandler.cc // Satoshi Tanaka & Yasuhide Sawada @@ -39,6 +39,7 @@ #include #include "globals.hh" +#include "G4VisManager.hh" #include "G4Scene.hh" #include "G4VPhysicalVolume.hh" #include "G4LogicalVolume.hh" @@ -103,7 +104,8 @@ G4VRML1FileSceneHandler::G4VRML1FileSceneHandler(G4VRML1File& system, const G4St G4VRML1FileSceneHandler::~G4VRML1FileSceneHandler() { #if defined DEBUG_FR_SCENE - G4cerr << "***** ~G4VRML1FileSceneHandler" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** ~G4VRML1FileSceneHandler" << G4endl; #endif VRMLEndModeling(); } @@ -133,13 +135,15 @@ void G4VRML1FileSceneHandler::connectPort() // Message in the final execution if( i == MAX_FILE_INDEX ) { - G4cerr << "===========================================" << G4endl; - G4cerr << "WARNING MESSAGE from VRML1FILE driver: " << G4endl; - G4cerr << " This file name is the final one in the " << G4endl; - G4cerr << " automatic updation of the output file name." << G4endl; - G4cerr << " You may overwrite existing files, i.e. " << G4endl; - G4cerr << " g4_XX.wrl. " << G4endl; - G4cerr << "===========================================" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "===========================================" << G4endl; + G4cout << "WARNING MESSAGE from VRML1FILE driver: " << G4endl; + G4cout << " This file name is the final one in the " << G4endl; + G4cout << " automatic updation of the output file name." << G4endl; + G4cout << " You may overwrite existing files, i.e. " << G4endl; + G4cout << " g4_XX.wrl. " << G4endl; + G4cout << "===========================================" << G4endl; + } } // re-determine file name as G4VRMLFILE_DEST_DIR/g4_XX.wrl @@ -165,12 +169,13 @@ void G4VRML1FileSceneHandler::connectPort() } // for // open a VRML 1.0 file with determined file name - G4cerr << "===========================================" << G4endl; - G4cerr << "Output VRML 1.0 file: " << fVRMLFileName << G4endl; - G4cerr << "Maximum number of files in the destination directory: " << fMaxFileNum << G4endl; - G4cerr << " (Customizable with the environment variable: G4VRMLFILE_MAX_FILE_NUM) " << G4endl; - G4cerr << "===========================================" << G4endl; - + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "===========================================" << G4endl; + G4cout << "Output VRML 1.0 file: " << fVRMLFileName << G4endl; + G4cout << "Maximum number of files in the destination directory: " << fMaxFileNum << G4endl; + G4cout << " (Customizable with the environment variable: G4VRMLFILE_MAX_FILE_NUM) " << G4endl; + G4cout << "===========================================" << G4endl; + } fDest.open(fVRMLFileName) ; fFlagDestOpen = true ; } @@ -186,18 +191,21 @@ void G4VRML1FileSceneHandler::closePort() // close VRML file fDest.close(); fFlagDestOpen = false ; - G4cerr << "*** VRML 1.0 File " << fVRMLFileName << " is generated." << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "*** VRML 1.0 File " << fVRMLFileName << " is generated." << G4endl; // Invoke viewer if ( !strcmp(viewer, NO_VRML_VIEWER )) { - G4cerr << "MESSAGE from VRML1FILE driver:" << G4endl; - G4cerr << " Set an environmental variable " ; - G4cerr << ENV_VRML_VIEWER << G4endl; - G4cerr << " if you want to visualize the generated VRML file" << G4endl; - G4cerr << " automatically. For example, " << G4endl; - G4cerr << " setenv " << ENV_VRML_VIEWER << " vrweb " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "MESSAGE from VRML1FILE driver:" << G4endl; + G4cout << " Set an environmental variable " ; + G4cout << ENV_VRML_VIEWER << G4endl; + G4cout << " if you want to visualize the generated VRML file" << G4endl; + G4cout << " automatically. For example, " << G4endl; + G4cout << " setenv " << ENV_VRML_VIEWER << " vrweb " << G4endl; + } } else { sprintf( command, "%s %s", viewer, fVRMLFileName ); system( command ); diff --git a/source/visualization/VRML/src/G4VRML1FileViewer.cc b/source/visualization/VRML/src/G4VRML1FileViewer.cc index 71ab7e0697..7965b3ef3e 100644 --- a/source/visualization/VRML/src/G4VRML1FileViewer.cc +++ b/source/visualization/VRML/src/G4VRML1FileViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML1FileViewer.cc,v 1.11 2006/06/29 21:25:59 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRML1FileViewer.cc,v 1.12 2010/11/11 00:14:50 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VRMLView.cc // Satoshi Tanaka & Yasuhide Sawada @@ -33,6 +33,7 @@ //#define DEBUG_FR_VIEW +#include "G4VisManager.hh" #include "G4Scene.hh" #include "G4VRML1FileViewer.hh" #include "G4VRML1FileSceneHandler.hh" @@ -53,14 +54,16 @@ G4VRML1FileViewer::~G4VRML1FileViewer() void G4VRML1FileViewer::SetView() { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML1FileViewer::SetView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML1FileViewer::SetView(): No effects" << G4endl; #endif } void G4VRML1FileViewer::DrawView() { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML1FileViewer::DrawView()" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML1FileViewer::DrawView()" << G4endl; #endif fSceneHandler.VRMLBeginModeling(); @@ -74,7 +77,8 @@ void G4VRML1FileViewer::DrawView() void G4VRML1FileViewer::ClearView(void) { //#if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML1File1View::ClearView()" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML1File1View::ClearView()" << G4endl; //#endif if(fSceneHandler.fFlagDestOpen) { fSceneHandler.fDest.close(); @@ -88,7 +92,8 @@ void G4VRML1FileViewer::ClearView(void) void G4VRML1FileViewer::ShowView(void) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML1FileViewer::ShowView()" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML1FileViewer::ShowView()" << G4endl; #endif fSceneHandler.VRMLEndModeling(); } @@ -96,6 +101,7 @@ void G4VRML1FileViewer::ShowView(void) void G4VRML1FileViewer::FinishView(void) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML1FileViewer::FinishView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML1FileViewer::FinishView(): No effects" << G4endl; #endif } diff --git a/source/visualization/VRML/src/G4VRML1SceneHandler.cc b/source/visualization/VRML/src/G4VRML1SceneHandler.cc index 0bcc581995..4147d129dd 100644 --- a/source/visualization/VRML/src/G4VRML1SceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML1SceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML1SceneHandler.cc,v 1.10 2006/06/29 21:26:01 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRML1SceneHandler.cc,v 1.11 2010/11/11 00:14:50 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VRML1SceneHandler.cc // Yasuhide Sawada and Satoshi Tanaka @@ -43,6 +43,7 @@ #include #include "globals.hh" +#include "G4VisManager.hh" #include "G4VPhysicalVolume.hh" #include "G4LogicalVolume.hh" #include "G4Point3D.hh" @@ -80,7 +81,8 @@ G4VRML1SceneHandler::G4VRML1SceneHandler(G4VRML1& system, const G4String& name) G4VRML1SceneHandler::~G4VRML1SceneHandler() { #if defined DEBUG_FR_SCENE - G4cerr << "***** ~G4VRML1SceneHandler" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** ~G4VRML1SceneHandler" << G4endl; #endif } @@ -100,14 +102,18 @@ void G4VRML1SceneHandler::connectPort(G4int max_trial) for (trial = 0; !fDest.isConnected()&& trial < max_trial; trial++, port++ ) { if (fDest.connect( (const char * )fSystem.getHostName(), port)) { // INET domain connection is established - G4cerr << "*** GEANT4 is connected to port "; - G4cerr << fDest.getPort(); - G4cerr << " of server " << fSystem.getHostName() << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "*** GEANT4 is connected to port "; + G4cout << fDest.getPort(); + G4cout << " of server " << fSystem.getHostName() << G4endl; + } break; } else { // Connection failed. Try the next port. - G4cerr << "*** GEANT4 incremented targeting port to "; - G4cerr << port << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "*** GEANT4 incremented targeting port to "; + G4cout << port << G4endl; + } } sleep (1); @@ -115,17 +121,20 @@ void G4VRML1SceneHandler::connectPort(G4int max_trial) } // for if (!fDest.isConnected()) { - G4cerr << "*** INET Connection failed. " << G4endl; - G4cerr << " Maybe, you have not invoked viewer g4vrmlview yet, " << G4endl; - G4cerr << " or too many viewers are already running in the " << G4endl; - G4cerr << " server host(" << fSystem.getHostName() << "). " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "*** INET Connection failed. " << G4endl; + G4cout << " Maybe, you have not invoked viewer g4vrmlview yet, " << G4endl; + G4cout << " or too many viewers are already running in the " << G4endl; + G4cout << " server host(" << fSystem.getHostName() << "). " << G4endl; + } } } void G4VRML1SceneHandler::closePort() { fDest.close(); - G4cerr << "*** INET Connection closed. " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "*** INET Connection closed. " << G4endl; } diff --git a/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc b/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc index bfb122273c..c6c4d02c72 100644 --- a/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc +++ b/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc @@ -24,12 +24,14 @@ // ******************************************************************** // // -// $Id: G4VRML1SceneHandlerFunc.icc,v 1.16 2006/06/29 21:26:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRML1SceneHandlerFunc.icc,v 1.17 2010/11/11 00:14:50 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VRML1SceneHandlerFunc.icc // Satoshi Tanaka & Yasuhide Sawada +#include "G4VisManager.hh" + //#define DEBUG_SCENE_FUNC // MACRO @@ -43,7 +45,8 @@ void G4VRML1SCENEHANDLER::AddSolid(const G4Trd& trd) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid trd" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid trd" << "\n" ; #endif VRMLBeginModeling () ; ADDTHIS_WITH_NAME(trd) @@ -52,7 +55,8 @@ void G4VRML1SCENEHANDLER::AddSolid(const G4Trd& trd) void G4VRML1SCENEHANDLER::AddSolid(const G4Trap& trap) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid trap" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid trap" << "\n" ; #endif VRMLBeginModeling () ; ADDTHIS_WITH_NAME(trap) @@ -61,7 +65,8 @@ void G4VRML1SCENEHANDLER::AddSolid(const G4Trap& trap) void G4VRML1SCENEHANDLER::AddSolid(const G4Para& para) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid para" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid para" << "\n" ; #endif VRMLBeginModeling () ; ADDTHIS_WITH_NAME(para) @@ -70,7 +75,8 @@ void G4VRML1SCENEHANDLER::AddSolid(const G4Para& para) void G4VRML1SCENEHANDLER::AddSolid(const G4Torus& torus ) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid torus" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid torus" << "\n" ; #endif VRMLBeginModeling () ; ADDTHIS_WITH_NAME(torus) @@ -80,7 +86,8 @@ void G4VRML1SCENEHANDLER::AddSolid(const G4Torus& torus ) void G4VRML1SCENEHANDLER::AddSolid(const G4VSolid& vsolid) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid vsolid" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid vsolid" << "\n" ; #endif VRMLBeginModeling () ; ADDTHIS_WITH_NAME(vsolid) @@ -89,7 +96,8 @@ void G4VRML1SCENEHANDLER::AddSolid(const G4VSolid& vsolid) void G4VRML1SCENEHANDLER::AddSolid(const G4Tubs& tubs) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid tubs" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid tubs" << "\n" ; #endif VRMLBeginModeling () ; @@ -126,7 +134,8 @@ void G4VRML1SCENEHANDLER::AddSolid(const G4Tubs& tubs) void G4VRML1SCENEHANDLER::AddSolid(const G4Cons& cons) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid cons" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid cons" << "\n" ; #endif VRMLBeginModeling () ; @@ -165,7 +174,8 @@ void G4VRML1SCENEHANDLER::AddSolid(const G4Cons& cons) void G4VRML1SCENEHANDLER::AddSolid(const G4Box& box) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid box" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid box" << "\n" ; #endif VRMLBeginModeling () ; @@ -193,7 +203,8 @@ void G4VRML1SCENEHANDLER::AddSolid(const G4Box& box) void G4VRML1SCENEHANDLER::AddSolid(const G4Sphere& sphere) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid sphere" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid sphere" << "\n" ; #endif VRMLBeginModeling () ; @@ -229,7 +240,8 @@ void G4VRML1SCENEHANDLER::AddSolid(const G4Sphere& sphere) void G4VRML1SCENEHANDLER::AddPrimitive(const G4Polyline& polyline) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive polyline" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive polyline" << "\n" ; #endif VRMLBeginModeling () ; @@ -268,7 +280,8 @@ void G4VRML1SCENEHANDLER::AddPrimitive(const G4Polyline& polyline) void G4VRML1SCENEHANDLER::AddPrimitive(const G4Polyhedron& polyhedron) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive(G4Polyhedron)" << "\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive(G4Polyhedron)" << "\n"; #endif if (polyhedron.GetNoFacets() == 0) return; @@ -337,9 +350,11 @@ void G4VRML1SCENEHANDLER::AddPrimitive(const G4Polyhedron& polyhedron) void G4VRML1SCENEHANDLER::AddPrimitive(const G4NURBS&) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive nurbs" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive nurbs" << "\n" ; #endif - G4cerr << "G4VRML1File::AddPrimitive(G4NURBS&): not implemented. " << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "G4VRML1File::AddPrimitive(G4NURBS&): not implemented. " << "\n" ; VRMLBeginModeling () ; } @@ -347,9 +362,11 @@ void G4VRML1SCENEHANDLER::AddPrimitive(const G4NURBS&) void G4VRML1SCENEHANDLER::AddPrimitive( const G4Text& ) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive text" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive text" << "\n" ; #endif - G4cerr << + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** void G4VRML1SCENEHANDLER::AddPrimitive( const G4Text& text )" " not implemented yet." << "\n"; @@ -360,7 +377,8 @@ void G4VRML1SCENEHANDLER::AddPrimitive( const G4Text& ) void G4VRML1SCENEHANDLER::AddPrimitive( const G4Circle& circle ) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive circle" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive circle" << "\n" ; #endif VRMLBeginModeling () ; @@ -390,7 +408,8 @@ void G4VRML1SCENEHANDLER::AddPrimitive( const G4Circle& circle ) void G4VRML1SCENEHANDLER::AddPrimitive(const G4Square& square) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive square" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive square" << "\n" ; #endif VRMLBeginModeling () ; @@ -422,7 +441,8 @@ void G4VRML1SCENEHANDLER::AddPrimitive(const G4Square& square) void G4VRML1SCENEHANDLER::BeginModeling() { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** BeginModeling " << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** BeginModeling " << "\n" ; #endif G4VSceneHandler::BeginModeling(); } @@ -430,7 +450,8 @@ void G4VRML1SCENEHANDLER::BeginModeling() void G4VRML1SCENEHANDLER::EndModeling() { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** EndModeling " << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** EndModeling " << "\n" ; #endif G4VSceneHandler::EndModeling(); } @@ -440,7 +461,8 @@ void G4VRML1SCENEHANDLER::BeginPrimitives(const G4Transform3D& objectTransformat G4VSceneHandler::BeginPrimitives (objectTransformation); fpObjectTransformation = &objectTransformation; #if defined DEBUG_SCENE_FUNC - G4cerr << "***** BeginPrimitives " << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** BeginPrimitives " << "\n" ; #endif VRMLBeginModeling(); } @@ -448,7 +470,8 @@ void G4VRML1SCENEHANDLER::BeginPrimitives(const G4Transform3D& objectTransformat void G4VRML1SCENEHANDLER::EndPrimitives() { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** EndPrimitives " << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** EndPrimitives " << "\n" ; #endif G4VSceneHandler::EndPrimitives(); } @@ -554,7 +577,8 @@ void G4VRML1SCENEHANDLER::VRMLBeginModeling() { if (!IS_CONNECTED ) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** VRMLBeginModeling() (started)" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** VRMLBeginModeling() (started)" << "\n" ; #endif this->connectPort(); fDest << "#VRML V1.0 ascii" << "\n"; @@ -566,7 +590,8 @@ void G4VRML1SCENEHANDLER::VRMLEndModeling() { if ( IS_CONNECTED ) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** VRMLEndModeling() (started)" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** VRMLEndModeling() (started)" << "\n" ; #endif fDest << "#End of file." << "\n"; diff --git a/source/visualization/VRML/src/G4VRML1Viewer.cc b/source/visualization/VRML/src/G4VRML1Viewer.cc index 33d49f2564..355253667a 100644 --- a/source/visualization/VRML/src/G4VRML1Viewer.cc +++ b/source/visualization/VRML/src/G4VRML1Viewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML1Viewer.cc,v 1.8 2006/06/29 21:26:05 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRML1Viewer.cc,v 1.9 2010/11/11 00:14:50 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VRMLView.cc // Yasuhide Sawada & Satoshi Tanaka @@ -39,6 +39,8 @@ //#define DEBUG_FR_VIEW +#include "G4VisManager.hh" + #include "G4Scene.hh" #include "G4VRML1Viewer.hh" #include "G4VRML1SceneHandler.hh" @@ -55,14 +57,16 @@ G4VRML1Viewer::~G4VRML1Viewer() void G4VRML1Viewer::SetView() { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML1Viewer::SetView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML1Viewer::SetView(): No effects" << G4endl; #endif } void G4VRML1Viewer::DrawView() { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML1Viewer::DrawView()" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML1Viewer::DrawView()" << G4endl; #endif fSceneHandler.VRMLBeginModeling(); @@ -76,14 +80,16 @@ void G4VRML1Viewer::DrawView() void G4VRML1Viewer::ClearView(void) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML1Viewer::ClearView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML1Viewer::ClearView(): No effects" << G4endl; #endif } void G4VRML1Viewer::ShowView(void) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML1Viewer::ShowView()" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML1Viewer::ShowView()" << G4endl; #endif fSceneHandler.VRMLEndModeling(); } @@ -91,7 +97,8 @@ void G4VRML1Viewer::ShowView(void) void G4VRML1Viewer::FinishView(void) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML1Viewer::FinishView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML1Viewer::FinishView(): No effects" << G4endl; #endif } diff --git a/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc b/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc index 80e7e71e72..4ff75c595e 100644 --- a/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML2FileSceneHandler.cc,v 1.14 2006/06/29 21:26:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRML2FileSceneHandler.cc,v 1.15 2010/11/11 00:14:50 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VRML2FileSceneHandler.cc // Satoshi Tanaka & Yasuhide Sawada @@ -42,6 +42,7 @@ #include "globals.hh" #include "G4VPhysicalVolume.hh" #include "G4LogicalVolume.hh" +#include "G4VisManager.hh" #include "G4Point3D.hh" #include "G4VisAttributes.hh" #include "G4VModel.hh" @@ -118,7 +119,8 @@ G4VRML2FileSceneHandler::G4VRML2FileSceneHandler(G4VRML2File& system, const G4St G4VRML2FileSceneHandler::~G4VRML2FileSceneHandler() { #if defined DEBUG_FR_SCENE - G4cerr << "***** ~G4VRML2FileSceneHandler" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** ~G4VRML2FileSceneHandler" << G4endl; #endif VRMLEndModeling(); } @@ -148,13 +150,15 @@ void G4VRML2FileSceneHandler::connectPort() // Message in the final execution if( i == MAX_FILE_INDEX ) { - G4cerr << "===========================================" << G4endl; - G4cerr << "WARNING MESSAGE from VRML2FILE driver: " << G4endl; - G4cerr << " This file name is the final one in the " << G4endl; - G4cerr << " automatic updation of the output file name." << G4endl; - G4cerr << " You may overwrite existing files, i.e. " << G4endl; - G4cerr << " g4_XX.wrl. " << G4endl; - G4cerr << "===========================================" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "===========================================" << G4endl; + G4cout << "WARNING MESSAGE from VRML2FILE driver: " << G4endl; + G4cout << " This file name is the final one in the " << G4endl; + G4cout << " automatic updation of the output file name." << G4endl; + G4cout << " You may overwrite existing files, i.e. " << G4endl; + G4cout << " g4_XX.wrl. " << G4endl; + G4cout << "===========================================" << G4endl; + } } // re-determine file name as G4VRMLFILE_DEST_DIR/g4_XX.wrl @@ -179,12 +183,13 @@ void G4VRML2FileSceneHandler::connectPort() } // for // open a VRML 2.0 file with determined file name - G4cerr << "===========================================" << G4endl; - G4cerr << "Output VRML 2.0 file: " << fVRMLFileName << G4endl; - G4cerr << "Maximum number of files in the destination directory: " << fMaxFileNum << G4endl; - G4cerr << " (Customizable with the environment variable: G4VRMLFILE_MAX_FILE_NUM) " << G4endl; - G4cerr << "===========================================" << G4endl; - + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "===========================================" << G4endl; + G4cout << "Output VRML 2.0 file: " << fVRMLFileName << G4endl; + G4cout << "Maximum number of files in the destination directory: " << fMaxFileNum << G4endl; + G4cout << " (Customizable with the environment variable: G4VRMLFILE_MAX_FILE_NUM) " << G4endl; + G4cout << "===========================================" << G4endl; + } fDest.open(fVRMLFileName) ; fFlagDestOpen = true ; } @@ -200,18 +205,21 @@ void G4VRML2FileSceneHandler::closePort() // close VRML file fDest.close(); fFlagDestOpen = false ; - G4cerr << "*** VRML 2.0 File " << fVRMLFileName << " is generated." << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "*** VRML 2.0 File " << fVRMLFileName << " is generated." << G4endl; // Invoke viewer if ( !strcmp(viewer, NO_VRML_VIEWER )) { - G4cerr << "MESSAGE from VRML2FILE driver:" << G4endl; - G4cerr << " Set an environmental variable " ; - G4cerr << ENV_VRML_VIEWER << G4endl; - G4cerr << " if you want to visualize the generated VRML file" << G4endl; - G4cerr << " automatically. For example, " << G4endl; - G4cerr << " setenv " << ENV_VRML_VIEWER << " vrwave " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "MESSAGE from VRML2FILE driver:" << G4endl; + G4cout << " Set an environmental variable " ; + G4cout << ENV_VRML_VIEWER << G4endl; + G4cout << " if you want to visualize the generated VRML file" << G4endl; + G4cout << " automatically. For example, " << G4endl; + G4cout << " setenv " << ENV_VRML_VIEWER << " vrwave " << G4endl; + } } else { sprintf( command, "%s %s", viewer, fVRMLFileName ); system( command ); diff --git a/source/visualization/VRML/src/G4VRML2FileViewer.cc b/source/visualization/VRML/src/G4VRML2FileViewer.cc index cf5c4bca9e..f456d93ca4 100644 --- a/source/visualization/VRML/src/G4VRML2FileViewer.cc +++ b/source/visualization/VRML/src/G4VRML2FileViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML2FileViewer.cc,v 1.13 2006/06/29 21:26:13 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRML2FileViewer.cc,v 1.14 2010/11/11 00:14:50 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VRML2FileViewer.cc // Satoshi Tanaka & Yasuhide Sawada @@ -35,6 +35,7 @@ #include +#include "G4VisManager.hh" #include "G4Scene.hh" #include "G4VRML2FileViewer.hh" #include "G4VRML2FileSceneHandler.hh" @@ -59,7 +60,8 @@ G4VRML2FileViewer::~G4VRML2FileViewer() void G4VRML2FileViewer::SetView() { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2FileViewer::SetView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2FileViewer::SetView(): No effects" << G4endl; #endif // Do nothing, since VRML a browser is running as a different process. @@ -70,7 +72,8 @@ void G4VRML2FileViewer::SetView() void G4VRML2FileViewer::DrawView() { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2FileViewer::DrawView()" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2FileViewer::DrawView()" << G4endl; #endif fSceneHandler.VRMLBeginModeling() ; @@ -87,7 +90,8 @@ void G4VRML2FileViewer::DrawView() void G4VRML2FileViewer::ClearView(void) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2File1View::ClearView()" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2File1View::ClearView()" << G4endl; #endif if(fSceneHandler.fFlagDestOpen) { fSceneHandler.fDest.close(); @@ -101,7 +105,8 @@ void G4VRML2FileViewer::ClearView(void) void G4VRML2FileViewer::ShowView(void) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2FileViewer::ShowView()" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2FileViewer::ShowView()" << G4endl; #endif fSceneHandler.VRMLEndModeling(); } @@ -109,7 +114,8 @@ void G4VRML2FileViewer::ShowView(void) void G4VRML2FileViewer::FinishView(void) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2FileViewer::FinishView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2FileViewer::FinishView(): No effects" << G4endl; #endif } @@ -120,7 +126,8 @@ void G4VRML2FileViewer::SendViewParameters () // later due to user interaction via visualization system's GUI.) #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2FileViewer::SendViewParameters()\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2FileViewer::SendViewParameters()\n"; #endif // error recovery diff --git a/source/visualization/VRML/src/G4VRML2SceneHandler.cc b/source/visualization/VRML/src/G4VRML2SceneHandler.cc index 152d782dd1..aa75fd5109 100644 --- a/source/visualization/VRML/src/G4VRML2SceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML2SceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML2SceneHandler.cc,v 1.12 2006/06/29 21:26:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRML2SceneHandler.cc,v 1.13 2010/11/11 00:14:50 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VRML2SceneHandler.cc // Satoshi Tanaka & Yasuhide Sawada @@ -45,6 +45,8 @@ #include #include "globals.hh" +#include "G4VisManager.hh" + #include "G4VPhysicalVolume.hh" #include "G4LogicalVolume.hh" #include "G4Point3D.hh" @@ -92,7 +94,8 @@ G4VRML2SceneHandler::G4VRML2SceneHandler(G4VRML2& system, const G4String& name) G4VRML2SceneHandler::~G4VRML2SceneHandler() { #if defined DEBUG_FR_SCENE - G4cerr << "***** ~G4VRML2SceneHandler" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** ~G4VRML2SceneHandler" << G4endl; #endif } @@ -112,14 +115,18 @@ void G4VRML2SceneHandler::connectPort(G4int max_trial) for (trial = 0; !fDest.isConnected()&& trial < max_trial; trial++, port++ ) { if (fDest.connect( (const char * )fSystem.getHostName(), port)) { // INET domain connection is established - G4cerr << "*** GEANT4 is connected to port "; - G4cerr << fDest.getPort(); - G4cerr << " of server " << fSystem.getHostName() << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "*** GEANT4 is connected to port "; + G4cout << fDest.getPort(); + G4cout << " of server " << fSystem.getHostName() << G4endl; + } break; } else { // Connection failed. Try the next port. - G4cerr << "*** GEANT4 incremented targeting port to "; - G4cerr << port << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "*** GEANT4 incremented targeting port to "; + G4cout << port << G4endl; + } } sleep (1); @@ -127,17 +134,20 @@ void G4VRML2SceneHandler::connectPort(G4int max_trial) } // for if (!fDest.isConnected()) { - G4cerr << "*** INET Connection failed. " << G4endl; - G4cerr << " Maybe, you have not invoked viewer g4vrmlview yet, " << G4endl; - G4cerr << " or too many viewers are already running in the " << G4endl; - G4cerr << " server host(" << fSystem.getHostName() << "). " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "*** INET Connection failed. " << G4endl; + G4cout << " Maybe, you have not invoked viewer g4vrmlview yet, " << G4endl; + G4cout << " or too many viewers are already running in the " << G4endl; + G4cout << " server host(" << fSystem.getHostName() << "). " << G4endl; + } } } void G4VRML2SceneHandler::closePort() { fDest.close(); - G4cerr << "*** INET Connection closed. " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "*** INET Connection closed. " << G4endl; } diff --git a/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc b/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc index 883b5d9d41..e1d170d778 100644 --- a/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc +++ b/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc @@ -24,18 +24,21 @@ // ******************************************************************** // // -// $Id: G4VRML2SceneHandlerFunc.icc,v 1.20 2006/06/29 21:26:17 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRML2SceneHandlerFunc.icc,v 1.21 2010/11/11 00:14:50 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VRML2SceneHandlerFunc.icc // Satoshi Tanaka & Yasuhide Sawada //#define DEBUG_SCENE_FUNC +#include "G4VisManager.hh" + void G4VRML2SCENEHANDLER::AddSolid(const G4Trd& trd) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid trd" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid trd" << "\n" ; #endif VRMLBeginModeling () ; G4VSceneHandler::AddSolid(trd); @@ -44,7 +47,8 @@ void G4VRML2SCENEHANDLER::AddSolid(const G4Trd& trd) void G4VRML2SCENEHANDLER::AddSolid(const G4Trap& trap) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid trap" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid trap" << "\n" ; #endif VRMLBeginModeling () ; G4VSceneHandler::AddSolid(trap); @@ -53,7 +57,8 @@ void G4VRML2SCENEHANDLER::AddSolid(const G4Trap& trap) void G4VRML2SCENEHANDLER::AddSolid(const G4Para& para) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid para" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid para" << "\n" ; #endif VRMLBeginModeling () ; G4VSceneHandler::AddSolid(para); @@ -62,7 +67,8 @@ void G4VRML2SCENEHANDLER::AddSolid(const G4Para& para) void G4VRML2SCENEHANDLER::AddSolid(const G4Torus& torus ) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid torus" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid torus" << "\n" ; #endif VRMLBeginModeling () ; G4VSceneHandler::AddSolid(torus); @@ -72,7 +78,8 @@ void G4VRML2SCENEHANDLER::AddSolid(const G4Torus& torus ) void G4VRML2SCENEHANDLER::AddSolid(const G4VSolid& vsolid) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid vsolid" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid vsolid" << "\n" ; #endif VRMLBeginModeling () ; G4VSceneHandler::AddSolid(vsolid); @@ -81,7 +88,8 @@ void G4VRML2SCENEHANDLER::AddSolid(const G4VSolid& vsolid) void G4VRML2SCENEHANDLER::AddSolid(const G4Tubs& tubs) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid tubs" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid tubs" << "\n" ; #endif VRMLBeginModeling () ; G4VSceneHandler::AddSolid(tubs) ; @@ -92,7 +100,8 @@ void G4VRML2SCENEHANDLER::AddSolid(const G4Tubs& tubs) void G4VRML2SCENEHANDLER::AddSolid(const G4Cons& cons) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid cons" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid cons" << "\n" ; #endif VRMLBeginModeling () ; G4VSceneHandler::AddSolid(cons) ; @@ -101,7 +110,8 @@ void G4VRML2SCENEHANDLER::AddSolid(const G4Cons& cons) void G4VRML2SCENEHANDLER::AddSolid(const G4Box& box) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid box" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid box" << "\n" ; #endif VRMLBeginModeling () ; G4VSceneHandler::AddSolid(box) ; @@ -111,7 +121,8 @@ void G4VRML2SCENEHANDLER::AddSolid(const G4Box& box) void G4VRML2SCENEHANDLER::AddSolid(const G4Sphere& sphere) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddSolid sphere" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid sphere" << "\n" ; #endif VRMLBeginModeling () ; G4VSceneHandler::AddSolid(sphere) ; @@ -120,7 +131,8 @@ void G4VRML2SCENEHANDLER::AddSolid(const G4Sphere& sphere) void G4VRML2SCENEHANDLER::AddPrimitive(const G4Polyline& polyline) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive polyline" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive polyline" << "\n" ; #endif VRMLBeginModeling () ; @@ -169,7 +181,8 @@ void G4VRML2SCENEHANDLER::AddPrimitive(const G4Polyline& polyline) void G4VRML2SCENEHANDLER::AddPrimitive(const G4Polyhedron& polyhedron) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive(G4Polyhedron)" << "\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive(G4Polyhedron)" << "\n"; #endif if (polyhedron.GetNoFacets() == 0) return; @@ -252,9 +265,11 @@ void G4VRML2SCENEHANDLER::AddPrimitive(const G4Polyhedron& polyhedron) void G4VRML2SCENEHANDLER::AddPrimitive(const G4NURBS&) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive nurbs" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive nurbs" << "\n" ; #endif - G4cerr << "G4VRML2File::AddPrimitive(G4NURBS&): not implemented. " << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "G4VRML2File::AddPrimitive(G4NURBS&): not implemented. " << "\n" ; VRMLBeginModeling () ; } @@ -262,9 +277,11 @@ void G4VRML2SCENEHANDLER::AddPrimitive(const G4NURBS&) void G4VRML2SCENEHANDLER::AddPrimitive( const G4Text& ) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive text" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive text" << "\n" ; #endif - G4cerr << + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** void G4VRML2SCENEHANDLER::AddPrimitive( const G4Text& text )" " not implemented yet." << "\n"; @@ -276,7 +293,8 @@ void G4VRML2SCENEHANDLER::AddPrimitive( const G4Text& ) void G4VRML2SCENEHANDLER::AddPrimitive( const G4Circle& circle ) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive circle" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive circle" << "\n" ; #endif VRMLBeginModeling () ; @@ -334,7 +352,8 @@ void G4VRML2SCENEHANDLER::AddPrimitive( const G4Circle& circle ) void G4VRML2SCENEHANDLER::AddPrimitive(const G4Square& square) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** AddPrimitive square" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive square" << "\n" ; #endif VRMLBeginModeling () ; @@ -395,7 +414,8 @@ void G4VRML2SCENEHANDLER::AddPrimitive(const G4Square& square) void G4VRML2SCENEHANDLER::BeginModeling() { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** BeginModeling" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** BeginModeling" << "\n" ; #endif G4VSceneHandler::BeginModeling(); @@ -404,7 +424,8 @@ void G4VRML2SCENEHANDLER::BeginModeling() void G4VRML2SCENEHANDLER::EndModeling() { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** EndModeling " << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** EndModeling " << "\n" ; #endif G4VSceneHandler::EndModeling(); } @@ -414,7 +435,8 @@ void G4VRML2SCENEHANDLER::BeginPrimitives(const G4Transform3D& objectTransformat G4VSceneHandler::BeginPrimitives (objectTransformation); fpObjectTransformation = &objectTransformation; #if defined DEBUG_SCENE_FUNC - G4cerr << "***** BeginPrimitives " << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** BeginPrimitives " << "\n" ; #endif VRMLBeginModeling(); } @@ -422,7 +444,8 @@ void G4VRML2SCENEHANDLER::BeginPrimitives(const G4Transform3D& objectTransformat void G4VRML2SCENEHANDLER::EndPrimitives() { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** EndPrimitives " << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** EndPrimitives " << "\n" ; #endif G4VSceneHandler::EndPrimitives(); } @@ -499,7 +522,8 @@ void G4VRML2SCENEHANDLER::VRMLBeginModeling() { if (!IS_CONNECTED ) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** VRMLBeginModeling (started)" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** VRMLBeginModeling (started)" << "\n" ; #endif this->connectPort(); fDest << "#VRML V2.0 utf8" << "\n"; @@ -511,7 +535,8 @@ void G4VRML2SCENEHANDLER::VRMLEndModeling() { if ( IS_CONNECTED ) { #if defined DEBUG_SCENE_FUNC - G4cerr << "***** VRMLEndModeling (started)" << "\n" ; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** VRMLEndModeling (started)" << "\n" ; #endif fDest << "#End of file." << "\n"; this->closePort(); diff --git a/source/visualization/VRML/src/G4VRML2Viewer.cc b/source/visualization/VRML/src/G4VRML2Viewer.cc index e7efe84c03..0777f84d0e 100644 --- a/source/visualization/VRML/src/G4VRML2Viewer.cc +++ b/source/visualization/VRML/src/G4VRML2Viewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRML2Viewer.cc,v 1.12 2006/06/29 21:26:35 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VRML2Viewer.cc,v 1.13 2010/11/11 00:14:50 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // G4VRML2Viewer.cc // Satoshi Tanaka & Yasuhide Sawada @@ -41,6 +41,7 @@ #include +#include "G4VisManager.hh" #include "G4Scene.hh" #include "G4VRML2Viewer.hh" #include "G4VRML2SceneHandler.hh" @@ -64,7 +65,8 @@ G4VRML2Viewer::~G4VRML2Viewer() void G4VRML2Viewer::SetView() { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2Viewer::SetView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2Viewer::SetView(): No effects" << G4endl; #endif // Do nothing, since VRML a browser is running as a different process. @@ -76,7 +78,8 @@ void G4VRML2Viewer::SetView() void G4VRML2Viewer::DrawView() { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2Viewer::DrawView()" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2Viewer::DrawView()" << G4endl; #endif fSceneHandler.VRMLBeginModeling() ; @@ -92,14 +95,16 @@ void G4VRML2Viewer::DrawView() void G4VRML2Viewer::ClearView(void) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2Viewer::ClearView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2Viewer::ClearView(): No effects" << G4endl; #endif } void G4VRML2Viewer::ShowView(void) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2Viewer::ShowView()" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2Viewer::ShowView()" << G4endl; #endif fSceneHandler.VRMLEndModeling(); } @@ -107,7 +112,8 @@ void G4VRML2Viewer::ShowView(void) void G4VRML2Viewer::FinishView(void) { #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2Viewer::FinishView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2Viewer::FinishView(): No effects" << G4endl; #endif } @@ -118,7 +124,8 @@ void G4VRML2Viewer::SendViewParameters () // later due to user interaction via visualization system's GUI.) #if defined DEBUG_FR_VIEW - G4cerr << "***** G4VRML2Viewer::SendViewParameters()\n"; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4VRML2Viewer::SendViewParameters()\n"; #endif // error recovery if ( fsin_VHA < 1.0e-6 ) { return ; } diff --git a/source/visualization/XXX/CMakeLists.txt b/source/visualization/XXX/CMakeLists.txt new file mode 100644 index 0000000000..ba7de3401c --- /dev/null +++ b/source/visualization/XXX/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4visXXX +# Package: Geant4.src.G4visualization.G4visXXX +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:13:27 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/XXX/History b/source/visualization/XXX/History index c9e98b4c0c..cab198ef08 100644 --- a/source/visualization/XXX/History +++ b/source/visualization/XXX/History @@ -1,4 +1,4 @@ -$Id: History,v 1.28 2009/10/21 15:28:53 allison Exp $ +$Id: History,v 1.30 2010/10/06 15:49:24 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,11 @@ committal in the CVS repository ! History file for visualization/XXX sub-category (a template graphics system) --------------------------------------------------------------------------- +6th October 2010 John Allison (visXXX-V08-03-00) +- G4XXXSGViewer.cc, G4XXXStoredViewer.cc: + o Added default colour and default text colour to list of parameters + that trigger a kernel visit. + 21st October 2009 John Allison (visXXX-V09-02-00 coworks greps-V09-02-02) - Added AddCompound (const G4THitsMap&) methods. o Prevents warnings about hiding - calls G4VSceneHandler base class. diff --git a/source/visualization/XXX/sources.cmake b/source/visualization/XXX/sources.cmake new file mode 100644 index 0000000000..6f822d47f9 --- /dev/null +++ b/source/visualization/XXX/sources.cmake @@ -0,0 +1,89 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4visXXX +# Package: Geant4.src.G4visualization.G4visXXX +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:13:35 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/modeling/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4visXXX + HEADERS + G4XXX.hh + G4XXXFile.hh + G4XXXFileSceneHandler.hh + G4XXXFileViewer.hh + G4XXXSG.hh + G4XXXSGSceneHandler.hh + G4XXXSGViewer.hh + G4XXXSceneHandler.hh + G4XXXStored.hh + G4XXXStoredSceneHandler.hh + G4XXXStoredViewer.hh + G4XXXViewer.hh + SOURCES + G4XXX.cc + G4XXXFile.cc + G4XXXFileSceneHandler.cc + G4XXXFileViewer.cc + G4XXXSG.cc + G4XXXSGSceneHandler.cc + G4XXXSGViewer.cc + G4XXXSceneHandler.cc + G4XXXStored.cc + G4XXXStoredSceneHandler.cc + G4XXXStoredViewer.cc + G4XXXViewer.cc + GRANULAR_DEPENDENCIES + G4csg + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4modeling + G4specsolids + G4tracking + G4vis_management + GLOBAL_DEPENDENCIES + G4digits_hits + G4geometry + G4global + G4graphics_reps + G4intercoms + G4modeling + G4tracking + G4vis_management + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/visualization/XXX/src/G4XXXSGViewer.cc b/source/visualization/XXX/src/G4XXXSGViewer.cc index f253a72f05..06a3b4f76a 100644 --- a/source/visualization/XXX/src/G4XXXSGViewer.cc +++ b/source/visualization/XXX/src/G4XXXSGViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4XXXSGViewer.cc,v 1.4 2006/08/29 16:11:25 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4XXXSGViewer.cc,v 1.5 2010/10/06 10:12:03 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // John Allison 10th March 2006 @@ -132,6 +132,10 @@ G4bool G4XXXSGViewer::CompareForKernelVisit(G4ViewParameters& lastVP) (lastVP.IsExplode () != fVP.IsExplode ()) || (lastVP.GetNoOfSides () != fVP.GetNoOfSides ()) || (lastVP.IsMarkerNotHidden () != fVP.IsMarkerNotHidden ()) || + (lastVP.GetDefaultVisAttributes()->GetColour() != + fVP.GetDefaultVisAttributes()->GetColour()) || + (lastVP.GetDefaultTextVisAttributes()->GetColour() != + fVP.GetDefaultTextVisAttributes()->GetColour()) || (lastVP.GetBackgroundColour ()!= fVP.GetBackgroundColour ()) ) { return true; diff --git a/source/visualization/XXX/src/G4XXXStoredViewer.cc b/source/visualization/XXX/src/G4XXXStoredViewer.cc index 0749fa7fed..82e615f472 100644 --- a/source/visualization/XXX/src/G4XXXStoredViewer.cc +++ b/source/visualization/XXX/src/G4XXXStoredViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4XXXStoredViewer.cc,v 1.5 2006/08/29 16:11:25 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4XXXStoredViewer.cc,v 1.6 2010/10/06 10:12:03 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // John Allison 7th March 2006 @@ -128,6 +128,10 @@ G4bool G4XXXStoredViewer::CompareForKernelVisit(G4ViewParameters& lastVP) (lastVP.IsExplode () != fVP.IsExplode ()) || (lastVP.GetNoOfSides () != fVP.GetNoOfSides ()) || (lastVP.IsMarkerNotHidden () != fVP.IsMarkerNotHidden ()) || + (lastVP.GetDefaultVisAttributes()->GetColour() != + fVP.GetDefaultVisAttributes()->GetColour()) || + (lastVP.GetDefaultTextVisAttributes()->GetColour() != + fVP.GetDefaultTextVisAttributes()->GetColour()) || (lastVP.GetBackgroundColour ()!= fVP.GetBackgroundColour ()) ) { return true; diff --git a/source/visualization/externals/CMakeLists.txt b/source/visualization/externals/CMakeLists.txt new file mode 100644 index 0000000000..bf0d063d40 --- /dev/null +++ b/source/visualization/externals/CMakeLists.txt @@ -0,0 +1,27 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : +# Package: Geant4.src.G4visualization. +# +# Intermediate level CMakeLists.txt - just process subdirectories +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:13:44 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# +# GL2PS built for GL and Inventor drivers +# +if(GEANT4_USE_OPENGL OR GEANT4_USE_INVENTOR) + add_subdirectory(gl2ps) +endif() + +# +# Geant4 internal ZLIB build optional +# +if(NOT GEANT4_USE_SYSTEM_ZLIB) + add_subdirectory(zlib) +endif() + diff --git a/source/visualization/externals/GNUmakefile b/source/visualization/externals/GNUmakefile new file mode 100644 index 0000000000..e69de29bb2 diff --git a/source/visualization/externals/gl2ps/CMakeLists.txt b/source/visualization/externals/gl2ps/CMakeLists.txt new file mode 100644 index 0000000000..a3c49b9f29 --- /dev/null +++ b/source/visualization/externals/gl2ps/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4gl2ps +# Package: Geant4.src.G4visualization..G4gl2ps +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:14:00 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/externals/gl2ps/History b/source/visualization/externals/gl2ps/History index ec17bf6a8e..5ad10ea712 100644 --- a/source/visualization/externals/gl2ps/History +++ b/source/visualization/externals/gl2ps/History @@ -1,4 +1,4 @@ -$Id: History,v 1.15 2009/11/18 17:23:36 gcosmo Exp $ +$Id: History,v 1.21 2010/11/13 10:37:57 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,25 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +13th November 2010, John Allison (visexternal-V09-03-03) +- Geant4_gl2ps.h: Added #ifdef _WIN32, #define _USE_MATH_DEFINE. + +5th November 2010, John Allison (visexternal-V09-03-02) +- Fixed Linux warnings. + +5th November 2010, John Allison (visexternal-V09-03-01) +- Tagged. + +3rd November 2010, Laurent Garnier +- Update gl2ps to 1.3.5 (before it was 1.3.3) + +6th October 2010, John Allison (visexternal-V09-03-00) +- Tagged. + +26th April 2010, Laurent Garnier + - G4OpenGL2PSAction : add new method to set viewport + 18 Nov 2009, Gabriele Cosmo (visexternal-V09-02-06) - Added GLOBLIBS dependencies to GNUmakefile to allow for building DLLs on Windows. Removed redundant CPPFLAGS addition. diff --git a/source/visualization/externals/gl2ps/include/G4OpenGL2PSAction.hh b/source/visualization/externals/gl2ps/include/G4OpenGL2PSAction.hh index 087c0a56ea..8515255740 100644 --- a/source/visualization/externals/gl2ps/include/G4OpenGL2PSAction.hh +++ b/source/visualization/externals/gl2ps/include/G4OpenGL2PSAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4OpenGL2PSAction.hh,v 1.3 2009/04/29 09:37:55 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGL2PSAction.hh,v 1.4 2010/04/26 16:28:18 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // #ifndef G4OpenGL2PSAction_h @@ -48,6 +48,7 @@ public: bool fileWritingEnabled() const; void setLineWidth(int); void setPointSize(int); + void setViewport(int,int,int,int); protected: void G4gl2psBegin(); diff --git a/source/visualization/externals/gl2ps/include/Geant4_gl2ps.h b/source/visualization/externals/gl2ps/include/Geant4_gl2ps.h index 76d4605c4a..8d1cbaabd0 100644 --- a/source/visualization/externals/gl2ps/include/Geant4_gl2ps.h +++ b/source/visualization/externals/gl2ps/include/Geant4_gl2ps.h @@ -26,7 +26,7 @@ #ifndef Geant4_gl2ps_h #define Geant4_gl2ps_h -// gl2ps-1.3.3 +// gl2ps-1.3.5 // The gl2ps code is prefixed by Geant4_ in order // to avoid clashes with other gl2ps code that may come at link // time from other channels. @@ -231,4 +231,8 @@ #include "gl2ps.h" +#ifdef _WIN32 +#define _USE_MATH_DEFINES +#endif + #endif diff --git a/source/visualization/externals/gl2ps/include/gl2ps.h b/source/visualization/externals/gl2ps/include/gl2ps.h index 35dfa4e872..30834e4d86 100644 --- a/source/visualization/externals/gl2ps/include/gl2ps.h +++ b/source/visualization/externals/gl2ps/include/gl2ps.h @@ -52,7 +52,9 @@ * library in the file named "COPYING.GL2PS"; if not, I will be glad * to provide one. * - * For the latest info about gl2ps, see http://www.geuz.org/gl2ps/. + * For the latest info about gl2ps and a full list of contributors, + * see http://www.geuz.org/gl2ps/. + * * Please report all bugs and problems to . */ @@ -67,6 +69,7 @@ #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) # if defined(_MSC_VER) # pragma warning(disable:4115) +# pragma warning(disable:4996) # endif # include # if defined(GL2PSDLL) @@ -102,7 +105,7 @@ #define GL2PS_MAJOR_VERSION 1 #define GL2PS_MINOR_VERSION 3 -#define GL2PS_PATCH_VERSION 3 +#define GL2PS_PATCH_VERSION 5 #define GL2PS_EXTRA_VERSION "" #define GL2PS_VERSION (GL2PS_MAJOR_VERSION + \ diff --git a/source/visualization/externals/gl2ps/sources.cmake b/source/visualization/externals/gl2ps/sources.cmake new file mode 100644 index 0000000000..32e8066624 --- /dev/null +++ b/source/visualization/externals/gl2ps/sources.cmake @@ -0,0 +1,60 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4gl2ps +# Package: Geant4.src.G4visualization..G4gl2ps +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.5 2010/12/01 16:59:36 bmorgan Exp $ +# GEANT4 Tag $Name: geant4-09-04 $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/externals/zlib/include) + +# Must have GL headers available +include_directories(${OPENGL_INCLUDE_DIR}) + +# +# We need to add definitions depending on what GL drivers are built +# +if(GEANT4_USE_OPENGL) + ADD_DEFINITIONS(-DG4VIS_BUILD_OPENGL_DRIVER) +endif() + +if(GEANT4_USE_INVENTOR) + ADD_DEFINITIONS(-DG4VIS_BUILD_OI_DRIVER) +endif() + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4gl2ps + HEADERS + G4OpenGL2PSAction.hh + Geant4_gl2ps.h + gl2ps.h + SOURCES + G4OpenGL2PSAction.cc + gl2ps.cc + GRANULAR_DEPENDENCIES + G4zlib + GLOBAL_DEPENDENCIES + G4zlib + LINK_LIBRARIES + ${OPENGL_LIBRARIES} +) + +# List any source specific properties here + diff --git a/source/visualization/externals/gl2ps/src/G4OpenGL2PSAction.cc b/source/visualization/externals/gl2ps/src/G4OpenGL2PSAction.cc index 640609bcf9..7861f774be 100644 --- a/source/visualization/externals/gl2ps/src/G4OpenGL2PSAction.cc +++ b/source/visualization/externals/gl2ps/src/G4OpenGL2PSAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGL2PSAction.cc,v 1.4 2009/04/29 09:37:55 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4OpenGL2PSAction.cc,v 1.6 2010/11/03 16:40:34 lgarnier Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -74,6 +74,22 @@ void G4OpenGL2PSAction::setPointSize( gl2psPointSize( size ); } +////////////////////////////////////////////////////////////////////////////// +void G4OpenGL2PSAction::setViewport( +int a +,int b +,int winSizeX +,int winSizeY +) +////////////////////////////////////////////////////////////////////////////// +//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// +{ + fViewport[0] = a; + fViewport[1] = b; + fViewport[2] = winSizeX; + fViewport[3] = winSizeY; +} + ////////////////////////////////////////////////////////////////////////////// void G4OpenGL2PSAction::setFileName( const char* aFileName @@ -122,7 +138,9 @@ void G4OpenGL2PSAction::G4gl2psBegin( { if(!fFile) return; int options = GL2PS_OCCLUSION_CULL | - GL2PS_BEST_ROOT | GL2PS_SILENT | GL2PS_DRAW_BACKGROUND; + GL2PS_BEST_ROOT | GL2PS_SILENT | GL2PS_DRAW_BACKGROUND | GL2PS_USE_CURRENT_VIEWPORT; +// int options = GL2PS_OCCLUSION_CULL | +// GL2PS_BEST_ROOT | GL2PS_SILENT | GL2PS_DRAW_BACKGROUND; int sort = GL2PS_BSP_SORT; //int sort = GL2PS_SIMPLE_SORT; GLint buffsize = 0; diff --git a/source/visualization/externals/gl2ps/src/gl2ps.cc b/source/visualization/externals/gl2ps/src/gl2ps.cc index c3305a7a2a..b959ef8644 100644 --- a/source/visualization/externals/gl2ps/src/gl2ps.cc +++ b/source/visualization/externals/gl2ps/src/gl2ps.cc @@ -61,31 +61,9 @@ * library in the file named "COPYING.GL2PS"; if not, I will be glad * to provide one. * - * Contributors: - * Michael Sweet - * Marc Ume - * Jean-Francois Remacle - * Bart Kaptein - * Quy Nguyen-Dai - * Sam Buss - * Shane Hill - * Romain Boman - * Rouben Rostamian - * Diego Santa Cruz - * Shahzad Muzaffar - * Lassi Tuura - * Guy Barrand - * Prabhu Ramachandran - * Micha Bieber - * Olivier Couet - * Shai Ayal - * Fabian Wenzel - * Ian D. Gay - * Cosmin Truta - * Baiju Devani - * Alexander Danilov + * For the latest info about gl2ps and a full list of contributors, + * see http://www.geuz.org/gl2ps/. * - * For the latest info about gl2ps, see http://www.geuz.org/gl2ps/. * Please report all bugs and problems to . */ @@ -96,7 +74,7 @@ #include #include #include -#include +#include #define GL2PS_HAVE_ZLIB #include @@ -348,24 +326,24 @@ static void *gl2psMalloc(size_t size) { void *ptr; - if(!size) return(NULL); + if(!size) return NULL; ptr = malloc(size); if(!ptr){ gl2psMsg(GL2PS_ERROR, "Couldn't allocate requested memory"); - exit(1); + return NULL; } - return(ptr); + return ptr; } static void *gl2psRealloc(void *ptr, size_t size) { - if(!size) return(NULL); + if(!size) return NULL; ptr = realloc(ptr, size); if(!ptr){ gl2psMsg(GL2PS_ERROR, "Couldn't reallocate requested memory"); - exit(1); + return NULL; } - return(ptr); + return ptr; } static void gl2psFree(void *ptr) @@ -588,7 +566,7 @@ static GL2PSlist *gl2psListCreate(GLint n, GLint incr, GLint size) list->n = 0; list->array = NULL; gl2psListRealloc(list, n); - return(list); + return list; } static void gl2psListReset(GL2PSlist *list) @@ -619,7 +597,7 @@ static int gl2psListNbr(GL2PSlist *list) { if(!list) return 0; - return(list->n); + return list->n; } static void *gl2psListPointer(GL2PSlist *list, GLint index) @@ -632,7 +610,7 @@ static void *gl2psListPointer(GL2PSlist *list, GLint index) gl2psMsg(GL2PS_ERROR, "Wrong list index in gl2psListPointer"); return NULL; } - return(&list->array[index * list->size]); + return &list->array[index * list->size]; } static void gl2psListSort(GL2PSlist *list, @@ -1104,15 +1082,15 @@ static GLboolean gl2psSamePosition(GL2PSxyz p1, GL2PSxyz p2) static GLfloat gl2psComparePointPlane(GL2PSxyz point, GL2PSplane plane) { - return(plane[0] * point[0] + - plane[1] * point[1] + - plane[2] * point[2] + - plane[3]); + return (plane[0] * point[0] + + plane[1] * point[1] + + plane[2] * point[2] + + plane[3]); } static GLfloat gl2psPsca(GLfloat *a, GLfloat *b) { - return(a[0]*b[0] + a[1]*b[1] + a[2]*b[2]); + return (a[0]*b[0] + a[1]*b[1] + a[2]*b[2]); } static void gl2psPvec(GLfloat *a, GLfloat *b, GLfloat *c) @@ -1450,7 +1428,7 @@ static int gl2psTrianglesFirst(const void *a, const void *b) q = *(GL2PSprimitive**)a; w = *(GL2PSprimitive**)b; - return(q->type < w->type ? 1 : -1); + return (q->type < w->type ? 1 : -1); } static GLint gl2psFindRoot(GL2PSlist *primitives, GL2PSprimitive **root) @@ -1498,7 +1476,8 @@ static GLint gl2psFindRoot(GL2PSlist *primitives, GL2PSprimitive **root) } } -static void gl2psFreeImagemap(GL2PSimagemap *list){ +static void gl2psFreeImagemap(GL2PSimagemap *list) +{ GL2PSimagemap *next; while(list != NULL){ next = list->next; @@ -2392,8 +2371,8 @@ static void gl2psParseFeedbackBuffer(GLint used) node->image->width = (GLint)current[2]; current += 2; used -= 2; node->image->height = (GLint)current[2]; - prim->verts[0].xyz[0] = prim->verts[0].xyz[0] - (int)(node->image->width / 2) + 0.5; - prim->verts[0].xyz[1] = prim->verts[0].xyz[1] - (int)(node->image->height / 2) + 0.5; + prim->verts[0].xyz[0] = prim->verts[0].xyz[0] - (int)(node->image->width / 2) + 0.5F; + prim->verts[0].xyz[1] = prim->verts[0].xyz[1] - (int)(node->image->height / 2) + 0.5F; for(i = 1; i < 4; i++){ for(v = 0; v < 3; v++){ prim->verts[i].xyz[v] = prim->verts[0].xyz[v]; @@ -2489,7 +2468,7 @@ static void gl2psPrintPostScriptPixmap(GLfloat x, GLfloat y, GL2PSimage *im) for(row = 0; row < height; row++){ for(col = 0; col < width; col++){ gl2psGetRGB(im, col, row, &dr, &dg, &db); - fgrey = (0.30 * dr + 0.59 * dg + 0.11 * db); + fgrey = (0.30F * dr + 0.59F * dg + 0.11F * db); grey = (unsigned char)(255. * fgrey); gl2psWriteByte(grey); } @@ -3352,7 +3331,7 @@ static void gl2psPrintTeXFooter(void) (gl2ps->options & GL2PS_LANDSCAPE) ? "}" : ""); } -static void gl2psPrintTeXBeginViewport(GLint [4]) +static void gl2psPrintTeXBeginViewport(GLint[4]) { glRenderMode(GL_FEEDBACK); @@ -3445,23 +3424,39 @@ static int gl2psPrintPDFLineWidth(GLfloat lw) static void gl2psPutPDFText(GL2PSstring *text, int cnt, GLfloat x, GLfloat y) { - gl2ps->streamlength += - gl2psPrintf("BT\n" - "/F%d %d Tf\n" - "%f %f Td\n" - "(%s) Tj\n" - "ET\n", - cnt, text->fontsize, x, y, text->str); + GLfloat rad, crad, srad; + + if(text->angle == 0.0F){ + gl2ps->streamlength += gl2psPrintf + ("BT\n" + "/F%d %d Tf\n" + "%f %f Td\n" + "(%s) Tj\n" + "ET\n", + cnt, text->fontsize, x, y, text->str); + } + else{ + rad = M_PI * text->angle / 180.0F; + srad = (GLfloat)sin(rad); + crad = (GLfloat)cos(rad); + gl2ps->streamlength += gl2psPrintf + ("BT\n" + "/F%d %d Tf\n" + "%f %f %f %f %f %f Tm\n" + "(%s) Tj\n" + "ET\n", + cnt, text->fontsize, crad, srad, -srad, crad, x, y, text->str); + } } static void gl2psPutPDFImage(GL2PSimage *image, int cnt, GLfloat x, GLfloat y) { - gl2ps->streamlength += - gl2psPrintf("q\n" - "%d 0 0 %d %f %f cm\n" - "/Im%d Do\n" - "Q\n", - (int)image->width, (int)image->height, x, y, cnt); + gl2ps->streamlength += gl2psPrintf + ("q\n" + "%d 0 0 %d %f %f cm\n" + "/Im%d Do\n" + "Q\n", + (int)image->width, (int)image->height, x, y, cnt); } static void gl2psPDFstacksInit(void) @@ -4525,27 +4520,29 @@ static int gl2psPrintPDFPixmapStreamData(GL2PSimage *im, size_t size), int gray) { - int x, y; + int x, y, shift; GLfloat r, g, b, a; if(im->format != GL_RGBA && gray) return 0; - if(gray && gray !=8 && gray != 16) + if(gray && gray != 8 && gray != 16) gray = 8; gray /= 8; + shift = (sizeof(unsigned long) - 1) * 8; + for(y = 0; y < im->height; ++y){ for(x = 0; x < im->width; ++x){ a = gl2psGetRGB(im, x, y, &r, &g, &b); if(im->format == GL_RGBA && gray){ - (*action)((unsigned long)(a*255) << 24, gray); + (*action)((unsigned long)(a * 255) << shift, gray); } else{ - (*action)((unsigned long)(r*255) << 24, 1); - (*action)((unsigned long)(g*255) << 24, 1); - (*action)((unsigned long)(b*255) << 24, 1); + (*action)((unsigned long)(r * 255) << shift, 1); + (*action)((unsigned long)(g * 255) << shift, 1); + (*action)((unsigned long)(b * 255) << shift, 1); } } } @@ -4961,46 +4958,46 @@ static void gl2psPrintSVGSmoothTriangle(GL2PSxyz xyz[3], GL2PSrgba rgba[3]) /* subdivide into 4 subtriangles */ for(i = 0; i < 3; i++){ xyz2[0][i] = xyz[0][i]; - xyz2[1][i] = 0.5 * (xyz[0][i] + xyz[1][i]); - xyz2[2][i] = 0.5 * (xyz[0][i] + xyz[2][i]); + xyz2[1][i] = 0.5F * (xyz[0][i] + xyz[1][i]); + xyz2[2][i] = 0.5F * (xyz[0][i] + xyz[2][i]); } for(i = 0; i < 4; i++){ rgba2[0][i] = rgba[0][i]; - rgba2[1][i] = 0.5 * (rgba[0][i] + rgba[1][i]); - rgba2[2][i] = 0.5 * (rgba[0][i] + rgba[2][i]); + rgba2[1][i] = 0.5F * (rgba[0][i] + rgba[1][i]); + rgba2[2][i] = 0.5F * (rgba[0][i] + rgba[2][i]); } gl2psPrintSVGSmoothTriangle(xyz2, rgba2); for(i = 0; i < 3; i++){ - xyz2[0][i] = 0.5 * (xyz[0][i] + xyz[1][i]); + xyz2[0][i] = 0.5F * (xyz[0][i] + xyz[1][i]); xyz2[1][i] = xyz[1][i]; - xyz2[2][i] = 0.5 * (xyz[1][i] + xyz[2][i]); + xyz2[2][i] = 0.5F * (xyz[1][i] + xyz[2][i]); } for(i = 0; i < 4; i++){ - rgba2[0][i] = 0.5 * (rgba[0][i] + rgba[1][i]); + rgba2[0][i] = 0.5F * (rgba[0][i] + rgba[1][i]); rgba2[1][i] = rgba[1][i]; - rgba2[2][i] = 0.5 * (rgba[1][i] + rgba[2][i]); + rgba2[2][i] = 0.5F * (rgba[1][i] + rgba[2][i]); } gl2psPrintSVGSmoothTriangle(xyz2, rgba2); for(i = 0; i < 3; i++){ - xyz2[0][i] = 0.5 * (xyz[0][i] + xyz[2][i]); + xyz2[0][i] = 0.5F * (xyz[0][i] + xyz[2][i]); xyz2[1][i] = xyz[2][i]; - xyz2[2][i] = 0.5 * (xyz[1][i] + xyz[2][i]); + xyz2[2][i] = 0.5F * (xyz[1][i] + xyz[2][i]); } for(i = 0; i < 4; i++){ - rgba2[0][i] = 0.5 * (rgba[0][i] + rgba[2][i]); + rgba2[0][i] = 0.5F * (rgba[0][i] + rgba[2][i]); rgba2[1][i] = rgba[2][i]; - rgba2[2][i] = 0.5 * (rgba[1][i] + rgba[2][i]); + rgba2[2][i] = 0.5F * (rgba[1][i] + rgba[2][i]); } gl2psPrintSVGSmoothTriangle(xyz2, rgba2); for(i = 0; i < 3; i++){ - xyz2[0][i] = 0.5 * (xyz[0][i] + xyz[1][i]); - xyz2[1][i] = 0.5 * (xyz[1][i] + xyz[2][i]); - xyz2[2][i] = 0.5 * (xyz[0][i] + xyz[2][i]); + xyz2[0][i] = 0.5F * (xyz[0][i] + xyz[1][i]); + xyz2[1][i] = 0.5F * (xyz[1][i] + xyz[2][i]); + xyz2[2][i] = 0.5F * (xyz[0][i] + xyz[2][i]); } for(i = 0; i < 4; i++){ - rgba2[0][i] = 0.5 * (rgba[0][i] + rgba[1][i]); - rgba2[1][i] = 0.5 * (rgba[1][i] + rgba[2][i]); - rgba2[2][i] = 0.5 * (rgba[0][i] + rgba[2][i]); + rgba2[0][i] = 0.5F * (rgba[0][i] + rgba[1][i]); + rgba2[1][i] = 0.5F * (rgba[1][i] + rgba[2][i]); + rgba2[2][i] = 0.5F * (rgba[0][i] + rgba[2][i]); } gl2psPrintSVGSmoothTriangle(xyz2, rgba2); } @@ -5037,7 +5034,7 @@ static void gl2psEndSVGLine(void) #if defined(GL2PS_HAVE_LIBPNG) static void gl2psPrintSVGPixmap(GLfloat x, GLfloat y, GL2PSimage *pixmap) #else -static void gl2psPrintSVGPixmap(GLfloat, GLfloat, GL2PSimage *) +static void gl2psPrintSVGPixmap(GLfloat, GLfloat, GL2PSimage*) #endif { #if defined(GL2PS_HAVE_LIBPNG) @@ -5065,7 +5062,7 @@ static void gl2psPrintSVGPixmap(GLfloat, GLfloat, GL2PSimage *) gl2psPrintf("\"/>\n"); gl2psListDelete(png); #else - gl2psMsg(GL2PS_WARNING, "GL2PS has to be compiled with PNG support in " + gl2psMsg(GL2PS_WARNING, "GL2PS must be compiled with PNG support in " "order to embed images in SVG streams"); #endif } @@ -5143,6 +5140,9 @@ static void gl2psPrintSVGPrimitive(void *data) gl2psSVGGetColorString(prim->verts[0].rgba, col); gl2psPrintf("data.text->fontsize); + if(prim->data.text->angle) + gl2psPrintf("transform=\"rotate(%g, %g, %g)\" ", + -prim->data.text->angle, xyz[0][0], xyz[0][1]); if(!strcmp(prim->data.text->fontname, "Times-Roman")) gl2psPrintf("font-family=\"Times\">"); else if(!strcmp(prim->data.text->fontname, "Times-Bold")) diff --git a/source/visualization/externals/zlib/CMakeLists.txt b/source/visualization/externals/zlib/CMakeLists.txt new file mode 100644 index 0000000000..7063da20ba --- /dev/null +++ b/source/visualization/externals/zlib/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4zlib +# Package: Geant4.src.G4visualization..G4zlib +# +# CMakeLists.txt for single level library that may be built global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.2 2010/09/30 13:56:02 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/externals/zlib/sources.cmake b/source/visualization/externals/zlib/sources.cmake new file mode 100644 index 0000000000..bd6dc50933 --- /dev/null +++ b/source/visualization/externals/zlib/sources.cmake @@ -0,0 +1,48 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4zlib +# Package: Geant4.src.G4visualization..G4zlib +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:14:24 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4zlib + HEADERS + crc32.h + deflate.h + trees.h + zconf.h + zlib.h + zutil.h + SOURCES + adler32.cc + compress.cc + crc32.cc + deflate.cc + trees.cc + zutil.cc + GRANULAR_DEPENDENCIES + GLOBAL_DEPENDENCIES + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/visualization/gMocren/CMakeLists.txt b/source/visualization/gMocren/CMakeLists.txt new file mode 100644 index 0000000000..a1eb204179 --- /dev/null +++ b/source/visualization/gMocren/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4GMocren +# Package: Geant4.src.G4visualization.G4GMocren +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:14:32 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/gMocren/History b/source/visualization/gMocren/History index 0f2ace38ba..2b8a42d096 100644 --- a/source/visualization/gMocren/History +++ b/source/visualization/gMocren/History @@ -1,4 +1,4 @@ -$Id: History,v 1.7 2009/11/05 11:37:12 gcosmo Exp $ +$Id: History,v 1.16 2010/11/11 00:49:25 akimura Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,36 @@ committal in the CVS repository ! History file for visualization/gMocren sub-category --------------------------------------------------- +11 November 2010 Akinori Kimura (gMocren-V09-03-05) +- Replaced G4cerr with G4cout and added the following line before G4cout. + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + +3rd September 2010 John Allison (gMocren-V09-03-04) +- Added missing inclusion of header in G4GMocrenFileSceneHandler.cc. + +1st May 2010 John Allison (gMocren-V09-03-03) +- G4GMocrenFileSceneHandler.cc: Removed dependency on G4VisManager. + +30th May 2010 John Allison (gMocren-V09-03-02) +- G4GMocrenFileSceneHandler: Added AddCompound(const G4VDigi&). + o Simply invokes G4VSceneHandler::AddCompound(const G4VDigi&) for now. + +11 May 2010 John Allison (gMocren-V09-03-01) +- G4GMocrenFileSceneHandler.cc: Added G4cout << G4endl; to improve printing. + +22 January 2010 Gabriele Cosmo (gMocren-V09-03-00) +Fix in G4GMocrenFileSceneHandler.cc to allow for porting on C++0x Standard: +made explicit with static_cast conversions from double to float. Also use +G4 types in consistent way. + +3 December 2009 Akinori Kimura +Line 363 of G4GMocrenFileSceneHandler.cc was deleted. +It was a debug code with G4cout. +Another file I/O bug was fixed. The following files were committed. +G4GMocrenFileViewer.cc +G4GMocrenFileSceneHandler.cc +G4GMocrenIO.{cc,hh} + 5 November 2009 Gabriele Cosmo (gMocren-V09-02-03) Fix in G4GMocrenFileSceneHandler.cc for resolving compilation error on Windows diff --git a/source/visualization/gMocren/include/G4GMocrenFileSceneHandler.hh b/source/visualization/gMocren/include/G4GMocrenFileSceneHandler.hh index c80d1297f1..0cad69be14 100644 --- a/source/visualization/gMocren/include/G4GMocrenFileSceneHandler.hh +++ b/source/visualization/gMocren/include/G4GMocrenFileSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GMocrenFileSceneHandler.hh,v 1.5 2009/11/01 14:37:10 akimura Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GMocrenFileSceneHandler.hh,v 1.6 2010/05/30 10:04:16 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // Created: Mar. 31, 2009 Akinori Kimura @@ -102,6 +102,7 @@ public: void AddSolid ( const G4VSolid& solid ); void AddCompound ( const G4VTrajectory& traj); void AddCompound ( const G4VHit& hit); + void AddCompound ( const G4VDigi& hit); void AddCompound ( const G4THitsMap & hits); diff --git a/source/visualization/gMocren/include/G4GMocrenIO.hh b/source/visualization/gMocren/include/G4GMocrenIO.hh index 32d8617732..83b66b197e 100644 --- a/source/visualization/gMocren/include/G4GMocrenIO.hh +++ b/source/visualization/gMocren/include/G4GMocrenIO.hh @@ -67,6 +67,7 @@ public: GMocrenDataPrimitive & operator += (const GMocrenDataPrimitive & _right); void clear(); + void clearImage(); void setSize(int _size[3]); void getSize(int _size[3]); void setScale(double & _scale); @@ -316,6 +317,7 @@ public: // set the modality image in CT void setModalityImage(short * _image); short * getModalityImage(int _z); + void clearModalityImage(); // set/get the modality image density map void setModalityImageDensityMap(std::vector & _map); std::vector & getModalityImageDensityMap(); diff --git a/source/visualization/gMocren/sources.cmake b/source/visualization/gMocren/sources.cmake new file mode 100644 index 0000000000..cd40062a20 --- /dev/null +++ b/source/visualization/gMocren/sources.cmake @@ -0,0 +1,96 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4GMocren +# Package: Geant4.src.G4visualization.G4GMocren +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:14:41 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/event/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/FukuiRenderer/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/modeling/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4GMocren + HEADERS + G4GMocrenFile.hh + G4GMocrenFileCTtoDensityMap.hh + G4GMocrenFileSceneHandler.hh + G4GMocrenFileViewer.hh + G4GMocrenIO.hh + G4GMocrenMessenger.hh + G4GMocrenTouchable.hh + SOURCES + G4GMocrenFile.cc + G4GMocrenFileCTtoDensityMap.cc + G4GMocrenFileSceneHandler.cc + G4GMocrenFileViewer.cc + G4GMocrenIO.cc + G4GMocrenMessenger.cc + GRANULAR_DEPENDENCIES + G4FR + G4csg + G4detutils + G4digits + G4event + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4materials + G4modeling + G4navigation + G4partman + G4specsolids + G4tracking + G4vis_management + GLOBAL_DEPENDENCIES + G4FR + G4digits_hits + G4event + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4modeling + G4particles + G4tracking + G4vis_management + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/visualization/gMocren/src/G4GMocrenFileSceneHandler.cc b/source/visualization/gMocren/src/G4GMocrenFileSceneHandler.cc index c1dff0cca1..3df645082f 100644 --- a/source/visualization/gMocren/src/G4GMocrenFileSceneHandler.cc +++ b/source/visualization/gMocren/src/G4GMocrenFileSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GMocrenFileSceneHandler.cc,v 1.10 2009/11/05 11:34:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GMocrenFileSceneHandler.cc,v 1.18 2010/11/10 23:53:23 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Created: Mar. 31, 2009 Akinori Kimura @@ -39,8 +39,11 @@ #include #include #include +#include #include "globals.hh" +#include "G4VisManager.hh" + #include "G4GMocrenFile.hh" #include "G4GMocrenFileSceneHandler.hh" #include "G4GMocrenFileViewer.hh" @@ -69,7 +72,7 @@ #include "G4VPVParameterisation.hh" #include "G4VVolumeMaterialScanner.hh" #include "G4VisTrajContext.hh" -#include "G4VisManager.hh" +#include "G4TrajectoriesModel.hh" #include "G4VTrajectoryModel.hh" #include "G4TrajectoryDrawByCharge.hh" #include "G4HitsModel.hh" @@ -92,9 +95,10 @@ const G4int FR_MAX_FILE_NUM = 100 ; const G4int MAX_NUM_TRAJECTORIES = 100000; //-- for a debugging -const bool GFDEBUG = false; -const bool GFDEBUG_TRK = false;//true; -const bool GFDEBUG_HIT = false;//true; +const G4bool GFDEBUG = false; +const G4bool GFDEBUG_TRK = false;//true; +const G4bool GFDEBUG_HIT = false;//true; +const G4bool GFDEBUG_DIGI = false;//true; const G4int GFDEBUG_DET = 0; // 0: false ////////////////////// @@ -153,7 +157,8 @@ G4GMocrenFileSceneHandler::G4GMocrenFileSceneHandler(G4GMocrenFile& system, //----- G4GMocrenFileSceneHandler, destructor G4GMocrenFileSceneHandler::~G4GMocrenFileSceneHandler () { - if(GFDEBUG) G4cerr << "***** ~G4GMocrenFileSceneHandler" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** ~G4GMocrenFileSceneHandler" << G4endl; if(kGddDest) { //----- End of modeling @@ -169,7 +174,7 @@ void G4GMocrenFileSceneHandler::InitializeParameters() { kbSetModalityVoxelSize = false; - for(int i = 0; i < 3; i++) { + for(G4int i = 0; i < 3; i++) { kModalitySize[i] = 0; kNestedVolumeDimension[i] = 0; kNestedVolumeDirAxis[i] = -1; @@ -181,7 +186,7 @@ void G4GMocrenFileSceneHandler::InitializeParameters() { void G4GMocrenFileSceneHandler::SetGddFileName() { // g4_00.gdd, g4_01.gdd, ..., g4_MAX_FILE_INDEX.gdd - const int MAX_FILE_INDEX = kMaxFileNum - 1 ; + const G4int MAX_FILE_INDEX = kMaxFileNum - 1 ; // dest directory (null if no environmental variables is set) std::strcpy ( kGddFileName, kGddDestDir) ; @@ -190,19 +195,21 @@ void G4GMocrenFileSceneHandler::SetGddFileName() std::strcat ( kGddFileName, DEFAULT_GDD_FILE_NAME ); // Automatic updation of file names - static int currentNumber = 0; - for( int i = currentNumber ; i < kMaxFileNum ; i++) { + static G4int currentNumber = 0; + for( G4int i = currentNumber ; i < kMaxFileNum ; i++) { // Message in the final execution if( i == MAX_FILE_INDEX ) { - G4cerr << "===========================================" << G4endl; - G4cerr << "WARNING MESSAGE from GMocrenFile driver: " << G4endl; - G4cerr << " This file name is the final one in the " << G4endl; - G4cerr << " automatic updation of the output file name." << G4endl; - G4cerr << " You may overwrite existing files, i.e. " << G4endl; - G4cerr << " g4_XX.gdd." << G4endl; - G4cerr << "===========================================" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "===========================================" << G4endl; + G4cout << "WARNING MESSAGE from GMocrenFile driver: " << G4endl; + G4cout << " This file name is the final one in the " << G4endl; + G4cout << " automatic updation of the output file name." << G4endl; + G4cout << " You may overwrite existing files, i.e. " << G4endl; + G4cout << " g4_XX.gdd." << G4endl; + G4cout << "===========================================" << G4endl; + } } // re-determine file name as G4GMocrenFile_DEST_DIR/g4_XX.gdd @@ -228,20 +235,20 @@ void G4GMocrenFileSceneHandler::SetGddFileName() } // for - G4cerr << "======================================================================" << G4endl; - G4cerr << "Output file: " << kGddFileName << G4endl; - G4cerr << "Destination directory (current dir if NULL): " << kGddDestDir << G4endl; - G4cerr << "Maximum number of files in the destination directory: " << kMaxFileNum << G4endl; - G4cerr << "Note:" << G4endl; - G4cerr << " * The maximum number is customizable as: " << G4endl; - G4cerr << " % setenv G4GMocrenFile_MAX_FILE_NUM number " << G4endl; - G4cerr << " * The destination directory is customizable as:" << G4endl; - G4cerr << " % setenv G4GMocrenFile_DEST_DIR dir_name/ " << G4endl; - G4cerr << " ** Do not forget \"/\" at the end of the dir_name, e.g. \"./tmp/\"." << G4endl; - //G4cerr << " dir_name, e.g. \"./tmp/\"." << G4endl; - G4cerr << G4endl; - G4cerr << "Maximum number of trajectories is set to " << MAX_NUM_TRAJECTORIES << "."<< G4endl; - G4cerr << "======================================================================" << G4endl; + G4cout << "======================================================================" << G4endl; + G4cout << "Output file: " << kGddFileName << G4endl; + G4cout << "Destination directory (current dir if NULL): " << kGddDestDir << G4endl; + G4cout << "Maximum number of files in the destination directory: " << kMaxFileNum << G4endl; + G4cout << "Note:" << G4endl; + G4cout << " * The maximum number is customizable as: " << G4endl; + G4cout << " % setenv G4GMocrenFile_MAX_FILE_NUM number " << G4endl; + G4cout << " * The destination directory is customizable as:" << G4endl; + G4cout << " % setenv G4GMocrenFile_DEST_DIR dir_name/ " << G4endl; + G4cout << " ** Do not forget \"/\" at the end of the dir_name, e.g. \"./tmp/\"." << G4endl; + //G4cout << " dir_name, e.g. \"./tmp/\"." << G4endl; + G4cout << G4endl; + G4cout << "Maximum number of trajectories is set to " << MAX_NUM_TRAJECTORIES << "."<< G4endl; + G4cout << "======================================================================" << G4endl; } // G4GMocrenFileSceneHandler::SetGddFileName() @@ -249,13 +256,14 @@ void G4GMocrenFileSceneHandler::SetGddFileName() //----- void G4GMocrenFileSceneHandler::BeginSavingGdd( void ) { - if(GFDEBUG) G4cerr << "***** BeginSavingGdd (called)" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** BeginSavingGdd (called)" << G4endl; if( !IsSavingGdd() ) { - if(GFDEBUG) { - G4cerr << "***** (started) " ; - G4cerr << "(open g4.gdd, ##)" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "***** (started) " ; + G4cout << "(open g4.gdd, ##)" << G4endl; } SetGddFileName() ; // result set to kGddFileName @@ -267,9 +275,9 @@ void G4GMocrenFileSceneHandler::BeginSavingGdd( void ) minmax[0] = ctdens.GetMinCT(); minmax[1] = ctdens.GetMaxCT(); kgMocrenIO->setModalityImageMinMax(minmax); - std::vector map; - float dens; - for(int i = minmax[0]; i <= minmax[1]; i++) { + std::vector map; + G4float dens; + for(G4int i = minmax[0]; i <= minmax[1]; i++) { dens = ctdens.GetDensity(i); map.push_back(dens); } @@ -282,16 +290,16 @@ void G4GMocrenFileSceneHandler::BeginSavingGdd( void ) short minmax[2]; ifile >> minmax[0] >> minmax[1]; kgMocrenIO->setModalityImageMinMax(minmax); - std::vector map; - float dens; - for(int i = minmax[0]; i <= minmax[1]; i++) { + std::vector map; + G4float dens; + for(G4int i = minmax[0]; i <= minmax[1]; i++) { ifile >> dens; map.push_back(dens); } kgMocrenIO->setModalityImageDensityMap(map); } else { - G4cerr << "cann't open the file : " << fname << G4endl; + G4cout << "cann't open the file : " << fname << G4endl; } */ @@ -300,6 +308,7 @@ void G4GMocrenFileSceneHandler::BeginSavingGdd( void ) //kgMocrenIO->setModalityImageSize(kModalitySize); // initializations + //kgMocrenIO->clearModalityImage(); kgMocrenIO->clearDoseDistAll(); kgMocrenIO->clearROIAll(); kgMocrenIO->clearTracks(); @@ -318,16 +327,18 @@ void G4GMocrenFileSceneHandler::BeginSavingGdd( void ) void G4GMocrenFileSceneHandler::EndSavingGdd ( void ) { - if(GFDEBUG) G4cerr << "***** EndSavingGdd (called)" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** EndSavingGdd (called)" << G4endl; if(IsSavingGdd()) { - if(GFDEBUG) G4cerr << "***** (started) (close " - << kGddFileName << ")" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** (started) (close " + << kGddFileName << ")" << G4endl; if(kGddDest) kGddDest.close(); kFlagSaving_g4_gdd = false; - std::map::iterator itr = kNestedModality.begin(); + std::map::iterator itr = kNestedModality.begin(); G4int xmax=0, ymax=0, zmax=0; for(; itr != kNestedModality.end(); itr++) { if(itr->first.x > xmax) xmax = itr->first.x; @@ -345,12 +356,12 @@ void G4GMocrenFileSceneHandler::EndSavingGdd ( void ) << kModalitySize[2] << G4endl; G4int nxy = kModalitySize[0]*kModalitySize[1]; - //std::map::iterator itr; - for(int z = 0; z < kModalitySize[2]; z++) { + //std::map::iterator itr; + for(G4int z = 0; z < kModalitySize[2]; z++) { short * modality = new short[nxy]; - for(int y = 0; y < kModalitySize[1]; y++) { - for(int x = 0; x < kModalitySize[0]; x++) { - //for(int x = kModalitySize[0]-1; x >= 0 ; x--) { + for(G4int y = 0; y < kModalitySize[1]; y++) { + for(G4int x = 0; x < kModalitySize[0]; x++) { + //for(G4int x = kModalitySize[0]-1; x >= 0 ; x--) { //G4int ixy = x + (kModalitySize[1]-y-1)*kModalitySize[0]; G4int ixy = x + y*kModalitySize[0]; @@ -360,7 +371,6 @@ void G4GMocrenFileSceneHandler::EndSavingGdd ( void ) modality[ixy] = kgMocrenIO->convertDensityToHU(itr->second); } else { - G4cout << "ABC : " << x << ", " << y << ", " << z << G4endl; modality[ixy] = -1024; } @@ -376,17 +386,17 @@ void G4GMocrenFileSceneHandler::EndSavingGdd ( void ) std::map::iterator hitsItr; std::map >::iterator hitsListItr = kNestedHitsList.begin(); - for(int n = 0; hitsListItr != kNestedHitsList.end(); hitsListItr++, n++) { + for(G4int n = 0; hitsListItr != kNestedHitsList.end(); hitsListItr++, n++) { kgMocrenIO->newDoseDist(); kgMocrenIO->setDoseDistName(hitsListItr->first, n); kgMocrenIO->setDoseDistSize(kModalitySize, n); G4double minmax[2] = {DBL_MAX, -DBL_MAX}; - for(int z = 0 ; z < kModalitySize[2]; z++) { + for(G4int z = 0 ; z < kModalitySize[2]; z++) { G4double * values = new G4double[nxy]; - for(int y = 0; y < kModalitySize[1]; y++) { - for(int x = 0; x < kModalitySize[0]; x++) { + for(G4int y = 0; y < kModalitySize[1]; y++) { + for(G4int x = 0; x < kModalitySize[0]; x++) { G4int ixy = x + y*kModalitySize[0]; Index3D idx(x,y,z); @@ -420,9 +430,9 @@ void G4GMocrenFileSceneHandler::EndSavingGdd ( void ) trans = kVolumeTrans3D.getTranslation(); rot = kVolumeTrans3D.getRotation().inverse(); // x - std::vector tracks; + std::vector tracks; unsigned char colors[3]; - float * trk = new float[6]; + G4float * trk = new G4float[6]; tracks.push_back(trk); G4ThreeVector orig(0.,0.,0), xa(2000.,0.,0.), ya(0.,2000.,0.), za(0.,0.,2000.); @@ -434,16 +444,16 @@ void G4GMocrenFileSceneHandler::EndSavingGdd ( void ) ya.transform(rot); za -= trans; za.transform(rot); - for(int i = 0; i < 3; i++) trk[i] = orig[i]; - for(int i = 0; i < 3; i++) trk[i+3] = xa[i]; + for(G4int i = 0; i < 3; i++) trk[i] = orig[i]; + for(G4int i = 0; i < 3; i++) trk[i+3] = xa[i]; colors[0] = 255; colors[1] = 0; colors[2] = 0; kgMocrenIO->addTrack(tracks, colors); // y - for(int i = 0; i < 3; i++) trk[i+3] = ya[i]; + for(G4int i = 0; i < 3; i++) trk[i+3] = ya[i]; colors[0] = 0; colors[1] = 255; colors[2] = 0; kgMocrenIO->addTrack(tracks, colors); // z - for(int i = 0; i < 3; i++) trk[i+3] = za[i]; + for(G4int i = 0; i < 3; i++) trk[i+3] = za[i]; colors[0] = 0; colors[1] = 0; colors[2] = 255; kgMocrenIO->addTrack(tracks, colors); } @@ -453,8 +463,8 @@ void G4GMocrenFileSceneHandler::EndSavingGdd ( void ) if(GFDEBUG_DET) G4cout << ">>>>>>>>>>>>>>>>>>>>>> ("; - std::vector transformObjects; - for(int i = 0; i < 3; i++) { + std::vector transformObjects; + for(G4int i = 0; i < 3; i++) { // need to check!! transformObjects.push_back((kVolumeSize[i]/2. - kVoxelDimension[i]/2.)); if(GFDEBUG_DET) G4cout << transformObjects[i] << ", "; @@ -480,7 +490,8 @@ void G4GMocrenFileSceneHandler::GFBeginModeling( void ) if( !GFIsInModeling() ) { - if(GFDEBUG) G4cerr << "***** G4GMocrenFileSceneHandler::GFBeginModeling (called & started)" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4GMocrenFileSceneHandler::GFBeginModeling (called & started)" << G4endl; //----- Send saving command and heading comment BeginSavingGdd(); @@ -508,7 +519,8 @@ void G4GMocrenFileSceneHandler::GFBeginModeling( void ) //----- Add polyline void G4GMocrenFileSceneHandler::AddPrimitive (const G4Polyline& polyline) { - if(GFDEBUG) G4cerr << "***** AddPrimitive" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive" << G4endl; //----- Initialize if necessary @@ -532,7 +544,7 @@ void G4GMocrenFileSceneHandler::AddPrimitive (const G4Polyline& polyline) rot = kVolumeTrans3D.getRotation().inverse(); if(GFDEBUG_TRK) G4cout << " trajectory points : " << G4endl; - std::vector trajectory; + std::vector trajectory; if(polyline.size() < 2) return; G4Polyline::const_iterator preitr = polyline.begin(); G4Polyline::const_iterator postitr = preitr; postitr++; @@ -543,7 +555,7 @@ void G4GMocrenFileSceneHandler::AddPrimitive (const G4Polyline& polyline) G4ThreeVector postPts(postitr->x(), postitr->y(), postitr->z()); postPts -= trans; postPts.transform(rot); - float * stepPts = new float[6]; + G4float * stepPts = new G4float[6]; stepPts[0] = prePts.x(); stepPts[1] = prePts.y(); stepPts[2] = prePts.z(); @@ -588,7 +600,8 @@ void G4GMocrenFileSceneHandler::AddPrimitive (const G4Polyline& polyline) void G4GMocrenFileSceneHandler::AddPrimitive (const G4NURBS&) { //----- - if(GFDEBUG) G4cerr << "***** AddPrimitive( G4NURBS )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive( G4NURBS )" << G4endl; //----- Initialize if necessary GFBeginModeling(); @@ -604,7 +617,8 @@ void G4GMocrenFileSceneHandler::AddPrimitive ( const G4Text& text ) G4Text dummytext = text; //----- - if(GFDEBUG) G4cerr << "***** AddPrimitive( G4Text )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive( G4Text )" << G4endl; //----- Initialize IF NECESSARY GFBeginModeling(); @@ -619,7 +633,8 @@ void G4GMocrenFileSceneHandler::AddPrimitive ( const G4Circle& mark_circle ) G4Circle dummycircle = mark_circle; //----- - if(GFDEBUG) G4cerr << "***** AddPrimitive( G4Circle )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive( G4Circle )" << G4endl; //----- Initialize IF NECESSARY GFBeginModeling(); @@ -635,7 +650,8 @@ void G4GMocrenFileSceneHandler::AddPrimitive (const G4Square& mark_square ) G4Square dummysquare = mark_square; //----- - if(GFDEBUG) G4cerr << "***** AddPrimitive( G4Square )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive( G4Square )" << G4endl; //----- Initialize if necessary GFBeginModeling(); @@ -647,7 +663,8 @@ void G4GMocrenFileSceneHandler::AddPrimitive (const G4Square& mark_square ) void G4GMocrenFileSceneHandler::AddPrimitive ( const G4Polyhedron& polyhedron ) { //----- - if(GFDEBUG) G4cerr << "***** AddPrimitive( G4Polyhedron )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddPrimitive( G4Polyhedron )" << G4endl; if (polyhedron.GetNoFacets() == 0) return; @@ -656,7 +673,7 @@ void G4GMocrenFileSceneHandler::AddPrimitive ( const G4Polyhedron& polyhedron ) GFBeginModeling(); //---------- (3) Facet block - for (int f = polyhedron.GetNoFacets(); f; f--){ + for (G4int f = polyhedron.GetNoFacets(); f; f--){ G4int notLastEdge; G4int index = -1; // initialization G4int edgeFlag = 1; @@ -675,16 +692,20 @@ void G4GMocrenFileSceneHandler::AddPrimitive ( const G4Polyhedron& polyhedron ) //SendStrInt4(FR_FACET, work[0], work[1], work[2], work[3] ); break; default: - G4cerr << - "ERROR G4GMocrenFileSceneHandler::AddPrimitive(G4Polyhedron)" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << + "ERROR G4GMocrenFileSceneHandler::AddPrimitive(G4Polyhedron)" << G4endl; G4PhysicalVolumeModel* pPVModel = dynamic_cast(fpModel); - if (pPVModel) G4cerr << - "Volume " << pPVModel->GetCurrentPV()->GetName() << - ", Solid " << pPVModel->GetCurrentLV()->GetSolid()->GetName() << - " (" << pPVModel->GetCurrentLV()->GetSolid()->GetEntityType(); - G4cerr << - "\nG4Polyhedron facet with " << i << " edges" << G4endl; + if (pPVModel) + if(G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "Volume " << pPVModel->GetCurrentPV()->GetName() << + ", Solid " << pPVModel->GetCurrentLV()->GetSolid()->GetName() << + " (" << pPVModel->GetCurrentLV()->GetSolid()->GetEntityType(); + + if(G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << + "\nG4Polyhedron facet with " << i << " edges" << G4endl; } } @@ -697,13 +718,14 @@ void G4GMocrenFileSceneHandler::GFEndModeling () G4VSceneHandler::EndModeling(); //----- - if(GFDEBUG) G4cerr << "***** GFEndModeling (called)" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** GFEndModeling (called)" << G4endl; if( GFIsInModeling() ) { - if(GFDEBUG) { - G4cerr << "***** GFEndModeling (started) " ; - G4cerr << "(/EndModeling, /DrawAll, /CloseDevice)" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "***** GFEndModeling (started) " ; + G4cout << "(/EndModeling, /DrawAll, /CloseDevice)" << G4endl; } //----- End saving data to g4.gdd @@ -720,7 +742,8 @@ void G4GMocrenFileSceneHandler::GFEndModeling () //----- void G4GMocrenFileSceneHandler::BeginPrimitives (const G4Transform3D& objectTransformation) { - if(GFDEBUG) G4cerr << "***** BeginPrimitives " << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** BeginPrimitives " << G4endl; GFBeginModeling(); @@ -733,7 +756,8 @@ void G4GMocrenFileSceneHandler::BeginPrimitives (const G4Transform3D& objectTran //----- void G4GMocrenFileSceneHandler::EndPrimitives () { - if(GFDEBUG) G4cerr << "***** EndPrimitives " << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** EndPrimitives " << G4endl; G4VSceneHandler::EndPrimitives (); } @@ -744,7 +768,8 @@ void G4GMocrenFileSceneHandler::EndPrimitives () //----- Add box void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) { - if(GFDEBUG) G4cerr << "***** AddSolid ( box )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( box )" << G4endl; if(GFDEBUG_DET > 0) G4cout << "G4GMocrenFileSceneHandler::AddSolid(const G4Box&) : " @@ -763,11 +788,11 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) G4cout << " " << box.GetName() << G4endl; G4Polyhedron * poly = box.CreatePolyhedron(); poly->Transform(*fpObjectTransformation); - //int nv = poly->GetNoVertices(); + //G4int nv = poly->GetNoVertices(); G4Point3D v1, v2; G4int next; //while(1) { // next flag isn't functional. - for(int i = 0; i < 12; i++) { // # of edges is 12. + for(G4int i = 0; i < 12; i++) { // # of edges is 12. poly->GetNextEdge(v1, v2, next); if(next == 0) break; G4cout << " (" << v1.x() << ", " @@ -926,7 +951,7 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) } } - for(int i = 0; i < 3; i++) { + for(G4int i = 0; i < 3; i++) { kNestedVolumeDimension[i] = nDaughters[i]; //kNestedVolumeDimension[i] = nDaughters[dirAxis[i]]; kNestedVolumeDirAxis[i] = dirAxis[i]; @@ -939,9 +964,9 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) = dynamic_cast(pv[2]->GetParameterisation()); if(nestPara) { G4double prexyz[3] = {0.,0.,0.}, xyz[3] = {0.,0.,0.}; - for(int n0 = 0; n0 < nDaughters[0]; n0++) { - for(int n1 = 0; n1 < nDaughters[1]; n1++) { - for(int n2 = 0; n2 < nDaughters[2]; n2++) { + for(G4int n0 = 0; n0 < nDaughters[0]; n0++) { + for(G4int n1 = 0; n1 < nDaughters[1]; n1++) { + for(G4int n2 = 0; n2 < nDaughters[2]; n2++) { G4GMocrenTouchable * touch = new G4GMocrenTouchable(n1, n0); if(GFDEBUG_DET) @@ -960,7 +985,7 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) xyz[1] = tbox.GetYHalfLength()/mm; xyz[2] = tbox.GetZHalfLength()/mm; if(n0 != 0 || n1 != 0 || n2 != 0) { - for(int i = 0; i < 3; i++) { + for(G4int i = 0; i < 3; i++) { if(xyz[i] != prexyz[i]) G4Exception("Error[gMocrenFileSceneHandler]: Unsupported parameterisation."); } } @@ -979,7 +1004,7 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) G4cout << " index: " << idx[0] << ", " << idx[1] << ", " << idx[2] << " density: " << dens << G4endl; - for(int i = 0; i < 3; i++) prexyz[i] = xyz[i]; + for(G4int i = 0; i < 3; i++) prexyz[i] = xyz[i]; } } } @@ -989,7 +1014,9 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) box.GetZHalfLength()*2/mm); // mesh size if(!kbSetModalityVoxelSize) { - float spacing[3] = {2*xyz[0], 2*xyz[1], 2*xyz[2]}; + G4float spacing[3] = {static_cast(2*xyz[0]), + static_cast(2*xyz[1]), + static_cast(2*xyz[2])}; kgMocrenIO->setVoxelSpacing(spacing); kVoxelDimension.set(spacing[0], spacing[1], spacing[2]); kbSetModalityVoxelSize = true; @@ -1013,7 +1040,7 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) G4int npvp = pPVModel->GetDrawnPVPath().size(); G4cout << " physical volume node id : " << "size: " << npvp << ", PV name: "; - for(int i = 0; i < npvp; i++) { + for(G4int i = 0; i < npvp; i++) { G4cout << pPVModel->GetDrawnPVPath()[i].GetPhysicalVolume()->GetName() << " [param:" << pPVModel->GetDrawnPVPath()[i].GetPhysicalVolume()->IsParameterised() @@ -1092,9 +1119,9 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) G4int nX = kNestedVolumeDimension[0]; G4int nXY = kNestedVolumeDimension[0]*kNestedVolumeDimension[1]; - for(int n0 = 0; n0 < kNestedVolumeDimension[0]; n0++) { - for(int n1 = 0; n1 < kNestedVolumeDimension[1]; n1++) { - for(int n2 = 0; n2 < kNestedVolumeDimension[2]; n2++) { + for(G4int n0 = 0; n0 < kNestedVolumeDimension[0]; n0++) { + for(G4int n1 = 0; n1 < kNestedVolumeDimension[1]; n1++) { + for(G4int n2 = 0; n2 < kNestedVolumeDimension[2]; n2++) { G4int repNo = n0 + n1*nX + n2*nXY; G4Material * mat = phantomPara->ComputeMaterial(repNo, pv[0]); @@ -1122,9 +1149,9 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) // mesh size if(!kbSetModalityVoxelSize) { - float spacing[3] = {2*phantomPara->GetVoxelHalfX(), - 2*phantomPara->GetVoxelHalfY(), - 2*phantomPara->GetVoxelHalfZ()}; + G4float spacing[3] = {static_cast(2*phantomPara->GetVoxelHalfX()), + static_cast(2*phantomPara->GetVoxelHalfY()), + static_cast(2*phantomPara->GetVoxelHalfZ())}; kgMocrenIO->setVoxelSpacing(spacing); kVoxelDimension.set(spacing[0], spacing[1], spacing[2]); kbSetModalityVoxelSize = true; @@ -1157,9 +1184,9 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) kNestedVolumeDirAxis[2] = 0; // get densities of the parameterized patient geometry - for(int n0 = 0; n0 < kNestedVolumeDimension[0]; n0++) { - for(int n1 = 0; n1 < kNestedVolumeDimension[1]; n1++) { - for(int n2 = 0; n2 < kNestedVolumeDimension[2]; n2++) { + for(G4int n0 = 0; n0 < kNestedVolumeDimension[0]; n0++) { + for(G4int n1 = 0; n1 < kNestedVolumeDimension[1]; n1++) { + for(G4int n2 = 0; n2 < kNestedVolumeDimension[2]; n2++) { G4double dens = 0.*(g/cm3); @@ -1191,9 +1218,9 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) // mesh size if(!kbSetModalityVoxelSize) { - float spacing[3] = {boxSize.x()*2/nVoxels[0], - boxSize.y()*2/nVoxels[1], - boxSize.z()*2/nVoxels[2]}; + G4float spacing[3] = {static_cast(boxSize.x()*2/nVoxels[0]), + static_cast(boxSize.y()*2/nVoxels[1]), + static_cast(boxSize.z()*2/nVoxels[2])}; kgMocrenIO->setVoxelSpacing(spacing); kVoxelDimension.set(spacing[0], spacing[1], spacing[2]); @@ -1274,7 +1301,8 @@ void G4GMocrenFileSceneHandler::AddSolid( const G4Box& box ) void G4GMocrenFileSceneHandler::AddSolid( const G4Tubs& tubes ) { - if(GFDEBUG) G4cerr << "***** AddSolid ( tubes )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( tubes )" << G4endl; //----- skip drawing invisible primitive if( !IsVisible() ) { return ; } @@ -1291,8 +1319,8 @@ G4GMocrenFileSceneHandler::AddSolid( const G4Tubs& tubes ) G4cout << "-------" << G4endl; G4cout << " " << tubes.GetName() << G4endl; G4Polyhedron * poly = tubes.CreatePolyhedron(); - int nv = poly->GetNoVertices(); - for(int i = 0; i < nv; i++) { + G4int nv = poly->GetNoVertices(); + for(G4int i = 0; i < nv; i++) { G4cout << " (" << poly->GetVertex(i).x() << ", " << poly->GetVertex(i).y() << ", " << poly->GetVertex(i).z() << ")" << G4endl; @@ -1316,7 +1344,8 @@ G4GMocrenFileSceneHandler::AddSolid( const G4Tubs& tubes ) void G4GMocrenFileSceneHandler::AddSolid( const G4Cons& cons ) { - if(GFDEBUG) G4cerr << "***** AddSolid ( cons )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( cons )" << G4endl; //----- skip drawing invisible primitive if( !IsVisible() ) { return ; } @@ -1333,7 +1362,8 @@ G4GMocrenFileSceneHandler::AddSolid( const G4Cons& cons ) //----- Add trd void G4GMocrenFileSceneHandler::AddSolid ( const G4Trd& trd ) { - if(GFDEBUG) G4cerr << "***** AddSolid ( trd )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( trd )" << G4endl; //----- skip drawing invisible primitive @@ -1351,7 +1381,8 @@ void G4GMocrenFileSceneHandler::AddSolid ( const G4Trd& trd ) //----- Add sphere void G4GMocrenFileSceneHandler::AddSolid ( const G4Sphere& sphere ) { - if(GFDEBUG) G4cerr << "***** AddSolid ( sphere )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( sphere )" << G4endl; //----- skip drawing invisible primitive if( !IsVisible() ) { return ; } @@ -1368,7 +1399,8 @@ void G4GMocrenFileSceneHandler::AddSolid ( const G4Sphere& sphere ) //----- Add para void G4GMocrenFileSceneHandler::AddSolid (const G4Para& para) { - if(GFDEBUG) G4cerr << "***** AddSolid ( para )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( para )" << G4endl; //----- skip drawing invisible primitive if( !IsVisible() ) { return ; } @@ -1385,7 +1417,8 @@ void G4GMocrenFileSceneHandler::AddSolid (const G4Para& para) //----- Add trap void G4GMocrenFileSceneHandler::AddSolid (const G4Trap& trap) { - if(GFDEBUG) G4cerr << "***** AddSolid ( trap )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( trap )" << G4endl; //----- skip drawing invisible primitive if( !IsVisible() ) { return ; } @@ -1403,7 +1436,8 @@ void G4GMocrenFileSceneHandler::AddSolid (const G4Trap& trap) void G4GMocrenFileSceneHandler::AddSolid( const G4Torus& torus ) { - if(GFDEBUG) G4cerr << "***** AddSolid ( torus )" << G4endl; + if(GFDEBUG || G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** AddSolid ( torus )" << G4endl; //----- skip drawing invisible primitive if( !IsVisible() ) { return ; } @@ -1447,8 +1481,7 @@ void G4GMocrenFileSceneHandler::AddCompound(const G4VTrajectory & traj) { G4VSceneHandler::AddCompound(traj); if(GFDEBUG_TRK) { - std::cout << " ::AddCompound(const G4VTrajectory&) >>>>>>>>> " << std::endl; - + G4cout << " ::AddCompound(const G4VTrajectory&) >>>>>>>>> " << G4endl; G4TrajectoriesModel * pTrModel = dynamic_cast(fpModel); if (!pTrModel) { G4Exception @@ -1463,15 +1496,14 @@ void G4GMocrenFileSceneHandler::AddCompound(const G4VTrajectory & traj) { G4cout << " charge: " << trj->GetCharge() << G4endl; G4cout << " momentum: " << trj->GetInitialMomentum() << G4endl; - int nPnt = trj->GetPointEntries(); + G4int nPnt = trj->GetPointEntries(); G4cout << " point: "; - for(int i = 0; i < nPnt; i++) { + for(G4int i = 0; i < nPnt; i++) { G4cout << trj->GetPoint(i)->GetPosition() << ", "; } G4cout << G4endl; - - } + G4cout << G4endl; } kbModelingTrajectory = false; @@ -1543,7 +1575,7 @@ void G4GMocrenFileSceneHandler::AddCompound( const G4VHit & hit) { // Get attributes for(itr = attval->begin(); itr != attval->end(); itr++) { - for(int i = 0; i < nhitname; i++) { + for(G4int i = 0; i < nhitname; i++) { if(itr->GetName() == hitNames[i]) { std::string stmp = itr->GetValue(); @@ -1580,6 +1612,11 @@ void G4GMocrenFileSceneHandler::AddCompound( const G4VHit & hit) { } +void G4GMocrenFileSceneHandler::AddCompound( const G4VDigi & digi) { + if(GFDEBUG_DIGI) G4cout << " ::AddCompound(const G4VDigi&) >>>>>>>>> " << G4endl; + G4VSceneHandler::AddCompound(digi); +} + void G4GMocrenFileSceneHandler::AddCompound(const G4THitsMap & hits) { if(GFDEBUG_HIT) G4cout << " ::AddCompound(const std::map &) >>>>>>>>> " << G4endl; @@ -1600,7 +1637,7 @@ void G4GMocrenFileSceneHandler::AddCompound(const G4THitsMap & hits) { */ - //for(int i = 0; i < nhitname; i++) { // this selection trusts + //for(G4int i = 0; i < nhitname; i++) { // this selection trusts //if(scorername == hitScorerNames[i]) { // thea command /vis/scene/add/psHits hit_name. G4int idx[3]; @@ -1629,7 +1666,7 @@ void G4GMocrenFileSceneHandler::AddCompound(const G4THitsMap & hits) { G4String meshname = static_cast(hits).GetSDname(); G4cout << " >>>>> " << meshname << " : " << scorername << G4endl; - for(int i = 0; i < nhitname; i++) + for(G4int i = 0; i < nhitname; i++) if(scorername == hitScorerNames[i]) G4cout << " !!!! Hit scorer !!!! " << scorername << G4endl; @@ -1701,7 +1738,7 @@ void G4GMocrenFileSceneHandler::AddDetector(const G4VSolid & solid) { if (!pPVModel) { return ; } // edge points of the detector - std::vector dedges; + std::vector dedges; G4Polyhedron * poly = solid.CreatePolyhedron(); detector.polyhedron = poly; detector.transform3D = *fpObjectTransformation; @@ -1716,13 +1753,13 @@ void G4GMocrenFileSceneHandler::AddDetector(const G4VSolid & solid) { //if(uccolor[0] < 2 && uccolor[1] < 2 && uccolor[2] < 2) //uccolor[0] = uccolor[1] = uccolor[2] = 30; // dark grey } - for(int i = 0; i < 3; i++) detector.color[i] = uccolor[i]; + for(G4int i = 0; i < 3; i++) detector.color[i] = uccolor[i]; // kDetectors.push_back(detector); if(GFDEBUG_DET > 1) { - G4cout << "0 color: (" << (int)uccolor[0] << ", " - << (int)uccolor[1] << ", " << (int)uccolor[2] << ")" + G4cout << "0 color: (" << (G4int)uccolor[0] << ", " + << (G4int)uccolor[1] << ", " << (G4int)uccolor[2] << ")" << G4endl; } @@ -1741,7 +1778,7 @@ void G4GMocrenFileSceneHandler::ExtractDetector() { G4cout << "Detector name : " << detname << G4endl; // edge points of the detector - std::vector dedges; + std::vector dedges; G4Polyhedron * poly = itr->polyhedron; poly->Transform(itr->transform3D); G4Transform3D invVolTrans = kVolumeTrans3D.inverse(); @@ -1754,7 +1791,7 @@ void G4GMocrenFileSceneHandler::ExtractDetector() { // while(bnext) { if(!(poly->GetNextEdge(v1, v2, next))) bnext =false; - float * edge = new float[6]; + G4float * edge = new G4float[6]; edge[0] = v1.x()/mm; edge[1] = v1.y()/mm; edge[2] = v1.z()/mm; @@ -1771,14 +1808,14 @@ void G4GMocrenFileSceneHandler::ExtractDetector() { itr->color[2]}; // kgMocrenIO->addDetector(detname, dedges, uccolor); - for(int i = 0; i < nedges; i++) { // # of edges is 12. + for(G4int i = 0; i < nedges; i++) { // # of edges is 12. delete [] dedges[i]; } dedges.clear(); if(GFDEBUG_DET > 1) { - G4cout << " color: (" << (int)uccolor[0] << ", " - << (int)uccolor[1] << ", " << (int)uccolor[2] << ")" + G4cout << " color: (" << (G4int)uccolor[0] << ", " + << (G4int)uccolor[1] << ", " << (G4int)uccolor[2] << ")" << G4endl; } } @@ -1788,7 +1825,7 @@ void G4GMocrenFileSceneHandler::GetNestedVolumeIndex(G4int _idx, G4int _idx3d[3] if(kNestedVolumeDimension[0] == 0 || kNestedVolumeDimension[1] == 0 || kNestedVolumeDimension[2] == 0) { - for(int i = 0; i < 3; i++) _idx3d[i] = 0; + for(G4int i = 0; i < 3; i++) _idx3d[i] = 0; return; } diff --git a/source/visualization/gMocren/src/G4GMocrenFileViewer.cc b/source/visualization/gMocren/src/G4GMocrenFileViewer.cc index 1478e7cea9..9ea6f98b15 100644 --- a/source/visualization/gMocren/src/G4GMocrenFileViewer.cc +++ b/source/visualization/gMocren/src/G4GMocrenFileViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GMocrenFileViewer.cc,v 1.2 2009/10/12 10:04:35 akimura Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GMocrenFileViewer.cc,v 1.4 2010/11/10 23:53:23 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // Created: Mar. 31, 2009 Akinori Kimura @@ -40,6 +40,7 @@ #include #include +#include "G4VisManager.hh" #include "G4Scene.hh" #include "G4Vector3D.hh" #include "G4VisExtent.hh" @@ -92,7 +93,8 @@ G4GMocrenFileViewer::~G4GMocrenFileViewer () void G4GMocrenFileViewer::SetView () { if(GFDEBUG) - G4cerr << "***** G4GMocrenFileViewer::SetView(): No effects" << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4GMocrenFileViewer::SetView(): No effects" << G4endl; // Do nothing, since DAWN is running as a different process. // SendViewParameters () will do this job instead. @@ -104,15 +106,16 @@ void G4GMocrenFileViewer::ClearView( void ) { if(GFDEBUG) - G4cerr << "***** G4GMocrenFileViewer::ClearView (): No effects " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4GMocrenFileViewer::ClearView (): No effects " << G4endl; - if(kSceneHandler.kGddDest) { - kSceneHandler.kGddDest.close(); + //if(kSceneHandler.kGddDest) { + //kSceneHandler.kGddDest.close(); // Re-open with same filename... - kSceneHandler.kGddDest.open(kSceneHandler.kGddFileName); + //kSceneHandler.kGddDest.open(kSceneHandler.kGddFileName); kSceneHandler.kFlagInModeling = false; kSceneHandler.GFBeginModeling(); - } + //} } @@ -120,7 +123,8 @@ G4GMocrenFileViewer::ClearView( void ) void G4GMocrenFileViewer::DrawView () { if(GFDEBUG) - G4cerr << "***** G4GMocrenFileViewer::DrawView () " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4GMocrenFileViewer::DrawView () " << G4endl; //----- kSceneHandler.GFBeginModeling() ; @@ -139,7 +143,8 @@ void G4GMocrenFileViewer::DrawView () void G4GMocrenFileViewer::ShowView( void ) { if(GFDEBUG) - G4cerr << "***** G4GMocrenFileViewer::ShowView () " << G4endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "***** G4GMocrenFileViewer::ShowView () " << G4endl; if( kSceneHandler.GFIsInModeling() ) { diff --git a/source/visualization/gMocren/src/G4GMocrenIO.cc b/source/visualization/gMocren/src/G4GMocrenIO.cc index 88efa32025..375270e6e0 100644 --- a/source/visualization/gMocren/src/G4GMocrenIO.cc +++ b/source/visualization/gMocren/src/G4GMocrenIO.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GMocrenIO.cc,v 1.4 2009/11/05 03:14:12 akimura Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4GMocrenIO.cc,v 1.6 2010/11/10 23:53:23 akimura Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // File I/O manager class for writing or reading calcuated dose @@ -39,13 +39,16 @@ // // #include "G4GMocrenIO.hh" - #include #include #include #include #include #include + +#include "globals.hh" +#include "G4VisManager.hh" + #if defined(_WIN32) #define LITTLE_ENDIAN 1234 #define BYTE_ORDER LITTLE_ENDIAN @@ -96,9 +99,10 @@ GMocrenDataPrimitive::operator + (const GMocrenDataPrimitive & _right) { if(kCenter[i] != _right.kCenter[i]) stat = false; } if(!stat) { - std::cerr << "Warning: operator + " - << " Cannot do the operator +" - << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "Warning: operator + " + << " Cannot do the operator +" + << G4endl; return *this; } @@ -136,9 +140,10 @@ GMocrenDataPrimitive::operator += (const GMocrenDataPrimitive & _right) { if(kCenter[i] != _right.kCenter[i]) stat = false; } if(!stat) { - std::cerr << "Warning: operator += " << std::endl - << " Cannot do the operator +=" - << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "Warning: operator += " << G4endl + << " Cannot do the operator +=" + << G4endl; return *this; } @@ -169,14 +174,14 @@ void GMocrenDataPrimitive::clear() { kMinmax[0] = (T)32109; kMinmax[1] = (T)-32109; - /* - if(!image.empty()) { - typename std::vector::iterator itr; - for(itr = image.begin(); itr != image.end(); itr++) { + clearImage(); +} +template +void GMocrenDataPrimitive::clearImage() { + typename std::vector::iterator itr; + for(itr = kImage.begin(); itr != kImage.end(); itr++) { delete [] *itr; - } - } - */ + } kImage.clear(); } template @@ -262,8 +267,9 @@ void GMocrenTrack::getStep(float & _startx, float & _starty, float & _startz, float & _endx, float & _endy, float & _endz, int _num) { if(_num >= (int)kTrack.size()) { - std::cerr << "GMocrenTrack::getStep(...) Error: " - << "invalid step # : " << _num << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "GMocrenTrack::getStep(...) Error: " + << "invalid step # : " << _num << G4endl; return; } @@ -312,8 +318,9 @@ void GMocrenDetector::getEdge(float & _startx, float & _starty, float & _startz, float & _endx, float & _endy, float & _endz, int _num) { if(_num >= (int)kDetector.size()) { - std::cerr << "GMocrenDetector::getEdge(...) Error: " - << "invalid edge # : " << _num << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "GMocrenDetector::getEdge(...) Error: " + << "invalid edge # : " << _num << G4endl; return; } @@ -457,15 +464,15 @@ bool G4GMocrenIO::storeData4() { bool DEBUG = false;// if(DEBUG || kVerbose > 0) - std::cout << ">>>>>>> store data (ver.4) <<<<<<<" << std::endl; + G4cout << ">>>>>>> store data (ver.4) <<<<<<<" << G4endl; if(DEBUG || kVerbose > 0) - std::cout << " " << kFileName << std::endl; + G4cout << " " << kFileName << G4endl; // output file open std::ofstream ofile(kFileName.c_str(), std::ios_base::out|std::ios_base::binary); if(DEBUG || kVerbose > 0) - std::cout << " file open status: " << ofile << std::endl; + G4cout << " file open status: " << ofile << G4endl; // file identifier ofile.write("gMocren ", 8); @@ -479,8 +486,8 @@ bool G4GMocrenIO::storeData4() { char littleEndian = 0x01; ofile.write((char *)&littleEndian, sizeof(char)); if(DEBUG || kVerbose > 0) { - //std::cout << "Endian: " << (int)kLittleEndianOutput << std::endl; - std::cout << "Endian: " << (int)littleEndian << std::endl; + //G4cout << "Endian: " << (int)kLittleEndianOutput << G4endl; + G4cout << "Endian: " << (int)littleEndian << G4endl; } // for inverting the byte order @@ -504,8 +511,8 @@ bool G4GMocrenIO::storeData4() { std::strcpy(cmt, kComment.c_str()); ofile.write((char *)cmt, 1024); if(DEBUG || kVerbose > 0) { - std::cout << "Data comment : " - << kComment << std::endl; + G4cout << "Data comment : " + << kComment << G4endl; } // voxel spacings for all images @@ -517,11 +524,11 @@ bool G4GMocrenIO::storeData4() { ofile.write((char *)ftmp, 12); } if(DEBUG || kVerbose > 0) { - std::cout << "Voxel spacing : (" + G4cout << "Voxel spacing : (" << kVoxelSpacing[0] << ", " << kVoxelSpacing[1] << ", " << kVoxelSpacing[2] - << ") mm " << std::endl; + << ") mm " << G4endl; } calcPointers4(); @@ -582,15 +589,15 @@ bool G4GMocrenIO::storeData4() { } if(DEBUG || kVerbose > 0) { - std::cout << "Each pointer to data : " + G4cout << "Each pointer to data : " << kPointerToModalityData << ", "; for(int i = 0; i < nDoseDist; i++) { - std::cout << kPointerToDoseDistData[i] << ", "; + G4cout << kPointerToDoseDistData[i] << ", "; } - std::cout << kPointerToROIData << ", " + G4cout << kPointerToROIData << ", " << kPointerToTrackData << ", " << kPointerToDetectorData - << std::endl; + << G4endl; } //----- modality image -----// @@ -612,11 +619,11 @@ bool G4GMocrenIO::storeData4() { } if(DEBUG || kVerbose > 0) { - std::cout << "Modality image size : (" + G4cout << "Modality image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // modality image max. & min. @@ -642,15 +649,15 @@ bool G4GMocrenIO::storeData4() { ofile.write((char *)ftmp, 4); } if(DEBUG || kVerbose > 0) { - std::cout << "Modality image min., max., scale : " + G4cout << "Modality image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // modality image int psize = size[0]*size[1]; - if(DEBUG || kVerbose > 0) std::cout << "Modality image : "; + if(DEBUG || kVerbose > 0) G4cout << "Modality image : "; for(int i = 0; i < size[2]; i++) { short * image = kModality.getImage(i); if(kLittleEndianOutput) { @@ -662,14 +669,14 @@ bool G4GMocrenIO::storeData4() { } } - if(DEBUG || kVerbose > 0) std::cout << "[" << i << "]" << image[(size_t)(psize*0.55)] << ", "; + if(DEBUG || kVerbose > 0) G4cout << "[" << i << "]" << image[(size_t)(psize*0.55)] << ", "; } - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; // modality desity map for CT value size_t msize = minmax[1] - minmax[0]+1; if(DEBUG || kVerbose > 0) - std::cout << "modality image : " << minmax[0] << ", " << minmax[1] << std::endl; + G4cout << "modality image : " << minmax[0] << ", " << minmax[1] << G4endl; float * pdmap = new float[msize]; for(int i = 0; i < (int)msize; i++) pdmap[i] =kModalityImageDensityMap[i]; @@ -683,10 +690,10 @@ bool G4GMocrenIO::storeData4() { } if(DEBUG || kVerbose > 0) { - std::cout << "density map : " << std::ends; + G4cout << "density map : " << std::ends; for(int i = 0; i < (int)msize; i+=50) - std::cout < 0) { - std::cout << "Dose dist. [" << ndose << "] image size : (" + G4cout << "Dose dist. [" << ndose << "] image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // dose distribution max. & min. @@ -731,7 +738,7 @@ bool G4GMocrenIO::storeData4() { std::strcpy(cdunit, kDoseUnit.c_str()); ofile.write((char *)cdunit, 12); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. unit : " << kDoseUnit << std::endl; + G4cout << "Dose dist. unit : " << kDoseUnit << G4endl; } // dose distribution scaling @@ -745,11 +752,11 @@ bool G4GMocrenIO::storeData4() { ofile.write((char *)ftmp, 4); } if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. [" << ndose + G4cout << "Dose dist. [" << ndose << "] image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // dose distribution image @@ -769,12 +776,12 @@ bool G4GMocrenIO::storeData4() { if(DEBUG || kVerbose > 0) { for(int j = 0; j < dsize; j++) { if(dimage[j] < 0) - std::cout << "[" << j << "," << z << "]" + G4cout << "[" << j << "," << z << "]" << dimage[j] << ", "; } } } - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; delete [] dimage; // relative location of the dose distribution image for @@ -789,11 +796,11 @@ bool G4GMocrenIO::storeData4() { ofile.write((char *)itmp, 12); } if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. [" << ndose + G4cout << "Dose dist. [" << ndose << "]image relative location : (" << iCenter[0] << ", " << iCenter[1] << ", " - << iCenter[2] << ")" << std::endl; + << iCenter[2] << ")" << G4endl; } // dose distribution name @@ -802,7 +809,7 @@ bool G4GMocrenIO::storeData4() { name.resize(80); ofile.write((char *)name.c_str(), 80); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. name : " << name << std::endl; + G4cout << "Dose dist. name : " << name << G4endl; } } @@ -820,11 +827,11 @@ bool G4GMocrenIO::storeData4() { ofile.write((char *)itmp, 12); } if(DEBUG || kVerbose > 0) { - std::cout << "ROI image size : (" + G4cout << "ROI image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // ROI max. & min. @@ -846,10 +853,10 @@ bool G4GMocrenIO::storeData4() { ofile.write((char *)ftmp, 4); } if(DEBUG || kVerbose > 0) { - std::cout << "ROI image min., max., scale : " + G4cout << "ROI image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // ROI image @@ -878,10 +885,10 @@ bool G4GMocrenIO::storeData4() { ofile.write((char *)itmp, 12); } if(DEBUG || kVerbose > 0) { - std::cout << "ROI image relative location : (" + G4cout << "ROI image relative location : (" << iCenter[0] << ", " << iCenter[1] << ", " - << iCenter[2] << ")" << std::endl; + << iCenter[2] << ")" << G4endl; } } @@ -897,8 +904,8 @@ bool G4GMocrenIO::storeData4() { ofile.write((char *)itmp, 4); } if(DEBUG || kVerbose > 0) { - std::cout << "# of tracks : " - << ntrk << std::endl; + G4cout << "# of tracks : " + << ntrk << G4endl; } for(int nt = 0; nt < ntrk; nt++) { @@ -912,7 +919,7 @@ bool G4GMocrenIO::storeData4() { ofile.write((char *)itmp, 4); } if(DEBUG || kVerbose > 0) { - std::cout << "# of steps : " << nsteps << std::endl; + G4cout << "# of steps : " << nsteps << G4endl; } // track color @@ -949,8 +956,8 @@ bool G4GMocrenIO::storeData4() { ofile.write((char *)itmp, 4); } if(DEBUG || kVerbose > 0) { - std::cout << "# of detectors : " - << ndet << std::endl; + G4cout << "# of detectors : " + << ndet << G4endl; } for(int nd = 0; nd < ndet; nd++) { @@ -964,7 +971,7 @@ bool G4GMocrenIO::storeData4() { ofile.write((char *)itmp, 4); } if(DEBUG || kVerbose > 0) { - std::cout << "# of edges in a detector : " << nedges << std::endl; + G4cout << "# of edges in a detector : " << nedges << G4endl; } // edges @@ -984,12 +991,12 @@ bool G4GMocrenIO::storeData4() { if(DEBUG || kVerbose > 0) { if(ne < 1) { - std::cout << " edge : (" << edgePoints[0] << ", " + G4cout << " edge : (" << edgePoints[0] << ", " << edgePoints[1] << ", " << edgePoints[2] << ") - (" << edgePoints[3] << ", " << edgePoints[4] << ", " - << edgePoints[5] << ")" << std::endl; + << edgePoints[5] << ")" << G4endl; } } } @@ -999,9 +1006,9 @@ bool G4GMocrenIO::storeData4() { kDetectors[nd].getColor(dcolor); ofile.write((char *)dcolor, 3); if(DEBUG || kVerbose > 0) { - std::cout << " rgb : (" << (int)dcolor[0] << ", " + G4cout << " rgb : (" << (int)dcolor[0] << ", " << (int)dcolor[1] << ", " - << (int)dcolor[2] << ")" << std::endl; + << (int)dcolor[2] << ")" << G4endl; } // detector name @@ -1009,7 +1016,7 @@ bool G4GMocrenIO::storeData4() { dname.resize(80); ofile.write((char *)dname.c_str(), 80); if(DEBUG || kVerbose > 0) { - std::cout << " detector name : " << dname << std::endl; + G4cout << " detector name : " << dname << G4endl; } } @@ -1020,14 +1027,14 @@ bool G4GMocrenIO::storeData4() { ofile.close(); if(DEBUG || kVerbose > 0) - std::cout << ">>>> closed gdd file: " << kFileName << std::endl; + G4cout << ">>>> closed gdd file: " << kFileName << G4endl; return true; } bool G4GMocrenIO::storeData3() { - if(kVerbose > 0) std::cout << ">>>>>>> store data (ver.3) <<<<<<<" << std::endl; - if(kVerbose > 0) std::cout << " " << kFileName << std::endl; + if(kVerbose > 0) G4cout << ">>>>>>> store data (ver.3) <<<<<<<" << G4endl; + if(kVerbose > 0) G4cout << " " << kFileName << G4endl; bool DEBUG = false;// @@ -1054,18 +1061,18 @@ bool G4GMocrenIO::storeData3() { std::strncpy(cmt, kComment.c_str(), 1024); ofile.write((char *)cmt, 1024); if(DEBUG || kVerbose > 0) { - std::cout << "Data comment : " - << kComment << std::endl; + G4cout << "Data comment : " + << kComment << G4endl; } // voxel spacings for all images ofile.write((char *)kVoxelSpacing, 12); if(DEBUG || kVerbose > 0) { - std::cout << "Voxel spacing : (" + G4cout << "Voxel spacing : (" << kVoxelSpacing[0] << ", " << kVoxelSpacing[1] << ", " << kVoxelSpacing[2] - << ") mm " << std::endl; + << ") mm " << G4endl; } calcPointers3(); @@ -1089,13 +1096,13 @@ bool G4GMocrenIO::storeData3() { // offset from file starting point to the track data ofile.write((char *)&kPointerToTrackData, 4); if(DEBUG || kVerbose > 0) { - std::cout << "Each pointer to data : " + G4cout << "Each pointer to data : " << kPointerToModalityData << ", "; for(int i = 0; i < nDoseDist; i++) { - std::cout << kPointerToDoseDistData[i] << ", "; + G4cout << kPointerToDoseDistData[i] << ", "; } - std::cout << kPointerToROIData << ", " - << kPointerToTrackData << std::endl; + G4cout << kPointerToROIData << ", " + << kPointerToTrackData << G4endl; } //----- modality image -----// @@ -1109,11 +1116,11 @@ bool G4GMocrenIO::storeData3() { kModality.getSize(size); ofile.write((char *)size, 3*sizeof(int)); if(DEBUG || kVerbose > 0) { - std::cout << "Modality image size : (" + G4cout << "Modality image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // modality image max. & min. @@ -1128,22 +1135,22 @@ bool G4GMocrenIO::storeData3() { scale = (float)kModality.getScale(); ofile.write((char *)&scale, 4); if(DEBUG || kVerbose > 0) { - std::cout << "Modality image min., max., scale : " + G4cout << "Modality image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // modality image int psize = size[0]*size[1]; - if(DEBUG || kVerbose > 0) std::cout << "Modality image : "; + if(DEBUG || kVerbose > 0) G4cout << "Modality image : "; for(int i = 0; i < size[2]; i++) { short * image = kModality.getImage(i); ofile.write((char *)image, psize*sizeof(short)); - if(DEBUG || kVerbose > 0) std::cout << "[" << i << "]" << image[(size_t)(psize*0.55)] << ", "; + if(DEBUG || kVerbose > 0) G4cout << "[" << i << "]" << image[(size_t)(psize*0.55)] << ", "; } - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; // modality desity map for CT value size_t msize = minmax[1] - minmax[0]+1; @@ -1151,10 +1158,10 @@ bool G4GMocrenIO::storeData3() { for(int i = 0; i < (int)msize; i++) pdmap[i] =kModalityImageDensityMap[i]; ofile.write((char *)pdmap, msize*sizeof(float)); if(DEBUG || kVerbose > 0) { - std::cout << "density map : " << std::ends; + G4cout << "density map : " << std::ends; for(int i = 0; i < (int)msize; i+=50) - std::cout < 0) { - std::cout << "Dose dist. [" << ndose << "] image size : (" + G4cout << "Dose dist. [" << ndose << "] image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // dose distribution max. & min. @@ -1184,7 +1191,7 @@ bool G4GMocrenIO::storeData3() { // dose distribution unit ofile.write((char *)kDoseUnit.c_str(), 12); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. unit : " << kDoseUnit << std::endl; + G4cout << "Dose dist. unit : " << kDoseUnit << G4endl; } // dose distribution scaling @@ -1193,11 +1200,11 @@ bool G4GMocrenIO::storeData3() { scale = float(dscale); ofile.write((char *)&scale, 4); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. [" << ndose + G4cout << "Dose dist. [" << ndose << "] image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // dose distribution image @@ -1210,12 +1217,12 @@ bool G4GMocrenIO::storeData3() { if(DEBUG || kVerbose > 0) { for(int j = 0; j < dsize; j++) { if(dimage[j] < 0) - std::cout << "[" << j << "," << z << "]" + G4cout << "[" << j << "," << z << "]" << dimage[j] << ", "; } } } - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; delete [] dimage; // relative location of the dose distribution image for @@ -1224,11 +1231,11 @@ bool G4GMocrenIO::storeData3() { for(int i = 0; i < 3; i++) iCenter[i] = (int)fCenter[i]; ofile.write((char *)iCenter, 3*4); // 3*sizeof(int) if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. [" << ndose + G4cout << "Dose dist. [" << ndose << "]image relative location : (" << iCenter[0] << ", " << iCenter[1] << ", " - << iCenter[2] << ")" << std::endl; + << iCenter[2] << ")" << G4endl; } } } @@ -1239,11 +1246,11 @@ bool G4GMocrenIO::storeData3() { kRoi[0].getSize(size); ofile.write((char *)size, 3*sizeof(int)); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image size : (" + G4cout << "ROI image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // ROI max. & min. @@ -1254,10 +1261,10 @@ bool G4GMocrenIO::storeData3() { scale = (float)kRoi[0].getScale(); ofile.write((char *)&scale, sizeof(float)); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image min., max., scale : " + G4cout << "ROI image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // ROI image @@ -1273,10 +1280,10 @@ bool G4GMocrenIO::storeData3() { for(int i = 0; i < 3; i++) iCenter[i] = (int)fCenter[i]; ofile.write((char *)iCenter, 3*sizeof(int)); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image relative location : (" + G4cout << "ROI image relative location : (" << iCenter[0] << ", " << iCenter[1] << ", " - << iCenter[2] << ")" << std::endl; + << iCenter[2] << ")" << G4endl; } } @@ -1285,8 +1292,8 @@ bool G4GMocrenIO::storeData3() { int ntrk = kSteps.size(); ofile.write((char *)&ntrk, sizeof(int)); if(DEBUG || kVerbose > 0) { - std::cout << "# of tracks : " - << ntrk << std::endl; + G4cout << "# of tracks : " + << ntrk << G4endl; } // track position for(int i = 0; i < ntrk; i++) { @@ -1296,8 +1303,9 @@ bool G4GMocrenIO::storeData3() { // track color int ntcolor = int(kStepColors.size()); if(ntrk != ntcolor) - std::cerr << "# of track color information must be the same as # of tracks." - << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "# of track color information must be the same as # of tracks." + << G4endl; unsigned char white[3] = {255,255,255}; // default color for(int i = 0; i < ntrk; i++) { if(i < ntcolor) { @@ -1324,8 +1332,8 @@ bool G4GMocrenIO::storeData4(char * _filename) { // version 2 bool G4GMocrenIO::storeData2() { - if(kVerbose > 0) std::cout << ">>>>>>> store data (ver.2) <<<<<<<" << std::endl; - if(kVerbose > 0) std::cout << " " << kFileName << std::endl; + if(kVerbose > 0) G4cout << ">>>>>>> store data (ver.2) <<<<<<<" << G4endl; + if(kVerbose > 0) G4cout << " " << kFileName << G4endl; bool DEBUG = false;// @@ -1360,11 +1368,11 @@ bool G4GMocrenIO::storeData2() { // voxel spacings for all images ofile.write((char *)kVoxelSpacing, 12); if(DEBUG || kVerbose > 0) { - std::cout << "Voxel spacing : (" + G4cout << "Voxel spacing : (" << kVoxelSpacing[0] << ", " << kVoxelSpacing[1] << ", " << kVoxelSpacing[2] - << ") mm " << std::endl; + << ") mm " << G4endl; } calcPointers2(); @@ -1380,11 +1388,11 @@ bool G4GMocrenIO::storeData2() { // offset from file starting point to the track data ofile.write((char *)&kPointerToTrackData, 4); if(DEBUG || kVerbose > 0) { - std::cout << "Each pointer to data : " + G4cout << "Each pointer to data : " << kPointerToModalityData << ", " << kPointerToDoseDistData[0] << ", " << kPointerToROIData << ", " - << kPointerToTrackData << std::endl; + << kPointerToTrackData << G4endl; } //----- modality image -----// @@ -1398,11 +1406,11 @@ bool G4GMocrenIO::storeData2() { kModality.getSize(size); ofile.write((char *)size, 3*sizeof(int)); if(DEBUG || kVerbose > 0) { - std::cout << "Modality image size : (" + G4cout << "Modality image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // modality image max. & min. @@ -1417,22 +1425,22 @@ bool G4GMocrenIO::storeData2() { scale = (float)kModality.getScale(); ofile.write((char *)&scale, 4); if(DEBUG || kVerbose > 0) { - std::cout << "Modality image min., max., scale : " + G4cout << "Modality image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // modality image int psize = size[0]*size[1]; - if(DEBUG || kVerbose > 0) std::cout << "Modality image : "; + if(DEBUG || kVerbose > 0) G4cout << "Modality image : "; for(int i = 0; i < size[2]; i++) { short * image =kModality.getImage(i); ofile.write((char *)image, psize*sizeof(short)); - if(DEBUG || kVerbose > 0) std::cout << "[" << i << "]" << image[(size_t)(psize*0.55)] << ", "; + if(DEBUG || kVerbose > 0) G4cout << "[" << i << "]" << image[(size_t)(psize*0.55)] << ", "; } - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; // modality desity map for CT value size_t msize = minmax[1] - minmax[0]+1; @@ -1440,10 +1448,10 @@ bool G4GMocrenIO::storeData2() { for(int i = 0; i < (int)msize; i++) pdmap[i] =kModalityImageDensityMap[i]; ofile.write((char *)pdmap, msize*sizeof(float)); if(DEBUG || kVerbose > 0) { - std::cout << "density map : " << std::ends; + G4cout << "density map : " << std::ends; for(int i = 0; i < (int)msize; i+=50) - std::cout < 0) { - std::cout << "Dose dist. image size : (" + G4cout << "Dose dist. image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // dose distribution max. & min. @@ -1472,10 +1480,10 @@ bool G4GMocrenIO::storeData2() { scale = (float)kDose[0].getScale(); ofile.write((char *)&scale, sizeof(float)); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. image min., max., scale : " + G4cout << "Dose dist. image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // dose distribution image @@ -1488,12 +1496,12 @@ bool G4GMocrenIO::storeData2() { if(DEBUG || kVerbose > 0) { for(int j = 0; j < dsize; j++) { if(dimage[j] < 0) - std::cout << "[" << j << "," << z << "]" + G4cout << "[" << j << "," << z << "]" << dimage[j] << ", "; } } } - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; delete [] dimage; // relative location of the dose distribution image for @@ -1502,10 +1510,10 @@ bool G4GMocrenIO::storeData2() { for(int i = 0; i < 3; i++) iCenter[i] = (int)fCenter[i]; ofile.write((char *)iCenter, 3*sizeof(int)); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. image relative location : (" + G4cout << "Dose dist. image relative location : (" << iCenter[0] << ", " << iCenter[1] << ", " - << iCenter[2] << ")" << std::endl; + << iCenter[2] << ")" << G4endl; } } @@ -1516,11 +1524,11 @@ bool G4GMocrenIO::storeData2() { kRoi[0].getSize(size); ofile.write((char *)size, 3*sizeof(int)); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image size : (" + G4cout << "ROI image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // ROI max. & min. @@ -1531,10 +1539,10 @@ bool G4GMocrenIO::storeData2() { scale = (float)kRoi[0].getScale(); ofile.write((char *)&scale, sizeof(float)); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image min., max., scale : " + G4cout << "ROI image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // ROI image @@ -1550,10 +1558,10 @@ bool G4GMocrenIO::storeData2() { for(int i = 0; i < 3; i++) iCenter[i] = (int)fCenter[i]; ofile.write((char *)iCenter, 3*sizeof(int)); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image relative location : (" + G4cout << "ROI image relative location : (" << iCenter[0] << ", " << iCenter[1] << ", " - << iCenter[2] << ")" << std::endl; + << iCenter[2] << ")" << G4endl; } } @@ -1563,8 +1571,8 @@ bool G4GMocrenIO::storeData2() { int ntrk = kSteps.size(); ofile.write((char *)&ntrk, sizeof(int)); if(DEBUG || kVerbose > 0) { - std::cout << "# of tracks : " - << ntrk << std::endl; + G4cout << "# of tracks : " + << ntrk << G4endl; } for(int i = 0; i < ntrk; i++) { float * tp = kSteps[i]; @@ -1590,8 +1598,9 @@ bool G4GMocrenIO::retrieveData() { // input file open std::ifstream ifile(kFileName.c_str(), std::ios_base::in|std::ios_base::binary); if(!ifile) { - std::cerr << "Cannot open file: " << kFileName - << " in G4GMocrenIO::retrieveData()." << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "Cannot open file: " << kFileName + << " in G4GMocrenIO::retrieveData()." << G4endl; return false; } @@ -1605,25 +1614,28 @@ bool G4GMocrenIO::retrieveData() { if(std::strncmp(verid, "gMocren", 7) == 0) { if(ver == 0x03) { - std::cout << ">>>>>>> retrieve data (ver.3) <<<<<<<" << std::endl; - std::cout << " " << kFileName << std::endl; + G4cout << ">>>>>>> retrieve data (ver.3) <<<<<<<" << G4endl; + G4cout << " " << kFileName << G4endl; retrieveData3(); } else if (ver == 0x04) { - std::cout << ">>>>>>> retrieve data (ver.4) <<<<<<<" << std::endl; - std::cout << " " << kFileName << std::endl; + G4cout << ">>>>>>> retrieve data (ver.4) <<<<<<<" << G4endl; + G4cout << " " << kFileName << G4endl; retrieveData4(); } else { - std::cerr << "Error -- invalid file version : " << (int)ver - << std::endl; - std::cerr << " " << kFileName << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "Error -- invalid file version : " << (int)ver + << G4endl; + G4cout << " " << kFileName << G4endl; + } std::exit(-1); } } else if(std::strncmp(verid, "GRAPE", 5) == 0) { - std::cout << ">>>>>>> retrieve data (ver.2) <<<<<<<" << std::endl; - std::cout << " " << kFileName << std::endl; + G4cout << ">>>>>>> retrieve data (ver.2) <<<<<<<" << G4endl; + G4cout << " " << kFileName << G4endl; retrieveData2(); } else { - std::cerr << kFileName << " was not gdd file." << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << kFileName << " was not gdd file." << G4endl; return false; } @@ -1643,8 +1655,9 @@ bool G4GMocrenIO::retrieveData4() { // input file open std::ifstream ifile(kFileName.c_str(), std::ios_base::in|std::ios_base::binary); if(!ifile) { - std::cerr << "Cannot open file: " << kFileName - << " in G4GMocrenIO::retrieveData3()." << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "Cannot open file: " << kFileName + << " in G4GMocrenIO::retrieveData3()." << G4endl; return false; } @@ -1661,16 +1674,16 @@ bool G4GMocrenIO::retrieveData4() { std::stringstream ss; ss << (int)ver; kVersion = ss.str(); - if(DEBUG || kVerbose > 0) std::cout << "File version : " << kVersion << std::endl; + if(DEBUG || kVerbose > 0) G4cout << "File version : " << kVersion << G4endl; // endian ifile.read((char *)&kLittleEndianInput, sizeof(char)); if(DEBUG || kVerbose > 0) { - std::cout << "Endian : "; + G4cout << "Endian : "; if(kLittleEndianInput == 1) - std::cout << " little" << std::endl; + G4cout << " little" << G4endl; else { - std::cout << " big" << std::endl; + G4cout << " big" << G4endl; } } @@ -1685,8 +1698,8 @@ bool G4GMocrenIO::retrieveData4() { scmt += '\0'; setComment(scmt); if(DEBUG || kVerbose > 0) { - std::cout << "Data comment : " - << kComment << std::endl; + G4cout << "Data comment : " + << kComment << G4endl; } // voxel spacings for all images @@ -1695,11 +1708,11 @@ bool G4GMocrenIO::retrieveData4() { convertEndian(ctmp+4, kVoxelSpacing[1]); convertEndian(ctmp+8, kVoxelSpacing[2]); if(DEBUG || kVerbose > 0) { - std::cout << "Voxel spacing : (" + G4cout << "Voxel spacing : (" << kVoxelSpacing[0] << ", " << kVoxelSpacing[1] << ", " << kVoxelSpacing[2] - << ") mm " << std::endl; + << ") mm " << G4endl; } @@ -1733,14 +1746,14 @@ bool G4GMocrenIO::retrieveData4() { convertEndian(ctmp, kPointerToDetectorData); if(DEBUG || kVerbose > 0) { - std::cout << "Each pointer to data : " + G4cout << "Each pointer to data : " << kPointerToModalityData << ", "; for(int i = 0; i < nDoseDist; i++) - std::cout << kPointerToDoseDistData[i] << ", "; - std::cout << kPointerToROIData << ", " + G4cout << kPointerToDoseDistData[i] << ", "; + G4cout << kPointerToROIData << ", " << kPointerToTrackData << ", " << kPointerToDetectorData - << std::endl; + << G4endl; } @@ -1748,7 +1761,7 @@ bool G4GMocrenIO::retrieveData4() { if(kPointerToModalityData == 0 && kPointerToDoseDistData.size() == 0 && kPointerToROIData == 0 && kPointerToTrackData == 0) { if(DEBUG || kVerbose > 0) { - std::cout << "No data." << std::endl; + G4cout << "No data." << G4endl; } return false; } @@ -1773,11 +1786,11 @@ bool G4GMocrenIO::retrieveData4() { convertEndian(ctmp+sizeof(int), size[1]); convertEndian(ctmp+2*sizeof(int), size[2]); if(DEBUG || kVerbose > 0) { - std::cout << "Modality image size : (" + G4cout << "Modality image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } kModality.setSize(size); @@ -1809,15 +1822,15 @@ bool G4GMocrenIO::retrieveData4() { convertEndian(ctmp, scale); kModality.setScale(dscale = scale); if(DEBUG || kVerbose > 0) { - std::cout << "Modality image min., max., scale : " + G4cout << "Modality image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // modality density int psize = size[0]*size[1]; - if(DEBUG || kVerbose > 0) std::cout << "Modality image (" << psize << "): "; + if(DEBUG || kVerbose > 0) G4cout << "Modality image (" << psize << "): "; char * cimage = new char[psize*sizeof(short)]; for(int i = 0; i < size[2]; i++) { ifile.read((char *)cimage, psize*sizeof(short)); @@ -1827,14 +1840,14 @@ bool G4GMocrenIO::retrieveData4() { } kModality.addImage(mimage); - if(DEBUG || kVerbose > 0) std::cout << "[" << i << "]" << mimage[(size_t)(psize*0.55)] << ", "; + if(DEBUG || kVerbose > 0) G4cout << "[" << i << "]" << mimage[(size_t)(psize*0.55)] << ", "; } - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; delete [] cimage; // modality desity map for CT value size_t msize = minmax[1]-minmax[0]+1; - if(DEBUG || kVerbose > 0) std::cout << "msize: " << msize << std::endl; + if(DEBUG || kVerbose > 0) G4cout << "msize: " << msize << G4endl; char * pdmap = new char[msize*sizeof(float)]; ifile.read((char *)pdmap, msize*sizeof(float)); float ftmp; @@ -1843,15 +1856,15 @@ bool G4GMocrenIO::retrieveData4() { kModalityImageDensityMap.push_back(ftmp); } if(DEBUG || kVerbose > 0) { - std::cout << "density map : " << std::ends; + G4cout << "density map : " << std::ends; for(int i = 0; i < 10; i++) - std::cout < 0) { - std::cout << "Dose dist. image size : (" + G4cout << "Dose dist. image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } kDose[ndose].setSize(size); @@ -1888,7 +1901,7 @@ bool G4GMocrenIO::retrieveData4() { std::string sdunit = dunit; setDoseDistUnit(sdunit, ndose); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. unit : " << kDoseUnit << std::endl; + G4cout << "Dose dist. unit : " << kDoseUnit << G4endl; } // dose distribution scaling @@ -1901,15 +1914,15 @@ bool G4GMocrenIO::retrieveData4() { kDose[ndose].setMinMax(dminmax); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. image min., max., scale : " + G4cout << "Dose dist. image min., max., scale : " << dminmax[0] << ", " << dminmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // dose distribution image int dsize = size[0]*size[1]; - if(DEBUG || kVerbose > 0) std::cout << "Dose dist. (" << dsize << "): "; + if(DEBUG || kVerbose > 0) G4cout << "Dose dist. (" << dsize << "): "; char * di = new char[dsize*sizeof(short)]; short * shimage = new short[dsize]; for(int z = 0; z < size[2]; z++) { @@ -1921,19 +1934,19 @@ bool G4GMocrenIO::retrieveData4() { } kDose[ndose].addImage(dimage); - if(DEBUG || kVerbose > 0) std::cout << "[" << z << "]" << dimage[(size_t)(dsize*0.55)] << ", "; + if(DEBUG || kVerbose > 0) G4cout << "[" << z << "]" << dimage[(size_t)(dsize*0.55)] << ", "; if(DEBUG || kVerbose > 0) { for(int j = 0; j < dsize; j++) { if(dimage[j] < 0) - std::cout << "[" << j << "," << z << "]" + G4cout << "[" << j << "," << z << "]" << dimage[j] << ", "; } } } delete [] shimage; delete [] di; - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; ifile.read((char *)ctmp, 3*4); // 3*sizeof(int) convertEndian(ctmp, iCenter[0]); @@ -1943,10 +1956,10 @@ bool G4GMocrenIO::retrieveData4() { kDose[ndose].setCenterPosition(fCenter); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. image relative location : (" + G4cout << "Dose dist. image relative location : (" << fCenter[0] << ", " << fCenter[1] << ", " - << fCenter[2] << ")" << std::endl; + << fCenter[2] << ")" << G4endl; } @@ -1956,7 +1969,7 @@ bool G4GMocrenIO::retrieveData4() { std::string dosename = cname; setDoseDistName(dosename, ndose); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. name : " << dosename << std::endl; + G4cout << "Dose dist. name : " << dosename << G4endl; } } @@ -1973,11 +1986,11 @@ bool G4GMocrenIO::retrieveData4() { convertEndian(ctmp+2*sizeof(int), size[2]); kRoi[0].setSize(size); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image size : (" + G4cout << "ROI image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // ROI max. & min. @@ -1991,10 +2004,10 @@ bool G4GMocrenIO::retrieveData4() { convertEndian(ctmp, scale); kRoi[0].setScale(dscale = scale); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image min., max., scale : " + G4cout << "ROI image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // ROI image @@ -2019,10 +2032,10 @@ bool G4GMocrenIO::retrieveData4() { for(int i = 0; i < 3; i++) fCenter[i] = iCenter[i]; kRoi[0].setCenterPosition(fCenter); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image relative location : (" + G4cout << "ROI image relative location : (" << fCenter[0] << ", " << fCenter[1] << ", " - << fCenter[2] << ")" << std::endl; + << fCenter[2] << ")" << G4endl; } } @@ -2035,7 +2048,7 @@ bool G4GMocrenIO::retrieveData4() { int ntrk; convertEndian(ctmp, ntrk); if(DEBUG || kVerbose > 0) { - std::cout << "# of tracks: " << ntrk << std::endl; + G4cout << "# of tracks: " << ntrk << G4endl; } // track position @@ -2070,14 +2083,14 @@ bool G4GMocrenIO::retrieveData4() { if(DEBUG || kVerbose > 0) { if(i < 5) { - std::cout << i << ": " ; - for(int j = 0; j < 3; j++) std::cout << steps[0][j] << " "; + G4cout << i << ": " ; + for(int j = 0; j < 3; j++) G4cout << steps[0][j] << " "; int nstp = steps.size(); - std::cout << "<-> "; - for(int j = 3; j < 6; j++) std::cout << steps[nstp-1][j] << " "; - std::cout << " rgb( "; - for(int j = 0; j < 3; j++) std::cout << (int)rgb[j] << " "; - std::cout << ")" << std::endl; + G4cout << "<-> "; + for(int j = 3; j < 6; j++) G4cout << steps[nstp-1][j] << " "; + G4cout << " rgb( "; + for(int j = 0; j < 3; j++) G4cout << (int)rgb[j] << " "; + G4cout << ")" << G4endl; } } } @@ -2095,8 +2108,8 @@ bool G4GMocrenIO::retrieveData4() { convertEndian(ctmp, ndet); if(DEBUG || kVerbose > 0) { - std::cout << "# of detectors : " - << ndet << std::endl; + G4cout << "# of detectors : " + << ndet << G4endl; } for(int nd = 0; nd < ndet; nd++) { @@ -2106,7 +2119,7 @@ bool G4GMocrenIO::retrieveData4() { int nedges; convertEndian(ctmp, nedges); if(DEBUG || kVerbose > 0) { - std::cout << "# of edges in a detector : " << nedges << std::endl; + G4cout << "# of edges in a detector : " << nedges << G4endl; } // edges @@ -2122,22 +2135,22 @@ bool G4GMocrenIO::retrieveData4() { } if(DEBUG || kVerbose > 0) { - std::cout << " first edge : (" << detector[0][0] << ", " + G4cout << " first edge : (" << detector[0][0] << ", " << detector[0][1] << ", " << detector[0][2] << ") - (" << detector[0][3] << ", " << detector[0][4] << ", " - << detector[0][5] << ")" << std::endl; + << detector[0][5] << ")" << G4endl; } // detector color unsigned char dcolor[3]; ifile.read((char *)dcolor, 3); if(DEBUG || kVerbose > 0) { - std::cout << " detector color : rgb(" + G4cout << " detector color : rgb(" << (int)dcolor[0] << ", " << (int)dcolor[1] << ", " - << (int)dcolor[2] << std::endl; + << (int)dcolor[2] << G4endl; } @@ -2146,7 +2159,7 @@ bool G4GMocrenIO::retrieveData4() { ifile.read((char *)cname, 80); std::string dname = cname; if(DEBUG || kVerbose > 0) { - std::cout << " detector name : " << dname << std::endl; + G4cout << " detector name : " << dname << G4endl; } @@ -2173,8 +2186,9 @@ bool G4GMocrenIO::retrieveData3() { // input file open std::ifstream ifile(kFileName.c_str(), std::ios_base::in|std::ios_base::binary); if(!ifile) { - std::cerr << "Cannot open file: " << kFileName - << " in G4GMocrenIO::retrieveData3()." << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "Cannot open file: " << kFileName + << " in G4GMocrenIO::retrieveData3()." << G4endl; return false; } @@ -2191,16 +2205,16 @@ bool G4GMocrenIO::retrieveData3() { std::stringstream ss; ss << (int)ver; kVersion = ss.str(); - if(DEBUG || kVerbose > 0) std::cout << "File version : " << kVersion << std::endl; + if(DEBUG || kVerbose > 0) G4cout << "File version : " << kVersion << G4endl; // endian ifile.read((char *)&kLittleEndianInput, sizeof(char)); if(DEBUG || kVerbose > 0) { - std::cout << "Endian : "; + G4cout << "Endian : "; if(kLittleEndianInput == 1) - std::cout << " little" << std::endl; + G4cout << " little" << G4endl; else { - std::cout << " big" << std::endl; + G4cout << " big" << G4endl; } } @@ -2214,8 +2228,8 @@ bool G4GMocrenIO::retrieveData3() { std::string scmt = cmt; setComment(scmt); if(DEBUG || kVerbose > 0) { - std::cout << "Data comment : " - << kComment << std::endl; + G4cout << "Data comment : " + << kComment << G4endl; } // voxel spacings for all images @@ -2224,11 +2238,11 @@ bool G4GMocrenIO::retrieveData3() { convertEndian(ctmp+4, kVoxelSpacing[1]); convertEndian(ctmp+8, kVoxelSpacing[2]); if(DEBUG || kVerbose > 0) { - std::cout << "Voxel spacing : (" + G4cout << "Voxel spacing : (" << kVoxelSpacing[0] << ", " << kVoxelSpacing[1] << ", " << kVoxelSpacing[2] - << ") mm " << std::endl; + << ") mm " << G4endl; } @@ -2257,18 +2271,18 @@ bool G4GMocrenIO::retrieveData3() { ifile.read((char *)ctmp, 4); convertEndian(ctmp, kPointerToTrackData); if(DEBUG || kVerbose > 0) { - std::cout << "Each pointer to data : " + G4cout << "Each pointer to data : " << kPointerToModalityData << ", "; for(int i = 0; i < nDoseDist; i++) - std::cout << kPointerToDoseDistData[0] << ", "; - std::cout << kPointerToROIData << ", " - << kPointerToTrackData << std::endl; + G4cout << kPointerToDoseDistData[0] << ", "; + G4cout << kPointerToROIData << ", " + << kPointerToTrackData << G4endl; } if(kPointerToModalityData == 0 && kPointerToDoseDistData.size() == 0 && kPointerToROIData == 0 && kPointerToTrackData == 0) { if(DEBUG || kVerbose > 0) { - std::cout << "No data." << std::endl; + G4cout << "No data." << G4endl; } return false; } @@ -2293,11 +2307,11 @@ bool G4GMocrenIO::retrieveData3() { convertEndian(ctmp+sizeof(int), size[1]); convertEndian(ctmp+2*sizeof(int), size[2]); if(DEBUG || kVerbose > 0) { - std::cout << "Modality image size : (" + G4cout << "Modality image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } kModality.setSize(size); @@ -2328,15 +2342,15 @@ bool G4GMocrenIO::retrieveData3() { convertEndian(ctmp, scale); kModality.setScale(dscale = scale); if(DEBUG || kVerbose > 0) { - std::cout << "Modality image min., max., scale : " + G4cout << "Modality image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // modality density int psize = size[0]*size[1]; - if(DEBUG || kVerbose > 0) std::cout << "Modality image (" << psize << "): "; + if(DEBUG || kVerbose > 0) G4cout << "Modality image (" << psize << "): "; char * cimage = new char[psize*sizeof(short)]; for(int i = 0; i < size[2]; i++) { ifile.read((char *)cimage, psize*sizeof(short)); @@ -2346,14 +2360,14 @@ bool G4GMocrenIO::retrieveData3() { } kModality.addImage(mimage); - if(DEBUG || kVerbose > 0) std::cout << "[" << i << "]" << mimage[(size_t)(psize*0.55)] << ", "; + if(DEBUG || kVerbose > 0) G4cout << "[" << i << "]" << mimage[(size_t)(psize*0.55)] << ", "; } - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; delete [] cimage; // modality desity map for CT value size_t msize = minmax[1]-minmax[0]+1; - if(DEBUG || kVerbose > 0) std::cout << "msize: " << msize << std::endl; + if(DEBUG || kVerbose > 0) G4cout << "msize: " << msize << G4endl; char * pdmap = new char[msize*sizeof(float)]; ifile.read((char *)pdmap, msize*sizeof(float)); float ftmp; @@ -2362,15 +2376,15 @@ bool G4GMocrenIO::retrieveData3() { kModalityImageDensityMap.push_back(ftmp); } if(DEBUG || kVerbose > 0) { - std::cout << "density map : " << std::ends; + G4cout << "density map : " << std::ends; for(int i = 0; i < 10; i++) - std::cout < 0) { - std::cout << "Dose dist. image size : (" + G4cout << "Dose dist. image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } kDose[ndose].setSize(size); @@ -2406,7 +2420,7 @@ bool G4GMocrenIO::retrieveData3() { std::string sdunit = dunit; setDoseDistUnit(sdunit, ndose); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. unit : " << kDoseUnit << std::endl; + G4cout << "Dose dist. unit : " << kDoseUnit << G4endl; } // dose distribution scaling @@ -2419,15 +2433,15 @@ bool G4GMocrenIO::retrieveData3() { kDose[ndose].setMinMax(dminmax); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. image min., max., scale : " + G4cout << "Dose dist. image min., max., scale : " << dminmax[0] << ", " << dminmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // dose distribution image int dsize = size[0]*size[1]; - if(DEBUG || kVerbose > 0) std::cout << "Dose dist. (" << dsize << "): "; + if(DEBUG || kVerbose > 0) G4cout << "Dose dist. (" << dsize << "): "; char * di = new char[dsize*sizeof(short)]; short * shimage = new short[dsize]; for(int z = 0; z < size[2]; z++) { @@ -2439,19 +2453,19 @@ bool G4GMocrenIO::retrieveData3() { } kDose[ndose].addImage(dimage); - if(DEBUG || kVerbose > 0) std::cout << "[" << z << "]" << dimage[(size_t)(dsize*0.55)] << ", "; + if(DEBUG || kVerbose > 0) G4cout << "[" << z << "]" << dimage[(size_t)(dsize*0.55)] << ", "; if(DEBUG || kVerbose > 0) { for(int j = 0; j < dsize; j++) { if(dimage[j] < 0) - std::cout << "[" << j << "," << z << "]" + G4cout << "[" << j << "," << z << "]" << dimage[j] << ", "; } } } delete [] shimage; delete [] di; - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; ifile.read((char *)ctmp, 3*4); // 3*sizeof(int) convertEndian(ctmp, iCenter[0]); @@ -2461,10 +2475,10 @@ bool G4GMocrenIO::retrieveData3() { kDose[ndose].setCenterPosition(fCenter); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. image relative location : (" + G4cout << "Dose dist. image relative location : (" << fCenter[0] << ", " << fCenter[1] << ", " - << fCenter[2] << ")" << std::endl; + << fCenter[2] << ")" << G4endl; } @@ -2482,11 +2496,11 @@ bool G4GMocrenIO::retrieveData3() { convertEndian(ctmp+2*sizeof(int), size[2]); kRoi[0].setSize(size); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image size : (" + G4cout << "ROI image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // ROI max. & min. @@ -2500,10 +2514,10 @@ bool G4GMocrenIO::retrieveData3() { convertEndian(ctmp, scale); kRoi[0].setScale(dscale = scale); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image min., max., scale : " + G4cout << "ROI image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // ROI image @@ -2528,10 +2542,10 @@ bool G4GMocrenIO::retrieveData3() { for(int i = 0; i < 3; i++) fCenter[i] = iCenter[i]; kRoi[0].setCenterPosition(fCenter); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image relative location : (" + G4cout << "ROI image relative location : (" << fCenter[0] << ", " << fCenter[1] << ", " - << fCenter[2] << ")" << std::endl; + << fCenter[2] << ")" << G4endl; } } @@ -2544,7 +2558,7 @@ bool G4GMocrenIO::retrieveData3() { int ntrk; convertEndian(ctmp, ntrk); if(DEBUG || kVerbose > 0) { - std::cout << "# of tracks: " << ntrk << std::endl; + G4cout << "# of tracks: " << ntrk << G4endl; } // v4 @@ -2555,19 +2569,19 @@ bool G4GMocrenIO::retrieveData3() { float * tp = new float[6]; ifile.read((char *)ctmp, sizeof(float)*3); - if(DEBUG || kVerbose > 0) if(i < 10) std::cout << i << ": " ; + if(DEBUG || kVerbose > 0) if(i < 10) G4cout << i << ": " ; for(int j = 0; j < 3; j++) { convertEndian(ctmp+j*sizeof(float), tp[j]); - if(DEBUG || kVerbose > 0) if(i < 10) std::cout << tp[j] << ", "; + if(DEBUG || kVerbose > 0) if(i < 10) G4cout << tp[j] << ", "; } ifile.read((char *)ctmp, sizeof(float)*3); for(int j = 0; j < 3; j++) { convertEndian(ctmp+j*sizeof(float), tp[j+3]); - if(DEBUG || kVerbose > 0) if(i < 10) std::cout << tp[j+3] << ", "; + if(DEBUG || kVerbose > 0) if(i < 10) G4cout << tp[j+3] << ", "; } addTrack(tp); - if(DEBUG || kVerbose > 0) if(i < 10) std::cout << std::endl; + if(DEBUG || kVerbose > 0) if(i < 10) G4cout << G4endl; // v4 trkv4.push_back(tp); @@ -2609,8 +2623,9 @@ bool G4GMocrenIO::retrieveData2() { // input file open std::ifstream ifile(kFileName.c_str(), std::ios_base::in|std::ios_base::binary); if(!ifile) { - std::cerr << "Cannot open file: " << kFileName - << " in G4GMocrenIO::retrieveData2()." << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "Cannot open file: " << kFileName + << " in G4GMocrenIO::retrieveData2()." << G4endl; return false; } @@ -2627,7 +2642,7 @@ bool G4GMocrenIO::retrieveData2() { std::stringstream ss; ss << (int)ver; kVersion = ss.str(); - if(DEBUG || kVerbose > 0) std::cout << "File version : " << kVersion << std::endl; + if(DEBUG || kVerbose > 0) G4cout << "File version : " << kVersion << G4endl; // id of version 1 char idtmp[IDLENGTH]; @@ -2640,11 +2655,11 @@ bool G4GMocrenIO::retrieveData2() { // endian ifile.read((char *)&kLittleEndianInput, sizeof(char)); if(DEBUG || kVerbose > 0) { - std::cout << "Endian : "; + G4cout << "Endian : "; if(kLittleEndianInput == 1) - std::cout << " little" << std::endl; + G4cout << " little" << G4endl; else { - std::cout << " big" << std::endl; + G4cout << " big" << G4endl; } } @@ -2654,11 +2669,11 @@ bool G4GMocrenIO::retrieveData2() { convertEndian(ctmp+4, kVoxelSpacing[1]); convertEndian(ctmp+8, kVoxelSpacing[2]); if(DEBUG || kVerbose > 0) { - std::cout << "Voxel spacing : (" + G4cout << "Voxel spacing : (" << kVoxelSpacing[0] << ", " << kVoxelSpacing[1] << ", " << kVoxelSpacing[2] - << ") mm " << std::endl; + << ") mm " << G4endl; } @@ -2680,17 +2695,17 @@ bool G4GMocrenIO::retrieveData2() { ifile.read((char *)ctmp, 4); convertEndian(ctmp, kPointerToTrackData); if(DEBUG || kVerbose > 0) { - std::cout << "Each pointer to data : " + G4cout << "Each pointer to data : " << kPointerToModalityData << ", " << kPointerToDoseDistData[0] << ", " << kPointerToROIData << ", " - << kPointerToTrackData << std::endl; + << kPointerToTrackData << G4endl; } if(kPointerToModalityData == 0 && kPointerToDoseDistData.size() == 0 && kPointerToROIData == 0 && kPointerToTrackData == 0) { if(DEBUG || kVerbose > 0) { - std::cout << "No data." << std::endl; + G4cout << "No data." << G4endl; } return false; } @@ -2715,11 +2730,11 @@ bool G4GMocrenIO::retrieveData2() { convertEndian(ctmp+sizeof(int), size[1]); convertEndian(ctmp+2*sizeof(int), size[2]); if(DEBUG || kVerbose > 0) { - std::cout << "Modality image size : (" + G4cout << "Modality image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } kModality.setSize(size); @@ -2744,15 +2759,15 @@ bool G4GMocrenIO::retrieveData2() { convertEndian(ctmp, scale); kModality.setScale(dscale = scale); if(DEBUG || kVerbose > 0) { - std::cout << "Modality image min., max., scale : " + G4cout << "Modality image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // modality density int psize = size[0]*size[1]; - if(DEBUG || kVerbose > 0) std::cout << "Modality image (" << psize << "): "; + if(DEBUG || kVerbose > 0) G4cout << "Modality image (" << psize << "): "; char * cimage = new char[psize*sizeof(short)]; for(int i = 0; i < size[2]; i++) { ifile.read((char *)cimage, psize*sizeof(short)); @@ -2762,14 +2777,14 @@ bool G4GMocrenIO::retrieveData2() { } kModality.addImage(mimage); - if(DEBUG || kVerbose > 0) std::cout << "[" << i << "]" << mimage[(size_t)(psize*0.55)] << ", "; + if(DEBUG || kVerbose > 0) G4cout << "[" << i << "]" << mimage[(size_t)(psize*0.55)] << ", "; } - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; delete [] cimage; // modality desity map for CT value size_t msize = minmax[1]-minmax[0]+1; - if(DEBUG || kVerbose > 0) std::cout << "msize: " << msize << std::endl; + if(DEBUG || kVerbose > 0) G4cout << "msize: " << msize << G4endl; char * pdmap = new char[msize*sizeof(float)]; ifile.read((char *)pdmap, msize*sizeof(float)); float ftmp; @@ -2778,15 +2793,15 @@ bool G4GMocrenIO::retrieveData2() { kModalityImageDensityMap.push_back(ftmp); } if(DEBUG || kVerbose > 0) { - std::cout << "density map : " << std::ends; + G4cout << "density map : " << std::ends; for(int i = 0; i < 10; i++) - std::cout < 0) { - std::cout << "Dose dist. image size : (" + G4cout << "Dose dist. image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } kDose[0].setSize(size); @@ -2825,15 +2840,15 @@ bool G4GMocrenIO::retrieveData2() { kDose[0].setMinMax(dminmax); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. image min., max., scale : " + G4cout << "Dose dist. image min., max., scale : " << dminmax[0] << ", " << dminmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // dose distribution image int dsize = size[0]*size[1]; - if(DEBUG || kVerbose > 0) std::cout << "Dose dist. (" << dsize << "): "; + if(DEBUG || kVerbose > 0) G4cout << "Dose dist. (" << dsize << "): "; char * di = new char[dsize*sizeof(short)]; short * shimage = new short[dsize]; for(int z = 0; z < size[2]; z++) { @@ -2845,19 +2860,19 @@ bool G4GMocrenIO::retrieveData2() { } kDose[0].addImage(dimage); - if(DEBUG || kVerbose > 0) std::cout << "[" << z << "]" << dimage[(size_t)(dsize*0.55)] << ", "; + if(DEBUG || kVerbose > 0) G4cout << "[" << z << "]" << dimage[(size_t)(dsize*0.55)] << ", "; if(DEBUG || kVerbose > 0) { for(int j = 0; j < dsize; j++) { if(dimage[j] < 0) - std::cout << "[" << j << "," << z << "]" + G4cout << "[" << j << "," << z << "]" << dimage[j] << ", "; } } } delete [] shimage; delete [] di; - if(DEBUG || kVerbose > 0) std::cout << std::endl; + if(DEBUG || kVerbose > 0) G4cout << G4endl; /* ver 1 float doseDist; @@ -2901,10 +2916,10 @@ bool G4GMocrenIO::retrieveData2() { kDose[0].setCenterPosition(fCenter); if(DEBUG || kVerbose > 0) { - std::cout << "Dose dist. image relative location : (" + G4cout << "Dose dist. image relative location : (" << fCenter[0] << ", " << fCenter[1] << ", " - << fCenter[2] << ")" << std::endl; + << fCenter[2] << ")" << G4endl; } @@ -2922,11 +2937,11 @@ bool G4GMocrenIO::retrieveData2() { convertEndian(ctmp+2*sizeof(int), size[2]); kRoi[0].setSize(size); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image size : (" + G4cout << "ROI image size : (" << size[0] << ", " << size[1] << ", " << size[2] << ")" - << std::endl; + << G4endl; } // ROI max. & min. @@ -2940,10 +2955,10 @@ bool G4GMocrenIO::retrieveData2() { convertEndian(ctmp, scale); kRoi[0].setScale(dscale = scale); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image min., max., scale : " + G4cout << "ROI image min., max., scale : " << minmax[0] << ", " << minmax[1] << ", " - << scale << std::endl; + << scale << G4endl; } // ROI image @@ -2968,10 +2983,10 @@ bool G4GMocrenIO::retrieveData2() { for(int i = 0; i < 3; i++) fCenter[i] = iCenter[i]; kRoi[0].setCenterPosition(fCenter); if(DEBUG || kVerbose > 0) { - std::cout << "ROI image relative location : (" + G4cout << "ROI image relative location : (" << fCenter[0] << ", " << fCenter[1] << ", " - << fCenter[2] << ")" << std::endl; + << fCenter[2] << ")" << G4endl; } } @@ -2984,7 +2999,7 @@ bool G4GMocrenIO::retrieveData2() { int ntrk; convertEndian(ctmp, ntrk); if(DEBUG || kVerbose > 0) { - std::cout << "# of tracks: " << ntrk << std::endl; + G4cout << "# of tracks: " << ntrk << G4endl; } //v4 @@ -2996,16 +3011,16 @@ bool G4GMocrenIO::retrieveData2() { std::vector trkv4; ifile.read((char *)ctmp, sizeof(float)*3); - if(DEBUG || kVerbose > 0) if(i < 10) std::cout << i << ": " ; + if(DEBUG || kVerbose > 0) if(i < 10) G4cout << i << ": " ; for(int j = 0; j < 3; j++) { convertEndian(ctmp+j*sizeof(float), tp[j]); - if(DEBUG || kVerbose > 0) if(i < 10) std::cout << tp[j] << ", "; + if(DEBUG || kVerbose > 0) if(i < 10) G4cout << tp[j] << ", "; } ifile.read((char *)ctmp, sizeof(float)*3); for(int j = 0; j < 3; j++) { convertEndian(ctmp+j*sizeof(float), tp[j+3]); - if(DEBUG || kVerbose > 0) if(i < 10) std::cout << tp[j+3] << ", "; + if(DEBUG || kVerbose > 0) if(i < 10) G4cout << tp[j+3] << ", "; } kSteps.push_back(tp); @@ -3013,7 +3028,7 @@ bool G4GMocrenIO::retrieveData2() { trkv4.push_back(tp); addTrack(trkv4, trkcolorv4); - if(DEBUG || kVerbose > 0) if(i < 10) std::cout << std::endl; + if(DEBUG || kVerbose > 0) if(i < 10) G4cout << G4endl; } } @@ -3216,8 +3231,8 @@ void G4GMocrenIO::calcPointers4() { unsigned int pointer0 = 0; setPointerToTrackData(pointer0); } - if(kVerbose > 0) std::cout << " pointer to the track data :" - << kPointerToTrackData << std::endl; + if(kVerbose > 0) G4cout << " pointer to the track data :" + << kPointerToTrackData << G4endl; // pointer to detector data int ndet = kDetectors.size(); @@ -3226,8 +3241,8 @@ void G4GMocrenIO::calcPointers4() { } else { kPointerToDetectorData = 0; } - if(kVerbose > 0) std::cout << " pointer to the detector data :" - << kPointerToDetectorData << std::endl; + if(kVerbose > 0) G4cout << " pointer to the detector data :" + << kPointerToDetectorData << G4endl; } @@ -3367,6 +3382,10 @@ short * G4GMocrenIO::getModalityImage(int _z) { return kModality.getImage(_z); } +void G4GMocrenIO::clearModalityImage() { + + kModality.clearImage(); +} // set/get the modality image density map void G4GMocrenIO::setModalityImageDensityMap(std::vector & _map) { kModalityImageDensityMap = _map; @@ -3426,7 +3445,7 @@ short G4GMocrenIO::convertDensityToHU(float & _dens) { kModality.getMinMax(minmax); rval = minmax[1]; for(int i = 0; i < nmap; i++) { - //std::cout << kModalityImageDensityMap[i] << std::endl; + //G4cout << kModalityImageDensityMap[i] << G4endl; if(_dens <= kModalityImageDensityMap[i]) { rval = i + minmax[0]; break; @@ -3553,10 +3572,11 @@ void G4GMocrenIO::setShortDoseDist(short * _image, int _num) { void G4GMocrenIO::getShortDoseDist(short * _data, int _z, int _num) { if(_data == NULL) { - std::cerr << "In G4GMocrenIO::getShortDoseDist(), " - << "first argument is NULL pointer. " - << "The argument must be allocated array." - << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "In G4GMocrenIO::getShortDoseDist(), " + << "first argument is NULL pointer. " + << "The argument must be allocated array." + << G4endl; std::exit(-1); } @@ -3594,13 +3614,13 @@ double * G4GMocrenIO::getDoseDist(int _z, int _num) { /* void G4GMocrenIO::getDoseDist(double * & _image, int _z, int _num) { - std::cout << " <" << (void*)_image << "> "; + G4cout << " <" << (void*)_image << "> "; if(isDoseEmpty()) { _image = 0; } else { _image = kDose[_num].getImage(_z); - std::cout << " <" << (void*)_image << "> "; - std::cout << _image[100] << " "; + G4cout << " <" << (void*)_image << "> "; + G4cout << _image[100] << " "; } } */ @@ -3655,9 +3675,11 @@ void G4GMocrenIO::copyDoseDist(std::vector > // merge two dose distributions bool G4GMocrenIO::mergeDoseDist(std::vector > & _dose) { if(kDose.size() != _dose.size()) { - std::cerr << "G4GMocrenIO::mergeDoseDist() : Error" << std::endl; - std::cerr << " Unable to merge the dose distributions,"<< std::endl; - std::cerr << " because of different size of dose maps."<< std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) { + G4cout << "G4GMocrenIO::mergeDoseDist() : Error" << G4endl; + G4cout << " Unable to merge the dose distributions,"<< G4endl; + G4cout << " because of different size of dose maps."<< G4endl; + } return false; } @@ -3665,7 +3687,9 @@ bool G4GMocrenIO::mergeDoseDist(std::vector > std::vector >::iterator itr1 = kDose.begin(); std::vector >::iterator itr2 = _dose.begin(); for(int i = 0; i < num; i++, itr1++, itr2++) { - if(kVerbose > 0) std::cerr << "merged dose distribution [" << i << "]" << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + if(kVerbose > 0) + G4cout << "merged dose distribution [" << i << "]" << G4endl; *itr1 += *itr2; } @@ -3684,7 +3708,8 @@ void G4GMocrenIO::clearDoseDistAll() { // bool G4GMocrenIO::isDoseEmpty() { if(kDose.empty()) { - //std::cerr << "!!! dose distribution data is empty." << std::endl; + //if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + // G4cout << "!!! dose distribution data is empty." << G4endl; return true; } else { return false; @@ -3789,7 +3814,8 @@ void G4GMocrenIO::clearROIAll() { // bool G4GMocrenIO::isROIEmpty() { if(kRoi.empty()) { - //std::cerr << "!!! ROI data is empty." << std::endl; + //if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + // G4cout << "!!! ROI data is empty." << G4endl; return true; } else { return false; @@ -3878,7 +3904,8 @@ void G4GMocrenIO::getTrack(int _num, std::vector & _steps, std::vector & _color) { if(_num > (int)kTracks.size()) { - std::cerr << "ERROR in getTrack() : " << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR in getTrack() : " << G4endl; std::exit(-1); } unsigned char * color = new unsigned char[3]; @@ -3937,7 +3964,8 @@ void G4GMocrenIO::getDetector(int _num, std::vector & _edges, std::string & _detName) { if(_num > (int)kDetectors.size()) { - std::cerr << "ERROR in getDetector() : " << std::endl; + if (G4VisManager::GetVerbosity() >= G4VisManager::errors) + G4cout << "ERROR in getDetector() : " << G4endl; std::exit(-1); } diff --git a/source/visualization/management/CMakeLists.txt b/source/visualization/management/CMakeLists.txt new file mode 100644 index 0000000000..3aeb23b67f --- /dev/null +++ b/source/visualization/management/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4vis_management +# Package: Geant4.src.G4visualization.G4vis_management +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:14:49 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/management/GNUmakefile b/source/visualization/management/GNUmakefile index 6cad4ea330..6a53129732 100644 --- a/source/visualization/management/GNUmakefile +++ b/source/visualization/management/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.16 2009/11/04 12:58:43 allison Exp $ +# $Id: GNUmakefile,v 1.17 2010/03/08 16:34:17 lgarnier Exp $ # ------------------------------------------------------------- # GNUmakefile for visualization library. John Allison, 5/7/95. @@ -8,6 +8,9 @@ ifndef G4INSTALL G4INSTALL = ../../.. endif +# For debug mode +# CPPFLAGS += -DG4DEBUG_VIS_MANAGEMENT + GLOBLIBS = libG4modeling.lib GLOBLIBS += libG4run.lib libG4event.lib GLOBLIBS += libG4tracking.lib libG4processes.lib libG4digits_hits.lib diff --git a/source/visualization/management/History b/source/visualization/management/History index 9ed9593430..475f1d81f5 100644 --- a/source/visualization/management/History +++ b/source/visualization/management/History @@ -1,4 +1,4 @@ -$Id: History,v 1.137 2009/11/22 14:08:09 allison Exp $ +$Id: History,v 1.160.2.1 2010/12/14 15:55:56 gcosmo Exp $ ------------------------------------------------------------------- @@ -26,6 +26,118 @@ committal in the CVS repository ! History file for visualization management sub-category ------------------------------------------------------ +14th December 2010 Gabriele Cosmo (visman-V09-03-16) +- G4VisManager: moved GetVerbosity() static method to non-inline to allow for + Windows DLL exporting. + +13th November 2010 John Allison (visman-V09-03-15) +- G4VisCommandScene.cc: + o Backed out change in /vis/scene/notifyHandlers. + o Improved comments. +- G4VisManager.hh: Tidied layout. + +10th November 2010 Laurent Garnier +- G4VisCommandScene.cc: + o In /vis/scene/notifyHandlers: Add a clear for Transient Store. + +7th November 2010 John Allison (visman-V09-03-14) +- G4VisExecutive.icc: Inlined constructor. +- G4VisManager.cc: Fixed Coverity warning. +- G4VisCommandsViewer.cc: Fixed Coverity warning. + +6th November 2010 John Allison +- G4VisCommandsSceneAdd.cc: Fixed Coverity warning. + +5th November 2010 John Allison (visman-V09-03-13) +- G4VSceneHandler.cc and G4ViewParameters.cc: + o Fixed Coverity warning. + +6th October 2010 John Allison (visman-V09-03-12) +- Added /vis/viewer/set/defaultColour and /vis/viewer/set/defaultTextColour. + +3rd September 2010 Gabriele Cosmo (visman-V09-03-11) +- Added missing inclusion of header in G4ViewParameters.cc. + +15th June 2010 John Allison (visman-V09-03-10) +- G4VisCommandsGeometrySet.hh: Added virtual destructors to fix + compilation warnings. +- G4VisCommandsGeometrySet.cc: Changed "/vis/viewer/rebuild" to + "/vis/scene/notifyHandlers", the command to be executed after a + "/vis/geometry/..." command. "/vis/scene/notifyHandlers" causes + rebuild if viewer is "auto-refresh", otherwiae a message advises a + rebuild. This prevents over-enthusiatic rebuildin. + +3rd June 2010 John Allison (visman-V09-03-09) +- G4VisManager.cc: Checked valid view in DispatchToModel. +- Changed /vis/scene/add/digiti[sz]ations to /vis/scene/add/digis. + +1st June 2010 John Allison (visman-V09-03-07) +- G4VisManager: + o Made fVerbosity and GetVerbosity static (saves having to get vis + manager pointer). + o Some tidying. +- G4VisCommandsSceneAdd.cc: Fixed compiler warning. + +30th May 2010 John Allison (visman-V09-03-06) +- Added /vis/scene/add/digiti[sz]ations. +- Added /vis/filtering/digi. +- G4VisManager, G4VisExecutive: Added registration and methods for digis. +- G4VSceneHandler: Added AddCompound(const G4VDigi&). + +29th May 2010 John Allison (visman-V09-03-05) +- Co-works greps-V09-03-01 and tracking-V09-03-03. +- G4VisManager: + o Introduced DispatchToModel without i_mode. + o Moved i-mode deprecation warning to G4VTrajectory. +- G4VSceneHandler.cc: + o Moved i-mode deprecation warning to G4VTrajectory. +- G4VisCommandsViewer.cc: /vis/viewer/rebuild: + o Added sceneHandler->ClearTransientStore(). + o Added viewer->Set/Clear/DrawView(). + +28th May 2010 John Allison (visman-V09-03-04) +- G4VisManager, G4VisExecutive: + Introduced optional verbosity string argument in constructor. You + can now write, for example: + G4VisManager* visManager = new G4VisExecutive("quiet"); + Note that the default is "warnings": + G4VisManager* visManager = new G4VisExecutive; + +28th May 2010 John Allison (visman-V09-03-03) +- Co-works interfaces-V09-03-04. +- G4VisExecutive.icc: Change order of flags to follow G4UIExecutive. + +26th May 2010 John Allison (visman-V09-03-02) +- G4VisExecutive.icc: Added drivers with generic nicknames: + o OGL, OGLI, OGLS, OI. + o The specific driver depends on G4VIS_USE and G4UI_USE flags. So, + for example, "/vis/open OGL" might open an OGLSX window on X or an + OGLSWin32 on Windows. It means that example vis.mac scripts can + be written with this generic command that will work on all systems + and all user choices. In particular, it will open an OGLSQt + window in a G4UIQt session. + +20th May 2010 John Allison (visman-V09-03-01) +- G4VisCommandsCompound.cc: Restore previous viewer after /vis/drawTree. +- G4VisManager.hh: Cosmetic. +- G4VGraphicsSystem: Add Set methods. + +11th May 2010 John Allison (visman-V09-03-00) +- G4VSceneHandler: + o Follow change in generic section and cutaway interface. + o Trap use of user-defined DrawTrajectory and print i_mode warning. +- G4VisCommandsSceneAdd.cc: + o Follow change in generic section and cutaway interface. + o Trap use of i_mode and print warning. +- G4VisManager.cc: + o Trap use of i_mode and print warning. + +9th March 2010 Laurent Garnier + - G4OpenGLViewer : Fix clipping when resizing non square size windows + +8th March 2010 Laurent Garnier +-G4VisManager.cc : Add protection against null pointer + 22nd November 2009 John Allison (visman-V09-02-08) - G4VisCommandsSceneAdd.cc: /vis/scene/add/trajectories rich: o Added G4RichTrajectoryPoint().GetAttDefs() to informational. diff --git a/source/visualization/management/include/G4VGraphicsSystem.hh b/source/visualization/management/include/G4VGraphicsSystem.hh index a9f6c39ae3..3bc28e617f 100644 --- a/source/visualization/management/include/G4VGraphicsSystem.hh +++ b/source/visualization/management/include/G4VGraphicsSystem.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VGraphicsSystem.hh,v 1.11 2006/06/29 21:28:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VGraphicsSystem.hh,v 1.12 2010/05/20 07:55:47 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 27th March 1996 @@ -79,11 +79,15 @@ public: // With description const G4String& GetNickname () const; const G4String& GetDescription () const; Functionality GetFunctionality () const; + void SetName (const G4String&); + void SetNickName (const G4String&); + void SetDescription (const G4String&); + void SetFunctionality (Functionality); protected: - const G4String fName; - const G4String fNickname; - const G4String fDescription; + G4String fName; + G4String fNickname; + G4String fDescription; Functionality fFunctionality; }; diff --git a/source/visualization/management/include/G4VGraphicsSystem.icc b/source/visualization/management/include/G4VGraphicsSystem.icc index 4d78649bd6..90c5cb62ef 100644 --- a/source/visualization/management/include/G4VGraphicsSystem.icc +++ b/source/visualization/management/include/G4VGraphicsSystem.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VGraphicsSystem.icc,v 1.7 2006/06/29 21:28:06 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VGraphicsSystem.icc,v 1.8 2010/05/20 07:55:47 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 27th March 1996 @@ -47,3 +47,19 @@ inline G4VGraphicsSystem::Functionality G4VGraphicsSystem::GetFunctionality () const { return fFunctionality; } + +inline void G4VGraphicsSystem::SetName (const G4String& name) { + fName = name; +} + +inline void G4VGraphicsSystem::SetNickName (const G4String& nickname) { + fNickname = nickname; +} + +inline void G4VGraphicsSystem::SetDescription (const G4String& description) { + fDescription = description; +} + +inline void G4VGraphicsSystem::SetFunctionality (Functionality f) { + fFunctionality = f; +} diff --git a/source/visualization/management/include/G4VSceneHandler.hh b/source/visualization/management/include/G4VSceneHandler.hh index 19b00133b8..6d3fe9f87a 100644 --- a/source/visualization/management/include/G4VSceneHandler.hh +++ b/source/visualization/management/include/G4VSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSceneHandler.hh,v 1.42 2009/11/04 12:55:33 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VSceneHandler.hh,v 1.44 2010/05/30 11:30:49 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 19th July 1996. @@ -128,6 +128,7 @@ public: // With description virtual void AddCompound (const G4VTrajectory&); virtual void AddCompound (const G4VHit&); + virtual void AddCompound (const G4VDigi&); virtual void AddCompound (const G4THitsMap&); ////////////////////////////////////////////////////////////// @@ -308,19 +309,20 @@ protected: ////////////////////////////////////////////////////////////// // Other internal routines... - virtual const G4Polyhedron* CreateSectionPolyhedron (); - virtual const G4Polyhedron* CreateCutawayPolyhedron (); + virtual G4VSolid* CreateSectionSolid (); + virtual G4VSolid* CreateCutawaySolid (); // Generic clipping using the BooleanProcessor in graphics_reps is // implemented in this class. Subclasses that implement their own // clipping should provide an override that returns zero. + void LoadAtts(const G4Visible&, G4AttHolder*); // Load G4AttValues and G4AttDefs associated with the G4Visible // object onto the G4AttHolder object. It checks fpModel, and also // loads the G4AttValues and G4AttDefs from G4PhysicalVolumeModel, - // G4VTrajectory, G4VTrajectoryPoint, or G4VHits, as appropriate. - // The G4AttHolder object is an object of a class that publicly - // inherits G4AttHolder - see, e.g., SoG4Polyhedron in the Open - // Inventor driver. G4AttHolder deletes G4AttValues in its + // G4VTrajectory, G4VTrajectoryPoint, G4VHit or G4VDigi, as + // appropriate. The G4AttHolder object is an object of a class that + // publicly inherits G4AttHolder - see, e.g., SoG4Polyhedron in the + // Open Inventor driver. G4AttHolder deletes G4AttValues in its // destructor to ensure proper clean-up of G4AttValues. ////////////////////////////////////////////////////////////// diff --git a/source/visualization/management/include/G4VisCommandsGeometrySet.hh b/source/visualization/management/include/G4VisCommandsGeometrySet.hh index 595492fe4a..576eb17568 100644 --- a/source/visualization/management/include/G4VisCommandsGeometrySet.hh +++ b/source/visualization/management/include/G4VisCommandsGeometrySet.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsGeometrySet.hh,v 1.3 2007/01/05 16:24:19 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VisCommandsGeometrySet.hh,v 1.4 2010/06/15 16:33:55 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // /vis/geometry commands - John Allison 31st January 2006 @@ -39,12 +39,14 @@ class G4VisAttributes; class G4VVisCommandGeometrySetFunction { public: + virtual ~G4VVisCommandGeometrySetFunction() {} virtual void operator()(G4VisAttributes*) const = 0; }; class G4VisCommandGeometrySetColourFunction: public G4VVisCommandGeometrySetFunction { public: + virtual ~G4VisCommandGeometrySetColourFunction() {} G4VisCommandGeometrySetColourFunction (const G4Colour& colour): fColour(colour) {} @@ -58,6 +60,7 @@ private: class G4VisCommandGeometrySetDaughtersInvisibleFunction: public G4VVisCommandGeometrySetFunction { public: + virtual ~G4VisCommandGeometrySetDaughtersInvisibleFunction() {} G4VisCommandGeometrySetDaughtersInvisibleFunction (G4bool daughtersInvisible): fDaughtersInvisible(daughtersInvisible) {} @@ -71,6 +74,7 @@ private: class G4VisCommandGeometrySetForceAuxEdgeVisibleFunction: public G4VVisCommandGeometrySetFunction { public: + virtual ~G4VisCommandGeometrySetForceAuxEdgeVisibleFunction() {} G4VisCommandGeometrySetForceAuxEdgeVisibleFunction (G4bool forceAuxEdgeVisible): fForceAuxEdgeVisible(forceAuxEdgeVisible) {} @@ -84,6 +88,7 @@ private: class G4VisCommandGeometrySetForceLineSegmentsPerCircleFunction: public G4VVisCommandGeometrySetFunction { public: + virtual ~G4VisCommandGeometrySetForceLineSegmentsPerCircleFunction() {} G4VisCommandGeometrySetForceLineSegmentsPerCircleFunction (G4int lineSegmentsPerCircle): fLineSegmentsPerCircle(lineSegmentsPerCircle) {} @@ -97,6 +102,7 @@ private: class G4VisCommandGeometrySetForceSolidFunction: public G4VVisCommandGeometrySetFunction { public: + virtual ~G4VisCommandGeometrySetForceSolidFunction() {} G4VisCommandGeometrySetForceSolidFunction (G4bool forceSolid): fForceSolid(forceSolid) {} @@ -110,6 +116,7 @@ private: class G4VisCommandGeometrySetForceWireframeFunction: public G4VVisCommandGeometrySetFunction { public: + virtual ~G4VisCommandGeometrySetForceWireframeFunction() {} G4VisCommandGeometrySetForceWireframeFunction (G4bool forceWireframe): fForceWireframe(forceWireframe) {} @@ -123,6 +130,7 @@ private: class G4VisCommandGeometrySetLineStyleFunction: public G4VVisCommandGeometrySetFunction { public: + virtual ~G4VisCommandGeometrySetLineStyleFunction() {} G4VisCommandGeometrySetLineStyleFunction (G4VisAttributes::LineStyle lineStyle): fLineStyle(lineStyle) {} @@ -136,6 +144,7 @@ private: class G4VisCommandGeometrySetLineWidthFunction: public G4VVisCommandGeometrySetFunction { public: + virtual ~G4VisCommandGeometrySetLineWidthFunction() {} G4VisCommandGeometrySetLineWidthFunction (G4double lineWidth): fLineWidth(lineWidth) {} @@ -149,6 +158,7 @@ private: class G4VisCommandGeometrySetVisibilityFunction: public G4VVisCommandGeometrySetFunction { public: + virtual ~G4VisCommandGeometrySetVisibilityFunction() {} G4VisCommandGeometrySetVisibilityFunction (G4bool visibility): fVisibility(visibility) {} diff --git a/source/visualization/management/include/G4VisCommandsSceneAdd.hh b/source/visualization/management/include/G4VisCommandsSceneAdd.hh index 0cf8ae98c3..785a642dee 100644 --- a/source/visualization/management/include/G4VisCommandsSceneAdd.hh +++ b/source/visualization/management/include/G4VisCommandsSceneAdd.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsSceneAdd.hh,v 1.19 2009/11/04 13:15:02 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VisCommandsSceneAdd.hh,v 1.21 2010/06/03 10:17:44 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // /vis/scene commands - John Allison 9th August 1998 @@ -52,6 +52,18 @@ private: G4UIcommand* fpCommand; }; +class G4VisCommandSceneAddDigis: public G4VVisCommandScene { +public: + G4VisCommandSceneAddDigis (); + virtual ~G4VisCommandSceneAddDigis (); + G4String GetCurrentValue (G4UIcommand* command); + void SetNewValue (G4UIcommand* command, G4String newValue); +private: + G4VisCommandSceneAddDigis (const G4VisCommandSceneAddDigis&); + G4VisCommandSceneAddDigis& operator = (const G4VisCommandSceneAddDigis&); + G4UIcmdWithoutParameter* fpCommand; +}; + class G4VisCommandSceneAddEventID: public G4VVisCommandScene { public: G4VisCommandSceneAddEventID (); diff --git a/source/visualization/management/include/G4VisCommandsViewerSet.hh b/source/visualization/management/include/G4VisCommandsViewerSet.hh index 6fb7db1d30..7650652b1c 100644 --- a/source/visualization/management/include/G4VisCommandsViewerSet.hh +++ b/source/visualization/management/include/G4VisCommandsViewerSet.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsViewerSet.hh,v 1.23 2009/05/13 18:17:25 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VisCommandsViewerSet.hh,v 1.24 2010/10/06 10:15:38 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // /vis/viewer/set commands - John Allison 16th May 2000 @@ -58,6 +58,8 @@ private: G4UIcommand* fpCommandBackground; G4UIcommand* fpCommandCulling; G4UIcmdWithAString* fpCommandCutawayMode; + G4UIcommand* fpCommandDefaultColour; + G4UIcommand* fpCommandDefaultTextColour; G4UIcmdWithABool* fpCommandEdge; G4UIcommand* fpCommandExplodeFactor; G4UIcmdWithADouble* fpCommandGlobalMarkerScale; diff --git a/source/visualization/management/include/G4VisExecutive.hh b/source/visualization/management/include/G4VisExecutive.hh index 669db9f7a7..6c746d495f 100644 --- a/source/visualization/management/include/G4VisExecutive.hh +++ b/source/visualization/management/include/G4VisExecutive.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisExecutive.hh,v 1.9 2009/11/17 15:34:06 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VisExecutive.hh,v 1.10 2010/05/28 16:48:03 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 2nd February 2005 (based on MyVisManager, 24th January 1998). @@ -55,7 +55,7 @@ // ... // #ifdef G4VIS_USE // // Instantiate and initialise Visualization Manager. -// G4VisManager* visManager = new G4VisExecutive; // See Nore (a). +// G4VisManager* visManager = new G4VisExecutive; // See Note (a). // visManager -> SetVerboseLevel (verbosityString); // See Note (b). // visManager -> RegisterGraphicsSystem (new myGS); // See Note (c). // visManager -> Initialize (); // See Note (d). @@ -76,7 +76,9 @@ // separate file, see advice below. // (b) The verbosityString ("quiet", "errors", "warnings", // "confirmations", etc. - "help /vis/verbose" to see options) can be -// set here or with /vis/verbose. +// set here or with /vis/verbose. Alternatively, you can instantiate +// with a verbosity string. e.g: +// G4VisManager* visManager = new G4VisExecutive("quiet"); // (c) You can register your own graphics system like this. // (d) Your can intialise like this with C++ code or use /vis/initialize. // @@ -120,7 +122,7 @@ class G4VisExecutive: public G4VisManager { public: // With description - G4VisExecutive () {} + G4VisExecutive (const G4String& verbosityString = "warnings"); private: diff --git a/source/visualization/management/include/G4VisExecutive.icc b/source/visualization/management/include/G4VisExecutive.icc index e5e9750826..9dbb8a5bea 100644 --- a/source/visualization/management/include/G4VisExecutive.icc +++ b/source/visualization/management/include/G4VisExecutive.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisExecutive.icc,v 1.22 2009/10/12 11:54:50 akimura Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VisExecutive.icc,v 1.27 2010/11/07 11:14:33 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // John Allison 24th January 1998. @@ -42,6 +42,7 @@ #include "G4HepRepFile.hh" #include "G4RayTracer.hh" #include "G4HitFilterFactories.hh" +#include "G4DigiFilterFactories.hh" #include "G4TrajectoryFilterFactories.hh" #include "G4TrajectoryModelFactories.hh" #include "G4VRML1File.hh" @@ -91,6 +92,11 @@ #include "G4VRML2.hh" #endif +inline +G4VisExecutive::G4VisExecutive (const G4String& verbosityString): + G4VisManager(verbosityString) +{} + // The inline keyword prevents the compiler making an external // reference even though they cannot actually be inlined since they // are virtual functions. This prevents a "multiple definition" error @@ -117,6 +123,65 @@ G4VisExecutive::RegisterGraphicsSystems () { RegisterGraphicsSystem (new G4FukuiRenderer); #endif +// Register OGL graphics system with generic nicknames +#ifdef G4VIS_USE_OPENGL + G4VGraphicsSystem* ogl = 0; + G4VGraphicsSystem* ogli = 0; + G4VGraphicsSystem* ogls = 0; +// Follow G4UIExecutive +#if defined(G4UI_USE_QT) +#ifdef G4VIS_USE_OPENGLQT + ogl = new G4OpenGLStoredQt; + ogli = new G4OpenGLImmediateQt; + ogls = new G4OpenGLStoredQt; +#endif +#elif defined(G4UI_USE_XM) +#ifdef G4VIS_USE_OPENGLXM + ogl = new G4OpenGLStoredXm; + ogli = new G4OpenGLImmediateXm; + ogls = new G4OpenGLStoredXm; +#endif +#elif defined(G4UI_USE_WIN32) +#ifdef G4VIS_USE_OPENGLWIN32 + ogl = new G4OpenGLStoredWin32; + ogli = new G4OpenGLImmediateWin32; + ogls = new G4OpenGLStoredWin32; +#endif +#elif defined(G4UI_USE_TCSH) +#if defined (G4VIS_USE_OPENGLX) + ogl = new G4OpenGLStoredX; + ogli = new G4OpenGLImmediateX; + ogls = new G4OpenGLStoredX; +#elif defined (G4VIS_USE_OPENGLWIN32) + ogl = new G4OpenGLStoredWin32; + ogli = new G4OpenGLImmediateWin32; + ogls = new G4OpenGLStoredWin32; +#endif +#else +#if defined (G4VIS_USE_OPENGLX) + ogl = new G4OpenGLStoredX; + ogli = new G4OpenGLImmediateX; + ogls = new G4OpenGLStoredX; +#elif defined (G4VIS_USE_OPENGLWIN32) + ogl = new G4OpenGLStoredWin32; + ogli = new G4OpenGLImmediateWin32; + ogls = new G4OpenGLStoredWin32; +#endif +#endif + if (ogl) { + ogl->SetNickName("OGL"); + RegisterGraphicsSystem (ogl); + } + if (ogli) { + ogli->SetNickName("OGLI"); + RegisterGraphicsSystem (ogli); + } + if (ogls) { + ogls->SetNickName("OGLS"); + RegisterGraphicsSystem (ogls); + } +#endif + #ifdef G4VIS_USE_OPENGLX RegisterGraphicsSystem (new G4OpenGLImmediateX); RegisterGraphicsSystem (new G4OpenGLStoredX); @@ -137,6 +202,21 @@ G4VisExecutive::RegisterGraphicsSystems () { RegisterGraphicsSystem (new G4OpenGLStoredQt); #endif +// Register OI graphics system with generic nickname +#ifdef G4VIS_USE_OI + G4VGraphicsSystem* oi = 0; +#ifdef G4VIS_USE_OIX + oi = new G4OpenInventorX; +#endif +#ifdef G4VIS_USE_OIWIN32 + oi = new G4OpenInventorWin32; +#endif + if (oi) { + oi->SetNickName("OI"); + RegisterGraphicsSystem (oi); + } +#endif + #ifdef G4VIS_USE_OIX RegisterGraphicsSystem (new G4OpenInventorX); #endif @@ -175,6 +255,9 @@ G4VisExecutive::RegisterModelFactories() // Hit filter models RegisterModelFactory(new G4HitAttributeFilterFactory()); + + // Digi filter models + RegisterModelFactory(new G4DigiAttributeFilterFactory()); } #endif diff --git a/source/visualization/management/include/G4VisManager.hh b/source/visualization/management/include/G4VisManager.hh index 8cca5565ef..c5c0547d00 100644 --- a/source/visualization/management/include/G4VisManager.hh +++ b/source/visualization/management/include/G4VisManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisManager.hh,v 1.70 2009/02/25 18:28:00 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VisManager.hh,v 1.76 2010/11/13 10:54:55 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // @@ -65,17 +65,18 @@ // with the current viewer, in particular, the Draw operations. // // Each scene comprises drawable objects such as detector components -// and hits when appropriate. A scene handler translates a scene into -// graphics-system-specific function calls and, possibly, a -// graphics-system-dependent database - display lists, scene graphs, -// etc. Each viewer has its "view parameters" (see class description -// of G4ViewParameters for available parameters and also for a -// description of the concept of a "standard view" and all that). +// and trajectories, hits and digis when appropriate. A scene handler +// translates a scene into graphics-system-specific function calls +// and, possibly, a graphics-system-dependent database - display +// lists, scene graphs, etc. Each viewer has its "view parameters" +// (see class description of G4ViewParameters for available parameters +// and also for a description of the concept of a "standard view" and +// all that). // // A friend class G4VisStateDependent is "state dependent", i.e., it // is notified on change of state (G4ApplicationState). This is used -// to message the G4VisManager to draw hits and trajectories in the -// current scene at the end of event, as required. +// to message the G4VisManager to draw hits, digis and trajectories in +// the current scene at the end of event, as required. #ifndef G4VISMANAGER_HH #define G4VISMANAGER_HH @@ -112,6 +113,7 @@ namespace { typedef G4VModelFactory G4TrajDrawModelFactory; typedef G4VModelFactory< G4VFilter > G4TrajFilterFactory; typedef G4VModelFactory< G4VFilter > G4HitFilterFactory; + typedef G4VModelFactory< G4VFilter > G4DigiFilterFactory; } class G4VisManager: public G4VVisManager { @@ -128,27 +130,20 @@ class G4VisManager: public G4VVisManager { friend class G4RayTrajectory; friend class G4RayTracerSceneHandler; friend class G4RTMessenger; - friend class G4OpenGLStoredSceneHandler; friend class G4OpenGLViewerMessenger; - friend class G4OpenGLXViewerMessenger; friend class G4OpenGLXmViewerMessenger; - friend class G4XXXSceneHandler; friend class G4HepRepFileSceneHandler; // Management friends... friend class G4VSceneHandler; friend class G4VViewer; - - friend std::ostream & operator << - (std::ostream &, const G4VGraphicsSystem &); - - friend std::ostream & operator << - (std::ostream &, const G4VSceneHandler &); - friend class G4VisStateDependent; - friend class G4VisCommandList; + // operator << friends... + friend std::ostream& operator << (std::ostream&, const G4VGraphicsSystem&); + friend std::ostream& operator << (std::ostream&, const G4VSceneHandler&); + public: // With description enum Verbosity { @@ -164,7 +159,7 @@ public: // With description protected: // With description - G4VisManager (); + G4VisManager (const G4String& verbosityString = "warnings"); // The constructor is protected so that an object of the derived // class may be constructed. @@ -214,6 +209,12 @@ public: // With description void RegisterModel(G4VFilter* filter); // Register trajectory hit model. Assumes ownership of model. + void RegisterModelFactory(G4DigiFilterFactory* factory); + // Register trajectory digi model factory. Assumes ownership of factory. + + void RegisterModel(G4VFilter* filter); + // Register trajectory digi model. Assumes ownership of model. + void SelectTrajectoryModel(const G4String& model); // Set default trajectory model. Useful for use in compiled code @@ -280,6 +281,8 @@ public: // With description void Draw (const G4VHit&); + void Draw (const G4VDigi&); + void Draw (const G4VTrajectory&, G4int i_mode); // i_mode is a parameter that can be used to control the drawing of // the trajectory. See, e.g., G4VTrajectory::DrawTrajectory. @@ -305,11 +308,13 @@ public: // With description // has changed so that they may rebuild their graphics database, if // any, and redraw all views. + void DispatchToModel(const G4VTrajectory&); void DispatchToModel(const G4VTrajectory&, G4int i_mode); // Draw the trajectory. G4bool FilterTrajectory(const G4VTrajectory&); G4bool FilterHit(const G4VHit&); + G4bool FilterDigi(const G4VDigi&); //////////////////////////////////////////////////////////////////////// // Administration routines. @@ -328,8 +333,8 @@ private: void EndOfEvent (); // This is called on change of state (G4ApplicationState). It is - // used to draw hits and trajectories if included in the current - // scene at the end of event, as required. + // used to draw hits, digis and trajectories if included in the + // current scene at the end of event, as required. void EndOfRun (); @@ -356,7 +361,7 @@ public: // With description // already registered. const G4SceneHandlerList& GetAvailableSceneHandlers () const; const G4SceneList& GetSceneList () const; - Verbosity GetVerbosity () const; + static Verbosity GetVerbosity (); G4bool GetTransientsDrawnThisRun () const; G4bool GetTransientsDrawnThisEvent () const; const G4Event* GetRequestedEvent () const; @@ -365,10 +370,10 @@ public: // With description void SetUserAction (G4VUserVisAction* pVisAction, const G4VisExtent& = G4VisExtent::NullExtent); void SetUserActionExtent (const G4VisExtent&); - void SetCurrentGraphicsSystem (G4VGraphicsSystem* pSystem); + void SetCurrentGraphicsSystem (G4VGraphicsSystem*); void SetCurrentScene (G4Scene*); - void SetCurrentSceneHandler (G4VSceneHandler* pScene); - void SetCurrentViewer (G4VViewer* pView); + void SetCurrentSceneHandler (G4VSceneHandler*); + void SetCurrentViewer (G4VViewer*); G4SceneHandlerList& SetAvailableSceneHandlers (); // Returns lvalue. G4SceneList& SetSceneList (); // Returns lvalue. void SetVerboseLevel (G4int); @@ -444,7 +449,7 @@ private: G4GraphicsSystemList fAvailableGraphicsSystems; G4SceneList fSceneList; G4SceneHandlerList fAvailableSceneHandlers; - Verbosity fVerbosity; + static Verbosity fVerbosity; std::vector fMessengerList; std::vector fDirectoryList; G4VisStateDependent* fpStateDependent; // Friend state dependent class. @@ -466,6 +471,9 @@ private: // Hit filter model manager G4VisFilterManager* fpHitFilterMgr; + // Digi filter model manager + G4VisFilterManager* fpDigiFilterMgr; + }; #include "G4VisManager.icc" diff --git a/source/visualization/management/include/G4VisManager.icc b/source/visualization/management/include/G4VisManager.icc index bc9c4b902e..8653b1008d 100644 --- a/source/visualization/management/include/G4VisManager.icc +++ b/source/visualization/management/include/G4VisManager.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisManager.icc,v 1.21 2009/01/13 09:55:15 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VisManager.icc,v 1.23 2010/12/14 15:53:28 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // GEANT4 Visualization Manager - John Allison 02/Jan/1996. @@ -68,11 +68,6 @@ G4VisManager::GetCurrentGraphicsSystem () const { return fpGraphicsSystem; } -inline G4VisManager::Verbosity G4VisManager::GetVerbosity () const { - return fVerbosity; -} - - inline G4bool G4VisManager::GetTransientsDrawnThisEvent() const { return fTransientsDrawnThisEvent; } diff --git a/source/visualization/management/sources.cmake b/source/visualization/management/sources.cmake new file mode 100644 index 0000000000..a4a2985a04 --- /dev/null +++ b/source/visualization/management/sources.cmake @@ -0,0 +1,160 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4vis_management +# Package: Geant4.src.G4visualization.G4vis_management +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:15:02 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/event/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/magneticfield/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/Boolean/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/run/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/visualization/modeling/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4vis_management + HEADERS + G4GraphicsSystemList.hh + G4Scene.hh + G4Scene.icc + G4SceneHandlerList.hh + G4SceneList.hh + G4VGraphicsSystem.hh + G4VGraphicsSystem.icc + G4VSceneHandler.hh + G4VSceneHandler.icc + G4VUserVisAction.hh + G4VViewer.hh + G4VViewer.icc + G4VVisCommand.hh + G4VVisCommand.icc + G4ViewParameters.hh + G4ViewParameters.icc + G4ViewerList.hh + G4VisCommandModelCreate.hh + G4VisCommands.hh + G4VisCommandsCompound.hh + G4VisCommandsGeometry.hh + G4VisCommandsGeometrySet.hh + G4VisCommandsListManager.hh + G4VisCommandsScene.hh + G4VisCommandsSceneAdd.hh + G4VisCommandsSceneHandler.hh + G4VisCommandsViewer.hh + G4VisCommandsViewerSet.hh + G4VisExecutive.hh + G4VisExecutive.icc + G4VisFeaturesOfDAWNFILE.hh + G4VisFeaturesOfFukuiRenderer.hh + G4VisFeaturesOfOpenGL.hh + G4VisFeaturesOfOpenInventor.hh + G4VisFilterManager.hh + G4VisListManager.hh + G4VisManager.hh + G4VisManager.icc + G4VisModelManager.hh + G4VisStateDependent.hh + SOURCES + G4GraphicsSystemList.cc + G4Scene.cc + G4SceneHandlerList.cc + G4SceneList.cc + G4VGraphicsSystem.cc + G4VSceneHandler.cc + G4VViewer.cc + G4VVisCommand.cc + G4ViewParameters.cc + G4ViewerList.cc + G4VisCommands.cc + G4VisCommandsCompound.cc + G4VisCommandsGeometry.cc + G4VisCommandsGeometrySet.cc + G4VisCommandsScene.cc + G4VisCommandsSceneAdd.cc + G4VisCommandsSceneHandler.cc + G4VisCommandsViewer.cc + G4VisCommandsViewerSet.cc + G4VisFeaturesOfDAWNFILE.cc + G4VisFeaturesOfFukuiRenderer.cc + G4VisFeaturesOfOpenGL.cc + G4VisFeaturesOfOpenInventor.cc + G4VisManager.cc + G4VisStateDependent.cc + GRANULAR_DEPENDENCIES + G4csg + G4detutils + G4digits + G4event + G4geomBoolean + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4magneticfield + G4materials + G4modeling + G4navigation + G4partman + G4procman + G4run + G4specsolids + G4track + G4tracking + G4vis_management + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4event + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4modeling + G4particles + G4processes + G4run + G4track + G4tracking + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/visualization/management/src/G4VSceneHandler.cc b/source/visualization/management/src/G4VSceneHandler.cc index 2ecc38844f..8684f47536 100644 --- a/source/visualization/management/src/G4VSceneHandler.cc +++ b/source/visualization/management/src/G4VSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSceneHandler.cc,v 1.91 2009/11/16 13:51:08 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VSceneHandler.cc,v 1.96 2010/11/05 16:00:11 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // John Allison 19th July 1996 @@ -66,6 +66,7 @@ #include "G4Torus.hh" #include "G4Polycone.hh" #include "G4Polyhedra.hh" +#include "G4DisplacedSolid.hh" #include "G4LogicalVolume.hh" #include "G4PhysicalVolumeModel.hh" #include "G4ModelingParameters.hh" @@ -73,6 +74,7 @@ #include "G4VTrajectoryPoint.hh" #include "G4HitsModel.hh" #include "G4VHit.hh" +#include "G4VDigi.hh" #include "G4ScoringManager.hh" #include "G4DefaultLinearColorMap.hh" #include "Randomize.hh" @@ -257,11 +259,17 @@ void G4VSceneHandler::AddSolid (const G4VSolid& solid) { } void G4VSceneHandler::AddCompound (const G4VTrajectory& traj) { - G4TrajectoriesModel* pTrModel = + G4TrajectoriesModel* trajectoriesModel = dynamic_cast(fpModel); - if (!pTrModel) G4Exception + if (!trajectoriesModel) G4Exception ("G4VSceneHandler::AddCompound(const G4VTrajectory&): Not a G4TrajectoriesModel."); - traj.DrawTrajectory(pTrModel->GetDrawingMode()); + else { + if (trajectoriesModel->IsDrawingModeSet()) { + traj.DrawTrajectory(trajectoriesModel->GetDrawingMode()); + } else { + traj.DrawTrajectory(); + } + } } void G4VSceneHandler::AddCompound (const G4VHit& hit) { @@ -269,6 +277,11 @@ void G4VSceneHandler::AddCompound (const G4VHit& hit) { const_cast(hit).Draw(); } +void G4VSceneHandler::AddCompound (const G4VDigi& digi) { + // Cast away const because Draw is non-const!!!! + const_cast(digi).Draw(); +} + void G4VSceneHandler::AddCompound (const G4THitsMap& hits) { //G4cout << "AddCompound: hits: " << &hits << G4endl; G4bool scoreMapHits = false; @@ -479,8 +492,7 @@ void G4VSceneHandler::RequestPrimitives (const G4VSolid& solid) { break; } else { - G4VisManager::Verbosity verbosity = - G4VisManager::GetInstance()->GetVerbosity(); + G4VisManager::Verbosity verbosity = G4VisManager::GetVerbosity(); if (verbosity >= G4VisManager::errors) { G4cout << "ERROR: G4VSceneHandler::RequestPrimitives" @@ -500,8 +512,7 @@ void G4VSceneHandler::RequestPrimitives (const G4VSolid& solid) { AddPrimitive (*pPolyhedron); } else { - G4VisManager::Verbosity verbosity = - G4VisManager::GetInstance()->GetVerbosity(); + G4VisManager::Verbosity verbosity = G4VisManager::GetVerbosity(); if (verbosity >= G4VisManager::errors) { G4cout << "ERROR: G4VSceneHandler::RequestPrimitives" @@ -735,28 +746,27 @@ G4ModelingParameters* G4VSceneHandler::CreateModelingParameters () ); pModelingParams->SetWarning - (G4VisManager::GetInstance()->GetVerbosity() >= G4VisManager::warnings); + (G4VisManager::GetVerbosity() >= G4VisManager::warnings); pModelingParams->SetExplodeFactor(vp.GetExplodeFactor()); pModelingParams->SetExplodeCentre(vp.GetExplodeCentre()); - pModelingParams->SetSectionPolyhedron(CreateSectionPolyhedron()); - pModelingParams->SetCutawayPolyhedron(CreateCutawayPolyhedron()); + pModelingParams->SetSectionSolid(CreateSectionSolid()); + pModelingParams->SetCutawaySolid(CreateCutawaySolid()); // The polyhedron objects are deleted in the modeling parameters destructor. return pModelingParams; } -const G4Polyhedron* G4VSceneHandler::CreateSectionPolyhedron() +G4VSolid* G4VSceneHandler::CreateSectionSolid() { - /* Disable for now. Boolean processor not up to it. + G4VSolid* sectioner = 0; const G4ViewParameters& vp = fpViewer->GetViewParameters(); if (vp.IsSection () ) { G4double radius = fpScene->GetExtent().GetExtentRadius(); G4double safe = radius + fpScene->GetExtent().GetExtentCentre().mag(); - G4Box sectionBox("clipper", - safe, safe, 1.e-5 * radius); // Thin in z-plane. - G4Polyhedron* sectioner = sectionBox.CreatePolyhedron(); + G4VSolid* sectionBox = + new G4Box("_sectioner", safe, safe, 1.e-5 * radius); // Thin in z-plane. const G4Plane3D& s = vp.GetSectionPlane (); G4double a = s.a(); G4double b = s.b(); @@ -769,16 +779,13 @@ const G4Polyhedron* G4VSceneHandler::CreateSectionPolyhedron() const G4Vector3D axis = G4Normal3D(0,0,1).cross(normal); transform = G4Rotate3D(angle, axis) * transform; } - sectioner->Transform(transform); - return sectioner; - } else { - return 0; + sectioner = new G4DisplacedSolid + ("_displaced_sectioning_box", sectionBox, transform); } - */ - return 0; + return sectioner; } -const G4Polyhedron* G4VSceneHandler::CreateCutawayPolyhedron() +G4VSolid* G4VSceneHandler::CreateCutawaySolid() { return 0; } diff --git a/source/visualization/management/src/G4ViewParameters.cc b/source/visualization/management/src/G4ViewParameters.cc index 81ae6d9178..cff22a905e 100644 --- a/source/visualization/management/src/G4ViewParameters.cc +++ b/source/visualization/management/src/G4ViewParameters.cc @@ -24,13 +24,15 @@ // ******************************************************************** // // -// $Id: G4ViewParameters.cc,v 1.36 2009/01/21 17:05:12 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4ViewParameters.cc,v 1.38 2010/11/05 16:00:11 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // John Allison 19th July 1996 // View parameters and options. +#include + #include "G4ViewParameters.hh" #include "G4VisManager.hh" @@ -46,6 +48,7 @@ G4ViewParameters::G4ViewParameters (): fAllValues(0x000F), fXNegative(0x0010), fYNegative(0x0020), + fGeometryMask(0), fDrawingStyle (wireframe), fAuxEdgeVisible (false), fRepStyle (polyhedron), diff --git a/source/visualization/management/src/G4VisCommandsCompound.cc b/source/visualization/management/src/G4VisCommandsCompound.cc index 328e50b3cd..cab6baf45c 100644 --- a/source/visualization/management/src/G4VisCommandsCompound.cc +++ b/source/visualization/management/src/G4VisCommandsCompound.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsCompound.cc,v 1.39 2007/11/16 20:29:04 perl Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VisCommandsCompound.cc,v 1.40 2010/05/20 07:54:01 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // Compound /vis/ commands - John Allison 15th May 2000 @@ -65,6 +65,11 @@ void G4VisCommandDrawTree::SetNewValue(G4UIcommand*, G4String newValue) { std::istringstream is(newValue); is >> pvname >> system; + G4VGraphicsSystem* keepSystem = fpVisManager->GetCurrentGraphicsSystem(); + G4Scene* keepScene = fpVisManager->GetCurrentScene(); + G4VSceneHandler* keepSceneHandler = fpVisManager->GetCurrentSceneHandler(); + G4VViewer* keepViewer = fpVisManager->GetCurrentViewer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); G4int keepVerbose = UImanager->GetVerboseLevel(); G4int newVerbose(0); @@ -76,6 +81,16 @@ void G4VisCommandDrawTree::SetNewValue(G4UIcommand*, G4String newValue) { UImanager->ApplyCommand(G4String("/vis/drawVolume " + pvname)); UImanager->ApplyCommand("/vis/viewer/flush"); UImanager->SetVerboseLevel(keepVerbose); + + if (keepViewer) { + if (fpVisManager->GetVerbosity() >= G4VisManager::warnings) { + G4cout << "Reverting to " << keepViewer->GetName() << G4endl; + } + fpVisManager->SetCurrentGraphicsSystem(keepSystem); + fpVisManager->SetCurrentScene(keepScene); + fpVisManager->SetCurrentSceneHandler(keepSceneHandler); + fpVisManager->SetCurrentViewer(keepViewer); + } } ////////////// /vis/drawView /////////////////////////////////////// diff --git a/source/visualization/management/src/G4VisCommandsGeometrySet.cc b/source/visualization/management/src/G4VisCommandsGeometrySet.cc index e89126beca..7f2ae1cc0c 100644 --- a/source/visualization/management/src/G4VisCommandsGeometrySet.cc +++ b/source/visualization/management/src/G4VisCommandsGeometrySet.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsGeometrySet.cc,v 1.7 2007/01/05 16:24:19 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VisCommandsGeometrySet.cc,v 1.8 2010/06/15 16:34:30 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // /vis/geometry commands - John Allison 31st January 2006 @@ -63,7 +63,7 @@ void G4VVisCommandGeometrySet::Set return; } if (fpVisManager->GetCurrentViewer()) { - G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/rebuild"); + G4UImanager::GetUIpointer()->ApplyCommand("/vis/scene/notifyHandlers"); } } diff --git a/source/visualization/management/src/G4VisCommandsScene.cc b/source/visualization/management/src/G4VisCommandsScene.cc index 71ba003c0a..3f764ec546 100644 --- a/source/visualization/management/src/G4VisCommandsScene.cc +++ b/source/visualization/management/src/G4VisCommandsScene.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsScene.cc,v 1.68 2008/04/28 16:12:38 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VisCommandsScene.cc,v 1.70 2010/11/13 10:52:00 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // /vis/scene commands - John Allison 9th August 1998 @@ -540,9 +540,6 @@ void G4VisCommandSceneNotifyHandlers::SetNewValue (G4UIcommand*, if (aScene) { const G4String& aSceneName = aScene -> GetName (); if (sceneName == aSceneName) { - // Clear store and force a rebuild of graphical database... - //aSceneHandler -> ClearStore (); // Not nec?? Done below - //with NeedKernelVisit and DrawView. JA. G4ViewerList& viewerList = aSceneHandler -> SetViewerList (); const G4int nViewers = viewerList.size (); for (G4int iV = 0; iV < nViewers; iV++) { @@ -553,7 +550,18 @@ void G4VisCommandSceneNotifyHandlers::SetNewValue (G4UIcommand*, fpVisManager -> SetCurrentViewer(aViewer); fpVisManager -> SetCurrentSceneHandler(aSceneHandler); fpVisManager -> SetCurrentScene(aScene); - // Re-draw, forcing rebuild of graphics database, if any... + // ClearTransientStore. This clears the transient, e.g., + // trajectories part of the store/graphical database but + // also re-draws the permanent part (detector) and thus + // has the effect of clearing trajectories from the view. + // This should not be necessary since NeedKernelVisit, + // ClearView and DrawView should have the effect of + // deleting the whole store and re-creating it, then + // clearing and re-drawing. But ClearView does not seem + // to work for all viewers. If it's a problem for you, + // uncomment the next line. + //aSceneHandler->ClearTransientStore(); + // Now, force rebuild of graphical database, if any, and re-draw. aViewer -> NeedKernelVisit(); aViewer -> SetView (); aViewer -> ClearView (); diff --git a/source/visualization/management/src/G4VisCommandsSceneAdd.cc b/source/visualization/management/src/G4VisCommandsSceneAdd.cc index 4a17db2fcc..acbde6e18b 100644 --- a/source/visualization/management/src/G4VisCommandsSceneAdd.cc +++ b/source/visualization/management/src/G4VisCommandsSceneAdd.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsSceneAdd.cc,v 1.78 2009/11/22 14:02:30 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VisCommandsSceneAdd.cc,v 1.84 2010/11/06 18:34:26 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // /vis/scene commands - John Allison 9th August 1998 #include "G4VisCommandsSceneAdd.hh" @@ -36,6 +36,7 @@ #include "G4LogicalVolumeModel.hh" #include "G4ModelingParameters.hh" #include "G4HitsModel.hh" +#include "G4DigiModel.hh" #include "G4PSHitsModel.hh" #include "G4TrajectoriesModel.hh" #include "G4ScaleModel.hh" @@ -157,6 +158,51 @@ void G4VisCommandSceneAddAxes::SetNewValue (G4UIcommand*, G4String newValue) { } +////////////// /vis/scene/add/digis /////////////////////////////////////// + +G4VisCommandSceneAddDigis::G4VisCommandSceneAddDigis () { + fpCommand = new G4UIcmdWithoutParameter ("/vis/scene/add/digis", this); + fpCommand -> SetGuidance ("Adds digis to current scene."); + fpCommand -> SetGuidance + ("Digis are drawn at end of event when the scene in which" + "\nthey are added is current."); +} + +G4VisCommandSceneAddDigis::~G4VisCommandSceneAddDigis () { + delete fpCommand; +} + +G4String G4VisCommandSceneAddDigis::GetCurrentValue (G4UIcommand*) { + return ""; +} + +void G4VisCommandSceneAddDigis::SetNewValue (G4UIcommand*, G4String) { + + G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity(); + G4bool warn(verbosity >= G4VisManager::warnings); + + G4Scene* pScene = fpVisManager->GetCurrentScene(); + if (!pScene) { + if (verbosity >= G4VisManager::errors) { + G4cout << "ERROR: No current scene. Please create one." << G4endl; + } + return; + } + + G4DigiModel* model = new G4DigiModel; + const G4String& currentSceneName = pScene -> GetName (); + G4bool successful = pScene -> AddEndOfEventModel (model, warn); + if (successful) { + if (verbosity >= G4VisManager::confirmations) { + G4cout << "Digis will be drawn in scene \"" + << currentSceneName << "\"." + << G4endl; + } + } + else G4VisCommandsSceneAddUnsuccessful(verbosity); + UpdateVisManagerScene (currentSceneName); +} + ////////////// /vis/scene/add/eventID /////////////////////////////////////// G4VisCommandSceneAddEventID::G4VisCommandSceneAddEventID () { @@ -260,7 +306,7 @@ void G4VisCommandSceneAddEventID::EventID::operator() nEvents = currentRun->GetNumberOfEventToBeProcessed(); } else { const std::vector* events = - currentRun? currentRun->GetEventVector(): 0; + currentRun->GetEventVector(); if (events) nEvents = events->size(); } if (eventID < nEvents - 1) return; // Not last event. @@ -1372,6 +1418,7 @@ void G4VisCommandSceneAddTrajectories::SetNewValue (G4UIcommand*, propagatorInField->SetTrajectoryFilter(0); // Switch off smooth trajectories. static G4IdentityTrajectoryFilter auxiliaryPointsFilter; G4String defaultTrajectoryType; + G4bool i_mode_found = false; G4int i_mode = 0; if (smooth && rich) { UImanager->ApplyCommand("/tracking/storeTrajectory 3"); @@ -1389,10 +1436,12 @@ void G4VisCommandSceneAddTrajectories::SetNewValue (G4UIcommand*, std::istringstream iss(newValue); iss >> i_mode; if (iss) { + i_mode_found = true; if (verbosity >= G4VisManager::warnings) { - G4cout << "WARNING: Integer parameter " << i_mode << " found." - "\n DEPRECATED - will be removed at next major release." - "\n Use \"/vis/modeling/trajectories\" commands." + G4cout << + "WARNING: Integer parameter " << i_mode << " found." + "\n DEPRECATED - its use in this command will be removed at a future major" + "\n release. Use \"/vis/modeling/trajectories\" commands." << G4endl; } } else { @@ -1420,7 +1469,12 @@ void G4VisCommandSceneAddTrajectories::SetNewValue (G4UIcommand*, } } - G4TrajectoriesModel* model = new G4TrajectoriesModel(i_mode); + G4TrajectoriesModel* model = 0; + if (i_mode_found) { + model = new G4TrajectoriesModel(i_mode); + } else { + model = new G4TrajectoriesModel(); + } const G4String& currentSceneName = pScene -> GetName (); pScene -> AddEndOfEventModel (model, warn); @@ -1535,8 +1589,8 @@ void G4VisCommandSceneAddUserAction::SetNewValue (G4UIcommand*, model->SetGlobalTag("Vis User Action"); model->SetExtent(extent); const G4String& currentSceneName = pScene -> GetName (); - pScene -> AddRunDurationModel (model, warn); - if (verbosity >= G4VisManager::confirmations) { + G4bool successful = pScene -> AddRunDurationModel (model, warn); + if (successful && verbosity >= G4VisManager::confirmations) { G4cout << "User Vis Action added to scene \"" << currentSceneName << "\""; if (verbosity >= G4VisManager::parameters) { @@ -1804,12 +1858,13 @@ void G4VisCommandSceneAddVolume::SetNewValue (G4UIcommand*, const G4double x0 = (param2 + param1) / 2.; const G4double y0 = (param4 + param3) / 2.; const G4double z0 = (param6 + param5) / 2.; - G4Box clippingBox("_clipping_box",dX,dY,dZ); - G4Polyhedron* clippingPolyhedron = - new G4PolyhedronBox(dX,dY,dZ); // The model deletes. - clippingPolyhedron->Transform(G4Translate3D(x0,y0,z0)); + G4VSolid* clippingSolid = + new G4DisplacedSolid + ("_displaced_clipping_box", + new G4Box("_clipping_box",dX,dY,dZ), + G4Translate3D(x0,y0,z0)); for (size_t i = 0; i < foundVolumes.size(); ++i) { - models[i]->SetClippingPolyhedron(clippingPolyhedron); + models[i]->SetClippingSolid(clippingSolid); models[i]->SetClippingMode(clippingMode); } } // If any other shape consider NumberOfRotationSides!!!!!!!!!!! diff --git a/source/visualization/management/src/G4VisCommandsViewer.cc b/source/visualization/management/src/G4VisCommandsViewer.cc index 5255ecbef3..b9e2b98068 100644 --- a/source/visualization/management/src/G4VisCommandsViewer.cc +++ b/source/visualization/management/src/G4VisCommandsViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsViewer.cc,v 1.75 2009/01/19 15:47:49 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VisCommandsViewer.cc,v 1.77 2010/11/07 11:14:07 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // /vis/viewer commands - John Allison 25th October 1998 @@ -437,6 +437,7 @@ void G4VisCommandViewerClone::SetNewValue (G4UIcommand*, G4String newValue) { cloneName = cloneName.strip (G4String::both, ' '); cloneName = cloneName.strip (G4String::both, '"'); + G4bool errorWhileNaming = false; if (cloneName == "none") { G4int subID = 0; do { @@ -449,9 +450,22 @@ void G4VisCommandViewerClone::SetNewValue (G4UIcommand*, G4String newValue) { G4String::npos) { cloneName.insert(nextSpacePosition, oss.str()); } else { - cloneName.insert(cloneName.find(' '), oss.str()); + G4String::size_type spacePosition = cloneName.find(' '); + if (spacePosition != G4String::npos) + cloneName.insert(spacePosition, oss.str()); + else + errorWhileNaming = true; } - } while (fpVisManager -> GetViewer (cloneName)); + } while (!errorWhileNaming && fpVisManager -> GetViewer (cloneName)); + } + + if (errorWhileNaming) { + if (verbosity >= G4VisManager::errors) { + G4cout << "ERROR: While naming clone viewer \"" << cloneName + << "\"." + << G4endl; + } + return; } if (fpVisManager -> GetViewer (cloneName)) { @@ -1037,6 +1051,7 @@ void G4VisCommandViewerRebuild::SetNewValue (G4UIcommand*, G4String newValue) { G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity(); G4String& rebuildName = newValue; + G4VViewer* viewer = fpVisManager -> GetViewer (rebuildName); if (!viewer) { if (verbosity >= G4VisManager::errors) { @@ -1047,7 +1062,21 @@ void G4VisCommandViewerRebuild::SetNewValue (G4UIcommand*, G4String newValue) { return; } + G4VSceneHandler* sceneHandler = viewer->GetSceneHandler(); + if (!sceneHandler) { + if (verbosity >= G4VisManager::errors) { + G4cout << "ERROR: Viewer \"" << viewer->GetName() << "\"" << + " has no scene handler - report serious bug." + << G4endl; + } + return; + } + + sceneHandler->ClearTransientStore(); viewer->NeedKernelVisit(); + viewer->SetView(); + viewer->ClearView(); + viewer->DrawView(); // Check auto-refresh and print confirmations, but without changing // view paramters... @@ -1391,22 +1420,13 @@ void G4VisCommandViewerUpdate::SetNewValue (G4UIcommand*, G4String newValue) { return; } - if (viewer) { - if (verbosity >= G4VisManager::confirmations) { - G4cout << "Viewer \"" << viewer -> GetName () << "\""; - G4cout << " post-processing triggered." << G4endl; - } - viewer -> ShowView (); - // Assume future need to "refresh" transients... - sceneHandler -> SetMarkForClearingTransientStore(true); - } - else { - if (verbosity >= G4VisManager::errors) { - G4cout << "ERROR: Viewer \"" << updateName << "\""; - G4cout << " not found - \"/vis/viewer/list\"" - "\n to see possibilities." << G4endl; - } + if (verbosity >= G4VisManager::confirmations) { + G4cout << "Viewer \"" << viewer -> GetName () << "\""; + G4cout << " post-processing triggered." << G4endl; } + viewer -> ShowView (); + // Assume future need to "refresh" transients... + sceneHandler -> SetMarkForClearingTransientStore(true); } ////////////// /vis/viewer/zoom and zoomTo //////////////////////////// diff --git a/source/visualization/management/src/G4VisCommandsViewerSet.cc b/source/visualization/management/src/G4VisCommandsViewerSet.cc index 4be051c583..632c903b55 100644 --- a/source/visualization/management/src/G4VisCommandsViewerSet.cc +++ b/source/visualization/management/src/G4VisCommandsViewerSet.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsViewerSet.cc,v 1.50 2009/05/13 18:17:25 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VisCommandsViewerSet.cc,v 1.53 2010/11/05 15:57:20 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // /vis/viewer/set commands - John Allison 16th May 2000 @@ -142,6 +142,52 @@ G4VisCommandsViewerSet::G4VisCommandsViewerSet (): fpCommandCutawayMode->SetCandidates ("add union multiply intersection"); fpCommandCutawayMode->SetDefaultValue("union"); + fpCommandDefaultColour = new G4UIcommand + ("/vis/viewer/set/defaultColour",this); + fpCommandDefaultColour->SetGuidance + ("Set defaultColour colour and transparency (default white and opaque)."); + fpCommandDefaultColour->SetGuidance + ("Accepts (a) RGB triplet. e.g., \".3 .4 .5\", or" + "\n(b) string such as \"white\", \"black\", \"grey\", \"red\"..." + "\n(c) an additional number for opacity, e.g., \".3 .4 .5 .6\"" + "\n or \"grey ! ! .6\" (note \"!\"'s for unused green and blue parameters)," + "\n e.g. \"! ! ! 0.\" for a transparent colour."); + parameter = new G4UIparameter("red_or_string", 's', omitable = true); + parameter -> SetDefaultValue ("1."); + fpCommandDefaultColour -> SetParameter (parameter); + parameter = new G4UIparameter("green", 'd', omitable = true); + parameter -> SetDefaultValue (1.); + fpCommandDefaultColour -> SetParameter (parameter); + parameter = new G4UIparameter ("blue", 'd', omitable = true); + parameter -> SetDefaultValue (1.); + fpCommandDefaultColour -> SetParameter (parameter); + parameter = new G4UIparameter ("opacity", 'd', omitable = true); + parameter -> SetDefaultValue (1.); + fpCommandDefaultColour -> SetParameter (parameter); + + fpCommandDefaultTextColour = new G4UIcommand + ("/vis/viewer/set/defaultTextColour",this); + fpCommandDefaultTextColour->SetGuidance + ("Set defaultTextColour colour and transparency (default white and opaque)."); + fpCommandDefaultTextColour->SetGuidance + ("Accepts (a) RGB triplet. e.g., \".3 .4 .5\", or" + "\n(b) string such as \"white\", \"black\", \"grey\", \"red\"..." + "\n(c) an additional number for opacity, e.g., \".3 .4 .5 .6\"" + "\n or \"grey ! ! .6\" (note \"!\"'s for unused green and blue parameters)," + "\n e.g. \"! ! ! 0.\" for a transparent colour."); + parameter = new G4UIparameter("red_or_string", 's', omitable = true); + parameter -> SetDefaultValue ("1."); + fpCommandDefaultTextColour -> SetParameter (parameter); + parameter = new G4UIparameter("green", 'd', omitable = true); + parameter -> SetDefaultValue (1.); + fpCommandDefaultTextColour -> SetParameter (parameter); + parameter = new G4UIparameter ("blue", 'd', omitable = true); + parameter -> SetDefaultValue (1.); + fpCommandDefaultTextColour -> SetParameter (parameter); + parameter = new G4UIparameter ("opacity", 'd', omitable = true); + parameter -> SetDefaultValue (1.); + fpCommandDefaultTextColour -> SetParameter (parameter); + fpCommandEdge = new G4UIcmdWithABool("/vis/viewer/set/edge",this); fpCommandEdge->SetGuidance ("Edges become visible/invisible in surface mode."); @@ -266,9 +312,11 @@ G4VisCommandsViewerSet::G4VisCommandsViewerSet (): fpCommandProjection->SetParameter(parameter); parameter = new G4UIparameter("field-half-angle",'d',omitable = true); parameter->SetDefaultValue(30.); + //parameter->SetCurrentAsDefault(true); fpCommandProjection->SetParameter(parameter); parameter = new G4UIparameter("unit",'s',omitable = true); parameter->SetDefaultValue("deg"); + //parameter->SetCurrentAsDefault(true); fpCommandProjection->SetParameter(parameter); fpCommandSectionPlane = new G4UIcommand("/vis/viewer/set/sectionPlane",this); @@ -400,6 +448,8 @@ G4VisCommandsViewerSet::~G4VisCommandsViewerSet() { delete fpCommandBackground; delete fpCommandCulling; delete fpCommandCutawayMode; + delete fpCommandDefaultColour; + delete fpCommandDefaultTextColour; delete fpCommandEdge; delete fpCommandExplodeFactor; delete fpCommandGlobalLineWidthScale; @@ -610,6 +660,56 @@ void G4VisCommandsViewerSet::SetNewValue } } + else if (command == fpCommandDefaultColour) { + G4String redOrString; + G4double green, blue, opacity; + std::istringstream iss(newValue); + iss >> redOrString >> green >> blue >> opacity; + G4Colour colour(1.,1.,1.); // Default white and opaque. + const size_t iPos0 = 0; + if (std::isalpha(redOrString[iPos0])) { + G4Colour::GetColour(redOrString, colour); // Remains default (white) if + // not found. + } else { + colour = G4Colour(G4UIcommand::ConvertTo3Vector(newValue)); + } + colour = G4Colour(colour.GetRed(), colour.GetGreen(), colour.GetBlue(), opacity); + G4VisAttributes va = vp.GetDefaultVisAttributes(); + va.SetColour(colour); + vp.SetDefaultVisAttributes(va); + if (verbosity >= G4VisManager::confirmations) { + G4cout << "Default colour " + << vp.GetDefaultVisAttributes()->GetColour() + << " requested." + << G4endl; + } + } + + else if (command == fpCommandDefaultTextColour) { + G4String redOrString; + G4double green, blue, opacity; + std::istringstream iss(newValue); + iss >> redOrString >> green >> blue >> opacity; + G4Colour colour(1.,1.,1.); // Default white and opaque. + const size_t iPos0 = 0; + if (std::isalpha(redOrString[iPos0])) { + G4Colour::GetColour(redOrString, colour); // Remains default (white) if + // not found. + } else { + colour = G4Colour(G4UIcommand::ConvertTo3Vector(newValue)); + } + colour = G4Colour(colour.GetRed(), colour.GetGreen(), colour.GetBlue(), opacity); + G4VisAttributes va = vp.GetDefaultTextVisAttributes(); + va.SetColour(colour); + vp.SetDefaultTextVisAttributes(va); + if (verbosity >= G4VisManager::confirmations) { + G4cout << "Default colour " + << vp.GetDefaultTextVisAttributes()->GetColour() + << " requested." + << G4endl; + } + } + else if (command == fpCommandEdge) { G4ViewParameters::DrawingStyle existingStyle = vp.GetDrawingStyle(); if (G4UIcommand::ConvertToBool(newValue)) { diff --git a/source/visualization/management/src/G4VisManager.cc b/source/visualization/management/src/G4VisManager.cc index ee4ab27c03..a286e1a1b6 100644 --- a/source/visualization/management/src/G4VisManager.cc +++ b/source/visualization/management/src/G4VisManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VisManager.cc,v 1.122 2009/11/04 12:58:00 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4VisManager.cc,v 1.131 2010/12/14 15:53:28 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // GEANT4 Visualization Manager - John Allison 02/Jan/1996. @@ -78,7 +78,9 @@ G4VisManager* G4VisManager::fpInstance = 0; -G4VisManager::G4VisManager (): +G4VisManager::Verbosity G4VisManager::fVerbosity = G4VisManager::warnings; + +G4VisManager::G4VisManager (const G4String& verbosityString): fVerbose (1), fInitialised (false), fpUserVisAction (0), @@ -86,7 +88,6 @@ G4VisManager::G4VisManager (): fpScene (0), fpSceneHandler (0), fpViewer (0), - fVerbosity (warnings), fpStateDependent (0), fEventRefreshing (false), fTransientsDrawnThisRun (false), @@ -100,6 +101,7 @@ G4VisManager::G4VisManager (): fpTrajDrawModelMgr = new G4VisModelManager("/vis/modeling/trajectories"); fpTrajFilterMgr = new G4VisFilterManager("/vis/filtering/trajectories"); fpHitFilterMgr = new G4VisFilterManager("/vis/filtering/hits"); + fpDigiFilterMgr = new G4VisFilterManager("/vis/filtering/digi"); VerbosityGuidanceStrings.push_back ("Simple graded message scheme - digit or string (1st character defines):"); @@ -122,54 +124,56 @@ G4VisManager::G4VisManager (): G4Exception ("G4VisManager: attempt to Construct more than one VisManager."); } - else { - fpInstance = this; - SetConcreteInstance(this); + fpInstance = this; + SetConcreteInstance(this); - fpStateDependent = new G4VisStateDependent (this); - // No need to delete this; G4StateManager does this. + fpStateDependent = new G4VisStateDependent (this); + // No need to delete this; G4StateManager does this. - if (fVerbosity >= startup) { - G4cout << "Visualization Manager instantiating..." << G4endl; - } - - // Note: The specific graphics systems must be instantiated in a - // higher level library to avoid circular dependencies. Also, - // some specifically need additional external libararies that the - // user must supply. Therefore we ask the user to implement - // RegisterGraphicsSystems() and RegisterModelFactories() - // in a subclass. We have to wait for the subclass to instantiate - // so RegisterGraphicsSystems() cannot be called from this - // constructor; it is called from Initialise(). So we ask the - // user: - // (a) to write a subclass and implement RegisterGraphicsSystems() - // and RegisterModelFactories(). See - // visualization/include/G4VisExecutive.hh/icc as an example. - // (b) instantiate the subclass. - // (c) invoke the Initialise() method of the subclass. - // For example: - // ... - // #ifdef G4VIS_USE - // // Instantiate and initialise Visualization Manager. - // G4VisManager* visManager = new G4VisExecutive; - // visManager -> SetVerboseLevel (Verbose); - // visManager -> Initialise (); - // #endif - // // (Don't forget to delete visManager;) - // ... - - // Make top level command directory... - G4UIcommand* directory; - directory = new G4UIdirectory ("/vis/"); - directory -> SetGuidance ("Visualization commands."); - fDirectoryList.push_back (directory); - - // Instantiate top level basic commands - G4VVisCommand::SetVisManager (this); // Sets shared pointer - RegisterMessenger(new G4VisCommandVerbose); - RegisterMessenger(new G4VisCommandInitialize); + fVerbosity = GetVerbosityValue(verbosityString); + if (fVerbosity >= startup) { + G4cout + << "Visualization Manager instantiating with verbosity \"" + << VerbosityString(fVerbosity) + << "\"..." << G4endl; } + + // Note: The specific graphics systems must be instantiated in a + // higher level library to avoid circular dependencies. Also, + // some specifically need additional external libararies that the + // user must supply. Therefore we ask the user to implement + // RegisterGraphicsSystems() and RegisterModelFactories() + // in a subclass. We have to wait for the subclass to instantiate + // so RegisterGraphicsSystems() cannot be called from this + // constructor; it is called from Initialise(). So we ask the + // user: + // (a) to write a subclass and implement RegisterGraphicsSystems() + // and RegisterModelFactories(). See + // visualization/include/G4VisExecutive.hh/icc as an example. + // (b) instantiate the subclass. + // (c) invoke the Initialise() method of the subclass. + // For example: + // ... + // #ifdef G4VIS_USE + // // Instantiate and initialise Visualization Manager. + // G4VisManager* visManager = new G4VisExecutive; + // visManager -> SetVerboseLevel (Verbose); + // visManager -> Initialise (); + // #endif + // // (Don't forget to delete visManager;) + // ... + + // Make top level command directory... + G4UIcommand* directory; + directory = new G4UIdirectory ("/vis/"); + directory -> SetGuidance ("Visualization commands."); + fDirectoryList.push_back (directory); + + // Instantiate top level basic commands + G4VVisCommand::SetVisManager (this); // Sets shared pointer + RegisterMessenger(new G4VisCommandVerbose); + RegisterMessenger(new G4VisCommandInitialize); } G4VisManager::~G4VisManager () { @@ -179,10 +183,14 @@ G4VisManager::~G4VisManager () { delete fSceneList[i]; } for (i = 0; i < fAvailableSceneHandlers.size (); ++i) { + if (fAvailableSceneHandlers[i] != NULL) { delete fAvailableSceneHandlers[i]; } + } for (i = 0; i < fAvailableGraphicsSystems.size (); ++i) { - delete fAvailableGraphicsSystems[i]; + if (fAvailableGraphicsSystems[i]) { + delete fAvailableGraphicsSystems[i]; + } } if (fVerbosity >= startup) { G4cout << "Graphics systems deleted." << G4endl; @@ -195,9 +203,10 @@ G4VisManager::~G4VisManager () { delete fDirectoryList[i]; } - delete fpTrajDrawModelMgr; - delete fpTrajFilterMgr; + delete fpDigiFilterMgr; delete fpHitFilterMgr; + delete fpTrajFilterMgr; + delete fpTrajDrawModelMgr; } G4VisManager* G4VisManager::GetInstance () { @@ -283,6 +292,12 @@ void G4VisManager::Initialise () { directory = new G4UIdirectory ("/vis/filtering/hits/create/"); directory -> SetGuidance ("Create hit filters and messengers."); fDirectoryList.push_back (directory); + directory = new G4UIdirectory ("/vis/filtering/digi/"); + directory -> SetGuidance ("Digi filtering commands."); + fDirectoryList.push_back (directory); + directory = new G4UIdirectory ("/vis/filtering/digi/create/"); + directory -> SetGuidance ("Create digi filters and messengers."); + fDirectoryList.push_back (directory); RegisterMessengers (); @@ -431,6 +446,17 @@ G4VisManager::RegisterModelFactory(G4HitFilterFactory* factory) fpHitFilterMgr->Register(factory); } +void G4VisManager::RegisterModel(G4VFilter* model) +{ + fpDigiFilterMgr->Register(model); +} + +void +G4VisManager::RegisterModelFactory(G4DigiFilterFactory* factory) +{ + fpDigiFilterMgr->Register(factory); +} + void G4VisManager::SelectTrajectoryModel(const G4String& model) { fpTrajDrawModelMgr->SetCurrent(model); @@ -600,6 +626,13 @@ void G4VisManager::Draw (const G4VHit& hit) { } } +void G4VisManager::Draw (const G4VDigi& digi) { + if (IsValidView ()) { + ClearTransientStoreIfMarked(); + fpSceneHandler -> AddCompound (digi); + } +} + void G4VisManager::Draw (const G4VTrajectory& traj, G4int i_mode) { if (IsValidView ()) { @@ -856,6 +889,35 @@ G4bool G4VisManager::FilterHit(const G4VHit& hit) return fpHitFilterMgr->Accept(hit); } +G4bool G4VisManager::FilterDigi(const G4VDigi& digi) +{ + return fpDigiFilterMgr->Accept(digi); +} + +void G4VisManager::DispatchToModel(const G4VTrajectory& trajectory) +{ + G4bool visible(true); + + // See if trajectory passes filter + G4bool passed = FilterTrajectory(trajectory); + + if (!passed) { + // Draw invisible trajectory if trajectory failed filter and + // are filtering in soft mode + if (fpTrajFilterMgr->GetMode() == FilterMode::Soft) visible = false; + else {return;} + } + + // Go on to draw trajectory + assert (0 != fpTrajDrawModelMgr); + + const G4VTrajectoryModel* trajectoryModel = CurrentTrajDrawModel(); + + assert (0 != trajectoryModel); // Should exist + + trajectoryModel->Draw(trajectory, visible); +} + void G4VisManager::DispatchToModel(const G4VTrajectory& trajectory, G4int i_mode) { G4bool visible(true); @@ -873,12 +935,25 @@ void G4VisManager::DispatchToModel(const G4VTrajectory& trajectory, G4int i_mode // Go on to draw trajectory assert (0 != fpTrajDrawModelMgr); - const G4VTrajectoryModel* model = CurrentTrajDrawModel(); + const G4VTrajectoryModel* trajectoryModel = CurrentTrajDrawModel(); - assert (0 != model); // Should exist + assert (0 != trajectoryModel); // Should exist - model->Draw(trajectory, i_mode, visible); -} + if (IsValidView()) { + G4TrajectoriesModel* trajectoriesModel = + dynamic_cast(fpSceneHandler->GetModel()); + if (trajectoriesModel) { + if (trajectoriesModel->IsDrawingModeSet()) { + trajectoryModel->Draw(trajectory, i_mode, visible); + } else { + trajectoryModel->Draw(trajectory, visible); + } + } else { + // Just draw at user's request + trajectoryModel->Draw(trajectory, i_mode, visible); + } + } +} void G4VisManager::SetUserAction (G4VUserVisAction* pVisAction, @@ -985,7 +1060,13 @@ void G4VisManager::SetCurrentSceneHandler (G4VSceneHandler* pSceneHandler) { << G4endl; } } - IsValidView (); // Checks. + if (!IsValidView ()) { + if (fVerbosity >= warnings) { + G4cout << + "WARNING: Problem setting scene handler - please report circumstances." + << G4endl; + } + } } else { fpViewer = 0; @@ -1008,7 +1089,13 @@ void G4VisManager::SetCurrentViewer (G4VViewer* pViewer) { fpSceneHandler -> SetCurrentViewer (pViewer); fpScene = fpSceneHandler -> GetScene (); fpGraphicsSystem = fpSceneHandler -> GetGraphicsSystem (); - IsValidView (); // Checks. + if (!IsValidView ()) { + if (fVerbosity >= warnings) { + G4cout << + "WARNING: Problem setting viewer - please report circumstances." + << G4endl; + } + } } void G4VisManager::RegisterMessengers () { @@ -1067,6 +1154,7 @@ void G4VisManager::RegisterMessengers () { RegisterMessenger(new G4VisCommandSceneAddEventID); RegisterMessenger(new G4VisCommandSceneAddGhosts); RegisterMessenger(new G4VisCommandSceneAddHits); + RegisterMessenger(new G4VisCommandSceneAddDigis); RegisterMessenger(new G4VisCommandSceneAddLogicalVolume); RegisterMessenger(new G4VisCommandSceneAddLogo); RegisterMessenger(new G4VisCommandSceneAddPSHits); @@ -1128,6 +1216,12 @@ void G4VisManager::RegisterMessengers () { (fpHitFilterMgr, fpHitFilterMgr->Placement())); RegisterMessenger(new G4VisCommandManagerMode< G4VisFilterManager > (fpHitFilterMgr, fpHitFilterMgr->Placement())); + + // Digi filter manager commands + RegisterMessenger(new G4VisCommandListManagerList< G4VisFilterManager > + (fpDigiFilterMgr, fpDigiFilterMgr->Placement())); + RegisterMessenger(new G4VisCommandManagerMode< G4VisFilterManager > + (fpDigiFilterMgr, fpDigiFilterMgr->Placement())); } void G4VisManager::PrintAvailableGraphicsSystems () const { @@ -1280,6 +1374,7 @@ void G4VisManager::EndOfEvent () // Unless last event (in which case wait end of run)... if (eventID < nEventsToBeProcessed - 1) { fpViewer->ShowView(); + fpViewer->DrawView(); fpSceneHandler->SetMarkForClearingTransientStore(true); } else { // Last event... // Keep, but only if user has not kept any... @@ -1364,10 +1459,11 @@ void G4VisManager::EndOfRun () G4cout << " Only useful if before starting the run:" "\n a) trajectories are stored (\"/vis/scene/add/trajectories [smooth|rich]\"), or" - "\n b) the Draw method of any hits is implemented." - "\n To view trajectories and hits:" + "\n b) the Draw method of any hits or digis is implemented." + "\n To view trajectories, hits or digis:" "\n open a viewer, draw a volume, \"/vis/scene/add/trajectories\"" - "\n \"/vis/scene/add/hits\" and, possibly, \"/vis/viewer/flush\"." + "\n \"/vis/scene/add/hits\" or \"/vis/scene/add/digitisations\"" + "\n and, possibly, \"/vis/viewer/flush\"." "\n To see all events: \"/vis/scene/endOfEventAction accumulate\"." "\n To see events individually: \"/vis/reviewKeptEvents\"." << G4endl; @@ -1486,6 +1582,10 @@ G4VisManager::Verbosity G4VisManager::GetVerbosityValue(G4int intVerbosity) { return verbosity; } +G4VisManager::Verbosity G4VisManager::GetVerbosity () { + return fVerbosity; +} + void G4VisManager::SetVerboseLevel (G4int intVerbosity) { fVerbosity = GetVerbosityValue(intVerbosity); } diff --git a/source/visualization/modeling/CMakeLists.txt b/source/visualization/modeling/CMakeLists.txt new file mode 100644 index 0000000000..970c889fdc --- /dev/null +++ b/source/visualization/modeling/CMakeLists.txt @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# CMakeLists.txt +# Module : G4modeling +# Package: Geant4.src.G4visualization.G4modeling +# +# CMakeLists.txt for single level library that may be build global or granular +# +# Generated on : 24/9/2010 +# +# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:15:11 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +include(Geant4MacroLibraryTargets) +if(GEANT4_BUILD_GRANULAR_LIBS) + GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake) +else() + GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake) +endif() + diff --git a/source/visualization/modeling/History b/source/visualization/modeling/History index a9b40e557f..1ad49f2ced 100644 --- a/source/visualization/modeling/History +++ b/source/visualization/modeling/History @@ -1,4 +1,4 @@ -$Id: History,v 1.115 2009/11/04 12:44:39 allison Exp $ +$Id: History,v 1.123 2010/11/14 22:14:11 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,49 @@ committal in the CVS repository ! History file for visualization/modeling --------------------------------------- +14th November 2010 John Allison (modeling-V09-03-05) +- G4TrajectoryDrawerUtils.cc:Fixed time-slicing problem. + +5th November 2010 John Allison (modeling-V09-03-04) +- G4PhysicalVolumeModel.cc: Fixed Coverity warning. + +1st June 2010 John Allison (modeling-V09-03-03) +- G4TrajectoryDrawByParticleID.cc: Set some defaults: + Set("gamma", "green"); + Set("e-", "red"); + Set("e+", "blue"); + Set("pi+", "magenta"); + Set("pi-", "magenta"); + Set("proton", "cyan"); + Set("neutron", "yellow"); + +30th May 2010 John Allison (modeling-V09-03-02) +- Added G4DigiModel and G4DigiFilterFactories. +- G4BoundingSphereScene, G4PhysicalVolumeMassScene, + G4PhysicalVolumeSearchScene: + o Added AddCompound(const G4VDigi&). + +28th May 2010 John Allison (modeling-V09-03-01) +- G4TrajectoryDrawByAttribute.cc, G4TrajectoryDrawByCharge.cc, + G4TrajectoryDrawByOriginVolume.cc, G4TrajectoryDrawByParticleID.cc: + o Fixed unused parameter 'i_mode' warning. + +11th May 2010 John Allison (modeling-V09-03-00) +- G4ModelingParameters, G4PhysicalVolumeModel: + o Replace polyhedra with solids for sections and cutaways. +- G4TrajectoriesModel: Trap use of i_mode and print warning. +- G4VTrajectoryModel and derived classes G4TrajectoryDrawBy*: + o Introduce Draw method *not* containing i_mode. +- G4TrajectoryDrawerUtils: + o Remove default (0) for i_mode arguments. + o Introduce functions without i_mode. + o Comment out unused DrawLineAndPoints function. + o Trap use of i_mode and print warning. + +27th April 2010 Laurent Garnier +- G4trajectoryDrawerUtils : + o Optimisation when drawing lines + 4th November 2009 John Allison - G4PSHitsModel: o Now intended as end-of-run model. diff --git a/source/visualization/modeling/include/G4BoundingSphereScene.hh b/source/visualization/modeling/include/G4BoundingSphereScene.hh index 1d1b56be3e..108509ce37 100644 --- a/source/visualization/modeling/include/G4BoundingSphereScene.hh +++ b/source/visualization/modeling/include/G4BoundingSphereScene.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BoundingSphereScene.hh,v 1.19 2009/10/21 14:17:33 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4BoundingSphereScene.hh,v 1.20 2010/05/30 11:23:25 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 7th June 1997 @@ -70,6 +70,7 @@ public: void AddSolid (const G4VSolid& s) {Accrue (s);} void AddCompound (const G4VTrajectory&) {} void AddCompound (const G4VHit&) {} + void AddCompound (const G4VDigi&) {} void AddCompound (const G4THitsMap&) {} G4VisExtent GetBoundingSphereExtent (); const G4Point3D& GetCentre() const {return fCentre;} diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh b/source/visualization/modeling/include/G4DigiFilterFactories.hh similarity index 68% rename from examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh rename to source/visualization/modeling/include/G4DigiFilterFactories.hh index 6609be1ca1..003de64c50 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh +++ b/source/visualization/modeling/include/G4DigiFilterFactories.hh @@ -23,39 +23,37 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +/// $Id: G4DigiFilterFactories.hh,v 1.1 2010/05/30 11:24:30 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // -// $Id: AnaEx01SteppingVerbose.hh,v 1.4 2006/06/29 16:33:40 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ // -// -//--------------------------------------------------------------- +// Digi filter model factories creating filters +// and associated messengers. // -// AnaEx01SteppingVerbose.hh +// Jane Tinslay March 2006 // -// Description: -// This class manages the verbose outputs in G4SteppingManager. -// It inherits from G4SteppingVerbose -// -//--------------------------------------------------------------- +#ifndef G4DIGIFILTERFACTORIES_HH +#define G4DIGIFILTERFACTORIES_HH -class AnaEx01SteppingVerbose; +#include "G4VFilter.hh" +#include "G4VModelFactory.hh" +#include "G4VDigi.hh" -#ifndef AnaEx01SteppingVerbose_h -#define AnaEx01SteppingVerbose_h 1 +// Attribute filter +class G4DigiAttributeFilterFactory : public G4VModelFactory< G4VFilter > { -#include "G4SteppingVerbose.hh" +public: // With description -class AnaEx01SteppingVerbose : public G4SteppingVerbose { -public: -// Constructor/Destructor - AnaEx01SteppingVerbose(); - ~AnaEx01SteppingVerbose(); -// - void StepInfo(); - void TrackingStarted(); -// + typedef std::vector Messengers; + typedef std::pair< G4VFilter *, Messengers > ModelAndMessengers; + G4DigiAttributeFilterFactory(); + virtual ~G4DigiAttributeFilterFactory(); + + ModelAndMessengers Create(const G4String& placement, const G4String& name); + }; #endif + diff --git a/source/visualization/modeling/include/G4DigiModel.hh b/source/visualization/modeling/include/G4DigiModel.hh new file mode 100644 index 0000000000..bde35be1a6 --- /dev/null +++ b/source/visualization/modeling/include/G4DigiModel.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. * +// ******************************************************************** +// +// +// $Id: G4DigiModel.hh,v 1.1 2010/05/30 11:24:30 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// +// John Allison 26th August 1998. +// +// Class Description: +// +// Model which knows how to draw GEANT4 digis (digitisations). +// +// For access to base class information, e.g., modeling parameters, +// use GetModelingParameters() inherited from G4VModel. See Class +// Description of the base class G4VModel. + +#ifndef G4DIGIMODEL_HH +#define G4DIGIMODEL_HH + +#include "G4VModel.hh" + +class G4VDigi; + +class G4DigiModel: public G4VModel { + +public: // With description + + G4DigiModel (); + + virtual ~G4DigiModel (); + + virtual void DescribeYourselfTo (G4VGraphicsScene&); + // The main task of a model is to describe itself to the graphics scene. + + const G4VDigi* GetCurrentDigi() const + {return fpCurrentDigi;} + +private: + + const G4VDigi* fpCurrentDigi; +}; + +#endif diff --git a/source/visualization/modeling/include/G4ModelingParameters.hh b/source/visualization/modeling/include/G4ModelingParameters.hh index 02ceba84e1..6d275defe9 100644 --- a/source/visualization/modeling/include/G4ModelingParameters.hh +++ b/source/visualization/modeling/include/G4ModelingParameters.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ModelingParameters.hh,v 1.17 2006/11/14 14:42:08 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ModelingParameters.hh,v 1.18 2010/05/11 11:13:35 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 31st December 1997. @@ -43,7 +43,7 @@ class G4LogicalVolume; class G4VPhysicalVolume; class G4VisAttributes; -class G4Polyhedron; +class G4VSolid; class G4Event; class G4ModelingParameters { @@ -91,8 +91,8 @@ public: // With description G4double GetExplodeFactor () const; const G4Point3D& GetExplodeCentre () const; G4int GetNoOfSides () const; - const G4Polyhedron* GetSectionPolyhedron () const; - const G4Polyhedron* GetCutawayPolyhedron () const; + G4VSolid* GetSectionSolid () const; + G4VSolid* GetCutawaySolid () const; const G4Event* GetEvent () const; // Set functions... @@ -107,8 +107,8 @@ public: // With description void SetExplodeFactor (G4double explodeFactor); void SetExplodeCentre (const G4Point3D& explodeCentre); G4int SetNoOfSides (G4int); // Returns actual number set. - void SetSectionPolyhedron (const G4Polyhedron* pSectionPolyhedron); - void SetCutawayPolyhedron (const G4Polyhedron* pCutawayPolyhedron); + void SetSectionSolid (G4VSolid* pSectionSolid); + void SetCutawaySolid (G4VSolid* pCutawaySolid); void SetEvent (const G4Event* pEvent); private: @@ -125,8 +125,8 @@ private: G4double fExplodeFactor; // Explode along radius by this factor... G4Point3D fExplodeCentre; // ...about this centre. G4int fNoOfSides; // ...if polygon approximates circle. - const G4Polyhedron* fpSectionPolyhedron; // For generic section (DCUT). - const G4Polyhedron* fpCutawayPolyhedron; // For generic cutaways. + G4VSolid* fpSectionSolid; // For generic section (DCUT). + G4VSolid* fpCutawaySolid; // For generic cutaways. const G4Event* fpEvent; // Event being processed. }; diff --git a/source/visualization/modeling/include/G4ModelingParameters.icc b/source/visualization/modeling/include/G4ModelingParameters.icc index 9947603a13..327e65dd7d 100644 --- a/source/visualization/modeling/include/G4ModelingParameters.icc +++ b/source/visualization/modeling/include/G4ModelingParameters.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ModelingParameters.icc,v 1.11 2006/11/14 14:42:08 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ModelingParameters.icc,v 1.12 2010/05/11 11:13:35 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 31st December 1997. @@ -81,11 +81,11 @@ inline G4int G4ModelingParameters::GetNoOfSides () const { return fNoOfSides; } -inline const G4Polyhedron* G4ModelingParameters::GetSectionPolyhedron () const -{return fpSectionPolyhedron;} +inline G4VSolid* G4ModelingParameters::GetSectionSolid () const +{return fpSectionSolid;} -inline const G4Polyhedron* G4ModelingParameters::GetCutawayPolyhedron () const -{return fpCutawayPolyhedron;} +inline G4VSolid* G4ModelingParameters::GetCutawaySolid () const +{return fpCutawaySolid;} inline const G4Event* G4ModelingParameters::GetEvent () const {return fpEvent;} @@ -130,16 +130,6 @@ inline void G4ModelingParameters::SetExplodeCentre fExplodeCentre = explodeCentre; } -inline void G4ModelingParameters::SetSectionPolyhedron -(const G4Polyhedron* pSectionPolyhedron) { - fpSectionPolyhedron = pSectionPolyhedron; -} - -inline void G4ModelingParameters::SetCutawayPolyhedron -(const G4Polyhedron* pCutawayPolyhedron) { - fpCutawayPolyhedron = pCutawayPolyhedron; -} - inline void G4ModelingParameters::SetEvent(const G4Event* pEvent) { fpEvent = pEvent; } diff --git a/source/visualization/modeling/include/G4PhysicalVolumeMassScene.hh b/source/visualization/modeling/include/G4PhysicalVolumeMassScene.hh index ad4a168e15..2c36503445 100644 --- a/source/visualization/modeling/include/G4PhysicalVolumeMassScene.hh +++ b/source/visualization/modeling/include/G4PhysicalVolumeMassScene.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicalVolumeMassScene.hh,v 1.10 2009/10/21 14:17:33 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicalVolumeMassScene.hh,v 1.11 2010/05/30 11:23:25 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 12th September 2004 @@ -108,6 +108,7 @@ public: void AddSolid (const G4VSolid& s) {AccrueMass (s);} void AddCompound (const G4VTrajectory&) {} void AddCompound (const G4VHit&) {} + void AddCompound (const G4VDigi&) {} void AddCompound (const G4THitsMap&) {} //////////////////////////////////////////////////////////////// diff --git a/source/visualization/modeling/include/G4PhysicalVolumeModel.hh b/source/visualization/modeling/include/G4PhysicalVolumeModel.hh index c1f5e04233..195c7600e8 100644 --- a/source/visualization/modeling/include/G4PhysicalVolumeModel.hh +++ b/source/visualization/modeling/include/G4PhysicalVolumeModel.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicalVolumeModel.hh,v 1.35 2009/10/10 14:29:59 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicalVolumeModel.hh,v 1.36 2010/05/11 11:16:51 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 31st December 1997. @@ -61,7 +61,6 @@ class G4LogicalVolume; class G4VSolid; class G4Material; class G4VisAttributes; -class G4Polyhedron; class G4AttDef; class G4AttValue; @@ -136,8 +135,8 @@ public: // With description G4int GetRequestedDepth () const {return fRequestedDepth;} - const G4Polyhedron* GetClippingPolyhedron () const - {return fpClippingPolyhedron;} + const G4VSolid* GetClippingSolid () const + {return fpClippingSolid;} G4int GetCurrentDepth() const {return fCurrentDepth;} // Current depth of geom. hierarchy. @@ -181,8 +180,8 @@ public: // With description fRequestedDepth = requestedDepth; } - void SetClippingPolyhedron (const G4Polyhedron* pClippingPolyhedron) { - fpClippingPolyhedron = pClippingPolyhedron; + void SetClippingSolid (G4VSolid* pClippingSolid) { + fpClippingSolid = pClippingSolid; } void SetClippingMode (ClippingMode mode) { @@ -233,7 +232,7 @@ protected: std::vector fFullPVPath; std::vector fDrawnPVPath; G4bool fCurtailDescent;// Can be set to curtail descent. - const G4Polyhedron*fpClippingPolyhedron; + G4VSolid* fpClippingSolid; ClippingMode fClippingMode; private: diff --git a/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh b/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh index 49879c19ac..8290816b84 100644 --- a/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh +++ b/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicalVolumeSearchScene.hh,v 1.19 2009/10/21 14:17:33 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicalVolumeSearchScene.hh,v 1.20 2010/05/30 11:23:25 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 10th August 1998. @@ -73,6 +73,7 @@ public: void AddSolid (const G4VSolid& s) {FindVolume (s);} void AddCompound (const G4VTrajectory&) {} void AddCompound (const G4VHit&) {} + void AddCompound (const G4VDigi&) {} void AddCompound (const G4THitsMap&) {} G4int GetFoundDepth () const; G4VPhysicalVolume* GetFoundVolume () const; diff --git a/source/visualization/modeling/include/G4TrajectoriesModel.hh b/source/visualization/modeling/include/G4TrajectoriesModel.hh index 8462870632..22e396df37 100644 --- a/source/visualization/modeling/include/G4TrajectoriesModel.hh +++ b/source/visualization/modeling/include/G4TrajectoriesModel.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TrajectoriesModel.hh,v 1.10 2006/10/26 11:10:23 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoriesModel.hh,v 1.11 2010/05/11 11:21:52 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 26th August 1998. @@ -49,21 +49,24 @@ class G4TrajectoriesModel: public G4VModel { public: // With description - G4TrajectoriesModel (G4int drawingMode = 0); - + G4TrajectoriesModel (); + G4TrajectoriesModel (G4int drawingMode); + virtual ~G4TrajectoriesModel (); virtual void DescribeYourselfTo (G4VGraphicsScene&); // The main task of a model is to describe itself to the graphics scene. - G4int GetDrawingMode() const { return fDrawingMode;} - void SetDrawingMode(G4int drawingMode) {fDrawingMode = drawingMode;} + G4bool IsDrawingModeSet() const; + G4int GetDrawingMode() const; + void SetDrawingMode(G4int drawingMode); const G4VTrajectory* GetCurrentTrajectory() const {return fpCurrentTrajectory;} private: + G4bool fDrawingModeSet; G4int fDrawingMode; const G4VTrajectory* fpCurrentTrajectory; diff --git a/source/visualization/modeling/include/G4TrajectoryDrawByAttribute.hh b/source/visualization/modeling/include/G4TrajectoryDrawByAttribute.hh index 894d787dc1..1095010186 100644 --- a/source/visualization/modeling/include/G4TrajectoryDrawByAttribute.hh +++ b/source/visualization/modeling/include/G4TrajectoryDrawByAttribute.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawByAttribute.hh,v 1.1 2006/09/11 21:52:18 tinslay Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryDrawByAttribute.hh,v 1.2 2010/05/11 11:31:31 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Jane Tinslay September 2006 // @@ -50,8 +50,10 @@ public: // Destructor virtual ~G4TrajectoryDrawByAttribute(); - // Draw the trajectory with optional i_mode parameter - virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0, + // Draw the trajectory + virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0, + const G4bool& visible = true) const; + virtual void Draw(const G4VTrajectory& trajectory, const G4bool& visible = true) const; // Print configuration diff --git a/source/visualization/modeling/include/G4TrajectoryDrawByCharge.hh b/source/visualization/modeling/include/G4TrajectoryDrawByCharge.hh index 12ab52ae7c..6bb1415503 100644 --- a/source/visualization/modeling/include/G4TrajectoryDrawByCharge.hh +++ b/source/visualization/modeling/include/G4TrajectoryDrawByCharge.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawByCharge.hh,v 1.7 2006/06/29 21:31:49 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryDrawByCharge.hh,v 1.8 2010/05/11 11:31:31 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 // @@ -56,8 +56,10 @@ public: // With description virtual ~G4TrajectoryDrawByCharge(); - // Draw the trajectory with optional i_mode parameter - virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0, + // Draw method + virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0, + const G4bool& visible = true) const; + virtual void Draw(const G4VTrajectory& trajectory, const G4bool& visible = true) const; // Print configuration diff --git a/source/visualization/modeling/include/G4TrajectoryDrawByOriginVolume.hh b/source/visualization/modeling/include/G4TrajectoryDrawByOriginVolume.hh index 5b2eac7a0a..cacc064ffe 100644 --- a/source/visualization/modeling/include/G4TrajectoryDrawByOriginVolume.hh +++ b/source/visualization/modeling/include/G4TrajectoryDrawByOriginVolume.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawByOriginVolume.hh,v 1.4 2006/06/29 21:31:51 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryDrawByOriginVolume.hh,v 1.5 2010/05/11 11:31:31 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Class Description: // Trajectory model which colours a trajectory according to @@ -49,10 +49,12 @@ public: // With description virtual ~G4TrajectoryDrawByOriginVolume(); - virtual void Draw(const G4VTrajectory&, const G4int& i_mode = 0, + // Draw method + virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0, const G4bool& visible = true) const; - // Draw the trajectory with optional i_mode parameter - + virtual void Draw(const G4VTrajectory& trajectory, + const G4bool& visible = true) const; + virtual void Print(std::ostream& ostr) const; // Print configuration diff --git a/source/visualization/modeling/include/G4TrajectoryDrawByParticleID.hh b/source/visualization/modeling/include/G4TrajectoryDrawByParticleID.hh index 7d0618bfc0..3545f973f1 100644 --- a/source/visualization/modeling/include/G4TrajectoryDrawByParticleID.hh +++ b/source/visualization/modeling/include/G4TrajectoryDrawByParticleID.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawByParticleID.hh,v 1.7 2006/06/29 21:31:53 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryDrawByParticleID.hh,v 1.8 2010/05/11 11:31:31 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 // @@ -50,10 +50,12 @@ public: // With description virtual ~G4TrajectoryDrawByParticleID(); - virtual void Draw(const G4VTrajectory&, const G4int&i_mode = 0, + // Draw method + virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0, const G4bool& visible = true) const; - // Draw the trajectory with optional i_mode parameter - + virtual void Draw(const G4VTrajectory& trajectory, + const G4bool& visible = true) const; + virtual void Print(std::ostream& ostr) const; // Print configuration diff --git a/source/visualization/modeling/include/G4TrajectoryDrawerUtils.hh b/source/visualization/modeling/include/G4TrajectoryDrawerUtils.hh index 890496e71e..13852b99b2 100644 --- a/source/visualization/modeling/include/G4TrajectoryDrawerUtils.hh +++ b/source/visualization/modeling/include/G4TrajectoryDrawerUtils.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawerUtils.hh,v 1.7 2007/05/30 08:56:55 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryDrawerUtils.hh,v 1.9 2010/05/11 11:58:18 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 // @@ -48,12 +48,17 @@ namespace G4TrajectoryDrawerUtils { void GetPoints(const G4VTrajectory& traj, G4Polyline& trajectoryLine, G4Polymarker& auxiliaryPoints, G4Polymarker& stepPoints); + /*** // Draw trajectory line and points void DrawLineAndPoints(const G4VTrajectory& traj, const G4int& i_mode, const G4Colour& cfg, const G4bool& visible); + ***/ // Draw trajectory line and points using G4VisTrajContext object information - void DrawLineAndPoints(const G4VTrajectory& traj, const G4VisTrajContext&, const G4int& i_mode=0); + void DrawLineAndPoints(const G4VTrajectory& traj, const G4VisTrajContext&, const G4int& i_mode); + + // Draw trajectory line and points using G4VisTrajContext object information + void DrawLineAndPoints(const G4VTrajectory& traj, const G4VisTrajContext&); } diff --git a/source/visualization/modeling/include/G4TrajectoryGenericDrawer.hh b/source/visualization/modeling/include/G4TrajectoryGenericDrawer.hh index 5e5f4e45d3..f8f51b3fe8 100644 --- a/source/visualization/modeling/include/G4TrajectoryGenericDrawer.hh +++ b/source/visualization/modeling/include/G4TrajectoryGenericDrawer.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryGenericDrawer.hh,v 1.2 2006/06/29 21:31:59 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryGenericDrawer.hh,v 1.3 2010/05/11 11:31:31 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 // @@ -47,7 +47,9 @@ public: // With description virtual ~G4TrajectoryGenericDrawer(); - virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0, + virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0, + const G4bool& visible = true) const; + virtual void Draw(const G4VTrajectory& trajectory, const G4bool& visible = true) const; // Draw the trajectory with optional i_mode parameter diff --git a/source/visualization/modeling/include/G4VTrajectoryModel.hh b/source/visualization/modeling/include/G4VTrajectoryModel.hh index 67c094b075..8fe247c458 100644 --- a/source/visualization/modeling/include/G4VTrajectoryModel.hh +++ b/source/visualization/modeling/include/G4VTrajectoryModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VTrajectoryModel.hh,v 1.7 2006/08/14 11:43:34 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VTrajectoryModel.hh,v 1.8 2010/05/11 11:31:31 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Jane Tinslay, John Allison, Joseph Perl October 2005 // @@ -53,7 +53,9 @@ public: virtual ~G4VTrajectoryModel(); // Draw method - virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0, + virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0, + const G4bool& visible = true) const = 0; + virtual void Draw(const G4VTrajectory& trajectory, const G4bool& visible = true) const = 0; // Print configuration diff --git a/source/visualization/modeling/sources.cmake b/source/visualization/modeling/sources.cmake new file mode 100644 index 0000000000..fbb81509a9 --- /dev/null +++ b/source/visualization/modeling/sources.cmake @@ -0,0 +1,166 @@ +#------------------------------------------------------------------------------ +# sources.cmake +# Module : G4modeling +# Package: Geant4.src.G4visualization.G4modeling +# +# Sources description for a library. +# Lists the sources and headers of the code explicitely. +# Lists include paths needed. +# Lists the internal granular and global dependencies of the library. +# Source specific properties should be added at the end. +# +# Generated on : 24/9/2010 +# +# $Id: sources.cmake,v 1.1 2010/09/29 19:15:19 bmorgan Exp $ +# +#------------------------------------------------------------------------------ + +# List external includes needed. +include_directories(${CLHEP_INCLUDE_DIRS}) + +# List internal includes needed. +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/digits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include) +include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/utils/include) +include_directories(${CMAKE_SOURCE_DIR}/source/event/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/Boolean/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/specific/include) +include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include) +include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include) +include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include) +include_directories(${CMAKE_SOURCE_DIR}/source/materials/include) +include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include) +include_directories(${CMAKE_SOURCE_DIR}/source/track/include) +include_directories(${CMAKE_SOURCE_DIR}/source/tracking/include) + +# +# Define the Geant4 Module. +# +include(Geant4MacroDefineModule) +GEANT4_DEFINE_MODULE(NAME G4modeling + HEADERS + G4AttFilterUtils.hh + G4AttValueFilterT.hh + G4AttributeFilterT.hh + G4AxesModel.hh + G4BoundingSphereScene.hh + G4CallbackModel.hh + G4DigiFilterFactories.hh + G4DigiModel.hh + G4FlavoredParallelWorldModel.hh + G4HitFilterFactories.hh + G4HitsModel.hh + G4LogicalVolumeModel.hh + G4ModelApplyCommandsT.hh + G4ModelColourMap.hh + G4ModelCommandUtils.hh + G4ModelCommandsT.hh + G4ModelCompoundCommandsT.hh + G4ModelingParameters.hh + G4ModelingParameters.icc + G4NullModel.hh + G4PSHitsModel.hh + G4PhysicalVolumeMassScene.hh + G4PhysicalVolumeModel.hh + G4PhysicalVolumeSearchScene.hh + G4PhysicalVolumeSearchScene.icc + G4ScaleModel.hh + G4TextModel.hh + G4TrajectoriesModel.hh + G4TrajectoryChargeFilter.hh + G4TrajectoryDrawByAttribute.hh + G4TrajectoryDrawByCharge.hh + G4TrajectoryDrawByOriginVolume.hh + G4TrajectoryDrawByParticleID.hh + G4TrajectoryDrawerUtils.hh + G4TrajectoryFilterFactories.hh + G4TrajectoryGenericDrawer.hh + G4TrajectoryModelFactories.hh + G4TrajectoryOriginVolumeFilter.hh + G4TrajectoryParticleFilter.hh + G4VAttValueFilter.hh + G4VModel.hh + G4VModel.icc + G4VModelCommand.hh + G4VModelFactory.hh + G4VTrajectoryModel.hh + G4VisTrajContext.hh + G4VisTrajContext.icc + SOURCES + G4AttFilterUtils.cc + G4AxesModel.cc + G4BoundingSphereScene.cc + G4DigiFilterFactories.cc + G4DigiModel.cc + G4FlavoredParallelWorldModel.cc + G4HitFilterFactories.cc + G4HitsModel.cc + G4LogicalVolumeModel.cc + G4ModelingParameters.cc + G4NullModel.cc + G4PSHitsModel.cc + G4PhysicalVolumeMassScene.cc + G4PhysicalVolumeModel.cc + G4PhysicalVolumeSearchScene.cc + G4ScaleModel.cc + G4TextModel.cc + G4TrajectoriesModel.cc + G4TrajectoryChargeFilter.cc + G4TrajectoryDrawByAttribute.cc + G4TrajectoryDrawByCharge.cc + G4TrajectoryDrawByOriginVolume.cc + G4TrajectoryDrawByParticleID.cc + G4TrajectoryDrawerUtils.cc + G4TrajectoryFilterFactories.cc + G4TrajectoryGenericDrawer.cc + G4TrajectoryModelFactories.cc + G4TrajectoryOriginVolumeFilter.cc + G4TrajectoryParticleFilter.cc + G4VModel.cc + G4VTrajectoryModel.cc + G4VisTrajContext.cc + GRANULAR_DEPENDENCIES + G4csg + G4detector + G4detutils + G4digits + G4event + G4geomBoolean + G4geometrymng + G4globman + G4graphics_reps + G4hits + G4intercoms + G4materials + G4navigation + G4partman + G4procman + G4specsolids + G4track + G4tracking + G4volumes + GLOBAL_DEPENDENCIES + G4digits_hits + G4event + G4geometry + G4global + G4graphics_reps + G4intercoms + G4materials + G4particles + G4processes + G4track + G4tracking + LINK_LIBRARIES +) + +# List any source specific properties here + diff --git a/source/physics_lists/lists/include/QGSP_NQE.hh b/source/visualization/modeling/src/G4DigiFilterFactories.cc similarity index 51% rename from source/physics_lists/lists/include/QGSP_NQE.hh rename to source/visualization/modeling/src/G4DigiFilterFactories.cc index fac2de9fe2..112bbd05ca 100644 --- a/source/physics_lists/lists/include/QGSP_NQE.hh +++ b/source/visualization/modeling/src/G4DigiFilterFactories.cc @@ -23,48 +23,44 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +/// $Id: G4DigiFilterFactories.cc,v 1.1 2010/05/30 11:24:30 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // -// $Id: QGSP_NQE.hh,v 1.1 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ // -//--------------------------------------------------------------------------- +// Digi filter model factories creating filters +// and associated messengers. // -// ClassName: QGSP_NQE +// Jane Tinslay March 2006 // -// Author: 2007 G.Folger -// created from QGSP -// -// Modified: -// -//---------------------------------------------------------------------------- -#ifndef TQGSP_NQE_h -#define TQGSP_NQE_h 1 +#include "G4ModelCommandsT.hh" +#include "G4DigiFilterFactories.hh" +#include "G4AttributeFilterT.hh" -#include "G4VModularPhysicsList.hh" -#include "globals.hh" -#include "CompileTimeConstraints.hh" +// Attribute filter +G4DigiAttributeFilterFactory::G4DigiAttributeFilterFactory() + :G4VModelFactory< G4VFilter >("attributeFilter") +{} -template -class TQGSP_NQE: public T +G4DigiAttributeFilterFactory::~G4DigiAttributeFilterFactory() {} + +G4DigiAttributeFilterFactory::ModelAndMessengers +G4DigiAttributeFilterFactory::Create(const G4String& placement, const G4String& name) { -public: - TQGSP_NQE(G4int ver = 1); - virtual ~TQGSP_NQE(); + typedef G4AttributeFilterT G4DigiAttributeFilter; + // Create model + G4DigiAttributeFilter* model = new G4DigiAttributeFilter(name); -public: - // SetCuts() - virtual void SetCuts(); + // Create associated messengers + Messengers messengers; -private: - enum {ok = CompileTimeConstraints::IsA::ok }; - -}; -#include "QGSP_NQE.icc" -typedef TQGSP_NQE QGSP_NQE; - -// 2002 by J.P. Wellisch - -#endif - - + messengers.push_back(new G4ModelCmdSetString(model, placement, "setAttribute")); + messengers.push_back(new G4ModelCmdInvert(model, placement)); + messengers.push_back(new G4ModelCmdActive(model, placement)); + messengers.push_back(new G4ModelCmdVerbose(model, placement)); + messengers.push_back(new G4ModelCmdReset(model, placement)); + messengers.push_back(new G4ModelCmdAddInterval(model, placement, "addInterval")); + messengers.push_back(new G4ModelCmdAddValue(model, placement, "addValue")); + + return ModelAndMessengers(model, messengers); +} diff --git a/source/visualization/modeling/src/G4DigiModel.cc b/source/visualization/modeling/src/G4DigiModel.cc new file mode 100644 index 0000000000..cc90b3bcd3 --- /dev/null +++ b/source/visualization/modeling/src/G4DigiModel.cc @@ -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. * +// ******************************************************************** +// +// +// $Id: G4DigiModel.cc,v 1.1 2010/05/30 11:24:30 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ +// +// +// John Allison 26th August 1998. +// Model which knows how to draw GEANT4 digis (digitisations). + +#include "G4DigiModel.hh" + +#include "G4ModelingParameters.hh" +#include "G4VGraphicsScene.hh" +#include "G4Event.hh" + +G4DigiModel::~G4DigiModel () {} + +G4DigiModel::G4DigiModel (): + fpCurrentDigi(0) +{ + fGlobalTag = "G4DigiModel for all digis."; + fGlobalDescription = fGlobalTag; +} + +void G4DigiModel::DescribeYourselfTo (G4VGraphicsScene& sceneHandler) +{ + const G4Event* event = fpMP->GetEvent(); + if (event) { + G4DCofThisEvent* DCE = event -> GetDCofThisEvent (); + if (DCE) { + G4int nDC = DCE -> GetCapacity (); + for (int iDC = 0; iDC < nDC; iDC++) { + G4VDigiCollection* DC = DCE -> GetDC (iDC); + if (DC) { + for(size_t iDigi = 0; iDigi < DC->GetSize(); ++iDigi) { + fpCurrentDigi = DC -> GetDigi (iDigi); + if (fpCurrentDigi) sceneHandler.AddCompound (*fpCurrentDigi); + } + } + } + } + } +} diff --git a/source/visualization/modeling/src/G4HitFilterFactories.cc b/source/visualization/modeling/src/G4HitFilterFactories.cc index 0c92980799..684c34a044 100644 --- a/source/visualization/modeling/src/G4HitFilterFactories.cc +++ b/source/visualization/modeling/src/G4HitFilterFactories.cc @@ -23,11 +23,11 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -/// $Id: G4HitFilterFactories.cc,v 1.1 2006/09/12 18:53:03 tinslay Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +/// $Id: G4HitFilterFactories.cc,v 1.2 2010/05/30 11:24:03 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // -// Trajectory filter model factories creating filters +// Hits filter model factories creating filters // and associated messengers. // // Jane Tinslay March 2006 diff --git a/source/visualization/modeling/src/G4ModelingParameters.cc b/source/visualization/modeling/src/G4ModelingParameters.cc index 864ef992af..fd490d0ead 100644 --- a/source/visualization/modeling/src/G4ModelingParameters.cc +++ b/source/visualization/modeling/src/G4ModelingParameters.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ModelingParameters.cc,v 1.15 2006/11/14 14:42:08 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ModelingParameters.cc,v 1.16 2010/05/11 11:13:35 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 31st December 1997. @@ -36,7 +36,7 @@ #include "G4ios.hh" #include "G4VisAttributes.hh" #include "G4ExceptionSeverity.hh" -#include "G4Polyhedron.hh" +#include "G4VSolid.hh" G4ModelingParameters::G4ModelingParameters (): fWarning (true), @@ -49,8 +49,8 @@ G4ModelingParameters::G4ModelingParameters (): fCullCovered (false), fExplodeFactor (1.), fNoOfSides (24), - fpSectionPolyhedron (0), - fpCutawayPolyhedron (0), + fpSectionSolid (0), + fpCutawaySolid (0), fpEvent (0) {} @@ -74,15 +74,15 @@ G4ModelingParameters::G4ModelingParameters fCullCovered (isCullingCovered), fExplodeFactor (1.), fNoOfSides (noOfSides), - fpSectionPolyhedron (0), - fpCutawayPolyhedron (0), - fpEvent (0) + fpSectionSolid (0), + fpCutawaySolid (0), + fpEvent (0) {} G4ModelingParameters::~G4ModelingParameters () { - delete fpSectionPolyhedron; - delete fpCutawayPolyhedron; + delete fpSectionSolid; + delete fpCutawaySolid; } void G4ModelingParameters::SetVisibleDensity (G4double visibleDensity) { @@ -115,6 +115,18 @@ G4int G4ModelingParameters::SetNoOfSides (G4int nSides) { return fNoOfSides; } +void G4ModelingParameters::SetSectionSolid +(G4VSolid* pSectionSolid) { + delete fpSectionSolid; + fpSectionSolid = pSectionSolid; +} + +void G4ModelingParameters::SetCutawaySolid +(G4VSolid* pCutawaySolid) { + delete fpCutawaySolid; + fpCutawaySolid = pCutawaySolid; +} + std::ostream& operator << (std::ostream& os, const G4ModelingParameters& mp) { os << "Modeling parameters (warning "; @@ -165,12 +177,12 @@ std::ostream& operator << (std::ostream& os, const G4ModelingParameters& mp) os << "\n No. of sides used in circle polygon approximation: " << mp.fNoOfSides; - os << "\n Section (DCUT) polyhedron pointer: "; - if (!mp.fpSectionPolyhedron) os << "non-"; + os << "\n Section (DCUT) shape (G4VSolid) pointer: "; + if (!mp.fpSectionSolid) os << "non-"; os << "null"; - os << "\n Cutaway (DCUT) polyhedron pointer: "; - if (!mp.fpCutawayPolyhedron) os << "non-"; + os << "\n Cutaway (DCUT) shape (G4VSolid) pointer: "; + if (!mp.fpCutawaySolid) os << "non-"; os << "null"; os << "\n Event pointer: " << mp.fpEvent; @@ -191,8 +203,8 @@ G4bool G4ModelingParameters::operator != (fExplodeFactor != mp.fExplodeFactor) || (fExplodeCentre != mp.fExplodeCentre) || (fNoOfSides != mp.fNoOfSides) || - (fpSectionPolyhedron != mp.fpSectionPolyhedron) || - (fpCutawayPolyhedron != mp.fpCutawayPolyhedron) || + (fpSectionSolid != mp.fpSectionSolid) || + (fpCutawaySolid != mp.fpCutawaySolid) || (fpEvent != mp.fpEvent) ) return true; diff --git a/source/visualization/modeling/src/G4PhysicalVolumeModel.cc b/source/visualization/modeling/src/G4PhysicalVolumeModel.cc index f8c1801df2..5979f48ff0 100644 --- a/source/visualization/modeling/src/G4PhysicalVolumeModel.cc +++ b/source/visualization/modeling/src/G4PhysicalVolumeModel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicalVolumeModel.cc,v 1.66 2009/10/23 08:08:19 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4PhysicalVolumeModel.cc,v 1.68 2010/11/05 15:19:29 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // // John Allison 31st December 1997. @@ -39,6 +39,8 @@ #include "G4VPVParameterisation.hh" #include "G4LogicalVolume.hh" #include "G4VSolid.hh" +#include "G4SubtractionSolid.hh" +#include "G4IntersectionSolid.hh" #include "G4Material.hh" #include "G4VisAttributes.hh" #include "G4BoundingSphereScene.hh" @@ -72,7 +74,7 @@ G4PhysicalVolumeModel::G4PhysicalVolumeModel fpCurrentMaterial (0), fpCurrentTransform (0), fCurtailDescent (false), - fpClippingPolyhedron (0), + fpClippingSolid (0), fClippingMode (subtraction) { std::ostringstream o; @@ -85,7 +87,7 @@ G4PhysicalVolumeModel::G4PhysicalVolumeModel G4PhysicalVolumeModel::~G4PhysicalVolumeModel () { - delete fpClippingPolyhedron; + delete fpClippingSolid; } void G4PhysicalVolumeModel::CalculateExtent () @@ -472,11 +474,12 @@ void G4PhysicalVolumeModel::DescribeAndDescend if (daughtersToBeDrawn) { for (G4int iDaughter = 0; iDaughter < nDaughters; iDaughter++) { - G4VPhysicalVolume* pVPV = pLV -> GetDaughter (iDaughter); + // Store daughter pVPV in local variable ready for recursion... + G4VPhysicalVolume* pDaughterVPV = pLV -> GetDaughter (iDaughter); // Descend the geometry structure recursively... fCurrentDepth++; VisitGeometryAndGetVisReps - (pVPV, requestedDepth - 1, theNewAT, sceneHandler); + (pDaughterVPV, requestedDepth - 1, theNewAT, sceneHandler); fCurrentDepth--; } } @@ -499,16 +502,16 @@ void G4PhysicalVolumeModel::DescribeSolid { sceneHandler.PreAddSolid (theAT, *pVisAttribs); - const G4Polyhedron* pSectionPolyhedron = fpMP->GetSectionPolyhedron(); - const G4Polyhedron* pCutawayPolyhedron = fpMP->GetCutawayPolyhedron(); + G4VSolid* pSectionSolid = fpMP->GetSectionSolid(); + G4VSolid* pCutawaySolid = fpMP->GetCutawaySolid(); - if (!fpClippingPolyhedron && !pSectionPolyhedron && !pCutawayPolyhedron) { + if (!fpClippingSolid && !pSectionSolid && !pCutawaySolid) { pSol -> DescribeYourselfTo (sceneHandler); // Standard treatment. } else { - // Clipping, etc., performed by Boolean operations on polyhedron objects. + // Clipping, etc., performed by Boolean operations. // First, get polyhedron for current solid... if (pVisAttribs->IsForceLineSegmentsPerCircle()) @@ -516,7 +519,7 @@ void G4PhysicalVolumeModel::DescribeSolid (pVisAttribs->GetForcedLineSegmentsPerCircle()); else G4Polyhedron::SetNumberOfRotationSteps(fpMP->GetNoOfSides()); - G4Polyhedron* pOriginal = pSol->GetPolyhedron(); + const G4Polyhedron* pOriginal = pSol->GetPolyhedron(); G4Polyhedron::ResetNumberOfRotationSteps(); if (!pOriginal) { @@ -531,67 +534,49 @@ void G4PhysicalVolumeModel::DescribeSolid } else { - G4Polyhedron resultant = *pOriginal; + G4Polyhedron resultant(*pOriginal); G4VisAttributes resultantVisAttribs(*pVisAttribs); + G4VSolid* resultantSolid = 0; - if (fpClippingPolyhedron) { - G4Polyhedron clipper = *fpClippingPolyhedron; // Local copy. - clipper.Transform(theAT.inverse()); - HepPolyhedronProcessor processor; + if (fpClippingSolid) { switch (fClippingMode) { default: - case subtraction: processor.push_back(HepPolyhedronProcessor::SUBTRACTION, clipper); break; - case intersection: processor.push_back(HepPolyhedronProcessor::INTERSECTION, clipper); break; - } - if (!processor.execute(resultant)) { - if (fpMP->IsWarning()) - G4cout << - "WARNING: G4PhysicalVolumeModel::DescribeSolid: clipped polyhedron for" - "\n solid \"" << pSol->GetName() << - "\" not defined due to error during Boolean processing." - "\n It will be drawn in red." - << G4endl; - // Nevertheless, keep resultant, but draw it in red - resultantVisAttribs.SetColour(G4Colour::Red()); + case subtraction: + resultantSolid = new G4SubtractionSolid + ("resultant_solid", pSol, fpClippingSolid, theAT.inverse()); + break; + case intersection: + resultantSolid = new G4IntersectionSolid + ("resultant_solid", pSol, fpClippingSolid, theAT.inverse()); + break; } } - if (pSectionPolyhedron) { - G4Polyhedron sectioner = *pSectionPolyhedron; // Local copy. - sectioner.Transform(theAT.inverse()); - HepPolyhedronProcessor processor; - processor.push_back(HepPolyhedronProcessor::INTERSECTION, sectioner); - if (!processor.execute(resultant)) { - if (fpMP->IsWarning()) - G4cout << - "WARNING: G4PhysicalVolumeModel::DescribeSolid: sectioned polyhedron for" - "\n solid \"" << pSol->GetName() << - "\" not defined due to error during Boolean processing." - "\n It will be drawn in red." - << G4endl; - // Nevertheless, keep resultant, but draw it in red - resultantVisAttribs.SetColour(G4Colour::Red()); - } + if (pSectionSolid) { + resultantSolid = new G4IntersectionSolid + ("sectioned_solid", pSol, pSectionSolid, theAT.inverse()); } - if (pCutawayPolyhedron) { - G4Polyhedron cutter = *pCutawayPolyhedron; // Local copy. - cutter.Transform(theAT.inverse()); - HepPolyhedronProcessor processor; - processor.push_back(HepPolyhedronProcessor::SUBTRACTION, cutter); - if (!processor.execute(resultant)) { - if (fpMP->IsWarning()) - G4cout << - "WARNING: G4PhysicalVolumeModel::DescribeSolid: cutaway polyhedron for" - "\n solid \"" << pSol->GetName() << - "\" not defined due to error during Boolean processing." - "\n It will be drawn in red." - << G4endl; - // Nevertheless, keep resultant, but draw it in red - resultantVisAttribs.SetColour(G4Colour::Red()); - } + if (pCutawaySolid) { + resultantSolid = new G4SubtractionSolid + ("cutaway_solid", pSol, pCutawaySolid, theAT.inverse()); } + G4Polyhedron* tmpResultant = resultantSolid->GetPolyhedron(); + if (tmpResultant) resultant = *tmpResultant; + else { + if (fpMP->IsWarning()) + G4cout << + "WARNING: G4PhysicalVolumeModel::DescribeSolid: resultant polyhedron for" + "\n solid \"" << pSol->GetName() << + "\" not defined due to error during Boolean processing." + "\n Original will be drawn in red." + << G4endl; + resultantVisAttribs.SetColour(G4Colour::Red()); + } + + delete resultantSolid; + // Finally, force polyhedron drawing... resultant.SetVisAttributes(resultantVisAttribs); sceneHandler.BeginPrimitives(theAT); diff --git a/source/visualization/modeling/src/G4TrajectoriesModel.cc b/source/visualization/modeling/src/G4TrajectoriesModel.cc index 504e26a4cb..dc50c1eb06 100644 --- a/source/visualization/modeling/src/G4TrajectoriesModel.cc +++ b/source/visualization/modeling/src/G4TrajectoriesModel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TrajectoriesModel.cc,v 1.24 2006/11/14 14:42:08 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoriesModel.cc,v 1.25 2010/05/11 11:21:52 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // // John Allison 26th August 1998. @@ -40,8 +40,19 @@ #include "G4AttDef.hh" #include "G4AttCheck.hh" +G4TrajectoriesModel::G4TrajectoriesModel (): + fDrawingModeSet(false), + fDrawingMode(0), + fpCurrentTrajectory(0) +{ + fGlobalTag = "G4TrajectoriesModel for all trajectories."; + fGlobalDescription = fGlobalTag; +} + G4TrajectoriesModel::G4TrajectoriesModel (G4int drawingMode): -fDrawingMode(drawingMode), fpCurrentTrajectory(0) { + fDrawingModeSet(true), + fDrawingMode(drawingMode), + fpCurrentTrajectory(0) { fGlobalTag = "G4TrajectoriesModel for all trajectories."; fGlobalDescription = fGlobalTag; } @@ -68,6 +79,42 @@ void G4TrajectoriesModel::DescribeYourselfTo (G4VGraphicsScene& sceneHandler) { } } +G4bool G4TrajectoriesModel::IsDrawingModeSet() const +{ + return fDrawingModeSet; +} + +G4int G4TrajectoriesModel::GetDrawingMode() const +{ + if (fDrawingModeSet) return fDrawingMode; + else { + G4Exception + ("G4TrajectoriesModel::GetDrawingMode", + "", + FatalException, + "Illegal attempt to obtain i_mode." + "\n i_mode is an old trajectories parameter that is DEPRECATED" + "\n and will be removed at the next major release." + ); + return 0; + } +} + +void G4TrajectoriesModel::SetDrawingMode(G4int drawingMode) +{ + if (fDrawingModeSet) fDrawingMode = drawingMode; + else { + G4Exception + ("G4TrajectoriesModel::SetDrawingMode", + "", + FatalException, + "Illegal attempt to set i_mode." + "\n i_mode is an old trajectories parameter that is DEPRECATED" + "\n and will be removed at the next major release." + ); + } +} + // Debug material... #include "G4VTrajectoryPoint.hh" diff --git a/source/visualization/modeling/src/G4TrajectoryDrawByAttribute.cc b/source/visualization/modeling/src/G4TrajectoryDrawByAttribute.cc index c86087b052..ef3887f98c 100644 --- a/source/visualization/modeling/src/G4TrajectoryDrawByAttribute.cc +++ b/source/visualization/modeling/src/G4TrajectoryDrawByAttribute.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawByAttribute.cc,v 1.3 2006/09/14 15:41:42 tinslay Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryDrawByAttribute.cc,v 1.5 2010/05/28 02:00:59 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Jane Tinslay August 2006 // @@ -61,7 +61,15 @@ G4TrajectoryDrawByAttribute::~G4TrajectoryDrawByAttribute() } void -G4TrajectoryDrawByAttribute::Draw(const G4VTrajectory& object, const G4int&, +G4TrajectoryDrawByAttribute::Draw(const G4VTrajectory& object, + const G4int&, + const G4bool& visible) const +{ + Draw(object, visible); +} + +void +G4TrajectoryDrawByAttribute::Draw(const G4VTrajectory& object, const G4bool& visible) const { // Return if attribute name has not been set. Just print one warning diff --git a/source/visualization/modeling/src/G4TrajectoryDrawByCharge.cc b/source/visualization/modeling/src/G4TrajectoryDrawByCharge.cc index 5492814acc..d74ae79f0a 100644 --- a/source/visualization/modeling/src/G4TrajectoryDrawByCharge.cc +++ b/source/visualization/modeling/src/G4TrajectoryDrawByCharge.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawByCharge.cc,v 1.8 2006/06/29 21:33:06 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryDrawByCharge.cc,v 1.10 2010/05/28 02:00:59 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 #include "G4TrajectoryDrawByCharge.hh" @@ -56,7 +56,15 @@ G4TrajectoryDrawByCharge::G4TrajectoryDrawByCharge(const G4String& name, G4TrajectoryDrawByCharge::~G4TrajectoryDrawByCharge() {} void -G4TrajectoryDrawByCharge::Draw(const G4VTrajectory& traj, const G4int& i_mode, const G4bool& visible) const +G4TrajectoryDrawByCharge::Draw(const G4VTrajectory& object, + const G4int&, + const G4bool& visible) const +{ + Draw(object, visible); +} + +void +G4TrajectoryDrawByCharge::Draw(const G4VTrajectory& traj, const G4bool& visible) const { G4Colour colour; @@ -78,7 +86,7 @@ G4TrajectoryDrawByCharge::Draw(const G4VTrajectory& traj, const G4int& i_mode, c myContext.Print(G4cout); } - G4TrajectoryDrawerUtils::DrawLineAndPoints(traj, myContext, i_mode); + G4TrajectoryDrawerUtils::DrawLineAndPoints(traj, myContext); } void diff --git a/source/visualization/modeling/src/G4TrajectoryDrawByOriginVolume.cc b/source/visualization/modeling/src/G4TrajectoryDrawByOriginVolume.cc index a208c97350..05004bd2b5 100644 --- a/source/visualization/modeling/src/G4TrajectoryDrawByOriginVolume.cc +++ b/source/visualization/modeling/src/G4TrajectoryDrawByOriginVolume.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawByOriginVolume.cc,v 1.4 2006/06/29 21:33:08 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryDrawByOriginVolume.cc,v 1.6 2010/05/28 02:00:59 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Jane Tinslay March 2006 @@ -44,7 +44,15 @@ G4TrajectoryDrawByOriginVolume::G4TrajectoryDrawByOriginVolume(const G4String& n G4TrajectoryDrawByOriginVolume::~G4TrajectoryDrawByOriginVolume() {} void -G4TrajectoryDrawByOriginVolume::Draw(const G4VTrajectory& traj, const G4int& i_mode, const G4bool& visible) const +G4TrajectoryDrawByOriginVolume::Draw(const G4VTrajectory& object, + const G4int&, + const G4bool& visible) const +{ + Draw(object, visible); +} + +void +G4TrajectoryDrawByOriginVolume::Draw(const G4VTrajectory& traj, const G4bool& visible) const { G4Colour colour(fDefault); @@ -78,7 +86,7 @@ G4TrajectoryDrawByOriginVolume::Draw(const G4VTrajectory& traj, const G4int& i_m myContext.Print(G4cout); } - G4TrajectoryDrawerUtils::DrawLineAndPoints(traj, myContext, i_mode); + G4TrajectoryDrawerUtils::DrawLineAndPoints(traj, myContext); } void diff --git a/source/visualization/modeling/src/G4TrajectoryDrawByParticleID.cc b/source/visualization/modeling/src/G4TrajectoryDrawByParticleID.cc index 8976d9ab7e..56b97347c6 100644 --- a/source/visualization/modeling/src/G4TrajectoryDrawByParticleID.cc +++ b/source/visualization/modeling/src/G4TrajectoryDrawByParticleID.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawByParticleID.cc,v 1.8 2006/06/29 21:33:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryDrawByParticleID.cc,v 1.11 2010/06/01 21:17:41 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 @@ -37,12 +37,28 @@ G4TrajectoryDrawByParticleID::G4TrajectoryDrawByParticleID(const G4String& name, G4VisTrajContext* context) :G4VTrajectoryModel(name, context) ,fDefault(G4Colour::Grey()) -{} +{ + Set("gamma", "green"); + Set("e-", "red"); + Set("e+", "blue"); + Set("pi+", "magenta"); + Set("pi-", "magenta"); + Set("proton", "cyan"); + Set("neutron", "yellow"); +} G4TrajectoryDrawByParticleID::~G4TrajectoryDrawByParticleID() {} void -G4TrajectoryDrawByParticleID::Draw(const G4VTrajectory& traj, const G4int& i_mode, const G4bool& visible) const +G4TrajectoryDrawByParticleID::Draw(const G4VTrajectory& object, + const G4int&, + const G4bool& visible) const +{ + Draw(object, visible); +} + +void +G4TrajectoryDrawByParticleID::Draw(const G4VTrajectory& traj, const G4bool& visible) const { G4Colour colour(fDefault); G4String particle = traj.GetParticleName(); @@ -61,7 +77,7 @@ G4TrajectoryDrawByParticleID::Draw(const G4VTrajectory& traj, const G4int& i_mod myContext.Print(G4cout); } - G4TrajectoryDrawerUtils::DrawLineAndPoints(traj, myContext, i_mode); + G4TrajectoryDrawerUtils::DrawLineAndPoints(traj, myContext); } void diff --git a/source/visualization/modeling/src/G4TrajectoryDrawerUtils.cc b/source/visualization/modeling/src/G4TrajectoryDrawerUtils.cc index 71030c53a1..a757141c4d 100644 --- a/source/visualization/modeling/src/G4TrajectoryDrawerUtils.cc +++ b/source/visualization/modeling/src/G4TrajectoryDrawerUtils.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawerUtils.cc,v 1.12 2009/02/24 12:00:56 allison Exp $ -// GEANT4 tag $Name: geant4-09-03 $ +// $Id: G4TrajectoryDrawerUtils.cc,v 1.15 2010/11/14 22:13:55 allison Exp $ +// GEANT4 tag $Name: geant4-09-04 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 // @@ -39,32 +39,52 @@ #include "G4VVisManager.hh" #include "G4UIcommand.hh" #include "G4AttValue.hh" +#include namespace G4TrajectoryDrawerUtils { - void GetPoints(const G4VTrajectory& traj, G4Polyline& trajectoryLine, - G4Polymarker& auxiliaryPoints, G4Polymarker& stepPoints) + void GetPoints(const G4VTrajectory& traj, + G4Polyline& trajectoryLine, + G4Polymarker& auxiliaryPoints, + G4Polymarker& stepPoints) { + // Keep positions. Don't store unless first or different. + std::vector positions; + for (G4int i=0; i* auxiliaries - = aTrajectoryPoint->GetAuxiliaryPoints(); - - if (0 != auxiliaries) { - for (size_t iAux=0; iAuxsize(); ++iAux) { - const G4ThreeVector pos((*auxiliaries)[iAux]); - trajectoryLine.push_back(pos); - auxiliaryPoints.push_back(pos); + const G4ThreeVector& trajectoryPointPosition = + aTrajectoryPoint->GetPosition(); + + // Only store if first or if different + if (positions.size() == 0 || + trajectoryPointPosition != positions[positions.size()-1]) { + + const std::vector* auxiliaries + = aTrajectoryPoint->GetAuxiliaryPoints(); + if (0 != auxiliaries) { + for (size_t iAux=0; iAuxsize(); ++iAux) { + const G4ThreeVector& auxPointPosition = (*auxiliaries)[iAux]; + if (positions.size() == 0 || + auxPointPosition != positions[positions.size()-1]) { + // Only store if first or if different + positions.push_back(trajectoryPointPosition); + trajectoryLine.push_back(auxPointPosition); + auxiliaryPoints.push_back(auxPointPosition); + } + } } + + positions.push_back(trajectoryPointPosition); + trajectoryLine.push_back(trajectoryPointPosition); + stepPoints.push_back(trajectoryPointPosition); } - const G4ThreeVector pos(aTrajectoryPoint->GetPosition()); - trajectoryLine.push_back(pos); - stepPoints.push_back(pos); } } + /*** void DrawLineAndPoints(const G4VTrajectory& traj, const G4int& i_mode, const G4Colour& colour, const G4bool& visible) { // If i_mode>=0, draws a trajectory as a polyline (default is blue for // positive, red for negative, green for neutral) and, if i_mode!=0, @@ -72,6 +92,19 @@ namespace G4TrajectoryDrawerUtils { // for auxiliary points, if any - whose screen size in pixels is // given by std::abs(i_mode)/1000. E.g: i_mode = 5000 gives easily // visible markers. + + static G4bool warnedAboutIMode = false; + std::ostringstream oss; + oss << "WARNING: DEPRECATED use of i_mode (i_mode: " << i_mode + << "). Feature will be removed at a future major release."; + if (!warnedAboutIMode) { + G4Exception + ("G4TrajectoryDrawerUtils::DrawLineAndPoints(traj, i_mode, colour, visible)", + "", + JustWarning, + oss.str().c_str()); + warnedAboutIMode = true; + } G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); if (0 == pVVisManager) return; @@ -115,6 +148,7 @@ namespace G4TrajectoryDrawerUtils { } } + ***/ static void GetTimes(const G4VTrajectory& traj, std::vector& trajectoryLineTimes, @@ -126,71 +160,88 @@ namespace G4TrajectoryDrawerUtils { // GetPoints. If not, assume that the time information is // invalid. + // Memory for last trajectory point position for auxiliary point + // algorithm. There are no auxiliary points for the first + // trajectory point, so its initial value is immaterial. G4ThreeVector lastTrajectoryPointPosition; + + // Keep positions. Don't store unless first or different. + std::vector positions; + for (G4int i=0; i* trajectoryPointAttValues = - aTrajectoryPoint->CreateAttValues(); - if (!trajectoryPointAttValues) { - G4cout << "G4TrajectoryDrawerUtils::GetTimes: no att values." - << G4endl; - return; - } else { - G4bool foundPreTime = false, foundPostTime = false; - for (std::vector::iterator i = - trajectoryPointAttValues->begin(); - i != trajectoryPointAttValues->end(); ++i) { - if (i->GetName() == "PreT") { - trajectoryPointPreTime = - G4UIcommand::ConvertToDimensionedDouble(i->GetValue()); - foundPreTime = true; - } - if (i->GetName() == "PostT") { - trajectoryPointPostTime = - G4UIcommand::ConvertToDimensionedDouble(i->GetValue()); - foundPostTime = true; - } - } - if (!foundPreTime || !foundPostTime) { - static G4bool warnedTimesNotFound = false; - if (!warnedTimesNotFound) { - G4cout << - "WARNING: G4TrajectoryDrawerUtils::GetTimes: times not found." - << G4endl; - warnedTimesNotFound = true; - } - return; - } - } - const G4ThreeVector& trajectoryPointPosition = - aTrajectoryPoint->GetPosition(); + aTrajectoryPoint->GetPosition(); - const std::vector* auxiliaries - = aTrajectoryPoint->GetAuxiliaryPoints(); - - if (0 != auxiliaries) { - for (size_t iAux=0; iAuxsize(); ++iAux) { - // Interpolate time for auxiliary points... - const G4ThreeVector pos((*auxiliaries)[iAux]); - G4double s1 = (pos - lastTrajectoryPointPosition).mag(); - G4double s2 = (trajectoryPointPosition - pos).mag(); - G4double t = trajectoryPointPreTime + - (trajectoryPointPostTime - trajectoryPointPreTime) * - (s1 / (s1 + s2)); - trajectoryLineTimes.push_back(t); - auxiliaryPointTimes.push_back(t); + // Only store if first or if different + if (positions.size() == 0 || + trajectoryPointPosition != positions[positions.size()-1]) { + + // Pre- and Post-Point times from the trajectory point... + G4double trajectoryPointPreTime = -std::numeric_limits::max(); + G4double trajectoryPointPostTime = std::numeric_limits::max(); + std::vector* trajectoryPointAttValues = + aTrajectoryPoint->CreateAttValues(); + if (!trajectoryPointAttValues) { + G4cout << "G4TrajectoryDrawerUtils::GetTimes: no att values." + << G4endl; + return; + } else { + G4bool foundPreTime = false, foundPostTime = false; + for (std::vector::iterator i = + trajectoryPointAttValues->begin(); + i != trajectoryPointAttValues->end(); ++i) { + if (i->GetName() == "PreT") { + trajectoryPointPreTime = + G4UIcommand::ConvertToDimensionedDouble(i->GetValue()); + foundPreTime = true; + } + if (i->GetName() == "PostT") { + trajectoryPointPostTime = + G4UIcommand::ConvertToDimensionedDouble(i->GetValue()); + foundPostTime = true; + } + } + if (!foundPreTime || !foundPostTime) { + static G4bool warnedTimesNotFound = false; + if (!warnedTimesNotFound) { + G4cout << + "WARNING: G4TrajectoryDrawerUtils::GetTimes: times not found." + << G4endl; + warnedTimesNotFound = true; + } + return; + } } + + const std::vector* auxiliaries + = aTrajectoryPoint->GetAuxiliaryPoints(); + if (0 != auxiliaries) { + for (size_t iAux=0; iAuxsize(); ++iAux) { + // Interpolate time for auxiliary points... + const G4ThreeVector& auxPointPosition = (*auxiliaries)[iAux]; + G4double s1 = (auxPointPosition - lastTrajectoryPointPosition).mag(); + G4double s2 = (trajectoryPointPosition - auxPointPosition).mag(); + G4double t = trajectoryPointPreTime + + (trajectoryPointPostTime - trajectoryPointPreTime) * + (s1 / (s1 + s2)); + // Only store if first or if different + if (positions.size() == 0 || + auxPointPosition != positions[positions.size()-1]) { + positions.push_back(trajectoryPointPosition); + trajectoryLineTimes.push_back(t); + auxiliaryPointTimes.push_back(t); + } + } + } + + positions.push_back(trajectoryPointPosition); + trajectoryLineTimes.push_back(trajectoryPointPostTime); + stepPointTimes.push_back(trajectoryPointPostTime); + + lastTrajectoryPointPosition = trajectoryPointPosition; } - - trajectoryLineTimes.push_back(trajectoryPointPostTime); - stepPointTimes.push_back(trajectoryPointPostTime); - - lastTrajectoryPointPosition = trajectoryPointPosition; } } @@ -341,6 +392,19 @@ namespace G4TrajectoryDrawerUtils { void DrawLineAndPoints(const G4VTrajectory& traj, const G4VisTrajContext& context, const G4int& i_mode) { + static G4bool warnedAboutIMode = false; + std::ostringstream oss; + oss << "WARNING: DEPRECATED use of i_mode (i_mode: " << i_mode + << "). Feature will be removed at a future major release."; + if (!warnedAboutIMode) { + G4Exception + ("G4TrajectoryDrawerUtils::DrawLineAndPoints(traj, context, i_mode)", + "", + JustWarning, + oss.str().c_str()); + warnedAboutIMode = true; + } + // Extra copy while i_mode is still around G4VisTrajContext myContext(context); @@ -355,13 +419,6 @@ namespace G4TrajectoryDrawerUtils { myContext.SetAuxPtsSize(markerSize); myContext.SetStepPtsSize(markerSize); - - static G4bool warnedAboutIMode = false; - - if (!warnedAboutIMode) { - G4cout<<"Trajectory drawing configuration will be based on imode value of "< trajectoryLineTimes; + std::vector stepPointTimes; + std::vector auxiliaryPointTimes; + + GetTimes(traj, trajectoryLineTimes, auxiliaryPointTimes, stepPointTimes); + + // Check validity + if (trajectoryLineTimes.size() != trajectoryLine.size() || + stepPointTimes.size() != stepPoints.size() || + auxiliaryPointTimes.size() != auxiliaryPoints.size()) { + + // Revert to drawing without time information... + DrawWithoutTime(context, trajectoryLine, auxiliaryPoints, stepPoints); + } else { + + SliceLine(context.GetTimeSliceInterval(), + trajectoryLine, trajectoryLineTimes); + + DrawWithTime(context, + trajectoryLine, auxiliaryPoints, stepPoints, + trajectoryLineTimes, auxiliaryPointTimes, stepPointTimes); + } + + } else { + + DrawWithoutTime(context, trajectoryLine, auxiliaryPoints, stepPoints); + + } + } } diff --git a/source/visualization/modeling/src/G4TrajectoryGenericDrawer.cc b/source/visualization/modeling/src/G4TrajectoryGenericDrawer.cc index b88bb4f9fa..fde2cd9027 100644 --- a/source/visualization/modeling/src/G4TrajectoryGenericDrawer.cc +++ b/source/visualization/modeling/src/G4TrajectoryGenericDrawer.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryGenericDrawer.cc,v 1.2 2006/06/29 21:33:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrajectoryGenericDrawer.cc,v 1.3 2010/05/11 11:31:31 allison Exp $ +// GEANT4 tag $Name: geant4-09-04-beta-01 $ // // Jane Tinslay May 2006 // @@ -55,6 +55,21 @@ G4TrajectoryGenericDrawer::Draw(const G4VTrajectory& traj, const G4int& i_mode, G4TrajectoryDrawerUtils::DrawLineAndPoints(traj, myContext, i_mode); } +void +G4TrajectoryGenericDrawer::Draw(const G4VTrajectory& traj, const G4bool& visible) const +{ + G4VisTrajContext myContext(GetContext()); + myContext.SetVisible(visible); + + if (GetVerbose()) { + G4cout<<"G4TrajectoryGenericDrawer named "<